Repository: geoschem/geos-chem Branch: main Commit: b9f570e2c7a9 Files: 677 Total size: 33.4 MB Directory structure: gitextract_afeqwh9l/ ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug-report.yml │ │ ├── config.yml │ │ ├── new-feature.yml │ │ └── question-discussion.yml │ ├── PULL_REQUEST_TEMPLATE.md │ └── workflows/ │ └── stale.yml ├── .gitignore ├── .gitmodules ├── .zenodo.json ├── APM/ │ ├── .gitignore │ ├── CMakeLists.txt │ ├── apm_ATHN_mod.F │ ├── apm_TIMN_mod.F │ ├── apm_albd_mod.F │ ├── apm_coag_mod.F90 │ ├── apm_grow_mod.F │ ├── apm_icen_mod.F90 │ ├── apm_init_mod.F │ ├── apm_mixactivate.F90 │ ├── apm_nucl_mod.F │ ├── apm_opti_mod.F │ ├── apm_phys_mod.F │ ├── apm_radf_mod.F │ ├── apm_rrtmg_mods.F90 │ ├── apm_rrtmg_src.F90 │ ├── apm_rrtmg_sw.F90 │ ├── module_data_mosaic_asect.F90 │ ├── module_data_mosaic_other.F90 │ ├── module_data_mosaic_therm.F90 │ └── module_mosaic_therm.F90 ├── AUTHORS.txt ├── CHANGELOG.md ├── CMakeLists.txt ├── CMakeScripts/ │ └── GC-Helpers.cmake ├── GTMM/ │ ├── .gitignore │ ├── CMakeLists.txt │ ├── CasaRegridModule.F90 │ ├── CleanupCASAarrays.F90 │ ├── GTMM.F90 │ ├── GTMM_coupled.F90 │ ├── HgOutForGEOS.F90 │ ├── assignAgeClassToRunningPool.F90 │ ├── assignRanPoolToAgeClass.F90 │ ├── defineArrays.F90 │ ├── defineConstants.F90 │ ├── doFPARandLAI.F90 │ ├── doHerbCarbon.F90 │ ├── doHerbCarbonHg.F90 │ ├── doHerbivory.F90 │ ├── doHgDeposition.F90 │ ├── doLatitude.F90 │ ├── doLeafRootShedding.F90 │ ├── doMaxHg.F90 │ ├── doNPP.F90 │ ├── doOptimumTemperature.F90 │ ├── doPET.F90 │ ├── doSoilMoisture.F90 │ ├── doTreeCarbon.F90 │ ├── doTreeCarbonHg.F90 │ ├── dorestart_mod.F90 │ ├── getAgeClassBF.F90 │ ├── getFireParams.F90 │ ├── getFuelWood.F90 │ ├── getSoilMoistParams.F90 │ ├── getSoilParams.F90 │ ├── input_gtmm_mod.F90 │ ├── loadCASAinput.F90 │ ├── loadHgDeposition.F90 │ ├── load_GC_data.F90 │ ├── organizeAgeClasses.F90 │ ├── processData.F90 │ └── sort_pick_veg.F90 ├── GeosCore/ │ ├── .cvsignore │ ├── .gitignore │ ├── CMakeLists.txt │ ├── RnPbBe_mod.F90 │ ├── YuIMN_Code.F90 │ ├── aero_drydep.F90 │ ├── aerosol_mod.F90 │ ├── aerosol_thermodynamics_mod.F90 │ ├── airs_ch4_mod.F90 │ ├── apm_driv_mod.F90 │ ├── calc_met_mod.F90 │ ├── carbon_gases_mod.F90 │ ├── carbon_mod.F90 │ ├── chemistry_mod.F90 │ ├── cldice_HBrHOBr_rxn.F90 │ ├── cldj_interface_mod.F90 │ ├── cleanup.F90 │ ├── convection_mod.F90 │ ├── depo_mercury_mod.F90 │ ├── diagnostics_mod.F90 │ ├── drydep_mod.F90 │ ├── dust_mod.F90 │ ├── emissions_mod.F90 │ ├── exchange_mod.F90 │ ├── fast_jx_mod.F90 │ ├── fjx_interface_mod.F90 │ ├── flexgrid_read_mod.F90 │ ├── fullchem_mod.F90 │ ├── gc_environment_mod.F90 │ ├── get_met_mod.F90 │ ├── get_ndep_mod.F90 │ ├── global_br_mod.F90 │ ├── gosat_ch4_mod.F90 │ ├── hco_interface_gc_mod.F90 │ ├── hco_state_gc_mod.F90 │ ├── hco_utilities_gc_mod.F90 │ ├── hcoi_gc_diagn_include.H │ ├── hcoi_gc_diagn_mod.F90 │ ├── input_mod.F90 │ ├── kppsa_interface_mod.F90 │ ├── land_mercury_mod.F90 │ ├── linear_chem_mod.F90 │ ├── linoz_mod.F90 │ ├── mapping_mod.F90 │ ├── mercury_mod.F90 │ ├── mixing_mod.F90 │ ├── modis_lai_mod.F90 │ ├── ocean_mercury_mod.F90 │ ├── olson_landmap_mod.F90 │ ├── pbl_mix_mod.F90 │ ├── photolysis_mod.F90 │ ├── pjc_pfix_mod.F90 │ ├── pjc_pfix_window_mod.F90 │ ├── planeflight_mod.F90 │ ├── pops_mod.F90 │ ├── rpmares_mod.F90 │ ├── rrtmg_rad_transfer_mod.F90 │ ├── seasalt_mod.F90 │ ├── set_boundary_conditions_mod.F90 │ ├── set_global_ch4_mod.F90 │ ├── sfcvmr_mod.F90 │ ├── sulfate_mod.F90 │ ├── tagged_o3_mod.F90 │ ├── tccon_ch4_mod.F90 │ ├── tomas_mod.F90 │ ├── toms_mod.F90 │ ├── tpcore_fvdas_mod.F90 │ ├── tpcore_window_mod.F90 │ ├── tracer_mod.F90 │ ├── transport_mod.F90 │ ├── ucx_mod.F90 │ ├── uvalbedo_mod.F90 │ ├── vdiff_mod.F90 │ └── wetscav_mod.F90 ├── GeosRad/ │ ├── .gitignore │ ├── CMakeLists.txt │ ├── Makefile.nomcica │ ├── mcica_random_numbers.F90 │ ├── mcica_subcol_gen_lw.F90 │ ├── mcica_subcol_gen_sw.F90 │ ├── parkind.F90 │ ├── parrrsw.F90 │ ├── parrrtm.F90 │ ├── rad_driver.F90.safe │ ├── rrlw_cld.F90 │ ├── rrlw_con.F90 │ ├── rrlw_kg01.F90 │ ├── rrlw_kg02.F90 │ ├── rrlw_kg03.F90 │ ├── rrlw_kg04.F90 │ ├── rrlw_kg05.F90 │ ├── rrlw_kg06.F90 │ ├── rrlw_kg07.F90 │ ├── rrlw_kg08.F90 │ ├── rrlw_kg09.F90 │ ├── rrlw_kg10.F90 │ ├── rrlw_kg11.F90 │ ├── rrlw_kg12.F90 │ ├── rrlw_kg13.F90 │ ├── rrlw_kg14.F90 │ ├── rrlw_kg15.F90 │ ├── rrlw_kg16.F90 │ ├── rrlw_ncpar.F90 │ ├── rrlw_ref.F90 │ ├── rrlw_tbl.F90 │ ├── rrlw_vsn.F90 │ ├── rrlw_wvn.F90 │ ├── rrsw_aer.F90 │ ├── rrsw_cld.F90 │ ├── rrsw_con.F90 │ ├── rrsw_kg16.F90 │ ├── rrsw_kg17.F90 │ ├── rrsw_kg18.F90 │ ├── rrsw_kg19.F90 │ ├── rrsw_kg20.F90 │ ├── rrsw_kg21.F90 │ ├── rrsw_kg22.F90 │ ├── rrsw_kg23.F90 │ ├── rrsw_kg24.F90 │ ├── rrsw_kg25.F90 │ ├── rrsw_kg26.F90 │ ├── rrsw_kg27.F90 │ ├── rrsw_kg28.F90 │ ├── rrsw_kg29.F90 │ ├── rrsw_ref.F90 │ ├── rrsw_tbl.F90 │ ├── rrsw_vsn.F90 │ ├── rrsw_wvn.F90 │ ├── rrtmg_lw_cldprmc.F90 │ ├── rrtmg_lw_cldprop.F90.safe │ ├── rrtmg_lw_init.F90 │ ├── rrtmg_lw_k_g.F90 │ ├── rrtmg_lw_rad.F90 │ ├── rrtmg_lw_rad.F90.safe │ ├── rrtmg_lw_rad.nomcica.F90.safe │ ├── rrtmg_lw_rtrnmc.F90 │ ├── rrtmg_lw_rtrnmr.F90.safe │ ├── rrtmg_lw_setcoef.F90 │ ├── rrtmg_lw_taumol.F90 │ ├── rrtmg_sw_cldprmc.F90 │ ├── rrtmg_sw_cldprop.F90.safe │ ├── rrtmg_sw_init.F90 │ ├── rrtmg_sw_k_g.F90 │ ├── rrtmg_sw_rad.F90 │ ├── rrtmg_sw_reftra.F90 │ ├── rrtmg_sw_setcoef.F90 │ ├── rrtmg_sw_spcvmc.F90 │ ├── rrtmg_sw_taumol.F90 │ ├── rrtmg_sw_vrtqdr.F90 │ ├── test_aero_init │ ├── test_aero_init.F │ ├── test_arr_mult │ └── test_arr_mult.F90 ├── GeosUtil/ │ ├── CMakeLists.txt │ ├── error_mod.F90 │ ├── file_mod.F90 │ ├── gc_grid_mod.F90 │ ├── henry_mod.F90 │ ├── ifort_errmsg.F90 │ ├── julday_mod.F90 │ ├── pressure_mod.F90 │ ├── print_mod.F90 │ ├── regrid_a2a_mod.F90 │ ├── time_mod.F90 │ ├── timers_mod.F90 │ ├── transfer_mod.F90 │ └── unitconv_mod.F90 ├── Headers/ │ ├── .cvsignore │ ├── .gitignore │ ├── CMN_FJX_MOD.F90 │ ├── CMN_SIZE_mod.F90 │ ├── CMakeLists.txt │ ├── aermass_container_mod.F90 │ ├── charpak_mod.F90 │ ├── diaglist_mod.F90 │ ├── dictionary_m.F90 │ ├── errcode_mod.F90 │ ├── input_opt_mod.F90 │ ├── inquireMod.F90 │ ├── phot_container_mod.F90 │ ├── physconstants.F90 │ ├── precision_mod.F90 │ ├── qfyaml_mod.F90 │ ├── registry_mod.F90 │ ├── registry_params_mod.F90 │ ├── roundoff_mod.F90 │ ├── species_database_mod.F90 │ ├── species_mod.F90 │ ├── state_chm_mod.F90 │ ├── state_diag_mod.F90 │ ├── state_grid_mod.F90 │ ├── state_met_mod.F90 │ └── taggeddiaglist_mod.F90 ├── History/ │ ├── .gitignore │ ├── CMakeLists.txt │ ├── histcontainer_mod.F90 │ ├── histitem_mod.F90 │ ├── history_mod.F90 │ ├── history_netcdf_mod.F90 │ ├── history_util_mod.F90 │ ├── metahistcontainer_mod.F90 │ └── metahistitem_mod.F90 ├── Interfaces/ │ ├── GCClassic/ │ │ ├── .gitignore │ │ ├── CMakeLists.txt │ │ ├── gc_classic_version.H.in │ │ └── main.F90 │ ├── GCHP/ │ │ ├── CMakeLists.txt │ │ ├── Chem_GridCompMod.F90 │ │ ├── Includes_Before_Run.H │ │ ├── Registry/ │ │ │ ├── CMakeLists.txt │ │ │ ├── Chem_Registry.rc │ │ │ └── HEMCO_Registry.rc │ │ ├── gchp_chunk_mod.F90 │ │ └── gchp_historyexports_mod.F90 │ └── GEOS/ │ ├── GEOSCHEMchem_Registry.rc │ ├── Includes_After_Run.H │ ├── Includes_Before_Run.H │ ├── geos_CarbonInterface.F90 │ ├── geos_TaggedSpecies.F90 │ ├── geos_aerocoupler.F90 │ ├── geos_analysis.F90 │ └── geos_interface.F90 ├── KPP/ │ ├── .cvsignore │ ├── .gitignore │ ├── CMakeLists.txt │ ├── Hg/ │ │ ├── CMakeLists.txt │ │ ├── Hg.eqn │ │ ├── Hg.kpp │ │ ├── Hg_HetStateFuncs.F90 │ │ ├── Hg_RateLawFuncs.F90 │ │ ├── Makefile │ │ ├── README.md │ │ ├── gckpp_Function.F90 │ │ ├── gckpp_Global.F90 │ │ ├── gckpp_Initialize.F90 │ │ ├── gckpp_Integrator.F90 │ │ ├── gckpp_Jacobian.F90 │ │ ├── gckpp_JacobianSP.F90 │ │ ├── gckpp_LinearAlgebra.F90 │ │ ├── gckpp_Model.F90 │ │ ├── gckpp_Monitor.F90 │ │ ├── gckpp_Parameters.F90 │ │ ├── gckpp_Precision.F90 │ │ ├── gckpp_Rates.F90 │ │ └── gckpp_Util.F90 │ ├── OHreact_parser.py │ ├── aciduptake/ │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ ├── aciduptake.eqn │ │ ├── aciduptake.kpp │ │ └── aciduptake_DustChemFuncs.F90 │ ├── build_mechanism.sh │ ├── carbon/ │ │ ├── CMakeLists.txt │ │ ├── carbon.eqn │ │ ├── carbon.eqn.default │ │ ├── carbon.eqn.jacobian.5 │ │ ├── carbon.kpp │ │ ├── carbon_Funcs.F90 │ │ ├── gckpp_Function.F90 │ │ ├── gckpp_Global.F90 │ │ ├── gckpp_Initialize.F90 │ │ ├── gckpp_Integrator.F90 │ │ ├── gckpp_Jacobian.F90 │ │ ├── gckpp_LinearAlgebra.F90 │ │ ├── gckpp_Model.F90 │ │ ├── gckpp_Monitor.F90 │ │ ├── gckpp_Parameters.F90 │ │ ├── gckpp_Precision.F90 │ │ ├── gckpp_Rates.F90 │ │ ├── gckpp_Util.F90 │ │ └── util/ │ │ └── expand_carbon_eqn.py │ ├── custom/ │ │ ├── .gitignore │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ ├── custom.eqn │ │ └── custom.kpp │ ├── fullchem/ │ │ ├── CHANGELOG_fullchem.md │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ ├── commonIncludeVars.H │ │ ├── fullchem.eqn │ │ ├── fullchem.kpp │ │ ├── fullchem_AutoReduceFuncs.F90 │ │ ├── fullchem_HetStateFuncs.F90 │ │ ├── fullchem_RateLawFuncs.F90 │ │ ├── fullchem_SulfurChemFuncs.F90 │ │ ├── gckpp_Function.F90 │ │ ├── gckpp_Global.F90 │ │ ├── gckpp_Initialize.F90 │ │ ├── gckpp_Integrator.F90 │ │ ├── gckpp_Jacobian.F90 │ │ ├── gckpp_JacobianSP.F90 │ │ ├── gckpp_LinearAlgebra.F90 │ │ ├── gckpp_Model.F90 │ │ ├── gckpp_Monitor.F90 │ │ ├── gckpp_Parameters.F90 │ │ ├── gckpp_Precision.F90 │ │ ├── gckpp_Rates.F90 │ │ ├── gckpp_Util.F90 │ │ └── rateLawUtilFuncs.F90 │ └── stubs/ │ ├── stub_Hg_HetStateFuncs.F90 │ ├── stub_aciduptake_DustChemFuncs.F90 │ ├── stub_carbon_Funcs.F90 │ ├── stub_fullchem_AutoReduceFuncs.F90 │ ├── stub_fullchem_HetStateFuncs.F90 │ └── stub_fullchem_SulfurChemFuncs.F90 ├── LICENSE.txt ├── NcdfUtil/ │ ├── .gitignore │ ├── CMakeLists.txt │ ├── README.md │ ├── TestNcdfUtil.F90 │ ├── charpak_mod.F90 │ ├── julday_mod.F90 │ ├── m_do_err_out.F90 │ ├── m_netcdf_io_checks.F90 │ ├── m_netcdf_io_close.F90 │ ├── m_netcdf_io_create.F90 │ ├── m_netcdf_io_define.F90 │ ├── m_netcdf_io_get_dimlen.F90 │ ├── m_netcdf_io_handle_err.F90 │ ├── m_netcdf_io_open.F90 │ ├── m_netcdf_io_read.F90 │ ├── m_netcdf_io_readattr.F90 │ ├── m_netcdf_io_write.F90 │ └── ncdf_mod.F90 ├── ObsPack/ │ ├── .gitignore │ ├── CMakeLists.txt │ └── obspack_mod.F90 ├── PKUCPL/ │ ├── .gitignore │ ├── PKUCPL.F90 │ ├── PKUCPL.sh │ ├── README │ ├── Twoway.compile.sh │ └── run_twoway ├── README.md ├── run/ │ ├── .gitignore │ ├── CESM/ │ │ ├── HEMCO_Config.rc │ │ ├── HISTORY.rc │ │ ├── geoschem_config.yml │ │ └── util/ │ │ ├── README │ │ └── dep_data_file.cdl │ ├── GCClassic/ │ │ ├── .gitignore │ │ ├── HEMCO_Config.rc.templates/ │ │ │ ├── HEMCO_Config.rc.Hg │ │ │ ├── HEMCO_Config.rc.POPs │ │ │ ├── HEMCO_Config.rc.TransportTracers │ │ │ ├── HEMCO_Config.rc.aerosol │ │ │ ├── HEMCO_Config.rc.carbon │ │ │ ├── HEMCO_Config.rc.fullchem │ │ │ ├── HEMCO_Config.rc.gcap2_metfields │ │ │ ├── HEMCO_Config.rc.gmao_metfields │ │ │ ├── HEMCO_Config.rc.gmao_metfields_0125 │ │ │ ├── HEMCO_Config.rc.metals │ │ │ └── HEMCO_Config.rc.tagO3 │ │ ├── HEMCO_Diagn.rc.templates/ │ │ │ ├── HEMCO_Diagn.rc.Hg │ │ │ ├── HEMCO_Diagn.rc.POPs │ │ │ ├── HEMCO_Diagn.rc.TransportTracers │ │ │ ├── HEMCO_Diagn.rc.aerosol │ │ │ ├── HEMCO_Diagn.rc.aerosol.onlineE │ │ │ ├── HEMCO_Diagn.rc.carbon │ │ │ ├── HEMCO_Diagn.rc.fullchem │ │ │ ├── HEMCO_Diagn.rc.fullchem.onlineE │ │ │ ├── HEMCO_Diagn.rc.metals │ │ │ └── HEMCO_Diagn.rc.tagO3 │ │ ├── HISTORY.rc.templates/ │ │ │ ├── HISTORY.rc.Hg │ │ │ ├── HISTORY.rc.POPs │ │ │ ├── HISTORY.rc.TransportTracers │ │ │ ├── HISTORY.rc.aerosol │ │ │ ├── HISTORY.rc.carbon │ │ │ ├── HISTORY.rc.fullchem │ │ │ ├── HISTORY.rc.metals │ │ │ └── HISTORY.rc.tagO3 │ │ ├── README.md │ │ ├── archiveRun.sh │ │ ├── createRunDir.sh │ │ ├── geoschem_config.yml.templates/ │ │ │ ├── geoschem_config.yml.Hg │ │ │ ├── geoschem_config.yml.POPs │ │ │ ├── geoschem_config.yml.TransportTracers │ │ │ ├── geoschem_config.yml.aerosol │ │ │ ├── geoschem_config.yml.carbon │ │ │ ├── geoschem_config.yml.fullchem │ │ │ ├── geoschem_config.yml.metals │ │ │ └── geoschem_config.yml.tagO3 │ │ ├── getRunInfo │ │ ├── gitignore │ │ ├── init_rd.sh │ │ ├── runScriptSamples/ │ │ │ └── operational_examples/ │ │ │ ├── harvard_cannon/ │ │ │ │ ├── README │ │ │ │ ├── gcclassic.gcc10_cannon_rocky.env │ │ │ │ ├── gcclassic.gcc12_cannon_rocky.env │ │ │ │ ├── gcclassic.gcc14_cannon_rocky.env │ │ │ │ ├── geoschem.benchmark.run │ │ │ │ ├── geoschem.run │ │ │ │ ├── geoschem.vtune-hotspots.run │ │ │ │ ├── geoschem.vtune-perf-snapshot.run │ │ │ │ ├── geoschem.vtune-threading.run │ │ │ │ ├── geoschem.vtune-uarch-explore.run │ │ │ │ └── parallelTest.sh │ │ │ ├── msu_orion/ │ │ │ │ ├── README │ │ │ │ ├── gcclassic.carbon.build │ │ │ │ ├── gcclassic.intel-2022.2.1.env │ │ │ │ └── gcclassic.run │ │ │ ├── nasa_discover/ │ │ │ │ ├── README │ │ │ │ ├── gcclassic.build │ │ │ │ ├── gcclassic.run │ │ │ │ ├── geoschem.SLES15.stack-gcc-12.3.0.env │ │ │ │ └── geoschem.SLES15.stack-intel-2021.10.0.env │ │ │ ├── ncar_derecho/ │ │ │ │ ├── gcclassic.intel2024.env │ │ │ │ └── geoschem.run │ │ │ └── york_viking/ │ │ │ ├── README │ │ │ ├── gcclassic.intel.2021b.viking.env │ │ │ └── gcclassic.intel.sbatch │ │ └── setupForRestarts.sh │ ├── GCHP/ │ │ ├── .gitignore │ │ ├── CAP.rc.template │ │ ├── ESMF.rc │ │ ├── ExtData.rc.templates/ │ │ │ ├── ExtData.rc.TransportTracers │ │ │ ├── ExtData.rc.carbon │ │ │ ├── ExtData.rc.fullchem │ │ │ └── ExtData.rc.tagO3 │ │ ├── ExtData2G.yaml.templates/ │ │ │ └── extdata.yaml.TransportTracers │ │ ├── GCHP.rc.template │ │ ├── HEMCO_Config.rc.templates/ │ │ │ ├── HEMCO_Config.rc.TransportTracers │ │ │ ├── HEMCO_Config.rc.carbon │ │ │ ├── HEMCO_Config.rc.fullchem │ │ │ └── HEMCO_Config.rc.tagO3 │ │ ├── HEMCO_Diagn.rc.templates/ │ │ │ ├── HEMCO_Diagn.rc.TransportTracers │ │ │ ├── HEMCO_Diagn.rc.carbon │ │ │ ├── HEMCO_Diagn.rc.fullchem │ │ │ └── HEMCO_Diagn.rc.tagO3 │ │ ├── HISTORY.rc.templates/ │ │ │ ├── HISTORY.rc.TransportTracers │ │ │ ├── HISTORY.rc.carbon │ │ │ ├── HISTORY.rc.fullchem │ │ │ └── HISTORY.rc.tagO3 │ │ ├── README.md │ │ ├── archiveRun.sh │ │ ├── checkRunSettings.sh │ │ ├── createRunDir.sh │ │ ├── geoschem_config.yml.templates/ │ │ │ ├── geoschem_config.yml.TransportTracers │ │ │ ├── geoschem_config.yml.carbon │ │ │ ├── geoschem_config.yml.fullchem │ │ │ └── geoschem_config.yml.tagO3 │ │ ├── gitignore │ │ ├── init_rd.sh │ │ ├── input.nml │ │ ├── logging.yml │ │ ├── runScriptSamples/ │ │ │ ├── README │ │ │ ├── gchp.batch_job.sh │ │ │ ├── gchp.local.run │ │ │ └── operational_examples/ │ │ │ ├── README │ │ │ ├── aws_pcluster/ │ │ │ │ ├── README │ │ │ │ ├── execute.sh │ │ │ │ └── gchp.run │ │ │ ├── harvard_cannon/ │ │ │ │ ├── README │ │ │ │ ├── gchp.gcc10_openmpi4_cannon_rocky.env │ │ │ │ ├── gchp.gcc12_openmpi4_cannon_rocky.env │ │ │ │ ├── gchp.run │ │ │ │ └── gchp.submit_consecutive_jobs.sh │ │ │ ├── icl_rcshpc/ │ │ │ │ ├── README │ │ │ │ ├── gchp.env │ │ │ │ └── gchp.run │ │ │ ├── mit_hex/ │ │ │ │ ├── README │ │ │ │ ├── gchp.env_HEX │ │ │ │ └── gchp.run_HEX │ │ │ ├── mit_svante/ │ │ │ │ ├── README │ │ │ │ ├── gchp.env_SVANTE │ │ │ │ └── gchp.run_SVANTE.sh │ │ │ ├── msu_orion/ │ │ │ │ ├── README │ │ │ │ ├── gchp.carbon.build │ │ │ │ ├── gchp.intel-2024.1.0.env │ │ │ │ └── gchp.run │ │ │ ├── nasa_discover/ │ │ │ │ ├── README │ │ │ │ ├── gchp.build │ │ │ │ ├── gchp.run │ │ │ │ ├── geoschem.SLES15.stack-gcc-12.3.0.env │ │ │ │ └── geoschem.SLES15.stack-intel-2021.10.0.env │ │ │ ├── nasa_pleiades/ │ │ │ │ ├── README │ │ │ │ ├── gchp.pleiades.env │ │ │ │ └── gchp.pleiades.run │ │ │ ├── nci_gadi/ │ │ │ │ ├── README │ │ │ │ ├── gchp.pbs.run │ │ │ │ └── gchp_env_nci │ │ │ ├── wustl_compute1/ │ │ │ │ ├── README │ │ │ │ ├── c360_requeuing.sh │ │ │ │ ├── execute.sh │ │ │ │ └── gchp.batch_job.sh │ │ │ ├── wustl_compute2/ │ │ │ │ ├── README │ │ │ │ ├── gchp.run │ │ │ │ └── gchp_202505_hpcx_openmpi4_serial_IO.env │ │ │ └── york_viking/ │ │ │ ├── README │ │ │ ├── gchp.intel.2021b.viking.env │ │ │ └── gchp.intel.sbatch │ │ ├── setCommonRunSettings.sh.template │ │ ├── setEnvironmentLink.sh │ │ ├── setRestartLink.sh │ │ └── utils/ │ │ ├── extra_static_files.txt │ │ ├── extra_templates.txt │ │ ├── listInputDataFiles │ │ └── simulation-status │ ├── GEOS/ │ │ ├── .gitignore │ │ ├── GEOSCHEMchem_ExtData.rc │ │ ├── GEOSCHEMchem_ExtData.yaml │ │ ├── GEOSCHEMchem_GridComp.rc │ │ ├── GEOSChem_TaggedNOx.rc │ │ ├── HEMCO_Config.rc │ │ ├── HEMCO_DiagnFile.rc │ │ ├── HISTORY_CFv2.rc │ │ ├── TransportTracers/ │ │ │ ├── GEOSCHEMchem_ExtData.rc │ │ │ ├── GEOSCHEMchem_ExtData.yaml │ │ │ ├── GEOSCHEMchem_GridComp.rc │ │ │ ├── HEMCO_Config.rc │ │ │ ├── HEMCO_DiagnFile.rc │ │ │ ├── HISTORY.rc │ │ │ └── geoschem_config.yml │ │ ├── geoschem_analysis_cdas.yml │ │ ├── geoschem_analysis_geosit.yml │ │ ├── geoschem_config.yml │ │ └── scripts/ │ │ └── create_ch4_offset_file.py │ ├── WRF/ │ │ └── fullchem/ │ │ ├── HEMCO_Config.rc │ │ ├── HEMCO_Diagn.rc │ │ ├── HISTORY.rc │ │ └── geoschem_config.yml │ └── shared/ │ ├── .gitignore │ ├── cleanRunDir.sh │ ├── download_data.gcap2.40L.yml │ ├── download_data.py │ ├── download_data.yml │ ├── input.apm │ ├── kpp_standalone_interface.yml │ ├── metrics.py │ ├── newUserRegistration.sh │ ├── rtd_species_by_simulation.py │ ├── settings/ │ │ ├── 0125x015625.txt │ │ ├── 025x03125.txt │ │ ├── 05x0625.txt │ │ ├── 2x25.txt │ │ ├── 4x5.txt │ │ ├── POPs_BaP.txt │ │ ├── POPs_PHE.txt │ │ ├── POPs_PYR.txt │ │ ├── gcap2_hemco.txt │ │ ├── geosfp/ │ │ │ ├── README │ │ │ ├── advection_met/ │ │ │ │ ├── geosfp.derived_1hr_c720_wind_PS_SPHU.txt │ │ │ │ ├── geosfp.preprocessed_3hr_0.25x0.625_PS_SPHU.txt │ │ │ │ ├── geosfp.preprocessed_3hr_0.25x0.625_wind.txt │ │ │ │ ├── geosfp.raw_1hr_c720_mass_flux_PS_SPHU_C.txt │ │ │ │ ├── geosfp.raw_3hr_0.25x0.625_PS_SPHU.txt │ │ │ │ └── geosfp.raw_3hr_0.25x0.625_wind.txt │ │ │ ├── geosfp.nonadv_preprocessed_ll.txt │ │ │ └── geosfp.nonadv_raw_ll.txt │ │ ├── geosit/ │ │ │ ├── README │ │ │ ├── advection_met/ │ │ │ │ ├── geosit.preprocessed_1hr_c180_mass_flux.txt │ │ │ │ ├── geosit.preprocessed_3hr_c180_wind.txt │ │ │ │ ├── geosit.raw_1hr_c180_mass_flux.txt │ │ │ │ └── geosit.raw_3hr_c180_wind.txt │ │ │ ├── discover/ │ │ │ │ ├── geosit.nonadv_raw_c180.txt │ │ │ │ ├── geosit.raw_0.5x0.625.txt │ │ │ │ ├── geosit.raw_1hr_c180_mass_flux.txt │ │ │ │ └── geosit.raw_3hr_c180_wind.txt │ │ │ ├── geosit.nonadv_preprocessed_c180.txt │ │ │ ├── geosit.nonadv_raw_c180.txt │ │ │ ├── geosit.preprocessed_0.5x0.625.txt │ │ │ └── geosit.raw_0.5x0.625.txt │ │ ├── global_grid.txt │ │ ├── gmao_hemco.txt │ │ ├── merra2.txt │ │ ├── modele2.1.txt │ │ └── nested_grid.txt │ ├── setupConfigFiles.sh │ ├── singleCarbonSpecies.sh │ ├── species_database.yml │ ├── species_database_apm.yml │ └── species_database_tomas.yml └── test/ ├── .gitignore ├── README.md ├── difference/ │ ├── README.md │ └── diffTest.sh ├── integration/ │ ├── GCClassic/ │ │ ├── README.md │ │ ├── README.testroot.md │ │ ├── integrationTest.sh │ │ ├── integrationTestCompile.sh │ │ ├── integrationTestCreate.sh │ │ └── integrationTestExecute.sh │ ├── GCHP/ │ │ ├── README.md │ │ ├── README.testroot.md │ │ ├── integrationTest.sh │ │ ├── integrationTestCompile.sh │ │ ├── integrationTestCreate.sh │ │ └── integrationTestExecute.sh │ └── README.md ├── parallel/ │ ├── GCClassic/ │ │ ├── README.md │ │ ├── README.testroot.md │ │ ├── parallelTest.sh │ │ ├── parallelTestCompile.sh │ │ ├── parallelTestCreate.sh │ │ └── parallelTestExecute.sh │ └── README.md └── shared/ ├── .gitignore ├── README.md ├── alldiags/ │ └── Planeflight.dat.20190701 ├── commonFunctionsForTests.sh └── utils/ └── cannon/ ├── integrationTest/ │ ├── README.md │ ├── redoIntegrationTestCompile.sh │ └── redoIntegrationTestExecute.sh └── parallelTest/ ├── README.md ├── redoParallelTestCompile.sh └── redoParallelTestExecute.sh ================================================ FILE CONTENTS ================================================ ================================================ FILE: .github/ISSUE_TEMPLATE/bug-report.yml ================================================ name: Bug or Issue Report description: Report a bug or issue with GEOS-Chem title: "Put a one-line description here" labels: ["category: Bug"] body: - type: input id: name attributes: label: Your name validations: required: true - type: input id: affiliation attributes: label: Your affiliation validations: required: true - type: textarea id: what-happened attributes: label: What happened? What did you expect to happen? placeholder: Describe your issue validations: required: true - type: textarea id: steps-to-reproduce attributes: label: What are the steps to reproduce the bug? placeholder: Explain what you did validations: required: true - type: textarea id: log-files attributes: label: Please attach any relevant configuration and log files. description: Drag and drop files like the GEOS-Chem log file, geoschem_config.yml, HEMCO_Config.rc, HISTORY.rc, and build_info/summarize_build here. You may need to rename files to end in .txt first. validations: required: false - type: input id: version attributes: label: What GEOS-Chem version were you using? placeholder: e.g. 14.4.0 validations: required: true - type: dropdown id: machine attributes: label: What environment were you running GEOS-Chem on? multiple: true options: - Local cluster - AWS - Personal computer - Other (please explain below) validations: required: true - type: input id: compiler-version attributes: label: What compiler and version were you using? placeholder: e.g. gcc 10.2.0, ifort 19.0.5.281 validations: required: true - type: dropdown id: implemenation attributes: label: Will you be addressing this bug yourself? description: If Yes, please also assign this issue to yourself (if possible) multiple: false options: - "Yes" - "Yes, but I will need some help" - "No" validations: required: true - type: dropdown id: configuration attributes: label: In what configuration were you running GEOS-Chem? description: If you are experiencing issues with GEOS-Chem in an external model, please contact that model's support. This repository is for tracking issues related to the GEOS-Chem science code base. multiple: false options: - GCClassic - GCHP - Other (please explain in additional information section below) validations: required: true - type: dropdown id: simulation attributes: label: What simulation were you running? description: If using full chemistry, specify extra options like benchmark, complexSOA, etc. in the additional information section below multiple: false options: - Full chemistry - Aerosol - Carbon - Hg - POPs - TagO3 - TransportTracers - Trace metals - CH4 - CO2 - TagCO validations: required: true - type: input id: resolution attributes: label: As what resolution were you running GEOS-Chem? description: If running a nested grid simulation, please also specify the region. placeholder: "e.g. 4x5, 2x2.5, 0.25x0.3125 NA, c48, c180" validations: required: true - type: dropdown id: meteorology attributes: label: What meterology fields did you use? multiple: false options: - GEOS-FP - GEOS-IT - MERRA-2 - GCAP 2.0 - Other (please explain in additional information section below) validations: required: true - type: textarea id: additional-info attributes: label: Additional information description: Please provide any additional information here that you think might be relevant. validations: required: false ================================================ FILE: .github/ISSUE_TEMPLATE/config.yml ================================================ blank_issues_enabled: false contact_links: - name: GEOS-Chem user manual url: https://geos-chem.readthedocs.io/en/stable about: Click this link to read the GEOS-Chem user manual. ================================================ FILE: .github/ISSUE_TEMPLATE/new-feature.yml ================================================ name: Feature Request description: Request a new GEOS-Chem feature title: "Put a one-line description here" labels: ["category: Feature Request"] body: - type: input id: name attributes: label: Your name validations: required: true - type: input id: affiliation attributes: label: Your affiliation validations: required: true - type: textarea id: feature-description attributes: label: Provide a clear and concise overview of the new feature requested. validations: required: true - type: textarea id: reference attributes: label: Reference(s) description: If this is a science update, please provide a literature citation. placeholder: "e.g. Bey et al., Global modeling of tropospheric chemistry with assimilated meteorology: Model description and evaluation, J. Geophys. Res., 106, 23,073-23,096, 2001." validations: required: false - type: dropdown id: implemenation attributes: label: Will you be implementing this feature yourself? description: If Yes, please also assign this issue to yourself (if possible) multiple: false options: - "Yes" - "Yes, but I will need some help" - "No" validations: required: true - type: textarea id: additional-info attributes: label: Additional information description: Please provide any additional information here that you think might be relevant. validations: required: false ================================================ FILE: .github/ISSUE_TEMPLATE/question-discussion.yml ================================================ name: Question or Discussion description: Ask a question about GEOS-Chem or start a discussion title: "Put a one-line description here" labels: ["category: Question"] body: - type: input id: name attributes: label: Your name validations: required: true - type: input id: affiliation attributes: label: Your affiliation validations: required: true - type: textarea id: description attributes: label: Please provide a clear and concise description of your question or discussion topic. validations: required: true ================================================ FILE: .github/PULL_REQUEST_TEMPLATE.md ================================================ ### Name and Institution (Required) Name: Institution: ### Describe the update Please provide a clear and concise overview of the update. ### Expected changes Please provide details on how this update will impact model output and include plots or tables as needed. ### Reference(s) If this is a science update, please provide a literature citation. ### Related Github Issue Please link to the corresponding Github issue(s) here. If fixing a bug, there should be an issue describing it with steps to reproduce. ================================================ FILE: .github/workflows/stale.yml ================================================ # This workflow warns and then closes issues that have had no activity for a specified amount of time. # # You can adjust the behavior by modifying this file. # For more information, see: # https://github.com/actions/stale name: Mark stale issues on: schedule: - cron: '0 0 * * *' # Run every night at midnight jobs: stale: runs-on: ubuntu-latest permissions: issues: write pull-requests: write steps: - uses: actions/stale@v10 with: repo-token: ${{ secrets.GITHUB_TOKEN }} stale-issue-label: 'stale' exempt-issue-labels: 'category: Discussion,category: Feature Request,deferred,help needed: Open Research Problem,help needed: Request Input from Community,never stale,TODO: Documentation' days-before-issue-stale: 30 days-before-issue-close: 7 stale-issue-message: 'This issue has been automatically marked as stale because it has not had recent activity. If there are no updates within 7 days it will be closed. You can add the "never stale" tag to prevent the issue from closing this issue.' close-issue-message: 'Closing due to inactivity' days-before-pr-stale: -1 days-before-pr-close: -1 ================================================ FILE: .gitignore ================================================ HEMCO/.git/ HEMCO/.github/ HEMCO/.gitignore *.[oax] *.mod *.MOD *~* *.swp *.bak *.patch *.diff gcclassic diffs bak misc *.pp.* *.pdb *.inst.* *.continue.* *.ppk *.log bin/* build/ build_*/ *___.h *___.rc core.* *.exe ================================================ FILE: .gitmodules ================================================ [submodule "KPP/standalone"] path = KPP/standalone url = https://github.com/geoschem/KPP-Standalone ================================================ FILE: .zenodo.json ================================================ { "access_right": "open", "creators": [ { "name": "The International GEOS-Chem User Community" } ], "description": "GEOS-Chem (science codebase)", "keywords": [ "atmospheric-chemistry", "atmospheric-composition", "atmospheric-modeling", "aws", "climate-modeling", "cloud-computing", "geos-chem", "atmospheric-computing", "scientific-computing" ], "license": "mit-license", "upload_type": "software" } ================================================ FILE: APM/.gitignore ================================================ *.[oax] *.mod *.MOD *~* geos geostomas geosapm *.pp.* *.pdb *.inst.* *.continue.* *.ppk core.* ================================================ FILE: APM/CMakeLists.txt ================================================ add_library(APM STATIC EXCLUDE_FROM_ALL apm_albd_mod.F apm_ATHN_mod.F apm_coag_mod.F90 apm_grow_mod.F apm_icen_mod.F90 apm_init_mod.F apm_mixactivate.F90 apm_nucl_mod.F apm_opti_mod.F apm_phys_mod.F apm_radf_mod.F apm_rrtmg_mods.F90 apm_rrtmg_src.F90 apm_rrtmg_sw.F90 apm_TIMN_mod.F module_data_mosaic_asect.F90 module_data_mosaic_other.F90 module_data_mosaic_therm.F90 module_mosaic_therm.F90 ) target_link_libraries(APM PUBLIC GeosUtil ) ================================================ FILE: APM/apm_ATHN_mod.F ================================================ #ifdef APM MODULE APM_ATHN_MOD IMPLICIT NONE !================================================================= ! MODULE PRIVATE DECLARATIONS -- keep certain internal variables ! and routines from being seen outside "apm_nucl_mod.f" !================================================================= ! Module Variables: ! ============================================================================ ! Parameters ! (1 ) MC : NUMBER OF POINTS IN H2SO4 CONCENTRATION DIMENSION ! (2 ) MRH : NUMBER OF POINTS IN RELATIVE HUMIDITY DIMENSION ! (3 ) MT : NUMBER OF POINTS IN TEMPERATURE DIMENSION ! (4 ) MD : NUMBER OF POINTS IN [DMA] DIMENSION ! (5 ) MS : NUMBER OF POINTS IN SURFACE AREA DIMENSION ! Arrays ! (6 ) C : VALUES AT POINTS IN H2SO4 CONCENTRATION DIMENSION ! (7 ) RH : VALUES AT POINTS IN RELATIVE HUMIDITY DIMENSION ! (8 ) T : VALUES AT POINTS IN TEMPERATURE DIMENSION ! (9 ) D : VALUES AT POINTS IN [DMA] DIMENSION ! (10) S : VALUES AT POINTS IN SURFACE AREA DIMENSION ! (11) XJATHN : AMINE TERNARY NUCLEATION RATES (cm-3s-1) AT ALL POINTS IN 5-D SPACE ! Module Routines: ! ============================================================================ ! (1 ) YUJATHN : INTERPOLAION SCHEME TO FIND JATHN FROM LOOKUP TABLE ! (2 ) READJATHN : READ IN THE ATHN LOOKUP TABLE ! ! NOTES: ! (1 ) .... !****************************************************************************** ! Make everything PRIVATE ... PRIVATE ! ... except these variables ... ! PUBLIC :: ! ... and these routines PUBLIC :: YUJATHN PUBLIC :: READJATHN !================================================================= ! MODULE VARIABLES !================================================================= ! Parameters INTEGER, PARAMETER :: MC = 31 INTEGER, PARAMETER :: MRH = 11 INTEGER, PARAMETER :: MT = 31 INTEGER, PARAMETER :: MD = 31 INTEGER, PARAMETER :: MS = 12 ! Arrays REAL*8 :: C(MC),RH(MRH),T(MT),D(MD),S(MS) REAL*8 :: XJATHN(MC,MRH,MT,MD,MS) CHARACTER(LEN=255) :: DATA_DIR_1x1 !================================================================= ! MODULE ROUTINES -- follow below the "CONTAINS" statement !================================================================= CONTAINS ! ********************************************************************* ! ATHNATHNATHNATHNATHNATHNATHNATHNATHNATHNATHNATHNATHNATHNATHNATHNATHN ! ********************************************************************* ! SUBROUTINE YUJATHN(X0,Y0,Z0,U0,V0,XJ0) ! ! This subroutine is to calculate rates of amine ternary homogeneous ! nucleation (ATHN) from lookup tables ! using multiple-variable interpolation scheme ! ! WRITTEN by Fangqun Yu, SUNY-Albany, 2014 ! Email: fyu@albany.edu ! Updated 2015 ! References: ! ! Input: ! X0 = [H2SO4] in #/cm3 (5E5-5E8) ! Y0 = RH in % (0.5-99.5) ! Z0 = T (in K) (250-310) ! U0 = [DMA] (ppt) (0.1-100) ! V0 = S (um2/cm3) (1-1000) ! ! OUTPUT: ! XJ0: Nucleation rate (#/cm3s) ! ! REAL*8 :: X0,Y0,Z0,U0,V0,XJ0 REAL*8 :: X,Y,Z,U,V REAL*8 :: VOL,FRACT REAL*8 :: dx1,dx2,dy1,dy2,dz1,dz2,du1,du2,dv1,dv2 REAL*8 :: dx,dy,dz,du,dv INTEGER :: IC1, IC2, JRH1, JRH2, KT1, KT2, ID1, ID2, IS1,IS2 INTEGER :: IC, JRH, KT, ID,IS ! ! to avoid the input values to be changed due to out of the range reset ! X = X0 Y = Y0 Z = Z0 U = U0 V = V0 ! ! The lookup table should cover almost all possible conditions in ! ambient troposphere. For the extreme conditions that are out of ! the ranges of the lookup table, we either reset the inputed ! parameters in a way that may underestmate the JATHN values or ! set the nucleation rate to 1.E-20 cm-3s-1. ! IF(X.LT.C(1)) THEN ! WRITE(6,10) X, C(1) XJ0 = 1.E-20 RETURN ELSEIF(X.GT.C(MC)) THEN ! WRITE(6,11) X, C(MC), C(MC) X =C(MC) ENDIF IF(Y.LT.RH(1)) THEN ! WRITE(6,12) Y, RH(1) XJ0 = 1.E-20 RETURN ELSEIF(Y.GT.RH(MRH)) THEN ! WRITE(6,13) Y, RH(MRH), RH(MRH) Y =RH(MRH) ENDIF IF(Z.LT.T(1)) THEN ! WRITE(6,14) Z, T(1), T(1) Z =T(1) ELSEIF(Z.GT.T(MT)) THEN ! WRITE(6,15) Z, T(MT) XJ0 = 1.E-20 RETURN ENDIF IF(U.LT.D(1)) THEN WRITE(6,16) U, D(1) XJ0 = 1.E-20 RETURN ELSEIF(U.GT.D(MD)) THEN ! WRITE(6,17) U, D(MD) U =D(MD) ENDIF IF(V.LT.S(1)) THEN ! WRITE(86,18) V, S(1), S(1) V =S(1) ELSEIF(V.GT.S(MS)) THEN ! WRITE(86,19) V, S(MS), S(MS) V =S(MS) ENDIF 10 FORMAT("ATHN WARNING: INPUTED [H2SO4]=",ES9.2,"<",ES9.2, & ", set JATHN to 1.E-20 cm-3s-1") 11 FORMAT("ATHN WARNING: INPUTED [H2SO4]=",ES9.2,">",ES9.2, & " set it to ",ES9.2) 12 FORMAT("ATHN WARNING: INPUTED RH =",F5.1,"% <",F5.1, & "%, set JATHN to 1.E-20 cm-3s-1") 13 FORMAT("ATHN WARNING: INPUTED RH =",F5.1,"% >",F5.1, & "% set it to ",F5.1,"%") 14 FORMAT("ATHN WARNING: INPUTED T =",F6.1,"K <",F6.1, & "K set it to ",F6.1,"K") 15 FORMAT("ATHN WARNING: INPUTED T =",F6.1,"K >",F6.1, & "K, set JATHN to 1.E-20 cm-3s-1") 16 FORMAT("ATHN WARNING: INPUTED D =",F6.1," <",F6.1, & " ppt , set JATHN to 1.E-20 cm-3s-1") 17 FORMAT("ATHN WARNING: INPUTED D =",F6.1," >",F6.1, & " ppt set it to ",F6.1) 18 FORMAT("ATHN WARNING: INPUTED S =",F6.1," <",F6.1, & " um2/cm3 set it to ",F6.1) 19 FORMAT("ATHN WARNING: INPUTED S =",F6.1," >",F6.1, & " um2/cm3 set it to ",F6.1) IC1 =MAX0(INT(1.+10.*LOG10(X/C(1))),1) IC2 = MIN0(IC1 + 1,MC) IF(IC2.EQ.MC) IC1=MC-1 IF(Y.LT.RH(2)) THEN JRH1 = 1. ELSE JRH1 = MAX0(INT((Y-RH(2))/10.+2.),2) ENDIF JRH2 = MIN0(JRH1 + 1,MRH) IF(JRH2.EQ.MRH) JRH1=MRH-1 KT1 = MAX0(INT(Z/2.-124.0),1) KT2 = MIN0(KT1 + 1,MT) IF(KT2.EQ.MT) KT1=MT-1 ! ID1 = MAX0(INT(1.+10.*LOG10(U/D(1))),1) ID2 = MIN0(ID1 + 1,MD) IF(ID2.EQ.MD) ID1=MD-1 ! IF(V.LT.10.0) THEN IS1 =1. ELSE IS1 = MAX0(INT(2.+5.*LOG10(V/10.)),2) ENDIF IS2 = MIN0(IS1 + 1,MS) IF(IS2.EQ.MS) IS1=MS-1 ! dx1 = LOG10(X/C(IC1)) ! logJ log[H2SO4] interpolation dx2 = LOG10(C(IC2)/X) dy1 = LOG10(Y/RH(JRH1)) dy2 = LOG10(RH(JRH2)/Y) dz1 = Z-T(KT1) dz2 = T(KT2)-Z du1 = LOG10(U/D(ID1)) du2 = LOG10(D(ID2)/U) dv1 = LOG10(V/S(IS1)) dv2 = LOG10(S(IS2)/V) ! XJ0 = 0. ! VOL = (dx1+dx2)*(dy1+dy2)*(dz1+dz2)*(du1+du2)*(dv1+dv2) DO KT = KT1,KT2 IF(KT.EQ.KT1) THEN dz = dz2 ELSE dz = dz1 ENDIF DO JRH = JRH1,JRH2 IF(JRH.EQ.JRH1) THEN dy = dy2 ELSE dy = dy1 ENDIF DO IC = IC1,IC2 IF(IC.EQ.IC1) THEN dx = dx2 ELSE dx = dx1 ENDIF DO ID =ID1, ID2 IF(ID.EQ.ID1) THEN du = du2 ELSE du = du1 ENDIF DO IS =IS1, IS2 IF(IS.EQ.IS1) THEN dv = dv2 ELSE dv = dv1 ENDIF FRACT = dx*dy*dz*du*dv/VOL XJ0 = XJ0 + FRACT*XJATHN(IC,JRH,KT,ID,IS) ! WRITE(6,30)IC,JRH,KT,ID,IS,10.**XJATHN(IC,JRH,KT,ID,IS), ! & FRACT ENDDO ENDDO ENDDO ENDDO ENDDO ! ! Log10J -->J XJ0 = 10.**XJ0 ! 30 FORMAT(I3, I3, I3, I3, I3, 10(1PE10.3)) 20 FORMAT(10(1PE10.3)) RETURN END ! ********************************************************************* SUBROUTINE READJATHN(DATA_DIR_1x1a) ! ! WRITTEN by Fangqun Yu, SUNY-Albany, 2014, 2015 ! ! ============================================================================ CHARACTER(LEN=255) :: DATA_DIR_1x1a CHARACTER*999 YPATH INTEGER :: IC, IRH, IT, ID, IS REAL*8 :: C11,D11,S11,ratio DATA_DIR_1x1= DATA_DIR_1x1a YPATH = TRIM(DATA_DIR_1x1)//'/APM_data_201906/ATHN20150328/' WRITE(6,*)"Read ATHN look-up tables" open(31,file=TRIM(YPATH)//'YuATHN_J5D.txt',form='formatted') open(41,file=TRIM(YPATH)//'YuATHN_1H2SO4.txt',form='formatted') open(42,file=TRIM(YPATH)//'YuATHN_2RH.txt',form='formatted') open(43,file=TRIM(YPATH)//'YuATHN_3T.txt',form='formatted') open(44,file=TRIM(YPATH)//'YuATHN_4DMA.txt',form='formatted') open(45,file=TRIM(YPATH)//'YuATHN_5S.txt',form='formatted') ! READ(41,100)(C(IC),IC=1,MC) WRITE(6,*)"[H2SO4](IC), IC=1, ", MC, ":" WRITE(6,100)(C(IC),IC=1,MC) ! READ(42,100)(RH(IRH),IRH=1,MRH) WRITE(6,*)"RH(I), I=1, ", MRH, ":" WRITE(6,100)(RH(IRH),IRH=1,MRH) ! READ(43,100)(T(IT),IT=1,MT) WRITE(6,*)"T(I), I=1, ", MT, ":" WRITE(6,100)(T(IT),IT=1,MT) ! READ(44,100)(D(ID),ID=1,MD) WRITE(6,*)"D(I), I=1, ", MD, ":" WRITE(6,100)(D(ID),ID=1,MD) ! READ(45,100)(S(IS),IS=1,MS) WRITE(6,*)"S(I), I=1, ", MS, ":" WRITE(6,100)(S(IS),IS=1,MS) ! ! Use the formula to calculate C and D to get values with more digits, otherwise ! may cause problem when input C and D are very clsoe to C(IC),D(ID) as ! IC and ID are decided with formula ! C(1) = 5.0E5 DO IC = 2, MC C11 = C(IC) RATIO = 10.**(0.1) C(IC) = C(IC-1)*RATIO IF(abs(1.-C11/C(IC)).GT.0.02) THEN write(6,*)"need check JATHN look-up table inputs" stop ENDIF ENDDO DO ID = 1, MD D11 = D(ID) D(ID) = 0.1*10.**(0.1*float(ID-1)) IF(abs(1.-D11/D(ID)).GT.0.02) THEN write(6,*)"need check JATHN look-up table inputs" stop ENDIF ENDDO DO IS = 1, MS S11 = S(IS) IF(IS.EQ.1) THEN S(1) =1.0 ELSE S(IS) = 10.*100.**(0.1*float(IS-2)) ENDIF IF(abs(1.-S11/S(IS)).GT.0.02) THEN write(6,*)"need check JATHN look-up table inputs" stop ENDIF ENDDO ! ! Formatted 5-D Table ! DO IT = 1,MT DO IRH = 1,MRH DO IC =1, MC DO IS =1, MS READ(31,201)(XJATHN(IC,IRH,IT,ID,IS),ID =1,MD) DO ID=1, MD ! Due to high sensitivity of J to key parameters, use logJ to interpolate XJATHN(IC,IRH,IT,ID,IS)=LOG10(XJATHN(IC,IRH,IT,ID,IS)) ENDDO ENDDO ENDDO ENDDO ENDDO CLOSE(31) CLOSE(41) CLOSE(42) CLOSE(43) CLOSE(44) CLOSE(45) ! 100 FORMAT(100(1PE10.2)) 201 FORMAT(100(1PE9.2)) 202 FORMAT(100F5.1) 203 FORMAT(100F5.2) 204 FORMAT(100F6.3) RETURN END ! ********************************************************************* ! ATHNATHNATHNATHNATHNATHNATHNATHNATHNATHNATHNATHNATHNATHNATHNATHNATHN ! ********************************************************************* ! ! End of module END MODULE APM_ATHN_MOD #endif ================================================ FILE: APM/apm_TIMN_mod.F ================================================ #ifdef APM ! $Id: apm_nucl_mod.f,v 0.0 2008/09/28 11:30:00 fyu $ MODULE APM_TIMN_MOD ! !****************************************************************************** ! Module APM_TIMN_MOD contains variables and routines for computing ! ternary IMN rates. (fyu,2018) ! ! Module Variables: ! ============================================================================ ! Parameters ! (1 ) MC : NUMBER OF POINTS IN H2SO4 CONCENTRATION DIMENSION ! (2 ) MT : NUMBER OF POINTS IN TEMPERATURE DIMENSION ! (3 ) MRH : NUMBER OF POINTS IN RELATIVE HUMIDITY DIMENSION ! (4 ) MQ : NUMBER OF POINTS IN IONIZATION RATE DIMENSION ! (5 ) MS : NUMBER OF POINTS IN SURFACE AREA DIMENSION ! (6 ) MB : NUMBER OF POINTS IN [NH3] DIMENSION ! Arrays ! (1 ) C : VALUES AT POINTS IN H2SO4 CONCENTRATION DIMENSION ! (2 ) T : VALUES AT POINTS IN TEMPERATURE DIMENSION ! (3 ) RH : VALUES AT POINTS IN RELATIVE HUMIDITY DIMENSION ! (4 ) Q : VALUES AT POINTS IN IONIZATION RATE DIMENSION ! (5 ) S : VALUES AT POINTS IN SURFACE AREA DIMENSION ! (6 ) S : VALUES AT POINTS IN [NH3] DIMENSION ! ! (11) XJTIMN : ION-MEDIATED NUCLEATION RATES (cm-3s-1) AT ALL POINTS IN 6-D SPACE ! (12) XRSTAR : CRITICAL RADIUS (nm) AT ALL POINTS IN 6-DIMENSION SPACE ! ! Module Routines: ! ============================================================================ ! (1 ) YUJTIMN1 : INTERPOLAION SCHEME TO FIND JTIMN FROM LOOKUP TABLE ! (2 ) READJTIMN : READ IN THE TIMN LOOKUP TABLE ! ! NOTES: ! (1 ) .... !****************************************************************************** ! IMPLICIT NONE !================================================================= ! MODULE PRIVATE DECLARATIONS -- keep certain internal variables ! and routines from being seen outside "apm_nucl_mod.f" !================================================================= ! Make everything PRIVATE ... PRIVATE ! ... except these variables ... ! PUBLIC :: ! ... and these routines PUBLIC :: YUJTIMN1 PUBLIC :: READJTIMN !================================================================= ! MODULE VARIABLES !================================================================= ! Parameters INTEGER, PARAMETER :: MC = 32 INTEGER, PARAMETER :: MT = 39 INTEGER, PARAMETER :: MRH = 26 INTEGER, PARAMETER :: MQ = 9 ! INTEGER, PARAMETER :: MS = 12 INTEGER, PARAMETER :: MS = 2 INTEGER, PARAMETER :: MB = 33 ! Arrays REAL*8 :: C(MC),RH(MRH),T(MT),Q(MQ),S(MS),B(MB) REAL*8 :: XJTIMN(MC,MRH,MT,MQ,MS,MB), XRSTAR(MC,MRH,MT,MB) CHARACTER(LEN=255) :: DATA_DIR_1x1 !================================================================= ! MODULE ROUTINES -- follow below the "CONTAINS" statement !================================================================= CONTAINS !------------------------------------------------------------------------------ SUBROUTINE YUJTIMN1(X0,Y0,Z0,U0,V0,W0,XJBH,XJBIM,XJTH,XJTIM, & RBH,RBIM,RTH,RTIM) ! ! This subroutine is to calculate rates and critical cluster properties of ! ion-mediated nucleation (IMN) and kinetic binary homogeneous nucleation (KBHN) ! from lookup tables using multiple-variable interpolation scheme. ! ! Here the IMN lookup table reported in Yu (JGR,2010) and BHN lookup table ! reported in Yu (JGR, 2008) have been integrated. YUJTIMN gives KBHN rates ! when the ionization rate is set to 0. The integrated lookup table has a size ! of ~ 170 MB and is designed for 3-D application. For quick application and ! comparison, one can obtain nucleation rates under specified conditions using ! an online nucleation rate calculator @ ! http://www.albany.edu/~yfq/YuOnLineNucleation.html. ! ! The present lookup table should cover almost all the possible conditions in ! the troposphere relevant to atmospheric nucleation. The range and resolution ! in each parameter space can be extended in the future if needed. ! ! Written by ! Fangqun Yu ! Atmospheric Sciences Research Center ! State University of New York at Albany ! E-mail: yfq@asrc.cestm.albany.edu; fangqun.yu@asrc.albany.edu ! ! Original code writted in 2006. Significnat update in 2008 and 2010. Contact ! Yu for future update or if you have questions. ! ! IMN lookup table reference: ! 1. Yu, F., Ion-mediated nucleation in the atmosphere: Key controlling ! parameters, implications, and look-up table, J. Geophy. Res., 115, ! D03206, doi:10.1029/2009JD012630, 2010. ! ! IMN model references: ! 2. Yu, F., From molecular clusters to nanoparticles: Second-generation ! ion-mediated nucleation model, Atmos. Chem. Phys., 6, 5193-5211, 2006. ! 3. Yu, F., and R. P. Turco, Ultrafine aerosol formation via ion-mediated ! nucleation, Geophys. Res. Lett., 27, 883-886, 2000. ! ! KBHN lookup table reference: ! 4. Yu, F., Updated H2SO4-H2O binary homogeneous nucleation rate look-up ! tables, J. Geophy. Res.,113, D24201, doi:10.1029/2008JD010527, 2008. ! ! KBHN model references: ! 5. Yu, F., Improved quasi-unary nucleation model for binary H2SO4-H2O ! homogeneous nucleation, J. Chem. Phys., 127, 054301, 2007. ! 6. Yu, F., Quasi-unary homogeneous nucleation of H2SO4-H2O, J. Chem. ! Phys., 122, 074501, 2005. ! ! INPUT (valid value range): ! X0 = [H2SO4] in #/cm3 (5E5-5E8,5E9) ! Y0 = RH in % (0.5-99.5) ! Z0 = T (in K) (190-301) ! U0 = Q = ionization rate (ion-pairs/cm3s) (0, 2-22.8,100) ! V0 = S = surface area (um2/cm3) (1, 10-1000) ! W0 = B = NH3 in #/cm3 (1E5,1E8-1E11,1E12) ! ! OUTPUT: ! XJBH: Bionary Homo Nucleation rate (#/cm3s) ! XJBIM: Bionary Ion-Mediated Nucleation rate (#/cm3s) ! XJTH: Ternary Homo Nucleation rate (#/cm3s) ! XJ0: Ternary Ion-Mediated Nucleation rate (#/cm3s) ! XR0: Radius of critical cluster (nm) ! REAL*8 :: X0,Y0,Z0,U0,V0,W0 REAL*8 :: XJBH,XJBIM,XJTH,XJTIM REAL*8 :: RBH,RBIM,RTH,RTIM REAL*8 :: X,Y,Z,U,V,W REAL*8 :: VOL,VOL4,FRACT,FRACT4,XR0 REAL*8 :: dx1,dx2,dy1,dy2,dz1,dz2,du1,du2,dv1,dv2,dw1,dw2 REAL*8 :: dx,dy,dz,du,dv,dw REAL*8 :: XDH,XDT,X1,X2,Y1,Y2,XJ1,XJ2,YJ INTEGER :: IC1,IC2,JRH1,JRH2,KT1,KT2,IQ1,IQ2,IS1,IS2,IB1,IB2 INTEGER :: IC, JRH, KT, IQ, IS,IB ! ! to avoid the input values to be changed due to out of the range reset ! X = X0 Y = Y0 Z = Z0 U = U0 V = V0 W = W0 ! ! The present lookup table should cover almost all the possible conditions in ! the troposphere relevant to atmospheric nucleation. The range and resolution ! in each parameter space can be extended in the future if needed. ! If the inputed values are out of the lookup table valid ranges, set them to ! boundary values for now. Care should be taken if your inputted values are ! frequently out of the specified ranges. ! IF(U.LE.1.E-20) U=1.E-20 ! i.e., binary homogeneous nucleation ! IF(X.LT.C(1)) THEN ! WRITE(86,10) X, C(1), C(1) X = C(1) ELSEIF(X.GT.C(MC)) THEN ! WRITE(86,11) X, C(MC), C(MC) X =C(MC) ENDIF IF(Y.LT.RH(1)) THEN ! WRITE(86,12) Y, RH(1), RH(1) Y =RH(1) ELSEIF(Y.GT.RH(MRH)) THEN ! WRITE(86,13) Y, RH(MRH), RH(MRH) Y =RH(MRH) ENDIF IF(Z.LT.T(1)) THEN ! WRITE(86,14) Z, T(1), T(1) Z =T(1) ELSEIF(Z.GT.T(MT)) THEN ! WRITE(86,15) Z, T(MT), T(MT) Z =T(MT) ENDIF IF(U.LT.Q(1)) THEN ! WRITE(86,16) U, Q(1), Q(1) U =Q(1) ELSEIF(U.GT.Q(MQ)) THEN ! WRITE(86,17) U, Q(MQ), Q(MQ) U =Q(MQ) ENDIF ! IF(V.LT.S(1)) THEN !! WRITE(86,18) V, S(1), S(1) ! V =S(1) ! ELSEIF(V.GT.S(MS)) THEN !! WRITE(86,19) V, S(MS), S(MS) ! V =S(MS) ! ENDIF IF(W.LT.B(1)) THEN ! WRITE(86,20) W, B(1), B(1) W =B(1) ELSEIF(W.GT.B(MB)) THEN ! WRITE(86,21) W, B(MB), B(MB) W =B(MB) ENDIF 10 FORMAT("IMN WARNING: INPUTED [H2SO4]=",ES9.2,"<",ES9.2, & " set it to ",ES9.2) 11 FORMAT("IMN WARNING: INPUTED [H2SO4]=",ES9.2,">",ES9.2, & " set it to ",ES9.2) 12 FORMAT("IMN WARNING: INPUTED RH =",F5.1,"% <",F5.1, & "% set it to ",F5.1,"%") 13 FORMAT("IMN WARNING: INPUTED RH =",F5.1,"% >",F5.1, & "% set it to ",F5.1,"%") 14 FORMAT("IMN WARNING: INPUTED T =",F6.1,"K <",F6.1, & "K set it to ",F6.1,"K") 15 FORMAT("IMN WARNING: INPUTED T =",F6.1,"K >",F6.1, & "K set it to ",F6.1,"K") 16 FORMAT("IMN WARNING: INPUTED Q =",F6.1," <",F6.1, & " ion-pair/cm3s set it to ",F6.1) 17 FORMAT("IMN WARNING: INPUTED Q =",F6.1," >",F6.1, & " ion-pair/cm3s set it to ",F6.1) 18 FORMAT("IMN WARNING: INPUTED S =",F6.1," <",F6.1, & " um2/cm3 set it to ",F6.1) 19 FORMAT("IMN WARNING: INPUTED S =",F6.1," >",F6.1, & " um2/cm3 set it to ",F6.1) 20 FORMAT("IMN WARNING: INPUTED [NH3]=",ES9.2,"<",ES9.2, & " set it to ",ES9.2) 21 FORMAT("IMN WARNING: INPUTED [NH3]=",ES9.2,">",ES9.2, & " set it to ",ES9.2) IC1 =MAX0(INT(1.+10.*LOG10(X/5.E5)),1) IC2 = MIN0(IC1 + 1,MC) IF(IC2.EQ.MC) IC1=MC-1 XDH = 4. IF(Y.LT.RH(2)) THEN JRH1 = 1. ELSE JRH1 = MAX0(INT((Y-RH(2))/XDH+2.),2) ENDIF JRH2 = MIN0(JRH1 + 1,MRH) IF(JRH2.EQ.MRH) JRH1=MRH-1 XDT = 3.0 KT1 = MAX0(INT((Z-190.0)/XDT)+1,1) KT2 = MIN0(KT1 + 1,MT) IF(KT2.EQ.MT) KT1=MT-1 ! IF(U.LT.Q(2)) THEN IQ1 =1. ELSE IQ1 = MAX0(INT(2.+LOG10(U/Q(2))/LOG10(1.5)),2) ENDIF IQ2 = MIN0(IQ1 + 1,MQ) IF(IQ2.EQ.MQ) IQ1=MQ-1 ! ! IF(V.LT.10.0) THEN ! IS1 =1. ! ELSE ! IS1 = MAX0(INT(2.+5.*LOG10(V/10.)),2) ! ENDIF ! IS2 = MIN0(IS1 + 1,MS) ! IF(IS2.EQ.MS) IS1=MS-1 IF(W.LT.B(2)) THEN IB1 =1. ELSE IB1 = MAX0(INT(2.+10.*LOG10(W/B(2))),2) ENDIF IB2 = MIN0(IB1 + 1,MB) IF(IB2.EQ.MB) IB1=MB-1 ! dx1 = LOG10(X/C(IC1)) ! logJ log[H2SO4] interpolation dx2 = LOG10(C(IC2)/X) dy1 = LOG10(Y/RH(JRH1)) dy2 = LOG10(RH(JRH2)/Y) dz1 = Z-T(KT1) dz2 = T(KT2)-Z du1 = U - Q(IQ1) du2 = Q(IQ2) - U ! dv1 = V- S(IS1) ! dv2 = S(IS2) - V dw1 = LOG10(W/B(IB1)) ! logJ log[H2SO4] interpolation dw2 = LOG10(B(IB2)/W) ! !JTIMN XJ1 = 0. XJ2 = 0. XR0 = 0. ! VOL = (dx1+dx2)*(dy1+dy2)*(dz1+dz2)*(du1+du2)*(dw1+dw2) VOL4 = (dx1+dx2)*(dy1+dy2)*(dz1+dz2)*(dw1+dw2) DO KT = KT1,KT2 IF(KT.EQ.KT1) THEN dz = dz2 ELSE dz = dz1 ENDIF DO JRH = JRH1,JRH2 IF(JRH.EQ.JRH1) THEN dy = dy2 ELSE dy = dy1 ENDIF DO IC = IC1,IC2 IF(IC.EQ.IC1) THEN dx = dx2 ELSE dx = dx1 ENDIF DO IB =IB1, IB2 IF(IB.EQ.IB1) THEN dw = dw2 ELSE dw = dw1 ENDIF FRACT4 = dx*dy*dz*dw/VOL4 XR0 = XR0 + FRACT4*XRSTAR(IC,JRH,KT,IB) DO IQ =IQ1, IQ2 IF(IQ.EQ.IQ1) THEN du = du2 ELSE du = du1 ENDIF FRACT = dx*dy*dz*du*dw/VOL XJ1 = XJ1 + FRACT*XJTIMN(IC,JRH,KT,IQ,1,IB) XJ2 = XJ2 + FRACT*XJTIMN(IC,JRH,KT,IQ,2,IB) ! WRITE(6,30)IC,JRH,KT,IQ,IB, ! & 10.**XJTIMN(IC,JRH,KT,IQ,1,IB), ! & 10.**XJTIMN(IC,JRH,KT,IQ,2,IB), FRACT ENDDO ENDDO ENDDO ENDDO ENDDO ! ! Log10J -->J XJ1 = 10.**XJ1 XJ2 = 10.**XJ2 ! Inetrpolate to get J at inputed S X1 = S(1) Y1 = XJ1 X2 = S(2) Y2 = XJ2 IF(Y1.GT.Y2) THEN YJ = Y1*(Y2/Y1)**((X1-V)/(X1-X2)) ELSE YJ=Y2 ENDIF XJTIM = YJ RTIM = XR0 ! WRITE(6,40)X1,X2,V,Y1,Y2,YJ !JBIM -- NH3=0 XJ1 = 0. XJ2 = 0. XR0 = 0. ! VOL = (dx1+dx2)*(dy1+dy2)*(dz1+dz2)*(du1+du2) VOL4 = (dx1+dx2)*(dy1+dy2)*(dz1+dz2) DO KT = KT1,KT2 IF(KT.EQ.KT1) THEN dz = dz2 ELSE dz = dz1 ENDIF DO JRH = JRH1,JRH2 IF(JRH.EQ.JRH1) THEN dy = dy2 ELSE dy = dy1 ENDIF DO IC = IC1,IC2 IF(IC.EQ.IC1) THEN dx = dx2 ELSE dx = dx1 ENDIF FRACT4 = dx*dy*dz/VOL4 XR0 = XR0 + FRACT4*XRSTAR(IC,JRH,KT,1) DO IQ =IQ1, IQ2 IF(IQ.EQ.IQ1) THEN du = du2 ELSE du = du1 ENDIF FRACT = dx*dy*dz*du/VOL XJ1 = XJ1 + FRACT*XJTIMN(IC,JRH,KT,IQ,1,1) XJ2 = XJ2 + FRACT*XJTIMN(IC,JRH,KT,IQ,2,1) ENDDO ENDDO ENDDO ENDDO ! ! Log10J -->J XJ1 = 10.**XJ1 XJ2 = 10.**XJ2 ! Inetrpolate to get J at inputed S X1 = S(1) Y1 = XJ1 X2 = S(2) Y2 = XJ2 IF(Y1.GT.Y2) THEN YJ = Y1*(Y2/Y1)**((X1-V)/(X1-X2)) ELSE ! When Y1 and Y2 both very small, Y1 can be LT Y2 becasue of cut-off or semi-equli approx, no extrapol YJ=Y2 ENDIF XJBIM = YJ RBIM = XR0 ! WRITE(6,40)X1,X2,V,Y1,Y2,YJ ! IF(XJBIM.GT.(1.1*XJTIM)) THEN ! WRITE(6,40)X,Y,Z,U,V,W,XJBIM,XJTIM,Y1,Y2,(X1-V)/(X1-X2) ! ENDIF !JTHN -- Q=0 XJ1 = 0. XJ2 = 0. XR0 = 0. ! VOL = (dx1+dx2)*(dy1+dy2)*(dz1+dz2)*(dw1+dw2) DO KT = KT1,KT2 IF(KT.EQ.KT1) THEN dz = dz2 ELSE dz = dz1 ENDIF DO JRH = JRH1,JRH2 IF(JRH.EQ.JRH1) THEN dy = dy2 ELSE dy = dy1 ENDIF DO IC = IC1,IC2 IF(IC.EQ.IC1) THEN dx = dx2 ELSE dx = dx1 ENDIF DO IB =IB1, IB2 IF(IB.EQ.IB1) THEN dw = dw2 ELSE dw = dw1 ENDIF FRACT = dx*dy*dz*dw/VOL XR0 = XR0 + FRACT*XRSTAR(IC,JRH,KT,IB) XJ1 = XJ1 + FRACT*XJTIMN(IC,JRH,KT,1,1,IB) XJ2 = XJ2 + FRACT*XJTIMN(IC,JRH,KT,1,2,IB) ENDDO ENDDO ENDDO ENDDO ! ! Log10J -->J XJ1 = 10.**XJ1 XJ2 = 10.**XJ2 ! Inetrpolate to get J at inputed S X1 = S(1) Y1 = XJ1 X2 = S(2) Y2 = XJ2 IF(Y1.GT.Y2) THEN YJ = Y1*(Y2/Y1)**((X1-V)/(X1-X2)) ELSE YJ=Y2 ENDIF XJTH = YJ RTH = XR0 !JBH, Q=0, NH3=0 XJ1 = 0. XJ2 = 0. XR0 = 0. VOL = (dx1+dx2)*(dy1+dy2)*(dz1+dz2) DO KT = KT1,KT2 IF(KT.EQ.KT1) THEN dz = dz2 ELSE dz = dz1 ENDIF DO JRH = JRH1,JRH2 IF(JRH.EQ.JRH1) THEN dy = dy2 ELSE dy = dy1 ENDIF DO IC = IC1,IC2 IF(IC.EQ.IC1) THEN dx = dx2 ELSE dx = dx1 ENDIF FRACT = dx*dy*dz/VOL XR0 = XR0 + FRACT*XRSTAR(IC,JRH,KT,1) XJ1 = XJ1 + FRACT*XJTIMN(IC,JRH,KT,1,1,1) XJ2 = XJ2 + FRACT*XJTIMN(IC,JRH,KT,1,2,1) ENDDO ENDDO ENDDO ! ! Log10J -->J XJ1 = 10.**XJ1 XJ2 = 10.**XJ2 ! Inetrpolate to get J at inputed S X1 = S(1) Y1 = XJ1 X2 = S(2) Y2 = XJ2 IF(Y1.GT.Y2) THEN YJ = Y1*(Y2/Y1)**((X1-V)/(X1-X2)) ELSE YJ=Y2 ENDIF XJBH = YJ RBH = XR0 ! 30 FORMAT(I3, I3, I3, I3, I3, 10(1PE10.3)) 40 FORMAT(20(1PE10.3)) END SUBROUTINE YUJTIMN1 !------------------------------------------------------------------------------ ! ***************************************************************************** ! IMNIMNIMNIMNIMNIMNIMNIMNIMNIMNIMNIMNIMNIMNIMNIMNIMNIMNIMNIMNIMNIMNIMNIMNIMNIM ! ***************************************************************************** SUBROUTINE READJTIMN(DATA_DIR_1x1a) ! ! WRITTEN by Fangqun Yu, SUNY-Albany, 2006 (Revised, 8/2008) ! ! Read in the integrated IMN and KBHN lookup tables. ! IMN lookup table references: ! 1. Yu, F., Ion-mediated nucleation in the atmosphere: Key controlling ! parameters, implications, and look-up table, J. Geophy. Res., 115, ! D03206, doi:10.1029/2009JD012630, 2010. ! ! KBHN lookup table reference: ! 2. Yu, F.,Updated H2SO4-H2O binary homogeneous nucleation rate look-up tables, ! J. Geophy. Res.,113, D24201, doi:10.1029/2008JD010527, 2008. ! CHARACTER(LEN=255) :: DATA_DIR_1x1a INTEGER :: IC, IRH, IT, IQ, IS ,IB REAL*8 :: C11,Q11,S11 ! CHARACTER*2 YPATH CHARACTER*999 YPATH DATA_DIR_1x1= DATA_DIR_1x1a YPATH = TRIM(DATA_DIR_1x1)//'APM_data_201906/TIMN_TROP201706/' ! YPATH = './' WRITE(6,*)"Read 6-D IMN look-up tables @ ", TRIM(YPATH) open(31,file=TRIM(YPATH)//'TIMN_J6D.txt',form='formatted') open(33,file=TRIM(YPATH)//'TIMN_Rstar4D.txt',form='formatted') open(41,file=TRIM(YPATH)//'TIMN_1H2SO4.txt',form='formatted') open(42,file=TRIM(YPATH)//'TIMN_2RH.txt',form='formatted') open(43,file=TRIM(YPATH)//'TIMN_3T.txt',form='formatted') open(44,file=TRIM(YPATH)//'TIMN_4Q.txt',form='formatted') open(45,file=TRIM(YPATH)//'TIMN_5S.txt',form='formatted') open(46,file=TRIM(YPATH)//'TIMN_6B.txt',form='formatted') ! READ(41,100)(C(IC),IC=1,MC) ! WRITE(6,*)"[H2SO4](IC), IC=1, ", MC, ":" ! WRITE(6,100)(C(IC),IC=1,MC) ! READ(42,100)(RH(IRH),IRH=1,MRH) ! WRITE(6,*)"RH(IRH), IRH=1, ", MRH, ":" ! WRITE(6,100)(RH(IRH),IRH=1,MRH) ! READ(43,100)(T(IT),IT=1,MT) ! WRITE(6,*)"T(IT), IT=1, ", MT, ":" ! WRITE(6,100)(T(IT),IT=1,MT) ! READ(44,100)(Q(IQ),IQ=1,MQ) ! WRITE(6,*)"Q(I), I=1, ", MQ, ":" ! WRITE(6,100)(Q(IQ),IQ=1,MQ) ! READ(45,100)(S(IS),IS=1,MS) ! WRITE(6,*)"S(IS), IS=1, ", MS, ":" ! WRITE(6,100)(S(IS),IS=1,MS) ! READ(46,100)(B(IB),IB=1,MB) ! Use the formula to calculate C and Q to get values with more digits, otherwise ! may cause problem when input C and Q are very clsoe to C(IC),Q(IQ) as ! IC and IQ are decided with formula ! C(1) = 5.0E5 C(MC) = 5.0E9 DO IC = 2, MC-2 C11 = C(IC) C(IC) = C(IC-1)*10.**(0.1) IF(abs(1.-C11/C(IC)).GT.0.02) THEN write(6,*)"need check JTIMN look-up table inputs" stop ENDIF ENDDO DO IQ = 1, MQ Q11 = Q(IQ) IF(IQ.EQ.1) THEN Q(1) =1.E-30 ELSEIF(IQ.EQ.MQ) THEN Q(MQ) =100. ELSE Q(IQ) = 2.0*1.5**float(IQ-2) ENDIF IF(abs(1.-Q11/Q(IQ)).GT.0.02) THEN write(6,*)"need check JTIMN look-up table inputs" stop ENDIF ENDDO ! DO IS = 1, MS ! S11 = S(IS) ! IF(IS.EQ.1) THEN ! S(1) =1.0 ! ELSE ! S(IS) = 10.*100.**(0.1*float(IS-2)) ! ENDIF ! IF(abs(1.-S11/S(IS)).GT.0.02) THEN ! write(6,*)"need check JTIMN look-up table inputs" ! stop ! ENDIF ! ENDDO ! ! READ in formatted 6-D Table ! Due to high sensitivity of J to key parameters, use logJ to interpolate ! DO IS =1, MS DO IT = 1,MT DO IRH = 1,MRH DO IQ =1, MQ DO IB =1, MB READ(31,201)(XJTIMN(IC,IRH,IT,IQ,IS,IB),IC = 1,MC) DO IC=1, MC XJTIMN(IC,IRH,IT,IQ,IS,IB)=LOG10(XJTIMN(IC,IRH,IT,IQ,IS,IB)) ENDDO ENDDO ENDDO ENDDO ENDDO ENDDO ! Critical cluster properties depend on T, RH, [H2SO4], NH3 only DO IT = 1,MT DO IRH = 1, MRH DO IB =1, MB READ(33,203)(XRSTAR(IC,IRH,IT,IB),IC=1,MC) ENDDO ! B ENDDO ! RH ENDDO !T CLOSE(31) CLOSE(33) CLOSE(41) CLOSE(42) CLOSE(43) CLOSE(44) CLOSE(45) CLOSE(46) ! 100 FORMAT(100(1PE10.3)) 200 FORMAT(100(1PE9.2)) 201 FORMAT(100(1PE9.2)) 202 FORMAT(100F5.1) 203 FORMAT(100F5.2) 204 FORMAT(100F6.3) END SUBROUTINE READJTIMN ! ***************************************************************************** ! IMNIMNIMNIMNIMNIMNIMNIMNIMNIMNIMNIMNIMNIMNIMNIMNIMNIMNIMNIMNIMNIMNIMNIMNIMNIM ! ***************************************************************************** ! !------------------------------------------------------------------------------ ! End of module END MODULE APM_TIMN_MOD #endif ================================================ FILE: APM/apm_albd_mod.F ================================================ #ifdef APM !************************************************************************ ! This is the module to read surface albedo from MODIS satellite data ! There are 7 spectral bands, i.e. ! band 1: 620-670 nm ! 2: 841-876 nm ! 3: 459-479 nm ! 4: 545-565 nm ! 5: 1230-1250 nm ! 6: 1628-1652 nm ! 7: 2105-2155 nm ! Written by ! Xiaoyan Ma ! SUNY-Albany ! 05/2011 !************************************************************************ MODULE APM_ALB_MOD implicit none ! Make everything PRIVATE ... PRIVATE ! ... except these variables ... PUBLIC :: APM_ALB !================================================================= ! MODULE VARIABLES !================================================================= contains !************************************************************************ SUBROUTINE APM_ALB(DAY_OF_YR,KYEAR,II,JJ,NBND,ALBD) ! ! !USES: ! USE APM_INIT_MOD, ONLY : DATA_DIR_1x1 IMPLICIT NONE ! Parameters INTEGER, INTENT(IN) :: DAY_OF_YR ! day of year INTEGER, INTENT(IN) :: KYEAR ! year INTEGER, INTENT(IN) :: II,JJ INTEGER, INTENT(IN) :: NBND ! INTEGER, PARAMETER :: NBND=7 ! spectral bands from MODIS ! INTEGER, PARAMETER :: IM=72 ! INTEGER, PARAMETER :: JM=46 REAL :: ALBD(II,JJ,NBND) CHARACTER(LEN=4) :: NYEAR CHARACTER(LEN=3) :: NDAY CHARACTER(LEN=255) :: FILENAME, YPATH INTEGER :: I, J, IB !================================================================= ! Read MODIS data from disk !================================================================= WRITE(NDAY,110) DAY_OF_YR 110 format(i3) WRITE(NYEAR,120) KYEAR 120 format(i4) ! !Yu+ put MODIS_ALB under APM_data for now !Ma+ add flexiblity for different year YPATH = TRIM(DATA_DIR_1x1)//'/APM_data_201906/MODIS_ALB/'// & NYEAR//'/' print*,'YPATH',TRIM(YPATH) ! Now prefix the data directory IF(II.EQ.72.and.JJ.EQ.46)THEN FILENAME = 'modis_surface_albedo_4x5_'//NYEAR//NDAY if(filename(30:30).eq.' ') filename(30:30) = '0' if(filename(31:31).eq.' ') filename(31:31) = '0' ELSEIF(II.EQ.144.and.JJ.EQ.91)THEN FILENAME = 'modis_surface_albedo_2x2.5_'//NYEAR//NDAY if(filename(32:32).eq.' ') filename(32:32) = '0' if(filename(33:33).eq.' ') filename(33:33) = '0' ELSE WRITE(6,*) "APM_ALBD_mod.f: Need to check" STOP ENDIF ! if(filename(29:29).eq.' ') filename(29:29) = '0' ! if(filename(30:30).eq.' ') filename(30:30) = '0' print*,'FILENAME',NYEAR,NDAY,FILENAME !----------------------------- ! MODIS surface albedo !----------------------------- ! Read data open(10,file=TRIM(YPATH)//FILENAME, status='old') do IB = 1, NBND do I = 1, II read(10,100) (ALBD(I,J,IB),J=1,JJ) c print*,'ALBD_MOD',IB,I c write(*,100) (ALBD(I,J,IB),J=1,JJ) 100 format(10f10.3) enddo enddo close(10) END SUBROUTINE APM_ALB ! ***************************************************************************** END MODULE APM_ALB_MOD !---------------------------------------------------------------------------------- #endif ================================================ FILE: APM/apm_coag_mod.F90 ================================================ #ifdef APM !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: apm_coag_mod ! ! !DESCRIPTION: Module APM\_COAG\_MOD contains variables and routines for ! coagulation calculation. !\\ !\\ ! !INTERFACE: ! MODULE APM_COAG_MOD ! ! !USES: ! IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: APM_COAG PUBLIC :: APM_COAGSCAV PUBLIC :: READCK6DTABLE PUBLIC :: YCOAGKERN_TABLE ! ! !PRIVATE MEMBER FUNCTIONS: ! ! !REVISION HISTORY: ! 28 Nov 2008 - F. Yu - Initial version ! 08 Nov 2010 - R. Yantosca - Added ProTeX headers !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! MR1 : Number of points in 1st particle radius dimension ! MD1 : Number of points in 1st particle density dimension ! MR2 : Number of points in 2nd particle radius dimension ! MD2 : Number of points in 2nd particle density dimension ! MT : Number of points in temperature dimension ! MP : Number of points in pressure dimension INTEGER, PRIVATE, PARAMETER :: MR1=128 ! INTEGER, PRIVATE, PARAMETER :: MD1=5 INTEGER, PRIVATE, PARAMETER :: MD1=3 INTEGER, PRIVATE, PARAMETER :: MR2=128 ! INTEGER, PRIVATE, PARAMETER :: MD2=5 INTEGER, PRIVATE, PARAMETER :: MD2=3 INTEGER, PRIVATE, PARAMETER :: MT =8 INTEGER, PRIVATE, PARAMETER :: MP =21 ! ! !LOCAL VARIABLES: ! ! R1 : Values at points in 1st particle radius dimension ! D1 : Values at points in 1st particle density dimension ! R2 : Values at points in 2nd particle radius dimension ! D2 : Values at points in 2nd particle density dimension ! T : Values at points in temperature dimension ! P : Values at points in pressure dimension ! XCK : Coagulation kernel (cm3/s) AT ALL POINTS IN 6-D SPACE REAL*8, PRIVATE :: R1(MR1) REAL*8, PRIVATE :: DEN1(MD1) REAL*8, PRIVATE :: R2(MR2) REAL*8, PRIVATE :: DEN2(MD2) REAL*8, PRIVATE :: T(MT) REAL*8, PRIVATE :: P(MP) REAL*8, PRIVATE :: XCK8(MP) REAL, PRIVATE :: XCK(MR1,MD1,MR2,MD2,MT,MP) CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: apm_coag ! ! !DESCRIPTION: Coagulation solver (by Fangqun Yu, UAlbany, 2006, updated 2008) !\\ !\\ ! !INTERFACE: ! SUBROUTINE APM_COAG( ITYPE, NMAX, YT, PMB, DT, R, DEN, XN, XVA ) ! ! !USES: ! USE APM_INIT_MOD, ONLY : VDRY USE APM_INIT_MOD, ONLY : VSALT USE APM_INIT_MOD, ONLY : VBCOC USE APM_INIT_MOD, ONLY : COAGPAR USE APM_INIT_MOD, ONLY : COAGPARSS USE APM_INIT_MOD, ONLY : COAGPBCOC ! ! !INPUT PARAMETERS: ! ! ITYPE = 1: Coagulation among sulfate particles ! = 2: Coagulation among sea salt particles INTEGER :: ITYPE ! Number of bins resolved for the specified type of particles INTEGER :: NMAX ! Temperature (K) REAL*8 :: YT ! Pressure (mb) REAL*8 :: PMB ! Time step (s) REAL*8 :: DT ! ! !INPUT/OUTPUT PARAMETERS: ! ! Particle wet/total radius (cm) REAL*8 :: R(NMAX) ! Density of particles (g/cm3) REAL*8 :: DEN ! Number size distribution (#/cm3) REAL*8 :: XN(NMAX) ! Volume distribution of all components (cm3/cm3) REAL*8 :: XVA(NMAX) ! ! !REMARKS: ! COAGPAR = (Partition Fractions) ! BEITA = Coagulation Kernels ! ! !REVISION HISTORY: ! 28 Nov 2008 - F. Yu - Initial version ! 08 Nov 2010 - R. Yantosca - Added ProTeX headers !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! INTEGER, PARAMETER :: NC = 1 ! ! !LOCAL VARIABLES: ! INTEGER :: N, IC, I, J, K REAL*8 :: XV(NMAX,NC) REAL*8 :: XN0(NMAX),XV0(NMAX,NC) REAL*8 :: BEITA(NMAX,NMAX),YCOAGPAR(NMAX,NMAX,NMAX),VDRY1(NMAX) REAL*8 :: YLOSS, YPRODVA(NC),TOTC REAL*8 :: R1,R2,YCK1 ! IF(ITYPE.EQ.1) THEN ! sulfate YCOAGPAR(:,:,:) = COAGPAR(:,:,:) VDRY1(:) = VDRY ELSEIF(ITYPE.EQ.2) THEN ! seasalt YCOAGPAR(:,:,:) = COAGPARSS(:,:,:) VDRY1(:) = VSALT ELSEIF(ITYPE.EQ.4) THEN ! BC YCOAGPAR(:,:,:) = COAGPBCOC(:,:,:) VDRY1(:) = VBCOC ELSEIF(ITYPE.EQ.5) THEN ! OC YCOAGPAR(:,:,:) = COAGPBCOC(:,:,:) VDRY1(:) = VBCOC ELSE WRITE(6,*)"STOP AT COAG, check ITYPE" STOP ENDIF ! Find coagulation Kernels DO I = 1, NMAX R1 = R(I) DO J = I, NMAX R2 = R(J) CALL YCOAGKERN_TABLE(R1,DEN,R2,DEN,YT,PMB,YCK1) !Use lookup table to find YCK BEITA(I,J) = YCK1 BEITA(J,I) = BEITA(I,J) ENDDO ENDDO DO N=1,NMAX XV(N,1) = XVA(N) ! to be modified if NC>1 ENDDO ! DO N = 1, NMAX XN0(N) = XN(N) DO IC=1,NC XV0(N,IC) = XV(N,IC) ENDDO ENDDO ! DO i = 1, NMAX YLOSS = 0. DO j = 1, NMAX YLOSS=YLOSS + XN0(j)*BEITA(j,i)*(1.-YCOAGPAR(i,j,i)) ENDDO DO IC=1,NC YPRODVA(IC) = 0. DO j = 1, i DO k = 1, i-1 IF(YCOAGPAR(j,k,i).GT.0.) THEN YPRODVA(IC)=YPRODVA(IC) + BEITA(j,k)*XN0(j) & *XV(k,IC)*YCOAGPAR(j,k,i) ENDIF ENDDO ENDDO XV(i,IC)=(XV0(i,IC)+YPRODVA(IC)*DT)/(1.+YLOSS*DT) ENDDO ENDDO ! DO N=1,NMAX ! XVA(N) = XV(N,1) ! to be modified if NC>1 XVA(N) = MAX(XV(N,1),1.d-40) ! to be modified if NC>1 ENDDO ! ! Recalculate XN from XV ! DO I=1,NMAX TOTC = 0. DO IC = 1, NC TOTC = TOTC + XV(I,IC) ENDDO XN(I) = TOTC/(1.E6*VDRY1(I)) ! TOTC in cm3/cm3, VDRY in m3,XN in #/cm3 ENDDO ! !Mass cons. check ! ! DO IC=1,NC ! ZPRODVA(IC)=0. ! ZTOTVA(IC)=0. ! ENDDO ! DO i = 1, NMAX ! DO IC=1,NC ! ZTOTVA(IC)=ZTOTVA(IC)+XV(i,IC) ! ZPRODVA(IC)=ZPRODVA(IC)+(XV(i,IC)-XV0(i,IC)) ! ENDDO ! ENDDO ! ! DO IC=1,NC ! write(95+IC,100)IC,ZTOTVA(IC),ZPRODVA(IC) ! ENDDO ! 100 FORMAT(I3,5(1PE12.4)) 110 FORMAT(100(1E9.2)) ! END SUBROUTINE APM_COAG !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: apm_coagscav ! ! !DESCRIPTION: Subroutine to calculate the scavenging of secondary ! particles by primary aerosols !\\ !\\ ! !INTERFACE: ! SUBROUTINE APM_COAGSCAV( TK, PMB, DT, DENWET, & RWETCM, YCS, RLOSULF, DENSALTWET, & RSALTWETCM, XNSALT, & DENBCWET,RBCWET,XNBC, & DENOCWET,ROCWET,XNOC, & DENAER, XNDST, XVA, MBCS, & MOCS, MDUSTS, MSALTS, MBCLV, & MOCLV, MDSTLV, MSALTLV ) !inout ! ! !USES: ! USE APM_INIT_MOD, ONLY : DENSULF USE APM_INIT_MOD, ONLY : RDST USE APM_INIT_MOD, ONLY : NSO4 USE APM_INIT_MOD, ONLY : NSEA USE APM_INIT_MOD, ONLY : NDSTB USE APM_INIT_MOD, ONLY : NTYP USE APM_INIT_MOD, ONLY : NBCOC ! ! !INPUT PARAMETERS: ! REAL*8 :: TK REAL*8 :: PMB REAL*8 :: DT ! ! !INPUT/OUTPUT PARAMETERS: ! REAL*8 :: DENWET REAL*8 :: RWETCM(NSO4) REAL*8 :: YCS(NTYP) REAL*8 :: RLOSULF REAL*8 :: DENSALTWET REAL*8 :: RSALTWETCM(NSEA) REAL*8 :: XNSALT(NSEA) REAL*8 :: DENBCWET REAL*8 :: RBCWET(NBCOC) REAL*8 :: XNBC(NBCOC) REAL*8 :: DENOCWET REAL*8 :: ROCWET(NBCOC) REAL*8 :: XNOC(NBCOC) REAL*8 :: DENAER(NTYP) REAL*8 :: XNDST(NDSTB) REAL*8 :: XVA(NSO4) REAL*8 :: MBCS ! mass of sulfate coated on BC REAL*8 :: MOCS ! mass of sulfate coated on OC REAL*8 :: MDUSTS ! mass of sulfate coated on dust REAL*8 :: MSALTS ! mass of sulfate coated on sea salt REAL*8 :: MSULFLV ! mass of LV-SOA coated on primary particles REAL*8 :: MBCLV ! mass of LV-SOA coated on primary particles REAL*8 :: MOCLV ! mass of LV-SOA coated on primary particles REAL*8 :: MDSTLV ! mass of LV-SOA coated on primary particles REAL*8 :: MSALTLV ! mass of LV-SOA coated on primary particles ! ! !REVISION HISTORY: ! 28 Nov 2008 - F. Yu - Initial version ! 08 Nov 2010 - R. Yantosca - Added ProTeX headers !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: NI,NA,NJ REAL*8 :: YR1,YR2,YDEN2,YCK1 REAL*8 :: AERLOSS(NSO4) REAL*8 :: AERLOSSBC(NSO4), AERLOSSOC(NSO4) REAL*8 :: AERLOSSDST(NSO4), AERLOSSSALT(NSO4) REAL*8 :: TOTV,TOTVLOSS,XDV,LOSSRATIO REAL*8 :: TOTVLOSSBC, TOTVLOSSOC, TOTVLOSSDST, TOTVLOSSSALT DO NI=1,NSO4 AERLOSS(NI) =1.E-20 AERLOSSBC(NI) =1.E-30 AERLOSSOC(NI) =1.E-30 AERLOSSDST(NI) =1.E-30 AERLOSSSALT(NI) =1.E-30 ENDDO DO NA = 2,NTYP ! first type is secondary particles IF(YCS(NA).GT.1.E-5) THEN ! only when primary particles is substantial IF(NA.EQ.2) THEN ! sea salt YDEN2 = DENSALTWET DO NJ=1,NSEA YR2 = RSALTWETCM(NJ) DO NI=1,NSO4 YR1 = RWETCM(NI) IF(YR1.LT.YR2) THEN ! only allow scavenging of sulfate particles by bigger particles CALL YCOAGKERN_TABLE(YR1,DENWET,YR2,YDEN2,TK,PMB,YCK1) !Use lookup table to find YCK AERLOSSSALT(NI) = AERLOSSSALT(NI) + YCK1*XNSALT(NJ) !s-1 ENDIF ENDDO ENDDO DO NI=1,NSO4 AERLOSS(NI) = AERLOSS(NI) + AERLOSSSALT(NI) ENDDO ELSEIF(NA.EQ.3) THEN !dust YDEN2 = DENAER(NA) !for now, didn't consider effect of coating (typically small) DO NJ=1,NDSTB YR2 = RDST(NJ)*100. ! RDST in m, YR2 in cm DO NI=1,NSO4 YR1 = RWETCM(NI) IF(YR1.LT.YR2) THEN ! only allow scavenging of sulfate particles by bigger particles CALL YCOAGKERN_TABLE(YR1,DENWET,YR2,YDEN2,TK,PMB,YCK1) !Use lookup table to find YCK AERLOSSDST(NI) = AERLOSSDST(NI) + YCK1*XNDST(NJ) !s-1 ENDIF ENDDO ENDDO DO NI=1,NSO4 AERLOSS(NI) = AERLOSS(NI) + AERLOSSDST(NI) ENDDO ELSEIF(NA.EQ.4) THEN !BC YDEN2 = DENBCWET DO NJ=1,NBCOC YR2 = RBCWET(NJ) DO NI=1,NSO4 YR1 = RWETCM(NI) IF(YR1.LT.YR2) THEN ! only allow scavenging of sulfate particles by bigger BC particles CALL YCOAGKERN_TABLE(YR1,DENWET,YR2,YDEN2,TK,PMB,YCK1) AERLOSSBC(NI) = AERLOSSBC(NI) + YCK1*XNBC(NJ) !s-1 ENDIF ENDDO ENDDO DO NI=1,NSO4 AERLOSS(NI) = AERLOSS(NI) + AERLOSSBC(NI) ENDDO ELSEIF(NA.EQ.5) THEN !OC YDEN2 = DENOCWET DO NJ=1,NBCOC YR2 = ROCWET(NJ) DO NI=1,NSO4 YR1 = RWETCM(NI) IF(YR1.LT.YR2) THEN ! only allow scavenging of sulfate particles by bigger OC particles CALL YCOAGKERN_TABLE(YR1,DENWET,YR2,YDEN2,TK,PMB,YCK1) AERLOSSOC(NI) = AERLOSSOC(NI) + YCK1*XNOC(NJ) !s-1 ENDIF ENDDO ENDDO DO NI=1,NSO4 AERLOSS(NI) = AERLOSS(NI) + AERLOSSOC(NI) ENDDO ENDIF ENDIF ENDDO TOTV = 1.E-50 TOTVLOSS = 1.d-50 TOTVLOSSBC = 1.d-50 TOTVLOSSOC = 1.d-50 TOTVLOSSDST = 1.d-50 TOTVLOSSSALT = 1.d-50 DO NI=1,NSO4 TOTV = TOTV + XVA(NI) XDV = XVA(NI)*(1.-exp(-AERLOSS(NI)*DT)) XVA(NI) = XVA(NI) - XDV IF(XVA(NI).LT.1.d-40)XVA(NI)=1.d-40 TOTVLOSS = TOTVLOSS + XDV TOTVLOSSBC = TOTVLOSSBC + XDV*AERLOSSBC(NI)/AERLOSS(NI) TOTVLOSSOC = TOTVLOSSOC + XDV*AERLOSSOC(NI)/AERLOSS(NI) TOTVLOSSDST = TOTVLOSSDST + XDV*AERLOSSDST(NI)/AERLOSS(NI) TOTVLOSSSALT = TOTVLOSSSALT + XDV*AERLOSSSALT(NI)/AERLOSS(NI) ENDDO LOSSRATIO = (TOTVLOSSBC + TOTVLOSSOC)/TOTVLOSS ! SULFATE and LVSOA MASS scavenged by BC and OC, ! RLOSULF is ratio of LVSOA to (LVSOA+SULF) ! TOTVLOSSBC in cm3/cm3 MBCS in kg/m3 MBCS = MBCS + (1.-RLOSULF)*TOTVLOSSBC * DENSULF*1.d3 ! MBCLV in kg/m3 MBCLV = MBCLV + RLOSULF*TOTVLOSSBC * DENSULF*1.d3 ! TOTVLOSSOC in cm3/cm3 MOCS in kg/m3 MOCS = MOCS + (1.-RLOSULF)*TOTVLOSSOC * DENSULF*1.d3 ! TOTVLOSSOC in cm3/cm3 MOCLV in kg/m3 MOCLV = MOCLV + RLOSULF*TOTVLOSSOC * DENSULF*1.d3 ! TOTVLOSSDUST in cm3/cm3 MDUSTS in kg/m3 MDUSTS = MDUSTS + (1.-RLOSULF)*TOTVLOSSDST * DENSULF*1.d3 ! TOTVLOSSDUST in cm3/cm3 MDSTLV in kg/m3 MDSTLV = MDSTLV + RLOSULF*TOTVLOSSDST * DENSULF*1.d3 ! TOTVLOSSSALT in cm3/cm3 MSALTS in kg/m3 MSALTS = MSALTS + (1.-RLOSULF)*TOTVLOSSSALT * DENSULF*1.d3 ! TOTVLOSSSALT in cm3/cm3 MSALTLV in kg/m3 MSALTLV = MSALTLV + RLOSULF*TOTVLOSSSALT * DENSULF*1.d3 ! IF(MDSTLV.GT.1.d-8.or.MSALTLV.GT.1.d-8) THEN IF(MDSTLV.GT.1.d-7.or.MSALTLV.GT.1.d-7) THEN WRITE(6,*)"11101",RLOSULF,TOTVLOSSDST, & TOTVLOSSSALT,MDSTLV,MSALTLV ENDIF END SUBROUTINE APM_COAGSCAV !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ycoagkern_table ! ! !DESCRIPTION: This subroutine is to calculate coagulation kernels of two ! particles from lookup tables (No interpolation is needed because the table ! has high enough resolution in each dimension) !\\ !\\ ! !INTERFACE: ! SUBROUTINE YCOAGKERN_TABLE( X, Y, Z, U, V, W, YCK ) ! ! !INPUT PARAMETERS: ! REAL*8 :: X ! Radius of first particle in cm (6.0E-8 - 1.0E-3) REAL*8 :: Y ! Density of first particle in g/cm3 (1.0-2.8) REAL*8 :: Z ! Radius of second particle in cm (6.0E-8 - 1.0E-3) REAL*8 :: U ! Density of second particle in g/cm3 (1.0-2.8) REAL*8 :: V ! T (in K) (180-320) REAL*8 :: W ! P (in mb) (10-1020) ! ! !OUTPUT PARAMETERS: ! REAL*8 :: YCK ! Coagulation kernel (cm3/s) ! ! !REMARKS: ! WRITTEN by Fangqun Yu, SUNY-Albany, 2008 ! ! !REVISION HISTORY: ! 28 Aug 2008 - F. Yu - Initial version ! 08 Nov 2010 - R. Yantosca - Added ProTeX headers !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! REAL*8, PARAMETER :: DRN = 30. ! bin per decade in R space ! ! !LOCAL VARIABLES: ! INTEGER :: IX1, IY1, IZ1, IU1, IV1, IW1 ! ! The lookup tables should cover most of possible values in the atmosphere. ! ! DRN points per decade of R space IX1 =MAX0(INT(1.5+DRN*DLOG10(X/R1(1))),1) IX1 = MIN0(IX1,MR1) ! WRITE(6,100)IX1,X,R1(IX1-1),R1(IX1),R1(IX1+1) ! IY1 = MAX0(INT(0.5+(Y-DEN1(1))/0.4)+1,1) IY1 = MAX0(INT(0.5+(Y-DEN1(1))/0.8)+1,1) IY1 = MIN0(IY1,MD1) ! WRITE(6,100)IY1,Y,DEN1(IY1-1),DEN1(IY1),DEN1(IY1+1) ! DRN points per decade of R space IZ1 =MAX0(INT(1.5+DRN*DLOG10(Z/R2(1))),1) IZ1 = MIN0(IZ1,MR2) ! WRITE(6,100)IZ1,Z,R2(IZ1-1),R2(IZ1),R2(IZ1+1) ! IU1 = MAX0(INT(0.5+(U-DEN2(1))/0.4)+1,1) IU1 = MAX0(INT(0.5+(U-DEN2(1))/0.8)+1,1) IU1 = MIN0(IU1,MD2) ! WRITE(6,100)IU1,U,DEN2(IU1-1),DEN2(IU1),DEN2(IU1+1) IV1 = MAX0(INT(0.5+(V-T(1))/20.0)+1,1) IV1 = MIN0(IV1,MT) ! WRITE(6,100)IV1,V,T(IV1-1),T(IV1),T(IV1+1) ! 10 per decade of P space IW1 = MAX0(INT(1.5+10.*DLOG10(W/P(1))),1) IW1 = MIN0(IW1,MP) ! WRITE(6,100)IW1,W,P(IW1-1),P(IW1),P(IW1+1) YCK = DBLE(XCK(IX1,IY1,IZ1,IU1,IV1,IW1)) 100 FORMAT(I4,10(1PE10.3)) END SUBROUTINE YCOAGKERN_TABLE !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: readck6dtable ! ! !DESCRIPTION: !\\ !\\ ! !INTERFACE: ! SUBROUTINE READCK6DTABLE ! ! !USES: ! USE APM_INIT_MOD, ONLY : DATA_DIR_1x1 ! ! !REMARKS: ! WRITTEN by Fangqun Yu, SUNY-Albany, 2008 ! ! ! !REVISION HISTORY: ! 28 Aug 2008 - F. Yu - Initial version ! 08 Nov 2010 - R. Yantosca - Added ProTeX headers !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: IR1,ID1,IR2,ID2,IT,IP REAL*8 :: DRN, YY CHARACTER*999 YPATH YPATH = TRIM(DATA_DIR_1x1)//'/APM_data_201906/YCK140609/' WRITE(6,*)"Read coagulation kernel look-up tables" open(41,file=TRIM(YPATH)//'Yu_CK_1R1.txt',form='formatted') open(42,file=TRIM(YPATH)//'Yu_CK_2D1.txt',form='formatted') open(43,file=TRIM(YPATH)//'Yu_CK_3R2.txt',form='formatted') open(44,file=TRIM(YPATH)//'Yu_CK_4D2.txt',form='formatted') open(45,file=TRIM(YPATH)//'Yu_CK_5T.txt',form='formatted') open(46,file=TRIM(YPATH)//'Yu_CK_6P.txt',form='formatted') open(47,file=TRIM(YPATH)//'Yu_CK_7CK.txt',form='formatted') ! READ(41,100)(R1(IR1),IR1=1,MR1) WRITE(6,*)"R1(I), I=1, ", MR1, ":" WRITE(6,100)(R1(IR1),IR1=1,MR1) ! READ(42,100)(DEN1(ID1),ID1=1,MD1) WRITE(6,*)"DEN1(I), I=1, ", MD1, ":" WRITE(6,100)(DEN1(ID1),ID1=1,MD1) ! READ(43,100)(R2(IR2),IR2=1,MR2) WRITE(6,*)"R2(I), I=1, ", MR2, ":" WRITE(6,100)(R2(IR2),IR2=1,MR2) ! READ(44,100)(DEN2(ID2),ID2=1,MD2) WRITE(6,*)"DEN2(I), I=1, ", MD2, ":" WRITE(6,100)(DEN2(ID2),ID2=1,MD2) ! READ(45,100)(T(IT),IT=1,MT) WRITE(6,*)"T(I), I=1, ", MT, ":" WRITE(6,100)(T(IT),IT=1,MT) ! READ(46,100)(P(IP),IP=1,MP) WRITE(6,*)"P(I), I=1, ", MP, ":" WRITE(6,100)(P(IP),IP=1,MP) ! ! Use the formula to calculate parameters to get values with more digits, ! otherwise may cause problem when input values are very clsoe to the ! parameter values as formula is used to determine the location of inputted ! values. Also serve as a double check to make sure the consisistency in ! parameter spaces. ! DRN = 30. R1(1) = 6.0E-8 ! cm DO IR1 = 2, MR1 YY = R1(IR1) R1(IR1)=R1(1)*10.**(float(IR1-1)/DRN) IF(abs(1.-YY/R1(IR1)).GT.0.02) THEN write(6,*)"need check CK look-up table R1 inputs" stop ENDIF ENDDO DEN1(1) = 1.0 !g/cm3 DO ID1 = 2, MD1 YY = DEN1(ID1) DEN1(ID1) = DEN1(1)+0.8*float(ID1-1) IF(abs(1.-YY/DEN1(ID1)).GT.0.02) THEN write(6,*)"need check CK look-up table DEN1 inputs" stop ENDIF ENDDO R2(1) = 6.0E-8 ! cm DO IR2 = 2, MR2 YY = R2(IR2) R2(IR2)=R2(1)*10.**(float(IR2-1)/DRN) IF(abs(1.-YY/R2(IR2)).GT.0.02) THEN write(6,*)"need check CK look-up table R2 inputs" stop ENDIF ENDDO DEN2(1) = 1.0 !g/cm3 DO ID2 = 2, MD2 YY = DEN2(ID2) DEN2(ID2) = DEN2(1)+0.8*float(ID2-1) IF(abs(1.-YY/DEN2(ID2)).GT.0.02) THEN write(6,*)"need check CK look-up table DEN2 inputs" stop ENDIF ENDDO T(1) = 180. !k DO IT = 2, MT YY = T(IT) T(IT) = T(1)+20.*float(IT-1) IF(abs(1.-YY/T(IT)).GT.0.02) THEN write(6,*)"need check CK look-up table T inputs" stop ENDIF ENDDO P(1) = 10. ! mb DO IP = 2, MP YY = P(IP) P(IP) = P(1) * 10.**(0.1*float(IP-1)) IF(abs(1.-YY/P(IP)).GT.0.02) THEN write(6,*)"need check CK look-up table P inputs" stop ENDIF ENDDO ! ! Read in the 6-D Table ! DO IR1 = 1, MR1 DO ID1 = 1, MD1 DO IR2 = 1, MR2 DO ID2 = 1, MD2 DO IT = 1, MT READ(47,100)(XCK8(IP),IP=1,MP) DO IP=1,MP XCK(IR1,ID1,IR2,ID2,IT,IP)=REAL(XCK8(IP)) ENDDO ENDDO ENDDO ENDDO ENDDO ENDDO ! 100 FORMAT(1PE8.2,200(1PE9.2)) CLOSE(41) CLOSE(42) CLOSE(43) CLOSE(44) CLOSE(45) CLOSE(46) CLOSE(47) ! END SUBROUTINE READCK6DTABLE !EOC END MODULE APM_COAG_MOD #endif ================================================ FILE: APM/apm_grow_mod.F ================================================ #ifdef APM !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: apm_grow_mod ! ! !DESCRIPTION: Module APM\_GROW\_MOD contains variables and routines for ! computing size-resolved particle growth. !\\ !\\ ! !INTERFACE: ! MODULE APM_GROW_MOD ! ! !USES: ! IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: APM_GROW PUBLIC :: APM_MOVEBIN ! !REVISION HISTORY: ! 23 Aug 2008 - F. Yu - Initial version ! 08 Nov 2010 - R. Yantosca - Added ProTeX headers !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: apm_grow ! ! !DESCRIPTION: Subroutine APM\_GROW calculates H2SO4 condensational growth ! of aerosol particles !\\ !\\ ! !INTERFACE: ! SUBROUTINE APM_GROW( ICOND, NSO4, TK, & PRESS, CCOND, PCOND, & TCSOTHER, DTNG, XN, & XVA, RWETCM, TOTCONDOTHER, & XMCOND ) ! ! !USES: ! USE APM_INIT_MOD, ONLY: DENSULF, RDRY USE APM_INIT_MOD, ONLY: ONEPI, BK, AVG, RGAS ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER :: NSO4 ! Dimension variable REAL*8 :: TK ! Temperature (K) REAL*8 :: PRESS ! Pressure (pa) REAL*8 :: PCOND ! Condensable vapor production rate (#/cm3s) REAL*8 :: DTNG ! Time detp for growth (s) REAL*8 :: XN(NSO4) ! Number conc of each bin (#/cm3) REAL*8 :: XVA(NSO4) ! Total acid volume of each bin (cm3/cm3) ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER :: ICOND REAL*8 :: CCOND ! Condensable vapor concentration (#/cm3) REAL*8 :: TCSOTHER REAL*8 :: RWETCM(NSO4) REAL*8 :: TOTCONDOTHER REAL*8 :: XMCOND ! ! !REMARKS: ! Output: ! updated XMA, CCOND ! ! !REVISION HISTORY: ! 17 Mar 2010 - F. Yu - Initial version ! 08 Nov 2010 - R. Yantosca - Added ProTeX headers !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: N, NMAX REAL*8 :: XMA(NSO4) REAL*8 :: YF(NSO4),YGR(NSO4),AKELV(NSO4) REAL*8 :: CSCOND,YFSUM1 REAL*8 :: V1COND,VCOND,TEMP0,WTGAS REAL*8 :: WTAIR,DIAMAIR,RHOA,CDIFUS,CDIFUS2,DIFUSC,FREEPD REAL*8 :: YY,YKN,FCORR,TEMP1,YFSUM,YEVAP REAL*8 :: YEVAPV,CCOND1,CCONDA,TOTEVAP,YGRSUM,YDV,TOTCOND REAL*8 :: XRCM REAL*8 :: DENCOND,AKELV0,SURFT,YTEMP1 REAL*8 :: DVA(NSO4) !================================================================= ! APM_GROW begins here! !================================================================= ! DENCOND = DENSULF IF(ICOND.EQ.1) THEN !H2SO4 CSCOND = 1.E4 ! no acid evap now AKELV0 = CCOND/CSCOND IF(AKELV0.LT.1.2) RETURN AKELV =1. !APM2++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ELSEIF(ICOND.EQ.2) THEN ! LV-SOG SURFT = 30. !erg/cm2 !Yu20111015 CSCOND = 3.3E6 ! CSCOND = 1.0E6 ! ! RORG0 : organic activation radius (in cm) ! RORG0 =ALOG(CCOND/CSCOND)*DENCOND*RGAS*TK/(2.*SURFT*XMORG) ! AKELV0 = exp(2.*SURFT*XMCOND/(DENCOND*RGAS*TK*RORG0)) AKELV0 = CCOND/CSCOND IF(AKELV0.LE.1.2) RETURN DO N = 1, NSO4 XRCM = RWETCM(N) ! RWETCM in cm AKELV(N) = exp(2.*SURFT*XMCOND/(DENCOND*RGAS*TK*XRCM)) ENDDO !APM2++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ELSE WRITE(6,*)"NEED to check ICOND value" STOP ENDIF V1COND = XMCOND/(AVG*DENCOND) ! volume of one molecule (cm3) VCOND = SQRT(8.*RGAS*TK/(ONEPI*XMCOND)) ! cm/s TEMP0 = VCOND * XMCOND/AVG *ONEPI ! Cal. gas diffusion coef. and mean free path ! WTGAS = XMCOND WTAIR = 28.966 DIAMAIR = 4.5E-08 RHOA = WTAIR*PRESS*10./(RGAS*TK) ! AIR DENSITY (G CM-3) CDIFUS =3.*SQRT(0.5*RGAS*WTAIR/ONEPI)/(AVG*8.*DIAMAIR**2) CDIFUS2=CDIFUS * SQRT((WTGAS+WTAIR)/WTGAS) DIFUSC=CDIFUS2 * SQRT(TK)/RHOA FREEPD = 3.*DIFUSC/VCOND ! YF = 0. YFSUM = 0. YY = PCOND DO N = 1, NSO4 XRCM = RWETCM(N) ! RWETCM in cm YKN = FREEPD/XRCM FCORR = YKN/(0.75+YKN) TEMP1 = TEMP0*FCORR IF(AKELV(N).LT.AKELV0) THEN TEMP1 = TEMP1 *(1.-AKELV(N)/AKELV0) ELSE TEMP1 = 0. ! no evapor for now ENDIF YF(N) = TEMP1 * XN(N) *XRCM*XRCM/(DENCOND*V1COND) ! s-1 YFSUM = YFSUM + YF(N) ! YEVAP = CSCOND*AKELV*YF(N) ! in #/cm3s ! YEVAPV = YEVAP*DTNG*V1COND ! in cm3/cm3 ! IF(YEVAPV.GT. XVA(N)) THEN ! YEVAP = XVA(N)/(DTNG*V1COND) ! ENDIF ! YY = YY + YEVAP ENDDO IF(YFSUM.EQ.0.) THEN WRITE(6,100)AKELV0,(AKELV(N),N=1,NSO4,5) WRITE(6,100)FCORR,(YF(N),N=1,NSO4,5) STOP ENDIF ! Consider scavenging of H2SO4 vapor by aerosols other than sulfate YFSUM1 = YFSUM + TCSOTHER CCOND1 = YY/YFSUM1 + (CCOND - YY/YFSUM1)*exp(-YFSUM1*DTNG) CCONDA = 0.5 * (CCOND1 + CCOND) TOTEVAP = 0. ! YGRSUM = 0. ! DO N = 1, NSO4 ! YGR(N) = YF(N)*(CCONDA - CSCOND*AKELV) ! IF(YGR(N).LT.0.) THEN ! YDV = -YGR(N)*DTNG*V1COND !cm3 ! IF(YDV.GT.XVA(N)) THEN ! TOTEVAP = TOTEVAP + XVA(N) ! XVA(N) = 1.E-50 ! ELSE ! XVA(N) = XVA(N) - YDV ! TOTEVAP = TOTEVAP + YDV ! ENDIF ! ELSE ! YGRSUM = YGRSUM + YGR(N) ! ENDIF ! ENDDO ! TOTCOND=PCOND*DTNG+(CCOND-CCOND1)+TOTEVAP/V1COND ! #/cm3 ! H2SO4 vapor condensing on particles other than sulfate TOTCONDOTHER = TOTCOND * (1.-YFSUM/YFSUM1) ! H2SO4 vapor condensing on sulfate TOTCOND = TOTCOND * YFSUM/YFSUM1 YGR = YF YGRSUM = YFSUM DO N = 1, NSO4 DVA(N) = TOTCOND*V1COND*YGR(N)/YGRSUM XVA(N)=XVA(N)+DVA(N) ENDDO 100 FORMAT(20(1PE9.2)) ! ! Update gas concentration CCOND = CCOND1 END SUBROUTINE APM_GROW !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: apm_movebin ! ! !DESCRIPTION: Subroutine APM\_MOVEBIN moves particles across bins after ! growth. !\\ !\\ ! !INTERFACE: ! SUBROUTINE APM_MOVEBIN( NSO4, XN, XVA ) ! ! !USES: ! USE APM_INIT_MOD, ONLY: VDRY ! ! !INPUT PARAMETERS: ! INTEGER :: NSO4 ! Dimension for arrays ! ! !INPUT/OUTPUT PARAMETERS: ! REAL*8 :: XN(NSO4) ! Number conc of each bin (#/cm3) REAL*8 :: XVA(NSO4) ! Total acid mass of each bin (cm3/cm3) ! ! !REVISION HISTORY: ! 17 Mar 2010 - F. Yu - Initial version ! 08 Nov 2010 - R. Yantosca - Added ProTeX headers !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! Number of core component associated with particles, set to 1 now, ! may increase later INTEGER, PARAMETER :: NC = 1 ! ! !LOCAL VARIABLES: ! INTEGER :: N, NMAX, IC, J, J0, J1, JS REAL*8 :: YN(NSO4),YVA(NSO4,NC),YC(NSO4,NC) REAL*8 :: XVT, VDA, YFR, YFV NMAX = NSO4 ! ! Move the partilces across bins due to the condensation/evap ! DO N=1,NMAX XN(N) = MAX(1.D-30,XN(N)) XVA(N) = MAX(1.D-30,XVA(N)) YVA(N,1) = XVA(N) ! to be modified if NC>1 ENDDO DO n=1,NMAX YN(n)=1.E-20 DO IC=1,NC YC(n,IC)=1./float(NC)*YN(n)*VDRY(n)*1.E6 ! in cm3/cm3 ENDDO ! IF(YN(n).GT.1.E6.or.YN(n).LE.0.) THEN ! WRITE(6,*)"4 XN=",n,YN(n),XN(n),YC(n,1) ! ENDIF ENDDO DO n=1,NMAX XVT = 0. DO IC=1,NC XVT = XVT + YVA(n,IC) ! cm3/cm3 ENDDO VDA = XVT/XN(n)*1.E-6 ! in m3 ! YRATIO(n) = VDA/VDRY(n) ! if particles become smaller than first bin or larger than last bin, ! scale and put in the first or last bin in a fashion that conserve mass IF(VDA.LT.VDRY(1)) THEN YN(1) = YN(1) + XN(n)*VDA/VDRY(1) DO IC=1,NC ! move compositions YC(1,IC) = YC(1,IC)+YVA(n,IC) ENDDO ! IF(YN(n).GT.1.E6.or.YN(n).LE.0.) THEN ! WRITE(6,*)"41 XN=",n,YN(n),XN(n),YC(n,1),YVA(n,1),XVT,VDA ! ENDIF ELSEIF(VDA.GE.VDRY(NMAX)) THEN YN(NMAX) = YN(NMAX) + XN(n)*VDA/VDRY(NMAX) DO IC=1,NC ! move compositions YC(NMAX,IC) = YC(NMAX,IC)+YVA(n,IC) ENDDO ! IF(YN(n).GT.1.E6.or.YN(n).LE.0.) THEN ! WRITE(6,*)"42 XN=",n,YN(n),XN(n),YC(n,1), ! & XVA(n),YVA(n,1),XVT,VDA ! ENDIF ELSE IF(VDA.GE.VDRY(n)) THEN J0=n J1 = NMAX-1 JS = 1 ELSE J0=n-1 J1=1 JS=-1 ENDIF DO J=J0,J1,JS IF(VDA.GE.VDRY(J).AND.VDA.LT.VDRY(J+1)) THEN YFR = (VDRY(J+1)-VDA)/(VDRY(J+1)-VDRY(J)) YFV = YFR*VDRY(J)/VDA YN(J) = YN(J) + YFR*XN(n) !move # YN(J+1)=YN(J+1)+(1.-YFR)*XN(n) DO IC=1,NC ! move compositions YC(J,IC) = YC(J,IC)+YFV*YVA(n,IC) YC(J+1,IC)=YC(J+1,IC) & +(1.-YFV)*YVA(n,IC) ENDDO GOTO 160 ENDIF ENDDO ENDIF 160 CONTINUE ENDDO ! Update the bin values DO n=1,NMAX IF(YN(n).GT.1.E6.or.YN(n).LE.0.) THEN WRITE(6,*)"5 XN=",n,YN(n),XN(n),YC(n,1) ENDIF !GanLuo20190501XN(n) = YN(n) XN(n) = MAX(1.D-30,YN(n)) DO IC=1,NC !GanLuo20190501YVA(n,IC) =YC(n,IC) YVA(n,IC) =MAX(1.D-30,YC(n,IC)) ENDDO XVA(N) = YVA(n,1) ! to be modified if NC>1 XN(N) = MAX(0.d0,XN(N)) XVA(N) = MAX(0.d0,XVA(N)) ENDDO END SUBROUTINE APM_MOVEBIN !EOC END MODULE APM_GROW_MOD #endif ================================================ FILE: APM/apm_icen_mod.F90 ================================================ #ifdef APM !program test ! !use APM_ICEN_MOD, only : nucleati ! !! ! parameter (naer_all = 3) ! ! real*8 wbar ! grid cell mean vertical velocity (m/s) ! real*8 :: tair ! temperature (K) ! real*8 :: relhum ! relative humidity with respective to liquid ! real*8 :: cldn ! new value of cloud fraction (fraction) ! real*8 :: qc ! liquid water mixing ratio (kg/kg) !! real*8 :: nfice ! ice mass fraction ! real*8 :: na(naer_all) ! aerosol number concentration (/m3) !! !! ! real*8 :: nuci ! ice number nucleated (#/kg) ! real*8 :: onihf ! nucleated number from homogeneous freezing of so4 ! real*8 :: oniimm ! nucleated number from immersion freezing ! real*8 :: onidep ! nucleated number from deposition nucleation ! real*8 :: onimey ! nucleated number from deposition nucleation (meyers: mixed phase) ! ! ! wbar = 0.25 ! relhum = 0.8 ! cldn = 0.3 ! qc = 1.d-4 !! nfice = 0.1 ! not used ! !! already in #/cm3 ! na(1) = 10.0 !SP ! na(2) = 1.0d-2 !dust ! na(3) = 10.0 !soot ! ! DO I=1,50 ! tair = 220.0 + float(I) ! call nucleati(wbar, tair, relhum, cldn, qc, & ! na, nuci, onihf, oniimm, onidep, onimey) ! ! write(6,100)tair,nuci, onihf, oniimm, onidep, onimey !100 FORMAT(100(1PE10.3)) ! ENDDO ! !end program ! MODULE APM_ICEN_MOD !--------------------------------------------------------------------------------- ! Purpose: ! CAM Interface for aerosol activation implicit none private public :: nucleati contains subroutine nucleati(wbar, tair, relhum, cldn, qc, & na, nuci, onihf, oniimm, onidep, onimey) !--------------------------------------------------------------- ! Purpose: ! The parameterization of ice nucleation. ! ! Method: The current method is based on Liu & Penner (2005) ! It related the ice nucleation with the aerosol number, temperature and the ! updraft velocity. It includes homogeneous freezing of sulfate, immersion ! freezing of soot, and Meyers et al. (1992) deposition nucleation ! ! Authors: Xiaohong Liu, 01/2005, modifications by A. Gettelman 2009-2010 !---------------------------------------------------------------- !----------------------------------------------------- ! Input Arguments ! real*8, intent(in) :: wbar ! grid cell mean vertical velocity (m/s) real*8, intent(in) :: tair ! temperature (K) real*8, intent(in) :: relhum ! relative humidity with respective to liquid real*8, intent(in) :: cldn ! new value of cloud fraction (fraction) real*8, intent(in) :: qc ! liquid water mixing ratio (kg/kg) ! real*8, intent(in) :: nfice ! ice mass fraction ! real*8, intent(in) :: na(naer_all) ! aerosol number concentration (/m3) Yu --> in #/cm3 real*8, intent(in) :: na(3) ! aerosol number concentration (/m3) Yu --> in #/cm3 ! ! Output Arguments ! real*8, intent(out) :: nuci ! ice number nucleated (#/kg) -->#/cm3 (Yu) real*8, intent(out) :: onihf ! nucleated number from homogeneous freezing of so4 real*8, intent(out) :: oniimm ! nucleated number from immersion freezing real*8, intent(out) :: onidep ! nucleated number from deposition nucleation real*8, intent(out) :: onimey ! nucleated number from deposition nucleation (meyers: mixed phase) ! ! Local workspace ! real*8 so4_num ! so4 aerosol number (#/cm^3) real*8 soot_num ! soot (hydrophilic) aerosol number (#/cm^3) ! real*8 dst1_num,dst2_num,dst3_num,dst4_num ! dust aerosol number (#/cm^3) real*8 dst_num ! total dust aerosol number (#/cm^3) real*8 nihf ! nucleated number from homogeneous freezing of so4 real*8 niimm ! nucleated number from immersion freezing real*8 nidep ! nucleated number from deposition nucleation real*8 nimey ! nucleated number from deposition nucleation (meyers) real*8 n1,ni ! nucleated number real*8 tc,A,B,C,regm,RHw ! work variable real*8 esl,esi,deles ! work variable real*8 dst_scale real*8 subgrid real*8 dmc,ssmc ! variables for modal scheme. so4_num=0.0 soot_num=0.0 dst_num=0.0 ! dst1_num = 0.0 ! dst2_num = 0.0 ! dst3_num = 0.0 ! dst4_num = 0.0 !For modal aerosols, assume for the upper troposphere: ! soot = accumulation mode ! sulfate = aiken mode ! dust = coarse mode ! since modal has internal mixtures. ! if(idxsul .gt. 0) then ! so4_num=na(idxsul)*1.0e-6 ! #/cm^3 ! end if ! !continue above philosophy here.... ! if(idxbcphi .gt. 0) then ! soot_num=na(idxbcphi)*1.0e-6 !#/cm^3 ! end if ! ! if(idxdst1 .gt. 0) then ! dst1_num=na(idxdst1) *1.0e-6 !#/cm^3 ! end if ! ! if(idxdst2 .gt. 0) then ! dst2_num=na(idxdst2)*1.0e-6 !#/cm^3 ! end if ! ! if(idxdst3 .gt. 0) then ! dst3_num=na(idxdst3)*1.0e-6 !#/cm^3 ! end if ! ! if(idxdst4 .gt. 0) then ! dst4_num=na(idxdst4)*1.0e-6 !#/cm^3 ! end if ! ! dst_num =dst1_num+dst2_num+dst3_num+dst4_num so4_num = na(1) dst_num = na(2) soot_num = na(3) ! no soot nucleation ! soot_num=0.0 ni=0. tc=tair-273.15 ! initialize niimm=0. nidep=0. nihf=0. if(so4_num.ge.1.0e-10 .and. (soot_num+dst_num).ge.1.0e-10 .and. cldn.gt.0.) then !----------------------------- ! RHw parameterization for heterogeneous immersion nucleation A = 0.0073 B = 1.477 C = 131.74 RHw=(A*tc*tc+B*tc+C)*0.01 ! RHi ~ 120-130% subgrid = 1.2 if((tc.le.-35.0) .and. ((relhum*polysvp(tair,0)/polysvp(tair,1)*subgrid).ge.1.2)) then ! use higher RHi threshold A = -1.4938 * log(soot_num+dst_num) + 12.884 B = -10.41 * log(soot_num+dst_num) - 67.69 regm = A * log(wbar) + B ! WRITE(6,*)regm if(tc.gt.regm) then ! heterogeneous nucleation only if(tc.lt.-40. .and. wbar.gt.1.) then ! exclude T<-40 & W>1m/s from hetero. nucleation call hf(tc,wbar,relhum,subgrid,so4_num,nihf) niimm=0. nidep=0. n1=nihf else call hetero(tc,wbar,soot_num+dst_num,niimm,nidep) nihf=0. n1=niimm+nidep endif elseif (tc.lt.regm-5.) then ! homogeneous nucleation only call hf(tc,wbar,relhum,subgrid,so4_num,nihf) niimm=0. nidep=0. n1=nihf else ! transition between homogeneous and heterogeneous: interpolate in-between if(tc.lt.-40. .and. wbar.gt.1.) then ! exclude T<-40 & W>1m/s from hetero. nucleation call hf(tc,wbar,relhum,subgrid,so4_num,nihf) niimm=0. nidep=0. n1=nihf else call hf(regm-5.,wbar,relhum,subgrid,so4_num,nihf) call hetero(regm,wbar,soot_num+dst_num,niimm,nidep) if(nihf.le.(niimm+nidep)) then n1=nihf else n1=(niimm+nidep)*((niimm+nidep)/nihf)**((tc-regm)/5.) endif endif endif ni=n1 endif endif 1100 continue ! deposition/condensation nucleation in mixed clouds (-40-64 deg) A22_fast =-6.045 !(T<=-64 deg) B1_fast =-0.008 B21_fast =-0.042 !(T>-64 deg) B22_fast =-0.112 !(T<=-64 deg) C1_fast =0.0739 C2_fast =1.2372 A1_slow =-0.3949 A2_slow =1.282 B1_slow =-0.0156 B2_slow =0.0111 B3_slow =0.0217 C1_slow =0.120 C2_slow =2.312 Ni = 0.0 !---------------------------- !RHw parameters A = 6.0e-4*log(ww)+6.6e-3 B = 6.0e-2*log(ww)+1.052 C = 1.68 *log(ww)+129.35 RHw=(A*T*T+B*T+C)*0.01 ! WRITE(6,*)"RHw=", RHw if((T.le.-37.0) .and. ((RH*subgrid).ge.RHw)) then regm = 6.07*log(ww)-55.0 if(T.ge.regm) then ! fast-growth regime if(T.gt.-64.0) then A2_fast=A21_fast B2_fast=B21_fast else A2_fast=A22_fast B2_fast=B22_fast endif k1_fast = exp(A2_fast + B2_fast*T + C2_fast*log(ww)) k2_fast = A1_fast+B1_fast*T+C1_fast*log(ww) Ni = k1_fast*Na**(k2_fast) Ni = min(Ni,Na) else ! slow-growth regime k1_slow = exp(A2_slow + (B2_slow+B3_slow*log(ww))*T + C2_slow*log(ww)) k2_slow = A1_slow+B1_slow*T+C1_slow*log(ww) Ni = k1_slow*Na**(k2_slow) Ni = min(Ni,Na) endif end if return end subroutine hf !cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ! error function in single precision ! ! Copyright(C) 1996 Takuya OOURA (email: ooura@mmm.t.u-tokyo.ac.jp). ! You may use, copy, modify this code for any purpose and ! without fee. You may distribute this ORIGINAL package. function derf(x) implicit real (a - h, o - z) real*8 a,b,x dimension a(0 : 64), b(0 : 64) integer i,k data (a(i), i = 0, 12) / & 0.00000000005958930743d0, -0.00000000113739022964d0, & 0.00000001466005199839d0, -0.00000016350354461960d0, & 0.00000164610044809620d0, -0.00001492559551950604d0, & 0.00012055331122299265d0, -0.00085483269811296660d0, & 0.00522397762482322257d0, -0.02686617064507733420d0, & 0.11283791670954881569d0, -0.37612638903183748117d0, & 1.12837916709551257377d0 / data (a(i), i = 13, 25) / & 0.00000000002372510631d0, -0.00000000045493253732d0, & 0.00000000590362766598d0, -0.00000006642090827576d0, & 0.00000067595634268133d0, -0.00000621188515924000d0, & 0.00005103883009709690d0, -0.00037015410692956173d0, & 0.00233307631218880978d0, -0.01254988477182192210d0, & 0.05657061146827041994d0, -0.21379664776456006580d0, & 0.84270079294971486929d0 / data (a(i), i = 26, 38) / & 0.00000000000949905026d0, -0.00000000018310229805d0, & 0.00000000239463074000d0, -0.00000002721444369609d0, & 0.00000028045522331686d0, -0.00000261830022482897d0, & 0.00002195455056768781d0, -0.00016358986921372656d0, & 0.00107052153564110318d0, -0.00608284718113590151d0, & 0.02986978465246258244d0, -0.13055593046562267625d0, & 0.67493323603965504676d0 / data (a(i), i = 39, 51) / & 0.00000000000382722073d0, -0.00000000007421598602d0, & 0.00000000097930574080d0, -0.00000001126008898854d0, & 0.00000011775134830784d0, -0.00000111992758382650d0, & 0.00000962023443095201d0, -0.00007404402135070773d0, & 0.00050689993654144881d0, -0.00307553051439272889d0, & 0.01668977892553165586d0, -0.08548534594781312114d0, & 0.56909076642393639985d0 / data (a(i), i = 52, 64) / & 0.00000000000155296588d0, -0.00000000003032205868d0, & 0.00000000040424830707d0, -0.00000000471135111493d0, & 0.00000005011915876293d0, -0.00000048722516178974d0, & 0.00000430683284629395d0, -0.00003445026145385764d0, & 0.00024879276133931664d0, -0.00162940941748079288d0, & 0.00988786373932350462d0, -0.05962426839442303805d0, & 0.49766113250947636708d0 / data (b(i), i = 0, 12) / & -0.00000000029734388465d0, 0.00000000269776334046d0, & -0.00000000640788827665d0, -0.00000001667820132100d0, & -0.00000021854388148686d0, 0.00000266246030457984d0, & 0.00001612722157047886d0, -0.00025616361025506629d0, & 0.00015380842432375365d0, 0.00815533022524927908d0, & -0.01402283663896319337d0, -0.19746892495383021487d0,& 0.71511720328842845913d0 / data (b(i), i = 13, 25) / & -0.00000000001951073787d0, -0.00000000032302692214d0, & 0.00000000522461866919d0, 0.00000000342940918551d0, & -0.00000035772874310272d0, 0.00000019999935792654d0, & 0.00002687044575042908d0, -0.00011843240273775776d0, & -0.00080991728956032271d0, 0.00661062970502241174d0, & 0.00909530922354827295d0, -0.20160072778491013140d0, & 0.51169696718727644908d0 / data (b(i), i = 26, 38) / & 0.00000000003147682272d0, -0.00000000048465972408d0, & 0.00000000063675740242d0, 0.00000003377623323271d0, & -0.00000015451139637086d0, -0.00000203340624738438d0,& 0.00001947204525295057d0, 0.00002854147231653228d0, & -0.00101565063152200272d0, 0.00271187003520095655d0, & 0.02328095035422810727d0, -0.16725021123116877197d0, & 0.32490054966649436974d0 / data (b(i), i = 39, 51) / & 0.00000000002319363370d0, -0.00000000006303206648d0, & -0.00000000264888267434d0, 0.00000002050708040581d0, & 0.00000011371857327578d0, -0.00000211211337219663d0, & 0.00000368797328322935d0, 0.00009823686253424796d0, & -0.00065860243990455368d0, -0.00075285814895230877d0,& 0.02585434424202960464d0, -0.11637092784486193258d0, & 0.18267336775296612024d0 / data (b(i), i = 52, 64) / & -0.00000000000367789363d0, 0.00000000020876046746d0, & -0.00000000193319027226d0, -0.00000000435953392472d0, & 0.00000018006992266137d0, -0.00000078441223763969d0, & -0.00000675407647949153d0, 0.00008428418334440096d0, & -0.00017604388937031815d0, -0.00239729611435071610d0, & 0.02064129023876022970d0, -0.06905562880005864105d0, & 0.09084526782065478489d0 / w = abs(x) if (w .lt. 2.2d0) then t = w * w k = int(t) t = t - k k = k * 13 y = ((((((((((((a(k) * t + a(k + 1)) * t + & a(k + 2)) * t + a(k + 3)) * t + a(k + 4)) * t + & a(k + 5)) * t + a(k + 6)) * t + a(k + 7)) * t + & a(k + 8)) * t + a(k + 9)) * t + a(k + 10)) * t + & a(k + 11)) * t + a(k + 12)) * w else if (w .lt. 6.9d0) then k = int(w) t = w - k k = 13 * (k - 2) y = (((((((((((b(k) * t + b(k + 1)) * t + & b(k + 2)) * t + b(k + 3)) * t + b(k + 4)) * t + & b(k + 5)) * t + b(k + 6)) * t + b(k + 7)) * t + & b(k + 8)) * t + b(k + 9)) * t + b(k + 10)) * t + & b(k + 11)) * t + b(k + 12) y = y * y y = y * y y = y * y y = 1 - y * y else y = 1 end if if (x .lt. 0) y = -y derf = y end function derf ! function polysvp (T,type) ! Compute saturation vapor pressure by using ! function from Goff and Gatch (1946) ! Polysvp returned in units of pa. ! T is input in units of K. ! type refers to saturation with respect to liquid (0) or ice (1) real*8 dum real*8 T,polysvp integer type ! ice if (type.eq.1) then ! Goff Gatch equation (good down to -100 C) polysvp = 10.**(-9.09718*(273.16/t-1.)-3.56654* & log10(273.16/t)+0.876793*(1.-t/273.16)+ & log10(6.1071))*100. end if ! Goff Gatch equation, uncertain below -70 C if (type.eq.0) then polysvp = 10.**(-7.90298*(373.16/t-1.)+ & 5.02808*log10(373.16/t)- & 1.3816e-7*(10.**(11.344*(1.-t/373.16))-1.)+ & 8.1328e-3*(10.**(-3.49149*(373.16/t-1.))-1.)+ & log10(1013.246))*100. end if end function polysvp !--xl end module APM_ICEN_MOD #endif ================================================ FILE: APM/apm_init_mod.F ================================================ #ifdef APM !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: apm_init_mod ! ! !DESCRIPTION: Module APM\_INIT\_MOD contains variables and routines for ! initializing the APM model. !\\ !\\ ! !INTERFACE: ! MODULE APM_INIT_MOD ! ! !USES: ! IMPLICIT NONE PRIVATE ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: HYDRGF1 PRIVATE :: BINSULF PRIVATE :: BINSALT PRIVATE :: BINBCOC PRIVATE :: BINDST7 PRIVATE :: BINDST15 PRIVATE :: SALTEMIT PRIVATE :: SULF_EMIT PRIVATE :: BCOC_EMIT ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: APM_INIT PUBLIC :: APM_NTRACERS PUBLIC :: CLEANUP_APMARRAYS ! ! !PUBLIC DATA MEMBERS: ! PUBLIC :: LAPM PUBLIC :: IFNUCL,IFEMITBCOCS, FE0 PUBLIC :: WBAR !for maxsat PUBLIC :: IFEV !0= no eruptive volcano PUBLIC :: IFAG PUBLIC :: IFNEWCOD,IFNEWSF,IFNEWN2O5,IFONLINEMET PUBLIC :: IFDOISRP PUBLIC :: IFMODISOUT PUBLIC :: NGCOND,NSO4,NSEA,NDSTB,NBCOC,NBCOCT PUBLIC :: NCTSO4,NCTBC,NCTOC,NCTDST,NCTSEA,NAMINE PUBLIC :: NTYP PUBLIC :: DEDGE,RDST,DENDST,VDST PUBLIC :: APMIDS PUBLIC :: YGF ! HYDRGF1 PUBLIC :: RDRY, VDRY, COAGPAR ! BINSULF PUBLIC :: RSALT, VSALT, DFMSALT9,COAGPARSS ! BINSALT PUBLIC :: IACTSS1,IACTSS3 ! BINSALT PUBLIC :: CEMITSULF, FEMTBCOCS PUBLIC :: CEMITSULF2 PUBLIC :: RBCOC, VBCOC, COAGPBCOC ! BINBCOC PUBLIC :: CEMITBCOC1 !OPT+ PUBLIC :: CEMITBCOC2 !OPT+ PUBLIC :: TOTNUMBC,TOTNUMOC, TOTAREABC,TOTAREAOC PUBLIC :: DACT1, DACT2, DACT3, DENSULF PUBLIC :: XMACID,XMLVSOG,V1ACID,V1LVSOG,M1ACID,M1LVSOG PUBLIC :: APMTRACER_MW_G,APMTRACER_MW_KG PUBLIC :: ONEPI,BK,AVG,RGAS PUBLIC :: MAXSITE,MSITE,ISITES,JSITES,LOUT PUBLIC :: IFSITE, IFSITEOUT,IFQANN,IFEMITH,IFPREIND PUBLIC :: IFALBMODIS PUBLIC :: IFCURRENT PUBLIC :: IFAEROCOMOUT PUBLIC :: IFRADF,IFOPT,IFCDNPDF PUBLIC :: IFAMINEUP, AGAMA,ERATIO,OXRATE,IFATHN,NUCLAMINE,IFNH3 PUBLIC :: IFNUCLORG PUBLIC :: IFATOM, IFSEABIRD,IFSSTSCALE PUBLIC :: ATOMMONS,ATOMDAYS,ATOMMONE,ATOMDAYE PUBLIC :: SITEOUT2D ! PUBLIC :: REFBCOC,DBCOC1, BCOCSIGMA1 PUBLIC :: REFBCOC!,DBCOC1, BCOCSIGMA1, FERF PUBLIC :: DBCOC2, BCOCSIGMA2 PUBLIC :: MTACT,MKACT,MSAT PUBLIC :: DACTTAB PUBLIC :: FOOACRIT PUBLIC :: DATA_DIR_1x1 PUBLIC :: BC_LIFEAPM, OC_LIFEAPM, FHBAPM, FHOAPM,D0CONV PUBLIC :: IFNOBCOCFF PUBLIC :: IFCOAT PUBLIC :: IFCOATBC PUBLIC :: DENBC,DENOC PUBLIC :: IY PUBLIC :: DTTEST PUBLIC :: IFAPMSF, IFAPMAOD ! PUBLIC :: YRLIQ,YRICE ! ! !REVISION HISTORY: ! 16 Mar 2010 - F. Yu - Initial version ! 08 Nov 2010 - R. Yantosca - Added ProTeX headers !EOP !------------------------------------------------------------------------------ !BOC !================================================================= ! MODULE VARIABLES !================================================================= LOGICAL :: LAPM ! ON/OFF switch for APM INTEGER :: IFEV INTEGER :: IFAG INTEGER :: IFNEWCOD,IFNEWSF,IFNEWN2O5,IFONLINEMET INTEGER :: IFDOISRP INTEGER :: IFMODISOUT INTEGER :: NGCOND,NSO4,NSEA,NDSTB,NBCOC,NBCOCT INTEGER :: NCTSO4,NCTBC,NCTOC,NCTDST,NCTSEA,NAMINE TYPE APMidtype INTEGER :: id_SO4G,id_SO4BIN1,id_CTSEA,id_SEABIN1,id_DSTBIN1 INTEGER :: id_CTSO4,id_CTBC,id_CTOC,id_CTDST INTEGER :: id_BCBIN1,id_OCBIN1 INTEGER :: id_AMINE INTEGER :: id_NH4, id_NIT, id_SO4, id_NH3 INTEGER :: id_CO, id_NO, id_NO2, id_NO3, id_HNO3 INTEGER :: id_ISOP, id_MTPA INTEGER :: id_BCPO,id_BCPI,id_OCPO, id_OCPI INTEGER :: id_MSA INTEGER :: id_SALA, id_SALC ! NOTE: Renamed these to GC_DSTbin{1..7} to avoid clashing ! with the id_DSTbin1 species flag INTEGER :: id_GC_DSTbin1, id_GC_DSTbin2, id_GC_DSTbin3 INTEGER :: id_GC_DSTbin4, id_GC_DSTbin5, id_GC_DSTbin6 INTEGER :: id_GC_DSTbin7 ! mono+sesq products INTEGER :: id_TSOA1, id_TSOG1 INTEGER :: id_TSOA2, id_TSOG2 INTEGER :: id_TSOA3, id_TSOG3 INTEGER :: id_TSOA0, id_TSOG0 ! semivolpoa: add POA (hotp 2/26/09) INTEGER :: id_POA1,id_POA2 INTEGER :: id_POG1, id_POG2 ! semivolpoa4opoa: add OPOA, OPOG (hotp 3/18/09) INTEGER :: id_OPOA1, id_OPOG1 INTEGER :: id_OPOA2, id_OPOG2 ! lumped arom/IVOC (hotp 5/14/10) INTEGER :: id_ASOAN INTEGER :: id_ASOA1, id_ASOG1 INTEGER :: id_ASOA2, id_ASOG2 INTEGER :: id_ASOA3, id_ASOG3 INTEGER :: id_SO2, id_H2O2, id_OH END TYPE APMidtype TYPE(APMidtype) :: APMIDS REAL*8, ALLOCATABLE :: YGF(:,:) REAL*8, ALLOCATABLE :: RDRY(:) !m REAL*8, ALLOCATABLE :: VDRY(:) !SULFATE dry volume (m3) REAL*8, ALLOCATABLE :: RSALT(:), RSALT80(:) !m REAL*8, ALLOCATABLE :: DFMSALT9(:) ! kg m-2 s-1 REAL*8, ALLOCATABLE :: VSALT(:) !SALT dry volume (m3) REAL*8, ALLOCATABLE :: COAGPAR(:,:,:) ! for SULFATE REAL*8, ALLOCATABLE :: COAGPARSS(:,:,:) ! for SEA SALT REAL*8, ALLOCATABLE :: CEMITSULF(:) REAL*8, ALLOCATABLE :: CEMITSULF2(:,:) REAL*8, ALLOCATABLE :: CEMITBCOC1(:,:) !OPT+ REAL*8, ALLOCATABLE :: CEMITBCOC2(:,:) !OPT+ REAL*8, ALLOCATABLE :: RBCOC(:) REAL*8, ALLOCATABLE :: VBCOC(:) REAL*8, ALLOCATABLE :: COAGPBCOC(:,:,:) ! BINBCOC ! ! Dust for now REAL*8, ALLOCATABLE :: DEDGE(:),RDST(:) REAL*8, ALLOCATABLE :: DENDST(:),VDST(:) ! Cloud activation dry diameters REAL*8, PARAMETER :: DACT1 = 3.3d-8 !convective precipitation REAL*8, PARAMETER :: DACT2 = 5.7d-8 !average REAL*8, PARAMETER :: DACT3 = 8.2d-8 !large scale precipitation REAL*8, PARAMETER :: DENSULF = 1.7 ! density of sulfate (g/cm3) REAL*8, PARAMETER :: XMACID = 98. ! Molecular mass of H2SO4 (g/mol) REAL*8, PARAMETER :: XMLVSOG = 181. ! Molecular mass of LV_SOG (g/mol) REAL*8, PARAMETER :: ONEPI = 3.1415926d0 REAL*8, PARAMETER :: AVG = 6.022d+23 REAL*8, PARAMETER :: BK = 1.3807d-16 !erg/K REAL*8, PARAMETER :: RGAS = 8.3144d+7 !erg K / mol INTEGER :: IFNUCL, IFEMITBCOCS REAL*8 :: FEMTBCOCS, FE0 REAL*8 :: WBAR REAL*8 :: Y_R1, Y_SIGMA1, FRAC1 REAL*8 :: Y_R2, Y_SIGMA2, FRAC2 INTEGER :: IACTSS1, IACTSS2, IACTSS3 ! bin index for cloud act ! diameters of seasalt REAL*8 :: TOTNUMBC(2),TOTNUMOC(2) !total # of BCOC per kg of BCOC for ! mod1 (fossil fuel) and mod2 (biomass/biofuel) REAL*8 :: TOTAREABC(2),TOTAREAOC(2) !total surface area (m2) of BCOC per kg of BCOC for ! mod1 (fossil fuel) and mod2 (biomass/biofuel) REAL*8 :: REFBCOC(2) ! Effective radius of BCOC (m) ! REAL*8 :: DBCOC1, BCOCSIGMA1, FERF(501) REAL*8 :: DBCOC1, BCOCSIGMA1 REAL*8 :: DBCOC2, BCOCSIGMA2 CHARACTER(LEN=255) :: DATA_DIR_1x1 ! INTEGER, PARAMETER :: MHC = 6 INTEGER, PARAMETER :: MHC = 9 INTEGER, PARAMETER :: NPROD = 3 INTEGER, PARAMETER :: MT = 601 INTEGER, PARAMETER :: MTACT = 51 INTEGER, PARAMETER :: MKACT = 155 INTEGER, PARAMETER :: MSAT = 50 REAL*8 :: DACTTAB(MTACT,MKACT,MSAT) INTEGER :: IFSITE,IFQANN,IFEMITH,IFPREIND INTEGER :: IFALBMODIS INTEGER :: IFCURRENT INTEGER :: IFAEROCOMOUT INTEGER :: IFRADF, IFOPT, IFCDNPDF INTEGER :: IFAMINEUP,IFATHN,NUCLAMINE,IFNH3,IFNUCLORG INTEGER :: IFATOM,IFSEABIRD,IFSSTSCALE INTEGER :: ATOMMONS,ATOMDAYS,ATOMMONE,ATOMDAYE REAL*8 :: AGAMA,ERATIO,OXRATE ! INTEGER,PARAMETER :: MAXSITE=47 INTEGER,PARAMETER :: MAXSITE=100 ! INTEGER,PARAMETER :: LOUT=38 !# of layers for supersite output INTEGER,PARAMETER :: LOUT=28 !# of layers for supersite output ! INTEGER,PARAMETER :: LOUT=70 !# of layers for supersite output ! INTEGER,PARAMETER :: LOUT=7 !# of layers for supersite output INTEGER :: MSITE INTEGER :: ISITES(MAXSITE),JSITES(MAXSITE) INTEGER :: IFSITEOUT(MAXSITE) ! REAL*8 :: SITEOUT2D(MAXSITE,22) REAL*8 :: SITEOUT2D(MAXSITE,56) INTEGER,PARAMETER :: MAPMTRA=97 ! can make this dynamic later REAL*8 :: APMTRACER_MW_G(MAPMTRA),APMTRACER_MW_KG(MAPMTRA) REAL*8 :: FOOACRIT(NPROD,MHC, MT) REAL*8 :: V1ACID,V1LVSOG REAL*8 :: M1ACID,M1LVSOG REAL*8 :: BC_LIFEAPM, OC_LIFEAPM, FHBAPM, FHOAPM, D0CONV INTEGER :: IFNOBCOCFF INTEGER :: IFCOAT INTEGER :: IFCOATBC INTEGER :: IFAPMSF, IFAPMAOD REAL*8 :: Z_R1,Z_SIGMA1,Z_R2,Z_SIGMA2 REAL*8 :: DENBC,DENOC INTEGER :: SEASCHEME REAL*8 :: FSALTSCAL INTEGER :: IY REAL*8 :: DTTEST ! REAL*8 :: YRLIQ,YRICE ! Types of aerosols INTEGER, PARAMETER :: NTYP = 5 CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: apm_init ! ! !DESCRIPTION: Subroutine APM\_INIT initializes the APM model. !\\ !\\ ! !INTERFACE: ! SUBROUTINE APM_INIT( DATA_DIR_1x1a ) ! ! !USES: ! USE APM_ATHN_MOD, ONLY : READJATHN USE APM_TIMN_MOD, ONLY : READJTIMN USE APM_OPTI_MOD, ONLY : READOPTABLE !OPT+ USE APM_OPTI_MOD, ONLY : READOPTABLE_LW !OPT+ ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=255) :: DATA_DIR_1x1a ! 1x1 data directory ! ! !REVISION HISTORY: ! 17 Mar 2010 - F. Yu - Initial version ! 08 Nov 2010 - R. Yantosca - Added ProTeX headers !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: IP,IC,IT INTEGER :: IACT10, IACT20, IACT30 ! bin index for cloud act ! diameters corresponding to RDRY REAL*8 :: TK INTEGER :: ITAB !OPT+ !================================================================= ! APM_INIT begins here! !================================================================= DATA_DIR_1x1 = DATA_DIR_1x1a ! First-time initialization ! IF ( FIRST ) THEN ! ! Volume and mass of one acid and one LV-SOG molecule V1ACID = XMACID/(6.02252d+23*DENSULF) ! volume (cm3) of one SO4 molecule V1LVSOG = XMLVSOG/(6.02d+23*DENSULF) ! assume SOA has same den as acid WRITE(6,*)"V1ACID=",V1ACID,"V1LVSOG=",V1LVSOG M1ACID = XMACID*1.E-3/6.02252E+23 ! mass (kg) of one H2SO4 molecule M1LVSOG = XMLVSOG*1.E-3/6.02252E+23 ! mass (kg) of one LVSOG molecule ! ! ! READ IN APM CONTROLLING PARAMETERS ! CLOSE(14) OPEN(14,FILE='input.apm') READ(14,*) READ(14,*)BC_LIFEAPM,OC_LIFEAPM,FHBAPM,FHOAPM,D0CONV WRITE(6,*)'BC_LIFEAPM,OC_LIFEAPM,FHBAPM,FHOAPM,D0CONV in APM' WRITE(6,*)BC_LIFEAPM,OC_LIFEAPM,FHBAPM,FHOAPM,D0CONV READ(14,*) READ(14,*)IFNOBCOCFF WRITE(6,*)"IFNOBCOCFF=",IFNOBCOCFF READ(14,*) READ(14,*)IFCOAT,IFCOATBC WRITE(6,*)"*****IFCOAT= ", IFCOAT,"*****IFCOATBC= ",IFCOATBC READ(14,*) READ(14,*)IFALBMODIS WRITE(6,*)"*****IFALBMODIS= ", IFALBMODIS READ(14,*) READ(14,*)IFAEROCOMOUT WRITE(6,*)"*****IFAEROCOMOUT= ", IFAEROCOMOUT READ(14,*) READ(14,*)IFCURRENT WRITE(6,*)"*****IFCURRENT= ", IFCURRENT READ(14,*) READ(14,*)IFRADF,IFOPT IF(IFRADF.EQ.1.and.IFOPT.NE.1) IFOPT = 1 !force IFOPT = 1 if IFRADF=1 WRITE(6,*)"*****IFRADF= ", IFRADF WRITE(6,*)"*****IFOPT= ", IFOPT READ(14,*) READ(14,*)Z_R1,Z_SIGMA1,Z_R2,Z_SIGMA2 WRITE(6,*)"BCOC size parameters: Z_R1,Z_SIGMA1,Z_R2,Z_SIGMA2" WRITE(6,*)Z_R1,Z_SIGMA1,Z_R2,Z_SIGMA2 READ(14,*) READ(14,*)DENBC WRITE(6,*)"DENBC (density of BC in kg/m3)" WRITE(6,*)DENBC READ(14,*) READ(14,*)SEASCHEME WRITE(6,*)"SEASCHEME (1=Clarke et al 2006; 2=Gong et al 2003)" WRITE(6,*)SEASCHEME READ(14,*) READ(14,*)FSALTSCAL,IFSSTSCALE WRITE(6,*)"FSALTSCALE (when SEASCHEME=2), scale with SST=1" WRITE(6,*)FSALTSCAL,IFSSTSCALE READ(14,*) ! READ(14,*) IFAMINEUP, AGAMA, ERATIO,OXRATE ! WRITE(6,*)"IFAMINEUP, AGAMA, ERATIO, OXRATE" ! WRITE(6,*)IFAMINEUP, AGAMA, ERATIO,OXRATE READ(14,*) IFAMINEUP, AGAMA WRITE(6,*)"IFAMINEUP, AGAMA" WRITE(6,*)IFAMINEUP, AGAMA READ(14,*) READ(14,*)IFATHN,NUCLAMINE WRITE(6,*)"IFATHN,NUCLAMINE" WRITE(6,*)IFATHN,NUCLAMINE READ(14,*) READ(14,*)IFCDNPDF, IFNEWCOD WRITE(6,*)"*****IFCDNPDF= ", IFCDNPDF WRITE(6,*)"*****IFNEWCOD= ", IFNEWCOD IF(IFOPT<1)IFCDNPDF=0 IF(IFCDNPDF==0)IFNEWCOD=0 READ(14,*) READ(14,*)IFNEWSF WRITE(6,*)"*****IFNEWSF= ", IFNEWSF READ(14,*) READ(14,*)IFNEWN2O5 WRITE(6,*)"*****IFNEWN2O5= ", IFNEWN2O5 READ(14,*) READ(14,*)IFDOISRP WRITE(6,*)"*****IFDOISRP= ", IFDOISRP READ(14,*) READ(14,*)IFMODISOUT WRITE(6,*)"*****IFMODISOUT= ", IFMODISOUT READ(14,*) READ(14,*)IFONLINEMET WRITE(6,*)"*****IFONLINEMET= ", IFONLINEMET READ(14,*) READ(14,*)IFNH3 WRITE(6,*)"*****IFNH3= ", IFNH3 READ(14,*) READ(14,*)IFATOM, ATOMMONS, ATOMDAYS, ATOMMONE, ATOMDAYE WRITE(6,*)"*****IFATOM= ", IFATOM, ATOMMONS, ATOMDAYS, & ATOMMONE, ATOMDAYE READ(14,*) READ(14,*)IFSEABIRD WRITE(6,*)"*****IFSEABIRD= ", IFSEABIRD READ(14,*) READ(14,*)IFNUCL, IFNUCLORG WRITE(6,*)"*****IFNUCLORG= ", IFNUCLORG CLOSE(14) ! ALLOCATE MODULE VARIABLES CALL INIT_APMARRAYS ! READ in IMN LOOKUP TABLES WRITE(6,*)"NUCLEATION SCHEME INDEX IFNUCL =", IFNUCL IF(IFNUCL.EQ.1.or.IFNUCL.EQ.2) CALL READJTIMN(DATA_DIR_1x1) IF(IFATHN.GE.1) CALL READJATHN(DATA_DIR_1x1) !OPT+ IF(IFOPT.EQ.1) THEN DO ITAB = 1, 3 CALL READOPTABLE(ITAB,DATA_DIR_1x1) ENDDO ITAB = 3 !dust LW CALL READOPTABLE_LW(ITAB,DATA_DIR_1x1) ENDIF !OPT+ ! Calculate hygroscopic growth factor for ammonia bisulfate, seasalt, and SOA CALL HYDRGF1 !APM2++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ IF(IFAG.EQ.1) THEN ! READ in FOOACRIT TABLE (to be used in carbon_mod.f) CLOSE(49) OPEN(49,file=TRIM(DATA_DIR_1x1)// & '/APM_data_201906/FSOGagMHC9DHDC.dat' & ,status='old') ! WRITE(6,*)"READ in FOOAaging.dat" WRITE(6,*)"READ in FSOGagMHC9DHDC.dat" DO IT = 1,MT ! 260 K -320 K READ(49,99)TK,((FOOACRIT(IP,IC,IT),IC=1,MHC),IP=1,NPROD) IF(IT.EQ.1.and.TK.NE.260.0) THEN ! make sure read in the right one WRITE(6,*)"STOP at apm_init_mod.f, need check FOOAaging.dat" STOP ENDIF IF(MOD(IT,10).EQ.1) & WRITE(6,99)TK,((FOOACRIT(IP,IC,IT),IC=1,MHC),IP=1,NPROD) ENDDO CLOSE(49) 99 FORMAT(F5.1,50(1PE10.3)) ENDIF !APM2++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ! Setup bin structures and emission parameterizations ! ! Primary sulfate emission parameters ! FE0 = 0. ! Fraction of sulfur emitted as sulfate (0 - 1) ! Parameters for Nucl Mode : 1.d6 5.0d-9 1.6d0 0.05 Y_R1 = 5.0d-9 ! cm Y_SIGMA1 = 1.6d0 FRAC1 = 0.05 ! Parameters for Cond Mode : 1.d6 3.5d-8 2.0d0 0.95 Y_R2 = 3.5d-8 ! cm Y_SIGMA2 = 2.0d0 FRAC2 = 1. - FRAC1 IFEMITBCOCS = 1 ! Accumlation mode of primary sulfate added to BCOC CALL BINSULF CALL SULF_EMIT CALL BINSALT CALL SALTEMIT IF(NDSTB.EQ.7) CALL BINDST7 IF(NDSTB.EQ.15) CALL BINDST15 CALL BINBCOC CALL BCOC_EMIT ! FIRST = .FALSE. ! ENDIF END SUBROUTINE APM_INIT !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: apm_ntracers ! ! !DESCRIPTION: Subroutine APM\_NTRACERS initializes the number of tracers ! associated with APM. !\\ !\\ ! !INTERFACE: ! SUBROUTINE APM_NTRACERS( State_Chm ) USE State_Chm_Mod, ONLY : ChmState USE State_Chm_Mod, ONLY : Ind_ ! ! !INPUT PARAMETERS: TYPE(ChmState) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! ! !REVISION HISTORY: ! 17 Mar 2010 - F. Yu - Initial version ! 08 Nov 2010 - R. Yantosca - Added ProTeX headers !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: N, T IFEV = 0 WRITE(6,*)"IFEV=",IFEV IFQANN = 1 IFAG = 0 IFEMITH = 1 IFPREIND = 0 IFSITE = 0 ! WBAR = 0.3 !m/s ! WBAR = 0.15 !m/s WRITE(6,*)"WBAR (m/s) = ", WBAR !APM2++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ! ! IFQANN = 2 ! =1: anuual mean; =2: monthly mean ! IFAG = 1 ! =0: no SOG age; =1: SOG age ! IFEMITH = 2 ! =1: original; =2: revised emit H ! IFSITE = 1 ! supersites =0: none;=1: global sites; =2: nested EU CLOSE(199) OPEN(199,file='apm_tmp.dat',status='old') READ(199,*) READ(199,*)IFQANN,IFAG,IFEMITH,IFSITE,IFPREIND READ(199,*) READ(199,*)IY,DTTEST WRITE(6,*)"IY,DTTEST = ", IY,DTTEST CLOSE(199) ! CLOSE(200) ! OPEN(200,file='apm_rad.dat',status='old') ! READ(200,*) ! READ(200,*)YRLIQ,YRICE ! WRITE(6,*)"YRLIQ= ", YRLIQ, "YRICE= ", YRICE ! CLOSE(200) !APM2++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ WRITE(6,*)"IFQANN etc =",IFQANN,IFAG,IFEMITH,IFSITE,IFPREIND ! # of various APM tracers, can be organized in a better way later NGCOND=1 ! Number of condensable gases NSO4=40 ! Number of bins for sulfate or secondary particles NCTSO4=0 ! Number of tracers associated with coating on SO4 NCTBC=1 ! Number of tracers associated with coating on BC NCTOC=1 ! Number of tracers associated with coating on OC NCTDST=1 ! Number of tracers associated with coating on DUST NCTSEA=1 ! Number of tracers associated with coating on Sea salt !APM2++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ !20110728 IF(IFAG.EQ.1) THEN NGCOND=2 ! Number of condensable gases NCTSO4=1 ! Number of tracers associated with coating on SO4 NCTBC=2 ! Number of tracers associated with coating on BC NCTOC=2 ! Number of tracers associated with coating on OC NCTDST=2 ! Number of tracers associated with coating on DUST NCTSEA=2 ! Number of tracers associated with coating on Sea salt !20110728 ENDIF !APM2++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ NSEA=20 ! Number of bins for sea salt NDSTB=15 ! Number of bins for dust NBCOC=15 ! Number of bins for BC and POC ! NBCPIF=1 ! NBCPIO=1 ! NOCPIF=1 ! NOCPIO=1 ! NBCPOF=1 ! NBCPOO=1 ! NOCPOF=1 ! NOCPOO=1 ! NBCOCT=NBCPIF+NBCPIO+NOCPIF+NOCPIO+NBCPOF+NBCPOO+NOCPOF+NOCPOO NBCOCT=NBCOC*2 !one for BC and the other for POC NAMINE=3 ! set APM id_ #s APMIDS%id_SO4G = Ind_('APMH2SO4') APMIDS%id_SO4BIN1 = Ind_('APMSPBIN01') APMIDS%id_CTSEA = Ind_('APMCTSEA1') APMIDS%id_SEABIN1 = Ind_('APMSEABIN01') APMIDS%id_DSTBIN1 = Ind_('APMDSTBIN01') APMIDS%id_CTSO4 = Ind_('APMLVSOA') APMIDS%id_CTBC = Ind_('APMCTBC1') APMIDS%id_CTOC = Ind_('APMCTOC1') APMIDS%id_CTDST = Ind_('APMCTDST1') APMIDS%id_BCBIN1 = Ind_('APMBCBIN01') APMIDS%id_OCBIN1 = Ind_('APMOCBIN01') APMIDS%id_AMINE = Ind_('APMAMINE1') APMIDS%id_OH = Ind_('OH' ) APMIDS%id_H2O2 = Ind_('H2O2') APMIDS%id_SO2 = Ind_('SO2') APMIDS%id_MSA = Ind_('MSA') APMIDS%id_SO4 = Ind_('SO4') APMIDS%id_HNO3 = Ind_('HNO3') APMIDS%id_NIT = Ind_('NIT') APMIDS%id_NH3 = Ind_('NH3') APMIDS%id_NH4 = Ind_('NH4') APMIDS%id_CO = Ind_('CO') APMIDS%id_NO = Ind_('NO') APMIDS%id_NO2 = Ind_('NO2') APMIDS%id_NO3 = Ind_('NO3') APMIDS%id_ISOP = Ind_('ISOP') APMIDS%id_MTPA = Ind_('MTPA') APMIDS%id_BCPO = Ind_('BCPO') APMIDS%id_BCPI = Ind_('BCPI') APMIDS%id_OCPO = Ind_('OCPO') APMIDS%id_OCPI = Ind_('OCPI') APMIDS%id_SALA = Ind_('SALA') APMIDS%id_SALC = Ind_('SALC') APMIDS%id_GC_DSTbin1 = Ind_('DSTbin1') APMIDS%id_GC_DSTbin2 = Ind_('DSTbin2') APMIDS%id_GC_DSTbin3 = Ind_('DSTbin3') APMIDS%id_GC_DSTbin4 = Ind_('DSTbin4') APMIDS%id_GC_DSTbin5 = Ind_('DSTbin5') APMIDS%id_GC_DSTbin6 = Ind_('DSTbin6') APMIDS%id_GC_DSTbin7 = Ind_('DSTbin7') APMIDS%id_TSOA1 = Ind_('TSOA1') APMIDS%id_TSOG1 = Ind_('TSOG1') APMIDS%id_TSOA2 = Ind_('TSOA2') APMIDS%id_TSOG2 = Ind_('TSOG2') APMIDS%id_TSOA3 = Ind_('TSOA3') APMIDS%id_TSOG3 = Ind_('TSOG3') APMIDS%id_TSOA0 = Ind_('TSOA0') APMIDS%id_TSOG0 = Ind_('TSOG0') APMIDS%id_POA1 = Ind_('POA1') APMIDS%id_POA2 = Ind_('POA2') APMIDS%id_POG1 = Ind_('POG1') APMIDS%id_POG2 = Ind_('POG2') APMIDS%id_OPOA1 = Ind_('OPOA1') APMIDS%id_OPOG1 = Ind_('OPOG1') APMIDS%id_OPOA2 = Ind_('OPOA2') APMIDS%id_OPOG2 = Ind_('OPOG2') APMIDS%id_ASOAN = Ind_('ASOAN') APMIDS%id_ASOA1 = Ind_('ASOA1') APMIDS%id_ASOG1 = Ind_('ASOG1') APMIDS%id_ASOA2 = Ind_('ASOA2') APMIDS%id_ASOG2 = Ind_('ASOG2') APMIDS%id_ASOA3 = Ind_('ASOA3') APMIDS%id_ASOG3 = Ind_('ASOG3') END SUBROUTINE APM_NTRACERS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ! ! !DESCRIPTION: Subroutine HYDRGF1 calculates the hygroscopic growth factor ! table. !\\ !\\ ! !INTERFACE: ! SUBROUTINE HYDRGF1 ! ! !REMARKS: ! YGF(IRH,ITYPE): Growth factor at IRH=1,99 for ! (NH4)2SO4 (ITYPE=1), ! (NH4)HSO4 (ITYPE=2), ! SOA (ITYPE=3), and ! Seasalt (ITYPE=4) ! ! !REVISION HISTORY: ! 26 Nov 2008 - F. Yu - Initial version ! 08 Nov 2010 - R. Yantosca - Added ProTeX headers !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! Parameters for seasalt REAL*8, PARAMETER :: C1 = 0.7674d0 REAL*8, PARAMETER :: C2 = 3.079d0 REAL*8, PARAMETER :: C3 = 2.573d-11 REAL*8, PARAMETER :: C4 = -1.424d0 ! ! !LOCAL VARIABLES: ! REAL*8 :: RH REAL*8 :: XL(4),YL(4),ZL(4) REAL*8 :: RSALT(10),GFSALT(10) REAL*8 :: X,Y,Z,RCM,RWET,FAC1,FAC2,A,B,C,SOAGF INTEGER :: J,K,IRH REAL*8 :: YGFSALT ! For (NH4)2SO4, NH4HSO4, H2SO4: data from Li et al, JAS, 2001 data XL/-0.8082E-1, 0.5121, 0.4823E-2, 1.070/ ! (NH4)2SO4 data YL/-0.1741E-1, 0.3702, 0.1367E-1, 1.116/ ! NH4HSO4 data ZL/0.1842, 0.4416 , 0.3492E-2, 1.053/ ! H2SO4 DO J=1,99 RH = float(J)*0.01 X = exp(XL(1)+XL(2)*RH+XL(3)/(RH-XL(4))**2.) ! GF for (NH4)2SO4 Y = exp(YL(1)+YL(2)*RH+YL(3)/(RH-YL(4))**2.) ! GF for NH4HSO4 Z = exp(ZL(1)+ZL(2)*RH+ZL(3)/(RH-ZL(4))**2.) ! GF for H2SO4 ! write(6,100)RH,X,Y,Z X = MAX(X,1.01d0) Y = MAX(Y,1.01d0) YGF(J,1) = X YGF(J,2) = Y ENDDO ! ! SOA growth factor ! Varutbangkul et al., Atmos. Chem. Phys., 6, 2367-2388, 2006. ! GF values of the pure organic portion of the SOA at 85% RH are between ! 1.09-1.16 for the C5-C8 cycloalkenes, 1.06-1.10 for the monoterpenes and ! oxygenated terpenes, and 1.01-1.04 for the sesquiterpenes. ! ! GF = 1 + [(1-RH/100)**(-A) x B(RH/100)**C] ! ! We choose A=0.2817, B=0.0674, C=1.7026 ! which gives GF=1.087 at RH=85% to represent average GF ! A= 0.2817 B= 0.0674 C= 1.7026 DO J=1,99 RH = float(J)*0.01 SOAGF = 1. + ((1.-RH)**(-A) * B * (RH)**C) ! write(6,105)RH,SOAGF YGF(J,3) = SOAGF ENDDO ! Sea salt growth with relative humidity in radius [m] ! (Gerber, 1985) (bec, 12/8/04) DO K=1,10 ! check to see the effect of R on GF RSALT(K) = 3.E-7*float(K)*float(K)*float(K) ENDDO ! WRITE(6,*)"Sea Salt Growth Factor" ! WRITE(6,110)(RSALT(K)*1.E4,K=1,10) ! DO J=1,99 ! RH = float(J)*0.01 ! DO K=1,10 !! Exponential factors ! RCM = RSALT(K) ! cm ! FAC1 = C1 * ( RCM**C2 ) ! FAC2 = C3 * ( RCM**C4 ) ! RWET = (FAC1/(FAC2-DLOG(RH))+RCM**3.d0)**0.33d0 ! cm ! GFSALT(K)=RWET/RCM ! ENDDO !! write(6,100)RH,(GFSALT(K),K=1,10) !! write(6,100)RH,GFSALT(4) !! Particle dry size has some effect on GF when RH is very high !! here use GF @ RDRY=~200 nm as average GF !!20110513 YGF(J,4) = GFSALT(4) ! YGF(J,4) = 2.*0.54*(1. + 1./(1.-RH))**(1./3.) !based on De Leeuw etal., ROG,2010 for ow. ! ENDDO ! !Yu+ 6/2/11 read from file CLOSE(99) OPEN(99,file=TRIM(DATA_DIR_1x1)// & '/APM_data_201906/APMTABLES/HGFSEASALT.txt') DO J=1,99 READ(99,102)IRH, YGFSALT YGF(J,4) = YGFSALT ENDDO CLOSE(99) 102 FORMAT(I5,10(1PE10.3)) WRITE(6,*)"Calculate hygroscopic growth factor tables" WRITE(6,*)" RH SULFATE SOA SEASALT" DO J=1,99,2 write(6,100)FLOAT(J),YGF(J,1),YGF(J,3),YGF(J,4) ENDDO 100 FORMAT(20(1PE9.2)) 105 FORMAT(20(1PE10.3)) 110 FORMAT("RSALT(um)",10(1PE9.2)) END SUBROUTINE HYDRGF1 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: binsulf ! ! !DESCRIPTION: Subroutine BINSULF setup size-resolved sulfate sectional bin ! structure (allowing any variable bin resolution,i.e., variable bin volume ! ratio). !\\ !\\ ! !INTERFACE: ! SUBROUTINE BINSULF ! ! !REVISION HISTORY: ! 16 Nov 2008 - F. Yu - Initial version ! 08 Nov 2010 - R. Yantosca - Added ProTeX headers !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I,J,K,L, NMAX REAL*8 :: RMIN,VRAT,YVRATMAX,THIRD,VJK REAL*8 :: RDRY_TR, RDRY_TR1,RATIOVRAT REAL*8 :: YVRAT(NSO4) THIRD = 1.d0/3.d0 RMIN = 0.6d-9 ! m VRAT = 1.60d0 YVRATMAX = 8.0d0 RDRY_TR = 4.5d-8 ! m RDRY_TR1 = 3.d-7 ! m RATIOVRAT = 1.15d0 NMAX = NSO4 DO I = 1, NMAX IF(I.EQ.1) THEN RDRY(I) =RMIN ! ELSEIF((DBLE(I)/DBLE(I-1)).GE.VRAT) THEN ! YVRAT(I-1)=DBLE(I)/DBLE(I-1) ! RDRY(I) = RDRY(I-1)*YVRAT(I-1)**THIRD ELSEIF(RDRY(I-1).LE.RDRY_TR) THEN YVRAT(I-1)= VRAT RDRY(I) = RDRY(I-1)*YVRAT(I-1)**THIRD ! ELSEIF(RDRY(I-1).LE.RDRY_TR1) THEN ! YVRAT(I-1)= 2.0d0 ! RDRY(I) = RDRY(I-1)*YVRAT(I-1)**THIRD ELSE YVRAT(I-1) = YVRAT(I-2) * RATIOVRAT IF(YVRAT(I-1).GT.YVRATMAX) YVRAT(I-1) = YVRATMAX RDRY(I) = RDRY(I-1)*YVRAT(I-1)**THIRD ENDIF VDRY(I)=4.d0/3.d0*3.1416d0*(RDRY(I)**3.d0) ! m3 IF(I.EQ.NMAX) YVRAT(I) = YVRAT(I-1) ENDDO WRITE(6,*)"SULF bin information" WRITE(6,*)"Bin# R(um) Volume(m3) VRAT" DO I = 1, NMAX WRITE(6,55)I,RDRY(I)*1.E6,VDRY(I),YVRAT(I) ENDDO 55 FORMAT(I4, 10(1PE11.3)) !------------------------------------------------------------------------------ ! Coefficient for coagulation partition DO J=1,NMAX DO K=1, J VJK = VDRY(J) + VDRY(K) IF(VJK .GE. VDRY(NMAX)) THEN COAGPAR(j,k,NMAX) = 1.d0 COAGPAR(k,j,NMAX) = 1.d0 ELSE IF(J .LE. (NMAX-1))THEN DO I=J, NMAX-1 IF((VJK .GE. VDRY(i)) .AND. (VJK .LT. VDRY(i+1))) THEN COAGPAR(j,k,i)=((VDRY(i+1)-VJK)/(VDRY(i+1)-VDRY(i))) & *VDRY(i)/VJK COAGPAR(j,k,i+1) = 1.- COAGPAR(j,k,i) COAGPAR(k,j,i) = COAGPAR(j,k,i) COAGPAR(k,j,i+1) = COAGPAR(j,k,i+1) ENDIF ENDDO ENDIF ENDIF ENDDO ENDDO 100 FORMAT(I3,I3,I3,F5.2,F5.2) END SUBROUTINE BINSULF !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ! ! !DESCRIPTION: Subroutine BINSALT setups size-resolved sectional bins for ! sea salt (allowing any variable bin resolution,i.e., variable bin volume ! ratio) !\\ !\\ ! !INTERFACE: ! SUBROUTINE BINSALT ! ! !REVISION HISTORY: ! 16 Nov 2008 - F. Yu - Initial version ! 08 Nov 2010 - R. Yantosca - Added ProTeX headers !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I,J,K, NMAX REAL*8 :: RMIN,VRAT,YVRATMAX,THIRD,VJK REAL*8 :: RDRY_TR, RDRY_TR1,RATIOVRAT REAL*8 :: YVRAT(NSEA) REAL*8 :: RCM, FAC1, FAC2 ! ! !DEFINED PARAMETERS: ! REAL*8, PARAMETER :: C1 = 0.7674d0 REAL*8, PARAMETER :: C2 = 3.079d0 REAL*8, PARAMETER :: C3 = 2.573d-11 REAL*8, PARAMETER :: C4 = -1.424d0 !================================================================= ! BINSALT begins here! !================================================================= THIRD = 1.d0/3.d0 RMIN = 0.6d-8 ! m VRAT = 2.0d0 YVRATMAX = 8.0d0 RDRY_TR = 0.5d-7 ! m RDRY_TR1 = 3.d-0 ! m RATIOVRAT = 1.138d0 NMAX = NSEA DO I = 1, NMAX IF(I.EQ.1) THEN RSALT(I) =RMIN ELSEIF(I.LE.3) THEN YVRAT(I-1)= 2.5 RSALT(I) = RSALT(I-1)*YVRAT(I-1)**THIRD ELSEIF((DBLE(I)/DBLE(I-1)).GE.VRAT) THEN YVRAT(I-1)=DBLE(I)/DBLE(I-1) RSALT(I) = RSALT(I-1)*YVRAT(I-1)**THIRD ELSEIF(RSALT(I-1).LE.RDRY_TR) THEN YVRAT(I-1)= VRAT RSALT(I) = RSALT(I-1)*YVRAT(I-1)**THIRD ELSE YVRAT(I-1) = YVRAT(I-2) * RATIOVRAT IF(YVRAT(I-1).GT.YVRATMAX) YVRAT(I-1) = YVRATMAX RSALT(I) = RSALT(I-1)*YVRAT(I-1)**THIRD ENDIF VSALT(I)=4.d0/3.d0*3.1416d0*(RSALT(I)**3.d0) ! m3 IF(I.EQ.NMAX) YVRAT(I) = YVRAT(I-1) ENDDO WRITE(6,*)"Sea Salt bin information" WRITE(6,*)"Bin# R(um) Volume(m3) VRAT" DO I = 1, NMAX ! Sea salt radius [cm] RCM = RSALT(I) * 100d0 ! ! Exponential factors ! FAC1 = C1 * ( RCM**C2 ) ! FAC2 = C3 * ( RCM**C4 ) ! !! NOTE: DLOG is replaced by LOG (bmy, 2/16/11) !! RSALT80(I)=0.01d0*(FAC1/(FAC2-DLOG(0.8))+RCM**3.d0)**0.33d0 ! RSALT80(I)=0.01d0*(FAC1/(FAC2-LOG(0.8))+RCM**3.d0)**0.33d0 ! de Leeuw, ROG, 2010, yfq,20110513 RSALT80(I)= 2.*RSALT(I) WRITE(6,55)I,RSALT(I)*1.E6,RSALT80(I)*1.E6, VSALT(I),YVRAT(I) ENDDO 55 FORMAT(I4, 10(1PE11.3)) IACTSS1= 1 IACTSS2= 1 IACTSS3= 1 DO I = 2, NMAX IF(DACT1.GE.(2.*RSALT(I-1)).and.DACT1.LT.(2.*RSALT(I))) IACTSS1=I IF(DACT2.GE.(2.*RSALT(I-1)).and.DACT2.LT.(2.*RSALT(I))) IACTSS2=I IF(DACT3.GE.(2.*RSALT(I-1)).and.DACT3.LT.(2.*RSALT(I))) IACTSS3=I ENDDO WRITE(6,*)"IACTSS1=",IACTSS1,"IACTSS2=",IACTSS2,"IACTSS3=",IACTSS3 !------------------------------------------------------------------------------ ! Coefficient for coagulation partition DO J=1,NMAX DO K=1, J VJK = VSALT(J) + VSALT(K) IF(VJK .GE. VSALT(NMAX)) THEN COAGPARSS(j,k,NMAX) = 1.d0 COAGPARSS(k,j,NMAX) = 1.d0 ELSE IF(J .LE. (NMAX-1))THEN DO I=J, NMAX-1 IF((VJK .GE. VSALT(i)) .AND. (VJK .LT. VSALT(i+1))) THEN COAGPARSS(j,k,i)=((VSALT(i+1)-VJK)/(VSALT(i+1) & -VSALT(i)))*VSALT(i)/VJK COAGPARSS(j,k,i+1) = 1.- COAGPARSS(j,k,i) COAGPARSS(k,j,i) = COAGPARSS(j,k,i) COAGPARSS(k,j,i+1) = COAGPARSS(j,k,i+1) ENDIF ENDDO ENDIF ENDIF ENDDO ENDDO 100 FORMAT(I3,I3,I3,F5.2,F5.2) END SUBROUTINE BINSALT !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: bindst7 ! ! !DESCRIPTION: Subroutine BINDST setups size-resolved sectional bins for ! dust particles (allowing any variable bin resolution,i.e., variable bin ! volume ratio) !\\ !\\ ! !INTERFACE: ! SUBROUTINE BINDST7 ! ! !REVISION HISTORY: ! 13 Jun 2010 - F. Yu - Initial version ! 08 Nov 2010 - R. Yantosca - Added ProTeX headers !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I,J,K, NMAX ! REAL*8 :: RMIN,VRAT,YVRATMAX,THIRD,VJK ! REAL*8 :: RDRY_TR, RDRY_TR1,RATIOVRAT REAL*8 :: YVRAT(NDSTB) REAL*8 :: RCM !================================================================= ! BINDST begins here! !================================================================= NMAX = NDSTB ! based on GEOS-Chem size for now RDST(1) = 0.15d-6 !m RDST(2) = 0.25d-6 !m RDST(3) = 0.4d-6 !m RDST(4) = 0.8d-6 !m RDST(5) = 1.5d-6 !m RDST(6) = 2.5d-6 !m RDST(7) = 4.0d-6 !m DENDST(1) = 2.5 !g/cm3 DENDST(2) = 2.5 !g/cm3 DENDST(3) = 2.5 !g/cm3 DENDST(4) = 2.5 !g/cm3 DENDST(5) = 2.65 !g/cm3 DENDST(6) = 2.65 !g/cm3 DENDST(7) = 2.65 !g/cm3 DO I = 1, NMAX VDST(I)=4.d0/3.d0*3.1416d0*(RDST(I)**3.d0) ! m3 ENDDO DO I = 1, NMAX-1 YVRAT(I) = VDST(I+1)/VDST(I) ENDDO YVRAT(NMAX)=YVRAT(NMAX-1) WRITE(6,*)"Dust bin information" WRITE(6,*)"Bin# R(um) Volume(m3) VRAT" DO I = 1, NMAX ! dust radius [cm] RCM = RDST(I) * 100d0 WRITE(6,55)I,RDST(I)*1.E6, VDST(I),YVRAT(I) ENDDO 55 FORMAT(I4, 10(1PE11.3)) !------------------------------------------------------------------------------ ! ! Coefficient for coagulation partition ! --- Deal with this later ! DO J=1,NMAX ! DO K=1, J ! VJK = VDST(J) + VDST(K) ! IF(VJK .GE. VDST(NMAX)) THEN ! COAGPARSS(j,k,NMAX) = 1.d0 ! COAGPARSS(k,j,NMAX) = 1.d0 ! ELSE ! IF(J .LE. (NMAX-1))THEN ! DO I=J, NMAX-1 ! IF((VJK .GE. VDST(i)) .AND. (VJK .LT. VDST(i+1))) THEN ! COAGPARSS(j,k,i)=((VDST(i+1)-VJK)/(VDST(i+1) ! & -VDST(i)))*VDST(i)/VJK ! COAGPARSS(j,k,i+1) = 1.- COAGPARSS(j,k,i) ! ! COAGPARSS(k,j,i) = COAGPARSS(j,k,i) ! COAGPARSS(k,j,i+1) = COAGPARSS(j,k,i+1) ! ENDIF ! ENDDO ! ENDIF ! ENDIF ! ENDDO ! ENDDO 100 FORMAT(I3,I3,I3,F5.2,F5.2) END SUBROUTINE BINDST7 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: bindst15 ! ! !DESCRIPTION: Subroutine BINDST setups size-resolved sectional bins for ! dust particles (allowing any variable bin resolution,i.e., variable bin ! volume ratio) !\\ !\\ ! !INTERFACE: ! SUBROUTINE BINDST15 ! ! !REVISION HISTORY: ! 13 Jun 2010 - F. Yu - Initial version ! 08 Nov 2010 - R. Yantosca - Added ProTeX headers !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I,J,K, NMAX ! REAL*8 :: RMIN,VRAT,YVRATMAX,THIRD,VJK ! REAL*8 :: RDRY_TR, RDRY_TR1,RATIOVRAT REAL*8 :: YVRAT(NDSTB),DEDGE1(16) REAL*8 :: RCM ! DATA DEDGE1/0.05,0.09,0.18,0.35,0.6,1.0,1.55,2.5, ! Edge diameter (um) ! & 3.75,4.7,5.7,7.5,14.5,26.0,41.0,63.0/ DATA DEDGE1/0.02,0.045,0.09,0.18,0.35,0.6,1.0,1.55,2.5, ! Edge diameter (um) & 3.75,5.7,7.5,14.5,26.0,41.0,63.0/ !================================================================= ! BINDST begins here! !================================================================= DEDGE = DEDGE1 NMAX = NDSTB DO I = 1, NMAX RDST(I)=0.5*SQRT(DEDGE(I)*DEDGE(I+1))*1.d-6 ! m VDST(I)=4.d0/3.d0*3.1416d0*(RDST(I)**3.d0) ! m3 IF(RDST(I).LT.1.d-6) THEN DENDST(I)= 2.5 !g/cm3 ELSE DENDST(I)= 2.65 !g/cm3 ENDIF ENDDO DO I = 1, NMAX-1 YVRAT(I) = VDST(I+1)/VDST(I) ENDDO YVRAT(NMAX)=YVRAT(NMAX-1) WRITE(6,*)"Dust bin information" WRITE(6,*)"Bin# R(um) Volume(m3) VRAT" DO I = 1, NMAX ! dust radius [cm] RCM = RDST(I) * 100d0 WRITE(6,55)I,RDST(I)*1.E6, VDST(I),YVRAT(I) ENDDO 55 FORMAT(I4, 10(1PE11.3)) !------------------------------------------------------------------------------ ! ! Coefficient for coagulation partition ! --- Deal with this later ! DO J=1,NMAX ! DO K=1, J ! VJK = VDST(J) + VDST(K) ! IF(VJK .GE. VDST(NMAX)) THEN ! COAGPARSS(j,k,NMAX) = 1.d0 ! COAGPARSS(k,j,NMAX) = 1.d0 ! ELSE ! IF(J .LE. (NMAX-1))THEN ! DO I=J, NMAX-1 ! IF((VJK .GE. VDST(i)) .AND. (VJK .LT. VDST(i+1))) THEN ! COAGPARSS(j,k,i)=((VDST(i+1)-VJK)/(VDST(i+1) ! & -VDST(i)))*VDST(i)/VJK ! COAGPARSS(j,k,i+1) = 1.- COAGPARSS(j,k,i) ! ! COAGPARSS(k,j,i) = COAGPARSS(j,k,i) ! COAGPARSS(k,j,i+1) = COAGPARSS(j,k,i+1) ! ENDIF ! ENDDO ! ENDIF ! ENDIF ! ENDDO ! ENDDO 100 FORMAT(I3,I3,I3,F5.2,F5.2) END SUBROUTINE BINDST15 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ! ! !DESCRIPTION: Subroutine BINBCOC setups size-resolved sectional bins for ! BCOC (allowing any variable bin resolution,i.e., variable bin volume ! ratio) !\\ !\\ ! !INTERFACE: ! SUBROUTINE BINBCOC ! ! !REVISION HISTORY: ! 1 Feb 2016 - F. Yu - Initial version ! 08 Nov 2010 - R. Yantosca - Added ProTeX headers !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I,J,K, NMAX REAL*8 :: RMIN,VRAT,YVRATMAX,THIRD,VJK REAL*8 :: RDRY_TR, RDRY_TR1,RATIOVRAT REAL*8 :: YVRAT(NBCOC) REAL*8 :: RCM, FAC1, FAC2 ! ! !DEFINED PARAMETERS: ! REAL*8, PARAMETER :: C1 = 0.7674d0 REAL*8, PARAMETER :: C2 = 3.079d0 REAL*8, PARAMETER :: C3 = 2.573d-11 REAL*8, PARAMETER :: C4 = -1.424d0 !================================================================= ! BINBCOC begins here! !================================================================= THIRD = 1.d0/3.d0 RMIN = 5.0d-9 ! m YVRAT = 2.0d0 YVRAT(1)=8.0d0 YVRAT(2)=4.0d0 YVRAT(13)=4.0d0 YVRAT(14)=8.0d0 NMAX = NBCOC DO I = 1, NMAX IF(I.EQ.1) THEN RBCOC(I) =RMIN ELSE RBCOC(I) = RBCOC(I-1)*YVRAT(I-1)**THIRD ENDIF VBCOC(I)=4.d0/3.d0*3.1416d0*(RBCOC(I)**3.d0) ! m3 IF(I.EQ.NMAX) YVRAT(I) = YVRAT(I-1) ENDDO WRITE(6,*)"BCOC bin information" WRITE(6,*)"Bin# R(um) Volume(m3) VRAT" DO I = 1, NMAX ! BCOC radius [um] WRITE(6,55)I,RBCOC(I)*1.E6,VBCOC(I),YVRAT(I) ENDDO 55 FORMAT(I4, 10(1PE11.3)) !------------------------------------------------------------------------------ ! Coefficient for coagulation partition DO J=1,NMAX DO K=1, J VJK = VBCOC(J) + VBCOC(K) IF(VJK .GE. VBCOC(NMAX)) THEN COAGPBCOC(j,k,NMAX) = 1.d0 COAGPBCOC(k,j,NMAX) = 1.d0 ELSE IF(J .LE. (NMAX-1))THEN DO I=J, NMAX-1 IF((VJK .GE. VBCOC(i)) .AND. (VJK .LT. VBCOC(i+1))) THEN COAGPBCOC(j,k,i)=((VBCOC(i+1)-VJK)/(VBCOC(i+1) & -VBCOC(i)))*VBCOC(i)/VJK COAGPBCOC(j,k,i+1) = 1.- COAGPBCOC(j,k,i) COAGPBCOC(k,j,i) = COAGPBCOC(j,k,i) COAGPBCOC(k,j,i+1) = COAGPBCOC(j,k,i+1) ENDIF ENDDO ENDIF ENDIF ENDDO ENDDO 100 FORMAT(I3,I3,I3,F5.2,F5.2) END SUBROUTINE BINBCOC !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: saltemit ! ! !DESCRIPTION: Sea salt emissions? !\\ !\\ ! !INTERFACE: ! SUBROUTINE SALTEMIT ! ! !REVISION HISTORY: ! 17 Mar 2010 - F. Yu - Initial version ! 08 Nov 2010 - R. Yantosca - Added ProTeX headers !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL*8 :: YVRAT(NSEA) REAL*8 :: DR(NSEA),REDGE(NSEA+1),DLOGDp(NSEA) REAL*8 :: DFSALT9(NSEA),BETA3(6,3),BETA(6) REAL*8 :: VRHI,VRLOW,RUM,DFDR9,DFDLOGD9 INTEGER :: I,J,NMAX DATA BETA3/-5.001D3,0.808D6,-1.98D7,2.188D8,-1.144D9,2.29D9 & ,3.854D3,1.168D4,-6.572D4,1.003D5,-6.407D4,1.493D4 & ,4.498D2,0.839D3,-5.394D2,1.218D2,-1.213D1,4.514D-1/ ! NMAX = NSEA ! SEASCHEME=1 IF(SEASCHEME.EQ.1) THEN WRITE(6,*)"SEASCHEME: Clarke et al., 2006" ELSEIF(SEASCHEME.EQ.2) THEN WRITE(6,*)"SEASCHEME: Gong et al., 2003" ENDIF WRITE(6,*)"SEA SALT SIZE at RH=80%" DO I = 1, NMAX-1 YVRAT(I)=(RSALT80(I+1)/RSALT80(I))**3.0 ENDDO YVRAT(NMAX) = YVRAT(NMAX-1) DO I = 1, NMAX IF(I.EQ.1) THEN VRHI = YVRAT(I)**(1./6.) VRLOW= 1./VRHI REDGE(I) = RSALT80(I)*VRLOW REDGE(I+1) = RSALT80(I)*VRHI ELSEIF(I.EQ.NMAX) THEN VRLOW= 1./(YVRAT(I-1)**(1./6.)) VRHI = 1./VRLOW REDGE(I+1) = RSALT80(I)*VRHI ELSE VRHI = YVRAT(I)**(1./6.) VRLOW= 1./( YVRAT(I-1)**(1./6.)) REDGE(I+1) = RSALT80(I)*VRHI ENDIF DR(I) = RSALT80(I)*(VRHI-VRLOW) WRITE(6,100)2.E6*RSALT80(I),2.E6*DR(I), & 2.E6*RSALT80(I)*VRLOW,2.E6*RSALT80(I)*VRHI, & VRHI,VRLOW,YVRAT(I) ENDDO IF(SEASCHEME==2)THEN ! ! Size-resolved sea salt emission based on Gong et al., 2003 ! DO I = 1, NMAX RUM = RSALT80(I)*1.D6 ! Radius @RH=80% in um DFDR9=1.373*9.d0**3.41* ! dFdr (m-2 um-1 s-1) & (RUM**(-4.7D0*((1.D0+30.D0*RUM) & **(-0.017D0*(RUM**(-1.44D0)))))) & * (1.d0+0.057d0*(RUM**3.45d0)) & * (10.d0**(1.607d0*EXP(-1.0d0 & * ((0.433d0-DLOG10(RUM))/0.433d0)**2.d0))) DFSALT9(I) =DFDR9 * DR(I)*1.E6 ! Sea-salt flux dF (# m-2 s-1) ! Sea-salt mass flux dFM (kg m-2 s-1) at U10 = 9 m/s DFMSALT9(I)=DFSALT9(I)*2.2d3*4.0/3.0*3.1416*RSALT(I)**3.0 ! Yu+20111015 : Somehow Gong's scheme underpredict seasalt AOD by a factor ! of ~2 in APM simulation when compared to MODIS and MISR data, double DFMSALT9 for now ! 20111016: x2 not enough --> x2.5 ! DFMSALT9(I)= DFMSALT9(I)*2.0 ! DFMSALT9(I)= DFMSALT9(I)*2.5 ! use input: 2.5 for 4x5 and 1.7 for 2x2.5 DFMSALT9(I)= DFMSALT9(I)*FSALTSCAL ENDDO ENDIF ! Dry size for plotting WRITE(6,*)"SEA SALT DRY SIZE" DO I = 1, NMAX-1 YVRAT(I)=(RSALT(I+1)/RSALT(I))**3.0 ENDDO YVRAT(NMAX) = YVRAT(NMAX-1) DO I = 1, NMAX IF(I.EQ.1) THEN VRHI = YVRAT(I)**(1./6.) VRLOW= 1./VRHI REDGE(I) = RSALT(I)*VRLOW REDGE(I+1) = RSALT(I)*VRHI ELSEIF(I.EQ.NMAX) THEN VRLOW= 1./(YVRAT(I-1)**(1./6.)) VRHI = 1./VRLOW REDGE(I+1) = RSALT(I)*VRHI ELSE VRHI = YVRAT(I)**(1./6.) VRLOW= 1./( YVRAT(I-1)**(1./6.)) REDGE(I+1) = RSALT(I)*VRHI ENDIF DR(I) = RSALT(I)*(VRHI-VRLOW) DLOGDp(I) = DLOG10(VRHI/VRLOW) WRITE(6,100)2.E6*RSALT(I),2.E6*DR(I), & 2.E6*RSALT(I)*VRLOW,2.E6*RSALT(I)*VRHI, & VRHI,VRLOW,YVRAT(I) ENDDO IF(SEASCHEME==1)THEN ! ! Size-resolved sea salt emission based on Clarke et al., 2006 ! DO I = 1, NMAX RUM = RSALT(I)*2.D6 ! Diameter in um IF(RUM<0.132)THEN DO J=1,6 BETA(J)=BETA3(J,1) ENDDO ELSE IF(RUM<1.2)THEN DO J=1,6 BETA(J)=BETA3(J,2) ENDDO ELSE DO J=1,6 BETA(J)=BETA3(J,3) ENDDO ENDIF ENDIF DFDR9=3.84d-2*(9.d0**3.41) ! dF (m-2 s-1) & *(BETA(1)+BETA(2)*RUM+BETA(3)*RUM**2+BETA(4)*RUM**3 & +BETA(5)*RUM**4+BETA(6)*RUM**5)*DLOGDp(I) DFSALT9(I) =DFDR9 ! Sea-salt flux dF (# m-2 s-1) ! Clarke parameterization invalid for last bin which is 10 um ! Set to half of last bin IF(I.EQ.NMAX) DFSALT9(I) = 0.5*DFSALT9(I-1) ! Sea-salt mass flux dFM (kg m-2 s-1) at U10 = 9 m/s DFMSALT9(I)=DFSALT9(I)*2.2d3*4.0/3.0*3.1416*RSALT(I)**3.0 ENDDO ENDIF DO I = 1, NMAX DFDLOGD9= DFSALT9(I)/DLOGDp(I) ! Sea-salt flux dF/dlogDp (# m-2 s-1) ! WRITE(28,100)RSALT(I)*2.E6,DFDLOGD9 ! WRITE(29,100)REDGE(I)*2.E6, 1.E-20 ! WRITE(29,100)REDGE(I)*2.E6,DFDLOGD9 ! WRITE(29,100)REDGE(I+1)*2.E6,DFDLOGD9 ! WRITE(29,100)REDGE(I+1)*2.E6,1.E-20 100 FORMAT(10(1PE10.3)) ENDDO !FLUSH(28) !FLUSH(29) END SUBROUTINE SALTEMIT !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: sulf_emit ! ! !DESCRIPTION: Subroutine SULF\_EMIT computes size-resolved aerosol emissions ! now for primary sulfate aerosols, can include other types later on. !\\ !\\ ! !INTERFACE: ! SUBROUTINE SULF_EMIT ! ! !REMARKS: ! CEMITSULF2(NSO4,2) is the particle mass conc (kg/m3) in each bin of each ! mode per unit mass (kg/m3) of primary sulfate emitted. Multiply ! CEMITSULF2(NSO4,2) with total mass of primary sulfate emission to obtain ! sulfate mass emitted into each bin. CEMITSULF(NSO4) combines two modes ! based on the fractions and IFEMITBCOCS ! ! !REVISION HISTORY: ! 28 Aug 2008 - F. Yu - Initial version ! 08 Nov 2010 - R. Yantosca - Added ProTeX headers !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, IMOD, NMAX REAL*8 :: THIRD, CORPI REAL*8 :: TOTNUM, TOTMASS REAL*8 :: VRHI,VRLOW,VMULT1,SIGG,VRAD,VR1,CSIG1,CSIG2 REAL*8 :: RADRAT, CONEXP, SUMFRAC, XTEMP REAL*8 :: YVRAT(NSO4), CFRAC(NSO4) REAL*8 :: DR(NSO4), DLOGDp(NSO4), REDGE(NSO4+1) REAL*8 :: YVMULT1(2),YGSTANDEV(2),YVOLRAD(2) REAL*8 :: XMI, YTEMP,YTEMP2 !================================================================= ! SULF_EMIT begins here! !================================================================= ! Initialize the particle number size distribution with two log-normal modes ! NMAX=NSO4 WRITE(6,*) "Parameters for primary sulfate emission:" WRITE(6,*)"Mode 1:", Y_R1, Y_SIGMA1, FRAC1 WRITE(6,*)"Mode 2:", Y_R2, Y_SIGMA2, FRAC2 YVMULT1(1) = 1000.0 ! can be any postive number, cancelled during norm YGSTANDEV(1) = LOG(Y_SIGMA1) YVOLRAD(1) = Y_R1 ! YVMULT1(2) = 1000.0 YGSTANDEV(2) = LOG(Y_SIGMA2) YVOLRAD(2) = Y_R2 ! THIRD = 1.d0/3.d0 CORPI = 1.d0/SQRT(2.d0*3.1415926d0) DO 783 I = 1, NMAX-1 YVRAT(I)=(RDRY(I+1)/RDRY(I))**3.0 783 CONTINUE YVRAT(NMAX) = YVRAT(NMAX-1) DO 786 I = 1, NMAX ! VRHI = ( 2.0d0*YVRAT(I)/(1.0d0 + YVRAT(I)) )**THIRD IF(I.EQ.1) THEN ! VRLOW= ( 2.0d0/(1.0d0 + YVRAT(I)) )**THIRD VRHI = YVRAT(I)**(1./6.) VRLOW= 1./VRHI REDGE(I) = RDRY(I)*VRLOW REDGE(I+1) = RDRY(I)*VRHI ELSEIF(I.EQ.NMAX) THEN VRLOW= 1./(YVRAT(I-1)**(1./6.)) VRHI = 1./VRLOW REDGE(I+1) = RDRY(I)*VRHI ELSE ! VRLOW= ( 2.0d0/(1.0d0 + YVRAT(I-1)) )**THIRD VRHI = YVRAT(I)**(1./6.) VRLOW= 1./( YVRAT(I-1)**(1./6.)) REDGE(I+1) = RDRY(I)*VRHI ENDIF DR(I) = RDRY(I)*(VRHI-VRLOW) DLOGDp(I) = LOG10(VRHI/VRLOW) CEMITSULF2(I,1) = 1.d-50 CEMITSULF2(I,2) = 1.d-50 ! WRITE(24,152)2.E6*RDRY(I),2.E6*DR(I), ! & 2.E6*RDRY(I)*VRLOW,2.E6*RDRY(I)*VRHI, ! & VRHI,VRLOW,YVRAT(I) 786 CONTINUE ! ! VMULT1 is total number. ! DO IMOD = 1, 2 VMULT1 = YVMULT1(IMOD) SIGG = YGSTANDEV(IMOD) VRAD = YVOLRAD(IMOD) VR1 = 1.d0 / VRAD CSIG1 = CORPI / SIGG CSIG2 = 0.5d0 / (SIGG * SIGG) SUMFRAC = 0.d0 DO I = 1, NMAX RADRAT = LOG( RDRY(I) * VR1 )*1.d0 CONEXP = RADRAT * RADRAT * CSIG2 CFRAC(I) = DR(I) /RDRY(I) * CSIG1 * EXP(-CONEXP) SUMFRAC = SUMFRAC + CFRAC(I) ENDDO ! TOTMASS = 0. DO I = 1, NMAX XTEMP = CFRAC(I)*VMULT1/SUMFRAC CEMITSULF2(I,IMOD) = CEMITSULF2(I,IMOD) + XTEMP ! # per volume TOTMASS = TOTMASS + XTEMP*VDRY(I)*DENSULF*1.d3 ! kg per volume ENDDO ! ! Scale to get number conc per unit mass of total emitted particles TOTNUM = 0. DO I = 1, NMAX CEMITSULF2(I,IMOD) = CEMITSULF2(I,IMOD)/TOTMASS TOTNUM = TOTNUM + CEMITSULF2(I,IMOD) !total number conc per unit mass WRITE(6,152)2*RDRY(I)*1.E9,CEMITSULF2(I,IMOD)/DLOGDp(I) ENDDO ! Convert # conc to mass conc DO I = 1, NMAX CEMITSULF2(I,IMOD)=CEMITSULF2(I,IMOD)*VDRY(I)*DENSULF*1.d3 WRITE(6,152)2*RDRY(I)*1.E9,CEMITSULF2(I,IMOD) ENDDO WRITE(6,151)IMOD WRITE(6,*)" sigma r_mode Ntots(per kg)" WRITE(6,152)EXP(SIGG),VRAD,TOTNUM 151 FORMAT("Parameters of background aerosols Mode ", I3) 152 FORMAT(10(1PE10.3)) ENDDO ! WRITE(21,*)" Primary Sulfate Emission Parameterization Ni/kg" ! WRITE(21,*)" R Mod1 Mod2 F1*Mod1+(1-F1)*Mod2" ! WRITE(21,*)" (m) (#/ug) (#/ug) (#/ug)" ! WRITE(22,*)" Primary Sulfate Emission Parameterization ! & dNi/dlogDp /ug" ! WRITE(22,*)" D F1*Mod1+(1-F1)*Mod2 Mod1 Mod2 " ! WRITE(22,*)" (um) (#/ug) (#/ug) (#/ug)" DO I = 1, NMAX IF(IFEMITBCOCS.EQ.1) THEN ! put accum mode primary sulfate in BCOC CEMITSULF(I)=CEMITSULF2(I,1)*FRAC1 FEMTBCOCS = FRAC2 ELSE CEMITSULF(I)=CEMITSULF2(I,1)*FRAC1 + CEMITSULF2(I,2)*FRAC2 FEMTBCOCS = 0.d0 ENDIF XMI = VDRY(I)*DENSULF*1.E12 ! ug (VDRY in m3, DENSULF in g/cm3) YTEMP = XMI*DLOGDp(I) ! WRITE(21,152)RDRY(I),CEMITSULF2(I,1)/XMI, ! & CEMITSULF2(I,2)/XMI, CEMITSULF(I)/XMI !Output dN/dlogDp (#/kg-sulfate) YTEMP2 = CEMITSULF2(I,2)*FRAC2/YTEMP ! WRITE(22,152)2*RDRY(I)*1.E6,CEMITSULF(I)/YTEMP, ! & YTEMP2 ! & CEMITSULF2(I,1)/YTEMP, ! & CEMITSULF2(I,2)/YTEMP ! WRITE(23,152)2.E6*REDGE(I),1.E-20,1.E-20 ! WRITE(23,152)2.E6*REDGE(I),CEMITSULF(I)/YTEMP,YTEMP2 ! WRITE(23,152)2.E6*REDGE(I+1),CEMITSULF(I)/YTEMP,YTEMP2 ! WRITE(23,152)2.E6*REDGE(I+1),1.E-20,1.E-20 ! WRITE(24,152)2.E6*RDRY(I),2.E6*DR(I), ! & 2.E6*(REDGE(I+1)-REDGE(I)), ! & 2.E6*REDGE(I),2.E6*REDGE(I+1),YVRAT(I)**(1./3.) ENDDO !FLUSH(21) !FLUSH(22) !FLUSH(23) !FLUSH(24) END SUBROUTINE SULF_EMIT !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: bcoc_emit ! ! !DESCRIPTION: Subroutine BCOC\_EMIT computes size-resolved aerosol ! emissions for primary BCOC aerosols. !\\ !\\ ! !INTERFACE: ! SUBROUTINE BCOC_EMIT ! ! !REMARKS: ! CEMITBCOC2(NMAX,2) is the # of BCOC particles distributed to each bin of ! per unit mass (kg) of primary BCOC. Multiple CEMITBCOC2(NNMAX,2) with total ! BC or OC mass conc in the grid to obtain # conc. Before the size-resolved ! BCOC microphysics is implemented, here only use it for convert mass conc to ! number conc based on two assumed log-normal distributions: Mod1 for fossil ! fuel; mod2 for biomass/biofuel. ! ! !REVISION HISTORY: ! 22 Jan 2009 - F. Yu - Initial version ! 08 Nov 2010 - R. Yantosca - Added ProTeX headers !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, IMOD, NMAX, N REAL*8 :: THIRD, CORPI REAL*8 :: TOTMASS REAL*8 :: VRHI,VRLOW,VMULT1,SIGG,VRAD,VR1,CSIG1,CSIG2 REAL*8 :: RADRAT, CONEXP, SUMFRAC, XTEMP REAL*8 :: YVRAT(NBCOC), CFRAC(NBCOC) REAL*8 :: DR(NBCOC), DLOGDp(NBCOC), REDGE(NBCOC+1) REAL*8 :: YVMULT1(2),YGSTANDEV(2),YVOLRAD(2) REAL*8 :: XMI, YTEMP REAL*8 :: x REAL :: FV,SS,DACT,TK INTEGER :: IS,IT,ISOL,INTTK ! Read in pre-calculated table for the dry diameters of particles ! that can be activated at give supersaturation as a function ! of T,k (hygroscopicity parameter) ! CLOSE(211) OPEN(211,file=TRIM(DATA_DIR_1x1)// & '/APM_data_201906/APMTABLES/DACTS_50S.txt', & status='old') DO I=1, 15 READ(211,*) ! skip lines ENDDO DO IS=1,MSAT DO IT=1,MTACT READ(211,101)SS,TK READ(211,101)(DACTTAB(IT,I,IS),I=1,MKACT) ENDDO ENDDO ! flush(212) ! close(212) 101 FORMAT(500(1PE9.2)) CLOSE(211) !================================================================= ! BCOC_EMIT begins here! !================================================================= ! Initialize the particle number size distribution with two log-normal modes ! NMAX=NBCOC WRITE(6,*) "Parameters for primary BCOC" DBCOC1 = Z_R1*2.0 BCOCSIGMA1 = Z_SIGMA1 DBCOC2 = Z_R2*2.0 BCOCSIGMA2 = Z_SIGMA2 ! Effective mode radius REFBCOC(1) = Z_R1*exp(2.*LOG(Z_SIGMA1)*LOG(Z_SIGMA1)) REFBCOC(2) = Z_R2*exp(2.*LOG(Z_SIGMA2)*LOG(Z_SIGMA2)) WRITE(6,*)"Mode 1:", Z_R1, Z_SIGMA1, REFBCOC(1) WRITE(6,*)"Mode 2:", Z_R2, Z_SIGMA2, REFBCOC(2) !YuBCden DENBC = 1000.0 !kg/m3 !20110712 DENBC = 1800.0 !kg/m3 ! DENBC = 1200.0 !kg/m3 DENOC = 1800.0 !kg/m3 YVMULT1(1) = 1000. YGSTANDEV(1) = LOG(Z_SIGMA1) YVOLRAD(1) = Z_R1 ! YVMULT1(2) = 30. YGSTANDEV(2) = LOG(Z_SIGMA2) YVOLRAD(2) = Z_R2 ! THIRD = 1.d0/3.d0 CORPI = 1.d0/SQRT(2.d0*3.1415926d0) DO 783 I = 1, NMAX-1 YVRAT(I)=(RBCOC(I+1)/RBCOC(I))**3.0 783 CONTINUE YVRAT(NMAX) = YVRAT(NMAX-1) DO 786 I = 1, NMAX ! VRHI = ( 2.0d0*YVRAT(I)/(1.0d0 + YVRAT(I)) )**THIRD IF(I.EQ.1) THEN ! VRLOW= ( 2.0d0/(1.0d0 + YVRAT(I)) )**THIRD VRHI = YVRAT(I)**(1./6.) VRLOW= 1./VRHI REDGE(I) = RBCOC(I)*VRLOW REDGE(I+1) = RBCOC(I)*VRHI ELSEIF(I.EQ.NMAX) THEN VRLOW= 1./(YVRAT(I-1)**(1./6.)) VRHI = 1./VRLOW REDGE(I+1) = RBCOC(I)*VRHI ELSE ! VRLOW= ( 2.0d0/(1.0d0 + YVRAT(I-1)) )**THIRD VRHI = YVRAT(I)**(1./6.) VRLOW= 1./( YVRAT(I-1)**(1./6.)) REDGE(I+1) = RBCOC(I)*VRHI ENDIF DR(I) = RBCOC(I)*(VRHI-VRLOW) DLOGDp(I) = LOG10(VRHI/VRLOW) CEMITBCOC1(I,1) = 1.d-50 CEMITBCOC1(I,2) = 1.d-50 CEMITBCOC2(I,1) = 1.d-50 CEMITBCOC2(I,2) = 1.d-50 786 CONTINUE ! ! VMULT1 is total number. ! DO IMOD = 1, 2 VMULT1 = YVMULT1(IMOD) SIGG = YGSTANDEV(IMOD) VRAD = YVOLRAD(IMOD) VR1 = 1.d0 / VRAD CSIG1 = CORPI / SIGG CSIG2 = 0.5d0 / (SIGG * SIGG) SUMFRAC = 0.d0 DO I = 1, NMAX RADRAT = LOG( RBCOC(I) * VR1 )*1.d0 CONEXP = RADRAT * RADRAT * CSIG2 CFRAC(I) = DR(I) /RBCOC(I) * CSIG1 * EXP(-CONEXP) SUMFRAC = SUMFRAC + CFRAC(I) ENDDO ! TOTMASS = 0. DO I = 1, NMAX XTEMP = CFRAC(I)*VMULT1/SUMFRAC CEMITBCOC1(I,IMOD) = CEMITBCOC1(I,IMOD)+XTEMP*VBCOC(I)*DENBC CEMITBCOC2(I,IMOD) = CEMITBCOC2(I,IMOD) + XTEMP !# per volume TOTMASS = TOTMASS + XTEMP*VBCOC(I)*DENBC ! kg per volume ENDDO ! ! Scale to get number of BCOC per unit mass TOTNUMBC(IMOD) = 0. TOTAREABC(IMOD) = 0. DO I = 1, NMAX CEMITBCOC1(I,IMOD) = CEMITBCOC1(I,IMOD)/TOTMASS CEMITBCOC2(I,IMOD) = CEMITBCOC2(I,IMOD)/TOTMASS !# of BCOC particles per kg of BCOC TOTNUMBC(IMOD) = TOTNUMBC(IMOD) + CEMITBCOC2(I,IMOD) !total number of BC per kg of BC TOTAREABC(IMOD) = TOTAREABC(IMOD) + ! total area of BC per kg of BC & CEMITBCOC2(I,IMOD)*4.*3.1416*RBCOC(I)*RBCOC(I) ! m2/kg BC ! WRITE(6,152)2*RBCOC(I)*1.E9,CEMITBCOC2(I,IMOD)/DLOGDp(I) ENDDO ! Convert # conc to mass conc ! DO I = 1, NMAX ! CEMITBCOC2(I,IMOD) = CEMITBCOC2(I,IMOD)*VBCOC(I)*DENBCOC ! WRITE(6,152)2*RBCOC(I)*1.E9,CEMITBCOC2(I,IMOD) ! ENDDO TOTNUMOC(IMOD) = TOTNUMBC(IMOD)* DENBC/DENOC !total number of OC per kg of OC TOTAREAOC(IMOD) = TOTAREABC(IMOD) * DENBC/DENOC ! total area of OC per kg of OC WRITE(6,151)IMOD WRITE(6,152)EXP(SIGG),VRAD, TOTNUMBC(IMOD), TOTNUMOC(IMOD), & TOTAREABC(IMOD), TOTAREAOC(IMOD) 151 FORMAT("Parameters of PRIMARY BCOC PARTICLES for mode ", I3) 152 FORMAT(10(1PE10.3)) ENDDO WRITE(6,*)" FosilFuel Biomass/Biofuel" WRITE(6,*)"# & surface area (m2) of BC particles per kg of BC" WRITE(6,152)TOTNUMBC(1),TOTNUMBC(2),TOTAREABC(1),TOTAREABC(2) WRITE(6,*)"# & surface area (m2) of OC particles per kg of OC" WRITE(6,152)TOTNUMOC(1),TOTNUMOC(2),TOTAREAOC(1),TOTAREAOC(2) WRITE(6,*)"BC log-normal distributioc (dN/dlogDp per kg)"// & " and Mass rate" WRITE(6,*)"Dia(nm) mode1 mode2" DO I = 1, NMAX WRITE(6,152)2*RBCOC(I)*1.E9,CEMITBCOC2(I,1)/DLOGDp(I), & CEMITBCOC2(I,2)/DLOGDp(I),CEMITBCOC1(I,1),CEMITBCOC1(I,2) ENDDO END SUBROUTINE BCOC_EMIT !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: init_apmarrays ! ! !DESCRIPTION: Subroutine INIT\_APMARRAYS allocates and zeroes module arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE INIT_APMARRAYS ! ! !REVISION HISTORY: ! 28 Aug 2008 - F. Yu - Initial version ! 08 Nov 2010 - R. Yantosca - Added ProTeX headers !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: AS !================================================================= ! INIT_AEROSOL begins here! !================================================================= ALLOCATE( RDRY( NSO4 ), STAT=AS ) RDRY = 0d0 ALLOCATE( VDRY( NSO4 ), STAT=AS ) VDRY = 0d0 ALLOCATE( COAGPAR(NSO4,NSO4,NSO4 ), STAT=AS ) COAGPAR = 0d0 ALLOCATE( CEMITSULF(NSO4), STAT=AS ) CEMITSULF = 0d0 ALLOCATE( CEMITSULF2(NSO4,2), STAT=AS ) CEMITSULF2 = 0. !OPT+ ALLOCATE( RBCOC(NBCOC), STAT=AS ) RBCOC = 0. ALLOCATE( VBCOC(NBCOC), STAT=AS ) VBCOC = 0. ALLOCATE( COAGPBCOC(NBCOC,NBCOC,NBCOC), STAT=AS ) COAGPBCOC = 0. ALLOCATE( CEMITBCOC1(NBCOC,2), STAT=AS ) CEMITBCOC1 = 0. ALLOCATE( CEMITBCOC2(NBCOC,2), STAT=AS ) CEMITBCOC2 = 0. ALLOCATE( RSALT( NSEA ), STAT=AS ) RSALT = 0d0 ALLOCATE( VSALT( NSEA ), STAT=AS ) VSALT = 0d0 ALLOCATE( RSALT80( NSEA ), STAT=AS ) RSALT80 = 0d0 ALLOCATE( DFMSALT9( NSEA ), STAT=AS ) DFMSALT9 = 0d0 ALLOCATE( COAGPARSS(NSEA,NSEA,NSEA ), STAT=AS ) COAGPARSS = 0d0 ALLOCATE( COAGPBCOC(NBCOC,NBCOC,NBCOC ), STAT=AS ) COAGPBCOC = 0d0 ALLOCATE( YGF(99,4), STAT=AS ) YGF = 0d0 ALLOCATE( DEDGE( NDSTB+1 ), STAT=AS ) DEDGE = 0d0 ALLOCATE( RDST( NDSTB ), STAT=AS ) RDST = 0d0 ALLOCATE( DENDST( NDSTB ), STAT=AS ) DENDST = 0d0 ALLOCATE( VDST( NDSTB ), STAT=AS ) VDST = 0d0 END SUBROUTINE INIT_APMARRAYS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: cleanup_apmarrays ! ! !DESCRIPTION: Subroutine CLEANUP_APMARRAYS deallocates all module arrays !\\ !\\ ! !INTERFACE: ! SUBROUTINE CLEANUP_APMARRAYS ! ! !REVISION HISTORY: ! 28 Aug 2008 - F. Yu - Initial version ! 08 Nov 2010 - R. Yantosca - Added ProTeX headers !EOP !------------------------------------------------------------------------------ !BOC !================================================================= ! CLEANUP_AEROSOL begins here! !================================================================= IF ( ALLOCATED( RDRY ) ) DEALLOCATE( RDRY ) IF ( ALLOCATED( VDRY ) ) DEALLOCATE( VDRY ) IF ( ALLOCATED( COAGPAR ) ) DEALLOCATE( COAGPAR ) IF ( ALLOCATED( RSALT ) ) DEALLOCATE( RSALT ) IF ( ALLOCATED( VSALT ) ) DEALLOCATE( VSALT ) IF ( ALLOCATED( RSALT80 ) ) DEALLOCATE( RSALT80 ) IF ( ALLOCATED( DFMSALT9 ) ) DEALLOCATE( DFMSALT9 ) IF ( ALLOCATED( COAGPARSS ) ) DEALLOCATE( COAGPARSS ) IF ( ALLOCATED( COAGPBCOC ) ) DEALLOCATE( COAGPBCOC ) IF ( ALLOCATED( CEMITSULF ) ) DEALLOCATE( CEMITSULF ) IF ( ALLOCATED( CEMITSULF2 ) ) DEALLOCATE( CEMITSULF2 ) IF ( ALLOCATED( CEMITBCOC1 ) ) DEALLOCATE( CEMITBCOC1 ) !OPT+ IF ( ALLOCATED( CEMITBCOC2 ) ) DEALLOCATE( CEMITBCOC2 ) !OPT+ IF ( ALLOCATED( YGF ) ) DEALLOCATE( YGF ) END SUBROUTINE CLEANUP_APMARRAYS !EOC END MODULE APM_INIT_MOD #endif ================================================ FILE: APM/apm_mixactivate.F90 ================================================ #ifdef APM !************************************************************************ ! This computer software was prepared by Battelle Memorial Institute, ! hereinafter the Contractor, under Contract No. DE-AC05-76RL0 1830 with ! the Department of Energy (DOE). NEITHER THE GOVERNMENT NOR THE ! CONTRACTOR MAKES ANY WARRANTY, EXPRESS OR IMPLIED, OR ASSUMES ANY ! LIABILITY FOR THE USE OF THIS SOFTWARE. ! ! MOSAIC module: see chem/module_mosaic_driver.F for references and terms ! of use !************************************************************************ ! ! Calculate maxsat at given updraft velocity and particle size dist ! modified from relevant WRF_Chem code for APM ! by F. Yu, UAlbany, 2012/11/19 ! Reference: ! Abdul-Razzak and Ghan, A parameterization of aerosol activation. ! 3. Sectional representation. J. Geophys. Res., 107, 2002. MODULE apm_mixactivate PRIVATE PUBLIC activate CONTAINS !---------------------------------------------------------------------- !---------------------------------------------------------------------- ! 06-nov-2005 rce - grid_id & ktau added to arg list subroutine activate(maxsatout, wbar, tair, pres,& maxd_atype, ntype_aer, maxd_asize, nsize_aer, & na, am, hygro) implicit none integer,intent(in) :: maxd_atype ! dimension of types integer,intent(in) :: maxd_asize ! dimension of sizes integer,intent(in) :: ntype_aer ! number of types integer,intent(in) :: nsize_aer(maxd_atype) ! number of sizes for type real*8,intent(in) :: wbar ! grid cell mean vertical velocity (m/s) real*8,intent(in) :: tair ! air temperature (K) real*8,intent(in) :: pres ! pressure (Pa) real*8,intent(in) :: na(maxd_asize,maxd_atype) ! aerosol number concentration (/m3) real*8,intent(in) :: am(maxd_asize,maxd_atype) ! aerosol section dry radius (m) real*8,intent(in) :: hygro(maxd_asize,maxd_atype) ! bulk hygroscopicity of aerosol mode real*8,intent(inout) :: maxsatout real*8,parameter :: g=9.81,rhowater=1000.,XLV=2.5E6,r_d=287.,r_v=461.6,mwdry=28.966 real*8,parameter :: cp=7.*r_d/2.,rvovrd=r_v/r_d,SVP1=0.6112,SVP2=17.67,SVP3=29.65 real*8,parameter :: EP_2=R_d/R_v real*8, parameter :: surften = 0.076 ! surface tension of water w/respect to air (N/m) real*8, parameter :: p0 = 1013.25e2 ! reference pressure (Pa) real*8, parameter :: t0 = 273.15 ! reference temperature (K) real*8 :: rhoair ! air density (kg/m3) real*8 diff0 ! diffusivity (m2/s) real*8 conduct0 ! thermal conductivity (Joule/m/sec/deg) real*8 es ! saturation vapor pressure real*8 qs ! water vapor saturation mixing ratio real*8 dqsdt ! change in qs with temperature real*8 gg ! thermodynamic function (m2/s) real*8 sqrtg ! sqrt(gg) real*8 sm(maxd_asize,maxd_atype) ! critical supersaturation for number mode radius real*8 zeta, eta real*8 alpha real*8 gamma real*8 beta real*8 totn ! total aerosol number concentration real*8 aten ! surface tension parameter real*8 gmsm ! critical supersaturation at radius gmrad real*8 sumns real*8 alw,sqrtalw real*8 smax integer m,n ! mathematical constants real*8 third, twothird, sixth, zero, one, two, three real*8, parameter :: sq2 = 1.4142135624 real*8, parameter :: sqpi = 1.7724538509 real*8, parameter :: pi = 3.1415926536 real*8, parameter :: nsmall = 1.0e-20 ! aer number conc in #/m3 real*8, parameter :: amsmall = 5.0e-9 ! aer dry radius in m zero = 0.0 one = 1.0 two = 2.0 three = 3.0 third = 1.0/3.0 twothird = 2.0/3.0 !wig, 1-Mar-2009: Corrected value from 2/6 sixth = 1.0/6.0 rhoair = pres/(r_d*tair) diff0=0.211e-4*(p0/pres)*(tair/t0)**1.94 conduct0=(5.69+0.017*(tair-t0))*4.186e2*1.e-5 ! convert to J/m/s/deg es=1000.*svp1*exp( svp2*(tair-t0)/(tair-svp3) ) qs=ep_2*es/(pres-es) dqsdt=xlv/(r_v*tair*tair)*qs alpha=g*(xlv/(cp*r_v*tair*tair)-1./(r_d*tair)) gamma=(1+xlv/cp*dqsdt)/(rhoair*qs) gg=1./(rhowater/(diff0*rhoair*qs)+xlv*rhowater/(conduct0*tair)*(xlv/(r_v*tair)-1.)) sqrtg=sqrt(gg) beta=4.*pi*rhowater*gg*gamma aten=2.*surften/(r_v*tair*rhowater) totn=1.d-30 sumns=1.d-30 do n=1,ntype_aer do m=1,nsize_aer(n) ! internal mixture of aerosols if (am(m,n).gt.amsmall .and. na(m,n).gt.nsmall) then ! sectional model. ! need to use bulk properties because parameterization doesn't ! work well for narrow bins. totn=totn+na(m,n) if(hygro(m,n).gt.1.d-10)then sm(m,n)=2.d0*aten/(3.*am(m,n))*sqrt(aten/(3.*hygro(m,n)*am(m,n))) else sm(m,n)=100.d0 endif ! write(6,*)'sm,hygro,am=',sm(m,n),hygro(m,n),am(m,n) else sm(m,n)=1.d0 endif sumns=sumns+na(m,n)/sm(m,n)**twothird end do ! size end do ! type gmsm=totn/sumns gmsm=gmsm*gmsm*gmsm gmsm=sqrt(gmsm) ! write(6,*)'uniform updraft =',wbar alw=alpha*wbar sqrtalw=sqrt(alw) zeta=2.*sqrtalw*aten/(3.*sqrtg) ! sectional model. ! use bulk properties if(totn.gt.1.d-10)then eta=2.d0*alw*sqrtalw/(totn*beta*sqrtg) else eta=1.d10 endif call maxsat(zeta,eta,gmsm,smax) maxsatout=smax return end subroutine activate !---------------------------------------------------------------------- subroutine maxsat(zeta,eta,gmsm,smax) ! Calculates maximum supersaturation for multiple competing aerosol ! sections/types. implicit none real*8, intent(in) :: gmsm ! critical supersaturation for number mode radius real*8, intent(in) :: zeta, eta real*8, intent(out) :: smax ! maximum supersaturation real*8 :: g1, g2 real*8 thesum integer n ! type index if(zeta.gt.1.d5*eta .or. & gmsm*gmsm.gt.1.d5*eta)then ! weak forcing. essentially none activated smax=1.d-20 else ! significant activation of this mode. calc activation all modes. go to 1 endif return 1 continue thesum=0.d0 if(eta.gt.1.d-20)then g1=sqrt(zeta/eta) g1=g1*g1*g1 g2=gmsm/sqrt(eta+3.d0*zeta) g2=sqrt(g2) g2=g2*g2*g2 thesum=thesum + (0.5d0*g1 + g2)/(gmsm*gmsm) else thesum=1.d20 endif smax=1./sqrt(thesum) return end subroutine maxsat !---------------------------------------------------------------------- END MODULE apm_mixactivate #endif ================================================ FILE: APM/apm_nucl_mod.F ================================================ #ifdef APM !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: apm_nucl_mod ! ! !DESCRIPTION: Module APM\_NUCL\_MOD contains variables and routines for ! computing nucleation rates and ionization rates. !\\ !\\ ! !INTERFACE: ! MODULE APM_NUCL_MOD ! ! !USES: ! IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: IONRATE0 !APM2+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ PUBLIC :: IONRATE !APM2+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: READIONRATE PRIVATE :: IONSOIL PRIVATE :: GEO2MAGLAT ! ! !REVISION HISTORY: ! 28 Sep 2008 - F. Yu - Initial version ! 08 Nov 2010 - R. Yantosca - Added ProTeX headers !EOP !------------------------------------------------------------------------------ !BOC ! ! ! DEFINED PARAMETERS: ! ! MC : Number of points in H2SO4 concentration dimension ! MT : Number of points in temperature dimension ! MRH : Number of points in relative humidity dimension ! MQ : Number of points in ionization rate dimension ! MS : Number of points in surface area dimension INTEGER, PARAMETER :: MC = 31 INTEGER, PARAMETER :: MT = 57 INTEGER, PARAMETER :: MRH = 51 INTEGER, PARAMETER :: MQ = 18 INTEGER, PARAMETER :: MS = 12 ! ! !LOCAL VARIABLES: ! ! C : Values at points in H2SO4 concentration dimension ! T : Values at points in temperature dimension ! RH : Values at points in relative humidity dimension ! Q : Values at points in ionization rate dimension ! S : Values at points in surface area dimension ! XJIMN : ion-mediated nucleation rates (cm-3s-1) ! at all points in 5-d space ! XRSTAR : Critical radius (nm) at all points in 5-dimension space REAL*8 :: C(MC) REAL*8 :: RH(MRH) REAL*8 :: T(MT) REAL*8 :: Q(MQ) REAL*8 :: S(MS) REAL*8 :: XJIMN8(MC) REAL :: XJIMN(MC,MRH,MT,MQ,MS) REAL*8 :: XRSTAR(MC,MRH,MT) ! Data directory CHARACTER(LEN=255) :: DATA_DIR_1x1 CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ionrate0 ! ! !DESCRIPTION: Subroutine IONRATE calculate ionization rate ! (ZQ: ion-pairs/cm3s) for given surface type, longitude (in degree), ! latitude (in degree), and pressure (mb). !\\ !\\ ! !INTERFACE: ! SUBROUTINE IONRATE0(DATA_DIR_1x1a,IY,ISURF,YPSURF,XLON,XLAT,XP,ZQ) ! ! !INPUT PARAMETERS: ! INTEGER :: IY INTEGER :: ISURF ! Surface type (1=land, 0=ocean, ice, and snow) REAL*8 :: YPSURF ! Surface pressure [hPa] REAL*8 :: XLON ! Longitude [degrees] REAL*8 :: XLAT ! Latitude [degrees] REAL*8 :: XP ! Grid box pressure [hPa], from 5-1015 hPa ! ! !OUTPUT PARAMETERS: ! REAL*8 :: ZQ ! Ionization rate [ion pairs/cm3/s] ! ! !REMARKS: ! Written by Fangqun Yu and Gan Luo, SUNY-Albany, 2010 ! (yfq@asrc.cestm.albany.edu) ! . ! Ionization lookup table ! YQ(1,1): Q for maglat = 0, p = 5 mb ! YQ(91,203): Q for maglat = 90, p = 1015 mb ! YQ(L,K): Q for maglat = L-1,p = K*5 mb ! ! !REVISION HISTORY: ! 28 Sep 2008 - F. Yu - Initial version ! 08 Nov 2010 - R. Yantosca - Added ProTeX headers !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=255) :: DATA_DIR_1x1a ! Data directory INTEGER :: L, K REAL*8 :: MAGLAT, XMAGLAT, YPR, YQSOIL REAL*8, SAVE :: YQ(91,203) LOGICAL, SAVE :: FIRST = .TRUE. ! ! Read in the ionization rate lookup table ! IF(FIRST) THEN CALL READIONRATE(DATA_DIR_1x1a,IY,YQ) FIRST = .FALSE. ENDIF ! ! Find the magnetic latitude based on (LON, LAT) CALL GEO2MAGLAT(XLAT,XLON,XMAGLAT) MAGLAT= abs(XMAGLAT) ! magnetic latitude in degree L = INT(MAGLAT+0.5) + 1 K = MIN(MAX(INT(XP/5.+0.5),1),203) ZQ = YQ(L,K) ! GCR ionization rate from the lookup table IF(ISURF.EQ.1) THEN ! Contribution from radioactive material from soil CALL IONSOIL(XP,YPSURF,YQSOIL) ELSE YQSOIL = 0. ENDIF ! WRITE(6,101)XLON,XLAT,XMAGLAT,XP, L, K,YQSOIL,ZQ ZQ = ZQ + YQSOIL 101 FORMAT(4F7.1, I4, I4, 2F7.1) RETURN END SUBROUTINE IONRATE0 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: readionrate ! ! !DESCRIPTION: Read pre-calculated GCR ionization rate lookup table ! The lookup table is generated based on the scheme given in ! Usoskin and Kovaltsov (2006). !\\ !\\ ! !INTERFACE: ! SUBROUTINE READIONRATE(DATA_DIR_1x1a,IY, YQ ) CHARACTER(LEN=255) :: DATA_DIR_1x1a ! Data directory INTEGER :: IY ! ! !OUTPUT PARAMETERS: ! ! YQ: ionization rate in ion-pairs/cm3s ! maglat is magnitude latitude in degree REAL*8 :: YQ(91,203) ! ! !REMARKS: ! YQ(1,1): Q for maglat = 0, p = 5 mb ! YQ(91,203): Q for maglat = 90, p = 1015 mb ! YQ(L,K): Q for maglat = L-1,p = K*5 mb ! ! !REVISION HISTORY: ! 28 Sep 2008 - F. Yu - Initial version ! 08 Nov 2010 - R. Yantosca - Added ProTeX headers !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: L, K, KP CHARACTER*999 YPATH WRITE(6,*)"Read in the ionization rate lookup table" DATA_DIR_1x1= DATA_DIR_1x1a YPATH = TRIM(DATA_DIR_1x1)//'/APM_data_201906/APMTABLES/' CLOSE(30) WRITE(6,*)"YPATH: ",TRIM(YPATH) IF(IY.EQ.1) THEN OPEN(30,file=TRIM(YPATH)//'YIONRATE1996.txt',status='old') WRITE(6,*) "READ YIONRATE1996.txt" ELSEIF(IY.EQ.-1)THEN OPEN(30,file=TRIM(YPATH)//'YIONRATE1989.txt',status='old') WRITE(6,*) "READ YIONRATE1989.txt" ELSE OPEN(30,file=TRIM(YPATH)//'YIONRATE.txt',status='old') WRITE(6,*) "READ YIONRATE.txt" ENDIF READ(30,*) ! first line is magnetic latitude in degree DO K=1,203 ! KP is pressure in mb, YQ in ion-pairs/cm3s READ(30,100)KP,(YQ(L,K),L=1,91) ENDDO 100 FORMAT(I5,91F6.2) CLOSE(30) RETURN END SUBROUTINE READIONRATE !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ionsoil ! ! !DESCRIPTION: Calculate ionization rate (ion-pairs/cm3s) due to Gama rays, ! Radon (over land) !\\ !\\ ! !INTERFACE: ! SUBROUTINE IONSOIL( YPR, YPSURF, YQSOIL ) ! ! !INPUT PARAMETERS: ! REAL*8 :: YPR REAL*8 :: YPSURF ! ! !OUTPUT PARAMETERS: ! REAL*8 :: YQSOIL ! ! !REVISION HISTORY: ! 28 Sep 2008 - F. Yu - Initial version ! 08 Nov 2010 - R. Yantosca - Added ProTeX headers !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! INTEGER, PARAMETER :: MAXH = 21 ! ! !LOCAL VARIABLES: ! INTEGER :: IH, K REAL*8 :: XH0, XH, YQ, YQGAMA, YQRADON REAL*8 :: YH(MAXH), QGAMA(MAXH), QRADON(MAXH) REAL*8 :: MAGLAT REAL*8 :: XHSURF DATA (YH(k),k=1,21)/0.0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0, ! in km & 2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0,10.0,15.0/ DATA (QGAMA(k),k=1,21)/4.5,1.25,0.21,0.0,0.0,0.0,0.0,0.0,0.0, & 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0/ DATA (QRADON(k),k=1,21)/3.5,3.24,3.0,2.65,2.43,2.19,1.84,1.36, & 0.97, 0.74,0.56,0.13, & 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0/ ! Get altitude (km) from pressure (YPR in mb) based on standard atmosphere ! XH0 = 44.3308 - 4.94654*(100.*YPR)**0.190264 ! convert press to alt (km) ! Surface height XHSURF = 44.3308 - 4.94654*(100.*YPSURF)**0.190264 XH = XH0 - XHSURF IF(XH.LT.5) THEN ! over land, no gama and radon above 5 km IF(XH.LT.1) THEN IH = INT(XH*10.)+1 ELSE IH = 10.+INT(XH) ENDIF IH=MIN(IH,20) IH=MAX(IH,1) YQGAMA=QGAMA(IH)+(XH-YH(IH))*(QGAMA(IH+1)-QGAMA(IH)) YQRADON=QRADON(IH)+(XH-YH(IH))*(QRADON(IH+1)-QRADON(IH)) YQSOIL = YQGAMA + YQRADON ! WRITE(6,*)XH0,XHSURF, IH,YQGAMA,YQRADON ELSE YQSOIL = 0. ENDIF END SUBROUTINE IONSOIL !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: geo2maglat ! ! !DESCRIPTION: Subroutine GEO2MAGLAT finds magnetic latitude from geo ! latitude and longitude. !\\ !\\ ! !INTERFACE: ! SUBROUTINE GEO2MAGLAT( LAT0, LON0, MAGLAT ) ! ! !INPUT PARAMETERS: ! REAL*8 :: lat0 ! Geographic latitude [degrees] REAL*8 :: lon0 ! Geographic longitude [degrees] ! ! !OUTPUT PARAMETERS: ! REAL*8 :: maglat ! Magnetic latitude [degrees] ! ! !REVISION HISTORY: ! 28 Sep 2008 - F. Yu - Initial version ! 08 Nov 2010 - R. Yantosca - Added ProTeX headers !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL*8 :: yz,yp,yx,yy,PI,YD2R,YGLA,YGLO REAL*8 :: az,ap,ax,ay,dot,theta,lon,lat PI = 3.1415926 YD2R = PI/180. YGLA = 80.*YD2R ! magnetic dipole north pole latitude YGLO = -110.*YD2R ! magnetic dipole north pole longitude lat = lat0 * YD2R lon = lon0 * YD2R yz = sin(YGLA) yp = cos(YGLA) yx = yp * cos(YGLO) yy = yp * sin(YGLO) az = sin(lat) ap = cos(lat) ax = ap * cos(lon) ay = ap * sin(lon) dot = ax*yx + ay*yy + az*yz theta = acos(dot) ! theta is the magnetic ! colatitude of the point a maglat = (PI/2.-theta)/YD2R END SUBROUTINE GEO2MAGLAT ! APM2+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ subroutine IONRATE(DATA_DIR_1x1a, & ISURF,XLON,XLAT,YPR,IYEAR,IMONTH,YQ) !****************************************************************************** ! Subroutine IONRATE calculate ionization rate (YQ: ion-pairs/cm3s) for given ! surface type,longitude (in degree), latitude (in degree), pressure (mb), year, ! month (fyu, 2006; updated 2008) CHARACTER(LEN=255) :: DATA_DIR_1x1a ! Data directory INTEGER, PARAMETER :: MAXH = 21 INTEGER :: ISURF, IYEAR, IMONTH, IH, K REAL*8 :: XLAT, XLON, YPR, XH, YQ, YQGAMA, YQRADON, YQGCR REAL*8 :: YH(MAXH), QGAMA(MAXH), QRADON(MAXH) ! Ionuzation rate (ion-pairs/cm3s) due to Gama rays, Radon (over land) ! DATA (YH(k),k=1,21)/0.0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0, ! in km & 2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0,10.0,15.0/ DATA (QGAMA(k),k=1,21)/4.5,1.25,0.21,0.0,0.0,0.0,0.0,0.0,0.0, & 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0/ DATA (QRADON(k),k=1,21)/3.5,3.24,3.0,2.65,2.43,2.19,1.84,1.36, & 0.97, 0.74,0.56,0.13, & 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0/ ! Get altitude (km) from pressure (YPR in mb) based on standard atmosphere ! XH = 44.3308 - 4.94654*(100.*YPR)**0.190264 ! convert press to alt (km) CALL IONGCR(DATA_DIR_1x1a,XLON,XLAT,YPR,IYEAR,IMONTH,YQGCR) IF(ISURF.EQ.1.and.XH.LT.5) THEN ! over land, no gama and radon above 5 km IF(XH.LT.1) THEN IH = INT(XH*10.)+1 ELSE IH = 10.+INT(XH) ENDIF !bug gan luo fixed IH=MIN(IH,20) IH=MAX(IH,1) YQGAMA=QGAMA(IH)+(XH-YH(IH))*(QGAMA(IH+1)-QGAMA(IH)) YQRADON=QRADON(IH)+(XH-YH(IH))*(QRADON(IH+1)-QRADON(IH)) YQ = YQGCR + YQGAMA + YQRADON ELSE ! over ice or water YQ = YQGCR ENDIF end subroutine IONRATE !------------------------------------------------------------------------------ subroutine IONGCR(DATA_DIR_1x1a,lon,lat,airdin,year,month,qout) !****************************************************************************** ! Subroutine IONGCR is to obtain ionization induced by cosmic ray based on ! Usoskin and Kovaltsov, JGR,111,D21206, 2006. Coded by Gan Luo, ASRC, Albany, ! NY, 2006-11-20 (Thanks to professor Fangqun Yu and Dr Usoskin) ! ! Input: longitude (degree), latitude (degree), ! atmospheric depth (or pressure, in mb), ! month and year ! Output: cosmic ray induced ionization (ion-pairs/cm3s) ! ! Modified by fyu, 11/26/2006, 2008 CHARACTER(LEN=255) :: DATA_DIR_1x1a ! Data directory LOGICAL, SAVE :: FIRST = .TRUE. integer :: i,j,k,t,im,jy integer :: year, month real*8 :: lon,lat,maglat,cosmiclat,airdin,airout,ev real*8 :: pc,tforp,tfora,pt1,pt2,tnew1,tnew2,yxt_pad(9), & yxt_aad(9) real*8 :: jlisp1,jlisp2,jlisa1,jlisa2,partp1,partp2,parta1, & parta2 real*8 :: qforp,qfora,qout REAL*8, SAVE :: cosmic(14,55) real*8 :: aird(21),airro(21),tvalue(9), & yxt_p(21,9),yxt_a(21,9) !*********************************************************************** data (aird(k),k=1,21)/25.,75.,125.,175.,225.,275.,325.,375.,425., & 475.,525.,575.,625.,675.,725.,775.,825.,875.,925.,975.,1025./ data (airro(k),k=1,21)/3.80E-05,1.20E-04,2.00E-04,2.70E-04, & 3.50E-04,4.20E-04,4.80E-04, & 5.40E-04,5.90E-04,6.50E-04,7.10E-04,7.60E-04,8.20E-04,8.70E-04, & 9.20E-04,9.70E-04,1.00E-03,1.10E-03,1.10E-03,1.20E-03,1.20E-03/ data (tvalue(t),t=1,9)/0.1,0.3,1.,3.,10.,30.,100.,300.,1000./ data ((yxt_p(k,t),t=1,9),k=1,21)/ & 3.40E+02,4.10E+05,4.60E+05,6.00E+05,1.30E+06,2.30E+06,4.90E+06, & 8.50E+06,1.50E+07,9.80E+01,4.30E+04,3.30E+05,6.30E+05,1.80E+06, & 4.20E+06,1.00E+07,2.30E+07,5.70E+07,5.00E+01,4.40E+03,2.10E+05, & 5.20E+05,1.60E+06,4.40E+06,1.20E+07,2.90E+07,8.30E+07,2.00E+01, & 2.50E+03,1.30E+05,4.00E+05,1.30E+06,3.80E+06,1.10E+07,3.00E+07, & 9.30E+07,7.90E+00,1.40E+03,7.40E+04,2.90E+05,9.90E+05,3.10E+06, & 9.90E+06,2.80E+07,9.20E+07,4.90E+00,8.50E+02,4.10E+04,2.10E+05, & 7.30E+05,2.40E+06,8.10E+06,2.40E+07,8.20E+07,2.00E+00,4.90E+02, & 2.10E+04,1.50E+05,5.30E+05,1.80E+06,6.30E+06,2.00E+07,6.90E+07, & 8.10E-01,2.90E+02,1.10E+04,1.00E+05,3.70E+05,1.40E+06,5.00E+06, & 1.60E+07,5.70E+07,3.10E-01,1.80E+02,6.20E+03,7.20E+04,2.60E+05, & 1.00E+06,3.90E+06,1.30E+07,4.50E+07,0.00E+00,1.10E+02,3.90E+03, & 5.00E+04,1.90E+05,7.40E+05,3.10E+06,1.10E+07,3.70E+07,0.00E+00, & 6.30E+01,2.60E+03,3.50E+04,1.40E+05,5.60E+05,2.40E+06,8.50E+06, & 2.90E+07,0.00E+00,3.80E+01,1.50E+03,2.40E+04,9.80E+04,4.40E+05, & 1.90E+06,6.90E+06,2.40E+07,0.00E+00,1.80E+01,1.10E+03,1.60E+04, & 7.20E+04,3.50E+05,1.60E+06,5.70E+06,2.00E+07,0.00E+00,1.30E+01, & 7.30E+02,1.00E+04,5.30E+04,2.70E+05,1.30E+06,4.70E+06,1.70E+07, & 0.00E+00,6.30E+00,4.20E+02,6.90E+03,3.80E+04,2.20E+05,1.10E+06, & 3.90E+06,1.40E+07,0.00E+00,5.00E+00,3.10E+02,5.10E+03,2.90E+04, & 1.80E+05,9.30E+05,3.40E+06,1.20E+07,0.00E+00,4.90E+00,1.80E+02, & 3.00E+03,2.10E+04,1.50E+05,8.30E+05,3.00E+06,1.00E+07,0.00E+00, & 1.20E+00,1.10E+02,1.70E+03,1.40E+04,1.30E+05,7.30E+05,2.60E+06, & 9.10E+06,0.00E+00,2.30E+00,9.90E+01,1.70E+03,1.20E+04,1.10E+05, & 6.60E+05,2.40E+06,8.10E+06,0.00E+00,8.90E-01,6.00E+01,8.00E+02, & 9.00E+03,9.60E+04,6.00E+05,2.20E+06,7.30E+06,0.00E+00,1.80E-01, & 6.80E+01,7.00E+02,7.40E+03,8.50E+04,5.50E+05,2.00E+06,6.70E+06/ data ((yxt_a(k,t),t=1,9),k=1,21)/ & 1.00E+03,3.70E+05,4.10E+05,5.80E+05,1.30E+06,2.50E+06,5.50E+06, & 8.60E+06,2.20E+07,3.40E+02,3.50E+04,3.00E+05,6.20E+05,1.90E+06, & 4.60E+06,1.20E+07,2.70E+07,6.80E+07,1.60E+02,9.90E+03,1.90E+05, & 5.30E+05,1.80E+06,4.80E+06,1.40E+07,3.50E+07,9.60E+07,6.50E+01, & 5.60E+03,1.30E+05,4.10E+05,1.40E+06,4.20E+06,1.30E+07,3.70E+07, & 1.10E+08,2.80E+01,3.40E+03,7.80E+04,3.10E+05,1.10E+06,3.40E+06, & 1.10E+07,3.50E+07,1.00E+08,2.40E+01,2.00E+03,4.70E+04,2.20E+05, & 7.50E+05,2.60E+06,8.90E+06,3.10E+07,9.70E+07,1.40E+01,1.20E+03, & 2.80E+04,1.60E+05,5.50E+05,2.00E+06,6.90E+06,2.60E+07,8.30E+07, & 2.90E+00,7.50E+02,1.70E+04,1.10E+05,3.90E+05,1.50E+06,5.30E+06, & 2.00E+07,6.80E+07,1.90E+00,4.60E+02,1.20E+04,8.00E+04,2.80E+05, & 1.10E+06,4.10E+06,1.60E+07,5.40E+07,1.10E+00,2.80E+02,7.80E+03, & 5.30E+04,2.00E+05,8.50E+05,3.10E+06,1.20E+07,4.20E+07,5.70E-01, & 1.80E+02,5.00E+03,3.70E+04,1.40E+05,6.40E+05,2.50E+06,9.90E+06, & 3.30E+07,2.30E-01,1.00E+02,2.80E+03,2.40E+04,1.00E+05,4.80E+05, & 2.00E+06,8.00E+06,2.60E+07,9.20E-03,7.70E+01,2.10E+03,1.80E+04, & 7.90E+04,3.80E+05,1.60E+06,6.50E+06,2.10E+07,0.00E+00,3.70E+01, & 1.50E+03,1.20E+04,5.00E+04,2.80E+05,1.40E+06,5.40E+06,1.70E+07, & 0.00E+00,2.00E+01,6.60E+02,7.40E+03,3.60E+04,2.30E+05,1.10E+06, & 4.60E+06,1.40E+07,0.00E+00,1.60E+01,6.30E+02,5.50E+03,3.00E+04, & 1.80E+05,9.70E+05,4.00E+06,1.20E+07,0.00E+00,8.20E+00,4.40E+02, & 4.10E+03,1.90E+04,1.50E+05,8.60E+05,3.40E+06,1.00E+07,0.00E+00, & 9.00E+00,2.50E+02,2.40E+03,1.40E+04,1.30E+05,7.50E+05,3.00E+06, & 8.80E+06,0.00E+00,6.70E+00,1.80E+02,1.70E+03,1.10E+04,1.10E+05, & 6.60E+05,2.70E+06,7.80E+06,0.00E+00,3.60E+00,8.10E+01,1.10E+03, & 7.70E+03,9.80E+04,6.10E+05,2.50E+06,7.10E+06,0.00E+00,1.70E+00, & 4.70E+01,1.20E+03,6.40E+03,8.80E+04,5.70E+05,2.30E+06,6.50E+06/ !*********************************************************************** IF(FIRST) THEN close(100) OPEN(100, & FILE=TRIM(DATA_DIR_1x1a)//'/APM_data_201906/Phi_mon.txt') do j=1,55 read(100,*)(cosmic(i,j),i=1,14) enddo close(100) FIRST = .FALSE. ENDIF !ev=cosmic(14,40)/1000.0 !modulation potential (i,j) i=month+1;j=year-1949 im = month + 1 jy = year -1949 IF(JY.GT.55) JY = 55 ! current scheme only valid for 1950 - 2004 IF(JY.LT.1) JY = 1 ! current scheme only valid for 1950 - 2004 ev=cosmic(im,jy)/1000.0 !modulation potential (i,j) i=month+1;j=year-1949 do k=1,20 if(airdin>aird(k).and.airdin<=aird(k+1))then do t=1,9 yxt_pad(t)=yxt_p(k,t)+(airdin-aird(k)) & *(yxt_p((k+1),t)-yxt_p(k,t))/(aird(k+1)-aird(k)) yxt_aad(t)=yxt_a(k,t)+(airdin-aird(k)) & *(yxt_a((k+1),t)-yxt_a(k,t))/(aird(k+1)-aird(k)) enddo airout=airro(k)+(airdin-aird(k)) & *(airro(k+1)-airro(k))/(aird(k+1)-aird(k)) endif enddo if(airdin<=aird(1))then do t=1,9 yxt_pad(t)=yxt_p(1,t) yxt_aad(t)=yxt_a(1,t) enddo airout=airro(1) endif if(airdin>aird(21))then do t=1,9 yxt_pad(t)=yxt_p(21,t) yxt_aad(t)=yxt_a(21,t) enddo airout=airro(21) endif call geo2maglat(lat,lon,maglat) cosmiclat=3.14159265*maglat/180.0 pc=1.9*7.8*(cos(cosmiclat)*cos(cosmiclat) & *cos(cosmiclat)*cos(cosmiclat)) tforp=sqrt(pc*pc+0.938*0.938)-0.938 tfora=sqrt(0.25*pc*pc+0.938*0.938)-0.938 !*********************************************************************** qforp=0.0 qfora=0.0 qout=0.0 do t=1,8 if(tvalue(t+1)>=tforp)then if(tvalue(t)=tfora)then if(tvalue(t)",E9.3, ! & " set it to ",E9.3) ! 12 FORMAT("OPT1 WARNING: INPUTED DCORE =",E9.3,"<",E9.3, ! & " set it to ",E9.3) ! 13 FORMAT("OPT1 WARNING: INPUTED DCORE =",E9.3,">",E9.3, ! & " set it to ",E9.3) ! 14 FORMAT("OPT1 WARNING: INPUTED DSHEL =",E9.3,"<",E9.3, ! & " set it to ",E9.3) ! 15 FORMAT("OPT1 WARNING: INPUTED DSHEL =",E9.3,">",E9.3, ! & " set it to ",E9.3) ! 16 FORMAT("OPT1 WARNING: INPUTED RSR =",E9.3," <",E9.3, ! & " set it to ",E9.3) ! 17 FORMAT("OPT1 WARNING: INPUTED RSR =",E9.3," >",E9.3, ! & " set it to ",E9.3) ! 18 FORMAT("OPT1 WARNING: INPUTED BS =",E9.3," <",E9.3, ! & " set it to ",E9.3) ! 19 FORMAT("OPT1 WARNING: INPUTED BS =",E9.3," >",E9.3, ! & " set it to ",E9.3) ! wavmid(ns) = 0.25 * (0.55/0.25)**(float(ns-1)/4.0) ! IWL1 =MAX0(INT(1.+4.*LOG10(X/0.25)/LOG10(0.55/WAVL(1))),1) ! IWL2 = MIN0(IWL1 + 1,MWL) ! IF(IWL2.EQ.MWL) IWL1=MWL-1 !! DC2(IDC) = 1.0E-2 * 10.**(float(IDC-1)/10.) ! IDC1 =MAX0(INT(1.+10.*LOG10(Y/DC1(1))),1) ! IDC2 = MIN0(IDC1 + 1,MDC1) ! IF(IDC2.EQ.MDC1) IDC1=MDC1-1 ! DS2(IDS) = DSHELLMIN * 10.**(float(IDS-2)/RESS1), IDS>=1 IDS1 = MAX0(INT(1.+RESS1*LOG10(Z/DS1(1))),1) IDS2 = MIN0(IDS1 + 1,MDS1) IF(IDS2.EQ.MDS1) IDS1=MDS1-1 ! RSR(ISR) = 1.33 + float(ISR-1)/RESR ISR1 = MAX0(INT(1.+(U-RSR(1))*RESR),1) ISR2 = MIN0(ISR1 + 1,MSR) IF(ISR2.EQ.MSR) ISR1=MSR-1 ! IF(V.LT.RSI(2)) THEN ISI1 = 1 ELSE ISI1 = MAX0(INT(2.+RESI*LOG10(V/RSI(2))),2) ENDIF ISI2 = MIN0(ISI1 + 1,MSI) IF(ISI2.EQ.MSI) ISI1=MSI-1 ! ! dx1 = X-WAVL(IWL1) ! dx2 = WAVL(IWL2)-X ! dy1 = Y-DC1(IDC1) ! dy2 = DC1(IDC2)-Y dz1 = Z-DS1(IDS1) dz2 = DS1(IDS2)-Z du1 = U - RSR(ISR1) du2 = RSR(ISR2) - U dv1 = V - RSI(ISI1) dv2 = RSI(ISI2) - V ! QEXT = 0. YW = 0. YG = 0. ! ! VOL = (dx1+dx2)*(dy1+dy2)*(dz1+dz2)*(du1+du2)*(dv1+dv2) ! VOL = (dx1+dx2)*(dy1+dy2)*(dz1+dz2)*(du1+du2) ! VOL = (dx1+dx2)*(dz1+dz2)*(du1+du2) VOL = (dz1+dz2)*(du1+du2)*(dv1+dv2) DO IDS = IDS1,IDS2 IF(IDS.EQ.IDS1) THEN dz = dz2 ELSE dz = dz1 ENDIF ! DO IDC = IDC1,IDC2 ! IF(IDC.EQ.IDC1) THEN ! dy = dy2 ! ELSE ! dy = dy1 ! ENDIF ! DO IWL = IWL1,IWL2 ! IF(IWL.EQ.IWL1) THEN ! dx = dx2 ! ELSE ! dx = dx1 ! ENDIF DO ISR =ISR1, ISR2 IF(ISR.EQ.ISR1) THEN du = du2 ELSE du = du1 ENDIF DO ISI = ISI1, ISI2 IF(ISI.EQ.ISI1) THEN dv = dv2 ELSE dv = dv1 ENDIF ! FRACT = dx*dy*dz*du/VOL ! FRACT = dx*dz*du/VOL FRACT = dz*du*dv/VOL QEXT = QEXT + FRACT*OPT1EXT(IWL,IDS,ISR,ISI) YW = YW + FRACT*OPT1W(IWL,IDS,ISR,ISI) YG = YG + FRACT*OPT1G(IWL,IDS,ISR,ISI) ! WRITE(6,30)IDS,ISR,ISI,OPT1EXT(IWL,IDS,ISR,ISI), ! & FRACT, ! & Z,DS2(IDS1),DS2(IDS2), ! & U,RSR(ISR1),RSR(ISR2), ! & V,RSI(ISI1),RSI(ISI2) ENDDO ENDDO ! ENDDO ! ENDDO ENDDO ! ! 30 FORMAT(I3, I3, I3, 20(1PE10.3)) 20 FORMAT(10(1PE10.3)) RETURN END SUBROUTINE OPTABLE1 !---------------------------------------------------------------------------------- subroutine OPTABLE2(IWL,DCORE,DSHEL,AS,BS,QEXT,YW,YG) ! ! ! INPUT: INTEGER :: IWL REAL*8 :: DCORE,DSHEL,AS,BS ! OUTPUT: REAL*8 :: QEXT, YW, YG ! Local variables REAL*8 :: Y,Z,U,V REAL*8 :: VOL,FRACT REAL*8 :: dy1,dy2,dz1,dz2,du1,du2,dv1,dv2 REAL*8 :: dy,dz,du,dv INTEGER :: IDC1,IDC2,IDS1,IDS2,ISR1,ISR2,ISI1,ISI2 INTEGER :: IDC, IDS, ISR,ISI ! ! to avoid the input values to be changed due to out of the range reset ! ! X = XWL ! um Y = DCORE ! um Z = DSHEL ! um U = AS V = BS ! ! IF(X.LT.WAVL(1)) THEN ! WRITE(86,10) X, WAVL(1), WAVL(1) ! X = WAVL(1) ! ELSEIF(X.GT.WAVL(MWL)) THEN ! WRITE(86,11) X, WAVL(MWL), WAVL(MWL) ! X =WAVL(MWL) ! ENDIF IF(Y.LT.DC2(1)) THEN ! WRITE(86,12) Y, DC2(1), DC2(1) Y =DC2(1) ELSEIF(Y.GT.DC2(MDC2)) THEN ! WRITE(86,13) Y, DC2(MDC2), DC2(MDC2) Y =DC2(MDC2) ENDIF ! IF(Z.LT.DS2(1)) THEN ! WRITE(86,14) Z, DS2(1), DS2(1) Z =DS2(1) ELSEIF(Z.GT.DS2(MDS2)) THEN ! WRITE(86,15) Z, DS2(MDS2), DS2(MDS2) Z =DS2(MDS2) ENDIF ! IF(U.LT.RSR(1)) THEN ! WRITE(86,16) U, RSR(1), RSR(1) U =RSR(1) ELSEIF(U.GT.RSR(MSR)) THEN ! WRITE(86,17) U, RSR(MSR), RSR(MSR) U =RSR(MSR) ENDIF ! IF(V.LT.RSI(1)) THEN ! WRITE(86,18) V, RSI(1), RSI(1) V =RSI(1) ELSEIF(V.GT.RSI(MSI)) THEN ! WRITE(86,19) V, RSI(MSI), RSI(MSI) V =RSI(MSI) ENDIF ! ! ! 10 FORMAT("OPT2 WARNING: INPUTED WAVL=",E9.3,"<",E9.3, ! & " set it to ",E9.3) ! 11 FORMAT("OPT2 WARNING: INPUTED WAVL=",E9.3,">",E9.3, ! & " set it to ",E9.3) ! 12 FORMAT("OPT2 WARNING: INPUTED DCORE =",E9.3,"<",E9.3, ! & " set it to ",E9.3) ! 13 FORMAT("OPT2 WARNING: INPUTED DCORE =",E9.3,">",E9.3, ! & " set it to ",E9.3) ! 14 FORMAT("OPT2 WARNING: INPUTED DSHEL =",E9.3,"<",E9.3, ! & " set it to ",E9.3) ! 15 FORMAT("OPT2 WARNING: INPUTED DSHEL =",E9.3,">",E9.3, ! & " set it to ",E9.3) ! 16 FORMAT("OPT2 WARNING: INPUTED RSR =",E9.3," <",E9.3, ! & " set it to ",E9.3) ! 17 FORMAT("OPT2 WARNING: INPUTED RSR =",E9.3," >",E9.3, ! & " set it to ",E9.3) ! 18 FORMAT("OPT1 WARNING: INPUTED BS =",E9.3," <",E9.3, ! & " set it to ",E9.3) ! 19 FORMAT("OPT1 WARNING: INPUTED BS =",E9.3," >",E9.3, ! & " set it to ",E9.3) ! ! wavmid(ns) = 0.25 * (0.55/0.25)**(float(ns-1)/4.0) ! IWL1 =MAX0(INT(1.+4.*LOG10(X/0.25)/LOG10(0.55/WAVL(1))),1) ! IWL2 = MIN0(IWL1 + 1,MWL) ! IF(IWL2.EQ.MWL) IWL1=MWL-1 ! DC2(IDC) = 1.0E-2 * 10.**(float(IDC-1)/10.) IDC1 =MAX0(INT(1.+RESC2*LOG10(Y/DC2(1))),1) IDC2 = MIN0(IDC1 + 1,MDC2) IF(IDC2.EQ.MDC2) IDC1=MDC2-1 ! DS2(1) =0. ! DS2(IDS) = DSHELLMIN * 10.**(float(IDS-2)/10.), IDS>1 IF(Z.LT.DS2(2)) THEN IDS1 =1 ELSE IDS1 = MAX0(INT(2.+RESS2*LOG10(Z/DS2(2))),2) ENDIF IDS2 = MIN0(IDS1 + 1,MDS2) IF(IDS2.EQ.MDS2) IDS1=MDS2-1 ! RSR(ISR) = 1.33 + float(ISR-1)*0.01 ISR1 = MAX0(INT(1.+(U-RSR(1))*RESR),1) ISR2 = MIN0(ISR1 + 1,MSR) IF(ISR2.EQ.MSR) ISR1=MSR-1 ! IF(V.LT.RSI(2)) THEN ISI1 = 1 ELSE ISI1 = MAX0(INT(2.+RESI*LOG10(V/RSI(2))),2) ENDIF ISI2 = MIN0(ISI1 + 1,MSI) IF(ISI2.EQ.MSI) ISI1=MSI-1 ! ! dx1 = X-WAVL(IWL1) ! dx2 = WAVL(IWL2)-X dy1 = Y-DC2(IDC1) dy2 = DC2(IDC2)-Y dz1 = Z-DS2(IDS1) dz2 = DS2(IDS2)-Z du1 = U - RSR(ISR1) du2 = RSR(ISR2) - U dv1 = V - RSI(ISI1) dv2 = RSI(ISI2) - V ! QEXT = 0. YW = 0. YG = 0. ! ! VOL = (dx1+dx2)*(dy1+dy2)*(dz1+dz2)*(du1+du2)*(dv1+dv2) ! VOL = (dx1+dx2)*(dy1+dy2)*(dz1+dz2)*(du1+du2) VOL = (dy1+dy2)*(dz1+dz2)*(du1+du2)*(dv1+dv2) DO IDS = IDS1,IDS2 IF(IDS.EQ.IDS1) THEN dz = dz2 ELSE dz = dz1 ENDIF DO IDC = IDC1,IDC2 IF(IDC.EQ.IDC1) THEN dy = dy2 ELSE dy = dy1 ENDIF ! DO IWL = IWL1,IWL2 ! IF(IWL.EQ.IWL1) THEN ! dx = dx2 ! ELSE ! dx = dx1 ! ENDIF DO ISR =ISR1, ISR2 IF(ISR.EQ.ISR1) THEN du = du2 ELSE du = du1 ENDIF DO ISI = ISI1, ISI2 IF(ISI.EQ.ISI1) THEN dv = dv2 ELSE dv = dv1 ENDIF FRACT = dy*dz*du*dv/VOL QEXT = QEXT + FRACT*OPT2EXT(IWL,IDC,IDS,ISR,ISI) YW = YW + FRACT*OPT2W(IWL,IDC,IDS,ISR,ISI) YG = YG + FRACT*OPT2G(IWL,IDC,IDS,ISR,ISI) ! WRITE(6,30)IDC,IDS,ISR,ISI,OPT1EXT(IWL,IDS,ISR,ISI), ! & FRACT,Y,DC2(IDC1),DC2(IDC2), ! & Z,DS2(IDS1),DS2(IDS2), ! & U,RSR(ISR1),RSR(ISR2), ! & V,RSI(ISI1),RSI(ISI2) ENDDO ENDDO ! ENDDO ENDDO ENDDO ! ! 30 FORMAT(I3, I3, I3, I3, 20(1PE10.3)) 20 FORMAT(10(1PE10.3)) RETURN END SUBROUTINE OPTABLE2 !************************************************************************ !---------------------------------------------------------------------------------- subroutine OPTABLE3(IWL,DCORE,DSHEL,AS,BS,QEXT,YW,YG) ! ! ! INPUT: INTEGER :: IWL REAL*8 :: DCORE,DSHEL,AS,BS ! OUTPUT: REAL*8 :: QEXT, YW, YG ! Local variables REAL*8 :: Y,Z,U,V REAL*8 :: VOL,FRACT REAL*8 :: dy1,dy2,dz1,dz2,du1,du2,dv1,dv2 REAL*8 :: dy,dz,du,dv INTEGER :: IDC1,IDC2,IDS1,IDS2,ISR1,ISR2,ISI1,ISI2 INTEGER :: IDC, IDS, ISR, ISI ! ! to avoid the input values to be changed due to out of the range reset ! ! X = XWL ! um Y = DCORE ! um Z = DSHEL ! um U = AS V = BS ! ! IF(X.LT.WAVL(1)) THEN ! WRITE(86,10) X, WAVL(1), WAVL(1) ! X = WAVL(1) ! ELSEIF(X.GT.WAVL(MWL)) THEN ! WRITE(86,11) X, WAVL(MWL), WAVL(MWL) ! X =WAVL(MWL) ! ENDIF IF(Y.LT.DC3(1)) THEN ! WRITE(86,12) Y, DC3(1), DC3(1) Y =DC3(1) ELSEIF(Y.GT.DC3(MDC3)) THEN ! WRITE(86,13) Y, DC3(MDC3), DC3(MDC3) Y =DC3(MDC3) ENDIF ! IF(Z.LT.DS3(1)) THEN ! WRITE(86,14) Z, DS3(1), DS3(1) Z =DS3(1) ELSEIF(Z.GT.DS3(MDS3)) THEN ! WRITE(86,15) Z, DS3(MDS3), DS3(MDS3) Z =DS3(MDS3) ENDIF ! IF(U.LT.RSR(1)) THEN ! WRITE(86,16) U, RSR(1), RSR(1) U =RSR(1) ELSEIF(U.GT.RSR(MSR)) THEN ! WRITE(86,17) U, RSR(MSR), RSR(MSR) U =RSR(MSR) ENDIF ! IF(V.LT.RSI(1)) THEN ! WRITE(86,18) V, RSI(1), RSI(1) V =RSI(1) ELSEIF(V.GT.RSI(MSI)) THEN ! WRITE(86,19) V, RSI(MSI), RSI(MSI) V =RSI(MSI) ENDIF ! wavmid(ns) = 0.25 * (0.55/0.25)**(float(ns-1)/4.0) ! IWL1 =MAX0(INT(1.+4.*LOG10(X/0.25)/LOG10(0.55/WAVL(1))),1) ! IWL2 = MIN0(IWL1 + 1,MWL) ! IF(IWL2.EQ.MWL) IWL1=MWL-1 ! DC2(IDC) = 1.0E-2 * 10.**(float(IDC-1)/10.) IDC1 =MAX0(INT(1.+RESC3*LOG10(Y/DC3(1))),1) IDC2 = MIN0(IDC1 + 1,MDC3) IF(IDC2.EQ.MDC3) IDC1=MDC3-1 ! DS2(1) =0. ! DS2(IDS) = DSHELLMIN * 10.**(float(IDS-2)/10.), IDS>1 IF(Z.LT.DS3(2)) THEN IDS1 =1 ELSE IDS1 = MAX0(INT(2.+RESS3*LOG10(Z/DS3(2))),2) ENDIF IDS2 = MIN0(IDS1 + 1,MDS3) IF(IDS2.EQ.MDS3) IDS1=MDS3-1 ! RSR(ISR) = 1.33 + float(ISR-1)*0.01 ISR1 = MAX0(INT(1.+(U-RSR(1))*RESR),1) ISR2 = MIN0(ISR1 + 1,MSR) IF(ISR2.EQ.MSR) ISR1=MSR-1 ! IF(V.LT.RSI(2)) THEN ISI1 = 1 ELSE ISI1 = MAX0(INT(2.+RESI*LOG10(V/RSI(2))),2) ENDIF ISI2 = MIN0(ISI1 + 1,MSI) IF(ISI2.EQ.MSI) ISI1=MSI-1 ! ! dx1 = X-WAVL(IWL1) ! dx2 = WAVL(IWL2)-X dy1 = Y-DC3(IDC1) dy2 = DC3(IDC2)-Y dz1 = Z-DS3(IDS1) dz2 = DS3(IDS2)-Z du1 = U - RSR(ISR1) du2 = RSR(ISR2) - U dv1 = V - RSI(ISI1) dv2 = RSI(ISI2) - V ! QEXT = 0. YW = 0. YG = 0. ! ! VOL = (dx1+dx2)*(dy1+dy2)*(dz1+dz2)*(du1+du2)*(dv1+dv2) ! VOL = (dx1+dx2)*(dy1+dy2)*(dz1+dz2)*(du1+du2) VOL = (dy1+dy2)*(dz1+dz2)*(du1+du2)*(dv1+dv2) DO IDS = IDS1,IDS2 IF(IDS.EQ.IDS1) THEN dz = dz2 ELSE dz = dz1 ENDIF DO IDC = IDC1,IDC2 IF(IDC.EQ.IDC1) THEN dy = dy2 ELSE dy = dy1 ENDIF ! DO IWL = IWL1,IWL2 ! IF(IWL.EQ.IWL1) THEN ! dx = dx2 ! ELSE ! dx = dx1 ! ENDIF DO ISR =ISR1, ISR2 IF(ISR.EQ.ISR1) THEN du = du2 ELSE du = du1 ENDIF DO ISI = ISI1, ISI2 IF(ISI.EQ.ISI1) THEN dv = dv2 ELSE dv = dv1 ENDIF ! FRACT = dx*dy*dz*du/VOL FRACT = dy*dz*du*dv/VOL QEXT = QEXT + FRACT*OPT3EXT(IWL,IDC,IDS,ISR,ISI) YW = YW + FRACT*OPT3W(IWL,IDC,IDS,ISR,ISI) YG = YG + FRACT*OPT3G(IWL,IDC,IDS,ISR,ISI) ! WRITE(6,30)IDC,IDS,ISR,ISI,OPT1EXT(IWL,IDS,ISR,ISI), ! & FRACT,Y,DC3(IDC1),DC3(IDC2), ! & Z,DS3(IDS1),DS3(IDS2), ! & U,RSR(ISR1),RSR(ISR2), ! & V,RSI(ISI1),RSI(ISI2) ENDDO ENDDO ! ENDDO ENDDO ENDDO ! ! 30 FORMAT(I3, I3, I3, I3, 20(1PE10.3)) 31 FORMAT(I3, I3, 100(1PE10.3)) 20 FORMAT(10(1PE10.3)) RETURN END SUBROUTINE OPTABLE3 !************************************************************************ !---------------------------------------------------------------------------------- ! subroutine OPTABLE3_LW(XWL,DCORE,DSHEL,AS,QEXT,YW,YG) subroutine OPTABLE3_LW(XWL,DCORE,QEXT,YW,YG) ! ! ! INPUT: REAL*8 :: XWL,DCORE,DSHEL,AS ! OUTPUT: REAL*8 :: QEXT, YW, YG ! Local variables REAL*8 :: X,Y,Z,U REAL*8 :: VOL,FRACT REAL*8 :: dx1,dx2,dy1,dy2,dz1,dz2,du1,du2 REAL*8 :: dx,dy,dz,du INTEGER :: IWL1,IWL2,IDC1,IDC2,IDS1,IDS2,ISR1,ISR2 INTEGER :: IWL, IDC, IDS, ISR ! ! to avoid the input values to be changed due to out of the range reset ! X = XWL ! um Y = DCORE ! um ! Z = DSHEL ! um ! U = AS ! V = BS ! IF(X.LT.WAVLL(1)) THEN ! WRITE(86,10) X, WAVLL(1), WAVLL(1) X = WAVLL(1) ELSEIF(X.GT.WAVLL(MWLL)) THEN ! WRITE(86,11) X, WAVLL(MWLL), WAVLL(MWLL) X =WAVLL(MWL) ENDIF IF(Y.LT.DC3LW(1)) THEN WRITE(86,12) Y, DC3LW(1), DC3LW(1) Y =DC3LW(1) ELSEIF(Y.GT.DC3LW(MDCLW)) THEN WRITE(86,13) Y, DC3LW(MDCLW), DC3LW(MDCLW) Y =DC3LW(MDCLW) ENDIF ! IF(Z.LT.DS3(1)) THEN ! WRITE(86,14) Z, DS3(1), DS3(1) ! Z =DS3(1) ! ELSEIF(Z.GT.DS3(MDS3)) THEN !! WRITE(86,15) Z, DS3(MDS3), DS3(MDS3) ! Z =DS3(MDS3) ! ENDIF ! ! IF(U.LT.RSR(1)) THEN ! WRITE(86,16) U, RSR(1), RSR(1) ! U =RSR(1) ! ELSEIF(U.GT.RSR(MSR)) THEN ! WRITE(86,17) U, RSR(MSR), RSR(MSR) ! U =RSR(MSR) ! ENDIF ! IF(V.LT.S(1)) THEN ! WRITE(86,18) V, S(1), S(1) ! V =S(1) ! ELSEIF(V.GT.S(MS)) THEN ! WRITE(86,19) V, S(MS), S(MS) ! V =S(MS) ! ENDIF 10 FORMAT("OPT3 WARNING: INPUTED WAVL=",ES9.3,"<",ES9.3, & " set it to ",ES9.3) 11 FORMAT("OPT3 WARNING: INPUTED WAVL=",ES9.3,">",ES9.3, & " set it to ",ES9.3) 12 FORMAT("OPT3 WARNING: INPUTED DCORE =",ES9.3,"<",ES9.3, & " set it to ",ES9.3) 13 FORMAT("OPT3 WARNING: INPUTED DCORE =",ES9.3,">",ES9.3, & " set it to ",ES9.3) 14 FORMAT("OPT3 WARNING: INPUTED DSHEL =",ES9.3,"<",ES9.3, & " set it to ",ES9.3) 15 FORMAT("OPT3 WARNING: INPUTED DSHEL =",ES9.3,">",ES9.3, & " set it to ",ES9.3) 16 FORMAT("OPT3 WARNING: INPUTED RSR =",ES9.3," <",ES9.3, & " set it to ",ES9.3) 17 FORMAT("OPT3 WARNING: INPUTED RSR =",ES9.3," >",ES9.3, & " set it to ",ES9.3) ! 18 FORMAT("OPT3 WARNING: INPUTED S =",ES9.3," <",ES9.3, ! & " set it to ",ES9.3) ! 19 FORMAT("OPT3 WARNING: INPUTED S =",ES9.3," >",ES9.3, ! & " set it to ",ES9.3) ! wavmid(ns) = 0.25 * (0.55/0.25)**(float(ns-1)/4.0) ! wavmid(ns) = 4.0 * (10.)**(float(ns-1)/float(nspint-1)) !um IWL1 =MAX0(INT(1.+float(MWLL-1)*LOG10(X/WAVLL(1))),1) IWL2 = MIN0(IWL1 + 1,MWLL) IF(IWL2.EQ.MWLL) IWL1=MWLL-1 ! DC2(IDC) = 1.0E-2 * 10.**(float(IDC-1)/10.) IDC1 =MAX0(INT(1.+10.*LOG10(Y/DC3LW(1))),1) IDC2 = MIN0(IDC1 + 1,MDCLW) IF(IDC2.EQ.MDCLW) IDC1=MDCLW-1 ! DS2(1) =0. ! DS2(IDS) = DSHELLMIN * 10.**(float(IDS-2)/10.), IDS>1 ! IF(Z.LT.DS3(2)) THEN ! IDS1 =1 ! ELSE ! IDS1 = MAX0(INT(2.+10.*LOG10(Z/DS3(2))),2) ! ENDIF ! IDS2 = MIN0(IDS1 + 1,MDS3) ! IF(IDS2.EQ.MDS3) IDS1=MDS3-1 ! RSR(ISR) = 1.33 + float(ISR-1)*0.01 ! ISR1 = MAX0(INT(1.+(U-RSR(1))/0.01),1) ! ISR2 = MIN0(ISR1 + 1,MSR) ! IF(ISR2.EQ.MSR) ISR1=MSR-1 ! dx1 = X-WAVLL(IWL1) dx2 = WAVLL(IWL2)-X dy1 = Y-DC3LW(IDC1) dy2 = DC3LW(IDC2)-Y ! dz1 = Z-DS3(IDS1) ! dz2 = DS3(IDS2)-Z ! du1 = U - RSR(ISR1) ! du2 = RSR(ISR2) - U ! QEXT = 0. YW = 0. YG = 0. ! ! VOL = (dx1+dx2)*(dy1+dy2)*(dz1+dz2)*(du1+du2)*(dv1+dv2) ! VOL = (dx1+dx2)*(dy1+dy2)*(dz1+dz2)*(du1+du2) VOL = (dx1+dx2)*(dy1+dy2) ! DO IDS = IDS1,IDS2 ! IF(IDS.EQ.IDS1) THEN ! dz = dz2 ! ELSE ! dz = dz1 ! ENDIF DO IDC = IDC1,IDC2 IF(IDC.EQ.IDC1) THEN dy = dy2 ELSE dy = dy1 ENDIF DO IWL = IWL1,IWL2 IF(IWL.EQ.IWL1) THEN dx = dx2 ELSE dx = dx1 ENDIF ! DO ISR =ISR1, ISR2 ! IF(ISR.EQ.ISR1) THEN ! du = du2 ! ELSE ! du = du1 ! ENDIF ! FRACT = dx*dy*dz*du/VOL ! QEXT = QEXT + FRACT*OPT3EXT(IWL,IDC,IDS,ISR) ! YW = YW + FRACT*OPT3W(IWL,IDC,IDS,ISR) ! YG = YG + FRACT*OPT3G(IWL,IDC,IDS,ISR) FRACT = dx*dy/VOL QEXT = QEXT + FRACT*OPT3EXT_LW(IWL,IDC) YW = YW + FRACT*OPT3W_LW(IWL,IDC) YG = YG + FRACT*OPT3G_LW(IWL,IDC) ! WRITE(6,31)IWL,IDC,OPT3EXT_LW(IWL,IDC),QEXT, ! & OPT3W_LW(IWL,IDC),YW,FRACT ! ENDDO ENDDO ENDDO ! ENDDO ! ! 30 FORMAT(I3, I3, I3, I3, I3, 10(1PE10.3)) 31 FORMAT(I3, I3, 100(1PE10.3)) 20 FORMAT(10(1PE10.3)) RETURN END SUBROUTINE OPTABLE3_LW !************************************************************************ !------------------------------------------------------------------------------ subroutine READOPTABLE(ITABLE,DATA_DIR_1x1) IMPLICIT NONE integer :: ITABLE CHARACTER(LEN=255) :: DATA_DIR_1x1 CHARACTER*999 YPATH,YPATH1 INTEGER :: IML,IDC,IDS,ISR,ISI INTEGER :: IML1,IDC1,IDS1,ISR1, ISI1,MDC, MDS REAL*8 :: WAVL1,RSR1,RSI1 REAL*8 :: YREAL,YIM REAL*8 :: DCa,DCb,DSa,DSb REAL*8 :: YTEMP REAL*8 :: qextc,w,gscac REAL*8 :: RESC, RESS REAL*8 :: DCORE1, DSHELL1, DSHELL2 ! in um LOGICAL, SAVE :: FIRST = .TRUE. CLOSE(88) YPATH = TRIM(DATA_DIR_1x1)//'/APM_data_201906/OPTAB20120823/' !for RRTMG WL IF(ITABLE.EQ.1)THEN !no core MDC = MDC1 MDS = MDS1 OPEN(88,file=TRIM(YPATH)//'OPTABLE_NoCore.txt',status='old') WRITE(6,*)"read OPTABLE_NoCore.txt" ELSEIF(ITABLE.EQ.2)THEN !BC core MDC = MDC2 MDS = MDS2 OPEN(88,file=TRIM(YPATH)//'OPTABLE_BC.txt',status='old') WRITE(6,*)"read OPTABLE_BC.txt" ELSEIF(ITABLE.EQ.3)THEN !DUST core MDC = MDC3 MDS = MDS3 ! OPEN(88,file=TRIM(YPATH1)//'OPTABLE_DUST.txt',status='old') OPEN(88,file=TRIM(YPATH)//'OPTABLE_DUST.txt',status='old') WRITE(6,*)"read OPTABLE_DUST.txt" ENDIF READ(88,*) READ(88,101)IML,IDC,IDS,ISR,ISI 101 format(3x,I3,3x,I3,2x,I3,2x,I3,2x,I3) IF(IML.NE.MWL.or.IDC.NE.MDC.or.IDS.NE.MDS. & or.ISR.NE.MSR.or.ISI.NE.MSI) THEN WRITE(6,*)"STOP: NEED to check IML,IDC,IDS,ISR values" WRITE(6,*)IML,IDC,IDS,ISR,ISI WRITE(6,*)MWL,MDC,MDS,MSR,MSI STOP ENDIF ! "*** resolution ***" READ(88,*) READ(88,102)RESR, RESI, RESC, RESS 102 format(10F6.1) ! "*** first 2 bin diameter of core and shell ***" READ(88,*) READ(88,103)DCORE1, DSHELL1, DSHELL2 ! in um 103 format(10(1PE10.2)) IF(FIRST) THEN ! RSR and RSI same for all three types, need to modify if not DO ISR=1,MSR RSR(ISR) = 1.33 + float(ISR-1)/RESR ENDDO RSI(1)=1.d-6 DO ISI=2,MSI RSI(ISI) = 1.d-3*10.**(float(ISI-2)/RESI) ENDDO FIRST = .FALSE. ENDIF ! "***wavelength (um)***" READ(88,*) do IML=1,MWL IF(ITABLE.EQ.1) THEN read(88,110)IML1,WAVL1 !um ELSEIF(ITABLE.EQ.2.or.ITABLE.EQ.3) THEN read(88,110)IML1,WAVL1,YREAL,YIM ENDIF ! YTEMP = abs(WAVL1-WAVL(IML))/WAVL1 !double check ! IF(YTEMP.GT.0.01) THEN ! WRITE(6,*)"STOP: NEED to check WAVL",WAVL1,WAVL(IML) ! ENDIF enddo ! ! Define core and shell diameter ! DWET = DSHELL + DCORE ! "***Dcore (um)***" READ(88,*) IF(ITABLE.EQ.1) THEN RESC1 = RESC do IDC = 1, MDC DC1(IDC) = DCORE1 * 10.**(float(IDC-1)/RESC1) !um enddo ELSEIF(ITABLE.EQ.2) THEN RESC2 = RESC do IDC = 1, MDC DC2(IDC) = DCORE1 * 10.**(float(IDC-1)/RESC2) enddo ELSEIF(ITABLE.EQ.3) THEN RESC3 = RESC do IDC = 1, MDC DC3(IDC) = DCORE1 * 10.**(float(IDC-1)/RESC3) enddo ELSE WRITE(6,*) "STOP: NEED to check ITABLE.", ITABLE STOP ENDIF do IDC = 1, MDC READ(88,110)IDC1,DCa !um IF(MDC.GT.1) THEN IF(ITABLE.EQ.1) DCb=DC1(IDC) IF(ITABLE.EQ.2) DCb=DC2(IDC) IF(ITABLE.EQ.3) DCb=DC3(IDC) YTEMP = abs(DCa-DCb)/max(1.d-30,DCa) !double check IF(YTEMP.GT.0.01) THEN WRITE(6,*)"STOP: NEED to check DC",DCa,DCb ENDIF ENDIF enddo ! ! if(MDC.GT.1) THEN ! READ(88,*) ! endif ! "***Dshell (um)***" READ(88,*) IF(ITABLE.EQ.1) THEN RESS1 = RESS do IDS = 1, MDS DS1(IDS) = DSHELL1 * 10.**(float(IDS-1)/RESS1) !um enddo ELSEIF(ITABLE.EQ.2) THEN RESS2 = RESS DS2(1) = DSHELL1 do IDS = 2, MDS DS2(IDS) = DSHELL2 * 10.**(float(IDS-2)/RESS2) enddo ELSEIF(ITABLE.EQ.3) THEN RESS3 = RESS DS3(1) = DSHELL1 do IDS = 2, MDS DS3(IDS) = DSHELL2 * 10.**(float(IDS-2)/RESS3) enddo ELSE WRITE(6,*) "STOP: NEED to check ITABLE.", ITABLE STOP ENDIF do IDS = 1, MDS READ(88,110)IDS1,DSa !um IF(IDS1.GT.0.) THEN IF(ITABLE.EQ.1) DSb=DS1(IDS) IF(ITABLE.EQ.2) DSb=DS2(IDS) IF(ITABLE.EQ.3) DSb=DS3(IDS) YTEMP = abs(DSa-DSb)/max(1.d-30,DSa) !double check IF(IDS.GT.1) THEN IF(YTEMP.GT.0.01) THEN WRITE(6,*)"STOP: NEED to check DS",DSa,DSb ENDIF ENDIF ENDIF enddo ! "***realshell***" READ(88,*) do ISR=1,MSR READ(88,110)ISR1, RSR1 YTEMP = abs(RSR1-RSR(ISR))/max(1.d-30,RSR1) !double check IF(YTEMP.GT.0.01) THEN WRITE(6,*)"STOP: NEED to check REALSH",RSR1,RSR(ISR) ENDIF enddo ! "***imagshell***" READ(88,*) do ISI=1,MSI READ(88,110)ISI1, RSI1 YTEMP = abs(RSI1-RSI(ISI))/max(1.d-30,RSI1) !double check IF(YTEMP.GT.0.01) THEN WRITE(6,*)"STOP: NEED to check IMAGSH",RSI1,RSI(ISI) ENDIF enddo ! Begin spectral loop do IML=1,MWL do IDC=1,MDC do IDS = 1, MDS do ISR=1,MSR do ISI=1,MSI READ(88,122)IML1,IDC1,IDS1,ISR1,ISI1,qextc,w,gscac IF(IML1.NE.IML.or.IDC1.NE.IDC.or.IDS1.NE.IDS. & or.ISR1.NE.ISR.or.ISI1.NE.ISI) THEN WRITE(6,*)"STOP: Need to check IML1,IDC1,IDS1,ISR1,ISI1" STOP ENDIF IF(ITABLE.EQ.1) THEN OPT1EXT(IML,IDS,ISR,ISI) = qextc OPT1W(IML,IDS,ISR,ISI) = w OPT1G(IML,IDS,ISR,ISI) = gscac ELSEIF(ITABLE.EQ.2) THEN OPT2EXT(IML,IDC,IDS,ISR,ISI) = qextc OPT2W(IML,IDC,IDS,ISR,ISI) = w OPT2G(IML,IDC,IDS,ISR,ISI) = gscac ELSEIF(ITABLE.EQ.3) THEN OPT3EXT(IML,IDC,IDS,ISR,ISI) = qextc OPT3W(IML,IDC,IDS,ISR,ISI) = w OPT3G(IML,IDC,IDS,ISR,ISI) = gscac ENDIF enddo !k -- lshell enddo !l -- realshell enddo !MDS enddo !MDC enddo !wavelength 110 FORMAT(I3,10(1PE11.3)) 120 FORMAT(10(1PE9.2)) 121 FORMAT(2(1PE10.3),10(1PE10.3)) 122 FORMAT(I2,4I3,10(1PE10.3)) RETURN END SUBROUTINE READOPTABLE ! ***************************************************************************** !------------------------------------------------------------------------------ subroutine READOPTABLE_LW(ITABLE,DATA_DIR_1x1) IMPLICIT NONE integer :: ITABLE CHARACTER(LEN=255) :: DATA_DIR_1x1 CHARACTER*999 YPATH,YPATH1 INTEGER :: IML,IDC,IDS,ISR INTEGER :: IML1,IDC1,IDS1,ISR1, MDC, MDS REAL*8 :: WAVL1,RSR1 REAL*8 :: DCa,DCb,DSa,DSb REAL*8 :: DCOREMIN,DSHELLMIN,YTEMP REAL*8 :: qextc,w,gscac LOGICAL, SAVE :: FIRST = .TRUE. INTEGER, PARAMETER :: MSRL = 1 IF(FIRST) THEN DO IML=1,MWLL WAVLL(IML) = 4.0 * (10.)**(float(IML-1)/float(MWLL-1)) ! um ENDDO DO ISR=1,MSRL RSR(ISR) = 1.33 + float(ISR-1)*0.01 ENDDO FIRST = .FALSE. ENDIF CLOSE(88) YPATH1 = TRIM(DATA_DIR_1x1)//'/APM_data_201906/OPTAB20110418/' IF(ITABLE.EQ.1)THEN !no core ! MDC = MDC1 ! MDS = MDS1 ! DCOREMIN = 0.0E-0 ! um ! DSHELLMIN = 2.0E-2 ! um ! OPEN(88,file=TRIM(YPATH)//'OPTABLE_NoCore.txt',status='old') ! WRITE(6,*)"read OPTABLE_NoCore.txt" ELSEIF(ITABLE.EQ.2)THEN !BC core ! MDC = MDC2 ! MDS = MDS2 ! DCOREMIN = 1.0E-2 ! um ! DSHELLMIN = 1.0E-3 ! um ! OPEN(88,file=TRIM(YPATH)//'OPTABLE_BC.txt',status='old') ! WRITE(6,*)"read OPTABLE_BC.txt" ELSEIF(ITABLE.EQ.3)THEN !DUST core MDC = MDCLW ! MDS = MDS3 MDS = 1 DCOREMIN = 5.0E-2 ! um DSHELLMIN = 1.0E-3 ! um OPEN(88,file=TRIM(YPATH1)//'OPTABLE_DUST_LW.txt',status='old') WRITE(6,*)"read OPTABLE_DUST_LW.txt" ENDIF READ(88,*) READ(88,101)IML,IDC,IDS,ISR 101 format(3x,I3,3x,I3,2x,I3,2x,I3) IF(IML.NE.MWLL.or.IDC.NE.MDC.or.IDS.NE.MDS.or.ISR.NE.MSRL) THEN WRITE(6,*)"STOP: NEED to check IML,IDC,IDS,ISR values" WRITE(6,*)IML,IDC,IDS,ISR WRITE(6,*)MWLL,MDC,MDS,MSRL STOP ENDIF ! "***wavelength (um)***" READ(88,*) do IML=1,MWLL read(88,110)IML1,WAVL1 !um YTEMP = abs(WAVL1-WAVLL(IML))/max(1.d-30,WAVL1) !double check IF(YTEMP.GT.0.01) THEN WRITE(6,*)"STOP: NEED to check WAVL",WAVL1,WAVLL(IML) ENDIF enddo ! ! Define core and shell diameter ! DWET = DSHELL + DCORE ! "***Dcore (um)***" READ(88,*) IF(ITABLE.EQ.1) THEN ! do IDC = 1, MDC ! DC1(IDC) = DCOREMIN * 10.**(float(IDC-1)/10.) !um ! enddo ELSEIF(ITABLE.EQ.2) THEN ! do IDC = 1, MDC ! DC2(IDC) = DCOREMIN * 10.**(float(IDC-1)/10.) ! enddo ELSEIF(ITABLE.EQ.3) THEN do IDC = 1, MDC DC3LW(IDC) = DCOREMIN * 10.**(float(IDC-1)/10.) enddo ELSE WRITE(6,*) "STOP: NEED to check ITABLE.", ITABLE STOP ENDIF do IDC = 1, MDC READ(88,110)IDC1,DCa !um IF(MDC.GT.1) THEN IF(ITABLE.EQ.1) DCb=DC1(IDC) IF(ITABLE.EQ.2) DCb=DC2(IDC) IF(ITABLE.EQ.3) DCb=DC3LW(IDC) YTEMP = abs(DCa-DCb)/DCa !double check IF(YTEMP.GT.0.01) THEN WRITE(6,*)"STOP: NEED to check DC",DCa,DCb STOP ENDIF ENDIF enddo ! if(MDC.GT.1) THEN READ(88,*) endif ! "***Dshell (um)***" READ(88,*) IF(ITABLE.EQ.1) THEN ! do IDS = 1, MDS ! DS1(IDS) = DSHELLMIN * 10.**(float(IDS-1)/10.) !um ! enddo ELSEIF(ITABLE.EQ.2) THEN ! DS2(1) = 0. ! do IDS = 2, MDS ! DS2(IDS) = DSHELLMIN * 10.**(float(IDS-2)/10.) ! enddo ELSEIF(ITABLE.EQ.3) THEN DS3(1) = 0. do IDS = 2, MDS DS3(IDS) = DSHELLMIN * 10.**(float(IDS-2)/10.) enddo ELSE WRITE(6,*) "STOP: NEED to check ITABLE.", ITABLE STOP ENDIF do IDS = 1, MDS READ(88,110)IDS1,DSa !um IF(IDS1.GT.0.) THEN IF(ITABLE.EQ.1) DSb=DS1(IDS) IF(ITABLE.EQ.2) DSb=DS2(IDS) IF(ITABLE.EQ.3) DSb=DS3(IDS) YTEMP = abs(DSa-DSb)/max(1.d-30,DSa) !double check IF(YTEMP.GT.0.01) THEN WRITE(6,*)"STOP: NEED to check DS",DSa,DSb ENDIF ENDIF enddo ! "***realshell***" READ(88,*) do ISR=1,MSRL READ(88,110)ISR1, RSR1 YTEMP = abs(RSR1-RSR(ISR))/max(1.d-30,RSR1) !double check IF(YTEMP.GT.0.01) THEN WRITE(6,*)"STOP: NEED to check REALSH",RSR1,RSR(ISR) ENDIF enddo ! Begin spectral loop do IML=1,MWLL do IDC=1,MDC do IDS = 1, MDS do ISR=1,MSRL READ(88,122)IML1,IDC1,IDS1,ISR1,qextc,w,gscac IF(IML1.NE.IML.or.IDC1.NE.IDC.or.IDS1.NE.IDS. & or.ISR1.NE.ISR) THEN WRITE(6,*)"STOP: Need to check IML1,IDC1,IDS1,ISR1" STOP ENDIF IF(ITABLE.EQ.1) THEN ! OPT1EXT(IML,IDS,ISR) = qextc ! OPT1W(IML,IDS,ISR) = w ! OPT1G(IML,IDS,ISR) = gscac ELSEIF(ITABLE.EQ.2) THEN ! OPT2EXT(IML,IDC,IDS,ISR) = qextc ! OPT2W(IML,IDC,IDS,ISR) = w ! OPT2G(IML,IDC,IDS,ISR) = gscac ELSEIF(ITABLE.EQ.3) THEN OPT3EXT_LW(IML,IDC) = qextc OPT3W_LW(IML,IDC) = w OPT3G_LW(IML,IDC) = gscac ENDIF enddo !l -- realshell enddo !MDS enddo !MDC enddo !wavelength 110 FORMAT(I3,10(1PE10.3)) 120 FORMAT(100(1PE9.2)) 121 FORMAT(2(1PE10.3),10(1PE10.3)) 122 FORMAT(I2,3I3,10(1PE10.3)) RETURN END SUBROUTINE READOPTABLE_LW ! ***************************************************************************** END MODULE APM_OPTI_MOD !---------------------------------------------------------------------------------- #endif ================================================ FILE: APM/apm_phys_mod.F ================================================ #ifdef APM !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: apm_phys_mod ! ! !DESCRIPTION: Module APM\_PHYS\_MOD solves APM microphysics. !\\ !\\ ! !INTERFACE: ! MODULE APM_PHYS_MOD ! ! !USES: ! IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: APM_PHYS ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: DACTS PRIVATE :: GETGAMMAN2O5 ! !REVISION HISTORY: ! 23 Aug 2008 - F. Yu - Initial version ! 08 Nov 2010 - R. Yantosca - Added ProTeX headers !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: apm_phys ! ! !DESCRIPTION: Subroutine APM\_PHYS is the driver routine for the APM ! microphysics package. !\\ !\\ ! !INTERFACE: ! SUBROUTINE APM_PHYS( II, JJ, LL, NCOAG1, & NCOAG2, IACT10, IACT20, IACT30, & RACT1, RACT2, RACT3, NTEMPOUT1, & DENAIR, PRESS, YSIGMA, TK, RH, & XQ, PLVSOG01, PLVSOG1, CACID, PACID, CNH3, & DT, MMSA, MNIT, MNH4, & MBCS, MOCS, MDSTS, MSALTS, & XMBC, XMOC, SOAT, CLVSOG, MSULFLV, & MBCLV, MOCLV, MDSTLV, MSALTLV, & GFTOT1, GFTOT2, DENWET1, DENWET2, & YSPGF , XBCLIFE, XOCLIFE, & VZ, YCLDLIQ, XCDN, XCDNSP, & XM1D, XN1D, TEMPOUT1, XMDST, FCLOUD1, !OPT+ & FCLOUD1 ) & ZBEXT,ZW,ZG,ZBABS,XBEXT1k, & YBEXT,YW,YG,ACS,XDMA,AERAREA,AERDRYR, & GAMMAPM,AEROCOMOUT,IFSITEOUT, & ATOM4N) ! ! !USES: ! USE APM_INIT_MOD, ONLY : IFNUCL,IFAG,IFATHN,IFNH3,IFNUCLORG USE APM_INIT_MOD, ONLY : NSO4,NSEA,NDSTB,NTYP,NBCOC USE APM_INIT_MOD, ONLY : RDRY, VDRY, RSALT, VSALT, YGF USE APM_INIT_MOD, ONLY : RBCOC, VBCOC USE APM_INIT_MOD, ONLY : TOTNUMBC,TOTNUMOC, TOTAREABC,TOTAREAOC USE APM_INIT_MOD, ONLY : DACT1, DACT2, DACT3, DENSULF, XMLVSOG USE APM_INIT_MOD, ONLY : V1LVSOG,V1ACID USE APM_INIT_MOD, ONLY : RDST,DENDST,VDST USE APM_INIT_MOD, ONLY : ONEPI USE APM_TIMN_MOD, ONLY : YUJTIMN1 USE APM_ATHN_MOD, ONLY : YUJATHN USE APM_COAG_MOD, ONLY : APM_COAG,APM_COAGSCAV USE APM_GROW_MOD, ONLY : APM_GROW,APM_MOVEBIN USE APM_INIT_MOD, ONLY : ISITES,JSITES USE APM_OPTI_MOD, ONLY : APM_OPT, APM_OPT_LW ! OPT+ USE APM_INIT_MOD, ONLY : CEMITBCOC2 !OPT+ USE APM_INIT_MOD, ONLY : IFCOAT !OPT+ USE APM_INIT_MOD, ONLY : IFCOATBC !OPT+ USE APM_INIT_MOD, ONLY : IFOPT, IFCDNPDF !OPT+ USE APM_INIT_MOD, ONLY : DENBC ! in kg/m3 USE APM_INIT_MOD, ONLY : DTTEST USE APM_INIT_MOD, ONLY : BC_LIFEAPM,OC_LIFEAPM USE APM_INIT_MOD, ONLY : D0CONV USE APM_INIT_MOD, ONLY : WBAR USE APM_INIT_MOD, ONLY : IFAMINEUP, AGAMA USE APM_INIT_MOD, ONLY : IFAEROCOMOUT USE apm_mixactivate, only: activate ! ! !INPUT PARAMETERS: ! INTEGER :: II INTEGER :: JJ INTEGER :: LL INTEGER :: NTEMPOUT1 ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER :: NCOAG1,NCOAG2, NCOAG4, NCOAG5 INTEGER :: IACT10 ! bin index for cloud act INTEGER :: IACT20 ! bin index for cloud act INTEGER :: IACT30 ! bin index for cloud act INTEGER :: RACT1 ! bin index for cloud act INTEGER :: RACT2 ! bin index for cloud act INTEGER :: RACT3 ! bin index for cloud act REAL*8 :: VZ,YCLDLIQ, XCDN,XCDNSP REAL*8 :: DENAIR REAL*8 :: PRESS REAL*8 :: TK REAL*8 :: RH REAL*8 :: XQ REAL*8 :: PLVSOG01 REAL*8 :: PLVSOG1 REAL*8 :: CACID REAL*8 :: PACID REAL*8 :: CNH3 REAL*8 :: DT REAL*8 :: MMSA REAL*8 :: MNIT REAL*8 :: MNH4 REAL*8 :: MBCS ! mass of sulfate attached to primary particles REAL*8 :: MOCS ! mass of sulfate attached to primary particles REAL*8 :: MDSTS ! mass of sulfate attached to primary particles REAL*8 :: MSALTS ! mass of sulfate attached to primary particles REAL*8 :: SOAT REAL*8 :: CLVSOG REAL*8 :: MSULFLV REAL*8 :: MBCLV REAL*8 :: MOCLV REAL*8 :: MDSTLV REAL*8 :: MSALTLV REAL*8 :: GFTOT1 REAL*8 :: GFTOT2 REAL*8 :: DENWET1 REAL*8 :: DENWET2 REAL*8 :: XM1D(NSO4+NSEA),XMDST(NDSTB),XMBC(NBCOC),XMOC(NBCOC) REAL*8 :: XN1D(NSO4) REAL*8 :: TEMPOUT1(NTEMPOUT1) REAL*8 :: FCLOUD1(NSO4+4) REAL*8 :: YSPGF, XBCLIFE, XOCLIFE REAL*8 :: YSIGMA REAL*8 :: ACS, XDMA, YJATHN REAL*8 :: AERAREA(NSO4+NSEA+NDSTB+4), AERDRYR(NSO4+NSEA+NDSTB+4) REAL*8 :: PM25(8),GAMMAPM(NTYP),AEROCOMOUT(27) REAL*8 :: CHOM,XJN,XJI,YRATIO,YJBHN INTEGER :: IFSITEOUT ! ! !REMARKS: ! APM AEROSOL Types (N=1,NTYP) ! N=1: Sulfate or Secondary particles (SO4 plus other species) ! (density: 1.7 g/cc) ! N=2: Sea Salt (density: 2.2 g/cc) ! N=3: DUST (density: 2.5 g/cc for D<1 um, 2.65 g/cm3 for D>~1 um) ! N=4: BC (density: ? 1.0 or 1.8 g/cc) ! N=5: OC (density: 1.8 g/cc) ! ! !REVISION HISTORY: ! 17 Mar 2010 - F. Yu - Initial version ! 08 Nov 2010 - R. Yantosca - Added ProTeX headers !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: N,M,ITYPE, NI,NJ,NA INTEGER :: IRH REAL*8 :: PMB,XS,CACID1 REAL*8 :: XN(NSO4),XMA(NSO4),XVA(NSO4) REAL*8 :: XNSALT(NSEA),XMSALT(NSEA),XVSALT(NSEA) REAL*8 :: XNDST(NDSTB),XVDST(NDSTB) REAL*8 :: XVBC(NBCOC),XVOC(NBCOC) REAL*8 :: RBCWET(NBCOC),ROCWET(NBCOC) REAL*8 :: YAREABC(NBCOC),YAREAOC(NBCOC) REAL*8 :: RBCGF(NBCOC),ROCGF(NBCOC) REAL*8 :: TOTN REAL*8 :: YJ, DVJ, DV REAL*8 :: VGAS,FREEP,TAREA,AREA,YKN,FCORR REAL*8 :: YCS(NTYP), YCSDUST, TCS, SURF(NTYP) REAL*8 :: CSSULF,AREASULF,XRCM,YJAVE,YRSTAR,CACID0 REAL*8 :: YYJ,YYJAVE,YJATHNAVE,CACIDAVE REAL*8 :: MSO4,MSOA REAL*8 :: MSO4B,MNITB,MNH4B,MMSAB,MSULFT,TOTMP,FSO4B REAL*8 :: MSP(NTYP),MCORE(NTYP),ZK(NTYP) REAL*8 :: ZDACT(NTYP,4),ZCCN(NTYP,3),ZTN(NTYP),TCCN(3) REAL*8 :: ATOM4N(4) REAL*8 :: DIAM1GAS,DIAM2GAS REAL*8 :: TNBC, TNOC,TNBC1,TNBC2,TNOC1,TNOC2 REAL*8 :: GF2,GF3,GF4,FRACSOA,GFWATERVOL,GFWATER REAL*8 :: GFTOT,DENWET,DENWATER REAL*8 :: DENSALTWET,Y1,DENBCWET,DENOCWET REAL*8 :: TN10nm,TNOTHER REAL*8 :: RRATIO, RRATIOWET REAL*8 :: AREABC,AREAOC REAL*8 :: RWET(NSO4),RSALTWET(NSEA),RWETCM(NSO4),RSALTWETCM(NSEA) REAL*8 :: GFGAS, CSSALT,AREASALT REAL*8 :: MCONDOTH,TCSOTHER, TOTCONDOTH REAL*8 :: YAREASALT(NSEA), MSALTTOT, YSALTS(NSEA), MSALTSOA(NSEA) REAL*8 :: RSALTGF(NSEA),TAREASALT REAL*8 :: YAREADST(NDSTB),CSDST,AREADST,RDSTWET(NDSTB) REAL*8 :: FBCOC1,FBCOC2 REAL*8 :: EPC, COAGN0, DTCOAG1,DTCOAG2,DTCOAG4,DTCOAG5 INTEGER :: NCOAG(5), NCOAGMAX, I3nm, IERF, I10nm INTEGER :: I50nm(5),I80nm(5),I120nm(5) REAL*8 :: BINSIZE(5),BINMASS(5) REAL*8 :: RLOSULF REAL*8 :: SUMXVA0,SUMXVA1,DLVSOG,DACID REAL*8 :: XMCONDIN,CACIDIN,PACIDIN,TCSOTHERIN REAL*8 :: DTLEFT, DTNGC, DNMAX INTEGER :: IFNGC INTEGER :: ISITE,JSITE REAL*8 :: ZN1,ZN2,ZN3 REAL*8 :: TCSLV,CLVSOG1,CLVSOG0 INTEGER :: ICOND ! REAL*8 :: MBCFF,MBCBB,MOCFF,MOCBB REAL*8 :: TK1 !OPT+ INTEGER :: ITEST,MBIN,I,IWL INTEGER, PARAMETER :: MWLS=16 !RRTMG 14 SW band + two wls (0.5 and 0.55 um) INTEGER, PARAMETER :: MWLL=9 !RRTMG 9 LW band ! INTEGER, PARAMETER :: KWL1=6 !550 nm INTEGER, PARAMETER :: KWL1=4 !500 nm ! INTEGER, PARAMETER :: KWL1=3 !390 nm REAL*8 :: WLS(MWLS) REAL*8 :: XBEXT(MWLS),XBEXT1k(40,5),AER1k(12) REAL*8 :: XW(MWLS),XG(MWLS) REAL*8 :: YBEXT(NTYP,MWLS),YW(NTYP,MWLS),YG(NTYP,MWLS) REAL*8 :: ZBEXT(MWLS),ZW(MWLS),ZG(MWLS) !LW for dust only REAL*8 :: WLL(MWLL) REAL*8 :: XBEXT1(MWLL),XW1(MWLL),XG1(MWLL) ! REAL*8 :: ZBEXT1(MWLL),ZW1(MWLL),ZG1(MWLL) REAL*8 :: ZBABS(MWLL) REAL*8 :: vtotal,yvdry,vh2o REAL*8 :: xn_in(NSO4) REAL*8 :: XDCORE(NSO4) REAL*8 :: ZFV(6),ZFV_SP(6) REAL*8 :: RRATIOWETBC,RRATIOWETOC REAL*8 :: XNBC(NBCOC),XNOC(NBCOC), VRATIO REAL*8 :: YBCS,MBCSOA,MBCTOT,YOCS,MOCSOA,MOCTOT,CSBC,CSOC REAL*8 :: TAREAO, ZTEMP1, ZTEMP2 REAL*8 :: MBCS0,MOCS0,MBCLV0,MOCLV0 REAL*8 :: FLUXBC, FLUXOC,DRDTBC,DRDTOC !OPT+ REAL*8 :: RGTOT,XMTOT,RGM,SIG2TOT,SIG,YM(NSO4) REAL*8 :: MWATERSP REAL*8 :: DUST500 ! for max sat INTEGER :: NSIZE_AER(NTYP), IS, IACT40 REAL*8 :: RRATIOBC, RRATIOOC, maxsatout,XSAT REAL*8 :: NAEROSOL(NSO4,NTYP),AM(NSO4,NTYP) REAL*8 :: HYGRO_AER(NSO4,NTYP) REAL*8 :: YCDN(NTYP) REAL*8 :: ZCDN(NTYP) ! for BHN_IIN REAL*8 :: YRHF, YAMOLF,YNTOT,YISTAR,YNWSTAR REAL*8 :: XN0, XNH3 REAL*8 :: XJBN,XJBI,XJTN,XJTI REAL*8 :: XJBH,XJBIM,XJTH,XJTIM REAL*8 :: RBH,RBIM,RTH,RTIM REAL*8 :: YJAVE_BH,YJAVE_BIM,YJAVE_TH,YJAVE_OM,YJAVE_PON,YJAVE_POI REAL*8 :: YJAVE_TIM REAL*8 :: YJAVE_BN,YJAVE_BI,YJAVE_TN,YJAVE_TI REAL*8 :: YJOM,YJPON,YJPOI REAL*8 :: TAREABC,TAREAOC ! ! for PDF INTEGER :: IW INTEGER, PARAMETER :: MW = 40 real*8 :: DW,WW,SIGMA real*8 :: W(MW),PW(MW) REAL*8 :: XRATIO REAL*8 :: DENAER(5) !YuBCden DATA (DENAER(NA),NA=1,5)/1.7,2.2,2.65,1.8,1.8/ ! density (g/cm3) ! DATA (DENAER(NA),NA=1,5)/1.7,2.2,2.65,1.2,1.8/ ! density (g/cm3) ! DATA (WLS(IWL),IWL=1,MWLS)/0.3,0.55,0.94,1.785,3.19/ !OPT+ ! DATA (WLS(IWL),IWL=1,MWLS)/0.34,0.38,0.443,0.469,0.5,0.554, ! & 0.645,0.675, 0.865,0.94,1.02,1.24,1.64,1.785,2.13,3.19/ DATA (WLS(IWL),IWL=1,MWLS)/0.23,0.30,0.39,0.50,0.53,0.55, & 0.70,1.01,1.27,1.46,1.78,2.05,2.33,2.79,3.46,8.02/ DATA (WLL(IWL),IWL=1,MWLL)/4.3,5.,6.,8.1,9.6,11.6,15.8,24.0,35./ !OPT+ !Luo for AEROCOM real*8 :: XSATAEROCOM(13) DATA XSATAEROCOM /0.0005,0.00075,0.001,0.0015,0.002,0.003,0.004 & ,0.005,0.006,0.007,0.008,0.009,0.01/ ATOM4N=0.d0 ! CLVSOG0 = 4.d6 CLVSOG0 = 5.d5 DENWATER = 1.0 ! density of water (g/cm3) DENAER(1)= 1.7 DENAER(2)= 2.2 DENAER(3)= 2.65 DENAER(4) = DENBC/1000.0 !update BC density based on value from input.apm DENAER(5)= 1.8 IF(PACID.LT.0.0) THEN WRITE(6,*) "PACID < 0, set it to 1.E-2" WRITE(6,99)II,JJ,LL,CACID,PACID PACID = 1.d-2 ENDIF TEMPOUT1=1.d-30 XN0 = 1.d-6*PRESS/(1.3807d-23*TK) !#/cm3 XNH3 = CNH3*1.d-12*XN0 !ppt to #/cm3 IF(IFNH3.EQ.0) XNH3=1.d-30 ! no NH3 effect MCORE = 1.d-20 MSP = 1.d-21 ZCCN = 1.d-20 PM25 = 1.d-10 ! MBCS0 = MBCS MOCS0 = MOCS MBCLV0 = MBCLV MOCLV0 = MOCLV ! The growth/movebin/coag subrountine is based on volume, convert mass to volume ! Sulfate MSO4 = 0.d0 DO N=1,NSO4 XN(N)=XN1D(N) XMA(N)=XM1D(N) MSO4 = MSO4 + XM1D(N) ! total bin sulfate mass IF(XMA(N).LT.1.D-40)XMA(N)=1.D-40 XVA(N)=XMA(N)*1.d-3/DENSULF !XVA in cm3/cm3 XMA in kg/m3 ENDDO ! Move particles across bins after cloud chem, XN is the values ! recorded before calling DO_CHEMISTRY in main.f CALL APM_MOVEBIN(NSO4,XN,XVA) ! ! Seasalt ! DO N=1,NSEA XMSALT(N) = XM1D(NSO4+N) MCORE(2)=MCORE(2) + XMSALT(N) IF(XMSALT(N).LT.1.D-40)XMSALT(N)=1.D-40 XVSALT(N)=XMSALT(N)*1.d-3/DENAER(2) !XV in cm3/cm3 XM in kg/m3 XNSALT(N) = XVSALT(N)/(1.E6*VSALT(N)) ! XN in #/cm3, VSALT in m3 IF(RSALT(N).LT.1.25d-6) THEN PM25(7)=PM25(7) + XMSALT(N)*1.d9 ENDIF IF(RSALT(N).GE.1.35d-9)THEN IF(RSALT(N).LE. 2.4d-6)THEN IF(RSALT(N).LT.10.d-9)THEN ATOM4N(1)=ATOM4N(1)+XNSALT(N) ELSE IF(RSALT(N).LT.60.d-9)THEN ATOM4N(2)=ATOM4N(2)+XNSALT(N) ELSE IF(RSALT(N).LT.0.5d-6)THEN ATOM4N(3)=ATOM4N(3)+XNSALT(N) ELSE ATOM4N(4)=ATOM4N(4)+XNSALT(N) ENDIF ENDIF ENDIF ENDDO ZTN(2) = SUM(XNSALT) ! ! Dust DO N=1,NDSTB MCORE(3)=MCORE(3) + XMDST(N) XVDST(N)=XMDST(N)*1.d-3/DENDST(N) !XV in cm3/cm3,DENDST in g/cm3 XNDST(N) = XVDST(N)/(1.E6*VDST(N)) ! XN in #/cm3, VDST in m3 RDSTWET(N)=RDST(N)*100. ! wet size in cm, use RDST for now IF(RDST(N).LT.1.25d-6) THEN PM25(8)=PM25(8) + XMDST(N)*1.d9 ENDIF IF(RDST(N).GE.1.35d-9)THEN IF(RDST(N).LE. 2.4d-6)THEN IF(RDST(N).LT.10.d-9)THEN ATOM4N(1)=ATOM4N(1)+XNDST(N) ELSE IF(RDST(N).LT.60.d-9)THEN ATOM4N(2)=ATOM4N(2)+XNDST(N) ELSE IF(RDST(N).LT.0.5d-6)THEN ATOM4N(3)=ATOM4N(3)+XNDST(N) ELSE ATOM4N(4)=ATOM4N(4)+XNDST(N) ENDIF ENDIF ENDIF ENDDO ZTN(3) = SUM(XNDST) DUST500 = SUM(XNDST(6:NDSTB)) ! BCOC DO N=1,NBCOC MCORE(4)=MCORE(4) + XMBC(N) XVBC(N)=XMBC(N)*1.D-3/DENAER(4) !XV in cm3/cm3,DEN in g/cm3 XNBC(N) = XVBC(N)/(1.E6*VBCOC(N)) ! XN in #/cm3, VBC in m3 IF(RBCOC(N).LT.1.25D-6) THEN PM25(5)=PM25(5) + XMBC(N)*1.d9 ENDIF ENDDO ZTN(4) = SUM(XNBC) DO N=1,NBCOC MCORE(5)=MCORE(5) + XMOC(N) XVOC(N)=XMOC(N)*1.D-3/DENAER(5) !XV in cm3/cm3,DEN in g/cm3 XNOC(N) = XVOC(N)/(1.E6*VBCOC(N)) ! XN in #/cm3, VOC in m3 IF(RBCOC(N).LT.1.25D-6) THEN PM25(6)=PM25(6) + XMOC(N)*2.1d9 ENDIF ENDDO ZTN(5) = SUM(XNOC) !****************************************************************************** ! Sulfate particle dry size increase due to uptake of NIT, NH4, SOA via ! equilibrium/partition (ratio same for all sizes for now) ! assume SO4, NIT, NH4, SOA have same density for now ! MSULFLV teated as a part of MSO4 for now but not involved in isoropia calculation MSO4B = MSO4-MSULFLV IF(MSO4B.LE.0.) THEN WRITE(6,*)"MSO4.LE.MSULFLV",II,JJ,LL,MSO4,MSULFLV ! Reduce MSULFLV for now MSULFLV = 0.99*MSO4 MSO4B = MSO4-MSULFLV ENDIF MCORE(1) = MSO4B DO N=1,NTYP IF(MCORE(N).LE.0.) THEN ! WRITE(6,*)"MCORE.LE.0", N, II, JJ,LL MCORE(N)=1.d-20 ENDIF ENDDO ! NIT, NH4, and MSA on SP ! When call inorganic equilibrium, MSULFT is used. Need scale to get ! NIT, NH4, MSA associated with SP. MSULFT = MSO4B+MBCS+MOCS+MDSTS+MSALTS !Total SulfateNew (kg/m3) MSULFT = MAX(MSULFT,1.d-20) FSO4B = MSO4B/MSULFT ! fraction of SO4 in SP MNITB = MNIT * FSO4B MNH4B = MNH4 * FSO4B MMSAB = MMSA * FSO4B ! SV-SOA, MV-SOA on SP ! MOC*2.1+MSULFLV+MBCLV+MOCLV+MDSTLV+MSALTLV was used to get SOAT TOTMP = MCORE(5)*2.1+MSULFLV+MBCLV+MOCLV+MDSTLV+MSALTLV TOTMP = MAX(TOTMP,1.d-20) MSOA = SOAT*MSULFLV/TOTMP ! SOA partioned into SP (kg/m3) MSP(1) = MSO4+MMSAB+MNITB+MNH4B+MSOA ! total mass of SP MSP(2) = MSALTS*(1.+(MMSA+MNIT+MNH4)/MSULFT) ! SP mass on sea salt & +MSALTLV*(1.+SOAT/TOTMP) MSP(3) = MDSTS*(1.+(MMSA+MNIT+MNH4)/MSULFT) ! SP mass on dust & +MDSTLV*(1.+SOAT/TOTMP) MSP(4) = MBCS*(1.+(MMSA+MNIT+MNH4)/MSULFT) ! SP mass on BC & +MBCLV*(1.+SOAT/TOTMP) MSP(5) = MOCS*(1.+(MMSA+MNIT+MNH4)/MSULFT) ! SP mass on OC & +MOCLV*(1.+SOAT/TOTMP) ! & +MCORE(5)*2.*SOAT/TOTMP & +MCORE(5)*2.1*SOAT/TOTMP XRATIO = (MSO4B+MBCS+MOCS)/MSULFT PM25(1) = (MSO4B + MBCS+MOCS)*1.d9 PM25(2) = (MNIT * XRATIO )*1.d9 PM25(3) = (MNH4 * XRATIO)*1.d9 PM25(4) = (SOAT + MSULFLV+MBCLV+MOCLV)*1.d9 ! ! determine cloud activation dry diameters at three S based on composition XSAT = 0.001 ! assume 0.1%, will be updated in the next call CALL DACTS(TK,MSO4,MSULFLV,MMSAB,MNITB,MNH4B,MSOA, & MCORE,MSP,XSAT,ZK,ZDACT) ! CALL GETGAMMAN2O5(TK, RH, MSO4, MSULFLV, MMSAB, ! & MNITB, MNH4B, MSOA, MCORE, ! & MSP, GAMMAPM ) IF(MSO4.LE.0.) THEN write(6,99)II,JJ,LL,MSO4,MSULFLV,MMSA,MNIT,MNH4,MSOA GFGAS = 1. ELSE ! MSULFLV included in MSO4 GFGAS=(MSP(1)/MSO4)**(1./3.) ENDIF ! for max sat ITYPE = 1 NSIZE_AER(ITYPE)=NSO4 DO N= 1, NSIZE_AER(ITYPE) NAEROSOL(N,ITYPE)=XN(N)*1.0d6 ! #/m3 AM(N,ITYPE) = GFGAS*RDRY(N) ! m HYGRO_AER(N,ITYPE)=ZK(ITYPE) ENDDO ! ! log-normal fitting to SP RGTOT = 0. XMTOT = 1.d-20 DO N= 1, NSO4 ! YM(N) = GFGAS**3.0*XVA(N)*DENSULF*1.d3 !XVA in cm3/cm3 YM in kg/m3 RGTOT = RGTOT + YM(N)*DLOG10(GFGAS*RDRY(N)) XMTOT = XMTOT + YM(N) ENDDO RGM =10.**(RGTOT/XMTOT) ! mass weighted median R in m SIG2TOT = 0. DO N= 1,NSO4 SIG2TOT=SIG2TOT+YM(N)*DLOG10(GFGAS*RDRY(N)/RGM) & *DLOG10(GFGAS*RDRY(N)/RGM) ENDDO SIG = 10.**(SQRT(SIG2TOT/XMTOT)) ! standard deviation ! Growth due to uptake of water, need update for LV-SOA later IRH = INT(RH+0.5) ! IRH= MIN0(99,IRH) !OPT+ IRH= MIN0(99,IRH) !OPT+ GF calculate large uncertainty at high RH, also should avoid AOD at the ! presence of cloud. set RH to a max of 95% for now. IRH= MIN0(99,IRH) IRH= MAX0(1,IRH) ! GF2 = YGF(IRH,2) ! growth factor of SO4+NIT+NH4 component ! Based on ISOROPIA GF2 = YSPGF GF3 = YGF(IRH,3) ! growth factor of SOA component FRACSOA = MSOA/MSP(1) GFWATERVOL = (1.-FRACSOA)*GF2**3.0 + FRACSOA*GF3**3.0 GFWATER = GFWATERVOL**(1./3.) ! ! Total growth factor GFTOT = GFGAS*GFWATER IF(GFTOT<1.D0)THEN WRITE(*,*)'GFTOT < 1, set to 1',II,JJ,LL,GFTOT GFTOT = 1.D0 ENDIF GFTOT1 = GFTOT DO N=1,NSO4 RWET(N) = RDRY(N)*GFTOT ! Consider uptake of NIT,NH4,SOA and H20 RWETCM(N) = RWET(N)*100. ENDDO ! Average density of wet particles DENWET=DENSULF/GFWATERVOL+DENWATER*(1.-1./GFWATERVOL) DENWET1 = DENWET ! Then find corresponding act bins I3nm=1 I10nm=1 IACT10=1 IACT20=1 IACT30=1 RACT1=1 RACT2=1 RACT3=1 DO N = 2, NSO4 DIAM1GAS = GFGAS*RDRY(N-1)*2. DIAM2GAS = GFGAS*RDRY(N)*2. IF(3.d-9.GE.DIAM1GAS.and.3.d-9.LT.DIAM2GAS) I3nm=N IF(1.d-8.GE.DIAM1GAS.and.1.d-8.LT.DIAM2GAS) I10nm=N IF(ZDACT(1,1).GE.DIAM1GAS.and.ZDACT(1,1).LT.DIAM2GAS) IACT10=N IF(ZDACT(1,2).GE.DIAM1GAS.and.ZDACT(1,2).LT.DIAM2GAS) IACT20=N IF(ZDACT(1,3).GE.DIAM1GAS.and.ZDACT(1,3).LT.DIAM2GAS) IACT30=N IF(GFGAS*RDRY(N).GE.1.35d-9)THEN IF(GFGAS*RDRY(N).LE. 2.4d-6)THEN IF(GFGAS*RDRY(N).LT.10.d-9)THEN ATOM4N(1)=ATOM4N(1)+XN(N) ELSE IF(GFGAS*RDRY(N).LT.60.d-9)THEN ATOM4N(2)=ATOM4N(2)+XN(N) ELSE IF(GFGAS*RDRY(N).LT.0.5d-6)THEN ATOM4N(3)=ATOM4N(3)+XN(N) ELSE ATOM4N(4)=ATOM4N(4)+XN(N) ENDIF ENDIF ENDIF ENDDO RACT1=IACT20 ! ZCCN(1,1)=SUM(XN(IACT10:NSO4)) ZCCN(1,2)=SUM(XN(IACT20:NSO4)) ZCCN(1,3)=SUM(XN(IACT30:NSO4)) ZTN(1) = SUM(XN(I3nm:NSO4)) ! ! Wet size and density of seasalt ! GF4 = YGF(IRH,4) ! growth factor of seasalt component IF(GF4.LT.1.D0)THEN WRITE(*,*)'GF4 < 1',II,JJ,LL,GF4 GF4 = 1.0 ENDIF GFTOT2= GF4 DO N=1,NSEA RSALTWET(N) = RSALT(N)*GF4 RSALTWETCM(N) = RSALTWET(N)*100. ENDDO Y1 = 1./(GF4**3.) DENSALTWET = DENAER(2)*Y1 + DENWATER*(1. - Y1) DENWET2 = DENSALTWET ! Wetsize of coated BCOC -- rough calculation for now IF(MCORE(4).GT.0.D0)THEN RRATIO = (1. + MSP(4)/MCORE(4))**(1./3.) RRATIOWET=(1.+MSP(4)*GFWATER**3./MCORE(4))**(1./3.) ELSE RRATIO=1.D0 RRATIOWET=1.D0 ENDIF RRATIOBC = RRATIO RRATIOWETBC = RRATIOWET IF(MCORE(5).GT.0.D0)THEN RRATIO = (1. + MSP(5)/MCORE(5))**(1./3.) !bug RRATIOWET=(1.+MOCS*(GFGAS*GFWATER)**3./MCORE(5))**(1./3.) RRATIOWET=(1.+MSP(5)*GFWATER**3./MCORE(5))**(1./3.) ELSE RRATIO=1.D0 RRATIOWET=1.D0 ENDIF ! OPT+ RRATIOOC = RRATIO RRATIOWETOC = RRATIOWET ! OPT+ DO N=1,NBCOC RBCWET(N)=RBCOC(N)*100.*RRATIOWETBC ! wet size in cm ROCWET(N)=RBCOC(N)*100.*RRATIOWETOC ! wet size in cm ENDDO Y1 = 1./(RRATIOWETBC**3.) DENBCWET = DENAER(4)*Y1 + DENWET*(1. - Y1) Y1 = 1./(RRATIOWETOC**3.) DENOCWET = DENAER(5)*Y1 + DENWET*(1. - Y1) !****************************************************************************** ! Condensation sink, coagulation sink of various aerosols ! PMB = PRESS/100. ! convert pa to mb VGAS = SQRT(216.03*TK)*100. ! cm/s FREEP = PRESS*300./(1.013E5*TK)* 7.5E-6 ! H2SO4 mean free path (cm) TAREA = 1.d-20 TCS = 1.d-20 YAREASALT = 1.d-20 DO N = 1, NTYP YCS(N) = 1.d-21 IF(N.EQ.1) THEN ! sulfate - use size distr to calculate CS CSSULF = 1.d-21 AREASULF = 1.d-21 DO NI = 1, NSO4 XRCM = RWET(NI)*100. ! cm AREA = 4.*ONEPI*XRCM*XRCM*XN(NI) !cm2/cm3 AERAREA(NI)=AREA AERDRYR(NI)=XRCM AREASULF = AREASULF + AREA YKN = FREEP/XRCM FCORR = YKN/(0.75+YKN) CSSULF = CSSULF + 0.25*VGAS*AREA*FCORR ! s-1 ENDDO TAREA = TAREA + AREASULF SURF(N) = AREASULF YCS(N) = CSSULF ELSEIF(N.EQ.2) THEN ! sea salt- use size distr to calculate CS CSSALT = 1.d-21 AREASALT = 1.d-21 DO NI = 1, NSEA XRCM = RSALTWET(NI)*100. ! cm AREA = 4.*ONEPI*XRCM*XRCM*XNSALT(NI) !cm2/cm3 AERAREA(NSO4+NI)=AREA AERDRYR(NSO4+NI)=XRCM AREASALT = AREASALT + AREA YAREASALT(NI) = AREA YKN = FREEP/XRCM FCORR = YKN/(0.75+YKN) CSSALT = CSSALT + 0.25*VGAS*AREA*FCORR ! s-1 ENDDO TAREA = TAREA + AREASALT SURF(N) = AREASALT YCS(N) = CSSALT ELSEIF(N.EQ.3) THEN ! dust CSDST = 1.d-21 AREADST = 1.d-21 DO NI = 1, NDSTB XRCM = RDSTWET(NI) ! cm AREA = 4.*ONEPI*XRCM*XRCM*XNDST(NI) !cm2/cm3 AERAREA(NSO4+NSEA+NI)=AREA AERDRYR(NSO4+NSEA+NI)=XRCM AREADST = AREADST + AREA YAREADST(NI) = AREA YKN = FREEP/XRCM FCORR = YKN/(0.75+YKN) CSDST = CSDST + 0.25*VGAS*AREA*FCORR ! s-1 ENDDO TAREA = TAREA + AREADST SURF(N) = AREADST YCS(N) = CSDST ELSEIF(N.EQ.4) THEN ! BC CSBC = 1.D-21 AREABC = 1.D-21 DO NI = 1, NBCOC XRCM = RBCWET(NI) ! cm AREA = 4.*ONEPI*XRCM*XRCM*XNBC(NI) !cm2/cm3 AREABC = AREABC + AREA YAREABC(NI) = AREA YKN = FREEP/XRCM FCORR = YKN/(0.75+YKN) CSBC = CSBC + 0.25*VGAS*AREA*FCORR ! s-1 ENDDO TAREA = TAREA + AREABC SURF(N) = AREABC YCS(N) = CSBC IF(IFCOATBC.EQ.0) THEN ! don't consider coating on BC, set CS to zero so that condensation and scavenging ignored YCS(N) = 1.D-20 ENDIF SURF(N) = AREA ELSEIF(N.EQ.5) THEN ! POC CSOC = 1.D-21 AREAOC = 1.D-21 DO NI = 1, NBCOC XRCM = ROCWET(NI) ! cm AREA = 4.*ONEPI*XRCM*XRCM*XNOC(NI) !cm2/cm3 AREAOC = AREAOC + AREA YAREAOC(NI) = AREA YKN = FREEP/XRCM FCORR = YKN/(0.75+YKN) CSOC = CSOC + 0.25*VGAS*AREA*FCORR ! s-1 ENDDO TAREA = TAREA + AREAOC SURF(N) = AREAOC YCS(N) = CSOC SURF(N) = AREA ENDIF TCS = TCS + YCS(N) ! Total CS ENDDO XS = TAREA*1.E8 ! XS is total surface area in um2/cm3 TCSOTHER = TCS - CSSULF ! CS of particles other than sulfate ! CS for amine uptake ACS = 0. IF(IFAMINEUP.EQ.1) THEN ACS = YCS(1) + YCS(2)*MSP(2)/(MSP(2)+MCORE(2)) & + YCS(3)*MSP(3)/(MSP(3)+MCORE(3)) & + YCS(4)*MSP(4)/(MSP(4)+MCORE(4)) & + YCS(5)*MSP(5)/(MSP(5)+MCORE(5)) ACS = ACS * AGAMA !AGAMA amine accommodation coef ENDIF IF(ZTN(2).GT.1.) THEN TAREASALT =SUM(YAREASALT) DO N=1, NSEA ! distribute MSALTS according to surface area YSALTS(N) = MSALTS * YAREASALT(N)/TAREASALT MSALTSOA(N) = MSALTLV * YAREASALT(N)/TAREASALT MSALTTOT = XMSALT(N) & + YSALTS(N)*GFGAS**3.0 ! sulfate and associated NIT, CH4, SOA & + MSALTSOA(N) ! SV-SOA not considered for now RSALTGF(N) = RSALT(N)*(MSALTTOT/XMSALT(N))**(1./3.) ENDDO ELSE RSALTGF = RSALT ENDIF N=1 IF((2.*RSALTGF(N)).GE.ZDACT(2,1)) & ZCCN(2,1) = ZCCN(2,1) + XNSALT(N) IF((2.*RSALTGF(N)).GE.ZDACT(2,2)) & ZCCN(2,2) = ZCCN(2,2) + XNSALT(N) IF((2.*RSALTGF(N)).GE.ZDACT(2,3)) & ZCCN(2,3) = ZCCN(2,3) + XNSALT(N) DO N=2,NSEA ! Sea-salt CCN at 3 S IF(ZDACT(2,2).GE.(2.*RSALTGF(N-1)).and. & ZDACT(2,2).LT.(2.*RSALTGF(N))) RACT2=N IF((2.*RSALTGF(N)).GE.ZDACT(2,1)) & ZCCN(2,1) = ZCCN(2,1) + XNSALT(N) IF((2.*RSALTGF(N)).GE.ZDACT(2,2)) & ZCCN(2,2) = ZCCN(2,2) + XNSALT(N) IF((2.*RSALTGF(N)).GE.ZDACT(2,3)) & ZCCN(2,3) = ZCCN(2,3) + XNSALT(N) ENDDO ! for max sat ITYPE = 2 NSIZE_AER(ITYPE)=NSEA DO N= 1, NSIZE_AER(ITYPE) NAEROSOL(N,ITYPE)=XNSALT(N)*1.0d6 ! #/m3 AM(N,ITYPE) = RSALTGF(N) ! m HYGRO_AER(N,ITYPE)=ZK(ITYPE) ENDDO ! RDST below to be updated later N=1 IF((2.*RDST(N)).GE.ZDACT(3,1)) & ZCCN(3,1) = ZCCN(3,1) + XNDST(N) IF((2.*RDST(N)).GE.ZDACT(3,2)) ! dust CCN at S=~0.4% & ZCCN(3,2) = ZCCN(3,2) + XNDST(N) IF((2.*RDST(N)).GE.ZDACT(3,3)) & ZCCN(3,3) = ZCCN(3,3) + XNDST(N) DO N=2,NDSTB IF(ZDACT(3,2).GE.(2.*RDST(N-1)).and. & ZDACT(3,2).LT.(2.*RDST(N))) RACT3=N IF((2.*RDST(N)).GE.ZDACT(3,1)) & ZCCN(3,1) = ZCCN(3,1) + XNDST(N) IF((2.*RDST(N)).GE.ZDACT(3,2)) ! dust CCN at S=~0.4% & ZCCN(3,2) = ZCCN(3,2) + XNDST(N) IF((2.*RDST(N)).GE.ZDACT(3,3)) & ZCCN(3,3) = ZCCN(3,3) + XNDST(N) ENDDO ! for max sat ITYPE = 3 NSIZE_AER(ITYPE)=NDSTB DO N= 1, NSIZE_AER(ITYPE) NAEROSOL(N,ITYPE)=XNDST(N)*1.0d6 ! #/m3 AM(N,ITYPE) = RDST(N) ! m HYGRO_AER(N,ITYPE)=ZK(ITYPE) ENDDO ITYPE = 4 IF(ZTN(ITYPE).GT.1.) THEN TAREABC =SUM(YAREABC) DO N=1, NBCOC ! distribute MBCS according to surface area YBCS = MBCS * YAREABC(N)/TAREABC MBCSOA = MBCLV * YAREABC(N)/TAREABC MBCTOT = XMBC(N) & + YBCS*GFGAS**3.0 ! sulfate and associated NIT, CH4, SOA & + MBCSOA ! SV-SOA not considered for now RBCGF(N) = RBCOC(N)*(MBCTOT/XMBC(N))**(1./3.) ENDDO ELSE RBCGF = RBCOC ENDIF DO N=1,NBCOC ! BC CCN at 3 S IF((2.*RBCGF(N)).GE.ZDACT(ITYPE,1)) & ZCCN(ITYPE,1) = ZCCN(ITYPE,1) + XNBC(N) IF((2.*RBCGF(N)).GE.ZDACT(ITYPE,2)) & ZCCN(ITYPE,2) = ZCCN(ITYPE,2) + XNBC(N) IF((2.*RBCGF(N)).GE.ZDACT(ITYPE,3)) & ZCCN(ITYPE,3) = ZCCN(ITYPE,3) + XNBC(N) ENDDO ! for max sat NSIZE_AER(ITYPE)=NBCOC DO N= 1, NSIZE_AER(ITYPE) NAEROSOL(N,ITYPE)=XNBC(N)*1.0d6 ! #/m3 AM(N,ITYPE) = RBCGF(N) ! m HYGRO_AER(N,ITYPE)=ZK(ITYPE) ENDDO ITYPE = 5 IF(ZTN(ITYPE).GT.1.) THEN TAREAOC =SUM(YAREAOC) DO N=1, NBCOC ! distribute MOCS according to surface area YOCS = MOCS * YAREAOC(N)/TAREAOC MOCSOA = MOCLV * YAREAOC(N)/TAREAOC MOCTOT = XMOC(N) & + YOCS*GFGAS**3.0 ! sulfate and associated NIT, CH4, SOA & + MOCSOA ! SV-SOA not considered for now -- Need to consider ROCGF(N) = RBCOC(N)*(MOCTOT/XMOC(N))**(1./3.) ENDDO ELSE ROCGF = RBCOC ENDIF DO N=1,NBCOC ! OC CCN at 3 S IF((2.*ROCGF(N)).GE.ZDACT(ITYPE,1)) & ZCCN(ITYPE,1) = ZCCN(ITYPE,1) + XNOC(N) IF((2.*ROCGF(N)).GE.ZDACT(ITYPE,2)) & ZCCN(ITYPE,2) = ZCCN(ITYPE,2) + XNOC(N) IF((2.*ROCGF(N)).GE.ZDACT(ITYPE,3)) & ZCCN(ITYPE,3) = ZCCN(ITYPE,3) + XNOC(N) ENDDO ! for max sat NSIZE_AER(ITYPE)=NBCOC DO N= 1, NSIZE_AER(ITYPE) NAEROSOL(N,ITYPE)=XNOC(N)*1.0d6 ! #/m3 AM(N,ITYPE) = ROCGF(N) ! m HYGRO_AER(N,ITYPE)=ZK(ITYPE) ENDDO ISITE = ISITES(42) JSITE = JSITES(42) ! IF(II.EQ.ISITE.and.JJ.EQ.JSITE.AND.LL.LE.1) THEN ! WRITE(1001,100)MSO4,MSULFLV,MMSAB,MNITB,MNH4B,MSOA,FBCOC1,FBCOC2 ! DO N =1, NTYP ! WRITE(1001,100)MCORE(N),MSP(N),YCS(N),ZK(N), ! & ZDACT(N,1),ZDACT(N,2),ZDACT(N,3), ! & ZTN(N),ZCCN(N,1),ZCCN(N,2),ZCCN(N,3) ! ENDDO ! flush(1001) ! ENDIF TCCN(2) = SUM(ZCCN(1:5,2)) IF(TCCN(2)>1.d-9)THEN DO N=1,NSO4 IF(N.LT.IACT20) THEN ! average act diameter for sulfate aquous gain FCLOUD1(N) = 0.d0 ELSE FCLOUD1(N) = XN(N)/TCCN(2) ! parition based on number conc for now ENDIF ENDDO FCLOUD1(NSO4+1) = ZCCN(4,2)/TCCN(2) ! partition based on number conc for now FCLOUD1(NSO4+2) = ZCCN(5,2)/TCCN(2) FCLOUD1(NSO4+3) = ZCCN(3,2)/TCCN(2) FCLOUD1(NSO4+4) = ZCCN(2,2)/TCCN(2) ELSE FCLOUD1=0.D0 DO N=26,NSO4 FCLOUD1(N)=1/15.D0 ENDDO ENDIF !****************************************************************************** !****************************************************************************** !OPT+ IF(IFOPT.GT.0) THEN ! calculation of optical properties ITEST = 0 IF(II.EQ.ISITES(27).and.JJ.EQ.JSITES(27).AND.LL.LE.1) THEN ITEST = 1 ENDIF ! WLS(1)=0.55 ! wavelength in um YBEXT=1.d-20 XBEXT1k=0.d0 YW=1.d-0 YG=0.d-20 ZBABS = 1.d-20 !SP ITYPE = 1 IF(YCS(ITYPE).GT.1.d-5.and.MSO4B.GT.1.d-12) THEN YVDRY = (MSO4B+MMSAB+MNITB+MNH4B)/DENSULF ! INORGANICS & + (MSULFLV+MSOA)/DENAER(5) ! ORGANICS VH2O = YVDRY*(GFWATERVOL-1.0) VTOTAL = YVDRY + VH2O ZFV(1) = ((MSO4B+MMSAB)/DENSULF)/VTOTAL !CORE, SO4 ZFV(2) = ZFV(1) !SO4 ZFV(3) = (MNH4B/DENSULF)/VTOTAL !NH4 ZFV(4) = (MNITB/DENSULF)/VTOTAL !NO3 ZFV(5) = ((MSULFLV+MSOA)/DENAER(5))/VTOTAL !SOA ZFV(6) = VH2O/VTOTAL !H2O IF(ITEST.EQ.1) WRITE(1001,*)"ZFV=",(ZFV(I),I=1,6) ZFV_SP = ZFV MBIN = 20 DO I = 1, MBIN XDCORE(I)=RDRY(NSO4-MBIN+I)*2.E6 ! RDRY in m, XDCORE in um XN_IN(I) = XN(NSO4-MBIN+I) IF(IFCOAT.EQ.0) THEN ! When coated SP on PP not considered in OPT calculation, put them in SP IF(FSO4B.LT.0.1) THEN VRATIO = 1./0.1 ELSE VRATIO = 1./FSO4B ENDIF XN_IN(I) = XN_IN(I)*VRATIO ENDIF ENDDO IF(IFOPT==1)THEN CALL APM_OPT(ITEST,ITYPE,MBIN,XDCORE(1:MBIN),XN_IN(1:MBIN), & ZFV,MWLS,WLS,XBEXT,XW,XG) YBEXT(ITYPE,:)=XBEXT(:) YW(ITYPE,:)=XW(:) YG(ITYPE,:)=XG(:) IF(ITEST.EQ.1) THEN WRITE(1001,191)ITYPE,sum(XN_IN(1:MBIN)), & YBEXT(ITYPE,1),YW(ITYPE,1),YG(ITYPE,1) ENDIF ENDIF ENDIF ! sea salt ITYPE = 2 IF(YCS(ITYPE).GT.1.d-5) THEN yvdry = SUM(XVSALT) vh2o = yvdry*(GF4**3.0-1.0) vtotal = yvdry + vh2o zfv(1) = yvdry/vtotal zfv(2) = 0. !coated SP not considered for now zfv(3) = 0. zfv(4) = 0. zfv(5) = 0. zfv(6) = vh2o/vtotal MBIN = 18 DO I = 1, MBIN XDCORE(I)=RSALT(NSEA-MBIN+I)*2.E6 ! RSALT in m, XDCORE in um XN_IN(I) = XNSALT(NSEA-MBIN+I) ENDDO IF(IFOPT==1)THEN CALL APM_OPT(ITEST,ITYPE,MBIN,XDCORE(1:MBIN),XN_IN(1:MBIN), & ZFV,MWLS,WLS,XBEXT,XW,XG) YBEXT(ITYPE,:)=XBEXT(:) YW(ITYPE,:)=XW(:) YG(ITYPE,:)=XG(:) ENDIF ENDIF !! dust ITYPE = 3 IF(YCS(ITYPE).GT.1.d-5) THEN yvdry = SUM(XVDST) vh2o = 0.0 vtotal = yvdry + vh2o zfv(1) = yvdry/vtotal zfv(2) = 0. !coated SP not considered for now zfv(3) = 0. zfv(4) = 0. zfv(5) = 0. zfv(6) = vh2o/vtotal MBIN = NDSTB - 2 DO I = 1, MBIN XDCORE(I)=RDST(NDSTB-MBIN+I)*2.E6 ! RSALT in m, XDCORE in um XN_IN(I) = XNDST(NDSTB-MBIN+I) ENDDO IF(IFOPT==1)THEN CALL APM_OPT(ITEST,ITYPE,MBIN,XDCORE(1:MBIN),XN_IN(1:MBIN), & ZFV,MWLS,WLS,XBEXT,XW,XG) YBEXT(ITYPE,:)=XBEXT(:) YW(ITYPE,:)=XW(:) YG(ITYPE,:)=XG(:) !LW for dust only CALL APM_OPT_LW(ITEST,ITYPE,MBIN,XDCORE(1:MBIN), & XN_IN(1:MBIN),MWLL,WLL,XBEXT1,XW1,XG1) ! ZBEXT1(:)=XBEXT1(:) ! ZW1(:)=XW1(:) ! ZG1(:)=XG1(:) DO IWL = 1, MWLL ZBABS(IWL) = XBEXT1(IWL) * (1.-XW1(IWL)) ! LW calculation only need absorption coefficient ENDDO ENDIF ENDIF ! !! BC ITYPE=4 IF(YCS(ITYPE).GT.1.D-5) THEN VRATIO = RRATIOWETBC**3. IF(IFCOAT.EQ.0.) VRATIO = 1. !----------------------------------------------------------------------------- !BMY KLUDGE: Add this here to avoid floating point exception! (bmy, 6/28/19) zfv_sp = zfv !----------------------------------------------------------------------------- zfv(1) = 1./VRATIO zfv(2) = ZFV_SP(2)*(1.-1./VRATIO) !assume coated SP has same composition as SP for now zfv(3) = ZFV_SP(3)*(1.-1./VRATIO) zfv(4) = ZFV_SP(4)*(1.-1./VRATIO) zfv(5) = ZFV_SP(5)*(1.-1./VRATIO) zfv(6) = ZFV_SP(6)*(1.-1./VRATIO) MBIN = NBCOC DO I = 1, MBIN XDCORE(I)=RBCOC(I)*2.E6 ! RDRY in m, XDCORE in um XN_IN(I) = XNBC(I) ENDDO IF(IFOPT==1)THEN CALL APM_OPT(ITEST,ITYPE,MBIN,XDCORE(1:MBIN),XN_IN(1:MBIN), & ZFV,MWLS,WLS,XBEXT,XW,XG) YBEXT(ITYPE,:)=XBEXT(:) YW(ITYPE,:)=XW(:) YG(ITYPE,:)=XG(:) IF(ITEST.EQ.1) THEN WRITE(1001,191)ITYPE,sum(XN_IN(1:MBIN)), & YBEXT(ITYPE,1),YW(ITYPE,1),YG(ITYPE,1) ENDIF ENDIF ENDIF 191 FORMAT(I3,10(1PE10.3)) ! !! POC ITYPE=5 IF(YCS(ITYPE).GT.1.D-5) THEN VRATIO = RRATIOWETOC**3. IF(IFCOAT.EQ.0.) VRATIO = 1. !----------------------------------------------------------------------------- !BMY KLUDGE: Add this here to avoid floating point exception! (bmy, 6/28/19) zfv_sp = zfv !----------------------------------------------------------------------------- zfv(1) = 1./VRATIO zfv(2) = ZFV_SP(2)*(1.-1./VRATIO) !assume coated SP has same composition as SP for now zfv(3) = ZFV_SP(3)*(1.-1./VRATIO) zfv(4) = ZFV_SP(4)*(1.-1./VRATIO) zfv(5) = ZFV_SP(5)*(1.-1./VRATIO) zfv(6) = ZFV_SP(6)*(1.-1./VRATIO) MBIN = NBCOC DO I = 1, MBIN XDCORE(I)=RBCOC(I)*2.E6 ! RBCOC in m, XDCORE in um XN_IN(I) = XNOC(I) ENDDO IF(IFOPT==1)THEN CALL APM_OPT(ITEST,ITYPE,MBIN,XDCORE(1:MBIN),XN_IN(1:MBIN), & ZFV,MWLS,WLS,XBEXT,XW,XG) YBEXT(ITYPE,:)=XBEXT(:) YW(ITYPE,:)=XW(:) YG(ITYPE,:)=XG(:) ENDIF ENDIF IF(IFCDNPDF==1)THEN ! CDN calculation based on PDF SIGMA = 0.5 DW = 4.0/float(MW) DO IW = 1, MW W(IW)=float(IW-MW/2-1)*DW + 0.05 PW(IW)=exp(-0.5*W(IW)*W(IW)/(SIGMA*SIGMA)) & /(SQRT(2.*3.1416)*SIGMA) ENDDO YCDN = 0. DO IW = 1, MW ! WW = W(IW) + WBAR WW = W(IW) + VZ ZCDN = 1.d-10 IF(WW.GT.0.) THEN call activate(maxsatout,WW,tk,press, & NTYP, NTYP, NSO4, nsize_aer, & naerosol, am, hygro_aer) XSAT = maxsatout CALL DACTS(TK,MSO4,MSULFLV,MMSAB,MNITB,MNH4B,MSOA, & MCORE,MSP,XSAT,ZK,ZDACT) ! CDN at calculated S with assumed updarft velocity IS = 4 IACT40=1 RACT1=1 RACT2=1 RACT3=1 DO N = 2, NSO4 DIAM1GAS = GFGAS*RDRY(N-1)*2. DIAM2GAS = GFGAS*RDRY(N)*2. IF(ZDACT(1,IS).GE.DIAM1GAS.and.ZDACT(1,IS).LT.DIAM2GAS) & IACT40=N ENDDO ZCDN(1) = SUM(XN(IACT40:NSO4)) RACT1 = IACT40 N=1 IF((2.*RSALTGF(N)).GE.ZDACT(2,IS)) & ZCDN(2) = XNSALT(N) IF((2.*RDST(N)).GE.ZDACT(3,IS)) & ZCDN(3) = XNDST(N) DO N=2,NSEA IF(ZDACT(2,IS).GE.(2.*RSALTGF(N-1)).and. & ZDACT(2,IS).LT.(2.*RSALTGF(N))) RACT2=N IF((2.*RSALTGF(N)).GE.ZDACT(2,IS))THEN ZCDN(2) = ZCDN(2) + XNSALT(N) ENDIF ENDDO DO N=2,NDSTB IF(ZDACT(3,IS).GE.(2.*RDST(N-1)).and. & ZDACT(3,IS).LT.(2.*RDST(N))) RACT3=N IF((2.*RDST(N)).GE.ZDACT(3,IS))THEN ZCDN(3) = ZCDN(3) + XNDST(N) ENDIF ENDDO DO N=1,NBCOC IF((2.*RBCGF(N)).GE.ZDACT(4,IS)) & ZCDN(4) = ZCDN(4) + XNBC(N) IF((2.*ROCGF(N)).GE.ZDACT(5,IS)) & ZCDN(5) = ZCDN(5) + XNOC(N) ENDDO ENDIF DO ITYPE = 1, NTYP YCDN(ITYPE)=YCDN(ITYPE) + PW(IW)*DW* ZCDN(ITYPE) ENDDO ENDDO XCDN = sum(YCDN) XCDNSP = YCDN(1) ELSE XCDN = 50.D6 XCDNSP = 50.D6 ENDIF ! IF(ITEST.EQ.1) THEN ! WRITE(1002,*)TK,PRESS,maxsatout ! DO ITYPE = 1, NTYP ! WRITE(1002,192)ITYPE,NSIZE_AER(ITYPE) ! WRITE(1002,193)(NAEROSOL(N,ITYPE),N=1,NSIZE_AER(ITYPE)) ! WRITE(1002,193)(AM(N,ITYPE),N=1,NSIZE_AER(ITYPE)) ! WRITE(1002,193)(HYGRO_AER(N,ITYPE),N=1,NSIZE_AER(ITYPE)) ! ENDDO ! ENDIF ! 192 FORMAT(I3,I3) ! 193 FORMAT(50(1PE9.2)) ! !! Calculate total optical properties ZBEXT = 1.d-20 DO IWL=1, MWLS ZTEMP1 = 1.d-20 ZTEMP2 = 1.d-20 DO ITYPE=1,NTYP ZBEXT(IWL)=ZBEXT(IWL) + YBEXT(ITYPE,IWL) ZTEMP1 = ZTEMP1 + YBEXT(ITYPE,IWL)*YW(ITYPE,IWL) ! total scattering ZTEMP2 = ZTEMP2 + YBEXT(ITYPE,IWL)*YW(ITYPE,IWL)*YG(ITYPE,IWL) ENDDO ZW(IWL)=ZTEMP1/ZBEXT(IWL) ZG(IWL)=ZTEMP2/ZTEMP1 ENDDO ! !****************************************************************************** !OPT+ ENDIF !IFOPT !****************************************************************************** ! Reduced time step for nucleation/growth IFNGC = 0 ! timestep not reduced DNMAX = 500. ! max change of XN1 due to nucl CACID0 = CACID CACIDAVE = 1.D-30 YJAVE = 1.D-30 YYJAVE = 1.D-30 YJATHNAVE = 1.D-30 YJATHN = 1.D-30 YJAVE_BH = 1.D-30 YJAVE_BIM = 1.D-30 YJAVE_TH = 1.D-30 YJAVE_TIM = 1.D-30 YJAVE_OM = 1.D-30 YJAVE_PON = 1.D-30 YJAVE_POI = 1.D-30 YJAVE_BN = 1.D-30 YJAVE_BI = 1.D-30 YJAVE_TN = 1.D-30 YJAVE_TI = 1.D-30 DACID = 0. DLVSOG = 0. DTLEFT = DT IF(PLVSOG1.GT.1.0) THEN CHOM = CLVSOG*PLVSOG01/PLVSOG1 ELSE CHOM = CLVSOG ENDIF DTNGC = DT ! Initialize YJ to avoid div-by-zero errors (bmy, 19 Jan 2022) YJ = 0d0 ! IF(CACID.GT.5.d5)THEN IF(CACID.GT.5.d5.or.(IFNUCL.GE.13.and.CHOM.GT.5.d5))THEN 80 CONTINUE ! Nucl IF(IFNUCL.EQ.1) THEN ! IMN CALL YUJTIMN1(CACID,RH,TK,XQ,XS,XNH3,XJBH,XJBIM,XJTH,XJTIM, & RBH,RBIM,RTH,RTIM) YJ = XJTIM YYJ = YJ YJ = YYJ ELSEIF(IFNUCL.EQ.2) THEN ! KBHN (XQ=1.E-20, XNH3=0) XQ=1.E-20 XNH3=1.E-20 CALL YUJTIMN1(CACID,RH,TK,XQ,XS,XNH3,XJBH,XJBIM,XJTH,XJTIM, & RBH,RBIM,RTH,RTIM) YYJ = YJ ELSEIF(IFNUCL.EQ.3) THEN !empirical activation nucl YJ = 3.5E-7 * CACID ! ELSEIF(IFNUCL.EQ.4) THEN !empirical kinetic nucl YJ = 5.5E-14 * CACID * CACID ! ELSE write(6,*)"STOP at apm_phys_mod.f: Check IFNUCL value" stop ENDIF !-------------------------------------------------------- ! NOTE: Rewrite code to avoid div-by-zero if YJ=0 ! -- Bob Yantosca (19 Jan 2022) !IF(DT.GT.(DNMAX/YJ)) THEN ! DTNGC = DNMAX/YJ ! small timestep for large J ! DTNGC = MAX(DTNGC,1.8d2) !set minimum DTNGC !ELSE ! DTNGC = DT !ENDIF !-------------------------------------------------------- DTNGC = DT IF ( ABS(YJ) > 1.0d-30 ) THEN IF(DT.GT.(DNMAX/YJ)) THEN DTNGC = DNMAX/YJ ! small timestep for large J DTNGC = MAX(DTNGC,1.8d2) !set minimum DTNGC ENDIF ENDIF IF(DTLEFT.GT.(1.5*DTNGC)) THEN DTLEFT = DTLEFT - DTNGC ELSE DTNGC = DTLEFT DTLEFT = 0. ENDIF IF(DTNGC.LT.DT) IFNGC = 1 ! cut time step ZN1 =SUM(XN) YJAVE = YJAVE + YJ*DTNGC/DT YJATHNAVE = YJATHNAVE + YJATHN*DTNGC/DT YJAVE_BH = YJAVE_BH + XJBH*DTNGC/DT YJAVE_BIM = YJAVE_BIM + XJBIM*DTNGC/DT YJAVE_TH = YJAVE_TH + XJTH*DTNGC/DT YJAVE_TIM = YJAVE_TIM + XJTIM*DTNGC/DT !YJAVE_OM = YJAVE_OM + YJOM*DTNGC/DT !YJAVE_PON = YJAVE_PON + YJPON*DTNGC/DT !YJAVE_POI = YJAVE_POI + YJPOI*DTNGC/DT !YJAVE_BN = YJAVE_BN + XJBN*DTNGC/DT !YJAVE_BI = YJAVE_BI + XJBI*DTNGC/DT !YJAVE_TN = YJAVE_TN + XJTN*DTNGC/DT !YJAVE_TI = YJAVE_TI + XJTI*DTNGC/DT XN(1) = XN(1) + YJ*DTNGC DVJ = YJ * DTNGC * VDRY(1)*1.E6 ! cm3/cm3 XVA(1) = XVA(1) + DVJ ! cm3/cm3 CACID = CACID - DVJ/V1ACID ! Calculate condensational growth of H2SO4 IF(CACID.GT.5.d5) THEN ICOND = 1 XMCONDIN = 96.0 !g/mol CACIDIN = CACID PACIDIN = PACID TCSOTHERIN = TCSOTHER SUMXVA0 = SUM(XVA) CALL APM_GROW(ICOND,NSO4,TK,PRESS,CACIDIN,PACIDIN, & TCSOTHERIN,DTNGC,XN,XVA,RWETCM,TOTCONDOTH,XMCONDIN) ! XN in #/cm3, XVA in cm3/cm3 ! TOTCONDOTH in # H2SO4/ cm3 SUMXVA1 = SUM(XVA) SUMXVA1 = MAX(SUM(XVA),1.D-30) DACID = SUMXVA1 - SUMXVA0 ! amount condensed (cm3/cm3) CACID = CACIDIN ! SULFATE MASS condensing on particles other than sulfate IF(TCSOTHER.GT.1.D-5) THEN MCONDOTH = TOTCONDOTH*V1ACID*DENSULF*1.d3 ! kg/m3 MSALTS = MSALTS + MCONDOTH * YCS(2)/TCSOTHER MDSTS = MDSTS + MCONDOTH * YCS(3)/TCSOTHER MBCS = MBCS + MCONDOTH * YCS(4)/TCSOTHER MOCS = MOCS + MCONDOTH * YCS(5)/TCSOTHER ENDIF CACIDAVE = CACIDAVE + CACID*DTNGC/DT CALL APM_MOVEBIN(NSO4,XN,XVA) ELSE CACIDAVE = CACIDAVE + CACID*DTNGC/DT ENDIF IF(IFNGC.EQ.1) THEN ! coag ZN2 =SUM(XN) DTCOAG1 = DTNGC ITYPE = 1 !sulfate CALL APM_COAG(ITYPE,NSO4,TK,PMB,DTCOAG1,RWETCM,DENWET,XN,XVA) NCOAG1 = 0 ! reset counter to 0 after coag is called ! Scavenging of sulfate particles by other types of aerosols IF((TCS-CSSULF).GT.1.E-5) THEN RLOSULF = MSULFLV/(SUMXVA1*DENSULF*1.d3) !ratio of LO mass on SULF to total mass RLOSULF = MIN(RLOSULF, 1.0d0) CALL APM_COAGSCAV( & TK,PMB,DTNGC,DENWET,RWETCM,YCS,RLOSULF, & DENSALTWET,RSALTWETCM,XNSALT, & DENBCWET,RBCWET,XNBC, & DENOCWET,ROCWET,XNOC, & DENAER,XNDST, & XVA,MBCS,MOCS,MDSTS,MSALTS,MBCLV,MOCLV,MDSTLV,MSALTLV) ENDIF !APM2+IFAG++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ IF(IFAG.EQ.1) THEN ! LVSOG condensation on secondary particles, when condensed, LVSOG becomes part of SULF (for now) ! Calculate condensational growth of LVSOG IF(CLVSOG.GT.CLVSOG0) THEN ICOND = 2 XMCONDIN = XMLVSOG !g/mol CACIDIN = CLVSOG PACIDIN = PLVSOG1 !#/cm3s TCSOTHERIN = TCSOTHER*SQRT(96./XMCONDIN) !scale the CS SUMXVA0 = SUM(XVA) TOTCONDOTH = 0. CALL APM_GROW(ICOND,NSO4,TK,PRESS,CACIDIN,PACIDIN, & TCSOTHERIN,DTNGC,XN,XVA,RWETCM,TOTCONDOTH,XMCONDIN) ! XN in #/cm3, XVA in cm3/cm3 ! TOTCONDOTH in # acid/cm3 CALL APM_MOVEBIN(NSO4,XN,XVA) ! LVSOG MASS condensing on particles other than sulfate IF(TCSOTHERIN.GT.1.D-5) THEN MCONDOTH = TOTCONDOTH*V1LVSOG*DENSULF*1.d3 ! kg/m3 MSALTLV = MSALTLV + MCONDOTH * YCS(2)/TCSOTHER MDSTLV = MDSTLV + MCONDOTH * YCS(3)/TCSOTHER MBCLV = MBCLV + MCONDOTH * YCS(4)/TCSOTHER MOCLV = MOCLV + MCONDOTH * YCS(5)/TCSOTHER ENDIF SUMXVA1 = MAX(SUM(XVA),1.D-30) DLVSOG = SUMXVA1 - SUMXVA0 ! amount of LVSOG condensed (cm3/cm3) MSULFLV = MSULFLV + DLVSOG*DENSULF*1.d3 ! kg/m3 CLVSOG = CACIDIN ELSE IF(TCS.GT.1.d-6) THEN ! Allow the scaveging of residue LVSOG by particles TCSLV = TCS*SQRT(96./XMLVSOG) !scale the CS TCSOTHERIN = TCSOTHER*SQRT(96./XMLVSOG) !scale the CS CLVSOG1 = PLVSOG1/TCSLV+(CLVSOG - PLVSOG1/TCSLV) & *exp(-TCSLV*DTNGC) DLVSOG = CLVSOG + PLVSOG1*DTNGC - CLVSOG1 ! Distribue all condensed LVSOG to primary particles for now MCONDOTH = DLVSOG*V1LVSOG*DENSULF*1.d3 ! kg/m3 MSULFLV = MSULFLV + MCONDOTH * YCS(1)/TCS XVA(NSO4-1) = XVA(NSO4-1)+MCONDOTH/ & (DENSULF*1.d3) * YCS(1)/TCS ! put in last bin of SP for now MSALTLV = MSALTLV + MCONDOTH * YCS(2)/TCS MDSTLV = MDSTLV + MCONDOTH * YCS(3)/TCS MBCLV = MBCLV + MCONDOTH * YCS(4)/TCS MOCLV = MOCLV + MCONDOTH * YCS(5)/TCS ELSE CLVSOG1 = CLVSOG + PLVSOG1*DTNGC ENDIF CLVSOG = CLVSOG1 ENDIF RLOSULF = MSULFLV/(SUMXVA1*DENSULF*1.d3) !ratio of LO mass on SULF to total mass RLOSULF = MIN(RLOSULF, 1.0d0) ENDIF !APM2+ENDIF IFAG+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ENDIF IF(DTLEFT.GT.1.d-5) GOTO 80 ELSE ! ELSEIF(PACID.GT.1.d-3.and.TCS.GT.1.d-6) THEN !Luo20121201IF((PACID*DT).LT.5.d5) THEN IF((PACID*DT).LT.5.d5.or.TCS.LT.1.d-6) THEN CACID = CACID + PACID*DT ELSE CACID1 = PACID/TCS + (CACID - PACID/TCS)*exp(-TCS*DT) DACID = CACID + PACID*DT - CACID1 if(DACID<0.d0)then write(*,*)'Luo warning DACID =',DACID,PACID,TCS,CACID,CACID1 DACID=0.d0 CACID1=CACID + PACID*DT endif MCONDOTH = DACID*V1ACID*DENSULF*1.d3 ! kg/m3 XVA(NSO4-1) = XVA(NSO4-1)+MCONDOTH/ & (DENSULF*1.d3) * YCS(1)/TCS ! put in NSO4-1 bin of SP for now MSALTS = MSALTS + MCONDOTH * YCS(2)/TCS MDSTS = MDSTS + MCONDOTH * YCS(3)/TCS MBCS = MBCS + MCONDOTH * YCS(4)/TCS MOCS = MOCS + MCONDOTH * YCS(5)/TCS CACID = CACID1 ENDIF CACIDAVE = CACID YJ = 1.E-20 ENDIF !APM2+IFAG++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ IF(IFAG.EQ.1) THEN IF(IFNGC.EQ.0) THEN !Only when IFNGC=0 that LVSOG condensation has not yet been calculated above ! LVSOG condensation on secondary particles, when condensed, LVSOG becomes part of SULF ! Calculate condensational growth of LVSOG IF(CLVSOG.GT.CLVSOG0) THEN ICOND = 2 XMCONDIN = XMLVSOG !g/mol ! WRITE(6,*)"V1LVSOG = ",V1LVSOG ! V1LVSOG = XMLVSOG/(6.02d23*DENSULF) ! assume SOA has same den as acid ! WRITE(6,*)"V1LVSOG = ",V1LVSOG CACIDIN = CLVSOG PACIDIN = PLVSOG1 !#/cm3s TCSOTHERIN = TCSOTHER*SQRT(96./XMCONDIN) !scale the CS SUMXVA0 = SUM(XVA) TOTCONDOTH = 0. ! CALL APM_GROW(ICOND,NSO4,TK,PRESS,CACIDIN,PACIDIN, & TCSOTHERIN,DT,XN,XVA,RWETCM,TOTCONDOTH,XMCONDIN) ! XN in #/cm3, XVA in cm3/cm3 ! TOTCONDOTH in # acid/cm3 ! LVSOG MASS condensing on particles other than sulfate IF(TCSOTHER.GT.1.D-5) THEN MCONDOTH = TOTCONDOTH*V1LVSOG*DENSULF*1.d3 ! kg/m3 MSALTLV = MSALTLV + MCONDOTH * YCS(2)/TCSOTHER MDSTLV = MDSTLV + MCONDOTH * YCS(3)/TCSOTHER MBCLV = MBCLV + MCONDOTH * YCS(4)/TCSOTHER MOCLV = MOCLV + MCONDOTH * YCS(5)/TCSOTHER ENDIF SUMXVA1 = MAX(SUM(XVA),1.D-30) DLVSOG = SUMXVA1 - SUMXVA0 ! amount of LVSOG condensed (cm3/cm3) MSULFLV = MSULFLV + DLVSOG*DENSULF*1.d3 ! kg/m3 CLVSOG = CACIDIN ELSE ! Allow the scaveging of residue LVSOG by particles IF(TCS.GT.1.d-6) THEN ! Allow the scaveging of residue LVSOG by particles TCSLV = TCS*SQRT(96./XMLVSOG) !scale the CS TCSOTHERIN = TCSOTHER*SQRT(96./XMLVSOG) !scale the CS CLVSOG1 = PLVSOG1/TCSLV+(CLVSOG - PLVSOG1/TCSLV) & *exp(-TCSLV*DTNGC) DLVSOG = CLVSOG + PLVSOG1*DTNGC - CLVSOG1 ! Distribue all condensed LVSOG to primary particles for now MCONDOTH = DLVSOG*V1LVSOG*DENSULF*1.d3 ! kg/m3 MSULFLV = MSULFLV + MCONDOTH * YCS(1)/TCS XVA(NSO4-1) = XVA(NSO4-1)+MCONDOTH/ & (DENSULF*1.d3) * YCS(1)/TCS ! put in NSO4-1 bin of SP for now MSALTLV = MSALTLV + MCONDOTH * YCS(2)/TCS MDSTLV = MDSTLV + MCONDOTH * YCS(3)/TCS MBCLV = MBCLV + MCONDOTH * YCS(4)/TCS MOCLV = MOCLV + MCONDOTH * YCS(5)/TCS ELSE CLVSOG1 = CLVSOG + PLVSOG1*DTNGC ENDIF CLVSOG = CLVSOG1 ENDIF SUMXVA1 = MAX(SUM(XVA),1.D-30) RLOSULF = MSULFLV/(SUMXVA1*DENSULF*1.d3) !ratio of LO mass on SULF to total mass RLOSULF = MIN(RLOSULF, 1.0d0) ! Move particles across bins after growth ! YN0 = sum(XN) ! YV0 = sum(XVA) CALL APM_MOVEBIN(NSO4,XN,XVA) ! YN1 = sum(XN) ! YV1 = sum(XVA) ! IF(abs(YN1-YN0).GT.(0.1*YN0).or.abs(YV1-YV0).GT.(0.1*YV0)) THEN ! WRITE(7001,100)YN0,YN1,YV0,YV1 ! flush(7001) ! ENDIF ENDIF ENDIF !APM2+ENDIF IFAG+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ IF(CACID.LT.0.0) THEN WRITE(6,*) "CACID < 0, set it to 1E2/cc" WRITE(6,99)II,JJ,LL,CACID,CACID0,PACID,YJAVE,CSSULF, & GFGAS,MMSA,MNIT,MNH4,MSOA,MSO4, & TCSOTHER,TOTCONDOTH,MCONDOTH,MDSTS CACID = 1.E2 ENDIF !****************************************************************************** ! Coagulation EPC = 0.1 ! ratio of coag timestep to coag half lifetime COAGN0 = 10. ! only consider coag if substatial # of particle exits ! NCOAGMAX = 240 NCOAGMAX = 120 ! Seasalt IF(ZTN(2).GT.COAGN0) THEN ! only consider coag if substatial # of particle exits NCOAG(2) = MAX(1,INT(EPC/(0.5d-8*ZTN(2)*DT))) IF((NCOAG2+1).GE.NCOAG(2) & .or.(NCOAG2+1).GE.NCOAGMAX) THEN DTCOAG2 = float(NCOAG2+1)*DT ITYPE = 2 !seasalt CALL APM_COAG(ITYPE,NSEA,TK,PMB,DTCOAG2, & RSALTWETCM,DENSALTWET,XNSALT,XVSALT) NCOAG2 = 0 ! reset counter to 0 after coag is called DO N = 1, NSEA XMSALT(N)=XVSALT(N)*DENAER(2)*1.d3 !XVA in cm3/cm3 XMA in kg/m3 XM1D(NSO4+N)=XMSALT(N) ENDDO ELSE NCOAG2=NCOAG2 + 1 ! count step that coag is not call in the grid ENDIF ENDIF ! ! BCOC IF((ZTN(4)+ZTN(5)).GT.COAGN0) THEN ! only consider coag if substatial # of particle exits NCOAG(4) = MAX(1,INT(EPC/(0.5D-8*(ZTN(4)+ZTN(5))*DT))) IF((NCOAG4+1).GE.NCOAG(4).or.(NCOAG4+1).GE.NCOAGMAX) THEN DTCOAG4 = float(NCOAG4+1)*DT ITYPE = 4 !BC CALL APM_COAG(ITYPE,NBCOC,TK,PMB,DTCOAG4, & RBCWET,DENBCWET,XNBC,XVBC) ITYPE = 5 !OC CALL APM_COAG(ITYPE,NBCOC,TK,PMB,DTCOAG4, & ROCWET,DENOCWET,XNOC,XVOC) NCOAG4 = 0 ! reset counter to 0 after coag is called DO N = 1, NBCOC XMBC(N)=XVBC(N)*DENAER(4)*1.d3 !XVA in cm3/cm3 XMA in kg/m3 XMOC(N)=XVOC(N)*DENAER(5)*1.d3 !XVA in cm3/cm3 XMA in kg/m3 ENDDO ELSE NCOAG4=NCOAG4 + 1 ! count step that coag is not call in the grid ENDIF ENDIF ! Sulfate TOTN = SUM(XN) IF(TOTN.GT.COAGN0.and.IFNGC.EQ.0) THEN ! only consider coag if substatial # of particle exits NCOAG(1) = MAX(1,INT(EPC/(0.5d-8*TOTN*DT))) IF((NCOAG1+1).GE.NCOAG(1) & .or.(NCOAG1+1).GE.NCOAGMAX) THEN DTCOAG1 = float(NCOAG1+1)*DT ITYPE = 1 !sulfate CALL APM_COAG(ITYPE,NSO4,TK,PMB,DTCOAG1,RWETCM,DENWET,XN,XVA) NCOAG1 = 0 ! reset counter to 0 after coag is called ELSE NCOAG1=NCOAG1 + 1 ! count step that coag is not call in the grid ENDIF ! Scavenging of sulfate particles by other types of aerosols IF((TCS-CSSULF).GT.1.E-5) THEN IF(IFAG.EQ.0) RLOSULF = 0. CALL APM_COAGSCAV( & TK,PMB,DT,DENWET,RWETCM,YCS,RLOSULF, & DENSALTWET,RSALTWETCM,XNSALT, & DENBCWET,RBCWET,XNBC, & DENOCWET,ROCWET,XNOC, & DENAER,XNDST, & XVA,MBCS,MOCS,MDSTS,MSALTS,MBCLV,MOCLV,MDSTLV,MSALTLV) ENDIF ENDIF ! Here convert volume back to mass DO N = 1, NSO4 XMA(N)=XVA(N)*DENSULF*1.d3 !XVA in cm3/cm3 XMA in kg/m3 XM1D(N)=XMA(N) ! Update numb conc XN(N) = XVA(N)/(1.E6*VDRY(N)) ! XVA in cm3/cm3, VDRY in m3,XN in #/cm3 ENDDO 99 FORMAT(I4,I4,I4,50(1PE9.2)) 100 FORMAT(50(1PE9.2)) ! tempout IF(NTEMPOUT1.EQ.1) THEN TN10nm = SUM(XN(I10nm:NSO4)) TNOTHER = SUM(ZTN(2:5)) TEMPOUT1(1)=TN10nm + TNOTHER ! total CN10 (#/cm3) !APM2++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ELSEIF(NTEMPOUT1.GT.10) THEN ZCCN(1,1)=SUM(XN(IACT10:NSO4)) ZCCN(1,2)=SUM(XN(IACT20:NSO4)) ZCCN(1,3)=SUM(XN(IACT30:NSO4)) ZTN(1) = SUM(XN(I3nm:NSO4)) TN10nm = SUM(XN(I10nm:NSO4)) TNOTHER = SUM(ZTN(2:5)) TOTN = ZTN(1) + TNOTHER TCCN(1)=SUM(ZCCN(1:5,1)) !CCN0.8 TCCN(2)=SUM(ZCCN(1:5,2)) !CCN0.4 TCCN(3)=SUM(ZCCN(1:5,3)) !CCN0.2 MWATERSP = SUM(MSP(1:5))*(1.0/1.8)*(GFWATERVOL-1.) ! total aerosol water (kg/m3) TEMPOUT1(1)=TCS ! TEMPOUT1(2)=PACID ! TEMPOUT1(3)=PLVSOG1 !LVSOG production rate ! TEMPOUT1(3)=YYJAVE ! TEMPOUT1(4)=XQ TEMPOUT1(2)=TK TEMPOUT1(3)=CACIDAVE TEMPOUT1(4)=CNH3 ! IF(IFNUCL.EQ.1.or.IFNUCL.EQ.2.or.IFNUCL.EQ.17) THEN ! TEMPOUT1(3)=XNH3 ! ELSEIF(IFNUCL.GE.13) THEN ! TEMPOUT1(3)=CHOM ! ELSE ! TEMPOUT1(3)=PLVSOG1 !LVSOG production rate ! ENDIF ! TEMPOUT1(4)=YYJAVE TEMPOUT1(5)=YJAVE TEMPOUT1(6)=TOTN ! total >3nm particle # conc (#/cm3) & * (1.013E5*TK)/(PRESS*273.15) ! normalize to standdard condition ATOM4N(:)=ATOM4N(:) & * (1.013E5*TK)/(PRESS*273.15) ! normalize to standdard condition TEMPOUT1(7)=TN10nm ! >~10 nm sulfate particle # conc (#/cm3) TEMPOUT1(8)=TNOTHER ! other particle # conc (#/cm3) TEMPOUT1(9)=CHOM ! TEMPOUT1(9)=ZCCN(1,1) ! sulfate particle CCN0.8 # conc (#/cm3) ! TEMPOUT1(9)=TCCN(2) ! CCN0.4 # conc (#/cm3) TEMPOUT1(10)=TCCN(1) ! total CCN0.8 (#/cm3) TEMPOUT1(11)=ZCCN(1,2) ! sulfate particle CCN0.4 # conc (#/cm3) TEMPOUT1(12)=ZCCN(2,2) ! total seasalt CCN0.4 # (#/cm3) TEMPOUT1(13)=ZCCN(3,2) ! total dust CCN0.4# (#/cm3) TEMPOUT1(14)=ZCCN(4,2) ! total BC CCN0.4 # (#/cm3) TEMPOUT1(15)=ZCCN(5,2) ! total OC CCN0.4 # (#/cm3) ! TEMPOUT1(11)=ZCDN(1) ! sulfate particle CCN0.4 # conc (#/cm3) ! TEMPOUT1(12)=ZCDN(2) ! total seasalt CCN0.4 # (#/cm3) ! TEMPOUT1(13)=ZCDN(3) ! total dust CCN0.4# (#/cm3) ! TEMPOUT1(14)=ZCDN(4) ! total BC CCN0.4 # (#/cm3) ! TEMPOUT1(15)=ZCDN(5) ! total OC CCN0.4 # (#/cm3) TEMPOUT1(16)=ZCCN(1,3) ! sulfate CCN0.2 (#/cm3) TEMPOUT1(17)=TCCN(3) !total CCN0.2 TEMPOUT1(18)=ZTN(1) ! >~3 nm sulfate particle # conc (#/cm3) ! TEMPOUT1(19)=ZTN(2) ! >total salt particle # conc (#/cm3)=TNOTHER - ZTN(1)-SUM(ZTN(3:5)) TEMPOUT1(19)=ZTN(3) ! >total dust particle # conc (#/cm3) TEMPOUT1(20)=ZTN(4) ! >total BC particle # conc (#/cm3) TEMPOUT1(21)=ZTN(5) ! >total OC particle # conc (#/cm3) ! IF(IFOPT.EQ.1) THEN ! TEMPOUT1(22)= ZBEXT(KWL1) ! total ext coef -- 550 nm TEMPOUT1(22)= sum(SURF(1:5)) ! TEMPOUT1(23)= ZW(KWL1) ! TEMPOUT1(24)= ZG(KWL1) ! TEMPOUT1(23)= YBEXT(1,KWL1) ! SP ext @ TEMPOUT1(23)= RGM !in m ! TEMPOUT1(24)= SIG TEMPOUT1(24)= DUST500 ! TEMPOUT1(25)= YBEXT(1,KWL1) ! SP ext @ ! TEMPOUT1(26)= YBEXT(2,KWL1) ! salt ext @ ! TEMPOUT1(27)= YBEXT(3,KWL1) ! dust ext @ !! TEMPOUT1(28)= YW(3,KWL1) ! TEMPOUT1(28)= (1.-YW(3,KWL1))*YBEXT(3,KWL1) ! TEMPOUT1(29)= YBEXT(4,KWL1) ! BC ext @ !! TEMPOUT1(30)= YW(4,KWL1) ! TEMPOUT1(30)= (1.-YW(4,KWL1))*YBEXT(4,KWL1) ! TEMPOUT1(31)= YBEXT(5,KWL1) ! POC ext ! ENDIF TEMPOUT1(25)=YJATHNAVE TEMPOUT1(26)=YJAVE_BH TEMPOUT1(27)=YJAVE_BIM TEMPOUT1(28)=YJAVE_TH TEMPOUT1(29)=YJAVE_OM TEMPOUT1(30)=YJAVE_PON TEMPOUT1(31)=YJAVE_POI DO N =1, 5 TEMPOUT1(31+N)=MSP(N) !total SP species in each type ! TEMPOUT1(31+N)=SURF(N) !total SP species in each type TEMPOUT1(36+N)=MCORE(N) !for SP, SO4 is the core ! TEMPOUT1(41+N)=SURF(N) !total SP species in each type ! TEMPOUT1(41+N)=ZK(N) !kapa ! TEMPOUT1(41+N)=YBEXT(N,KWL1) ! ENDDO TEMPOUT1(42)=sum(YBEXT(1:5,KWL1)) ! TEMPOUT1(43)=YJAVE_BN TEMPOUT1(44)=YJAVE_BI TEMPOUT1(45)=YJAVE_TN TEMPOUT1(46)=YJAVE_TI TEMPOUT1(47)=YJAVE_TIM TEMPOUT1(48)=XQ ! Parameterize BCOC e-folding time based on coat/core ratio ! XBCLIFE= D0CONV/(DRDTBC*24.) !days ! XBCLIFE= MIN(1.0d1,XBCLIFE) !max e-folding time 10 days ! XOCLIFE= D0CONV/(DRDTOC*24.) !days ! XOCLIFE= MIN(1.0d1,XOCLIFE) !max e-folding time 10 days ! TEMPOUT1(49)= DRDTBC ! TEMPOUT1(50)= DRDTOC IF(IFAEROCOMOUT==1)THEN AEROCOMOUT =0.d0 TEMPOUT1(51:53)=0.d0 I50nm=100 I80nm=100 I120nm=100 DO N=1,NSO4 IF(GFGAS*RDRY(N)*2.d0.GE.3.d-9) THEN TEMPOUT1(51)=TEMPOUT1(51)+XN(N) ENDIF IF(GFGAS*RDRY(N)*2.d0.GE.50.d-9) THEN TEMPOUT1(52)=TEMPOUT1(52)+XN(N) I50nm(1)=MIN(N,I50nm(1)) ENDIF IF(GFGAS*RDRY(N)*2.d0.GE.120.d-9) THEN TEMPOUT1(53)=TEMPOUT1(53)+XN(N) I120nm(1)=MIN(N,I120nm(1)) ENDIF IF(RRATIOBC*RDRY(N)*2.d0.GE.3.d-9) THEN TEMPOUT1(51)=TEMPOUT1(51)+XNBC(N) ENDIF IF(RRATIOBC*RDRY(N)*2.d0.GE.50.d-9) THEN TEMPOUT1(52)=TEMPOUT1(52)+XNBC(N) I50nm(4)=MIN(N,I50nm(4)) ENDIF IF(RRATIOBC*RDRY(N)*2.d0.GE.120.d-9) THEN TEMPOUT1(53)=TEMPOUT1(53)+XNBC(N) I120nm(4)=MIN(N,I120nm(4)) ENDIF IF(RRATIOOC*RDRY(N)*2.d0.GE.3.d-9) THEN TEMPOUT1(51)=TEMPOUT1(51)+XNOC(N) ENDIF IF(RRATIOOC*RDRY(N)*2.d0.GE.50.d-9) THEN TEMPOUT1(52)=TEMPOUT1(52)+XNOC(N) I50nm(5)=MIN(N,I50nm(5)) ENDIF IF(RRATIOOC*RDRY(N)*2.d0.GE.120.d-9) THEN TEMPOUT1(53)=TEMPOUT1(53)+XNOC(N) I120nm(5)=MIN(N,I120nm(5)) ENDIF ENDDO DO N=1,NSEA IF(RSALT(N)*2.d0.GE.3.d-9) THEN TEMPOUT1(51)=TEMPOUT1(51)+XNSALT(N) ENDIF IF(RSALT(N)*2.d0.GE.50.d-9) THEN TEMPOUT1(52)=TEMPOUT1(52)+XNSALT(N) I50nm(2)=MIN(N,I50nm(2)) ENDIF IF(RSALT(N)*2.d0.GE.120.d-9) THEN TEMPOUT1(53)=TEMPOUT1(53)+XNSALT(N) I120nm(2)=MIN(N,I120nm(2)) ENDIF ENDDO DO N=1,NDSTB IF(RDST(N)*2.d0.GE.3.d-9) THEN TEMPOUT1(51)=TEMPOUT1(51)+XNDST(N) ENDIF IF(RDST(N)*2.d0.GE.50.d-9) THEN TEMPOUT1(52)=TEMPOUT1(52)+XNDST(N) I50nm(3)=MIN(N,I50nm(3)) ENDIF IF(RDST(N)*2.d0.GE.120.d-9) THEN TEMPOUT1(53)=TEMPOUT1(53)+XNDST(N) I120nm(3)=MIN(N,I120nm(3)) ENDIF ENDDO TEMPOUT1(54)=MSULFT*32.d9/96.d0 TEMPOUT1(55)=MCORE(4)*1.d9 !Luo&Yu Based on observation (Jimenez et al., 2009), O:C ratio in LV-SOA !is 4:5 and in SV-SOA 2:5. !Luo&Yu So use 5/9 as carbon fraction for LV-SOA and 5/7 for other SOA !(with molecular weight of 150 g/mol). !Luo&Yu Ignore H in the molecules for now. TEMPOUT1(56)=MCORE(5)*1.d9 & +(MSULFLV+MBCLV+MOCLV+MDSTLV+MSALTLV)*60.d9/124.d0 TEMPOUT1(57)=MCORE(3)*1.d9 TEMPOUT1(58)=MCORE(2)*1.d9 IF(IFSITEOUT==1)THEN AEROCOMOUT(1)=TK AEROCOMOUT(2)=PRESS AEROCOMOUT(4)=TEMPOUT1(52) AEROCOMOUT(5)=0.d0 DO N=1,NSO4 IF(GFGAS*RDRY(N)*2.d0.GE.80.d-9) THEN AEROCOMOUT(5)=AEROCOMOUT(5)+XN(N) I80nm(1)=MIN(N,I80nm(1)) ENDIF IF(RRATIOBC*RDRY(N)*2.d0.GE.80.d-9) THEN AEROCOMOUT(5)=AEROCOMOUT(5)+XNBC(N) I80nm(4)=MIN(N,I80nm(4)) ENDIF IF(RRATIOOC*RDRY(N)*2.d0.GE.80.d-9) THEN AEROCOMOUT(5)=AEROCOMOUT(5)+XNOC(N) I80nm(5)=MIN(N,I80nm(5)) ENDIF ENDDO DO N=1,NSEA IF(RSALT(N)*2.d0.GE.80.d-9) THEN AEROCOMOUT(5)=AEROCOMOUT(5)+XNSALT(N) I80nm(2)=MIN(N,I80nm(2)) ENDIF ENDDO DO N=1,NDSTB IF(RDST(N)*2.d0.GE.80.d-9) THEN AEROCOMOUT(5)=AEROCOMOUT(5)+XNDST(N) I80nm(3)=MIN(N,I80nm(3)) ENDIF ENDDO AEROCOMOUT(6)=TEMPOUT1(53) !Need to be updated BINSIZE(1)=GFGAS*(RDRY(I50nm(1)+1)-RDRY(I50nm(1))) BINSIZE(2)=(RSALT(I50nm(2)+1)-RSALT(I50nm(2))) BINSIZE(3)=(RDST(I50nm(3)+1)-RDST(I50nm(3))) BINSIZE(4)=RRATIOBC*(RDRY(I50nm(4)+1)-RDRY(I50nm(4))) BINSIZE(5)=RRATIOOC*(RDRY(I50nm(5)+1)-RDRY(I50nm(5))) IF(MINVAL(BINSIZE)>1.D-30)THEN BINMASS(1)=MINVAL(BINSIZE)/BINSIZE(1)*XN(I50nm(1))*1.7d0 BINMASS(2)=MINVAL(BINSIZE)/BINSIZE(2)*XNSALT(I50nm(2))*2.2d0 BINMASS(3)=MINVAL(BINSIZE)/BINSIZE(3)*XNDST(I50nm(3))*2.65d0 BINMASS(4)=MINVAL(BINSIZE)/BINSIZE(4)*XNBC(I50nm(4))*1.8d0 BINMASS(5)=MINVAL(BINSIZE)/BINSIZE(5)*XNOC(I50nm(5))*1.8d0 ! AEROCOMOUT(7)=(0.9d0*BINMASS(1)+ ! & 1.28d0*BINMASS(2)+ ! & 0.1d0*BINMASS(5))/SUM(BINMASS) AEROCOMOUT(7)=(ZK(1)*BINMASS(1)+ & ZK(2)*BINMASS(2)+ZK(3)*BINMASS(3)+ & ZK(4)*BINMASS(4)+ZK(5)*BINMASS(5))/SUM(BINMASS) ELSE AEROCOMOUT(7)=0.9 ENDIF BINSIZE(1)=GFGAS*(RDRY(I80nm(1)+1)-RDRY(I80nm(1))) BINSIZE(2)=(RSALT(I80nm(2)+1)-RSALT(I80nm(2))) BINSIZE(3)=(RDST(I80nm(3)+1)-RDST(I80nm(3))) BINSIZE(4)=RRATIOBC*(RDRY(I80nm(4)+1)-RDRY(I80nm(4))) BINSIZE(5)=RRATIOOC*(RDRY(I80nm(5)+1)-RDRY(I80nm(5))) IF(MINVAL(BINSIZE)>1.D-30)THEN BINMASS(1)=MINVAL(BINSIZE)/BINSIZE(1)*XN(I80nm(1))*1.7d0 BINMASS(2)=MINVAL(BINSIZE)/BINSIZE(2)*XNSALT(I80nm(2))*2.2d0 BINMASS(3)=MINVAL(BINSIZE)/BINSIZE(3)*XNDST(I80nm(3))*2.65d0 BINMASS(4)=MINVAL(BINSIZE)/BINSIZE(4)*XNBC(I80nm(4))*1.8d0 BINMASS(5)=MINVAL(BINSIZE)/BINSIZE(5)*XNOC(I80nm(5))*1.8d0 ! AEROCOMOUT(8)=(0.9d0*BINMASS(1)+ ! & 1.28d0*BINMASS(2)+ ! & 0.1d0*BINMASS(5))/SUM(BINMASS) AEROCOMOUT(8)=(ZK(1)*BINMASS(1)+ & ZK(2)*BINMASS(2)+ZK(3)*BINMASS(3)+ & ZK(4)*BINMASS(4)+ZK(5)*BINMASS(5))/SUM(BINMASS) ELSE AEROCOMOUT(8)=0.9 ENDIF BINSIZE(1)=GFGAS*(RDRY(I120nm(1)+1)-RDRY(I120nm(1))) BINSIZE(2)=(RSALT(I120nm(2)+1)-RSALT(I120nm(2))) BINSIZE(3)=(RDST(I120nm(3)+1)-RDST(I120nm(3))) BINSIZE(4)=RRATIOBC*(RDRY(I120nm(4)+1)-RDRY(I120nm(4))) BINSIZE(5)=RRATIOOC*(RDRY(I120nm(5)+1)-RDRY(I120nm(5))) IF(MINVAL(BINSIZE)>1.D-30)THEN BINMASS(1)=MINVAL(BINSIZE)/BINSIZE(1)*XN(I120nm(1))*1.7d0 BINMASS(2)=MINVAL(BINSIZE)/BINSIZE(2)*XNSALT(I120nm(2))*2.2d0 BINMASS(3)=MINVAL(BINSIZE)/BINSIZE(3)*XNDST(I120nm(3))*2.65d0 BINMASS(4)=MINVAL(BINSIZE)/BINSIZE(4)*XNBC(I120nm(4))*1.8d0 BINMASS(5)=MINVAL(BINSIZE)/BINSIZE(5)*XNOC(I120nm(5))*1.8d0 ! AEROCOMOUT(9)=(0.9d0*BINMASS(1)+ ! & 1.28d0*BINMASS(2)+ ! & 0.1d0*BINMASS(5))/SUM(BINMASS) AEROCOMOUT(9)=(ZK(1)*BINMASS(1)+ & ZK(2)*BINMASS(2)+ZK(3)*BINMASS(3)+ & ZK(4)*BINMASS(4)+ZK(5)*BINMASS(5))/SUM(BINMASS) ELSE AEROCOMOUT(9)=0.9 ENDIF DO M=10,22 XSAT = XSATAEROCOM(M-9) ! assume 0.05%-1.0% CALL DACTS(TK,MSO4,MSULFLV,MMSAB,MNITB,MNH4B,MSOA, & MCORE,MSP,XSAT,ZK,ZDACT) DO N=1,NSO4 IF(GFGAS*RDRY(N)*2.d0.GE.ZDACT(1,4)) THEN AEROCOMOUT(M)=AEROCOMOUT(M)+XN(N) ENDIF IF(RRATIOBC*RDRY(N)*2.d0.GE.ZDACT(4,4)) THEN AEROCOMOUT(M)=AEROCOMOUT(M)+XNBC(N) ENDIF IF(RRATIOOC*RDRY(N)*2.d0.GE.ZDACT(5,4)) THEN AEROCOMOUT(M)=AEROCOMOUT(M)+XNOC(N) ENDIF ENDDO DO N=1,NSEA IF(RSALT(N)*2.d0.GE.ZDACT(2,4)) THEN AEROCOMOUT(M)=AEROCOMOUT(M)+XNSALT(N) ENDIF ENDDO DO N=1,NDSTB IF(RDST(N)*2.d0.GE.ZDACT(3,4)) THEN AEROCOMOUT(M)=AEROCOMOUT(M)+XNDST(N) ENDIF ENDDO ENDDO ENDIF ELSE DO N=1,8 TEMPOUT1(50+N) = PM25(N) ENDDO ENDIF !OPT+ !APM2++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ENDIF END SUBROUTINE APM_PHYS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: dacts ! ! !DESCRIPTION: Subroutine DACTS determines SP activation sizes for ! the given composition. !\\ !\\ ! !INTERFACE: ! SUBROUTINE DACTS( TK, MSO4, MSULFLV, MMSAB, & MNITB, MNH4B, MSOA, MCORE, & MSP, XSAT, ZK, ZDACT ) ! ! !USES: ! USE APM_INIT_MOD, ONLY : MTACT USE APM_INIT_MOD, ONLY : MKACT USE APM_INIT_MOD, ONLY : MSAT USE APM_INIT_MOD, ONLY : DACTTAB USE APM_INIT_MOD, ONLY : NTYP ! ! !INPUT PARAMETERS: ! REAL*8 :: TK ! ! !INPUT/OUTPUT PARAMETERS: ! REAL*8 :: MSO4 REAL*8 :: MSULFLV REAL*8 :: MMSAB REAL*8 :: MNITB REAL*8 :: MNH4B REAL*8 :: MSOA REAL*8 :: MCORE(NTYP) REAL*8 :: MSP(NTYP) REAL*8 :: XSAT REAL*8 :: ZK(NTYP) REAL*8 :: ZDACT(NTYP,4) ! ! !REVISION HISTORY: ! 10 Jun 2010 - F. Yu - Initial version ! 08 Nov 2010 - R. Yantosca - Added ProTeX headers !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL*8 :: YK REAL*8 :: MSO4a,XNH4,XNIT,XSO4a,FNH4_SO4,FSO4_NH4,MTOTAL REAL*8 :: KAPA(NTYP) INTEGER :: IT, JK, N, IS DATA (KAPA(N),N=1,5)/0.90,1.28,0.0,0.0,0.1/ MSO4a = MSO4 - MSULFLV ! MSULFLV+MSO4a = MSO4 lumped MSO4a = MAX(1.0d-20,MSO4a) XNH4 = MNH4B/18.0 XNIT = MNITB/62.0 XSO4a = MSO4a/96.0 IF(XNH4.LE.XNIT) THEN FNH4_SO4 = 0. ! mole fraction of NH4 associated with SO4 FSO4_NH4 = 0. ! mole fraction of SO4 associated with NH4 ELSE FNH4_SO4 = (XNH4-XNIT)/XNH4 FSO4_NH4 = 0.5*(XNH4-XNIT)/XSO4a ! assumed to be (NH4)2SO4 FSO4_NH4 = MIN(1.0d0,FSO4_NH4) ENDIF MTOTAL = MSO4a + MSULFLV + MMSAB + MNITB + MNH4B + MSOA ! ! Assumed to have same density, thus volume fraction = mass fraction ! need to modify when the densities are different YK = 1./MTOTAL *((MNITB+MNH4B*(1.-FNH4_SO4))*0.67 & + MSOA*0.07 + MSULFLV*0.2 & + (MSO4a*FSO4_NH4 + MNH4B*FNH4_SO4)*0.61 & + ((1.-FSO4_NH4)*MSO4a + MMSAB)*0.9) ZK(1) = YK ! Assume SP coated on Primary has same Kapa as SP for now DO N=2,NTYP ZK(N)=(YK*MSP(N)+KAPA(N)*MCORE(N))/(MSP(N)+MCORE(N)) ENDDO IT = INT(0.5*(TK-210.0)+0.5) + 1 IT = MIN(IT,MTACT) IT = MAX(IT,1) IS = INT(XSAT/2.d-4) IS = MIN(IS,MSAT) IS = MAX(IS,1) DO N=1,NTYP JK = INT(DLOG10(ZK(N)/1.d-5)*30.) + 1 JK = MIN(JK,MKACT) JK = MAX(JK,1) ZDACT(N,1) = DACTTAB(IT,JK,40) !S=0.8% ZDACT(N,2) = DACTTAB(IT,JK,20) !S=0.4% ZDACT(N,3) = DACTTAB(IT,JK,10) !S=0.2% ZDACT(N,4) = DACTTAB(IT,JK,IS) !S= input ENDDO END SUBROUTINE DACTS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: dacts ! ! !DESCRIPTION: Subroutine DACTS determines SP activation sizes for ! the given composition. !\\ !\\ ! !INTERFACE: ! SUBROUTINE GETGAMMAN2O5(TK, RH_P, MSO4, MSULFLV, MMSAB, & MNITB, MNH4B, MSOA, MCORE, & MSP, GAMMAN2O5 ) ! ! !USES: ! USE APM_INIT_MOD, ONLY : MTACT USE APM_INIT_MOD, ONLY : MKACT USE APM_INIT_MOD, ONLY : MSAT USE APM_INIT_MOD, ONLY : DACTTAB USE APM_INIT_MOD, ONLY : NTYP ! ! !INPUT PARAMETERS: ! REAL*8 :: TK REAL*8 :: RH_P REAL*8 :: RH_P1 ! ! !INPUT/OUTPUT PARAMETERS: ! REAL*8 :: MSO4 REAL*8 :: MSULFLV REAL*8 :: MMSAB REAL*8 :: MNITB REAL*8 :: MNH4B REAL*8 :: MSOA REAL*8 :: MCORE(NTYP) REAL*8 :: MSP(NTYP) REAL*8 :: GAMMAN2O5(NTYP) ! ! !REVISION HISTORY: ! 10 Jun 2010 - F. Yu - Initial version ! 08 Nov 2010 - R. Yantosca - Added ProTeX headers !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL*8 :: YK,TTEMP,FACT REAL*8 :: MSO4a,XNH4,XNIT,XSO4a,FNH4_SO4,FSO4_NH4,MTOTAL REAL*8 :: GAMMA0(NTYP) INTEGER :: IT, JK, N GAMMA0=0.01d0 MSO4a = MSO4 - MSULFLV ! MSULFLV+MSO4a = MSO4 lumped MSO4a = MAX(1.0d-20,MSO4a) XNH4 = MNH4B/18.0 XNIT = MNITB/62.0 XSO4a = MSO4a/96.0 IF(XNH4.LE.XNIT) THEN FNH4_SO4 = 0. ! mole fraction of NH4 associated with SO4 FSO4_NH4 = 0. ! mole fraction of SO4 associated with NH4 ELSE FNH4_SO4 = (XNH4-XNIT)/XNH4 FSO4_NH4 = 0.5*(XNH4-XNIT)/XSO4a ! assumed to be (NH4)2SO4 FSO4_NH4 = MIN(1.0d0,FSO4_NH4) ENDIF MTOTAL = MSO4a + MSULFLV + MMSAB + MNITB + MNH4B + MSOA !=========================================================== ! RH dependence from Kane et al., Heterogenous uptake of ! gaseous N2O5 by (NH4)2SO4, NH4HSO4 and H2SO4 aerosols ! J. Phys. Chem. A , 2001, 105, 6465-6470 !=========================================================== ! No RH dependence above 50.0% (lzh, 10/26/2011) ! According to Bertram and Thornton, ACP, 9, 8351-8363, 2009 RH_P1 = MIN( RH_P, 50.d0 ) GAMMA0(1) = 2.79e-4 + RH_P1*( 1.30e-4 + & RH_P1*( -3.43e-6 + & RH_P1*( 7.52e-8 ) ) ) !=========================================================== ! Temperature dependence factor (Cox et al, Cambridge UK) ! is of the form: ! ! 10^( LOG10( G294 ) - 0.04 * ( TTEMP - 294 ) ) ! FACT = ------------------------------------------------- ! 10^( LOG10( G294 ) ) ! ! Where G294 = 1e-2 and TTEMP is MAX( TEMP, 282 ). ! ! For computational speed, replace LOG10( 1e-2 ) with -2 ! and replace 10^( LOG10( G294 ) ) with G294 !=========================================================== TTEMP = MAX( TK, 282.d0 ) FACT = 10.e0**( -2e+0 - 4e-2 & *( TTEMP - 294.e+0 ) ) / 1e-2 ! Apply temperature dependence GAMMA0(1) = GAMMA0(1) * FACT ! Based on IUPAC recomendation IF ( RH_P >= 62 ) THEN GAMMA0(2) = 0.03e+0 ELSE GAMMA0(2) = 0.005e+0 ENDIF GAMMA0(3) = 0.01e+0 ! Based on unpublished Crowley work GAMMA0(4) = 0.005e+0 ! Based on IUPAC recomendation !=========================================================== ! Based on Thornton, Braban and Abbatt, 2003 ! N2O5 hydrolysis on sub-micron organic aerosol: the effect ! of relative humidity, particle phase and particle size !=========================================================== IF ( RH_P >= 57e+0 ) THEN GAMMA0(5) = 0.03e+0 ELSE GAMMA0(5) = RH_P * 5.2e-4 ENDIF ! ! Assumed to have same density, thus volume fraction = mass fraction ! need to modify when the densities are different YK = 1./MTOTAL *((MNITB+MNH4B*(1.-FNH4_SO4))*0.1*GAMMA0(1) & + MSOA*GAMMA0(5) + MSULFLV*GAMMA0(5) & + (MSO4a*FSO4_NH4 + MNH4B*FNH4_SO4)*GAMMA0(1) & + ((1.-FSO4_NH4)*MSO4a + MMSAB)*GAMMA0(1)) GAMMAN2O5(1) = YK ! Assume SP coated on Primary has same Kapa as SP for now DO N=2,NTYP GAMMAN2O5(N)=(YK*MSP(N)+GAMMA0(N)*MCORE(N))/(MSP(N)+MCORE(N)) ENDDO END SUBROUTINE GETGAMMAN2O5 !EOC ! Binary & Ternary nucl parameterization based on Dunne et al., 2016 ! subroutine JCLOUD(TK,CH2SO4,CNH3,XQ,XN0,XJBN,XJBI,XJTN,XJTI) REAL*8 :: TK,CH2SO4,CNH3,XQ,XN0,XJBN,XJBI,XJTN,XJTI REAL*8 :: XH2SO4, XNH3, XBI, XFN, XTI, ALPHA, X, CION REAL*8, PARAMETER :: Pbn = 3.95 REAL*8, PARAMETER :: Ubn = 9.7 REAL*8, PARAMETER :: Vbn = 12.6 REAL*8, PARAMETER :: Wbn = -0.00707 REAL*8, PARAMETER :: Pbi = 3.37 REAL*8, PARAMETER :: Ubi = -11.5 REAL*8, PARAMETER :: Vbi = 25.5 REAL*8, PARAMETER :: Wbi = 0.181 REAL*8, PARAMETER :: Ptn = 2.89 REAL*8, PARAMETER :: Utn = 182. REAL*8, PARAMETER :: Vtn = 1.2 REAL*8, PARAMETER :: Wtn = -4.19 REAL*8, PARAMETER :: Pan = 8. REAL*8, PARAMETER :: An = 1.6E-6 REAL*8, PARAMETER :: Pti = 3.14 REAL*8, PARAMETER :: Uti = -23.8 REAL*8, PARAMETER :: Vti = 37. REAL*8, PARAMETER :: Wti = 0.227 REAL*8, PARAMETER :: Pai = 3.07 REAL*8, PARAMETER :: Ai = 0.00485 ! XH2SO4 and XNH3 in the unit of 1E6/cm3 XH2SO4=CH2SO4/1.d6 XNH3=CNH3/1.d6 XJBN = EXP(Ubn-EXP(Vbn*(TK/1000.-Wbn)))*(XH2SO4**Pbn) XFN = XNH3/(An*XH2SO4**(-Ptn)+XNH3**(-Pan)) XJTN = XFN*EXP(Utn-EXP(Vtn*(TK/1000.-Wtn))) XBI = EXP(Ubi-EXP(Vbi*(TK/1000.-Wbi)))*(XH2SO4**Pbi) XTI = EXP(Uti-EXP(Vti*(TK/1000.-Wti)))* & XNH3/(Ai*XH2SO4**(-Pti)+XNH3**(-Pai)) ALPHA = 6.E-8*SQRT(300./TK)+6.E-26*XN0*(300./TK)**4.0 X = 1./480. + XBI + XTI CION = (SQRT(X*X+4.*ALPHA*XQ)-X)/(2.*ALPHA) XJBI = XBI*CION XJTI = XTI*CION ! WRITE(6,100) ALPHA, X, XBI,XTI,CION,XJTI ! 100 FORMAT(10(1PE9.2)) RETURN END END MODULE APM_PHYS_MOD !------------------------------------------------------------------------------ #endif ================================================ FILE: APM/apm_radf_mod.F ================================================ #ifdef APM ! !MODULE: apm_radf_mod ! ! !DESCRIPTION: Module APM\_RADF\_MOD solves 1-column radiative forcing. !\\ !\\ ! !INTERFACE: ! MODULE APM_RADF_MOD ! ! !USES: IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: APM_RADF ! ! !PRIVATE MEMBER FUNCTIONS: ! ! HISTORY: ! ! MAR 17, 2011 - X. Ma - preparation for call to radiation ! transfer model ! CONTAINS ! SUBROUTINE APM_RADF(JJ,II,LAY,LEV,NBS,NBL, 1 IAER,EXT,OMGA,G,ABSO, 2 GT,ALB,SCOS,TEMP,WATER,OZONE,PRES,AIRD, 3 CLD,CLDLIQ,CLDICE,RCLDL,YCOD, + RWCL,RWCI, 4 RCST,RCSB,RFST,RFSG,RFSA,RHRS, 5 RCLT,RCLB,RFUL,RFDL,RFLA,RHRL) ! INTEGER, PARAMETER :: ILG = 1 INTEGER, PARAMETER :: IL1 = 1 INTEGER, PARAMETER :: IL2 = 1 ! INTEGER :: I,J,K,IB,LAY,LEV,NBS,NBL INTEGER :: II,JJ INTEGER :: IAER ! REAL :: GT,SCOS ! REAL :: ALB REAL :: ALB(NBS) ! REAL :: TEMP(LAY),WATER(LAY),OZONE(LAY) REAL :: PRES(LEV) REAL :: CLD(LAY),CLDLIQ(LAY),CLDICE(LAY) REAL :: AIRD(LAY) REAL :: RCLDL(LAY) !Yu+ REAL :: YCOD(LAY) !Yu+ ! REAL :: SHTJ(ILG,LEV) REAL :: T (ILG,LAY) REAL :: Q (ILG,LAY) REAL :: O3 (ILG,LAY) ! REAL :: EXT (LAY,NBS) REAL :: OMGA(LAY,NBS) REAL :: G (LAY,NBS) REAL :: ABSO(LAY,NBL) ! REAL :: GTEMP (ILG) REAL :: SALB (ILG,NBS) ! REAL :: CCLD (ILG,LAY),CLDLWC(ILG,LAY),CLDIWC(ILG,LAY) REAL :: RHOP (ILG,LAY) ! REAL :: EXTA (ILG,LAY,NBS) REAL :: EXOMA (ILG,LAY,NBS) REAL :: EXOMGA(ILG,LAY,NBS) REAL :: FA (ILG,LAY,NBS) REAL :: ABSA (ILG,LAY,NBL) ! ! output ! REAL :: CST(ILG),CSB(ILG) REAL :: FST(ILG),FSG(ILG),FSA(ILG) REAL :: HRS(ILG,LAY),HRL(ILG,LAY) REAL :: CLT(ILG),CLB(ILG) REAL :: FUL(ILG),FDL(ILG),FLA(ILG) REAL :: WCL(ILG),WCI(ILG) ! REAL :: RCST,RCSB,RFST,RFSG,RFSA REAL :: RHRS(LAY),RHRL(LAY) REAL :: RCLT,RCLB,RFUL,RFDL,RFLA REAL :: RWCL,RWCI ! DO IB = 1, NBS DO K = 1, LAY DO I = IL1,IL2 EXTA (I,K,IB) = EXT(K,IB) EXOMA (I,K,IB) = EXT(K,IB)*OMGA(K,IB) EXOMGA(I,K,IB) = EXT(K,IB)*OMGA(K,IB)*G(K,IB) FA (I,K,IB) = EXT(K,IB)*OMGA(K,IB)*G(K,IB)*G(K,IB) ENDDO ENDDO ENDDO DO IB = 1, NBL DO K = 1, LAY DO I = IL1,IL2 ABSA (I,K,IB) = ABSO(K,IB) ENDDO ENDDO ENDDO ! DO IB = 1, NBS DO I = IL1, IL2 ! SALB(I,IB) = ALB SALB(I,IB) = ALB(IB) ENDDO ENDDO ! DO K = 1, LAY DO I = IL1, IL2 SHTJ(I,K) = PRES (K) !Yu+ in mb T (I,K) = TEMP (K) Q (I,K) = WATER(K) O3 (I,K) = OZONE(K) ENDDO ENDDO ! DO I = IL1, IL2 SHTJ(I,LEV) = PRES (LAY+1) ENDDO ! ! write(*,*) 'Profile',IAER,II,JJ DO K = 1, LAY DO I = IL1, IL2 CCLD (I,K) = CLD (K) CLDLWC (I,K) = CLDLIQ (K) CLDIWC (I,K) = CLDICE (K) RHOP (I,K) = AIRD (K) ! write(*,900) K,T(I,K),SHTJ(I,K),Q(I,K),O3(I,K),CCLD(I,K) 900 format(i5,2F10.2,2E10.2,F10.2) ENDDO ENDDO ! DO I = IL1,IL2 GTEMP(I) = GT ENDDO ! CALL RAD1D(JJ,II,LAY,LEV,ILG,IL1,IL2,NBS,NBL, 1 IAER,EXTA,EXOMA,EXOMGA,FA,ABSA, 2 SHTJ,T,Q,O3,GTEMP,SALB,SCOS, 3 CCLD,RHOP,CLDLWC,CLDIWC, + WCL,WCI,RCLDL,YCOD, 4 CST,CSB,FST,FSG,FSA,HRS, 5 CLT,CLB,FUL,FDL,FLA,HRL) ! DO I = IL1, IL2 RCST = CST(I) RCSB = CSB(I) RFST = FST(I) RFSG = FSG(I) RFSA = FSA(I) RCLT = CLT(I) RCLB = CLB(I) RFUL = FUL(I) RFDL = FDL(I) RFLA = FLA(I) RWCL = WCL(I) RWCI = WCI(I) ENDDO ! DO K = 1, LAY DO I = IL1, IL2 RHRS(K) = HRS(I,K) RHRL(K) = HRL(I,K) ENDDO ENDDO ! END SUBROUTINE APM_RADF END MODULE APM_RADF_MOD C SUBROUTINE RAD1D(JJ,II,LAY,LEV,ILG,IL1,IL2,NBS,NBL, 1 IAER,EXTA,EXOMA,EXOMGA,FA,ABSA, 2 SHTJ,T,Q,O3,GT,SALB,SCOS, 3 CCLD,RHO,CLDLWC,CLDIWC, + WCL,WCI,RCLDL,YCOD, 4 CST,CSB,FST,FSG,FSA,HRS, 5 CLT,CLB,FUL,FDL,FLA,HRL) C ! USE APM_INIT_MOD, ONLY : YRLIQ,YRICE IMPLICIT REAL (A-H,O-Z), +INTEGER (I-N) C Yu++ C C * INPUT ARRAYS FOR AEROSOL OPTICAL PROPERTIES C REAL EXTA(ILG,LAY,NBS), EXOMA(ILG,LAY,NBS), EXOMGA(ILG,LAY,NBS), 1 FA(ILG,LAY,NBS) C REAL ABSA(ILG,LAY,NBL) C C * INPUT/OUTPUT ARRAYS FOR PHYSICS. C C mxy+ REAL FSA(ILG),DSHJ(ILG,LAY),HRSM(ILG,LAY) REAL FLA(ILG),HRLM(ILG,LAY) REAL WCL(ILG),WCI(ILG) REAL RCLDL(LAY) !Yu++ REAL YCOD(LAY) !Yu++ C mxy+ REAL FST(ILG),RHO(ILG,LAY) REAL FSG(ILG), FSD(ILG), FSF(ILG), FSV(ILG), FSI(ILG), 1 ALBPLA(ILG), FDL(ILG), FUL(ILG), HRS(ILG,LAY), HRL(ILG,LAY), 2 CST(ILG), CSB(ILG), CLT(ILG), CLB(ILG), PAR(ILG) C REAL PRESSG(ILG), SHTJ(ILG,LEV), SHJ(ILG,LAY), TFULL(ILG,LEV), 1 T(ILG,LAY), GT(ILG), O3(ILG,LAY), O3TOP(ILG), Q(ILG,LAY), 2 RMU(ILG) C REAL SALB(ILG,NBS), EM0(ILG) C REAL TAUCS(ILG,LAY,NBS), OMCS(ILG,LAY,NBS), GCS(ILG,LAY,NBS), 1 TAUCL(ILG,LAY,NBL), OMCL(ILG,LAY,NBL), GCL(ILG,LAY,NBL), 2 CLD(ILG,LAY),lwf(ilg,lev), FLXU(ilg,lev), FLXD(ilg,lev) C REAL FSLO(ILG), FSAMOON(ILG) C REAL P (ILG,LAY), PFULL (ILG,LEV) LOGICAL LCSW, LCLW C REAL CCLD(ILG,LAY), CLDT(ILG) REAL CLDLWC(ILG,LAY), CLDIWC(ILG,LAY) REAL WCDW(ILG,LAY), WCDI(ILG,LAY), WCLW(ILG,LAY), WCLI(ILG,LAY), 1 RADEQV(ILG,LAY), RADEQVW(ILG,LAY), RADEQVI(ILG,LAY) C REAL N2O_PPM COMMON /RADCON/ SOLAR_C COMMON /TRACE / RMCO2, RMCH4, RMN2O, RMO2, RMF11, RMF12, RMF113, 1 RMF114 DATA LCSW /.true./, LCLW /.true./ C C----------------------------------------------------------------------C C DIFFERENT ATMOSPHERE PROFILE C C----------------------------------------------------------------------C C DO I = IL1, IL2 TFULL(I,LEV) = GT(I) ENDDO C C----------------------------------------------------------------------C C CALCULATION OF THE MEAN O3 MIXING RATIO ABOVE MODEL TOP LEVEL C C----------------------------------------------------------------------C C DO K = 1, LAY DO I = IL1, IL2 c O3(I,K) =OOO (k) c Q (I,K) =WWW (k) c if(ii.eq.60.and.jj.eq.33) then c write(*,*) 'O3(I,K)',K,OOO(k),O3(I,K) c endif ENDDO ENDDO C DO I = IL1, IL2 O3TOP(I) = 0.0 ENDDO C C----------------------------------------------------------------------C C INITIATION OF THE INPUT C C----------------------------------------------------------------------C C DO I = IL1, IL2 PRESSG(I) = 100.0 RMU(I) = MAX(SCOS,0.0) C c... surface albedo DO J = 1, 4 C SALB(I,J) = 0.1 ENDDO c... surface emissivity EM0(I) = 1.0 ENDDO C DO K = 1, LAY DO I = IL1, IL2 SHJ(I,K) = SQRT(SHTJ(I,K) * SHTJ(I,K+1)) DSHJ(I,K) = SHTJ(I,K+1) - SHTJ(I,K) IF (K .EQ. 1) THEN TFULL(I,K) = 0.5 * (3.0 * T(I,1) - T(I,2)) ELSE TFULL(I,K) = 0.5 * (T(I,K-1) + T(I,K)) ENDIF ENDDO ENDDO DO K = 1, LAY DO I = IL1, IL2 X = 0.01 * PRESSG(I) P(I,K) = SHJ (I,K) * X ENDDO ENDDO C SOLAR_C = 1365.6417 CO2_PPM = 350. * 1.E-06 CH4_PPM = 2.7 * 1.E-06 N2O_PPM = 1.2700 * 1.E-06 c F11_PPM = 0.E-3 * 1.E-06 c F12_PPM = 0.3618E-3 * 1.E-06 F11_PPM = 0.268E-3 * 1.E-06 F12_PPM = 0.535E-3 * 1.E-06 F113_PPM = 0.084E-3 * 1.E-06 F114_PPM = 0.015E-3 * 1.E-06 C C----------------------------------------------------------------------C C INPUT TRACE GAS CONCENTRATIONS IN UNIT PPMV, C C PARTS PER MILLION BY VOLUME, TRANSFORM TO MASS MIXING RATIO. C C THE SAME AS WATER VAPOR AND OZONE. C C 1.5188126 = 44. / 28.97 C C 0.5522955 = 16. / 28.97 C C 1.5188126 = 44. / 28.97 C C O2 INPUT AS A CONSTANT, UNIT MIXING RATIO BY MASS C C 4.7418019 = 137.37 / 28.97 C C 4.1736279 = 120.91 / 28.97 C C 5.2440456 = 151.92 / 28.97 C C 5.8301691 = 168.90 / 28.97 C C 28.97 MOLECULAR WEIGHT OF AIR, E-06 PER MILLION C C----------------------------------------------------------------------C C RMCO2 = 1.5188126 * CO2_PPM RMCH4 = 0.5522955 * CH4_PPM RMN2O = 1.5188126 * N2O_PPM RMO2 = 0.2315 RMF11 = 4.7418019 * F11_PPM RMF12 = 4.1736279 * F12_PPM RMF113 = 5.2440456 * F113_PPM RMF114 = 5.8301691 * F114_PPM C DO I = IL1, IL2 DO K = 1, LAY RADEQVW(I,K) = 0.0 RADEQVI(I,K) = 0.0 WCLW(I,K) = 0.0 WCLI(I,K) = 0.0 ENDDO ENDDO C C----------------------------------------------------------------------C C CLOUD INPUT INFORMATION C C RADEQVW: EFFECTIVE RADIUS FOR WATER CLOUD C C WCLW: LIQUID WATER PATH LENGTH (IN GRAM / M^2) C C RADEQVI: EFFECTIVE RADIUS FOR ICE CLOUD C C WCLI: ICE WATER PATH LENGTH (IN GRAM / M^2) C C CCLD: CLOUD FRACTION C C FRACW: FRACTION OF LIQUID WATER TO LIQUID + ICE WATER C C C C ANU: FACTOR OF GAMMA DISTRIBUTION FOR INHOMOGENOUS CLOUD C C IMPORTANT NOTE: ANU IS GIVEN IN CLDIFM C C IN THIS MODEL THE CLOUD TOP LEVEL HAS TO BE LOWER THAN 1 MB C C----------------------------------------------------------------------C C RGAS = 287.04 GRAV = 9.8 RGOCP = 2./7. C c............................................. C DO I = IL1, IL2 WCL(I) =0.0 WCI(I) =0.0 ENDDO C DO K = 1, LAY DO I = IL1, IL2 DISTANCE = (RGAS/GRAV) * T(I,K) * 1 LOG(SHTJ(I,K+1)/SHTJ(I,K)) !Yu+ ! IF((MOD(II,10).EQ.1).and.(MOD(JJ,10).EQ.1).and.(MOD(K,5).EQ.1)) ! & THEN ! WRITE(112,108)II,JJ,K,SHTJ(I,K),CCLD(I,K),CLDLWC(I,K), ! & RCLDL(K) ! 108 FORMAT(I3,I3,I3,15(1PE9.2)) ! ENDIF c RADEQVW(I,K) = 10.0 !Yu RADEQVW(I,K) = 5.89 !! RADEQVW(I,K) = YRLIQ ! RADEQVW(I,K) = 3.00 !ok ! RADEQVW(I,K) = 2.5 !ok ! RADEQVW(I,K) = 2.2 !ok ! RADEQVW(I,K) = 2.1 !ok ! RADEQVW(I,K) = 2.0 !ok ! RADEQVW(I,K) = MAX(1.,RCLDL(K)) !not ok ! RADEQVW(I,K) = MAX(2.,RCLDL(K)) !ok RADEQVW(I,K) = MAX(1.5,RCLDL(K)) !ok ! RADEQVW(I,K) = MAX(1.2,RCLDL(K)) ! not ok ! RADEQVW(I,K) = MAX(1.3,RCLDL(K)) ! not ok ! RADEQVW(I,K) = MAX(1.4,RCLDL(K)) ! not ok ! RADEQVW(I,K) = MIN(20.,RADEQVW(I,K)) RADEQVW(I,K) = MIN(30.,RADEQVW(I,K)) WCLW(I,K) = CLDLWC(I,K) * DISTANCE C RADEQVI(I,K) = 41.5 ! RADEQVI(I,K) = YRICE WCLI(I,K) = CLDIWC(I,K) * DISTANCE C WCL(I) = WCL(I) + WCLW(I,K) WCI(I) = WCI(I) + WCLI(I,K) C set cloud cover as zero C c CCLD(I,K) =0.0 C C if(ii.eq.60.and.jj.eq.33) then C write(*,800) K,T(I,K),SHTJ(I,K), C & DISTANCE,CLDIWC(I,K),WCLW(I,K),WCLI(I,K),CCLD(I,K) 800 format(I5,2F10.2,4F12.2,3X,F12.4) C endif ENDDO ENDDO C CALL CLOUDS (TAUCS, OMCS, GCS, TAUCL, OMCL, GCL, CCLD, CLD, 1 CLDT, WCLW, WCLI, RADEQVW, RADEQVI, WCDW, WCDI, 2 IL1, IL2, ILG, LAY, LEV) C !Yu+ ! if(ii.eq.10.and.jj.eq.6) then I = 1 DO K = 1, LAY YCOD(LAY-K+1)=TAUCS(1,K,1)*CCLD(1,K) ! if(MOD(ii,20).eq.1.and.MOD(jj,10).eq.1.and.mod(K,2).eq.1) then ! DISTANCE = (RGAS/GRAV) * T(I,K) * ! 1 LOG(SHTJ(I,K+1)/SHTJ(I,K)) ! write(112,801)ii,jj, K,T(I,K),SHTJ(I,K),DISTANCE,CCLD(I,K), ! & CLDLWC(I,K),WCLW(I,K), ! & CLDIWC(I,K),WCLI(I,K),TAUCS(1,K,1),TAUCS(1,K,2), ! & TAUCLW(ii,jj,LAY-K+1),TAUCLI(ii,jj,LAY-K+1) ! endif ENDDO 801 format(I3,I3,I3,20(1PE9.2)) CALL RADDRIV (FSG, FSD, FSF, FSV, FSI, ALBPLA, FDL, FUL, 1 HRS, HRL, CST, CSB, CLT, CLB, PAR, PRESSG, 2 SHTJ, SHJ, TFULL, T, GT, O3, O3TOP, Q, RMU, 3 SALB, EM0, TAUCS, OMCS, GCS, TAUCL, OMCL, GCL, 4 CLD, EXTA, EXOMA, EXOMGA, FA, ABSA, 8 FSLO, FSAMOON, LCSW, LCLW, + FST, RHO, II, JJ, IAER, 6 IL1, IL2, ILG, LAY, LEV, FLXU, FLXD) C C Aerosol absorption C ------------------------------------ mxy + DO L = 1, LAY DO I = IL1,IL2 HRSM(I,L) = MAX(HRS(I,L),0.) HRLM(I,L) = MAX(HRL(I,L),0.) ENDDO ENDDO C DO I = IL1, IL2 FSA(I) = DSHJ(I,1)*HRSM(I,1) FLA(I) = DSHJ(I,1)*HRLM(I,1) ENDDO C DO L = 2, LAY DO I = IL1,IL2 FSA(I) = FSA(I) + DSHJ(I,L)*HRSM(I,L) FLA(I) = FLA(I) + DSHJ(I,L)*HRLM(I,L) ENDDO ENDDO C C * CONVERT ABSORBED ATMOSPHERIC RADIATIVE FLUX TO W/M2 AND ACCUMULATE. C CPRES=RGAS/RGOCP CPOGRAV=CPRES/GRAV DO I = IL1, IL2 CONST = CPOGRAV*PRESSG(I) FSAM = MAX(FSAMOON(I),0.) FSA(I) = CONST*FSA(I) + FSAM FLA(I) = CONST*FLA(I) C print*,'FSA',II,JJ,FSA(I) ENDDO C------------------------------------- mxy + c print*,'99999',IAER,II,JJ DO I = IL1, IL2 C WRITE(*,201) C WRITE(*,200) CST(I), CSB(I) C c WRITE(*,*) 'FST',FST(I) c WRITE(*,200) c WRITE(*,202) c WRITE(*,200) FSG(I),FSD(I),FSF(I),FSV(I),FSI(I),ALBPLA(I) ENDDO c WRITE(*,200) DO I = IL1, IL2 c WRITE(*,203) c WRITE(*,200) - CLT(I), - CLB(I) C c WRITE(*,200) c WRITE(*,204) c WRITE(*,200) FUL(I), FDL(I) c WRITE(*,200) ENDDO 200 FORMAT(3X, F9.3, 2X, F9.3, 2X, F9.3, 2X, F9.3, 2X, F9.3, 2X, F9.3) c WRITE(*,205) c WRITE(*,206) DO K = 1, LAY DO I = IL1, IL2 c if(K.ge.30) then c WRITE(*,207) P(I,K), HRS(I,K) * 86400., HRL(I,K) * 86400. c endif ENDDO ENDDO C 201 FORMAT(7X,'CST', 8X, 'CSB') 202 FORMAT(7X,'FSG', 8X, 'FSD', 8X, 'FSF',8X, 'FSV',8X, 1 'FSI',7X, 'ALBPLA') 203 FORMAT(7X,'CLT', 8X, 'CLB') 204 FORMAT(7X,'FUL', 8X, 'FDL') 205 FORMAT(5X, 'PRESSUE', 2X, 'SOLAR HEATING RATE', 2X, 1 'INFRARED COOLING RATE' ) 206 FORMAT(6X, '(MB)', 9X, '(K/DAY)', 14X, '(K/DAY)' ) 207 FORMAT(1X, F10.5, 5X, F9.3, 12X, F9.3) 208 FORMAT(1X, F10.5, 5X, F9.3, 12X, F9.3,12X,F9.3) RETURN END SUBROUTINE RADDRIV (FSG, FSD, FSF, FSV, FSI, ALBPLA, FDL, FUL, 1 HRS, HRL, CST, CSB, CLT, CLB, PAR, PRESSG, 2 SHTJ, SHJ, TFULL, T, GT, O3, O3TOP, Q, RMU, 3 SALB, EM0, TAUCS, OMCS, GCS, TAUCL, OMCL, GCL, 4 CLD, EXTA, EXOMA, EXOMGA, FA, ABSA, 8 FSLO, FSAMOON, LCSW, LCLW, + FST,RHO,II,JJ,IAER, 6 IL1, IL2, ILG, LAY, LEV, FLXU, FLXD) C C----------------------------------------------------------------------C C FSG: DOWNWARD FLUX ABSORBED BY GROUND. C C FSD: DIRECT DOWNWARD FLUX AT THE SURFACE. C C FSF: DIFFUSE DOWNWARD FLUX AT THE SURFACE. C C FSV: VISIBLE DOWNWARD FLUX AT THE SURFACE. C C FSI: NEAR INFRARED DOWNWARD FLUX AT THE SURFACE. C C PAR: PHOTOSYNTHETIC ACTIVE RADIATION. C C ALBPLA: PLANETARY ALBEDO. C C CST/CSB: NET CLEAR SKY SOLAR FLUX AT TOP / SURFACE C C FUL/FDL: UPWARD LW FLUX AT THE TOP / SURFACE C C CLT/CLB: NET CLEAR SKY LONGWAVE FLUX AT TOP/SURFACE C C HRS/HRL: SOLAR HEATING RATE / LONGWAVE COOLING RATE C C PRESSG: PRESSURE AT GROUND IN UNIT PA C C SHTJ: PRESSURE AT MODEL LEVELS C C SHJ: PRESSURE AT MODEL LAYER CENTER C C TFULL/T: TEMPERATURE AT MODEL LEVEL / LAYER CENTER C C GT: GROUND TEMPERATURE C C O3: OZONE MASS MIXING RATIO IN (G/G) C C O3TOP: ACCUMULATED OZONE MASS ABOVE THE MODEL TOP C C Q: WATER VAPOR SPECIFIC HUMIDITY (MASS MIXING RATIO IN C C SOME VERSIONS) C C RMU: COSINE OF SOLAR ZENITH ANGLE C C SALB: SURFACE ALBEDO C C TAUCS/TAUCL: CLOUD OPTICAL DEPTH FOR SOLAR/LONGWAVE C C OMCS/OMCL: CLOUD SINGLE SCATTERING ALBEDO FOR SOLAR / LONGWAVE C C GCS/GCL: CLOUD ASYMMETRY FACTOR FOR SOLAR/LONGWAVE C C CLD: CLOUD FRACTION C C RADJ: LATITUDE C C GC: INDEX FOR OCAN / LAND / SEA ICE C C PBLT: BOUNDARY LAYER HEIGHT C C EXTA: EXTINCTION COEFFICIENT C C EXOMA: EXTINCTION COEFFICIENT TIMES SINGLE SCATTERING C C ALBEDO C C EXOMGA: EXOMA TIMES ASYMMETRY FACTOR C C FA: SQUARE OF ASYMMETRY FACTOR C C ABSA: ABSORPTION COEFFICIENT C C FSLO: SOLAR INCOMING FLUX AT INFRARED RANGE (0-2500CM-1) C C FSAMOON: THE ENERGY ABSORBED BETWEEN TOA AND MODEL TOP LEVEL C C----------------------------------------------------------------------C C IMPLICIT REAL (A-H,O-Z), +INTEGER (I-N) C PARAMETER (NBS = 4, NBL = 9) C C * INPUT/OUTPUT ARRAYS FOR PHYSICS. C REAL FST(ILG),RHO(ILG,LAY) REAL FSG(ILG), FSD(ILG), FSF(ILG), FSV(ILG), FSI(ILG), 1 ALBPLA(ILG), FDL(ILG), FUL(ILG), HRS(ILG,LAY), HRL(ILG,LAY), 2 CST(ILG), CSB(ILG), CLT(ILG), CLB(ILG), PAR(ILG) REAL CSALB(ILG), BUOY(ILG,LAY), CLDIWC(ILG,LAY) C REAL PRESSG(ILG), SHTJ(ILG,LEV), SHJ(ILG,LAY), 1 TFULL(ILG,LEV), T(ILG,LAY), GT(ILG), O3(ILG,LAY), 2 O3TOP(ILG), Q(ILG,LAY), RMU(ILG) C REAL SALB(ILG,NBS) C REAL TAUCS(ILG,LAY,NBS), OMCS(ILG,LAY,NBS), GCS(ILG,LAY,NBS), 1 TAUCL(ILG,LAY,NBL), OMCL(ILG,LAY,NBL), GCL(ILG,LAY,NBL), 2 CLD (ILG,LAY), GC(ILG) C REAL FSLO(ILG), FSAMOON(ILG) C C * INPUT ARRAYS FOR AEROSOL OPTICAL PROPERTIES FOR SHORTWAVE C REAL EXTA(ILG,LAY,NBS), EXOMA(ILG,LAY,NBS), EXOMGA(ILG,LAY,NBS), 1 FA(ILG,LAY,NBS) C C * INPUT ARRAYS FOR AEROSOL OPTICAL PROPERTIES FOR LONGWAVE C REAL ABSA(ILG,LAY,NBL) C LOGICAL LCSW, LCLW C C * GENERAL WORK ARRAYS. C REAL PG (ILG,LAY), QG (ILG,LAY), FLXU (ILG,LEV), 1 FLXD (ILG,LEV), P (ILG,LAY), DP (ILG,LAY), 2 TAUR (ILG,LAY), TAUG (ILG,LAY), TAUA (ILG,LAY), 3 PFULL (ILG,LEV), F1 (ILG,LAY), F2 (ILG,LAY), 4 ANU (ILG,LAY), URBF (ILG,LAY), TAUOMA(ILG,LAY), 5 TAUOMGA(ILG,LAY), DIP (ILG,LAY), DIPG (ILG,LAY), 6 DT (ILG,LAY) REAL REFL (ILG,2,LEV), TRAN (ILG,2,LEV) C REAL C1(ILG), C2(ILG), BS(ILG) C C * GATHERED AND OTHER WORK ARRAYS USED GENERALLY BY SOLAR. C REAL A1(ILG,12), A1G(ILG,12), CUMDTR(ILG,4,LEV) C REAL TAUCSG(ILG,LAY), TAUOMC(ILG,LAY), TAUOMGC(ILG,LAY), 1 PFULLG(ILG,LEV), O3G(ILG,LAY), CLDG(ILG,LAY), CLDMG(ILG,LAY), 2 TG(ILG,LAY) C REAL O3TOPG(ILG), ALBSUR(ILG), EM0(ILG), RMUG(ILG) C INTEGER INPTG(ILG,LAY), INPTMG(ILG,LAY), NBLK(ILG,LAY) INTEGER ISUN(ILG) C C * WORK ARRAYS USED GENERALLY BY LONGWAVE. C REAL TAUCI(ILG,LAY), OMCI(ILG,LAY), GCI(ILG,LAY), BF(ILG,LEV), 1 CLDM(ILG,LAY) C INTEGER INPT(ILG,LAY), INPTM(ILG,LAY), INPR(ILG,LAY), 1 NCD(ILG,LAY), NCU(ILG,LAY) INTEGER NCT(ILG), NCTG(ILG), NCUM(LAY), NCDM(LAY) C C * BAND INFORMATION. C REAL SFINPTL(NBL) INTEGER KGS(NBS), KGSGH(NBS), KGL(NBL), KGLGH(NBL) C LOGICAL GH C COMMON /ECCENT/ RRSQ COMMON /RADCON/ SOLAR_C COMMON /TRACE / RMCO2, RMCH4, RMN2O, RMO2, RMF11, RMF12, RMF113, 1 RMF114 C C----------------------------------------------------------------------C C FOR HRCOEF, 9.80665 / 1004.64 / 100 = 9.761357E-05, IN (K / SEC),C C SINCE WE USE DP (DIFF IN PRESSURE) INSTEAD OF DIFF IN METER, C C THERE IS A FACTOR 1.02. THUS 9.761357E-05 * 1.02 = 9.9565841E-05 C C UU3 = 3 * U * U, U = 1 / e^0.5 C C----------------------------------------------------------------------C C DATA HRCOEF, UU3, CUT / 9.9565841E-05, 1.1036383, 0.001 / C C VARIABLES TO PASS TO INTRINSICS SUCH AS MIN/MAX: C DATA QMIN /1.E-7 / DATA OPEM10 /1.E-10/ C----------------------------------------------------------------------C PI = 3.1415926 C C----------------------------------------------------------------------C C SCALE MEAN (ANNUAL) VALUE OF SOLAR CONSTANT BY RRSQ ACCOUNTING C C FOR ECCENTRICITY (PASSED THROUGH COMMON BLOCK "ECCENT" - SEE C C ROUTINE SDET2). THE SPECTRAL IRRADIANCE FOR MODEL IS 1367.9396 C C W / M^2 WHICH IS THE SOLAR ENERGY CONTAINED IN THE SPECTRAL C C REGION 0.2 - 10 UM (50000 - 1000 CM) (BASED ON KURUCZ SOLAR DATA)C C FOR LONGWAVE, FROM BAND1 TO BAND9, THE SOLAR AND INFRARED C C INTERACTION IS CONSIDERED. THE TOTAL SOLAR ENERGY CONSIDERED IN C C THE INFRARED REGION IS 11.9096 W / M^2. SFINPTL IS THE INPUT C C SOLAR FLUX IN EACH LONGWAVE BAND C C THE SOLAR INPUT IN SHORTWAVE REGION IS 1367.9396 - 11.9096 = C C 1356.0300, THE SOLAR FRACTIONS FOR EACH BAND ARE SET IN GASOPTS C C----------------------------------------------------------------------C C C----------------------------------------------------------------------C C RRSQ IS THE SOLAR ORBIT PARAMETER, ADJUST IT IN ANY GLOBAL MODEL C C----------------------------------------------------------------------C C DO IB = 1,NBS DO K =1,LAY DO I =IL1,IL2 c if(ii.eq.60.and.jj.eq.33) then c WRITE(1003,*) EXTA(I,K,IB),EXOMA(I,K,IB),EXOMGA(I,K,IB),FA(I,K,IB) c endif ENDDO ENDDO ENDDO C RRSQ = 1 SOLARC = SOLAR_C FRACS = RRSQ * SOLARC / 1367.9396 X = FRACS / PI C SFINPTL(1) = 3.67839 * X SFINPTL(2) = 2.79694 * X SFINPTL(3) = 3.20284 * X SFINPTL(4) = 1.13984 * X SFINPTL(5) = 0.31893 * X SFINPTL(6) = 0.35404 * X SFINPTL(7) = 0.29578 * X SFINPTL(8) = 0.99624E-01 * X SFINPTL(9) = 0.23220E-01 * X C C----------------------------------------------------------------------C C INITIALIZATION C C----------------------------------------------------------------------C C DO 20 I = IL1, IL2 FST(I) = 0.0 FSG(I) = 0.0 FSD(I) = 0.0 FSF(I) = 0.0 FSI(I) = 0.0 FSV(I) = 0.0 CST(I) = 0.0 CSB(I) = 0.0 PAR(I) = 0.0 FSAMOON(I) = 0.0 FSLO(I) = 11.9096 * RMU(I) * FRACS ALBPLA(I) = 0.0 PFULL(I,LEV) = 0.01 * PRESSG(I) * SHTJ(I,LEV) C1(I) = 0.0 c print*,'FSLO',I,FSLO(I),PRESSG(I),SHTJ(I,LEV),RMU(I) 20 CONTINUE C DO 30 K = 1, LAY DO 30 I = IL1, IL2 HRS(I,K) = 0.0 X = 0.01 * PRESSG(I) P(I,K) = SHJ (I,K) * X PFULL(I,K) = SHTJ(I,K) * X C C----------------------------------------------------------------------C C DETERMINE LEV1 FOR SOLAR RADIATION, LEV1 IS THE LEVEL DETERMININGC C HIGHEST LEVEL FOR FULL RADIATION CALCULATION, ABOVE LEV1 THE C C RADIATION IS CALCULATED IN A SIMPLE WAY, LEV1 SHOULD BE BETWEEN C C 1 TO 0.5 MB C C----------------------------------------------------------------------C C PRESLEV1 = 0.5 IF (PFULL(I,K) .GE. PRESLEV1) THEN C1(I) = C1(I) + 1.0 IF (C1(I) .EQ. 1.0) INPT(I,1) = K ENDIF C 30 CONTINUE C LEV1 = LEV C DO 31 I = IL1, IL2 LEV1 = MIN (LEV1, INPT(I,1)) 31 CONTINUE C C----------------------------------------------------------------------C C THIS CODE CAN BE EXTENDED TO ABOUT 100 KM, IF THE MODEL TOP LEVELC C IS LOWER THAN THE MAXIMUM HEIGHT, THE CALCULATION CAN BE C C SIMPLIFIED WITH LESS NUMBERS OF KGSGH AND KGLGH ACCOUNTED C C----------------------------------------------------------------------C C DATA KGS / 6, 4, 6, 4 / DATA KGL / 1, 1, 2, 5, 2, 3, 3, 6, 4 / C PTOP = 0.5 DO 32 I = IL1, IL2 PTOP = MIN (PFULL(I,1), PTOP) 32 CONTINUE C IF (PTOP .GT. 1.0) THEN KGSGH(1) = 3 KGSGH(2) = 3 KGSGH(3) = 3 KGSGH(4) = 6 C KGLGH(1) = 2 KGLGH(2) = 1 KGLGH(3) = 2 KGLGH(4) = 5 KGLGH(5) = 3 KGLGH(6) = 0 KGLGH(7) = 6 KGLGH(8) = 2 KGLGH(9) = 3 ELSE KGSGH(1) = 3 KGSGH(2) = 4 KGSGH(3) = 4 KGSGH(4) = 9 C KGLGH(1) = 5 KGLGH(2) = 1 KGLGH(3) = 3 KGLGH(4) = 5 KGLGH(5) = 4 KGLGH(6) = 0 KGLGH(7) = 7 KGLGH(8) = 3 KGLGH(9) = 6 ENDIF C C----------------------------------------------------------------------C C CALCULATE THE CLOUD PARAMETERS FOR SWTRAN AND LWTRAN C C----------------------------------------------------------------------C C CALL CLDIFM (CLDM, TAUOMGC, ANU, A1, NCD, NCU, NBLK, NCT, NCUM, 1 NCDM, CLD, CUT, MAXC, BUOY, CLDIWC, 2 IL1, IL2, ILG, LAY, LEV) C C----------------------------------------------------------------------C C DETERMINATION OF THE INTERPRETATION POINTS IN PRESSURE. INPT FOR C C 28 REFERENCE LEVELS AND INPTM FOR 18 LEVELS C C----------------------------------------------------------------------C C CALL PREINTP (INPT, INPTM, DIP, A1(1,12), P, IL1, IL2, ILG, LAY) C IF (LCSW) THEN C C----------------------------------------------------------------------C C DETERMINE WHETHER GRID POINTS ARE IN DAYLIGHT. GATHER THE C C REQUIRED FIELD FOR DAYLIGHT REGION C C----------------------------------------------------------------------C C JYES = 0 DO 200 I = IL1, IL2 IF (RMU(I) .GT. 0.001) THEN JYES = JYES + 1 ISUN(JYES) = I ENDIF 200 CONTINUE LENGATH = JYES C C----------------------------------------------------------------------C C SKIP UNNECESSARY SOLAR C C----------------------------------------------------------------------C C IF (LENGATH .EQ. 0) GO TO 499 C DO 230 I = 1, LENGATH J = ISUN(I) O3TOPG(I) = O3TOP(J) C C----------------------------------------------------------------------C C C1 AND C2 ARE COEFFICIENTS FOR SWTRAN C C C C RMUG IS THE EFFECTIVE SOLAR ZENITH ANGLE, IT BECOMES IMPORTANT C C WHEN SOLAR ZENITH ANGLE IS CLOSE TO 90 DEGREE (LI & SHIBATA JAS C C 2006), IT IS FOR GLOBAL MODEL, SET RMUG = RMU FOR PURE SINGLE C C COLUMN MODEL AND RELATED INTERCOMPARISION C C----------------------------------------------------------------------C C RMUG(I) = (2.0 * RMU(J) + 1 SQRT(498.5225 * RMU(J) * RMU(J) + 2 1.0)) / 24.35 C C1(I) = 0.75 * RMUG(I) C2(I) = 2.0 * C1(I) * RMUG(I) C A1G(I,1) = A1(J,1) A1G(I,2) = A1(J,2) A1G(I,3) = A1(J,3) A1G(I,4) = A1(J,4) A1G(I,5) = A1(J,5) A1G(I,6) = A1(J,6) A1G(I,7) = 1.0 - A1G(I,1) - A1G(I,2) - A1G(I,3) IF (A1G(I,2) .GE . CUT) THEN A1G(I,8) = A1G(I,4) / A1G(I,2) ELSE A1G(I,8) = 0.0 ENDIF C A1G(I,9) = 0.0 A1G(I,10) = 0.0 A1G(I,11) = 0.0 X = A1G(I,3) + A1G(I,5) + A1G(I,6) IF (X .GE . CUT) THEN IF (A1G(I,1) .GE . CUT) THEN A1G(I,9) = A1G(I,6) / (X * A1G(I,1)) ENDIF IF (A1G(I,2) .GE . CUT) THEN A1G(I,10) = A1G(I,5) / (X * A1G(I,2)) ENDIF A1G(I,11) = A1G(I,3) / X ENDIF C A1G(I,12) = A1(J,12) NCTG(I) = NCT(J) FLXU(I,LEV) = 0.0 FLXD(I,LEV) = 0.0 PFULLG(I,LEV) = PFULL(J,LEV) C C----------------------------------------------------------------------C C USING URBF SPACE FOR SCALING FACTOR USED IN SOLAR C C----------------------------------------------------------------------C C URBF(I,1) = (2.0 - RMUG(I)) ** 0.40 230 CONTINUE C C----------------------------------------------------------------------C C USING A1(I,3) FOR RMU3 C C----------------------------------------------------------------------C C DO 240 I = 1, LENGATH X = 1.0 - RMUG(I) A1(I,3) = X * X * X C A1(I,4) = 0.0 240 CONTINUE C DO 255 K = 1, LAY KP1 = K + 1 DO 250 I = 1, LENGATH J = ISUN(I) FLXU(I,K) = 0.0 FLXD(I,K) = 0.0 PFULLG(I,K) = PFULL(J,K) C C----------------------------------------------------------------------C C CONVERT FROM SPECIFIC HUMIDITY TO MIXING RATIO. PLEASE NOTE IF C C Q IS IN UNIT OF MIXING RATIO, TAKE OUT IT C C REUSING A1(I,5) FOR DT0 C C----------------------------------------------------------------------C C QMR = Q(J,K) / (1.0 - Q(J,K)) QG(I,K) = MAX (QMR, QMIN) C CLDMG(I,K) = TAUOMGC(J,K) CLDG(I,K) = CLD(J,K) C O3G(I,K) = O3(J,K) TG(I,K) = T(J,K) DT(I,K) = TG(I,K) - 250.0 A1(I,5) = 2.0 * TG(I,1) - TG(I,2) - 250.0 PG(I,K) = P(J,K) DIPG(I,K) = DIP(J,K) INPTG(I,K) = INPT(J,K) INPTMG(I,K) = INPTM(J,K) c print*,'TAUOMGC',J,K,Q(J,K),TAUOMGC(J,K), c & CLD(J,K),O3(J,K),T(J,K),P(J,K) C C----------------------------------------------------------------------C C HERE DP = DIFP / G = RHO * DZ, WHERE DIFP IS THE LAYER PRESSURE C C DIFFERENCE (IN MB), G IS THE GRAVITY CONSTANT, RHO IS AIR C C DENSITY, AND DZ IS LAYER THICKNESS (IN CM). THEREFORE GAS MIXING C C RATIO * DP = GAS MASS * DZ. OR WE CAN CALL DP AS THE AIR MASS C C PATH FOR A MODEL LAYER. C C 0.0102 = 1.02 * 0.01 C C 1MB = 100 PASCAL = 1000 DYNES / CM^2, C C 1.02 = (1000 DYNES / CM^2) / (980 CM / (SECOND^2)). C C PRESSG, SURFACE PRESSURE IN UNIT PASCAL, SO WITH 0.01 FACTOR C C C C REUSING BF AS A FACTOR FOR CLOUD SUBGRID VARIABILITY IN SOLAR C C----------------------------------------------------------------------C C DP(I,K) = 0.0102 * PRESSG(J) * 1 (SHTJ(J,KP1) - SHTJ(J,K)) C if(ii.eq.60.and.jj.eq.33) then C print*,'DP',K,DP(I,K) C endif IF (CLDG(I,K) .LT. CUT) THEN BF(I,K) = 0.0 ELSE BF(I,K) = 1.0 / (1.0 + 5.68 * ANU(J,K) ** 1.4) ENDIF 250 CONTINUE 255 CONTINUE C C----------------------------------------------------------------------C C SOLAR: 4 BAND FOR CLOUD, AEROSOL, AND RAYLEIGH, C C 20 + 15 (20) MONOCHROMATIC CALCULATIONS FOR GAS AND RADIATIVE C C TRANSFER C C C C FLXU: ALL SKY SW UPWARD FLUX. C C FLXD: ALL SKY SW DOWNWARD FLUX. C C FSG: DOWNWARD FLUX ABSORBED BY GROUND. C C FSD: DIRECT DOWNWARD FLUX AT THE SURFACE. C C FSF: DIFFUSE DOWNWARD FLUX AT THE SURFACE. C C FSV: VISIBLE DOWNWARD FLUX AT THE SURFACE. C C FSI: NEAR INFRARED DOWNWARD FLUX AT THE SURFACE. C C PAR: PHOTOSYNTHETIC ACTIVE RADIATION. C C ALBPLA: PLANETARY ALBEDO. C C CST: NET CLEAR SKY FLUX AT TOP. C C CSB: NET CLEAR SKY FLUX AT SURFACE. C C----------------------------------------------------------------------C C DO 480 IB = 1, NBS C C----------------------------------------------------------------------C C TWO SURFACE ALBEDO FOR ALL SKY AND CLEAR SKY PORTIONS IN A GRID C C CELL, USER CAN USE TWO SEPARATE INPUT OF SALB C C----------------------------------------------------------------------C C DO 300 I = 1, LENGATH J = ISUN(I) ALBSUR(I) = SALB(J,IB) CSALB(I) = SALB(J,IB) 300 CONTINUE C C----------------------------------------------------------------------C C AEROSOL OPTICAL PROPERTIES. TAUA IS AEROSOL OPTICAL DEPTH C C----------------------------------------------------------------------C C AOD = 0. DO 310 K = 1, LAY DO 310 I = 1, LENGATH J = ISUN(I) DZ = DP(I,K) / RHO(I,K) !mxy TAUA(I,K) = EXTA(J,K,IB) * DZ TAUOMA(I,K) = EXOMA(J,K,IB) * DZ TAUOMGA(I,K) = EXOMGA(J,K,IB) * DZ F1(I,K) = FA(J,K,IB) AOD = AOD+TAUA(1,K) C----------------------------------------------------------------------C C SCALING THE CLOUD OPTICAL PROPERTIES DUE TO SUBGRID VARIABILITY C C AND STANDARD SCALING FOR RADIATIVE TRANSFER C C----------------------------------------------------------------------C C IF (CLDG(I,K) .GE. CUT) THEN IF (K .EQ. 1) THEN TAUCI(I,K) = TAUCS(J,K,IB) X = TAUCS(J,K,IB) + 1 9.2 * SQRT(TAUCS(J,K,IB)) ELSE TAUCI(I,K) = TAUCI(I,K-1) + TAUCS(J,K,IB) X = TAUCS(J,K,IB) + 1 9.2 * SQRT(TAUCI(I,K-1)) ENDIF C TAUCSG(I,K) = TAUCS(J,K,IB) / (1.0 + 0.185 * 1 X * URBF(I,1) * BF(I,K)) C C20 = TAUCSG(I,K) * OMCS(J,K,IB) TAUOMC(I,K) = TAUOMA(I,K) + C20 C C30 = C20 * GCS(J,K,IB) TAUOMGC(I,K) = TAUOMGA(I,K) + C30 F2(I,K) = F1(I,K) + C30 * GCS(J,K,IB) ELSE TAUCI(I,K) = 0.0 TAUCSG(I,K) = 0.0 TAUOMC(I,K) = 0.0 TAUOMGC(I,K) = 0.0 F2(I,K) = 0.0 ENDIF C 310 CONTINUE c if(ii.eq.60.and.jj.eq.33) then c print*,'AOD',AOD c endif C C----------------------------------------------------------------------C C RAYLEI, NEAR-IR RAYLEIGH SCATTERING, IT IS INDEPENDENT OF IG. C C----------------------------------------------------------------------C C IF (IB .NE. 1) THEN CALL RAYLEI (TAUR, IB, DP, 1, LENGATH, ILG, LAY) ENDIF C GH = .FALSE. C DO 400 IG = 1, KGS(IB) C IF (IB .EQ. 1) THEN C C----------------------------------------------------------------------C C RAYLEV, VISIBLE RAYLEIGH SCATTERING, IT IS DEPENDANT ON IG. C C----------------------------------------------------------------------C C CALL RAYLEV (TAUR, IG, DP, A1(1,3), 1, LENGATH, ILG, LAY) C C----------------------------------------------------------------------C C SOLAR ATTENUATION ABOVE THE MODEL TOP LAY. ONLY APPLY TO BAND C C ONE FOR O3 AND O2. THIS IS TRUE ONLY FOR MODEL TOP LEVEL ABOVE C C ABOUT 1 MB, WATER VAPOR CONTRIBUTION IS SMALL. C C REUSING A1(I,1) FOR MOON LAYER ATTENUATION C C----------------------------------------------------------------------C C CALL SATTENU (A1, IB, IG, RMUG, O3TOPG, QG, PFULLG, 1 A1G(1,12), DT, A1(1,5), INPTG, GH, 1, LENGATH, 2 ILG) ELSE DO 320 I = 1, LENGATH A1(I,1) = 1.0 320 CONTINUE ENDIF C C----------------------------------------------------------------------C C DOWNWARD FLUX ABOVE 1 MB, FURTHER FLUX ATTENUATION FACTOR FOR C C THE LOWER REGION C C----------------------------------------------------------------------C C IF (LEV1 .GT. 1) THEN CALL STRANDN (TRAN, BS, A1, RMUG, DP, DT, O3G, A1(1,3), IB, 1 IG, LEV1, 1, LENGATH, ILG, LAY, LEV) ELSE DO 330 I = 1, LENGATH BS(I) = A1(I,1) 330 CONTINUE ENDIF C CALL GASOPTS (TAUG, GW, DP, IB, IG, O3G, QG, INPTMG, DIPG, 1 DT, A1(1,3), LEV1, GH, 1, LENGATH, ILG, LAY) C mxy+ DO K = 1,LAY DO I = IL1,IL2 TAUG(I,K) = MAX(TAUG(I,K),1.E-20) ENDDO ENDDO C mxy+ C CALL SWTRAN (REFL, TRAN, CUMDTR, BS, TAUA, TAUR, TAUG, TAUOMA, 1 TAUOMGA, F1, F2, TAUCSG, TAUOMC, TAUOMGC, CLDG, 2 CLDMG, A1G, RMUG, C1, C2, ALBSUR, CSALB, 1 NBLK, NCTG,II,JJ,IAER, 3 CUT, LEV1, 1, LENGATH, ILG, LAY, LEV) C IF (LEV1 .GT. 1) THEN CALL STRANUP (REFL, DP, DT, O3G, IB, IG, LEV1, 1, LENGATH, 1 ILG, LAY, LEV) ENDIF C C----------------------------------------------------------------------C C GATHER BACK THE REQUIRED FIELDS C C----------------------------------------------------------------------C C RGW = GW * FRACS DO 350 I = 1, LENGATH J = ISUN(I) X = A1G(I,7) * CUMDTR(I,1,LEV) + 1 A1G(I,1) * CUMDTR(I,2,LEV) + 2 A1G(I,2) * CUMDTR(I,3,LEV) + 3 A1G(I,3) * CUMDTR(I,4,LEV) A1(I,2) = RGW * RMUG(I) FSD(J) = FSD(J) + X * BS(I) * A1(I,2) CST(J) = CST(J) + (1.0 - REFL(I,1,1) * 1 A1(I,1)) * A1(I,2) CSB(J) = CSB(J) + (TRAN(I,1,LEV) - 1 REFL(I,1,LEV)) * A1(I,2) C c IF(II.eq.16.and.JJ.eq.12) THEN c print*,'before',II,JJ,IAER,FLXU(I,1),FLXD(I,1) c endif FLXU(I,1) = FLXU(I,1) + REFL(I,2,1) * A1(I,2) FLXD(I,1) = FLXD(I,1) + TRAN(I,2,1) * A1(I,2) c if(II.eq.16.and.JJ.eq.12) THEN c print*,'after',II,JJ,IAER,REFL(I,2,1),TRAN(I,2,1),A1(I,2) c endif 350 CONTINUE C C----------------------------------------------------------------------C C HEATING RATE CALCULATION, FOR STABILITY IN CALCULATION, EACH IG C C IS DONE SEPARATELY. HEATING RATE IN (K / SEC), C C----------------------------------------------------------------------C C DO 375 K = 1, LAY KP1 = K + 1 DO 370 I = 1, LENGATH J = ISUN(I) DFNET = (TRAN(I,2,K) - TRAN(I,2,KP1) - 1 REFL(I,2,K) + REFL(I,2,KP1)) * 2 A1(I,2) HRS(J,K) = HRS(J,K) + HRCOEF * DFNET / DP(I,K) C FLXU(I,KP1) = FLXU(I,KP1) + REFL(I,2,KP1) * A1(I,2) FLXD(I,KP1) = FLXD(I,KP1) + TRAN(I,2,KP1) * A1(I,2) c if(II.eq.16.and.JJ.eq.12) THEN c print*,'FLXUD',II,JJ,IAER,K,FLXU(I,KP1),FLXD(I,KP1) c endif 370 CONTINUE 375 CONTINUE C C----------------------------------------------------------------------C C FSAMOON IS THE ENERGY ABSORBED BETWEEN TOA AND MODEL TOP LEVEL. C C A1(I,4) IS THE ADJUSTMENT FOR UPWARD FLUX FROM MODEL TOP LEVEL C C TO TOA USED FOR PLANETARY ALBEDO C C----------------------------------------------------------------------C C IF (IB .EQ. 1) THEN DO 380 I = 1, LENGATH J = ISUN(I) X = (1.0 - A1(I,1)) * A1(I,2) FSAMOON(J) = FSAMOON(J) + X * (1.0 + REFL(I,2,1)) A1(I,4) = A1(I,4) - X * REFL(I,2,1) 380 CONTINUE ENDIF C IF (IB .EQ. 1 .AND. IG .EQ. 2) THEN DO 390 I = 1, LENGATH PAR(ISUN(I)) = FLXD(I,LEV) 390 CONTINUE ENDIF C 400 CONTINUE C C----------------------------------------------------------------------C C IN ACCUMULATED SPACE WITH INTERVAL CLOSE TO 1, THE EXTINCTION C C COEFFICIENTS IS EXTREMELY LARGE, THE CALCULATION PROCESS CAN BE C C SIMPLIFIED BY IGNORING SCATTERING, REFLECTION, CLOUD AND AEROSOL.C C----------------------------------------------------------------------C C GH = .TRUE. C DO 450 IG = 1, KGSGH(IB) C CALL SATTENU (A1, IB, IG, RMUG, O3TOPG, QG, PFULLG, A1G(1,12), 1 DT, A1(1,5), INPTG, GH, 1, LENGATH, ILG) C CALL STRANDNGH (TRAN, GWGH, A1, TAUA, TAUOMA, TAUCSG, TAUOMC, 1 CLDG, RMUG, DP, O3G, QG, IB, IG, INPTG, DIPG, 2 DT, LEV1, GH, CUT, 1, LENGATH, ILG, LAY, LEV) C RGW = GWGH * FRACS C DO 430 I = 1, LENGATH J = ISUN(I) A1(I,2) = RGW * RMUG(I) CST(J) = CST(J) + A1(I,2) CSB(J) = CSB(J) + TRAN(I,1,LEV) * A1(I,2) C FSAMOON(J) = FSAMOON(J) + 1 A1(I,2) * (1.0 - TRAN(I,2,1)) FLXD(I,1) = FLXD(I,1) + A1(I,2) * TRAN(I,2,1) 430 CONTINUE DO 445 K = 1, LAY KP1 = K + 1 DO 440 I = 1, LENGATH J = ISUN(I) FLXD(I,KP1) = FLXD(I,KP1) + A1(I,2) * TRAN(I,2,KP1) HRS(J,K) = HRS(J,K) + HRCOEF * A1(I,2) * 1 (TRAN(I,2,K) - TRAN(I,2,KP1)) / 2 DP(I,K) 440 CONTINUE 445 CONTINUE C 450 CONTINUE C IF (IB .EQ. 1) THEN DO 460 I = 1, LENGATH FSV(ISUN(I)) = FLXD(I,LEV) 460 CONTINUE ENDIF C 480 CONTINUE C C----------------------------------------------------------------------C C GATHER BACK REQUIRED FIELD. FOR PLANETARY ALBEDO THE INCOMING C C ENERGY OF 11.9096 * FRACS IS TOTALLY ABSORBED IN LONGWAVE PART C C----------------------------------------------------------------------C C RSOLARC = RRSQ * SOLARC DO 490 I = 1, LENGATH J = ISUN(I) FST(J) = FLXD(I,1) - FLXU(I,1) FSG(J) = FLXD(I,LEV) - FLXU(I,LEV) FSI(J) = FLXD(I,LEV) - FSV(J) FSF(J) = FLXD(I,LEV) - FSD(J) C !20120713 CST(J) = CST(J) + FSLO(J) CST(J) = CST(J) ALBPLA(J) = (FLXU(I,1) + A1(I,4)) / 1 (RSOLARC * RMUG(I)) 490 CONTINUE C 499 CONTINUE C ENDIF C (LCSW) C C----------------------------------------------------------------------C C LONGWAVE: 9 BAND FOR CLOUD, AEROSOL, CONTINUUM, AND PLANCK. C C 24+22 MONOCHROMATIC CALCULATIONS FOR GAS AND RADIATIVE TRANSFER C C C C FLXU: ALL SKY LW UPWARD FLUX. C C FLXD: ALL SKY LW DOWNWARD FLUX. C C FUL: UPWARD LW FLUX AT THE TOP. C C FDL: DOWN LW FLUX RECEIVED AT THE GROUND. C C CLT: NET CLEAR SKY UPWARD FLUX AT THE TOP. C C CLB: NET CLEAR SKY DOWNWARD FLUX AT THE SURFACE. C C----------------------------------------------------------------------C C IF (LCLW) THEN C C----------------------------------------------------------------------C C CONVERT FROM SPECIFIC HUMIDITY TO MIXING RATIO (BOUNDED) AND C C BOUND TEMPERATURE FOR PLANCK CALCULATION. C C----------------------------------------------------------------------C C DO 505 K = 1, LAY KP1 = K + 1 DO 500 I = IL1, IL2 C C----------------------------------------------------------------------C C CONVERT SPECIFIC HUMIDITY TO MIXING RATIO. TAKE OUT IT IF NOT IN C C UNIT OF SPECIFIC HUMIDITY C C----------------------------------------------------------------------C C QMR = Q(I,K) / (1.0 - Q(I,K)) QG(I,K) = MAX (QMR, QMIN) C HRL(I,K) = 0.0 DP(I,K) = 0.0102 * PRESSG(I) * 1 (SHTJ(I,KP1) - SHTJ(I,K)) DT(I,K) = T(I,K) - 250.0 500 CONTINUE 505 CONTINUE C DO 510 I = IL1, IL2 CLT(I) = 0.0 CLB(I) = 0.0 C mxy+ FUL(I) = 0.0 FDL(I) = 0.0 C mxy+ INPTG(I,1) = 0 ISUN(I) = 1 A1(I,5) = 2.0 * T(I,1) - T(I,2) - 250.0 510 CONTINUE C C----------------------------------------------------------------------C C MCONT IS THE HIGHEST PRESSURE LEVEL FOR PERFORM THE CONTINUUM C C CALCULATIONS (> 138.9440 MB). REUSING SPACES OF INPTG AND ISUN. C C----------------------------------------------------------------------C C DO 520 K = 1, LEV DO 520 I = IL1, IL2 FLXU(I,K) = 0.0 FLXD(I,K) = 0.0 C IF (PFULL(I,K) .GE. 138.9440) THEN INPTG(I,1) = INPTG(I,1) + 1 IF (INPTG(I,1) .EQ. 1) ISUN(I) = K ENDIF 520 CONTINUE C MCONT = LEV C DO 530 I = IL1, IL2 MCONT = MIN (ISUN(I), MCONT) 530 CONTINUE MCONT = MCONT - 1 C C----------------------------------------------------------------------C C DETERMINATION OF THE INTERPRETATION POINTS IN THE RATIO OF CO2 C C TO WATER VAPOR FOR TLINEHC. REUSE THE SPACE OF PG FOR DIR C C----------------------------------------------------------------------C C CALL PREINTR (INPR, PG, QG, IL1, IL2, ILG, LAY) C DO 900 IB = 1, NBL ! C C----------------------------------------------------------------------C C USING C1 SPACE FOR SLWF WHICH IS THE INPUT SOLAR ENERGY IN THE C C INFRARED REGION. TOTAL 11.9096 W / M^2 FROM STANDARD C C CALCULATION C C SCALING CLOUD OPTICAL PROPERTIES FOR IR SCATTERING CALCULATION C C----------------------------------------------------------------------C C DO 605 I = IL1, IL2 IF (RMU(I) .GT. 0.0) THEN C1(I) = RMU(I) * SFINPTL(IB) ELSE C1(I) = 0.0 ENDIF 605 CONTINUE C DO 610 K = 1, LAY DO 610 I = IL1, IL2 DZ = DP(I,K) / RHO(I,K) !mxy TAUA(I,K) = ABSA(I,K,IB) * DZ !mxy TAUCI(I,K) = 0.0 OMCI(I,K) = 0.0 GCI(I,K) = 0.0 F2(I,K) = 0.0 C IF (CLD(I,K) .GE. CUT) THEN TAUCI(I,K) = TAUCL(I,K,IB) OMCI(I,K) = OMCL(I,K,IB) * TAUCI(I,K) F2(I,K) = GCL(I,K,IB) * GCL(I,K,IB) GCI(I,K) = (GCL(I,K,IB) - F2(I,K)) / 1 (1.0 - F2(I,K)) GCI(I,K) = - 0.5 * (1.0 - UU3 * GCI(I,K)) ENDIF 610 CONTINUE C C----------------------------------------------------------------------C C REUSING SPACE O3G FOR DBF C C----------------------------------------------------------------------C C CALL PLANCK (BF, BS, URBF, A1(1,2), A1(1,3), O3G, TFULL, GT, IB, 1 IL1, IL2, ILG, LAY, LEV) C GH = .FALSE. C DO 700 IG = 1, KGL(IB) C CALL GASOPTL (TAUG, GW, DP, IB, IG, O3, QG, INPR, INPTM, 1 MCONT, PG, DIP, DT, LEV1, GH, 2 IL1, IL2, ILG, LAY) C mxy+ DO K = 1,LAY DO I = IL1,IL2 TAUG(I,K) = MAX(TAUG(I,K),1.E-20) ENDDO ENDDO C mxy+ C CALL LWTRAN (REFL, TRAN, C1, TAUCI, OMCI, GCI, F2, TAUA, 1 TAUG, BF, BS, URBF, O3G, EM0, CLD, CLDM, ANU, 2 NCT, NCD, NCU, NCUM, NCDM, LEV1, MAXC, 3 CUT, IL1, IL2, ILG, LAY, LEV, + II,JJ) C PGW = PI * GW DO 650 K = LEV1, LAY KP1 = K + 1 DO 600 I = IL1, IL2 FLXU(I,K) = FLXU(I,K) + REFL(I,2,K) * PGW FLXD(I,K) = FLXD(I,K) + TRAN(I,2,K) * PGW C DFNET = TRAN(I,2,K) - TRAN(I,2,KP1) - 1 REFL(I,2,K) + REFL(I,2,KP1) HRL(I,K) = HRL(I,K) + 1 HRCOEF * DFNET / DP(I,K) * PGW if(FLXU(I,K).gt.2000. .or. FLXU(I,K).lt.-1000.) then print*,'FLXU(I,K)',I,K,FLXU(I,K),REFL(I,2,K),PGW endif if(FLXD(I,K).gt.2000. .or. FLXD(I,K).lt.-1000.) then print*,'FLXD(I,K)',I,K,FLXD(I,K),TRAN(I,2,K),PGW endif 600 CONTINUE 650 CONTINUE C DO 660 I = IL1, IL2 FLXU(I,LEV) = FLXU(I,LEV) + REFL(I,2,LEV) * PGW FLXD(I,LEV) = FLXD(I,LEV) + TRAN(I,2,LEV) * PGW if(FLXU(I,LEV).gt.2000. .or. FLXU(I,LEV).lt.-1000.) then print*,'FLXU(I,LEV)',I,FLXU(I,LEV),REFL(I,2,LEV),PGW endif if(FLXD(I,LEV).gt.2000. .or. FLXD(I,LEV).lt.-1000.) then print*,'FLXD(I,LEV)',I,FLXD(I,LEV),TRAN(I,2,LEV),PGW endif C CLT(I) = CLT(I) - REFL(I,1,LEV1) * PGW CLB(I) = CLB(I) - 1 (REFL(I,1,LEV) - TRAN(I,1,LEV)) * PGW if(CLT(I).gt.2000. .or. CLT(I).lt.-1000.) then print*,'CLT(I)',I,CLT(I),REFL(I,1,LEV1),PGW endif if(CLB(I).gt.2000. .or. CLB(I).lt.-1000.) then print*,'CLB(I)',I,CLB(I),REFL(I,1,LEV),TRAN(I,1,LEV) endif 660 CONTINUE C IF (LEV1 .GT. 1) THEN DO 680 K = LEV1 - 1, 1, - 1 KP1 = K + 1 DO 670 I = IL1, IL2 FLXU(I,K) = FLXU(I,K) + REFL(I,2,LEV1) * PGW FLXD(I,K) = FLXD(I,K) + C1(I) * PGW 670 CONTINUE 680 CONTINUE ENDIF C 700 CONTINUE C IF (IB .NE. 6) THEN C GH = .TRUE. C DO 800 IG = 1, KGLGH(IB) C CALL GASOPTLGH (TAUG, GWGH, DP, IB, IG, O3, QG, INPT, 1 MCONT, PG, DIP, DT, LEV1, GH, 2 IL1, IL2, ILG, LAY) C mxy+ DO K = 1,LAY DO I = IL1,IL2 TAUG(I,K) = MAX(TAUG(I,K),1.E-20) ENDDO ENDDO C mxy+ C C----------------------------------------------------------------------C C CONSIDER THE ATTENUATION FOR THE DOWNWARD FLUX ABOVE THE MODEL C C TOP LEVEL. THIS IS IMPORTANT TO GET THE CORRECT COOLING RATE. IF C C THE MODEL TOP LEVEL PRESSURE IS LOWER THAN 0.01. THIS IS NOT C C NECESSARY C C----------------------------------------------------------------------C C CALL LATTENU (A1, IB, IG, O3TOP, QG, PFULL, A1(1,12), DT, 1 A1(1,5), INPT, IL1, IL2, ILG) C DO 710 I = IL1, IL2 TRAN0 = EXP(- A1(I,1)) if(TRAN0.gt.2000. .or. TRAN0.lt.-1000.) then print*,'TRAN0',I,TRAN0,A1(I,1) endif C IF (PFULL(I,1) .GT. 0.001) THEN X = MAX(A1(I,1), OPEM10) ETA = 1.0 / (1.0 + A1(I,3) / X) IF (ABS(ETA) .LT. 100.) THEN C2(I) = C1(I) * TRAN0 + ETA * 1 (BF(I,1) - A1(I,2) * TRAN0) ELSE C2(I) = C1(I) * TRAN0 + X * A1(I,2) * TRAN0 ENDIF ELSE C2(I) = C1(I) * TRAN0 ENDIF 710 CONTINUE C CALL LWTRAGH (REFL, TRAN, C2, TAUCI, OMCI, TAUA, TAUG, BF, 1 URBF, CLD, EM0, BS, CUT, 2 IL1, IL2, ILG, LAY, LEV) C PGW = PI * GWGH DO 740 K = 1, LAY KP1 = K + 1 DO 730 I = IL1, IL2 FLXU(I,K) = FLXU(I,K) + REFL(I,2,K) * PGW FLXD(I,K) = FLXD(I,K) + TRAN(I,2,K) * PGW C DFNET = TRAN(I,2,K) - TRAN(I,2,KP1) - 1 REFL(I,2,K) + REFL(I,2,KP1) HRL(I,K) = HRL(I,K) + 1 HRCOEF * DFNET / DP(I,K) * PGW 730 CONTINUE 740 CONTINUE C C----------------------------------------------------------------------C C THE ATTENUATION FOR THE UPWARD FLUX ABOVE THE MODEL TOP IS NOT C C CONSIDERED, SINCE THE IMPACT ON UPWARD FLUX IS VERY SMALL IF THE C C MODEL TOP IS ABOUT 1 MB OR HIGHER C C----------------------------------------------------------------------C C DO 750 I = IL1, IL2 FLXU(I,LEV) = FLXU(I,LEV) + REFL(I,2,LEV) * PGW FLXD(I,LEV) = FLXD(I,LEV) + TRAN(I,2,LEV) * PGW CLT(I) = CLT(I) - REFL(I,1,1) * PGW CLB(I) = CLB(I) - 1 (REFL(I,1,LEV) - TRAN(I,1,LEV)) * PGW if(CLT(I).gt.2000. .or. CLT(I).lt.-1000. .or. & CLB(I).gt.2000. .or. CLB(I).lt.-1000.) then print*,'CLT(I),CLB(I)',I,CLT(I),CLB(I),REFL(I,1,1),PGW, & REFL(I,1,LEV),TRAN(I,1,LEV),FLXU(I,LEV),REFL(I,2,LEV), & FLXD(I,LEV),TRAN(I,2,LEV) endif 750 CONTINUE C 800 CONTINUE C ENDIF 900 CONTINUE C DO 950 I = IL1, IL2 FDL(I) = FLXD(I,LEV) FUL(I) = FLXU(I,1) 950 CONTINUE C ENDIF C (LCLW) C RETURN END SUBROUTINE ATTENUE (ATTEN, COEF1, O3, Q, DP, DIP, DT, DT0, RMU, 1 INPT, N, NG, ISL, IL1, IL2, ILG) C C----------------------------------------------------------------------C C THIS SUBROUTINE CALCULATES THE DOWNWARD FLUX ATTENUATION ABOVE C C THE MODEL TOP LEVEL C C ISL = 1 FOR SOLAR, ISL = 2 FOR INFRARED. C C NG = 1, H2O; NG = 2, O3; NG = 3, CO2; NG = 6, O2 C C ASSUMING THE TEMPERATURE AT 0.0005 MB IS 210 K C C C C ATTEN: FOR SOLAR: THE ATTENUATION FACTOR FOR DOWNWARD FLUX FROM C C TOA TO THE MODEL TOP LEVEL; FOR LONGWAVE: THE OPTICAL C C / DIFFUSE FACTOR C C DP: AIR MASS PATH FOR A MODEL LAYER (EXLAINED IN RADDRIV). C C O3: O3 MASS MIXING RATIO C C Q: WATER VAPOR MASS MIXING RATIO C C DIP: INTERPRETATION FACTOR FOR PRESSURE BETWEEN TWO C C NEIGHBORING STANDARD INPUT DATA PRESSURE LEVELS C C DT: LAYER TEMPERATURE - 250 K C C DT0: TEMPERATURE IN MOON LAYER - 250 K C C RMU: COS OF SOLAR ZENITH ANGLE C C----------------------------------------------------------------------C C IMPLICIT REAL (A-H,O-Z), +INTEGER (I-N) C REAL ATTEN(ILG), COEF1(5,N), DP(ILG), O3(ILG), Q(ILG), DIP(ILG), 1 DT(ILG), DT0(ILG), RMU(ILG), S1(ILG) INTEGER INPT(ILG) C COMMON /TRACE / RMCO2, RMCH4, RMN2O, RMO2, RMF11, RMF12, RMF113, 1 RMF114 C DATA RU / 1.6487213 / DATA N1 / 1 / C======================================================================= IF (NG .EQ. 1) THEN DO 100 I = IL1, IL2 S1(I) = 1.02 * Q(I) 100 CONTINUE ELSE IF (NG .EQ. 2) THEN DO 200 I = IL1, IL2 S1(I) = 1.02 * O3(I) 200 CONTINUE ELSE IF (NG .EQ. 3) THEN DO 300 I = IL1, IL2 S1(I) = 1.02 * RMCO2 300 CONTINUE ELSE IF (NG .EQ. 4) THEN DO 400 I = IL1, IL2 S1(I) = 1.02 * RMCH4 400 CONTINUE ELSE IF (NG .EQ. 6) THEN DO 600 I = IL1, IL2 S1(I) = 1.02 * RMO2 600 CONTINUE ENDIF C IF (ISL .EQ. N1) THEN IF (INPT(1) .LT. 950) THEN DO 1000 I = IL1, IL2 N = INPT(I) NM1 = MAX (N - 1, N1) X1 = COEF1(1,NM1) + DT0(I) * (COEF1(2,NM1) + DT0(I) * 1 (COEF1(3,NM1) + DT0(I) * (COEF1(4,NM1) + DT0(I) * 2 COEF1(5,1)))) X2 = COEF1(1,N) + DT(I) * (COEF1(2,N) + DT(I) * 1 (COEF1(3,N) + DT(I) * (COEF1(4,N) + DT(I) * 2 COEF1(5,N)))) C TAU = (X1 + (X2 - X1) * DIP(I)) * S1(I) * DP(I) C ATTEN(I) = EXP( - TAU / RMU(I)) 1000 CONTINUE ELSE N = INPT(1) - 1000 NM1 = MAX (N - 1, N1) DO 1002 I = IL1, IL2 X1 = COEF1(1,NM1) + DT0(I) * (COEF1(2,NM1) + DT0(I) * 1 (COEF1(3,NM1) + DT0(I) * (COEF1(4,NM1) + DT0(I) * 2 COEF1(5,1)))) X2 = COEF1(1,N) + DT(I) * (COEF1(2,N) + DT(I) * 1 (COEF1(3,N) + DT(I) * (COEF1(4,N) + DT(I) * 2 COEF1(5,N)))) C TAU = (X1 + (X2 - X1) * DIP(I)) * S1(I) * DP(I) C ATTEN(I) = EXP( - TAU / RMU(I)) 1002 CONTINUE ENDIF C ELSE IF (INPT(1) .LT. 950) THEN DO 2000 I = IL1, IL2 N = INPT(I) - 1000 NM1 = MAX (N - 1, N1) X1 = COEF1(1,NM1) + DT0(I) * (COEF1(2,NM1) + DT0(I) * 1 (COEF1(3,NM1) + DT0(I) * (COEF1(4,NM1) + DT0(I) * 2 COEF1(5,1)))) X2 = COEF1(1,N) + DT(I) * (COEF1(2,N) + DT(I) * 1 (COEF1(3,N) + DT(I) * (COEF1(4,N) + DT(I) * 2 COEF1(5,N)))) C TAU = (X1 + (X2 - X1) * DIP(I)) * S1(I) * DP(I) C ATTEN(I) = RU * TAU 2000 CONTINUE ELSE N = INPT(1) - 1000 NM1 = MAX (N - 1, N1) DO 2002 I = IL1, IL2 X1 = COEF1(1,NM1) + DT0(I) * (COEF1(2,NM1) + DT0(I) * 1 (COEF1(3,NM1) + DT0(I) * (COEF1(4,NM1) + DT0(I) * 2 COEF1(5,1)))) X2 = COEF1(1,N) + DT(I) * (COEF1(2,N) + DT(I) * 1 (COEF1(3,N) + DT(I) * (COEF1(4,N) + DT(I) * 2 COEF1(5,N)))) C TAU = (X1 + (X2 - X1) * DIP(I)) * S1(I) * DP(I) C ATTEN(I) = RU * TAU 2002 CONTINUE ENDIF ENDIF C RETURN END SUBROUTINE CLDIFM (CLDMIN, CLDMAX, ANU, A1, NCD, NCU, NBLK, NCT, 1 NCUM, NCDM, CLD, CUT, MAXC, 2 BUOY, CLDIWC, IL1, IL2, ILG, LAY, LEV) C IMPLICIT REAL (A-H,O-Z), +INTEGER (I-N) C REAL CLDMIN(ILG,LAY), CLDMAX(ILG,LAY), ANU(ILG,LAY), A1(ILG,10), 1 CLD(ILG,LAY), BUOY(ILG,LAY), CLDIWC(ILG,LAY) C INTEGER NCD(ILG,LAY), NCU(ILG,LAY), NBLK(ILG,LAY), NCT(ILG), 1 NCUM(LAY), NCDM(LAY), LEVC(ILG,LAY), INTG1(ILG), 2 INTG2(ILG) PARAMETER ( ALF=-3.E-05 ) C DATA ANUMIN, ANUMAX /0.5, 4./ C C----------------------------------------------------------------------C C THIS SUBROUTINE DETERMINES THE INFO FOR CLOUD AND LEVEL INFO C C FOR GASEOUS CALCULATION C C----------------------------------------------------------------------C C DO 10 I = IL1, IL2 INTG1(I) = 0 INTG2(I) = 0 NCT(I) = LEV 10 CONTINUE C C----------------------------------------------------------------------C C DETERMINE THE HIGHEST CLOUD LOCATION. NCT IS THE UPPER LEVEL OF C C THE HIGHEST CLOUD, C C DETERMINE THE NU (ANU) FACTOR FOR CLOUD SUB-GRID VARIABILITY C C BASED ON CLOUD FRACTION. C C----------------------------------------------------------------------C C MAXC = LEV C DO 25 K = 1, LAY KM1 = K - 1 DO 20 I = IL1, IL2 c IF (CLDIWC(I,K) .GT. 0.) THEN IF (CLD(I,K) .LE. 0.9) THEN ANU(I,K) = 1.0 ELSEIF (CLD(I,K) .GT. 0.9 .AND. CLD(I,K) .LT. 1.0) THEN ANU(I,K) = 2.0 ELSE ANU(I,K) = 4.0 ENDIF c ELSE c IF (BUOY(I,K) .LT. 0.) THEN c ANU(I,K) = ALF / BUOY(I,K) c ANU(I,K) = MIN (MAX (ANUMIN, ANU(I,K)), ANUMAX) c ELSE c ANU(I,K) = 4. c END IF c ENDIF C C----------------------------------------------------------------------C C MINIMUM ANU, IT IS EXTREMELY IMPORTANT TO ENSURE CONSISTENCY C C BETWEEN THE DEFINITIONS OF ANU HERE AND THEIR SUBSEQUENT USE IN C C LWTRAN, C C CLDMAX THE MAXIMUM CLOUD FRACTION FOR EACH CLOUD BLOCK. C C CLDMIN THE MINIMUM CLOUD FRACTION FOR EACH CLOUD BLOCK. C C----------------------------------------------------------------------C C IF (CLD(I,K) .LT. CUT) THEN ANU(I,K) = 1000.0 CLDMAX(I,K) = 0.0 ELSE IF (K .EQ. 1) THEN CLDMAX(I,K) = CLD(I,K) ELSE ANU(I,K) = MIN (ANU(I,KM1), ANU(I,K)) CLDMAX(I,K) = MAX (CLDMAX(I,KM1), CLD(I,K)) ENDIF C INTG2(I) = INTG2(I) + 1 IF (INTG2(I) .EQ. 1) NCT(I) = K ENDIF C 20 CONTINUE 25 CONTINUE C DO 40 I = IL1, IL2 MAXC = MIN (NCT(I), MAXC) LEVC(I,1) = 0 LEVC(I,2) = 0 A1(I,1) = 0. A1(I,2) = 0. A1(I,3) = 0. 40 CONTINUE C C----------------------------------------------------------------------C C DETERMINE THE LAYER ORDER FOR EACH CLOUD BLOCK THROUGH DOWN AND C C UP PATHS, NCD AND NCU. C C DETERMINE THE TOTAL CLOUD FRACTIONS LOOKING FROM TOP AND SURFACE C C FOR ONE CLOUD BLOCK (A CLOUD OCCUPY SEVERAL LAYERS, CHOOSE THE C C MINIMUM VALUE OF NU FOR THE BLOCK. C C NCT IS THE TOP LEVEL NUMBER FOR THE HIGHEST CLOUD C C DETERMINE THE MINIMUM ANU C C----------------------------------------------------------------------C C DO 65 K = 2, LEV KM1 = K - 1 L = LEV - K + 1 LP1 = L + 1 DO 60 I = IL1, IL2 IF (CLD(I,KM1) .LT. CUT) THEN LEVC(I,1) = 0 NCD(I,KM1) = 0 ELSE LEVC(I,1) = LEVC(I,1) + 1 NCD(I,KM1) = LEVC(I,1) ENDIF C IF (CLD(I,L) .GE. CUT .AND. L .LT. LAY) THEN ANU(I,L) = MIN (ANU(I,LP1), ANU (I,L)) CLDMAX(I,L) = MAX (CLDMAX(I,LP1), CLDMAX(I,L)) ENDIF 60 CONTINUE 65 CONTINUE C DO 75 L = LAY, 1, -1 LP1 = L + 1 DO 70 I = IL1, IL2 IF (CLD(I,L) .LT. CUT) THEN LEVC(I,2) = 0 NCU(I,L) = 0 NBLK(I,L) = 0 CLDMIN(I,L) = 1. ELSE LEVC(I,2) = LEVC(I,2) + 1 NCU(I,L) = LEVC(I,2) IF (NCU(I,L) .EQ. 1) THEN INTG1(I) = INTG1(I) + 1 NBLK(I,L) = INTG1(I) IF (NBLK(I,L) .GT. 3) NBLK(I,L) = 3 IF (NBLK(I,L) .EQ. 1) A1(I,1) = CLDMAX(I,L) IF (NBLK(I,L) .EQ. 2) A1(I,2) = CLDMAX(I,L) IF (NBLK(I,L) .EQ. 3) A1(I,3) = 1 MAX (A1(I,3), CLDMAX(I,L)) ELSE NBLK(I,L) = NBLK(I,LP1) ENDIF C IF (NCU(I,L) .EQ. 1) THEN CLDMIN(I,L) = CLD(I,L) ELSE CLDMIN(I,L) = MIN (CLDMIN(I,LP1), CLD(I,L)) ENDIF ENDIF 70 CONTINUE 75 CONTINUE C DO 80 I = IL1, IL2 X = A1(I,3) * (1.0 - A1(I,1)) * 1 (1.0 - A1(I,2)) A1(I,4) = A1(I,1) * A1(I,2) A1(I,1) = A1(I,1) * (1.0 - A1(I,2)) IF (A1(I,3) .GE. X + A1(I,2)) THEN Y = A1(I,2) Z = A1(I,3) - X - A1(I,2) ELSE Y = A1(I,3) - X Z = 0. ENDIF C IF (A1(I,3) .GE. X + A1(I,1)) THEN A1(I,6) = A1(I,1) A1(I,5) = A1(I,3) - X - A1(I,6) ELSE A1(I,6) = A1(I,3) - X A1(I,5) = 0. ENDIF A1(I,3) = X A1(I,5) = 0.5 * (A1(I,5) + Y) A1(I,6) = 0.5 * (A1(I,6) + Z) 80 CONTINUE C C----------------------------------------------------------------------C C DETERMINE THE MAXIMUM PORTION IN A CLOUD BLOCK C C DETERMINE THE MAXIMUM NUMBER FOR NCD AND NCU, FOR ITERATION IN C C LONGWAVE C C----------------------------------------------------------------------C C DO 105 K = 1, LAY KM1 = K - 1 NCUM(K) = 0 NCDM(K) = 0 DO 100 I = IL1, IL2 IF (NCD(I,K) .GT. 1) THEN CLDMIN(I,K) = MIN (CLDMIN(I,KM1), CLDMIN(I,K)) ENDIF C NCUM(K) = MAX (NCU(I,K), NCUM(K)) NCDM(K) = MAX (NCD(I,K), NCDM(K)) 100 CONTINUE 105 CONTINUE C RETURN END SUBROUTINE GASOPTL (TAUG, GW, DP, IB, IG, O3, Q, INPTR, INPT, 1 MCONT, DIR, DIP, DT, LEV1, GH, 2 IL1, IL2, ILG, LAY) C C----------------------------------------------------------------------C C CALCULATION OF THE OPTICAL DEPTHS DUE TO NONGRAY GASEOUS C C ABSORPTION FOR THE INFRARED, IN EACH LAYER FOR A GIVEN BAND IB C C AND CUMULATIVE PROBABILITY GW. C C FROM BAND1 TO BAND4, THE SOLAR AND INFRARED INTERACTION IS C C CONSIDERED. THE TOTAL SOLAR ENERGY CONSIDERED IN THE INFRARED C C REGION IS 11.9096 W / M^2 C C FOR GASES WITH CONSTANT MIXING RATIO: C C 1 = H2O C C 2 = O3 C C 3 = CO2 C C 4 = CH4 C C 5 = N2O C C 6 = O2 C C 7 = CFC11 C C 8 = CFC12 C C TLINE, ETC., DEAL WITH LINE ABSORPTION AND TCONTL AND TCONTHL C C DEAL WITH WATER VAPOR CONTINUUM C C C C TAUG: GASEOUS OPTICAL DEPTH C C DP: AIR MASS PATH FOR A MODEL LAYER (EXLAINED IN RADDRIV). C C O3: O3 MASS MIXING RATIO C C Q: WATER VAPOR MASS MIXING RATIO C C DIR: INTERPRETATION FACTOR FOR MASS RATIO OF H2O / CO2 C C BETWEEN TWO NEIGHBORING STANDARD INPUT RATIOS C C DIP: INTERPRETATION FACTOR FOR PRESSURE BETWEEN TWO C C NEIGHBORING STANDARD INPUT DATA PRESSURE LEVELS C C DT: LAYER TEMPERATURE - 250 K C C INPR: NUMBER OF THE RATIO LEVEL FOR THE STANDARD 5 RATIOS C C INPT: NUMBER OF THE LEVEL FOR THE STANDARD INPUT DATA PRESSURES C C MCONT: THE HIGHEST LEVEL FOR WATER VAPOR CONTINUUM CALCULATION C C----------------------------------------------------------------------C IMPLICIT REAL (A-H,O-Z), +INTEGER (I-N) C REAL TAUG(ILG,LAY) C REAL DP(ILG,LAY), O3(ILG,LAY), Q(ILG,LAY), DIR(ILG,LAY), 1 DIP(ILG,LAY), DT(ILG,LAY) INTEGER INPTR(ILG,LAY), INPT(ILG,LAY) LOGICAL GH C COMMON /TRACE / RMCO2, RMCH4, RMN2O, RMO2, RMF11, RMF12, RMF113, 1 RMF114 C COMMON /BANDL1/ GW1(1), CL1H2O(5,18), CL1CO2(5,18) COMMON /BANDL2/ GW2(1), CL2H2O(5,18), 1 CL2CS(5,3), CL2CF(5,3) COMMON /BANDL3/ GW3(2), CL3H2O(5,18,2), CL3CH4(2), 1 CL3CS(5,4,2), CL3CF(5,4,2) COMMON /BANDL4/ GW4(5), CL4H2O(5,18,5), CL4N2O(5,18,5), 1 CL4CH4(5,18,5), 2 CL4CS(5,4,5), CL4CF(5,4,5), 3 CL4F12(5) COMMON /BANDL5/ GW5(2), CL5H2O(5,18,2), CL5O3(5,18,2), 1 CL5CS(5,4,2), CL5CF(5,4,2), 2 CL5F11(2), CL5F12(2) COMMON /BANDL6/ GW6(3), CL6H2O(5,18,3), CL6F11(5,18,3), 1 CL6F12(5,18,3), CL6CS(5,4), CL6CF(5,4) COMMON /BANDL7/ GW7(3), CL7H2OU(5,11,3), CL7H2OD(5,5,7,3), 1 CL7CO2U(5,11,3), CL7CO2D(5,5,7,3), 2 CL7N2O(3), CL7O3(3), 3 CL7CS(5,5,4,3), CL7CF(5,5,4,3) COMMON /BANDL8/ GW8(6), CL8H2O(5,18,6), 1 CL8CS(5,6,4), CL8CF(5,6,4) COMMON /BANDL9/ GW9(4), CL9H2O(5,18,4), 1 CL9CS(5,6,4), CL9CF(5,6,4) C C * NUMBER OF VERTICAL LEVELS IN ABSORBER PRESSURE-BASED COEFFICIENT C * ARRAY ("M" REFERENCES NON-SATURATED BANDS ACTIVE BELOW 1 MB ONLY). C DATA MTL /18/ C======================================================================= IF (IB .EQ. 1) THEN C C----------------------------------------------------------------------C C BAND (2500 - 2200 CM^-1), NONGRAY GASEOUS ABSORPTION OF H2O AND C C CO2. C C----------------------------------------------------------------------C C NG2 = 3 CALL TLINE2 (TAUG, CL1H2O, CL1CO2, Q, O3, NG2, DP, DIP, DT, INPT, 1 LEV1, GH, MTL, IL1, IL2, ILG, LAY) C C----------------------------------------------------------------------C C SIMPLY ADD THE N2O EFFECT C C----------------------------------------------------------------------C C DO 100 K = LEV1, LAY DO 100 I = IL1, IL2 CRMN2O = 2.0437 * 1.E-07 * SQRT(RMN2O * 1.E+07) FACT = Q(I,K) / (Q(I,K) + 8.E+04 * CRMN2O) TAUG(I,K) = TAUG(I,K) + (754.9786 + 10141.5049 * FACT * FACT) * 1 CRMN2O * DP(I,K) 100 CONTINUE C GW = GW1(IG) C ELSE IF (IB .EQ. 2) THEN C C----------------------------------------------------------------------C C BAND (2200 - 1900 CM^-1), NONGRAY GASEOUS ABSORPTION OF H2O + N2OC C----------------------------------------------------------------------C C NG = 1 INIT = 2 CALL TLINE1 (TAUG, CL2H2O, Q, NG, DP, DIP, DT, INPT, LEV1, GH, 1 MTL, INIT, IL1, IL2, ILG, LAY) C LC = 3 CALL TCONTL1 (TAUG, CL2CS, CL2CF, Q, DP, DIP, DT, LC, INPT, MCONT, 1 GH, IL1, IL2, ILG, LAY) C C----------------------------------------------------------------------C C SIMPLY ADD THE N2O EFFECT C C----------------------------------------------------------------------C C DO 200 K = LEV1, LAY DO 200 I = IL1, IL2 CRMN2O = 2.0437 * 1.E-07 * SQRT(RMN2O * 1.E+07) FACT = Q(I,K) / (Q(I,K) + 72000. * CRMN2O) TAUG(I,K) = TAUG(I,K) + (93. + 3500. * FACT * FACT) * 1 CRMN2O * DP(I,K) 200 CONTINUE C GW = GW2(IG) C ELSE IF (IB .EQ. 3) THEN C C----------------------------------------------------------------------C C BAND (1900 - 1400 CM^-1), NONGRAY GASEOUS ABSORPTION OF H2O. C C----------------------------------------------------------------------C C NG = 1 INIT = 2 CALL TLINE1 (TAUG, CL3H2O(1,1,IG), Q, NG, DP, DIP, DT, INPT, 1 LEV1, GH, MTL, INIT, IL1, IL2, ILG, LAY) C LC = 4 CALL TCONTL1 (TAUG, CL3CS(1,1,IG), CL3CF(1,1,IG), Q, DP, DIP, DT, 1 LC, INPT, MCONT, GH, IL1, IL2, ILG, LAY) C DO 300 K = LEV1, LAY DO 300 I = IL1, IL2 TAUG(I,K) = TAUG(I,K) + CL3CH4(IG) * RMCH4 * DP(I,K) 300 CONTINUE C GW = GW3(IG) C ELSE IF (IB .EQ. 4) THEN C C----------------------------------------------------------------------C C BAND3 (1100 - 1400 CM^-1), OVERLAPPING ABSORPTION OF H2O, N2O, C C CH4 AND CFC12. DIRECT MAPPING METHOD FOR H2O AND CH4 AND N2O C C CFC ARE CONSIDERED AS MINOR GASES C C----------------------------------------------------------------------C C NG2 = 4 NG3 = 5 CALL TLINE3 (TAUG, CL4H2O(1,1,IG), CL4CH4(1,1,IG), 1 CL4N2O(1,1,IG), Q, NG2, NG3, DP, DIP, DT, INPT, 2 LEV1, GH, MTL, IL1, IL2, ILG, LAY) C LC = 4 CALL TCONTL1 (TAUG, CL4CS(1,1,IG), CL4CF(1,1,IG), Q, DP, DIP, DT, 1 LC, INPT, MCONT, GH, IL1, IL2, ILG, LAY) C C----------------------------------------------------------------------C C SIMPLY ADD THE CFC EFFECT C C----------------------------------------------------------------------C C DO 400 K = LEV1, LAY DO 400 I = IL1, IL2 TAUG(I,K) = TAUG(I,K) + (CL4F12(IG) * RMF12 + 1 1037.3 * RMF113 + 1426.9 * RMF114) * DP(I,K) 400 CONTINUE C GW = GW4(IG) C ELSE IF (IB .EQ. 5) THEN C C----------------------------------------------------------------------C C BAND5 (980 - 1100 CM^-1), OVERLAPPING ABSORPTION OF H2O AND O3 C C DIRECT MAPPING METHOD. CO2 AND CFC ARE SIMPLY ADDED C C----------------------------------------------------------------------C C NG2 = 2 CALL TLINE2 (TAUG, CL5H2O(1,1,IG), CL5O3(1,1,IG), Q, O3, NG2, DP, 1 DIP, DT, INPT, LEV1, GH, MTL, IL1, IL2, ILG, LAY) C LC = 4 CALL TCONTL1 (TAUG, CL5CS(1,1,IG), CL5CF(1,1,IG), Q, DP, DIP, DT, 1 LC, INPT, MCONT, GH, IL1, IL2, ILG, LAY) C C----------------------------------------------------------------------C C SIMPLY ADD THE CO2 + CFC EFFECT C C SINCE THE INTERACTION OF CO2 AND H2O, Q(I,K) APPEARS IN CO2 C C EFFECT C C----------------------------------------------------------------------C C DO 500 K = LEV1, LAY DO 500 I = IL1, IL2 CRMCO2 = 2.3056E-04 * SQRT(RMCO2 * 1.E+04) TAUG(I,K) = TAUG(I,K) + ( (0.009 + 0.093 * Q(I,K) / (Q(I,K) + 1 2.1 * CRMCO2)) * RMCO2 + CL5F11(IG) * RMF11 + 2 CL5F12(IG) * RMF12 + 3 1687.4 * RMF113 + 2924.1 * RMF114 ) * DP(I,K) 500 CONTINUE C GW = GW5(IG) C ELSE IF (IB .EQ. 6) THEN C C----------------------------------------------------------------------C C BAND (800 - 980 CM^-1), NONGRAY GASEOUS ABSORPTION OF H2O. C C + CFC11 AND CFC12 C C----------------------------------------------------------------------C C NG2 = 7 NG3 = 8 CALL TLINE3 (TAUG, CL6H2O(1,1,IG), CL6F11(1,1,IG), CL6F12(1,1,IG), 1 Q, NG2, NG3, DP, DIP, DT, INPT, LEV1, GH, MTL, 2 IL1, IL2, ILG, LAY) C C----------------------------------------------------------------------C C SIMPLY ADD THE CO2 + CFC EFFECT C C----------------------------------------------------------------------C C DO 600 K = LEV1, LAY DO 600 I = IL1, IL2 TAUG(I,K) = TAUG(I,K) + ( (0.0074 + 0.0396 * Q(I,K) / 1 (Q(I,K) + 2.8 * RMCO2)) * RMCO2 + 2 1191.3 * RMF113 + 1098.2 * RMF114 ) * DP(I,K) 600 CONTINUE C IF (IG .EQ. 1) THEN LC = 4 CALL TCONTL1 (TAUG, CL6CS, CL6CF, Q, DP, DIP, DT, LC, INPT, 1 MCONT, GH, IL1, IL2, ILG, LAY) C ENDIF GW = GW6(IG) C ELSE IF (IB .EQ. 7) THEN C C----------------------------------------------------------------------C C BAND6 (540 - 800 CM^-1), OVERLAPPING ABSORPTION OF H2O AND CO2 C C EXACT MAPPING METHOD FOR H2O AND CO2, DIRECT MAPPING FOR N2O C C O3 EFFECT IS SIMPLY ADDED C C----------------------------------------------------------------------C C CALL TLINEHC (TAUG, CL7H2OU(1,1,IG), CL7H2OD(1,1,1,IG), 1 CL7CO2U(1,1,IG), CL7CO2D(1,1,1,IG), Q, DP, DIP, 2 DIR, DT, INPTR, INPT, LEV1, IL1, IL2, ILG, LAY) C CALL TCONTHL (TAUG, CL7CS(1,1,1,IG), CL7CF(1,1,1,IG), Q, DP, DIP, 1 DIR, DT, INPTR, INPT, MCONT, IL1, IL2, ILG, LAY) C C----------------------------------------------------------------------C C SIMPLY ADD THE O3 EFFECT C C----------------------------------------------------------------------C C DO 700 K = LEV1, LAY DO 700 I = IL1, IL2 CRMN2O = 2.0437 * 1.E-07 * SQRT(RMN2O * 1.E+07) TAUG(I,K) = TAUG(I,K) + (CL7O3(IG) * O3(I,K) + 1 CL7N2O(IG) * CRMN2O) * DP(I,K) 700 CONTINUE C GW = GW7(IG) C ELSE IF (IB .EQ. 8) THEN C C----------------------------------------------------------------------C C BAND (340 - 540 CM^-1), NONGRAY GASEOUS ABSORPTION OF H2O. C C----------------------------------------------------------------------C C NG = 1 INIT = 2 CALL TLINE1 (TAUG, CL8H2O(1,1,IG), Q, NG, DP, DIP, DT, INPT, 1 LEV1, GH, MTL, INIT, IL1, IL2, ILG, LAY) C IF (IG .LE. 4) THEN LC = 6 CALL TCONTL1 (TAUG, CL8CS(1,1,IG), CL8CF(1,1,IG), Q, DP, DIP, 1 DT, LC, INPT, MCONT, GH, IL1, IL2, ILG, LAY) ENDIF C GW = GW8(IG) C ELSE IF (IB .EQ. 9) THEN C C----------------------------------------------------------------------C C BAND (0 - 340 CM^-1), NONGRAY GASEOUS ABSORPTION OF H2O. C C----------------------------------------------------------------------C C NG = 1 INIT = 2 CALL TLINE1 (TAUG, CL9H2O(1,1,IG), Q, NG, DP, DIP, DT, INPT, 1 LEV1, GH, MTL, INIT, IL1, IL2, ILG, LAY) C LC = 6 CALL TCONTL1 (TAUG, CL9CS(1,1,IG), CL9CF(1,1,IG), Q, DP, DIP, DT, 1 LC, INPT, MCONT, GH, IL1, IL2, ILG, LAY) C GW = GW9(IG) C ENDIF C RETURN END SUBROUTINE GASOPTLGH (TAUG, GWGH, DP, IB, IG, O3, Q, INPT, MCONT, 1 DIR, DIP, DT, LEV1, GH, IL1, IL2, ILG, LAY) C C----------------------------------------------------------------------C C THE SAME AS GASOPTL BUT FOR INTERVALS CLOSE TO 1 IN THE C C ACCUMULATED PROBABILITY SPACE C C 1 = H2O C C 2 = O3 C C 3 = CO2 C C 4 = CH4 C C 5 = N2O C C 6 = O2 C C 7 = CFC11 C C 8 = CFC12 C C TLINE, ETC., DEAL WITH LINE ABSORPTION AND TCONTL AND TCONTHL C C DEAL WITH WATER VAPOR CONTINUUM C C C C TAUG: GASEOUS OPTICAL DEPTH C C DP: AIR MASS PATH FOR A MODEL LAYER (EXLAINED IN RADDRIV). C C O3: O3 MASS MIXING RATIO C C Q: WATER VAPOR MASS MIXING RATIO C C DIP: INTERPRETATION FACTOR FOR PRESSURE BETWEEN TWO C C NEIGHBORING STANDARD INPUT DATA PRESSURE LEVELS C C DT: LAYER TEMPERATURE - 250 K C C INPT: NUMBER OF THE LEVEL FOR THE STANDARD INPUT DATA PRESSURES C C----------------------------------------------------------------------C IMPLICIT REAL (A-H,O-Z), +INTEGER (I-N) C REAL TAUG(ILG,LAY) C REAL DP(ILG,LAY), O3(ILG,LAY), Q(ILG,LAY), DIR(ILG,LAY), 1 DIP(ILG,LAY), DT(ILG,LAY) INTEGER INPT(ILG,LAY) LOGICAL GH C COMMON /BANDL1GH/ GW1GH(5), CL1CO2GH(5,28,5) COMMON /BANDL2GH/ GW2GH(1), CL2H2OGH(5,28), 1 CL2CSGH(5,3), CL2CFGH(5,3) COMMON /BANDL3GH/ GW3GH(3), CL3H2OGH(5,28,3), 1 CL3CSGH(5,4), CL3CFGH(5,4) COMMON /BANDL4GH/ GW4GH(5), CL4H2OGH(5,28,5), CL4N2OGH(5,28,5), 1 CL4CH4GH(5,28,5) COMMON /BANDL5GH/ GW5GH(4), CL5H2OGH(5,28,4), CL5O3GH(5,28,4), 1 CL5CSGH(5,4,2), CL5CFGH(5,4,2) C (NO BAND 6 FOR GH) COMMON /BANDL7GH/ GW7GH(7), CL7H2OGH(5,28,4), CL7CO2GH(5,28,7), 1 CL7O3GH(2) COMMON /BANDL8GH/ GW8GH(3), CL8H2OGH(5,28,3) COMMON /BANDL9GH/ GW9GH(6), CL9H2OGH(5,28,6) DATA NTL /28/ C======================================================================= IF (IB .EQ. 1) THEN C C----------------------------------------------------------------------C C BAND (2500 - 2200 CM^-1), NONGRAY GASEOUS ABSORPTION OF CO2. C C----------------------------------------------------------------------C C NG = 3 INIT = 2 CALL TLINE1 (TAUG, CL1CO2GH(1,1,IG), Q, NG, DP, DIP, DT, INPT, 1 LEV1, GH, NTL, INIT, IL1, IL2, ILG, LAY) C GWGH = GW1GH(IG) C ELSE IF (IB .EQ. 2) THEN C C----------------------------------------------------------------------C C BAND (2200 - 1900 CM^-1), NONGRAY GASEOUS ABSORPTION OF H2O C C----------------------------------------------------------------------C C NG = 1 INIT = 2 CALL TLINE1 (TAUG, CL2H2OGH, Q, NG, DP, DIP, DT, INPT, LEV1, GH, 1 NTL, INIT, IL1, IL2, ILG, LAY) C LC = 3 CALL TCONTL1 (TAUG, CL2CSGH, CL2CFGH, Q, DP, DIP, DT, LC, INPT, 1 MCONT, GH, IL1, IL2, ILG, LAY) C GWGH = GW2GH(IG) C ELSE IF (IB .EQ. 3) THEN C C----------------------------------------------------------------------C C BAND (1900 - 1400 CM^-1), NONGRAY GASEOUS ABSORPTION OF H2O. C C----------------------------------------------------------------------C C NG = 1 INIT = 2 CALL TLINE1 (TAUG, CL3H2OGH(1,1,IG), Q, NG, DP, DIP, DT, INPT, 1 LEV1, GH, NTL, INIT, IL1, IL2, ILG, LAY) C IF (IG .EQ. 1) THEN LC = 4 CALL TCONTL1 (TAUG, CL3CSGH, CL3CFGH, Q, DP, DIP, DT, LC, INPT, 1 MCONT, GH, IL1, IL2, ILG, LAY) C ENDIF C GWGH = GW3GH(IG) C ELSE IF (IB .EQ. 4) THEN C C----------------------------------------------------------------------C C BAND3 (1100 - 1400 CM^-1), OVERLAPPING ABSORPTION OF H2O, N2O, C C AND CH4. DIRECT MAPPING METHOD FOR H2O AND CH4 AND N2O C C----------------------------------------------------------------------C C NG2 = 4 NG3 = 5 CALL TLINE3 (TAUG, CL4H2OGH(1,1,IG), CL4CH4GH(1,1,IG), 1 CL4N2OGH(1,1,IG), Q, NG2, NG3, DP, DIP, DT, INPT, 2 LEV1, GH, NTL, IL1, IL2, ILG, LAY) C GWGH = GW4GH(IG) C ELSE IF (IB .EQ. 5) THEN C C----------------------------------------------------------------------C C BAND5 (980 - 1100 CM^-1), OVERLAPPING ABSORPTION OF H2O AND O3 C C DIRECT MAPPING METHOD C C----------------------------------------------------------------------C C NG2 = 2 CALL TLINE2 (TAUG, CL5H2OGH(1,1,IG), CL5O3GH(1,1,IG), Q, O3, NG2, 1 DP, DIP, DT, INPT, LEV1, GH, NTL, IL1, IL2, ILG, LAY) C IF (IG .LE. 2) THEN LC = 4 CALL TCONTL1 (TAUG, CL5CSGH(1,1,IG), CL5CFGH(1,1,IG), Q, DP, 1 DIP, DT, LC, INPT, MCONT, GH, IL1, IL2, ILG, LAY) ENDIF C GWGH = GW5GH(IG) C C----------------------------------------------------------------------C C BAND (800 - 980 CM^-1), NO GH C C----------------------------------------------------------------------C C ELSE IF (IB .EQ. 7) THEN C C----------------------------------------------------------------------C C BAND6 (540 - 800 CM^-1), OVERLAPPING ABSORPTION OF H2O AND CO2 C C DIRECT MAPPING METHOD. FOR IG > 4, THE CONTRIBUTION BY H2O IS C C VERY SMALL. C C----------------------------------------------------------------------C C IF (IG .LE. 4) THEN NG2 = 3 CALL TLINE2 (TAUG, CL7H2OGH(1,1,IG), CL7CO2GH(1,1,IG), Q, O3, 1 NG2, DP, DIP, DT, INPT, LEV1, GH, NTL, 2 IL1, IL2, ILG, LAY) C----------------------------------------------------------------------C C SIMPLY ADD THE O3 EFFECT C C----------------------------------------------------------------------C C IF (IG .LE. 2) THEN DO 700 K = 1, LAY DO 700 I = IL1, IL2 TAUG(I,K) = TAUG(I,K) + CL7O3GH(IG) * O3(I,K) * DP(I,K) 700 CONTINUE ENDIF ELSE C NG = 3 INIT = 2 CALL TLINE1 (TAUG, CL7CO2GH(1,1,IG), Q, NG, DP, DIP, DT, INPT, 1 LEV1, GH, NTL, INIT, IL1, IL2, ILG, LAY) ENDIF C GWGH = GW7GH(IG) C ELSE IF (IB .EQ. 8) THEN C C----------------------------------------------------------------------C C BAND (340 - 540 CM^-1), NONGRAY GASEOUS ABSORPTION OF H2O. C C----------------------------------------------------------------------C C NG = 1 INIT = 2 CALL TLINE1 (TAUG, CL8H2OGH(1,1,IG), Q, NG, DP, DIP, DT, INPT, 1 LEV1, GH, NTL, INIT, IL1, IL2, ILG, LAY) C GWGH = GW8GH(IG) C ELSE IF (IB .EQ. 9) THEN C C----------------------------------------------------------------------C C BAND (0 - 340 CM^-1), NONGRAY GASEOUS ABSORPTION OF H2O. C C----------------------------------------------------------------------C C NG = 1 INIT = 2 CALL TLINE1 (TAUG, CL9H2OGH(1,1,IG), Q, NG, DP, DIP, DT, INPT, 1 LEV1, GH, NTL, INIT, IL1, IL2, ILG, LAY) C GWGH = GW9GH(IG) C ENDIF C RETURN END SUBROUTINE GASOPTS (TAUG, GW, DP, IB, IG, O3, Q, INPT, DIP, DT, 1 RMU3, LEV1, GH, IL1, IL2, ILG, LAY) C C----------------------------------------------------------------------C C CALCULATION OF THE OPTICAL DEPTHS DUE TO NONGRAY GASEOUS C C ABSORPTION FOR THE SOLAR, IN EACH LAYER FOR A GIVEN BAND IB AND C C CUMULATIVE PROBABILITY GW. C C RELATIVE SOLAR ENERGY IN EACH SOLAR BAND ARE C C BAND 1: 622.8483 C C BAND 1GH: 7.5917 C C BAND 2: 430.0919 C C BAND 2GH: 8.9036 C C BAND 3: 238.6979 C C BAND 3GH: 7.4453 C C BAND 4: 33.4129 C C BAND 4GH: 7.0384 C C C C TOTAL RELATIVE SOLAR ENERGY IN FROM 0.2 - 4 UM IS C C 1356.0300 W / M^2, PLUS 11.9096 W / M^2 IN 4 - 10 UM. C C TOTAL 1367.9396 W / M^2 C C C C MINOR GAS: C C 3 = CO2 C C 4 = CH4 C C 6 = O2 C C THIS SUBROUTINE ONLY CALCULATES TAUG BELOW 1 MB C C C C TAUG: GASEOUS OPTICAL DEPTH C C DP: AIR MASS PATH FOR A MODEL LAYER (EXLAINED IN RADDRIV). C C O3: O3 MASS MIXING RATIO C C Q: WATER VAPOR MASS MIXING RATIO C C DIP: INTERPRETATION FACTOR FOR PRESSURE BETWEEN TWO C C NEIGHBORING STANDARD INPUT DATA PRESSURE LEVELS C C DT: LAYER TEMPERATURE - 250 K C C INPT: NUMBER OF THE LEVEL FOR THE STANDARD INPUT DATA PRESSURES C C RMU3: A FACTOR OF SOLAR ZENITH ANGLE, GIVEN IN RADDRIV C C----------------------------------------------------------------------C IMPLICIT REAL (A-H,O-Z), +INTEGER (I-N) C REAL TAUG(ILG,LAY) C REAL DP(ILG,LAY), O3(ILG,LAY), Q(ILG,LAY), DIP(ILG,LAY), 1 DT(ILG,LAY), RMU3(ILG), S(ILG,LAY) INTEGER INPT(ILG,LAY) LOGICAL GH C COMMON /BANDS1/ GW1(6), CS1O3(3,6), CS1O21 COMMON /BANDS2/ GW2(4), CS2H2O(5,18,4), CS2O2(5,18,2), CS2O3(4) COMMON /BANDS3/ GW3(6), CS3H2O(5,18,6), CS3CO2(5,18,6), 1 CS3CH4(5,18,2) COMMON /BANDS4/ GW4(4), CS4H2O(5,18,4), CS4CO2(5,18,4), 1 CS4CH4(5,18,2) C COMMON /TRACE / RMCO2, RMCH4, RMN2O, RMO2, RMF11, RMF12, RMF113, 1 RMF114 C C * NUMBER OF VERTICAL LEVELS IN ABSORBER PRESSURE-BASED COEFFICIENT C * ARRAY ("M" REFERENCES NON-SATURATED BANDS ACTIVE BELOW 1 MB ONLY). C DATA MTL /18/ C======================================================================= IF (IB .EQ. 1) THEN C C----------------------------------------------------------------------C C BAND (14500 - 50000 CM^-1), NONGRAY GASEOUS ABSORPTION OF O3, C C H2O AND O2. C C RELATIVE SOLAR ENERGY 630.4401 WM^-2. C C IG9 (50000-43000) UVC 1.21100 (W M^-2)C C IG8 (43000-37500) UVC 3.17570 C C IG7 (37500-35700) UVC 3.20501 C C UVC ALL INCLUDED IN GH PART C C C C IG6 (35700-34200) UVB 4.73084 C C IG5 (34200-32185) UVB 10.14919 C C IG4 (32185-31250) UVB J VALUE: 32185 CM^-1 6.70594 C C C C IG3 (31250-25000) UVA 83.43346 C C C C IG2 (25000-19000) PAR 236.97212 C C IG1 (19000-14500) PAR 280.85678 C C PAR: PHOTOSYNTHETIC ACTIVE RADIATION C C NOTE THE SPECTRAL STRUCTURE IS SLIGHTLY DIFF FROM LI & BARKER C C (2005 JAS) C C C C THE EFFECT OF H2O AND O2 IS ADDED WITH SIMPLE METHOD C C----------------------------------------------------------------------C C IF (IG .EQ. 1) THEN DO 110 K = LEV1, LAY DO 110 I = IL1, IL2 IF (INPT(1,K) .LT. 950) THEN M = INPT(I,K) ELSE M = INPT(I,K) - 1000 ENDIF C IF (M .LT. 7) THEN X = (CS1O21 - 0.881E-05 * RMU3(I)) * RMO2 ELSE X = (0.108E-04 - 0.881E-05 * RMU3(I)) * RMO2 ENDIF C IF (M .LT. 15) THEN X = X + (0.199E-02 - 0.952E-03 * RMU3(I)) * Q(I,K) ELSE X = X + (0.208E-02 - 0.952E-03 * RMU3(I)) * Q(I,K) ENDIF C DTO3 = DT(I,K) + 23.13 TAUG(I,K) = ((CS1O3(1,IG) + DTO3 * (CS1O3(2,IG) + 1 DTO3 * CS1O3(3,IG))) * O3(I,K) + X) * DP(I,K) 110 CONTINUE ELSE DO 120 K = LEV1, LAY DO 120 I = IL1, IL2 DTO3 = DT(I,K) + 23.13 TAUG(I,K) = (CS1O3(1,IG) + DTO3 * (CS1O3(2,IG) + 1 DTO3 * CS1O3(3,IG))) * O3(I,K) * DP(I,K) 120 CONTINUE ENDIF C GW = GW1(IG) C ELSE IF (IB .EQ. 2) THEN C C----------------------------------------------------------------------C C BAND (8400 - 14500 CM^-1), NONGRAY GASEOUS ABSORPTION OF H2O, C C O2 AND O3 C C RELATIVE SOLAR ENERGY 430.0919 W M^-2 C C----------------------------------------------------------------------C C IF (IG .LE. 2) THEN NG2 = 6 CALL TLINE2 (TAUG, CS2H2O(1,1,IG), CS2O2(1,1,IG), Q, O3, NG2, 1 DP, DIP, DT, INPT, LEV1, GH, MTL, 2 IL1, IL2, ILG, LAY) ELSE NG = 1 INIT = 2 CALL TLINE1 (TAUG, CS2H2O(1,1,IG), Q, NG, DP, DIP, DT, INPT, 1 LEV1, GH, MTL, INIT, IL1, IL2, ILG, LAY) ENDIF C C----------------------------------------------------------------------C C SIMPLY ADD O3 EFFECT C C----------------------------------------------------------------------C C DO 200 K = LEV1, LAY DO 200 I = IL1, IL2 TAUG(I,K) = TAUG(I,K) + CS2O3(IG) * O3(I,K) * DP(I,K) 200 CONTINUE C GW = GW2(IG) C ELSE IF (IB .EQ. 3) THEN C C----------------------------------------------------------------------C C BAND (4200 - 8400 CM^-1), NONGRAY GASEOUS ABSORPTION OF H2O, CO2 C C AND CH4 C C RELATIVE SOLAR ENERGY 238.6979 W M^-2 C C----------------------------------------------------------------------C C IF (IG .LE. 2) THEN NG2 = 3 NG3 = 4 CALL TLINE3 (TAUG, CS3H2O(1,1,IG), CS3CO2(1,1,IG), 1 CS3CH4(1,1,IG), Q, NG2, NG3, DP, DIP, DT, INPT, 2 LEV1, GH, MTL, IL1, IL2, ILG, LAY) ELSE NG2 = 3 CALL TLINE2 (TAUG, CS3H2O(1,1,IG), CS3CO2(1,1,IG), Q, O3, 1 NG2, DP, DIP, DT, INPT, LEV1, GH, MTL, 2 IL1, IL2, ILG, LAY) ENDIF C GW = GW3(IG) C ELSE IF (IB .EQ. 4) THEN C C----------------------------------------------------------------------C C BAND (2500 - 4200 CM^-1), NONGRAY GASEOUS ABSORPTION OF H2O C C AND CO2 C C RELATIVE SOLAR ENERGY 33.4129 W M^-2 C C----------------------------------------------------------------------C C IF (IG .LE. 2) THEN NG2 = 3 NG3 = 4 CALL TLINE3 (TAUG, CS4H2O(1,1,IG), CS4CO2(1,1,IG), 1 CS4CH4(1,1,IG), Q, NG2, NG3, DP, DIP, DT, INPT, 2 LEV1, GH, MTL, IL1, IL2, ILG, LAY) ELSE NG2 = 3 CALL TLINE2 (TAUG, CS4H2O(1,1,IG), CS4CO2(1,1,IG), Q, O3, 1 NG2, DP, DIP, DT, INPT, LEV1, GH, MTL, 2 IL1, IL2, ILG, LAY) ENDIF C GW = GW4(IG) C ENDIF C RETURN END SUBROUTINE LATTENU (ATTEN, IB, IG, O3, Q, DP, DIP, DT, DT0, INPT, 1 IL1, IL2, ILG) C C----------------------------------------------------------------------C C CALCULATION OF THE ATTENUATION FOR THE DOWNWARD FLUX ABOVE THE C C MODEL TOP LEVEL. SINCE THE TEMPERATURE AT 0.005 MB IS UNKNOWN WE C C ASSUME IT IS THE SAME AS THAT OF MODEL TOP LEVEL C C C C ATTEN: FOR SOLAR: THE ATTENUATION FACTOR FOR DOWNWARD FLUX FROM C C TOA TO THE MODEL TOP LEVEL; FOR LONGWAVE: THE OPTICAL C C / DIFFUSE FACTOR C C DP: HERE DP IS ONLY THE PRESSURE DIFFERENCE, DIFFERENT FROM C C THAT DEFINED IN RADDRIV. SO THERE IS A FACTOR 1.02 C C O3: O3 MASS MIXING RATIO C C Q: WATER VAPOR MASS MIXING RATIO C C DIP: INTERPRETATION FACTOR FOR PRESSURE BETWEEN TWO C C NEIGHBORING STANDARD INPUT DATA PRESSURE LEVELS C C DT: LAYER TEMPERATURE - 250 K C C DT0: TEMPERATURE IN MOON LAYER - 250 K C C----------------------------------------------------------------------C IMPLICIT REAL (A-H,O-Z), +INTEGER (I-N) C REAL ATTEN(ILG), O3(ILG), Q(ILG), DP(ILG), DIP(ILG), DT(ILG), 1 DT0(ILG), RMU(ILG) INTEGER INPT(ILG) C COMMON /BANDL1GH/ GW1GH(5), CL1CO2GH(5,28,5) COMMON /BANDL3GH/ GW3GH(3), CL3H2OGH(5,28,3), CL3CSGH(5,4), 1 CL3CFGH(5,4) COMMON /BANDL5GH/ GW5GH(4), CL5H2OGH(5,28,4), CL5O3GH(5,28,4), 1 CL5CSGH(5,4,2), CL5CFGH(5,4,2) COMMON /BANDL7GH/ GW7GH(7), CL7H2OGH(5,28,4), CL7CO2GH(5,28,7), 1 CL7O3GH(2) COMMON /BANDL8GH/ GW8GH(3), CL8H2OGH(5,28,3) COMMON /BANDL9GH/ GW9GH(6), CL9H2OGH(5,28,6) C C * NUMBER OF VERTICAL LEVELS IN ABSORBER PRESSURE-BASED COEFFICIENT C * ARRAY. C DATA NTL /28/ C======================================================================= IF (IB .EQ. 1) THEN NG = 3 ISL = 2 CALL ATTENUE (ATTEN, CL1CO2GH(1,1,IG), O3, Q, DP, DIP, DT, DT0, 1 RMU, INPT, NTL, NG, ISL, IL1, IL2, ILG) C ELSE IF (IB .EQ. 2) THEN DO 200 I = IL1, IL2 ATTEN(I) = 0.0 200 CONTINUE C ELSE IF (IB .EQ. 3) THEN NG = 1 ISL = 2 CALL ATTENUE (ATTEN, CL3H2OGH(1,1,IG), O3, Q, DP, DIP, DT, DT0, 1 RMU, INPT, NTL, NG, ISL, IL1, IL2, ILG) C ELSE IF (IB .EQ. 4) THEN DO 400 I = IL1, IL2 ATTEN(I) = 0.0 400 CONTINUE C ELSE IF (IB .EQ. 5) THEN NG = 2 ISL = 2 CALL ATTENUE (ATTEN, CL5O3GH(1,1,IG), O3, Q, DP, DIP, DT, DT0, 1 RMU, INPT, NTL, NG, ISL, IL1, IL2, ILG) C ELSE IF (IB .EQ. 7) THEN NG = 3 ISL = 2 CALL ATTENUE (ATTEN, CL7CO2GH(1,1,IG), O3, Q, DP, DIP, DT, DT0, 1 RMU, INPT, NTL, NG, ISL, IL1, IL2, ILG) C ELSE IF (IB .EQ. 8) THEN NG = 1 ISL = 2 CALL ATTENUE (ATTEN, CL8H2OGH(1,1,IG), O3, Q, DP, DIP, DT, DT0, 1 RMU, INPT, NTL, NG, ISL, IL1, IL2, ILG) C ELSE IF (IB .EQ. 9) THEN NG = 1 ISL = 2 CALL ATTENUE (ATTEN, CL9H2OGH(1,1,IG), O3, Q, DP, DIP, DT, DT0, 1 RMU, INPT, NTL, NG, ISL, IL1, IL2, ILG) C ENDIF C RETURN END SUBROUTINE PLANCK (BF, BS, URBF, BF0, URBF0, DBF, TFULL, GT, IB, 1 IL1, IL2, ILG, LAY, LEV) C C----------------------------------------------------------------------C C CALCULATION OF PLANCK FUNCTION IN VALID RANGE 120 - 360 K C C C C BF: BLACKBODY INTENSITY INTEGRATED OVER EACH BAND AT EACH C C LEVEL IN UNITS W / M^2 / SR. C C BS: THE BLACKBODY INTENSITY AT THE SURFACE. C C BF0: THE BLACKBODY INTENSITY AT THE TOA (ASSUME 210 K). C C TFULL: TEMPERATURE AT EACH LEVEL C C GT: TEMPERATURE AT GROUND C C U: 1 / DIFFUSIVITY FACTOR C C URBF: U TIMES THE DIFFERENCE OF LOG(BF) FOR TWO NEIGHBOR LEVELS C C USED FOR EXPONENTIAL SOURCE FUNCTION (LI, 2002 JAS P3302) C C URBF0: U TIMES THE DIFFERENCE OF LOG(BF) FOR TOA AND LEVEL 1 C C DBF: DIFFERENCE OF BF FOR TWO NEIGHBOR LEVELS USED FOR LINEAR C C SOURCE FUNCTION (LI, 2002 JAS P3302) C C C C 0.0040816327 = 1 / 245 (245 THE STANDARD TEMPERATURE FOR POLY. C C FIT) C C----------------------------------------------------------------------C IMPLICIT REAL (A-H,O-Z), +INTEGER (I-N) C REAL BF(ILG,LEV), BS(ILG), BF0(ILG), URBF(ILG,LAY), URBF0(ILG), 1 DBF(ILG,LAY), TFULL(ILG,LEV), GT(ILG), XX(ILG,LAY) REAL XP(6,9) DATA U / 0.60653066 /, RTSTAND / 0.0040816327 / DATA ((XP(I,J), I = 1, 6), J = 1, 9) / 1 -2.9876423E+00, 1.3660089E+01, -1.2944461E+01, 1 1.1775748E+01, -1.9236798E+01, 2.3584435E+01, 2 -1.6414103E+00, 1.1898535E+01, -1.1262182E+01, 2 1.0236863E+01, -1.6677772E+01, 2.0423136E+01, 3 6.5215205E-01, 9.2657366E+00, -8.5872301E+00, 3 7.6765044E+00, -1.2287254E+01, 1.4990547E+01, 4 1.5442143E+00, 7.2253228E+00, -6.7811515E+00, 4 6.1572299E+00, -9.8725011E+00, 1.1997278E+01, 5 1.2777580E+00, 6.1257638E+00, -5.7906013E+00, 5 5.3296782E+00, -8.7529282E+00, 1.0741367E+01, 6 2.1005257E+00, 5.2376301E+00, -4.8915631E+00, 6 4.5030997E+00, -7.3199981E+00, 8.9204038E+00, 7 2.9091223E+00, 3.9860795E+00, -3.5829565E+00, 7 3.2692193E+00, -5.1799711E+00, 6.2157752E+00, 8 2.7856424E+00, 2.8179582E+00, -2.3780464E+00, 8 2.1432949E+00, -3.4540206E+00, 4.1814100E+00, 9 2.4623332E+00, 1.8731841E+00, -1.3659538E+00, 9 1.1484948E+00, -1.5975564E+00, 1.7791135E+00 / C DO 100 I = IL1, IL2 DT = GT(I) * RTSTAND - 1.0 BS(I) = EXP( XP(1,IB) + 1 DT * (XP(2,IB) + DT * (XP(3,IB) + 2 DT * (XP(4,IB) + DT * (XP(5,IB) + 3 DT * XP(6,IB) )))) ) C DT = (2. * TFULL(I,1) - TFULL(I,2)) * RTSTAND - 1.0 XXT = XP(1,IB) + DT * (XP(2,IB) + DT * (XP(3,IB) + 2 DT * (XP(4,IB) + DT * (XP(5,IB) + 3 DT * XP(6,IB) )))) C DT = TFULL(I,1) * RTSTAND - 1.0 XX0 = XP(1,IB) + DT * (XP(2,IB) + DT * (XP(3,IB) + 1 DT * (XP(4,IB) + DT * (XP(5,IB) + 2 DT * XP(6,IB) )))) DT = TFULL(I,2) * RTSTAND - 1. XX(I,1) = XP(1,IB) + DT * (XP(2,IB) + DT * (XP(3,IB) + 1 DT * (XP(4,IB) + DT * (XP(5,IB) + 2 DT * XP(6,IB) )))) C BF0(I) = EXP(XXT) URBF0(I) = U * (XX0 - XXT) BF(I,1) = EXP(XX0) BF(I,2) = EXP(XX(I,1)) DBF(I,1) = BF(I,2) - BF(I,1) URBF(I,1) = U * (XX(I,1) - XX0) 100 CONTINUE C DO 205 K = 2, LAY KM1 = K - 1 KP1 = K + 1 DO 200 I = IL1, IL2 DT = TFULL(I,KP1) * RTSTAND - 1.0 XX(I,K) = XP(1,IB) + DT * (XP(2,IB) + DT * (XP(3,IB) + 1 DT * (XP(4,IB) + DT * (XP(5,IB) + 2 DT * XP(6,IB) )))) C BF(I,KP1) = EXP(XX(I,K)) DBF(I,K) = BF(I,KP1) - BF(I,K) URBF(I,K) = U * (XX(I,K) - XX(I,KM1)) 200 CONTINUE 205 CONTINUE C RETURN END SUBROUTINE PREINTP (INPT, INPTM, DIP, DIP0, P, IL1, IL2, ILG, 1 LAY) C C----------------------------------------------------------------------C C THIS SUBROUTINE DETERMINES THE PRESSURE INTERPRETATION POINTS C C C C INPT: NUMBER OF THE LEVEL FOR THE STANDARD INPUT DATA PRESSURES C C (FOR 28 INTERPRETATION LEVELS) C C INPTM: NUMBER OF THE LEVEL FOR THE STANDARD INPUT DATA PRESSURES C C (FOR 18 INTERPRETATION LEVELS BELOW 1 MB) C C P: PRESSURE AT MIDDLE OF EACH LAYER C C DIP: INTERPRETATION FACTOR FOR PRESSURE BETWEEN TWO C C NEIGHBORING STANDARD INPUT DATA PRESSURE LEVELS C C DIP0: INTERPRETATION FACTOR FOR PRESSURE ABOVE MODEL TOP LEVEL C C----------------------------------------------------------------------C IMPLICIT REAL (A-H,O-Z), +INTEGER (I-N) C REAL DIP(ILG,LAY), DIP0(ILG) REAL P(ILG,LAY), STANDP(28) INTEGER INPT(ILG,LAY), INPTM(ILG,LAY) C DATA STANDP / 5.0000E-04, 1.4604E-03, 2.9621E-03, 6.0080E-03, 1 1.2186E-02, 2.4717E-02, 5.0134E-02, 1.0169E-01, 2 2.0625E-01, 4.1834E-01, 3 1.2180, 1.8075, 2.6824, 3.9806, 5.9072, 8.7662, 4 13.0091, 19.3054, 28.6491, 42.5151, 63.0922, 5 93.6284, 138.9440, 206.1920, 305.9876, 454.0837, 6 673.8573, 1000.0000 / C JENDS = 27 DO 600 K = 1, LAY DO 100 I = IL1, IL2 INPT(I,K) = 0 100 CONTINUE C DO 200 J = 1, JENDS DO 200 I = IL1, IL2 IF (P(I,K) .GT. STANDP(J)) THEN INPT(I,K) = INPT(I,K) + 1 ENDIF 200 CONTINUE C C----------------------------------------------------------------------C C CALCULATE ARRAYS DIP AND DIT REQUIRED LATER FOR GASOPT ROUTINES. C C ALSO, SET VALUES OF INPT FOR A GIVEN LEVEL TO BE NEGATIVE IF ALL C C LONGITUDE VALUES ARE THE SAME. THIS IS ALSO USED IN THE GASOPT C C ROUTINES TO IMPROVE PERFORMANCE BY ELIMINATING THE UNNECESSARY C C INDIRECT-ADDRESSING IF INPL IS NEGATIVE FOR A GIVEN LEVEL. C C NOTE THAT FOR INPT=0, IT IS ASSUMED THAT LEVELS ARE MORE OR C C LESS HORIZONTAL IN PRESSURE, SO SCALING BY -1 STILL PRESERVES C C THE VALUE OF ZERO AND NO INDIRECT-ADDRESSING IS DONE IN THE C C GASOPT ROUTINES. C C----------------------------------------------------------------------C C INPDIF = 0 INP1 = INPT(1,K) DO 300 I = IL1, IL2 IF (INPT(I,K) .NE. INP1) INPDIF = 1 M = INPT(I,K) N = M + 1 IF (M .GT. 0) THEN DIP(I,K) = (P(I,K) - STANDP(M)) / (STANDP(N) - STANDP(M)) ELSE DIP(I,K) = P(I,K) / STANDP(1) ENDIF 300 CONTINUE C IF (INPDIF .EQ. 0) THEN DO 400 I = IL1, IL2 INPT(I,K) = INPT(I,K) + 1000 400 CONTINUE ENDIF C DO 500 I = IL1, IL2 INPTM(I,K) = INPT(I,K) - 10 500 CONTINUE 600 CONTINUE C C----------------------------------------------------------------------C C INTERPRETATION FACTOR FOR LATTENU AND SATTENU (ATTENUATION ABOVE C C MODEL TOP C C----------------------------------------------------------------------C C PM = P(1,1) DO 700 I = IL1, IL2 PM = MIN (PM, P(I,1)) 700 CONTINUE C IF (PM .LE. 0.0005) THEN DO 800 I = IL1, IL2 DIP0(I) = 0.0 800 CONTINUE ELSE DO 900 I = IL1, IL2 P0 = P(I,1) * P(I,1) / P(I,2) X = SQRT (P0 * P(I,1)) DIP0(I) = (X - P(I,1)) / (P0 - P(I,1)) 900 CONTINUE ENDIF C RETURN END SUBROUTINE PREINTR (INPR, DIR, Q, IL1, IL2, ILG, LAY) C C----------------------------------------------------------------------C C THIS SUBROUTINE DETERMINES THE INTERPRETION POINTS FOR THE RATIO C C OF H2O AND CO2. C C C C INPR: NUMBER OF THE RATIO LEVEL FOR THE STANDARD 5 RATIOS C C DIR: INTERPRETATION FACTOR FOR MASS RATIO OF H2O / CO2 C C BETWEEN TWO NEIGHBORING STANDARD INPUT RATIOS C C Q: WATER VAPOR MASS MIXING RATIO C C RHC: THE RATIO OF THE H2O MASS MIXING TO CO2 MASS MIXING C C----------------------------------------------------------------------C IMPLICIT REAL (A-H,O-Z), +INTEGER (I-N) C REAL DIR(ILG,LAY), Q(ILG,LAY), RHC(ILG,LAY), STANDR(5) INTEGER INPR(ILG,LAY) C COMMON /TRACE / RMCO2, RMCH4, RMN2O, RMO2, RMF11, RMF12, RMF113, 1 RMF114 C DATA STANDR / .06, .24, 1., 4., 16. / C======================================================================= RRMCO2 = 1.0 / (RMCO2 + 1.E-10) JENDR = 5 DO 400 K = 1, LAY C DO 100 I = IL1, IL2 INPR(I,K) = 0 RHC(I,K) = Q(I,K) * RRMCO2 100 CONTINUE C DO 200 J = 1, JENDR DO 200 I = IL1, IL2 IF (RHC(I,K) .GT. STANDR(J)) THEN INPR(I,K) = INPR(I,K) + 1 ENDIF 200 CONTINUE C DO 300 I = IL1, IL2 L = INPR(I,K) LP1 = L + 1 IF (L .GE. 1 .AND. L .LT. 5) THEN DIR(I,K) = (RHC(I,K) - STANDR(L)) / 1 (STANDR(LP1) - STANDR(L)) ELSE C C----------------------------------------------------------------------C C DIR IS NOT USED WITH VALUES OF {0,5} IN TLINEHC, BUT WE C C INITIALIZE HERE TO AVOID PROBLEMS WITH NaN WHEN USED C C IN MULTITASKING MODE. C C----------------------------------------------------------------------C C DIR(I,K) = 0.0 ENDIF 300 CONTINUE C 400 CONTINUE C RETURN END SUBROUTINE RAYLEI (TAUR, IB, DP, IL1, IL2, ILG, LAY) C C----------------------------------------------------------------------C C RAYLEIGH SCATTERING FOR BANDS2-BANDS4, NEAR INFRARED REGION C C C C TAUR: RAYLEIGH OPTICAL DEPTH C C DP: AIR MASS PATH FOR A MODEL LAYER (EXLAINED IN RADDRIV). C C----------------------------------------------------------------------C IMPLICIT REAL (A-H,O-Z), +INTEGER (I-N) C REAL RI(3), TAUR(ILG,LAY), DP(ILG,LAY) DATA RI / .16305E-04, .17997E-05, .13586E-06 / C======================================================================= IBM1 = IB - 1 DO 100 K = 1, LAY DO 100 I = IL1, IL2 TAUR(I,K) = RI(IBM1) * DP(I,K) 100 CONTINUE C RETURN END SUBROUTINE RAYLEV (TAUR, IG, DP, RMU3, IL1, IL2, ILG, LAY) C C----------------------------------------------------------------------C C RAYLEIGH SCATTERING FOR EACH SUB-BAND IN BANDS1, VISIBLE REGION C C TAUR IS THE OPTICAL DEPTH RAYLEIGH SCATTERING FOR A GIVEN LAYER C C FOR UVC (35700 - 50000 CM^-1), SINCE THE OPTICAL DEPTH OF O3 AND C C O2 ARE VERY LARGE, RAYLEIGH SCATTERING EFFECT IS NEGLECTED, IT C C IS SHOWN EVEN FOR 10% O3 AMOUNT OF THE STANDARD ATMO, THE C C RAYLEIGH SCATTERING FOR UVC STILL CAN BE NEGLECTED. C C FOR PAR AND UVA, SINCE THEIR SPECTRAL RANGES ARE VERY WIDE, SMALLC C ERRORS COULD OCCUR FOR LARGE ZENITH ANGLE, SLIGHTLY ADJUSTMENT C C IS NEEDED, THIS DOES MEAN THE RAYLEIGH OPTICAL DEPTH IS RELATED C C SOLAR ZENITH ANGLE FOR MULTIPLE SCATTERING PROCESS IN SWTRAN. C C C C TAUR: RAYLEIGH OPTICAL DEPTH C C DP: AIR MASS PATH FOR A MODEL LAYER (EXLAINED IN RADDRIV). C C RMU3: A FACTOR OF SOLAR ZENITH ANGLE, GIVEN IN RADDRIV C C----------------------------------------------------------------------C IMPLICIT REAL (A-H,O-Z), +INTEGER (I-N) C REAL RI0(6), RI2(3), TAUR(ILG,LAY), DP(ILG,LAY), RMU3(ILG) C DATA RI0 / .67758E-04, .19425E-03, .52145E-03, .88082E-03, 1 .10541E-02, .12835E-02 / DATA RI2 / .28000E-05, .21300E-04, .36000E-04 / C======================================================================= IF (IG .LE. 3) THEN DO 100 K = 1, LAY DO 100 I = IL1, IL2 TAUR(I,K) = (RI0(IG) - RI2(IG) * RMU3(I)) * DP(I,K) 100 CONTINUE ELSE DO 200 K = 1, LAY DO 200 I = IL1, IL2 TAUR(I,K) = RI0(IG) * DP(I,K) 200 CONTINUE ENDIF C RETURN END SUBROUTINE SATTENU (ATTEN, IB, IG, RMU, O3, Q, DP, DIP, DT, DT0, 1 INPT, GH, IL1, IL2, ILG) C C----------------------------------------------------------------------C C CALCULATION OF SOLAR ATTENUATION ABOVE THE MODEL TOP LEVEL. FOR C C BAND1 ONLY O3 AND O2 ARE CONSIDERED, THE CONTRIBUTION OF OTHER C C GASES IS SMALL. FOR BAND 3 AND 4, CO2 IS CONSIDERED FOR GH C C C C ATTEN: ATTENUATION FACTOR FOR DOWNWARD FLUX FROM TOA TO THE C C MODEL TOP LEVEL C C O3: O3 MASS MIXING RATIO C C Q: WATER VAPOR MASS MIXING RATIO C C DP: HERE DP IS ONLY THE PRESSURE DIFFERENCE, DIFFERENT FROM C C THAT DEFINED IN RADDRIV. SO THERE IS A FACTOR 1.02 C C DIP: INTERPRETATION FACTOR FOR PRESSURE C C DT: LAYER TEMPERATURE - 250 K C C DT0: TEMPERATURE IN MOON LAYER - 250 K C C----------------------------------------------------------------------C IMPLICIT REAL (A-H,O-Z), +INTEGER (I-N) C REAL ATTEN(ILG), RMU(ILG), O3(ILG), Q(ILG), DP(ILG), DIP(ILG), 1 DT(ILG), DT0(ILG) INTEGER INPT(ILG) LOGICAL GH C COMMON /TRACE / RMCO2, RMCH4, RMN2O, RMO2, RMF11, RMF12, RMF113, 1 RMF114 COMMON /BANDS1/ GWS1(6), CS1O3(3,6), CS1O21 C COMMON /BANDS1GH/ GWS1GH(3), CS1O3GH(3,3), CS1O2GH3 COMMON /BANDS2GH/ GWS2GH(4), CS2H2OGH(5,28), CS2O2GH(5,28,3) COMMON /BANDS3GH/ GWS3GH(4), CS3H2OGH(5,28,2), CS3CO2GH(5,28,4) COMMON /BANDS4GH/ GWS4GH(9), CS4H2OGH(5,28,6), CS4CO2GH(5,28,6), 1 CS4CH4GH(5,28) C C * NUMBER OF VERTICAL LEVELS IN ABSORBER PRESSURE-BASED COEFFICIENT C * ARRAY. C DATA NTL /28/ C======================================================================= IF (IB .EQ. 1) THEN IF (GH) THEN IF (IG .EQ. 3) THEN DO 100 I = IL1, IL2 DTO3 = DT(I) + 23.13 TAU = 1.02 * ((CS1O3GH(1,IG) + DTO3 * 1 (CS1O3GH(2,IG) + DTO3 * CS1O3GH(3,IG))) * 2 O3(I) + CS1O2GH3 * RMO2) * DP(I) ATTEN(I) = EXP( - TAU / RMU(I)) 100 CONTINUE ELSE DO 110 I = IL1, IL2 DTO3 = DT(I) + 23.13 TAU = 1.02 * (CS1O3GH(1,IG) + DTO3 * 1 (CS1O3GH(2,IG) + DTO3 * CS1O3GH(3,IG))) * 2 O3(I) * DP(I) ATTEN(I) = EXP( - TAU / RMU(I)) 110 CONTINUE ENDIF ELSE C IF (IG .EQ. 1) THEN DO 120 I = IL1, IL2 DTO3 = DT(I) + 23.13 TAU = 1.02 * ((CS1O3(1,IG) + DTO3 * (CS1O3(2,IG) + 1 DTO3 * CS1O3(3,IG))) * O3(I) + 2 CS1O21 * RMO2) * DP(I) ATTEN(I) = EXP( - TAU / RMU(I)) 120 CONTINUE ELSE DO 130 I = IL1, IL2 DTO3 = DT(I) + 23.13 TAU = 1.02 * (CS1O3(1,IG) + DTO3 * (CS1O3(2,IG) + 1 DTO3 * CS1O3(3,IG))) * O3(I) * DP(I) ATTEN(I) = EXP( - TAU / RMU(I)) 130 CONTINUE ENDIF ENDIF C ELSE IF (IB .EQ. 2) THEN IF (IG .EQ. 1) THEN DO 200 I = IL1, IL2 ATTEN(I) = 1.0 200 CONTINUE ELSE NG = 6 IM = IG - 1 ISL = 1 CALL ATTENUE (ATTEN, CS2O2GH(1,1,IM), O3, Q, DP, DIP, DT, 1 DT0, RMU, INPT, NTL, NG, ISL, IL1, IL2, ILG) ENDIF C ELSE IF (IB .EQ. 3) THEN NG = 3 ISL = 1 CALL ATTENUE (ATTEN, CS3CO2GH(1,1,IG), O3, Q, DP, DIP, DT, DT0, 1 RMU, INPT, NTL, NG, ISL, IL1, IL2, ILG) C ELSE IF (IB .EQ. 4) THEN NG = 3 IF (IG .NE. 4 .AND. IG .NE. 6 .AND. IG .NE. 8) THEN IF (IG .LE. 3) IM = IG IF (IG .EQ. 5) IM = IG - 1 IF (IG .EQ. 7) IM = IG - 2 IF (IG .EQ. 9) IM = IG - 3 ISL = 1 CALL ATTENUE (ATTEN, CS4CO2GH(1,1,IM), O3, Q, DP, DIP, DT, 1 DT0, RMU, INPT, NTL, NG, ISL, IL1, IL2, ILG) ELSE IF (IG .EQ. 4) THEN NG = 4 CALL ATTENUE (ATTEN, CS4CH4GH, O3, Q, DP, DIP, DT, DT0, RMU, 1 INPT, NTL, NG, 1, IL1, IL2, ILG) ELSE DO 400 I = IL1, IL2 ATTEN(I) = 1.0 400 CONTINUE ENDIF ENDIF C RETURN END SUBROUTINE STRANDNGH (TRAN, GWGH, ATTEN, TAUA, TAUOMA, TAUCS, 1 TAUOMC, CLD, RMU, DP, O3, Q, IB, IG, INPT, 2 DIP, DT, LEV1, GH, CUT, 3 IL1, IL2, ILG, LAY, LEV) C C----------------------------------------------------------------------C C CALCULATION OF THE DOWNWARD SOLAR FLUX UNDER THE CONDITION THAT C C THE EXTINCTION COEFFICIENT OF GAS IS VERY LARGE, THE SCATTERING C C EFFECTS CAN BE NEGLECTED. THE CLOUD OPTICAL DEPTH IS MUCH SMALLERC C THAN THE GASEOUS OPTICAL DEPTH, THE CLOUD EFFECT IS VERY SMALL C C AND BE TREATED SIMPLY C C C C HRS: SOLAR HEATING RATE (K / SEC) C C TRAN: DOWNWARD FLUX C C ATTEN: ATTENUATION FACTOR FOR DOWNWARD FLUX FROM TOA TO THE C C MODEL TOP LEVEL C C TAUCS: CLOUD OPTICAL DEPTH C C CLD: CLOUD FRACTION C C RMU: COS OF SOLAR ZENITH ANGLE C C DP: AIR MASS PATH FOR A MODEL LAYER (EXLAINED IN RADDRIV). C C O3: O3 MASS MIXING RATIO C C Q: WATER VAPOR MASS MIXING RATIO C C INPT: NUMBER OF THE LEVEL FOR THE STANDARD INPUT DATA PRESSURES C C DIP: INTERPRETATION FACTOR FOR PRESSURE BETWEEN TWO C C NEIGHBORING STANDARD INPUT DATA PRESSURE LEVELS C C DT: LAYER TEMPERATURE - 250 K C C----------------------------------------------------------------------C IMPLICIT REAL (A-H,O-Z), +INTEGER (I-N) C REAL TRAN(ILG,2,LEV), ATTEN(ILG), TAUA(ILG,LAY), TAUOMA(ILG,LAY), 1 TAUCS(ILG,LAY), TAUOMC(ILG,LAY), CLD(ILG,LAY),RMU(ILG), 2 DP(ILG,LAY), O3(ILG,LAY), Q(ILG,LAY), DIP(ILG,LAY), 3 DT(ILG,LAY), TAUG(ILG,LAY) INTEGER INPT(ILG,LAY) LOGICAL GH C COMMON /BANDS1GH/ GWS1GH(3), CS1O3GH(3,3), CS1O2GH3 COMMON /BANDS2GH/ GWS2GH(4), CS2H2OGH(5,28), CS2O2GH(5,28,3) COMMON /BANDS3GH/ GWS3GH(4), CS3H2OGH(5,28,2), CS3CO2GH(5,28,4) COMMON /BANDS4GH/ GWS4GH(9), CS4H2OGH(5,28,6), CS4CO2GH(5,28,6), 1 CS4CH4GH(5,28) C COMMON /TRACE / RMCO2, RMCH4, RMN2O, RMO2, RMF11, RMF12, RMF113, 1 RMF114 C C * NUMBER OF VERTICAL LEVELS IN ABSORBER PRESSURE-BASED COEFFICIENT C * ARRAY. C DATA NTL /28/ C======================================================================= DO 10 I = IL1, IL2 TRAN(I,1,1) = ATTEN(I) TRAN(I,2,1) = ATTEN(I) 10 CONTINUE C IF (IB .EQ. 1) THEN C C----------------------------------------------------------------------C C BAND1 FOR UVC (35700 - 50000 CM^-1), NONGRAY GASEOUS ABSORPTION C C OF O2 AND O3. SOLAR ENERGY 7.5917 W M^-2 C C----------------------------------------------------------------------C C IF (IG .EQ. 3) THEN DO 105 K = 1, LAY KP1 = K + 1 DO 100 I = IL1, IL2 DTO3 = DT(I,K) + 23.13 TAU = ((CS1O3GH(1,IG) + 1 DTO3 * (CS1O3GH(2,IG) + 2 DTO3 * CS1O3GH(3,IG))) * O3(I,K) + 3 CS1O2GH3 * RMO2) * DP(I,K) + TAUA(I,K) DTR1 = EXP( - (TAU - TAUOMA(I,K)) / RMU(I)) TRAN(I,1,KP1) = TRAN(I,1,K) * DTR1 C IF (CLD(I,K) .LT. CUT) THEN TRAN(I,2,KP1) = TRAN(I,2,K) * DTR1 ELSE ABSC = (1.0 - CLD(I,K)) * DTR1 + CLD(I,K) * 1 EXP( - (TAU + TAUCS(I,K) - TAUOMC(I,K)) 2 / RMU(I)) TRAN(I,2,KP1) = TRAN(I,2,K) * ABSC ENDIF 100 CONTINUE 105 CONTINUE ELSE DO 115 K = 1, LAY KP1 = K + 1 DO 110 I = IL1, IL2 DTO3 = DT(I,K) + 23.13 TAU = (CS1O3GH(1,IG) + DTO3 * (CS1O3GH(2,IG) + 1 DTO3 * CS1O3GH(3,IG))) * O3(I,K) * 2 DP(I,K) + TAUA(I,K) DTR1 = EXP( - (TAU - TAUOMA(I,K)) / RMU(I)) TRAN(I,1,KP1) = TRAN(I,1,K) * DTR1 C IF (CLD(I,K) .LT. CUT) THEN TRAN(I,2,KP1) = TRAN(I,2,K) * DTR1 ELSE ABSC = (1.0 - CLD(I,K)) * DTR1 + CLD(I,K) * 1 EXP( - (TAU + TAUCS(I,K) - TAUOMC(I,K)) 2 / RMU(I)) TRAN(I,2,KP1) = TRAN(I,2,K) * ABSC ENDIF 110 CONTINUE 115 CONTINUE ENDIF GWGH = GWS1GH(IG) C ELSE IF (IB .EQ. 2) THEN C C----------------------------------------------------------------------C C BAND (8400 - 14500 CM^-1), NONGRAY GASEOUS ABSORPTION OF O2 C C AND O3. SOLAR ENERGY 8.9036 W M^-2 C C----------------------------------------------------------------------C C IF (IG .EQ. 1) THEN NG = 1 INIT = 2 CALL TLINE1 (TAUG, CS2H2OGH(1,1), Q, NG, DP, DIP, DT, INPT, 1 LEV1, GH, NTL, INIT, IL1, IL2, ILG, LAY) ELSE IM = IG - 1 NG = 6 INIT = 2 CALL TLINE1 (TAUG, CS2O2GH(1,1,IM), Q, NG, DP, DIP, DT, INPT, 1 LEV1, GH, NTL, INIT, IL1, IL2, ILG, LAY) ENDIF C DO 205 K = 1, LAY KP1 = K + 1 DO 200 I = IL1, IL2 TAU = TAUG(I,K) + TAUA(I,K) DTR1 = EXP( - (TAU - TAUOMA(I,K)) / RMU(I)) TRAN(I,1,KP1) = TRAN(I,1,K) * DTR1 C IF (CLD(I,K) .LT. CUT) THEN TRAN(I,2,KP1) = TRAN(I,2,K) * DTR1 ELSE ABSC = (1.0 - CLD(I,K)) * DTR1 + CLD(I,K) * 1 EXP( - (TAU + TAUCS(I,K) - TAUOMC(I,K)) 2 / RMU(I)) TRAN(I,2,KP1) = TRAN(I,2,K) * ABSC ENDIF 200 CONTINUE 205 CONTINUE C GWGH = GWS2GH(IG) C ELSE IF (IB .EQ. 3) THEN C C----------------------------------------------------------------------C C BAND (4200 - 8400 CM^-1), NONGRAY GASEOUS ABSORPTION OF H2O AND C C CO2. SOLAR ENERGY 7.4453 W M^-2 C C----------------------------------------------------------------------C C IF (IG .LE. 2) THEN NG2 = 3 CALL TLINE2 (TAUG, CS3H2OGH(1,1,IG), CS3CO2GH(1,1,IG), Q, O3, 1 NG2, DP, DIP, DT, INPT, LEV1, GH, NTL, 2 IL1, IL2, ILG, LAY) ELSE NG = 3 INIT = 2 CALL TLINE1 (TAUG, CS3CO2GH(1,1,IG), Q, NG, DP, DIP, DT, 1 INPT, LEV1, GH, NTL, INIT, IL1, IL2, ILG, LAY) ENDIF C DO 305 K = 1, LAY KP1 = K + 1 DO 300 I = IL1, IL2 TAU = TAUG(I,K) + TAUA(I,K) DTR1 = EXP( - (TAU - TAUOMA(I,K)) / RMU(I)) TRAN(I,1,KP1) = TRAN(I,1,K) * DTR1 C IF (CLD(I,K) .LT. CUT) THEN TRAN(I,2,KP1) = TRAN(I,2,K) * DTR1 ELSE ABSC = (1.0 - CLD(I,K)) * DTR1 + CLD(I,K) * 1 EXP( - (TAU + TAUCS(I,K) - TAUOMC(I,K)) 2 / RMU(I)) TRAN(I,2,KP1) = TRAN(I,2,K) * ABSC ENDIF 300 CONTINUE 305 CONTINUE C GWGH = GWS3GH(IG) C ELSE IF (IB .EQ. 4) THEN C C----------------------------------------------------------------------C C BAND (2500 - 4200 CM^-1), NONGRAY GASEOUS ABSORPTION OF H2O C C AND CO2. SOLAR ENERGY 7.0384 W M^-2 C C----------------------------------------------------------------------C C IF (IG .LE. 3) THEN NG2 = 3 CALL TLINE2 (TAUG, CS4H2OGH(1,1,IG), CS4CO2GH(1,1,IG), Q, O3, 1 NG2, DP, DIP, DT, INPT, LEV1, GH, NTL, 2 IL1, IL2, ILG, LAY) ELSE IF (IG .EQ. 6 .OR. IG .EQ. 8) THEN NG = 1 IF (IG .EQ. 6) IM = 5 IF (IG .EQ. 8) IM = 6 INIT = 2 CALL TLINE1 (TAUG, CS4H2OGH(1,1,IM), Q, NG, DP, DIP, DT, 1 INPT, LEV1, GH, NTL, INIT, IL1, IL2, ILG, LAY) ELSE IF (IG .EQ. 5 .OR. IG .EQ. 7 .OR. IG .EQ. 9) THEN NG = 3 IF (IG .EQ. 5) IM = 4 IF (IG .EQ. 7) IM = 5 IF (IG .EQ. 9) IM = 6 INIT = 2 CALL TLINE1 (TAUG, CS4CO2GH(1,1,IM), Q, NG, DP, DIP, DT, 1 INPT, LEV1, GH, NTL, INIT, IL1, IL2, ILG, LAY) ELSE NG2 = 4 IM = 4 CALL TLINE2 (TAUG, CS4H2OGH(1,1,IM), CS4CH4GH, Q, O3, 1 NG2, DP, DIP, DT, INPT, LEV1, GH, NTL, 2 IL1, IL2, ILG, LAY) ENDIF C DO 405 K = 1, LAY KP1 = K + 1 DO 400 I = IL1, IL2 TAU = TAUG(I,K) + TAUA(I,K) DTR1 = EXP( - (TAU - TAUOMA(I,K)) / RMU(I)) TRAN(I,1,KP1) = TRAN(I,1,K) * DTR1 C IF (CLD(I,K) .LT. CUT) THEN TRAN(I,2,KP1) = TRAN(I,2,K) * DTR1 ELSE ABSC = (1.0 - CLD(I,K)) * DTR1 + CLD(I,K) * 1 EXP( - (TAU + TAUCS(I,K) - TAUOMC(I,K)) 2 / RMU(I)) TRAN(I,2,KP1) = TRAN(I,2,K) * ABSC ENDIF 400 CONTINUE 405 CONTINUE C GWGH = GWS4GH(IG) C ENDIF C RETURN END SUBROUTINE STRANDN (TRAN, ATTN, ATTNTOP, RMU, DP, DT, O3, RMU3, 1 IB, IG, LEV1, IL1, IL2, ILG, LAY, LEV) C C----------------------------------------------------------------------C C CALCULATION OF THE DOWNWARD FLUX FROM TOP LEVEL TO 1 MB, NO C C SCATTERING EFFECT IS CONSIDERED C C C C TRAN: TRANSMISIVITY C C ATTN: ATTENUATION FACTOR FOR REDUCING SOLAR FLUX FROM MODEL C C TOP LEVEL TO 1 MB C C ATTNTOP: ATTENUATION FACTOR FOR REDUCING SOLAR FLUX FROM TOA TO C C MODEL TOP LEVEL C C RMU: COSINE OF SOLAR ZENITH ANGLE C C DP: AIR MASS PATH FOR A MODEL LAYER (EXLAINED IN RADDRIV). C C O3: O3 MASS MIXING RATIO C C----------------------------------------------------------------------C IMPLICIT REAL (A-H,O-Z), +INTEGER (I-N) C REAL TRAN(ILG,2,LEV), ATTN(ILG), ATTNTOP(ILG), RMU(ILG), 1 DP(ILG,LAY), DT(ILG,LAY), O3(ILG,LAY), RMU3(ILG) C COMMON /TRACE / RMCO2, RMCH4, RMN2O, RMO2, RMF11, RMF12, RMF113, 1 RMF114 COMMON /BANDS1/ GW1(6), CS1O3(3,6), CS1O21 C======================================================================= LEV1M1 = LEV1 - 1 C IF (IB .EQ. 1) THEN C C----------------------------------------------------------------------C C BAND (14500 - 50000 CM^-1), NONGRAY GASEOUS ABSORPTION OF O3 C C ANS O2. C C----------------------------------------------------------------------C C DO 10 I = IL1, IL2 TRAN(I,1,1) = ATTNTOP(I) TRAN(I,2,1) = ATTNTOP(I) 10 CONTINUE C IF (IG .EQ. 1) THEN DO 150 K = 1, LEV1M1 KP1 = K + 1 DO 100 I = IL1, IL2 DTO3 = DT(I,K) + 23.13 X = (CS1O21 - 0.881E-05 * RMU3(I)) * RMO2 TAU = ((CS1O3(1,IG) + DTO3 * (CS1O3(2,IG) + 1 DTO3 * CS1O3(3,IG))) * O3(I,K) + X) * 2 DP(I,K) TRAN(I,1,KP1) = TRAN(I,1,K) * EXP( - TAU / RMU(I)) TRAN(I,2,KP1) = TRAN(I,1,KP1) 100 CONTINUE 150 CONTINUE C ELSE DO 250 K = 1, LEV1M1 KP1 = K + 1 DO 200 I = IL1, IL2 DTO3 = DT(I,K) + 23.13 TAU = (CS1O3(1,IG) + DTO3 * (CS1O3(2,IG) + 1 DTO3 * CS1O3(3,IG))) * O3(I,K) * DP(I,K) TRAN(I,1,KP1) = TRAN(I,1,K) * EXP( - TAU / RMU(I)) TRAN(I,2,KP1) = TRAN(I,1,KP1) 200 CONTINUE 250 CONTINUE ENDIF C C----------------------------------------------------------------------C C FLUX ADJUSTMENT FOR REGION BELOW 1 MB C C----------------------------------------------------------------------C C DO 400 I = IL1, IL2 ATTN(I) = TRAN(I,1,LEV1) 400 CONTINUE C ELSE C DO 500 K = 1, LEV1 DO 500 I = IL1, IL2 TRAN(I,1,K) = 1.0 TRAN(I,2,K) = 1.0 500 CONTINUE C DO 600 I = IL1, IL2 ATTN(I) = 1.0 600 CONTINUE ENDIF C RETURN END SUBROUTINE STRANUP (REFL, DP, DT, O3, IB, IG, LEV1, 1 IL1, IL2, ILG, LAY, LEV) C C----------------------------------------------------------------------C C CALCULATION OF THE UPWARD SOLAR FLUX ABOVE 1 MB, NO SCATTERING C C EFFECT IS CONSIDERED C C C C REFL: REFLECTIVITY C C TAU: OPTICAL DEPTH C C DTR: DIRECT TRANSMISSION FUNCTION C C 1.6487213 DIFFUSIVITY FACTOR (LI, 2000 JAS P753) C C----------------------------------------------------------------------C C IMPLICIT REAL (A-H,O-Z), +INTEGER (I-N) C REAL REFL(ILG,2,LEV), DP(ILG,LAY), DT(ILG,LAY), O3(ILG,LAY) C COMMON /TRACE / RMCO2, RMCH4, RMN2O, RMO2, RMF11, RMF12, RMF113, 1 RMF114 COMMON /BANDS1/ GWS1(6), CS1O3(3,6), CS1O21 C======================================================================= C LEV1M1 = LEV1 - 1 C IF (IB .EQ. 1) THEN C IF (IG .EQ. 1) THEN DO 105 K = LEV1M1, 1, - 1 KP1 = K + 1 DO 100 I = IL1, IL2 DTO3 = DT(I,K) + 23.13 TAU = ((CS1O3(1,IG) + DTO3 * (CS1O3(2,IG) + 1 DTO3 * CS1O3(3,IG))) * O3(I,K) + 2 CS1O21 * RMO2) * DP(I,K) DTR = EXP( - 1.6487213 * TAU) REFL(I,1,K) = REFL(I,1,KP1) * DTR REFL(I,2,K) = REFL(I,2,KP1) * DTR 100 CONTINUE 105 CONTINUE C ELSE DO 115 K = LEV1M1, 1, - 1 KP1 = K + 1 DO 110 I = IL1, IL2 DTO3 = DT(I,K) + 23.13 TAU = (CS1O3(1,IG) + DTO3 * (CS1O3(2,IG) + 1 DTO3 * CS1O3(3,IG))) * O3(I,K) * DP(I,K) DTR = EXP( - 1.6487213 * TAU) REFL(I,1,K) = REFL(I,1,KP1) * DTR REFL(I,2,K) = REFL(I,2,KP1) * DTR 110 CONTINUE 115 CONTINUE C ENDIF C ELSE C DO 250 K = LEV1M1, 1, - 1 KP1 = K + 1 DO 200 I = IL1, IL2 REFL(I,1,K) = REFL(I,1,KP1) REFL(I,2,K) = REFL(I,2,KP1) 200 CONTINUE 250 CONTINUE C ENDIF C RETURN END SUBROUTINE SWTRAN (REFL, TRAN, CUMDTR, TRAN0, TAUA, TAUR, TAUG, 1 TAUOMA, TAUOMGA, F1, F2, TAUCS, TAUOMC, 2 TAUOMGC, CLD, CLDM, A1, RMU, C1, C2, ALBSUR, 3 CSALB, NBLK, NCT,II,JJ,IAER, 4 CUT, LEV1, IL1, IL2, ILG, LAY, LEV) C C----------------------------------------------------------------------C C DELTA-EDDINGTON APPROXIMATION AND ADDING PROCESS FOR CLEAR AND C C ALL SKY, THE ADDING METHOD BY COAKLEY ET AL (1983). THIS CODE C C CAN DEAL WITH SOLAR RADIATIVE TRANSFER THROUGH ATMOSPHERE WITH C C PROPER TREATMENT OF CLOUD OVERLAP (RANDOM + MAXIMUM OR RANDOM + C C SLANTWISE) AND CLOUD SUB-GRID VARIABILITY. THE THEORY FOR ADDING,C C CLOUD OVERLAP LI AND DOBBIE (2003). CLOUD SUB-GRID VARIABILITY C C SIMILAR TO WITH ADJUSTMENT OF CLOUD OPTICAL DEPTH C C C C REFL: REFLECTIVITY (1) CLEAR SKY; (2) ALL SKY C C TRAN: TRANSMITIVITY C C CUMDTR: DIRECT TRANSMISSION FOR MULT-LAYERS C C TAUA: AEROSOL OPTICAL DEPTH C C TAUR: RAYLEIGH OPTICAL DEPTH C C TAUG: GASEOUS OPTICAL DEPTH C C TAUOMA: AEROSOL OPTICAL DEPTH TIMES AEROSOL SINGLE SCATTERING C C ALBEDO C C TAUOMGA: TAUOMA TIMES AEROSOL ASYMMETRY FACTOR C C F1: SQUARE OF AEROSOL ASYMMETRY FACTOR C C F2: SQUARE OF CLOUD ASYMMETRY FACTOR C C TAUCS: CLOUD OPTICAL DEPTH C C TAUOMC: CLOUD OPTICAL DEPTH TIMES CLOUD SINGLE SCATTERING ALBEDOC C TAUOMGC: TAUOMC TIMES CLOUD ASYMMETRY FACTOR C C CLD: CLOUD FRACTION C C CLDM: MAXIMUM PORTION IN EACH CLOUD BLOCK, IN WHICH THE EXACT C C SOLUTION FOR SUBGRID VARIABILITY IS APPLIED C C A1: VARIOUS RELATION FOR CLOUD OVERLAP C C RMU: COS OF SOLAR ZENITH ANGLE C C C1 @ C2: TWO FACTORS NOT DEPENDENT ON IB AND IG CALCULATED C C OUTSIDE FOR EFFICIENCY C C ALBSUR: SURFACE ALBEDO C C CSALB: CLEAR-SKY SURFACE ALBEDO C C NBLK: NUMBER OF CLOUD BLOCKS ACCOUNTED FROM SURFACE C C NCT: THE HIGHEST CLOUD TOP LEVEL FOR THE LONGITUDE AND C C LATITUDE LOOP (ILG) C C RDF: LAYER DIFFUSE REFLECTION C C TDF: LAYER DIFFUSE TRANSMISSION C C RDR: LAYER DIRECT REFLECTION C C TDR: LAYER DIRECT TRANSMISSION C C DTR: DIRECT TRANSMISSION C C RMDF: BLOCK DIFFUSE REFLECTION FROM MODEL TOP LEVEL C C TMDR: BLOCK DIRECT TRANSMISSION FROM MODEL TOP LEVEL C C RMUR: BLOCK DIRECT REFLECTION FROM MODEL BOTTOM LEVEL C C RMUF: BLOCK DIFFUSE REFLECTION FROM MODEL BOTTOM LEVEL C C----------------------------------------------------------------------C IMPLICIT REAL (A-H,O-Z), +INTEGER (I-N) C REAL REFL(ILG,2,LEV), TRAN(ILG,2,LEV), CUMDTR(ILG,4,LEV), 1 TRAN0(ILG) REAL TAUA(ILG,LAY), TAUR(ILG,LAY), TAUG(ILG,LAY), TAUOMA(ILG,LAY), 1 TAUOMGA(ILG,LAY), F1(ILG,LAY), F2(ILG,LAY), TAUCS(ILG,LAY), 2 TAUOMC(ILG,LAY), TAUOMGC(ILG,LAY), CLD(ILG,LAY), 3 CLDM(ILG,LAY), A1(ILG,11), RMU(ILG), C1(ILG), C2(ILG), 4 ALBSUR(ILG), CSALB(ILG) C C mxy+ C CHANGE ARRAYS TO REAL *8 C REAL*8 RDF (ILG,4,LAY), TDF (ILG,4,LAY), RDR (ILG,4,LAY), 1 TDR (ILG,4,LAY), DTR (ILG,4,LAY), RMDF(ILG,4,LEV), 2 TMDR(ILG,4,LEV), RMUR(ILG,4,LEV), RMUF(ILG,4,LEV) C mxy+ INTEGER NBLK(ILG, LAY), NCT(ILG) C mxy+ c c * scalars promoted to 64-bit in loop 200 to avoid pole singularity c * from two-stream calculation in clear-sky. c real*8 extopt,omars,ssalb,sf1,sf,tau1,om1,cow real*8 ssgas1,cowg,alamd,u,u2,uu,efun,efun2,x1,rn,x2 real*8 y,yx,dm,gscw,appgm,apmgm,omarcs,sf2 real*8 tau2,om2,ssgas2,sdtr,x3,x4,srdf,stdf,srdr,stdr real*8 x5,x6,x7,x,lowbnd c data lowbnd /1.e-15/ C mxy+ C C----------------------------------------------------------------------C C COMBINE THE OPTICAL PROPERTIES FOR SOLAR, C C 1, AEROSOL + RAYLEIGH + GAS; 2, CLOUD + AEROSOL + RAYLEIGH + GAS C C CALCULATE THE DIRECT AND DIFFUSE REFLECTION AND TRANSMISSION IN C C THE SCATTERING LAYERS USING THE DELTA-EDDINGTON METHOD. C C----------------------------------------------------------------------C C DO 200 K = LEV1, LAY DO 200 I = IL1, IL2 C mxy!! if(TAUA(I,K).lt.0. .or. & TAUR(I,K).lt.0. .or. & TAUG(I,K).lt.0) then c print*,'negative optical depth',II,JJ,K, c & TAUA(I,K),TAUR(I,K),TAUG(I,K) endif TAUA(I,K) = MAX(TAUA(I,K),1.e-20) TAUR(I,K) = MAX(TAUR(I,K),1.e-20) TAUG(I,K) = MAX(TAUG(I,K),1.e-20) C mxy!! EXTOPT = TAUA(I,K) + TAUR(I,K) + TAUG(I,K) OMARS = TAUOMA(I,K) + TAUR(I,K) SSALB = OMARS / (EXTOPT + 1.E-20) SF1 = F1(I,K) / OMARS SF = SSALB * SF1 TAU1 = EXTOPT * (1.0 - SF) OM1 = (SSALB - SF) / (1.0 - SF) COW = 1.0 - OM1 + 1.E-10 SSGAS1 = (TAUOMGA(I,K) / OMARS - SF1) / 1 (1.0 - SF1) COWG = 1.0 - OM1 * SSGAS1 C DTR(I,1,K) = EXP( - TAU1 / RMU(I)) ALAMD = SQRT(3.0 * COW * COWG) U = 1.50 * COWG / ALAMD U2 = U + U UU = U * U EFUN = EXP(- ALAMD * TAU1) EFUN2 = EFUN * EFUN X1 = (UU - U2 + 1.0) * EFUN2 RN = 1.0 / (UU + U2 + 1.0 - X1) X2 = ALAMD * RMU(I) Y = 1.0 - X2 * X2 YX = SIGN( MAX( ABS(Y), LOWBND), Y ) DM = OM1 / YX GSCW = SSGAS1 * COW APPGM = (C1(I) + 0.50 + 1 GSCW * (C1(I) + C2(I))) * DM APMGM = (C1(I) - 0.50 + 1 GSCW * (C1(I) - C2(I))) * DM RDF(I,1,K) = (UU - 1.0) * (1.0 - EFUN2) * RN TDF(I,1,K) = (U2 + U2) * EFUN * RN RDR(I,1,K) = APPGM * RDF(I,1,K) + APMGM * 1 (TDF(I,1,K) * DTR(I,1,K) - 1.0) TDR(I,1,K) = APPGM * TDF(I,1,K) + 1 (APMGM * RDF(I,1,K) - APPGM + 1.0) * 2 DTR(I,1,K) C IF (CLD(I,K) .LT. CUT) THEN RDF(I,2,K) = RDF(I,1,K) TDF(I,2,K) = TDF(I,1,K) RDR(I,2,K) = RDR(I,1,K) TDR(I,2,K) = TDR(I,1,K) DTR(I,2,K) = DTR(I,1,K) RDF(I,3,K) = RDF(I,1,K) TDF(I,3,K) = TDF(I,1,K) RDR(I,3,K) = RDR(I,1,K) TDR(I,3,K) = TDR(I,1,K) DTR(I,3,K) = DTR(I,1,K) RDF(I,4,K) = RDF(I,1,K) TDF(I,4,K) = TDF(I,1,K) RDR(I,4,K) = RDR(I,1,K) TDR(I,4,K) = TDR(I,1,K) DTR(I,4,K) = DTR(I,1,K) ELSE EXTOPT = TAUCS(I,K) + EXTOPT OMARCS = TAUOMC(I,K) + TAUR(I,K) SSALB = OMARCS / EXTOPT SF2 = F2(I,K) / OMARCS SF = SSALB * SF2 TAU2 = EXTOPT * (1.0 - SF) OM2 = (SSALB - SF) / (1.0 - SF) COW = 1.0 - OM2 SSGAS2 = (TAUOMGC(I,K) / OMARCS - SF2) / 1 (1.0 - SF2) COWG = 1.0 - OM2 * SSGAS2 ALAMD = SQRT(3.0 * COW * COWG) U = 1.50 * COWG / ALAMD U2 = U + U UU = U * U SDTR = EXP(- TAU2 / RMU(I)) EFUN = EXP(- ALAMD * TAU2) EFUN2 = EFUN * EFUN X3 = (UU - U2 + 1.0) * EFUN2 RN = 1.0 / (UU + U2 + 1.0 - X3) X4 = ALAMD * RMU(I) Y = 1.0 - X4 * X4 YX = SIGN( MAX( ABS(Y), LOWBND), Y ) DM = OM2 / (1.0 - X4 * X4) GSCW = SSGAS2 * COW APPGM = (C1(I) + 0.50 + 1 GSCW * (C1(I) + C2(I))) * DM APMGM = (C1(I) - 0.50 + 1 GSCW * (C1(I) - C2(I))) * DM SRDF = (UU - 1.0) * (1.0 - EFUN2) * RN STDF = (U2 + U2) * EFUN * RN SRDR = APPGM * SRDF + APMGM * 1 (STDF * SDTR - 1.0) STDR = APPGM * STDF + (APMGM * SRDF - 1 APPGM + 1.0) * SDTR IF (NBLK(I,K) .EQ. 3) THEN X5 = A1(I,9) * CLD(I,K) RDF(I,2,K) = RDF(I,1,K) + X5 * 1 (SRDF - RDF(I,1,K)) TDF(I,2,K) = TDF(I,1,K) + X5 * 1 (STDF - TDF(I,1,K)) RDR(I,2,K) = RDR(I,1,K) + X5 * 1 (SRDR - RDR(I,1,K)) TDR(I,2,K) = TDR(I,1,K) + X5 * 1 (STDR - TDR(I,1,K)) DTR(I,2,K) = DTR(I,1,K) + X5 * 1 (SDTR - DTR(I,1,K)) X6 = A1(I,10) * CLD(I,K) RDF(I,3,K) = RDF(I,1,K) + X6 * 1 (SRDF - RDF(I,1,K)) TDF(I,3,K) = TDF(I,1,K) + X6 * 1 (STDF - TDF(I,1,K)) RDR(I,3,K) = RDR(I,1,K) + X6 * 1 (SRDR - RDR(I,1,K)) TDR(I,3,K) = TDR(I,1,K) + X6 * 1 (STDR - TDR(I,1,K)) DTR(I,3,K) = DTR(I,1,K) + X6 * 1 (SDTR - DTR(I,1,K)) X7 = A1(I,11) * CLD(I,K) RDF(I,4,K) = RDF(I,1,K) + X7 * 1 (SRDF - RDF(I,1,K)) TDF(I,4,K) = TDF(I,1,K) + X7 * 1 (STDF - TDF(I,1,K)) RDR(I,4,K) = RDR(I,1,K) + X7 * 1 (SRDR - RDR(I,1,K)) TDR(I,4,K) = TDR(I,1,K) + X7 * 1 (STDR - TDR(I,1,K)) DTR(I,4,K) = SDTR ELSE IF (NBLK(I,K) .EQ. 1) THEN RDF(I,4,K) = RDF(I,1,K) TDF(I,4,K) = TDF(I,1,K) RDR(I,4,K) = RDR(I,1,K) TDR(I,4,K) = TDR(I,1,K) DTR(I,4,K) = DTR(I,1,K) X = CLD(I,K) / CLDM(I,K) RDF(I,2,K) = RDF(I,1,K) + X * 1 (SRDF - RDF(I,1,K)) TDF(I,2,K) = TDF(I,1,K) + X * 1 (STDF - TDF(I,1,K)) RDR(I,2,K) = RDR(I,1,K) + X * 1 (SRDR - RDR(I,1,K)) TDR(I,2,K) = TDR(I,1,K) + X * 1 (STDR - TDR(I,1,K)) DTR(I,2,K) = SDTR IF (A1(I,2) .GE. CUT) THEN Y = X * A1(I,8) RDF(I,3,K) = RDF(I,1,K) + Y * 1 (SRDF - RDF(I,1,K)) TDF(I,3,K) = TDF(I,1,K) + Y * 1 (STDF - TDF(I,1,K)) RDR(I,3,K) = RDR(I,1,K) + Y * 1 (SRDR - RDR(I,1,K)) TDR(I,3,K) = TDR(I,1,K) + Y * 1 (STDR - TDR(I,1,K)) DTR(I,3,K) = DTR(I,1,K) + Y * 1 (SDTR - DTR(I,1,K)) ELSE RDF(I,3,K) = RDF(I,1,K) TDF(I,3,K) = TDF(I,1,K) RDR(I,3,K) = RDR(I,1,K) TDR(I,3,K) = TDR(I,1,K) DTR(I,3,K) = DTR(I,1,K) ENDIF ELSE IF (NBLK(I,K) .EQ. 2) THEN RDF(I,2,K) = RDF(I,1,K) TDF(I,2,K) = TDF(I,1,K) RDR(I,2,K) = RDR(I,1,K) TDR(I,2,K) = TDR(I,1,K) DTR(I,2,K) = DTR(I,1,K) RDF(I,4,K) = RDF(I,1,K) TDF(I,4,K) = TDF(I,1,K) RDR(I,4,K) = RDR(I,1,K) TDR(I,4,K) = TDR(I,1,K) DTR(I,4,K) = DTR(I,1,K) X8 = CLD(I,K) / CLDM(I,K) RDF(I,3,K) = RDF(I,1,K) + X8 * 1 (SRDF - RDF(I,1,K)) TDF(I,3,K) = TDF(I,1,K) + X8 * 1 (STDF - TDF(I,1,K)) RDR(I,3,K) = RDR(I,1,K) + X8 * 1 (SRDR - RDR(I,1,K)) TDR(I,3,K) = TDR(I,1,K) + X8 * 1 (STDR - TDR(I,1,K)) DTR(I,3,K) = SDTR ENDIF ENDIF 200 CONTINUE C DO 300 I = IL1, IL2 C C----------------------------------------------------------------------C C INITIALIZATION FOR THE FIRST LEVEL (LEV1). C C----------------------------------------------------------------------C C ATRAN0 = 1.0 - TRAN0(I) TMDR(I,1,LEV1) = TRAN0(I) RMDF(I,1,LEV1) = ATRAN0 CUMDTR(I,1,LEV1) = TRAN0(I) TMDR(I,2,LEV1) = TRAN0(I) RMDF(I,2,LEV1) = ATRAN0 CUMDTR(I,2,LEV1) = TRAN0(I) TMDR(I,3,LEV1) = TRAN0(I) RMDF(I,3,LEV1) = ATRAN0 CUMDTR(I,3,LEV1) = TRAN0(I) TMDR(I,4,LEV1) = TRAN0(I) RMDF(I,4,LEV1) = ATRAN0 CUMDTR(I,4,LEV1) = TRAN0(I) C C----------------------------------------------------------------------C C INITIALIZATION FOR THE GROUND LAYER. C C----------------------------------------------------------------------C C RMUR(I,1,LEV) = CSALB(I) RMUF(I,1,LEV) = CSALB(I) RMUR(I,2,LEV) = ALBSUR(I) RMUF(I,2,LEV) = ALBSUR(I) RMUR(I,3,LEV) = ALBSUR(I) RMUF(I,3,LEV) = ALBSUR(I) RMUR(I,4,LEV) = ALBSUR(I) RMUF(I,4,LEV) = ALBSUR(I) C CUMDTR(I,2,LEV) = 0.0 CUMDTR(I,3,LEV) = 0.0 CUMDTR(I,4,LEV) = 0.0 300 CONTINUE C C----------------------------------------------------------------------C C ADD THE LAYERS DOWNWARD FROM THE SECOND LAYER TO THE SURFACE. C C----------------------------------------------------------------------C C DO 450 K = LEV1 + 1, LEV KM1 = K - 1 L = LEV - K + LEV1 LP1 = L + 1 DO 400 I = IL1, IL2 DMM = TDF(I,1,KM1) / 1 (1.0 - RDF(I,1,KM1) * RMDF(I,1,KM1)) FMM = RMDF(I,1,KM1) * DMM TMDR(I,1,K) = CUMDTR(I,1,KM1) * (TDR(I,1,KM1) + 1 RDR(I,1,KM1) * FMM) + 2 (TMDR(I,1,KM1) - CUMDTR(I,1,KM1)) * 3 DMM RMDF(I,1,K) = RDF(I,1,KM1) + TDF(I,1,KM1) * FMM CUMDTR(I,1,K) = CUMDTR(I,1,KM1) * DTR(I,1,KM1) C IF (A1(I,1) .GE. CUT) THEN IF (K .LE. NCT(I)) THEN TMDR(I,2,K) = TMDR(I,1,K) RMDF(I,2,K) = RMDF(I,1,K) CUMDTR(I,2,K) = CUMDTR(I,1,K) ELSE DPP = TDF(I,2,KM1) / 1 (1.0 - RMDF(I,2,KM1) * RDF(I,2,KM1)) FPP = RMDF(I,2,KM1) * DPP TMDR(I,2,K) = CUMDTR(I,2,KM1) * (TDR(I,2,KM1) + 1 RDR(I,2,KM1) * FPP) + 2 (TMDR(I,2,KM1) - CUMDTR(I,2,KM1)) * 3 DPP RMDF(I,2,K) = RDF(I,2,KM1) + TDF(I,2,KM1) * FPP CUMDTR(I,2,K) = CUMDTR(I,2,KM1) * DTR(I,2,KM1) ENDIF ELSE TMDR(I,2,K) = 1.0 RMDF(I,2,K) = 0.0 CUMDTR(I,2,K) = 0.0 ENDIF C IF (A1(I,2) .GE. CUT) THEN IF (K .LE. NCT(I)) THEN TMDR(I,3,K) = TMDR(I,1,K) RMDF(I,3,K) = RMDF(I,1,K) CUMDTR(I,3,K) = CUMDTR(I,1,K) ELSE DPP = TDF(I,3,KM1) / 1 (1.0 - RMDF(I,3,KM1) * RDF(I,3,KM1)) FPP = RMDF(I,3,KM1) * DPP TMDR(I,3,K) = CUMDTR(I,3,KM1) * (TDR(I,3,KM1) + 1 RDR(I,3,KM1) * FPP) + 2 (TMDR(I,3,KM1) - CUMDTR(I,3,KM1)) * 3 DPP RMDF(I,3,K) = RDF(I,3,KM1) + TDF(I,3,KM1) * FPP CUMDTR(I,3,K) = CUMDTR(I,3,KM1) * DTR(I,3,KM1) ENDIF C IF (A1(I,3) .GE. CUT) THEN IF (K .LE. NCT(I)) THEN TMDR(I,4,K) = TMDR(I,1,K) RMDF(I,4,K) = RMDF(I,1,K) CUMDTR(I,4,K) = CUMDTR(I,1,K) ELSE DPP = TDF(I,4,KM1) / 1 (1.0 - RMDF(I,4,KM1) * RDF(I,4,KM1)) FPP = RMDF(I,4,KM1) * DPP TMDR(I,4,K) = CUMDTR(I,4,KM1) * (TDR(I,4,KM1) + 1 RDR(I,4,KM1) * FPP) + 2 (TMDR(I,4,KM1) - CUMDTR(I,4,KM1)) * 3 DPP RMDF(I,4,K) = RDF(I,4,KM1) + TDF(I,4,KM1) * FPP CUMDTR(I,4,K) = CUMDTR(I,4,KM1) * DTR(I,4,KM1) ENDIF ELSE TMDR(I,4,K) = 1.0 RMDF(I,4,K) = 0.0 CUMDTR(I,4,K) = 0.0 ENDIF ELSE TMDR(I,3,K) = 1.0 RMDF(I,3,K) = 0.0 CUMDTR(I,3,K) = 0.0 TMDR(I,4,K) = 1.0 RMDF(I,4,K) = 0.0 CUMDTR(I,4,K) = 0.0 ENDIF C C----------------------------------------------------------------------C C ADD THE LAYERS UPWARD FROM ONE LAYER ABOVE SURFACE TO THE LEV1. C C----------------------------------------------------------------------C C UMM = TDF(I,1,L) / 1 (1.0 - RDF(I,1,L) * RMUF(I,1,LP1)) FMM = RMUF(I,1,LP1) * UMM RMUR(I,1,L) = RDR(I,1,L) + DTR(I,1,L) * 1 RMUR(I,1,LP1) * UMM + (TDR(I,1,L) - 2 DTR(I,1,L)) * FMM RMUF(I,1,L) = RDF(I,1,L) + TDF(I,1,L) * FMM C IF (A1(I,1) .GE. CUT) THEN UPP = TDF(I,2,L) / 1 (1.0 - RMUF(I,2,LP1) * RDF(I,2,L)) FPP = RMUF(I,2,LP1) * UPP RMUR(I,2,L) = RDR(I,2,L) + DTR(I,2,L) * 1 RMUR(I,2,LP1) * UPP + (TDR(I,2,L) - 2 DTR(I,2,L)) * FPP RMUF(I,2,L) = RDF(I,2,L) + TDF(I,2,L) * FPP ELSE RMUR(I,2,L) = 0.0 RMUF(I,2,L) = 0.0 ENDIF C IF (A1(I,2) .GE. CUT) THEN UPP = TDF(I,3,L) / 1 (1.0 - RMUF(I,3,LP1) * RDF(I,3,L)) FPP = RMUF(I,3,LP1) * UPP RMUR(I,3,L) = RDR(I,3,L) + DTR(I,3,L) * 1 RMUR(I,3,LP1) * UPP + (TDR(I,3,L) - 2 DTR(I,3,L)) * FPP RMUF(I,3,L) = RDF(I,3,L) + TDF(I,3,L) * FPP C IF (A1(I,3) .GE. CUT) THEN UPP = TDF(I,4,L) / 1 (1.0 - RMUF(I,4,LP1) * RDF(I,4,L)) FPP = RMUF(I,4,LP1) * UPP RMUR(I,4,L) = RDR(I,4,L) + DTR(I,4,L) * 1 RMUR(I,4,LP1) * UPP + (TDR(I,4,L) - 2 DTR(I,4,L)) * FPP RMUF(I,4,L) = RDF(I,4,L) + TDF(I,4,L) * FPP ELSE RMUR(I,4,L) = 0.0 RMUF(I,4,L) = 0.0 ENDIF ELSE RMUR(I,3,L) = 0.0 RMUF(I,3,L) = 0.0 RMUR(I,4,L) = 0.0 RMUF(I,4,L) = 0.0 ENDIF 400 CONTINUE 450 CONTINUE C C----------------------------------------------------------------------C C ADD DOWNWARD TO CALCULATE THE RESULTANT REFLECTANCE AND C C TRANSMITTANCE AT FLUX LEVELS. C C----------------------------------------------------------------------C C DO 550 K = LEV1, LEV KM1 = K - 1 DO 500 I = IL1, IL2 DMM = 1.0 / 1 (1.0 - RMUF(I,1,K) * RMDF(I,1,K)) X = CUMDTR(I,1,K) * RMUR(I,1,K) Y = TMDR(I,1,K) - CUMDTR(I,1,K) TRAN(I,1,K) = CUMDTR(I,1,K) + 1 (X * RMDF(I,1,K) + Y) * DMM REFL(I,1,K) = (X + Y * RMUF(I,1,K)) * DMM C IF (A1(I,1) .GE. CUT) THEN DPP = 1.0 / 1 (1.0 - RMUF(I,2,K) * RMDF(I,2,K)) X = CUMDTR(I,2,K) * RMUR(I,2,K) Y = TMDR(I,2,K) - CUMDTR(I,2,K) TRAN(I,2,K) = A1(I,1) * (CUMDTR(I,2,K) + 1 (X * RMDF(I,2,K) + Y) * DPP) + 2 A1(I,7) * TRAN(I,1,K) REFL(I,2,K) = A1(I,1) * (X + Y * RMUF(I,2,K)) * 1 DPP + A1(I,7) * REFL(I,1,K) ELSE TRAN(I,2,K) = A1(I,7) * TRAN(I,1,K) REFL(I,2,K) = A1(I,7) * REFL(I,1,K) ENDIF C IF (A1(I,2) .GE. CUT) THEN DPP = 1.0 / 1 (1.0 - RMUF(I,3,K) * RMDF(I,3,K)) X = CUMDTR(I,3,K) * RMUR(I,3,K) Y = TMDR(I,3,K) - CUMDTR(I,3,K) TRANPP = CUMDTR(I,3,K) + 1 (X * RMDF(I,3,K) + Y) * DPP REFLPP = (X + Y * RMUF(I,3,K)) * DPP TRAN(I,2,K) = A1(I,2) * TRANPP + TRAN(I,2,K) REFL(I,2,K) = A1(I,2) * REFLPP + REFL(I,2,K) C IF (A1(I,3) .GE. CUT) THEN DPP = 1.0 / 1 (1.0 - RMUF(I,4,K) * RMDF(I,4,K)) X = CUMDTR(I,4,K) * RMUR(I,4,K) Y = TMDR(I,4,K) - CUMDTR(I,4,K) TRANPP = CUMDTR(I,4,K) + 1 (X * RMDF(I,4,K) + Y) * DPP REFLPP = (X + Y * RMUF(I,4,K)) * DPP TRAN(I,2,K) = A1(I,3) * TRANPP + TRAN(I,2,K) REFL(I,2,K) = A1(I,3) * REFLPP + REFL(I,2,K) ENDIF ENDIF c if(II.eq.16.and.JJ.eq.12) then c print*,'SWTRAN',II,JJ,K,TRAN(I,2,K),REFL(I,2,K),A1(I,3) c endif 500 CONTINUE 550 CONTINUE C RETURN END SUBROUTINE LWTRAN (FU, FD, SLWF, TAUCI, OMCI, GCI, FL, TAUAL, 1 TAUG, BF, BS, URBF, DBF, EM0, CLD, CLDM, ANU, 2 NCT, NCD, NCU, NCUM, NCDM, LEV1, MAXC, 3 CUT, IL1, IL2, ILG, LAY, LEV, + II,JJ) C C----------------------------------------------------------------------C C CALCULATION OF LONGWAVE RADIATIVE TRANSFER USING ABSORPTION C C APPROXIMATION. THE FINITE CLOUD EFFECT IS PROPERLY CONSIDERED C C WITH RANDOM AND FULL OVERLAP ASSUMPTION. CLOUD SUBGRID C C VARIABILITY IS INCLUDED (BASED ON LI, 2002 JAS P3302; LI AND C C BARKER JAS P3321). C C C C FU: UPWARD INFRARED FLUX C C FD: DOWNWARD INFRARED FLUX C C SLWF: INPUT SOLAR FLUX AT MODEL TOP LEVEL FOR EACH BAND C C TAUCI: CLOUD OPTICAL DEPTH FOR THE INFRARED C C OMCI: CLOUD SINGLE SCATTERING ALBEDO TIMES OPTICAL DEPTH C C GCI: CLOUD ASYMMETRY FACTOR TIMES OMCI C C FL: SQUARE OF CLOUD ASYMMETRY FACTOR C C TAUAL: AEROSOL OPTICAL DEPTH FOR THE INFRARED C C TAUG: GASEOUS OPTICAL DEPTH FOR THE INFRARED C C BF: BLACKBODY INTENSITY INTEGRATED OVER EACH BAND AT EACH C C LEVEL IN UNITS W / M^2 / SR. THEREFOR A PI FACTOR NEEDED C C FOR FLUX C C BS: THE BLACKBODY INTENSITY AT THE SURFACE. C C URBF: U TIMES THE DIFFERENCE OF LOG(BF) FOR TWO NEIGHBOR C C LEVELS USED FOR EXPONENTIAL SOURCE FUNCTION C C DBF: DIFFERENCE OF BF FOR TWO NEIGHBOR LEVELS USED FOR C C LINEAR SOURCE FUNCTION C C EM0: SURFACE EMISSION C C CLD: CLOUD FRACTION C C CLDM: MAXIMUM PORTION IN EACH CLOUD BLOCK, IN WHICH THE EXACT C C SOLUTION FOR SUBGRID VARIABILITY IS APPLIED LI AND C C BARKER JAS P3321). C C ANU: NU FACTOR FOR CLOUD SUBGRID VARIABILITY C C S: TOTAL SCATTERING C C SCATBK: BACKWARD SCATTERING C C SCATFW: FORWARD SCATTERING C C SCATSM: INTERNAL SCATTERING C C TAUM: TAUM(1) A FACTOR RELATED TO TAU IN ZETA FACTOR FOR C C LINEAR SOURCE TERM; TAUM(2) THE CUMULATED TAUM(1) FOR C C SUBGRID VARIABILITY CALCULATION C C XU: THE EMISSION PART IN THE UPWARD FLUX TRANSMISSION C C (LI, 2002 JAS P3302) C C XD: THE EMISSION PART IN THE DOWNWARD FLUX TRANSMISSION C C DTR: DIRECT TRANSMISSION C C FY: UPWARD FLUX FOR PURE CLEAR PORTION (1) AND PURE CLOUD C C PORTION (2) C C FX: THE SAME AS FY BUT FOR THE DOWNWARD FLUX C C FW: A TERM FOR TRANSFER WITHIN CLDM C C NCT: THE HIGHEST CLOUD TOP LEVEL FOR THE LONGITUDE AND C C LATITUDE LOOP (ILG) C C NCD: LAYER INSIDE A CLOUD BLOCK ACCOUNTED FROM CLOUD TOP C C NCU: LAYER INSIDE A CLOUD BLOCK ACCOUNTED FROM CLOUD BOTTOM C C NCUM: MAXIMUM LOOP NUMBER CLOUD VERTICAL CORRELATION ACCOUNTED C C FROM LOWER LEVEL TO HIGHER LEVEL C C NCDM: MAXIMUM LOOP NUMBER CLOUD VERTICAL CORRELATION ACCOUNTED C C FROM HIGHER LEVEL TO LOWER LEVEL C C----------------------------------------------------------------------C IMPLICIT REAL (A-H,O-Z), +INTEGER (I-N) C REAL FU(ILG,2,LEV), FD(ILG,2,LEV) REAL SLWF(ILG), TAUCI(ILG,LAY), OMCI(ILG,LAY), GCI(ILG,LAY), 1 FL(ILG,LAY), TAUAL(ILG,LAY), TAUG(ILG,LAY), BF(ILG,LEV), 2 BS(ILG), URBF(ILG,LAY), DBF(ILG,LAY), EM0(ILG), CLD(ILG,LAY), 3 CLDM(ILG,LAY), ANU(ILG,LAY) REAL S(ILG,LAY), TERM1(ILG), EMISW(ILG,LAY), SCATBK(ILG,LAY), 1 SCATFW(ILG,LAY), SCATSM(ILG,4,LAY), TAUM(ILG,4,LAY), 2 XD(ILG,4,LAY), XU(ILG,4,LAY), DTR(ILG,4,LAY), FX(ILG,4,LEV), 3 FY(ILG,4,LEV), FW(ILG,4,LEV), S1(ILG), T(ILG) INTEGER NCT(ILG), NCD(ILG,LAY), NCU(ILG,LAY), NCUM(LAY), NCDM(LAY) C DATA RU / 1.6487213 / C C----------------------------------------------------------------------C C INITIALIZATION FOR FIRST LAYER. CALCULATE THE DOWNWARD FLUX IN C C THE SECOND LAYER C C COMBINE THE OPTICAL PROPERTIES FOR THE INFRARED, C C 1, AEROSOL + GAS; 2, CLOUD + AEROSOL + GAS. C C FD (FU) IS DOWN (UPWARD) FLUX, FX (FY) IS THE INCIDENT FLUX C C ABOVE (BELOW) THE CONSIDERED LAYER. C C GAUSSIAN INTEGRATION AND DIFFUSIVITY FACTOR, RU (LI JAS 2000) C C ABOVE MAXC, EXPONENTIAL SOURCE FUNCTION IS USED C C BELOW MAXC, LINEAR SOURCE FUNCTION IS USED C C----------------------------------------------------------------------C C C mxy+ DO K = 1, LAY DO I = IL1, IL2 if(TAUAL(I,K).lt.0) then c print*,'negative TAUAL',II,JJ,K,TAUAL(I,K) TAUAL(I,K)=MAX(TAUAL(I,K),1.e-20) endif if(TAUG(I,K).lt.0) then print*,'negative TAUG',II,JJ,K,TAUG(I,K) TAUG(I,K)=MAX(TAUG(I,K),1.e-20) endif ENDDO ENDDO C mxy+ L1 = LEV1 L2 = LEV1 + 1 DO 100 I = IL1, IL2 FD(I,1,LEV1) = SLWF(I) FD(I,2,LEV1) = SLWF(I) FX(I,1,LEV1) = FD(I,1,LEV1) FX(I,2,LEV1) = FD(I,2,LEV1) 100 CONTINUE C DO 150 K = L2, MAXC KM1 = K - 1 DO 125 I = IL1, IL2 TAUL1 = TAUAL(I,KM1) + TAUG(I,KM1) RTAUL1 = TAUL1 * RU DTR(I,1,KM1) = EXP (- RTAUL1) UBETA = URBF(I,KM1) / (TAUL1 + 1.E-20) EPSD = UBETA + 1.0 EPSU = UBETA - 1.0 C IF (ABS(EPSD) .GT. 0.001) THEN XD(I,1,KM1) = (BF(I,K) - BF(I,KM1) * 1 DTR(I,1,KM1)) / EPSD ELSE XD(I,1,KM1) = RTAUL1 * BF(I,KM1) * DTR(I,1,KM1) ENDIF C IF (ABS(EPSU) .GT. 0.001) THEN XU(I,1,KM1) = (BF(I,K) * DTR(I,1,KM1) - 1 BF(I,KM1)) / EPSU ELSE XU(I,1,KM1) = RTAUL1 * BF(I,K) * DTR(I,1,KM1) ENDIF C FD(I,1,K) = FD(I,1,KM1) * DTR(I,1,KM1) + 1 XD(I,1,KM1) FD(I,2,K) = FD(I,2,KM1) * DTR(I,1,KM1) + 1 XD(I,1,KM1) FX(I,1,K) = FD(I,2,K) FX(I,2,K) = FD(I,2,K) if(XD(I,1,KM1).gt.2000. .or. XD(I,1,KM1).lt.-1000. .or. & XU(I,1,KM1).gt.2000. .or. XU(I,1,KM1).lt.-1000.)then print*,'XU(I,1,KM1)',I,XU(I,1,KM1),XD(I,1,KM1),RTAUL1, & BF(I,KM1),DTR(I,1,KM1),EPSU,TAUL1,TAUAL(I,KM1),TAUG(I,KM1) endif if(FD(I,2,K).gt.2000. .or. FD(I,2,K).lt.-1000.) then print*,'FD(I,2,K)',I,K,FD(I,2,K),FD(I,2,KM1),DTR(I,1,KM1), & XD(I,1,KM1),RTAUL1,BF(I,KM1),EPSU,UBETA,UBETA, & URBF(I,KM1),TAUL1,DTR(I,1,KM1),RTAUL1,RU,TAUAL(I,KM1), & TAUG(I,KM1) endif if(FD(I,1,K).gt.2000. .or. FD(I,1,K).lt.-1000.) then print*,'FD(I,1,K)',I,K,FD(I,1,K),FD(I,1,KM1),DTR(I,1,KM1), & XD(I,1,KM1),BF(I,K),BF(I,KM1),EPSD,UBETA,RTAUL1,TAUL1, & RU,TAUAL(I,KM1),TAUG(I,KM1) endif 125 CONTINUE 150 CONTINUE C C----------------------------------------------------------------------C C ADD THE LAYERS DOWNWARD FROM THE SECOND LAYER TO THE SURFACE. C C DETERMINE THE XU FOR THE UPWARD PATH. C C USING EXPONENTIAL SOURCE FUNCTION FOR CLR FLUX CALCULATION AND C C ALSO FOR ALL SKY FLUX IN CLOUD FREE LAYERS. C C----------------------------------------------------------------------C C IF (MAXC .LT. LEV) THEN DO 250 K = MAXC + 1, LEV KM1 = K - 1 KM2 = KM1 - 1 DO 225 I = IL1, IL2 TAUL1 = TAUAL(I,KM1) + TAUG(I,KM1) RTAUL1 = TAUL1 * RU DTR(I,1,KM1) = EXP (- RTAUL1) if(RTAUL1.lt.0) then print*,'RTAUL1',I,K,RTAUL1,DTR(I,1,KM1),TAUL1, & TAUAL(I,KM1),TAUG(I,KM1) endif C UBETA = URBF(I,KM1) / (TAUL1 + 1.E-20) EPSD = UBETA + 1.0 EPSU = UBETA - 1.0 C IF (ABS(EPSD) .GT. 0.001) THEN XD(I,1,KM1) = (BF(I,K) - BF(I,KM1) * 1 DTR(I,1,KM1)) / EPSD ELSE XD(I,1,KM1) = RTAUL1 * BF(I,KM1) * DTR(I,1,KM1) ENDIF C IF (ABS(EPSU) .GT. 0.001) THEN XU(I,1,KM1) = (BF(I,K) * DTR(I,1,KM1) - 1 BF(I,KM1)) / EPSU ELSE XU(I,1,KM1) = RTAUL1 * BF(I,K) * DTR(I,1,KM1) ENDIF C FD(I,1,K) = FD(I,1,KM1) * DTR(I,1,KM1) + 1 XD(I,1,KM1) IF (CLD(I,KM1) .LT. CUT) THEN FD(I,2,K) = FD(I,2,KM1) * DTR(I,1,KM1) + 1 XD(I,1,KM1) FX(I,1,K) = FD(I,2,K) FX(I,2,K) = FD(I,2,K) ELSE TAUL2 = TAUCI(I,KM1) + TAUG(I,KM1) SSALB = OMCI(I,KM1) / (TAUL2 + 1.E-20) SF = SSALB * FL(I,KM1) W = (SSALB - SF) / (1.0 - SF) COW = 1.0 - W TAUM(I,1,KM1) = (COW * TAUL2 * (1.0 - SF) + 1 TAUAL(I,KM1)) * RU ZETA = DBF(I,KM1) / TAUM(I,1,KM1) TAU2 = TAUM(I,1,KM1) + TAUM(I,1,KM1) C SANU = ANU(I,KM1) X = SANU / (SANU + TAUM(I,1,KM1)) Y = SANU / (SANU + TAU2) C IF (SANU .LE. 0.50) THEN DTR(I,2,KM1) = SQRT(X) DTR2 = SQRT(Y) EMISW(I,KM1) = ZETA * (SQRT(1.0 + TAU2) - 1.0) EMBK = 1.0 - SQRT(1.0 + TAU2 + TAU2) if(DTR(I,2,KM1).gt.2000. .or. DTR(I,2,KM1).lt.-1000..or. & DTR2.gt.2000. .or. DTR2.lt.-1000. .or. & EMISW(I,KM1).gt.2000. .or. EMISW(I,KM1).lt.-1000..or. & EMBK.gt.2000. .or. EMBK.lt.-1000.) then print*,'DTR(I,2,KM1),DTR2',I,K,DTR(I,2,KM1),DTR2,X,Y, & EMISW(I,KM1),EMBK,ZETA,TAU2,SANU,TAU2,TAUM(I,1,KM1), & TAUCI(I,KM1),TAUG(I,KM1),OMCI(I,KM1),FL(I,KM1), & TAUAL(I,KM1),DBF(I,KM1),FD(I,1,KM1),DTR(I,1,KM1), & XD(I,1,KM1),FD(I,2,K) endif ELSE IF (SANU .GT. 0.50 .AND. SANU .LE. 1.0) THEN WT = 2.0 * SANU - 1.0 SX = SQRT(X) SY = SQRT(Y) DTR(I,2,KM1) = SX + (X - SX) * WT DTR2 = SY + (Y - SY) * WT P1 = SQRT(1.0 + TAU2) - 1.0 EMISW(I,KM1) = ZETA * (P1 + (LOG(1.0 + 1 TAUM(I,1,KM1)) - P1) * WT) P2 = 1.0 - SQRT(1.0 + TAU2 + TAU2) EMBK = P2 - (LOG(1.0 + TAU2) + P2) * WT if(SX.gt.2000. .or. SX.lt.-1000. .or. & SY.gt.2000. .or. SY.lt.-1000. .or. & P1.GT.2000. .or. P1.lt.-1000. .or. & EMISW(I,KM1).gt.2000. .or. EMISW(I,KM1).lt.-1000..or. & P2.gt.2000. .or. P2.lt.-1000. .or. & EMBK.gt.2000. .or. EMBK.lt.-1000.) then print*,'SX,SY',I,K,SX,SY,P1,P2,EMISW(I,KM1),EMBK, & SANU,X,Y,DTR(I,2,KM1),DTR2,TAU2,ZETA,TAUM(I,1,KM1) endif ELSE IF (SANU .GT. 1.0 .AND. SANU .LE. 2.0) THEN WT = SANU - 1.0 DTR(I,2,KM1) = X + (X * X - X) * WT DTR2 = Y + (Y * Y - Y) * WT Z = SANU / (SANU - 1.0) P1 = LOG(1.0 + TAUM(I,1,KM1)) EMISW(I,KM1) = ZETA * (P1 + (Z * (1.0 - X) - P1) * 1 WT) P2 = - LOG(1.0 + TAU2) EMBK = P2 + (Z * (Y - 1.0) - P2) * WT if(P1.gt.2000. or. P1.lt.-1000. .or. & P2.gt.2000. or. P2.lt.-1000.) then print*,'P1,P2',I,K,P1,P2,SANU,DTR(I,2,KM1),TAUM(I,1,KM1), & EMISW(I,KM1),TAU2 endif ELSE IF (SANU .GT. 2.0 .AND. SANU .LE. 3.0) THEN X2 = X * X Y2 = Y * Y WT = SANU - 2.0 DTR(I,2,KM1) = X2 + (X * X2 - X2) * WT DTR2 = Y2 + (Y * Y2 - Y2) * WT Z = SANU / (SANU - 1.0) EMISW(I,KM1) = Z * ZETA * 1 (1.0 - X + (X - X2) * WT) EMBK = Z * (Y - 1.0 + (Y2 - Y) * WT) ELSE IF (SANU .GT. 3.0 .AND. SANU .LE. 4.0) THEN X2 = X * X Y2 = Y * Y X3 = X2 * X Y3 = Y2 * Y WT = SANU - 3.0 DTR(I,2,KM1) = X3 + (X2 * X2 - X3) * WT DTR2 = Y3 + (Y2 * Y2 - Y3) * WT Z = SANU / (SANU - 1.0) EMISW(I,KM1) = Z * ZETA * 1 (1.0 - X2 + (X2 - X3) * WT) EMBK = Z * (Y2 - 1.0 + (Y3 - Y2) * WT) C C----------------------------------------------------------------------C C FOR ANU > 4, THE INHOMOENEITY EFFECT IS VERY WEAK, FOR SAVING C C THE INTEGER ANU IS ASSUMED. FOR ANU > 20, HOMOGENOUS IS ASSUMED C C----------------------------------------------------------------------C C ELSE IF (SANU .GT. 4.0 .AND. SANU .LE. 20.0) THEN NANU = INT(SANU) DTR(I,2,KM1) = X ** NANU DTR2 = Y ** NANU Z = SANU / (SANU - 1.0) EMISW(I,KM1) = Z * ZETA * (1.0 - DTR(I,2,KM1) / X) EMBK = Z * (DTR2 / Y - 1.0) ELSE EMISW(I,KM1) = ZETA * (1.0 - EXP(- TAUM(I,1,KM1))) EMBK = (EXP(- TAU2) - 1.0) if(EMISW(I,KM1).gt.2000. .or. EMISW(I,KM1).lt.-1000. & .or. EMBK.gt.2000. .or. EMBK.lt.-1000.) then print*,'EMISW(I,KM1),EMBK',I,KM1,EMISW(I,KM1),EMBK, & TAUM(I,1,KM1),TAU2 endif ENDIF C XD(I,2,KM1) = BF(I,K) - BF(I,KM1) * 1 DTR(I,2,KM1) - EMISW(I,KM1) XU(I,2,KM1) = BF(I,KM1) - BF(I,K) * 1 DTR(I,2,KM1) + EMISW(I,KM1) C WGRCOW = W * GCI(I,KM1) / COW TAUDTR = TAUM(I,1,KM1) * DTR(I,2,KM1) C SCATFW(I,KM1) = WGRCOW * X * TAUDTR SCATBK(I,KM1) = 0.5 * WGRCOW * (DTR2 - 1.0) C X = WGRCOW * (2.0 * EMISW(I,KM1) + 1 (0.5 * EMBK - TAUDTR) * ZETA) SCATSM(I,1,KM1) = - SCATBK(I,KM1) * BF(I,K) - 1 SCATFW(I,KM1) * BF(I,KM1) - X SCATSM(I,2,KM1) = - SCATBK(I,KM1) * BF(I,KM1) - 1 SCATFW(I,KM1) * BF(I,K) + X C IF (K .EQ. L2) THEN FX(I,1,K) = FX(I,1,KM1) * DTR(I,1,KM1) + 1 XD(I,1,KM1) FX(I,2,K) = FX(I,2,KM1) * DTR(I,2,KM1) + 1 XD(I,2,KM1) ELSE IF (CLD(I,KM1) .LE. CLD(I,KM2)) THEN FX(I,1,K) = ( FX(I,2,KM1) + (1.0 - CLD(I,KM2)) / 1 (1.0 - CLD(I,KM1) - 1.E-10) * 2 (FX(I,1,KM1) - FX(I,2,KM1)) ) * 3 DTR(I,1,KM1) + XD(I,1,KM1) FX(I,2,K) = FX(I,2,KM1) * DTR(I,2,KM1) + 1 XD(I,2,KM1) ELSE IF (CLD(I,KM1) .GT. CLD(I,KM2)) THEN FX(I,1,K) = FX(I,1,KM1) * DTR(I,1,KM1) + 1 XD(I,1,KM1) FX(I,2,K) = (FX(I,1,KM1) + 1 CLD(I,KM2) / CLD(I,KM1) * 2 (FX(I,2,KM1) - FX(I,1,KM1))) * 3 DTR(I,2,KM1) + XD(I,2,KM1) ENDIF C FD(I,2,K) = FX(I,1,K) + CLD(I,KM1) * 1 (FX(I,2,K) - FX(I,1,K)) ENDIF 225 CONTINUE 250 CONTINUE ENDIF C C----------------------------------------------------------------------C C INITIALIZATION FOR SURFACE C C----------------------------------------------------------------------C K = LEV - 1 DO 300 I = IL1, IL2 C mxy+ EMBS = EM0(I) * BS(I) ABSE0 = 1.0 - EM0(I) FU(I,1,LEV) = EMBS + ABSE0 * FD(I,1,LEV) FY(I,1,LEV) = EMBS + ABSE0 * FX(I,1,LEV) FY(I,2,LEV) = EMBS + ABSE0 * FX(I,2,LEV) FU(I,2,LEV) = FY(I,1,LEV) + CLD(I,K) * 1 (FY(I,2,LEV) - FY(I,1,LEV)) FW(I,2,LEV) = FY(I,2,LEV) C mxy+ C FU(I,1,LEV) = FD(I,1,LEV) + EM0(I) * c 1 (BS(I) - FD(I,1,LEV)) c FY(I,1,LEV) = FX(I,1,LEV) + EM0(I) * c 1 (BS(I) - FX(I,1,LEV)) c FY(I,2,LEV) = FX(I,2,LEV) + EM0(I) * c 1 (BS(I) - FX(I,2,LEV)) c FU(I,2,LEV) = FY(I,1,LEV) + CLD(I,K) * c 1 (FY(I,2,LEV) - FY(I,1,LEV)) c FW(I,2,LEV) = FY(I,2,LEV) C C----------------------------------------------------------------------C C DETERMINING THE UPWARD FLUX FOR THE FIRST LAY ABOVE SURFACE C C----------------------------------------------------------------------C C FU(I,1,K) = FU(I,1,LEV) * DTR(I,1,K) + 1 XU(I,1,K) C FY(I,1,K) = FY(I,1,LEV) * DTR(I,1,K) + 1 XU(I,1,K) IF (CLD(I,K) .LT. CUT) THEN S(I,K) = 0.0 FY(I,2,K) = FY(I,2,LEV) * DTR(I,1,K) + 1 XU(I,1,K) FU(I,2,K) = FY(I,1,K) FW(I,2,K) = FY(I,2,K) TAUM(I,2,K) = 0.0 ELSE S(I,K) = SCATBK(I,K) * FX(I,2,K) + 1 SCATFW(I,K) * FY(I,2,LEV) + 2 SCATSM(I,2,K) FY(I,2,K) = FY(I,2,LEV) * DTR(I,2,K) + 1 XU(I,2,K) + S(I,K) FU(I,2,K) = FY(I,1,K) + CLD(I,K) * 1 (FY(I,2,K) - FY(I,1,K)) FW(I,2,K) = FY(I,2,K) FW(I,2,K) = FY(I,2,K) TAUM(I,2,K) = TAUM(I,1,K) ENDIF 300 CONTINUE C C----------------------------------------------------------------------C C ADD THE LAYERS UPWARD FROM THE SECOND LAYER TO MAXC C C SCATTERING EFFECT FOR UPWARD PATH IS INCLUDED C C----------------------------------------------------------------------C C DO 450 K = LEV - 2, MAXC, - 1 KP1 = K + 1 KP2 = K + 2 DO 400 I = IL1, IL2 IF (K .GE. NCT(I)) THEN FU(I,1,K) = FU(I,1,KP1) * DTR(I,1,K) + 1 XU(I,1,K) C IF (CLD(I,K) .LT. CUT) THEN FU(I,2,K) = FU(I,2,KP1) * DTR(I,1,K) + 1 XU(I,1,K) FY(I,1,K) = FU(I,2,K) FY(I,2,K) = FU(I,2,K) FW(I,2,K) = FU(I,2,K) TAUM(I,2,K) = 0.0 ELSE C C----------------------------------------------------------------------C C FY(I,2,K) CONTAINS UNPERTURBED + BACKWARD SCATTERING EFFECT + C C FORWARD SCATTERING EFFECT + INTERNAL SCATTERING EFFECT C C (LI AND FU, JAS 2000) C C----------------------------------------------------------------------C C IF (CLD(I,K) .LE. CLD(I,KP1) .OR. 1 CLD(I,K) - CLDM(I,K) .LT. CUT) THEN C FY(I,1,K) = ( FY(I,2,KP1) + (1.0 - CLD(I,KP1)) / 1 (1.0 - CLD(I,K) - 1.E-10) * 2 (FY(I,1,KP1) - FY(I,2,KP1)) ) * 3 DTR(I,1,K) + XU(I,1,K) T(I) = FY(I,2,KP1) ELSE FY(I,1,K) = FY(I,1,KP1) * DTR(I,1,K) + 1 XU(I,1,K) T(I) = FY(I,1,KP1) + 1 (CLD(I,KP1) - CLDM(I,KP1)) / 2 (CLD(I,K) - CLDM(I,K)) * 3 (FY(I,2,KP1) - FY(I,1,KP1)) ENDIF C BKINS = SCATBK(I,K) * FX(I,2,K) + 1 SCATSM(I,2,K) FY(I,2,K) = T(I) * (DTR(I,2,K) + SCATFW(I,K)) + 1 XU(I,2,K) + BKINS TAUM(I,2,K) = TAUM(I,2,KP1) + TAUM(I,1,K) S1(I) = 0.0 S(I,K) = BKINS + SCATFW(I,K) * FY(I,2,KP1) TERM1(I) = 0.0 C IF (NCU(I,K) .GT. 1) THEN KX = K + NCU(I,K) KXM = KX - 1 C SANU = ANU(I,KXM) ANUTAU = SANU / (SANU + TAUM(I,2,K)) IF (SANU .LE. 0.50) THEN DTRGW = SQRT(ANUTAU) ELSE IF (SANU .GT. 0.50 .AND. SANU .LE. 1.0) THEN X = SQRT(ANUTAU) DTRGW = X + 2.0 * (SANU - 0.50) * 1 (ANUTAU - X) ELSE IF (SANU .GT. 1.0 .AND. SANU .LE. 2.0) THEN DTRGW = ANUTAU + (SANU - 1.0) * ANUTAU * 1 (ANUTAU - 1.0) ELSE IF (SANU .GT. 2.0 .AND. SANU .LE. 3.0) THEN X = ANUTAU * ANUTAU DTRGW = X + (SANU - 2.0) * X * 1 (ANUTAU - 1.0) ELSE IF (SANU .GT. 3.0 .AND. SANU .LE. 4.0) THEN X = ANUTAU * ANUTAU * ANUTAU DTRGW = X + (SANU - 3.0) * X * 1 (ANUTAU - 1.0) ELSE IF (SANU .GT. 4.0 .AND. SANU .LE. 20.0) THEN DTRGW = ANUTAU ** (INT(SANU)) ELSE DTRGW = EXP(- TAUM(I,2,K)) if(DTRGW.gt.2000. .or. DTRGW.lt.-1000.) then print*,'DTRGW',DTRGW,TAUM(I,2,K) endif ENDIF C TERM1(I) = (FW(I,2,KX) - BF(I,KX)) * DTRGW S1(I) = (EMISW(I,KP1) + S(I,KP1)) * 1 DTR(I,2,K) ENDIF ENDIF ENDIF 400 CONTINUE C C----------------------------------------------------------------------C C DETERMINING THE TERMS GOING INTO THE CORRELATION CALCULATIONS C C FOR SUBGRID VARIABILITY FOR CLDM PORTION. C C----------------------------------------------------------------------C C IF (NCUM(K) .GT. 2) THEN DO 420 KK = KP2, K + NCUM(K) - 1 DO 420 I = IL1, IL2 IF (K .GE. NCT(I) .AND. CLD(I,K) .GE. CUT .AND. 1 NCU(I,K) .GT. 2 .AND. KK .LE. K + NCU(I,K) - 1) THEN C SANU = ANU(I,KK) ANUTAU = SANU / (SANU + 1 TAUM(I,2,K) - TAUM(I,2,KK)) IF (SANU .LE. 0.50) THEN DTRGW = SQRT(ANUTAU) ELSE IF (SANU .GT. 0.50 .AND. SANU .LE. 1.0) THEN X = SQRT(ANUTAU) DTRGW = X + 2.0 * (SANU - 0.50) * 1 (ANUTAU - X) ELSE IF (SANU .GT. 1.0 .AND. SANU .LE. 2.0) THEN DTRGW = ANUTAU + (SANU - 1.0) * ANUTAU * 1 (ANUTAU - 1.0) ELSE IF (SANU .GT. 2.0 .AND. SANU .LE. 3.0) THEN X = ANUTAU * ANUTAU DTRGW = X + (SANU - 2.0) * X * 1 (ANUTAU - 1.0) ELSE IF (SANU .GT. 3.0 .AND. SANU .LE. 4.0) THEN X = ANUTAU * ANUTAU * ANUTAU DTRGW = X + (SANU - 3.0) * X * 1 (ANUTAU - 1.0) ELSE IF (SANU .GT. 4.0 .AND. SANU .LE. 20.0) THEN DTRGW = ANUTAU ** (INT(SANU)) ELSE DTRGW = EXP(- TAUM(I,2,KK) + TAUM(I,2,KK)) if(DTRGW.gt.2000. .or. DTRGW.lt.-1000.) then print*,'DTRGW',DTRGW,TAUM(I,2,KK),TAUM(I,2,KK) endif ENDIF C S1(I) = S1(I) + 1 (EMISW(I,KK) + S(I,KK)) * DTRGW ENDIF 420 CONTINUE ENDIF C C----------------------------------------------------------------------C C IN CLDM REGION CONSIDER THE CORRELATION BETWEEN DIFFERENT LAYERS C C----------------------------------------------------------------------C C DO 430 I = IL1, IL2 IF (K .GE. NCT(I)) THEN IF (CLD(I,K) .GE. CUT) THEN IF (NCU(I,K) .EQ. 1) THEN FW(I,2,K) = FY(I,2,K) FU(I,2,K) = FY(I,1,K) + CLD(I,K) * (FY(I,2,K) - 1 FY(I,1,K)) ELSE FW(I,2,K) = TERM1(I) + S1(I) + BF(I,K) + 1 EMISW(I,K) + S(I,K) FU(I,2,K) = CLDM(I,K) * (FW(I,2,K) - 1 FY(I,2,K)) + FY(I,1,K) + 2 CLD(I,K) * (FY(I,2,K) - FY(I,1,K)) ENDIF ENDIF ENDIF 430 CONTINUE 450 CONTINUE C C----------------------------------------------------------------------C C ADD THE LAYERS UPWARD ABOVE THE HIGHEST CLOUD TO THE TOA, NO C C SCATTERING C C----------------------------------------------------------------------C C DO 550 K = LEV - 1, L1, - 1 KP1 = K + 1 C DO 500 I = IL1, IL2 IF (KP1 .LE. NCT(I)) THEN FU(I,1,K) = FU(I,1,KP1) * DTR(I,1,K) + 1 XU(I,1,K) FU(I,2,K) = FU(I,2,KP1) * DTR(I,1,K) + 1 XU(I,1,K) if(FU(I,2,K).gt.2000. .or. FU(I,2,K).lt.-1000.) then print*,'FU(I,2,K)',FU(I,2,KP1),DTR(I,1,K),XU(I,1,K), & FU(I,1,K),FU(I,1,KP1) endif ENDIF C C----------------------------------------------------------------------C C SCATTERING EFFECT FOR DOWNWARD PATH AT THE TOP LAYER OF THE C C HIGHEST CLOUD C C----------------------------------------------------------------------C C IF (K .EQ. NCT(I)) THEN FW(I,1,K) = FX(I,1,K) FWINS = SCATSM(I,1,K) + 1 SCATFW(I,K) * FX(I,2,K) FMBK = FX(I,2,K) * DTR(I,2,K) + 1 XD(I,2,K) + FWINS FX(I,2,KP1) = FMBK + SCATBK(I,K) * FY(I,2,KP1) TAUM(I,2,K) = TAUM(I,1,K) S(I,K) = SCATBK(I,K) * FW(I,2,KP1) + FWINS C FW(I,1,KP1) = FMBK + SCATBK(I,K) * FW(I,2,KP1) FD(I,2,KP1) = FX(I,1,KP1) + CLD(I,K) * 1 (FX(I,2,KP1) - FX(I,1,KP1)) ENDIF 500 CONTINUE 550 CONTINUE C C----------------------------------------------------------------------C C SCATTERING EFFECT FOR DOWNWARD PATH IN FROM MAXC TO THE SURFACE C C----------------------------------------------------------------------C C DO 750 K = MAXC + 2, LEV KM1 = K - 1 KM2 = K - 2 KM3 = K - 3 DO 700 I = IL1, IL2 IF (KM2 .GE. NCT(I)) THEN IF (CLD(I,KM1) .LT. CUT) THEN FD(I,2,K) = FD(I,2,KM1) * DTR(I,1,KM1) + 1 XD(I,1,KM1) FX(I,1,K) = FD(I,2,K) FX(I,2,K) = FD(I,2,K) FW(I,1,K) = FD(I,2,K) TAUM(I,2,KM1) = 0.0 ELSE IF (CLD(I,KM1) .LE. CLD(I,KM2) .OR. 1 CLD(I,KM1) - CLDM(I,KM1) .LT. CUT) THEN C FX(I,1,K) = (FX(I,2,KM1) + (1.0 - CLD(I,KM2)) / 1 (1.0 - CLD(I,KM1) - 1.E-10) * 2 (FX(I,1,KM1) - FX(I,2,KM1))) * 3 DTR(I,1,KM1) + XD(I,1,KM1) T(I) = FX(I,2,KM1) ELSE FX(I,1,K) = FX(I,1,KM1) * DTR(I,1,KM1) + 1 XD(I,1,KM1) T(I) = FX(I,1,KM1) + 1 (CLD(I,KM2) - CLDM(I,KM2)) / 2 (CLD(I,KM1) - CLDM(I,KM1)) * 3 (FX(I,2,KM1) - FX(I,1,KM1)) ENDIF C FX(I,2,K) = T(I) * DTR(I,2,KM1) + XD(I,2,KM1) + 1 SCATBK(I,KM1) * FY(I,2,K) + 2 SCATFW(I,KM1) * T(I) + 3 SCATSM(I,1,KM1) C TAUM(I,2,KM1) = TAUM(I,2,KM2) + TAUM(I,1,KM1) S1(I) = 0.0 S(I,KM1) = SCATBK(I,KM1) * FW(I,2,K) + 1 SCATFW(I,KM1) * FW(I,1,KM1) + 2 SCATSM(I,1,KM1) TERM1(I) = 0.0 C IF (NCD(I,KM1) .GT. 1) THEN KX = K - NCD(I,KM1) SANU = ANU(I,KX) ANUTAU = SANU / (SANU + TAUM(I,2,KM1)) IF (SANU .LE. 0.50) THEN DTRGW = SQRT(ANUTAU) ELSE IF (SANU .GT. 0.50 .AND. SANU .LE. 1.0) THEN X = SQRT(ANUTAU) DTRGW = X + 2.0 * (SANU - 0.50) * 1 (ANUTAU - X) ELSE IF (SANU .GT. 1.0 .AND. SANU .LE. 2.0) THEN DTRGW = ANUTAU + (SANU - 1.0) * ANUTAU * 1 (ANUTAU - 1.0) ELSE IF (SANU .GT. 2.0 .AND. SANU .LE. 3.0) THEN X = ANUTAU * ANUTAU DTRGW = X + (SANU - 2.0) * X * 1 (ANUTAU - 1.0) ELSE IF (SANU .GT. 3.0 .AND. SANU .LE. 4.0) THEN X = ANUTAU * ANUTAU * ANUTAU DTRGW = X + (SANU - 3.0) * X * 1 (ANUTAU - 1.0) ELSE IF (SANU .GT. 4.0 .AND. SANU .LE. 20.0) THEN DTRGW = ANUTAU ** (INT(SANU)) ELSE DTRGW = EXP(- TAUM(I,2,KM1)) if(DTRGW.gt.2000. .or. DTRGW.lt.-1000.)then print*,'DTRGW,TAUM(I,2,KM1)',DTRGW,TAUM(I,2,KM1) endif ENDIF C TERM1(I) = (FW(I,1,KX) - BF(I,KX)) * DTRGW S1(I) = (S(I,KM2) - EMISW(I,KM2)) * 1 DTR(I,2,KM1) ENDIF ENDIF ENDIF 700 CONTINUE C C----------------------------------------------------------------------C C DETERMINING THE TERMS GOING INTO THE CORRELATION CALCULATIONS C C FOR CLDM PORTION. C C----------------------------------------------------------------------C C IF (NCDM(KM1) .GT. 2) THEN C C----------------------------------------------------------------------C C NOTE THAT IN THE FOLLOWING LOOP, "KM1" IS ACTUALLY THE C C REPRESENTATIVE VARIABLE, SO THAT K-NCD(I,KM1) IS ACTUALLY C C KM1-NCD(I,KM1)+1. THE SIMPLER FORM IS USED ONLY FOR C C COMPUTATIONAL EFFICIENCY. C C----------------------------------------------------------------------C C DO 720 KK = KM3, K - NCDM(KM1), - 1 DO 720 I = IL1, IL2 IF (KM2 .GE. NCT(I) .AND. CLD(I,KM1) .GE. CUT .AND. 1 NCD(I,KM1) .GT. 2 .AND. KK .GE. K - NCD(I,KM1)) THEN C SANU = ANU(I,KK) ANUTAU = SANU / (SANU + 1 TAUM(I,2,KM1) - TAUM(I,2,KK)) IF (SANU .LE. 0.50) THEN DTRGW = SQRT(ANUTAU) ELSE IF (SANU .GT. 0.50 .AND. SANU .LE. 1.0) THEN X = SQRT(ANUTAU) DTRGW = X + 2.0 * (SANU - 0.50) * 1 (ANUTAU - X) ELSE IF (SANU .GT. 1.0 .AND. SANU .LE. 2.0) THEN DTRGW = ANUTAU + (SANU - 1.0) * ANUTAU * 1 (ANUTAU - 1.0) ELSE IF (SANU .GT. 2.0 .AND. SANU .LE. 3.0) THEN X = ANUTAU * ANUTAU DTRGW = X + (SANU - 2.0) * X * 1 (ANUTAU - 1.0) ELSE IF (SANU .GT. 3.0 .AND. SANU .LE. 4.0) THEN X = ANUTAU * ANUTAU * ANUTAU DTRGW = X + (SANU - 3.0) * X * 1 (ANUTAU - 1.0) ELSE IF (SANU .GT. 4.0 .AND. SANU .LE. 20.0) THEN DTRGW = ANUTAU ** (INT(SANU)) ELSE DTRGW = EXP(- TAUM(I,2,KM1) + TAUM(I,2,KK)) if(DTRGW.gt.2000. .or. DTRGW.lt.-1000.) then print*,'DTRGW,TAUM(I,2,KM1),TAUM(I,2,KK)', & DTRGW,TAUM(I,2,KM1),TAUM(I,2,KK) endif ENDIF C S1(I) = S1(I) - 1 (EMISW(I,KK) - S(I,KK)) * DTRGW ENDIF 720 CONTINUE ENDIF C DO 730 I = IL1, IL2 IF (KM2 .GE. NCT(I)) THEN IF (CLD(I,KM1) .GE. CUT) THEN IF (NCD(I,KM1) .EQ. 1) THEN FW(I,1,K) = FX(I,2,K) FD(I,2,K) = FX(I,1,K) + CLD(I,KM1) * 1 (FX(I,2,K) - FX(I,1,K)) ELSE FW(I,1,K) = TERM1(I) + S1(I) + BF(I,K) - 1 EMISW(I,KM1) + S(I,KM1) FD(I,2,K) = CLDM(I,KM1) * 1 (FW(I,1,K) - FX(I,2,K)) + 2 FX(I,1,K) + CLD(I,KM1) * 3 (FX(I,2,K) - FX(I,1,K)) ENDIF ENDIF ENDIF 730 CONTINUE 750 CONTINUE C RETURN END SUBROUTINE LWTRAGH (FU, FD, SLWF, TAUCI, OMCI, TAUAL, TAUG, BF, 1 URBF, CLD, EM0, BS, CUT, 2 IL1, IL2, ILG, LAY, LEV) C C----------------------------------------------------------------------C C IN THE G SPACE WITH INTERVAL CLOSE 1 (VERY LARGE OPTICAL DEPTH) C C OR IN THE CASE WITH CLOUD ABSORPTION IS VERY SMALL OR THE WEIGHT C C OF FLUX AND COOLING RATE ARE VERY SMALL. THE CLOUD RADIATIVE C C PROCESS CAN BE HIGHLY SIMPLIFIED. THE ABSORPTION APPROXIMATION C C METHOD IS USED AND CLOUD RANDOM AND MAXIMUM OVERLAP IS C C CONSIDERED, BUT CLOUD SCATTERING AND INHOMOGENEITY ARE IGNORED. C C THE EXPONENTIAL SOURCE PLANCK FUNCTION IS USED WHICH IS MORE C C ACCURATE IN THE REGION ABOVE 200 MB IN COMPARISON WITH LINEAR C C SOURCE FUNCTION C C C C FU: UPWARD INFRARED FLUX C C FD: DOWNWARD INFRARED FLUX C C SLWF: INPUT SOLAR FLUX AT MODEL TOP LEVEL FOR EACH BAND C C TAUCI: CLOUD OPTICAL DEPTH FOR THE INFRARED C C OMCI: CLOUD SINGLE SCATTERING ALBEDO TIMES OPTICAL DEPTH C C TAUAL: AEROSOL OPTICAL DEPTH FOR THE INFRARED C C TAUG: GASEOUS OPTICAL DEPTH FOR THE INFRARED C C BF: BLACKBODY INTENSITY INTEGRATED OVER EACH BAND AT EACH C C LEVEL IN UNITS W / M^2 / SR. C C BS: THE BLACKBODY INTENSITY AT THE SURFACE. C C URBF: U TIMES THE DIFFERENCE OF LOG(BF) FOR TWO NEIGHBOR LEVELS C C USED FOR EXPONENTIAL SOURCE FUNCTION (LI, 2002 JAS P3302) C C CLD: CLOUD FRACTION C C EM0: SURFACE EMISSION C C XU: THE EMISSION PART IN THE UPWARD FLUX TRANSMISSION C C (LI, 2002 JAS P3302) C C XD: THE EMISSION PART IN THE DOWNWARD FLUX TRANSMISSION C C DTR: DIRECT TRANSMISSION C C FY: UPWARD FLUX FOR PURE CLEAR PORTION (1) AND PURE CLOUD C C PORTION (2) C C FX: THE SAME AS FY BUT FOR THE DOWNWARD FLUX C C----------------------------------------------------------------------C C IMPLICIT REAL (A-H,O-Z), +INTEGER (I-N) REAL FU(ILG,2,LEV), FD(ILG,2,LEV) REAL SLWF(ILG), TAUCI(ILG,LAY), OMCI(ILG,LAY), 2 TAUAL(ILG,LAY), TAUG(ILG,LAY), BF(ILG,LEV), URBF(ILG,LAY), 3 CLD(ILG,LAY), EM0(ILG), BS(ILG) REAL XU(ILG,4,LAY), XD(ILG,4,LAY), DTR(ILG,4,LAY), 1 FY(ILG,4,LEV), FX(ILG,4,LEV) C DATA RU / 1.6487213 / C C----------------------------------------------------------------------C C INITIALIZATION FOR FIRST LAYER. CALCULATE THE DOWNWARD FLUX IN C C THE SECOND LAYER C C COMBINE THE OPTICAL PROPERTIES FOR THE INFRARED, C C 1, AEROSOL + GAS; 2, CLOUD + AEROSOL + GAS. C C FD (FU) IS DOWN (UPWARD) FLUX C C THE OVERLAP BETWEEN SOLAR AND INFRARED IN 4 - 10 UM IS C C CONSIDERED, SLWF IS THE INCOMING SOLAR FLUX C C SINGULARITY FOR XD AND XU HAS BEEN CONSIDERED AS LI JAS 2002 C C----------------------------------------------------------------------C C DO 100 I = IL1, IL2 FD(I,1,1) = SLWF(I) FD(I,2,1) = SLWF(I) FX(I,1,1) = SLWF(I) FX(I,2,1) = SLWF(I) C TAUL1 = TAUAL(I,1) + TAUG(I,1) RTAUL1 = TAUL1 * RU DTR(I,1,1) = EXP (- RTAUL1) if(DTR(I,1,1).gt.2000. .or. DTR(I,1,1).lt.-1000.) then print*,'DTR(I,1,1)',I,DTR(I,1,1),RTAUL1,TAUAL(I,1),TAUG(I,1) endif UBETA = URBF(I,1) / (TAUL1 + 1.E-20) EPSD = UBETA + 1.0 EPSU = UBETA - 1.0 C IF (ABS(EPSD) .GT. 0.001) THEN XD(I,1,1) = (BF(I,2) - BF(I,1) * DTR(I,1,1)) / EPSD ELSE XD(I,1,1) = RTAUL1 * BF(I,1) * DTR(I,1,1) ENDIF IF (ABS(EPSU) .GT. 0.001) THEN XU(I,1,1) = (BF(I,2) * DTR(I,1,1) - BF(I,1)) / EPSU ELSE XU(I,1,1) = RTAUL1 * BF(I,2) * DTR(I,1,1) ENDIF C FD(I,1,2) = FD(I,1,1) * DTR(I,1,1) + XD(I,1,1) C IF (CLD(I,1) .LT. CUT) THEN FX(I,1,2) = FD(I,1,2) FX(I,2,2) = FD(I,1,2) FD(I,2,2) = FD(I,1,2) ELSE TAUL2 = TAUCI(I,1) + TAUL1 COW = 1.0 - OMCI(I,1) / TAUL2 CTAUL2 = COW * TAUL2 CRTAUL2 = CTAUL2 * RU DTR(I,2,1) = EXP (- CRTAUL2) if(DTR(I,2,1).gt.2000. .or. DTR(I,2,1).lt.-1000.) then print*,'DTR(I,2,1)',I,DTR(I,2,1),CRTAUL2,TAUL2, & TAUCI(I,1),TAUL1 endif UBETA = URBF(I,1) / (CTAUL2) EPSD = UBETA + 1.0 EPSU = UBETA - 1.0 C IF (ABS(EPSD) .GT. 0.001) THEN XD(I,2,1) = (BF(I,2) - BF(I,1) * DTR(I,2,1)) / EPSD ELSE XD(I,2,1) = CRTAUL2 * BF(I,1) * DTR(I,2,1) ENDIF IF (ABS(EPSU) .GT. 0.001) THEN XU(I,2,1) = (BF(I,2) * DTR(I,2,1) - BF(I,1)) / EPSU ELSE XU(I,2,1) = CRTAUL2 * BF(I,2) * DTR(I,2,1) ENDIF C FX(I,1,2) = FX(I,1,1) * DTR(I,1,1) + XD(I,1,1) FX(I,2,2) = FX(I,2,1) * DTR(I,2,1) + XD(I,2,1) FD(I,2,2) = FX(I,1,2) + 1 CLD(I,1) * (FX(I,2,2) - FX(I,1,2)) ENDIF 100 CONTINUE C DO 250 K = 3, LEV KM1 = K - 1 KM2 = KM1 - 1 DO 200 I = IL1, IL2 TAUL1 = TAUAL(I,KM1) + TAUG(I,KM1) RTAUL1 = TAUL1 * RU DTR(I,1,KM1) = EXP (- RTAUL1) if(DTR(I,1,KM1).gt.2000. .or. DTR(I,1,KM1).lt.-1000.) then print*,'DTR(I,1,KM1)',I,DTR(I,1,KM1),RTAUL1, & TAUAL(I,KM1),TAUG(I,KM1) endif UBETA = URBF(I,KM1) / (TAUL1 + 1.E-20) EPSD = UBETA + 1.0 EPSU = UBETA - 1.0 C IF (ABS(EPSD) .GT. 0.001) THEN XD(I,1,KM1) = (BF(I,K) - BF(I,KM1) * DTR(I,1,KM1)) / EPSD ELSE XD(I,1,KM1) = RTAUL1 * BF(I,KM1) * DTR(I,1,KM1) ENDIF IF (ABS(EPSU) .GT. 0.001) THEN XU(I,1,KM1) = (BF(I,K) * DTR(I,1,KM1) - BF(I,KM1)) / EPSU ELSE XU(I,1,KM1) = RTAUL1 * BF(I,K) * DTR(I,1,KM1) ENDIF C FD(I,1,K) = FD(I,1,KM1) * DTR(I,1,KM1) + XD(I,1,KM1) C IF (CLD(I,KM1) .LT. CUT) THEN FD(I,2,K) = FD(I,2,KM1) * DTR(I,1,KM1) + XD(I,1,KM1) FX(I,1,K) = FD(I,2,K) FX(I,2,K) = FD(I,2,K) ELSE TAUL2 = TAUCI(I,KM1) + TAUL1 COW = 1.0 - OMCI(I,KM1) / TAUL2 CTAUL2 = COW * TAUL2 CRTAUL2 = CTAUL2 * RU DTR(I,2,KM1) = EXP (- CRTAUL2) if(DTR(I,2,KM1).gt.2000. .or. DTR(I,2,KM1).lt.-1000.) then print*,'DTR(I,2,KM1)',I,DTR(I,2,KM1),CRTAUL2, & TAUCI(I,KM1),TAUL1,TAUL2,OMCI(I,KM1),COW endif UBETA = URBF(I,KM1) / (CTAUL2) EPSD = UBETA + 1.0 EPSU = UBETA - 1.0 C IF (ABS(EPSD) .GT. 0.001) THEN XD(I,2,KM1) = (BF(I,K) - BF(I,KM1) * DTR(I,2,KM1)) / EPSD ELSE XD(I,2,KM1) = CRTAUL2 * BF(I,KM1) * DTR(I,2,KM1) ENDIF IF (ABS(EPSU) .GT. 0.001) THEN XU(I,2,KM1) = (BF(I,K) * DTR(I,2,KM1) - BF(I,KM1)) / EPSU ELSE XU(I,2,KM1) = CRTAUL2 * BF(I,K) * DTR(I,2,KM1) ENDIF C IF (CLD(I,KM1) .LE. CLD(I,KM2)) THEN FX(I,1,K) = ( FX(I,2,KM1) + (1.0 - CLD(I,KM2)) / 1 (1.0 - CLD(I,KM1) - 1.E-10) * 2 (FX(I,1,KM1) - FX(I,2,KM1)) ) * 3 DTR(I,1,KM1) + XD(I,1,KM1) FX(I,2,K) = FX(I,2,KM1) * DTR(I,2,KM1) + XD(I,2,KM1) ELSE IF (CLD(I,KM1) .GT. CLD(I,KM2)) THEN FX(I,1,K) = FX(I,1,KM1) * DTR(I,1,KM1) + XD(I,1,KM1) FX(I,2,K) = (FX(I,1,KM1) + CLD(I,KM2) / CLD(I,KM1) * 1 (FX(I,2,KM1) - FX(I,1,KM1))) * 2 DTR(I,2,KM1) + XD(I,2,KM1) ENDIF C FD(I,2,K) = FX(I,1,K) + CLD(I,KM1) * (FX(I,2,K) - 1 FX(I,1,K)) ENDIF 200 CONTINUE 250 CONTINUE C DO 300 I = IL1, IL2 FU(I,1,LEV) = FD(I,1,LEV) + EM0(I) * (BS(I) - FD(I,1,LEV)) FY(I,1,LEV) = FX(I,1,LEV) + EM0(I) * (BS(I) - FX(I,1,LEV)) FY(I,2,LEV) = FX(I,2,LEV) + EM0(I) * (BS(I) - FX(I,2,LEV)) C IF (CLD(I,LAY) .GT. CUT) THEN FU(I,2,LEV) = FY(I,1,LEV) + 1 CLD(I,LAY) * (FY(I,2,LEV) - FY(I,1,LEV)) ELSE FU(I,2,LEV) = FY(I,2,LEV) ENDIF C FU(I,1,LAY) = FU(I,1,LEV) * DTR(I,1,LAY) + XU(I,1,LAY) C IF (CLD(I,LAY) .LT. CUT) THEN FU(I,2,LAY) = FU(I,2,LEV) * DTR(I,1,LAY) + XU(I,1,LAY) FY(I,1,LAY) = FU(I,2,LAY) FY(I,2,LAY) = FU(I,2,LAY) ELSE FY(I,1,LAY) = FY(I,1,LEV) * DTR(I,1,LAY) + XU(I,1,LAY) FY(I,2,LAY) = FY(I,2,LEV) * DTR(I,2,LAY) + XU(I,2,LAY) FU(I,2,LAY) = FY(I,1,LAY) + 1 CLD(I,LAY) * (FY(I,2,LEV) - FY(I,1,LEV)) ENDIF 300 CONTINUE C DO 450 K = LEV - 2, 1, - 1 KP1 = K + 1 DO 400 I = IL1, IL2 FU(I,1,K) = FU(I,1,KP1) * DTR(I,1,K) + XU(I,1,K) C IF (CLD(I,K) .LT. CUT) THEN FU(I,2,K) = FU(I,2,KP1) * DTR(I,1,K) + XU(I,1,K) FY(I,1,K) = FU(I,2,K) FY(I,2,K) = FU(I,2,K) ELSE IF (CLD(I,K) .LT. CLD(I,KP1)) THEN FY(I,1,K) = ( FY(I,2,KP1) + (1.0 - CLD(I,KP1)) / 1 (1.0 - CLD(I,K)) * (FY(I,1,KP1) - 2 FY(I,2,KP1)) ) * DTR(I,1,K) + XU(I,1,K) FY(I,2,K) = FY(I,2,KP1) * DTR(I,2,K) + XU(I,2,K) ELSE FY(I,1,K) = FY(I,1,KP1) * DTR(I,1,K) + XU(I,1,K) FY(I,2,K) = ( FY(I,1,KP1) + CLD(I,KP1) / CLD(I,K) * 1 (FY(I,2,KP1) - FY(I,1,KP1)) ) * DTR(I,2,K) + 2 XU(I,2,K) ENDIF C FU(I,2,K) = FY(I,1,K) + 1 CLD(I,K) * (FY(I,2,K) - FY(I,1,K)) ENDIF 400 CONTINUE 450 CONTINUE C RETURN END SUBROUTINE TLINE1 (TAUG, COEF1, S, NG, DP, DIP, DT, INPT, 1 LEV1, GH, N, IPLUS, IL1, IL2, ILG, LAY) C C----------------------------------------------------------------------C C CALCULATION OF OPTICAL DEPTH FOR ONE GAS (LINE CONTRIBUTION ONLY)C C THE GASEOUS ABSORPTION COEFFICIENTS IN UNITS OF CM^2 / GRAM. C C S IN MASS MIXING RATIO. ABSORPTION COEFFICIENT ARE CALCULATED C C AT THE TEMPERATURE T FOR THE 18 OR 26 (28) PRESSURE LEVELS. C C ISL = 1 FOR SOLAR, ISL = 2 FOR INFRARED. C C C C TAUG: GASEOUS OPTICAL DEPTH C C S: INPUT GAS MIXING RATIO FOR EACH LAYER C C DP: AIR MASS PATH FOR A MODEL LAYER (EXLAINED IN RADDRIV). C C DIP: INTERPRETATION FACTOR FOR PRESSURE BETWEEN TWO NEIGHBORING C C STANDARD INPUT DATA PRESSURE LEVELS C C DT: LAYER TEMPERATURE - 250 K C C INPT: NUMBER OF THE LEVEL FOR THE STANDARD INPUT DATA PRESSURES C C----------------------------------------------------------------------C IMPLICIT REAL (A-H,O-Z), +INTEGER (I-N) C REAL TAUG(ILG,LAY), COEF1(5,N), S(ILG,LAY), DP(ILG,LAY), 1 DIP(ILG,LAY), DT(ILG,LAY), S1(ILG,LAY) INTEGER INPT(ILG,LAY) LOGICAL GH C COMMON /TRACE / RMCO2, RMCH4, RMN2O, RMO2, RMF11, RMF12, RMF113, 1 RMF114 C======================================================================= IF (GH) THEN LAY1 = 1 ELSE LAY1 = LEV1 ENDIF LAY2 = LAY C C * INITIALIZE TAUG IF IPLUS=2. C IF (IPLUS .EQ. 2) THEN DO 50 K = LAY1, LAY2 DO 50 I = IL1, IL2 TAUG(I,K) = 0. 50 CONTINUE ENDIF C IF (NG .EQ. 1) THEN DO 100 K = LAY1, LAY2 DO 100 I = IL1, IL2 S1(I,K) = S(I,K) 100 CONTINUE C ELSE IF (NG .EQ. 3) THEN DO 300 K = LAY1, LAY2 DO 300 I = IL1, IL2 S1(I,K) = RMCO2 300 CONTINUE C ELSE IF (NG .EQ. 5) THEN DO 500 K = LAY1, LAY2 DO 500 I = IL1, IL2 S1(I,K) = RMN2O 500 CONTINUE C ELSE IF (NG .EQ. 6) THEN DO 600 K = LAY1, LAY2 DO 600 I = IL1, IL2 S1(I,K) = RMO2 600 CONTINUE ENDIF C DO 2000 K = LAY1, LAY2 IF (INPT(1,K) .LT. 950) THEN DO 1000 I = IL1, IL2 M = INPT(I,K) N = M + 1 X2 = COEF1(1,N) + DT(I,K) * (COEF1(2,N) + 1 DT(I,K) * (COEF1(3,N) + DT(I,K) * 2 (COEF1(4,N) + DT(I,K) * COEF1(5,N)))) IF (M .GT. 0) THEN X1 = COEF1(1,M) + DT(I,K) * (COEF1(2,M) + 1 DT(I,K) * (COEF1(3,M) + DT(I,K) * 2 (COEF1(4,M) + DT(I,K) * COEF1(5,M)))) ELSE X1 = 0.0 ENDIF C TAUG(I,K) = TAUG(I,K) + (X1 + (X2 - X1) * DIP(I,K)) * 1 S1(I,K) * DP(I,K) 1000 CONTINUE ELSE M = INPT(1,K) - 1000 N = M + 1 DO 1500 I = IL1, IL2 X2 = COEF1(1,N) + DT(I,K) * (COEF1(2,N) + 1 DT(I,K) * (COEF1(3,N) + DT(I,K) * 2 (COEF1(4,N) + DT(I,K) * COEF1(5,N)))) IF (M .GT. 0) THEN X1 = COEF1(1,M) + DT(I,K) * (COEF1(2,M) + 1 DT(I,K) * (COEF1(3,M) + DT(I,K) * 2 (COEF1(4,M) + DT(I,K) * COEF1(5,M)))) ELSE X1 = 0.0 ENDIF C TAUG(I,K) = TAUG(I,K) + (X1 + (X2 - X1) * DIP(I,K)) * 1 S1(I,K) * DP(I,K) 1500 CONTINUE ENDIF 2000 CONTINUE C RETURN END SUBROUTINE TLINE2 (TAUG, COEF1, COEF2, S1, S, NG2, DP, DIP, DT, 1 INPT, LEV1, GH, N, IL1, IL2, ILG, LAY) C C----------------------------------------------------------------------C C THE SAME AS TLINE1, BUT WITH TWO MIXED GASES, ONE MUST BE H2O C C C C TAUG: GASEOUS OPTICAL DEPTH C C S1: INPUT H2O MIXING RATIO FOR EACH LAYER C C S: INPUT ANOTHER GAS MIXING RATIO FOR EACH LAYER C C DP: AIR MASS PATH FOR A MODEL LAYER (EXLAINED IN RADDRIV). C C DIP: INTERPRETATION FACTOR FOR PRESSURE BETWEEN TWO NEIGHBORING C C STANDARD INPUT DATA PRESSURE LEVELS C C DT: LAYER TEMPERATURE - 250 K C C INPT: NUMBER OF THE LEVEL FOR THE STANDARD INPUT DATA PRESSURES C C----------------------------------------------------------------------C IMPLICIT REAL (A-H,O-Z), +INTEGER (I-N) C REAL TAUG(ILG,LAY), COEF1(5,N), COEF2(5,N), S1(ILG,LAY), 1 S(ILG,LAY), DP(ILG,LAY), DIP(ILG,LAY), DT(ILG,LAY), 2 S2(ILG,LAY) INTEGER INPT(ILG,LAY) LOGICAL GH C COMMON /TRACE / RMCO2, RMCH4, RMN2O, RMO2, RMF11, RMF12, RMF113, 1 RMF114 C======================================================================= IF (GH) THEN LAY1 = 1 ELSE LAY1 = LEV1 ENDIF LAY2 = LAY C IF (NG2 .EQ. 2) THEN DO 200 K = LAY1, LAY2 DO 200 I = IL1, IL2 S2(I,K) = S(I,K) 200 CONTINUE C ELSE IF (NG2 .EQ. 3) THEN DO 300 K = LAY1, LAY2 DO 300 I = IL1, IL2 S2(I,K) = RMCO2 300 CONTINUE C ELSE IF (NG2 .EQ. 4) THEN DO 400 K = LAY1, LAY2 DO 400 I = IL1, IL2 S2(I,K) = RMCH4 400 CONTINUE C ELSE IF (NG2 .EQ. 5) THEN DO 500 K = LAY1, LAY2 DO 500 I = IL1, IL2 S2(I,K) = RMN2O 500 CONTINUE C ELSE IF (NG2 .EQ. 6) THEN DO 600 K = LAY1, LAY2 DO 600 I = IL1, IL2 S2(I,K) = RMO2 600 CONTINUE ENDIF C DO 2000 K = LAY1, LAY2 IF (INPT(1,K) .LT. 950) THEN DO 1000 I = IL1, IL2 M = INPT(I,K) N = M + 1 X2 = COEF1(1,N) + DT(I,K) * (COEF1(2,N) + DT(I,K) * 1 (COEF1(3,N) + DT(I,K) * (COEF1(4,N) + 2 DT(I,K) * COEF1(5,N)))) C Y2 = COEF2(1,N) + DT(I,K) * (COEF2(2,N) + DT(I,K) * 1 (COEF2(3,N) + DT(I,K) * (COEF2(4,N) + 2 DT(I,K) * COEF2(5,N)))) IF (M .GT. 0) THEN X1 = COEF1(1,M) + DT(I,K) * (COEF1(2,M) + DT(I,K) * 1 (COEF1(3,M) + DT(I,K) * (COEF1(4,M) + 2 DT(I,K) * COEF1(5,M)))) C Y1 = COEF2(1,M) + DT(I,K) * (COEF2(2,M) + DT(I,K) * 1 (COEF2(3,M) + DT(I,K) * (COEF2(4,M) + 2 DT(I,K) * COEF2(5,M)))) ELSE X1 = 0.0 Y1 = 0.0 ENDIF C TAUG(I,K) = ( (X1 + (X2 - X1) * DIP(I,K)) * S1(I,K) + 1 (Y1 + (Y2 - Y1) * DIP(I,K)) * S2(I,K) ) * 1 DP(I,K) 1000 CONTINUE ELSE M = INPT(1,K) - 1000 N = M + 1 DO 1500 I = IL1, IL2 X2 = COEF1(1,N) + DT(I,K) * (COEF1(2,N) + DT(I,K) * 1 (COEF1(3,N) + DT(I,K) * (COEF1(4,N) + 2 DT(I,K) * COEF1(5,N)))) C Y2 = COEF2(1,N) + DT(I,K) * (COEF2(2,N) + DT(I,K) * 1 (COEF2(3,N) + DT(I,K) * (COEF2(4,N) + 2 DT(I,K) * COEF2(5,N)))) IF (M .GT. 0) THEN X1 = COEF1(1,M) + DT(I,K) * (COEF1(2,M) + DT(I,K) * 1 (COEF1(3,M) + DT(I,K) * (COEF1(4,M) + 2 DT(I,K) * COEF1(5,M)))) C Y1 = COEF2(1,M) + DT(I,K) * (COEF2(2,M) + DT(I,K) * 1 (COEF2(3,M) + DT(I,K) * (COEF2(4,M) + 2 DT(I,K) * COEF2(5,M)))) ELSE X1 = 0.0 Y1 = 0.0 ENDIF C TAUG(I,K) = ( (X1 + (X2 - X1) * DIP(I,K)) * S1(I,K) + 1 (Y1 + (Y2 - Y1) * DIP(I,K)) * S2(I,K) ) * 1 DP(I,K) 1500 CONTINUE ENDIF 2000 CONTINUE C RETURN END SUBROUTINE TLINE3 (TAUG, COEF1, COEF2, COEF3, S1, NG2, NG3, 1 DP, DIP, DT, INPT, LEV1, GH, N, 2 IL1, IL2, ILG, LAY) C C----------------------------------------------------------------------C C THE SAME AS TLINEL, BUT WITH THREE MIXED GASES. ONE WITH VARYING C C MIXING RATIO THE OTHER TWO WITH CONSTANT MIXING RATIO C C C C TAUG: GASEOUS OPTICAL DEPTH C C S1: INPUT H2O MIXING RATIO FOR EACH LAYER C C DP: AIR MASS PATH FOR A MODEL LAYER (EXLAINED IN RADDRIV). C C DIP: INTERPRETATION FACTOR FOR PRESSURE BETWEEN TWO NEIGHBORING C C STANDARD INPUT DATA PRESSURE LEVELS C C DT: LAYER TEMPERATURE - 250 K C C INPT: NUMBER OF THE LEVEL FOR THE STANDARD INPUT DATA PRESSURES C C----------------------------------------------------------------------C IMPLICIT REAL (A-H,O-Z), +INTEGER (I-N) C REAL TAUG(ILG,LAY), COEF1(5,N), COEF2(5,N), COEF3(5,N), 1 S1(ILG,LAY), DP(ILG,LAY), DIP(ILG,LAY), DT(ILG,LAY) INTEGER INPT(ILG,LAY) LOGICAL GH C COMMON /TRACE / RMCO2, RMCH4, RMN2O, RMO2, RMF11, RMF12, RMF113, 1 RMF114 C======================================================================= IF (NG2 .EQ. 3) S2 = RMCO2 IF (NG2 .EQ. 4) S2 = RMCH4 IF (NG2 .EQ. 5) S2 = RMN2O IF (NG2 .EQ. 6) S2 = RMO2 IF (NG2 .EQ. 7) S2 = RMF11 IF (NG2 .EQ. 8) S2 = RMF12 iF (NG3 .EQ. 7) S3 = RMF11 IF (NG3 .EQ. 8) S3 = RMF12 C IF (NG3 .EQ. 3) S3 = RMCO2 IF (NG3 .EQ. 4) S3 = RMCH4 IF (NG3 .EQ. 5) S3 = RMN2O IF (NG3 .EQ. 6) S3 = RMO2 C IF (GH) THEN LAY1 = 1 ELSE LAY1 = LEV1 ENDIF LAY2 = LAY C DO 200 K = LAY1, LAY2 IF (INPT(1,K) .LT. 950) THEN DO 100 I = IL1, IL2 M = INPT(I,K) N = M + 1 X2 = COEF1(1,N) + DT(I,K) * (COEF1(2,N) + DT(I,K) * 1 (COEF1(3,N) + DT(I,K) * (COEF1(4,N) + 2 DT(I,K) * COEF1(5,N)))) C Y2 = COEF2(1,N) + DT(I,K) * (COEF2(2,N) + DT(I,K) * 1 (COEF2(3,N) + DT(I,K) * (COEF2(4,N) + 2 DT(I,K) * COEF2(5,N)))) C Z2 = COEF3(1,N) + DT(I,K) * (COEF3(2,N) + DT(I,K) * 1 (COEF3(3,N) + DT(I,K) * (COEF3(4,N) + 2 DT(I,K) * COEF3(5,N)))) IF (M .GT. 0) THEN X1 = COEF1(1,M) + DT(I,K) * (COEF1(2,M) + DT(I,K) * 1 (COEF1(3,M) + DT(I,K) * (COEF1(4,M) + 2 DT(I,K) * COEF1(5,M)))) C Y1 = COEF2(1,M) + DT(I,K) * (COEF2(2,M) + DT(I,K) * 1 (COEF2(3,M) + DT(I,K) * (COEF2(4,M) + 2 DT(I,K) * COEF2(5,M)))) C Z1 = COEF3(1,M) + DT(I,K) * (COEF3(2,M) + DT(I,K) * 1 (COEF3(3,M) + DT(I,K) * (COEF3(4,M) + 2 DT(I,K) * COEF3(5,M)))) ELSE X1 = 0.0 Y1 = 0.0 Z1 = 0.0 ENDIF C TAUG(I,K) = ( (X1 + (X2 - X1) * DIP(I,K)) * S1(I,K) + 1 (Y1 + (Y2 - Y1) * DIP(I,K)) * S2 + 2 (Z1 + (Z2 - Z1) * DIP(I,K)) * S3 ) * DP(I,K) 100 CONTINUE ELSE M = INPT(1,K) - 1000 N = M + 1 DO 150 I = IL1, IL2 X2 = COEF1(1,N) + DT(I,K) * (COEF1(2,N) + DT(I,K) * 1 (COEF1(3,N) + DT(I,K) * (COEF1(4,N) + 2 DT(I,K) * COEF1(5,N)))) C Y2 = COEF2(1,N) + DT(I,K) * (COEF2(2,N) + DT(I,K) * 1 (COEF2(3,N) + DT(I,K) * (COEF2(4,N) + 2 DT(I,K) * COEF2(5,N)))) C Z2 = COEF3(1,N) + DT(I,K) * (COEF3(2,N) + DT(I,K) * 1 (COEF3(3,N) + DT(I,K) * (COEF3(4,N) + 2 DT(I,K) * COEF3(5,N)))) IF (M .GT. 0) THEN X1 = COEF1(1,M) + DT(I,K) * (COEF1(2,M) + DT(I,K) * 1 (COEF1(3,M) + DT(I,K) * (COEF1(4,M) + 2 DT(I,K) * COEF1(5,M)))) C Y1 = COEF2(1,M) + DT(I,K) * (COEF2(2,M) + DT(I,K) * 1 (COEF2(3,M) + DT(I,K) * (COEF2(4,M) + 2 DT(I,K) * COEF2(5,M)))) C Z1 = COEF3(1,M) + DT(I,K) * (COEF3(2,M) + DT(I,K) * 1 (COEF3(3,M) + DT(I,K) * (COEF3(4,M) + 2 DT(I,K) * COEF3(5,M)))) ELSE X1 = 0.0 Y1 = 0.0 Z1 = 0.0 ENDIF C TAUG(I,K) = ( (X1 + (X2 - X1) * DIP(I,K)) * S1(I,K) + 1 (Y1 + (Y2 - Y1) * DIP(I,K)) * S2 + 2 (Z1 + (Z2 - Z1) * DIP(I,K)) * S3 ) * DP(I,K) 150 CONTINUE ENDIF 200 CONTINUE C RETURN END SUBROUTINE TLINEHC (TAUG, COEF1U, COEF1D, COEF2U, COEF2D, S, DP, 1 DIP, DIR, DT, INPTR, INPT, LEV1, 2 IL1, IL2, ILG, LAY) C C----------------------------------------------------------------------C C THIS SUBROUTINE DETERMINES THE OPTICAL DEPTH FOR H2O AND CO2 IN C C THE REGION OF 540-800 CM^-1 C C C C TAUG: GASEOUS OPTICAL DEPTH C C S: INPUT H2O MIXING RATIO FOR EACH LAYER C C DP: AIR MASS PATH FOR A MODEL LAYER (EXLAINED IN RADDRIV). C C DIP: INTERPRETATION FACTOR FOR PRESSURE BETWEEN TWO NEIGHBORING C C STANDARD INPUT DATA PRESSURE LEVELS C C DIR: INTERPRETATION FACTOR FOR MASS RATIO OF H2O / CO2 BETWEEN C C TWO NEIGHBORING STANDARD INPUT RATIOS C C DT: LAYER TEMPERATURE - 250 K C C INPR: NUMBER OF THE RATIO LEVEL FOR THE STANDARD 5 RATIOS C C INPT: NUMBER OF THE LEVEL FOR THE STANDARD INPUT DATA PRESSURES C C----------------------------------------------------------------------C IMPLICIT REAL (A-H,O-Z), +INTEGER (I-N) C REAL TAUG(ILG,LAY), COEF1U(5,11), COEF1D(5,5,7), 1 COEF2U(5,11), COEF2D(5,5,7) REAL S(ILG,LAY), DP(ILG,LAY), DIP(ILG,LAY), DIR(ILG,LAY), 1 DT(ILG,LAY) INTEGER INPTR(ILG,LAY), INPT(ILG,LAY) C COMMON /TRACE / RMCO2, RMCH4, RMN2O, RMO2, RMF11, RMF12, RMF113, 1 RMF114 C======================================================================= DO 300 K = LEV1, LAY IF (INPT(1,K) .LT. 950) THEN DO 100 I = IL1, IL2 M = INPT(I,K) IF (M .LE. 11) THEN N = M + 1 IF (M .GT. 0) THEN X1 = COEF1U(1,M) + DT(I,K) * (COEF1U(2,M) + DT(I,K) * 1 (COEF1U(3,M) + DT(I,K) * (COEF1U(4,M) + 2 DT(I,K) * COEF1U(5,M)))) Y1 = COEF2U(1,M) + DT(I,K) * (COEF2U(2,M) + DT(I,K) * 1 (COEF2U(3,M) + DT(I,K) * (COEF2U(4,M) + 2 DT(I,K) * COEF2U(5,M)))) ELSE X1 = 0.0 Y1 = 0.0 ENDIF IF (M .LT. 11) THEN X2 = COEF1U(1,N) + DT(I,K) * (COEF1U(2,N) + DT(I,K) * 1 (COEF1U(3,N) + DT(I,K) * (COEF1U(4,N) + 2 DT(I,K) * COEF1U(5,N)))) Y2 = COEF2U(1,N) + DT(I,K) * (COEF2U(2,N) + DT(I,K) * 1 (COEF2U(3,N) + DT(I,K) * (COEF2U(4,N) + 2 DT(I,K) * COEF2U(5,N)))) ELSE X2 = COEF1D(1,1,1) + DT(I,K) * (COEF1D(2,1,1) + DT(I,K) * 1 (COEF1D(3,1,1) + DT(I,K) * (COEF1D(4,1,1) + 2 DT(I,K) * COEF1D(5,1,1)))) Y2 = COEF2D(1,1,1) + DT(I,K) * (COEF2D(2,1,1) + DT(I,K) * 1 (COEF2D(3,1,1) + DT(I,K) * (COEF2D(4,1,1) + 2 DT(I,K) * COEF2D(5,1,1)))) ENDIF ELSE J = M - 11 N = J + 1 L = INPTR(I,K) IF (L .LT. 1) THEN X1 = COEF1D(1,1,J) + DT(I,K) * (COEF1D(2,1,J) + DT(I,K) * 1 (COEF1D(3,1,J) + DT(I,K) * (COEF1D(4,1,J) + 2 DT(I,K) * COEF1D(5,1,J)))) X2 = COEF1D(1,1,N) + DT(I,K) * (COEF1D(2,1,N) + DT(I,K) * 1 (COEF1D(3,1,N) + DT(I,K) * (COEF1D(4,1,N) + 2 DT(I,K) * COEF1D(5,1,N)))) C Y1 = COEF2D(1,1,J) + DT(I,K) * (COEF2D(2,1,J) + DT(I,K) * 1 (COEF2D(3,1,J) + DT(I,K) * (COEF2D(4,1,J) + 2 DT(I,K) * COEF2D(5,1,J)))) Y2 = COEF2D(1,1,N) + DT(I,K) * (COEF2D(2,1,N) + DT(I,K) * 1 (COEF2D(3,1,N) + DT(I,K) * (COEF2D(4,1,N) + 2 DT(I,K) * COEF2D(5,1,N)))) C ELSE IF (L .LT. 5) THEN LP1 = L + 1 X11 = COEF1D(1,L,J) + DT(I,K) * (COEF1D(2,L,J) + DT(I,K) * 1 (COEF1D(3,L,J) + DT(I,K) * (COEF1D(4,L,J) + 2 DT(I,K) * COEF1D(5,L,J)))) X21 = COEF1D(1,L,N) + DT(I,K) * (COEF1D(2,L,N) + DT(I,K) * 1 (COEF1D(3,L,N) + DT(I,K) * (COEF1D(4,L,N) + 2 DT(I,K) * COEF1D(5,L,N)))) C Y11 = COEF2D(1,L,J) + DT(I,K) * (COEF2D(2,L,J) + DT(I,K) * 1 (COEF2D(3,L,J) + DT(I,K) * (COEF2D(4,L,J) + 2 DT(I,K) * COEF2D(5,L,J)))) Y21 = COEF2D(1,L,N) + DT(I,K) * (COEF2D(2,L,N) + DT(I,K) * 1 (COEF2D(3,L,N) + DT(I,K) * (COEF2D(4,L,N) + 2 DT(I,K) * COEF2D(5,L,N)))) C X12 = COEF1D(1,LP1,J) + DT(I,K) * (COEF1D(2,LP1,J) + 1 DT(I,K) * (COEF1D(3,LP1,J) + 2 DT(I,K) * (COEF1D(4,LP1,J) + 3 DT(I,K) * COEF1D(5,LP1,J)))) X22 = COEF1D(1,LP1,N) + DT(I,K) * (COEF1D(2,LP1,N) + 1 DT(I,K) * (COEF1D(3,LP1,N) + 2 DT(I,K) * (COEF1D(4,LP1,N) + 3 DT(I,K) * COEF1D(5,LP1,N)))) C Y12 = COEF2D(1,LP1,J) + DT(I,K) * (COEF2D(2,LP1,J) + 1 DT(I,K) * (COEF2D(3,LP1,J) + 2 DT(I,K) * (COEF2D(4,LP1,J) + 3 DT(I,K) * COEF2D(5,LP1,J)))) Y22 = COEF2D(1,LP1,N) + DT(I,K) * (COEF2D(2,LP1,N) + 1 DT(I,K) * (COEF2D(3,LP1,N) + 2 DT(I,K) * (COEF2D(4,LP1,N) + 3 DT(I,K) * COEF2D(5,LP1,N)))) C X1 = X11 + (X12 - X11) * DIR(I,K) X2 = X21 + (X22 - X21) * DIR(I,K) Y1 = Y11 + (Y12 - Y11) * DIR(I,K) Y2 = Y21 + (Y22 - Y21) * DIR(I,K) ELSE X1 = COEF1D(1,5,J) + DT(I,K) * (COEF1D(2,5,J) + DT(I,K) * 1 (COEF1D(3,5,J) + DT(I,K) * (COEF1D(4,5,J) + 2 DT(I,K) * COEF1D(5,5,J)))) X2 = COEF1D(1,5,N) + DT(I,K) * (COEF1D(2,5,N) + DT(I,K) * 1 (COEF1D(3,5,N) + DT(I,K) * (COEF1D(4,5,N) + 2 DT(I,K) * COEF1D(5,5,N)))) Y1 = COEF2D(1,5,J) + DT(I,K) * (COEF2D(2,5,J) + DT(I,K) * 1 (COEF2D(3,5,J) + DT(I,K) * (COEF2D(4,5,J) + 2 DT(I,K) * COEF2D(5,5,J)))) Y2 = COEF2D(1,5,N) + DT(I,K) * (COEF2D(2,5,N) + DT(I,K) * 1 (COEF2D(3,5,N) + DT(I,K) * (COEF2D(4,5,N) + 2 DT(I,K) * COEF2D(5,5,N)))) ENDIF ENDIF C TAUG(I,K) = ( (X1 + (X2 - X1) * DIP(I,K)) * S(I,K) + 1 (Y1 + (Y2 - Y1) * DIP(I,K)) * RMCO2 ) * DP(I,K) 100 CONTINUE C ELSE M = INPT(1,K) - 1000 DO 200 I = IL1, IL2 IF (M .LE. 11) THEN N = M + 1 IF (M .GT. 0) THEN X1 = COEF1U(1,M) + DT(I,K) * (COEF1U(2,M) + DT(I,K) * 1 (COEF1U(3,M) + DT(I,K) * (COEF1U(4,M) + 2 DT(I,K) * COEF1U(5,M)))) Y1 = COEF2U(1,M) + DT(I,K) * (COEF2U(2,M) + DT(I,K) * 1 (COEF2U(3,M) + DT(I,K) * (COEF2U(4,M) + 2 DT(I,K) * COEF2U(5,M)))) ELSE X1 = 0.0 Y1 = 0.0 ENDIF IF (M .LT. 11) THEN X2 = COEF1U(1,N) + DT(I,K) * (COEF1U(2,N) + DT(I,K) * 1 (COEF1U(3,N) + DT(I,K) * (COEF1U(4,N) + 2 DT(I,K) * COEF1U(5,N)))) Y2 = COEF2U(1,N) + DT(I,K) * (COEF2U(2,N) + DT(I,K) * 1 (COEF2U(3,N) + DT(I,K) * (COEF2U(4,N) + 2 DT(I,K) * COEF2U(5,N)))) ELSE X2 = COEF1D(1,1,1) + DT(I,K) * (COEF1D(2,1,1) + DT(I,K) * 1 (COEF1D(3,1,1) + DT(I,K) * (COEF1D(4,1,1) + 2 DT(I,K) * COEF1D(5,1,1)))) Y2 = COEF2D(1,1,1) + DT(I,K) * (COEF2D(2,1,1) + DT(I,K) * 1 (COEF2D(3,1,1) + DT(I,K) * (COEF2D(4,1,1) + 2 DT(I,K) * COEF2D(5,1,1)))) ENDIF ELSE J = M - 11 N = J + 1 L = INPTR(I,K) IF (L .LT. 1) THEN X1 = COEF1D(1,1,J) + DT(I,K) * (COEF1D(2,1,J) + DT(I,K) * 1 (COEF1D(3,1,J) + DT(I,K) * (COEF1D(4,1,J) + 2 DT(I,K) * COEF1D(5,1,J)))) X2 = COEF1D(1,1,N) + DT(I,K) * (COEF1D(2,1,N) + DT(I,K) * 1 (COEF1D(3,1,N) + DT(I,K) * (COEF1D(4,1,N) + 2 DT(I,K) * COEF1D(5,1,N)))) C Y1 = COEF2D(1,1,J) + DT(I,K) * (COEF2D(2,1,J) + DT(I,K) * 1 (COEF2D(3,1,J) + DT(I,K) * (COEF2D(4,1,J) + 2 DT(I,K) * COEF2D(5,1,J)))) Y2 = COEF2D(1,1,N) + DT(I,K) * (COEF2D(2,1,N) + DT(I,K) * 1 (COEF2D(3,1,N) + DT(I,K) * (COEF2D(4,1,N) + 2 DT(I,K) * COEF2D(5,1,N)))) C ELSE IF (L .LT. 5) THEN LP1 = L + 1 X11 = COEF1D(1,L,J) + DT(I,K) * (COEF1D(2,L,J) + DT(I,K) * 1 (COEF1D(3,L,J) + DT(I,K) * (COEF1D(4,L,J) + 2 DT(I,K) * COEF1D(5,L,J)))) X21 = COEF1D(1,L,N) + DT(I,K) * (COEF1D(2,L,N) + DT(I,K) * 1 (COEF1D(3,L,N) + DT(I,K) * (COEF1D(4,L,N) + 2 DT(I,K) * COEF1D(5,L,N)))) C Y11 = COEF2D(1,L,J) + DT(I,K) * (COEF2D(2,L,J) + DT(I,K) * 1 (COEF2D(3,L,J) + DT(I,K) * (COEF2D(4,L,J) + 2 DT(I,K) * COEF2D(5,L,J)))) Y21 = COEF2D(1,L,N) + DT(I,K) * (COEF2D(2,L,N) + DT(I,K) * 1 (COEF2D(3,L,N) + DT(I,K) * (COEF2D(4,L,N) + 2 DT(I,K) * COEF2D(5,L,N)))) C X12 = COEF1D(1,LP1,J) + DT(I,K) * (COEF1D(2,LP1,J) + 1 DT(I,K) * (COEF1D(3,LP1,J) + 2 DT(I,K) * (COEF1D(4,LP1,J) + 3 DT(I,K) * COEF1D(5,LP1,J)))) X22 = COEF1D(1,LP1,N) + DT(I,K) * (COEF1D(2,LP1,N) + 1 DT(I,K) * (COEF1D(3,LP1,N) + 2 DT(I,K) * (COEF1D(4,LP1,N) + 3 DT(I,K) * COEF1D(5,LP1,N)))) C Y12 = COEF2D(1,LP1,J) + DT(I,K) * (COEF2D(2,LP1,J) + 1 DT(I,K) * (COEF2D(3,LP1,J) + 2 DT(I,K) * (COEF2D(4,LP1,J) + 3 DT(I,K) * COEF2D(5,LP1,J)))) Y22 = COEF2D(1,LP1,N) + DT(I,K) * (COEF2D(2,LP1,N) + 1 DT(I,K) * (COEF2D(3,LP1,N) + 2 DT(I,K) * (COEF2D(4,LP1,N) + 3 DT(I,K) * COEF2D(5,LP1,N)))) C X1 = X11 + (X12 - X11) * DIR(I,K) X2 = X21 + (X22 - X21) * DIR(I,K) Y1 = Y11 + (Y12 - Y11) * DIR(I,K) Y2 = Y21 + (Y22 - Y21) * DIR(I,K) ELSE X1 = COEF1D(1,5,J) + DT(I,K) * (COEF1D(2,5,J) + DT(I,K) * 1 (COEF1D(3,5,J) + DT(I,K) * (COEF1D(4,5,J) + 2 DT(I,K) * COEF1D(5,5,J)))) X2 = COEF1D(1,5,N) + DT(I,K) * (COEF1D(2,5,N) + DT(I,K) * 1 (COEF1D(3,5,N) + DT(I,K) * (COEF1D(4,5,N) + 2 DT(I,K) * COEF1D(5,5,N)))) Y1 = COEF2D(1,5,J) + DT(I,K) * (COEF2D(2,5,J) + DT(I,K) * 1 (COEF2D(3,5,J) + DT(I,K) * (COEF2D(4,5,J) + 2 DT(I,K) * COEF2D(5,5,J)))) Y2 = COEF2D(1,5,N) + DT(I,K) * (COEF2D(2,5,N) + DT(I,K) * 1 (COEF2D(3,5,N) + DT(I,K) * (COEF2D(4,5,N) + 2 DT(I,K) * COEF2D(5,5,N)))) ENDIF ENDIF C TAUG(I,K) = ( (X1 + (X2 - X1) * DIP(I,K)) * S(I,K) + 1 (Y1 + (Y2 - Y1) * DIP(I,K)) * RMCO2 ) * DP(I,K) 200 CONTINUE ENDIF 300 CONTINUE RETURN END SUBROUTINE TCONTL1 (TAUG, COEF1, COEF2, S, DP, DIP, DT, LC, INPT, 1 MCONT, GH, IL1, IL2, ILG, LAY) C C----------------------------------------------------------------------C C INFRARED WATER VAPOR CONTINUUM, COEF1 IS THE COEFFICIENT FOR C C SELF, COEF2 IS THE COEFFICIENT FOR FOREIGN. THE CONTINUUM ONLY C C APPLIES TO THE LAYERS BELOW 138.9440 MB OR EVEN LOWER REGION C C DEPENDING ON EACH BAND. LC IS NUMBER OF LEVEL FOR STANDARD C C PRESSURE CONSIDERED IN CALCULATING THE CONTINUUM. C C 1.608 = 28.97 / 18.016, A FCTR FOR WATER VAPOR PARTIAL PRESSURE C C C C TAUG: GASEOUS OPTICAL DEPTH C C S: INPUT H2O MIXING RATIO FOR EACH LAYER C C DP: AIR MASS PATH FOR A MODEL LAYER (EXLAINED IN RADDRIV). C C DIP: INTERPRETATION FACTOR FOR PRESSURE BETWEEN TWO C C NEIGHBORING STANDARD INPUT DATA PRESSURE LEVELS C C DT: LAYER TEMPERATURE - 250 K C C INPT: NUMBER OF THE LEVEL FOR THE STANDARD INPUT DATA PRESSURES C C MCONT: THE HIGHEST LEVEL FOR WATER VAPOR CONTINUUM CALCULATION C C----------------------------------------------------------------------C IMPLICIT REAL (A-H,O-Z), +INTEGER (I-N) C REAL TAUG(ILG,LAY), COEF1(5,LC), COEF2(5,LC) REAL S(ILG,LAY), DP(ILG,LAY), DIP(ILG,LAY), DT(ILG,LAY) INTEGER INPT(ILG,LAY) LOGICAL GH C======================================================================= IF (GH) THEN NC = 29 - LC ELSE NC = 19 - LC ENDIF C DO 200 K = MCONT, LAY IF (INPT(1,K) .LT. 950) THEN DO 100 I = IL1, IL2 J = INPT(I,K) IF (J .GE. NC) THEN M = J - NC + 1 N = M + 1 X1 = COEF1(1,M) + DT(I,K) * (COEF1(2,M) + 1 DT(I,K) * (COEF1(3,M) + DT(I,K) * 2 (COEF1(4,M) + DT(I,K) * COEF1(5,M)))) C X2 = COEF1(1,N) + DT(I,K) * (COEF1(2,N) + 1 DT(I,K) * (COEF1(3,N) + DT(I,K) * 2 (COEF1(4,N) + DT(I,K) * COEF1(5,N)))) C Y1 = COEF2(1,M) + DT(I,K) * (COEF2(2,M) + 1 DT(I,K) * (COEF2(3,M) + DT(I,K) * 2 (COEF2(4,M) + DT(I,K) * COEF2(5,M)))) C Y2 = COEF2(1,N) + DT(I,K) * (COEF2(2,N) + 1 DT(I,K) * (COEF2(3,N) + DT(I,K) * 2 (COEF2(4,N) + DT(I,K) * COEF2(5,N)))) C TAUG(I,K) = TAUG(I,K) + 1 ( (X1 - Y1 + (X2 - X1 - Y2 + Y1) * 2 DIP(I,K)) * 1.608 * S(I,K) + 3 Y1 + (Y2 - Y1) * DIP(I,K) ) * 4 S(I,K) * DP(I,K) ENDIF 100 CONTINUE ELSE J = INPT(1,K) - 1000 M = J - NC + 1 N = M + 1 DO 150 I = IL1, IL2 IF (J .GE. NC) THEN X1 = COEF1(1,M) + DT(I,K) * (COEF1(2,M) + 1 DT(I,K) * (COEF1(3,M) + DT(I,K) * 2 (COEF1(4,M) + DT(I,K) * COEF1(5,M)))) C X2 = COEF1(1,N) + DT(I,K) * (COEF1(2,N) + 1 DT(I,K) * (COEF1(3,N) + DT(I,K) * 2 (COEF1(4,N) + DT(I,K) * COEF1(5,N)))) C Y1 = COEF2(1,M) + DT(I,K) * (COEF2(2,M) + 1 DT(I,K) * (COEF2(3,M) + DT(I,K) * 2 (COEF2(4,M) + DT(I,K) * COEF2(5,M)))) C Y2 = COEF2(1,N) + DT(I,K) * (COEF2(2,N) + 1 DT(I,K) * (COEF2(3,N) + DT(I,K) * 2 (COEF2(4,N) + DT(I,K) * COEF2(5,N)))) C TAUG(I,K) = TAUG(I,K) + 1 ( (X1 - Y1 + (X2 - X1 - Y2 + Y1) * 2 DIP(I,K)) * 1.608 * S(I,K) + 3 Y1 + (Y2 - Y1) * DIP(I,K) ) * 4 S(I,K) * DP(I,K) ENDIF 150 CONTINUE ENDIF 200 CONTINUE C RETURN END SUBROUTINE TCONTHL (TAUG, COEF1, COEF2, S, DP, DIP, DIR, DT, 1 INPTR, INPT, MCONT, IL1, IL2, ILG, LAY) C C----------------------------------------------------------------------C C WATER VAPOR CONTINUUM FOR 540-800 CM-1. DIFFERENT FROM TCONTL, C C VARIATION OF MASS MIXING RATIO FOR H2O AND CO2 IS CONSIDER. C C LC = 4, BUT THE INPTUT DATA ARE WITH 6 GROUP, 2 OF THEM ARE USED C C FOR MASS MIXING RATIO CHANGES C C C C TAUG: GASEOUS OPTICAL DEPTH C C S: INPUT H2O MIXING RATIO FOR EACH LAYER C C DP: AIR MASS PATH FOR A MODEL LAYER (EXLAINED IN RADDRIV). C C DIP: INTERPRETATION FACTOR FOR PRESSURE BETWEEN TWO C C NEIGHBORING STANDARD INPUT DATA PRESSURE LEVELS C C DT: LAYER TEMPERATURE - 250 K C C INPT: NUMBER OF THE LEVEL FOR THE STANDARD INPUT DATA PRESSURES C C MCONT: THE HIGHEST LEVEL FOR WATER VAPOR CONTINUUM CALCULATION C C----------------------------------------------------------------------C IMPLICIT REAL (A-H,O-Z), +INTEGER (I-N) C REAL TAUG(ILG,LAY), COEF1(5,5,4), COEF2(5,5,4) C REAL S(ILG,LAY), DP(ILG,LAY), DIP(ILG,LAY), DIR(ILG,LAY), 1 DT(ILG,LAY) INTEGER INPTR(ILG,LAY), INPT(ILG,LAY) C COMMON /TRACE / RMCO2, RMCH4, RMN2O, RMO2, RMF11, RMF12, RMF113, 1 RMF114 C DATA RMIN,RMAX /0.5, 16.0/ C======================================================================= RRMCO2 = 1. / (RMCO2 + 1.E-10) C DO 200 K = MCONT, LAY IF (INPT(1,K) .LT. 950) THEN DO 100 I = IL1, IL2 M = INPT(I,K) - 14 N = M + 1 IF (M .GE. 1) THEN L = INPTR(I,K) IF (L .LT. 1) THEN X1 = COEF1(1,1,M) + DT(I,K) * (COEF1(2,1,M) + 1 DT(I,K) * (COEF1(3,1,M) + 2 DT(I,K) * (COEF1(4,1,M) + 3 DT(I,K) * COEF1(5,1,M)))) X2 = COEF1(1,1,N) + DT(I,K) * (COEF1(2,1,N) + 1 DT(I,K) * (COEF1(3,1,N) + 2 DT(I,K) * (COEF1(4,1,N) + 3 DT(I,K) * COEF1(5,1,N)))) C Y1 = COEF2(1,1,M) + DT(I,K) * (COEF2(2,1,M) + 1 DT(I,K) * (COEF2(3,1,M) + 2 DT(I,K) * (COEF2(4,1,M) + 3 DT(I,K) * COEF2(5,1,M)))) Y2 = COEF2(1,1,N) + DT(I,K) * (COEF2(2,1,N) + 1 DT(I,K) * (COEF2(3,1,N) + 2 DT(I,K) * (COEF2(4,1,N) + 3 DT(I,K) * COEF2(5,1,N)))) C ELSE IF (L .LT. 5) THEN LP1 = L + 1 X11 = COEF1(1,L,M) + DT(I,K) * (COEF1(2,L,M) + 1 DT(I,K) * (COEF1(3,L,M) + 2 DT(I,K) * (COEF1(4,L,M) + 3 DT(I,K) * COEF1(5,L,M)))) X21 = COEF1(1,L,N) + DT(I,K) * (COEF1(2,L,N) + 1 DT(I,K) * (COEF1(3,L,N) + 2 DT(I,K) * (COEF1(4,L,N) + 3 DT(I,K) * COEF1(5,L,N)))) C Y11 = COEF2(1,L,M) + DT(I,K) * (COEF2(2,L,M) + 1 DT(I,K) * (COEF2(3,L,M) + 2 DT(I,K) * (COEF2(4,L,M) + 3 DT(I,K) * COEF2(5,L,M)))) Y21 = COEF2(1,L,N) + DT(I,K) * (COEF2(2,L,N) + 1 DT(I,K) * (COEF2(3,L,N) + 2 DT(I,K) * (COEF2(4,L,N) + 3 DT(I,K) * COEF2(5,L,N)))) C X12 = COEF1(1,LP1,M) + DT(I,K) * (COEF1(2,LP1,M) + 1 DT(I,K) * (COEF1(3,LP1,M) + 2 DT(I,K) * (COEF1(4,LP1,M) + 3 DT(I,K) * COEF1(5,LP1,M)))) X22 = COEF1(1,LP1,N) + DT(I,K) * (COEF1(2,LP1,N) + 1 DT(I,K) * (COEF1(3,LP1,N) + 2 DT(I,K) * (COEF1(4,LP1,N) + 3 DT(I,K) * COEF1(5,LP1,N)))) C Y12 = COEF2(1,LP1,M) + DT(I,K) * (COEF2(2,LP1,M) + 1 DT(I,K) * (COEF2(3,LP1,M) + 2 DT(I,K) * (COEF2(4,LP1,M) + 3 DT(I,K) * COEF2(5,LP1,M)))) Y22 = COEF2(1,LP1,N) + DT(I,K) * (COEF2(2,LP1,N) + 1 DT(I,K) * (COEF2(3,LP1,N) + 2 DT(I,K) * (COEF2(4,LP1,N) + 3 DT(I,K) * COEF2(5,LP1,N)))) C X1 = X11 + (X12 - X11) * DIR(I,K) X2 = X21 + (X22 - X21) * DIR(I,K) Y1 = Y11 + (Y12 - Y11) * DIR(I,K) Y2 = Y21 + (Y22 - Y21) * DIR(I,K) ELSE X1 = COEF1(1,5,M) + DT(I,K) * (COEF1(2,5,M) + 1 DT(I,K) * (COEF1(3,5,M) + 2 DT(I,K) * (COEF1(4,5,M) + 3 DT(I,K) * COEF1(5,5,M)))) X2 = COEF1(1,5,N) + DT(I,K) * (COEF1(2,5,N) + 1 DT(I,K) * (COEF1(3,5,N) + 2 DT(I,K) * (COEF1(4,5,N) + 3 DT(I,K) * COEF1(5,5,N)))) Y1 = COEF2(1,5,M) + DT(I,K) * (COEF2(2,5,M) + 1 DT(I,K) * (COEF2(3,5,M) + 2 DT(I,K) * (COEF2(4,5,M) + 3 DT(I,K) * COEF2(5,5,M)))) Y2 = COEF2(1,5,N) + DT(I,K) * (COEF2(2,5,N) + 1 DT(I,K) * (COEF2(3,5,N) + 2 DT(I,K) * (COEF2(4,5,N) + 3 DT(I,K) * COEF2(5,5,N)))) ENDIF TAUG(I,K) = TAUG(I,K) + ((X1 - Y1 + 1 (X2 - X1 - Y2 + Y1) * DIP(I,K)) * 1.608 * 2 S(I,K) + Y1 + (Y2 - Y1) * DIP(I,K)) * 3 S(I,K) * DP(I,K) ENDIF 100 CONTINUE ELSE J = INPT(1,K) - 1000 M = J - 14 N = M + 1 DO 150 I = IL1, IL2 IF (M .GE. 1) THEN L = INPTR(I,K) IF (L .LT. 1) THEN X1 = COEF1(1,1,M) + DT(I,K) * (COEF1(2,1,M) + 1 DT(I,K) * (COEF1(3,1,M) + 2 DT(I,K) * (COEF1(4,1,M) + 3 DT(I,K) * COEF1(5,1,M)))) X2 = COEF1(1,1,N) + DT(I,K) * (COEF1(2,1,N) + 1 DT(I,K) * (COEF1(3,1,N) + 2 DT(I,K) * (COEF1(4,1,N) + 3 DT(I,K) * COEF1(5,1,N)))) C Y1 = COEF2(1,1,M) + DT(I,K) * (COEF2(2,1,M) + 1 DT(I,K) * (COEF2(3,1,M) + 2 DT(I,K) * (COEF2(4,1,M) + 3 DT(I,K) * COEF2(5,1,M)))) Y2 = COEF2(1,1,N) + DT(I,K) * (COEF2(2,1,N) + 1 DT(I,K) * (COEF2(3,1,N) + 2 DT(I,K) * (COEF2(4,1,N) + 3 DT(I,K) * COEF2(5,1,N)))) C ELSE IF (L .LT. 5) THEN LP1 = L + 1 X11 = COEF1(1,L,M) + DT(I,K) * (COEF1(2,L,M) + 1 DT(I,K) * (COEF1(3,L,M) + 2 DT(I,K) * (COEF1(4,L,M) + 3 DT(I,K) * COEF1(5,L,M)))) X21 = COEF1(1,L,N) + DT(I,K) * (COEF1(2,L,N) + 1 DT(I,K) * (COEF1(3,L,N) + 2 DT(I,K) * (COEF1(4,L,N) + 3 DT(I,K) * COEF1(5,L,N)))) C Y11 = COEF2(1,L,M) + DT(I,K) * (COEF2(2,L,M) + 1 DT(I,K) * (COEF2(3,L,M) + 2 DT(I,K) * (COEF2(4,L,M) + 3 DT(I,K) * COEF2(5,L,M)))) Y21 = COEF2(1,L,N) + DT(I,K) * (COEF2(2,L,N) + 1 DT(I,K) * (COEF2(3,L,N) + 2 DT(I,K) * (COEF2(4,L,N) + 3 DT(I,K) * COEF2(5,L,N)))) C X12 = COEF1(1,LP1,M) + DT(I,K) * (COEF1(2,LP1,M) + 1 DT(I,K) * (COEF1(3,LP1,M) + 2 DT(I,K) * (COEF1(4,LP1,M) + 3 DT(I,K) * COEF1(5,LP1,M)))) X22 = COEF1(1,LP1,N) + DT(I,K) * (COEF1(2,LP1,N) + 1 DT(I,K) * (COEF1(3,LP1,N) + 2 DT(I,K) * (COEF1(4,LP1,N) + 3 DT(I,K) * COEF1(5,LP1,N)))) C Y12 = COEF2(1,LP1,M) + DT(I,K) * (COEF2(2,LP1,M) + 1 DT(I,K) * (COEF2(3,LP1,M) + 2 DT(I,K) * (COEF2(4,LP1,M) + 3 DT(I,K) * COEF2(5,LP1,M)))) Y22 = COEF2(1,LP1,N) + DT(I,K) * (COEF2(2,LP1,N) + 1 DT(I,K) * (COEF2(3,LP1,N) + 2 DT(I,K) * (COEF2(4,LP1,N) + 3 DT(I,K) * COEF2(5,LP1,N)))) C X1 = X11 + (X12 - X11) * DIR(I,K) X2 = X21 + (X22 - X21) * DIR(I,K) Y1 = Y11 + (Y12 - Y11) * DIR(I,K) Y2 = Y21 + (Y22 - Y21) * DIR(I,K) ELSE X1 = COEF1(1,5,M) + DT(I,K) * (COEF1(2,5,M) + 1 DT(I,K) * (COEF1(3,5,M) + 2 DT(I,K) * (COEF1(4,5,M) + 3 DT(I,K) * COEF1(5,5,M)))) X2 = COEF1(1,5,N) + DT(I,K) * (COEF1(2,5,N) + 1 DT(I,K) * (COEF1(3,5,N) + 2 DT(I,K) * (COEF1(4,5,N) + 3 DT(I,K) * COEF1(5,5,N)))) Y1 = COEF2(1,5,M) + DT(I,K) * (COEF2(2,5,M) + 1 DT(I,K) * (COEF2(3,5,M) + 2 DT(I,K) * (COEF2(4,5,M) + 3 DT(I,K) * COEF2(5,5,M)))) Y2 = COEF2(1,5,N) + DT(I,K) * (COEF2(2,5,N) + 1 DT(I,K) * (COEF2(3,5,N) + 2 DT(I,K) * (COEF2(4,5,N) + 3 DT(I,K) * COEF2(5,5,N)))) ENDIF TAUG(I,K) = TAUG(I,K) + ((X1 - Y1 + 1 (X2 - X1 - Y2 + Y1) * DIP(I,K)) * 1.608 * 2 S(I,K) + Y1 + (Y2 - Y1) * DIP(I,K)) * 3 S(I,K) * DP(I,K) ENDIF 150 CONTINUE ENDIF 200 CONTINUE C RETURN END BLOCK DATA CKDLW C IMPLICIT REAL (A-H,O-Z), +INTEGER (I-N) C C----------------------------------------------------------------------C C Li 2006 REVISED VERSION, COMPARED TO LI / BARKER (2005) THE MINORC C GAS, CO2, N2O, CH4 ECT ARE MORE ACCURATELY EVALUED C C----------------------------------------------------------------------C C C----------------------------------------------------------------------C C SPECTRAL REGION: 2200-2500 CM^-1. GAS: H2O, CO2 C C K IN UNIT CM^2 / GRAM FOR ALL DATA IN LONGWAVE C C----------------------------------------------------------------------C C COMMON /BANDL1/ GWL1(1), CL1H2O(5,18), CL1CO2(5,18) DATA GWL1 / .4500 / DATA (( CL1H2O(K,J), K = 1, 5), J = 1, 18) / 1 .7729E-02, .2411E-03, .2956E-05, .1077E-07,-.4460E-10, 1 .7769E-02, .2493E-03, .3163E-05, .9180E-08,-.8711E-10, 1 .8240E-02, .2499E-03, .2716E-05, .9216E-08,-.1298E-10, 1 .8275E-02, .2642E-03, .3245E-05, .1214E-07,-.3853E-10, 1 .8342E-02, .2629E-03, .3204E-05, .1246E-07,-.3213E-10, 1 .8414E-02, .2588E-03, .3128E-05, .1643E-07, .2609E-10, 1 .8506E-02, .2647E-03, .3275E-05, .1555E-07,-.2425E-11, 1 .8624E-02, .2658E-03, .3256E-05, .1554E-07, .6619E-12, 1 .8844E-02, .2684E-03, .3227E-05, .1590E-07, .1128E-10, 1 .9063E-02, .2741E-03, .3251E-05, .1459E-07,-.3333E-11, 1 .9189E-02, .2746E-03, .3223E-05, .1586E-07, .1758E-10, 1 .9306E-02, .2778E-03, .3257E-05, .1565E-07, .1259E-10, 1 .9324E-02, .2823E-03, .3399E-05, .1497E-07,-.1343E-10, 1 .9387E-02, .2820E-03, .3363E-05, .1622E-07, .7870E-11, 1 .9468E-02, .2822E-03, .3352E-05, .1724E-07, .2221E-10, 1 .9603E-02, .2824E-03, .3283E-05, .1713E-07, .2963E-10, 1 .9891E-02, .2820E-03, .2973E-05, .1730E-07, .8245E-10, 1 .9909E-02, .3031E-03, .3554E-05, .1315E-07,-.3465E-10 / DATA (( CL1CO2(K,J), K = 1, 5), J = 1, 18) / 1 .1225E-02, .2765E-04, .2198E-06, .7150E-09, .1736E-11, 1 .1702E-02, .3824E-04, .3057E-06, .9857E-09, .1965E-11, 1 .2359E-02, .5288E-04, .4341E-06, .1416E-08, .1210E-11, 1 .3290E-02, .7353E-04, .6138E-06, .2027E-08, .2927E-12, 1 .4627E-02, .1024E-03, .8357E-06, .2952E-08, .4676E-11, 1 .6529E-02, .1434E-03, .1148E-05, .4100E-08, .9037E-11, 1 .9233E-02, .2015E-03, .1577E-05, .5542E-08, .1518E-10, 1 .1303E-01, .2829E-03, .2162E-05, .7338E-08, .2307E-10, 1 .1829E-01, .3952E-03, .2984E-05, .9599E-08, .2792E-10, 1 .2544E-01, .5478E-03, .4138E-05, .1292E-07, .3108E-10, 1 .3508E-01, .7593E-03, .5745E-05, .1694E-07, .3395E-10, 1 .4732E-01, .1047E-02, .8186E-05, .2136E-07, .2658E-11, 1 .6245E-01, .1406E-02, .1136E-04, .2811E-07,-.4140E-10, 1 .8172E-01, .1836E-02, .1490E-04, .3860E-07,-.4997E-10, 1 .1064E+00, .2378E-02, .1923E-04, .4933E-07,-.8392E-10, 1 .1375E+00, .3059E-02, .2446E-04, .6294E-07,-.7413E-10, 1 .1773E+00, .3944E-02, .3123E-04, .7490E-07,-.1274E-09, 1 .2250E+00, .4978E-02, .3971E-04, .9725E-07,-.2245E-09 / C COMMON /BANDL1GH/ GWL1GH(5), CL1CO2GH(5,28,5) DATA GWL1GH / .31000, .13000, .07000, .03000, .01000 / DATA ((( CL1CO2GH(K,J,I), K = 1, 5), J = 1, 28), I = 1, 3) / 2 .6738E-02, .1474E-03, .1914E-05, .2326E-07, .1486E-09, 2 .1066E-01, .2126E-03, .2442E-05, .2517E-07, .1354E-09, 2 .1737E-01, .3190E-03, .3098E-05, .2805E-07, .1422E-09, 2 .2858E-01, .4879E-03, .3877E-05, .3181E-07, .1829E-09, 2 .4760E-01, .7644E-03, .4907E-05, .3653E-07, .2698E-09, 2 .7982E-01, .1237E-02, .7031E-05, .3818E-07, .2891E-09, 2 .1352E+00, .2034E-02, .1055E-04, .3694E-07, .2859E-09, 2 .2326E+00, .3384E-02, .1584E-04, .3587E-07, .3916E-09, 2 .4048E+00, .5695E-02, .2485E-04, .3519E-07, .5623E-09, 2 .7080E+00, .9656E-02, .4384E-04, .3414E-07, .1870E-09, 2 .1706E+01, .2188E-01, .1009E-03, .3305E-07,-.1328E-08, 2 .2386E+01, .2974E-01, .1333E-03, .4796E-07,-.1721E-08, 2 .3350E+01, .4070E-01, .1757E-03, .3596E-07,-.2213E-08, 2 .4730E+01, .5602E-01, .2264E-03, .2641E-07,-.1543E-08, 2 .6689E+01, .7768E-01, .3047E-03,-.3627E-07,-.2017E-08, 2 .9492E+01, .1081E+00, .4080E-03,-.7802E-07,-.1117E-08, 2 .1348E+02, .1506E+00, .5554E-03,-.1418E-06,-.4081E-09, 2 .1910E+02, .2106E+00, .7977E-03,-.3192E-06,-.6841E-08, 2 .2700E+02, .2918E+00, .1121E-02,-.3098E-06,-.1607E-07, 2 .3803E+02, .4044E+00, .1567E-02,-.4187E-06,-.2876E-07, 2 .5343E+02, .5610E+00, .2087E-02,-.3239E-06,-.2884E-07, 2 .7462E+02, .7751E+00, .2679E-02,-.7249E-06,-.1690E-07, 2 .1027E+03, .1064E+01, .3476E-02,-.2547E-05, .1010E-07, 2 .1386E+03, .1409E+01, .4877E-02,-.3540E-05,-.2021E-07, 2 .1857E+03, .1825E+01, .6552E-02,-.2374E-05,-.5292E-07, 2 .2455E+03, .2303E+01, .8402E-02, .1602E-05,-.9114E-07, 2 .3170E+03, .2824E+01, .9579E-02, .6663E-05,-.3177E-07, 2 .3924E+03, .3305E+01, .1073E-01, .1084E-04,-.5578E-08, 3 .2275E+00, .7262E-02, .1177E-03, .1392E-05, .8708E-08, 3 .2788E+00, .8069E-02, .1224E-03, .1343E-05, .8082E-08, 3 .3628E+00, .9253E-02, .1305E-03, .1318E-05, .7473E-08, 3 .4993E+00, .1100E-01, .1428E-03, .1297E-05, .6672E-08, 3 .7244E+00, .1350E-01, .1597E-03, .1314E-05, .6102E-08, 3 .1101E+01, .1740E-01, .1916E-03, .1325E-05, .3991E-08, 3 .1763E+01, .2312E-01, .2301E-03, .1408E-05, .2465E-08, 3 .2935E+01, .3173E-01, .2773E-03, .1579E-05, .2010E-08, 3 .5070E+01, .4504E-01, .3339E-03, .1827E-05, .2292E-08, 3 .9005E+01, .6610E-01, .3775E-03, .2286E-05, .1025E-07, 3 .2241E+02, .1307E+00, .4512E-03, .2587E-05, .3188E-07, 3 .3170E+02, .1724E+00, .4976E-03, .2542E-05, .4311E-07, 3 .4493E+02, .2297E+00, .7073E-03, .2388E-05, .3032E-07, 3 .6390E+02, .3110E+00, .1110E-02, .1629E-05,-.1046E-07, 3 .9126E+02, .4127E+00, .1572E-02, .2561E-05,-.5125E-07, 3 .1308E+03, .5465E+00, .2060E-02, .4614E-05,-.9379E-07, 3 .1880E+03, .7338E+00, .2436E-02, .8014E-05,-.1026E-06, 3 .2711E+03, .9960E+00, .2260E-02, .1285E-04,-.6623E-08, 3 .3909E+03, .1362E+01, .1590E-02, .1661E-04, .1523E-06, 3 .5621E+03, .1903E+01, .6027E-04, .8748E-05, .4488E-06, 3 .8007E+03, .2645E+01, .7700E-03,-.1335E-04, .4367E-06, 3 .1131E+04, .3452E+01, .5129E-02,-.1868E-04,-.1365E-06, 3 .1592E+04, .4300E+01, .7911E-02, .1566E-04,-.4882E-06, 3 .2230E+04, .5343E+01, .3924E-02, .7204E-04,-.2967E-06, 3 .3083E+04, .7011E+01,-.7174E-02, .9605E-04, .2091E-06, 3 .4174E+04, .9686E+01,-.1919E-01, .1037E-03,-.6807E-07, 3 .5522E+04, .1421E+02,-.4063E-01, .1461E-04, .2124E-05, 3 .7210E+04, .2017E+02,-.3837E-01,-.2109E-03, .1876E-05, 4 .1108E+02, .3429E+00, .4345E-02, .2875E-04, .9755E-07, 4 .1144E+02, .3418E+00, .4266E-02, .2884E-04, .1077E-06, 4 .1214E+02, .3422E+00, .4194E-02, .2895E-04, .1098E-06, 4 .1333E+02, .3516E+00, .4189E-02, .2782E-04, .9596E-07, 4 .1534E+02, .3690E+00, .4142E-02, .2645E-04, .9214E-07, 4 .1851E+02, .3987E+00, .4196E-02, .2525E-04, .8338E-07, 4 .2363E+02, .4459E+00, .4358E-02, .2358E-04, .6343E-07, 4 .3217E+02, .5172E+00, .4574E-02, .2220E-04, .5251E-07, 4 .4634E+02, .6332E+00, .5193E-02, .1942E-04,-.4200E-08, 4 .7052E+02, .7966E+00, .6123E-02, .1998E-04,-.5578E-07, 4 .1470E+03, .1198E+01, .7539E-02, .2687E-04,-.1083E-07, 4 .1974E+03, .1421E+01, .8434E-02, .3125E-04,-.1393E-07, 4 .2690E+03, .1711E+01, .8646E-02, .3705E-04, .1207E-06, 4 .3707E+03, .2104E+01, .8274E-02, .3783E-04, .3138E-06, 4 .5159E+03, .2658E+01, .8280E-02, .2972E-04, .3843E-06, 4 .7219E+03, .3425E+01, .7638E-02, .1577E-04, .6599E-06, 4 .1010E+04, .4531E+01, .9475E-02,-.2722E-04, .6672E-06, 4 .1406E+04, .5896E+01, .1459E-01,-.8524E-04, .4200E-06, 4 .1942E+04, .7336E+01, .2846E-01,-.1039E-03,-.8586E-06, 4 .2677E+04, .8625E+01, .4491E-01,-.3324E-04,-.2342E-05, 4 .3696E+04, .9635E+01, .4063E-01, .1259E-03,-.1060E-05, 4 .5057E+04, .1136E+02, .2002E-01, .1965E-03, .1828E-05, 4 .6836E+04, .1477E+02, .4018E-02, .9761E-04, .1983E-05, 4 .9024E+04, .1972E+02,-.1033E-01,-.1716E-03, .3867E-05, 4 .1163E+05, .2698E+02, .6287E-03,-.9831E-03, .1049E-04, 4 .1477E+05, .2452E+02, .1734E+00,-.9441E-03,-.3499E-05, 4 .1910E+05, .9065E+01, .1955E+00,-.3053E-03,-.2538E-05, 4 .2461E+05,-.9810E+01, .1550E+00, .1568E-03,-.1033E-05 / DATA ((( CL1CO2GH(K,J,I), K = 1, 5), J = 1, 28), I = 4, 5) / 5 .7986E+03, .1677E+02, .1210E+00, .2314E-03,-.1038E-05, 5 .7993E+03, .1676E+02, .1211E+00, .2310E-03,-.1046E-05, 5 .8010E+03, .1675E+02, .1212E+00, .2303E-03,-.1039E-05, 5 .8054E+03, .1670E+02, .1211E+00, .2327E-03,-.9910E-06, 5 .8153E+03, .1661E+02, .1210E+00, .2362E-03,-.9439E-06, 5 .8377E+03, .1643E+02, .1206E+00, .2536E-03,-.1036E-05, 5 .8863E+03, .1611E+02, .1183E+00, .3027E-03,-.1159E-05, 5 .9827E+03, .1601E+02, .1064E+00, .3228E-03, .1490E-07, 5 .1148E+04, .1637E+02, .9050E-01, .2998E-03, .1869E-05, 5 .1416E+04, .1733E+02, .7984E-01, .2508E-03, .2858E-05, 5 .2198E+04, .2018E+02, .6760E-01, .1663E-03, .5252E-05, 5 .2681E+04, .2193E+02, .7743E-01, .7488E-04, .3599E-05, 5 .3323E+04, .2426E+02, .1092E+00,-.5198E-04,-.1494E-05, 5 .4212E+04, .2681E+02, .1294E+00,-.1206E-03,-.4404E-05, 5 .5449E+04, .2865E+02, .1226E+00, .2527E-04,-.3612E-05, 5 .7140E+04, .3023E+02, .6931E-01, .2631E-03, .5208E-05, 5 .9356E+04, .3291E+02, .5977E-01, .3857E-03, .6337E-05, 5 .1233E+05, .3880E+02, .8451E-01, .1655E-03,-.2356E-05, 5 .1629E+05, .4636E+02, .6859E-02, .6641E-04, .6865E-05, 5 .2128E+05, .5681E+02,-.4704E-01, .1862E-03, .9793E-05, 5 .2726E+05, .7843E+02,-.4767E-01,-.1853E-02, .1714E-04, 5 .3422E+05, .9059E+02, .2994E+00,-.3000E-02,-.9698E-05, 5 .4300E+05, .6553E+02, .4254E+00,-.8920E-03,-.6760E-06, 5 .5474E+05, .2816E+02, .4003E+00,-.5322E-03,-.4311E-06, 5 .6905E+05,-.2155E+02, .3057E+00, .1376E-02,-.1023E-04, 5 .8411E+05,-.5324E+02,-.1065E+00, .9477E-03, .1867E-04, 5 .9612E+05,-.6344E+02,-.1826E+00, .6654E-04, .1295E-04, 5 .1020E+06,-.6770E+02,-.1738E+00, .2740E-04, .7889E-05, 6 .2751E+06,-.1179E+03,-.1559E+00, .1723E-02, .9732E-05, 6 .2751E+06,-.1179E+03,-.1596E+00, .1720E-02, .1039E-04, 6 .2751E+06,-.1179E+03,-.1582E+00, .1726E-02, .1009E-04, 6 .2751E+06,-.1179E+03,-.1549E+00, .1730E-02, .9570E-05, 6 .2750E+06,-.1178E+03,-.1565E+00, .1717E-02, .9918E-05, 6 .2750E+06,-.1178E+03,-.1541E+00, .1702E-02, .9738E-05, 6 .2750E+06,-.1177E+03,-.1550E+00, .1651E-02, .1055E-04, 6 .2749E+06,-.1180E+03,-.1415E+00, .1612E-02, .9390E-05, 6 .2747E+06,-.1189E+03,-.1235E+00, .1598E-02, .7860E-05, 6 .2744E+06,-.1207E+03,-.1105E+00, .1556E-02, .7872E-05, 6 .2737E+06,-.1259E+03,-.7812E-01, .1345E-02, .7062E-05, 6 .2732E+06,-.1290E+03,-.7044E-01, .1259E-02, .8850E-05, 6 .2725E+06,-.1327E+03,-.8298E-01, .1147E-02, .1445E-04, 6 .2716E+06,-.1364E+03,-.8634E-01, .9498E-03, .1880E-04, 6 .2701E+06,-.1385E+03,-.6870E-01, .5579E-03, .1955E-04, 6 .2680E+06,-.1381E+03,-.2096E-01, .1477E-03, .1196E-04, 6 .2650E+06,-.1353E+03,-.4792E-01, .4883E-05, .1189E-04, 6 .2607E+06,-.1311E+03,-.1436E+00, .3124E-03, .2108E-04, 6 .2547E+06,-.1254E+03,-.1750E+00, .4198E-03, .1541E-04, 6 .2471E+06,-.1240E+03,-.2163E+00, .6966E-04, .1613E-04, 6 .2378E+06,-.1394E+03,-.2353E+00, .1544E-02, .7290E-05, 6 .2266E+06,-.1548E+03,-.5408E+00, .2372E-02, .2895E-04, 6 .2121E+06,-.1434E+03,-.6396E+00, .4379E-03, .2133E-04, 6 .1931E+06,-.1265E+03,-.5790E+00, .4702E-03, .1629E-04, 6 .1698E+06,-.1066E+03,-.4847E+00, .3626E-03, .9090E-05, 6 .1434E+06,-.8694E+02,-.4484E+00, .6072E-03, .1448E-04, 6 .1162E+06,-.6672E+02,-.3481E+00, .3352E-03, .8064E-05, 6 .9060E+05,-.5008E+02,-.2867E+00, .2329E-03, .1025E-04 / C C----------------------------------------------------------------------C C SPECTRAL REGION: 1900-2200 CM^-1. GAS: H2O C C----------------------------------------------------------------------C C COMMON /BANDL2/ GWL2(1), CL2H2O(5,18), CL2CS(5,3), CL2CF(5,3) DATA GWL2 / .65000 / DATA (( CL2H2O(K,J), K = 1, 5), J = 1, 18) / 1 .1635E-03, .2510E-05, .1165E-07, .6099E-11,-.6637E-13, 1 .2428E-03, .3731E-05, .1727E-07, .8565E-11,-.8956E-13, 1 .3603E-03, .5548E-05, .2564E-07, .1195E-10,-.1220E-12, 1 .5345E-03, .8248E-05, .3813E-07, .1682E-10,-.1752E-12, 1 .7928E-03, .1226E-04, .5699E-07, .2270E-10,-.2956E-12, 1 .1175E-02, .1823E-04, .8542E-07, .3186E-10,-.5231E-12, 1 .1739E-02, .2706E-04, .1287E-06, .4714E-10,-.9960E-12, 1 .2570E-02, .4011E-04, .1939E-06, .7463E-10,-.1852E-11, 1 .3793E-02, .5927E-04, .2896E-06, .1431E-09,-.2750E-11, 1 .5588E-02, .8725E-04, .4266E-06, .2680E-09,-.3413E-11, 1 .8207E-02, .1282E-03, .6235E-06, .4425E-09,-.3973E-11, 1 .1202E-01, .1875E-03, .9017E-06, .7194E-09,-.3595E-11, 1 .1748E-01, .2737E-03, .1297E-05, .8795E-09,-.2771E-11, 1 .2519E-01, .3970E-03, .1885E-05, .9664E-09,-.3063E-11, 1 .3575E-01, .5659E-03, .2843E-05, .1564E-08,-.2169E-10, 1 .5020E-01, .7858E-03, .4096E-05, .3595E-08,-.4269E-10, 1 .7024E-01, .1068E-02, .5442E-05, .7079E-08,-.4472E-10, 1 .9820E-01, .1444E-02, .6762E-05, .9510E-08,-.2463E-10 / DATA (( CL2CS(K,J), K = 1, 5), J = 1, 3) / 1 .2074E+01,-.3404E-01, .3410E-03,-.2830E-05, .1315E-07, 1 .3090E+01,-.5095E-01, .5008E-03,-.4236E-05, .2128E-07, 1 .4599E+01,-.7532E-01, .7173E-03,-.6543E-05, .3852E-07 / DATA (( CL2CF(K,J), K = 1, 5), J = 1, 3) / 1 .1645E-01,-.1179E-04, .4388E-06,-.9480E-09,-.7306E-10, 1 .2422E-01,-.1917E-04, .4174E-06,-.1452E-08,-.7633E-10, 1 .3556E-01,-.1747E-04,-.4582E-07,-.4974E-08, .1378E-10 / COMMON /BANDL2GH/ GWL2GH(1), CL2H2OGH(5,28), 1 CL2CSGH(5,3), CL2CFGH(5,3) DATA GWL2GH / .35000 / DATA (( CL2H2OGH(K,J), K = 1, 5), J = 1, 28) / 1 .3402E+01, .2934E-01, .4803E-05,-.2079E-06, .6822E-09, 1 .3468E+01, .2991E-01, .4902E-05,-.2120E-06, .6954E-09, 1 .3535E+01, .3049E-01, .5015E-05,-.2159E-06, .7054E-09, 1 .3602E+01, .3106E-01, .5104E-05,-.2200E-06, .7192E-09, 1 .3668E+01, .3164E-01, .5168E-05,-.2241E-06, .7385E-09, 1 .3735E+01, .3221E-01, .5290E-05,-.2280E-06, .7472E-09, 1 .3802E+01, .3279E-01, .5377E-05,-.2322E-06, .7613E-09, 1 .3869E+01, .3336E-01, .5486E-05,-.2363E-06, .7722E-09, 1 .3935E+01, .3394E-01, .5573E-05,-.2405E-06, .7872E-09, 1 .4002E+01, .3451E-01, .5669E-05,-.2446E-06, .8003E-09, 1 .4065E+01, .3506E-01, .5779E-05,-.2484E-06, .8106E-09, 1 .4130E+01, .3564E-01, .5857E-05,-.2525E-06, .8281E-09, 1 .4197E+01, .3621E-01, .5962E-05,-.2567E-06, .8412E-09, 1 .4264E+01, .3679E-01, .6058E-05,-.2609E-06, .8562E-09, 1 .4329E+01, .3736E-01, .6171E-05,-.2652E-06, .8692E-09, 1 .4394E+01, .3794E-01, .6279E-05,-.2694E-06, .8841E-09, 1 .4460E+01, .3850E-01, .6409E-05,-.2738E-06, .8969E-09, 1 .4523E+01, .3907E-01, .6532E-05,-.2780E-06, .9115E-09, 1 .4587E+01, .3963E-01, .6646E-05,-.2823E-06, .9258E-09, 1 .4652E+01, .4019E-01, .6765E-05,-.2864E-06, .9355E-09, 1 .4716E+01, .4075E-01, .6816E-05,-.2905E-06, .9500E-09, 1 .4781E+01, .4130E-01, .6831E-05,-.2946E-06, .9629E-09, 1 .4844E+01, .4183E-01, .6790E-05,-.2989E-06, .9745E-09, 1 .4908E+01, .4236E-01, .6666E-05,-.3028E-06, .9879E-09, 1 .4970E+01, .4287E-01, .6389E-05,-.3071E-06, .1009E-08, 1 .5031E+01, .4335E-01, .6006E-05,-.3119E-06, .1030E-08, 1 .5090E+01, .4381E-01, .5556E-05,-.3174E-06, .1046E-08, 1 .5145E+01, .4424E-01, .5125E-05,-.3225E-06, .1050E-08 / DATA (( CL2CSGH(K,J), K = 1, 5), J = 1, 3) / 1 .6173E+01,-.9432E-01, .7384E-03,-.5151E-05, .3060E-07, 1 .9216E+01,-.1404E+00, .1120E-02,-.7676E-05, .4232E-07, 1 .1376E+02,-.2109E+00, .1733E-02,-.1102E-04, .4933E-07 / DATA (( CL2CFGH(K,J), K = 1, 5), J = 1, 3) / 1 .9702E-01,-.5003E-03, .1178E-05,-.7351E-08, .1902E-09, 1 .1451E+00,-.7394E-03, .2253E-05,-.1085E-07, .2121E-09, 1 .2170E+00,-.1121E-02, .4710E-05,-.1042E-07, .5378E-10 / C C----------------------------------------------------------------------C C SPECTRAL REGION: 1400-1900 CM^-1. GAS: H2O C C----------------------------------------------------------------------C C COMMON /BANDL3/ GWL3(2), CL3H2O(5,18,2), CL3CH4(2), CL3CS(5,4,2), 1 CL3CF(5,4,2) DATA GWL3 / .35000, .42800 / DATA CL3CH4 / 3.2742, 5.4269 / DATA ((( CL3H2O(K,J,I), K = 1, 5), J = 1, 18), I = 1, 2) / 1 .1346E-01, .3885E-04,-.1051E-06, .1206E-09,-.3369E-11, 1 .2004E-01, .5747E-04,-.1486E-06, .2288E-09,-.5499E-11, 1 .2983E-01, .8477E-04,-.2198E-06, .4393E-09,-.7404E-11, 1 .4442E-01, .1251E-03,-.3292E-06, .7923E-09,-.9568E-11, 1 .6618E-01, .1843E-03,-.4857E-06, .1357E-08,-.1418E-10, 1 .9847E-01, .2718E-03,-.7280E-06, .2189E-08,-.2010E-10, 1 .1467E+00, .4012E-03,-.1094E-05, .3386E-08,-.2946E-10, 1 .2183E+00, .5922E-03,-.1624E-05, .5178E-08,-.4821E-10, 1 .3247E+00, .8738E-03,-.2425E-05, .7887E-08,-.7561E-10, 1 .4824E+00, .1290E-02,-.3749E-05, .1189E-07,-.9333E-10, 1 .7162E+00, .1903E-02,-.5877E-05, .1754E-07,-.8788E-10, 1 .1060E+01, .2814E-02,-.9071E-05, .2461E-07,-.6135E-10, 1 .1565E+01, .4155E-02,-.1449E-04, .3320E-07, .9926E-10, 1 .2302E+01, .6147E-02,-.2199E-04, .3954E-07, .2928E-09, 1 .3371E+01, .9014E-02,-.3310E-04, .5333E-07, .6451E-09, 1 .4910E+01, .1318E-01,-.5060E-04, .6969E-07, .1479E-08, 1 .7113E+01, .1895E-01,-.7459E-04, .1205E-06, .2632E-08, 1 .1025E+02, .2642E-01,-.1077E-03, .2868E-06, .3422E-08, 2 .1827E+00, .3217E-03, .2040E-06, .3824E-08,-.1900E-10, 2 .2697E+00, .4479E-03, .1816E-06, .5756E-08,-.2757E-10, 2 .3983E+00, .6269E-03, .6031E-07, .8292E-08,-.3313E-10, 2 .5886E+00, .8792E-03,-.2372E-06, .1193E-07,-.3245E-10, 2 .8702E+00, .1242E-02,-.7474E-06, .1636E-07,-.3505E-10, 2 .1286E+01, .1761E-02,-.1512E-05, .2243E-07,-.5179E-10, 2 .1902E+01, .2518E-02,-.2696E-05, .2919E-07,-.7042E-10, 2 .2808E+01, .3618E-02,-.4325E-05, .3677E-07,-.1088E-09, 2 .4137E+01, .5203E-02,-.7001E-05, .4220E-07,-.7366E-10, 2 .6076E+01, .7428E-02,-.9254E-05, .5012E-07,-.1806E-09, 2 .8884E+01, .1047E-01,-.7983E-05, .7354E-07,-.1034E-08, 2 .1292E+02, .1458E-01,-.4125E-05, .1232E-06,-.2362E-08, 2 .1871E+02, .1936E-01, .1851E-05, .3028E-06,-.4561E-08, 2 .2696E+02, .2490E-01, .3493E-06, .6347E-06,-.7641E-08, 2 .3871E+02, .3116E-01,-.6083E-04, .1167E-05,-.3467E-08, 2 .5530E+02, .4078E-01,-.1803E-03, .1381E-05, .2540E-08, 2 .7833E+02, .5606E-01,-.2409E-03, .1278E-05,-.6412E-08, 2 .1096E+03, .6881E-01,-.3671E-03, .2262E-05,-.1106E-07 / DATA ((( CL3CS(K,J,I), K = 1, 5), J = 1, 4), I = 1, 2) / 1 .3996E+02,-.5365E+00, .3540E-02,-.2717E-04, .2081E-06, 1 .5942E+02,-.7948E+00, .5248E-02,-.4151E-04, .3219E-06, 1 .8827E+02,-.1189E+01, .8359E-02,-.6131E-04, .3842E-06, 1 .1308E+03,-.1790E+01, .1399E-01,-.8808E-04, .2861E-06, 2 .7479E+02,-.1212E+01, .1079E-01,-.7085E-04, .2736E-06, 2 .1124E+03,-.1825E+01, .1624E-01,-.1047E-03, .3862E-06, 2 .1688E+03,-.2728E+01, .2371E-01,-.1581E-03, .6927E-06, 2 .2536E+03,-.4072E+01, .3414E-01,-.2392E-03, .1289E-05 / DATA ((( CL3CF(K,J,I), K = 1, 5), J = 1, 4), I = 1, 2) / 1 .1834E+01,-.3554E-02,-.1324E-05,-.1868E-06, .4608E-08, 1 .2720E+01,-.5179E-02,-.1857E-06,-.3105E-06, .6846E-08, 1 .4029E+01,-.7783E-02, .3094E-04,-.4834E-06, .4418E-08, 1 .5946E+01,-.1209E-01, .1296E-03,-.7238E-06,-.9306E-08, 2 .4059E+01,-.1863E-01, .8584E-04,-.2080E-06,-.2539E-08, 2 .6099E+01,-.2803E-01, .1283E-03,-.2700E-06,-.4145E-08, 2 .9158E+01,-.4174E-01, .1571E-03,-.4211E-06, .3909E-09, 2 .1376E+02,-.6215E-01, .1582E-03,-.6142E-06, .1511E-07 / COMMON /BANDL3GH/ GWL3GH(3), CL3H2OGH(5,28,3), CL3CSGH(5,4), 1 CL3CFGH(5,4) DATA GWL3GH / .21200, .00900, .00100 / DATA ((( CL3H2OGH(K,J,I), K = 1, 5), J = 1, 28), I = 1, 3) / 1 .2818E+01, .4977E-01, .3333E-03, .1033E-05, .5543E-09, 1 .2852E+01, .5005E-01, .3357E-03, .1037E-05, .6017E-09, 1 .2904E+01, .5029E-01, .3382E-03, .1042E-05, .6547E-09, 1 .2990E+01, .5042E-01, .3410E-03, .1044E-05, .7345E-09, 1 .3143E+01, .5032E-01, .3453E-03, .1065E-05, .4436E-09, 1 .3436E+01, .4988E-01, .3482E-03, .1138E-05,-.1935E-09, 1 .3997E+01, .4948E-01, .3348E-03, .1222E-05, .7964E-09, 1 .5031E+01, .5016E-01, .3080E-03, .1223E-05, .2391E-08, 1 .6866E+01, .5321E-01, .2905E-03, .1111E-05, .1466E-08, 1 .1009E+02, .5979E-01, .2750E-03, .9415E-06, .1258E-08, 1 .2023E+02, .7639E-01, .3233E-03, .1042E-05,-.1104E-07, 1 .2702E+02, .8421E-01, .3657E-03, .1351E-05,-.1924E-07, 1 .3660E+02, .9413E-01, .3198E-03, .1687E-05,-.1054E-07, 1 .5018E+02, .1060E+00, .2284E-03, .2134E-05, .2182E-08, 1 .6946E+02, .1204E+00, .1469E-03, .2435E-05, .4934E-08, 1 .9688E+02, .1372E+00, .5108E-04, .2902E-05, .5369E-08, 1 .1356E+03, .1614E+00,-.4585E-04, .3030E-05,-.1509E-08, 1 .1902E+03, .1914E+00,-.2006E-03, .3070E-05,-.8193E-08, 1 .2661E+03, .2191E+00,-.3400E-03, .4267E-05,-.3542E-07, 1 .3698E+03, .2405E+00,-.7398E-03, .6909E-05,-.3960E-07, 1 .5068E+03, .2605E+00,-.1477E-02, .1130E-04,-.4522E-07, 1 .6786E+03, .3004E+00,-.2379E-02, .1174E-04,-.4238E-07, 1 .8796E+03, .3413E+00,-.3577E-02, .9236E-05, .5275E-07, 1 .1099E+04, .3193E+00,-.3336E-02, .7836E-05,-.5794E-07, 1 .1322E+04, .2322E+00,-.3523E-02, .1497E-04,-.1227E-06, 1 .1525E+04, .1338E+00,-.3548E-02, .1797E-04,-.1815E-06, 1 .1696E+04,-.1624E-02,-.3572E-02, .1515E-04,-.1152E-06, 1 .1825E+04,-.1337E+00,-.3511E-02, .5190E-05, .4501E-07, 2 .1141E+05, .7342E+02,-.1039E+00,-.3141E-03, .3118E-05, 2 .1148E+05, .7392E+02,-.1046E+00,-.3161E-03, .3141E-05, 2 .1156E+05, .7441E+02,-.1052E+00,-.3181E-03, .3158E-05, 2 .1165E+05, .7490E+02,-.1059E+00,-.3203E-03, .3172E-05, 2 .1173E+05, .7538E+02,-.1065E+00,-.3228E-03, .3195E-05, 2 .1181E+05, .7583E+02,-.1070E+00,-.3267E-03, .3215E-05, 2 .1190E+05, .7621E+02,-.1068E+00,-.3309E-03, .3172E-05, 2 .1202E+05, .7644E+02,-.1061E+00,-.3354E-03, .3129E-05, 2 .1218E+05, .7635E+02,-.1052E+00,-.3401E-03, .3181E-05, 2 .1243E+05, .7562E+02,-.1030E+00,-.3404E-03, .3128E-05, 2 .1320E+05, .7181E+02,-.9546E-01,-.3504E-03, .2937E-05, 2 .1379E+05, .6938E+02,-.8864E-01,-.3585E-03, .2327E-05, 2 .1460E+05, .6611E+02,-.8538E-01,-.3954E-03, .2062E-05, 2 .1570E+05, .6148E+02,-.7656E-01,-.3982E-03, .1060E-05, 2 .1718E+05, .5490E+02,-.8533E-01,-.3193E-03, .3048E-05, 2 .1908E+05, .4677E+02,-.8618E-01,-.2462E-03, .4298E-05, 2 .2138E+05, .3694E+02,-.6726E-01,-.1685E-03, .2112E-05, 2 .2403E+05, .2616E+02,-.6348E-01, .4946E-05,-.1312E-07, 2 .2666E+05, .1605E+02,-.3698E-01, .1642E-03,-.5717E-05, 2 .2888E+05, .6788E+01,-.4987E-01, .4297E-03,-.5067E-05, 2 .3024E+05, .1303E+01,-.3833E-01, .1349E-03,-.4714E-05, 2 .3042E+05,-.3760E+01,-.5905E-01,-.8417E-04, .5035E-05, 2 .2933E+05,-.8881E+01, .1676E-01,-.5683E-04,-.3842E-05, 2 .2728E+05,-.1272E+02, .1116E-01, .6502E-04,-.8432E-06, 2 .2440E+05,-.1390E+02, .1179E-01,-.1524E-03, .1268E-05, 2 .2112E+05,-.1461E+02, .2503E-01,-.3063E-03, .2521E-05, 2 .1778E+05,-.1432E+02, .3541E-01,-.3318E-03, .1949E-05, 2 .1459E+05,-.1398E+02, .5595E-01,-.1771E-03,-.2845E-05, 3 .4620E+06,-.9277E+03, .8396E+00, .3048E-02,-.4573E-04, 3 .4647E+06,-.9322E+03, .8442E+00, .3071E-02,-.4592E-04, 3 .4674E+06,-.9377E+03, .8487E+00, .3089E-02,-.4613E-04, 3 .4701E+06,-.9431E+03, .8526E+00, .3107E-02,-.4631E-04, 3 .4727E+06,-.9485E+03, .8577E+00, .3119E-02,-.4673E-04, 3 .4752E+06,-.9530E+03, .8603E+00, .3142E-02,-.4688E-04, 3 .4776E+06,-.9576E+03, .8591E+00, .3162E-02,-.4652E-04, 3 .4797E+06,-.9603E+03, .8565E+00, .3201E-02,-.4653E-04, 3 .4811E+06,-.9603E+03, .8497E+00, .3272E-02,-.4681E-04, 3 .4811E+06,-.9540E+03, .8312E+00, .3305E-02,-.4627E-04, 3 .4742E+06,-.9195E+03, .7422E+00, .3348E-02,-.4106E-04, 3 .4700E+06,-.8967E+03, .6618E+00, .3325E-02,-.3259E-04, 3 .4628E+06,-.8660E+03, .6419E+00, .3593E-02,-.3209E-04, 3 .4516E+06,-.8219E+03, .5752E+00, .3479E-02,-.2460E-04, 3 .4350E+06,-.7585E+03, .6894E+00, .2544E-02,-.4573E-04, 3 .4122E+06,-.6799E+03, .7230E+00, .1644E-02,-.5840E-04, 3 .3823E+06,-.5859E+03, .5548E+00, .7847E-03,-.3405E-04, 3 .3449E+06,-.4838E+03, .5570E+00,-.1030E-02,-.1073E-04, 3 .3025E+06,-.3884E+03, .3217E+00,-.2968E-02, .5427E-04, 3 .2574E+06,-.3008E+03, .5530E+00,-.6339E-02, .4849E-04, 3 .2125E+06,-.2520E+03, .6118E+00,-.4391E-02, .4666E-04, 3 .1707E+06,-.2130E+03, .1042E+01,-.2282E-02,-.5365E-04, 3 .1341E+06,-.1744E+03, .5511E+00,-.2045E-02, .1543E-04, 3 .1017E+06,-.1342E+03, .5526E+00,-.3116E-02, .1288E-04, 3 .7507E+05,-.1065E+03, .6268E+00,-.2878E-02, .4302E-05, 3 .5468E+05,-.8312E+02, .5621E+00,-.2137E-02, .2262E-05, 3 .3924E+05,-.6453E+02, .5006E+00,-.1175E-02,-.4003E-05, 3 .2792E+05,-.4693E+02, .3507E+00,-.9196E-03, .8430E-05 / DATA (( CL3CSGH(K,J), K = 1, 5), J = 1, 4) / 1 .8254E+02,-.1308E+01, .1136E-01,-.8548E-04, .4490E-06, 1 .1227E+03,-.1942E+01, .1684E-01,-.1282E-03, .6873E-06, 1 .1828E+03,-.2898E+01, .2532E-01,-.1890E-03, .9647E-06, 1 .2721E+03,-.4314E+01, .3809E-01,-.2830E-03, .1388E-05 / DATA (( CL3CFGH(K,J), K = 1, 5), J = 1, 4) / 1 .4588E+01,-.1977E-01, .8047E-04,-.3912E-06, .1906E-08, 1 .6826E+01,-.2936E-01, .1185E-03,-.6154E-06, .3345E-08, 1 .1018E+02,-.4402E-01, .1899E-03,-.8496E-06, .2045E-08, 1 .1517E+02,-.6521E-01, .3075E-03,-.1328E-05,-.7347E-09 / C C----------------------------------------------------------------------C C SPECTRAL REGION: 1100_1400 CM^-1. GAS: H2O, N2O, CH4 C C----------------------------------------------------------------------C C COMMON /BANDL4/ GWL4(5), CL4H2O(5,18,5), CL4N2O(5,18,5), 1 CL4CH4(5,18,5), CL4CS(5,4,5), CL4CF(5,4,5), 2 CL4F12(5) DATA (CL4F12(I), I = 1, 5) / .2137E+04, .5064E+03, 0., 0., 1 .7622E+02 / DATA GWL4 / .41600, .19000, .05600, .06600, .13000 / DATA ((( CL4H2O(K,J,I), K = 1, 5), J = 1, 18), I = 1, 5) / 1 .4522E-04, .8245E-06, .5346E-08, .1280E-10,-.1079E-13, 1 .6617E-04, .1203E-05, .7622E-08, .1888E-10, .1704E-13, 1 .9684E-04, .1760E-05, .1107E-07, .2745E-10, .3642E-13, 1 .1415E-03, .2557E-05, .1568E-07, .4371E-10, .1647E-12, 1 .2058E-03, .3743E-05, .2343E-07, .6158E-10, .1603E-12, 1 .2993E-03, .5469E-05, .3457E-07, .8483E-10, .1397E-12, 1 .4342E-03, .7950E-05, .5162E-07, .1268E-09, .2153E-13, 1 .6306E-03, .1149E-04, .7380E-07, .1884E-09, .1725E-12, 1 .9155E-03, .1675E-04, .1097E-06, .2639E-09,-.2506E-12, 1 .1329E-02, .2417E-04, .1555E-06, .4129E-09, .3781E-12, 1 .1916E-02, .3479E-04, .2190E-06, .6039E-09, .1572E-11, 1 .2705E-02, .4936E-04, .3259E-06, .8815E-09, .1638E-12, 1 .3820E-02, .6863E-04, .4362E-06, .1232E-08, .1997E-11, 1 .5350E-02, .9586E-04, .6027E-06, .1772E-08, .4391E-11, 1 .7351E-02, .1320E-03, .8311E-06, .2401E-08, .5945E-11, 1 .9807E-02, .1753E-03, .1111E-05, .3083E-08, .3626E-11, 1 .1287E-01, .2297E-03, .1492E-05, .4040E-08,-.2848E-11, 1 .1727E-01, .3040E-03, .1918E-05, .5621E-08, .5334E-11, 2 .1656E-02, .2445E-04, .1066E-06, .6257E-10, .5280E-12, 2 .2420E-02, .3584E-04, .1581E-06, .8450E-10, .6278E-12, 2 .3532E-02, .5255E-04, .2433E-06, .9942E-10,-.1181E-11, 2 .5160E-02, .7654E-04, .3459E-06, .1875E-09, .4289E-12, 2 .7508E-02, .1115E-03, .5156E-06, .3366E-09,-.2368E-13, 2 .1092E-01, .1620E-03, .7701E-06, .5736E-09,-.2538E-11, 2 .1585E-01, .2338E-03, .1129E-05, .1361E-08,-.8501E-12, 2 .2304E-01, .3376E-03, .1616E-05, .2244E-08, .2423E-11, 2 .3333E-01, .4885E-03, .2410E-05, .3030E-08,-.1164E-10, 2 .4812E-01, .7065E-03, .3576E-05, .3943E-08,-.3673E-10, 2 .6940E-01, .1013E-02, .5035E-05, .6085E-08,-.4138E-10, 2 .9942E-01, .1434E-02, .6652E-05, .9787E-08, .2130E-10, 2 .1407E+00, .2016E-02, .8991E-05, .1109E-07, .4046E-10, 2 .1970E+00, .2802E-02, .1200E-04, .1927E-07, .1629E-09, 2 .2707E+00, .3848E-02, .1668E-04, .2874E-07, .2089E-09, 2 .3622E+00, .5233E-02, .2438E-04, .3566E-07,-.3670E-10, 2 .4726E+00, .7117E-02, .3608E-04, .4033E-07,-.2733E-09, 2 .6076E+00, .9701E-02, .5685E-04, .2606E-07,-.1326E-08, 3 .2216E-03, .3554E-05, .2075E-07,-.2917E-10,-.9166E-12, 3 .3235E-03, .5219E-05, .3392E-07,-.2936E-10,-.1760E-11, 3 .4736E-03, .7562E-05, .4818E-07, .6518E-11,-.1707E-11, 3 .6990E-03, .1127E-04, .7254E-07, .1496E-10,-.2450E-11, 3 .1048E-02, .1664E-04, .9840E-07, .4709E-10,-.2066E-11, 3 .1557E-02, .2410E-04, .1391E-06, .1806E-09,-.2184E-11, 3 .2336E-02, .3598E-04, .1922E-06, .2000E-09,-.1765E-11, 3 .3477E-02, .5344E-04, .2640E-06, .4470E-09, .3117E-11, 3 .5099E-02, .7906E-04, .4082E-06, .3883E-09,-.8146E-12, 3 .7646E-02, .1168E-03, .4470E-06,-.1348E-09, .1608E-10, 3 .1126E-01, .1758E-03, .7926E-06,-.1417E-08,-.8058E-11, 3 .1664E-01, .2664E-03, .1509E-05,-.2640E-08,-.7754E-10, 3 .2434E-01, .3944E-03, .1962E-05, .7539E-11,-.8640E-11, 3 .3374E-01, .5451E-03, .2840E-05, .3798E-08, .1227E-10, 3 .4843E-01, .8062E-03, .4038E-05, .1406E-08, .3070E-10, 3 .6891E-01, .1094E-02, .6680E-05, .8490E-08,-.1232E-09, 3 .9395E-01, .1433E-02, .1118E-04, .2712E-07,-.4738E-09, 3 .1249E+00, .1763E-02, .8218E-05, .5259E-07, .4610E-09, 4 .2978E-03, .4096E-05, .1821E-07, .1786E-10,-.1332E-12, 4 .4490E-03, .6184E-05, .2733E-07,-.4189E-11,-.5915E-12, 4 .6686E-03, .9254E-05, .4312E-07,-.1507E-10,-.1331E-11, 4 .9926E-03, .1376E-04, .7283E-07,-.3685E-10,-.3920E-11, 4 .1487E-02, .2058E-04, .1053E-06,-.5939E-10,-.5269E-11, 4 .2232E-02, .3027E-04, .1280E-06, .3122E-10,-.1858E-11, 4 .3334E-02, .4576E-04, .2042E-06,-.1316E-09,-.6451E-11, 4 .4918E-02, .6854E-04, .3483E-06,-.4051E-09,-.1835E-10, 4 .7333E-02, .9814E-04, .3934E-06, .1784E-09,-.1910E-11, 4 .1075E-01, .1408E-03, .5224E-06, .9762E-09, .1017E-10, 4 .1545E-01, .2011E-03, .9206E-06, .2739E-08, .1004E-11, 4 .2213E-01, .2862E-03, .1320E-05, .4216E-08, .9818E-11, 4 .3112E-01, .4058E-03, .2414E-05, .4595E-08,-.9702E-10, 4 .4392E-01, .5939E-03, .3704E-05,-.1661E-08,-.2390E-09, 4 .6035E-01, .8365E-03, .6483E-05,-.4570E-08,-.5600E-09, 4 .8357E-01, .1060E-02, .4470E-05, .8835E-08, .1228E-09, 4 .1158E+00, .1378E-02, .3205E-05, .9850E-08, .4720E-09, 4 .1582E+00, .1941E-02, .5674E-05, .9262E-08, .4614E-09, 5 .3080E-01, .4314E-03, .1986E-05, .1956E-08,-.1402E-10, 5 .4426E-01, .6104E-03, .2697E-05, .2671E-08,-.1020E-10, 5 .6373E-01, .8681E-03, .3768E-05, .3091E-08,-.2370E-10, 5 .9181E-01, .1233E-02, .5120E-05, .3968E-08,-.1630E-10, 5 .1324E+00, .1759E-02, .7044E-05, .4812E-08,-.5648E-11, 5 .1911E+00, .2512E-02, .9758E-05, .5417E-08, .1050E-11, 5 .2757E+00, .3591E-02, .1365E-04, .7245E-08, .1285E-10, 5 .3972E+00, .5141E-02, .1923E-04, .6153E-08,-.1002E-10, 5 .5701E+00, .7312E-02, .2630E-04, .6808E-08, .8962E-10, 5 .8135E+00, .1036E-01, .3567E-04,-.4509E-10, .2321E-09, 5 .1147E+01, .1455E-01, .5332E-04,-.1359E-07,-.4653E-09, 5 .1591E+01, .2004E-01, .7386E-04,-.1697E-07,-.8798E-09, 5 .2162E+01, .2714E-01, .1005E-03,-.9313E-08,-.1059E-08, 5 .2882E+01, .3633E-01, .1426E-03, .8892E-07,-.9844E-09, 5 .3810E+01, .4930E-01, .2167E-03, .1527E-06,-.3229E-08, 5 .5089E+01, .6618E-01, .2436E-03, .2950E-06, .4565E-08, 5 .6791E+01, .9040E-01, .3260E-03, .6389E-08, .2512E-08, 5 .8947E+01, .1217E+00, .4721E-03,-.2841E-06,-.4937E-08 / DATA ((( CL4N2O(K,J,I), K = 1, 5), J = 1, 18), I = 1, 5) / 1 .1221E+00, .4607E-02,-.1092E-03,-.7950E-06, .2260E-07, 1 .1736E+00, .4696E-02,-.1028E-03,-.7547E-06, .2142E-07, 1 .2480E+00, .4554E-02,-.8742E-04,-.6458E-06, .1842E-07, 1 .3534E+00, .2425E-03, .5366E-04, .3462E-06,-.1017E-07, 1 .5066E+00, .6379E-03, .6300E-04, .4188E-06,-.1199E-07, 1 .7217E+00, .7438E-03, .8979E-04, .6128E-06,-.1728E-07, 1 .1022E+01,-.1727E-02, .1967E-03, .1406E-05,-.3894E-07, 1 .1423E+01, .2931E-02, .1229E-03, .8570E-06,-.2317E-07, 1 .1969E+01, .4369E-02, .1433E-03, .1043E-05,-.2714E-07, 1 .2703E+01, .4148E-02, .2228E-03, .1704E-05,-.4389E-07, 1 .3660E+01, .1966E-02, .3835E-03, .2971E-05,-.7781E-07, 1 .4891E+01, .6197E-02, .3848E-03, .3143E-05,-.7857E-07, 1 .6230E+01, .9593E-02, .5283E-03, .3610E-05,-.1012E-06, 1 .7923E+01, .1151E-01, .6181E-03, .3950E-05,-.1194E-06, 1 .9847E+01, .1396E-01, .7092E-03, .4052E-05,-.1370E-06, 1 .1212E+02, .1507E-01, .7382E-03, .4072E-05,-.1381E-06, 1 .1381E+02, .1632E-01, .7336E-03, .3528E-05,-.1242E-06, 1 .1469E+02, .6227E-02, .5287E-03, .6379E-05,-.9610E-07, 2 .1673E+00, .3458E-03, .1699E-04, .9082E-07,-.3284E-08, 2 .2408E+00, .4617E-03, .2320E-04, .1292E-06,-.4544E-08, 2 .3458E+00, .5739E-03, .3052E-04, .1966E-06,-.5963E-08, 2 .4970E+00, .7537E-03, .4125E-04, .2809E-06,-.8042E-08, 2 .7095E+00, .1138E-02, .5930E-04, .3617E-06,-.1148E-07, 2 .1013E+01, .1578E-02, .8125E-04, .4838E-06,-.1564E-07, 2 .1433E+01, .2548E-02, .1216E-03, .5861E-06,-.2299E-07, 2 .2019E+01, .3330E-02, .1598E-03, .7950E-06,-.3003E-07, 2 .2879E+01, .3812E-02, .2007E-03, .1309E-05,-.3749E-07, 2 .4062E+01, .5861E-02, .2928E-03, .1624E-05,-.5574E-07, 2 .5640E+01, .9247E-02, .4214E-03, .1720E-05,-.7880E-07, 2 .7643E+01, .1320E-01, .5633E-03, .1869E-05,-.9837E-07, 2 .1072E+02, .1005E-01, .5204E-03, .3153E-05,-.9999E-07, 2 .1472E+02, .1435E-01, .6798E-03, .3103E-05,-.1311E-06, 2 .1964E+02, .1496E-01, .7514E-03, .4260E-05,-.1423E-06, 2 .2542E+02, .1663E-03, .4323E-03, .8283E-05,-.1120E-06, 2 .3044E+02, .8567E-02, .8712E-03, .9115E-05,-.2504E-06, 2 .3769E+02, .1006E-01, .1067E-02, .1187E-04,-.2966E-06, 3 .1484E+02, .5334E-01, .2501E-02, .1325E-04,-.4186E-06, 3 .1941E+02, .6501E-01, .3013E-02, .1519E-04,-.5088E-06, 3 .2572E+02, .7385E-01, .3493E-02, .1886E-04,-.5901E-06, 3 .3425E+02, .8483E-01, .4074E-02, .2342E-04,-.6783E-06, 3 .4614E+02, .9777E-01, .4768E-02, .2844E-04,-.7989E-06, 3 .6298E+02, .1052E+00, .5435E-02, .3644E-04,-.9412E-06, 3 .8640E+02, .1317E+00, .6768E-02, .4267E-04,-.1233E-05, 3 .1173E+03, .1642E+00, .8449E-02, .5211E-04,-.1579E-05, 3 .1586E+03, .1946E+00, .1018E-01, .6401E-04,-.1946E-05, 3 .2076E+03, .2239E+00, .1144E-01, .6956E-04,-.2126E-05, 3 .2711E+03, .2072E+00, .1130E-01, .7784E-04,-.2170E-05, 3 .3552E+03, .2081E+00, .1209E-01, .8748E-04,-.2514E-05, 3 .4641E+03, .1634E+00, .1221E-01, .1153E-03,-.2857E-05, 3 .5812E+03, .1662E+00, .1184E-01, .1027E-03,-.2862E-05, 3 .6853E+03, .4071E+00, .1649E-01, .3255E-04,-.3037E-05, 3 .8408E+03, .7898E-01, .2854E-02, .1555E-04,-.4177E-07, 3 .1031E+04,-.1059E+00,-.1015E-01,-.1071E-03, .2761E-05, 3 .1245E+04,-.5350E+00,-.2760E-01,-.1375E-03, .6120E-05, 4 .1791E+01, .4671E-02, .2245E-03, .1154E-05,-.4032E-07, 4 .2465E+01, .5317E-02, .2662E-03, .1574E-05,-.4716E-07, 4 .3441E+01, .5277E-02, .2950E-03, .2225E-05,-.5287E-07, 4 .4766E+01, .7379E-02, .3979E-03, .2820E-05,-.7061E-07, 4 .6615E+01, .9570E-02, .5076E-03, .3359E-05,-.9344E-07, 4 .9163E+01, .1539E-01, .7306E-03, .3510E-05,-.1351E-06, 4 .1279E+02, .1617E-01, .8247E-03, .5140E-05,-.1464E-06, 4 .1789E+02, .2130E-01, .1031E-02, .5581E-05,-.1820E-06, 4 .2391E+02, .3796E-01, .1474E-02, .3418E-05,-.2163E-06, 4 .3294E+02, .3936E-01, .1483E-02, .3084E-05,-.2004E-06, 4 .4575E+02, .2773E-01, .1137E-02, .5439E-05,-.1215E-06, 4 .6301E+02, .1832E-01, .7399E-03, .4006E-05,-.5753E-07, 4 .8609E+02, .8497E-02, .1991E-03,-.1211E-06, .3695E-07, 4 .1156E+03,-.2822E-01,-.8305E-03, .5836E-05, .1911E-06, 4 .1653E+03,-.1781E+00,-.4480E-02, .3480E-04, .5037E-06, 4 .2123E+03, .5571E-01, .1559E-02,-.1667E-04,-.4486E-06, 4 .2704E+03, .7448E-01, .6277E-03,-.3309E-04, .2755E-06, 4 .3374E+03,-.7487E-02,-.4234E-02,-.6698E-04, .1356E-05, 5 .7360E+00, .2716E-02, .1361E-03, .9457E-06,-.2056E-07, 5 .9957E+00, .3583E-02, .1763E-03, .1155E-05,-.2717E-07, 5 .1358E+01, .4862E-02, .2315E-03, .1361E-05,-.3651E-07, 5 .1864E+01, .6831E-02, .3127E-03, .1536E-05,-.5179E-07, 5 .2562E+01, .8541E-02, .3961E-03, .2102E-05,-.6380E-07, 5 .3592E+01, .1004E-01, .4876E-03, .2997E-05,-.7786E-07, 5 .4915E+01, .1421E-01, .6639E-03, .3703E-05,-.1042E-06, 5 .6845E+01, .1895E-01, .8707E-03, .4489E-05,-.1401E-06, 5 .9531E+01, .2304E-01, .1086E-02, .5880E-05,-.1806E-06, 5 .1338E+02, .2529E-01, .1300E-02, .8908E-05,-.2159E-06, 5 .1859E+02, .2983E-01, .1642E-02, .1271E-04,-.2808E-06, 5 .2555E+02, .3943E-01, .2143E-02, .1555E-04,-.3852E-06, 5 .3279E+02, .6610E-01, .3127E-02, .1593E-04,-.5566E-06, 5 .4081E+02, .8791E-01, .4129E-02, .2120E-04,-.7149E-06, 5 .5086E+02, .1277E+00, .5650E-02, .2339E-04,-.9697E-06, 5 .6022E+02, .1590E+00, .7100E-02, .3072E-04,-.1207E-05, 5 .7874E+02, .8541E-01, .6203E-02, .6140E-04,-.1318E-05, 5 .9991E+02, .1184E+00, .8159E-02, .7115E-04,-.1868E-05 / DATA ((( CL4CH4(K,J,I), K = 1, 5), J = 1, 18), I = 1, 5) / 1 .9137E-01, .1088E-02, .4972E-05, .1499E-07,-.2950E-10, 1 .1187E+00, .1335E-02, .5474E-05, .1353E-07,-.4323E-10, 1 .1551E+00, .1652E-02, .5309E-05, .1271E-07, .1100E-09, 1 .2047E+00, .2143E-02, .7594E-05,-.6530E-08,-.2620E-09, 1 .2732E+00, .2688E-02, .7900E-05,-.4138E-08,-.1992E-09, 1 .3623E+00, .3390E-02, .9013E-05, .6175E-08,-.4666E-10, 1 .4805E+00, .4327E-02, .1129E-04, .2055E-07, .1086E-09, 1 .6329E+00, .5551E-02, .1557E-04, .3098E-07,-.8012E-13, 1 .8298E+00, .7139E-02, .2222E-04, .5144E-07,-.1101E-09, 1 .1092E+01, .9247E-02, .3166E-04, .4297E-07,-.1151E-08, 1 .1422E+01, .1168E-01, .3258E-04, .1151E-06, .4173E-09, 1 .1831E+01, .1444E-01, .3322E-04, .2244E-06, .2416E-08, 1 .2325E+01, .1759E-01, .4613E-04, .1798E-06,-.1103E-08, 1 .2957E+01, .2229E-01, .6204E-04, .2746E-07,-.5260E-08, 1 .3733E+01, .2761E-01, .6807E-04, .7011E-07,-.4948E-08, 1 .4620E+01, .3617E-01, .1329E-03,-.2251E-06,-.1553E-07, 1 .5887E+01, .4158E-01,-.3489E-04, .4706E-06, .1494E-07, 1 .7667E+01, .5108E-01,-.8798E-04, .8921E-06, .1366E-07, 2 .2207E+00, .2008E-02, .8345E-05,-.3194E-08,-.7102E-10, 2 .2915E+00, .2405E-02, .8360E-05, .1547E-08, .1615E-09, 2 .3892E+00, .2974E-02, .8936E-05,-.7955E-08, .3137E-09, 2 .5225E+00, .3597E-02, .8928E-05, .1703E-07, .8602E-09, 2 .7027E+00, .4644E-02, .1317E-04,-.1240E-07, .7214E-09, 2 .9451E+00, .6081E-02, .2750E-04,-.5610E-07,-.9667E-09, 2 .1287E+01, .7621E-02, .3806E-04,-.3813E-07,-.1639E-08, 2 .1759E+01, .9770E-02, .5419E-04,-.5969E-07,-.3062E-08, 2 .2394E+01, .1202E-01, .7968E-04, .4902E-07,-.4798E-08, 2 .3271E+01, .1417E-01, .8826E-04, .3344E-06,-.2054E-08, 2 .4481E+01, .1632E-01, .1096E-03, .7152E-06,-.1640E-08, 2 .6107E+01, .1992E-01, .1268E-03, .5190E-06,-.4426E-08, 2 .8397E+01, .2262E-01, .1162E-03, .8987E-06,-.1597E-08, 2 .1147E+02, .2732E-01, .7073E-04, .1168E-05, .3837E-08, 2 .1583E+02, .3975E-01,-.1534E-03,-.1913E-06, .3267E-07, 2 .2112E+02, .5559E-01,-.2737E-03,-.1964E-05, .6435E-07, 2 .2715E+02, .5229E-01, .3344E-03, .1562E-05,-.5051E-07, 2 .3467E+02, .3740E-01, .2171E-03, .3982E-05,-.2886E-07, 3 .2407E+00, .2039E-02, .1470E-04,-.2640E-07,-.8912E-09, 3 .3188E+00, .2290E-02, .1830E-04, .8208E-08,-.1229E-08, 3 .4211E+00, .2495E-02, .2941E-04, .8411E-07,-.2567E-08, 3 .5768E+00, .2748E-02, .3366E-04, .1720E-06,-.2882E-08, 3 .8098E+00, .3386E-02, .3183E-04, .2231E-06,-.2288E-08, 3 .1146E+01, .4600E-02, .2915E-04, .2112E-06,-.1932E-08, 3 .1632E+01, .6820E-02, .5652E-05, .6807E-07, .1466E-08, 3 .2301E+01, .1010E-01,-.1987E-04,-.1066E-06, .7104E-08, 3 .3197E+01, .1400E-01,-.1927E-04,-.2818E-06, .9577E-08, 3 .4407E+01, .1813E-01,-.2739E-07,-.4008E-06, .1006E-07, 3 .6107E+01, .2184E-01, .3399E-04,-.6081E-06, .7130E-08, 3 .8543E+01, .2574E-01, .1007E-03,-.4743E-06, .1007E-08, 3 .1159E+02, .3344E-01, .3544E-03,-.9878E-06,-.2314E-07, 3 .1563E+02, .3590E-01, .6387E-03,-.5254E-06,-.6602E-07, 3 .2259E+02, .4160E-01, .6703E-03, .5133E-06,-.8723E-07, 3 .3362E+02, .5251E-01,-.5808E-03, .1067E-05, .1409E-06, 3 .4756E+02, .7566E-01,-.4022E-03,-.3155E-05, .8415E-07, 3 .6182E+02, .8859E-01, .3841E-03,-.6404E-05,-.2222E-07, 4 .2988E+02, .3101E+00, .2051E-02, .4433E-05,-.9226E-09, 4 .3625E+02, .3201E+00, .2046E-02, .6589E-05, .1640E-07, 4 .4474E+02, .3416E+00, .2380E-02, .6462E-05,-.2999E-07, 4 .5692E+02, .3657E+00, .2588E-02, .6339E-05,-.7359E-07, 4 .7390E+02, .3828E+00, .2355E-02, .8384E-05,-.3824E-07, 4 .9619E+02, .4112E+00, .2900E-02, .8277E-05,-.1406E-06, 4 .1281E+03, .4211E+00, .1764E-02, .1049E-04, .1216E-07, 4 .1721E+03, .4390E+00,-.1284E-03, .1275E-04, .3038E-06, 4 .2294E+03, .4536E+00,-.3047E-03, .1296E-04, .2741E-06, 4 .3065E+03, .4878E+00, .7446E-03, .1574E-04, .6018E-07, 4 .4118E+03, .5523E+00, .7160E-03, .1813E-04, .4300E-07, 4 .5493E+03, .6324E+00, .6411E-03, .1278E-04, .1444E-06, 4 .7262E+03, .5727E+00, .9721E-03, .2628E-04, .4376E-07, 4 .9323E+03, .4248E+00, .6676E-02, .6926E-04,-.1448E-05, 4 .1174E+04, .8226E+00,-.1731E-01, .7288E-05, .2157E-05, 4 .1350E+04, .1466E+01, .1950E-02,-.6319E-04,-.1249E-05, 4 .1469E+04, .1092E+01, .7563E-03, .4991E-04,-.3726E-06, 4 .1518E+04, .6355E-01,-.1367E-02, .1037E-03, .1104E-05, 5 .2036E+01, .1970E-01, .6954E-04, .9777E-06, .1427E-07, 5 .2489E+01, .2249E-01, .9201E-04, .6975E-06, .9741E-08, 5 .3087E+01, .2558E-01, .1240E-03, .5592E-06, .4320E-08, 5 .3903E+01, .2815E-01, .1190E-03, .6690E-06, .7383E-08, 5 .5022E+01, .3039E-01, .1048E-03, .1061E-05, .1199E-07, 5 .6720E+01, .3072E-01,-.1784E-04, .1993E-05, .3744E-07, 5 .8736E+01, .3483E-01, .1329E-03, .2483E-05, .1622E-07, 5 .1156E+02, .4173E-01, .2808E-03, .2431E-05,-.7176E-08, 5 .1559E+02, .5133E-01, .5124E-03, .1729E-05,-.5871E-07, 5 .2104E+02, .6360E-01, .3861E-03, .1025E-05,-.4281E-07, 5 .2888E+02, .7407E-01,-.2885E-03, .8115E-06, .4623E-07, 5 .3933E+02, .1041E+00,-.5496E-03, .1333E-05, .2076E-07, 5 .5151E+02, .1307E+00,-.1016E-02, .3993E-05, .8703E-07, 5 .6489E+02, .1424E+00,-.1220E-02, .8490E-05, .2009E-06, 5 .7902E+02, .4233E-01,-.2834E-04, .2733E-04, .5109E-07, 5 .9987E+02, .5085E-02,-.1784E-02, .2788E-04, .1585E-06, 5 .1163E+03, .1377E+00,-.5601E-03, .5898E-06, .6894E-07, 5 .1301E+03, .2690E+00, .7167E-04,-.1505E-04,-.1757E-06 / DATA ((( CL4CS(K,J,I), K = 1, 5), J = 1, 4), I = 1, 5) / 1 .2963E+01,-.6248E-01, .7072E-03,-.6852E-05, .4073E-07, 1 .4389E+01,-.9282E-01, .1053E-02,-.1018E-04, .6033E-07, 1 .6504E+01,-.1379E+00, .1563E-02,-.1513E-04, .8989E-07, 1 .9655E+01,-.2045E+00, .2315E-02,-.2248E-04, .1345E-06, 2 .5426E+01,-.7237E-01, .5760E-03,-.4182E-05, .2285E-07, 2 .7880E+01,-.1059E+00, .8600E-03,-.5971E-05, .2769E-07, 2 .1137E+02,-.1502E+00, .1194E-02,-.9983E-05, .6469E-07, 2 .1633E+02,-.2158E+00, .1902E-02,-.1555E-04, .7317E-07, 3 .1842E+01,-.3104E-01, .2853E-03,-.2193E-05, .1164E-07, 3 .2775E+01,-.4614E-01, .4189E-03,-.3011E-05, .1430E-07, 3 .4184E+01,-.6835E-01, .6010E-03,-.4193E-05, .1973E-07, 3 .6221E+01,-.1013E+00, .8702E-03,-.6274E-05, .3281E-07, 4 .2481E+01,-.3523E-01, .3003E-03,-.1935E-05, .6590E-08, 4 .3682E+01,-.5227E-01, .4152E-03,-.2940E-05, .1664E-07, 4 .5486E+01,-.7810E-01, .6293E-03,-.4376E-05, .2069E-07, 4 .8208E+01,-.1172E+00, .9091E-03,-.6048E-05, .3264E-07, 5 .8893E+01,-.1096E+00, .7672E-03,-.4571E-05, .1791E-07, 5 .1335E+02,-.1655E+00, .1103E-02,-.6265E-05, .3180E-07, 5 .2001E+02,-.2519E+00, .1738E-02,-.8552E-05, .2439E-07, 5 .3000E+02,-.3746E+00, .2320E-02,-.1363E-04, .9085E-07 / DATA ((( CL4CF(K,J,I), K = 1, 5), J = 1, 4), I = 1, 5) / 1 .7013E-03,-.1603E-05, .1962E-07, .3683E-10,-.3567E-11, 1 .8985E-03,-.1971E-05, .2133E-07,-.5080E-10,-.2559E-11, 1 .1188E-02,-.3713E-05, .2277E-07,-.6132E-11,-.1074E-11, 1 .1773E-02,-.7232E-05, .3104E-08, .2434E-09, .2715E-11, 2 .9373E-01,-.2093E-03, .3432E-06, .4281E-08, .4751E-10, 2 .1318E+00,-.2736E-03, .7616E-06, .1319E-07,-.1956E-09, 2 .1819E+00,-.1819E-03,-.1961E-05,-.1174E-07, .5800E-09, 2 .2472E+00,-.1279E-04, .3770E-05,-.5185E-07,-.2937E-09, 3 .6826E-02,-.2275E-04, .8054E-07,-.6566E-09, .1963E-10, 3 .1086E-01,-.4792E-04, .4297E-06, .6485E-09,-.3405E-10, 3 .1737E-01,-.8208E-04, .5458E-06, .1082E-08,-.3918E-10, 3 .2609E-01,-.1179E-03, .1103E-06,-.6427E-09, .5693E-10, 4 .3075E-01,-.9096E-04, .1324E-05,-.4341E-08,-.1020E-09, 4 .4570E-01,-.1504E-03, .3913E-06,-.6475E-08, .1799E-09, 4 .6792E-01,-.2302E-03, .1675E-05,-.1538E-07,-.8774E-12, 4 .1032E+00,-.3967E-03, .1016E-05,-.6557E-08, .2296E-09, 5 .2480E+00,-.1007E-02, .4769E-05,-.2681E-07,-.2797E-10, 5 .3749E+00,-.1603E-02, .4728E-05,-.1799E-07, .3663E-09, 5 .5657E+00,-.2589E-02, .1026E-04,-.5741E-08,-.3444E-09, 5 .8529E+00,-.3892E-02, .3271E-05,-.3967E-07, .1784E-08 / COMMON /BANDL4GH/ GWL4GH(5), CL4H2OGH(5,28,5), CL4N2OGH(5,28,5), 1 CL4CH4GH(5,28,5) DATA GWL4GH / .06000, .02000, .04000, .02000, .00200 / DATA ((( CL4H2OGH(K,J,I), K = 1, 5), J = 1, 28), I = 1, 3) / 1 .2389E-01, .8023E-03, .1119E-04, .7886E-07, .2424E-09, 1 .2524E-01, .8180E-03, .1115E-04, .7834E-07, .2450E-09, 1 .2783E-01, .8535E-03, .1113E-04, .7728E-07, .2525E-09, 1 .3203E-01, .9216E-03, .1138E-04, .7569E-07, .2400E-09, 1 .3887E-01, .1039E-02, .1195E-04, .7361E-07, .2101E-09, 1 .4984E-01, .1225E-02, .1294E-04, .7330E-07, .1907E-09, 1 .6746E-01, .1517E-02, .1453E-04, .7410E-07, .1717E-09, 1 .9657E-01, .1984E-02, .1733E-04, .7454E-07, .7852E-10, 1 .9675E-01, .1987E-02, .1709E-04, .7457E-07, .1291E-09, 1 .2319E+00, .3958E-02, .2654E-04, .8626E-07, .1313E-09, 1 .5036E+00, .7653E-02, .4228E-04, .8702E-07,-.2182E-10, 1 .6835E+00, .1001E-01, .5237E-04, .8422E-07,-.2534E-09, 1 .9369E+00, .1319E-01, .6201E-04, .8985E-07, .1192E-09, 1 .1291E+01, .1752E-01, .7501E-04, .7891E-07, .2683E-09, 1 .1788E+01, .2328E-01, .9027E-04, .1094E-06, .9234E-09, 1 .2472E+01, .3122E-01, .1211E-03, .1212E-06,-.3275E-09, 1 .3430E+01, .4227E-01, .1553E-03, .7843E-07,-.1063E-08, 1 .4744E+01, .5677E-01, .1867E-03, .5932E-07,-.1628E-09, 1 .6491E+01, .7539E-01, .2152E-03, .1557E-06, .3990E-08, 1 .8763E+01, .1009E+00, .3017E-03, .2280E-06, .2903E-08, 1 .1172E+02, .1371E+00, .4766E-03, .3806E-06,-.2891E-08, 1 .1582E+02, .1884E+00, .5719E-03, .2031E-06, .9369E-08, 1 .2147E+02, .2628E+00, .7701E-03,-.8997E-06, .4368E-08, 1 .2891E+02, .3565E+00, .1105E-02,-.1426E-05,-.1688E-07, 1 .3862E+02, .4676E+00, .1176E-02,-.1233E-05, .1237E-07, 1 .5095E+02, .6090E+00, .1076E-02,-.2648E-05, .7162E-07, 1 .6524E+02, .7809E+00, .1555E-02,-.5509E-05, .2720E-07, 1 .8082E+02, .9810E+00, .2414E-02,-.8815E-05,-.5367E-07, 2 .7236E+03, .7962E+01, .1904E-01,-.3996E-04,-.5148E-06, 2 .7236E+03, .7962E+01, .1896E-01,-.4060E-04,-.4972E-06, 2 .7236E+03, .7962E+01, .1896E-01,-.4067E-04,-.4960E-06, 2 .7236E+03, .7962E+01, .1910E-01,-.4064E-04,-.5201E-06, 2 .7236E+03, .7962E+01, .1936E-01,-.4068E-04,-.5609E-06, 2 .7236E+03, .7968E+01, .1931E-01,-.4193E-04,-.5658E-06, 2 .7236E+03, .7956E+01, .1883E-01,-.3833E-04,-.4978E-06, 2 .7236E+03, .7938E+01, .1889E-01,-.3021E-04,-.4364E-06, 2 .7242E+03, .7932E+01, .1871E-01,-.2850E-04,-.4095E-06, 2 .7242E+03, .7896E+01, .2018E-01,-.4137E-04,-.4395E-06, 2 .7350E+03, .7950E+01, .1039E-01,-.6774E-04, .1403E-05, 2 .7356E+03, .7944E+01, .1055E-01,-.6654E-04, .1361E-05, 2 .7434E+03, .7470E+01, .1583E-01, .3154E-04,-.4696E-07, 2 .7446E+03, .7338E+01, .3541E-01, .6012E-04,-.4080E-05, 2 .7464E+03, .7386E+01, .3458E-01, .5217E-04,-.3962E-05, 2 .7488E+03, .7416E+01, .3224E-01, .4928E-04,-.3556E-05, 2 .8112E+03, .7692E+01,-.2378E-01, .3646E-04, .5880E-05, 2 .8088E+03, .7818E+01,-.1949E-01, .1360E-04, .5100E-05, 2 .8052E+03, .9090E+01, .1899E-01,-.2113E-03,-.2146E-05, 2 .7992E+03, .8844E+01, .1637E-01,-.5873E-04,-.6390E-08, 2 .7920E+03, .8742E+01, .1591E-01,-.5873E-04, .1426E-07, 2 .7818E+03, .8598E+01, .1531E-01,-.5706E-04, .4255E-07, 2 .7674E+03, .8406E+01, .1509E-01,-.5579E-04,-.3805E-07, 2 .7488E+03, .8136E+01, .1412E-01,-.4969E-04,-.4195E-07, 2 .7260E+03, .7854E+01, .1159E-01,-.5386E-04, .2095E-06, 2 .6942E+03, .7494E+01, .1076E-01,-.5536E-04, .1964E-06, 2 .6540E+03, .7014E+01, .9864E-02,-.5251E-04, .1809E-06, 2 .6072E+03, .6516E+01, .1027E-01,-.6330E-04,-.1893E-06, 3 .2108E+01, .3332E-01, .1275E-03, .1178E-05, .1325E-07, 3 .2108E+01, .3294E-01, .1379E-03, .1257E-05, .1107E-07, 3 .2108E+01, .3294E-01, .1381E-03, .1268E-05, .1090E-07, 3 .2126E+01, .3294E-01, .1198E-03, .1265E-05, .1391E-07, 3 .2156E+01, .3293E-01, .8849E-04, .1269E-05, .1899E-07, 3 .2117E+01, .3215E-01, .9393E-04, .1425E-05, .1947E-07, 3 .2106E+01, .3404E-01, .1532E-03, .9540E-06, .1125E-07, 3 .2108E+01, .3590E-01, .1476E-03,-.5847E-07, .3361E-08, 3 .2075E+01, .3686E-01, .1700E-03,-.2662E-06, .3063E-10, 3 .2045E+01, .3572E-01, .1901E-03,-.3326E-07,-.3711E-08, 3 .1824E+01, .3158E-01, .2442E-03, .4196E-06,-.1189E-07, 3 .1820E+01, .3198E-01, .2232E-03, .3441E-06,-.7679E-08, 3 .1878E+01, .3197E-01, .1528E-03, .1701E-06, .2109E-08, 3 .1815E+01, .3070E-01, .1596E-03, .2971E-06, .1288E-08, 3 .1808E+01, .2829E-01, .8270E-04, .6339E-06, .1470E-07, 3 .1766E+01, .2901E-01, .1250E-03, .2424E-06, .3840E-08, 3 .1745E+01, .3131E-01, .1697E-03,-.9534E-06,-.1533E-07, 3 .1680E+01, .2975E-01, .1597E-03,-.4634E-06,-.9044E-08, 3 .1628E+01, .2907E-01, .1676E-03,-.9052E-07,-.6416E-08, 3 .1541E+01, .2736E-01, .1364E-03, .2546E-06, .2139E-08, 3 .1424E+01, .2636E-01, .1318E-03, .2340E-06, .1267E-08, 3 .1267E+01, .2634E-01, .1556E-03, .8799E-07,-.3775E-08, 3 .1109E+01, .2486E-01, .1188E-03, .4647E-07, .4857E-08, 3 .8613E+00, .2496E-01, .1294E-03,-.3978E-06, .7470E-08, 3 .4707E+00, .1772E-01, .3293E-03, .4122E-06,-.2613E-07, 3 .4857E+00, .1040E-01, .1019E-03, .9338E-06, .6153E-08, 3 .4899E+00, .1038E-01, .9413E-04, .2505E-06,-.1454E-08, 3 .4833E+00, .7562E-02, .3546E-04, .3612E-06, .4517E-08 / DATA ((( CL4H2OGH(K,J,I), K = 1, 5), J = 1, 28), I = 4, 5) / 4 .2355E+02, .2819E+00,-.4206E-03,-.6588E-05, .1073E-06, 4 .2355E+02, .2819E+00,-.4209E-03,-.6590E-05, .1074E-06, 4 .2355E+02, .2819E+00,-.4208E-03,-.6590E-05, .1074E-06, 4 .2353E+02, .2819E+00,-.4211E-03,-.6590E-05, .1074E-06, 4 .2353E+02, .2819E+00,-.4211E-03,-.6590E-05, .1074E-06, 4 .2353E+02, .2819E+00,-.4217E-03,-.6590E-05, .1075E-06, 4 .2353E+02, .2819E+00,-.4215E-03,-.6551E-05, .1070E-06, 4 .2352E+02, .2817E+00,-.4235E-03,-.6551E-05, .1074E-06, 4 .2352E+02, .2817E+00,-.4236E-03,-.6562E-05, .1073E-06, 4 .2346E+02, .2916E+00,-.8387E-03,-.3810E-05, .1225E-06, 4 .2105E+02, .2838E+00, .1490E-02, .1889E-05,-.3219E-06, 4 .2091E+02, .2828E+00, .1485E-02, .1736E-05,-.3197E-06, 4 .1859E+02, .3990E+00, .2987E-03,-.2243E-04, .1270E-07, 4 .1823E+02, .4320E+00,-.4620E-02,-.2981E-04, .1022E-05, 4 .1755E+02, .4209E+00,-.4274E-02,-.2850E-04, .9660E-06, 4 .1670E+02, .4073E+00,-.3795E-02,-.2700E-04, .8865E-06, 4 .5743E+00, .3263E+00, .1010E-01,-.2136E-04,-.1434E-05, 4 .4236E+00, .2876E+00, .9015E-02,-.1662E-04,-.1252E-05, 4 .3987E+00,-.4227E-01,-.6518E-03, .3882E-04, .5528E-06, 4 .4442E+00, .5766E-02, .7944E-05,-.6069E-07, .7719E-09, 4 .4914E+00, .7053E-02, .1367E-04,-.7704E-07, .1159E-08, 4 .5693E+00, .9095E-02, .3801E-04,-.1469E-06,-.2042E-08, 4 .6678E+00, .1032E-01, .2110E-04, .1560E-06, .4224E-08, 4 .7842E+00, .1593E-01, .6816E-05,-.3554E-06, .1052E-07, 4 .8238E+00, .2334E-01, .8207E-04,-.1137E-05, .4041E-08, 4 .3765E+00, .2898E-01, .7379E-03,-.1364E-05,-.9786E-07, 4 .3693E+00, .2225E-01, .5910E-03, .1003E-05,-.5321E-07, 4 .4338E+00,-.1136E-04,-.6776E-04, .5445E-05, .7788E-07, 5 .9687E-02, .1412E-03, .5307E-06,-.5223E-09,-.2049E-11, 5 .9690E-02, .1413E-03, .5309E-06,-.5186E-09,-.2009E-11, 5 .9698E-02, .1413E-03, .5304E-06,-.5111E-09,-.1814E-11, 5 .9711E-02, .1415E-03, .5309E-06,-.4959E-09,-.1613E-11, 5 .9738E-02, .1418E-03, .5316E-06,-.4677E-09,-.1178E-11, 5 .9793E-02, .1425E-03, .5325E-06,-.4074E-09,-.2019E-12, 5 .9906E-02, .1439E-03, .5349E-06,-.2852E-09, .1674E-11, 5 .1013E-01, .1466E-03, .5391E-06,-.3668E-10, .5639E-11, 5 .1013E-01, .1466E-03, .5391E-06,-.3675E-10, .5640E-11, 5 .1153E-01, .1642E-03, .5758E-06, .9417E-09, .2184E-10, 5 .1511E-01, .2118E-03, .6582E-06, .6767E-09, .3303E-10, 5 .1770E-01, .2436E-03, .7868E-06, .1764E-08, .3789E-10, 5 .2153E-01, .2931E-03, .9288E-06, .2837E-08, .5458E-10, 5 .2721E-01, .3674E-03, .1228E-05, .5044E-08, .4404E-10, 5 .3557E-01, .4854E-03, .1211E-05, .5428E-08, .1463E-09, 5 .4920E-01, .7096E-03,-.7649E-06,-.1568E-07, .4641E-09, 5 .6774E-01, .9642E-03,-.1386E-05,-.1477E-07, .6924E-09, 5 .8295E-01, .1503E-02, .9383E-05,-.5270E-07,-.9002E-09, 5 .1053E+00, .2090E-02, .2388E-04,-.6977E-07,-.2912E-08, 5 .1493E+00, .2139E-02, .4439E-05, .4974E-07, .1430E-08, 5 .1845E+00, .3423E-02, .5772E-05,-.8297E-07, .1452E-08, 5 .1401E+00, .2064E-02,-.1348E-04, .1100E-06, .6345E-08, 5 .1269E+00, .1383E-02, .6630E-05, .3254E-07, .2028E-09, 5 .1572E+00, .2025E-02, .8321E-05,-.4928E-07,-.4596E-09, 5 .1524E+00, .2465E-02, .3357E-04, .1213E-07,-.3288E-08, 5 .1567E+00, .2385E-02, .8036E-05, .1980E-07, .7383E-09, 5 .1728E+00, .2756E-02, .2018E-04,-.3805E-08,-.8982E-09, 5 .1614E+00, .1926E-02, .1683E-04, .9033E-07, .2361E-09 / DATA ((( CL4N2OGH(K,J,I), K = 1, 5), J = 1, 28), I = 1, 3) / 1 .4988E-01, .8580E-03, .3692E-04, .2180E-06,-.3876E-08, 1 .5165E-01, .8462E-03, .3643E-04, .2110E-06,-.3960E-08, 1 .5233E-01, .9050E-03, .3818E-04, .2030E-06,-.4235E-08, 1 .5855E-01, .9452E-03, .4001E-04, .2128E-06,-.4518E-08, 1 .7071E-01, .8644E-03, .3850E-04, .2357E-06,-.4512E-08, 1 .8943E-01, .9599E-03, .4286E-04, .2450E-06,-.5571E-08, 1 .1124E+00, .1075E-02, .4820E-04, .2629E-06,-.6742E-08, 1 .1522E+00, .1398E-02, .6125E-04, .2914E-06,-.9041E-08, 1 .2362E+00, .1645E-02, .7551E-04, .3925E-06,-.1201E-07, 1 .3505E+00, .1991E-02, .9643E-04, .6076E-06,-.1485E-07, 1 .6880E+00, .3824E-02, .1786E-03, .1011E-05,-.2760E-07, 1 .9256E+00, .4666E-02, .2183E-03, .1189E-05,-.3527E-07, 1 .1217E+01, .6512E-02, .2931E-03, .1344E-05,-.4883E-07, 1 .1636E+01, .6174E-02, .3114E-03, .2063E-05,-.5101E-07, 1 .2280E+01, .6586E-02, .3680E-03, .2917E-05,-.6316E-07, 1 .3157E+01, .7771E-02, .4553E-03, .3738E-05,-.8330E-07, 1 .4350E+01, .8261E-02, .5513E-03, .5395E-05,-.1028E-06, 1 .6032E+01, .1205E-01, .7615E-03, .6747E-05,-.1472E-06, 1 .8129E+01, .1545E-01, .9619E-03, .8408E-05,-.1837E-06, 1 .1056E+02, .1961E-01, .1206E-02, .1050E-04,-.2262E-06, 1 .1323E+02, .3396E-01, .1781E-02, .1175E-04,-.3247E-06, 1 .1643E+02, .4218E-01, .2290E-02, .1606E-04,-.4258E-06, 1 .2066E+02, .5072E-01, .2954E-02, .2282E-04,-.5743E-06, 1 .2703E+02, .6713E-01, .4093E-02, .3230E-04,-.8506E-06, 1 .3367E+02, .9359E-01, .5513E-02, .4178E-04,-.1121E-05, 1 .4364E+02, .1033E+00, .6674E-02, .5709E-04,-.1403E-05, 1 .5596E+02, .1693E+00, .9550E-02, .6365E-04,-.2023E-05, 1 .6287E+02, .4216E+00, .1751E-01, .3710E-04,-.3394E-05, 2 .5170E-01, .1044E-02, .4268E-04, .1976E-06,-.4816E-08, 2 .5375E-01, .1045E-02, .4276E-04, .1985E-06,-.4844E-08, 2 .5968E-01, .1002E-02, .4182E-04, .2101E-06,-.4757E-08, 2 .6615E-01, .1034E-02, .4324E-04, .2126E-06,-.5081E-08, 2 .7531E-01, .1173E-02, .4785E-04, .1966E-06,-.6056E-08, 2 .1018E+00, .1173E-02, .5008E-04, .2383E-06,-.6684E-08, 2 .1342E+00, .1309E-02, .5669E-04, .2672E-06,-.8100E-08, 2 .1917E+00, .1682E-02, .7213E-04, .2842E-06,-.1152E-07, 2 .2972E+00, .1897E-02, .8747E-04, .4546E-06,-.1414E-07, 2 .3855E+00, .3031E-02, .1288E-03, .5204E-06,-.1954E-07, 2 .7423E+00, .4535E-02, .1965E-03, .8849E-06,-.2927E-07, 2 .9859E+00, .4597E-02, .2158E-03, .1331E-05,-.3080E-07, 2 .1316E+01, .6987E-02, .3086E-03, .1467E-05,-.4673E-07, 2 .1809E+01, .6752E-02, .3375E-03, .2355E-05,-.5047E-07, 2 .2343E+01, .9041E-02, .4397E-03, .3010E-05,-.6184E-07, 2 .3125E+01, .1392E-01, .6355E-03, .3391E-05,-.9717E-07, 2 .4146E+01, .1739E-01, .8144E-03, .4677E-05,-.1251E-06, 2 .5620E+01, .2043E-01, .1038E-02, .7100E-05,-.1679E-06, 2 .7262E+01, .2520E-01, .1319E-02, .9658E-05,-.2124E-06, 2 .1011E+02, .4856E-01, .2259E-02, .1040E-04,-.4136E-06, 2 .1330E+02, .7198E-01, .3203E-02, .1265E-04,-.5738E-06, 2 .1731E+02, .7242E-01, .3471E-02, .1956E-04,-.5831E-06, 2 .2076E+02, .1096E+00, .4867E-02, .2097E-04,-.8149E-06, 2 .2346E+02, .1381E+00, .5856E-02, .2247E-04,-.9158E-06, 2 .2809E+02, .1022E+00, .5081E-02, .3419E-04,-.7825E-06, 2 .2414E+02, .1368E+00, .5566E-02, .2155E-04,-.7330E-06, 2 .1476E+02, .1447E+00, .5366E-02, .1282E-04,-.6336E-06, 2 .5787E+01, .5165E-02, .1446E-02, .3817E-04, .4241E-07, 3 .6458E+04,-.4833E-01, .3890E-02, .1125E-03,-.1087E-05, 3 .6458E+04,-.4827E-01, .3888E-02, .1124E-03,-.1086E-05, 3 .6458E+04,-.4791E-01, .3887E-02, .1123E-03,-.1084E-05, 3 .6458E+04,-.4778E-01, .3872E-02, .1119E-03,-.1076E-05, 3 .6458E+04,-.4840E-01, .3821E-02, .1115E-03,-.1062E-05, 3 .6458E+04, .2823E-02, .5023E-02, .9978E-04,-.1185E-05, 3 .6458E+04, .2388E-02, .4853E-02, .9690E-04,-.1138E-05, 3 .6451E+04,-.7123E-02, .4602E-02, .9830E-04,-.1114E-05, 3 .6458E+04,-.1205E+00, .5893E-02, .1799E-03,-.2481E-05, 3 .6458E+04,-.1635E+00, .3339E-02, .1668E-03,-.1773E-05, 3 .6426E+04, .1113E+01, .3695E-01,-.1197E-03,-.7629E-05, 3 .6419E+04, .1027E+01, .3404E-01,-.1017E-03,-.6733E-05, 3 .6383E+04, .1558E+01, .4609E-01,-.2414E-03,-.8186E-05, 3 .6366E+04, .3765E+00, .2042E-01, .1448E-03,-.3753E-05, 3 .6340E+04, .7142E-01, .3606E-02, .4442E-04,-.8531E-08, 3 .6333E+04, .2743E+00, .1009E-01, .1786E-04,-.1330E-05, 3 .6282E+04, .3212E+00, .4309E-02,-.1311E-03, .2304E-06, 3 .6232E+04,-.2892E+00,-.1575E-01,-.7142E-04, .4072E-05, 3 .6172E+04,-.9869E+00,-.3712E-01, .1841E-06, .7296E-05, 3 .6032E+04,-.5739E+00,-.3114E-01,-.1738E-03, .7066E-05, 3 .5885E+04,-.5738E+00,-.3492E-01,-.2867E-03, .6931E-05, 3 .5678E+04,-.4250E+00,-.3835E-01,-.4296E-03, .9120E-05, 3 .5459E+04,-.8243E+00,-.5504E-01,-.4660E-03, .1238E-04, 3 .5187E+04,-.9670E+00,-.6470E-01,-.5443E-03, .1471E-04, 3 .4896E+04,-.1658E+01,-.8486E-01,-.4743E-03, .1706E-04, 3 .4541E+04,-.1835E+01,-.8762E-01,-.4542E-03, .1573E-04, 3 .4055E+04,-.1467E+01,-.7584E-01,-.4803E-03, .1400E-04, 3 .3500E+04,-.1173E+01,-.6168E-01,-.3969E-03, .1165E-04 / DATA ((( CL4N2OGH(K,J,I), K = 1, 5), J = 1, 28), I = 4, 5) / 4 .3893E+03, .1021E+01, .3123E-01,-.1210E-03,-.5144E-05, 4 .3893E+03, .1021E+01, .3123E-01,-.1210E-03,-.5144E-05, 4 .3893E+03, .1021E+01, .3123E-01,-.1210E-03,-.5144E-05, 4 .3894E+03, .1020E+01, .3123E-01,-.1210E-03,-.5144E-05, 4 .3894E+03, .1020E+01, .3122E-01,-.1210E-03,-.5144E-05, 4 .3931E+03, .9536E+00, .2956E-01,-.1073E-03,-.4952E-05, 4 .3934E+03, .9516E+00, .2955E-01,-.1060E-03,-.4956E-05, 4 .3942E+03, .9580E+00, .2943E-01,-.1122E-03,-.4888E-05, 4 .3876E+03, .1090E+01, .2708E-01,-.2214E-03,-.3004E-05, 4 .3873E+03, .1126E+01, .2891E-01,-.2179E-03,-.3568E-05, 4 .4184E+03,-.5248E+00,-.1714E-01, .1022E-03, .4688E-05, 4 .4248E+03,-.3435E+00,-.1757E-01,-.3228E-04, .5424E-05, 4 .5268E+03,-.2199E+01,-.6428E-01, .3501E-03, .1122E-04, 4 .5412E+03,-.7284E+00,-.3442E-01,-.1727E-03, .6188E-05, 4 .5608E+03,-.5328E+00,-.1857E-01, .4252E-04, .3948E-05, 4 .5900E+03,-.1583E+01,-.4900E-01, .1828E-03, .8308E-05, 4 .6188E+03,-.8484E+00,-.2166E-01, .1429E-03, .1974E-05, 4 .6592E+03, .6440E-01, .1962E-02,-.1083E-03,-.3201E-05, 4 .6804E+03, .5872E+00, .1542E-01,-.2383E-03,-.5716E-05, 4 .7504E+03,-.7692E+00,-.1903E-01, .8080E-04,-.1088E-06, 4 .7328E+03,-.1586E+00,-.1535E-02, .6512E-04,-.5992E-06, 4 .7340E+03,-.5016E+00,-.5500E-02, .1926E-03,-.1719E-05, 4 .6772E+03,-.1717E+00, .5508E-02, .1743E-03,-.3544E-05, 4 .6228E+03,-.1493E+00, .8392E-02, .2060E-03,-.4472E-05, 4 .5224E+03, .4880E+00, .2377E-01, .8404E-04,-.5656E-05, 4 .4116E+03, .5196E+00, .2191E-01, .7456E-04,-.3667E-05, 4 .3674E+03, .3179E+00, .1746E-01, .1248E-03,-.3306E-05, 4 .3502E+03, .2198E+00, .8108E-02, .1192E-04,-.1179E-05, 5 .3956E+04,-.9684E+01,-.2756E+00, .1190E-02, .3309E-04, 5 .3956E+04,-.9688E+01,-.2756E+00, .1190E-02, .3309E-04, 5 .3955E+04,-.9684E+01,-.2756E+00, .1190E-02, .3310E-04, 5 .3955E+04,-.9684E+01,-.2756E+00, .1190E-02, .3309E-04, 5 .3954E+04,-.9684E+01,-.2756E+00, .1190E-02, .3310E-04, 5 .3952E+04,-.9684E+01,-.2756E+00, .1190E-02, .3311E-04, 5 .3949E+04,-.9684E+01,-.2755E+00, .1191E-02, .3312E-04, 5 .3943E+04,-.9684E+01,-.2756E+00, .1195E-02, .3321E-04, 5 .3930E+04,-.9680E+01,-.2754E+00, .1195E-02, .3328E-04, 5 .3903E+04,-.9664E+01,-.2752E+00, .1196E-02, .3339E-04, 5 .3804E+04,-.9592E+01,-.2737E+00, .1193E-02, .3378E-04, 5 .3734E+04,-.1061E+02,-.2560E+00, .2086E-02, .2102E-04, 5 .3032E+04, .9632E+00, .3287E-01,-.2678E-03,-.1206E-04, 5 .2910E+04, .6236E+00, .2294E-01,-.1914E-03,-.9672E-05, 5 .2743E+04, .1983E+01, .3851E-01,-.1425E-02,-.2592E-04, 5 .2118E+04, .9328E+01, .2214E+00,-.2838E-02,-.4424E-04, 5 .1852E+04, .5196E+00,-.2855E-01,-.9160E-03, .9244E-05, 5 .1217E+04,-.2219E+01,-.7616E-01, .5096E-03, .2496E-04, 5 .6204E+03,-.1749E+00,-.1348E-01, .5316E-03, .2213E-04, 5 .1615E+03, .6936E+01, .1902E+00,-.9124E-03,-.1962E-04, 5 .1904E+03,-.4192E-01, .2323E-02, .6436E-04,-.1037E-05, 5 .1386E+03, .2807E+00, .5912E-02,-.4012E-04, .5732E-06, 5 .1503E+03, .4096E+00, .6616E-02,-.1279E-03, .5024E-06, 5 .2210E+03, .1447E+00, .1008E-02,-.5940E-04, .8608E-06, 5 .3346E+03, .6364E-01,-.6224E-02,-.1564E-03, .2112E-05, 5 .5816E+03,-.6336E+00,-.1241E-01, .1678E-03, .1669E-06, 5 .7484E+03,-.2662E+00, .1446E-01, .4064E-03,-.6384E-05, 5 .8964E+03, .5260E+00, .6216E-01, .7264E-03,-.1772E-04 / DATA ((( CL4CH4GH(K,J,I), K = 1, 5), J = 1, 28), I = 1, 3) / 1 .8700E+00, .1887E-01, .1585E-03, .6363E-06, .1081E-08, 1 .8721E+00, .1898E-01, .1413E-03, .5553E-06, .3840E-08, 1 .8595E+00, .1880E-01, .1489E-03, .5433E-06, .2285E-08, 1 .8466E+00, .1902E-01, .1696E-03, .4416E-06,-.1869E-08, 1 .8448E+00, .1890E-01, .1844E-03, .5346E-06,-.3618E-08, 1 .8460E+00, .1804E-01, .1724E-03, .7254E-06,-.4830E-09, 1 .8769E+00, .1775E-01, .1611E-03, .7674E-06, .1459E-08, 1 .9585E+00, .1811E-01, .1305E-03, .8235E-06, .8208E-08, 1 .1076E+01, .1884E-01, .1309E-03, .7077E-06, .7203E-08, 1 .1241E+01, .1978E-01, .1883E-03, .6351E-06,-.3513E-08, 1 .1919E+01, .2328E-01, .1845E-03, .4407E-06,-.3924E-08, 1 .2375E+01, .2612E-01, .1809E-03, .1315E-06,-.4521E-08, 1 .2954E+01, .2696E-01, .1611E-03, .3363E-06,-.1368E-08, 1 .3774E+01, .2908E-01, .4320E-04, .5202E-06, .2121E-07, 1 .4824E+01, .3621E-01, .7428E-04,-.4026E-06, .1263E-07, 1 .6174E+01, .4110E-01, .2357E-03,-.7044E-06,-.1811E-07, 1 .8148E+01, .4674E-01, .2657E-03,-.1123E-06,-.1929E-07, 1 .1036E+02, .4995E-01, .6102E-03, .7980E-06,-.7266E-07, 1 .1414E+02, .6255E-01, .2994E-03, .1214E-06,-.3504E-07, 1 .1903E+02, .7083E-01,-.1424E-03, .2311E-05, .2283E-07, 1 .2470E+02, .1071E+00, .4068E-03,-.2388E-05,-.5868E-07, 1 .3108E+02, .1164E+00, .3711E-03,-.2117E-05, .2126E-07, 1 .3771E+02, .1077E+00, .1159E-02, .3057E-05,-.9174E-07, 1 .4809E+02, .1572E+00,-.8061E-03,-.7326E-06, .1206E-06, 1 .5589E+02, .2635E+00,-.2446E-02,-.9432E-05, .3012E-06, 1 .6153E+02, .3111E+00,-.5085E-03,-.9444E-05, .6441E-07, 1 .6975E+02, .3501E+00, .4641E-03,-.2692E-05,-.9003E-07, 1 .8316E+02, .4320E+00,-.2826E-02,-.1446E-04, .4611E-06, 2 .8589E+00, .1775E-01, .1834E-03, .1063E-05,-.4194E-09, 2 .8619E+00, .1764E-01, .1781E-03, .1091E-05, .5043E-09, 2 .8634E+00, .1822E-01, .1967E-03, .1024E-05,-.2585E-08, 2 .8694E+00, .1804E-01, .1970E-03, .1136E-05,-.1791E-08, 2 .8784E+00, .1763E-01, .1835E-03, .1063E-05,-.1280E-08, 2 .8652E+00, .1762E-01, .2120E-03, .1033E-05,-.6234E-08, 2 .9228E+00, .1781E-01, .2100E-03, .9363E-06,-.7014E-08, 2 .1009E+01, .1795E-01, .1923E-03, .8424E-06,-.4398E-08, 2 .1153E+01, .1739E-01, .1936E-03, .1064E-05,-.4563E-08, 2 .1369E+01, .1763E-01, .1357E-03, .7248E-06, .3159E-08, 2 .2197E+01, .2318E-01, .1815E-03,-.4185E-06,-.2029E-07, 2 .2599E+01, .2272E-01, .1598E-03, .9402E-07,-.1427E-07, 2 .3441E+01, .2298E-01,-.6693E-04, .9123E-06, .2633E-07, 2 .4131E+01, .2627E-01, .8970E-04, .1018E-05, .4293E-08, 2 .5148E+01, .2958E-01, .1367E-03, .1379E-05,-.5712E-08, 2 .6624E+01, .2888E-01,-.8442E-04, .3177E-05, .3993E-07, 2 .8817E+01, .5097E-01, .5445E-04,-.1598E-05, .3513E-08, 2 .1220E+02, .6765E-01,-.1743E-03,-.3681E-05, .3231E-07, 2 .1527E+02, .6414E-01, .6732E-04, .2051E-05, .3408E-07, 2 .1929E+02, .7989E-01, .3669E-03,-.2651E-05, .3153E-09, 2 .2435E+02, .7494E-01, .7125E-05, .2423E-05, .4284E-07, 2 .3306E+02, .8523E-01,-.1250E-02, .6003E-05, .1263E-06, 2 .4257E+02, .2278E+00,-.4995E-03,-.2163E-04,-.2819E-07, 2 .5352E+02, .1195E+00, .1703E-02, .8169E-05,-.4698E-06, 2 .7062E+02, .4803E-01, .1991E-02, .5082E-04,-.8274E-06, 2 .9615E+02, .2264E+00,-.1710E-01, .4059E-04, .2430E-05, 2 .9891E+02, .5631E+00,-.1117E-01,-.3456E-05, .1443E-05, 2 .9564E+02, .8934E+00, .6780E-03,-.4305E-04,-.6852E-06, 3 .9288E+00, .2126E-01, .1902E-03, .4353E-06,-.2975E-08, 3 .9306E+00, .2115E-01, .1935E-03, .4560E-06,-.3603E-08, 3 .9387E+00, .2134E-01, .1973E-03, .4104E-06,-.4506E-08, 3 .9636E+00, .2127E-01, .1868E-03, .4221E-06,-.3084E-08, 3 .9810E+00, .2158E-01, .1865E-03, .3675E-06,-.2958E-08, 3 .1034E+01, .2176E-01, .1823E-03, .3576E-06,-.2314E-08, 3 .1118E+01, .2164E-01, .1850E-03, .4491E-06,-.2807E-08, 3 .1232E+01, .2098E-01, .2039E-03, .7506E-06,-.4689E-08, 3 .1621E+01, .2367E-01, .1262E-03, .3819E-06, .5298E-08, 3 .2102E+01, .2708E-01, .1778E-03, .2137E-06,-.5181E-08, 3 .3567E+01, .3681E-01, .2037E-03,-.3219E-07,-.5022E-08, 3 .4428E+01, .4692E-01, .3123E-03,-.1232E-05,-.2515E-07, 3 .5760E+01, .5175E-01, .2055E-03,-.1133E-05,-.3948E-08, 3 .7287E+01, .5418E-01, .2750E-03,-.4224E-06,-.6207E-08, 3 .9219E+01, .5823E-01, .5517E-03,-.2557E-06,-.3555E-07, 3 .1274E+02, .6270E-01, .2239E-03,-.3996E-06, .1998E-07, 3 .1728E+02, .6105E-01, .3735E-03, .9441E-06, .2895E-08, 3 .2393E+02, .5451E-01, .6534E-03, .2003E-05,-.7485E-07, 3 .3444E+02, .4383E-01,-.2811E-03, .5136E-05, .7017E-07, 3 .4809E+02, .4314E-01,-.7395E-03, .6189E-05, .1073E-06, 3 .6579E+02, .5343E-01,-.1095E-02, .1158E-04, .8841E-07, 3 .9036E+02, .9243E-01,-.8157E-03, .1553E-04,-.9471E-07, 3 .1236E+03, .2937E+00,-.4410E-02,-.4323E-06, .4398E-06, 3 .1607E+03, .5868E+00,-.7134E-02,-.5088E-04, .1144E-05, 3 .1815E+03, .5172E+00, .1127E-01,-.3252E-04,-.1679E-05, 3 .2223E+03,-.1233E-01, .5787E-02, .3966E-04,-.4056E-06, 3 .2791E+03,-.3414E+00,-.1515E-02, .1201E-04, .7755E-07, 3 .3342E+03,-.3147E+00,-.2453E-02, .3483E-04,-.1173E-06 / DATA ((( CL4CH4GH(K,J,I), K = 1, 5), J = 1, 28), I = 4, 5) / 4 .4757E+04, .3723E+02,-.1232E-01,-.1715E-03, .2729E-05, 4 .4757E+04, .3723E+02,-.1232E-01,-.1714E-03, .2731E-05, 4 .4757E+04, .3723E+02,-.1232E-01,-.1714E-03, .2729E-05, 4 .4758E+04, .3723E+02,-.1231E-01,-.1713E-03, .2728E-05, 4 .4759E+04, .3722E+02,-.1230E-01,-.1711E-03, .2727E-05, 4 .4762E+04, .3720E+02,-.1230E-01,-.1710E-03, .2729E-05, 4 .4768E+04, .3717E+02,-.1225E-01,-.1714E-03, .2737E-05, 4 .4779E+04, .3709E+02,-.1190E-01,-.1722E-03, .2726E-05, 4 .4803E+04, .3690E+02,-.1079E-01,-.1692E-03, .2628E-05, 4 .4856E+04, .3645E+02,-.9280E-02,-.1562E-03, .2479E-05, 4 .5073E+04, .3486E+02,-.8470E-02,-.1160E-03, .2350E-05, 4 .5236E+04, .3382E+02,-.1048E-01,-.9670E-04, .2602E-05, 4 .5475E+04, .3243E+02,-.1390E-01,-.7469E-04, .3056E-05, 4 .5813E+04, .3057E+02,-.1208E-01,-.3754E-04, .2472E-05, 4 .6287E+04, .2813E+02,-.1333E-01, .3365E-04, .2126E-05, 4 .6931E+04, .2547E+02,-.2359E-01, .2483E-04, .3583E-05, 4 .7753E+04, .2220E+02,-.2430E-01, .1363E-04, .3552E-05, 4 .8761E+04, .1796E+02,-.2315E-01, .7604E-04, .3398E-05, 4 .9912E+04, .1323E+02,-.2065E-01, .2217E-03, .1908E-05, 4 .1108E+05, .9344E+01,-.3527E-01, .1472E-03, .4259E-05, 4 .1204E+05, .4914E+01,-.1852E-01, .1686E-03, .2102E-05, 4 .1264E+05, .4016E+00,-.2033E-01, .2019E-03, .3795E-05, 4 .1273E+05,-.3879E+01,-.4584E-02, .2450E-03, .1802E-05, 4 .1231E+05,-.7157E+01,-.1190E-01, .1783E-03, .4332E-05, 4 .1146E+05,-.1005E+02, .1147E-01, .1396E-03, .1857E-05, 4 .1039E+05,-.1248E+02, .1441E-01, .1426E-03, .2535E-05, 4 .9251E+04,-.1326E+02, .1343E-01, .8996E-04, .3177E-05, 4 .8208E+04,-.1274E+02, .1830E-01, .6832E-04, .2486E-05, 5 .2579E+06,-.5724E+03,-.1749E+00, .7040E-02, .5157E-04, 5 .2579E+06,-.5723E+03,-.1754E+00, .7039E-02, .5167E-04, 5 .2579E+06,-.5723E+03,-.1755E+00, .7036E-02, .5167E-04, 5 .2579E+06,-.5722E+03,-.1754E+00, .7035E-02, .5164E-04, 5 .2579E+06,-.5721E+03,-.1755E+00, .7034E-02, .5164E-04, 5 .2578E+06,-.5718E+03,-.1757E+00, .7031E-02, .5163E-04, 5 .2577E+06,-.5712E+03,-.1768E+00, .7020E-02, .5172E-04, 5 .2574E+06,-.5701E+03,-.1776E+00, .7002E-02, .5164E-04, 5 .2568E+06,-.5679E+03,-.1814E+00, .6972E-02, .5195E-04, 5 .2557E+06,-.5631E+03,-.1885E+00, .6883E-02, .5277E-04, 5 .2517E+06,-.5460E+03,-.2030E+00, .6495E-02, .5515E-04, 5 .2487E+06,-.5342E+03,-.1863E+00, .6232E-02, .5273E-04, 5 .2444E+06,-.5180E+03,-.1508E+00, .5899E-02, .4738E-04, 5 .2385E+06,-.4955E+03,-.1888E+00, .5289E-02, .5658E-04, 5 .2302E+06,-.4653E+03,-.1771E+00, .4150E-02, .6117E-04, 5 .2188E+06,-.4324E+03,-.3606E-01, .4062E-02, .4050E-04, 5 .2039E+06,-.3916E+03,-.6078E-02, .3974E-02, .3790E-04, 5 .1853E+06,-.3383E+03, .1536E-01, .2900E-02, .3585E-04, 5 .1632E+06,-.2789E+03, .9858E-02, .6367E-03, .5666E-04, 5 .1386E+06,-.2343E+03, .2216E+00, .1417E-02, .2702E-04, 5 .1138E+06,-.1868E+03, .1016E+00, .7532E-03, .4567E-04, 5 .9064E+05,-.1440E+03, .1976E+00, .7790E-04, .2259E-04, 5 .7047E+05,-.1085E+03, .1522E+00,-.5594E-03, .2874E-04, 5 .5398E+05,-.8334E+02, .2023E+00,-.6550E-03, .1868E-04, 5 .4124E+05,-.6157E+02, .1818E+00,-.1532E-02, .2463E-04, 5 .3195E+05,-.5278E+02, .2321E+00,-.6407E-03, .9920E-05, 5 .2647E+05,-.4635E+02, .1244E+00,-.3183E-03, .7762E-05, 5 .2338E+05,-.4074E+02, .5421E-01,-.1589E-03, .9273E-05 / C C----------------------------------------------------------------------C C SPECTRAL REGION: 980-1100 CM^-1. GAS: H2O, O3 C C----------------------------------------------------------------------C C COMMON /BANDL5/ GWL5(2), CL5H2O(5,18,2), CL5O3(5,18,2), 1 CL5CS(5,4,2), CL5CF(5,4,2), 2 CL5F11(2), CL5F12(2) DATA GWL5 / .59500, .27000 / C DATA (CL5F11(I), I = 1, 2) / 1526.4, 152.1 / DATA (CL5F12(I), I = 1, 2) / 1404.3, 12.13 / C DATA ((( CL5H2O(K,J,I), K = 1, 5), J = 1, 18), I = 1, 2) / 1 .1199E-04, .3452E-06, .3698E-08, .1688E-10, .2669E-13, 1 .1776E-04, .5178E-06, .5692E-08, .2394E-10,-.9638E-15, 1 .2650E-04, .7678E-06, .8330E-08, .3730E-10, .3919E-13, 1 .3945E-04, .1140E-05, .1221E-07, .5509E-10, .8179E-13, 1 .5863E-04, .1697E-05, .1830E-07, .8018E-10, .7755E-13, 1 .8687E-04, .2499E-05, .2670E-07, .1238E-09, .2242E-12, 1 .1281E-03, .3732E-05, .4083E-07, .1763E-09, .7845E-13, 1 .1888E-03, .5512E-05, .6031E-07, .2707E-09, .2675E-12, 1 .2760E-03, .8048E-05, .8772E-07, .4009E-09, .5227E-12, 1 .3990E-03, .1166E-04, .1275E-06, .5941E-09, .9192E-12, 1 .5720E-03, .1687E-04, .1881E-06, .8442E-09, .5834E-12, 1 .8128E-03, .2387E-04, .2675E-06, .1277E-08, .1619E-11, 1 .1148E-02, .3365E-04, .3711E-06, .1627E-08, .9590E-12, 1 .1593E-02, .4704E-04, .5275E-06, .2319E-08, .8217E-12, 1 .2157E-02, .6330E-04, .7332E-06, .3460E-08, .8971E-12, 1 .2896E-02, .8347E-04, .9484E-06, .4549E-08, .3177E-11, 1 .3820E-02, .1071E-03, .1158E-05, .5380E-08, .5630E-11, 1 .4987E-02, .1364E-03, .1349E-05, .6183E-08, .1832E-10, 2 .1105E-04, .3303E-06, .3827E-08, .1485E-10,-.3545E-13, 2 .1649E-04, .4848E-06, .5454E-08, .2438E-10, .7586E-14, 2 .2440E-04, .7254E-06, .8353E-08, .3456E-10,-.4444E-13, 2 .3615E-04, .1091E-05, .1294E-07, .5181E-10,-.1218E-12, 2 .5385E-04, .1606E-05, .1879E-07, .8369E-10,-.4627E-13, 2 .8044E-04, .2408E-05, .2803E-07, .1162E-09,-.1638E-12, 2 .1199E-03, .3529E-05, .4009E-07, .1841E-09, .9172E-13, 2 .1801E-03, .5244E-05, .5750E-07, .2597E-09, .2938E-12, 2 .2675E-03, .7872E-05, .8875E-07, .4029E-09, .2491E-12, 2 .3930E-03, .1162E-04, .1349E-06, .6092E-09,-.1131E-12, 2 .5813E-03, .1676E-04, .1875E-06, .9503E-09, .1692E-11, 2 .8444E-03, .2467E-04, .2840E-06, .1246E-08,-.8799E-12, 2 .1225E-02, .3499E-04, .3994E-06, .2118E-08, .3382E-11, 2 .1822E-02, .5009E-04, .5195E-06, .2921E-08, .1109E-10, 2 .2649E-02, .7517E-04, .7642E-06, .3027E-08, .3209E-11, 2 .3729E-02, .1078E-03, .1124E-05, .3997E-08,-.4317E-11, 2 .4991E-02, .1468E-03, .1554E-05, .6573E-08, .8653E-11, 2 .6182E-02, .1898E-03, .2226E-05, .9410E-08,-.7934E-11 / DATA ((( CL5O3(K,J,I), K = 1, 5), J = 1, 18), I = 1, 2) / 1 .7227E+01, .6737E-01, .2301E-03, .9636E-07,-.3997E-08, 1 .9629E+01, .8488E-01, .2596E-03,-.1467E-07,-.5302E-08, 1 .1295E+02, .1082E+00, .2804E-03,-.1549E-06,-.4808E-08, 1 .1755E+02, .1392E+00, .2985E-03,-.2718E-06,-.4402E-08, 1 .2382E+02, .1807E+00, .3017E-03,-.4668E-06,-.1571E-08, 1 .3224E+02, .2364E+00, .3046E-03,-.9947E-06, .7062E-09, 1 .4321E+02, .3102E+00, .3024E-03,-.1909E-05, .7458E-08, 1 .5702E+02, .4064E+00, .4323E-03,-.3237E-05,-.2147E-08, 1 .7388E+02, .5251E+00, .6050E-03,-.4465E-05,-.9082E-08, 1 .9364E+02, .6619E+00, .8856E-03,-.4863E-05,-.2401E-07, 1 .1161E+03, .8160E+00, .1052E-02,-.5650E-05,-.1708E-07, 1 .1419E+03, .9792E+00, .1153E-02,-.6110E-05,-.8594E-08, 1 .1716E+03, .1144E+01, .1234E-02,-.5189E-05,-.2551E-07, 1 .2053E+03, .1309E+01, .1311E-02,-.2540E-05,-.9645E-07, 1 .2413E+03, .1505E+01, .6268E-03,-.2568E-05,-.5036E-07, 1 .2762E+03, .1718E+01,-.2570E-03,-.1056E-05,-.1939E-07, 1 .3056E+03, .1961E+01,-.8495E-03,-.6960E-05, .2950E-07, 1 .3272E+03, .2169E+01,-.6410E-03,-.1738E-04, .3894E-07, 2 .1420E+03, .1113E+01, .3418E-02, .5459E-05, .4714E-07, 2 .1711E+03, .1199E+01, .3319E-02, .3513E-05, .4462E-07, 2 .2093E+03, .1323E+01, .3506E-02,-.1264E-05, .1046E-07, 2 .2597E+03, .1463E+01, .3852E-02,-.3441E-05,-.5330E-07, 2 .3260E+03, .1631E+01, .3808E-02,-.4302E-05,-.4033E-07, 2 .4122E+03, .1813E+01, .3875E-02,-.4645E-05,-.8157E-07, 2 .5227E+03, .1998E+01, .3714E-02,-.7030E-05,-.1000E-06, 2 .6645E+03, .2100E+01, .3737E-02,-.2429E-05,-.1654E-06, 2 .8466E+03, .2074E+01, .3199E-02, .5591E-05,-.2743E-06, 2 .1078E+04, .1932E+01,-.5908E-03, .1557E-04,-.2044E-07, 2 .1353E+04, .1757E+01,-.3764E-02, .1058E-04, .8142E-07, 2 .1656E+04, .1481E+01,-.5733E-02, .9746E-05, .3976E-07, 2 .1959E+04, .1076E+01,-.5487E-02, .1454E-04,-.1805E-06, 2 .2239E+04, .4363E+00,-.6362E-02, .2840E-04,-.1221E-06, 2 .2475E+04,-.2581E+00,-.5978E-02, .1979E-04,-.1271E-07, 2 .2664E+04,-.9293E+00,-.9063E-02, .2347E-04, .4743E-06, 2 .2803E+04,-.1565E+01,-.4884E-02, .3316E-04,-.3786E-06, 2 .2915E+04,-.2057E+01,-.4014E-02, .4109E-04,-.6772E-06 / DATA ((( CL5CS(K,J,I), K = 1, 5), J = 1, 4), I = 1, 2) / 1 .4632E+01,-.1078E+00, .1342E-02,-.1431E-04, .8921E-07, 1 .6883E+01,-.1601E+00, .1991E-02,-.2127E-04, .1330E-06, 1 .1023E+02,-.2378E+00, .2957E-02,-.3161E-04, .1978E-06, 1 .1520E+02,-.3535E+00, .4395E-02,-.4686E-04, .2923E-06, 2 .4540E+01,-.1051E+00, .1301E-02,-.1384E-04, .8638E-07, 2 .6735E+01,-.1564E+00, .1939E-02,-.2051E-04, .1270E-06, 2 .9997E+01,-.2325E+00, .2885E-02,-.3044E-04, .1882E-06, 2 .1485E+02,-.3453E+00, .4284E-02,-.4530E-04, .2808E-06 / DATA ((( CL5CF(K,J,I), K = 1, 5), J = 1, 4), I = 1, 2) / 1 .2729E-04,-.1128E-06, .4232E-09,-.1910E-11, .7769E-14, 1 .4053E-04,-.1672E-06, .6241E-09,-.2850E-11, .1225E-13, 1 .6017E-04,-.2479E-06, .9307E-09,-.4219E-11, .1739E-13, 1 .8929E-04,-.3675E-06, .1386E-08,-.6293E-11, .2534E-13, 2 .2415E-04,-.9788E-07, .3696E-09,-.1732E-11, .7413E-14, 2 .3575E-04,-.1453E-06, .5643E-09,-.2588E-11, .8712E-14, 2 .5297E-04,-.2160E-06, .8246E-09,-.3847E-11, .1521E-13, 2 .7852E-04,-.3215E-06, .1206E-08,-.5637E-11, .2550E-13 / C COMMON /BANDL5GH/ GWL5GH(4), CL5H2OGH(5,28,4), CL5O3GH(5,28,4), 1 CL5CSGH(5,4,2), CL5CFGH(5,4,2) DATA GWL5GH / .06800, .04000, .02000, .00700 / DATA ((( CL5H2OGH(K,J,I), K = 1, 5), J = 1, 28), I = 1, 2) / 1-.7654E-07,-.4227E-10, .7509E-10, .2732E-13,-.1185E-13, 1-.2006E-07, .2266E-09, .3211E-10, .4164E-13,-.4422E-14, 1 .2940E-07, .8358E-09, .8166E-11, .2437E-13,-.2927E-16, 1 .5849E-07, .1670E-08, .1713E-10, .5471E-13,-.1257E-15, 1 .1186E-06, .3448E-08, .3590E-10, .9692E-13,-.5131E-15, 1 .2457E-06, .6849E-08, .6347E-10, .2321E-12, .7383E-15, 1 .4934E-06, .1358E-07, .1248E-09, .5416E-12, .2615E-14, 1 .1005E-05, .2888E-07, .2864E-09, .8145E-12,-.1790E-14, 1 .2063E-05, .5785E-07, .5505E-09, .1925E-11, .3449E-14, 1 .4126E-05, .1123E-06, .1066E-08, .5289E-11, .2494E-13, 1 .1213E-04, .3413E-06, .3351E-08, .1183E-10, .8867E-14, 1 .1827E-04, .5080E-06, .4635E-08, .1788E-10, .7838E-13, 1 .2686E-04, .7628E-06, .7242E-08, .2259E-10, .2242E-13, 1 .3961E-04, .1110E-05, .1056E-07, .3696E-10, .6435E-13, 1 .5720E-04, .1690E-05, .1799E-07, .4245E-10,-.3654E-12, 1 .8458E-04, .2599E-05, .2917E-07, .6167E-10,-.7969E-12, 1 .1284E-03, .3760E-05, .3775E-07, .1339E-09, .1346E-12, 1 .1771E-03, .5522E-05, .6646E-07, .2150E-09,-.1313E-11, 1 .2619E-03, .8018E-05, .9340E-07, .2641E-09,-.2127E-11, 1 .3956E-03, .1205E-04, .1389E-06, .3524E-09,-.3647E-11, 1 .5623E-03, .1707E-04, .1992E-06, .5093E-09,-.5530E-11, 1 .8228E-03, .2325E-04, .2358E-06, .9902E-09, .1748E-11, 1 .1191E-02, .3244E-04, .2971E-06, .1749E-08, .1240E-10, 1 .1610E-02, .4717E-04, .5064E-06, .1976E-08,-.3265E-12, 1 .2351E-02, .6762E-04, .6379E-06, .2052E-08, .4956E-11, 1 .3566E-02, .1057E-03, .9799E-06, .1821E-08,-.4604E-11, 1 .4778E-02, .1530E-03, .1767E-05, .1962E-08,-.7291E-10, 1 .6378E-02, .2029E-03, .2534E-05, .9835E-08,-.3423E-10, 2 .4716E+00, .1382E-01, .1508E-03, .6249E-06, .7696E-10, 2 .4737E+00, .1388E-01, .1515E-03, .6278E-06, .7874E-10, 2 .4758E+00, .1394E-01, .1521E-03, .6306E-06, .7832E-10, 2 .4779E+00, .1401E-01, .1528E-03, .6333E-06, .7815E-10, 2 .4800E+00, .1407E-01, .1535E-03, .6361E-06, .7898E-10, 2 .4821E+00, .1413E-01, .1541E-03, .6389E-06, .7892E-10, 2 .4841E+00, .1419E-01, .1548E-03, .6416E-06, .8011E-10, 2 .4862E+00, .1425E-01, .1555E-03, .6443E-06, .8048E-10, 2 .4882E+00, .1430E-01, .1560E-03, .6471E-06, .8212E-10, 2 .4902E+00, .1436E-01, .1567E-03, .6497E-06, .8495E-10, 2 .4915E+00, .1441E-01, .1572E-03, .6503E-06, .5395E-10, 2 .4933E+00, .1446E-01, .1577E-03, .6542E-06, .7476E-10, 2 .4955E+00, .1450E-01, .1578E-03, .6581E-06, .1603E-09, 2 .4970E+00, .1461E-01, .1602E-03, .6482E-06,-.2112E-09, 2 .4997E+00, .1461E-01, .1588E-03, .6692E-06, .2870E-09, 2 .5010E+00, .1462E-01, .1584E-03, .6711E-06, .3862E-09, 2 .5018E+00, .1474E-01, .1613E-03, .6482E-06,-.2112E-09, 2 .5019E+00, .1472E-01, .1606E-03, .6691E-06, .1435E-09, 2 .5009E+00, .1469E-01, .1604E-03, .6667E-06, .1074E-09, 2 .4986E+00, .1464E-01, .1600E-03, .6653E-06, .9096E-10, 2 .4943E+00, .1450E-01, .1586E-03, .6593E-06, .6827E-10, 2 .4860E+00, .1431E-01, .1577E-03, .6476E-06,-.1598E-09, 2 .4790E+00, .1403E-01, .1519E-03, .6259E-06, .1653E-09, 2 .4669E+00, .1377E-01, .1509E-03, .6118E-06,-.1115E-09, 2 .4504E+00, .1330E-01, .1455E-03, .5929E-06,-.2088E-10, 2 .4307E+00, .1271E-01, .1392E-03, .5669E-06,-.5525E-10, 2 .4018E+00, .1189E-01, .1308E-03, .5330E-06,-.8155E-10, 2 .3688E+00, .1094E-01, .1205E-03, .4936E-06,-.6727E-10 / DATA ((( CL5H2OGH(K,J,I), K = 1, 5), J = 1, 28), I = 3, 4) / 3 .1975E-02, .8771E-04, .1749E-05, .1968E-07, .9965E-10, 3 .1976E-02, .8773E-04, .1749E-05, .1968E-07, .9966E-10, 3 .1977E-02, .8776E-04, .1749E-05, .1968E-07, .9966E-10, 3 .1979E-02, .8782E-04, .1749E-05, .1968E-07, .9966E-10, 3 .1984E-02, .8794E-04, .1750E-05, .1968E-07, .9967E-10, 3 .1993E-02, .8818E-04, .1752E-05, .1968E-07, .9970E-10, 3 .2012E-02, .8868E-04, .1754E-05, .1968E-07, .9980E-10, 3 .2035E-02, .8970E-04, .1776E-05, .1967E-07, .9737E-10, 3 .2097E-02, .9175E-04, .1805E-05, .1966E-07, .9501E-10, 3 .2226E-02, .9607E-04, .1862E-05, .1965E-07, .9057E-10, 3 .2728E-02, .1056E-03, .1768E-05, .2223E-07, .1534E-09, 3 .3097E-02, .1184E-03, .1895E-05, .1938E-07, .1089E-09, 3 .2434E-02, .1423E-03, .3039E-05, .1606E-07,-.7396E-10, 3 .3276E-02, .3815E-04,-.6392E-06, .4120E-07, .6979E-09, 3 .1292E-02, .1253E-03, .3249E-05, .1574E-08,-.3267E-09, 3 .1511E-02, .1822E-03, .4974E-05, .7616E-09,-.5322E-09, 3 .2065E-02, .3523E-05,-.2470E-06, .5055E-07, .7047E-09, 3 .2866E-02, .8566E-04, .1400E-05, .7920E-08,-.3194E-10, 3 .4800E-02, .1201E-03, .1055E-05, .1082E-07, .1046E-09, 3 .6333E-02, .1705E-03, .1582E-05,-.2512E-08,-.1049E-09, 3 .9130E-02, .2425E-03, .1998E-05, .9971E-08, .1034E-09, 3 .1613E-01, .3682E-03, .8668E-06, .1063E-07, .4306E-09, 3 .1386E-01, .4767E-03, .7866E-05, .3283E-07,-.2597E-09, 3 .1393E-01, .3021E-03, .2470E-05, .2731E-07, .2545E-09, 3 .1274E-01, .2569E-03, .2541E-05, .2895E-07, .1749E-09, 3 .4975E-02, .9229E-04, .1107E-05, .3766E-07, .4034E-09, 3 .6847E-02, .1176E-03, .1078E-05, .3656E-07, .4049E-09, 3 .8163E-02, .1578E-03, .1467E-05, .8812E-08, .8120E-12, 4 .1003E-03, .2113E-05, .1250E-07,-.7693E-11,-.1713E-12, 4 .1003E-03, .2115E-05, .1251E-07,-.7643E-11,-.1707E-12, 4 .1005E-03, .2119E-05, .1254E-07,-.7440E-11,-.1691E-12, 4 .1008E-03, .2127E-05, .1260E-07,-.7069E-11,-.1653E-12, 4 .1015E-03, .2144E-05, .1272E-07,-.6313E-11,-.1584E-12, 4 .1029E-03, .2177E-05, .1297E-07,-.4854E-11,-.1439E-12, 4 .1057E-03, .2244E-05, .1347E-07,-.1776E-11,-.1144E-12, 4 .1114E-03, .2382E-05, .1449E-07, .4365E-11,-.5653E-13, 4 .1229E-03, .2660E-05, .1656E-07, .1684E-10, .6300E-13, 4 .1463E-03, .3222E-05, .2065E-07, .4198E-10, .3147E-12, 4 .2351E-03, .5446E-05, .3916E-07, .1354E-09, .8846E-12, 4 .3027E-03, .7053E-05, .4966E-07, .2098E-09, .1853E-11, 4 .4006E-03, .9441E-05, .6829E-07, .3165E-09, .2729E-11, 4 .5457E-03, .1170E-04, .7246E-07, .1601E-08, .2115E-10, 4 .6958E-03, .2474E-04, .4081E-06, .6539E-09,-.2852E-10, 4 .9830E-03, .3472E-04, .5765E-06, .1280E-08,-.3606E-10, 4 .1416E-02, .5141E-04, .8230E-06, .1365E-08,-.5324E-10, 4 .2046E-02, .7889E-04, .1119E-05, .1223E-08,-.6010E-10, 4 .1965E-02, .1172E-03, .2723E-05, .1967E-08,-.2599E-09, 4 .2618E-02, .2531E-04, .8428E-07, .3269E-07, .4267E-09, 4 .3062E-02, .8200E-04, .1184E-05, .3648E-08,-.6129E-10, 4 .1906E-02, .2289E-04, .1368E-06, .1956E-07, .2512E-09, 4 .2480E-02, .3805E-04, .3607E-06, .9217E-08, .8740E-10, 4 .3818E-02, .3690E-04, .3426E-06, .7042E-08, .1646E-10, 4 .7511E-02, .9734E-04, .2720E-07, .4261E-09, .3096E-10, 4 .1132E-01, .1903E-03, .4145E-06,-.1841E-07,-.1902E-09, 4 .1293E-01, .2035E-03,-.2079E-06,-.1947E-07,-.9651E-10, 4 .1252E-01, .1719E-03,-.6563E-06,-.1314E-07, .1552E-10 / DATA ((( CL5O3GH(K,J,I), K = 1, 5), J = 1, 28), I = 1, 2) / 1 .1235E+04, .1437E+02, .3476E-01,-.1760E-03, .2748E-07, 1 .1244E+04, .1450E+02, .3664E-01,-.1823E-03,-.2837E-06, 1 .1256E+04, .1459E+02, .3672E-01,-.1763E-03,-.2575E-06, 1 .1267E+04, .1472E+02, .3858E-01,-.1803E-03,-.5642E-06, 1 .1277E+04, .1485E+02, .3967E-01,-.1827E-03,-.6947E-06, 1 .1292E+04, .1494E+02, .3904E-01,-.1772E-03,-.5306E-06, 1 .1309E+04, .1501E+02, .3750E-01,-.1704E-03,-.1571E-06, 1 .1330E+04, .1512E+02, .3972E-01,-.1833E-03,-.5111E-06, 1 .1365E+04, .1513E+02, .3958E-01,-.1923E-03,-.3143E-06, 1 .1427E+04, .1492E+02, .4083E-01,-.1917E-03,-.2172E-06, 1 .1668E+04, .1372E+02, .4072E-01,-.1408E-03,-.6785E-06, 1 .1853E+04, .1292E+02, .3722E-01,-.9009E-04,-.8662E-06, 1 .2117E+04, .1202E+02, .2847E-01,-.6750E-04,-.3243E-06, 1 .2484E+04, .1080E+02, .1706E-01,-.2108E-04, .3646E-06, 1 .2969E+04, .9694E+01, .5055E-02,-.4960E-04, .1103E-05, 1 .3579E+04, .8069E+01, .6587E-02,-.5096E-04,-.5986E-06, 1 .4328E+04, .5771E+01,-.7496E-02,-.1220E-04, .2698E-06, 1 .5148E+04, .3211E+01,-.4069E-02, .4743E-04,-.1966E-05, 1 .5954E+04, .1135E+01,-.9591E-02, .3693E-05,-.2039E-05, 1 .6605E+04,-.1389E+01,-.7061E-02, .4273E-04,-.2449E-05, 1 .7002E+04,-.3843E+01, .5711E-03, .3050E-04,-.2514E-05, 1 .7122E+04,-.6037E+01,-.1215E-01, .1899E-05, .1128E-05, 1 .6973E+04,-.7800E+01, .2080E-03,-.3970E-04, .1924E-06, 1 .6627E+04,-.9133E+01, .6821E-02, .4145E-04,-.5536E-06, 1 .6188E+04,-.9111E+01, .3886E-02, .2176E-04, .3929E-06, 1 .5749E+04,-.8867E+01, .7791E-02, .1619E-04, .2636E-06, 1 .5424E+04,-.9020E+01, .1058E-01, .4350E-04,-.1057E-07, 1 .5168E+04,-.9070E+01, .9129E-02, .4971E-04, .3295E-06, 2 .7157E+02, .8460E+00, .6690E-02,-.2680E-05,-.8151E-06, 2 .7449E+02, .8585E+00, .4937E-02, .1631E-05,-.4676E-06, 2 .7553E+02, .9243E+00, .5326E-02,-.7469E-05,-.5097E-06, 2 .7747E+02, .9323E+00, .3551E-02,-.4554E-05,-.1456E-06, 2 .7949E+02, .9316E+00, .2689E-02,-.3205E-05, .2839E-08, 2 .7936E+02, .9821E+00, .4394E-02,-.1273E-04,-.2897E-06, 2 .8052E+02, .1046E+01, .6462E-02,-.2437E-04,-.6985E-06, 2 .8358E+02, .1014E+01, .4208E-02,-.1568E-04,-.2126E-06, 2 .8608E+02, .1023E+01, .5603E-02,-.1633E-04,-.4437E-06, 2 .9581E+02, .1002E+01, .5243E-02,-.1903E-04,-.5671E-06, 2 .1127E+03, .9163E+00, .4838E-02,-.1098E-04,-.5042E-06, 2 .1285E+03, .9922E+00, .4078E-02,-.2246E-04,-.2863E-06, 2 .1508E+03, .9634E+00, .4752E-02,-.5648E-05,-.4935E-06, 2 .1786E+03, .1134E+01, .5403E-02,-.3748E-04,-.5169E-06, 2 .2172E+03, .9412E+00, .9844E-02,-.3387E-05,-.1518E-05, 2 .2727E+03, .8324E+00, .9425E-03, .2089E-04,-.1031E-07, 2 .3342E+03, .8265E+00, .4453E-02, .4150E-04,-.7344E-06, 2 .4196E+03, .1106E+01,-.1299E-01,-.7813E-05, .2289E-05, 2 .5050E+03, .1058E+01,-.1588E-01,-.6986E-05, .2980E-05, 2 .5807E+03, .1296E+01,-.8803E-02,-.6923E-04, .2207E-05, 2 .6610E+03, .1030E+01,-.8179E-02,-.4433E-05, .1702E-05, 2 .7302E+03, .9501E+00, .7137E-02, .4027E-04,-.1734E-05, 2 .8080E+03, .1145E+01,-.1154E-01, .5962E-04, .2895E-06, 2 .8706E+03, .2410E+01,-.1576E-01,-.1432E-03, .1547E-05, 2 .9180E+03, .2359E+01,-.4957E-02,-.8643E-04,-.6621E-06, 2 .9676E+03, .1970E+01, .1470E-01,-.1135E-03,-.2863E-05, 2 .1015E+04, .1572E+01,-.5877E-04,-.1230E-03, .9117E-06, 2 .1059E+04, .9647E+00,-.3888E-02,-.1913E-04, .1558E-05 / DATA ((( CL5O3GH(K,J,I), K = 1, 5), J = 1, 28), I = 3, 4) / 3 .2169E+05, .7335E+02,-.4330E+00, .1545E-03, .1892E-05, 3 .2185E+05, .7391E+02,-.4363E+00, .1557E-03, .1912E-05, 3 .2202E+05, .7445E+02,-.4395E+00, .1569E-03, .1923E-05, 3 .2219E+05, .7499E+02,-.4427E+00, .1580E-03, .1927E-05, 3 .2236E+05, .7547E+02,-.4456E+00, .1591E-03, .1939E-05, 3 .2253E+05, .7590E+02,-.4484E+00, .1596E-03, .1956E-05, 3 .2272E+05, .7617E+02,-.4501E+00, .1599E-03, .1919E-05, 3 .2290E+05, .7612E+02,-.4499E+00, .1607E-03, .1741E-05, 3 .2313E+05, .7545E+02,-.4463E+00, .1577E-03, .1503E-05, 3 .2340E+05, .7348E+02,-.4362E+00, .1346E-03, .1458E-05, 3 .2398E+05, .6486E+02,-.4009E+00,-.8347E-04, .4101E-05, 3 .2441E+05, .5864E+02,-.3582E+00,-.1835E-03, .2996E-05, 3 .2493E+05, .4948E+02,-.2987E+00,-.1936E-03, .5015E-06, 3 .2553E+05, .3768E+02,-.2377E+00,-.1325E-03,-.2168E-05, 3 .2617E+05, .2330E+02,-.2049E+00,-.4649E-05, .8632E-06, 3 .2668E+05, .8568E+01,-.1820E+00, .5630E-04, .4441E-05, 3 .2677E+05,-.4442E+01,-.1110E+00,-.1121E-03, .5058E-06, 3 .2623E+05,-.1553E+02,-.8104E-01,-.1024E-03, .1870E-05, 3 .2487E+05,-.2402E+02,-.4247E-01, .1475E-03,-.6166E-06, 3 .2274E+05,-.2679E+02,-.3230E-01,-.2455E-04, .7648E-06, 3 .2003E+05,-.2667E+02,-.2679E-01,-.1149E-03, .2611E-05, 3 .1711E+05,-.2494E+02, .4987E-02,-.1531E-03, .4351E-06, 3 .1436E+05,-.2266E+02, .1446E-01,-.1134E-03, .7320E-06, 3 .1204E+05,-.1987E+02, .1266E-01,-.9089E-04, .1351E-05, 3 .1034E+05,-.1722E+02, .6935E-02,-.7658E-04, .1111E-05, 3 .9135E+04,-.1510E+02, .3963E-02,-.1003E-03, .8410E-06, 3 .8254E+04,-.1232E+02,-.1244E-02,-.2059E-03, .1421E-05, 3 .7687E+04,-.1028E+02, .2411E-02,-.3823E-03, .2191E-05, 4 .1576E+06,-.5123E+03, .4692E+00, .1804E-02,-.5527E-05, 4 .1576E+06,-.5122E+03, .4689E+00, .1804E-02,-.5497E-05, 4 .1576E+06,-.5122E+03, .4684E+00, .1802E-02,-.5441E-05, 4 .1576E+06,-.5119E+03, .4682E+00, .1804E-02,-.5473E-05, 4 .1575E+06,-.5116E+03, .4672E+00, .1804E-02,-.5457E-05, 4 .1574E+06,-.5110E+03, .4657E+00, .1806E-02,-.5507E-05, 4 .1572E+06,-.5096E+03, .4611E+00, .1810E-02,-.5291E-05, 4 .1568E+06,-.5070E+03, .4528E+00, .1807E-02,-.5027E-05, 4 .1558E+06,-.5016E+03, .4356E+00, .1805E-02,-.4340E-05, 4 .1539E+06,-.4910E+03, .4092E+00, .1793E-02,-.4169E-05, 4 .1471E+06,-.4547E+03, .3347E+00, .1817E-02,-.6128E-05, 4 .1426E+06,-.4299E+03, .2583E+00, .1659E-02,-.2025E-05, 4 .1362E+06,-.3969E+03, .1668E+00, .1383E-02, .3499E-05, 4 .1278E+06,-.3562E+03, .9654E-01, .9971E-03, .7272E-05, 4 .1169E+06,-.3081E+03, .9909E-01, .5652E-03,-.6837E-06, 4 .1039E+06,-.2565E+03, .1040E+00, .1636E-03,-.5338E-05, 4 .8923E+05,-.2060E+03, .2627E-01, .1960E-03, .4067E-05, 4 .7390E+05,-.1598E+03, .5783E-01,-.1043E-03,-.7839E-06, 4 .5917E+05,-.1206E+03, .4088E-01,-.6056E-03, .6282E-05, 4 .4623E+05,-.9289E+02, .5606E-01,-.3440E-03, .4447E-05, 4 .3570E+05,-.7021E+02, .7477E-01,-.2703E-03,-.6300E-06, 4 .2761E+05,-.5355E+02, .5410E-01,-.1901E-03,-.7134E-06, 4 .2162E+05,-.4037E+02, .4764E-01,-.3343E-03, .1002E-05, 4 .1745E+05,-.3323E+02, .4941E-01,-.2557E-03,-.7868E-07, 4 .1442E+05,-.2881E+02, .4497E-01,-.2317E-03, .1581E-05, 4 .1220E+05,-.2478E+02, .4946E-01,-.1645E-03,-.3950E-06, 4 .1060E+05,-.2295E+02, .4247E-01, .6230E-04,-.1118E-05, 4 .9390E+04,-.2105E+02, .2323E-01, .1997E-03,-.6701E-06 / DATA ((( CL5CSGH(K,J,I), K = 1, 5), J = 1, 4), I = 1, 2) / 1 .4348E+01,-.1005E+00, .1239E-02,-.1314E-04, .8208E-07, 1 .6415E+01,-.1484E+00, .1839E-02,-.1945E-04, .1202E-06, 1 .9472E+01,-.2190E+00, .2706E-02,-.2862E-04, .1775E-06, 1 .1399E+02,-.3238E+00, .3994E-02,-.4211E-04, .2608E-06, 2 .4281E+01,-.9904E-01, .1234E-02,-.1305E-04, .8016E-07, 2 .6346E+01,-.1463E+00, .1800E-02,-.1913E-04, .1202E-06, 2 .9353E+01,-.2154E+00, .2646E-02,-.2801E-04, .1754E-06, 2 .1375E+02,-.3143E+00, .3878E-02,-.4270E-04, .2755E-06 / DATA ((( CL5CFGH(K,J,I), K = 1, 5), J = 1, 4), I = 1, 2) / 1 .2394E-04,-.9995E-07, .3865E-09,-.1762E-11, .6796E-14, 1 .3556E-04,-.1490E-06, .5572E-09,-.2571E-11, .1282E-13, 1 .5287E-04,-.2219E-06, .8228E-09,-.3875E-11, .2042E-13, 1 .7859E-04,-.3299E-06, .1299E-08,-.5788E-11, .1850E-13, 2 .2561E-04,-.1053E-06, .3964E-09,-.1842E-11, .6970E-14, 2 .3804E-04,-.1560E-06, .5589E-09,-.2537E-11, .1297E-13, 2 .5644E-04,-.2318E-06, .8781E-09,-.3557E-11, .8562E-14, 2 .8398E-04,-.3427E-06, .1217E-08,-.5530E-11, .2224E-13 / C C----------------------------------------------------------------------C C SPECTRAL REGION: 800-980 CM^-1. GAS: H2O C C----------------------------------------------------------------------C C COMMON /BANDL6/ GWL6(3), CL6H2O(5,18,3), CL6F11(5,18,3), 1 CL6F12(5,18,3), CL6CS(5,4), 2 CL6CF(5,4) DATA GWL6 / .69000, .26500, .04500 / DATA ((( CL6H2O(K,J,I), K = 1, 5), J = 1, 18), I = 1, 3) / 1 .2034E-05, .5496E-07, .5971E-09, .3049E-11, .5524E-14, 1 .3018E-05, .8157E-07, .8861E-09, .4526E-11, .8197E-14, 1 .4478E-05, .1210E-06, .1315E-08, .6716E-11, .1217E-13, 1 .6646E-05, .1796E-06, .1951E-08, .9964E-11, .1806E-13, 1 .9864E-05, .2666E-06, .2896E-08, .1479E-10, .2687E-13, 1 .1463E-04, .3957E-06, .4297E-08, .2194E-10, .3991E-13, 1 .2171E-04, .5872E-06, .6376E-08, .3255E-10, .5925E-13, 1 .3222E-04, .8714E-06, .9464E-08, .4829E-10, .8792E-13, 1 .4780E-04, .1293E-05, .1404E-07, .7164E-10, .1305E-12, 1 .7092E-04, .1919E-05, .2085E-07, .1063E-09, .1929E-12, 1 .1051E-03, .2847E-05, .3096E-07, .1577E-09, .2825E-12, 1 .1558E-03, .4222E-05, .4597E-07, .2340E-09, .4123E-12, 1 .2304E-03, .6253E-05, .6819E-07, .3478E-09, .6146E-12, 1 .3397E-03, .9236E-05, .1010E-06, .5169E-09, .9155E-12, 1 .4988E-03, .1357E-04, .1486E-06, .7680E-09, .1434E-11, 1 .7275E-03, .1977E-04, .2160E-06, .1137E-08, .2385E-11, 1 .1051E-02, .2856E-04, .3124E-06, .1635E-08, .3326E-11, 1 .1499E-02, .4073E-04, .4458E-06, .2336E-08, .4737E-11, 2 .6224E-04, .1760E-05, .2012E-07, .1084E-09, .2104E-12, 2 .9204E-04, .2605E-05, .2987E-07, .1609E-09, .3066E-12, 2 .1361E-03, .3858E-05, .4431E-07, .2388E-09, .4499E-12, 2 .2013E-03, .5710E-05, .6562E-07, .3547E-09, .6832E-12, 2 .2977E-03, .8454E-05, .9734E-07, .5264E-09, .1003E-11, 2 .4397E-03, .1251E-04, .1443E-06, .7814E-09, .1473E-11, 2 .6485E-03, .1845E-04, .2135E-06, .1164E-08, .2243E-11, 2 .9544E-03, .2719E-04, .3158E-06, .1734E-08, .3350E-11, 2 .1400E-02, .3989E-04, .4645E-06, .2574E-08, .5141E-11, 2 .2041E-02, .5804E-04, .6752E-06, .3809E-08, .8410E-11, 2 .2949E-02, .8364E-04, .9725E-06, .5532E-08, .1268E-10, 2 .4221E-02, .1191E-03, .1379E-05, .7881E-08, .1873E-10, 2 .5988E-02, .1679E-03, .1924E-05, .1100E-07, .2742E-10, 2 .8412E-02, .2350E-03, .2670E-05, .1506E-07, .3740E-10, 2 .1165E-01, .3245E-03, .3683E-05, .2055E-07, .4842E-10, 2 .1586E-01, .4391E-03, .4965E-05, .2770E-07, .6569E-10, 2 .2116E-01, .5844E-03, .6673E-05, .3649E-07, .6974E-10, 2 .2767E-01, .7531E-03, .8515E-05, .4688E-07, .9368E-10, 3 .7985E+00, .2077E-01, .2296E-03, .1338E-05, .3583E-08, 3 .7979E+00, .2076E-01, .2296E-03, .1338E-05, .3580E-08, 3 .7972E+00, .2075E-01, .2295E-03, .1337E-05, .3576E-08, 3 .7962E+00, .2073E-01, .2294E-03, .1337E-05, .3573E-08, 3 .7949E+00, .2071E-01, .2293E-03, .1337E-05, .3568E-08, 3 .7932E+00, .2067E-01, .2290E-03, .1335E-05, .3561E-08, 3 .7911E+00, .2063E-01, .2286E-03, .1333E-05, .3553E-08, 3 .7885E+00, .2056E-01, .2279E-03, .1329E-05, .3544E-08, 3 .7852E+00, .2047E-01, .2269E-03, .1324E-05, .3530E-08, 3 .7805E+00, .2034E-01, .2255E-03, .1315E-05, .3509E-08, 3 .7743E+00, .2018E-01, .2235E-03, .1304E-05, .3480E-08, 3 .7658E+00, .1993E-01, .2208E-03, .1288E-05, .3440E-08, 3 .7539E+00, .1960E-01, .2171E-03, .1266E-05, .3384E-08, 3 .7376E+00, .1915E-01, .2120E-03, .1238E-05, .3317E-08, 3 .7158E+00, .1854E-01, .2050E-03, .1201E-05, .3240E-08, 3 .6872E+00, .1775E-01, .1961E-03, .1151E-05, .3120E-08, 3 .6506E+00, .1674E-01, .1842E-03, .1090E-05, .3080E-08, 3 .6052E+00, .1553E-01, .1709E-03, .1015E-05, .2911E-08 / DATA ((( CL6F11(K,J,I), K = 1, 5), J = 1, 18), I = 1, 3) / 1 .3381E+04,-.2732E+01,-.1639E+00, .6997E-03, .4222E-05, 1 .3231E+04,-.1926E+01,-.1613E+00, .6339E-03, .4676E-05, 1 .3033E+04,-.1040E+01,-.1545E+00, .5682E-03, .4642E-05, 1 .2786E+04,-.7138E-01,-.1450E+00, .4882E-03, .4578E-05, 1 .2506E+04, .8395E+00,-.1358E+00, .4018E-03, .4926E-05, 1 .2212E+04, .1500E+01,-.1207E+00, .3216E-03, .4524E-05, 1 .1953E+04, .1769E+01,-.1060E+00, .2625E-03, .4082E-05, 1 .1766E+04, .1686E+01,-.9499E-01, .2305E-03, .3758E-05, 1 .1670E+04, .1436E+01,-.8888E-01, .2246E-03, .3547E-05, 1 .1638E+04, .1264E+01,-.8698E-01, .2271E-03, .3464E-05, 1 .1632E+04, .1214E+01,-.8635E-01, .2286E-03, .3371E-05, 1 .1632E+04, .1184E+01,-.8583E-01, .2330E-03, .3256E-05, 1 .1633E+04, .1164E+01,-.8623E-01, .2375E-03, .3262E-05, 1 .1634E+04, .1253E+01,-.8736E-01, .2210E-03, .3362E-05, 1 .1633E+04, .1310E+01,-.8648E-01, .2097E-03, .3159E-05, 1 .1628E+04, .1227E+01,-.8157E-01, .2246E-03, .2256E-05, 1 .1631E+04, .1091E+01,-.8327E-01, .2157E-03, .2212E-05, 1 .1633E+04, .1296E+01,-.9664E-01, .1599E-03, .4437E-05, 2 .6106E+04,-.1961E+02,-.2294E+00, .9638E-03, .6765E-05, 2 .5837E+04,-.1801E+02,-.2154E+00, .9796E-03, .4416E-05, 2 .5476E+04,-.1612E+02,-.1988E+00, .1047E-02, .1772E-05, 2 .5028E+04,-.1338E+02,-.1840E+00, .9520E-03, .4294E-06, 2 .4503E+04,-.1058E+02,-.1536E+00, .8490E-03,-.2598E-05, 2 .3981E+04,-.7747E+01,-.1482E+00, .6647E-03,-.5842E-06, 2 .3519E+04,-.6007E+01,-.1327E+00, .5541E-03,-.2578E-06, 2 .3197E+04,-.5197E+01,-.1286E+00, .4610E-03, .1385E-05, 2 .3028E+04,-.5128E+01,-.1193E+00, .4272E-03, .9513E-06, 2 .2971E+04,-.5395E+01,-.1172E+00, .4522E-03, .9949E-06, 2 .2957E+04,-.5178E+01,-.1101E+00, .4019E-03,-.2902E-06, 2 .2950E+04,-.5062E+01,-.1120E+00, .3947E-03, .2682E-06, 2 .2941E+04,-.4941E+01,-.1135E+00, .3850E-03, .8468E-06, 2 .2930E+04,-.4965E+01,-.1080E+00, .3827E-03, .1011E-06, 2 .2903E+04,-.4839E+01,-.1021E+00, .3474E-03,-.1298E-06, 2 .2884E+04,-.4852E+01,-.1131E+00, .3768E-03, .2581E-05, 2 .2849E+04,-.4552E+01,-.9886E-01, .4233E-03, .1158E-05, 2 .2820E+04,-.4794E+01,-.7237E-01, .5268E-03,-.2885E-05, 3 .6794E+04,-.2563E+02,-.8233E-01, .2736E-02,-.3357E-04, 3 .6490E+04,-.2222E+02,-.1202E+00, .2399E-02,-.2502E-04, 3 .6124E+04,-.1574E+02,-.1942E+00, .1330E-02,-.7309E-05, 3 .5662E+04,-.1167E+02,-.2352E+00, .1043E-02, .2647E-05, 3 .5138E+04,-.7515E+01,-.2862E+00, .6414E-03, .1440E-04, 3 .4524E+04,-.6262E+01,-.2168E+00, .7032E-03, .5112E-05, 3 .3987E+04,-.4657E+01,-.1870E+00, .5214E-03, .3763E-05, 3 .3553E+04,-.4860E+01,-.9823E-01, .6298E-03,-.7960E-05, 3 .3332E+04,-.5270E+01,-.8622E-01, .6832E-03,-.7269E-05, 3 .3269E+04,-.4862E+01,-.7506E-01, .5417E-03,-.8338E-05, 3 .3284E+04,-.6640E+01,-.1195E+00, .8530E-03, .3108E-06, 3 .3312E+04,-.6994E+01,-.1160E+00, .8318E-03,-.1221E-05, 3 .3348E+04,-.7408E+01,-.1011E+00, .8199E-03,-.4718E-05, 3 .3396E+04,-.8623E+01,-.1163E+00, .1087E-02,-.1853E-05, 3 .3569E+04,-.1024E+02,-.1645E+00, .1468E-02, .2608E-05, 3 .3743E+04,-.8904E+01,-.1749E+00, .1068E-02, .4947E-06, 3 .3915E+04,-.8567E+01,-.2328E+00, .9282E-03, .9550E-05, 3 .4051E+04,-.1028E+02,-.1838E+00, .1174E-02,-.7296E-06 / DATA ((( CL6F12(K,J,I), K = 1, 5), J = 1, 18), I = 1, 3) / 1 .3831E+04,-.6616E+01,-.1311E+00, .3745E-03, .5462E-05, 1 .3690E+04,-.5755E+01,-.1296E+00, .3549E-03, .5348E-05, 1 .3501E+04,-.4707E+01,-.1258E+00, .3331E-03, .5043E-05, 1 .3264E+04,-.3453E+01,-.1212E+00, .2984E-03, .4772E-05, 1 .2987E+04,-.2156E+01,-.1142E+00, .2519E-03, .4460E-05, 1 .2694E+04,-.1040E+01,-.1052E+00, .2027E-03, .4145E-05, 1 .2430E+04,-.3488E+00,-.9475E-01, .1635E-03, .3724E-05, 1 .2238E+04,-.1245E+00,-.8580E-01, .1381E-03, .3398E-05, 1 .2137E+04,-.2169E+00,-.8068E-01, .1339E-03, .3191E-05, 1 .2104E+04,-.3494E+00,-.7895E-01, .1348E-03, .3156E-05, 1 .2099E+04,-.3710E+00,-.7997E-01, .1299E-03, .3388E-05, 1 .2099E+04,-.3345E+00,-.8031E-01, .1120E-03, .3593E-05, 1 .2100E+04,-.3338E+00,-.7947E-01, .1153E-03, .3395E-05, 1 .2103E+04,-.4294E+00,-.7784E-01, .1408E-03, .2912E-05, 1 .2107E+04,-.6355E+00,-.7374E-01, .1914E-03, .1978E-05, 1 .2124E+04,-.6312E+00,-.8343E-01, .1962E-03, .3349E-05, 1 .2142E+04,-.5083E+00,-.9308E-01, .1848E-03, .4644E-05, 1 .2148E+04,-.5107E+00,-.8249E-01, .1974E-03, .2445E-05, 2 .3174E+04, .1559E+01,-.1525E+00, .9536E-03,-.5138E-05, 2 .3059E+04, .2038E+01,-.1502E+00, .8782E-03,-.4550E-05, 2 .2905E+04, .2563E+01,-.1422E+00, .8081E-03,-.4707E-05, 2 .2707E+04, .3185E+01,-.1359E+00, .6975E-03,-.3539E-05, 2 .2474E+04, .3716E+01,-.1232E+00, .6017E-03,-.3297E-05, 2 .2234E+04, .4198E+01,-.1148E+00, .4547E-03,-.1784E-05, 2 .2015E+04, .4453E+01,-.1056E+00, .3494E-03,-.9578E-06, 2 .1855E+04, .4296E+01,-.9284E-01, .3081E-03,-.1551E-05, 2 .1775E+04, .3852E+01,-.8603E-01, .3381E-03,-.1903E-05, 2 .1749E+04, .3716E+01,-.8444E-01, .3368E-03,-.2097E-05, 2 .1749E+04, .3599E+01,-.8786E-01, .3613E-03,-.1568E-05, 2 .1750E+04, .3597E+01,-.8534E-01, .3824E-03,-.2436E-05, 2 .1749E+04, .3518E+01,-.8555E-01, .3936E-03,-.2192E-05, 2 .1742E+04, .3750E+01,-.8911E-01, .3302E-03,-.1102E-05, 2 .1740E+04, .4170E+01,-.1042E+00, .2203E-03, .1979E-05, 2 .1700E+04, .4231E+01,-.7888E-01, .1958E-03,-.1699E-05, 2 .1659E+04, .4097E+01,-.5662E-01, .2025E-03,-.4840E-05, 2 .1651E+04, .4286E+01,-.8666E-01, .1600E-03, .1194E-05, 3 .2697E+04, .1630E+01,-.1335E+00, .2269E-03, .3152E-05, 3 .2583E+04, .2012E+01,-.1201E+00, .2585E-03, .2430E-05, 3 .2430E+04, .3323E+01,-.1422E+00, .4445E-04, .8851E-05, 3 .2263E+04, .3939E+01,-.1253E+00, .5915E-05, .6341E-05, 3 .2072E+04, .4716E+01,-.1336E+00,-.1317E-03, .9209E-05, 3 .1847E+04, .4478E+01,-.9821E-01, .7760E-04, .2975E-05, 3 .1656E+04, .3802E+01,-.7643E-01, .1790E-03, .7571E-06, 3 .1527E+04, .3486E+01,-.9055E-01, .1987E-03, .4812E-05, 3 .1435E+04, .4339E+01,-.9408E-01,-.5978E-04, .6688E-05, 3 .1396E+04, .4102E+01,-.9198E-01,-.2017E-04, .7000E-05, 3 .1346E+04, .4119E+01,-.5129E-01,-.6117E-04, .1038E-06, 3 .1332E+04, .3472E+01,-.6103E-01, .9062E-04, .2054E-05, 3 .1331E+04, .3920E+01,-.7302E-01,-.2448E-04, .3725E-05, 3 .1320E+04, .4012E+01,-.7672E-01,-.4056E-04, .4657E-05, 3 .1259E+04, .4705E+01,-.5093E-01,-.1710E-03, .8423E-06, 3 .1247E+04, .4276E+01,-.5120E-01,-.1004E-03, .1440E-05, 3 .1211E+04, .3173E+01,-.3464E-01, .3911E-04, .1399E-06, 3 .1187E+04, .2100E+01,-.1986E-01, .9420E-04,-.1724E-05 / DATA (( CL6CS(K,J), K = 1, 5), J = 1, 4) / 1 .1365E+02,-.3302E+00, .4251E-02,-.4696E-04, .2990E-06, 1 .2023E+02,-.4893E+00, .6302E-02,-.6968E-04, .4436E-06, 1 .2998E+02,-.7237E+00, .9309E-02,-.1037E-03, .6659E-06, 1 .4437E+02,-.1072E+01, .1384E-01,-.1541E-03, .9830E-06 / DATA (( CL6CF(K,J), K = 1, 5), J = 1, 4) / 1 .4005E-03,-.1364E-05, .4014E-09,-.1065E-10, .3771E-12, 1 .5898E-03,-.1974E-05, .1180E-08,-.2475E-10, .4965E-12, 1 .8665E-03,-.2779E-05, .2611E-09,-.6482E-10, .1219E-11, 1 .1264E-02,-.4046E-05, .7903E-08,-.1068E-09, .8824E-12 / C C----------------------------------------------------------------------C C SPECTRAL REGION: 540-800 CM^-1. GAS: H2O, CO2, N2O C C----------------------------------------------------------------------C C COMMON /BANDL7/ GW(3), CL7H2OU(5,11,3), CL7H2OD(5,5,7,3), 1 CL7CO2U(5,11,3), CL7CO2D(5,5,7,3), 2 CL7N2O(3), CL7O3(3), 3 CL7CS(5,5,4,3), CL7CF(5,5,4,3) DATA GW / .14000, .23500, .24000 / DATA CL7N2O / 0.8775E+01, 0.6730E+02, 0.6931E+02 / DATA CL7O3 / 6.7342, 10.9696, 42.1065 / DATA ((( CL7H2OU(K,J,I), K = 1, 5), J = 1, 11), I = 1, 3) / 1 .3198E-03, .7010E-05, .5087E-07, .1823E-09, .8000E-12, 1 .4744E-03, .1039E-04, .7481E-07, .2733E-09, .1358E-11, 1 .7031E-03, .1544E-04, .1106E-06, .4005E-09, .2096E-11, 1 .1043E-02, .2301E-04, .1664E-06, .5895E-09, .2823E-11, 1 .1542E-02, .3408E-04, .2504E-06, .8968E-09, .3832E-11, 1 .2277E-02, .5052E-04, .3783E-06, .1336E-08, .4584E-11, 1 .3349E-02, .7481E-04, .5774E-06, .1984E-08, .4136E-11, 1 .4915E-02, .1107E-03, .8788E-06, .2888E-08, .2030E-11, 1 .7128E-02, .1599E-03, .1302E-05, .4852E-08, .4836E-11, 1 .1027E-01, .2335E-03, .2002E-05, .6551E-08,-.1648E-10, 1 .1473E-01, .3365E-03, .2992E-05, .9252E-08,-.4561E-10, 2 .3860E-02, .6592E-04, .4173E-06, .1467E-08, .2925E-11, 2 .5671E-02, .9710E-04, .6148E-06, .1939E-08, .1773E-11, 2 .8281E-02, .1405E-03, .9136E-06, .3551E-08, .6629E-11, 2 .1224E-01, .2051E-03, .1275E-05, .5589E-08, .2230E-10, 2 .1786E-01, .2895E-03, .1683E-05, .9969E-08, .6822E-10, 2 .2603E-01, .4244E-03, .2602E-05, .1281E-07, .5263E-10, 2 .3822E-01, .6217E-03, .3781E-05, .1670E-07, .4943E-10, 2 .5569E-01, .8796E-03, .4931E-05, .2712E-07, .1516E-09, 2 .8122E-01, .1300E-02, .7901E-05, .2939E-07,-.1662E-10, 2 .1186E+00, .1870E-02, .1121E-04, .3777E-07,-.1080E-09, 2 .1744E+00, .2704E-02, .1413E-04, .4233E-07,-.2056E-10, 3 .2535E-01, .4376E-03, .2415E-05, .5321E-08, .2793E-10, 3 .3648E-01, .6177E-03, .3550E-05, .7499E-08,-.8573E-11, 3 .5284E-01, .8857E-03, .4607E-05, .7056E-08, .1293E-10, 3 .7569E-01, .1249E-02, .5929E-05, .1228E-07, .1470E-09, 3 .1098E+00, .1771E-02, .7478E-05, .2647E-07, .4460E-09, 3 .1581E+00, .2472E-02, .9066E-05, .4093E-07, .8467E-09, 3 .2314E+00, .3685E-02, .1369E-04, .1789E-07, .7564E-09, 3 .3308E+00, .5356E-02, .2346E-04,-.5571E-08, .1889E-09, 3 .4624E+00, .7352E-02, .3650E-04, .3410E-07,-.1585E-09, 3 .6519E+00, .1004E-01, .3635E-04, .9474E-07, .2475E-08, 3 .9176E+00, .1456E-01, .6342E-04,-.2006E-08, .3091E-09 / DATA (((( CL7H2OD(K,L,J,I), K = 1, 5), L = 1, 5), J = 1, 7), 1 I = 1, 2) / 1 .2122E-01, .4754E-03, .3935E-05, .1405E-07,-.7501E-11, 1 .1206E-01, .2866E-03, .2068E-05, .3657E-08, .1041E-10, 1 .6465E-02, .1665E-03, .1387E-05, .1798E-08,-.2136E-10, 1 .3193E-02, .8096E-04, .7273E-06, .2920E-08, .8332E-11, 1 .1888E-02, .4747E-04, .3982E-06,-.1080E-09,-.1454E-10, 1 .3023E-01, .6682E-03, .5530E-05, .2168E-07, .8249E-12, 1 .1711E-01, .4164E-03, .3124E-05, .3919E-08,-.1459E-10, 1 .9017E-02, .2384E-03, .2100E-05, .2122E-08,-.5086E-10, 1 .4516E-02, .1140E-03, .1005E-05, .4126E-08, .1567E-10, 1 .2661E-02, .6773E-04, .6267E-06, .1011E-09,-.2749E-10, 1 .4278E-01, .9224E-03, .7342E-05, .3254E-07, .6124E-10, 1 .2396E-01, .5895E-03, .4432E-05, .5729E-08,-.9743E-11, 1 .1242E-01, .3331E-03, .3106E-05, .4000E-08,-.8491E-10, 1 .6415E-02, .1521E-03, .1074E-05, .6962E-08, .8110E-10, 1 .3739E-02, .9653E-04, .9598E-06, .2371E-09,-.4901E-10, 1 .6120E-01, .1324E-02, .9951E-05, .3875E-07, .9646E-10, 1 .3376E-01, .8242E-03, .6056E-05, .9813E-08, .2581E-10, 1 .1695E-01, .4537E-03, .4180E-05, .6927E-08,-.8408E-10, 1 .8837E-02, .2112E-03, .1434E-05, .8920E-08, .1169E-09, 1 .5242E-02, .1346E-03, .1358E-05, .9875E-09,-.6359E-10, 1 .8754E-01, .1892E-02, .1266E-04, .4015E-07, .2227E-09, 1 .4642E-01, .1137E-02, .8871E-05, .1865E-07, .1096E-11, 1 .2276E-01, .6006E-03, .5328E-05, .1010E-07,-.6748E-10, 1 .1207E-01, .3052E-03, .2477E-05, .7695E-08, .3896E-10, 1 .7335E-02, .1780E-03, .1611E-05, .3203E-08,-.3384E-10, 1 .1204E+00, .2525E-02, .1520E-04, .4697E-07, .4019E-09, 1 .6313E-01, .1528E-02, .1087E-04, .2288E-07, .1257E-09, 1 .2950E-01, .8041E-03, .7944E-05, .1390E-07,-.2084E-09, 1 .1603E-01, .3958E-03, .3219E-05, .1115E-07, .5508E-10, 1 .1018E-01, .2421E-03, .2095E-05, .5623E-08,-.1446E-10, 1 .1625E+00, .3545E-02, .2246E-04, .1677E-07,-.1586E-09, 1 .8242E-01, .2086E-02, .1565E-04, .1280E-07,-.1366E-09, 1 .3755E-01, .9723E-03, .8996E-05, .3195E-07, .2688E-10, 1 .2144E-01, .5492E-03, .5077E-05, .9584E-08,-.9889E-10, 1 .1378E-01, .3173E-03, .2807E-05, .1019E-07,-.4310E-11, 2 .2502E+00, .3828E-02, .2098E-04, .6728E-07,-.2163E-09, 2 .1351E+00, .2202E-02, .1169E-04, .2027E-07,-.3301E-10, 2 .7174E-01, .1160E-02, .5519E-05, .1603E-07, .1577E-09, 2 .3879E-01, .6627E-03, .4357E-05, .1218E-07,-.3509E-10, 2 .2402E-01, .4150E-03, .2207E-05, .5301E-08, .2091E-10, 2 .3564E+00, .5352E-02, .2909E-04, .1161E-06,-.1663E-09, 2 .1949E+00, .3118E-02, .1478E-04, .2446E-07, .1307E-09, 2 .1038E+00, .1665E-02, .7581E-05, .1688E-07, .1882E-09, 2 .5596E-01, .9185E-03, .5313E-05, .2023E-07, .7491E-10, 2 .3445E-01, .5925E-03, .3029E-05, .6692E-08, .3801E-10, 2 .5083E+00, .7692E-02, .3604E-04, .1088E-06, .1514E-09, 2 .2792E+00, .4398E-02, .2038E-04, .2957E-07, .4913E-10, 2 .1498E+00, .2363E-02, .1009E-04, .2250E-07, .2980E-09, 2 .8048E-01, .1288E-02, .6713E-05, .2666E-07, .1613E-09, 2 .4856E-01, .8429E-03, .4527E-05, .6941E-08,-.5864E-11, 2 .7258E+00, .1116E-01, .4425E-04, .7730E-07, .7876E-09, 2 .3979E+00, .6172E-02, .2732E-04, .4212E-07, .5499E-10, 2 .2161E+00, .3366E-02, .1360E-04, .2253E-07, .3647E-09, 2 .1146E+00, .1853E-02, .9905E-05, .2338E-07, .2420E-10, 2 .6742E-01, .1155E-02, .6134E-05, .1191E-07, .2888E-10, 2 .1030E+01, .1615E-01, .5639E-04, .1022E-06, .2680E-08, 2 .5701E+00, .9025E-02, .3124E-04,-.5345E-08, .1152E-08, 2 .3057E+00, .4857E-02, .2139E-04, .9328E-08, .1029E-09, 2 .1600E+00, .2521E-02, .1453E-04, .4003E-07,-.1410E-09, 2 .9516E-01, .1618E-02, .7903E-05, .7070E-08, .2683E-10, 2 .1405E+01, .2295E-01, .9099E-04,-.2412E-07, .1033E-08, 2 .7993E+00, .1288E-01, .4976E-04,-.1862E-07, .1021E-08, 2 .4242E+00, .6613E-02, .2929E-04, .4863E-07, .4837E-09, 2 .2273E+00, .3429E-02, .1564E-04, .4485E-07, .1848E-09, 2 .1359E+00, .2303E-02, .1000E-04, .2450E-08, .1606E-09, 2 .1910E+01, .3128E-01, .1092E-03, .5854E-07, .6144E-08, 2 .1107E+01, .1746E-01, .6235E-04, .5236E-07, .2686E-08, 2 .5959E+00, .9343E-02, .3786E-04,-.3029E-07, .1286E-09, 2 .3203E+00, .4732E-02, .1825E-04, .3272E-07, .2774E-09, 2 .1935E+00, .3265E-02, .1215E-04,-.1320E-07, .3797E-09 / DATA (((( CL7H2OD(K,L,J,I), K = 1, 5), L = 1, 5), J = 1, 7), 1 I = 3, 3) / 3 .1288E+01, .1982E-01, .7932E-04, .1506E-06, .2769E-08, 3 .6732E+00, .1075E-01, .5420E-04,-.1191E-07,-.1135E-08, 3 .3483E+00, .5282E-02, .2187E-04, .1975E-07, .2887E-09, 3 .1959E+00, .3065E-02, .1492E-04,-.1861E-08,-.3155E-09, 3 .1173E+00, .1856E-02, .8988E-05,-.1027E-07,-.2508E-09, 3 .1793E+01, .2778E-01, .1076E-03, .2464E-07, .2382E-08, 3 .9374E+00, .1489E-01, .7284E-04,-.2248E-07,-.1285E-08, 3 .4796E+00, .7298E-02, .3483E-04, .1079E-07,-.6009E-09, 3 .2739E+00, .4303E-02, .2221E-04,-.6108E-08,-.6761E-09, 3 .1680E+00, .2540E-02, .1009E-04, .5848E-08, .1792E-09, 3 .2479E+01, .3818E-01, .1255E-03,-.9731E-07, .6012E-08, 3 .1302E+01, .1940E-01, .7569E-04, .1666E-06, .2569E-08, 3 .6647E+00, .9983E-02, .4455E-04, .6638E-08,-.4726E-09, 3 .3882E+00, .5991E-02, .2640E-04,-.2330E-07,-.4318E-09, 3 .2409E+00, .3575E-02, .1264E-04, .2199E-07, .6260E-09, 3 .3448E+01, .5463E-01, .2772E-03,-.6672E-06,-.1532E-07, 3 .1791E+01, .2708E-01, .1157E-03, .4916E-07, .2512E-09, 3 .9230E+00, .1424E-01, .7422E-04,-.7568E-07,-.3182E-08, 3 .5445E+00, .8268E-02, .3229E-04, .3190E-08, .4198E-09, 3 .3417E+00, .5074E-02, .1897E-04, .2249E-07, .5607E-09, 3 .4601E+01, .6643E-01, .3080E-03, .1927E-06,-.4891E-08, 3 .2428E+01, .3692E-01, .1684E-03, .1351E-06, .2882E-09, 3 .1278E+01, .1882E-01, .8434E-04, .1643E-06, .3421E-09, 3 .7541E+00, .1167E-01, .5045E-04,-.3429E-07,-.4394E-09, 3 .4761E+00, .7213E-02, .3041E-04,-.8801E-08,-.1827E-09, 3 .6015E+01, .8087E-01, .3583E-03, .1619E-05, .7963E-08, 3 .3308E+01, .4919E-01, .2322E-03,-.2056E-07,-.6857E-08, 3 .1731E+01, .2596E-01, .1057E-03, .7529E-08, .5775E-09, 3 .1015E+01, .1601E-01, .8324E-04,-.2715E-07,-.2508E-08, 3 .6430E+00, .9946E-02, .4431E-04,-.4379E-07,-.8073E-09, 3 .7170E+01, .9746E-01, .5182E-03,-.5037E-06,-.3281E-07, 3 .4311E+01, .6002E-01, .2196E-03, .1687E-06, .2666E-08, 3 .2263E+01, .3324E-01, .1076E-03, .8376E-07, .6195E-08, 3 .1332E+01, .2104E-01, .1020E-03, .6250E-07,-.5010E-09, 3 .8303E+00, .1303E-01, .6471E-04,-.3176E-07,-.1833E-08 / DATA ((( CL7CO2U(K,J,I), K = 1, 5), J = 1, 11), I = 1, 3) / 1 .4904E-04, .1609E-05, .2180E-07, .1390E-09, .3177E-12, 1 .7290E-04, .2394E-05, .3248E-07, .2065E-09, .4603E-12, 1 .1084E-03, .3562E-05, .4835E-07, .3072E-09, .6805E-12, 1 .1610E-03, .5291E-05, .7169E-07, .4570E-09, .1049E-11, 1 .2392E-03, .7867E-05, .1064E-06, .6785E-09, .1588E-11, 1 .3543E-03, .1167E-04, .1582E-06, .1010E-08, .2369E-11, 1 .5234E-03, .1727E-04, .2351E-06, .1505E-08, .3491E-11, 1 .7692E-03, .2538E-04, .3466E-06, .2250E-08, .5443E-11, 1 .1124E-02, .3697E-04, .5026E-06, .3334E-08, .9072E-11, 1 .1623E-02, .5275E-04, .7100E-06, .4932E-08, .1625E-10, 1 .2316E-02, .7453E-04, .9939E-06, .6987E-08, .2446E-10, 2 .1502E-02, .3778E-04, .3395E-06, .1011E-08,-.1556E-11, 2 .2199E-02, .5550E-04, .5037E-06, .1546E-08,-.2156E-11, 2 .3214E-02, .8127E-04, .7393E-06, .2358E-08,-.2031E-11, 2 .4677E-02, .1182E-03, .1078E-05, .3660E-08,-.2471E-12, 2 .6791E-02, .1719E-03, .1570E-05, .5437E-08, .1264E-11, 2 .9799E-02, .2477E-03, .2266E-05, .8090E-08, .4361E-11, 2 .1406E-01, .3540E-03, .3248E-05, .1193E-07, .7723E-11, 2 .2007E-01, .5033E-03, .4602E-05, .1701E-07, .1187E-10, 2 .2856E-01, .7077E-03, .6282E-05, .2422E-07, .4679E-10, 2 .4034E-01, .9965E-03, .8614E-05, .3165E-07, .7316E-10, 2 .5625E-01, .1394E-02, .1197E-04, .4058E-07, .7027E-10, 3 .2543E-01, .5185E-03, .3802E-05, .8871E-08,-.1849E-10, 3 .3643E-01, .7330E-03, .5302E-05, .1280E-07,-.2020E-10, 3 .5234E-01, .1039E-02, .7422E-05, .1805E-07,-.2737E-10, 3 .7547E-01, .1478E-02, .1027E-04, .2461E-07,-.2592E-10, 3 .1088E+00, .2103E-02, .1412E-04, .3220E-07,-.1723E-10, 3 .1566E+00, .3000E-02, .1945E-04, .4064E-07,-.3222E-11, 3 .2244E+00, .4274E-02, .2712E-04, .4915E-07,-.3124E-10, 3 .3186E+00, .6048E-02, .3849E-04, .5988E-07,-.2055E-09, 3 .4479E+00, .8441E-02, .5385E-04, .8065E-07,-.4098E-09, 3 .6230E+00, .1159E-01, .7311E-04, .1143E-06,-.5444E-09, 3 .8571E+00, .1568E-01, .9611E-04, .1568E-06,-.5048E-09 / DATA (((( CL7CO2D(K,L,J,I), K = 1, 5), L = 1, 5), J = 1, 7), 1 I = 1, 2) / 1 .3255E-02, .1040E-03, .1387E-05, .9581E-08, .3107E-10, 1 .4614E-02, .1308E-03, .1606E-05, .1133E-07, .3897E-10, 1 .8000E-02, .2025E-03, .2015E-05, .1305E-07, .6382E-10, 1 .1608E-01, .4327E-03, .4148E-05, .8855E-08,-.7839E-10, 1 .3006E-01, .7894E-03, .7339E-05, .4311E-07, .2559E-09, 1 .4549E-02, .1443E-03, .1895E-05, .1271E-07, .3962E-10, 1 .6526E-02, .1809E-03, .2151E-05, .1538E-07, .5875E-10, 1 .1145E-01, .2827E-03, .2617E-05, .1811E-07, .1158E-09, 1 .2264E-01, .6134E-03, .5976E-05, .1229E-07,-.1286E-09, 1 .4252E-01, .1115E-02, .9811E-05, .5431E-07, .3797E-09, 1 .6295E-02, .1988E-03, .2587E-05, .1663E-07, .4580E-10, 1 .9195E-02, .2505E-03, .2872E-05, .1991E-07, .7763E-10, 1 .1628E-01, .3991E-03, .3504E-05, .2247E-07, .1547E-09, 1 .3086E-01, .8906E-03, .1019E-04, .1209E-07,-.4987E-09, 1 .5926E-01, .1522E-02, .1236E-04, .7739E-07, .7260E-09, 1 .8550E-02, .2658E-03, .3428E-05, .2218E-07, .6261E-10, 1 .1271E-01, .3464E-03, .3894E-05, .2481E-07, .8621E-10, 1 .2267E-01, .5632E-03, .5213E-05, .2786E-07, .1182E-09, 1 .4263E-01, .1203E-02, .1377E-04, .2406E-07,-.6019E-09, 1 .8037E-01, .2070E-02, .1694E-04, .9654E-07, .8452E-09, 1 .1140E-01, .3506E-03, .4551E-05, .2893E-07, .6920E-10, 1 .1743E-01, .4719E-03, .5160E-05, .3007E-07, .9235E-10, 1 .3140E-01, .7874E-03, .7397E-05, .3604E-07, .1089E-09, 1 .5772E-01, .1532E-02, .1545E-04, .5578E-07,-.1105E-09, 1 .1060E+00, .2889E-02, .2743E-04, .1007E-06, .1655E-09, 1 .1514E-01, .4601E-03, .5967E-05, .3708E-07, .7576E-10, 1 .2354E-01, .6282E-03, .6910E-05, .3900E-07, .9360E-10, 1 .4317E-01, .1064E-02, .8955E-05, .4370E-07, .2462E-09, 1 .7690E-01, .2072E-02, .2034E-04, .6934E-07,-.8692E-10, 1 .1381E+00, .3797E-02, .3719E-04, .1078E-06,-.3219E-09, 1 .1979E-01, .5740E-03, .7208E-05, .4868E-07, .1467E-09, 1 .3168E-01, .8015E-03, .8039E-05, .5036E-07, .2217E-09, 1 .5674E-01, .1496E-02, .1408E-04, .3696E-07,-.1705E-09, 1 .9986E-01, .2547E-02, .2090E-04, .1060E-06, .8137E-09, 1 .1824E+00, .5133E-02, .4785E-04, .9002E-07,-.5910E-09, 2 .7750E-01, .1926E-02, .1647E-04, .5152E-07, .5789E-10, 2 .9252E-01, .2176E-02, .1805E-04, .5697E-07, .4090E-10, 2 .1256E+00, .2757E-02, .2200E-04, .6171E-07,-.7270E-10, 2 .1997E+00, .3954E-02, .2617E-04, .6572E-07, .1797E-09, 2 .3415E+00, .6298E-02, .4389E-04, .1357E-06, .8247E-10, 2 .1051E+00, .2611E-02, .2185E-04, .6654E-07, .1234E-09, 2 .1264E+00, .2955E-02, .2427E-04, .7624E-07, .6777E-10, 2 .1737E+00, .3761E-02, .2920E-04, .8313E-07,-.2525E-10, 2 .2793E+00, .5549E-02, .3784E-04, .6902E-07,-.2349E-09, 2 .4851E+00, .8731E-02, .5836E-04, .1805E-06, .1464E-09, 2 .1393E+00, .3468E-02, .2892E-04, .8188E-07, .1027E-09, 2 .1688E+00, .3947E-02, .3179E-04, .9314E-07, .8401E-10, 2 .2355E+00, .5063E-02, .3872E-04, .1004E-06,-.1287E-09, 2 .3871E+00, .7623E-02, .5141E-04, .8296E-07,-.4458E-09, 2 .6934E+00, .1205E-01, .7024E-04, .2347E-06, .1293E-08, 2 .1789E+00, .4491E-02, .3824E-04, .9838E-07,-.7182E-10, 2 .2207E+00, .5185E-02, .4150E-04, .1067E-06,-.1754E-10, 2 .3149E+00, .6732E-02, .5003E-04, .1184E-06,-.1814E-09, 2 .5358E+00, .1028E-01, .6192E-04, .1167E-06, .4598E-09, 2 .9829E+00, .1710E-01, .9858E-04, .2107E-06, .2801E-09, 2 .2253E+00, .5681E-02, .4891E-04, .1097E-06,-.3620E-09, 2 .2837E+00, .6655E-02, .5329E-04, .1255E-06,-.2267E-09, 2 .4190E+00, .8860E-02, .6180E-04, .1329E-06, .3621E-10, 2 .7333E+00, .1419E-01, .8173E-04, .7045E-07, .3811E-09, 2 .1347E+01, .2269E-01, .1314E-03, .3965E-06, .8550E-09, 2 .2805E+00, .7112E-02, .6151E-04, .1254E-06,-.6195E-09, 2 .3568E+00, .8458E-02, .6798E-04, .1356E-06,-.5463E-09, 2 .5474E+00, .1172E-01, .8464E-04, .1108E-06,-.1226E-08, 2 .9699E+00, .1876E-01, .1179E-03, .1239E-06,-.7090E-09, 2 .1815E+01, .2923E-01, .1676E-03, .5291E-06,-.3456E-09, 2 .3383E+00, .8644E-02, .7789E-04, .1622E-06,-.1140E-08, 2 .4362E+00, .1044E-01, .8731E-04, .1638E-06,-.1184E-08, 2 .6993E+00, .1458E-01, .1057E-03, .2338E-06,-.7636E-09, 2 .1276E+01, .2441E-01, .1581E-03, .1820E-06,-.1661E-08, 2 .2438E+01, .3783E-01, .2135E-03, .7464E-06,-.1470E-08 / DATA (((( CL7CO2D(K,L,J,I), K = 1, 5), L = 1, 5), J = 1, 7), 1 I = 3, 3) / 3 .1167E+01, .2108E-01, .1237E-03, .1746E-06,-.5044E-09, 3 .1275E+01, .2281E-01, .1314E-03, .1947E-06,-.2232E-09, 3 .1486E+01, .2643E-01, .1517E-03, .1999E-06,-.5959E-09, 3 .1876E+01, .3241E-01, .1728E-03, .2616E-06, .1049E-08, 3 .2672E+01, .4497E-01, .2296E-03, .3947E-06, .2269E-08, 3 .1565E+01, .2793E-01, .1598E-03, .1901E-06,-.6590E-09, 3 .1712E+01, .3031E-01, .1698E-03, .2092E-06,-.3258E-09, 3 .2002E+01, .3520E-01, .1958E-03, .2216E-06,-.5193E-09, 3 .2531E+01, .4308E-01, .2237E-03, .3119E-06, .1414E-08, 3 .3605E+01, .6133E-01, .3406E-03, .2296E-06,-.4799E-08, 3 .2059E+01, .3596E-01, .2083E-03, .2687E-06,-.1859E-08, 3 .2258E+01, .3921E-01, .2210E-03, .2619E-06,-.1513E-08, 3 .2658E+01, .4551E-01, .2468E-03, .3205E-06,-.4218E-09, 3 .3371E+01, .5604E-01, .2877E-03, .4227E-06, .1310E-08, 3 .4826E+01, .8129E-01, .4636E-03,-.4164E-07,-.1377E-07, 3 .2713E+01, .4529E-01, .2301E-03, .3232E-06, .9465E-09, 3 .2984E+01, .4978E-01, .2522E-03, .2712E-06, .4486E-10, 3 .3523E+01, .5791E-01, .2817E-03, .3919E-06, .2269E-08, 3 .4482E+01, .7323E-01, .3860E-03, .2529E-06,-.5461E-08, 3 .6493E+01, .1068E+00, .5665E-03,-.1502E-06,-.1384E-07, 3 .3571E+01, .5797E-01, .2707E-03, .1700E-06, .1403E-09, 3 .3929E+01, .6345E-01, .3014E-03, .1354E-06,-.1783E-08, 3 .4642E+01, .7465E-01, .3501E-03, .1434E-06,-.1217E-08, 3 .5959E+01, .9345E-01, .4426E-03, .4426E-06,-.1279E-08, 3 .8688E+01, .1389E+00, .6834E-03, .9559E-07,-.8553E-08, 3 .4648E+01, .7368E-01, .3137E-03,-.4722E-07,-.3984E-10, 3 .5107E+01, .7983E-01, .3357E-03, .7199E-07, .1513E-08, 3 .6056E+01, .9394E-01, .3957E-03, .1422E-06, .1723E-08, 3 .7848E+01, .1185E+00, .4563E-03, .5001E-06, .1056E-07, 3 .1153E+02, .1781E+00, .8249E-03, .7612E-06,-.1393E-08, 3 .5932E+01, .9222E-01, .3615E-03,-.1798E-06, .1687E-08, 3 .6475E+01, .9998E-01, .4053E-03,-.2179E-06,-.1145E-08, 3 .7702E+01, .1173E+00, .4919E-03,-.2205E-06,-.5892E-08, 3 .9986E+01, .1478E+00, .5509E-03, .9207E-07, .5696E-08, 3 .1490E+02, .2225E+00, .9115E-03, .1485E-05, .1755E-07 / DATA (((( CL7CS(K,L,J,I), K = 1, 5), L = 1, 5), J = 1, 4), 1 I = 1, 3) / 1 .1396E+02,-.2899E+00, .3004E-02,-.2032E-04, .7639E-07, 1 .1353E+02,-.2584E+00, .2485E-02,-.2471E-04, .1733E-06, 1 .1257E+02,-.2425E+00, .2678E-02,-.2986E-04, .1957E-06, 1 .1220E+02,-.2489E+00, .2698E-02,-.4082E-04, .3670E-06, 1 .1250E+02,-.2966E+00, .4165E-02,-.4513E-04, .2460E-06, 1 .2076E+02,-.4239E+00, .4211E-02,-.2978E-04, .1392E-06, 1 .1980E+02,-.3811E+00, .3767E-02,-.3469E-04, .2172E-06, 1 .1832E+02,-.3536E+00, .3858E-02,-.4568E-04, .3246E-06, 1 .1781E+02,-.3669E+00, .4217E-02,-.6134E-04, .5105E-06, 1 .1853E+02,-.4439E+00, .6060E-02,-.6637E-04, .3895E-06, 1 .3051E+02,-.6205E+00, .6107E-02,-.4250E-04, .1959E-06, 1 .2883E+02,-.5561E+00, .5442E-02,-.4706E-04, .2801E-06, 1 .2641E+02,-.5175E+00, .5890E-02,-.6928E-04, .4738E-06, 1 .2575E+02,-.5494E+00, .6783E-02,-.9038E-04, .6733E-06, 1 .2749E+02,-.6635E+00, .8844E-02,-.9781E-04, .6089E-06, 1 .4463E+02,-.8951E+00, .8654E-02,-.6029E-04, .2823E-06, 1 .4156E+02,-.7814E+00, .7533E-02,-.7295E-04, .4848E-06, 1 .3793E+02,-.7457E+00, .8307E-02,-.1079E-03, .8356E-06, 1 .3743E+02,-.8170E+00, .1082E-01,-.1344E-03, .8735E-06, 1 .4082E+02,-.9914E+00, .1288E-01,-.1441E-03, .9500E-06, 2 .3576E+02,-.7950E+00, .9379E-02,-.1004E-03, .6593E-06, 2 .3695E+02,-.8510E+00, .1037E-01,-.9624E-04, .5167E-06, 2 .3768E+02,-.8574E+00, .1002E-01,-.9300E-04, .5332E-06, 2 .3653E+02,-.8198E+00, .9766E-02,-.8351E-04, .3882E-06, 2 .3441E+02,-.7423E+00, .8193E-02,-.7873E-04, .4911E-06, 2 .5297E+02,-.1176E+01, .1408E-01,-.1506E-03, .9642E-06, 2 .5513E+02,-.1255E+01, .1508E-01,-.1464E-03, .8476E-06, 2 .5620E+02,-.1271E+01, .1481E-01,-.1387E-03, .8010E-06, 2 .5408E+02,-.1219E+01, .1447E-01,-.1224E-03, .5719E-06, 2 .5082E+02,-.1091E+01, .1205E-01,-.1176E-03, .7357E-06, 2 .7874E+02,-.1749E+01, .2121E-01,-.2258E-03, .1406E-05, 2 .8230E+02,-.1860E+01, .2225E-01,-.2246E-03, .1361E-05, 2 .8369E+02,-.1886E+01, .2197E-01,-.2060E-03, .1185E-05, 2 .8068E+02,-.1803E+01, .2095E-01,-.1809E-03, .9093E-06, 2 .7519E+02,-.1597E+01, .1758E-01,-.1773E-03, .1140E-05, 2 .1172E+03,-.2615E+01, .3219E-01,-.3423E-03, .2103E-05, 2 .1231E+03,-.2805E+01, .3371E-01,-.3281E-03, .1912E-05, 2 .1248E+03,-.2812E+01, .3300E-01,-.3006E-03, .1622E-05, 2 .1202E+03,-.2669E+01, .3020E-01,-.2658E-03, .1463E-05, 2 .1111E+03,-.2337E+01, .2557E-01,-.2674E-03, .1780E-05, 3 .3100E+02,-.6945E+00, .8494E-02,-.8672E-04, .5088E-06, 3 .3181E+02,-.7074E+00, .8455E-02,-.8803E-04, .5462E-06, 3 .3326E+02,-.7418E+00, .8828E-02,-.8823E-04, .5238E-06, 3 .3536E+02,-.7839E+00, .9161E-02,-.8986E-04, .5339E-06, 3 .3711E+02,-.8247E+00, .9616E-02,-.9420E-04, .5646E-06, 3 .4620E+02,-.1045E+01, .1277E-01,-.1280E-03, .7438E-06, 3 .4726E+02,-.1059E+01, .1273E-01,-.1299E-03, .7868E-06, 3 .4936E+02,-.1106E+01, .1326E-01,-.1290E-03, .7332E-06, 3 .5266E+02,-.1160E+01, .1345E-01,-.1343E-03, .8198E-06, 3 .5515E+02,-.1228E+01, .1445E-01,-.1392E-03, .8026E-06, 3 .6904E+02,-.1562E+01, .1886E-01,-.1902E-03, .1144E-05, 3 .7050E+02,-.1592E+01, .1925E-01,-.1900E-03, .1102E-05, 3 .7362E+02,-.1645E+01, .1947E-01,-.1898E-03, .1105E-05, 3 .7804E+02,-.1715E+01, .1994E-01,-.2001E-03, .1228E-05, 3 .8155E+02,-.1825E+01, .2167E-01,-.2044E-03, .1135E-05, 3 .1034E+03,-.2340E+01, .2796E-01,-.2808E-03, .1696E-05, 3 .1056E+03,-.2374E+01, .2853E-01,-.2854E-03, .1686E-05, 3 .1099E+03,-.2444E+01, .2875E-01,-.2822E-03, .1675E-05, 3 .1153E+03,-.2530E+01, .2960E-01,-.2994E-03, .1835E-05, 3 .1201E+03,-.2705E+01, .3262E-01,-.2964E-03, .1525E-05 / DATA (((( CL7CF(K,L,J,I), K = 1, 5), L = 1, 5), J = 1, 4), 1 I = 1, 3) / 1 .2721E-01,-.5029E-04,-.7229E-06, .1343E-07,-.1062E-09, 1 .2194E-01, .7539E-04,-.1816E-05, .7955E-09, .1054E-09, 1 .1344E-01, .1345E-03,-.6031E-06,-.4300E-08,-.3154E-10, 1 .6618E-02, .9637E-04,-.1803E-05,-.6878E-08, .3614E-09, 1 .1711E-02, .3592E-04, .1396E-05,-.3379E-08,-.1991E-09, 1 .4055E-01,-.5527E-04,-.1803E-05, .1873E-07,-.4836E-10, 1 .3142E-01, .1157E-03,-.2265E-05, .3978E-08, .5934E-10, 1 .1852E-01, .1935E-03,-.1201E-05,-.7214E-08, .4518E-10, 1 .8721E-02, .1498E-03,-.1686E-05,-.1406E-07, .3448E-09, 1 .2531E-02, .2676E-04, .1288E-05,-.7368E-09,-.1513E-09, 1 .5893E-01,-.6185E-04,-.2884E-05, .2840E-07,-.6746E-10, 1 .4433E-01, .1868E-03,-.3518E-05, .1134E-07, .5021E-10, 1 .2432E-01, .2755E-03,-.9316E-06,-.1096E-07,-.1363E-10, 1 .1031E-01, .1906E-03,-.8226E-06,-.1849E-07, .2199E-09, 1 .3749E-02, .7716E-05, .9610E-06, .4006E-08,-.5038E-10, 1 .8478E-01,-.2040E-04,-.4858E-05, .3770E-07,-.7883E-10, 1 .6069E-01, .3674E-03,-.5458E-05, .3683E-08, .1553E-09, 1 .3107E-01, .3821E-03,-.2662E-05,-.1749E-07, .3548E-09, 1 .1220E-01, .2782E-03, .1685E-05,-.3191E-07,-.2148E-09, 1 .5567E-02,-.3440E-04, .3315E-07, .1223E-07, .1653E-09, 2 .7821E-01,-.5032E-03, .1815E-05,-.1798E-07, .2725E-09, 2 .8295E-01,-.6342E-03, .3803E-05,-.6655E-09,-.1459E-09, 2 .8570E-01,-.6197E-03, .1921E-05, .2405E-08, .8082E-10, 2 .8002E-01,-.4733E-03, .2838E-05, .3014E-08,-.3074E-09, 2 .7042E-01,-.3041E-03,-.4697E-06, .1385E-08, .1470E-09, 2 .1157E+00,-.7264E-03, .3596E-05,-.3150E-07, .2669E-09, 2 .1245E+00,-.9118E-03, .4689E-05,-.9272E-08,-.2104E-10, 2 .1285E+00,-.8969E-03, .2715E-05,-.2958E-09, .1281E-09, 2 .1180E+00,-.7211E-03, .3951E-05, .1018E-07,-.3941E-09, 2 .1035E+00,-.4199E-03,-.6634E-06,-.3520E-08, .1953E-09, 2 .1723E+00,-.1062E-02, .6825E-05,-.5327E-07, .1619E-09, 2 .1871E+00,-.1329E-02, .6384E-05,-.2777E-07, .1529E-09, 2 .1920E+00,-.1307E-02, .4023E-05,-.4661E-08, .1563E-09, 2 .1769E+00,-.1041E-02, .4307E-05, .1321E-07,-.3727E-09, 2 .1526E+00,-.5553E-03,-.1259E-05,-.1704E-07, .3511E-09, 2 .2566E+00,-.1644E-02, .1261E-04,-.7588E-07, .5754E-10, 2 .2816E+00,-.2071E-02, .1010E-04,-.2053E-07, .1099E-09, 2 .2876E+00,-.1907E-02, .7436E-05,-.7658E-08,-.1866E-09, 2 .2645E+00,-.1549E-02, .2845E-05, .2773E-07, .1846E-10, 2 .2245E+00,-.7345E-03,-.2852E-05,-.4225E-07, .7253E-09, 3 .5417E-01,-.2528E-03, .2038E-05,-.1069E-07,-.9237E-10, 3 .5733E-01,-.2676E-03, .1178E-05,-.1113E-07, .6626E-10, 3 .6326E-01,-.3189E-03, .1382E-05,-.8199E-08, .2497E-11, 3 .7192E-01,-.3792E-03, .1203E-05,-.6301E-08, .3709E-10, 3 .7876E-01,-.4561E-03, .1581E-05,-.7160E-08, .7944E-10, 3 .8131E-01,-.4257E-03, .2970E-05,-.9726E-08,-.1144E-09, 3 .8526E-01,-.4267E-03, .2139E-05,-.1287E-07, .3529E-10, 3 .9381E-01,-.4804E-03, .2577E-05,-.8269E-08,-.1095E-09, 3 .1076E+00,-.5418E-03, .1434E-05,-.1212E-07, .1226E-09, 3 .1173E+00,-.6765E-03, .3044E-05,-.9734E-08,-.1606E-10, 3 .1230E+00,-.6759E-03, .3263E-05,-.9553E-08, .4656E-10, 3 .1282E+00,-.6832E-03, .3999E-05,-.9516E-08,-.1161E-09, 3 .1408E+00,-.7172E-03, .3002E-05,-.8244E-08,-.4856E-10, 3 .1592E+00,-.7890E-03, .2233E-05,-.1915E-07, .2194E-09, 3 .1729E+00,-.1016E-02, .5181E-05,-.9115E-08,-.1553E-09, 3 .1872E+00,-.1039E-02, .3510E-05,-.1482E-07, .1817E-09, 3 .1948E+00,-.1027E-02, .5437E-05,-.2273E-07,-.9952E-10, 3 .2118E+00,-.1057E-02, .3727E-05,-.1216E-07, .8117E-10, 3 .2342E+00,-.1121E-02, .4051E-05,-.3507E-07, .2993E-09, 3 .2527E+00,-.1504E-02, .9940E-05,-.1262E-08,-.7234E-09 / C COMMON /BANDL7GH/ GWL7GH(7), CL7H2OGH(5,28,4), 1 CL7CO2GH(5,28,7), CL7O3GH(2) DATA GWL7GH / .18200, .13600, .05000, .01270, .00300, 1 .00100, .00030 / DATA CL7O3GH / 40.73849, 43.96434 / DATA ((( CL7H2OGH(K,J,I), K = 1, 5), J = 1, 28), I = 1, 3) / 4 .3979E-03, .1309E-04, .2319E-06, .2275E-08, .9044E-11, 4 .5975E-03, .1801E-04, .3143E-06, .2752E-08, .6934E-11, 4 .9489E-03, .2967E-04, .5084E-06, .3076E-08,-.5444E-11, 4 .1616E-02, .4305E-04, .6158E-06, .3792E-08, .1404E-11, 4 .2657E-02, .6118E-04, .7583E-06, .5784E-08, .2172E-10, 4 .4296E-02, .8016E-04, .8953E-06, .8844E-08, .4875E-10, 4 .7236E-02, .1351E-03, .1344E-05, .8520E-08, .3701E-10, 4 .1304E-01, .1880E-03, .1277E-05, .1610E-07, .1506E-09, 4 .2337E-01, .3183E-03, .1052E-05, .1674E-07, .3188E-09, 4 .4154E-01, .5183E-03, .2804E-05, .2479E-07, .2173E-09, 4 .1062E+00, .1367E-02, .7187E-05,-.9725E-08,-.2056E-09, 4 .1507E+00, .1994E-02, .1516E-04,-.3444E-07,-.1388E-08, 4 .2212E+00, .2635E-02, .1612E-04, .2766E-08,-.9770E-09, 4 .3162E+00, .3718E-02, .1361E-04, .2238E-07, .6228E-09, 4 .4491E+00, .5330E-02, .1967E-04, .1130E-07, .9380E-09, 4 .6229E+00, .6924E-02, .2318E-04, .7405E-07, .1877E-08, 4 .8901E+00, .1036E-01, .5791E-04,-.1261E-06,-.4170E-08, 4 .1264E+01, .1329E-01, .5246E-04, .8264E-07, .8006E-09, 4 .1837E+01, .1838E-01, .1531E-04, .1192E-06, .9628E-08, 4 .2553E+01, .2565E-01, .1345E-03, .2501E-06,-.7128E-08, 4 .3616E+01, .3494E-01, .1811E-03, .1876E-06,-.9945E-08, 4 .5193E+01, .4251E-01, .2234E-03, .1113E-05,-.1956E-07, 4 .7291E+01, .5548E-01, .2691E-03, .2257E-05,-.2823E-07, 4 .9882E+01, .8229E-01,-.3997E-03, .2539E-05, .7505E-07, 4 .1040E+02, .1364E+00, .2396E-03,-.2653E-05,-.8985E-08, 4 .9481E+01, .1431E+00, .1698E-03,-.1884E-05, .4727E-07, 4 .7102E+01, .1382E+00, .8000E-03,-.4169E-05,-.5986E-07, 4 .4817E+01, .1006E+00, .4971E-03, .1741E-05, .3680E-07, 5 .3073E-01, .1060E-02, .1685E-04, .2057E-06, .1376E-08, 5 .3250E-01, .1081E-02, .1674E-04, .2063E-06, .1410E-08, 5 .3729E-01, .1104E-02, .1512E-04, .2029E-06, .1591E-08, 5 .4358E-01, .1219E-02, .1567E-04, .1915E-06, .1457E-08, 5 .5140E-01, .1576E-02, .2414E-04, .1799E-06, .3830E-09, 5 .6843E-01, .1849E-02, .2645E-04, .1623E-06,-.7235E-10, 5 .9013E-01, .2220E-02, .2932E-04, .1516E-06,-.2603E-09, 5 .1477E+00, .2575E-02, .1313E-04, .2283E-06, .3220E-08, 5 .2275E+00, .3596E-02, .1003E-04, .2908E-06, .5134E-08, 5 .3341E+00, .5577E-02, .2436E-04, .2137E-06, .4207E-08, 5 .6167E+00, .9654E-02, .8056E-04, .2617E-06,-.1574E-08, 5 .8408E+00, .1139E-01, .7003E-04, .4346E-06, .2950E-08, 5 .1122E+01, .1629E-01, .1129E-03, .1767E-06,-.1711E-08, 5 .1604E+01, .2096E-01, .1567E-03, .4008E-06,-.8837E-08, 5 .2256E+01, .3159E-01, .2720E-03, .2558E-06,-.2096E-07, 5 .3228E+01, .3908E-01, .2333E-03, .1666E-05, .1700E-08, 5 .4433E+01, .5401E-01, .8836E-04, .1209E-05, .3277E-07, 5 .6214E+01, .7139E-01, .2844E-03, .8659E-06,-.8975E-08, 5 .8883E+01, .1214E+00, .4692E-03,-.3952E-05,-.4179E-07, 5 .1070E+02, .1283E+00, .1178E-02, .1746E-05,-.1318E-06, 5 .1423E+02, .1890E+00, .2108E-04,-.1841E-05, .4531E-07, 5 .1308E+02, .2516E+00, .1488E-02,-.8041E-05,-.1593E-06, 5 .1082E+02, .2402E+00, .4970E-03,-.3117E-05, .1181E-06, 5 .5873E+01, .2170E+00, .2438E-02,-.6079E-05,-.1877E-06, 5 .2984E+01, .1027E+00, .1260E-02, .7025E-05, .2700E-07, 5 .1567E+01, .6182E-01, .1249E-02, .4508E-05,-.6663E-07, 5 .1627E+01, .2983E-01, .1840E-03, .5014E-05, .6238E-07, 5 .1814E+01, .4301E-01, .3540E-03,-.6079E-06,-.2215E-07, 6 .2679E+01, .8688E-01, .1266E-02, .5835E-05,-.2292E-07, 6 .2674E+01, .9032E-01, .1363E-02, .5089E-05,-.4266E-07, 6 .2907E+01, .9037E-01, .1116E-02, .5038E-05,-.1392E-08, 6 .3053E+01, .8953E-01, .9663E-03, .5114E-05, .2324E-07, 6 .3393E+01, .9585E-01, .9985E-03, .3540E-05, .1842E-08, 6 .3641E+01, .8739E-01, .8533E-03, .6089E-05, .3778E-07, 6 .3979E+01, .8723E-01, .8792E-03, .6312E-05, .2811E-07, 6 .4731E+01, .1070E+00, .1184E-02, .4556E-05,-.2335E-07, 6 .5910E+01, .1202E+00, .1488E-02, .3533E-05,-.9056E-07, 6 .8394E+01, .1517E+00, .1013E-02, .3045E-05, .9213E-08, 6 .1445E+02, .2547E+00, .9205E-03,-.6289E-05, .2503E-07, 6 .1641E+02, .2691E+00, .2174E-02,-.5779E-05,-.2074E-06, 6 .1824E+02, .2805E+00, .2827E-02, .1470E-05,-.1362E-06, 6 .2484E+02, .2895E+00, .2182E-02, .2012E-04, .9200E-07, 6 .3228E+02, .2715E+00,-.7519E-03, .2783E-04, .4698E-06, 6 .4015E+02, .4094E+00, .2015E-03, .1272E-04, .1433E-06, 6 .4570E+02, .6543E+00, .2055E-02,-.6647E-05,-.8492E-07, 6 .4541E+02, .7479E+00, .4208E-03,-.8566E-05, .3976E-06, 6 .3539E+02, .6533E+00, .2515E-02, .8626E-05, .2095E-06, 6 .2673E+02, .6560E+00, .2446E-02, .1054E-05, .3383E-06, 6 .1179E+02, .4299E+00, .5160E-02, .1176E-04,-.1008E-06, 6 .6849E+01, .1998E+00, .1027E-02, .2448E-04, .4590E-06, 6 .2467E+01, .1354E+00, .3275E-02, .7239E-05,-.2512E-06, 6 .2487E+01, .4085E-01, .3215E-03, .1424E-04, .1790E-06, 6 .2652E+01, .5485E-01, .4623E-03, .9730E-06,-.4515E-10, 6 .2757E+01, .5373E-01, .5512E-03, .1454E-05,-.1937E-07, 6 .2587E+01, .5036E-01, .5962E-03, .2420E-05,-.1868E-07, 6 .1840E+01, .2508E-01, .5036E-03, .6535E-05, .1483E-07 / DATA ((( CL7H2OGH(K,J,I), K = 1, 5), J = 1, 28), I = 4, 4) / 7 .2162E+03, .3719E+01, .1760E-01, .6433E-04, .9080E-06, 7 .2162E+03, .3706E+01, .1721E-01, .6730E-04, .9864E-06, 7 .2152E+03, .3705E+01, .1822E-01, .6752E-04, .8199E-06, 7 .2146E+03, .3707E+01, .1880E-01, .6733E-04, .7229E-06, 7 .2131E+03, .3677E+01, .1858E-01, .7369E-04, .8188E-06, 7 .2121E+03, .3715E+01, .1902E-01, .5693E-04, .7750E-06, 7 .2106E+03, .4204E+01, .3293E-01,-.4423E-04,-.2055E-05, 7 .2228E+03, .3967E+01, .2013E-01,-.7162E-05,-.1466E-06, 7 .2174E+03, .3899E+01, .1884E-01,-.3389E-05, .1150E-06, 7 .2271E+03, .3934E+01, .2140E-01, .1457E-04,-.1974E-06, 7 .2004E+03, .3456E+01, .2094E-01, .5202E-04,-.1874E-06, 7 .1905E+03, .3366E+01, .1588E-01, .4846E-04, .7028E-06, 7 .1803E+03, .3253E+01, .1270E-01, .2200E-04, .4645E-06, 7 .1488E+03, .3143E+01, .1470E-01,-.5471E-04,-.3892E-06, 7 .1114E+03, .3069E+01, .2493E-01,-.8397E-04,-.1775E-05, 7 .6775E+02, .2405E+01, .2132E-01,-.4006E-04,-.7314E-06, 7 .2845E+02, .1198E+01, .1481E-01, .4502E-04,-.6451E-07, 7 .3587E+01, .5628E+00, .1903E-01, .5347E-04,-.1599E-05, 7 .3853E+01, .2854E+00, .8946E-02, .3495E-04,-.6220E-06, 7 .4115E+01, .3230E-01,-.1339E-03, .9949E-06, .1713E-07, 7 .4514E+01, .4306E-01, .1045E-03,-.3784E-06,-.3653E-07, 7 .5037E+01, .5328E-01,-.1313E-03,-.1217E-05, .4063E-08, 7 .5058E+01, .6589E-01,-.4212E-04,-.1356E-05, .1604E-07, 7 .4487E+01, .6287E-01, .1931E-03, .7326E-06,-.1275E-08, 7 .4122E+01, .6398E-01,-.1124E-04,-.3712E-06, .1871E-07, 7 .3504E+01, .7436E-01,-.1268E-03,-.3277E-05, .5389E-07, 7 .2483E+01, .7784E-01, .3708E-03,-.4513E-05,-.1066E-07, 7 .3159E+01, .7310E-01,-.2678E-03,-.6098E-05, .5793E-07 / DATA ((( CL7CO2GH(K,J,I), K = 1, 5), J = 1, 28), I = 1, 3) / 4 .7533E-03, .1759E-04, .2086E-06, .1701E-08, .7958E-11, 4 .1240E-02, .2724E-04, .3004E-06, .1972E-08, .6215E-11, 4 .2071E-02, .4233E-04, .4310E-06, .2389E-08, .4750E-11, 4 .3501E-02, .6658E-04, .6299E-06, .3096E-08, .3672E-11, 4 .6005E-02, .1055E-03, .9128E-06, .4268E-08, .6298E-11, 4 .1045E-01, .1707E-03, .1361E-05, .5896E-08, .7869E-11, 4 .1848E-01, .2775E-03, .2017E-05, .8748E-08, .1520E-10, 4 .3312E-01, .4599E-03, .3097E-05, .1267E-07, .9837E-11, 4 .6036E-01, .7744E-03, .4852E-05, .1960E-07,-.1083E-10, 4 .1122E+00, .1343E-02, .7612E-05, .2884E-07,-.5713E-10, 4 .2939E+00, .3218E-02, .1513E-04, .5520E-07,-.1293E-09, 4 .4231E+00, .4509E-02, .1931E-04, .7009E-07,-.8888E-10, 4 .6096E+00, .6369E-02, .2573E-04, .8445E-07,-.1876E-09, 4 .8783E+00, .8991E-02, .3577E-04, .1071E-06,-.5840E-09, 4 .1263E+01, .1267E-01, .4923E-04, .1465E-06,-.1119E-08, 4 .1814E+01, .1777E-01, .6644E-04, .2139E-06,-.1677E-08, 4 .2595E+01, .2469E-01, .8332E-04, .3488E-06,-.1476E-08, 4 .3695E+01, .3432E-01, .1039E-03, .4822E-06,-.1712E-08, 4 .5231E+01, .4768E-01, .1220E-03, .5797E-06,-.1247E-08, 4 .7349E+01, .6585E-01, .1372E-03, .6522E-06, .3123E-10, 4 .1022E+02, .8967E-01, .1715E-03, .7535E-06,-.1828E-08, 4 .1416E+02, .1201E+00, .1571E-03, .8937E-06, .1947E-08, 4 .1954E+02, .1614E+00, .9713E-04, .7591E-06, .7562E-08, 4 .2670E+02, .2189E+00, .1658E-04, .3104E-06, .1403E-07, 4 .3583E+02, .2967E+00,-.1940E-03,-.3044E-06, .3986E-07, 4 .4628E+02, .4074E+00,-.2678E-03,-.3593E-05, .4834E-07, 4 .5626E+02, .5270E+00, .2664E-03,-.7034E-05, .6535E-08, 4 .6676E+02, .6160E+00, .3844E-03,-.6498E-05, .1904E-07, 5 .5221E-01, .1805E-02, .2934E-04, .2960E-06, .1506E-08, 5 .6099E-01, .1958E-02, .3034E-04, .2919E-06, .1428E-08, 5 .7430E-01, .2183E-02, .3210E-04, .2900E-06, .1305E-08, 5 .9564E-01, .2507E-02, .3425E-04, .2939E-06, .1267E-08, 5 .1308E+00, .2982E-02, .3636E-04, .3019E-06, .1392E-08, 5 .1887E+00, .3740E-02, .4048E-04, .3122E-06, .1437E-08, 5 .2868E+00, .4941E-02, .4705E-04, .3218E-06, .1375E-08, 5 .4563E+00, .6876E-02, .5772E-04, .3267E-06, .1108E-08, 5 .7576E+00, .9984E-02, .7128E-04, .3349E-06, .1147E-08, 5 .1301E+01, .1510E-01, .9173E-04, .3467E-06, .1288E-08, 5 .3084E+01, .3015E-01, .1499E-03, .3736E-06, .1305E-08, 5 .4287E+01, .3959E-01, .1842E-03, .3846E-06, .1300E-08, 5 .5989E+01, .5211E-01, .2223E-03, .4357E-06, .2183E-08, 5 .8378E+01, .6927E-01, .2770E-03, .4164E-06, .2439E-08, 5 .1174E+02, .9184E-01, .3309E-03, .4309E-06, .5361E-08, 5 .1644E+02, .1224E+00, .3954E-03, .2477E-06, .8943E-08, 5 .2294E+02, .1624E+00, .5228E-03,-.4672E-07, .4298E-08, 5 .3187E+02, .2121E+00, .6170E-03,-.3082E-06, .1099E-07, 5 .4400E+02, .2719E+00, .6996E-03,-.8778E-06, .2000E-07, 5 .6025E+02, .3486E+00, .8769E-03,-.2275E-05, .1487E-07, 5 .8148E+02, .4338E+00, .1275E-02,-.2286E-05,-.2183E-07, 5 .1091E+03, .5291E+00, .1301E-02,-.1092E-05,-.1145E-07, 5 .1433E+03, .6458E+00, .1046E-02,-.2897E-05, .3588E-07, 5 .1827E+03, .7671E+00, .1326E-02,-.8701E-05, .4600E-07, 5 .2277E+03, .8028E+00, .2318E-02,-.7950E-05,-.1857E-07, 5 .2850E+03, .7545E+00, .2500E-02,-.8734E-05, .3775E-07, 5 .3618E+03, .6011E+00, .2124E-02,-.7617E-05, .1066E-06, 5 .4619E+03, .3803E+00, .2990E-02,-.7075E-05,-.9234E-07, 6 .4780E+01, .1369E+00, .1601E-02, .8635E-05, .1564E-07, 6 .4916E+01, .1363E+00, .1576E-02, .8748E-05, .1836E-07, 6 .5166E+01, .1368E+00, .1545E-02, .8726E-05, .2062E-07, 6 .5579E+01, .1392E+00, .1525E-02, .8545E-05, .1990E-07, 6 .6258E+01, .1443E+00, .1500E-02, .8234E-05, .1968E-07, 6 .7359E+01, .1546E+00, .1495E-02, .7704E-05, .1741E-07, 6 .9122E+01, .1720E+00, .1526E-02, .7079E-05, .1276E-07, 6 .1195E+02, .1972E+00, .1548E-02, .6922E-05, .1710E-07, 6 .1663E+02, .2384E+00, .1626E-02, .6359E-05, .1751E-07, 6 .2454E+02, .3044E+00, .1758E-02, .5424E-05, .1714E-07, 6 .4848E+02, .4761E+00, .2260E-02, .4878E-05, .3592E-09, 6 .6383E+02, .5736E+00, .2499E-02, .4589E-05,-.7953E-08, 6 .8489E+02, .6976E+00, .2668E-02, .3466E-05,-.5880E-08, 6 .1134E+03, .8629E+00, .2916E-02, .3468E-06, .2279E-08, 6 .1520E+03, .1073E+01, .3294E-02,-.2331E-05, .2682E-07, 6 .2033E+03, .1319E+01, .4290E-02,-.2585E-05,-.5028E-07, 6 .2706E+03, .1592E+01, .5192E-02, .7664E-06,-.1258E-06, 6 .3575E+03, .1906E+01, .4917E-02, .9025E-05,-.6084E-07, 6 .4645E+03, .2358E+01, .4227E-02, .5232E-05,-.2967E-07, 6 .5874E+03, .2909E+01, .2957E-02,-.1132E-04, .1926E-06, 6 .7166E+03, .3404E+01, .3177E-02,-.3915E-04, .4958E-06, 6 .8538E+03, .3568E+01, .8872E-02,-.6325E-04, .7559E-07, 6 .1026E+04, .3023E+01, .1190E-01,-.2772E-04,-.1500E-06, 6 .1264E+04, .2224E+01, .8202E-02,-.7830E-05, .6620E-07, 6 .1558E+04, .1497E+01, .5592E-02,-.1036E-04,-.8107E-07, 6 .1876E+04, .6267E+00, .2353E-02, .7971E-05,-.2378E-07, 6 .2159E+04,-.1868E+00,-.2069E-03, .1924E-04,-.8951E-07, 6 .2348E+04,-.8938E+00,-.4795E-02, .1456E-04, .5410E-06 / DATA ((( CL7CO2GH(K,J,I), K = 1, 5), J = 1, 28), I = 4, 6) / 7 .2615E+03, .5304E+01, .3627E-01, .5074E-04,-.3389E-06, 7 .2617E+03, .5303E+01, .3639E-01, .5039E-04,-.3520E-06, 7 .2623E+03, .5296E+01, .3652E-01, .5041E-04,-.3596E-06, 7 .2639E+03, .5276E+01, .3662E-01, .5097E-04,-.3578E-06, 7 .2679E+03, .5237E+01, .3681E-01, .5271E-04,-.3778E-06, 7 .2771E+03, .5164E+01, .3685E-01, .5950E-04,-.4241E-06, 7 .2978E+03, .5056E+01, .3443E-01, .7421E-04,-.1410E-06, 7 .3368E+03, .5065E+01, .3200E-01, .7296E-04, .2043E-07, 7 .4073E+03, .5236E+01, .2858E-01, .5791E-04, .2245E-06, 7 .5211E+03, .5557E+01, .3079E-01, .5554E-04,-.4996E-06, 7 .8666E+03, .6459E+01, .2403E-01, .7457E-04, .3639E-06, 7 .1085E+04, .7166E+01, .1887E-01, .4120E-04, .8569E-06, 7 .1368E+04, .8129E+01, .1834E-01, .8641E-05, .6606E-06, 7 .1734E+04, .9322E+01, .2297E-01, .3645E-05,-.7712E-06, 7 .2203E+04, .1051E+02, .1850E-01, .7040E-04,-.9868E-06, 7 .2771E+04, .1259E+02, .4016E-02,-.1628E-04, .7452E-06, 7 .3414E+04, .1509E+02,-.3010E-02,-.1970E-03, .2855E-05, 7 .4135E+04, .1642E+02, .2275E-01,-.3437E-03, .4329E-06, 7 .5048E+04, .1487E+02, .3174E-01,-.2763E-03, .5903E-06, 7 .6264E+04, .1120E+02, .3591E-01,-.1358E-03,-.9681E-06, 7 .7830E+04, .6923E+01, .1644E-01, .2735E-04,-.1368E-05, 7 .9576E+04, .3529E+01,-.2416E-01, .1569E-03, .4027E-06, 7 .1108E+05, .2838E+01,-.4676E-01, .2050E-04, .5772E-06, 7 .1185E+05, .2034E+01,-.4604E-01, .4265E-04, .1925E-06, 7 .1169E+05, .6925E+00,-.5102E-01, .2157E-04, .1562E-05, 7 .1066E+05,-.1466E+00,-.3748E-01,-.8924E-05, .9231E-06, 7 .9231E+04,-.8276E+00,-.3130E-01, .5709E-04, .1299E-05, 7 .7788E+04, .9468E+00,-.1446E-01,-.1953E-04, .2703E-06, 8 .4476E+04, .5788E+02, .1918E+00,-.2188E-03,-.1428E-05, 8 .4477E+04, .5788E+02, .1916E+00,-.2194E-03,-.1407E-05, 8 .4479E+04, .5788E+02, .1915E+00,-.2201E-03,-.1383E-05, 8 .4482E+04, .5787E+02, .1913E+00,-.2214E-03,-.1367E-05, 8 .4488E+04, .5785E+02, .1912E+00,-.2248E-03,-.1350E-05, 8 .4500E+04, .5781E+02, .1915E+00,-.2427E-03,-.1268E-05, 8 .4525E+04, .5766E+02, .1989E+00,-.2801E-03,-.2176E-05, 8 .4590E+04, .5682E+02, .2049E+00,-.2793E-03,-.2457E-05, 8 .4758E+04, .5483E+02, .2150E+00,-.1972E-03,-.3812E-05, 8 .5198E+04, .5185E+02, .1836E+00,-.6698E-04,-.7395E-06, 8 .6666E+04, .4913E+02, .1324E+00,-.1569E-03,-.7295E-06, 8 .7490E+04, .4931E+02, .1489E+00,-.2815E-03,-.5456E-05, 8 .8585E+04, .4861E+02, .9724E-01,-.2913E-03, .3049E-05, 8 .9957E+04, .4754E+02, .7270E-01,-.7409E-03, .8337E-05, 8 .1172E+05, .4459E+02, .1294E+00,-.1470E-02, .5003E-05, 8 .1419E+05, .3088E+02, .2149E+00,-.9643E-03,-.3364E-05, 8 .1783E+05, .8358E+01, .1741E+00, .9848E-04,-.2619E-05, 8 .2259E+05,-.1332E+02, .6490E-01, .5333E-03, .1723E-05, 8 .2785E+05,-.2933E+02,-.2199E-01, .5109E-03, .3031E-05, 8 .3240E+05,-.3835E+02,-.5586E-01, .4911E-03,-.6266E-06, 8 .3522E+05,-.4264E+02,-.1567E+00, .6481E-03, .6558E-05, 8 .3537E+05,-.3794E+02,-.1826E+00, .4845E-03, .5126E-05, 8 .3304E+05,-.2947E+02,-.1975E+00, .6451E-03, .4877E-05, 8 .2958E+05,-.1716E+02,-.1930E+00, .3573E-03, .2223E-05, 8 .2679E+05,-.5498E+01,-.1766E+00, .2773E-03, .1864E-05, 8 .2521E+05, .1577E+01,-.1613E+00, .1568E-03, .3465E-05, 8 .2448E+05, .4568E+01,-.1126E+00,-.1242E-03, .2870E-06, 8 .2433E+05,-.1987E+01,-.1213E+00, .1448E-03, .3506E-05, 9 .4412E+05, .3472E+03,-.2846E+00,-.6166E-02, .8124E-05, 9 .4413E+05, .3471E+03,-.2844E+00,-.6166E-02, .8085E-05, 9 .4414E+05, .3471E+03,-.2841E+00,-.6166E-02, .8041E-05, 9 .4415E+05, .3469E+03,-.2836E+00,-.6166E-02, .7975E-05, 9 .4419E+05, .3466E+03,-.2833E+00,-.6166E-02, .7981E-05, 9 .4426E+05, .3460E+03,-.2828E+00,-.6177E-02, .8074E-05, 9 .4441E+05, .3448E+03,-.2810E+00,-.6204E-02, .8058E-05, 9 .4472E+05, .3423E+03,-.2720E+00,-.6254E-02, .6958E-05, 9 .4535E+05, .3371E+03,-.2607E+00,-.6429E-02, .7590E-05, 9 .4661E+05, .3246E+03,-.2078E+00,-.6677E-02, .7502E-05, 9 .5167E+05, .2660E+03,-.5957E-01,-.6248E-02, .8927E-05, 9 .5572E+05, .2209E+03,-.9796E-01,-.5173E-02, .2121E-04, 9 .6149E+05, .1612E+03,-.9377E-01,-.3597E-02, .1533E-04, 9 .6919E+05, .9042E+02,-.1655E+00,-.2015E-02, .1561E-04, 9 .7826E+05, .1096E+02,-.2393E+00, .1775E-02,-.5753E-05, 9 .8635E+05,-.3982E+02,-.4361E+00, .1924E-02, .1590E-04, 9 .9097E+05,-.6474E+02,-.3228E+00, .6485E-04,-.1016E-04, 9 .9124E+05,-.7755E+02,-.5427E+00,-.6166E-03, .3452E-04, 9 .8580E+05,-.7678E+02,-.3057E+00,-.1002E-02, .1055E-04, 9 .7662E+05,-.8212E+02,-.3641E+00,-.2757E-03, .3060E-04, 9 .6534E+05,-.7810E+02,-.1041E+00,-.4618E-03, .8734E-05, 9 .5522E+05,-.8662E+02, .5203E-01,-.1841E-03, .1274E-05, 9 .4858E+05,-.1007E+03, .9983E-01, .5084E-04,-.8371E-06, 9 .4488E+05,-.1080E+03, .6578E-02, .3111E-03, .1139E-04, 9 .4150E+05,-.1065E+03, .1077E+00,-.9938E-04, .4886E-06, 9 .3871E+05,-.1083E+03, .1047E+00, .5064E-03,-.4781E-06, 9 .3633E+05,-.1004E+03, .1903E-01, .5945E-03, .5293E-05, 9 .3363E+05,-.8354E+02,-.1288E-01, .4747E-03, .1656E-05 / DATA ((( CL7CO2GH(K,J,I), K = 1, 5), J = 1, 28), I = 7, 7) / a .5140E+06,-.1411E+04,-.1048E+01, .1654E-01, .1947E-04, a .5140E+06,-.1411E+04,-.1047E+01, .1652E-01, .1922E-04, a .5140E+06,-.1411E+04,-.1047E+01, .1654E-01, .1930E-04, a .5140E+06,-.1410E+04,-.1050E+01, .1654E-01, .1964E-04, a .5136E+06,-.1409E+04,-.1054E+01, .1654E-01, .2006E-04, a .5132E+06,-.1407E+04,-.1056E+01, .1656E-01, .2031E-04, a .5120E+06,-.1402E+04,-.1066E+01, .1660E-01, .2123E-04, a .5100E+06,-.1392E+04,-.1083E+01, .1665E-01, .2266E-04, a .5056E+06,-.1372E+04,-.1124E+01, .1678E-01, .2670E-04, a .4968E+06,-.1331E+04,-.1149E+01, .1651E-01, .2540E-04, a .4664E+06,-.1185E+04,-.1219E+01, .1504E-01, .1425E-04, a .4456E+06,-.1085E+04,-.1202E+01, .1347E-01, .5864E-05, a .4172E+06,-.9484E+03,-.1014E+01, .1018E-01,-.1949E-04, a .3803E+06,-.7892E+03,-.8996E+00, .8948E-02,-.2216E-04, a .3355E+06,-.6040E+03,-.1064E+01, .2726E-02, .5016E-04, a .2868E+06,-.4540E+03,-.9408E+00, .9592E-03, .2099E-04, a .2383E+06,-.3363E+03,-.9800E+00, .2306E-02, .5124E-04, a .1916E+06,-.2437E+03,-.3055E+00, .3395E-02,-.4324E-04, a .1512E+06,-.1799E+03,-.5340E+00, .3604E-02, .6332E-06, a .1164E+06,-.1153E+03,-.2437E+00, .9536E-03,-.1570E-04, a .8864E+05,-.8796E+02,-.1052E+00,-.3615E-03,-.8576E-05, a .6732E+05,-.7572E+02,-.5404E-01,-.9768E-03, .1252E-04, a .5116E+05,-.7624E+02, .1354E+00,-.2120E-02, .2058E-04, a .4036E+05,-.1004E+03, .5168E+00,-.1731E-02,-.5504E-05, a .3519E+05,-.1283E+03, .3094E+00, .2044E-03, .1278E-04, a .3240E+05,-.1182E+03, .1915E+00,-.1668E-03, .1033E-05, a .2966E+05,-.9956E+02, .9680E-01, .1245E-03, .1818E-05, a .2662E+05,-.7916E+02, .2546E-01, .3327E-03, .1057E-05 / C C----------------------------------------------------------------------C C SPECTRAL REGION: 340-540 CM^-1. GAS: H2O C C----------------------------------------------------------------------C C COMMON /BANDL8/ GWL8(6), CL8H2O(5,18,6), CL8CS(5,6,4), 1 CL8CF(5,6,4) DATA GWL8 / .09800, .27720, .22500, .20600, .12500, .05300 / DATA ((( CL8H2O(K,J,I), K = 1, 5), J = 1, 18), I = 1, 4) / 1 .3229E-03, .4497E-05, .2238E-07, .1178E-09, .6098E-12, 1 .4900E-03, .6826E-05, .3397E-07, .1787E-09, .9256E-12, 1 .7434E-03, .1036E-04, .5152E-07, .2711E-09, .1406E-11, 1 .1127E-02, .1571E-04, .7807E-07, .4108E-09, .2145E-11, 1 .1708E-02, .2381E-04, .1181E-06, .6211E-09, .3287E-11, 1 .2588E-02, .3608E-04, .1787E-06, .9398E-09, .5027E-11, 1 .3918E-02, .5465E-04, .2702E-06, .1421E-08, .7680E-11, 1 .5931E-02, .8277E-04, .4081E-06, .2146E-08, .1183E-10, 1 .8965E-02, .1252E-03, .6172E-06, .3235E-08, .1795E-10, 1 .1354E-01, .1893E-03, .9381E-06, .4878E-08, .2651E-10, 1 .2044E-01, .2859E-03, .1427E-05, .7366E-08, .3840E-10, 1 .3081E-01, .4309E-03, .2152E-05, .1118E-07, .5852E-10, 1 .4640E-01, .6479E-03, .3221E-05, .1699E-07, .9206E-10, 1 .6971E-01, .9730E-03, .4778E-05, .2551E-07, .1489E-09, 1 .1044E+00, .1458E-02, .7169E-05, .3796E-07, .2206E-09, 1 .1558E+00, .2172E-02, .1060E-04, .5747E-07, .3551E-09, 1 .2314E+00, .3216E-02, .1582E-04, .8670E-07, .5066E-09, 1 .3426E+00, .4692E-02, .2161E-04, .1347E-06, .1031E-08, 2 .2104E-02, .3167E-04, .1722E-06, .2633E-09,-.1578E-11, 2 .3167E-02, .4767E-04, .2592E-06, .3958E-09,-.2383E-11, 2 .4764E-02, .7173E-04, .3905E-06, .5944E-09,-.3642E-11, 2 .7163E-02, .1079E-03, .5888E-06, .8916E-09,-.5679E-11, 2 .1077E-01, .1623E-03, .8888E-06, .1334E-08,-.9037E-11, 2 .1618E-01, .2442E-03, .1342E-05, .2002E-08,-.1440E-10, 2 .2430E-01, .3669E-03, .2023E-05, .3027E-08,-.2209E-10, 2 .3649E-01, .5507E-03, .3042E-05, .4617E-08,-.3314E-10, 2 .5474E-01, .8258E-03, .4574E-05, .7060E-08,-.4968E-10, 2 .8204E-01, .1238E-02, .6861E-05, .1084E-07,-.7308E-10, 2 .1228E+00, .1851E-02, .1022E-04, .1654E-07,-.9934E-10, 2 .1835E+00, .2766E-02, .1527E-04, .2466E-07,-.1446E-09, 2 .2736E+00, .4125E-02, .2279E-04, .3703E-07,-.2095E-09, 2 .4068E+00, .6129E-02, .3408E-04, .5640E-07,-.3322E-09, 2 .6032E+00, .9050E-02, .5009E-04, .8847E-07,-.4121E-09, 2 .8918E+00, .1329E-01, .7219E-04, .1369E-06,-.3589E-09, 2 .1312E+01, .1948E-01, .1064E-03, .1939E-06,-.7568E-09, 2 .1923E+01, .2839E-01, .1537E-03, .2804E-06,-.1043E-08, 3 .7446E-02, .1111E-03, .6046E-06, .8289E-09,-.4900E-11, 3 .1119E-01, .1671E-03, .9134E-06, .1258E-08,-.7887E-11, 3 .1682E-01, .2510E-03, .1373E-05, .1945E-08,-.1124E-10, 3 .2526E-01, .3770E-03, .2061E-05, .2983E-08,-.1581E-10, 3 .3794E-01, .5659E-03, .3090E-05, .4602E-08,-.2153E-10, 3 .5695E-01, .8488E-03, .4629E-05, .7068E-08,-.2907E-10, 3 .8540E-01, .1272E-02, .6943E-05, .1085E-07,-.4262E-10, 3 .1279E+00, .1903E-02, .1036E-04, .1674E-07,-.5470E-10, 3 .1915E+00, .2846E-02, .1543E-04, .2488E-07,-.7320E-10, 3 .2860E+00, .4248E-02, .2294E-04, .3714E-07,-.9169E-10, 3 .4261E+00, .6327E-02, .3436E-04, .5581E-07,-.1570E-09, 3 .6330E+00, .9376E-02, .5132E-04, .8718E-07,-.2525E-09, 3 .9376E+00, .1384E-01, .7570E-04, .1350E-06,-.3252E-09, 3 .1385E+01, .2027E-01, .1078E-03, .2157E-06, .1516E-09, 3 .2038E+01, .2969E-01, .1553E-03, .2960E-06, .2982E-09, 3 .2984E+01, .4326E-01, .2229E-03, .3967E-06, .3153E-09, 3 .4333E+01, .6276E-01, .3264E-03, .5118E-06,-.9117E-09, 3 .6276E+01, .9074E-01, .4698E-03, .6813E-06,-.1851E-08, 4 .3967E-01, .6059E-03, .3125E-05, .2384E-08,-.3299E-10, 4 .5947E-01, .9066E-03, .4649E-05, .3729E-08,-.4392E-10, 4 .8910E-01, .1356E-02, .6930E-05, .5633E-08,-.6395E-10, 4 .1335E+00, .2026E-02, .1038E-04, .8408E-08,-.1025E-09, 4 .1998E+00, .3029E-02, .1547E-04, .1266E-07,-.1495E-09, 4 .2991E+00, .4525E-02, .2298E-04, .1888E-07,-.2122E-09, 4 .4470E+00, .6756E-02, .3422E-04, .2749E-07,-.3131E-09, 4 .6667E+00, .1007E-01, .5103E-04, .4005E-07,-.4745E-09, 4 .9922E+00, .1498E-01, .7611E-04, .6001E-07,-.7425E-09, 4 .1472E+01, .2220E-01, .1135E-03, .8729E-07,-.1228E-08, 4 .2175E+01, .3269E-01, .1657E-03, .1423E-06,-.1472E-08, 4 .3201E+01, .4791E-01, .2404E-03, .2029E-06,-.1948E-08, 4 .4684E+01, .6978E-01, .3502E-03, .2804E-06,-.3323E-08, 4 .6810E+01, .1010E+00, .5049E-03, .3511E-06,-.5520E-08, 4 .9836E+01, .1453E+00, .7112E-03, .4555E-06,-.6331E-08, 4 .1413E+02, .2078E+00, .9918E-03, .6837E-06,-.4149E-08, 4 .2014E+02, .2960E+00, .1430E-02, .7609E-06,-.1040E-07, 4 .2842E+02, .4146E+00, .2034E-02, .1088E-05,-.2282E-07 / DATA ((( CL8H2O(K,J,I), K = 1, 5), J = 1, 18), I = 5, 6) / 5 .3133E+00, .4523E-02, .1887E-04, .6784E-09,-.1336E-09, 5 .4679E+00, .6729E-02, .2771E-04, .4290E-09,-.1794E-09, 5 .6987E+00, .1002E-01, .4070E-04,-.3248E-08,-.2409E-09, 5 .1043E+01, .1493E-01, .5981E-04,-.8776E-08,-.3005E-09, 5 .1555E+01, .2224E-01, .8850E-04,-.2206E-07,-.4725E-09, 5 .2316E+01, .3304E-01, .1310E-03,-.2990E-07,-.6487E-09, 5 .3444E+01, .4901E-01, .1929E-03,-.3852E-07,-.7544E-09, 5 .5109E+01, .7250E-01, .2833E-03,-.6448E-07,-.1062E-08, 5 .7551E+01, .1068E+00, .4147E-03,-.9567E-07,-.1432E-08, 5 .1111E+02, .1566E+00, .6031E-03,-.1274E-06,-.2022E-08, 5 .1629E+02, .2283E+00, .8610E-03,-.2567E-06,-.2455E-08, 5 .2374E+02, .3310E+00, .1219E-02,-.5411E-06,-.3350E-08, 5 .3439E+02, .4767E+00, .1697E-02,-.8358E-06, .3353E-09, 5 .4947E+02, .6840E+00, .2392E-02,-.1672E-05,-.1353E-08, 5 .7058E+02, .9732E+00, .3392E-02,-.3087E-05,-.1572E-07, 5 .9985E+02, .1362E+01, .4450E-02,-.5045E-05,-.8712E-08, 5 .1385E+03, .1876E+01, .5845E-02,-.7922E-05,-.8375E-08, 5 .1862E+03, .2526E+01, .7113E-02,-.1443E-04, .1020E-06, 6 .4125E+01, .6340E-01, .2952E-03, .1065E-06,-.1185E-08, 6 .6031E+01, .9171E-01, .4119E-03, .7714E-07,-.8214E-09, 6 .8805E+01, .1326E+00, .5964E-03, .6948E-07,-.3100E-08, 6 .1286E+02, .1918E+00, .8694E-03, .6308E-07,-.8493E-08, 6 .1881E+02, .2766E+00, .1203E-02, .1540E-06,-.7264E-08, 6 .2745E+02, .3997E+00, .1704E-02, .9639E-07,-.9601E-08, 6 .3991E+02, .5767E+00, .2445E-02,-.1334E-06,-.2008E-07, 6 .5792E+02, .8290E+00, .3401E-02,-.6853E-06,-.2564E-07, 6 .8363E+02, .1189E+01, .4774E-02,-.1636E-05,-.3909E-07, 6 .1201E+03, .1697E+01, .6539E-02,-.3083E-05,-.2372E-07, 6 .1711E+03, .2415E+01, .9242E-02,-.6990E-05,-.6165E-07, 6 .2423E+03, .3393E+01, .1259E-01,-.1152E-04,-.7322E-07, 6 .3363E+03, .4678E+01, .1776E-01,-.1541E-04,-.2280E-06, 6 .4560E+03, .6299E+01, .2211E-01,-.1754E-04, .2881E-07, 6 .5923E+03, .8286E+01, .3171E-01,-.3971E-04,-.4238E-06, 6 .7342E+03, .1019E+02, .3986E-01,-.2432E-04,-.4088E-06, 6 .8676E+03, .1207E+02, .4605E-01,-.3246E-04,-.1283E-06, 6 .9753E+03, .1367E+02, .5930E-01,-.3330E-04,-.1258E-05 / DATA ((( CL8CS(K,J,I), K = 1, 5), J = 1, 6), I = 1, 4) / 1 .1958E+02,-.3684E+00, .3532E-02,-.3134E-04, .2012E-06, 1 .2926E+02,-.5510E+00, .5292E-02,-.4673E-04, .2975E-06, 1 .4370E+02,-.8226E+00, .7933E-02,-.6982E-04, .4380E-06, 1 .6527E+02,-.1228E+01, .1187E-01,-.1047E-03, .6543E-06, 1 .9733E+02,-.1834E+01, .1790E-01,-.1567E-03, .9477E-06, 1 .1451E+03,-.2736E+01, .2682E-01,-.2359E-03, .1418E-05, 2 .3586E+02,-.6042E+00, .5778E-02,-.4229E-04, .1921E-06, 2 .5342E+02,-.9044E+00, .8585E-02,-.6263E-04, .2978E-06, 2 .7956E+02,-.1359E+01, .1262E-01,-.9174E-04, .4884E-06, 2 .1182E+03,-.2029E+01, .1914E-01,-.1372E-03, .6773E-06, 2 .1757E+03,-.3030E+01, .2900E-01,-.2041E-03, .9247E-06, 2 .2602E+03,-.4514E+01, .4452E-01,-.3055E-03, .1167E-05, 3 .5001E+02,-.8113E+00, .6838E-02,-.4663E-04, .2328E-06, 3 .7453E+02,-.1204E+01, .1025E-01,-.7046E-04, .3336E-06, 3 .1113E+03,-.1778E+01, .1539E-01,-.1082E-03, .4612E-06, 3 .1660E+03,-.2640E+01, .2245E-01,-.1629E-03, .7655E-06, 3 .2476E+03,-.3897E+01, .3187E-01,-.2468E-03, .1418E-05, 3 .3716E+03,-.5824E+01, .4584E-01,-.3619E-03, .2344E-05, 4 .6183E+02,-.9639E+00, .7972E-02,-.5661E-04, .2868E-06, 4 .9171E+02,-.1422E+01, .1168E-01,-.8534E-04, .4554E-06, 4 .1360E+03,-.2116E+01, .1763E-01,-.1259E-03, .6335E-06, 4 .2019E+03,-.3151E+01, .2653E-01,-.1855E-03, .9002E-06, 4 .2994E+03,-.4715E+01, .4125E-01,-.2715E-03, .1029E-05, 4 .4415E+03,-.7029E+01, .6260E-01,-.4001E-03, .1380E-05 / DATA ((( CL8CF(K,J,I), K = 1, 5), J = 1, 6), I = 1, 4) / 1 .7421E-01,-.3174E-03,-.5260E-06,-.6845E-08, .2739E-09, 1 .1109E+00,-.4750E-03,-.7115E-06,-.9775E-08, .3891E-09, 1 .1654E+00,-.7022E-03,-.8033E-06,-.1512E-07, .5245E-09, 1 .2468E+00,-.1038E-02,-.1078E-05,-.2435E-07, .7631E-09, 1 .3669E+00,-.1544E-02,-.2402E-06,-.3858E-07, .8937E-09, 1 .5456E+00,-.2285E-02, .4113E-06,-.6651E-07, .1243E-08, 2 .1866E+00,-.7713E-03, .5633E-05,-.1263E-07,-.1169E-09, 2 .2774E+00,-.1212E-02, .7367E-05,-.7826E-08, .5910E-10, 2 .4119E+00,-.1990E-02, .7048E-05, .2037E-07, .8969E-09, 2 .6094E+00,-.2981E-02, .1407E-04, .2701E-07, .6895E-09, 2 .9005E+00,-.4492E-02, .2643E-04, .3653E-07,-.9039E-10, 2 .1322E+01,-.6669E-02, .5356E-04, .3722E-07,-.2687E-08, 3 .3532E+00,-.2106E-02, .5403E-05,-.5615E-08, .2486E-09, 3 .5256E+00,-.3043E-02, .9467E-05,-.2657E-07, .4013E-10, 3 .7843E+00,-.4225E-02, .1746E-04,-.9593E-07,-.8149E-09, 3 .1169E+01,-.6121E-02, .1969E-04,-.1723E-06,-.3055E-09, 3 .1741E+01,-.8663E-02, .1045E-04,-.2977E-06, .2924E-08, 3 .2618E+01,-.1294E-01,-.2893E-05,-.3646E-06, .6870E-08, 4 .5280E+00,-.3273E-02, .1221E-04,-.8300E-07, .5134E-09, 4 .7823E+00,-.4740E-02, .1606E-04,-.1407E-06, .1188E-08, 4 .1158E+01,-.7080E-02, .2810E-04,-.1972E-06, .1164E-08, 4 .1717E+01,-.1065E-01, .4674E-04,-.2611E-06, .1267E-08, 4 .2543E+01,-.1624E-01, .9264E-04,-.3372E-06,-.1986E-08, 4 .3728E+01,-.2473E-01, .1575E-03,-.4391E-06,-.4979E-08 / C COMMON /BANDL8GH/ GWL8GH(3), CL8H2OGH(5,28,3) DATA GWL8GH / .01500, .00062, .00018 / DATA ((( CL8H2OGH(K,J,I), K = 1, 5), J = 1, 28), I = 1, 3) / 1 .1238E+03, .3729E+01, .4546E-01, .1800E-03,-.5574E-06, 1 .1259E+03, .3788E+01, .4616E-01, .1826E-03,-.5685E-06, 1 .1281E+03, .3850E+01, .4689E-01, .1850E-03,-.5824E-06, 1 .1308E+03, .3919E+01, .4766E-01, .1871E-03,-.6020E-06, 1 .1344E+03, .4001E+01, .4850E-01, .1886E-03,-.6330E-06, 1 .1398E+03, .4109E+01, .4949E-01, .1891E-03,-.6805E-06, 1 .1489E+03, .4261E+01, .5046E-01, .1896E-03,-.7030E-06, 1 .1657E+03, .4519E+01, .5168E-01, .1851E-03,-.7526E-06, 1 .1971E+03, .4993E+01, .5469E-01, .1743E-03,-.1071E-05, 1 .2595E+03, .5883E+01, .5851E-01, .1511E-03,-.1484E-05, 1 .4676E+03, .8664E+01, .6072E-01, .1174E-03,-.6198E-06, 1 .6148E+03, .1073E+02, .6252E-01, .8393E-04, .6668E-08, 1 .8135E+03, .1345E+02, .6976E-01, .8291E-04, .3736E-06, 1 .1074E+04, .1702E+02, .8706E-01, .9267E-04,-.4359E-06, 1 .1424E+04, .2180E+02, .1051E+00, .6227E-04,-.9664E-06, 1 .1872E+04, .2771E+02, .1266E+00, .1050E-03,-.5847E-06, 1 .2434E+04, .3583E+02, .1612E+00,-.4468E-04,-.2449E-05, 1 .3117E+04, .4481E+02, .1813E+00,-.9744E-04,-.1081E-05, 1 .3859E+04, .5436E+02, .2064E+00,-.7528E-04, .1488E-06, 1 .4619E+04, .6568E+02, .2608E+00,-.2598E-03,-.2915E-05, 1 .5327E+04, .7536E+02, .3107E+00,-.1966E-03,-.4716E-05, 1 .5951E+04, .8367E+02, .3174E+00,-.2324E-03,-.1596E-05, 1 .6375E+04, .9020E+02, .3439E+00,-.3226E-03,-.2788E-05, 1 .6576E+04, .9363E+02, .3532E+00,-.2514E-03,-.1234E-06, 1 .6512E+04, .9342E+02, .3676E+00,-.4642E-04, .1030E-05, 1 .6245E+04, .9136E+02, .4084E+00, .2778E-05,-.4842E-05, 1 .5874E+04, .8886E+02, .4384E+00,-.5382E-04,-.9002E-05, 1 .5436E+04, .8482E+02, .4088E+00,-.7221E-04,-.3601E-05, 2 .4196E+05, .7703E+03, .4408E+01, .2918E-02,-.5111E-04, 2 .4255E+05, .7812E+03, .4468E+01, .2964E-02,-.5162E-04, 2 .4316E+05, .7920E+03, .4527E+01, .3016E-02,-.5174E-04, 2 .4377E+05, .8029E+03, .4582E+01, .3080E-02,-.5133E-04, 2 .4441E+05, .8137E+03, .4630E+01, .3168E-02,-.4987E-04, 2 .4510E+05, .8246E+03, .4665E+01, .3300E-02,-.4627E-04, 2 .4589E+05, .8362E+03, .4678E+01, .3467E-02,-.3965E-04, 2 .4689E+05, .8471E+03, .4644E+01, .3832E-02,-.2528E-04, 2 .4834E+05, .8587E+03, .4478E+01, .4506E-02, .1044E-04, 2 .5064E+05, .8720E+03, .4122E+01, .5793E-02, .7756E-04, 2 .5617E+05, .9023E+03, .4322E+01, .8086E-02, .4080E-04, 2 .5969E+05, .9258E+03, .4981E+01, .1003E-01,-.6854E-04, 2 .6446E+05, .9628E+03, .5034E+01, .1001E-01,-.7544E-04, 2 .7071E+05, .1019E+04, .4418E+01, .7884E-02, .1396E-04, 2 .7731E+05, .1091E+04, .4082E+01, .4058E-02, .5513E-04, 2 .8343E+05, .1160E+04, .3898E+01,-.4203E-03, .5483E-04, 2 .8752E+05, .1227E+04, .3976E+01,-.5464E-02, .4088E-04, 2 .8794E+05, .1239E+04, .4270E+01,-.8613E-02,-.5020E-04, 2 .8597E+05, .1240E+04, .4687E+01,-.1000E-01,-.1007E-03, 2 .8158E+05, .1165E+04, .4020E+01,-.6421E-03, .6572E-04, 2 .7379E+05, .1068E+04, .3222E+01,-.2272E-03, .1897E-03, 2 .6323E+05, .9605E+03, .4888E+01, .4098E-02,-.5693E-04, 2 .5446E+05, .8831E+03, .5626E+01, .3937E-02,-.1589E-03, 2 .4699E+05, .8218E+03, .5864E+01, .1437E-02,-.2067E-03, 2 .4138E+05, .7694E+03, .5271E+01,-.4315E-02,-.1818E-03, 2 .3608E+05, .6972E+03, .4007E+01,-.6729E-02,-.3734E-04, 2 .3122E+05, .5862E+03, .2734E+01,-.5396E-02, .4385E-04, 2 .2676E+05, .4905E+03, .2289E+01,-.5190E-02,-.1373E-04, 3 .5876E+06, .8786E+04, .3326E+02,-.5493E-01,-.2312E-03, 3 .5953E+06, .8901E+04, .3370E+02,-.5574E-01,-.2357E-03, 3 .6029E+06, .9017E+04, .3415E+02,-.5639E-01,-.2395E-03, 3 .6106E+06, .9132E+04, .3461E+02,-.5719E-01,-.2462E-03, 3 .6182E+06, .9248E+04, .3508E+02,-.5798E-01,-.2547E-03, 3 .6255E+06, .9355E+04, .3559E+02,-.5890E-01,-.2690E-03, 3 .6325E+06, .9471E+04, .3619E+02,-.6002E-01,-.2983E-03, 3 .6386E+06, .9570E+04, .3695E+02,-.6154E-01,-.3523E-03, 3 .6430E+06, .9668E+04, .3804E+02,-.6379E-01,-.4585E-03, 3 .6441E+06, .9741E+04, .3977E+02,-.6758E-01,-.6683E-03, 3 .6324E+06, .9675E+04, .3994E+02,-.7624E-01,-.6359E-03, 3 .6275E+06, .9648E+04, .3841E+02,-.8242E-01,-.3230E-03, 3 .6164E+06, .9548E+04, .3859E+02,-.8507E-01,-.3512E-03, 3 .5966E+06, .9336E+04, .4030E+02,-.8175E-01,-.6161E-03, 3 .5674E+06, .8972E+04, .4104E+02,-.6873E-01,-.7410E-03, 3 .5276E+06, .8485E+04, .4094E+02,-.5921E-01,-.7990E-03, 3 .4773E+06, .7741E+04, .3869E+02,-.2918E-01,-.6078E-03, 3 .4207E+06, .7007E+04, .3671E+02,-.1289E-01,-.4289E-03, 3 .3608E+06, .6161E+04, .3337E+02,-.8575E-02,-.3672E-03, 3 .3035E+06, .5357E+04, .3087E+02,-.2419E-01,-.6899E-03, 3 .2577E+06, .4701E+04, .2882E+02,-.3025E-01,-.9580E-03, 3 .2206E+06, .4102E+04, .2169E+02,-.4117E-01,-.3724E-03, 3 .1843E+06, .3408E+04, .1533E+02,-.3191E-01, .1304E-03, 3 .1503E+06, .2756E+04, .1227E+02,-.2889E-01,-.2608E-04, 3 .1215E+06, .2193E+04, .9605E+01,-.1932E-01,-.6223E-04, 3 .9916E+05, .1780E+04, .7285E+01,-.1978E-01,-.7329E-04, 3 .7702E+05, .1408E+04, .6071E+01,-.1547E-01,-.8183E-04, 3 .5669E+05, .1049E+04, .4697E+01,-.1063E-01,-.6367E-04 / C C----------------------------------------------------------------------C C SPECTRAL REGION: 0-340 CM^-1. GAS: H2O C C----------------------------------------------------------------------C C COMMON /BANDL9/ GWL9(4), CL9H2O(5,18,4), CL9CS(5,6,4), 1 CL9CF(5,6,4) DATA GWL9 / .31030, .21554, .19500, .14000 / DATA ((( CL9H2O(K,J,I), K = 1, 5), J = 1, 18), I = 1, 4) / 1 .4226E-01, .6101E-04,-.5452E-06, .2917E-08,-.8187E-11, 1 .6312E-01, .9117E-04,-.8123E-06, .4352E-08,-.1261E-10, 1 .9429E-01, .1361E-03,-.1215E-05, .6531E-08,-.1799E-10, 1 .1409E+00, .2025E-03,-.1819E-05, .9890E-08,-.2549E-10, 1 .2103E+00, .3016E-03,-.2717E-05, .1489E-07,-.3764E-10, 1 .3140E+00, .4486E-03,-.4078E-05, .2248E-07,-.5288E-10, 1 .4685E+00, .6674E-03,-.6145E-05, .3394E-07,-.7046E-10, 1 .6987E+00, .9916E-03,-.9316E-05, .5116E-07,-.8603E-10, 1 .1041E+01, .1477E-02,-.1405E-04, .7613E-07,-.1176E-09, 1 .1551E+01, .2199E-02,-.2109E-04, .1127E-06,-.1699E-09, 1 .2305E+01, .3266E-02,-.3159E-04, .1670E-06,-.2355E-09, 1 .3424E+01, .4807E-02,-.4743E-04, .2530E-06,-.3121E-09, 1 .5076E+01, .7066E-02,-.7225E-04, .3774E-06,-.1824E-09, 1 .7508E+01, .1036E-01,-.1111E-03, .5618E-06, .2550E-09, 1 .1108E+02, .1516E-01,-.1650E-03, .8310E-06, .2776E-09, 1 .1631E+02, .2183E-01,-.2425E-03, .1277E-05,-.4663E-09, 1 .2397E+02, .3125E-01,-.3851E-03, .1953E-05, .2786E-08, 1 .3504E+02, .4459E-01,-.6395E-03, .2839E-05, .1592E-07, 2 .2546E+00, .1815E-03,-.2208E-05, .2111E-08,-.1561E-10, 2 .3800E+00, .2695E-03,-.3286E-05, .3314E-08,-.2203E-10, 2 .5673E+00, .3995E-03,-.4889E-05, .5241E-08,-.3276E-10, 2 .8468E+00, .5921E-03,-.7336E-05, .8258E-08,-.4111E-10, 2 .1263E+01, .8762E-03,-.1088E-04, .1268E-07,-.7659E-10, 2 .1883E+01, .1300E-02,-.1613E-04, .1870E-07,-.1449E-09, 2 .2807E+01, .1937E-02,-.2426E-04, .2562E-07,-.1964E-09, 2 .4180E+01, .2891E-02,-.3614E-04, .3357E-07,-.3073E-09, 2 .6216E+01, .4325E-02,-.5375E-04, .4035E-07,-.4175E-09, 2 .9238E+01, .6420E-02,-.7875E-04, .4805E-07,-.7080E-09, 2 .1369E+02, .9538E-02,-.1166E-03, .4148E-07,-.9143E-09, 2 .2023E+02, .1414E-01,-.1726E-03, .3111E-09,-.8711E-09, 2 .2978E+02, .2082E-01,-.2275E-03,-.1247E-06,-.4911E-08, 2 .4370E+02, .2936E-01,-.2826E-03,-.1437E-06,-.1470E-07, 2 .6396E+02, .3982E-01,-.4087E-03, .1061E-06,-.2130E-07, 2 .9322E+02, .5274E-01,-.6560E-03, .3482E-06,-.1457E-07, 2 .1352E+03, .6623E-01,-.1059E-02, .6230E-06,-.2214E-08, 2 .1954E+03, .9042E-01,-.1357E-02,-.3471E-06,-.3964E-07, 3 .9075E+00, .2349E-03,-.4012E-05, .1157E-07, .7962E-10, 3 .1352E+01, .3354E-03,-.6038E-05, .1817E-07, .1270E-09, 3 .2015E+01, .4793E-03,-.9052E-05, .2765E-07, .1831E-09, 3 .3002E+01, .6835E-03,-.1364E-04, .4185E-07, .2676E-09, 3 .4472E+01, .9851E-03,-.2063E-04, .6109E-07, .4010E-09, 3 .6654E+01, .1432E-02,-.3124E-04, .8690E-07, .6321E-09, 3 .9898E+01, .2095E-02,-.4652E-04, .1206E-06, .9307E-09, 3 .1469E+02, .2980E-02,-.6872E-04, .1737E-06, .1423E-08, 3 .2176E+02, .4122E-02,-.9926E-04, .2522E-06, .1794E-08, 3 .3212E+02, .5504E-02,-.1445E-03, .3404E-06, .3016E-08, 3 .4721E+02, .6684E-02,-.1736E-03, .4461E-06,-.7950E-09, 3 .6916E+02, .4844E-02,-.1773E-03, .1003E-05,-.1243E-07, 3 .1010E+03,-.3009E-02,-.2229E-03, .2370E-05,-.2420E-07, 3 .1471E+03,-.2144E-01,-.3871E-03, .4663E-05,-.2618E-07, 3 .2134E+03,-.5700E-01,-.8083E-03, .7471E-05,-.2514E-08, 3 .3089E+03,-.1087E+00,-.1370E-02, .9538E-05, .4948E-08, 3 .4442E+03,-.1908E+00,-.1056E-02, .1380E-04,-.1654E-06, 3 .6328E+03,-.3826E+00,-.1620E-02, .3299E-04,-.2052E-06, 4 .3629E+01,-.7787E-03,-.6976E-05, .1193E-06,-.5476E-09, 4 .5397E+01,-.1244E-02,-.1101E-04, .1756E-06,-.8064E-09, 4 .8026E+01,-.1968E-02,-.1715E-04, .2604E-06,-.1219E-08, 4 .1193E+02,-.2999E-02,-.2528E-04, .3702E-06,-.2060E-08, 4 .1771E+02,-.4487E-02,-.4061E-04, .5268E-06,-.2565E-08, 4 .2627E+02,-.6705E-02,-.6518E-04, .7423E-06,-.2699E-08, 4 .3884E+02,-.1013E-01,-.8749E-04, .1037E-05,-.5258E-08, 4 .5724E+02,-.1537E-01,-.1224E-03, .1402E-05,-.7379E-08, 4 .8397E+02,-.2451E-01,-.1376E-03, .1964E-05,-.1405E-07, 4 .1227E+03,-.4169E-01,-.1280E-03, .3161E-05,-.2905E-07, 4 .1785E+03,-.7371E-01,-.1371E-03, .5716E-05,-.5114E-07, 4 .2589E+03,-.1257E+00,-.4193E-03, .9398E-05,-.4654E-07, 4 .3743E+03,-.2045E+00,-.1390E-02, .1334E-04, .5155E-07, 4 .5382E+03,-.2915E+00,-.2555E-02, .1103E-04, .1227E-06, 4 .7683E+03,-.4207E+00,-.1761E-02, .1120E-04,-.1680E-06, 4 .1087E+04,-.7028E+00,-.2430E-02, .3252E-04,-.2404E-06, 4 .1518E+04,-.1012E+01,-.7249E-02, .3761E-04, .1481E-06, 4 .2063E+04,-.1267E+01,-.7527E-02, .1644E-04,-.2221E-06 / DATA ((( CL9CS(K,J,I), K = 1, 5), J = 1, 6), I = 1, 4) / 1 .1166E+03,-.1766E+01, .1400E-01,-.9902E-04, .5646E-06, 1 .1730E+03,-.2609E+01, .2048E-01,-.1482E-03, .8792E-06, 1 .2571E+03,-.3825E+01, .2895E-01,-.2303E-03, .1611E-05, 1 .3826E+03,-.5674E+01, .4231E-01,-.3452E-03, .2522E-05, 1 .5680E+03,-.8350E+01, .6093E-01,-.5280E-03, .4119E-05, 1 .8396E+03,-.1230E+02, .8937E-01,-.7953E-03, .6324E-05, 2 .2341E+03,-.4082E+01, .3964E-01,-.3025E-03, .1407E-05, 2 .3497E+03,-.6110E+01, .5917E-01,-.4487E-03, .2090E-05, 2 .5217E+03,-.9141E+01, .8852E-01,-.6579E-03, .2952E-05, 2 .7755E+03,-.1357E+02, .1309E+00,-.9772E-03, .4503E-05, 2 .1152E+04,-.2029E+02, .1982E+00,-.1404E-02, .5673E-05, 2 .1716E+04,-.3034E+02, .3007E+00,-.2035E-02, .6973E-05, 3 .2553E+03,-.4445E+01, .4359E-01,-.4011E-03, .2437E-05, 3 .3800E+03,-.6617E+01, .6517E-01,-.6000E-03, .3624E-05, 3 .5659E+03,-.9905E+01, .9936E-01,-.8851E-03, .4962E-05, 3 .8467E+03,-.1487E+02, .1509E+00,-.1302E-02, .6830E-05, 3 .1269E+04,-.2221E+02, .2221E+00,-.1981E-02, .1118E-04, 3 .1898E+04,-.3310E+02, .3270E+00,-.2980E-02, .1758E-04, 4 .2682E+03,-.4700E+01, .4697E-01,-.4274E-03, .2521E-05, 4 .4004E+03,-.7039E+01, .7080E-01,-.6350E-03, .3636E-05, 4 .5980E+03,-.1053E+02, .1062E+00,-.9540E-03, .5472E-05, 4 .8897E+03,-.1567E+02, .1591E+00,-.1442E-02, .8254E-05, 4 .1319E+04,-.2341E+02, .2417E+00,-.2111E-02, .1116E-04, 4 .1955E+04,-.3458E+02, .3462E+00,-.3158E-02, .1903E-04 / DATA ((( CL9CF(K,J,I), K = 1, 5), J = 1, 6), I = 1, 4) / 1 .3948E+01,-.1931E-01, .3552E-04,-.5027E-06, .9660E-08, 1 .5835E+01,-.2758E-01, .3790E-04,-.8682E-06, .1676E-07, 1 .8634E+01,-.3825E-01,-.2193E-04,-.1821E-05, .4119E-07, 1 .1281E+02,-.5589E-01,-.8400E-04,-.2935E-05, .6985E-07, 1 .1896E+02,-.7819E-01,-.2426E-03,-.5361E-05, .1255E-06, 1 .2779E+02,-.1116E+00,-.3913E-03,-.8869E-05, .1948E-06, 2 .1200E+02,-.9434E-01, .6079E-03,-.1841E-05,-.1235E-07, 2 .1796E+02,-.1419E+00, .8872E-03,-.2595E-05,-.1581E-07, 2 .2682E+02,-.2126E+00, .1297E-02,-.3450E-05,-.2306E-07, 2 .3985E+02,-.3150E+00, .1836E-02,-.5104E-05,-.1777E-07, 2 .5911E+02,-.4745E+00, .2918E-02,-.5347E-05,-.7086E-07, 2 .8774E+02,-.7101E+00, .4880E-02,-.5460E-05,-.2140E-06, 3 .1354E+02,-.1043E+00, .5425E-03,-.4045E-05, .2942E-07, 3 .2015E+02,-.1553E+00, .8368E-03,-.6041E-05, .4049E-07, 3 .2999E+02,-.2340E+00, .1429E-02,-.8531E-05, .2462E-07, 3 .4484E+02,-.3526E+00, .2331E-02,-.1189E-04,-.4458E-08, 3 .6743E+02,-.5260E+00, .3208E-02,-.1884E-04, .5220E-07, 3 .1012E+03,-.7764E+00, .4308E-02,-.3073E-04, .1633E-06, 4 .1442E+02,-.1125E+00, .6521E-03,-.3817E-05, .1981E-07, 4 .2152E+02,-.1690E+00, .1026E-02,-.5605E-05, .2030E-07, 4 .3214E+02,-.2538E+00, .1542E-02,-.8381E-05, .3521E-07, 4 .4779E+02,-.3767E+00, .2389E-02,-.1346E-04, .4555E-07, 4 .7062E+02,-.5673E+00, .4024E-02,-.1808E-04,-.2171E-07, 4 .1047E+03,-.8481E+00, .5019E-02,-.2529E-04, .1479E-06 / C COMMON /BANDL9GH/ GWL9GH(6), CL9H2OGH(5,28,6) DATA GWL9GH / .08000, .05000, .00800, .00094, .00019, .00003 / DATA ((( CL9H2OGH(K,J,I), K = 1, 5), J = 1, 28), I = 1, 3) / 5 .1189E-01, .8033E-05,-.6385E-07, .2642E-09, .3063E-11, 5 .2393E-01, .1606E-04,-.1259E-06, .3615E-09, .5371E-11, 5 .4807E-01, .3218E-04,-.1752E-06, .2064E-09,-.2419E-11, 5 .9646E-01, .6140E-04,-.1156E-06, .5331E-10,-.4231E-10, 5 .1936E+00, .1096E-03,-.1202E-06, .9577E-09,-.8929E-10, 5 .3887E+00, .1807E-03,-.2764E-06, .5614E-08,-.1281E-09, 5 .7812E+00, .2805E-03,-.9748E-06, .1664E-07,-.1473E-09, 5 .1571E+01, .4071E-03,-.2464E-05, .3803E-07,-.2193E-09, 5 .3160E+01, .4679E-03,-.5703E-05, .8494E-07,-.4061E-09, 5 .6356E+01, .3292E-03,-.1362E-04, .1664E-06,-.7436E-09, 5 .1826E+02,-.9463E-03,-.4659E-04, .4466E-06,-.2670E-08, 5 .2705E+02,-.1970E-02,-.7248E-04, .6245E-06,-.3709E-08, 5 .4005E+02,-.3823E-02,-.1166E-03, .8934E-06,-.4207E-08, 5 .5918E+02,-.6456E-02,-.1708E-03, .1134E-05,-.6114E-08, 5 .8717E+02,-.1031E-01,-.2243E-03, .1313E-05,-.1105E-07, 5 .1280E+03,-.1973E-01,-.2872E-03, .1942E-05,-.1862E-07, 5 .1871E+03,-.3641E-01,-.3462E-03, .2902E-05,-.3248E-07, 5 .2722E+03,-.7492E-01,-.4067E-03, .5809E-05,-.5395E-07, 5 .3942E+03,-.1439E+00,-.5441E-03, .1108E-04,-.9498E-07, 5 .5692E+03,-.2606E+00,-.1439E-02, .1907E-04,-.4731E-07, 5 .8190E+03,-.4329E+00,-.3509E-02, .2691E-04, .1211E-06, 5 .1172E+04,-.6517E+00,-.4980E-02, .2611E-04, .1083E-06, 5 .1665E+04,-.1030E+01,-.3794E-02, .4164E-04,-.4559E-06, 5 .2345E+04,-.1756E+01,-.7346E-02, .9487E-04,-.4119E-06, 5 .3246E+04,-.2487E+01,-.1621E-01, .1023E-03, .1653E-06, 5 .4341E+04,-.3216E+01,-.1522E-01, .7815E-04,-.5541E-06, 5 .5545E+04,-.4277E+01,-.7660E-02, .1870E-03,-.2722E-05, 5 .6763E+04,-.4141E+01,-.4154E-01, .8076E-04, .2662E-05, 6 .4305E+00, .3161E-02, .1746E-04, .9764E-07, .3996E-09, 6 .7599E+00, .4495E-02, .2078E-04, .1243E-06, .4571E-09, 6 .1363E+01, .6564E-02, .2335E-04, .1351E-06, .6532E-09, 6 .2479E+01, .9605E-02, .2449E-04, .1530E-06, .1117E-08, 6 .4566E+01, .1414E-01, .2753E-04, .1936E-06, .9333E-09, 6 .8525E+01, .2076E-01, .2243E-04, .2845E-06, .1622E-08, 6 .1607E+02, .3052E-01, .1895E-04, .3518E-06,-.1335E-08, 6 .3061E+02, .4421E-01,-.4170E-05, .6186E-06,-.5155E-08, 6 .5867E+02, .6587E-01,-.1254E-03, .2684E-06, .1537E-08, 6 .1131E+03, .9347E-01,-.4256E-03,-.3949E-06, .2888E-07, 6 .3032E+03, .1242E+00,-.2503E-03, .8244E-06,-.6356E-07, 6 .4377E+03, .1122E+00,-.1440E-03, .4225E-05,-.1285E-06, 6 .6310E+03, .3900E-01,-.3976E-03, .1431E-04,-.1646E-06, 6 .9078E+03,-.8215E-01,-.1018E-02, .2577E-04,-.1927E-06, 6 .1307E+04,-.2744E+00,-.2323E-02, .4191E-04,-.2083E-06, 6 .1880E+04,-.5997E+00,-.5883E-02, .6281E-04,-.5534E-07, 6 .2697E+04,-.9574E+00,-.1055E-01, .6398E-04, .7040E-07, 6 .3849E+04,-.1573E+01,-.1371E-01, .9501E-04,-.3864E-06, 6 .5464E+04,-.2523E+01,-.2299E-01, .1431E-03,-.2625E-06, 6 .7645E+04,-.3584E+01,-.3692E-01, .1610E-03,-.2000E-06, 6 .1044E+05,-.5018E+01,-.3813E-01, .1942E-03,-.2101E-05, 6 .1379E+05,-.7395E+01,-.5262E-01, .4428E-03,-.3657E-05, 6 .1752E+05,-.7635E+01,-.1170E+00, .2848E-03, .3984E-05, 6 .2124E+05,-.8251E+01,-.1104E+00, .1503E-03, .2151E-06, 6 .2453E+05,-.1158E+02,-.8440E-01, .2243E-03,-.3439E-05, 6 .2707E+05,-.1349E+02,-.1654E+00,-.1111E-04, .1140E-04, 6 .2831E+05,-.1490E+02,-.7166E-01,-.1424E-03, .6813E-06, 6 .2847E+05,-.1807E+02,-.2165E-01,-.2007E-03,-.2902E-05, 7 .6099E+03, .7817E+01, .4070E-01, .1169E-03,-.3335E-06, 7 .6402E+03, .7733E+01, .4121E-01, .1208E-03,-.3984E-06, 7 .6962E+03, .7564E+01, .4096E-01, .1317E-03,-.4466E-06, 7 .8011E+03, .7361E+01, .3831E-01, .1482E-03,-.4137E-06, 7 .9790E+03, .7284E+01, .3362E-01, .1448E-03,-.1560E-06, 7 .1278E+04, .7135E+01, .2383E-01, .1754E-03, .1057E-05, 7 .1779E+04, .7101E+01, .2331E-01, .1808E-03, .5076E-06, 7 .2630E+04, .7231E+01, .1379E-01, .2154E-03, .2451E-05, 7 .4099E+04, .7726E+01,-.9201E-02, .1460E-03, .5437E-05, 7 .6644E+04, .7222E+01,-.7209E-02, .2517E-03, .2655E-05, 7 .1469E+05, .4748E+01, .4023E-01, .4281E-03,-.1120E-04, 7 .2021E+05, .1874E+01, .1824E-02, .6068E-03,-.7271E-05, 7 .2809E+05,-.1604E+01,-.9092E-01, .7971E-03, .2654E-05, 7 .3901E+05,-.8209E+01,-.1128E+00, .1302E-02,-.6675E-05, 7 .5371E+05,-.1471E+02,-.1666E+00, .1328E-02,-.1126E-04, 7 .7237E+05,-.3177E+02,-.2566E+00, .2354E-02,-.1280E-04, 7 .9439E+05,-.4523E+02,-.3673E+00, .3028E-02,-.2408E-04, 7 .1185E+06,-.4731E+02,-.8933E+00, .1770E-02, .5301E-04, 7 .1421E+06,-.6197E+02,-.6393E+00, .2076E-02,-.7348E-05, 7 .1627E+06,-.8442E+02,-.6084E+00, .2413E-02,-.8757E-05, 7 .1778E+06,-.9687E+02,-.8941E+00, .1762E-02, .4770E-04, 7 .1849E+06,-.9453E+02,-.1786E+00, .4813E-03,-.4317E-04, 7 .1853E+06,-.9769E+02,-.2466E-01,-.6269E-03,-.4343E-04, 7 .1787E+06,-.1168E+03,-.4092E+00, .2030E-03, .5138E-04, 7 .1655E+06,-.1111E+03,-.2212E+00, .1342E-04, .4497E-04, 7 .1475E+06,-.8839E+02, .7246E+00,-.7165E-03,-.7844E-04, 7 .1295E+06,-.5339E+02, .2270E+00,-.3102E-02, .1701E-04, 7 .1112E+06,-.2827E+02, .2234E+00,-.1780E-02,-.5194E-05 / DATA ((( CL9H2OGH(K,J,I), K = 1, 5), J = 1, 28), I = 4, 6) / 8 .2282E+06, .2322E+04, .5714E+01,-.3761E-01,-.3151E-03, 8 .2296E+06, .2334E+04, .5747E+01,-.3775E-01,-.3161E-03, 8 .2312E+06, .2345E+04, .5791E+01,-.3783E-01,-.3171E-03, 8 .2331E+06, .2352E+04, .5865E+01,-.3775E-01,-.3188E-03, 8 .2359E+06, .2350E+04, .5975E+01,-.3706E-01,-.3216E-03, 8 .2410E+06, .2333E+04, .6160E+01,-.3621E-01,-.3337E-03, 8 .2509E+06, .2300E+04, .5864E+01,-.3760E-01,-.2564E-03, 8 .2712E+06, .2210E+04, .5542E+01,-.3522E-01,-.2389E-03, 8 .3125E+06, .2047E+04, .3513E+01,-.2898E-01,-.3194E-04, 8 .3887E+06, .1756E+04, .2574E+01,-.1444E-01,-.1193E-03, 8 .6162E+06, .1170E+04,-.1032E+01, .1116E-02,-.1318E-03, 8 .7345E+06, .8614E+03, .1080E+00, .2579E-01,-.4213E-03, 8 .8733E+06, .6992E+03,-.5564E+01, .4154E-02, .4235E-03, 8 .1012E+07, .4598E+03,-.6980E+01,-.5912E-02, .6048E-03, 8 .1131E+07,-.5627E+02,-.4413E+01, .2644E-01, .2096E-03, 8 .1228E+07,-.2410E+03,-.8442E+01, .3193E-02, .7231E-03, 8 .1279E+07,-.4451E+03,-.4661E+01, .6349E-02, .2112E-03, 8 .1276E+07,-.6033E+03, .3384E+01, .1265E-01,-.9195E-03, 8 .1234E+07,-.4116E+03,-.2972E+01,-.3335E-01, .4665E-03, 8 .1148E+07,-.4610E+03,-.4323E+01,-.2588E-01, .7519E-03, 8 .1026E+07,-.4768E+03, .7506E+00,-.1789E-01, .9226E-05, 8 .8869E+06,-.3862E+03,-.2371E+00,-.2820E-01, .3429E-03, 8 .7349E+06,-.2595E+03, .2788E+01,-.2175E-01,-.3169E-04, 8 .5951E+06, .1444E+01, .5039E+01,-.2911E-01,-.4986E-03, 8 .4756E+06, .1935E+03, .2978E+01,-.3445E-01,-.2903E-03, 8 .3819E+06, .1285E+03,-.2575E+01,-.1307E-01, .4107E-03, 8 .3039E+06,-.3683E+02,-.2901E+01, .1221E-01, .3292E-03, 8 .2372E+06,-.3331E+02,-.6236E+00, .1030E-01, .7012E-04, 9 .8912E+07, .1888E+05,-.2018E+03, .2427E+00, .2538E-02, 9 .8961E+07, .1897E+05,-.2030E+03, .2430E+00, .2589E-02, 9 .9009E+07, .1904E+05,-.2044E+03, .2421E+00, .2702E-02, 9 .9058E+07, .1907E+05,-.2059E+03, .2410E+00, .2868E-02, 9 .9106E+07, .1903E+05,-.2078E+03, .2456E+00, .3077E-02, 9 .9155E+07, .1883E+05,-.2105E+03, .2553E+00, .3488E-02, 9 .9210E+07, .1827E+05,-.2120E+03, .2897E+00, .3898E-02, 9 .9252E+07, .1717E+05,-.2138E+03, .3222E+00, .5106E-02, 9 .9267E+07, .1509E+05,-.2053E+03, .3561E+00, .6120E-02, 9 .9146E+07, .1137E+05,-.1615E+03, .4325E+00, .4301E-02, 9 .8346E+07, .6656E+04,-.4017E+02, .3709E-01, .8325E-05, 9 .7973E+07, .4554E+04,-.4539E+01,-.1428E+00,-.1672E-02, 9 .7540E+07, .2223E+04, .3524E+02,-.2751E+00,-.5174E-02, 9 .7117E+07,-.1772E+03, .5044E+02,-.2482E+00,-.7386E-02, 9 .6698E+07,-.1730E+04, .1359E+02,-.3353E+00,-.2502E-02, 9 .6106E+07,-.3671E+04, .1312E+02,-.5376E-01,-.2398E-02, 9 .5318E+07,-.2869E+04, .2268E+02,-.1105E+00,-.1642E-02, 9 .4486E+07,-.2202E+04, .1947E+02,-.1024E+00,-.4577E-03, 9 .3682E+07,-.2441E+04, .2543E+02, .7032E-01,-.2329E-02, 9 .2939E+07,-.7348E+03, .2495E+02,-.6691E-01,-.2004E-02, 9 .2317E+07, .1401E+03, .1250E+02,-.1234E+00,-.4546E-03, 9 .1823E+07,-.5861E+02,-.4110E+01,-.4951E-01, .1516E-02, 9 .1417E+07,-.5177E+03,-.2440E+01, .2654E-01, .6276E-03, 9 .1067E+07,-.5562E+03, .7921E+01, .4415E-01,-.6922E-03, 9 .8017E+06,-.4462E+03, .6757E+01, .3992E-01,-.3595E-03, 9 .5893E+06,-.2117E+01, .1586E+02,-.1702E-02,-.2042E-02, 9 .4313E+06, .4256E+03, .1230E+02,-.5361E-01,-.1591E-02, 9 .3157E+06, .4554E+03, .3390E+01,-.4530E-01,-.1535E-03, a .6301E+08,-.3184E+06, .1060E+04,-.2921E+00,-.1112E-01, a .6337E+08,-.3201E+06, .1066E+04,-.2934E+00,-.1139E-01, a .6368E+08,-.3217E+06, .1074E+04,-.2921E+00,-.1189E-01, a .6398E+08,-.3228E+06, .1084E+04,-.3109E+00,-.1286E-01, a .6422E+08,-.3233E+06, .1095E+04,-.3827E+00,-.1372E-01, a .6427E+08,-.3223E+06, .1111E+04,-.5298E+00,-.1554E-01, a .6395E+08,-.3184E+06, .1135E+04,-.7931E+00,-.1905E-01, a .6311E+08,-.3087E+06, .1165E+04,-.1223E+01,-.2563E-01, a .6104E+08,-.2882E+06, .1178E+04,-.1770E+01,-.3596E-01, a .5722E+08,-.2463E+06, .9214E+03,-.2642E+01,-.2202E-01, a .4622E+08,-.1555E+06, .1512E+03,-.3459E+00, .4365E-02, a .4032E+08,-.1143E+06,-.1324E+03, .3485E-01, .2109E-01, a .3365E+08,-.8049E+05,-.2025E+03, .1247E+01, .1580E-01, a .2677E+08,-.5099E+05,-.2342E+03, .1098E+01, .2610E-01, a .2033E+08,-.2543E+05,-.6168E+02, .5573E+00, .1124E-01, a .1517E+08,-.7334E+04, .9473E+02,-.6639E+00,-.3270E-02, a .1174E+08,-.4546E+04,-.2513E+02,-.5757E+00, .9035E-02, a .9169E+07,-.3423E+04,-.9998E+02,-.5366E+00, .1603E-01, a .6818E+07,-.2781E+04,-.4965E+01,-.3910E+00, .2521E-02, a .4979E+07,-.4028E+04, .5020E+02, .3666E-01,-.6955E-02, a .3584E+07,-.3114E+04, .5436E+02, .2033E+00,-.5940E-02, a .2553E+07,-.9871E+03, .3126E+02,-.1372E-01,-.2165E-02, a .1803E+07, .2082E+03, .3012E+00,-.1819E+00, .2786E-02, a .1270E+07, .6351E+03,-.2304E+02,-.2116E+00, .5869E-02, a .8807E+06, .5995E+03,-.2112E+02,-.1497E+00, .5022E-02, a .6069E+06, .3525E+03,-.1520E+02,-.3614E-01, .4058E-02, a .4196E+06, .4041E+03,-.4181E+01,-.1160E-01, .1868E-02, a .2939E+06, .3951E+03, .1880E+01,-.3537E-02, .3566E-03 / C END BLOCK DATA CKDSW C IMPLICIT REAL (A-H,O-Z), +INTEGER (I-N) C C----------------------------------------------------------------------C C SPECTRAL REGION: 14500-50000 CM^-1. GAS: H2O, O2 C C K IN UNIT CM^2 / GRAM FOR ALL DATA. C C NOTE: GW = GW * SOLAR ENERGY FOR ALL SOLAR BANDS C C CS1O2GH3 FOR O2 ABSORPTANCE COEFFICIENT AT 41200 - 50000 CM^-1 C C FOR HERZBERG BAND. THE SCHUMAN-RUNGE BAND NOT INCLUDED C C CS1O21 FOR O2 AT 25000 - 14500 CM^-1 LI 2003 C C----------------------------------------------------------------------C C COMMON /BANDS1/ GWS1(6), CS1O3(3,6), CS1O21 DATA GWS1 / 280.85678, 236.97212, 83.43346, 6.70594, 10.14919, 1 4.73084 / C DATA ((CS1O3(I,J), I = 1, 3), J = 1, 6) / 1 .4203E+02,-.2043E-02, .5034E-04, 2 .6390E+01, .9014E-02, .1214E-03, 3 .2584E+02, .1504E+00, .1025E-02, 4 .5269E+03, .1181E+01, .2640E-02, 5 .4034E+04, .5636E+01, .1300E-01, 6 .2570E+05, .1570E+02, .8769E-01 / C DATA CS1O21 / 0.511E-04 / C COMMON /BANDS1GH/ GWS1GH(3), CS1O3GH(3,3), CS1O2GH3 DATA GWS1GH / 3.20501, 3.17570, 1.21100 / C DATA ((CS1O3GH(I,J), I = 1, 3), J = 1, 3) / 7 .8575E+05, .1976E+02, .1222E-01, 8 .1254E+06,-.1886E+02,-.2423E+00, 9 .2228E+05,-.1677E+01, .1736E+00 / C DATA CS1O2GH3 / 0.900007E-01 / C C----------------------------------------------------------------------C C SPECTRAL REGION: 8200-14500 CM^-1. GAS: H2O, O2, O3 C C----------------------------------------------------------------------C C COMMON /BANDS2/ GW(4), CS2H2O(5,18,4), CS2O2(5,18,2), CS2O3(4) DATA GW / 292.83546, 62.41776, 53.30647, 21.53219 / DATA ( CS2O3(I), I = 1, 4) / .2185E+01, .1517E+01, .1684E+01, 1 .2268E+01 / DATA ((( CS2H2O(K,J,I), K = 1, 5), J = 1, 18), I = 1, 4) / 1 .5727E-05, .7913E-08,-.2870E-10, .5559E-13,-.3821E-15, 1 .8450E-05, .1153E-07,-.4306E-10, .7787E-13,-.7543E-15, 1 .1247E-04, .1684E-07,-.6614E-10, .1037E-12,-.1100E-14, 1 .1839E-04, .2444E-07,-.9416E-10, .1830E-12,-.2601E-14, 1 .2714E-04, .3553E-07,-.1543E-09, .3050E-12,-.1829E-14, 1 .4005E-04, .5192E-07,-.2335E-09, .4800E-12,-.3429E-14, 1 .5909E-04, .7574E-07,-.3536E-09, .8039E-12,-.5700E-14, 1 .8719E-04, .1116E-06,-.5451E-09, .1131E-11,-.7054E-14, 1 .1287E-03, .1631E-06,-.8644E-09, .1835E-11,-.5946E-14, 1 .1896E-03, .2405E-06,-.1314E-08, .2609E-11,-.9643E-14, 1 .2790E-03, .3566E-06,-.2043E-08, .3507E-11,-.3798E-14, 1 .4088E-03, .5305E-06,-.3089E-08, .4182E-11, .3468E-15, 1 .5956E-03, .7789E-06,-.4303E-08, .5732E-11,-.4682E-13, 1 .8593E-03, .1129E-05,-.6199E-08, .8142E-11,-.6072E-13, 1 .1221E-02, .1632E-05,-.8534E-08, .8854E-11,-.5919E-13, 1 .1703E-02, .2339E-05,-.1107E-07, .1116E-10,-.8467E-13, 1 .2318E-02, .3352E-05,-.1481E-07, .1337E-10,-.4540E-13, 1 .3071E-02, .4751E-05,-.2004E-07, .5499E-11, .1391E-12, 2 .1812E-03, .5011E-06,-.8218E-09, .2032E-11,-.2913E-14, 2 .2596E-03, .6953E-06,-.1514E-08, .2176E-11, .3824E-13, 2 .3718E-03, .9660E-06,-.2442E-08, .1820E-11, .7881E-13, 2 .5323E-03, .1350E-05,-.3699E-08,-.4671E-12, .1219E-12, 2 .7617E-03, .1879E-05,-.5219E-08,-.3813E-11, .1363E-12, 2 .1089E-02, .2593E-05,-.7511E-08,-.7619E-11, .1846E-12, 2 .1556E-02, .3586E-05,-.1149E-07,-.1861E-10, .3683E-12, 2 .2217E-02, .4926E-05,-.1452E-07,-.3508E-10, .1626E-12, 2 .3151E-02, .6624E-05,-.1710E-07,-.4111E-10,-.3080E-12, 2 .4466E-02, .8753E-05,-.2256E-07,-.3110E-10,-.6199E-12, 2 .6302E-02, .1146E-04,-.3460E-07,-.1332E-10,-.1316E-12, 2 .8826E-02, .1518E-04,-.4505E-07,-.1953E-10,-.8579E-13, 2 .1224E-01, .2030E-04,-.5950E-07,-.2591E-10, .3450E-12, 2 .1675E-01, .2818E-04,-.8032E-07,-.1297E-09, .1356E-11, 2 .2259E-01, .3962E-04,-.1029E-06,-.3474E-09, .1504E-11, 2 .2984E-01, .5403E-04,-.1072E-06,-.5094E-09,-.1288E-11, 2 .3848E-01, .7229E-04,-.1133E-06,-.7213E-09,-.3025E-11, 2 .4843E-01, .9131E-04,-.1408E-06,-.5242E-09,-.1241E-11, 3 .5547E-02, .4158E-04, .3280E-07,-.2032E-09, .2258E-11, 3 .6413E-02, .4296E-04, .2637E-07,-.1630E-09, .1830E-11, 3 .7564E-02, .4486E-04, .1419E-07,-.1373E-09, .2123E-11, 3 .9084E-02, .4738E-04,-.1630E-08,-.9672E-10, .3104E-11, 3 .1109E-01, .5067E-04,-.1787E-07,-.8095E-10, .4110E-11, 3 .1377E-01, .5523E-04,-.1690E-07,-.1512E-09, .1471E-11, 3 .1734E-01, .6124E-04,-.2382E-07,-.2526E-09, .5236E-13, 3 .2213E-01, .6899E-04,-.3343E-07,-.4029E-09,-.1248E-11, 3 .2858E-01, .7778E-04,-.5925E-07,-.4614E-09,-.8470E-12, 3 .3720E-01, .8884E-04,-.8387E-07,-.6317E-09,-.1760E-11, 3 .4869E-01, .1016E-03,-.1577E-06,-.7254E-09, .4759E-11, 3 .6377E-01, .1176E-03,-.1994E-06,-.9033E-09, .6915E-11, 3 .8323E-01, .1374E-03,-.1734E-06,-.1207E-08,-.3134E-11, 3 .1079E+00, .1582E-03,-.1595E-06,-.8371E-09,-.1246E-10, 3 .1386E+00, .1846E-03,-.2601E-06,-.6825E-10,-.2876E-11, 3 .1758E+00, .2208E-03,-.3373E-06, .1794E-09,-.8184E-11, 3 .2194E+00, .2561E-03,-.5008E-06, .1152E-08,-.2540E-13, 3 .2687E+00, .3031E-03,-.6058E-06, .1136E-08,-.2361E-10, 4 .2916E+00, .1904E-02, .1167E-05,-.1007E-07, .1006E-10, 4 .2971E+00, .1880E-02, .1156E-05,-.9691E-08, .1463E-10, 4 .3052E+00, .1853E-02, .1207E-05,-.9447E-08,-.6028E-12, 4 .3169E+00, .1820E-02, .1175E-05,-.8540E-08, .5159E-11, 4 .3333E+00, .1787E-02, .1203E-05,-.9259E-08,-.1682E-11, 4 .3564E+00, .1746E-02, .1460E-05,-.8860E-08,-.5574E-10, 4 .3892E+00, .1703E-02, .1277E-05,-.7849E-08,-.5692E-10, 4 .4342E+00, .1689E-02, .4175E-06,-.1098E-07, .4219E-10, 4 .4926E+00, .1672E-02, .1925E-06,-.1304E-07, .4876E-10, 4 .5680E+00, .1621E-02, .3194E-07,-.9251E-08, .2122E-10, 4 .6644E+00, .1556E-02,-.4294E-07,-.6425E-08,-.2252E-10, 4 .7851E+00, .1495E-02,-.2301E-06,-.4893E-08,-.9324E-10, 4 .9304E+00, .1395E-02, .6525E-07, .9691E-08,-.2604E-09, 4 .1099E+01, .1363E-02,-.1218E-05, .9560E-08,-.1188E-09, 4 .1281E+01, .1346E-02,-.1086E-05, .3036E-08,-.1302E-09, 4 .1477E+01, .1293E-02,-.2185E-05, .1361E-08, .4658E-10, 4 .1675E+01, .1263E-02,-.1153E-05,-.6468E-08,-.9134E-10, 4 .1877E+01, .1182E-02,-.1615E-05,-.4820E-09, .7266E-10 / DATA ((( CS2O2(K,J,I), K = 1, 5), J = 1, 18), I = 1, 2) / 1 .3214E-07, .1096E-09,-.3452E-12,-.9474E-15, .1212E-16, 1 .4547E-07, .1549E-09,-.4458E-12,-.1710E-14, .1636E-16, 1 .6451E-07, .2141E-09,-.6686E-12,-.1753E-14, .4046E-16, 1 .9148E-07, .2994E-09,-.7666E-12,-.2964E-14, .2290E-16, 1 .1291E-06, .4214E-09,-.4340E-12,-.5534E-14,-.6547E-16, 1 .1826E-06, .5775E-09,-.4514E-12,-.8455E-14,-.8933E-16, 1 .2577E-06, .7778E-09, .1163E-12,-.1062E-13,-.2128E-15, 1 .3647E-06, .9986E-09,-.5075E-12,-.4184E-14,-.1315E-15, 1 .5161E-06, .1342E-08,-.1859E-11,-.5709E-14, .1397E-15, 1 .7339E-06, .1777E-08,-.2617E-11,-.2611E-14, .2048E-15, 1 .1044E-05, .2394E-08,-.2534E-11,-.2946E-14,-.1257E-16, 1 .1486E-05, .3198E-08, .9352E-13, .9540E-14,-.7692E-15, 1 .2129E-05, .4310E-08, .2237E-13, .3356E-13,-.1033E-14, 1 .3067E-05, .5636E-08,-.1386E-10, .1004E-12, .7494E-15, 1 .4422E-05, .7600E-08,-.2434E-10, .1677E-12, .6683E-15, 1 .6379E-05, .1039E-07,-.4778E-10, .2399E-12, .1082E-14, 1 .9118E-05, .1456E-07,-.6065E-10, .2221E-12,-.2072E-14, 1 .1297E-04, .2085E-07,-.1135E-09, .2214E-12, .1963E-14, 2 .1314E-08, .9760E-12, .8168E-13, .6512E-15,-.2238E-16, 2 .1686E-08,-.3646E-11, .2078E-12, .1897E-14,-.2439E-16, 2 .2586E-08, .5144E-11,-.3531E-12, .2446E-16, .7444E-16, 2 .2835E-08, .1092E-10, .6488E-12,-.9216E-15,-.7964E-16, 2 .7028E-08, .9956E-11,-.1326E-11,-.2252E-14, .1800E-15, 2 .9576E-08, .5140E-10,-.1396E-11,-.7284E-14, .2245E-15, 2 .1471E-07, .3408E-11,-.8488E-12, .3609E-14, .1276E-15, 2 .2307E-07, .1126E-09,-.3998E-11,-.1265E-13, .7476E-15, 2 .3514E-07, .1715E-09,-.4584E-11,-.1617E-13, .7056E-15, 2 .4404E-07, .3456E-09,-.1496E-11,-.3771E-13, .1827E-15, 2 .5772E-07, .6428E-09, .8844E-11,-.8340E-13,-.1589E-14, 2 .7356E-07, .5488E-09, .7944E-11,-.4340E-13,-.2486E-15, 2 .1247E-06, .7840E-09,-.6232E-11,-.6144E-13, .2092E-14, 2 .1674E-06, .1256E-08, .2241E-10,-.1350E-12,-.3142E-14, 2 .2637E-06, .8356E-09,-.4084E-10,-.1284E-12, .7640E-14, 2 .2975E-06, .9760E-09,-.6176E-10,-.1859E-12, .1374E-13, 2 .3092E-06, .3456E-08, .6784E-10,-.3132E-12,-.9412E-14, 2 .5828E-06, .5524E-08,-.2897E-10,-.1702E-12, .3144E-14 / C COMMON /BANDS2GH/ GWGH(4), CS2H2OGH(5,28), CS2O2GH(5,28,3) DATA GWGH / 4.57116, 3.93806, .30706, .08728 / DATA (( CS2H2OGH(K,J), K = 1, 5), J = 1, 28) / 5 .3219E+02,-.7035E-02, .5768E-04,-.4975E-06, .1310E-08, 5 .3219E+02,-.7034E-02, .5773E-04,-.4981E-06, .1309E-08, 5 .3219E+02,-.7032E-02, .5766E-04,-.4985E-06, .1322E-08, 5 .3219E+02,-.7032E-02, .5774E-04,-.4980E-06, .1303E-08, 5 .3219E+02,-.7031E-02, .5766E-04,-.4979E-06, .1316E-08, 5 .3219E+02,-.7027E-02, .5775E-04,-.4980E-06, .1298E-08, 5 .3219E+02,-.7021E-02, .5762E-04,-.4975E-06, .1306E-08, 5 .3219E+02,-.7007E-02, .5760E-04,-.4964E-06, .1288E-08, 5 .3219E+02,-.6979E-02, .5745E-04,-.4947E-06, .1269E-08, 5 .3217E+02,-.6926E-02, .5686E-04,-.4910E-06, .1287E-08, 5 .3212E+02,-.6725E-02, .5586E-04,-.4840E-06, .1227E-08, 5 .3208E+02,-.6588E-02, .5516E-04,-.4807E-06, .1221E-08, 5 .3203E+02,-.6416E-02, .5448E-04,-.4763E-06, .1202E-08, 5 .3195E+02,-.6215E-02, .5359E-04,-.4679E-06, .1130E-08, 5 .3184E+02,-.5987E-02, .5169E-04,-.4484E-06, .1101E-08, 5 .3169E+02,-.5687E-02, .4792E-04,-.4268E-06, .1274E-08, 5 .3148E+02,-.5341E-02, .4536E-04,-.3987E-06, .1130E-08, 5 .3120E+02,-.5072E-02, .4504E-04,-.3405E-06, .4385E-09, 5 .3082E+02,-.4734E-02, .4023E-04,-.2752E-06, .1470E-09, 5 .3033E+02,-.4165E-02, .3385E-04,-.2314E-06, .1184E-10, 5 .2969E+02,-.3520E-02, .2718E-04,-.1814E-06,-.1465E-09, 5 .2890E+02,-.2987E-02, .2116E-04,-.1337E-06,-.2584E-10, 5 .2789E+02,-.2448E-02, .1409E-04,-.1685E-06, .8043E-09, 5 .2669E+02,-.2465E-02, .1763E-04,-.1577E-06, .1860E-09, 5 .2530E+02,-.2808E-02, .1733E-04,-.1291E-06, .1692E-09, 5 .2372E+02,-.3219E-02, .2400E-04,-.1230E-06,-.6400E-09, 5 .2201E+02,-.3839E-02, .2112E-04,-.9221E-07,-.9607E-11, 5 .2020E+02,-.4393E-02, .2570E-04,-.1237E-06,-.6172E-09 / DATA ((( CS2O2GH(K,J,I), K = 1, 5), J = 1, 28), I = 1, 3) / 6 .2534E-03, .2682E-05, .6224E-08, .9713E-11, .3900E-12, 6 .2534E-03, .2682E-05, .6225E-08, .9713E-11, .3899E-12, 6 .2534E-03, .2682E-05, .6227E-08, .9713E-11, .3898E-12, 6 .2536E-03, .2681E-05, .6232E-08, .9734E-11, .3892E-12, 6 .2539E-03, .2681E-05, .6245E-08, .9778E-11, .3876E-12, 6 .2546E-03, .2678E-05, .6251E-08, .9778E-11, .3886E-12, 6 .2560E-03, .2675E-05, .6262E-08, .9698E-11, .3902E-12, 6 .2588E-03, .2668E-05, .6284E-08, .9540E-11, .3935E-12, 6 .2646E-03, .2652E-05, .6311E-08, .9317E-11, .4035E-12, 6 .2763E-03, .2620E-05, .6450E-08, .9634E-11, .4072E-12, 6 .3205E-03, .2486E-05, .7034E-08, .1581E-10, .3879E-12, 6 .3532E-03, .2375E-05, .7308E-08, .2418E-10, .3959E-12, 6 .4002E-03, .2213E-05, .7531E-08, .4023E-10, .4261E-12, 6 .4674E-03, .2023E-05, .8093E-08, .6237E-10, .3657E-12, 6 .5594E-03, .1903E-05, .1140E-07, .7081E-10,-.1552E-12, 6 .6864E-03, .1912E-05, .1392E-07, .6452E-10,-.3394E-12, 6 .8669E-03, .2013E-05, .1536E-07, .5262E-10,-.3039E-12, 6 .1127E-02, .2129E-05, .1106E-07, .4940E-10, .6748E-12, 6 .1499E-02, .2219E-05, .5355E-08, .4513E-10, .1711E-11, 6 .2025E-02, .2429E-05, .1135E-07, .1094E-10, .3164E-12, 6 .2778E-02, .2537E-05, .1981E-07, .1433E-11,-.1488E-11, 6 .3846E-02, .1850E-05, .2369E-07, .1651E-09,-.2853E-11, 6 .5333E-02, .1444E-05, .1251E-07, .2508E-09,-.1932E-11, 6 .7351E-02, .8431E-06,-.7258E-08, .2651E-09, .7819E-12, 6 .1003E-01, .9900E-06,-.3748E-07, .3186E-10, .6088E-11, 6 .1343E-01, .1380E-05, .8575E-08,-.3203E-09, .2250E-12, 6 .1773E-01,-.1315E-05, .1153E-07,-.5970E-10, .6931E-12, 6 .2259E-01,-.4343E-05, .5704E-07, .2123E-09,-.8021E-11, 7 .1446E+00, .1154E-02, .4288E-06,-.7609E-08,-.4095E-10, 7 .1446E+00, .1154E-02, .4288E-06,-.7611E-08,-.4094E-10, 7 .1446E+00, .1154E-02, .4285E-06,-.7605E-08,-.4087E-10, 7 .1447E+00, .1154E-02, .4282E-06,-.7603E-08,-.4080E-10, 7 .1447E+00, .1154E-02, .4284E-06,-.7602E-08,-.4082E-10, 7 .1447E+00, .1154E-02, .4288E-06,-.7606E-08,-.4093E-10, 7 .1447E+00, .1154E-02, .4293E-06,-.7600E-08,-.4099E-10, 7 .1448E+00, .1154E-02, .4310E-06,-.7597E-08,-.4125E-10, 7 .1449E+00, .1153E-02, .4327E-06,-.7587E-08,-.4145E-10, 7 .1451E+00, .1152E-02, .4374E-06,-.7583E-08,-.4212E-10, 7 .1459E+00, .1149E-02, .4512E-06,-.7645E-08,-.4352E-10, 7 .1464E+00, .1148E-02, .4639E-06,-.7753E-08,-.4495E-10, 7 .1473E+00, .1144E-02, .4855E-06,-.7968E-08,-.4735E-10, 7 .1487E+00, .1138E-02, .5143E-06,-.8306E-08,-.4982E-10, 7 .1507E+00, .1129E-02, .5171E-06,-.8427E-08,-.4663E-10, 7 .1539E+00, .1109E-02, .5067E-06,-.7951E-08,-.4063E-10, 7 .1588E+00, .1078E-02, .5143E-06,-.7148E-08,-.3427E-10, 7 .1658E+00, .1035E-02, .6376E-06,-.6602E-08,-.4582E-10, 7 .1760E+00, .9738E-03, .8113E-06,-.5868E-08,-.5717E-10, 7 .1906E+00, .8877E-03, .8450E-06,-.5023E-08,-.3616E-10, 7 .2109E+00, .7691E-03, .9423E-06,-.1783E-08,-.5308E-10, 7 .2376E+00, .6315E-03, .1032E-05, .3848E-10,-.8310E-10, 7 .2707E+00, .5010E-03, .1865E-06,-.5449E-08, .4747E-10, 7 .3057E+00, .3436E-03, .5605E-06,-.3812E-08,-.3625E-10, 7 .3370E+00, .1751E-03, .1381E-05, .7458E-08,-.2713E-09, 7 .3559E+00, .1121E-03,-.9225E-06, .2911E-08, .9792E-10, 7 .3505E+00, .1067E-03, .4705E-06,-.5564E-08,-.1082E-09, 7 .3253E+00, .8664E-04,-.8188E-06,-.3145E-08, .1218E-09, 8 .3026E+01,-.5643E-02, .4530E-05, .1589E-08, .9835E-10, 8 .3026E+01,-.5643E-02, .4537E-05, .1583E-08, .9716E-10, 8 .3026E+01,-.5642E-02, .4538E-05, .1545E-08, .9709E-10, 8 .3026E+01,-.5642E-02, .4539E-05, .1520E-08, .9684E-10, 8 .3026E+01,-.5642E-02, .4537E-05, .1589E-08, .9710E-10, 8 .3025E+01,-.5642E-02, .4520E-05, .1585E-08, .9949E-10, 8 .3025E+01,-.5641E-02, .4533E-05, .1574E-08, .9609E-10, 8 .3025E+01,-.5639E-02, .4505E-05, .1615E-08, .1000E-09, 8 .3024E+01,-.5635E-02, .4492E-05, .1654E-08, .9907E-10, 8 .3022E+01,-.5626E-02, .4456E-05, .1708E-08, .9894E-10, 8 .3015E+01,-.5595E-02, .4286E-05, .1900E-08, .1066E-09, 8 .3010E+01,-.5573E-02, .4169E-05, .2084E-08, .1109E-09, 8 .3003E+01,-.5539E-02, .3995E-05, .2221E-08, .1165E-09, 8 .2991E+01,-.5490E-02, .3741E-05, .2785E-08, .1268E-09, 8 .2975E+01,-.5418E-02, .3364E-05, .3507E-08, .1439E-09, 8 .2951E+01,-.5306E-02, .2991E-05, .3147E-08, .1315E-09, 8 .2916E+01,-.5141E-02, .2528E-05, .2387E-08, .1005E-09, 8 .2865E+01,-.4907E-02, .1848E-05, .2590E-08, .7710E-10, 8 .2792E+01,-.4578E-02, .9081E-06, .2893E-08, .4496E-10, 8 .2689E+01,-.4127E-02,-.4217E-06, .5231E-08, .4274E-10, 8 .2546E+01,-.3517E-02,-.2308E-05,-.2749E-08, .2130E-09, 8 .2355E+01,-.2767E-02,-.3932E-05,-.1626E-07, .4084E-09, 8 .2111E+01,-.2072E-02,-.8738E-06, .2197E-08,-.1550E-09, 8 .1827E+01,-.1303E-02,-.1590E-05,-.4515E-08,-.1066E-10, 8 .1518E+01,-.6041E-03,-.2937E-05,-.3415E-07, .5588E-09, 8 .1211E+01,-.3898E-03, .3294E-05, .4595E-08,-.5044E-09, 8 .9397E+00,-.2416E-03,-.2158E-05, .2068E-07, .2944E-09, 8 .6996E+00,-.4103E-04, .3979E-06,-.6163E-08,-.5776E-10 / C C----------------------------------------------------------------------C C SPECTRAL REGION: 4200-8400 CM^-1. GAS: H2O, CO2 C C----------------------------------------------------------------------C C COMMON /BANDS3/ GWS3(6), CS3H2O(5,18,6), CS3CO2(5,18,6), 1 CS3CH4(5,18,2) DATA GWS3 / 126.08439, 41.86427, 28.31155, 22.53174, 15.24951, 1 4.65647 / DATA ((( CS3H2O(K,J,I), K = 1, 5), J = 1, 18), I = 1, 3) / 1 .5243E-05, .3937E-07, .6392E-10,-.7654E-13,-.1331E-14, 1 .7756E-05, .5803E-07, .7734E-10,-.6975E-13, .8095E-15, 1 .1147E-04, .8604E-07, .1175E-09,-.1330E-12,-.6863E-16, 1 .1691E-04, .1277E-06, .1985E-09,-.2722E-12,-.4618E-14, 1 .2499E-04, .1892E-06, .2877E-09,-.4275E-12,-.5520E-14, 1 .3690E-04, .2811E-06, .4177E-09,-.9578E-12,-.7466E-14, 1 .5447E-04, .4168E-06, .5869E-09,-.1550E-11,-.2811E-14, 1 .8039E-04, .6156E-06, .8308E-09,-.1998E-11, .2946E-14, 1 .1186E-03, .9149E-06, .1332E-08,-.4103E-11,-.1431E-13, 1 .1748E-03, .1355E-05, .2219E-08,-.7211E-11,-.6379E-13, 1 .2566E-03, .2002E-05, .3330E-08,-.1153E-10,-.8348E-13, 1 .3752E-03, .2913E-05, .4650E-08,-.1277E-10,-.5410E-13, 1 .5445E-03, .4232E-05, .7270E-08,-.2068E-10,-.1893E-12, 1 .7817E-03, .6098E-05, .1068E-07,-.2949E-10,-.2664E-12, 1 .1107E-02, .8662E-05, .1559E-07,-.3382E-10,-.2637E-12, 1 .1548E-02, .1207E-04, .2050E-07,-.4091E-10,-.8716E-13, 1 .2119E-02, .1640E-04, .2884E-07,-.3157E-10,-.2281E-12, 1 .2836E-02, .2195E-04, .3520E-07,-.6713E-10, .2683E-12, 2 .3170E-03, .2578E-05, .2844E-08,-.2714E-10, .2976E-13, 2 .4557E-03, .3688E-05, .4038E-08,-.3660E-10, .9022E-13, 2 .6542E-03, .5284E-05, .6977E-08,-.5251E-10,-.4629E-13, 2 .9362E-03, .7518E-05, .1126E-07,-.6840E-10,-.1460E-12, 2 .1339E-02, .1069E-04, .1826E-07,-.9363E-10,-.3904E-12, 2 .1912E-02, .1510E-04, .3010E-07,-.1283E-09,-.1136E-11, 2 .2729E-02, .2113E-04, .4543E-07,-.1308E-09,-.1698E-11, 2 .3902E-02, .2947E-04, .6188E-07,-.1093E-09,-.1660E-11, 2 .5571E-02, .4130E-04, .9479E-07,-.1062E-09,-.3316E-11, 2 .7949E-02, .5766E-04, .1278E-06,-.1065E-09,-.3532E-11, 2 .1131E-01, .8021E-04, .1722E-06,-.3606E-10,-.3278E-11, 2 .1603E-01, .1108E-03, .2378E-06, .5192E-10,-.5949E-11, 2 .2257E-01, .1525E-03, .3034E-06, .1086E-09,-.6218E-11, 2 .3145E-01, .2093E-03, .3541E-06, .1289E-09, .1560E-11, 2 .4310E-01, .2838E-03, .5302E-06, .2381E-09,-.3963E-11, 2 .5820E-01, .3758E-03, .6697E-06, .4019E-09,-.4028E-11, 2 .7692E-01, .4853E-03, .8518E-06, .1027E-08,-.1271E-10, 2 .9924E-01, .6198E-03, .8679E-06,-.2819E-09, .1600E-10, 3 .4048E-02, .2608E-04, .1568E-07,-.2063E-09,-.1770E-11, 3 .5686E-02, .3555E-04, .1363E-07,-.2302E-09,-.1056E-11, 3 .7993E-02, .4877E-04, .2005E-07,-.3327E-09,-.2128E-11, 3 .1125E-01, .6660E-04, .1436E-07,-.3712E-09,-.6695E-12, 3 .1588E-01, .9130E-04,-.7789E-08,-.4876E-09, .3794E-11, 3 .2240E-01, .1251E-03,-.2941E-08,-.6350E-09, .3433E-11, 3 .3168E-01, .1712E-03,-.1668E-07,-.6789E-09, .6265E-11, 3 .4495E-01, .2362E-03,-.3829E-07,-.1035E-08, .7544E-11, 3 .6387E-01, .3275E-03,-.1625E-07,-.1633E-08,-.1103E-11, 3 .9082E-01, .4517E-03,-.4195E-07,-.1946E-08,-.5407E-11, 3 .1289E+00, .6238E-03,-.2491E-06,-.2302E-08, .2520E-10, 3 .1822E+00, .8568E-03,-.1757E-06,-.1819E-08,-.1196E-12, 3 .2566E+00, .1170E-02,-.7726E-07,-.2840E-10,-.6146E-10, 3 .3592E+00, .1603E-02,-.7184E-06, .7504E-09,-.1300E-10, 3 .4970E+00, .2192E-02,-.7953E-06, .1548E-08,-.8341E-10, 3 .6774E+00, .2957E-02,-.1090E-05, .3594E-08,-.1495E-09, 3 .9085E+00, .3914E-02,-.3384E-05, .1239E-07, .2922E-10, 3 .1195E+01, .5226E-02,-.7062E-05, .2829E-08, .3743E-09 / DATA ((( CS3H2O(K,J,I), K = 1, 5), J = 1, 18), I = 4, 6) / 4 .2654E-01, .1791E-03, .5150E-06, .3716E-09,-.6728E-11, 4 .3574E-01, .2209E-03, .5579E-06, .1210E-09,-.1067E-10, 4 .4848E-01, .2743E-03, .6127E-06, .9519E-10,-.1489E-10, 4 .6618E-01, .3410E-03, .6880E-06, .4258E-09,-.2173E-10, 4 .9106E-01, .4297E-03, .6362E-06, .3044E-09,-.8938E-11, 4 .1258E+00, .5429E-03, .5158E-06, .6320E-09, .2041E-10, 4 .1748E+00, .6866E-03, .4770E-06, .1558E-08, .2773E-10, 4 .2439E+00, .8774E-03, .5859E-06, .2075E-08, .2138E-11, 4 .3417E+00, .1140E-02, .1162E-05, .5718E-09,-.1289E-09, 4 .4813E+00, .1474E-02, .4319E-06, .1747E-08,-.3889E-10, 4 .6775E+00, .1915E-02, .1935E-06, .3808E-08,-.5681E-10, 4 .9536E+00, .2473E-02,-.8389E-06, .9849E-08, .8561E-11, 4 .1337E+01, .3202E-02,-.2386E-05, .1403E-07, .1709E-10, 4 .1858E+01, .4109E-02,-.4965E-05, .2996E-07, .1398E-09, 4 .2557E+01, .5331E-02,-.7711E-05, .4100E-07, .9088E-10, 4 .3477E+01, .6888E-02,-.1284E-04, .3892E-07, .3316E-09, 4 .4669E+01, .8815E-02,-.1822E-04, .3060E-07, .2788E-09, 4 .6170E+01, .1123E-01,-.2198E-04, .3073E-07,-.5434E-09, 5 .4596E+00, .4624E-02, .2257E-04, .2845E-07,-.3622E-09, 5 .5488E+00, .4860E-02, .2003E-04, .3360E-07,-.3368E-10, 5 .6664E+00, .5206E-02, .1995E-04, .3132E-07,-.1326E-09, 5 .8255E+00, .5611E-02, .1856E-04, .2927E-07,-.4059E-10, 5 .1040E+01, .6175E-02, .1834E-04, .1304E-07,-.1583E-09, 5 .1330E+01, .6802E-02, .1795E-04, .8607E-08,-.2169E-09, 5 .1728E+01, .7468E-02, .1507E-04, .2537E-07, .2628E-09, 5 .2270E+01, .8344E-02, .1880E-04, .2439E-07,-.5943E-09, 5 .3020E+01, .9317E-02, .2190E-04, .2841E-07,-.1494E-08, 5 .4049E+01, .1023E-01, .1697E-04, .7381E-07,-.1003E-08, 5 .5451E+01, .1143E-01, .8803E-05, .9451E-07,-.3631E-09, 5 .7344E+01, .1282E-01,-.8213E-06, .1144E-06,-.9634E-10, 5 .9836E+01, .1453E-01,-.1769E-04, .1035E-06, .1590E-08, 5 .1305E+02, .1635E-01,-.3205E-04, .1156E-06, .2456E-08, 5 .1707E+02, .1775E-01,-.1976E-04, .1495E-06,-.1671E-08, 5 .2195E+02, .1731E-01,-.2906E-04, .3484E-06,-.2427E-08, 5 .2761E+02, .1700E-01,-.6037E-04, .3231E-06, .5769E-09, 5 .3391E+02, .1467E-01,-.3589E-04, .4394E-06,-.6147E-08, 6 .2445E+02, .2122E+00, .4472E-03,-.1094E-05,-.1414E-07, 6 .2537E+02, .2084E+00, .4022E-03,-.9312E-06,-.6623E-08, 6 .2666E+02, .2046E+00, .4210E-03,-.8415E-06,-.1126E-07, 6 .2854E+02, .1985E+00, .3881E-03,-.3549E-06,-.1044E-07, 6 .3121E+02, .1954E+00, .2828E-03,-.8356E-06, .9093E-09, 6 .3480E+02, .1925E+00, .2948E-03,-.1152E-05,-.8685E-08, 6 .3976E+02, .1839E+00, .1594E-03,-.4909E-06, .7086E-08, 6 .4625E+02, .1761E+00, .1330E-03,-.2552E-06, .2167E-08, 6 .5486E+02, .1651E+00, .2576E-03, .1713E-06,-.3532E-07, 6 .6619E+02, .1522E+00, .3718E-04, .4508E-06,-.9015E-08, 6 .8028E+02, .1386E+00,-.3606E-04, .5855E-06,-.8296E-08, 6 .9724E+02, .1263E+00,-.7633E-04, .2208E-06,-.1605E-07, 6 .1169E+03, .1075E+00,-.1033E-03, .1081E-05,-.2280E-07, 6 .1385E+03, .8503E-01,-.3415E-03, .2483E-05, .1085E-07, 6 .1611E+03, .7763E-01,-.2098E-03, .4268E-06,-.2197E-07, 6 .1840E+03, .6100E-01,-.4282E-03, .4791E-06, .4600E-08, 6 .2041E+03, .3765E-01,-.2582E-03, .9662E-06,-.2339E-07, 6 .2196E+03, .9987E-02,-.5177E-03, .1695E-05, .1555E-07 / DATA ((( CS3CO2(K,J,I), K = 1, 5), J = 1, 18), I = 1, 3) / 1 .1589E-03, .1640E-05, .7753E-08, .1582E-10, .1076E-12, 1 .1969E-03, .1903E-05, .1209E-07, .7832E-11,-.5050E-12, 1 .2501E-03, .2122E-05, .1181E-07, .1903E-10,-.1864E-12, 1 .3257E-03, .2451E-05, .1067E-07, .2329E-10, .2129E-12, 1 .4251E-03, .2872E-05, .1272E-07, .2731E-10,-.1337E-13, 1 .5639E-03, .3319E-05, .1416E-07, .5936E-10, .4578E-13, 1 .7565E-03, .4035E-05, .1631E-07, .5563E-10,-.3285E-12, 1 .1015E-02, .5052E-05, .2185E-07, .2752E-10,-.1078E-11, 1 .1378E-02, .6082E-05, .1394E-07, .6454E-10, .3970E-12, 1 .1878E-02, .7785E-05,-.2238E-08, .7919E-10, .3187E-11, 1 .2537E-02, .9750E-05,-.3206E-08, .1284E-09, .3600E-11, 1 .3385E-02, .1406E-04, .1926E-07,-.1047E-09, .5494E-12, 1 .4507E-02, .1806E-04, .1531E-07,-.1278E-09, .3997E-11, 1 .5905E-02, .2093E-04, .3526E-07, .3254E-10, .2282E-11, 1 .7671E-02, .2429E-04, .2548E-07, .1388E-09, .2323E-11, 1 .9702E-02, .3106E-04, .5056E-07, .7348E-10, .1621E-11, 1 .1215E-01, .3862E-04, .5259E-07,-.5148E-09, .9232E-11, 1 .1469E-01, .3781E-04, .2454E-06, .2456E-09,-.1958E-10, 2 .2105E-03, .2288E-05, .1443E-07, .7527E-11,-.5328E-12, 2 .2738E-03, .2583E-05, .6724E-08, .1626E-10, .8559E-12, 2 .3541E-03, .3170E-05, .9352E-08, .3302E-11, .4627E-12, 2 .4545E-03, .3917E-05, .2305E-07,-.3317E-10,-.2136E-11, 2 .6052E-03, .4615E-05, .2623E-07, .7403E-11,-.2319E-11, 2 .8088E-03, .5913E-05, .2950E-07,-.4464E-10,-.2728E-11, 2 .1097E-02, .7378E-05, .1852E-07,-.3892E-10, .1180E-12, 2 .1485E-02, .9226E-05, .1140E-07,-.1022E-10, .2273E-11, 2 .2006E-02, .1190E-04, .9485E-08,-.1098E-09, .4375E-11, 2 .2678E-02, .1500E-04, .6989E-07,-.1169E-09,-.3755E-11, 2 .3659E-02, .2072E-04, .1151E-06,-.5751E-09,-.1163E-10, 2 .4912E-02, .2360E-04, .7839E-07,-.2371E-09, .1976E-12, 2 .6481E-02, .2805E-04, .9920E-07,-.2629E-09,-.3809E-11, 2 .8480E-02, .3527E-04, .1910E-06,-.4034E-09,-.2034E-10, 2 .1086E-01, .4484E-04, .2655E-06,-.6404E-09,-.3327E-10, 2 .1411E-01, .5367E-04, .4105E-07,-.1058E-08,-.1568E-12, 2 .1767E-01, .5685E-04, .2495E-07, .1098E-09,-.6352E-11, 2 .2177E-01, .5640E-04,-.1901E-06, .2717E-08,-.4546E-11, 3 .1595E-03, .1355E-05,-.1727E-09, .1354E-10, .8839E-12, 3 .2014E-03, .1621E-05, .2632E-08, .9287E-11, .5670E-12, 3 .2616E-03, .1946E-05, .4025E-08,-.1691E-11, .3135E-12, 3 .3473E-03, .2449E-05, .8980E-09,-.1605E-10, .1302E-11, 3 .4594E-03, .2941E-05, .8607E-08, .2806E-11, .4789E-12, 3 .6270E-03, .3602E-05, .5125E-08,-.1165E-10, .1216E-11, 3 .8471E-03, .4769E-05, .1624E-07,-.9563E-10,-.7373E-12, 3 .1191E-02, .5463E-05, .4851E-08,-.2268E-10, .1258E-11, 3 .1662E-02, .6062E-05, .5503E-08, .1767E-09, .2756E-12, 3 .2283E-02, .7847E-05, .2112E-07, .8182E-10,-.2619E-11, 3 .3137E-02, .1043E-04, .1308E-07, .7045E-10,-.2083E-12, 3 .4390E-02, .1149E-04, .3458E-07, .2232E-09,-.9584E-11, 3 .5971E-02, .1299E-04, .3109E-07, .6560E-09,-.1032E-10, 3 .8066E-02, .2216E-04,-.5196E-07, .1403E-09,-.3315E-12, 3 .1084E-01, .3230E-04,-.2381E-06, .2725E-09, .3041E-10, 3 .1452E-01, .4945E-04,-.1681E-06,-.3496E-09, .6259E-11, 3 .1870E-01, .7177E-04, .1857E-06,-.9727E-10,-.6312E-10, 3 .2420E-01, .1144E-03,-.3591E-06,-.3906E-08, .4705E-10 / DATA ((( CS3CO2(K,J,I), K = 1, 5), J = 1, 18), I = 4, 6) / 4 .1149E-03, .1470E-05, .1180E-07,-.4522E-11,-.9234E-12, 4 .1449E-03, .1609E-05, .9413E-08, .1111E-10,-.4038E-12, 4 .1875E-03, .1964E-05, .1098E-07,-.1928E-10,-.8581E-12, 4 .2418E-03, .2192E-05, .7245E-08, .5254E-10, .3422E-12, 4 .3185E-03, .2861E-05,-.2634E-08,-.8221E-11, .2076E-11, 4 .4013E-03, .3605E-05, .1092E-07,-.3672E-10,-.9761E-13, 4 .5047E-03, .3985E-05, .2437E-07, .3069E-10,-.1265E-11, 4 .6761E-03, .4702E-05, .4147E-07, .6096E-10,-.4863E-11, 4 .9043E-03, .6012E-05, .6513E-07, .4235E-10,-.7505E-11, 4 .1261E-02, .7848E-05, .6756E-07,-.6823E-10,-.8912E-11, 4 .1735E-02, .9775E-05, .2034E-07, .1155E-09, .1017E-11, 4 .2333E-02, .1269E-04, .2980E-07, .1681E-09, .1106E-11, 4 .3137E-02, .1708E-04, .8946E-07, .1505E-09,-.1089E-10, 4 .4193E-02, .2075E-04,-.1380E-06, .1071E-09, .3090E-10, 4 .5201E-02, .2904E-04, .1113E-07, .8138E-10, .1346E-10, 4 .6600E-02, .3531E-04, .9985E-07, .4916E-09, .9948E-12, 4 .8448E-02, .4800E-04,-.9133E-07, .4154E-09, .4552E-10, 4 .1013E-01, .6543E-04,-.8460E-07,-.1921E-08, .6441E-10, 5 .1043E-03, .1342E-05, .9444E-08, .4421E-10, .1312E-12, 5 .1341E-03, .1523E-05, .7051E-08, .3751E-10, .3297E-12, 5 .1711E-03, .1823E-05, .3842E-08, .1601E-10, .7611E-12, 5 .2039E-03, .2098E-05, .1038E-07, .1185E-10,-.6357E-13, 5 .2586E-03, .2693E-05, .1116E-07,-.2386E-10, .8329E-13, 5 .3329E-03, .2991E-05, .5140E-08, .9912E-11, .1518E-11, 5 .4322E-03, .3438E-05, .1227E-07, .3771E-10,-.1171E-12, 5 .5531E-03, .4045E-05, .9454E-09, .1085E-09, .3629E-11, 5 .7282E-03, .7010E-05, .4254E-07,-.2314E-09,-.3931E-11, 5 .1028E-02, .9036E-05,-.1828E-08,-.2506E-09, .4968E-11, 5 .1299E-02, .1069E-04, .2735E-07,-.1173E-09, .3509E-11, 5 .1669E-02, .1086E-04, .8583E-07, .4590E-09,-.7201E-12, 5 .2288E-02, .1309E-04, .2544E-07, .2997E-09, .6622E-11, 5 .2989E-02, .1832E-04, .1007E-06, .4619E-09,-.4546E-11, 5 .3685E-02, .2291E-04, .1443E-06, .7279E-09,-.5163E-11, 5 .4473E-02, .2992E-04, .1805E-07, .5183E-09, .2606E-10, 5 .5317E-02, .3785E-04, .1469E-06,-.8436E-09,-.5855E-11, 5 .5640E-02, .4414E-04, .4487E-06,-.1092E-08,-.3665E-10, 6 .1271E-03, .2029E-05, .2419E-07,-.9357E-10,-.3749E-11, 6 .1657E-03, .1906E-05, .3026E-08, .6135E-11, .5054E-12, 6 .1977E-03, .2272E-05, .1052E-07, .6407E-10, .1615E-12, 6 .2538E-03, .2609E-05,-.1819E-08, .2386E-10, .1774E-11, 6 .3033E-03, .3206E-05, .1380E-07,-.3174E-10,-.7921E-12, 6 .3598E-03, .4512E-05, .3275E-07,-.1842E-09,-.3494E-11, 6 .4649E-03, .4377E-05,-.1060E-07, .9835E-10, .6697E-11, 6 .5968E-03, .4370E-05,-.3778E-07, .2550E-09, .1205E-10, 6 .7410E-03, .5270E-05, .1088E-07, .2263E-09, .2317E-11, 6 .9389E-03, .5604E-05, .3888E-07, .2878E-09,-.2994E-11, 6 .1198E-02, .9329E-05, .2683E-07,-.3494E-09,-.9746E-12, 6 .1567E-02, .1152E-04,-.7298E-07,-.5222E-09, .1277E-10, 6 .1821E-02, .1332E-04,-.1054E-06, .1829E-09, .2918E-10, 6 .2061E-02, .1207E-04,-.1083E-06, .6075E-09, .2954E-10, 6 .1968E-02, .1176E-04, .1794E-07, .7608E-09, .6172E-11, 6 .1665E-02, .2114E-04, .1158E-06,-.1138E-08,-.1305E-10, 6 .1355E-02, .1766E-04,-.7097E-07,-.3349E-09, .3554E-10, 6 .9925E-03, .1501E-04, .1896E-06,-.3547E-09,-.1132E-10 / DATA ((( CS3CH4(K,J,I), K = 1, 5), J = 1, 18), I = 1, 2) / 1 .4760E+01,-.7433E-02,-.8651E-04, .3592E-06, .1382E-07, 1 .4876E+01,-.8488E-02,-.1163E-03, .5120E-06, .1951E-07, 1 .5001E+01,-.8892E-02,-.1293E-03, .5431E-06, .2234E-07, 1 .5122E+01,-.9002E-02,-.1373E-03, .5421E-06, .2384E-07, 1 .5215E+01,-.9283E-02,-.1133E-03, .5733E-06, .2014E-07, 1 .5336E+01,-.9117E-02,-.1147E-03, .5152E-06, .2047E-07, 1 .5443E+01,-.1019E-01,-.1222E-03, .6970E-06, .2244E-07, 1 .5554E+01,-.9480E-02,-.1159E-03, .5438E-06, .2150E-07, 1 .5655E+01,-.9119E-02,-.1051E-03, .3740E-06, .1915E-07, 1 .5715E+01,-.9100E-02,-.4910E-04, .3550E-06, .9870E-08, 1 .5829E+01,-.9211E-02,-.2367E-04, .3476E-06, .5370E-08, 1 .5912E+01,-.9355E-02, .1798E-04, .3160E-06,-.1129E-08, 1 .6047E+01,-.1031E-01, .2895E-04, .4024E-06,-.2268E-08, 1 .6183E+01,-.1098E-01, .4426E-04, .4399E-06,-.4526E-08, 1 .6319E+01,-.1119E-01, .4734E-04, .4298E-06,-.5364E-08, 1 .6440E+01,-.1104E-01, .5316E-04, .2535E-06,-.4902E-08, 1 .6572E+01,-.1089E-01, .1532E-04, .1447E-06, .1752E-08, 1 .6705E+01,-.1126E-01, .3651E-05, .1196E-06, .3177E-08, 2 .2399E+01, .1297E-01, .1701E-03,-.7983E-06,-.3179E-07, 2 .2449E+01, .1640E-01, .2868E-03,-.1456E-05,-.5384E-07, 2 .2535E+01, .1706E-01, .3039E-03,-.1278E-05,-.5427E-07, 2 .2622E+01, .2030E-01, .4541E-03,-.1914E-05,-.8549E-07, 2 .2879E+01, .2022E-01, .3127E-03,-.1835E-05,-.6273E-07, 2 .2964E+01, .1708E-01, .4294E-03,-.1479E-05,-.8110E-07, 2 .3152E+01, .1857E-01, .4116E-03,-.1968E-05,-.7731E-07, 2 .3412E+01, .1507E-01, .3193E-03,-.1363E-05,-.6283E-07, 2 .3568E+01, .1307E-01, .3454E-03,-.7835E-06,-.6551E-07, 2 .3965E+01, .1210E-01, .1274E-03,-.6940E-06,-.3016E-07, 2 .4150E+01, .1289E-01, .4190E-04,-.1047E-05,-.1544E-07, 2 .4396E+01, .1023E-01,-.9786E-04,-.6204E-06, .7852E-08, 2 .4434E+01, .1174E-01,-.1028E-03,-.8347E-06, .7415E-08, 2 .4478E+01, .1244E-01,-.1047E-03,-.8041E-06, .6674E-08, 2 .4665E+01, .1052E-01,-.1911E-03,-.6572E-06, .2439E-07, 2 .4864E+01, .9705E-02,-.2284E-03,-.1546E-06, .2532E-07, 2 .4958E+01, .7855E-02,-.7171E-04, .1349E-06,-.1875E-08, 2 .5046E+01, .8271E-02,-.8230E-04, .7807E-07, .3644E-08 / C COMMON /BANDS3GH/ GWS3GH(4),CS3H2OGH(5,28,2),CS3CO2GH(5,28,4) DATA GWS3GH / 5.23113, 1.01931, 1.13661, .05827 / DATA ((( CS3H2OGH(K,J,I), K = 1, 5), J = 1, 28), I = 1, 2) / 7 .4090E-01, .6614E-03, .3852E-05,-.5346E-07,-.5943E-09, 7 .4155E-01, .6717E-03, .3917E-05,-.5408E-07,-.6069E-09, 7 .4221E-01, .6816E-03, .3987E-05,-.5455E-07,-.6221E-09, 7 .4228E-01, .6938E-03, .4479E-05,-.5088E-07,-.7647E-09, 7 .4289E-01, .7043E-03, .4681E-05,-.5141E-07,-.8060E-09, 7 .4379E-01, .7093E-03, .4503E-05,-.4840E-07,-.8074E-09, 7 .4383E-01, .6954E-03, .5037E-05,-.4743E-07,-.8966E-09, 7 .4450E-01, .7225E-03, .5526E-05,-.4968E-07,-.1017E-08, 7 .4430E-01, .7241E-03, .7883E-05,-.4343E-07,-.1410E-08, 7 .4405E-01, .7328E-03, .6082E-05,-.4128E-07,-.9625E-09, 7 .4844E-01, .4219E-03,-.3186E-05, .1756E-07, .7569E-09, 7 .4464E-01, .4431E-03, .3590E-05, .9537E-08,-.4138E-09, 7 .4615E-01, .3056E-03, .4806E-06, .2421E-07, .5553E-10, 7 .4596E-01, .4087E-03, .3229E-05,-.6091E-10,-.3594E-09, 7 .5066E-01, .2991E-03, .4483E-05, .4745E-07,-.4432E-09, 7 .6246E-01, .1451E-03, .8931E-06, .8218E-07, .1532E-09, 7 .7743E-01, .2978E-03, .3218E-05, .2540E-07,-.8262E-09, 7 .1141E+00, .1602E-03,-.1284E-04, .3373E-07, .1619E-08, 7 .1351E+00, .1439E-03,-.2873E-04, .4696E-07, .4679E-08, 7 .1248E+00, .6543E-03, .7262E-06,-.3586E-07,-.6705E-09, 7 .1465E+00, .8661E-03,-.2202E-05,-.3825E-07,-.6210E-09, 7 .1542E+00, .6856E-03,-.3397E-05, .6530E-07, .6882E-09, 7 .1665E+00, .9407E-03, .1863E-04, .7827E-08,-.3823E-08, 7 .1934E+00, .1811E-02, .2740E-04,-.1306E-06,-.5262E-08, 7 .1931E+00, .1152E-02, .9134E-05, .4371E-07,-.1913E-09, 7 .2062E+00, .1404E-02, .6415E-05, .7587E-08, .6793E-10, 7 .2071E+00, .1299E-02, .1244E-04,-.6210E-08,-.1224E-08, 7 .2052E+00, .1138E-02, .6010E-05, .3393E-07,-.1002E-09, 8 .2692E+04,-.3887E+00,-.6215E-02, .1309E-04,-.2819E-07, 8 .2692E+04,-.3886E+00,-.6211E-02, .1307E-04,-.2873E-07, 8 .2692E+04,-.3887E+00,-.6211E-02, .1309E-04,-.2874E-07, 8 .2692E+04,-.3887E+00,-.6214E-02, .1308E-04,-.2809E-07, 8 .2692E+04,-.3887E+00,-.6211E-02, .1308E-04,-.2851E-07, 8 .2692E+04,-.3887E+00,-.6216E-02, .1307E-04,-.2742E-07, 8 .2691E+04,-.3889E+00,-.6203E-02, .1308E-04,-.2917E-07, 8 .2691E+04,-.3889E+00,-.6188E-02, .1305E-04,-.3060E-07, 8 .2690E+04,-.3889E+00,-.6176E-02, .1275E-04,-.2704E-07, 8 .2688E+04,-.3890E+00,-.6135E-02, .1249E-04,-.2821E-07, 8 .2682E+04,-.3883E+00,-.5995E-02, .1111E-04,-.2476E-07, 8 .2678E+04,-.3894E+00,-.5865E-02, .9878E-05,-.2258E-07, 8 .2672E+04,-.3947E+00,-.5683E-02, .8088E-05,-.1310E-07, 8 .2663E+04,-.4096E+00,-.5369E-02, .5914E-05,-.3553E-08, 8 .2650E+04,-.4442E+00,-.4699E-02, .4560E-05,-.2833E-07, 8 .2632E+04,-.5039E+00,-.3942E-02, .3817E-05,-.4718E-07, 8 .2608E+04,-.5748E+00,-.2875E-02, .1508E-06,-.1044E-06, 8 .2575E+04,-.6519E+00,-.1817E-02,-.4788E-05,-.1221E-06, 8 .2530E+04,-.7391E+00,-.1314E-02,-.9487E-05,-.2249E-07, 8 .2466E+04,-.8336E+00,-.3735E-03,-.9715E-05,-.1955E-07, 8 .2381E+04,-.8993E+00, .3273E-03,-.1061E-04,-.2583E-08, 8 .2268E+04,-.9297E+00, .7265E-03,-.1119E-04, .2304E-07, 8 .2126E+04,-.9183E+00, .4952E-03,-.1307E-04, .1552E-06, 8 .1957E+04,-.9063E+00, .1787E-02,-.1557E-04,-.1646E-08, 8 .1766E+04,-.9301E+00, .1712E-02,-.1116E-04, .5805E-07, 8 .1553E+04,-.9041E+00, .2892E-02,-.1484E-04,-.3293E-07, 8 .1334E+04,-.8676E+00, .2671E-02,-.1604E-04, .6876E-07, 8 .1118E+04,-.7976E+00, .3832E-02,-.2184E-04,-.2388E-07 / DATA ((( CS3CO2GH(K,J,I), K = 1, 5), J = 1, 28), I = 1, 2) / 7 .5998E-01, .8788E-03, .4237E-05, .5526E-08, .2949E-11, 7 .5999E-01, .8788E-03, .4238E-05, .5521E-08, .2914E-11, 7 .6001E-01, .8787E-03, .4240E-05, .5506E-08, .2808E-11, 7 .6004E-01, .8784E-03, .4246E-05, .5475E-08, .2670E-11, 7 .6012E-01, .8774E-03, .4254E-05, .5466E-08, .2877E-11, 7 .6033E-01, .8754E-03, .4274E-05, .5455E-08, .1690E-11, 7 .6083E-01, .8711E-03, .4292E-05, .5532E-08, .1135E-11, 7 .6195E-01, .8635E-03, .4297E-05, .5841E-08,-.1452E-12, 7 .6428E-01, .8536E-03, .4284E-05, .6397E-08,-.6745E-11, 7 .6882E-01, .8496E-03, .4181E-05, .6368E-08,-.8115E-11, 7 .8333E-01, .8678E-03, .3891E-05, .5286E-08, .2289E-11, 7 .9233E-01, .8868E-03, .3900E-05, .4514E-08,-.9559E-11, 7 .1044E+00, .9098E-03, .3980E-05, .4466E-08,-.2903E-10, 7 .1205E+00, .9404E-03, .3859E-05, .4419E-08,-.4627E-13, 7 .1424E+00, .9859E-03, .3757E-05, .3067E-08, .1465E-10, 7 .1718E+00, .1050E-02, .3886E-05, .4607E-09,-.4396E-11, 7 .2115E+00, .1132E-02, .3780E-05,-.2982E-08, .3386E-10, 7 .2642E+00, .1188E-02, .3989E-05, .1327E-08, .2682E-10, 7 .3336E+00, .1260E-02, .4054E-05, .5781E-08, .7471E-10, 7 .4247E+00, .1381E-02, .4379E-05, .5213E-08, .6535E-10, 7 .5454E+00, .1566E-02, .4875E-05, .4952E-08,-.4397E-10, 7 .7041E+00, .1817E-02, .3137E-05,-.7538E-08, .2525E-09, 7 .8996E+00, .2033E-02, .3527E-05,-.2078E-07, .2541E-09, 7 .1133E+01, .2093E-02, .5075E-05,-.2984E-07, .2291E-09, 7 .1410E+01, .2002E-02, .7502E-05,-.5423E-07, .2280E-09, 7 .1745E+01, .1352E-02, .1268E-04,-.2288E-07,-.3499E-09, 7 .2142E+01, .4320E-03, .8474E-05, .9677E-08, .1738E-09, 7 .2599E+01,-.3257E-03, .5604E-05, .2597E-08, .2432E-09, 8 .4463E-03, .8307E-05,-.3433E-07, .2048E-10, .1430E-10, 8 .4475E-03, .8326E-05,-.3442E-07, .2052E-10, .1433E-10, 8 .4489E-03, .8346E-05,-.3451E-07, .2051E-10, .1436E-10, 8 .4508E-03, .8365E-05,-.3463E-07, .2044E-10, .1441E-10, 8 .4533E-03, .8385E-05,-.3476E-07, .2021E-10, .1445E-10, 8 .4575E-03, .8405E-05,-.3499E-07, .1980E-10, .1449E-10, 8 .4648E-03, .8424E-05,-.3534E-07, .1882E-10, .1456E-10, 8 .4787E-03, .8444E-05,-.3595E-07, .1675E-10, .1465E-10, 8 .5057E-03, .8794E-05,-.4191E-07,-.2605E-09, .1871E-10, 8 .5598E-03, .8807E-05,-.4430E-07,-.2722E-09, .1905E-10, 8 .7424E-03, .9005E-05,-.4082E-07,-.3493E-09, .1837E-10, 8 .8900E-03, .9003E-05,-.4636E-07,-.3769E-09, .1903E-10, 8 .1085E-02, .1098E-04,-.8920E-07,-.8430E-09, .2733E-10, 8 .1385E-02, .1061E-04,-.8457E-07,-.2774E-09, .1826E-10, 8 .1800E-02, .2210E-04,-.3587E-06,-.2764E-08, .6647E-10, 8 .1551E-02, .2254E-04, .2210E-06,-.1893E-08,-.3515E-10, 8 .1629E-02,-.1009E-04, .3580E-06, .3774E-08,-.7433E-10, 8 .1398E-02, .2994E-04, .9413E-07,-.4945E-08,-.3497E-10, 8 .8576E-03, .3710E-04, .1048E-05,-.6150E-08,-.1951E-09, 8 .1219E-02, .3918E-04, .1070E-05,-.6266E-08,-.1950E-09, 8 .1731E-02, .7905E-05, .1396E-06,-.1802E-09, .1317E-10, 8 .2246E-02, .6806E-05, .3558E-06, .2573E-08, .1007E-10, 8 .2169E-02, .2470E-04,-.4174E-06,-.3887E-08, .1279E-09, 8 .4884E-03,-.4568E-05,-.6944E-07, .3013E-08, .5515E-10, 8 .4664E-03,-.1944E-05, .1159E-06, .5154E-11,-.1063E-10, 8 .6480E-03,-.5752E-05, .1932E-07, .9659E-09, .1025E-10, 8 .7927E-03,-.4316E-05, .3472E-08, .2729E-09, .4591E-11, 8 .8797E-03,-.3889E-05, .1663E-07, .2916E-09, .1433E-11 / DATA ((( CS3CO2GH(K,J,I), K = 1, 5), J = 1, 28), I = 3, 4) / 9 .7072E+01, .4635E-01, .6986E-04,-.4740E-06,-.3617E-08, 9 .7072E+01, .4635E-01, .6986E-04,-.4740E-06,-.3617E-08, 9 .7072E+01, .4635E-01, .6986E-04,-.4740E-06,-.3617E-08, 9 .7072E+01, .4635E-01, .6988E-04,-.4740E-06,-.3619E-08, 9 .7073E+01, .4634E-01, .6989E-04,-.4740E-06,-.3619E-08, 9 .7075E+01, .4633E-01, .6990E-04,-.4740E-06,-.3615E-08, 9 .7079E+01, .4631E-01, .6997E-04,-.4744E-06,-.3616E-08, 9 .7086E+01, .4626E-01, .7017E-04,-.4760E-06,-.3608E-08, 9 .7102E+01, .4615E-01, .7057E-04,-.4788E-06,-.3561E-08, 9 .7136E+01, .4586E-01, .7177E-04,-.4800E-06,-.3523E-08, 9 .7278E+01, .4465E-01, .7563E-04,-.4760E-06,-.3449E-08, 9 .7391E+01, .4377E-01, .7696E-04,-.4662E-06,-.3351E-08, 9 .7564E+01, .4264E-01, .7453E-04,-.4606E-06,-.2675E-08, 9 .7825E+01, .4096E-01, .7118E-04,-.4239E-06,-.1980E-08, 9 .8214E+01, .3867E-01, .6192E-04,-.3572E-06,-.5044E-09, 9 .8766E+01, .3552E-01, .5864E-04,-.2787E-06,-.1857E-09, 9 .9541E+01, .3102E-01, .5137E-04,-.1241E-06, .9859E-09, 9 .1056E+02, .2573E-01, .5714E-04,-.5411E-07,-.3767E-09, 9 .1188E+02, .2028E-01, .3384E-04,-.1040E-06, .3031E-08, 9 .1348E+02, .1391E-01, .1193E-04,-.1586E-07, .3862E-08, 9 .1523E+02, .6412E-02, .1362E-04, .1643E-06, .8792E-09, 9 .1690E+02,-.1419E-04, .1943E-04, .1236E-06,-.2510E-09, 9 .1836E+02,-.5249E-02,-.2073E-04, .8310E-07, .4450E-08, 9 .1938E+02,-.9898E-02,-.2011E-04, .1999E-06, .2000E-08, 9 .1991E+02,-.1224E-01,-.3395E-04, .2242E-06, .2341E-08, 9 .1993E+02,-.1305E-01,-.5027E-04, .1425E-06, .3202E-08, 9 .1930E+02,-.1236E-01,-.5040E-04, .3909E-07, .2455E-08, 9 .1797E+02,-.1138E-01,-.4258E-04, .1719E-07, .1772E-08, a .5726E+03,-.8229E+00,-.2428E-02, .7345E-05, .1473E-06, a .5726E+03,-.8229E+00,-.2428E-02, .7351E-05, .1474E-06, a .5726E+03,-.8228E+00,-.2429E-02, .7345E-05, .1475E-06, a .5726E+03,-.8229E+00,-.2428E-02, .7365E-05, .1473E-06, a .5725E+03,-.8228E+00,-.2431E-02, .7372E-05, .1479E-06, a .5725E+03,-.8225E+00,-.2431E-02, .7362E-05, .1479E-06, a .5724E+03,-.8221E+00,-.2433E-02, .7368E-05, .1479E-06, a .5721E+03,-.8213E+00,-.2435E-02, .7407E-05, .1474E-06, a .5715E+03,-.8194E+00,-.2437E-02, .7411E-05, .1464E-06, a .5706E+03,-.8156E+00,-.2453E-02, .7463E-05, .1464E-06, a .5668E+03,-.8013E+00,-.2493E-02, .7561E-05, .1434E-06, a .5641E+03,-.7911E+00,-.2507E-02, .7457E-05, .1413E-06, a .5600E+03,-.7787E+00,-.2452E-02, .7399E-05, .1288E-06, a .5541E+03,-.7590E+00,-.2351E-02, .6716E-05, .1114E-06, a .5453E+03,-.7331E+00,-.2118E-02, .5597E-05, .7853E-07, a .5331E+03,-.6971E+00,-.2033E-02, .4291E-05, .7528E-07, a .5160E+03,-.6415E+00,-.1815E-02, .1410E-05, .4675E-07, a .4933E+03,-.5763E+00,-.1879E-02,-.1765E-06, .7367E-07, a .4634E+03,-.5152E+00,-.1351E-02, .6103E-06, .3226E-09, a .4254E+03,-.4422E+00,-.8841E-03,-.7826E-06,-.1778E-07, a .3806E+03,-.3482E+00,-.9576E-03,-.3944E-05, .4819E-07, a .3315E+03,-.2737E+00,-.1019E-02,-.1508E-05, .4752E-07, a .2801E+03,-.2108E+00,-.2805E-03, .7385E-06,-.5492E-07, a .2314E+03,-.1434E+00,-.4725E-03,-.9929E-06,-.3489E-08, a .1861E+03,-.1157E+00,-.4424E-03, .5096E-06,-.5047E-08, a .1439E+03,-.8308E-01,-.4975E-03, .2899E-06, .1378E-07, a .1073E+03,-.5905E-01,-.2466E-03, .3445E-06,-.8691E-08, a .7825E+02,-.4257E-01,-.3012E-03, .3435E-06, .1945E-07 / C C----------------------------------------------------------------------C C SPECTRAL REGION: 2500-4200 CM^-1. GAS: H2O, CO2, CH4 C C----------------------------------------------------------------------C C COMMON /BANDS4/ GWS4(4), CS4H2O(5,18,4), CS4CO2(5,18,4), 1 CS4CH4(5,18,2) DATA GWS4 / 9.28054, 10.50363, 7.63430, 5.99443 / DATA ((( CS4H2O(K,J,I), K = 1, 5), J = 1, 18), I = 1, 4) / 1 .5592E-04, .2577E-06,-.1287E-09, .2232E-11,-.7984E-15, 1 .8267E-04, .3817E-06,-.2327E-09, .3227E-11, .3594E-14, 1 .1222E-03, .5646E-06,-.3442E-09, .4849E-11, .3842E-14, 1 .1806E-03, .8374E-06,-.6381E-09, .6654E-11, .2161E-13, 1 .2667E-03, .1242E-05,-.1246E-08, .8999E-11, .8306E-13, 1 .3936E-03, .1851E-05,-.1463E-08, .1037E-10, .5800E-13, 1 .5805E-03, .2748E-05,-.2492E-08, .1169E-10, .1462E-12, 1 .8538E-03, .4054E-05,-.3264E-08, .1603E-10, .1681E-12, 1 .1253E-02, .5945E-05,-.5601E-08, .2541E-10, .4190E-12, 1 .1832E-02, .8736E-05,-.6827E-08, .3203E-10, .4118E-12, 1 .2664E-02, .1280E-04,-.5513E-08, .2484E-10,-.9931E-13, 1 .3845E-02, .1845E-04,-.6037E-08, .5975E-10,-.5198E-13, 1 .5488E-02, .2612E-04,-.2634E-08, .1229E-09,-.7183E-12, 1 .7735E-02, .3642E-04,-.7044E-08, .1836E-09,-.1534E-12, 1 .1074E-01, .5014E-04,-.1123E-07, .2327E-09, .2741E-12, 1 .1459E-01, .6760E-04,-.2248E-07, .2997E-09, .3149E-11, 1 .1939E-01, .8921E-04,-.1968E-07, .4573E-09, .5723E-11, 1 .2519E-01, .1164E-03, .6593E-08, .4594E-09, .6798E-11, 2 .1737E-02, .1381E-04, .2550E-07,-.9943E-10,-.9423E-13, 2 .2477E-02, .1942E-04, .3923E-07,-.1386E-09,-.6275E-12, 2 .3539E-02, .2735E-04, .5841E-07,-.2036E-09,-.1352E-11, 2 .5059E-02, .3855E-04, .8579E-07,-.2984E-09,-.2417E-11, 2 .7238E-02, .5414E-04, .1262E-06,-.3918E-09,-.3878E-11, 2 .1036E-01, .7529E-04, .1817E-06,-.3652E-09,-.5313E-11, 2 .1485E-01, .1047E-03, .2530E-06,-.2549E-09,-.5940E-11, 2 .2129E-01, .1464E-03, .3520E-06,-.1399E-09,-.7909E-11, 2 .3054E-01, .2048E-03, .4639E-06, .6434E-10,-.5954E-11, 2 .4373E-01, .2880E-03, .6325E-06,-.1731E-10,-.8920E-11, 2 .6239E-01, .4029E-03, .8870E-06,-.3573E-10,-.1919E-10, 2 .8854E-01, .5581E-03, .1099E-05, .5495E-09,-.7205E-11, 2 .1244E+00, .7685E-03, .1531E-05, .1430E-08,-.1672E-10, 2 .1734E+00, .1060E-02, .2138E-05, .2439E-08,-.2988E-10, 2 .2409E+00, .1459E-02, .2604E-05, .3538E-08,-.3703E-11, 2 .3316E+00, .1982E-02, .3492E-05, .6135E-08,-.4184E-10, 2 .4508E+00, .2678E-02, .4649E-05, .1041E-07,-.5296E-10, 2 .6073E+00, .3657E-02, .6078E-05, .6189E-08,-.2860E-10, 3 .3525E-01, .2661E-03, .5611E-06,-.1622E-08,-.6309E-11, 3 .4817E-01, .3453E-03, .7108E-06,-.1433E-08,-.7615E-11, 3 .6628E-01, .4523E-03, .9521E-06,-.1454E-08,-.2059E-10, 3 .9160E-01, .5952E-03, .1258E-05,-.1684E-08,-.4299E-10, 3 .1272E+00, .7837E-03, .1749E-05,-.2985E-09,-.7960E-10, 3 .1779E+00, .1034E-02, .1986E-05, .1948E-08,-.8430E-10, 3 .2496E+00, .1387E-02, .2600E-05, .3641E-08,-.1519E-09, 3 .3518E+00, .1866E-02, .3210E-05, .8245E-08,-.2363E-09, 3 .4966E+00, .2572E-02, .3548E-05, .1028E-07,-.2428E-09, 3 .7026E+00, .3614E-02, .3911E-05, .5702E-08,-.2776E-09, 3 .9942E+00, .5042E-02, .3764E-05, .7591E-08,-.2550E-09, 3 .1403E+01, .7044E-02, .1659E-05, .8579E-08, .1295E-09, 3 .1968E+01, .9904E-02,-.3554E-06,-.5085E-08, .4454E-09, 3 .2739E+01, .1383E-01, .4070E-06,-.1132E-07, .3275E-09, 3 .3776E+01, .1933E-01,-.2005E-05,-.4346E-07, .9674E-09, 3 .5120E+01, .2652E-01,-.2988E-05,-.1151E-06, .9606E-09, 3 .6760E+01, .3526E-01,-.1111E-04,-.2240E-06, .3458E-08, 3 .8610E+01, .4511E-01, .3661E-04,-.3240E-06,-.2824E-08, 4 .8116E+00, .5574E-02, .1987E-04, .3976E-07, .3601E-09, 4 .1051E+01, .6453E-02, .2090E-04, .2876E-07, .2784E-09, 4 .1381E+01, .7553E-02, .2324E-04, .1886E-07, .1448E-09, 4 .1833E+01, .8690E-02, .2617E-04, .5986E-07, .1783E-09, 4 .2466E+01, .1024E-01, .3010E-04, .1049E-06, .4209E-10, 4 .3368E+01, .1209E-01, .2591E-04, .1668E-06, .5946E-09, 4 .4609E+01, .1482E-01, .4553E-04, .1798E-06,-.2642E-08, 4 .6369E+01, .1790E-01, .4108E-04, .2408E-06,-.1678E-08, 4 .8861E+01, .2262E-01, .1943E-04, .2076E-06, .8241E-09, 4 .1233E+02, .2849E-01, .2379E-05, .2958E-06, .2152E-08, 4 .1709E+02, .3671E-01,-.1159E-04, .2052E-06, .2775E-08, 4 .2354E+02, .4598E-01,-.4624E-04, .3609E-06, .1024E-07, 4 .3217E+02, .5730E-01,-.1217E-03, .5018E-07, .1940E-07, 4 .4332E+02, .6699E-01,-.1205E-03, .3148E-06, .1618E-07, 4 .5727E+02, .8306E-01,-.6204E-04,-.2697E-06, .5528E-08, 4 .7448E+02, .9151E-01,-.2017E-03, .1814E-06, .2361E-07, 4 .9460E+02, .1120E+00,-.5514E-03,-.3244E-05, .9325E-07, 4 .1175E+03, .1392E+00, .3271E-03,-.5790E-05,-.2586E-07 / DATA ((( CS4CO2(K,J,I), K = 1, 5), J = 1, 18), I = 1, 4) / 1 .6261E-04, .5037E-06, .1374E-09, .1557E-10, .1901E-12, 1 .7797E-04, .6904E-06, .5510E-08,-.7219E-11,-.8136E-12, 1 .1001E-03, .7793E-06, .3577E-08,-.7829E-11,-.4701E-12, 1 .1293E-03, .9082E-06, .3395E-08, .6750E-11,-.7804E-13, 1 .1740E-03, .1221E-05, .9226E-08,-.1116E-10,-.1233E-11, 1 .2352E-03, .1396E-05,-.7048E-09,-.1618E-10, .3818E-12, 1 .2974E-03, .1528E-05, .1026E-07,-.3034E-12,-.1696E-11, 1 .3921E-03, .1359E-05,-.6074E-08,-.6263E-11,-.1457E-12, 1 .4343E-03, .1054E-06,-.3559E-08, .5859E-10, .1778E-12, 1 .4405E-03,-.2235E-06, .2737E-08, .3772E-10,-.1463E-12, 1 .4435E-03,-.2474E-07, .6131E-08,-.7681E-11,-.4213E-12, 1 .4494E-03, .1261E-06, .2010E-09,-.6716E-10, .9195E-12, 1 .4460E-03, .2448E-07, .9120E-08,-.7907E-10,-.6952E-12, 1 .4511E-03,-.2294E-06, .6211E-08,-.2296E-10,-.3098E-12, 1 .4536E-03,-.5014E-06, .9430E-08, .3714E-10,-.1378E-11, 1 .4462E-03,-.4800E-06, .1249E-07, .3812E-10,-.2149E-11, 1 .4365E-03,-.2881E-06, .8960E-08,-.1185E-10,-.1193E-11, 1 .4384E-03,-.8316E-07, .3455E-08,-.5502E-10,-.6247E-13, 2 .2530E-03, .3255E-05, .1424E-07, .4092E-10, .6495E-12, 2 .3372E-03, .4202E-05, .7776E-08,-.8892E-11, .1922E-11, 2 .4260E-03, .5392E-05, .3533E-07,-.3847E-10,-.2635E-11, 2 .5718E-03, .6611E-05, .3602E-07,-.2931E-10,-.2490E-11, 2 .7723E-03, .8938E-05, .3108E-07,-.1888E-09,-.1775E-11, 2 .1021E-02, .1150E-04, .3347E-07,-.1745E-09, .1515E-12, 2 .1377E-02, .1459E-04, .1789E-07,-.2407E-09, .4409E-11, 2 .1802E-02, .1775E-04, .1230E-07,-.8160E-10, .1156E-10, 2 .2325E-02, .2092E-04, .1196E-06,-.7975E-11,-.6533E-11, 2 .3096E-02, .2188E-04, .1242E-07, .4206E-09, .1353E-10, 2 .3963E-02, .2430E-04,-.5516E-07, .9825E-09, .3105E-10, 2 .5052E-02, .2564E-04,-.5061E-07, .2064E-08, .3339E-10, 2 .6190E-02, .2855E-04,-.3880E-07, .2374E-08, .3456E-10, 2 .7486E-02, .4424E-04,-.1660E-06, .9655E-10, .6113E-10, 2 .8037E-02, .5116E-04, .6480E-06,-.1248E-08,-.7897E-10, 2 .9205E-02, .5148E-04,-.8676E-07, .3035E-09, .9142E-10, 2 .1002E-01, .6223E-04, .1675E-06,-.5249E-09, .5727E-10, 2 .1273E-01, .3489E-04,-.5331E-06, .2284E-08, .1166E-09, 3 .1672E-02, .2189E-04, .1305E-06, .3441E-09,-.3714E-11, 3 .2281E-02, .2848E-04, .1333E-06, .5774E-09, .2344E-11, 3 .3127E-02, .3732E-04, .1285E-06, .7978E-09, .1024E-10, 3 .4268E-02, .5143E-04, .2011E-06, .7393E-09, .7058E-11, 3 .5937E-02, .6833E-04, .1559E-06, .7198E-09, .2469E-10, 3 .8074E-02, .9408E-04, .3375E-06, .3314E-10, .5666E-11, 3 .1121E-01, .1259E-03, .3550E-06,-.9904E-10, .2027E-10, 3 .1564E-01, .1745E-03, .3868E-06,-.8618E-09, .3906E-10, 3 .2184E-01, .2361E-03, .5712E-06,-.3948E-09, .4233E-10, 3 .3087E-01, .3176E-03, .3009E-06, .1091E-08, .1374E-09, 3 .4256E-01, .4410E-03, .1168E-05,-.2772E-09, .3595E-10, 3 .5871E-01, .6256E-03, .2174E-05,-.5481E-08,-.9776E-10, 3 .7925E-01, .8404E-03, .3116E-05,-.5324E-08,-.1592E-09, 3 .1055E+00, .1152E-02, .5549E-05,-.1392E-07,-.4609E-09, 3 .1402E+00, .1442E-02, .4969E-05,-.9516E-08,-.1955E-09, 3 .1763E+00, .1727E-02, .5510E-05, .9812E-08, .1655E-09, 3 .2140E+00, .2214E-02, .1284E-04,-.6666E-08,-.8985E-09, 3 .2469E+00, .2252E-02, .7551E-05, .3861E-07, .6569E-09, 4 .2718E-02, .3544E-04, .1086E-06,-.5151E-09, .2852E-13, 4 .3695E-02, .4840E-04, .1913E-06,-.7000E-09,-.6782E-11, 4 .5107E-02, .6631E-04, .2449E-06,-.8813E-09,-.4336E-11, 4 .7083E-02, .9095E-04, .3115E-06,-.1345E-08,-.3109E-11, 4 .9688E-02, .1250E-03, .6642E-06,-.1337E-08,-.3880E-10, 4 .1367E-01, .1660E-03, .7248E-06, .1952E-10,-.1212E-10, 4 .1924E-01, .2299E-03, .9732E-06, .1382E-10,-.1529E-10, 4 .2692E-01, .3207E-03, .1658E-05,-.2897E-09,-.8347E-10, 4 .3765E-01, .4610E-03, .2371E-05,-.2885E-08,-.1218E-09, 4 .5183E-01, .6597E-03, .4395E-05,-.7073E-08,-.3486E-09, 4 .7253E-01, .8844E-03, .4624E-05,-.3179E-08,-.2014E-09, 4 .9962E-01, .1151E-02, .5207E-05, .1879E-08,-.7895E-10, 4 .1364E+00, .1544E-02, .6446E-05, .2586E-08, .1470E-10, 4 .1855E+00, .1982E-02, .6654E-05, .1394E-07, .3633E-09, 4 .2462E+00, .2578E-02, .8716E-05, .2148E-07, .5396E-09, 4 .3209E+00, .3333E-02, .1851E-04,-.2751E-10,-.1142E-08, 4 .4063E+00, .3815E-02, .1547E-04, .6847E-07, .3526E-09, 4 .5056E+00, .5021E-02, .2618E-04, .3087E-07,-.1368E-08 / DATA ((( CS4CH4(K,J,I), K = 1, 5), J = 1, 18), I = 1, 2) / 1 .2404E+01, .1922E-01, .1589E-04, .3120E-07, .3130E-08, 1 .2622E+01, .1985E-01, .8354E-05, .1428E-06, .5497E-08, 1 .2897E+01, .2082E-01, .1064E-04, .1411E-06, .5144E-08, 1 .3235E+01, .2195E-01, .2651E-04, .1600E-06, .2624E-08, 1 .3671E+01, .2315E-01, .4736E-04, .1881E-06,-.1044E-08, 1 .4261E+01, .2451E-01,-.1116E-06, .2250E-06, .7420E-08, 1 .4978E+01, .2665E-01, .1400E-04, .1532E-06, .4900E-08, 1 .5912E+01, .2872E-01, .4555E-05, .1568E-06, .7155E-08, 1 .7181E+01, .3240E-01, .2954E-04,-.9724E-07, .4783E-09, 1 .8793E+01, .3380E-01,-.1014E-04, .1399E-06, .8253E-08, 1 .1079E+02, .3466E-01,-.5630E-04, .6485E-06, .1775E-07, 1 .1327E+02, .3778E-01, .1983E-05, .4965E-06, .2306E-09, 1 .1636E+02, .4285E-01,-.6950E-04, .3729E-06, .1141E-07, 1 .2003E+02, .4600E-01,-.3880E-04, .9760E-06,-.2602E-09, 1 .2400E+02, .4897E-01,-.1700E-03, .8973E-06, .2581E-07, 1 .2827E+02, .5257E-01,-.1923E-04, .6579E-06,-.5314E-08, 1 .3263E+02, .5451E-01,-.1602E-03, .3972E-06, .3653E-07, 1 .3758E+02, .6678E-01,-.1595E-03,-.8379E-06, .1569E-07, 2 .1606E+01, .1498E-01, .4753E-04,-.1993E-06,-.1673E-08, 2 .1784E+01, .1619E-01, .4839E-04,-.2824E-06,-.2573E-08, 2 .1978E+01, .1730E-01, .4199E-04,-.3251E-06,-.7562E-09, 2 .2220E+01, .1803E-01, .5258E-04,-.2383E-06,-.1594E-08, 2 .2543E+01, .1805E-01, .3960E-04, .8035E-07, .2780E-08, 2 .2928E+01, .1959E-01, .8107E-04, .7686E-07,-.3476E-08, 2 .3463E+01, .2116E-01, .7426E-04, .2320E-06,-.5591E-10, 2 .4144E+01, .2401E-01, .1235E-03, .9916E-07,-.8085E-08, 2 .5009E+01, .2522E-01, .8870E-04, .4139E-06, .4810E-09, 2 .6113E+01, .2897E-01, .1353E-03, .3888E-06,-.6142E-08, 2 .7610E+01, .3515E-01, .9484E-04,-.1455E-06,-.5165E-09, 2 .9302E+01, .3891E-01, .1254E-03, .1830E-06, .5078E-08, 2 .1161E+02, .4329E-01, .1841E-03, .3182E-06,-.6170E-08, 2 .1437E+02, .5487E-01, .1053E-03,-.1140E-05, .1311E-07, 2 .1763E+02, .5832E-01, .3375E-03,-.5222E-06,-.2512E-07, 2 .2172E+02, .6013E-01, .4312E-04, .4326E-06, .3830E-07, 2 .2692E+02, .6939E-01, .1721E-03, .3783E-06, .1288E-07, 2 .3373E+02, .7861E-01, .4114E-03, .1664E-05,-.6396E-09 / C COMMON /BANDS4GH/ GWS4GH(9), CS4H2OGH(5,28,6), CS4CO2GH(5,28,6), 1 CS4CH4GH(5,28) DATA GWS4GH / 2.28900, 2.80913, .99438, .67932, .13964, 1 .07300, .02357, .01957, .01083 / DATA ((( CS4H2OGH(K,J,I), K = 1, 5), J = 1, 28), I = 1, 3) / 5 .2726E+03, .2168E+01,-.3522E-03, .1056E-04, .4138E-06, 5 .2722E+03, .2206E+01, .5696E-03, .3559E-05, .2220E-06, 5 .2719E+03, .2320E+01,-.1043E-02,-.2148E-04, .5757E-06, 5 .2729E+03, .2387E+01,-.4270E-02,-.3509E-04, .1188E-05, 5 .2707E+03, .2328E+01,-.2208E-02,-.2483E-04, .8379E-06, 5 .2634E+03, .2324E+01, .4172E-02,-.2349E-04,-.2219E-06, 5 .2588E+03, .2309E+01, .8432E-02,-.2680E-04,-.9710E-06, 5 .2561E+03, .2188E+01, .6812E-02,-.5401E-05,-.5616E-06, 5 .2616E+03, .2152E+01,-.6678E-03,-.1263E-04, .6462E-06, 5 .2677E+03, .2117E+01,-.2349E-02,-.1610E-04, .7640E-06, 5 .2754E+03, .2162E+01, .4339E-02,-.2899E-04,-.2183E-06, 5 .2860E+03, .2122E+01, .2513E-02,-.3093E-04, .1283E-06, 5 .3020E+03, .2018E+01,-.1983E-04,-.2233E-04, .6163E-06, 5 .3259E+03, .1856E+01,-.1469E-02,-.4811E-05, .9509E-06, 5 .3532E+03, .1854E+01, .6609E-02,-.9267E-05,-.5244E-06, 5 .4054E+03, .1731E+01,-.2606E-02, .1579E-04, .9374E-06, 5 .4550E+03, .1798E+01, .4725E-02,-.9628E-05,-.1942E-06, 5 .5207E+03, .1531E+01, .1205E-01, .7999E-05,-.1385E-05, 5 .6288E+03, .1251E+01, .1979E-02, .5124E-04, .1916E-06, 5 .7589E+03, .1451E+01, .5982E-02, .1601E-04,-.8078E-06, 5 .9164E+03, .1546E+01,-.6987E-02,-.1463E-04, .1418E-05, 5 .1084E+04, .1357E+01, .8108E-02, .3433E-04,-.1229E-05, 5 .1302E+04, .1082E+01,-.5348E-02,-.5049E-05, .1016E-05, 5 .1520E+04, .5612E+00,-.2590E-02, .2664E-04, .7822E-06, 5 .1756E+04, .3074E+00,-.3550E-02,-.2608E-05, .8115E-06, 5 .1957E+04, .2334E-01, .4211E-02,-.1794E-04,-.4082E-06, 5 .2114E+04,-.1073E+01,-.2399E-01, .2688E-04, .4753E-05, 5 .2162E+04,-.1115E+01, .1787E-01,-.8036E-04,-.1357E-05, 6 .8795E+01, .7441E-01, .2505E-03,-.5124E-06,-.5407E-08, 6 .8989E+01, .7027E-01, .6147E-04, .4680E-06, .3332E-07, 6 .9053E+01, .4932E-01, .5292E-03, .5519E-05,-.6462E-07, 6 .9031E+01, .4000E-01, .1102E-02, .7722E-05,-.1744E-06, 6 .9681E+01, .5050E-01, .4492E-03, .6094E-05,-.5828E-07, 6 .1124E+02, .5599E-01,-.7034E-03, .5280E-05, .1298E-06, 6 .1194E+02, .5853E-01,-.1178E-02, .5596E-05, .2129E-06, 6 .1263E+02, .8399E-01,-.1040E-02, .9051E-06, .1716E-06, 6 .1231E+02, .8346E-01, .1726E-03, .3348E-05,-.2068E-07, 6 .1230E+02, .8893E-01, .3077E-03, .2845E-05,-.1609E-07, 6 .1444E+02, .6203E-01,-.1181E-02, .7041E-05, .2244E-06, 6 .1490E+02, .6382E-01,-.5504E-03, .7373E-05, .1169E-06, 6 .1587E+02, .8529E-01, .4957E-03, .2055E-05,-.7955E-07, 6 .1762E+02, .8863E-01, .6113E-03, .1139E-05,-.1248E-06, 6 .2090E+02, .7270E-01,-.2111E-03, .3077E-05, .8283E-08, 6 .2429E+02, .7391E-01,-.4123E-03, .3008E-06, .5517E-07, 6 .2976E+02, .7631E-01,-.2990E-03,-.1688E-05,-.2329E-07, 6 .3674E+02, .1087E+00,-.8494E-03,-.7448E-05, .7146E-07, 6 .4285E+02, .8397E-01, .9991E-03,-.4659E-05,-.2454E-06, 6 .5283E+02, .5742E-01,-.1447E-02,-.2204E-05, .1853E-06, 6 .6551E+02, .4685E-01,-.8482E-03, .1464E-05, .6698E-07, 6 .8203E+02, .4464E-01,-.2187E-02,-.3503E-05, .2171E-06, 6 .9722E+02, .7826E-01, .5294E-03, .3086E-05,-.2331E-06, 6 .1176E+03, .1019E+00,-.6740E-03, .2251E-05,-.7449E-07, 6 .1338E+03, .1051E+00,-.2564E-02, .6083E-05, .2898E-06, 6 .1458E+03, .1311E+00,-.4765E-03,-.7380E-06,-.8958E-07, 6 .1588E+03, .1813E+00, .4481E-02, .9117E-05,-.9424E-06, 6 .1820E+03, .1178E+00,-.4064E-02, .2665E-04, .3025E-06, 7 .1350E+02, .1258E+00, .9812E-03,-.7326E-05,-.2142E-06, 7 .1350E+02, .1220E+00, .1098E-02,-.6730E-05,-.2355E-06, 7 .1386E+02, .1317E+00, .4720E-03,-.9470E-05,-.1116E-06, 7 .1389E+02, .1286E+00, .3827E-03,-.9154E-05,-.9002E-07, 7 .1347E+02, .1296E+00, .1357E-02,-.9382E-05,-.2710E-06, 7 .1305E+02, .1165E+00, .1601E-02,-.7478E-05,-.2997E-06, 7 .1400E+02, .1185E+00, .8303E-03,-.6943E-05,-.1579E-06, 7 .1441E+02, .1034E+00, .1248E-02,-.3646E-05,-.2422E-06, 7 .1468E+02, .1208E+00, .1120E-02,-.6506E-05,-.2160E-06, 7 .1486E+02, .1132E+00, .1664E-02,-.3621E-05,-.2897E-06, 7 .1621E+02, .1545E+00, .2947E-02,-.1319E-04,-.5434E-06, 7 .1791E+02, .1449E+00, .2009E-02,-.1273E-04,-.3834E-06, 7 .1990E+02, .9078E-01,-.6946E-04, .2927E-05, .1279E-08, 7 .2006E+02, .1190E+00, .1243E-02,-.1796E-05,-.2076E-06, 7 .2288E+02, .1178E+00,-.1404E-02,-.2334E-05, .2517E-06, 7 .2193E+02, .1351E+00, .2600E-02,-.7836E-05,-.4556E-06, 7 .2787E+02, .9534E-01,-.4731E-03, .3187E-05, .7110E-07, 7 .3671E+02, .1126E+00,-.3526E-02, .9112E-05, .5673E-06, 7 .4533E+02, .2142E+00,-.5035E-02,-.6585E-05, .7927E-06, 7 .5077E+02, .1978E+00,-.9447E-04,-.7448E-05,-.4328E-08, 7 .5932E+02, .1885E+00, .3386E-02,-.4461E-05,-.6316E-06, 7 .7326E+02, .2391E+00, .8387E-03,-.6350E-05, .1854E-07, 7 .8862E+02, .2698E+00, .9622E-03,-.9800E-05,-.1311E-06, 7 .1041E+03, .3608E+00, .3039E-03,-.2158E-04,-.1381E-06, 7 .1156E+03, .4188E+00, .6243E-02,-.2891E-04,-.1261E-05, 7 .1324E+03, .2857E+00, .1503E-02, .6821E-06,-.2322E-06, 7 .1474E+03, .3699E+00,-.2621E-03,-.2587E-04,-.2427E-07, 7 .1640E+03, .3430E+00, .1358E-03,-.1905E-04,-.5765E-07 / DATA ((( CS4H2OGH(K,J,I), K = 1, 5), J = 1, 28), I = 4, 6) / 8 .2220E+00, .4792E-03,-.1820E-04,-.3642E-07, .1455E-09, 8 .2220E+00, .4792E-03,-.1820E-04,-.3642E-07, .1456E-09, 8 .2221E+00, .4792E-03,-.1820E-04,-.3643E-07, .1455E-09, 8 .2221E+00, .4792E-03,-.1820E-04,-.3645E-07, .1452E-09, 8 .2221E+00, .4792E-03,-.1820E-04,-.3649E-07, .1451E-09, 8 .2222E+00, .5192E-03,-.1877E-04,-.6892E-07, .6072E-09, 8 .2224E+00, .4800E-03,-.1821E-04,-.3673E-07, .1438E-09, 8 .2231E+00, .4804E-03,-.1866E-04,-.3703E-07, .2148E-09, 8 .1755E+00, .4812E-03, .3045E-04,-.3659E-07,-.7792E-08, 8 .1769E+00, .3882E-03, .3168E-04, .3942E-07,-.8912E-08, 8 .1924E+00,-.1481E-02,-.2282E-04, .3498E-06, .2478E-08, 8 .2002E+00,-.1087E-02,-.1956E-04, .2681E-06, .1574E-08, 8 .1339E+00,-.1328E-03, .1769E-04, .1060E-06,-.2596E-08, 8 .1413E+00, .8508E-03,-.7776E-05,-.8956E-07, .2247E-08, 8 .2017E+00, .7228E-03,-.5996E-04,-.7324E-07, .1063E-07, 8 .2177E+00, .2714E-03,-.1114E-04, .6768E-07, .1524E-08, 8 .2314E+00, .3160E-03,-.1386E-04,-.2056E-07, .3066E-08, 8 .2082E+00,-.1928E-03, .7700E-05, .4832E-07,-.1028E-08, 8 .1994E+00,-.1195E-02, .5224E-04, .2436E-06,-.9332E-08, 8 .2374E+00,-.1360E-02, .3485E-04, .2686E-06,-.6628E-08, 8 .2816E+00,-.1370E-02, .4352E-04, .2655E-06,-.8572E-08, 8 .2897E+00, .4256E-03,-.2156E-04,-.3002E-06, .3452E-08, 8 .1988E+00, .2117E-03, .5660E-04,-.2571E-06,-.8588E-08, 8 .1859E+00, .3160E-03,-.3988E-05, .8252E-08, .3346E-09, 8 .1848E+00, .3701E-03,-.1159E-05,-.3270E-08,-.1567E-09, 8 .1856E+00, .3254E-03,-.4432E-06, .4024E-08,-.1848E-09, 8 .1875E+00, .7164E-04, .1031E-04, .4956E-07,-.2232E-08, 8 .1900E+00, .4556E-03, .7244E-05,-.3722E-07,-.1551E-08, a .2581E+05, .1110E+03,-.3482E+00,-.8481E-03, .7094E-05, a .2581E+05, .1110E+03,-.3483E+00,-.8483E-03, .7101E-05, a .2582E+05, .1110E+03,-.3482E+00,-.8485E-03, .7088E-05, a .2582E+05, .1110E+03,-.3481E+00,-.8485E-03, .7088E-05, a .2582E+05, .1110E+03,-.3481E+00,-.8491E-03, .7092E-05, a .2582E+05, .1109E+03,-.3480E+00,-.8498E-03, .7088E-05, a .2582E+05, .1109E+03,-.3476E+00,-.8508E-03, .7047E-05, a .2584E+05, .1107E+03,-.3469E+00,-.8527E-03, .6984E-05, a .2586E+05, .1105E+03,-.3451E+00,-.8549E-03, .6805E-05, a .2590E+05, .1100E+03,-.3416E+00,-.8621E-03, .6497E-05, a .2606E+05, .1078E+03,-.3312E+00,-.8712E-03, .5862E-05, a .2618E+05, .1062E+03,-.3231E+00,-.8886E-03, .5577E-05, a .2635E+05, .1039E+03,-.3109E+00,-.9216E-03, .5333E-05, a .2660E+05, .1004E+03,-.2949E+00,-.1006E-02, .5581E-05, a .2697E+05, .9467E+02,-.2786E+00,-.9339E-03, .5645E-05, a .2746E+05, .8771E+02,-.2791E+00,-.9254E-03, .1031E-04, a .2803E+05, .7802E+02,-.2157E+00,-.9536E-03, .6434E-05, a .2884E+05, .6402E+02,-.1774E+00,-.7108E-03, .8067E-05, a .2981E+05, .4686E+02,-.9132E-01, .2758E-03,-.5779E-05, a .3067E+05, .3637E+02,-.2183E+00,-.6677E-03, .3057E-04, a .3129E+05, .1674E+02,-.6318E-01,-.2634E-03, .9962E-05, a .3120E+05,-.1628E+01, .1538E+00, .2571E-03,-.2915E-04, a .3023E+05,-.8406E+01, .1257E+00,-.2312E-03,-.2068E-04, a .2829E+05,-.1159E+02,-.5485E-02,-.5082E-03, .7188E-05, a .2542E+05,-.1543E+02, .6479E-01,-.3855E-03, .6156E-06, a .2223E+05,-.1859E+02, .7944E-01,-.8370E-04,-.2836E-05, a .1900E+05,-.1906E+02, .7370E-01, .1169E-04,-.2807E-05, a .1573E+05,-.1866E+02, .8298E-01, .9688E-04,-.6710E-05, 2 .2764E+06,-.7481E+03, .1670E+01, .1323E-02,-.4270E-04, 2 .2764E+06,-.7481E+03, .1672E+01, .1325E-02,-.4298E-04, 2 .2764E+06,-.7481E+03, .1670E+01, .1328E-02,-.4279E-04, 2 .2764E+06,-.7480E+03, .1671E+01, .1331E-02,-.4298E-04, 2 .2764E+06,-.7479E+03, .1670E+01, .1329E-02,-.4293E-04, 2 .2764E+06,-.7477E+03, .1669E+01, .1334E-02,-.4286E-04, 2 .2763E+06,-.7472E+03, .1665E+01, .1352E-02,-.4263E-04, 2 .2761E+06,-.7462E+03, .1661E+01, .1371E-02,-.4276E-04, 2 .2758E+06,-.7442E+03, .1650E+01, .1418E-02,-.4231E-04, 2 .2751E+06,-.7402E+03, .1630E+01, .1520E-02,-.4198E-04, 2 .2724E+06,-.7251E+03, .1556E+01, .1831E-02,-.4071E-04, 2 .2704E+06,-.7140E+03, .1510E+01, .2025E-02,-.4104E-04, 2 .2676E+06,-.6980E+03, .1443E+01, .2309E-02,-.4147E-04, 2 .2634E+06,-.6749E+03, .1342E+01, .2605E-02,-.3914E-04, 2 .2575E+06,-.6412E+03, .1289E+01, .2266E-02,-.4164E-04, 2 .2494E+06,-.6022E+03, .1275E+01, .2521E-02,-.5625E-04, 2 .2388E+06,-.5545E+03, .9650E+00, .3021E-02,-.3194E-04, 2 .2247E+06,-.4850E+03, .8193E+00, .1703E-02,-.3721E-04, 2 .2066E+06,-.4023E+03, .6581E+00,-.8701E-03,-.2067E-04, 2 .1855E+06,-.3298E+03, .5099E+00,-.1223E-02,-.1152E-04, 2 .1615E+06,-.2532E+03, .9934E-01,-.2178E-02, .4408E-04, 2 .1364E+06,-.1811E+03,-.4081E+00,-.3698E-02, .1433E-03, 2 .1106E+06,-.1494E+03, .4278E+00,-.1825E-02, .3201E-05, 2 .8718E+05,-.1274E+03, .4363E+00,-.1988E-03,-.1005E-04, 2 .6665E+05,-.9968E+02, .4462E+00, .2184E-03,-.2015E-04, 2 .4978E+05,-.6806E+02, .1529E+00,-.8756E-03, .1803E-04, 2 .3637E+05,-.4709E+02, .1173E+00,-.1442E-02, .1685E-04, 2 .2631E+05,-.3286E+02, .1332E+00,-.1131E-02, .6958E-05 / DATA ((( CS4CO2GH(K,J,I), K = 1, 5), J = 1, 28), I = 1, 3) / 5-.3586E-04, .3917E-06, .4169E-07, .9024E-10,-.5660E-11, 5-.8123E-05, .4542E-06, .3356E-07, .7622E-10,-.4055E-11, 5 .3542E-04, .8499E-06, .1115E-07, .3252E-10,-.4685E-12, 5 .5783E-04, .1176E-05, .1073E-07, .2679E-10,-.1933E-12, 5 .9229E-04, .1592E-05, .9939E-08, .5081E-10, .5633E-12, 5 .1479E-03, .2427E-05, .1937E-07, .1526E-10,-.1011E-11, 5 .2523E-03, .3529E-05, .2235E-07, .5476E-10,-.8509E-12, 5 .4245E-03, .5414E-05, .2106E-07, .1319E-09, .9150E-12, 5 .7442E-03, .8649E-05, .3172E-08, .2052E-09, .5988E-11, 5 .1244E-02, .1477E-04, .5220E-07, .5693E-10,-.8819E-12, 5 .3071E-02, .3552E-04, .4904E-08,-.5837E-09, .1015E-10, 5 .4289E-02, .5078E-04, .5595E-07,-.1064E-08, .4500E-11, 5 .6031E-02, .7573E-04, .1599E-06,-.2316E-08,-.5472E-11, 5 .8409E-02, .1010E-03, .2290E-06,-.1712E-08, .3500E-11, 5 .1178E-01, .1345E-03, .1636E-06,-.3684E-09, .4749E-10, 5 .1646E-01, .1936E-03, .6497E-06,-.1793E-08,-.2176E-10, 5 .2284E-01, .2665E-03, .1479E-05, .2175E-09,-.1045E-09, 5 .3222E-01, .3552E-03, .1983E-05, .3634E-08,-.1246E-09, 5 .4591E-01, .4742E-03, .1590E-05, .8026E-08, .1438E-10, 5 .6593E-01, .6249E-03, .9761E-06, .1699E-07, .1762E-09, 5 .9540E-01, .9347E-03, .1569E-05, .1082E-07, .1065E-09, 5 .1386E+00, .1433E-02,-.4810E-06,-.1224E-08, .6702E-09, 5 .1988E+00, .2207E-02, .2960E-06,-.4062E-07, .6399E-09, 5 .2802E+00, .3049E-02, .1754E-05,-.3595E-07, .8203E-09, 5 .3788E+00, .4419E-02, .1878E-04,-.7727E-07,-.1429E-08, 5 .5249E+00, .5667E-02, .8574E-05,-.3228E-07, .1549E-08, 5 .6927E+00, .7259E-02, .6496E-05,-.9997E-07, .1757E-08, 5 .8476E+00, .1036E-01, .3215E-04,-.2214E-06,-.1200E-09, 6 .2207E-01, .6691E-03, .8401E-05, .5634E-07, .1958E-09, 6 .2268E-01, .6711E-03, .8375E-05, .5657E-07, .2003E-09, 6 .2388E-01, .6739E-03, .8340E-05, .5703E-07, .1991E-09, 6 .2602E-01, .6883E-03, .8201E-05, .5621E-07, .2078E-09, 6 .2948E-01, .7206E-03, .8133E-05, .5407E-07, .2036E-09, 6 .3491E-01, .7709E-03, .8185E-05, .5265E-07, .2006E-09, 6 .4365E-01, .8506E-03, .8392E-05, .5094E-07, .1897E-09, 6 .5788E-01, .9716E-03, .8844E-05, .4943E-07, .1636E-09, 6 .8180E-01, .1158E-02, .9439E-05, .4762E-07, .1610E-09, 6 .1223E+00, .1449E-02, .1069E-04, .4494E-07, .1200E-09, 6 .2471E+00, .2190E-02, .1432E-04, .4384E-07,-.1022E-10, 6 .3302E+00, .2595E-02, .1609E-04, .4974E-07,-.3309E-10, 6 .4469E+00, .3122E-02, .1863E-04, .5974E-07,-.1200E-09, 6 .6118E+00, .3814E-02, .2179E-04, .7324E-07,-.2581E-09, 6 .8465E+00, .4770E-02, .2402E-04, .7915E-07,-.1739E-09, 6 .1180E+01, .6011E-02, .2748E-04, .8669E-07,-.2744E-09, 6 .1660E+01, .7618E-02, .2701E-04, .1128E-06, .3677E-09, 6 .2347E+01, .1006E-01, .2664E-04, .9207E-07, .1119E-08, 6 .3314E+01, .1351E-01, .3423E-04, .8469E-08, .8782E-09, 6 .4667E+01, .1770E-01, .4059E-04,-.6268E-07, .1788E-08, 6 .6533E+01, .2290E-01, .7620E-04,-.1053E-06,-.1551E-08, 6 .9116E+01, .2854E-01, .1024E-03,-.1878E-07,-.2669E-08, 6 .1261E+02, .3446E-01, .1122E-03, .2696E-06,-.2715E-08, 6 .1730E+02, .4271E-01, .7788E-04, .5291E-06, .1076E-08, 6 .2357E+02, .5628E-01, .2377E-04, .2886E-06, .4933E-08, 6 .3162E+02, .7478E-01,-.4708E-05,-.6628E-06, .1230E-07, 6 .4170E+02, .8601E-01, .1364E-03,-.6147E-06,-.1891E-08, 6 .5490E+02, .8546E-01, .9435E-04, .1279E-06, .3128E-08, 7 .4975E+01, .9627E-01, .6755E-03, .1113E-05,-.9051E-08, 7 .4993E+01, .9660E-01, .6780E-03, .1116E-05,-.9090E-08, 7 .5013E+01, .9692E-01, .6806E-03, .1118E-05,-.9121E-08, 7 .5038E+01, .9717E-01, .6837E-03, .1124E-05,-.9201E-08, 7 .5072E+01, .9733E-01, .6870E-03, .1132E-05,-.9274E-08, 7 .5130E+01, .9740E-01, .6902E-03, .1135E-05,-.9347E-08, 7 .5238E+01, .9723E-01, .6931E-03, .1139E-05,-.9353E-08, 7 .5449E+01, .9679E-01, .6941E-03, .1159E-05,-.9359E-08, 7 .5861E+01, .9618E-01, .6908E-03, .1210E-05,-.9779E-08, 7 .6659E+01, .9633E-01, .6574E-03, .1196E-05,-.7066E-08, 7 .9172E+01, .1026E+00, .6102E-03, .6211E-06,-.6252E-08, 7 .1077E+02, .1073E+00, .6224E-03, .3816E-06,-.9373E-08, 7 .1293E+02, .1124E+00, .6397E-03, .3321E-06,-.1199E-07, 7 .1584E+02, .1181E+00, .6475E-03, .4139E-06,-.1133E-07, 7 .1982E+02, .1231E+00, .5717E-03, .9387E-06, .6094E-08, 7 .2509E+02, .1309E+00, .7233E-03, .1314E-05,-.1761E-07, 7 .3239E+02, .1440E+00, .6915E-03, .1293E-05,-.9448E-08, 7 .4240E+02, .1572E+00, .6223E-03, .2577E-05,-.6983E-08, 7 .5570E+02, .1873E+00, .5946E-03, .1922E-05,-.1659E-07, 7 .7348E+02, .2291E+00, .4506E-03, .6033E-06,-.1865E-07, 7 .9553E+02, .2809E+00, .2253E-03,-.2824E-05, .4360E-07, 7 .1222E+03, .3235E+00, .6616E-03,-.6892E-05, .4119E-07, 7 .1561E+03, .2815E+00, .1219E-02,-.3312E-05, .7424E-08, 7 .2002E+03, .1965E+00, .1423E-02,-.2842E-05,-.2594E-07, 7 .2539E+03, .7295E-01, .1355E-02,-.6921E-06,-.2890E-07, 7 .3142E+03,-.6172E-01, .6220E-03, .1974E-05, .2867E-07, 7 .3717E+03,-.1545E+00, .2074E-03,-.9001E-06, .1705E-07, 7 .4160E+03,-.2249E+00,-.1259E-03,-.9622E-06, .3930E-07 / DATA ((( CS4CO2GH(K,J,I), K = 1, 5), J = 1, 28), I = 4, 6) / 9 .3783E+03, .4530E+01, .1476E-01,-.1375E-04,-.2371E-06, 9 .3796E+03, .4545E+01, .1481E-01,-.1380E-04,-.2380E-06, 9 .3810E+03, .4560E+01, .1486E-01,-.1384E-04,-.2387E-06, 9 .3823E+03, .4575E+01, .1491E-01,-.1390E-04,-.2396E-06, 9 .3837E+03, .4590E+01, .1496E-01,-.1394E-04,-.2403E-06, 9 .3853E+03, .4604E+01, .1501E-01,-.1397E-04,-.2407E-06, 9 .3871E+03, .4618E+01, .1505E-01,-.1403E-04,-.2415E-06, 9 .3895E+03, .4628E+01, .1513E-01,-.1412E-04,-.2444E-06, 9 .3933E+03, .4629E+01, .1526E-01,-.1431E-04,-.2472E-06, 9 .4001E+03, .4609E+01, .1557E-01,-.1388E-04,-.2691E-06, 9 .4251E+03, .4471E+01, .1562E-01,-.9185E-05,-.2451E-06, 9 .4451E+03, .4397E+01, .1525E-01,-.7819E-05,-.1994E-06, 9 .4744E+03, .4338E+01, .1414E-01,-.1445E-04,-.4886E-07, 9 .5167E+03, .4289E+01, .1234E-01,-.2705E-04, .2173E-06, 9 .5752E+03, .4246E+01, .1214E-01,-.4528E-04, .1883E-06, 9 .6570E+03, .4078E+01, .1300E-01,-.4486E-04,-.7793E-07, 9 .7711E+03, .3761E+01, .1330E-01,-.3409E-04,-.1904E-06, 9 .9306E+03, .3268E+01, .1076E-01,-.2771E-04, .1199E-06, 9 .1143E+04, .2625E+01, .6926E-02,-.5638E-04, .8222E-06, 9 .1407E+04, .1424E+01, .1489E-01,-.6905E-05,-.9028E-06, 9 .1713E+04, .4176E-01, .2052E-01, .4325E-04,-.2193E-05, 9 .2065E+04,-.1299E+01,-.2324E-03, .8443E-04, .3259E-06, 9 .2376E+04,-.1965E+01,-.1994E-01, .7019E-04, .2637E-05, 9 .2523E+04,-.2029E+01, .1590E-02, .4053E-04,-.9654E-06, 9 .2516E+04,-.1988E+01,-.4558E-02, .3569E-04, .1418E-06, 9 .2347E+04,-.1707E+01,-.1043E-01, .3015E-04, .7956E-06, 9 .2039E+04,-.1174E+01,-.5731E-02,-.9009E-05,-.6796E-08, 9 .1677E+04,-.9375E+00,-.4102E-02, .9802E-06, .2382E-07, 1 .1054E+05, .3739E+02,-.2153E+00, .6276E-04, .5170E-05, 1 .1054E+05, .3739E+02,-.2153E+00, .6278E-04, .5173E-05, 1 .1054E+05, .3739E+02,-.2153E+00, .6293E-04, .5175E-05, 1 .1054E+05, .3738E+02,-.2153E+00, .6275E-04, .5172E-05, 1 .1054E+05, .3737E+02,-.2152E+00, .6297E-04, .5175E-05, 1 .1054E+05, .3735E+02,-.2152E+00, .6310E-04, .5179E-05, 1 .1054E+05, .3731E+02,-.2150E+00, .6291E-04, .5170E-05, 1 .1055E+05, .3723E+02,-.2146E+00, .6173E-04, .5167E-05, 1 .1055E+05, .3707E+02,-.2139E+00, .5855E-04, .5181E-05, 1 .1057E+05, .3675E+02,-.2122E+00, .5106E-04, .5185E-05, 1 .1063E+05, .3540E+02,-.2016E+00, .3207E-04, .4620E-05, 1 .1067E+05, .3428E+02,-.1933E+00, .2658E-04, .4209E-05, 1 .1075E+05, .3247E+02,-.1831E+00, .4269E-04, .3981E-05, 1 .1086E+05, .2960E+02,-.1644E+00, .1152E-03, .2433E-05, 1 .1104E+05, .2555E+02,-.1477E+00, .2011E-03, .1865E-05, 1 .1130E+05, .2101E+02,-.1422E+00, .1256E-03, .4224E-05, 1 .1163E+05, .1545E+02,-.1330E+00, .4341E-05, .6425E-05, 1 .1195E+05, .9180E+01,-.6567E-01,-.9699E-04,-.1151E-05, 1 .1225E+05, .2419E+01,-.2109E-01,-.1230E-03,-.3843E-05, 1 .1243E+05,-.3630E+01,-.3049E-01,-.1076E-04,-.8186E-06, 1 .1218E+05,-.6972E+01,-.2846E-01, .2003E-04,-.1210E-05, 1 .1134E+05,-.8201E+01, .1435E-03, .1053E-03,-.4718E-05, 1 .9937E+04,-.6245E+01,-.2388E-01, .2701E-04, .3522E-06, 1 .8154E+04,-.4637E+01,-.2236E-01,-.3785E-04, .1863E-06, 1 .6409E+04,-.3945E+01,-.2824E-01, .3074E-04, .1093E-05, 1 .4894E+04,-.2857E+01,-.2079E-01, .2944E-04, .9947E-06, 1 .3685E+04,-.2131E+01,-.9061E-02, .3638E-04,-.6150E-07, 1 .2747E+04,-.1420E+01,-.1024E-01, .2575E-05, .5252E-06, 3 .7181E+05,-.2174E+03, .2331E+00, .7570E-04, .7835E-06, 3 .7181E+05,-.2174E+03, .2327E+00, .7402E-04, .8545E-06, 3 .7181E+05,-.2173E+03, .2333E+00, .7417E-04, .7244E-06, 3 .7180E+05,-.2173E+03, .2326E+00, .7553E-04, .8477E-06, 3 .7179E+05,-.2173E+03, .2328E+00, .7546E-04, .7572E-06, 3 .7178E+05,-.2172E+03, .2324E+00, .7559E-04, .7768E-06, 3 .7174E+05,-.2170E+03, .2321E+00, .7744E-04, .6999E-06, 3 .7167E+05,-.2166E+03, .2312E+00, .8530E-04, .5558E-06, 3 .7153E+05,-.2157E+03, .2290E+00, .9672E-04, .3421E-06, 3 .7125E+05,-.2139E+03, .2260E+00, .1186E-03,-.3004E-06, 3 .7021E+05,-.2076E+03, .2131E+00, .1971E-03,-.2279E-05, 3 .6945E+05,-.2029E+03, .2037E+00, .2511E-03,-.3651E-05, 3 .6837E+05,-.1964E+03, .1800E+00, .3249E-03,-.3888E-05, 3 .6681E+05,-.1870E+03, .1407E+00, .4271E-03,-.3136E-05, 3 .6459E+05,-.1739E+03, .8587E-01, .4128E-03,-.9457E-07, 3 .6151E+05,-.1569E+03, .3713E-01, .4919E-03, .1020E-06, 3 .5737E+05,-.1358E+03,-.1248E-01, .7323E-03,-.7098E-06, 3 .5210E+05,-.1101E+03,-.1068E+00, .7885E-03, .5417E-05, 3 .4567E+05,-.8229E+02,-.1881E+00, .8320E-03, .1052E-04, 3 .3830E+05,-.5555E+02,-.1597E+00, .5039E-03, .5656E-05, 3 .3073E+05,-.3674E+02,-.1180E+00, .5087E-03, .3420E-05, 3 .2383E+05,-.2042E+02,-.1343E+00,-.4800E-04, .7065E-05, 3 .1790E+05,-.1400E+02,-.7039E-01, .8280E-04, .1786E-05, 3 .1329E+05,-.9804E+01,-.4522E-01, .1105E-03, .1319E-05, 3 .9701E+04,-.5980E+01,-.3954E-01, .8881E-04, .1671E-05, 3 .6913E+04,-.3794E+01,-.1293E-01, .3508E-04,-.9205E-06, 3 .4865E+04,-.2548E+01,-.1945E-01, .2019E-04, .1124E-05, 3 .3391E+04,-.1770E+01,-.6844E-02, .1841E-04,-.3833E-06 / DATA ((CS4CH4GH(K,J), K = 1, 5), J = 1, 28) / 8 .1296E+05,-.2822E+01,-.2591E-02, .1616E-03, .3798E-05, 8 .1296E+05,-.2822E+01,-.2585E-02, .1616E-03, .3797E-05, 8 .1296E+05,-.2822E+01,-.2556E-02, .1617E-03, .3791E-05, 8 .1296E+05,-.2822E+01,-.2585E-02, .1617E-03, .3797E-05, 8 .1296E+05,-.2821E+01,-.2611E-02, .1618E-03, .3800E-05, 8 .1296E+05,-.2819E+01,-.2595E-02, .1618E-03, .3796E-05, 8 .1296E+05,-.2815E+01,-.2656E-02, .1618E-03, .3801E-05, 8 .1296E+05,-.2808E+01,-.2697E-02, .1621E-03, .3804E-05, 8 .1295E+05,-.2796E+01,-.2721E-02, .1618E-03, .3803E-05, 8 .1295E+05,-.2783E+01,-.2730E-02, .1619E-03, .3806E-05, 8 .1293E+05,-.2783E+01,-.2763E-02, .1651E-03, .3779E-05, 8 .1292E+05,-.2781E+01,-.2802E-02, .1662E-03, .3743E-05, 8 .1290E+05,-.2776E+01,-.3053E-02, .1685E-03, .3731E-05, 8 .1288E+05,-.2765E+01,-.3516E-02, .1711E-03, .3718E-05, 8 .1285E+05,-.2741E+01,-.4156E-02, .1738E-03, .3698E-05, 8 .1282E+05,-.2701E+01,-.5078E-02, .1773E-03, .3683E-05, 8 .1278E+05,-.2643E+01,-.6027E-02, .1805E-03, .3636E-05, 8 .1273E+05,-.2579E+01,-.7229E-02, .1848E-03, .3617E-05, 8 .1265E+05,-.2519E+01,-.8325E-02, .1876E-03, .3583E-05, 8 .1258E+05,-.2474E+01,-.9120E-02, .1856E-03, .3549E-05, 8 .1247E+05,-.2487E+01,-.9268E-02, .1833E-03, .3469E-05, 8 .1237E+05,-.2559E+01,-.1003E-01, .1797E-03, .3539E-05, 8 .1224E+05,-.2684E+01,-.9842E-02, .1770E-03, .3504E-05, 8 .1208E+05,-.2799E+01,-.9249E-02, .1703E-03, .3428E-05, 8 .1190E+05,-.2897E+01,-.8342E-02, .1695E-03, .3290E-05, 8 .1171E+05,-.2955E+01,-.8327E-02, .1661E-03, .3156E-05, 8 .1149E+05,-.3082E+01,-.8293E-02, .1604E-03, .2953E-05, 8 .1121E+05,-.3367E+01,-.9956E-02, .1624E-03, .3106E-05 / END SUBROUTINE CLOUDS (TAUCS, OMCS, GCS, TAUCL, OMCL, GCL, CCLD, CLD, 1 CLDT, WCLW, WCLI, RADEQVW, RADEQVI, WCDW, WCDI, 2 IL1, IL2, ILG, LAY, LEV) PARAMETER (NBS = 4, NBL = 9) C IMPLICIT REAL (A-H,O-Z), +INTEGER (I-N) C REAL TAUCS(ILG,LAY,NBS), OMCS(ILG,LAY,NBS), GCS(ILG,LAY,NBS), 1 TAUCL(ILG,LAY,NBL), OMCL(ILG,LAY,NBL), GCL(ILG,LAY,NBL) C REAL CCLD(ILG,LAY), CLD(ILG,LAY), CLDT(ILG) C C * INPUT ARRAYS... REAL WCDW(ILG,LAY), WCDI(ILG,LAY), WCLW(ILG,LAY), WCLI(ILG,LAY) REAL RADEQVW(ILG,LAY), RADEQVI(ILG,LAY) C * WORK ARRAY REAL REW1(ILG,LAY), REW2(ILG,LAY), REW3(ILG,LAY), DG(ILG,LAY), 1 DG2(ILG,LAY), DG3(ILG,LAY), WCLWI(ILG,LAY) C DATA CUT, RADW, RADI /0.001, 0.1, 0.1/ C COMMON / WATOP / AWS(4,NBS), BWS(4,NBS), CWS(4,NBS), 1 AWL(5,NBL), BWL(4,NBL), CWL(4,NBL) COMMON / ICEOP / AIS(2,NBS), BIS(4,NBS), CIS(4,NBS), 1 AIL(3,NBL), BIL(4,NBL), CIL(4,NBL) C C----------------------------------------------------------------------C C CLOUD RADIATIVE PROPERTIES FOR RADIATION. C C TAUCS, OMCS, GCS (TAUCL, OMCL, GCL): OPTICAL DEPTH, SINGLE C C SCATTERING ALBEDO, ASYMMETRY FACTOR FOR SOLAR (INFRARED). C C C C RADEQVW: EFFECTIVE RADIU (IN MICROMETER) FOR WATER CLOUD C C RADEQVI: EFFECTIVE RADIU (IN MICROMETER) FOR ICE CLOUD C C DG: GEOMETRY LENGTH FOR ICE CLOUD C C WCDW (WCDI): LIQUID WATER (ICE) CONTENT (IN GRAM / M^3) C C WCLW (WCLI): LIQUID WATER (ICE) PATH LENGTH (IN GRAM / M^2) C C WCLWI: THE SUM OF THE WATER PATH AND ICE PATH C C CCLD: CLOUD FRACTION C C CLD: EFFECTIVE CLOUD FRACTION (IE THE CLOUD WATER C C PATH > 0.001) C C CLDT: THE TOTAL CLOUD FRACTION FOR A GRID CELL C C C C PARAMETERIZATION FOR WATER CLOUD: C C DOBBIE, ETC. 1999, JGR, 104, 2067-2079 C C LINDNER, T. H. AND J. LI., 2000, J. CLIM., 13, 1797-1805. C C PARAMETERIZATION FOR ICE CLOUD: C C FU 1996, J. CLIM., 9, 2223-2337. C C FU ET AL. 1998 J. CLIM., 11, 2223-2337. C C----------------------------------------------------------------------C C C DO 100 J = 1, LAY DO 100 K = IL1, IL2 IF (CCLD(K,J) .LE. CUT) THEN REW1(K,J) = 0. REW2(K,J) = 0. REW3(K,J) = 0. DG(K,J) = 0. DG2(K,J) = 0. DG3(K,J) = 0. WCLWI(K,J) = 0. CLD (K,J) = 0. ELSE REW1(K,J) = MAX (RADEQVW(K,J), RADW) REW2(K,J) = REW1(K,J) * REW1(K,J) REW3(K,J) = REW2(K,J) * REW1(K,J) DG(K,J) = 1.5396 * MAX (RADEQVI(K,J), RADI) DG2(K,J) = DG(K,J) * DG(K,J) DG3(K,J) = DG2(K,J) * DG(K,J) WCLWI(K,J) = WCLW(K,J) + WCLI(K,J) C C----------------------------------------------------------------------C C THE EFFECTIVE CLOUD AMOUNT CLD, TO ELIMINATE THE CLOUDS WITH TOO C C WATER PATH C C----------------------------------------------------------------------C C IF (WCLWI(K,J) .GT. CUT) THEN CLD(K,J) = CCLD(K,J) ELSE CLD(K,J) = 0. ENDIF C ENDIF 100 CONTINUE C DO 290 I = 1, NBS DO 280 J = 1, LAY DO 270 K = IL1, IL2 IF (CCLD(K,J) .LE. CUT) THEN TAUCS(K,J,I) = 0. OMCS(K,J,I) = 0. GCS(K,J,I) = 0. ELSE IF (WCLWI(K,J) .GT. CUT) THEN TAUSW = WCLW(K,J) * (AWS(1,I) + AWS(2,I) / REW1(K,J) + 2 AWS(3,I) / REW2(K,J) + AWS(4,I) / REW3(K,J)) OMSW = 1.0 - (BWS(1,I) + BWS(2,I) * REW1(K,J) + 1 BWS(3,I) * REW2(K,J) + BWS(4,I) * REW3(K,J)) GSW = CWS(1,I) + CWS(2,I) * REW1(K,J) + 1 CWS(3,I) * REW2(K,J) + CWS(4,I) * REW3(K,J) C TAUSI = WCLI(K,J) * (AIS(1,I) + AIS(2,I) / DG(K,J)) OMSI = 1.0 - (BIS(1,I) + BIS(2,I) * DG(K,J) + 1 BIS(3,I) * DG2(K,J) + BIS(4,I) * DG3(K,J)) GSI = CIS(1,I) + CIS(2,I) * DG(K,J) + 1 CIS(3,I) * DG2(K,J) + CIS(4,I) * DG3(K,J) ELSE TAUSW = 0. OMSW = 0. GSW = 0. C TAUSI = 0. OMSI = 0. GSI = 0. ENDIF C !Yu+test ! TAUSW = 2.*TAUSW ! TAUSI = 2.*TAUSI !Yu+test TAUCS(K,J,I) = TAUSW + TAUSI IF (TAUCS(K,J,I) .GT. 0.) THEN Y1 = OMSW * TAUSW Y2 = OMSI * TAUSI OMCS(K,J,I) = (Y1 + Y2) / TAUCS(K,J,I) GCS (K,J,I) = (Y1 * GSW + Y2 * GSI) / (Y1 + Y2) ELSE OMCS(K,J,I) = 0. GCS (K,J,I) = 0. ENDIF C OMCS(K,J,I) = MIN(OMCS(K,J,I),0.999) !!! GCS (K,J,I) = MIN(GCS (K,J,I),0.999) !!! C ENDIF 270 CONTINUE 280 CONTINUE 290 CONTINUE DO 390 I = 1, NBL DO 380 J = 1, LAY DO 370 K = IL1, IL2 IF (CCLD(K,J) .LE. CUT) THEN TAUCL(K,J,I) = 0. OMCL(K,J,I) = 0. GCL(K,J,I) = 0. ELSE IF (WCLWI(K,J) .GT. CUT) THEN TAULW = WCLW(K,J) * (AWL(1,I) + AWL(2,I) * REW1(K,J) + 1 AWL(3,I) / REW1(K,J) + AWL(4,I) / REW2(K,J) + 2 AWL(5,I) / REW3(K,J)) OMLW = 1.0 - (BWL(1,I) + BWL(2,I) / REW1(K,J) + 1 BWL(3,I) * REW1(K,J) + BWL(4,I) * REW2(K,J)) GLW = CWL(1,I) + CWL(2,I) / REW1(K,J) + 1 CWL(3,I) * REW1(K,J) + CWL(4,I) * REW2(K,J) C C----------------------------------------------------------------------C C SINCE IN FU ETC. THE PARAM. IS FOR ABSORPTANCE, SO NEED A FACTOR C C WCLI(K,J) / TAULI FOR SINGLE SCATTERING ALBEDO C C----------------------------------------------------------------------C C TAULI = WCLI(K,J) * (AIL(1,I) + AIL(2,I) / DG(K,J) + 1 AIL(3,I) / DG2(K,J)) IF (TAULI .GT. 0.0) THEN OMLI = 1.0 - (BIL(1,I) / DG(K,J) + BIL(2,I) + 1 BIL(3,I) * DG(K,J) + BIL(4,I) * DG2(K,J)) * 2 WCLI(K,J) / TAULI ELSE OMLI = 0.0 ENDIF C GLI = CIL(1,I) + CIL(2,I) * DG(K,J) + 1 CIL(3,I) * DG2(K,J) + CIL(4,I) * DG3(K,J) ELSE TAULW = 0. OMLW = 0. GLW = 0. C TAULI = 0. OMLI = 0. GLI = 0. ENDIF C TAUCL(K,J,I) = TAULW + TAULI IF (TAUCL(K,J,I) .GT. 0.) THEN Y1 = OMLW * TAULW Y2 = OMLI * TAULI OMCL(K,J,I) = (Y1 + Y2) / TAUCL(K,J,I) GCL (K,J,I) = (GLW * Y1 + GLI * Y2) / (Y1 + Y2) ELSE OMCL(K,J,I) = 0. GCL (K,J,I) = 0. ENDIF ENDIF 370 CONTINUE 380 CONTINUE 390 CONTINUE C C----------------------------------------------------------------------C C CALCULATE THE TOTAL DIAGNOSTIC OVERLAPPED CLOUD AMOUNT FOR THE C C GRID CELL BASED ON THE RANDOM / MAXIMUM OVERLAP ASSUMPTION C C----------------------------------------------------------------------C C DO 460 K = IL1, IL2 CLDT(K) = CLD(K,1) 460 CONTINUE C DO 490 J = 2, LAY JM1 = J - 1 DO 480 K = IL1, IL2 IF (CLD(K,JM1) .GT. CUT) THEN CLDT(K) = MAX(CLDT(K), CLD(K,J)) ELSE CLDT(K) = 1. - (1. - CLDT(K)) * (1. - CLD(K,J)) ENDIF 480 CONTINUE 490 CONTINUE C RETURN END BLOCK DATA DATCLDOP PARAMETER (NBS = 4, NBL = 9) IMPLICIT REAL (A-H,O-Z), +INTEGER (I-N) COMMON / WATOP / AWS(4,NBS), BWS(4,NBS), CWS(4,NBS), 1 AWL(5,NBL), BWL(4,NBL), CWL(4,NBL) COMMON / ICEOP / AIS(2,NBS), BIS(4,NBS), CIS(4,NBS), 1 AIL(3,NBL), BIL(4,NBL), CIL(4,NBL) C C -------------------------------------------------------- C NEW WATER PROPERTIES FOR SW (DOBBIE, LI, AND CHYLEK 1999, JGR) C -------------------------------------------------------- C DATA ((AWS(I,J), I = 1, 4), J = 1, NBS) / 1 4.554E-04, 1.500E+00, 7.190E-01, -9.419E-01, 2 3.859E-04, 1.508E+00, 9.512E-01, -1.053E+00, 3 -3.946E-05, 1.538E+00, 1.035E+00, 2.638E-01, 4 2.936E-04, 1.541E+00, 1.698E-00, 1.521E+00 / DATA ((BWS(I,J), I = 1, 4), J = 1, NBS) / 1 6.481E-08, 1.553E-07, -7.755E-10, 7.616E-12, 2 1.072E-05, 1.345E-05, -1.799E-08, -3.146E-11, 3 4.078E-04, 2.169E-03, -2.177E-05, 1.506E-07, 4 2.013E-01, 1.109E-02, -2.897E-04, 3.055E-06 / DATA ((CWS(I,J), I = 1, 4), J = 1, NBS) / 1 8.069E-01, 6.188E-03, -2.065E-04, 2.352E-06, 2 7.685E-01, 9.337E-03, -3.101E-04, 3.527E-06, 3 7.471E-01, 9.440E-03, -2.616E-04, 2.614E-06, 4 7.956E-01, 8.138E-03, -1.861E-04, 1.611E-06 / C C -------------------------------------------------------- C NEW WATER PROPERTIES FOR LW (LINDNER AND LI, 2000 JCL) C -------------------------------------------------------- C DATA ((AWL(I,J), I = 1, 5), J = 1, NBL) / 1 -.21671E-01, .79578E-03, .14899E+01, .62606E+01,-.12705E+02, 2 -.14126E+00, .28208E-02, .35125E+01,-.34541E+01,-.22679E+01, 3 -.18829E+00, .34065E-02, .46731E+01,-.11664E+02, .87105E+01, 4 -.16383E+00, .26574E-02, .48670E+01,-.16442E+02, .16128E+02, 5 -.20294E-01, .85110E-04, .28650E+01,-.11202E+02, .12047E+02, 6 .28752E-01,-.37315E-03, .14591E+01,-.48788E+01, .49725E+01, 7 -.40386E-01, .80822E-03, .25318E+01,-.64641E+01, .55609E+01, 8 -.48716E-01, .81275E-03, .30390E+01,-.97845E+01, .95101E+01, 9 .64794E-01,-.98530E-03, .12797E+01,-.55272E+01, .62599E+01 / DATA ((BWL(I,J), I = 1, 4), J = 1, NBL) / 1 .36899E-02,-.54184E-03, .14561E-01,-.18451E-03, 2 .62141E-02, .61190E-01, .21127E-01,-.29731E-03, 3 .87326E-01, .29908E+00, .22928E-01,-.35569E-03, 4 -.37551E-01, .70237E+00, .26945E-01,-.37999E-03, 5 .51671E-01, .10199E+01, .18296E-01,-.21209E-03, 6 .52184E+00, .72352E+00,-.48090E-02, .10414E-03, 7 .57688E+00, .63008E+00,-.56325E-02, .87852E-04, 8 .50346E+00, .79407E+00,-.13179E-02, .25467E-04, 9 .67792E+00, .68259E+00,-.12136E-01, .20941E-03 / DATA ((CWL(I,J), I = 1, 4), J = 1, NBL) / 1 .73147E+00, .11761E+00, .86402E-02,-.10761E-03, 2 .81284E+00,-.60287E-01, .45367E-02,-.33372E-04, 3 .92468E+00,-.39653E+00, .30494E-03, .20980E-04, 4 .10006E+01,-.71422E+00,-.46784E-02, .10114E-03, 5 .10635E+01,-.10097E+01,-.58726E-02, .97485E-04, 6 .10762E+01,-.12482E+01,-.40343E-02, .54330E-04, 7 .97445E+00,-.13875E+01, .79204E-03,-.27995E-04, 8 .79053E+00,-.13566E+01, .10452E-01,-.18111E-03, 9 .35512E+00,-.80671E+00, .30384E-01,-.47204E-03 / C C----------------------------------------------------------------------C C ICE FU 1997 JCL, FU ET AL. 1998 JCL C C----------------------------------------------------------------------C C DATA ((AIS(I,J), I = 1, 2), J = 1, NBS) / 1 -0.24276E-04, 2.51884E+00, 2 -0.48500E-04, 2.52275E+00, 3 -0.98503E-05, 2.52048E+00, 4 0.24435E-03, 2.49116E+00 / C DATA ((BIS(I,J), I = 1, 4), J = 1, NBS) / 1 0.13031E-06, 0.94102E-07,-0.75971E-10, 0.33977E-12, 2 -0.77603E-06, 0.73420E-05, 0.11514E-09,-0.90818E-12, 3 0.10007E-02, 0.10992E-02,-0.45043E-05, 0.12637E-07, 4 0.21201E+00, 0.25713E-02,-0.19228E-04, 0.62183E-07 / C DATA ((CIS(I,J), I = 1, 4), J = 1, NBS) / 1 0.74821E+00, 0.92318E-03,-0.72862E-06,-0.95642E-08, 2 0.75227E+00, 0.10653E-02,-0.24930E-05,-0.29114E-08, 3 0.75553E+00, 0.17297E-02,-0.87585E-05, 0.19201E-07, 4 0.84323E+00, 0.20925E-02,-0.18302E-04, 0.60381E-07 / C DATA ((AIL(I,J), I = 1, 3), J = 1, NBL) / 1 -.8839455E-03, .2662598E+01, .2196338E+01, 2 -.2066995E-02, .2787904E+01, .1397838E+01, 3 -.3085730E-02, .2906257E+01, -.1911363E+01, 4 -.6968920E-02, .3284275E+01, -.6973825E+01, 5 -.8372696E-02, .3455018E+01, -.1516692E+02, 6 -.1691632E-02, .2765756E+01, -.8331033E+01, 7 -.7098616E-02, .3343404E+01, -.8144649E+01, 8 -.1041746E-01, .3824226E+01, -.2255945E+02, 9 .5689700E-02, .2285636E+01, -.1430752E+02 / C DATA ((BIL(I,J), I = 1, 4), J = 1, NBL) / 1 .5723611E+00, .1627863E-01, -.1684272E-03, .6061332E-06, 2 .4402328E+00, .1736939E-01, -.1656608E-03, .5709622E-06, 3 .8802908E+00, .1249744E-01, -.1550609E-03, .6105065E-06, 4 .6351165E+00, .1781519E-01, -.1979682E-03, .6000892E-06, 5 .5409536E-00, .1949649E-01, -.2050908E-03, .7364680E-06, 6 .1195515E+01, .3350616E-02, -.5266996E-04, .2233377E-06, 7 .1186334E+01, .6213290E-02, -.1044277E-03, .2233377E-06, 8 .2279562E+00, .2017007E-01, -.1756872E-03, .5703918E-06, 9 .7718967E+00, .2120626E-01, -.2587649E-03, .9878070E-06 / C DATA ((CIL(I,J), I = 1, 4), J = 1, NBL) / 1 .7975757E+00, .3843973E-02, -.3540463E-04, .1179791E-06, 2 .7947997E+00, .3190423E-02, -.2386042E-04, .6691811E-07, 3 .8737279E+00, .2465886E-02, -.2468764E-04, .8686448E-07, 4 .8577221E+00, .2321034E-02, -.1897764E-04, .8641223E-07, 5 .8906280E-00, .1903269E-02, -.1733552E-04, .5855071E-07, 6 .8663385E-00, .2797934E-02, -.3187011E-04, .1217209E-06, 7 .7644037E+00, .4427001E-02, -.4494615E-04, .1217209E-06, 8 .7200100E+00, .3220301E-02, -.2195542E-04, .6604318E-07, 9 .5355918E+00, .1127081E-01, -.1234705E-03, .4567953E-06 / C END ! END MODULE APM_RADF_MOD #endif ================================================ FILE: APM/apm_rrtmg_mods.F90 ================================================ #ifdef APM module parkind implicit none save !------------------------------------------------------------------ ! rrtmg kinds ! Define integer and real kinds for various types. ! ! Initial version: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !------------------------------------------------------------------ ! ! integer kinds ! ------------- ! integer, parameter :: kind_ib = selected_int_kind(13) ! 8 byte integer integer, parameter :: kind_im = selected_int_kind(6) ! 4 byte integer integer, parameter :: kind_in = kind(1) ! native integer ! ! real kinds ! ---------- ! integer, parameter :: kind_rb = selected_real_kind(12) ! 8 byte real integer, parameter :: kind_rm = selected_real_kind(6) ! 4 byte real integer, parameter :: kind_rn = kind(1.0) ! native real end module parkind module parrrsw use parkind ,only : im => kind_im, rb => kind_rb implicit none save !------------------------------------------------------------------ ! rrtmg_sw main parameters ! ! Initial version: JJMorcrette, ECMWF, jul1998 ! Revised: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !------------------------------------------------------------------ ! name type purpose ! ----- : ---- : ---------------------------------------------- ! mxlay : integer: maximum number of layers ! mg : integer: number of original g-intervals per spectral band ! nbndsw : integer: number of spectral bands ! naerec : integer: number of aerosols (iaer=6, ecmwf aerosol option) ! ngptsw : integer: total number of reduced g-intervals for rrtmg_lw ! ngNN : integer: number of reduced g-intervals per spectral band ! ngsNN : integer: cumulative number of g-intervals per band !------------------------------------------------------------------ !Yu integer(kind=im), parameter :: mxlay = 203 !jplay, klev !Luo integer(kind=im), parameter :: mxlay = 47 !jplay, klev #if defined( GRIDREDUCED ) integer(kind=im), parameter :: mxlay = 47 !jplay, klev #else integer(kind=im), parameter :: mxlay = 72 !jplay, klev #endif integer(kind=im), parameter :: mg = 16 !jpg integer(kind=im), parameter :: nbndsw = 14 !jpsw, ksw integer(kind=im), parameter :: naerec = 6 !jpaer !Yu integer(kind=im), parameter :: mxmol = 38 integer(kind=im), parameter :: mxmol = 7 integer(kind=im), parameter :: nstr = 2 integer(kind=im), parameter :: nmol = 7 ! Use for 112 g-point model integer(kind=im), parameter :: ngptsw = 112 !jpgpt ! Use for 224 g-point model ! integer(kind=im), parameter :: ngptsw = 224 !jpgpt ! may need to rename these - from v2.6 integer(kind=im), parameter :: jpband = 29 integer(kind=im), parameter :: jpb1 = 16 !istart integer(kind=im), parameter :: jpb2 = 29 !iend integer(kind=im), parameter :: jmcmu = 32 integer(kind=im), parameter :: jmumu = 32 integer(kind=im), parameter :: jmphi = 3 integer(kind=im), parameter :: jmxang = 4 integer(kind=im), parameter :: jmxstr = 16 ! ^ ! Use for 112 g-point model integer(kind=im), parameter :: ng16 = 6 integer(kind=im), parameter :: ng17 = 12 integer(kind=im), parameter :: ng18 = 8 integer(kind=im), parameter :: ng19 = 8 integer(kind=im), parameter :: ng20 = 10 integer(kind=im), parameter :: ng21 = 10 integer(kind=im), parameter :: ng22 = 2 integer(kind=im), parameter :: ng23 = 10 integer(kind=im), parameter :: ng24 = 8 integer(kind=im), parameter :: ng25 = 6 integer(kind=im), parameter :: ng26 = 6 integer(kind=im), parameter :: ng27 = 8 integer(kind=im), parameter :: ng28 = 6 integer(kind=im), parameter :: ng29 = 12 integer(kind=im), parameter :: ngs16 = 6 integer(kind=im), parameter :: ngs17 = 18 integer(kind=im), parameter :: ngs18 = 26 integer(kind=im), parameter :: ngs19 = 34 integer(kind=im), parameter :: ngs20 = 44 integer(kind=im), parameter :: ngs21 = 54 integer(kind=im), parameter :: ngs22 = 56 integer(kind=im), parameter :: ngs23 = 66 integer(kind=im), parameter :: ngs24 = 74 integer(kind=im), parameter :: ngs25 = 80 integer(kind=im), parameter :: ngs26 = 86 integer(kind=im), parameter :: ngs27 = 94 integer(kind=im), parameter :: ngs28 = 100 integer(kind=im), parameter :: ngs29 = 112 ! Use for 224 g-point model ! integer(kind=im), parameter :: ng16 = 16 ! integer(kind=im), parameter :: ng17 = 16 ! integer(kind=im), parameter :: ng18 = 16 ! integer(kind=im), parameter :: ng19 = 16 ! integer(kind=im), parameter :: ng20 = 16 ! integer(kind=im), parameter :: ng21 = 16 ! integer(kind=im), parameter :: ng22 = 16 ! integer(kind=im), parameter :: ng23 = 16 ! integer(kind=im), parameter :: ng24 = 16 ! integer(kind=im), parameter :: ng25 = 16 ! integer(kind=im), parameter :: ng26 = 16 ! integer(kind=im), parameter :: ng27 = 16 ! integer(kind=im), parameter :: ng28 = 16 ! integer(kind=im), parameter :: ng29 = 16 ! integer(kind=im), parameter :: ngs16 = 16 ! integer(kind=im), parameter :: ngs17 = 32 ! integer(kind=im), parameter :: ngs18 = 48 ! integer(kind=im), parameter :: ngs19 = 64 ! integer(kind=im), parameter :: ngs20 = 80 ! integer(kind=im), parameter :: ngs21 = 96 ! integer(kind=im), parameter :: ngs22 = 112 ! integer(kind=im), parameter :: ngs23 = 128 ! integer(kind=im), parameter :: ngs24 = 144 ! integer(kind=im), parameter :: ngs25 = 160 ! integer(kind=im), parameter :: ngs26 = 176 ! integer(kind=im), parameter :: ngs27 = 192 ! integer(kind=im), parameter :: ngs28 = 208 ! integer(kind=im), parameter :: ngs29 = 224 ! Source function solar constant real(kind=rb), parameter :: rrsw_scon = 1.36822e+03 ! W/m2 end module parrrsw module rrsw_aer use parkind, only : im => kind_im, rb => kind_rb use parrrsw, only : nbndsw, naerec implicit none save !------------------------------------------------------------------ ! rrtmg_sw aerosol optical properties ! ! Data derived from six ECMWF aerosol types and defined for ! the rrtmg_sw spectral intervals ! ! Initial: J.-J. Morcrette, ECMWF, mar2003 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !------------------------------------------------------------------ ! !-- The six ECMWF aerosol types are respectively: ! ! 1/ continental average 2/ maritime ! 3/ desert 4/ urban ! 5/ volcanic active 6/ stratospheric background ! ! computed from Hess and Koepke (con, mar, des, urb) ! from Bonnel et al. (vol, str) ! ! rrtmg_sw 14 spectral intervals (microns): ! 3.846 - 3.077 ! 3.077 - 2.500 ! 2.500 - 2.150 ! 2.150 - 1.942 ! 1.942 - 1.626 ! 1.626 - 1.299 ! 1.299 - 1.242 ! 1.242 - 0.7782 ! 0.7782- 0.6250 ! 0.6250- 0.4415 ! 0.4415- 0.3448 ! 0.3448- 0.2632 ! 0.2632- 0.2000 ! 12.195 - 3.846 ! !------------------------------------------------------------------ ! ! name type purpose ! ----- : ---- : ---------------------------------------------- ! rsrtaua : real : ratio of average optical thickness in ! spectral band to that at 0.55 micron ! rsrpiza : real : average single scattering albedo (unitless) ! rsrasya : real : average asymmetry parameter (unitless) !------------------------------------------------------------------ real(kind=rb) :: rsrtaua(nbndsw,naerec) real(kind=rb) :: rsrpiza(nbndsw,naerec) real(kind=rb) :: rsrasya(nbndsw,naerec) end module rrsw_aer module rrsw_cld use parkind, only : im => kind_im, rb => kind_rb implicit none save !------------------------------------------------------------------ ! rrtmg_sw cloud property coefficients ! ! Initial: J.-J. Morcrette, ECMWF, oct1999 ! Revised: J. Delamere/MJIacono, AER, aug2005 ! Revised: MJIacono, AER, nov2005 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !------------------------------------------------------------------ ! ! name type purpose ! ----- : ---- : ---------------------------------------------- ! xxxliq1 : real : optical properties (extinction coefficient, single ! scattering albedo, assymetry factor) from ! Hu & Stamnes, j. clim., 6, 728-742, 1993. ! xxxice2 : real : optical properties (extinction coefficient, single ! scattering albedo, assymetry factor) from streamer v3.0, ! Key, streamer user's guide, cooperative institude ! for meteorological studies, 95 pp., 2001. ! xxxice3 : real : optical properties (extinction coefficient, single ! scattering albedo, assymetry factor) from ! Fu, j. clim., 9, 1996. ! xbari : real : optical property coefficients for five spectral ! intervals (2857-4000, 4000-5263, 5263-7692, 7692-14285, ! and 14285-40000 wavenumbers) following ! Ebert and Curry, jgr, 97, 3831-3836, 1992. !------------------------------------------------------------------ real(kind=rb) :: extliq1(58,16:29), ssaliq1(58,16:29), asyliq1(58,16:29) real(kind=rb) :: extice2(43,16:29), ssaice2(43,16:29), asyice2(43,16:29) real(kind=rb) :: extice3(46,16:29), ssaice3(46,16:29), asyice3(46,16:29) real(kind=rb) :: fdlice3(46,16:29) real(kind=rb) :: abari(5),bbari(5),cbari(5),dbari(5),ebari(5),fbari(5) end module rrsw_cld module rrsw_con use parkind, only : im => kind_im, rb => kind_rb implicit none save !------------------------------------------------------------------ ! rrtmg_sw constants ! Initial version: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !------------------------------------------------------------------ ! name type purpose ! ----- : ---- : ---------------------------------------------- ! fluxfac: real : radiance to flux conversion factor ! heatfac: real : flux to heating rate conversion factor !oneminus: real : 1.-1.e-6 ! pi : real : pi ! grav : real : acceleration of gravity ! planck : real : planck constant ! boltz : real : boltzmann constant ! clight : real : speed of light ! avogad : real : avogadro constant ! alosmt : real : loschmidt constant ! gascon : real : molar gas constant ! radcn1 : real : first radiation constant ! radcn2 : real : second radiation constant ! sbcnst : real : stefan-boltzmann constant ! secdy : real : seconds per day !------------------------------------------------------------------ real(kind=rb) :: fluxfac, heatfac real(kind=rb) :: oneminus, pi, grav real(kind=rb) :: planck, boltz, clight real(kind=rb) :: avogad, alosmt, gascon real(kind=rb) :: radcn1, radcn2 real(kind=rb) :: sbcnst, secdy end module rrsw_con module rrsw_kg16 use parkind ,only : im => kind_im, rb => kind_rb use parrrsw, only : ng16 implicit none save !----------------------------------------------------------------- ! rrtmg_sw ORIGINAL abs. coefficients for interval 16 ! band 16: 2600-3250 cm-1 (low - h2o,ch4; high - ch4) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! kao : real ! kbo : real ! selfrefo: real ! forrefo : real !sfluxrefo: real !----------------------------------------------------------------- integer(kind=im), parameter :: no16 = 16 real(kind=rb) :: kao(9,5,13,no16) real(kind=rb) :: kbo(5,13:59,no16) real(kind=rb) :: selfrefo(10,no16), forrefo(3,no16) real(kind=rb) :: sfluxrefo(no16) real(kind=rb) :: rayl !----------------------------------------------------------------- ! rrtmg_sw COMBINED abs. coefficients for interval 16 ! band 16: 2600-3250 cm-1 (low - h2o,ch4; high - ch4) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! ka : real ! kb : real ! absa : real ! absb : real ! selfref : real ! forref : real ! sfluxref: real !----------------------------------------------------------------- real(kind=rb) :: ka(9,5,13,ng16) , absa(585,ng16) real(kind=rb) :: kb(5,13:59,ng16), absb(235,ng16) real(kind=rb) :: selfref(10,ng16), forref(3,ng16) real(kind=rb) :: sfluxref(ng16) equivalence (ka(1,1,1,1),absa(1,1)), (kb(1,13,1),absb(1,1)) end module rrsw_kg16 module rrsw_kg17 use parkind ,only : im => kind_im, rb => kind_rb use parrrsw, only : ng17 implicit none save !----------------------------------------------------------------- ! rrtmg_sw ORIGINAL abs. coefficients for interval 17 ! band 17: 3250-4000 cm-1 (low - h2o,co2; high - h2o,co2) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! kao : real ! kbo : real ! selfrefo: real ! forrefo : real !sfluxrefo: real !----------------------------------------------------------------- integer(kind=im), parameter :: no17 = 16 real(kind=rb) :: kao(9,5,13,no17) real(kind=rb) :: kbo(5,5,13:59,no17) real(kind=rb) :: selfrefo(10,no17), forrefo(4,no17) real(kind=rb) :: sfluxrefo(no17,5) real(kind=rb) :: rayl !----------------------------------------------------------------- ! rrtmg_sw COMBINED abs. coefficients for interval 17 ! band 17: 3250-4000 cm-1 (low - h2o,co2; high - h2o,co2) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! ka : real ! kb : real ! absa : real ! absb : real ! selfref : real ! forref : real ! sfluxref: real !----------------------------------------------------------------- real(kind=rb) :: ka(9,5,13,ng17) , absa(585,ng17) real(kind=rb) :: kb(5,5,13:59,ng17), absb(1175,ng17) real(kind=rb) :: selfref(10,ng17), forref(4,ng17) real(kind=rb) :: sfluxref(ng17,5) equivalence (ka(1,1,1,1),absa(1,1)), (kb(1,1,13,1),absb(1,1)) end module rrsw_kg17 module rrsw_kg18 use parkind ,only : im => kind_im, rb => kind_rb use parrrsw, only : ng18 implicit none save !----------------------------------------------------------------- ! rrtmg_sw ORIGINAL abs. coefficients for interval 18 ! band 18: 4000-4650 cm-1 (low - h2o,ch4; high - ch4) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! kao : real ! kbo : real ! selfrefo: real ! forrefo : real !sfluxrefo: real !----------------------------------------------------------------- integer(kind=im), parameter :: no18 = 16 real(kind=rb) :: kao(9,5,13,no18) real(kind=rb) :: kbo(5,13:59,no18) real(kind=rb) :: selfrefo(10,no18), forrefo(3,no18) real(kind=rb) :: sfluxrefo(no18,9) real(kind=rb) :: rayl !----------------------------------------------------------------- ! rrtmg_sw COMBINED abs. coefficients for interval 18 ! band 18: 4000-4650 cm-1 (low - h2o,ch4; high - ch4) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! ka : real ! kb : real ! absa : real ! absb : real ! selfref : real ! forref : real ! sfluxref: real !----------------------------------------------------------------- real(kind=rb) :: ka(9,5,13,ng18), absa(585,ng18) real(kind=rb) :: kb(5,13:59,ng18), absb(235,ng18) real(kind=rb) :: selfref(10,ng18), forref(3,ng18) real(kind=rb) :: sfluxref(ng18,9) equivalence (ka(1,1,1,1),absa(1,1)), (kb(1,13,1),absb(1,1)) end module rrsw_kg18 module rrsw_kg19 use parkind ,only : im => kind_im, rb => kind_rb use parrrsw, only : ng19 implicit none save !----------------------------------------------------------------- ! rrtmg_sw ORIGINAL abs. coefficients for interval 19 ! band 19: 4650-5150 cm-1 (low - h2o,co2; high - co2) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! kao : real ! kbo : real ! selfrefo: real ! forrefo : real !sfluxrefo: real !----------------------------------------------------------------- integer(kind=im), parameter :: no19 = 16 real(kind=rb) :: kao(9,5,13,no19) real(kind=rb) :: kbo(5,13:59,no19) real(kind=rb) :: selfrefo(10,no19), forrefo(3,no19) real(kind=rb) :: sfluxrefo(no19,9) real(kind=rb) :: rayl !----------------------------------------------------------------- ! rrtmg_sw COMBINED abs. coefficients for interval 19 ! band 19: 4650-5150 cm-1 (low - h2o,co2; high - co2) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! ka : real ! kb : real ! absa : real ! absb : real ! selfref : real ! forref : real ! sfluxref: real !----------------------------------------------------------------- real(kind=rb) :: ka(9,5,13,ng19), absa(585,ng19) real(kind=rb) :: kb(5,13:59,ng19), absb(235,ng19) real(kind=rb) :: selfref(10,ng19), forref(3,ng19) real(kind=rb) :: sfluxref(ng19,9) equivalence (ka(1,1,1,1),absa(1,1)), (kb(1,13,1),absb(1,1)) end module rrsw_kg19 module rrsw_kg20 use parkind ,only : im => kind_im, rb => kind_rb use parrrsw, only : ng20 implicit none save !----------------------------------------------------------------- ! rrtmg_sw ORIGINAL abs. coefficients for interval 20 ! band 20: 5150-6150 cm-1 (low - h2o; high - h2o) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! kao : real ! kbo : real ! selfrefo: real ! forrefo : real !sfluxrefo: real ! absch4o : real !----------------------------------------------------------------- integer(kind=im), parameter :: no20 = 16 real(kind=rb) :: kao(5,13,no20) real(kind=rb) :: kbo(5,13:59,no20) real(kind=rb) :: selfrefo(10,no20), forrefo(4,no20) real(kind=rb) :: sfluxrefo(no20) real(kind=rb) :: absch4o(no20) real(kind=rb) :: rayl !----------------------------------------------------------------- ! rrtmg_sw COMBINED abs. coefficients for interval 20 ! band 20: 5150-6150 cm-1 (low - h2o; high - h2o) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! ka : real ! kb : real ! absa : real ! absb : real ! selfref : real ! forref : real ! sfluxref: real ! absch4 : real !----------------------------------------------------------------- real(kind=rb) :: ka(5,13,ng20), absa(65,ng20) real(kind=rb) :: kb(5,13:59,ng20), absb(235,ng20) real(kind=rb) :: selfref(10,ng20), forref(4,ng20) real(kind=rb) :: sfluxref(ng20) real(kind=rb) :: absch4(ng20) equivalence (ka(1,1,1),absa(1,1)), (kb(1,13,1),absb(1,1)) end module rrsw_kg20 module rrsw_kg21 use parkind ,only : im => kind_im, rb => kind_rb use parrrsw, only : ng21 implicit none save !----------------------------------------------------------------- ! rrtmg_sw ORIGINAL abs. coefficients for interval 21 ! band 21: 6150-7700 cm-1 (low - h2o,co2; high - h2o,co2) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! kao : real ! kbo : real ! selfrefo: real ! forrefo : real !sfluxrefo: real !----------------------------------------------------------------- integer(kind=im), parameter :: no21 = 16 real(kind=rb) :: kao(9,5,13,no21) real(kind=rb) :: kbo(5,5,13:59,no21) real(kind=rb) :: selfrefo(10,no21), forrefo(4,no21) real(kind=rb) :: sfluxrefo(no21,9) real(kind=rb) :: rayl !----------------------------------------------------------------- ! rrtmg_sw COMBINED abs. coefficients for interval 21 ! band 21: 6150-7700 cm-1 (low - h2o,co2; high - h2o,co2) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! ka : real ! kb : real ! absa : real ! absb : real ! selfref : real ! forref : real ! sfluxref: real !----------------------------------------------------------------- real(kind=rb) :: ka(9,5,13,ng21), absa(585,ng21) real(kind=rb) :: kb(5,5,13:59,ng21), absb(1175,ng21) real(kind=rb) :: selfref(10,ng21), forref(4,ng21) real(kind=rb) :: sfluxref(ng21,9) equivalence (ka(1,1,1,1),absa(1,1)), (kb(1,1,13,1),absb(1,1)) end module rrsw_kg21 module rrsw_kg22 use parkind ,only : im => kind_im, rb => kind_rb use parrrsw, only : ng22 implicit none save !----------------------------------------------------------------- ! rrtmg_sw ORIGINAL abs. coefficients for interval 22 ! band 22: 7700-8050 cm-1 (low - h2o,o2; high - o2) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! kao : real ! kbo : real ! selfrefo: real ! forrefo : real !sfluxrefo: real !----------------------------------------------------------------- integer(kind=im), parameter :: no22 = 16 real(kind=rb) :: kao(9,5,13,no22) real(kind=rb) :: kbo(5,13:59,no22) real(kind=rb) :: selfrefo(10,no22), forrefo(3,no22) real(kind=rb) :: sfluxrefo(no22,9) real(kind=rb) :: rayl !----------------------------------------------------------------- ! rrtmg_sw COMBINED abs. coefficients for interval 22 ! band 22: 7700-8050 cm-1 (low - h2o,o2; high - o2) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! ka : real ! kb : real ! absa : real ! absb : real ! selfref : real ! forref : real ! sfluxref: real !----------------------------------------------------------------- real(kind=rb) :: ka(9,5,13,ng22), absa(585,ng22) real(kind=rb) :: kb(5,13:59,ng22), absb(235,ng22) real(kind=rb) :: selfref(10,ng22), forref(3,ng22) real(kind=rb) :: sfluxref(ng22,9) equivalence (ka(1,1,1,1),absa(1,1)), (kb(1,13,1),absb(1,1)) end module rrsw_kg22 module rrsw_kg23 use parkind ,only : im => kind_im, rb => kind_rb use parrrsw, only : ng23 implicit none save !----------------------------------------------------------------- ! rrtmg_sw ORIGINAL abs. coefficients for interval 23 ! band 23: 8050-12850 cm-1 (low - h2o; high - nothing) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! kao : real ! kbo : real ! selfrefo: real ! forrefo : real !sfluxrefo: real !----------------------------------------------------------------- integer(kind=im), parameter :: no23 = 16 real(kind=rb) :: kao(5,13,no23) real(kind=rb) :: selfrefo(10,no23), forrefo(3,no23) real(kind=rb) :: sfluxrefo(no23) real(kind=rb) :: raylo(no23) !----------------------------------------------------------------- ! rrtmg_sw COMBINED abs. coefficients for interval 23 ! band 23: 8050-12850 cm-1 (low - h2o; high - nothing) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! ka : real ! kb : real ! absa : real ! absb : real ! selfref : real ! forref : real ! sfluxref: real !----------------------------------------------------------------- real(kind=rb) :: ka(5,13,ng23), absa(65,ng23) real(kind=rb) :: selfref(10,ng23), forref(3,ng23) real(kind=rb) :: sfluxref(ng23), rayl(ng23) equivalence (ka(1,1,1),absa(1,1)) end module rrsw_kg23 module rrsw_kg24 use parkind ,only : im => kind_im, rb => kind_rb use parrrsw, only : ng24 implicit none save !----------------------------------------------------------------- ! rrtmg_sw ORIGINAL abs. coefficients for interval 24 ! band 24: 12850-16000 cm-1 (low - h2o,o2; high - o2) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! kao : real ! kbo : real ! selfrefo: real ! forrefo : real !sfluxrefo: real ! abso3ao : real ! abso3bo : real ! raylao : real ! raylbo : real !----------------------------------------------------------------- integer(kind=im), parameter :: no24 = 16 real(kind=rb) :: kao(9,5,13,no24) real(kind=rb) :: kbo(5,13:59,no24) real(kind=rb) :: selfrefo(10,no24), forrefo(3,no24) real(kind=rb) :: sfluxrefo(no24,9) real(kind=rb) :: abso3ao(no24), abso3bo(no24) real(kind=rb) :: raylao(no24,9), raylbo(no24) !----------------------------------------------------------------- ! rrtmg_sw COMBINED abs. coefficients for interval 24 ! band 24: 12850-16000 cm-1 (low - h2o,o2; high - o2) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! ka : real ! kb : real ! absa : real ! absb : real ! selfref : real ! forref : real ! sfluxref: real ! abso3a : real ! abso3b : real ! rayla : real ! raylb : real !----------------------------------------------------------------- real(kind=rb) :: ka(9,5,13,ng24), absa(585,ng24) real(kind=rb) :: kb(5,13:59,ng24), absb(235,ng24) real(kind=rb) :: selfref(10,ng24), forref(3,ng24) real(kind=rb) :: sfluxref(ng24,9) real(kind=rb) :: abso3a(ng24), abso3b(ng24) real(kind=rb) :: rayla(ng24,9), raylb(ng24) equivalence (ka(1,1,1,1),absa(1,1)), (kb(1,13,1),absb(1,1)) end module rrsw_kg24 module rrsw_kg25 use parkind ,only : im => kind_im, rb => kind_rb use parrrsw, only : ng25 implicit none save !----------------------------------------------------------------- ! rrtmg_sw ORIGINAL abs. coefficients for interval 25 ! band 25: 16000-22650 cm-1 (low - h2o; high - nothing) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! kao : real !sfluxrefo: real ! abso3ao : real ! abso3bo : real ! raylo : real !----------------------------------------------------------------- integer(kind=im), parameter :: no25 = 16 real(kind=rb) :: kao(5,13,no25) real(kind=rb) :: sfluxrefo(no25) real(kind=rb) :: abso3ao(no25), abso3bo(no25) real(kind=rb) :: raylo(no25) !----------------------------------------------------------------- ! rrtmg_sw COMBINED abs. coefficients for interval 25 ! band 25: 16000-22650 cm-1 (low - h2o; high - nothing) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! ka : real ! absa : real ! sfluxref: real ! abso3a : real ! abso3b : real ! rayl : real !----------------------------------------------------------------- real(kind=rb) :: ka(5,13,ng25), absa(65,ng25) real(kind=rb) :: sfluxref(ng25) real(kind=rb) :: abso3a(ng25), abso3b(ng25) real(kind=rb) :: rayl(ng25) equivalence (ka(1,1,1),absa(1,1)) end module rrsw_kg25 module rrsw_kg26 use parkind ,only : im => kind_im, rb => kind_rb use parrrsw, only : ng26 implicit none save !----------------------------------------------------------------- ! rrtmg_sw ORIGINAL abs. coefficients for interval 26 ! band 26: 22650-29000 cm-1 (low - nothing; high - nothing) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- !sfluxrefo: real ! raylo : real !----------------------------------------------------------------- integer(kind=im), parameter :: no26 = 16 real(kind=rb) :: sfluxrefo(no26) real(kind=rb) :: raylo(no26) !----------------------------------------------------------------- ! rrtmg_sw COMBINED abs. coefficients for interval 26 ! band 26: 22650-29000 cm-1 (low - nothing; high - nothing) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! sfluxref: real ! rayl : real !----------------------------------------------------------------- real(kind=rb) :: sfluxref(ng26) real(kind=rb) :: rayl(ng26) end module rrsw_kg26 module rrsw_kg27 use parkind ,only : im => kind_im, rb => kind_rb use parrrsw, only : ng27 implicit none save !----------------------------------------------------------------- ! rrtmg_sw ORIGINAL abs. coefficients for interval 27 ! band 27: 29000-38000 cm-1 (low - o3; high - o3) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! kao : real ! kbo : real !sfluxrefo: real ! raylo : real !----------------------------------------------------------------- integer(kind=im), parameter :: no27 = 16 real(kind=rb) :: kao(5,13,no27) real(kind=rb) :: kbo(5,13:59,no27) real(kind=rb) :: sfluxrefo(no27) real(kind=rb) :: raylo(no27) !----------------------------------------------------------------- ! rrtmg_sw COMBINED abs. coefficients for interval 27 ! band 27: 29000-38000 cm-1 (low - o3; high - o3) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! ka : real ! kb : real ! absa : real ! absb : real ! sfluxref: real ! rayl : real !----------------------------------------------------------------- real(kind=rb) :: ka(5,13,ng27), absa(65,ng27) real(kind=rb) :: kb(5,13:59,ng27), absb(235,ng27) real(kind=rb) :: sfluxref(ng27) real(kind=rb) :: rayl(ng27) equivalence (ka(1,1,1),absa(1,1)), (kb(1,13,1),absb(1,1)) end module rrsw_kg27 module rrsw_kg28 use parkind ,only : im => kind_im, rb => kind_rb use parrrsw, only : ng28 implicit none save !----------------------------------------------------------------- ! rrtmg_sw ORIGINAL abs. coefficients for interval 28 ! band 28: 38000-50000 cm-1 (low - o3, o2; high - o3, o2) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! kao : real ! kbo : real !sfluxrefo: real !----------------------------------------------------------------- integer(kind=im), parameter :: no28 = 16 real(kind=rb) :: kao(9,5,13,no28) real(kind=rb) :: kbo(5,5,13:59,no28) real(kind=rb) :: sfluxrefo(no28,5) real(kind=rb) :: rayl !----------------------------------------------------------------- ! rrtmg_sw COMBINED abs. coefficients for interval 28 ! band 28: 38000-50000 cm-1 (low - o3, o2; high - o3, o2) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! ka : real ! kb : real ! sfluxref: real !----------------------------------------------------------------- real(kind=rb) :: ka(9,5,13,ng28), absa(585,ng28) real(kind=rb) :: kb(5,5,13:59,ng28), absb(1175,ng28) real(kind=rb) :: sfluxref(ng28,5) equivalence (ka(1,1,1,1),absa(1,1)), (kb(1,1,13,1),absb(1,1)) end module rrsw_kg28 module rrsw_kg29 use parkind ,only : im => kind_im, rb => kind_rb use parrrsw, only : ng29 implicit none save !----------------------------------------------------------------- ! rrtmg_sw ORIGINAL abs. coefficients for interval 29 ! band 29: 820-2600 cm-1 (low - h2o; high - co2) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! kao : real ! kbo : real ! selfrefo: real ! forrefo : real !sfluxrefo: real ! absh2oo : real ! absco2o : real !----------------------------------------------------------------- integer(kind=im), parameter :: no29 = 16 real(kind=rb) :: kao(5,13,no29) real(kind=rb) :: kbo(5,13:59,no29) real(kind=rb) :: selfrefo(10,no29), forrefo(4,no29) real(kind=rb) :: sfluxrefo(no29) real(kind=rb) :: absh2oo(no29), absco2o(no29) real(kind=rb) :: rayl !----------------------------------------------------------------- ! rrtmg_sw COMBINED abs. coefficients for interval 29 ! band 29: 820-2600 cm-1 (low - h2o; high - co2) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! ka : real ! kb : real ! selfref : real ! forref : real ! sfluxref: real ! absh2o : real ! absco2 : real !----------------------------------------------------------------- real(kind=rb) :: ka(5,13,ng29), absa(65,ng29) real(kind=rb) :: kb(5,13:59,ng29), absb(235,ng29) real(kind=rb) :: selfref(10,ng29), forref(4,ng29) real(kind=rb) :: sfluxref(ng29) real(kind=rb) :: absh2o(ng29), absco2(ng29) equivalence (ka(1,1,1),absa(1,1)), (kb(1,13,1),absb(1,1)) end module rrsw_kg29 module rrsw_ncpar use parkind ,only : im => kind_im, rb => kind_rb implicit none save real(kind=rb), parameter :: cpdair = 1003.5 ! Specific heat capacity of dry air ! at constant pressure at 273 K ! (J kg-1 K-1) integer(kind=im), dimension(50) :: status integer(kind=im) :: i integer(kind=im), parameter :: keylower = 9, & keyupper = 5, & Tdiff = 5, & ps = 59, & plower = 13, & pupper = 47, & Tself = 10, & Tforeignlower = 3, & Tforeignupper = 2, & pforeign = 4, & T = 19, & band = 14, & GPoint = 16, & GPointSet = 2 integer(kind=im), parameter :: maxAbsorberNameLength = 5, & Absorber = 12, & maxKeySpeciesNameLength = 3, & maxKeySpeciesNames = 2 character(len = maxAbsorberNameLength), dimension(Absorber), parameter :: & AbsorberNames = (/ & 'N2 ', & 'CCL4 ', & 'CFC11', & 'CFC12', & 'CFC22', & 'H2O ', & 'CO2 ', & 'O3 ', & 'N2O ', & 'CO ', & 'CH4 ', & 'O2 ' /) character(len = maxKeySpeciesNameLength), dimension(band,maxKeySpeciesNames), parameter :: & KeySpeciesNamesLower = RESHAPE( SOURCE = (/ 'H2O', 'H2O', 'H2O', 'H2O', 'H2O', 'H2O', 'H2O', & 'H2O', 'H2O', 'H2O', ' ', 'O3 ', 'O3 ', 'H2O', & 'CH4', 'CO2', 'CH4', 'CO2', ' ', 'CO2', 'O2 ', & ' ', 'O2 ', ' ', ' ', ' ', 'O2 ', ' ' /), & SHAPE = (/ band, maxKeySpeciesNames /) ) character(len = maxKeySpeciesNameLength), dimension(band,maxKeySpeciesNames), parameter :: & KeySpeciesNamesUpper = RESHAPE( SOURCE = (/ 'CH4', 'H2O', 'CH4', 'CO2', 'H2O', 'H2O', 'O2 ', & ' ', 'O2 ', ' ', ' ', 'O3 ', 'O3 ', 'CO2', & ' ', 'CO2', ' ', ' ', ' ', 'CO2', ' ', & ' ', ' ', ' ', ' ', ' ', 'O2 ', ' ' /), & SHAPE = (/ band, maxKeySpeciesNames /) ) integer(kind=im), dimension(band) :: BandNums = (/ 16, 17, 18, 19, 20, 21, 22, & 23, 24, 25, 26, 27, 28, 29 /) real(kind=rb), dimension(keylower) :: KeySpeciesLower = (/ 1.0, 0.125, 0.25, 0.375, & 0.50, 0.625, 0.75, 0.875, 1.0 /) real(kind=rb), dimension(keyupper) :: KeySpeciesUpper = (/ 0.0, 0.25, 0.50, 0.75, 1.0 /) real(kind=rb), dimension(Tdiff) :: TempDiffs = (/ -30, -15, 0, 15, 30 /) real(kind=rb), dimension(Tself) :: TempSelf = (/ 245.6,252.8,260.0,267.2,274.4, & 281.6,288.8,296.0,303.2,310.4 /) real(kind=rb), dimension(Tforeignlower) :: TempForeignlower = (/ 296, 260, 224 /) real(kind=rb), dimension(Tforeignupper) :: TempForeignupper = (/ 224, 260 /) real(kind=rb), dimension(pforeign) :: PressForeign = (/ 970, 475, 219, 3 /) real(kind=rb), dimension(T) :: Temp = (/188.0, 195.2, 202.4, 209.6, 216.8, 224.0, & 231.2, 238.4, 245.6, 252.8, 260.0, 267.2, & 274.4, 281.6, 288.8, 296.0, 303.2, 310.4, 317.6 /) contains subroutine getAbsorberIndex(AbsorberName,AbsorberIndex) character(len = *), intent(in) :: AbsorberName integer(kind=im), intent(out) :: AbsorberIndex integer(kind=im) :: m AbsorberIndex = -1 do m = 1, Absorber if (trim(AbsorberNames(m)) == trim(AbsorberName)) then AbsorberIndex = m end if end do if (AbsorberIndex == -1) then print*, "Absorber name index lookup failed." end if end subroutine getAbsorberIndex end module rrsw_ncpar module rrsw_ref use parkind, only : im => kind_im, rb => kind_rb implicit none save !------------------------------------------------------------------ ! rrtmg_sw reference atmosphere ! Based on standard mid-latitude summer profile ! ! Initial version: JJMorcrette, ECMWF, jul1998 ! Revised: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !------------------------------------------------------------------ ! name type purpose ! ----- : ---- : ---------------------------------------------- ! pref : real : Reference pressure levels ! preflog: real : Reference pressure levels, ln(pref) ! tref : real : Reference temperature levels for MLS profile !------------------------------------------------------------------ real(kind=rb) , dimension(59) :: pref real(kind=rb) , dimension(59) :: preflog real(kind=rb) , dimension(59) :: tref end module rrsw_ref module rrsw_tbl use parkind, only : im => kind_im, rb => kind_rb implicit none save !------------------------------------------------------------------ ! rrtmg_sw lookup table arrays ! Initial version: MJIacono, AER, may2007 ! Revised: MJIacono, AER, aug2007 ! Revised: MJIacono, AER, aug2008 !------------------------------------------------------------------ ! name type purpose ! ----- : ---- : ---------------------------------------------- ! ntbl : integer: Lookup table dimension ! tblint : real : Lookup table conversion factor ! tau_tbl: real : Clear-sky optical depth ! exp_tbl: real : Exponential lookup table for transmittance ! od_lo : real : Value of tau below which expansion is used ! : in place of lookup table ! pade : real : Pade approximation constant ! bpade : real : Inverse of Pade constant !------------------------------------------------------------------ integer(kind=im), parameter :: ntbl = 10000 real(kind=rb), parameter :: tblint = 10000.0_rb real(kind=rb), parameter :: od_lo = 0.06_rb real(kind=rb) :: tau_tbl real(kind=rb) , dimension(0:ntbl) :: exp_tbl real(kind=rb), parameter :: pade = 0.278_rb real(kind=rb) :: bpade end module rrsw_tbl module rrsw_vsn implicit none save !------------------------------------------------------------------ ! rrtmg_sw version information ! Initial version: JJMorcrette, ECMWF, jul1998 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !------------------------------------------------------------------ ! name type purpose ! ----- : ---- : ---------------------------------------------- !hnamrtm :character: !hnamini :character: !hnamcld :character: !hnamclc :character: !hnamrft :character: !hnamspv :character: !hnamspc :character: !hnamset :character: !hnamtau :character: !hnamvqd :character: !hnamatm :character: !hnamutl :character: !hnamext :character: !hnamkg :character: ! ! hvrrtm :character: ! hvrini :character: ! hvrcld :character: ! hvrclc :character: ! hvrrft :character: ! hvrspv :character: ! hvrspc :character: ! hvrset :character: ! hvrtau :character: ! hvrvqd :character: ! hvratm :character: ! hvrutl :character: ! hvrext :character: ! hvrkg :character: !------------------------------------------------------------------ character*18 hvrrtm,hvrini,hvrcld,hvrclc,hvrrft,hvrspv, & hvrspc,hvrset,hvrtau,hvrvqd,hvratm,hvrutl,hvrext character*20 hnamrtm,hnamini,hnamcld,hnamclc,hnamrft,hnamspv, & hnamspc,hnamset,hnamtau,hnamvqd,hnamatm,hnamutl,hnamext character*18 hvrkg character*20 hnamkg end module rrsw_vsn module rrsw_wvn use parkind, only : im => kind_im, rb => kind_rb use parrrsw, only : nbndsw, mg, ngptsw, jpb1, jpb2 implicit none save !------------------------------------------------------------------ ! rrtmg_sw spectral information ! Initial version: JJMorcrette, ECMWF, jul1998 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !------------------------------------------------------------------ ! name type purpose ! ----- : ---- : ---------------------------------------------- ! ng : integer: Number of original g-intervals in each spectral band ! nspa : integer: ! nspb : integer: !wavenum1: real : Spectral band lower boundary in wavenumbers !wavenum2: real : Spectral band upper boundary in wavenumbers ! delwave: real : Spectral band width in wavenumbers ! ! ngc : integer: The number of new g-intervals in each band ! ngs : integer: The cumulative sum of new g-intervals for each band ! ngm : integer: The index of each new g-interval relative to the ! original 16 g-intervals in each band ! ngn : integer: The number of original g-intervals that are ! combined to make each new g-intervals in each band ! ngb : integer: The band index for each new g-interval ! wt : real : RRTM weights for the original 16 g-intervals ! rwgt : real : Weights for combining original 16 g-intervals ! (224 total) into reduced set of g-intervals ! (112 total) !------------------------------------------------------------------ integer(kind=im) :: ng(jpb1:jpb2) integer(kind=im) :: nspa(jpb1:jpb2) integer(kind=im) :: nspb(jpb1:jpb2) real(kind=rb) :: wavenum1(jpb1:jpb2) real(kind=rb) :: wavenum2(jpb1:jpb2) real(kind=rb) :: delwave(jpb1:jpb2) integer(kind=im) :: ngc(nbndsw) integer(kind=im) :: ngs(nbndsw) integer(kind=im) :: ngn(ngptsw) integer(kind=im) :: ngb(ngptsw) integer(kind=im) :: ngm(nbndsw*mg) real(kind=rb) :: wt(mg) real(kind=rb) :: rwgt(nbndsw*mg) end module rrsw_wvn #endif ================================================ FILE: APM/apm_rrtmg_src.F90 ================================================ #ifdef APM ! path: $Source: /storm/rc1/cvsroot/rc/rrtmg_sw/src/rrtmg_sw_cldprop.f90,v $ ! author: $Author: mike $ ! revision: $Revision: 1.8 $ ! created: $Date: 2009/05/22 22:22:21 $ module rrtmg_sw_cldprop ! -------------------------------------------------------------------------- ! | | ! | Copyright 2002-2009, Atmospheric & Environmental Research, Inc. (AER). | ! | This software may be used, copied, or redistributed as long as it is | ! | not sold and this copyright notice is reproduced on each copy made. | ! | This model is provided as is without any express or implied warranties. | ! | (http://www.rtweb.aer.com/) | ! | | ! -------------------------------------------------------------------------- ! ------- Modules ------- use parkind, only : im => kind_im, rb => kind_rb use parrrsw, only : nbndsw, jpband, jpb1, jpb2 use rrsw_cld, only : extliq1, ssaliq1, asyliq1, & extice2, ssaice2, asyice2, & extice3, ssaice3, asyice3, fdlice3, & abari, bbari, cbari, dbari, ebari, fbari use rrsw_wvn, only : wavenum1, wavenum2 use rrsw_vsn, only : hvrcld, hnamcld implicit none contains ! ---------------------------------------------------------------------------- subroutine cldprop_sw(nlayers, inflag, iceflag, liqflag, cldfrac, & tauc, ssac, asmc, fsfc, ciwp, clwp, rei, rel, & taucldorig, taucloud, ssacloud, asmcloud) ! ---------------------------------------------------------------------------- ! Purpose: Compute the cloud optical properties for each cloudy layer. ! Note: Only inflag = 0 and inflag=2/liqflag=1/iceflag=1,2,3 are available; ! (Hu & Stamnes, Ebert and Curry, Key, and Fu) are implemented. ! ------- Input ------- integer(kind=im), intent(in) :: nlayers ! total number of layers integer(kind=im), intent(in) :: inflag ! see definitions integer(kind=im), intent(in) :: iceflag ! see definitions integer(kind=im), intent(in) :: liqflag ! see definitions real(kind=rb), intent(in) :: cldfrac(:) ! cloud fraction ! Dimensions: (nlayers) real(kind=rb), intent(in) :: ciwp(:) ! cloud ice water path ! Dimensions: (nlayers) real(kind=rb), intent(in) :: clwp(:) ! cloud liquid water path ! Dimensions: (nlayers) real(kind=rb), intent(in) :: rei(:) ! cloud ice particle effective size (microns) ! Dimensions: (nlayers) ! specific definition of rei depends on setting of iceflag: ! iceflag = 0: (inactive) ! ! iceflag = 1: ice effective radius, r_ec, (Ebert and Curry, 1992), ! r_ec range is limited to 13.0 to 130.0 microns ! iceflag = 2: ice effective radius, r_k, (Key, Streamer Ref. Manual, 1996) ! r_k range is limited to 5.0 to 131.0 microns ! iceflag = 3: generalized effective size, dge, (Fu, 1996), ! dge range is limited to 5.0 to 140.0 microns ! [dge = 1.0315 * r_ec] real(kind=rb), intent(in) :: rel(:) ! cloud liquid particle effective radius (microns) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: tauc(:,:) ! cloud optical depth ! Dimensions: (nbndsw,nlayers) real(kind=rb), intent(in) :: ssac(:,:) ! single scattering albedo ! Dimensions: (nbndsw,nlayers) real(kind=rb), intent(in) :: asmc(:,:) ! asymmetry parameter ! Dimensions: (nbndsw,nlayers) real(kind=rb), intent(in) :: fsfc(:,:) ! forward scattering fraction ! Dimensions: (nbndsw,nlayers) ! ------- Output ------- real(kind=rb), intent(out) :: taucloud(:,:) ! cloud optical depth (delta scaled) ! Dimensions: (nlayers,jpband) real(kind=rb), intent(out) :: taucldorig(:,:) ! cloud optical depth (non-delta scaled) ! Dimensions: (nlayers,jpband) real(kind=rb), intent(out) :: ssacloud(:,:) ! single scattering albedo (delta scaled) ! Dimensions: (nlayers,jpband) real(kind=rb), intent(out) :: asmcloud(:,:) ! asymmetry parameter (delta scaled) ! Dimensions: (nlayers,jpband) ! ------- Local ------- ! integer(kind=im) :: ncbands integer(kind=im) :: ib, ib1, ib2, lay, istr, index, icx real(kind=rb), parameter :: eps = 1.e-06_rb ! epsilon real(kind=rb), parameter :: cldmin = 1.e-20_rb ! minimum value for cloud quantities real(kind=rb) :: cwp ! total cloud water path real(kind=rb) :: radliq ! cloud liquid droplet radius (microns) real(kind=rb) :: radice ! cloud ice effective size (microns) real(kind=rb) :: factor real(kind=rb) :: fint real(kind=rb) :: tauctot(nlayers) ! band integrated cloud optical depth real(kind=rb) :: taucldorig_a, ssacloud_a, taucloud_a, ffp, ffp1, ffpssa real(kind=rb) :: tauiceorig, scatice, ssaice, tauice, tauliqorig, scatliq, ssaliq, tauliq real(kind=rb) :: fdelta(jpb1:jpb2) real(kind=rb) :: extcoice(jpb1:jpb2), gice(jpb1:jpb2) real(kind=rb) :: ssacoice(jpb1:jpb2), forwice(jpb1:jpb2) real(kind=rb) :: extcoliq(jpb1:jpb2), gliq(jpb1:jpb2) real(kind=rb) :: ssacoliq(jpb1:jpb2), forwliq(jpb1:jpb2) ! Initialize hvrcld = '$Revision: 1.8 $' ! ncbands = 29 ib1 = jpb1 ib2 = jpb2 tauctot(:) = 0._rb do lay = 1, nlayers do ib = ib1 , ib2 taucldorig(lay,ib) = tauc(ib-15,lay) taucloud(lay,ib) = 0.0_rb ssacloud(lay,ib) = 1.0_rb asmcloud(lay,ib) = 0.0_rb tauctot(lay) = tauctot(lay) + tauc(ib-15,lay) enddo enddo ! Main layer loop do lay = 1, nlayers cwp = ciwp(lay) + clwp(lay) if (cldfrac(lay) .ge. cldmin .and. & (cwp .ge. cldmin .or. tauctot(lay) .ge. cldmin)) then ! (inflag=0): Cloud optical properties input directly ! Cloud optical properties already defined in tauc, ssac, asmc are unscaled; ! Apply delta-M scaling here if (inflag .eq. 0) then do ib = ib1 , ib2 taucldorig_a = tauc(ib-15,lay) ffp = fsfc(ib-15,lay) ffp1 = 1.0_rb - ffp ffpssa = 1.0_rb - ffp * ssac(ib-15,lay) ssacloud_a = ffp1 * ssac(ib-15,lay) / ffpssa taucloud_a = ffpssa * taucldorig_a taucldorig(lay,ib) = taucldorig_a ssacloud(lay,ib) = ssacloud_a taucloud(lay,ib) = taucloud_a asmcloud(lay,ib) = (asmc(ib-15,lay) - ffp) / (ffp1) enddo ! (inflag=2): Separate treatement of ice clouds and water clouds. elseif (inflag .eq. 2) then radice = rei(lay) ! Calculation of absorption coefficients due to ice clouds. if (ciwp(lay) .eq. 0.0_rb) then do ib = ib1 , ib2 extcoice(ib) = 0.0_rb ssacoice(ib) = 0.0_rb gice(ib) = 0.0_rb forwice(ib) = 0.0_rb enddo ! (iceflag = 1): ! Note: This option uses Ebert and Curry approach for all particle sizes similar to ! CAM3 implementation, though this is somewhat ineffective for large ice particles elseif (iceflag .eq. 1) then if (radice .lt. 13.0_rb .or. radice .gt. 130._rb) stop & 'ICE RADIUS OUT OF BOUNDS' do ib = ib1, ib2 if (wavenum2(ib) .gt. 1.43e04_rb) then icx = 1 elseif (wavenum2(ib) .gt. 7.7e03_rb) then icx = 2 elseif (wavenum2(ib) .gt. 5.3e03_rb) then icx = 3 elseif (wavenum2(ib) .gt. 4.0e03_rb) then icx = 4 elseif (wavenum2(ib) .ge. 2.5e03_rb) then icx = 5 endif extcoice(ib) = abari(icx) + bbari(icx)/radice ssacoice(ib) = 1._rb - cbari(icx) - dbari(icx) * radice gice(ib) = ebari(icx) + fbari(icx) * radice ! Check to ensure upper limit of gice is within physical limits for large particles if (gice(ib) .ge. 1.0_rb) gice(ib) = 1.0_rb - eps forwice(ib) = gice(ib)*gice(ib) ! Check to ensure all calculated quantities are within physical limits. if (extcoice(ib) .lt. 0.0_rb) stop 'ICE EXTINCTION LESS THAN 0.0' if (ssacoice(ib) .gt. 1.0_rb) stop 'ICE SSA GRTR THAN 1.0' if (ssacoice(ib) .lt. 0.0_rb) stop 'ICE SSA LESS THAN 0.0' if (gice(ib) .gt. 1.0_rb) stop 'ICE ASYM GRTR THAN 1.0' if (gice(ib) .lt. 0.0_rb) stop 'ICE ASYM LESS THAN 0.0' enddo ! For iceflag=2 option, ice particle effective radius is limited to 5.0 to 131.0 microns elseif (iceflag .eq. 2) then if (radice .lt. 5.0_rb .or. radice .gt. 131.0_rb) stop 'ICE RADIUS OUT OF BOUNDS' factor = (radice - 2._rb)/3._rb index = int(factor) if (index .eq. 43) index = 42 fint = factor - float(index) do ib = ib1, ib2 extcoice(ib) = extice2(index,ib) + fint * & (extice2(index+1,ib) - extice2(index,ib)) ssacoice(ib) = ssaice2(index,ib) + fint * & (ssaice2(index+1,ib) - ssaice2(index,ib)) gice(ib) = asyice2(index,ib) + fint * & (asyice2(index+1,ib) - asyice2(index,ib)) forwice(ib) = gice(ib)*gice(ib) ! Check to ensure all calculated quantities are within physical limits. if (extcoice(ib) .lt. 0.0_rb) stop 'ICE EXTINCTION LESS THAN 0.0' if (ssacoice(ib) .gt. 1.0_rb) stop 'ICE SSA GRTR THAN 1.0' if (ssacoice(ib) .lt. 0.0_rb) stop 'ICE SSA LESS THAN 0.0' if (gice(ib) .gt. 1.0_rb) stop 'ICE ASYM GRTR THAN 1.0' if (gice(ib) .lt. 0.0_rb) stop 'ICE ASYM LESS THAN 0.0' enddo ! For iceflag=3 option, ice particle generalized effective size is limited to 5.0 to 140.0 microns elseif (iceflag .eq. 3) then if (radice .lt. 5.0_rb .or. radice .gt. 140.0_rb) stop 'ICE GENERALIZED EFFECTIVE SIZE OUT OF BOUNDS' factor = (radice - 2._rb)/3._rb index = int(factor) if (index .eq. 46) index = 45 fint = factor - float(index) do ib = ib1 , ib2 extcoice(ib) = extice3(index,ib) + fint * & (extice3(index+1,ib) - extice3(index,ib)) ssacoice(ib) = ssaice3(index,ib) + fint * & (ssaice3(index+1,ib) - ssaice3(index,ib)) gice(ib) = asyice3(index,ib) + fint * & (asyice3(index+1,ib) - asyice3(index,ib)) fdelta(ib) = fdlice3(index,ib) + fint * & (fdlice3(index+1,ib) - fdlice3(index,ib)) if (fdelta(ib) .lt. 0.0_rb) stop 'FDELTA LESS THAN 0.0' if (fdelta(ib) .gt. 1.0_rb) stop 'FDELTA GT THAN 1.0' forwice(ib) = fdelta(ib) + 0.5_rb / ssacoice(ib) ! See Fu 1996 p. 2067 if (forwice(ib) .gt. gice(ib)) forwice(ib) = gice(ib) ! Check to ensure all calculated quantities are within physical limits. if (extcoice(ib) .lt. 0.0_rb) stop 'ICE EXTINCTION LESS THAN 0.0' if (ssacoice(ib) .gt. 1.0_rb) stop 'ICE SSA GRTR THAN 1.0' if (ssacoice(ib) .lt. 0.0_rb) stop 'ICE SSA LESS THAN 0.0' if (gice(ib) .gt. 1.0_rb) stop 'ICE ASYM GRTR THAN 1.0' if (gice(ib) .lt. 0.0_rb) stop 'ICE ASYM LESS THAN 0.0' enddo endif ! Calculation of absorption coefficients due to water clouds. if (clwp(lay) .eq. 0.0_rb) then do ib = ib1 , ib2 extcoliq(ib) = 0.0_rb ssacoliq(ib) = 0.0_rb gliq(ib) = 0.0_rb forwliq(ib) = 0.0_rb enddo elseif (liqflag .eq. 1) then radliq = rel(lay) if (radliq .lt. 2.5_rb .or. radliq .gt. 60._rb) stop & 'LIQUID EFFECTIVE RADIUS OUT OF BOUNDS' index = int(radliq - 1.5_rb) if (index .eq. 0) index = 1 if (index .eq. 58) index = 57 fint = radliq - 1.5_rb - float(index) do ib = ib1 , ib2 extcoliq(ib) = extliq1(index,ib) + fint * & (extliq1(index+1,ib) - extliq1(index,ib)) ssacoliq(ib) = ssaliq1(index,ib) + fint * & (ssaliq1(index+1,ib) - ssaliq1(index,ib)) if (fint .lt. 0._rb .and. ssacoliq(ib) .gt. 1._rb) & ssacoliq(ib) = ssaliq1(index,ib) gliq(ib) = asyliq1(index,ib) + fint * & (asyliq1(index+1,ib) - asyliq1(index,ib)) forwliq(ib) = gliq(ib)*gliq(ib) ! Check to ensure all calculated quantities are within physical limits. if (extcoliq(ib) .lt. 0.0_rb) stop 'LIQUID EXTINCTION LESS THAN 0.0' if (ssacoliq(ib) .gt. 1.0_rb) stop 'LIQUID SSA GRTR THAN 1.0' if (ssacoliq(ib) .lt. 0.0_rb) stop 'LIQUID SSA LESS THAN 0.0' if (gliq(ib) .gt. 1.0_rb) stop 'LIQUID ASYM GRTR THAN 1.0' if (gliq(ib) .lt. 0.0_rb) stop 'LIQUID ASYM LESS THAN 0.0' enddo endif do ib = ib1 , ib2 tauliqorig = clwp(lay) * extcoliq(ib) tauiceorig = ciwp(lay) * extcoice(ib) taucldorig(lay,ib) = tauliqorig + tauiceorig ssaliq = ssacoliq(ib) * (1.0_rb - forwliq(ib)) / & (1.0_rb - forwliq(ib) * ssacoliq(ib)) tauliq = (1.0_rb - forwliq(ib) * ssacoliq(ib)) * tauliqorig ssaice = ssacoice(ib) * (1.0_rb - forwice(ib)) / & (1.0_rb - forwice(ib) * ssacoice(ib)) tauice = (1.0_rb - forwice(ib) * ssacoice(ib)) * tauiceorig scatliq = ssaliq * tauliq scatice = ssaice * tauice taucloud(lay,ib) = tauliq + tauice ! Ensure non-zero taucmc and scatice if (taucloud(lay,ib).eq.0.0_rb) taucloud(lay,ib) = cldmin if (scatice.eq.0.0_rb) scatice = cldmin ssacloud(lay,ib) = (scatliq + scatice) / taucloud(lay,ib) if (iceflag .eq. 3) then ! In accordance with the 1996 Fu paper, equation A.3, ! the moments for ice were calculated depending on whether using spheres ! or hexagonal ice crystals. istr = 1 asmcloud(lay,ib) = (1.0_rb/(scatliq+scatice)) * & (scatliq*(gliq(ib)**istr - forwliq(ib)) / & (1.0_rb - forwliq(ib)) + scatice * ((gice(ib)-forwice(ib)) / & (1.0_rb - forwice(ib)))**istr) else ! This code is the standard method for delta-m scaling. istr = 1 asmcloud(lay,ib) = (scatliq * & (gliq(ib)**istr - forwliq(ib)) / & (1.0_rb - forwliq(ib)) + scatice * (gice(ib)**istr - forwice(ib)) / & (1.0_rb - forwice(ib)))/(scatliq + scatice) endif enddo endif endif ! End layer loop enddo end subroutine cldprop_sw end module rrtmg_sw_cldprop ! path: $Source: /storm/rc1/cvsroot/rc/rrtmg_sw/src/rrtmg_sw_cldprmc.f90,v $ ! author: $Author: mike $ ! revision: $Revision: 1.8 $ ! created: $Date: 2009/05/22 22:22:21 $ module rrtmg_sw_cldprmc ! -------------------------------------------------------------------------- ! | | ! | Copyright 2002-2009, Atmospheric & Environmental Research, Inc. (AER). | ! | This software may be used, copied, or redistributed as long as it is | ! | not sold and this copyright notice is reproduced on each copy made. | ! | This model is provided as is without any express or implied warranties. | ! | (http://www.rtweb.aer.com/) | ! | | ! -------------------------------------------------------------------------- ! ------- Modules ------- use parkind, only : im => kind_im, rb => kind_rb use parrrsw, only : ngptsw, jpband, jpb1, jpb2 use rrsw_cld, only : extliq1, ssaliq1, asyliq1, & extice2, ssaice2, asyice2, & extice3, ssaice3, asyice3, fdlice3, & abari, bbari, cbari, dbari, ebari, fbari use rrsw_wvn, only : wavenum1, wavenum2, ngb use rrsw_vsn, only : hvrclc, hnamclc implicit none contains ! ---------------------------------------------------------------------------- subroutine cldprmc_sw(nlayers, inflag, iceflag, liqflag, cldfmc, & ciwpmc, clwpmc, reicmc, relqmc, & taormc, taucmc, ssacmc, asmcmc, fsfcmc) ! ---------------------------------------------------------------------------- ! Purpose: Compute the cloud optical properties for each cloudy layer ! and g-point interval for use by the McICA method. ! Note: Only inflag = 0 and inflag=2/liqflag=1/iceflag=1,2,3 are available; ! (Hu & Stamnes, Ebert and Curry, Key, and Fu) are implemented. ! ------- Input ------- integer(kind=im), intent(in) :: nlayers ! total number of layers integer(kind=im), intent(in) :: inflag ! see definitions integer(kind=im), intent(in) :: iceflag ! see definitions integer(kind=im), intent(in) :: liqflag ! see definitions real(kind=rb), intent(in) :: cldfmc(:,:) ! cloud fraction [mcica] ! Dimensions: (ngptsw,nlayers) real(kind=rb), intent(in) :: ciwpmc(:,:) ! cloud ice water path [mcica] ! Dimensions: (ngptsw,nlayers) real(kind=rb), intent(in) :: clwpmc(:,:) ! cloud liquid water path [mcica] ! Dimensions: (ngptsw,nlayers) real(kind=rb), intent(in) :: relqmc(:) ! cloud liquid particle effective radius (microns) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: reicmc(:) ! cloud ice particle effective radius (microns) ! Dimensions: (nlayers) ! specific definition of reicmc depends on setting of iceflag: ! iceflag = 0: (inactive) ! ! iceflag = 1: ice effective radius, r_ec, (Ebert and Curry, 1992), ! r_ec range is limited to 13.0 to 130.0 microns ! iceflag = 2: ice effective radius, r_k, (Key, Streamer Ref. Manual, 1996) ! r_k range is limited to 5.0 to 131.0 microns ! iceflag = 3: generalized effective size, dge, (Fu, 1996), ! dge range is limited to 5.0 to 140.0 microns ! [dge = 1.0315 * r_ec] real(kind=rb), intent(in) :: fsfcmc(:,:) ! cloud forward scattering fraction ! Dimensions: (ngptsw,nlayers) ! ------- Output ------- real(kind=rb), intent(inout) :: taucmc(:,:) ! cloud optical depth (delta scaled) ! Dimensions: (ngptsw,nlayers) real(kind=rb), intent(inout) :: ssacmc(:,:) ! single scattering albedo (delta scaled) ! Dimensions: (ngptsw,nlayers) real(kind=rb), intent(inout) :: asmcmc(:,:) ! asymmetry parameter (delta scaled) ! Dimensions: (ngptsw,nlayers) real(kind=rb), intent(out) :: taormc(:,:) ! cloud optical depth (non-delta scaled) ! Dimensions: (ngptsw,nlayers) ! ------- Local ------- ! integer(kind=im) :: ncbands integer(kind=im) :: ib, lay, istr, index, icx, ig real(kind=rb), parameter :: eps = 1.e-06_rb ! epsilon real(kind=rb), parameter :: cldmin = 1.e-20_rb ! minimum value for cloud quantities real(kind=rb) :: cwp ! total cloud water path real(kind=rb) :: radliq ! cloud liquid droplet radius (microns) real(kind=rb) :: radice ! cloud ice effective size (microns) real(kind=rb) :: factor real(kind=rb) :: fint real(kind=rb) :: taucldorig_a, taucloud_a, ssacloud_a, ffp, ffp1, ffpssa real(kind=rb) :: tauiceorig, scatice, ssaice, tauice, tauliqorig, scatliq, ssaliq, tauliq real(kind=rb) :: fdelta(ngptsw) real(kind=rb) :: extcoice(ngptsw), gice(ngptsw) real(kind=rb) :: ssacoice(ngptsw), forwice(ngptsw) real(kind=rb) :: extcoliq(ngptsw), gliq(ngptsw) real(kind=rb) :: ssacoliq(ngptsw), forwliq(ngptsw) ! Initialize hvrclc = '$Revision: 1.8 $' ! Some of these initializations are done elsewhere do lay = 1, nlayers do ig = 1, ngptsw taormc(ig,lay) = taucmc(ig,lay) ! taucmc(ig,lay) = 0.0_rb ! ssacmc(ig,lay) = 1.0_rb ! asmcmc(ig,lay) = 0.0_rb enddo enddo ! Main layer loop do lay = 1, nlayers ! Main g-point interval loop do ig = 1, ngptsw cwp = ciwpmc(ig,lay) + clwpmc(ig,lay) if (cldfmc(ig,lay) .ge. cldmin .and. & (cwp .ge. cldmin .or. taucmc(ig,lay) .ge. cldmin)) then ! (inflag=0): Cloud optical properties input directly if (inflag .eq. 0) then ! Cloud optical properties already defined in taucmc, ssacmc, asmcmc are unscaled; ! Apply delta-M scaling here (using Henyey-Greenstein approximation) taucldorig_a = taucmc(ig,lay) ffp = fsfcmc(ig,lay) ffp1 = 1.0_rb - ffp ffpssa = 1.0_rb - ffp * ssacmc(ig,lay) ssacloud_a = ffp1 * ssacmc(ig,lay) / ffpssa taucloud_a = ffpssa * taucldorig_a taormc(ig,lay) = taucldorig_a ssacmc(ig,lay) = ssacloud_a taucmc(ig,lay) = taucloud_a asmcmc(ig,lay) = (asmcmc(ig,lay) - ffp) / (ffp1) elseif (inflag .eq. 1) then stop 'INFLAG = 1 OPTION NOT AVAILABLE WITH MCICA' ! (inflag=2): Separate treatement of ice clouds and water clouds. elseif (inflag .eq. 2) then radice = reicmc(lay) ! Calculation of absorption coefficients due to ice clouds. if (ciwpmc(ig,lay) .eq. 0.0_rb) then extcoice(ig) = 0.0_rb ssacoice(ig) = 0.0_rb gice(ig) = 0.0_rb forwice(ig) = 0.0_rb ! (iceflag = 1): ! Note: This option uses Ebert and Curry approach for all particle sizes similar to ! CAM3 implementation, though this is somewhat unjustified for large ice particles elseif (iceflag .eq. 1) then if (radice .lt. 13.0_rb .or. radice .gt. 130._rb) stop & 'ICE RADIUS OUT OF BOUNDS' ib = ngb(ig) if (wavenum2(ib) .gt. 1.43e04_rb) then icx = 1 elseif (wavenum2(ib) .gt. 7.7e03_rb) then icx = 2 elseif (wavenum2(ib) .gt. 5.3e03_rb) then icx = 3 elseif (wavenum2(ib) .gt. 4.0e03_rb) then icx = 4 elseif (wavenum2(ib) .ge. 2.5e03_rb) then icx = 5 endif extcoice(ig) = (abari(icx) + bbari(icx)/radice) ssacoice(ig) = 1._rb - cbari(icx) - dbari(icx) * radice gice(ig) = ebari(icx) + fbari(icx) * radice ! Check to ensure upper limit of gice is within physical limits for large particles if (gice(ig).ge.1._rb) gice(ig) = 1._rb - eps forwice(ig) = gice(ig)*gice(ig) ! Check to ensure all calculated quantities are within physical limits. if (extcoice(ig) .lt. 0.0_rb) stop 'ICE EXTINCTION LESS THAN 0.0' if (ssacoice(ig) .gt. 1.0_rb) stop 'ICE SSA GRTR THAN 1.0' if (ssacoice(ig) .lt. 0.0_rb) stop 'ICE SSA LESS THAN 0.0' if (gice(ig) .gt. 1.0_rb) stop 'ICE ASYM GRTR THAN 1.0' if (gice(ig) .lt. 0.0_rb) stop 'ICE ASYM LESS THAN 0.0' ! For iceflag=2 option, ice particle effective radius is limited to 5.0 to 131.0 microns elseif (iceflag .eq. 2) then if (radice .lt. 5.0_rb .or. radice .gt. 131.0_rb) stop 'ICE RADIUS OUT OF BOUNDS' factor = (radice - 2._rb)/3._rb index = int(factor) if (index .eq. 43) index = 42 fint = factor - float(index) ib = ngb(ig) extcoice(ig) = extice2(index,ib) + fint * & (extice2(index+1,ib) - extice2(index,ib)) ssacoice(ig) = ssaice2(index,ib) + fint * & (ssaice2(index+1,ib) - ssaice2(index,ib)) gice(ig) = asyice2(index,ib) + fint * & (asyice2(index+1,ib) - asyice2(index,ib)) forwice(ig) = gice(ig)*gice(ig) ! Check to ensure all calculated quantities are within physical limits. if (extcoice(ig) .lt. 0.0_rb) stop 'ICE EXTINCTION LESS THAN 0.0' if (ssacoice(ig) .gt. 1.0_rb) stop 'ICE SSA GRTR THAN 1.0' if (ssacoice(ig) .lt. 0.0_rb) stop 'ICE SSA LESS THAN 0.0' if (gice(ig) .gt. 1.0_rb) stop 'ICE ASYM GRTR THAN 1.0' if (gice(ig) .lt. 0.0_rb) stop 'ICE ASYM LESS THAN 0.0' ! For iceflag=3 option, ice particle generalized effective size is limited to 5.0 to 140.0 microns elseif (iceflag .eq. 3) then if (radice .lt. 5.0_rb .or. radice .gt. 140.0_rb) stop 'ICE GENERALIZED EFFECTIVE SIZE OUT OF BOUNDS' factor = (radice - 2._rb)/3._rb index = int(factor) if (index .eq. 46) index = 45 fint = factor - float(index) ib = ngb(ig) extcoice(ig) = extice3(index,ib) + fint * & (extice3(index+1,ib) - extice3(index,ib)) ssacoice(ig) = ssaice3(index,ib) + fint * & (ssaice3(index+1,ib) - ssaice3(index,ib)) gice(ig) = asyice3(index,ib) + fint * & (asyice3(index+1,ib) - asyice3(index,ib)) fdelta(ig) = fdlice3(index,ib) + fint * & (fdlice3(index+1,ib) - fdlice3(index,ib)) if (fdelta(ig) .lt. 0.0_rb) stop 'FDELTA LESS THAN 0.0' if (fdelta(ig) .gt. 1.0_rb) stop 'FDELTA GT THAN 1.0' forwice(ig) = fdelta(ig) + 0.5_rb / ssacoice(ig) ! See Fu 1996 p. 2067 if (forwice(ig) .gt. gice(ig)) forwice(ig) = gice(ig) ! Check to ensure all calculated quantities are within physical limits. if (extcoice(ig) .lt. 0.0_rb) stop 'ICE EXTINCTION LESS THAN 0.0' if (ssacoice(ig) .gt. 1.0_rb) stop 'ICE SSA GRTR THAN 1.0' if (ssacoice(ig) .lt. 0.0_rb) stop 'ICE SSA LESS THAN 0.0' if (gice(ig) .gt. 1.0_rb) stop 'ICE ASYM GRTR THAN 1.0' if (gice(ig) .lt. 0.0_rb) stop 'ICE ASYM LESS THAN 0.0' endif ! Calculation of absorption coefficients due to water clouds. if (clwpmc(ig,lay) .eq. 0.0_rb) then extcoliq(ig) = 0.0_rb ssacoliq(ig) = 0.0_rb gliq(ig) = 0.0_rb forwliq(ig) = 0.0_rb elseif (liqflag .eq. 1) then radliq = relqmc(lay) if (radliq .lt. 2.5_rb .or. radliq .gt. 60._rb) stop & 'LIQUID EFFECTIVE RADIUS OUT OF BOUNDS' index = int(radliq - 1.5_rb) if (index .eq. 0) index = 1 if (index .eq. 58) index = 57 fint = radliq - 1.5_rb - float(index) ib = ngb(ig) extcoliq(ig) = extliq1(index,ib) + fint * & (extliq1(index+1,ib) - extliq1(index,ib)) ssacoliq(ig) = ssaliq1(index,ib) + fint * & (ssaliq1(index+1,ib) - ssaliq1(index,ib)) if (fint .lt. 0._rb .and. ssacoliq(ig) .gt. 1._rb) & ssacoliq(ig) = ssaliq1(index,ib) gliq(ig) = asyliq1(index,ib) + fint * & (asyliq1(index+1,ib) - asyliq1(index,ib)) forwliq(ig) = gliq(ig)*gliq(ig) ! Check to ensure all calculated quantities are within physical limits. if (extcoliq(ig) .lt. 0.0_rb) stop 'LIQUID EXTINCTION LESS THAN 0.0' if (ssacoliq(ig) .gt. 1.0_rb) stop 'LIQUID SSA GRTR THAN 1.0' if (ssacoliq(ig) .lt. 0.0_rb) stop 'LIQUID SSA LESS THAN 0.0' if (gliq(ig) .gt. 1.0_rb) stop 'LIQUID ASYM GRTR THAN 1.0' if (gliq(ig) .lt. 0.0_rb) stop 'LIQUID ASYM LESS THAN 0.0' endif tauliqorig = clwpmc(ig,lay) * extcoliq(ig) tauiceorig = ciwpmc(ig,lay) * extcoice(ig) taormc(ig,lay) = tauliqorig + tauiceorig ssaliq = ssacoliq(ig) * (1._rb - forwliq(ig)) / & (1._rb - forwliq(ig) * ssacoliq(ig)) tauliq = (1._rb - forwliq(ig) * ssacoliq(ig)) * tauliqorig ssaice = ssacoice(ig) * (1._rb - forwice(ig)) / & (1._rb - forwice(ig) * ssacoice(ig)) tauice = (1._rb - forwice(ig) * ssacoice(ig)) * tauiceorig scatliq = ssaliq * tauliq scatice = ssaice * tauice taucmc(ig,lay) = tauliq + tauice ! Ensure non-zero taucmc and scatice if(taucmc(ig,lay).eq.0.) taucmc(ig,lay) = cldmin if(scatice.eq.0.) scatice = cldmin ssacmc(ig,lay) = (scatliq + scatice) / taucmc(ig,lay) if (iceflag .eq. 3) then ! In accordance with the 1996 Fu paper, equation A.3, ! the moments for ice were calculated depending on whether using spheres ! or hexagonal ice crystals. ! Set asymetry parameter to first moment (istr=1) istr = 1 asmcmc(ig,lay) = (1.0_rb/(scatliq+scatice))* & (scatliq*(gliq(ig)**istr - forwliq(ig)) / & (1.0_rb - forwliq(ig)) + scatice * ((gice(ig)-forwice(ig))/ & (1.0_rb - forwice(ig)))**istr) else ! This code is the standard method for delta-m scaling. ! Set asymetry parameter to first moment (istr=1) istr = 1 asmcmc(ig,lay) = (scatliq * & (gliq(ig)**istr - forwliq(ig)) / & (1.0_rb - forwliq(ig)) + scatice * (gice(ig)**istr - forwice(ig)) / & (1.0_rb - forwice(ig)))/(scatliq + scatice) endif endif endif ! End g-point interval loop enddo ! End layer loop enddo end subroutine cldprmc_sw end module rrtmg_sw_cldprmc ! path: $Source: /storm/rc1/cvsroot/rc/rrtmg_sw/src/rrtmg_sw_k_g.f90,v $ ! author: $Author: mike $ ! revision: $Revision: 1.4 $ ! created: $Date: 2009/05/22 22:22:22 $ ! -------------------------------------------------------------------------- ! | | ! | Copyright 2002-2009, Atmospheric & Environmental Research, Inc. (AER). | ! | This software may be used, copied, or redistributed as long as it is | ! | not sold and this copyright notice is reproduced on each copy made. | ! | This model is provided as is without any express or implied warranties. | ! | (http://www.rtweb.aer.com/) | ! | | ! -------------------------------------------------------------------------- ! ************************************************************************** ! subroutine sw_kgbnn ! ************************************************************************** ! RRTM Shortwave Radiative Transfer Model ! Atmospheric and Environmental Research, Inc., Cambridge, MA ! ! Original by J.Delamere, Atmospheric & Environmental Research. ! Reformatted for F90: JJMorcrette, ECMWF ! Further F90 and GCM revisions: MJIacono, AER, July 2002 ! ! This file contains 14 subroutines that include the ! absorption coefficients and other data for each of the 14 shortwave ! spectral bands used in RRTM_SW. Here, the data are defined for 16 ! g-points, or sub-intervals, per band. These data are combined and ! weighted using a mapping procedure in routine RRTMG_SW_INIT to reduce ! the total number of g-points from 224 to 112 for use in the GCM. ! ************************************************************************** subroutine sw_kgb16 ! ************************************************************************** use parkind, only : im => kind_im, rb => kind_rb use rrsw_kg16, only : kao, kbo, selfrefo, forrefo, sfluxrefo, rayl use rrsw_vsn, only: hvrkg, hnamkg implicit none save hvrkg = '$Revision: 1.4 $' ! Kurucz solar source function sfluxrefo(:) = (/ & & 1.92269_rb , 1.72844_rb , 1.64326_rb , 1.58451_rb & &, 1.44031_rb , 1.25108_rb , 1.02724_rb , 0.776759_rb & &, 0.534444_rb , 5.87755e-02_rb, 4.86706e-02_rb, 3.87989e-02_rb & &, 2.84532e-02_rb, 1.82431e-02_rb, 6.92320e-03_rb, 9.70770e-04_rb /) ! Rayleigh extinction coefficient at v = 2925 cm-1. rayl = 2.91e-10_rb ! ----------------------------------------------------------------- ! The array KAO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels> ~100mb, temperatures, and binary ! species parameters (see taumol.f for definition). The first ! index in the array, JS, runs from 1 to 9, and corresponds to ! different values of the binary species parameter. For instance, ! JS=1 refers to dry air, JS = 2 corresponds to the paramter value 1/8, ! JS = 3 corresponds to the parameter value 2/8, etc. The second index ! in the array, JT, which runs from 1 to 5, corresponds to different ! temperatures. More specifically, JT = 3 means that the data are for ! the reference temperature TREF for this pressure level, JT = 2 refers ! to TREF-15, JT = 1 is for TREF-30, JT = 4 is for TREF+15, and JT = 5 ! is for TREF+30. The third index, JP, runs from 1 to 13 and refers ! to the JPth reference pressure level (see taumol.f for these levels ! in mb). The fourth index, IG, goes from 1 to 16, and indicates ! which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kao(:, 1, 1, 1) = (/ & & 0.15349e-04_rb,0.89162e-04_rb,0.97706e-04_rb,0.96973e-04_rb,0.90703e-04_rb, & & 0.80393e-04_rb,0.67242e-04_rb,0.50804e-04_rb,0.23334e-04_rb /) kao(:, 2, 1, 1) = (/ & & 0.16138e-04_rb,0.89235e-04_rb,0.97696e-04_rb,0.96116e-04_rb,0.89625e-04_rb, & & 0.79382e-04_rb,0.66587e-04_rb,0.50583e-04_rb,0.24342e-04_rb /) kao(:, 3, 1, 1) = (/ & & 0.16801e-04_rb,0.89390e-04_rb,0.97492e-04_rb,0.95146e-04_rb,0.88483e-04_rb, & & 0.78325e-04_rb,0.65873e-04_rb,0.50342e-04_rb,0.25245e-04_rb /) kao(:, 4, 1, 1) = (/ & & 0.17584e-04_rb,0.89321e-04_rb,0.97141e-04_rb,0.93952e-04_rb,0.87141e-04_rb, & & 0.77126e-04_rb,0.65068e-04_rb,0.49985e-04_rb,0.26046e-04_rb /) kao(:, 5, 1, 1) = (/ & & 0.18258e-04_rb,0.89204e-04_rb,0.96602e-04_rb,0.92773e-04_rb,0.85832e-04_rb, & & 0.76015e-04_rb,0.64318e-04_rb,0.49612e-04_rb,0.26697e-04_rb /) kao(:, 1, 2, 1) = (/ & & 0.12783e-04_rb,0.77013e-04_rb,0.85056e-04_rb,0.84160e-04_rb,0.79021e-04_rb, & & 0.70101e-04_rb,0.58520e-04_rb,0.44007e-04_rb,0.19895e-04_rb /) kao(:, 2, 2, 1) = (/ & & 0.13452e-04_rb,0.77084e-04_rb,0.84929e-04_rb,0.83386e-04_rb,0.78122e-04_rb, & & 0.69293e-04_rb,0.57974e-04_rb,0.43855e-04_rb,0.20713e-04_rb /) kao(:, 3, 2, 1) = (/ & & 0.14066e-04_rb,0.77185e-04_rb,0.84612e-04_rb,0.82498e-04_rb,0.77177e-04_rb, & & 0.68443e-04_rb,0.57444e-04_rb,0.43722e-04_rb,0.21494e-04_rb /) kao(:, 4, 2, 1) = (/ & & 0.14678e-04_rb,0.76996e-04_rb,0.83962e-04_rb,0.81526e-04_rb,0.76049e-04_rb, & & 0.67485e-04_rb,0.56822e-04_rb,0.43530e-04_rb,0.22200e-04_rb /) kao(:, 5, 2, 1) = (/ & & 0.15258e-04_rb,0.76788e-04_rb,0.82821e-04_rb,0.80320e-04_rb,0.74845e-04_rb, & & 0.66487e-04_rb,0.56144e-04_rb,0.43262e-04_rb,0.22757e-04_rb /) kao(:, 1, 3, 1) = (/ & & 0.10474e-04_rb,0.66144e-04_rb,0.73703e-04_rb,0.72701e-04_rb,0.68638e-04_rb, & & 0.60826e-04_rb,0.50854e-04_rb,0.37989e-04_rb,0.17743e-04_rb /) kao(:, 2, 3, 1) = (/ & & 0.11024e-04_rb,0.66096e-04_rb,0.73447e-04_rb,0.72029e-04_rb,0.67858e-04_rb, & & 0.60163e-04_rb,0.50424e-04_rb,0.37886e-04_rb,0.18519e-04_rb /) kao(:, 3, 3, 1) = (/ & & 0.11534e-04_rb,0.65974e-04_rb,0.72795e-04_rb,0.71229e-04_rb,0.67005e-04_rb, & & 0.59442e-04_rb,0.49950e-04_rb,0.37779e-04_rb,0.19184e-04_rb /) kao(:, 4, 3, 1) = (/ & & 0.12091e-04_rb,0.65752e-04_rb,0.72003e-04_rb,0.70357e-04_rb,0.66129e-04_rb, & & 0.58718e-04_rb,0.49503e-04_rb,0.37690e-04_rb,0.19788e-04_rb /) kao(:, 5, 3, 1) = (/ & & 0.12560e-04_rb,0.65678e-04_rb,0.71013e-04_rb,0.69266e-04_rb,0.65076e-04_rb, & & 0.57873e-04_rb,0.48947e-04_rb,0.37519e-04_rb,0.20290e-04_rb /) kao(:, 1, 4, 1) = (/ & & 0.85236e-05_rb,0.56692e-04_rb,0.63625e-04_rb,0.62567e-04_rb,0.59412e-04_rb, & & 0.52601e-04_rb,0.43957e-04_rb,0.32602e-04_rb,0.16862e-04_rb /) kao(:, 2, 4, 1) = (/ & & 0.89886e-05_rb,0.56512e-04_rb,0.63288e-04_rb,0.61902e-04_rb,0.58733e-04_rb, & & 0.52036e-04_rb,0.43629e-04_rb,0.32592e-04_rb,0.17543e-04_rb /) kao(:, 3, 4, 1) = (/ & & 0.94085e-05_rb,0.56287e-04_rb,0.62588e-04_rb,0.61197e-04_rb,0.58020e-04_rb, & & 0.51469e-04_rb,0.43247e-04_rb,0.32567e-04_rb,0.18199e-04_rb /) kao(:, 4, 4, 1) = (/ & & 0.98830e-05_rb,0.55998e-04_rb,0.61716e-04_rb,0.60485e-04_rb,0.57250e-04_rb, & & 0.50840e-04_rb,0.42842e-04_rb,0.32520e-04_rb,0.18771e-04_rb /) kao(:, 5, 4, 1) = (/ & & 0.10278e-04_rb,0.55929e-04_rb,0.61011e-04_rb,0.59745e-04_rb,0.56462e-04_rb, & & 0.50254e-04_rb,0.42468e-04_rb,0.32457e-04_rb,0.19296e-04_rb /) kao(:, 1, 5, 1) = (/ & & 0.68852e-05_rb,0.48282e-04_rb,0.54761e-04_rb,0.53543e-04_rb,0.51345e-04_rb, & & 0.45380e-04_rb,0.37794e-04_rb,0.27880e-04_rb,0.14959e-04_rb /) kao(:, 2, 5, 1) = (/ & & 0.72830e-05_rb,0.48206e-04_rb,0.54379e-04_rb,0.52923e-04_rb,0.50723e-04_rb, & & 0.44903e-04_rb,0.37536e-04_rb,0.27938e-04_rb,0.15841e-04_rb /) kao(:, 3, 5, 1) = (/ & & 0.76436e-05_rb,0.47928e-04_rb,0.53597e-04_rb,0.52299e-04_rb,0.50061e-04_rb, & & 0.44426e-04_rb,0.37240e-04_rb,0.27962e-04_rb,0.16760e-04_rb /) kao(:, 4, 5, 1) = (/ & & 0.80055e-05_rb,0.47625e-04_rb,0.52896e-04_rb,0.51678e-04_rb,0.49302e-04_rb, & & 0.43902e-04_rb,0.36930e-04_rb,0.27968e-04_rb,0.17586e-04_rb /) kao(:, 5, 5, 1) = (/ & & 0.83555e-05_rb,0.47486e-04_rb,0.52258e-04_rb,0.51112e-04_rb,0.48444e-04_rb, & & 0.43409e-04_rb,0.36652e-04_rb,0.27966e-04_rb,0.18270e-04_rb /) kao(:, 1, 6, 1) = (/ & & 0.55363e-05_rb,0.40995e-04_rb,0.46991e-04_rb,0.45840e-04_rb,0.44200e-04_rb, & & 0.38984e-04_rb,0.32341e-04_rb,0.23743e-04_rb,0.12825e-04_rb /) kao(:, 2, 6, 1) = (/ & & 0.58741e-05_rb,0.40851e-04_rb,0.46490e-04_rb,0.45277e-04_rb,0.43651e-04_rb, & & 0.38565e-04_rb,0.32141e-04_rb,0.23813e-04_rb,0.13671e-04_rb /) kao(:, 3, 6, 1) = (/ & & 0.61821e-05_rb,0.40643e-04_rb,0.45850e-04_rb,0.44728e-04_rb,0.42924e-04_rb, & & 0.38164e-04_rb,0.31920e-04_rb,0.23858e-04_rb,0.14647e-04_rb /) kao(:, 4, 6, 1) = (/ & & 0.64614e-05_rb,0.40329e-04_rb,0.45202e-04_rb,0.44163e-04_rb,0.42054e-04_rb, & & 0.37723e-04_rb,0.31679e-04_rb,0.23886e-04_rb,0.15533e-04_rb /) kao(:, 5, 6, 1) = (/ & & 0.67675e-05_rb,0.40137e-04_rb,0.44578e-04_rb,0.43574e-04_rb,0.41267e-04_rb, & & 0.37271e-04_rb,0.31420e-04_rb,0.23883e-04_rb,0.16436e-04_rb /) kao(:, 1, 7, 1) = (/ & & 0.44217e-05_rb,0.34626e-04_rb,0.39970e-04_rb,0.39080e-04_rb,0.37744e-04_rb, & & 0.33237e-04_rb,0.27507e-04_rb,0.20074e-04_rb,0.11007e-04_rb /) kao(:, 2, 7, 1) = (/ & & 0.47104e-05_rb,0.34494e-04_rb,0.39592e-04_rb,0.38568e-04_rb,0.37283e-04_rb, & & 0.32875e-04_rb,0.27342e-04_rb,0.20149e-04_rb,0.11834e-04_rb /) kao(:, 3, 7, 1) = (/ & & 0.49764e-05_rb,0.34300e-04_rb,0.39007e-04_rb,0.38074e-04_rb,0.36415e-04_rb, & & 0.32528e-04_rb,0.27158e-04_rb,0.20213e-04_rb,0.12801e-04_rb /) kao(:, 4, 7, 1) = (/ & & 0.52135e-05_rb,0.34067e-04_rb,0.38449e-04_rb,0.37591e-04_rb,0.35661e-04_rb, & & 0.32173e-04_rb,0.26959e-04_rb,0.20265e-04_rb,0.13763e-04_rb /) kao(:, 5, 7, 1) = (/ & & 0.54275e-05_rb,0.33832e-04_rb,0.37875e-04_rb,0.37057e-04_rb,0.35065e-04_rb, & & 0.31800e-04_rb,0.26760e-04_rb,0.20278e-04_rb,0.14677e-04_rb /) kao(:, 1, 8, 1) = (/ & & 0.35317e-05_rb,0.29115e-04_rb,0.33824e-04_rb,0.33370e-04_rb,0.32237e-04_rb, & & 0.28331e-04_rb,0.23362e-04_rb,0.16932e-04_rb,0.96086e-05_rb /) kao(:, 2, 8, 1) = (/ & & 0.37854e-05_rb,0.29084e-04_rb,0.33632e-04_rb,0.32929e-04_rb,0.31805e-04_rb, & & 0.28018e-04_rb,0.23236e-04_rb,0.17006e-04_rb,0.10621e-04_rb /) kao(:, 3, 8, 1) = (/ & & 0.40127e-05_rb,0.28935e-04_rb,0.33190e-04_rb,0.32483e-04_rb,0.30936e-04_rb, & & 0.27716e-04_rb,0.23074e-04_rb,0.17087e-04_rb,0.11657e-04_rb /) kao(:, 4, 8, 1) = (/ & & 0.42184e-05_rb,0.28732e-04_rb,0.32711e-04_rb,0.32042e-04_rb,0.30351e-04_rb, & & 0.27404e-04_rb,0.22906e-04_rb,0.17140e-04_rb,0.12504e-04_rb /) kao(:, 5, 8, 1) = (/ & & 0.44040e-05_rb,0.28488e-04_rb,0.32207e-04_rb,0.31581e-04_rb,0.29852e-04_rb, & & 0.27086e-04_rb,0.22740e-04_rb,0.17166e-04_rb,0.13401e-04_rb /) kao(:, 1, 9, 1) = (/ & & 0.28004e-05_rb,0.24421e-04_rb,0.28507e-04_rb,0.28270e-04_rb,0.27415e-04_rb, & & 0.24038e-04_rb,0.19759e-04_rb,0.14209e-04_rb,0.88498e-05_rb /) kao(:, 2, 9, 1) = (/ & & 0.30342e-05_rb,0.24385e-04_rb,0.28391e-04_rb,0.27999e-04_rb,0.26969e-04_rb, & & 0.23770e-04_rb,0.19651e-04_rb,0.14288e-04_rb,0.10048e-04_rb /) kao(:, 3, 9, 1) = (/ & & 0.32304e-05_rb,0.24304e-04_rb,0.28136e-04_rb,0.27602e-04_rb,0.26246e-04_rb, & & 0.23508e-04_rb,0.19517e-04_rb,0.14360e-04_rb,0.11188e-04_rb /) kao(:, 4, 9, 1) = (/ & & 0.34049e-05_rb,0.24160e-04_rb,0.27731e-04_rb,0.27211e-04_rb,0.25756e-04_rb, & & 0.23246e-04_rb,0.19380e-04_rb,0.14426e-04_rb,0.12319e-04_rb /) kao(:, 5, 9, 1) = (/ & & 0.35648e-05_rb,0.23940e-04_rb,0.27283e-04_rb,0.26806e-04_rb,0.25320e-04_rb, & & 0.22960e-04_rb,0.19234e-04_rb,0.14451e-04_rb,0.13506e-04_rb /) kao(:, 1,10, 1) = (/ & & 0.22115e-05_rb,0.20358e-04_rb,0.23898e-04_rb,0.23781e-04_rb,0.23142e-04_rb, & & 0.20260e-04_rb,0.16593e-04_rb,0.11876e-04_rb,0.77665e-05_rb /) kao(:, 2,10, 1) = (/ & & 0.24264e-05_rb,0.20362e-04_rb,0.23820e-04_rb,0.23569e-04_rb,0.22708e-04_rb, & & 0.20037e-04_rb,0.16524e-04_rb,0.11954e-04_rb,0.90216e-05_rb /) kao(:, 3,10, 1) = (/ & & 0.26002e-05_rb,0.20303e-04_rb,0.23663e-04_rb,0.23295e-04_rb,0.22132e-04_rb, & & 0.19806e-04_rb,0.16414e-04_rb,0.12011e-04_rb,0.10379e-04_rb /) kao(:, 4,10, 1) = (/ & & 0.27486e-05_rb,0.20198e-04_rb,0.23357e-04_rb,0.22943e-04_rb,0.21707e-04_rb, & & 0.19580e-04_rb,0.16298e-04_rb,0.12060e-04_rb,0.11771e-04_rb /) kao(:, 5,10, 1) = (/ & & 0.28881e-05_rb,0.20019e-04_rb,0.22982e-04_rb,0.22584e-04_rb,0.21296e-04_rb, & & 0.19341e-04_rb,0.16164e-04_rb,0.12088e-04_rb,0.13279e-04_rb /) kao(:, 1,11, 1) = (/ & & 0.18320e-05_rb,0.16927e-04_rb,0.19968e-04_rb,0.19856e-04_rb,0.19352e-04_rb, & & 0.16934e-04_rb,0.13866e-04_rb,0.99116e-05_rb,0.67134e-05_rb /) kao(:, 2,11, 1) = (/ & & 0.20049e-05_rb,0.16927e-04_rb,0.19853e-04_rb,0.19674e-04_rb,0.18853e-04_rb, & & 0.16739e-04_rb,0.13797e-04_rb,0.99757e-05_rb,0.78968e-05_rb /) kao(:, 3,11, 1) = (/ & & 0.21502e-05_rb,0.16866e-04_rb,0.19704e-04_rb,0.19448e-04_rb,0.18441e-04_rb, & & 0.16541e-04_rb,0.13705e-04_rb,0.10023e-04_rb,0.91593e-05_rb /) kao(:, 4,11, 1) = (/ & & 0.22714e-05_rb,0.16777e-04_rb,0.19465e-04_rb,0.19143e-04_rb,0.18062e-04_rb, & & 0.16347e-04_rb,0.13601e-04_rb,0.10057e-04_rb,0.10536e-04_rb /) kao(:, 5,11, 1) = (/ & & 0.23867e-05_rb,0.16634e-04_rb,0.19123e-04_rb,0.18829e-04_rb,0.17732e-04_rb, & & 0.16132e-04_rb,0.13484e-04_rb,0.10082e-04_rb,0.12018e-04_rb /) kao(:, 1,12, 1) = (/ & & 0.15169e-05_rb,0.14042e-04_rb,0.16626e-04_rb,0.16552e-04_rb,0.16148e-04_rb, & & 0.14121e-04_rb,0.11557e-04_rb,0.82558e-05_rb,0.56116e-05_rb /) kao(:, 2,12, 1) = (/ & & 0.16576e-05_rb,0.14051e-04_rb,0.16515e-04_rb,0.16389e-04_rb,0.15651e-04_rb, & & 0.13956e-04_rb,0.11498e-04_rb,0.83065e-05_rb,0.66756e-05_rb /) kao(:, 3,12, 1) = (/ & & 0.17786e-05_rb,0.13996e-04_rb,0.16382e-04_rb,0.16200e-04_rb,0.15335e-04_rb, & & 0.13791e-04_rb,0.11414e-04_rb,0.83396e-05_rb,0.78609e-05_rb /) kao(:, 4,12, 1) = (/ & & 0.18784e-05_rb,0.13920e-04_rb,0.16173e-04_rb,0.15944e-04_rb,0.15016e-04_rb, & & 0.13612e-04_rb,0.11321e-04_rb,0.83696e-05_rb,0.90657e-05_rb /) kao(:, 5,12, 1) = (/ & & 0.19730e-05_rb,0.13808e-04_rb,0.15876e-04_rb,0.15671e-04_rb,0.14704e-04_rb, & & 0.13425e-04_rb,0.11218e-04_rb,0.83846e-05_rb,0.10342e-04_rb /) kao(:, 1,13, 1) = (/ & & 0.12548e-05_rb,0.11622e-04_rb,0.13817e-04_rb,0.13765e-04_rb,0.13366e-04_rb, & & 0.11761e-04_rb,0.96214e-05_rb,0.68586e-05_rb,0.46815e-05_rb /) kao(:, 2,13, 1) = (/ & & 0.13720e-05_rb,0.11638e-04_rb,0.13707e-04_rb,0.13640e-04_rb,0.13007e-04_rb, & & 0.11624e-04_rb,0.95672e-05_rb,0.68978e-05_rb,0.55831e-05_rb /) kao(:, 3,13, 1) = (/ & & 0.14716e-05_rb,0.11595e-04_rb,0.13603e-04_rb,0.13476e-04_rb,0.12728e-04_rb, & & 0.11474e-04_rb,0.94883e-05_rb,0.69284e-05_rb,0.65694e-05_rb /) kao(:, 4,13, 1) = (/ & & 0.15544e-05_rb,0.11533e-04_rb,0.13432e-04_rb,0.13265e-04_rb,0.12450e-04_rb, & & 0.11320e-04_rb,0.94054e-05_rb,0.69510e-05_rb,0.75699e-05_rb /) kao(:, 5,13, 1) = (/ & & 0.16324e-05_rb,0.11450e-04_rb,0.13177e-04_rb,0.13030e-04_rb,0.12193e-04_rb, & & 0.11159e-04_rb,0.93157e-05_rb,0.69543e-05_rb,0.86449e-05_rb /) kao(:, 1, 1, 2) = (/ & & 0.10905e-03_rb,0.19084e-03_rb,0.20069e-03_rb,0.19832e-03_rb,0.18610e-03_rb, & & 0.17089e-03_rb,0.14990e-03_rb,0.11759e-03_rb,0.64675e-04_rb /) kao(:, 2, 1, 2) = (/ & & 0.11105e-03_rb,0.18952e-03_rb,0.19885e-03_rb,0.19823e-03_rb,0.18675e-03_rb, & & 0.17126e-03_rb,0.15098e-03_rb,0.11929e-03_rb,0.67071e-04_rb /) kao(:, 3, 1, 2) = (/ & & 0.11276e-03_rb,0.18853e-03_rb,0.19769e-03_rb,0.19892e-03_rb,0.18804e-03_rb, & & 0.17228e-03_rb,0.15234e-03_rb,0.12104e-03_rb,0.69562e-04_rb /) kao(:, 4, 1, 2) = (/ & & 0.11331e-03_rb,0.18716e-03_rb,0.19673e-03_rb,0.19862e-03_rb,0.18922e-03_rb, & & 0.17345e-03_rb,0.15364e-03_rb,0.12287e-03_rb,0.72145e-04_rb /) kao(:, 5, 1, 2) = (/ & & 0.11374e-03_rb,0.18626e-03_rb,0.19656e-03_rb,0.19857e-03_rb,0.19062e-03_rb, & & 0.17445e-03_rb,0.15373e-03_rb,0.12483e-03_rb,0.74697e-04_rb /) kao(:, 1, 2, 2) = (/ & & 0.94458e-04_rb,0.16650e-03_rb,0.17483e-03_rb,0.17491e-03_rb,0.16501e-03_rb, & & 0.15069e-03_rb,0.13359e-03_rb,0.10498e-03_rb,0.55352e-04_rb /) kao(:, 2, 2, 2) = (/ & & 0.96121e-04_rb,0.16557e-03_rb,0.17383e-03_rb,0.17514e-03_rb,0.16597e-03_rb, & & 0.15082e-03_rb,0.13480e-03_rb,0.10677e-03_rb,0.57531e-04_rb /) kao(:, 3, 2, 2) = (/ & & 0.97581e-04_rb,0.16494e-03_rb,0.17349e-03_rb,0.17480e-03_rb,0.16726e-03_rb, & & 0.15206e-03_rb,0.13520e-03_rb,0.10844e-03_rb,0.59621e-04_rb /) kao(:, 4, 2, 2) = (/ & & 0.98152e-04_rb,0.16427e-03_rb,0.17323e-03_rb,0.17471e-03_rb,0.16812e-03_rb, & & 0.15352e-03_rb,0.13523e-03_rb,0.11008e-03_rb,0.61894e-04_rb /) kao(:, 5, 2, 2) = (/ & & 0.98081e-04_rb,0.16346e-03_rb,0.17334e-03_rb,0.17481e-03_rb,0.16845e-03_rb, & & 0.15496e-03_rb,0.13612e-03_rb,0.11175e-03_rb,0.64159e-04_rb /) kao(:, 1, 3, 2) = (/ & & 0.80988e-04_rb,0.14444e-03_rb,0.15236e-03_rb,0.15355e-03_rb,0.14515e-03_rb, & & 0.13201e-03_rb,0.11827e-03_rb,0.92843e-04_rb,0.47818e-04_rb /) kao(:, 2, 3, 2) = (/ & & 0.82627e-04_rb,0.14399e-03_rb,0.15198e-03_rb,0.15308e-03_rb,0.14622e-03_rb, & & 0.13285e-03_rb,0.11829e-03_rb,0.94579e-04_rb,0.49498e-04_rb /) kao(:, 3, 3, 2) = (/ & & 0.83666e-04_rb,0.14365e-03_rb,0.15183e-03_rb,0.15300e-03_rb,0.14704e-03_rb, & & 0.13418e-03_rb,0.11832e-03_rb,0.96259e-04_rb,0.51225e-04_rb /) kao(:, 4, 3, 2) = (/ & & 0.84164e-04_rb,0.14362e-03_rb,0.15205e-03_rb,0.15285e-03_rb,0.14764e-03_rb, & & 0.13590e-03_rb,0.11954e-03_rb,0.97885e-04_rb,0.52990e-04_rb /) kao(:, 5, 3, 2) = (/ & & 0.84014e-04_rb,0.14269e-03_rb,0.15214e-03_rb,0.15331e-03_rb,0.14865e-03_rb, & & 0.13747e-03_rb,0.12089e-03_rb,0.99389e-04_rb,0.54936e-04_rb /) kao(:, 1, 4, 2) = (/ & & 0.69055e-04_rb,0.12498e-03_rb,0.13260e-03_rb,0.13427e-03_rb,0.12748e-03_rb, & & 0.11593e-03_rb,0.10318e-03_rb,0.81535e-04_rb,0.43344e-04_rb /) kao(:, 2, 4, 2) = (/ & & 0.70374e-04_rb,0.12479e-03_rb,0.13217e-03_rb,0.13387e-03_rb,0.12823e-03_rb, & & 0.11702e-03_rb,0.10316e-03_rb,0.83059e-04_rb,0.44577e-04_rb /) kao(:, 3, 4, 2) = (/ & & 0.71321e-04_rb,0.12483e-03_rb,0.13205e-03_rb,0.13371e-03_rb,0.12866e-03_rb, & & 0.11820e-03_rb,0.10422e-03_rb,0.84648e-04_rb,0.45880e-04_rb /) kao(:, 4, 4, 2) = (/ & & 0.71712e-04_rb,0.12475e-03_rb,0.13249e-03_rb,0.13379e-03_rb,0.12934e-03_rb, & & 0.11960e-03_rb,0.10551e-03_rb,0.86238e-04_rb,0.47243e-04_rb /) kao(:, 5, 4, 2) = (/ & & 0.71917e-04_rb,0.12433e-03_rb,0.13275e-03_rb,0.13434e-03_rb,0.13049e-03_rb, & & 0.12131e-03_rb,0.10676e-03_rb,0.87830e-04_rb,0.48641e-04_rb /) kao(:, 1, 5, 2) = (/ & & 0.58527e-04_rb,0.10840e-03_rb,0.11507e-03_rb,0.11730e-03_rb,0.11099e-03_rb, & & 0.10118e-03_rb,0.89566e-04_rb,0.71122e-04_rb,0.43658e-04_rb /) kao(:, 2, 5, 2) = (/ & & 0.59798e-04_rb,0.10799e-03_rb,0.11447e-03_rb,0.11692e-03_rb,0.11189e-03_rb, & & 0.10224e-03_rb,0.90255e-04_rb,0.72476e-04_rb,0.44361e-04_rb /) kao(:, 3, 5, 2) = (/ & & 0.60601e-04_rb,0.10799e-03_rb,0.11464e-03_rb,0.11677e-03_rb,0.11225e-03_rb, & & 0.10358e-03_rb,0.91122e-04_rb,0.73922e-04_rb,0.45004e-04_rb /) kao(:, 4, 5, 2) = (/ & & 0.60971e-04_rb,0.10798e-03_rb,0.11486e-03_rb,0.11681e-03_rb,0.11304e-03_rb, & & 0.10512e-03_rb,0.91981e-04_rb,0.75441e-04_rb,0.45782e-04_rb /) kao(:, 5, 5, 2) = (/ & & 0.61166e-04_rb,0.10769e-03_rb,0.11529e-03_rb,0.11740e-03_rb,0.11428e-03_rb, & & 0.10674e-03_rb,0.93329e-04_rb,0.76963e-04_rb,0.46781e-04_rb /) kao(:, 1, 6, 2) = (/ & & 0.49298e-04_rb,0.93665e-04_rb,0.99302e-04_rb,0.10166e-03_rb,0.96125e-04_rb, & & 0.87991e-04_rb,0.77830e-04_rb,0.61651e-04_rb,0.45761e-04_rb /) kao(:, 2, 6, 2) = (/ & & 0.50498e-04_rb,0.93479e-04_rb,0.98966e-04_rb,0.10139e-03_rb,0.96705e-04_rb, & & 0.89173e-04_rb,0.78227e-04_rb,0.62850e-04_rb,0.46039e-04_rb /) kao(:, 3, 6, 2) = (/ & & 0.51269e-04_rb,0.93203e-04_rb,0.98973e-04_rb,0.10127e-03_rb,0.97298e-04_rb, & & 0.90362e-04_rb,0.78802e-04_rb,0.64157e-04_rb,0.46346e-04_rb /) kao(:, 4, 6, 2) = (/ & & 0.51588e-04_rb,0.93137e-04_rb,0.99162e-04_rb,0.10129e-03_rb,0.98592e-04_rb, & & 0.91554e-04_rb,0.79929e-04_rb,0.65574e-04_rb,0.46727e-04_rb /) kao(:, 5, 6, 2) = (/ & & 0.51597e-04_rb,0.92792e-04_rb,0.99458e-04_rb,0.10170e-03_rb,0.99448e-04_rb, & & 0.92834e-04_rb,0.81330e-04_rb,0.66366e-04_rb,0.47183e-04_rb /) kao(:, 1, 7, 2) = (/ & & 0.41246e-04_rb,0.80496e-04_rb,0.85316e-04_rb,0.87435e-04_rb,0.82542e-04_rb, & & 0.75819e-04_rb,0.67022e-04_rb,0.53111e-04_rb,0.48352e-04_rb /) kao(:, 2, 7, 2) = (/ & & 0.42332e-04_rb,0.80236e-04_rb,0.84984e-04_rb,0.87173e-04_rb,0.83192e-04_rb, & & 0.76872e-04_rb,0.67154e-04_rb,0.54235e-04_rb,0.49203e-04_rb /) kao(:, 3, 7, 2) = (/ & & 0.43069e-04_rb,0.79969e-04_rb,0.85117e-04_rb,0.87191e-04_rb,0.83963e-04_rb, & & 0.78027e-04_rb,0.67911e-04_rb,0.55423e-04_rb,0.50036e-04_rb /) kao(:, 4, 7, 2) = (/ & & 0.43347e-04_rb,0.79762e-04_rb,0.85176e-04_rb,0.87282e-04_rb,0.84970e-04_rb, & & 0.78971e-04_rb,0.69097e-04_rb,0.56659e-04_rb,0.50699e-04_rb /) kao(:, 5, 7, 2) = (/ & & 0.43381e-04_rb,0.79473e-04_rb,0.85320e-04_rb,0.87550e-04_rb,0.85526e-04_rb, & & 0.80111e-04_rb,0.70399e-04_rb,0.56992e-04_rb,0.51218e-04_rb /) kao(:, 1, 8, 2) = (/ & & 0.34402e-04_rb,0.69256e-04_rb,0.73264e-04_rb,0.74907e-04_rb,0.70733e-04_rb, & & 0.65058e-04_rb,0.57123e-04_rb,0.45547e-04_rb,0.49061e-04_rb /) kao(:, 2, 8, 2) = (/ & & 0.35394e-04_rb,0.68938e-04_rb,0.72891e-04_rb,0.74693e-04_rb,0.71198e-04_rb, & & 0.66010e-04_rb,0.57419e-04_rb,0.46585e-04_rb,0.51368e-04_rb /) kao(:, 3, 8, 2) = (/ & & 0.36086e-04_rb,0.68637e-04_rb,0.72875e-04_rb,0.74679e-04_rb,0.72090e-04_rb, & & 0.66902e-04_rb,0.58282e-04_rb,0.47622e-04_rb,0.51837e-04_rb /) kao(:, 4, 8, 2) = (/ & & 0.36445e-04_rb,0.68326e-04_rb,0.72869e-04_rb,0.74856e-04_rb,0.72765e-04_rb, & & 0.67827e-04_rb,0.59362e-04_rb,0.48483e-04_rb,0.52297e-04_rb /) kao(:, 5, 8, 2) = (/ & & 0.36483e-04_rb,0.68010e-04_rb,0.72961e-04_rb,0.75096e-04_rb,0.73241e-04_rb, & & 0.68587e-04_rb,0.60512e-04_rb,0.48784e-04_rb,0.53745e-04_rb /) kao(:, 1, 9, 2) = (/ & & 0.28433e-04_rb,0.59232e-04_rb,0.62701e-04_rb,0.63901e-04_rb,0.60103e-04_rb, & & 0.55141e-04_rb,0.48531e-04_rb,0.38847e-04_rb,0.54662e-04_rb /) kao(:, 2, 9, 2) = (/ & & 0.29405e-04_rb,0.58918e-04_rb,0.62216e-04_rb,0.63604e-04_rb,0.60633e-04_rb, & & 0.55830e-04_rb,0.48918e-04_rb,0.39795e-04_rb,0.56459e-04_rb /) kao(:, 3, 9, 2) = (/ & & 0.30040e-04_rb,0.58597e-04_rb,0.61986e-04_rb,0.63627e-04_rb,0.61357e-04_rb, & & 0.56779e-04_rb,0.49706e-04_rb,0.40729e-04_rb,0.58698e-04_rb /) kao(:, 4, 9, 2) = (/ & & 0.30412e-04_rb,0.58268e-04_rb,0.61940e-04_rb,0.63690e-04_rb,0.61916e-04_rb, & & 0.57700e-04_rb,0.50677e-04_rb,0.41137e-04_rb,0.60426e-04_rb /) kao(:, 5, 9, 2) = (/ & & 0.30517e-04_rb,0.57913e-04_rb,0.61982e-04_rb,0.63808e-04_rb,0.62307e-04_rb, & & 0.58353e-04_rb,0.51602e-04_rb,0.41668e-04_rb,0.61933e-04_rb /) kao(:, 1,10, 2) = (/ & & 0.23291e-04_rb,0.50308e-04_rb,0.53243e-04_rb,0.54258e-04_rb,0.50787e-04_rb, & & 0.46509e-04_rb,0.41036e-04_rb,0.32969e-04_rb,0.63749e-04_rb /) kao(:, 2,10, 2) = (/ & & 0.24304e-04_rb,0.50027e-04_rb,0.52858e-04_rb,0.54035e-04_rb,0.51457e-04_rb, & & 0.47117e-04_rb,0.41427e-04_rb,0.33795e-04_rb,0.67891e-04_rb /) kao(:, 3,10, 2) = (/ & & 0.24884e-04_rb,0.49658e-04_rb,0.52484e-04_rb,0.53877e-04_rb,0.52001e-04_rb, & & 0.47908e-04_rb,0.42080e-04_rb,0.34652e-04_rb,0.71374e-04_rb /) kao(:, 4,10, 2) = (/ & & 0.25245e-04_rb,0.49329e-04_rb,0.52369e-04_rb,0.53861e-04_rb,0.52353e-04_rb, & & 0.48763e-04_rb,0.42918e-04_rb,0.34903e-04_rb,0.73983e-04_rb /) kao(:, 5,10, 2) = (/ & & 0.25399e-04_rb,0.49019e-04_rb,0.52344e-04_rb,0.53920e-04_rb,0.52702e-04_rb, & & 0.49354e-04_rb,0.43795e-04_rb,0.35336e-04_rb,0.76874e-04_rb /) kao(:, 1,11, 2) = (/ & & 0.19464e-04_rb,0.42428e-04_rb,0.44774e-04_rb,0.45764e-04_rb,0.43065e-04_rb, & & 0.39257e-04_rb,0.34681e-04_rb,0.28149e-04_rb,0.56538e-04_rb /) kao(:, 2,11, 2) = (/ & & 0.20274e-04_rb,0.42118e-04_rb,0.44484e-04_rb,0.45525e-04_rb,0.43594e-04_rb, & & 0.39908e-04_rb,0.35109e-04_rb,0.28880e-04_rb,0.61143e-04_rb /) kao(:, 3,11, 2) = (/ & & 0.20723e-04_rb,0.41781e-04_rb,0.44183e-04_rb,0.45345e-04_rb,0.43968e-04_rb, & & 0.40542e-04_rb,0.35722e-04_rb,0.29427e-04_rb,0.66428e-04_rb /) kao(:, 4,11, 2) = (/ & & 0.20986e-04_rb,0.41469e-04_rb,0.44005e-04_rb,0.45299e-04_rb,0.44240e-04_rb, & & 0.41204e-04_rb,0.36501e-04_rb,0.29565e-04_rb,0.70536e-04_rb /) kao(:, 5,11, 2) = (/ & & 0.21088e-04_rb,0.41122e-04_rb,0.44008e-04_rb,0.45344e-04_rb,0.44427e-04_rb, & & 0.41695e-04_rb,0.37345e-04_rb,0.29974e-04_rb,0.74164e-04_rb /) kao(:, 1,12, 2) = (/ & & 0.16205e-04_rb,0.35661e-04_rb,0.37585e-04_rb,0.38332e-04_rb,0.36196e-04_rb, & & 0.33054e-04_rb,0.29216e-04_rb,0.23917e-04_rb,0.49111e-04_rb /) kao(:, 2,12, 2) = (/ & & 0.16873e-04_rb,0.35314e-04_rb,0.37290e-04_rb,0.38165e-04_rb,0.36667e-04_rb, & & 0.33618e-04_rb,0.29598e-04_rb,0.24536e-04_rb,0.53408e-04_rb /) kao(:, 3,12, 2) = (/ & & 0.17216e-04_rb,0.35012e-04_rb,0.37013e-04_rb,0.37971e-04_rb,0.36937e-04_rb, & & 0.34200e-04_rb,0.30188e-04_rb,0.24727e-04_rb,0.56692e-04_rb /) kao(:, 4,12, 2) = (/ & & 0.17409e-04_rb,0.34711e-04_rb,0.36851e-04_rb,0.37885e-04_rb,0.37053e-04_rb, & & 0.34609e-04_rb,0.30881e-04_rb,0.24937e-04_rb,0.60809e-04_rb /) kao(:, 5,12, 2) = (/ & & 0.17480e-04_rb,0.34362e-04_rb,0.36830e-04_rb,0.37891e-04_rb,0.37213e-04_rb, & & 0.35045e-04_rb,0.31524e-04_rb,0.25269e-04_rb,0.65163e-04_rb /) kao(:, 1,13, 2) = (/ & & 0.13457e-04_rb,0.29884e-04_rb,0.31446e-04_rb,0.32052e-04_rb,0.30374e-04_rb, & & 0.27733e-04_rb,0.24511e-04_rb,0.20198e-04_rb,0.41009e-04_rb /) kao(:, 2,13, 2) = (/ & & 0.14007e-04_rb,0.29560e-04_rb,0.31187e-04_rb,0.31882e-04_rb,0.30716e-04_rb, & & 0.28181e-04_rb,0.24877e-04_rb,0.20737e-04_rb,0.44661e-04_rb /) kao(:, 3,13, 2) = (/ & & 0.14280e-04_rb,0.29273e-04_rb,0.30932e-04_rb,0.31685e-04_rb,0.30856e-04_rb, & & 0.28687e-04_rb,0.25310e-04_rb,0.20664e-04_rb,0.47397e-04_rb /) kao(:, 4,13, 2) = (/ & & 0.14434e-04_rb,0.28982e-04_rb,0.30751e-04_rb,0.31601e-04_rb,0.30957e-04_rb, & & 0.28945e-04_rb,0.25864e-04_rb,0.20868e-04_rb,0.50575e-04_rb /) kao(:, 5,13, 2) = (/ & & 0.14483e-04_rb,0.28660e-04_rb,0.30711e-04_rb,0.31533e-04_rb,0.31075e-04_rb, & & 0.29320e-04_rb,0.26408e-04_rb,0.21257e-04_rb,0.54097e-04_rb /) kao(:, 1, 1, 3) = (/ & & 0.22536e-03_rb,0.32037e-03_rb,0.33781e-03_rb,0.34273e-03_rb,0.33729e-03_rb, & & 0.32075e-03_rb,0.29153e-03_rb,0.24856e-03_rb,0.16410e-03_rb /) kao(:, 2, 1, 3) = (/ & & 0.22342e-03_rb,0.32281e-03_rb,0.34293e-03_rb,0.34673e-03_rb,0.34167e-03_rb, & & 0.32688e-03_rb,0.29787e-03_rb,0.25566e-03_rb,0.17029e-03_rb /) kao(:, 3, 1, 3) = (/ & & 0.22157e-03_rb,0.32559e-03_rb,0.34865e-03_rb,0.35164e-03_rb,0.34805e-03_rb, & & 0.33353e-03_rb,0.30505e-03_rb,0.26380e-03_rb,0.17749e-03_rb /) kao(:, 4, 1, 3) = (/ & & 0.21986e-03_rb,0.32894e-03_rb,0.35375e-03_rb,0.35845e-03_rb,0.35514e-03_rb, & & 0.33992e-03_rb,0.31266e-03_rb,0.27259e-03_rb,0.18209e-03_rb /) kao(:, 5, 1, 3) = (/ & & 0.21815e-03_rb,0.33282e-03_rb,0.35982e-03_rb,0.36699e-03_rb,0.36319e-03_rb, & & 0.34849e-03_rb,0.32265e-03_rb,0.28174e-03_rb,0.18630e-03_rb /) kao(:, 1, 2, 3) = (/ & & 0.19541e-03_rb,0.28383e-03_rb,0.30057e-03_rb,0.30208e-03_rb,0.29811e-03_rb, & & 0.28614e-03_rb,0.25813e-03_rb,0.22172e-03_rb,0.14533e-03_rb /) kao(:, 2, 2, 3) = (/ & & 0.19410e-03_rb,0.28606e-03_rb,0.30502e-03_rb,0.30638e-03_rb,0.30342e-03_rb, & & 0.29123e-03_rb,0.26438e-03_rb,0.22759e-03_rb,0.15063e-03_rb /) kao(:, 3, 2, 3) = (/ & & 0.19280e-03_rb,0.28892e-03_rb,0.31031e-03_rb,0.31345e-03_rb,0.30930e-03_rb, & & 0.29708e-03_rb,0.27075e-03_rb,0.23476e-03_rb,0.15387e-03_rb /) kao(:, 4, 2, 3) = (/ & & 0.19169e-03_rb,0.29226e-03_rb,0.31596e-03_rb,0.32060e-03_rb,0.31687e-03_rb, & & 0.30282e-03_rb,0.27961e-03_rb,0.24147e-03_rb,0.15653e-03_rb /) kao(:, 5, 2, 3) = (/ & & 0.19047e-03_rb,0.29594e-03_rb,0.32186e-03_rb,0.32831e-03_rb,0.32510e-03_rb, & & 0.31022e-03_rb,0.28786e-03_rb,0.24847e-03_rb,0.16195e-03_rb /) kao(:, 1, 3, 3) = (/ & & 0.16871e-03_rb,0.24969e-03_rb,0.26468e-03_rb,0.26465e-03_rb,0.26214e-03_rb, & & 0.25247e-03_rb,0.22732e-03_rb,0.19530e-03_rb,0.12777e-03_rb /) kao(:, 2, 3, 3) = (/ & & 0.16793e-03_rb,0.25161e-03_rb,0.26876e-03_rb,0.26973e-03_rb,0.26695e-03_rb, & & 0.25688e-03_rb,0.23244e-03_rb,0.20054e-03_rb,0.12972e-03_rb /) kao(:, 3, 3, 3) = (/ & & 0.16733e-03_rb,0.25378e-03_rb,0.27385e-03_rb,0.27612e-03_rb,0.27305e-03_rb, & & 0.26119e-03_rb,0.23922e-03_rb,0.20542e-03_rb,0.13061e-03_rb /) kao(:, 4, 3, 3) = (/ & & 0.16706e-03_rb,0.25676e-03_rb,0.27970e-03_rb,0.28379e-03_rb,0.28013e-03_rb, & & 0.26708e-03_rb,0.24668e-03_rb,0.21081e-03_rb,0.13394e-03_rb /) kao(:, 5, 3, 3) = (/ & & 0.16637e-03_rb,0.26037e-03_rb,0.28504e-03_rb,0.29050e-03_rb,0.28611e-03_rb, & & 0.27355e-03_rb,0.25260e-03_rb,0.21670e-03_rb,0.13844e-03_rb /) kao(:, 1, 4, 3) = (/ & & 0.14579e-03_rb,0.21908e-03_rb,0.23187e-03_rb,0.23162e-03_rb,0.22921e-03_rb, & & 0.22070e-03_rb,0.19997e-03_rb,0.17094e-03_rb,0.11198e-03_rb /) kao(:, 2, 4, 3) = (/ & & 0.14542e-03_rb,0.22095e-03_rb,0.23576e-03_rb,0.23659e-03_rb,0.23393e-03_rb, & & 0.22421e-03_rb,0.20413e-03_rb,0.17485e-03_rb,0.11080e-03_rb /) kao(:, 3, 4, 3) = (/ & & 0.14519e-03_rb,0.22277e-03_rb,0.24039e-03_rb,0.24264e-03_rb,0.23941e-03_rb, & & 0.22826e-03_rb,0.20957e-03_rb,0.17862e-03_rb,0.11236e-03_rb /) kao(:, 4, 4, 3) = (/ & & 0.14504e-03_rb,0.22526e-03_rb,0.24523e-03_rb,0.24877e-03_rb,0.24473e-03_rb, & & 0.23381e-03_rb,0.21512e-03_rb,0.18339e-03_rb,0.11577e-03_rb /) kao(:, 5, 4, 3) = (/ & & 0.14497e-03_rb,0.22869e-03_rb,0.25070e-03_rb,0.25513e-03_rb,0.25076e-03_rb, & & 0.23990e-03_rb,0.22117e-03_rb,0.18804e-03_rb,0.11947e-03_rb /) kao(:, 1, 5, 3) = (/ & & 0.12609e-03_rb,0.19125e-03_rb,0.20302e-03_rb,0.20235e-03_rb,0.20038e-03_rb, & & 0.19210e-03_rb,0.17493e-03_rb,0.14918e-03_rb,0.95914e-04_rb /) kao(:, 2, 5, 3) = (/ & & 0.12575e-03_rb,0.19304e-03_rb,0.20668e-03_rb,0.20708e-03_rb,0.20395e-03_rb, & & 0.19513e-03_rb,0.17862e-03_rb,0.15191e-03_rb,0.95952e-04_rb /) kao(:, 3, 5, 3) = (/ & & 0.12572e-03_rb,0.19504e-03_rb,0.21070e-03_rb,0.21227e-03_rb,0.20862e-03_rb, & & 0.19877e-03_rb,0.18323e-03_rb,0.15540e-03_rb,0.98040e-04_rb /) kao(:, 4, 5, 3) = (/ & & 0.12578e-03_rb,0.19736e-03_rb,0.21498e-03_rb,0.21770e-03_rb,0.21305e-03_rb, & & 0.20380e-03_rb,0.18766e-03_rb,0.15949e-03_rb,0.10020e-03_rb /) kao(:, 5, 5, 3) = (/ & & 0.12588e-03_rb,0.20051e-03_rb,0.21971e-03_rb,0.22313e-03_rb,0.21848e-03_rb, & & 0.20915e-03_rb,0.19284e-03_rb,0.16321e-03_rb,0.10267e-03_rb /) kao(:, 1, 6, 3) = (/ & & 0.10863e-03_rb,0.16576e-03_rb,0.17695e-03_rb,0.17678e-03_rb,0.17469e-03_rb, & & 0.16678e-03_rb,0.15163e-03_rb,0.12940e-03_rb,0.89550e-04_rb /) kao(:, 2, 6, 3) = (/ & & 0.10863e-03_rb,0.16706e-03_rb,0.18030e-03_rb,0.18081e-03_rb,0.17775e-03_rb, & & 0.16938e-03_rb,0.15534e-03_rb,0.13148e-03_rb,0.89670e-04_rb /) kao(:, 3, 6, 3) = (/ & & 0.10855e-03_rb,0.16916e-03_rb,0.18384e-03_rb,0.18538e-03_rb,0.18134e-03_rb, & & 0.17272e-03_rb,0.15912e-03_rb,0.13459e-03_rb,0.90520e-04_rb /) kao(:, 4, 6, 3) = (/ & & 0.10855e-03_rb,0.17152e-03_rb,0.18761e-03_rb,0.18997e-03_rb,0.18510e-03_rb, & & 0.17711e-03_rb,0.16286e-03_rb,0.13757e-03_rb,0.91792e-04_rb /) kao(:, 5, 6, 3) = (/ & & 0.10853e-03_rb,0.17415e-03_rb,0.19152e-03_rb,0.19450e-03_rb,0.18955e-03_rb, & & 0.18160e-03_rb,0.16658e-03_rb,0.14151e-03_rb,0.94030e-04_rb /) kao(:, 1, 7, 3) = (/ & & 0.92930e-04_rb,0.14283e-03_rb,0.15332e-03_rb,0.15365e-03_rb,0.15192e-03_rb, & & 0.14476e-03_rb,0.13092e-03_rb,0.11095e-03_rb,0.91877e-04_rb /) kao(:, 2, 7, 3) = (/ & & 0.92984e-04_rb,0.14401e-03_rb,0.15614e-03_rb,0.15721e-03_rb,0.15413e-03_rb, & & 0.14688e-03_rb,0.13443e-03_rb,0.11315e-03_rb,0.90405e-04_rb /) kao(:, 3, 7, 3) = (/ & & 0.92945e-04_rb,0.14573e-03_rb,0.15905e-03_rb,0.16110e-03_rb,0.15737e-03_rb, & & 0.14983e-03_rb,0.13738e-03_rb,0.11591e-03_rb,0.89977e-04_rb /) kao(:, 4, 7, 3) = (/ & & 0.93035e-04_rb,0.14787e-03_rb,0.16239e-03_rb,0.16472e-03_rb,0.16084e-03_rb, & & 0.15371e-03_rb,0.14051e-03_rb,0.11827e-03_rb,0.90955e-04_rb /) kao(:, 5, 7, 3) = (/ & & 0.92985e-04_rb,0.15023e-03_rb,0.16593e-03_rb,0.16877e-03_rb,0.16496e-03_rb, & & 0.15743e-03_rb,0.14348e-03_rb,0.12221e-03_rb,0.92269e-04_rb /) kao(:, 1, 8, 3) = (/ & & 0.79600e-04_rb,0.12290e-03_rb,0.13269e-03_rb,0.13322e-03_rb,0.13145e-03_rb, & & 0.12540e-03_rb,0.11354e-03_rb,0.94559e-04_rb,0.10796e-03_rb /) kao(:, 2, 8, 3) = (/ & & 0.79683e-04_rb,0.12390e-03_rb,0.13495e-03_rb,0.13633e-03_rb,0.13351e-03_rb, & & 0.12708e-03_rb,0.11620e-03_rb,0.96898e-04_rb,0.10854e-03_rb /) kao(:, 3, 8, 3) = (/ & & 0.79630e-04_rb,0.12537e-03_rb,0.13745e-03_rb,0.13937e-03_rb,0.13626e-03_rb, & & 0.12970e-03_rb,0.11867e-03_rb,0.99068e-04_rb,0.10974e-03_rb /) kao(:, 4, 8, 3) = (/ & & 0.79625e-04_rb,0.12719e-03_rb,0.14027e-03_rb,0.14234e-03_rb,0.13941e-03_rb, & & 0.13283e-03_rb,0.12113e-03_rb,0.10155e-03_rb,0.11075e-03_rb /) kao(:, 5, 8, 3) = (/ & & 0.79589e-04_rb,0.12914e-03_rb,0.14322e-03_rb,0.14575e-03_rb,0.14305e-03_rb, & & 0.13597e-03_rb,0.12361e-03_rb,0.10505e-03_rb,0.11038e-03_rb /) kao(:, 1, 9, 3) = (/ & & 0.67917e-04_rb,0.10525e-03_rb,0.11421e-03_rb,0.11510e-03_rb,0.11341e-03_rb, & & 0.10850e-03_rb,0.97945e-04_rb,0.80197e-04_rb,0.13259e-03_rb /) kao(:, 2, 9, 3) = (/ & & 0.67928e-04_rb,0.10625e-03_rb,0.11606e-03_rb,0.11762e-03_rb,0.11532e-03_rb, & & 0.11035e-03_rb,0.10017e-03_rb,0.82394e-04_rb,0.13427e-03_rb /) kao(:, 3, 9, 3) = (/ & & 0.67856e-04_rb,0.10744e-03_rb,0.11824e-03_rb,0.11998e-03_rb,0.11756e-03_rb, & & 0.11235e-03_rb,0.10203e-03_rb,0.84408e-04_rb,0.13461e-03_rb /) kao(:, 4, 9, 3) = (/ & & 0.67768e-04_rb,0.10890e-03_rb,0.12070e-03_rb,0.12262e-03_rb,0.12012e-03_rb, & & 0.11456e-03_rb,0.10420e-03_rb,0.86916e-04_rb,0.13504e-03_rb /) kao(:, 5, 9, 3) = (/ & & 0.67707e-04_rb,0.11054e-03_rb,0.12323e-03_rb,0.12567e-03_rb,0.12318e-03_rb, & & 0.11694e-03_rb,0.10644e-03_rb,0.89648e-04_rb,0.13829e-03_rb /) kao(:, 1,10, 3) = (/ & & 0.57658e-04_rb,0.89812e-04_rb,0.97774e-04_rb,0.98825e-04_rb,0.97412e-04_rb, & & 0.93433e-04_rb,0.84119e-04_rb,0.68026e-04_rb,0.20137e-03_rb /) kao(:, 2,10, 3) = (/ & & 0.57461e-04_rb,0.90575e-04_rb,0.99228e-04_rb,0.10076e-03_rb,0.98930e-04_rb, & & 0.94984e-04_rb,0.86081e-04_rb,0.70085e-04_rb,0.20178e-03_rb /) kao(:, 3,10, 3) = (/ & & 0.57397e-04_rb,0.91666e-04_rb,0.10122e-03_rb,0.10281e-03_rb,0.10088e-03_rb, & & 0.96688e-04_rb,0.87695e-04_rb,0.72010e-04_rb,0.20052e-03_rb /) kao(:, 4,10, 3) = (/ & & 0.57291e-04_rb,0.92869e-04_rb,0.10334e-03_rb,0.10517e-03_rb,0.10317e-03_rb, & & 0.98293e-04_rb,0.89394e-04_rb,0.74251e-04_rb,0.20103e-03_rb /) kao(:, 5,10, 3) = (/ & & 0.57126e-04_rb,0.94072e-04_rb,0.10545e-03_rb,0.10789e-03_rb,0.10579e-03_rb, & & 0.10034e-03_rb,0.91420e-04_rb,0.76761e-04_rb,0.20035e-03_rb /) kao(:, 1,11, 3) = (/ & & 0.48600e-04_rb,0.76535e-04_rb,0.83721e-04_rb,0.84782e-04_rb,0.83379e-04_rb, & & 0.80481e-04_rb,0.72441e-04_rb,0.58503e-04_rb,0.20926e-03_rb /) kao(:, 2,11, 3) = (/ & & 0.48356e-04_rb,0.77272e-04_rb,0.85067e-04_rb,0.86588e-04_rb,0.84928e-04_rb, & & 0.81803e-04_rb,0.74015e-04_rb,0.60222e-04_rb,0.21110e-03_rb /) kao(:, 3,11, 3) = (/ & & 0.48180e-04_rb,0.78198e-04_rb,0.86939e-04_rb,0.88416e-04_rb,0.86712e-04_rb, & & 0.83176e-04_rb,0.75535e-04_rb,0.61973e-04_rb,0.20823e-03_rb /) kao(:, 4,11, 3) = (/ & & 0.48042e-04_rb,0.79160e-04_rb,0.88776e-04_rb,0.90704e-04_rb,0.88934e-04_rb, & & 0.84522e-04_rb,0.76983e-04_rb,0.64264e-04_rb,0.20745e-03_rb /) kao(:, 5,11, 3) = (/ & & 0.47901e-04_rb,0.80171e-04_rb,0.90395e-04_rb,0.92950e-04_rb,0.91253e-04_rb, & & 0.86364e-04_rb,0.78675e-04_rb,0.66159e-04_rb,0.20642e-03_rb /) kao(:, 1,12, 3) = (/ & & 0.40769e-04_rb,0.64775e-04_rb,0.71240e-04_rb,0.72409e-04_rb,0.71085e-04_rb, & & 0.68679e-04_rb,0.61925e-04_rb,0.50009e-04_rb,0.19056e-03_rb /) kao(:, 2,12, 3) = (/ & & 0.40486e-04_rb,0.65479e-04_rb,0.72574e-04_rb,0.73906e-04_rb,0.72438e-04_rb, & & 0.69693e-04_rb,0.63286e-04_rb,0.51717e-04_rb,0.19000e-03_rb /) kao(:, 3,12, 3) = (/ & & 0.40313e-04_rb,0.66212e-04_rb,0.74137e-04_rb,0.75686e-04_rb,0.74201e-04_rb, & & 0.70781e-04_rb,0.64554e-04_rb,0.53372e-04_rb,0.19242e-03_rb /) kao(:, 4,12, 3) = (/ & & 0.40107e-04_rb,0.66938e-04_rb,0.75524e-04_rb,0.77664e-04_rb,0.76142e-04_rb, & & 0.72280e-04_rb,0.65894e-04_rb,0.55174e-04_rb,0.19382e-03_rb /) kao(:, 5,12, 3) = (/ & & 0.39910e-04_rb,0.67782e-04_rb,0.76780e-04_rb,0.79463e-04_rb,0.78210e-04_rb, & & 0.73902e-04_rb,0.67292e-04_rb,0.56789e-04_rb,0.19106e-03_rb /) kao(:, 1,13, 3) = (/ & & 0.34103e-04_rb,0.54622e-04_rb,0.60315e-04_rb,0.61417e-04_rb,0.60332e-04_rb, & & 0.58110e-04_rb,0.52537e-04_rb,0.42612e-04_rb,0.15955e-03_rb /) kao(:, 2,13, 3) = (/ & & 0.33853e-04_rb,0.55148e-04_rb,0.61492e-04_rb,0.62745e-04_rb,0.61577e-04_rb, & & 0.59061e-04_rb,0.53702e-04_rb,0.43873e-04_rb,0.15892e-03_rb /) kao(:, 3,13, 3) = (/ & & 0.33647e-04_rb,0.55699e-04_rb,0.62687e-04_rb,0.64355e-04_rb,0.63160e-04_rb, & & 0.60072e-04_rb,0.54954e-04_rb,0.45643e-04_rb,0.16047e-03_rb /) kao(:, 4,13, 3) = (/ & & 0.33430e-04_rb,0.56291e-04_rb,0.63770e-04_rb,0.65844e-04_rb,0.64844e-04_rb, & & 0.61457e-04_rb,0.56064e-04_rb,0.47101e-04_rb,0.16125e-03_rb /) kao(:, 5,13, 3) = (/ & & 0.33186e-04_rb,0.56947e-04_rb,0.64747e-04_rb,0.67352e-04_rb,0.66508e-04_rb, & & 0.62903e-04_rb,0.57307e-04_rb,0.48379e-04_rb,0.16021e-03_rb /) kao(:, 1, 1, 4) = (/ & & 0.36602e-03_rb,0.52858e-03_rb,0.59251e-03_rb,0.61027e-03_rb,0.60893e-03_rb, & & 0.58987e-03_rb,0.55560e-03_rb,0.49855e-03_rb,0.38105e-03_rb /) kao(:, 2, 1, 4) = (/ & & 0.36935e-03_rb,0.53570e-03_rb,0.60138e-03_rb,0.62341e-03_rb,0.62297e-03_rb, & & 0.60228e-03_rb,0.56872e-03_rb,0.51035e-03_rb,0.39106e-03_rb /) kao(:, 3, 1, 4) = (/ & & 0.37348e-03_rb,0.54590e-03_rb,0.61238e-03_rb,0.63855e-03_rb,0.63820e-03_rb, & & 0.61734e-03_rb,0.58475e-03_rb,0.52206e-03_rb,0.40317e-03_rb /) kao(:, 4, 1, 4) = (/ & & 0.37665e-03_rb,0.55373e-03_rb,0.62261e-03_rb,0.65120e-03_rb,0.65250e-03_rb, & & 0.63373e-03_rb,0.59840e-03_rb,0.53517e-03_rb,0.41639e-03_rb /) kao(:, 5, 1, 4) = (/ & & 0.38076e-03_rb,0.56302e-03_rb,0.63456e-03_rb,0.66611e-03_rb,0.66857e-03_rb, & & 0.65240e-03_rb,0.61521e-03_rb,0.55178e-03_rb,0.43702e-03_rb /) kao(:, 1, 2, 4) = (/ & & 0.32225e-03_rb,0.47151e-03_rb,0.53262e-03_rb,0.55192e-03_rb,0.54706e-03_rb, & & 0.52658e-03_rb,0.49569e-03_rb,0.43958e-03_rb,0.31739e-03_rb /) kao(:, 2, 2, 4) = (/ & & 0.32532e-03_rb,0.47816e-03_rb,0.54076e-03_rb,0.56222e-03_rb,0.55834e-03_rb, & & 0.53879e-03_rb,0.50612e-03_rb,0.44777e-03_rb,0.32763e-03_rb /) kao(:, 3, 2, 4) = (/ & & 0.32941e-03_rb,0.48729e-03_rb,0.55083e-03_rb,0.57497e-03_rb,0.57312e-03_rb, & & 0.55394e-03_rb,0.51991e-03_rb,0.45969e-03_rb,0.33942e-03_rb /) kao(:, 4, 2, 4) = (/ & & 0.33303e-03_rb,0.49510e-03_rb,0.56036e-03_rb,0.58720e-03_rb,0.58669e-03_rb, & & 0.56974e-03_rb,0.53255e-03_rb,0.47385e-03_rb,0.35453e-03_rb /) kao(:, 5, 2, 4) = (/ & & 0.33657e-03_rb,0.50290e-03_rb,0.57014e-03_rb,0.59917e-03_rb,0.59997e-03_rb, & & 0.58475e-03_rb,0.54777e-03_rb,0.48909e-03_rb,0.36980e-03_rb /) kao(:, 1, 3, 4) = (/ & & 0.28263e-03_rb,0.41968e-03_rb,0.47376e-03_rb,0.49297e-03_rb,0.48633e-03_rb, & & 0.46530e-03_rb,0.43654e-03_rb,0.38496e-03_rb,0.26217e-03_rb /) kao(:, 2, 3, 4) = (/ & & 0.28517e-03_rb,0.42528e-03_rb,0.48017e-03_rb,0.50148e-03_rb,0.49564e-03_rb, & & 0.47634e-03_rb,0.44517e-03_rb,0.39228e-03_rb,0.27386e-03_rb /) kao(:, 3, 3, 4) = (/ & & 0.28805e-03_rb,0.43254e-03_rb,0.48769e-03_rb,0.51075e-03_rb,0.50628e-03_rb, & & 0.48940e-03_rb,0.45557e-03_rb,0.40274e-03_rb,0.28527e-03_rb /) kao(:, 4, 3, 4) = (/ & & 0.29156e-03_rb,0.44130e-03_rb,0.49824e-03_rb,0.52245e-03_rb,0.52001e-03_rb, & & 0.50355e-03_rb,0.46711e-03_rb,0.41540e-03_rb,0.29729e-03_rb /) kao(:, 5, 3, 4) = (/ & & 0.29453e-03_rb,0.44828e-03_rb,0.50753e-03_rb,0.53257e-03_rb,0.53321e-03_rb, & & 0.51645e-03_rb,0.48189e-03_rb,0.42882e-03_rb,0.30960e-03_rb /) kao(:, 1, 4, 4) = (/ & & 0.24709e-03_rb,0.37040e-03_rb,0.41811e-03_rb,0.43692e-03_rb,0.42924e-03_rb, & & 0.40974e-03_rb,0.38217e-03_rb,0.33504e-03_rb,0.21956e-03_rb /) kao(:, 2, 4, 4) = (/ & & 0.24935e-03_rb,0.37531e-03_rb,0.42359e-03_rb,0.44356e-03_rb,0.43669e-03_rb, & & 0.41955e-03_rb,0.39063e-03_rb,0.34337e-03_rb,0.23257e-03_rb /) kao(:, 3, 4, 4) = (/ & & 0.25192e-03_rb,0.38183e-03_rb,0.43049e-03_rb,0.45130e-03_rb,0.44572e-03_rb, & & 0.43016e-03_rb,0.39919e-03_rb,0.35274e-03_rb,0.24051e-03_rb /) kao(:, 4, 4, 4) = (/ & & 0.25420e-03_rb,0.38887e-03_rb,0.43864e-03_rb,0.46020e-03_rb,0.45692e-03_rb, & & 0.44111e-03_rb,0.40882e-03_rb,0.36219e-03_rb,0.24966e-03_rb /) kao(:, 5, 4, 4) = (/ & & 0.25772e-03_rb,0.39769e-03_rb,0.44993e-03_rb,0.47213e-03_rb,0.47068e-03_rb, & & 0.45426e-03_rb,0.42157e-03_rb,0.37400e-03_rb,0.25930e-03_rb /) kao(:, 1, 5, 4) = (/ & & 0.21574e-03_rb,0.32603e-03_rb,0.36644e-03_rb,0.38307e-03_rb,0.37721e-03_rb, & & 0.36018e-03_rb,0.33363e-03_rb,0.29143e-03_rb,0.18896e-03_rb /) kao(:, 2, 5, 4) = (/ & & 0.21778e-03_rb,0.33044e-03_rb,0.37107e-03_rb,0.38833e-03_rb,0.38426e-03_rb, & & 0.36797e-03_rb,0.34054e-03_rb,0.29920e-03_rb,0.19816e-03_rb /) kao(:, 3, 5, 4) = (/ & & 0.22015e-03_rb,0.33584e-03_rb,0.37735e-03_rb,0.39513e-03_rb,0.39228e-03_rb, & & 0.37720e-03_rb,0.34842e-03_rb,0.30654e-03_rb,0.20383e-03_rb /) kao(:, 4, 5, 4) = (/ & & 0.22252e-03_rb,0.34167e-03_rb,0.38484e-03_rb,0.40343e-03_rb,0.40251e-03_rb, & & 0.38567e-03_rb,0.35760e-03_rb,0.31401e-03_rb,0.21178e-03_rb /) kao(:, 5, 5, 4) = (/ & & 0.22604e-03_rb,0.34964e-03_rb,0.39509e-03_rb,0.41443e-03_rb,0.41465e-03_rb, & & 0.39685e-03_rb,0.36847e-03_rb,0.32400e-03_rb,0.21929e-03_rb /) kao(:, 1, 6, 4) = (/ & & 0.18783e-03_rb,0.28666e-03_rb,0.32037e-03_rb,0.33351e-03_rb,0.32945e-03_rb, & & 0.31516e-03_rb,0.29066e-03_rb,0.25263e-03_rb,0.16238e-03_rb /) kao(:, 2, 6, 4) = (/ & & 0.18921e-03_rb,0.29078e-03_rb,0.32423e-03_rb,0.33799e-03_rb,0.33536e-03_rb, & & 0.32156e-03_rb,0.29643e-03_rb,0.25941e-03_rb,0.16831e-03_rb /) kao(:, 3, 6, 4) = (/ & & 0.19117e-03_rb,0.29487e-03_rb,0.32978e-03_rb,0.34375e-03_rb,0.34274e-03_rb, & & 0.32907e-03_rb,0.30344e-03_rb,0.26560e-03_rb,0.17389e-03_rb /) kao(:, 4, 6, 4) = (/ & & 0.19356e-03_rb,0.29979e-03_rb,0.33631e-03_rb,0.35135e-03_rb,0.35098e-03_rb, & & 0.33648e-03_rb,0.31108e-03_rb,0.27199e-03_rb,0.18056e-03_rb /) kao(:, 5, 6, 4) = (/ & & 0.19643e-03_rb,0.30567e-03_rb,0.34396e-03_rb,0.35996e-03_rb,0.36067e-03_rb, & & 0.34559e-03_rb,0.32056e-03_rb,0.28009e-03_rb,0.18507e-03_rb /) kao(:, 1, 7, 4) = (/ & & 0.16233e-03_rb,0.25159e-03_rb,0.28051e-03_rb,0.29071e-03_rb,0.28724e-03_rb, & & 0.27399e-03_rb,0.25257e-03_rb,0.21995e-03_rb,0.15053e-03_rb /) kao(:, 2, 7, 4) = (/ & & 0.16394e-03_rb,0.25497e-03_rb,0.28374e-03_rb,0.29454e-03_rb,0.29203e-03_rb, & & 0.28002e-03_rb,0.25781e-03_rb,0.22523e-03_rb,0.15467e-03_rb /) kao(:, 3, 7, 4) = (/ & & 0.16554e-03_rb,0.25862e-03_rb,0.28837e-03_rb,0.29946e-03_rb,0.29804e-03_rb, & & 0.28580e-03_rb,0.26386e-03_rb,0.23003e-03_rb,0.15858e-03_rb /) kao(:, 4, 7, 4) = (/ & & 0.16755e-03_rb,0.26275e-03_rb,0.29380e-03_rb,0.30624e-03_rb,0.30499e-03_rb, & & 0.29233e-03_rb,0.27029e-03_rb,0.23539e-03_rb,0.16161e-03_rb /) kao(:, 5, 7, 4) = (/ & & 0.17007e-03_rb,0.26765e-03_rb,0.30035e-03_rb,0.31353e-03_rb,0.31332e-03_rb, & & 0.30019e-03_rb,0.27871e-03_rb,0.24192e-03_rb,0.16587e-03_rb /) kao(:, 1, 8, 4) = (/ & & 0.14021e-03_rb,0.21983e-03_rb,0.24557e-03_rb,0.25394e-03_rb,0.25027e-03_rb, & & 0.23769e-03_rb,0.21853e-03_rb,0.19056e-03_rb,0.17210e-03_rb /) kao(:, 2, 8, 4) = (/ & & 0.14181e-03_rb,0.22244e-03_rb,0.24837e-03_rb,0.25730e-03_rb,0.25433e-03_rb, & & 0.24284e-03_rb,0.22361e-03_rb,0.19448e-03_rb,0.16707e-03_rb /) kao(:, 3, 8, 4) = (/ & & 0.14344e-03_rb,0.22578e-03_rb,0.25216e-03_rb,0.26169e-03_rb,0.25950e-03_rb, & & 0.24760e-03_rb,0.22868e-03_rb,0.19861e-03_rb,0.16518e-03_rb /) kao(:, 4, 8, 4) = (/ & & 0.14524e-03_rb,0.22935e-03_rb,0.25652e-03_rb,0.26715e-03_rb,0.26554e-03_rb, & & 0.25327e-03_rb,0.23470e-03_rb,0.20360e-03_rb,0.16514e-03_rb /) kao(:, 5, 8, 4) = (/ & & 0.14752e-03_rb,0.23348e-03_rb,0.26209e-03_rb,0.27316e-03_rb,0.27225e-03_rb, & & 0.26056e-03_rb,0.24203e-03_rb,0.20916e-03_rb,0.16671e-03_rb /) kao(:, 1, 9, 4) = (/ & & 0.12008e-03_rb,0.19084e-03_rb,0.21359e-03_rb,0.22137e-03_rb,0.21826e-03_rb, & & 0.20646e-03_rb,0.18855e-03_rb,0.16443e-03_rb,0.31379e-03_rb /) kao(:, 2, 9, 4) = (/ & & 0.12170e-03_rb,0.19281e-03_rb,0.21619e-03_rb,0.22414e-03_rb,0.22156e-03_rb, & & 0.21036e-03_rb,0.19272e-03_rb,0.16751e-03_rb,0.30810e-03_rb /) kao(:, 3, 9, 4) = (/ & & 0.12341e-03_rb,0.19553e-03_rb,0.21930e-03_rb,0.22810e-03_rb,0.22604e-03_rb, & & 0.21457e-03_rb,0.19724e-03_rb,0.17093e-03_rb,0.30579e-03_rb /) kao(:, 4, 9, 4) = (/ & & 0.12515e-03_rb,0.19866e-03_rb,0.22306e-03_rb,0.23273e-03_rb,0.23128e-03_rb, & & 0.22000e-03_rb,0.20255e-03_rb,0.17520e-03_rb,0.30468e-03_rb /) kao(:, 5, 9, 4) = (/ & & 0.12711e-03_rb,0.20244e-03_rb,0.22780e-03_rb,0.23779e-03_rb,0.23723e-03_rb, & & 0.22672e-03_rb,0.20873e-03_rb,0.18006e-03_rb,0.30071e-03_rb /) kao(:, 1,10, 4) = (/ & & 0.10239e-03_rb,0.16495e-03_rb,0.18568e-03_rb,0.19287e-03_rb,0.19038e-03_rb, & & 0.17962e-03_rb,0.16274e-03_rb,0.14112e-03_rb,0.46281e-03_rb /) kao(:, 2,10, 4) = (/ & & 0.10386e-03_rb,0.16652e-03_rb,0.18791e-03_rb,0.19539e-03_rb,0.19307e-03_rb, & & 0.18291e-03_rb,0.16628e-03_rb,0.14354e-03_rb,0.46032e-03_rb /) kao(:, 3,10, 4) = (/ & & 0.10550e-03_rb,0.16884e-03_rb,0.19060e-03_rb,0.19863e-03_rb,0.19685e-03_rb, & & 0.18669e-03_rb,0.17045e-03_rb,0.14674e-03_rb,0.45882e-03_rb /) kao(:, 4,10, 4) = (/ & & 0.10710e-03_rb,0.17185e-03_rb,0.19377e-03_rb,0.20238e-03_rb,0.20140e-03_rb, & & 0.19164e-03_rb,0.17544e-03_rb,0.15076e-03_rb,0.45556e-03_rb /) kao(:, 5,10, 4) = (/ & & 0.10887e-03_rb,0.17528e-03_rb,0.19755e-03_rb,0.20663e-03_rb,0.20650e-03_rb, & & 0.19756e-03_rb,0.18068e-03_rb,0.15495e-03_rb,0.45295e-03_rb /) kao(:, 1,11, 4) = (/ & & 0.87454e-04_rb,0.14214e-03_rb,0.16093e-03_rb,0.16784e-03_rb,0.16634e-03_rb, & & 0.15750e-03_rb,0.14233e-03_rb,0.12157e-03_rb,0.50227e-03_rb /) kao(:, 2,11, 4) = (/ & & 0.89026e-04_rb,0.14363e-03_rb,0.16297e-03_rb,0.17024e-03_rb,0.16905e-03_rb, & & 0.16052e-03_rb,0.14560e-03_rb,0.12384e-03_rb,0.48800e-03_rb /) kao(:, 3,11, 4) = (/ & & 0.90456e-04_rb,0.14595e-03_rb,0.16534e-03_rb,0.17342e-03_rb,0.17281e-03_rb, & & 0.16441e-03_rb,0.14965e-03_rb,0.12699e-03_rb,0.48638e-03_rb /) kao(:, 4,11, 4) = (/ & & 0.91788e-04_rb,0.14885e-03_rb,0.16823e-03_rb,0.17680e-03_rb,0.17688e-03_rb, & & 0.16911e-03_rb,0.15409e-03_rb,0.13060e-03_rb,0.48097e-03_rb /) kao(:, 5,11, 4) = (/ & & 0.92958e-04_rb,0.15220e-03_rb,0.17197e-03_rb,0.18085e-03_rb,0.18150e-03_rb, & & 0.17440e-03_rb,0.15892e-03_rb,0.13466e-03_rb,0.48115e-03_rb /) kao(:, 1,12, 4) = (/ & & 0.74228e-04_rb,0.12171e-03_rb,0.13828e-03_rb,0.14464e-03_rb,0.14381e-03_rb, & & 0.13674e-03_rb,0.12370e-03_rb,0.10454e-03_rb,0.48263e-03_rb /) kao(:, 2,12, 4) = (/ & & 0.75542e-04_rb,0.12330e-03_rb,0.13992e-03_rb,0.14688e-03_rb,0.14666e-03_rb, & & 0.13981e-03_rb,0.12694e-03_rb,0.10662e-03_rb,0.46961e-03_rb /) kao(:, 3,12, 4) = (/ & & 0.76696e-04_rb,0.12551e-03_rb,0.14218e-03_rb,0.14964e-03_rb,0.14989e-03_rb, & & 0.14346e-03_rb,0.13058e-03_rb,0.10986e-03_rb,0.45986e-03_rb /) kao(:, 4,12, 4) = (/ & & 0.77769e-04_rb,0.12821e-03_rb,0.14505e-03_rb,0.15276e-03_rb,0.15361e-03_rb, & & 0.14764e-03_rb,0.13466e-03_rb,0.11322e-03_rb,0.45064e-03_rb /) kao(:, 5,12, 4) = (/ & & 0.78633e-04_rb,0.13113e-03_rb,0.14863e-03_rb,0.15667e-03_rb,0.15783e-03_rb, & & 0.15249e-03_rb,0.13915e-03_rb,0.11696e-03_rb,0.45257e-03_rb /) kao(:, 1,13, 4) = (/ & & 0.62659e-04_rb,0.10388e-03_rb,0.11828e-03_rb,0.12392e-03_rb,0.12371e-03_rb, & & 0.11811e-03_rb,0.10712e-03_rb,0.89769e-04_rb,0.40925e-03_rb /) kao(:, 2,13, 4) = (/ & & 0.63709e-04_rb,0.10546e-03_rb,0.11986e-03_rb,0.12594e-03_rb,0.12627e-03_rb, & & 0.12095e-03_rb,0.11006e-03_rb,0.92053e-04_rb,0.39852e-03_rb /) kao(:, 3,13, 4) = (/ & & 0.64717e-04_rb,0.10750e-03_rb,0.12189e-03_rb,0.12839e-03_rb,0.12907e-03_rb, & & 0.12414e-03_rb,0.11317e-03_rb,0.94939e-04_rb,0.39013e-03_rb /) kao(:, 4,13, 4) = (/ & & 0.65465e-04_rb,0.10983e-03_rb,0.12464e-03_rb,0.13149e-03_rb,0.13253e-03_rb, & & 0.12801e-03_rb,0.11693e-03_rb,0.98001e-04_rb,0.38349e-03_rb /) kao(:, 5,13, 4) = (/ & & 0.66137e-04_rb,0.11222e-03_rb,0.12786e-03_rb,0.13517e-03_rb,0.13652e-03_rb, & & 0.13219e-03_rb,0.12093e-03_rb,0.10155e-03_rb,0.38305e-03_rb /) kao(:, 1, 1, 5) = (/ & & 0.60998e-03_rb,0.92357e-03_rb,0.10463e-02_rb,0.11196e-02_rb,0.11571e-02_rb, & & 0.11569e-02_rb,0.11152e-02_rb,0.10342e-02_rb,0.80721e-03_rb /) kao(:, 2, 1, 5) = (/ & & 0.61496e-03_rb,0.93510e-03_rb,0.10604e-02_rb,0.11361e-02_rb,0.11777e-02_rb, & & 0.11834e-02_rb,0.11457e-02_rb,0.10708e-02_rb,0.83732e-03_rb /) kao(:, 3, 1, 5) = (/ & & 0.62454e-03_rb,0.95002e-03_rb,0.10819e-02_rb,0.11594e-02_rb,0.12038e-02_rb, & & 0.12158e-02_rb,0.11823e-02_rb,0.11158e-02_rb,0.87187e-03_rb /) kao(:, 4, 1, 5) = (/ & & 0.63013e-03_rb,0.96444e-03_rb,0.11010e-02_rb,0.11847e-02_rb,0.12326e-02_rb, & & 0.12499e-02_rb,0.12239e-02_rb,0.11623e-02_rb,0.91505e-03_rb /) kao(:, 5, 1, 5) = (/ & & 0.63867e-03_rb,0.98562e-03_rb,0.11276e-02_rb,0.12151e-02_rb,0.12673e-02_rb, & & 0.12886e-02_rb,0.12687e-02_rb,0.12127e-02_rb,0.95931e-03_rb /) kao(:, 1, 2, 5) = (/ & & 0.54006e-03_rb,0.82110e-03_rb,0.93517e-03_rb,0.10086e-02_rb,0.10436e-02_rb, & & 0.10473e-02_rb,0.10071e-02_rb,0.92435e-03_rb,0.69632e-03_rb /) kao(:, 2, 2, 5) = (/ & & 0.54512e-03_rb,0.83214e-03_rb,0.94586e-03_rb,0.10224e-02_rb,0.10616e-02_rb, & & 0.10697e-02_rb,0.10360e-02_rb,0.95897e-03_rb,0.72282e-03_rb /) kao(:, 3, 2, 5) = (/ & & 0.55430e-03_rb,0.84713e-03_rb,0.96481e-03_rb,0.10423e-02_rb,0.10850e-02_rb, & & 0.10972e-02_rb,0.10691e-02_rb,0.99640e-03_rb,0.75512e-03_rb /) kao(:, 4, 2, 5) = (/ & & 0.56089e-03_rb,0.86369e-03_rb,0.98575e-03_rb,0.10648e-02_rb,0.11112e-02_rb, & & 0.11281e-02_rb,0.11049e-02_rb,0.10361e-02_rb,0.79150e-03_rb /) kao(:, 5, 2, 5) = (/ & & 0.56701e-03_rb,0.88105e-03_rb,0.10081e-02_rb,0.10898e-02_rb,0.11420e-02_rb, & & 0.11626e-02_rb,0.11406e-02_rb,0.10780e-02_rb,0.83023e-03_rb /) kao(:, 1, 3, 5) = (/ & & 0.47586e-03_rb,0.72781e-03_rb,0.83369e-03_rb,0.89860e-03_rb,0.93234e-03_rb, & & 0.93626e-03_rb,0.89909e-03_rb,0.81585e-03_rb,0.59036e-03_rb /) kao(:, 2, 3, 5) = (/ & & 0.48035e-03_rb,0.73757e-03_rb,0.84502e-03_rb,0.91276e-03_rb,0.94800e-03_rb, & & 0.95536e-03_rb,0.92668e-03_rb,0.84501e-03_rb,0.61080e-03_rb /) kao(:, 3, 3, 5) = (/ & & 0.48667e-03_rb,0.74941e-03_rb,0.86058e-03_rb,0.92996e-03_rb,0.96794e-03_rb, & & 0.97737e-03_rb,0.95368e-03_rb,0.87646e-03_rb,0.63872e-03_rb /) kao(:, 4, 3, 5) = (/ & & 0.49637e-03_rb,0.76538e-03_rb,0.87882e-03_rb,0.95073e-03_rb,0.99190e-03_rb, & & 0.10051e-02_rb,0.98438e-03_rb,0.91070e-03_rb,0.66866e-03_rb /) kao(:, 5, 3, 5) = (/ & & 0.50269e-03_rb,0.78028e-03_rb,0.89635e-03_rb,0.97198e-03_rb,0.10179e-02_rb, & & 0.10338e-02_rb,0.10130e-02_rb,0.94553e-03_rb,0.70095e-03_rb /) kao(:, 1, 4, 5) = (/ & & 0.41745e-03_rb,0.64505e-03_rb,0.73966e-03_rb,0.79761e-03_rb,0.82752e-03_rb, & & 0.82878e-03_rb,0.79470e-03_rb,0.71636e-03_rb,0.49987e-03_rb /) kao(:, 2, 4, 5) = (/ & & 0.42212e-03_rb,0.65318e-03_rb,0.75017e-03_rb,0.80979e-03_rb,0.84194e-03_rb, & & 0.84473e-03_rb,0.81717e-03_rb,0.73865e-03_rb,0.51625e-03_rb /) kao(:, 3, 4, 5) = (/ & & 0.42808e-03_rb,0.66407e-03_rb,0.76314e-03_rb,0.82416e-03_rb,0.85814e-03_rb, & & 0.86375e-03_rb,0.83972e-03_rb,0.76440e-03_rb,0.53894e-03_rb /) kao(:, 4, 4, 5) = (/ & & 0.43544e-03_rb,0.67737e-03_rb,0.77911e-03_rb,0.84222e-03_rb,0.87777e-03_rb, & & 0.88583e-03_rb,0.86479e-03_rb,0.79362e-03_rb,0.56271e-03_rb /) kao(:, 5, 4, 5) = (/ & & 0.44549e-03_rb,0.69330e-03_rb,0.79686e-03_rb,0.86274e-03_rb,0.90103e-03_rb, & & 0.91189e-03_rb,0.89184e-03_rb,0.82416e-03_rb,0.58887e-03_rb /) kao(:, 1, 5, 5) = (/ & & 0.36593e-03_rb,0.56942e-03_rb,0.65432e-03_rb,0.70354e-03_rb,0.72916e-03_rb, & & 0.72850e-03_rb,0.69713e-03_rb,0.62558e-03_rb,0.42621e-03_rb /) kao(:, 2, 5, 5) = (/ & & 0.37099e-03_rb,0.57654e-03_rb,0.66395e-03_rb,0.71472e-03_rb,0.74107e-03_rb, & & 0.74240e-03_rb,0.71535e-03_rb,0.64376e-03_rb,0.43884e-03_rb /) kao(:, 3, 5, 5) = (/ & & 0.37647e-03_rb,0.58652e-03_rb,0.67530e-03_rb,0.72837e-03_rb,0.75654e-03_rb, & & 0.75759e-03_rb,0.73402e-03_rb,0.66546e-03_rb,0.45630e-03_rb /) kao(:, 4, 5, 5) = (/ & & 0.38311e-03_rb,0.59837e-03_rb,0.68871e-03_rb,0.74328e-03_rb,0.77277e-03_rb, & & 0.77677e-03_rb,0.75490e-03_rb,0.68962e-03_rb,0.47449e-03_rb /) kao(:, 5, 5, 5) = (/ & & 0.39217e-03_rb,0.61368e-03_rb,0.70480e-03_rb,0.76178e-03_rb,0.79297e-03_rb, & & 0.79889e-03_rb,0.77761e-03_rb,0.71542e-03_rb,0.49580e-03_rb /) kao(:, 1, 6, 5) = (/ & & 0.32055e-03_rb,0.49922e-03_rb,0.57435e-03_rb,0.61868e-03_rb,0.63931e-03_rb, & & 0.63779e-03_rb,0.60689e-03_rb,0.54327e-03_rb,0.36282e-03_rb /) kao(:, 2, 6, 5) = (/ & & 0.32502e-03_rb,0.50520e-03_rb,0.58251e-03_rb,0.62835e-03_rb,0.64977e-03_rb, & & 0.64920e-03_rb,0.62209e-03_rb,0.55837e-03_rb,0.37399e-03_rb /) kao(:, 3, 6, 5) = (/ & & 0.33055e-03_rb,0.51462e-03_rb,0.59267e-03_rb,0.63972e-03_rb,0.66253e-03_rb, & & 0.66213e-03_rb,0.63802e-03_rb,0.57660e-03_rb,0.38710e-03_rb /) kao(:, 4, 6, 5) = (/ & & 0.33647e-03_rb,0.52569e-03_rb,0.60454e-03_rb,0.65260e-03_rb,0.67645e-03_rb, & & 0.67638e-03_rb,0.65560e-03_rb,0.59667e-03_rb,0.40130e-03_rb /) kao(:, 5, 6, 5) = (/ & & 0.34306e-03_rb,0.53846e-03_rb,0.61820e-03_rb,0.66796e-03_rb,0.69284e-03_rb, & & 0.69400e-03_rb,0.67340e-03_rb,0.61700e-03_rb,0.41923e-03_rb /) kao(:, 1, 7, 5) = (/ & & 0.28149e-03_rb,0.43644e-03_rb,0.49974e-03_rb,0.53938e-03_rb,0.55701e-03_rb, & & 0.55579e-03_rb,0.52736e-03_rb,0.47001e-03_rb,0.31306e-03_rb /) kao(:, 2, 7, 5) = (/ & & 0.28528e-03_rb,0.44207e-03_rb,0.50655e-03_rb,0.54763e-03_rb,0.56691e-03_rb, & & 0.56439e-03_rb,0.53930e-03_rb,0.48247e-03_rb,0.32173e-03_rb /) kao(:, 3, 7, 5) = (/ & & 0.29004e-03_rb,0.45020e-03_rb,0.51518e-03_rb,0.55741e-03_rb,0.57771e-03_rb, & & 0.57585e-03_rb,0.55263e-03_rb,0.49748e-03_rb,0.33090e-03_rb /) kao(:, 4, 7, 5) = (/ & & 0.29568e-03_rb,0.46070e-03_rb,0.52625e-03_rb,0.56864e-03_rb,0.58962e-03_rb, & & 0.58944e-03_rb,0.56702e-03_rb,0.51458e-03_rb,0.34232e-03_rb /) kao(:, 5, 7, 5) = (/ & & 0.30178e-03_rb,0.47274e-03_rb,0.53886e-03_rb,0.58253e-03_rb,0.60354e-03_rb, & & 0.60454e-03_rb,0.58225e-03_rb,0.53128e-03_rb,0.35470e-03_rb /) kao(:, 1, 8, 5) = (/ & & 0.24786e-03_rb,0.38205e-03_rb,0.43403e-03_rb,0.46727e-03_rb,0.48302e-03_rb, & & 0.48227e-03_rb,0.45812e-03_rb,0.40611e-03_rb,0.30468e-03_rb /) kao(:, 2, 8, 5) = (/ & & 0.25026e-03_rb,0.38705e-03_rb,0.43948e-03_rb,0.47351e-03_rb,0.49158e-03_rb, & & 0.49003e-03_rb,0.46771e-03_rb,0.41673e-03_rb,0.30992e-03_rb /) kao(:, 3, 8, 5) = (/ & & 0.25464e-03_rb,0.39453e-03_rb,0.44681e-03_rb,0.48211e-03_rb,0.50112e-03_rb, & & 0.49992e-03_rb,0.47844e-03_rb,0.42901e-03_rb,0.31626e-03_rb /) kao(:, 4, 8, 5) = (/ & & 0.25978e-03_rb,0.40390e-03_rb,0.45683e-03_rb,0.49220e-03_rb,0.51134e-03_rb, & & 0.51141e-03_rb,0.48898e-03_rb,0.44238e-03_rb,0.32406e-03_rb /) kao(:, 5, 8, 5) = (/ & & 0.26514e-03_rb,0.41428e-03_rb,0.46827e-03_rb,0.50433e-03_rb,0.52333e-03_rb, & & 0.52414e-03_rb,0.50147e-03_rb,0.45619e-03_rb,0.33317e-03_rb /) kao(:, 1, 9, 5) = (/ & & 0.21824e-03_rb,0.33786e-03_rb,0.37946e-03_rb,0.40535e-03_rb,0.41752e-03_rb, & & 0.41661e-03_rb,0.39611e-03_rb,0.34986e-03_rb,0.52178e-03_rb /) kao(:, 2, 9, 5) = (/ & & 0.22059e-03_rb,0.34230e-03_rb,0.38410e-03_rb,0.41056e-03_rb,0.42477e-03_rb, & & 0.42372e-03_rb,0.40485e-03_rb,0.35866e-03_rb,0.50681e-03_rb /) kao(:, 3, 9, 5) = (/ & & 0.22400e-03_rb,0.34814e-03_rb,0.39039e-03_rb,0.41748e-03_rb,0.43284e-03_rb, & & 0.43220e-03_rb,0.41363e-03_rb,0.36885e-03_rb,0.49302e-03_rb /) kao(:, 4, 9, 5) = (/ & & 0.22873e-03_rb,0.35603e-03_rb,0.39905e-03_rb,0.42659e-03_rb,0.44174e-03_rb, & & 0.44167e-03_rb,0.42288e-03_rb,0.37972e-03_rb,0.48294e-03_rb /) kao(:, 5, 9, 5) = (/ & & 0.23347e-03_rb,0.36495e-03_rb,0.40893e-03_rb,0.43763e-03_rb,0.45181e-03_rb, & & 0.45234e-03_rb,0.43347e-03_rb,0.39120e-03_rb,0.47762e-03_rb /) kao(:, 1,10, 5) = (/ & & 0.19122e-03_rb,0.29954e-03_rb,0.33486e-03_rb,0.35474e-03_rb,0.36349e-03_rb, & & 0.36120e-03_rb,0.34300e-03_rb,0.30153e-03_rb,0.10818e-02_rb /) kao(:, 2,10, 5) = (/ & & 0.19375e-03_rb,0.30331e-03_rb,0.33858e-03_rb,0.35959e-03_rb,0.36963e-03_rb, & & 0.36736e-03_rb,0.35033e-03_rb,0.30927e-03_rb,0.10683e-02_rb /) kao(:, 3,10, 5) = (/ & & 0.19685e-03_rb,0.30858e-03_rb,0.34410e-03_rb,0.36599e-03_rb,0.37648e-03_rb, & & 0.37420e-03_rb,0.35748e-03_rb,0.31737e-03_rb,0.10704e-02_rb /) kao(:, 4,10, 5) = (/ & & 0.20091e-03_rb,0.31499e-03_rb,0.35151e-03_rb,0.37400e-03_rb,0.38421e-03_rb, & & 0.38207e-03_rb,0.36506e-03_rb,0.32617e-03_rb,0.10743e-02_rb /) kao(:, 5,10, 5) = (/ & & 0.20539e-03_rb,0.32294e-03_rb,0.36050e-03_rb,0.38325e-03_rb,0.39308e-03_rb, & & 0.39074e-03_rb,0.37406e-03_rb,0.33544e-03_rb,0.10696e-02_rb /) kao(:, 1,11, 5) = (/ & & 0.16667e-03_rb,0.26520e-03_rb,0.29671e-03_rb,0.31441e-03_rb,0.32093e-03_rb, & & 0.31659e-03_rb,0.30045e-03_rb,0.26340e-03_rb,0.11835e-02_rb /) kao(:, 2,11, 5) = (/ & & 0.16885e-03_rb,0.26948e-03_rb,0.30096e-03_rb,0.31914e-03_rb,0.32661e-03_rb, & & 0.32210e-03_rb,0.30657e-03_rb,0.27004e-03_rb,0.11814e-02_rb /) kao(:, 3,11, 5) = (/ & & 0.17223e-03_rb,0.27439e-03_rb,0.30661e-03_rb,0.32470e-03_rb,0.33272e-03_rb, & & 0.32842e-03_rb,0.31227e-03_rb,0.27654e-03_rb,0.11630e-02_rb /) kao(:, 4,11, 5) = (/ & & 0.17618e-03_rb,0.28049e-03_rb,0.31365e-03_rb,0.33181e-03_rb,0.33965e-03_rb, & & 0.33555e-03_rb,0.31903e-03_rb,0.28400e-03_rb,0.11485e-02_rb /) kao(:, 5,11, 5) = (/ & & 0.18103e-03_rb,0.28752e-03_rb,0.32181e-03_rb,0.34031e-03_rb,0.34776e-03_rb, & & 0.34353e-03_rb,0.32710e-03_rb,0.29221e-03_rb,0.11367e-02_rb /) kao(:, 1,12, 5) = (/ & & 0.14364e-03_rb,0.23191e-03_rb,0.26011e-03_rb,0.27602e-03_rb,0.28230e-03_rb, & & 0.27753e-03_rb,0.26259e-03_rb,0.22940e-03_rb,0.11242e-02_rb /) kao(:, 2,12, 5) = (/ & & 0.14586e-03_rb,0.23578e-03_rb,0.26464e-03_rb,0.28074e-03_rb,0.28728e-03_rb, & & 0.28268e-03_rb,0.26740e-03_rb,0.23511e-03_rb,0.11131e-02_rb /) kao(:, 3,12, 5) = (/ & & 0.14908e-03_rb,0.24042e-03_rb,0.27020e-03_rb,0.28659e-03_rb,0.29280e-03_rb, & & 0.28866e-03_rb,0.27254e-03_rb,0.24089e-03_rb,0.10996e-02_rb /) kao(:, 4,12, 5) = (/ & & 0.15297e-03_rb,0.24595e-03_rb,0.27661e-03_rb,0.29313e-03_rb,0.29926e-03_rb, & & 0.29513e-03_rb,0.27870e-03_rb,0.24706e-03_rb,0.10965e-02_rb /) kao(:, 5,12, 5) = (/ & & 0.15735e-03_rb,0.25242e-03_rb,0.28422e-03_rb,0.30069e-03_rb,0.30695e-03_rb, & & 0.30241e-03_rb,0.28613e-03_rb,0.25425e-03_rb,0.10839e-02_rb /) kao(:, 1,13, 5) = (/ & & 0.12345e-03_rb,0.20108e-03_rb,0.22674e-03_rb,0.24086e-03_rb,0.24638e-03_rb, & & 0.24238e-03_rb,0.22876e-03_rb,0.19931e-03_rb,0.96895e-03_rb /) kao(:, 2,13, 5) = (/ & & 0.12581e-03_rb,0.20480e-03_rb,0.23117e-03_rb,0.24535e-03_rb,0.25104e-03_rb, & & 0.24702e-03_rb,0.23303e-03_rb,0.20421e-03_rb,0.96294e-03_rb /) kao(:, 3,13, 5) = (/ & & 0.12856e-03_rb,0.20921e-03_rb,0.23606e-03_rb,0.25076e-03_rb,0.25631e-03_rb, & & 0.25243e-03_rb,0.23816e-03_rb,0.20920e-03_rb,0.95736e-03_rb /) kao(:, 4,13, 5) = (/ & & 0.13210e-03_rb,0.21428e-03_rb,0.24223e-03_rb,0.25691e-03_rb,0.26218e-03_rb, & & 0.25847e-03_rb,0.24400e-03_rb,0.21468e-03_rb,0.95389e-03_rb /) kao(:, 5,13, 5) = (/ & & 0.13599e-03_rb,0.22037e-03_rb,0.24914e-03_rb,0.26391e-03_rb,0.26911e-03_rb, & & 0.26543e-03_rb,0.25095e-03_rb,0.22101e-03_rb,0.94116e-03_rb /) kao(:, 1, 1, 6) = (/ & & 0.10602e-02_rb,0.17123e-02_rb,0.20157e-02_rb,0.22277e-02_rb,0.23726e-02_rb, & & 0.24628e-02_rb,0.25069e-02_rb,0.24686e-02_rb,0.20168e-02_rb /) kao(:, 2, 1, 6) = (/ & & 0.10672e-02_rb,0.17270e-02_rb,0.20414e-02_rb,0.22652e-02_rb,0.24211e-02_rb, & & 0.25212e-02_rb,0.25704e-02_rb,0.25272e-02_rb,0.20646e-02_rb /) kao(:, 3, 1, 6) = (/ & & 0.10788e-02_rb,0.17509e-02_rb,0.20769e-02_rb,0.23112e-02_rb,0.24814e-02_rb, & & 0.25914e-02_rb,0.26418e-02_rb,0.25942e-02_rb,0.21193e-02_rb /) kao(:, 4, 1, 6) = (/ & & 0.10874e-02_rb,0.17764e-02_rb,0.21176e-02_rb,0.23585e-02_rb,0.25381e-02_rb, & & 0.26622e-02_rb,0.27175e-02_rb,0.26689e-02_rb,0.21851e-02_rb /) kao(:, 5, 1, 6) = (/ & & 0.11018e-02_rb,0.18090e-02_rb,0.21640e-02_rb,0.24172e-02_rb,0.26051e-02_rb, & & 0.27415e-02_rb,0.28075e-02_rb,0.27566e-02_rb,0.22604e-02_rb /) kao(:, 1, 2, 6) = (/ & & 0.95075e-03_rb,0.15355e-02_rb,0.17976e-02_rb,0.19766e-02_rb,0.21006e-02_rb, & & 0.21710e-02_rb,0.21998e-02_rb,0.21663e-02_rb,0.17568e-02_rb /) kao(:, 2, 2, 6) = (/ & & 0.96010e-03_rb,0.15501e-02_rb,0.18242e-02_rb,0.20112e-02_rb,0.21419e-02_rb, & & 0.22180e-02_rb,0.22475e-02_rb,0.22135e-02_rb,0.17960e-02_rb /) kao(:, 3, 2, 6) = (/ & & 0.97337e-03_rb,0.15726e-02_rb,0.18580e-02_rb,0.20531e-02_rb,0.21905e-02_rb, & & 0.22742e-02_rb,0.23072e-02_rb,0.22697e-02_rb,0.18409e-02_rb /) kao(:, 4, 2, 6) = (/ & & 0.98600e-03_rb,0.15975e-02_rb,0.18942e-02_rb,0.20984e-02_rb,0.22403e-02_rb, & & 0.23334e-02_rb,0.23735e-02_rb,0.23328e-02_rb,0.18922e-02_rb /) kao(:, 5, 2, 6) = (/ & & 0.99685e-03_rb,0.16266e-02_rb,0.19353e-02_rb,0.21493e-02_rb,0.22931e-02_rb, & & 0.23955e-02_rb,0.24466e-02_rb,0.24068e-02_rb,0.19548e-02_rb /) kao(:, 1, 3, 6) = (/ & & 0.85253e-03_rb,0.13731e-02_rb,0.15966e-02_rb,0.17555e-02_rb,0.18660e-02_rb, & & 0.19267e-02_rb,0.19415e-02_rb,0.18992e-02_rb,0.15125e-02_rb /) kao(:, 2, 3, 6) = (/ & & 0.86131e-03_rb,0.13853e-02_rb,0.16172e-02_rb,0.17827e-02_rb,0.18992e-02_rb, & & 0.19616e-02_rb,0.19781e-02_rb,0.19388e-02_rb,0.15472e-02_rb /) kao(:, 3, 3, 6) = (/ & & 0.87215e-03_rb,0.13990e-02_rb,0.16433e-02_rb,0.18151e-02_rb,0.19357e-02_rb, & & 0.20044e-02_rb,0.20244e-02_rb,0.19864e-02_rb,0.15842e-02_rb /) kao(:, 4, 3, 6) = (/ & & 0.88704e-03_rb,0.14261e-02_rb,0.16795e-02_rb,0.18576e-02_rb,0.19802e-02_rb, & & 0.20536e-02_rb,0.20804e-02_rb,0.20410e-02_rb,0.16256e-02_rb /) kao(:, 5, 3, 6) = (/ & & 0.89758e-03_rb,0.14527e-02_rb,0.17171e-02_rb,0.19025e-02_rb,0.20236e-02_rb, & & 0.21045e-02_rb,0.21413e-02_rb,0.21023e-02_rb,0.16764e-02_rb /) kao(:, 1, 4, 6) = (/ & & 0.76168e-03_rb,0.12206e-02_rb,0.14175e-02_rb,0.15588e-02_rb,0.16575e-02_rb, & & 0.17098e-02_rb,0.17134e-02_rb,0.16603e-02_rb,0.12974e-02_rb /) kao(:, 2, 4, 6) = (/ & & 0.76958e-03_rb,0.12314e-02_rb,0.14342e-02_rb,0.15807e-02_rb,0.16847e-02_rb, & & 0.17400e-02_rb,0.17442e-02_rb,0.16938e-02_rb,0.13260e-02_rb /) kao(:, 3, 4, 6) = (/ & & 0.78002e-03_rb,0.12481e-02_rb,0.14573e-02_rb,0.16092e-02_rb,0.17173e-02_rb, & & 0.17771e-02_rb,0.17830e-02_rb,0.17337e-02_rb,0.13577e-02_rb /) kao(:, 4, 4, 6) = (/ & & 0.79261e-03_rb,0.12694e-02_rb,0.14861e-02_rb,0.16420e-02_rb,0.17536e-02_rb, & & 0.18179e-02_rb,0.18286e-02_rb,0.17776e-02_rb,0.13930e-02_rb /) kao(:, 5, 4, 6) = (/ & & 0.80905e-03_rb,0.12930e-02_rb,0.15216e-02_rb,0.16835e-02_rb,0.17969e-02_rb, & & 0.18651e-02_rb,0.18829e-02_rb,0.18324e-02_rb,0.14370e-02_rb /) kao(:, 1, 5, 6) = (/ & & 0.67567e-03_rb,0.10847e-02_rb,0.12673e-02_rb,0.13865e-02_rb,0.14678e-02_rb, & & 0.15102e-02_rb,0.15099e-02_rb,0.14466e-02_rb,0.11079e-02_rb /) kao(:, 2, 5, 6) = (/ & & 0.68234e-03_rb,0.10948e-02_rb,0.12810e-02_rb,0.14048e-02_rb,0.14909e-02_rb, & & 0.15364e-02_rb,0.15351e-02_rb,0.14749e-02_rb,0.11322e-02_rb /) kao(:, 3, 5, 6) = (/ & & 0.69172e-03_rb,0.11094e-02_rb,0.12954e-02_rb,0.14275e-02_rb,0.15177e-02_rb, & & 0.15693e-02_rb,0.15680e-02_rb,0.15069e-02_rb,0.11581e-02_rb /) kao(:, 4, 5, 6) = (/ & & 0.70397e-03_rb,0.11284e-02_rb,0.13174e-02_rb,0.14563e-02_rb,0.15501e-02_rb, & & 0.16053e-02_rb,0.16071e-02_rb,0.15445e-02_rb,0.11891e-02_rb /) kao(:, 5, 5, 6) = (/ & & 0.72110e-03_rb,0.11540e-02_rb,0.13487e-02_rb,0.14917e-02_rb,0.15891e-02_rb, & & 0.16474e-02_rb,0.16536e-02_rb,0.15913e-02_rb,0.12262e-02_rb /) kao(:, 1, 6, 6) = (/ & & 0.59508e-03_rb,0.96565e-03_rb,0.11271e-02_rb,0.12321e-02_rb,0.12935e-02_rb, & & 0.13263e-02_rb,0.13235e-02_rb,0.12583e-02_rb,0.94318e-03_rb /) kao(:, 2, 6, 6) = (/ & & 0.60163e-03_rb,0.97555e-03_rb,0.11390e-02_rb,0.12428e-02_rb,0.13136e-02_rb, & & 0.13483e-02_rb,0.13443e-02_rb,0.12812e-02_rb,0.96040e-03_rb /) kao(:, 3, 6, 6) = (/ & & 0.61035e-03_rb,0.98842e-03_rb,0.11551e-02_rb,0.12623e-02_rb,0.13370e-02_rb, & & 0.13759e-02_rb,0.13716e-02_rb,0.13073e-02_rb,0.98049e-03_rb /) kao(:, 4, 6, 6) = (/ & & 0.62216e-03_rb,0.10038e-02_rb,0.11750e-02_rb,0.12870e-02_rb,0.13646e-02_rb, & & 0.14087e-02_rb,0.14042e-02_rb,0.13389e-02_rb,0.10049e-02_rb /) kao(:, 5, 6, 6) = (/ & & 0.63568e-03_rb,0.10246e-02_rb,0.11986e-02_rb,0.13152e-02_rb,0.13969e-02_rb, & & 0.14439e-02_rb,0.14425e-02_rb,0.13760e-02_rb,0.10351e-02_rb /) kao(:, 1, 7, 6) = (/ & & 0.52222e-03_rb,0.85609e-03_rb,0.99991e-03_rb,0.10870e-02_rb,0.11353e-02_rb, & & 0.11602e-02_rb,0.11537e-02_rb,0.10909e-02_rb,0.79969e-03_rb /) kao(:, 2, 7, 6) = (/ & & 0.52839e-03_rb,0.86572e-03_rb,0.10120e-02_rb,0.11011e-02_rb,0.11521e-02_rb, & & 0.11786e-02_rb,0.11705e-02_rb,0.11093e-02_rb,0.81421e-03_rb /) kao(:, 3, 7, 6) = (/ & & 0.53695e-03_rb,0.87703e-03_rb,0.10261e-02_rb,0.11177e-02_rb,0.11714e-02_rb, & & 0.12016e-02_rb,0.11930e-02_rb,0.11309e-02_rb,0.83157e-03_rb /) kao(:, 4, 7, 6) = (/ & & 0.54734e-03_rb,0.89105e-03_rb,0.10435e-02_rb,0.11340e-02_rb,0.11954e-02_rb, & & 0.12276e-02_rb,0.12204e-02_rb,0.11559e-02_rb,0.85189e-03_rb /) kao(:, 5, 7, 6) = (/ & & 0.56071e-03_rb,0.90902e-03_rb,0.10648e-02_rb,0.11575e-02_rb,0.12234e-02_rb, & & 0.12571e-02_rb,0.12523e-02_rb,0.11865e-02_rb,0.87630e-03_rb /) kao(:, 1, 8, 6) = (/ & & 0.45809e-03_rb,0.75296e-03_rb,0.88022e-03_rb,0.95530e-03_rb,0.99775e-03_rb, & & 0.10107e-02_rb,0.99991e-03_rb,0.94255e-03_rb,0.69349e-03_rb /) kao(:, 2, 8, 6) = (/ & & 0.46457e-03_rb,0.76241e-03_rb,0.89241e-03_rb,0.96833e-03_rb,0.10107e-02_rb, & & 0.10258e-02_rb,0.10136e-02_rb,0.95735e-03_rb,0.70413e-03_rb /) kao(:, 3, 8, 6) = (/ & & 0.47249e-03_rb,0.77258e-03_rb,0.90578e-03_rb,0.98260e-03_rb,0.10233e-02_rb, & & 0.10448e-02_rb,0.10324e-02_rb,0.97481e-03_rb,0.71522e-03_rb /) kao(:, 4, 8, 6) = (/ & & 0.48263e-03_rb,0.78537e-03_rb,0.92183e-03_rb,0.10012e-02_rb,0.10427e-02_rb, & & 0.10663e-02_rb,0.10558e-02_rb,0.99531e-03_rb,0.72922e-03_rb /) kao(:, 5, 8, 6) = (/ & & 0.49501e-03_rb,0.80218e-03_rb,0.94059e-03_rb,0.10219e-02_rb,0.10669e-02_rb, & & 0.10907e-02_rb,0.10824e-02_rb,0.10204e-02_rb,0.74659e-03_rb /) kao(:, 1, 9, 6) = (/ & & 0.40630e-03_rb,0.65697e-03_rb,0.76693e-03_rb,0.83253e-03_rb,0.86881e-03_rb, & & 0.87661e-03_rb,0.86393e-03_rb,0.81158e-03_rb,0.85763e-03_rb /) kao(:, 2, 9, 6) = (/ & & 0.41166e-03_rb,0.66657e-03_rb,0.77941e-03_rb,0.84564e-03_rb,0.88174e-03_rb, & & 0.88952e-03_rb,0.87488e-03_rb,0.82351e-03_rb,0.84633e-03_rb /) kao(:, 3, 9, 6) = (/ & & 0.41847e-03_rb,0.67680e-03_rb,0.79185e-03_rb,0.85875e-03_rb,0.89476e-03_rb, & & 0.90456e-03_rb,0.89101e-03_rb,0.83833e-03_rb,0.84017e-03_rb /) kao(:, 4, 9, 6) = (/ & & 0.42661e-03_rb,0.68815e-03_rb,0.80637e-03_rb,0.87435e-03_rb,0.91036e-03_rb, & & 0.92205e-03_rb,0.90961e-03_rb,0.85502e-03_rb,0.83895e-03_rb /) kao(:, 5, 9, 6) = (/ & & 0.43776e-03_rb,0.70278e-03_rb,0.82329e-03_rb,0.89247e-03_rb,0.92828e-03_rb, & & 0.94238e-03_rb,0.93168e-03_rb,0.87536e-03_rb,0.84088e-03_rb /) kao(:, 1,10, 6) = (/ & & 0.36854e-03_rb,0.57908e-03_rb,0.66869e-03_rb,0.72258e-03_rb,0.75231e-03_rb, & & 0.75942e-03_rb,0.74383e-03_rb,0.69709e-03_rb,0.20395e-02_rb /) kao(:, 2,10, 6) = (/ & & 0.37298e-03_rb,0.58711e-03_rb,0.68015e-03_rb,0.73349e-03_rb,0.76293e-03_rb, & & 0.77052e-03_rb,0.75338e-03_rb,0.70798e-03_rb,0.19202e-02_rb /) kao(:, 3,10, 6) = (/ & & 0.37876e-03_rb,0.59595e-03_rb,0.69100e-03_rb,0.74575e-03_rb,0.77497e-03_rb, & & 0.78295e-03_rb,0.76740e-03_rb,0.72017e-03_rb,0.18161e-02_rb /) kao(:, 4,10, 6) = (/ & & 0.38615e-03_rb,0.60708e-03_rb,0.70373e-03_rb,0.75914e-03_rb,0.78952e-03_rb, & & 0.79663e-03_rb,0.78331e-03_rb,0.73385e-03_rb,0.17247e-02_rb /) kao(:, 5,10, 6) = (/ & & 0.39564e-03_rb,0.62052e-03_rb,0.71856e-03_rb,0.77512e-03_rb,0.80699e-03_rb, & & 0.81444e-03_rb,0.80141e-03_rb,0.75081e-03_rb,0.16568e-02_rb /) kao(:, 1,11, 6) = (/ & & 0.33320e-03_rb,0.52088e-03_rb,0.59646e-03_rb,0.63812e-03_rb,0.65660e-03_rb, & & 0.65900e-03_rb,0.64138e-03_rb,0.60020e-03_rb,0.25696e-02_rb /) kao(:, 2,11, 6) = (/ & & 0.33882e-03_rb,0.52942e-03_rb,0.60584e-03_rb,0.64728e-03_rb,0.66639e-03_rb, & & 0.66995e-03_rb,0.65115e-03_rb,0.61030e-03_rb,0.24243e-02_rb /) kao(:, 3,11, 6) = (/ & & 0.34516e-03_rb,0.53993e-03_rb,0.61579e-03_rb,0.65783e-03_rb,0.67758e-03_rb, & & 0.68193e-03_rb,0.66413e-03_rb,0.62169e-03_rb,0.23408e-02_rb /) kao(:, 4,11, 6) = (/ & & 0.35301e-03_rb,0.55124e-03_rb,0.62753e-03_rb,0.66999e-03_rb,0.69148e-03_rb, & & 0.69508e-03_rb,0.67858e-03_rb,0.63426e-03_rb,0.22732e-02_rb /) kao(:, 5,11, 6) = (/ & & 0.36214e-03_rb,0.56453e-03_rb,0.64151e-03_rb,0.68481e-03_rb,0.70755e-03_rb, & & 0.71086e-03_rb,0.69483e-03_rb,0.64938e-03_rb,0.21869e-02_rb /) kao(:, 1,12, 6) = (/ & & 0.29653e-03_rb,0.46559e-03_rb,0.53073e-03_rb,0.56520e-03_rb,0.57894e-03_rb, & & 0.57686e-03_rb,0.55698e-03_rb,0.51584e-03_rb,0.26304e-02_rb /) kao(:, 2,12, 6) = (/ & & 0.30188e-03_rb,0.47447e-03_rb,0.54017e-03_rb,0.57406e-03_rb,0.58804e-03_rb, & & 0.58653e-03_rb,0.56630e-03_rb,0.52472e-03_rb,0.24930e-02_rb /) kao(:, 3,12, 6) = (/ & & 0.30861e-03_rb,0.48517e-03_rb,0.55102e-03_rb,0.58380e-03_rb,0.59890e-03_rb, & & 0.59725e-03_rb,0.57721e-03_rb,0.53486e-03_rb,0.23834e-02_rb /) kao(:, 4,12, 6) = (/ & & 0.31637e-03_rb,0.49701e-03_rb,0.56299e-03_rb,0.59618e-03_rb,0.61191e-03_rb, & & 0.60936e-03_rb,0.58930e-03_rb,0.54649e-03_rb,0.22824e-02_rb /) kao(:, 5,12, 6) = (/ & & 0.32604e-03_rb,0.51148e-03_rb,0.57604e-03_rb,0.61103e-03_rb,0.62611e-03_rb, & & 0.62412e-03_rb,0.60375e-03_rb,0.56026e-03_rb,0.22084e-02_rb /) kao(:, 1,13, 6) = (/ & & 0.26154e-03_rb,0.41366e-03_rb,0.47019e-03_rb,0.50056e-03_rb,0.51140e-03_rb, & & 0.50695e-03_rb,0.48611e-03_rb,0.44348e-03_rb,0.22773e-02_rb /) kao(:, 2,13, 6) = (/ & & 0.26669e-03_rb,0.42267e-03_rb,0.47957e-03_rb,0.51009e-03_rb,0.52067e-03_rb, & & 0.51611e-03_rb,0.49506e-03_rb,0.45138e-03_rb,0.21516e-02_rb /) kao(:, 3,13, 6) = (/ & & 0.27302e-03_rb,0.43290e-03_rb,0.49082e-03_rb,0.52081e-03_rb,0.53105e-03_rb, & & 0.52578e-03_rb,0.50476e-03_rb,0.46026e-03_rb,0.20522e-02_rb /) kao(:, 4,13, 6) = (/ & & 0.28114e-03_rb,0.44552e-03_rb,0.50271e-03_rb,0.53316e-03_rb,0.54314e-03_rb, & & 0.53754e-03_rb,0.51555e-03_rb,0.47096e-03_rb,0.19694e-02_rb /) kao(:, 5,13, 6) = (/ & & 0.29046e-03_rb,0.45904e-03_rb,0.51716e-03_rb,0.54751e-03_rb,0.55727e-03_rb, & & 0.55147e-03_rb,0.52828e-03_rb,0.48333e-03_rb,0.19102e-02_rb /) kao(:, 1, 1, 7) = (/ & & 0.21025e-02_rb,0.35934e-02_rb,0.44505e-02_rb,0.51294e-02_rb,0.56565e-02_rb, & & 0.60638e-02_rb,0.63051e-02_rb,0.63060e-02_rb,0.53132e-02_rb /) kao(:, 2, 1, 7) = (/ & & 0.21147e-02_rb,0.36363e-02_rb,0.45228e-02_rb,0.52203e-02_rb,0.57590e-02_rb, & & 0.61627e-02_rb,0.64080e-02_rb,0.64123e-02_rb,0.54186e-02_rb /) kao(:, 3, 1, 7) = (/ & & 0.21423e-02_rb,0.36907e-02_rb,0.46129e-02_rb,0.53384e-02_rb,0.58809e-02_rb, & & 0.62832e-02_rb,0.65320e-02_rb,0.65359e-02_rb,0.55396e-02_rb /) kao(:, 4, 1, 7) = (/ & & 0.21655e-02_rb,0.37303e-02_rb,0.46928e-02_rb,0.54454e-02_rb,0.60067e-02_rb, & & 0.64159e-02_rb,0.66758e-02_rb,0.66776e-02_rb,0.56738e-02_rb /) kao(:, 5, 1, 7) = (/ & & 0.22041e-02_rb,0.37865e-02_rb,0.47900e-02_rb,0.55720e-02_rb,0.61575e-02_rb, & & 0.65795e-02_rb,0.68426e-02_rb,0.68332e-02_rb,0.58218e-02_rb /) kao(:, 1, 2, 7) = (/ & & 0.19184e-02_rb,0.32868e-02_rb,0.40037e-02_rb,0.45520e-02_rb,0.49723e-02_rb, & & 0.52862e-02_rb,0.54779e-02_rb,0.54778e-02_rb,0.44696e-02_rb /) kao(:, 2, 2, 7) = (/ & & 0.19302e-02_rb,0.33258e-02_rb,0.40693e-02_rb,0.46336e-02_rb,0.50634e-02_rb, & & 0.53829e-02_rb,0.55797e-02_rb,0.55784e-02_rb,0.45568e-02_rb /) kao(:, 3, 2, 7) = (/ & & 0.19586e-02_rb,0.33762e-02_rb,0.41518e-02_rb,0.47383e-02_rb,0.51749e-02_rb, & & 0.54993e-02_rb,0.56986e-02_rb,0.56923e-02_rb,0.46572e-02_rb /) kao(:, 4, 2, 7) = (/ & & 0.19876e-02_rb,0.34214e-02_rb,0.42297e-02_rb,0.48395e-02_rb,0.52957e-02_rb, & & 0.56305e-02_rb,0.58340e-02_rb,0.58219e-02_rb,0.47733e-02_rb /) kao(:, 5, 2, 7) = (/ & & 0.20222e-02_rb,0.34660e-02_rb,0.43057e-02_rb,0.49428e-02_rb,0.54286e-02_rb, & & 0.57769e-02_rb,0.59846e-02_rb,0.59651e-02_rb,0.49022e-02_rb /) kao(:, 1, 3, 7) = (/ & & 0.17389e-02_rb,0.29833e-02_rb,0.35894e-02_rb,0.40314e-02_rb,0.43535e-02_rb, & & 0.45848e-02_rb,0.47251e-02_rb,0.47273e-02_rb,0.37675e-02_rb /) kao(:, 2, 3, 7) = (/ & & 0.17511e-02_rb,0.30210e-02_rb,0.36487e-02_rb,0.40996e-02_rb,0.44314e-02_rb, & & 0.46730e-02_rb,0.48141e-02_rb,0.48126e-02_rb,0.38333e-02_rb /) kao(:, 3, 3, 7) = (/ & & 0.17713e-02_rb,0.30646e-02_rb,0.37133e-02_rb,0.41800e-02_rb,0.45216e-02_rb, & & 0.47732e-02_rb,0.49178e-02_rb,0.49079e-02_rb,0.39121e-02_rb /) kao(:, 4, 3, 7) = (/ & & 0.18058e-02_rb,0.31149e-02_rb,0.37889e-02_rb,0.42777e-02_rb,0.46349e-02_rb, & & 0.48925e-02_rb,0.50383e-02_rb,0.50219e-02_rb,0.40071e-02_rb /) kao(:, 5, 3, 7) = (/ & & 0.18379e-02_rb,0.31573e-02_rb,0.38545e-02_rb,0.43660e-02_rb,0.47479e-02_rb, & & 0.50186e-02_rb,0.51717e-02_rb,0.51483e-02_rb,0.41141e-02_rb /) kao(:, 1, 4, 7) = (/ & & 0.15760e-02_rb,0.26881e-02_rb,0.32116e-02_rb,0.35706e-02_rb,0.38258e-02_rb, & & 0.39911e-02_rb,0.40833e-02_rb,0.40813e-02_rb,0.32298e-02_rb /) kao(:, 2, 4, 7) = (/ & & 0.15813e-02_rb,0.27249e-02_rb,0.32627e-02_rb,0.36295e-02_rb,0.38889e-02_rb, & & 0.40640e-02_rb,0.41571e-02_rb,0.41534e-02_rb,0.32787e-02_rb /) kao(:, 3, 4, 7) = (/ & & 0.16001e-02_rb,0.27603e-02_rb,0.33193e-02_rb,0.36971e-02_rb,0.39631e-02_rb, & & 0.41442e-02_rb,0.42435e-02_rb,0.42324e-02_rb,0.33394e-02_rb /) kao(:, 4, 4, 7) = (/ & & 0.16258e-02_rb,0.28020e-02_rb,0.33780e-02_rb,0.37750e-02_rb,0.40494e-02_rb, & & 0.42369e-02_rb,0.43436e-02_rb,0.43281e-02_rb,0.34138e-02_rb /) kao(:, 5, 4, 7) = (/ & & 0.16664e-02_rb,0.28640e-02_rb,0.34503e-02_rb,0.38637e-02_rb,0.41572e-02_rb, & & 0.43540e-02_rb,0.44611e-02_rb,0.44376e-02_rb,0.34982e-02_rb /) kao(:, 1, 5, 7) = (/ & & 0.14233e-02_rb,0.24061e-02_rb,0.28484e-02_rb,0.31675e-02_rb,0.33803e-02_rb, & & 0.35027e-02_rb,0.35528e-02_rb,0.35417e-02_rb,0.27814e-02_rb /) kao(:, 2, 5, 7) = (/ & & 0.14350e-02_rb,0.24395e-02_rb,0.28937e-02_rb,0.32168e-02_rb,0.34318e-02_rb, & & 0.35619e-02_rb,0.36148e-02_rb,0.35990e-02_rb,0.28208e-02_rb /) kao(:, 3, 5, 7) = (/ & & 0.14521e-02_rb,0.24725e-02_rb,0.29512e-02_rb,0.32733e-02_rb,0.34917e-02_rb, & & 0.36258e-02_rb,0.36856e-02_rb,0.36654e-02_rb,0.28719e-02_rb /) kao(:, 4, 5, 7) = (/ & & 0.14701e-02_rb,0.25117e-02_rb,0.30081e-02_rb,0.33364e-02_rb,0.35619e-02_rb, & & 0.37016e-02_rb,0.37673e-02_rb,0.37455e-02_rb,0.29344e-02_rb /) kao(:, 5, 5, 7) = (/ & & 0.15037e-02_rb,0.25667e-02_rb,0.30753e-02_rb,0.34136e-02_rb,0.36518e-02_rb, & & 0.37975e-02_rb,0.38648e-02_rb,0.38367e-02_rb,0.30050e-02_rb /) kao(:, 1, 6, 7) = (/ & & 0.12833e-02_rb,0.21397e-02_rb,0.25249e-02_rb,0.27989e-02_rb,0.29941e-02_rb, & & 0.30943e-02_rb,0.31134e-02_rb,0.30718e-02_rb,0.23837e-02_rb /) kao(:, 2, 6, 7) = (/ & & 0.12955e-02_rb,0.21689e-02_rb,0.25640e-02_rb,0.28465e-02_rb,0.30386e-02_rb, & & 0.31442e-02_rb,0.31666e-02_rb,0.31216e-02_rb,0.24190e-02_rb /) kao(:, 3, 6, 7) = (/ & & 0.13128e-02_rb,0.22001e-02_rb,0.26092e-02_rb,0.28949e-02_rb,0.30875e-02_rb, & & 0.31967e-02_rb,0.32254e-02_rb,0.31772e-02_rb,0.24633e-02_rb /) kao(:, 4, 6, 7) = (/ & & 0.13321e-02_rb,0.22373e-02_rb,0.26583e-02_rb,0.29483e-02_rb,0.31454e-02_rb, & & 0.32584e-02_rb,0.32916e-02_rb,0.32451e-02_rb,0.25158e-02_rb /) kao(:, 5, 6, 7) = (/ & & 0.13570e-02_rb,0.22801e-02_rb,0.27142e-02_rb,0.30110e-02_rb,0.32147e-02_rb, & & 0.33324e-02_rb,0.33699e-02_rb,0.33240e-02_rb,0.25751e-02_rb /) kao(:, 1, 7, 7) = (/ & & 0.11500e-02_rb,0.18956e-02_rb,0.22352e-02_rb,0.24771e-02_rb,0.26462e-02_rb, & & 0.27285e-02_rb,0.27284e-02_rb,0.26574e-02_rb,0.20286e-02_rb /) kao(:, 2, 7, 7) = (/ & & 0.11641e-02_rb,0.19221e-02_rb,0.22681e-02_rb,0.25137e-02_rb,0.26876e-02_rb, & & 0.27741e-02_rb,0.27762e-02_rb,0.27013e-02_rb,0.20553e-02_rb /) kao(:, 3, 7, 7) = (/ & & 0.11813e-02_rb,0.19513e-02_rb,0.23065e-02_rb,0.25547e-02_rb,0.27305e-02_rb, & & 0.28210e-02_rb,0.28261e-02_rb,0.27499e-02_rb,0.20900e-02_rb /) kao(:, 4, 7, 7) = (/ & & 0.12020e-02_rb,0.19854e-02_rb,0.23499e-02_rb,0.26064e-02_rb,0.27813e-02_rb, & & 0.28738e-02_rb,0.28824e-02_rb,0.28095e-02_rb,0.21311e-02_rb /) kao(:, 5, 7, 7) = (/ & & 0.12251e-02_rb,0.20252e-02_rb,0.23984e-02_rb,0.26618e-02_rb,0.28401e-02_rb, & & 0.29374e-02_rb,0.29496e-02_rb,0.28780e-02_rb,0.21792e-02_rb /) kao(:, 1, 8, 7) = (/ & & 0.10232e-02_rb,0.16906e-02_rb,0.19769e-02_rb,0.21832e-02_rb,0.23202e-02_rb, & & 0.23917e-02_rb,0.23852e-02_rb,0.22950e-02_rb,0.17101e-02_rb /) kao(:, 2, 8, 7) = (/ & & 0.10391e-02_rb,0.17050e-02_rb,0.20071e-02_rb,0.22179e-02_rb,0.23606e-02_rb, & & 0.24337e-02_rb,0.24284e-02_rb,0.23335e-02_rb,0.17331e-02_rb /) kao(:, 3, 8, 7) = (/ & & 0.10558e-02_rb,0.17304e-02_rb,0.20412e-02_rb,0.22560e-02_rb,0.24048e-02_rb, & & 0.24767e-02_rb,0.24718e-02_rb,0.23758e-02_rb,0.17638e-02_rb /) kao(:, 4, 8, 7) = (/ & & 0.10757e-02_rb,0.17611e-02_rb,0.20788e-02_rb,0.22974e-02_rb,0.24509e-02_rb, & & 0.25242e-02_rb,0.25220e-02_rb,0.24275e-02_rb,0.17981e-02_rb /) kao(:, 5, 8, 7) = (/ & & 0.10980e-02_rb,0.17974e-02_rb,0.21207e-02_rb,0.23464e-02_rb,0.25025e-02_rb, & & 0.25827e-02_rb,0.25792e-02_rb,0.24843e-02_rb,0.18371e-02_rb /) kao(:, 1, 9, 7) = (/ & & 0.89817e-03_rb,0.14995e-02_rb,0.17424e-02_rb,0.19141e-02_rb,0.20277e-02_rb, & & 0.20847e-02_rb,0.20717e-02_rb,0.19779e-02_rb,0.16529e-02_rb /) kao(:, 2, 9, 7) = (/ & & 0.91497e-03_rb,0.15202e-02_rb,0.17713e-02_rb,0.19473e-02_rb,0.20642e-02_rb, & & 0.21241e-02_rb,0.21112e-02_rb,0.20125e-02_rb,0.16590e-02_rb /) kao(:, 3, 9, 7) = (/ & & 0.93269e-03_rb,0.15411e-02_rb,0.18029e-02_rb,0.19839e-02_rb,0.21017e-02_rb, & & 0.21633e-02_rb,0.21507e-02_rb,0.20494e-02_rb,0.16738e-02_rb /) kao(:, 4, 9, 7) = (/ & & 0.95304e-03_rb,0.15646e-02_rb,0.18368e-02_rb,0.20225e-02_rb,0.21451e-02_rb, & & 0.22062e-02_rb,0.21951e-02_rb,0.20930e-02_rb,0.16939e-02_rb /) kao(:, 5, 9, 7) = (/ & & 0.97498e-03_rb,0.15941e-02_rb,0.18742e-02_rb,0.20657e-02_rb,0.21958e-02_rb, & & 0.22577e-02_rb,0.22448e-02_rb,0.21409e-02_rb,0.17176e-02_rb /) kao(:, 1,10, 7) = (/ & & 0.79262e-03_rb,0.13163e-02_rb,0.15328e-02_rb,0.16707e-02_rb,0.17648e-02_rb, & & 0.18068e-02_rb,0.17935e-02_rb,0.17058e-02_rb,0.29700e-02_rb /) kao(:, 2,10, 7) = (/ & & 0.80762e-03_rb,0.13411e-02_rb,0.15596e-02_rb,0.17027e-02_rb,0.18000e-02_rb, & & 0.18435e-02_rb,0.18291e-02_rb,0.17355e-02_rb,0.28651e-02_rb /) kao(:, 3,10, 7) = (/ & & 0.82251e-03_rb,0.13646e-02_rb,0.15856e-02_rb,0.17370e-02_rb,0.18349e-02_rb, & & 0.18799e-02_rb,0.18643e-02_rb,0.17669e-02_rb,0.27637e-02_rb /) kao(:, 4,10, 7) = (/ & & 0.84077e-03_rb,0.13892e-02_rb,0.16170e-02_rb,0.17747e-02_rb,0.18736e-02_rb, & & 0.19201e-02_rb,0.19036e-02_rb,0.18042e-02_rb,0.26870e-02_rb /) kao(:, 5,10, 7) = (/ & & 0.86106e-03_rb,0.14180e-02_rb,0.16516e-02_rb,0.18147e-02_rb,0.19171e-02_rb, & & 0.19660e-02_rb,0.19468e-02_rb,0.18451e-02_rb,0.26342e-02_rb /) kao(:, 1,11, 7) = (/ & & 0.72744e-03_rb,0.11669e-02_rb,0.13481e-02_rb,0.14590e-02_rb,0.15393e-02_rb, & & 0.15747e-02_rb,0.15610e-02_rb,0.14772e-02_rb,0.38429e-02_rb /) kao(:, 2,11, 7) = (/ & & 0.73930e-03_rb,0.11904e-02_rb,0.13759e-02_rb,0.14894e-02_rb,0.15715e-02_rb, & & 0.16066e-02_rb,0.15925e-02_rb,0.15038e-02_rb,0.36308e-02_rb /) kao(:, 3,11, 7) = (/ & & 0.75350e-03_rb,0.12120e-02_rb,0.14044e-02_rb,0.15240e-02_rb,0.16053e-02_rb, & & 0.16390e-02_rb,0.16251e-02_rb,0.15339e-02_rb,0.34122e-02_rb /) kao(:, 4,11, 7) = (/ & & 0.76930e-03_rb,0.12355e-02_rb,0.14324e-02_rb,0.15603e-02_rb,0.16424e-02_rb, & & 0.16774e-02_rb,0.16611e-02_rb,0.15677e-02_rb,0.32391e-02_rb /) kao(:, 5,11, 7) = (/ & & 0.78824e-03_rb,0.12645e-02_rb,0.14660e-02_rb,0.15998e-02_rb,0.16846e-02_rb, & & 0.17204e-02_rb,0.17007e-02_rb,0.16046e-02_rb,0.31291e-02_rb /) kao(:, 1,12, 7) = (/ & & 0.66909e-03_rb,0.10517e-02_rb,0.11921e-02_rb,0.12822e-02_rb,0.13379e-02_rb, & & 0.13630e-02_rb,0.13492e-02_rb,0.12752e-02_rb,0.39255e-02_rb /) kao(:, 2,12, 7) = (/ & & 0.68372e-03_rb,0.10717e-02_rb,0.12175e-02_rb,0.13089e-02_rb,0.13666e-02_rb, & & 0.13913e-02_rb,0.13783e-02_rb,0.12999e-02_rb,0.37011e-02_rb /) kao(:, 3,12, 7) = (/ & & 0.69881e-03_rb,0.10912e-02_rb,0.12439e-02_rb,0.13402e-02_rb,0.13970e-02_rb, & & 0.14222e-02_rb,0.14099e-02_rb,0.13279e-02_rb,0.35002e-02_rb /) kao(:, 4,12, 7) = (/ & & 0.71487e-03_rb,0.11132e-02_rb,0.12732e-02_rb,0.13738e-02_rb,0.14317e-02_rb, & & 0.14583e-02_rb,0.14439e-02_rb,0.13590e-02_rb,0.33360e-02_rb /) kao(:, 5,12, 7) = (/ & & 0.73461e-03_rb,0.11382e-02_rb,0.13053e-02_rb,0.14102e-02_rb,0.14713e-02_rb, & & 0.14974e-02_rb,0.14808e-02_rb,0.13924e-02_rb,0.31844e-02_rb /) kao(:, 1,13, 7) = (/ & & 0.61282e-03_rb,0.95575e-03_rb,0.10730e-02_rb,0.11388e-02_rb,0.11718e-02_rb, & & 0.11795e-02_rb,0.11618e-02_rb,0.10974e-02_rb,0.34089e-02_rb /) kao(:, 2,13, 7) = (/ & & 0.62765e-03_rb,0.97500e-03_rb,0.10966e-02_rb,0.11619e-02_rb,0.11959e-02_rb, & & 0.12054e-02_rb,0.11876e-02_rb,0.11206e-02_rb,0.32141e-02_rb /) kao(:, 3,13, 7) = (/ & & 0.64409e-03_rb,0.99523e-03_rb,0.11197e-02_rb,0.11873e-02_rb,0.12235e-02_rb, & & 0.12347e-02_rb,0.12163e-02_rb,0.11468e-02_rb,0.30396e-02_rb /) kao(:, 4,13, 7) = (/ & & 0.66230e-03_rb,0.10180e-02_rb,0.11464e-02_rb,0.12161e-02_rb,0.12557e-02_rb, & & 0.12667e-02_rb,0.12475e-02_rb,0.11749e-02_rb,0.28911e-02_rb /) kao(:, 5,13, 7) = (/ & & 0.68383e-03_rb,0.10452e-02_rb,0.11767e-02_rb,0.12484e-02_rb,0.12902e-02_rb, & & 0.13021e-02_rb,0.12822e-02_rb,0.12049e-02_rb,0.27576e-02_rb /) kao(:, 1, 1, 8) = (/ & & 0.59073e-02_rb,0.94320e-02_rb,0.12084e-01_rb,0.14049e-01_rb,0.15571e-01_rb, & & 0.16640e-01_rb,0.17123e-01_rb,0.16625e-01_rb,0.14851e-01_rb /) kao(:, 2, 1, 8) = (/ & & 0.60213e-02_rb,0.95565e-02_rb,0.12218e-01_rb,0.14200e-01_rb,0.15736e-01_rb, & & 0.16810e-01_rb,0.17290e-01_rb,0.16722e-01_rb,0.14969e-01_rb /) kao(:, 3, 1, 8) = (/ & & 0.61698e-02_rb,0.97176e-02_rb,0.12383e-01_rb,0.14381e-01_rb,0.15939e-01_rb, & & 0.17010e-01_rb,0.17476e-01_rb,0.16866e-01_rb,0.15129e-01_rb /) kao(:, 4, 1, 8) = (/ & & 0.62862e-02_rb,0.98624e-02_rb,0.12544e-01_rb,0.14586e-01_rb,0.16163e-01_rb, & & 0.17225e-01_rb,0.17690e-01_rb,0.17043e-01_rb,0.15322e-01_rb /) kao(:, 5, 1, 8) = (/ & & 0.64346e-02_rb,0.10033e-01_rb,0.12746e-01_rb,0.14817e-01_rb,0.16408e-01_rb, & & 0.17481e-01_rb,0.17940e-01_rb,0.17253e-01_rb,0.15543e-01_rb /) kao(:, 1, 2, 8) = (/ & & 0.53740e-02_rb,0.87218e-02_rb,0.11053e-01_rb,0.12810e-01_rb,0.14176e-01_rb, & & 0.15120e-01_rb,0.15546e-01_rb,0.15059e-01_rb,0.12919e-01_rb /) kao(:, 2, 2, 8) = (/ & & 0.54730e-02_rb,0.88522e-02_rb,0.11203e-01_rb,0.12984e-01_rb,0.14363e-01_rb, & & 0.15303e-01_rb,0.15712e-01_rb,0.15177e-01_rb,0.13038e-01_rb /) kao(:, 3, 2, 8) = (/ & & 0.56074e-02_rb,0.90112e-02_rb,0.11386e-01_rb,0.13184e-01_rb,0.14577e-01_rb, & & 0.15506e-01_rb,0.15908e-01_rb,0.15341e-01_rb,0.13193e-01_rb /) kao(:, 4, 2, 8) = (/ & & 0.57291e-02_rb,0.91663e-02_rb,0.11581e-01_rb,0.13408e-01_rb,0.14805e-01_rb, & & 0.15738e-01_rb,0.16140e-01_rb,0.15527e-01_rb,0.13373e-01_rb /) kao(:, 5, 2, 8) = (/ & & 0.58374e-02_rb,0.93237e-02_rb,0.11790e-01_rb,0.13642e-01_rb,0.15063e-01_rb, & & 0.16008e-01_rb,0.16391e-01_rb,0.15740e-01_rb,0.13573e-01_rb /) kao(:, 1, 3, 8) = (/ & & 0.49151e-02_rb,0.80083e-02_rb,0.10006e-01_rb,0.11528e-01_rb,0.12727e-01_rb, & & 0.13551e-01_rb,0.13911e-01_rb,0.13469e-01_rb,0.11070e-01_rb /) kao(:, 2, 3, 8) = (/ & & 0.50045e-02_rb,0.81384e-02_rb,0.10158e-01_rb,0.11712e-01_rb,0.12918e-01_rb, & & 0.13727e-01_rb,0.14078e-01_rb,0.13598e-01_rb,0.11182e-01_rb /) kao(:, 3, 3, 8) = (/ & & 0.51018e-02_rb,0.82774e-02_rb,0.10333e-01_rb,0.11906e-01_rb,0.13128e-01_rb, & & 0.13932e-01_rb,0.14276e-01_rb,0.13758e-01_rb,0.11318e-01_rb /) kao(:, 4, 3, 8) = (/ & & 0.52290e-02_rb,0.84457e-02_rb,0.10545e-01_rb,0.12130e-01_rb,0.13362e-01_rb, & & 0.14179e-01_rb,0.14506e-01_rb,0.13944e-01_rb,0.11475e-01_rb /) kao(:, 5, 3, 8) = (/ & & 0.53219e-02_rb,0.86004e-02_rb,0.10753e-01_rb,0.12365e-01_rb,0.13624e-01_rb, & & 0.14443e-01_rb,0.14743e-01_rb,0.14150e-01_rb,0.11664e-01_rb /) kao(:, 1, 4, 8) = (/ & & 0.44996e-02_rb,0.73324e-02_rb,0.89976e-02_rb,0.10282e-01_rb,0.11291e-01_rb, & & 0.11989e-01_rb,0.12308e-01_rb,0.11915e-01_rb,0.94610e-02_rb /) kao(:, 2, 4, 8) = (/ & & 0.45903e-02_rb,0.74608e-02_rb,0.91511e-02_rb,0.10467e-01_rb,0.11476e-01_rb, & & 0.12168e-01_rb,0.12474e-01_rb,0.12040e-01_rb,0.95583e-02_rb /) kao(:, 3, 4, 8) = (/ & & 0.46786e-02_rb,0.75960e-02_rb,0.93200e-02_rb,0.10651e-01_rb,0.11685e-01_rb, & & 0.12375e-01_rb,0.12662e-01_rb,0.12197e-01_rb,0.96836e-02_rb /) kao(:, 4, 4, 8) = (/ & & 0.47771e-02_rb,0.77407e-02_rb,0.95085e-02_rb,0.10860e-01_rb,0.11915e-01_rb, & & 0.12611e-01_rb,0.12868e-01_rb,0.12374e-01_rb,0.98243e-02_rb /) kao(:, 5, 4, 8) = (/ & & 0.48920e-02_rb,0.79194e-02_rb,0.97305e-02_rb,0.11107e-01_rb,0.12174e-01_rb, & & 0.12866e-01_rb,0.13096e-01_rb,0.12573e-01_rb,0.99978e-02_rb /) kao(:, 1, 5, 8) = (/ & & 0.41203e-02_rb,0.67057e-02_rb,0.80820e-02_rb,0.91247e-02_rb,0.99321e-02_rb, & & 0.10510e-01_rb,0.10783e-01_rb,0.10430e-01_rb,0.81020e-02_rb /) kao(:, 2, 5, 8) = (/ & & 0.41993e-02_rb,0.68279e-02_rb,0.82322e-02_rb,0.92959e-02_rb,0.10115e-01_rb, & & 0.10684e-01_rb,0.10936e-01_rb,0.10557e-01_rb,0.81860e-02_rb /) kao(:, 3, 5, 8) = (/ & & 0.42833e-02_rb,0.69588e-02_rb,0.83884e-02_rb,0.94726e-02_rb,0.10319e-01_rb, & & 0.10879e-01_rb,0.11113e-01_rb,0.10704e-01_rb,0.82915e-02_rb /) kao(:, 4, 5, 8) = (/ & & 0.43800e-02_rb,0.70975e-02_rb,0.85585e-02_rb,0.96769e-02_rb,0.10538e-01_rb, & & 0.11098e-01_rb,0.11307e-01_rb,0.10873e-01_rb,0.84082e-02_rb /) kao(:, 5, 5, 8) = (/ & & 0.44913e-02_rb,0.72638e-02_rb,0.87668e-02_rb,0.99106e-02_rb,0.10776e-01_rb, & & 0.11337e-01_rb,0.11521e-01_rb,0.11061e-01_rb,0.85492e-02_rb /) kao(:, 1, 6, 8) = (/ & & 0.37432e-02_rb,0.61135e-02_rb,0.72507e-02_rb,0.80822e-02_rb,0.86984e-02_rb, & & 0.91424e-02_rb,0.93607e-02_rb,0.90800e-02_rb,0.69637e-02_rb /) kao(:, 2, 6, 8) = (/ & & 0.38232e-02_rb,0.62277e-02_rb,0.73923e-02_rb,0.82383e-02_rb,0.88666e-02_rb, & & 0.93013e-02_rb,0.95051e-02_rb,0.91939e-02_rb,0.70311e-02_rb /) kao(:, 3, 6, 8) = (/ & & 0.39028e-02_rb,0.63516e-02_rb,0.75330e-02_rb,0.84072e-02_rb,0.90542e-02_rb, & & 0.94860e-02_rb,0.96693e-02_rb,0.93306e-02_rb,0.71143e-02_rb /) kao(:, 4, 6, 8) = (/ & & 0.39917e-02_rb,0.64850e-02_rb,0.76893e-02_rb,0.85935e-02_rb,0.92562e-02_rb, & & 0.96859e-02_rb,0.98481e-02_rb,0.94821e-02_rb,0.72080e-02_rb /) kao(:, 5, 6, 8) = (/ & & 0.40851e-02_rb,0.66256e-02_rb,0.78694e-02_rb,0.87911e-02_rb,0.94733e-02_rb, & & 0.99019e-02_rb,0.10042e-01_rb,0.96464e-02_rb,0.73211e-02_rb /) kao(:, 1, 7, 8) = (/ & & 0.33812e-02_rb,0.55475e-02_rb,0.65017e-02_rb,0.71556e-02_rb,0.76235e-02_rb, & & 0.79451e-02_rb,0.81101e-02_rb,0.78877e-02_rb,0.60070e-02_rb /) kao(:, 2, 7, 8) = (/ & & 0.34581e-02_rb,0.56575e-02_rb,0.66301e-02_rb,0.72977e-02_rb,0.77709e-02_rb, & & 0.80903e-02_rb,0.82426e-02_rb,0.79917e-02_rb,0.60625e-02_rb /) kao(:, 3, 7, 8) = (/ & & 0.35355e-02_rb,0.57759e-02_rb,0.67602e-02_rb,0.74532e-02_rb,0.79395e-02_rb, & & 0.82549e-02_rb,0.83890e-02_rb,0.81121e-02_rb,0.61274e-02_rb /) kao(:, 4, 7, 8) = (/ & & 0.36191e-02_rb,0.58987e-02_rb,0.69034e-02_rb,0.76219e-02_rb,0.81209e-02_rb, & & 0.84343e-02_rb,0.85495e-02_rb,0.82395e-02_rb,0.62026e-02_rb /) kao(:, 5, 7, 8) = (/ & & 0.37084e-02_rb,0.60308e-02_rb,0.70671e-02_rb,0.77977e-02_rb,0.83160e-02_rb, & & 0.86266e-02_rb,0.87205e-02_rb,0.83802e-02_rb,0.62947e-02_rb /) kao(:, 1, 8, 8) = (/ & & 0.30376e-02_rb,0.49774e-02_rb,0.58172e-02_rb,0.63470e-02_rb,0.67038e-02_rb, & & 0.69396e-02_rb,0.70412e-02_rb,0.68509e-02_rb,0.51374e-02_rb /) kao(:, 2, 8, 8) = (/ & & 0.31099e-02_rb,0.50996e-02_rb,0.59344e-02_rb,0.64736e-02_rb,0.68367e-02_rb, & & 0.70701e-02_rb,0.71564e-02_rb,0.69425e-02_rb,0.51813e-02_rb /) kao(:, 3, 8, 8) = (/ & & 0.31853e-02_rb,0.52155e-02_rb,0.60541e-02_rb,0.66147e-02_rb,0.69858e-02_rb, & & 0.72120e-02_rb,0.72858e-02_rb,0.70465e-02_rb,0.52319e-02_rb /) kao(:, 4, 8, 8) = (/ & & 0.32663e-02_rb,0.53312e-02_rb,0.61863e-02_rb,0.67654e-02_rb,0.71468e-02_rb, & & 0.73677e-02_rb,0.74252e-02_rb,0.71560e-02_rb,0.52932e-02_rb /) kao(:, 5, 8, 8) = (/ & & 0.33510e-02_rb,0.54583e-02_rb,0.63345e-02_rb,0.69235e-02_rb,0.73170e-02_rb, & & 0.75339e-02_rb,0.75720e-02_rb,0.72770e-02_rb,0.53726e-02_rb /) kao(:, 1, 9, 8) = (/ & & 0.27168e-02_rb,0.44406e-02_rb,0.51768e-02_rb,0.56339e-02_rb,0.59208e-02_rb, & & 0.60958e-02_rb,0.61438e-02_rb,0.59554e-02_rb,0.42511e-02_rb /) kao(:, 2, 9, 8) = (/ & & 0.27853e-02_rb,0.45486e-02_rb,0.52870e-02_rb,0.57491e-02_rb,0.60397e-02_rb, & & 0.62076e-02_rb,0.62421e-02_rb,0.60358e-02_rb,0.42982e-02_rb /) kao(:, 3, 9, 8) = (/ & & 0.28572e-02_rb,0.46609e-02_rb,0.53998e-02_rb,0.58755e-02_rb,0.61719e-02_rb, & & 0.63300e-02_rb,0.63536e-02_rb,0.61272e-02_rb,0.43479e-02_rb /) kao(:, 4, 9, 8) = (/ & & 0.29351e-02_rb,0.47766e-02_rb,0.55244e-02_rb,0.60103e-02_rb,0.63121e-02_rb, & & 0.64656e-02_rb,0.64718e-02_rb,0.62231e-02_rb,0.44012e-02_rb /) kao(:, 5, 9, 8) = (/ & & 0.30174e-02_rb,0.49013e-02_rb,0.56608e-02_rb,0.61542e-02_rb,0.64584e-02_rb, & & 0.66094e-02_rb,0.65960e-02_rb,0.63252e-02_rb,0.44655e-02_rb /) kao(:, 1,10, 8) = (/ & & 0.24055e-02_rb,0.39503e-02_rb,0.45833e-02_rb,0.49951e-02_rb,0.52507e-02_rb, & & 0.53857e-02_rb,0.53791e-02_rb,0.51629e-02_rb,0.55379e-02_rb /) kao(:, 2,10, 8) = (/ & & 0.24728e-02_rb,0.40487e-02_rb,0.46867e-02_rb,0.51042e-02_rb,0.53576e-02_rb, & & 0.54844e-02_rb,0.54704e-02_rb,0.52383e-02_rb,0.55398e-02_rb /) kao(:, 3,10, 8) = (/ & & 0.25454e-02_rb,0.41511e-02_rb,0.48010e-02_rb,0.52206e-02_rb,0.54751e-02_rb, & & 0.55927e-02_rb,0.55711e-02_rb,0.53216e-02_rb,0.55501e-02_rb /) kao(:, 4,10, 8) = (/ & & 0.26224e-02_rb,0.42542e-02_rb,0.49201e-02_rb,0.53438e-02_rb,0.55977e-02_rb, & & 0.57114e-02_rb,0.56753e-02_rb,0.54074e-02_rb,0.55558e-02_rb /) kao(:, 5,10, 8) = (/ & & 0.27039e-02_rb,0.43672e-02_rb,0.50470e-02_rb,0.54750e-02_rb,0.57276e-02_rb, & & 0.58363e-02_rb,0.57849e-02_rb,0.54996e-02_rb,0.55710e-02_rb /) kao(:, 1,11, 8) = (/ & & 0.21256e-02_rb,0.35221e-02_rb,0.40853e-02_rb,0.44612e-02_rb,0.46874e-02_rb, & & 0.47866e-02_rb,0.47389e-02_rb,0.44975e-02_rb,0.66135e-02_rb /) kao(:, 2,11, 8) = (/ & & 0.21937e-02_rb,0.36149e-02_rb,0.41854e-02_rb,0.45677e-02_rb,0.47907e-02_rb, & & 0.48833e-02_rb,0.48291e-02_rb,0.45707e-02_rb,0.65729e-02_rb /) kao(:, 3,11, 8) = (/ & & 0.22650e-02_rb,0.37098e-02_rb,0.42933e-02_rb,0.46764e-02_rb,0.49020e-02_rb, & & 0.49895e-02_rb,0.49234e-02_rb,0.46462e-02_rb,0.65598e-02_rb /) kao(:, 4,11, 8) = (/ & & 0.23425e-02_rb,0.38113e-02_rb,0.44107e-02_rb,0.47931e-02_rb,0.50165e-02_rb, & & 0.51000e-02_rb,0.50211e-02_rb,0.47251e-02_rb,0.65419e-02_rb /) kao(:, 5,11, 8) = (/ & & 0.24251e-02_rb,0.39222e-02_rb,0.45344e-02_rb,0.49164e-02_rb,0.51382e-02_rb, & & 0.52156e-02_rb,0.51233e-02_rb,0.48118e-02_rb,0.65404e-02_rb /) kao(:, 1,12, 8) = (/ & & 0.19014e-02_rb,0.31169e-02_rb,0.36336e-02_rb,0.39642e-02_rb,0.41602e-02_rb, & & 0.42352e-02_rb,0.41726e-02_rb,0.39183e-02_rb,0.68121e-02_rb /) kao(:, 2,12, 8) = (/ & & 0.19605e-02_rb,0.32068e-02_rb,0.37314e-02_rb,0.40676e-02_rb,0.42627e-02_rb, & & 0.43333e-02_rb,0.42591e-02_rb,0.39851e-02_rb,0.67229e-02_rb /) kao(:, 3,12, 8) = (/ & & 0.20227e-02_rb,0.33010e-02_rb,0.38333e-02_rb,0.41743e-02_rb,0.43708e-02_rb, & & 0.44355e-02_rb,0.43461e-02_rb,0.40520e-02_rb,0.66419e-02_rb /) kao(:, 4,12, 8) = (/ & & 0.20945e-02_rb,0.34006e-02_rb,0.39411e-02_rb,0.42851e-02_rb,0.44804e-02_rb, & & 0.45405e-02_rb,0.44353e-02_rb,0.41230e-02_rb,0.65948e-02_rb /) kao(:, 5,12, 8) = (/ & & 0.21695e-02_rb,0.35114e-02_rb,0.40581e-02_rb,0.44020e-02_rb,0.45960e-02_rb, & & 0.46501e-02_rb,0.45319e-02_rb,0.42045e-02_rb,0.65716e-02_rb /) kao(:, 1,13, 8) = (/ & & 0.17348e-02_rb,0.27575e-02_rb,0.32033e-02_rb,0.34905e-02_rb,0.36669e-02_rb, & & 0.37299e-02_rb,0.36615e-02_rb,0.34092e-02_rb,0.62173e-02_rb /) kao(:, 2,13, 8) = (/ & & 0.17868e-02_rb,0.28403e-02_rb,0.32978e-02_rb,0.35924e-02_rb,0.37684e-02_rb, & & 0.38248e-02_rb,0.37430e-02_rb,0.34686e-02_rb,0.61248e-02_rb /) kao(:, 3,13, 8) = (/ & & 0.18438e-02_rb,0.29272e-02_rb,0.33982e-02_rb,0.36985e-02_rb,0.38711e-02_rb, & & 0.39210e-02_rb,0.38240e-02_rb,0.35286e-02_rb,0.60637e-02_rb /) kao(:, 4,13, 8) = (/ & & 0.19066e-02_rb,0.30192e-02_rb,0.35016e-02_rb,0.38072e-02_rb,0.39764e-02_rb, & & 0.40199e-02_rb,0.39089e-02_rb,0.35954e-02_rb,0.60138e-02_rb /) kao(:, 5,13, 8) = (/ & & 0.19732e-02_rb,0.31237e-02_rb,0.36129e-02_rb,0.39207e-02_rb,0.40892e-02_rb, & & 0.41240e-02_rb,0.40022e-02_rb,0.36721e-02_rb,0.59944e-02_rb /) kao(:, 1, 1, 9) = (/ & & 0.41219e-01_rb,0.41795e-01_rb,0.46848e-01_rb,0.50877e-01_rb,0.53437e-01_rb, & & 0.54488e-01_rb,0.53560e-01_rb,0.50235e-01_rb,0.51545e-01_rb /) kao(:, 2, 1, 9) = (/ & & 0.42156e-01_rb,0.42406e-01_rb,0.47180e-01_rb,0.51006e-01_rb,0.53354e-01_rb, & & 0.54221e-01_rb,0.53185e-01_rb,0.49897e-01_rb,0.51289e-01_rb /) kao(:, 3, 1, 9) = (/ & & 0.43082e-01_rb,0.43034e-01_rb,0.47543e-01_rb,0.51133e-01_rb,0.53289e-01_rb, & & 0.53978e-01_rb,0.52866e-01_rb,0.49591e-01_rb,0.51083e-01_rb /) kao(:, 4, 1, 9) = (/ & & 0.43908e-01_rb,0.43606e-01_rb,0.47876e-01_rb,0.51241e-01_rb,0.53225e-01_rb, & & 0.53768e-01_rb,0.52555e-01_rb,0.49365e-01_rb,0.51010e-01_rb /) kao(:, 5, 1, 9) = (/ & & 0.44717e-01_rb,0.44169e-01_rb,0.48160e-01_rb,0.51395e-01_rb,0.53206e-01_rb, & & 0.53607e-01_rb,0.52301e-01_rb,0.49268e-01_rb,0.51108e-01_rb /) kao(:, 1, 2, 9) = (/ & & 0.38280e-01_rb,0.40368e-01_rb,0.46271e-01_rb,0.50387e-01_rb,0.53287e-01_rb, & & 0.54294e-01_rb,0.53147e-01_rb,0.49359e-01_rb,0.49444e-01_rb /) kao(:, 2, 2, 9) = (/ & & 0.39278e-01_rb,0.41016e-01_rb,0.46659e-01_rb,0.50565e-01_rb,0.53249e-01_rb, & & 0.54064e-01_rb,0.52823e-01_rb,0.49016e-01_rb,0.49210e-01_rb /) kao(:, 3, 2, 9) = (/ & & 0.40252e-01_rb,0.41678e-01_rb,0.47048e-01_rb,0.50745e-01_rb,0.53223e-01_rb, & & 0.53871e-01_rb,0.52519e-01_rb,0.48730e-01_rb,0.49081e-01_rb /) kao(:, 4, 2, 9) = (/ & & 0.41132e-01_rb,0.42274e-01_rb,0.47387e-01_rb,0.50925e-01_rb,0.53214e-01_rb, & & 0.53693e-01_rb,0.52217e-01_rb,0.48559e-01_rb,0.49102e-01_rb /) kao(:, 5, 2, 9) = (/ & & 0.41937e-01_rb,0.42806e-01_rb,0.47675e-01_rb,0.51115e-01_rb,0.53221e-01_rb, & & 0.53535e-01_rb,0.52007e-01_rb,0.48511e-01_rb,0.49285e-01_rb /) kao(:, 1, 3, 9) = (/ & & 0.35016e-01_rb,0.38740e-01_rb,0.45035e-01_rb,0.49481e-01_rb,0.52517e-01_rb, & & 0.53496e-01_rb,0.52191e-01_rb,0.48044e-01_rb,0.46584e-01_rb /) kao(:, 2, 3, 9) = (/ & & 0.36031e-01_rb,0.39393e-01_rb,0.45463e-01_rb,0.49713e-01_rb,0.52514e-01_rb, & & 0.53329e-01_rb,0.51912e-01_rb,0.47725e-01_rb,0.46413e-01_rb /) kao(:, 3, 3, 9) = (/ & & 0.36991e-01_rb,0.40024e-01_rb,0.45863e-01_rb,0.49943e-01_rb,0.52531e-01_rb, & & 0.53167e-01_rb,0.51622e-01_rb,0.47472e-01_rb,0.46354e-01_rb /) kao(:, 4, 3, 9) = (/ & & 0.37902e-01_rb,0.40620e-01_rb,0.46253e-01_rb,0.50181e-01_rb,0.52583e-01_rb, & & 0.53007e-01_rb,0.51384e-01_rb,0.47335e-01_rb,0.46441e-01_rb /) kao(:, 5, 3, 9) = (/ & & 0.38707e-01_rb,0.41126e-01_rb,0.46598e-01_rb,0.50384e-01_rb,0.52633e-01_rb, & & 0.52879e-01_rb,0.51240e-01_rb,0.47311e-01_rb,0.46661e-01_rb /) kao(:, 1, 4, 9) = (/ & & 0.31672e-01_rb,0.36966e-01_rb,0.43365e-01_rb,0.48073e-01_rb,0.51081e-01_rb, & & 0.52063e-01_rb,0.50596e-01_rb,0.46210e-01_rb,0.43228e-01_rb /) kao(:, 2, 4, 9) = (/ & & 0.32685e-01_rb,0.37616e-01_rb,0.43827e-01_rb,0.48349e-01_rb,0.51147e-01_rb, & & 0.51967e-01_rb,0.50386e-01_rb,0.45960e-01_rb,0.43137e-01_rb /) kao(:, 3, 4, 9) = (/ & & 0.33628e-01_rb,0.38241e-01_rb,0.44270e-01_rb,0.48639e-01_rb,0.51209e-01_rb, & & 0.51848e-01_rb,0.50172e-01_rb,0.45771e-01_rb,0.43147e-01_rb /) kao(:, 4, 4, 9) = (/ & & 0.34503e-01_rb,0.38804e-01_rb,0.44698e-01_rb,0.48896e-01_rb,0.51278e-01_rb, & & 0.51724e-01_rb,0.50016e-01_rb,0.45686e-01_rb,0.43281e-01_rb /) kao(:, 5, 4, 9) = (/ & & 0.35339e-01_rb,0.39319e-01_rb,0.45124e-01_rb,0.49160e-01_rb,0.51368e-01_rb, & & 0.51672e-01_rb,0.49945e-01_rb,0.45702e-01_rb,0.43520e-01_rb /) kao(:, 1, 5, 9) = (/ & & 0.28453e-01_rb,0.34915e-01_rb,0.41400e-01_rb,0.46104e-01_rb,0.49014e-01_rb, & & 0.49952e-01_rb,0.48370e-01_rb,0.43932e-01_rb,0.39569e-01_rb /) kao(:, 2, 5, 9) = (/ & & 0.29434e-01_rb,0.35588e-01_rb,0.41893e-01_rb,0.46437e-01_rb,0.49144e-01_rb, & & 0.49919e-01_rb,0.48254e-01_rb,0.43775e-01_rb,0.39548e-01_rb /) kao(:, 3, 5, 9) = (/ & & 0.30340e-01_rb,0.36236e-01_rb,0.42373e-01_rb,0.46769e-01_rb,0.49255e-01_rb, & & 0.49873e-01_rb,0.48133e-01_rb,0.43667e-01_rb,0.39610e-01_rb /) kao(:, 4, 5, 9) = (/ & & 0.31178e-01_rb,0.36810e-01_rb,0.42835e-01_rb,0.47061e-01_rb,0.49370e-01_rb, & & 0.49827e-01_rb,0.48071e-01_rb,0.43623e-01_rb,0.39779e-01_rb /) kao(:, 5, 5, 9) = (/ & & 0.31999e-01_rb,0.37346e-01_rb,0.43284e-01_rb,0.47361e-01_rb,0.49516e-01_rb, & & 0.49857e-01_rb,0.48088e-01_rb,0.43666e-01_rb,0.40037e-01_rb /) kao(:, 1, 6, 9) = (/ & & 0.25421e-01_rb,0.32626e-01_rb,0.39116e-01_rb,0.43609e-01_rb,0.46371e-01_rb, & & 0.47186e-01_rb,0.45634e-01_rb,0.41276e-01_rb,0.35722e-01_rb /) kao(:, 2, 6, 9) = (/ & & 0.26347e-01_rb,0.33315e-01_rb,0.39629e-01_rb,0.44004e-01_rb,0.46570e-01_rb, & & 0.47251e-01_rb,0.45602e-01_rb,0.41217e-01_rb,0.35770e-01_rb /) kao(:, 3, 6, 9) = (/ & & 0.27211e-01_rb,0.33965e-01_rb,0.40142e-01_rb,0.44371e-01_rb,0.46737e-01_rb, & & 0.47271e-01_rb,0.45579e-01_rb,0.41184e-01_rb,0.35883e-01_rb /) kao(:, 4, 6, 9) = (/ & & 0.28013e-01_rb,0.34546e-01_rb,0.40641e-01_rb,0.44704e-01_rb,0.46903e-01_rb, & & 0.47305e-01_rb,0.45608e-01_rb,0.41201e-01_rb,0.36071e-01_rb /) kao(:, 5, 6, 9) = (/ & & 0.28777e-01_rb,0.35080e-01_rb,0.41083e-01_rb,0.45018e-01_rb,0.47083e-01_rb, & & 0.47404e-01_rb,0.45685e-01_rb,0.41273e-01_rb,0.36328e-01_rb /) kao(:, 1, 7, 9) = (/ & & 0.22628e-01_rb,0.30290e-01_rb,0.36520e-01_rb,0.40736e-01_rb,0.43195e-01_rb, & & 0.43894e-01_rb,0.42478e-01_rb,0.38357e-01_rb,0.31858e-01_rb /) kao(:, 2, 7, 9) = (/ & & 0.23496e-01_rb,0.30981e-01_rb,0.37071e-01_rb,0.41159e-01_rb,0.43459e-01_rb, & & 0.44039e-01_rb,0.42534e-01_rb,0.38366e-01_rb,0.31954e-01_rb /) kao(:, 3, 7, 9) = (/ & & 0.24311e-01_rb,0.31616e-01_rb,0.37614e-01_rb,0.41552e-01_rb,0.43690e-01_rb, & & 0.44135e-01_rb,0.42598e-01_rb,0.38398e-01_rb,0.32112e-01_rb /) kao(:, 4, 7, 9) = (/ & & 0.25081e-01_rb,0.32194e-01_rb,0.38124e-01_rb,0.41906e-01_rb,0.43917e-01_rb, & & 0.44249e-01_rb,0.42700e-01_rb,0.38476e-01_rb,0.32312e-01_rb /) kao(:, 5, 7, 9) = (/ & & 0.25796e-01_rb,0.32737e-01_rb,0.38583e-01_rb,0.42251e-01_rb,0.44147e-01_rb, & & 0.44425e-01_rb,0.42840e-01_rb,0.38587e-01_rb,0.32545e-01_rb /) kao(:, 1, 8, 9) = (/ & & 0.20122e-01_rb,0.27995e-01_rb,0.33719e-01_rb,0.37485e-01_rb,0.39621e-01_rb, & & 0.40226e-01_rb,0.38971e-01_rb,0.35214e-01_rb,0.28110e-01_rb /) kao(:, 2, 8, 9) = (/ & & 0.20930e-01_rb,0.28671e-01_rb,0.34304e-01_rb,0.37966e-01_rb,0.39957e-01_rb, & & 0.40447e-01_rb,0.39124e-01_rb,0.35304e-01_rb,0.28246e-01_rb /) kao(:, 3, 8, 9) = (/ & & 0.21692e-01_rb,0.29291e-01_rb,0.34870e-01_rb,0.38392e-01_rb,0.40254e-01_rb, & & 0.40624e-01_rb,0.39266e-01_rb,0.35403e-01_rb,0.28424e-01_rb /) kao(:, 4, 8, 9) = (/ & & 0.22396e-01_rb,0.29880e-01_rb,0.35388e-01_rb,0.38779e-01_rb,0.40528e-01_rb, & & 0.40815e-01_rb,0.39436e-01_rb,0.35538e-01_rb,0.28597e-01_rb /) kao(:, 5, 8, 9) = (/ & & 0.23064e-01_rb,0.30402e-01_rb,0.35848e-01_rb,0.39151e-01_rb,0.40824e-01_rb, & & 0.41057e-01_rb,0.39639e-01_rb,0.35669e-01_rb,0.28823e-01_rb /) kao(:, 1, 9, 9) = (/ & & 0.17909e-01_rb,0.25709e-01_rb,0.30840e-01_rb,0.34036e-01_rb,0.35851e-01_rb, & & 0.36360e-01_rb,0.35282e-01_rb,0.31947e-01_rb,0.24003e-01_rb /) kao(:, 2, 9, 9) = (/ & & 0.18652e-01_rb,0.26369e-01_rb,0.31431e-01_rb,0.34542e-01_rb,0.36244e-01_rb, & & 0.36648e-01_rb,0.35513e-01_rb,0.32109e-01_rb,0.24164e-01_rb /) kao(:, 3, 9, 9) = (/ & & 0.19344e-01_rb,0.26986e-01_rb,0.31997e-01_rb,0.35005e-01_rb,0.36599e-01_rb, & & 0.36904e-01_rb,0.35718e-01_rb,0.32277e-01_rb,0.24318e-01_rb /) kao(:, 4, 9, 9) = (/ & & 0.19991e-01_rb,0.27565e-01_rb,0.32506e-01_rb,0.35425e-01_rb,0.36934e-01_rb, & & 0.37163e-01_rb,0.35949e-01_rb,0.32440e-01_rb,0.24470e-01_rb /) kao(:, 5, 9, 9) = (/ & & 0.20615e-01_rb,0.28069e-01_rb,0.32961e-01_rb,0.35817e-01_rb,0.37281e-01_rb, & & 0.37462e-01_rb,0.36191e-01_rb,0.32591e-01_rb,0.24688e-01_rb /) kao(:, 1,10, 9) = (/ & & 0.16038e-01_rb,0.23520e-01_rb,0.27944e-01_rb,0.30612e-01_rb,0.32108e-01_rb, & & 0.32531e-01_rb,0.31594e-01_rb,0.28710e-01_rb,0.19040e-01_rb /) kao(:, 2,10, 9) = (/ & & 0.16702e-01_rb,0.24155e-01_rb,0.28537e-01_rb,0.31140e-01_rb,0.32544e-01_rb, & & 0.32858e-01_rb,0.31863e-01_rb,0.28938e-01_rb,0.19154e-01_rb /) kao(:, 3,10, 9) = (/ & & 0.17329e-01_rb,0.24747e-01_rb,0.29094e-01_rb,0.31618e-01_rb,0.32949e-01_rb, & & 0.33160e-01_rb,0.32119e-01_rb,0.29151e-01_rb,0.19214e-01_rb /) kao(:, 4,10, 9) = (/ & & 0.17922e-01_rb,0.25302e-01_rb,0.29595e-01_rb,0.32058e-01_rb,0.33330e-01_rb, & & 0.33472e-01_rb,0.32385e-01_rb,0.29320e-01_rb,0.19269e-01_rb /) kao(:, 5,10, 9) = (/ & & 0.18489e-01_rb,0.25799e-01_rb,0.30045e-01_rb,0.32466e-01_rb,0.33700e-01_rb, & & 0.33812e-01_rb,0.32629e-01_rb,0.29481e-01_rb,0.19405e-01_rb /) kao(:, 1,11, 9) = (/ & & 0.14687e-01_rb,0.21702e-01_rb,0.25384e-01_rb,0.27570e-01_rb,0.28760e-01_rb, & & 0.29017e-01_rb,0.28178e-01_rb,0.25716e-01_rb,0.20195e-01_rb /) kao(:, 2,11, 9) = (/ & & 0.15274e-01_rb,0.22296e-01_rb,0.25944e-01_rb,0.28087e-01_rb,0.29202e-01_rb, & & 0.29352e-01_rb,0.28471e-01_rb,0.25960e-01_rb,0.20265e-01_rb /) kao(:, 3,11, 9) = (/ & & 0.15835e-01_rb,0.22836e-01_rb,0.26465e-01_rb,0.28550e-01_rb,0.29611e-01_rb, & & 0.29694e-01_rb,0.28754e-01_rb,0.26152e-01_rb,0.20296e-01_rb /) kao(:, 4,11, 9) = (/ & & 0.16357e-01_rb,0.23338e-01_rb,0.26927e-01_rb,0.28982e-01_rb,0.29998e-01_rb, & & 0.30045e-01_rb,0.29008e-01_rb,0.26312e-01_rb,0.20131e-01_rb /) kao(:, 5,11, 9) = (/ & & 0.16879e-01_rb,0.23791e-01_rb,0.27359e-01_rb,0.29394e-01_rb,0.30387e-01_rb, & & 0.30372e-01_rb,0.29268e-01_rb,0.26507e-01_rb,0.20180e-01_rb /) kao(:, 1,12, 9) = (/ & & 0.13435e-01_rb,0.19917e-01_rb,0.22947e-01_rb,0.24741e-01_rb,0.25656e-01_rb, & & 0.25762e-01_rb,0.25010e-01_rb,0.22879e-01_rb,0.21935e-01_rb /) kao(:, 2,12, 9) = (/ & & 0.13973e-01_rb,0.20460e-01_rb,0.23475e-01_rb,0.25221e-01_rb,0.26084e-01_rb, & & 0.26126e-01_rb,0.25297e-01_rb,0.23091e-01_rb,0.22096e-01_rb /) kao(:, 3,12, 9) = (/ & & 0.14481e-01_rb,0.20956e-01_rb,0.23951e-01_rb,0.25665e-01_rb,0.26486e-01_rb, & & 0.26478e-01_rb,0.25558e-01_rb,0.23263e-01_rb,0.22257e-01_rb /) kao(:, 4,12, 9) = (/ & & 0.14966e-01_rb,0.21408e-01_rb,0.24388e-01_rb,0.26079e-01_rb,0.26872e-01_rb, & & 0.26802e-01_rb,0.25814e-01_rb,0.23444e-01_rb,0.22244e-01_rb /) kao(:, 5,12, 9) = (/ & & 0.15448e-01_rb,0.21834e-01_rb,0.24813e-01_rb,0.26492e-01_rb,0.27230e-01_rb, & & 0.27128e-01_rb,0.26103e-01_rb,0.23676e-01_rb,0.22318e-01_rb /) kao(:, 1,13, 9) = (/ & & 0.12253e-01_rb,0.18169e-01_rb,0.20712e-01_rb,0.22143e-01_rb,0.22829e-01_rb, & & 0.22840e-01_rb,0.22092e-01_rb,0.20210e-01_rb,0.22350e-01_rb /) kao(:, 2,13, 9) = (/ & & 0.12752e-01_rb,0.18675e-01_rb,0.21188e-01_rb,0.22590e-01_rb,0.23242e-01_rb, & & 0.23184e-01_rb,0.22356e-01_rb,0.20395e-01_rb,0.22569e-01_rb /) kao(:, 3,13, 9) = (/ & & 0.13220e-01_rb,0.19134e-01_rb,0.21627e-01_rb,0.23007e-01_rb,0.23621e-01_rb, & & 0.23502e-01_rb,0.22612e-01_rb,0.20571e-01_rb,0.22750e-01_rb /) kao(:, 4,13, 9) = (/ & & 0.13675e-01_rb,0.19566e-01_rb,0.22044e-01_rb,0.23405e-01_rb,0.23969e-01_rb, & & 0.23813e-01_rb,0.22875e-01_rb,0.20780e-01_rb,0.22726e-01_rb /) kao(:, 5,13, 9) = (/ & & 0.14122e-01_rb,0.19976e-01_rb,0.22454e-01_rb,0.23786e-01_rb,0.24318e-01_rb, & & 0.24140e-01_rb,0.23183e-01_rb,0.21041e-01_rb,0.22784e-01_rb /) kao(:, 1, 1,10) = (/ & & 0.14776e+00_rb,0.13250e+00_rb,0.11877e+00_rb,0.11907e+00_rb,0.11538e+00_rb, & & 0.11234e+00_rb,0.10926e+00_rb,0.11039e+00_rb,0.12102e+00_rb /) kao(:, 2, 1,10) = (/ & & 0.14758e+00_rb,0.13180e+00_rb,0.11760e+00_rb,0.11720e+00_rb,0.11379e+00_rb, & & 0.11206e+00_rb,0.10856e+00_rb,0.11029e+00_rb,0.12093e+00_rb /) kao(:, 3, 1,10) = (/ & & 0.14691e+00_rb,0.13078e+00_rb,0.11629e+00_rb,0.11563e+00_rb,0.11248e+00_rb, & & 0.11149e+00_rb,0.10785e+00_rb,0.11040e+00_rb,0.12104e+00_rb /) kao(:, 4, 1,10) = (/ & & 0.14609e+00_rb,0.12985e+00_rb,0.11503e+00_rb,0.11426e+00_rb,0.11150e+00_rb, & & 0.11061e+00_rb,0.10739e+00_rb,0.11031e+00_rb,0.12092e+00_rb /) kao(:, 5, 1,10) = (/ & & 0.14529e+00_rb,0.12911e+00_rb,0.11448e+00_rb,0.11310e+00_rb,0.11058e+00_rb, & & 0.10959e+00_rb,0.10721e+00_rb,0.11007e+00_rb,0.12050e+00_rb /) kao(:, 1, 2,10) = (/ & & 0.14616e+00_rb,0.13131e+00_rb,0.12350e+00_rb,0.12510e+00_rb,0.11934e+00_rb, & & 0.11762e+00_rb,0.11417e+00_rb,0.11460e+00_rb,0.12626e+00_rb /) kao(:, 2, 2,10) = (/ & & 0.14607e+00_rb,0.13063e+00_rb,0.12202e+00_rb,0.12312e+00_rb,0.11789e+00_rb, & & 0.11742e+00_rb,0.11363e+00_rb,0.11470e+00_rb,0.12636e+00_rb /) kao(:, 3, 2,10) = (/ & & 0.14577e+00_rb,0.12991e+00_rb,0.12074e+00_rb,0.12132e+00_rb,0.11671e+00_rb, & & 0.11676e+00_rb,0.11334e+00_rb,0.11448e+00_rb,0.12602e+00_rb /) kao(:, 4, 2,10) = (/ & & 0.14549e+00_rb,0.12948e+00_rb,0.11982e+00_rb,0.11971e+00_rb,0.11561e+00_rb, & & 0.11583e+00_rb,0.11311e+00_rb,0.11380e+00_rb,0.12515e+00_rb /) kao(:, 5, 2,10) = (/ & & 0.14518e+00_rb,0.12921e+00_rb,0.11930e+00_rb,0.11856e+00_rb,0.11453e+00_rb, & & 0.11499e+00_rb,0.11278e+00_rb,0.11303e+00_rb,0.12425e+00_rb /) kao(:, 1, 3,10) = (/ & & 0.14318e+00_rb,0.12893e+00_rb,0.12918e+00_rb,0.12942e+00_rb,0.12491e+00_rb, & & 0.12238e+00_rb,0.11842e+00_rb,0.11706e+00_rb,0.12892e+00_rb /) kao(:, 2, 3,10) = (/ & & 0.14362e+00_rb,0.12877e+00_rb,0.12794e+00_rb,0.12738e+00_rb,0.12367e+00_rb, & & 0.12214e+00_rb,0.11818e+00_rb,0.11730e+00_rb,0.12892e+00_rb /) kao(:, 3, 3,10) = (/ & & 0.14392e+00_rb,0.12859e+00_rb,0.12673e+00_rb,0.12555e+00_rb,0.12238e+00_rb, & & 0.12154e+00_rb,0.11804e+00_rb,0.11693e+00_rb,0.12825e+00_rb /) kao(:, 4, 3,10) = (/ & & 0.14418e+00_rb,0.12858e+00_rb,0.12588e+00_rb,0.12406e+00_rb,0.12111e+00_rb, & & 0.12100e+00_rb,0.11768e+00_rb,0.11605e+00_rb,0.12723e+00_rb /) kao(:, 5, 3,10) = (/ & & 0.14433e+00_rb,0.12868e+00_rb,0.12520e+00_rb,0.12307e+00_rb,0.11981e+00_rb, & & 0.12050e+00_rb,0.11702e+00_rb,0.11519e+00_rb,0.12642e+00_rb /) kao(:, 1, 4,10) = (/ & & 0.13900e+00_rb,0.12627e+00_rb,0.13262e+00_rb,0.13246e+00_rb,0.13018e+00_rb, & & 0.12656e+00_rb,0.12207e+00_rb,0.11856e+00_rb,0.12927e+00_rb /) kao(:, 2, 4,10) = (/ & & 0.13981e+00_rb,0.12631e+00_rb,0.13168e+00_rb,0.13063e+00_rb,0.12928e+00_rb, & & 0.12634e+00_rb,0.12180e+00_rb,0.11842e+00_rb,0.12888e+00_rb /) kao(:, 3, 4,10) = (/ & & 0.14055e+00_rb,0.12635e+00_rb,0.13064e+00_rb,0.12886e+00_rb,0.12826e+00_rb, & & 0.12591e+00_rb,0.12147e+00_rb,0.11781e+00_rb,0.12798e+00_rb /) kao(:, 4, 4,10) = (/ & & 0.14115e+00_rb,0.12659e+00_rb,0.12979e+00_rb,0.12765e+00_rb,0.12712e+00_rb, & & 0.12539e+00_rb,0.12094e+00_rb,0.11686e+00_rb,0.12709e+00_rb /) kao(:, 5, 4,10) = (/ & & 0.14205e+00_rb,0.12716e+00_rb,0.12897e+00_rb,0.12678e+00_rb,0.12607e+00_rb, & & 0.12463e+00_rb,0.12022e+00_rb,0.11611e+00_rb,0.12648e+00_rb /) kao(:, 1, 5,10) = (/ & & 0.13267e+00_rb,0.12451e+00_rb,0.13264e+00_rb,0.13467e+00_rb,0.13410e+00_rb, & & 0.12976e+00_rb,0.12532e+00_rb,0.11842e+00_rb,0.12663e+00_rb /) kao(:, 2, 5,10) = (/ & & 0.13391e+00_rb,0.12448e+00_rb,0.13222e+00_rb,0.13349e+00_rb,0.13365e+00_rb, & & 0.12967e+00_rb,0.12478e+00_rb,0.11793e+00_rb,0.12610e+00_rb /) kao(:, 3, 5,10) = (/ & & 0.13513e+00_rb,0.12441e+00_rb,0.13150e+00_rb,0.13226e+00_rb,0.13285e+00_rb, & & 0.12935e+00_rb,0.12414e+00_rb,0.11714e+00_rb,0.12535e+00_rb /) kao(:, 4, 5,10) = (/ & & 0.13635e+00_rb,0.12468e+00_rb,0.13071e+00_rb,0.13132e+00_rb,0.13192e+00_rb, & & 0.12883e+00_rb,0.12325e+00_rb,0.11628e+00_rb,0.12465e+00_rb /) kao(:, 5, 5,10) = (/ & & 0.13765e+00_rb,0.12523e+00_rb,0.12989e+00_rb,0.13067e+00_rb,0.13104e+00_rb, & & 0.12778e+00_rb,0.12230e+00_rb,0.11574e+00_rb,0.12447e+00_rb /) kao(:, 1, 6,10) = (/ & & 0.12480e+00_rb,0.12304e+00_rb,0.13086e+00_rb,0.13535e+00_rb,0.13580e+00_rb, & & 0.13244e+00_rb,0.12684e+00_rb,0.11687e+00_rb,0.12150e+00_rb /) kao(:, 2, 6,10) = (/ & & 0.12631e+00_rb,0.12320e+00_rb,0.13089e+00_rb,0.13488e+00_rb,0.13591e+00_rb, & & 0.13240e+00_rb,0.12644e+00_rb,0.11610e+00_rb,0.12096e+00_rb /) kao(:, 3, 6,10) = (/ & & 0.12783e+00_rb,0.12334e+00_rb,0.13031e+00_rb,0.13415e+00_rb,0.13555e+00_rb, & & 0.13212e+00_rb,0.12571e+00_rb,0.11517e+00_rb,0.12033e+00_rb /) kao(:, 4, 6,10) = (/ & & 0.12946e+00_rb,0.12375e+00_rb,0.12962e+00_rb,0.13360e+00_rb,0.13480e+00_rb, & & 0.13147e+00_rb,0.12458e+00_rb,0.11440e+00_rb,0.12012e+00_rb /) kao(:, 5, 6,10) = (/ & & 0.13098e+00_rb,0.12424e+00_rb,0.12926e+00_rb,0.13328e+00_rb,0.13390e+00_rb, & & 0.13035e+00_rb,0.12352e+00_rb,0.11410e+00_rb,0.12034e+00_rb /) kao(:, 1, 7,10) = (/ & & 0.11587e+00_rb,0.11977e+00_rb,0.12827e+00_rb,0.13413e+00_rb,0.13637e+00_rb, & & 0.13338e+00_rb,0.12607e+00_rb,0.11369e+00_rb,0.11422e+00_rb /) kao(:, 2, 7,10) = (/ & & 0.11755e+00_rb,0.12008e+00_rb,0.12851e+00_rb,0.13433e+00_rb,0.13653e+00_rb, & & 0.13350e+00_rb,0.12579e+00_rb,0.11303e+00_rb,0.11384e+00_rb /) kao(:, 3, 7,10) = (/ & & 0.11925e+00_rb,0.12045e+00_rb,0.12827e+00_rb,0.13401e+00_rb,0.13627e+00_rb, & & 0.13335e+00_rb,0.12531e+00_rb,0.11227e+00_rb,0.11342e+00_rb /) kao(:, 4, 7,10) = (/ & & 0.12111e+00_rb,0.12107e+00_rb,0.12798e+00_rb,0.13385e+00_rb,0.13564e+00_rb, & & 0.13268e+00_rb,0.12424e+00_rb,0.11167e+00_rb,0.11355e+00_rb /) kao(:, 5, 7,10) = (/ & & 0.12285e+00_rb,0.12168e+00_rb,0.12798e+00_rb,0.13376e+00_rb,0.13482e+00_rb, & & 0.13151e+00_rb,0.12334e+00_rb,0.11149e+00_rb,0.11415e+00_rb /) kao(:, 1, 8,10) = (/ & & 0.10591e+00_rb,0.11393e+00_rb,0.12456e+00_rb,0.13177e+00_rb,0.13532e+00_rb, & & 0.13189e+00_rb,0.12388e+00_rb,0.10965e+00_rb,0.10563e+00_rb /) kao(:, 2, 8,10) = (/ & & 0.10784e+00_rb,0.11446e+00_rb,0.12497e+00_rb,0.13191e+00_rb,0.13527e+00_rb, & & 0.13206e+00_rb,0.12372e+00_rb,0.10901e+00_rb,0.10541e+00_rb /) kao(:, 3, 8,10) = (/ & & 0.10982e+00_rb,0.11499e+00_rb,0.12496e+00_rb,0.13190e+00_rb,0.13491e+00_rb, & & 0.13198e+00_rb,0.12329e+00_rb,0.10836e+00_rb,0.10528e+00_rb /) kao(:, 4, 8,10) = (/ & & 0.11183e+00_rb,0.11569e+00_rb,0.12499e+00_rb,0.13184e+00_rb,0.13435e+00_rb, & & 0.13149e+00_rb,0.12252e+00_rb,0.10787e+00_rb,0.10590e+00_rb /) kao(:, 5, 8,10) = (/ & & 0.11351e+00_rb,0.11638e+00_rb,0.12535e+00_rb,0.13176e+00_rb,0.13360e+00_rb, & & 0.13054e+00_rb,0.12191e+00_rb,0.10801e+00_rb,0.10661e+00_rb /) kao(:, 1, 9,10) = (/ & & 0.95227e-01_rb,0.10714e+00_rb,0.11944e+00_rb,0.12826e+00_rb,0.13131e+00_rb, & & 0.12801e+00_rb,0.11973e+00_rb,0.10506e+00_rb,0.96127e-01_rb /) kao(:, 2, 9,10) = (/ & & 0.97380e-01_rb,0.10792e+00_rb,0.12010e+00_rb,0.12848e+00_rb,0.13131e+00_rb, & & 0.12823e+00_rb,0.11988e+00_rb,0.10446e+00_rb,0.96013e-01_rb /) kao(:, 3, 9,10) = (/ & & 0.99589e-01_rb,0.10861e+00_rb,0.12043e+00_rb,0.12826e+00_rb,0.13099e+00_rb, & & 0.12821e+00_rb,0.11964e+00_rb,0.10385e+00_rb,0.96337e-01_rb /) kao(:, 4, 9,10) = (/ & & 0.10172e+00_rb,0.10937e+00_rb,0.12073e+00_rb,0.12822e+00_rb,0.13048e+00_rb, & & 0.12786e+00_rb,0.11915e+00_rb,0.10369e+00_rb,0.97324e-01_rb /) kao(:, 5, 9,10) = (/ & & 0.10340e+00_rb,0.11015e+00_rb,0.12136e+00_rb,0.12832e+00_rb,0.12998e+00_rb, & & 0.12724e+00_rb,0.11892e+00_rb,0.10410e+00_rb,0.97908e-01_rb /) kao(:, 1,10,10) = (/ & & 0.84549e-01_rb,0.10005e+00_rb,0.11370e+00_rb,0.12280e+00_rb,0.12503e+00_rb, & & 0.12157e+00_rb,0.11395e+00_rb,0.99558e-01_rb,0.78463e-01_rb /) kao(:, 2,10,10) = (/ & & 0.86895e-01_rb,0.10114e+00_rb,0.11438e+00_rb,0.12270e+00_rb,0.12494e+00_rb, & & 0.12211e+00_rb,0.11447e+00_rb,0.98932e-01_rb,0.78293e-01_rb /) kao(:, 3,10,10) = (/ & & 0.89280e-01_rb,0.10200e+00_rb,0.11501e+00_rb,0.12255e+00_rb,0.12466e+00_rb, & & 0.12232e+00_rb,0.11449e+00_rb,0.98490e-01_rb,0.78963e-01_rb /) kao(:, 4,10,10) = (/ & & 0.91373e-01_rb,0.10297e+00_rb,0.11555e+00_rb,0.12264e+00_rb,0.12433e+00_rb, & & 0.12211e+00_rb,0.11429e+00_rb,0.98808e-01_rb,0.79894e-01_rb /) kao(:, 5,10,10) = (/ & & 0.93116e-01_rb,0.10381e+00_rb,0.11616e+00_rb,0.12299e+00_rb,0.12420e+00_rb, & & 0.12176e+00_rb,0.11463e+00_rb,0.99400e-01_rb,0.79228e-01_rb /) kao(:, 1,11,10) = (/ & & 0.75544e-01_rb,0.93054e-01_rb,0.10724e+00_rb,0.11489e+00_rb,0.11666e+00_rb, & & 0.11411e+00_rb,0.10739e+00_rb,0.92708e-01_rb,0.54552e-01_rb /) kao(:, 2,11,10) = (/ & & 0.77908e-01_rb,0.94287e-01_rb,0.10808e+00_rb,0.11471e+00_rb,0.11661e+00_rb, & & 0.11478e+00_rb,0.10772e+00_rb,0.92504e-01_rb,0.54848e-01_rb /) kao(:, 3,11,10) = (/ & & 0.80077e-01_rb,0.95473e-01_rb,0.10868e+00_rb,0.11491e+00_rb,0.11655e+00_rb, & & 0.11482e+00_rb,0.10782e+00_rb,0.93001e-01_rb,0.55769e-01_rb /) kao(:, 4,11,10) = (/ & & 0.81960e-01_rb,0.96566e-01_rb,0.10943e+00_rb,0.11546e+00_rb,0.11672e+00_rb, & & 0.11473e+00_rb,0.10831e+00_rb,0.93879e-01_rb,0.57926e-01_rb /) kao(:, 5,11,10) = (/ & & 0.83450e-01_rb,0.97453e-01_rb,0.11008e+00_rb,0.11599e+00_rb,0.11716e+00_rb, & & 0.11515e+00_rb,0.10911e+00_rb,0.94288e-01_rb,0.57746e-01_rb /) kao(:, 1,12,10) = (/ & & 0.67513e-01_rb,0.86189e-01_rb,0.99369e-01_rb,0.10520e+00_rb,0.10724e+00_rb, & & 0.10586e+00_rb,0.99242e-01_rb,0.85556e-01_rb,0.53156e-01_rb /) kao(:, 2,12,10) = (/ & & 0.69613e-01_rb,0.87484e-01_rb,0.10007e+00_rb,0.10560e+00_rb,0.10749e+00_rb, & & 0.10614e+00_rb,0.99761e-01_rb,0.86270e-01_rb,0.51781e-01_rb /) kao(:, 3,12,10) = (/ & & 0.71469e-01_rb,0.88722e-01_rb,0.10094e+00_rb,0.10629e+00_rb,0.10784e+00_rb, & & 0.10630e+00_rb,0.10046e+00_rb,0.87349e-01_rb,0.51450e-01_rb /) kao(:, 4,12,10) = (/ & & 0.73024e-01_rb,0.89773e-01_rb,0.10183e+00_rb,0.10713e+00_rb,0.10860e+00_rb, & & 0.10686e+00_rb,0.10138e+00_rb,0.88130e-01_rb,0.52601e-01_rb /) kao(:, 5,12,10) = (/ & & 0.74303e-01_rb,0.90696e-01_rb,0.10259e+00_rb,0.10797e+00_rb,0.10971e+00_rb, & & 0.10792e+00_rb,0.10184e+00_rb,0.88445e-01_rb,0.51152e-01_rb /) kao(:, 1,13,10) = (/ & & 0.60529e-01_rb,0.79607e-01_rb,0.90318e-01_rb,0.95428e-01_rb,0.97408e-01_rb, & & 0.96227e-01_rb,0.90699e-01_rb,0.78779e-01_rb,0.52832e-01_rb /) kao(:, 2,13,10) = (/ & & 0.62276e-01_rb,0.80870e-01_rb,0.91247e-01_rb,0.96259e-01_rb,0.97934e-01_rb, & & 0.96714e-01_rb,0.91680e-01_rb,0.79941e-01_rb,0.52303e-01_rb /) kao(:, 3,13,10) = (/ & & 0.63790e-01_rb,0.81933e-01_rb,0.92274e-01_rb,0.97270e-01_rb,0.98880e-01_rb, & & 0.97553e-01_rb,0.92636e-01_rb,0.80918e-01_rb,0.51576e-01_rb /) kao(:, 4,13,10) = (/ & & 0.65028e-01_rb,0.82921e-01_rb,0.93287e-01_rb,0.98387e-01_rb,0.10023e+00_rb, & & 0.98785e-01_rb,0.93367e-01_rb,0.81491e-01_rb,0.53387e-01_rb /) kao(:, 5,13,10) = (/ & & 0.66150e-01_rb,0.83739e-01_rb,0.94354e-01_rb,0.99696e-01_rb,0.10169e+00_rb, & & 0.99901e-01_rb,0.93863e-01_rb,0.81907e-01_rb,0.52837e-01_rb /) kao(:, 1, 1,11) = (/ & & 0.20407e+00_rb,0.18071e+00_rb,0.16029e+00_rb,0.15138e+00_rb,0.14997e+00_rb, & & 0.13984e+00_rb,0.13275e+00_rb,0.14129e+00_rb,0.15399e+00_rb /) kao(:, 2, 1,11) = (/ & & 0.20135e+00_rb,0.17935e+00_rb,0.15932e+00_rb,0.15017e+00_rb,0.14962e+00_rb, & & 0.13862e+00_rb,0.13266e+00_rb,0.14117e+00_rb,0.15393e+00_rb /) kao(:, 3, 1,11) = (/ & & 0.19936e+00_rb,0.17801e+00_rb,0.15787e+00_rb,0.14825e+00_rb,0.14805e+00_rb, & & 0.13791e+00_rb,0.13257e+00_rb,0.14065e+00_rb,0.15357e+00_rb /) kao(:, 4, 1,11) = (/ & & 0.19744e+00_rb,0.17636e+00_rb,0.15587e+00_rb,0.14600e+00_rb,0.14568e+00_rb, & & 0.13759e+00_rb,0.13216e+00_rb,0.14003e+00_rb,0.15311e+00_rb /) kao(:, 5, 1,11) = (/ & & 0.19560e+00_rb,0.17445e+00_rb,0.15370e+00_rb,0.14366e+00_rb,0.14353e+00_rb, & & 0.13719e+00_rb,0.13142e+00_rb,0.13943e+00_rb,0.15271e+00_rb /) kao(:, 1, 2,11) = (/ & & 0.21063e+00_rb,0.18653e+00_rb,0.16583e+00_rb,0.16261e+00_rb,0.15745e+00_rb, & & 0.14703e+00_rb,0.14143e+00_rb,0.14831e+00_rb,0.16307e+00_rb /) kao(:, 2, 2,11) = (/ & & 0.20807e+00_rb,0.18515e+00_rb,0.16450e+00_rb,0.16174e+00_rb,0.15680e+00_rb, & & 0.14604e+00_rb,0.14115e+00_rb,0.14798e+00_rb,0.16304e+00_rb /) kao(:, 3, 2,11) = (/ & & 0.20581e+00_rb,0.18338e+00_rb,0.16244e+00_rb,0.15978e+00_rb,0.15520e+00_rb, & & 0.14566e+00_rb,0.14067e+00_rb,0.14768e+00_rb,0.16312e+00_rb /) kao(:, 4, 2,11) = (/ & & 0.20347e+00_rb,0.18119e+00_rb,0.16010e+00_rb,0.15745e+00_rb,0.15333e+00_rb, & & 0.14529e+00_rb,0.14007e+00_rb,0.14753e+00_rb,0.16343e+00_rb /) kao(:, 5, 2,11) = (/ & & 0.20115e+00_rb,0.17885e+00_rb,0.15773e+00_rb,0.15483e+00_rb,0.15150e+00_rb, & & 0.14453e+00_rb,0.13948e+00_rb,0.14731e+00_rb,0.16359e+00_rb /) kao(:, 1, 3,11) = (/ & & 0.21616e+00_rb,0.19157e+00_rb,0.17353e+00_rb,0.17142e+00_rb,0.16301e+00_rb, & & 0.15566e+00_rb,0.14998e+00_rb,0.15514e+00_rb,0.17145e+00_rb /) kao(:, 2, 3,11) = (/ & & 0.21408e+00_rb,0.19026e+00_rb,0.17182e+00_rb,0.17122e+00_rb,0.16252e+00_rb, & & 0.15476e+00_rb,0.14939e+00_rb,0.15448e+00_rb,0.17139e+00_rb /) kao(:, 3, 3,11) = (/ & & 0.21163e+00_rb,0.18824e+00_rb,0.16950e+00_rb,0.16996e+00_rb,0.16151e+00_rb, & & 0.15419e+00_rb,0.14882e+00_rb,0.15406e+00_rb,0.17163e+00_rb /) kao(:, 4, 3,11) = (/ & & 0.20914e+00_rb,0.18593e+00_rb,0.16692e+00_rb,0.16757e+00_rb,0.16029e+00_rb, & & 0.15344e+00_rb,0.14837e+00_rb,0.15392e+00_rb,0.17198e+00_rb /) kao(:, 5, 3,11) = (/ & & 0.20701e+00_rb,0.18381e+00_rb,0.16453e+00_rb,0.16472e+00_rb,0.15897e+00_rb, & & 0.15236e+00_rb,0.14801e+00_rb,0.15351e+00_rb,0.17179e+00_rb /) kao(:, 1, 4,11) = (/ & & 0.21862e+00_rb,0.19379e+00_rb,0.18221e+00_rb,0.17807e+00_rb,0.16954e+00_rb, & & 0.16407e+00_rb,0.15829e+00_rb,0.16056e+00_rb,0.17755e+00_rb /) kao(:, 2, 4,11) = (/ & & 0.21705e+00_rb,0.19285e+00_rb,0.18086e+00_rb,0.17812e+00_rb,0.16909e+00_rb, & & 0.16313e+00_rb,0.15767e+00_rb,0.16003e+00_rb,0.17784e+00_rb /) kao(:, 3, 4,11) = (/ & & 0.21534e+00_rb,0.19129e+00_rb,0.17879e+00_rb,0.17719e+00_rb,0.16821e+00_rb, & & 0.16252e+00_rb,0.15706e+00_rb,0.15944e+00_rb,0.17796e+00_rb /) kao(:, 4, 4,11) = (/ & & 0.21357e+00_rb,0.18961e+00_rb,0.17644e+00_rb,0.17503e+00_rb,0.16720e+00_rb, & & 0.16179e+00_rb,0.15644e+00_rb,0.15869e+00_rb,0.17755e+00_rb /) kao(:, 5, 4,11) = (/ & & 0.21192e+00_rb,0.18796e+00_rb,0.17436e+00_rb,0.17237e+00_rb,0.16599e+00_rb, & & 0.16096e+00_rb,0.15564e+00_rb,0.15746e+00_rb,0.17656e+00_rb /) kao(:, 1, 5,11) = (/ & & 0.21793e+00_rb,0.19325e+00_rb,0.18965e+00_rb,0.18402e+00_rb,0.17692e+00_rb, & & 0.17250e+00_rb,0.16494e+00_rb,0.16474e+00_rb,0.18189e+00_rb /) kao(:, 2, 5,11) = (/ & & 0.21706e+00_rb,0.19287e+00_rb,0.18835e+00_rb,0.18355e+00_rb,0.17627e+00_rb, & & 0.17161e+00_rb,0.16474e+00_rb,0.16398e+00_rb,0.18195e+00_rb /) kao(:, 3, 5,11) = (/ & & 0.21612e+00_rb,0.19181e+00_rb,0.18687e+00_rb,0.18213e+00_rb,0.17553e+00_rb, & & 0.17088e+00_rb,0.16425e+00_rb,0.16313e+00_rb,0.18152e+00_rb /) kao(:, 4, 5,11) = (/ & & 0.21478e+00_rb,0.19045e+00_rb,0.18500e+00_rb,0.18018e+00_rb,0.17440e+00_rb, & & 0.16996e+00_rb,0.16342e+00_rb,0.16188e+00_rb,0.18054e+00_rb /) kao(:, 5, 5,11) = (/ & & 0.21350e+00_rb,0.18909e+00_rb,0.18333e+00_rb,0.17782e+00_rb,0.17309e+00_rb, & & 0.16916e+00_rb,0.16213e+00_rb,0.16034e+00_rb,0.17917e+00_rb /) kao(:, 1, 6,11) = (/ & & 0.21342e+00_rb,0.19093e+00_rb,0.19390e+00_rb,0.18953e+00_rb,0.18412e+00_rb, & & 0.17932e+00_rb,0.17133e+00_rb,0.16726e+00_rb,0.18355e+00_rb /) kao(:, 2, 6,11) = (/ & & 0.21345e+00_rb,0.19062e+00_rb,0.19295e+00_rb,0.18836e+00_rb,0.18309e+00_rb, & & 0.17848e+00_rb,0.17069e+00_rb,0.16650e+00_rb,0.18323e+00_rb /) kao(:, 3, 6,11) = (/ & & 0.21341e+00_rb,0.18999e+00_rb,0.19180e+00_rb,0.18672e+00_rb,0.18231e+00_rb, & & 0.17805e+00_rb,0.16996e+00_rb,0.16523e+00_rb,0.18230e+00_rb /) kao(:, 4, 6,11) = (/ & & 0.21278e+00_rb,0.18888e+00_rb,0.19035e+00_rb,0.18488e+00_rb,0.18150e+00_rb, & & 0.17740e+00_rb,0.16888e+00_rb,0.16361e+00_rb,0.18086e+00_rb /) kao(:, 5, 6,11) = (/ & & 0.21199e+00_rb,0.18788e+00_rb,0.18853e+00_rb,0.18312e+00_rb,0.18053e+00_rb, & & 0.17647e+00_rb,0.16753e+00_rb,0.16185e+00_rb,0.17942e+00_rb /) kao(:, 1, 7,11) = (/ & & 0.20554e+00_rb,0.18880e+00_rb,0.19483e+00_rb,0.19351e+00_rb,0.18975e+00_rb, & & 0.18476e+00_rb,0.17703e+00_rb,0.16712e+00_rb,0.18079e+00_rb /) kao(:, 2, 7,11) = (/ & & 0.20652e+00_rb,0.18855e+00_rb,0.19393e+00_rb,0.19243e+00_rb,0.18938e+00_rb, & & 0.18427e+00_rb,0.17598e+00_rb,0.16627e+00_rb,0.18028e+00_rb /) kao(:, 3, 7,11) = (/ & & 0.20722e+00_rb,0.18798e+00_rb,0.19279e+00_rb,0.19112e+00_rb,0.18883e+00_rb, & & 0.18376e+00_rb,0.17458e+00_rb,0.16493e+00_rb,0.17920e+00_rb /) kao(:, 4, 7,11) = (/ & & 0.20704e+00_rb,0.18700e+00_rb,0.19152e+00_rb,0.18972e+00_rb,0.18818e+00_rb, & & 0.18325e+00_rb,0.17326e+00_rb,0.16331e+00_rb,0.17789e+00_rb /) kao(:, 5, 7,11) = (/ & & 0.20670e+00_rb,0.18595e+00_rb,0.18990e+00_rb,0.18822e+00_rb,0.18756e+00_rb, & & 0.18244e+00_rb,0.17179e+00_rb,0.16146e+00_rb,0.17654e+00_rb /) kao(:, 1, 8,11) = (/ & & 0.19482e+00_rb,0.18644e+00_rb,0.19372e+00_rb,0.19534e+00_rb,0.19341e+00_rb, & & 0.18978e+00_rb,0.17991e+00_rb,0.16480e+00_rb,0.17385e+00_rb /) kao(:, 2, 8,11) = (/ & & 0.19645e+00_rb,0.18662e+00_rb,0.19286e+00_rb,0.19499e+00_rb,0.19364e+00_rb, & & 0.18939e+00_rb,0.17872e+00_rb,0.16377e+00_rb,0.17323e+00_rb /) kao(:, 3, 8,11) = (/ & & 0.19752e+00_rb,0.18632e+00_rb,0.19176e+00_rb,0.19416e+00_rb,0.19361e+00_rb, & & 0.18898e+00_rb,0.17730e+00_rb,0.16248e+00_rb,0.17231e+00_rb /) kao(:, 4, 8,11) = (/ & & 0.19786e+00_rb,0.18535e+00_rb,0.19058e+00_rb,0.19340e+00_rb,0.19352e+00_rb, & & 0.18844e+00_rb,0.17582e+00_rb,0.16092e+00_rb,0.17110e+00_rb /) kao(:, 5, 8,11) = (/ & & 0.19827e+00_rb,0.18472e+00_rb,0.18922e+00_rb,0.19254e+00_rb,0.19302e+00_rb, & & 0.18739e+00_rb,0.17431e+00_rb,0.15936e+00_rb,0.17034e+00_rb /) kao(:, 1, 9,11) = (/ & & 0.18199e+00_rb,0.18200e+00_rb,0.19084e+00_rb,0.19456e+00_rb,0.19545e+00_rb, & & 0.19216e+00_rb,0.18018e+00_rb,0.16033e+00_rb,0.16333e+00_rb /) kao(:, 2, 9,11) = (/ & & 0.18402e+00_rb,0.18227e+00_rb,0.19032e+00_rb,0.19515e+00_rb,0.19643e+00_rb, & & 0.19212e+00_rb,0.17883e+00_rb,0.15954e+00_rb,0.16306e+00_rb /) kao(:, 3, 9,11) = (/ & & 0.18527e+00_rb,0.18204e+00_rb,0.18956e+00_rb,0.19541e+00_rb,0.19690e+00_rb, & & 0.19201e+00_rb,0.17754e+00_rb,0.15865e+00_rb,0.16240e+00_rb /) kao(:, 4, 9,11) = (/ & & 0.18597e+00_rb,0.18146e+00_rb,0.18866e+00_rb,0.19510e+00_rb,0.19689e+00_rb, & & 0.19145e+00_rb,0.17626e+00_rb,0.15729e+00_rb,0.16157e+00_rb /) kao(:, 5, 9,11) = (/ & & 0.18701e+00_rb,0.18150e+00_rb,0.18776e+00_rb,0.19449e+00_rb,0.19637e+00_rb, & & 0.19035e+00_rb,0.17490e+00_rb,0.15605e+00_rb,0.16154e+00_rb /) kao(:, 1,10,11) = (/ & & 0.16786e+00_rb,0.17459e+00_rb,0.18572e+00_rb,0.19196e+00_rb,0.19497e+00_rb, & & 0.19093e+00_rb,0.17775e+00_rb,0.15445e+00_rb,0.12845e+00_rb /) kao(:, 2,10,11) = (/ & & 0.16990e+00_rb,0.17470e+00_rb,0.18604e+00_rb,0.19354e+00_rb,0.19670e+00_rb, & & 0.19124e+00_rb,0.17643e+00_rb,0.15415e+00_rb,0.12953e+00_rb /) kao(:, 3,10,11) = (/ & & 0.17115e+00_rb,0.17447e+00_rb,0.18577e+00_rb,0.19420e+00_rb,0.19734e+00_rb, & & 0.19133e+00_rb,0.17544e+00_rb,0.15343e+00_rb,0.13019e+00_rb /) kao(:, 4,10,11) = (/ & & 0.17256e+00_rb,0.17421e+00_rb,0.18540e+00_rb,0.19426e+00_rb,0.19741e+00_rb, & & 0.19105e+00_rb,0.17463e+00_rb,0.15245e+00_rb,0.13135e+00_rb /) kao(:, 5,10,11) = (/ & & 0.17411e+00_rb,0.17469e+00_rb,0.18532e+00_rb,0.19400e+00_rb,0.19690e+00_rb, & & 0.19024e+00_rb,0.17373e+00_rb,0.15177e+00_rb,0.13443e+00_rb /) kao(:, 1,11,11) = (/ & & 0.15326e+00_rb,0.16530e+00_rb,0.17933e+00_rb,0.18873e+00_rb,0.19204e+00_rb, & & 0.18645e+00_rb,0.17157e+00_rb,0.14842e+00_rb,0.10906e+00_rb /) kao(:, 2,11,11) = (/ & & 0.15510e+00_rb,0.16508e+00_rb,0.18002e+00_rb,0.19054e+00_rb,0.19337e+00_rb, & & 0.18697e+00_rb,0.17132e+00_rb,0.14823e+00_rb,0.10821e+00_rb /) kao(:, 3,11,11) = (/ & & 0.15695e+00_rb,0.16517e+00_rb,0.18033e+00_rb,0.19125e+00_rb,0.19395e+00_rb, & & 0.18719e+00_rb,0.17114e+00_rb,0.14748e+00_rb,0.10735e+00_rb /) kao(:, 4,11,11) = (/ & & 0.15884e+00_rb,0.16584e+00_rb,0.18066e+00_rb,0.19107e+00_rb,0.19386e+00_rb, & & 0.18714e+00_rb,0.17083e+00_rb,0.14679e+00_rb,0.10767e+00_rb /) kao(:, 5,11,11) = (/ & & 0.16065e+00_rb,0.16693e+00_rb,0.18136e+00_rb,0.19090e+00_rb,0.19313e+00_rb, & & 0.18652e+00_rb,0.17043e+00_rb,0.14693e+00_rb,0.10852e+00_rb /) kao(:, 1,12,11) = (/ & & 0.13812e+00_rb,0.15482e+00_rb,0.17200e+00_rb,0.18322e+00_rb,0.18516e+00_rb, & & 0.17855e+00_rb,0.16404e+00_rb,0.14149e+00_rb,0.85521e-01_rb /) kao(:, 2,12,11) = (/ & & 0.14024e+00_rb,0.15523e+00_rb,0.17295e+00_rb,0.18464e+00_rb,0.18616e+00_rb, & & 0.17947e+00_rb,0.16474e+00_rb,0.14107e+00_rb,0.84251e-01_rb /) kao(:, 3,12,11) = (/ & & 0.14232e+00_rb,0.15625e+00_rb,0.17374e+00_rb,0.18482e+00_rb,0.18666e+00_rb, & & 0.18015e+00_rb,0.16507e+00_rb,0.14067e+00_rb,0.83221e-01_rb /) kao(:, 4,12,11) = (/ & & 0.14452e+00_rb,0.15760e+00_rb,0.17483e+00_rb,0.18482e+00_rb,0.18644e+00_rb, & & 0.18031e+00_rb,0.16530e+00_rb,0.14085e+00_rb,0.83052e-01_rb /) kao(:, 5,12,11) = (/ & & 0.14659e+00_rb,0.15898e+00_rb,0.17608e+00_rb,0.18496e+00_rb,0.18608e+00_rb, & & 0.18007e+00_rb,0.16596e+00_rb,0.14156e+00_rb,0.86150e-01_rb /) kao(:, 1,13,11) = (/ & & 0.12335e+00_rb,0.14397e+00_rb,0.16332e+00_rb,0.17403e+00_rb,0.17485e+00_rb, & & 0.16858e+00_rb,0.15532e+00_rb,0.13315e+00_rb,0.86982e-01_rb /) kao(:, 2,13,11) = (/ & & 0.12553e+00_rb,0.14531e+00_rb,0.16473e+00_rb,0.17477e+00_rb,0.17593e+00_rb, & & 0.16998e+00_rb,0.15639e+00_rb,0.13322e+00_rb,0.83311e-01_rb /) kao(:, 3,13,11) = (/ & & 0.12788e+00_rb,0.14705e+00_rb,0.16612e+00_rb,0.17511e+00_rb,0.17644e+00_rb, & & 0.17090e+00_rb,0.15730e+00_rb,0.13374e+00_rb,0.80969e-01_rb /) kao(:, 4,13,11) = (/ & & 0.13027e+00_rb,0.14889e+00_rb,0.16746e+00_rb,0.17569e+00_rb,0.17660e+00_rb, & & 0.17136e+00_rb,0.15852e+00_rb,0.13468e+00_rb,0.79671e-01_rb /) kao(:, 5,13,11) = (/ & & 0.13255e+00_rb,0.15069e+00_rb,0.16867e+00_rb,0.17661e+00_rb,0.17696e+00_rb, & & 0.17204e+00_rb,0.15992e+00_rb,0.13520e+00_rb,0.81334e-01_rb /) kao(:, 1, 1,12) = (/ & & 0.28721e+00_rb,0.25323e+00_rb,0.21917e+00_rb,0.19050e+00_rb,0.18439e+00_rb, & & 0.17842e+00_rb,0.17156e+00_rb,0.18245e+00_rb,0.20075e+00_rb /) kao(:, 2, 1,12) = (/ & & 0.28561e+00_rb,0.25177e+00_rb,0.21845e+00_rb,0.19052e+00_rb,0.18309e+00_rb, & & 0.17638e+00_rb,0.16966e+00_rb,0.18096e+00_rb,0.19965e+00_rb /) kao(:, 3, 1,12) = (/ & & 0.28230e+00_rb,0.24910e+00_rb,0.21697e+00_rb,0.19014e+00_rb,0.18233e+00_rb, & & 0.17414e+00_rb,0.16821e+00_rb,0.18034e+00_rb,0.19910e+00_rb /) kao(:, 4, 1,12) = (/ & & 0.27834e+00_rb,0.24592e+00_rb,0.21540e+00_rb,0.18935e+00_rb,0.18163e+00_rb, & & 0.17186e+00_rb,0.16739e+00_rb,0.18033e+00_rb,0.19922e+00_rb /) kao(:, 5, 1,12) = (/ & & 0.27434e+00_rb,0.24303e+00_rb,0.21391e+00_rb,0.18803e+00_rb,0.18019e+00_rb, & & 0.17025e+00_rb,0.16693e+00_rb,0.18042e+00_rb,0.19937e+00_rb /) kao(:, 1, 2,12) = (/ & & 0.29623e+00_rb,0.26097e+00_rb,0.22609e+00_rb,0.20293e+00_rb,0.20182e+00_rb, & & 0.19085e+00_rb,0.18240e+00_rb,0.19397e+00_rb,0.21604e+00_rb /) kao(:, 2, 2,12) = (/ & & 0.29432e+00_rb,0.25931e+00_rb,0.22539e+00_rb,0.20142e+00_rb,0.20026e+00_rb, & & 0.18828e+00_rb,0.18057e+00_rb,0.19299e+00_rb,0.21521e+00_rb /) kao(:, 3, 2,12) = (/ & & 0.29132e+00_rb,0.25712e+00_rb,0.22457e+00_rb,0.20070e+00_rb,0.19917e+00_rb, & & 0.18573e+00_rb,0.17946e+00_rb,0.19254e+00_rb,0.21482e+00_rb /) kao(:, 4, 2,12) = (/ & & 0.28797e+00_rb,0.25474e+00_rb,0.22345e+00_rb,0.19986e+00_rb,0.19780e+00_rb, & & 0.18370e+00_rb,0.17875e+00_rb,0.19238e+00_rb,0.21459e+00_rb /) kao(:, 5, 2,12) = (/ & & 0.28466e+00_rb,0.25242e+00_rb,0.22205e+00_rb,0.19838e+00_rb,0.19562e+00_rb, & & 0.18242e+00_rb,0.17806e+00_rb,0.19203e+00_rb,0.21421e+00_rb /) kao(:, 1, 3,12) = (/ & & 0.30561e+00_rb,0.26889e+00_rb,0.23295e+00_rb,0.21956e+00_rb,0.21717e+00_rb, & & 0.20307e+00_rb,0.19524e+00_rb,0.20742e+00_rb,0.23388e+00_rb /) kao(:, 2, 3,12) = (/ & & 0.30324e+00_rb,0.26704e+00_rb,0.23237e+00_rb,0.21738e+00_rb,0.21493e+00_rb, & & 0.20036e+00_rb,0.19375e+00_rb,0.20659e+00_rb,0.23304e+00_rb /) kao(:, 3, 3,12) = (/ & & 0.30058e+00_rb,0.26531e+00_rb,0.23190e+00_rb,0.21598e+00_rb,0.21300e+00_rb, & & 0.19790e+00_rb,0.19244e+00_rb,0.20627e+00_rb,0.23259e+00_rb /) kao(:, 4, 3,12) = (/ & & 0.29826e+00_rb,0.26386e+00_rb,0.23125e+00_rb,0.21516e+00_rb,0.21099e+00_rb, & & 0.19626e+00_rb,0.19135e+00_rb,0.20570e+00_rb,0.23176e+00_rb /) kao(:, 5, 3,12) = (/ & & 0.29569e+00_rb,0.26204e+00_rb,0.22972e+00_rb,0.21357e+00_rb,0.20846e+00_rb, & & 0.19500e+00_rb,0.19003e+00_rb,0.20504e+00_rb,0.23084e+00_rb /) kao(:, 1, 4,12) = (/ & & 0.31580e+00_rb,0.27765e+00_rb,0.24256e+00_rb,0.23825e+00_rb,0.23010e+00_rb, & & 0.21605e+00_rb,0.20908e+00_rb,0.22073e+00_rb,0.25027e+00_rb /) kao(:, 2, 4,12) = (/ & & 0.31385e+00_rb,0.27619e+00_rb,0.24143e+00_rb,0.23561e+00_rb,0.22732e+00_rb, & & 0.21355e+00_rb,0.20732e+00_rb,0.21997e+00_rb,0.24945e+00_rb /) kao(:, 3, 4,12) = (/ & & 0.31115e+00_rb,0.27450e+00_rb,0.24049e+00_rb,0.23383e+00_rb,0.22480e+00_rb, & & 0.21136e+00_rb,0.20583e+00_rb,0.21971e+00_rb,0.24898e+00_rb /) kao(:, 4, 4,12) = (/ & & 0.30851e+00_rb,0.27268e+00_rb,0.23896e+00_rb,0.23220e+00_rb,0.22243e+00_rb, & & 0.20992e+00_rb,0.20459e+00_rb,0.21945e+00_rb,0.24850e+00_rb /) kao(:, 5, 4,12) = (/ & & 0.30578e+00_rb,0.27071e+00_rb,0.23717e+00_rb,0.23033e+00_rb,0.22018e+00_rb, & & 0.20870e+00_rb,0.20353e+00_rb,0.21927e+00_rb,0.24814e+00_rb /) kao(:, 1, 5,12) = (/ & & 0.32525e+00_rb,0.28587e+00_rb,0.25583e+00_rb,0.25377e+00_rb,0.24260e+00_rb, & & 0.22945e+00_rb,0.22249e+00_rb,0.23280e+00_rb,0.26422e+00_rb /) kao(:, 2, 5,12) = (/ & & 0.32339e+00_rb,0.28450e+00_rb,0.25406e+00_rb,0.25143e+00_rb,0.23950e+00_rb, & & 0.22738e+00_rb,0.22044e+00_rb,0.23211e+00_rb,0.26348e+00_rb /) kao(:, 3, 5,12) = (/ & & 0.32075e+00_rb,0.28298e+00_rb,0.25200e+00_rb,0.24974e+00_rb,0.23665e+00_rb, & & 0.22565e+00_rb,0.21882e+00_rb,0.23178e+00_rb,0.26317e+00_rb /) kao(:, 4, 5,12) = (/ & & 0.31838e+00_rb,0.28134e+00_rb,0.24992e+00_rb,0.24807e+00_rb,0.23442e+00_rb, & & 0.22435e+00_rb,0.21780e+00_rb,0.23180e+00_rb,0.26307e+00_rb /) kao(:, 5, 5,12) = (/ & & 0.31581e+00_rb,0.27952e+00_rb,0.24774e+00_rb,0.24618e+00_rb,0.23239e+00_rb, & & 0.22315e+00_rb,0.21723e+00_rb,0.23168e+00_rb,0.26269e+00_rb /) kao(:, 1, 6,12) = (/ & & 0.33335e+00_rb,0.29286e+00_rb,0.27107e+00_rb,0.26707e+00_rb,0.25627e+00_rb, & & 0.24388e+00_rb,0.23516e+00_rb,0.24254e+00_rb,0.27495e+00_rb /) kao(:, 2, 6,12) = (/ & & 0.33185e+00_rb,0.29196e+00_rb,0.26927e+00_rb,0.26528e+00_rb,0.25338e+00_rb, & & 0.24199e+00_rb,0.23321e+00_rb,0.24178e+00_rb,0.27452e+00_rb /) kao(:, 3, 6,12) = (/ & & 0.32960e+00_rb,0.29070e+00_rb,0.26757e+00_rb,0.26387e+00_rb,0.25062e+00_rb, & & 0.24015e+00_rb,0.23158e+00_rb,0.24188e+00_rb,0.27485e+00_rb /) kao(:, 4, 6,12) = (/ & & 0.32714e+00_rb,0.28920e+00_rb,0.26543e+00_rb,0.26229e+00_rb,0.24828e+00_rb, & & 0.23863e+00_rb,0.23085e+00_rb,0.24191e+00_rb,0.27476e+00_rb /) kao(:, 5, 6,12) = (/ & & 0.32443e+00_rb,0.28722e+00_rb,0.26300e+00_rb,0.25993e+00_rb,0.24627e+00_rb, & & 0.23716e+00_rb,0.23011e+00_rb,0.24150e+00_rb,0.27410e+00_rb /) kao(:, 1, 7,12) = (/ & & 0.33805e+00_rb,0.29686e+00_rb,0.28577e+00_rb,0.27897e+00_rb,0.26998e+00_rb, & & 0.25892e+00_rb,0.24589e+00_rb,0.25046e+00_rb,0.28292e+00_rb /) kao(:, 2, 7,12) = (/ & & 0.33717e+00_rb,0.29673e+00_rb,0.28505e+00_rb,0.27748e+00_rb,0.26727e+00_rb, & & 0.25668e+00_rb,0.24439e+00_rb,0.24991e+00_rb,0.28315e+00_rb /) kao(:, 3, 7,12) = (/ & & 0.33582e+00_rb,0.29639e+00_rb,0.28414e+00_rb,0.27664e+00_rb,0.26503e+00_rb, & & 0.25454e+00_rb,0.24355e+00_rb,0.24982e+00_rb,0.28339e+00_rb /) kao(:, 4, 7,12) = (/ & & 0.33418e+00_rb,0.29565e+00_rb,0.28243e+00_rb,0.27502e+00_rb,0.26319e+00_rb, & & 0.25262e+00_rb,0.24314e+00_rb,0.24937e+00_rb,0.28297e+00_rb /) kao(:, 5, 7,12) = (/ & & 0.33223e+00_rb,0.29432e+00_rb,0.28036e+00_rb,0.27276e+00_rb,0.26126e+00_rb, & & 0.25114e+00_rb,0.24223e+00_rb,0.24874e+00_rb,0.28224e+00_rb /) kao(:, 1, 8,12) = (/ & & 0.33811e+00_rb,0.29881e+00_rb,0.29770e+00_rb,0.29087e+00_rb,0.28271e+00_rb, & & 0.27088e+00_rb,0.25606e+00_rb,0.25702e+00_rb,0.28869e+00_rb /) kao(:, 2, 8,12) = (/ & & 0.33858e+00_rb,0.29933e+00_rb,0.29817e+00_rb,0.28968e+00_rb,0.28063e+00_rb, & & 0.26913e+00_rb,0.25508e+00_rb,0.25647e+00_rb,0.28886e+00_rb /) kao(:, 3, 8,12) = (/ & & 0.33853e+00_rb,0.29979e+00_rb,0.29803e+00_rb,0.28900e+00_rb,0.27895e+00_rb, & & 0.26698e+00_rb,0.25454e+00_rb,0.25561e+00_rb,0.28857e+00_rb /) kao(:, 4, 8,12) = (/ & & 0.33786e+00_rb,0.29958e+00_rb,0.29705e+00_rb,0.28721e+00_rb,0.27754e+00_rb, & & 0.26522e+00_rb,0.25386e+00_rb,0.25480e+00_rb,0.28812e+00_rb /) kao(:, 5, 8,12) = (/ & & 0.33672e+00_rb,0.29874e+00_rb,0.29538e+00_rb,0.28492e+00_rb,0.27593e+00_rb, & & 0.26422e+00_rb,0.25288e+00_rb,0.25337e+00_rb,0.28657e+00_rb /) kao(:, 1, 9,12) = (/ & & 0.33304e+00_rb,0.29965e+00_rb,0.30451e+00_rb,0.30108e+00_rb,0.29380e+00_rb, & & 0.28100e+00_rb,0.26620e+00_rb,0.26062e+00_rb,0.28923e+00_rb /) kao(:, 2, 9,12) = (/ & & 0.33493e+00_rb,0.30099e+00_rb,0.30590e+00_rb,0.30051e+00_rb,0.29241e+00_rb, & & 0.27971e+00_rb,0.26553e+00_rb,0.25927e+00_rb,0.28890e+00_rb /) kao(:, 3, 9,12) = (/ & & 0.33639e+00_rb,0.30210e+00_rb,0.30672e+00_rb,0.29976e+00_rb,0.29135e+00_rb, & & 0.27789e+00_rb,0.26459e+00_rb,0.25779e+00_rb,0.28847e+00_rb /) kao(:, 4, 9,12) = (/ & & 0.33691e+00_rb,0.30238e+00_rb,0.30636e+00_rb,0.29831e+00_rb,0.29055e+00_rb, & & 0.27684e+00_rb,0.26372e+00_rb,0.25629e+00_rb,0.28756e+00_rb /) kao(:, 5, 9,12) = (/ & & 0.33680e+00_rb,0.30184e+00_rb,0.30474e+00_rb,0.29664e+00_rb,0.28906e+00_rb, & & 0.27593e+00_rb,0.26250e+00_rb,0.25436e+00_rb,0.28576e+00_rb /) kao(:, 1,10,12) = (/ & & 0.32265e+00_rb,0.29931e+00_rb,0.30809e+00_rb,0.30788e+00_rb,0.30155e+00_rb, & & 0.29032e+00_rb,0.27398e+00_rb,0.25958e+00_rb,0.28232e+00_rb /) kao(:, 2,10,12) = (/ & & 0.32643e+00_rb,0.30217e+00_rb,0.30992e+00_rb,0.30804e+00_rb,0.30109e+00_rb, & & 0.28947e+00_rb,0.27364e+00_rb,0.25761e+00_rb,0.28165e+00_rb /) kao(:, 3,10,12) = (/ & & 0.32903e+00_rb,0.30409e+00_rb,0.31077e+00_rb,0.30846e+00_rb,0.30095e+00_rb, & & 0.28833e+00_rb,0.27259e+00_rb,0.25601e+00_rb,0.28124e+00_rb /) kao(:, 4,10,12) = (/ & & 0.33021e+00_rb,0.30472e+00_rb,0.31062e+00_rb,0.30777e+00_rb,0.30050e+00_rb, & & 0.28725e+00_rb,0.27132e+00_rb,0.25418e+00_rb,0.28034e+00_rb /) kao(:, 5,10,12) = (/ & & 0.33035e+00_rb,0.30379e+00_rb,0.30948e+00_rb,0.30647e+00_rb,0.29984e+00_rb, & & 0.28648e+00_rb,0.26959e+00_rb,0.25216e+00_rb,0.27891e+00_rb /) kao(:, 1,11,12) = (/ & & 0.31092e+00_rb,0.29828e+00_rb,0.30944e+00_rb,0.31067e+00_rb,0.30618e+00_rb, & & 0.29698e+00_rb,0.27822e+00_rb,0.25367e+00_rb,0.20521e+00_rb /) kao(:, 2,11,12) = (/ & & 0.31508e+00_rb,0.30179e+00_rb,0.31084e+00_rb,0.31247e+00_rb,0.30712e+00_rb, & & 0.29665e+00_rb,0.27717e+00_rb,0.25137e+00_rb,0.20791e+00_rb /) kao(:, 3,11,12) = (/ & & 0.31745e+00_rb,0.30351e+00_rb,0.31148e+00_rb,0.31329e+00_rb,0.30764e+00_rb, & & 0.29592e+00_rb,0.27601e+00_rb,0.24946e+00_rb,0.21041e+00_rb /) kao(:, 4,11,12) = (/ & & 0.31864e+00_rb,0.30345e+00_rb,0.31137e+00_rb,0.31328e+00_rb,0.30818e+00_rb, & & 0.29525e+00_rb,0.27444e+00_rb,0.24795e+00_rb,0.21312e+00_rb /) kao(:, 5,11,12) = (/ & & 0.31936e+00_rb,0.30268e+00_rb,0.31034e+00_rb,0.31260e+00_rb,0.30827e+00_rb, & & 0.29465e+00_rb,0.27259e+00_rb,0.24615e+00_rb,0.21621e+00_rb /) kao(:, 1,12,12) = (/ & & 0.29534e+00_rb,0.29381e+00_rb,0.30706e+00_rb,0.31081e+00_rb,0.30893e+00_rb, & & 0.29961e+00_rb,0.27811e+00_rb,0.24533e+00_rb,0.16496e+00_rb /) kao(:, 2,12,12) = (/ & & 0.29914e+00_rb,0.29664e+00_rb,0.30890e+00_rb,0.31347e+00_rb,0.31102e+00_rb, & & 0.29958e+00_rb,0.27683e+00_rb,0.24361e+00_rb,0.16812e+00_rb /) kao(:, 3,12,12) = (/ & & 0.30164e+00_rb,0.29790e+00_rb,0.30986e+00_rb,0.31529e+00_rb,0.31277e+00_rb, & & 0.29960e+00_rb,0.27547e+00_rb,0.24230e+00_rb,0.17163e+00_rb /) kao(:, 4,12,12) = (/ & & 0.30318e+00_rb,0.29799e+00_rb,0.30963e+00_rb,0.31596e+00_rb,0.31358e+00_rb, & & 0.29964e+00_rb,0.27410e+00_rb,0.24090e+00_rb,0.17207e+00_rb /) kao(:, 5,12,12) = (/ & & 0.30462e+00_rb,0.29774e+00_rb,0.30883e+00_rb,0.31580e+00_rb,0.31382e+00_rb, & & 0.29942e+00_rb,0.27289e+00_rb,0.23940e+00_rb,0.17248e+00_rb /) kao(:, 1,13,12) = (/ & & 0.27646e+00_rb,0.28482e+00_rb,0.30092e+00_rb,0.30845e+00_rb,0.30839e+00_rb, & & 0.29721e+00_rb,0.27391e+00_rb,0.23566e+00_rb,0.13145e+00_rb /) kao(:, 2,13,12) = (/ & & 0.28013e+00_rb,0.28703e+00_rb,0.30330e+00_rb,0.31210e+00_rb,0.31152e+00_rb, & & 0.29799e+00_rb,0.27265e+00_rb,0.23501e+00_rb,0.13680e+00_rb /) kao(:, 3,13,12) = (/ & & 0.28251e+00_rb,0.28781e+00_rb,0.30455e+00_rb,0.31430e+00_rb,0.31342e+00_rb, & & 0.29883e+00_rb,0.27192e+00_rb,0.23420e+00_rb,0.14031e+00_rb /) kao(:, 4,13,12) = (/ & & 0.28473e+00_rb,0.28806e+00_rb,0.30532e+00_rb,0.31558e+00_rb,0.31478e+00_rb, & & 0.29964e+00_rb,0.27140e+00_rb,0.23324e+00_rb,0.14138e+00_rb /) kao(:, 5,13,12) = (/ & & 0.28731e+00_rb,0.28885e+00_rb,0.30563e+00_rb,0.31603e+00_rb,0.31529e+00_rb, & & 0.30003e+00_rb,0.27073e+00_rb,0.23300e+00_rb,0.14291e+00_rb /) kao(:, 1, 1,13) = (/ & & 0.39331e+00_rb,0.34536e+00_rb,0.29823e+00_rb,0.25200e+00_rb,0.22257e+00_rb, & & 0.22153e+00_rb,0.23263e+00_rb,0.25940e+00_rb,0.28372e+00_rb /) kao(:, 2, 1,13) = (/ & & 0.38484e+00_rb,0.33824e+00_rb,0.29242e+00_rb,0.24772e+00_rb,0.21768e+00_rb, & & 0.21972e+00_rb,0.23098e+00_rb,0.25833e+00_rb,0.28173e+00_rb /) kao(:, 3, 1,13) = (/ & & 0.37910e+00_rb,0.33360e+00_rb,0.28884e+00_rb,0.24475e+00_rb,0.21421e+00_rb, & & 0.21744e+00_rb,0.22823e+00_rb,0.25633e+00_rb,0.27932e+00_rb /) kao(:, 4, 1,13) = (/ & & 0.37406e+00_rb,0.32956e+00_rb,0.28576e+00_rb,0.24212e+00_rb,0.21151e+00_rb, & & 0.21463e+00_rb,0.22480e+00_rb,0.25354e+00_rb,0.27637e+00_rb /) kao(:, 5, 1,13) = (/ & & 0.36968e+00_rb,0.32602e+00_rb,0.28272e+00_rb,0.24026e+00_rb,0.20970e+00_rb, & & 0.21134e+00_rb,0.22163e+00_rb,0.25081e+00_rb,0.27385e+00_rb /) kao(:, 1, 2,13) = (/ & & 0.41602e+00_rb,0.36529e+00_rb,0.31527e+00_rb,0.26672e+00_rb,0.24637e+00_rb, & & 0.24718e+00_rb,0.25604e+00_rb,0.28585e+00_rb,0.31850e+00_rb /) kao(:, 2, 2,13) = (/ & & 0.40830e+00_rb,0.35891e+00_rb,0.31022e+00_rb,0.26338e+00_rb,0.24193e+00_rb, & & 0.24484e+00_rb,0.25382e+00_rb,0.28396e+00_rb,0.31574e+00_rb /) kao(:, 3, 2,13) = (/ & & 0.40220e+00_rb,0.35391e+00_rb,0.30635e+00_rb,0.26042e+00_rb,0.23856e+00_rb, & & 0.24224e+00_rb,0.25030e+00_rb,0.28140e+00_rb,0.31256e+00_rb /) kao(:, 4, 2,13) = (/ & & 0.39708e+00_rb,0.34976e+00_rb,0.30310e+00_rb,0.25764e+00_rb,0.23590e+00_rb, & & 0.23895e+00_rb,0.24655e+00_rb,0.27840e+00_rb,0.30929e+00_rb /) kao(:, 5, 2,13) = (/ & & 0.39199e+00_rb,0.34559e+00_rb,0.29962e+00_rb,0.25559e+00_rb,0.23369e+00_rb, & & 0.23517e+00_rb,0.24316e+00_rb,0.27577e+00_rb,0.30660e+00_rb /) kao(:, 1, 3,13) = (/ & & 0.43911e+00_rb,0.38551e+00_rb,0.33254e+00_rb,0.28548e+00_rb,0.27501e+00_rb, & & 0.27158e+00_rb,0.27806e+00_rb,0.30961e+00_rb,0.34942e+00_rb /) kao(:, 2, 3,13) = (/ & & 0.43165e+00_rb,0.37930e+00_rb,0.32763e+00_rb,0.28158e+00_rb,0.27135e+00_rb, & & 0.26881e+00_rb,0.27489e+00_rb,0.30725e+00_rb,0.34620e+00_rb /) kao(:, 3, 3,13) = (/ & & 0.42551e+00_rb,0.37419e+00_rb,0.32362e+00_rb,0.27772e+00_rb,0.26799e+00_rb, & & 0.26571e+00_rb,0.27096e+00_rb,0.30422e+00_rb,0.34240e+00_rb /) kao(:, 4, 3,13) = (/ & & 0.42038e+00_rb,0.37000e+00_rb,0.32049e+00_rb,0.27494e+00_rb,0.26498e+00_rb, & & 0.26183e+00_rb,0.26698e+00_rb,0.30136e+00_rb,0.33931e+00_rb /) kao(:, 5, 3,13) = (/ & & 0.41446e+00_rb,0.36533e+00_rb,0.31734e+00_rb,0.27304e+00_rb,0.26234e+00_rb, & & 0.25777e+00_rb,0.26380e+00_rb,0.29913e+00_rb,0.33705e+00_rb /) kao(:, 1, 4,13) = (/ & & 0.46241e+00_rb,0.40571e+00_rb,0.34961e+00_rb,0.30954e+00_rb,0.30425e+00_rb, & & 0.29507e+00_rb,0.29890e+00_rb,0.33301e+00_rb,0.37827e+00_rb /) kao(:, 2, 4,13) = (/ & & 0.45465e+00_rb,0.39923e+00_rb,0.34450e+00_rb,0.30510e+00_rb,0.30124e+00_rb, & & 0.29145e+00_rb,0.29516e+00_rb,0.32984e+00_rb,0.37410e+00_rb /) kao(:, 3, 4,13) = (/ & & 0.44872e+00_rb,0.39432e+00_rb,0.34072e+00_rb,0.30104e+00_rb,0.29841e+00_rb, & & 0.28758e+00_rb,0.29090e+00_rb,0.32641e+00_rb,0.36986e+00_rb /) kao(:, 4, 4,13) = (/ & & 0.44350e+00_rb,0.39014e+00_rb,0.33810e+00_rb,0.29814e+00_rb,0.29548e+00_rb, & & 0.28294e+00_rb,0.28676e+00_rb,0.32342e+00_rb,0.36667e+00_rb /) kao(:, 5, 4,13) = (/ & & 0.43828e+00_rb,0.38609e+00_rb,0.33570e+00_rb,0.29627e+00_rb,0.29269e+00_rb, & & 0.27870e+00_rb,0.28357e+00_rb,0.32115e+00_rb,0.36426e+00_rb /) kao(:, 1, 5,13) = (/ & & 0.48784e+00_rb,0.42784e+00_rb,0.36835e+00_rb,0.33984e+00_rb,0.33294e+00_rb, & & 0.31846e+00_rb,0.32126e+00_rb,0.35651e+00_rb,0.40621e+00_rb /) kao(:, 2, 5,13) = (/ & & 0.48030e+00_rb,0.42153e+00_rb,0.36340e+00_rb,0.33519e+00_rb,0.32973e+00_rb, & & 0.31380e+00_rb,0.31683e+00_rb,0.35311e+00_rb,0.40187e+00_rb /) kao(:, 3, 5,13) = (/ & & 0.47411e+00_rb,0.41636e+00_rb,0.35974e+00_rb,0.33136e+00_rb,0.32664e+00_rb, & & 0.30892e+00_rb,0.31220e+00_rb,0.34964e+00_rb,0.39763e+00_rb /) kao(:, 4, 5,13) = (/ & & 0.46883e+00_rb,0.41227e+00_rb,0.35745e+00_rb,0.32776e+00_rb,0.32317e+00_rb, & & 0.30393e+00_rb,0.30777e+00_rb,0.34651e+00_rb,0.39440e+00_rb /) kao(:, 5, 5,13) = (/ & & 0.46388e+00_rb,0.40844e+00_rb,0.35543e+00_rb,0.32520e+00_rb,0.31964e+00_rb, & & 0.29971e+00_rb,0.30439e+00_rb,0.34429e+00_rb,0.39205e+00_rb /) kao(:, 1, 6,13) = (/ & & 0.51535e+00_rb,0.45180e+00_rb,0.39162e+00_rb,0.37322e+00_rb,0.36050e+00_rb, & & 0.34300e+00_rb,0.34505e+00_rb,0.38137e+00_rb,0.43538e+00_rb /) kao(:, 2, 6,13) = (/ & & 0.50781e+00_rb,0.44545e+00_rb,0.38586e+00_rb,0.36868e+00_rb,0.35573e+00_rb, & & 0.33760e+00_rb,0.34025e+00_rb,0.37783e+00_rb,0.43095e+00_rb /) kao(:, 3, 6,13) = (/ & & 0.50139e+00_rb,0.44011e+00_rb,0.38148e+00_rb,0.36480e+00_rb,0.35183e+00_rb, & & 0.33217e+00_rb,0.33546e+00_rb,0.37434e+00_rb,0.42674e+00_rb /) kao(:, 4, 6,13) = (/ & & 0.49657e+00_rb,0.43636e+00_rb,0.37891e+00_rb,0.36116e+00_rb,0.34800e+00_rb, & & 0.32704e+00_rb,0.33102e+00_rb,0.37152e+00_rb,0.42385e+00_rb /) kao(:, 5, 6,13) = (/ & & 0.49171e+00_rb,0.43263e+00_rb,0.37693e+00_rb,0.35827e+00_rb,0.34376e+00_rb, & & 0.32320e+00_rb,0.32782e+00_rb,0.36976e+00_rb,0.42188e+00_rb /) kao(:, 1, 7,13) = (/ & & 0.54162e+00_rb,0.47464e+00_rb,0.41834e+00_rb,0.40782e+00_rb,0.38721e+00_rb, & & 0.36824e+00_rb,0.37067e+00_rb,0.40670e+00_rb,0.46460e+00_rb /) kao(:, 2, 7,13) = (/ & & 0.53535e+00_rb,0.46937e+00_rb,0.41220e+00_rb,0.40296e+00_rb,0.38145e+00_rb, & & 0.36278e+00_rb,0.36581e+00_rb,0.40309e+00_rb,0.46013e+00_rb /) kao(:, 3, 7,13) = (/ & & 0.52914e+00_rb,0.46429e+00_rb,0.40710e+00_rb,0.39788e+00_rb,0.37673e+00_rb, & & 0.35819e+00_rb,0.36078e+00_rb,0.40008e+00_rb,0.45678e+00_rb /) kao(:, 4, 7,13) = (/ & & 0.52440e+00_rb,0.46050e+00_rb,0.40384e+00_rb,0.39374e+00_rb,0.37204e+00_rb, & & 0.35371e+00_rb,0.35616e+00_rb,0.39775e+00_rb,0.45424e+00_rb /) kao(:, 5, 7,13) = (/ & & 0.52017e+00_rb,0.45722e+00_rb,0.40132e+00_rb,0.39030e+00_rb,0.36733e+00_rb, & & 0.34991e+00_rb,0.35252e+00_rb,0.39600e+00_rb,0.45213e+00_rb /) kao(:, 1, 8,13) = (/ & & 0.56560e+00_rb,0.49547e+00_rb,0.44792e+00_rb,0.43980e+00_rb,0.41568e+00_rb, & & 0.39571e+00_rb,0.39516e+00_rb,0.42687e+00_rb,0.48767e+00_rb /) kao(:, 2, 8,13) = (/ & & 0.55986e+00_rb,0.49068e+00_rb,0.44130e+00_rb,0.43344e+00_rb,0.40921e+00_rb, & & 0.39033e+00_rb,0.39006e+00_rb,0.42429e+00_rb,0.48458e+00_rb /) kao(:, 3, 8,13) = (/ & & 0.55439e+00_rb,0.48622e+00_rb,0.43604e+00_rb,0.42727e+00_rb,0.40340e+00_rb, & & 0.38637e+00_rb,0.38517e+00_rb,0.42255e+00_rb,0.48243e+00_rb /) kao(:, 4, 8,13) = (/ & & 0.55085e+00_rb,0.48344e+00_rb,0.43251e+00_rb,0.42285e+00_rb,0.39791e+00_rb, & & 0.38219e+00_rb,0.38096e+00_rb,0.42076e+00_rb,0.48039e+00_rb /) kao(:, 5, 8,13) = (/ & & 0.54722e+00_rb,0.48060e+00_rb,0.42969e+00_rb,0.41964e+00_rb,0.39283e+00_rb, & & 0.37840e+00_rb,0.37699e+00_rb,0.41955e+00_rb,0.47894e+00_rb /) kao(:, 1, 9,13) = (/ & & 0.58672e+00_rb,0.51388e+00_rb,0.47909e+00_rb,0.46769e+00_rb,0.44479e+00_rb, & & 0.42421e+00_rb,0.41694e+00_rb,0.44339e+00_rb,0.50662e+00_rb /) kao(:, 2, 9,13) = (/ & & 0.58159e+00_rb,0.50951e+00_rb,0.47213e+00_rb,0.46028e+00_rb,0.43736e+00_rb, & & 0.41895e+00_rb,0.41246e+00_rb,0.44257e+00_rb,0.50550e+00_rb /) kao(:, 3, 9,13) = (/ & & 0.57736e+00_rb,0.50610e+00_rb,0.46657e+00_rb,0.45431e+00_rb,0.43100e+00_rb, & & 0.41543e+00_rb,0.40868e+00_rb,0.44206e+00_rb,0.50480e+00_rb /) kao(:, 4, 9,13) = (/ & & 0.57459e+00_rb,0.50394e+00_rb,0.46330e+00_rb,0.44994e+00_rb,0.42562e+00_rb, & & 0.41143e+00_rb,0.40432e+00_rb,0.44089e+00_rb,0.50333e+00_rb /) kao(:, 5, 9,13) = (/ & & 0.57136e+00_rb,0.50148e+00_rb,0.46136e+00_rb,0.44665e+00_rb,0.42115e+00_rb, & & 0.40792e+00_rb,0.40001e+00_rb,0.43966e+00_rb,0.50186e+00_rb /) kao(:, 1,10,13) = (/ & & 0.60279e+00_rb,0.52914e+00_rb,0.50725e+00_rb,0.49385e+00_rb,0.47296e+00_rb, & & 0.45056e+00_rb,0.43650e+00_rb,0.45649e+00_rb,0.52069e+00_rb /) kao(:, 2,10,13) = (/ & & 0.59826e+00_rb,0.52452e+00_rb,0.50048e+00_rb,0.48635e+00_rb,0.46511e+00_rb, & & 0.44618e+00_rb,0.43278e+00_rb,0.45737e+00_rb,0.52170e+00_rb /) kao(:, 3,10,13) = (/ & & 0.59590e+00_rb,0.52228e+00_rb,0.49610e+00_rb,0.47997e+00_rb,0.45903e+00_rb, & & 0.44309e+00_rb,0.42962e+00_rb,0.45759e+00_rb,0.52208e+00_rb /) kao(:, 4,10,13) = (/ & & 0.59454e+00_rb,0.52120e+00_rb,0.49388e+00_rb,0.47548e+00_rb,0.45447e+00_rb, & & 0.44006e+00_rb,0.42512e+00_rb,0.45631e+00_rb,0.52061e+00_rb /) kao(:, 5,10,13) = (/ & & 0.59357e+00_rb,0.52070e+00_rb,0.49246e+00_rb,0.47250e+00_rb,0.45028e+00_rb, & & 0.43610e+00_rb,0.42114e+00_rb,0.45529e+00_rb,0.51951e+00_rb /) kao(:, 1,11,13) = (/ & & 0.60887e+00_rb,0.53839e+00_rb,0.52807e+00_rb,0.51587e+00_rb,0.49623e+00_rb, & & 0.47362e+00_rb,0.45440e+00_rb,0.46645e+00_rb,0.53001e+00_rb /) kao(:, 2,11,13) = (/ & & 0.60756e+00_rb,0.53578e+00_rb,0.52411e+00_rb,0.50806e+00_rb,0.48992e+00_rb, & & 0.47089e+00_rb,0.45204e+00_rb,0.46808e+00_rb,0.53215e+00_rb /) kao(:, 3,11,13) = (/ & & 0.60793e+00_rb,0.53524e+00_rb,0.52214e+00_rb,0.50280e+00_rb,0.48540e+00_rb, & & 0.46881e+00_rb,0.44770e+00_rb,0.46764e+00_rb,0.53195e+00_rb /) kao(:, 4,11,13) = (/ & & 0.60970e+00_rb,0.53618e+00_rb,0.52106e+00_rb,0.49960e+00_rb,0.48160e+00_rb, & & 0.46481e+00_rb,0.44371e+00_rb,0.46667e+00_rb,0.53096e+00_rb /) kao(:, 5,11,13) = (/ & & 0.61038e+00_rb,0.53650e+00_rb,0.52014e+00_rb,0.49804e+00_rb,0.47818e+00_rb, & & 0.45984e+00_rb,0.44017e+00_rb,0.46579e+00_rb,0.53008e+00_rb /) kao(:, 1,12,13) = (/ & & 0.60957e+00_rb,0.54609e+00_rb,0.54565e+00_rb,0.53521e+00_rb,0.51779e+00_rb, & & 0.49593e+00_rb,0.47189e+00_rb,0.47309e+00_rb,0.46983e+00_rb /) kao(:, 2,12,13) = (/ & & 0.61214e+00_rb,0.54625e+00_rb,0.54367e+00_rb,0.52921e+00_rb,0.51339e+00_rb, & & 0.49443e+00_rb,0.46946e+00_rb,0.47371e+00_rb,0.47545e+00_rb /) kao(:, 3,12,13) = (/ & & 0.61642e+00_rb,0.54787e+00_rb,0.54269e+00_rb,0.52579e+00_rb,0.50981e+00_rb, & & 0.49118e+00_rb,0.46605e+00_rb,0.47265e+00_rb,0.47706e+00_rb /) kao(:, 4,12,13) = (/ & & 0.62028e+00_rb,0.54980e+00_rb,0.54303e+00_rb,0.52440e+00_rb,0.50697e+00_rb, & & 0.48619e+00_rb,0.46182e+00_rb,0.47123e+00_rb,0.48084e+00_rb /) kao(:, 5,12,13) = (/ & & 0.62175e+00_rb,0.55026e+00_rb,0.54305e+00_rb,0.52373e+00_rb,0.50407e+00_rb, & & 0.48153e+00_rb,0.45738e+00_rb,0.46998e+00_rb,0.48415e+00_rb /) kao(:, 1,13,13) = (/ & & 0.60459e+00_rb,0.55304e+00_rb,0.55845e+00_rb,0.55195e+00_rb,0.53769e+00_rb, & & 0.51606e+00_rb,0.48661e+00_rb,0.47383e+00_rb,0.40484e+00_rb /) kao(:, 2,13,13) = (/ & & 0.61134e+00_rb,0.55569e+00_rb,0.55809e+00_rb,0.54885e+00_rb,0.53426e+00_rb, & & 0.51450e+00_rb,0.48473e+00_rb,0.47289e+00_rb,0.40823e+00_rb /) kao(:, 3,13,13) = (/ & & 0.61890e+00_rb,0.55963e+00_rb,0.55924e+00_rb,0.54802e+00_rb,0.53230e+00_rb, & & 0.51039e+00_rb,0.48075e+00_rb,0.47078e+00_rb,0.41355e+00_rb /) kao(:, 4,13,13) = (/ & & 0.62388e+00_rb,0.56213e+00_rb,0.56099e+00_rb,0.54740e+00_rb,0.52999e+00_rb, & & 0.50582e+00_rb,0.47603e+00_rb,0.46901e+00_rb,0.41977e+00_rb /) kao(:, 5,13,13) = (/ & & 0.62688e+00_rb,0.56314e+00_rb,0.56152e+00_rb,0.54685e+00_rb,0.52723e+00_rb, & & 0.50138e+00_rb,0.47115e+00_rb,0.46700e+00_rb,0.42405e+00_rb /) kao(:, 1, 1,14) = (/ & & 0.52445e+00_rb,0.46003e+00_rb,0.39566e+00_rb,0.33139e+00_rb,0.26995e+00_rb, & & 0.25837e+00_rb,0.28528e+00_rb,0.32819e+00_rb,0.35568e+00_rb /) kao(:, 2, 1,14) = (/ & & 0.51513e+00_rb,0.45183e+00_rb,0.38858e+00_rb,0.32553e+00_rb,0.26784e+00_rb, & & 0.25515e+00_rb,0.28229e+00_rb,0.32456e+00_rb,0.35149e+00_rb /) kao(:, 3, 1,14) = (/ & & 0.50548e+00_rb,0.44334e+00_rb,0.38125e+00_rb,0.32054e+00_rb,0.26590e+00_rb, & & 0.25305e+00_rb,0.28136e+00_rb,0.32218e+00_rb,0.34858e+00_rb /) kao(:, 4, 1,14) = (/ & & 0.49563e+00_rb,0.43466e+00_rb,0.37374e+00_rb,0.31559e+00_rb,0.26350e+00_rb, & & 0.25115e+00_rb,0.28088e+00_rb,0.32077e+00_rb,0.34651e+00_rb /) kao(:, 5, 1,14) = (/ & & 0.48636e+00_rb,0.42650e+00_rb,0.36724e+00_rb,0.31119e+00_rb,0.26146e+00_rb, & & 0.24908e+00_rb,0.27907e+00_rb,0.31920e+00_rb,0.34392e+00_rb /) kao(:, 1, 2,14) = (/ & & 0.56575e+00_rb,0.49609e+00_rb,0.42647e+00_rb,0.35691e+00_rb,0.29788e+00_rb, & & 0.29937e+00_rb,0.33584e+00_rb,0.38701e+00_rb,0.42822e+00_rb /) kao(:, 2, 2,14) = (/ & & 0.55481e+00_rb,0.48648e+00_rb,0.41819e+00_rb,0.35023e+00_rb,0.29393e+00_rb, & & 0.29578e+00_rb,0.33190e+00_rb,0.38233e+00_rb,0.42282e+00_rb /) kao(:, 3, 2,14) = (/ & & 0.54468e+00_rb,0.47756e+00_rb,0.41048e+00_rb,0.34498e+00_rb,0.29076e+00_rb, & & 0.29330e+00_rb,0.33000e+00_rb,0.37899e+00_rb,0.41892e+00_rb /) kao(:, 4, 2,14) = (/ & & 0.53444e+00_rb,0.46857e+00_rb,0.40281e+00_rb,0.34010e+00_rb,0.28772e+00_rb, & & 0.29117e+00_rb,0.32899e+00_rb,0.37674e+00_rb,0.41581e+00_rb /) kao(:, 5, 2,14) = (/ & & 0.52472e+00_rb,0.46000e+00_rb,0.39601e+00_rb,0.33543e+00_rb,0.28544e+00_rb, & & 0.28841e+00_rb,0.32728e+00_rb,0.37488e+00_rb,0.41300e+00_rb /) kao(:, 1, 3,14) = (/ & & 0.61401e+00_rb,0.53826e+00_rb,0.46254e+00_rb,0.38687e+00_rb,0.33653e+00_rb, & & 0.34874e+00_rb,0.39278e+00_rb,0.45331e+00_rb,0.51178e+00_rb /) kao(:, 2, 3,14) = (/ & & 0.60181e+00_rb,0.52754e+00_rb,0.45329e+00_rb,0.37917e+00_rb,0.33018e+00_rb, & & 0.34432e+00_rb,0.38762e+00_rb,0.44735e+00_rb,0.50487e+00_rb /) kao(:, 3, 3,14) = (/ & & 0.59018e+00_rb,0.51732e+00_rb,0.44448e+00_rb,0.37278e+00_rb,0.32516e+00_rb, & & 0.34086e+00_rb,0.38493e+00_rb,0.44336e+00_rb,0.50014e+00_rb /) kao(:, 4, 3,14) = (/ & & 0.57893e+00_rb,0.50743e+00_rb,0.43595e+00_rb,0.36714e+00_rb,0.32113e+00_rb, & & 0.33824e+00_rb,0.38315e+00_rb,0.44016e+00_rb,0.49598e+00_rb /) kao(:, 5, 3,14) = (/ & & 0.56842e+00_rb,0.49818e+00_rb,0.42822e+00_rb,0.36203e+00_rb,0.31748e+00_rb, & & 0.33494e+00_rb,0.38145e+00_rb,0.43774e+00_rb,0.49238e+00_rb /) kao(:, 1, 4,14) = (/ & & 0.66683e+00_rb,0.58444e+00_rb,0.50208e+00_rb,0.41977e+00_rb,0.38494e+00_rb, & & 0.40485e+00_rb,0.45417e+00_rb,0.52508e+00_rb,0.59839e+00_rb /) kao(:, 2, 4,14) = (/ & & 0.65354e+00_rb,0.57275e+00_rb,0.49199e+00_rb,0.41128e+00_rb,0.37591e+00_rb, & & 0.39916e+00_rb,0.44835e+00_rb,0.51820e+00_rb,0.59043e+00_rb /) kao(:, 3, 4,14) = (/ & & 0.64071e+00_rb,0.56148e+00_rb,0.48227e+00_rb,0.40388e+00_rb,0.36879e+00_rb, & & 0.39404e+00_rb,0.44465e+00_rb,0.51320e+00_rb,0.58464e+00_rb /) kao(:, 4, 4,14) = (/ & & 0.62844e+00_rb,0.55070e+00_rb,0.47297e+00_rb,0.39753e+00_rb,0.36329e+00_rb, & & 0.39017e+00_rb,0.44183e+00_rb,0.50881e+00_rb,0.57888e+00_rb /) kao(:, 5, 4,14) = (/ & & 0.61748e+00_rb,0.54106e+00_rb,0.46467e+00_rb,0.39213e+00_rb,0.35832e+00_rb, & & 0.38631e+00_rb,0.43926e+00_rb,0.50522e+00_rb,0.57403e+00_rb /) kao(:, 1, 5,14) = (/ & & 0.72260e+00_rb,0.63317e+00_rb,0.54375e+00_rb,0.45913e+00_rb,0.43732e+00_rb, & & 0.46505e+00_rb,0.51783e+00_rb,0.59954e+00_rb,0.68564e+00_rb /) kao(:, 2, 5,14) = (/ & & 0.70858e+00_rb,0.62085e+00_rb,0.53314e+00_rb,0.44897e+00_rb,0.42823e+00_rb, & & 0.45720e+00_rb,0.51115e+00_rb,0.59162e+00_rb,0.67653e+00_rb /) kao(:, 3, 5,14) = (/ & & 0.69539e+00_rb,0.60926e+00_rb,0.52314e+00_rb,0.43994e+00_rb,0.42099e+00_rb, & & 0.45017e+00_rb,0.50656e+00_rb,0.58542e+00_rb,0.66941e+00_rb /) kao(:, 4, 5,14) = (/ & & 0.68235e+00_rb,0.59780e+00_rb,0.51326e+00_rb,0.43281e+00_rb,0.41557e+00_rb, & & 0.44468e+00_rb,0.50258e+00_rb,0.57996e+00_rb,0.66206e+00_rb /) kao(:, 5, 5,14) = (/ & & 0.67018e+00_rb,0.58711e+00_rb,0.50404e+00_rb,0.42628e+00_rb,0.41131e+00_rb, & & 0.43975e+00_rb,0.49863e+00_rb,0.57477e+00_rb,0.65556e+00_rb /) kao(:, 1, 6,14) = (/ & & 0.77964e+00_rb,0.68298e+00_rb,0.58633e+00_rb,0.50766e+00_rb,0.49641e+00_rb, & & 0.52605e+00_rb,0.58161e+00_rb,0.67425e+00_rb,0.77212e+00_rb /) kao(:, 2, 6,14) = (/ & & 0.76589e+00_rb,0.67092e+00_rb,0.57596e+00_rb,0.49531e+00_rb,0.48834e+00_rb, & & 0.51573e+00_rb,0.57361e+00_rb,0.66493e+00_rb,0.76124e+00_rb /) kao(:, 3, 6,14) = (/ & & 0.75251e+00_rb,0.65917e+00_rb,0.56583e+00_rb,0.48459e+00_rb,0.48115e+00_rb, & & 0.50704e+00_rb,0.56757e+00_rb,0.65686e+00_rb,0.75182e+00_rb /) kao(:, 4, 6,14) = (/ & & 0.73905e+00_rb,0.64728e+00_rb,0.55554e+00_rb,0.47565e+00_rb,0.47497e+00_rb, & & 0.50004e+00_rb,0.56191e+00_rb,0.64957e+00_rb,0.74243e+00_rb /) kao(:, 5, 6,14) = (/ & & 0.72636e+00_rb,0.63608e+00_rb,0.54581e+00_rb,0.46758e+00_rb,0.47009e+00_rb, & & 0.49349e+00_rb,0.55635e+00_rb,0.64252e+00_rb,0.73397e+00_rb /) kao(:, 1, 7,14) = (/ & & 0.84113e+00_rb,0.73668e+00_rb,0.63225e+00_rb,0.56459e+00_rb,0.56168e+00_rb, & & 0.58736e+00_rb,0.64476e+00_rb,0.74759e+00_rb,0.85655e+00_rb /) kao(:, 2, 7,14) = (/ & & 0.82630e+00_rb,0.72365e+00_rb,0.62103e+00_rb,0.55091e+00_rb,0.55367e+00_rb, & & 0.57467e+00_rb,0.63457e+00_rb,0.73605e+00_rb,0.84323e+00_rb /) kao(:, 3, 7,14) = (/ & & 0.81279e+00_rb,0.71173e+00_rb,0.61068e+00_rb,0.53944e+00_rb,0.54564e+00_rb, & & 0.56363e+00_rb,0.62610e+00_rb,0.72557e+00_rb,0.83073e+00_rb /) kao(:, 4, 7,14) = (/ & & 0.79922e+00_rb,0.69978e+00_rb,0.60035e+00_rb,0.52974e+00_rb,0.53833e+00_rb, & & 0.55444e+00_rb,0.61857e+00_rb,0.71625e+00_rb,0.81942e+00_rb /) kao(:, 5, 7,14) = (/ & & 0.78598e+00_rb,0.68814e+00_rb,0.59031e+00_rb,0.52130e+00_rb,0.53249e+00_rb, & & 0.54592e+00_rb,0.61225e+00_rb,0.70842e+00_rb,0.80994e+00_rb /) kao(:, 1, 8,14) = (/ & & 0.90865e+00_rb,0.79552e+00_rb,0.68301e+00_rb,0.62894e+00_rb,0.62980e+00_rb, & & 0.64956e+00_rb,0.70917e+00_rb,0.82179e+00_rb,0.94167e+00_rb /) kao(:, 2, 8,14) = (/ & & 0.89327e+00_rb,0.78202e+00_rb,0.67089e+00_rb,0.61713e+00_rb,0.62095e+00_rb, & & 0.63402e+00_rb,0.69617e+00_rb,0.80717e+00_rb,0.92484e+00_rb /) kao(:, 3, 8,14) = (/ & & 0.87903e+00_rb,0.76952e+00_rb,0.66001e+00_rb,0.60628e+00_rb,0.61235e+00_rb, & & 0.62019e+00_rb,0.68531e+00_rb,0.79440e+00_rb,0.90974e+00_rb /) kao(:, 4, 8,14) = (/ & & 0.86460e+00_rb,0.75687e+00_rb,0.64914e+00_rb,0.59649e+00_rb,0.60349e+00_rb, & & 0.60828e+00_rb,0.67580e+00_rb,0.78318e+00_rb,0.89639e+00_rb /) kao(:, 5, 8,14) = (/ & & 0.85091e+00_rb,0.74488e+00_rb,0.63886e+00_rb,0.58665e+00_rb,0.59566e+00_rb, & & 0.59754e+00_rb,0.66827e+00_rb,0.77422e+00_rb,0.88585e+00_rb /) kao(:, 1, 9,14) = (/ & & 0.98149e+00_rb,0.85912e+00_rb,0.74373e+00_rb,0.70295e+00_rb,0.70214e+00_rb, & & 0.71285e+00_rb,0.77237e+00_rb,0.89352e+00_rb,0.10239e+01_rb /) kao(:, 2, 9,14) = (/ & & 0.96640e+00_rb,0.84589e+00_rb,0.73081e+00_rb,0.69152e+00_rb,0.69170e+00_rb, & & 0.69439e+00_rb,0.75605e+00_rb,0.87558e+00_rb,0.10032e+01_rb /) kao(:, 3, 9,14) = (/ & & 0.95188e+00_rb,0.83316e+00_rb,0.71892e+00_rb,0.68080e+00_rb,0.68028e+00_rb, & & 0.67751e+00_rb,0.74271e+00_rb,0.86004e+00_rb,0.98493e+00_rb /) kao(:, 4, 9,14) = (/ & & 0.93737e+00_rb,0.82045e+00_rb,0.70700e+00_rb,0.67076e+00_rb,0.66785e+00_rb, & & 0.66265e+00_rb,0.73184e+00_rb,0.84775e+00_rb,0.97055e+00_rb /) kao(:, 5, 9,14) = (/ & & 0.92346e+00_rb,0.80828e+00_rb,0.69536e+00_rb,0.66047e+00_rb,0.65652e+00_rb, & & 0.65000e+00_rb,0.72388e+00_rb,0.83863e+00_rb,0.95986e+00_rb /) kao(:, 1,10,14) = (/ & & 0.10577e+01_rb,0.92576e+00_rb,0.81364e+00_rb,0.78190e+00_rb,0.77617e+00_rb, & & 0.77603e+00_rb,0.83269e+00_rb,0.96109e+00_rb,0.11008e+01_rb /) kao(:, 2,10,14) = (/ & & 0.10450e+01_rb,0.91463e+00_rb,0.80097e+00_rb,0.77046e+00_rb,0.76182e+00_rb, & & 0.75411e+00_rb,0.81384e+00_rb,0.94032e+00_rb,0.10769e+01_rb /) kao(:, 3,10,14) = (/ & & 0.10312e+01_rb,0.90248e+00_rb,0.78812e+00_rb,0.75969e+00_rb,0.74632e+00_rb, & & 0.73436e+00_rb,0.79822e+00_rb,0.92300e+00_rb,0.10571e+01_rb /) kao(:, 4,10,14) = (/ & & 0.10164e+01_rb,0.88956e+00_rb,0.77444e+00_rb,0.74952e+00_rb,0.73099e+00_rb, & & 0.71729e+00_rb,0.78702e+00_rb,0.91062e+00_rb,0.10426e+01_rb /) kao(:, 5,10,14) = (/ & & 0.10010e+01_rb,0.87610e+00_rb,0.76045e+00_rb,0.73747e+00_rb,0.71669e+00_rb, & & 0.70419e+00_rb,0.77819e+00_rb,0.90060e+00_rb,0.10309e+01_rb /) kao(:, 1,11,14) = (/ & & 0.11332e+01_rb,0.99169e+00_rb,0.88520e+00_rb,0.85938e+00_rb,0.84171e+00_rb, & & 0.82777e+00_rb,0.88045e+00_rb,0.10119e+01_rb,0.11581e+01_rb /) kao(:, 2,11,14) = (/ & & 0.11221e+01_rb,0.98196e+00_rb,0.87210e+00_rb,0.84745e+00_rb,0.82287e+00_rb, & & 0.80383e+00_rb,0.86097e+00_rb,0.99198e+00_rb,0.11355e+01_rb /) kao(:, 3,11,14) = (/ & & 0.11079e+01_rb,0.96953e+00_rb,0.85745e+00_rb,0.83492e+00_rb,0.80465e+00_rb, & & 0.78293e+00_rb,0.84710e+00_rb,0.97731e+00_rb,0.11185e+01_rb /) kao(:, 4,11,14) = (/ & & 0.10888e+01_rb,0.95287e+00_rb,0.84018e+00_rb,0.82112e+00_rb,0.78666e+00_rb, & & 0.76752e+00_rb,0.83583e+00_rb,0.96514e+00_rb,0.11044e+01_rb /) kao(:, 5,11,14) = (/ & & 0.10701e+01_rb,0.93668e+00_rb,0.82311e+00_rb,0.80490e+00_rb,0.77024e+00_rb, & & 0.75616e+00_rb,0.82679e+00_rb,0.95569e+00_rb,0.10935e+01_rb /) kao(:, 1,12,14) = (/ & & 0.12101e+01_rb,0.10589e+01_rb,0.96254e+00_rb,0.93478e+00_rb,0.90424e+00_rb, & & 0.88111e+00_rb,0.92612e+00_rb,0.10566e+01_rb,0.12084e+01_rb /) kao(:, 2,12,14) = (/ & & 0.11952e+01_rb,0.10459e+01_rb,0.94639e+00_rb,0.91979e+00_rb,0.88299e+00_rb, & & 0.85667e+00_rb,0.90737e+00_rb,0.10393e+01_rb,0.11885e+01_rb /) kao(:, 3,12,14) = (/ & & 0.11758e+01_rb,0.10290e+01_rb,0.92827e+00_rb,0.90412e+00_rb,0.86234e+00_rb, & & 0.83719e+00_rb,0.89320e+00_rb,0.10260e+01_rb,0.11732e+01_rb /) kao(:, 4,12,14) = (/ & & 0.11552e+01_rb,0.10111e+01_rb,0.90821e+00_rb,0.88659e+00_rb,0.84346e+00_rb, & & 0.82327e+00_rb,0.88324e+00_rb,0.10165e+01_rb,0.11624e+01_rb /) kao(:, 5,12,14) = (/ & & 0.11370e+01_rb,0.99527e+00_rb,0.88941e+00_rb,0.86803e+00_rb,0.82686e+00_rb, & & 0.81098e+00_rb,0.87502e+00_rb,0.10085e+01_rb,0.11531e+01_rb /) kao(:, 1,13,14) = (/ & & 0.12761e+01_rb,0.11169e+01_rb,0.10366e+01_rb,0.10056e+01_rb,0.96619e+00_rb, & & 0.93741e+00_rb,0.96971e+00_rb,0.10971e+01_rb,0.12455e+01_rb /) kao(:, 2,13,14) = (/ & & 0.12590e+01_rb,0.11018e+01_rb,0.10193e+01_rb,0.98827e+00_rb,0.94401e+00_rb, & & 0.91331e+00_rb,0.95200e+00_rb,0.10824e+01_rb,0.12321e+01_rb /) kao(:, 3,13,14) = (/ & & 0.12382e+01_rb,0.10836e+01_rb,0.99864e+00_rb,0.96922e+00_rb,0.92237e+00_rb, & & 0.89570e+00_rb,0.94013e+00_rb,0.10732e+01_rb,0.12212e+01_rb /) kao(:, 4,13,14) = (/ & & 0.12192e+01_rb,0.10671e+01_rb,0.97718e+00_rb,0.94975e+00_rb,0.90316e+00_rb, & & 0.88110e+00_rb,0.93100e+00_rb,0.10658e+01_rb,0.12124e+01_rb /) kao(:, 5,13,14) = (/ & & 0.12013e+01_rb,0.10515e+01_rb,0.95818e+00_rb,0.93022e+00_rb,0.88690e+00_rb, & & 0.86844e+00_rb,0.92401e+00_rb,0.10605e+01_rb,0.12064e+01_rb /) kao(:, 1, 1,15) = (/ & & 0.70834e+00_rb,0.62203e+00_rb,0.53582e+00_rb,0.44981e+00_rb,0.36430e+00_rb, & & 0.30456e+00_rb,0.33772e+00_rb,0.39113e+00_rb,0.42417e+00_rb /) kao(:, 2, 1,15) = (/ & & 0.69132e+00_rb,0.60682e+00_rb,0.52239e+00_rb,0.43815e+00_rb,0.35442e+00_rb, & & 0.29618e+00_rb,0.32847e+00_rb,0.37897e+00_rb,0.41053e+00_rb /) kao(:, 3, 1,15) = (/ & & 0.67551e+00_rb,0.59273e+00_rb,0.51002e+00_rb,0.42746e+00_rb,0.34540e+00_rb, & & 0.29170e+00_rb,0.32190e+00_rb,0.37054e+00_rb,0.40056e+00_rb /) kao(:, 4, 1,15) = (/ & & 0.65954e+00_rb,0.57855e+00_rb,0.49762e+00_rb,0.41681e+00_rb,0.33774e+00_rb, & & 0.29058e+00_rb,0.31932e+00_rb,0.36553e+00_rb,0.39416e+00_rb /) kao(:, 5, 1,15) = (/ & & 0.64426e+00_rb,0.56502e+00_rb,0.48582e+00_rb,0.40671e+00_rb,0.33237e+00_rb, & & 0.29156e+00_rb,0.32280e+00_rb,0.36526e+00_rb,0.39257e+00_rb /) kao(:, 1, 2,15) = (/ & & 0.79278e+00_rb,0.69566e+00_rb,0.59863e+00_rb,0.50180e+00_rb,0.40547e+00_rb, & & 0.36074e+00_rb,0.40858e+00_rb,0.47363e+00_rb,0.52463e+00_rb /) kao(:, 2, 2,15) = (/ & & 0.77384e+00_rb,0.67879e+00_rb,0.58381e+00_rb,0.48896e+00_rb,0.39453e+00_rb, & & 0.34912e+00_rb,0.39677e+00_rb,0.45884e+00_rb,0.50797e+00_rb /) kao(:, 3, 2,15) = (/ & & 0.75601e+00_rb,0.66296e+00_rb,0.56995e+00_rb,0.47701e+00_rb,0.38437e+00_rb, & & 0.34005e+00_rb,0.38826e+00_rb,0.44800e+00_rb,0.49524e+00_rb /) kao(:, 4, 2,15) = (/ & & 0.73809e+00_rb,0.64708e+00_rb,0.55610e+00_rb,0.46517e+00_rb,0.37616e+00_rb, & & 0.33560e+00_rb,0.38277e+00_rb,0.44095e+00_rb,0.48660e+00_rb /) kao(:, 5, 2,15) = (/ & & 0.72001e+00_rb,0.63111e+00_rb,0.54222e+00_rb,0.45336e+00_rb,0.36992e+00_rb, & & 0.33536e+00_rb,0.38227e+00_rb,0.43734e+00_rb,0.48144e+00_rb /) kao(:, 1, 3,15) = (/ & & 0.88640e+00_rb,0.77731e+00_rb,0.66826e+00_rb,0.55931e+00_rb,0.45077e+00_rb, & & 0.42993e+00_rb,0.49594e+00_rb,0.57510e+00_rb,0.65079e+00_rb /) kao(:, 2, 3,15) = (/ & & 0.86545e+00_rb,0.75870e+00_rb,0.65198e+00_rb,0.54530e+00_rb,0.43919e+00_rb, & & 0.41467e+00_rb,0.48152e+00_rb,0.55764e+00_rb,0.63093e+00_rb /) kao(:, 3, 3,15) = (/ & & 0.84484e+00_rb,0.74046e+00_rb,0.63609e+00_rb,0.53174e+00_rb,0.42841e+00_rb, & & 0.40263e+00_rb,0.47018e+00_rb,0.54358e+00_rb,0.61450e+00_rb /) kao(:, 4, 3,15) = (/ & & 0.82484e+00_rb,0.72279e+00_rb,0.62074e+00_rb,0.51870e+00_rb,0.41933e+00_rb, & & 0.39440e+00_rb,0.46214e+00_rb,0.53355e+00_rb,0.60235e+00_rb /) kao(:, 5, 3,15) = (/ & & 0.80403e+00_rb,0.70444e+00_rb,0.60484e+00_rb,0.50526e+00_rb,0.41249e+00_rb, & & 0.39177e+00_rb,0.45674e+00_rb,0.52614e+00_rb,0.59324e+00_rb /) kao(:, 1, 4,15) = (/ & & 0.98775e+00_rb,0.86568e+00_rb,0.74362e+00_rb,0.62157e+00_rb,0.50893e+00_rb, & & 0.51227e+00_rb,0.60104e+00_rb,0.69710e+00_rb,0.79722e+00_rb /) kao(:, 2, 4,15) = (/ & & 0.96448e+00_rb,0.84510e+00_rb,0.72572e+00_rb,0.60634e+00_rb,0.49496e+00_rb, & & 0.49365e+00_rb,0.58337e+00_rb,0.67615e+00_rb,0.77326e+00_rb /) kao(:, 3, 4,15) = (/ & & 0.94121e+00_rb,0.82456e+00_rb,0.70790e+00_rb,0.59124e+00_rb,0.48214e+00_rb, & & 0.47977e+00_rb,0.56920e+00_rb,0.65880e+00_rb,0.75281e+00_rb /) kao(:, 4, 4,15) = (/ & & 0.91776e+00_rb,0.80389e+00_rb,0.69002e+00_rb,0.57613e+00_rb,0.47050e+00_rb, & & 0.47009e+00_rb,0.55863e+00_rb,0.64595e+00_rb,0.73761e+00_rb /) kao(:, 5, 4,15) = (/ & & 0.89560e+00_rb,0.78437e+00_rb,0.67314e+00_rb,0.56190e+00_rb,0.46260e+00_rb, & & 0.46419e+00_rb,0.55009e+00_rb,0.63560e+00_rb,0.72526e+00_rb /) kao(:, 1, 5,15) = (/ & & 0.10958e+01_rb,0.95999e+00_rb,0.82419e+00_rb,0.68839e+00_rb,0.58904e+00_rb, & & 0.60909e+00_rb,0.72523e+00_rb,0.84139e+00_rb,0.96623e+00_rb /) kao(:, 2, 5,15) = (/ & & 0.10697e+01_rb,0.93701e+00_rb,0.80427e+00_rb,0.67151e+00_rb,0.56892e+00_rb, & & 0.58963e+00_rb,0.70431e+00_rb,0.81667e+00_rb,0.93800e+00_rb /) kao(:, 3, 5,15) = (/ & & 0.10434e+01_rb,0.91377e+00_rb,0.78415e+00_rb,0.65453e+00_rb,0.55082e+00_rb, & & 0.57510e+00_rb,0.68668e+00_rb,0.79542e+00_rb,0.91311e+00_rb /) kao(:, 4, 5,15) = (/ & & 0.10167e+01_rb,0.89033e+00_rb,0.76393e+00_rb,0.63753e+00_rb,0.53477e+00_rb, & & 0.56392e+00_rb,0.67291e+00_rb,0.77892e+00_rb,0.89383e+00_rb /) kao(:, 5, 5,15) = (/ & & 0.99271e+00_rb,0.86922e+00_rb,0.74573e+00_rb,0.62224e+00_rb,0.52129e+00_rb, & & 0.55503e+00_rb,0.66157e+00_rb,0.76538e+00_rb,0.87797e+00_rb /) kao(:, 1, 6,15) = (/ & & 0.12165e+01_rb,0.10653e+01_rb,0.91421e+00_rb,0.76309e+00_rb,0.68684e+00_rb, & & 0.72751e+00_rb,0.87072e+00_rb,0.10104e+01_rb,0.11626e+01_rb /) kao(:, 2, 6,15) = (/ & & 0.11851e+01_rb,0.10377e+01_rb,0.89038e+00_rb,0.74302e+00_rb,0.66078e+00_rb, & & 0.70740e+00_rb,0.84652e+00_rb,0.98180e+00_rb,0.11298e+01_rb /) kao(:, 3, 6,15) = (/ & & 0.11540e+01_rb,0.10104e+01_rb,0.86680e+00_rb,0.72322e+00_rb,0.63673e+00_rb, & & 0.69046e+00_rb,0.82558e+00_rb,0.95705e+00_rb,0.11007e+01_rb /) kao(:, 4, 6,15) = (/ & & 0.11233e+01_rb,0.98347e+00_rb,0.84364e+00_rb,0.70381e+00_rb,0.61623e+00_rb, & & 0.67656e+00_rb,0.80855e+00_rb,0.93682e+00_rb,0.10775e+01_rb /) kao(:, 5, 6,15) = (/ & & 0.10954e+01_rb,0.95895e+00_rb,0.82254e+00_rb,0.68614e+00_rb,0.59850e+00_rb, & & 0.66513e+00_rb,0.79440e+00_rb,0.92006e+00_rb,0.10579e+01_rb /) kao(:, 1, 7,15) = (/ & & 0.13516e+01_rb,0.11834e+01_rb,0.10152e+01_rb,0.84752e+00_rb,0.80189e+00_rb, & & 0.86751e+00_rb,0.10388e+01_rb,0.12059e+01_rb,0.13885e+01_rb /) kao(:, 2, 7,15) = (/ & & 0.13129e+01_rb,0.11495e+01_rb,0.98601e+00_rb,0.82254e+00_rb,0.76801e+00_rb, & & 0.84476e+00_rb,0.10112e+01_rb,0.11733e+01_rb,0.13510e+01_rb /) kao(:, 3, 7,15) = (/ & & 0.12754e+01_rb,0.11166e+01_rb,0.95771e+00_rb,0.79885e+00_rb,0.73832e+00_rb, & & 0.82499e+00_rb,0.98705e+00_rb,0.11448e+01_rb,0.13179e+01_rb /) kao(:, 4, 7,15) = (/ & & 0.12391e+01_rb,0.10847e+01_rb,0.93032e+00_rb,0.77593e+00_rb,0.71267e+00_rb, & & 0.80837e+00_rb,0.96685e+00_rb,0.11210e+01_rb,0.12906e+01_rb /) kao(:, 5, 7,15) = (/ & & 0.12065e+01_rb,0.10561e+01_rb,0.90576e+00_rb,0.75539e+00_rb,0.69035e+00_rb, & & 0.79409e+00_rb,0.94938e+00_rb,0.11005e+01_rb,0.12668e+01_rb /) kao(:, 1, 8,15) = (/ & & 0.14988e+01_rb,0.13122e+01_rb,0.11257e+01_rb,0.95045e+00_rb,0.92736e+00_rb, & & 0.10268e+01_rb,0.12293e+01_rb,0.14274e+01_rb,0.16436e+01_rb /) kao(:, 2, 8,15) = (/ & & 0.14532e+01_rb,0.12722e+01_rb,0.10913e+01_rb,0.91652e+00_rb,0.88763e+00_rb, & & 0.10018e+01_rb,0.11994e+01_rb,0.13921e+01_rb,0.16030e+01_rb /) kao(:, 3, 8,15) = (/ & & 0.14089e+01_rb,0.12334e+01_rb,0.10579e+01_rb,0.88636e+00_rb,0.85277e+00_rb, & & 0.97910e+00_rb,0.11719e+01_rb,0.13598e+01_rb,0.15656e+01_rb /) kao(:, 4, 8,15) = (/ & & 0.13671e+01_rb,0.11967e+01_rb,0.10263e+01_rb,0.85849e+00_rb,0.82373e+00_rb, & & 0.95955e+00_rb,0.11482e+01_rb,0.13320e+01_rb,0.15338e+01_rb /) kao(:, 5, 8,15) = (/ & & 0.13292e+01_rb,0.11635e+01_rb,0.99774e+00_rb,0.83411e+00_rb,0.79958e+00_rb, & & 0.94221e+00_rb,0.11271e+01_rb,0.13073e+01_rb,0.15052e+01_rb /) kao(:, 1, 9,15) = (/ & & 0.16562e+01_rb,0.14500e+01_rb,0.12437e+01_rb,0.10742e+01_rb,0.10651e+01_rb, & & 0.12070e+01_rb,0.14445e+01_rb,0.16775e+01_rb,0.19311e+01_rb /) kao(:, 2, 9,15) = (/ & & 0.16034e+01_rb,0.14036e+01_rb,0.12039e+01_rb,0.10312e+01_rb,0.10206e+01_rb, & & 0.11791e+01_rb,0.14116e+01_rb,0.16391e+01_rb,0.18869e+01_rb /) kao(:, 3, 9,15) = (/ & & 0.15525e+01_rb,0.13590e+01_rb,0.11655e+01_rb,0.99233e+00_rb,0.98476e+00_rb, & & 0.11530e+01_rb,0.13804e+01_rb,0.16026e+01_rb,0.18449e+01_rb /) kao(:, 4, 9,15) = (/ & & 0.15047e+01_rb,0.13171e+01_rb,0.11295e+01_rb,0.95737e+00_rb,0.95592e+00_rb, & & 0.11301e+01_rb,0.13529e+01_rb,0.15703e+01_rb,0.18077e+01_rb /) kao(:, 5, 9,15) = (/ & & 0.14611e+01_rb,0.12789e+01_rb,0.10967e+01_rb,0.92635e+00_rb,0.93256e+00_rb, & & 0.11088e+01_rb,0.13272e+01_rb,0.15403e+01_rb,0.17730e+01_rb /) kao(:, 1,10,15) = (/ & & 0.18225e+01_rb,0.15953e+01_rb,0.13682e+01_rb,0.12131e+01_rb,0.12195e+01_rb, & & 0.14041e+01_rb,0.16789e+01_rb,0.19504e+01_rb,0.22442e+01_rb /) kao(:, 2,10,15) = (/ & & 0.17586e+01_rb,0.15393e+01_rb,0.13201e+01_rb,0.11608e+01_rb,0.11760e+01_rb, & & 0.13729e+01_rb,0.16424e+01_rb,0.19078e+01_rb,0.21951e+01_rb /) kao(:, 3,10,15) = (/ & & 0.16992e+01_rb,0.14873e+01_rb,0.12754e+01_rb,0.11134e+01_rb,0.11408e+01_rb, & & 0.13430e+01_rb,0.16073e+01_rb,0.18666e+01_rb,0.21480e+01_rb /) kao(:, 4,10,15) = (/ & & 0.16453e+01_rb,0.14401e+01_rb,0.12349e+01_rb,0.10705e+01_rb,0.11101e+01_rb, & & 0.13157e+01_rb,0.15751e+01_rb,0.18293e+01_rb,0.21045e+01_rb /) kao(:, 5,10,15) = (/ & & 0.15976e+01_rb,0.13983e+01_rb,0.11990e+01_rb,0.10350e+01_rb,0.10845e+01_rb, & & 0.12900e+01_rb,0.15444e+01_rb,0.17936e+01_rb,0.20634e+01_rb /) kao(:, 1,11,15) = (/ & & 0.19716e+01_rb,0.17256e+01_rb,0.14797e+01_rb,0.13408e+01_rb,0.13798e+01_rb, & & 0.16011e+01_rb,0.19108e+01_rb,0.22209e+01_rb,0.25534e+01_rb /) kao(:, 2,11,15) = (/ & & 0.18980e+01_rb,0.16613e+01_rb,0.14245e+01_rb,0.12841e+01_rb,0.13393e+01_rb, & & 0.15661e+01_rb,0.18703e+01_rb,0.21736e+01_rb,0.24991e+01_rb /) kao(:, 3,11,15) = (/ & & 0.18334e+01_rb,0.16046e+01_rb,0.13758e+01_rb,0.12346e+01_rb,0.13019e+01_rb, & & 0.15332e+01_rb,0.18320e+01_rb,0.21288e+01_rb,0.24477e+01_rb /) kao(:, 4,11,15) = (/ & & 0.17833e+01_rb,0.15608e+01_rb,0.13382e+01_rb,0.11928e+01_rb,0.12697e+01_rb, & & 0.15019e+01_rb,0.17959e+01_rb,0.20867e+01_rb,0.23990e+01_rb /) kao(:, 5,11,15) = (/ & & 0.17385e+01_rb,0.15215e+01_rb,0.13045e+01_rb,0.11584e+01_rb,0.12412e+01_rb, & & 0.14723e+01_rb,0.17610e+01_rb,0.20462e+01_rb,0.23526e+01_rb /) kao(:, 1,12,15) = (/ & & 0.21322e+01_rb,0.18661e+01_rb,0.16009e+01_rb,0.14913e+01_rb,0.15626e+01_rb, & & 0.18065e+01_rb,0.21498e+01_rb,0.24997e+01_rb,0.28719e+01_rb /) kao(:, 2,12,15) = (/ & & 0.20605e+01_rb,0.18033e+01_rb,0.15462e+01_rb,0.14346e+01_rb,0.15183e+01_rb, & & 0.17679e+01_rb,0.21055e+01_rb,0.24481e+01_rb,0.28126e+01_rb /) kao(:, 3,12,15) = (/ & & 0.20007e+01_rb,0.17509e+01_rb,0.15011e+01_rb,0.13841e+01_rb,0.14777e+01_rb, & & 0.17312e+01_rb,0.20634e+01_rb,0.23990e+01_rb,0.27564e+01_rb /) kao(:, 4,12,15) = (/ & & 0.19501e+01_rb,0.17066e+01_rb,0.14631e+01_rb,0.13415e+01_rb,0.14420e+01_rb, & & 0.16956e+01_rb,0.20218e+01_rb,0.23506e+01_rb,0.27007e+01_rb /) kao(:, 5,12,15) = (/ & & 0.19023e+01_rb,0.16648e+01_rb,0.14272e+01_rb,0.13048e+01_rb,0.14093e+01_rb, & & 0.16619e+01_rb,0.19834e+01_rb,0.23060e+01_rb,0.26492e+01_rb /) kao(:, 1,13,15) = (/ & & 0.23283e+01_rb,0.20376e+01_rb,0.17570e+01_rb,0.16678e+01_rb,0.17574e+01_rb, & & 0.20182e+01_rb,0.23943e+01_rb,0.27850e+01_rb,0.31979e+01_rb /) kao(:, 2,13,15) = (/ & & 0.22552e+01_rb,0.19735e+01_rb,0.16974e+01_rb,0.16068e+01_rb,0.17079e+01_rb, & & 0.19757e+01_rb,0.23460e+01_rb,0.27289e+01_rb,0.31334e+01_rb /) kao(:, 3,13,15) = (/ & & 0.21945e+01_rb,0.19204e+01_rb,0.16488e+01_rb,0.15544e+01_rb,0.16639e+01_rb, & & 0.19336e+01_rb,0.22972e+01_rb,0.26723e+01_rb,0.30681e+01_rb /) kao(:, 4,13,15) = (/ & & 0.21377e+01_rb,0.18706e+01_rb,0.16045e+01_rb,0.15082e+01_rb,0.16235e+01_rb, & & 0.18922e+01_rb,0.22504e+01_rb,0.26179e+01_rb,0.30055e+01_rb /) kao(:, 5,13,15) = (/ & & 0.20822e+01_rb,0.18221e+01_rb,0.15623e+01_rb,0.14670e+01_rb,0.15845e+01_rb, & & 0.18531e+01_rb,0.22061e+01_rb,0.25663e+01_rb,0.29464e+01_rb /) kao(:, 1, 1,16) = (/ & & 0.84891e+00_rb,0.74682e+00_rb,0.64540e+00_rb,0.54510e+00_rb,0.44671e+00_rb, & & 0.34895e+00_rb,0.38105e+00_rb,0.44177e+00_rb,0.47725e+00_rb /) kao(:, 2, 1,16) = (/ & & 0.82292e+00_rb,0.72425e+00_rb,0.62615e+00_rb,0.52904e+00_rb,0.43334e+00_rb, & & 0.33791e+00_rb,0.37758e+00_rb,0.43769e+00_rb,0.47292e+00_rb /) kao(:, 3, 1,16) = (/ & & 0.79766e+00_rb,0.70221e+00_rb,0.60725e+00_rb,0.51315e+00_rb,0.42001e+00_rb, & & 0.32708e+00_rb,0.37351e+00_rb,0.43297e+00_rb,0.46789e+00_rb /) kao(:, 4, 1,16) = (/ & & 0.77341e+00_rb,0.68098e+00_rb,0.58899e+00_rb,0.49774e+00_rb,0.40711e+00_rb, & & 0.31834e+00_rb,0.36899e+00_rb,0.42775e+00_rb,0.46227e+00_rb /) kao(:, 5, 1,16) = (/ & & 0.74989e+00_rb,0.66035e+00_rb,0.57119e+00_rb,0.48264e+00_rb,0.39437e+00_rb, & & 0.32430e+00_rb,0.36416e+00_rb,0.42216e+00_rb,0.45636e+00_rb /) kao(:, 1, 2,16) = (/ & & 0.98489e+00_rb,0.86457e+00_rb,0.74461e+00_rb,0.62525e+00_rb,0.50699e+00_rb, & & 0.39502e+00_rb,0.46270e+00_rb,0.53626e+00_rb,0.59246e+00_rb /) kao(:, 2, 2,16) = (/ & & 0.95110e+00_rb,0.83523e+00_rb,0.71967e+00_rb,0.60464e+00_rb,0.49055e+00_rb, & & 0.38714e+00_rb,0.45775e+00_rb,0.53066e+00_rb,0.58669e+00_rb /) kao(:, 3, 2,16) = (/ & & 0.91868e+00_rb,0.80699e+00_rb,0.69557e+00_rb,0.58461e+00_rb,0.47447e+00_rb, & & 0.38030e+00_rb,0.45287e+00_rb,0.52498e+00_rb,0.58057e+00_rb /) kao(:, 4, 2,16) = (/ & & 0.88783e+00_rb,0.78006e+00_rb,0.67253e+00_rb,0.56540e+00_rb,0.45894e+00_rb, & & 0.37426e+00_rb,0.44739e+00_rb,0.51869e+00_rb,0.57355e+00_rb /) kao(:, 5, 2,16) = (/ & & 0.85824e+00_rb,0.75420e+00_rb,0.65037e+00_rb,0.54691e+00_rb,0.44407e+00_rb, & & 0.37572e+00_rb,0.44151e+00_rb,0.51192e+00_rb,0.56619e+00_rb /) kao(:, 1, 3,16) = (/ & & 0.11382e+01_rb,0.99791e+00_rb,0.85785e+00_rb,0.71816e+00_rb,0.57913e+00_rb, & & 0.47378e+00_rb,0.56732e+00_rb,0.65745e+00_rb,0.74321e+00_rb /) kao(:, 2, 3,16) = (/ & & 0.10944e+01_rb,0.95984e+00_rb,0.82550e+00_rb,0.69149e+00_rb,0.55807e+00_rb, & & 0.46534e+00_rb,0.55716e+00_rb,0.64588e+00_rb,0.73020e+00_rb /) kao(:, 3, 3,16) = (/ & & 0.10534e+01_rb,0.92416e+00_rb,0.79509e+00_rb,0.66633e+00_rb,0.53808e+00_rb, & & 0.45863e+00_rb,0.54915e+00_rb,0.63663e+00_rb,0.71995e+00_rb /) kao(:, 4, 3,16) = (/ & & 0.10141e+01_rb,0.88986e+00_rb,0.76582e+00_rb,0.64206e+00_rb,0.51870e+00_rb, & & 0.45265e+00_rb,0.54212e+00_rb,0.62853e+00_rb,0.71089e+00_rb /) kao(:, 5, 3,16) = (/ & & 0.97757e+00_rb,0.85802e+00_rb,0.73862e+00_rb,0.61943e+00_rb,0.50068e+00_rb, & & 0.44732e+00_rb,0.53486e+00_rb,0.62017e+00_rb,0.70154e+00_rb /) kao(:, 1, 4,16) = (/ & & 0.13027e+01_rb,0.11412e+01_rb,0.97988e+00_rb,0.81881e+00_rb,0.65819e+00_rb, & & 0.58495e+00_rb,0.70040e+00_rb,0.81176e+00_rb,0.92845e+00_rb /) kao(:, 2, 4,16) = (/ & & 0.12473e+01_rb,0.10931e+01_rb,0.93894e+00_rb,0.78506e+00_rb,0.63160e+00_rb, & & 0.57073e+00_rb,0.68340e+00_rb,0.79216e+00_rb,0.90610e+00_rb /) kao(:, 3, 4,16) = (/ & & 0.11956e+01_rb,0.10481e+01_rb,0.90063e+00_rb,0.75344e+00_rb,0.60663e+00_rb, & & 0.55958e+00_rb,0.67003e+00_rb,0.77669e+00_rb,0.88836e+00_rb /) kao(:, 4, 4,16) = (/ & & 0.11480e+01_rb,0.10066e+01_rb,0.86532e+00_rb,0.72426e+00_rb,0.58351e+00_rb, & & 0.54965e+00_rb,0.65819e+00_rb,0.76307e+00_rb,0.87291e+00_rb /) kao(:, 5, 4,16) = (/ & & 0.11042e+01_rb,0.96837e+00_rb,0.83267e+00_rb,0.69709e+00_rb,0.56180e+00_rb, & & 0.54039e+00_rb,0.64710e+00_rb,0.75045e+00_rb,0.85825e+00_rb /) kao(:, 1, 5,16) = (/ & & 0.14755e+01_rb,0.12919e+01_rb,0.11084e+01_rb,0.92503e+00_rb,0.74199e+00_rb, & & 0.72656e+00_rb,0.86992e+00_rb,0.10084e+01_rb,0.11593e+01_rb /) kao(:, 2, 5,16) = (/ & & 0.14077e+01_rb,0.12330e+01_rb,0.10584e+01_rb,0.88396e+00_rb,0.70985e+00_rb, & & 0.70337e+00_rb,0.84221e+00_rb,0.97628e+00_rb,0.11223e+01_rb /) kao(:, 3, 5,16) = (/ & & 0.13473e+01_rb,0.11805e+01_rb,0.10138e+01_rb,0.84723e+00_rb,0.68084e+00_rb, & & 0.68573e+00_rb,0.82117e+00_rb,0.95190e+00_rb,0.10943e+01_rb /) kao(:, 4, 5,16) = (/ & & 0.12931e+01_rb,0.11332e+01_rb,0.97336e+00_rb,0.81358e+00_rb,0.65399e+00_rb, & & 0.67083e+00_rb,0.80321e+00_rb,0.93120e+00_rb,0.10704e+01_rb /) kao(:, 5, 5,16) = (/ & & 0.12425e+01_rb,0.10889e+01_rb,0.93535e+00_rb,0.78185e+00_rb,0.62849e+00_rb, & & 0.65706e+00_rb,0.78689e+00_rb,0.91252e+00_rb,0.10486e+01_rb /) kao(:, 1, 6,16) = (/ & & 0.16632e+01_rb,0.14561e+01_rb,0.12491e+01_rb,0.10422e+01_rb,0.83545e+00_rb, & & 0.90592e+00_rb,0.10850e+01_rb,0.12579e+01_rb,0.14491e+01_rb /) kao(:, 2, 6,16) = (/ & & 0.15885e+01_rb,0.13911e+01_rb,0.11938e+01_rb,0.99649e+00_rb,0.79932e+00_rb, & & 0.87105e+00_rb,0.10430e+01_rb,0.12092e+01_rb,0.13933e+01_rb /) kao(:, 3, 6,16) = (/ & & 0.15219e+01_rb,0.13330e+01_rb,0.11441e+01_rb,0.95525e+00_rb,0.76651e+00_rb, & & 0.84460e+00_rb,0.10114e+01_rb,0.11726e+01_rb,0.13510e+01_rb /) kao(:, 4, 6,16) = (/ & & 0.14602e+01_rb,0.12790e+01_rb,0.10978e+01_rb,0.91668e+00_rb,0.73549e+00_rb, & & 0.82233e+00_rb,0.98468e+00_rb,0.11417e+01_rb,0.13152e+01_rb /) kao(:, 5, 6,16) = (/ & & 0.14027e+01_rb,0.12286e+01_rb,0.10546e+01_rb,0.88053e+00_rb,0.70846e+00_rb, & & 0.80220e+00_rb,0.96072e+00_rb,0.11140e+01_rb,0.12832e+01_rb /) kao(:, 1, 7,16) = (/ & & 0.18802e+01_rb,0.16460e+01_rb,0.14119e+01_rb,0.11779e+01_rb,0.95036e+00_rb, & & 0.11297e+01_rb,0.13528e+01_rb,0.15688e+01_rb,0.18094e+01_rb /) kao(:, 2, 7,16) = (/ & & 0.17989e+01_rb,0.15751e+01_rb,0.13512e+01_rb,0.11274e+01_rb,0.91055e+00_rb, & & 0.10797e+01_rb,0.12930e+01_rb,0.14993e+01_rb,0.17294e+01_rb /) kao(:, 3, 7,16) = (/ & & 0.17245e+01_rb,0.15100e+01_rb,0.12954e+01_rb,0.10809e+01_rb,0.87508e+00_rb, & & 0.10422e+01_rb,0.12481e+01_rb,0.14473e+01_rb,0.16693e+01_rb /) kao(:, 4, 7,16) = (/ & & 0.16543e+01_rb,0.14485e+01_rb,0.12427e+01_rb,0.10370e+01_rb,0.84724e+00_rb, & & 0.10105e+01_rb,0.12102e+01_rb,0.14035e+01_rb,0.16185e+01_rb /) kao(:, 5, 7,16) = (/ & & 0.15884e+01_rb,0.13908e+01_rb,0.11932e+01_rb,0.99569e+00_rb,0.82331e+00_rb, & & 0.98227e+00_rb,0.11764e+01_rb,0.13643e+01_rb,0.15734e+01_rb /) kao(:, 1, 8,16) = (/ & & 0.21327e+01_rb,0.18670e+01_rb,0.16012e+01_rb,0.13355e+01_rb,0.11430e+01_rb, & & 0.14062e+01_rb,0.16843e+01_rb,0.19535e+01_rb,0.22540e+01_rb /) kao(:, 2, 8,16) = (/ & & 0.20434e+01_rb,0.17888e+01_rb,0.15342e+01_rb,0.12796e+01_rb,0.10891e+01_rb, & & 0.13377e+01_rb,0.16020e+01_rb,0.18582e+01_rb,0.21442e+01_rb /) kao(:, 3, 8,16) = (/ & & 0.19592e+01_rb,0.17151e+01_rb,0.14711e+01_rb,0.12270e+01_rb,0.10443e+01_rb, & & 0.12854e+01_rb,0.15395e+01_rb,0.17855e+01_rb,0.20605e+01_rb /) kao(:, 4, 8,16) = (/ & & 0.18795e+01_rb,0.16454e+01_rb,0.14112e+01_rb,0.11771e+01_rb,0.10093e+01_rb, & & 0.12418e+01_rb,0.14873e+01_rb,0.17251e+01_rb,0.19905e+01_rb /) kao(:, 5, 8,16) = (/ & & 0.18040e+01_rb,0.15793e+01_rb,0.13546e+01_rb,0.11298e+01_rb,0.97893e+00_rb, & & 0.12029e+01_rb,0.14409e+01_rb,0.16715e+01_rb,0.19284e+01_rb /) kao(:, 1, 9,16) = (/ & & 0.24263e+01_rb,0.21237e+01_rb,0.18212e+01_rb,0.15186e+01_rb,0.14038e+01_rb, & & 0.17468e+01_rb,0.20923e+01_rb,0.24275e+01_rb,0.28010e+01_rb /) kao(:, 2, 9,16) = (/ & & 0.23266e+01_rb,0.20365e+01_rb,0.17464e+01_rb,0.14563e+01_rb,0.13334e+01_rb, & & 0.16567e+01_rb,0.19843e+01_rb,0.23023e+01_rb,0.26565e+01_rb /) kao(:, 3, 9,16) = (/ & & 0.22311e+01_rb,0.19529e+01_rb,0.16747e+01_rb,0.13965e+01_rb,0.12741e+01_rb, & & 0.15855e+01_rb,0.18989e+01_rb,0.22031e+01_rb,0.25421e+01_rb /) kao(:, 4, 9,16) = (/ & & 0.21400e+01_rb,0.18731e+01_rb,0.16063e+01_rb,0.13394e+01_rb,0.12261e+01_rb, & & 0.15261e+01_rb,0.18280e+01_rb,0.21210e+01_rb,0.24473e+01_rb /) kao(:, 5, 9,16) = (/ & & 0.20537e+01_rb,0.17976e+01_rb,0.15415e+01_rb,0.12854e+01_rb,0.11844e+01_rb, & & 0.14739e+01_rb,0.17653e+01_rb,0.20482e+01_rb,0.23631e+01_rb /) kao(:, 1,10,16) = (/ & & 0.27556e+01_rb,0.24117e+01_rb,0.20679e+01_rb,0.17241e+01_rb,0.17250e+01_rb, & & 0.21531e+01_rb,0.25793e+01_rb,0.29930e+01_rb,0.34529e+01_rb /) kao(:, 2,10,16) = (/ & & 0.26436e+01_rb,0.23137e+01_rb,0.19838e+01_rb,0.16540e+01_rb,0.16343e+01_rb, & & 0.20375e+01_rb,0.24406e+01_rb,0.28326e+01_rb,0.32672e+01_rb /) kao(:, 3,10,16) = (/ & & 0.25350e+01_rb,0.22187e+01_rb,0.19024e+01_rb,0.15861e+01_rb,0.15582e+01_rb, & & 0.19443e+01_rb,0.23290e+01_rb,0.27026e+01_rb,0.31178e+01_rb /) kao(:, 4,10,16) = (/ & & 0.24300e+01_rb,0.21267e+01_rb,0.18235e+01_rb,0.15203e+01_rb,0.14955e+01_rb, & & 0.18662e+01_rb,0.22353e+01_rb,0.25942e+01_rb,0.29924e+01_rb /) kao(:, 5,10,16) = (/ & & 0.23355e+01_rb,0.20440e+01_rb,0.17526e+01_rb,0.14611e+01_rb,0.14399e+01_rb, & & 0.17966e+01_rb,0.21521e+01_rb,0.24975e+01_rb,0.28809e+01_rb /) kao(:, 1,11,16) = (/ & & 0.30736e+01_rb,0.26899e+01_rb,0.23062e+01_rb,0.19287e+01_rb,0.20594e+01_rb, & & 0.25707e+01_rb,0.30796e+01_rb,0.35755e+01_rb,0.41218e+01_rb /) kao(:, 2,11,16) = (/ & & 0.29458e+01_rb,0.25780e+01_rb,0.22102e+01_rb,0.18490e+01_rb,0.19506e+01_rb, & & 0.24353e+01_rb,0.29176e+01_rb,0.33867e+01_rb,0.39048e+01_rb /) kao(:, 3,11,16) = (/ & & 0.28287e+01_rb,0.24755e+01_rb,0.21223e+01_rb,0.17723e+01_rb,0.18621e+01_rb, & & 0.23252e+01_rb,0.27855e+01_rb,0.32334e+01_rb,0.37281e+01_rb /) kao(:, 4,11,16) = (/ & & 0.27181e+01_rb,0.23787e+01_rb,0.20393e+01_rb,0.17010e+01_rb,0.17848e+01_rb, & & 0.22284e+01_rb,0.26698e+01_rb,0.30991e+01_rb,0.35730e+01_rb /) kao(:, 5,11,16) = (/ & & 0.26214e+01_rb,0.22941e+01_rb,0.19667e+01_rb,0.16394e+01_rb,0.17149e+01_rb, & & 0.21409e+01_rb,0.25649e+01_rb,0.29778e+01_rb,0.34326e+01_rb /) kao(:, 1,12,16) = (/ & & 0.34457e+01_rb,0.30154e+01_rb,0.25850e+01_rb,0.22002e+01_rb,0.24421e+01_rb, & & 0.30491e+01_rb,0.36532e+01_rb,0.42422e+01_rb,0.48881e+01_rb /) kao(:, 2,12,16) = (/ & & 0.33132e+01_rb,0.28993e+01_rb,0.24855e+01_rb,0.21037e+01_rb,0.23175e+01_rb, & & 0.28938e+01_rb,0.34673e+01_rb,0.40262e+01_rb,0.46397e+01_rb /) kao(:, 3,12,16) = (/ & & 0.31843e+01_rb,0.27866e+01_rb,0.23888e+01_rb,0.20132e+01_rb,0.22107e+01_rb, & & 0.27603e+01_rb,0.33070e+01_rb,0.38403e+01_rb,0.44248e+01_rb /) kao(:, 4,12,16) = (/ & & 0.30610e+01_rb,0.26787e+01_rb,0.22963e+01_rb,0.19289e+01_rb,0.21145e+01_rb, & & 0.26402e+01_rb,0.31632e+01_rb,0.36735e+01_rb,0.42326e+01_rb /) kao(:, 5,12,16) = (/ & & 0.29533e+01_rb,0.25844e+01_rb,0.22155e+01_rb,0.18569e+01_rb,0.20264e+01_rb, & & 0.25300e+01_rb,0.30314e+01_rb,0.35205e+01_rb,0.40560e+01_rb /) kao(:, 1,13,16) = (/ & & 0.38898e+01_rb,0.34039e+01_rb,0.29179e+01_rb,0.25320e+01_rb,0.28809e+01_rb, & & 0.35965e+01_rb,0.43091e+01_rb,0.50055e+01_rb,0.57650e+01_rb /) kao(:, 2,13,16) = (/ & & 0.37371e+01_rb,0.32702e+01_rb,0.28033e+01_rb,0.24146e+01_rb,0.27330e+01_rb, & & 0.34120e+01_rb,0.40886e+01_rb,0.47494e+01_rb,0.54692e+01_rb /) kao(:, 3,13,16) = (/ & & 0.35846e+01_rb,0.31367e+01_rb,0.26889e+01_rb,0.23047e+01_rb,0.26019e+01_rb, & & 0.32482e+01_rb,0.38921e+01_rb,0.45212e+01_rb,0.52066e+01_rb /) kao(:, 4,13,16) = (/ & & 0.34450e+01_rb,0.30146e+01_rb,0.25842e+01_rb,0.22048e+01_rb,0.24829e+01_rb, & & 0.31006e+01_rb,0.37153e+01_rb,0.43162e+01_rb,0.49694e+01_rb /) kao(:, 5,13,16) = (/ & & 0.33226e+01_rb,0.29075e+01_rb,0.24923e+01_rb,0.21144e+01_rb,0.23741e+01_rb, & & 0.29651e+01_rb,0.35532e+01_rb,0.41282e+01_rb,0.47532e+01_rb /) ! ----------------------------------------------------------------- ! The array KBO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels < ~100mb and temperatures. The first ! index in the array, JT, which runs from 1 to 5, corresponds to ! different temperatures. More specifically, JT = 3 means that the ! data are for the reference temperature TREF for this pressure ! level, JT = 2 refers to the temperature TREF-15, JT = 1 is for ! TREF-30, JT = 4 is for TREF+15, and JT = 5 is for TREF+30. ! The second index, JP, runs from 13 to 59 and refers to the JPth ! reference pressure level (see taumol.f for the value of these ! pressure levels in mb). The third index, IG, goes from 1 to 16, ! and tells us which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kbo(:,13, 1) = (/ & & 0.78344e-03_rb,0.81478e-03_rb,0.83713e-03_rb,0.85265e-03_rb,0.85991e-03_rb /) kbo(:,14, 1) = (/ & & 0.65374e-03_rb,0.67963e-03_rb,0.69840e-03_rb,0.71131e-03_rb,0.71719e-03_rb /) kbo(:,15, 1) = (/ & & 0.55587e-03_rb,0.57751e-03_rb,0.59343e-03_rb,0.60410e-03_rb,0.60993e-03_rb /) kbo(:,16, 1) = (/ & & 0.48145e-03_rb,0.49780e-03_rb,0.51251e-03_rb,0.52093e-03_rb,0.52706e-03_rb /) kbo(:,17, 1) = (/ & & 0.42610e-03_rb,0.43577e-03_rb,0.44892e-03_rb,0.45812e-03_rb,0.46352e-03_rb /) kbo(:,18, 1) = (/ & & 0.38503e-03_rb,0.38849e-03_rb,0.40094e-03_rb,0.41067e-03_rb,0.41529e-03_rb /) kbo(:,19, 1) = (/ & & 0.35025e-03_rb,0.34902e-03_rb,0.35803e-03_rb,0.36759e-03_rb,0.37429e-03_rb /) kbo(:,20, 1) = (/ & & 0.30557e-03_rb,0.30381e-03_rb,0.30983e-03_rb,0.31782e-03_rb,0.32429e-03_rb /) kbo(:,21, 1) = (/ & & 0.26346e-03_rb,0.26127e-03_rb,0.26616e-03_rb,0.27270e-03_rb,0.27830e-03_rb /) kbo(:,22, 1) = (/ & & 0.22630e-03_rb,0.22463e-03_rb,0.22867e-03_rb,0.23419e-03_rb,0.23829e-03_rb /) kbo(:,23, 1) = (/ & & 0.19498e-03_rb,0.19376e-03_rb,0.19644e-03_rb,0.20096e-03_rb,0.20404e-03_rb /) kbo(:,24, 1) = (/ & & 0.16839e-03_rb,0.16687e-03_rb,0.16820e-03_rb,0.17215e-03_rb,0.17490e-03_rb /) kbo(:,25, 1) = (/ & & 0.14494e-03_rb,0.14347e-03_rb,0.14334e-03_rb,0.14728e-03_rb,0.14954e-03_rb /) kbo(:,26, 1) = (/ & & 0.12363e-03_rb,0.12241e-03_rb,0.12233e-03_rb,0.12518e-03_rb,0.12767e-03_rb /) kbo(:,27, 1) = (/ & & 0.10560e-03_rb,0.10482e-03_rb,0.10446e-03_rb,0.10681e-03_rb,0.10897e-03_rb /) kbo(:,28, 1) = (/ & & 0.90453e-04_rb,0.89921e-04_rb,0.89199e-04_rb,0.91278e-04_rb,0.93235e-04_rb /) kbo(:,29, 1) = (/ & & 0.77854e-04_rb,0.77467e-04_rb,0.76947e-04_rb,0.77977e-04_rb,0.79713e-04_rb /) kbo(:,30, 1) = (/ & & 0.67346e-04_rb,0.67074e-04_rb,0.66981e-04_rb,0.67340e-04_rb,0.68453e-04_rb /) kbo(:,31, 1) = (/ & & 0.58739e-04_rb,0.58583e-04_rb,0.58517e-04_rb,0.58421e-04_rb,0.59277e-04_rb /) kbo(:,32, 1) = (/ & & 0.51671e-04_rb,0.51476e-04_rb,0.51254e-04_rb,0.51199e-04_rb,0.51510e-04_rb /) kbo(:,33, 1) = (/ & & 0.45523e-04_rb,0.45406e-04_rb,0.45028e-04_rb,0.44849e-04_rb,0.44977e-04_rb /) kbo(:,34, 1) = (/ & & 0.40256e-04_rb,0.40062e-04_rb,0.39751e-04_rb,0.39416e-04_rb,0.39181e-04_rb /) kbo(:,35, 1) = (/ & & 0.35762e-04_rb,0.35429e-04_rb,0.35245e-04_rb,0.34916e-04_rb,0.34484e-04_rb /) kbo(:,36, 1) = (/ & & 0.31776e-04_rb,0.31666e-04_rb,0.31200e-04_rb,0.31013e-04_rb,0.30768e-04_rb /) kbo(:,37, 1) = (/ & & 0.26934e-04_rb,0.26971e-04_rb,0.26615e-04_rb,0.26355e-04_rb,0.26214e-04_rb /) kbo(:,38, 1) = (/ & & 0.22652e-04_rb,0.22874e-04_rb,0.22686e-04_rb,0.22466e-04_rb,0.22266e-04_rb /) kbo(:,39, 1) = (/ & & 0.18970e-04_rb,0.19273e-04_rb,0.19385e-04_rb,0.19198e-04_rb,0.19016e-04_rb /) kbo(:,40, 1) = (/ & & 0.15533e-04_rb,0.15831e-04_rb,0.15964e-04_rb,0.15836e-04_rb,0.15700e-04_rb /) kbo(:,41, 1) = (/ & & 0.12668e-04_rb,0.12826e-04_rb,0.12999e-04_rb,0.13018e-04_rb,0.12872e-04_rb /) kbo(:,42, 1) = (/ & & 0.10356e-04_rb,0.10475e-04_rb,0.10620e-04_rb,0.10666e-04_rb,0.10580e-04_rb /) kbo(:,43, 1) = (/ & & 0.83551e-05_rb,0.84490e-05_rb,0.85217e-05_rb,0.86140e-05_rb,0.86044e-05_rb /) kbo(:,44, 1) = (/ & & 0.66829e-05_rb,0.68022e-05_rb,0.68791e-05_rb,0.69429e-05_rb,0.69314e-05_rb /) kbo(:,45, 1) = (/ & & 0.53860e-05_rb,0.54494e-05_rb,0.55341e-05_rb,0.55544e-05_rb,0.55761e-05_rb /) kbo(:,46, 1) = (/ & & 0.43207e-05_rb,0.43601e-05_rb,0.44477e-05_rb,0.44761e-05_rb,0.44727e-05_rb /) kbo(:,47, 1) = (/ & & 0.34852e-05_rb,0.34924e-05_rb,0.35555e-05_rb,0.35928e-05_rb,0.35957e-05_rb /) kbo(:,48, 1) = (/ & & 0.27913e-05_rb,0.28024e-05_rb,0.28395e-05_rb,0.28713e-05_rb,0.28836e-05_rb /) kbo(:,49, 1) = (/ & & 0.22267e-05_rb,0.22549e-05_rb,0.22736e-05_rb,0.22769e-05_rb,0.23083e-05_rb /) kbo(:,50, 1) = (/ & & 0.17814e-05_rb,0.18056e-05_rb,0.18272e-05_rb,0.18178e-05_rb,0.18340e-05_rb /) kbo(:,51, 1) = (/ & & 0.14202e-05_rb,0.14390e-05_rb,0.14605e-05_rb,0.14515e-05_rb,0.14607e-05_rb /) kbo(:,52, 1) = (/ & & 0.11328e-05_rb,0.11511e-05_rb,0.11629e-05_rb,0.11627e-05_rb,0.11618e-05_rb /) kbo(:,53, 1) = (/ & & 0.90478e-06_rb,0.91291e-06_rb,0.92251e-06_rb,0.92910e-06_rb,0.92898e-06_rb /) kbo(:,54, 1) = (/ & & 0.71737e-06_rb,0.72444e-06_rb,0.73271e-06_rb,0.73646e-06_rb,0.74079e-06_rb /) kbo(:,55, 1) = (/ & & 0.56522e-06_rb,0.57444e-06_rb,0.57690e-06_rb,0.58444e-06_rb,0.59006e-06_rb /) kbo(:,56, 1) = (/ & & 0.44522e-06_rb,0.45152e-06_rb,0.45592e-06_rb,0.46208e-06_rb,0.46721e-06_rb /) kbo(:,57, 1) = (/ & & 0.35045e-06_rb,0.35432e-06_rb,0.36035e-06_rb,0.36444e-06_rb,0.36942e-06_rb /) kbo(:,58, 1) = (/ & & 0.27513e-06_rb,0.27793e-06_rb,0.28330e-06_rb,0.28729e-06_rb,0.29229e-06_rb /) kbo(:,59, 1) = (/ & & 0.21608e-06_rb,0.21966e-06_rb,0.22301e-06_rb,0.22740e-06_rb,0.23129e-06_rb /) kbo(:,13, 2) = (/ & & 0.41669e-02_rb,0.42141e-02_rb,0.42434e-02_rb,0.42683e-02_rb,0.42755e-02_rb /) kbo(:,14, 2) = (/ & & 0.34875e-02_rb,0.35201e-02_rb,0.35377e-02_rb,0.35547e-02_rb,0.35629e-02_rb /) kbo(:,15, 2) = (/ & & 0.29417e-02_rb,0.29682e-02_rb,0.29797e-02_rb,0.29877e-02_rb,0.29948e-02_rb /) kbo(:,16, 2) = (/ & & 0.25072e-02_rb,0.25337e-02_rb,0.25373e-02_rb,0.25423e-02_rb,0.25464e-02_rb /) kbo(:,17, 2) = (/ & & 0.21640e-02_rb,0.21948e-02_rb,0.21974e-02_rb,0.21951e-02_rb,0.21930e-02_rb /) kbo(:,18, 2) = (/ & & 0.18910e-02_rb,0.19229e-02_rb,0.19301e-02_rb,0.19201e-02_rb,0.19153e-02_rb /) kbo(:,19, 2) = (/ & & 0.16495e-02_rb,0.16848e-02_rb,0.16944e-02_rb,0.16885e-02_rb,0.16779e-02_rb /) kbo(:,20, 2) = (/ & & 0.14018e-02_rb,0.14333e-02_rb,0.14424e-02_rb,0.14394e-02_rb,0.14287e-02_rb /) kbo(:,21, 2) = (/ & & 0.11832e-02_rb,0.12125e-02_rb,0.12189e-02_rb,0.12151e-02_rb,0.12082e-02_rb /) kbo(:,22, 2) = (/ & & 0.99669e-03_rb,0.10233e-02_rb,0.10268e-02_rb,0.10250e-02_rb,0.10191e-02_rb /) kbo(:,23, 2) = (/ & & 0.83734e-03_rb,0.86220e-03_rb,0.86642e-03_rb,0.86487e-03_rb,0.86054e-03_rb /) kbo(:,24, 2) = (/ & & 0.70349e-03_rb,0.72654e-03_rb,0.73243e-03_rb,0.73077e-03_rb,0.72754e-03_rb /) kbo(:,25, 2) = (/ & & 0.59070e-03_rb,0.61044e-03_rb,0.61929e-03_rb,0.61773e-03_rb,0.61583e-03_rb /) kbo(:,26, 2) = (/ & & 0.49716e-03_rb,0.51139e-03_rb,0.52115e-03_rb,0.52139e-03_rb,0.52023e-03_rb /) kbo(:,27, 2) = (/ & & 0.41822e-03_rb,0.42737e-03_rb,0.43808e-03_rb,0.43978e-03_rb,0.43884e-03_rb /) kbo(:,28, 2) = (/ & & 0.35061e-03_rb,0.35848e-03_rb,0.36841e-03_rb,0.37095e-03_rb,0.37053e-03_rb /) kbo(:,29, 2) = (/ & & 0.29391e-03_rb,0.30227e-03_rb,0.30912e-03_rb,0.31376e-03_rb,0.31382e-03_rb /) kbo(:,30, 2) = (/ & & 0.24878e-03_rb,0.25551e-03_rb,0.25990e-03_rb,0.26493e-03_rb,0.26717e-03_rb /) kbo(:,31, 2) = (/ & & 0.21146e-03_rb,0.21606e-03_rb,0.21973e-03_rb,0.22385e-03_rb,0.22711e-03_rb /) kbo(:,32, 2) = (/ & & 0.17989e-03_rb,0.18248e-03_rb,0.18678e-03_rb,0.18914e-03_rb,0.19265e-03_rb /) kbo(:,33, 2) = (/ & & 0.15377e-03_rb,0.15569e-03_rb,0.15798e-03_rb,0.16109e-03_rb,0.16313e-03_rb /) kbo(:,34, 2) = (/ & & 0.13129e-03_rb,0.13289e-03_rb,0.13431e-03_rb,0.13679e-03_rb,0.13869e-03_rb /) kbo(:,35, 2) = (/ & & 0.11225e-03_rb,0.11370e-03_rb,0.11480e-03_rb,0.11616e-03_rb,0.11774e-03_rb /) kbo(:,36, 2) = (/ & & 0.96722e-04_rb,0.97093e-04_rb,0.98641e-04_rb,0.99964e-04_rb,0.10029e-03_rb /) kbo(:,37, 2) = (/ & & 0.81278e-04_rb,0.81350e-04_rb,0.82442e-04_rb,0.83555e-04_rb,0.83990e-04_rb /) kbo(:,38, 2) = (/ & & 0.68481e-04_rb,0.68398e-04_rb,0.68899e-04_rb,0.69737e-04_rb,0.70187e-04_rb /) kbo(:,39, 2) = (/ & & 0.57588e-04_rb,0.57895e-04_rb,0.57814e-04_rb,0.58095e-04_rb,0.58861e-04_rb /) kbo(:,40, 2) = (/ & & 0.47541e-04_rb,0.47609e-04_rb,0.47587e-04_rb,0.47727e-04_rb,0.48149e-04_rb /) kbo(:,41, 2) = (/ & & 0.39099e-04_rb,0.39119e-04_rb,0.39164e-04_rb,0.39161e-04_rb,0.39530e-04_rb /) kbo(:,42, 2) = (/ & & 0.32129e-04_rb,0.32067e-04_rb,0.32113e-04_rb,0.32128e-04_rb,0.32332e-04_rb /) kbo(:,43, 2) = (/ & & 0.26339e-04_rb,0.26195e-04_rb,0.26218e-04_rb,0.26313e-04_rb,0.26301e-04_rb /) kbo(:,44, 2) = (/ & & 0.21510e-04_rb,0.21341e-04_rb,0.21297e-04_rb,0.21378e-04_rb,0.21395e-04_rb /) kbo(:,45, 2) = (/ & & 0.17530e-04_rb,0.17454e-04_rb,0.17341e-04_rb,0.17352e-04_rb,0.17454e-04_rb /) kbo(:,46, 2) = (/ & & 0.14267e-04_rb,0.14213e-04_rb,0.14118e-04_rb,0.14076e-04_rb,0.14192e-04_rb /) kbo(:,47, 2) = (/ & & 0.11510e-04_rb,0.11593e-04_rb,0.11522e-04_rb,0.11431e-04_rb,0.11494e-04_rb /) kbo(:,48, 2) = (/ & & 0.92607e-05_rb,0.93963e-05_rb,0.93931e-05_rb,0.93302e-05_rb,0.93175e-05_rb /) kbo(:,49, 2) = (/ & & 0.74566e-05_rb,0.75640e-05_rb,0.76551e-05_rb,0.76195e-05_rb,0.75706e-05_rb /) kbo(:,50, 2) = (/ & & 0.60069e-05_rb,0.60789e-05_rb,0.61866e-05_rb,0.62136e-05_rb,0.61878e-05_rb /) kbo(:,51, 2) = (/ & & 0.48719e-05_rb,0.49189e-05_rb,0.49852e-05_rb,0.50599e-05_rb,0.50406e-05_rb /) kbo(:,52, 2) = (/ & & 0.39542e-05_rb,0.39622e-05_rb,0.40023e-05_rb,0.40853e-05_rb,0.41134e-05_rb /) kbo(:,53, 2) = (/ & & 0.31898e-05_rb,0.32108e-05_rb,0.32348e-05_rb,0.32873e-05_rb,0.33341e-05_rb /) kbo(:,54, 2) = (/ & & 0.25786e-05_rb,0.26009e-05_rb,0.26192e-05_rb,0.26504e-05_rb,0.26983e-05_rb /) kbo(:,55, 2) = (/ & & 0.20942e-05_rb,0.21017e-05_rb,0.21274e-05_rb,0.21442e-05_rb,0.21775e-05_rb /) kbo(:,56, 2) = (/ & & 0.16959e-05_rb,0.17018e-05_rb,0.17251e-05_rb,0.17374e-05_rb,0.17575e-05_rb /) kbo(:,57, 2) = (/ & & 0.13662e-05_rb,0.13805e-05_rb,0.13926e-05_rb,0.14091e-05_rb,0.14210e-05_rb /) kbo(:,58, 2) = (/ & & 0.10989e-05_rb,0.11199e-05_rb,0.11269e-05_rb,0.11436e-05_rb,0.11502e-05_rb /) kbo(:,59, 2) = (/ & & 0.88647e-06_rb,0.91054e-06_rb,0.91770e-06_rb,0.92872e-06_rb,0.93619e-06_rb /) kbo(:,13, 3) = (/ & & 0.91432e-02_rb,0.90907e-02_rb,0.90565e-02_rb,0.89984e-02_rb,0.89385e-02_rb /) kbo(:,14, 3) = (/ & & 0.76455e-02_rb,0.75988e-02_rb,0.75709e-02_rb,0.75150e-02_rb,0.74448e-02_rb /) kbo(:,15, 3) = (/ & & 0.64231e-02_rb,0.63826e-02_rb,0.63449e-02_rb,0.62999e-02_rb,0.62412e-02_rb /) kbo(:,16, 3) = (/ & & 0.54475e-02_rb,0.53998e-02_rb,0.53630e-02_rb,0.53153e-02_rb,0.52574e-02_rb /) kbo(:,17, 3) = (/ & & 0.46876e-02_rb,0.46363e-02_rb,0.45869e-02_rb,0.45398e-02_rb,0.44911e-02_rb /) kbo(:,18, 3) = (/ & & 0.40806e-02_rb,0.40265e-02_rb,0.39670e-02_rb,0.39185e-02_rb,0.38714e-02_rb /) kbo(:,19, 3) = (/ & & 0.35897e-02_rb,0.35272e-02_rb,0.34695e-02_rb,0.34174e-02_rb,0.33721e-02_rb /) kbo(:,20, 3) = (/ & & 0.30557e-02_rb,0.30003e-02_rb,0.29518e-02_rb,0.29027e-02_rb,0.28623e-02_rb /) kbo(:,21, 3) = (/ & & 0.25840e-02_rb,0.25346e-02_rb,0.24907e-02_rb,0.24530e-02_rb,0.24134e-02_rb /) kbo(:,22, 3) = (/ & & 0.21784e-02_rb,0.21342e-02_rb,0.20972e-02_rb,0.20639e-02_rb,0.20310e-02_rb /) kbo(:,23, 3) = (/ & & 0.18415e-02_rb,0.17987e-02_rb,0.17683e-02_rb,0.17405e-02_rb,0.17162e-02_rb /) kbo(:,24, 3) = (/ & & 0.15599e-02_rb,0.15210e-02_rb,0.14940e-02_rb,0.14715e-02_rb,0.14516e-02_rb /) kbo(:,25, 3) = (/ & & 0.13214e-02_rb,0.12882e-02_rb,0.12631e-02_rb,0.12449e-02_rb,0.12269e-02_rb /) kbo(:,26, 3) = (/ & & 0.11148e-02_rb,0.10885e-02_rb,0.10663e-02_rb,0.10485e-02_rb,0.10339e-02_rb /) kbo(:,27, 3) = (/ & & 0.94180e-03_rb,0.92291e-03_rb,0.90201e-03_rb,0.88582e-03_rb,0.87360e-03_rb /) kbo(:,28, 3) = (/ & & 0.79929e-03_rb,0.78315e-03_rb,0.76525e-03_rb,0.75093e-03_rb,0.73943e-03_rb /) kbo(:,29, 3) = (/ & & 0.68110e-03_rb,0.66580e-03_rb,0.65234e-03_rb,0.63866e-03_rb,0.62757e-03_rb /) kbo(:,30, 3) = (/ & & 0.57975e-03_rb,0.56820e-03_rb,0.55835e-03_rb,0.54581e-03_rb,0.53624e-03_rb /) kbo(:,31, 3) = (/ & & 0.49551e-03_rb,0.48804e-03_rb,0.47841e-03_rb,0.46871e-03_rb,0.45833e-03_rb /) kbo(:,32, 3) = (/ & & 0.42572e-03_rb,0.42052e-03_rb,0.41099e-03_rb,0.40377e-03_rb,0.39554e-03_rb /) kbo(:,33, 3) = (/ & & 0.36528e-03_rb,0.36135e-03_rb,0.35701e-03_rb,0.34948e-03_rb,0.34456e-03_rb /) kbo(:,34, 3) = (/ & & 0.31415e-03_rb,0.31283e-03_rb,0.30989e-03_rb,0.30612e-03_rb,0.30054e-03_rb /) kbo(:,35, 3) = (/ & & 0.27352e-03_rb,0.27102e-03_rb,0.26979e-03_rb,0.26826e-03_rb,0.26448e-03_rb /) kbo(:,36, 3) = (/ & & 0.23967e-03_rb,0.23742e-03_rb,0.23456e-03_rb,0.23474e-03_rb,0.23316e-03_rb /) kbo(:,37, 3) = (/ & & 0.20338e-03_rb,0.20142e-03_rb,0.19919e-03_rb,0.19875e-03_rb,0.19818e-03_rb /) kbo(:,38, 3) = (/ & & 0.17257e-03_rb,0.17079e-03_rb,0.16890e-03_rb,0.16818e-03_rb,0.16767e-03_rb /) kbo(:,39, 3) = (/ & & 0.14733e-03_rb,0.14508e-03_rb,0.14396e-03_rb,0.14263e-03_rb,0.14203e-03_rb /) kbo(:,40, 3) = (/ & & 0.12225e-03_rb,0.12069e-03_rb,0.11949e-03_rb,0.11833e-03_rb,0.11808e-03_rb /) kbo(:,41, 3) = (/ & & 0.10097e-03_rb,0.10002e-03_rb,0.98765e-04_rb,0.97895e-04_rb,0.97754e-04_rb /) kbo(:,42, 3) = (/ & & 0.83346e-04_rb,0.82796e-04_rb,0.81713e-04_rb,0.81007e-04_rb,0.80814e-04_rb /) kbo(:,43, 3) = (/ & & 0.68346e-04_rb,0.68043e-04_rb,0.67367e-04_rb,0.66543e-04_rb,0.66059e-04_rb /) kbo(:,44, 3) = (/ & & 0.55818e-04_rb,0.55703e-04_rb,0.55284e-04_rb,0.54584e-04_rb,0.54239e-04_rb /) kbo(:,45, 3) = (/ & & 0.45332e-04_rb,0.45541e-04_rb,0.45337e-04_rb,0.44929e-04_rb,0.44433e-04_rb /) kbo(:,46, 3) = (/ & & 0.36748e-04_rb,0.37223e-04_rb,0.37146e-04_rb,0.36884e-04_rb,0.36439e-04_rb /) kbo(:,47, 3) = (/ & & 0.29601e-04_rb,0.30289e-04_rb,0.30405e-04_rb,0.30257e-04_rb,0.29929e-04_rb /) kbo(:,48, 3) = (/ & & 0.23826e-04_rb,0.24579e-04_rb,0.24815e-04_rb,0.24762e-04_rb,0.24572e-04_rb /) kbo(:,49, 3) = (/ & & 0.19377e-04_rb,0.19814e-04_rb,0.20191e-04_rb,0.20227e-04_rb,0.20080e-04_rb /) kbo(:,50, 3) = (/ & & 0.15665e-04_rb,0.15965e-04_rb,0.16366e-04_rb,0.16467e-04_rb,0.16386e-04_rb /) kbo(:,51, 3) = (/ & & 0.12631e-04_rb,0.12915e-04_rb,0.13203e-04_rb,0.13389e-04_rb,0.13403e-04_rb /) kbo(:,52, 3) = (/ & & 0.10160e-04_rb,0.10402e-04_rb,0.10609e-04_rb,0.10858e-04_rb,0.10900e-04_rb /) kbo(:,53, 3) = (/ & & 0.81514e-05_rb,0.83717e-05_rb,0.85717e-05_rb,0.87255e-05_rb,0.88490e-05_rb /) kbo(:,54, 3) = (/ & & 0.65924e-05_rb,0.67623e-05_rb,0.69218e-05_rb,0.70363e-05_rb,0.71744e-05_rb /) kbo(:,55, 3) = (/ & & 0.53378e-05_rb,0.54823e-05_rb,0.56002e-05_rb,0.57079e-05_rb,0.58136e-05_rb /) kbo(:,56, 3) = (/ & & 0.43093e-05_rb,0.44306e-05_rb,0.45341e-05_rb,0.46443e-05_rb,0.47053e-05_rb /) kbo(:,57, 3) = (/ & & 0.34880e-05_rb,0.35826e-05_rb,0.36738e-05_rb,0.37492e-05_rb,0.38094e-05_rb /) kbo(:,58, 3) = (/ & & 0.28214e-05_rb,0.28911e-05_rb,0.29636e-05_rb,0.30269e-05_rb,0.30943e-05_rb /) kbo(:,59, 3) = (/ & & 0.23049e-05_rb,0.23610e-05_rb,0.24232e-05_rb,0.24708e-05_rb,0.25266e-05_rb /) kbo(:,13, 4) = (/ & & 0.16886e-01_rb,0.17177e-01_rb,0.17415e-01_rb,0.17613e-01_rb,0.17771e-01_rb /) kbo(:,14, 4) = (/ & & 0.14297e-01_rb,0.14572e-01_rb,0.14791e-01_rb,0.14925e-01_rb,0.15051e-01_rb /) kbo(:,15, 4) = (/ & & 0.12142e-01_rb,0.12342e-01_rb,0.12507e-01_rb,0.12640e-01_rb,0.12754e-01_rb /) kbo(:,16, 4) = (/ & & 0.10284e-01_rb,0.10422e-01_rb,0.10545e-01_rb,0.10662e-01_rb,0.10740e-01_rb /) kbo(:,17, 4) = (/ & & 0.87377e-02_rb,0.88415e-02_rb,0.89329e-02_rb,0.90175e-02_rb,0.90716e-02_rb /) kbo(:,18, 4) = (/ & & 0.74766e-02_rb,0.75366e-02_rb,0.76038e-02_rb,0.76818e-02_rb,0.77135e-02_rb /) kbo(:,19, 4) = (/ & & 0.64241e-02_rb,0.64546e-02_rb,0.65027e-02_rb,0.65449e-02_rb,0.65755e-02_rb /) kbo(:,20, 4) = (/ & & 0.54390e-02_rb,0.54528e-02_rb,0.54854e-02_rb,0.55046e-02_rb,0.55309e-02_rb /) kbo(:,21, 4) = (/ & & 0.45856e-02_rb,0.45888e-02_rb,0.46080e-02_rb,0.46219e-02_rb,0.46381e-02_rb /) kbo(:,22, 4) = (/ & & 0.38581e-02_rb,0.38555e-02_rb,0.38631e-02_rb,0.38756e-02_rb,0.38888e-02_rb /) kbo(:,23, 4) = (/ & & 0.32522e-02_rb,0.32442e-02_rb,0.32437e-02_rb,0.32522e-02_rb,0.32616e-02_rb /) kbo(:,24, 4) = (/ & & 0.27421e-02_rb,0.27302e-02_rb,0.27267e-02_rb,0.27311e-02_rb,0.27351e-02_rb /) kbo(:,25, 4) = (/ & & 0.23082e-02_rb,0.22984e-02_rb,0.22916e-02_rb,0.22928e-02_rb,0.22950e-02_rb /) kbo(:,26, 4) = (/ & & 0.19386e-02_rb,0.19299e-02_rb,0.19241e-02_rb,0.19234e-02_rb,0.19234e-02_rb /) kbo(:,27, 4) = (/ & & 0.16295e-02_rb,0.16227e-02_rb,0.16172e-02_rb,0.16132e-02_rb,0.16138e-02_rb /) kbo(:,28, 4) = (/ & & 0.13714e-02_rb,0.13653e-02_rb,0.13589e-02_rb,0.13555e-02_rb,0.13562e-02_rb /) kbo(:,29, 4) = (/ & & 0.11583e-02_rb,0.11513e-02_rb,0.11440e-02_rb,0.11416e-02_rb,0.11458e-02_rb /) kbo(:,30, 4) = (/ & & 0.98213e-03_rb,0.97362e-03_rb,0.96774e-03_rb,0.96738e-03_rb,0.97898e-03_rb /) kbo(:,31, 4) = (/ & & 0.83694e-03_rb,0.82733e-03_rb,0.82506e-03_rb,0.82584e-03_rb,0.83454e-03_rb /) kbo(:,32, 4) = (/ & & 0.71631e-03_rb,0.70972e-03_rb,0.70944e-03_rb,0.70782e-03_rb,0.71382e-03_rb /) kbo(:,33, 4) = (/ & & 0.62056e-03_rb,0.61607e-03_rb,0.61112e-03_rb,0.60974e-03_rb,0.61416e-03_rb /) kbo(:,34, 4) = (/ & & 0.54260e-03_rb,0.53530e-03_rb,0.53018e-03_rb,0.53196e-03_rb,0.53190e-03_rb /) kbo(:,35, 4) = (/ & & 0.47557e-03_rb,0.47060e-03_rb,0.46470e-03_rb,0.46463e-03_rb,0.46278e-03_rb /) kbo(:,36, 4) = (/ & & 0.42108e-03_rb,0.41716e-03_rb,0.41356e-03_rb,0.41052e-03_rb,0.40671e-03_rb /) kbo(:,37, 4) = (/ & & 0.36059e-03_rb,0.35753e-03_rb,0.35465e-03_rb,0.35204e-03_rb,0.34625e-03_rb /) kbo(:,38, 4) = (/ & & 0.30926e-03_rb,0.30682e-03_rb,0.30403e-03_rb,0.30126e-03_rb,0.29597e-03_rb /) kbo(:,39, 4) = (/ & & 0.26586e-03_rb,0.26397e-03_rb,0.26023e-03_rb,0.25654e-03_rb,0.25399e-03_rb /) kbo(:,40, 4) = (/ & & 0.22228e-03_rb,0.22028e-03_rb,0.21711e-03_rb,0.21418e-03_rb,0.21203e-03_rb /) kbo(:,41, 4) = (/ & & 0.18516e-03_rb,0.18277e-03_rb,0.18056e-03_rb,0.17797e-03_rb,0.17615e-03_rb /) kbo(:,42, 4) = (/ & & 0.15367e-03_rb,0.15191e-03_rb,0.15012e-03_rb,0.14803e-03_rb,0.14667e-03_rb /) kbo(:,43, 4) = (/ & & 0.12696e-03_rb,0.12546e-03_rb,0.12398e-03_rb,0.12239e-03_rb,0.12042e-03_rb /) kbo(:,44, 4) = (/ & & 0.10470e-03_rb,0.10323e-03_rb,0.10199e-03_rb,0.10082e-03_rb,0.99093e-04_rb /) kbo(:,45, 4) = (/ & & 0.86543e-04_rb,0.84786e-04_rb,0.83972e-04_rb,0.82789e-04_rb,0.81392e-04_rb /) kbo(:,46, 4) = (/ & & 0.71529e-04_rb,0.69963e-04_rb,0.68982e-04_rb,0.67996e-04_rb,0.66867e-04_rb /) kbo(:,47, 4) = (/ & & 0.59457e-04_rb,0.57707e-04_rb,0.56668e-04_rb,0.55899e-04_rb,0.54959e-04_rb /) kbo(:,48, 4) = (/ & & 0.49467e-04_rb,0.47679e-04_rb,0.46593e-04_rb,0.45887e-04_rb,0.45090e-04_rb /) kbo(:,49, 4) = (/ & & 0.40766e-04_rb,0.39435e-04_rb,0.38281e-04_rb,0.37548e-04_rb,0.37003e-04_rb /) kbo(:,50, 4) = (/ & & 0.33628e-04_rb,0.32753e-04_rb,0.31623e-04_rb,0.30893e-04_rb,0.30385e-04_rb /) kbo(:,51, 4) = (/ & & 0.27865e-04_rb,0.27055e-04_rb,0.26162e-04_rb,0.25458e-04_rb,0.24898e-04_rb /) kbo(:,52, 4) = (/ & & 0.22934e-04_rb,0.22328e-04_rb,0.21731e-04_rb,0.20990e-04_rb,0.20456e-04_rb /) kbo(:,53, 4) = (/ & & 0.18846e-04_rb,0.18445e-04_rb,0.17912e-04_rb,0.17357e-04_rb,0.16833e-04_rb /) kbo(:,54, 4) = (/ & & 0.15388e-04_rb,0.15212e-04_rb,0.14808e-04_rb,0.14414e-04_rb,0.13935e-04_rb /) kbo(:,55, 4) = (/ & & 0.12598e-04_rb,0.12543e-04_rb,0.12261e-04_rb,0.11957e-04_rb,0.11571e-04_rb /) kbo(:,56, 4) = (/ & & 0.10381e-04_rb,0.10344e-04_rb,0.10166e-04_rb,0.98775e-05_rb,0.96020e-05_rb /) kbo(:,57, 4) = (/ & & 0.85457e-05_rb,0.84639e-05_rb,0.83932e-05_rb,0.81757e-05_rb,0.79545e-05_rb /) kbo(:,58, 4) = (/ & & 0.70397e-05_rb,0.69486e-05_rb,0.69316e-05_rb,0.67696e-05_rb,0.65859e-05_rb /) kbo(:,59, 4) = (/ & & 0.58257e-05_rb,0.57596e-05_rb,0.57448e-05_rb,0.56300e-05_rb,0.54831e-05_rb /) kbo(:,13, 5) = (/ & & 0.33040e-01_rb,0.33623e-01_rb,0.34360e-01_rb,0.35360e-01_rb,0.36383e-01_rb /) kbo(:,14, 5) = (/ & & 0.28634e-01_rb,0.29145e-01_rb,0.29913e-01_rb,0.30773e-01_rb,0.31595e-01_rb /) kbo(:,15, 5) = (/ & & 0.24852e-01_rb,0.25387e-01_rb,0.26038e-01_rb,0.26736e-01_rb,0.27406e-01_rb /) kbo(:,16, 5) = (/ & & 0.21426e-01_rb,0.21995e-01_rb,0.22531e-01_rb,0.23082e-01_rb,0.23575e-01_rb /) kbo(:,17, 5) = (/ & & 0.18563e-01_rb,0.19011e-01_rb,0.19492e-01_rb,0.19940e-01_rb,0.20337e-01_rb /) kbo(:,18, 5) = (/ & & 0.16067e-01_rb,0.16476e-01_rb,0.16902e-01_rb,0.17235e-01_rb,0.17579e-01_rb /) kbo(:,19, 5) = (/ & & 0.13911e-01_rb,0.14318e-01_rb,0.14657e-01_rb,0.14999e-01_rb,0.15265e-01_rb /) kbo(:,20, 5) = (/ & & 0.11889e-01_rb,0.12220e-01_rb,0.12522e-01_rb,0.12793e-01_rb,0.13028e-01_rb /) kbo(:,21, 5) = (/ & & 0.10107e-01_rb,0.10365e-01_rb,0.10626e-01_rb,0.10840e-01_rb,0.11030e-01_rb /) kbo(:,22, 5) = (/ & & 0.85828e-02_rb,0.88037e-02_rb,0.90066e-02_rb,0.91828e-02_rb,0.93108e-02_rb /) kbo(:,23, 5) = (/ & & 0.72873e-02_rb,0.74698e-02_rb,0.76229e-02_rb,0.77606e-02_rb,0.78812e-02_rb /) kbo(:,24, 5) = (/ & & 0.61731e-02_rb,0.63486e-02_rb,0.64551e-02_rb,0.65686e-02_rb,0.66826e-02_rb /) kbo(:,25, 5) = (/ & & 0.52349e-02_rb,0.53827e-02_rb,0.54728e-02_rb,0.55581e-02_rb,0.56691e-02_rb /) kbo(:,26, 5) = (/ & & 0.44343e-02_rb,0.45615e-02_rb,0.46303e-02_rb,0.47140e-02_rb,0.48058e-02_rb /) kbo(:,27, 5) = (/ & & 0.37566e-02_rb,0.38599e-02_rb,0.39250e-02_rb,0.39996e-02_rb,0.40739e-02_rb /) kbo(:,28, 5) = (/ & & 0.31898e-02_rb,0.32700e-02_rb,0.33284e-02_rb,0.33863e-02_rb,0.34483e-02_rb /) kbo(:,29, 5) = (/ & & 0.27069e-02_rb,0.27638e-02_rb,0.28173e-02_rb,0.28668e-02_rb,0.29159e-02_rb /) kbo(:,30, 5) = (/ & & 0.22952e-02_rb,0.23414e-02_rb,0.23862e-02_rb,0.24319e-02_rb,0.25045e-02_rb /) kbo(:,31, 5) = (/ & & 0.19469e-02_rb,0.19866e-02_rb,0.20269e-02_rb,0.20617e-02_rb,0.21285e-02_rb /) kbo(:,32, 5) = (/ & & 0.16569e-02_rb,0.16912e-02_rb,0.17225e-02_rb,0.17537e-02_rb,0.18151e-02_rb /) kbo(:,33, 5) = (/ & & 0.14159e-02_rb,0.14407e-02_rb,0.14672e-02_rb,0.14987e-02_rb,0.15568e-02_rb /) kbo(:,34, 5) = (/ & & 0.12124e-02_rb,0.12314e-02_rb,0.12565e-02_rb,0.13096e-02_rb,0.13455e-02_rb /) kbo(:,35, 5) = (/ & & 0.10402e-02_rb,0.10574e-02_rb,0.10852e-02_rb,0.11323e-02_rb,0.11671e-02_rb /) kbo(:,36, 5) = (/ & & 0.89606e-03_rb,0.91393e-03_rb,0.93957e-03_rb,0.98258e-03_rb,0.10142e-02_rb /) kbo(:,37, 5) = (/ & & 0.75556e-03_rb,0.77347e-03_rb,0.79494e-03_rb,0.83337e-03_rb,0.86466e-03_rb /) kbo(:,38, 5) = (/ & & 0.63793e-03_rb,0.65386e-03_rb,0.67373e-03_rb,0.70925e-03_rb,0.73610e-03_rb /) kbo(:,39, 5) = (/ & & 0.53995e-03_rb,0.55394e-03_rb,0.57091e-03_rb,0.59316e-03_rb,0.62725e-03_rb /) kbo(:,40, 5) = (/ & & 0.44830e-03_rb,0.46041e-03_rb,0.47605e-03_rb,0.49517e-03_rb,0.52406e-03_rb /) kbo(:,41, 5) = (/ & & 0.37113e-03_rb,0.38143e-03_rb,0.39555e-03_rb,0.41230e-03_rb,0.43648e-03_rb /) kbo(:,42, 5) = (/ & & 0.30743e-03_rb,0.31617e-03_rb,0.32840e-03_rb,0.34246e-03_rb,0.36323e-03_rb /) kbo(:,43, 5) = (/ & & 0.25237e-03_rb,0.25981e-03_rb,0.27013e-03_rb,0.28179e-03_rb,0.29414e-03_rb /) kbo(:,44, 5) = (/ & & 0.20643e-03_rb,0.21247e-03_rb,0.22138e-03_rb,0.23093e-03_rb,0.24175e-03_rb /) kbo(:,45, 5) = (/ & & 0.16882e-03_rb,0.17379e-03_rb,0.18072e-03_rb,0.18917e-03_rb,0.19837e-03_rb /) kbo(:,46, 5) = (/ & & 0.13808e-03_rb,0.14140e-03_rb,0.14740e-03_rb,0.15462e-03_rb,0.16243e-03_rb /) kbo(:,47, 5) = (/ & & 0.11262e-03_rb,0.11523e-03_rb,0.12010e-03_rb,0.12571e-03_rb,0.13225e-03_rb /) kbo(:,48, 5) = (/ & & 0.91738e-04_rb,0.93816e-04_rb,0.97414e-04_rb,0.10204e-03_rb,0.10733e-03_rb /) kbo(:,49, 5) = (/ & & 0.74533e-04_rb,0.76356e-04_rb,0.78756e-04_rb,0.82697e-04_rb,0.86848e-04_rb /) kbo(:,50, 5) = (/ & & 0.60870e-04_rb,0.62211e-04_rb,0.64031e-04_rb,0.67056e-04_rb,0.70590e-04_rb /) kbo(:,51, 5) = (/ & & 0.49547e-04_rb,0.50786e-04_rb,0.52181e-04_rb,0.54428e-04_rb,0.57574e-04_rb /) kbo(:,52, 5) = (/ & & 0.40457e-04_rb,0.41364e-04_rb,0.42403e-04_rb,0.44095e-04_rb,0.46746e-04_rb /) kbo(:,53, 5) = (/ & & 0.33032e-04_rb,0.33540e-04_rb,0.34449e-04_rb,0.35762e-04_rb,0.37780e-04_rb /) kbo(:,54, 5) = (/ & & 0.27201e-04_rb,0.27411e-04_rb,0.28166e-04_rb,0.29168e-04_rb,0.30744e-04_rb /) kbo(:,55, 5) = (/ & & 0.22471e-04_rb,0.22532e-04_rb,0.23075e-04_rb,0.23887e-04_rb,0.25092e-04_rb /) kbo(:,56, 5) = (/ & & 0.18480e-04_rb,0.18516e-04_rb,0.18857e-04_rb,0.19555e-04_rb,0.20483e-04_rb /) kbo(:,57, 5) = (/ & & 0.15198e-04_rb,0.15262e-04_rb,0.15424e-04_rb,0.15989e-04_rb,0.16742e-04_rb /) kbo(:,58, 5) = (/ & & 0.12523e-04_rb,0.12562e-04_rb,0.12648e-04_rb,0.13089e-04_rb,0.13686e-04_rb /) kbo(:,59, 5) = (/ & & 0.10416e-04_rb,0.10433e-04_rb,0.10536e-04_rb,0.10919e-04_rb,0.11421e-04_rb /) kbo(:,13, 6) = (/ & & 0.69718e-01_rb,0.71167e-01_rb,0.72961e-01_rb,0.74885e-01_rb,0.77322e-01_rb /) kbo(:,14, 6) = (/ & & 0.62182e-01_rb,0.63649e-01_rb,0.65193e-01_rb,0.67193e-01_rb,0.69746e-01_rb /) kbo(:,15, 6) = (/ & & 0.55177e-01_rb,0.56711e-01_rb,0.58414e-01_rb,0.60422e-01_rb,0.62756e-01_rb /) kbo(:,16, 6) = (/ & & 0.48867e-01_rb,0.50234e-01_rb,0.52023e-01_rb,0.54055e-01_rb,0.56254e-01_rb /) kbo(:,17, 6) = (/ & & 0.43174e-01_rb,0.44610e-01_rb,0.46287e-01_rb,0.48302e-01_rb,0.50389e-01_rb /) kbo(:,18, 6) = (/ & & 0.38339e-01_rb,0.39749e-01_rb,0.41335e-01_rb,0.43237e-01_rb,0.45123e-01_rb /) kbo(:,19, 6) = (/ & & 0.34315e-01_rb,0.35543e-01_rb,0.37065e-01_rb,0.38754e-01_rb,0.40597e-01_rb /) kbo(:,20, 6) = (/ & & 0.30036e-01_rb,0.31291e-01_rb,0.32637e-01_rb,0.34202e-01_rb,0.35839e-01_rb /) kbo(:,21, 6) = (/ & & 0.26135e-01_rb,0.27343e-01_rb,0.28574e-01_rb,0.30000e-01_rb,0.31460e-01_rb /) kbo(:,22, 6) = (/ & & 0.22750e-01_rb,0.23832e-01_rb,0.25080e-01_rb,0.26299e-01_rb,0.27580e-01_rb /) kbo(:,23, 6) = (/ & & 0.19795e-01_rb,0.20915e-01_rb,0.22028e-01_rb,0.23060e-01_rb,0.24140e-01_rb /) kbo(:,24, 6) = (/ & & 0.17353e-01_rb,0.18346e-01_rb,0.19305e-01_rb,0.20238e-01_rb,0.21103e-01_rb /) kbo(:,25, 6) = (/ & & 0.15226e-01_rb,0.16064e-01_rb,0.16955e-01_rb,0.17722e-01_rb,0.18477e-01_rb /) kbo(:,26, 6) = (/ & & 0.13309e-01_rb,0.14087e-01_rb,0.14848e-01_rb,0.15498e-01_rb,0.16180e-01_rb /) kbo(:,27, 6) = (/ & & 0.11623e-01_rb,0.12295e-01_rb,0.12913e-01_rb,0.13525e-01_rb,0.14113e-01_rb /) kbo(:,28, 6) = (/ & & 0.10147e-01_rb,0.10710e-01_rb,0.11240e-01_rb,0.11795e-01_rb,0.12384e-01_rb /) kbo(:,29, 6) = (/ & & 0.87968e-02_rb,0.92904e-02_rb,0.97797e-02_rb,0.10288e-01_rb,0.10828e-01_rb /) kbo(:,30, 6) = (/ & & 0.76490e-02_rb,0.80771e-02_rb,0.85219e-02_rb,0.90152e-02_rb,0.97888e-02_rb /) kbo(:,31, 6) = (/ & & 0.66330e-02_rb,0.70376e-02_rb,0.74659e-02_rb,0.79113e-02_rb,0.86622e-02_rb /) kbo(:,32, 6) = (/ & & 0.58073e-02_rb,0.61697e-02_rb,0.65754e-02_rb,0.70309e-02_rb,0.77115e-02_rb /) kbo(:,33, 6) = (/ & & 0.51062e-02_rb,0.54682e-02_rb,0.58582e-02_rb,0.62737e-02_rb,0.69163e-02_rb /) kbo(:,34, 6) = (/ & & 0.45302e-02_rb,0.48855e-02_rb,0.52639e-02_rb,0.58227e-02_rb,0.62719e-02_rb /) kbo(:,35, 6) = (/ & & 0.40254e-02_rb,0.43599e-02_rb,0.47158e-02_rb,0.52732e-02_rb,0.57228e-02_rb /) kbo(:,36, 6) = (/ & & 0.35647e-02_rb,0.38837e-02_rb,0.42167e-02_rb,0.47705e-02_rb,0.52032e-02_rb /) kbo(:,37, 6) = (/ & & 0.30730e-02_rb,0.33561e-02_rb,0.36823e-02_rb,0.41868e-02_rb,0.45932e-02_rb /) kbo(:,38, 6) = (/ & & 0.26407e-02_rb,0.29052e-02_rb,0.32061e-02_rb,0.36781e-02_rb,0.40664e-02_rb /) kbo(:,39, 6) = (/ & & 0.22667e-02_rb,0.25156e-02_rb,0.28017e-02_rb,0.31173e-02_rb,0.36136e-02_rb /) kbo(:,40, 6) = (/ & & 0.19056e-02_rb,0.21267e-02_rb,0.23879e-02_rb,0.26789e-02_rb,0.31309e-02_rb /) kbo(:,41, 6) = (/ & & 0.15967e-02_rb,0.17952e-02_rb,0.20263e-02_rb,0.22865e-02_rb,0.27062e-02_rb /) kbo(:,42, 6) = (/ & & 0.13343e-02_rb,0.15081e-02_rb,0.17167e-02_rb,0.19538e-02_rb,0.23416e-02_rb /) kbo(:,43, 6) = (/ & & 0.10981e-02_rb,0.12492e-02_rb,0.14292e-02_rb,0.16430e-02_rb,0.19013e-02_rb /) kbo(:,44, 6) = (/ & & 0.89464e-03_rb,0.10267e-02_rb,0.11827e-02_rb,0.13698e-02_rb,0.16046e-02_rb /) kbo(:,45, 6) = (/ & & 0.72683e-03_rb,0.83985e-03_rb,0.97469e-03_rb,0.11376e-02_rb,0.13459e-02_rb /) kbo(:,46, 6) = (/ & & 0.58610e-03_rb,0.68242e-03_rb,0.79873e-03_rb,0.94079e-03_rb,0.11248e-02_rb /) kbo(:,47, 6) = (/ & & 0.46823e-03_rb,0.54958e-03_rb,0.64876e-03_rb,0.77111e-03_rb,0.93276e-03_rb /) kbo(:,48, 6) = (/ & & 0.37202e-03_rb,0.44089e-03_rb,0.52431e-03_rb,0.62811e-03_rb,0.76979e-03_rb /) kbo(:,49, 6) = (/ & & 0.29424e-03_rb,0.35087e-03_rb,0.42017e-03_rb,0.50926e-03_rb,0.63166e-03_rb /) kbo(:,50, 6) = (/ & & 0.23381e-03_rb,0.28036e-03_rb,0.33854e-03_rb,0.41547e-03_rb,0.52066e-03_rb /) kbo(:,51, 6) = (/ & & 0.18542e-03_rb,0.22410e-03_rb,0.27211e-03_rb,0.33806e-03_rb,0.42775e-03_rb /) kbo(:,52, 6) = (/ & & 0.14646e-03_rb,0.17824e-03_rb,0.21799e-03_rb,0.27400e-03_rb,0.34964e-03_rb /) kbo(:,53, 6) = (/ & & 0.11499e-03_rb,0.14049e-03_rb,0.17412e-03_rb,0.22038e-03_rb,0.28435e-03_rb /) kbo(:,54, 6) = (/ & & 0.91160e-04_rb,0.11217e-03_rb,0.13972e-03_rb,0.17793e-03_rb,0.23213e-03_rb /) kbo(:,55, 6) = (/ & & 0.72474e-04_rb,0.89606e-04_rb,0.11228e-03_rb,0.14368e-03_rb,0.18928e-03_rb /) kbo(:,56, 6) = (/ & & 0.57463e-04_rb,0.71291e-04_rb,0.89786e-04_rb,0.11554e-03_rb,0.15352e-03_rb /) kbo(:,57, 6) = (/ & & 0.45287e-04_rb,0.56571e-04_rb,0.71524e-04_rb,0.92319e-04_rb,0.12382e-03_rb /) kbo(:,58, 6) = (/ & & 0.35841e-04_rb,0.44939e-04_rb,0.57025e-04_rb,0.73710e-04_rb,0.99673e-04_rb /) kbo(:,59, 6) = (/ & & 0.29941e-04_rb,0.37721e-04_rb,0.48119e-04_rb,0.62420e-04_rb,0.85059e-04_rb /) kbo(:,13, 7) = (/ & & 0.16189e+00_rb,0.16561e+00_rb,0.16999e+00_rb,0.17514e+00_rb,0.18068e+00_rb /) kbo(:,14, 7) = (/ & & 0.14981e+00_rb,0.15416e+00_rb,0.15917e+00_rb,0.16420e+00_rb,0.16989e+00_rb /) kbo(:,15, 7) = (/ & & 0.13875e+00_rb,0.14297e+00_rb,0.14757e+00_rb,0.15249e+00_rb,0.15852e+00_rb /) kbo(:,16, 7) = (/ & & 0.12672e+00_rb,0.13073e+00_rb,0.13523e+00_rb,0.14037e+00_rb,0.14640e+00_rb /) kbo(:,17, 7) = (/ & & 0.11530e+00_rb,0.11958e+00_rb,0.12450e+00_rb,0.12975e+00_rb,0.13596e+00_rb /) kbo(:,18, 7) = (/ & & 0.10572e+00_rb,0.11005e+00_rb,0.11482e+00_rb,0.12031e+00_rb,0.12674e+00_rb /) kbo(:,19, 7) = (/ & & 0.97798e-01_rb,0.10221e+00_rb,0.10713e+00_rb,0.11251e+00_rb,0.11882e+00_rb /) kbo(:,20, 7) = (/ & & 0.88438e-01_rb,0.93059e-01_rb,0.98290e-01_rb,0.10406e+00_rb,0.11034e+00_rb /) kbo(:,21, 7) = (/ & & 0.79615e-01_rb,0.84383e-01_rb,0.89776e-01_rb,0.95707e-01_rb,0.10218e+00_rb /) kbo(:,22, 7) = (/ & & 0.71663e-01_rb,0.76568e-01_rb,0.81968e-01_rb,0.88106e-01_rb,0.94703e-01_rb /) kbo(:,23, 7) = (/ & & 0.64729e-01_rb,0.69601e-01_rb,0.75178e-01_rb,0.81445e-01_rb,0.88072e-01_rb /) kbo(:,24, 7) = (/ & & 0.58713e-01_rb,0.63692e-01_rb,0.69398e-01_rb,0.75609e-01_rb,0.82402e-01_rb /) kbo(:,25, 7) = (/ & & 0.53422e-01_rb,0.58504e-01_rb,0.64255e-01_rb,0.70582e-01_rb,0.77266e-01_rb /) kbo(:,26, 7) = (/ & & 0.48884e-01_rb,0.53907e-01_rb,0.59754e-01_rb,0.66093e-01_rb,0.72781e-01_rb /) kbo(:,27, 7) = (/ & & 0.44782e-01_rb,0.49959e-01_rb,0.55649e-01_rb,0.61937e-01_rb,0.68517e-01_rb /) kbo(:,28, 7) = (/ & & 0.41164e-01_rb,0.46305e-01_rb,0.52009e-01_rb,0.58205e-01_rb,0.64389e-01_rb /) kbo(:,29, 7) = (/ & & 0.37976e-01_rb,0.43033e-01_rb,0.48696e-01_rb,0.54470e-01_rb,0.60707e-01_rb /) kbo(:,30, 7) = (/ & & 0.35210e-01_rb,0.40258e-01_rb,0.45653e-01_rb,0.51435e-01_rb,0.59091e-01_rb /) kbo(:,31, 7) = (/ & & 0.32774e-01_rb,0.37557e-01_rb,0.43028e-01_rb,0.48762e-01_rb,0.56208e-01_rb /) kbo(:,32, 7) = (/ & & 0.30628e-01_rb,0.35555e-01_rb,0.40840e-01_rb,0.46513e-01_rb,0.53917e-01_rb /) kbo(:,33, 7) = (/ & & 0.29120e-01_rb,0.33908e-01_rb,0.39209e-01_rb,0.44801e-01_rb,0.52179e-01_rb /) kbo(:,34, 7) = (/ & & 0.27843e-01_rb,0.32610e-01_rb,0.37873e-01_rb,0.45101e-01_rb,0.51127e-01_rb /) kbo(:,35, 7) = (/ & & 0.26429e-01_rb,0.31201e-01_rb,0.36480e-01_rb,0.43796e-01_rb,0.49886e-01_rb /) kbo(:,36, 7) = (/ & & 0.24910e-01_rb,0.29603e-01_rb,0.34935e-01_rb,0.42317e-01_rb,0.48474e-01_rb /) kbo(:,37, 7) = (/ & & 0.22623e-01_rb,0.27186e-01_rb,0.32364e-01_rb,0.39709e-01_rb,0.45895e-01_rb /) kbo(:,38, 7) = (/ & & 0.20536e-01_rb,0.25035e-01_rb,0.30138e-01_rb,0.37341e-01_rb,0.43584e-01_rb /) kbo(:,39, 7) = (/ & & 0.18744e-01_rb,0.23143e-01_rb,0.28133e-01_rb,0.33754e-01_rb,0.41569e-01_rb /) kbo(:,40, 7) = (/ & & 0.16632e-01_rb,0.20751e-01_rb,0.25556e-01_rb,0.30972e-01_rb,0.38593e-01_rb /) kbo(:,41, 7) = (/ & & 0.14671e-01_rb,0.18541e-01_rb,0.23110e-01_rb,0.28292e-01_rb,0.35702e-01_rb /) kbo(:,42, 7) = (/ & & 0.12909e-01_rb,0.16573e-01_rb,0.20901e-01_rb,0.25885e-01_rb,0.32997e-01_rb /) kbo(:,43, 7) = (/ & & 0.11155e-01_rb,0.14521e-01_rb,0.18561e-01_rb,0.23268e-01_rb,0.28558e-01_rb /) kbo(:,44, 7) = (/ & & 0.95144e-02_rb,0.12576e-01_rb,0.16313e-01_rb,0.20662e-01_rb,0.25638e-01_rb /) kbo(:,45, 7) = (/ & & 0.80643e-02_rb,0.10847e-01_rb,0.14290e-01_rb,0.18347e-01_rb,0.23034e-01_rb /) kbo(:,46, 7) = (/ & & 0.67589e-02_rb,0.92659e-02_rb,0.12372e-01_rb,0.16082e-01_rb,0.20456e-01_rb /) kbo(:,47, 7) = (/ & & 0.55482e-02_rb,0.77474e-02_rb,0.10528e-01_rb,0.13920e-01_rb,0.17966e-01_rb /) kbo(:,48, 7) = (/ & & 0.45013e-02_rb,0.64175e-02_rb,0.88907e-02_rb,0.11958e-01_rb,0.15638e-01_rb /) kbo(:,49, 7) = (/ & & 0.36173e-02_rb,0.52743e-02_rb,0.74530e-02_rb,0.10200e-01_rb,0.13544e-01_rb /) kbo(:,50, 7) = (/ & & 0.29073e-02_rb,0.43372e-02_rb,0.62514e-02_rb,0.87078e-02_rb,0.11757e-01_rb /) kbo(:,51, 7) = (/ & & 0.23200e-02_rb,0.35429e-02_rb,0.52236e-02_rb,0.74160e-02_rb,0.10190e-01_rb /) kbo(:,52, 7) = (/ & & 0.18398e-02_rb,0.28704e-02_rb,0.43321e-02_rb,0.62743e-02_rb,0.87585e-02_rb /) kbo(:,53, 7) = (/ & & 0.14394e-02_rb,0.22999e-02_rb,0.35535e-02_rb,0.52615e-02_rb,0.74854e-02_rb /) kbo(:,54, 7) = (/ & & 0.11368e-02_rb,0.18545e-02_rb,0.29326e-02_rb,0.44372e-02_rb,0.64347e-02_rb /) kbo(:,55, 7) = (/ & & 0.89467e-03_rb,0.14935e-02_rb,0.24197e-02_rb,0.37410e-02_rb,0.55222e-02_rb /) kbo(:,56, 7) = (/ & & 0.69687e-03_rb,0.11894e-02_rb,0.19763e-02_rb,0.31286e-02_rb,0.47149e-02_rb /) kbo(:,57, 7) = (/ & & 0.53791e-03_rb,0.93747e-03_rb,0.15990e-02_rb,0.25976e-02_rb,0.39986e-02_rb /) kbo(:,58, 7) = (/ & & 0.41410e-03_rb,0.73971e-03_rb,0.12907e-02_rb,0.21482e-02_rb,0.33858e-02_rb /) kbo(:,59, 7) = (/ & & 0.35405e-03_rb,0.64717e-03_rb,0.11503e-02_rb,0.19466e-02_rb,0.31094e-02_rb /) kbo(:,13, 8) = (/ & & 0.45516e+00_rb,0.46955e+00_rb,0.48450e+00_rb,0.50029e+00_rb,0.51769e+00_rb /) kbo(:,14, 8) = (/ & & 0.43991e+00_rb,0.45312e+00_rb,0.46646e+00_rb,0.48116e+00_rb,0.49718e+00_rb /) kbo(:,15, 8) = (/ & & 0.42871e+00_rb,0.44246e+00_rb,0.45762e+00_rb,0.47406e+00_rb,0.49132e+00_rb /) kbo(:,16, 8) = (/ & & 0.40699e+00_rb,0.42153e+00_rb,0.43710e+00_rb,0.45468e+00_rb,0.47435e+00_rb /) kbo(:,17, 8) = (/ & & 0.38538e+00_rb,0.39940e+00_rb,0.41418e+00_rb,0.43146e+00_rb,0.45140e+00_rb /) kbo(:,18, 8) = (/ & & 0.36235e+00_rb,0.37741e+00_rb,0.39391e+00_rb,0.41121e+00_rb,0.43054e+00_rb /) kbo(:,19, 8) = (/ & & 0.34180e+00_rb,0.35677e+00_rb,0.37295e+00_rb,0.39070e+00_rb,0.41121e+00_rb /) kbo(:,20, 8) = (/ & & 0.31818e+00_rb,0.33243e+00_rb,0.34824e+00_rb,0.36683e+00_rb,0.38832e+00_rb /) kbo(:,21, 8) = (/ & & 0.29454e+00_rb,0.30892e+00_rb,0.32519e+00_rb,0.34434e+00_rb,0.36621e+00_rb /) kbo(:,22, 8) = (/ & & 0.27292e+00_rb,0.28819e+00_rb,0.30567e+00_rb,0.32553e+00_rb,0.34730e+00_rb /) kbo(:,23, 8) = (/ & & 0.25455e+00_rb,0.27053e+00_rb,0.28810e+00_rb,0.30845e+00_rb,0.33065e+00_rb /) kbo(:,24, 8) = (/ & & 0.23920e+00_rb,0.25523e+00_rb,0.27293e+00_rb,0.29370e+00_rb,0.31644e+00_rb /) kbo(:,25, 8) = (/ & & 0.22572e+00_rb,0.24152e+00_rb,0.26024e+00_rb,0.28092e+00_rb,0.30402e+00_rb /) kbo(:,26, 8) = (/ & & 0.21333e+00_rb,0.23053e+00_rb,0.24913e+00_rb,0.27069e+00_rb,0.29445e+00_rb /) kbo(:,27, 8) = (/ & & 0.20216e+00_rb,0.22006e+00_rb,0.23987e+00_rb,0.26172e+00_rb,0.28552e+00_rb /) kbo(:,28, 8) = (/ & & 0.19243e+00_rb,0.21106e+00_rb,0.23162e+00_rb,0.25373e+00_rb,0.27880e+00_rb /) kbo(:,29, 8) = (/ & & 0.18399e+00_rb,0.20352e+00_rb,0.22446e+00_rb,0.24815e+00_rb,0.27383e+00_rb /) kbo(:,30, 8) = (/ & & 0.17696e+00_rb,0.19707e+00_rb,0.21934e+00_rb,0.24428e+00_rb,0.27560e+00_rb /) kbo(:,31, 8) = (/ & & 0.17154e+00_rb,0.19276e+00_rb,0.21622e+00_rb,0.24297e+00_rb,0.27512e+00_rb /) kbo(:,32, 8) = (/ & & 0.16864e+00_rb,0.19074e+00_rb,0.21586e+00_rb,0.24341e+00_rb,0.27678e+00_rb /) kbo(:,33, 8) = (/ & & 0.16705e+00_rb,0.19103e+00_rb,0.21725e+00_rb,0.24571e+00_rb,0.27988e+00_rb /) kbo(:,34, 8) = (/ & & 0.16718e+00_rb,0.19214e+00_rb,0.21923e+00_rb,0.25236e+00_rb,0.28358e+00_rb /) kbo(:,35, 8) = (/ & & 0.16615e+00_rb,0.19194e+00_rb,0.21973e+00_rb,0.25386e+00_rb,0.28528e+00_rb /) kbo(:,36, 8) = (/ & & 0.16355e+00_rb,0.18981e+00_rb,0.21857e+00_rb,0.25318e+00_rb,0.28503e+00_rb /) kbo(:,37, 8) = (/ & & 0.15644e+00_rb,0.18272e+00_rb,0.21137e+00_rb,0.24627e+00_rb,0.27830e+00_rb /) kbo(:,38, 8) = (/ & & 0.14985e+00_rb,0.17574e+00_rb,0.20437e+00_rb,0.23950e+00_rb,0.27160e+00_rb /) kbo(:,39, 8) = (/ & & 0.14373e+00_rb,0.16918e+00_rb,0.19762e+00_rb,0.22814e+00_rb,0.26522e+00_rb /) kbo(:,40, 8) = (/ & & 0.13479e+00_rb,0.15968e+00_rb,0.18756e+00_rb,0.21775e+00_rb,0.25463e+00_rb /) kbo(:,41, 8) = (/ & & 0.12605e+00_rb,0.15045e+00_rb,0.17752e+00_rb,0.20726e+00_rb,0.24367e+00_rb /) kbo(:,42, 8) = (/ & & 0.11784e+00_rb,0.14153e+00_rb,0.16784e+00_rb,0.19712e+00_rb,0.23353e+00_rb /) kbo(:,43, 8) = (/ & & 0.10839e+00_rb,0.13122e+00_rb,0.15696e+00_rb,0.18528e+00_rb,0.21641e+00_rb /) kbo(:,44, 8) = (/ & & 0.98772e-01_rb,0.12078e+00_rb,0.14549e+00_rb,0.17313e+00_rb,0.20344e+00_rb /) kbo(:,45, 8) = (/ & & 0.89757e-01_rb,0.11096e+00_rb,0.13484e+00_rb,0.16135e+00_rb,0.19086e+00_rb /) kbo(:,46, 8) = (/ & & 0.80754e-01_rb,0.10111e+00_rb,0.12397e+00_rb,0.14951e+00_rb,0.17812e+00_rb /) kbo(:,47, 8) = (/ & & 0.71551e-01_rb,0.90848e-01_rb,0.11265e+00_rb,0.13712e+00_rb,0.16456e+00_rb /) kbo(:,48, 8) = (/ & & 0.63023e-01_rb,0.81188e-01_rb,0.10192e+00_rb,0.12530e+00_rb,0.15155e+00_rb /) kbo(:,49, 8) = (/ & & 0.55112e-01_rb,0.71966e-01_rb,0.91627e-01_rb,0.11386e+00_rb,0.13887e+00_rb /) kbo(:,50, 8) = (/ & & 0.48148e-01_rb,0.63904e-01_rb,0.82545e-01_rb,0.10380e+00_rb,0.12775e+00_rb /) kbo(:,51, 8) = (/ & & 0.42077e-01_rb,0.56742e-01_rb,0.74219e-01_rb,0.94436e-01_rb,0.11735e+00_rb /) kbo(:,52, 8) = (/ & & 0.36406e-01_rb,0.49929e-01_rb,0.66400e-01_rb,0.85557e-01_rb,0.10751e+00_rb /) kbo(:,53, 8) = (/ & & 0.31162e-01_rb,0.43645e-01_rb,0.58971e-01_rb,0.77049e-01_rb,0.97772e-01_rb /) kbo(:,54, 8) = (/ & & 0.26848e-01_rb,0.38389e-01_rb,0.52700e-01_rb,0.69937e-01_rb,0.89664e-01_rb /) kbo(:,55, 8) = (/ & & 0.23145e-01_rb,0.33793e-01_rb,0.47177e-01_rb,0.63590e-01_rb,0.82440e-01_rb /) kbo(:,56, 8) = (/ & & 0.19764e-01_rb,0.29522e-01_rb,0.42050e-01_rb,0.57472e-01_rb,0.75623e-01_rb /) kbo(:,57, 8) = (/ & & 0.16713e-01_rb,0.25602e-01_rb,0.37259e-01_rb,0.51705e-01_rb,0.68976e-01_rb /) kbo(:,58, 8) = (/ & & 0.14134e-01_rb,0.22215e-01_rb,0.32983e-01_rb,0.46579e-01_rb,0.62982e-01_rb /) kbo(:,59, 8) = (/ & & 0.13103e-01_rb,0.20874e-01_rb,0.31397e-01_rb,0.44700e-01_rb,0.60881e-01_rb /) kbo(:,13, 9) = (/ & & 0.30563e+01_rb,0.31744e+01_rb,0.32842e+01_rb,0.33901e+01_rb,0.34937e+01_rb /) kbo(:,14, 9) = (/ & & 0.27752e+01_rb,0.28869e+01_rb,0.29933e+01_rb,0.30958e+01_rb,0.31932e+01_rb /) kbo(:,15, 9) = (/ & & 0.25099e+01_rb,0.26164e+01_rb,0.27185e+01_rb,0.28161e+01_rb,0.29094e+01_rb /) kbo(:,16, 9) = (/ & & 0.23062e+01_rb,0.23985e+01_rb,0.24887e+01_rb,0.25791e+01_rb,0.26657e+01_rb /) kbo(:,17, 9) = (/ & & 0.21996e+01_rb,0.22783e+01_rb,0.23521e+01_rb,0.24248e+01_rb,0.25028e+01_rb /) kbo(:,18, 9) = (/ & & 0.22125e+01_rb,0.22932e+01_rb,0.23665e+01_rb,0.24375e+01_rb,0.25051e+01_rb /) kbo(:,19, 9) = (/ & & 0.22641e+01_rb,0.23491e+01_rb,0.24239e+01_rb,0.24973e+01_rb,0.25657e+01_rb /) kbo(:,20, 9) = (/ & & 0.22472e+01_rb,0.23357e+01_rb,0.24204e+01_rb,0.24964e+01_rb,0.25675e+01_rb /) kbo(:,21, 9) = (/ & & 0.21851e+01_rb,0.22830e+01_rb,0.23690e+01_rb,0.24562e+01_rb,0.25370e+01_rb /) kbo(:,22, 9) = (/ & & 0.21175e+01_rb,0.22142e+01_rb,0.23108e+01_rb,0.24049e+01_rb,0.24949e+01_rb /) kbo(:,23, 9) = (/ & & 0.20447e+01_rb,0.21452e+01_rb,0.22435e+01_rb,0.23385e+01_rb,0.24298e+01_rb /) kbo(:,24, 9) = (/ & & 0.19721e+01_rb,0.20737e+01_rb,0.21717e+01_rb,0.22760e+01_rb,0.23715e+01_rb /) kbo(:,25, 9) = (/ & & 0.18957e+01_rb,0.20036e+01_rb,0.21100e+01_rb,0.22176e+01_rb,0.23221e+01_rb /) kbo(:,26, 9) = (/ & & 0.18288e+01_rb,0.19378e+01_rb,0.20515e+01_rb,0.21609e+01_rb,0.22728e+01_rb /) kbo(:,27, 9) = (/ & & 0.17692e+01_rb,0.18810e+01_rb,0.19951e+01_rb,0.21151e+01_rb,0.22361e+01_rb /) kbo(:,28, 9) = (/ & & 0.17168e+01_rb,0.18338e+01_rb,0.19558e+01_rb,0.20789e+01_rb,0.22051e+01_rb /) kbo(:,29, 9) = (/ & & 0.16702e+01_rb,0.17936e+01_rb,0.19235e+01_rb,0.20524e+01_rb,0.21850e+01_rb /) kbo(:,30, 9) = (/ & & 0.16394e+01_rb,0.17677e+01_rb,0.19029e+01_rb,0.20369e+01_rb,0.21882e+01_rb /) kbo(:,31, 9) = (/ & & 0.16228e+01_rb,0.17523e+01_rb,0.18896e+01_rb,0.20262e+01_rb,0.21815e+01_rb /) kbo(:,32, 9) = (/ & & 0.16178e+01_rb,0.17489e+01_rb,0.18859e+01_rb,0.20233e+01_rb,0.21838e+01_rb /) kbo(:,33, 9) = (/ & & 0.16221e+01_rb,0.17529e+01_rb,0.18876e+01_rb,0.20327e+01_rb,0.21960e+01_rb /) kbo(:,34, 9) = (/ & & 0.16321e+01_rb,0.17688e+01_rb,0.19069e+01_rb,0.20650e+01_rb,0.22191e+01_rb /) kbo(:,35, 9) = (/ & & 0.16388e+01_rb,0.17830e+01_rb,0.19261e+01_rb,0.20887e+01_rb,0.22365e+01_rb /) kbo(:,36, 9) = (/ & & 0.16423e+01_rb,0.17895e+01_rb,0.19390e+01_rb,0.21032e+01_rb,0.22561e+01_rb /) kbo(:,37, 9) = (/ & & 0.16080e+01_rb,0.17565e+01_rb,0.19076e+01_rb,0.20741e+01_rb,0.22287e+01_rb /) kbo(:,38, 9) = (/ & & 0.15745e+01_rb,0.17245e+01_rb,0.18721e+01_rb,0.20419e+01_rb,0.21969e+01_rb /) kbo(:,39, 9) = (/ & & 0.15386e+01_rb,0.16919e+01_rb,0.18410e+01_rb,0.19923e+01_rb,0.21638e+01_rb /) kbo(:,40, 9) = (/ & & 0.14840e+01_rb,0.16355e+01_rb,0.17855e+01_rb,0.19337e+01_rb,0.21026e+01_rb /) kbo(:,41, 9) = (/ & & 0.14260e+01_rb,0.15758e+01_rb,0.17241e+01_rb,0.18746e+01_rb,0.20398e+01_rb /) kbo(:,42, 9) = (/ & & 0.13688e+01_rb,0.15162e+01_rb,0.16646e+01_rb,0.18157e+01_rb,0.19780e+01_rb /) kbo(:,43, 9) = (/ & & 0.13011e+01_rb,0.14473e+01_rb,0.15936e+01_rb,0.17402e+01_rb,0.18823e+01_rb /) kbo(:,44, 9) = (/ & & 0.12278e+01_rb,0.13710e+01_rb,0.15157e+01_rb,0.16568e+01_rb,0.17952e+01_rb /) kbo(:,45, 9) = (/ & & 0.11558e+01_rb,0.12957e+01_rb,0.14361e+01_rb,0.15731e+01_rb,0.17094e+01_rb /) kbo(:,46, 9) = (/ & & 0.10820e+01_rb,0.12147e+01_rb,0.13532e+01_rb,0.14890e+01_rb,0.16181e+01_rb /) kbo(:,47, 9) = (/ & & 0.10024e+01_rb,0.11346e+01_rb,0.12669e+01_rb,0.14002e+01_rb,0.15260e+01_rb /) kbo(:,48, 9) = (/ & & 0.92524e+00_rb,0.10524e+01_rb,0.11804e+01_rb,0.13068e+01_rb,0.14296e+01_rb /) kbo(:,49, 9) = (/ & & 0.84698e+00_rb,0.96805e+00_rb,0.10902e+01_rb,0.12100e+01_rb,0.13299e+01_rb /) kbo(:,50, 9) = (/ & & 0.78084e+00_rb,0.89928e+00_rb,0.10161e+01_rb,0.11323e+01_rb,0.12472e+01_rb /) kbo(:,51, 9) = (/ & & 0.72222e+00_rb,0.83480e+00_rb,0.94748e+00_rb,0.10626e+01_rb,0.11740e+01_rb /) kbo(:,52, 9) = (/ & & 0.66260e+00_rb,0.77045e+00_rb,0.88348e+00_rb,0.99181e+00_rb,0.10995e+01_rb /) kbo(:,53, 9) = (/ & & 0.60516e+00_rb,0.71083e+00_rb,0.81698e+00_rb,0.91863e+00_rb,0.10219e+01_rb /) kbo(:,54, 9) = (/ & & 0.56176e+00_rb,0.66472e+00_rb,0.77054e+00_rb,0.87249e+00_rb,0.97306e+00_rb /) kbo(:,55, 9) = (/ & & 0.52563e+00_rb,0.63037e+00_rb,0.73497e+00_rb,0.83878e+00_rb,0.93923e+00_rb /) kbo(:,56, 9) = (/ & & 0.49056e+00_rb,0.59429e+00_rb,0.69788e+00_rb,0.80509e+00_rb,0.90615e+00_rb /) kbo(:,57, 9) = (/ & & 0.45575e+00_rb,0.55861e+00_rb,0.66303e+00_rb,0.76942e+00_rb,0.87211e+00_rb /) kbo(:,58, 9) = (/ & & 0.42419e+00_rb,0.52609e+00_rb,0.63048e+00_rb,0.73708e+00_rb,0.84331e+00_rb /) kbo(:,59, 9) = (/ & & 0.42340e+00_rb,0.52953e+00_rb,0.63843e+00_rb,0.74879e+00_rb,0.86046e+00_rb /) kbo(:,13,10) = (/ & & 0.14973e+02_rb,0.15466e+02_rb,0.15907e+02_rb,0.16294e+02_rb,0.16648e+02_rb /) kbo(:,14,10) = (/ & & 0.13327e+02_rb,0.13717e+02_rb,0.14036e+02_rb,0.14348e+02_rb,0.14658e+02_rb /) kbo(:,15,10) = (/ & & 0.12219e+02_rb,0.12428e+02_rb,0.12649e+02_rb,0.12810e+02_rb,0.12959e+02_rb /) kbo(:,16,10) = (/ & & 0.11245e+02_rb,0.11501e+02_rb,0.11701e+02_rb,0.11817e+02_rb,0.11948e+02_rb /) kbo(:,17,10) = (/ & & 0.96706e+01_rb,0.99707e+01_rb,0.10257e+02_rb,0.10540e+02_rb,0.10718e+02_rb /) kbo(:,18,10) = (/ & & 0.83018e+01_rb,0.83446e+01_rb,0.84207e+01_rb,0.85262e+01_rb,0.86783e+01_rb /) kbo(:,19,10) = (/ & & 0.82250e+01_rb,0.81929e+01_rb,0.82337e+01_rb,0.82572e+01_rb,0.83177e+01_rb /) kbo(:,20,10) = (/ & & 0.81684e+01_rb,0.81782e+01_rb,0.82244e+01_rb,0.82765e+01_rb,0.82985e+01_rb /) kbo(:,21,10) = (/ & & 0.82586e+01_rb,0.83055e+01_rb,0.84017e+01_rb,0.83815e+01_rb,0.83594e+01_rb /) kbo(:,22,10) = (/ & & 0.83686e+01_rb,0.84604e+01_rb,0.85363e+01_rb,0.84786e+01_rb,0.84786e+01_rb /) kbo(:,23,10) = (/ & & 0.84301e+01_rb,0.85903e+01_rb,0.87569e+01_rb,0.87953e+01_rb,0.87965e+01_rb /) kbo(:,24,10) = (/ & & 0.85690e+01_rb,0.88097e+01_rb,0.90359e+01_rb,0.90994e+01_rb,0.92201e+01_rb /) kbo(:,25,10) = (/ & & 0.87852e+01_rb,0.90719e+01_rb,0.92672e+01_rb,0.94098e+01_rb,0.95600e+01_rb /) kbo(:,26,10) = (/ & & 0.88651e+01_rb,0.92334e+01_rb,0.94525e+01_rb,0.97256e+01_rb,0.98986e+01_rb /) kbo(:,27,10) = (/ & & 0.88645e+01_rb,0.92932e+01_rb,0.96152e+01_rb,0.98392e+01_rb,0.10037e+02_rb /) kbo(:,28,10) = (/ & & 0.88548e+01_rb,0.93070e+01_rb,0.96176e+01_rb,0.99813e+01_rb,0.10238e+02_rb /) kbo(:,29,10) = (/ & & 0.88198e+01_rb,0.92265e+01_rb,0.96024e+01_rb,0.99285e+01_rb,0.10232e+02_rb /) kbo(:,30,10) = (/ & & 0.87818e+01_rb,0.92083e+01_rb,0.95579e+01_rb,0.98976e+01_rb,0.10208e+02_rb /) kbo(:,31,10) = (/ & & 0.86036e+01_rb,0.90621e+01_rb,0.94967e+01_rb,0.98500e+01_rb,0.10159e+02_rb /) kbo(:,32,10) = (/ & & 0.84748e+01_rb,0.89960e+01_rb,0.94428e+01_rb,0.98336e+01_rb,0.10196e+02_rb /) kbo(:,33,10) = (/ & & 0.84172e+01_rb,0.89420e+01_rb,0.94383e+01_rb,0.98344e+01_rb,0.10060e+02_rb /) kbo(:,34,10) = (/ & & 0.84605e+01_rb,0.89751e+01_rb,0.94683e+01_rb,0.98852e+01_rb,0.10023e+02_rb /) kbo(:,35,10) = (/ & & 0.84589e+01_rb,0.89233e+01_rb,0.94002e+01_rb,0.98511e+01_rb,0.10024e+02_rb /) kbo(:,36,10) = (/ & & 0.84558e+01_rb,0.89580e+01_rb,0.93747e+01_rb,0.98030e+01_rb,0.10000e+02_rb /) kbo(:,37,10) = (/ & & 0.82385e+01_rb,0.87614e+01_rb,0.91541e+01_rb,0.95514e+01_rb,0.97363e+01_rb /) kbo(:,38,10) = (/ & & 0.80132e+01_rb,0.84437e+01_rb,0.89304e+01_rb,0.92902e+01_rb,0.94811e+01_rb /) kbo(:,39,10) = (/ & & 0.78203e+01_rb,0.81981e+01_rb,0.85539e+01_rb,0.89689e+01_rb,0.90927e+01_rb /) kbo(:,40,10) = (/ & & 0.75978e+01_rb,0.79610e+01_rb,0.82423e+01_rb,0.86095e+01_rb,0.88190e+01_rb /) kbo(:,41,10) = (/ & & 0.73029e+01_rb,0.76481e+01_rb,0.79708e+01_rb,0.82445e+01_rb,0.84426e+01_rb /) kbo(:,42,10) = (/ & & 0.70166e+01_rb,0.73754e+01_rb,0.76378e+01_rb,0.78862e+01_rb,0.80985e+01_rb /) kbo(:,43,10) = (/ & & 0.66293e+01_rb,0.69504e+01_rb,0.72276e+01_rb,0.75120e+01_rb,0.77099e+01_rb /) kbo(:,44,10) = (/ & & 0.62312e+01_rb,0.65696e+01_rb,0.68647e+01_rb,0.71226e+01_rb,0.73305e+01_rb /) kbo(:,45,10) = (/ & & 0.58229e+01_rb,0.61620e+01_rb,0.64682e+01_rb,0.67341e+01_rb,0.69070e+01_rb /) kbo(:,46,10) = (/ & & 0.53657e+01_rb,0.57492e+01_rb,0.60377e+01_rb,0.63031e+01_rb,0.64992e+01_rb /) kbo(:,47,10) = (/ & & 0.50350e+01_rb,0.53678e+01_rb,0.56656e+01_rb,0.59201e+01_rb,0.61262e+01_rb /) kbo(:,48,10) = (/ & & 0.46566e+01_rb,0.49901e+01_rb,0.52633e+01_rb,0.54964e+01_rb,0.57537e+01_rb /) kbo(:,49,10) = (/ & & 0.42801e+01_rb,0.46217e+01_rb,0.49093e+01_rb,0.51104e+01_rb,0.53644e+01_rb /) kbo(:,50,10) = (/ & & 0.39613e+01_rb,0.43120e+01_rb,0.45848e+01_rb,0.48588e+01_rb,0.50774e+01_rb /) kbo(:,51,10) = (/ & & 0.37006e+01_rb,0.40662e+01_rb,0.43615e+01_rb,0.46264e+01_rb,0.48701e+01_rb /) kbo(:,52,10) = (/ & & 0.34485e+01_rb,0.37934e+01_rb,0.40667e+01_rb,0.43544e+01_rb,0.46481e+01_rb /) kbo(:,53,10) = (/ & & 0.31594e+01_rb,0.35032e+01_rb,0.37934e+01_rb,0.41156e+01_rb,0.44077e+01_rb /) kbo(:,54,10) = (/ & & 0.29800e+01_rb,0.33284e+01_rb,0.36333e+01_rb,0.39624e+01_rb,0.42528e+01_rb /) kbo(:,55,10) = (/ & & 0.28569e+01_rb,0.32159e+01_rb,0.35391e+01_rb,0.38186e+01_rb,0.41402e+01_rb /) kbo(:,56,10) = (/ & & 0.26907e+01_rb,0.31071e+01_rb,0.34476e+01_rb,0.36941e+01_rb,0.40212e+01_rb /) kbo(:,57,10) = (/ & & 0.25638e+01_rb,0.29869e+01_rb,0.33345e+01_rb,0.36081e+01_rb,0.38859e+01_rb /) kbo(:,58,10) = (/ & & 0.24665e+01_rb,0.28708e+01_rb,0.32402e+01_rb,0.35331e+01_rb,0.37851e+01_rb /) kbo(:,59,10) = (/ & & 0.25432e+01_rb,0.29855e+01_rb,0.33662e+01_rb,0.37020e+01_rb,0.39522e+01_rb /) kbo(:,13,11) = (/ & & 0.31099e+02_rb,0.31647e+02_rb,0.32241e+02_rb,0.32842e+02_rb,0.33417e+02_rb /) kbo(:,14,11) = (/ & & 0.27698e+02_rb,0.28253e+02_rb,0.28859e+02_rb,0.29460e+02_rb,0.30083e+02_rb /) kbo(:,15,11) = (/ & & 0.24330e+02_rb,0.24945e+02_rb,0.25542e+02_rb,0.26234e+02_rb,0.26922e+02_rb /) kbo(:,16,11) = (/ & & 0.21190e+02_rb,0.21758e+02_rb,0.22384e+02_rb,0.23019e+02_rb,0.23628e+02_rb /) kbo(:,17,11) = (/ & & 0.18967e+02_rb,0.19413e+02_rb,0.19858e+02_rb,0.20261e+02_rb,0.20672e+02_rb /) kbo(:,18,11) = (/ & & 0.16374e+02_rb,0.16952e+02_rb,0.17497e+02_rb,0.17964e+02_rb,0.18478e+02_rb /) kbo(:,19,11) = (/ & & 0.13248e+02_rb,0.13545e+02_rb,0.13847e+02_rb,0.14297e+02_rb,0.14705e+02_rb /) kbo(:,20,11) = (/ & & 0.12757e+02_rb,0.12785e+02_rb,0.12667e+02_rb,0.12601e+02_rb,0.12612e+02_rb /) kbo(:,21,11) = (/ & & 0.12844e+02_rb,0.12624e+02_rb,0.12433e+02_rb,0.12193e+02_rb,0.12175e+02_rb /) kbo(:,22,11) = (/ & & 0.12738e+02_rb,0.12567e+02_rb,0.12225e+02_rb,0.12063e+02_rb,0.11980e+02_rb /) kbo(:,23,11) = (/ & & 0.12815e+02_rb,0.12660e+02_rb,0.12272e+02_rb,0.12108e+02_rb,0.12066e+02_rb /) kbo(:,24,11) = (/ & & 0.13079e+02_rb,0.12972e+02_rb,0.12651e+02_rb,0.12388e+02_rb,0.12367e+02_rb /) kbo(:,25,11) = (/ & & 0.13341e+02_rb,0.13256e+02_rb,0.13023e+02_rb,0.12848e+02_rb,0.12659e+02_rb /) kbo(:,26,11) = (/ & & 0.13512e+02_rb,0.13453e+02_rb,0.13443e+02_rb,0.13113e+02_rb,0.13141e+02_rb /) kbo(:,27,11) = (/ & & 0.13706e+02_rb,0.13750e+02_rb,0.13824e+02_rb,0.13564e+02_rb,0.13665e+02_rb /) kbo(:,28,11) = (/ & & 0.13979e+02_rb,0.14080e+02_rb,0.14203e+02_rb,0.13858e+02_rb,0.13981e+02_rb /) kbo(:,29,11) = (/ & & 0.13934e+02_rb,0.14086e+02_rb,0.14156e+02_rb,0.14057e+02_rb,0.14114e+02_rb /) kbo(:,30,11) = (/ & & 0.13981e+02_rb,0.13996e+02_rb,0.13975e+02_rb,0.14010e+02_rb,0.14196e+02_rb /) kbo(:,31,11) = (/ & & 0.13896e+02_rb,0.13857e+02_rb,0.13654e+02_rb,0.13807e+02_rb,0.13871e+02_rb /) kbo(:,32,11) = (/ & & 0.13655e+02_rb,0.13646e+02_rb,0.13416e+02_rb,0.13538e+02_rb,0.13488e+02_rb /) kbo(:,33,11) = (/ & & 0.13398e+02_rb,0.13279e+02_rb,0.13235e+02_rb,0.13164e+02_rb,0.13195e+02_rb /) kbo(:,34,11) = (/ & & 0.13280e+02_rb,0.13155e+02_rb,0.13035e+02_rb,0.13095e+02_rb,0.13023e+02_rb /) kbo(:,35,11) = (/ & & 0.13174e+02_rb,0.13038e+02_rb,0.12951e+02_rb,0.12819e+02_rb,0.12932e+02_rb /) kbo(:,36,11) = (/ & & 0.13159e+02_rb,0.12953e+02_rb,0.12943e+02_rb,0.12899e+02_rb,0.13077e+02_rb /) kbo(:,37,11) = (/ & & 0.12968e+02_rb,0.12722e+02_rb,0.12741e+02_rb,0.12684e+02_rb,0.12881e+02_rb /) kbo(:,38,11) = (/ & & 0.12648e+02_rb,0.12436e+02_rb,0.12390e+02_rb,0.12534e+02_rb,0.12593e+02_rb /) kbo(:,39,11) = (/ & & 0.12145e+02_rb,0.12036e+02_rb,0.12198e+02_rb,0.12171e+02_rb,0.12374e+02_rb /) kbo(:,40,11) = (/ & & 0.11784e+02_rb,0.11714e+02_rb,0.11852e+02_rb,0.11995e+02_rb,0.12020e+02_rb /) kbo(:,41,11) = (/ & & 0.11419e+02_rb,0.11429e+02_rb,0.11554e+02_rb,0.11799e+02_rb,0.11809e+02_rb /) kbo(:,42,11) = (/ & & 0.11076e+02_rb,0.11047e+02_rb,0.11287e+02_rb,0.11460e+02_rb,0.11610e+02_rb /) kbo(:,43,11) = (/ & & 0.10635e+02_rb,0.10772e+02_rb,0.10970e+02_rb,0.11110e+02_rb,0.11339e+02_rb /) kbo(:,44,11) = (/ & & 0.10081e+02_rb,0.10347e+02_rb,0.10495e+02_rb,0.10710e+02_rb,0.10998e+02_rb /) kbo(:,45,11) = (/ & & 0.95493e+01_rb,0.97720e+01_rb,0.10013e+02_rb,0.10318e+02_rb,0.10626e+02_rb /) kbo(:,46,11) = (/ & & 0.91901e+01_rb,0.92815e+01_rb,0.95285e+01_rb,0.99399e+01_rb,0.10216e+02_rb /) kbo(:,47,11) = (/ & & 0.86762e+01_rb,0.88384e+01_rb,0.91370e+01_rb,0.95143e+01_rb,0.99290e+01_rb /) kbo(:,48,11) = (/ & & 0.80969e+01_rb,0.84350e+01_rb,0.87222e+01_rb,0.91427e+01_rb,0.95881e+01_rb /) kbo(:,49,11) = (/ & & 0.74881e+01_rb,0.78692e+01_rb,0.82390e+01_rb,0.88564e+01_rb,0.92509e+01_rb /) kbo(:,50,11) = (/ & & 0.70193e+01_rb,0.74373e+01_rb,0.79400e+01_rb,0.84415e+01_rb,0.90721e+01_rb /) kbo(:,51,11) = (/ & & 0.66370e+01_rb,0.71214e+01_rb,0.76381e+01_rb,0.81180e+01_rb,0.89263e+01_rb /) kbo(:,52,11) = (/ & & 0.62242e+01_rb,0.68097e+01_rb,0.73447e+01_rb,0.79515e+01_rb,0.88951e+01_rb /) kbo(:,53,11) = (/ & & 0.58238e+01_rb,0.63775e+01_rb,0.69942e+01_rb,0.79247e+01_rb,0.89454e+01_rb /) kbo(:,54,11) = (/ & & 0.55499e+01_rb,0.61225e+01_rb,0.67115e+01_rb,0.76390e+01_rb,0.86771e+01_rb /) kbo(:,55,11) = (/ & & 0.53976e+01_rb,0.59288e+01_rb,0.64661e+01_rb,0.72387e+01_rb,0.82482e+01_rb /) kbo(:,56,11) = (/ & & 0.52864e+01_rb,0.57486e+01_rb,0.62663e+01_rb,0.68889e+01_rb,0.78153e+01_rb /) kbo(:,57,11) = (/ & & 0.51174e+01_rb,0.55624e+01_rb,0.60808e+01_rb,0.66051e+01_rb,0.73800e+01_rb /) kbo(:,58,11) = (/ & & 0.49368e+01_rb,0.54350e+01_rb,0.59533e+01_rb,0.64218e+01_rb,0.70057e+01_rb /) kbo(:,59,11) = (/ & & 0.50812e+01_rb,0.56369e+01_rb,0.60928e+01_rb,0.64990e+01_rb,0.70265e+01_rb /) kbo(:,13,12) = (/ & & 0.69704e+02_rb,0.70627e+02_rb,0.71228e+02_rb,0.71788e+02_rb,0.72437e+02_rb /) kbo(:,14,12) = (/ & & 0.64379e+02_rb,0.65225e+02_rb,0.66016e+02_rb,0.66901e+02_rb,0.67785e+02_rb /) kbo(:,15,12) = (/ & & 0.58655e+02_rb,0.59644e+02_rb,0.60731e+02_rb,0.61788e+02_rb,0.62973e+02_rb /) kbo(:,16,12) = (/ & & 0.53041e+02_rb,0.54211e+02_rb,0.55406e+02_rb,0.56764e+02_rb,0.58230e+02_rb /) kbo(:,17,12) = (/ & & 0.47145e+02_rb,0.48549e+02_rb,0.50104e+02_rb,0.51815e+02_rb,0.53646e+02_rb /) kbo(:,18,12) = (/ & & 0.41118e+02_rb,0.42628e+02_rb,0.44372e+02_rb,0.46307e+02_rb,0.48319e+02_rb /) kbo(:,19,12) = (/ & & 0.35042e+02_rb,0.36608e+02_rb,0.38443e+02_rb,0.40582e+02_rb,0.43018e+02_rb /) kbo(:,20,12) = (/ & & 0.28625e+02_rb,0.30224e+02_rb,0.32288e+02_rb,0.34780e+02_rb,0.37414e+02_rb /) kbo(:,21,12) = (/ & & 0.24017e+02_rb,0.25409e+02_rb,0.27330e+02_rb,0.29600e+02_rb,0.32108e+02_rb /) kbo(:,22,12) = (/ & & 0.21793e+02_rb,0.22620e+02_rb,0.24096e+02_rb,0.26102e+02_rb,0.28497e+02_rb /) kbo(:,23,12) = (/ & & 0.21413e+02_rb,0.21831e+02_rb,0.22594e+02_rb,0.23606e+02_rb,0.25745e+02_rb /) kbo(:,24,12) = (/ & & 0.21009e+02_rb,0.21418e+02_rb,0.22293e+02_rb,0.23189e+02_rb,0.24234e+02_rb /) kbo(:,25,12) = (/ & & 0.21184e+02_rb,0.21661e+02_rb,0.22476e+02_rb,0.23334e+02_rb,0.24471e+02_rb /) kbo(:,26,12) = (/ & & 0.21853e+02_rb,0.22488e+02_rb,0.23205e+02_rb,0.24024e+02_rb,0.25192e+02_rb /) kbo(:,27,12) = (/ & & 0.22275e+02_rb,0.22928e+02_rb,0.23659e+02_rb,0.24768e+02_rb,0.25734e+02_rb /) kbo(:,28,12) = (/ & & 0.22649e+02_rb,0.23413e+02_rb,0.24091e+02_rb,0.25549e+02_rb,0.26436e+02_rb /) kbo(:,29,12) = (/ & & 0.22704e+02_rb,0.23483e+02_rb,0.24191e+02_rb,0.25460e+02_rb,0.26653e+02_rb /) kbo(:,30,12) = (/ & & 0.22666e+02_rb,0.23444e+02_rb,0.24530e+02_rb,0.25500e+02_rb,0.26652e+02_rb /) kbo(:,31,12) = (/ & & 0.22235e+02_rb,0.23247e+02_rb,0.24248e+02_rb,0.25076e+02_rb,0.26466e+02_rb /) kbo(:,32,12) = (/ & & 0.22226e+02_rb,0.22827e+02_rb,0.24083e+02_rb,0.25139e+02_rb,0.26181e+02_rb /) kbo(:,33,12) = (/ & & 0.22210e+02_rb,0.22941e+02_rb,0.24126e+02_rb,0.25269e+02_rb,0.26783e+02_rb /) kbo(:,34,12) = (/ & & 0.22243e+02_rb,0.23077e+02_rb,0.24337e+02_rb,0.25761e+02_rb,0.27799e+02_rb /) kbo(:,35,12) = (/ & & 0.22396e+02_rb,0.23583e+02_rb,0.24898e+02_rb,0.26594e+02_rb,0.29392e+02_rb /) kbo(:,36,12) = (/ & & 0.22982e+02_rb,0.24125e+02_rb,0.25363e+02_rb,0.27311e+02_rb,0.30508e+02_rb /) kbo(:,37,12) = (/ & & 0.22918e+02_rb,0.23937e+02_rb,0.25281e+02_rb,0.27602e+02_rb,0.31235e+02_rb /) kbo(:,38,12) = (/ & & 0.22758e+02_rb,0.23720e+02_rb,0.25240e+02_rb,0.28261e+02_rb,0.32012e+02_rb /) kbo(:,39,12) = (/ & & 0.22553e+02_rb,0.23629e+02_rb,0.25559e+02_rb,0.29164e+02_rb,0.32971e+02_rb /) kbo(:,40,12) = (/ & & 0.21913e+02_rb,0.23010e+02_rb,0.25397e+02_rb,0.28931e+02_rb,0.33000e+02_rb /) kbo(:,41,12) = (/ & & 0.21428e+02_rb,0.22543e+02_rb,0.25193e+02_rb,0.28521e+02_rb,0.32655e+02_rb /) kbo(:,42,12) = (/ & & 0.20806e+02_rb,0.22057e+02_rb,0.24895e+02_rb,0.28307e+02_rb,0.32344e+02_rb /) kbo(:,43,12) = (/ & & 0.20230e+02_rb,0.21402e+02_rb,0.24438e+02_rb,0.27778e+02_rb,0.31742e+02_rb /) kbo(:,44,12) = (/ & & 0.19439e+02_rb,0.20816e+02_rb,0.24038e+02_rb,0.27280e+02_rb,0.31112e+02_rb /) kbo(:,45,12) = (/ & & 0.18615e+02_rb,0.20644e+02_rb,0.23787e+02_rb,0.26906e+02_rb,0.30508e+02_rb /) kbo(:,46,12) = (/ & & 0.17932e+02_rb,0.20436e+02_rb,0.23444e+02_rb,0.26514e+02_rb,0.30043e+02_rb /) kbo(:,47,12) = (/ & & 0.17388e+02_rb,0.20062e+02_rb,0.22865e+02_rb,0.25992e+02_rb,0.29187e+02_rb /) kbo(:,48,12) = (/ & & 0.17144e+02_rb,0.19562e+02_rb,0.22419e+02_rb,0.25556e+02_rb,0.28578e+02_rb /) kbo(:,49,12) = (/ & & 0.16956e+02_rb,0.19439e+02_rb,0.22133e+02_rb,0.25135e+02_rb,0.28141e+02_rb /) kbo(:,50,12) = (/ & & 0.16529e+02_rb,0.19034e+02_rb,0.21605e+02_rb,0.24563e+02_rb,0.27331e+02_rb /) kbo(:,51,12) = (/ & & 0.15953e+02_rb,0.18522e+02_rb,0.21071e+02_rb,0.23856e+02_rb,0.26389e+02_rb /) kbo(:,52,12) = (/ & & 0.15476e+02_rb,0.18037e+02_rb,0.20576e+02_rb,0.23092e+02_rb,0.25303e+02_rb /) kbo(:,53,12) = (/ & & 0.14987e+02_rb,0.17619e+02_rb,0.20150e+02_rb,0.22182e+02_rb,0.24323e+02_rb /) kbo(:,54,12) = (/ & & 0.14316e+02_rb,0.16769e+02_rb,0.19340e+02_rb,0.21295e+02_rb,0.23328e+02_rb /) kbo(:,55,12) = (/ & & 0.13478e+02_rb,0.15723e+02_rb,0.18284e+02_rb,0.20497e+02_rb,0.22282e+02_rb /) kbo(:,56,12) = (/ & & 0.12615e+02_rb,0.14717e+02_rb,0.17222e+02_rb,0.19626e+02_rb,0.21412e+02_rb /) kbo(:,57,12) = (/ & & 0.11789e+02_rb,0.13910e+02_rb,0.16111e+02_rb,0.18559e+02_rb,0.20605e+02_rb /) kbo(:,58,12) = (/ & & 0.10935e+02_rb,0.12994e+02_rb,0.15023e+02_rb,0.17386e+02_rb,0.19630e+02_rb /) kbo(:,59,12) = (/ & & 0.10847e+02_rb,0.11985e+02_rb,0.13699e+02_rb,0.15922e+02_rb,0.18130e+02_rb /) kbo(:,13,13) = (/ & & 0.15243e+03_rb,0.15414e+03_rb,0.15604e+03_rb,0.15731e+03_rb,0.15805e+03_rb /) kbo(:,14,13) = (/ & & 0.15017e+03_rb,0.15285e+03_rb,0.15509e+03_rb,0.15662e+03_rb,0.15764e+03_rb /) kbo(:,15,13) = (/ & & 0.14701e+03_rb,0.15032e+03_rb,0.15250e+03_rb,0.15435e+03_rb,0.15583e+03_rb /) kbo(:,16,13) = (/ & & 0.14269e+03_rb,0.14580e+03_rb,0.14857e+03_rb,0.15094e+03_rb,0.15306e+03_rb /) kbo(:,17,13) = (/ & & 0.13670e+03_rb,0.14035e+03_rb,0.14376e+03_rb,0.14689e+03_rb,0.14976e+03_rb /) kbo(:,18,13) = (/ & & 0.13015e+03_rb,0.13455e+03_rb,0.13871e+03_rb,0.14263e+03_rb,0.14625e+03_rb /) kbo(:,19,13) = (/ & & 0.12287e+03_rb,0.12845e+03_rb,0.13370e+03_rb,0.13836e+03_rb,0.14277e+03_rb /) kbo(:,20,13) = (/ & & 0.11516e+03_rb,0.12176e+03_rb,0.12807e+03_rb,0.13396e+03_rb,0.13973e+03_rb /) kbo(:,21,13) = (/ & & 0.10676e+03_rb,0.11461e+03_rb,0.12196e+03_rb,0.12926e+03_rb,0.13605e+03_rb /) kbo(:,22,13) = (/ & & 0.98495e+02_rb,0.10775e+03_rb,0.11663e+03_rb,0.12493e+03_rb,0.13260e+03_rb /) kbo(:,23,13) = (/ & & 0.89816e+02_rb,0.10015e+03_rb,0.11065e+03_rb,0.12084e+03_rb,0.12951e+03_rb /) kbo(:,24,13) = (/ & & 0.82797e+02_rb,0.93590e+02_rb,0.10444e+03_rb,0.11545e+03_rb,0.12590e+03_rb /) kbo(:,25,13) = (/ & & 0.77256e+02_rb,0.88067e+02_rb,0.99408e+02_rb,0.11069e+03_rb,0.12164e+03_rb /) kbo(:,26,13) = (/ & & 0.73787e+02_rb,0.84230e+02_rb,0.95403e+02_rb,0.10719e+03_rb,0.11797e+03_rb /) kbo(:,27,13) = (/ & & 0.72626e+02_rb,0.82623e+02_rb,0.93417e+02_rb,0.10482e+03_rb,0.11588e+03_rb /) kbo(:,28,13) = (/ & & 0.72289e+02_rb,0.81705e+02_rb,0.92658e+02_rb,0.10355e+03_rb,0.11467e+03_rb /) kbo(:,29,13) = (/ & & 0.73831e+02_rb,0.83248e+02_rb,0.93801e+02_rb,0.10474e+03_rb,0.11551e+03_rb /) kbo(:,30,13) = (/ & & 0.76016e+02_rb,0.86113e+02_rb,0.95367e+02_rb,0.10651e+03_rb,0.11733e+03_rb /) kbo(:,31,13) = (/ & & 0.80058e+02_rb,0.89705e+02_rb,0.99793e+02_rb,0.10982e+03_rb,0.12052e+03_rb /) kbo(:,32,13) = (/ & & 0.85064e+02_rb,0.94860e+02_rb,0.10434e+03_rb,0.11401e+03_rb,0.12404e+03_rb /) kbo(:,33,13) = (/ & & 0.90655e+02_rb,0.10081e+03_rb,0.10992e+03_rb,0.11933e+03_rb,0.12788e+03_rb /) kbo(:,34,13) = (/ & & 0.95857e+02_rb,0.10597e+03_rb,0.11520e+03_rb,0.12356e+03_rb,0.13127e+03_rb /) kbo(:,35,13) = (/ & & 0.99393e+02_rb,0.11014e+03_rb,0.12003e+03_rb,0.12794e+03_rb,0.13407e+03_rb /) kbo(:,36,13) = (/ & & 0.10100e+03_rb,0.11220e+03_rb,0.12221e+03_rb,0.13085e+03_rb,0.13724e+03_rb /) kbo(:,37,13) = (/ & & 0.10052e+03_rb,0.11217e+03_rb,0.12302e+03_rb,0.13127e+03_rb,0.13704e+03_rb /) kbo(:,38,13) = (/ & & 0.10046e+03_rb,0.11273e+03_rb,0.12310e+03_rb,0.13118e+03_rb,0.13742e+03_rb /) kbo(:,39,13) = (/ & & 0.10122e+03_rb,0.11326e+03_rb,0.12361e+03_rb,0.13081e+03_rb,0.13784e+03_rb /) kbo(:,40,13) = (/ & & 0.10000e+03_rb,0.11180e+03_rb,0.12195e+03_rb,0.12930e+03_rb,0.13636e+03_rb /) kbo(:,41,13) = (/ & & 0.98394e+02_rb,0.11024e+03_rb,0.11969e+03_rb,0.12788e+03_rb,0.13497e+03_rb /) kbo(:,42,13) = (/ & & 0.97071e+02_rb,0.10823e+03_rb,0.11769e+03_rb,0.12630e+03_rb,0.13330e+03_rb /) kbo(:,43,13) = (/ & & 0.94820e+02_rb,0.10592e+03_rb,0.11514e+03_rb,0.12393e+03_rb,0.13107e+03_rb /) kbo(:,44,13) = (/ & & 0.92475e+02_rb,0.10313e+03_rb,0.11198e+03_rb,0.12120e+03_rb,0.12869e+03_rb /) kbo(:,45,13) = (/ & & 0.90255e+02_rb,0.99678e+02_rb,0.10888e+03_rb,0.11824e+03_rb,0.12634e+03_rb /) kbo(:,46,13) = (/ & & 0.87084e+02_rb,0.96376e+02_rb,0.10582e+03_rb,0.11496e+03_rb,0.12350e+03_rb /) kbo(:,47,13) = (/ & & 0.83116e+02_rb,0.92026e+02_rb,0.10209e+03_rb,0.11120e+03_rb,0.12020e+03_rb /) kbo(:,48,13) = (/ & & 0.78845e+02_rb,0.88316e+02_rb,0.97984e+02_rb,0.10729e+03_rb,0.11639e+03_rb /) kbo(:,49,13) = (/ & & 0.74841e+02_rb,0.84389e+02_rb,0.93907e+02_rb,0.10286e+03_rb,0.11277e+03_rb /) kbo(:,50,13) = (/ & & 0.71259e+02_rb,0.80370e+02_rb,0.89851e+02_rb,0.99011e+02_rb,0.10882e+03_rb /) kbo(:,51,13) = (/ & & 0.67667e+02_rb,0.76332e+02_rb,0.85552e+02_rb,0.95111e+02_rb,0.10517e+03_rb /) kbo(:,52,13) = (/ & & 0.64036e+02_rb,0.72373e+02_rb,0.81228e+02_rb,0.91458e+02_rb,0.10109e+03_rb /) kbo(:,53,13) = (/ & & 0.60531e+02_rb,0.68539e+02_rb,0.77029e+02_rb,0.87314e+02_rb,0.97171e+02_rb /) kbo(:,54,13) = (/ & & 0.57169e+02_rb,0.65298e+02_rb,0.73473e+02_rb,0.83504e+02_rb,0.93303e+02_rb /) kbo(:,55,13) = (/ & & 0.53955e+02_rb,0.61813e+02_rb,0.70099e+02_rb,0.79656e+02_rb,0.89859e+02_rb /) kbo(:,56,13) = (/ & & 0.50772e+02_rb,0.58658e+02_rb,0.66829e+02_rb,0.76079e+02_rb,0.86127e+02_rb /) kbo(:,57,13) = (/ & & 0.47708e+02_rb,0.55213e+02_rb,0.63250e+02_rb,0.72545e+02_rb,0.82495e+02_rb /) kbo(:,58,13) = (/ & & 0.45026e+02_rb,0.52243e+02_rb,0.60123e+02_rb,0.69281e+02_rb,0.79017e+02_rb /) kbo(:,59,13) = (/ & & 0.42111e+02_rb,0.50365e+02_rb,0.58368e+02_rb,0.67832e+02_rb,0.76877e+02_rb /) kbo(:,13,14) = (/ & & 0.32174e+03_rb,0.31744e+03_rb,0.31218e+03_rb,0.30740e+03_rb,0.30288e+03_rb /) kbo(:,14,14) = (/ & & 0.33593e+03_rb,0.33142e+03_rb,0.32669e+03_rb,0.32231e+03_rb,0.31834e+03_rb /) kbo(:,15,14) = (/ & & 0.34823e+03_rb,0.34389e+03_rb,0.34037e+03_rb,0.33690e+03_rb,0.33355e+03_rb /) kbo(:,16,14) = (/ & & 0.35878e+03_rb,0.35631e+03_rb,0.35376e+03_rb,0.35105e+03_rb,0.34819e+03_rb /) kbo(:,17,14) = (/ & & 0.36906e+03_rb,0.36793e+03_rb,0.36636e+03_rb,0.36433e+03_rb,0.36182e+03_rb /) kbo(:,18,14) = (/ & & 0.37817e+03_rb,0.37835e+03_rb,0.37763e+03_rb,0.37618e+03_rb,0.37389e+03_rb /) kbo(:,19,14) = (/ & & 0.38585e+03_rb,0.38729e+03_rb,0.38746e+03_rb,0.38655e+03_rb,0.38433e+03_rb /) kbo(:,20,14) = (/ & & 0.39236e+03_rb,0.39495e+03_rb,0.39589e+03_rb,0.39530e+03_rb,0.39330e+03_rb /) kbo(:,21,14) = (/ & & 0.39808e+03_rb,0.40159e+03_rb,0.40312e+03_rb,0.40280e+03_rb,0.40090e+03_rb /) kbo(:,22,14) = (/ & & 0.40338e+03_rb,0.40757e+03_rb,0.40933e+03_rb,0.40908e+03_rb,0.40708e+03_rb /) kbo(:,23,14) = (/ & & 0.40834e+03_rb,0.41282e+03_rb,0.41463e+03_rb,0.41442e+03_rb,0.41222e+03_rb /) kbo(:,24,14) = (/ & & 0.41280e+03_rb,0.41739e+03_rb,0.41916e+03_rb,0.41879e+03_rb,0.41631e+03_rb /) kbo(:,25,14) = (/ & & 0.41635e+03_rb,0.42140e+03_rb,0.42295e+03_rb,0.42231e+03_rb,0.41948e+03_rb /) kbo(:,26,14) = (/ & & 0.41887e+03_rb,0.42439e+03_rb,0.42613e+03_rb,0.42509e+03_rb,0.42199e+03_rb /) kbo(:,27,14) = (/ & & 0.42034e+03_rb,0.42637e+03_rb,0.42837e+03_rb,0.42723e+03_rb,0.42380e+03_rb /) kbo(:,28,14) = (/ & & 0.42191e+03_rb,0.42841e+03_rb,0.43008e+03_rb,0.42870e+03_rb,0.42501e+03_rb /) kbo(:,29,14) = (/ & & 0.42351e+03_rb,0.42979e+03_rb,0.43162e+03_rb,0.42986e+03_rb,0.42579e+03_rb /) kbo(:,30,14) = (/ & & 0.42461e+03_rb,0.42985e+03_rb,0.43291e+03_rb,0.43068e+03_rb,0.42610e+03_rb /) kbo(:,31,14) = (/ & & 0.42505e+03_rb,0.43017e+03_rb,0.43191e+03_rb,0.43099e+03_rb,0.42603e+03_rb /) kbo(:,32,14) = (/ & & 0.42362e+03_rb,0.42860e+03_rb,0.43041e+03_rb,0.42915e+03_rb,0.42555e+03_rb /) kbo(:,33,14) = (/ & & 0.42123e+03_rb,0.42505e+03_rb,0.42663e+03_rb,0.42551e+03_rb,0.42290e+03_rb /) kbo(:,34,14) = (/ & & 0.41773e+03_rb,0.42082e+03_rb,0.42178e+03_rb,0.42110e+03_rb,0.41858e+03_rb /) kbo(:,35,14) = (/ & & 0.41435e+03_rb,0.41544e+03_rb,0.41491e+03_rb,0.41443e+03_rb,0.41216e+03_rb /) kbo(:,36,14) = (/ & & 0.41009e+03_rb,0.41065e+03_rb,0.40988e+03_rb,0.40756e+03_rb,0.40367e+03_rb /) kbo(:,37,14) = (/ & & 0.40889e+03_rb,0.40948e+03_rb,0.40755e+03_rb,0.40547e+03_rb,0.40195e+03_rb /) kbo(:,38,14) = (/ & & 0.40736e+03_rb,0.40781e+03_rb,0.40666e+03_rb,0.40322e+03_rb,0.39939e+03_rb /) kbo(:,39,14) = (/ & & 0.40514e+03_rb,0.40605e+03_rb,0.40431e+03_rb,0.40166e+03_rb,0.39666e+03_rb /) kbo(:,40,14) = (/ & & 0.40543e+03_rb,0.40633e+03_rb,0.40490e+03_rb,0.40260e+03_rb,0.39791e+03_rb /) kbo(:,41,14) = (/ & & 0.40503e+03_rb,0.40615e+03_rb,0.40599e+03_rb,0.40348e+03_rb,0.39947e+03_rb /) kbo(:,42,14) = (/ & & 0.40408e+03_rb,0.40664e+03_rb,0.40681e+03_rb,0.40441e+03_rb,0.40107e+03_rb /) kbo(:,43,14) = (/ & & 0.40250e+03_rb,0.40659e+03_rb,0.40791e+03_rb,0.40633e+03_rb,0.40362e+03_rb /) kbo(:,44,14) = (/ & & 0.40121e+03_rb,0.40653e+03_rb,0.40934e+03_rb,0.40832e+03_rb,0.40616e+03_rb /) kbo(:,45,14) = (/ & & 0.39928e+03_rb,0.40669e+03_rb,0.41014e+03_rb,0.41010e+03_rb,0.40849e+03_rb /) kbo(:,46,14) = (/ & & 0.39656e+03_rb,0.40551e+03_rb,0.41027e+03_rb,0.41167e+03_rb,0.41068e+03_rb /) kbo(:,47,14) = (/ & & 0.39317e+03_rb,0.40403e+03_rb,0.40985e+03_rb,0.41273e+03_rb,0.41264e+03_rb /) kbo(:,48,14) = (/ & & 0.38915e+03_rb,0.40116e+03_rb,0.40932e+03_rb,0.41346e+03_rb,0.41469e+03_rb /) kbo(:,49,14) = (/ & & 0.38398e+03_rb,0.39755e+03_rb,0.40789e+03_rb,0.41416e+03_rb,0.41577e+03_rb /) kbo(:,50,14) = (/ & & 0.37757e+03_rb,0.39396e+03_rb,0.40616e+03_rb,0.41381e+03_rb,0.41707e+03_rb /) kbo(:,51,14) = (/ & & 0.37117e+03_rb,0.38987e+03_rb,0.40415e+03_rb,0.41318e+03_rb,0.41740e+03_rb /) kbo(:,52,14) = (/ & & 0.36408e+03_rb,0.38505e+03_rb,0.40161e+03_rb,0.41151e+03_rb,0.41801e+03_rb /) kbo(:,53,14) = (/ & & 0.35611e+03_rb,0.37948e+03_rb,0.39824e+03_rb,0.40994e+03_rb,0.41764e+03_rb /) kbo(:,54,14) = (/ & & 0.34712e+03_rb,0.37341e+03_rb,0.39425e+03_rb,0.40798e+03_rb,0.41739e+03_rb /) kbo(:,55,14) = (/ & & 0.33857e+03_rb,0.36757e+03_rb,0.38995e+03_rb,0.40583e+03_rb,0.41654e+03_rb /) kbo(:,56,14) = (/ & & 0.32949e+03_rb,0.36056e+03_rb,0.38492e+03_rb,0.40281e+03_rb,0.41532e+03_rb /) kbo(:,57,14) = (/ & & 0.31954e+03_rb,0.35312e+03_rb,0.37997e+03_rb,0.39944e+03_rb,0.41349e+03_rb /) kbo(:,58,14) = (/ & & 0.30943e+03_rb,0.34518e+03_rb,0.37428e+03_rb,0.39571e+03_rb,0.41155e+03_rb /) kbo(:,59,14) = (/ & & 0.30628e+03_rb,0.34259e+03_rb,0.37284e+03_rb,0.39463e+03_rb,0.41220e+03_rb /) kbo(:,13,15) = (/ & & 0.58702e+03_rb,0.56862e+03_rb,0.55331e+03_rb,0.53896e+03_rb,0.52495e+03_rb /) kbo(:,14,15) = (/ & & 0.64037e+03_rb,0.62129e+03_rb,0.60436e+03_rb,0.58772e+03_rb,0.57127e+03_rb /) kbo(:,15,15) = (/ & & 0.69642e+03_rb,0.67640e+03_rb,0.65677e+03_rb,0.63714e+03_rb,0.61752e+03_rb /) kbo(:,16,15) = (/ & & 0.75408e+03_rb,0.73150e+03_rb,0.70834e+03_rb,0.68512e+03_rb,0.66206e+03_rb /) kbo(:,17,15) = (/ & & 0.81156e+03_rb,0.78496e+03_rb,0.75773e+03_rb,0.73064e+03_rb,0.70441e+03_rb /) kbo(:,18,15) = (/ & & 0.86684e+03_rb,0.83552e+03_rb,0.80425e+03_rb,0.77370e+03_rb,0.74441e+03_rb /) kbo(:,19,15) = (/ & & 0.91879e+03_rb,0.88284e+03_rb,0.84773e+03_rb,0.81356e+03_rb,0.78105e+03_rb /) kbo(:,20,15) = (/ & & 0.96599e+03_rb,0.92558e+03_rb,0.88651e+03_rb,0.84884e+03_rb,0.81303e+03_rb /) kbo(:,21,15) = (/ & & 0.10076e+04_rb,0.96291e+03_rb,0.92009e+03_rb,0.87920e+03_rb,0.84047e+03_rb /) kbo(:,22,15) = (/ & & 0.10401e+04_rb,0.99157e+03_rb,0.94567e+03_rb,0.90208e+03_rb,0.86095e+03_rb /) kbo(:,23,15) = (/ & & 0.10659e+04_rb,0.10143e+04_rb,0.96587e+03_rb,0.91983e+03_rb,0.87686e+03_rb /) kbo(:,24,15) = (/ & & 0.10857e+04_rb,0.10316e+04_rb,0.98077e+03_rb,0.93285e+03_rb,0.88829e+03_rb /) kbo(:,25,15) = (/ & & 0.10994e+04_rb,0.10434e+04_rb,0.99070e+03_rb,0.94138e+03_rb,0.89569e+03_rb /) kbo(:,26,15) = (/ & & 0.11072e+04_rb,0.10495e+04_rb,0.99578e+03_rb,0.94553e+03_rb,0.89886e+03_rb /) kbo(:,27,15) = (/ & & 0.11107e+04_rb,0.10519e+04_rb,0.99732e+03_rb,0.94654e+03_rb,0.89932e+03_rb /) kbo(:,28,15) = (/ & & 0.11104e+04_rb,0.10510e+04_rb,0.99596e+03_rb,0.94493e+03_rb,0.89744e+03_rb /) kbo(:,29,15) = (/ & & 0.11068e+04_rb,0.10472e+04_rb,0.99206e+03_rb,0.94099e+03_rb,0.89320e+03_rb /) kbo(:,30,15) = (/ & & 0.11008e+04_rb,0.10413e+04_rb,0.98636e+03_rb,0.93544e+03_rb,0.88772e+03_rb /) kbo(:,31,15) = (/ & & 0.10926e+04_rb,0.10334e+04_rb,0.97895e+03_rb,0.92827e+03_rb,0.88094e+03_rb /) kbo(:,32,15) = (/ & & 0.10829e+04_rb,0.10242e+04_rb,0.97015e+03_rb,0.91986e+03_rb,0.87315e+03_rb /) kbo(:,33,15) = (/ & & 0.10718e+04_rb,0.10140e+04_rb,0.96048e+03_rb,0.91059e+03_rb,0.86462e+03_rb /) kbo(:,34,15) = (/ & & 0.10622e+04_rb,0.10049e+04_rb,0.95198e+03_rb,0.90258e+03_rb,0.85725e+03_rb /) kbo(:,35,15) = (/ & & 0.10576e+04_rb,0.10006e+04_rb,0.94772e+03_rb,0.89854e+03_rb,0.85365e+03_rb /) kbo(:,36,15) = (/ & & 0.10589e+04_rb,0.10017e+04_rb,0.94880e+03_rb,0.89934e+03_rb,0.85436e+03_rb /) kbo(:,37,15) = (/ & & 0.10689e+04_rb,0.10108e+04_rb,0.95721e+03_rb,0.90723e+03_rb,0.86136e+03_rb /) kbo(:,38,15) = (/ & & 0.10792e+04_rb,0.10202e+04_rb,0.96581e+03_rb,0.91534e+03_rb,0.86861e+03_rb /) kbo(:,39,15) = (/ & & 0.10893e+04_rb,0.10294e+04_rb,0.97432e+03_rb,0.92308e+03_rb,0.87586e+03_rb /) kbo(:,40,15) = (/ & & 0.11025e+04_rb,0.10445e+04_rb,0.98826e+03_rb,0.93598e+03_rb,0.88770e+03_rb /) kbo(:,41,15) = (/ & & 0.11189e+04_rb,0.10606e+04_rb,0.10030e+04_rb,0.94969e+03_rb,0.90027e+03_rb /) kbo(:,42,15) = (/ & & 0.11355e+04_rb,0.10769e+04_rb,0.10180e+04_rb,0.96359e+03_rb,0.91305e+03_rb /) kbo(:,43,15) = (/ & & 0.11585e+04_rb,0.10971e+04_rb,0.10364e+04_rb,0.98067e+03_rb,0.92886e+03_rb /) kbo(:,44,15) = (/ & & 0.11827e+04_rb,0.11193e+04_rb,0.10568e+04_rb,0.99947e+03_rb,0.94636e+03_rb /) kbo(:,45,15) = (/ & & 0.12075e+04_rb,0.11422e+04_rb,0.10778e+04_rb,0.10187e+04_rb,0.96421e+03_rb /) kbo(:,46,15) = (/ & & 0.12357e+04_rb,0.11671e+04_rb,0.11007e+04_rb,0.10396e+04_rb,0.98362e+03_rb /) kbo(:,47,15) = (/ & & 0.12667e+04_rb,0.11958e+04_rb,0.11271e+04_rb,0.10639e+04_rb,0.10059e+04_rb /) kbo(:,48,15) = (/ & & 0.12983e+04_rb,0.12254e+04_rb,0.11543e+04_rb,0.10888e+04_rb,0.10288e+04_rb /) kbo(:,49,15) = (/ & & 0.13304e+04_rb,0.12559e+04_rb,0.11825e+04_rb,0.11147e+04_rb,0.10526e+04_rb /) kbo(:,50,15) = (/ & & 0.13621e+04_rb,0.12852e+04_rb,0.12096e+04_rb,0.11397e+04_rb,0.10755e+04_rb /) kbo(:,51,15) = (/ & & 0.13919e+04_rb,0.13140e+04_rb,0.12368e+04_rb,0.11648e+04_rb,0.10985e+04_rb /) kbo(:,52,15) = (/ & & 0.14222e+04_rb,0.13432e+04_rb,0.12647e+04_rb,0.11905e+04_rb,0.11221e+04_rb /) kbo(:,53,15) = (/ & & 0.14531e+04_rb,0.13729e+04_rb,0.12932e+04_rb,0.12171e+04_rb,0.11465e+04_rb /) kbo(:,54,15) = (/ & & 0.14842e+04_rb,0.14002e+04_rb,0.13197e+04_rb,0.12421e+04_rb,0.11696e+04_rb /) kbo(:,55,15) = (/ & & 0.15120e+04_rb,0.14267e+04_rb,0.13453e+04_rb,0.12667e+04_rb,0.11922e+04_rb /) kbo(:,56,15) = (/ & & 0.15401e+04_rb,0.14538e+04_rb,0.13712e+04_rb,0.12915e+04_rb,0.12155e+04_rb /) kbo(:,57,15) = (/ & & 0.15682e+04_rb,0.14811e+04_rb,0.13973e+04_rb,0.13167e+04_rb,0.12393e+04_rb /) kbo(:,58,15) = (/ & & 0.15949e+04_rb,0.15073e+04_rb,0.14224e+04_rb,0.13410e+04_rb,0.12625e+04_rb /) kbo(:,59,15) = (/ & & 0.16055e+04_rb,0.15180e+04_rb,0.14326e+04_rb,0.13507e+04_rb,0.12718e+04_rb /) kbo(:,13,16) = (/ & & 0.98069e+03_rb,0.94212e+03_rb,0.90378e+03_rb,0.86861e+03_rb,0.83780e+03_rb /) kbo(:,14,16) = (/ & & 0.11010e+04_rb,0.10540e+04_rb,0.10095e+04_rb,0.96975e+03_rb,0.93339e+03_rb /) kbo(:,15,16) = (/ & & 0.12287e+04_rb,0.11714e+04_rb,0.11195e+04_rb,0.10736e+04_rb,0.10305e+04_rb /) kbo(:,16,16) = (/ & & 0.13596e+04_rb,0.12909e+04_rb,0.12306e+04_rb,0.11762e+04_rb,0.11252e+04_rb /) kbo(:,17,16) = (/ & & 0.14895e+04_rb,0.14091e+04_rb,0.13394e+04_rb,0.12751e+04_rb,0.12151e+04_rb /) kbo(:,18,16) = (/ & & 0.16148e+04_rb,0.15230e+04_rb,0.14425e+04_rb,0.13683e+04_rb,0.12989e+04_rb /) kbo(:,19,16) = (/ & & 0.17336e+04_rb,0.16302e+04_rb,0.15375e+04_rb,0.14530e+04_rb,0.13744e+04_rb /) kbo(:,20,16) = (/ & & 0.18405e+04_rb,0.17248e+04_rb,0.16208e+04_rb,0.15267e+04_rb,0.14397e+04_rb /) kbo(:,21,16) = (/ & & 0.19359e+04_rb,0.18083e+04_rb,0.16938e+04_rb,0.15909e+04_rb,0.14962e+04_rb /) kbo(:,22,16) = (/ & & 0.20085e+04_rb,0.18707e+04_rb,0.17478e+04_rb,0.16373e+04_rb,0.15366e+04_rb /) kbo(:,23,16) = (/ & & 0.20648e+04_rb,0.19188e+04_rb,0.17890e+04_rb,0.16725e+04_rb,0.15672e+04_rb /) kbo(:,24,16) = (/ & & 0.21054e+04_rb,0.19528e+04_rb,0.18178e+04_rb,0.16967e+04_rb,0.15881e+04_rb /) kbo(:,25,16) = (/ & & 0.21318e+04_rb,0.19742e+04_rb,0.18353e+04_rb,0.17113e+04_rb,0.16005e+04_rb /) kbo(:,26,16) = (/ & & 0.21433e+04_rb,0.19836e+04_rb,0.18416e+04_rb,0.17161e+04_rb,0.16044e+04_rb /) kbo(:,27,16) = (/ & & 0.21445e+04_rb,0.19835e+04_rb,0.18409e+04_rb,0.17145e+04_rb,0.16033e+04_rb /) kbo(:,28,16) = (/ & & 0.21374e+04_rb,0.19764e+04_rb,0.18336e+04_rb,0.17081e+04_rb,0.15978e+04_rb /) kbo(:,29,16) = (/ & & 0.21225e+04_rb,0.19618e+04_rb,0.18208e+04_rb,0.16961e+04_rb,0.15894e+04_rb /) kbo(:,30,16) = (/ & & 0.21033e+04_rb,0.19434e+04_rb,0.18039e+04_rb,0.16808e+04_rb,0.15775e+04_rb /) kbo(:,31,16) = (/ & & 0.20779e+04_rb,0.19206e+04_rb,0.17837e+04_rb,0.16635e+04_rb,0.15631e+04_rb /) kbo(:,32,16) = (/ & & 0.20491e+04_rb,0.18949e+04_rb,0.17612e+04_rb,0.16447e+04_rb,0.15471e+04_rb /) kbo(:,33,16) = (/ & & 0.20177e+04_rb,0.18682e+04_rb,0.17367e+04_rb,0.16246e+04_rb,0.15302e+04_rb /) kbo(:,34,16) = (/ & & 0.19905e+04_rb,0.18445e+04_rb,0.17155e+04_rb,0.16076e+04_rb,0.15146e+04_rb /) kbo(:,35,16) = (/ & & 0.19774e+04_rb,0.18329e+04_rb,0.17061e+04_rb,0.16001e+04_rb,0.15070e+04_rb /) kbo(:,36,16) = (/ & & 0.19799e+04_rb,0.18350e+04_rb,0.17079e+04_rb,0.16017e+04_rb,0.15083e+04_rb /) kbo(:,37,16) = (/ & & 0.20051e+04_rb,0.18569e+04_rb,0.17271e+04_rb,0.16176e+04_rb,0.15230e+04_rb /) kbo(:,38,16) = (/ & & 0.20315e+04_rb,0.18800e+04_rb,0.17473e+04_rb,0.16343e+04_rb,0.15379e+04_rb /) kbo(:,39,16) = (/ & & 0.20576e+04_rb,0.19026e+04_rb,0.17672e+04_rb,0.16508e+04_rb,0.15527e+04_rb /) kbo(:,40,16) = (/ & & 0.21013e+04_rb,0.19405e+04_rb,0.18004e+04_rb,0.16787e+04_rb,0.15771e+04_rb /) kbo(:,41,16) = (/ & & 0.21482e+04_rb,0.19814e+04_rb,0.18363e+04_rb,0.17091e+04_rb,0.16029e+04_rb /) kbo(:,42,16) = (/ & & 0.21964e+04_rb,0.20236e+04_rb,0.18732e+04_rb,0.17410e+04_rb,0.16295e+04_rb /) kbo(:,43,16) = (/ & & 0.22568e+04_rb,0.20769e+04_rb,0.19193e+04_rb,0.17816e+04_rb,0.16630e+04_rb /) kbo(:,44,16) = (/ & & 0.23247e+04_rb,0.21362e+04_rb,0.19712e+04_rb,0.18270e+04_rb,0.17012e+04_rb /) kbo(:,45,16) = (/ & & 0.23959e+04_rb,0.21983e+04_rb,0.20252e+04_rb,0.18744e+04_rb,0.17420e+04_rb /) kbo(:,46,16) = (/ & & 0.24748e+04_rb,0.22670e+04_rb,0.20858e+04_rb,0.19269e+04_rb,0.17884e+04_rb /) kbo(:,47,16) = (/ & & 0.25688e+04_rb,0.23479e+04_rb,0.21568e+04_rb,0.19886e+04_rb,0.18424e+04_rb /) kbo(:,48,16) = (/ & & 0.26704e+04_rb,0.24334e+04_rb,0.22313e+04_rb,0.20542e+04_rb,0.18994e+04_rb /) kbo(:,49,16) = (/ & & 0.27805e+04_rb,0.25238e+04_rb,0.23096e+04_rb,0.21232e+04_rb,0.19594e+04_rb /) kbo(:,50,16) = (/ & & 0.28920e+04_rb,0.26151e+04_rb,0.23873e+04_rb,0.21911e+04_rb,0.20186e+04_rb /) kbo(:,51,16) = (/ & & 0.30093e+04_rb,0.27098e+04_rb,0.24666e+04_rb,0.22601e+04_rb,0.20794e+04_rb /) kbo(:,52,16) = (/ & & 0.31338e+04_rb,0.28121e+04_rb,0.25503e+04_rb,0.23323e+04_rb,0.21428e+04_rb /) kbo(:,53,16) = (/ & & 0.32663e+04_rb,0.29228e+04_rb,0.26405e+04_rb,0.24086e+04_rb,0.22095e+04_rb /) kbo(:,54,16) = (/ & & 0.33958e+04_rb,0.30317e+04_rb,0.27288e+04_rb,0.24819e+04_rb,0.22731e+04_rb /) kbo(:,55,16) = (/ & & 0.35272e+04_rb,0.31418e+04_rb,0.28194e+04_rb,0.25560e+04_rb,0.23371e+04_rb /) kbo(:,56,16) = (/ & & 0.36664e+04_rb,0.32577e+04_rb,0.29162e+04_rb,0.26350e+04_rb,0.24040e+04_rb /) kbo(:,57,16) = (/ & & 0.38139e+04_rb,0.33808e+04_rb,0.30193e+04_rb,0.27188e+04_rb,0.24736e+04_rb /) kbo(:,58,16) = (/ & & 0.39629e+04_rb,0.35038e+04_rb,0.31229e+04_rb,0.28034e+04_rb,0.25431e+04_rb /) kbo(:,59,16) = (/ & & 0.40252e+04_rb,0.35562e+04_rb,0.31659e+04_rb,0.28393e+04_rb,0.25724e+04_rb /) ! ----------------------------------------------------------------- forrefo(:, 1) = (/ 0.525585e-05_rb, 0.527618e-05_rb, 0.746929e-04_rb /) forrefo(:, 2) = (/ 0.794660e-05_rb, 0.136902e-04_rb, 0.849878e-04_rb /) forrefo(:, 3) = (/ 0.197099e-04_rb, 0.733094e-04_rb, 0.121687e-03_rb /) forrefo(:, 4) = (/ 0.148274e-03_rb, 0.169776e-03_rb, 0.164848e-03_rb /) forrefo(:, 5) = (/ 0.230296e-03_rb, 0.210384e-03_rb, 0.182028e-03_rb /) forrefo(:, 6) = (/ 0.280575e-03_rb, 0.259217e-03_rb, 0.196080e-03_rb /) forrefo(:, 7) = (/ 0.329034e-03_rb, 0.291575e-03_rb, 0.207044e-03_rb /) forrefo(:, 8) = (/ 0.349989e-03_rb, 0.323471e-03_rb, 0.225712e-03_rb /) forrefo(:, 9) = (/ 0.366097e-03_rb, 0.321519e-03_rb, 0.253150e-03_rb /) forrefo(:,10) = (/ 0.383589e-03_rb, 0.355314e-03_rb, 0.262555e-03_rb /) forrefo(:,11) = (/ 0.375933e-03_rb, 0.372443e-03_rb, 0.261313e-03_rb /) forrefo(:,12) = (/ 0.370652e-03_rb, 0.382366e-03_rb, 0.250070e-03_rb /) forrefo(:,13) = (/ 0.375092e-03_rb, 0.379542e-03_rb, 0.265794e-03_rb /) forrefo(:,14) = (/ 0.389705e-03_rb, 0.384274e-03_rb, 0.322135e-03_rb /) forrefo(:,15) = (/ 0.372084e-03_rb, 0.390422e-03_rb, 0.370035e-03_rb /) forrefo(:,16) = (/ 0.437802e-03_rb, 0.373406e-03_rb, 0.373222e-03_rb /) ! ----------------------------------------------------------------- ! The array SELFREFO contains the coefficient of the water vapor ! self-continuum (including the energy term). The first index ! refers to temperature in 7.2 degree increments. For instance, ! JT = 1 refers to a temperature of 245.6, JT = 2 refers to 252.8, ! etc. The second index runs over the g-channel (1 to 16). ! ----------------------------------------------------------------- selfrefo(:, 1) = (/ & & 0.126758e-02_rb, 0.105253e-02_rb, 0.873963e-03_rb, 0.725690e-03_rb, 0.602573e-03_rb, & & 0.500344e-03_rb, 0.415458e-03_rb, 0.344973e-03_rb, 0.286447e-03_rb, 0.237849e-03_rb /) selfrefo(:, 2) = (/ & & 0.144006e-02_rb, 0.118514e-02_rb, 0.975351e-03_rb, 0.802697e-03_rb, 0.660606e-03_rb, & & 0.543667e-03_rb, 0.447429e-03_rb, 0.368226e-03_rb, 0.303044e-03_rb, 0.249400e-03_rb /) selfrefo(:, 3) = (/ & & 0.294018e-02_rb, 0.227428e-02_rb, 0.175920e-02_rb, 0.136077e-02_rb, 0.105258e-02_rb, & & 0.814189e-03_rb, 0.629789e-03_rb, 0.487153e-03_rb, 0.376821e-03_rb, 0.291478e-03_rb /) selfrefo(:, 4) = (/ & & 0.395290e-02_rb, 0.348405e-02_rb, 0.307081e-02_rb, 0.270658e-02_rb, 0.238556e-02_rb, & & 0.210261e-02_rb, 0.185322e-02_rb, 0.163341e-02_rb, 0.143967e-02_rb, 0.126891e-02_rb /) selfrefo(:, 5) = (/ & & 0.419122e-02_rb, 0.385638e-02_rb, 0.354829e-02_rb, 0.326481e-02_rb, 0.300398e-02_rb, & & 0.276399e-02_rb, 0.254317e-02_rb, 0.234000e-02_rb, 0.215305e-02_rb, 0.198104e-02_rb /) selfrefo(:, 6) = (/ & & 0.495659e-02_rb, 0.456777e-02_rb, 0.420945e-02_rb, 0.387924e-02_rb, 0.357494e-02_rb, & & 0.329450e-02_rb, 0.303606e-02_rb, 0.279790e-02_rb, 0.257842e-02_rb, 0.237615e-02_rb /) selfrefo(:, 7) = (/ & & 0.526981e-02_rb, 0.490687e-02_rb, 0.456893e-02_rb, 0.425426e-02_rb, 0.396126e-02_rb, & & 0.368844e-02_rb, 0.343441e-02_rb, 0.319788e-02_rb, 0.297764e-02_rb, 0.277256e-02_rb /) selfrefo(:, 8) = (/ & & 0.575426e-02_rb, 0.531597e-02_rb, 0.491106e-02_rb, 0.453699e-02_rb, 0.419141e-02_rb, & & 0.387216e-02_rb, 0.357722e-02_rb, 0.330475e-02_rb, 0.305303e-02_rb, 0.282048e-02_rb /) selfrefo(:, 9) = (/ & & 0.549881e-02_rb, 0.514328e-02_rb, 0.481074e-02_rb, 0.449970e-02_rb, 0.420877e-02_rb, & & 0.393665e-02_rb, 0.368213e-02_rb, 0.344406e-02_rb, 0.322138e-02_rb, 0.301310e-02_rb /) selfrefo(:,10) = (/ & & 0.605357e-02_rb, 0.561246e-02_rb, 0.520349e-02_rb, 0.482432e-02_rb, 0.447278e-02_rb, & & 0.414686e-02_rb, 0.384469e-02_rb, 0.356453e-02_rb, 0.330479e-02_rb, 0.306398e-02_rb /) selfrefo(:,11) = (/ & & 0.640504e-02_rb, 0.587858e-02_rb, 0.539540e-02_rb, 0.495194e-02_rb, 0.454492e-02_rb, & & 0.417136e-02_rb, 0.382850e-02_rb, 0.351382e-02_rb, 0.322501e-02_rb, 0.295993e-02_rb /) selfrefo(:,12) = (/ & & 0.677803e-02_rb, 0.615625e-02_rb, 0.559152e-02_rb, 0.507859e-02_rb, 0.461271e-02_rb, & & 0.418957e-02_rb, 0.380524e-02_rb, 0.345617e-02_rb, 0.313913e-02_rb, 0.285116e-02_rb /) selfrefo(:,13) = (/ & & 0.690347e-02_rb, 0.627003e-02_rb, 0.569472e-02_rb, 0.517219e-02_rb, 0.469761e-02_rb, & & 0.426658e-02_rb, 0.387509e-02_rb, 0.351953e-02_rb, 0.319659e-02_rb, 0.290328e-02_rb /) selfrefo(:,14) = (/ & & 0.692680e-02_rb, 0.632795e-02_rb, 0.578087e-02_rb, 0.528109e-02_rb, 0.482452e-02_rb, & & 0.440742e-02_rb, 0.402638e-02_rb, 0.367828e-02_rb, 0.336028e-02_rb, 0.306977e-02_rb /) selfrefo(:,15) = (/ & & 0.754894e-02_rb, 0.681481e-02_rb, 0.615207e-02_rb, 0.555378e-02_rb, 0.501367e-02_rb, & & 0.452609e-02_rb, 0.408593e-02_rb, 0.368857e-02_rb, 0.332986e-02_rb, 0.300603e-02_rb /) selfrefo(:,16) = (/ & & 0.760689e-02_rb, 0.709755e-02_rb, 0.662232e-02_rb, 0.617891e-02_rb, 0.576519e-02_rb, & & 0.537917e-02_rb, 0.501899e-02_rb, 0.468293e-02_rb, 0.436938e-02_rb, 0.407682e-02_rb /) end subroutine sw_kgb16 ! ************************************************************************** subroutine sw_kgb17 ! ************************************************************************** use parkind, only : im => kind_im, rb => kind_rb use rrsw_kg17, only : kao, kbo, selfrefo, forrefo, sfluxrefo, rayl implicit none save ! Kurucz solar source function sfluxrefo(:,1) = (/ & & 3.15613_rb , 3.03449_rb , 2.92069_rb , 2.63874_rb , & & 2.34581_rb , 2.06999_rb , 1.70906_rb , 1.29085_rb , & & 0.874851_rb , 0.0955392_rb, 0.0787813_rb, 0.0621951_rb , & & 0.0459076_rb, 0.0294129_rb, 0.0110387_rb, 0.00159668_rb /) sfluxrefo(:,2) = (/ & & 2.83147_rb , 2.95919_rb , 2.96674_rb , 2.77677_rb , & & 2.46826_rb , 2.11481_rb , 1.73243_rb , 1.30279_rb , & & 0.882714_rb , 0.0962350_rb, 0.0802122_rb, 0.0636194_rb , & & 0.0472620_rb, 0.0299051_rb, 0.0110785_rb, 0.00159668_rb /) sfluxrefo(:,3) = (/ & & 2.82300_rb , 2.94845_rb , 2.95887_rb , 2.77593_rb , & & 2.47096_rb , 2.12596_rb , 1.73847_rb , 1.30796_rb , & & 0.884395_rb , 0.0966936_rb, 0.0801996_rb, 0.0640199_rb , & & 0.0472803_rb, 0.0300515_rb, 0.0112366_rb, 0.00160814_rb /) sfluxrefo(:,4) = (/ & & 2.81715_rb , 2.93789_rb , 2.95091_rb , 2.77046_rb , & & 2.47716_rb , 2.13591_rb , 1.74365_rb , 1.31277_rb , & & 0.887443_rb , 0.0967016_rb, 0.0803391_rb, 0.0642442_rb , & & 0.0472909_rb, 0.0300720_rb, 0.0114817_rb, 0.00161875_rb /) sfluxrefo(:,5) = (/ & & 2.82335_rb , 2.93168_rb , 2.91455_rb , 2.75213_rb , & & 2.49168_rb , 2.14408_rb , 1.75726_rb , 1.32401_rb , & & 0.893644_rb , 0.0969523_rb, 0.0805197_rb, 0.0639936_rb , & & 0.0475099_rb, 0.0305667_rb, 0.0115372_rb, 0.00161875_rb /) ! Rayleigh extinction coefficient at v = 3625 cm-1. rayl = 6.86e-10_rb ! ------------------------------------------------------------------ ! The array KAO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels> ~100mb, temperatures, and binary ! species parameters (see taumol.f for definition). The first ! index in the array, JS, runs from 1 to 9, and corresponds to ! different values of the binary species parameter. For instance, ! JS=1 refers to dry air, JS = 2 corresponds to the paramter value 1/8, ! JS = 3 corresponds to the parameter value 2/8, etc. The second index ! in the array, JT, which runs from 1 to 5, corresponds to different ! temperatures. More specifically, JT = 3 means that the data are for ! the reference temperature TREF for this pressure level, JT = 2 refers ! to TREF-15, JT = 1 is for TREF-30, JT = 4 is for TREF+15, and JT = 5 ! is for TREF+30. The third index, JP, runs from 1 to 13 and refers ! to the JPth reference pressure level (see taumol.f for these levels ! in mb). The fourth index, IG, goes from 1 to 16, and indicates ! which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kao(:, 1, 1, 1) = (/ & & 0.11134e-05_rb,0.32092e-03_rb,0.55663e-03_rb,0.78227e-03_rb,0.99421e-03_rb, & & 0.12045e-02_rb,0.14116e-02_rb,0.16069e-02_rb,0.19330e-02_rb /) kao(:, 2, 1, 1) = (/ & & 0.10544e-05_rb,0.35434e-03_rb,0.61480e-03_rb,0.86424e-03_rb,0.11055e-02_rb, & & 0.13431e-02_rb,0.15754e-02_rb,0.17951e-02_rb,0.21280e-02_rb /) kao(:, 3, 1, 1) = (/ & & 0.98345e-06_rb,0.38989e-03_rb,0.67747e-03_rb,0.95289e-03_rb,0.12196e-02_rb, & & 0.14864e-02_rb,0.17449e-02_rb,0.19897e-02_rb,0.23564e-02_rb /) kao(:, 4, 1, 1) = (/ & & 0.95017e-06_rb,0.42582e-03_rb,0.74419e-03_rb,0.10463e-02_rb,0.13424e-02_rb, & & 0.16353e-02_rb,0.19215e-02_rb,0.21939e-02_rb,0.25993e-02_rb /) kao(:, 5, 1, 1) = (/ & & 0.91870e-06_rb,0.46371e-03_rb,0.81394e-03_rb,0.11464e-02_rb,0.14715e-02_rb, & & 0.17937e-02_rb,0.21072e-02_rb,0.24077e-02_rb,0.28540e-02_rb /) kao(:, 1, 2, 1) = (/ & & 0.94184e-06_rb,0.26532e-03_rb,0.46157e-03_rb,0.63776e-03_rb,0.81087e-03_rb, & & 0.97728e-03_rb,0.11419e-02_rb,0.12991e-02_rb,0.15121e-02_rb /) kao(:, 2, 2, 1) = (/ & & 0.89060e-06_rb,0.29417e-03_rb,0.50967e-03_rb,0.70759e-03_rb,0.90203e-03_rb, & & 0.10920e-02_rb,0.12764e-02_rb,0.14544e-02_rb,0.16795e-02_rb /) kao(:, 3, 2, 1) = (/ & & 0.82720e-06_rb,0.32361e-03_rb,0.56124e-03_rb,0.78299e-03_rb,0.99718e-03_rb, & & 0.12094e-02_rb,0.14172e-02_rb,0.16165e-02_rb,0.18637e-02_rb /) kao(:, 4, 2, 1) = (/ & & 0.78842e-06_rb,0.35495e-03_rb,0.61684e-03_rb,0.86176e-03_rb,0.10995e-02_rb, & & 0.13345e-02_rb,0.15652e-02_rb,0.17856e-02_rb,0.20621e-02_rb /) kao(:, 5, 2, 1) = (/ & & 0.76610e-06_rb,0.38728e-03_rb,0.67538e-03_rb,0.94613e-03_rb,0.12082e-02_rb, & & 0.14675e-02_rb,0.17206e-02_rb,0.19640e-02_rb,0.22720e-02_rb /) kao(:, 1, 3, 1) = (/ & & 0.79663e-06_rb,0.21369e-03_rb,0.37088e-03_rb,0.51222e-03_rb,0.64549e-03_rb, & & 0.77322e-03_rb,0.89939e-03_rb,0.10205e-02_rb,0.11568e-02_rb /) kao(:, 2, 3, 1) = (/ & & 0.75955e-06_rb,0.23780e-03_rb,0.41153e-03_rb,0.56901e-03_rb,0.72009e-03_rb, & & 0.86735e-03_rb,0.10092e-02_rb,0.11476e-02_rb,0.12913e-02_rb /) kao(:, 3, 3, 1) = (/ & & 0.71692e-06_rb,0.26276e-03_rb,0.45488e-03_rb,0.62922e-03_rb,0.79836e-03_rb, & & 0.96259e-03_rb,0.11236e-02_rb,0.12796e-02_rb,0.14398e-02_rb /) kao(:, 4, 3, 1) = (/ & & 0.66348e-06_rb,0.28896e-03_rb,0.50221e-03_rb,0.69411e-03_rb,0.88226e-03_rb, & & 0.10658e-02_rb,0.12456e-02_rb,0.14191e-02_rb,0.15991e-02_rb /) kao(:, 5, 3, 1) = (/ & & 0.64013e-06_rb,0.31643e-03_rb,0.55166e-03_rb,0.76434e-03_rb,0.97216e-03_rb, & & 0.11745e-02_rb,0.13731e-02_rb,0.15657e-02_rb,0.17671e-02_rb /) kao(:, 1, 4, 1) = (/ & & 0.66217e-06_rb,0.16966e-03_rb,0.29358e-03_rb,0.40688e-03_rb,0.51114e-03_rb, & & 0.60739e-03_rb,0.70191e-03_rb,0.79446e-03_rb,0.88832e-03_rb /) kao(:, 2, 4, 1) = (/ & & 0.64111e-06_rb,0.18902e-03_rb,0.32742e-03_rb,0.45364e-03_rb,0.57086e-03_rb, & & 0.68401e-03_rb,0.79116e-03_rb,0.89507e-03_rb,0.99655e-03_rb /) kao(:, 3, 4, 1) = (/ & & 0.60729e-06_rb,0.21007e-03_rb,0.36354e-03_rb,0.50354e-03_rb,0.63459e-03_rb, & & 0.76113e-03_rb,0.88473e-03_rb,0.10035e-02_rb,0.11163e-02_rb /) kao(:, 4, 4, 1) = (/ & & 0.57250e-06_rb,0.23203e-03_rb,0.40245e-03_rb,0.55758e-03_rb,0.70295e-03_rb, & & 0.84515e-03_rb,0.98379e-03_rb,0.11165e-02_rb,0.12444e-02_rb /) kao(:, 5, 4, 1) = (/ & & 0.53524e-06_rb,0.25529e-03_rb,0.44399e-03_rb,0.61564e-03_rb,0.77626e-03_rb, & & 0.93405e-03_rb,0.10892e-02_rb,0.12369e-02_rb,0.13795e-02_rb /) kao(:, 1, 5, 1) = (/ & & 0.55112e-06_rb,0.13422e-03_rb,0.23166e-03_rb,0.32119e-03_rb,0.40265e-03_rb, & & 0.47812e-03_rb,0.54797e-03_rb,0.61873e-03_rb,0.68912e-03_rb /) kao(:, 2, 5, 1) = (/ & & 0.53669e-06_rb,0.14990e-03_rb,0.25949e-03_rb,0.35886e-03_rb,0.45239e-03_rb, & & 0.53936e-03_rb,0.61894e-03_rb,0.69718e-03_rb,0.77732e-03_rb /) kao(:, 3, 5, 1) = (/ & & 0.51495e-06_rb,0.16706e-03_rb,0.28960e-03_rb,0.40020e-03_rb,0.50461e-03_rb, & & 0.60249e-03_rb,0.69677e-03_rb,0.78464e-03_rb,0.87334e-03_rb /) kao(:, 4, 5, 1) = (/ & & 0.48633e-06_rb,0.18543e-03_rb,0.32159e-03_rb,0.44499e-03_rb,0.56095e-03_rb, & & 0.67055e-03_rb,0.77575e-03_rb,0.87717e-03_rb,0.97694e-03_rb /) kao(:, 5, 5, 1) = (/ & & 0.45162e-06_rb,0.20472e-03_rb,0.35591e-03_rb,0.49350e-03_rb,0.62163e-03_rb, & & 0.74253e-03_rb,0.86247e-03_rb,0.97518e-03_rb,0.10864e-02_rb /) kao(:, 1, 6, 1) = (/ & & 0.45055e-06_rb,0.10556e-03_rb,0.18176e-03_rb,0.25137e-03_rb,0.31438e-03_rb, & & 0.37363e-03_rb,0.42759e-03_rb,0.47883e-03_rb,0.53437e-03_rb /) kao(:, 2, 6, 1) = (/ & & 0.44502e-06_rb,0.11814e-03_rb,0.20383e-03_rb,0.28162e-03_rb,0.35547e-03_rb, & & 0.42261e-03_rb,0.48340e-03_rb,0.54066e-03_rb,0.60352e-03_rb /) kao(:, 3, 6, 1) = (/ & & 0.43066e-06_rb,0.13217e-03_rb,0.22836e-03_rb,0.31552e-03_rb,0.39762e-03_rb, & & 0.47493e-03_rb,0.54543e-03_rb,0.61066e-03_rb,0.68176e-03_rb /) kao(:, 4, 6, 1) = (/ & & 0.41116e-06_rb,0.14733e-03_rb,0.25472e-03_rb,0.35204e-03_rb,0.44334e-03_rb, & & 0.52997e-03_rb,0.60966e-03_rb,0.68622e-03_rb,0.76607e-03_rb /) kao(:, 5, 6, 1) = (/ & & 0.38748e-06_rb,0.16344e-03_rb,0.28281e-03_rb,0.39173e-03_rb,0.49305e-03_rb, & & 0.58880e-03_rb,0.67954e-03_rb,0.76485e-03_rb,0.85401e-03_rb /) kao(:, 1, 7, 1) = (/ & & 0.36582e-06_rb,0.82958e-04_rb,0.14210e-03_rb,0.19574e-03_rb,0.24440e-03_rb, & & 0.29039e-03_rb,0.33281e-03_rb,0.37177e-03_rb,0.42178e-03_rb /) kao(:, 2, 7, 1) = (/ & & 0.36707e-06_rb,0.92909e-04_rb,0.15977e-03_rb,0.22034e-03_rb,0.27742e-03_rb, & & 0.32955e-03_rb,0.37727e-03_rb,0.41956e-03_rb,0.47859e-03_rb /) kao(:, 3, 7, 1) = (/ & & 0.35787e-06_rb,0.10432e-03_rb,0.17930e-03_rb,0.24769e-03_rb,0.31155e-03_rb, & & 0.37242e-03_rb,0.42699e-03_rb,0.47474e-03_rb,0.54083e-03_rb /) kao(:, 4, 7, 1) = (/ & & 0.34482e-06_rb,0.11685e-03_rb,0.20055e-03_rb,0.27725e-03_rb,0.34866e-03_rb, & & 0.41677e-03_rb,0.47903e-03_rb,0.53518e-03_rb,0.60812e-03_rb /) kao(:, 5, 7, 1) = (/ & & 0.32598e-06_rb,0.13001e-03_rb,0.22341e-03_rb,0.30900e-03_rb,0.38919e-03_rb, & & 0.46465e-03_rb,0.53467e-03_rb,0.59926e-03_rb,0.67733e-03_rb /) kao(:, 1, 8, 1) = (/ & & 0.29834e-06_rb,0.65009e-04_rb,0.11183e-03_rb,0.15200e-03_rb,0.18969e-03_rb, & & 0.22517e-03_rb,0.25832e-03_rb,0.28730e-03_rb,0.33955e-03_rb /) kao(:, 2, 8, 1) = (/ & & 0.29745e-06_rb,0.72872e-04_rb,0.12482e-03_rb,0.17221e-03_rb,0.21583e-03_rb, & & 0.25596e-03_rb,0.29328e-03_rb,0.32520e-03_rb,0.38620e-03_rb /) kao(:, 3, 8, 1) = (/ & & 0.29421e-06_rb,0.82036e-04_rb,0.14010e-03_rb,0.19344e-03_rb,0.24362e-03_rb, & & 0.29071e-03_rb,0.33308e-03_rb,0.36867e-03_rb,0.43901e-03_rb /) kao(:, 4, 8, 1) = (/ & & 0.28596e-06_rb,0.92256e-04_rb,0.15738e-03_rb,0.21752e-03_rb,0.27325e-03_rb, & & 0.32643e-03_rb,0.37578e-03_rb,0.41710e-03_rb,0.49358e-03_rb /) kao(:, 5, 8, 1) = (/ & & 0.27296e-06_rb,0.10320e-03_rb,0.17598e-03_rb,0.24339e-03_rb,0.30591e-03_rb, & & 0.36505e-03_rb,0.42061e-03_rb,0.46872e-03_rb,0.54993e-03_rb /) kao(:, 1, 9, 1) = (/ & & 0.24259e-06_rb,0.50626e-04_rb,0.86945e-04_rb,0.11778e-03_rb,0.14692e-03_rb, & & 0.17431e-03_rb,0.20057e-03_rb,0.22131e-03_rb,0.29919e-03_rb /) kao(:, 2, 9, 1) = (/ & & 0.24058e-06_rb,0.56966e-04_rb,0.97467e-04_rb,0.13405e-03_rb,0.16750e-03_rb, & & 0.19814e-03_rb,0.22739e-03_rb,0.25281e-03_rb,0.34022e-03_rb /) kao(:, 3, 9, 1) = (/ & & 0.24091e-06_rb,0.64324e-04_rb,0.10971e-03_rb,0.15061e-03_rb,0.18996e-03_rb, & & 0.22580e-03_rb,0.25885e-03_rb,0.28694e-03_rb,0.38045e-03_rb /) kao(:, 4, 9, 1) = (/ & & 0.23550e-06_rb,0.72451e-04_rb,0.12345e-03_rb,0.16991e-03_rb,0.21362e-03_rb, & & 0.25484e-03_rb,0.29341e-03_rb,0.32523e-03_rb,0.42836e-03_rb /) kao(:, 5, 9, 1) = (/ & & 0.22696e-06_rb,0.81351e-04_rb,0.13839e-03_rb,0.19090e-03_rb,0.23986e-03_rb, & & 0.28608e-03_rb,0.32910e-03_rb,0.36639e-03_rb,0.47925e-03_rb /) kao(:, 1,10, 1) = (/ & & 0.19679e-06_rb,0.39760e-04_rb,0.68052e-04_rb,0.92295e-04_rb,0.11498e-03_rb, & & 0.13656e-03_rb,0.15604e-03_rb,0.17171e-03_rb,0.29679e-03_rb /) kao(:, 2,10, 1) = (/ & & 0.19567e-06_rb,0.44847e-04_rb,0.76829e-04_rb,0.10518e-03_rb,0.13102e-03_rb, & & 0.15509e-03_rb,0.17764e-03_rb,0.19843e-03_rb,0.32863e-03_rb /) kao(:, 3,10, 1) = (/ & & 0.19574e-06_rb,0.50565e-04_rb,0.86466e-04_rb,0.11878e-03_rb,0.14920e-03_rb, & & 0.17698e-03_rb,0.20258e-03_rb,0.22526e-03_rb,0.36959e-03_rb /) kao(:, 4,10, 1) = (/ & & 0.19262e-06_rb,0.57124e-04_rb,0.97546e-04_rb,0.13398e-03_rb,0.16803e-03_rb, & & 0.20046e-03_rb,0.23022e-03_rb,0.25578e-03_rb,0.41543e-03_rb /) kao(:, 5,10, 1) = (/ & & 0.18747e-06_rb,0.64264e-04_rb,0.10971e-03_rb,0.15086e-03_rb,0.18923e-03_rb, & & 0.22565e-03_rb,0.25934e-03_rb,0.28921e-03_rb,0.46463e-03_rb /) kao(:, 1,11, 1) = (/ & & 0.16015e-06_rb,0.33025e-04_rb,0.56562e-04_rb,0.76625e-04_rb,0.95645e-04_rb, & & 0.11358e-03_rb,0.12955e-03_rb,0.14269e-03_rb,0.27545e-03_rb /) kao(:, 2,11, 1) = (/ & & 0.15918e-06_rb,0.37148e-04_rb,0.63775e-04_rb,0.87600e-04_rb,0.10897e-03_rb, & & 0.12893e-03_rb,0.14756e-03_rb,0.16465e-03_rb,0.30799e-03_rb /) kao(:, 3,11, 1) = (/ & & 0.15897e-06_rb,0.41993e-04_rb,0.72040e-04_rb,0.98928e-04_rb,0.12433e-03_rb, & & 0.14733e-03_rb,0.16824e-03_rb,0.18694e-03_rb,0.34340e-03_rb /) kao(:, 4,11, 1) = (/ & & 0.15578e-06_rb,0.47441e-04_rb,0.81426e-04_rb,0.11165e-03_rb,0.13985e-03_rb, & & 0.16673e-03_rb,0.19156e-03_rb,0.21268e-03_rb,0.38176e-03_rb /) kao(:, 5,11, 1) = (/ & & 0.15210e-06_rb,0.53398e-04_rb,0.91657e-04_rb,0.12592e-03_rb,0.15769e-03_rb, & & 0.18781e-03_rb,0.21569e-03_rb,0.24069e-03_rb,0.42228e-03_rb /) kao(:, 1,12, 1) = (/ & & 0.13021e-06_rb,0.27272e-04_rb,0.46832e-04_rb,0.63511e-04_rb,0.79205e-04_rb, & & 0.93949e-04_rb,0.10719e-03_rb,0.11827e-03_rb,0.23944e-03_rb /) kao(:, 2,12, 1) = (/ & & 0.12930e-06_rb,0.30686e-04_rb,0.52925e-04_rb,0.72782e-04_rb,0.90527e-04_rb, & & 0.10708e-03_rb,0.12236e-03_rb,0.13620e-03_rb,0.27121e-03_rb /) kao(:, 3,12, 1) = (/ & & 0.12900e-06_rb,0.34723e-04_rb,0.59867e-04_rb,0.82205e-04_rb,0.10326e-03_rb, & & 0.12238e-03_rb,0.13958e-03_rb,0.15498e-03_rb,0.29930e-03_rb /) kao(:, 4,12, 1) = (/ & & 0.12648e-06_rb,0.39252e-04_rb,0.67618e-04_rb,0.92949e-04_rb,0.11636e-03_rb, & & 0.13835e-03_rb,0.15924e-03_rb,0.17653e-03_rb,0.33050e-03_rb /) kao(:, 5,12, 1) = (/ & & 0.12299e-06_rb,0.44213e-04_rb,0.76244e-04_rb,0.10488e-03_rb,0.13135e-03_rb, & & 0.15601e-03_rb,0.17902e-03_rb,0.19976e-03_rb,0.36579e-03_rb /) kao(:, 1,13, 1) = (/ & & 0.10554e-06_rb,0.22388e-04_rb,0.38597e-04_rb,0.52378e-04_rb,0.65404e-04_rb, & & 0.77567e-04_rb,0.88543e-04_rb,0.97801e-04_rb,0.19599e-03_rb /) kao(:, 2,13, 1) = (/ & & 0.10480e-06_rb,0.25181e-04_rb,0.43670e-04_rb,0.60205e-04_rb,0.74883e-04_rb, & & 0.88605e-04_rb,0.10117e-03_rb,0.11242e-03_rb,0.22146e-03_rb /) kao(:, 3,13, 1) = (/ & & 0.10429e-06_rb,0.28530e-04_rb,0.49422e-04_rb,0.68039e-04_rb,0.85435e-04_rb, & & 0.10136e-03_rb,0.11557e-03_rb,0.12828e-03_rb,0.24447e-03_rb /) kao(:, 4,13, 1) = (/ & & 0.10232e-06_rb,0.32301e-04_rb,0.55797e-04_rb,0.76948e-04_rb,0.96447e-04_rb, & & 0.11462e-03_rb,0.13166e-03_rb,0.14616e-03_rb,0.26999e-03_rb /) kao(:, 5,13, 1) = (/ & & 0.99014e-07_rb,0.36394e-04_rb,0.62994e-04_rb,0.86946e-04_rb,0.10900e-03_rb, & & 0.12937e-03_rb,0.14833e-03_rb,0.16540e-03_rb,0.29916e-03_rb /) kao(:, 1, 1, 2) = (/ & & 0.23488e-04_rb,0.16684e-02_rb,0.29575e-02_rb,0.40083e-02_rb,0.49953e-02_rb, & & 0.59021e-02_rb,0.67446e-02_rb,0.76008e-02_rb,0.87032e-02_rb /) kao(:, 2, 1, 2) = (/ & & 0.25156e-04_rb,0.18462e-02_rb,0.32711e-02_rb,0.45008e-02_rb,0.56182e-02_rb, & & 0.66287e-02_rb,0.75909e-02_rb,0.85558e-02_rb,0.97543e-02_rb /) kao(:, 3, 1, 2) = (/ & & 0.27084e-04_rb,0.20325e-02_rb,0.36034e-02_rb,0.49992e-02_rb,0.62796e-02_rb, & & 0.74134e-02_rb,0.84994e-02_rb,0.95694e-02_rb,0.10847e-01_rb /) kao(:, 4, 1, 2) = (/ & & 0.28147e-04_rb,0.22347e-02_rb,0.39628e-02_rb,0.55005e-02_rb,0.69453e-02_rb, & & 0.82429e-02_rb,0.94699e-02_rb,0.10660e-01_rb,0.11991e-01_rb /) kao(:, 5, 1, 2) = (/ & & 0.28719e-04_rb,0.24475e-02_rb,0.43369e-02_rb,0.60360e-02_rb,0.76183e-02_rb, & & 0.90878e-02_rb,0.10493e-01_rb,0.11805e-01_rb,0.13204e-01_rb /) kao(:, 1, 2, 2) = (/ & & 0.20947e-04_rb,0.14015e-02_rb,0.24728e-02_rb,0.33676e-02_rb,0.41801e-02_rb, & & 0.49244e-02_rb,0.55787e-02_rb,0.62206e-02_rb,0.69741e-02_rb /) kao(:, 2, 2, 2) = (/ & & 0.22352e-04_rb,0.15535e-02_rb,0.27396e-02_rb,0.37870e-02_rb,0.47121e-02_rb, & & 0.55571e-02_rb,0.62892e-02_rb,0.70132e-02_rb,0.78092e-02_rb /) kao(:, 3, 2, 2) = (/ & & 0.23882e-04_rb,0.17213e-02_rb,0.30345e-02_rb,0.42020e-02_rb,0.52782e-02_rb, & & 0.62285e-02_rb,0.70556e-02_rb,0.78819e-02_rb,0.87330e-02_rb /) kao(:, 4, 2, 2) = (/ & & 0.24650e-04_rb,0.18954e-02_rb,0.33384e-02_rb,0.46336e-02_rb,0.58333e-02_rb, & & 0.69311e-02_rb,0.78751e-02_rb,0.88149e-02_rb,0.96911e-02_rb /) kao(:, 5, 2, 2) = (/ & & 0.25136e-04_rb,0.20806e-02_rb,0.36641e-02_rb,0.50966e-02_rb,0.64193e-02_rb, & & 0.76281e-02_rb,0.87403e-02_rb,0.97943e-02_rb,0.10704e-01_rb /) kao(:, 1, 3, 2) = (/ & & 0.17720e-04_rb,0.11414e-02_rb,0.20045e-02_rb,0.27288e-02_rb,0.33891e-02_rb, & & 0.39755e-02_rb,0.44967e-02_rb,0.49389e-02_rb,0.53858e-02_rb /) kao(:, 2, 3, 2) = (/ & & 0.19087e-04_rb,0.12745e-02_rb,0.22336e-02_rb,0.30841e-02_rb,0.38333e-02_rb, & & 0.44983e-02_rb,0.50895e-02_rb,0.55930e-02_rb,0.60666e-02_rb /) kao(:, 3, 3, 2) = (/ & & 0.20125e-04_rb,0.14178e-02_rb,0.24795e-02_rb,0.34278e-02_rb,0.43106e-02_rb, & & 0.50607e-02_rb,0.57280e-02_rb,0.63092e-02_rb,0.68285e-02_rb /) kao(:, 4, 3, 2) = (/ & & 0.20895e-04_rb,0.15666e-02_rb,0.27348e-02_rb,0.37934e-02_rb,0.47769e-02_rb, & & 0.56621e-02_rb,0.64046e-02_rb,0.70864e-02_rb,0.76026e-02_rb /) kao(:, 5, 3, 2) = (/ & & 0.21508e-04_rb,0.17251e-02_rb,0.30153e-02_rb,0.41809e-02_rb,0.52689e-02_rb, & & 0.62462e-02_rb,0.71125e-02_rb,0.79104e-02_rb,0.84389e-02_rb /) kao(:, 1, 4, 2) = (/ & & 0.14661e-04_rb,0.92261e-03_rb,0.16088e-02_rb,0.21788e-02_rb,0.26956e-02_rb, & & 0.31612e-02_rb,0.35626e-02_rb,0.38878e-02_rb,0.41525e-02_rb /) kao(:, 2, 4, 2) = (/ & & 0.15607e-04_rb,0.10329e-02_rb,0.17973e-02_rb,0.24735e-02_rb,0.30696e-02_rb, & & 0.35953e-02_rb,0.40511e-02_rb,0.44162e-02_rb,0.46990e-02_rb /) kao(:, 3, 4, 2) = (/ & & 0.16559e-04_rb,0.11550e-02_rb,0.20019e-02_rb,0.27577e-02_rb,0.34625e-02_rb, & & 0.40662e-02_rb,0.45831e-02_rb,0.49995e-02_rb,0.53073e-02_rb /) kao(:, 4, 4, 2) = (/ & & 0.17263e-04_rb,0.12794e-02_rb,0.22184e-02_rb,0.30614e-02_rb,0.38510e-02_rb, & & 0.45664e-02_rb,0.51532e-02_rb,0.56290e-02_rb,0.59436e-02_rb /) kao(:, 5, 4, 2) = (/ & & 0.17895e-04_rb,0.14130e-02_rb,0.24526e-02_rb,0.33805e-02_rb,0.42622e-02_rb, & & 0.50556e-02_rb,0.57489e-02_rb,0.63094e-02_rb,0.66256e-02_rb /) kao(:, 1, 5, 2) = (/ & & 0.11885e-04_rb,0.74888e-03_rb,0.12826e-02_rb,0.17258e-02_rb,0.21346e-02_rb, & & 0.24972e-02_rb,0.28046e-02_rb,0.30606e-02_rb,0.32323e-02_rb /) kao(:, 2, 5, 2) = (/ & & 0.12452e-04_rb,0.84084e-03_rb,0.14380e-02_rb,0.19698e-02_rb,0.24386e-02_rb, & & 0.28536e-02_rb,0.32075e-02_rb,0.34937e-02_rb,0.36562e-02_rb /) kao(:, 3, 5, 2) = (/ & & 0.13439e-04_rb,0.94272e-03_rb,0.16065e-02_rb,0.22079e-02_rb,0.27660e-02_rb, & & 0.32389e-02_rb,0.36440e-02_rb,0.39673e-02_rb,0.41393e-02_rb /) kao(:, 4, 5, 2) = (/ & & 0.14053e-04_rb,0.10473e-02_rb,0.17899e-02_rb,0.24603e-02_rb,0.30861e-02_rb, & & 0.36521e-02_rb,0.41156e-02_rb,0.44825e-02_rb,0.46529e-02_rb /) kao(:, 5, 5, 2) = (/ & & 0.14586e-04_rb,0.11585e-02_rb,0.19886e-02_rb,0.27257e-02_rb,0.34272e-02_rb, & & 0.40599e-02_rb,0.46115e-02_rb,0.50286e-02_rb,0.52085e-02_rb /) kao(:, 1, 6, 2) = (/ & & 0.94872e-05_rb,0.59793e-03_rb,0.10210e-02_rb,0.13572e-02_rb,0.16716e-02_rb, & & 0.19512e-02_rb,0.21890e-02_rb,0.23827e-02_rb,0.25347e-02_rb /) kao(:, 2, 6, 2) = (/ & & 0.10060e-04_rb,0.67400e-03_rb,0.11432e-02_rb,0.15564e-02_rb,0.19188e-02_rb, & & 0.22389e-02_rb,0.25161e-02_rb,0.27308e-02_rb,0.28770e-02_rb /) kao(:, 3, 6, 2) = (/ & & 0.10743e-04_rb,0.75948e-03_rb,0.12806e-02_rb,0.17551e-02_rb,0.21862e-02_rb, & & 0.25545e-02_rb,0.28729e-02_rb,0.31149e-02_rb,0.32716e-02_rb /) kao(:, 4, 6, 2) = (/ & & 0.11322e-04_rb,0.85134e-03_rb,0.14320e-02_rb,0.19630e-02_rb,0.24514e-02_rb, & & 0.28930e-02_rb,0.32578e-02_rb,0.35375e-02_rb,0.36912e-02_rb /) kao(:, 5, 6, 2) = (/ & & 0.11755e-04_rb,0.94611e-03_rb,0.15986e-02_rb,0.21804e-02_rb,0.27291e-02_rb, & & 0.32306e-02_rb,0.36695e-02_rb,0.39913e-02_rb,0.41439e-02_rb /) kao(:, 1, 7, 2) = (/ & & 0.75931e-05_rb,0.47130e-03_rb,0.81211e-03_rb,0.10658e-02_rb,0.13004e-02_rb, & & 0.15175e-02_rb,0.17002e-02_rb,0.18473e-02_rb,0.19861e-02_rb /) kao(:, 2, 7, 2) = (/ & & 0.80724e-05_rb,0.53358e-03_rb,0.91163e-03_rb,0.12261e-02_rb,0.15014e-02_rb, & & 0.17483e-02_rb,0.19612e-02_rb,0.21201e-02_rb,0.22591e-02_rb /) kao(:, 3, 7, 2) = (/ & & 0.84404e-05_rb,0.60517e-03_rb,0.10236e-02_rb,0.13887e-02_rb,0.17204e-02_rb, & & 0.20031e-02_rb,0.22497e-02_rb,0.24321e-02_rb,0.25823e-02_rb /) kao(:, 4, 7, 2) = (/ & & 0.90511e-05_rb,0.68037e-03_rb,0.11475e-02_rb,0.15596e-02_rb,0.19402e-02_rb, & & 0.22789e-02_rb,0.25633e-02_rb,0.27753e-02_rb,0.29247e-02_rb /) kao(:, 5, 7, 2) = (/ & & 0.94405e-05_rb,0.76103e-03_rb,0.12836e-02_rb,0.17422e-02_rb,0.21698e-02_rb, & & 0.25585e-02_rb,0.28989e-02_rb,0.31444e-02_rb,0.33016e-02_rb /) kao(:, 1, 8, 2) = (/ & & 0.58080e-05_rb,0.36782e-03_rb,0.63516e-03_rb,0.83799e-03_rb,0.10119e-02_rb, & & 0.11754e-02_rb,0.13161e-02_rb,0.14382e-02_rb,0.15837e-02_rb /) kao(:, 2, 8, 2) = (/ & & 0.63156e-05_rb,0.41909e-03_rb,0.71974e-03_rb,0.96952e-03_rb,0.11711e-02_rb, & & 0.13617e-02_rb,0.15234e-02_rb,0.16441e-02_rb,0.18118e-02_rb /) kao(:, 3, 8, 2) = (/ & & 0.66776e-05_rb,0.47829e-03_rb,0.81150e-03_rb,0.11056e-02_rb,0.13493e-02_rb, & & 0.15646e-02_rb,0.17524e-02_rb,0.18937e-02_rb,0.20698e-02_rb /) kao(:, 4, 8, 2) = (/ & & 0.70582e-05_rb,0.54017e-03_rb,0.91330e-03_rb,0.12434e-02_rb,0.15411e-02_rb, & & 0.17884e-02_rb,0.20057e-02_rb,0.21704e-02_rb,0.23548e-02_rb /) kao(:, 5, 8, 2) = (/ & & 0.74902e-05_rb,0.60717e-03_rb,0.10267e-02_rb,0.13908e-02_rb,0.17231e-02_rb, & & 0.20285e-02_rb,0.22810e-02_rb,0.24710e-02_rb,0.26631e-02_rb /) kao(:, 1, 9, 2) = (/ & & 0.45061e-05_rb,0.28626e-03_rb,0.49448e-03_rb,0.65317e-03_rb,0.79081e-03_rb, & & 0.91066e-03_rb,0.10182e-02_rb,0.11107e-02_rb,0.14592e-02_rb /) kao(:, 2, 9, 2) = (/ & & 0.49392e-05_rb,0.32734e-03_rb,0.56558e-03_rb,0.76077e-03_rb,0.91846e-03_rb, & & 0.10578e-02_rb,0.11776e-02_rb,0.12720e-02_rb,0.16778e-02_rb /) kao(:, 3, 9, 2) = (/ & & 0.52580e-05_rb,0.37522e-03_rb,0.63845e-03_rb,0.87805e-03_rb,0.10619e-02_rb, & & 0.12194e-02_rb,0.13606e-02_rb,0.14680e-02_rb,0.19259e-02_rb /) kao(:, 4, 9, 2) = (/ & & 0.54991e-05_rb,0.42659e-03_rb,0.72103e-03_rb,0.98756e-03_rb,0.12163e-02_rb, & & 0.14007e-02_rb,0.15647e-02_rb,0.16900e-02_rb,0.21772e-02_rb /) kao(:, 5, 9, 2) = (/ & & 0.58769e-05_rb,0.48199e-03_rb,0.81466e-03_rb,0.11072e-02_rb,0.13684e-02_rb, & & 0.15984e-02_rb,0.17887e-02_rb,0.19333e-02_rb,0.24331e-02_rb /) kao(:, 1,10, 2) = (/ & & 0.34154e-05_rb,0.22534e-03_rb,0.38788e-03_rb,0.51113e-03_rb,0.62194e-03_rb, & & 0.71432e-03_rb,0.79743e-03_rb,0.86289e-03_rb,0.14758e-02_rb /) kao(:, 2,10, 2) = (/ & & 0.38085e-05_rb,0.25832e-03_rb,0.44748e-03_rb,0.59835e-03_rb,0.72514e-03_rb, & & 0.83284e-03_rb,0.91941e-03_rb,0.99583e-03_rb,0.17358e-02_rb /) kao(:, 3,10, 2) = (/ & & 0.41578e-05_rb,0.29655e-03_rb,0.50553e-03_rb,0.69511e-03_rb,0.84107e-03_rb, & & 0.96374e-03_rb,0.10666e-02_rb,0.11478e-02_rb,0.19625e-02_rb /) kao(:, 4,10, 2) = (/ & & 0.43917e-05_rb,0.33908e-03_rb,0.57351e-03_rb,0.78640e-03_rb,0.96862e-03_rb, & & 0.11109e-02_rb,0.12309e-02_rb,0.13266e-02_rb,0.22103e-02_rb /) kao(:, 5,10, 2) = (/ & & 0.45446e-05_rb,0.38548e-03_rb,0.64883e-03_rb,0.88401e-03_rb,0.10952e-02_rb, & & 0.12706e-02_rb,0.14136e-02_rb,0.15239e-02_rb,0.24754e-02_rb /) kao(:, 1,11, 2) = (/ & & 0.27604e-05_rb,0.18848e-03_rb,0.32532e-03_rb,0.42949e-03_rb,0.52350e-03_rb, & & 0.60084e-03_rb,0.66640e-03_rb,0.72070e-03_rb,0.13692e-02_rb /) kao(:, 2,11, 2) = (/ & & 0.30908e-05_rb,0.21679e-03_rb,0.37259e-03_rb,0.50366e-03_rb,0.61074e-03_rb, & & 0.70158e-03_rb,0.77271e-03_rb,0.83037e-03_rb,0.15689e-02_rb /) kao(:, 3,11, 2) = (/ & & 0.33674e-05_rb,0.24965e-03_rb,0.42244e-03_rb,0.58353e-03_rb,0.70923e-03_rb, & & 0.81330e-03_rb,0.89750e-03_rb,0.96131e-03_rb,0.17971e-02_rb /) kao(:, 4,11, 2) = (/ & & 0.35568e-05_rb,0.28602e-03_rb,0.48044e-03_rb,0.65868e-03_rb,0.81816e-03_rb, & & 0.93857e-03_rb,0.10357e-02_rb,0.11119e-02_rb,0.20509e-02_rb /) kao(:, 5,11, 2) = (/ & & 0.36921e-05_rb,0.32484e-03_rb,0.54623e-03_rb,0.74475e-03_rb,0.92307e-03_rb, & & 0.10758e-02_rb,0.11895e-02_rb,0.12777e-02_rb,0.23253e-02_rb /) kao(:, 1,12, 2) = (/ & & 0.22272e-05_rb,0.15807e-03_rb,0.27163e-03_rb,0.35935e-03_rb,0.43781e-03_rb, & & 0.50321e-03_rb,0.55776e-03_rb,0.60046e-03_rb,0.11852e-02_rb /) kao(:, 2,12, 2) = (/ & & 0.24898e-05_rb,0.18201e-03_rb,0.31004e-03_rb,0.42206e-03_rb,0.51226e-03_rb, & & 0.58824e-03_rb,0.64919e-03_rb,0.69291e-03_rb,0.13623e-02_rb /) kao(:, 3,12, 2) = (/ & & 0.27021e-05_rb,0.20958e-03_rb,0.35322e-03_rb,0.48676e-03_rb,0.59587e-03_rb, & & 0.68364e-03_rb,0.75527e-03_rb,0.80436e-03_rb,0.15654e-02_rb /) kao(:, 4,12, 2) = (/ & & 0.28526e-05_rb,0.24038e-03_rb,0.40262e-03_rb,0.55096e-03_rb,0.68671e-03_rb, & & 0.79103e-03_rb,0.87211e-03_rb,0.93124e-03_rb,0.17898e-02_rb /) kao(:, 5,12, 2) = (/ & & 0.29899e-05_rb,0.27289e-03_rb,0.45904e-03_rb,0.62448e-03_rb,0.77496e-03_rb, & & 0.90212e-03_rb,0.10018e-02_rb,0.10706e-02_rb,0.20265e-02_rb /) kao(:, 1,13, 2) = (/ & & 0.17576e-05_rb,0.13151e-03_rb,0.22518e-03_rb,0.29890e-03_rb,0.36398e-03_rb, & & 0.41884e-03_rb,0.46505e-03_rb,0.50086e-03_rb,0.97916e-03_rb /) kao(:, 2,13, 2) = (/ & & 0.19524e-05_rb,0.15189e-03_rb,0.25686e-03_rb,0.35123e-03_rb,0.42723e-03_rb, & & 0.49061e-03_rb,0.54293e-03_rb,0.57815e-03_rb,0.11260e-02_rb /) kao(:, 3,13, 2) = (/ & & 0.21134e-05_rb,0.17558e-03_rb,0.29382e-03_rb,0.40457e-03_rb,0.49777e-03_rb, & & 0.57153e-03_rb,0.63185e-03_rb,0.67213e-03_rb,0.12960e-02_rb /) kao(:, 4,13, 2) = (/ & & 0.22681e-05_rb,0.20106e-03_rb,0.33583e-03_rb,0.45977e-03_rb,0.57094e-03_rb, & & 0.66275e-03_rb,0.73149e-03_rb,0.77799e-03_rb,0.14856e-02_rb /) kao(:, 5,13, 2) = (/ & & 0.23940e-05_rb,0.22853e-03_rb,0.38323e-03_rb,0.52126e-03_rb,0.64684e-03_rb, & & 0.75455e-03_rb,0.84115e-03_rb,0.89575e-03_rb,0.16816e-02_rb /) kao(:, 1, 1, 3) = (/ & & 0.87154e-04_rb,0.70456e-02_rb,0.11624e-01_rb,0.16007e-01_rb,0.20277e-01_rb, & & 0.24349e-01_rb,0.27902e-01_rb,0.30956e-01_rb,0.33159e-01_rb /) kao(:, 2, 1, 3) = (/ & & 0.92678e-04_rb,0.75324e-02_rb,0.12552e-01_rb,0.17444e-01_rb,0.21967e-01_rb, & & 0.26250e-01_rb,0.30241e-01_rb,0.33348e-01_rb,0.36164e-01_rb /) kao(:, 3, 1, 3) = (/ & & 0.97955e-04_rb,0.80153e-02_rb,0.13502e-01_rb,0.18812e-01_rb,0.23862e-01_rb, & & 0.28480e-01_rb,0.32511e-01_rb,0.35713e-01_rb,0.38349e-01_rb /) kao(:, 4, 1, 3) = (/ & & 0.10404e-03_rb,0.84724e-02_rb,0.14429e-01_rb,0.20136e-01_rb,0.25672e-01_rb, & & 0.30688e-01_rb,0.35011e-01_rb,0.38379e-01_rb,0.40673e-01_rb /) kao(:, 5, 1, 3) = (/ & & 0.11110e-03_rb,0.89123e-02_rb,0.15343e-01_rb,0.21479e-01_rb,0.27290e-01_rb, & & 0.32751e-01_rb,0.37455e-01_rb,0.40931e-01_rb,0.42463e-01_rb /) kao(:, 1, 2, 3) = (/ & & 0.73214e-04_rb,0.61410e-02_rb,0.10125e-01_rb,0.13650e-01_rb,0.17158e-01_rb, & & 0.20627e-01_rb,0.23628e-01_rb,0.26251e-01_rb,0.27481e-01_rb /) kao(:, 2, 2, 3) = (/ & & 0.77936e-04_rb,0.65751e-02_rb,0.10966e-01_rb,0.14877e-01_rb,0.18693e-01_rb, & & 0.22272e-01_rb,0.25630e-01_rb,0.28395e-01_rb,0.29894e-01_rb /) kao(:, 3, 2, 3) = (/ & & 0.83061e-04_rb,0.69828e-02_rb,0.11774e-01_rb,0.16068e-01_rb,0.20317e-01_rb, & & 0.24244e-01_rb,0.27748e-01_rb,0.30432e-01_rb,0.31851e-01_rb /) kao(:, 4, 2, 3) = (/ & & 0.88564e-04_rb,0.73985e-02_rb,0.12581e-01_rb,0.17226e-01_rb,0.21842e-01_rb, & & 0.26177e-01_rb,0.29969e-01_rb,0.32748e-01_rb,0.33805e-01_rb /) kao(:, 5, 2, 3) = (/ & & 0.94933e-04_rb,0.77988e-02_rb,0.13372e-01_rb,0.18367e-01_rb,0.23323e-01_rb, & & 0.27928e-01_rb,0.31964e-01_rb,0.35013e-01_rb,0.35327e-01_rb /) kao(:, 1, 3, 3) = (/ & & 0.60947e-04_rb,0.52436e-02_rb,0.86174e-02_rb,0.11520e-01_rb,0.14231e-01_rb, & & 0.17027e-01_rb,0.19469e-01_rb,0.21634e-01_rb,0.21981e-01_rb /) kao(:, 2, 3, 3) = (/ & & 0.64921e-04_rb,0.55975e-02_rb,0.93512e-02_rb,0.12526e-01_rb,0.15516e-01_rb, & & 0.18471e-01_rb,0.21270e-01_rb,0.23512e-01_rb,0.24114e-01_rb /) kao(:, 3, 3, 3) = (/ & & 0.69521e-04_rb,0.59648e-02_rb,0.10060e-01_rb,0.13582e-01_rb,0.16903e-01_rb, & & 0.20177e-01_rb,0.23055e-01_rb,0.25380e-01_rb,0.25822e-01_rb /) kao(:, 4, 3, 3) = (/ & & 0.74348e-04_rb,0.63104e-02_rb,0.10767e-01_rb,0.14599e-01_rb,0.18273e-01_rb, & & 0.21836e-01_rb,0.24984e-01_rb,0.27358e-01_rb,0.27450e-01_rb /) kao(:, 5, 3, 3) = (/ & & 0.79780e-04_rb,0.66671e-02_rb,0.11458e-01_rb,0.15590e-01_rb,0.19579e-01_rb, & & 0.23358e-01_rb,0.26806e-01_rb,0.29335e-01_rb,0.28786e-01_rb /) kao(:, 1, 4, 3) = (/ & & 0.50799e-04_rb,0.44148e-02_rb,0.72225e-02_rb,0.96483e-02_rb,0.11767e-01_rb, & & 0.13828e-01_rb,0.15844e-01_rb,0.17588e-01_rb,0.17391e-01_rb /) kao(:, 2, 4, 3) = (/ & & 0.54227e-04_rb,0.47231e-02_rb,0.78527e-02_rb,0.10493e-01_rb,0.12835e-01_rb, & & 0.15126e-01_rb,0.17466e-01_rb,0.19219e-01_rb,0.19351e-01_rb /) kao(:, 3, 4, 3) = (/ & & 0.58151e-04_rb,0.50277e-02_rb,0.84823e-02_rb,0.11418e-01_rb,0.13969e-01_rb, & & 0.16576e-01_rb,0.18903e-01_rb,0.20840e-01_rb,0.20853e-01_rb /) kao(:, 4, 4, 3) = (/ & & 0.62433e-04_rb,0.53372e-02_rb,0.90813e-02_rb,0.12325e-01_rb,0.15163e-01_rb, & & 0.17971e-01_rb,0.20590e-01_rb,0.22529e-01_rb,0.22273e-01_rb /) kao(:, 5, 4, 3) = (/ & & 0.66852e-04_rb,0.56429e-02_rb,0.96836e-02_rb,0.13189e-01_rb,0.16280e-01_rb, & & 0.19312e-01_rb,0.22136e-01_rb,0.24263e-01_rb,0.23466e-01_rb /) kao(:, 1, 5, 3) = (/ & & 0.42593e-04_rb,0.36760e-02_rb,0.59913e-02_rb,0.79812e-02_rb,0.97729e-02_rb, & & 0.11265e-01_rb,0.12874e-01_rb,0.14150e-01_rb,0.13651e-01_rb /) kao(:, 2, 5, 3) = (/ & & 0.45779e-04_rb,0.39344e-02_rb,0.65401e-02_rb,0.87030e-02_rb,0.10650e-01_rb, & & 0.12374e-01_rb,0.14135e-01_rb,0.15529e-01_rb,0.15507e-01_rb /) kao(:, 3, 5, 3) = (/ & & 0.48868e-04_rb,0.42013e-02_rb,0.70859e-02_rb,0.94912e-02_rb,0.11609e-01_rb, & & 0.13557e-01_rb,0.15381e-01_rb,0.16993e-01_rb,0.16785e-01_rb /) kao(:, 4, 5, 3) = (/ & & 0.52509e-04_rb,0.44674e-02_rb,0.76022e-02_rb,0.10271e-01_rb,0.12630e-01_rb, & & 0.14736e-01_rb,0.16830e-01_rb,0.18387e-01_rb,0.18040e-01_rb /) kao(:, 5, 5, 3) = (/ & & 0.56196e-04_rb,0.47381e-02_rb,0.81005e-02_rb,0.11026e-01_rb,0.13586e-01_rb, & & 0.15940e-01_rb,0.18160e-01_rb,0.19920e-01_rb,0.19092e-01_rb /) kao(:, 1, 6, 3) = (/ & & 0.36112e-04_rb,0.30316e-02_rb,0.49038e-02_rb,0.65325e-02_rb,0.79606e-02_rb, & & 0.91706e-02_rb,0.10285e-01_rb,0.11252e-01_rb,0.10556e-01_rb /) kao(:, 2, 6, 3) = (/ & & 0.38502e-04_rb,0.32575e-02_rb,0.53855e-02_rb,0.71302e-02_rb,0.87200e-02_rb, & & 0.10138e-01_rb,0.11319e-01_rb,0.12504e-01_rb,0.12109e-01_rb /) kao(:, 3, 6, 3) = (/ & & 0.41070e-04_rb,0.34869e-02_rb,0.58643e-02_rb,0.78020e-02_rb,0.95232e-02_rb, & & 0.11081e-01_rb,0.12413e-01_rb,0.13700e-01_rb,0.13350e-01_rb /) kao(:, 4, 6, 3) = (/ & & 0.44034e-04_rb,0.37142e-02_rb,0.62924e-02_rb,0.84867e-02_rb,0.10400e-01_rb, & & 0.12091e-01_rb,0.13614e-01_rb,0.14850e-01_rb,0.14396e-01_rb /) kao(:, 5, 6, 3) = (/ & & 0.47021e-04_rb,0.39387e-02_rb,0.67171e-02_rb,0.91319e-02_rb,0.11231e-01_rb, & & 0.13129e-01_rb,0.14745e-01_rb,0.16155e-01_rb,0.15392e-01_rb /) kao(:, 1, 7, 3) = (/ & & 0.30001e-04_rb,0.24884e-02_rb,0.39787e-02_rb,0.53262e-02_rb,0.64254e-02_rb, & & 0.74422e-02_rb,0.82418e-02_rb,0.87651e-02_rb,0.83241e-02_rb /) kao(:, 2, 7, 3) = (/ & & 0.32067e-04_rb,0.26831e-02_rb,0.43873e-02_rb,0.58009e-02_rb,0.70881e-02_rb, & & 0.82303e-02_rb,0.91115e-02_rb,0.99530e-02_rb,0.95843e-02_rb /) kao(:, 3, 7, 3) = (/ & & 0.34414e-04_rb,0.28762e-02_rb,0.47981e-02_rb,0.63650e-02_rb,0.77555e-02_rb, & & 0.90130e-02_rb,0.10051e-01_rb,0.10944e-01_rb,0.10687e-01_rb /) kao(:, 4, 7, 3) = (/ & & 0.36543e-04_rb,0.30749e-02_rb,0.51697e-02_rb,0.69549e-02_rb,0.84939e-02_rb, & & 0.98621e-02_rb,0.11012e-01_rb,0.11950e-01_rb,0.11596e-01_rb /) kao(:, 5, 7, 3) = (/ & & 0.38986e-04_rb,0.32672e-02_rb,0.55268e-02_rb,0.74950e-02_rb,0.92206e-02_rb, & & 0.10750e-01_rb,0.11970e-01_rb,0.13029e-01_rb,0.12461e-01_rb /) kao(:, 1, 8, 3) = (/ & & 0.24718e-04_rb,0.20304e-02_rb,0.32253e-02_rb,0.42957e-02_rb,0.51621e-02_rb, & & 0.59477e-02_rb,0.65543e-02_rb,0.67901e-02_rb,0.66578e-02_rb /) kao(:, 2, 8, 3) = (/ & & 0.26226e-04_rb,0.22027e-02_rb,0.35528e-02_rb,0.46844e-02_rb,0.57463e-02_rb, & & 0.66070e-02_rb,0.73566e-02_rb,0.79086e-02_rb,0.76807e-02_rb /) kao(:, 3, 8, 3) = (/ & & 0.28095e-04_rb,0.23614e-02_rb,0.38960e-02_rb,0.51529e-02_rb,0.62773e-02_rb, & & 0.72919e-02_rb,0.81475e-02_rb,0.87344e-02_rb,0.86509e-02_rb /) kao(:, 4, 8, 3) = (/ & & 0.29856e-04_rb,0.25346e-02_rb,0.42180e-02_rb,0.56507e-02_rb,0.68867e-02_rb, & & 0.79948e-02_rb,0.89169e-02_rb,0.96226e-02_rb,0.94212e-02_rb /) kao(:, 5, 8, 3) = (/ & & 0.31432e-04_rb,0.26989e-02_rb,0.45288e-02_rb,0.61158e-02_rb,0.75231e-02_rb, & & 0.87319e-02_rb,0.97447e-02_rb,0.10470e-01_rb,0.10172e-01_rb /) kao(:, 1, 9, 3) = (/ & & 0.20151e-04_rb,0.16622e-02_rb,0.26102e-02_rb,0.34345e-02_rb,0.41518e-02_rb, & & 0.47356e-02_rb,0.51198e-02_rb,0.52901e-02_rb,0.55608e-02_rb /) kao(:, 2, 9, 3) = (/ & & 0.21290e-04_rb,0.18112e-02_rb,0.28622e-02_rb,0.37770e-02_rb,0.46098e-02_rb, & & 0.52825e-02_rb,0.58719e-02_rb,0.62115e-02_rb,0.64287e-02_rb /) kao(:, 3, 9, 3) = (/ & & 0.22604e-04_rb,0.19483e-02_rb,0.31536e-02_rb,0.41418e-02_rb,0.50513e-02_rb, & & 0.58883e-02_rb,0.65199e-02_rb,0.70000e-02_rb,0.71641e-02_rb /) kao(:, 4, 9, 3) = (/ & & 0.24039e-04_rb,0.20909e-02_rb,0.34321e-02_rb,0.45633e-02_rb,0.55575e-02_rb, & & 0.64453e-02_rb,0.71800e-02_rb,0.77062e-02_rb,0.77821e-02_rb /) kao(:, 5, 9, 3) = (/ & & 0.25275e-04_rb,0.22325e-02_rb,0.36976e-02_rb,0.49727e-02_rb,0.60945e-02_rb, & & 0.70632e-02_rb,0.78696e-02_rb,0.84048e-02_rb,0.84571e-02_rb /) kao(:, 1,10, 3) = (/ & & 0.16520e-04_rb,0.13579e-02_rb,0.21217e-02_rb,0.27650e-02_rb,0.33209e-02_rb, & & 0.37657e-02_rb,0.40263e-02_rb,0.41632e-02_rb,0.59019e-02_rb /) kao(:, 2,10, 3) = (/ & & 0.17307e-04_rb,0.14868e-02_rb,0.23230e-02_rb,0.30616e-02_rb,0.37000e-02_rb, & & 0.42629e-02_rb,0.46958e-02_rb,0.48956e-02_rb,0.64729e-02_rb /) kao(:, 3,10, 3) = (/ & & 0.18210e-04_rb,0.16086e-02_rb,0.25635e-02_rb,0.33480e-02_rb,0.40827e-02_rb, & & 0.47590e-02_rb,0.52424e-02_rb,0.56088e-02_rb,0.71072e-02_rb /) kao(:, 4,10, 3) = (/ & & 0.19263e-04_rb,0.17308e-02_rb,0.28038e-02_rb,0.37016e-02_rb,0.44933e-02_rb, & & 0.52114e-02_rb,0.58224e-02_rb,0.62053e-02_rb,0.76445e-02_rb /) kao(:, 5,10, 3) = (/ & & 0.20450e-04_rb,0.18514e-02_rb,0.30286e-02_rb,0.40569e-02_rb,0.49417e-02_rb, & & 0.57292e-02_rb,0.63809e-02_rb,0.68162e-02_rb,0.81800e-02_rb /) kao(:, 1,11, 3) = (/ & & 0.13743e-04_rb,0.11544e-02_rb,0.18005e-02_rb,0.23380e-02_rb,0.28127e-02_rb, & & 0.32019e-02_rb,0.34184e-02_rb,0.35137e-02_rb,0.55132e-02_rb /) kao(:, 2,11, 3) = (/ & & 0.14314e-04_rb,0.12648e-02_rb,0.19811e-02_rb,0.25794e-02_rb,0.31283e-02_rb, & & 0.35835e-02_rb,0.39635e-02_rb,0.41524e-02_rb,0.60640e-02_rb /) kao(:, 3,11, 3) = (/ & & 0.14980e-04_rb,0.13667e-02_rb,0.21846e-02_rb,0.28316e-02_rb,0.34390e-02_rb, & & 0.40069e-02_rb,0.44283e-02_rb,0.47282e-02_rb,0.65662e-02_rb /) kao(:, 4,11, 3) = (/ & & 0.15843e-04_rb,0.14691e-02_rb,0.23844e-02_rb,0.31346e-02_rb,0.37915e-02_rb, & & 0.43926e-02_rb,0.49108e-02_rb,0.52431e-02_rb,0.70521e-02_rb /) kao(:, 5,11, 3) = (/ & & 0.16801e-04_rb,0.15709e-02_rb,0.25738e-02_rb,0.34250e-02_rb,0.41781e-02_rb, & & 0.48258e-02_rb,0.53776e-02_rb,0.57400e-02_rb,0.74913e-02_rb /) kao(:, 1,12, 3) = (/ & & 0.11265e-04_rb,0.97473e-03_rb,0.15190e-02_rb,0.19779e-02_rb,0.23708e-02_rb, & & 0.27002e-02_rb,0.28954e-02_rb,0.29689e-02_rb,0.49052e-02_rb /) kao(:, 2,12, 3) = (/ & & 0.11703e-04_rb,0.10660e-02_rb,0.16806e-02_rb,0.21742e-02_rb,0.26370e-02_rb, & & 0.30184e-02_rb,0.33461e-02_rb,0.35081e-02_rb,0.53515e-02_rb /) kao(:, 3,12, 3) = (/ & & 0.12275e-04_rb,0.11524e-02_rb,0.18532e-02_rb,0.24014e-02_rb,0.28932e-02_rb, & & 0.33615e-02_rb,0.37332e-02_rb,0.39759e-02_rb,0.57806e-02_rb /) kao(:, 4,12, 3) = (/ & & 0.12963e-04_rb,0.12405e-02_rb,0.20200e-02_rb,0.26573e-02_rb,0.31978e-02_rb, & & 0.36904e-02_rb,0.41225e-02_rb,0.44151e-02_rb,0.61956e-02_rb /) kao(:, 5,12, 3) = (/ & & 0.13696e-04_rb,0.13266e-02_rb,0.21814e-02_rb,0.28939e-02_rb,0.35284e-02_rb, & & 0.40629e-02_rb,0.45191e-02_rb,0.48283e-02_rb,0.65800e-02_rb /) kao(:, 1,13, 3) = (/ & & 0.91179e-05_rb,0.81531e-03_rb,0.12754e-02_rb,0.16598e-02_rb,0.19900e-02_rb, & & 0.22634e-02_rb,0.24441e-02_rb,0.24984e-02_rb,0.40576e-02_rb /) kao(:, 2,13, 3) = (/ & & 0.95039e-05_rb,0.89093e-03_rb,0.14150e-02_rb,0.18287e-02_rb,0.22143e-02_rb, & & 0.25329e-02_rb,0.28092e-02_rb,0.29546e-02_rb,0.44374e-02_rb /) kao(:, 3,13, 3) = (/ & & 0.99762e-05_rb,0.96494e-03_rb,0.15625e-02_rb,0.20288e-02_rb,0.24319e-02_rb, & & 0.28108e-02_rb,0.31373e-02_rb,0.33177e-02_rb,0.48094e-02_rb /) kao(:, 4,13, 3) = (/ & & 0.10509e-04_rb,0.10398e-02_rb,0.16996e-02_rb,0.22443e-02_rb,0.26925e-02_rb, & & 0.30942e-02_rb,0.34481e-02_rb,0.37003e-02_rb,0.51550e-02_rb /) kao(:, 5,13, 3) = (/ & & 0.11033e-04_rb,0.11134e-02_rb,0.18372e-02_rb,0.24408e-02_rb,0.29682e-02_rb, & & 0.34114e-02_rb,0.37859e-02_rb,0.40424e-02_rb,0.54893e-02_rb /) kao(:, 1, 1, 4) = (/ & & 0.25564e-03_rb,0.23940e-01_rb,0.41535e-01_rb,0.56276e-01_rb,0.68561e-01_rb, & & 0.78630e-01_rb,0.86993e-01_rb,0.91794e-01_rb,0.84229e-01_rb /) kao(:, 2, 1, 4) = (/ & & 0.29194e-03_rb,0.25170e-01_rb,0.43659e-01_rb,0.59016e-01_rb,0.72302e-01_rb, & & 0.83167e-01_rb,0.91739e-01_rb,0.96774e-01_rb,0.86838e-01_rb /) kao(:, 3, 1, 4) = (/ & & 0.33934e-03_rb,0.26430e-01_rb,0.45835e-01_rb,0.61922e-01_rb,0.75614e-01_rb, & & 0.87285e-01_rb,0.96606e-01_rb,0.10156e+00_rb,0.90084e-01_rb /) kao(:, 4, 1, 4) = (/ & & 0.38871e-03_rb,0.27733e-01_rb,0.48058e-01_rb,0.64973e-01_rb,0.79090e-01_rb, & & 0.91156e-01_rb,0.10084e+00_rb,0.10589e+00_rb,0.92583e-01_rb /) kao(:, 5, 1, 4) = (/ & & 0.44473e-03_rb,0.29028e-01_rb,0.50287e-01_rb,0.68010e-01_rb,0.82805e-01_rb, & & 0.95193e-01_rb,0.10492e+00_rb,0.10995e+00_rb,0.95419e-01_rb /) kao(:, 1, 2, 4) = (/ & & 0.23400e-03_rb,0.20753e-01_rb,0.35742e-01_rb,0.48709e-01_rb,0.59548e-01_rb, & & 0.68206e-01_rb,0.75045e-01_rb,0.78915e-01_rb,0.70180e-01_rb /) kao(:, 2, 2, 4) = (/ & & 0.26775e-03_rb,0.21832e-01_rb,0.37611e-01_rb,0.51156e-01_rb,0.62768e-01_rb, & & 0.72267e-01_rb,0.79422e-01_rb,0.83262e-01_rb,0.72735e-01_rb /) kao(:, 3, 2, 4) = (/ & & 0.30033e-03_rb,0.22961e-01_rb,0.39618e-01_rb,0.53774e-01_rb,0.65773e-01_rb, & & 0.75819e-01_rb,0.83532e-01_rb,0.87496e-01_rb,0.75459e-01_rb /) kao(:, 4, 2, 4) = (/ & & 0.34366e-03_rb,0.24116e-01_rb,0.41597e-01_rb,0.56506e-01_rb,0.68944e-01_rb, & & 0.79231e-01_rb,0.87245e-01_rb,0.91336e-01_rb,0.77669e-01_rb /) kao(:, 5, 2, 4) = (/ & & 0.39179e-03_rb,0.25289e-01_rb,0.43575e-01_rb,0.59282e-01_rb,0.72132e-01_rb, & & 0.82956e-01_rb,0.91038e-01_rb,0.94937e-01_rb,0.80272e-01_rb /) kao(:, 1, 3, 4) = (/ & & 0.20730e-03_rb,0.18044e-01_rb,0.30227e-01_rb,0.41206e-01_rb,0.50626e-01_rb, & & 0.58095e-01_rb,0.63725e-01_rb,0.66721e-01_rb,0.57780e-01_rb /) kao(:, 2, 3, 4) = (/ & & 0.24007e-03_rb,0.18972e-01_rb,0.31883e-01_rb,0.43486e-01_rb,0.53572e-01_rb, & & 0.61742e-01_rb,0.67489e-01_rb,0.70552e-01_rb,0.60009e-01_rb /) kao(:, 3, 3, 4) = (/ & & 0.26931e-03_rb,0.19934e-01_rb,0.33681e-01_rb,0.45775e-01_rb,0.56255e-01_rb, & & 0.64869e-01_rb,0.71254e-01_rb,0.74232e-01_rb,0.62350e-01_rb /) kao(:, 4, 3, 4) = (/ & & 0.30064e-03_rb,0.20965e-01_rb,0.35448e-01_rb,0.48199e-01_rb,0.59036e-01_rb, & & 0.67921e-01_rb,0.74594e-01_rb,0.77689e-01_rb,0.64410e-01_rb /) kao(:, 5, 3, 4) = (/ & & 0.33967e-03_rb,0.21972e-01_rb,0.37192e-01_rb,0.50676e-01_rb,0.61884e-01_rb, & & 0.71207e-01_rb,0.77888e-01_rb,0.80947e-01_rb,0.66667e-01_rb /) kao(:, 1, 4, 4) = (/ & & 0.18201e-03_rb,0.15595e-01_rb,0.25372e-01_rb,0.34431e-01_rb,0.42401e-01_rb, & & 0.48915e-01_rb,0.53613e-01_rb,0.55953e-01_rb,0.47727e-01_rb /) kao(:, 2, 4, 4) = (/ & & 0.20883e-03_rb,0.16422e-01_rb,0.26851e-01_rb,0.36481e-01_rb,0.45074e-01_rb, & & 0.52078e-01_rb,0.56860e-01_rb,0.59287e-01_rb,0.49553e-01_rb /) kao(:, 3, 4, 4) = (/ & & 0.23874e-03_rb,0.17285e-01_rb,0.28425e-01_rb,0.38514e-01_rb,0.47542e-01_rb, & & 0.54904e-01_rb,0.60284e-01_rb,0.62561e-01_rb,0.51595e-01_rb /) kao(:, 4, 4, 4) = (/ & & 0.26707e-03_rb,0.18200e-01_rb,0.30007e-01_rb,0.40613e-01_rb,0.49982e-01_rb, & & 0.57662e-01_rb,0.63231e-01_rb,0.65666e-01_rb,0.53450e-01_rb /) kao(:, 5, 4, 4) = (/ & & 0.30102e-03_rb,0.19113e-01_rb,0.31552e-01_rb,0.42805e-01_rb,0.52535e-01_rb, & & 0.60559e-01_rb,0.66195e-01_rb,0.68549e-01_rb,0.55415e-01_rb /) kao(:, 1, 5, 4) = (/ & & 0.15801e-03_rb,0.13295e-01_rb,0.21524e-01_rb,0.28666e-01_rb,0.35142e-01_rb, & & 0.40757e-01_rb,0.44715e-01_rb,0.46740e-01_rb,0.39384e-01_rb /) kao(:, 2, 5, 4) = (/ & & 0.17994e-03_rb,0.14057e-01_rb,0.22786e-01_rb,0.30487e-01_rb,0.37563e-01_rb, & & 0.43509e-01_rb,0.47676e-01_rb,0.49638e-01_rb,0.40849e-01_rb /) kao(:, 3, 5, 4) = (/ & & 0.20535e-03_rb,0.14811e-01_rb,0.24116e-01_rb,0.32266e-01_rb,0.39764e-01_rb, & & 0.46122e-01_rb,0.50669e-01_rb,0.52413e-01_rb,0.42683e-01_rb /) kao(:, 4, 5, 4) = (/ & & 0.23511e-03_rb,0.15598e-01_rb,0.25481e-01_rb,0.34103e-01_rb,0.41924e-01_rb, & & 0.48592e-01_rb,0.53283e-01_rb,0.55235e-01_rb,0.44335e-01_rb /) kao(:, 5, 5, 4) = (/ & & 0.26640e-03_rb,0.16402e-01_rb,0.26844e-01_rb,0.36000e-01_rb,0.44180e-01_rb, & & 0.51086e-01_rb,0.55918e-01_rb,0.57796e-01_rb,0.45991e-01_rb /) kao(:, 1, 6, 4) = (/ & & 0.13805e-03_rb,0.11222e-01_rb,0.18125e-01_rb,0.23877e-01_rb,0.28939e-01_rb, & & 0.33506e-01_rb,0.36944e-01_rb,0.38672e-01_rb,0.32335e-01_rb /) kao(:, 2, 6, 4) = (/ & & 0.15439e-03_rb,0.11883e-01_rb,0.19262e-01_rb,0.25521e-01_rb,0.31068e-01_rb, & & 0.35882e-01_rb,0.39589e-01_rb,0.41132e-01_rb,0.33684e-01_rb /) kao(:, 3, 6, 4) = (/ & & 0.17561e-03_rb,0.12558e-01_rb,0.20409e-01_rb,0.27033e-01_rb,0.33056e-01_rb, & & 0.38260e-01_rb,0.42155e-01_rb,0.43639e-01_rb,0.35175e-01_rb /) kao(:, 4, 6, 4) = (/ & & 0.19967e-03_rb,0.13236e-01_rb,0.21628e-01_rb,0.28554e-01_rb,0.34939e-01_rb, & & 0.40459e-01_rb,0.44550e-01_rb,0.46147e-01_rb,0.36643e-01_rb /) kao(:, 5, 6, 4) = (/ & & 0.23117e-03_rb,0.13936e-01_rb,0.22836e-01_rb,0.30183e-01_rb,0.36909e-01_rb, & & 0.42652e-01_rb,0.46864e-01_rb,0.48440e-01_rb,0.37992e-01_rb /) kao(:, 1, 7, 4) = (/ & & 0.11987e-03_rb,0.93983e-02_rb,0.15130e-01_rb,0.19808e-01_rb,0.23796e-01_rb, & & 0.27285e-01_rb,0.30176e-01_rb,0.31906e-01_rb,0.26193e-01_rb /) kao(:, 2, 7, 4) = (/ & & 0.13164e-03_rb,0.99743e-02_rb,0.16118e-01_rb,0.21319e-01_rb,0.25600e-01_rb, & & 0.29404e-01_rb,0.32485e-01_rb,0.33909e-01_rb,0.27439e-01_rb /) kao(:, 3, 7, 4) = (/ & & 0.14862e-03_rb,0.10559e-01_rb,0.17124e-01_rb,0.22674e-01_rb,0.27373e-01_rb, & & 0.31501e-01_rb,0.34705e-01_rb,0.36112e-01_rb,0.28667e-01_rb /) kao(:, 4, 7, 4) = (/ & & 0.16941e-03_rb,0.11142e-01_rb,0.18163e-01_rb,0.23992e-01_rb,0.29023e-01_rb, & & 0.33461e-01_rb,0.36882e-01_rb,0.38288e-01_rb,0.29990e-01_rb /) kao(:, 5, 7, 4) = (/ & & 0.19444e-03_rb,0.11740e-01_rb,0.19231e-01_rb,0.25410e-01_rb,0.30702e-01_rb, & & 0.35380e-01_rb,0.38933e-01_rb,0.40325e-01_rb,0.31163e-01_rb /) kao(:, 1, 8, 4) = (/ & & 0.10266e-03_rb,0.78132e-02_rb,0.12495e-01_rb,0.16294e-01_rb,0.19552e-01_rb, & & 0.22203e-01_rb,0.24522e-01_rb,0.26158e-01_rb,0.21477e-01_rb /) kao(:, 2, 8, 4) = (/ & & 0.11308e-03_rb,0.82996e-02_rb,0.13385e-01_rb,0.17650e-01_rb,0.21113e-01_rb, & & 0.24026e-01_rb,0.26424e-01_rb,0.27779e-01_rb,0.22661e-01_rb /) kao(:, 3, 8, 4) = (/ & & 0.12431e-03_rb,0.88118e-02_rb,0.14254e-01_rb,0.18852e-01_rb,0.22717e-01_rb, & & 0.25822e-01_rb,0.28352e-01_rb,0.29667e-01_rb,0.23674e-01_rb /) kao(:, 4, 8, 4) = (/ & & 0.14146e-03_rb,0.93080e-02_rb,0.15152e-01_rb,0.20013e-01_rb,0.24158e-01_rb, & & 0.27569e-01_rb,0.30306e-01_rb,0.31495e-01_rb,0.24838e-01_rb /) kao(:, 5, 8, 4) = (/ & & 0.16275e-03_rb,0.98287e-02_rb,0.16080e-01_rb,0.21227e-01_rb,0.25592e-01_rb, & & 0.29226e-01_rb,0.32075e-01_rb,0.33357e-01_rb,0.25887e-01_rb /) kao(:, 1, 9, 4) = (/ & & 0.85797e-04_rb,0.64412e-02_rb,0.10231e-01_rb,0.13327e-01_rb,0.15923e-01_rb, & & 0.18103e-01_rb,0.19903e-01_rb,0.21189e-01_rb,0.17975e-01_rb /) kao(:, 2, 9, 4) = (/ & & 0.94370e-04_rb,0.68514e-02_rb,0.11041e-01_rb,0.14472e-01_rb,0.17298e-01_rb, & & 0.19661e-01_rb,0.21421e-01_rb,0.22631e-01_rb,0.18990e-01_rb /) kao(:, 3, 9, 4) = (/ & & 0.10603e-03_rb,0.72870e-02_rb,0.11786e-01_rb,0.15570e-01_rb,0.18710e-01_rb, & & 0.21195e-01_rb,0.23092e-01_rb,0.24157e-01_rb,0.19934e-01_rb /) kao(:, 4, 9, 4) = (/ & & 0.11819e-03_rb,0.77217e-02_rb,0.12559e-01_rb,0.16589e-01_rb,0.19991e-01_rb, & & 0.22738e-01_rb,0.24769e-01_rb,0.25771e-01_rb,0.20946e-01_rb /) kao(:, 5, 9, 4) = (/ & & 0.13500e-03_rb,0.81624e-02_rb,0.13346e-01_rb,0.17610e-01_rb,0.21227e-01_rb, & & 0.24140e-01_rb,0.26339e-01_rb,0.27388e-01_rb,0.21819e-01_rb /) kao(:, 1,10, 4) = (/ & & 0.73275e-04_rb,0.53147e-02_rb,0.83832e-02_rb,0.10890e-01_rb,0.12998e-01_rb, & & 0.14772e-01_rb,0.16237e-01_rb,0.17165e-01_rb,0.15972e-01_rb /) kao(:, 2,10, 4) = (/ & & 0.80303e-04_rb,0.56594e-02_rb,0.90964e-02_rb,0.11869e-01_rb,0.14181e-01_rb, & & 0.16065e-01_rb,0.17493e-01_rb,0.18447e-01_rb,0.17075e-01_rb /) kao(:, 3,10, 4) = (/ & & 0.88821e-04_rb,0.60286e-02_rb,0.97491e-02_rb,0.12852e-01_rb,0.15387e-01_rb, & & 0.17394e-01_rb,0.18909e-01_rb,0.19708e-01_rb,0.18078e-01_rb /) kao(:, 4,10, 4) = (/ & & 0.10142e-03_rb,0.63962e-02_rb,0.10392e-01_rb,0.13730e-01_rb,0.16522e-01_rb, & & 0.18771e-01_rb,0.20308e-01_rb,0.21096e-01_rb,0.19037e-01_rb /) kao(:, 5,10, 4) = (/ & & 0.11405e-03_rb,0.67754e-02_rb,0.11065e-01_rb,0.14605e-01_rb,0.17581e-01_rb, & & 0.19991e-01_rb,0.21687e-01_rb,0.22458e-01_rb,0.19875e-01_rb /) kao(:, 1,11, 4) = (/ & & 0.64517e-04_rb,0.45135e-02_rb,0.71165e-02_rb,0.92384e-02_rb,0.10998e-01_rb, & & 0.12474e-01_rb,0.13700e-01_rb,0.14388e-01_rb,0.14631e-01_rb /) kao(:, 2,11, 4) = (/ & & 0.71535e-04_rb,0.48070e-02_rb,0.77137e-02_rb,0.10092e-01_rb,0.12023e-01_rb, & & 0.13623e-01_rb,0.14792e-01_rb,0.15449e-01_rb,0.15481e-01_rb /) kao(:, 3,11, 4) = (/ & & 0.79504e-04_rb,0.51199e-02_rb,0.82600e-02_rb,0.10911e-01_rb,0.13076e-01_rb, & & 0.14755e-01_rb,0.16002e-01_rb,0.16546e-01_rb,0.16298e-01_rb /) kao(:, 4,11, 4) = (/ & & 0.90433e-04_rb,0.54351e-02_rb,0.88101e-02_rb,0.11647e-01_rb,0.14018e-01_rb, & & 0.15922e-01_rb,0.17206e-01_rb,0.17715e-01_rb,0.16991e-01_rb /) kao(:, 5,11, 4) = (/ & & 0.10146e-03_rb,0.57596e-02_rb,0.93865e-02_rb,0.12407e-01_rb,0.14922e-01_rb, & & 0.16951e-01_rb,0.18384e-01_rb,0.18893e-01_rb,0.17666e-01_rb /) kao(:, 1,12, 4) = (/ & & 0.56913e-04_rb,0.38361e-02_rb,0.60238e-02_rb,0.78101e-02_rb,0.92943e-02_rb, & & 0.10515e-01_rb,0.11514e-01_rb,0.12051e-01_rb,0.12708e-01_rb /) kao(:, 2,12, 4) = (/ & & 0.62984e-04_rb,0.40886e-02_rb,0.65153e-02_rb,0.85464e-02_rb,0.10168e-01_rb, & & 0.11498e-01_rb,0.12452e-01_rb,0.12938e-01_rb,0.13473e-01_rb /) kao(:, 3,12, 4) = (/ & & 0.70588e-04_rb,0.43561e-02_rb,0.69761e-02_rb,0.92137e-02_rb,0.11068e-01_rb, & & 0.12482e-01_rb,0.13497e-01_rb,0.13892e-01_rb,0.14090e-01_rb /) kao(:, 4,12, 4) = (/ & & 0.79556e-04_rb,0.46222e-02_rb,0.74472e-02_rb,0.98382e-02_rb,0.11852e-01_rb, & & 0.13461e-01_rb,0.14539e-01_rb,0.14868e-01_rb,0.14684e-01_rb /) kao(:, 5,12, 4) = (/ & & 0.89330e-04_rb,0.49037e-02_rb,0.79332e-02_rb,0.10492e-01_rb,0.12613e-01_rb, & & 0.14331e-01_rb,0.15523e-01_rb,0.15867e-01_rb,0.15266e-01_rb /) kao(:, 1,13, 4) = (/ & & 0.49040e-04_rb,0.32470e-02_rb,0.50782e-02_rb,0.65813e-02_rb,0.78254e-02_rb, & & 0.88398e-02_rb,0.96483e-02_rb,0.10090e-01_rb,0.10614e-01_rb /) kao(:, 2,13, 4) = (/ & & 0.54225e-04_rb,0.34616e-02_rb,0.54906e-02_rb,0.71951e-02_rb,0.85711e-02_rb, & & 0.96781e-02_rb,0.10460e-01_rb,0.10840e-01_rb,0.11206e-01_rb /) kao(:, 3,13, 4) = (/ & & 0.61136e-04_rb,0.36878e-02_rb,0.58777e-02_rb,0.77458e-02_rb,0.93183e-02_rb, & & 0.10528e-01_rb,0.11347e-01_rb,0.11684e-01_rb,0.11730e-01_rb /) kao(:, 4,13, 4) = (/ & & 0.68788e-04_rb,0.39213e-02_rb,0.62791e-02_rb,0.82774e-02_rb,0.99761e-02_rb, & & 0.11332e-01_rb,0.12247e-01_rb,0.12495e-01_rb,0.12250e-01_rb /) kao(:, 5,13, 4) = (/ & & 0.77427e-04_rb,0.41640e-02_rb,0.66890e-02_rb,0.88358e-02_rb,0.10624e-01_rb, & & 0.12069e-01_rb,0.13064e-01_rb,0.13341e-01_rb,0.12730e-01_rb /) kao(:, 1, 1, 5) = (/ & & 0.69098e-02_rb,0.84650e-01_rb,0.13006e+00_rb,0.16652e+00_rb,0.19608e+00_rb, & & 0.21975e+00_rb,0.23496e+00_rb,0.23277e+00_rb,0.18007e+00_rb /) kao(:, 2, 1, 5) = (/ & & 0.78200e-02_rb,0.89279e-01_rb,0.13630e+00_rb,0.17409e+00_rb,0.20398e+00_rb, & & 0.22718e+00_rb,0.24129e+00_rb,0.23750e+00_rb,0.18438e+00_rb /) kao(:, 3, 1, 5) = (/ & & 0.89787e-02_rb,0.94428e-01_rb,0.14296e+00_rb,0.18170e+00_rb,0.21205e+00_rb, & & 0.23450e+00_rb,0.24726e+00_rb,0.24172e+00_rb,0.18878e+00_rb /) kao(:, 4, 1, 5) = (/ & & 0.10426e-01_rb,0.10003e+00_rb,0.15009e+00_rb,0.18943e+00_rb,0.22015e+00_rb, & & 0.24206e+00_rb,0.25341e+00_rb,0.24571e+00_rb,0.19325e+00_rb /) kao(:, 5, 1, 5) = (/ & & 0.12209e-01_rb,0.10603e+00_rb,0.15781e+00_rb,0.19756e+00_rb,0.22832e+00_rb, & & 0.24963e+00_rb,0.25957e+00_rb,0.24958e+00_rb,0.19748e+00_rb /) kao(:, 1, 2, 5) = (/ & & 0.64020e-02_rb,0.74597e-01_rb,0.11458e+00_rb,0.14581e+00_rb,0.17103e+00_rb, & & 0.19105e+00_rb,0.20412e+00_rb,0.20133e+00_rb,0.15242e+00_rb /) kao(:, 2, 2, 5) = (/ & & 0.72586e-02_rb,0.78857e-01_rb,0.12024e+00_rb,0.15257e+00_rb,0.17796e+00_rb, & & 0.19765e+00_rb,0.20972e+00_rb,0.20548e+00_rb,0.15620e+00_rb /) kao(:, 3, 2, 5) = (/ & & 0.82903e-02_rb,0.83602e-01_rb,0.12623e+00_rb,0.15931e+00_rb,0.18512e+00_rb, & & 0.20423e+00_rb,0.21503e+00_rb,0.20937e+00_rb,0.15993e+00_rb /) kao(:, 4, 2, 5) = (/ & & 0.94578e-02_rb,0.88668e-01_rb,0.13277e+00_rb,0.16635e+00_rb,0.19233e+00_rb, & & 0.21098e+00_rb,0.22050e+00_rb,0.21294e+00_rb,0.16397e+00_rb /) kao(:, 5, 2, 5) = (/ & & 0.10865e-01_rb,0.94113e-01_rb,0.13987e+00_rb,0.17375e+00_rb,0.19975e+00_rb, & & 0.21771e+00_rb,0.22592e+00_rb,0.21639e+00_rb,0.16745e+00_rb /) kao(:, 1, 3, 5) = (/ & & 0.56943e-02_rb,0.64084e-01_rb,0.99294e-01_rb,0.12614e+00_rb,0.14746e+00_rb, & & 0.16414e+00_rb,0.17503e+00_rb,0.17255e+00_rb,0.12738e+00_rb /) kao(:, 2, 3, 5) = (/ & & 0.64702e-02_rb,0.67967e-01_rb,0.10427e+00_rb,0.13197e+00_rb,0.15350e+00_rb, & & 0.16985e+00_rb,0.18008e+00_rb,0.17631e+00_rb,0.13087e+00_rb /) kao(:, 3, 3, 5) = (/ & & 0.74200e-02_rb,0.72252e-01_rb,0.10956e+00_rb,0.13801e+00_rb,0.15978e+00_rb, & & 0.17567e+00_rb,0.18476e+00_rb,0.17977e+00_rb,0.13421e+00_rb /) kao(:, 4, 3, 5) = (/ & & 0.84907e-02_rb,0.76772e-01_rb,0.11539e+00_rb,0.14427e+00_rb,0.16615e+00_rb, & & 0.18168e+00_rb,0.18947e+00_rb,0.18300e+00_rb,0.13761e+00_rb /) kao(:, 5, 3, 5) = (/ & & 0.97078e-02_rb,0.81671e-01_rb,0.12172e+00_rb,0.15082e+00_rb,0.17277e+00_rb, & & 0.18769e+00_rb,0.19427e+00_rb,0.18608e+00_rb,0.14067e+00_rb /) kao(:, 1, 4, 5) = (/ & & 0.48829e-02_rb,0.54383e-01_rb,0.85075e-01_rb,0.10815e+00_rb,0.12638e+00_rb, & & 0.14020e+00_rb,0.14903e+00_rb,0.14670e+00_rb,0.10614e+00_rb /) kao(:, 2, 4, 5) = (/ & & 0.55740e-02_rb,0.57779e-01_rb,0.89436e-01_rb,0.11323e+00_rb,0.13160e+00_rb, & & 0.14514e+00_rb,0.15349e+00_rb,0.15027e+00_rb,0.10949e+00_rb /) kao(:, 3, 4, 5) = (/ & & 0.64015e-02_rb,0.61546e-01_rb,0.94139e-01_rb,0.11850e+00_rb,0.13701e+00_rb, & & 0.15017e+00_rb,0.15757e+00_rb,0.15344e+00_rb,0.11257e+00_rb /) kao(:, 4, 4, 5) = (/ & & 0.73719e-02_rb,0.65521e-01_rb,0.99232e-01_rb,0.12403e+00_rb,0.14259e+00_rb, & & 0.15541e+00_rb,0.16175e+00_rb,0.15634e+00_rb,0.11557e+00_rb /) kao(:, 5, 4, 5) = (/ & & 0.84789e-02_rb,0.69810e-01_rb,0.10478e+00_rb,0.12985e+00_rb,0.14840e+00_rb, & & 0.16071e+00_rb,0.16597e+00_rb,0.15910e+00_rb,0.11833e+00_rb /) kao(:, 1, 5, 5) = (/ & & 0.41357e-02_rb,0.45878e-01_rb,0.71866e-01_rb,0.92130e-01_rb,0.10772e+00_rb, & & 0.11935e+00_rb,0.12627e+00_rb,0.12382e+00_rb,0.88490e-01_rb /) kao(:, 2, 5, 5) = (/ & & 0.47278e-02_rb,0.48809e-01_rb,0.75724e-01_rb,0.96485e-01_rb,0.11218e+00_rb, & & 0.12363e+00_rb,0.13023e+00_rb,0.12723e+00_rb,0.91646e-01_rb /) kao(:, 3, 5, 5) = (/ & & 0.54234e-02_rb,0.52108e-01_rb,0.79925e-01_rb,0.10105e+00_rb,0.11684e+00_rb, & & 0.12795e+00_rb,0.13389e+00_rb,0.13024e+00_rb,0.94384e-01_rb /) kao(:, 4, 5, 5) = (/ & & 0.62672e-02_rb,0.55647e-01_rb,0.84438e-01_rb,0.10591e+00_rb,0.12167e+00_rb, & & 0.13255e+00_rb,0.13759e+00_rb,0.13288e+00_rb,0.97037e-01_rb /) kao(:, 5, 5, 5) = (/ & & 0.72387e-02_rb,0.59393e-01_rb,0.89326e-01_rb,0.11102e+00_rb,0.12680e+00_rb, & & 0.13723e+00_rb,0.14128e+00_rb,0.13530e+00_rb,0.99585e-01_rb /) kao(:, 1, 6, 5) = (/ & & 0.34820e-02_rb,0.38455e-01_rb,0.60106e-01_rb,0.77515e-01_rb,0.91143e-01_rb, & & 0.10094e+00_rb,0.10649e+00_rb,0.10403e+00_rb,0.73509e-01_rb /) kao(:, 2, 6, 5) = (/ & & 0.39507e-02_rb,0.40927e-01_rb,0.63402e-01_rb,0.81240e-01_rb,0.94968e-01_rb, & & 0.10469e+00_rb,0.11001e+00_rb,0.10717e+00_rb,0.76426e-01_rb /) kao(:, 3, 6, 5) = (/ & & 0.45266e-02_rb,0.43726e-01_rb,0.67041e-01_rb,0.85234e-01_rb,0.98911e-01_rb, & & 0.10845e+00_rb,0.11329e+00_rb,0.10996e+00_rb,0.78861e-01_rb /) kao(:, 4, 6, 5) = (/ & & 0.52242e-02_rb,0.46807e-01_rb,0.70939e-01_rb,0.89547e-01_rb,0.10312e+00_rb, & & 0.11247e+00_rb,0.11653e+00_rb,0.11237e+00_rb,0.81250e-01_rb /) kao(:, 5, 6, 5) = (/ & & 0.60449e-02_rb,0.50083e-01_rb,0.75175e-01_rb,0.94041e-01_rb,0.10760e+00_rb, & & 0.11657e+00_rb,0.11980e+00_rb,0.11449e+00_rb,0.83549e-01_rb /) kao(:, 1, 7, 5) = (/ & & 0.28711e-02_rb,0.32523e-01_rb,0.49971e-01_rb,0.64597e-01_rb,0.76360e-01_rb, & & 0.84918e-01_rb,0.89523e-01_rb,0.87200e-01_rb,0.60618e-01_rb /) kao(:, 2, 7, 5) = (/ & & 0.32550e-02_rb,0.34614e-01_rb,0.52803e-01_rb,0.67740e-01_rb,0.79713e-01_rb, & & 0.88207e-01_rb,0.92681e-01_rb,0.90060e-01_rb,0.63331e-01_rb /) kao(:, 3, 7, 5) = (/ & & 0.37263e-02_rb,0.36968e-01_rb,0.55904e-01_rb,0.71153e-01_rb,0.83143e-01_rb, & & 0.91509e-01_rb,0.95607e-01_rb,0.92564e-01_rb,0.65595e-01_rb /) kao(:, 4, 7, 5) = (/ & & 0.42953e-02_rb,0.39538e-01_rb,0.59281e-01_rb,0.74912e-01_rb,0.86822e-01_rb, & & 0.94956e-01_rb,0.98438e-01_rb,0.94728e-01_rb,0.67680e-01_rb /) kao(:, 5, 7, 5) = (/ & & 0.49788e-02_rb,0.42264e-01_rb,0.62953e-01_rb,0.78842e-01_rb,0.90742e-01_rb, & & 0.98510e-01_rb,0.10129e+00_rb,0.96641e-01_rb,0.69746e-01_rb /) kao(:, 1, 8, 5) = (/ & & 0.23480e-02_rb,0.27230e-01_rb,0.41671e-01_rb,0.53565e-01_rb,0.63436e-01_rb, & & 0.70999e-01_rb,0.75020e-01_rb,0.72906e-01_rb,0.49386e-01_rb /) kao(:, 2, 8, 5) = (/ & & 0.26517e-02_rb,0.29065e-01_rb,0.44017e-01_rb,0.56225e-01_rb,0.66341e-01_rb, & & 0.73935e-01_rb,0.77879e-01_rb,0.75468e-01_rb,0.51750e-01_rb /) kao(:, 3, 8, 5) = (/ & & 0.30285e-02_rb,0.31112e-01_rb,0.46598e-01_rb,0.59161e-01_rb,0.69302e-01_rb, & & 0.76809e-01_rb,0.80439e-01_rb,0.77729e-01_rb,0.53904e-01_rb /) kao(:, 4, 8, 5) = (/ & & 0.34816e-02_rb,0.33348e-01_rb,0.49448e-01_rb,0.62380e-01_rb,0.72502e-01_rb, & & 0.79786e-01_rb,0.82887e-01_rb,0.79683e-01_rb,0.55731e-01_rb /) kao(:, 5, 8, 5) = (/ & & 0.40444e-02_rb,0.35730e-01_rb,0.52545e-01_rb,0.65794e-01_rb,0.75878e-01_rb, & & 0.82889e-01_rb,0.85379e-01_rb,0.81391e-01_rb,0.57509e-01_rb /) kao(:, 1, 9, 5) = (/ & & 0.19247e-02_rb,0.22630e-01_rb,0.34752e-01_rb,0.44387e-01_rb,0.52455e-01_rb, & & 0.58833e-01_rb,0.62468e-01_rb,0.60719e-01_rb,0.41880e-01_rb /) kao(:, 2, 9, 5) = (/ & & 0.21557e-02_rb,0.24204e-01_rb,0.36750e-01_rb,0.46636e-01_rb,0.54976e-01_rb, & & 0.61421e-01_rb,0.65052e-01_rb,0.62994e-01_rb,0.44010e-01_rb /) kao(:, 3, 9, 5) = (/ & & 0.24477e-02_rb,0.25958e-01_rb,0.38981e-01_rb,0.49108e-01_rb,0.57526e-01_rb, & & 0.63907e-01_rb,0.67351e-01_rb,0.65038e-01_rb,0.45929e-01_rb /) kao(:, 4, 9, 5) = (/ & & 0.28196e-02_rb,0.27882e-01_rb,0.41431e-01_rb,0.51802e-01_rb,0.60249e-01_rb, & & 0.66480e-01_rb,0.69467e-01_rb,0.66788e-01_rb,0.47555e-01_rb /) kao(:, 5, 9, 5) = (/ & & 0.32654e-02_rb,0.29939e-01_rb,0.44072e-01_rb,0.54714e-01_rb,0.63163e-01_rb, & & 0.69207e-01_rb,0.71600e-01_rb,0.68328e-01_rb,0.49077e-01_rb /) kao(:, 1,10, 5) = (/ & & 0.16200e-02_rb,0.18814e-01_rb,0.28911e-01_rb,0.37025e-01_rb,0.43479e-01_rb, & & 0.48691e-01_rb,0.51767e-01_rb,0.50517e-01_rb,0.36565e-01_rb /) kao(:, 2,10, 5) = (/ & & 0.18031e-02_rb,0.20150e-01_rb,0.30632e-01_rb,0.38967e-01_rb,0.45609e-01_rb, & & 0.50940e-01_rb,0.54046e-01_rb,0.52515e-01_rb,0.38425e-01_rb /) kao(:, 3,10, 5) = (/ & & 0.20232e-02_rb,0.21640e-01_rb,0.32572e-01_rb,0.41079e-01_rb,0.47788e-01_rb, & & 0.53101e-01_rb,0.56114e-01_rb,0.54338e-01_rb,0.40162e-01_rb /) kao(:, 4,10, 5) = (/ & & 0.23038e-02_rb,0.23298e-01_rb,0.34703e-01_rb,0.43393e-01_rb,0.50110e-01_rb, & & 0.55298e-01_rb,0.57982e-01_rb,0.55873e-01_rb,0.41782e-01_rb /) kao(:, 5,10, 5) = (/ & & 0.26649e-02_rb,0.25073e-01_rb,0.36983e-01_rb,0.45868e-01_rb,0.52617e-01_rb, & & 0.57641e-01_rb,0.59833e-01_rb,0.57222e-01_rb,0.43243e-01_rb /) kao(:, 1,11, 5) = (/ & & 0.14241e-02_rb,0.16065e-01_rb,0.24586e-01_rb,0.31465e-01_rb,0.36963e-01_rb, & & 0.41093e-01_rb,0.43617e-01_rb,0.42673e-01_rb,0.32343e-01_rb /) kao(:, 2,11, 5) = (/ & & 0.15878e-02_rb,0.17268e-01_rb,0.26144e-01_rb,0.33169e-01_rb,0.38816e-01_rb, & & 0.42988e-01_rb,0.45546e-01_rb,0.44327e-01_rb,0.34054e-01_rb /) kao(:, 3,11, 5) = (/ & & 0.18003e-02_rb,0.18609e-01_rb,0.27888e-01_rb,0.35066e-01_rb,0.40717e-01_rb, & & 0.44861e-01_rb,0.47277e-01_rb,0.45845e-01_rb,0.35562e-01_rb /) kao(:, 4,11, 5) = (/ & & 0.20513e-02_rb,0.20069e-01_rb,0.29794e-01_rb,0.37147e-01_rb,0.42781e-01_rb, & & 0.46774e-01_rb,0.48869e-01_rb,0.47106e-01_rb,0.36881e-01_rb /) kao(:, 5,11, 5) = (/ & & 0.23610e-02_rb,0.21636e-01_rb,0.31786e-01_rb,0.39341e-01_rb,0.44964e-01_rb, & & 0.48832e-01_rb,0.50478e-01_rb,0.48237e-01_rb,0.38136e-01_rb /) kao(:, 1,12, 5) = (/ & & 0.12367e-02_rb,0.13664e-01_rb,0.20841e-01_rb,0.26619e-01_rb,0.31258e-01_rb, & & 0.34766e-01_rb,0.36665e-01_rb,0.35873e-01_rb,0.27811e-01_rb /) kao(:, 2,12, 5) = (/ & & 0.13898e-02_rb,0.14747e-01_rb,0.22238e-01_rb,0.28134e-01_rb,0.32876e-01_rb, & & 0.36392e-01_rb,0.38286e-01_rb,0.37257e-01_rb,0.29212e-01_rb /) kao(:, 3,12, 5) = (/ & & 0.15822e-02_rb,0.15920e-01_rb,0.23808e-01_rb,0.29830e-01_rb,0.34558e-01_rb, & & 0.38014e-01_rb,0.39728e-01_rb,0.38493e-01_rb,0.30517e-01_rb /) kao(:, 4,12, 5) = (/ & & 0.18117e-02_rb,0.17195e-01_rb,0.25479e-01_rb,0.31664e-01_rb,0.36378e-01_rb, & & 0.39675e-01_rb,0.41098e-01_rb,0.39553e-01_rb,0.31705e-01_rb /) kao(:, 5,12, 5) = (/ & & 0.20996e-02_rb,0.18567e-01_rb,0.27225e-01_rb,0.33571e-01_rb,0.38302e-01_rb, & & 0.41437e-01_rb,0.42501e-01_rb,0.40525e-01_rb,0.32748e-01_rb /) kao(:, 1,13, 5) = (/ & & 0.10606e-02_rb,0.11594e-01_rb,0.17616e-01_rb,0.22456e-01_rb,0.26337e-01_rb, & & 0.29282e-01_rb,0.30831e-01_rb,0.30037e-01_rb,0.23251e-01_rb /) kao(:, 2,13, 5) = (/ & & 0.11975e-02_rb,0.12541e-01_rb,0.18850e-01_rb,0.23795e-01_rb,0.27745e-01_rb, & & 0.30676e-01_rb,0.32191e-01_rb,0.31186e-01_rb,0.24461e-01_rb /) kao(:, 3,13, 5) = (/ & & 0.13686e-02_rb,0.13557e-01_rb,0.20236e-01_rb,0.25287e-01_rb,0.29224e-01_rb, & & 0.32085e-01_rb,0.33411e-01_rb,0.32190e-01_rb,0.25539e-01_rb /) kao(:, 4,13, 5) = (/ & & 0.15787e-02_rb,0.14655e-01_rb,0.21685e-01_rb,0.26887e-01_rb,0.30821e-01_rb, & & 0.33533e-01_rb,0.34581e-01_rb,0.33091e-01_rb,0.26483e-01_rb /) kao(:, 5,13, 5) = (/ & & 0.18422e-02_rb,0.15847e-01_rb,0.23201e-01_rb,0.28535e-01_rb,0.32486e-01_rb, & & 0.35059e-01_rb,0.35791e-01_rb,0.33942e-01_rb,0.27340e-01_rb /) kao(:, 1, 1, 6) = (/ & & 0.11257e+00_rb,0.31731e+00_rb,0.42139e+00_rb,0.49121e+00_rb,0.53179e+00_rb, & & 0.54416e+00_rb,0.52879e+00_rb,0.48565e+00_rb,0.38185e+00_rb /) kao(:, 2, 1, 6) = (/ & & 0.12995e+00_rb,0.33757e+00_rb,0.44079e+00_rb,0.50693e+00_rb,0.54374e+00_rb, & & 0.55231e+00_rb,0.53411e+00_rb,0.48973e+00_rb,0.38664e+00_rb /) kao(:, 3, 1, 6) = (/ & & 0.14899e+00_rb,0.35787e+00_rb,0.45940e+00_rb,0.52235e+00_rb,0.55490e+00_rb, & & 0.56009e+00_rb,0.53945e+00_rb,0.49411e+00_rb,0.39028e+00_rb /) kao(:, 4, 1, 6) = (/ & & 0.16946e+00_rb,0.37848e+00_rb,0.47747e+00_rb,0.53692e+00_rb,0.56497e+00_rb, & & 0.56760e+00_rb,0.54484e+00_rb,0.49832e+00_rb,0.39391e+00_rb /) kao(:, 5, 1, 6) = (/ & & 0.19143e+00_rb,0.39915e+00_rb,0.49476e+00_rb,0.55039e+00_rb,0.57468e+00_rb, & & 0.57486e+00_rb,0.55036e+00_rb,0.50307e+00_rb,0.39756e+00_rb /) kao(:, 1, 2, 6) = (/ & & 0.97091e-01_rb,0.28037e+00_rb,0.37054e+00_rb,0.43162e+00_rb,0.46715e+00_rb, & & 0.47740e+00_rb,0.46327e+00_rb,0.42557e+00_rb,0.32833e+00_rb /) kao(:, 2, 2, 6) = (/ & & 0.11208e+00_rb,0.29815e+00_rb,0.38764e+00_rb,0.44615e+00_rb,0.47841e+00_rb, & & 0.48513e+00_rb,0.46886e+00_rb,0.42998e+00_rb,0.33260e+00_rb /) kao(:, 3, 2, 6) = (/ & & 0.12856e+00_rb,0.31599e+00_rb,0.40420e+00_rb,0.45996e+00_rb,0.48848e+00_rb, & & 0.49285e+00_rb,0.47441e+00_rb,0.43431e+00_rb,0.33632e+00_rb /) kao(:, 4, 2, 6) = (/ & & 0.14648e+00_rb,0.33425e+00_rb,0.42020e+00_rb,0.47262e+00_rb,0.49778e+00_rb, & & 0.50015e+00_rb,0.47996e+00_rb,0.43890e+00_rb,0.33965e+00_rb /) kao(:, 5, 2, 6) = (/ & & 0.16579e+00_rb,0.35250e+00_rb,0.43554e+00_rb,0.48445e+00_rb,0.50655e+00_rb, & & 0.50702e+00_rb,0.48572e+00_rb,0.44375e+00_rb,0.34330e+00_rb /) kao(:, 1, 3, 6) = (/ & & 0.80654e-01_rb,0.24334e+00_rb,0.32145e+00_rb,0.37485e+00_rb,0.40615e+00_rb, & & 0.41488e+00_rb,0.40284e+00_rb,0.37005e+00_rb,0.27897e+00_rb /) kao(:, 2, 3, 6) = (/ & & 0.93334e-01_rb,0.25889e+00_rb,0.33665e+00_rb,0.38799e+00_rb,0.41628e+00_rb, & & 0.42254e+00_rb,0.40845e+00_rb,0.37420e+00_rb,0.28281e+00_rb /) kao(:, 3, 3, 6) = (/ & & 0.10735e+00_rb,0.27449e+00_rb,0.35143e+00_rb,0.40015e+00_rb,0.42551e+00_rb, & & 0.42981e+00_rb,0.41382e+00_rb,0.37871e+00_rb,0.28619e+00_rb /) kao(:, 4, 3, 6) = (/ & & 0.12265e+00_rb,0.29043e+00_rb,0.36548e+00_rb,0.41153e+00_rb,0.43393e+00_rb, & & 0.43649e+00_rb,0.41932e+00_rb,0.38340e+00_rb,0.28955e+00_rb /) kao(:, 5, 3, 6) = (/ & & 0.13925e+00_rb,0.30659e+00_rb,0.37895e+00_rb,0.42211e+00_rb,0.44187e+00_rb, & & 0.44276e+00_rb,0.42490e+00_rb,0.38830e+00_rb,0.29282e+00_rb /) kao(:, 1, 4, 6) = (/ & & 0.65986e-01_rb,0.20968e+00_rb,0.27746e+00_rb,0.32321e+00_rb,0.35021e+00_rb, & & 0.35817e+00_rb,0.34816e+00_rb,0.31914e+00_rb,0.23714e+00_rb /) kao(:, 2, 4, 6) = (/ & & 0.76550e-01_rb,0.22318e+00_rb,0.29094e+00_rb,0.33486e+00_rb,0.35941e+00_rb, & & 0.36546e+00_rb,0.35341e+00_rb,0.32318e+00_rb,0.24040e+00_rb /) kao(:, 3, 4, 6) = (/ & & 0.88349e-01_rb,0.23676e+00_rb,0.30387e+00_rb,0.34562e+00_rb,0.36786e+00_rb, & & 0.37204e+00_rb,0.35871e+00_rb,0.32765e+00_rb,0.24343e+00_rb /) kao(:, 4, 4, 6) = (/ & & 0.10129e+00_rb,0.25065e+00_rb,0.31610e+00_rb,0.35574e+00_rb,0.37546e+00_rb, & & 0.37811e+00_rb,0.36390e+00_rb,0.33220e+00_rb,0.24649e+00_rb /) kao(:, 5, 4, 6) = (/ & & 0.11540e+00_rb,0.26489e+00_rb,0.32784e+00_rb,0.36504e+00_rb,0.38250e+00_rb, & & 0.38387e+00_rb,0.36919e+00_rb,0.33697e+00_rb,0.24943e+00_rb /) kao(:, 1, 5, 6) = (/ & & 0.53393e-01_rb,0.18000e+00_rb,0.23883e+00_rb,0.27751e+00_rb,0.30053e+00_rb, & & 0.30742e+00_rb,0.29898e+00_rb,0.27383e+00_rb,0.20106e+00_rb /) kao(:, 2, 5, 6) = (/ & & 0.62233e-01_rb,0.19175e+00_rb,0.25050e+00_rb,0.28777e+00_rb,0.30898e+00_rb, & & 0.31400e+00_rb,0.30389e+00_rb,0.27769e+00_rb,0.20390e+00_rb /) kao(:, 3, 5, 6) = (/ & & 0.72177e-01_rb,0.20364e+00_rb,0.26165e+00_rb,0.29741e+00_rb,0.31640e+00_rb, & & 0.31996e+00_rb,0.30876e+00_rb,0.28174e+00_rb,0.20671e+00_rb /) kao(:, 4, 5, 6) = (/ & & 0.83134e-01_rb,0.21576e+00_rb,0.27227e+00_rb,0.30617e+00_rb,0.32319e+00_rb, & & 0.32542e+00_rb,0.31353e+00_rb,0.28599e+00_rb,0.20956e+00_rb /) kao(:, 5, 5, 6) = (/ & & 0.95090e-01_rb,0.22815e+00_rb,0.28259e+00_rb,0.31429e+00_rb,0.32943e+00_rb, & & 0.33059e+00_rb,0.31837e+00_rb,0.29043e+00_rb,0.21220e+00_rb /) kao(:, 1, 6, 6) = (/ & & 0.42433e-01_rb,0.15317e+00_rb,0.20425e+00_rb,0.23740e+00_rb,0.25663e+00_rb, & & 0.26234e+00_rb,0.25512e+00_rb,0.23364e+00_rb,0.16949e+00_rb /) kao(:, 2, 6, 6) = (/ & & 0.49749e-01_rb,0.16341e+00_rb,0.21435e+00_rb,0.24646e+00_rb,0.26413e+00_rb, & & 0.26825e+00_rb,0.25968e+00_rb,0.23716e+00_rb,0.17204e+00_rb /) kao(:, 3, 6, 6) = (/ & & 0.58017e-01_rb,0.17381e+00_rb,0.22409e+00_rb,0.25485e+00_rb,0.27073e+00_rb, & & 0.27356e+00_rb,0.26405e+00_rb,0.24070e+00_rb,0.17477e+00_rb /) kao(:, 4, 6, 6) = (/ & & 0.67231e-01_rb,0.18439e+00_rb,0.23345e+00_rb,0.26240e+00_rb,0.27677e+00_rb, & & 0.27839e+00_rb,0.26819e+00_rb,0.24459e+00_rb,0.17741e+00_rb /) kao(:, 5, 6, 6) = (/ & & 0.77316e-01_rb,0.19517e+00_rb,0.24253e+00_rb,0.26953e+00_rb,0.28221e+00_rb, & & 0.28296e+00_rb,0.27246e+00_rb,0.24867e+00_rb,0.17984e+00_rb /) kao(:, 1, 7, 6) = (/ & & 0.33835e-01_rb,0.12894e+00_rb,0.17377e+00_rb,0.20223e+00_rb,0.21858e+00_rb, & & 0.22305e+00_rb,0.21661e+00_rb,0.19799e+00_rb,0.14234e+00_rb /) kao(:, 2, 7, 6) = (/ & & 0.39495e-01_rb,0.13775e+00_rb,0.18255e+00_rb,0.21017e+00_rb,0.22506e+00_rb, & & 0.22828e+00_rb,0.22063e+00_rb,0.20115e+00_rb,0.14469e+00_rb /) kao(:, 3, 7, 6) = (/ & & 0.46213e-01_rb,0.14677e+00_rb,0.19104e+00_rb,0.21747e+00_rb,0.23085e+00_rb, & & 0.23293e+00_rb,0.22444e+00_rb,0.20438e+00_rb,0.14721e+00_rb /) kao(:, 4, 7, 6) = (/ & & 0.53881e-01_rb,0.15604e+00_rb,0.19912e+00_rb,0.22407e+00_rb,0.23606e+00_rb, & & 0.23711e+00_rb,0.22803e+00_rb,0.20793e+00_rb,0.14967e+00_rb /) kao(:, 5, 7, 6) = (/ & & 0.62313e-01_rb,0.16559e+00_rb,0.20703e+00_rb,0.23032e+00_rb,0.24086e+00_rb, & & 0.24109e+00_rb,0.23183e+00_rb,0.21164e+00_rb,0.15187e+00_rb /) kao(:, 1, 8, 6) = (/ & & 0.27294e-01_rb,0.10784e+00_rb,0.14673e+00_rb,0.17152e+00_rb,0.18541e+00_rb, & & 0.18896e+00_rb,0.18302e+00_rb,0.16686e+00_rb,0.11892e+00_rb /) kao(:, 2, 8, 6) = (/ & & 0.31945e-01_rb,0.11533e+00_rb,0.15437e+00_rb,0.17841e+00_rb,0.19097e+00_rb, & & 0.19348e+00_rb,0.18650e+00_rb,0.16969e+00_rb,0.12123e+00_rb /) kao(:, 3, 8, 6) = (/ & & 0.37290e-01_rb,0.12309e+00_rb,0.16174e+00_rb,0.18467e+00_rb,0.19597e+00_rb, & & 0.19753e+00_rb,0.18983e+00_rb,0.17262e+00_rb,0.12344e+00_rb /) kao(:, 4, 8, 6) = (/ & & 0.43331e-01_rb,0.13110e+00_rb,0.16878e+00_rb,0.19044e+00_rb,0.20053e+00_rb, & & 0.20117e+00_rb,0.19304e+00_rb,0.17581e+00_rb,0.12571e+00_rb /) kao(:, 5, 8, 6) = (/ & & 0.50086e-01_rb,0.13937e+00_rb,0.17577e+00_rb,0.19586e+00_rb,0.20476e+00_rb, & & 0.20472e+00_rb,0.19647e+00_rb,0.17915e+00_rb,0.12770e+00_rb /) kao(:, 1, 9, 6) = (/ & & 0.21763e-01_rb,0.89580e-01_rb,0.12270e+00_rb,0.14431e+00_rb,0.15639e+00_rb, & & 0.15936e+00_rb,0.15421e+00_rb,0.14030e+00_rb,0.10042e+00_rb /) kao(:, 2, 9, 6) = (/ & & 0.25609e-01_rb,0.95974e-01_rb,0.12925e+00_rb,0.15030e+00_rb,0.16119e+00_rb, & & 0.16326e+00_rb,0.15719e+00_rb,0.14283e+00_rb,0.10252e+00_rb /) kao(:, 3, 9, 6) = (/ & & 0.30067e-01_rb,0.10261e+00_rb,0.13551e+00_rb,0.15572e+00_rb,0.16552e+00_rb, & & 0.16675e+00_rb,0.16007e+00_rb,0.14539e+00_rb,0.10448e+00_rb /) kao(:, 4, 9, 6) = (/ & & 0.35097e-01_rb,0.10949e+00_rb,0.14161e+00_rb,0.16075e+00_rb,0.16947e+00_rb, & & 0.16997e+00_rb,0.16297e+00_rb,0.14823e+00_rb,0.10645e+00_rb /) kao(:, 5, 9, 6) = (/ & & 0.40711e-01_rb,0.11658e+00_rb,0.14773e+00_rb,0.16552e+00_rb,0.17324e+00_rb, & & 0.17317e+00_rb,0.16604e+00_rb,0.15112e+00_rb,0.10826e+00_rb /) kao(:, 1,10, 6) = (/ & & 0.17370e-01_rb,0.74466e-01_rb,0.10240e+00_rb,0.12053e+00_rb,0.13126e+00_rb, & & 0.13417e+00_rb,0.12989e+00_rb,0.11790e+00_rb,0.87103e-01_rb /) kao(:, 2,10, 6) = (/ & & 0.20536e-01_rb,0.79866e-01_rb,0.10796e+00_rb,0.12568e+00_rb,0.13547e+00_rb, & & 0.13755e+00_rb,0.13244e+00_rb,0.12017e+00_rb,0.88680e-01_rb /) kao(:, 3,10, 6) = (/ & & 0.24274e-01_rb,0.85524e-01_rb,0.11324e+00_rb,0.13036e+00_rb,0.13925e+00_rb, & & 0.14055e+00_rb,0.13491e+00_rb,0.12243e+00_rb,0.90062e-01_rb /) kao(:, 4,10, 6) = (/ & & 0.28508e-01_rb,0.91420e-01_rb,0.11852e+00_rb,0.13467e+00_rb,0.14267e+00_rb, & & 0.14339e+00_rb,0.13748e+00_rb,0.12487e+00_rb,0.91240e-01_rb /) kao(:, 5,10, 6) = (/ & & 0.33217e-01_rb,0.97522e-01_rb,0.12382e+00_rb,0.13886e+00_rb,0.14603e+00_rb, & & 0.14625e+00_rb,0.14015e+00_rb,0.12740e+00_rb,0.92631e-01_rb /) kao(:, 1,11, 6) = (/ & & 0.14918e-01_rb,0.64249e-01_rb,0.87193e-01_rb,0.10225e+00_rb,0.11107e+00_rb, & & 0.11380e+00_rb,0.11017e+00_rb,0.99775e-01_rb,0.75883e-01_rb /) kao(:, 2,11, 6) = (/ & & 0.17707e-01_rb,0.68887e-01_rb,0.91783e-01_rb,0.10653e+00_rb,0.11454e+00_rb, & & 0.11659e+00_rb,0.11231e+00_rb,0.10178e+00_rb,0.77400e-01_rb /) kao(:, 3,11, 6) = (/ & & 0.20985e-01_rb,0.73723e-01_rb,0.96290e-01_rb,0.11038e+00_rb,0.11765e+00_rb, & & 0.11911e+00_rb,0.11446e+00_rb,0.10377e+00_rb,0.78827e-01_rb /) kao(:, 4,11, 6) = (/ & & 0.24698e-01_rb,0.78820e-01_rb,0.10085e+00_rb,0.11403e+00_rb,0.12064e+00_rb, & & 0.12159e+00_rb,0.11674e+00_rb,0.10593e+00_rb,0.80678e-01_rb /) kao(:, 5,11, 6) = (/ & & 0.28798e-01_rb,0.84087e-01_rb,0.10545e+00_rb,0.11772e+00_rb,0.12367e+00_rb, & & 0.12416e+00_rb,0.11916e+00_rb,0.10818e+00_rb,0.82090e-01_rb /) kao(:, 1,12, 6) = (/ & & 0.12778e-01_rb,0.55028e-01_rb,0.74326e-01_rb,0.86458e-01_rb,0.93690e-01_rb, & & 0.95887e-01_rb,0.92996e-01_rb,0.84239e-01_rb,0.65531e-01_rb /) kao(:, 2,12, 6) = (/ & & 0.15226e-01_rb,0.59056e-01_rb,0.78180e-01_rb,0.90004e-01_rb,0.96562e-01_rb, & & 0.98210e-01_rb,0.94824e-01_rb,0.85996e-01_rb,0.67232e-01_rb /) kao(:, 3,12, 6) = (/ & & 0.18073e-01_rb,0.63328e-01_rb,0.81993e-01_rb,0.93245e-01_rb,0.99175e-01_rb, & & 0.10034e+00_rb,0.96751e-01_rb,0.87779e-01_rb,0.68728e-01_rb /) kao(:, 4,12, 6) = (/ & & 0.21287e-01_rb,0.67814e-01_rb,0.85944e-01_rb,0.96446e-01_rb,0.10181e+00_rb, & & 0.10253e+00_rb,0.98787e-01_rb,0.89700e-01_rb,0.70024e-01_rb /) kao(:, 5,12, 6) = (/ & & 0.24810e-01_rb,0.72405e-01_rb,0.89913e-01_rb,0.99700e-01_rb,0.10454e+00_rb, & & 0.10492e+00_rb,0.10099e+00_rb,0.91662e-01_rb,0.71222e-01_rb /) kao(:, 1,13, 6) = (/ & & 0.10897e-01_rb,0.46824e-01_rb,0.63070e-01_rb,0.73198e-01_rb,0.78826e-01_rb, & & 0.80547e-01_rb,0.78087e-01_rb,0.70945e-01_rb,0.55427e-01_rb /) kao(:, 2,13, 6) = (/ & & 0.13037e-01_rb,0.50331e-01_rb,0.66369e-01_rb,0.76169e-01_rb,0.81229e-01_rb, & & 0.82485e-01_rb,0.79688e-01_rb,0.72492e-01_rb,0.56776e-01_rb /) kao(:, 3,13, 6) = (/ & & 0.15498e-01_rb,0.54103e-01_rb,0.69687e-01_rb,0.78968e-01_rb,0.83486e-01_rb, & & 0.84334e-01_rb,0.81403e-01_rb,0.74109e-01_rb,0.57973e-01_rb /) kao(:, 4,13, 6) = (/ & & 0.18239e-01_rb,0.58007e-01_rb,0.73146e-01_rb,0.81751e-01_rb,0.85842e-01_rb, & & 0.86346e-01_rb,0.83244e-01_rb,0.75789e-01_rb,0.59123e-01_rb /) kao(:, 5,13, 6) = (/ & & 0.21231e-01_rb,0.61947e-01_rb,0.76584e-01_rb,0.84579e-01_rb,0.88268e-01_rb, & & 0.88508e-01_rb,0.85245e-01_rb,0.77486e-01_rb,0.60191e-01_rb /) kao(:, 1, 1, 7) = (/ & & 0.71609e+00_rb,0.10081e+01_rb,0.11118e+01_rb,0.11603e+01_rb,0.11765e+01_rb, & & 0.11643e+01_rb,0.11202e+01_rb,0.10296e+01_rb,0.82502e+00_rb /) kao(:, 2, 1, 7) = (/ & & 0.75920e+00_rb,0.10292e+01_rb,0.11252e+01_rb,0.11685e+01_rb,0.11822e+01_rb, & & 0.11684e+01_rb,0.11228e+01_rb,0.10318e+01_rb,0.83157e+00_rb /) kao(:, 3, 1, 7) = (/ & & 0.79807e+00_rb,0.10500e+01_rb,0.11397e+01_rb,0.11794e+01_rb,0.11904e+01_rb, & & 0.11740e+01_rb,0.11264e+01_rb,0.10343e+01_rb,0.83726e+00_rb /) kao(:, 4, 1, 7) = (/ & & 0.83183e+00_rb,0.10700e+01_rb,0.11548e+01_rb,0.11918e+01_rb,0.12010e+01_rb, & & 0.11815e+01_rb,0.11313e+01_rb,0.10364e+01_rb,0.84249e+00_rb /) kao(:, 5, 1, 7) = (/ & & 0.86161e+00_rb,0.10887e+01_rb,0.11706e+01_rb,0.12061e+01_rb,0.12126e+01_rb, & & 0.11904e+01_rb,0.11363e+01_rb,0.10383e+01_rb,0.84713e+00_rb /) kao(:, 1, 2, 7) = (/ & & 0.62079e+00_rb,0.89078e+00_rb,0.98349e+00_rb,0.10275e+01_rb,0.10413e+01_rb, & & 0.10318e+01_rb,0.99528e+00_rb,0.92037e+00_rb,0.72464e+00_rb /) kao(:, 2, 2, 7) = (/ & & 0.65800e+00_rb,0.91114e+00_rb,0.99789e+00_rb,0.10381e+01_rb,0.10488e+01_rb, & & 0.10378e+01_rb,0.99952e+00_rb,0.92364e+00_rb,0.73140e+00_rb /) kao(:, 3, 2, 7) = (/ & & 0.69092e+00_rb,0.93058e+00_rb,0.10122e+01_rb,0.10502e+01_rb,0.10590e+01_rb, & & 0.10454e+01_rb,0.10054e+01_rb,0.92699e+00_rb,0.73764e+00_rb /) kao(:, 4, 2, 7) = (/ & & 0.71970e+00_rb,0.94840e+00_rb,0.10270e+01_rb,0.10636e+01_rb,0.10709e+01_rb, & & 0.10547e+01_rb,0.10116e+01_rb,0.93021e+00_rb,0.74329e+00_rb /) kao(:, 5, 2, 7) = (/ & & 0.74579e+00_rb,0.96581e+00_rb,0.10421e+01_rb,0.10781e+01_rb,0.10844e+01_rb, & & 0.10644e+01_rb,0.10185e+01_rb,0.93369e+00_rb,0.74789e+00_rb /) kao(:, 1, 3, 7) = (/ & & 0.52823e+00_rb,0.77783e+00_rb,0.86297e+00_rb,0.90265e+00_rb,0.91464e+00_rb, & & 0.90839e+00_rb,0.87923e+00_rb,0.81632e+00_rb,0.63067e+00_rb /) kao(:, 2, 3, 7) = (/ & & 0.56021e+00_rb,0.79652e+00_rb,0.87677e+00_rb,0.91375e+00_rb,0.92363e+00_rb, & & 0.91571e+00_rb,0.88529e+00_rb,0.82096e+00_rb,0.63740e+00_rb /) kao(:, 3, 3, 7) = (/ & & 0.58848e+00_rb,0.81389e+00_rb,0.89039e+00_rb,0.92584e+00_rb,0.93460e+00_rb, & & 0.92486e+00_rb,0.89232e+00_rb,0.82527e+00_rb,0.64377e+00_rb /) kao(:, 4, 3, 7) = (/ & & 0.61369e+00_rb,0.83008e+00_rb,0.90459e+00_rb,0.93860e+00_rb,0.94727e+00_rb, & & 0.93485e+00_rb,0.89989e+00_rb,0.82959e+00_rb,0.64921e+00_rb /) kao(:, 5, 3, 7) = (/ & & 0.63687e+00_rb,0.84580e+00_rb,0.91897e+00_rb,0.95268e+00_rb,0.96085e+00_rb, & & 0.94565e+00_rb,0.90780e+00_rb,0.83380e+00_rb,0.65367e+00_rb /) kao(:, 1, 4, 7) = (/ & & 0.44508e+00_rb,0.67351e+00_rb,0.75154e+00_rb,0.78756e+00_rb,0.79977e+00_rb, & & 0.79563e+00_rb,0.77123e+00_rb,0.71868e+00_rb,0.54794e+00_rb /) kao(:, 2, 4, 7) = (/ & & 0.47271e+00_rb,0.69026e+00_rb,0.76424e+00_rb,0.79840e+00_rb,0.80928e+00_rb, & & 0.80400e+00_rb,0.77859e+00_rb,0.72416e+00_rb,0.55496e+00_rb /) kao(:, 3, 4, 7) = (/ & & 0.49708e+00_rb,0.70580e+00_rb,0.77670e+00_rb,0.80989e+00_rb,0.82043e+00_rb, & & 0.81421e+00_rb,0.78653e+00_rb,0.72918e+00_rb,0.56105e+00_rb /) kao(:, 4, 4, 7) = (/ & & 0.51921e+00_rb,0.72040e+00_rb,0.78970e+00_rb,0.82209e+00_rb,0.83296e+00_rb, & & 0.82477e+00_rb,0.79492e+00_rb,0.73435e+00_rb,0.56612e+00_rb /) kao(:, 5, 4, 7) = (/ & & 0.53991e+00_rb,0.73468e+00_rb,0.80284e+00_rb,0.83540e+00_rb,0.84599e+00_rb, & & 0.83588e+00_rb,0.80349e+00_rb,0.73920e+00_rb,0.57048e+00_rb /) kao(:, 1, 5, 7) = (/ & & 0.37413e+00_rb,0.58022e+00_rb,0.65026e+00_rb,0.68370e+00_rb,0.69632e+00_rb, & & 0.69319e+00_rb,0.67239e+00_rb,0.62755e+00_rb,0.47517e+00_rb /) kao(:, 2, 5, 7) = (/ & & 0.39785e+00_rb,0.59500e+00_rb,0.66160e+00_rb,0.69388e+00_rb,0.70581e+00_rb, & & 0.70224e+00_rb,0.68037e+00_rb,0.63372e+00_rb,0.48187e+00_rb /) kao(:, 3, 5, 7) = (/ & & 0.41894e+00_rb,0.60858e+00_rb,0.67282e+00_rb,0.70454e+00_rb,0.71693e+00_rb, & & 0.71249e+00_rb,0.68889e+00_rb,0.63962e+00_rb,0.48765e+00_rb /) kao(:, 4, 5, 7) = (/ & & 0.43810e+00_rb,0.62138e+00_rb,0.68416e+00_rb,0.71639e+00_rb,0.72873e+00_rb, & & 0.72302e+00_rb,0.69785e+00_rb,0.64510e+00_rb,0.49243e+00_rb /) kao(:, 5, 5, 7) = (/ & & 0.45627e+00_rb,0.63437e+00_rb,0.69610e+00_rb,0.72855e+00_rb,0.74096e+00_rb, & & 0.73385e+00_rb,0.70672e+00_rb,0.65052e+00_rb,0.49657e+00_rb /) kao(:, 1, 6, 7) = (/ & & 0.31382e+00_rb,0.49799e+00_rb,0.55977e+00_rb,0.58971e+00_rb,0.60230e+00_rb, & & 0.60065e+00_rb,0.58267e+00_rb,0.54392e+00_rb,0.40911e+00_rb /) kao(:, 2, 6, 7) = (/ & & 0.33427e+00_rb,0.51077e+00_rb,0.56976e+00_rb,0.59903e+00_rb,0.61148e+00_rb, & & 0.60961e+00_rb,0.59093e+00_rb,0.55057e+00_rb,0.41554e+00_rb /) kao(:, 3, 6, 7) = (/ & & 0.35247e+00_rb,0.52249e+00_rb,0.57948e+00_rb,0.60895e+00_rb,0.62185e+00_rb, & & 0.61942e+00_rb,0.59984e+00_rb,0.55707e+00_rb,0.42096e+00_rb /) kao(:, 4, 6, 7) = (/ & & 0.36909e+00_rb,0.53360e+00_rb,0.58950e+00_rb,0.61977e+00_rb,0.63265e+00_rb, & & 0.62957e+00_rb,0.60872e+00_rb,0.56306e+00_rb,0.42549e+00_rb /) kao(:, 5, 6, 7) = (/ & & 0.38489e+00_rb,0.54511e+00_rb,0.60025e+00_rb,0.63086e+00_rb,0.64395e+00_rb, & & 0.63979e+00_rb,0.61739e+00_rb,0.56897e+00_rb,0.42951e+00_rb /) kao(:, 1, 7, 7) = (/ & & 0.26224e+00_rb,0.42663e+00_rb,0.48031e+00_rb,0.50651e+00_rb,0.51797e+00_rb, & & 0.51738e+00_rb,0.50230e+00_rb,0.46824e+00_rb,0.34967e+00_rb /) kao(:, 2, 7, 7) = (/ & & 0.28013e+00_rb,0.43764e+00_rb,0.48906e+00_rb,0.51485e+00_rb,0.52656e+00_rb, & & 0.52602e+00_rb,0.51065e+00_rb,0.47517e+00_rb,0.35569e+00_rb /) kao(:, 3, 7, 7) = (/ & & 0.29592e+00_rb,0.44770e+00_rb,0.49758e+00_rb,0.52367e+00_rb,0.53583e+00_rb, & & 0.53525e+00_rb,0.51944e+00_rb,0.48175e+00_rb,0.36089e+00_rb /) kao(:, 4, 7, 7) = (/ & & 0.31035e+00_rb,0.45721e+00_rb,0.50658e+00_rb,0.53311e+00_rb,0.54562e+00_rb, & & 0.54468e+00_rb,0.52799e+00_rb,0.48800e+00_rb,0.36523e+00_rb /) kao(:, 5, 7, 7) = (/ & & 0.32410e+00_rb,0.46702e+00_rb,0.51628e+00_rb,0.54315e+00_rb,0.55572e+00_rb, & & 0.55402e+00_rb,0.53619e+00_rb,0.49402e+00_rb,0.36906e+00_rb /) kao(:, 1, 8, 7) = (/ & & 0.21802e+00_rb,0.36523e+00_rb,0.41109e+00_rb,0.43388e+00_rb,0.44363e+00_rb, & & 0.44316e+00_rb,0.43058e+00_rb,0.40065e+00_rb,0.29668e+00_rb /) kao(:, 2, 8, 7) = (/ & & 0.23315e+00_rb,0.37455e+00_rb,0.41894e+00_rb,0.44116e+00_rb,0.45154e+00_rb, & & 0.45134e+00_rb,0.43880e+00_rb,0.40751e+00_rb,0.30231e+00_rb /) kao(:, 3, 8, 7) = (/ & & 0.24686e+00_rb,0.38301e+00_rb,0.42637e+00_rb,0.44889e+00_rb,0.45978e+00_rb, & & 0.45969e+00_rb,0.44700e+00_rb,0.41408e+00_rb,0.30721e+00_rb /) kao(:, 4, 8, 7) = (/ & & 0.25967e+00_rb,0.39102e+00_rb,0.43427e+00_rb,0.45708e+00_rb,0.46833e+00_rb, & & 0.46819e+00_rb,0.45488e+00_rb,0.42031e+00_rb,0.31131e+00_rb /) kao(:, 5, 8, 7) = (/ & & 0.27188e+00_rb,0.39949e+00_rb,0.44272e+00_rb,0.46608e+00_rb,0.47706e+00_rb, & & 0.47653e+00_rb,0.46230e+00_rb,0.42618e+00_rb,0.31504e+00_rb /) kao(:, 1, 9, 7) = (/ & & 0.18022e+00_rb,0.31183e+00_rb,0.35120e+00_rb,0.37079e+00_rb,0.37884e+00_rb, & & 0.37804e+00_rb,0.36693e+00_rb,0.34063e+00_rb,0.24612e+00_rb /) kao(:, 2, 9, 7) = (/ & & 0.19307e+00_rb,0.31966e+00_rb,0.35801e+00_rb,0.37712e+00_rb,0.38585e+00_rb, & & 0.38558e+00_rb,0.37468e+00_rb,0.34716e+00_rb,0.25138e+00_rb /) kao(:, 3, 9, 7) = (/ & & 0.20463e+00_rb,0.32683e+00_rb,0.36444e+00_rb,0.38387e+00_rb,0.39308e+00_rb, & & 0.39294e+00_rb,0.38210e+00_rb,0.35364e+00_rb,0.25593e+00_rb /) kao(:, 4, 9, 7) = (/ & & 0.21550e+00_rb,0.33367e+00_rb,0.37119e+00_rb,0.39103e+00_rb,0.40042e+00_rb, & & 0.40039e+00_rb,0.38916e+00_rb,0.35964e+00_rb,0.25996e+00_rb /) kao(:, 5, 9, 7) = (/ & & 0.22607e+00_rb,0.34108e+00_rb,0.37860e+00_rb,0.39875e+00_rb,0.40805e+00_rb, & & 0.40762e+00_rb,0.39578e+00_rb,0.36518e+00_rb,0.26360e+00_rb /) kao(:, 1,10, 7) = (/ & & 0.14867e+00_rb,0.26554e+00_rb,0.29985e+00_rb,0.31657e+00_rb,0.32318e+00_rb, & & 0.32201e+00_rb,0.31162e+00_rb,0.28815e+00_rb,0.21732e+00_rb /) kao(:, 2,10, 7) = (/ & & 0.15961e+00_rb,0.27217e+00_rb,0.30555e+00_rb,0.32206e+00_rb,0.32938e+00_rb, & & 0.32864e+00_rb,0.31877e+00_rb,0.29424e+00_rb,0.22230e+00_rb /) kao(:, 3,10, 7) = (/ & & 0.16940e+00_rb,0.27829e+00_rb,0.31116e+00_rb,0.32786e+00_rb,0.33559e+00_rb, & & 0.33509e+00_rb,0.32534e+00_rb,0.30046e+00_rb,0.22643e+00_rb /) kao(:, 4,10, 7) = (/ & & 0.17863e+00_rb,0.28410e+00_rb,0.31692e+00_rb,0.33409e+00_rb,0.34189e+00_rb, & & 0.34154e+00_rb,0.33152e+00_rb,0.30607e+00_rb,0.23022e+00_rb /) kao(:, 5,10, 7) = (/ & & 0.18774e+00_rb,0.29050e+00_rb,0.32341e+00_rb,0.34075e+00_rb,0.34846e+00_rb, & & 0.34771e+00_rb,0.33731e+00_rb,0.31120e+00_rb,0.23340e+00_rb /) kao(:, 1,11, 7) = (/ & & 0.12627e+00_rb,0.22669e+00_rb,0.25719e+00_rb,0.27172e+00_rb,0.27732e+00_rb, & & 0.27601e+00_rb,0.26659e+00_rb,0.24512e+00_rb,0.18584e+00_rb /) kao(:, 2,11, 7) = (/ & & 0.13516e+00_rb,0.23214e+00_rb,0.26193e+00_rb,0.27653e+00_rb,0.28265e+00_rb, & & 0.28160e+00_rb,0.27265e+00_rb,0.25095e+00_rb,0.18968e+00_rb /) kao(:, 3,11, 7) = (/ & & 0.14321e+00_rb,0.23722e+00_rb,0.26679e+00_rb,0.28162e+00_rb,0.28797e+00_rb, & & 0.28724e+00_rb,0.27822e+00_rb,0.25645e+00_rb,0.19293e+00_rb /) kao(:, 4,11, 7) = (/ & & 0.15107e+00_rb,0.24247e+00_rb,0.27199e+00_rb,0.28706e+00_rb,0.29346e+00_rb, & & 0.29269e+00_rb,0.28343e+00_rb,0.26131e+00_rb,0.19541e+00_rb /) kao(:, 5,11, 7) = (/ & & 0.15896e+00_rb,0.24837e+00_rb,0.27786e+00_rb,0.29309e+00_rb,0.29929e+00_rb, & & 0.29804e+00_rb,0.28838e+00_rb,0.26594e+00_rb,0.19802e+00_rb /) kao(:, 1,12, 7) = (/ & & 0.10682e+00_rb,0.19256e+00_rb,0.21863e+00_rb,0.23192e+00_rb,0.23695e+00_rb, & & 0.23560e+00_rb,0.22744e+00_rb,0.20844e+00_rb,0.16014e+00_rb /) kao(:, 2,12, 7) = (/ & & 0.11409e+00_rb,0.19699e+00_rb,0.22274e+00_rb,0.23606e+00_rb,0.24149e+00_rb, & & 0.24040e+00_rb,0.23256e+00_rb,0.21367e+00_rb,0.16300e+00_rb /) kao(:, 3,12, 7) = (/ & & 0.12093e+00_rb,0.20128e+00_rb,0.22702e+00_rb,0.24050e+00_rb,0.24609e+00_rb, & & 0.24521e+00_rb,0.23721e+00_rb,0.21831e+00_rb,0.16579e+00_rb /) kao(:, 4,12, 7) = (/ & & 0.12767e+00_rb,0.20601e+00_rb,0.23174e+00_rb,0.24542e+00_rb,0.25091e+00_rb, & & 0.24990e+00_rb,0.24163e+00_rb,0.22258e+00_rb,0.16866e+00_rb /) kao(:, 5,12, 7) = (/ & & 0.13446e+00_rb,0.21151e+00_rb,0.23730e+00_rb,0.25089e+00_rb,0.25608e+00_rb, & & 0.25469e+00_rb,0.24607e+00_rb,0.22668e+00_rb,0.17141e+00_rb /) kao(:, 1,13, 7) = (/ & & 0.90556e-01_rb,0.16301e+00_rb,0.18506e+00_rb,0.19633e+00_rb,0.20124e+00_rb, & & 0.20042e+00_rb,0.19353e+00_rb,0.17713e+00_rb,0.13589e+00_rb /) kao(:, 2,13, 7) = (/ & & 0.96629e-01_rb,0.16667e+00_rb,0.18855e+00_rb,0.19991e+00_rb,0.20512e+00_rb, & & 0.20458e+00_rb,0.19781e+00_rb,0.18150e+00_rb,0.13866e+00_rb /) kao(:, 3,13, 7) = (/ & & 0.10246e+00_rb,0.17045e+00_rb,0.19232e+00_rb,0.20386e+00_rb,0.20916e+00_rb, & & 0.20868e+00_rb,0.20175e+00_rb,0.18546e+00_rb,0.14157e+00_rb /) kao(:, 4,13, 7) = (/ & & 0.10831e+00_rb,0.17481e+00_rb,0.19664e+00_rb,0.20827e+00_rb,0.21340e+00_rb, & & 0.21278e+00_rb,0.20565e+00_rb,0.18920e+00_rb,0.14421e+00_rb /) kao(:, 5,13, 7) = (/ & & 0.11418e+00_rb,0.17993e+00_rb,0.20190e+00_rb,0.21347e+00_rb,0.21830e+00_rb, & & 0.21718e+00_rb,0.20964e+00_rb,0.19280e+00_rb,0.14715e+00_rb /) kao(:, 1, 1, 8) = (/ & & 0.20844e+01_rb,0.23344e+01_rb,0.25576e+01_rb,0.26701e+01_rb,0.27010e+01_rb, & & 0.26681e+01_rb,0.25683e+01_rb,0.23655e+01_rb,0.20810e+01_rb /) kao(:, 2, 1, 8) = (/ & & 0.20807e+01_rb,0.23304e+01_rb,0.25489e+01_rb,0.26611e+01_rb,0.26920e+01_rb, & & 0.26609e+01_rb,0.25647e+01_rb,0.23645e+01_rb,0.20859e+01_rb /) kao(:, 3, 1, 8) = (/ & & 0.20877e+01_rb,0.23342e+01_rb,0.25477e+01_rb,0.26548e+01_rb,0.26843e+01_rb, & & 0.26541e+01_rb,0.25605e+01_rb,0.23637e+01_rb,0.20903e+01_rb /) kao(:, 4, 1, 8) = (/ & & 0.21052e+01_rb,0.23454e+01_rb,0.25520e+01_rb,0.26529e+01_rb,0.26778e+01_rb, & & 0.26478e+01_rb,0.25565e+01_rb,0.23630e+01_rb,0.20935e+01_rb /) kao(:, 5, 1, 8) = (/ & & 0.21303e+01_rb,0.23633e+01_rb,0.25619e+01_rb,0.26546e+01_rb,0.26749e+01_rb, & & 0.26429e+01_rb,0.25542e+01_rb,0.23619e+01_rb,0.20958e+01_rb /) kao(:, 1, 2, 8) = (/ & & 0.18120e+01_rb,0.21101e+01_rb,0.23204e+01_rb,0.24266e+01_rb,0.24657e+01_rb, & & 0.24469e+01_rb,0.23702e+01_rb,0.21931e+01_rb,0.18669e+01_rb /) kao(:, 2, 2, 8) = (/ & & 0.18187e+01_rb,0.21137e+01_rb,0.23188e+01_rb,0.24223e+01_rb,0.24620e+01_rb, & & 0.24436e+01_rb,0.23687e+01_rb,0.21944e+01_rb,0.18726e+01_rb /) kao(:, 3, 2, 8) = (/ & & 0.18356e+01_rb,0.21255e+01_rb,0.23256e+01_rb,0.24232e+01_rb,0.24590e+01_rb, & & 0.24407e+01_rb,0.23674e+01_rb,0.21960e+01_rb,0.18776e+01_rb /) kao(:, 4, 2, 8) = (/ & & 0.18614e+01_rb,0.21447e+01_rb,0.23386e+01_rb,0.24287e+01_rb,0.24595e+01_rb, & & 0.24387e+01_rb,0.23672e+01_rb,0.21970e+01_rb,0.18816e+01_rb /) kao(:, 5, 2, 8) = (/ & & 0.18927e+01_rb,0.21683e+01_rb,0.23579e+01_rb,0.24392e+01_rb,0.24636e+01_rb, & & 0.24407e+01_rb,0.23665e+01_rb,0.21974e+01_rb,0.18864e+01_rb /) kao(:, 1, 3, 8) = (/ & & 0.15702e+01_rb,0.18942e+01_rb,0.20837e+01_rb,0.21854e+01_rb,0.22324e+01_rb, & & 0.22266e+01_rb,0.21649e+01_rb,0.20134e+01_rb,0.16617e+01_rb /) kao(:, 2, 3, 8) = (/ & & 0.15827e+01_rb,0.19038e+01_rb,0.20886e+01_rb,0.21865e+01_rb,0.22329e+01_rb, & & 0.22266e+01_rb,0.21649e+01_rb,0.20167e+01_rb,0.16695e+01_rb /) kao(:, 3, 3, 8) = (/ & & 0.16046e+01_rb,0.19213e+01_rb,0.21019e+01_rb,0.21942e+01_rb,0.22360e+01_rb, & & 0.22271e+01_rb,0.21665e+01_rb,0.20195e+01_rb,0.16762e+01_rb /) kao(:, 4, 3, 8) = (/ & & 0.16329e+01_rb,0.19443e+01_rb,0.21213e+01_rb,0.22070e+01_rb,0.22424e+01_rb, & & 0.22311e+01_rb,0.21683e+01_rb,0.20214e+01_rb,0.16830e+01_rb /) kao(:, 5, 3, 8) = (/ & & 0.16658e+01_rb,0.19717e+01_rb,0.21452e+01_rb,0.22251e+01_rb,0.22530e+01_rb, & & 0.22371e+01_rb,0.21708e+01_rb,0.20238e+01_rb,0.16904e+01_rb /) kao(:, 1, 4, 8) = (/ & & 0.13564e+01_rb,0.16869e+01_rb,0.18550e+01_rb,0.19537e+01_rb,0.20049e+01_rb, & & 0.20085e+01_rb,0.19601e+01_rb,0.18287e+01_rb,0.14756e+01_rb /) kao(:, 2, 4, 8) = (/ & & 0.13720e+01_rb,0.17000e+01_rb,0.18655e+01_rb,0.19607e+01_rb,0.20100e+01_rb, & & 0.20105e+01_rb,0.19622e+01_rb,0.18339e+01_rb,0.14854e+01_rb /) kao(:, 3, 4, 8) = (/ & & 0.13952e+01_rb,0.17204e+01_rb,0.18837e+01_rb,0.19740e+01_rb,0.20182e+01_rb, & & 0.20154e+01_rb,0.19654e+01_rb,0.18384e+01_rb,0.14948e+01_rb /) kao(:, 4, 4, 8) = (/ & & 0.14229e+01_rb,0.17461e+01_rb,0.19072e+01_rb,0.19926e+01_rb,0.20303e+01_rb, & & 0.20234e+01_rb,0.19691e+01_rb,0.18420e+01_rb,0.15040e+01_rb /) kao(:, 5, 4, 8) = (/ & & 0.14534e+01_rb,0.17751e+01_rb,0.19345e+01_rb,0.20154e+01_rb,0.20467e+01_rb, & & 0.20337e+01_rb,0.19742e+01_rb,0.18465e+01_rb,0.15131e+01_rb /) kao(:, 1, 5, 8) = (/ & & 0.11675e+01_rb,0.14906e+01_rb,0.16422e+01_rb,0.17364e+01_rb,0.17875e+01_rb, & & 0.17970e+01_rb,0.17582e+01_rb,0.16459e+01_rb,0.13057e+01_rb /) kao(:, 2, 5, 8) = (/ & & 0.11839e+01_rb,0.15062e+01_rb,0.16573e+01_rb,0.17483e+01_rb,0.17956e+01_rb, & & 0.18020e+01_rb,0.17623e+01_rb,0.16529e+01_rb,0.13176e+01_rb /) kao(:, 3, 5, 8) = (/ & & 0.12061e+01_rb,0.15281e+01_rb,0.16790e+01_rb,0.17660e+01_rb,0.18082e+01_rb, & & 0.18106e+01_rb,0.17678e+01_rb,0.16587e+01_rb,0.13289e+01_rb /) kao(:, 4, 5, 8) = (/ & & 0.12311e+01_rb,0.15549e+01_rb,0.17048e+01_rb,0.17877e+01_rb,0.18250e+01_rb, & & 0.18222e+01_rb,0.17742e+01_rb,0.16644e+01_rb,0.13398e+01_rb /) kao(:, 5, 5, 8) = (/ & & 0.12582e+01_rb,0.15836e+01_rb,0.17338e+01_rb,0.18131e+01_rb,0.18457e+01_rb, & & 0.18359e+01_rb,0.17826e+01_rb,0.16710e+01_rb,0.13507e+01_rb /) kao(:, 1, 6, 8) = (/ & & 0.99981e+00_rb,0.13080e+01_rb,0.14477e+01_rb,0.15356e+01_rb,0.15829e+01_rb, & & 0.15936e+01_rb,0.15636e+01_rb,0.14683e+01_rb,0.11482e+01_rb /) kao(:, 2, 6, 8) = (/ & & 0.10151e+01_rb,0.13251e+01_rb,0.14655e+01_rb,0.15504e+01_rb,0.15941e+01_rb, & & 0.16015e+01_rb,0.15698e+01_rb,0.14767e+01_rb,0.11619e+01_rb /) kao(:, 3, 6, 8) = (/ & & 0.10344e+01_rb,0.13476e+01_rb,0.14887e+01_rb,0.15702e+01_rb,0.16097e+01_rb, & & 0.16130e+01_rb,0.15772e+01_rb,0.14847e+01_rb,0.11743e+01_rb /) kao(:, 4, 6, 8) = (/ & & 0.10560e+01_rb,0.13735e+01_rb,0.15155e+01_rb,0.15939e+01_rb,0.16293e+01_rb, & & 0.16276e+01_rb,0.15870e+01_rb,0.14924e+01_rb,0.11864e+01_rb /) kao(:, 5, 6, 8) = (/ & & 0.10794e+01_rb,0.13996e+01_rb,0.15438e+01_rb,0.16205e+01_rb,0.16521e+01_rb, & & 0.16451e+01_rb,0.15991e+01_rb,0.15003e+01_rb,0.11982e+01_rb /) kao(:, 1, 7, 8) = (/ & & 0.85239e+00_rb,0.11419e+01_rb,0.12714e+01_rb,0.13507e+01_rb,0.13930e+01_rb, & & 0.14039e+01_rb,0.13790e+01_rb,0.12971e+01_rb,0.10034e+01_rb /) kao(:, 2, 7, 8) = (/ & & 0.86542e+00_rb,0.11591e+01_rb,0.12898e+01_rb,0.13670e+01_rb,0.14062e+01_rb, & & 0.14139e+01_rb,0.13871e+01_rb,0.13072e+01_rb,0.10179e+01_rb /) kao(:, 3, 7, 8) = (/ & & 0.88108e+00_rb,0.11809e+01_rb,0.13130e+01_rb,0.13880e+01_rb,0.14241e+01_rb, & & 0.14278e+01_rb,0.13975e+01_rb,0.13172e+01_rb,0.10310e+01_rb /) kao(:, 4, 7, 8) = (/ & & 0.89900e+00_rb,0.12041e+01_rb,0.13390e+01_rb,0.14123e+01_rb,0.14455e+01_rb, & & 0.14453e+01_rb,0.14105e+01_rb,0.13266e+01_rb,0.10434e+01_rb /) kao(:, 5, 7, 8) = (/ & & 0.91862e+00_rb,0.12279e+01_rb,0.13649e+01_rb,0.14386e+01_rb,0.14692e+01_rb, & & 0.14664e+01_rb,0.14254e+01_rb,0.13367e+01_rb,0.10558e+01_rb /) kao(:, 1, 8, 8) = (/ & & 0.72497e+00_rb,0.99201e+00_rb,0.11107e+01_rb,0.11813e+01_rb,0.12195e+01_rb, & & 0.12285e+01_rb,0.12058e+01_rb,0.11359e+01_rb,0.87110e+00_rb /) kao(:, 2, 8, 8) = (/ & & 0.73517e+00_rb,0.10086e+01_rb,0.11285e+01_rb,0.11988e+01_rb,0.12342e+01_rb, & & 0.12405e+01_rb,0.12160e+01_rb,0.11479e+01_rb,0.88568e+00_rb /) kao(:, 3, 8, 8) = (/ & & 0.74752e+00_rb,0.10285e+01_rb,0.11507e+01_rb,0.12198e+01_rb,0.12532e+01_rb, & & 0.12570e+01_rb,0.12289e+01_rb,0.11589e+01_rb,0.89927e+00_rb /) kao(:, 4, 8, 8) = (/ & & 0.76213e+00_rb,0.10489e+01_rb,0.11747e+01_rb,0.12436e+01_rb,0.12757e+01_rb, & & 0.12769e+01_rb,0.12445e+01_rb,0.11700e+01_rb,0.91203e+00_rb /) kao(:, 5, 8, 8) = (/ & & 0.77854e+00_rb,0.10697e+01_rb,0.11980e+01_rb,0.12679e+01_rb,0.13002e+01_rb, & & 0.12994e+01_rb,0.12621e+01_rb,0.11816e+01_rb,0.92392e+00_rb /) kao(:, 1, 9, 8) = (/ & & 0.61682e+00_rb,0.85841e+00_rb,0.96403e+00_rb,0.10272e+01_rb,0.10606e+01_rb, & & 0.10679e+01_rb,0.10472e+01_rb,0.98715e+00_rb,0.74825e+00_rb /) kao(:, 2, 9, 8) = (/ & & 0.62415e+00_rb,0.87401e+00_rb,0.98140e+00_rb,0.10446e+01_rb,0.10763e+01_rb, & & 0.10811e+01_rb,0.10593e+01_rb,0.10003e+01_rb,0.76294e+00_rb /) kao(:, 3, 9, 8) = (/ & & 0.63387e+00_rb,0.89104e+00_rb,0.10022e+01_rb,0.10651e+01_rb,0.10962e+01_rb, & & 0.10997e+01_rb,0.10740e+01_rb,0.10120e+01_rb,0.77659e+00_rb /) kao(:, 4, 9, 8) = (/ & & 0.64542e+00_rb,0.90872e+00_rb,0.10230e+01_rb,0.10878e+01_rb,0.11188e+01_rb, & & 0.11207e+01_rb,0.10911e+01_rb,0.10243e+01_rb,0.78905e+00_rb /) kao(:, 5, 9, 8) = (/ & & 0.65900e+00_rb,0.92674e+00_rb,0.10436e+01_rb,0.11103e+01_rb,0.11424e+01_rb, & & 0.11435e+01_rb,0.11102e+01_rb,0.10375e+01_rb,0.80034e+00_rb /) kao(:, 1,10, 8) = (/ & & 0.52547e+00_rb,0.74220e+00_rb,0.83433e+00_rb,0.88890e+00_rb,0.91741e+00_rb, & & 0.92336e+00_rb,0.90538e+00_rb,0.85311e+00_rb,0.64696e+00_rb /) kao(:, 2,10, 8) = (/ & & 0.53064e+00_rb,0.75604e+00_rb,0.85107e+00_rb,0.90584e+00_rb,0.93361e+00_rb, & & 0.93836e+00_rb,0.91861e+00_rb,0.86626e+00_rb,0.66062e+00_rb /) kao(:, 3,10, 8) = (/ & & 0.53809e+00_rb,0.77037e+00_rb,0.86942e+00_rb,0.92562e+00_rb,0.95409e+00_rb, & & 0.95774e+00_rb,0.93423e+00_rb,0.87871e+00_rb,0.67391e+00_rb /) kao(:, 4,10, 8) = (/ & & 0.54734e+00_rb,0.78576e+00_rb,0.88734e+00_rb,0.94634e+00_rb,0.97611e+00_rb, & & 0.97890e+00_rb,0.95253e+00_rb,0.89191e+00_rb,0.68526e+00_rb /) kao(:, 5,10, 8) = (/ & & 0.55842e+00_rb,0.80129e+00_rb,0.90542e+00_rb,0.96675e+00_rb,0.99781e+00_rb, & & 0.10013e+01_rb,0.97253e+00_rb,0.90597e+00_rb,0.69583e+00_rb /) kao(:, 1,11, 8) = (/ & & 0.44902e+00_rb,0.64641e+00_rb,0.72682e+00_rb,0.77295e+00_rb,0.79679e+00_rb, & & 0.80095e+00_rb,0.78478e+00_rb,0.73880e+00_rb,0.57500e+00_rb /) kao(:, 2,11, 8) = (/ & & 0.45343e+00_rb,0.65819e+00_rb,0.74259e+00_rb,0.79030e+00_rb,0.81509e+00_rb, & & 0.81866e+00_rb,0.79960e+00_rb,0.75137e+00_rb,0.58784e+00_rb /) kao(:, 3,11, 8) = (/ & & 0.45968e+00_rb,0.67094e+00_rb,0.75812e+00_rb,0.80898e+00_rb,0.83522e+00_rb, & & 0.83854e+00_rb,0.81711e+00_rb,0.76461e+00_rb,0.59939e+00_rb /) kao(:, 4,11, 8) = (/ & & 0.46764e+00_rb,0.68418e+00_rb,0.77402e+00_rb,0.82711e+00_rb,0.85518e+00_rb, & & 0.85968e+00_rb,0.83634e+00_rb,0.77859e+00_rb,0.60954e+00_rb /) kao(:, 5,11, 8) = (/ & & 0.47750e+00_rb,0.69798e+00_rb,0.79021e+00_rb,0.84534e+00_rb,0.87480e+00_rb, & & 0.88011e+00_rb,0.85595e+00_rb,0.79269e+00_rb,0.61896e+00_rb /) kao(:, 1,12, 8) = (/ & & 0.38252e+00_rb,0.56123e+00_rb,0.63221e+00_rb,0.67207e+00_rb,0.69191e+00_rb, & & 0.69451e+00_rb,0.67853e+00_rb,0.63671e+00_rb,0.49624e+00_rb /) kao(:, 2,12, 8) = (/ & & 0.38610e+00_rb,0.57152e+00_rb,0.64559e+00_rb,0.68857e+00_rb,0.70992e+00_rb, & & 0.71250e+00_rb,0.69440e+00_rb,0.64948e+00_rb,0.50772e+00_rb /) kao(:, 3,12, 8) = (/ & & 0.39135e+00_rb,0.58251e+00_rb,0.65953e+00_rb,0.70459e+00_rb,0.72793e+00_rb, & & 0.73188e+00_rb,0.71251e+00_rb,0.66314e+00_rb,0.51771e+00_rb /) kao(:, 4,12, 8) = (/ & & 0.39838e+00_rb,0.59406e+00_rb,0.67357e+00_rb,0.72066e+00_rb,0.74570e+00_rb, & & 0.75075e+00_rb,0.73108e+00_rb,0.67696e+00_rb,0.52680e+00_rb /) kao(:, 5,12, 8) = (/ & & 0.40785e+00_rb,0.60628e+00_rb,0.68802e+00_rb,0.73685e+00_rb,0.76342e+00_rb, & & 0.76842e+00_rb,0.74857e+00_rb,0.69135e+00_rb,0.53408e+00_rb /) kao(:, 1,13, 8) = (/ & & 0.32297e+00_rb,0.48556e+00_rb,0.54760e+00_rb,0.58350e+00_rb,0.60079e+00_rb, & & 0.60116e+00_rb,0.58518e+00_rb,0.54699e+00_rb,0.42276e+00_rb /) kao(:, 2,13, 8) = (/ & & 0.32591e+00_rb,0.49445e+00_rb,0.55963e+00_rb,0.59764e+00_rb,0.61654e+00_rb, & & 0.61844e+00_rb,0.60149e+00_rb,0.55973e+00_rb,0.43280e+00_rb /) kao(:, 3,13, 8) = (/ & & 0.33057e+00_rb,0.50405e+00_rb,0.57184e+00_rb,0.61186e+00_rb,0.63239e+00_rb, & & 0.63557e+00_rb,0.61864e+00_rb,0.57305e+00_rb,0.44151e+00_rb /) kao(:, 4,13, 8) = (/ & & 0.33705e+00_rb,0.51427e+00_rb,0.58428e+00_rb,0.62614e+00_rb,0.64825e+00_rb, & & 0.65175e+00_rb,0.63492e+00_rb,0.58689e+00_rb,0.44893e+00_rb /) kao(:, 5,13, 8) = (/ & & 0.34636e+00_rb,0.52544e+00_rb,0.59740e+00_rb,0.64055e+00_rb,0.66342e+00_rb, & & 0.66736e+00_rb,0.65002e+00_rb,0.60055e+00_rb,0.45487e+00_rb /) kao(:, 1, 1, 9) = (/ & & 0.72991e+01_rb,0.69722e+01_rb,0.72863e+01_rb,0.75002e+01_rb,0.75688e+01_rb, & & 0.74622e+01_rb,0.71020e+01_rb,0.65825e+01_rb,0.69144e+01_rb /) kao(:, 2, 1, 9) = (/ & & 0.72210e+01_rb,0.69084e+01_rb,0.72319e+01_rb,0.74567e+01_rb,0.75409e+01_rb, & & 0.74459e+01_rb,0.71001e+01_rb,0.65930e+01_rb,0.69213e+01_rb /) kao(:, 3, 1, 9) = (/ & & 0.71481e+01_rb,0.68475e+01_rb,0.71760e+01_rb,0.74130e+01_rb,0.75097e+01_rb, & & 0.74266e+01_rb,0.70905e+01_rb,0.65992e+01_rb,0.69258e+01_rb /) kao(:, 4, 1, 9) = (/ & & 0.70810e+01_rb,0.67891e+01_rb,0.71222e+01_rb,0.73713e+01_rb,0.74785e+01_rb, & & 0.74023e+01_rb,0.70766e+01_rb,0.66037e+01_rb,0.69303e+01_rb /) kao(:, 5, 1, 9) = (/ & & 0.70205e+01_rb,0.67342e+01_rb,0.70686e+01_rb,0.73258e+01_rb,0.74436e+01_rb, & & 0.73740e+01_rb,0.70585e+01_rb,0.66060e+01_rb,0.69339e+01_rb /) kao(:, 1, 2, 9) = (/ & & 0.68023e+01_rb,0.66845e+01_rb,0.71435e+01_rb,0.74293e+01_rb,0.75528e+01_rb, & & 0.74805e+01_rb,0.71383e+01_rb,0.65087e+01_rb,0.66425e+01_rb /) kao(:, 2, 2, 9) = (/ & & 0.67309e+01_rb,0.66228e+01_rb,0.70899e+01_rb,0.73862e+01_rb,0.75243e+01_rb, & & 0.74671e+01_rb,0.71358e+01_rb,0.65240e+01_rb,0.66588e+01_rb /) kao(:, 3, 2, 9) = (/ & & 0.66680e+01_rb,0.65659e+01_rb,0.70365e+01_rb,0.73443e+01_rb,0.74954e+01_rb, & & 0.74486e+01_rb,0.71260e+01_rb,0.65367e+01_rb,0.66745e+01_rb /) kao(:, 4, 2, 9) = (/ & & 0.66136e+01_rb,0.65139e+01_rb,0.69841e+01_rb,0.73016e+01_rb,0.74627e+01_rb, & & 0.74252e+01_rb,0.71129e+01_rb,0.65455e+01_rb,0.66889e+01_rb /) kao(:, 5, 2, 9) = (/ & & 0.65687e+01_rb,0.64706e+01_rb,0.69322e+01_rb,0.72576e+01_rb,0.74266e+01_rb, & & 0.73967e+01_rb,0.70986e+01_rb,0.65510e+01_rb,0.67011e+01_rb /) kao(:, 1, 3, 9) = (/ & & 0.62554e+01_rb,0.63717e+01_rb,0.69259e+01_rb,0.72750e+01_rb,0.74339e+01_rb, & & 0.73812e+01_rb,0.70638e+01_rb,0.63830e+01_rb,0.62738e+01_rb /) kao(:, 2, 3, 9) = (/ & & 0.61935e+01_rb,0.63130e+01_rb,0.68741e+01_rb,0.72340e+01_rb,0.74081e+01_rb, & & 0.73723e+01_rb,0.70661e+01_rb,0.64055e+01_rb,0.63017e+01_rb /) kao(:, 3, 3, 9) = (/ & & 0.61417e+01_rb,0.62609e+01_rb,0.68234e+01_rb,0.71924e+01_rb,0.73793e+01_rb, & & 0.73559e+01_rb,0.70613e+01_rb,0.64217e+01_rb,0.63259e+01_rb /) kao(:, 4, 3, 9) = (/ & & 0.61027e+01_rb,0.62184e+01_rb,0.67754e+01_rb,0.71518e+01_rb,0.73493e+01_rb, & & 0.73341e+01_rb,0.70537e+01_rb,0.64352e+01_rb,0.63471e+01_rb /) kao(:, 5, 3, 9) = (/ & & 0.60751e+01_rb,0.61846e+01_rb,0.67335e+01_rb,0.71090e+01_rb,0.73143e+01_rb, & & 0.73100e+01_rb,0.70431e+01_rb,0.64459e+01_rb,0.63674e+01_rb /) kao(:, 1, 4, 9) = (/ & & 0.56712e+01_rb,0.60174e+01_rb,0.66407e+01_rb,0.70308e+01_rb,0.72054e+01_rb, & & 0.71700e+01_rb,0.68768e+01_rb,0.62076e+01_rb,0.58601e+01_rb /) kao(:, 2, 4, 9) = (/ & & 0.56177e+01_rb,0.59637e+01_rb,0.65912e+01_rb,0.69914e+01_rb,0.71823e+01_rb, & & 0.71644e+01_rb,0.68840e+01_rb,0.62360e+01_rb,0.58965e+01_rb /) kao(:, 3, 4, 9) = (/ & & 0.55798e+01_rb,0.59204e+01_rb,0.65459e+01_rb,0.69532e+01_rb,0.71589e+01_rb, & & 0.71503e+01_rb,0.68872e+01_rb,0.62571e+01_rb,0.59275e+01_rb /) kao(:, 4, 4, 9) = (/ & & 0.55576e+01_rb,0.58874e+01_rb,0.65057e+01_rb,0.69160e+01_rb,0.71305e+01_rb, & & 0.71327e+01_rb,0.68860e+01_rb,0.62738e+01_rb,0.59560e+01_rb /) kao(:, 5, 4, 9) = (/ & & 0.55509e+01_rb,0.58664e+01_rb,0.64735e+01_rb,0.68799e+01_rb,0.70989e+01_rb, & & 0.71129e+01_rb,0.68803e+01_rb,0.62864e+01_rb,0.59817e+01_rb /) kao(:, 1, 5, 9) = (/ & & 0.50748e+01_rb,0.56236e+01_rb,0.62897e+01_rb,0.66937e+01_rb,0.68773e+01_rb, & & 0.68583e+01_rb,0.65966e+01_rb,0.59739e+01_rb,0.54247e+01_rb /) kao(:, 2, 5, 9) = (/ & & 0.50332e+01_rb,0.55772e+01_rb,0.62435e+01_rb,0.66588e+01_rb,0.68602e+01_rb, & & 0.68553e+01_rb,0.66099e+01_rb,0.60056e+01_rb,0.54668e+01_rb /) kao(:, 3, 5, 9) = (/ & & 0.50094e+01_rb,0.55429e+01_rb,0.62032e+01_rb,0.66264e+01_rb,0.68392e+01_rb, & & 0.68457e+01_rb,0.66198e+01_rb,0.60291e+01_rb,0.55024e+01_rb /) kao(:, 4, 5, 9) = (/ & & 0.50054e+01_rb,0.55221e+01_rb,0.61728e+01_rb,0.65959e+01_rb,0.68138e+01_rb, & & 0.68347e+01_rb,0.66239e+01_rb,0.60504e+01_rb,0.55378e+01_rb /) kao(:, 5, 5, 9) = (/ & & 0.50196e+01_rb,0.55140e+01_rb,0.61502e+01_rb,0.65696e+01_rb,0.67880e+01_rb, & & 0.68224e+01_rb,0.66232e+01_rb,0.60661e+01_rb,0.55660e+01_rb /) kao(:, 1, 6, 9) = (/ & & 0.44929e+01_rb,0.51985e+01_rb,0.58791e+01_rb,0.62757e+01_rb,0.64716e+01_rb, & & 0.64669e+01_rb,0.62368e+01_rb,0.56853e+01_rb,0.49792e+01_rb /) kao(:, 2, 6, 9) = (/ & & 0.44612e+01_rb,0.51596e+01_rb,0.58385e+01_rb,0.62487e+01_rb,0.64570e+01_rb, & & 0.64678e+01_rb,0.62575e+01_rb,0.57196e+01_rb,0.50244e+01_rb /) kao(:, 3, 6, 9) = (/ & & 0.44521e+01_rb,0.51348e+01_rb,0.58071e+01_rb,0.62248e+01_rb,0.64383e+01_rb, & & 0.64639e+01_rb,0.62747e+01_rb,0.57459e+01_rb,0.50676e+01_rb /) kao(:, 4, 6, 9) = (/ & & 0.44651e+01_rb,0.51248e+01_rb,0.57862e+01_rb,0.62029e+01_rb,0.64206e+01_rb, & & 0.64594e+01_rb,0.62829e+01_rb,0.57703e+01_rb,0.51061e+01_rb /) kao(:, 5, 6, 9) = (/ & & 0.44974e+01_rb,0.51321e+01_rb,0.57769e+01_rb,0.61847e+01_rb,0.64045e+01_rb, & & 0.64518e+01_rb,0.62850e+01_rb,0.57880e+01_rb,0.51383e+01_rb /) kao(:, 1, 7, 9) = (/ & & 0.39405e+01_rb,0.47599e+01_rb,0.54183e+01_rb,0.58070e+01_rb,0.60002e+01_rb, & & 0.60137e+01_rb,0.58231e+01_rb,0.53430e+01_rb,0.45395e+01_rb /) kao(:, 2, 7, 9) = (/ & & 0.39200e+01_rb,0.47279e+01_rb,0.53865e+01_rb,0.57866e+01_rb,0.59900e+01_rb, & & 0.60178e+01_rb,0.58493e+01_rb,0.53803e+01_rb,0.45897e+01_rb /) kao(:, 3, 7, 9) = (/ & & 0.39243e+01_rb,0.47128e+01_rb,0.53651e+01_rb,0.57689e+01_rb,0.59779e+01_rb, & & 0.60210e+01_rb,0.58689e+01_rb,0.54093e+01_rb,0.46370e+01_rb /) kao(:, 4, 7, 9) = (/ & & 0.39509e+01_rb,0.47158e+01_rb,0.53566e+01_rb,0.57541e+01_rb,0.59686e+01_rb, & & 0.60221e+01_rb,0.58794e+01_rb,0.54360e+01_rb,0.46801e+01_rb /) kao(:, 5, 7, 9) = (/ & & 0.39997e+01_rb,0.47365e+01_rb,0.53625e+01_rb,0.57480e+01_rb,0.59641e+01_rb, & & 0.60191e+01_rb,0.58864e+01_rb,0.54567e+01_rb,0.47154e+01_rb /) kao(:, 1, 8, 9) = (/ & & 0.34277e+01_rb,0.43224e+01_rb,0.49312e+01_rb,0.53036e+01_rb,0.54930e+01_rb, & & 0.55228e+01_rb,0.53766e+01_rb,0.49651e+01_rb,0.41155e+01_rb /) kao(:, 2, 8, 9) = (/ & & 0.34174e+01_rb,0.42976e+01_rb,0.49104e+01_rb,0.52883e+01_rb,0.54862e+01_rb, & & 0.55322e+01_rb,0.54048e+01_rb,0.50049e+01_rb,0.41706e+01_rb /) kao(:, 3, 8, 9) = (/ & & 0.34328e+01_rb,0.42901e+01_rb,0.49000e+01_rb,0.52782e+01_rb,0.54821e+01_rb, & & 0.55409e+01_rb,0.54257e+01_rb,0.50383e+01_rb,0.42218e+01_rb /) kao(:, 4, 8, 9) = (/ & & 0.34724e+01_rb,0.43054e+01_rb,0.49030e+01_rb,0.52739e+01_rb,0.54825e+01_rb, & & 0.55468e+01_rb,0.54402e+01_rb,0.50678e+01_rb,0.42656e+01_rb /) kao(:, 5, 8, 9) = (/ & & 0.35331e+01_rb,0.43394e+01_rb,0.49199e+01_rb,0.52816e+01_rb,0.54871e+01_rb, & & 0.55512e+01_rb,0.54505e+01_rb,0.50918e+01_rb,0.43035e+01_rb /) kao(:, 1, 9, 9) = (/ & & 0.29643e+01_rb,0.38841e+01_rb,0.44459e+01_rb,0.47885e+01_rb,0.49734e+01_rb, & & 0.50221e+01_rb,0.49131e+01_rb,0.45659e+01_rb,0.37057e+01_rb /) kao(:, 2, 9, 9) = (/ & & 0.29616e+01_rb,0.38662e+01_rb,0.44298e+01_rb,0.47788e+01_rb,0.49743e+01_rb, & & 0.50365e+01_rb,0.49428e+01_rb,0.46088e+01_rb,0.37656e+01_rb /) kao(:, 3, 9, 9) = (/ & & 0.29848e+01_rb,0.38693e+01_rb,0.44274e+01_rb,0.47752e+01_rb,0.49768e+01_rb, & & 0.50477e+01_rb,0.49663e+01_rb,0.46464e+01_rb,0.38194e+01_rb /) kao(:, 4, 9, 9) = (/ & & 0.30329e+01_rb,0.38944e+01_rb,0.44404e+01_rb,0.47824e+01_rb,0.49850e+01_rb, & & 0.50582e+01_rb,0.49851e+01_rb,0.46790e+01_rb,0.38645e+01_rb /) kao(:, 5, 9, 9) = (/ & & 0.31033e+01_rb,0.39395e+01_rb,0.44689e+01_rb,0.48029e+01_rb,0.49990e+01_rb, & & 0.50689e+01_rb,0.50004e+01_rb,0.47030e+01_rb,0.39063e+01_rb /) kao(:, 1,10, 9) = (/ & & 0.25528e+01_rb,0.34541e+01_rb,0.39652e+01_rb,0.42831e+01_rb,0.44659e+01_rb, & & 0.45285e+01_rb,0.44509e+01_rb,0.41587e+01_rb,0.32612e+01_rb /) kao(:, 2,10, 9) = (/ & & 0.25575e+01_rb,0.34458e+01_rb,0.39558e+01_rb,0.42802e+01_rb,0.44723e+01_rb, & & 0.45451e+01_rb,0.44820e+01_rb,0.42051e+01_rb,0.33240e+01_rb /) kao(:, 3,10, 9) = (/ & & 0.25883e+01_rb,0.34607e+01_rb,0.39625e+01_rb,0.42854e+01_rb,0.44811e+01_rb, & & 0.45602e+01_rb,0.45090e+01_rb,0.42460e+01_rb,0.33785e+01_rb /) kao(:, 4,10, 9) = (/ & & 0.26435e+01_rb,0.34963e+01_rb,0.39867e+01_rb,0.43038e+01_rb,0.44956e+01_rb, & & 0.45761e+01_rb,0.45312e+01_rb,0.42799e+01_rb,0.34270e+01_rb /) kao(:, 5,10, 9) = (/ & & 0.27203e+01_rb,0.35517e+01_rb,0.40270e+01_rb,0.43344e+01_rb,0.45189e+01_rb, & & 0.45941e+01_rb,0.45504e+01_rb,0.43065e+01_rb,0.34705e+01_rb /) kao(:, 1,11, 9) = (/ & & 0.21958e+01_rb,0.30498e+01_rb,0.35059e+01_rb,0.38049e+01_rb,0.39876e+01_rb, & & 0.40622e+01_rb,0.40123e+01_rb,0.37729e+01_rb,0.28786e+01_rb /) kao(:, 2,11, 9) = (/ & & 0.22177e+01_rb,0.30598e+01_rb,0.35116e+01_rb,0.38116e+01_rb,0.39989e+01_rb, & & 0.40819e+01_rb,0.40442e+01_rb,0.38191e+01_rb,0.29389e+01_rb /) kao(:, 3,11, 9) = (/ & & 0.22647e+01_rb,0.30907e+01_rb,0.35359e+01_rb,0.38306e+01_rb,0.40167e+01_rb, & & 0.41020e+01_rb,0.40724e+01_rb,0.38578e+01_rb,0.29915e+01_rb /) kao(:, 4,11, 9) = (/ & & 0.23337e+01_rb,0.31425e+01_rb,0.35763e+01_rb,0.38632e+01_rb,0.40437e+01_rb, & & 0.41245e+01_rb,0.40973e+01_rb,0.38902e+01_rb,0.30386e+01_rb /) kao(:, 5,11, 9) = (/ & & 0.24135e+01_rb,0.32120e+01_rb,0.36330e+01_rb,0.39077e+01_rb,0.40797e+01_rb, & & 0.41526e+01_rb,0.41204e+01_rb,0.39195e+01_rb,0.30818e+01_rb /) kao(:, 1,12, 9) = (/ & & 0.18956e+01_rb,0.26861e+01_rb,0.30931e+01_rb,0.33674e+01_rb,0.35425e+01_rb, & & 0.36210e+01_rb,0.35899e+01_rb,0.33921e+01_rb,0.25824e+01_rb /) kao(:, 2,12, 9) = (/ & & 0.19314e+01_rb,0.27108e+01_rb,0.31141e+01_rb,0.33855e+01_rb,0.35620e+01_rb, & & 0.36450e+01_rb,0.36224e+01_rb,0.34362e+01_rb,0.26351e+01_rb /) kao(:, 3,12, 9) = (/ & & 0.19899e+01_rb,0.27565e+01_rb,0.31515e+01_rb,0.34177e+01_rb,0.35909e+01_rb, & & 0.36718e+01_rb,0.36517e+01_rb,0.34743e+01_rb,0.26837e+01_rb /) kao(:, 4,12, 9) = (/ & & 0.20599e+01_rb,0.28211e+01_rb,0.32055e+01_rb,0.34628e+01_rb,0.36291e+01_rb, & & 0.37038e+01_rb,0.36800e+01_rb,0.35081e+01_rb,0.27286e+01_rb /) kao(:, 5,12, 9) = (/ & & 0.21342e+01_rb,0.28994e+01_rb,0.32752e+01_rb,0.35201e+01_rb,0.36745e+01_rb, & & 0.37420e+01_rb,0.37112e+01_rb,0.35392e+01_rb,0.27703e+01_rb /) kao(:, 1,13, 9) = (/ & & 0.16403e+01_rb,0.23651e+01_rb,0.27290e+01_rb,0.29746e+01_rb,0.31326e+01_rb, & & 0.32080e+01_rb,0.31891e+01_rb,0.30274e+01_rb,0.23307e+01_rb /) kao(:, 2,13, 9) = (/ & & 0.16863e+01_rb,0.24025e+01_rb,0.27611e+01_rb,0.30044e+01_rb,0.31618e+01_rb, & & 0.32369e+01_rb,0.32226e+01_rb,0.30700e+01_rb,0.23815e+01_rb /) kao(:, 3,13, 9) = (/ & & 0.17455e+01_rb,0.24598e+01_rb,0.28102e+01_rb,0.30475e+01_rb,0.32007e+01_rb, & & 0.32722e+01_rb,0.32554e+01_rb,0.31073e+01_rb,0.24291e+01_rb /) kao(:, 4,13, 9) = (/ & & 0.18100e+01_rb,0.25311e+01_rb,0.28759e+01_rb,0.31035e+01_rb,0.32472e+01_rb, & & 0.33131e+01_rb,0.32901e+01_rb,0.31417e+01_rb,0.24730e+01_rb /) kao(:, 5,13, 9) = (/ & & 0.18736e+01_rb,0.26085e+01_rb,0.29527e+01_rb,0.31711e+01_rb,0.33027e+01_rb, & & 0.33589e+01_rb,0.33290e+01_rb,0.31763e+01_rb,0.25126e+01_rb /) kao(:, 1, 1,10) = (/ & & 0.19065e+02_rb,0.16899e+02_rb,0.15643e+02_rb,0.15578e+02_rb,0.15043e+02_rb, & & 0.14288e+02_rb,0.13684e+02_rb,0.14703e+02_rb,0.16312e+02_rb /) kao(:, 2, 1,10) = (/ & & 0.18912e+02_rb,0.16761e+02_rb,0.15514e+02_rb,0.15480e+02_rb,0.14973e+02_rb, & & 0.14273e+02_rb,0.13717e+02_rb,0.14749e+02_rb,0.16352e+02_rb /) kao(:, 3, 1,10) = (/ & & 0.18728e+02_rb,0.16596e+02_rb,0.15380e+02_rb,0.15367e+02_rb,0.14915e+02_rb, & & 0.14240e+02_rb,0.13761e+02_rb,0.14772e+02_rb,0.16373e+02_rb /) kao(:, 4, 1,10) = (/ & & 0.18544e+02_rb,0.16434e+02_rb,0.15250e+02_rb,0.15223e+02_rb,0.14839e+02_rb, & & 0.14214e+02_rb,0.13761e+02_rb,0.14749e+02_rb,0.16351e+02_rb /) kao(:, 5, 1,10) = (/ & & 0.18333e+02_rb,0.16256e+02_rb,0.15122e+02_rb,0.15098e+02_rb,0.14749e+02_rb, & & 0.14176e+02_rb,0.13735e+02_rb,0.14720e+02_rb,0.16309e+02_rb /) kao(:, 1, 2,10) = (/ & & 0.19359e+02_rb,0.17148e+02_rb,0.16419e+02_rb,0.16424e+02_rb,0.16006e+02_rb, & & 0.15375e+02_rb,0.14545e+02_rb,0.15202e+02_rb,0.16997e+02_rb /) kao(:, 2, 2,10) = (/ & & 0.19172e+02_rb,0.16980e+02_rb,0.16267e+02_rb,0.16317e+02_rb,0.15911e+02_rb, & & 0.15334e+02_rb,0.14618e+02_rb,0.15283e+02_rb,0.17084e+02_rb /) kao(:, 3, 2,10) = (/ & & 0.18973e+02_rb,0.16804e+02_rb,0.16126e+02_rb,0.16185e+02_rb,0.15827e+02_rb, & & 0.15302e+02_rb,0.14664e+02_rb,0.15280e+02_rb,0.17092e+02_rb /) kao(:, 4, 2,10) = (/ & & 0.18751e+02_rb,0.16617e+02_rb,0.15988e+02_rb,0.16055e+02_rb,0.15738e+02_rb, & & 0.15272e+02_rb,0.14654e+02_rb,0.15237e+02_rb,0.17035e+02_rb /) kao(:, 5, 2,10) = (/ & & 0.18520e+02_rb,0.16417e+02_rb,0.15855e+02_rb,0.15950e+02_rb,0.15639e+02_rb, & & 0.15219e+02_rb,0.14617e+02_rb,0.15192e+02_rb,0.16961e+02_rb /) kao(:, 1, 3,10) = (/ & & 0.19263e+02_rb,0.17075e+02_rb,0.17060e+02_rb,0.17120e+02_rb,0.16883e+02_rb, & & 0.16381e+02_rb,0.15414e+02_rb,0.15455e+02_rb,0.17398e+02_rb /) kao(:, 2, 3,10) = (/ & & 0.19059e+02_rb,0.16894e+02_rb,0.16898e+02_rb,0.17000e+02_rb,0.16773e+02_rb, & & 0.16323e+02_rb,0.15500e+02_rb,0.15491e+02_rb,0.17437e+02_rb /) kao(:, 3, 3,10) = (/ & & 0.18835e+02_rb,0.16708e+02_rb,0.16745e+02_rb,0.16865e+02_rb,0.16669e+02_rb, & & 0.16285e+02_rb,0.15530e+02_rb,0.15496e+02_rb,0.17423e+02_rb /) kao(:, 4, 3,10) = (/ & & 0.18600e+02_rb,0.16513e+02_rb,0.16588e+02_rb,0.16744e+02_rb,0.16560e+02_rb, & & 0.16244e+02_rb,0.15515e+02_rb,0.15476e+02_rb,0.17372e+02_rb /) kao(:, 5, 3,10) = (/ & & 0.18358e+02_rb,0.16312e+02_rb,0.16416e+02_rb,0.16627e+02_rb,0.16462e+02_rb, & & 0.16172e+02_rb,0.15490e+02_rb,0.15433e+02_rb,0.17293e+02_rb /) kao(:, 1, 4,10) = (/ & & 0.18801e+02_rb,0.16888e+02_rb,0.17351e+02_rb,0.17638e+02_rb,0.17654e+02_rb, & & 0.17241e+02_rb,0.16305e+02_rb,0.15458e+02_rb,0.17321e+02_rb /) kao(:, 2, 4,10) = (/ & & 0.18579e+02_rb,0.16692e+02_rb,0.17197e+02_rb,0.17496e+02_rb,0.17520e+02_rb, & & 0.17188e+02_rb,0.16384e+02_rb,0.15486e+02_rb,0.17346e+02_rb /) kao(:, 3, 4,10) = (/ & & 0.18342e+02_rb,0.16488e+02_rb,0.17035e+02_rb,0.17349e+02_rb,0.17380e+02_rb, & & 0.17158e+02_rb,0.16385e+02_rb,0.15526e+02_rb,0.17367e+02_rb /) kao(:, 4, 4,10) = (/ & & 0.18091e+02_rb,0.16279e+02_rb,0.16863e+02_rb,0.17208e+02_rb,0.17266e+02_rb, & & 0.17103e+02_rb,0.16355e+02_rb,0.15560e+02_rb,0.17358e+02_rb /) kao(:, 5, 4,10) = (/ & & 0.17836e+02_rb,0.16059e+02_rb,0.16677e+02_rb,0.17068e+02_rb,0.17166e+02_rb, & & 0.17011e+02_rb,0.16312e+02_rb,0.15578e+02_rb,0.17344e+02_rb /) kao(:, 1, 5,10) = (/ & & 0.17961e+02_rb,0.16659e+02_rb,0.17334e+02_rb,0.17976e+02_rb,0.18171e+02_rb, & & 0.17832e+02_rb,0.16966e+02_rb,0.15432e+02_rb,0.16855e+02_rb /) kao(:, 2, 5,10) = (/ & & 0.17714e+02_rb,0.16442e+02_rb,0.17178e+02_rb,0.17800e+02_rb,0.18030e+02_rb, & & 0.17804e+02_rb,0.17004e+02_rb,0.15487e+02_rb,0.16904e+02_rb /) kao(:, 3, 5,10) = (/ & & 0.17470e+02_rb,0.16231e+02_rb,0.17012e+02_rb,0.17636e+02_rb,0.17902e+02_rb, & & 0.17774e+02_rb,0.16959e+02_rb,0.15590e+02_rb,0.16987e+02_rb /) kao(:, 4, 5,10) = (/ & & 0.17221e+02_rb,0.16002e+02_rb,0.16835e+02_rb,0.17477e+02_rb,0.17804e+02_rb, & & 0.17680e+02_rb,0.16923e+02_rb,0.15646e+02_rb,0.17004e+02_rb /) kao(:, 5, 5,10) = (/ & & 0.16955e+02_rb,0.15778e+02_rb,0.16648e+02_rb,0.17325e+02_rb,0.17709e+02_rb, & & 0.17576e+02_rb,0.16895e+02_rb,0.15664e+02_rb,0.17027e+02_rb /) kao(:, 1, 6,10) = (/ & & 0.16796e+02_rb,0.16241e+02_rb,0.17123e+02_rb,0.18098e+02_rb,0.18345e+02_rb, & & 0.18145e+02_rb,0.17297e+02_rb,0.15317e+02_rb,0.16076e+02_rb /) kao(:, 2, 6,10) = (/ & & 0.16561e+02_rb,0.16019e+02_rb,0.16973e+02_rb,0.17901e+02_rb,0.18253e+02_rb, & & 0.18123e+02_rb,0.17284e+02_rb,0.15411e+02_rb,0.16194e+02_rb /) kao(:, 3, 6,10) = (/ & & 0.16307e+02_rb,0.15790e+02_rb,0.16801e+02_rb,0.17722e+02_rb,0.18189e+02_rb, & & 0.18068e+02_rb,0.17217e+02_rb,0.15556e+02_rb,0.16309e+02_rb /) kao(:, 4, 6,10) = (/ & & 0.16045e+02_rb,0.15571e+02_rb,0.16615e+02_rb,0.17565e+02_rb,0.18113e+02_rb, & & 0.17968e+02_rb,0.17201e+02_rb,0.15625e+02_rb,0.16374e+02_rb /) kao(:, 5, 6,10) = (/ & & 0.15792e+02_rb,0.15350e+02_rb,0.16424e+02_rb,0.17437e+02_rb,0.17997e+02_rb, & & 0.17869e+02_rb,0.17203e+02_rb,0.15664e+02_rb,0.16420e+02_rb /) kao(:, 1, 7,10) = (/ & & 0.15441e+02_rb,0.15555e+02_rb,0.16836e+02_rb,0.17857e+02_rb,0.18265e+02_rb, & & 0.18114e+02_rb,0.17249e+02_rb,0.15143e+02_rb,0.15078e+02_rb /) kao(:, 2, 7,10) = (/ & & 0.15190e+02_rb,0.15341e+02_rb,0.16649e+02_rb,0.17679e+02_rb,0.18211e+02_rb, & & 0.18098e+02_rb,0.17215e+02_rb,0.15278e+02_rb,0.15251e+02_rb /) kao(:, 3, 7,10) = (/ & & 0.14946e+02_rb,0.15122e+02_rb,0.16458e+02_rb,0.17534e+02_rb,0.18165e+02_rb, & & 0.18029e+02_rb,0.17165e+02_rb,0.15443e+02_rb,0.15389e+02_rb /) kao(:, 4, 7,10) = (/ & & 0.14700e+02_rb,0.14908e+02_rb,0.16252e+02_rb,0.17424e+02_rb,0.18072e+02_rb, & & 0.17929e+02_rb,0.17187e+02_rb,0.15518e+02_rb,0.15458e+02_rb /) kao(:, 5, 7,10) = (/ & & 0.14445e+02_rb,0.14710e+02_rb,0.16048e+02_rb,0.17304e+02_rb,0.17932e+02_rb, & & 0.17873e+02_rb,0.17206e+02_rb,0.15573e+02_rb,0.15541e+02_rb /) kao(:, 1, 8,10) = (/ & & 0.13963e+02_rb,0.14641e+02_rb,0.16339e+02_rb,0.17287e+02_rb,0.17853e+02_rb, & & 0.17712e+02_rb,0.16836e+02_rb,0.14867e+02_rb,0.13958e+02_rb /) kao(:, 2, 8,10) = (/ & & 0.13720e+02_rb,0.14441e+02_rb,0.16121e+02_rb,0.17175e+02_rb,0.17806e+02_rb, & & 0.17701e+02_rb,0.16817e+02_rb,0.15013e+02_rb,0.14139e+02_rb /) kao(:, 3, 8,10) = (/ & & 0.13475e+02_rb,0.14253e+02_rb,0.15918e+02_rb,0.17071e+02_rb,0.17741e+02_rb, & & 0.17634e+02_rb,0.16820e+02_rb,0.15155e+02_rb,0.14269e+02_rb /) kao(:, 4, 8,10) = (/ & & 0.13235e+02_rb,0.14056e+02_rb,0.15727e+02_rb,0.16983e+02_rb,0.17630e+02_rb, & & 0.17564e+02_rb,0.16869e+02_rb,0.15238e+02_rb,0.14383e+02_rb /) kao(:, 5, 8,10) = (/ & & 0.13009e+02_rb,0.13855e+02_rb,0.15556e+02_rb,0.16857e+02_rb,0.17508e+02_rb, & & 0.17529e+02_rb,0.16912e+02_rb,0.15302e+02_rb,0.14496e+02_rb /) kao(:, 1, 9,10) = (/ & & 0.12422e+02_rb,0.13743e+02_rb,0.15496e+02_rb,0.16530e+02_rb,0.17068e+02_rb, & & 0.16944e+02_rb,0.16119e+02_rb,0.14360e+02_rb,0.12852e+02_rb /) kao(:, 2, 9,10) = (/ & & 0.12195e+02_rb,0.13543e+02_rb,0.15328e+02_rb,0.16447e+02_rb,0.17000e+02_rb, & & 0.16934e+02_rb,0.16148e+02_rb,0.14484e+02_rb,0.13012e+02_rb /) kao(:, 3, 9,10) = (/ & & 0.11972e+02_rb,0.13354e+02_rb,0.15163e+02_rb,0.16359e+02_rb,0.16940e+02_rb, & & 0.16900e+02_rb,0.16191e+02_rb,0.14599e+02_rb,0.13152e+02_rb /) kao(:, 4, 9,10) = (/ & & 0.11752e+02_rb,0.13166e+02_rb,0.15011e+02_rb,0.16249e+02_rb,0.16842e+02_rb, & & 0.16880e+02_rb,0.16254e+02_rb,0.14688e+02_rb,0.13295e+02_rb /) kao(:, 5, 9,10) = (/ & & 0.11542e+02_rb,0.12972e+02_rb,0.14878e+02_rb,0.16107e+02_rb,0.16750e+02_rb, & & 0.16884e+02_rb,0.16301e+02_rb,0.14790e+02_rb,0.13417e+02_rb /) kao(:, 1,10,10) = (/ & & 0.10883e+02_rb,0.12799e+02_rb,0.14471e+02_rb,0.15523e+02_rb,0.15963e+02_rb, & & 0.15867e+02_rb,0.15188e+02_rb,0.13687e+02_rb,0.11830e+02_rb /) kao(:, 2,10,10) = (/ & & 0.10669e+02_rb,0.12615e+02_rb,0.14351e+02_rb,0.15423e+02_rb,0.15920e+02_rb, & & 0.15883e+02_rb,0.15251e+02_rb,0.13796e+02_rb,0.11997e+02_rb /) kao(:, 3,10,10) = (/ & & 0.10461e+02_rb,0.12417e+02_rb,0.14235e+02_rb,0.15340e+02_rb,0.15857e+02_rb, & & 0.15885e+02_rb,0.15315e+02_rb,0.13895e+02_rb,0.12154e+02_rb /) kao(:, 4,10,10) = (/ & & 0.10271e+02_rb,0.12218e+02_rb,0.14109e+02_rb,0.15234e+02_rb,0.15808e+02_rb, & & 0.15905e+02_rb,0.15383e+02_rb,0.14000e+02_rb,0.12311e+02_rb /) kao(:, 5,10,10) = (/ & & 0.10108e+02_rb,0.12035e+02_rb,0.13977e+02_rb,0.15117e+02_rb,0.15764e+02_rb, & & 0.15927e+02_rb,0.15450e+02_rb,0.14121e+02_rb,0.12430e+02_rb /) kao(:, 1,11,10) = (/ & & 0.93334e+01_rb,0.11625e+02_rb,0.13302e+02_rb,0.14226e+02_rb,0.14663e+02_rb, & & 0.14671e+02_rb,0.14179e+02_rb,0.12958e+02_rb,0.10939e+02_rb /) kao(:, 2,11,10) = (/ & & 0.91435e+01_rb,0.11452e+02_rb,0.13192e+02_rb,0.14163e+02_rb,0.14640e+02_rb, & & 0.14697e+02_rb,0.14256e+02_rb,0.13072e+02_rb,0.11104e+02_rb /) kao(:, 3,11,10) = (/ & & 0.89744e+01_rb,0.11286e+02_rb,0.13068e+02_rb,0.14085e+02_rb,0.14619e+02_rb, & & 0.14728e+02_rb,0.14326e+02_rb,0.13192e+02_rb,0.11276e+02_rb /) kao(:, 4,11,10) = (/ & & 0.88386e+01_rb,0.11134e+02_rb,0.12957e+02_rb,0.14008e+02_rb,0.14602e+02_rb, & & 0.14761e+02_rb,0.14404e+02_rb,0.13322e+02_rb,0.11423e+02_rb /) kao(:, 5,11,10) = (/ & & 0.88280e+01_rb,0.11011e+02_rb,0.12844e+02_rb,0.13942e+02_rb,0.14584e+02_rb, & & 0.14790e+02_rb,0.14494e+02_rb,0.13437e+02_rb,0.11537e+02_rb /) kao(:, 1,12,10) = (/ & & 0.79516e+01_rb,0.10418e+02_rb,0.11985e+02_rb,0.12856e+02_rb,0.13326e+02_rb, & & 0.13448e+02_rb,0.13142e+02_rb,0.12163e+02_rb,0.97408e+01_rb /) kao(:, 2,12,10) = (/ & & 0.78004e+01_rb,0.10286e+02_rb,0.11886e+02_rb,0.12812e+02_rb,0.13327e+02_rb, & & 0.13488e+02_rb,0.13229e+02_rb,0.12301e+02_rb,0.99474e+01_rb /) kao(:, 3,12,10) = (/ & & 0.76847e+01_rb,0.10169e+02_rb,0.11799e+02_rb,0.12768e+02_rb,0.13325e+02_rb, & & 0.13529e+02_rb,0.13323e+02_rb,0.12442e+02_rb,0.10130e+02_rb /) kao(:, 4,12,10) = (/ & & 0.76979e+01_rb,0.10072e+02_rb,0.11716e+02_rb,0.12735e+02_rb,0.13318e+02_rb, & & 0.13569e+02_rb,0.13422e+02_rb,0.12581e+02_rb,0.10272e+02_rb /) kao(:, 5,12,10) = (/ & & 0.78582e+01_rb,0.10030e+02_rb,0.11643e+02_rb,0.12707e+02_rb,0.13325e+02_rb, & & 0.13613e+02_rb,0.13505e+02_rb,0.12682e+02_rb,0.10410e+02_rb /) kao(:, 1,13,10) = (/ & & 0.68077e+01_rb,0.92695e+01_rb,0.10647e+02_rb,0.11513e+02_rb,0.12044e+02_rb, & & 0.12269e+02_rb,0.12092e+02_rb,0.11295e+02_rb,0.85103e+01_rb /) kao(:, 2,13,10) = (/ & & 0.67020e+01_rb,0.91675e+01_rb,0.10585e+02_rb,0.11489e+02_rb,0.12056e+02_rb, & & 0.12329e+02_rb,0.12198e+02_rb,0.11449e+02_rb,0.87111e+01_rb /) kao(:, 3,13,10) = (/ & & 0.67136e+01_rb,0.90765e+01_rb,0.10537e+02_rb,0.11473e+02_rb,0.12065e+02_rb, & & 0.12379e+02_rb,0.12312e+02_rb,0.11602e+02_rb,0.88718e+01_rb /) kao(:, 4,13,10) = (/ & & 0.68715e+01_rb,0.90508e+01_rb,0.10490e+02_rb,0.11454e+02_rb,0.12087e+02_rb, & & 0.12433e+02_rb,0.12413e+02_rb,0.11728e+02_rb,0.90172e+01_rb /) kao(:, 5,13,10) = (/ & & 0.71183e+01_rb,0.91466e+01_rb,0.10479e+02_rb,0.11436e+02_rb,0.12120e+02_rb, & & 0.12489e+02_rb,0.12478e+02_rb,0.11826e+02_rb,0.91846e+01_rb /) kao(:, 1, 1,11) = (/ & & 0.25290e+02_rb,0.22378e+02_rb,0.19682e+02_rb,0.19092e+02_rb,0.18401e+02_rb, & & 0.17330e+02_rb,0.17194e+02_rb,0.19513e+02_rb,0.21546e+02_rb /) kao(:, 2, 1,11) = (/ & & 0.25153e+02_rb,0.22251e+02_rb,0.19574e+02_rb,0.19002e+02_rb,0.18309e+02_rb, & & 0.17346e+02_rb,0.17168e+02_rb,0.19469e+02_rb,0.21516e+02_rb /) kao(:, 3, 1,11) = (/ & & 0.24990e+02_rb,0.22108e+02_rb,0.19457e+02_rb,0.18891e+02_rb,0.18197e+02_rb, & & 0.17344e+02_rb,0.17153e+02_rb,0.19435e+02_rb,0.21516e+02_rb /) kao(:, 4, 1,11) = (/ & & 0.24785e+02_rb,0.21926e+02_rb,0.19312e+02_rb,0.18774e+02_rb,0.18111e+02_rb, & & 0.17300e+02_rb,0.17168e+02_rb,0.19426e+02_rb,0.21524e+02_rb /) kao(:, 5, 1,11) = (/ & & 0.24562e+02_rb,0.21729e+02_rb,0.19145e+02_rb,0.18657e+02_rb,0.18043e+02_rb, & & 0.17239e+02_rb,0.17190e+02_rb,0.19400e+02_rb,0.21517e+02_rb /) kao(:, 1, 2,11) = (/ & & 0.26738e+02_rb,0.23635e+02_rb,0.21164e+02_rb,0.20882e+02_rb,0.20133e+02_rb, & & 0.18952e+02_rb,0.18391e+02_rb,0.20397e+02_rb,0.22752e+02_rb /) kao(:, 2, 2,11) = (/ & & 0.26579e+02_rb,0.23493e+02_rb,0.21026e+02_rb,0.20770e+02_rb,0.20046e+02_rb, & & 0.18924e+02_rb,0.18351e+02_rb,0.20302e+02_rb,0.22673e+02_rb /) kao(:, 3, 2,11) = (/ & & 0.26369e+02_rb,0.23304e+02_rb,0.20847e+02_rb,0.20634e+02_rb,0.19955e+02_rb, & & 0.18867e+02_rb,0.18355e+02_rb,0.20274e+02_rb,0.22643e+02_rb /) kao(:, 4, 2,11) = (/ & & 0.26147e+02_rb,0.23108e+02_rb,0.20663e+02_rb,0.20491e+02_rb,0.19870e+02_rb, & & 0.18790e+02_rb,0.18365e+02_rb,0.20271e+02_rb,0.22638e+02_rb /) kao(:, 5, 2,11) = (/ & & 0.25876e+02_rb,0.22867e+02_rb,0.20457e+02_rb,0.20308e+02_rb,0.19788e+02_rb, & & 0.18723e+02_rb,0.18359e+02_rb,0.20242e+02_rb,0.22612e+02_rb /) kao(:, 1, 3,11) = (/ & & 0.27801e+02_rb,0.24558e+02_rb,0.22625e+02_rb,0.22456e+02_rb,0.21766e+02_rb, & & 0.20723e+02_rb,0.19785e+02_rb,0.21193e+02_rb,0.23811e+02_rb /) kao(:, 2, 3,11) = (/ & & 0.27586e+02_rb,0.24366e+02_rb,0.22444e+02_rb,0.22341e+02_rb,0.21670e+02_rb, & & 0.20651e+02_rb,0.19732e+02_rb,0.21163e+02_rb,0.23778e+02_rb /) kao(:, 3, 3,11) = (/ & & 0.27362e+02_rb,0.24166e+02_rb,0.22236e+02_rb,0.22200e+02_rb,0.21575e+02_rb, & & 0.20557e+02_rb,0.19718e+02_rb,0.21155e+02_rb,0.23783e+02_rb /) kao(:, 4, 3,11) = (/ & & 0.27084e+02_rb,0.23919e+02_rb,0.22013e+02_rb,0.22018e+02_rb,0.21471e+02_rb, & & 0.20457e+02_rb,0.19708e+02_rb,0.21136e+02_rb,0.23769e+02_rb /) kao(:, 5, 3,11) = (/ & & 0.26795e+02_rb,0.23666e+02_rb,0.21794e+02_rb,0.21827e+02_rb,0.21355e+02_rb, & & 0.20374e+02_rb,0.19655e+02_rb,0.21092e+02_rb,0.23724e+02_rb /) kao(:, 1, 4,11) = (/ & & 0.28327e+02_rb,0.25026e+02_rb,0.23910e+02_rb,0.23720e+02_rb,0.23265e+02_rb, & & 0.22396e+02_rb,0.21086e+02_rb,0.21859e+02_rb,0.24649e+02_rb /) kao(:, 2, 4,11) = (/ & & 0.28095e+02_rb,0.24816e+02_rb,0.23683e+02_rb,0.23594e+02_rb,0.23156e+02_rb, & & 0.22304e+02_rb,0.21023e+02_rb,0.21873e+02_rb,0.24674e+02_rb /) kao(:, 3, 4,11) = (/ & & 0.27817e+02_rb,0.24569e+02_rb,0.23454e+02_rb,0.23446e+02_rb,0.23031e+02_rb, & & 0.22182e+02_rb,0.21022e+02_rb,0.21878e+02_rb,0.24680e+02_rb /) kao(:, 4, 4,11) = (/ & & 0.27525e+02_rb,0.24310e+02_rb,0.23220e+02_rb,0.23268e+02_rb,0.22908e+02_rb, & & 0.22090e+02_rb,0.21022e+02_rb,0.21824e+02_rb,0.24620e+02_rb /) kao(:, 5, 4,11) = (/ & & 0.27191e+02_rb,0.24023e+02_rb,0.22996e+02_rb,0.23072e+02_rb,0.22769e+02_rb, & & 0.22022e+02_rb,0.20982e+02_rb,0.21737e+02_rb,0.24514e+02_rb /) kao(:, 1, 5,11) = (/ & & 0.28259e+02_rb,0.25014e+02_rb,0.24907e+02_rb,0.24706e+02_rb,0.24642e+02_rb, & & 0.23918e+02_rb,0.22330e+02_rb,0.22219e+02_rb,0.25091e+02_rb /) kao(:, 2, 5,11) = (/ & & 0.27993e+02_rb,0.24771e+02_rb,0.24666e+02_rb,0.24596e+02_rb,0.24487e+02_rb, & & 0.23818e+02_rb,0.22348e+02_rb,0.22269e+02_rb,0.25149e+02_rb /) kao(:, 3, 5,11) = (/ & & 0.27691e+02_rb,0.24499e+02_rb,0.24421e+02_rb,0.24432e+02_rb,0.24340e+02_rb, & & 0.23705e+02_rb,0.22420e+02_rb,0.22242e+02_rb,0.25109e+02_rb /) kao(:, 4, 5,11) = (/ & & 0.27357e+02_rb,0.24214e+02_rb,0.24178e+02_rb,0.24253e+02_rb,0.24191e+02_rb, & & 0.23642e+02_rb,0.22422e+02_rb,0.22174e+02_rb,0.25030e+02_rb /) kao(:, 5, 5,11) = (/ & & 0.27008e+02_rb,0.23916e+02_rb,0.23935e+02_rb,0.24063e+02_rb,0.24020e+02_rb, & & 0.23572e+02_rb,0.22355e+02_rb,0.22132e+02_rb,0.24957e+02_rb /) kao(:, 1, 6,11) = (/ & & 0.27627e+02_rb,0.24841e+02_rb,0.25414e+02_rb,0.25513e+02_rb,0.25788e+02_rb, & & 0.25161e+02_rb,0.23567e+02_rb,0.22384e+02_rb,0.25091e+02_rb /) kao(:, 2, 6,11) = (/ & & 0.27317e+02_rb,0.24550e+02_rb,0.25165e+02_rb,0.25384e+02_rb,0.25578e+02_rb, & & 0.25083e+02_rb,0.23662e+02_rb,0.22423e+02_rb,0.25102e+02_rb /) kao(:, 3, 6,11) = (/ & & 0.26994e+02_rb,0.24259e+02_rb,0.24926e+02_rb,0.25206e+02_rb,0.25391e+02_rb, & & 0.25015e+02_rb,0.23758e+02_rb,0.22363e+02_rb,0.25025e+02_rb /) kao(:, 4, 6,11) = (/ & & 0.26640e+02_rb,0.23945e+02_rb,0.24692e+02_rb,0.25002e+02_rb,0.25193e+02_rb, & & 0.24973e+02_rb,0.23733e+02_rb,0.22328e+02_rb,0.24965e+02_rb /) kao(:, 5, 6,11) = (/ & & 0.26265e+02_rb,0.23625e+02_rb,0.24446e+02_rb,0.24785e+02_rb,0.25037e+02_rb, & & 0.24906e+02_rb,0.23659e+02_rb,0.22352e+02_rb,0.24965e+02_rb /) kao(:, 1, 7,11) = (/ & & 0.26430e+02_rb,0.24581e+02_rb,0.25439e+02_rb,0.26140e+02_rb,0.26524e+02_rb, & & 0.25974e+02_rb,0.24552e+02_rb,0.22441e+02_rb,0.24498e+02_rb /) kao(:, 2, 7,11) = (/ & & 0.26105e+02_rb,0.24263e+02_rb,0.25225e+02_rb,0.25974e+02_rb,0.26315e+02_rb, & & 0.25946e+02_rb,0.24677e+02_rb,0.22471e+02_rb,0.24490e+02_rb /) kao(:, 3, 7,11) = (/ & & 0.25752e+02_rb,0.23938e+02_rb,0.24996e+02_rb,0.25749e+02_rb,0.26113e+02_rb, & & 0.25925e+02_rb,0.24758e+02_rb,0.22442e+02_rb,0.24454e+02_rb /) kao(:, 4, 7,11) = (/ & & 0.25389e+02_rb,0.23609e+02_rb,0.24761e+02_rb,0.25499e+02_rb,0.25940e+02_rb, & & 0.25913e+02_rb,0.24720e+02_rb,0.22473e+02_rb,0.24475e+02_rb /) kao(:, 5, 7,11) = (/ & & 0.25010e+02_rb,0.23260e+02_rb,0.24510e+02_rb,0.25262e+02_rb,0.25804e+02_rb, & & 0.25811e+02_rb,0.24640e+02_rb,0.22547e+02_rb,0.24534e+02_rb /) kao(:, 1, 8,11) = (/ & & 0.24762e+02_rb,0.23997e+02_rb,0.25209e+02_rb,0.26467e+02_rb,0.26748e+02_rb, & & 0.26365e+02_rb,0.25094e+02_rb,0.22357e+02_rb,0.23406e+02_rb /) kao(:, 2, 8,11) = (/ & & 0.24421e+02_rb,0.23672e+02_rb,0.24981e+02_rb,0.26217e+02_rb,0.26595e+02_rb, & & 0.26375e+02_rb,0.25195e+02_rb,0.22435e+02_rb,0.23453e+02_rb /) kao(:, 3, 8,11) = (/ & & 0.24067e+02_rb,0.23336e+02_rb,0.24754e+02_rb,0.25956e+02_rb,0.26455e+02_rb, & & 0.26361e+02_rb,0.25241e+02_rb,0.22458e+02_rb,0.23475e+02_rb /) kao(:, 4, 8,11) = (/ & & 0.23691e+02_rb,0.22996e+02_rb,0.24502e+02_rb,0.25698e+02_rb,0.26330e+02_rb, & & 0.26343e+02_rb,0.25197e+02_rb,0.22533e+02_rb,0.23575e+02_rb /) kao(:, 5, 8,11) = (/ & & 0.23311e+02_rb,0.22660e+02_rb,0.24234e+02_rb,0.25450e+02_rb,0.26215e+02_rb, & & 0.26209e+02_rb,0.25123e+02_rb,0.22642e+02_rb,0.23709e+02_rb /) kao(:, 1, 9,11) = (/ & & 0.22800e+02_rb,0.23011e+02_rb,0.24799e+02_rb,0.26181e+02_rb,0.26533e+02_rb, & & 0.26301e+02_rb,0.25044e+02_rb,0.22077e+02_rb,0.21907e+02_rb /) kao(:, 2, 9,11) = (/ & & 0.22436e+02_rb,0.22697e+02_rb,0.24546e+02_rb,0.25945e+02_rb,0.26460e+02_rb, & & 0.26314e+02_rb,0.25122e+02_rb,0.22204e+02_rb,0.22029e+02_rb /) kao(:, 3, 9,11) = (/ & & 0.22079e+02_rb,0.22367e+02_rb,0.24295e+02_rb,0.25706e+02_rb,0.26370e+02_rb, & & 0.26288e+02_rb,0.25162e+02_rb,0.22314e+02_rb,0.22151e+02_rb /) kao(:, 4, 9,11) = (/ & & 0.21719e+02_rb,0.22029e+02_rb,0.24017e+02_rb,0.25487e+02_rb,0.26273e+02_rb, & & 0.26217e+02_rb,0.25110e+02_rb,0.22435e+02_rb,0.22334e+02_rb /) kao(:, 5, 9,11) = (/ & & 0.21341e+02_rb,0.21707e+02_rb,0.23702e+02_rb,0.25282e+02_rb,0.26159e+02_rb, & & 0.26086e+02_rb,0.25065e+02_rb,0.22578e+02_rb,0.22506e+02_rb /) kao(:, 1,10,11) = (/ & & 0.20601e+02_rb,0.21678e+02_rb,0.24058e+02_rb,0.25352e+02_rb,0.25931e+02_rb, & & 0.25718e+02_rb,0.24432e+02_rb,0.21607e+02_rb,0.20262e+02_rb /) kao(:, 2,10,11) = (/ & & 0.20254e+02_rb,0.21345e+02_rb,0.23796e+02_rb,0.25183e+02_rb,0.25875e+02_rb, & & 0.25691e+02_rb,0.24508e+02_rb,0.21774e+02_rb,0.20445e+02_rb /) kao(:, 3,10,11) = (/ & & 0.19899e+02_rb,0.21048e+02_rb,0.23494e+02_rb,0.25000e+02_rb,0.25800e+02_rb, & & 0.25662e+02_rb,0.24533e+02_rb,0.21922e+02_rb,0.20638e+02_rb /) kao(:, 4,10,11) = (/ & & 0.19544e+02_rb,0.20766e+02_rb,0.23207e+02_rb,0.24826e+02_rb,0.25686e+02_rb, & & 0.25593e+02_rb,0.24527e+02_rb,0.22085e+02_rb,0.20832e+02_rb /) kao(:, 5,10,11) = (/ & & 0.19193e+02_rb,0.20470e+02_rb,0.22936e+02_rb,0.24673e+02_rb,0.25544e+02_rb, & & 0.25480e+02_rb,0.24537e+02_rb,0.22218e+02_rb,0.21044e+02_rb /) kao(:, 1,11,11) = (/ & & 0.18170e+02_rb,0.20155e+02_rb,0.22721e+02_rb,0.24145e+02_rb,0.24798e+02_rb, & & 0.24559e+02_rb,0.23403e+02_rb,0.20895e+02_rb,0.18740e+02_rb /) kao(:, 2,11,11) = (/ & & 0.17830e+02_rb,0.19860e+02_rb,0.22479e+02_rb,0.24018e+02_rb,0.24721e+02_rb, & & 0.24556e+02_rb,0.23466e+02_rb,0.21069e+02_rb,0.18949e+02_rb /) kao(:, 3,11,11) = (/ & & 0.17496e+02_rb,0.19576e+02_rb,0.22242e+02_rb,0.23886e+02_rb,0.24621e+02_rb, & & 0.24529e+02_rb,0.23525e+02_rb,0.21231e+02_rb,0.19147e+02_rb /) kao(:, 4,11,11) = (/ & & 0.17168e+02_rb,0.19292e+02_rb,0.22005e+02_rb,0.23734e+02_rb,0.24514e+02_rb, & & 0.24476e+02_rb,0.23580e+02_rb,0.21376e+02_rb,0.19368e+02_rb /) kao(:, 5,11,11) = (/ & & 0.16844e+02_rb,0.19013e+02_rb,0.21771e+02_rb,0.23570e+02_rb,0.24390e+02_rb, & & 0.24440e+02_rb,0.23651e+02_rb,0.21517e+02_rb,0.19612e+02_rb /) kao(:, 1,12,11) = (/ & & 0.15762e+02_rb,0.18615e+02_rb,0.21133e+02_rb,0.22639e+02_rb,0.23214e+02_rb, & & 0.23022e+02_rb,0.22060e+02_rb,0.19958e+02_rb,0.17314e+02_rb /) kao(:, 2,12,11) = (/ & & 0.15455e+02_rb,0.18341e+02_rb,0.20944e+02_rb,0.22510e+02_rb,0.23148e+02_rb, & & 0.23042e+02_rb,0.22164e+02_rb,0.20127e+02_rb,0.17543e+02_rb /) kao(:, 3,12,11) = (/ & & 0.15156e+02_rb,0.18068e+02_rb,0.20768e+02_rb,0.22374e+02_rb,0.23084e+02_rb, & & 0.23060e+02_rb,0.22257e+02_rb,0.20275e+02_rb,0.17770e+02_rb /) kao(:, 4,12,11) = (/ & & 0.14865e+02_rb,0.17794e+02_rb,0.20582e+02_rb,0.22237e+02_rb,0.23018e+02_rb, & & 0.23079e+02_rb,0.22350e+02_rb,0.20427e+02_rb,0.18026e+02_rb /) kao(:, 5,12,11) = (/ & & 0.14612e+02_rb,0.17534e+02_rb,0.20399e+02_rb,0.22086e+02_rb,0.22956e+02_rb, & & 0.23112e+02_rb,0.22443e+02_rb,0.20607e+02_rb,0.18280e+02_rb /) kao(:, 1,13,11) = (/ & & 0.13517e+02_rb,0.16914e+02_rb,0.19425e+02_rb,0.20790e+02_rb,0.21367e+02_rb, & & 0.21315e+02_rb,0.20607e+02_rb,0.18871e+02_rb,0.15967e+02_rb /) kao(:, 2,13,11) = (/ & & 0.13249e+02_rb,0.16688e+02_rb,0.19279e+02_rb,0.20693e+02_rb,0.21344e+02_rb, & & 0.21372e+02_rb,0.20725e+02_rb,0.19043e+02_rb,0.16217e+02_rb /) kao(:, 3,13,11) = (/ & & 0.12994e+02_rb,0.16467e+02_rb,0.19108e+02_rb,0.20602e+02_rb,0.21343e+02_rb, & & 0.21436e+02_rb,0.20839e+02_rb,0.19212e+02_rb,0.16494e+02_rb /) kao(:, 4,13,11) = (/ & & 0.12784e+02_rb,0.16250e+02_rb,0.18951e+02_rb,0.20506e+02_rb,0.21335e+02_rb, & & 0.21503e+02_rb,0.20961e+02_rb,0.19415e+02_rb,0.16770e+02_rb /) kao(:, 5,13,11) = (/ & & 0.12734e+02_rb,0.16049e+02_rb,0.18819e+02_rb,0.20438e+02_rb,0.21329e+02_rb, & & 0.21573e+02_rb,0.21104e+02_rb,0.19623e+02_rb,0.16983e+02_rb /) kao(:, 1, 1,12) = (/ & & 0.32549e+02_rb,0.28774e+02_rb,0.25031e+02_rb,0.22926e+02_rb,0.22117e+02_rb, & & 0.21695e+02_rb,0.23417e+02_rb,0.26761e+02_rb,0.29694e+02_rb /) kao(:, 2, 1,12) = (/ & & 0.32499e+02_rb,0.28739e+02_rb,0.25006e+02_rb,0.22835e+02_rb,0.22088e+02_rb, & & 0.21560e+02_rb,0.23253e+02_rb,0.26542e+02_rb,0.29377e+02_rb /) kao(:, 3, 1,12) = (/ & & 0.32407e+02_rb,0.28660e+02_rb,0.24923e+02_rb,0.22714e+02_rb,0.22014e+02_rb, & & 0.21461e+02_rb,0.23148e+02_rb,0.26398e+02_rb,0.29117e+02_rb /) kao(:, 4, 1,12) = (/ & & 0.32260e+02_rb,0.28512e+02_rb,0.24788e+02_rb,0.22590e+02_rb,0.21881e+02_rb, & & 0.21430e+02_rb,0.23071e+02_rb,0.26295e+02_rb,0.28961e+02_rb /) kao(:, 5, 1,12) = (/ & & 0.32039e+02_rb,0.28307e+02_rb,0.24614e+02_rb,0.22444e+02_rb,0.21715e+02_rb, & & 0.21428e+02_rb,0.22979e+02_rb,0.26201e+02_rb,0.28821e+02_rb /) kao(:, 1, 2,12) = (/ & & 0.35951e+02_rb,0.31737e+02_rb,0.27558e+02_rb,0.25749e+02_rb,0.24746e+02_rb, & & 0.23905e+02_rb,0.24887e+02_rb,0.28459e+02_rb,0.31791e+02_rb /) kao(:, 2, 2,12) = (/ & & 0.35862e+02_rb,0.31672e+02_rb,0.27501e+02_rb,0.25642e+02_rb,0.24725e+02_rb, & & 0.23810e+02_rb,0.24734e+02_rb,0.28277e+02_rb,0.31526e+02_rb /) kao(:, 3, 2,12) = (/ & & 0.35737e+02_rb,0.31562e+02_rb,0.27401e+02_rb,0.25522e+02_rb,0.24641e+02_rb, & & 0.23751e+02_rb,0.24591e+02_rb,0.28127e+02_rb,0.31321e+02_rb /) kao(:, 4, 2,12) = (/ & & 0.35534e+02_rb,0.31380e+02_rb,0.27248e+02_rb,0.25379e+02_rb,0.24498e+02_rb, & & 0.23724e+02_rb,0.24485e+02_rb,0.28006e+02_rb,0.31168e+02_rb /) kao(:, 5, 2,12) = (/ & & 0.35285e+02_rb,0.31161e+02_rb,0.27065e+02_rb,0.25222e+02_rb,0.24328e+02_rb, & & 0.23689e+02_rb,0.24406e+02_rb,0.27908e+02_rb,0.31060e+02_rb /) kao(:, 1, 3,12) = (/ & & 0.39089e+02_rb,0.34457e+02_rb,0.30041e+02_rb,0.28724e+02_rb,0.27574e+02_rb, & & 0.26213e+02_rb,0.26498e+02_rb,0.30215e+02_rb,0.33960e+02_rb /) kao(:, 2, 3,12) = (/ & & 0.38998e+02_rb,0.34382e+02_rb,0.29952e+02_rb,0.28581e+02_rb,0.27562e+02_rb, & & 0.26150e+02_rb,0.26309e+02_rb,0.29980e+02_rb,0.33662e+02_rb /) kao(:, 3, 3,12) = (/ & & 0.38820e+02_rb,0.34217e+02_rb,0.29804e+02_rb,0.28424e+02_rb,0.27473e+02_rb, & & 0.26126e+02_rb,0.26176e+02_rb,0.29817e+02_rb,0.33458e+02_rb /) kao(:, 4, 3,12) = (/ & & 0.38594e+02_rb,0.34019e+02_rb,0.29631e+02_rb,0.28264e+02_rb,0.27343e+02_rb, & & 0.26103e+02_rb,0.26063e+02_rb,0.29657e+02_rb,0.33303e+02_rb /) kao(:, 5, 3,12) = (/ & & 0.38290e+02_rb,0.33755e+02_rb,0.29411e+02_rb,0.28094e+02_rb,0.27189e+02_rb, & & 0.26048e+02_rb,0.25993e+02_rb,0.29534e+02_rb,0.33212e+02_rb /) kao(:, 1, 4,12) = (/ & & 0.41846e+02_rb,0.36848e+02_rb,0.32642e+02_rb,0.31752e+02_rb,0.30348e+02_rb, & & 0.28783e+02_rb,0.28429e+02_rb,0.31940e+02_rb,0.36003e+02_rb /) kao(:, 2, 4,12) = (/ & & 0.41706e+02_rb,0.36722e+02_rb,0.32481e+02_rb,0.31589e+02_rb,0.30346e+02_rb, & & 0.28731e+02_rb,0.28275e+02_rb,0.31704e+02_rb,0.35716e+02_rb /) kao(:, 3, 4,12) = (/ & & 0.41502e+02_rb,0.36539e+02_rb,0.32269e+02_rb,0.31417e+02_rb,0.30279e+02_rb, & & 0.28696e+02_rb,0.28151e+02_rb,0.31470e+02_rb,0.35494e+02_rb /) kao(:, 4, 4,12) = (/ & & 0.41217e+02_rb,0.36286e+02_rb,0.32033e+02_rb,0.31226e+02_rb,0.30155e+02_rb, & & 0.28647e+02_rb,0.28039e+02_rb,0.31307e+02_rb,0.35368e+02_rb /) kao(:, 5, 4,12) = (/ & & 0.40876e+02_rb,0.35985e+02_rb,0.31743e+02_rb,0.31019e+02_rb,0.30013e+02_rb, & & 0.28553e+02_rb,0.27986e+02_rb,0.31205e+02_rb,0.35294e+02_rb /) kao(:, 1, 5,12) = (/ & & 0.43995e+02_rb,0.38706e+02_rb,0.35200e+02_rb,0.34595e+02_rb,0.33005e+02_rb, & & 0.31594e+02_rb,0.30727e+02_rb,0.33547e+02_rb,0.37840e+02_rb /) kao(:, 2, 5,12) = (/ & & 0.43792e+02_rb,0.38521e+02_rb,0.34965e+02_rb,0.34413e+02_rb,0.33017e+02_rb, & & 0.31523e+02_rb,0.30579e+02_rb,0.33292e+02_rb,0.37593e+02_rb /) kao(:, 3, 5,12) = (/ & & 0.43530e+02_rb,0.38288e+02_rb,0.34710e+02_rb,0.34215e+02_rb,0.32953e+02_rb, & & 0.31452e+02_rb,0.30422e+02_rb,0.33082e+02_rb,0.37437e+02_rb /) kao(:, 4, 5,12) = (/ & & 0.43192e+02_rb,0.37991e+02_rb,0.34400e+02_rb,0.33987e+02_rb,0.32832e+02_rb, & & 0.31362e+02_rb,0.30341e+02_rb,0.32970e+02_rb,0.37357e+02_rb /) kao(:, 5, 5,12) = (/ & & 0.42817e+02_rb,0.37661e+02_rb,0.34079e+02_rb,0.33725e+02_rb,0.32688e+02_rb, & & 0.31220e+02_rb,0.30292e+02_rb,0.32861e+02_rb,0.37270e+02_rb /) kao(:, 1, 6,12) = (/ & & 0.45371e+02_rb,0.39886e+02_rb,0.37563e+02_rb,0.36985e+02_rb,0.35582e+02_rb, & & 0.34395e+02_rb,0.32997e+02_rb,0.34724e+02_rb,0.39202e+02_rb /) kao(:, 2, 6,12) = (/ & & 0.45116e+02_rb,0.39656e+02_rb,0.37269e+02_rb,0.36794e+02_rb,0.35596e+02_rb, & & 0.34289e+02_rb,0.32827e+02_rb,0.34552e+02_rb,0.39098e+02_rb /) kao(:, 3, 6,12) = (/ & & 0.44794e+02_rb,0.39373e+02_rb,0.36959e+02_rb,0.36575e+02_rb,0.35485e+02_rb, & & 0.34189e+02_rb,0.32665e+02_rb,0.34424e+02_rb,0.39024e+02_rb /) kao(:, 4, 6,12) = (/ & & 0.44425e+02_rb,0.39049e+02_rb,0.36596e+02_rb,0.36352e+02_rb,0.35337e+02_rb, & & 0.34032e+02_rb,0.32591e+02_rb,0.34348e+02_rb,0.38980e+02_rb /) kao(:, 5, 6,12) = (/ & & 0.43987e+02_rb,0.38666e+02_rb,0.36218e+02_rb,0.36087e+02_rb,0.35122e+02_rb, & & 0.33853e+02_rb,0.32536e+02_rb,0.34232e+02_rb,0.38883e+02_rb /) kao(:, 1, 7,12) = (/ & & 0.45829e+02_rb,0.40296e+02_rb,0.39507e+02_rb,0.38911e+02_rb,0.38052e+02_rb, & & 0.37051e+02_rb,0.34926e+02_rb,0.35286e+02_rb,0.39874e+02_rb /) kao(:, 2, 7,12) = (/ & & 0.45523e+02_rb,0.40015e+02_rb,0.39164e+02_rb,0.38712e+02_rb,0.37995e+02_rb, & & 0.36879e+02_rb,0.34780e+02_rb,0.35237e+02_rb,0.39916e+02_rb /) kao(:, 3, 7,12) = (/ & & 0.45143e+02_rb,0.39672e+02_rb,0.38788e+02_rb,0.38484e+02_rb,0.37843e+02_rb, & & 0.36693e+02_rb,0.34674e+02_rb,0.35202e+02_rb,0.39935e+02_rb /) kao(:, 4, 7,12) = (/ & & 0.44711e+02_rb,0.39294e+02_rb,0.38380e+02_rb,0.38261e+02_rb,0.37608e+02_rb, & & 0.36475e+02_rb,0.34639e+02_rb,0.35181e+02_rb,0.39952e+02_rb /) kao(:, 5, 7,12) = (/ & & 0.44229e+02_rb,0.38875e+02_rb,0.37956e+02_rb,0.37973e+02_rb,0.37347e+02_rb, & & 0.36293e+02_rb,0.34620e+02_rb,0.35062e+02_rb,0.39846e+02_rb /) kao(:, 1, 8,12) = (/ & & 0.45335e+02_rb,0.40267e+02_rb,0.40744e+02_rb,0.40443e+02_rb,0.40247e+02_rb, & & 0.39223e+02_rb,0.36584e+02_rb,0.35367e+02_rb,0.39844e+02_rb /) kao(:, 2, 8,12) = (/ & & 0.44955e+02_rb,0.39893e+02_rb,0.40398e+02_rb,0.40216e+02_rb,0.40115e+02_rb, & & 0.39023e+02_rb,0.36582e+02_rb,0.35440e+02_rb,0.40008e+02_rb /) kao(:, 3, 8,12) = (/ & & 0.44529e+02_rb,0.39492e+02_rb,0.39985e+02_rb,0.39979e+02_rb,0.39873e+02_rb, & & 0.38831e+02_rb,0.36587e+02_rb,0.35498e+02_rb,0.40121e+02_rb /) kao(:, 4, 8,12) = (/ & & 0.44061e+02_rb,0.39061e+02_rb,0.39564e+02_rb,0.39715e+02_rb,0.39565e+02_rb, & & 0.38623e+02_rb,0.36619e+02_rb,0.35513e+02_rb,0.40138e+02_rb /) kao(:, 5, 8,12) = (/ & & 0.43543e+02_rb,0.38605e+02_rb,0.39136e+02_rb,0.39437e+02_rb,0.39265e+02_rb, & & 0.38474e+02_rb,0.36637e+02_rb,0.35396e+02_rb,0.40011e+02_rb /) kao(:, 1, 9,12) = (/ & & 0.43909e+02_rb,0.39954e+02_rb,0.41167e+02_rb,0.41626e+02_rb,0.41945e+02_rb, & & 0.40736e+02_rb,0.38077e+02_rb,0.35393e+02_rb,0.39221e+02_rb /) kao(:, 2, 9,12) = (/ & & 0.43480e+02_rb,0.39498e+02_rb,0.40786e+02_rb,0.41338e+02_rb,0.41733e+02_rb, & & 0.40609e+02_rb,0.38181e+02_rb,0.35523e+02_rb,0.39397e+02_rb /) kao(:, 3, 9,12) = (/ & & 0.43002e+02_rb,0.39038e+02_rb,0.40373e+02_rb,0.41094e+02_rb,0.41410e+02_rb, & & 0.40471e+02_rb,0.38255e+02_rb,0.35563e+02_rb,0.39462e+02_rb /) kao(:, 4, 9,12) = (/ & & 0.42479e+02_rb,0.38560e+02_rb,0.39995e+02_rb,0.40806e+02_rb,0.41101e+02_rb, & & 0.40341e+02_rb,0.38344e+02_rb,0.35573e+02_rb,0.39457e+02_rb /) kao(:, 5, 9,12) = (/ & & 0.41942e+02_rb,0.38060e+02_rb,0.39621e+02_rb,0.40473e+02_rb,0.40785e+02_rb, & & 0.40226e+02_rb,0.38369e+02_rb,0.35494e+02_rb,0.39400e+02_rb /) kao(:, 1,10,12) = (/ & & 0.41598e+02_rb,0.39277e+02_rb,0.40964e+02_rb,0.42358e+02_rb,0.42727e+02_rb, & & 0.41605e+02_rb,0.39147e+02_rb,0.35243e+02_rb,0.37755e+02_rb /) kao(:, 2,10,12) = (/ & & 0.41110e+02_rb,0.38804e+02_rb,0.40573e+02_rb,0.42061e+02_rb,0.42547e+02_rb, & & 0.41580e+02_rb,0.39298e+02_rb,0.35367e+02_rb,0.37893e+02_rb /) kao(:, 3,10,12) = (/ & & 0.40607e+02_rb,0.38301e+02_rb,0.40218e+02_rb,0.41774e+02_rb,0.42273e+02_rb, & & 0.41520e+02_rb,0.39406e+02_rb,0.35478e+02_rb,0.38009e+02_rb /) kao(:, 4,10,12) = (/ & & 0.40087e+02_rb,0.37793e+02_rb,0.39835e+02_rb,0.41418e+02_rb,0.42009e+02_rb, & & 0.41467e+02_rb,0.39471e+02_rb,0.35532e+02_rb,0.38110e+02_rb /) kao(:, 5,10,12) = (/ & & 0.39528e+02_rb,0.37276e+02_rb,0.39445e+02_rb,0.41009e+02_rb,0.41755e+02_rb, & & 0.41409e+02_rb,0.39460e+02_rb,0.35536e+02_rb,0.38153e+02_rb /) kao(:, 1,11,12) = (/ & & 0.38423e+02_rb,0.37785e+02_rb,0.40246e+02_rb,0.42229e+02_rb,0.42700e+02_rb, & & 0.41861e+02_rb,0.39594e+02_rb,0.34991e+02_rb,0.35642e+02_rb /) kao(:, 2,11,12) = (/ & & 0.37903e+02_rb,0.37296e+02_rb,0.39841e+02_rb,0.41927e+02_rb,0.42539e+02_rb, & & 0.41882e+02_rb,0.39751e+02_rb,0.35170e+02_rb,0.35883e+02_rb /) kao(:, 3,11,12) = (/ & & 0.37383e+02_rb,0.36809e+02_rb,0.39442e+02_rb,0.41575e+02_rb,0.42342e+02_rb, & & 0.41911e+02_rb,0.39809e+02_rb,0.35335e+02_rb,0.36101e+02_rb /) kao(:, 4,11,12) = (/ & & 0.36841e+02_rb,0.36301e+02_rb,0.39055e+02_rb,0.41199e+02_rb,0.42145e+02_rb, & & 0.41876e+02_rb,0.39854e+02_rb,0.35442e+02_rb,0.36276e+02_rb /) kao(:, 5,11,12) = (/ & & 0.36274e+02_rb,0.35783e+02_rb,0.38676e+02_rb,0.40833e+02_rb,0.41945e+02_rb, & & 0.41808e+02_rb,0.39839e+02_rb,0.35539e+02_rb,0.36455e+02_rb /) kao(:, 1,12,12) = (/ & & 0.34828e+02_rb,0.35770e+02_rb,0.39099e+02_rb,0.41221e+02_rb,0.41958e+02_rb, & & 0.41456e+02_rb,0.39253e+02_rb,0.34461e+02_rb,0.33246e+02_rb /) kao(:, 2,12,12) = (/ & & 0.34304e+02_rb,0.35295e+02_rb,0.38700e+02_rb,0.40987e+02_rb,0.41846e+02_rb, & & 0.41525e+02_rb,0.39359e+02_rb,0.34698e+02_rb,0.33560e+02_rb /) kao(:, 3,12,12) = (/ & & 0.33784e+02_rb,0.34798e+02_rb,0.38311e+02_rb,0.40707e+02_rb,0.41743e+02_rb, & & 0.41505e+02_rb,0.39465e+02_rb,0.34925e+02_rb,0.33882e+02_rb /) kao(:, 4,12,12) = (/ & & 0.33241e+02_rb,0.34324e+02_rb,0.37917e+02_rb,0.40393e+02_rb,0.41632e+02_rb, & & 0.41461e+02_rb,0.39554e+02_rb,0.35117e+02_rb,0.34172e+02_rb /) kao(:, 5,12,12) = (/ & & 0.32710e+02_rb,0.33867e+02_rb,0.37489e+02_rb,0.40112e+02_rb,0.41490e+02_rb, & & 0.41392e+02_rb,0.39590e+02_rb,0.35312e+02_rb,0.34501e+02_rb /) kao(:, 1,13,12) = (/ & & 0.30997e+02_rb,0.33431e+02_rb,0.37385e+02_rb,0.39653e+02_rb,0.40610e+02_rb, & & 0.40222e+02_rb,0.38101e+02_rb,0.33638e+02_rb,0.30845e+02_rb /) kao(:, 2,13,12) = (/ & & 0.30492e+02_rb,0.32952e+02_rb,0.37042e+02_rb,0.39451e+02_rb,0.40583e+02_rb, & & 0.40257e+02_rb,0.38272e+02_rb,0.33940e+02_rb,0.31245e+02_rb /) kao(:, 3,13,12) = (/ & & 0.29985e+02_rb,0.32520e+02_rb,0.36699e+02_rb,0.39235e+02_rb,0.40521e+02_rb, & & 0.40274e+02_rb,0.38447e+02_rb,0.34242e+02_rb,0.31622e+02_rb /) kao(:, 4,13,12) = (/ & & 0.29485e+02_rb,0.32102e+02_rb,0.36327e+02_rb,0.39047e+02_rb,0.40416e+02_rb, & & 0.40299e+02_rb,0.38596e+02_rb,0.34522e+02_rb,0.32000e+02_rb /) kao(:, 5,13,12) = (/ & & 0.29016e+02_rb,0.31685e+02_rb,0.35962e+02_rb,0.38852e+02_rb,0.40311e+02_rb, & & 0.40331e+02_rb,0.38749e+02_rb,0.34802e+02_rb,0.32433e+02_rb /) kao(:, 1, 1,13) = (/ & & 0.40414e+02_rb,0.35530e+02_rb,0.30727e+02_rb,0.26813e+02_rb,0.26498e+02_rb, & & 0.27724e+02_rb,0.32451e+02_rb,0.37296e+02_rb,0.40920e+02_rb /) kao(:, 2, 1,13) = (/ & & 0.40378e+02_rb,0.35506e+02_rb,0.30718e+02_rb,0.26787e+02_rb,0.26360e+02_rb, & & 0.27557e+02_rb,0.32109e+02_rb,0.36904e+02_rb,0.40512e+02_rb /) kao(:, 3, 1,13) = (/ & & 0.40288e+02_rb,0.35435e+02_rb,0.30689e+02_rb,0.26758e+02_rb,0.26294e+02_rb, & & 0.27365e+02_rb,0.31721e+02_rb,0.36448e+02_rb,0.40077e+02_rb /) kao(:, 4, 1,13) = (/ & & 0.40152e+02_rb,0.35337e+02_rb,0.30607e+02_rb,0.26666e+02_rb,0.26235e+02_rb, & & 0.27137e+02_rb,0.31350e+02_rb,0.36026e+02_rb,0.39605e+02_rb /) kao(:, 5, 1,13) = (/ & & 0.39996e+02_rb,0.35209e+02_rb,0.30500e+02_rb,0.26544e+02_rb,0.26176e+02_rb, & & 0.26906e+02_rb,0.31054e+02_rb,0.35676e+02_rb,0.39227e+02_rb /) kao(:, 1, 2,13) = (/ & & 0.46201e+02_rb,0.40631e+02_rb,0.35149e+02_rb,0.31004e+02_rb,0.30338e+02_rb, & & 0.30975e+02_rb,0.35648e+02_rb,0.41032e+02_rb,0.45728e+02_rb /) kao(:, 2, 2,13) = (/ & & 0.46189e+02_rb,0.40616e+02_rb,0.35151e+02_rb,0.30920e+02_rb,0.30181e+02_rb, & & 0.30854e+02_rb,0.35321e+02_rb,0.40601e+02_rb,0.45258e+02_rb /) kao(:, 3, 2,13) = (/ & & 0.46107e+02_rb,0.40548e+02_rb,0.35109e+02_rb,0.30814e+02_rb,0.30060e+02_rb, & & 0.30665e+02_rb,0.34964e+02_rb,0.40159e+02_rb,0.44756e+02_rb /) kao(:, 4, 2,13) = (/ & & 0.45964e+02_rb,0.40421e+02_rb,0.35002e+02_rb,0.30664e+02_rb,0.29967e+02_rb, & & 0.30436e+02_rb,0.34636e+02_rb,0.39757e+02_rb,0.44299e+02_rb /) kao(:, 5, 2,13) = (/ & & 0.45779e+02_rb,0.40257e+02_rb,0.34861e+02_rb,0.30500e+02_rb,0.29866e+02_rb, & & 0.30215e+02_rb,0.34343e+02_rb,0.39421e+02_rb,0.43898e+02_rb /) kao(:, 1, 3,13) = (/ & & 0.52493e+02_rb,0.46184e+02_rb,0.39933e+02_rb,0.35707e+02_rb,0.34547e+02_rb, & & 0.34524e+02_rb,0.38680e+02_rb,0.44581e+02_rb,0.50362e+02_rb /) kao(:, 2, 3,13) = (/ & & 0.52499e+02_rb,0.46190e+02_rb,0.39958e+02_rb,0.35613e+02_rb,0.34342e+02_rb, & & 0.34438e+02_rb,0.38422e+02_rb,0.44213e+02_rb,0.49916e+02_rb /) kao(:, 3, 3,13) = (/ & & 0.52430e+02_rb,0.46141e+02_rb,0.39924e+02_rb,0.35477e+02_rb,0.34202e+02_rb, & & 0.34294e+02_rb,0.38128e+02_rb,0.43804e+02_rb,0.49438e+02_rb /) kao(:, 4, 3,13) = (/ & & 0.52296e+02_rb,0.46021e+02_rb,0.39821e+02_rb,0.35288e+02_rb,0.34063e+02_rb, & & 0.34077e+02_rb,0.37857e+02_rb,0.43466e+02_rb,0.49020e+02_rb /) kao(:, 5, 3,13) = (/ & & 0.52087e+02_rb,0.45828e+02_rb,0.39654e+02_rb,0.35060e+02_rb,0.33889e+02_rb, & & 0.33876e+02_rb,0.37613e+02_rb,0.43182e+02_rb,0.48640e+02_rb /) kao(:, 1, 4,13) = (/ & & 0.58998e+02_rb,0.51894e+02_rb,0.44809e+02_rb,0.40767e+02_rb,0.39196e+02_rb, & & 0.38349e+02_rb,0.41490e+02_rb,0.47820e+02_rb,0.54353e+02_rb /) kao(:, 2, 4,13) = (/ & & 0.58998e+02_rb,0.51911e+02_rb,0.44850e+02_rb,0.40692e+02_rb,0.38973e+02_rb, & & 0.38281e+02_rb,0.41275e+02_rb,0.47479e+02_rb,0.53941e+02_rb /) kao(:, 3, 4,13) = (/ & & 0.58946e+02_rb,0.51872e+02_rb,0.44826e+02_rb,0.40545e+02_rb,0.38818e+02_rb, & & 0.38152e+02_rb,0.41007e+02_rb,0.47151e+02_rb,0.53507e+02_rb /) kao(:, 4, 4,13) = (/ & & 0.58797e+02_rb,0.51741e+02_rb,0.44719e+02_rb,0.40328e+02_rb,0.38647e+02_rb, & & 0.37950e+02_rb,0.40768e+02_rb,0.46871e+02_rb,0.53108e+02_rb /) kao(:, 5, 4,13) = (/ & & 0.58578e+02_rb,0.51549e+02_rb,0.44555e+02_rb,0.40074e+02_rb,0.38419e+02_rb, & & 0.37769e+02_rb,0.40542e+02_rb,0.46625e+02_rb,0.52790e+02_rb /) kao(:, 1, 5,13) = (/ & & 0.65454e+02_rb,0.57537e+02_rb,0.49631e+02_rb,0.46171e+02_rb,0.44093e+02_rb, & & 0.42375e+02_rb,0.44216e+02_rb,0.50929e+02_rb,0.58021e+02_rb /) kao(:, 2, 5,13) = (/ & & 0.65480e+02_rb,0.57591e+02_rb,0.49679e+02_rb,0.46047e+02_rb,0.43916e+02_rb, & & 0.42317e+02_rb,0.44023e+02_rb,0.50643e+02_rb,0.57621e+02_rb /) kao(:, 3, 5,13) = (/ & & 0.65404e+02_rb,0.57534e+02_rb,0.49633e+02_rb,0.45875e+02_rb,0.43765e+02_rb, & & 0.42200e+02_rb,0.43791e+02_rb,0.50364e+02_rb,0.57215e+02_rb /) kao(:, 4, 5,13) = (/ & & 0.65236e+02_rb,0.57393e+02_rb,0.49518e+02_rb,0.45648e+02_rb,0.43596e+02_rb, & & 0.42013e+02_rb,0.43533e+02_rb,0.50076e+02_rb,0.56838e+02_rb /) kao(:, 5, 5,13) = (/ & & 0.64960e+02_rb,0.57155e+02_rb,0.49326e+02_rb,0.45390e+02_rb,0.43392e+02_rb, & & 0.41855e+02_rb,0.43285e+02_rb,0.49832e+02_rb,0.56537e+02_rb /) kao(:, 1, 6,13) = (/ & & 0.71553e+02_rb,0.62830e+02_rb,0.54580e+02_rb,0.51897e+02_rb,0.49249e+02_rb, & & 0.46670e+02_rb,0.47221e+02_rb,0.54164e+02_rb,0.61741e+02_rb /) kao(:, 2, 6,13) = (/ & & 0.71559e+02_rb,0.62858e+02_rb,0.54547e+02_rb,0.51727e+02_rb,0.49114e+02_rb, & & 0.46626e+02_rb,0.47093e+02_rb,0.53907e+02_rb,0.61336e+02_rb /) kao(:, 3, 6,13) = (/ & & 0.71474e+02_rb,0.62796e+02_rb,0.54422e+02_rb,0.51491e+02_rb,0.49001e+02_rb, & & 0.46518e+02_rb,0.46873e+02_rb,0.53599e+02_rb,0.60908e+02_rb /) kao(:, 4, 6,13) = (/ & & 0.71253e+02_rb,0.62620e+02_rb,0.54248e+02_rb,0.51208e+02_rb,0.48873e+02_rb, & & 0.46377e+02_rb,0.46595e+02_rb,0.53243e+02_rb,0.60469e+02_rb /) kao(:, 5, 6,13) = (/ & & 0.70931e+02_rb,0.62354e+02_rb,0.53993e+02_rb,0.50888e+02_rb,0.48719e+02_rb, & & 0.46222e+02_rb,0.46318e+02_rb,0.52946e+02_rb,0.60113e+02_rb /) kao(:, 1, 7,13) = (/ & & 0.76995e+02_rb,0.67566e+02_rb,0.59542e+02_rb,0.57607e+02_rb,0.54461e+02_rb, & & 0.51316e+02_rb,0.50984e+02_rb,0.57643e+02_rb,0.65674e+02_rb /) kao(:, 2, 7,13) = (/ & & 0.76958e+02_rb,0.67548e+02_rb,0.59397e+02_rb,0.57376e+02_rb,0.54369e+02_rb, & & 0.51326e+02_rb,0.50889e+02_rb,0.57330e+02_rb,0.65196e+02_rb /) kao(:, 3, 7,13) = (/ & & 0.76815e+02_rb,0.67433e+02_rb,0.59207e+02_rb,0.57127e+02_rb,0.54289e+02_rb, & & 0.51287e+02_rb,0.50622e+02_rb,0.56904e+02_rb,0.64662e+02_rb /) kao(:, 4, 7,13) = (/ & & 0.76535e+02_rb,0.67198e+02_rb,0.58948e+02_rb,0.56779e+02_rb,0.54224e+02_rb, & & 0.51158e+02_rb,0.50286e+02_rb,0.56459e+02_rb,0.64124e+02_rb /) kao(:, 5, 7,13) = (/ & & 0.76156e+02_rb,0.66876e+02_rb,0.58634e+02_rb,0.56401e+02_rb,0.54096e+02_rb, & & 0.50976e+02_rb,0.49973e+02_rb,0.56129e+02_rb,0.63785e+02_rb /) kao(:, 1, 8,13) = (/ & & 0.81421e+02_rb,0.71418e+02_rb,0.64455e+02_rb,0.62977e+02_rb,0.59643e+02_rb, & & 0.56434e+02_rb,0.55164e+02_rb,0.60758e+02_rb,0.69127e+02_rb /) kao(:, 2, 8,13) = (/ & & 0.81348e+02_rb,0.71366e+02_rb,0.64215e+02_rb,0.62779e+02_rb,0.59582e+02_rb, & & 0.56462e+02_rb,0.55001e+02_rb,0.60346e+02_rb,0.68584e+02_rb /) kao(:, 3, 8,13) = (/ & & 0.81121e+02_rb,0.71177e+02_rb,0.63909e+02_rb,0.62467e+02_rb,0.59508e+02_rb, & & 0.56437e+02_rb,0.54668e+02_rb,0.59898e+02_rb,0.68043e+02_rb /) kao(:, 4, 8,13) = (/ & & 0.80795e+02_rb,0.70901e+02_rb,0.63558e+02_rb,0.62070e+02_rb,0.59450e+02_rb, & & 0.56283e+02_rb,0.54317e+02_rb,0.59470e+02_rb,0.67583e+02_rb /) kao(:, 5, 8,13) = (/ & & 0.80315e+02_rb,0.70489e+02_rb,0.63126e+02_rb,0.61649e+02_rb,0.59298e+02_rb, & & 0.56050e+02_rb,0.54007e+02_rb,0.59179e+02_rb,0.67330e+02_rb /) kao(:, 1, 9,13) = (/ & & 0.84526e+02_rb,0.74114e+02_rb,0.69139e+02_rb,0.67766e+02_rb,0.64700e+02_rb, & & 0.61791e+02_rb,0.59295e+02_rb,0.62885e+02_rb,0.71468e+02_rb /) kao(:, 2, 9,13) = (/ & & 0.84370e+02_rb,0.73989e+02_rb,0.68856e+02_rb,0.67565e+02_rb,0.64593e+02_rb, & & 0.61811e+02_rb,0.59181e+02_rb,0.62666e+02_rb,0.71181e+02_rb /) kao(:, 3, 9,13) = (/ & & 0.84053e+02_rb,0.73721e+02_rb,0.68457e+02_rb,0.67233e+02_rb,0.64524e+02_rb, & & 0.61778e+02_rb,0.58870e+02_rb,0.62384e+02_rb,0.70849e+02_rb /) kao(:, 4, 9,13) = (/ & & 0.83638e+02_rb,0.73367e+02_rb,0.67980e+02_rb,0.66820e+02_rb,0.64408e+02_rb, & & 0.61582e+02_rb,0.58561e+02_rb,0.62049e+02_rb,0.70550e+02_rb /) kao(:, 5, 9,13) = (/ & & 0.83125e+02_rb,0.72897e+02_rb,0.67415e+02_rb,0.66418e+02_rb,0.64238e+02_rb, & & 0.61304e+02_rb,0.58306e+02_rb,0.61805e+02_rb,0.70366e+02_rb /) kao(:, 1,10,13) = (/ & & 0.86099e+02_rb,0.75664e+02_rb,0.73052e+02_rb,0.71784e+02_rb,0.69581e+02_rb, & & 0.67013e+02_rb,0.63079e+02_rb,0.64019e+02_rb,0.72668e+02_rb /) kao(:, 2,10,13) = (/ & & 0.85793e+02_rb,0.75364e+02_rb,0.72621e+02_rb,0.71506e+02_rb,0.69364e+02_rb, & & 0.66992e+02_rb,0.63098e+02_rb,0.64105e+02_rb,0.72738e+02_rb /) kao(:, 3,10,13) = (/ & & 0.85391e+02_rb,0.74983e+02_rb,0.72119e+02_rb,0.71136e+02_rb,0.69201e+02_rb, & & 0.66897e+02_rb,0.62939e+02_rb,0.63964e+02_rb,0.72620e+02_rb /) kao(:, 4,10,13) = (/ & & 0.84829e+02_rb,0.74472e+02_rb,0.71563e+02_rb,0.70768e+02_rb,0.69027e+02_rb, & & 0.66600e+02_rb,0.62760e+02_rb,0.63750e+02_rb,0.72497e+02_rb /) kao(:, 5,10,13) = (/ & & 0.84210e+02_rb,0.73923e+02_rb,0.70963e+02_rb,0.70409e+02_rb,0.68788e+02_rb, & & 0.66285e+02_rb,0.62604e+02_rb,0.63643e+02_rb,0.72460e+02_rb /) kao(:, 1,11,13) = (/ & & 0.85661e+02_rb,0.75976e+02_rb,0.75616e+02_rb,0.74895e+02_rb,0.73796e+02_rb, & & 0.71450e+02_rb,0.66595e+02_rb,0.64723e+02_rb,0.72988e+02_rb /) kao(:, 2,11,13) = (/ & & 0.85212e+02_rb,0.75487e+02_rb,0.75133e+02_rb,0.74528e+02_rb,0.73552e+02_rb, & & 0.71413e+02_rb,0.66688e+02_rb,0.64835e+02_rb,0.73147e+02_rb /) kao(:, 3,11,13) = (/ & & 0.84633e+02_rb,0.74907e+02_rb,0.74581e+02_rb,0.74183e+02_rb,0.73356e+02_rb, & & 0.71194e+02_rb,0.66687e+02_rb,0.64831e+02_rb,0.73292e+02_rb /) kao(:, 4,11,13) = (/ & & 0.83975e+02_rb,0.74286e+02_rb,0.73943e+02_rb,0.73830e+02_rb,0.73088e+02_rb, & & 0.70916e+02_rb,0.66610e+02_rb,0.64920e+02_rb,0.73470e+02_rb /) kao(:, 5,11,13) = (/ & & 0.83246e+02_rb,0.73605e+02_rb,0.73209e+02_rb,0.73386e+02_rb,0.72735e+02_rb, & & 0.70587e+02_rb,0.66523e+02_rb,0.64950e+02_rb,0.73537e+02_rb /) kao(:, 1,12,13) = (/ & & 0.83352e+02_rb,0.75282e+02_rb,0.76925e+02_rb,0.77365e+02_rb,0.77206e+02_rb, & & 0.74850e+02_rb,0.69716e+02_rb,0.65048e+02_rb,0.72181e+02_rb /) kao(:, 2,12,13) = (/ & & 0.82736e+02_rb,0.74597e+02_rb,0.76403e+02_rb,0.76949e+02_rb,0.76971e+02_rb, & & 0.74863e+02_rb,0.69929e+02_rb,0.65330e+02_rb,0.72664e+02_rb /) kao(:, 3,12,13) = (/ & & 0.82054e+02_rb,0.73916e+02_rb,0.75743e+02_rb,0.76528e+02_rb,0.76666e+02_rb, & & 0.74738e+02_rb,0.70022e+02_rb,0.65629e+02_rb,0.73075e+02_rb /) kao(:, 4,12,13) = (/ & & 0.81316e+02_rb,0.73173e+02_rb,0.75030e+02_rb,0.76061e+02_rb,0.76286e+02_rb, & & 0.74512e+02_rb,0.70083e+02_rb,0.65825e+02_rb,0.73345e+02_rb /) kao(:, 5,12,13) = (/ & & 0.80516e+02_rb,0.72378e+02_rb,0.74331e+02_rb,0.75554e+02_rb,0.75785e+02_rb, & & 0.74233e+02_rb,0.70124e+02_rb,0.65929e+02_rb,0.73501e+02_rb /) kao(:, 1,13,13) = (/ & & 0.79408e+02_rb,0.73858e+02_rb,0.76980e+02_rb,0.78869e+02_rb,0.79397e+02_rb, & & 0.77263e+02_rb,0.72263e+02_rb,0.65338e+02_rb,0.70604e+02_rb /) kao(:, 2,13,13) = (/ & & 0.78716e+02_rb,0.73093e+02_rb,0.76326e+02_rb,0.78426e+02_rb,0.79146e+02_rb, & & 0.77408e+02_rb,0.72561e+02_rb,0.65807e+02_rb,0.71230e+02_rb /) kao(:, 3,13,13) = (/ & & 0.77962e+02_rb,0.72251e+02_rb,0.75686e+02_rb,0.77926e+02_rb,0.78867e+02_rb, & & 0.77356e+02_rb,0.72810e+02_rb,0.66137e+02_rb,0.71698e+02_rb /) kao(:, 4,13,13) = (/ & & 0.77177e+02_rb,0.71385e+02_rb,0.75042e+02_rb,0.77408e+02_rb,0.78464e+02_rb, & & 0.77172e+02_rb,0.73006e+02_rb,0.66333e+02_rb,0.72067e+02_rb /) kao(:, 5,13,13) = (/ & & 0.76340e+02_rb,0.70519e+02_rb,0.74355e+02_rb,0.76889e+02_rb,0.78015e+02_rb, & & 0.76988e+02_rb,0.73079e+02_rb,0.66485e+02_rb,0.72407e+02_rb /) kao(:, 1, 1,14) = (/ & & 0.51404e+02_rb,0.45212e+02_rb,0.39078e+02_rb,0.32978e+02_rb,0.31213e+02_rb, & & 0.35689e+02_rb,0.42239e+02_rb,0.49109e+02_rb,0.53555e+02_rb /) kao(:, 2, 1,14) = (/ & & 0.51456e+02_rb,0.45263e+02_rb,0.39085e+02_rb,0.32975e+02_rb,0.31034e+02_rb, & & 0.35237e+02_rb,0.41756e+02_rb,0.48531e+02_rb,0.52877e+02_rb /) kao(:, 3, 1,14) = (/ & & 0.51419e+02_rb,0.45226e+02_rb,0.39013e+02_rb,0.32932e+02_rb,0.30826e+02_rb, & & 0.34871e+02_rb,0.41372e+02_rb,0.48070e+02_rb,0.52319e+02_rb /) kao(:, 4, 1,14) = (/ & & 0.51315e+02_rb,0.45122e+02_rb,0.38925e+02_rb,0.32886e+02_rb,0.30643e+02_rb, & & 0.34565e+02_rb,0.41054e+02_rb,0.47690e+02_rb,0.51853e+02_rb /) kao(:, 5, 1,14) = (/ & & 0.51134e+02_rb,0.44958e+02_rb,0.38787e+02_rb,0.32819e+02_rb,0.30476e+02_rb, & & 0.34330e+02_rb,0.40799e+02_rb,0.47384e+02_rb,0.51513e+02_rb /) kao(:, 1, 2,14) = (/ & & 0.59575e+02_rb,0.52343e+02_rb,0.45168e+02_rb,0.38156e+02_rb,0.36549e+02_rb, & & 0.40798e+02_rb,0.48433e+02_rb,0.56320e+02_rb,0.62499e+02_rb /) kao(:, 2, 2,14) = (/ & & 0.59656e+02_rb,0.52415e+02_rb,0.45196e+02_rb,0.38159e+02_rb,0.36356e+02_rb, & & 0.40232e+02_rb,0.47806e+02_rb,0.55603e+02_rb,0.61692e+02_rb /) kao(:, 3, 2,14) = (/ & & 0.59635e+02_rb,0.52395e+02_rb,0.45146e+02_rb,0.38116e+02_rb,0.36139e+02_rb, & & 0.39805e+02_rb,0.47339e+02_rb,0.55046e+02_rb,0.61068e+02_rb /) kao(:, 4, 2,14) = (/ & & 0.59522e+02_rb,0.52285e+02_rb,0.45051e+02_rb,0.38066e+02_rb,0.35889e+02_rb, & & 0.39470e+02_rb,0.46981e+02_rb,0.54621e+02_rb,0.60592e+02_rb /) kao(:, 5, 2,14) = (/ & & 0.59307e+02_rb,0.52094e+02_rb,0.44889e+02_rb,0.37960e+02_rb,0.35677e+02_rb, & & 0.39216e+02_rb,0.46687e+02_rb,0.54268e+02_rb,0.60193e+02_rb /) kao(:, 1, 3,14) = (/ & & 0.68809e+02_rb,0.60397e+02_rb,0.52025e+02_rb,0.44161e+02_rb,0.42701e+02_rb, & & 0.46667e+02_rb,0.55520e+02_rb,0.64493e+02_rb,0.72669e+02_rb /) kao(:, 2, 3,14) = (/ & & 0.68924e+02_rb,0.60499e+02_rb,0.52098e+02_rb,0.44133e+02_rb,0.42521e+02_rb, & & 0.45966e+02_rb,0.54732e+02_rb,0.63594e+02_rb,0.71705e+02_rb /) kao(:, 3, 3,14) = (/ & & 0.68950e+02_rb,0.60531e+02_rb,0.52101e+02_rb,0.44100e+02_rb,0.42285e+02_rb, & & 0.45418e+02_rb,0.54095e+02_rb,0.62883e+02_rb,0.70919e+02_rb /) kao(:, 4, 3,14) = (/ & & 0.68857e+02_rb,0.60434e+02_rb,0.52014e+02_rb,0.44041e+02_rb,0.42031e+02_rb, & & 0.45005e+02_rb,0.53564e+02_rb,0.62291e+02_rb,0.70247e+02_rb /) kao(:, 5, 3,14) = (/ & & 0.68666e+02_rb,0.60265e+02_rb,0.51871e+02_rb,0.43942e+02_rb,0.41842e+02_rb, & & 0.44690e+02_rb,0.53134e+02_rb,0.61806e+02_rb,0.69686e+02_rb /) kao(:, 1, 4,14) = (/ & & 0.79311e+02_rb,0.69561e+02_rb,0.59881e+02_rb,0.51276e+02_rb,0.49761e+02_rb, & & 0.53193e+02_rb,0.63396e+02_rb,0.73656e+02_rb,0.83652e+02_rb /) kao(:, 2, 4,14) = (/ & & 0.79511e+02_rb,0.69736e+02_rb,0.60019e+02_rb,0.51173e+02_rb,0.49594e+02_rb, & & 0.52466e+02_rb,0.62461e+02_rb,0.72578e+02_rb,0.82426e+02_rb /) kao(:, 3, 4,14) = (/ & & 0.79562e+02_rb,0.69789e+02_rb,0.60043e+02_rb,0.51075e+02_rb,0.49346e+02_rb, & & 0.51847e+02_rb,0.61639e+02_rb,0.71632e+02_rb,0.81369e+02_rb /) kao(:, 4, 4,14) = (/ & & 0.79512e+02_rb,0.69733e+02_rb,0.59989e+02_rb,0.50979e+02_rb,0.49088e+02_rb, & & 0.51360e+02_rb,0.60947e+02_rb,0.70836e+02_rb,0.80468e+02_rb /) kao(:, 5, 4,14) = (/ & & 0.79325e+02_rb,0.69569e+02_rb,0.59854e+02_rb,0.50871e+02_rb,0.48882e+02_rb, & & 0.50991e+02_rb,0.60362e+02_rb,0.70161e+02_rb,0.79701e+02_rb /) kao(:, 1, 5,14) = (/ & & 0.91112e+02_rb,0.79892e+02_rb,0.68781e+02_rb,0.59496e+02_rb,0.57988e+02_rb, & & 0.60415e+02_rb,0.71595e+02_rb,0.83227e+02_rb,0.94854e+02_rb /) kao(:, 2, 5,14) = (/ & & 0.91447e+02_rb,0.80173e+02_rb,0.69023e+02_rb,0.59416e+02_rb,0.57743e+02_rb, & & 0.59673e+02_rb,0.70483e+02_rb,0.81942e+02_rb,0.93394e+02_rb /) kao(:, 3, 5,14) = (/ & & 0.91583e+02_rb,0.80288e+02_rb,0.69106e+02_rb,0.59276e+02_rb,0.57416e+02_rb, & & 0.59035e+02_rb,0.69528e+02_rb,0.80829e+02_rb,0.92131e+02_rb /) kao(:, 4, 5,14) = (/ & & 0.91566e+02_rb,0.80257e+02_rb,0.69073e+02_rb,0.59136e+02_rb,0.57092e+02_rb, & & 0.58527e+02_rb,0.68724e+02_rb,0.79885e+02_rb,0.91053e+02_rb /) kao(:, 5, 5,14) = (/ & & 0.91390e+02_rb,0.80104e+02_rb,0.68937e+02_rb,0.58973e+02_rb,0.56776e+02_rb, & & 0.58107e+02_rb,0.68079e+02_rb,0.79072e+02_rb,0.90122e+02_rb /) kao(:, 1, 6,14) = (/ & & 0.10419e+03_rb,0.91394e+02_rb,0.78656e+02_rb,0.68916e+02_rb,0.67128e+02_rb, & & 0.68461e+02_rb,0.79894e+02_rb,0.92926e+02_rb,0.10607e+03_rb /) kao(:, 2, 6,14) = (/ & & 0.10463e+03_rb,0.91782e+02_rb,0.79002e+02_rb,0.68819e+02_rb,0.66845e+02_rb, & & 0.67738e+02_rb,0.78628e+02_rb,0.91458e+02_rb,0.10440e+03_rb /) kao(:, 3, 6,14) = (/ & & 0.10486e+03_rb,0.91970e+02_rb,0.79156e+02_rb,0.68698e+02_rb,0.66470e+02_rb, & & 0.67066e+02_rb,0.77628e+02_rb,0.90242e+02_rb,0.10302e+03_rb /) kao(:, 4, 6,14) = (/ & & 0.10494e+03_rb,0.92025e+02_rb,0.79207e+02_rb,0.68555e+02_rb,0.66081e+02_rb, & & 0.66543e+02_rb,0.76843e+02_rb,0.89253e+02_rb,0.10189e+03_rb /) kao(:, 5, 6,14) = (/ & & 0.10481e+03_rb,0.91892e+02_rb,0.79105e+02_rb,0.68344e+02_rb,0.65668e+02_rb, & & 0.66109e+02_rb,0.76190e+02_rb,0.88386e+02_rb,0.10090e+03_rb /) kao(:, 1, 7,14) = (/ & & 0.11850e+03_rb,0.10394e+03_rb,0.89423e+02_rb,0.79509e+02_rb,0.77207e+02_rb, & & 0.77196e+02_rb,0.87943e+02_rb,0.10236e+03_rb,0.11694e+03_rb /) kao(:, 2, 7,14) = (/ & & 0.11905e+03_rb,0.10443e+03_rb,0.89864e+02_rb,0.79528e+02_rb,0.76905e+02_rb, & & 0.76494e+02_rb,0.86650e+02_rb,0.10078e+03_rb,0.11515e+03_rb /) kao(:, 3, 7,14) = (/ & & 0.11939e+03_rb,0.10473e+03_rb,0.90115e+02_rb,0.79401e+02_rb,0.76523e+02_rb, & & 0.75853e+02_rb,0.85715e+02_rb,0.99595e+02_rb,0.11380e+03_rb /) kao(:, 4, 7,14) = (/ & & 0.11951e+03_rb,0.10484e+03_rb,0.90222e+02_rb,0.79220e+02_rb,0.76090e+02_rb, & & 0.75405e+02_rb,0.85022e+02_rb,0.98653e+02_rb,0.11271e+03_rb /) kao(:, 5, 7,14) = (/ & & 0.11942e+03_rb,0.10476e+03_rb,0.90169e+02_rb,0.78976e+02_rb,0.75607e+02_rb, & & 0.75018e+02_rb,0.84352e+02_rb,0.97783e+02_rb,0.11167e+03_rb /) kao(:, 1, 8,14) = (/ & & 0.13381e+03_rb,0.11735e+03_rb,0.10095e+03_rb,0.91226e+02_rb,0.88188e+02_rb, & & 0.86379e+02_rb,0.95828e+02_rb,0.11155e+03_rb,0.12755e+03_rb /) kao(:, 2, 8,14) = (/ & & 0.13446e+03_rb,0.11794e+03_rb,0.10145e+03_rb,0.91271e+02_rb,0.87947e+02_rb, & & 0.85766e+02_rb,0.94652e+02_rb,0.11006e+03_rb,0.12583e+03_rb /) kao(:, 3, 8,14) = (/ & & 0.13492e+03_rb,0.11834e+03_rb,0.10180e+03_rb,0.91233e+02_rb,0.87619e+02_rb, & & 0.85228e+02_rb,0.93811e+02_rb,0.10892e+03_rb,0.12452e+03_rb /) kao(:, 4, 8,14) = (/ & & 0.13505e+03_rb,0.11846e+03_rb,0.10192e+03_rb,0.91090e+02_rb,0.87150e+02_rb, & & 0.84887e+02_rb,0.93111e+02_rb,0.10797e+03_rb,0.12337e+03_rb /) kao(:, 5, 8,14) = (/ & & 0.13500e+03_rb,0.11844e+03_rb,0.10192e+03_rb,0.90797e+02_rb,0.86626e+02_rb, & & 0.84570e+02_rb,0.92421e+02_rb,0.10710e+03_rb,0.12226e+03_rb /) kao(:, 1, 9,14) = (/ & & 0.14952e+03_rb,0.13110e+03_rb,0.11316e+03_rb,0.10410e+03_rb,0.99927e+02_rb, & & 0.96074e+02_rb,0.10374e+03_rb,0.12067e+03_rb,0.13801e+03_rb /) kao(:, 2, 9,14) = (/ & & 0.15028e+03_rb,0.13179e+03_rb,0.11360e+03_rb,0.10415e+03_rb,0.99870e+02_rb, & & 0.95589e+02_rb,0.10257e+03_rb,0.11912e+03_rb,0.13623e+03_rb /) kao(:, 3, 9,14) = (/ & & 0.15082e+03_rb,0.13227e+03_rb,0.11392e+03_rb,0.10405e+03_rb,0.99571e+02_rb, & & 0.95189e+02_rb,0.10182e+03_rb,0.11803e+03_rb,0.13496e+03_rb /) kao(:, 4, 9,14) = (/ & & 0.15103e+03_rb,0.13247e+03_rb,0.11403e+03_rb,0.10385e+03_rb,0.99126e+02_rb, & & 0.94980e+02_rb,0.10122e+03_rb,0.11720e+03_rb,0.13388e+03_rb /) kao(:, 5, 9,14) = (/ & & 0.15094e+03_rb,0.13245e+03_rb,0.11401e+03_rb,0.10348e+03_rb,0.98550e+02_rb, & & 0.94746e+02_rb,0.10055e+03_rb,0.11636e+03_rb,0.13276e+03_rb /) kao(:, 1,10,14) = (/ & & 0.16524e+03_rb,0.14486e+03_rb,0.12594e+03_rb,0.11785e+03_rb,0.11225e+03_rb, & & 0.10654e+03_rb,0.11202e+03_rb,0.12965e+03_rb,0.14829e+03_rb /) kao(:, 2,10,14) = (/ & & 0.16610e+03_rb,0.14564e+03_rb,0.12636e+03_rb,0.11787e+03_rb,0.11233e+03_rb, & & 0.10630e+03_rb,0.11093e+03_rb,0.12811e+03_rb,0.14653e+03_rb /) kao(:, 3,10,14) = (/ & & 0.16659e+03_rb,0.14608e+03_rb,0.12656e+03_rb,0.11769e+03_rb,0.11214e+03_rb, & & 0.10609e+03_rb,0.11032e+03_rb,0.12713e+03_rb,0.14532e+03_rb /) kao(:, 4,10,14) = (/ & & 0.16681e+03_rb,0.14630e+03_rb,0.12659e+03_rb,0.11736e+03_rb,0.11169e+03_rb, & & 0.10597e+03_rb,0.10973e+03_rb,0.12629e+03_rb,0.14416e+03_rb /) kao(:, 5,10,14) = (/ & & 0.16671e+03_rb,0.14623e+03_rb,0.12639e+03_rb,0.11688e+03_rb,0.11111e+03_rb, & & 0.10576e+03_rb,0.10909e+03_rb,0.12542e+03_rb,0.14303e+03_rb /) kao(:, 1,11,14) = (/ & & 0.18065e+03_rb,0.15832e+03_rb,0.13903e+03_rb,0.13201e+03_rb,0.12519e+03_rb, & & 0.11820e+03_rb,0.12047e+03_rb,0.13760e+03_rb,0.15739e+03_rb /) kao(:, 2,11,14) = (/ & & 0.18131e+03_rb,0.15893e+03_rb,0.13916e+03_rb,0.13183e+03_rb,0.12520e+03_rb, & & 0.11800e+03_rb,0.11979e+03_rb,0.13660e+03_rb,0.15612e+03_rb /) kao(:, 3,11,14) = (/ & & 0.18162e+03_rb,0.15925e+03_rb,0.13912e+03_rb,0.13145e+03_rb,0.12487e+03_rb, & & 0.11789e+03_rb,0.11922e+03_rb,0.13566e+03_rb,0.15481e+03_rb /) kao(:, 4,11,14) = (/ & & 0.18161e+03_rb,0.15927e+03_rb,0.13888e+03_rb,0.13091e+03_rb,0.12432e+03_rb, & & 0.11770e+03_rb,0.11858e+03_rb,0.13462e+03_rb,0.15350e+03_rb /) kao(:, 5,11,14) = (/ & & 0.18129e+03_rb,0.15901e+03_rb,0.13849e+03_rb,0.13027e+03_rb,0.12371e+03_rb, & & 0.11738e+03_rb,0.11800e+03_rb,0.13378e+03_rb,0.15248e+03_rb /) kao(:, 1,12,14) = (/ & & 0.19439e+03_rb,0.17031e+03_rb,0.15181e+03_rb,0.14577e+03_rb,0.13828e+03_rb, & & 0.13070e+03_rb,0.12972e+03_rb,0.14546e+03_rb,0.16618e+03_rb /) kao(:, 2,12,14) = (/ & & 0.19483e+03_rb,0.17073e+03_rb,0.15156e+03_rb,0.14543e+03_rb,0.13812e+03_rb, & & 0.13043e+03_rb,0.12913e+03_rb,0.14443e+03_rb,0.16476e+03_rb /) kao(:, 3,12,14) = (/ & & 0.19494e+03_rb,0.17087e+03_rb,0.15124e+03_rb,0.14493e+03_rb,0.13771e+03_rb, & & 0.13020e+03_rb,0.12847e+03_rb,0.14330e+03_rb,0.16335e+03_rb /) kao(:, 4,12,14) = (/ & & 0.19474e+03_rb,0.17073e+03_rb,0.15078e+03_rb,0.14425e+03_rb,0.13718e+03_rb, & & 0.12986e+03_rb,0.12779e+03_rb,0.14240e+03_rb,0.16229e+03_rb /) kao(:, 5,12,14) = (/ & & 0.19420e+03_rb,0.17029e+03_rb,0.15011e+03_rb,0.14337e+03_rb,0.13666e+03_rb, & & 0.12942e+03_rb,0.12725e+03_rb,0.14171e+03_rb,0.16147e+03_rb /) kao(:, 1,13,14) = (/ & & 0.20562e+03_rb,0.18014e+03_rb,0.16395e+03_rb,0.15885e+03_rb,0.15131e+03_rb, & & 0.14344e+03_rb,0.13928e+03_rb,0.15201e+03_rb,0.17336e+03_rb /) kao(:, 2,13,14) = (/ & & 0.20583e+03_rb,0.18034e+03_rb,0.16346e+03_rb,0.15844e+03_rb,0.15102e+03_rb, & & 0.14310e+03_rb,0.13867e+03_rb,0.15101e+03_rb,0.17210e+03_rb /) kao(:, 3,13,14) = (/ & & 0.20579e+03_rb,0.18034e+03_rb,0.16282e+03_rb,0.15782e+03_rb,0.15051e+03_rb, & & 0.14271e+03_rb,0.13803e+03_rb,0.15026e+03_rb,0.17119e+03_rb /) kao(:, 4,13,14) = (/ & & 0.20539e+03_rb,0.18002e+03_rb,0.16199e+03_rb,0.15696e+03_rb,0.15005e+03_rb, & & 0.14226e+03_rb,0.13746e+03_rb,0.14977e+03_rb,0.17061e+03_rb /) kao(:, 5,13,14) = (/ & & 0.20471e+03_rb,0.17946e+03_rb,0.16101e+03_rb,0.15580e+03_rb,0.14942e+03_rb, & & 0.14163e+03_rb,0.13685e+03_rb,0.14922e+03_rb,0.16998e+03_rb /) kao(:, 1, 1,15) = (/ & & 0.61110e+02_rb,0.53539e+02_rb,0.46005e+02_rb,0.38902e+02_rb,0.35970e+02_rb, & & 0.43986e+02_rb,0.52608e+02_rb,0.61157e+02_rb,0.65911e+02_rb /) kao(:, 2, 1,15) = (/ & & 0.61315e+02_rb,0.53717e+02_rb,0.46235e+02_rb,0.39083e+02_rb,0.35687e+02_rb, & & 0.43381e+02_rb,0.51871e+02_rb,0.60290e+02_rb,0.64963e+02_rb /) kao(:, 3, 1,15) = (/ & & 0.61422e+02_rb,0.53821e+02_rb,0.46411e+02_rb,0.39188e+02_rb,0.35438e+02_rb, & & 0.42839e+02_rb,0.51205e+02_rb,0.59514e+02_rb,0.64157e+02_rb /) kao(:, 4, 1,15) = (/ & & 0.61394e+02_rb,0.53877e+02_rb,0.46504e+02_rb,0.39222e+02_rb,0.35189e+02_rb, & & 0.42365e+02_rb,0.50625e+02_rb,0.58813e+02_rb,0.63464e+02_rb /) kao(:, 5, 1,15) = (/ & & 0.61322e+02_rb,0.53865e+02_rb,0.46511e+02_rb,0.39177e+02_rb,0.34939e+02_rb, & & 0.41926e+02_rb,0.50070e+02_rb,0.58152e+02_rb,0.62761e+02_rb /) kao(:, 1, 2,15) = (/ & & 0.73139e+02_rb,0.64054e+02_rb,0.54971e+02_rb,0.46172e+02_rb,0.42554e+02_rb, & & 0.52369e+02_rb,0.62683e+02_rb,0.72904e+02_rb,0.80226e+02_rb /) kao(:, 2, 2,15) = (/ & & 0.73363e+02_rb,0.64250e+02_rb,0.55203e+02_rb,0.46423e+02_rb,0.42168e+02_rb, & & 0.51668e+02_rb,0.61839e+02_rb,0.71917e+02_rb,0.79110e+02_rb /) kao(:, 3, 2,15) = (/ & & 0.73487e+02_rb,0.64383e+02_rb,0.55429e+02_rb,0.46632e+02_rb,0.41828e+02_rb, & & 0.50986e+02_rb,0.61016e+02_rb,0.70950e+02_rb,0.78048e+02_rb /) kao(:, 4, 2,15) = (/ & & 0.73536e+02_rb,0.64501e+02_rb,0.55558e+02_rb,0.46729e+02_rb,0.41557e+02_rb, & & 0.50314e+02_rb,0.60204e+02_rb,0.70005e+02_rb,0.77009e+02_rb /) kao(:, 5, 2,15) = (/ & & 0.73500e+02_rb,0.64509e+02_rb,0.55582e+02_rb,0.46709e+02_rb,0.41283e+02_rb, & & 0.49695e+02_rb,0.59450e+02_rb,0.69119e+02_rb,0.76024e+02_rb /) kao(:, 1, 3,15) = (/ & & 0.87361e+02_rb,0.76491e+02_rb,0.65621e+02_rb,0.54890e+02_rb,0.50598e+02_rb, & & 0.62297e+02_rb,0.74612e+02_rb,0.86825e+02_rb,0.97550e+02_rb /) kao(:, 2, 3,15) = (/ & & 0.87685e+02_rb,0.76774e+02_rb,0.65885e+02_rb,0.55188e+02_rb,0.50206e+02_rb, & & 0.61585e+02_rb,0.73754e+02_rb,0.85807e+02_rb,0.96409e+02_rb /) kao(:, 3, 3,15) = (/ & & 0.87844e+02_rb,0.76919e+02_rb,0.66106e+02_rb,0.55413e+02_rb,0.49812e+02_rb, & & 0.60785e+02_rb,0.72789e+02_rb,0.84689e+02_rb,0.95141e+02_rb /) kao(:, 4, 3,15) = (/ & & 0.87889e+02_rb,0.77037e+02_rb,0.66247e+02_rb,0.55541e+02_rb,0.49446e+02_rb, & & 0.60010e+02_rb,0.71857e+02_rb,0.83593e+02_rb,0.93898e+02_rb /) kao(:, 5, 3,15) = (/ & & 0.87858e+02_rb,0.77051e+02_rb,0.66285e+02_rb,0.55583e+02_rb,0.49097e+02_rb, & & 0.59241e+02_rb,0.70929e+02_rb,0.82513e+02_rb,0.92686e+02_rb /) kao(:, 1, 4,15) = (/ & & 0.10387e+03_rb,0.90929e+02_rb,0.77989e+02_rb,0.65095e+02_rb,0.60436e+02_rb, & & 0.74039e+02_rb,0.88717e+02_rb,0.10327e+03_rb,0.11725e+03_rb /) kao(:, 2, 4,15) = (/ & & 0.10441e+03_rb,0.91405e+02_rb,0.78408e+02_rb,0.65545e+02_rb,0.59926e+02_rb, & & 0.73070e+02_rb,0.87549e+02_rb,0.10190e+03_rb,0.11570e+03_rb /) kao(:, 3, 4,15) = (/ & & 0.10471e+03_rb,0.91680e+02_rb,0.78722e+02_rb,0.65845e+02_rb,0.59509e+02_rb, & & 0.72264e+02_rb,0.86581e+02_rb,0.10076e+03_rb,0.11440e+03_rb /) kao(:, 4, 4,15) = (/ & & 0.10486e+03_rb,0.91873e+02_rb,0.78926e+02_rb,0.66032e+02_rb,0.59086e+02_rb, & & 0.71381e+02_rb,0.85514e+02_rb,0.99526e+02_rb,0.11299e+03_rb /) kao(:, 5, 4,15) = (/ & & 0.10483e+03_rb,0.91879e+02_rb,0.78952e+02_rb,0.66063e+02_rb,0.58651e+02_rb, & & 0.70432e+02_rb,0.84377e+02_rb,0.98185e+02_rb,0.11148e+03_rb /) kao(:, 1, 5,15) = (/ & & 0.12314e+03_rb,0.10778e+03_rb,0.92429e+02_rb,0.77074e+02_rb,0.72086e+02_rb, & & 0.87688e+02_rb,0.10511e+03_rb,0.12238e+03_rb,0.13959e+03_rb /) kao(:, 2, 5,15) = (/ & & 0.12380e+03_rb,0.10836e+03_rb,0.92922e+02_rb,0.77571e+02_rb,0.71572e+02_rb, & & 0.86586e+02_rb,0.10378e+03_rb,0.12082e+03_rb,0.13782e+03_rb /) kao(:, 3, 5,15) = (/ & & 0.12423e+03_rb,0.10877e+03_rb,0.93351e+02_rb,0.77983e+02_rb,0.71097e+02_rb, & & 0.85507e+02_rb,0.10249e+03_rb,0.11931e+03_rb,0.13609e+03_rb /) kao(:, 4, 5,15) = (/ & & 0.12450e+03_rb,0.10905e+03_rb,0.93631e+02_rb,0.78238e+02_rb,0.70653e+02_rb, & & 0.84488e+02_rb,0.10126e+03_rb,0.11788e+03_rb,0.13445e+03_rb /) kao(:, 5, 5,15) = (/ & & 0.12453e+03_rb,0.10910e+03_rb,0.93684e+02_rb,0.78289e+02_rb,0.70179e+02_rb, & & 0.83403e+02_rb,0.99954e+02_rb,0.11636e+03_rb,0.13271e+03_rb /) kao(:, 1, 6,15) = (/ & & 0.14538e+03_rb,0.12724e+03_rb,0.10910e+03_rb,0.90962e+02_rb,0.85931e+02_rb, & & 0.10354e+03_rb,0.12413e+03_rb,0.14456e+03_rb,0.16524e+03_rb /) kao(:, 2, 6,15) = (/ & & 0.14625e+03_rb,0.12800e+03_rb,0.10975e+03_rb,0.91547e+02_rb,0.85303e+02_rb, & & 0.10223e+03_rb,0.12256e+03_rb,0.14271e+03_rb,0.16313e+03_rb /) kao(:, 3, 6,15) = (/ & & 0.14683e+03_rb,0.12855e+03_rb,0.11028e+03_rb,0.92053e+02_rb,0.84796e+02_rb, & & 0.10095e+03_rb,0.12102e+03_rb,0.14092e+03_rb,0.16108e+03_rb /) kao(:, 4, 6,15) = (/ & & 0.14716e+03_rb,0.12887e+03_rb,0.11059e+03_rb,0.92330e+02_rb,0.84296e+02_rb, & & 0.99657e+02_rb,0.11947e+03_rb,0.13910e+03_rb,0.15900e+03_rb /) kao(:, 5, 6,15) = (/ & & 0.14726e+03_rb,0.12897e+03_rb,0.11069e+03_rb,0.92414e+02_rb,0.83857e+02_rb, & & 0.98384e+02_rb,0.11794e+03_rb,0.13732e+03_rb,0.15696e+03_rb /) kao(:, 1, 7,15) = (/ & & 0.17053e+03_rb,0.14925e+03_rb,0.12796e+03_rb,0.10716e+03_rb,0.10213e+03_rb, & & 0.12188e+03_rb,0.14615e+03_rb,0.17020e+03_rb,0.19480e+03_rb /) kao(:, 2, 7,15) = (/ & & 0.17172e+03_rb,0.15029e+03_rb,0.12885e+03_rb,0.10758e+03_rb,0.10144e+03_rb, & & 0.12029e+03_rb,0.14423e+03_rb,0.16798e+03_rb,0.19224e+03_rb /) kao(:, 3, 7,15) = (/ & & 0.17251e+03_rb,0.15103e+03_rb,0.12955e+03_rb,0.10811e+03_rb,0.10086e+03_rb, & & 0.11869e+03_rb,0.14231e+03_rb,0.16572e+03_rb,0.18967e+03_rb /) kao(:, 4, 7,15) = (/ & & 0.17303e+03_rb,0.15150e+03_rb,0.12997e+03_rb,0.10845e+03_rb,0.10032e+03_rb, & & 0.11701e+03_rb,0.14029e+03_rb,0.16338e+03_rb,0.18697e+03_rb /) kao(:, 5, 7,15) = (/ & & 0.17326e+03_rb,0.15170e+03_rb,0.13015e+03_rb,0.10860e+03_rb,0.99828e+02_rb, & & 0.11540e+03_rb,0.13837e+03_rb,0.16114e+03_rb,0.18440e+03_rb /) kao(:, 1, 8,15) = (/ & & 0.19897e+03_rb,0.17412e+03_rb,0.14927e+03_rb,0.12609e+03_rb,0.12102e+03_rb, & & 0.14307e+03_rb,0.17149e+03_rb,0.19971e+03_rb,0.22868e+03_rb /) kao(:, 2, 8,15) = (/ & & 0.20045e+03_rb,0.17541e+03_rb,0.15039e+03_rb,0.12643e+03_rb,0.12014e+03_rb, & & 0.14095e+03_rb,0.16896e+03_rb,0.19679e+03_rb,0.22532e+03_rb /) kao(:, 3, 8,15) = (/ & & 0.20144e+03_rb,0.17633e+03_rb,0.15122e+03_rb,0.12673e+03_rb,0.11946e+03_rb, & & 0.13885e+03_rb,0.16646e+03_rb,0.19386e+03_rb,0.22200e+03_rb /) kao(:, 4, 8,15) = (/ & & 0.20212e+03_rb,0.17694e+03_rb,0.15175e+03_rb,0.12692e+03_rb,0.11890e+03_rb, & & 0.13670e+03_rb,0.16392e+03_rb,0.19092e+03_rb,0.21864e+03_rb /) kao(:, 5, 8,15) = (/ & & 0.20244e+03_rb,0.17722e+03_rb,0.15200e+03_rb,0.12703e+03_rb,0.11832e+03_rb, & & 0.13474e+03_rb,0.16157e+03_rb,0.18819e+03_rb,0.21551e+03_rb /) kao(:, 1, 9,15) = (/ & & 0.23120e+03_rb,0.20232e+03_rb,0.17344e+03_rb,0.14797e+03_rb,0.14299e+03_rb, & & 0.16694e+03_rb,0.20011e+03_rb,0.23304e+03_rb,0.26690e+03_rb /) kao(:, 2, 9,15) = (/ & & 0.23311e+03_rb,0.20399e+03_rb,0.17488e+03_rb,0.14825e+03_rb,0.14181e+03_rb, & & 0.16424e+03_rb,0.19689e+03_rb,0.22930e+03_rb,0.26259e+03_rb /) kao(:, 3, 9,15) = (/ & & 0.23434e+03_rb,0.20510e+03_rb,0.17587e+03_rb,0.14844e+03_rb,0.14100e+03_rb, & & 0.16150e+03_rb,0.19359e+03_rb,0.22546e+03_rb,0.25821e+03_rb /) kao(:, 4, 9,15) = (/ & & 0.23518e+03_rb,0.20584e+03_rb,0.17651e+03_rb,0.14849e+03_rb,0.14028e+03_rb, & & 0.15873e+03_rb,0.19031e+03_rb,0.22162e+03_rb,0.25383e+03_rb /) kao(:, 5, 9,15) = (/ & & 0.23553e+03_rb,0.20616e+03_rb,0.17678e+03_rb,0.14839e+03_rb,0.13959e+03_rb, & & 0.15626e+03_rb,0.18736e+03_rb,0.21823e+03_rb,0.24993e+03_rb /) kao(:, 1,10,15) = (/ & & 0.26766e+03_rb,0.23422e+03_rb,0.20086e+03_rb,0.17305e+03_rb,0.16820e+03_rb, & & 0.19275e+03_rb,0.23109e+03_rb,0.26916e+03_rb,0.30826e+03_rb /) kao(:, 2,10,15) = (/ & & 0.26991e+03_rb,0.23619e+03_rb,0.20254e+03_rb,0.17334e+03_rb,0.16673e+03_rb, & & 0.18936e+03_rb,0.22702e+03_rb,0.26442e+03_rb,0.30283e+03_rb /) kao(:, 3,10,15) = (/ & & 0.27155e+03_rb,0.23766e+03_rb,0.20381e+03_rb,0.17344e+03_rb,0.16570e+03_rb, & & 0.18588e+03_rb,0.22280e+03_rb,0.25950e+03_rb,0.29719e+03_rb /) kao(:, 4,10,15) = (/ & & 0.27254e+03_rb,0.23853e+03_rb,0.20456e+03_rb,0.17332e+03_rb,0.16480e+03_rb, & & 0.18267e+03_rb,0.21887e+03_rb,0.25495e+03_rb,0.29197e+03_rb /) kao(:, 5,10,15) = (/ & & 0.27304e+03_rb,0.23896e+03_rb,0.20491e+03_rb,0.17301e+03_rb,0.16390e+03_rb, & & 0.17979e+03_rb,0.21534e+03_rb,0.25082e+03_rb,0.28725e+03_rb /) kao(:, 1,11,15) = (/ & & 0.31010e+03_rb,0.27147e+03_rb,0.23291e+03_rb,0.20181e+03_rb,0.19592e+03_rb, & & 0.21861e+03_rb,0.26152e+03_rb,0.30466e+03_rb,0.34889e+03_rb /) kao(:, 2,11,15) = (/ & & 0.31237e+03_rb,0.27343e+03_rb,0.23463e+03_rb,0.20183e+03_rb,0.19444e+03_rb, & & 0.21467e+03_rb,0.25634e+03_rb,0.29864e+03_rb,0.34194e+03_rb /) kao(:, 3,11,15) = (/ & & 0.31396e+03_rb,0.27478e+03_rb,0.23578e+03_rb,0.20169e+03_rb,0.19320e+03_rb, & & 0.21082e+03_rb,0.25169e+03_rb,0.29321e+03_rb,0.33575e+03_rb /) kao(:, 4,11,15) = (/ & & 0.31491e+03_rb,0.27559e+03_rb,0.23646e+03_rb,0.20134e+03_rb,0.19199e+03_rb, & & 0.20744e+03_rb,0.24738e+03_rb,0.28820e+03_rb,0.33002e+03_rb /) kao(:, 5,11,15) = (/ & & 0.31516e+03_rb,0.27581e+03_rb,0.23662e+03_rb,0.20063e+03_rb,0.19065e+03_rb, & & 0.20428e+03_rb,0.24308e+03_rb,0.28319e+03_rb,0.32426e+03_rb /) kao(:, 1,12,15) = (/ & & 0.35746e+03_rb,0.31300e+03_rb,0.26858e+03_rb,0.23433e+03_rb,0.22701e+03_rb, & & 0.24649e+03_rb,0.29230e+03_rb,0.34058e+03_rb,0.38993e+03_rb /) kao(:, 2,12,15) = (/ & & 0.35965e+03_rb,0.31492e+03_rb,0.27026e+03_rb,0.23392e+03_rb,0.22536e+03_rb, & & 0.24218e+03_rb,0.28684e+03_rb,0.33421e+03_rb,0.38264e+03_rb /) kao(:, 3,12,15) = (/ & & 0.36096e+03_rb,0.31606e+03_rb,0.27127e+03_rb,0.23331e+03_rb,0.22367e+03_rb, & & 0.23821e+03_rb,0.28173e+03_rb,0.32828e+03_rb,0.37584e+03_rb /) kao(:, 4,12,15) = (/ & & 0.36159e+03_rb,0.31657e+03_rb,0.27171e+03_rb,0.23251e+03_rb,0.22182e+03_rb, & & 0.23456e+03_rb,0.27669e+03_rb,0.32238e+03_rb,0.36910e+03_rb /) kao(:, 5,12,15) = (/ & & 0.36141e+03_rb,0.31636e+03_rb,0.27153e+03_rb,0.23134e+03_rb,0.21976e+03_rb, & & 0.23095e+03_rb,0.27160e+03_rb,0.31644e+03_rb,0.36227e+03_rb /) kao(:, 1,13,15) = (/ & & 0.40931e+03_rb,0.35842e+03_rb,0.30758e+03_rb,0.27041e+03_rb,0.26133e+03_rb, & & 0.27679e+03_rb,0.32393e+03_rb,0.37751e+03_rb,0.43213e+03_rb /) kao(:, 2,13,15) = (/ & & 0.41124e+03_rb,0.36013e+03_rb,0.30908e+03_rb,0.26935e+03_rb,0.25923e+03_rb, & & 0.27218e+03_rb,0.31806e+03_rb,0.37065e+03_rb,0.42432e+03_rb /) kao(:, 3,13,15) = (/ & & 0.41214e+03_rb,0.36093e+03_rb,0.30979e+03_rb,0.26811e+03_rb,0.25684e+03_rb, & & 0.26794e+03_rb,0.31214e+03_rb,0.36375e+03_rb,0.41639e+03_rb /) kao(:, 4,13,15) = (/ & & 0.41225e+03_rb,0.36102e+03_rb,0.30989e+03_rb,0.26655e+03_rb,0.25418e+03_rb, & & 0.26378e+03_rb,0.30615e+03_rb,0.35676e+03_rb,0.40836e+03_rb /) kao(:, 5,13,15) = (/ & & 0.41130e+03_rb,0.36017e+03_rb,0.30917e+03_rb,0.26471e+03_rb,0.25127e+03_rb, & & 0.25962e+03_rb,0.30054e+03_rb,0.35018e+03_rb,0.40087e+03_rb /) kao(:, 1, 1,16) = (/ & & 0.66783e+02_rb,0.58494e+02_rb,0.50207e+02_rb,0.41922e+02_rb,0.39207e+02_rb, & & 0.48837e+02_rb,0.58441e+02_rb,0.67973e+02_rb,0.73684e+02_rb /) kao(:, 2, 1,16) = (/ & & 0.66987e+02_rb,0.58663e+02_rb,0.50340e+02_rb,0.42083e+02_rb,0.39992e+02_rb, & & 0.49756e+02_rb,0.59507e+02_rb,0.69167e+02_rb,0.75232e+02_rb /) kao(:, 3, 1,16) = (/ & & 0.67128e+02_rb,0.58776e+02_rb,0.50426e+02_rb,0.42412e+02_rb,0.40738e+02_rb, & & 0.50635e+02_rb,0.60514e+02_rb,0.70320e+02_rb,0.76487e+02_rb /) kao(:, 4, 1,16) = (/ & & 0.67159e+02_rb,0.58797e+02_rb,0.50435e+02_rb,0.42709e+02_rb,0.41336e+02_rb, & & 0.51345e+02_rb,0.61329e+02_rb,0.71239e+02_rb,0.77474e+02_rb /) kao(:, 5, 1,16) = (/ & & 0.67048e+02_rb,0.58698e+02_rb,0.50349e+02_rb,0.42916e+02_rb,0.41806e+02_rb, & & 0.51893e+02_rb,0.61955e+02_rb,0.71939e+02_rb,0.78212e+02_rb /) kao(:, 1, 2,16) = (/ & & 0.80817e+02_rb,0.70771e+02_rb,0.60724e+02_rb,0.50680e+02_rb,0.46121e+02_rb, & & 0.57561e+02_rb,0.68978e+02_rb,0.80276e+02_rb,0.88125e+02_rb /) kao(:, 2, 2,16) = (/ & & 0.81120e+02_rb,0.71031e+02_rb,0.60942e+02_rb,0.50856e+02_rb,0.46531e+02_rb, & & 0.58009e+02_rb,0.69466e+02_rb,0.80811e+02_rb,0.88902e+02_rb /) kao(:, 3, 2,16) = (/ & & 0.81295e+02_rb,0.71179e+02_rb,0.61065e+02_rb,0.50952e+02_rb,0.47046e+02_rb, & & 0.58603e+02_rb,0.70144e+02_rb,0.81568e+02_rb,0.89842e+02_rb /) kao(:, 4, 2,16) = (/ & & 0.81302e+02_rb,0.71181e+02_rb,0.61061e+02_rb,0.50998e+02_rb,0.47535e+02_rb, & & 0.59172e+02_rb,0.70788e+02_rb,0.82285e+02_rb,0.90723e+02_rb /) kao(:, 5, 2,16) = (/ & & 0.81254e+02_rb,0.71123e+02_rb,0.60992e+02_rb,0.51150e+02_rb,0.47959e+02_rb, & & 0.59657e+02_rb,0.71327e+02_rb,0.82908e+02_rb,0.91460e+02_rb /) kao(:, 1, 3,16) = (/ & & 0.97635e+02_rb,0.85483e+02_rb,0.73330e+02_rb,0.61179e+02_rb,0.56207e+02_rb, & & 0.70215e+02_rb,0.84188e+02_rb,0.98014e+02_rb,0.10988e+03_rb /) kao(:, 2, 3,16) = (/ & & 0.98163e+02_rb,0.85943e+02_rb,0.73724e+02_rb,0.61504e+02_rb,0.55633e+02_rb, & & 0.69472e+02_rb,0.83276e+02_rb,0.96935e+02_rb,0.10869e+03_rb /) kao(:, 3, 3,16) = (/ & & 0.98472e+02_rb,0.86211e+02_rb,0.73951e+02_rb,0.61693e+02_rb,0.55697e+02_rb, & & 0.69495e+02_rb,0.83260e+02_rb,0.96885e+02_rb,0.10871e+03_rb /) kao(:, 4, 3,16) = (/ & & 0.98535e+02_rb,0.86265e+02_rb,0.73995e+02_rb,0.61728e+02_rb,0.55937e+02_rb, & & 0.69749e+02_rb,0.83530e+02_rb,0.97171e+02_rb,0.10906e+03_rb /) kao(:, 5, 3,16) = (/ & & 0.98433e+02_rb,0.86165e+02_rb,0.73899e+02_rb,0.61635e+02_rb,0.56204e+02_rb, & & 0.70040e+02_rb,0.83840e+02_rb,0.97500e+02_rb,0.10946e+03_rb /) kao(:, 1, 4,16) = (/ & & 0.11801e+03_rb,0.10331e+03_rb,0.88600e+02_rb,0.73894e+02_rb,0.68841e+02_rb, & & 0.86008e+02_rb,0.10313e+03_rb,0.12007e+03_rb,0.13623e+03_rb /) kao(:, 2, 4,16) = (/ & & 0.11855e+03_rb,0.10378e+03_rb,0.89007e+02_rb,0.74235e+02_rb,0.68009e+02_rb, & & 0.84957e+02_rb,0.10186e+03_rb,0.11859e+03_rb,0.13456e+03_rb /) kao(:, 3, 4,16) = (/ & & 0.11911e+03_rb,0.10427e+03_rb,0.89430e+02_rb,0.74590e+02_rb,0.67220e+02_rb, & & 0.83955e+02_rb,0.10065e+03_rb,0.11716e+03_rb,0.13292e+03_rb /) kao(:, 4, 4,16) = (/ & & 0.11932e+03_rb,0.10446e+03_rb,0.89591e+02_rb,0.74725e+02_rb,0.66996e+02_rb, & & 0.83620e+02_rb,0.10020e+03_rb,0.11661e+03_rb,0.13231e+03_rb /) kao(:, 5, 4,16) = (/ & & 0.11933e+03_rb,0.10445e+03_rb,0.89579e+02_rb,0.74708e+02_rb,0.67016e+02_rb, & & 0.83607e+02_rb,0.10016e+03_rb,0.11655e+03_rb,0.13223e+03_rb /) kao(:, 1, 5,16) = (/ & & 0.14253e+03_rb,0.12475e+03_rb,0.10698e+03_rb,0.89200e+02_rb,0.84755e+02_rb, & & 0.10590e+03_rb,0.12699e+03_rb,0.14785e+03_rb,0.16865e+03_rb /) kao(:, 2, 5,16) = (/ & & 0.14325e+03_rb,0.12539e+03_rb,0.10752e+03_rb,0.89655e+02_rb,0.83145e+02_rb, & & 0.10388e+03_rb,0.12456e+03_rb,0.14501e+03_rb,0.16542e+03_rb /) kao(:, 3, 5,16) = (/ & & 0.14383e+03_rb,0.12589e+03_rb,0.10795e+03_rb,0.90019e+02_rb,0.82092e+02_rb, & & 0.10255e+03_rb,0.12296e+03_rb,0.14315e+03_rb,0.16327e+03_rb /) kao(:, 4, 5,16) = (/ & & 0.14418e+03_rb,0.12620e+03_rb,0.10822e+03_rb,0.90248e+02_rb,0.81037e+02_rb, & & 0.10121e+03_rb,0.12133e+03_rb,0.14124e+03_rb,0.16108e+03_rb /) kao(:, 5, 5,16) = (/ & & 0.14437e+03_rb,0.12637e+03_rb,0.10836e+03_rb,0.90358e+02_rb,0.80556e+02_rb, & & 0.10057e+03_rb,0.12052e+03_rb,0.14027e+03_rb,0.15994e+03_rb /) kao(:, 1, 6,16) = (/ & & 0.17174e+03_rb,0.15031e+03_rb,0.12887e+03_rb,0.10744e+03_rb,0.10459e+03_rb, & & 0.13069e+03_rb,0.15672e+03_rb,0.18250e+03_rb,0.20866e+03_rb /) kao(:, 2, 6,16) = (/ & & 0.17281e+03_rb,0.15124e+03_rb,0.12968e+03_rb,0.10811e+03_rb,0.10205e+03_rb, & & 0.12751e+03_rb,0.15290e+03_rb,0.17802e+03_rb,0.20356e+03_rb /) kao(:, 3, 6,16) = (/ & & 0.17366e+03_rb,0.15199e+03_rb,0.13032e+03_rb,0.10865e+03_rb,0.10020e+03_rb, & & 0.12519e+03_rb,0.15010e+03_rb,0.17475e+03_rb,0.19982e+03_rb /) kao(:, 4, 6,16) = (/ & & 0.17410e+03_rb,0.15237e+03_rb,0.13065e+03_rb,0.10893e+03_rb,0.98757e+02_rb, & & 0.12337e+03_rb,0.14792e+03_rb,0.17221e+03_rb,0.19689e+03_rb /) kao(:, 5, 6,16) = (/ & & 0.17426e+03_rb,0.15251e+03_rb,0.13077e+03_rb,0.10903e+03_rb,0.97456e+02_rb, & & 0.12171e+03_rb,0.14591e+03_rb,0.16984e+03_rb,0.19419e+03_rb /) kao(:, 1, 7,16) = (/ & & 0.20639e+03_rb,0.18062e+03_rb,0.15485e+03_rb,0.12907e+03_rb,0.12889e+03_rb, & & 0.16105e+03_rb,0.19314e+03_rb,0.22488e+03_rb,0.25751e+03_rb /) kao(:, 2, 7,16) = (/ & & 0.20793e+03_rb,0.18197e+03_rb,0.15600e+03_rb,0.13004e+03_rb,0.12536e+03_rb, & & 0.15664e+03_rb,0.18784e+03_rb,0.21870e+03_rb,0.25043e+03_rb /) kao(:, 3, 7,16) = (/ & & 0.20918e+03_rb,0.18307e+03_rb,0.15695e+03_rb,0.13084e+03_rb,0.12258e+03_rb, & & 0.15317e+03_rb,0.18368e+03_rb,0.21386e+03_rb,0.24487e+03_rb /) kao(:, 4, 7,16) = (/ & & 0.20994e+03_rb,0.18373e+03_rb,0.15753e+03_rb,0.13132e+03_rb,0.12024e+03_rb, & & 0.15023e+03_rb,0.18014e+03_rb,0.20974e+03_rb,0.24016e+03_rb /) kao(:, 5, 7,16) = (/ & & 0.21017e+03_rb,0.18393e+03_rb,0.15770e+03_rb,0.13147e+03_rb,0.11817e+03_rb, & & 0.14763e+03_rb,0.17700e+03_rb,0.20610e+03_rb,0.23592e+03_rb /) kao(:, 1, 8,16) = (/ & & 0.24808e+03_rb,0.21709e+03_rb,0.18610e+03_rb,0.15511e+03_rb,0.15824e+03_rb, & & 0.19773e+03_rb,0.23715e+03_rb,0.27617e+03_rb,0.31647e+03_rb /) kao(:, 2, 8,16) = (/ & & 0.24976e+03_rb,0.21856e+03_rb,0.18737e+03_rb,0.15617e+03_rb,0.15364e+03_rb, & & 0.19198e+03_rb,0.23024e+03_rb,0.26808e+03_rb,0.30723e+03_rb /) kao(:, 3, 8,16) = (/ & & 0.25153e+03_rb,0.22011e+03_rb,0.18870e+03_rb,0.15729e+03_rb,0.14986e+03_rb, & & 0.18726e+03_rb,0.22456e+03_rb,0.26146e+03_rb,0.29964e+03_rb /) kao(:, 4, 8,16) = (/ & & 0.25266e+03_rb,0.22111e+03_rb,0.18956e+03_rb,0.15801e+03_rb,0.14651e+03_rb, & & 0.18308e+03_rb,0.21955e+03_rb,0.25564e+03_rb,0.29297e+03_rb /) kao(:, 5, 8,16) = (/ & & 0.25306e+03_rb,0.22146e+03_rb,0.18986e+03_rb,0.15826e+03_rb,0.14346e+03_rb, & & 0.17924e+03_rb,0.21492e+03_rb,0.25024e+03_rb,0.28677e+03_rb /) kao(:, 1, 9,16) = (/ & & 0.29758e+03_rb,0.26040e+03_rb,0.22322e+03_rb,0.18603e+03_rb,0.19348e+03_rb, & & 0.24177e+03_rb,0.28996e+03_rb,0.33765e+03_rb,0.38707e+03_rb /) kao(:, 2, 9,16) = (/ & & 0.29980e+03_rb,0.26234e+03_rb,0.22489e+03_rb,0.18744e+03_rb,0.18763e+03_rb, & & 0.23446e+03_rb,0.28116e+03_rb,0.32742e+03_rb,0.37536e+03_rb /) kao(:, 3, 9,16) = (/ & & 0.30182e+03_rb,0.26412e+03_rb,0.22641e+03_rb,0.18871e+03_rb,0.18264e+03_rb, & & 0.22823e+03_rb,0.27370e+03_rb,0.31874e+03_rb,0.36539e+03_rb /) kao(:, 4, 9,16) = (/ & & 0.30335e+03_rb,0.26546e+03_rb,0.22757e+03_rb,0.18968e+03_rb,0.17814e+03_rb, & & 0.22260e+03_rb,0.26695e+03_rb,0.31086e+03_rb,0.35637e+03_rb /) kao(:, 5, 9,16) = (/ & & 0.30399e+03_rb,0.26602e+03_rb,0.22805e+03_rb,0.19008e+03_rb,0.17393e+03_rb, & & 0.21734e+03_rb,0.26062e+03_rb,0.30347e+03_rb,0.34789e+03_rb /) kao(:, 1,10,16) = (/ & & 0.35657e+03_rb,0.31201e+03_rb,0.26745e+03_rb,0.22289e+03_rb,0.23471e+03_rb, & & 0.29329e+03_rb,0.35175e+03_rb,0.40960e+03_rb,0.46960e+03_rb /) kao(:, 2,10,16) = (/ & & 0.35941e+03_rb,0.31450e+03_rb,0.26959e+03_rb,0.22468e+03_rb,0.22747e+03_rb, & & 0.28425e+03_rb,0.34089e+03_rb,0.39700e+03_rb,0.45514e+03_rb /) kao(:, 3,10,16) = (/ & & 0.36173e+03_rb,0.31654e+03_rb,0.27134e+03_rb,0.22614e+03_rb,0.22110e+03_rb, & & 0.27628e+03_rb,0.33132e+03_rb,0.38584e+03_rb,0.44234e+03_rb /) kao(:, 4,10,16) = (/ & & 0.36337e+03_rb,0.31797e+03_rb,0.27257e+03_rb,0.22717e+03_rb,0.21518e+03_rb, & & 0.26889e+03_rb,0.32246e+03_rb,0.37553e+03_rb,0.43052e+03_rb /) kao(:, 5,10,16) = (/ & & 0.36404e+03_rb,0.31855e+03_rb,0.27307e+03_rb,0.22759e+03_rb,0.20959e+03_rb, & & 0.26189e+03_rb,0.31406e+03_rb,0.36572e+03_rb,0.41925e+03_rb /) kao(:, 1,11,16) = (/ & & 0.42778e+03_rb,0.37432e+03_rb,0.32086e+03_rb,0.26740e+03_rb,0.27872e+03_rb, & & 0.34830e+03_rb,0.41771e+03_rb,0.48646e+03_rb,0.55765e+03_rb /) kao(:, 2,11,16) = (/ & & 0.43110e+03_rb,0.37723e+03_rb,0.32336e+03_rb,0.26948e+03_rb,0.27023e+03_rb, & & 0.33769e+03_rb,0.40499e+03_rb,0.47168e+03_rb,0.54065e+03_rb /) kao(:, 3,11,16) = (/ & & 0.43351e+03_rb,0.37933e+03_rb,0.32516e+03_rb,0.27099e+03_rb,0.26235e+03_rb, & & 0.32784e+03_rb,0.39315e+03_rb,0.45790e+03_rb,0.52488e+03_rb /) kao(:, 4,11,16) = (/ & & 0.43444e+03_rb,0.38015e+03_rb,0.32587e+03_rb,0.27158e+03_rb,0.25502e+03_rb, & & 0.31866e+03_rb,0.38217e+03_rb,0.44507e+03_rb,0.51019e+03_rb /) kao(:, 5,11,16) = (/ & & 0.43455e+03_rb,0.38025e+03_rb,0.32595e+03_rb,0.27165e+03_rb,0.24835e+03_rb, & & 0.31008e+03_rb,0.37185e+03_rb,0.43305e+03_rb,0.49635e+03_rb /) kao(:, 1,12,16) = (/ & & 0.51115e+03_rb,0.44727e+03_rb,0.38338e+03_rb,0.31950e+03_rb,0.32868e+03_rb, & & 0.41075e+03_rb,0.49264e+03_rb,0.57375e+03_rb,0.65765e+03_rb /) kao(:, 2,12,16) = (/ & & 0.51481e+03_rb,0.45047e+03_rb,0.38614e+03_rb,0.32180e+03_rb,0.31846e+03_rb, & & 0.39795e+03_rb,0.47726e+03_rb,0.55589e+03_rb,0.63715e+03_rb /) kao(:, 3,12,16) = (/ & & 0.51667e+03_rb,0.45210e+03_rb,0.38753e+03_rb,0.32296e+03_rb,0.30906e+03_rb, & & 0.38614e+03_rb,0.46310e+03_rb,0.53942e+03_rb,0.61825e+03_rb /) kao(:, 4,12,16) = (/ & & 0.51678e+03_rb,0.45219e+03_rb,0.38761e+03_rb,0.32303e+03_rb,0.30046e+03_rb, & & 0.37494e+03_rb,0.44968e+03_rb,0.52372e+03_rb,0.60018e+03_rb /) kao(:, 5,12,16) = (/ & & 0.51600e+03_rb,0.45151e+03_rb,0.38702e+03_rb,0.32254e+03_rb,0.29255e+03_rb, & & 0.36403e+03_rb,0.43655e+03_rb,0.50852e+03_rb,0.58277e+03_rb /) kao(:, 1,13,16) = (/ & & 0.60779e+03_rb,0.53183e+03_rb,0.45587e+03_rb,0.37990e+03_rb,0.38498e+03_rb, & & 0.48109e+03_rb,0.57702e+03_rb,0.67207e+03_rb,0.77032e+03_rb /) kao(:, 2,13,16) = (/ & & 0.61089e+03_rb,0.53454e+03_rb,0.45819e+03_rb,0.38184e+03_rb,0.37288e+03_rb, & & 0.46566e+03_rb,0.55850e+03_rb,0.65053e+03_rb,0.74557e+03_rb /) kao(:, 3,13,16) = (/ & & 0.61168e+03_rb,0.53523e+03_rb,0.45878e+03_rb,0.38233e+03_rb,0.36190e+03_rb, & & 0.45112e+03_rb,0.54103e+03_rb,0.63023e+03_rb,0.72223e+03_rb /) kao(:, 4,13,16) = (/ & & 0.61073e+03_rb,0.53440e+03_rb,0.45807e+03_rb,0.38174e+03_rb,0.35168e+03_rb, & & 0.43693e+03_rb,0.52405e+03_rb,0.61044e+03_rb,0.69951e+03_rb /) kao(:, 5,13,16) = (/ & & 0.60852e+03_rb,0.53247e+03_rb,0.45641e+03_rb,0.38036e+03_rb,0.34198e+03_rb, & & 0.42302e+03_rb,0.50734e+03_rb,0.59097e+03_rb,0.67714e+03_rb /) ! ----------------------------------------------------------------- ! The array KBO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels < ~100mb and temperatures. The first ! index in the array, JT, which runs from 1 to 5, corresponds to ! different temperatures. More specifically, JT = 3 means that the ! data are for the reference temperature TREF for this pressure ! level, JT = 2 refers to the temperature TREF-15, JT = 1 is for ! TREF-30, JT = 4 is for TREF+15, and JT = 5 is for TREF+30. ! The second index, JP, runs from 13 to 59 and refers to the JPth ! reference pressure level (see taumol.f for the value of these ! pressure levels in mb). The third index, IG, goes from 1 to 16, ! and tells us which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kbo(:, 1,13, 1) = (/ & & 0.10554e-06_rb,0.38596e-04_rb,0.65402e-04_rb,0.88540e-04_rb,0.19601e-03_rb /) kbo(:, 2,13, 1) = (/ & & 0.10479e-06_rb,0.43672e-04_rb,0.74889e-04_rb,0.10118e-03_rb,0.22146e-03_rb /) kbo(:, 3,13, 1) = (/ & & 0.10429e-06_rb,0.49418e-04_rb,0.85429e-04_rb,0.11557e-03_rb,0.24448e-03_rb /) kbo(:, 4,13, 1) = (/ & & 0.10232e-06_rb,0.55802e-04_rb,0.96459e-04_rb,0.13167e-03_rb,0.27001e-03_rb /) kbo(:, 5,13, 1) = (/ & & 0.99013e-07_rb,0.62996e-04_rb,0.10900e-03_rb,0.14834e-03_rb,0.29917e-03_rb /) kbo(:, 1,14, 1) = (/ & & 0.85136e-07_rb,0.31943e-04_rb,0.54402e-04_rb,0.73887e-04_rb,0.15895e-03_rb /) kbo(:, 2,14, 1) = (/ & & 0.84597e-07_rb,0.36196e-04_rb,0.62429e-04_rb,0.84479e-04_rb,0.17749e-03_rb /) kbo(:, 3,14, 1) = (/ & & 0.83629e-07_rb,0.40982e-04_rb,0.71126e-04_rb,0.96573e-04_rb,0.19740e-03_rb /) kbo(:, 4,14, 1) = (/ & & 0.82310e-07_rb,0.46344e-04_rb,0.80458e-04_rb,0.10984e-03_rb,0.21847e-03_rb /) kbo(:, 5,14, 1) = (/ & & 0.78709e-07_rb,0.52252e-04_rb,0.90989e-04_rb,0.12394e-03_rb,0.24281e-03_rb /) kbo(:, 1,15, 1) = (/ & & 0.68497e-07_rb,0.26393e-04_rb,0.45164e-04_rb,0.61570e-04_rb,0.12493e-03_rb /) kbo(:, 2,15, 1) = (/ & & 0.68062e-07_rb,0.29936e-04_rb,0.51919e-04_rb,0.70387e-04_rb,0.13953e-03_rb /) kbo(:, 3,15, 1) = (/ & & 0.66766e-07_rb,0.33863e-04_rb,0.59056e-04_rb,0.80693e-04_rb,0.15653e-03_rb /) kbo(:, 4,15, 1) = (/ & & 0.65636e-07_rb,0.38294e-04_rb,0.66885e-04_rb,0.91555e-04_rb,0.17510e-03_rb /) kbo(:, 5,15, 1) = (/ & & 0.62711e-07_rb,0.43189e-04_rb,0.75756e-04_rb,0.10355e-03_rb,0.19439e-03_rb /) kbo(:, 1,16, 1) = (/ & & 0.55083e-07_rb,0.21761e-04_rb,0.37484e-04_rb,0.51301e-04_rb,0.97875e-04_rb /) kbo(:, 2,16, 1) = (/ & & 0.54095e-07_rb,0.24670e-04_rb,0.43084e-04_rb,0.58639e-04_rb,0.10996e-03_rb /) kbo(:, 3,16, 1) = (/ & & 0.53340e-07_rb,0.27925e-04_rb,0.48976e-04_rb,0.67234e-04_rb,0.12415e-03_rb /) kbo(:, 4,16, 1) = (/ & & 0.51412e-07_rb,0.31588e-04_rb,0.55576e-04_rb,0.76352e-04_rb,0.13939e-03_rb /) kbo(:, 5,16, 1) = (/ & & 0.49341e-07_rb,0.35677e-04_rb,0.62937e-04_rb,0.86363e-04_rb,0.15543e-03_rb /) kbo(:, 1,17, 1) = (/ & & 0.44022e-07_rb,0.17963e-04_rb,0.31102e-04_rb,0.42604e-04_rb,0.78290e-04_rb /) kbo(:, 2,17, 1) = (/ & & 0.43167e-07_rb,0.20382e-04_rb,0.35754e-04_rb,0.48875e-04_rb,0.87941e-04_rb /) kbo(:, 3,17, 1) = (/ & & 0.42210e-07_rb,0.23091e-04_rb,0.40674e-04_rb,0.56059e-04_rb,0.99257e-04_rb /) kbo(:, 4,17, 1) = (/ & & 0.40402e-07_rb,0.26125e-04_rb,0.46162e-04_rb,0.63586e-04_rb,0.11166e-03_rb /) kbo(:, 5,17, 1) = (/ & & 0.38532e-07_rb,0.29494e-04_rb,0.52327e-04_rb,0.71960e-04_rb,0.12480e-03_rb /) kbo(:, 1,18, 1) = (/ & & 0.34937e-07_rb,0.14903e-04_rb,0.25868e-04_rb,0.35503e-04_rb,0.63368e-04_rb /) kbo(:, 2,18, 1) = (/ & & 0.34308e-07_rb,0.16923e-04_rb,0.29781e-04_rb,0.40789e-04_rb,0.71115e-04_rb /) kbo(:, 3,18, 1) = (/ & & 0.32995e-07_rb,0.19171e-04_rb,0.33872e-04_rb,0.46810e-04_rb,0.80302e-04_rb /) kbo(:, 4,18, 1) = (/ & & 0.31654e-07_rb,0.21679e-04_rb,0.38468e-04_rb,0.53048e-04_rb,0.90431e-04_rb /) kbo(:, 5,18, 1) = (/ & & 0.30282e-07_rb,0.24491e-04_rb,0.43596e-04_rb,0.60078e-04_rb,0.10133e-03_rb /) kbo(:, 1,19, 1) = (/ & & 0.27971e-07_rb,0.12385e-04_rb,0.21549e-04_rb,0.29618e-04_rb,0.51732e-04_rb /) kbo(:, 2,19, 1) = (/ & & 0.27128e-07_rb,0.14042e-04_rb,0.24826e-04_rb,0.34047e-04_rb,0.58064e-04_rb /) kbo(:, 3,19, 1) = (/ & & 0.26018e-07_rb,0.15920e-04_rb,0.28221e-04_rb,0.39072e-04_rb,0.65495e-04_rb /) kbo(:, 4,19, 1) = (/ & & 0.24717e-07_rb,0.18017e-04_rb,0.32056e-04_rb,0.44285e-04_rb,0.73859e-04_rb /) kbo(:, 5,19, 1) = (/ & & 0.23859e-07_rb,0.20360e-04_rb,0.36341e-04_rb,0.50170e-04_rb,0.82944e-04_rb /) kbo(:, 1,20, 1) = (/ & & 0.22529e-07_rb,0.10336e-04_rb,0.17999e-04_rb,0.24776e-04_rb,0.42602e-04_rb /) kbo(:, 2,20, 1) = (/ & & 0.21733e-07_rb,0.11685e-04_rb,0.20769e-04_rb,0.28503e-04_rb,0.47833e-04_rb /) kbo(:, 3,20, 1) = (/ & & 0.20791e-07_rb,0.13280e-04_rb,0.23571e-04_rb,0.32654e-04_rb,0.53995e-04_rb /) kbo(:, 4,20, 1) = (/ & & 0.19663e-07_rb,0.15029e-04_rb,0.26788e-04_rb,0.37066e-04_rb,0.60944e-04_rb /) kbo(:, 5,20, 1) = (/ & & 0.19169e-07_rb,0.16975e-04_rb,0.30353e-04_rb,0.41996e-04_rb,0.68344e-04_rb /) kbo(:, 1,21, 1) = (/ & & 0.18148e-07_rb,0.86039e-05_rb,0.15041e-04_rb,0.20717e-04_rb,0.35143e-04_rb /) kbo(:, 2,21, 1) = (/ & & 0.17465e-07_rb,0.97287e-05_rb,0.17348e-04_rb,0.23862e-04_rb,0.39508e-04_rb /) kbo(:, 3,21, 1) = (/ & & 0.16537e-07_rb,0.11073e-04_rb,0.19687e-04_rb,0.27271e-04_rb,0.44652e-04_rb /) kbo(:, 4,21, 1) = (/ & & 0.15860e-07_rb,0.12526e-04_rb,0.22388e-04_rb,0.31015e-04_rb,0.50269e-04_rb /) kbo(:, 5,21, 1) = (/ & & 0.15452e-07_rb,0.14158e-04_rb,0.25339e-04_rb,0.35141e-04_rb,0.56327e-04_rb /) kbo(:, 1,22, 1) = (/ & & 0.14542e-07_rb,0.71807e-05_rb,0.12682e-04_rb,0.17473e-04_rb,0.29179e-04_rb /) kbo(:, 2,22, 1) = (/ & & 0.13967e-07_rb,0.81574e-05_rb,0.14550e-04_rb,0.20147e-04_rb,0.32795e-04_rb /) kbo(:, 3,22, 1) = (/ & & 0.13241e-07_rb,0.92839e-05_rb,0.16547e-04_rb,0.22971e-04_rb,0.37036e-04_rb /) kbo(:, 4,22, 1) = (/ & & 0.12746e-07_rb,0.10522e-04_rb,0.18840e-04_rb,0.26114e-04_rb,0.41617e-04_rb /) kbo(:, 5,22, 1) = (/ & & 0.12426e-07_rb,0.11886e-04_rb,0.21313e-04_rb,0.29604e-04_rb,0.46709e-04_rb /) kbo(:, 1,23, 1) = (/ & & 0.11724e-07_rb,0.60196e-05_rb,0.10703e-04_rb,0.14753e-04_rb,0.24143e-04_rb /) kbo(:, 2,23, 1) = (/ & & 0.11124e-07_rb,0.68499e-05_rb,0.12233e-04_rb,0.17009e-04_rb,0.27147e-04_rb /) kbo(:, 3,23, 1) = (/ & & 0.10552e-07_rb,0.77897e-05_rb,0.13927e-04_rb,0.19362e-04_rb,0.30661e-04_rb /) kbo(:, 4,23, 1) = (/ & & 0.10213e-07_rb,0.88398e-05_rb,0.15850e-04_rb,0.22024e-04_rb,0.34519e-04_rb /) kbo(:, 5,23, 1) = (/ & & 0.99627e-08_rb,0.99755e-05_rb,0.17919e-04_rb,0.24944e-04_rb,0.38730e-04_rb /) kbo(:, 1,24, 1) = (/ & & 0.93835e-08_rb,0.50505e-05_rb,0.90298e-05_rb,0.12450e-04_rb,0.19940e-04_rb /) kbo(:, 2,24, 1) = (/ & & 0.88722e-08_rb,0.57494e-05_rb,0.10287e-04_rb,0.14351e-04_rb,0.22450e-04_rb /) kbo(:, 3,24, 1) = (/ & & 0.84719e-08_rb,0.65374e-05_rb,0.11727e-04_rb,0.16329e-04_rb,0.25378e-04_rb /) kbo(:, 4,24, 1) = (/ & & 0.81924e-08_rb,0.74186e-05_rb,0.13334e-04_rb,0.18567e-04_rb,0.28560e-04_rb /) kbo(:, 5,24, 1) = (/ & & 0.79194e-08_rb,0.83719e-05_rb,0.15056e-04_rb,0.21003e-04_rb,0.31990e-04_rb /) kbo(:, 1,25, 1) = (/ & & 0.74535e-08_rb,0.42437e-05_rb,0.76220e-05_rb,0.10523e-04_rb,0.16531e-04_rb /) kbo(:, 2,25, 1) = (/ & & 0.70516e-08_rb,0.48300e-05_rb,0.86667e-05_rb,0.12089e-04_rb,0.18616e-04_rb /) kbo(:, 3,25, 1) = (/ & & 0.67746e-08_rb,0.54941e-05_rb,0.98927e-05_rb,0.13790e-04_rb,0.21024e-04_rb /) kbo(:, 4,25, 1) = (/ & & 0.65375e-08_rb,0.62357e-05_rb,0.11233e-04_rb,0.15662e-04_rb,0.23642e-04_rb /) kbo(:, 5,25, 1) = (/ & & 0.63001e-08_rb,0.70282e-05_rb,0.12669e-04_rb,0.17695e-04_rb,0.26478e-04_rb /) kbo(:, 1,26, 1) = (/ & & 0.59520e-08_rb,0.35739e-05_rb,0.64350e-05_rb,0.89330e-05_rb,0.13754e-04_rb /) kbo(:, 2,26, 1) = (/ & & 0.56644e-08_rb,0.40797e-05_rb,0.73291e-05_rb,0.10228e-04_rb,0.15489e-04_rb /) kbo(:, 3,26, 1) = (/ & & 0.54229e-08_rb,0.46366e-05_rb,0.83664e-05_rb,0.11659e-04_rb,0.17486e-04_rb /) kbo(:, 4,26, 1) = (/ & & 0.52155e-08_rb,0.52546e-05_rb,0.94829e-05_rb,0.13246e-04_rb,0.19643e-04_rb /) kbo(:, 5,26, 1) = (/ & & 0.50026e-08_rb,0.59134e-05_rb,0.10676e-04_rb,0.14933e-04_rb,0.21979e-04_rb /) kbo(:, 1,27, 1) = (/ & & 0.47347e-08_rb,0.30117e-05_rb,0.54223e-05_rb,0.75810e-05_rb,0.11424e-04_rb /) kbo(:, 2,27, 1) = (/ & & 0.45215e-08_rb,0.34421e-05_rb,0.61959e-05_rb,0.86619e-05_rb,0.12884e-04_rb /) kbo(:, 3,27, 1) = (/ & & 0.43334e-08_rb,0.39143e-05_rb,0.70702e-05_rb,0.98761e-05_rb,0.14543e-04_rb /) kbo(:, 4,27, 1) = (/ & & 0.41350e-08_rb,0.44275e-05_rb,0.80005e-05_rb,0.11195e-04_rb,0.16319e-04_rb /) kbo(:, 5,27, 1) = (/ & & 0.39653e-08_rb,0.49769e-05_rb,0.89931e-05_rb,0.12598e-04_rb,0.18160e-04_rb /) kbo(:, 1,28, 1) = (/ & & 0.37948e-08_rb,0.25415e-05_rb,0.45819e-05_rb,0.64336e-05_rb,0.94956e-05_rb /) kbo(:, 2,28, 1) = (/ & & 0.36083e-08_rb,0.29038e-05_rb,0.52426e-05_rb,0.73400e-05_rb,0.10719e-04_rb /) kbo(:, 3,28, 1) = (/ & & 0.34418e-08_rb,0.33017e-05_rb,0.59733e-05_rb,0.83575e-05_rb,0.12066e-04_rb /) kbo(:, 4,28, 1) = (/ & & 0.32636e-08_rb,0.37297e-05_rb,0.67493e-05_rb,0.94558e-05_rb,0.13468e-04_rb /) kbo(:, 5,28, 1) = (/ & & 0.31340e-08_rb,0.41873e-05_rb,0.75759e-05_rb,0.10620e-04_rb,0.14953e-04_rb /) kbo(:, 1,29, 1) = (/ & & 0.30121e-08_rb,0.21536e-05_rb,0.38841e-05_rb,0.54491e-05_rb,0.79090e-05_rb /) kbo(:, 2,29, 1) = (/ & & 0.28775e-08_rb,0.24557e-05_rb,0.44467e-05_rb,0.62247e-05_rb,0.89148e-05_rb /) kbo(:, 3,29, 1) = (/ & & 0.27196e-08_rb,0.27900e-05_rb,0.50543e-05_rb,0.70782e-05_rb,0.99943e-05_rb /) kbo(:, 4,29, 1) = (/ & & 0.25798e-08_rb,0.31473e-05_rb,0.57011e-05_rb,0.79936e-05_rb,0.11135e-04_rb /) kbo(:, 5,29, 1) = (/ & & 0.24785e-08_rb,0.35287e-05_rb,0.63894e-05_rb,0.89624e-05_rb,0.12357e-04_rb /) kbo(:, 1,30, 1) = (/ & & 0.24034e-08_rb,0.18231e-05_rb,0.32945e-05_rb,0.46183e-05_rb,0.65837e-05_rb /) kbo(:, 2,30, 1) = (/ & & 0.22702e-08_rb,0.20766e-05_rb,0.37671e-05_rb,0.52735e-05_rb,0.73875e-05_rb /) kbo(:, 3,30, 1) = (/ & & 0.21551e-08_rb,0.23559e-05_rb,0.42744e-05_rb,0.59932e-05_rb,0.82665e-05_rb /) kbo(:, 4,30, 1) = (/ & & 0.20397e-08_rb,0.26541e-05_rb,0.48137e-05_rb,0.67549e-05_rb,0.92071e-05_rb /) kbo(:, 5,30, 1) = (/ & & 0.19208e-08_rb,0.29711e-05_rb,0.53880e-05_rb,0.75598e-05_rb,0.10211e-04_rb /) kbo(:, 1,31, 1) = (/ & & 0.19116e-08_rb,0.15454e-05_rb,0.27957e-05_rb,0.39228e-05_rb,0.54664e-05_rb /) kbo(:, 2,31, 1) = (/ & & 0.18045e-08_rb,0.17579e-05_rb,0.31938e-05_rb,0.44780e-05_rb,0.61205e-05_rb /) kbo(:, 3,31, 1) = (/ & & 0.17015e-08_rb,0.19911e-05_rb,0.36167e-05_rb,0.50753e-05_rb,0.68523e-05_rb /) kbo(:, 4,31, 1) = (/ & & 0.16042e-08_rb,0.22393e-05_rb,0.40666e-05_rb,0.57094e-05_rb,0.76260e-05_rb /) kbo(:, 5,31, 1) = (/ & & 0.15189e-08_rb,0.25035e-05_rb,0.45439e-05_rb,0.63785e-05_rb,0.84562e-05_rb /) kbo(:, 1,32, 1) = (/ & & 0.15134e-08_rb,0.13080e-05_rb,0.23763e-05_rb,0.33360e-05_rb,0.45382e-05_rb /) kbo(:, 2,32, 1) = (/ & & 0.14254e-08_rb,0.14886e-05_rb,0.27086e-05_rb,0.37995e-05_rb,0.50938e-05_rb /) kbo(:, 3,32, 1) = (/ & & 0.13478e-08_rb,0.16831e-05_rb,0.30605e-05_rb,0.42971e-05_rb,0.56933e-05_rb /) kbo(:, 4,32, 1) = (/ & & 0.12726e-08_rb,0.18904e-05_rb,0.34353e-05_rb,0.48247e-05_rb,0.63353e-05_rb /) kbo(:, 5,32, 1) = (/ & & 0.12027e-08_rb,0.21098e-05_rb,0.38318e-05_rb,0.53809e-05_rb,0.70302e-05_rb /) kbo(:, 1,33, 1) = (/ & & 0.12024e-08_rb,0.11084e-05_rb,0.20193e-05_rb,0.28310e-05_rb,0.37849e-05_rb /) kbo(:, 2,33, 1) = (/ & & 0.11338e-08_rb,0.12605e-05_rb,0.22949e-05_rb,0.32221e-05_rb,0.42458e-05_rb /) kbo(:, 3,33, 1) = (/ & & 0.10678e-08_rb,0.14231e-05_rb,0.25881e-05_rb,0.36365e-05_rb,0.47460e-05_rb /) kbo(:, 4,33, 1) = (/ & & 0.10052e-08_rb,0.15963e-05_rb,0.29010e-05_rb,0.40728e-05_rb,0.52804e-05_rb /) kbo(:, 5,33, 1) = (/ & & 0.95946e-09_rb,0.17779e-05_rb,0.32301e-05_rb,0.45381e-05_rb,0.58547e-05_rb /) kbo(:, 1,34, 1) = (/ & & 0.95750e-09_rb,0.93665e-06_rb,0.17068e-05_rb,0.23954e-05_rb,0.31611e-05_rb /) kbo(:, 2,34, 1) = (/ & & 0.89991e-09_rb,0.10636e-05_rb,0.19366e-05_rb,0.27209e-05_rb,0.35440e-05_rb /) kbo(:, 3,34, 1) = (/ & & 0.84944e-09_rb,0.11994e-05_rb,0.21804e-05_rb,0.30651e-05_rb,0.39600e-05_rb /) kbo(:, 4,34, 1) = (/ & & 0.80863e-09_rb,0.13431e-05_rb,0.24406e-05_rb,0.34285e-05_rb,0.44045e-05_rb /) kbo(:, 5,34, 1) = (/ & & 0.76697e-09_rb,0.14937e-05_rb,0.27138e-05_rb,0.38153e-05_rb,0.48739e-05_rb /) kbo(:, 1,35, 1) = (/ & & 0.76931e-09_rb,0.78145e-06_rb,0.14243e-05_rb,0.20004e-05_rb,0.26088e-05_rb /) kbo(:, 2,35, 1) = (/ & & 0.72554e-09_rb,0.88652e-06_rb,0.16140e-05_rb,0.22684e-05_rb,0.29255e-05_rb /) kbo(:, 3,35, 1) = (/ & & 0.68677e-09_rb,0.99872e-06_rb,0.18159e-05_rb,0.25537e-05_rb,0.32672e-05_rb /) kbo(:, 4,35, 1) = (/ & & 0.64986e-09_rb,0.11178e-05_rb,0.20312e-05_rb,0.28542e-05_rb,0.36304e-05_rb /) kbo(:, 5,35, 1) = (/ & & 0.62177e-09_rb,0.12420e-05_rb,0.22566e-05_rb,0.31737e-05_rb,0.40187e-05_rb /) kbo(:, 1,36, 1) = (/ & & 0.62245e-09_rb,0.64235e-06_rb,0.11709e-05_rb,0.16445e-05_rb,0.21213e-05_rb /) kbo(:, 2,36, 1) = (/ & & 0.58696e-09_rb,0.72876e-06_rb,0.13266e-05_rb,0.18646e-05_rb,0.23798e-05_rb /) kbo(:, 3,36, 1) = (/ & & 0.55693e-09_rb,0.82089e-06_rb,0.14927e-05_rb,0.20991e-05_rb,0.26600e-05_rb /) kbo(:, 4,36, 1) = (/ & & 0.52934e-09_rb,0.91874e-06_rb,0.16695e-05_rb,0.23457e-05_rb,0.29575e-05_rb /) kbo(:, 5,36, 1) = (/ & & 0.50585e-09_rb,0.10210e-05_rb,0.18549e-05_rb,0.26085e-05_rb,0.32758e-05_rb /) kbo(:, 1,37, 1) = (/ & & 0.51156e-09_rb,0.51872e-06_rb,0.94550e-06_rb,0.13287e-05_rb,0.17089e-05_rb /) kbo(:, 2,37, 1) = (/ & & 0.48258e-09_rb,0.58908e-06_rb,0.10722e-05_rb,0.15079e-05_rb,0.19187e-05_rb /) kbo(:, 3,37, 1) = (/ & & 0.45694e-09_rb,0.66421e-06_rb,0.12078e-05_rb,0.16992e-05_rb,0.21456e-05_rb /) kbo(:, 4,37, 1) = (/ & & 0.43502e-09_rb,0.74408e-06_rb,0.13520e-05_rb,0.19000e-05_rb,0.23876e-05_rb /) kbo(:, 5,37, 1) = (/ & & 0.41517e-09_rb,0.82758e-06_rb,0.15034e-05_rb,0.21146e-05_rb,0.26473e-05_rb /) kbo(:, 1,38, 1) = (/ & & 0.42094e-09_rb,0.41837e-06_rb,0.76260e-06_rb,0.10719e-05_rb,0.13756e-05_rb /) kbo(:, 2,38, 1) = (/ & & 0.39700e-09_rb,0.47557e-06_rb,0.86572e-06_rb,0.12180e-05_rb,0.15462e-05_rb /) kbo(:, 3,38, 1) = (/ & & 0.37563e-09_rb,0.53684e-06_rb,0.97613e-06_rb,0.13738e-05_rb,0.17289e-05_rb /) kbo(:, 4,38, 1) = (/ & & 0.35783e-09_rb,0.60193e-06_rb,0.10936e-05_rb,0.15374e-05_rb,0.19252e-05_rb /) kbo(:, 5,38, 1) = (/ & & 0.34107e-09_rb,0.67014e-06_rb,0.12173e-05_rb,0.17127e-05_rb,0.21369e-05_rb /) kbo(:, 1,39, 1) = (/ & & 0.34635e-09_rb,0.33732e-06_rb,0.61492e-06_rb,0.86447e-06_rb,0.11055e-05_rb /) kbo(:, 2,39, 1) = (/ & & 0.32654e-09_rb,0.38383e-06_rb,0.69869e-06_rb,0.98355e-06_rb,0.12440e-05_rb /) kbo(:, 3,39, 1) = (/ & & 0.30909e-09_rb,0.43371e-06_rb,0.78869e-06_rb,0.11105e-05_rb,0.13924e-05_rb /) kbo(:, 4,39, 1) = (/ & & 0.29425e-09_rb,0.48681e-06_rb,0.88446e-06_rb,0.12433e-05_rb,0.15526e-05_rb /) kbo(:, 5,39, 1) = (/ & & 0.28000e-09_rb,0.54256e-06_rb,0.98550e-06_rb,0.13868e-05_rb,0.17238e-05_rb /) kbo(:, 1,40, 1) = (/ & & 0.28731e-09_rb,0.26843e-06_rb,0.48915e-06_rb,0.68810e-06_rb,0.87867e-06_rb /) kbo(:, 2,40, 1) = (/ & & 0.27089e-09_rb,0.30600e-06_rb,0.55698e-06_rb,0.78430e-06_rb,0.99075e-06_rb /) kbo(:, 3,40, 1) = (/ & & 0.25607e-09_rb,0.34624e-06_rb,0.62966e-06_rb,0.88677e-06_rb,0.11107e-05_rb /) kbo(:, 4,40, 1) = (/ & & 0.24372e-09_rb,0.38926e-06_rb,0.70732e-06_rb,0.99430e-06_rb,0.12402e-05_rb /) kbo(:, 5,40, 1) = (/ & & 0.23176e-09_rb,0.43465e-06_rb,0.78943e-06_rb,0.11107e-05_rb,0.13787e-05_rb /) kbo(:, 1,41, 1) = (/ & & 0.23903e-09_rb,0.21323e-06_rb,0.38855e-06_rb,0.54701e-06_rb,0.69781e-06_rb /) kbo(:, 2,41, 1) = (/ & & 0.22487e-09_rb,0.24332e-06_rb,0.44328e-06_rb,0.62397e-06_rb,0.78774e-06_rb /) kbo(:, 3,41, 1) = (/ & & 0.21236e-09_rb,0.27581e-06_rb,0.50170e-06_rb,0.70664e-06_rb,0.88427e-06_rb /) kbo(:, 4,41, 1) = (/ & & 0.20204e-09_rb,0.31066e-06_rb,0.56435e-06_rb,0.79384e-06_rb,0.98899e-06_rb /) kbo(:, 5,41, 1) = (/ & & 0.19209e-09_rb,0.34753e-06_rb,0.63119e-06_rb,0.88787e-06_rb,0.11007e-05_rb /) kbo(:, 1,42, 1) = (/ & & 0.19868e-09_rb,0.16950e-06_rb,0.30885e-06_rb,0.43426e-06_rb,0.55336e-06_rb /) kbo(:, 2,42, 1) = (/ & & 0.18681e-09_rb,0.19338e-06_rb,0.35250e-06_rb,0.49622e-06_rb,0.62628e-06_rb /) kbo(:, 3,42, 1) = (/ & & 0.17649e-09_rb,0.21963e-06_rb,0.39950e-06_rb,0.56269e-06_rb,0.70396e-06_rb /) kbo(:, 4,42, 1) = (/ & & 0.16753e-09_rb,0.24778e-06_rb,0.45013e-06_rb,0.63342e-06_rb,0.78770e-06_rb /) kbo(:, 5,42, 1) = (/ & & 0.15930e-09_rb,0.27772e-06_rb,0.50439e-06_rb,0.70945e-06_rb,0.87783e-06_rb /) kbo(:, 1,43, 1) = (/ & & 0.16577e-09_rb,0.13332e-06_rb,0.24323e-06_rb,0.34184e-06_rb,0.43594e-06_rb /) kbo(:, 2,43, 1) = (/ & & 0.15597e-09_rb,0.15245e-06_rb,0.27801e-06_rb,0.39130e-06_rb,0.49460e-06_rb /) kbo(:, 3,43, 1) = (/ & & 0.14721e-09_rb,0.17354e-06_rb,0.31584e-06_rb,0.44499e-06_rb,0.55705e-06_rb /) kbo(:, 4,43, 1) = (/ & & 0.13936e-09_rb,0.19625e-06_rb,0.35661e-06_rb,0.50189e-06_rb,0.62398e-06_rb /) kbo(:, 5,43, 1) = (/ & & 0.13255e-09_rb,0.22044e-06_rb,0.40034e-06_rb,0.56308e-06_rb,0.69634e-06_rb /) kbo(:, 1,44, 1) = (/ & & 0.13861e-09_rb,0.10445e-06_rb,0.19058e-06_rb,0.26841e-06_rb,0.34233e-06_rb /) kbo(:, 2,44, 1) = (/ & & 0.13027e-09_rb,0.11974e-06_rb,0.21836e-06_rb,0.30744e-06_rb,0.38897e-06_rb /) kbo(:, 3,44, 1) = (/ & & 0.12290e-09_rb,0.13662e-06_rb,0.24864e-06_rb,0.35065e-06_rb,0.43916e-06_rb /) kbo(:, 4,44, 1) = (/ & & 0.11611e-09_rb,0.15484e-06_rb,0.28155e-06_rb,0.39627e-06_rb,0.49273e-06_rb /) kbo(:, 5,44, 1) = (/ & & 0.11042e-09_rb,0.17431e-06_rb,0.31666e-06_rb,0.44540e-06_rb,0.55087e-06_rb /) kbo(:, 1,45, 1) = (/ & & 0.11581e-09_rb,0.81915e-07_rb,0.14915e-06_rb,0.21140e-06_rb,0.26987e-06_rb /) kbo(:, 2,45, 1) = (/ & & 0.10906e-09_rb,0.94077e-07_rb,0.17143e-06_rb,0.24173e-06_rb,0.30586e-06_rb /) kbo(:, 3,45, 1) = (/ & & 0.10254e-09_rb,0.10745e-06_rb,0.19582e-06_rb,0.27606e-06_rb,0.34593e-06_rb /) kbo(:, 4,45, 1) = (/ & & 0.96757e-10_rb,0.12205e-06_rb,0.22201e-06_rb,0.31271e-06_rb,0.38876e-06_rb /) kbo(:, 5,45, 1) = (/ & & 0.91979e-10_rb,0.13772e-06_rb,0.25015e-06_rb,0.35208e-06_rb,0.43561e-06_rb /) kbo(:, 1,46, 1) = (/ & & 0.96889e-10_rb,0.64116e-07_rb,0.11708e-06_rb,0.16455e-06_rb,0.21036e-06_rb /) kbo(:, 2,46, 1) = (/ & & 0.91281e-10_rb,0.73641e-07_rb,0.13436e-06_rb,0.18895e-06_rb,0.23951e-06_rb /) kbo(:, 3,46, 1) = (/ & & 0.85830e-10_rb,0.84161e-07_rb,0.15360e-06_rb,0.21643e-06_rb,0.27176e-06_rb /) kbo(:, 4,46, 1) = (/ & & 0.81048e-10_rb,0.95867e-07_rb,0.17447e-06_rb,0.24582e-06_rb,0.30613e-06_rb /) kbo(:, 5,46, 1) = (/ & & 0.76712e-10_rb,0.10844e-06_rb,0.19706e-06_rb,0.27743e-06_rb,0.34329e-06_rb /) kbo(:, 1,47, 1) = (/ & & 0.81516e-10_rb,0.49698e-07_rb,0.90596e-07_rb,0.12727e-06_rb,0.16313e-06_rb /) kbo(:, 2,47, 1) = (/ & & 0.76609e-10_rb,0.57132e-07_rb,0.10433e-06_rb,0.14694e-06_rb,0.18672e-06_rb /) kbo(:, 3,47, 1) = (/ & & 0.71975e-10_rb,0.65534e-07_rb,0.11955e-06_rb,0.16850e-06_rb,0.21215e-06_rb /) kbo(:, 4,47, 1) = (/ & & 0.67908e-10_rb,0.74829e-07_rb,0.13619e-06_rb,0.19209e-06_rb,0.23959e-06_rb /) kbo(:, 5,47, 1) = (/ & & 0.64117e-10_rb,0.84872e-07_rb,0.15433e-06_rb,0.21733e-06_rb,0.26915e-06_rb /) kbo(:, 1,48, 1) = (/ & & 0.68429e-10_rb,0.38715e-07_rb,0.69854e-07_rb,0.98377e-07_rb,0.12619e-06_rb /) kbo(:, 2,48, 1) = (/ & & 0.64236e-10_rb,0.44375e-07_rb,0.80895e-07_rb,0.11471e-06_rb,0.14604e-06_rb /) kbo(:, 3,48, 1) = (/ & & 0.60510e-10_rb,0.51025e-07_rb,0.92977e-07_rb,0.13123e-06_rb,0.16542e-06_rb /) kbo(:, 4,48, 1) = (/ & & 0.56851e-10_rb,0.58345e-07_rb,0.10633e-06_rb,0.14991e-06_rb,0.18745e-06_rb /) kbo(:, 5,48, 1) = (/ & & 0.53674e-10_rb,0.66346e-07_rb,0.12070e-06_rb,0.17001e-06_rb,0.21095e-06_rb /) kbo(:, 1,49, 1) = (/ & & 0.57387e-10_rb,0.29800e-07_rb,0.53817e-07_rb,0.75906e-07_rb,0.97710e-07_rb /) kbo(:, 2,49, 1) = (/ & & 0.53960e-10_rb,0.34500e-07_rb,0.63205e-07_rb,0.88655e-07_rb,0.11310e-06_rb /) kbo(:, 3,49, 1) = (/ & & 0.50740e-10_rb,0.39684e-07_rb,0.72502e-07_rb,0.10193e-06_rb,0.12892e-06_rb /) kbo(:, 4,49, 1) = (/ & & 0.47710e-10_rb,0.45418e-07_rb,0.82941e-07_rb,0.11692e-06_rb,0.14649e-06_rb /) kbo(:, 5,49, 1) = (/ & & 0.45050e-10_rb,0.51797e-07_rb,0.94320e-07_rb,0.13296e-06_rb,0.16526e-06_rb /) kbo(:, 1,50, 1) = (/ & & 0.48010e-10_rb,0.22999e-07_rb,0.41682e-07_rb,0.58975e-07_rb,0.75898e-07_rb /) kbo(:, 2,50, 1) = (/ & & 0.45282e-10_rb,0.26917e-07_rb,0.48929e-07_rb,0.68765e-07_rb,0.87983e-07_rb /) kbo(:, 3,50, 1) = (/ & & 0.42531e-10_rb,0.30879e-07_rb,0.56406e-07_rb,0.79593e-07_rb,0.10109e-06_rb /) kbo(:, 4,50, 1) = (/ & & 0.40002e-10_rb,0.35470e-07_rb,0.64706e-07_rb,0.91312e-07_rb,0.11473e-06_rb /) kbo(:, 5,50, 1) = (/ & & 0.37674e-10_rb,0.40542e-07_rb,0.73834e-07_rb,0.10412e-06_rb,0.12967e-06_rb /) kbo(:, 1,51, 1) = (/ & & 0.40094e-10_rb,0.17810e-07_rb,0.32412e-07_rb,0.45985e-07_rb,0.59041e-07_rb /) kbo(:, 2,51, 1) = (/ & & 0.37901e-10_rb,0.21013e-07_rb,0.37921e-07_rb,0.53479e-07_rb,0.68479e-07_rb /) kbo(:, 3,51, 1) = (/ & & 0.35584e-10_rb,0.24100e-07_rb,0.43988e-07_rb,0.62409e-07_rb,0.79311e-07_rb /) kbo(:, 4,51, 1) = (/ & & 0.33516e-10_rb,0.27737e-07_rb,0.50544e-07_rb,0.71436e-07_rb,0.89912e-07_rb /) kbo(:, 5,51, 1) = (/ & & 0.31503e-10_rb,0.31738e-07_rb,0.57889e-07_rb,0.81591e-07_rb,0.10195e-06_rb /) kbo(:, 1,52, 1) = (/ & & 0.33462e-10_rb,0.13829e-07_rb,0.25227e-07_rb,0.35498e-07_rb,0.45793e-07_rb /) kbo(:, 2,52, 1) = (/ & & 0.31703e-10_rb,0.16272e-07_rb,0.29393e-07_rb,0.41476e-07_rb,0.53340e-07_rb /) kbo(:, 3,52, 1) = (/ & & 0.29856e-10_rb,0.18836e-07_rb,0.34537e-07_rb,0.48490e-07_rb,0.61791e-07_rb /) kbo(:, 4,52, 1) = (/ & & 0.28038e-10_rb,0.21684e-07_rb,0.39578e-07_rb,0.55751e-07_rb,0.70422e-07_rb /) kbo(:, 5,52, 1) = (/ & & 0.26375e-10_rb,0.24824e-07_rb,0.45389e-07_rb,0.63898e-07_rb,0.80071e-07_rb /) kbo(:, 1,53, 1) = (/ & & 0.27859e-10_rb,0.10757e-07_rb,0.19436e-07_rb,0.27368e-07_rb,0.35401e-07_rb /) kbo(:, 2,53, 1) = (/ & & 0.26482e-10_rb,0.12575e-07_rb,0.22786e-07_rb,0.32275e-07_rb,0.41504e-07_rb /) kbo(:, 3,53, 1) = (/ & & 0.25013e-10_rb,0.14718e-07_rb,0.26786e-07_rb,0.37657e-07_rb,0.48150e-07_rb /) kbo(:, 4,53, 1) = (/ & & 0.23481e-10_rb,0.16890e-07_rb,0.30875e-07_rb,0.43561e-07_rb,0.55284e-07_rb /) kbo(:, 5,53, 1) = (/ & & 0.22103e-10_rb,0.19405e-07_rb,0.35435e-07_rb,0.50046e-07_rb,0.62824e-07_rb /) kbo(:, 1,54, 1) = (/ & & 0.23262e-10_rb,0.83534e-08_rb,0.15033e-07_rb,0.21142e-07_rb,0.27491e-07_rb /) kbo(:, 2,54, 1) = (/ & & 0.22075e-10_rb,0.97821e-08_rb,0.17791e-07_rb,0.25298e-07_rb,0.32447e-07_rb /) kbo(:, 3,54, 1) = (/ & & 0.20887e-10_rb,0.11541e-07_rb,0.20852e-07_rb,0.29392e-07_rb,0.37643e-07_rb /) kbo(:, 4,54, 1) = (/ & & 0.19629e-10_rb,0.13228e-07_rb,0.24164e-07_rb,0.34330e-07_rb,0.43622e-07_rb /) kbo(:, 5,54, 1) = (/ & & 0.18475e-10_rb,0.15233e-07_rb,0.27779e-07_rb,0.39304e-07_rb,0.49432e-07_rb /) kbo(:, 1,55, 1) = (/ & & 0.19360e-10_rb,0.64888e-08_rb,0.11644e-07_rb,0.16387e-07_rb,0.21340e-07_rb /) kbo(:, 2,55, 1) = (/ & & 0.18372e-10_rb,0.76367e-08_rb,0.13947e-07_rb,0.19672e-07_rb,0.25401e-07_rb /) kbo(:, 3,55, 1) = (/ & & 0.17421e-10_rb,0.90083e-08_rb,0.16275e-07_rb,0.22971e-07_rb,0.29522e-07_rb /) kbo(:, 4,55, 1) = (/ & & 0.16413e-10_rb,0.10402e-07_rb,0.19081e-07_rb,0.26854e-07_rb,0.34233e-07_rb /) kbo(:, 5,55, 1) = (/ & & 0.15417e-10_rb,0.11984e-07_rb,0.21835e-07_rb,0.30856e-07_rb,0.38954e-07_rb /) kbo(:, 1,56, 1) = (/ & & 0.16094e-10_rb,0.50174e-08_rb,0.90283e-08_rb,0.12718e-07_rb,0.16576e-07_rb /) kbo(:, 2,56, 1) = (/ & & 0.15265e-10_rb,0.59747e-08_rb,0.10850e-07_rb,0.15297e-07_rb,0.19783e-07_rb /) kbo(:, 3,56, 1) = (/ & & 0.14515e-10_rb,0.70142e-08_rb,0.12699e-07_rb,0.17960e-07_rb,0.23171e-07_rb /) kbo(:, 4,56, 1) = (/ & & 0.13715e-10_rb,0.81626e-08_rb,0.14940e-07_rb,0.20994e-07_rb,0.26865e-07_rb /) kbo(:, 5,56, 1) = (/ & & 0.12880e-10_rb,0.94054e-08_rb,0.17206e-07_rb,0.24221e-07_rb,0.30739e-07_rb /) kbo(:, 1,57, 1) = (/ & & 0.13368e-10_rb,0.38838e-08_rb,0.69991e-08_rb,0.98372e-08_rb,0.12821e-07_rb /) kbo(:, 2,57, 1) = (/ & & 0.12743e-10_rb,0.46751e-08_rb,0.84243e-08_rb,0.11856e-07_rb,0.15406e-07_rb /) kbo(:, 3,57, 1) = (/ & & 0.12087e-10_rb,0.54642e-08_rb,0.99295e-08_rb,0.14069e-07_rb,0.18144e-07_rb /) kbo(:, 4,57, 1) = (/ & & 0.11442e-10_rb,0.64461e-08_rb,0.11657e-07_rb,0.16407e-07_rb,0.21072e-07_rb /) kbo(:, 5,57, 1) = (/ & & 0.10759e-10_rb,0.73711e-08_rb,0.13478e-07_rb,0.19106e-07_rb,0.24314e-07_rb /) kbo(:, 1,58, 1) = (/ & & 0.11081e-10_rb,0.30148e-08_rb,0.54165e-08_rb,0.76421e-08_rb,0.99496e-08_rb /) kbo(:, 2,58, 1) = (/ & & 0.10598e-10_rb,0.36337e-08_rb,0.65375e-08_rb,0.92041e-08_rb,0.12025e-07_rb /) kbo(:, 3,58, 1) = (/ & & 0.10052e-10_rb,0.42712e-08_rb,0.77841e-08_rb,0.11053e-07_rb,0.14306e-07_rb /) kbo(:, 4,58, 1) = (/ & & 0.95308e-11_rb,0.50429e-08_rb,0.91133e-08_rb,0.12865e-07_rb,0.16554e-07_rb /) kbo(:, 5,58, 1) = (/ & & 0.89795e-11_rb,0.57979e-08_rb,0.10615e-07_rb,0.15051e-07_rb,0.19216e-07_rb /) kbo(:, 1,59, 1) = (/ & & 0.91194e-11_rb,0.24214e-08_rb,0.43496e-08_rb,0.61531e-08_rb,0.80136e-08_rb /) kbo(:, 2,59, 1) = (/ & & 0.87287e-11_rb,0.29232e-08_rb,0.52535e-08_rb,0.73966e-08_rb,0.96830e-08_rb /) kbo(:, 3,59, 1) = (/ & & 0.82765e-11_rb,0.34412e-08_rb,0.62788e-08_rb,0.88992e-08_rb,0.11534e-07_rb /) kbo(:, 4,59, 1) = (/ & & 0.78605e-11_rb,0.40632e-08_rb,0.73454e-08_rb,0.10382e-07_rb,0.13372e-07_rb /) kbo(:, 5,59, 1) = (/ & & 0.74127e-11_rb,0.46801e-08_rb,0.85910e-08_rb,0.12137e-07_rb,0.15530e-07_rb /) kbo(:, 1,13, 2) = (/ & & 0.17576e-05_rb,0.22518e-03_rb,0.36398e-03_rb,0.46505e-03_rb,0.97920e-03_rb /) kbo(:, 2,13, 2) = (/ & & 0.19522e-05_rb,0.25688e-03_rb,0.42724e-03_rb,0.54293e-03_rb,0.11261e-02_rb /) kbo(:, 3,13, 2) = (/ & & 0.21134e-05_rb,0.29382e-03_rb,0.49778e-03_rb,0.63186e-03_rb,0.12961e-02_rb /) kbo(:, 4,13, 2) = (/ & & 0.22680e-05_rb,0.33585e-03_rb,0.57095e-03_rb,0.73149e-03_rb,0.14857e-02_rb /) kbo(:, 5,13, 2) = (/ & & 0.23939e-05_rb,0.38326e-03_rb,0.64688e-03_rb,0.84120e-03_rb,0.16815e-02_rb /) kbo(:, 1,14, 2) = (/ & & 0.13866e-05_rb,0.18816e-03_rb,0.30541e-03_rb,0.39082e-03_rb,0.80614e-03_rb /) kbo(:, 2,14, 2) = (/ & & 0.14825e-05_rb,0.21525e-03_rb,0.35906e-03_rb,0.45772e-03_rb,0.92976e-03_rb /) kbo(:, 3,14, 2) = (/ & & 0.16428e-05_rb,0.24664e-03_rb,0.41891e-03_rb,0.53341e-03_rb,0.10689e-02_rb /) kbo(:, 4,14, 2) = (/ & & 0.17807e-05_rb,0.28218e-03_rb,0.48021e-03_rb,0.61861e-03_rb,0.12236e-02_rb /) kbo(:, 5,14, 2) = (/ & & 0.18685e-05_rb,0.32204e-03_rb,0.54385e-03_rb,0.71223e-03_rb,0.13844e-02_rb /) kbo(:, 1,15, 2) = (/ & & 0.10483e-05_rb,0.15699e-03_rb,0.25571e-03_rb,0.32803e-03_rb,0.65873e-03_rb /) kbo(:, 2,15, 2) = (/ & & 0.11310e-05_rb,0.18016e-03_rb,0.30071e-03_rb,0.38534e-03_rb,0.75916e-03_rb /) kbo(:, 3,15, 2) = (/ & & 0.12330e-05_rb,0.20672e-03_rb,0.35181e-03_rb,0.44940e-03_rb,0.87041e-03_rb /) kbo(:, 4,15, 2) = (/ & & 0.13426e-05_rb,0.23650e-03_rb,0.40292e-03_rb,0.52246e-03_rb,0.99445e-03_rb /) kbo(:, 5,15, 2) = (/ & & 0.14514e-05_rb,0.26979e-03_rb,0.45684e-03_rb,0.60195e-03_rb,0.11173e-02_rb /) kbo(:, 1,16, 2) = (/ & & 0.80663e-06_rb,0.13098e-03_rb,0.21382e-03_rb,0.27539e-03_rb,0.53727e-03_rb /) kbo(:, 2,16, 2) = (/ & & 0.85747e-06_rb,0.15058e-03_rb,0.25201e-03_rb,0.32406e-03_rb,0.61573e-03_rb /) kbo(:, 3,16, 2) = (/ & & 0.92435e-06_rb,0.17283e-03_rb,0.29542e-03_rb,0.37879e-03_rb,0.70140e-03_rb /) kbo(:, 4,16, 2) = (/ & & 0.99747e-06_rb,0.19793e-03_rb,0.33807e-03_rb,0.44076e-03_rb,0.79468e-03_rb /) kbo(:, 5,16, 2) = (/ & & 0.10819e-05_rb,0.22582e-03_rb,0.38354e-03_rb,0.50663e-03_rb,0.88980e-03_rb /) kbo(:, 1,17, 2) = (/ & & 0.61772e-06_rb,0.10941e-03_rb,0.17926e-03_rb,0.23144e-03_rb,0.43554e-03_rb /) kbo(:, 2,17, 2) = (/ & & 0.65718e-06_rb,0.12576e-03_rb,0.21174e-03_rb,0.27275e-03_rb,0.49750e-03_rb /) kbo(:, 3,17, 2) = (/ & & 0.69949e-06_rb,0.14461e-03_rb,0.24852e-03_rb,0.31937e-03_rb,0.56462e-03_rb /) kbo(:, 4,17, 2) = (/ & & 0.75387e-06_rb,0.16580e-03_rb,0.28374e-03_rb,0.37213e-03_rb,0.63507e-03_rb /) kbo(:, 5,17, 2) = (/ & & 0.79715e-06_rb,0.18926e-03_rb,0.32236e-03_rb,0.42588e-03_rb,0.70728e-03_rb /) kbo(:, 1,18, 2) = (/ & & 0.47188e-06_rb,0.91952e-04_rb,0.15100e-03_rb,0.19495e-03_rb,0.35543e-03_rb /) kbo(:, 2,18, 2) = (/ & & 0.50937e-06_rb,0.10513e-03_rb,0.17852e-03_rb,0.22999e-03_rb,0.40250e-03_rb /) kbo(:, 3,18, 2) = (/ & & 0.54206e-06_rb,0.12130e-03_rb,0.20959e-03_rb,0.26979e-03_rb,0.45662e-03_rb /) kbo(:, 4,18, 2) = (/ & & 0.57328e-06_rb,0.13936e-03_rb,0.23815e-03_rb,0.31451e-03_rb,0.51113e-03_rb /) kbo(:, 5,18, 2) = (/ & & 0.61077e-06_rb,0.15916e-03_rb,0.27075e-03_rb,0.35967e-03_rb,0.57076e-03_rb /) kbo(:, 1,19, 2) = (/ & & 0.36005e-06_rb,0.76984e-04_rb,0.12743e-03_rb,0.16422e-03_rb,0.28885e-03_rb /) kbo(:, 2,19, 2) = (/ & & 0.38988e-06_rb,0.88029e-04_rb,0.15067e-03_rb,0.19396e-03_rb,0.32854e-03_rb /) kbo(:, 3,19, 2) = (/ & & 0.41989e-06_rb,0.10172e-03_rb,0.17539e-03_rb,0.22784e-03_rb,0.37045e-03_rb /) kbo(:, 4,19, 2) = (/ & & 0.44092e-06_rb,0.11727e-03_rb,0.20004e-03_rb,0.26592e-03_rb,0.41598e-03_rb /) kbo(:, 5,19, 2) = (/ & & 0.46883e-06_rb,0.13386e-03_rb,0.22769e-03_rb,0.30285e-03_rb,0.46550e-03_rb /) kbo(:, 1,20, 2) = (/ & & 0.27908e-06_rb,0.64450e-04_rb,0.10795e-03_rb,0.13889e-03_rb,0.23878e-03_rb /) kbo(:, 2,20, 2) = (/ & & 0.30934e-06_rb,0.74187e-04_rb,0.12773e-03_rb,0.16417e-03_rb,0.27017e-03_rb /) kbo(:, 3,20, 2) = (/ & & 0.33086e-06_rb,0.85801e-04_rb,0.14782e-03_rb,0.19307e-03_rb,0.30508e-03_rb /) kbo(:, 4,20, 2) = (/ & & 0.35058e-06_rb,0.98861e-04_rb,0.16868e-03_rb,0.22508e-03_rb,0.34249e-03_rb /) kbo(:, 5,20, 2) = (/ & & 0.37069e-06_rb,0.11306e-03_rb,0.19188e-03_rb,0.25601e-03_rb,0.38519e-03_rb /) kbo(:, 1,21, 2) = (/ & & 0.22418e-06_rb,0.54095e-04_rb,0.91414e-04_rb,0.11757e-03_rb,0.19697e-03_rb /) kbo(:, 2,21, 2) = (/ & & 0.24559e-06_rb,0.62567e-04_rb,0.10819e-03_rb,0.13908e-03_rb,0.22284e-03_rb /) kbo(:, 3,21, 2) = (/ & & 0.26169e-06_rb,0.72383e-04_rb,0.12481e-03_rb,0.16368e-03_rb,0.25205e-03_rb /) kbo(:, 4,21, 2) = (/ & & 0.27885e-06_rb,0.83446e-04_rb,0.14258e-03_rb,0.18910e-03_rb,0.28386e-03_rb /) kbo(:, 5,21, 2) = (/ & & 0.29344e-06_rb,0.95540e-04_rb,0.16198e-03_rb,0.21609e-03_rb,0.31947e-03_rb /) kbo(:, 1,22, 2) = (/ & & 0.17941e-06_rb,0.45830e-04_rb,0.78176e-04_rb,0.10061e-03_rb,0.16313e-03_rb /) kbo(:, 2,22, 2) = (/ & & 0.19397e-06_rb,0.53139e-04_rb,0.92556e-04_rb,0.11901e-03_rb,0.18482e-03_rb /) kbo(:, 3,22, 2) = (/ & & 0.20707e-06_rb,0.61593e-04_rb,0.10579e-03_rb,0.14008e-03_rb,0.20965e-03_rb /) kbo(:, 4,22, 2) = (/ & & 0.22071e-06_rb,0.71016e-04_rb,0.12100e-03_rb,0.16128e-03_rb,0.23661e-03_rb /) kbo(:, 5,22, 2) = (/ & & 0.23148e-06_rb,0.81286e-04_rb,0.13795e-03_rb,0.18401e-03_rb,0.26580e-03_rb /) kbo(:, 1,23, 2) = (/ & & 0.14291e-06_rb,0.38825e-04_rb,0.66866e-04_rb,0.86140e-04_rb,0.13511e-03_rb /) kbo(:, 2,23, 2) = (/ & & 0.15179e-06_rb,0.45135e-04_rb,0.78450e-04_rb,0.10194e-03_rb,0.15369e-03_rb /) kbo(:, 3,23, 2) = (/ & & 0.16326e-06_rb,0.52399e-04_rb,0.89919e-04_rb,0.12001e-03_rb,0.17441e-03_rb /) kbo(:, 4,23, 2) = (/ & & 0.17307e-06_rb,0.60440e-04_rb,0.10293e-03_rb,0.13735e-03_rb,0.19668e-03_rb /) kbo(:, 5,23, 2) = (/ & & 0.18137e-06_rb,0.69189e-04_rb,0.11759e-03_rb,0.15651e-03_rb,0.21998e-03_rb /) kbo(:, 1,24, 2) = (/ & & 0.11245e-06_rb,0.32862e-04_rb,0.57166e-04_rb,0.73828e-04_rb,0.11185e-03_rb /) kbo(:, 2,24, 2) = (/ & & 0.11958e-06_rb,0.38281e-04_rb,0.66635e-04_rb,0.87390e-04_rb,0.12740e-03_rb /) kbo(:, 3,24, 2) = (/ & & 0.12702e-06_rb,0.44519e-04_rb,0.76606e-04_rb,0.10190e-03_rb,0.14418e-03_rb /) kbo(:, 4,24, 2) = (/ & & 0.13467e-06_rb,0.51373e-04_rb,0.87622e-04_rb,0.11700e-03_rb,0.16205e-03_rb /) kbo(:, 5,24, 2) = (/ & & 0.14120e-06_rb,0.58874e-04_rb,0.10019e-03_rb,0.13348e-03_rb,0.18188e-03_rb /) kbo(:, 1,25, 2) = (/ & & 0.88242e-07_rb,0.27950e-04_rb,0.49010e-04_rb,0.63434e-04_rb,0.92877e-04_rb /) kbo(:, 2,25, 2) = (/ & & 0.94383e-07_rb,0.32610e-04_rb,0.56690e-04_rb,0.75114e-04_rb,0.10531e-03_rb /) kbo(:, 3,25, 2) = (/ & & 0.99712e-07_rb,0.37929e-04_rb,0.65204e-04_rb,0.87113e-04_rb,0.11931e-03_rb /) kbo(:, 4,25, 2) = (/ & & 0.10473e-06_rb,0.43778e-04_rb,0.74805e-04_rb,0.99950e-04_rb,0.13427e-03_rb /) kbo(:, 5,25, 2) = (/ & & 0.10988e-06_rb,0.50229e-04_rb,0.85598e-04_rb,0.11406e-03_rb,0.15050e-03_rb /) kbo(:, 1,26, 2) = (/ & & 0.69696e-07_rb,0.23895e-04_rb,0.42166e-04_rb,0.54733e-04_rb,0.77146e-04_rb /) kbo(:, 2,26, 2) = (/ & & 0.74390e-07_rb,0.27921e-04_rb,0.48387e-04_rb,0.64817e-04_rb,0.87607e-04_rb /) kbo(:, 3,26, 2) = (/ & & 0.78856e-07_rb,0.32497e-04_rb,0.55692e-04_rb,0.74691e-04_rb,0.99387e-04_rb /) kbo(:, 4,26, 2) = (/ & & 0.83253e-07_rb,0.37491e-04_rb,0.64130e-04_rb,0.85609e-04_rb,0.11193e-03_rb /) kbo(:, 5,26, 2) = (/ & & 0.87675e-07_rb,0.43011e-04_rb,0.73398e-04_rb,0.97828e-04_rb,0.12574e-03_rb /) kbo(:, 1,27, 2) = (/ & & 0.54619e-07_rb,0.20469e-04_rb,0.35869e-04_rb,0.47259e-04_rb,0.64151e-04_rb /) kbo(:, 2,27, 2) = (/ & & 0.58657e-07_rb,0.23925e-04_rb,0.41468e-04_rb,0.55499e-04_rb,0.72911e-04_rb /) kbo(:, 3,27, 2) = (/ & & 0.62532e-07_rb,0.27839e-04_rb,0.47735e-04_rb,0.63985e-04_rb,0.82955e-04_rb /) kbo(:, 4,27, 2) = (/ & & 0.66184e-07_rb,0.32141e-04_rb,0.55001e-04_rb,0.73456e-04_rb,0.93567e-04_rb /) kbo(:, 5,27, 2) = (/ & & 0.69305e-07_rb,0.36605e-04_rb,0.62968e-04_rb,0.83938e-04_rb,0.10517e-03_rb /) kbo(:, 1,28, 2) = (/ & & 0.43348e-07_rb,0.17476e-04_rb,0.30692e-04_rb,0.40803e-04_rb,0.53271e-04_rb /) kbo(:, 2,28, 2) = (/ & & 0.46348e-07_rb,0.20496e-04_rb,0.35498e-04_rb,0.47629e-04_rb,0.60809e-04_rb /) kbo(:, 3,28, 2) = (/ & & 0.49507e-07_rb,0.23857e-04_rb,0.40974e-04_rb,0.54947e-04_rb,0.69222e-04_rb /) kbo(:, 4,28, 2) = (/ & & 0.52419e-07_rb,0.27560e-04_rb,0.47205e-04_rb,0.63044e-04_rb,0.78123e-04_rb /) kbo(:, 5,28, 2) = (/ & & 0.54842e-07_rb,0.31094e-04_rb,0.54028e-04_rb,0.72116e-04_rb,0.87834e-04_rb /) kbo(:, 1,29, 2) = (/ & & 0.34480e-07_rb,0.15027e-04_rb,0.26268e-04_rb,0.35358e-04_rb,0.44711e-04_rb /) kbo(:, 2,29, 2) = (/ & & 0.36985e-07_rb,0.17638e-04_rb,0.30405e-04_rb,0.40938e-04_rb,0.51054e-04_rb /) kbo(:, 3,29, 2) = (/ & & 0.39476e-07_rb,0.20512e-04_rb,0.35237e-04_rb,0.47207e-04_rb,0.58034e-04_rb /) kbo(:, 4,29, 2) = (/ & & 0.41650e-07_rb,0.23694e-04_rb,0.40586e-04_rb,0.54286e-04_rb,0.65708e-04_rb /) kbo(:, 5,29, 2) = (/ & & 0.43693e-07_rb,0.26438e-04_rb,0.46467e-04_rb,0.62035e-04_rb,0.73872e-04_rb /) kbo(:, 1,30, 2) = (/ & & 0.27402e-07_rb,0.12932e-04_rb,0.22585e-04_rb,0.30365e-04_rb,0.37471e-04_rb /) kbo(:, 2,30, 2) = (/ & & 0.29377e-07_rb,0.15183e-04_rb,0.26158e-04_rb,0.35195e-04_rb,0.42867e-04_rb /) kbo(:, 3,30, 2) = (/ & & 0.31353e-07_rb,0.17658e-04_rb,0.30343e-04_rb,0.40606e-04_rb,0.48858e-04_rb /) kbo(:, 4,30, 2) = (/ & & 0.33056e-07_rb,0.20286e-04_rb,0.34924e-04_rb,0.46735e-04_rb,0.55329e-04_rb /) kbo(:, 5,30, 2) = (/ & & 0.34673e-07_rb,0.22451e-04_rb,0.39717e-04_rb,0.53329e-04_rb,0.62151e-04_rb /) kbo(:, 1,31, 2) = (/ & & 0.21716e-07_rb,0.11156e-04_rb,0.19427e-04_rb,0.26169e-04_rb,0.31512e-04_rb /) kbo(:, 2,31, 2) = (/ & & 0.23313e-07_rb,0.13091e-04_rb,0.22568e-04_rb,0.30377e-04_rb,0.36216e-04_rb /) kbo(:, 3,31, 2) = (/ & & 0.24803e-07_rb,0.15221e-04_rb,0.26157e-04_rb,0.35050e-04_rb,0.41256e-04_rb /) kbo(:, 4,31, 2) = (/ & & 0.26260e-07_rb,0.17277e-04_rb,0.30091e-04_rb,0.40288e-04_rb,0.46693e-04_rb /) kbo(:, 5,31, 2) = (/ & & 0.27334e-07_rb,0.19159e-04_rb,0.33773e-04_rb,0.45892e-04_rb,0.52314e-04_rb /) kbo(:, 1,32, 2) = (/ & & 0.17123e-07_rb,0.96453e-05_rb,0.16688e-04_rb,0.22528e-04_rb,0.26648e-04_rb /) kbo(:, 2,32, 2) = (/ & & 0.18489e-07_rb,0.11305e-04_rb,0.19464e-04_rb,0.26137e-04_rb,0.30617e-04_rb /) kbo(:, 3,32, 2) = (/ & & 0.19621e-07_rb,0.13143e-04_rb,0.22554e-04_rb,0.30238e-04_rb,0.34876e-04_rb /) kbo(:, 4,32, 2) = (/ & & 0.20653e-07_rb,0.14698e-04_rb,0.25928e-04_rb,0.34712e-04_rb,0.39398e-04_rb /) kbo(:, 5,32, 2) = (/ & & 0.21500e-07_rb,0.16315e-04_rb,0.28651e-04_rb,0.39302e-04_rb,0.44097e-04_rb /) kbo(:, 1,33, 2) = (/ & & 0.13414e-07_rb,0.83355e-05_rb,0.14409e-04_rb,0.19461e-04_rb,0.22582e-04_rb /) kbo(:, 2,33, 2) = (/ & & 0.14456e-07_rb,0.97647e-05_rb,0.16818e-04_rb,0.22578e-04_rb,0.25923e-04_rb /) kbo(:, 3,33, 2) = (/ & & 0.15416e-07_rb,0.11250e-04_rb,0.19451e-04_rb,0.26119e-04_rb,0.29482e-04_rb /) kbo(:, 4,33, 2) = (/ & & 0.16184e-07_rb,0.12520e-04_rb,0.22064e-04_rb,0.29911e-04_rb,0.33230e-04_rb /) kbo(:, 5,33, 2) = (/ & & 0.16861e-07_rb,0.13810e-04_rb,0.24332e-04_rb,0.33363e-04_rb,0.37135e-04_rb /) kbo(:, 1,34, 2) = (/ & & 0.10575e-07_rb,0.71786e-05_rb,0.12407e-04_rb,0.16719e-04_rb,0.19158e-04_rb /) kbo(:, 2,34, 2) = (/ & & 0.11328e-07_rb,0.84093e-05_rb,0.14457e-04_rb,0.19433e-04_rb,0.21940e-04_rb /) kbo(:, 3,34, 2) = (/ & & 0.12049e-07_rb,0.95860e-05_rb,0.16718e-04_rb,0.22425e-04_rb,0.24932e-04_rb /) kbo(:, 4,34, 2) = (/ & & 0.12689e-07_rb,0.10655e-04_rb,0.18771e-04_rb,0.25647e-04_rb,0.28065e-04_rb /) kbo(:, 5,34, 2) = (/ & & 0.13241e-07_rb,0.11703e-04_rb,0.20628e-04_rb,0.28184e-04_rb,0.31323e-04_rb /) kbo(:, 1,35, 2) = (/ & & 0.82489e-08_rb,0.60850e-05_rb,0.10505e-04_rb,0.14140e-04_rb,0.16004e-04_rb /) kbo(:, 2,35, 2) = (/ & & 0.88532e-08_rb,0.71306e-05_rb,0.12250e-04_rb,0.16463e-04_rb,0.18333e-04_rb /) kbo(:, 3,35, 2) = (/ & & 0.93468e-08_rb,0.80269e-05_rb,0.14158e-04_rb,0.18989e-04_rb,0.20835e-04_rb /) kbo(:, 4,35, 2) = (/ & & 0.98478e-08_rb,0.89450e-05_rb,0.15691e-04_rb,0.21576e-04_rb,0.23428e-04_rb /) kbo(:, 5,35, 2) = (/ & & 0.10332e-07_rb,0.98354e-05_rb,0.17293e-04_rb,0.23618e-04_rb,0.26128e-04_rb /) kbo(:, 1,36, 2) = (/ & & 0.63951e-08_rb,0.50545e-05_rb,0.87378e-05_rb,0.11778e-04_rb,0.13176e-04_rb /) kbo(:, 2,36, 2) = (/ & & 0.68252e-08_rb,0.59348e-05_rb,0.10193e-04_rb,0.13730e-04_rb,0.15104e-04_rb /) kbo(:, 3,36, 2) = (/ & & 0.72445e-08_rb,0.66480e-05_rb,0.11783e-04_rb,0.15832e-04_rb,0.17160e-04_rb /) kbo(:, 4,36, 2) = (/ & & 0.75871e-08_rb,0.73960e-05_rb,0.13005e-04_rb,0.17866e-04_rb,0.19295e-04_rb /) kbo(:, 5,36, 2) = (/ & & 0.79075e-08_rb,0.81558e-05_rb,0.14306e-04_rb,0.19617e-04_rb,0.21532e-04_rb /) kbo(:, 1,37, 2) = (/ & & 0.50574e-08_rb,0.41215e-05_rb,0.71249e-05_rb,0.95923e-05_rb,0.10686e-04_rb /) kbo(:, 2,37, 2) = (/ & & 0.53967e-08_rb,0.48518e-05_rb,0.83286e-05_rb,0.11206e-04_rb,0.12269e-04_rb /) kbo(:, 3,37, 2) = (/ & & 0.57517e-08_rb,0.54411e-05_rb,0.96383e-05_rb,0.12942e-04_rb,0.13958e-04_rb /) kbo(:, 4,37, 2) = (/ & & 0.60273e-08_rb,0.60590e-05_rb,0.10644e-04_rb,0.14619e-04_rb,0.15714e-04_rb /) kbo(:, 5,37, 2) = (/ & & 0.62775e-08_rb,0.66900e-05_rb,0.11723e-04_rb,0.16077e-04_rb,0.17560e-04_rb /) kbo(:, 1,38, 2) = (/ & & 0.39948e-08_rb,0.33535e-05_rb,0.57976e-05_rb,0.77989e-05_rb,0.86548e-05_rb /) kbo(:, 2,38, 2) = (/ & & 0.42642e-08_rb,0.39584e-05_rb,0.67932e-05_rb,0.91290e-05_rb,0.99507e-05_rb /) kbo(:, 3,38, 2) = (/ & & 0.45529e-08_rb,0.44478e-05_rb,0.78746e-05_rb,0.10563e-04_rb,0.11338e-04_rb /) kbo(:, 4,38, 2) = (/ & & 0.47911e-08_rb,0.49592e-05_rb,0.87019e-05_rb,0.11950e-04_rb,0.12783e-04_rb /) kbo(:, 5,38, 2) = (/ & & 0.49959e-08_rb,0.54820e-05_rb,0.95964e-05_rb,0.13155e-04_rb,0.14308e-04_rb /) kbo(:, 1,39, 2) = (/ & & 0.31607e-08_rb,0.27260e-05_rb,0.47143e-05_rb,0.63381e-05_rb,0.70094e-05_rb /) kbo(:, 2,39, 2) = (/ & & 0.33771e-08_rb,0.32263e-05_rb,0.55352e-05_rb,0.74322e-05_rb,0.80695e-05_rb /) kbo(:, 3,39, 2) = (/ & & 0.35907e-08_rb,0.36316e-05_rb,0.64256e-05_rb,0.86133e-05_rb,0.92019e-05_rb /) kbo(:, 4,39, 2) = (/ & & 0.37920e-08_rb,0.40555e-05_rb,0.71128e-05_rb,0.97677e-05_rb,0.10392e-04_rb /) kbo(:, 5,39, 2) = (/ & & 0.39687e-08_rb,0.44882e-05_rb,0.78499e-05_rb,0.10753e-04_rb,0.11647e-04_rb /) kbo(:, 1,40, 2) = (/ & & 0.25137e-08_rb,0.21782e-05_rb,0.37700e-05_rb,0.50636e-05_rb,0.55872e-05_rb /) kbo(:, 2,40, 2) = (/ & & 0.26953e-08_rb,0.25872e-05_rb,0.44411e-05_rb,0.59538e-05_rb,0.64693e-05_rb /) kbo(:, 3,40, 2) = (/ & & 0.28738e-08_rb,0.29415e-05_rb,0.51697e-05_rb,0.69217e-05_rb,0.73806e-05_rb /) kbo(:, 4,40, 2) = (/ & & 0.30365e-08_rb,0.32887e-05_rb,0.57574e-05_rb,0.79115e-05_rb,0.83547e-05_rb /) kbo(:, 5,40, 2) = (/ & & 0.31827e-08_rb,0.36391e-05_rb,0.63730e-05_rb,0.87114e-05_rb,0.93854e-05_rb /) kbo(:, 1,41, 2) = (/ & & 0.20049e-08_rb,0.17350e-05_rb,0.30089e-05_rb,0.40342e-05_rb,0.44437e-05_rb /) kbo(:, 2,41, 2) = (/ & & 0.21522e-08_rb,0.20685e-05_rb,0.35532e-05_rb,0.47542e-05_rb,0.51577e-05_rb /) kbo(:, 3,41, 2) = (/ & & 0.22978e-08_rb,0.23716e-05_rb,0.41490e-05_rb,0.55459e-05_rb,0.59029e-05_rb /) kbo(:, 4,41, 2) = (/ & & 0.24277e-08_rb,0.26608e-05_rb,0.46585e-05_rb,0.63928e-05_rb,0.67015e-05_rb /) kbo(:, 5,41, 2) = (/ & & 0.25592e-08_rb,0.29434e-05_rb,0.51614e-05_rb,0.70376e-05_rb,0.75472e-05_rb /) kbo(:, 1,42, 2) = (/ & & 0.16007e-08_rb,0.13793e-05_rb,0.23939e-05_rb,0.32203e-05_rb,0.35347e-05_rb /) kbo(:, 2,42, 2) = (/ & & 0.17182e-08_rb,0.16509e-05_rb,0.28388e-05_rb,0.37950e-05_rb,0.41069e-05_rb /) kbo(:, 3,42, 2) = (/ & & 0.18364e-08_rb,0.19058e-05_rb,0.33250e-05_rb,0.44386e-05_rb,0.47169e-05_rb /) kbo(:, 4,42, 2) = (/ & & 0.19459e-08_rb,0.21436e-05_rb,0.37676e-05_rb,0.51389e-05_rb,0.53710e-05_rb /) kbo(:, 5,42, 2) = (/ & & 0.20555e-08_rb,0.23781e-05_rb,0.41722e-05_rb,0.56915e-05_rb,0.60613e-05_rb /) kbo(:, 1,43, 2) = (/ & & 0.12763e-08_rb,0.10855e-05_rb,0.18842e-05_rb,0.25355e-05_rb,0.27894e-05_rb /) kbo(:, 2,43, 2) = (/ & & 0.13693e-08_rb,0.13038e-05_rb,0.22434e-05_rb,0.29991e-05_rb,0.32452e-05_rb /) kbo(:, 3,43, 2) = (/ & & 0.14669e-08_rb,0.15227e-05_rb,0.26394e-05_rb,0.35195e-05_rb,0.37403e-05_rb /) kbo(:, 4,43, 2) = (/ & & 0.15621e-08_rb,0.17145e-05_rb,0.30188e-05_rb,0.40881e-05_rb,0.42757e-05_rb /) kbo(:, 5,43, 2) = (/ & & 0.16467e-08_rb,0.19093e-05_rb,0.33481e-05_rb,0.45768e-05_rb,0.48357e-05_rb /) kbo(:, 1,44, 2) = (/ & & 0.10164e-08_rb,0.84908e-06_rb,0.14741e-05_rb,0.19864e-05_rb,0.21744e-05_rb /) kbo(:, 2,44, 2) = (/ & & 0.10926e-08_rb,0.10232e-05_rb,0.17642e-05_rb,0.23536e-05_rb,0.25562e-05_rb /) kbo(:, 3,44, 2) = (/ & & 0.11717e-08_rb,0.12156e-05_rb,0.20836e-05_rb,0.27750e-05_rb,0.29547e-05_rb /) kbo(:, 4,44, 2) = (/ & & 0.12502e-08_rb,0.13671e-05_rb,0.24149e-05_rb,0.32374e-05_rb,0.33856e-05_rb /) kbo(:, 5,44, 2) = (/ & & 0.13204e-08_rb,0.15290e-05_rb,0.26801e-05_rb,0.36631e-05_rb,0.38430e-05_rb /) kbo(:, 1,45, 2) = (/ & & 0.80967e-09_rb,0.66247e-06_rb,0.11525e-05_rb,0.15557e-05_rb,0.16911e-05_rb /) kbo(:, 2,45, 2) = (/ & & 0.87091e-09_rb,0.80114e-06_rb,0.13838e-05_rb,0.18457e-05_rb,0.20071e-05_rb /) kbo(:, 3,45, 2) = (/ & & 0.93471e-09_rb,0.96063e-06_rb,0.16414e-05_rb,0.21862e-05_rb,0.23357e-05_rb /) kbo(:, 4,45, 2) = (/ & & 0.99996e-09_rb,0.10898e-05_rb,0.19287e-05_rb,0.25587e-05_rb,0.26765e-05_rb /) kbo(:, 5,45, 2) = (/ & & 0.10594e-08_rb,0.12255e-05_rb,0.21437e-05_rb,0.29239e-05_rb,0.30491e-05_rb /) kbo(:, 1,46, 2) = (/ & & 0.64438e-09_rb,0.51408e-06_rb,0.89692e-06_rb,0.12176e-05_rb,0.13094e-05_rb /) kbo(:, 2,46, 2) = (/ & & 0.69338e-09_rb,0.62335e-06_rb,0.10783e-05_rb,0.14408e-05_rb,0.15697e-05_rb /) kbo(:, 3,46, 2) = (/ & & 0.74249e-09_rb,0.75197e-06_rb,0.12859e-05_rb,0.17116e-05_rb,0.18286e-05_rb /) kbo(:, 4,46, 2) = (/ & & 0.79710e-09_rb,0.86785e-06_rb,0.15182e-05_rb,0.20117e-05_rb,0.21072e-05_rb /) kbo(:, 5,46, 2) = (/ & & 0.84966e-09_rb,0.97923e-06_rb,0.17156e-05_rb,0.23354e-05_rb,0.24096e-05_rb /) kbo(:, 1,47, 2) = (/ & & 0.51236e-09_rb,0.39483e-06_rb,0.69100e-06_rb,0.94871e-06_rb,0.10050e-05_rb /) kbo(:, 2,47, 2) = (/ & & 0.55075e-09_rb,0.48075e-06_rb,0.83326e-06_rb,0.11171e-05_rb,0.12169e-05_rb /) kbo(:, 3,47, 2) = (/ & & 0.59153e-09_rb,0.58279e-06_rb,0.99922e-06_rb,0.13307e-05_rb,0.14227e-05_rb /) kbo(:, 4,47, 2) = (/ & & 0.63485e-09_rb,0.68347e-06_rb,0.11845e-05_rb,0.15696e-05_rb,0.16474e-05_rb /) kbo(:, 5,47, 2) = (/ & & 0.67833e-09_rb,0.77359e-06_rb,0.13593e-05_rb,0.18329e-05_rb,0.18933e-05_rb /) kbo(:, 1,48, 2) = (/ & & 0.40749e-09_rb,0.30162e-06_rb,0.53408e-06_rb,0.72777e-06_rb,0.76768e-06_rb /) kbo(:, 2,48, 2) = (/ & & 0.43682e-09_rb,0.36975e-06_rb,0.64201e-06_rb,0.86174e-06_rb,0.93334e-06_rb /) kbo(:, 3,48, 2) = (/ & & 0.46981e-09_rb,0.45015e-06_rb,0.77460e-06_rb,0.10306e-05_rb,0.11092e-05_rb /) kbo(:, 4,48, 2) = (/ & & 0.50302e-09_rb,0.53912e-06_rb,0.92171e-06_rb,0.12225e-05_rb,0.12874e-05_rb /) kbo(:, 5,48, 2) = (/ & & 0.53999e-09_rb,0.61013e-06_rb,0.10790e-05_rb,0.14334e-05_rb,0.14828e-05_rb /) kbo(:, 1,49, 2) = (/ & & 0.32288e-09_rb,0.23115e-06_rb,0.41625e-06_rb,0.55318e-06_rb,0.58476e-06_rb /) kbo(:, 2,49, 2) = (/ & & 0.34731e-09_rb,0.28355e-06_rb,0.49493e-06_rb,0.66850e-06_rb,0.71600e-06_rb /) kbo(:, 3,49, 2) = (/ & & 0.37310e-09_rb,0.34682e-06_rb,0.59820e-06_rb,0.79617e-06_rb,0.85985e-06_rb /) kbo(:, 4,49, 2) = (/ & & 0.39975e-09_rb,0.42034e-06_rb,0.71527e-06_rb,0.95046e-06_rb,0.10041e-05_rb /) kbo(:, 5,49, 2) = (/ & & 0.42970e-09_rb,0.48341e-06_rb,0.84829e-06_rb,0.11191e-05_rb,0.11582e-05_rb /) kbo(:, 1,50, 2) = (/ & & 0.25646e-09_rb,0.17743e-06_rb,0.32423e-06_rb,0.42175e-06_rb,0.44754e-06_rb /) kbo(:, 2,50, 2) = (/ & & 0.27669e-09_rb,0.21856e-06_rb,0.38220e-06_rb,0.52102e-06_rb,0.55141e-06_rb /) kbo(:, 3,50, 2) = (/ & & 0.29654e-09_rb,0.26808e-06_rb,0.46375e-06_rb,0.61921e-06_rb,0.67025e-06_rb /) kbo(:, 4,50, 2) = (/ & & 0.31872e-09_rb,0.32662e-06_rb,0.55687e-06_rb,0.73985e-06_rb,0.78291e-06_rb /) kbo(:, 5,50, 2) = (/ & & 0.34198e-09_rb,0.38136e-06_rb,0.66385e-06_rb,0.87591e-06_rb,0.90771e-06_rb /) kbo(:, 1,51, 2) = (/ & & 0.20472e-09_rb,0.13694e-06_rb,0.24726e-06_rb,0.32216e-06_rb,0.34229e-06_rb /) kbo(:, 2,51, 2) = (/ & & 0.22054e-09_rb,0.16842e-06_rb,0.29646e-06_rb,0.40635e-06_rb,0.42402e-06_rb /) kbo(:, 3,51, 2) = (/ & & 0.23653e-09_rb,0.20731e-06_rb,0.35913e-06_rb,0.48027e-06_rb,0.51714e-06_rb /) kbo(:, 4,51, 2) = (/ & & 0.25402e-09_rb,0.25379e-06_rb,0.43377e-06_rb,0.57689e-06_rb,0.61228e-06_rb /) kbo(:, 5,51, 2) = (/ & & 0.27233e-09_rb,0.30202e-06_rb,0.51940e-06_rb,0.68626e-06_rb,0.71146e-06_rb /) kbo(:, 1,52, 2) = (/ & & 0.16428e-09_rb,0.10687e-06_rb,0.18803e-06_rb,0.24517e-06_rb,0.26090e-06_rb /) kbo(:, 2,52, 2) = (/ & & 0.17520e-09_rb,0.12978e-06_rb,0.23025e-06_rb,0.31106e-06_rb,0.32512e-06_rb /) kbo(:, 3,52, 2) = (/ & & 0.18865e-09_rb,0.15994e-06_rb,0.27726e-06_rb,0.37261e-06_rb,0.39888e-06_rb /) kbo(:, 4,52, 2) = (/ & & 0.20265e-09_rb,0.19670e-06_rb,0.33708e-06_rb,0.44845e-06_rb,0.47779e-06_rb /) kbo(:, 5,52, 2) = (/ & & 0.21711e-09_rb,0.23739e-06_rb,0.40528e-06_rb,0.53668e-06_rb,0.55828e-06_rb /) kbo(:, 1,53, 2) = (/ & & 0.13206e-09_rb,0.82677e-07_rb,0.14284e-06_rb,0.18640e-06_rb,0.19898e-06_rb /) kbo(:, 2,53, 2) = (/ & & 0.13938e-09_rb,0.99597e-07_rb,0.18095e-06_rb,0.23725e-06_rb,0.24911e-06_rb /) kbo(:, 3,53, 2) = (/ & & 0.15056e-09_rb,0.12309e-06_rb,0.21494e-06_rb,0.29026e-06_rb,0.30720e-06_rb /) kbo(:, 4,53, 2) = (/ & & 0.16136e-09_rb,0.15205e-06_rb,0.26147e-06_rb,0.34774e-06_rb,0.37331e-06_rb /) kbo(:, 5,53, 2) = (/ & & 0.17318e-09_rb,0.18547e-06_rb,0.31566e-06_rb,0.41857e-06_rb,0.43649e-06_rb /) kbo(:, 1,54, 2) = (/ & & 0.10628e-09_rb,0.63529e-07_rb,0.10938e-06_rb,0.14285e-06_rb,0.15281e-06_rb /) kbo(:, 2,54, 2) = (/ & & 0.11181e-09_rb,0.77068e-07_rb,0.14036e-06_rb,0.18201e-06_rb,0.19163e-06_rb /) kbo(:, 3,54, 2) = (/ & & 0.11992e-09_rb,0.95387e-07_rb,0.16692e-06_rb,0.22878e-06_rb,0.23824e-06_rb /) kbo(:, 4,54, 2) = (/ & & 0.12900e-09_rb,0.11809e-06_rb,0.20406e-06_rb,0.27163e-06_rb,0.29078e-06_rb /) kbo(:, 5,54, 2) = (/ & & 0.13828e-09_rb,0.14510e-06_rb,0.24678e-06_rb,0.32753e-06_rb,0.34217e-06_rb /) kbo(:, 1,55, 2) = (/ & & 0.85664e-10_rb,0.48444e-07_rb,0.83932e-07_rb,0.10950e-06_rb,0.11785e-06_rb /) kbo(:, 2,55, 2) = (/ & & 0.89999e-10_rb,0.59885e-07_rb,0.10776e-06_rb,0.14023e-06_rb,0.14763e-06_rb /) kbo(:, 3,55, 2) = (/ & & 0.95836e-10_rb,0.73941e-07_rb,0.13023e-06_rb,0.17876e-06_rb,0.18426e-06_rb /) kbo(:, 4,55, 2) = (/ & & 0.10323e-09_rb,0.91791e-07_rb,0.15882e-06_rb,0.21202e-06_rb,0.22611e-06_rb /) kbo(:, 5,55, 2) = (/ & & 0.11081e-09_rb,0.11336e-06_rb,0.19316e-06_rb,0.25647e-06_rb,0.26918e-06_rb /) kbo(:, 1,56, 2) = (/ & & 0.69093e-10_rb,0.36832e-07_rb,0.64123e-07_rb,0.84030e-07_rb,0.90974e-07_rb /) kbo(:, 2,56, 2) = (/ & & 0.72433e-10_rb,0.47084e-07_rb,0.82613e-07_rb,0.10758e-06_rb,0.11346e-06_rb /) kbo(:, 3,56, 2) = (/ & & 0.76616e-10_rb,0.57388e-07_rb,0.10182e-06_rb,0.13768e-06_rb,0.14224e-06_rb /) kbo(:, 4,56, 2) = (/ & & 0.82709e-10_rb,0.71294e-07_rb,0.12355e-06_rb,0.16530e-06_rb,0.17549e-06_rb /) kbo(:, 5,56, 2) = (/ & & 0.88636e-10_rb,0.88445e-07_rb,0.15094e-06_rb,0.20067e-06_rb,0.21118e-06_rb /) kbo(:, 1,57, 2) = (/ & & 0.55980e-10_rb,0.28018e-07_rb,0.48867e-07_rb,0.64857e-07_rb,0.70055e-07_rb /) kbo(:, 2,57, 2) = (/ & & 0.58397e-10_rb,0.36620e-07_rb,0.63232e-07_rb,0.82428e-07_rb,0.87457e-07_rb /) kbo(:, 3,57, 2) = (/ & & 0.61509e-10_rb,0.44446e-07_rb,0.80512e-07_rb,0.10580e-06_rb,0.10988e-06_rb /) kbo(:, 4,57, 2) = (/ & & 0.66015e-10_rb,0.55222e-07_rb,0.96401e-07_rb,0.12935e-06_rb,0.13614e-06_rb /) kbo(:, 5,57, 2) = (/ & & 0.70976e-10_rb,0.68821e-07_rb,0.11780e-06_rb,0.15632e-06_rb,0.16586e-06_rb /) kbo(:, 1,58, 2) = (/ & & 0.45722e-10_rb,0.21506e-07_rb,0.37326e-07_rb,0.50333e-07_rb,0.54855e-07_rb /) kbo(:, 2,58, 2) = (/ & & 0.47090e-10_rb,0.28249e-07_rb,0.48612e-07_rb,0.63442e-07_rb,0.67550e-07_rb /) kbo(:, 3,58, 2) = (/ & & 0.49550e-10_rb,0.34430e-07_rb,0.62769e-07_rb,0.81509e-07_rb,0.84917e-07_rb /) kbo(:, 4,58, 2) = (/ & & 0.52817e-10_rb,0.42958e-07_rb,0.75173e-07_rb,0.10204e-06_rb,0.10603e-06_rb /) kbo(:, 5,58, 2) = (/ & & 0.56864e-10_rb,0.53637e-07_rb,0.92044e-07_rb,0.12229e-06_rb,0.13011e-06_rb /) kbo(:, 1,59, 2) = (/ & & 0.37496e-10_rb,0.17255e-07_rb,0.29967e-07_rb,0.40394e-07_rb,0.44059e-07_rb /) kbo(:, 2,59, 2) = (/ & & 0.38367e-10_rb,0.22782e-07_rb,0.39144e-07_rb,0.51019e-07_rb,0.54404e-07_rb /) kbo(:, 3,59, 2) = (/ & & 0.40346e-10_rb,0.27842e-07_rb,0.50692e-07_rb,0.65716e-07_rb,0.68440e-07_rb /) kbo(:, 4,59, 2) = (/ & & 0.42908e-10_rb,0.34761e-07_rb,0.60846e-07_rb,0.82834e-07_rb,0.85713e-07_rb /) kbo(:, 5,59, 2) = (/ & & 0.46213e-10_rb,0.43467e-07_rb,0.74626e-07_rb,0.99144e-07_rb,0.10518e-06_rb /) kbo(:, 1,13, 3) = (/ & & 0.91180e-05_rb,0.12754e-02_rb,0.19900e-02_rb,0.24440e-02_rb,0.40576e-02_rb /) kbo(:, 2,13, 3) = (/ & & 0.95037e-05_rb,0.14150e-02_rb,0.22145e-02_rb,0.28094e-02_rb,0.44375e-02_rb /) kbo(:, 3,13, 3) = (/ & & 0.99757e-05_rb,0.15626e-02_rb,0.24320e-02_rb,0.31375e-02_rb,0.48097e-02_rb /) kbo(:, 4,13, 3) = (/ & & 0.10508e-04_rb,0.16997e-02_rb,0.26926e-02_rb,0.34483e-02_rb,0.51554e-02_rb /) kbo(:, 5,13, 3) = (/ & & 0.11033e-04_rb,0.18373e-02_rb,0.29684e-02_rb,0.37861e-02_rb,0.54896e-02_rb /) kbo(:, 1,14, 3) = (/ & & 0.73209e-05_rb,0.10727e-02_rb,0.16787e-02_rb,0.20881e-02_rb,0.33041e-02_rb /) kbo(:, 2,14, 3) = (/ & & 0.76795e-05_rb,0.11937e-02_rb,0.18683e-02_rb,0.23616e-02_rb,0.36246e-02_rb /) kbo(:, 3,14, 3) = (/ & & 0.80417e-05_rb,0.13177e-02_rb,0.20567e-02_rb,0.26465e-02_rb,0.39438e-02_rb /) kbo(:, 4,14, 3) = (/ & & 0.84296e-05_rb,0.14317e-02_rb,0.22826e-02_rb,0.29022e-02_rb,0.42368e-02_rb /) kbo(:, 5,14, 3) = (/ & & 0.88950e-05_rb,0.15495e-02_rb,0.25084e-02_rb,0.31901e-02_rb,0.44992e-02_rb /) kbo(:, 1,15, 3) = (/ & & 0.58275e-05_rb,0.89895e-03_rb,0.14161e-02_rb,0.17760e-02_rb,0.26508e-02_rb /) kbo(:, 2,15, 3) = (/ & & 0.61166e-05_rb,0.10025e-02_rb,0.15706e-02_rb,0.19893e-02_rb,0.29219e-02_rb /) kbo(:, 3,15, 3) = (/ & & 0.64340e-05_rb,0.11055e-02_rb,0.17375e-02_rb,0.22237e-02_rb,0.31718e-02_rb /) kbo(:, 4,15, 3) = (/ & & 0.67501e-05_rb,0.12028e-02_rb,0.19291e-02_rb,0.24433e-02_rb,0.34015e-02_rb /) kbo(:, 5,15, 3) = (/ & & 0.70843e-05_rb,0.13034e-02_rb,0.21152e-02_rb,0.26892e-02_rb,0.36350e-02_rb /) kbo(:, 1,16, 3) = (/ & & 0.45776e-05_rb,0.75233e-03_rb,0.11906e-02_rb,0.14957e-02_rb,0.21076e-02_rb /) kbo(:, 2,16, 3) = (/ & & 0.48262e-05_rb,0.84051e-03_rb,0.13192e-02_rb,0.16780e-02_rb,0.23267e-02_rb /) kbo(:, 3,16, 3) = (/ & & 0.51024e-05_rb,0.92603e-03_rb,0.14653e-02_rb,0.18671e-02_rb,0.25242e-02_rb /) kbo(:, 4,16, 3) = (/ & & 0.53856e-05_rb,0.10093e-02_rb,0.16288e-02_rb,0.20599e-02_rb,0.27134e-02_rb /) kbo(:, 5,16, 3) = (/ & & 0.56625e-05_rb,0.10939e-02_rb,0.17834e-02_rb,0.22693e-02_rb,0.29092e-02_rb /) kbo(:, 1,17, 3) = (/ & & 0.35978e-05_rb,0.63055e-03_rb,0.10001e-02_rb,0.12618e-02_rb,0.16759e-02_rb /) kbo(:, 2,17, 3) = (/ & & 0.38090e-05_rb,0.70519e-03_rb,0.11080e-02_rb,0.14142e-02_rb,0.18563e-02_rb /) kbo(:, 3,17, 3) = (/ & & 0.40365e-05_rb,0.77593e-03_rb,0.12352e-02_rb,0.15692e-02_rb,0.20215e-02_rb /) kbo(:, 4,17, 3) = (/ & & 0.42692e-05_rb,0.84648e-03_rb,0.13753e-02_rb,0.17361e-02_rb,0.21882e-02_rb /) kbo(:, 5,17, 3) = (/ & & 0.45325e-05_rb,0.91815e-03_rb,0.15031e-02_rb,0.19156e-02_rb,0.23511e-02_rb /) kbo(:, 1,18, 3) = (/ & & 0.28577e-05_rb,0.52923e-03_rb,0.84060e-03_rb,0.10641e-02_rb,0.13524e-02_rb /) kbo(:, 2,18, 3) = (/ & & 0.30189e-05_rb,0.59275e-03_rb,0.93264e-03_rb,0.11925e-02_rb,0.15051e-02_rb /) kbo(:, 3,18, 3) = (/ & & 0.31971e-05_rb,0.65140e-03_rb,0.10422e-02_rb,0.13174e-02_rb,0.16413e-02_rb /) kbo(:, 4,18, 3) = (/ & & 0.33981e-05_rb,0.71144e-03_rb,0.11594e-02_rb,0.14613e-02_rb,0.17851e-02_rb /) kbo(:, 5,18, 3) = (/ & & 0.36127e-05_rb,0.77200e-03_rb,0.12685e-02_rb,0.16164e-02_rb,0.19166e-02_rb /) kbo(:, 1,19, 3) = (/ & & 0.22832e-05_rb,0.44489e-03_rb,0.70523e-03_rb,0.89150e-03_rb,0.11054e-02_rb /) kbo(:, 2,19, 3) = (/ & & 0.24005e-05_rb,0.49860e-03_rb,0.78596e-03_rb,0.10033e-02_rb,0.12310e-02_rb /) kbo(:, 3,19, 3) = (/ & & 0.25465e-05_rb,0.54746e-03_rb,0.88096e-03_rb,0.11084e-02_rb,0.13479e-02_rb /) kbo(:, 4,19, 3) = (/ & & 0.27167e-05_rb,0.59760e-03_rb,0.97685e-03_rb,0.12305e-02_rb,0.14668e-02_rb /) kbo(:, 5,19, 3) = (/ & & 0.28927e-05_rb,0.64844e-03_rb,0.10695e-02_rb,0.13632e-02_rb,0.15746e-02_rb /) kbo(:, 1,20, 3) = (/ & & 0.18426e-05_rb,0.37567e-03_rb,0.59276e-03_rb,0.75002e-03_rb,0.91159e-03_rb /) kbo(:, 2,20, 3) = (/ & & 0.19324e-05_rb,0.42049e-03_rb,0.66376e-03_rb,0.84304e-03_rb,0.10175e-02_rb /) kbo(:, 3,20, 3) = (/ & & 0.20563e-05_rb,0.46104e-03_rb,0.74561e-03_rb,0.93568e-03_rb,0.11153e-02_rb /) kbo(:, 4,20, 3) = (/ & & 0.21952e-05_rb,0.50302e-03_rb,0.82491e-03_rb,0.10410e-02_rb,0.12131e-02_rb /) kbo(:, 5,20, 3) = (/ & & 0.23429e-05_rb,0.54570e-03_rb,0.90324e-03_rb,0.11512e-02_rb,0.13002e-02_rb /) kbo(:, 1,21, 3) = (/ & & 0.14914e-05_rb,0.31727e-03_rb,0.49879e-03_rb,0.63141e-03_rb,0.75480e-03_rb /) kbo(:, 2,21, 3) = (/ & & 0.15711e-05_rb,0.35367e-03_rb,0.56105e-03_rb,0.70859e-03_rb,0.84278e-03_rb /) kbo(:, 3,21, 3) = (/ & & 0.16720e-05_rb,0.38776e-03_rb,0.63122e-03_rb,0.79066e-03_rb,0.92492e-03_rb /) kbo(:, 4,21, 3) = (/ & & 0.17830e-05_rb,0.42327e-03_rb,0.69655e-03_rb,0.88311e-03_rb,0.10041e-02_rb /) kbo(:, 5,21, 3) = (/ & & 0.19065e-05_rb,0.45905e-03_rb,0.76238e-03_rb,0.97320e-03_rb,0.10767e-02_rb /) kbo(:, 1,22, 3) = (/ & & 0.12007e-05_rb,0.26976e-03_rb,0.42316e-03_rb,0.53750e-03_rb,0.62747e-03_rb /) kbo(:, 2,22, 3) = (/ & & 0.12744e-05_rb,0.29880e-03_rb,0.47840e-03_rb,0.60094e-03_rb,0.70134e-03_rb /) kbo(:, 3,22, 3) = (/ & & 0.13572e-05_rb,0.32813e-03_rb,0.53672e-03_rb,0.67341e-03_rb,0.76916e-03_rb /) kbo(:, 4,22, 3) = (/ & & 0.14459e-05_rb,0.35761e-03_rb,0.59154e-03_rb,0.75421e-03_rb,0.83371e-03_rb /) kbo(:, 5,22, 3) = (/ & & 0.15538e-05_rb,0.38792e-03_rb,0.64663e-03_rb,0.82877e-03_rb,0.89529e-03_rb /) kbo(:, 1,23, 3) = (/ & & 0.96861e-06_rb,0.22918e-03_rb,0.36015e-03_rb,0.45719e-03_rb,0.52404e-03_rb /) kbo(:, 2,23, 3) = (/ & & 0.10336e-05_rb,0.25321e-03_rb,0.40834e-03_rb,0.51161e-03_rb,0.58351e-03_rb /) kbo(:, 3,23, 3) = (/ & & 0.10985e-05_rb,0.27767e-03_rb,0.45571e-03_rb,0.57459e-03_rb,0.63985e-03_rb /) kbo(:, 4,23, 3) = (/ & & 0.11768e-05_rb,0.30252e-03_rb,0.50195e-03_rb,0.64190e-03_rb,0.69303e-03_rb /) kbo(:, 5,23, 3) = (/ & & 0.12615e-05_rb,0.32794e-03_rb,0.54831e-03_rb,0.70579e-03_rb,0.74540e-03_rb /) kbo(:, 1,24, 3) = (/ & & 0.77560e-06_rb,0.19437e-03_rb,0.30748e-03_rb,0.38828e-03_rb,0.43529e-03_rb /) kbo(:, 2,24, 3) = (/ & & 0.82580e-06_rb,0.21438e-03_rb,0.34835e-03_rb,0.43617e-03_rb,0.48373e-03_rb /) kbo(:, 3,24, 3) = (/ & & 0.88200e-06_rb,0.23492e-03_rb,0.38680e-03_rb,0.49169e-03_rb,0.53189e-03_rb /) kbo(:, 4,24, 3) = (/ & & 0.94947e-06_rb,0.25573e-03_rb,0.42635e-03_rb,0.54641e-03_rb,0.57637e-03_rb /) kbo(:, 5,24, 3) = (/ & & 0.10182e-05_rb,0.27745e-03_rb,0.46607e-03_rb,0.60046e-03_rb,0.61998e-03_rb /) kbo(:, 1,25, 3) = (/ & & 0.61963e-06_rb,0.16454e-03_rb,0.26284e-03_rb,0.33016e-03_rb,0.36284e-03_rb /) kbo(:, 2,25, 3) = (/ & & 0.66146e-06_rb,0.18162e-03_rb,0.29714e-03_rb,0.37315e-03_rb,0.40370e-03_rb /) kbo(:, 3,25, 3) = (/ & & 0.71111e-06_rb,0.19882e-03_rb,0.32942e-03_rb,0.42130e-03_rb,0.44382e-03_rb /) kbo(:, 4,25, 3) = (/ & & 0.76573e-06_rb,0.21663e-03_rb,0.36228e-03_rb,0.46640e-03_rb,0.48052e-03_rb /) kbo(:, 5,25, 3) = (/ & & 0.82100e-06_rb,0.23503e-03_rb,0.39627e-03_rb,0.51132e-03_rb,0.51776e-03_rb /) kbo(:, 1,26, 3) = (/ & & 0.49718e-06_rb,0.13982e-03_rb,0.22523e-03_rb,0.28275e-03_rb,0.30558e-03_rb /) kbo(:, 2,26, 3) = (/ & & 0.53365e-06_rb,0.15431e-03_rb,0.25368e-03_rb,0.32044e-03_rb,0.33895e-03_rb /) kbo(:, 3,26, 3) = (/ & & 0.57705e-06_rb,0.16884e-03_rb,0.28082e-03_rb,0.36019e-03_rb,0.37173e-03_rb /) kbo(:, 4,26, 3) = (/ & & 0.62061e-06_rb,0.18393e-03_rb,0.30865e-03_rb,0.39866e-03_rb,0.40243e-03_rb /) kbo(:, 5,26, 3) = (/ & & 0.66427e-06_rb,0.19968e-03_rb,0.33757e-03_rb,0.43663e-03_rb,0.43309e-03_rb /) kbo(:, 1,27, 3) = (/ & & 0.39961e-06_rb,0.11889e-03_rb,0.19361e-03_rb,0.24270e-03_rb,0.25693e-03_rb /) kbo(:, 2,27, 3) = (/ & & 0.43136e-06_rb,0.13100e-03_rb,0.21632e-03_rb,0.27591e-03_rb,0.28463e-03_rb /) kbo(:, 3,27, 3) = (/ & & 0.46490e-06_rb,0.14333e-03_rb,0.23966e-03_rb,0.30849e-03_rb,0.31106e-03_rb /) kbo(:, 4,27, 3) = (/ & & 0.50009e-06_rb,0.15630e-03_rb,0.26346e-03_rb,0.34083e-03_rb,0.33713e-03_rb /) kbo(:, 5,27, 3) = (/ & & 0.53808e-06_rb,0.16999e-03_rb,0.28768e-03_rb,0.37323e-03_rb,0.36279e-03_rb /) kbo(:, 1,28, 3) = (/ & & 0.31986e-06_rb,0.10106e-03_rb,0.16585e-03_rb,0.20891e-03_rb,0.21558e-03_rb /) kbo(:, 2,28, 3) = (/ & & 0.34540e-06_rb,0.11119e-03_rb,0.18500e-03_rb,0.23760e-03_rb,0.23854e-03_rb /) kbo(:, 3,28, 3) = (/ & & 0.37226e-06_rb,0.12183e-03_rb,0.20456e-03_rb,0.26419e-03_rb,0.26053e-03_rb /) kbo(:, 4,28, 3) = (/ & & 0.40317e-06_rb,0.13290e-03_rb,0.22487e-03_rb,0.29156e-03_rb,0.28262e-03_rb /) kbo(:, 5,28, 3) = (/ & & 0.43271e-06_rb,0.14482e-03_rb,0.24541e-03_rb,0.31934e-03_rb,0.30419e-03_rb /) kbo(:, 1,29, 3) = (/ & & 0.25677e-06_rb,0.86060e-04_rb,0.14206e-03_rb,0.18023e-03_rb,0.18141e-03_rb /) kbo(:, 2,29, 3) = (/ & & 0.27736e-06_rb,0.94677e-04_rb,0.15841e-03_rb,0.20378e-03_rb,0.20088e-03_rb /) kbo(:, 3,29, 3) = (/ & & 0.30104e-06_rb,0.10372e-03_rb,0.17515e-03_rb,0.22663e-03_rb,0.21921e-03_rb /) kbo(:, 4,29, 3) = (/ & & 0.32584e-06_rb,0.11340e-03_rb,0.19232e-03_rb,0.24953e-03_rb,0.23789e-03_rb /) kbo(:, 5,29, 3) = (/ & & 0.34891e-06_rb,0.12368e-03_rb,0.20976e-03_rb,0.27364e-03_rb,0.25570e-03_rb /) kbo(:, 1,30, 3) = (/ & & 0.20556e-06_rb,0.73274e-04_rb,0.12170e-03_rb,0.15588e-03_rb,0.15312e-03_rb /) kbo(:, 2,30, 3) = (/ & & 0.22376e-06_rb,0.80651e-04_rb,0.13568e-03_rb,0.17524e-03_rb,0.16948e-03_rb /) kbo(:, 3,30, 3) = (/ & & 0.24313e-06_rb,0.88481e-04_rb,0.14992e-03_rb,0.19447e-03_rb,0.18477e-03_rb /) kbo(:, 4,30, 3) = (/ & & 0.26233e-06_rb,0.96824e-04_rb,0.16458e-03_rb,0.21409e-03_rb,0.20027e-03_rb /) kbo(:, 5,30, 3) = (/ & & 0.28249e-06_rb,0.10580e-03_rb,0.17987e-03_rb,0.23435e-03_rb,0.21532e-03_rb /) kbo(:, 1,31, 3) = (/ & & 0.16553e-06_rb,0.62536e-04_rb,0.10457e-03_rb,0.13443e-03_rb,0.12968e-03_rb /) kbo(:, 2,31, 3) = (/ & & 0.18078e-06_rb,0.68863e-04_rb,0.11643e-03_rb,0.15060e-03_rb,0.14304e-03_rb /) kbo(:, 3,31, 3) = (/ & & 0.19619e-06_rb,0.75670e-04_rb,0.12864e-03_rb,0.16681e-03_rb,0.15615e-03_rb /) kbo(:, 4,31, 3) = (/ & & 0.21158e-06_rb,0.82899e-04_rb,0.14114e-03_rb,0.18385e-03_rb,0.16911e-03_rb /) kbo(:, 5,31, 3) = (/ & & 0.22915e-06_rb,0.90629e-04_rb,0.15456e-03_rb,0.20099e-03_rb,0.18146e-03_rb /) kbo(:, 1,32, 3) = (/ & & 0.13380e-06_rb,0.53407e-04_rb,0.89930e-04_rb,0.11591e-03_rb,0.11005e-03_rb /) kbo(:, 2,32, 3) = (/ & & 0.14604e-06_rb,0.58887e-04_rb,0.10001e-03_rb,0.12963e-03_rb,0.12107e-03_rb /) kbo(:, 3,32, 3) = (/ & & 0.15848e-06_rb,0.64790e-04_rb,0.11040e-03_rb,0.14349e-03_rb,0.13230e-03_rb /) kbo(:, 4,32, 3) = (/ & & 0.17190e-06_rb,0.71169e-04_rb,0.12125e-03_rb,0.15792e-03_rb,0.14297e-03_rb /) kbo(:, 5,32, 3) = (/ & & 0.18587e-06_rb,0.77792e-04_rb,0.13292e-03_rb,0.17265e-03_rb,0.15308e-03_rb /) kbo(:, 1,33, 3) = (/ & & 0.10830e-06_rb,0.45686e-04_rb,0.77339e-04_rb,0.99867e-04_rb,0.93562e-04_rb /) kbo(:, 2,33, 3) = (/ & & 0.11765e-06_rb,0.50526e-04_rb,0.85959e-04_rb,0.11153e-03_rb,0.10269e-03_rb /) kbo(:, 3,33, 3) = (/ & & 0.12824e-06_rb,0.55627e-04_rb,0.94900e-04_rb,0.12354e-03_rb,0.11205e-03_rb /) kbo(:, 4,33, 3) = (/ & & 0.13958e-06_rb,0.61158e-04_rb,0.10440e-03_rb,0.13573e-03_rb,0.12099e-03_rb /) kbo(:, 5,33, 3) = (/ & & 0.15078e-06_rb,0.66909e-04_rb,0.11431e-03_rb,0.14861e-03_rb,0.12918e-03_rb /) kbo(:, 1,34, 3) = (/ & & 0.87537e-07_rb,0.39073e-04_rb,0.66330e-04_rb,0.85860e-04_rb,0.79296e-04_rb /) kbo(:, 2,34, 3) = (/ & & 0.95270e-07_rb,0.43282e-04_rb,0.73743e-04_rb,0.95733e-04_rb,0.87082e-04_rb /) kbo(:, 3,34, 3) = (/ & & 0.10423e-06_rb,0.47701e-04_rb,0.81447e-04_rb,0.10609e-03_rb,0.94857e-04_rb /) kbo(:, 4,34, 3) = (/ & & 0.11348e-06_rb,0.52484e-04_rb,0.89624e-04_rb,0.11638e-03_rb,0.10211e-03_rb /) kbo(:, 5,34, 3) = (/ & & 0.12289e-06_rb,0.57431e-04_rb,0.98122e-04_rb,0.12760e-03_rb,0.10866e-03_rb /) kbo(:, 1,35, 3) = (/ & & 0.69891e-07_rb,0.33129e-04_rb,0.56323e-04_rb,0.73036e-04_rb,0.66568e-04_rb /) kbo(:, 2,35, 3) = (/ & & 0.76465e-07_rb,0.36724e-04_rb,0.62627e-04_rb,0.81520e-04_rb,0.73176e-04_rb /) kbo(:, 3,35, 3) = (/ & & 0.83833e-07_rb,0.40619e-04_rb,0.69293e-04_rb,0.90161e-04_rb,0.79548e-04_rb /) kbo(:, 4,35, 3) = (/ & & 0.91436e-07_rb,0.44671e-04_rb,0.76362e-04_rb,0.99075e-04_rb,0.85497e-04_rb /) kbo(:, 5,35, 3) = (/ & & 0.99263e-07_rb,0.48886e-04_rb,0.83550e-04_rb,0.10849e-03_rb,0.90720e-04_rb /) kbo(:, 1,36, 3) = (/ & & 0.55080e-07_rb,0.27796e-04_rb,0.47261e-04_rb,0.61299e-04_rb,0.55237e-04_rb /) kbo(:, 2,36, 3) = (/ & & 0.60562e-07_rb,0.30850e-04_rb,0.52635e-04_rb,0.68515e-04_rb,0.60794e-04_rb /) kbo(:, 3,36, 3) = (/ & & 0.66440e-07_rb,0.34200e-04_rb,0.58298e-04_rb,0.75847e-04_rb,0.66097e-04_rb /) kbo(:, 4,36, 3) = (/ & & 0.72913e-07_rb,0.37650e-04_rb,0.64310e-04_rb,0.83530e-04_rb,0.71032e-04_rb /) kbo(:, 5,36, 3) = (/ & & 0.79545e-07_rb,0.41216e-04_rb,0.70397e-04_rb,0.91304e-04_rb,0.75193e-04_rb /) kbo(:, 1,37, 3) = (/ & & 0.43644e-07_rb,0.22997e-04_rb,0.39088e-04_rb,0.50714e-04_rb,0.45374e-04_rb /) kbo(:, 2,37, 3) = (/ & & 0.48182e-07_rb,0.25585e-04_rb,0.43661e-04_rb,0.56813e-04_rb,0.50057e-04_rb /) kbo(:, 3,37, 3) = (/ & & 0.53067e-07_rb,0.28429e-04_rb,0.48465e-04_rb,0.63020e-04_rb,0.54490e-04_rb /) kbo(:, 4,37, 3) = (/ & & 0.58349e-07_rb,0.31365e-04_rb,0.53603e-04_rb,0.69516e-04_rb,0.58585e-04_rb /) kbo(:, 5,37, 3) = (/ & & 0.63727e-07_rb,0.34398e-04_rb,0.58710e-04_rb,0.76032e-04_rb,0.62046e-04_rb /) kbo(:, 1,38, 3) = (/ & & 0.34661e-07_rb,0.19003e-04_rb,0.32295e-04_rb,0.41898e-04_rb,0.37207e-04_rb /) kbo(:, 2,38, 3) = (/ & & 0.38414e-07_rb,0.21200e-04_rb,0.36170e-04_rb,0.47045e-04_rb,0.41150e-04_rb /) kbo(:, 3,38, 3) = (/ & & 0.42378e-07_rb,0.23605e-04_rb,0.40247e-04_rb,0.52306e-04_rb,0.44872e-04_rb /) kbo(:, 4,38, 3) = (/ & & 0.46598e-07_rb,0.26110e-04_rb,0.44620e-04_rb,0.57800e-04_rb,0.48293e-04_rb /) kbo(:, 5,38, 3) = (/ & & 0.50995e-07_rb,0.28683e-04_rb,0.48935e-04_rb,0.63250e-04_rb,0.51155e-04_rb /) kbo(:, 1,39, 3) = (/ & & 0.27545e-07_rb,0.15700e-04_rb,0.26661e-04_rb,0.34603e-04_rb,0.30487e-04_rb /) kbo(:, 2,39, 3) = (/ & & 0.30553e-07_rb,0.17568e-04_rb,0.29948e-04_rb,0.38935e-04_rb,0.33813e-04_rb /) kbo(:, 3,39, 3) = (/ & & 0.33772e-07_rb,0.19601e-04_rb,0.33411e-04_rb,0.43403e-04_rb,0.36922e-04_rb /) kbo(:, 4,39, 3) = (/ & & 0.37164e-07_rb,0.21726e-04_rb,0.37113e-04_rb,0.48030e-04_rb,0.39771e-04_rb /) kbo(:, 5,39, 3) = (/ & & 0.40795e-07_rb,0.23901e-04_rb,0.40765e-04_rb,0.52607e-04_rb,0.42152e-04_rb /) kbo(:, 1,40, 3) = (/ & & 0.21852e-07_rb,0.12819e-04_rb,0.21757e-04_rb,0.28221e-04_rb,0.24745e-04_rb /) kbo(:, 2,40, 3) = (/ & & 0.24207e-07_rb,0.14395e-04_rb,0.24527e-04_rb,0.31867e-04_rb,0.27502e-04_rb /) kbo(:, 3,40, 3) = (/ & & 0.26806e-07_rb,0.16092e-04_rb,0.27462e-04_rb,0.35646e-04_rb,0.30145e-04_rb /) kbo(:, 4,40, 3) = (/ & & 0.29612e-07_rb,0.17894e-04_rb,0.30572e-04_rb,0.39527e-04_rb,0.32543e-04_rb /) kbo(:, 5,40, 3) = (/ & & 0.32577e-07_rb,0.19746e-04_rb,0.33672e-04_rb,0.43399e-04_rb,0.34556e-04_rb /) kbo(:, 1,41, 3) = (/ & & 0.17336e-07_rb,0.10441e-04_rb,0.17695e-04_rb,0.22954e-04_rb,0.20042e-04_rb /) kbo(:, 2,41, 3) = (/ & & 0.19187e-07_rb,0.11771e-04_rb,0.20025e-04_rb,0.26029e-04_rb,0.22346e-04_rb /) kbo(:, 3,41, 3) = (/ & & 0.21311e-07_rb,0.13190e-04_rb,0.22516e-04_rb,0.29201e-04_rb,0.24577e-04_rb /) kbo(:, 4,41, 3) = (/ & & 0.23597e-07_rb,0.14712e-04_rb,0.25122e-04_rb,0.32466e-04_rb,0.26584e-04_rb /) kbo(:, 5,41, 3) = (/ & & 0.25958e-07_rb,0.16280e-04_rb,0.27744e-04_rb,0.35762e-04_rb,0.28295e-04_rb /) kbo(:, 1,42, 3) = (/ & & 0.13752e-07_rb,0.84970e-05_rb,0.14379e-04_rb,0.18640e-04_rb,0.16205e-04_rb /) kbo(:, 2,42, 3) = (/ & & 0.15240e-07_rb,0.96082e-05_rb,0.16325e-04_rb,0.21225e-04_rb,0.18124e-04_rb /) kbo(:, 3,42, 3) = (/ & & 0.16924e-07_rb,0.10802e-04_rb,0.18430e-04_rb,0.23896e-04_rb,0.20024e-04_rb /) kbo(:, 4,42, 3) = (/ & & 0.18767e-07_rb,0.12087e-04_rb,0.20609e-04_rb,0.26651e-04_rb,0.21698e-04_rb /) kbo(:, 5,42, 3) = (/ & & 0.20666e-07_rb,0.13409e-04_rb,0.22837e-04_rb,0.29427e-04_rb,0.23153e-04_rb /) kbo(:, 1,43, 3) = (/ & & 0.10827e-07_rb,0.68624e-05_rb,0.11586e-04_rb,0.14999e-04_rb,0.12975e-04_rb /) kbo(:, 2,43, 3) = (/ & & 0.12030e-07_rb,0.77847e-05_rb,0.13205e-04_rb,0.17164e-04_rb,0.14605e-04_rb /) kbo(:, 3,43, 3) = (/ & & 0.13352e-07_rb,0.87779e-05_rb,0.14974e-04_rb,0.19410e-04_rb,0.16231e-04_rb /) kbo(:, 4,43, 3) = (/ & & 0.14829e-07_rb,0.98620e-05_rb,0.16795e-04_rb,0.21751e-04_rb,0.17634e-04_rb /) kbo(:, 5,43, 3) = (/ & & 0.16396e-07_rb,0.10975e-04_rb,0.18682e-04_rb,0.24066e-04_rb,0.18879e-04_rb /) kbo(:, 1,44, 3) = (/ & & 0.85731e-08_rb,0.55132e-05_rb,0.92862e-05_rb,0.12000e-04_rb,0.10347e-04_rb /) kbo(:, 2,44, 3) = (/ & & 0.95033e-08_rb,0.62816e-05_rb,0.10629e-04_rb,0.13817e-04_rb,0.11712e-04_rb /) kbo(:, 3,44, 3) = (/ & & 0.10537e-07_rb,0.70964e-05_rb,0.12108e-04_rb,0.15700e-04_rb,0.13095e-04_rb /) kbo(:, 4,44, 3) = (/ & & 0.11722e-07_rb,0.80120e-05_rb,0.13621e-04_rb,0.17679e-04_rb,0.14296e-04_rb /) kbo(:, 5,44, 3) = (/ & & 0.12991e-07_rb,0.89457e-05_rb,0.15220e-04_rb,0.19614e-04_rb,0.15350e-04_rb /) kbo(:, 1,45, 3) = (/ & & 0.67515e-08_rb,0.44212e-05_rb,0.74244e-05_rb,0.95776e-05_rb,0.82429e-05_rb /) kbo(:, 2,45, 3) = (/ & & 0.74999e-08_rb,0.50603e-05_rb,0.85360e-05_rb,0.11095e-04_rb,0.93791e-05_rb /) kbo(:, 3,45, 3) = (/ & & 0.83182e-08_rb,0.57411e-05_rb,0.97686e-05_rb,0.12667e-04_rb,0.10528e-04_rb /) kbo(:, 4,45, 3) = (/ & & 0.92526e-08_rb,0.64942e-05_rb,0.11028e-04_rb,0.14328e-04_rb,0.11566e-04_rb /) kbo(:, 5,45, 3) = (/ & & 0.10269e-07_rb,0.72769e-05_rb,0.12375e-04_rb,0.15964e-04_rb,0.12472e-04_rb /) kbo(:, 1,46, 3) = (/ & & 0.53031e-08_rb,0.35301e-05_rb,0.59050e-05_rb,0.75965e-05_rb,0.65452e-05_rb /) kbo(:, 2,46, 3) = (/ & & 0.58907e-08_rb,0.40561e-05_rb,0.68233e-05_rb,0.88621e-05_rb,0.74771e-05_rb /) kbo(:, 3,46, 3) = (/ & & 0.65422e-08_rb,0.46270e-05_rb,0.78393e-05_rb,0.10169e-04_rb,0.84370e-05_rb /) kbo(:, 4,46, 3) = (/ & & 0.72669e-08_rb,0.52433e-05_rb,0.89061e-05_rb,0.11563e-04_rb,0.93268e-05_rb /) kbo(:, 5,46, 3) = (/ & & 0.80880e-08_rb,0.58967e-05_rb,0.10016e-04_rb,0.12930e-04_rb,0.10106e-04_rb /) kbo(:, 1,47, 3) = (/ & & 0.41459e-08_rb,0.27965e-05_rb,0.46529e-05_rb,0.59648e-05_rb,0.51552e-05_rb /) kbo(:, 2,47, 3) = (/ & & 0.46324e-08_rb,0.32253e-05_rb,0.54100e-05_rb,0.70094e-05_rb,0.59110e-05_rb /) kbo(:, 3,47, 3) = (/ & & 0.51433e-08_rb,0.37014e-05_rb,0.62395e-05_rb,0.80976e-05_rb,0.67100e-05_rb /) kbo(:, 4,47, 3) = (/ & & 0.57045e-08_rb,0.42091e-05_rb,0.71381e-05_rb,0.92537e-05_rb,0.74896e-05_rb /) kbo(:, 5,47, 3) = (/ & & 0.63526e-08_rb,0.47541e-05_rb,0.80573e-05_rb,0.10428e-04_rb,0.81540e-05_rb /) kbo(:, 1,48, 3) = (/ & & 0.32549e-08_rb,0.22089e-05_rb,0.36571e-05_rb,0.46663e-05_rb,0.40387e-05_rb /) kbo(:, 2,48, 3) = (/ & & 0.36192e-08_rb,0.25581e-05_rb,0.42752e-05_rb,0.55265e-05_rb,0.46582e-05_rb /) kbo(:, 3,48, 3) = (/ & & 0.40215e-08_rb,0.29515e-05_rb,0.49553e-05_rb,0.64327e-05_rb,0.53236e-05_rb /) kbo(:, 4,48, 3) = (/ & & 0.44736e-08_rb,0.33690e-05_rb,0.57015e-05_rb,0.73859e-05_rb,0.59960e-05_rb /) kbo(:, 5,48, 3) = (/ & & 0.49760e-08_rb,0.38276e-05_rb,0.64596e-05_rb,0.83844e-05_rb,0.65647e-05_rb /) kbo(:, 1,49, 3) = (/ & & 0.25432e-08_rb,0.17390e-05_rb,0.28607e-05_rb,0.36438e-05_rb,0.31425e-05_rb /) kbo(:, 2,49, 3) = (/ & & 0.28364e-08_rb,0.20219e-05_rb,0.33698e-05_rb,0.43412e-05_rb,0.36654e-05_rb /) kbo(:, 3,49, 3) = (/ & & 0.31601e-08_rb,0.23472e-05_rb,0.39232e-05_rb,0.50964e-05_rb,0.42142e-05_rb /) kbo(:, 4,49, 3) = (/ & & 0.35101e-08_rb,0.26948e-05_rb,0.45429e-05_rb,0.58797e-05_rb,0.47715e-05_rb /) kbo(:, 5,49, 3) = (/ & & 0.38989e-08_rb,0.30718e-05_rb,0.51731e-05_rb,0.67190e-05_rb,0.52720e-05_rb /) kbo(:, 1,50, 3) = (/ & & 0.20093e-08_rb,0.13704e-05_rb,0.22373e-05_rb,0.28375e-05_rb,0.24550e-05_rb /) kbo(:, 2,50, 3) = (/ & & 0.22270e-08_rb,0.16020e-05_rb,0.26626e-05_rb,0.34144e-05_rb,0.28963e-05_rb /) kbo(:, 3,50, 3) = (/ & & 0.24797e-08_rb,0.18686e-05_rb,0.31131e-05_rb,0.40348e-05_rb,0.33398e-05_rb /) kbo(:, 4,50, 3) = (/ & & 0.27614e-08_rb,0.21593e-05_rb,0.36199e-05_rb,0.46856e-05_rb,0.38019e-05_rb /) kbo(:, 5,50, 3) = (/ & & 0.30674e-08_rb,0.24699e-05_rb,0.41517e-05_rb,0.53844e-05_rb,0.42322e-05_rb /) kbo(:, 1,51, 3) = (/ & & 0.15907e-08_rb,0.10803e-05_rb,0.17518e-05_rb,0.22064e-05_rb,0.19254e-05_rb /) kbo(:, 2,51, 3) = (/ & & 0.17509e-08_rb,0.12691e-05_rb,0.21000e-05_rb,0.26794e-05_rb,0.22832e-05_rb /) kbo(:, 3,51, 3) = (/ & & 0.19509e-08_rb,0.14861e-05_rb,0.24726e-05_rb,0.31957e-05_rb,0.26418e-05_rb /) kbo(:, 4,51, 3) = (/ & & 0.21703e-08_rb,0.17284e-05_rb,0.28838e-05_rb,0.37325e-05_rb,0.30257e-05_rb /) kbo(:, 5,51, 3) = (/ & & 0.24124e-08_rb,0.19844e-05_rb,0.33305e-05_rb,0.43128e-05_rb,0.34015e-05_rb /) kbo(:, 1,52, 3) = (/ & & 0.12564e-08_rb,0.84669e-06_rb,0.13717e-05_rb,0.17147e-05_rb,0.14947e-05_rb /) kbo(:, 2,52, 3) = (/ & & 0.13794e-08_rb,0.10024e-05_rb,0.16523e-05_rb,0.20993e-05_rb,0.17870e-05_rb /) kbo(:, 3,52, 3) = (/ & & 0.15320e-08_rb,0.11790e-05_rb,0.19577e-05_rb,0.25220e-05_rb,0.20845e-05_rb /) kbo(:, 4,52, 3) = (/ & & 0.17130e-08_rb,0.13791e-05_rb,0.22952e-05_rb,0.29677e-05_rb,0.24040e-05_rb /) kbo(:, 5,52, 3) = (/ & & 0.19041e-08_rb,0.15914e-05_rb,0.26635e-05_rb,0.34439e-05_rb,0.27247e-05_rb /) kbo(:, 1,53, 3) = (/ & & 0.99523e-09_rb,0.66219e-06_rb,0.10632e-05_rb,0.13341e-05_rb,0.11550e-05_rb /) kbo(:, 2,53, 3) = (/ & & 0.10903e-08_rb,0.79022e-06_rb,0.12914e-05_rb,0.16401e-05_rb,0.13929e-05_rb /) kbo(:, 3,53, 3) = (/ & & 0.12082e-08_rb,0.93266e-06_rb,0.15445e-05_rb,0.19841e-05_rb,0.16452e-05_rb /) kbo(:, 4,53, 3) = (/ & & 0.13437e-08_rb,0.10969e-05_rb,0.18212e-05_rb,0.23517e-05_rb,0.19029e-05_rb /) kbo(:, 5,53, 3) = (/ & & 0.14972e-08_rb,0.12734e-05_rb,0.21276e-05_rb,0.27431e-05_rb,0.21722e-05_rb /) kbo(:, 1,54, 3) = (/ & & 0.78782e-09_rb,0.51993e-06_rb,0.82752e-06_rb,0.10421e-05_rb,0.88632e-06_rb /) kbo(:, 2,54, 3) = (/ & & 0.86642e-09_rb,0.62440e-06_rb,0.10138e-05_rb,0.12820e-05_rb,0.10958e-05_rb /) kbo(:, 3,54, 3) = (/ & & 0.95141e-09_rb,0.74051e-06_rb,0.12221e-05_rb,0.15626e-05_rb,0.13014e-05_rb /) kbo(:, 4,54, 3) = (/ & & 0.10622e-08_rb,0.87438e-06_rb,0.14481e-05_rb,0.18675e-05_rb,0.15138e-05_rb /) kbo(:, 5,54, 3) = (/ & & 0.11829e-08_rb,0.10217e-05_rb,0.17025e-05_rb,0.21900e-05_rb,0.17349e-05_rb /) kbo(:, 1,55, 3) = (/ & & 0.62734e-09_rb,0.40844e-06_rb,0.64675e-06_rb,0.81168e-06_rb,0.68015e-06_rb /) kbo(:, 2,55, 3) = (/ & & 0.68670e-09_rb,0.49437e-06_rb,0.79822e-06_rb,0.10031e-05_rb,0.85955e-06_rb /) kbo(:, 3,55, 3) = (/ & & 0.75551e-09_rb,0.58813e-06_rb,0.96640e-06_rb,0.12305e-05_rb,0.10290e-05_rb /) kbo(:, 4,55, 3) = (/ & & 0.83896e-09_rb,0.69762e-06_rb,0.11529e-05_rb,0.14845e-05_rb,0.12025e-05_rb /) kbo(:, 5,55, 3) = (/ & & 0.93727e-09_rb,0.81992e-06_rb,0.13618e-05_rb,0.17489e-05_rb,0.13856e-05_rb /) kbo(:, 1,56, 3) = (/ & & 0.50214e-09_rb,0.32028e-06_rb,0.50524e-06_rb,0.63147e-06_rb,0.51903e-06_rb /) kbo(:, 2,56, 3) = (/ & & 0.54775e-09_rb,0.38841e-06_rb,0.62589e-06_rb,0.78445e-06_rb,0.67099e-06_rb /) kbo(:, 3,56, 3) = (/ & & 0.59971e-09_rb,0.46602e-06_rb,0.76356e-06_rb,0.96978e-06_rb,0.80912e-06_rb /) kbo(:, 4,56, 3) = (/ & & 0.66466e-09_rb,0.55509e-06_rb,0.91533e-06_rb,0.11766e-05_rb,0.95284e-06_rb /) kbo(:, 5,56, 3) = (/ & & 0.73931e-09_rb,0.65625e-06_rb,0.10864e-05_rb,0.13946e-05_rb,0.11055e-05_rb /) kbo(:, 1,57, 3) = (/ & & 0.40171e-09_rb,0.25009e-06_rb,0.39211e-06_rb,0.49250e-06_rb,0.39332e-06_rb /) kbo(:, 2,57, 3) = (/ & & 0.43379e-09_rb,0.30473e-06_rb,0.48932e-06_rb,0.61342e-06_rb,0.52076e-06_rb /) kbo(:, 3,57, 3) = (/ & & 0.47729e-09_rb,0.36874e-06_rb,0.59978e-06_rb,0.76246e-06_rb,0.63556e-06_rb /) kbo(:, 4,57, 3) = (/ & & 0.52454e-09_rb,0.44075e-06_rb,0.72488e-06_rb,0.93079e-06_rb,0.75448e-06_rb /) kbo(:, 5,57, 3) = (/ & & 0.58546e-09_rb,0.52389e-06_rb,0.86565e-06_rb,0.11107e-05_rb,0.87858e-06_rb /) kbo(:, 1,58, 3) = (/ & & 0.32222e-09_rb,0.19536e-06_rb,0.30484e-06_rb,0.38123e-06_rb,0.29798e-06_rb /) kbo(:, 2,58, 3) = (/ & & 0.34550e-09_rb,0.24003e-06_rb,0.38206e-06_rb,0.48033e-06_rb,0.40193e-06_rb /) kbo(:, 3,58, 3) = (/ & & 0.37930e-09_rb,0.29179e-06_rb,0.47226e-06_rb,0.59938e-06_rb,0.50056e-06_rb /) kbo(:, 4,58, 3) = (/ & & 0.41675e-09_rb,0.35035e-06_rb,0.57500e-06_rb,0.73642e-06_rb,0.59836e-06_rb /) kbo(:, 5,58, 3) = (/ & & 0.46320e-09_rb,0.41854e-06_rb,0.69041e-06_rb,0.88548e-06_rb,0.70003e-06_rb /) kbo(:, 1,59, 3) = (/ & & 0.26166e-09_rb,0.15868e-06_rb,0.24697e-06_rb,0.30892e-06_rb,0.23964e-06_rb /) kbo(:, 2,59, 3) = (/ & & 0.28095e-09_rb,0.19552e-06_rb,0.31068e-06_rb,0.39037e-06_rb,0.32469e-06_rb /) kbo(:, 3,59, 3) = (/ & & 0.30730e-09_rb,0.23856e-06_rb,0.38554e-06_rb,0.48902e-06_rb,0.40738e-06_rb /) kbo(:, 4,59, 3) = (/ & & 0.33781e-09_rb,0.28749e-06_rb,0.47157e-06_rb,0.60286e-06_rb,0.48803e-06_rb /) kbo(:, 5,59, 3) = (/ & & 0.37526e-09_rb,0.34439e-06_rb,0.56789e-06_rb,0.72742e-06_rb,0.57238e-06_rb /) kbo(:, 1,13, 4) = (/ & & 0.49038e-04_rb,0.50781e-02_rb,0.78254e-02_rb,0.96484e-02_rb,0.10614e-01_rb /) kbo(:, 2,13, 4) = (/ & & 0.54225e-04_rb,0.54905e-02_rb,0.85710e-02_rb,0.10460e-01_rb,0.11206e-01_rb /) kbo(:, 3,13, 4) = (/ & & 0.61134e-04_rb,0.58773e-02_rb,0.93183e-02_rb,0.11347e-01_rb,0.11729e-01_rb /) kbo(:, 4,13, 4) = (/ & & 0.68793e-04_rb,0.62794e-02_rb,0.99768e-02_rb,0.12248e-01_rb,0.12250e-01_rb /) kbo(:, 5,13, 4) = (/ & & 0.77429e-04_rb,0.66893e-02_rb,0.10624e-01_rb,0.13064e-01_rb,0.12730e-01_rb /) kbo(:, 1,14, 4) = (/ & & 0.40706e-04_rb,0.43045e-02_rb,0.66240e-02_rb,0.81227e-02_rb,0.87105e-02_rb /) kbo(:, 2,14, 4) = (/ & & 0.45789e-04_rb,0.46404e-02_rb,0.72547e-02_rb,0.88508e-02_rb,0.92183e-02_rb /) kbo(:, 3,14, 4) = (/ & & 0.51359e-04_rb,0.49670e-02_rb,0.78649e-02_rb,0.95928e-02_rb,0.96590e-02_rb /) kbo(:, 4,14, 4) = (/ & & 0.58448e-04_rb,0.53112e-02_rb,0.84165e-02_rb,0.10356e-01_rb,0.10085e-01_rb /) kbo(:, 5,14, 4) = (/ & & 0.66585e-04_rb,0.56590e-02_rb,0.89770e-02_rb,0.11022e-01_rb,0.10540e-01_rb /) kbo(:, 1,15, 4) = (/ & & 0.33161e-04_rb,0.36374e-02_rb,0.56007e-02_rb,0.68408e-02_rb,0.70399e-02_rb /) kbo(:, 2,15, 4) = (/ & & 0.37316e-04_rb,0.39145e-02_rb,0.61318e-02_rb,0.74812e-02_rb,0.74533e-02_rb /) kbo(:, 3,15, 4) = (/ & & 0.42184e-04_rb,0.41949e-02_rb,0.66272e-02_rb,0.81097e-02_rb,0.78393e-02_rb /) kbo(:, 4,15, 4) = (/ & & 0.48249e-04_rb,0.44861e-02_rb,0.70934e-02_rb,0.87330e-02_rb,0.82262e-02_rb /) kbo(:, 5,15, 4) = (/ & & 0.54912e-04_rb,0.47829e-02_rb,0.75688e-02_rb,0.92830e-02_rb,0.86058e-02_rb /) kbo(:, 1,16, 4) = (/ & & 0.26598e-04_rb,0.30649e-02_rb,0.47323e-02_rb,0.57742e-02_rb,0.56644e-02_rb /) kbo(:, 2,16, 4) = (/ & & 0.30096e-04_rb,0.32950e-02_rb,0.51778e-02_rb,0.63145e-02_rb,0.60193e-02_rb /) kbo(:, 3,16, 4) = (/ & & 0.34085e-04_rb,0.35350e-02_rb,0.55806e-02_rb,0.68447e-02_rb,0.63708e-02_rb /) kbo(:, 4,16, 4) = (/ & & 0.38919e-04_rb,0.37831e-02_rb,0.59719e-02_rb,0.73465e-02_rb,0.67088e-02_rb /) kbo(:, 5,16, 4) = (/ & & 0.44492e-04_rb,0.40393e-02_rb,0.63750e-02_rb,0.78120e-02_rb,0.70249e-02_rb /) kbo(:, 1,17, 4) = (/ & & 0.21449e-04_rb,0.25756e-02_rb,0.39936e-02_rb,0.48662e-02_rb,0.46205e-02_rb /) kbo(:, 2,17, 4) = (/ & & 0.24103e-04_rb,0.27706e-02_rb,0.43619e-02_rb,0.53164e-02_rb,0.49202e-02_rb /) kbo(:, 3,17, 4) = (/ & & 0.27451e-04_rb,0.29765e-02_rb,0.46959e-02_rb,0.57632e-02_rb,0.52122e-02_rb /) kbo(:, 4,17, 4) = (/ & & 0.31381e-04_rb,0.31884e-02_rb,0.50222e-02_rb,0.61735e-02_rb,0.54790e-02_rb /) kbo(:, 5,17, 4) = (/ & & 0.35953e-04_rb,0.34099e-02_rb,0.53645e-02_rb,0.65659e-02_rb,0.57419e-02_rb /) kbo(:, 1,18, 4) = (/ & & 0.17468e-04_rb,0.21642e-02_rb,0.33642e-02_rb,0.40972e-02_rb,0.37921e-02_rb /) kbo(:, 2,18, 4) = (/ & & 0.19506e-04_rb,0.23308e-02_rb,0.36683e-02_rb,0.44696e-02_rb,0.40385e-02_rb /) kbo(:, 3,18, 4) = (/ & & 0.22326e-04_rb,0.25072e-02_rb,0.39454e-02_rb,0.48507e-02_rb,0.42773e-02_rb /) kbo(:, 4,18, 4) = (/ & & 0.25558e-04_rb,0.26901e-02_rb,0.42240e-02_rb,0.51855e-02_rb,0.45000e-02_rb /) kbo(:, 5,18, 4) = (/ & & 0.29519e-04_rb,0.28816e-02_rb,0.45135e-02_rb,0.55168e-02_rb,0.47259e-02_rb /) kbo(:, 1,19, 4) = (/ & & 0.14162e-04_rb,0.18165e-02_rb,0.28311e-02_rb,0.34491e-02_rb,0.31263e-02_rb /) kbo(:, 2,19, 4) = (/ & & 0.15880e-04_rb,0.19594e-02_rb,0.30792e-02_rb,0.37577e-02_rb,0.33277e-02_rb /) kbo(:, 3,19, 4) = (/ & & 0.18250e-04_rb,0.21124e-02_rb,0.33110e-02_rb,0.40717e-02_rb,0.35255e-02_rb /) kbo(:, 4,19, 4) = (/ & & 0.20948e-04_rb,0.22711e-02_rb,0.35512e-02_rb,0.43541e-02_rb,0.37114e-02_rb /) kbo(:, 5,19, 4) = (/ & & 0.24279e-04_rb,0.24360e-02_rb,0.37972e-02_rb,0.46336e-02_rb,0.39063e-02_rb /) kbo(:, 1,20, 4) = (/ & & 0.11677e-04_rb,0.15268e-02_rb,0.23854e-02_rb,0.29054e-02_rb,0.25927e-02_rb /) kbo(:, 2,20, 4) = (/ & & 0.13127e-04_rb,0.16502e-02_rb,0.25884e-02_rb,0.31642e-02_rb,0.27584e-02_rb /) kbo(:, 3,20, 4) = (/ & & 0.15145e-04_rb,0.17827e-02_rb,0.27854e-02_rb,0.34198e-02_rb,0.29228e-02_rb /) kbo(:, 4,20, 4) = (/ & & 0.17426e-04_rb,0.19208e-02_rb,0.29919e-02_rb,0.36563e-02_rb,0.30836e-02_rb /) kbo(:, 5,20, 4) = (/ & & 0.20187e-04_rb,0.20638e-02_rb,0.32027e-02_rb,0.38955e-02_rb,0.32517e-02_rb /) kbo(:, 1,21, 4) = (/ & & 0.96248e-05_rb,0.12839e-02_rb,0.20069e-02_rb,0.24439e-02_rb,0.21521e-02_rb /) kbo(:, 2,21, 4) = (/ & & 0.10884e-04_rb,0.13905e-02_rb,0.21753e-02_rb,0.26634e-02_rb,0.22901e-02_rb /) kbo(:, 3,21, 4) = (/ & & 0.12576e-04_rb,0.15057e-02_rb,0.23430e-02_rb,0.28714e-02_rb,0.24271e-02_rb /) kbo(:, 4,21, 4) = (/ & & 0.14492e-04_rb,0.16245e-02_rb,0.25229e-02_rb,0.30709e-02_rb,0.25653e-02_rb /) kbo(:, 5,21, 4) = (/ & & 0.16785e-04_rb,0.17487e-02_rb,0.27053e-02_rb,0.32769e-02_rb,0.27041e-02_rb /) kbo(:, 1,22, 4) = (/ & & 0.78987e-05_rb,0.10841e-02_rb,0.16963e-02_rb,0.20646e-02_rb,0.17920e-02_rb /) kbo(:, 2,22, 4) = (/ & & 0.90688e-05_rb,0.11783e-02_rb,0.18364e-02_rb,0.22523e-02_rb,0.19054e-02_rb /) kbo(:, 3,22, 4) = (/ & & 0.10436e-04_rb,0.12776e-02_rb,0.19832e-02_rb,0.24220e-02_rb,0.20200e-02_rb /) kbo(:, 4,22, 4) = (/ & & 0.12051e-04_rb,0.13800e-02_rb,0.21391e-02_rb,0.25904e-02_rb,0.21364e-02_rb /) kbo(:, 5,22, 4) = (/ & & 0.13992e-04_rb,0.14877e-02_rb,0.22983e-02_rb,0.27690e-02_rb,0.22519e-02_rb /) kbo(:, 1,23, 4) = (/ & & 0.65143e-05_rb,0.91629e-03_rb,0.14337e-02_rb,0.17468e-02_rb,0.14890e-02_rb /) kbo(:, 2,23, 4) = (/ & & 0.75295e-05_rb,0.99880e-03_rb,0.15532e-02_rb,0.19017e-02_rb,0.15844e-02_rb /) kbo(:, 3,23, 4) = (/ & & 0.86172e-05_rb,0.10843e-02_rb,0.16828e-02_rb,0.20454e-02_rb,0.16822e-02_rb /) kbo(:, 4,23, 4) = (/ & & 0.10017e-04_rb,0.11729e-02_rb,0.18176e-02_rb,0.21912e-02_rb,0.17800e-02_rb /) kbo(:, 5,23, 4) = (/ & & 0.11640e-04_rb,0.12668e-02_rb,0.19549e-02_rb,0.23447e-02_rb,0.18765e-02_rb /) kbo(:, 1,24, 4) = (/ & & 0.53432e-05_rb,0.77571e-03_rb,0.12114e-02_rb,0.14805e-02_rb,0.12372e-02_rb /) kbo(:, 2,24, 4) = (/ & & 0.61515e-05_rb,0.84718e-03_rb,0.13153e-02_rb,0.16078e-02_rb,0.13181e-02_rb /) kbo(:, 3,24, 4) = (/ & & 0.70923e-05_rb,0.92024e-03_rb,0.14293e-02_rb,0.17300e-02_rb,0.13989e-02_rb /) kbo(:, 4,24, 4) = (/ & & 0.82684e-05_rb,0.99740e-03_rb,0.15447e-02_rb,0.18573e-02_rb,0.14811e-02_rb /) kbo(:, 5,24, 4) = (/ & & 0.96268e-05_rb,0.10789e-02_rb,0.16627e-02_rb,0.19892e-02_rb,0.15621e-02_rb /) kbo(:, 1,25, 4) = (/ & & 0.43932e-05_rb,0.65898e-03_rb,0.10259e-02_rb,0.12568e-02_rb,0.10287e-02_rb /) kbo(:, 2,25, 4) = (/ & & 0.50483e-05_rb,0.71973e-03_rb,0.11174e-02_rb,0.13610e-02_rb,0.10973e-02_rb /) kbo(:, 3,25, 4) = (/ & & 0.58527e-05_rb,0.78269e-03_rb,0.12157e-02_rb,0.14658e-02_rb,0.11648e-02_rb /) kbo(:, 4,25, 4) = (/ & & 0.68258e-05_rb,0.84968e-03_rb,0.13158e-02_rb,0.15774e-02_rb,0.12354e-02_rb /) kbo(:, 5,25, 4) = (/ & & 0.79780e-05_rb,0.92093e-03_rb,0.14171e-02_rb,0.16917e-02_rb,0.13029e-02_rb /) kbo(:, 1,26, 4) = (/ & & 0.36349e-05_rb,0.56139e-03_rb,0.87232e-03_rb,0.10671e-02_rb,0.85747e-03_rb /) kbo(:, 2,26, 4) = (/ & & 0.41763e-05_rb,0.61307e-03_rb,0.95284e-03_rb,0.11559e-02_rb,0.91640e-03_rb /) kbo(:, 3,26, 4) = (/ & & 0.48643e-05_rb,0.66769e-03_rb,0.10377e-02_rb,0.12480e-02_rb,0.97417e-03_rb /) kbo(:, 4,26, 4) = (/ & & 0.56806e-05_rb,0.72618e-03_rb,0.11238e-02_rb,0.13443e-02_rb,0.10341e-02_rb /) kbo(:, 5,26, 4) = (/ & & 0.66574e-05_rb,0.78791e-03_rb,0.12118e-02_rb,0.14426e-02_rb,0.10908e-02_rb /) kbo(:, 1,27, 4) = (/ & & 0.29849e-05_rb,0.47845e-03_rb,0.74324e-03_rb,0.90695e-03_rb,0.71654e-03_rb /) kbo(:, 2,27, 4) = (/ & & 0.34528e-05_rb,0.52305e-03_rb,0.81407e-03_rb,0.98348e-03_rb,0.76622e-03_rb /) kbo(:, 3,27, 4) = (/ & & 0.40386e-05_rb,0.57067e-03_rb,0.88635e-03_rb,0.10643e-02_rb,0.81617e-03_rb /) kbo(:, 4,27, 4) = (/ & & 0.47349e-05_rb,0.62159e-03_rb,0.96045e-03_rb,0.11476e-02_rb,0.86667e-03_rb /) kbo(:, 5,27, 4) = (/ & & 0.55504e-05_rb,0.67486e-03_rb,0.10373e-02_rb,0.12327e-02_rb,0.91437e-03_rb /) kbo(:, 1,28, 4) = (/ & & 0.24474e-05_rb,0.40819e-03_rb,0.63469e-03_rb,0.77184e-03_rb,0.59959e-03_rb /) kbo(:, 2,28, 4) = (/ & & 0.28527e-05_rb,0.44694e-03_rb,0.69550e-03_rb,0.83809e-03_rb,0.64151e-03_rb /) kbo(:, 3,28, 4) = (/ & & 0.33444e-05_rb,0.48804e-03_rb,0.75797e-03_rb,0.90921e-03_rb,0.68464e-03_rb /) kbo(:, 4,28, 4) = (/ & & 0.39332e-05_rb,0.53229e-03_rb,0.82174e-03_rb,0.98103e-03_rb,0.72680e-03_rb /) kbo(:, 5,28, 4) = (/ & & 0.46245e-05_rb,0.57864e-03_rb,0.88872e-03_rb,0.10544e-02_rb,0.76723e-03_rb /) kbo(:, 1,29, 4) = (/ & & 0.20253e-05_rb,0.34921e-03_rb,0.54365e-03_rb,0.65865e-03_rb,0.50331e-03_rb /) kbo(:, 2,29, 4) = (/ & & 0.23720e-05_rb,0.38278e-03_rb,0.59577e-03_rb,0.71729e-03_rb,0.53864e-03_rb /) kbo(:, 3,29, 4) = (/ & & 0.27945e-05_rb,0.41887e-03_rb,0.64907e-03_rb,0.77823e-03_rb,0.57581e-03_rb /) kbo(:, 4,29, 4) = (/ & & 0.32936e-05_rb,0.45699e-03_rb,0.70481e-03_rb,0.84074e-03_rb,0.61089e-03_rb /) kbo(:, 5,29, 4) = (/ & & 0.38881e-05_rb,0.49757e-03_rb,0.76325e-03_rb,0.90356e-03_rb,0.64564e-03_rb /) kbo(:, 1,30, 4) = (/ & & 0.16797e-05_rb,0.29918e-03_rb,0.46598e-03_rb,0.56316e-03_rb,0.42270e-03_rb /) kbo(:, 2,30, 4) = (/ & & 0.19764e-05_rb,0.32839e-03_rb,0.51076e-03_rb,0.61439e-03_rb,0.45306e-03_rb /) kbo(:, 3,30, 4) = (/ & & 0.23384e-05_rb,0.35985e-03_rb,0.55686e-03_rb,0.66712e-03_rb,0.48445e-03_rb /) kbo(:, 4,30, 4) = (/ & & 0.27662e-05_rb,0.39302e-03_rb,0.60525e-03_rb,0.72092e-03_rb,0.51425e-03_rb /) kbo(:, 5,30, 4) = (/ & & 0.32687e-05_rb,0.42837e-03_rb,0.65610e-03_rb,0.77570e-03_rb,0.54396e-03_rb /) kbo(:, 1,31, 4) = (/ & & 0.13991e-05_rb,0.25687e-03_rb,0.39996e-03_rb,0.48307e-03_rb,0.35570e-03_rb /) kbo(:, 2,31, 4) = (/ & & 0.16564e-05_rb,0.28246e-03_rb,0.43858e-03_rb,0.52743e-03_rb,0.38211e-03_rb /) kbo(:, 3,31, 4) = (/ & & 0.19660e-05_rb,0.30971e-03_rb,0.47856e-03_rb,0.57309e-03_rb,0.40826e-03_rb /) kbo(:, 4,31, 4) = (/ & & 0.23334e-05_rb,0.33881e-03_rb,0.52066e-03_rb,0.61919e-03_rb,0.43367e-03_rb /) kbo(:, 5,31, 4) = (/ & & 0.27587e-05_rb,0.36964e-03_rb,0.56499e-03_rb,0.66660e-03_rb,0.45969e-03_rb /) kbo(:, 1,32, 4) = (/ & & 0.11711e-05_rb,0.22102e-03_rb,0.34394e-03_rb,0.41512e-03_rb,0.29980e-03_rb /) kbo(:, 2,32, 4) = (/ & & 0.13928e-05_rb,0.24337e-03_rb,0.37713e-03_rb,0.45351e-03_rb,0.32253e-03_rb /) kbo(:, 3,32, 4) = (/ & & 0.16589e-05_rb,0.26704e-03_rb,0.41202e-03_rb,0.49272e-03_rb,0.34442e-03_rb /) kbo(:, 4,32, 4) = (/ & & 0.19740e-05_rb,0.29261e-03_rb,0.44855e-03_rb,0.53274e-03_rb,0.36633e-03_rb /) kbo(:, 5,32, 4) = (/ & & 0.23323e-05_rb,0.31973e-03_rb,0.48726e-03_rb,0.57383e-03_rb,0.38915e-03_rb /) kbo(:, 1,33, 4) = (/ & & 0.98300e-06_rb,0.19047e-03_rb,0.29592e-03_rb,0.35739e-03_rb,0.25303e-03_rb /) kbo(:, 2,33, 4) = (/ & & 0.11751e-05_rb,0.20983e-03_rb,0.32474e-03_rb,0.39043e-03_rb,0.27259e-03_rb /) kbo(:, 3,33, 4) = (/ & & 0.14027e-05_rb,0.23065e-03_rb,0.35505e-03_rb,0.42405e-03_rb,0.29120e-03_rb /) kbo(:, 4,33, 4) = (/ & & 0.16692e-05_rb,0.25302e-03_rb,0.38699e-03_rb,0.45888e-03_rb,0.31018e-03_rb /) kbo(:, 5,33, 4) = (/ & & 0.19716e-05_rb,0.27715e-03_rb,0.42119e-03_rb,0.49468e-03_rb,0.32989e-03_rb /) kbo(:, 1,34, 4) = (/ & & 0.82915e-06_rb,0.16396e-03_rb,0.25433e-03_rb,0.30700e-03_rb,0.21406e-03_rb /) kbo(:, 2,34, 4) = (/ & & 0.99352e-06_rb,0.18083e-03_rb,0.27935e-03_rb,0.33552e-03_rb,0.23048e-03_rb /) kbo(:, 3,34, 4) = (/ & & 0.11877e-05_rb,0.19915e-03_rb,0.30578e-03_rb,0.36455e-03_rb,0.24659e-03_rb /) kbo(:, 4,34, 4) = (/ & & 0.14139e-05_rb,0.21886e-03_rb,0.33384e-03_rb,0.39476e-03_rb,0.26317e-03_rb /) kbo(:, 5,34, 4) = (/ & & 0.16670e-05_rb,0.24021e-03_rb,0.36390e-03_rb,0.42603e-03_rb,0.28005e-03_rb /) kbo(:, 1,35, 4) = (/ & & 0.68670e-06_rb,0.13979e-03_rb,0.21673e-03_rb,0.26161e-03_rb,0.17974e-03_rb /) kbo(:, 2,35, 4) = (/ & & 0.82437e-06_rb,0.15448e-03_rb,0.23846e-03_rb,0.28611e-03_rb,0.19377e-03_rb /) kbo(:, 3,35, 4) = (/ & & 0.98649e-06_rb,0.17044e-03_rb,0.26139e-03_rb,0.31132e-03_rb,0.20765e-03_rb /) kbo(:, 4,35, 4) = (/ & & 0.11740e-05_rb,0.18773e-03_rb,0.28609e-03_rb,0.33740e-03_rb,0.22197e-03_rb /) kbo(:, 5,35, 4) = (/ & & 0.13833e-05_rb,0.20652e-03_rb,0.31233e-03_rb,0.36449e-03_rb,0.23658e-03_rb /) kbo(:, 1,36, 4) = (/ & & 0.55564e-06_rb,0.11786e-03_rb,0.18283e-03_rb,0.22089e-03_rb,0.14951e-03_rb /) kbo(:, 2,36, 4) = (/ & & 0.66731e-06_rb,0.13053e-03_rb,0.20151e-03_rb,0.24189e-03_rb,0.16146e-03_rb /) kbo(:, 3,36, 4) = (/ & & 0.80048e-06_rb,0.14432e-03_rb,0.22154e-03_rb,0.26364e-03_rb,0.17348e-03_rb /) kbo(:, 4,36, 4) = (/ & & 0.95195e-06_rb,0.15937e-03_rb,0.24310e-03_rb,0.28609e-03_rb,0.18577e-03_rb /) kbo(:, 5,36, 4) = (/ & & 0.11217e-05_rb,0.17580e-03_rb,0.26601e-03_rb,0.30949e-03_rb,0.19850e-03_rb /) kbo(:, 1,37, 4) = (/ & & 0.44526e-06_rb,0.98334e-04_rb,0.15236e-03_rb,0.18395e-03_rb,0.12369e-03_rb /) kbo(:, 2,37, 4) = (/ & & 0.53551e-06_rb,0.10927e-03_rb,0.16837e-03_rb,0.20194e-03_rb,0.13387e-03_rb /) kbo(:, 3,37, 4) = (/ & & 0.64307e-06_rb,0.12110e-03_rb,0.18556e-03_rb,0.22059e-03_rb,0.14418e-03_rb /) kbo(:, 4,37, 4) = (/ & & 0.76688e-06_rb,0.13411e-03_rb,0.20414e-03_rb,0.23985e-03_rb,0.15477e-03_rb /) kbo(:, 5,37, 4) = (/ & & 0.90591e-06_rb,0.14842e-03_rb,0.22405e-03_rb,0.25996e-03_rb,0.16566e-03_rb /) kbo(:, 1,38, 4) = (/ & & 0.35630e-06_rb,0.81991e-04_rb,0.12690e-03_rb,0.15312e-03_rb,0.10226e-03_rb /) kbo(:, 2,38, 4) = (/ & & 0.42911e-06_rb,0.91391e-04_rb,0.14064e-03_rb,0.16849e-03_rb,0.11095e-03_rb /) kbo(:, 3,38, 4) = (/ & & 0.51583e-06_rb,0.10163e-03_rb,0.15538e-03_rb,0.18448e-03_rb,0.11977e-03_rb /) kbo(:, 4,38, 4) = (/ & & 0.61654e-06_rb,0.11287e-03_rb,0.17138e-03_rb,0.20101e-03_rb,0.12884e-03_rb /) kbo(:, 5,38, 4) = (/ & & 0.73028e-06_rb,0.12530e-03_rb,0.18862e-03_rb,0.21826e-03_rb,0.13816e-03_rb /) kbo(:, 1,39, 4) = (/ & & 0.28455e-06_rb,0.68362e-04_rb,0.10572e-03_rb,0.12747e-03_rb,0.84494e-04_rb /) kbo(:, 2,39, 4) = (/ & & 0.34313e-06_rb,0.76413e-04_rb,0.11751e-03_rb,0.14060e-03_rb,0.91905e-04_rb /) kbo(:, 3,39, 4) = (/ & & 0.41305e-06_rb,0.85299e-04_rb,0.13016e-03_rb,0.15431e-03_rb,0.99463e-04_rb /) kbo(:, 4,39, 4) = (/ & & 0.49466e-06_rb,0.95047e-04_rb,0.14396e-03_rb,0.16851e-03_rb,0.10725e-03_rb /) kbo(:, 5,39, 4) = (/ & & 0.58721e-06_rb,0.10583e-03_rb,0.15886e-03_rb,0.18332e-03_rb,0.11516e-03_rb /) kbo(:, 1,40, 4) = (/ & & 0.22416e-06_rb,0.56451e-04_rb,0.87192e-04_rb,0.10503e-03_rb,0.69299e-04_rb /) kbo(:, 2,40, 4) = (/ & & 0.27058e-06_rb,0.63325e-04_rb,0.97241e-04_rb,0.11625e-03_rb,0.75635e-04_rb /) kbo(:, 3,40, 4) = (/ & & 0.32640e-06_rb,0.70942e-04_rb,0.10801e-03_rb,0.12792e-03_rb,0.82061e-04_rb /) kbo(:, 4,40, 4) = (/ & & 0.39178e-06_rb,0.79381e-04_rb,0.11985e-03_rb,0.14005e-03_rb,0.88722e-04_rb /) kbo(:, 5,40, 4) = (/ & & 0.46694e-06_rb,0.88673e-04_rb,0.13261e-03_rb,0.15274e-03_rb,0.95437e-04_rb /) kbo(:, 1,41, 4) = (/ & & 0.17620e-06_rb,0.46495e-04_rb,0.71829e-04_rb,0.86351e-04_rb,0.56701e-04_rb /) kbo(:, 2,41, 4) = (/ & & 0.21295e-06_rb,0.52383e-04_rb,0.80380e-04_rb,0.95937e-04_rb,0.62100e-04_rb /) kbo(:, 3,41, 4) = (/ & & 0.25720e-06_rb,0.58900e-04_rb,0.89548e-04_rb,0.10594e-03_rb,0.67568e-04_rb /) kbo(:, 4,41, 4) = (/ & & 0.30957e-06_rb,0.66136e-04_rb,0.99643e-04_rb,0.11623e-03_rb,0.73280e-04_rb /) kbo(:, 5,41, 4) = (/ & & 0.37003e-06_rb,0.74203e-04_rb,0.11061e-03_rb,0.12707e-03_rb,0.78979e-04_rb /) kbo(:, 1,42, 4) = (/ & & 0.13843e-06_rb,0.38238e-04_rb,0.59124e-04_rb,0.70982e-04_rb,0.46331e-04_rb /) kbo(:, 2,42, 4) = (/ & & 0.16726e-06_rb,0.43269e-04_rb,0.66424e-04_rb,0.79125e-04_rb,0.50956e-04_rb /) kbo(:, 3,42, 4) = (/ & & 0.20232e-06_rb,0.48870e-04_rb,0.74247e-04_rb,0.87661e-04_rb,0.55561e-04_rb /) kbo(:, 4,42, 4) = (/ & & 0.24408e-06_rb,0.55119e-04_rb,0.82827e-04_rb,0.96453e-04_rb,0.60447e-04_rb /) kbo(:, 5,42, 4) = (/ & & 0.29276e-06_rb,0.62028e-04_rb,0.92221e-04_rb,0.10570e-03_rb,0.65281e-04_rb /) kbo(:, 1,43, 4) = (/ & & 0.10793e-06_rb,0.31191e-04_rb,0.48305e-04_rb,0.57948e-04_rb,0.37666e-04_rb /) kbo(:, 2,43, 4) = (/ & & 0.13017e-06_rb,0.35465e-04_rb,0.54489e-04_rb,0.64841e-04_rb,0.41556e-04_rb /) kbo(:, 3,43, 4) = (/ & & 0.15771e-06_rb,0.40235e-04_rb,0.61176e-04_rb,0.72082e-04_rb,0.45452e-04_rb /) kbo(:, 4,43, 4) = (/ & & 0.19064e-06_rb,0.45599e-04_rb,0.68488e-04_rb,0.79576e-04_rb,0.49593e-04_rb /) kbo(:, 5,43, 4) = (/ & & 0.22944e-06_rb,0.51552e-04_rb,0.76431e-04_rb,0.87462e-04_rb,0.53715e-04_rb /) kbo(:, 1,44, 4) = (/ & & 0.83879e-07_rb,0.25325e-04_rb,0.39297e-04_rb,0.47118e-04_rb,0.30510e-04_rb /) kbo(:, 2,44, 4) = (/ & & 0.10087e-06_rb,0.28920e-04_rb,0.44532e-04_rb,0.52929e-04_rb,0.33772e-04_rb /) kbo(:, 3,44, 4) = (/ & & 0.12238e-06_rb,0.32977e-04_rb,0.50189e-04_rb,0.59075e-04_rb,0.37069e-04_rb /) kbo(:, 4,44, 4) = (/ & & 0.14813e-06_rb,0.37556e-04_rb,0.56451e-04_rb,0.65448e-04_rb,0.40567e-04_rb /) kbo(:, 5,44, 4) = (/ & & 0.17874e-06_rb,0.42672e-04_rb,0.63196e-04_rb,0.72159e-04_rb,0.44085e-04_rb /) kbo(:, 1,45, 4) = (/ & & 0.65261e-07_rb,0.20516e-04_rb,0.31895e-04_rb,0.38279e-04_rb,0.24650e-04_rb /) kbo(:, 2,45, 4) = (/ & & 0.78145e-07_rb,0.23540e-04_rb,0.36319e-04_rb,0.43161e-04_rb,0.27390e-04_rb /) kbo(:, 3,45, 4) = (/ & & 0.94805e-07_rb,0.26962e-04_rb,0.41134e-04_rb,0.48357e-04_rb,0.30190e-04_rb /) kbo(:, 4,45, 4) = (/ & & 0.11490e-06_rb,0.30858e-04_rb,0.46429e-04_rb,0.53785e-04_rb,0.33136e-04_rb /) kbo(:, 5,45, 4) = (/ & & 0.13905e-06_rb,0.35210e-04_rb,0.52216e-04_rb,0.59482e-04_rb,0.36122e-04_rb /) kbo(:, 1,46, 4) = (/ & & 0.50668e-07_rb,0.16526e-04_rb,0.25752e-04_rb,0.30954e-04_rb,0.19817e-04_rb /) kbo(:, 2,46, 4) = (/ & & 0.60361e-07_rb,0.19058e-04_rb,0.29471e-04_rb,0.35060e-04_rb,0.22123e-04_rb /) kbo(:, 3,46, 4) = (/ & & 0.73101e-07_rb,0.21937e-04_rb,0.33569e-04_rb,0.39461e-04_rb,0.24498e-04_rb /) kbo(:, 4,46, 4) = (/ & & 0.88747e-07_rb,0.25222e-04_rb,0.38048e-04_rb,0.44039e-04_rb,0.26973e-04_rb /) kbo(:, 5,46, 4) = (/ & & 0.10762e-06_rb,0.28932e-04_rb,0.42964e-04_rb,0.48871e-04_rb,0.29499e-04_rb /) kbo(:, 1,47, 4) = (/ & & 0.39185e-07_rb,0.13207e-04_rb,0.20626e-04_rb,0.24835e-04_rb,0.15826e-04_rb /) kbo(:, 2,47, 4) = (/ & & 0.46335e-07_rb,0.15303e-04_rb,0.23722e-04_rb,0.28277e-04_rb,0.17762e-04_rb /) kbo(:, 3,47, 4) = (/ & & 0.55896e-07_rb,0.17703e-04_rb,0.27162e-04_rb,0.31976e-04_rb,0.19780e-04_rb /) kbo(:, 4,47, 4) = (/ & & 0.67962e-07_rb,0.20451e-04_rb,0.30940e-04_rb,0.35867e-04_rb,0.21834e-04_rb /) kbo(:, 5,47, 4) = (/ & & 0.82535e-07_rb,0.23583e-04_rb,0.35128e-04_rb,0.39933e-04_rb,0.23972e-04_rb /) kbo(:, 1,48, 4) = (/ & & 0.30435e-07_rb,0.10528e-04_rb,0.16458e-04_rb,0.19871e-04_rb,0.12630e-04_rb /) kbo(:, 2,48, 4) = (/ & & 0.35657e-07_rb,0.12255e-04_rb,0.19034e-04_rb,0.22757e-04_rb,0.14230e-04_rb /) kbo(:, 3,48, 4) = (/ & & 0.42777e-07_rb,0.14241e-04_rb,0.21916e-04_rb,0.25856e-04_rb,0.15916e-04_rb /) kbo(:, 4,48, 4) = (/ & & 0.51977e-07_rb,0.16531e-04_rb,0.25094e-04_rb,0.29142e-04_rb,0.17632e-04_rb /) kbo(:, 5,48, 4) = (/ & & 0.63246e-07_rb,0.19162e-04_rb,0.28631e-04_rb,0.32586e-04_rb,0.19447e-04_rb /) kbo(:, 1,49, 4) = (/ & & 0.23722e-07_rb,0.83656e-05_rb,0.13088e-04_rb,0.15834e-04_rb,0.10060e-04_rb /) kbo(:, 2,49, 4) = (/ & & 0.27509e-07_rb,0.97869e-05_rb,0.15227e-04_rb,0.18252e-04_rb,0.11363e-04_rb /) kbo(:, 3,49, 4) = (/ & & 0.32769e-07_rb,0.11426e-04_rb,0.17628e-04_rb,0.20853e-04_rb,0.12767e-04_rb /) kbo(:, 4,49, 4) = (/ & & 0.39719e-07_rb,0.13326e-04_rb,0.20285e-04_rb,0.23637e-04_rb,0.14223e-04_rb /) kbo(:, 5,49, 4) = (/ & & 0.48415e-07_rb,0.15524e-04_rb,0.23268e-04_rb,0.26530e-04_rb,0.15739e-04_rb /) kbo(:, 1,50, 4) = (/ & & 0.18623e-07_rb,0.66620e-05_rb,0.10425e-04_rb,0.12634e-04_rb,0.80132e-05_rb /) kbo(:, 2,50, 4) = (/ & & 0.21393e-07_rb,0.78264e-05_rb,0.12188e-04_rb,0.14643e-04_rb,0.90757e-05_rb /) kbo(:, 3,50, 4) = (/ & & 0.25281e-07_rb,0.91787e-05_rb,0.14186e-04_rb,0.16825e-04_rb,0.10247e-04_rb /) kbo(:, 4,50, 4) = (/ & & 0.30530e-07_rb,0.10758e-04_rb,0.16419e-04_rb,0.19178e-04_rb,0.11482e-04_rb /) kbo(:, 5,50, 4) = (/ & & 0.37213e-07_rb,0.12593e-04_rb,0.18920e-04_rb,0.21643e-04_rb,0.12749e-04_rb /) kbo(:, 1,51, 4) = (/ & & 0.14681e-07_rb,0.53043e-05_rb,0.82956e-05_rb,0.10064e-04_rb,0.63669e-05_rb /) kbo(:, 2,51, 4) = (/ & & 0.16717e-07_rb,0.62508e-05_rb,0.97501e-05_rb,0.11737e-04_rb,0.72473e-05_rb /) kbo(:, 3,51, 4) = (/ & & 0.19587e-07_rb,0.73643e-05_rb,0.11400e-04_rb,0.13558e-04_rb,0.82290e-05_rb /) kbo(:, 4,51, 4) = (/ & & 0.23555e-07_rb,0.86748e-05_rb,0.13268e-04_rb,0.15537e-04_rb,0.92634e-05_rb /) kbo(:, 5,51, 4) = (/ & & 0.28671e-07_rb,0.10209e-04_rb,0.15379e-04_rb,0.17635e-04_rb,0.10316e-04_rb /) kbo(:, 1,52, 4) = (/ & & 0.11626e-07_rb,0.42149e-05_rb,0.65740e-05_rb,0.79835e-05_rb,0.50595e-05_rb /) kbo(:, 2,52, 4) = (/ & & 0.13102e-07_rb,0.49884e-05_rb,0.77758e-05_rb,0.93846e-05_rb,0.57856e-05_rb /) kbo(:, 3,52, 4) = (/ & & 0.15208e-07_rb,0.58955e-05_rb,0.91392e-05_rb,0.10898e-04_rb,0.65937e-05_rb /) kbo(:, 4,52, 4) = (/ & & 0.18174e-07_rb,0.69758e-05_rb,0.10692e-04_rb,0.12554e-04_rb,0.74564e-05_rb /) kbo(:, 5,52, 4) = (/ & & 0.22057e-07_rb,0.82505e-05_rb,0.12462e-04_rb,0.14331e-04_rb,0.83301e-05_rb /) kbo(:, 1,53, 4) = (/ & & 0.92130e-08_rb,0.33378e-05_rb,0.51998e-05_rb,0.63006e-05_rb,0.40097e-05_rb /) kbo(:, 2,53, 4) = (/ & & 0.10298e-07_rb,0.39704e-05_rb,0.61839e-05_rb,0.74775e-05_rb,0.46077e-05_rb /) kbo(:, 3,53, 4) = (/ & & 0.11831e-07_rb,0.47088e-05_rb,0.73062e-05_rb,0.87345e-05_rb,0.52620e-05_rb /) kbo(:, 4,53, 4) = (/ & & 0.14030e-07_rb,0.55942e-05_rb,0.85921e-05_rb,0.10119e-04_rb,0.59838e-05_rb /) kbo(:, 5,53, 4) = (/ & & 0.16970e-07_rb,0.66447e-05_rb,0.10063e-04_rb,0.11620e-04_rb,0.67208e-05_rb /) kbo(:, 1,54, 4) = (/ & & 0.73443e-08_rb,0.26498e-05_rb,0.41229e-05_rb,0.49788e-05_rb,0.31929e-05_rb /) kbo(:, 2,54, 4) = (/ & & 0.81453e-08_rb,0.31689e-05_rb,0.49320e-05_rb,0.59701e-05_rb,0.36706e-05_rb /) kbo(:, 3,54, 4) = (/ & & 0.92853e-08_rb,0.37746e-05_rb,0.58561e-05_rb,0.70139e-05_rb,0.42105e-05_rb /) kbo(:, 4,54, 4) = (/ & & 0.10913e-07_rb,0.44986e-05_rb,0.69192e-05_rb,0.81733e-05_rb,0.48081e-05_rb /) kbo(:, 5,54, 4) = (/ & & 0.13151e-07_rb,0.53689e-05_rb,0.81469e-05_rb,0.94377e-05_rb,0.54320e-05_rb /) kbo(:, 1,55, 4) = (/ & & 0.58690e-08_rb,0.21056e-05_rb,0.32710e-05_rb,0.39362e-05_rb,0.25357e-05_rb /) kbo(:, 2,55, 4) = (/ & & 0.64824e-08_rb,0.25292e-05_rb,0.39335e-05_rb,0.47652e-05_rb,0.29266e-05_rb /) kbo(:, 3,55, 4) = (/ & & 0.73195e-08_rb,0.30260e-05_rb,0.46942e-05_rb,0.56346e-05_rb,0.33700e-05_rb /) kbo(:, 4,55, 4) = (/ & & 0.85298e-08_rb,0.36216e-05_rb,0.55727e-05_rb,0.65990e-05_rb,0.38662e-05_rb /) kbo(:, 5,55, 4) = (/ & & 0.10227e-07_rb,0.43366e-05_rb,0.65935e-05_rb,0.76627e-05_rb,0.43889e-05_rb /) kbo(:, 1,56, 4) = (/ & & 0.46879e-08_rb,0.16674e-05_rb,0.25848e-05_rb,0.30992e-05_rb,0.20097e-05_rb /) kbo(:, 2,56, 4) = (/ & & 0.51579e-08_rb,0.20145e-05_rb,0.31307e-05_rb,0.37875e-05_rb,0.23304e-05_rb /) kbo(:, 3,56, 4) = (/ & & 0.57829e-08_rb,0.24199e-05_rb,0.37529e-05_rb,0.45119e-05_rb,0.26962e-05_rb /) kbo(:, 4,56, 4) = (/ & & 0.66817e-08_rb,0.29092e-05_rb,0.44788e-05_rb,0.53142e-05_rb,0.31037e-05_rb /) kbo(:, 5,56, 4) = (/ & & 0.79548e-08_rb,0.34985e-05_rb,0.53248e-05_rb,0.62066e-05_rb,0.35387e-05_rb /) kbo(:, 1,57, 4) = (/ & & 0.37487e-08_rb,0.13177e-05_rb,0.20362e-05_rb,0.24278e-05_rb,0.15888e-05_rb /) kbo(:, 2,57, 4) = (/ & & 0.41132e-08_rb,0.16006e-05_rb,0.24863e-05_rb,0.30001e-05_rb,0.18530e-05_rb /) kbo(:, 3,57, 4) = (/ & & 0.45796e-08_rb,0.19301e-05_rb,0.29957e-05_rb,0.36053e-05_rb,0.21515e-05_rb /) kbo(:, 4,57, 4) = (/ & & 0.52447e-08_rb,0.23301e-05_rb,0.35902e-05_rb,0.42690e-05_rb,0.24844e-05_rb /) kbo(:, 5,57, 4) = (/ & & 0.61952e-08_rb,0.28175e-05_rb,0.42894e-05_rb,0.50133e-05_rb,0.28503e-05_rb /) kbo(:, 1,58, 4) = (/ & & 0.30053e-08_rb,0.10419e-05_rb,0.16034e-05_rb,0.19071e-05_rb,0.12550e-05_rb /) kbo(:, 2,58, 4) = (/ & & 0.32906e-08_rb,0.12717e-05_rb,0.19750e-05_rb,0.23751e-05_rb,0.14761e-05_rb /) kbo(:, 3,58, 4) = (/ & & 0.36412e-08_rb,0.15413e-05_rb,0.23950e-05_rb,0.28817e-05_rb,0.17173e-05_rb /) kbo(:, 4,58, 4) = (/ & & 0.41327e-08_rb,0.18673e-05_rb,0.28800e-05_rb,0.34301e-05_rb,0.19893e-05_rb /) kbo(:, 5,58, 4) = (/ & & 0.48448e-08_rb,0.22699e-05_rb,0.34559e-05_rb,0.40496e-05_rb,0.22938e-05_rb /) kbo(:, 1,59, 4) = (/ & & 0.24517e-08_rb,0.85367e-06_rb,0.13121e-05_rb,0.15587e-05_rb,0.10209e-05_rb /) kbo(:, 2,59, 4) = (/ & & 0.26814e-08_rb,0.10459e-05_rb,0.16241e-05_rb,0.19505e-05_rb,0.12067e-05_rb /) kbo(:, 3,59, 4) = (/ & & 0.29604e-08_rb,0.12726e-05_rb,0.19786e-05_rb,0.23765e-05_rb,0.14071e-05_rb /) kbo(:, 4,59, 4) = (/ & & 0.33490e-08_rb,0.15486e-05_rb,0.23884e-05_rb,0.28393e-05_rb,0.16353e-05_rb /) kbo(:, 5,59, 4) = (/ & & 0.39177e-08_rb,0.18923e-05_rb,0.28751e-05_rb,0.33648e-05_rb,0.18896e-05_rb /) kbo(:, 1,13, 5) = (/ & & 0.10606e-02_rb,0.17616e-01_rb,0.26337e-01_rb,0.30832e-01_rb,0.23250e-01_rb /) kbo(:, 2,13, 5) = (/ & & 0.11975e-02_rb,0.18851e-01_rb,0.27746e-01_rb,0.32191e-01_rb,0.24461e-01_rb /) kbo(:, 3,13, 5) = (/ & & 0.13686e-02_rb,0.20236e-01_rb,0.29224e-01_rb,0.33409e-01_rb,0.25538e-01_rb /) kbo(:, 4,13, 5) = (/ & & 0.15788e-02_rb,0.21686e-01_rb,0.30822e-01_rb,0.34581e-01_rb,0.26483e-01_rb /) kbo(:, 5,13, 5) = (/ & & 0.18422e-02_rb,0.23201e-01_rb,0.32485e-01_rb,0.35791e-01_rb,0.27339e-01_rb /) kbo(:, 1,14, 5) = (/ & & 0.90299e-03_rb,0.14939e-01_rb,0.22235e-01_rb,0.25969e-01_rb,0.19459e-01_rb /) kbo(:, 2,14, 5) = (/ & & 0.10276e-02_rb,0.16043e-01_rb,0.23464e-01_rb,0.27102e-01_rb,0.20418e-01_rb /) kbo(:, 3,14, 5) = (/ & & 0.11848e-02_rb,0.17244e-01_rb,0.24766e-01_rb,0.28137e-01_rb,0.21279e-01_rb /) kbo(:, 4,14, 5) = (/ & & 0.13763e-02_rb,0.18494e-01_rb,0.26159e-01_rb,0.29141e-01_rb,0.22035e-01_rb /) kbo(:, 5,14, 5) = (/ & & 0.16087e-02_rb,0.19801e-01_rb,0.27586e-01_rb,0.30208e-01_rb,0.22712e-01_rb /) kbo(:, 1,15, 5) = (/ & & 0.76169e-03_rb,0.12657e-01_rb,0.18744e-01_rb,0.21807e-01_rb,0.16155e-01_rb /) kbo(:, 2,15, 5) = (/ & & 0.87429e-03_rb,0.13622e-01_rb,0.19820e-01_rb,0.22753e-01_rb,0.16908e-01_rb /) kbo(:, 3,15, 5) = (/ & & 0.10153e-02_rb,0.14650e-01_rb,0.20967e-01_rb,0.23637e-01_rb,0.17597e-01_rb /) kbo(:, 4,15, 5) = (/ & & 0.11860e-02_rb,0.15728e-01_rb,0.22159e-01_rb,0.24521e-01_rb,0.18236e-01_rb /) kbo(:, 5,15, 5) = (/ & & 0.13940e-02_rb,0.16855e-01_rb,0.23377e-01_rb,0.25442e-01_rb,0.18800e-01_rb /) kbo(:, 1,16, 5) = (/ & & 0.63979e-03_rb,0.10716e-01_rb,0.15782e-01_rb,0.18280e-01_rb,0.13330e-01_rb /) kbo(:, 2,16, 5) = (/ & & 0.73992e-03_rb,0.11550e-01_rb,0.16721e-01_rb,0.19074e-01_rb,0.13955e-01_rb /) kbo(:, 3,16, 5) = (/ & & 0.86535e-03_rb,0.12432e-01_rb,0.17715e-01_rb,0.19835e-01_rb,0.14519e-01_rb /) kbo(:, 4,16, 5) = (/ & & 0.10180e-02_rb,0.13358e-01_rb,0.18733e-01_rb,0.20612e-01_rb,0.15053e-01_rb /) kbo(:, 5,16, 5) = (/ & & 0.12020e-02_rb,0.14330e-01_rb,0.19780e-01_rb,0.21390e-01_rb,0.15523e-01_rb /) kbo(:, 1,17, 5) = (/ & & 0.53827e-03_rb,0.90675e-02_rb,0.13282e-01_rb,0.15310e-01_rb,0.11002e-01_rb /) kbo(:, 2,17, 5) = (/ & & 0.62733e-03_rb,0.97818e-02_rb,0.14093e-01_rb,0.15985e-01_rb,0.11517e-01_rb /) kbo(:, 3,17, 5) = (/ & & 0.73894e-03_rb,0.10536e-01_rb,0.14937e-01_rb,0.16642e-01_rb,0.11982e-01_rb /) kbo(:, 4,17, 5) = (/ & & 0.87471e-03_rb,0.11329e-01_rb,0.15813e-01_rb,0.17308e-01_rb,0.12431e-01_rb /) kbo(:, 5,17, 5) = (/ & & 0.10369e-02_rb,0.12167e-01_rb,0.16717e-01_rb,0.17966e-01_rb,0.12833e-01_rb /) kbo(:, 1,18, 5) = (/ & & 0.45632e-03_rb,0.76631e-02_rb,0.11175e-01_rb,0.12821e-01_rb,0.91007e-02_rb /) kbo(:, 2,18, 5) = (/ & & 0.53618e-03_rb,0.82741e-02_rb,0.11867e-01_rb,0.13402e-01_rb,0.95284e-02_rb /) kbo(:, 3,18, 5) = (/ & & 0.63520e-03_rb,0.89179e-02_rb,0.12591e-01_rb,0.13960e-01_rb,0.99227e-02_rb /) kbo(:, 4,18, 5) = (/ & & 0.75513e-03_rb,0.95966e-02_rb,0.13345e-01_rb,0.14529e-01_rb,0.10294e-01_rb /) kbo(:, 5,18, 5) = (/ & & 0.89828e-03_rb,0.10325e-01_rb,0.14127e-01_rb,0.15082e-01_rb,0.10637e-01_rb /) kbo(:, 1,19, 5) = (/ & & 0.38782e-03_rb,0.64686e-02_rb,0.93947e-02_rb,0.10738e-01_rb,0.75366e-02_rb /) kbo(:, 2,19, 5) = (/ & & 0.45826e-03_rb,0.69872e-02_rb,0.99878e-02_rb,0.11230e-01_rb,0.78920e-02_rb /) kbo(:, 3,19, 5) = (/ & & 0.54544e-03_rb,0.75386e-02_rb,0.10613e-01_rb,0.11706e-01_rb,0.82219e-02_rb /) kbo(:, 4,19, 5) = (/ & & 0.65085e-03_rb,0.81243e-02_rb,0.11261e-01_rb,0.12183e-01_rb,0.85447e-02_rb /) kbo(:, 5,19, 5) = (/ & & 0.77601e-03_rb,0.87598e-02_rb,0.11933e-01_rb,0.12660e-01_rb,0.88388e-02_rb /) kbo(:, 1,20, 5) = (/ & & 0.33304e-03_rb,0.54623e-02_rb,0.79028e-02_rb,0.89960e-02_rb,0.62635e-02_rb /) kbo(:, 2,20, 5) = (/ & & 0.39553e-03_rb,0.59055e-02_rb,0.84155e-02_rb,0.94111e-02_rb,0.65613e-02_rb /) kbo(:, 3,20, 5) = (/ & & 0.47180e-03_rb,0.63779e-02_rb,0.89500e-02_rb,0.98172e-02_rb,0.68459e-02_rb /) kbo(:, 4,20, 5) = (/ & & 0.56453e-03_rb,0.68862e-02_rb,0.95048e-02_rb,0.10225e-01_rb,0.71246e-02_rb /) kbo(:, 5,20, 5) = (/ & & 0.67486e-03_rb,0.74411e-02_rb,0.10082e-01_rb,0.10637e-01_rb,0.73786e-02_rb /) kbo(:, 1,21, 5) = (/ & & 0.28693e-03_rb,0.46180e-02_rb,0.66504e-02_rb,0.75379e-02_rb,0.52071e-02_rb /) kbo(:, 2,21, 5) = (/ & & 0.34180e-03_rb,0.49948e-02_rb,0.70898e-02_rb,0.78866e-02_rb,0.54645e-02_rb /) kbo(:, 3,21, 5) = (/ & & 0.40811e-03_rb,0.54006e-02_rb,0.75474e-02_rb,0.82331e-02_rb,0.57127e-02_rb /) kbo(:, 4,21, 5) = (/ & & 0.48873e-03_rb,0.58434e-02_rb,0.80212e-02_rb,0.85844e-02_rb,0.59470e-02_rb /) kbo(:, 5,21, 5) = (/ & & 0.58593e-03_rb,0.63260e-02_rb,0.85182e-02_rb,0.89408e-02_rb,0.61662e-02_rb /) kbo(:, 1,22, 5) = (/ & & 0.24974e-03_rb,0.39240e-02_rb,0.56208e-02_rb,0.63345e-02_rb,0.43431e-02_rb /) kbo(:, 2,22, 5) = (/ & & 0.29749e-03_rb,0.42526e-02_rb,0.59996e-02_rb,0.66266e-02_rb,0.45624e-02_rb /) kbo(:, 3,22, 5) = (/ & & 0.35608e-03_rb,0.46047e-02_rb,0.63919e-02_rb,0.69259e-02_rb,0.47738e-02_rb /) kbo(:, 4,22, 5) = (/ & & 0.42699e-03_rb,0.49920e-02_rb,0.67993e-02_rb,0.72276e-02_rb,0.49714e-02_rb /) kbo(:, 5,22, 5) = (/ & & 0.51198e-03_rb,0.54166e-02_rb,0.72302e-02_rb,0.75387e-02_rb,0.51660e-02_rb /) kbo(:, 1,23, 5) = (/ & & 0.21716e-03_rb,0.33375e-02_rb,0.47528e-02_rb,0.53238e-02_rb,0.36258e-02_rb /) kbo(:, 2,23, 5) = (/ & & 0.25886e-03_rb,0.36243e-02_rb,0.50797e-02_rb,0.55740e-02_rb,0.38107e-02_rb /) kbo(:, 3,23, 5) = (/ & & 0.31026e-03_rb,0.39353e-02_rb,0.54169e-02_rb,0.58309e-02_rb,0.39876e-02_rb /) kbo(:, 4,23, 5) = (/ & & 0.37235e-03_rb,0.42757e-02_rb,0.57711e-02_rb,0.60911e-02_rb,0.41586e-02_rb /) kbo(:, 5,23, 5) = (/ & & 0.44568e-03_rb,0.46463e-02_rb,0.61476e-02_rb,0.63633e-02_rb,0.43277e-02_rb /) kbo(:, 1,24, 5) = (/ & & 0.18738e-03_rb,0.28412e-02_rb,0.40251e-02_rb,0.44754e-02_rb,0.30232e-02_rb /) kbo(:, 2,24, 5) = (/ & & 0.22422e-03_rb,0.30930e-02_rb,0.43062e-02_rb,0.46921e-02_rb,0.31788e-02_rb /) kbo(:, 3,24, 5) = (/ & & 0.26942e-03_rb,0.33694e-02_rb,0.45983e-02_rb,0.49126e-02_rb,0.33287e-02_rb /) kbo(:, 4,24, 5) = (/ & & 0.32317e-03_rb,0.36702e-02_rb,0.49092e-02_rb,0.51393e-02_rb,0.34771e-02_rb /) kbo(:, 5,24, 5) = (/ & & 0.38638e-03_rb,0.39951e-02_rb,0.52385e-02_rb,0.53815e-02_rb,0.36232e-02_rb /) kbo(:, 1,25, 5) = (/ & & 0.16224e-03_rb,0.24232e-02_rb,0.34141e-02_rb,0.37661e-02_rb,0.25262e-02_rb /) kbo(:, 2,25, 5) = (/ & & 0.19465e-03_rb,0.26463e-02_rb,0.36575e-02_rb,0.39541e-02_rb,0.26577e-02_rb /) kbo(:, 3,25, 5) = (/ & & 0.23391e-03_rb,0.28936e-02_rb,0.39130e-02_rb,0.41446e-02_rb,0.27841e-02_rb /) kbo(:, 4,25, 5) = (/ & & 0.28044e-03_rb,0.31598e-02_rb,0.41853e-02_rb,0.43442e-02_rb,0.29098e-02_rb /) kbo(:, 5,25, 5) = (/ & & 0.33483e-03_rb,0.34437e-02_rb,0.44735e-02_rb,0.45625e-02_rb,0.30351e-02_rb /) kbo(:, 1,26, 5) = (/ & & 0.14132e-03_rb,0.20737e-02_rb,0.29036e-02_rb,0.31762e-02_rb,0.21157e-02_rb /) kbo(:, 2,26, 5) = (/ & & 0.16977e-03_rb,0.22743e-02_rb,0.31152e-02_rb,0.33382e-02_rb,0.22258e-02_rb /) kbo(:, 3,26, 5) = (/ & & 0.20409e-03_rb,0.24947e-02_rb,0.33401e-02_rb,0.35048e-02_rb,0.23338e-02_rb /) kbo(:, 4,26, 5) = (/ & & 0.24472e-03_rb,0.27297e-02_rb,0.35798e-02_rb,0.36835e-02_rb,0.24421e-02_rb /) kbo(:, 5,26, 5) = (/ & & 0.29131e-03_rb,0.29804e-02_rb,0.38308e-02_rb,0.38797e-02_rb,0.25500e-02_rb /) kbo(:, 1,27, 5) = (/ & & 0.12293e-03_rb,0.17797e-02_rb,0.24725e-02_rb,0.26822e-02_rb,0.17718e-02_rb /) kbo(:, 2,27, 5) = (/ & & 0.14789e-03_rb,0.19595e-02_rb,0.26584e-02_rb,0.28222e-02_rb,0.18655e-02_rb /) kbo(:, 3,27, 5) = (/ & & 0.17790e-03_rb,0.21552e-02_rb,0.28584e-02_rb,0.29695e-02_rb,0.19589e-02_rb /) kbo(:, 4,27, 5) = (/ & & 0.21315e-03_rb,0.23624e-02_rb,0.30688e-02_rb,0.31309e-02_rb,0.20520e-02_rb /) kbo(:, 5,27, 5) = (/ & & 0.25285e-03_rb,0.25825e-02_rb,0.32876e-02_rb,0.33068e-02_rb,0.21445e-02_rb /) kbo(:, 1,28, 5) = (/ & & 0.10657e-03_rb,0.15319e-02_rb,0.21096e-02_rb,0.22678e-02_rb,0.14844e-02_rb /) kbo(:, 2,28, 5) = (/ & & 0.12856e-03_rb,0.16920e-02_rb,0.22743e-02_rb,0.23899e-02_rb,0.15639e-02_rb /) kbo(:, 3,28, 5) = (/ & & 0.15471e-03_rb,0.18636e-02_rb,0.24511e-02_rb,0.25221e-02_rb,0.16436e-02_rb /) kbo(:, 4,28, 5) = (/ & & 0.18512e-03_rb,0.20472e-02_rb,0.26364e-02_rb,0.26681e-02_rb,0.17238e-02_rb /) kbo(:, 5,28, 5) = (/ & & 0.21872e-03_rb,0.22411e-02_rb,0.28270e-02_rb,0.28260e-02_rb,0.18048e-02_rb /) kbo(:, 1,29, 5) = (/ & & 0.92876e-04_rb,0.13237e-02_rb,0.18049e-02_rb,0.19214e-02_rb,0.12471e-02_rb /) kbo(:, 2,29, 5) = (/ & & 0.11226e-03_rb,0.14659e-02_rb,0.19518e-02_rb,0.20295e-02_rb,0.13143e-02_rb /) kbo(:, 3,29, 5) = (/ & & 0.13519e-03_rb,0.16171e-02_rb,0.21089e-02_rb,0.21498e-02_rb,0.13833e-02_rb /) kbo(:, 4,29, 5) = (/ & & 0.16102e-03_rb,0.17778e-02_rb,0.22703e-02_rb,0.22810e-02_rb,0.14528e-02_rb /) kbo(:, 5,29, 5) = (/ & & 0.18981e-03_rb,0.19484e-02_rb,0.24374e-02_rb,0.24249e-02_rb,0.15236e-02_rb /) kbo(:, 1,30, 5) = (/ & & 0.80828e-04_rb,0.11471e-02_rb,0.15486e-02_rb,0.16307e-02_rb,0.10482e-02_rb /) kbo(:, 2,30, 5) = (/ & & 0.98063e-04_rb,0.12718e-02_rb,0.16797e-02_rb,0.17287e-02_rb,0.11053e-02_rb /) kbo(:, 3,30, 5) = (/ & & 0.11772e-03_rb,0.14050e-02_rb,0.18177e-02_rb,0.18379e-02_rb,0.11648e-02_rb /) kbo(:, 4,30, 5) = (/ & & 0.13981e-03_rb,0.15469e-02_rb,0.19589e-02_rb,0.19565e-02_rb,0.12258e-02_rb /) kbo(:, 5,30, 5) = (/ & & 0.16446e-03_rb,0.16947e-02_rb,0.21055e-02_rb,0.20874e-02_rb,0.12885e-02_rb /) kbo(:, 1,31, 5) = (/ & & 0.70539e-04_rb,0.99621e-03_rb,0.13325e-02_rb,0.13879e-02_rb,0.88220e-03_rb /) kbo(:, 2,31, 5) = (/ & & 0.85589e-04_rb,0.11063e-02_rb,0.14492e-02_rb,0.14776e-02_rb,0.93113e-03_rb /) kbo(:, 3,31, 5) = (/ & & 0.10244e-03_rb,0.12240e-02_rb,0.15701e-02_rb,0.15764e-02_rb,0.98237e-03_rb /) kbo(:, 4,31, 5) = (/ & & 0.12151e-03_rb,0.13488e-02_rb,0.16942e-02_rb,0.16846e-02_rb,0.10364e-02_rb /) kbo(:, 5,31, 5) = (/ & & 0.14245e-03_rb,0.14753e-02_rb,0.18229e-02_rb,0.18042e-02_rb,0.10910e-02_rb /) kbo(:, 1,32, 5) = (/ & & 0.61598e-04_rb,0.86708e-03_rb,0.11506e-02_rb,0.11857e-02_rb,0.74396e-03_rb /) kbo(:, 2,32, 5) = (/ & & 0.74698e-04_rb,0.96443e-03_rb,0.12533e-02_rb,0.12673e-02_rb,0.78590e-03_rb /) kbo(:, 3,32, 5) = (/ & & 0.89092e-04_rb,0.10684e-02_rb,0.13590e-02_rb,0.13571e-02_rb,0.83090e-03_rb /) kbo(:, 4,32, 5) = (/ & & 0.10537e-03_rb,0.11766e-02_rb,0.14682e-02_rb,0.14560e-02_rb,0.87827e-03_rb /) kbo(:, 5,32, 5) = (/ & & 0.12327e-03_rb,0.12850e-02_rb,0.15813e-02_rb,0.15643e-02_rb,0.92599e-03_rb /) kbo(:, 1,33, 5) = (/ & & 0.53748e-04_rb,0.75629e-03_rb,0.99595e-03_rb,0.10163e-02_rb,0.62809e-03_rb /) kbo(:, 2,33, 5) = (/ & & 0.64972e-04_rb,0.84265e-03_rb,0.10856e-02_rb,0.10908e-02_rb,0.66416e-03_rb /) kbo(:, 3,33, 5) = (/ & & 0.77386e-04_rb,0.93397e-03_rb,0.11787e-02_rb,0.11727e-02_rb,0.70387e-03_rb /) kbo(:, 4,33, 5) = (/ & & 0.91138e-04_rb,0.10266e-02_rb,0.12749e-02_rb,0.12630e-02_rb,0.74507e-03_rb /) kbo(:, 5,33, 5) = (/ & & 0.10640e-03_rb,0.11189e-02_rb,0.13738e-02_rb,0.13608e-02_rb,0.78830e-03_rb /) kbo(:, 1,34, 5) = (/ & & 0.46667e-04_rb,0.65884e-03_rb,0.86049e-03_rb,0.87214e-03_rb,0.53099e-03_rb /) kbo(:, 2,34, 5) = (/ & & 0.56263e-04_rb,0.73490e-03_rb,0.93900e-03_rb,0.93946e-03_rb,0.56278e-03_rb /) kbo(:, 3,34, 5) = (/ & & 0.66853e-04_rb,0.81383e-03_rb,0.10209e-02_rb,0.10142e-02_rb,0.59776e-03_rb /) kbo(:, 4,34, 5) = (/ & & 0.78598e-04_rb,0.89314e-03_rb,0.11054e-02_rb,0.10963e-02_rb,0.63419e-03_rb /) kbo(:, 5,34, 5) = (/ & & 0.91503e-04_rb,0.97193e-03_rb,0.11927e-02_rb,0.11840e-02_rb,0.67320e-03_rb /) kbo(:, 1,35, 5) = (/ & & 0.39599e-04_rb,0.56866e-03_rb,0.73803e-03_rb,0.74491e-03_rb,0.44688e-03_rb /) kbo(:, 2,35, 5) = (/ & & 0.47677e-04_rb,0.63490e-03_rb,0.80685e-03_rb,0.80540e-03_rb,0.47466e-03_rb /) kbo(:, 3,35, 5) = (/ & & 0.56630e-04_rb,0.70279e-03_rb,0.87860e-03_rb,0.87332e-03_rb,0.50476e-03_rb /) kbo(:, 4,35, 5) = (/ & & 0.66506e-04_rb,0.77061e-03_rb,0.95262e-03_rb,0.94676e-03_rb,0.53730e-03_rb /) kbo(:, 5,35, 5) = (/ & & 0.77343e-04_rb,0.83870e-03_rb,0.10295e-02_rb,0.10250e-02_rb,0.57200e-03_rb /) kbo(:, 1,36, 5) = (/ & & 0.32767e-04_rb,0.48523e-03_rb,0.62751e-03_rb,0.63183e-03_rb,0.37353e-03_rb /) kbo(:, 2,36, 5) = (/ & & 0.39450e-04_rb,0.54261e-03_rb,0.68744e-03_rb,0.68587e-03_rb,0.39744e-03_rb /) kbo(:, 3,36, 5) = (/ & & 0.46861e-04_rb,0.60093e-03_rb,0.74977e-03_rb,0.74623e-03_rb,0.42315e-03_rb /) kbo(:, 4,36, 5) = (/ & & 0.54956e-04_rb,0.65916e-03_rb,0.81469e-03_rb,0.81158e-03_rb,0.45144e-03_rb /) kbo(:, 5,36, 5) = (/ & & 0.63908e-04_rb,0.71820e-03_rb,0.88212e-03_rb,0.88103e-03_rb,0.48165e-03_rb /) kbo(:, 1,37, 5) = (/ & & 0.26734e-04_rb,0.40754e-03_rb,0.52645e-03_rb,0.53014e-03_rb,0.31118e-03_rb /) kbo(:, 2,37, 5) = (/ & & 0.32273e-04_rb,0.45661e-03_rb,0.57825e-03_rb,0.57766e-03_rb,0.33206e-03_rb /) kbo(:, 3,37, 5) = (/ & & 0.38488e-04_rb,0.50697e-03_rb,0.63245e-03_rb,0.63058e-03_rb,0.35476e-03_rb /) kbo(:, 4,37, 5) = (/ & & 0.45228e-04_rb,0.55706e-03_rb,0.68918e-03_rb,0.68809e-03_rb,0.37944e-03_rb /) kbo(:, 5,37, 5) = (/ & & 0.52675e-04_rb,0.60808e-03_rb,0.74794e-03_rb,0.74934e-03_rb,0.40598e-03_rb /) kbo(:, 1,38, 5) = (/ & & 0.21751e-04_rb,0.34209e-03_rb,0.44146e-03_rb,0.44458e-03_rb,0.25920e-03_rb /) kbo(:, 2,38, 5) = (/ & & 0.26326e-04_rb,0.38415e-03_rb,0.48603e-03_rb,0.48632e-03_rb,0.27730e-03_rb /) kbo(:, 3,38, 5) = (/ & & 0.31515e-04_rb,0.42736e-03_rb,0.53325e-03_rb,0.53262e-03_rb,0.29714e-03_rb /) kbo(:, 4,38, 5) = (/ & & 0.37219e-04_rb,0.47064e-03_rb,0.58263e-03_rb,0.58321e-03_rb,0.31890e-03_rb /) kbo(:, 5,38, 5) = (/ & & 0.43344e-04_rb,0.51493e-03_rb,0.63402e-03_rb,0.63729e-03_rb,0.34212e-03_rb /) kbo(:, 1,39, 5) = (/ & & 0.17643e-04_rb,0.28717e-03_rb,0.37020e-03_rb,0.37288e-03_rb,0.21580e-03_rb /) kbo(:, 2,39, 5) = (/ & & 0.21418e-04_rb,0.32343e-03_rb,0.40871e-03_rb,0.40953e-03_rb,0.23151e-03_rb /) kbo(:, 3,39, 5) = (/ & & 0.25725e-04_rb,0.36044e-03_rb,0.44966e-03_rb,0.45005e-03_rb,0.24880e-03_rb /) kbo(:, 4,39, 5) = (/ & & 0.30479e-04_rb,0.39785e-03_rb,0.49263e-03_rb,0.49445e-03_rb,0.26783e-03_rb /) kbo(:, 5,39, 5) = (/ & & 0.35653e-04_rb,0.43646e-03_rb,0.53771e-03_rb,0.54230e-03_rb,0.28822e-03_rb /) kbo(:, 1,40, 5) = (/ & & 0.14102e-04_rb,0.23814e-03_rb,0.30730e-03_rb,0.30981e-03_rb,0.17864e-03_rb /) kbo(:, 2,40, 5) = (/ & & 0.17187e-04_rb,0.26934e-03_rb,0.34039e-03_rb,0.34146e-03_rb,0.19234e-03_rb /) kbo(:, 3,40, 5) = (/ & & 0.20739e-04_rb,0.30130e-03_rb,0.37571e-03_rb,0.37672e-03_rb,0.20737e-03_rb /) kbo(:, 4,40, 5) = (/ & & 0.24670e-04_rb,0.33333e-03_rb,0.41283e-03_rb,0.41538e-03_rb,0.22408e-03_rb /) kbo(:, 5,40, 5) = (/ & & 0.29046e-04_rb,0.36694e-03_rb,0.45216e-03_rb,0.45729e-03_rb,0.24187e-03_rb /) kbo(:, 1,41, 5) = (/ & & 0.11221e-04_rb,0.19710e-03_rb,0.25465e-03_rb,0.25696e-03_rb,0.14773e-03_rb /) kbo(:, 2,41, 5) = (/ & & 0.13747e-04_rb,0.22390e-03_rb,0.28305e-03_rb,0.28413e-03_rb,0.15955e-03_rb /) kbo(:, 3,41, 5) = (/ & & 0.16649e-04_rb,0.25145e-03_rb,0.31346e-03_rb,0.31467e-03_rb,0.17269e-03_rb /) kbo(:, 4,41, 5) = (/ & & 0.19899e-04_rb,0.27935e-03_rb,0.34563e-03_rb,0.34845e-03_rb,0.18718e-03_rb /) kbo(:, 5,41, 5) = (/ & & 0.23568e-04_rb,0.30830e-03_rb,0.37974e-03_rb,0.38512e-03_rb,0.20281e-03_rb /) kbo(:, 1,42, 5) = (/ & & 0.89147e-05_rb,0.16314e-03_rb,0.21088e-03_rb,0.21294e-03_rb,0.12205e-03_rb /) kbo(:, 2,42, 5) = (/ & & 0.10957e-04_rb,0.18596e-03_rb,0.23523e-03_rb,0.23628e-03_rb,0.13225e-03_rb /) kbo(:, 3,42, 5) = (/ & & 0.13327e-04_rb,0.20974e-03_rb,0.26134e-03_rb,0.26263e-03_rb,0.14356e-03_rb /) kbo(:, 4,42, 5) = (/ & & 0.16005e-04_rb,0.23378e-03_rb,0.28925e-03_rb,0.29202e-03_rb,0.15621e-03_rb /) kbo(:, 5,42, 5) = (/ & & 0.19038e-04_rb,0.25914e-03_rb,0.31897e-03_rb,0.32415e-03_rb,0.16982e-03_rb /) kbo(:, 1,43, 5) = (/ & & 0.69995e-05_rb,0.13405e-03_rb,0.17338e-03_rb,0.17535e-03_rb,0.10036e-03_rb /) kbo(:, 2,43, 5) = (/ & & 0.86406e-05_rb,0.15345e-03_rb,0.19416e-03_rb,0.19514e-03_rb,0.10910e-03_rb /) kbo(:, 3,43, 5) = (/ & & 0.10556e-04_rb,0.17373e-03_rb,0.21659e-03_rb,0.21767e-03_rb,0.11887e-03_rb /) kbo(:, 4,43, 5) = (/ & & 0.12739e-04_rb,0.19445e-03_rb,0.24053e-03_rb,0.24311e-03_rb,0.12980e-03_rb /) kbo(:, 5,43, 5) = (/ & & 0.15232e-04_rb,0.21640e-03_rb,0.26645e-03_rb,0.27107e-03_rb,0.14169e-03_rb /) kbo(:, 1,44, 5) = (/ & & 0.54712e-05_rb,0.10970e-03_rb,0.14195e-03_rb,0.14386e-03_rb,0.82260e-04_rb /) kbo(:, 2,44, 5) = (/ & & 0.67644e-05_rb,0.12612e-03_rb,0.15963e-03_rb,0.16061e-03_rb,0.89727e-04_rb /) kbo(:, 3,44, 5) = (/ & & 0.82973e-05_rb,0.14348e-03_rb,0.17878e-03_rb,0.17975e-03_rb,0.98122e-04_rb /) kbo(:, 4,44, 5) = (/ & & 0.10082e-04_rb,0.16132e-03_rb,0.19952e-03_rb,0.20155e-03_rb,0.10755e-03_rb /) kbo(:, 5,44, 5) = (/ & & 0.12107e-04_rb,0.18008e-03_rb,0.22179e-03_rb,0.22576e-03_rb,0.11787e-03_rb /) kbo(:, 1,45, 5) = (/ & & 0.42767e-05_rb,0.89680e-04_rb,0.11611e-03_rb,0.11781e-03_rb,0.67338e-04_rb /) kbo(:, 2,45, 5) = (/ & & 0.52860e-05_rb,0.10360e-03_rb,0.13107e-03_rb,0.13203e-03_rb,0.73722e-04_rb /) kbo(:, 3,45, 5) = (/ & & 0.65107e-05_rb,0.11838e-03_rb,0.14735e-03_rb,0.14829e-03_rb,0.80852e-04_rb /) kbo(:, 4,45, 5) = (/ & & 0.79501e-05_rb,0.13374e-03_rb,0.16520e-03_rb,0.16693e-03_rb,0.88969e-04_rb /) kbo(:, 5,45, 5) = (/ & & 0.95937e-05_rb,0.14993e-03_rb,0.18456e-03_rb,0.18781e-03_rb,0.97897e-04_rb /) kbo(:, 1,46, 5) = (/ & & 0.33226e-05_rb,0.72918e-04_rb,0.94635e-04_rb,0.96069e-04_rb,0.54912e-04_rb /) kbo(:, 2,46, 5) = (/ & & 0.41185e-05_rb,0.84705e-04_rb,0.10726e-03_rb,0.10809e-03_rb,0.60325e-04_rb /) kbo(:, 3,46, 5) = (/ & & 0.50796e-05_rb,0.97414e-04_rb,0.12106e-03_rb,0.12184e-03_rb,0.66415e-04_rb /) kbo(:, 4,46, 5) = (/ & & 0.62311e-05_rb,0.11055e-03_rb,0.13625e-03_rb,0.13772e-03_rb,0.73354e-04_rb /) kbo(:, 5,46, 5) = (/ & & 0.75594e-05_rb,0.12439e-03_rb,0.15297e-03_rb,0.15569e-03_rb,0.80972e-04_rb /) kbo(:, 1,47, 5) = (/ & & 0.25507e-05_rb,0.58753e-04_rb,0.76599e-04_rb,0.77798e-04_rb,0.44508e-04_rb /) kbo(:, 2,47, 5) = (/ & & 0.31800e-05_rb,0.68679e-04_rb,0.87240e-04_rb,0.87843e-04_rb,0.49115e-04_rb /) kbo(:, 3,47, 5) = (/ & & 0.39273e-05_rb,0.79497e-04_rb,0.98871e-04_rb,0.99421e-04_rb,0.54249e-04_rb /) kbo(:, 4,47, 5) = (/ & & 0.48346e-05_rb,0.90782e-04_rb,0.11173e-03_rb,0.11282e-03_rb,0.60113e-04_rb /) kbo(:, 5,47, 5) = (/ & & 0.58995e-05_rb,0.10267e-03_rb,0.12592e-03_rb,0.12815e-03_rb,0.66656e-04_rb /) kbo(:, 1,48, 5) = (/ & & 0.19539e-05_rb,0.47174e-04_rb,0.61874e-04_rb,0.62916e-04_rb,0.35973e-04_rb /) kbo(:, 2,48, 5) = (/ & & 0.24452e-05_rb,0.55575e-04_rb,0.70853e-04_rb,0.71238e-04_rb,0.39898e-04_rb /) kbo(:, 3,48, 5) = (/ & & 0.30402e-05_rb,0.64783e-04_rb,0.80633e-04_rb,0.80921e-04_rb,0.44214e-04_rb /) kbo(:, 4,48, 5) = (/ & & 0.37390e-05_rb,0.74439e-04_rb,0.91498e-04_rb,0.92208e-04_rb,0.49162e-04_rb /) kbo(:, 5,48, 5) = (/ & & 0.45836e-05_rb,0.84608e-04_rb,0.10358e-03_rb,0.10531e-03_rb,0.54702e-04_rb /) kbo(:, 1,49, 5) = (/ & & 0.14940e-05_rb,0.37716e-04_rb,0.49829e-04_rb,0.50804e-04_rb,0.28987e-04_rb /) kbo(:, 2,49, 5) = (/ & & 0.18758e-05_rb,0.44777e-04_rb,0.57392e-04_rb,0.57697e-04_rb,0.32317e-04_rb /) kbo(:, 3,49, 5) = (/ & & 0.23413e-05_rb,0.52604e-04_rb,0.65608e-04_rb,0.65748e-04_rb,0.35946e-04_rb /) kbo(:, 4,49, 5) = (/ & & 0.28961e-05_rb,0.60891e-04_rb,0.74824e-04_rb,0.75182e-04_rb,0.40099e-04_rb /) kbo(:, 5,49, 5) = (/ & & 0.35524e-05_rb,0.69587e-04_rb,0.85068e-04_rb,0.86295e-04_rb,0.44804e-04_rb /) kbo(:, 1,50, 5) = (/ & & 0.11500e-05_rb,0.30169e-04_rb,0.40157e-04_rb,0.41069e-04_rb,0.23362e-04_rb /) kbo(:, 2,50, 5) = (/ & & 0.14453e-05_rb,0.36089e-04_rb,0.46549e-04_rb,0.46799e-04_rb,0.26193e-04_rb /) kbo(:, 3,50, 5) = (/ & & 0.18129e-05_rb,0.42735e-04_rb,0.53474e-04_rb,0.53514e-04_rb,0.29249e-04_rb /) kbo(:, 4,50, 5) = (/ & & 0.22529e-05_rb,0.49843e-04_rb,0.61234e-04_rb,0.61404e-04_rb,0.32748e-04_rb /) kbo(:, 5,50, 5) = (/ & & 0.27762e-05_rb,0.57328e-04_rb,0.70027e-04_rb,0.70783e-04_rb,0.36712e-04_rb /) kbo(:, 1,51, 5) = (/ & & 0.88851e-06_rb,0.24095e-04_rb,0.32303e-04_rb,0.33210e-04_rb,0.18805e-04_rb /) kbo(:, 2,51, 5) = (/ & & 0.11177e-05_rb,0.29082e-04_rb,0.37705e-04_rb,0.37944e-04_rb,0.21209e-04_rb /) kbo(:, 3,51, 5) = (/ & & 0.14060e-05_rb,0.34667e-04_rb,0.43578e-04_rb,0.43570e-04_rb,0.23792e-04_rb /) kbo(:, 4,51, 5) = (/ & & 0.17539e-05_rb,0.40739e-04_rb,0.50114e-04_rb,0.50172e-04_rb,0.26720e-04_rb /) kbo(:, 5,51, 5) = (/ & & 0.21729e-05_rb,0.47224e-04_rb,0.57598e-04_rb,0.58070e-04_rb,0.30079e-04_rb /) kbo(:, 1,52, 5) = (/ & & 0.68525e-06_rb,0.19178e-04_rb,0.25896e-04_rb,0.26809e-04_rb,0.15097e-04_rb /) kbo(:, 2,52, 5) = (/ & & 0.86301e-06_rb,0.23336e-04_rb,0.30434e-04_rb,0.30713e-04_rb,0.17120e-04_rb /) kbo(:, 3,52, 5) = (/ & & 0.10889e-05_rb,0.28028e-04_rb,0.35422e-04_rb,0.35397e-04_rb,0.19301e-04_rb /) kbo(:, 4,52, 5) = (/ & & 0.13649e-05_rb,0.33187e-04_rb,0.40954e-04_rb,0.40921e-04_rb,0.21752e-04_rb /) kbo(:, 5,52, 5) = (/ & & 0.16982e-05_rb,0.38747e-04_rb,0.47260e-04_rb,0.47557e-04_rb,0.24588e-04_rb /) kbo(:, 1,53, 5) = (/ & & 0.52809e-06_rb,0.15206e-04_rb,0.20688e-04_rb,0.21592e-04_rb,0.12084e-04_rb /) kbo(:, 2,53, 5) = (/ & & 0.66493e-06_rb,0.18647e-04_rb,0.24479e-04_rb,0.24819e-04_rb,0.13781e-04_rb /) kbo(:, 3,53, 5) = (/ & & 0.84102e-06_rb,0.22574e-04_rb,0.28683e-04_rb,0.28690e-04_rb,0.15621e-04_rb /) kbo(:, 4,53, 5) = (/ & & 0.10585e-05_rb,0.26955e-04_rb,0.33364e-04_rb,0.33298e-04_rb,0.17677e-04_rb /) kbo(:, 5,53, 5) = (/ & & 0.13239e-05_rb,0.31710e-04_rb,0.38733e-04_rb,0.38864e-04_rb,0.20049e-04_rb /) kbo(:, 1,54, 5) = (/ & & 0.40969e-06_rb,0.12093e-04_rb,0.16564e-04_rb,0.17421e-04_rb,0.96882e-05_rb /) kbo(:, 2,54, 5) = (/ & & 0.51569e-06_rb,0.14937e-04_rb,0.19734e-04_rb,0.20094e-04_rb,0.11112e-04_rb /) kbo(:, 3,54, 5) = (/ & & 0.65296e-06_rb,0.18229e-04_rb,0.23282e-04_rb,0.23321e-04_rb,0.12664e-04_rb /) kbo(:, 4,54, 5) = (/ & & 0.82573e-06_rb,0.21950e-04_rb,0.27231e-04_rb,0.27150e-04_rb,0.14393e-04_rb /) kbo(:, 5,54, 5) = (/ & & 0.10373e-05_rb,0.26013e-04_rb,0.31791e-04_rb,0.31828e-04_rb,0.16379e-04_rb /) kbo(:, 1,55, 5) = (/ & & 0.31928e-06_rb,0.96162e-05_rb,0.13257e-04_rb,0.14053e-04_rb,0.77741e-05_rb /) kbo(:, 2,55, 5) = (/ & & 0.40112e-06_rb,0.11963e-04_rb,0.15906e-04_rb,0.16257e-04_rb,0.89578e-05_rb /) kbo(:, 3,55, 5) = (/ & & 0.50816e-06_rb,0.14717e-04_rb,0.18886e-04_rb,0.18947e-04_rb,0.10262e-04_rb /) kbo(:, 4,55, 5) = (/ & & 0.64465e-06_rb,0.17864e-04_rb,0.22207e-04_rb,0.22155e-04_rb,0.11715e-04_rb /) kbo(:, 5,55, 5) = (/ & & 0.81328e-06_rb,0.21326e-04_rb,0.26076e-04_rb,0.26061e-04_rb,0.13376e-04_rb /) kbo(:, 1,56, 5) = (/ & & 0.24829e-06_rb,0.76204e-05_rb,0.10578e-04_rb,0.11309e-04_rb,0.62208e-05_rb /) kbo(:, 2,56, 5) = (/ & & 0.31176e-06_rb,0.95488e-05_rb,0.12780e-04_rb,0.13125e-04_rb,0.72013e-05_rb /) kbo(:, 3,56, 5) = (/ & & 0.39506e-06_rb,0.11850e-04_rb,0.15279e-04_rb,0.15348e-04_rb,0.82947e-05_rb /) kbo(:, 4,56, 5) = (/ & & 0.50266e-06_rb,0.14492e-04_rb,0.18074e-04_rb,0.18040e-04_rb,0.95153e-05_rb /) kbo(:, 5,56, 5) = (/ & & 0.63638e-06_rb,0.17442e-04_rb,0.21336e-04_rb,0.21310e-04_rb,0.10904e-04_rb /) kbo(:, 1,57, 5) = (/ & & 0.19302e-06_rb,0.60187e-05_rb,0.84162e-05_rb,0.90799e-05_rb,0.49649e-05_rb /) kbo(:, 2,57, 5) = (/ & & 0.24222e-06_rb,0.75959e-05_rb,0.10233e-04_rb,0.10570e-04_rb,0.57701e-05_rb /) kbo(:, 3,57, 5) = (/ & & 0.30688e-06_rb,0.95080e-05_rb,0.12318e-04_rb,0.12403e-04_rb,0.66913e-05_rb /) kbo(:, 4,57, 5) = (/ & & 0.39089e-06_rb,0.11719e-04_rb,0.14670e-04_rb,0.14644e-04_rb,0.77166e-05_rb /) kbo(:, 5,57, 5) = (/ & & 0.49674e-06_rb,0.14214e-04_rb,0.17402e-04_rb,0.17382e-04_rb,0.88727e-05_rb /) kbo(:, 1,58, 5) = (/ & & 0.15046e-06_rb,0.47663e-05_rb,0.66998e-05_rb,0.72908e-05_rb,0.39631e-05_rb /) kbo(:, 2,58, 5) = (/ & & 0.18856e-06_rb,0.60459e-05_rb,0.81908e-05_rb,0.85206e-05_rb,0.46270e-05_rb /) kbo(:, 3,58, 5) = (/ & & 0.23869e-06_rb,0.76302e-05_rb,0.99245e-05_rb,0.10023e-04_rb,0.53977e-05_rb /) kbo(:, 4,58, 5) = (/ & & 0.30459e-06_rb,0.94767e-05_rb,0.11911e-04_rb,0.11894e-04_rb,0.62579e-05_rb /) kbo(:, 5,58, 5) = (/ & & 0.38820e-06_rb,0.11588e-04_rb,0.14205e-04_rb,0.14182e-04_rb,0.72226e-05_rb /) kbo(:, 1,59, 5) = (/ & & 0.12212e-06_rb,0.39332e-05_rb,0.55230e-05_rb,0.60094e-05_rb,0.32499e-05_rb /) kbo(:, 2,59, 5) = (/ & & 0.15324e-06_rb,0.50178e-05_rb,0.67879e-05_rb,0.70566e-05_rb,0.38108e-05_rb /) kbo(:, 3,59, 5) = (/ & & 0.19418e-06_rb,0.63678e-05_rb,0.82647e-05_rb,0.83443e-05_rb,0.44672e-05_rb /) kbo(:, 4,59, 5) = (/ & & 0.24820e-06_rb,0.79543e-05_rb,0.99670e-05_rb,0.99518e-05_rb,0.52027e-05_rb /) kbo(:, 5,59, 5) = (/ & & 0.31740e-06_rb,0.97704e-05_rb,0.11964e-04_rb,0.11938e-04_rb,0.60278e-05_rb /) kbo(:, 1,13, 6) = (/ & & 0.10896e-01_rb,0.63076e-01_rb,0.78831e-01_rb,0.78091e-01_rb,0.55428e-01_rb /) kbo(:, 2,13, 6) = (/ & & 0.13036e-01_rb,0.66370e-01_rb,0.81226e-01_rb,0.79692e-01_rb,0.56778e-01_rb /) kbo(:, 3,13, 6) = (/ & & 0.15498e-01_rb,0.69685e-01_rb,0.83483e-01_rb,0.81400e-01_rb,0.57975e-01_rb /) kbo(:, 4,13, 6) = (/ & & 0.18239e-01_rb,0.73147e-01_rb,0.85845e-01_rb,0.83249e-01_rb,0.59127e-01_rb /) kbo(:, 5,13, 6) = (/ & & 0.21232e-01_rb,0.76581e-01_rb,0.88266e-01_rb,0.85245e-01_rb,0.60192e-01_rb /) kbo(:, 1,14, 6) = (/ & & 0.94274e-02_rb,0.53526e-01_rb,0.66496e-01_rb,0.65527e-01_rb,0.46374e-01_rb /) kbo(:, 2,14, 6) = (/ & & 0.11284e-01_rb,0.56390e-01_rb,0.68527e-01_rb,0.66955e-01_rb,0.47524e-01_rb /) kbo(:, 3,14, 6) = (/ & & 0.13394e-01_rb,0.59305e-01_rb,0.70546e-01_rb,0.68479e-01_rb,0.48560e-01_rb /) kbo(:, 4,14, 6) = (/ & & 0.15751e-01_rb,0.62293e-01_rb,0.72634e-01_rb,0.70165e-01_rb,0.49587e-01_rb /) kbo(:, 5,14, 6) = (/ & & 0.18326e-01_rb,0.65240e-01_rb,0.74773e-01_rb,0.71967e-01_rb,0.50492e-01_rb /) kbo(:, 1,15, 6) = (/ & & 0.81352e-02_rb,0.45294e-01_rb,0.55939e-01_rb,0.54933e-01_rb,0.38471e-01_rb /) kbo(:, 2,15, 6) = (/ & & 0.97406e-02_rb,0.47797e-01_rb,0.57705e-01_rb,0.56201e-01_rb,0.39475e-01_rb /) kbo(:, 3,15, 6) = (/ & & 0.11542e-01_rb,0.50349e-01_rb,0.59500e-01_rb,0.57588e-01_rb,0.40391e-01_rb /) kbo(:, 4,15, 6) = (/ & & 0.13568e-01_rb,0.52924e-01_rb,0.61342e-01_rb,0.59116e-01_rb,0.41250e-01_rb /) kbo(:, 5,15, 6) = (/ & & 0.15789e-01_rb,0.55427e-01_rb,0.63250e-01_rb,0.60727e-01_rb,0.42016e-01_rb /) kbo(:, 1,16, 6) = (/ & & 0.70159e-02_rb,0.38272e-01_rb,0.46984e-01_rb,0.46002e-01_rb,0.31818e-01_rb /) kbo(:, 2,16, 6) = (/ & & 0.83846e-02_rb,0.40476e-01_rb,0.48519e-01_rb,0.47148e-01_rb,0.32640e-01_rb /) kbo(:, 3,16, 6) = (/ & & 0.99392e-02_rb,0.42699e-01_rb,0.50118e-01_rb,0.48421e-01_rb,0.33435e-01_rb /) kbo(:, 4,16, 6) = (/ & & 0.11675e-01_rb,0.44875e-01_rb,0.51760e-01_rb,0.49780e-01_rb,0.34161e-01_rb /) kbo(:, 5,16, 6) = (/ & & 0.13584e-01_rb,0.46992e-01_rb,0.53405e-01_rb,0.51224e-01_rb,0.34855e-01_rb /) kbo(:, 1,17, 6) = (/ & & 0.60402e-02_rb,0.32343e-01_rb,0.39419e-01_rb,0.38482e-01_rb,0.26323e-01_rb /) kbo(:, 2,17, 6) = (/ & & 0.72134e-02_rb,0.34265e-01_rb,0.40783e-01_rb,0.39523e-01_rb,0.27045e-01_rb /) kbo(:, 3,17, 6) = (/ & & 0.85415e-02_rb,0.36157e-01_rb,0.42200e-01_rb,0.40657e-01_rb,0.27733e-01_rb /) kbo(:, 4,17, 6) = (/ & & 0.10023e-01_rb,0.37979e-01_rb,0.43620e-01_rb,0.41877e-01_rb,0.28354e-01_rb /) kbo(:, 5,17, 6) = (/ & & 0.11662e-01_rb,0.39775e-01_rb,0.45034e-01_rb,0.43161e-01_rb,0.28989e-01_rb /) kbo(:, 1,18, 6) = (/ & & 0.51905e-02_rb,0.27334e-01_rb,0.33081e-01_rb,0.32183e-01_rb,0.21845e-01_rb /) kbo(:, 2,18, 6) = (/ & & 0.61907e-02_rb,0.28996e-01_rb,0.34295e-01_rb,0.33127e-01_rb,0.22456e-01_rb /) kbo(:, 3,18, 6) = (/ & & 0.73283e-02_rb,0.30572e-01_rb,0.35522e-01_rb,0.34131e-01_rb,0.23047e-01_rb /) kbo(:, 4,18, 6) = (/ & & 0.85960e-02_rb,0.32113e-01_rb,0.36725e-01_rb,0.35202e-01_rb,0.23589e-01_rb /) kbo(:, 5,18, 6) = (/ & & 0.10011e-01_rb,0.33654e-01_rb,0.37950e-01_rb,0.36339e-01_rb,0.24154e-01_rb /) kbo(:, 1,19, 6) = (/ & & 0.44474e-02_rb,0.23093e-01_rb,0.27758e-01_rb,0.26913e-01_rb,0.18159e-01_rb /) kbo(:, 2,19, 6) = (/ & & 0.53019e-02_rb,0.24497e-01_rb,0.28826e-01_rb,0.27764e-01_rb,0.18694e-01_rb /) kbo(:, 3,19, 6) = (/ & & 0.62735e-02_rb,0.25825e-01_rb,0.29864e-01_rb,0.28669e-01_rb,0.19187e-01_rb /) kbo(:, 4,19, 6) = (/ & & 0.73683e-02_rb,0.27139e-01_rb,0.30890e-01_rb,0.29627e-01_rb,0.19650e-01_rb /) kbo(:, 5,19, 6) = (/ & & 0.85933e-02_rb,0.28467e-01_rb,0.31975e-01_rb,0.30634e-01_rb,0.20138e-01_rb /) kbo(:, 1,20, 6) = (/ & & 0.38215e-02_rb,0.19522e-01_rb,0.23307e-01_rb,0.22532e-01_rb,0.15180e-01_rb /) kbo(:, 2,20, 6) = (/ & & 0.45489e-02_rb,0.20697e-01_rb,0.24217e-01_rb,0.23292e-01_rb,0.15626e-01_rb /) kbo(:, 3,20, 6) = (/ & & 0.53838e-02_rb,0.21827e-01_rb,0.25099e-01_rb,0.24107e-01_rb,0.16039e-01_rb /) kbo(:, 4,20, 6) = (/ & & 0.63294e-02_rb,0.22947e-01_rb,0.25996e-01_rb,0.24951e-01_rb,0.16431e-01_rb /) kbo(:, 5,20, 6) = (/ & & 0.73910e-02_rb,0.24098e-01_rb,0.26969e-01_rb,0.25840e-01_rb,0.16861e-01_rb /) kbo(:, 1,21, 6) = (/ & & 0.32849e-02_rb,0.16485e-01_rb,0.19564e-01_rb,0.18873e-01_rb,0.12724e-01_rb /) kbo(:, 2,21, 6) = (/ & & 0.39093e-02_rb,0.17476e-01_rb,0.20333e-01_rb,0.19553e-01_rb,0.13080e-01_rb /) kbo(:, 3,21, 6) = (/ & & 0.46257e-02_rb,0.18440e-01_rb,0.21099e-01_rb,0.20272e-01_rb,0.13424e-01_rb /) kbo(:, 4,21, 6) = (/ & & 0.54436e-02_rb,0.19400e-01_rb,0.21897e-01_rb,0.21018e-01_rb,0.13774e-01_rb /) kbo(:, 5,21, 6) = (/ & & 0.63568e-02_rb,0.20406e-01_rb,0.22777e-01_rb,0.21806e-01_rb,0.14153e-01_rb /) kbo(:, 1,22, 6) = (/ & & 0.28524e-02_rb,0.13970e-01_rb,0.16464e-01_rb,0.15855e-01_rb,0.10647e-01_rb /) kbo(:, 2,22, 6) = (/ & & 0.33998e-02_rb,0.14799e-01_rb,0.17121e-01_rb,0.16464e-01_rb,0.10957e-01_rb /) kbo(:, 3,22, 6) = (/ & & 0.40218e-02_rb,0.15618e-01_rb,0.17789e-01_rb,0.17098e-01_rb,0.11264e-01_rb /) kbo(:, 4,22, 6) = (/ & & 0.47350e-02_rb,0.16459e-01_rb,0.18512e-01_rb,0.17761e-01_rb,0.11585e-01_rb /) kbo(:, 5,22, 6) = (/ & & 0.55269e-02_rb,0.17342e-01_rb,0.19306e-01_rb,0.18466e-01_rb,0.11905e-01_rb /) kbo(:, 1,23, 6) = (/ & & 0.24776e-02_rb,0.11832e-01_rb,0.13862e-01_rb,0.13338e-01_rb,0.89101e-02_rb /) kbo(:, 2,23, 6) = (/ & & 0.29594e-02_rb,0.12532e-01_rb,0.14430e-01_rb,0.13874e-01_rb,0.91836e-02_rb /) kbo(:, 3,23, 6) = (/ & & 0.35060e-02_rb,0.13237e-01_rb,0.15025e-01_rb,0.14435e-01_rb,0.94582e-02_rb /) kbo(:, 4,23, 6) = (/ & & 0.41276e-02_rb,0.13976e-01_rb,0.15673e-01_rb,0.15028e-01_rb,0.97462e-02_rb /) kbo(:, 5,23, 6) = (/ & & 0.48108e-02_rb,0.14761e-01_rb,0.16387e-01_rb,0.15666e-01_rb,0.10041e-01_rb /) kbo(:, 1,24, 6) = (/ & & 0.21553e-02_rb,0.10022e-01_rb,0.11681e-01_rb,0.11233e-01_rb,0.74484e-02_rb /) kbo(:, 2,24, 6) = (/ & & 0.25764e-02_rb,0.10621e-01_rb,0.12176e-01_rb,0.11709e-01_rb,0.76914e-02_rb /) kbo(:, 3,24, 6) = (/ & & 0.30587e-02_rb,0.11236e-01_rb,0.12711e-01_rb,0.12208e-01_rb,0.79451e-02_rb /) kbo(:, 4,24, 6) = (/ & & 0.36022e-02_rb,0.11891e-01_rb,0.13293e-01_rb,0.12744e-01_rb,0.82033e-02_rb /) kbo(:, 5,24, 6) = (/ & & 0.41914e-02_rb,0.12593e-01_rb,0.13939e-01_rb,0.13324e-01_rb,0.84674e-02_rb /) kbo(:, 1,25, 6) = (/ & & 0.18796e-02_rb,0.85000e-02_rb,0.98543e-02_rb,0.94788e-02_rb,0.62281e-02_rb /) kbo(:, 2,25, 6) = (/ & & 0.22512e-02_rb,0.90173e-02_rb,0.10293e-01_rb,0.99015e-02_rb,0.64465e-02_rb /) kbo(:, 3,25, 6) = (/ & & 0.26761e-02_rb,0.95606e-02_rb,0.10772e-01_rb,0.10351e-01_rb,0.66771e-02_rb /) kbo(:, 4,25, 6) = (/ & & 0.31512e-02_rb,0.10144e-01_rb,0.11303e-01_rb,0.10838e-01_rb,0.69100e-02_rb /) kbo(:, 5,25, 6) = (/ & & 0.36575e-02_rb,0.10772e-01_rb,0.11893e-01_rb,0.11363e-01_rb,0.71526e-02_rb /) kbo(:, 1,26, 6) = (/ & & 0.16486e-02_rb,0.72263e-02_rb,0.83293e-02_rb,0.80207e-02_rb,0.52267e-02_rb /) kbo(:, 2,26, 6) = (/ & & 0.19790e-02_rb,0.76783e-02_rb,0.87239e-02_rb,0.83966e-02_rb,0.54266e-02_rb /) kbo(:, 3,26, 6) = (/ & & 0.23552e-02_rb,0.81632e-02_rb,0.91606e-02_rb,0.88030e-02_rb,0.56340e-02_rb /) kbo(:, 4,26, 6) = (/ & & 0.27655e-02_rb,0.86841e-02_rb,0.96465e-02_rb,0.92463e-02_rb,0.58421e-02_rb /) kbo(:, 5,26, 6) = (/ & & 0.32014e-02_rb,0.92461e-02_rb,0.10190e-01_rb,0.97263e-02_rb,0.60618e-02_rb /) kbo(:, 1,27, 6) = (/ & & 0.14479e-02_rb,0.61551e-02_rb,0.70548e-02_rb,0.67980e-02_rb,0.43916e-02_rb /) kbo(:, 2,27, 6) = (/ & & 0.17422e-02_rb,0.65560e-02_rb,0.74109e-02_rb,0.71369e-02_rb,0.45703e-02_rb /) kbo(:, 3,27, 6) = (/ & & 0.20711e-02_rb,0.69878e-02_rb,0.78116e-02_rb,0.75081e-02_rb,0.47565e-02_rb /) kbo(:, 4,27, 6) = (/ & & 0.24273e-02_rb,0.74543e-02_rb,0.82596e-02_rb,0.79125e-02_rb,0.49414e-02_rb /) kbo(:, 5,27, 6) = (/ & & 0.28006e-02_rb,0.79622e-02_rb,0.87633e-02_rb,0.83523e-02_rb,0.51438e-02_rb /) kbo(:, 1,28, 6) = (/ & & 0.12757e-02_rb,0.52552e-02_rb,0.59880e-02_rb,0.57731e-02_rb,0.36940e-02_rb /) kbo(:, 2,28, 6) = (/ & & 0.15355e-02_rb,0.56117e-02_rb,0.63148e-02_rb,0.60828e-02_rb,0.38537e-02_rb /) kbo(:, 3,28, 6) = (/ & & 0.18209e-02_rb,0.60000e-02_rb,0.66831e-02_rb,0.64236e-02_rb,0.40153e-02_rb /) kbo(:, 4,28, 6) = (/ & & 0.21272e-02_rb,0.64202e-02_rb,0.70979e-02_rb,0.67923e-02_rb,0.41811e-02_rb /) kbo(:, 5,28, 6) = (/ & & 0.24474e-02_rb,0.68778e-02_rb,0.75643e-02_rb,0.71983e-02_rb,0.43640e-02_rb /) kbo(:, 1,29, 6) = (/ & & 0.11295e-02_rb,0.45004e-02_rb,0.50997e-02_rb,0.49184e-02_rb,0.31153e-02_rb /) kbo(:, 2,29, 6) = (/ & & 0.13559e-02_rb,0.48180e-02_rb,0.54010e-02_rb,0.52034e-02_rb,0.32572e-02_rb /) kbo(:, 3,29, 6) = (/ & & 0.16033e-02_rb,0.51685e-02_rb,0.57423e-02_rb,0.55151e-02_rb,0.33997e-02_rb /) kbo(:, 4,29, 6) = (/ & & 0.18647e-02_rb,0.55488e-02_rb,0.61280e-02_rb,0.58545e-02_rb,0.35531e-02_rb /) kbo(:, 5,29, 6) = (/ & & 0.21368e-02_rb,0.59683e-02_rb,0.65578e-02_rb,0.62309e-02_rb,0.37192e-02_rb /) kbo(:, 1,30, 6) = (/ & & 0.10010e-02_rb,0.38621e-02_rb,0.43580e-02_rb,0.42036e-02_rb,0.26325e-02_rb /) kbo(:, 2,30, 6) = (/ & & 0.11967e-02_rb,0.41511e-02_rb,0.46366e-02_rb,0.44656e-02_rb,0.27570e-02_rb /) kbo(:, 3,30, 6) = (/ & & 0.14096e-02_rb,0.44678e-02_rb,0.49534e-02_rb,0.47515e-02_rb,0.28856e-02_rb /) kbo(:, 4,30, 6) = (/ & & 0.16325e-02_rb,0.48140e-02_rb,0.53117e-02_rb,0.50685e-02_rb,0.30242e-02_rb /) kbo(:, 5,30, 6) = (/ & & 0.18599e-02_rb,0.52016e-02_rb,0.57103e-02_rb,0.54169e-02_rb,0.31738e-02_rb /) kbo(:, 1,31, 6) = (/ & & 0.88685e-03_rb,0.33266e-02_rb,0.37394e-02_rb,0.36064e-02_rb,0.22280e-02_rb /) kbo(:, 2,31, 6) = (/ & & 0.10569e-02_rb,0.35897e-02_rb,0.39964e-02_rb,0.38465e-02_rb,0.23389e-02_rb /) kbo(:, 3,31, 6) = (/ & & 0.12382e-02_rb,0.38779e-02_rb,0.42920e-02_rb,0.41135e-02_rb,0.24573e-02_rb /) kbo(:, 4,31, 6) = (/ & & 0.14278e-02_rb,0.41961e-02_rb,0.46258e-02_rb,0.44080e-02_rb,0.25818e-02_rb /) kbo(:, 5,31, 6) = (/ & & 0.16136e-02_rb,0.45547e-02_rb,0.50001e-02_rb,0.47313e-02_rb,0.27214e-02_rb /) kbo(:, 1,32, 6) = (/ & & 0.78559e-03_rb,0.28763e-02_rb,0.32195e-02_rb,0.31059e-02_rb,0.18911e-02_rb /) kbo(:, 2,32, 6) = (/ & & 0.93178e-03_rb,0.31157e-02_rb,0.34609e-02_rb,0.33287e-02_rb,0.19930e-02_rb /) kbo(:, 3,32, 6) = (/ & & 0.10867e-02_rb,0.33798e-02_rb,0.37377e-02_rb,0.35772e-02_rb,0.21006e-02_rb /) kbo(:, 4,32, 6) = (/ & & 0.12446e-02_rb,0.36754e-02_rb,0.40497e-02_rb,0.38517e-02_rb,0.22158e-02_rb /) kbo(:, 5,32, 6) = (/ & & 0.13936e-02_rb,0.40072e-02_rb,0.44007e-02_rb,0.41538e-02_rb,0.23413e-02_rb /) kbo(:, 1,33, 6) = (/ & & 0.69486e-03_rb,0.24959e-02_rb,0.27846e-02_rb,0.26858e-02_rb,0.16103e-02_rb /) kbo(:, 2,33, 6) = (/ & & 0.82037e-03_rb,0.27142e-02_rb,0.30117e-02_rb,0.28933e-02_rb,0.17041e-02_rb /) kbo(:, 3,33, 6) = (/ & & 0.95137e-03_rb,0.29589e-02_rb,0.32703e-02_rb,0.31258e-02_rb,0.18033e-02_rb /) kbo(:, 4,33, 6) = (/ & & 0.10800e-02_rb,0.32345e-02_rb,0.35641e-02_rb,0.33810e-02_rb,0.19089e-02_rb /) kbo(:, 5,33, 6) = (/ & & 0.11986e-02_rb,0.35406e-02_rb,0.38943e-02_rb,0.36682e-02_rb,0.20234e-02_rb /) kbo(:, 1,34, 6) = (/ & & 0.61032e-03_rb,0.21671e-02_rb,0.24134e-02_rb,0.23268e-02_rb,0.13754e-02_rb /) kbo(:, 2,34, 6) = (/ & & 0.71748e-03_rb,0.23678e-02_rb,0.26264e-02_rb,0.25207e-02_rb,0.14624e-02_rb /) kbo(:, 3,34, 6) = (/ & & 0.82600e-03_rb,0.25947e-02_rb,0.28697e-02_rb,0.27368e-02_rb,0.15523e-02_rb /) kbo(:, 4,34, 6) = (/ & & 0.92939e-03_rb,0.28495e-02_rb,0.31449e-02_rb,0.29773e-02_rb,0.16488e-02_rb /) kbo(:, 5,34, 6) = (/ & & 0.10239e-02_rb,0.31299e-02_rb,0.34552e-02_rb,0.32520e-02_rb,0.17543e-02_rb /) kbo(:, 1,35, 6) = (/ & & 0.52678e-03_rb,0.18713e-02_rb,0.20838e-02_rb,0.20082e-02_rb,0.11717e-02_rb /) kbo(:, 2,35, 6) = (/ & & 0.61674e-03_rb,0.20541e-02_rb,0.22811e-02_rb,0.21873e-02_rb,0.12500e-02_rb /) kbo(:, 3,35, 6) = (/ & & 0.70570e-03_rb,0.22625e-02_rb,0.25066e-02_rb,0.23870e-02_rb,0.13326e-02_rb /) kbo(:, 4,35, 6) = (/ & & 0.78855e-03_rb,0.24971e-02_rb,0.27629e-02_rb,0.26134e-02_rb,0.14204e-02_rb /) kbo(:, 5,35, 6) = (/ & & 0.86492e-03_rb,0.27499e-02_rb,0.30514e-02_rb,0.28766e-02_rb,0.15154e-02_rb /) kbo(:, 1,36, 6) = (/ & & 0.44569e-03_rb,0.16031e-02_rb,0.17868e-02_rb,0.17221e-02_rb,0.99240e-03_rb /) kbo(:, 2,36, 6) = (/ & & 0.52055e-03_rb,0.17679e-02_rb,0.19674e-02_rb,0.18854e-02_rb,0.10623e-02_rb /) kbo(:, 3,36, 6) = (/ & & 0.59380e-03_rb,0.19567e-02_rb,0.21742e-02_rb,0.20700e-02_rb,0.11368e-02_rb /) kbo(:, 4,36, 6) = (/ & & 0.66114e-03_rb,0.21690e-02_rb,0.24093e-02_rb,0.22827e-02_rb,0.12171e-02_rb /) kbo(:, 5,36, 6) = (/ & & 0.72347e-03_rb,0.23953e-02_rb,0.26735e-02_rb,0.25294e-02_rb,0.13028e-02_rb /) kbo(:, 1,37, 6) = (/ & & 0.36881e-03_rb,0.13558e-02_rb,0.15140e-02_rb,0.14605e-02_rb,0.83527e-03_rb /) kbo(:, 2,37, 6) = (/ & & 0.43070e-03_rb,0.15018e-02_rb,0.16759e-02_rb,0.16073e-02_rb,0.89749e-03_rb /) kbo(:, 3,37, 6) = (/ & & 0.49122e-03_rb,0.16697e-02_rb,0.18620e-02_rb,0.17747e-02_rb,0.96428e-03_rb /) kbo(:, 4,37, 6) = (/ & & 0.54687e-03_rb,0.18590e-02_rb,0.20742e-02_rb,0.19690e-02_rb,0.10365e-02_rb /) kbo(:, 5,37, 6) = (/ & & 0.59826e-03_rb,0.20615e-02_rb,0.23143e-02_rb,0.21948e-02_rb,0.11140e-02_rb /) kbo(:, 1,38, 6) = (/ & & 0.30472e-03_rb,0.11463e-02_rb,0.12827e-02_rb,0.12387e-02_rb,0.70293e-03_rb /) kbo(:, 2,38, 6) = (/ & & 0.35606e-03_rb,0.12755e-02_rb,0.14277e-02_rb,0.13705e-02_rb,0.75844e-03_rb /) kbo(:, 3,38, 6) = (/ & & 0.40587e-03_rb,0.14248e-02_rb,0.15948e-02_rb,0.15225e-02_rb,0.81832e-03_rb /) kbo(:, 4,38, 6) = (/ & & 0.45170e-03_rb,0.15929e-02_rb,0.17869e-02_rb,0.16996e-02_rb,0.88272e-03_rb /) kbo(:, 5,38, 6) = (/ & & 0.49447e-03_rb,0.17743e-02_rb,0.20049e-02_rb,0.19060e-02_rb,0.95296e-03_rb /) kbo(:, 1,39, 6) = (/ & & 0.25159e-03_rb,0.96943e-03_rb,0.10877e-02_rb,0.10513e-02_rb,0.59159e-03_rb /) kbo(:, 2,39, 6) = (/ & & 0.29433e-03_rb,0.10839e-02_rb,0.12173e-02_rb,0.11700e-02_rb,0.64088e-03_rb /) kbo(:, 3,39, 6) = (/ & & 0.33554e-03_rb,0.12164e-02_rb,0.13675e-02_rb,0.13079e-02_rb,0.69454e-03_rb /) kbo(:, 4,39, 6) = (/ & & 0.37315e-03_rb,0.13660e-02_rb,0.15416e-02_rb,0.14697e-02_rb,0.75241e-03_rb /) kbo(:, 5,39, 6) = (/ & & 0.40840e-03_rb,0.15291e-02_rb,0.17396e-02_rb,0.16583e-02_rb,0.81566e-03_rb /) kbo(:, 1,40, 6) = (/ & & 0.20445e-03_rb,0.81104e-03_rb,0.91201e-03_rb,0.88303e-03_rb,0.49462e-03_rb /) kbo(:, 2,40, 6) = (/ & & 0.24013e-03_rb,0.91062e-03_rb,0.10259e-02_rb,0.98834e-03_rb,0.53806e-03_rb /) kbo(:, 3,40, 6) = (/ & & 0.27454e-03_rb,0.10267e-02_rb,0.11591e-02_rb,0.11112e-02_rb,0.58582e-03_rb /) kbo(:, 4,40, 6) = (/ & & 0.30609e-03_rb,0.11586e-02_rb,0.13148e-02_rb,0.12564e-02_rb,0.63733e-03_rb /) kbo(:, 5,40, 6) = (/ & & 0.33521e-03_rb,0.13038e-02_rb,0.14932e-02_rb,0.14267e-02_rb,0.69406e-03_rb /) kbo(:, 1,41, 6) = (/ & & 0.16568e-03_rb,0.67706e-03_rb,0.76339e-03_rb,0.74014e-03_rb,0.41311e-03_rb /) kbo(:, 2,41, 6) = (/ & & 0.19545e-03_rb,0.76370e-03_rb,0.86317e-03_rb,0.83349e-03_rb,0.45126e-03_rb /) kbo(:, 3,41, 6) = (/ & & 0.22429e-03_rb,0.86513e-03_rb,0.98057e-03_rb,0.94284e-03_rb,0.49336e-03_rb /) kbo(:, 4,41, 6) = (/ & & 0.25075e-03_rb,0.98100e-03_rb,0.11192e-02_rb,0.10723e-02_rb,0.53916e-03_rb /) kbo(:, 5,41, 6) = (/ & & 0.27523e-03_rb,0.11101e-02_rb,0.12797e-02_rb,0.12259e-02_rb,0.58980e-03_rb /) kbo(:, 1,42, 6) = (/ & & 0.13464e-03_rb,0.56478e-03_rb,0.63846e-03_rb,0.61972e-03_rb,0.34485e-03_rb /) kbo(:, 2,42, 6) = (/ & & 0.15918e-03_rb,0.64002e-03_rb,0.72573e-03_rb,0.70212e-03_rb,0.37807e-03_rb /) kbo(:, 3,42, 6) = (/ & & 0.18309e-03_rb,0.72866e-03_rb,0.82914e-03_rb,0.79959e-03_rb,0.41541e-03_rb /) kbo(:, 4,42, 6) = (/ & & 0.20534e-03_rb,0.83063e-03_rb,0.95224e-03_rb,0.91510e-03_rb,0.45609e-03_rb /) kbo(:, 5,42, 6) = (/ & & 0.22591e-03_rb,0.94536e-03_rb,0.10960e-02_rb,0.10535e-02_rb,0.50132e-03_rb /) kbo(:, 1,43, 6) = (/ & & 0.10834e-03_rb,0.46763e-03_rb,0.52964e-03_rb,0.51479e-03_rb,0.28641e-03_rb /) kbo(:, 2,43, 6) = (/ & & 0.12878e-03_rb,0.53191e-03_rb,0.60529e-03_rb,0.58655e-03_rb,0.31538e-03_rb /) kbo(:, 3,43, 6) = (/ & & 0.14877e-03_rb,0.60848e-03_rb,0.69517e-03_rb,0.67233e-03_rb,0.34781e-03_rb /) kbo(:, 4,43, 6) = (/ & & 0.16739e-03_rb,0.69818e-03_rb,0.80315e-03_rb,0.77433e-03_rb,0.38376e-03_rb /) kbo(:, 5,43, 6) = (/ & & 0.18458e-03_rb,0.79951e-03_rb,0.93071e-03_rb,0.89755e-03_rb,0.42371e-03_rb /) kbo(:, 1,44, 6) = (/ & & 0.86770e-04_rb,0.38551e-03_rb,0.43712e-03_rb,0.42544e-03_rb,0.23710e-03_rb /) kbo(:, 2,44, 6) = (/ & & 0.10382e-03_rb,0.44040e-03_rb,0.50222e-03_rb,0.48753e-03_rb,0.26235e-03_rb /) kbo(:, 3,44, 6) = (/ & & 0.12059e-03_rb,0.50571e-03_rb,0.58013e-03_rb,0.56233e-03_rb,0.29036e-03_rb /) kbo(:, 4,44, 6) = (/ & & 0.13632e-03_rb,0.58391e-03_rb,0.67429e-03_rb,0.65221e-03_rb,0.32192e-03_rb /) kbo(:, 5,44, 6) = (/ & & 0.15073e-03_rb,0.67339e-03_rb,0.78624e-03_rb,0.76086e-03_rb,0.35732e-03_rb /) kbo(:, 1,45, 6) = (/ & & 0.69317e-04_rb,0.31724e-03_rb,0.36001e-03_rb,0.35090e-03_rb,0.19579e-03_rb /) kbo(:, 2,45, 6) = (/ & & 0.83569e-04_rb,0.36417e-03_rb,0.41579e-03_rb,0.40435e-03_rb,0.21781e-03_rb /) kbo(:, 3,45, 6) = (/ & & 0.97725e-04_rb,0.42014e-03_rb,0.48329e-03_rb,0.46938e-03_rb,0.24226e-03_rb /) kbo(:, 4,45, 6) = (/ & & 0.11101e-03_rb,0.48745e-03_rb,0.56520e-03_rb,0.54804e-03_rb,0.26965e-03_rb /) kbo(:, 5,45, 6) = (/ & & 0.12310e-03_rb,0.56606e-03_rb,0.66327e-03_rb,0.64374e-03_rb,0.30080e-03_rb /) kbo(:, 1,46, 6) = (/ & & 0.55030e-04_rb,0.26007e-03_rb,0.29522e-03_rb,0.28798e-03_rb,0.16098e-03_rb /) kbo(:, 2,46, 6) = (/ & & 0.66908e-04_rb,0.29981e-03_rb,0.34235e-03_rb,0.33361e-03_rb,0.18009e-03_rb /) kbo(:, 3,46, 6) = (/ & & 0.78894e-04_rb,0.34737e-03_rb,0.40028e-03_rb,0.38969e-03_rb,0.20138e-03_rb /) kbo(:, 4,46, 6) = (/ & & 0.90228e-04_rb,0.40507e-03_rb,0.47110e-03_rb,0.45796e-03_rb,0.22525e-03_rb /) kbo(:, 5,46, 6) = (/ & & 0.10044e-03_rb,0.47380e-03_rb,0.55673e-03_rb,0.54149e-03_rb,0.25231e-03_rb /) kbo(:, 1,47, 6) = (/ & & 0.43131e-04_rb,0.21132e-03_rb,0.23992e-03_rb,0.23430e-03_rb,0.13147e-03_rb /) kbo(:, 2,47, 6) = (/ & & 0.53026e-04_rb,0.24489e-03_rb,0.27966e-03_rb,0.27282e-03_rb,0.14794e-03_rb /) kbo(:, 3,47, 6) = (/ & & 0.63179e-04_rb,0.28502e-03_rb,0.32837e-03_rb,0.32046e-03_rb,0.16642e-03_rb /) kbo(:, 4,47, 6) = (/ & & 0.72849e-04_rb,0.33391e-03_rb,0.38868e-03_rb,0.37909e-03_rb,0.18727e-03_rb /) kbo(:, 5,47, 6) = (/ & & 0.81641e-04_rb,0.39308e-03_rb,0.46293e-03_rb,0.45114e-03_rb,0.21071e-03_rb /) kbo(:, 1,48, 6) = (/ & & 0.33560e-04_rb,0.17139e-03_rb,0.19468e-03_rb,0.19001e-03_rb,0.10710e-03_rb /) kbo(:, 2,48, 6) = (/ & & 0.41736e-04_rb,0.19942e-03_rb,0.22765e-03_rb,0.22235e-03_rb,0.12121e-03_rb /) kbo(:, 3,48, 6) = (/ & & 0.50371e-04_rb,0.23319e-03_rb,0.26893e-03_rb,0.26280e-03_rb,0.13718e-03_rb /) kbo(:, 4,48, 6) = (/ & & 0.58779e-04_rb,0.27466e-03_rb,0.31973e-03_rb,0.31295e-03_rb,0.15543e-03_rb /) kbo(:, 5,48, 6) = (/ & & 0.66247e-04_rb,0.32531e-03_rb,0.38347e-03_rb,0.37465e-03_rb,0.17582e-03_rb /) kbo(:, 1,49, 6) = (/ & & 0.25958e-04_rb,0.13895e-03_rb,0.15751e-03_rb,0.15378e-03_rb,0.86997e-04_rb /) kbo(:, 2,49, 6) = (/ & & 0.32663e-04_rb,0.16210e-03_rb,0.18496e-03_rb,0.18058e-03_rb,0.99003e-04_rb /) kbo(:, 3,49, 6) = (/ & & 0.39912e-04_rb,0.19033e-03_rb,0.21954e-03_rb,0.21463e-03_rb,0.11278e-03_rb /) kbo(:, 4,49, 6) = (/ & & 0.47146e-04_rb,0.22536e-03_rb,0.26252e-03_rb,0.25743e-03_rb,0.12854e-03_rb /) kbo(:, 5,49, 6) = (/ & & 0.53714e-04_rb,0.26879e-03_rb,0.31652e-03_rb,0.31040e-03_rb,0.14638e-03_rb /) kbo(:, 1,50, 6) = (/ & & 0.20123e-04_rb,0.11283e-03_rb,0.12763e-03_rb,0.12462e-03_rb,0.70722e-04_rb /) kbo(:, 2,50, 6) = (/ & & 0.25601e-04_rb,0.13215e-03_rb,0.15042e-03_rb,0.14697e-03_rb,0.80931e-04_rb /) kbo(:, 3,50, 6) = (/ & & 0.31614e-04_rb,0.15574e-03_rb,0.17957e-03_rb,0.17552e-03_rb,0.92734e-04_rb /) kbo(:, 4,50, 6) = (/ & & 0.37764e-04_rb,0.18520e-03_rb,0.21596e-03_rb,0.21200e-03_rb,0.10641e-03_rb /) kbo(:, 5,50, 6) = (/ & & 0.43463e-04_rb,0.22248e-03_rb,0.26195e-03_rb,0.25758e-03_rb,0.12203e-03_rb /) kbo(:, 1,51, 6) = (/ & & 0.15566e-04_rb,0.91692e-04_rb,0.10348e-03_rb,0.10093e-03_rb,0.57420e-04_rb /) kbo(:, 2,51, 6) = (/ & & 0.20041e-04_rb,0.10771e-03_rb,0.12230e-03_rb,0.11952e-03_rb,0.66019e-04_rb /) kbo(:, 3,51, 6) = (/ & & 0.25022e-04_rb,0.12757e-03_rb,0.14670e-03_rb,0.14349e-03_rb,0.76182e-04_rb /) kbo(:, 4,51, 6) = (/ & & 0.30196e-04_rb,0.15226e-03_rb,0.17772e-03_rb,0.17429e-03_rb,0.87954e-04_rb /) kbo(:, 5,51, 6) = (/ & & 0.35140e-04_rb,0.18405e-03_rb,0.21697e-03_rb,0.21356e-03_rb,0.10162e-03_rb /) kbo(:, 1,52, 6) = (/ & & 0.11977e-04_rb,0.74321e-04_rb,0.83777e-04_rb,0.81525e-04_rb,0.46492e-04_rb /) kbo(:, 2,52, 6) = (/ & & 0.15618e-04_rb,0.87662e-04_rb,0.99315e-04_rb,0.96995e-04_rb,0.53744e-04_rb /) kbo(:, 3,52, 6) = (/ & & 0.19731e-04_rb,0.10434e-03_rb,0.11957e-03_rb,0.11696e-03_rb,0.62355e-04_rb /) kbo(:, 4,52, 6) = (/ & & 0.24071e-04_rb,0.12514e-03_rb,0.14574e-03_rb,0.14300e-03_rb,0.72491e-04_rb /) kbo(:, 5,52, 6) = (/ & & 0.28292e-04_rb,0.15185e-03_rb,0.17919e-03_rb,0.17642e-03_rb,0.84356e-04_rb /) kbo(:, 1,53, 6) = (/ & & 0.91836e-05_rb,0.60131e-04_rb,0.67720e-04_rb,0.65649e-04_rb,0.37522e-04_rb /) kbo(:, 2,53, 6) = (/ & & 0.12113e-04_rb,0.71192e-04_rb,0.80457e-04_rb,0.78425e-04_rb,0.43599e-04_rb /) kbo(:, 3,53, 6) = (/ & & 0.15471e-04_rb,0.85141e-04_rb,0.97276e-04_rb,0.95110e-04_rb,0.50903e-04_rb /) kbo(:, 4,53, 6) = (/ & & 0.19102e-04_rb,0.10263e-03_rb,0.11918e-03_rb,0.11694e-03_rb,0.59553e-04_rb /) kbo(:, 5,53, 6) = (/ & & 0.22693e-04_rb,0.12514e-03_rb,0.14755e-03_rb,0.14527e-03_rb,0.69812e-04_rb /) kbo(:, 1,54, 6) = (/ & & 0.70721e-05_rb,0.48764e-04_rb,0.54926e-04_rb,0.53041e-04_rb,0.30337e-04_rb /) kbo(:, 2,54, 6) = (/ & & 0.94270e-05_rb,0.57982e-04_rb,0.65461e-04_rb,0.63579e-04_rb,0.35439e-04_rb /) kbo(:, 3,54, 6) = (/ & & 0.12173e-04_rb,0.69671e-04_rb,0.79433e-04_rb,0.77530e-04_rb,0.41618e-04_rb /) kbo(:, 4,54, 6) = (/ & & 0.15195e-04_rb,0.84502e-04_rb,0.97826e-04_rb,0.96029e-04_rb,0.49017e-04_rb /) kbo(:, 5,54, 6) = (/ & & 0.18243e-04_rb,0.10358e-03_rb,0.12196e-03_rb,0.12023e-03_rb,0.57880e-04_rb /) kbo(:, 1,55, 6) = (/ & & 0.54549e-05_rb,0.39521e-04_rb,0.44580e-04_rb,0.42901e-04_rb,0.24523e-04_rb /) kbo(:, 2,55, 6) = (/ & & 0.73474e-05_rb,0.47258e-04_rb,0.53311e-04_rb,0.51627e-04_rb,0.28799e-04_rb /) kbo(:, 3,55, 6) = (/ & & 0.95818e-05_rb,0.57041e-04_rb,0.64957e-04_rb,0.63210e-04_rb,0.34015e-04_rb /) kbo(:, 4,55, 6) = (/ & & 0.12078e-04_rb,0.69528e-04_rb,0.80422e-04_rb,0.78845e-04_rb,0.40325e-04_rb /) kbo(:, 5,55, 6) = (/ & & 0.14658e-04_rb,0.85891e-04_rb,0.10087e-03_rb,0.99485e-04_rb,0.47973e-04_rb /) kbo(:, 1,56, 6) = (/ & & 0.41972e-05_rb,0.31935e-04_rb,0.36125e-04_rb,0.34628e-04_rb,0.19758e-04_rb /) kbo(:, 2,56, 6) = (/ & & 0.56951e-05_rb,0.38357e-04_rb,0.43303e-04_rb,0.41823e-04_rb,0.23341e-04_rb /) kbo(:, 3,56, 6) = (/ & & 0.75109e-05_rb,0.46586e-04_rb,0.52984e-04_rb,0.51438e-04_rb,0.27705e-04_rb /) kbo(:, 4,56, 6) = (/ & & 0.95701e-05_rb,0.57135e-04_rb,0.66020e-04_rb,0.64513e-04_rb,0.33090e-04_rb /) kbo(:, 5,56, 6) = (/ & & 0.11741e-04_rb,0.70996e-04_rb,0.83348e-04_rb,0.82172e-04_rb,0.39639e-04_rb /) kbo(:, 1,57, 6) = (/ & & 0.32187e-05_rb,0.25710e-04_rb,0.29175e-04_rb,0.27903e-04_rb,0.15874e-04_rb /) kbo(:, 2,57, 6) = (/ & & 0.44067e-05_rb,0.31037e-04_rb,0.35094e-04_rb,0.33812e-04_rb,0.18857e-04_rb /) kbo(:, 3,57, 6) = (/ & & 0.58663e-05_rb,0.37889e-04_rb,0.43100e-04_rb,0.41766e-04_rb,0.22502e-04_rb /) kbo(:, 4,57, 6) = (/ & & 0.75519e-05_rb,0.46817e-04_rb,0.54053e-04_rb,0.52634e-04_rb,0.27030e-04_rb /) kbo(:, 5,57, 6) = (/ & & 0.93649e-05_rb,0.58529e-04_rb,0.68705e-04_rb,0.67601e-04_rb,0.32661e-04_rb /) kbo(:, 1,58, 6) = (/ & & 0.24696e-05_rb,0.20698e-04_rb,0.23574e-04_rb,0.22507e-04_rb,0.12764e-04_rb /) kbo(:, 2,58, 6) = (/ & & 0.34175e-05_rb,0.25141e-04_rb,0.28438e-04_rb,0.27351e-04_rb,0.15243e-04_rb /) kbo(:, 3,58, 6) = (/ & & 0.45825e-05_rb,0.30855e-04_rb,0.35092e-04_rb,0.33951e-04_rb,0.18275e-04_rb /) kbo(:, 4,58, 6) = (/ & & 0.59665e-05_rb,0.38392e-04_rb,0.44239e-04_rb,0.43055e-04_rb,0.22112e-04_rb /) kbo(:, 5,58, 6) = (/ & & 0.74784e-05_rb,0.48383e-04_rb,0.56772e-04_rb,0.55657e-04_rb,0.26900e-04_rb /) kbo(:, 1,59, 6) = (/ & & 0.20113e-05_rb,0.17223e-04_rb,0.19628e-04_rb,0.18772e-04_rb,0.10576e-04_rb /) kbo(:, 2,59, 6) = (/ & & 0.27973e-05_rb,0.21075e-04_rb,0.23849e-04_rb,0.22960e-04_rb,0.12702e-04_rb /) kbo(:, 3,59, 6) = (/ & & 0.37714e-05_rb,0.26064e-04_rb,0.29696e-04_rb,0.28726e-04_rb,0.15326e-04_rb /) kbo(:, 4,59, 6) = (/ & & 0.49189e-05_rb,0.32724e-04_rb,0.37808e-04_rb,0.36791e-04_rb,0.18710e-04_rb /) kbo(:, 5,59, 6) = (/ & & 0.61850e-05_rb,0.41676e-04_rb,0.49043e-04_rb,0.48051e-04_rb,0.22936e-04_rb /) kbo(:, 1,13, 7) = (/ & & 0.90574e-01_rb,0.18508e+00_rb,0.20125e+00_rb,0.19353e+00_rb,0.13590e+00_rb /) kbo(:, 2,13, 7) = (/ & & 0.96633e-01_rb,0.18856e+00_rb,0.20514e+00_rb,0.19781e+00_rb,0.13867e+00_rb /) kbo(:, 3,13, 7) = (/ & & 0.10246e+00_rb,0.19231e+00_rb,0.20916e+00_rb,0.20175e+00_rb,0.14157e+00_rb /) kbo(:, 4,13, 7) = (/ & & 0.10831e+00_rb,0.19664e+00_rb,0.21340e+00_rb,0.20566e+00_rb,0.14422e+00_rb /) kbo(:, 5,13, 7) = (/ & & 0.11418e+00_rb,0.20190e+00_rb,0.21829e+00_rb,0.20964e+00_rb,0.14715e+00_rb /) kbo(:, 1,14, 7) = (/ & & 0.76731e-01_rb,0.15637e+00_rb,0.17031e+00_rb,0.16454e+00_rb,0.11471e+00_rb /) kbo(:, 2,14, 7) = (/ & & 0.81853e-01_rb,0.15935e+00_rb,0.17367e+00_rb,0.16809e+00_rb,0.11738e+00_rb /) kbo(:, 3,14, 7) = (/ & & 0.86939e-01_rb,0.16284e+00_rb,0.17719e+00_rb,0.17151e+00_rb,0.11993e+00_rb /) kbo(:, 4,14, 7) = (/ & & 0.91985e-01_rb,0.16698e+00_rb,0.18115e+00_rb,0.17500e+00_rb,0.12254e+00_rb /) kbo(:, 5,14, 7) = (/ & & 0.97005e-01_rb,0.17199e+00_rb,0.18590e+00_rb,0.17860e+00_rb,0.12524e+00_rb /) kbo(:, 1,15, 7) = (/ & & 0.64796e-01_rb,0.13180e+00_rb,0.14379e+00_rb,0.13927e+00_rb,0.96282e-01_rb /) kbo(:, 2,15, 7) = (/ & & 0.69175e-01_rb,0.13451e+00_rb,0.14669e+00_rb,0.14230e+00_rb,0.98702e-01_rb /) kbo(:, 3,15, 7) = (/ & & 0.73574e-01_rb,0.13779e+00_rb,0.14991e+00_rb,0.14533e+00_rb,0.10111e+00_rb /) kbo(:, 4,15, 7) = (/ & & 0.77907e-01_rb,0.14175e+00_rb,0.15375e+00_rb,0.14848e+00_rb,0.10336e+00_rb /) kbo(:, 5,15, 7) = (/ & & 0.82082e-01_rb,0.14644e+00_rb,0.15826e+00_rb,0.15192e+00_rb,0.10558e+00_rb /) kbo(:, 1,16, 7) = (/ & & 0.54603e-01_rb,0.11092e+00_rb,0.12113e+00_rb,0.11747e+00_rb,0.80564e-01_rb /) kbo(:, 2,16, 7) = (/ & & 0.58392e-01_rb,0.11343e+00_rb,0.12376e+00_rb,0.12011e+00_rb,0.82662e-01_rb /) kbo(:, 3,16, 7) = (/ & & 0.62149e-01_rb,0.11652e+00_rb,0.12680e+00_rb,0.12283e+00_rb,0.84744e-01_rb /) kbo(:, 4,16, 7) = (/ & & 0.65779e-01_rb,0.12031e+00_rb,0.13049e+00_rb,0.12576e+00_rb,0.86806e-01_rb /) kbo(:, 5,16, 7) = (/ & & 0.69275e-01_rb,0.12462e+00_rb,0.13474e+00_rb,0.12909e+00_rb,0.88592e-01_rb /) kbo(:, 1,17, 7) = (/ & & 0.46019e-01_rb,0.93276e-01_rb,0.10182e+00_rb,0.98886e-01_rb,0.67386e-01_rb /) kbo(:, 2,17, 7) = (/ & & 0.49257e-01_rb,0.95617e-01_rb,0.10427e+00_rb,0.10122e+00_rb,0.69214e-01_rb /) kbo(:, 3,17, 7) = (/ & & 0.52438e-01_rb,0.98544e-01_rb,0.10723e+00_rb,0.10369e+00_rb,0.71047e-01_rb /) kbo(:, 4,17, 7) = (/ & & 0.55444e-01_rb,0.10204e+00_rb,0.11074e+00_rb,0.10647e+00_rb,0.72809e-01_rb /) kbo(:, 5,17, 7) = (/ & & 0.58360e-01_rb,0.10585e+00_rb,0.11469e+00_rb,0.10967e+00_rb,0.74297e-01_rb /) kbo(:, 1,18, 7) = (/ & & 0.38789e-01_rb,0.78385e-01_rb,0.85426e-01_rb,0.83127e-01_rb,0.56424e-01_rb /) kbo(:, 2,18, 7) = (/ & & 0.41550e-01_rb,0.80626e-01_rb,0.87775e-01_rb,0.85216e-01_rb,0.58103e-01_rb /) kbo(:, 3,18, 7) = (/ & & 0.44172e-01_rb,0.83391e-01_rb,0.90633e-01_rb,0.87547e-01_rb,0.59665e-01_rb /) kbo(:, 4,18, 7) = (/ & & 0.46672e-01_rb,0.86541e-01_rb,0.93910e-01_rb,0.90224e-01_rb,0.61155e-01_rb /) kbo(:, 5,18, 7) = (/ & & 0.49119e-01_rb,0.89890e-01_rb,0.97478e-01_rb,0.93171e-01_rb,0.62440e-01_rb /) kbo(:, 1,19, 7) = (/ & & 0.32688e-01_rb,0.65866e-01_rb,0.71699e-01_rb,0.69831e-01_rb,0.47341e-01_rb /) kbo(:, 2,19, 7) = (/ & & 0.34993e-01_rb,0.67987e-01_rb,0.73938e-01_rb,0.71758e-01_rb,0.48787e-01_rb /) kbo(:, 3,19, 7) = (/ & & 0.37158e-01_rb,0.70566e-01_rb,0.76608e-01_rb,0.73972e-01_rb,0.50204e-01_rb /) kbo(:, 4,19, 7) = (/ & & 0.39257e-01_rb,0.73365e-01_rb,0.79594e-01_rb,0.76458e-01_rb,0.51459e-01_rb /) kbo(:, 5,19, 7) = (/ & & 0.41326e-01_rb,0.76343e-01_rb,0.82757e-01_rb,0.79138e-01_rb,0.52598e-01_rb /) kbo(:, 1,20, 7) = (/ & & 0.27557e-01_rb,0.55396e-01_rb,0.60366e-01_rb,0.58674e-01_rb,0.39775e-01_rb /) kbo(:, 2,20, 7) = (/ & & 0.29458e-01_rb,0.57423e-01_rb,0.62478e-01_rb,0.60497e-01_rb,0.41091e-01_rb /) kbo(:, 3,20, 7) = (/ & & 0.31261e-01_rb,0.59745e-01_rb,0.64927e-01_rb,0.62579e-01_rb,0.42317e-01_rb /) kbo(:, 4,20, 7) = (/ & & 0.33046e-01_rb,0.62240e-01_rb,0.67549e-01_rb,0.64853e-01_rb,0.43439e-01_rb /) kbo(:, 5,20, 7) = (/ & & 0.34818e-01_rb,0.64890e-01_rb,0.70320e-01_rb,0.67290e-01_rb,0.44513e-01_rb /) kbo(:, 1,21, 7) = (/ & & 0.23194e-01_rb,0.46662e-01_rb,0.50879e-01_rb,0.49331e-01_rb,0.33429e-01_rb /) kbo(:, 2,21, 7) = (/ & & 0.24776e-01_rb,0.48529e-01_rb,0.52871e-01_rb,0.51054e-01_rb,0.34590e-01_rb /) kbo(:, 3,21, 7) = (/ & & 0.26303e-01_rb,0.50578e-01_rb,0.55098e-01_rb,0.52980e-01_rb,0.35684e-01_rb /) kbo(:, 4,21, 7) = (/ & & 0.27810e-01_rb,0.52793e-01_rb,0.57429e-01_rb,0.55052e-01_rb,0.36688e-01_rb /) kbo(:, 5,21, 7) = (/ & & 0.29323e-01_rb,0.55187e-01_rb,0.59853e-01_rb,0.57245e-01_rb,0.37657e-01_rb /) kbo(:, 1,22, 7) = (/ & & 0.19600e-01_rb,0.39448e-01_rb,0.43057e-01_rb,0.41623e-01_rb,0.28169e-01_rb /) kbo(:, 2,22, 7) = (/ & & 0.20910e-01_rb,0.41135e-01_rb,0.44924e-01_rb,0.43250e-01_rb,0.29188e-01_rb /) kbo(:, 3,22, 7) = (/ & & 0.22195e-01_rb,0.42970e-01_rb,0.46916e-01_rb,0.45021e-01_rb,0.30138e-01_rb /) kbo(:, 4,22, 7) = (/ & & 0.23466e-01_rb,0.44963e-01_rb,0.48978e-01_rb,0.46906e-01_rb,0.31021e-01_rb /) kbo(:, 5,22, 7) = (/ & & 0.24791e-01_rb,0.47151e-01_rb,0.51143e-01_rb,0.48901e-01_rb,0.31919e-01_rb /) kbo(:, 1,23, 7) = (/ & & 0.16563e-01_rb,0.33405e-01_rb,0.36517e-01_rb,0.35235e-01_rb,0.23758e-01_rb /) kbo(:, 2,23, 7) = (/ & & 0.17634e-01_rb,0.34920e-01_rb,0.38215e-01_rb,0.36726e-01_rb,0.24656e-01_rb /) kbo(:, 3,23, 7) = (/ & & 0.18715e-01_rb,0.36571e-01_rb,0.39976e-01_rb,0.38337e-01_rb,0.25473e-01_rb /) kbo(:, 4,23, 7) = (/ & & 0.19810e-01_rb,0.38397e-01_rb,0.41828e-01_rb,0.40046e-01_rb,0.26273e-01_rb /) kbo(:, 5,23, 7) = (/ & & 0.20990e-01_rb,0.40406e-01_rb,0.43840e-01_rb,0.41881e-01_rb,0.27068e-01_rb /) kbo(:, 1,24, 7) = (/ & & 0.13980e-01_rb,0.28346e-01_rb,0.31027e-01_rb,0.29909e-01_rb,0.20058e-01_rb /) kbo(:, 2,24, 7) = (/ & & 0.14874e-01_rb,0.29707e-01_rb,0.32546e-01_rb,0.31266e-01_rb,0.20839e-01_rb /) kbo(:, 3,24, 7) = (/ & & 0.15797e-01_rb,0.31204e-01_rb,0.34123e-01_rb,0.32728e-01_rb,0.21557e-01_rb /) kbo(:, 4,24, 7) = (/ & & 0.16758e-01_rb,0.32875e-01_rb,0.35824e-01_rb,0.34296e-01_rb,0.22274e-01_rb /) kbo(:, 5,24, 7) = (/ & & 0.17809e-01_rb,0.34737e-01_rb,0.37711e-01_rb,0.35981e-01_rb,0.22992e-01_rb /) kbo(:, 1,25, 7) = (/ & & 0.11798e-01_rb,0.24110e-01_rb,0.26426e-01_rb,0.25457e-01_rb,0.16985e-01_rb /) kbo(:, 2,25, 7) = (/ & & 0.12561e-01_rb,0.25347e-01_rb,0.27781e-01_rb,0.26691e-01_rb,0.17655e-01_rb /) kbo(:, 3,25, 7) = (/ & & 0.13359e-01_rb,0.26711e-01_rb,0.29222e-01_rb,0.28026e-01_rb,0.18302e-01_rb /) kbo(:, 4,25, 7) = (/ & & 0.14208e-01_rb,0.28241e-01_rb,0.30806e-01_rb,0.29472e-01_rb,0.18949e-01_rb /) kbo(:, 5,25, 7) = (/ & & 0.15157e-01_rb,0.29980e-01_rb,0.32597e-01_rb,0.31029e-01_rb,0.19596e-01_rb /) kbo(:, 1,26, 7) = (/ & & 0.99745e-02_rb,0.20581e-01_rb,0.22580e-01_rb,0.21746e-01_rb,0.14432e-01_rb /) kbo(:, 2,26, 7) = (/ & & 0.10633e-01_rb,0.21703e-01_rb,0.23807e-01_rb,0.22873e-01_rb,0.15014e-01_rb /) kbo(:, 3,26, 7) = (/ & & 0.11328e-01_rb,0.22948e-01_rb,0.25141e-01_rb,0.24108e-01_rb,0.15588e-01_rb /) kbo(:, 4,26, 7) = (/ & & 0.12091e-01_rb,0.24380e-01_rb,0.26636e-01_rb,0.25439e-01_rb,0.16180e-01_rb /) kbo(:, 5,26, 7) = (/ & & 0.12943e-01_rb,0.26016e-01_rb,0.28335e-01_rb,0.26899e-01_rb,0.16787e-01_rb /) kbo(:, 1,27, 7) = (/ & & 0.84424e-02_rb,0.17603e-01_rb,0.19348e-01_rb,0.18632e-01_rb,0.12275e-01_rb /) kbo(:, 2,27, 7) = (/ & & 0.90172e-02_rb,0.18627e-01_rb,0.20475e-01_rb,0.19670e-01_rb,0.12796e-01_rb /) kbo(:, 3,27, 7) = (/ & & 0.96344e-02_rb,0.19791e-01_rb,0.21724e-01_rb,0.20817e-01_rb,0.13316e-01_rb /) kbo(:, 4,27, 7) = (/ & & 0.10319e-01_rb,0.21143e-01_rb,0.23141e-01_rb,0.22059e-01_rb,0.13859e-01_rb /) kbo(:, 5,27, 7) = (/ & & 0.11083e-01_rb,0.22688e-01_rb,0.24742e-01_rb,0.23449e-01_rb,0.14418e-01_rb /) kbo(:, 1,28, 7) = (/ & & 0.71594e-02_rb,0.15094e-01_rb,0.16638e-01_rb,0.16016e-01_rb,0.10452e-01_rb /) kbo(:, 2,28, 7) = (/ & & 0.76603e-02_rb,0.16043e-01_rb,0.17678e-01_rb,0.16989e-01_rb,0.10928e-01_rb /) kbo(:, 3,28, 7) = (/ & & 0.82161e-02_rb,0.17148e-01_rb,0.18856e-01_rb,0.18055e-01_rb,0.11409e-01_rb /) kbo(:, 4,28, 7) = (/ & & 0.88297e-02_rb,0.18429e-01_rb,0.20193e-01_rb,0.19234e-01_rb,0.11908e-01_rb /) kbo(:, 5,28, 7) = (/ & & 0.95210e-02_rb,0.19896e-01_rb,0.21697e-01_rb,0.20565e-01_rb,0.12423e-01_rb /) kbo(:, 1,29, 7) = (/ & & 0.60865e-02_rb,0.12992e-01_rb,0.14367e-01_rb,0.13830e-01_rb,0.89337e-02_rb /) kbo(:, 2,29, 7) = (/ & & 0.65273e-02_rb,0.13894e-01_rb,0.15342e-01_rb,0.14741e-01_rb,0.93649e-02_rb /) kbo(:, 3,29, 7) = (/ & & 0.70278e-02_rb,0.14949e-01_rb,0.16457e-01_rb,0.15746e-01_rb,0.98158e-02_rb /) kbo(:, 4,29, 7) = (/ & & 0.75858e-02_rb,0.16169e-01_rb,0.17720e-01_rb,0.16877e-01_rb,0.10273e-01_rb /) kbo(:, 5,29, 7) = (/ & & 0.82154e-02_rb,0.17564e-01_rb,0.19150e-01_rb,0.18159e-01_rb,0.10745e-01_rb /) kbo(:, 1,30, 7) = (/ & & 0.51820e-02_rb,0.11236e-01_rb,0.12459e-01_rb,0.12000e-01_rb,0.76507e-02_rb /) kbo(:, 2,30, 7) = (/ & & 0.55811e-02_rb,0.12098e-01_rb,0.13380e-01_rb,0.12854e-01_rb,0.80497e-02_rb /) kbo(:, 3,30, 7) = (/ & & 0.60310e-02_rb,0.13108e-01_rb,0.14440e-01_rb,0.13813e-01_rb,0.84648e-02_rb /) kbo(:, 4,30, 7) = (/ & & 0.65404e-02_rb,0.14273e-01_rb,0.15644e-01_rb,0.14905e-01_rb,0.88882e-02_rb /) kbo(:, 5,30, 7) = (/ & & 0.71170e-02_rb,0.15597e-01_rb,0.17012e-01_rb,0.16134e-01_rb,0.93248e-02_rb /) kbo(:, 1,31, 7) = (/ & & 0.44272e-02_rb,0.97757e-02_rb,0.10859e-01_rb,0.10467e-01_rb,0.65734e-02_rb /) kbo(:, 2,31, 7) = (/ & & 0.47878e-02_rb,0.10603e-01_rb,0.11740e-01_rb,0.11277e-01_rb,0.69415e-02_rb /) kbo(:, 3,31, 7) = (/ & & 0.51963e-02_rb,0.11572e-01_rb,0.12753e-01_rb,0.12201e-01_rb,0.73188e-02_rb /) kbo(:, 4,31, 7) = (/ & & 0.56609e-02_rb,0.12684e-01_rb,0.13904e-01_rb,0.13252e-01_rb,0.77091e-02_rb /) kbo(:, 5,31, 7) = (/ & & 0.61977e-02_rb,0.13944e-01_rb,0.15244e-01_rb,0.14424e-01_rb,0.81161e-02_rb /) kbo(:, 1,32, 7) = (/ & & 0.37962e-02_rb,0.85614e-02_rb,0.95233e-02_rb,0.91812e-02_rb,0.56658e-02_rb /) kbo(:, 2,32, 7) = (/ & & 0.41228e-02_rb,0.93595e-02_rb,0.10368e-01_rb,0.99574e-02_rb,0.60000e-02_rb /) kbo(:, 3,32, 7) = (/ & & 0.44947e-02_rb,0.10287e-01_rb,0.11338e-01_rb,0.10850e-01_rb,0.63462e-02_rb /) kbo(:, 4,32, 7) = (/ & & 0.49244e-02_rb,0.11349e-01_rb,0.12467e-01_rb,0.11857e-01_rb,0.67069e-02_rb /) kbo(:, 5,32, 7) = (/ & & 0.54252e-02_rb,0.12554e-01_rb,0.13767e-01_rb,0.12983e-01_rb,0.70910e-02_rb /) kbo(:, 1,33, 7) = (/ & & 0.32656e-02_rb,0.75519e-02_rb,0.84026e-02_rb,0.81028e-02_rb,0.48937e-02_rb /) kbo(:, 2,33, 7) = (/ & & 0.35630e-02_rb,0.83178e-02_rb,0.92157e-02_rb,0.88531e-02_rb,0.52004e-02_rb /) kbo(:, 3,33, 7) = (/ & & 0.39050e-02_rb,0.92063e-02_rb,0.10168e-01_rb,0.97125e-02_rb,0.55156e-02_rb /) kbo(:, 4,33, 7) = (/ & & 0.43055e-02_rb,0.10227e-01_rb,0.11270e-01_rb,0.10682e-01_rb,0.58516e-02_rb /) kbo(:, 5,33, 7) = (/ & & 0.47651e-02_rb,0.11396e-01_rb,0.12524e-01_rb,0.11769e-01_rb,0.62091e-02_rb /) kbo(:, 1,34, 7) = (/ & & 0.28105e-02_rb,0.66873e-02_rb,0.74405e-02_rb,0.71742e-02_rb,0.42413e-02_rb /) kbo(:, 2,34, 7) = (/ & & 0.30819e-02_rb,0.74197e-02_rb,0.82328e-02_rb,0.78962e-02_rb,0.45189e-02_rb /) kbo(:, 3,34, 7) = (/ & & 0.33974e-02_rb,0.82731e-02_rb,0.91582e-02_rb,0.87214e-02_rb,0.48133e-02_rb /) kbo(:, 4,34, 7) = (/ & & 0.37682e-02_rb,0.92558e-02_rb,0.10225e-01_rb,0.96550e-02_rb,0.51300e-02_rb /) kbo(:, 5,34, 7) = (/ & & 0.41836e-02_rb,0.10408e-01_rb,0.11429e-01_rb,0.10709e-01_rb,0.54671e-02_rb /) kbo(:, 1,35, 7) = (/ & & 0.24038e-02_rb,0.58948e-02_rb,0.65709e-02_rb,0.63304e-02_rb,0.36544e-02_rb /) kbo(:, 2,35, 7) = (/ & & 0.26483e-02_rb,0.65885e-02_rb,0.73295e-02_rb,0.70175e-02_rb,0.39080e-02_rb /) kbo(:, 3,35, 7) = (/ & & 0.29372e-02_rb,0.74016e-02_rb,0.82197e-02_rb,0.78032e-02_rb,0.41855e-02_rb /) kbo(:, 4,35, 7) = (/ & & 0.32728e-02_rb,0.83531e-02_rb,0.92365e-02_rb,0.86973e-02_rb,0.44777e-02_rb /) kbo(:, 5,35, 7) = (/ & & 0.36421e-02_rb,0.94681e-02_rb,0.10387e-01_rb,0.97145e-02_rb,0.47967e-02_rb /) kbo(:, 1,36, 7) = (/ & & 0.20373e-02_rb,0.51550e-02_rb,0.57662e-02_rb,0.55498e-02_rb,0.31231e-02_rb /) kbo(:, 2,36, 7) = (/ & & 0.22554e-02_rb,0.58057e-02_rb,0.64818e-02_rb,0.61953e-02_rb,0.33549e-02_rb /) kbo(:, 3,36, 7) = (/ & & 0.25127e-02_rb,0.65796e-02_rb,0.73228e-02_rb,0.69361e-02_rb,0.36112e-02_rb /) kbo(:, 4,36, 7) = (/ & & 0.28104e-02_rb,0.74827e-02_rb,0.82833e-02_rb,0.77843e-02_rb,0.38823e-02_rb /) kbo(:, 5,36, 7) = (/ & & 0.31359e-02_rb,0.85467e-02_rb,0.93763e-02_rb,0.87575e-02_rb,0.41812e-02_rb /) kbo(:, 1,37, 7) = (/ & & 0.17035e-02_rb,0.44466e-02_rb,0.49856e-02_rb,0.47970e-02_rb,0.26734e-02_rb /) kbo(:, 2,37, 7) = (/ & & 0.18934e-02_rb,0.50433e-02_rb,0.56462e-02_rb,0.53907e-02_rb,0.28873e-02_rb /) kbo(:, 3,37, 7) = (/ & & 0.21171e-02_rb,0.57558e-02_rb,0.64223e-02_rb,0.60783e-02_rb,0.31233e-02_rb /) kbo(:, 4,37, 7) = (/ & & 0.23767e-02_rb,0.65938e-02_rb,0.73141e-02_rb,0.68717e-02_rb,0.33760e-02_rb /) kbo(:, 5,37, 7) = (/ & & 0.26616e-02_rb,0.75860e-02_rb,0.83359e-02_rb,0.77859e-02_rb,0.36530e-02_rb /) kbo(:, 1,38, 7) = (/ & & 0.14234e-02_rb,0.38379e-02_rb,0.43139e-02_rb,0.41486e-02_rb,0.22904e-02_rb /) kbo(:, 2,38, 7) = (/ & & 0.15875e-02_rb,0.43850e-02_rb,0.49236e-02_rb,0.46956e-02_rb,0.24873e-02_rb /) kbo(:, 3,38, 7) = (/ & & 0.17824e-02_rb,0.50419e-02_rb,0.56400e-02_rb,0.53338e-02_rb,0.27024e-02_rb /) kbo(:, 4,38, 7) = (/ & & 0.20080e-02_rb,0.58195e-02_rb,0.64682e-02_rb,0.60767e-02_rb,0.29386e-02_rb /) kbo(:, 5,38, 7) = (/ & & 0.22567e-02_rb,0.67445e-02_rb,0.74253e-02_rb,0.69357e-02_rb,0.31979e-02_rb /) kbo(:, 1,39, 7) = (/ & & 0.11890e-02_rb,0.33180e-02_rb,0.37396e-02_rb,0.35935e-02_rb,0.19623e-02_rb /) kbo(:, 2,39, 7) = (/ & & 0.13309e-02_rb,0.38204e-02_rb,0.43017e-02_rb,0.40980e-02_rb,0.21427e-02_rb /) kbo(:, 3,39, 7) = (/ & & 0.14997e-02_rb,0.44279e-02_rb,0.49653e-02_rb,0.46926e-02_rb,0.23415e-02_rb /) kbo(:, 4,39, 7) = (/ & & 0.16956e-02_rb,0.51508e-02_rb,0.57361e-02_rb,0.53891e-02_rb,0.25595e-02_rb /) kbo(:, 5,39, 7) = (/ & & 0.19128e-02_rb,0.60136e-02_rb,0.66353e-02_rb,0.61975e-02_rb,0.28034e-02_rb /) kbo(:, 1,40, 7) = (/ & & 0.98185e-03_rb,0.28304e-02_rb,0.31989e-02_rb,0.30741e-02_rb,0.16759e-02_rb /) kbo(:, 2,40, 7) = (/ & & 0.11018e-02_rb,0.32825e-02_rb,0.37073e-02_rb,0.35318e-02_rb,0.18412e-02_rb /) kbo(:, 3,40, 7) = (/ & & 0.12459e-02_rb,0.38338e-02_rb,0.43125e-02_rb,0.40771e-02_rb,0.20230e-02_rb /) kbo(:, 4,40, 7) = (/ & & 0.14138e-02_rb,0.44950e-02_rb,0.50204e-02_rb,0.47198e-02_rb,0.22264e-02_rb /) kbo(:, 5,40, 7) = (/ & & 0.16015e-02_rb,0.52867e-02_rb,0.58524e-02_rb,0.54701e-02_rb,0.24538e-02_rb /) kbo(:, 1,41, 7) = (/ & & 0.80888e-03_rb,0.24101e-02_rb,0.27302e-02_rb,0.26250e-02_rb,0.14285e-02_rb /) kbo(:, 2,41, 7) = (/ & & 0.91042e-03_rb,0.28166e-02_rb,0.31895e-02_rb,0.30396e-02_rb,0.15812e-02_rb /) kbo(:, 3,41, 7) = (/ & & 0.10323e-02_rb,0.33144e-02_rb,0.37392e-02_rb,0.35375e-02_rb,0.17482e-02_rb /) kbo(:, 4,41, 7) = (/ & & 0.11757e-02_rb,0.39172e-02_rb,0.43885e-02_rb,0.41290e-02_rb,0.19366e-02_rb /) kbo(:, 5,41, 7) = (/ & & 0.13368e-02_rb,0.46417e-02_rb,0.51571e-02_rb,0.48237e-02_rb,0.21455e-02_rb /) kbo(:, 1,42, 7) = (/ & & 0.66584e-03_rb,0.20506e-02_rb,0.23294e-02_rb,0.22418e-02_rb,0.12147e-02_rb /) kbo(:, 2,42, 7) = (/ & & 0.75117e-03_rb,0.24164e-02_rb,0.27427e-02_rb,0.26163e-02_rb,0.13552e-02_rb /) kbo(:, 3,42, 7) = (/ & & 0.85464e-03_rb,0.28657e-02_rb,0.32419e-02_rb,0.30702e-02_rb,0.15103e-02_rb /) kbo(:, 4,42, 7) = (/ & & 0.97690e-03_rb,0.34148e-02_rb,0.38374e-02_rb,0.36136e-02_rb,0.16836e-02_rb /) kbo(:, 5,42, 7) = (/ & & 0.11154e-02_rb,0.40777e-02_rb,0.45486e-02_rb,0.42564e-02_rb,0.18765e-02_rb /) kbo(:, 1,43, 7) = (/ & & 0.54468e-03_rb,0.17260e-02_rb,0.19662e-02_rb,0.18963e-02_rb,0.10278e-02_rb /) kbo(:, 2,43, 7) = (/ & & 0.61495e-03_rb,0.20517e-02_rb,0.23339e-02_rb,0.22307e-02_rb,0.11544e-02_rb /) kbo(:, 3,43, 7) = (/ & & 0.70090e-03_rb,0.24526e-02_rb,0.27821e-02_rb,0.26393e-02_rb,0.12972e-02_rb /) kbo(:, 4,43, 7) = (/ & & 0.80460e-03_rb,0.29460e-02_rb,0.33228e-02_rb,0.31329e-02_rb,0.14583e-02_rb /) kbo(:, 5,43, 7) = (/ & & 0.92296e-03_rb,0.35462e-02_rb,0.39738e-02_rb,0.37220e-02_rb,0.16369e-02_rb /) kbo(:, 1,44, 7) = (/ & & 0.44364e-03_rb,0.14437e-02_rb,0.16496e-02_rb,0.15952e-02_rb,0.86540e-03_rb /) kbo(:, 2,44, 7) = (/ & & 0.50199e-03_rb,0.17304e-02_rb,0.19739e-02_rb,0.18912e-02_rb,0.97937e-03_rb /) kbo(:, 3,44, 7) = (/ & & 0.57242e-03_rb,0.20860e-02_rb,0.23731e-02_rb,0.22565e-02_rb,0.11106e-02_rb /) kbo(:, 4,44, 7) = (/ & & 0.65930e-03_rb,0.25283e-02_rb,0.28613e-02_rb,0.27024e-02_rb,0.12573e-02_rb /) kbo(:, 5,44, 7) = (/ & & 0.75974e-03_rb,0.30673e-02_rb,0.34531e-02_rb,0.32379e-02_rb,0.14238e-02_rb /) kbo(:, 1,45, 7) = (/ & & 0.36129e-03_rb,0.12055e-02_rb,0.13811e-02_rb,0.13394e-02_rb,0.72668e-03_rb /) kbo(:, 2,45, 7) = (/ & & 0.40925e-03_rb,0.14558e-02_rb,0.16660e-02_rb,0.16003e-02_rb,0.82937e-03_rb /) kbo(:, 3,45, 7) = (/ & & 0.46755e-03_rb,0.17705e-02_rb,0.20201e-02_rb,0.19260e-02_rb,0.94755e-03_rb /) kbo(:, 4,45, 7) = (/ & & 0.53937e-03_rb,0.21654e-02_rb,0.24593e-02_rb,0.23275e-02_rb,0.10822e-02_rb /) kbo(:, 5,45, 7) = (/ & & 0.62400e-03_rb,0.26505e-02_rb,0.29965e-02_rb,0.28141e-02_rb,0.12345e-02_rb /) kbo(:, 1,46, 7) = (/ & & 0.29308e-03_rb,0.99917e-03_rb,0.11483e-02_rb,0.11175e-02_rb,0.60699e-03_rb /) kbo(:, 2,46, 7) = (/ & & 0.33256e-03_rb,0.12167e-02_rb,0.13963e-02_rb,0.13454e-02_rb,0.69810e-03_rb /) kbo(:, 3,46, 7) = (/ & & 0.38031e-03_rb,0.14933e-02_rb,0.17091e-02_rb,0.16341e-02_rb,0.80431e-03_rb /) kbo(:, 4,46, 7) = (/ & & 0.43974e-03_rb,0.18423e-02_rb,0.21003e-02_rb,0.19926e-02_rb,0.92607e-03_rb /) kbo(:, 5,46, 7) = (/ & & 0.51042e-03_rb,0.22760e-02_rb,0.25842e-02_rb,0.24318e-02_rb,0.10656e-02_rb /) kbo(:, 1,47, 7) = (/ & & 0.23621e-03_rb,0.81920e-03_rb,0.94415e-03_rb,0.92230e-03_rb,0.50239e-03_rb /) kbo(:, 2,47, 7) = (/ & & 0.26847e-03_rb,0.10045e-02_rb,0.11560e-02_rb,0.11182e-02_rb,0.58268e-03_rb /) kbo(:, 3,47, 7) = (/ & & 0.30727e-03_rb,0.12442e-02_rb,0.14284e-02_rb,0.13701e-02_rb,0.67654e-03_rb /) kbo(:, 4,47, 7) = (/ & & 0.35565e-03_rb,0.15479e-02_rb,0.17727e-02_rb,0.16866e-02_rb,0.78602e-03_rb /) kbo(:, 5,47, 7) = (/ & & 0.41455e-03_rb,0.19320e-02_rb,0.22031e-02_rb,0.20787e-02_rb,0.91297e-03_rb /) kbo(:, 1,48, 7) = (/ & & 0.19056e-03_rb,0.66912e-03_rb,0.77329e-03_rb,0.75810e-03_rb,0.41434e-03_rb /) kbo(:, 2,48, 7) = (/ & & 0.21662e-03_rb,0.82638e-03_rb,0.95404e-03_rb,0.92602e-03_rb,0.48448e-03_rb /) kbo(:, 3,48, 7) = (/ & & 0.24805e-03_rb,0.10324e-02_rb,0.11883e-02_rb,0.11443e-02_rb,0.56714e-03_rb /) kbo(:, 4,48, 7) = (/ & & 0.28732e-03_rb,0.12967e-02_rb,0.14909e-02_rb,0.14226e-02_rb,0.66465e-03_rb /) kbo(:, 5,48, 7) = (/ & & 0.33598e-03_rb,0.16339e-02_rb,0.18720e-02_rb,0.17712e-02_rb,0.77925e-03_rb /) kbo(:, 1,49, 7) = (/ & & 0.15370e-03_rb,0.54435e-03_rb,0.63072e-03_rb,0.62031e-03_rb,0.34039e-03_rb /) kbo(:, 2,49, 7) = (/ & & 0.17493e-03_rb,0.67703e-03_rb,0.78385e-03_rb,0.76375e-03_rb,0.40110e-03_rb /) kbo(:, 3,49, 7) = (/ & & 0.20006e-03_rb,0.85331e-03_rb,0.98454e-03_rb,0.95185e-03_rb,0.47334e-03_rb /) kbo(:, 4,49, 7) = (/ & & 0.23184e-03_rb,0.10822e-02_rb,0.12482e-02_rb,0.11953e-02_rb,0.56021e-03_rb /) kbo(:, 5,49, 7) = (/ & & 0.27201e-03_rb,0.13761e-02_rb,0.15848e-02_rb,0.15038e-02_rb,0.66336e-03_rb /) kbo(:, 1,50, 7) = (/ & & 0.12445e-03_rb,0.44363e-03_rb,0.51558e-03_rb,0.50858e-03_rb,0.27983e-03_rb /) kbo(:, 2,50, 7) = (/ & & 0.14173e-03_rb,0.55572e-03_rb,0.64516e-03_rb,0.63048e-03_rb,0.33240e-03_rb /) kbo(:, 3,50, 7) = (/ & & 0.16225e-03_rb,0.70658e-03_rb,0.81789e-03_rb,0.79296e-03_rb,0.39601e-03_rb /) kbo(:, 4,50, 7) = (/ & & 0.18768e-03_rb,0.90539e-03_rb,0.10468e-02_rb,0.10060e-02_rb,0.47285e-03_rb /) kbo(:, 5,50, 7) = (/ & & 0.22071e-03_rb,0.11624e-02_rb,0.13446e-02_rb,0.12795e-02_rb,0.56523e-03_rb /) kbo(:, 1,51, 7) = (/ & & 0.10079e-03_rb,0.36142e-03_rb,0.42089e-03_rb,0.41617e-03_rb,0.23042e-03_rb /) kbo(:, 2,51, 7) = (/ & & 0.11508e-03_rb,0.45540e-03_rb,0.53023e-03_rb,0.51983e-03_rb,0.27489e-03_rb /) kbo(:, 3,51, 7) = (/ & & 0.13183e-03_rb,0.58426e-03_rb,0.67873e-03_rb,0.65942e-03_rb,0.33073e-03_rb /) kbo(:, 4,51, 7) = (/ & & 0.15243e-03_rb,0.75694e-03_rb,0.87652e-03_rb,0.84573e-03_rb,0.39869e-03_rb /) kbo(:, 5,51, 7) = (/ & & 0.17921e-03_rb,0.98295e-03_rb,0.11402e-02_rb,0.10885e-02_rb,0.48140e-03_rb /) kbo(:, 1,52, 7) = (/ & & 0.81556e-04_rb,0.29363e-03_rb,0.34244e-03_rb,0.33921e-03_rb,0.18905e-03_rb /) kbo(:, 2,52, 7) = (/ & & 0.93358e-04_rb,0.37204e-03_rb,0.43415e-03_rb,0.42707e-03_rb,0.22730e-03_rb /) kbo(:, 3,52, 7) = (/ & & 0.10711e-03_rb,0.48125e-03_rb,0.56095e-03_rb,0.54625e-03_rb,0.27517e-03_rb /) kbo(:, 4,52, 7) = (/ & & 0.12382e-03_rb,0.62999e-03_rb,0.73195e-03_rb,0.70815e-03_rb,0.33506e-03_rb /) kbo(:, 5,52, 7) = (/ & & 0.14564e-03_rb,0.82786e-03_rb,0.96258e-03_rb,0.92197e-03_rb,0.40847e-03_rb /) kbo(:, 1,53, 7) = (/ & & 0.65849e-04_rb,0.23779e-03_rb,0.27734e-03_rb,0.27519e-03_rb,0.15433e-03_rb /) kbo(:, 2,53, 7) = (/ & & 0.75546e-04_rb,0.30303e-03_rb,0.35410e-03_rb,0.34952e-03_rb,0.18741e-03_rb /) kbo(:, 3,53, 7) = (/ & & 0.86880e-04_rb,0.39464e-03_rb,0.46133e-03_rb,0.45049e-03_rb,0.22844e-03_rb /) kbo(:, 4,53, 7) = (/ & & 0.10061e-03_rb,0.52205e-03_rb,0.60866e-03_rb,0.59002e-03_rb,0.28045e-03_rb /) kbo(:, 5,53, 7) = (/ & & 0.11837e-03_rb,0.69424e-03_rb,0.80911e-03_rb,0.77763e-03_rb,0.34549e-03_rb /) kbo(:, 1,54, 7) = (/ & & 0.53194e-04_rb,0.19358e-03_rb,0.22554e-03_rb,0.22386e-03_rb,0.12634e-03_rb /) kbo(:, 2,54, 7) = (/ & & 0.61356e-04_rb,0.24774e-03_rb,0.28991e-03_rb,0.28698e-03_rb,0.15485e-03_rb /) kbo(:, 3,54, 7) = (/ & & 0.70732e-04_rb,0.32546e-03_rb,0.38104e-03_rb,0.37325e-03_rb,0.19067e-03_rb /) kbo(:, 4,54, 7) = (/ & & 0.81989e-04_rb,0.43475e-03_rb,0.50842e-03_rb,0.49348e-03_rb,0.23573e-03_rb /) kbo(:, 5,54, 7) = (/ & & 0.96606e-04_rb,0.58491e-03_rb,0.68358e-03_rb,0.65848e-03_rb,0.29331e-03_rb /) kbo(:, 1,55, 7) = (/ & & 0.42968e-04_rb,0.15774e-03_rb,0.18351e-03_rb,0.18209e-03_rb,0.10325e-03_rb /) kbo(:, 2,55, 7) = (/ & & 0.49757e-04_rb,0.20300e-03_rb,0.23752e-03_rb,0.23563e-03_rb,0.12786e-03_rb /) kbo(:, 3,55, 7) = (/ & & 0.57602e-04_rb,0.26853e-03_rb,0.31476e-03_rb,0.30938e-03_rb,0.15908e-03_rb /) kbo(:, 4,55, 7) = (/ & & 0.66944e-04_rb,0.36215e-03_rb,0.42458e-03_rb,0.41285e-03_rb,0.19867e-03_rb /) kbo(:, 5,55, 7) = (/ & & 0.78909e-04_rb,0.49332e-03_rb,0.57794e-03_rb,0.55775e-03_rb,0.24929e-03_rb /) kbo(:, 1,56, 7) = (/ & & 0.34572e-04_rb,0.12819e-03_rb,0.14868e-03_rb,0.14747e-03_rb,0.84103e-04_rb /) kbo(:, 2,56, 7) = (/ & & 0.40234e-04_rb,0.16586e-03_rb,0.19409e-03_rb,0.19266e-03_rb,0.10511e-03_rb /) kbo(:, 3,56, 7) = (/ & & 0.46756e-04_rb,0.22079e-03_rb,0.25905e-03_rb,0.25536e-03_rb,0.13228e-03_rb /) kbo(:, 4,56, 7) = (/ & & 0.54583e-04_rb,0.30103e-03_rb,0.35315e-03_rb,0.34421e-03_rb,0.16708e-03_rb /) kbo(:, 5,56, 7) = (/ & & 0.64414e-04_rb,0.41471e-03_rb,0.48701e-03_rb,0.47045e-03_rb,0.21139e-03_rb /) kbo(:, 1,57, 7) = (/ & & 0.27768e-04_rb,0.10391e-03_rb,0.12029e-03_rb,0.11888e-03_rb,0.68178e-04_rb /) kbo(:, 2,57, 7) = (/ & & 0.32463e-04_rb,0.13502e-03_rb,0.15785e-03_rb,0.15684e-03_rb,0.86073e-04_rb /) kbo(:, 3,57, 7) = (/ & & 0.37880e-04_rb,0.18114e-03_rb,0.21255e-03_rb,0.20984e-03_rb,0.10949e-03_rb /) kbo(:, 4,57, 7) = (/ & & 0.44374e-04_rb,0.24914e-03_rb,0.29262e-03_rb,0.28609e-03_rb,0.14004e-03_rb /) kbo(:, 5,57, 7) = (/ & & 0.52560e-04_rb,0.34723e-03_rb,0.40853e-03_rb,0.39531e-03_rb,0.17907e-03_rb /) kbo(:, 1,58, 7) = (/ & & 0.22293e-04_rb,0.84410e-04_rb,0.97318e-04_rb,0.95954e-04_rb,0.55246e-04_rb /) kbo(:, 2,58, 7) = (/ & & 0.26200e-04_rb,0.11013e-03_rb,0.12878e-03_rb,0.12778e-03_rb,0.70434e-04_rb /) kbo(:, 3,58, 7) = (/ & & 0.30694e-04_rb,0.14878e-03_rb,0.17475e-03_rb,0.17269e-03_rb,0.90681e-04_rb /) kbo(:, 4,58, 7) = (/ & & 0.36071e-04_rb,0.20666e-03_rb,0.24284e-03_rb,0.23795e-03_rb,0.11731e-03_rb /) kbo(:, 5,58, 7) = (/ & & 0.42845e-04_rb,0.29161e-03_rb,0.34322e-03_rb,0.33267e-03_rb,0.15208e-03_rb /) kbo(:, 1,59, 7) = (/ & & 0.18430e-04_rb,0.71706e-04_rb,0.82601e-04_rb,0.81289e-04_rb,0.46584e-04_rb /) kbo(:, 2,59, 7) = (/ & & 0.21734e-04_rb,0.94599e-04_rb,0.11060e-03_rb,0.10958e-03_rb,0.60168e-04_rb /) kbo(:, 3,59, 7) = (/ & & 0.25561e-04_rb,0.12924e-03_rb,0.15196e-03_rb,0.15008e-03_rb,0.78430e-04_rb /) kbo(:, 4,59, 7) = (/ & & 0.30185e-04_rb,0.18220e-03_rb,0.21420e-03_rb,0.20980e-03_rb,0.10280e-03_rb /) kbo(:, 5,59, 7) = (/ & & 0.36067e-04_rb,0.26061e-03_rb,0.30710e-03_rb,0.29739e-03_rb,0.13531e-03_rb /) kbo(:, 1,13, 8) = (/ & & 0.32299e+00_rb,0.54760e+00_rb,0.60079e+00_rb,0.58517e+00_rb,0.42276e+00_rb /) kbo(:, 2,13, 8) = (/ & & 0.32594e+00_rb,0.55963e+00_rb,0.61653e+00_rb,0.60147e+00_rb,0.43281e+00_rb /) kbo(:, 3,13, 8) = (/ & & 0.33056e+00_rb,0.57182e+00_rb,0.63236e+00_rb,0.61863e+00_rb,0.44149e+00_rb /) kbo(:, 4,13, 8) = (/ & & 0.33706e+00_rb,0.58426e+00_rb,0.64822e+00_rb,0.63489e+00_rb,0.44893e+00_rb /) kbo(:, 5,13, 8) = (/ & & 0.34635e+00_rb,0.59739e+00_rb,0.66343e+00_rb,0.65003e+00_rb,0.45486e+00_rb /) kbo(:, 1,14, 8) = (/ & & 0.27185e+00_rb,0.47396e+00_rb,0.52087e+00_rb,0.50518e+00_rb,0.35898e+00_rb /) kbo(:, 2,14, 8) = (/ & & 0.27455e+00_rb,0.48454e+00_rb,0.53473e+00_rb,0.52058e+00_rb,0.36725e+00_rb /) kbo(:, 3,14, 8) = (/ & & 0.27878e+00_rb,0.49523e+00_rb,0.54876e+00_rb,0.53556e+00_rb,0.37477e+00_rb /) kbo(:, 4,14, 8) = (/ & & 0.28540e+00_rb,0.50660e+00_rb,0.56244e+00_rb,0.54948e+00_rb,0.38095e+00_rb /) kbo(:, 5,14, 8) = (/ & & 0.29474e+00_rb,0.51876e+00_rb,0.57592e+00_rb,0.56255e+00_rb,0.38660e+00_rb /) kbo(:, 1,15, 8) = (/ & & 0.22818e+00_rb,0.40825e+00_rb,0.45003e+00_rb,0.43582e+00_rb,0.30350e+00_rb /) kbo(:, 2,15, 8) = (/ & & 0.23074e+00_rb,0.41749e+00_rb,0.46220e+00_rb,0.44930e+00_rb,0.31064e+00_rb /) kbo(:, 3,15, 8) = (/ & & 0.23510e+00_rb,0.42737e+00_rb,0.47434e+00_rb,0.46202e+00_rb,0.31696e+00_rb /) kbo(:, 4,15, 8) = (/ & & 0.24186e+00_rb,0.43783e+00_rb,0.48637e+00_rb,0.47387e+00_rb,0.32265e+00_rb /) kbo(:, 5,15, 8) = (/ & & 0.25121e+00_rb,0.44943e+00_rb,0.49855e+00_rb,0.48519e+00_rb,0.32816e+00_rb /) kbo(:, 1,16, 8) = (/ & & 0.19120e+00_rb,0.34975e+00_rb,0.38732e+00_rb,0.37509e+00_rb,0.25617e+00_rb /) kbo(:, 2,16, 8) = (/ & & 0.19385e+00_rb,0.35826e+00_rb,0.39799e+00_rb,0.38666e+00_rb,0.26259e+00_rb /) kbo(:, 3,16, 8) = (/ & & 0.19846e+00_rb,0.36727e+00_rb,0.40872e+00_rb,0.39750e+00_rb,0.26815e+00_rb /) kbo(:, 4,16, 8) = (/ & & 0.20537e+00_rb,0.37712e+00_rb,0.41954e+00_rb,0.40777e+00_rb,0.27330e+00_rb /) kbo(:, 5,16, 8) = (/ & & 0.21427e+00_rb,0.38868e+00_rb,0.43071e+00_rb,0.41784e+00_rb,0.27853e+00_rb /) kbo(:, 1,17, 8) = (/ & & 0.15988e+00_rb,0.29854e+00_rb,0.33180e+00_rb,0.32201e+00_rb,0.21611e+00_rb /) kbo(:, 2,17, 8) = (/ & & 0.16279e+00_rb,0.30628e+00_rb,0.34129e+00_rb,0.33188e+00_rb,0.22162e+00_rb /) kbo(:, 3,17, 8) = (/ & & 0.16763e+00_rb,0.31463e+00_rb,0.35085e+00_rb,0.34122e+00_rb,0.22664e+00_rb /) kbo(:, 4,17, 8) = (/ & & 0.17444e+00_rb,0.32432e+00_rb,0.36068e+00_rb,0.35032e+00_rb,0.23161e+00_rb /) kbo(:, 5,17, 8) = (/ & & 0.18274e+00_rb,0.33609e+00_rb,0.37140e+00_rb,0.35944e+00_rb,0.23665e+00_rb /) kbo(:, 1,18, 8) = (/ & & 0.13352e+00_rb,0.25404e+00_rb,0.28330e+00_rb,0.27577e+00_rb,0.18225e+00_rb /) kbo(:, 2,18, 8) = (/ & & 0.13667e+00_rb,0.26103e+00_rb,0.29171e+00_rb,0.28431e+00_rb,0.18712e+00_rb /) kbo(:, 3,18, 8) = (/ & & 0.14164e+00_rb,0.26910e+00_rb,0.30030e+00_rb,0.29254e+00_rb,0.19176e+00_rb /) kbo(:, 4,18, 8) = (/ & & 0.14809e+00_rb,0.27886e+00_rb,0.30959e+00_rb,0.30073e+00_rb,0.19637e+00_rb /) kbo(:, 5,18, 8) = (/ & & 0.15551e+00_rb,0.29050e+00_rb,0.32020e+00_rb,0.30930e+00_rb,0.20115e+00_rb /) kbo(:, 1,19, 8) = (/ & & 0.11177e+00_rb,0.21580e+00_rb,0.24136e+00_rb,0.23552e+00_rb,0.15392e+00_rb /) kbo(:, 2,19, 8) = (/ & & 0.11504e+00_rb,0.22243e+00_rb,0.24890e+00_rb,0.24304e+00_rb,0.15833e+00_rb /) kbo(:, 3,19, 8) = (/ & & 0.11975e+00_rb,0.23031e+00_rb,0.25687e+00_rb,0.25048e+00_rb,0.16244e+00_rb /) kbo(:, 4,19, 8) = (/ & & 0.12553e+00_rb,0.23994e+00_rb,0.26588e+00_rb,0.25812e+00_rb,0.16671e+00_rb /) kbo(:, 5,19, 8) = (/ & & 0.13204e+00_rb,0.25107e+00_rb,0.27639e+00_rb,0.26629e+00_rb,0.17110e+00_rb /) kbo(:, 1,20, 8) = (/ & & 0.93818e-01_rb,0.18336e+00_rb,0.20533e+00_rb,0.20083e+00_rb,0.13063e+00_rb /) kbo(:, 2,20, 8) = (/ & & 0.97153e-01_rb,0.18975e+00_rb,0.21222e+00_rb,0.20754e+00_rb,0.13445e+00_rb /) kbo(:, 3,20, 8) = (/ & & 0.10157e+00_rb,0.19759e+00_rb,0.21989e+00_rb,0.21439e+00_rb,0.13819e+00_rb /) kbo(:, 4,20, 8) = (/ & & 0.10656e+00_rb,0.20692e+00_rb,0.22885e+00_rb,0.22170e+00_rb,0.14200e+00_rb /) kbo(:, 5,20, 8) = (/ & & 0.11217e+00_rb,0.21741e+00_rb,0.23914e+00_rb,0.22972e+00_rb,0.14595e+00_rb /) kbo(:, 1,21, 8) = (/ & & 0.78864e-01_rb,0.15581e+00_rb,0.17467e+00_rb,0.17111e+00_rb,0.11093e+00_rb /) kbo(:, 2,21, 8) = (/ & & 0.82115e-01_rb,0.16213e+00_rb,0.18114e+00_rb,0.17722e+00_rb,0.11448e+00_rb /) kbo(:, 3,21, 8) = (/ & & 0.86091e-01_rb,0.16989e+00_rb,0.18858e+00_rb,0.18368e+00_rb,0.11795e+00_rb /) kbo(:, 4,21, 8) = (/ & & 0.90544e-01_rb,0.17883e+00_rb,0.19740e+00_rb,0.19075e+00_rb,0.12140e+00_rb /) kbo(:, 5,21, 8) = (/ & & 0.95531e-01_rb,0.18857e+00_rb,0.20719e+00_rb,0.19872e+00_rb,0.12494e+00_rb /) kbo(:, 1,22, 8) = (/ & & 0.66536e-01_rb,0.13293e+00_rb,0.14913e+00_rb,0.14618e+00_rb,0.94429e-01_rb /) kbo(:, 2,22, 8) = (/ & & 0.69639e-01_rb,0.13931e+00_rb,0.15537e+00_rb,0.15187e+00_rb,0.97680e-01_rb /) kbo(:, 3,22, 8) = (/ & & 0.73194e-01_rb,0.14688e+00_rb,0.16282e+00_rb,0.15805e+00_rb,0.10087e+00_rb /) kbo(:, 4,22, 8) = (/ & & 0.77205e-01_rb,0.15536e+00_rb,0.17135e+00_rb,0.16503e+00_rb,0.10414e+00_rb /) kbo(:, 5,22, 8) = (/ & & 0.81667e-01_rb,0.16427e+00_rb,0.18066e+00_rb,0.17291e+00_rb,0.10744e+00_rb /) kbo(:, 1,23, 8) = (/ & & 0.56261e-01_rb,0.11383e+00_rb,0.12760e+00_rb,0.12512e+00_rb,0.80559e-01_rb /) kbo(:, 2,23, 8) = (/ & & 0.59086e-01_rb,0.12014e+00_rb,0.13384e+00_rb,0.13048e+00_rb,0.83485e-01_rb /) kbo(:, 3,23, 8) = (/ & & 0.62281e-01_rb,0.12738e+00_rb,0.14121e+00_rb,0.13648e+00_rb,0.86460e-01_rb /) kbo(:, 4,23, 8) = (/ & & 0.65906e-01_rb,0.13517e+00_rb,0.14937e+00_rb,0.14336e+00_rb,0.89462e-01_rb /) kbo(:, 5,23, 8) = (/ & & 0.69998e-01_rb,0.14335e+00_rb,0.15807e+00_rb,0.15098e+00_rb,0.92588e-01_rb /) kbo(:, 1,24, 8) = (/ & & 0.47642e-01_rb,0.97933e-01_rb,0.10963e+00_rb,0.10742e+00_rb,0.68750e-01_rb /) kbo(:, 2,24, 8) = (/ & & 0.50193e-01_rb,0.10399e+00_rb,0.11587e+00_rb,0.11258e+00_rb,0.71432e-01_rb /) kbo(:, 3,24, 8) = (/ & & 0.53085e-01_rb,0.11077e+00_rb,0.12298e+00_rb,0.11845e+00_rb,0.74194e-01_rb /) kbo(:, 4,24, 8) = (/ & & 0.56384e-01_rb,0.11795e+00_rb,0.13070e+00_rb,0.12512e+00_rb,0.76973e-01_rb /) kbo(:, 5,24, 8) = (/ & & 0.60174e-01_rb,0.12555e+00_rb,0.13879e+00_rb,0.13237e+00_rb,0.79920e-01_rb /) kbo(:, 1,25, 8) = (/ & & 0.40432e-01_rb,0.84645e-01_rb,0.94724e-01_rb,0.92637e-01_rb,0.58805e-01_rb /) kbo(:, 2,25, 8) = (/ & & 0.42748e-01_rb,0.90409e-01_rb,0.10079e+00_rb,0.97654e-01_rb,0.61289e-01_rb /) kbo(:, 3,25, 8) = (/ & & 0.45392e-01_rb,0.96682e-01_rb,0.10756e+00_rb,0.10341e+00_rb,0.63818e-01_rb /) kbo(:, 4,25, 8) = (/ & & 0.48438e-01_rb,0.10335e+00_rb,0.11478e+00_rb,0.10978e+00_rb,0.66481e-01_rb /) kbo(:, 5,25, 8) = (/ & & 0.52019e-01_rb,0.11050e+00_rb,0.12234e+00_rb,0.11664e+00_rb,0.69209e-01_rb /) kbo(:, 1,26, 8) = (/ & & 0.34430e-01_rb,0.73567e-01_rb,0.82349e-01_rb,0.80341e-01_rb,0.50485e-01_rb /) kbo(:, 2,26, 8) = (/ & & 0.36558e-01_rb,0.78997e-01_rb,0.88163e-01_rb,0.85293e-01_rb,0.52835e-01_rb /) kbo(:, 3,26, 8) = (/ & & 0.39009e-01_rb,0.84818e-01_rb,0.94521e-01_rb,0.90851e-01_rb,0.55181e-01_rb /) kbo(:, 4,26, 8) = (/ & & 0.41876e-01_rb,0.91074e-01_rb,0.10127e+00_rb,0.96922e-01_rb,0.57644e-01_rb /) kbo(:, 5,26, 8) = (/ & & 0.45294e-01_rb,0.97874e-01_rb,0.10841e+00_rb,0.10340e+00_rb,0.60258e-01_rb /) kbo(:, 1,27, 8) = (/ & & 0.29418e-01_rb,0.64289e-01_rb,0.71984e-01_rb,0.70112e-01_rb,0.43514e-01_rb /) kbo(:, 2,27, 8) = (/ & & 0.31367e-01_rb,0.69333e-01_rb,0.77500e-01_rb,0.74945e-01_rb,0.45654e-01_rb /) kbo(:, 3,27, 8) = (/ & & 0.33650e-01_rb,0.74779e-01_rb,0.83451e-01_rb,0.80284e-01_rb,0.47838e-01_rb /) kbo(:, 4,27, 8) = (/ & & 0.36373e-01_rb,0.80698e-01_rb,0.89803e-01_rb,0.86035e-01_rb,0.50188e-01_rb /) kbo(:, 5,27, 8) = (/ & & 0.39625e-01_rb,0.87227e-01_rb,0.96605e-01_rb,0.92163e-01_rb,0.52661e-01_rb /) kbo(:, 1,28, 8) = (/ & & 0.25206e-01_rb,0.56436e-01_rb,0.63282e-01_rb,0.61571e-01_rb,0.37602e-01_rb /) kbo(:, 2,28, 8) = (/ & & 0.27009e-01_rb,0.61147e-01_rb,0.68481e-01_rb,0.66237e-01_rb,0.39562e-01_rb /) kbo(:, 3,28, 8) = (/ & & 0.29150e-01_rb,0.66302e-01_rb,0.74074e-01_rb,0.71341e-01_rb,0.41601e-01_rb /) kbo(:, 4,28, 8) = (/ & & 0.31750e-01_rb,0.71955e-01_rb,0.80104e-01_rb,0.76785e-01_rb,0.43794e-01_rb /) kbo(:, 5,28, 8) = (/ & & 0.34834e-01_rb,0.78268e-01_rb,0.86662e-01_rb,0.82632e-01_rb,0.46193e-01_rb /) kbo(:, 1,29, 8) = (/ & & 0.21672e-01_rb,0.49821e-01_rb,0.55985e-01_rb,0.54431e-01_rb,0.32677e-01_rb /) kbo(:, 2,29, 8) = (/ & & 0.23360e-01_rb,0.54257e-01_rb,0.60871e-01_rb,0.58918e-01_rb,0.34453e-01_rb /) kbo(:, 3,29, 8) = (/ & & 0.25420e-01_rb,0.59159e-01_rb,0.66168e-01_rb,0.63765e-01_rb,0.36398e-01_rb /) kbo(:, 4,29, 8) = (/ & & 0.27908e-01_rb,0.64629e-01_rb,0.71935e-01_rb,0.68977e-01_rb,0.38490e-01_rb /) kbo(:, 5,29, 8) = (/ & & 0.30843e-01_rb,0.70791e-01_rb,0.78323e-01_rb,0.74610e-01_rb,0.40747e-01_rb /) kbo(:, 1,30, 8) = (/ & & 0.18703e-01_rb,0.44236e-01_rb,0.49819e-01_rb,0.48423e-01_rb,0.28503e-01_rb /) kbo(:, 2,30, 8) = (/ & & 0.20315e-01_rb,0.48445e-01_rb,0.54425e-01_rb,0.52720e-01_rb,0.30174e-01_rb /) kbo(:, 3,30, 8) = (/ & & 0.22307e-01_rb,0.53163e-01_rb,0.59481e-01_rb,0.57359e-01_rb,0.32018e-01_rb /) kbo(:, 4,30, 8) = (/ & & 0.24687e-01_rb,0.58495e-01_rb,0.65064e-01_rb,0.62368e-01_rb,0.34022e-01_rb /) kbo(:, 5,30, 8) = (/ & & 0.27510e-01_rb,0.64597e-01_rb,0.71352e-01_rb,0.67860e-01_rb,0.36243e-01_rb /) kbo(:, 1,31, 8) = (/ & & 0.16227e-01_rb,0.39546e-01_rb,0.44613e-01_rb,0.43384e-01_rb,0.24947e-01_rb /) kbo(:, 2,31, 8) = (/ & & 0.17791e-01_rb,0.43576e-01_rb,0.49010e-01_rb,0.47501e-01_rb,0.26577e-01_rb /) kbo(:, 3,31, 8) = (/ & & 0.19720e-01_rb,0.48163e-01_rb,0.53877e-01_rb,0.51962e-01_rb,0.28347e-01_rb /) kbo(:, 4,31, 8) = (/ & & 0.22010e-01_rb,0.53419e-01_rb,0.59368e-01_rb,0.56842e-01_rb,0.30326e-01_rb /) kbo(:, 5,31, 8) = (/ & & 0.24778e-01_rb,0.59533e-01_rb,0.65582e-01_rb,0.62279e-01_rb,0.32464e-01_rb /) kbo(:, 1,32, 8) = (/ & & 0.14168e-01_rb,0.35610e-01_rb,0.40228e-01_rb,0.39145e-01_rb,0.21998e-01_rb /) kbo(:, 2,32, 8) = (/ & & 0.15701e-01_rb,0.39518e-01_rb,0.44455e-01_rb,0.43108e-01_rb,0.23551e-01_rb /) kbo(:, 3,32, 8) = (/ & & 0.17568e-01_rb,0.44028e-01_rb,0.49228e-01_rb,0.47442e-01_rb,0.25303e-01_rb /) kbo(:, 4,32, 8) = (/ & & 0.19822e-01_rb,0.49274e-01_rb,0.54644e-01_rb,0.52269e-01_rb,0.27219e-01_rb /) kbo(:, 5,32, 8) = (/ & & 0.22492e-01_rb,0.55429e-01_rb,0.60878e-01_rb,0.57696e-01_rb,0.29289e-01_rb /) kbo(:, 1,33, 8) = (/ & & 0.12469e-01_rb,0.32321e-01_rb,0.36548e-01_rb,0.35586e-01_rb,0.19535e-01_rb /) kbo(:, 2,33, 8) = (/ & & 0.13967e-01_rb,0.36160e-01_rb,0.40670e-01_rb,0.39414e-01_rb,0.21057e-01_rb /) kbo(:, 3,33, 8) = (/ & & 0.15804e-01_rb,0.40646e-01_rb,0.45371e-01_rb,0.43697e-01_rb,0.22748e-01_rb /) kbo(:, 4,33, 8) = (/ & & 0.18007e-01_rb,0.45935e-01_rb,0.50790e-01_rb,0.48504e-01_rb,0.24589e-01_rb /) kbo(:, 5,33, 8) = (/ & & 0.20583e-01_rb,0.52117e-01_rb,0.57083e-01_rb,0.53949e-01_rb,0.26612e-01_rb /) kbo(:, 1,34, 8) = (/ & & 0.11030e-01_rb,0.29462e-01_rb,0.33333e-01_rb,0.32457e-01_rb,0.17441e-01_rb /) kbo(:, 2,34, 8) = (/ & & 0.12485e-01_rb,0.33252e-01_rb,0.37374e-01_rb,0.36203e-01_rb,0.18902e-01_rb /) kbo(:, 3,34, 8) = (/ & & 0.14284e-01_rb,0.37735e-01_rb,0.42039e-01_rb,0.40449e-01_rb,0.20533e-01_rb /) kbo(:, 4,34, 8) = (/ & & 0.16406e-01_rb,0.43050e-01_rb,0.47473e-01_rb,0.45250e-01_rb,0.22315e-01_rb /) kbo(:, 5,34, 8) = (/ & & 0.18889e-01_rb,0.49221e-01_rb,0.53838e-01_rb,0.50709e-01_rb,0.24295e-01_rb /) kbo(:, 1,35, 8) = (/ & & 0.97045e-02_rb,0.26765e-01_rb,0.30294e-01_rb,0.29494e-01_rb,0.15527e-01_rb /) kbo(:, 2,35, 8) = (/ & & 0.11116e-01_rb,0.30471e-01_rb,0.34237e-01_rb,0.33156e-01_rb,0.16936e-01_rb /) kbo(:, 3,35, 8) = (/ & & 0.12833e-01_rb,0.34908e-01_rb,0.38827e-01_rb,0.37335e-01_rb,0.18494e-01_rb /) kbo(:, 4,35, 8) = (/ & & 0.14851e-01_rb,0.40160e-01_rb,0.44228e-01_rb,0.42095e-01_rb,0.20230e-01_rb /) kbo(:, 5,35, 8) = (/ & & 0.17220e-01_rb,0.46275e-01_rb,0.50600e-01_rb,0.47524e-01_rb,0.22137e-01_rb /) kbo(:, 1,36, 8) = (/ & & 0.84787e-02_rb,0.24131e-01_rb,0.27339e-01_rb,0.26619e-01_rb,0.13756e-01_rb /) kbo(:, 2,36, 8) = (/ & & 0.98033e-02_rb,0.27706e-01_rb,0.31147e-01_rb,0.30166e-01_rb,0.15106e-01_rb /) kbo(:, 3,36, 8) = (/ & & 0.11407e-01_rb,0.32015e-01_rb,0.35610e-01_rb,0.34239e-01_rb,0.16593e-01_rb /) kbo(:, 4,36, 8) = (/ & & 0.13302e-01_rb,0.37140e-01_rb,0.40907e-01_rb,0.38904e-01_rb,0.18257e-01_rb /) kbo(:, 5,36, 8) = (/ & & 0.15537e-01_rb,0.43129e-01_rb,0.47182e-01_rb,0.44236e-01_rb,0.20074e-01_rb /) kbo(:, 1,37, 8) = (/ & & 0.72685e-02_rb,0.21392e-01_rb,0.24301e-01_rb,0.23679e-01_rb,0.12087e-01_rb /) kbo(:, 2,37, 8) = (/ & & 0.84733e-02_rb,0.24759e-01_rb,0.27898e-01_rb,0.27046e-01_rb,0.13342e-01_rb /) kbo(:, 3,37, 8) = (/ & & 0.99353e-02_rb,0.28848e-01_rb,0.32152e-01_rb,0.30940e-01_rb,0.14748e-01_rb /) kbo(:, 4,37, 8) = (/ & & 0.11673e-01_rb,0.33734e-01_rb,0.37224e-01_rb,0.35422e-01_rb,0.16319e-01_rb /) kbo(:, 5,37, 8) = (/ & & 0.13740e-01_rb,0.39481e-01_rb,0.43256e-01_rb,0.40566e-01_rb,0.18049e-01_rb /) kbo(:, 1,38, 8) = (/ & & 0.62326e-02_rb,0.18999e-01_rb,0.21644e-01_rb,0.21103e-01_rb,0.10629e-01_rb /) kbo(:, 2,38, 8) = (/ & & 0.73269e-02_rb,0.22170e-01_rb,0.25042e-01_rb,0.24299e-01_rb,0.11807e-01_rb /) kbo(:, 3,38, 8) = (/ & & 0.86586e-02_rb,0.26045e-01_rb,0.29098e-01_rb,0.28019e-01_rb,0.13138e-01_rb /) kbo(:, 4,38, 8) = (/ & & 0.10254e-01_rb,0.30699e-01_rb,0.33952e-01_rb,0.32316e-01_rb,0.14621e-01_rb /) kbo(:, 5,38, 8) = (/ & & 0.12168e-01_rb,0.36211e-01_rb,0.39748e-01_rb,0.37288e-01_rb,0.16263e-01_rb /) kbo(:, 1,39, 8) = (/ & & 0.53522e-02_rb,0.16925e-01_rb,0.19337e-01_rb,0.18863e-01_rb,0.93697e-02_rb /) kbo(:, 2,39, 8) = (/ & & 0.63437e-02_rb,0.19916e-01_rb,0.22555e-01_rb,0.21900e-01_rb,0.10477e-01_rb /) kbo(:, 3,39, 8) = (/ & & 0.75600e-02_rb,0.23590e-01_rb,0.26428e-01_rb,0.25453e-01_rb,0.11732e-01_rb /) kbo(:, 4,39, 8) = (/ & & 0.90277e-02_rb,0.28027e-01_rb,0.31081e-01_rb,0.29581e-01_rb,0.13140e-01_rb /) kbo(:, 5,39, 8) = (/ & & 0.10804e-01_rb,0.33325e-01_rb,0.36655e-01_rb,0.34396e-01_rb,0.14714e-01_rb /) kbo(:, 1,40, 8) = (/ & & 0.45183e-02_rb,0.14862e-01_rb,0.17043e-01_rb,0.16640e-01_rb,0.81906e-02_rb /) kbo(:, 2,40, 8) = (/ & & 0.53964e-02_rb,0.17630e-01_rb,0.20043e-01_rb,0.19482e-01_rb,0.92335e-02_rb /) kbo(:, 3,40, 8) = (/ & & 0.64835e-02_rb,0.21041e-01_rb,0.23674e-01_rb,0.22821e-01_rb,0.10400e-01_rb /) kbo(:, 4,40, 8) = (/ & & 0.78100e-02_rb,0.25197e-01_rb,0.28056e-01_rb,0.26733e-01_rb,0.11718e-01_rb /) kbo(:, 5,40, 8) = (/ & & 0.94310e-02_rb,0.30203e-01_rb,0.33322e-01_rb,0.31321e-01_rb,0.13209e-01_rb /) kbo(:, 1,41, 8) = (/ & & 0.38020e-02_rb,0.13035e-01_rb,0.15007e-01_rb,0.14665e-01_rb,0.71645e-02_rb /) kbo(:, 2,41, 8) = (/ & & 0.45796e-02_rb,0.15592e-01_rb,0.17802e-01_rb,0.17320e-01_rb,0.81332e-02_rb /) kbo(:, 3,41, 8) = (/ & & 0.55464e-02_rb,0.18749e-01_rb,0.21191e-01_rb,0.20448e-01_rb,0.92312e-02_rb /) kbo(:, 4,41, 8) = (/ & & 0.67408e-02_rb,0.22629e-01_rb,0.25309e-01_rb,0.24143e-01_rb,0.10458e-01_rb /) kbo(:, 5,41, 8) = (/ & & 0.82155e-02_rb,0.27347e-01_rb,0.30277e-01_rb,0.28506e-01_rb,0.11871e-01_rb /) kbo(:, 1,42, 8) = (/ & & 0.31962e-02_rb,0.11444e-01_rb,0.13229e-01_rb,0.12937e-01_rb,0.62788e-02_rb /) kbo(:, 2,42, 8) = (/ & & 0.38815e-02_rb,0.13798e-01_rb,0.15822e-01_rb,0.15407e-01_rb,0.71774e-02_rb /) kbo(:, 3,42, 8) = (/ & & 0.47422e-02_rb,0.16722e-01_rb,0.18990e-01_rb,0.18339e-01_rb,0.81986e-02_rb /) kbo(:, 4,42, 8) = (/ & & 0.58154e-02_rb,0.20342e-01_rb,0.22857e-01_rb,0.21830e-01_rb,0.93594e-02_rb /) kbo(:, 5,42, 8) = (/ & & 0.71546e-02_rb,0.24787e-01_rb,0.27545e-01_rb,0.25973e-01_rb,0.10684e-01_rb /) kbo(:, 1,43, 8) = (/ & & 0.26542e-02_rb,0.99421e-02_rb,0.11545e-01_rb,0.11297e-01_rb,0.54681e-02_rb /) kbo(:, 2,43, 8) = (/ & & 0.32467e-02_rb,0.12085e-01_rb,0.13926e-01_rb,0.13575e-01_rb,0.63017e-02_rb /) kbo(:, 3,43, 8) = (/ & & 0.40037e-02_rb,0.14758e-01_rb,0.16848e-01_rb,0.16296e-01_rb,0.72434e-02_rb /) kbo(:, 4,43, 8) = (/ & & 0.49534e-02_rb,0.18094e-01_rb,0.20438e-01_rb,0.19556e-01_rb,0.83354e-02_rb /) kbo(:, 5,43, 8) = (/ & & 0.61525e-02_rb,0.22230e-01_rb,0.24817e-01_rb,0.23450e-01_rb,0.95751e-02_rb /) kbo(:, 1,44, 8) = (/ & & 0.21881e-02_rb,0.85857e-02_rb,0.10019e-01_rb,0.98043e-02_rb,0.47456e-02_rb /) kbo(:, 2,44, 8) = (/ & & 0.26937e-02_rb,0.10525e-01_rb,0.12192e-01_rb,0.11898e-01_rb,0.55168e-02_rb /) kbo(:, 3,44, 8) = (/ & & 0.33531e-02_rb,0.12952e-01_rb,0.14870e-01_rb,0.14408e-01_rb,0.63938e-02_rb /) kbo(:, 4,44, 8) = (/ & & 0.41916e-02_rb,0.16016e-01_rb,0.18187e-01_rb,0.17441e-01_rb,0.73995e-02_rb /) kbo(:, 5,44, 8) = (/ & & 0.52529e-02_rb,0.19825e-01_rb,0.22245e-01_rb,0.21074e-01_rb,0.85693e-02_rb /) kbo(:, 1,45, 8) = (/ & & 0.17974e-02_rb,0.74036e-02_rb,0.86819e-02_rb,0.84949e-02_rb,0.41100e-02_rb /) kbo(:, 2,45, 8) = (/ & & 0.22283e-02_rb,0.91556e-02_rb,0.10664e-01_rb,0.10414e-01_rb,0.48257e-02_rb /) kbo(:, 3,45, 8) = (/ & & 0.27993e-02_rb,0.11360e-01_rb,0.13115e-01_rb,0.12731e-01_rb,0.56423e-02_rb /) kbo(:, 4,45, 8) = (/ & & 0.35358e-02_rb,0.14164e-01_rb,0.16170e-01_rb,0.15543e-01_rb,0.65867e-02_rb /) kbo(:, 5,45, 8) = (/ & & 0.44762e-02_rb,0.17671e-01_rb,0.19928e-01_rb,0.18931e-01_rb,0.76725e-02_rb /) kbo(:, 1,46, 8) = (/ & & 0.14666e-02_rb,0.63443e-02_rb,0.74710e-02_rb,0.73099e-02_rb,0.35540e-02_rb /) kbo(:, 2,46, 8) = (/ & & 0.18286e-02_rb,0.79140e-02_rb,0.92719e-02_rb,0.90588e-02_rb,0.41981e-02_rb /) kbo(:, 3,46, 8) = (/ & & 0.23196e-02_rb,0.99089e-02_rb,0.11508e-01_rb,0.11192e-01_rb,0.49656e-02_rb /) kbo(:, 4,46, 8) = (/ & & 0.29575e-02_rb,0.12451e-01_rb,0.14296e-01_rb,0.13779e-01_rb,0.58441e-02_rb /) kbo(:, 5,46, 8) = (/ & & 0.37842e-02_rb,0.15662e-01_rb,0.17758e-01_rb,0.16921e-01_rb,0.68660e-02_rb /) kbo(:, 1,47, 8) = (/ & & 0.11822e-02_rb,0.53700e-02_rb,0.63483e-02_rb,0.62090e-02_rb,0.30500e-02_rb /) kbo(:, 2,47, 8) = (/ & & 0.14817e-02_rb,0.67616e-02_rb,0.79678e-02_rb,0.77874e-02_rb,0.36317e-02_rb /) kbo(:, 3,47, 8) = (/ & & 0.18918e-02_rb,0.85392e-02_rb,0.99818e-02_rb,0.97254e-02_rb,0.43248e-02_rb /) kbo(:, 4,47, 8) = (/ & & 0.24382e-02_rb,0.10820e-01_rb,0.12503e-01_rb,0.12088e-01_rb,0.51477e-02_rb /) kbo(:, 5,47, 8) = (/ & & 0.31533e-02_rb,0.13725e-01_rb,0.15656e-01_rb,0.14970e-01_rb,0.61000e-02_rb /) kbo(:, 1,48, 8) = (/ & & 0.94906e-03_rb,0.45298e-02_rb,0.53706e-02_rb,0.52506e-02_rb,0.26162e-02_rb /) kbo(:, 2,48, 8) = (/ & & 0.11965e-02_rb,0.57597e-02_rb,0.68213e-02_rb,0.66698e-02_rb,0.31403e-02_rb /) kbo(:, 3,48, 8) = (/ & & 0.15369e-02_rb,0.73380e-02_rb,0.86368e-02_rb,0.84246e-02_rb,0.37687e-02_rb /) kbo(:, 4,48, 8) = (/ & & 0.20008e-02_rb,0.93814e-02_rb,0.10911e-01_rb,0.10580e-01_rb,0.45213e-02_rb /) kbo(:, 5,48, 8) = (/ & & 0.26159e-02_rb,0.12002e-01_rb,0.13774e-01_rb,0.13221e-01_rb,0.54142e-02_rb /) kbo(:, 1,49, 8) = (/ & & 0.75913e-03_rb,0.38043e-02_rb,0.45203e-02_rb,0.44181e-02_rb,0.22379e-02_rb /) kbo(:, 2,49, 8) = (/ & & 0.96097e-03_rb,0.48899e-02_rb,0.58138e-02_rb,0.56878e-02_rb,0.27098e-02_rb /) kbo(:, 3,49, 8) = (/ & & 0.12447e-02_rb,0.62895e-02_rb,0.74501e-02_rb,0.72727e-02_rb,0.32859e-02_rb /) kbo(:, 4,49, 8) = (/ & & 0.16322e-02_rb,0.81122e-02_rb,0.94989e-02_rb,0.92349e-02_rb,0.39720e-02_rb /) kbo(:, 5,49, 8) = (/ & & 0.21597e-02_rb,0.10470e-01_rb,0.12092e-01_rb,0.11650e-01_rb,0.47938e-02_rb /) kbo(:, 1,50, 8) = (/ & & 0.60949e-03_rb,0.32009e-02_rb,0.38080e-02_rb,0.37204e-02_rb,0.19148e-02_rb /) kbo(:, 2,50, 8) = (/ & & 0.77332e-03_rb,0.41637e-02_rb,0.49658e-02_rb,0.48588e-02_rb,0.23498e-02_rb /) kbo(:, 3,50, 8) = (/ & & 0.10099e-02_rb,0.54095e-02_rb,0.64416e-02_rb,0.62938e-02_rb,0.28713e-02_rb /) kbo(:, 4,50, 8) = (/ & & 0.13353e-02_rb,0.70417e-02_rb,0.83004e-02_rb,0.80844e-02_rb,0.35114e-02_rb /) kbo(:, 5,50, 8) = (/ & & 0.17873e-02_rb,0.91691e-02_rb,0.10658e-01_rb,0.10303e-01_rb,0.42641e-02_rb /) kbo(:, 1,51, 8) = (/ & & 0.48960e-03_rb,0.26873e-02_rb,0.32008e-02_rb,0.31259e-02_rb,0.16378e-02_rb /) kbo(:, 2,51, 8) = (/ & & 0.62187e-03_rb,0.35423e-02_rb,0.42349e-02_rb,0.41443e-02_rb,0.20325e-02_rb /) kbo(:, 3,51, 8) = (/ & & 0.81788e-03_rb,0.46529e-02_rb,0.55656e-02_rb,0.54424e-02_rb,0.25164e-02_rb /) kbo(:, 4,51, 8) = (/ & & 0.10935e-02_rb,0.61155e-02_rb,0.72565e-02_rb,0.70765e-02_rb,0.31007e-02_rb /) kbo(:, 5,51, 8) = (/ & & 0.14776e-02_rb,0.80416e-02_rb,0.94087e-02_rb,0.91197e-02_rb,0.38085e-02_rb /) kbo(:, 1,52, 8) = (/ & & 0.39302e-03_rb,0.22435e-02_rb,0.26754e-02_rb,0.26122e-02_rb,0.13898e-02_rb /) kbo(:, 2,52, 8) = (/ & & 0.49889e-03_rb,0.30006e-02_rb,0.35943e-02_rb,0.35172e-02_rb,0.17532e-02_rb /) kbo(:, 3,52, 8) = (/ & & 0.65922e-03_rb,0.39906e-02_rb,0.47901e-02_rb,0.46880e-02_rb,0.21980e-02_rb /) kbo(:, 4,52, 8) = (/ & & 0.89075e-03_rb,0.52980e-02_rb,0.63237e-02_rb,0.61748e-02_rb,0.27412e-02_rb /) kbo(:, 5,52, 8) = (/ & & 0.12150e-02_rb,0.70312e-02_rb,0.82837e-02_rb,0.80497e-02_rb,0.33956e-02_rb /) kbo(:, 1,53, 8) = (/ & & 0.31533e-03_rb,0.18598e-02_rb,0.22216e-02_rb,0.21690e-02_rb,0.11705e-02_rb /) kbo(:, 2,53, 8) = (/ & & 0.39919e-03_rb,0.25290e-02_rb,0.30338e-02_rb,0.29679e-02_rb,0.15051e-02_rb /) kbo(:, 3,53, 8) = (/ & & 0.52958e-03_rb,0.34096e-02_rb,0.41030e-02_rb,0.40189e-02_rb,0.19137e-02_rb /) kbo(:, 4,53, 8) = (/ & & 0.72147e-03_rb,0.45756e-02_rb,0.54894e-02_rb,0.53678e-02_rb,0.24147e-02_rb /) kbo(:, 5,53, 8) = (/ & & 0.99563e-03_rb,0.61321e-02_rb,0.72739e-02_rb,0.70826e-02_rb,0.30286e-02_rb /) kbo(:, 1,54, 8) = (/ & & 0.25434e-03_rb,0.15477e-02_rb,0.18502e-02_rb,0.18075e-02_rb,0.98891e-03_rb /) kbo(:, 2,54, 8) = (/ & & 0.32221e-03_rb,0.21398e-02_rb,0.25708e-02_rb,0.25148e-02_rb,0.12935e-02_rb /) kbo(:, 3,54, 8) = (/ & & 0.42775e-03_rb,0.29272e-02_rb,0.35315e-02_rb,0.34599e-02_rb,0.16741e-02_rb /) kbo(:, 4,54, 8) = (/ & & 0.58762e-03_rb,0.39761e-02_rb,0.47907e-02_rb,0.46896e-02_rb,0.21376e-02_rb /) kbo(:, 5,54, 8) = (/ & & 0.82053e-03_rb,0.53824e-02_rb,0.64244e-02_rb,0.62664e-02_rb,0.27173e-02_rb /) kbo(:, 1,55, 8) = (/ & & 0.20618e-03_rb,0.12866e-02_rb,0.15400e-02_rb,0.15055e-02_rb,0.83572e-03_rb /) kbo(:, 2,55, 8) = (/ & & 0.26059e-03_rb,0.18094e-02_rb,0.21787e-02_rb,0.21302e-02_rb,0.11090e-02_rb /) kbo(:, 3,55, 8) = (/ & & 0.34651e-03_rb,0.25140e-02_rb,0.30392e-02_rb,0.29780e-02_rb,0.14628e-02_rb /) kbo(:, 4,55, 8) = (/ & & 0.47882e-03_rb,0.34608e-02_rb,0.41831e-02_rb,0.41003e-02_rb,0.18992e-02_rb /) kbo(:, 5,55, 8) = (/ & & 0.67671e-03_rb,0.47331e-02_rb,0.56817e-02_rb,0.55503e-02_rb,0.24360e-02_rb /) kbo(:, 1,56, 8) = (/ & & 0.16681e-03_rb,0.10621e-02_rb,0.12728e-02_rb,0.12461e-02_rb,0.70162e-03_rb /) kbo(:, 2,56, 8) = (/ & & 0.21064e-03_rb,0.15213e-02_rb,0.18350e-02_rb,0.17945e-02_rb,0.94828e-03_rb /) kbo(:, 3,56, 8) = (/ & & 0.28028e-03_rb,0.21500e-02_rb,0.26045e-02_rb,0.25521e-02_rb,0.12721e-02_rb /) kbo(:, 4,56, 8) = (/ & & 0.38906e-03_rb,0.30029e-02_rb,0.36387e-02_rb,0.35710e-02_rb,0.16833e-02_rb /) kbo(:, 5,56, 8) = (/ & & 0.55568e-03_rb,0.41534e-02_rb,0.50111e-02_rb,0.49027e-02_rb,0.21849e-02_rb /) kbo(:, 1,57, 8) = (/ & & 0.13484e-03_rb,0.87168e-03_rb,0.10444e-02_rb,0.10248e-02_rb,0.58516e-03_rb /) kbo(:, 2,57, 8) = (/ & & 0.17007e-03_rb,0.12717e-02_rb,0.15360e-02_rb,0.15024e-02_rb,0.80805e-03_rb /) kbo(:, 3,57, 8) = (/ & & 0.22603e-03_rb,0.18296e-02_rb,0.22211e-02_rb,0.21757e-02_rb,0.11006e-02_rb /) kbo(:, 4,57, 8) = (/ & & 0.31565e-03_rb,0.25963e-02_rb,0.31531e-02_rb,0.30959e-02_rb,0.14851e-02_rb /) kbo(:, 5,57, 8) = (/ & & 0.45417e-03_rb,0.36365e-02_rb,0.44058e-02_rb,0.43157e-02_rb,0.19625e-02_rb /) kbo(:, 1,58, 8) = (/ & & 0.10938e-03_rb,0.71449e-03_rb,0.85655e-03_rb,0.84240e-03_rb,0.48772e-03_rb /) kbo(:, 2,58, 8) = (/ & & 0.13752e-03_rb,0.10624e-02_rb,0.12849e-02_rb,0.12583e-02_rb,0.68689e-03_rb /) kbo(:, 3,58, 8) = (/ & & 0.18307e-03_rb,0.15572e-02_rb,0.18954e-02_rb,0.18566e-02_rb,0.95344e-03_rb /) kbo(:, 4,58, 8) = (/ & & 0.25673e-03_rb,0.22481e-02_rb,0.27363e-02_rb,0.26877e-02_rb,0.13079e-02_rb /) kbo(:, 5,58, 8) = (/ & & 0.37230e-03_rb,0.31921e-02_rb,0.38812e-02_rb,0.38070e-02_rb,0.17570e-02_rb /) kbo(:, 1,59, 8) = (/ & & 0.92153e-04_rb,0.62798e-03_rb,0.75374e-03_rb,0.74243e-03_rb,0.43161e-03_rb /) kbo(:, 2,59, 8) = (/ & & 0.11676e-03_rb,0.95019e-03_rb,0.11525e-02_rb,0.11296e-02_rb,0.61959e-03_rb /) kbo(:, 3,59, 8) = (/ & & 0.15687e-03_rb,0.14168e-02_rb,0.17285e-02_rb,0.16938e-02_rb,0.87468e-03_rb /) kbo(:, 4,59, 8) = (/ & & 0.22278e-03_rb,0.20743e-02_rb,0.25302e-02_rb,0.24863e-02_rb,0.12161e-02_rb /) kbo(:, 5,59, 8) = (/ & & 0.32724e-03_rb,0.29797e-02_rb,0.36313e-02_rb,0.35664e-02_rb,0.16577e-02_rb /) kbo(:, 1,13, 9) = (/ & & 0.16403e+01_rb,0.27290e+01_rb,0.31326e+01_rb,0.31890e+01_rb,0.23307e+01_rb /) kbo(:, 2,13, 9) = (/ & & 0.16862e+01_rb,0.27611e+01_rb,0.31617e+01_rb,0.32226e+01_rb,0.23816e+01_rb /) kbo(:, 3,13, 9) = (/ & & 0.17455e+01_rb,0.28101e+01_rb,0.32005e+01_rb,0.32552e+01_rb,0.24291e+01_rb /) kbo(:, 4,13, 9) = (/ & & 0.18100e+01_rb,0.28758e+01_rb,0.32471e+01_rb,0.32901e+01_rb,0.24729e+01_rb /) kbo(:, 5,13, 9) = (/ & & 0.18736e+01_rb,0.29528e+01_rb,0.33027e+01_rb,0.33291e+01_rb,0.25126e+01_rb /) kbo(:, 1,14, 9) = (/ & & 0.14276e+01_rb,0.24116e+01_rb,0.27645e+01_rb,0.28207e+01_rb,0.20786e+01_rb /) kbo(:, 2,14, 9) = (/ & & 0.14761e+01_rb,0.24553e+01_rb,0.28027e+01_rb,0.28564e+01_rb,0.21275e+01_rb /) kbo(:, 3,14, 9) = (/ & & 0.15303e+01_rb,0.25161e+01_rb,0.28501e+01_rb,0.28940e+01_rb,0.21750e+01_rb /) kbo(:, 4,14, 9) = (/ & & 0.15845e+01_rb,0.25879e+01_rb,0.29061e+01_rb,0.29354e+01_rb,0.22167e+01_rb /) kbo(:, 5,14, 9) = (/ & & 0.16378e+01_rb,0.26632e+01_rb,0.29707e+01_rb,0.29827e+01_rb,0.22552e+01_rb /) kbo(:, 1,15, 9) = (/ & & 0.12454e+01_rb,0.21329e+01_rb,0.24382e+01_rb,0.24839e+01_rb,0.18332e+01_rb /) kbo(:, 2,15, 9) = (/ & & 0.12895e+01_rb,0.21869e+01_rb,0.24841e+01_rb,0.25234e+01_rb,0.18816e+01_rb /) kbo(:, 3,15, 9) = (/ & & 0.13344e+01_rb,0.22528e+01_rb,0.25385e+01_rb,0.25663e+01_rb,0.19251e+01_rb /) kbo(:, 4,15, 9) = (/ & & 0.13794e+01_rb,0.23234e+01_rb,0.26021e+01_rb,0.26153e+01_rb,0.19652e+01_rb /) kbo(:, 5,15, 9) = (/ & & 0.14250e+01_rb,0.23931e+01_rb,0.26727e+01_rb,0.26688e+01_rb,0.20043e+01_rb /) kbo(:, 1,16, 9) = (/ & & 0.10848e+01_rb,0.18880e+01_rb,0.21511e+01_rb,0.21813e+01_rb,0.16071e+01_rb /) kbo(:, 2,16, 9) = (/ & & 0.11214e+01_rb,0.19471e+01_rb,0.22027e+01_rb,0.22246e+01_rb,0.16520e+01_rb /) kbo(:, 3,16, 9) = (/ & & 0.11587e+01_rb,0.20122e+01_rb,0.22636e+01_rb,0.22737e+01_rb,0.16924e+01_rb /) kbo(:, 4,16, 9) = (/ & & 0.11968e+01_rb,0.20768e+01_rb,0.23313e+01_rb,0.23282e+01_rb,0.17327e+01_rb /) kbo(:, 5,16, 9) = (/ & & 0.12369e+01_rb,0.21393e+01_rb,0.24028e+01_rb,0.23861e+01_rb,0.17713e+01_rb /) kbo(:, 1,17, 9) = (/ & & 0.94054e+00_rb,0.16727e+01_rb,0.18972e+01_rb,0.19128e+01_rb,0.14046e+01_rb /) kbo(:, 2,17, 9) = (/ & & 0.97101e+00_rb,0.17314e+01_rb,0.19542e+01_rb,0.19610e+01_rb,0.14464e+01_rb /) kbo(:, 3,17, 9) = (/ & & 0.10024e+01_rb,0.17905e+01_rb,0.20183e+01_rb,0.20147e+01_rb,0.14867e+01_rb /) kbo(:, 4,17, 9) = (/ & & 0.10357e+01_rb,0.18485e+01_rb,0.20868e+01_rb,0.20722e+01_rb,0.15247e+01_rb /) kbo(:, 5,17, 9) = (/ & & 0.10722e+01_rb,0.19059e+01_rb,0.21551e+01_rb,0.21344e+01_rb,0.15620e+01_rb /) kbo(:, 1,18, 9) = (/ & & 0.81293e+00_rb,0.14815e+01_rb,0.16736e+01_rb,0.16776e+01_rb,0.12272e+01_rb /) kbo(:, 2,18, 9) = (/ & & 0.83847e+00_rb,0.15352e+01_rb,0.17337e+01_rb,0.17293e+01_rb,0.12665e+01_rb /) kbo(:, 3,18, 9) = (/ & & 0.86557e+00_rb,0.15883e+01_rb,0.17983e+01_rb,0.17854e+01_rb,0.13052e+01_rb /) kbo(:, 4,18, 9) = (/ & & 0.89549e+00_rb,0.16413e+01_rb,0.18633e+01_rb,0.18465e+01_rb,0.13420e+01_rb /) kbo(:, 5,18, 9) = (/ & & 0.92973e+00_rb,0.16952e+01_rb,0.19268e+01_rb,0.19102e+01_rb,0.13778e+01_rb /) kbo(:, 1,19, 9) = (/ & & 0.70038e+00_rb,0.13093e+01_rb,0.14779e+01_rb,0.14733e+01_rb,0.10709e+01_rb /) kbo(:, 2,19, 9) = (/ & & 0.72263e+00_rb,0.13577e+01_rb,0.15381e+01_rb,0.15268e+01_rb,0.11090e+01_rb /) kbo(:, 3,19, 9) = (/ & & 0.74709e+00_rb,0.14065e+01_rb,0.15995e+01_rb,0.15853e+01_rb,0.11457e+01_rb /) kbo(:, 4,19, 9) = (/ & & 0.77505e+00_rb,0.14562e+01_rb,0.16599e+01_rb,0.16467e+01_rb,0.11819e+01_rb /) kbo(:, 5,19, 9) = (/ & & 0.80778e+00_rb,0.15082e+01_rb,0.17205e+01_rb,0.17095e+01_rb,0.12170e+01_rb /) kbo(:, 1,20, 9) = (/ & & 0.60096e+00_rb,0.11549e+01_rb,0.13070e+01_rb,0.12966e+01_rb,0.93504e+00_rb /) kbo(:, 2,20, 9) = (/ & & 0.62117e+00_rb,0.11996e+01_rb,0.13644e+01_rb,0.13518e+01_rb,0.97145e+00_rb /) kbo(:, 3,20, 9) = (/ & & 0.64437e+00_rb,0.12456e+01_rb,0.14215e+01_rb,0.14105e+01_rb,0.10075e+01_rb /) kbo(:, 4,20, 9) = (/ & & 0.67172e+00_rb,0.12935e+01_rb,0.14792e+01_rb,0.14711e+01_rb,0.10425e+01_rb /) kbo(:, 5,20, 9) = (/ & & 0.70425e+00_rb,0.13447e+01_rb,0.15379e+01_rb,0.15320e+01_rb,0.10771e+01_rb /) kbo(:, 1,21, 9) = (/ & & 0.51409e+00_rb,0.10184e+01_rb,0.11562e+01_rb,0.11440e+01_rb,0.81589e+00_rb /) kbo(:, 2,21, 9) = (/ & & 0.53296e+00_rb,0.10604e+01_rb,0.12096e+01_rb,0.11991e+01_rb,0.85095e+00_rb /) kbo(:, 3,21, 9) = (/ & & 0.55527e+00_rb,0.11043e+01_rb,0.12638e+01_rb,0.12567e+01_rb,0.88570e+00_rb /) kbo(:, 4,21, 9) = (/ & & 0.58243e+00_rb,0.11512e+01_rb,0.13194e+01_rb,0.13151e+01_rb,0.92023e+00_rb /) kbo(:, 5,21, 9) = (/ & & 0.61501e+00_rb,0.12017e+01_rb,0.13771e+01_rb,0.13737e+01_rb,0.95470e+00_rb /) kbo(:, 1,22, 9) = (/ & & 0.44038e+00_rb,0.90186e+00_rb,0.10262e+01_rb,0.10153e+01_rb,0.71382e+00_rb /) kbo(:, 2,22, 9) = (/ & & 0.45853e+00_rb,0.94198e+00_rb,0.10770e+01_rb,0.10695e+01_rb,0.74736e+00_rb /) kbo(:, 3,22, 9) = (/ & & 0.48068e+00_rb,0.98449e+00_rb,0.11290e+01_rb,0.11248e+01_rb,0.78150e+00_rb /) kbo(:, 4,22, 9) = (/ & & 0.50812e+00_rb,0.10306e+01_rb,0.11833e+01_rb,0.11809e+01_rb,0.81518e+00_rb /) kbo(:, 5,22, 9) = (/ & & 0.54141e+00_rb,0.10817e+01_rb,0.12405e+01_rb,0.12383e+01_rb,0.84849e+00_rb /) kbo(:, 1,23, 9) = (/ & & 0.37767e+00_rb,0.80078e+00_rb,0.91306e+00_rb,0.90433e+00_rb,0.62612e+00_rb /) kbo(:, 2,23, 9) = (/ & & 0.39558e+00_rb,0.83957e+00_rb,0.96154e+00_rb,0.95658e+00_rb,0.65837e+00_rb /) kbo(:, 3,23, 9) = (/ & & 0.41794e+00_rb,0.88149e+00_rb,0.10123e+01_rb,0.10097e+01_rb,0.69117e+00_rb /) kbo(:, 4,23, 9) = (/ & & 0.44579e+00_rb,0.92784e+00_rb,0.10657e+01_rb,0.10643e+01_rb,0.72352e+00_rb /) kbo(:, 5,23, 9) = (/ & & 0.47930e+00_rb,0.97981e+00_rb,0.11229e+01_rb,0.11209e+01_rb,0.75697e+00_rb /) kbo(:, 1,24, 9) = (/ & & 0.32501e+00_rb,0.71314e+00_rb,0.81551e+00_rb,0.80817e+00_rb,0.55055e+00_rb /) kbo(:, 2,24, 9) = (/ & & 0.34301e+00_rb,0.75171e+00_rb,0.86229e+00_rb,0.85830e+00_rb,0.58144e+00_rb /) kbo(:, 3,24, 9) = (/ & & 0.36572e+00_rb,0.79385e+00_rb,0.91196e+00_rb,0.91014e+00_rb,0.61242e+00_rb /) kbo(:, 4,24, 9) = (/ & & 0.39391e+00_rb,0.84084e+00_rb,0.96525e+00_rb,0.96386e+00_rb,0.64468e+00_rb /) kbo(:, 5,24, 9) = (/ & & 0.42682e+00_rb,0.89378e+00_rb,0.10230e+01_rb,0.10202e+01_rb,0.67755e+00_rb /) kbo(:, 1,25, 9) = (/ & & 0.28120e+00_rb,0.63782e+00_rb,0.73197e+00_rb,0.72532e+00_rb,0.48624e+00_rb /) kbo(:, 2,25, 9) = (/ & & 0.29939e+00_rb,0.67672e+00_rb,0.77772e+00_rb,0.77395e+00_rb,0.51566e+00_rb /) kbo(:, 3,25, 9) = (/ & & 0.32259e+00_rb,0.71969e+00_rb,0.82682e+00_rb,0.82484e+00_rb,0.54562e+00_rb /) kbo(:, 4,25, 9) = (/ & & 0.35054e+00_rb,0.76785e+00_rb,0.88040e+00_rb,0.87836e+00_rb,0.57709e+00_rb /) kbo(:, 5,25, 9) = (/ & & 0.38231e+00_rb,0.82200e+00_rb,0.93896e+00_rb,0.93503e+00_rb,0.60997e+00_rb /) kbo(:, 1,26, 9) = (/ & & 0.24516e+00_rb,0.57415e+00_rb,0.66146e+00_rb,0.65501e+00_rb,0.43198e+00_rb /) kbo(:, 2,26, 9) = (/ & & 0.26380e+00_rb,0.61364e+00_rb,0.70651e+00_rb,0.70261e+00_rb,0.46025e+00_rb /) kbo(:, 3,26, 9) = (/ & & 0.28716e+00_rb,0.65790e+00_rb,0.75577e+00_rb,0.75300e+00_rb,0.48987e+00_rb /) kbo(:, 4,26, 9) = (/ & & 0.31438e+00_rb,0.70747e+00_rb,0.80990e+00_rb,0.80672e+00_rb,0.52086e+00_rb /) kbo(:, 5,26, 9) = (/ & & 0.34509e+00_rb,0.76331e+00_rb,0.86957e+00_rb,0.86437e+00_rb,0.55315e+00_rb /) kbo(:, 1,27, 9) = (/ & & 0.21544e+00_rb,0.52037e+00_rb,0.60144e+00_rb,0.59535e+00_rb,0.38600e+00_rb /) kbo(:, 2,27, 9) = (/ & & 0.23456e+00_rb,0.56067e+00_rb,0.64661e+00_rb,0.64229e+00_rb,0.41342e+00_rb /) kbo(:, 3,27, 9) = (/ & & 0.25766e+00_rb,0.60633e+00_rb,0.69633e+00_rb,0.69257e+00_rb,0.44235e+00_rb /) kbo(:, 4,27, 9) = (/ & & 0.28405e+00_rb,0.65751e+00_rb,0.75133e+00_rb,0.74692e+00_rb,0.47298e+00_rb /) kbo(:, 5,27, 9) = (/ & & 0.31370e+00_rb,0.71529e+00_rb,0.81234e+00_rb,0.80601e+00_rb,0.50534e+00_rb /) kbo(:, 1,28, 9) = (/ & & 0.19107e+00_rb,0.47529e+00_rb,0.55077e+00_rb,0.54503e+00_rb,0.34666e+00_rb /) kbo(:, 2,28, 9) = (/ & & 0.21041e+00_rb,0.51675e+00_rb,0.59653e+00_rb,0.59172e+00_rb,0.37350e+00_rb /) kbo(:, 3,28, 9) = (/ & & 0.23301e+00_rb,0.56364e+00_rb,0.64698e+00_rb,0.64221e+00_rb,0.40186e+00_rb /) kbo(:, 4,28, 9) = (/ & & 0.25866e+00_rb,0.61667e+00_rb,0.70320e+00_rb,0.69763e+00_rb,0.43205e+00_rb /) kbo(:, 5,28, 9) = (/ & & 0.28710e+00_rb,0.67650e+00_rb,0.76586e+00_rb,0.75834e+00_rb,0.46367e+00_rb /) kbo(:, 1,29, 9) = (/ & & 0.17112e+00_rb,0.43830e+00_rb,0.50881e+00_rb,0.50311e+00_rb,0.31371e+00_rb /) kbo(:, 2,29, 9) = (/ & & 0.19046e+00_rb,0.48081e+00_rb,0.55535e+00_rb,0.54996e+00_rb,0.34018e+00_rb /) kbo(:, 3,29, 9) = (/ & & 0.21264e+00_rb,0.52926e+00_rb,0.60692e+00_rb,0.60125e+00_rb,0.36829e+00_rb /) kbo(:, 4,29, 9) = (/ & & 0.23734e+00_rb,0.58428e+00_rb,0.66473e+00_rb,0.65816e+00_rb,0.39807e+00_rb /) kbo(:, 5,29, 9) = (/ & & 0.26483e+00_rb,0.64604e+00_rb,0.72961e+00_rb,0.72085e+00_rb,0.42916e+00_rb /) kbo(:, 1,30, 9) = (/ & & 0.15474e+00_rb,0.40804e+00_rb,0.47416e+00_rb,0.46844e+00_rb,0.28591e+00_rb /) kbo(:, 2,30, 9) = (/ & & 0.17385e+00_rb,0.45175e+00_rb,0.52179e+00_rb,0.51582e+00_rb,0.31208e+00_rb /) kbo(:, 3,30, 9) = (/ & & 0.19550e+00_rb,0.50197e+00_rb,0.57484e+00_rb,0.56852e+00_rb,0.33963e+00_rb /) kbo(:, 4,30, 9) = (/ & & 0.21942e+00_rb,0.55897e+00_rb,0.63459e+00_rb,0.62718e+00_rb,0.36926e+00_rb /) kbo(:, 5,30, 9) = (/ & & 0.24626e+00_rb,0.62254e+00_rb,0.70206e+00_rb,0.69222e+00_rb,0.40317e+00_rb /) kbo(:, 1,31, 9) = (/ & & 0.14123e+00_rb,0.38383e+00_rb,0.44627e+00_rb,0.44042e+00_rb,0.26282e+00_rb /) kbo(:, 2,31, 9) = (/ & & 0.16008e+00_rb,0.42905e+00_rb,0.49523e+00_rb,0.48891e+00_rb,0.28832e+00_rb /) kbo(:, 3,31, 9) = (/ & & 0.18115e+00_rb,0.48120e+00_rb,0.55018e+00_rb,0.54338e+00_rb,0.31669e+00_rb /) kbo(:, 4,31, 9) = (/ & & 0.20456e+00_rb,0.54014e+00_rb,0.61227e+00_rb,0.60422e+00_rb,0.34861e+00_rb /) kbo(:, 5,31, 9) = (/ & & 0.23090e+00_rb,0.60549e+00_rb,0.68253e+00_rb,0.67193e+00_rb,0.38334e+00_rb /) kbo(:, 1,32, 9) = (/ & & 0.13011e+00_rb,0.36494e+00_rb,0.42434e+00_rb,0.41840e+00_rb,0.24343e+00_rb /) kbo(:, 2,32, 9) = (/ & & 0.14859e+00_rb,0.41192e+00_rb,0.47502e+00_rb,0.46846e+00_rb,0.27034e+00_rb /) kbo(:, 3,32, 9) = (/ & & 0.16925e+00_rb,0.46604e+00_rb,0.53210e+00_rb,0.52502e+00_rb,0.30012e+00_rb /) kbo(:, 4,32, 9) = (/ & & 0.19229e+00_rb,0.52692e+00_rb,0.59693e+00_rb,0.58841e+00_rb,0.33258e+00_rb /) kbo(:, 5,32, 9) = (/ & & 0.21839e+00_rb,0.59419e+00_rb,0.67028e+00_rb,0.65920e+00_rb,0.36819e+00_rb /) kbo(:, 1,33, 9) = (/ & & 0.12092e+00_rb,0.35074e+00_rb,0.40776e+00_rb,0.40175e+00_rb,0.22934e+00_rb /) kbo(:, 2,33, 9) = (/ & & 0.13904e+00_rb,0.39967e+00_rb,0.46044e+00_rb,0.45383e+00_rb,0.25698e+00_rb /) kbo(:, 3,33, 9) = (/ & & 0.15944e+00_rb,0.45574e+00_rb,0.51998e+00_rb,0.51285e+00_rb,0.28727e+00_rb /) kbo(:, 4,33, 9) = (/ & & 0.18230e+00_rb,0.51859e+00_rb,0.58782e+00_rb,0.57914e+00_rb,0.32052e+00_rb /) kbo(:, 5,33, 9) = (/ & & 0.20843e+00_rb,0.58793e+00_rb,0.66452e+00_rb,0.65307e+00_rb,0.35723e+00_rb /) kbo(:, 1,34, 9) = (/ & & 0.11270e+00_rb,0.33906e+00_rb,0.39419e+00_rb,0.38828e+00_rb,0.21761e+00_rb /) kbo(:, 2,34, 9) = (/ & & 0.13054e+00_rb,0.38970e+00_rb,0.44887e+00_rb,0.44251e+00_rb,0.24563e+00_rb /) kbo(:, 3,34, 9) = (/ & & 0.15070e+00_rb,0.44751e+00_rb,0.51092e+00_rb,0.50399e+00_rb,0.27652e+00_rb /) kbo(:, 4,34, 9) = (/ & & 0.17349e+00_rb,0.51224e+00_rb,0.58169e+00_rb,0.57301e+00_rb,0.31064e+00_rb /) kbo(:, 5,34, 9) = (/ & & 0.19973e+00_rb,0.58363e+00_rb,0.66163e+00_rb,0.64989e+00_rb,0.34860e+00_rb /) kbo(:, 1,35, 9) = (/ & & 0.10431e+00_rb,0.32621e+00_rb,0.37969e+00_rb,0.37421e+00_rb,0.20589e+00_rb /) kbo(:, 2,35, 9) = (/ & & 0.12172e+00_rb,0.37794e+00_rb,0.43594e+00_rb,0.43005e+00_rb,0.23415e+00_rb /) kbo(:, 3,35, 9) = (/ & & 0.14155e+00_rb,0.43696e+00_rb,0.49993e+00_rb,0.49338e+00_rb,0.26546e+00_rb /) kbo(:, 4,35, 9) = (/ & & 0.16416e+00_rb,0.50303e+00_rb,0.57285e+00_rb,0.56442e+00_rb,0.30031e+00_rb /) kbo(:, 5,35, 9) = (/ & & 0.19033e+00_rb,0.57592e+00_rb,0.65509e+00_rb,0.64342e+00_rb,0.33926e+00_rb /) kbo(:, 1,36, 9) = (/ & & 0.95441e-01_rb,0.31093e+00_rb,0.36283e+00_rb,0.35795e+00_rb,0.19348e+00_rb /) kbo(:, 2,36, 9) = (/ & & 0.11226e+00_rb,0.36299e+00_rb,0.41996e+00_rb,0.41468e+00_rb,0.22173e+00_rb /) kbo(:, 3,36, 9) = (/ & & 0.13160e+00_rb,0.42251e+00_rb,0.48508e+00_rb,0.47906e+00_rb,0.25327e+00_rb /) kbo(:, 4,36, 9) = (/ & & 0.15379e+00_rb,0.48924e+00_rb,0.55909e+00_rb,0.55119e+00_rb,0.28853e+00_rb /) kbo(:, 5,36, 9) = (/ & & 0.17959e+00_rb,0.56298e+00_rb,0.64257e+00_rb,0.63136e+00_rb,0.32808e+00_rb /) kbo(:, 1,37, 9) = (/ & & 0.85477e-01_rb,0.29072e+00_rb,0.34067e+00_rb,0.33658e+00_rb,0.17886e+00_rb /) kbo(:, 2,37, 9) = (/ & & 0.10144e+00_rb,0.34200e+00_rb,0.39763e+00_rb,0.39300e+00_rb,0.20669e+00_rb /) kbo(:, 3,37, 9) = (/ & & 0.11996e+00_rb,0.40095e+00_rb,0.46252e+00_rb,0.45719e+00_rb,0.23796e+00_rb /) kbo(:, 4,37, 9) = (/ & & 0.14137e+00_rb,0.46732e+00_rb,0.53621e+00_rb,0.52913e+00_rb,0.27304e+00_rb /) kbo(:, 5,37, 9) = (/ & & 0.16629e+00_rb,0.54086e+00_rb,0.61939e+00_rb,0.60918e+00_rb,0.31246e+00_rb /) kbo(:, 1,38, 9) = (/ & & 0.76626e-01_rb,0.27223e+00_rb,0.32047e+00_rb,0.31724e+00_rb,0.16576e+00_rb /) kbo(:, 2,38, 9) = (/ & & 0.91774e-01_rb,0.32273e+00_rb,0.37721e+00_rb,0.37319e+00_rb,0.19315e+00_rb /) kbo(:, 3,38, 9) = (/ & & 0.10950e+00_rb,0.38104e+00_rb,0.44177e+00_rb,0.43708e+00_rb,0.22413e+00_rb /) kbo(:, 4,38, 9) = (/ & & 0.13015e+00_rb,0.44697e+00_rb,0.51498e+00_rb,0.50870e+00_rb,0.25903e+00_rb /) kbo(:, 5,38, 9) = (/ & & 0.15424e+00_rb,0.52018e+00_rb,0.59766e+00_rb,0.58842e+00_rb,0.29827e+00_rb /) kbo(:, 1,39, 9) = (/ & & 0.68857e-01_rb,0.25564e+00_rb,0.30247e+00_rb,0.30005e+00_rb,0.15419e+00_rb /) kbo(:, 2,39, 9) = (/ & & 0.83231e-01_rb,0.30541e+00_rb,0.35891e+00_rb,0.35551e+00_rb,0.18117e+00_rb /) kbo(:, 3,39, 9) = (/ & & 0.10022e+00_rb,0.36305e+00_rb,0.42306e+00_rb,0.41901e+00_rb,0.21190e+00_rb /) kbo(:, 4,39, 9) = (/ & & 0.12015e+00_rb,0.42854e+00_rb,0.49574e+00_rb,0.49023e+00_rb,0.24662e+00_rb /) kbo(:, 5,39, 9) = (/ & & 0.14353e+00_rb,0.50140e+00_rb,0.57784e+00_rb,0.56950e+00_rb,0.28564e+00_rb /) kbo(:, 1,40, 9) = (/ & & 0.60721e-01_rb,0.23607e+00_rb,0.28098e+00_rb,0.27949e+00_rb,0.14134e+00_rb /) kbo(:, 2,40, 9) = (/ & & 0.74142e-01_rb,0.28436e+00_rb,0.33629e+00_rb,0.33356e+00_rb,0.16758e+00_rb /) kbo(:, 3,40, 9) = (/ & & 0.90161e-01_rb,0.34051e+00_rb,0.39918e+00_rb,0.39576e+00_rb,0.19765e+00_rb /) kbo(:, 4,40, 9) = (/ & & 0.10909e+00_rb,0.40469e+00_rb,0.47035e+00_rb,0.46571e+00_rb,0.23173e+00_rb /) kbo(:, 5,40, 9) = (/ & & 0.13146e+00_rb,0.47643e+00_rb,0.55083e+00_rb,0.54364e+00_rb,0.27006e+00_rb /) kbo(:, 1,41, 9) = (/ & & 0.53403e-01_rb,0.21760e+00_rb,0.26060e+00_rb,0.26004e+00_rb,0.12944e+00_rb /) kbo(:, 2,41, 9) = (/ & & 0.65918e-01_rb,0.26438e+00_rb,0.31466e+00_rb,0.31265e+00_rb,0.15490e+00_rb /) kbo(:, 3,41, 9) = (/ & & 0.80936e-01_rb,0.31888e+00_rb,0.37609e+00_rb,0.37327e+00_rb,0.18421e+00_rb /) kbo(:, 4,41, 9) = (/ & & 0.98889e-01_rb,0.38155e+00_rb,0.44565e+00_rb,0.44176e+00_rb,0.21756e+00_rb /) kbo(:, 5,41, 9) = (/ & & 0.12024e+00_rb,0.45195e+00_rb,0.52424e+00_rb,0.51812e+00_rb,0.25511e+00_rb /) kbo(:, 1,42, 9) = (/ & & 0.46980e-01_rb,0.20072e+00_rb,0.24188e+00_rb,0.24222e+00_rb,0.11863e+00_rb /) kbo(:, 2,42, 9) = (/ & & 0.58572e-01_rb,0.24586e+00_rb,0.29443e+00_rb,0.29314e+00_rb,0.14330e+00_rb /) kbo(:, 3,42, 9) = (/ & & 0.72653e-01_rb,0.29875e+00_rb,0.35445e+00_rb,0.35212e+00_rb,0.17184e+00_rb /) kbo(:, 4,42, 9) = (/ & & 0.89663e-01_rb,0.35979e+00_rb,0.42236e+00_rb,0.41911e+00_rb,0.20443e+00_rb /) kbo(:, 5,42, 9) = (/ & & 0.11004e+00_rb,0.42873e+00_rb,0.49904e+00_rb,0.49389e+00_rb,0.24118e+00_rb /) kbo(:, 1,43, 9) = (/ & & 0.40748e-01_rb,0.18301e+00_rb,0.22189e+00_rb,0.22309e+00_rb,0.10752e+00_rb /) kbo(:, 2,43, 9) = (/ & & 0.51357e-01_rb,0.22603e+00_rb,0.27246e+00_rb,0.27198e+00_rb,0.13119e+00_rb /) kbo(:, 3,43, 9) = (/ & & 0.64381e-01_rb,0.27684e+00_rb,0.33058e+00_rb,0.32881e+00_rb,0.15875e+00_rb /) kbo(:, 4,43, 9) = (/ & & 0.80299e-01_rb,0.33572e+00_rb,0.39639e+00_rb,0.39376e+00_rb,0.19029e+00_rb /) kbo(:, 5,43, 9) = (/ & & 0.99551e-01_rb,0.40267e+00_rb,0.47065e+00_rb,0.46647e+00_rb,0.22598e+00_rb /) kbo(:, 1,44, 9) = (/ & & 0.35065e-01_rb,0.16586e+00_rb,0.20221e+00_rb,0.20417e+00_rb,0.96831e-01_rb /) kbo(:, 2,44, 9) = (/ & & 0.44686e-01_rb,0.20650e+00_rb,0.25055e+00_rb,0.25097e+00_rb,0.11942e+00_rb /) kbo(:, 3,44, 9) = (/ & & 0.56631e-01_rb,0.25500e+00_rb,0.30652e+00_rb,0.30540e+00_rb,0.14585e+00_rb /) kbo(:, 4,44, 9) = (/ & & 0.71442e-01_rb,0.31160e+00_rb,0.37021e+00_rb,0.36812e+00_rb,0.17630e+00_rb /) kbo(:, 5,44, 9) = (/ & & 0.89487e-01_rb,0.37611e+00_rb,0.44177e+00_rb,0.43843e+00_rb,0.21076e+00_rb /) kbo(:, 1,45, 9) = (/ & & 0.30099e-01_rb,0.15014e+00_rb,0.18399e+00_rb,0.18651e+00_rb,0.87081e-01_rb /) kbo(:, 2,45, 9) = (/ & & 0.38792e-01_rb,0.18842e+00_rb,0.23006e+00_rb,0.23134e+00_rb,0.10857e+00_rb /) kbo(:, 3,45, 9) = (/ & & 0.49706e-01_rb,0.23455e+00_rb,0.28377e+00_rb,0.28337e+00_rb,0.13385e+00_rb /) kbo(:, 4,45, 9) = (/ & & 0.63416e-01_rb,0.28880e+00_rb,0.34526e+00_rb,0.34365e+00_rb,0.16313e+00_rb /) kbo(:, 5,45, 9) = (/ & & 0.80320e-01_rb,0.35087e+00_rb,0.41430e+00_rb,0.41165e+00_rb,0.19641e+00_rb /) kbo(:, 1,46, 9) = (/ & & 0.25615e-01_rb,0.13501e+00_rb,0.16621e+00_rb,0.16909e+00_rb,0.77761e-01_rb /) kbo(:, 2,46, 9) = (/ & & 0.33396e-01_rb,0.17087e+00_rb,0.20986e+00_rb,0.21193e+00_rb,0.98069e-01_rb /) kbo(:, 3,46, 9) = (/ & & 0.43320e-01_rb,0.21451e+00_rb,0.26120e+00_rb,0.26156e+00_rb,0.12212e+00_rb /) kbo(:, 4,46, 9) = (/ & & 0.55857e-01_rb,0.26606e+00_rb,0.32018e+00_rb,0.31908e+00_rb,0.15012e+00_rb /) kbo(:, 5,46, 9) = (/ & & 0.71564e-01_rb,0.32546e+00_rb,0.38657e+00_rb,0.38454e+00_rb,0.18211e+00_rb /) kbo(:, 1,47, 9) = (/ & & 0.21470e-01_rb,0.11984e+00_rb,0.14813e+00_rb,0.15126e+00_rb,0.68564e-01_rb /) kbo(:, 2,47, 9) = (/ & & 0.28327e-01_rb,0.15313e+00_rb,0.18908e+00_rb,0.19182e+00_rb,0.87445e-01_rb /) kbo(:, 3,47, 9) = (/ & & 0.37186e-01_rb,0.19381e+00_rb,0.23756e+00_rb,0.23882e+00_rb,0.11016e+00_rb /) kbo(:, 4,47, 9) = (/ & & 0.48514e-01_rb,0.24239e+00_rb,0.29373e+00_rb,0.29331e+00_rb,0.13670e+00_rb /) kbo(:, 5,47, 9) = (/ & & 0.62915e-01_rb,0.29879e+00_rb,0.35729e+00_rb,0.35580e+00_rb,0.16718e+00_rb /) kbo(:, 1,48, 9) = (/ & & 0.17915e-01_rb,0.10594e+00_rb,0.13153e+00_rb,0.13471e+00_rb,0.60247e-01_rb /) kbo(:, 2,48, 9) = (/ & & 0.23922e-01_rb,0.13687e+00_rb,0.16982e+00_rb,0.17297e+00_rb,0.77702e-01_rb /) kbo(:, 3,48, 9) = (/ & & 0.31789e-01_rb,0.17464e+00_rb,0.21543e+00_rb,0.21754e+00_rb,0.99032e-01_rb /) kbo(:, 4,48, 9) = (/ & & 0.41975e-01_rb,0.22024e+00_rb,0.26872e+00_rb,0.26906e+00_rb,0.12414e+00_rb /) kbo(:, 5,48, 9) = (/ & & 0.55099e-01_rb,0.27366e+00_rb,0.32950e+00_rb,0.32848e+00_rb,0.15313e+00_rb /) kbo(:, 1,49, 9) = (/ & & 0.14883e-01_rb,0.93224e-01_rb,0.11635e+00_rb,0.11939e+00_rb,0.52749e-01_rb /) kbo(:, 2,49, 9) = (/ & & 0.20112e-01_rb,0.12194e+00_rb,0.15191e+00_rb,0.15532e+00_rb,0.68811e-01_rb /) kbo(:, 3,49, 9) = (/ & & 0.27052e-01_rb,0.15700e+00_rb,0.19473e+00_rb,0.19754e+00_rb,0.88692e-01_rb /) kbo(:, 4,49, 9) = (/ & & 0.36170e-01_rb,0.19958e+00_rb,0.24512e+00_rb,0.24626e+00_rb,0.11239e+00_rb /) kbo(:, 5,49, 9) = (/ & & 0.48053e-01_rb,0.24998e+00_rb,0.30305e+00_rb,0.30260e+00_rb,0.13992e+00_rb /) kbo(:, 1,50, 9) = (/ & & 0.12401e-01_rb,0.82224e-01_rb,0.10323e+00_rb,0.10603e+00_rb,0.46388e-01_rb /) kbo(:, 2,50, 9) = (/ & & 0.16961e-01_rb,0.10896e+00_rb,0.13629e+00_rb,0.13978e+00_rb,0.61130e-01_rb /) kbo(:, 3,50, 9) = (/ & & 0.23097e-01_rb,0.14168e+00_rb,0.17654e+00_rb,0.17982e+00_rb,0.79649e-01_rb /) kbo(:, 4,50, 9) = (/ & & 0.31266e-01_rb,0.18143e+00_rb,0.22418e+00_rb,0.22611e+00_rb,0.10201e+00_rb /) kbo(:, 5,50, 9) = (/ & & 0.42049e-01_rb,0.22900e+00_rb,0.27939e+00_rb,0.27959e+00_rb,0.12818e+00_rb /) kbo(:, 1,51, 9) = (/ & & 0.10311e-01_rb,0.72407e-01_rb,0.91543e-01_rb,0.94015e-01_rb,0.40739e-01_rb /) kbo(:, 2,51, 9) = (/ & & 0.14299e-01_rb,0.97301e-01_rb,0.12223e+00_rb,0.12566e+00_rb,0.54336e-01_rb /) kbo(:, 3,51, 9) = (/ & & 0.19709e-01_rb,0.12788e+00_rb,0.16001e+00_rb,0.16354e+00_rb,0.71514e-01_rb /) kbo(:, 4,51, 9) = (/ & & 0.27010e-01_rb,0.16504e+00_rb,0.20502e+00_rb,0.20766e+00_rb,0.92576e-01_rb /) kbo(:, 5,51, 9) = (/ & & 0.36820e-01_rb,0.20996e+00_rb,0.25769e+00_rb,0.25854e+00_rb,0.11743e+00_rb /) kbo(:, 1,52, 9) = (/ & & 0.85238e-02_rb,0.63439e-01_rb,0.80796e-01_rb,0.82950e-01_rb,0.35726e-01_rb /) kbo(:, 2,52, 9) = (/ & & 0.12004e-01_rb,0.86535e-01_rb,0.10929e+00_rb,0.11252e+00_rb,0.48201e-01_rb /) kbo(:, 3,52, 9) = (/ & & 0.16756e-01_rb,0.11511e+00_rb,0.14456e+00_rb,0.14824e+00_rb,0.64036e-01_rb /) kbo(:, 4,52, 9) = (/ & & 0.23247e-01_rb,0.14984e+00_rb,0.18701e+00_rb,0.19020e+00_rb,0.83745e-01_rb /) kbo(:, 5,52, 9) = (/ & & 0.32110e-01_rb,0.19199e+00_rb,0.23699e+00_rb,0.23857e+00_rb,0.10729e+00_rb /) kbo(:, 1,53, 9) = (/ & & 0.70021e-02_rb,0.55279e-01_rb,0.70908e-01_rb,0.72826e-01_rb,0.31267e-01_rb /) kbo(:, 2,53, 9) = (/ & & 0.10022e-01_rb,0.76605e-01_rb,0.97337e-01_rb,0.10026e+00_rb,0.42555e-01_rb /) kbo(:, 3,53, 9) = (/ & & 0.14186e-01_rb,0.10324e+00_rb,0.13015e+00_rb,0.13384e+00_rb,0.57176e-01_rb /) kbo(:, 4,53, 9) = (/ & & 0.19924e-01_rb,0.13568e+00_rb,0.17006e+00_rb,0.17360e+00_rb,0.75508e-01_rb /) kbo(:, 5,53, 9) = (/ & & 0.27873e-01_rb,0.17508e+00_rb,0.21734e+00_rb,0.21965e+00_rb,0.97730e-01_rb /) kbo(:, 1,54, 9) = (/ & & 0.57827e-02_rb,0.48416e-01_rb,0.62508e-01_rb,0.64310e-01_rb,0.27618e-01_rb /) kbo(:, 2,54, 9) = (/ & & 0.84043e-02_rb,0.68151e-01_rb,0.87167e-01_rb,0.89761e-01_rb,0.37874e-01_rb /) kbo(:, 3,54, 9) = (/ & & 0.12088e-01_rb,0.93069e-01_rb,0.11782e+00_rb,0.12138e+00_rb,0.51418e-01_rb /) kbo(:, 4,54, 9) = (/ & & 0.17188e-01_rb,0.12356e+00_rb,0.15542e+00_rb,0.15914e+00_rb,0.68446e-01_rb /) kbo(:, 5,54, 9) = (/ & & 0.24356e-01_rb,0.16057e+00_rb,0.20027e+00_rb,0.20317e+00_rb,0.89427e-01_rb /) kbo(:, 1,55, 9) = (/ & & 0.47829e-02_rb,0.42445e-01_rb,0.55108e-01_rb,0.56879e-01_rb,0.24415e-01_rb /) kbo(:, 2,55, 9) = (/ & & 0.70515e-02_rb,0.60688e-01_rb,0.78130e-01_rb,0.80430e-01_rb,0.33849e-01_rb /) kbo(:, 3,55, 9) = (/ & & 0.10307e-01_rb,0.83954e-01_rb,0.10678e+00_rb,0.11014e+00_rb,0.46263e-01_rb /) kbo(:, 4,55, 9) = (/ & & 0.14854e-01_rb,0.11267e+00_rb,0.14216e+00_rb,0.14598e+00_rb,0.62158e-01_rb /) kbo(:, 5,55, 9) = (/ & & 0.21317e-01_rb,0.14754e+00_rb,0.18474e+00_rb,0.18809e+00_rb,0.81914e-01_rb /) kbo(:, 1,56, 9) = (/ & & 0.39349e-02_rb,0.37013e-01_rb,0.48295e-01_rb,0.50091e-01_rb,0.21529e-01_rb /) kbo(:, 2,56, 9) = (/ & & 0.58808e-02_rb,0.53785e-01_rb,0.69695e-01_rb,0.71776e-01_rb,0.30144e-01_rb /) kbo(:, 3,56, 9) = (/ & & 0.87470e-02_rb,0.75476e-01_rb,0.96519e-01_rb,0.99590e-01_rb,0.41605e-01_rb /) kbo(:, 4,56, 9) = (/ & & 0.12799e-01_rb,0.10247e+00_rb,0.12972e+00_rb,0.13354e+00_rb,0.56396e-01_rb /) kbo(:, 5,56, 9) = (/ & & 0.18597e-01_rb,0.13533e+00_rb,0.17007e+00_rb,0.17370e+00_rb,0.74854e-01_rb /) kbo(:, 1,57, 9) = (/ & & 0.32237e-02_rb,0.32103e-01_rb,0.42068e-01_rb,0.43893e-01_rb,0.18889e-01_rb /) kbo(:, 2,57, 9) = (/ & & 0.48776e-02_rb,0.47453e-01_rb,0.61873e-01_rb,0.63812e-01_rb,0.26899e-01_rb /) kbo(:, 3,57, 9) = (/ & & 0.73816e-02_rb,0.67586e-01_rb,0.86956e-01_rb,0.89701e-01_rb,0.37405e-01_rb /) kbo(:, 4,57, 9) = (/ & & 0.10984e-01_rb,0.92907e-01_rb,0.11806e+00_rb,0.12175e+00_rb,0.51002e-01_rb /) kbo(:, 5,57, 9) = (/ & & 0.16168e-01_rb,0.12385e+00_rb,0.15617e+00_rb,0.15996e+00_rb,0.68253e-01_rb /) kbo(:, 1,58, 9) = (/ & & 0.26462e-02_rb,0.27879e-01_rb,0.36685e-01_rb,0.38484e-01_rb,0.16601e-01_rb /) kbo(:, 2,58, 9) = (/ & & 0.40522e-02_rb,0.41929e-01_rb,0.54967e-01_rb,0.56858e-01_rb,0.24050e-01_rb /) kbo(:, 3,58, 9) = (/ & & 0.62364e-02_rb,0.60609e-01_rb,0.78458e-01_rb,0.80919e-01_rb,0.33657e-01_rb /) kbo(:, 4,58, 9) = (/ & & 0.94512e-02_rb,0.84383e-01_rb,0.10769e+00_rb,0.11117e+00_rb,0.46338e-01_rb /) kbo(:, 5,58, 9) = (/ & & 0.14101e-01_rb,0.11363e+00_rb,0.14367e+00_rb,0.14755e+00_rb,0.62487e-01_rb /) kbo(:, 1,59, 9) = (/ & & 0.23375e-02_rb,0.26104e-01_rb,0.34483e-01_rb,0.36273e-01_rb,0.15643e-01_rb /) kbo(:, 2,59, 9) = (/ & & 0.36353e-02_rb,0.39676e-01_rb,0.52191e-01_rb,0.54098e-01_rb,0.22879e-01_rb /) kbo(:, 3,59, 9) = (/ & & 0.56781e-02_rb,0.57810e-01_rb,0.75085e-01_rb,0.77452e-01_rb,0.32253e-01_rb /) kbo(:, 4,59, 9) = (/ & & 0.87345e-02_rb,0.80998e-01_rb,0.10362e+00_rb,0.10701e+00_rb,0.44587e-01_rb /) kbo(:, 5,59, 9) = (/ & & 0.13202e-01_rb,0.10960e+00_rb,0.13878e+00_rb,0.14268e+00_rb,0.60173e-01_rb /) kbo(:, 1,13,10) = (/ & & 0.68082e+01_rb,0.10647e+02_rb,0.12044e+02_rb,0.12092e+02_rb,0.85097e+01_rb /) kbo(:, 2,13,10) = (/ & & 0.67019e+01_rb,0.10585e+02_rb,0.12055e+02_rb,0.12198e+02_rb,0.87119e+01_rb /) kbo(:, 3,13,10) = (/ & & 0.67137e+01_rb,0.10536e+02_rb,0.12063e+02_rb,0.12312e+02_rb,0.88714e+01_rb /) kbo(:, 4,13,10) = (/ & & 0.68713e+01_rb,0.10489e+02_rb,0.12087e+02_rb,0.12413e+02_rb,0.90170e+01_rb /) kbo(:, 5,13,10) = (/ & & 0.71185e+01_rb,0.10479e+02_rb,0.12121e+02_rb,0.12479e+02_rb,0.91853e+01_rb /) kbo(:, 1,14,10) = (/ & & 0.58410e+01_rb,0.94018e+01_rb,0.10846e+02_rb,0.11035e+02_rb,0.76674e+01_rb /) kbo(:, 2,14,10) = (/ & & 0.58467e+01_rb,0.93735e+01_rb,0.10875e+02_rb,0.11156e+02_rb,0.78256e+01_rb /) kbo(:, 3,14,10) = (/ & & 0.59984e+01_rb,0.93438e+01_rb,0.10908e+02_rb,0.11271e+02_rb,0.79426e+01_rb /) kbo(:, 4,14,10) = (/ & & 0.62373e+01_rb,0.93563e+01_rb,0.10953e+02_rb,0.11364e+02_rb,0.81071e+01_rb /) kbo(:, 5,14,10) = (/ & & 0.65135e+01_rb,0.94809e+01_rb,0.10997e+02_rb,0.11429e+02_rb,0.82861e+01_rb /) kbo(:, 1,15,10) = (/ & & 0.50343e+01_rb,0.83265e+01_rb,0.97137e+01_rb,0.99946e+01_rb,0.69930e+01_rb /) kbo(:, 2,15,10) = (/ & & 0.51660e+01_rb,0.83107e+01_rb,0.97594e+01_rb,0.10123e+02_rb,0.71240e+01_rb /) kbo(:, 3,15,10) = (/ & & 0.53903e+01_rb,0.83316e+01_rb,0.98216e+01_rb,0.10239e+02_rb,0.72628e+01_rb /) kbo(:, 4,15,10) = (/ & & 0.56415e+01_rb,0.84645e+01_rb,0.98856e+01_rb,0.10324e+02_rb,0.74229e+01_rb /) kbo(:, 5,15,10) = (/ & & 0.58842e+01_rb,0.87055e+01_rb,0.99631e+01_rb,0.10400e+02_rb,0.75908e+01_rb /) kbo(:, 1,16,10) = (/ & & 0.44015e+01_rb,0.74103e+01_rb,0.86530e+01_rb,0.90071e+01_rb,0.63301e+01_rb /) kbo(:, 2,16,10) = (/ & & 0.45955e+01_rb,0.74391e+01_rb,0.87237e+01_rb,0.91359e+01_rb,0.64715e+01_rb /) kbo(:, 3,16,10) = (/ & & 0.48140e+01_rb,0.75662e+01_rb,0.88065e+01_rb,0.92379e+01_rb,0.66426e+01_rb /) kbo(:, 4,16,10) = (/ & & 0.50318e+01_rb,0.77981e+01_rb,0.89101e+01_rb,0.93283e+01_rb,0.68095e+01_rb /) kbo(:, 5,16,10) = (/ & & 0.52436e+01_rb,0.80914e+01_rb,0.90522e+01_rb,0.94292e+01_rb,0.69717e+01_rb /) kbo(:, 1,17,10) = (/ & & 0.38938e+01_rb,0.65976e+01_rb,0.77151e+01_rb,0.80672e+01_rb,0.57119e+01_rb /) kbo(:, 2,17,10) = (/ & & 0.40781e+01_rb,0.67171e+01_rb,0.78068e+01_rb,0.81879e+01_rb,0.58706e+01_rb /) kbo(:, 3,17,10) = (/ & & 0.42641e+01_rb,0.69435e+01_rb,0.79191e+01_rb,0.82934e+01_rb,0.60296e+01_rb /) kbo(:, 4,17,10) = (/ & & 0.44480e+01_rb,0.72305e+01_rb,0.80762e+01_rb,0.84106e+01_rb,0.62012e+01_rb /) kbo(:, 5,17,10) = (/ & & 0.46308e+01_rb,0.75237e+01_rb,0.83037e+01_rb,0.85418e+01_rb,0.63775e+01_rb /) kbo(:, 1,18,10) = (/ & & 0.34407e+01_rb,0.58963e+01_rb,0.69001e+01_rb,0.71891e+01_rb,0.51366e+01_rb /) kbo(:, 2,18,10) = (/ & & 0.35988e+01_rb,0.61068e+01_rb,0.70120e+01_rb,0.73051e+01_rb,0.52912e+01_rb /) kbo(:, 3,18,10) = (/ & & 0.37577e+01_rb,0.63853e+01_rb,0.71752e+01_rb,0.74336e+01_rb,0.54376e+01_rb /) kbo(:, 4,18,10) = (/ & & 0.39161e+01_rb,0.66726e+01_rb,0.74020e+01_rb,0.75773e+01_rb,0.56097e+01_rb /) kbo(:, 5,18,10) = (/ & & 0.40711e+01_rb,0.69480e+01_rb,0.76793e+01_rb,0.77395e+01_rb,0.57994e+01_rb /) kbo(:, 1,19,10) = (/ & & 0.30222e+01_rb,0.53136e+01_rb,0.61695e+01_rb,0.63815e+01_rb,0.46248e+01_rb /) kbo(:, 2,19,10) = (/ & & 0.31568e+01_rb,0.55745e+01_rb,0.63303e+01_rb,0.65186e+01_rb,0.47653e+01_rb /) kbo(:, 3,19,10) = (/ & & 0.32936e+01_rb,0.58515e+01_rb,0.65536e+01_rb,0.66691e+01_rb,0.49110e+01_rb /) kbo(:, 4,19,10) = (/ & & 0.34320e+01_rb,0.61200e+01_rb,0.68298e+01_rb,0.68431e+01_rb,0.50671e+01_rb /) kbo(:, 5,19,10) = (/ & & 0.35717e+01_rb,0.63810e+01_rb,0.71341e+01_rb,0.70485e+01_rb,0.52482e+01_rb /) kbo(:, 1,20,10) = (/ & & 0.26646e+01_rb,0.48341e+01_rb,0.55294e+01_rb,0.56818e+01_rb,0.41697e+01_rb /) kbo(:, 2,20,10) = (/ & & 0.27751e+01_rb,0.50933e+01_rb,0.57470e+01_rb,0.58376e+01_rb,0.43064e+01_rb /) kbo(:, 3,20,10) = (/ & & 0.28895e+01_rb,0.53454e+01_rb,0.60203e+01_rb,0.60166e+01_rb,0.44569e+01_rb /) kbo(:, 4,20,10) = (/ & & 0.30071e+01_rb,0.55962e+01_rb,0.63194e+01_rb,0.62235e+01_rb,0.46038e+01_rb /) kbo(:, 5,20,10) = (/ & & 0.31278e+01_rb,0.58505e+01_rb,0.66184e+01_rb,0.64780e+01_rb,0.47569e+01_rb /) kbo(:, 1,21,10) = (/ & & 0.23601e+01_rb,0.44020e+01_rb,0.49905e+01_rb,0.50776e+01_rb,0.37561e+01_rb /) kbo(:, 2,21,10) = (/ & & 0.24527e+01_rb,0.46408e+01_rb,0.52514e+01_rb,0.52563e+01_rb,0.39021e+01_rb /) kbo(:, 3,21,10) = (/ & & 0.25482e+01_rb,0.48775e+01_rb,0.55424e+01_rb,0.54642e+01_rb,0.40531e+01_rb /) kbo(:, 4,21,10) = (/ & & 0.26469e+01_rb,0.51183e+01_rb,0.58389e+01_rb,0.57185e+01_rb,0.42025e+01_rb /) kbo(:, 5,21,10) = (/ & & 0.27509e+01_rb,0.53673e+01_rb,0.61341e+01_rb,0.60025e+01_rb,0.43477e+01_rb /) kbo(:, 1,22,10) = (/ & & 0.20933e+01_rb,0.40130e+01_rb,0.45530e+01_rb,0.45722e+01_rb,0.33997e+01_rb /) kbo(:, 2,22,10) = (/ & & 0.21774e+01_rb,0.42389e+01_rb,0.48339e+01_rb,0.47801e+01_rb,0.35503e+01_rb /) kbo(:, 3,22,10) = (/ & & 0.22636e+01_rb,0.44688e+01_rb,0.51214e+01_rb,0.50286e+01_rb,0.36916e+01_rb /) kbo(:, 4,22,10) = (/ & & 0.23497e+01_rb,0.47085e+01_rb,0.54112e+01_rb,0.53109e+01_rb,0.38464e+01_rb /) kbo(:, 5,22,10) = (/ & & 0.24400e+01_rb,0.49544e+01_rb,0.57104e+01_rb,0.56159e+01_rb,0.40026e+01_rb /) kbo(:, 1,23,10) = (/ & & 0.18483e+01_rb,0.36572e+01_rb,0.41816e+01_rb,0.41476e+01_rb,0.30773e+01_rb /) kbo(:, 2,23,10) = (/ & & 0.19296e+01_rb,0.38779e+01_rb,0.44582e+01_rb,0.43906e+01_rb,0.32324e+01_rb /) kbo(:, 3,23,10) = (/ & & 0.20105e+01_rb,0.41090e+01_rb,0.47398e+01_rb,0.46676e+01_rb,0.33790e+01_rb /) kbo(:, 4,23,10) = (/ & & 0.20922e+01_rb,0.43460e+01_rb,0.50319e+01_rb,0.49689e+01_rb,0.35381e+01_rb /) kbo(:, 5,23,10) = (/ & & 0.21812e+01_rb,0.45942e+01_rb,0.53379e+01_rb,0.52907e+01_rb,0.36872e+01_rb /) kbo(:, 1,24,10) = (/ & & 0.16291e+01_rb,0.33480e+01_rb,0.38514e+01_rb,0.38051e+01_rb,0.27880e+01_rb /) kbo(:, 2,24,10) = (/ & & 0.17053e+01_rb,0.35635e+01_rb,0.41240e+01_rb,0.40716e+01_rb,0.29407e+01_rb /) kbo(:, 3,24,10) = (/ & & 0.17841e+01_rb,0.37930e+01_rb,0.44076e+01_rb,0.43668e+01_rb,0.31035e+01_rb /) kbo(:, 4,24,10) = (/ & & 0.18670e+01_rb,0.40349e+01_rb,0.47044e+01_rb,0.46831e+01_rb,0.32549e+01_rb /) kbo(:, 5,24,10) = (/ & & 0.19687e+01_rb,0.42837e+01_rb,0.50178e+01_rb,0.50123e+01_rb,0.34093e+01_rb /) kbo(:, 1,25,10) = (/ & & 0.14342e+01_rb,0.30870e+01_rb,0.35616e+01_rb,0.35262e+01_rb,0.25309e+01_rb /) kbo(:, 2,25,10) = (/ & & 0.15073e+01_rb,0.32988e+01_rb,0.38348e+01_rb,0.38083e+01_rb,0.26935e+01_rb /) kbo(:, 3,25,10) = (/ & & 0.15855e+01_rb,0.35267e+01_rb,0.41227e+01_rb,0.41156e+01_rb,0.28544e+01_rb /) kbo(:, 4,25,10) = (/ & & 0.16765e+01_rb,0.37674e+01_rb,0.44270e+01_rb,0.44387e+01_rb,0.30112e+01_rb /) kbo(:, 5,25,10) = (/ & & 0.17969e+01_rb,0.40179e+01_rb,0.47482e+01_rb,0.47807e+01_rb,0.31986e+01_rb /) kbo(:, 1,26,10) = (/ & & 0.12644e+01_rb,0.28734e+01_rb,0.33145e+01_rb,0.33023e+01_rb,0.23207e+01_rb /) kbo(:, 2,26,10) = (/ & & 0.13357e+01_rb,0.30796e+01_rb,0.35932e+01_rb,0.35956e+01_rb,0.24777e+01_rb /) kbo(:, 3,26,10) = (/ & & 0.14174e+01_rb,0.33035e+01_rb,0.38863e+01_rb,0.39081e+01_rb,0.26420e+01_rb /) kbo(:, 4,26,10) = (/ & & 0.15234e+01_rb,0.35430e+01_rb,0.41997e+01_rb,0.42431e+01_rb,0.28241e+01_rb /) kbo(:, 5,26,10) = (/ & & 0.16603e+01_rb,0.37959e+01_rb,0.45341e+01_rb,0.45996e+01_rb,0.30401e+01_rb /) kbo(:, 1,27,10) = (/ & & 0.11180e+01_rb,0.26923e+01_rb,0.31092e+01_rb,0.31181e+01_rb,0.21320e+01_rb /) kbo(:, 2,27,10) = (/ & & 0.11893e+01_rb,0.28981e+01_rb,0.33903e+01_rb,0.34176e+01_rb,0.22961e+01_rb /) kbo(:, 3,27,10) = (/ & & 0.12805e+01_rb,0.31184e+01_rb,0.36930e+01_rb,0.37398e+01_rb,0.24775e+01_rb /) kbo(:, 4,27,10) = (/ & & 0.14017e+01_rb,0.33577e+01_rb,0.40190e+01_rb,0.40909e+01_rb,0.26920e+01_rb /) kbo(:, 5,27,10) = (/ & & 0.15494e+01_rb,0.36148e+01_rb,0.43685e+01_rb,0.44626e+01_rb,0.29161e+01_rb /) kbo(:, 1,28,10) = (/ & & 0.99411e+00_rb,0.25422e+01_rb,0.29403e+01_rb,0.29678e+01_rb,0.19736e+01_rb /) kbo(:, 2,28,10) = (/ & & 0.10693e+01_rb,0.27468e+01_rb,0.32278e+01_rb,0.32747e+01_rb,0.21580e+01_rb /) kbo(:, 3,28,10) = (/ & & 0.11727e+01_rb,0.29677e+01_rb,0.35410e+01_rb,0.36136e+01_rb,0.23718e+01_rb /) kbo(:, 4,28,10) = (/ & & 0.13040e+01_rb,0.32092e+01_rb,0.38816e+01_rb,0.39808e+01_rb,0.25959e+01_rb /) kbo(:, 5,28,10) = (/ & & 0.14604e+01_rb,0.34721e+01_rb,0.42472e+01_rb,0.43708e+01_rb,0.28373e+01_rb /) kbo(:, 1,29,10) = (/ & & 0.89294e+00_rb,0.24188e+01_rb,0.28058e+01_rb,0.28515e+01_rb,0.18636e+01_rb /) kbo(:, 2,29,10) = (/ & & 0.97544e+00_rb,0.26259e+01_rb,0.31039e+01_rb,0.31712e+01_rb,0.20699e+01_rb /) kbo(:, 3,29,10) = (/ & & 0.10880e+01_rb,0.28493e+01_rb,0.34305e+01_rb,0.35278e+01_rb,0.22886e+01_rb /) kbo(:, 4,29,10) = (/ & & 0.12277e+01_rb,0.30947e+01_rb,0.37862e+01_rb,0.39124e+01_rb,0.25256e+01_rb /) kbo(:, 5,29,10) = (/ & & 0.13896e+01_rb,0.33676e+01_rb,0.41685e+01_rb,0.43225e+01_rb,0.27864e+01_rb /) kbo(:, 1,30,10) = (/ & & 0.81230e+00_rb,0.23190e+01_rb,0.27059e+01_rb,0.27666e+01_rb,0.17929e+01_rb /) kbo(:, 2,30,10) = (/ & & 0.90285e+00_rb,0.25306e+01_rb,0.30146e+01_rb,0.31051e+01_rb,0.20049e+01_rb /) kbo(:, 3,30,10) = (/ & & 0.10223e+01_rb,0.27572e+01_rb,0.33560e+01_rb,0.34779e+01_rb,0.22359e+01_rb /) kbo(:, 4,30,10) = (/ & & 0.11675e+01_rb,0.30101e+01_rb,0.37284e+01_rb,0.38827e+01_rb,0.24866e+01_rb /) kbo(:, 5,30,10) = (/ & & 0.13337e+01_rb,0.32968e+01_rb,0.41265e+01_rb,0.43099e+01_rb,0.27369e+01_rb /) kbo(:, 1,31,10) = (/ & & 0.75110e+00_rb,0.22419e+01_rb,0.26379e+01_rb,0.27157e+01_rb,0.17433e+01_rb /) kbo(:, 2,31,10) = (/ & & 0.84809e+00_rb,0.24579e+01_rb,0.29592e+01_rb,0.30730e+01_rb,0.19665e+01_rb /) kbo(:, 3,31,10) = (/ & & 0.97252e+00_rb,0.26914e+01_rb,0.33168e+01_rb,0.34645e+01_rb,0.22008e+01_rb /) kbo(:, 4,31,10) = (/ & & 0.11219e+01_rb,0.29550e+01_rb,0.37069e+01_rb,0.38878e+01_rb,0.24456e+01_rb /) kbo(:, 5,31,10) = (/ & & 0.12926e+01_rb,0.32597e+01_rb,0.41224e+01_rb,0.43304e+01_rb,0.27059e+01_rb /) kbo(:, 1,32,10) = (/ & & 0.70499e+00_rb,0.21846e+01_rb,0.25985e+01_rb,0.26966e+01_rb,0.17143e+01_rb /) kbo(:, 2,32,10) = (/ & & 0.80768e+00_rb,0.24067e+01_rb,0.29356e+01_rb,0.30726e+01_rb,0.19337e+01_rb /) kbo(:, 3,32,10) = (/ & & 0.93561e+00_rb,0.26499e+01_rb,0.33107e+01_rb,0.34825e+01_rb,0.21698e+01_rb /) kbo(:, 4,32,10) = (/ & & 0.10894e+01_rb,0.29281e+01_rb,0.37179e+01_rb,0.39220e+01_rb,0.24264e+01_rb /) kbo(:, 5,32,10) = (/ & & 0.12637e+01_rb,0.32525e+01_rb,0.41500e+01_rb,0.43764e+01_rb,0.26992e+01_rb /) kbo(:, 1,33,10) = (/ & & 0.67118e+00_rb,0.21457e+01_rb,0.25854e+01_rb,0.27057e+01_rb,0.16861e+01_rb /) kbo(:, 2,33,10) = (/ & & 0.77795e+00_rb,0.23758e+01_rb,0.29404e+01_rb,0.30997e+01_rb,0.19111e+01_rb /) kbo(:, 3,33,10) = (/ & & 0.91001e+00_rb,0.26325e+01_rb,0.33337e+01_rb,0.35269e+01_rb,0.21600e+01_rb /) kbo(:, 4,33,10) = (/ & & 0.10674e+01_rb,0.29280e+01_rb,0.37566e+01_rb,0.39787e+01_rb,0.24291e+01_rb /) kbo(:, 5,33,10) = (/ & & 0.12452e+01_rb,0.32737e+01_rb,0.42022e+01_rb,0.44428e+01_rb,0.27130e+01_rb /) kbo(:, 1,34,10) = (/ & & 0.64347e+00_rb,0.21163e+01_rb,0.25854e+01_rb,0.27260e+01_rb,0.16632e+01_rb /) kbo(:, 2,34,10) = (/ & & 0.75313e+00_rb,0.23563e+01_rb,0.29579e+01_rb,0.31342e+01_rb,0.18999e+01_rb /) kbo(:, 3,34,10) = (/ & & 0.88833e+00_rb,0.26269e+01_rb,0.33662e+01_rb,0.35749e+01_rb,0.21605e+01_rb /) kbo(:, 4,34,10) = (/ & & 0.10487e+01_rb,0.29401e+01_rb,0.38003e+01_rb,0.40358e+01_rb,0.24405e+01_rb /) kbo(:, 5,34,10) = (/ & & 0.12301e+01_rb,0.33056e+01_rb,0.42553e+01_rb,0.45073e+01_rb,0.27333e+01_rb /) kbo(:, 1,35,10) = (/ & & 0.61333e+00_rb,0.20804e+01_rb,0.25725e+01_rb,0.27255e+01_rb,0.16337e+01_rb /) kbo(:, 2,35,10) = (/ & & 0.72416e+00_rb,0.23301e+01_rb,0.29566e+01_rb,0.31440e+01_rb,0.18805e+01_rb /) kbo(:, 3,35,10) = (/ & & 0.85987e+00_rb,0.26111e+01_rb,0.33740e+01_rb,0.35934e+01_rb,0.21502e+01_rb /) kbo(:, 4,35,10) = (/ & & 0.10212e+01_rb,0.29378e+01_rb,0.38159e+01_rb,0.40603e+01_rb,0.24378e+01_rb /) kbo(:, 5,35,10) = (/ & & 0.12063e+01_rb,0.33167e+01_rb,0.42768e+01_rb,0.45362e+01_rb,0.27369e+01_rb /) kbo(:, 1,36,10) = (/ & & 0.57858e+00_rb,0.20318e+01_rb,0.25343e+01_rb,0.26932e+01_rb,0.15911e+01_rb /) kbo(:, 2,36,10) = (/ & & 0.68823e+00_rb,0.22888e+01_rb,0.29242e+01_rb,0.31171e+01_rb,0.18445e+01_rb /) kbo(:, 3,36,10) = (/ & & 0.82172e+00_rb,0.25765e+01_rb,0.33460e+01_rb,0.35706e+01_rb,0.21205e+01_rb /) kbo(:, 4,36,10) = (/ & & 0.98227e+00_rb,0.29099e+01_rb,0.37920e+01_rb,0.40410e+01_rb,0.24128e+01_rb /) kbo(:, 5,36,10) = (/ & & 0.11693e+01_rb,0.32947e+01_rb,0.42558e+01_rb,0.45198e+01_rb,0.27160e+01_rb /) kbo(:, 1,37,10) = (/ & & 0.53405e+00_rb,0.19558e+01_rb,0.24506e+01_rb,0.26071e+01_rb,0.15218e+01_rb /) kbo(:, 2,37,10) = (/ & & 0.63968e+00_rb,0.22170e+01_rb,0.28388e+01_rb,0.30310e+01_rb,0.17770e+01_rb /) kbo(:, 3,37,10) = (/ & & 0.76779e+00_rb,0.25049e+01_rb,0.32599e+01_rb,0.34842e+01_rb,0.20552e+01_rb /) kbo(:, 4,37,10) = (/ & & 0.92384e+00_rb,0.28358e+01_rb,0.37058e+01_rb,0.39557e+01_rb,0.23490e+01_rb /) kbo(:, 5,37,10) = (/ & & 0.11094e+01_rb,0.32175e+01_rb,0.41691e+01_rb,0.44348e+01_rb,0.26544e+01_rb /) kbo(:, 1,38,10) = (/ & & 0.49328e+00_rb,0.18861e+01_rb,0.23724e+01_rb,0.25236e+01_rb,0.14577e+01_rb /) kbo(:, 2,38,10) = (/ & & 0.59575e+00_rb,0.21506e+01_rb,0.27570e+01_rb,0.29471e+01_rb,0.17138e+01_rb /) kbo(:, 3,38,10) = (/ & & 0.71877e+00_rb,0.24381e+01_rb,0.31760e+01_rb,0.33985e+01_rb,0.19934e+01_rb /) kbo(:, 4,38,10) = (/ & & 0.87044e+00_rb,0.27651e+01_rb,0.36203e+01_rb,0.38701e+01_rb,0.22879e+01_rb /) kbo(:, 5,38,10) = (/ & & 0.10541e+01_rb,0.31424e+01_rb,0.40835e+01_rb,0.43497e+01_rb,0.25942e+01_rb /) kbo(:, 1,39,10) = (/ & & 0.45633e+00_rb,0.18232e+01_rb,0.23004e+01_rb,0.24453e+01_rb,0.13998e+01_rb /) kbo(:, 2,39,10) = (/ & & 0.55664e+00_rb,0.20902e+01_rb,0.26810e+01_rb,0.28682e+01_rb,0.16563e+01_rb /) kbo(:, 3,39,10) = (/ & & 0.67511e+00_rb,0.23775e+01_rb,0.30973e+01_rb,0.33174e+01_rb,0.19363e+01_rb /) kbo(:, 4,39,10) = (/ & & 0.82312e+00_rb,0.27002e+01_rb,0.35399e+01_rb,0.37881e+01_rb,0.22310e+01_rb /) kbo(:, 5,39,10) = (/ & & 0.10047e+01_rb,0.30719e+01_rb,0.40016e+01_rb,0.42681e+01_rb,0.25376e+01_rb /) kbo(:, 1,40,10) = (/ & & 0.41369e+00_rb,0.17392e+01_rb,0.21979e+01_rb,0.23287e+01_rb,0.13226e+01_rb /) kbo(:, 2,40,10) = (/ & & 0.51051e+00_rb,0.20064e+01_rb,0.25693e+01_rb,0.27492e+01_rb,0.15756e+01_rb /) kbo(:, 3,40,10) = (/ & & 0.62337e+00_rb,0.22909e+01_rb,0.29791e+01_rb,0.31928e+01_rb,0.18532e+01_rb /) kbo(:, 4,40,10) = (/ & & 0.76463e+00_rb,0.26052e+01_rb,0.34168e+01_rb,0.36603e+01_rb,0.21464e+01_rb /) kbo(:, 5,40,10) = (/ & & 0.94032e+00_rb,0.29656e+01_rb,0.38751e+01_rb,0.41396e+01_rb,0.24517e+01_rb /) kbo(:, 1,41,10) = (/ & & 0.37354e+00_rb,0.16561e+01_rb,0.20963e+01_rb,0.22111e+01_rb,0.12469e+01_rb /) kbo(:, 2,41,10) = (/ & & 0.46665e+00_rb,0.19239e+01_rb,0.24587e+01_rb,0.26289e+01_rb,0.14959e+01_rb /) kbo(:, 3,41,10) = (/ & & 0.57545e+00_rb,0.22047e+01_rb,0.28597e+01_rb,0.30659e+01_rb,0.17694e+01_rb /) kbo(:, 4,41,10) = (/ & & 0.70985e+00_rb,0.25106e+01_rb,0.32912e+01_rb,0.35291e+01_rb,0.20606e+01_rb /) kbo(:, 5,41,10) = (/ & & 0.87840e+00_rb,0.28591e+01_rb,0.37457e+01_rb,0.40073e+01_rb,0.23640e+01_rb /) kbo(:, 1,42,10) = (/ & & 0.33676e+00_rb,0.15772e+01_rb,0.19999e+01_rb,0.20973e+01_rb,0.11755e+01_rb /) kbo(:, 2,42,10) = (/ & & 0.42603e+00_rb,0.18429e+01_rb,0.23518e+01_rb,0.25105e+01_rb,0.14196e+01_rb /) kbo(:, 3,42,10) = (/ & & 0.53169e+00_rb,0.21211e+01_rb,0.27440e+01_rb,0.29424e+01_rb,0.16886e+01_rb /) kbo(:, 4,42,10) = (/ & & 0.65992e+00_rb,0.24200e+01_rb,0.31691e+01_rb,0.34004e+01_rb,0.19770e+01_rb /) kbo(:, 5,42,10) = (/ & & 0.82123e+00_rb,0.27572e+01_rb,0.36189e+01_rb,0.38764e+01_rb,0.22780e+01_rb /) kbo(:, 1,43,10) = (/ & & 0.29880e+00_rb,0.14855e+01_rb,0.18883e+01_rb,0.19649e+01_rb,0.10947e+01_rb /) kbo(:, 2,43,10) = (/ & & 0.38323e+00_rb,0.17495e+01_rb,0.22289e+01_rb,0.23704e+01_rb,0.13324e+01_rb /) kbo(:, 3,43,10) = (/ & & 0.48519e+00_rb,0.20243e+01_rb,0.26093e+01_rb,0.27970e+01_rb,0.15948e+01_rb /) kbo(:, 4,43,10) = (/ & & 0.60690e+00_rb,0.23164e+01_rb,0.30260e+01_rb,0.32477e+01_rb,0.18788e+01_rb /) kbo(:, 5,43,10) = (/ & & 0.75876e+00_rb,0.26404e+01_rb,0.34692e+01_rb,0.37199e+01_rb,0.21767e+01_rb /) kbo(:, 1,44,10) = (/ & & 0.26234e+00_rb,0.13896e+01_rb,0.17735e+01_rb,0.18283e+01_rb,0.10125e+01_rb /) kbo(:, 2,44,10) = (/ & & 0.34133e+00_rb,0.16516e+01_rb,0.21029e+01_rb,0.22231e+01_rb,0.12426e+01_rb /) kbo(:, 3,44,10) = (/ & & 0.43896e+00_rb,0.19234e+01_rb,0.24698e+01_rb,0.26446e+01_rb,0.14975e+01_rb /) kbo(:, 4,44,10) = (/ & & 0.55556e+00_rb,0.22104e+01_rb,0.28764e+01_rb,0.30872e+01_rb,0.17758e+01_rb /) kbo(:, 5,44,10) = (/ & & 0.69720e+00_rb,0.25211e+01_rb,0.33108e+01_rb,0.35530e+01_rb,0.20699e+01_rb /) kbo(:, 1,45,10) = (/ & & 0.22932e+00_rb,0.12967e+01_rb,0.16617e+01_rb,0.16976e+01_rb,0.93402e+00_rb /) kbo(:, 2,45,10) = (/ & & 0.30290e+00_rb,0.15560e+01_rb,0.19824e+01_rb,0.20804e+01_rb,0.11566e+01_rb /) kbo(:, 3,45,10) = (/ & & 0.39581e+00_rb,0.18251e+01_rb,0.23356e+01_rb,0.24949e+01_rb,0.14039e+01_rb /) kbo(:, 4,45,10) = (/ & & 0.50777e+00_rb,0.21068e+01_rb,0.27305e+01_rb,0.29300e+01_rb,0.16755e+01_rb /) kbo(:, 5,45,10) = (/ & & 0.64060e+00_rb,0.24073e+01_rb,0.31565e+01_rb,0.33892e+01_rb,0.19653e+01_rb /) kbo(:, 1,46,10) = (/ & & 0.19825e+00_rb,0.12020e+01_rb,0.15457e+01_rb,0.15662e+01_rb,0.85464e+00_rb /) kbo(:, 2,46,10) = (/ & & 0.26591e+00_rb,0.14563e+01_rb,0.18595e+01_rb,0.19337e+01_rb,0.10694e+01_rb /) kbo(:, 3,46,10) = (/ & & 0.35343e+00_rb,0.17232e+01_rb,0.22000e+01_rb,0.23390e+01_rb,0.13083e+01_rb /) kbo(:, 4,46,10) = (/ & & 0.46053e+00_rb,0.19999e+01_rb,0.25801e+01_rb,0.27669e+01_rb,0.15716e+01_rb /) kbo(:, 5,46,10) = (/ & & 0.58556e+00_rb,0.22922e+01_rb,0.29962e+01_rb,0.32174e+01_rb,0.18560e+01_rb /) kbo(:, 1,47,10) = (/ & & 0.16836e+00_rb,0.11008e+01_rb,0.14194e+01_rb,0.14270e+01_rb,0.77061e+00_rb /) kbo(:, 2,47,10) = (/ & & 0.22922e+00_rb,0.13473e+01_rb,0.17277e+01_rb,0.17767e+01_rb,0.97668e+00_rb /) kbo(:, 3,47,10) = (/ & & 0.31004e+00_rb,0.16106e+01_rb,0.20551e+01_rb,0.21688e+01_rb,0.12060e+01_rb /) kbo(:, 4,47,10) = (/ & & 0.41110e+00_rb,0.18840e+01_rb,0.24189e+01_rb,0.25893e+01_rb,0.14598e+01_rb /) kbo(:, 5,47,10) = (/ & & 0.52932e+00_rb,0.21690e+01_rb,0.28216e+01_rb,0.30298e+01_rb,0.17368e+01_rb /) kbo(:, 1,48,10) = (/ & & 0.14220e+00_rb,0.10041e+01_rb,0.12957e+01_rb,0.12963e+01_rb,0.69114e+00_rb /) kbo(:, 2,48,10) = (/ & & 0.19626e+00_rb,0.12419e+01_rb,0.15985e+01_rb,0.16273e+01_rb,0.88794e+00_rb /) kbo(:, 3,48,10) = (/ & & 0.27002e+00_rb,0.15006e+01_rb,0.19169e+01_rb,0.20039e+01_rb,0.11083e+01_rb /) kbo(:, 4,48,10) = (/ & & 0.36488e+00_rb,0.17700e+01_rb,0.22644e+01_rb,0.24151e+01_rb,0.13523e+01_rb /) kbo(:, 5,48,10) = (/ & & 0.47701e+00_rb,0.20494e+01_rb,0.26525e+01_rb,0.28466e+01_rb,0.16205e+01_rb /) kbo(:, 1,49,10) = (/ & & 0.11950e+00_rb,0.91234e+00_rb,0.11755e+01_rb,0.11741e+01_rb,0.61611e+00_rb /) kbo(:, 2,49,10) = (/ & & 0.16698e+00_rb,0.11406e+01_rb,0.14723e+01_rb,0.14860e+01_rb,0.80337e+00_rb /) kbo(:, 3,49,10) = (/ & & 0.23352e+00_rb,0.13921e+01_rb,0.17842e+01_rb,0.18450e+01_rb,0.10147e+01_rb /) kbo(:, 4,49,10) = (/ & & 0.32154e+00_rb,0.16580e+01_rb,0.21177e+01_rb,0.22439e+01_rb,0.12490e+01_rb /) kbo(:, 5,49,10) = (/ & & 0.42774e+00_rb,0.19330e+01_rb,0.24891e+01_rb,0.26683e+01_rb,0.15078e+01_rb /) kbo(:, 1,50,10) = (/ & & 0.10087e+00_rb,0.83065e+00_rb,0.10669e+01_rb,0.10674e+01_rb,0.54936e+00_rb /) kbo(:, 2,50,10) = (/ & & 0.14237e+00_rb,0.10490e+01_rb,0.13561e+01_rb,0.13605e+01_rb,0.72778e+00_rb /) kbo(:, 3,50,10) = (/ & & 0.20234e+00_rb,0.12926e+01_rb,0.16630e+01_rb,0.17021e+01_rb,0.93055e+00_rb /) kbo(:, 4,50,10) = (/ & & 0.28362e+00_rb,0.15546e+01_rb,0.19861e+01_rb,0.20879e+01_rb,0.11563e+01_rb /) kbo(:, 5,50,10) = (/ & & 0.38392e+00_rb,0.18265e+01_rb,0.23423e+01_rb,0.25044e+01_rb,0.14058e+01_rb /) kbo(:, 1,51,10) = (/ & & 0.85305e-01_rb,0.75516e+00_rb,0.96600e+00_rb,0.96989e+00_rb,0.48900e+00_rb /) kbo(:, 2,51,10) = (/ & & 0.12119e+00_rb,0.96396e+00_rb,0.12458e+01_rb,0.12458e+01_rb,0.65803e+00_rb /) kbo(:, 3,51,10) = (/ & & 0.17492e+00_rb,0.11993e+01_rb,0.15474e+01_rb,0.15706e+01_rb,0.85222e+00_rb /) kbo(:, 4,51,10) = (/ & & 0.24953e+00_rb,0.14559e+01_rb,0.18635e+01_rb,0.19410e+01_rb,0.10697e+01_rb /) kbo(:, 5,51,10) = (/ & & 0.34420e+00_rb,0.17250e+01_rb,0.22062e+01_rb,0.23483e+01_rb,0.13105e+01_rb /) kbo(:, 1,52,10) = (/ & & 0.72122e-01_rb,0.68398e+00_rb,0.87088e+00_rb,0.87737e+00_rb,0.43154e+00_rb /) kbo(:, 2,52,10) = (/ & & 0.10277e+00_rb,0.88315e+00_rb,0.11388e+01_rb,0.11383e+01_rb,0.59136e+00_rb /) kbo(:, 3,52,10) = (/ & & 0.15043e+00_rb,0.11094e+01_rb,0.14345e+01_rb,0.14453e+01_rb,0.77736e+00_rb /) kbo(:, 4,52,10) = (/ & & 0.21816e+00_rb,0.13587e+01_rb,0.17451e+01_rb,0.17993e+01_rb,0.98663e+00_rb /) kbo(:, 5,52,10) = (/ & & 0.30639e+00_rb,0.16242e+01_rb,0.20759e+01_rb,0.21951e+01_rb,0.12188e+01_rb /) kbo(:, 1,53,10) = (/ & & 0.60992e-01_rb,0.61681e+00_rb,0.78096e+00_rb,0.78801e+00_rb,0.37771e+00_rb /) kbo(:, 2,53,10) = (/ & & 0.86893e-01_rb,0.80591e+00_rb,0.10354e+01_rb,0.10374e+01_rb,0.52892e+00_rb /) kbo(:, 3,53,10) = (/ & & 0.12844e+00_rb,0.10223e+01_rb,0.13228e+01_rb,0.13263e+01_rb,0.70557e+00_rb /) kbo(:, 4,53,10) = (/ & & 0.18962e+00_rb,0.12639e+01_rb,0.16288e+01_rb,0.16633e+01_rb,0.90648e+00_rb /) kbo(:, 5,53,10) = (/ & & 0.27104e+00_rb,0.15253e+01_rb,0.19505e+01_rb,0.20457e+01_rb,0.11304e+01_rb /) kbo(:, 1,54,10) = (/ & & 0.52146e-01_rb,0.55862e+00_rb,0.70341e+00_rb,0.70953e+00_rb,0.33141e+00_rb /) kbo(:, 2,54,10) = (/ & & 0.74252e-01_rb,0.73817e+00_rb,0.94468e+00_rb,0.94968e+00_rb,0.47420e+00_rb /) kbo(:, 3,54,10) = (/ & & 0.11046e+00_rb,0.94583e+00_rb,0.12229e+01_rb,0.12232e+01_rb,0.64224e+00_rb /) kbo(:, 4,54,10) = (/ & & 0.16584e+00_rb,0.11796e+01_rb,0.15239e+01_rb,0.15447e+01_rb,0.83594e+00_rb /) kbo(:, 5,54,10) = (/ & & 0.24084e+00_rb,0.14356e+01_rb,0.18395e+01_rb,0.19125e+01_rb,0.10521e+01_rb /) kbo(:, 1,55,10) = (/ & & 0.44769e-01_rb,0.50580e+00_rb,0.63367e+00_rb,0.63830e+00_rb,0.29171e+00_rb /) kbo(:, 2,55,10) = (/ & & 0.63801e-01_rb,0.67695e+00_rb,0.86251e+00_rb,0.86950e+00_rb,0.42385e+00_rb /) kbo(:, 3,55,10) = (/ & & 0.95281e-01_rb,0.87561e+00_rb,0.11296e+01_rb,0.11298e+01_rb,0.58465e+00_rb /) kbo(:, 4,55,10) = (/ & & 0.14509e+00_rb,0.11012e+01_rb,0.14250e+01_rb,0.14355e+01_rb,0.77056e+00_rb /) kbo(:, 5,55,10) = (/ & & 0.21402e+00_rb,0.13506e+01_rb,0.17360e+01_rb,0.17888e+01_rb,0.97966e+00_rb /) kbo(:, 1,56,10) = (/ & & 0.38303e-01_rb,0.45495e+00_rb,0.56826e+00_rb,0.57046e+00_rb,0.25591e+00_rb /) kbo(:, 2,56,10) = (/ & & 0.54762e-01_rb,0.61846e+00_rb,0.78411e+00_rb,0.79150e+00_rb,0.37700e+00_rb /) kbo(:, 3,56,10) = (/ & & 0.82009e-01_rb,0.80830e+00_rb,0.10394e+01_rb,0.10417e+01_rb,0.52950e+00_rb /) kbo(:, 4,56,10) = (/ & & 0.12621e+00_rb,0.10253e+01_rb,0.13275e+01_rb,0.13316e+01_rb,0.70721e+00_rb /) kbo(:, 5,56,10) = (/ & & 0.18937e+00_rb,0.12680e+01_rb,0.16344e+01_rb,0.16700e+01_rb,0.90979e+00_rb /) kbo(:, 1,57,10) = (/ & & 0.32632e-01_rb,0.40611e+00_rb,0.50731e+00_rb,0.50659e+00_rb,0.22496e+00_rb /) kbo(:, 2,57,10) = (/ & & 0.47019e-01_rb,0.56304e+00_rb,0.71002e+00_rb,0.71651e+00_rb,0.33305e+00_rb /) kbo(:, 3,57,10) = (/ & & 0.70456e-01_rb,0.74361e+00_rb,0.95266e+00_rb,0.95775e+00_rb,0.47635e+00_rb /) kbo(:, 4,57,10) = (/ & & 0.10937e+00_rb,0.95229e+00_rb,0.12322e+01_rb,0.12329e+01_rb,0.64711e+00_rb /) kbo(:, 5,57,10) = (/ & & 0.16675e+00_rb,0.11875e+01_rb,0.15342e+01_rb,0.15565e+01_rb,0.84216e+00_rb /) kbo(:, 1,58,10) = (/ & & 0.27856e-01_rb,0.36188e+00_rb,0.45369e+00_rb,0.45016e+00_rb,0.19835e+00_rb /) kbo(:, 2,58,10) = (/ & & 0.40581e-01_rb,0.51273e+00_rb,0.64353e+00_rb,0.64865e+00_rb,0.29546e+00_rb /) kbo(:, 3,58,10) = (/ & & 0.60914e-01_rb,0.68524e+00_rb,0.87436e+00_rb,0.88146e+00_rb,0.42903e+00_rb /) kbo(:, 4,58,10) = (/ & & 0.95154e-01_rb,0.88582e+00_rb,0.11439e+01_rb,0.11441e+01_rb,0.59161e+00_rb /) kbo(:, 5,58,10) = (/ & & 0.14715e+00_rb,0.11133e+01_rb,0.14407e+01_rb,0.14528e+01_rb,0.77938e+00_rb /) kbo(:, 1,59,10) = (/ & & 0.25371e-01_rb,0.34461e+00_rb,0.43295e+00_rb,0.42860e+00_rb,0.18805e+00_rb /) kbo(:, 2,59,10) = (/ & & 0.37551e-01_rb,0.49296e+00_rb,0.61778e+00_rb,0.62208e+00_rb,0.28092e+00_rb /) kbo(:, 3,59,10) = (/ & & 0.57031e-01_rb,0.66239e+00_rb,0.84380e+00_rb,0.85137e+00_rb,0.40984e+00_rb /) kbo(:, 4,59,10) = (/ & & 0.89730e-01_rb,0.85967e+00_rb,0.11090e+01_rb,0.11096e+01_rb,0.56882e+00_rb /) kbo(:, 5,59,10) = (/ & & 0.13959e+00_rb,0.10839e+01_rb,0.14035e+01_rb,0.14125e+01_rb,0.75487e+00_rb /) kbo(:, 1,13,11) = (/ & & 0.13518e+02_rb,0.19426e+02_rb,0.21368e+02_rb,0.20607e+02_rb,0.15967e+02_rb /) kbo(:, 2,13,11) = (/ & & 0.13249e+02_rb,0.19278e+02_rb,0.21345e+02_rb,0.20725e+02_rb,0.16218e+02_rb /) kbo(:, 3,13,11) = (/ & & 0.12991e+02_rb,0.19106e+02_rb,0.21344e+02_rb,0.20838e+02_rb,0.16493e+02_rb /) kbo(:, 4,13,11) = (/ & & 0.12783e+02_rb,0.18953e+02_rb,0.21337e+02_rb,0.20959e+02_rb,0.16769e+02_rb /) kbo(:, 5,13,11) = (/ & & 0.12735e+02_rb,0.18820e+02_rb,0.21328e+02_rb,0.21104e+02_rb,0.16982e+02_rb /) kbo(:, 1,14,11) = (/ & & 0.11504e+02_rb,0.17534e+02_rb,0.19457e+02_rb,0.19131e+02_rb,0.14625e+02_rb /) kbo(:, 2,14,11) = (/ & & 0.11281e+02_rb,0.17396e+02_rb,0.19491e+02_rb,0.19271e+02_rb,0.14939e+02_rb /) kbo(:, 3,14,11) = (/ & & 0.11112e+02_rb,0.17290e+02_rb,0.19527e+02_rb,0.19415e+02_rb,0.15255e+02_rb /) kbo(:, 4,14,11) = (/ & & 0.11115e+02_rb,0.17213e+02_rb,0.19560e+02_rb,0.19580e+02_rb,0.15504e+02_rb /) kbo(:, 5,14,11) = (/ & & 0.11342e+02_rb,0.17139e+02_rb,0.19615e+02_rb,0.19759e+02_rb,0.15706e+02_rb /) kbo(:, 1,15,11) = (/ & & 0.98170e+01_rb,0.15599e+02_rb,0.17627e+02_rb,0.17666e+02_rb,0.13354e+02_rb /) kbo(:, 2,15,11) = (/ & & 0.96747e+01_rb,0.15533e+02_rb,0.17695e+02_rb,0.17842e+02_rb,0.13687e+02_rb /) kbo(:, 3,15,11) = (/ & & 0.96984e+01_rb,0.15502e+02_rb,0.17755e+02_rb,0.18036e+02_rb,0.14004e+02_rb /) kbo(:, 4,15,11) = (/ & & 0.99522e+01_rb,0.15480e+02_rb,0.17829e+02_rb,0.18235e+02_rb,0.14263e+02_rb /) kbo(:, 5,15,11) = (/ & & 0.10344e+02_rb,0.15525e+02_rb,0.17929e+02_rb,0.18418e+02_rb,0.14475e+02_rb /) kbo(:, 1,16,11) = (/ & & 0.84332e+01_rb,0.13806e+02_rb,0.15926e+02_rb,0.16215e+02_rb,0.12224e+02_rb /) kbo(:, 2,16,11) = (/ & & 0.84583e+01_rb,0.13805e+02_rb,0.16021e+02_rb,0.16437e+02_rb,0.12556e+02_rb /) kbo(:, 3,16,11) = (/ & & 0.87066e+01_rb,0.13823e+02_rb,0.16108e+02_rb,0.16660e+02_rb,0.12834e+02_rb /) kbo(:, 4,16,11) = (/ & & 0.90827e+01_rb,0.13924e+02_rb,0.16226e+02_rb,0.16883e+02_rb,0.13078e+02_rb /) kbo(:, 5,16,11) = (/ & & 0.95263e+01_rb,0.14156e+02_rb,0.16382e+02_rb,0.17079e+02_rb,0.13334e+02_rb /) kbo(:, 1,17,11) = (/ & & 0.73068e+01_rb,0.12252e+02_rb,0.14341e+02_rb,0.14810e+02_rb,0.11129e+02_rb /) kbo(:, 2,17,11) = (/ & & 0.75295e+01_rb,0.12291e+02_rb,0.14463e+02_rb,0.15052e+02_rb,0.11439e+02_rb /) kbo(:, 3,17,11) = (/ & & 0.78853e+01_rb,0.12405e+02_rb,0.14606e+02_rb,0.15309e+02_rb,0.11729e+02_rb /) kbo(:, 4,17,11) = (/ & & 0.83040e+01_rb,0.12643e+02_rb,0.14776e+02_rb,0.15548e+02_rb,0.12006e+02_rb /) kbo(:, 5,17,11) = (/ & & 0.87123e+01_rb,0.13039e+02_rb,0.14982e+02_rb,0.15762e+02_rb,0.12286e+02_rb /) kbo(:, 1,18,11) = (/ & & 0.64287e+01_rb,0.10933e+02_rb,0.12879e+02_rb,0.13451e+02_rb,0.10053e+02_rb /) kbo(:, 2,18,11) = (/ & & 0.67446e+01_rb,0.11039e+02_rb,0.13041e+02_rb,0.13740e+02_rb,0.10377e+02_rb /) kbo(:, 3,18,11) = (/ & & 0.71271e+01_rb,0.11266e+02_rb,0.13222e+02_rb,0.14018e+02_rb,0.10699e+02_rb /) kbo(:, 4,18,11) = (/ & & 0.75067e+01_rb,0.11650e+02_rb,0.13455e+02_rb,0.14263e+02_rb,0.11011e+02_rb /) kbo(:, 5,18,11) = (/ & & 0.78797e+01_rb,0.12144e+02_rb,0.13766e+02_rb,0.14517e+02_rb,0.11323e+02_rb /) kbo(:, 1,19,11) = (/ & & 0.57165e+01_rb,0.98198e+01_rb,0.11563e+02_rb,0.12210e+02_rb,0.90287e+01_rb /) kbo(:, 2,19,11) = (/ & & 0.60504e+01_rb,0.10030e+02_rb,0.11759e+02_rb,0.12511e+02_rb,0.93771e+01_rb /) kbo(:, 3,19,11) = (/ & & 0.63872e+01_rb,0.10390e+02_rb,0.12004e+02_rb,0.12787e+02_rb,0.97382e+01_rb /) kbo(:, 4,19,11) = (/ & & 0.67262e+01_rb,0.10858e+02_rb,0.12325e+02_rb,0.13071e+02_rb,0.10100e+02_rb /) kbo(:, 5,19,11) = (/ & & 0.70630e+01_rb,0.11396e+02_rb,0.12720e+02_rb,0.13371e+02_rb,0.10433e+02_rb /) kbo(:, 1,20,11) = (/ & & 0.51077e+01_rb,0.88680e+01_rb,0.10415e+02_rb,0.11053e+02_rb,0.80963e+01_rb /) kbo(:, 2,20,11) = (/ & & 0.54017e+01_rb,0.92107e+01_rb,0.10662e+02_rb,0.11361e+02_rb,0.84758e+01_rb /) kbo(:, 3,20,11) = (/ & & 0.57015e+01_rb,0.96698e+01_rb,0.10982e+02_rb,0.11668e+02_rb,0.88481e+01_rb /) kbo(:, 4,20,11) = (/ & & 0.60041e+01_rb,0.10196e+02_rb,0.11384e+02_rb,0.12000e+02_rb,0.92376e+01_rb /) kbo(:, 5,20,11) = (/ & & 0.63106e+01_rb,0.10732e+02_rb,0.11884e+02_rb,0.12349e+02_rb,0.96255e+01_rb /) kbo(:, 1,21,11) = (/ & & 0.45414e+01_rb,0.80841e+01_rb,0.94333e+01_rb,0.10001e+02_rb,0.72987e+01_rb /) kbo(:, 2,21,11) = (/ & & 0.48060e+01_rb,0.85169e+01_rb,0.97399e+01_rb,0.10324e+02_rb,0.76799e+01_rb /) kbo(:, 3,21,11) = (/ & & 0.50754e+01_rb,0.90311e+01_rb,0.10134e+02_rb,0.10673e+02_rb,0.80692e+01_rb /) kbo(:, 4,21,11) = (/ & & 0.53489e+01_rb,0.95660e+01_rb,0.10626e+02_rb,0.11046e+02_rb,0.84671e+01_rb /) kbo(:, 5,21,11) = (/ & & 0.56226e+01_rb,0.10100e+02_rb,0.11188e+02_rb,0.11467e+02_rb,0.88878e+01_rb /) kbo(:, 1,22,11) = (/ & & 0.40512e+01_rb,0.74537e+01_rb,0.86113e+01_rb,0.90760e+01_rb,0.66406e+01_rb /) kbo(:, 2,22,11) = (/ & & 0.42861e+01_rb,0.79455e+01_rb,0.89988e+01_rb,0.94326e+01_rb,0.70298e+01_rb /) kbo(:, 3,22,11) = (/ & & 0.45284e+01_rb,0.84723e+01_rb,0.94806e+01_rb,0.98282e+01_rb,0.74365e+01_rb /) kbo(:, 4,22,11) = (/ & & 0.47765e+01_rb,0.90022e+01_rb,0.10036e+02_rb,0.10267e+02_rb,0.78530e+01_rb /) kbo(:, 5,22,11) = (/ & & 0.50273e+01_rb,0.95375e+01_rb,0.10644e+02_rb,0.10762e+02_rb,0.82925e+01_rb /) kbo(:, 1,23,11) = (/ & & 0.36272e+01_rb,0.69345e+01_rb,0.79292e+01_rb,0.82821e+01_rb,0.60862e+01_rb /) kbo(:, 2,23,11) = (/ & & 0.38324e+01_rb,0.74412e+01_rb,0.84058e+01_rb,0.86779e+01_rb,0.64814e+01_rb /) kbo(:, 3,23,11) = (/ & & 0.40496e+01_rb,0.79556e+01_rb,0.89497e+01_rb,0.91277e+01_rb,0.69031e+01_rb /) kbo(:, 4,23,11) = (/ & & 0.42736e+01_rb,0.84881e+01_rb,0.95512e+01_rb,0.96353e+01_rb,0.73423e+01_rb /) kbo(:, 5,23,11) = (/ & & 0.45008e+01_rb,0.90231e+01_rb,0.10199e+02_rb,0.10196e+02_rb,0.78107e+01_rb /) kbo(:, 1,24,11) = (/ & & 0.32617e+01_rb,0.64927e+01_rb,0.73814e+01_rb,0.76204e+01_rb,0.56351e+01_rb /) kbo(:, 2,24,11) = (/ & & 0.34455e+01_rb,0.69864e+01_rb,0.79146e+01_rb,0.80668e+01_rb,0.60482e+01_rb /) kbo(:, 3,24,11) = (/ & & 0.36375e+01_rb,0.74982e+01_rb,0.85124e+01_rb,0.85688e+01_rb,0.64793e+01_rb /) kbo(:, 4,24,11) = (/ & & 0.38361e+01_rb,0.80253e+01_rb,0.91530e+01_rb,0.91384e+01_rb,0.69488e+01_rb /) kbo(:, 5,24,11) = (/ & & 0.40434e+01_rb,0.85770e+01_rb,0.98249e+01_rb,0.97701e+01_rb,0.74392e+01_rb /) kbo(:, 1,25,11) = (/ & & 0.29504e+01_rb,0.60996e+01_rb,0.69378e+01_rb,0.70933e+01_rb,0.52696e+01_rb /) kbo(:, 2,25,11) = (/ & & 0.31134e+01_rb,0.65859e+01_rb,0.75193e+01_rb,0.75874e+01_rb,0.56908e+01_rb /) kbo(:, 3,25,11) = (/ & & 0.32850e+01_rb,0.70991e+01_rb,0.81583e+01_rb,0.81455e+01_rb,0.61504e+01_rb /) kbo(:, 4,25,11) = (/ & & 0.34639e+01_rb,0.76357e+01_rb,0.88289e+01_rb,0.87766e+01_rb,0.66391e+01_rb /) kbo(:, 5,25,11) = (/ & & 0.36575e+01_rb,0.82031e+01_rb,0.95335e+01_rb,0.94728e+01_rb,0.71181e+01_rb /) kbo(:, 1,26,11) = (/ & & 0.26785e+01_rb,0.57592e+01_rb,0.65944e+01_rb,0.66793e+01_rb,0.49659e+01_rb /) kbo(:, 2,26,11) = (/ & & 0.28303e+01_rb,0.62512e+01_rb,0.72180e+01_rb,0.72292e+01_rb,0.54158e+01_rb /) kbo(:, 3,26,11) = (/ & & 0.29845e+01_rb,0.67700e+01_rb,0.78853e+01_rb,0.78517e+01_rb,0.58929e+01_rb /) kbo(:, 4,26,11) = (/ & & 0.31498e+01_rb,0.73218e+01_rb,0.85892e+01_rb,0.85405e+01_rb,0.63779e+01_rb /) kbo(:, 5,26,11) = (/ & & 0.33365e+01_rb,0.79095e+01_rb,0.93260e+01_rb,0.92876e+01_rb,0.68593e+01_rb /) kbo(:, 1,27,11) = (/ & & 0.24381e+01_rb,0.54719e+01_rb,0.63296e+01_rb,0.63699e+01_rb,0.47378e+01_rb /) kbo(:, 2,27,11) = (/ & & 0.25833e+01_rb,0.59706e+01_rb,0.69839e+01_rb,0.69809e+01_rb,0.52024e+01_rb /) kbo(:, 3,27,11) = (/ & & 0.27276e+01_rb,0.65032e+01_rb,0.76823e+01_rb,0.76623e+01_rb,0.56849e+01_rb /) kbo(:, 4,27,11) = (/ & & 0.28843e+01_rb,0.70768e+01_rb,0.84223e+01_rb,0.83973e+01_rb,0.61613e+01_rb /) kbo(:, 5,27,11) = (/ & & 0.30776e+01_rb,0.76837e+01_rb,0.91929e+01_rb,0.91871e+01_rb,0.66697e+01_rb /) kbo(:, 1,28,11) = (/ & & 0.22238e+01_rb,0.52366e+01_rb,0.61335e+01_rb,0.61574e+01_rb,0.45705e+01_rb /) kbo(:, 2,28,11) = (/ & & 0.23648e+01_rb,0.57451e+01_rb,0.68151e+01_rb,0.68266e+01_rb,0.50347e+01_rb /) kbo(:, 3,28,11) = (/ & & 0.25067e+01_rb,0.62980e+01_rb,0.75460e+01_rb,0.75548e+01_rb,0.55064e+01_rb /) kbo(:, 4,28,11) = (/ & & 0.26680e+01_rb,0.68930e+01_rb,0.83223e+01_rb,0.83308e+01_rb,0.60103e+01_rb /) kbo(:, 5,28,11) = (/ & & 0.28763e+01_rb,0.75234e+01_rb,0.91269e+01_rb,0.91547e+01_rb,0.65443e+01_rb /) kbo(:, 1,29,11) = (/ & & 0.20343e+01_rb,0.50540e+01_rb,0.60021e+01_rb,0.60360e+01_rb,0.44306e+01_rb /) kbo(:, 2,29,11) = (/ & & 0.21732e+01_rb,0.55785e+01_rb,0.67134e+01_rb,0.67544e+01_rb,0.48924e+01_rb /) kbo(:, 3,29,11) = (/ & & 0.23217e+01_rb,0.61554e+01_rb,0.74828e+01_rb,0.75217e+01_rb,0.53899e+01_rb /) kbo(:, 4,29,11) = (/ & & 0.24991e+01_rb,0.67727e+01_rb,0.82943e+01_rb,0.83341e+01_rb,0.59211e+01_rb /) kbo(:, 5,29,11) = (/ & & 0.27298e+01_rb,0.74309e+01_rb,0.91294e+01_rb,0.91877e+01_rb,0.64776e+01_rb /) kbo(:, 1,30,11) = (/ & & 0.18678e+01_rb,0.49203e+01_rb,0.59291e+01_rb,0.59875e+01_rb,0.43204e+01_rb /) kbo(:, 2,30,11) = (/ & & 0.20102e+01_rb,0.54667e+01_rb,0.66747e+01_rb,0.67430e+01_rb,0.48026e+01_rb /) kbo(:, 3,30,11) = (/ & & 0.21719e+01_rb,0.60682e+01_rb,0.74827e+01_rb,0.75477e+01_rb,0.53281e+01_rb /) kbo(:, 4,30,11) = (/ & & 0.23720e+01_rb,0.67126e+01_rb,0.83252e+01_rb,0.83910e+01_rb,0.58826e+01_rb /) kbo(:, 5,30,11) = (/ & & 0.26264e+01_rb,0.73977e+01_rb,0.91870e+01_rb,0.92723e+01_rb,0.64598e+01_rb /) kbo(:, 1,31,11) = (/ & & 0.17244e+01_rb,0.48370e+01_rb,0.59156e+01_rb,0.60001e+01_rb,0.42555e+01_rb /) kbo(:, 2,31,11) = (/ & & 0.18755e+01_rb,0.54107e+01_rb,0.66999e+01_rb,0.67904e+01_rb,0.47644e+01_rb /) kbo(:, 3,31,11) = (/ & & 0.20573e+01_rb,0.60363e+01_rb,0.75402e+01_rb,0.76274e+01_rb,0.53155e+01_rb /) kbo(:, 4,31,11) = (/ & & 0.22829e+01_rb,0.67094e+01_rb,0.84079e+01_rb,0.84962e+01_rb,0.58901e+01_rb /) kbo(:, 5,31,11) = (/ & & 0.25590e+01_rb,0.74195e+01_rb,0.92909e+01_rb,0.93994e+01_rb,0.64871e+01_rb /) kbo(:, 1,32,11) = (/ & & 0.16069e+01_rb,0.48030e+01_rb,0.59579e+01_rb,0.60639e+01_rb,0.42356e+01_rb /) kbo(:, 2,32,11) = (/ & & 0.17705e+01_rb,0.54037e+01_rb,0.67788e+01_rb,0.68874e+01_rb,0.47712e+01_rb /) kbo(:, 3,32,11) = (/ & & 0.19742e+01_rb,0.60574e+01_rb,0.76448e+01_rb,0.77491e+01_rb,0.53434e+01_rb /) kbo(:, 4,32,11) = (/ & & 0.22247e+01_rb,0.67560e+01_rb,0.85310e+01_rb,0.86385e+01_rb,0.59381e+01_rb /) kbo(:, 5,32,11) = (/ & & 0.25238e+01_rb,0.74880e+01_rb,0.94292e+01_rb,0.95570e+01_rb,0.65497e+01_rb /) kbo(:, 1,33,11) = (/ & & 0.15128e+01_rb,0.48140e+01_rb,0.60501e+01_rb,0.61714e+01_rb,0.42550e+01_rb /) kbo(:, 2,33,11) = (/ & & 0.16946e+01_rb,0.54417e+01_rb,0.69000e+01_rb,0.70212e+01_rb,0.48155e+01_rb /) kbo(:, 3,33,11) = (/ & & 0.19206e+01_rb,0.61213e+01_rb,0.77839e+01_rb,0.79020e+01_rb,0.54069e+01_rb /) kbo(:, 4,33,11) = (/ & & 0.21946e+01_rb,0.68422e+01_rb,0.86827e+01_rb,0.88075e+01_rb,0.60169e+01_rb /) kbo(:, 5,33,11) = (/ & & 0.25173e+01_rb,0.75913e+01_rb,0.95924e+01_rb,0.97373e+01_rb,0.66398e+01_rb /) kbo(:, 1,34,11) = (/ & & 0.14356e+01_rb,0.48418e+01_rb,0.61495e+01_rb,0.62828e+01_rb,0.42896e+01_rb /) kbo(:, 2,34,11) = (/ & & 0.16357e+01_rb,0.54935e+01_rb,0.70184e+01_rb,0.71516e+01_rb,0.48691e+01_rb /) kbo(:, 3,34,11) = (/ & & 0.18838e+01_rb,0.61957e+01_rb,0.79151e+01_rb,0.80457e+01_rb,0.54742e+01_rb /) kbo(:, 4,34,11) = (/ & & 0.21788e+01_rb,0.69325e+01_rb,0.88256e+01_rb,0.89643e+01_rb,0.60956e+01_rb /) kbo(:, 5,34,11) = (/ & & 0.25238e+01_rb,0.76930e+01_rb,0.97439e+01_rb,0.99021e+01_rb,0.67264e+01_rb /) kbo(:, 1,35,11) = (/ & & 0.13620e+01_rb,0.48400e+01_rb,0.61911e+01_rb,0.63341e+01_rb,0.42950e+01_rb /) kbo(:, 2,35,11) = (/ & & 0.15765e+01_rb,0.55077e+01_rb,0.70717e+01_rb,0.72149e+01_rb,0.48872e+01_rb /) kbo(:, 3,35,11) = (/ & & 0.18416e+01_rb,0.62238e+01_rb,0.79778e+01_rb,0.81173e+01_rb,0.55014e+01_rb /) kbo(:, 4,35,11) = (/ & & 0.21528e+01_rb,0.69694e+01_rb,0.88951e+01_rb,0.90430e+01_rb,0.61304e+01_rb /) kbo(:, 5,35,11) = (/ & & 0.25135e+01_rb,0.77370e+01_rb,0.98191e+01_rb,0.99865e+01_rb,0.67662e+01_rb /) kbo(:, 1,36,11) = (/ & & 0.12836e+01_rb,0.47892e+01_rb,0.61549e+01_rb,0.63050e+01_rb,0.42540e+01_rb /) kbo(:, 2,36,11) = (/ & & 0.15070e+01_rb,0.54649e+01_rb,0.70416e+01_rb,0.71923e+01_rb,0.48536e+01_rb /) kbo(:, 3,36,11) = (/ & & 0.17830e+01_rb,0.61872e+01_rb,0.79531e+01_rb,0.80994e+01_rb,0.54734e+01_rb /) kbo(:, 4,36,11) = (/ & & 0.21055e+01_rb,0.69369e+01_rb,0.88745e+01_rb,0.90288e+01_rb,0.61066e+01_rb /) kbo(:, 5,36,11) = (/ & & 0.24754e+01_rb,0.77090e+01_rb,0.98023e+01_rb,0.99759e+01_rb,0.67459e+01_rb /) kbo(:, 1,37,11) = (/ & & 0.11878e+01_rb,0.46541e+01_rb,0.59975e+01_rb,0.61531e+01_rb,0.41357e+01_rb /) kbo(:, 2,37,11) = (/ & & 0.14114e+01_rb,0.53279e+01_rb,0.68836e+01_rb,0.70407e+01_rb,0.47366e+01_rb /) kbo(:, 3,37,11) = (/ & & 0.16907e+01_rb,0.60488e+01_rb,0.77961e+01_rb,0.79492e+01_rb,0.53587e+01_rb /) kbo(:, 4,37,11) = (/ & & 0.20171e+01_rb,0.67987e+01_rb,0.87214e+01_rb,0.88782e+01_rb,0.59931e+01_rb /) kbo(:, 5,37,11) = (/ & & 0.23879e+01_rb,0.75721e+01_rb,0.96505e+01_rb,0.98263e+01_rb,0.66346e+01_rb /) kbo(:, 1,38,11) = (/ & & 0.11019e+01_rb,0.45241e+01_rb,0.58411e+01_rb,0.60015e+01_rb,0.40206e+01_rb /) kbo(:, 2,38,11) = (/ & & 0.13240e+01_rb,0.51938e+01_rb,0.67248e+01_rb,0.68881e+01_rb,0.46215e+01_rb /) kbo(:, 3,38,11) = (/ & & 0.16050e+01_rb,0.59127e+01_rb,0.76377e+01_rb,0.77969e+01_rb,0.52444e+01_rb /) kbo(:, 4,38,11) = (/ & & 0.19344e+01_rb,0.66614e+01_rb,0.85656e+01_rb,0.87241e+01_rb,0.58797e+01_rb /) kbo(:, 5,38,11) = (/ & & 0.23053e+01_rb,0.74352e+01_rb,0.94961e+01_rb,0.96730e+01_rb,0.65232e+01_rb /) kbo(:, 1,39,11) = (/ & & 0.10261e+01_rb,0.44035e+01_rb,0.56925e+01_rb,0.58571e+01_rb,0.39130e+01_rb /) kbo(:, 2,39,11) = (/ & & 0.12458e+01_rb,0.50694e+01_rb,0.65735e+01_rb,0.67411e+01_rb,0.45130e+01_rb /) kbo(:, 3,39,11) = (/ & & 0.15281e+01_rb,0.57844e+01_rb,0.74853e+01_rb,0.76497e+01_rb,0.51353e+01_rb /) kbo(:, 4,39,11) = (/ & & 0.18590e+01_rb,0.65310e+01_rb,0.84139e+01_rb,0.85752e+01_rb,0.57711e+01_rb /) kbo(:, 5,39,11) = (/ & & 0.22296e+01_rb,0.73031e+01_rb,0.93461e+01_rb,0.95233e+01_rb,0.64155e+01_rb /) kbo(:, 1,40,11) = (/ & & 0.94020e+00_rb,0.42252e+01_rb,0.54618e+01_rb,0.56305e+01_rb,0.37514e+01_rb /) kbo(:, 2,40,11) = (/ & & 0.11510e+01_rb,0.48808e+01_rb,0.63359e+01_rb,0.65051e+01_rb,0.43464e+01_rb /) kbo(:, 3,40,11) = (/ & & 0.14267e+01_rb,0.55865e+01_rb,0.72429e+01_rb,0.74116e+01_rb,0.49659e+01_rb /) kbo(:, 4,40,11) = (/ & & 0.17534e+01_rb,0.63284e+01_rb,0.81706e+01_rb,0.83346e+01_rb,0.56004e+01_rb /) kbo(:, 5,40,11) = (/ & & 0.21196e+01_rb,0.70954e+01_rb,0.91038e+01_rb,0.92790e+01_rb,0.62443e+01_rb /) kbo(:, 1,41,11) = (/ & & 0.86129e+00_rb,0.40457e+01_rb,0.52264e+01_rb,0.53976e+01_rb,0.35879e+01_rb /) kbo(:, 2,41,11) = (/ & & 0.10633e+01_rb,0.46915e+01_rb,0.60924e+01_rb,0.62635e+01_rb,0.41768e+01_rb /) kbo(:, 3,41,11) = (/ & & 0.13283e+01_rb,0.53845e+01_rb,0.69926e+01_rb,0.71649e+01_rb,0.47921e+01_rb /) kbo(:, 4,41,11) = (/ & & 0.16485e+01_rb,0.61201e+01_rb,0.79175e+01_rb,0.80844e+01_rb,0.54240e+01_rb /) kbo(:, 5,41,11) = (/ & & 0.20093e+01_rb,0.68812e+01_rb,0.88522e+01_rb,0.90249e+01_rb,0.60668e+01_rb /) kbo(:, 1,42,11) = (/ & & 0.79123e+00_rb,0.38735e+01_rb,0.49960e+01_rb,0.51699e+01_rb,0.34287e+01_rb /) kbo(:, 2,42,11) = (/ & & 0.98295e+00_rb,0.45072e+01_rb,0.58533e+01_rb,0.60254e+01_rb,0.40109e+01_rb /) kbo(:, 3,42,11) = (/ & & 0.12364e+01_rb,0.51876e+01_rb,0.67459e+01_rb,0.69214e+01_rb,0.46212e+01_rb /) kbo(:, 4,42,11) = (/ & & 0.15484e+01_rb,0.59150e+01_rb,0.76665e+01_rb,0.78373e+01_rb,0.52503e+01_rb /) kbo(:, 5,42,11) = (/ & & 0.19026e+01_rb,0.66716e+01_rb,0.86018e+01_rb,0.87728e+01_rb,0.58915e+01_rb /) kbo(:, 1,43,11) = (/ & & 0.71984e+00_rb,0.36729e+01_rb,0.47235e+01_rb,0.48975e+01_rb,0.32397e+01_rb /) kbo(:, 2,43,11) = (/ & & 0.89808e+00_rb,0.42916e+01_rb,0.55697e+01_rb,0.57443e+01_rb,0.38153e+01_rb /) kbo(:, 3,43,11) = (/ & & 0.11360e+01_rb,0.49574e+01_rb,0.64519e+01_rb,0.66289e+01_rb,0.44184e+01_rb /) kbo(:, 4,43,11) = (/ & & 0.14345e+01_rb,0.56728e+01_rb,0.73660e+01_rb,0.75410e+01_rb,0.50437e+01_rb /) kbo(:, 5,43,11) = (/ & & 0.17793e+01_rb,0.64228e+01_rb,0.82999e+01_rb,0.84705e+01_rb,0.56823e+01_rb /) kbo(:, 1,44,11) = (/ & & 0.65285e+00_rb,0.34667e+01_rb,0.44372e+01_rb,0.46082e+01_rb,0.30399e+01_rb /) kbo(:, 2,44,11) = (/ & & 0.81657e+00_rb,0.40674e+01_rb,0.52701e+01_rb,0.54466e+01_rb,0.36094e+01_rb /) kbo(:, 3,44,11) = (/ & & 0.10370e+01_rb,0.47171e+01_rb,0.61405e+01_rb,0.63175e+01_rb,0.42038e+01_rb /) kbo(:, 4,44,11) = (/ & & 0.13194e+01_rb,0.54184e+01_rb,0.70473e+01_rb,0.72248e+01_rb,0.48237e+01_rb /) kbo(:, 5,44,11) = (/ & & 0.16514e+01_rb,0.61584e+01_rb,0.79760e+01_rb,0.81477e+01_rb,0.54581e+01_rb /) kbo(:, 1,45,11) = (/ & & 0.59324e+00_rb,0.32687e+01_rb,0.41610e+01_rb,0.43270e+01_rb,0.28437e+01_rb /) kbo(:, 2,45,11) = (/ & & 0.74292e+00_rb,0.38502e+01_rb,0.49754e+01_rb,0.51525e+01_rb,0.34081e+01_rb /) kbo(:, 3,45,11) = (/ & & 0.94606e+00_rb,0.44838e+01_rb,0.58347e+01_rb,0.60112e+01_rb,0.39932e+01_rb /) kbo(:, 4,45,11) = (/ & & 0.12103e+01_rb,0.51691e+01_rb,0.67312e+01_rb,0.69113e+01_rb,0.46063e+01_rb /) kbo(:, 5,45,11) = (/ & & 0.15283e+01_rb,0.58970e+01_rb,0.76529e+01_rb,0.78283e+01_rb,0.52365e+01_rb /) kbo(:, 1,46,11) = (/ & & 0.53665e+00_rb,0.30665e+01_rb,0.38788e+01_rb,0.40344e+01_rb,0.26396e+01_rb /) kbo(:, 2,46,11) = (/ & & 0.67326e+00_rb,0.36275e+01_rb,0.46685e+01_rb,0.48445e+01_rb,0.31970e+01_rb /) kbo(:, 3,46,11) = (/ & & 0.85964e+00_rb,0.42450e+01_rb,0.55161e+01_rb,0.56940e+01_rb,0.37742e+01_rb /) kbo(:, 4,46,11) = (/ & & 0.11026e+01_rb,0.49112e+01_rb,0.63992e+01_rb,0.65795e+01_rb,0.43785e+01_rb /) kbo(:, 5,46,11) = (/ & & 0.14030e+01_rb,0.56247e+01_rb,0.73128e+01_rb,0.74918e+01_rb,0.50037e+01_rb /) kbo(:, 1,47,11) = (/ & & 0.47965e+00_rb,0.28512e+01_rb,0.35773e+01_rb,0.37190e+01_rb,0.24179e+01_rb /) kbo(:, 2,47,11) = (/ & & 0.60499e+00_rb,0.33895e+01_rb,0.43353e+01_rb,0.45070e+01_rb,0.29653e+01_rb /) kbo(:, 3,47,11) = (/ & & 0.77211e+00_rb,0.39857e+01_rb,0.51656e+01_rb,0.53439e+01_rb,0.35346e+01_rb /) kbo(:, 4,47,11) = (/ & & 0.99280e+00_rb,0.46320e+01_rb,0.60346e+01_rb,0.62138e+01_rb,0.41278e+01_rb /) kbo(:, 5,47,11) = (/ & & 0.12711e+01_rb,0.53272e+01_rb,0.69377e+01_rb,0.71189e+01_rb,0.47464e+01_rb /) kbo(:, 1,48,11) = (/ & & 0.42651e+00_rb,0.26445e+01_rb,0.32894e+01_rb,0.34148e+01_rb,0.22033e+01_rb /) kbo(:, 2,48,11) = (/ & & 0.54388e+00_rb,0.31611e+01_rb,0.40161e+01_rb,0.41791e+01_rb,0.27373e+01_rb /) kbo(:, 3,48,11) = (/ & & 0.69368e+00_rb,0.37347e+01_rb,0.48206e+01_rb,0.49989e+01_rb,0.32997e+01_rb /) kbo(:, 4,48,11) = (/ & & 0.89279e+00_rb,0.43620e+01_rb,0.56767e+01_rb,0.58554e+01_rb,0.38822e+01_rb /) kbo(:, 5,48,11) = (/ & & 0.11484e+01_rb,0.50369e+01_rb,0.65668e+01_rb,0.67495e+01_rb,0.44918e+01_rb /) kbo(:, 1,49,11) = (/ & & 0.37713e+00_rb,0.24439e+01_rb,0.30160e+01_rb,0.31206e+01_rb,0.19976e+01_rb /) kbo(:, 2,49,11) = (/ & & 0.48766e+00_rb,0.29434e+01_rb,0.37104e+01_rb,0.38599e+01_rb,0.25143e+01_rb /) kbo(:, 3,49,11) = (/ & & 0.62407e+00_rb,0.34939e+01_rb,0.44847e+01_rb,0.46596e+01_rb,0.30680e+01_rb /) kbo(:, 4,49,11) = (/ & & 0.80298e+00_rb,0.41006e+01_rb,0.53255e+01_rb,0.55049e+01_rb,0.36413e+01_rb /) kbo(:, 5,49,11) = (/ & & 0.10353e+01_rb,0.47554e+01_rb,0.62010e+01_rb,0.63820e+01_rb,0.42407e+01_rb /) kbo(:, 1,50,11) = (/ & & 0.33334e+00_rb,0.22573e+01_rb,0.27730e+01_rb,0.28537e+01_rb,0.18141e+01_rb /) kbo(:, 2,50,11) = (/ & & 0.43824e+00_rb,0.27477e+01_rb,0.34359e+01_rb,0.35712e+01_rb,0.23112e+01_rb /) kbo(:, 3,50,11) = (/ & & 0.56555e+00_rb,0.32767e+01_rb,0.41807e+01_rb,0.43497e+01_rb,0.28540e+01_rb /) kbo(:, 4,50,11) = (/ & & 0.72662e+00_rb,0.38631e+01_rb,0.50003e+01_rb,0.51798e+01_rb,0.34206e+01_rb /) kbo(:, 5,50,11) = (/ & & 0.93811e+00_rb,0.44998e+01_rb,0.58635e+01_rb,0.60433e+01_rb,0.40092e+01_rb /) kbo(:, 1,51,11) = (/ & & 0.29344e+00_rb,0.20792e+01_rb,0.25493e+01_rb,0.26045e+01_rb,0.16447e+01_rb /) kbo(:, 2,51,11) = (/ & & 0.39320e+00_rb,0.25633e+01_rb,0.31811e+01_rb,0.32996e+01_rb,0.21202e+01_rb /) kbo(:, 3,51,11) = (/ & & 0.51335e+00_rb,0.30739e+01_rb,0.38968e+01_rb,0.40554e+01_rb,0.26493e+01_rb /) kbo(:, 4,51,11) = (/ & & 0.65991e+00_rb,0.36396e+01_rb,0.46910e+01_rb,0.48692e+01_rb,0.32095e+01_rb /) kbo(:, 5,51,11) = (/ & & 0.85305e+00_rb,0.42602e+01_rb,0.55428e+01_rb,0.57227e+01_rb,0.37890e+01_rb /) kbo(:, 1,52,11) = (/ & & 0.25634e+00_rb,0.19065e+01_rb,0.23373e+01_rb,0.23675e+01_rb,0.14849e+01_rb /) kbo(:, 2,52,11) = (/ & & 0.35085e+00_rb,0.23832e+01_rb,0.29380e+01_rb,0.30363e+01_rb,0.19379e+01_rb /) kbo(:, 3,52,11) = (/ & & 0.46463e+00_rb,0.28806e+01_rb,0.36245e+01_rb,0.37705e+01_rb,0.24499e+01_rb /) kbo(:, 4,52,11) = (/ & & 0.60014e+00_rb,0.34247e+01_rb,0.43901e+01_rb,0.45644e+01_rb,0.30013e+01_rb /) kbo(:, 5,52,11) = (/ & & 0.77502e+00_rb,0.40268e+01_rb,0.52264e+01_rb,0.54064e+01_rb,0.35729e+01_rb /) kbo(:, 1,53,11) = (/ & & 0.22198e+00_rb,0.17382e+01_rb,0.21355e+01_rb,0.21443e+01_rb,0.13321e+01_rb /) kbo(:, 2,53,11) = (/ & & 0.31088e+00_rb,0.22037e+01_rb,0.27070e+01_rb,0.27809e+01_rb,0.17631e+01_rb /) kbo(:, 3,53,11) = (/ & & 0.41868e+00_rb,0.26937e+01_rb,0.33628e+01_rb,0.34937e+01_rb,0.22551e+01_rb /) kbo(:, 4,53,11) = (/ & & 0.54590e+00_rb,0.32172e+01_rb,0.40994e+01_rb,0.42669e+01_rb,0.27950e+01_rb /) kbo(:, 5,53,11) = (/ & & 0.70382e+00_rb,0.37993e+01_rb,0.49134e+01_rb,0.50934e+01_rb,0.33609e+01_rb /) kbo(:, 1,54,11) = (/ & & 0.19279e+00_rb,0.15884e+01_rb,0.19576e+01_rb,0.19516e+01_rb,0.11991e+01_rb /) kbo(:, 2,54,11) = (/ & & 0.27614e+00_rb,0.20423e+01_rb,0.25053e+01_rb,0.25559e+01_rb,0.16106e+01_rb /) kbo(:, 3,54,11) = (/ & & 0.37900e+00_rb,0.25264e+01_rb,0.31323e+01_rb,0.32473e+01_rb,0.20825e+01_rb /) kbo(:, 4,54,11) = (/ & & 0.49954e+00_rb,0.30344e+01_rb,0.38425e+01_rb,0.39994e+01_rb,0.26090e+01_rb /) kbo(:, 5,54,11) = (/ & & 0.64483e+00_rb,0.35967e+01_rb,0.46320e+01_rb,0.48104e+01_rb,0.31683e+01_rb /) kbo(:, 1,55,11) = (/ & & 0.16752e+00_rb,0.14506e+01_rb,0.17924e+01_rb,0.17780e+01_rb,0.10766e+01_rb /) kbo(:, 2,55,11) = (/ & & 0.24546e+00_rb,0.18924e+01_rb,0.23215e+01_rb,0.23502e+01_rb,0.14718e+01_rb /) kbo(:, 3,55,11) = (/ & & 0.34282e+00_rb,0.23686e+01_rb,0.29203e+01_rb,0.30171e+01_rb,0.19238e+01_rb /) kbo(:, 4,55,11) = (/ & & 0.45751e+00_rb,0.28657e+01_rb,0.36048e+01_rb,0.37504e+01_rb,0.24347e+01_rb /) kbo(:, 5,55,11) = (/ & & 0.59345e+00_rb,0.34091e+01_rb,0.43692e+01_rb,0.45436e+01_rb,0.29860e+01_rb /) kbo(:, 1,56,11) = (/ & & 0.14442e+00_rb,0.13191e+01_rb,0.16307e+01_rb,0.16158e+01_rb,0.95966e+00_rb /) kbo(:, 2,56,11) = (/ & & 0.21629e+00_rb,0.17456e+01_rb,0.21454e+01_rb,0.21553e+01_rb,0.13384e+01_rb /) kbo(:, 3,56,11) = (/ & & 0.30838e+00_rb,0.22117e+01_rb,0.27184e+01_rb,0.27939e+01_rb,0.17710e+01_rb /) kbo(:, 4,56,11) = (/ & & 0.41780e+00_rb,0.27024e+01_rb,0.33761e+01_rb,0.35083e+01_rb,0.22647e+01_rb /) kbo(:, 5,56,11) = (/ & & 0.54633e+00_rb,0.32277e+01_rb,0.41153e+01_rb,0.42835e+01_rb,0.28057e+01_rb /) kbo(:, 1,57,11) = (/ & & 0.12369e+00_rb,0.11942e+01_rb,0.14751e+01_rb,0.14660e+01_rb,0.84794e+00_rb /) kbo(:, 2,57,11) = (/ & & 0.18943e+00_rb,0.16025e+01_rb,0.19752e+01_rb,0.19706e+01_rb,0.12104e+01_rb /) kbo(:, 3,57,11) = (/ & & 0.27580e+00_rb,0.20577e+01_rb,0.25253e+01_rb,0.25785e+01_rb,0.16249e+01_rb /) kbo(:, 4,57,11) = (/ & & 0.38015e+00_rb,0.25425e+01_rb,0.31554e+01_rb,0.32724e+01_rb,0.20995e+01_rb /) kbo(:, 5,57,11) = (/ & & 0.50220e+00_rb,0.30528e+01_rb,0.38694e+01_rb,0.40275e+01_rb,0.26279e+01_rb /) kbo(:, 1,58,11) = (/ & & 0.10619e+00_rb,0.10815e+01_rb,0.13338e+01_rb,0.13340e+01_rb,0.74924e+00_rb /) kbo(:, 2,58,11) = (/ & & 0.16586e+00_rb,0.14713e+01_rb,0.18183e+01_rb,0.18047e+01_rb,0.10933e+01_rb /) kbo(:, 3,58,11) = (/ & & 0.24668e+00_rb,0.19150e+01_rb,0.23498e+01_rb,0.23824e+01_rb,0.14931e+01_rb /) kbo(:, 4,58,11) = (/ & & 0.34613e+00_rb,0.23936e+01_rb,0.29542e+01_rb,0.30545e+01_rb,0.19489e+01_rb /) kbo(:, 5,58,11) = (/ & & 0.46251e+00_rb,0.28928e+01_rb,0.36439e+01_rb,0.37914e+01_rb,0.24628e+01_rb /) kbo(:, 1,59,11) = (/ & & 0.98781e-01_rb,0.10374e+01_rb,0.12790e+01_rb,0.12834e+01_rb,0.71091e+00_rb /) kbo(:, 2,59,11) = (/ & & 0.15643e+00_rb,0.14199e+01_rb,0.17560e+01_rb,0.17406e+01_rb,0.10475e+01_rb /) kbo(:, 3,59,11) = (/ & & 0.23512e+00_rb,0.18585e+01_rb,0.22815e+01_rb,0.23061e+01_rb,0.14408e+01_rb /) kbo(:, 4,59,11) = (/ & & 0.33250e+00_rb,0.23338e+01_rb,0.28755e+01_rb,0.29686e+01_rb,0.18898e+01_rb /) kbo(:, 5,59,11) = (/ & & 0.44697e+00_rb,0.28298e+01_rb,0.35555e+01_rb,0.36984e+01_rb,0.23975e+01_rb /) kbo(:, 1,13,12) = (/ & & 0.30998e+02_rb,0.37385e+02_rb,0.40609e+02_rb,0.38100e+02_rb,0.30845e+02_rb /) kbo(:, 2,13,12) = (/ & & 0.30490e+02_rb,0.37042e+02_rb,0.40582e+02_rb,0.38272e+02_rb,0.31245e+02_rb /) kbo(:, 3,13,12) = (/ & & 0.29985e+02_rb,0.36701e+02_rb,0.40520e+02_rb,0.38445e+02_rb,0.31621e+02_rb /) kbo(:, 4,13,12) = (/ & & 0.29490e+02_rb,0.36329e+02_rb,0.40415e+02_rb,0.38594e+02_rb,0.32000e+02_rb /) kbo(:, 5,13,12) = (/ & & 0.29015e+02_rb,0.35959e+02_rb,0.40312e+02_rb,0.38750e+02_rb,0.32433e+02_rb /) kbo(:, 1,14,12) = (/ & & 0.27110e+02_rb,0.35184e+02_rb,0.38617e+02_rb,0.36399e+02_rb,0.28635e+02_rb /) kbo(:, 2,14,12) = (/ & & 0.26641e+02_rb,0.34930e+02_rb,0.38606e+02_rb,0.36649e+02_rb,0.29079e+02_rb /) kbo(:, 3,14,12) = (/ & & 0.26184e+02_rb,0.34642e+02_rb,0.38568e+02_rb,0.36926e+02_rb,0.29498e+02_rb /) kbo(:, 4,14,12) = (/ & & 0.25751e+02_rb,0.34348e+02_rb,0.38555e+02_rb,0.37188e+02_rb,0.29949e+02_rb /) kbo(:, 5,14,12) = (/ & & 0.25340e+02_rb,0.34077e+02_rb,0.38568e+02_rb,0.37453e+02_rb,0.30433e+02_rb /) kbo(:, 1,15,12) = (/ & & 0.23379e+02_rb,0.32658e+02_rb,0.36083e+02_rb,0.34396e+02_rb,0.26632e+02_rb /) kbo(:, 2,15,12) = (/ & & 0.22961e+02_rb,0.32462e+02_rb,0.36143e+02_rb,0.34739e+02_rb,0.27099e+02_rb /) kbo(:, 3,15,12) = (/ & & 0.22574e+02_rb,0.32277e+02_rb,0.36234e+02_rb,0.35089e+02_rb,0.27554e+02_rb /) kbo(:, 4,15,12) = (/ & & 0.22226e+02_rb,0.32107e+02_rb,0.36368e+02_rb,0.35457e+02_rb,0.28061e+02_rb /) kbo(:, 5,15,12) = (/ & & 0.22052e+02_rb,0.31945e+02_rb,0.36473e+02_rb,0.35860e+02_rb,0.28623e+02_rb /) kbo(:, 1,16,12) = (/ & & 0.19977e+02_rb,0.29953e+02_rb,0.33281e+02_rb,0.32282e+02_rb,0.24730e+02_rb /) kbo(:, 2,16,12) = (/ & & 0.19633e+02_rb,0.29859e+02_rb,0.33454e+02_rb,0.32701e+02_rb,0.25245e+02_rb /) kbo(:, 3,16,12) = (/ & & 0.19340e+02_rb,0.29766e+02_rb,0.33693e+02_rb,0.33152e+02_rb,0.25800e+02_rb /) kbo(:, 4,16,12) = (/ & & 0.19247e+02_rb,0.29689e+02_rb,0.33933e+02_rb,0.33616e+02_rb,0.26378e+02_rb /) kbo(:, 5,16,12) = (/ & & 0.19403e+02_rb,0.29623e+02_rb,0.34160e+02_rb,0.34111e+02_rb,0.26924e+02_rb /) kbo(:, 1,17,12) = (/ & & 0.17051e+02_rb,0.27143e+02_rb,0.30473e+02_rb,0.30161e+02_rb,0.22931e+02_rb /) kbo(:, 2,17,12) = (/ & & 0.16797e+02_rb,0.27123e+02_rb,0.30776e+02_rb,0.30670e+02_rb,0.23518e+02_rb /) kbo(:, 3,17,12) = (/ & & 0.16741e+02_rb,0.27141e+02_rb,0.31121e+02_rb,0.31186e+02_rb,0.24127e+02_rb /) kbo(:, 4,17,12) = (/ & & 0.16948e+02_rb,0.27189e+02_rb,0.31472e+02_rb,0.31736e+02_rb,0.24729e+02_rb /) kbo(:, 5,17,12) = (/ & & 0.17485e+02_rb,0.27288e+02_rb,0.31858e+02_rb,0.32324e+02_rb,0.25297e+02_rb /) kbo(:, 1,18,12) = (/ & & 0.14597e+02_rb,0.24342e+02_rb,0.27826e+02_rb,0.28130e+02_rb,0.21245e+02_rb /) kbo(:, 2,18,12) = (/ & & 0.14547e+02_rb,0.24446e+02_rb,0.28237e+02_rb,0.28704e+02_rb,0.21885e+02_rb /) kbo(:, 3,18,12) = (/ & & 0.14765e+02_rb,0.24583e+02_rb,0.28672e+02_rb,0.29288e+02_rb,0.22535e+02_rb /) kbo(:, 4,18,12) = (/ & & 0.15315e+02_rb,0.24794e+02_rb,0.29147e+02_rb,0.29934e+02_rb,0.23159e+02_rb /) kbo(:, 5,18,12) = (/ & & 0.16067e+02_rb,0.25143e+02_rb,0.29634e+02_rb,0.30628e+02_rb,0.23749e+02_rb /) kbo(:, 1,19,12) = (/ & & 0.12640e+02_rb,0.21753e+02_rb,0.25384e+02_rb,0.26151e+02_rb,0.19661e+02_rb /) kbo(:, 2,19,12) = (/ & & 0.12835e+02_rb,0.21949e+02_rb,0.25878e+02_rb,0.26810e+02_rb,0.20358e+02_rb /) kbo(:, 3,19,12) = (/ & & 0.13356e+02_rb,0.22229e+02_rb,0.26410e+02_rb,0.27515e+02_rb,0.21037e+02_rb /) kbo(:, 4,19,12) = (/ & & 0.14056e+02_rb,0.22664e+02_rb,0.26964e+02_rb,0.28265e+02_rb,0.21685e+02_rb /) kbo(:, 5,19,12) = (/ & & 0.14855e+02_rb,0.23244e+02_rb,0.27571e+02_rb,0.29046e+02_rb,0.22336e+02_rb /) kbo(:, 1,20,12) = (/ & & 0.11082e+02_rb,0.19491e+02_rb,0.23194e+02_rb,0.24313e+02_rb,0.18232e+02_rb /) kbo(:, 2,20,12) = (/ & & 0.11562e+02_rb,0.19787e+02_rb,0.23755e+02_rb,0.25073e+02_rb,0.18946e+02_rb /) kbo(:, 3,20,12) = (/ & & 0.12224e+02_rb,0.20238e+02_rb,0.24350e+02_rb,0.25880e+02_rb,0.19650e+02_rb /) kbo(:, 4,20,12) = (/ & & 0.12987e+02_rb,0.20868e+02_rb,0.25012e+02_rb,0.26726e+02_rb,0.20347e+02_rb /) kbo(:, 5,20,12) = (/ & & 0.13788e+02_rb,0.21712e+02_rb,0.25741e+02_rb,0.27588e+02_rb,0.21074e+02_rb /) kbo(:, 1,21,12) = (/ & & 0.98833e+01_rb,0.17574e+02_rb,0.21209e+02_rb,0.22623e+02_rb,0.16925e+02_rb /) kbo(:, 2,21,12) = (/ & & 0.10489e+02_rb,0.18010e+02_rb,0.21858e+02_rb,0.23471e+02_rb,0.17666e+02_rb /) kbo(:, 3,21,12) = (/ & & 0.11209e+02_rb,0.18622e+02_rb,0.22555e+02_rb,0.24382e+02_rb,0.18394e+02_rb /) kbo(:, 4,21,12) = (/ & & 0.11974e+02_rb,0.19474e+02_rb,0.23320e+02_rb,0.25315e+02_rb,0.19156e+02_rb /) kbo(:, 5,21,12) = (/ & & 0.12743e+02_rb,0.20530e+02_rb,0.24213e+02_rb,0.26280e+02_rb,0.19957e+02_rb /) kbo(:, 1,22,12) = (/ & & 0.89432e+01_rb,0.16023e+02_rb,0.19521e+02_rb,0.21142e+02_rb,0.15785e+02_rb /) kbo(:, 2,22,12) = (/ & & 0.96012e+01_rb,0.16615e+02_rb,0.20251e+02_rb,0.22105e+02_rb,0.16565e+02_rb /) kbo(:, 3,22,12) = (/ & & 0.10308e+02_rb,0.17429e+02_rb,0.21053e+02_rb,0.23102e+02_rb,0.17352e+02_rb /) kbo(:, 4,22,12) = (/ & & 0.11034e+02_rb,0.18474e+02_rb,0.21986e+02_rb,0.24140e+02_rb,0.18184e+02_rb /) kbo(:, 5,22,12) = (/ & & 0.11779e+02_rb,0.19675e+02_rb,0.23025e+02_rb,0.25198e+02_rb,0.19053e+02_rb /) kbo(:, 1,23,12) = (/ & & 0.81558e+01_rb,0.14793e+02_rb,0.18088e+02_rb,0.19855e+02_rb,0.14800e+02_rb /) kbo(:, 2,23,12) = (/ & & 0.87957e+01_rb,0.15543e+02_rb,0.18895e+02_rb,0.20923e+02_rb,0.15621e+02_rb /) kbo(:, 3,23,12) = (/ & & 0.94593e+01_rb,0.16540e+02_rb,0.19849e+02_rb,0.22025e+02_rb,0.16480e+02_rb /) kbo(:, 4,23,12) = (/ & & 0.10153e+02_rb,0.17706e+02_rb,0.20923e+02_rb,0.23160e+02_rb,0.17388e+02_rb /) kbo(:, 5,23,12) = (/ & & 0.10876e+02_rb,0.18993e+02_rb,0.22113e+02_rb,0.24310e+02_rb,0.18322e+02_rb /) kbo(:, 1,24,12) = (/ & & 0.74526e+01_rb,0.13830e+02_rb,0.16894e+02_rb,0.18769e+02_rb,0.13959e+02_rb /) kbo(:, 2,24,12) = (/ & & 0.80517e+01_rb,0.14766e+02_rb,0.17833e+02_rb,0.19936e+02_rb,0.14836e+02_rb /) kbo(:, 3,24,12) = (/ & & 0.86841e+01_rb,0.15873e+02_rb,0.18916e+02_rb,0.21150e+02_rb,0.15773e+02_rb /) kbo(:, 4,24,12) = (/ & & 0.93535e+01_rb,0.17122e+02_rb,0.20131e+02_rb,0.22383e+02_rb,0.16742e+02_rb /) kbo(:, 5,24,12) = (/ & & 0.10068e+02_rb,0.18482e+02_rb,0.21482e+02_rb,0.23634e+02_rb,0.17753e+02_rb /) kbo(:, 1,25,12) = (/ & & 0.68105e+01_rb,0.13122e+02_rb,0.15953e+02_rb,0.17890e+02_rb,0.13264e+02_rb /) kbo(:, 2,25,12) = (/ & & 0.73796e+01_rb,0.14193e+02_rb,0.17028e+02_rb,0.19160e+02_rb,0.14211e+02_rb /) kbo(:, 3,25,12) = (/ & & 0.79883e+01_rb,0.15386e+02_rb,0.18237e+02_rb,0.20473e+02_rb,0.15219e+02_rb /) kbo(:, 4,25,12) = (/ & & 0.86473e+01_rb,0.16702e+02_rb,0.19605e+02_rb,0.21810e+02_rb,0.16257e+02_rb /) kbo(:, 5,25,12) = (/ & & 0.93513e+01_rb,0.18139e+02_rb,0.21087e+02_rb,0.23158e+02_rb,0.17339e+02_rb /) kbo(:, 1,26,12) = (/ & & 0.62530e+01_rb,0.12619e+02_rb,0.15260e+02_rb,0.17241e+02_rb,0.12729e+02_rb /) kbo(:, 2,26,12) = (/ & & 0.67955e+01_rb,0.13786e+02_rb,0.16460e+02_rb,0.18602e+02_rb,0.13751e+02_rb /) kbo(:, 3,26,12) = (/ & & 0.73876e+01_rb,0.15061e+02_rb,0.17816e+02_rb,0.20014e+02_rb,0.14821e+02_rb /) kbo(:, 4,26,12) = (/ & & 0.80374e+01_rb,0.16453e+02_rb,0.19314e+02_rb,0.21444e+02_rb,0.15933e+02_rb /) kbo(:, 5,26,12) = (/ & & 0.87427e+01_rb,0.17956e+02_rb,0.20909e+02_rb,0.22878e+02_rb,0.17080e+02_rb /) kbo(:, 1,27,12) = (/ & & 0.57700e+01_rb,0.12257e+02_rb,0.14782e+02_rb,0.16780e+02_rb,0.12335e+02_rb /) kbo(:, 2,27,12) = (/ & & 0.62864e+01_rb,0.13513e+02_rb,0.16114e+02_rb,0.18231e+02_rb,0.13431e+02_rb /) kbo(:, 3,27,12) = (/ & & 0.68675e+01_rb,0.14868e+02_rb,0.17601e+02_rb,0.19730e+02_rb,0.14565e+02_rb /) kbo(:, 4,27,12) = (/ & & 0.75138e+01_rb,0.16329e+02_rb,0.19199e+02_rb,0.21244e+02_rb,0.15742e+02_rb /) kbo(:, 5,27,12) = (/ & & 0.82289e+01_rb,0.17883e+02_rb,0.20886e+02_rb,0.22748e+02_rb,0.16940e+02_rb /) kbo(:, 1,28,12) = (/ & & 0.53548e+01_rb,0.12024e+02_rb,0.14494e+02_rb,0.16490e+02_rb,0.12074e+02_rb /) kbo(:, 2,28,12) = (/ & & 0.58567e+01_rb,0.13364e+02_rb,0.15954e+02_rb,0.18023e+02_rb,0.13231e+02_rb /) kbo(:, 3,28,12) = (/ & & 0.64249e+01_rb,0.14793e+02_rb,0.17548e+02_rb,0.19599e+02_rb,0.14431e+02_rb /) kbo(:, 4,28,12) = (/ & & 0.70763e+01_rb,0.16306e+02_rb,0.19232e+02_rb,0.21185e+02_rb,0.15664e+02_rb /) kbo(:, 5,28,12) = (/ & & 0.78108e+01_rb,0.17913e+02_rb,0.20999e+02_rb,0.22748e+02_rb,0.16904e+02_rb /) kbo(:, 1,29,12) = (/ & & 0.50045e+01_rb,0.11918e+02_rb,0.14389e+02_rb,0.16363e+02_rb,0.11938e+02_rb /) kbo(:, 2,29,12) = (/ & & 0.55030e+01_rb,0.13334e+02_rb,0.15959e+02_rb,0.17970e+02_rb,0.13155e+02_rb /) kbo(:, 3,29,12) = (/ & & 0.60662e+01_rb,0.14820e+02_rb,0.17638e+02_rb,0.19611e+02_rb,0.14408e+02_rb /) kbo(:, 4,29,12) = (/ & & 0.67325e+01_rb,0.16392e+02_rb,0.19392e+02_rb,0.21253e+02_rb,0.15686e+02_rb /) kbo(:, 5,29,12) = (/ & & 0.74925e+01_rb,0.18044e+02_rb,0.21206e+02_rb,0.22856e+02_rb,0.16965e+02_rb /) kbo(:, 1,30,12) = (/ & & 0.47172e+01_rb,0.11917e+02_rb,0.14428e+02_rb,0.16368e+02_rb,0.11903e+02_rb /) kbo(:, 2,30,12) = (/ & & 0.52125e+01_rb,0.13400e+02_rb,0.16089e+02_rb,0.18040e+02_rb,0.13179e+02_rb /) kbo(:, 3,30,12) = (/ & & 0.57884e+01_rb,0.14940e+02_rb,0.17829e+02_rb,0.19728e+02_rb,0.14475e+02_rb /) kbo(:, 4,30,12) = (/ & & 0.64722e+01_rb,0.16556e+02_rb,0.19636e+02_rb,0.21408e+02_rb,0.15787e+02_rb /) kbo(:, 5,30,12) = (/ & & 0.72704e+01_rb,0.18251e+02_rb,0.21479e+02_rb,0.23035e+02_rb,0.17093e+02_rb /) kbo(:, 1,31,12) = (/ & & 0.44858e+01_rb,0.12017e+02_rb,0.14590e+02_rb,0.16495e+02_rb,0.11969e+02_rb /) kbo(:, 2,31,12) = (/ & & 0.49908e+01_rb,0.13550e+02_rb,0.16315e+02_rb,0.18215e+02_rb,0.13287e+02_rb /) kbo(:, 3,31,12) = (/ & & 0.55864e+01_rb,0.15140e+02_rb,0.18101e+02_rb,0.19933e+02_rb,0.14620e+02_rb /) kbo(:, 4,31,12) = (/ & & 0.63024e+01_rb,0.16801e+02_rb,0.19948e+02_rb,0.21636e+02_rb,0.15956e+02_rb /) kbo(:, 5,31,12) = (/ & & 0.71504e+01_rb,0.18530e+02_rb,0.21815e+02_rb,0.23280e+02_rb,0.17277e+02_rb /) kbo(:, 1,32,12) = (/ & & 0.43064e+01_rb,0.12199e+02_rb,0.14841e+02_rb,0.16712e+02_rb,0.12112e+02_rb /) kbo(:, 2,32,12) = (/ & & 0.48346e+01_rb,0.13779e+02_rb,0.16613e+02_rb,0.18463e+02_rb,0.13462e+02_rb /) kbo(:, 3,32,12) = (/ & & 0.54614e+01_rb,0.15404e+02_rb,0.18438e+02_rb,0.20209e+02_rb,0.14821e+02_rb /) kbo(:, 4,32,12) = (/ & & 0.62177e+01_rb,0.17102e+02_rb,0.20311e+02_rb,0.21920e+02_rb,0.16172e+02_rb /) kbo(:, 5,32,12) = (/ & & 0.71259e+01_rb,0.18855e+02_rb,0.22195e+02_rb,0.23574e+02_rb,0.17506e+02_rb /) kbo(:, 1,33,12) = (/ & & 0.41801e+01_rb,0.12450e+02_rb,0.15154e+02_rb,0.16994e+02_rb,0.12315e+02_rb /) kbo(:, 2,33,12) = (/ & & 0.47391e+01_rb,0.14064e+02_rb,0.16963e+02_rb,0.18765e+02_rb,0.13689e+02_rb /) kbo(:, 3,33,12) = (/ & & 0.54061e+01_rb,0.15717e+02_rb,0.18820e+02_rb,0.20527e+02_rb,0.15064e+02_rb /) kbo(:, 4,33,12) = (/ & & 0.62146e+01_rb,0.17442e+02_rb,0.20711e+02_rb,0.22242e+02_rb,0.16420e+02_rb /) kbo(:, 5,33,12) = (/ & & 0.71827e+01_rb,0.19219e+02_rb,0.22608e+02_rb,0.23903e+02_rb,0.17762e+02_rb /) kbo(:, 1,34,12) = (/ & & 0.40887e+01_rb,0.12691e+02_rb,0.15451e+02_rb,0.17259e+02_rb,0.12512e+02_rb /) kbo(:, 2,34,12) = (/ & & 0.46819e+01_rb,0.14330e+02_rb,0.17288e+02_rb,0.19046e+02_rb,0.13902e+02_rb /) kbo(:, 3,34,12) = (/ & & 0.53890e+01_rb,0.16007e+02_rb,0.19166e+02_rb,0.20816e+02_rb,0.15287e+02_rb /) kbo(:, 4,34,12) = (/ & & 0.62486e+01_rb,0.17752e+02_rb,0.21067e+02_rb,0.22532e+02_rb,0.16650e+02_rb /) kbo(:, 5,34,12) = (/ & & 0.72682e+01_rb,0.19545e+02_rb,0.22972e+02_rb,0.24194e+02_rb,0.17995e+02_rb /) kbo(:, 1,35,12) = (/ & & 0.39916e+01_rb,0.12809e+02_rb,0.15601e+02_rb,0.17383e+02_rb,0.12605e+02_rb /) kbo(:, 2,35,12) = (/ & & 0.46112e+01_rb,0.14460e+02_rb,0.17457e+02_rb,0.19181e+02_rb,0.14005e+02_rb /) kbo(:, 3,35,12) = (/ & & 0.53474e+01_rb,0.16154e+02_rb,0.19347e+02_rb,0.20958e+02_rb,0.15398e+02_rb /) kbo(:, 4,35,12) = (/ & & 0.62430e+01_rb,0.17913e+02_rb,0.21258e+02_rb,0.22679e+02_rb,0.16764e+02_rb /) kbo(:, 5,35,12) = (/ & & 0.72953e+01_rb,0.19716e+02_rb,0.23169e+02_rb,0.24345e+02_rb,0.18113e+02_rb /) kbo(:, 1,36,12) = (/ & & 0.38696e+01_rb,0.12768e+02_rb,0.15571e+02_rb,0.17332e+02_rb,0.12565e+02_rb /) kbo(:, 2,36,12) = (/ & & 0.45034e+01_rb,0.14429e+02_rb,0.17436e+02_rb,0.19141e+02_rb,0.13973e+02_rb /) kbo(:, 3,36,12) = (/ & & 0.52555e+01_rb,0.16128e+02_rb,0.19333e+02_rb,0.20927e+02_rb,0.15372e+02_rb /) kbo(:, 4,36,12) = (/ & & 0.61640e+01_rb,0.17893e+02_rb,0.21249e+02_rb,0.22656e+02_rb,0.16743e+02_rb /) kbo(:, 5,36,12) = (/ & & 0.72295e+01_rb,0.19702e+02_rb,0.23168e+02_rb,0.24329e+02_rb,0.18096e+02_rb /) kbo(:, 1,37,12) = (/ & & 0.36883e+01_rb,0.12493e+02_rb,0.15274e+02_rb,0.17021e+02_rb,0.12322e+02_rb /) kbo(:, 2,37,12) = (/ & & 0.43193e+01_rb,0.14156e+02_rb,0.17140e+02_rb,0.18841e+02_rb,0.13739e+02_rb /) kbo(:, 3,37,12) = (/ & & 0.50636e+01_rb,0.15852e+02_rb,0.19039e+02_rb,0.20638e+02_rb,0.15145e+02_rb /) kbo(:, 4,37,12) = (/ & & 0.59573e+01_rb,0.17616e+02_rb,0.20958e+02_rb,0.22386e+02_rb,0.16525e+02_rb /) kbo(:, 5,37,12) = (/ & & 0.70089e+01_rb,0.19421e+02_rb,0.22881e+02_rb,0.24071e+02_rb,0.17883e+02_rb /) kbo(:, 1,38,12) = (/ & & 0.35253e+01_rb,0.12215e+02_rb,0.14971e+02_rb,0.16706e+02_rb,0.12079e+02_rb /) kbo(:, 2,38,12) = (/ & & 0.41507e+01_rb,0.13877e+02_rb,0.16837e+02_rb,0.18535e+02_rb,0.13501e+02_rb /) kbo(:, 3,38,12) = (/ & & 0.48852e+01_rb,0.15572e+02_rb,0.18736e+02_rb,0.20342e+02_rb,0.14913e+02_rb /) kbo(:, 4,38,12) = (/ & & 0.57613e+01_rb,0.17329e+02_rb,0.20656e+02_rb,0.22106e+02_rb,0.16300e+02_rb /) kbo(:, 5,38,12) = (/ & & 0.67957e+01_rb,0.19130e+02_rb,0.22581e+02_rb,0.23804e+02_rb,0.17665e+02_rb /) kbo(:, 1,39,12) = (/ & & 0.33825e+01_rb,0.11947e+02_rb,0.14676e+02_rb,0.16402e+02_rb,0.11843e+02_rb /) kbo(:, 2,39,12) = (/ & & 0.39997e+01_rb,0.13607e+02_rb,0.16542e+02_rb,0.18237e+02_rb,0.13271e+02_rb /) kbo(:, 3,39,12) = (/ & & 0.47242e+01_rb,0.15300e+02_rb,0.18440e+02_rb,0.20053e+02_rb,0.14687e+02_rb /) kbo(:, 4,39,12) = (/ & & 0.55821e+01_rb,0.17050e+02_rb,0.20362e+02_rb,0.21831e+02_rb,0.16081e+02_rb /) kbo(:, 5,39,12) = (/ & & 0.65965e+01_rb,0.18849e+02_rb,0.22289e+02_rb,0.23541e+02_rb,0.17452e+02_rb /) kbo(:, 1,40,12) = (/ & & 0.31990e+01_rb,0.11518e+02_rb,0.14197e+02_rb,0.15916e+02_rb,0.11466e+02_rb /) kbo(:, 2,40,12) = (/ & & 0.37954e+01_rb,0.13171e+02_rb,0.16060e+02_rb,0.17759e+02_rb,0.12898e+02_rb /) kbo(:, 3,40,12) = (/ & & 0.44984e+01_rb,0.14859e+02_rb,0.17955e+02_rb,0.19586e+02_rb,0.14321e+02_rb /) kbo(:, 4,40,12) = (/ & & 0.53220e+01_rb,0.16595e+02_rb,0.19875e+02_rb,0.21381e+02_rb,0.15725e+02_rb /) kbo(:, 5,40,12) = (/ & & 0.62999e+01_rb,0.18387e+02_rb,0.21803e+02_rb,0.23109e+02_rb,0.17102e+02_rb /) kbo(:, 1,41,12) = (/ & & 0.30240e+01_rb,0.11079e+02_rb,0.13703e+02_rb,0.15411e+02_rb,0.11075e+02_rb /) kbo(:, 2,41,12) = (/ & & 0.35998e+01_rb,0.12722e+02_rb,0.15561e+02_rb,0.17259e+02_rb,0.12509e+02_rb /) kbo(:, 3,41,12) = (/ & & 0.42766e+01_rb,0.14402e+02_rb,0.17450e+02_rb,0.19096e+02_rb,0.13938e+02_rb /) kbo(:, 4,41,12) = (/ & & 0.50663e+01_rb,0.16123e+02_rb,0.19365e+02_rb,0.20905e+02_rb,0.15352e+02_rb /) kbo(:, 5,41,12) = (/ & & 0.60051e+01_rb,0.17908e+02_rb,0.21295e+02_rb,0.22653e+02_rb,0.16735e+02_rb /) kbo(:, 1,42,12) = (/ & & 0.28652e+01_rb,0.10648e+02_rb,0.13219e+02_rb,0.14913e+02_rb,0.10689e+02_rb /) kbo(:, 2,42,12) = (/ & & 0.34153e+01_rb,0.12278e+02_rb,0.15063e+02_rb,0.16761e+02_rb,0.12121e+02_rb /) kbo(:, 3,42,12) = (/ & & 0.40672e+01_rb,0.13952e+02_rb,0.16947e+02_rb,0.18606e+02_rb,0.13557e+02_rb /) kbo(:, 4,42,12) = (/ & & 0.48264e+01_rb,0.15661e+02_rb,0.18858e+02_rb,0.20426e+02_rb,0.14977e+02_rb /) kbo(:, 5,42,12) = (/ & & 0.57266e+01_rb,0.17431e+02_rb,0.20787e+02_rb,0.22197e+02_rb,0.16370e+02_rb /) kbo(:, 1,43,12) = (/ & & 0.26870e+01_rb,0.10134e+02_rb,0.12642e+02_rb,0.14316e+02_rb,0.10228e+02_rb /) kbo(:, 2,43,12) = (/ & & 0.32108e+01_rb,0.11745e+02_rb,0.14465e+02_rb,0.16161e+02_rb,0.11657e+02_rb /) kbo(:, 3,43,12) = (/ & & 0.38308e+01_rb,0.13408e+02_rb,0.16340e+02_rb,0.18012e+02_rb,0.13095e+02_rb /) kbo(:, 4,43,12) = (/ & & 0.45569e+01_rb,0.15107e+02_rb,0.18246e+02_rb,0.19843e+02_rb,0.14521e+02_rb /) kbo(:, 5,43,12) = (/ & & 0.54100e+01_rb,0.16859e+02_rb,0.20173e+02_rb,0.21637e+02_rb,0.15927e+02_rb /) kbo(:, 1,44,12) = (/ & & 0.25051e+01_rb,0.95885e+01_rb,0.12032e+02_rb,0.13682e+02_rb,0.97372e+01_rb /) kbo(:, 2,44,12) = (/ & & 0.30054e+01_rb,0.11180e+02_rb,0.13825e+02_rb,0.15517e+02_rb,0.11159e+02_rb /) kbo(:, 3,44,12) = (/ & & 0.35923e+01_rb,0.12828e+02_rb,0.15690e+02_rb,0.17372e+02_rb,0.12597e+02_rb /) kbo(:, 4,44,12) = (/ & & 0.42861e+01_rb,0.14518e+02_rb,0.17591e+02_rb,0.19215e+02_rb,0.14031e+02_rb /) kbo(:, 5,44,12) = (/ & & 0.50891e+01_rb,0.16248e+02_rb,0.19511e+02_rb,0.21026e+02_rb,0.15447e+02_rb /) kbo(:, 1,45,12) = (/ & & 0.23284e+01_rb,0.90519e+01_rb,0.11435e+02_rb,0.13049e+02_rb,0.92487e+01_rb /) kbo(:, 2,45,12) = (/ & & 0.28153e+01_rb,0.10623e+02_rb,0.13197e+02_rb,0.14880e+02_rb,0.10666e+02_rb /) kbo(:, 3,45,12) = (/ & & 0.33686e+01_rb,0.12254e+02_rb,0.15046e+02_rb,0.16733e+02_rb,0.12101e+02_rb /) kbo(:, 4,45,12) = (/ & & 0.40279e+01_rb,0.13936e+02_rb,0.16938e+02_rb,0.18583e+02_rb,0.13540e+02_rb /) kbo(:, 5,45,12) = (/ & & 0.47894e+01_rb,0.15648e+02_rb,0.18852e+02_rb,0.20408e+02_rb,0.14963e+02_rb /) kbo(:, 1,46,12) = (/ & & 0.21477e+01_rb,0.84947e+01_rb,0.10808e+02_rb,0.12382e+02_rb,0.87316e+01_rb /) kbo(:, 2,46,12) = (/ & & 0.26237e+01_rb,0.10040e+02_rb,0.12543e+02_rb,0.14206e+02_rb,0.10145e+02_rb /) kbo(:, 3,46,12) = (/ & & 0.31493e+01_rb,0.11653e+02_rb,0.14367e+02_rb,0.16054e+02_rb,0.11575e+02_rb /) kbo(:, 4,46,12) = (/ & & 0.37687e+01_rb,0.13319e+02_rb,0.16247e+02_rb,0.17910e+02_rb,0.13015e+02_rb /) kbo(:, 5,46,12) = (/ & & 0.44919e+01_rb,0.15018e+02_rb,0.18154e+02_rb,0.19746e+02_rb,0.14446e+02_rb /) kbo(:, 1,47,12) = (/ & & 0.19539e+01_rb,0.78866e+01_rb,0.10121e+02_rb,0.11642e+02_rb,0.81629e+01_rb /) kbo(:, 2,47,12) = (/ & & 0.24188e+01_rb,0.94011e+01_rb,0.11827e+02_rb,0.13461e+02_rb,0.95671e+01_rb /) kbo(:, 3,47,12) = (/ & & 0.29183e+01_rb,0.10990e+02_rb,0.13614e+02_rb,0.15297e+02_rb,0.10990e+02_rb /) kbo(:, 4,47,12) = (/ & & 0.34981e+01_rb,0.12636e+02_rb,0.15480e+02_rb,0.17155e+02_rb,0.12429e+02_rb /) kbo(:, 5,47,12) = (/ & & 0.41787e+01_rb,0.14323e+02_rb,0.17378e+02_rb,0.19005e+02_rb,0.13866e+02_rb /) kbo(:, 1,48,12) = (/ & & 0.17686e+01_rb,0.73016e+01_rb,0.94471e+01_rb,0.10908e+02_rb,0.76062e+01_rb /) kbo(:, 2,48,12) = (/ & & 0.22191e+01_rb,0.87750e+01_rb,0.11125e+02_rb,0.12718e+02_rb,0.89921e+01_rb /) kbo(:, 3,48,12) = (/ & & 0.27045e+01_rb,0.10336e+02_rb,0.12878e+02_rb,0.14548e+02_rb,0.10409e+02_rb /) kbo(:, 4,48,12) = (/ & & 0.32460e+01_rb,0.11962e+02_rb,0.14721e+02_rb,0.16399e+02_rb,0.11843e+02_rb /) kbo(:, 5,48,12) = (/ & & 0.38847e+01_rb,0.13635e+02_rb,0.16605e+02_rb,0.18256e+02_rb,0.13285e+02_rb /) kbo(:, 1,49,12) = (/ & & 0.15926e+01_rb,0.67448e+01_rb,0.87885e+01_rb,0.10183e+02_rb,0.70558e+01_rb /) kbo(:, 2,49,12) = (/ & & 0.20265e+01_rb,0.81616e+01_rb,0.10434e+02_rb,0.11978e+02_rb,0.84210e+01_rb /) kbo(:, 3,49,12) = (/ & & 0.24995e+01_rb,0.96943e+01_rb,0.12158e+02_rb,0.13804e+02_rb,0.98335e+01_rb /) kbo(:, 4,49,12) = (/ & & 0.30106e+01_rb,0.11296e+02_rb,0.13964e+02_rb,0.15645e+02_rb,0.11261e+02_rb /) kbo(:, 5,49,12) = (/ & & 0.36091e+01_rb,0.12953e+02_rb,0.15838e+02_rb,0.17505e+02_rb,0.12701e+02_rb /) kbo(:, 1,50,12) = (/ & & 0.14367e+01_rb,0.62503e+01_rb,0.81839e+01_rb,0.95114e+01_rb,0.65470e+01_rb /) kbo(:, 2,50,12) = (/ & & 0.18513e+01_rb,0.76037e+01_rb,0.97986e+01_rb,0.11290e+02_rb,0.78962e+01_rb /) kbo(:, 3,50,12) = (/ & & 0.23123e+01_rb,0.91032e+01_rb,0.11496e+02_rb,0.13108e+02_rb,0.92947e+01_rb /) kbo(:, 4,50,12) = (/ & & 0.28056e+01_rb,0.10680e+02_rb,0.13267e+02_rb,0.14942e+02_rb,0.10716e+02_rb /) kbo(:, 5,50,12) = (/ & & 0.33664e+01_rb,0.12318e+02_rb,0.15124e+02_rb,0.16800e+02_rb,0.12153e+02_rb /) kbo(:, 1,51,12) = (/ & & 0.12944e+01_rb,0.57936e+01_rb,0.76117e+01_rb,0.88742e+01_rb,0.60642e+01_rb /) kbo(:, 2,51,12) = (/ & & 0.16888e+01_rb,0.70852e+01_rb,0.91933e+01_rb,0.10628e+02_rb,0.73944e+01_rb /) kbo(:, 3,51,12) = (/ & & 0.21353e+01_rb,0.85416e+01_rb,0.10863e+02_rb,0.12436e+02_rb,0.87735e+01_rb /) kbo(:, 4,51,12) = (/ & & 0.26169e+01_rb,0.10093e+02_rb,0.12607e+02_rb,0.14266e+02_rb,0.10192e+02_rb /) kbo(:, 5,51,12) = (/ & & 0.31479e+01_rb,0.11711e+02_rb,0.14438e+02_rb,0.16116e+02_rb,0.11624e+02_rb /) kbo(:, 1,52,12) = (/ & & 0.11616e+01_rb,0.53570e+01_rb,0.70533e+01_rb,0.82560e+01_rb,0.55953e+01_rb /) kbo(:, 2,52,12) = (/ & & 0.15340e+01_rb,0.65899e+01_rb,0.86019e+01_rb,0.99750e+01_rb,0.68982e+01_rb /) kbo(:, 3,52,12) = (/ & & 0.19643e+01_rb,0.79903e+01_rb,0.10241e+02_rb,0.11768e+02_rb,0.82604e+01_rb /) kbo(:, 4,52,12) = (/ & & 0.24347e+01_rb,0.95157e+01_rb,0.11958e+02_rb,0.13593e+02_rb,0.96707e+01_rb /) kbo(:, 5,52,12) = (/ & & 0.29410e+01_rb,0.11112e+02_rb,0.13756e+02_rb,0.15434e+02_rb,0.11097e+02_rb /) kbo(:, 1,53,12) = (/ & & 0.10377e+01_rb,0.49398e+01_rb,0.65141e+01_rb,0.76518e+01_rb,0.51386e+01_rb /) kbo(:, 2,53,12) = (/ & & 0.13876e+01_rb,0.61188e+01_rb,0.80207e+01_rb,0.93291e+01_rb,0.64095e+01_rb /) kbo(:, 3,53,12) = (/ & & 0.17987e+01_rb,0.74567e+01_rb,0.96292e+01_rb,0.11104e+02_rb,0.77562e+01_rb /) kbo(:, 4,53,12) = (/ & & 0.22559e+01_rb,0.89467e+01_rb,0.11320e+02_rb,0.12921e+02_rb,0.91504e+01_rb /) kbo(:, 5,53,12) = (/ & & 0.27477e+01_rb,0.10518e+02_rb,0.13086e+02_rb,0.14756e+02_rb,0.10571e+02_rb /) kbo(:, 1,54,12) = (/ & & 0.93266e+00_rb,0.45754e+01_rb,0.60420e+01_rb,0.71108e+01_rb,0.47321e+01_rb /) kbo(:, 2,54,12) = (/ & & 0.12608e+01_rb,0.57055e+01_rb,0.75003e+01_rb,0.87512e+01_rb,0.59717e+01_rb /) kbo(:, 3,54,12) = (/ & & 0.16525e+01_rb,0.69875e+01_rb,0.90782e+01_rb,0.10501e+02_rb,0.72982e+01_rb /) kbo(:, 4,54,12) = (/ & & 0.20962e+01_rb,0.84351e+01_rb,0.10744e+02_rb,0.12308e+02_rb,0.86747e+01_rb /) kbo(:, 5,54,12) = (/ & & 0.25775e+01_rb,0.99827e+01_rb,0.12485e+02_rb,0.14138e+02_rb,0.10092e+02_rb /) kbo(:, 1,55,12) = (/ & & 0.84048e+00_rb,0.42428e+01_rb,0.56145e+01_rb,0.66054e+01_rb,0.43544e+01_rb /) kbo(:, 2,55,12) = (/ & & 0.11472e+01_rb,0.53270e+01_rb,0.70144e+01_rb,0.82122e+01_rb,0.55615e+01_rb /) kbo(:, 3,55,12) = (/ & & 0.15181e+01_rb,0.65556e+01_rb,0.85601e+01_rb,0.99280e+01_rb,0.68631e+01_rb /) kbo(:, 4,55,12) = (/ & & 0.19474e+01_rb,0.79524e+01_rb,0.10198e+02_rb,0.11721e+02_rb,0.82252e+01_rb /) kbo(:, 5,55,12) = (/ & & 0.24188e+01_rb,0.94776e+01_rb,0.11916e+02_rb,0.13548e+02_rb,0.96351e+01_rb /) kbo(:, 1,56,12) = (/ & & 0.75447e+00_rb,0.39270e+01_rb,0.52064e+01_rb,0.61093e+01_rb,0.39870e+01_rb /) kbo(:, 2,56,12) = (/ & & 0.10395e+01_rb,0.49623e+01_rb,0.65429e+01_rb,0.76840e+01_rb,0.51623e+01_rb /) kbo(:, 3,56,12) = (/ & & 0.13908e+01_rb,0.61440e+01_rb,0.80522e+01_rb,0.93640e+01_rb,0.64360e+01_rb /) kbo(:, 4,56,12) = (/ & & 0.18031e+01_rb,0.74859e+01_rb,0.96627e+01_rb,0.11140e+02_rb,0.77842e+01_rb /) kbo(:, 5,56,12) = (/ & & 0.22626e+01_rb,0.89798e+01_rb,0.11358e+02_rb,0.12960e+02_rb,0.91800e+01_rb /) kbo(:, 1,57,12) = (/ & & 0.67513e+00_rb,0.36336e+01_rb,0.48180e+01_rb,0.56247e+01_rb,0.36284e+01_rb /) kbo(:, 2,57,12) = (/ & & 0.93951e+00_rb,0.46135e+01_rb,0.60910e+01_rb,0.71671e+01_rb,0.47736e+01_rb /) kbo(:, 3,57,12) = (/ & & 0.12699e+01_rb,0.57481e+01_rb,0.75541e+01_rb,0.88107e+01_rb,0.60168e+01_rb /) kbo(:, 4,57,12) = (/ & & 0.16637e+01_rb,0.70362e+01_rb,0.91351e+01_rb,0.10564e+02_rb,0.73465e+01_rb /) kbo(:, 5,57,12) = (/ & & 0.21102e+01_rb,0.84904e+01_rb,0.10807e+02_rb,0.12374e+02_rb,0.87256e+01_rb /) kbo(:, 1,58,12) = (/ & & 0.60371e+00_rb,0.33725e+01_rb,0.44640e+01_rb,0.51801e+01_rb,0.32968e+01_rb /) kbo(:, 2,58,12) = (/ & & 0.85131e+00_rb,0.42951e+01_rb,0.56822e+01_rb,0.66873e+01_rb,0.44155e+01_rb /) kbo(:, 3,58,12) = (/ & & 0.11611e+01_rb,0.53867e+01_rb,0.70919e+01_rb,0.82985e+01_rb,0.56282e+01_rb /) kbo(:, 4,58,12) = (/ & & 0.15366e+01_rb,0.66258e+01_rb,0.86445e+01_rb,0.10022e+02_rb,0.69358e+01_rb /) kbo(:, 5,58,12) = (/ & & 0.19698e+01_rb,0.80329e+01_rb,0.10290e+02_rb,0.11819e+02_rb,0.83004e+01_rb /) kbo(:, 1,59,12) = (/ & & 0.57552e+00_rb,0.32717e+01_rb,0.43250e+01_rb,0.50045e+01_rb,0.31668e+01_rb /) kbo(:, 2,59,12) = (/ & & 0.81716e+00_rb,0.41713e+01_rb,0.55225e+01_rb,0.64964e+01_rb,0.42740e+01_rb /) kbo(:, 3,59,12) = (/ & & 0.11190e+01_rb,0.52446e+01_rb,0.69091e+01_rb,0.80966e+01_rb,0.54744e+01_rb /) kbo(:, 4,59,12) = (/ & & 0.14869e+01_rb,0.64659e+01_rb,0.84502e+01_rb,0.98065e+01_rb,0.67716e+01_rb /) kbo(:, 5,59,12) = (/ & & 0.19139e+01_rb,0.78535e+01_rb,0.10085e+02_rb,0.11598e+02_rb,0.81311e+01_rb /) kbo(:, 1,13,13) = (/ & & 0.79406e+02_rb,0.76977e+02_rb,0.79398e+02_rb,0.72265e+02_rb,0.70608e+02_rb /) kbo(:, 2,13,13) = (/ & & 0.78716e+02_rb,0.76325e+02_rb,0.79145e+02_rb,0.72561e+02_rb,0.71233e+02_rb /) kbo(:, 3,13,13) = (/ & & 0.77960e+02_rb,0.75684e+02_rb,0.78864e+02_rb,0.72811e+02_rb,0.71703e+02_rb /) kbo(:, 4,13,13) = (/ & & 0.77172e+02_rb,0.75038e+02_rb,0.78462e+02_rb,0.73003e+02_rb,0.72067e+02_rb /) kbo(:, 5,13,13) = (/ & & 0.76342e+02_rb,0.74357e+02_rb,0.78015e+02_rb,0.73077e+02_rb,0.72406e+02_rb /) kbo(:, 1,14,13) = (/ & & 0.74002e+02_rb,0.75964e+02_rb,0.80244e+02_rb,0.73931e+02_rb,0.67973e+02_rb /) kbo(:, 2,14,13) = (/ & & 0.73259e+02_rb,0.75350e+02_rb,0.80187e+02_rb,0.74373e+02_rb,0.68671e+02_rb /) kbo(:, 3,14,13) = (/ & & 0.72511e+02_rb,0.74741e+02_rb,0.79998e+02_rb,0.74718e+02_rb,0.69297e+02_rb /) kbo(:, 4,14,13) = (/ & & 0.71760e+02_rb,0.74129e+02_rb,0.79694e+02_rb,0.74933e+02_rb,0.69925e+02_rb /) kbo(:, 5,14,13) = (/ & & 0.70963e+02_rb,0.73482e+02_rb,0.79282e+02_rb,0.75062e+02_rb,0.70592e+02_rb /) kbo(:, 1,15,13) = (/ & & 0.67727e+02_rb,0.74204e+02_rb,0.79973e+02_rb,0.74524e+02_rb,0.64503e+02_rb /) kbo(:, 2,15,13) = (/ & & 0.66995e+02_rb,0.73663e+02_rb,0.80067e+02_rb,0.75070e+02_rb,0.65404e+02_rb /) kbo(:, 3,15,13) = (/ & & 0.66299e+02_rb,0.73080e+02_rb,0.80001e+02_rb,0.75489e+02_rb,0.66341e+02_rb /) kbo(:, 4,15,13) = (/ & & 0.65584e+02_rb,0.72498e+02_rb,0.79808e+02_rb,0.75814e+02_rb,0.67293e+02_rb /) kbo(:, 5,15,13) = (/ & & 0.64881e+02_rb,0.71894e+02_rb,0.79644e+02_rb,0.76073e+02_rb,0.68159e+02_rb /) kbo(:, 1,16,13) = (/ & & 0.60910e+02_rb,0.71706e+02_rb,0.78658e+02_rb,0.73971e+02_rb,0.60740e+02_rb /) kbo(:, 2,16,13) = (/ & & 0.60264e+02_rb,0.71204e+02_rb,0.78897e+02_rb,0.74647e+02_rb,0.61882e+02_rb /) kbo(:, 3,16,13) = (/ & & 0.59646e+02_rb,0.70743e+02_rb,0.78998e+02_rb,0.75253e+02_rb,0.63062e+02_rb /) kbo(:, 4,16,13) = (/ & & 0.59033e+02_rb,0.70274e+02_rb,0.79093e+02_rb,0.75819e+02_rb,0.64263e+02_rb /) kbo(:, 5,16,13) = (/ & & 0.58482e+02_rb,0.69838e+02_rb,0.79175e+02_rb,0.76359e+02_rb,0.65453e+02_rb /) kbo(:, 1,17,13) = (/ & & 0.53962e+02_rb,0.68666e+02_rb,0.76384e+02_rb,0.72467e+02_rb,0.57058e+02_rb /) kbo(:, 2,17,13) = (/ & & 0.53430e+02_rb,0.68393e+02_rb,0.76843e+02_rb,0.73413e+02_rb,0.58438e+02_rb /) kbo(:, 3,17,13) = (/ & & 0.52920e+02_rb,0.68105e+02_rb,0.77273e+02_rb,0.74323e+02_rb,0.59869e+02_rb /) kbo(:, 4,17,13) = (/ & & 0.52483e+02_rb,0.67847e+02_rb,0.77698e+02_rb,0.75214e+02_rb,0.61307e+02_rb /) kbo(:, 5,17,13) = (/ & & 0.52082e+02_rb,0.67535e+02_rb,0.78034e+02_rb,0.76077e+02_rb,0.62785e+02_rb /) kbo(:, 1,18,13) = (/ & & 0.47235e+02_rb,0.65232e+02_rb,0.73440e+02_rb,0.70305e+02_rb,0.53676e+02_rb /) kbo(:, 2,18,13) = (/ & & 0.46798e+02_rb,0.65205e+02_rb,0.74239e+02_rb,0.71589e+02_rb,0.55262e+02_rb /) kbo(:, 3,18,13) = (/ & & 0.46439e+02_rb,0.65179e+02_rb,0.75037e+02_rb,0.72870e+02_rb,0.56922e+02_rb /) kbo(:, 4,18,13) = (/ & & 0.46165e+02_rb,0.65077e+02_rb,0.75787e+02_rb,0.74113e+02_rb,0.58606e+02_rb /) kbo(:, 5,18,13) = (/ & & 0.46076e+02_rb,0.64950e+02_rb,0.76497e+02_rb,0.75319e+02_rb,0.60364e+02_rb /) kbo(:, 1,19,13) = (/ & & 0.40875e+02_rb,0.61443e+02_rb,0.70167e+02_rb,0.67815e+02_rb,0.50666e+02_rb /) kbo(:, 2,19,13) = (/ & & 0.40599e+02_rb,0.61754e+02_rb,0.71348e+02_rb,0.69451e+02_rb,0.52443e+02_rb /) kbo(:, 3,19,13) = (/ & & 0.40423e+02_rb,0.61971e+02_rb,0.72494e+02_rb,0.71103e+02_rb,0.54265e+02_rb /) kbo(:, 4,19,13) = (/ & & 0.40489e+02_rb,0.62135e+02_rb,0.73624e+02_rb,0.72723e+02_rb,0.56176e+02_rb /) kbo(:, 5,19,13) = (/ & & 0.40909e+02_rb,0.62251e+02_rb,0.74691e+02_rb,0.74287e+02_rb,0.58151e+02_rb /) kbo(:, 1,20,13) = (/ & & 0.35203e+02_rb,0.57554e+02_rb,0.66740e+02_rb,0.65266e+02_rb,0.47986e+02_rb /) kbo(:, 2,20,13) = (/ & & 0.35059e+02_rb,0.58164e+02_rb,0.68281e+02_rb,0.67270e+02_rb,0.49928e+02_rb /) kbo(:, 3,20,13) = (/ & & 0.35179e+02_rb,0.58679e+02_rb,0.69865e+02_rb,0.69298e+02_rb,0.51957e+02_rb /) kbo(:, 4,20,13) = (/ & & 0.35687e+02_rb,0.59136e+02_rb,0.71375e+02_rb,0.71295e+02_rb,0.54068e+02_rb /) kbo(:, 5,20,13) = (/ & & 0.36572e+02_rb,0.59563e+02_rb,0.72814e+02_rb,0.73197e+02_rb,0.56184e+02_rb /) kbo(:, 1,21,13) = (/ & & 0.30294e+02_rb,0.53730e+02_rb,0.63335e+02_rb,0.62843e+02_rb,0.45639e+02_rb /) kbo(:, 2,21,13) = (/ & & 0.30407e+02_rb,0.54622e+02_rb,0.65309e+02_rb,0.65230e+02_rb,0.47736e+02_rb /) kbo(:, 3,21,13) = (/ & & 0.30898e+02_rb,0.55470e+02_rb,0.67283e+02_rb,0.67630e+02_rb,0.49955e+02_rb /) kbo(:, 4,21,13) = (/ & & 0.31814e+02_rb,0.56234e+02_rb,0.69205e+02_rb,0.69979e+02_rb,0.52223e+02_rb /) kbo(:, 5,21,13) = (/ & & 0.33171e+02_rb,0.57002e+02_rb,0.70988e+02_rb,0.72170e+02_rb,0.54507e+02_rb /) kbo(:, 1,22,13) = (/ & & 0.26203e+02_rb,0.50178e+02_rb,0.60369e+02_rb,0.60883e+02_rb,0.43752e+02_rb /) kbo(:, 2,22,13) = (/ & & 0.26668e+02_rb,0.51399e+02_rb,0.62731e+02_rb,0.63628e+02_rb,0.46055e+02_rb /) kbo(:, 3,22,13) = (/ & & 0.27573e+02_rb,0.52567e+02_rb,0.65094e+02_rb,0.66337e+02_rb,0.48427e+02_rb /) kbo(:, 4,22,13) = (/ & & 0.28933e+02_rb,0.53710e+02_rb,0.67379e+02_rb,0.68992e+02_rb,0.50840e+02_rb /) kbo(:, 5,22,13) = (/ & & 0.30713e+02_rb,0.54842e+02_rb,0.69500e+02_rb,0.71453e+02_rb,0.53313e+02_rb /) kbo(:, 1,23,13) = (/ & & 0.22949e+02_rb,0.47062e+02_rb,0.57786e+02_rb,0.59287e+02_rb,0.42207e+02_rb /) kbo(:, 2,23,13) = (/ & & 0.23779e+02_rb,0.48563e+02_rb,0.60567e+02_rb,0.62337e+02_rb,0.44709e+02_rb /) kbo(:, 3,23,13) = (/ & & 0.25087e+02_rb,0.50088e+02_rb,0.63282e+02_rb,0.65361e+02_rb,0.47224e+02_rb /) kbo(:, 4,23,13) = (/ & & 0.26833e+02_rb,0.51601e+02_rb,0.65861e+02_rb,0.68253e+02_rb,0.49790e+02_rb /) kbo(:, 5,23,13) = (/ & & 0.28975e+02_rb,0.53148e+02_rb,0.68312e+02_rb,0.70979e+02_rb,0.52442e+02_rb /) kbo(:, 1,24,13) = (/ & & 0.20450e+02_rb,0.44418e+02_rb,0.55719e+02_rb,0.58070e+02_rb,0.41028e+02_rb /) kbo(:, 2,24,13) = (/ & & 0.21647e+02_rb,0.46218e+02_rb,0.58860e+02_rb,0.61413e+02_rb,0.43697e+02_rb /) kbo(:, 3,24,13) = (/ & & 0.23313e+02_rb,0.48082e+02_rb,0.61856e+02_rb,0.64696e+02_rb,0.46357e+02_rb /) kbo(:, 4,24,13) = (/ & & 0.25383e+02_rb,0.49987e+02_rb,0.64735e+02_rb,0.67792e+02_rb,0.49079e+02_rb /) kbo(:, 5,24,13) = (/ & & 0.27788e+02_rb,0.51882e+02_rb,0.67449e+02_rb,0.70725e+02_rb,0.51885e+02_rb /) kbo(:, 1,25,13) = (/ & & 0.18632e+02_rb,0.42267e+02_rb,0.54194e+02_rb,0.57249e+02_rb,0.40189e+02_rb /) kbo(:, 2,25,13) = (/ & & 0.20151e+02_rb,0.44393e+02_rb,0.57583e+02_rb,0.60858e+02_rb,0.43004e+02_rb /) kbo(:, 3,25,13) = (/ & & 0.22101e+02_rb,0.46593e+02_rb,0.60865e+02_rb,0.64337e+02_rb,0.45809e+02_rb /) kbo(:, 4,25,13) = (/ & & 0.24391e+02_rb,0.48836e+02_rb,0.63984e+02_rb,0.67613e+02_rb,0.48696e+02_rb /) kbo(:, 5,25,13) = (/ & & 0.26959e+02_rb,0.50995e+02_rb,0.66882e+02_rb,0.70682e+02_rb,0.51602e+02_rb /) kbo(:, 1,26,13) = (/ & & 0.17370e+02_rb,0.40657e+02_rb,0.53173e+02_rb,0.56858e+02_rb,0.39692e+02_rb /) kbo(:, 2,26,13) = (/ & & 0.19155e+02_rb,0.43087e+02_rb,0.56801e+02_rb,0.60671e+02_rb,0.42632e+02_rb /) kbo(:, 3,26,13) = (/ & & 0.21292e+02_rb,0.45598e+02_rb,0.60302e+02_rb,0.64290e+02_rb,0.45592e+02_rb /) kbo(:, 4,26,13) = (/ & & 0.23727e+02_rb,0.48098e+02_rb,0.63591e+02_rb,0.67690e+02_rb,0.48603e+02_rb /) kbo(:, 5,26,13) = (/ & & 0.26455e+02_rb,0.50493e+02_rb,0.66616e+02_rb,0.70861e+02_rb,0.51588e+02_rb /) kbo(:, 1,27,13) = (/ & & 0.16499e+02_rb,0.39533e+02_rb,0.52563e+02_rb,0.56787e+02_rb,0.39461e+02_rb /) kbo(:, 2,27,13) = (/ & & 0.18462e+02_rb,0.42240e+02_rb,0.56391e+02_rb,0.60738e+02_rb,0.42525e+02_rb /) kbo(:, 3,27,13) = (/ & & 0.20737e+02_rb,0.45009e+02_rb,0.60060e+02_rb,0.64459e+02_rb,0.45612e+02_rb /) kbo(:, 4,27,13) = (/ & & 0.23336e+02_rb,0.47712e+02_rb,0.63452e+02_rb,0.67944e+02_rb,0.48705e+02_rb /) kbo(:, 5,27,13) = (/ & & 0.26215e+02_rb,0.50322e+02_rb,0.66583e+02_rb,0.71174e+02_rb,0.51756e+02_rb /) kbo(:, 1,28,13) = (/ & & 0.15882e+02_rb,0.38845e+02_rb,0.52318e+02_rb,0.56965e+02_rb,0.39468e+02_rb /) kbo(:, 2,28,13) = (/ & & 0.17994e+02_rb,0.41785e+02_rb,0.56289e+02_rb,0.61007e+02_rb,0.42649e+02_rb /) kbo(:, 3,28,13) = (/ & & 0.20424e+02_rb,0.44749e+02_rb,0.60052e+02_rb,0.64808e+02_rb,0.45826e+02_rb /) kbo(:, 4,28,13) = (/ & & 0.23178e+02_rb,0.47630e+02_rb,0.63526e+02_rb,0.68347e+02_rb,0.48967e+02_rb /) kbo(:, 5,28,13) = (/ & & 0.26217e+02_rb,0.50385e+02_rb,0.66714e+02_rb,0.71584e+02_rb,0.52071e+02_rb /) kbo(:, 1,29,13) = (/ & & 0.15496e+02_rb,0.38533e+02_rb,0.52388e+02_rb,0.57377e+02_rb,0.39687e+02_rb /) kbo(:, 2,29,13) = (/ & & 0.17758e+02_rb,0.41667e+02_rb,0.56458e+02_rb,0.61470e+02_rb,0.42963e+02_rb /) kbo(:, 3,29,13) = (/ & & 0.20345e+02_rb,0.44782e+02_rb,0.60267e+02_rb,0.65320e+02_rb,0.46203e+02_rb /) kbo(:, 4,29,13) = (/ & & 0.23257e+02_rb,0.47788e+02_rb,0.63789e+02_rb,0.68865e+02_rb,0.49378e+02_rb /) kbo(:, 5,29,13) = (/ & & 0.26442e+02_rb,0.50623e+02_rb,0.67004e+02_rb,0.72085e+02_rb,0.52513e+02_rb /) kbo(:, 1,30,13) = (/ & & 0.15305e+02_rb,0.38520e+02_rb,0.52687e+02_rb,0.57942e+02_rb,0.40075e+02_rb /) kbo(:, 2,30,13) = (/ & & 0.17725e+02_rb,0.41787e+02_rb,0.56809e+02_rb,0.62069e+02_rb,0.43408e+02_rb /) kbo(:, 3,30,13) = (/ & & 0.20471e+02_rb,0.45011e+02_rb,0.60646e+02_rb,0.65935e+02_rb,0.46678e+02_rb /) kbo(:, 4,30,13) = (/ & & 0.23532e+02_rb,0.48109e+02_rb,0.64191e+02_rb,0.69457e+02_rb,0.49879e+02_rb /) kbo(:, 5,30,13) = (/ & & 0.26835e+02_rb,0.50980e+02_rb,0.67409e+02_rb,0.72648e+02_rb,0.53041e+02_rb /) kbo(:, 1,31,13) = (/ & & 0.15319e+02_rb,0.38759e+02_rb,0.53187e+02_rb,0.58637e+02_rb,0.40597e+02_rb /) kbo(:, 2,31,13) = (/ & & 0.17890e+02_rb,0.42121e+02_rb,0.57326e+02_rb,0.62778e+02_rb,0.43969e+02_rb /) kbo(:, 3,31,13) = (/ & & 0.20784e+02_rb,0.45419e+02_rb,0.61174e+02_rb,0.66627e+02_rb,0.47246e+02_rb /) kbo(:, 4,31,13) = (/ & & 0.23963e+02_rb,0.48555e+02_rb,0.64709e+02_rb,0.70119e+02_rb,0.50470e+02_rb /) kbo(:, 5,31,13) = (/ & & 0.27377e+02_rb,0.51448e+02_rb,0.67912e+02_rb,0.73265e+02_rb,0.53642e+02_rb /) kbo(:, 1,32,13) = (/ & & 0.15518e+02_rb,0.39176e+02_rb,0.53833e+02_rb,0.59441e+02_rb,0.41231e+02_rb /) kbo(:, 2,32,13) = (/ & & 0.18219e+02_rb,0.42608e+02_rb,0.57967e+02_rb,0.63575e+02_rb,0.44614e+02_rb /) kbo(:, 3,32,13) = (/ & & 0.21240e+02_rb,0.45958e+02_rb,0.61807e+02_rb,0.67376e+02_rb,0.47899e+02_rb /) kbo(:, 4,32,13) = (/ & & 0.24535e+02_rb,0.49103e+02_rb,0.65323e+02_rb,0.70819e+02_rb,0.51129e+02_rb /) kbo(:, 5,32,13) = (/ & & 0.28030e+02_rb,0.51991e+02_rb,0.68477e+02_rb,0.73912e+02_rb,0.54297e+02_rb /) kbo(:, 1,33,13) = (/ & & 0.15857e+02_rb,0.39728e+02_rb,0.54587e+02_rb,0.60326e+02_rb,0.41934e+02_rb /) kbo(:, 2,33,13) = (/ & & 0.18681e+02_rb,0.43207e+02_rb,0.58700e+02_rb,0.64428e+02_rb,0.45312e+02_rb /) kbo(:, 3,33,13) = (/ & & 0.21817e+02_rb,0.46584e+02_rb,0.62510e+02_rb,0.68164e+02_rb,0.48601e+02_rb /) kbo(:, 4,33,13) = (/ & & 0.25208e+02_rb,0.49716e+02_rb,0.65986e+02_rb,0.71546e+02_rb,0.51832e+02_rb /) kbo(:, 5,33,13) = (/ & & 0.28769e+02_rb,0.52588e+02_rb,0.69085e+02_rb,0.74576e+02_rb,0.54996e+02_rb /) kbo(:, 1,34,13) = (/ & & 0.16218e+02_rb,0.40255e+02_rb,0.55264e+02_rb,0.61104e+02_rb,0.42563e+02_rb /) kbo(:, 2,34,13) = (/ & & 0.19136e+02_rb,0.43775e+02_rb,0.59363e+02_rb,0.65173e+02_rb,0.45933e+02_rb /) kbo(:, 3,34,13) = (/ & & 0.22367e+02_rb,0.47148e+02_rb,0.63138e+02_rb,0.68848e+02_rb,0.49223e+02_rb /) kbo(:, 4,34,13) = (/ & & 0.25824e+02_rb,0.50264e+02_rb,0.66569e+02_rb,0.72180e+02_rb,0.52454e+02_rb /) kbo(:, 5,34,13) = (/ & & 0.29432e+02_rb,0.53119e+02_rb,0.69617e+02_rb,0.75149e+02_rb,0.55607e+02_rb /) kbo(:, 1,35,13) = (/ & & 0.16382e+02_rb,0.40509e+02_rb,0.55591e+02_rb,0.61512e+02_rb,0.42891e+02_rb /) kbo(:, 2,35,13) = (/ & & 0.19362e+02_rb,0.44056e+02_rb,0.59682e+02_rb,0.65556e+02_rb,0.46259e+02_rb /) kbo(:, 3,35,13) = (/ & & 0.22646e+02_rb,0.47437e+02_rb,0.63450e+02_rb,0.69212e+02_rb,0.49551e+02_rb /) kbo(:, 4,35,13) = (/ & & 0.26140e+02_rb,0.50553e+02_rb,0.66864e+02_rb,0.72519e+02_rb,0.52785e+02_rb /) kbo(:, 5,35,13) = (/ & & 0.29778e+02_rb,0.53403e+02_rb,0.69889e+02_rb,0.75460e+02_rb,0.55937e+02_rb /) kbo(:, 1,36,13) = (/ & & 0.16282e+02_rb,0.40412e+02_rb,0.55499e+02_rb,0.61489e+02_rb,0.42866e+02_rb /) kbo(:, 2,36,13) = (/ & & 0.19286e+02_rb,0.43996e+02_rb,0.59618e+02_rb,0.65550e+02_rb,0.46244e+02_rb /) kbo(:, 3,36,13) = (/ & & 0.22586e+02_rb,0.47399e+02_rb,0.63406e+02_rb,0.69212e+02_rb,0.49542e+02_rb /) kbo(:, 4,36,13) = (/ & & 0.26096e+02_rb,0.50533e+02_rb,0.66829e+02_rb,0.72526e+02_rb,0.52781e+02_rb /) kbo(:, 5,36,13) = (/ & & 0.29750e+02_rb,0.53407e+02_rb,0.69875e+02_rb,0.75478e+02_rb,0.55943e+02_rb /) kbo(:, 1,37,13) = (/ & & 0.15776e+02_rb,0.39797e+02_rb,0.54788e+02_rb,0.60844e+02_rb,0.42332e+02_rb /) kbo(:, 2,37,13) = (/ & & 0.18757e+02_rb,0.43418e+02_rb,0.58970e+02_rb,0.64965e+02_rb,0.45736e+02_rb /) kbo(:, 3,37,13) = (/ & & 0.22032e+02_rb,0.46879e+02_rb,0.62830e+02_rb,0.68697e+02_rb,0.49053e+02_rb /) kbo(:, 4,37,13) = (/ & & 0.25533e+02_rb,0.50076e+02_rb,0.66324e+02_rb,0.72072e+02_rb,0.52311e+02_rb /) kbo(:, 5,37,13) = (/ & & 0.29180e+02_rb,0.52997e+02_rb,0.69437e+02_rb,0.75080e+02_rb,0.55481e+02_rb /) kbo(:, 1,38,13) = (/ & & 0.15271e+02_rb,0.39166e+02_rb,0.54054e+02_rb,0.60165e+02_rb,0.41777e+02_rb /) kbo(:, 2,38,13) = (/ & & 0.18227e+02_rb,0.42823e+02_rb,0.58302e+02_rb,0.64350e+02_rb,0.45207e+02_rb /) kbo(:, 3,38,13) = (/ & & 0.21473e+02_rb,0.46333e+02_rb,0.62224e+02_rb,0.68144e+02_rb,0.48540e+02_rb /) kbo(:, 4,38,13) = (/ & & 0.24954e+02_rb,0.49588e+02_rb,0.65790e+02_rb,0.71578e+02_rb,0.51811e+02_rb /) kbo(:, 5,38,13) = (/ & & 0.28592e+02_rb,0.52564e+02_rb,0.68973e+02_rb,0.74653e+02_rb,0.55000e+02_rb /) kbo(:, 1,39,13) = (/ & & 0.14788e+02_rb,0.38557e+02_rb,0.53339e+02_rb,0.59493e+02_rb,0.41232e+02_rb /) kbo(:, 2,39,13) = (/ & & 0.17725e+02_rb,0.42239e+02_rb,0.57643e+02_rb,0.63735e+02_rb,0.44689e+02_rb /) kbo(:, 3,39,13) = (/ & & 0.20936e+02_rb,0.45800e+02_rb,0.61629e+02_rb,0.67599e+02_rb,0.48036e+02_rb /) kbo(:, 4,39,13) = (/ & & 0.24393e+02_rb,0.49102e+02_rb,0.65258e+02_rb,0.71089e+02_rb,0.51322e+02_rb /) kbo(:, 5,39,13) = (/ & & 0.28020e+02_rb,0.52130e+02_rb,0.68507e+02_rb,0.74225e+02_rb,0.54528e+02_rb /) kbo(:, 1,40,13) = (/ & & 0.14035e+02_rb,0.37576e+02_rb,0.52178e+02_rb,0.58374e+02_rb,0.40328e+02_rb /) kbo(:, 2,40,13) = (/ & & 0.16933e+02_rb,0.41290e+02_rb,0.56557e+02_rb,0.62694e+02_rb,0.43829e+02_rb /) kbo(:, 3,40,13) = (/ & & 0.20073e+02_rb,0.44909e+02_rb,0.60638e+02_rb,0.66668e+02_rb,0.47203e+02_rb /) kbo(:, 4,40,13) = (/ & & 0.23486e+02_rb,0.48287e+02_rb,0.64365e+02_rb,0.70250e+02_rb,0.50504e+02_rb /) kbo(:, 5,40,13) = (/ & & 0.27084e+02_rb,0.51393e+02_rb,0.67719e+02_rb,0.73485e+02_rb,0.53736e+02_rb /) kbo(:, 1,41,13) = (/ & & 0.13270e+02_rb,0.36551e+02_rb,0.50952e+02_rb,0.57187e+02_rb,0.39381e+02_rb /) kbo(:, 2,41,13) = (/ & & 0.16132e+02_rb,0.40293e+02_rb,0.55396e+02_rb,0.61573e+02_rb,0.42921e+02_rb /) kbo(:, 3,41,13) = (/ & & 0.19195e+02_rb,0.43957e+02_rb,0.59575e+02_rb,0.65658e+02_rb,0.46320e+02_rb /) kbo(:, 4,41,13) = (/ & & 0.22552e+02_rb,0.47415e+02_rb,0.63413e+02_rb,0.69340e+02_rb,0.49639e+02_rb /) kbo(:, 5,41,13) = (/ & & 0.26115e+02_rb,0.50603e+02_rb,0.66868e+02_rb,0.72675e+02_rb,0.52897e+02_rb /) kbo(:, 1,42,13) = (/ & & 0.12533e+02_rb,0.35537e+02_rb,0.49715e+02_rb,0.55979e+02_rb,0.38430e+02_rb /) kbo(:, 2,42,13) = (/ & & 0.15340e+02_rb,0.39292e+02_rb,0.54229e+02_rb,0.60445e+02_rb,0.42004e+02_rb /) kbo(:, 3,42,13) = (/ & & 0.18342e+02_rb,0.42991e+02_rb,0.58494e+02_rb,0.64631e+02_rb,0.45437e+02_rb /) kbo(:, 4,42,13) = (/ & & 0.21634e+02_rb,0.46527e+02_rb,0.62435e+02_rb,0.68417e+02_rb,0.48777e+02_rb /) kbo(:, 5,42,13) = (/ & & 0.25154e+02_rb,0.49791e+02_rb,0.65989e+02_rb,0.71836e+02_rb,0.52054e+02_rb /) kbo(:, 1,43,13) = (/ & & 0.11668e+02_rb,0.34309e+02_rb,0.48203e+02_rb,0.54498e+02_rb,0.37270e+02_rb /) kbo(:, 2,43,13) = (/ & & 0.14402e+02_rb,0.38082e+02_rb,0.52797e+02_rb,0.59048e+02_rb,0.40873e+02_rb /) kbo(:, 3,43,13) = (/ & & 0.17344e+02_rb,0.41812e+02_rb,0.57160e+02_rb,0.63341e+02_rb,0.44355e+02_rb /) kbo(:, 4,43,13) = (/ & & 0.20545e+02_rb,0.45427e+02_rb,0.61209e+02_rb,0.67260e+02_rb,0.47724e+02_rb /) kbo(:, 5,43,13) = (/ & & 0.24007e+02_rb,0.48779e+02_rb,0.64893e+02_rb,0.70794e+02_rb,0.51019e+02_rb /) kbo(:, 1,44,13) = (/ & & 0.10777e+02_rb,0.32982e+02_rb,0.46555e+02_rb,0.52865e+02_rb,0.36017e+02_rb /) kbo(:, 2,44,13) = (/ & & 0.13422e+02_rb,0.36774e+02_rb,0.51234e+02_rb,0.57518e+02_rb,0.39647e+02_rb /) kbo(:, 3,44,13) = (/ & & 0.16301e+02_rb,0.40529e+02_rb,0.55688e+02_rb,0.61909e+02_rb,0.43184e+02_rb /) kbo(:, 4,44,13) = (/ & & 0.19410e+02_rb,0.44205e+02_rb,0.59841e+02_rb,0.65956e+02_rb,0.46575e+02_rb /) kbo(:, 5,44,13) = (/ & & 0.22792e+02_rb,0.47657e+02_rb,0.63668e+02_rb,0.69623e+02_rb,0.49898e+02_rb /) kbo(:, 1,45,13) = (/ & & 0.99376e+01_rb,0.31658e+02_rb,0.44891e+02_rb,0.51201e+02_rb,0.34758e+02_rb /) kbo(:, 2,45,13) = (/ & & 0.12468e+02_rb,0.35468e+02_rb,0.49648e+02_rb,0.55955e+02_rb,0.38412e+02_rb /) kbo(:, 3,45,13) = (/ & & 0.15282e+02_rb,0.39240e+02_rb,0.54182e+02_rb,0.60441e+02_rb,0.41991e+02_rb /) kbo(:, 4,45,13) = (/ & & 0.18307e+02_rb,0.42958e+02_rb,0.58447e+02_rb,0.64617e+02_rb,0.45427e+02_rb /) kbo(:, 5,45,13) = (/ & & 0.21602e+02_rb,0.46508e+02_rb,0.62404e+02_rb,0.68417e+02_rb,0.48775e+02_rb /) kbo(:, 1,46,13) = (/ & & 0.90997e+01_rb,0.30250e+02_rb,0.43114e+02_rb,0.49420e+02_rb,0.33417e+02_rb /) kbo(:, 2,46,13) = (/ & & 0.11497e+02_rb,0.34076e+02_rb,0.47932e+02_rb,0.54263e+02_rb,0.37087e+02_rb /) kbo(:, 3,46,13) = (/ & & 0.14229e+02_rb,0.37865e+02_rb,0.52547e+02_rb,0.58836e+02_rb,0.40705e+02_rb /) kbo(:, 4,46,13) = (/ & & 0.17178e+02_rb,0.41613e+02_rb,0.56930e+02_rb,0.63142e+02_rb,0.44193e+02_rb /) kbo(:, 5,46,13) = (/ & & 0.20366e+02_rb,0.45251e+02_rb,0.61008e+02_rb,0.67091e+02_rb,0.47569e+02_rb /) kbo(:, 1,47,13) = (/ & & 0.82326e+01_rb,0.28698e+02_rb,0.41131e+02_rb,0.47406e+02_rb,0.31895e+02_rb /) kbo(:, 2,47,13) = (/ & & 0.10467e+02_rb,0.32516e+02_rb,0.45987e+02_rb,0.52322e+02_rb,0.35605e+02_rb /) kbo(:, 3,47,13) = (/ & & 0.13084e+02_rb,0.36324e+02_rb,0.50700e+02_rb,0.57015e+02_rb,0.39250e+02_rb /) kbo(:, 4,47,13) = (/ & & 0.15956e+02_rb,0.40097e+02_rb,0.55181e+02_rb,0.61437e+02_rb,0.42802e+02_rb /) kbo(:, 5,47,13) = (/ & & 0.19031e+02_rb,0.43799e+02_rb,0.59396e+02_rb,0.65543e+02_rb,0.46212e+02_rb /) kbo(:, 1,48,13) = (/ & & 0.74393e+01_rb,0.27161e+02_rb,0.39157e+02_rb,0.45343e+02_rb,0.30350e+02_rb /) kbo(:, 2,48,13) = (/ & & 0.95049e+01_rb,0.30953e+02_rb,0.44020e+02_rb,0.50347e+02_rb,0.34113e+02_rb /) kbo(:, 3,48,13) = (/ & & 0.11978e+02_rb,0.34782e+02_rb,0.48813e+02_rb,0.55151e+02_rb,0.37782e+02_rb /) kbo(:, 4,48,13) = (/ & & 0.14764e+02_rb,0.38570e+02_rb,0.53387e+02_rb,0.59681e+02_rb,0.41384e+02_rb /) kbo(:, 5,48,13) = (/ & & 0.17748e+02_rb,0.42312e+02_rb,0.57728e+02_rb,0.63933e+02_rb,0.44844e+02_rb /) kbo(:, 1,49,13) = (/ & & 0.67167e+01_rb,0.25650e+02_rb,0.37197e+02_rb,0.43247e+02_rb,0.28796e+02_rb /) kbo(:, 2,49,13) = (/ & & 0.86101e+01_rb,0.29402e+02_rb,0.42045e+02_rb,0.48354e+02_rb,0.32610e+02_rb /) kbo(:, 3,49,13) = (/ & & 0.10926e+02_rb,0.33234e+02_rb,0.46891e+02_rb,0.53243e+02_rb,0.36305e+02_rb /) kbo(:, 4,49,13) = (/ & & 0.13605e+02_rb,0.37035e+02_rb,0.51562e+02_rb,0.57884e+02_rb,0.39936e+02_rb /) kbo(:, 5,49,13) = (/ & & 0.16513e+02_rb,0.40804e+02_rb,0.56010e+02_rb,0.62260e+02_rb,0.43466e+02_rb /) kbo(:, 1,50,13) = (/ & & 0.60927e+01_rb,0.24264e+02_rb,0.35366e+02_rb,0.41271e+02_rb,0.27331e+02_rb /) kbo(:, 2,50,13) = (/ & & 0.78376e+01_rb,0.27958e+02_rb,0.40194e+02_rb,0.46451e+02_rb,0.31176e+02_rb /) kbo(:, 3,50,13) = (/ & & 0.99975e+01_rb,0.31777e+02_rb,0.45061e+02_rb,0.51408e+02_rb,0.34914e+02_rb /) kbo(:, 4,50,13) = (/ & & 0.12552e+02_rb,0.35595e+02_rb,0.49816e+02_rb,0.56159e+02_rb,0.38569e+02_rb /) kbo(:, 5,50,13) = (/ & & 0.15384e+02_rb,0.39379e+02_rb,0.54352e+02_rb,0.60637e+02_rb,0.42153e+02_rb /) kbo(:, 1,51,13) = (/ & & 0.55303e+01_rb,0.22951e+02_rb,0.33599e+02_rb,0.39341e+02_rb,0.25901e+02_rb /) kbo(:, 2,51,13) = (/ & & 0.71468e+01_rb,0.26574e+02_rb,0.38412e+02_rb,0.44565e+02_rb,0.29771e+02_rb /) kbo(:, 3,51,13) = (/ & & 0.91530e+01_rb,0.30360e+02_rb,0.43274e+02_rb,0.49608e+02_rb,0.33559e+02_rb /) kbo(:, 4,51,13) = (/ & & 0.11570e+02_rb,0.34196e+02_rb,0.48091e+02_rb,0.54457e+02_rb,0.37233e+02_rb /) kbo(:, 5,51,13) = (/ & & 0.14322e+02_rb,0.37996e+02_rb,0.52708e+02_rb,0.59018e+02_rb,0.40851e+02_rb /) kbo(:, 1,52,13) = (/ & & 0.50134e+01_rb,0.21673e+02_rb,0.31833e+02_rb,0.37382e+02_rb,0.24463e+02_rb /) kbo(:, 2,52,13) = (/ & & 0.65135e+01_rb,0.25216e+02_rb,0.36639e+02_rb,0.42658e+02_rb,0.28359e+02_rb /) kbo(:, 3,52,13) = (/ & & 0.83642e+01_rb,0.28959e+02_rb,0.41485e+02_rb,0.47797e+02_rb,0.32187e+02_rb /) kbo(:, 4,52,13) = (/ & & 0.10636e+02_rb,0.32789e+02_rb,0.46344e+02_rb,0.52709e+02_rb,0.35895e+02_rb /) kbo(:, 5,52,13) = (/ & & 0.13285e+02_rb,0.36604e+02_rb,0.51047e+02_rb,0.57380e+02_rb,0.39540e+02_rb /) kbo(:, 1,53,13) = (/ & & 0.45376e+01_rb,0.20438e+02_rb,0.30067e+02_rb,0.35396e+02_rb,0.23001e+02_rb /) kbo(:, 2,53,13) = (/ & & 0.59241e+01_rb,0.23884e+02_rb,0.34872e+02_rb,0.40744e+02_rb,0.26941e+02_rb /) kbo(:, 3,53,13) = (/ & & 0.76354e+01_rb,0.27568e+02_rb,0.39698e+02_rb,0.45939e+02_rb,0.30794e+02_rb /) kbo(:, 4,53,13) = (/ & & 0.97536e+01_rb,0.31378e+02_rb,0.44569e+02_rb,0.50924e+02_rb,0.34545e+02_rb /) kbo(:, 5,53,13) = (/ & & 0.12275e+02_rb,0.35210e+02_rb,0.49348e+02_rb,0.55701e+02_rb,0.38212e+02_rb /) kbo(:, 1,54,13) = (/ & & 0.41389e+01_rb,0.19353e+02_rb,0.28454e+02_rb,0.33563e+02_rb,0.21647e+02_rb /) kbo(:, 2,54,13) = (/ & & 0.54194e+01_rb,0.22692e+02_rb,0.33259e+02_rb,0.38976e+02_rb,0.25632e+02_rb /) kbo(:, 3,54,13) = (/ & & 0.70164e+01_rb,0.26307e+02_rb,0.38072e+02_rb,0.44208e+02_rb,0.29508e+02_rb /) kbo(:, 4,54,13) = (/ & & 0.89936e+01_rb,0.30086e+02_rb,0.42934e+02_rb,0.49276e+02_rb,0.33306e+02_rb /) kbo(:, 5,54,13) = (/ & & 0.11387e+02_rb,0.33931e+02_rb,0.47765e+02_rb,0.54132e+02_rb,0.36987e+02_rb /) kbo(:, 1,55,13) = (/ & & 0.37927e+01_rb,0.18358e+02_rb,0.26927e+02_rb,0.31801e+02_rb,0.20350e+02_rb /) kbo(:, 2,55,13) = (/ & & 0.49755e+01_rb,0.21582e+02_rb,0.31711e+02_rb,0.37250e+02_rb,0.24368e+02_rb /) kbo(:, 3,55,13) = (/ & & 0.64669e+01_rb,0.25119e+02_rb,0.36517e+02_rb,0.42532e+02_rb,0.28268e+02_rb /) kbo(:, 4,55,13) = (/ & & 0.83082e+01_rb,0.28857e+02_rb,0.41362e+02_rb,0.47679e+02_rb,0.32095e+02_rb /) kbo(:, 5,55,13) = (/ & & 0.10573e+02_rb,0.32695e+02_rb,0.46225e+02_rb,0.52593e+02_rb,0.35810e+02_rb /) kbo(:, 1,56,13) = (/ & & 0.34680e+01_rb,0.17374e+02_rb,0.25413e+02_rb,0.30039e+02_rb,0.19069e+02_rb /) kbo(:, 2,56,13) = (/ & & 0.45601e+01_rb,0.20503e+02_rb,0.30163e+02_rb,0.35509e+02_rb,0.23088e+02_rb /) kbo(:, 3,56,13) = (/ & & 0.59518e+01_rb,0.23956e+02_rb,0.34971e+02_rb,0.40858e+02_rb,0.27027e+02_rb /) kbo(:, 4,56,13) = (/ & & 0.76711e+01_rb,0.27642e+02_rb,0.39801e+02_rb,0.46057e+02_rb,0.30878e+02_rb /) kbo(:, 5,56,13) = (/ & & 0.98017e+01_rb,0.31462e+02_rb,0.44674e+02_rb,0.51031e+02_rb,0.34630e+02_rb /) kbo(:, 1,57,13) = (/ & & 0.31571e+01_rb,0.16389e+02_rb,0.23903e+02_rb,0.28270e+02_rb,0.17802e+02_rb /) kbo(:, 2,57,13) = (/ & & 0.41775e+01_rb,0.19466e+02_rb,0.28628e+02_rb,0.33765e+02_rb,0.21796e+02_rb /) kbo(:, 3,57,13) = (/ & & 0.54676e+01_rb,0.22817e+02_rb,0.33433e+02_rb,0.39170e+02_rb,0.25777e+02_rb /) kbo(:, 4,57,13) = (/ & & 0.70767e+01_rb,0.26436e+02_rb,0.38248e+02_rb,0.44404e+02_rb,0.29650e+02_rb /) kbo(:, 5,57,13) = (/ & & 0.90728e+01_rb,0.30224e+02_rb,0.43110e+02_rb,0.49455e+02_rb,0.33445e+02_rb /) kbo(:, 1,58,13) = (/ & & 0.28749e+01_rb,0.15464e+02_rb,0.22485e+02_rb,0.26596e+02_rb,0.16612e+02_rb /) kbo(:, 2,58,13) = (/ & & 0.38438e+01_rb,0.18517e+02_rb,0.27179e+02_rb,0.32099e+02_rb,0.20568e+02_rb /) kbo(:, 3,58,13) = (/ & & 0.50410e+01_rb,0.21758e+02_rb,0.31967e+02_rb,0.37546e+02_rb,0.24584e+02_rb /) kbo(:, 4,58,13) = (/ & & 0.65535e+01_rb,0.25311e+02_rb,0.36779e+02_rb,0.42823e+02_rb,0.28478e+02_rb /) kbo(:, 5,58,13) = (/ & & 0.84187e+01_rb,0.29065e+02_rb,0.41628e+02_rb,0.47951e+02_rb,0.32304e+02_rb /) kbo(:, 1,59,13) = (/ & & 0.27657e+01_rb,0.15098e+02_rb,0.21927e+02_rb,0.25930e+02_rb,0.16137e+02_rb /) kbo(:, 2,59,13) = (/ & & 0.37163e+01_rb,0.18141e+02_rb,0.26603e+02_rb,0.31433e+02_rb,0.20078e+02_rb /) kbo(:, 3,59,13) = (/ & & 0.48770e+01_rb,0.21342e+02_rb,0.31379e+02_rb,0.36884e+02_rb,0.24100e+02_rb /) kbo(:, 4,59,13) = (/ & & 0.63518e+01_rb,0.24865e+02_rb,0.36188e+02_rb,0.42182e+02_rb,0.28007e+02_rb /) kbo(:, 5,59,13) = (/ & & 0.81684e+01_rb,0.28600e+02_rb,0.41035e+02_rb,0.47343e+02_rb,0.31847e+02_rb /) kbo(:, 1,13,14) = (/ & & 0.20563e+03_rb,0.16395e+03_rb,0.15131e+03_rb,0.13928e+03_rb,0.17336e+03_rb /) kbo(:, 2,13,14) = (/ & & 0.20583e+03_rb,0.16346e+03_rb,0.15102e+03_rb,0.13867e+03_rb,0.17209e+03_rb /) kbo(:, 3,13,14) = (/ & & 0.20579e+03_rb,0.16282e+03_rb,0.15051e+03_rb,0.13803e+03_rb,0.17119e+03_rb /) kbo(:, 4,13,14) = (/ & & 0.20538e+03_rb,0.16198e+03_rb,0.15005e+03_rb,0.13746e+03_rb,0.17062e+03_rb /) kbo(:, 5,13,14) = (/ & & 0.20471e+03_rb,0.16100e+03_rb,0.14942e+03_rb,0.13685e+03_rb,0.16998e+03_rb /) kbo(:, 1,14,14) = (/ & & 0.21387e+03_rb,0.17486e+03_rb,0.16410e+03_rb,0.14896e+03_rb,0.17926e+03_rb /) kbo(:, 2,14,14) = (/ & & 0.21398e+03_rb,0.17407e+03_rb,0.16354e+03_rb,0.14849e+03_rb,0.17872e+03_rb /) kbo(:, 3,14,14) = (/ & & 0.21371e+03_rb,0.17306e+03_rb,0.16300e+03_rb,0.14796e+03_rb,0.17838e+03_rb /) kbo(:, 4,14,14) = (/ & & 0.21320e+03_rb,0.17193e+03_rb,0.16238e+03_rb,0.14748e+03_rb,0.17807e+03_rb /) kbo(:, 5,14,14) = (/ & & 0.21239e+03_rb,0.17062e+03_rb,0.16158e+03_rb,0.14661e+03_rb,0.17726e+03_rb /) kbo(:, 1,15,14) = (/ & & 0.21868e+03_rb,0.18392e+03_rb,0.17597e+03_rb,0.15877e+03_rb,0.18409e+03_rb /) kbo(:, 2,15,14) = (/ & & 0.21861e+03_rb,0.18285e+03_rb,0.17533e+03_rb,0.15845e+03_rb,0.18413e+03_rb /) kbo(:, 3,15,14) = (/ & & 0.21838e+03_rb,0.18168e+03_rb,0.17469e+03_rb,0.15814e+03_rb,0.18423e+03_rb /) kbo(:, 4,15,14) = (/ & & 0.21785e+03_rb,0.18028e+03_rb,0.17392e+03_rb,0.15747e+03_rb,0.18391e+03_rb /) kbo(:, 5,15,14) = (/ & & 0.21714e+03_rb,0.17881e+03_rb,0.17281e+03_rb,0.15644e+03_rb,0.18337e+03_rb /) kbo(:, 1,16,14) = (/ & & 0.21989e+03_rb,0.19090e+03_rb,0.18666e+03_rb,0.16823e+03_rb,0.18717e+03_rb /) kbo(:, 2,16,14) = (/ & & 0.22000e+03_rb,0.18989e+03_rb,0.18604e+03_rb,0.16822e+03_rb,0.18797e+03_rb /) kbo(:, 3,16,14) = (/ & & 0.21982e+03_rb,0.18856e+03_rb,0.18533e+03_rb,0.16794e+03_rb,0.18851e+03_rb /) kbo(:, 4,16,14) = (/ & & 0.21954e+03_rb,0.18709e+03_rb,0.18432e+03_rb,0.16715e+03_rb,0.18854e+03_rb /) kbo(:, 5,16,14) = (/ & & 0.21898e+03_rb,0.18542e+03_rb,0.18303e+03_rb,0.16600e+03_rb,0.18839e+03_rb /) kbo(:, 1,17,14) = (/ & & 0.21793e+03_rb,0.19596e+03_rb,0.19603e+03_rb,0.17703e+03_rb,0.18857e+03_rb /) kbo(:, 2,17,14) = (/ & & 0.21821e+03_rb,0.19492e+03_rb,0.19548e+03_rb,0.17725e+03_rb,0.19023e+03_rb /) kbo(:, 3,17,14) = (/ & & 0.21850e+03_rb,0.19369e+03_rb,0.19462e+03_rb,0.17701e+03_rb,0.19133e+03_rb /) kbo(:, 4,17,14) = (/ & & 0.21855e+03_rb,0.19221e+03_rb,0.19343e+03_rb,0.17616e+03_rb,0.19194e+03_rb /) kbo(:, 5,17,14) = (/ & & 0.21839e+03_rb,0.19057e+03_rb,0.19206e+03_rb,0.17490e+03_rb,0.19225e+03_rb /) kbo(:, 1,18,14) = (/ & & 0.21311e+03_rb,0.19935e+03_rb,0.20385e+03_rb,0.18492e+03_rb,0.18864e+03_rb /) kbo(:, 2,18,14) = (/ & & 0.21399e+03_rb,0.19838e+03_rb,0.20339e+03_rb,0.18536e+03_rb,0.19117e+03_rb /) kbo(:, 3,18,14) = (/ & & 0.21477e+03_rb,0.19727e+03_rb,0.20251e+03_rb,0.18517e+03_rb,0.19296e+03_rb /) kbo(:, 4,18,14) = (/ & & 0.21537e+03_rb,0.19602e+03_rb,0.20131e+03_rb,0.18433e+03_rb,0.19426e+03_rb /) kbo(:, 5,18,14) = (/ & & 0.21594e+03_rb,0.19460e+03_rb,0.19989e+03_rb,0.18299e+03_rb,0.19511e+03_rb /) kbo(:, 1,19,14) = (/ & & 0.20628e+03_rb,0.20131e+03_rb,0.21018e+03_rb,0.19181e+03_rb,0.18780e+03_rb /) kbo(:, 2,19,14) = (/ & & 0.20786e+03_rb,0.20061e+03_rb,0.20985e+03_rb,0.19249e+03_rb,0.19117e+03_rb /) kbo(:, 3,19,14) = (/ & & 0.20939e+03_rb,0.19978e+03_rb,0.20915e+03_rb,0.19245e+03_rb,0.19379e+03_rb /) kbo(:, 4,19,14) = (/ & & 0.21078e+03_rb,0.19876e+03_rb,0.20808e+03_rb,0.19159e+03_rb,0.19578e+03_rb /) kbo(:, 5,19,14) = (/ & & 0.21196e+03_rb,0.19762e+03_rb,0.20666e+03_rb,0.19020e+03_rb,0.19726e+03_rb /) kbo(:, 1,20,14) = (/ & & 0.19806e+03_rb,0.20215e+03_rb,0.21525e+03_rb,0.19781e+03_rb,0.18646e+03_rb /) kbo(:, 2,20,14) = (/ & & 0.20054e+03_rb,0.20180e+03_rb,0.21527e+03_rb,0.19874e+03_rb,0.19072e+03_rb /) kbo(:, 3,20,14) = (/ & & 0.20298e+03_rb,0.20132e+03_rb,0.21478e+03_rb,0.19877e+03_rb,0.19413e+03_rb /) kbo(:, 4,20,14) = (/ & & 0.20522e+03_rb,0.20070e+03_rb,0.21384e+03_rb,0.19793e+03_rb,0.19681e+03_rb /) kbo(:, 5,20,14) = (/ & & 0.20725e+03_rb,0.19975e+03_rb,0.21249e+03_rb,0.19659e+03_rb,0.19899e+03_rb /) kbo(:, 1,21,14) = (/ & & 0.18919e+03_rb,0.20217e+03_rb,0.21942e+03_rb,0.20291e+03_rb,0.18499e+03_rb /) kbo(:, 2,21,14) = (/ & & 0.19268e+03_rb,0.20239e+03_rb,0.21974e+03_rb,0.20415e+03_rb,0.19012e+03_rb /) kbo(:, 3,21,14) = (/ & & 0.19609e+03_rb,0.20231e+03_rb,0.21947e+03_rb,0.20425e+03_rb,0.19432e+03_rb /) kbo(:, 4,21,14) = (/ & & 0.19926e+03_rb,0.20201e+03_rb,0.21866e+03_rb,0.20346e+03_rb,0.19770e+03_rb /) kbo(:, 5,21,14) = (/ & & 0.20224e+03_rb,0.20136e+03_rb,0.21742e+03_rb,0.20212e+03_rb,0.20044e+03_rb /) kbo(:, 1,22,14) = (/ & & 0.18064e+03_rb,0.20182e+03_rb,0.22276e+03_rb,0.20740e+03_rb,0.18409e+03_rb /) kbo(:, 2,22,14) = (/ & & 0.18513e+03_rb,0.20253e+03_rb,0.22341e+03_rb,0.20876e+03_rb,0.18988e+03_rb /) kbo(:, 3,22,14) = (/ & & 0.18951e+03_rb,0.20287e+03_rb,0.22329e+03_rb,0.20890e+03_rb,0.19474e+03_rb /) kbo(:, 4,22,14) = (/ & & 0.19368e+03_rb,0.20283e+03_rb,0.22259e+03_rb,0.20812e+03_rb,0.19869e+03_rb /) kbo(:, 5,22,14) = (/ & & 0.19752e+03_rb,0.20248e+03_rb,0.22143e+03_rb,0.20676e+03_rb,0.20185e+03_rb /) kbo(:, 1,23,14) = (/ & & 0.17261e+03_rb,0.20129e+03_rb,0.22560e+03_rb,0.21126e+03_rb,0.18360e+03_rb /) kbo(:, 2,23,14) = (/ & & 0.17813e+03_rb,0.20255e+03_rb,0.22645e+03_rb,0.21277e+03_rb,0.18993e+03_rb /) kbo(:, 3,23,14) = (/ & & 0.18347e+03_rb,0.20322e+03_rb,0.22649e+03_rb,0.21288e+03_rb,0.19534e+03_rb /) kbo(:, 4,23,14) = (/ & & 0.18858e+03_rb,0.20345e+03_rb,0.22593e+03_rb,0.21211e+03_rb,0.19972e+03_rb /) kbo(:, 5,23,14) = (/ & & 0.19325e+03_rb,0.20330e+03_rb,0.22470e+03_rb,0.21066e+03_rb,0.20314e+03_rb /) kbo(:, 1,24,14) = (/ & & 0.16550e+03_rb,0.20079e+03_rb,0.22797e+03_rb,0.21459e+03_rb,0.18352e+03_rb /) kbo(:, 2,24,14) = (/ & & 0.17199e+03_rb,0.20247e+03_rb,0.22899e+03_rb,0.21614e+03_rb,0.19031e+03_rb /) kbo(:, 3,24,14) = (/ & & 0.17829e+03_rb,0.20349e+03_rb,0.22920e+03_rb,0.21621e+03_rb,0.19610e+03_rb /) kbo(:, 4,24,14) = (/ & & 0.18424e+03_rb,0.20395e+03_rb,0.22865e+03_rb,0.21544e+03_rb,0.20080e+03_rb /) kbo(:, 5,24,14) = (/ & & 0.18966e+03_rb,0.20393e+03_rb,0.22735e+03_rb,0.21388e+03_rb,0.20437e+03_rb /) kbo(:, 1,25,14) = (/ & & 0.15949e+03_rb,0.20048e+03_rb,0.22999e+03_rb,0.21758e+03_rb,0.18395e+03_rb /) kbo(:, 2,25,14) = (/ & & 0.16698e+03_rb,0.20247e+03_rb,0.23119e+03_rb,0.21903e+03_rb,0.19108e+03_rb /) kbo(:, 3,25,14) = (/ & & 0.17411e+03_rb,0.20370e+03_rb,0.23144e+03_rb,0.21904e+03_rb,0.19711e+03_rb /) kbo(:, 4,25,14) = (/ & & 0.18088e+03_rb,0.20435e+03_rb,0.23082e+03_rb,0.21817e+03_rb,0.20192e+03_rb /) kbo(:, 5,25,14) = (/ & & 0.18710e+03_rb,0.20450e+03_rb,0.22950e+03_rb,0.21648e+03_rb,0.20559e+03_rb /) kbo(:, 1,26,14) = (/ & & 0.15479e+03_rb,0.20038e+03_rb,0.23181e+03_rb,0.22016e+03_rb,0.18490e+03_rb /) kbo(:, 2,26,14) = (/ & & 0.16322e+03_rb,0.20258e+03_rb,0.23307e+03_rb,0.22145e+03_rb,0.19222e+03_rb /) kbo(:, 3,26,14) = (/ & & 0.17119e+03_rb,0.20401e+03_rb,0.23326e+03_rb,0.22140e+03_rb,0.19831e+03_rb /) kbo(:, 4,26,14) = (/ & & 0.17866e+03_rb,0.20478e+03_rb,0.23259e+03_rb,0.22038e+03_rb,0.20315e+03_rb /) kbo(:, 5,26,14) = (/ & & 0.18553e+03_rb,0.20498e+03_rb,0.23122e+03_rb,0.21854e+03_rb,0.20685e+03_rb /) kbo(:, 1,27,14) = (/ & & 0.15143e+03_rb,0.20049e+03_rb,0.23344e+03_rb,0.22241e+03_rb,0.18615e+03_rb /) kbo(:, 2,27,14) = (/ & & 0.16070e+03_rb,0.20279e+03_rb,0.23465e+03_rb,0.22352e+03_rb,0.19353e+03_rb /) kbo(:, 3,27,14) = (/ & & 0.16932e+03_rb,0.20430e+03_rb,0.23473e+03_rb,0.22331e+03_rb,0.19960e+03_rb /) kbo(:, 4,27,14) = (/ & & 0.17737e+03_rb,0.20518e+03_rb,0.23402e+03_rb,0.22212e+03_rb,0.20440e+03_rb /) kbo(:, 5,27,14) = (/ & & 0.18472e+03_rb,0.20537e+03_rb,0.23257e+03_rb,0.22015e+03_rb,0.20807e+03_rb /) kbo(:, 1,28,14) = (/ & & 0.14935e+03_rb,0.20078e+03_rb,0.23487e+03_rb,0.22436e+03_rb,0.18762e+03_rb /) kbo(:, 2,28,14) = (/ & & 0.15926e+03_rb,0.20312e+03_rb,0.23597e+03_rb,0.22523e+03_rb,0.19491e+03_rb /) kbo(:, 3,28,14) = (/ & & 0.16839e+03_rb,0.20467e+03_rb,0.23597e+03_rb,0.22484e+03_rb,0.20092e+03_rb /) kbo(:, 4,28,14) = (/ & & 0.17687e+03_rb,0.20554e+03_rb,0.23516e+03_rb,0.22345e+03_rb,0.20562e+03_rb /) kbo(:, 5,28,14) = (/ & & 0.18453e+03_rb,0.20570e+03_rb,0.23357e+03_rb,0.22135e+03_rb,0.20921e+03_rb /) kbo(:, 1,29,14) = (/ & & 0.14844e+03_rb,0.20117e+03_rb,0.23614e+03_rb,0.22601e+03_rb,0.18927e+03_rb /) kbo(:, 2,29,14) = (/ & & 0.15878e+03_rb,0.20350e+03_rb,0.23707e+03_rb,0.22664e+03_rb,0.19642e+03_rb /) kbo(:, 3,29,14) = (/ & & 0.16829e+03_rb,0.20505e+03_rb,0.23696e+03_rb,0.22601e+03_rb,0.20229e+03_rb /) kbo(:, 4,29,14) = (/ & & 0.17702e+03_rb,0.20585e+03_rb,0.23602e+03_rb,0.22445e+03_rb,0.20685e+03_rb /) kbo(:, 5,29,14) = (/ & & 0.18487e+03_rb,0.20599e+03_rb,0.23430e+03_rb,0.22220e+03_rb,0.21031e+03_rb /) kbo(:, 1,30,14) = (/ & & 0.14841e+03_rb,0.20165e+03_rb,0.23724e+03_rb,0.22742e+03_rb,0.19101e+03_rb /) kbo(:, 2,30,14) = (/ & & 0.15903e+03_rb,0.20395e+03_rb,0.23798e+03_rb,0.22774e+03_rb,0.19796e+03_rb /) kbo(:, 3,30,14) = (/ & & 0.16878e+03_rb,0.20543e+03_rb,0.23774e+03_rb,0.22689e+03_rb,0.20367e+03_rb /) kbo(:, 4,30,14) = (/ & & 0.17765e+03_rb,0.20614e+03_rb,0.23662e+03_rb,0.22515e+03_rb,0.20804e+03_rb /) kbo(:, 5,30,14) = (/ & & 0.18556e+03_rb,0.20626e+03_rb,0.23478e+03_rb,0.22274e+03_rb,0.21133e+03_rb /) kbo(:, 1,31,14) = (/ & & 0.14910e+03_rb,0.20219e+03_rb,0.23816e+03_rb,0.22857e+03_rb,0.19280e+03_rb /) kbo(:, 2,31,14) = (/ & & 0.15987e+03_rb,0.20442e+03_rb,0.23873e+03_rb,0.22860e+03_rb,0.19955e+03_rb /) kbo(:, 3,31,14) = (/ & & 0.16974e+03_rb,0.20578e+03_rb,0.23830e+03_rb,0.22751e+03_rb,0.20503e+03_rb /) kbo(:, 4,31,14) = (/ & & 0.17870e+03_rb,0.20640e+03_rb,0.23703e+03_rb,0.22559e+03_rb,0.20917e+03_rb /) kbo(:, 5,31,14) = (/ & & 0.18656e+03_rb,0.20647e+03_rb,0.23504e+03_rb,0.22303e+03_rb,0.21232e+03_rb /) kbo(:, 1,32,14) = (/ & & 0.15031e+03_rb,0.20279e+03_rb,0.23897e+03_rb,0.22949e+03_rb,0.19459e+03_rb /) kbo(:, 2,32,14) = (/ & & 0.16119e+03_rb,0.20489e+03_rb,0.23931e+03_rb,0.22922e+03_rb,0.20113e+03_rb /) kbo(:, 3,32,14) = (/ & & 0.17110e+03_rb,0.20610e+03_rb,0.23869e+03_rb,0.22791e+03_rb,0.20634e+03_rb /) kbo(:, 4,32,14) = (/ & & 0.18002e+03_rb,0.20662e+03_rb,0.23723e+03_rb,0.22582e+03_rb,0.21029e+03_rb /) kbo(:, 5,32,14) = (/ & & 0.18777e+03_rb,0.20659e+03_rb,0.23510e+03_rb,0.22308e+03_rb,0.21322e+03_rb /) kbo(:, 1,33,14) = (/ & & 0.15197e+03_rb,0.20341e+03_rb,0.23965e+03_rb,0.23019e+03_rb,0.19639e+03_rb /) kbo(:, 2,33,14) = (/ & & 0.16285e+03_rb,0.20534e+03_rb,0.23976e+03_rb,0.22964e+03_rb,0.20267e+03_rb /) kbo(:, 3,33,14) = (/ & & 0.17270e+03_rb,0.20638e+03_rb,0.23893e+03_rb,0.22811e+03_rb,0.20758e+03_rb /) kbo(:, 4,33,14) = (/ & & 0.18151e+03_rb,0.20680e+03_rb,0.23727e+03_rb,0.22584e+03_rb,0.21132e+03_rb /) kbo(:, 5,33,14) = (/ & & 0.18912e+03_rb,0.20665e+03_rb,0.23500e+03_rb,0.22296e+03_rb,0.21406e+03_rb /) kbo(:, 1,34,14) = (/ & & 0.15352e+03_rb,0.20391e+03_rb,0.24014e+03_rb,0.23069e+03_rb,0.19790e+03_rb /) kbo(:, 2,34,14) = (/ & & 0.16437e+03_rb,0.20566e+03_rb,0.24006e+03_rb,0.22992e+03_rb,0.20396e+03_rb /) kbo(:, 3,34,14) = (/ & & 0.17416e+03_rb,0.20662e+03_rb,0.23907e+03_rb,0.22823e+03_rb,0.20863e+03_rb /) kbo(:, 4,34,14) = (/ & & 0.18285e+03_rb,0.20695e+03_rb,0.23728e+03_rb,0.22580e+03_rb,0.21218e+03_rb /) kbo(:, 5,34,14) = (/ & & 0.19033e+03_rb,0.20667e+03_rb,0.23487e+03_rb,0.22280e+03_rb,0.21474e+03_rb /) kbo(:, 1,35,14) = (/ & & 0.15421e+03_rb,0.20418e+03_rb,0.24052e+03_rb,0.23110e+03_rb,0.19876e+03_rb /) kbo(:, 2,35,14) = (/ & & 0.16507e+03_rb,0.20586e+03_rb,0.24033e+03_rb,0.23020e+03_rb,0.20468e+03_rb /) kbo(:, 3,35,14) = (/ & & 0.17486e+03_rb,0.20677e+03_rb,0.23924e+03_rb,0.22841e+03_rb,0.20923e+03_rb /) kbo(:, 4,35,14) = (/ & & 0.18350e+03_rb,0.20705e+03_rb,0.23737e+03_rb,0.22589e+03_rb,0.21269e+03_rb /) kbo(:, 5,35,14) = (/ & & 0.19094e+03_rb,0.20669e+03_rb,0.23489e+03_rb,0.22281e+03_rb,0.21514e+03_rb /) kbo(:, 1,36,14) = (/ & & 0.15381e+03_rb,0.20424e+03_rb,0.24080e+03_rb,0.23145e+03_rb,0.19888e+03_rb /) kbo(:, 2,36,14) = (/ & & 0.16478e+03_rb,0.20592e+03_rb,0.24060e+03_rb,0.23055e+03_rb,0.20484e+03_rb /) kbo(:, 3,36,14) = (/ & & 0.17464e+03_rb,0.20684e+03_rb,0.23950e+03_rb,0.22874e+03_rb,0.20938e+03_rb /) kbo(:, 4,36,14) = (/ & & 0.18336e+03_rb,0.20715e+03_rb,0.23762e+03_rb,0.22618e+03_rb,0.21284e+03_rb /) kbo(:, 5,36,14) = (/ & & 0.19086e+03_rb,0.20678e+03_rb,0.23514e+03_rb,0.22311e+03_rb,0.21532e+03_rb /) kbo(:, 1,37,14) = (/ & & 0.15177e+03_rb,0.20394e+03_rb,0.24096e+03_rb,0.23178e+03_rb,0.19802e+03_rb /) kbo(:, 2,37,14) = (/ & & 0.16298e+03_rb,0.20578e+03_rb,0.24091e+03_rb,0.23102e+03_rb,0.20416e+03_rb /) kbo(:, 3,37,14) = (/ & & 0.17307e+03_rb,0.20681e+03_rb,0.23994e+03_rb,0.22934e+03_rb,0.20893e+03_rb /) kbo(:, 4,37,14) = (/ & & 0.18204e+03_rb,0.20721e+03_rb,0.23818e+03_rb,0.22688e+03_rb,0.21255e+03_rb /) kbo(:, 5,37,14) = (/ & & 0.18973e+03_rb,0.20695e+03_rb,0.23573e+03_rb,0.22383e+03_rb,0.21516e+03_rb /) kbo(:, 1,38,14) = (/ & & 0.14968e+03_rb,0.20359e+03_rb,0.24104e+03_rb,0.23202e+03_rb,0.19703e+03_rb /) kbo(:, 2,38,14) = (/ & & 0.16113e+03_rb,0.20560e+03_rb,0.24116e+03_rb,0.23143e+03_rb,0.20341e+03_rb /) kbo(:, 3,38,14) = (/ & & 0.17144e+03_rb,0.20674e+03_rb,0.24033e+03_rb,0.22988e+03_rb,0.20838e+03_rb /) kbo(:, 4,38,14) = (/ & & 0.18063e+03_rb,0.20724e+03_rb,0.23866e+03_rb,0.22752e+03_rb,0.21216e+03_rb /) kbo(:, 5,38,14) = (/ & & 0.18855e+03_rb,0.20710e+03_rb,0.23632e+03_rb,0.22453e+03_rb,0.21493e+03_rb /) kbo(:, 1,39,14) = (/ & & 0.14764e+03_rb,0.20322e+03_rb,0.24106e+03_rb,0.23220e+03_rb,0.19604e+03_rb /) kbo(:, 2,39,14) = (/ & & 0.15932e+03_rb,0.20540e+03_rb,0.24137e+03_rb,0.23180e+03_rb,0.20262e+03_rb /) kbo(:, 3,39,14) = (/ & & 0.16984e+03_rb,0.20665e+03_rb,0.24065e+03_rb,0.23036e+03_rb,0.20781e+03_rb /) kbo(:, 4,39,14) = (/ & & 0.17923e+03_rb,0.20725e+03_rb,0.23910e+03_rb,0.22810e+03_rb,0.21175e+03_rb /) kbo(:, 5,39,14) = (/ & & 0.18737e+03_rb,0.20722e+03_rb,0.23684e+03_rb,0.22517e+03_rb,0.21467e+03_rb /) kbo(:, 1,40,14) = (/ & & 0.14438e+03_rb,0.20254e+03_rb,0.24092e+03_rb,0.23225e+03_rb,0.19425e+03_rb /) kbo(:, 2,40,14) = (/ & & 0.15633e+03_rb,0.20498e+03_rb,0.24152e+03_rb,0.23217e+03_rb,0.20115e+03_rb /) kbo(:, 3,40,14) = (/ & & 0.16718e+03_rb,0.20642e+03_rb,0.24105e+03_rb,0.23096e+03_rb,0.20672e+03_rb /) kbo(:, 4,40,14) = (/ & & 0.17690e+03_rb,0.20720e+03_rb,0.23969e+03_rb,0.22887e+03_rb,0.21093e+03_rb /) kbo(:, 5,40,14) = (/ & & 0.18539e+03_rb,0.20733e+03_rb,0.23758e+03_rb,0.22609e+03_rb,0.21411e+03_rb /) kbo(:, 1,41,14) = (/ & & 0.14093e+03_rb,0.20170e+03_rb,0.24062e+03_rb,0.23214e+03_rb,0.19226e+03_rb /) kbo(:, 2,41,14) = (/ & & 0.15309e+03_rb,0.20441e+03_rb,0.24155e+03_rb,0.23243e+03_rb,0.19951e+03_rb /) kbo(:, 3,41,14) = (/ & & 0.16434e+03_rb,0.20613e+03_rb,0.24136e+03_rb,0.23149e+03_rb,0.20545e+03_rb /) kbo(:, 4,41,14) = (/ & & 0.17439e+03_rb,0.20709e+03_rb,0.24022e+03_rb,0.22963e+03_rb,0.21000e+03_rb /) kbo(:, 5,41,14) = (/ & & 0.18325e+03_rb,0.20739e+03_rb,0.23829e+03_rb,0.22700e+03_rb,0.21344e+03_rb /) kbo(:, 1,42,14) = (/ & & 0.13742e+03_rb,0.20072e+03_rb,0.24018e+03_rb,0.23188e+03_rb,0.19017e+03_rb /) kbo(:, 2,42,14) = (/ & & 0.14987e+03_rb,0.20381e+03_rb,0.24151e+03_rb,0.23260e+03_rb,0.19778e+03_rb /) kbo(:, 3,42,14) = (/ & & 0.16144e+03_rb,0.20580e+03_rb,0.24159e+03_rb,0.23194e+03_rb,0.20408e+03_rb /) kbo(:, 4,42,14) = (/ & & 0.17182e+03_rb,0.20693e+03_rb,0.24068e+03_rb,0.23030e+03_rb,0.20897e+03_rb /) kbo(:, 5,42,14) = (/ & & 0.18101e+03_rb,0.20739e+03_rb,0.23894e+03_rb,0.22785e+03_rb,0.21269e+03_rb /) kbo(:, 1,43,14) = (/ & & 0.13316e+03_rb,0.19946e+03_rb,0.23952e+03_rb,0.23134e+03_rb,0.18746e+03_rb /) kbo(:, 2,43,14) = (/ & & 0.14590e+03_rb,0.20299e+03_rb,0.24131e+03_rb,0.23265e+03_rb,0.19555e+03_rb /) kbo(:, 3,43,14) = (/ & & 0.15782e+03_rb,0.20531e+03_rb,0.24176e+03_rb,0.23237e+03_rb,0.20228e+03_rb /) kbo(:, 4,43,14) = (/ & & 0.16860e+03_rb,0.20666e+03_rb,0.24113e+03_rb,0.23099e+03_rb,0.20761e+03_rb /) kbo(:, 5,43,14) = (/ & & 0.17818e+03_rb,0.20733e+03_rb,0.23964e+03_rb,0.22878e+03_rb,0.21166e+03_rb /) kbo(:, 1,44,14) = (/ & & 0.12851e+03_rb,0.19793e+03_rb,0.23860e+03_rb,0.23051e+03_rb,0.18440e+03_rb /) kbo(:, 2,44,14) = (/ & & 0.14156e+03_rb,0.20195e+03_rb,0.24092e+03_rb,0.23249e+03_rb,0.19298e+03_rb /) kbo(:, 3,44,14) = (/ & & 0.15381e+03_rb,0.20468e+03_rb,0.24182e+03_rb,0.23268e+03_rb,0.20015e+03_rb /) kbo(:, 4,44,14) = (/ & & 0.16494e+03_rb,0.20625e+03_rb,0.24148e+03_rb,0.23163e+03_rb,0.20597e+03_rb /) kbo(:, 5,44,14) = (/ & & 0.17499e+03_rb,0.20719e+03_rb,0.24029e+03_rb,0.22969e+03_rb,0.21043e+03_rb /) kbo(:, 1,45,14) = (/ & & 0.12377e+03_rb,0.19622e+03_rb,0.23745e+03_rb,0.22938e+03_rb,0.18114e+03_rb /) kbo(:, 2,45,14) = (/ & & 0.13713e+03_rb,0.20074e+03_rb,0.24035e+03_rb,0.23210e+03_rb,0.19024e+03_rb /) kbo(:, 3,45,14) = (/ & & 0.14969e+03_rb,0.20389e+03_rb,0.24171e+03_rb,0.23283e+03_rb,0.19787e+03_rb /) kbo(:, 4,45,14) = (/ & & 0.16122e+03_rb,0.20580e+03_rb,0.24172e+03_rb,0.23215e+03_rb,0.20417e+03_rb /) kbo(:, 5,45,14) = (/ & & 0.17169e+03_rb,0.20697e+03_rb,0.24085e+03_rb,0.23051e+03_rb,0.20907e+03_rb /) kbo(:, 1,46,14) = (/ & & 0.11871e+03_rb,0.19418e+03_rb,0.23600e+03_rb,0.22790e+03_rb,0.17747e+03_rb /) kbo(:, 2,46,14) = (/ & & 0.13231e+03_rb,0.19929e+03_rb,0.23954e+03_rb,0.23143e+03_rb,0.18712e+03_rb /) kbo(:, 3,46,14) = (/ & & 0.14514e+03_rb,0.20288e+03_rb,0.24138e+03_rb,0.23280e+03_rb,0.19526e+03_rb /) kbo(:, 4,46,14) = (/ & & 0.15711e+03_rb,0.20523e+03_rb,0.24187e+03_rb,0.23257e+03_rb,0.20207e+03_rb /) kbo(:, 5,46,14) = (/ & & 0.16802e+03_rb,0.20664e+03_rb,0.24132e+03_rb,0.23126e+03_rb,0.20749e+03_rb /) kbo(:, 1,47,14) = (/ & & 0.11295e+03_rb,0.19159e+03_rb,0.23398e+03_rb,0.22588e+03_rb,0.17313e+03_rb /) kbo(:, 2,47,14) = (/ & & 0.12683e+03_rb,0.19741e+03_rb,0.23835e+03_rb,0.23031e+03_rb,0.18342e+03_rb /) kbo(:, 3,47,14) = (/ & & 0.13999e+03_rb,0.20159e+03_rb,0.24085e+03_rb,0.23253e+03_rb,0.19217e+03_rb /) kbo(:, 4,47,14) = (/ & & 0.15234e+03_rb,0.20442e+03_rb,0.24186e+03_rb,0.23286e+03_rb,0.19949e+03_rb /) kbo(:, 5,47,14) = (/ & & 0.16373e+03_rb,0.20618e+03_rb,0.24169e+03_rb,0.23194e+03_rb,0.20549e+03_rb /) kbo(:, 1,48,14) = (/ & & 0.10712e+03_rb,0.18871e+03_rb,0.23159e+03_rb,0.22347e+03_rb,0.16850e+03_rb /) kbo(:, 2,48,14) = (/ & & 0.12124e+03_rb,0.19529e+03_rb,0.23687e+03_rb,0.22882e+03_rb,0.17946e+03_rb /) kbo(:, 3,48,14) = (/ & & 0.13473e+03_rb,0.20007e+03_rb,0.24005e+03_rb,0.23191e+03_rb,0.18883e+03_rb /) kbo(:, 4,48,14) = (/ & & 0.14742e+03_rb,0.20342e+03_rb,0.24164e+03_rb,0.23294e+03_rb,0.19670e+03_rb /) kbo(:, 5,48,14) = (/ & & 0.15928e+03_rb,0.20562e+03_rb,0.24192e+03_rb,0.23247e+03_rb,0.20325e+03_rb /) kbo(:, 1,49,14) = (/ & & 0.10120e+03_rb,0.18550e+03_rb,0.22880e+03_rb,0.22071e+03_rb,0.16363e+03_rb /) kbo(:, 2,49,14) = (/ & & 0.11556e+03_rb,0.19285e+03_rb,0.23504e+03_rb,0.22697e+03_rb,0.17524e+03_rb /) kbo(:, 3,49,14) = (/ & & 0.12932e+03_rb,0.19832e+03_rb,0.23901e+03_rb,0.23097e+03_rb,0.18524e+03_rb /) kbo(:, 4,49,14) = (/ & & 0.14238e+03_rb,0.20226e+03_rb,0.24120e+03_rb,0.23278e+03_rb,0.19370e+03_rb /) kbo(:, 5,49,14) = (/ & & 0.15460e+03_rb,0.20488e+03_rb,0.24199e+03_rb,0.23283e+03_rb,0.20078e+03_rb /) kbo(:, 1,50,14) = (/ & & 0.95603e+02_rb,0.18216e+03_rb,0.22576e+03_rb,0.21768e+03_rb,0.15878e+03_rb /) kbo(:, 2,50,14) = (/ & & 0.11015e+03_rb,0.19031e+03_rb,0.23298e+03_rb,0.22490e+03_rb,0.17105e+03_rb /) kbo(:, 3,50,14) = (/ & & 0.12415e+03_rb,0.19646e+03_rb,0.23775e+03_rb,0.22975e+03_rb,0.18166e+03_rb /) kbo(:, 4,50,14) = (/ & & 0.13752e+03_rb,0.20094e+03_rb,0.24058e+03_rb,0.23236e+03_rb,0.19069e+03_rb /) kbo(:, 5,50,14) = (/ & & 0.15007e+03_rb,0.20403e+03_rb,0.24187e+03_rb,0.23299e+03_rb,0.19826e+03_rb /) kbo(:, 1,51,14) = (/ & & 0.90137e+02_rb,0.17868e+03_rb,0.22240e+03_rb,0.21442e+03_rb,0.15384e+03_rb /) kbo(:, 2,51,14) = (/ & & 0.10484e+03_rb,0.18757e+03_rb,0.23066e+03_rb,0.22258e+03_rb,0.16677e+03_rb /) kbo(:, 3,51,14) = (/ & & 0.11907e+03_rb,0.19442e+03_rb,0.23628e+03_rb,0.22824e+03_rb,0.17796e+03_rb /) kbo(:, 4,51,14) = (/ & & 0.13269e+03_rb,0.19948e+03_rb,0.23976e+03_rb,0.23167e+03_rb,0.18756e+03_rb /) kbo(:, 5,51,14) = (/ & & 0.14552e+03_rb,0.20302e+03_rb,0.24154e+03_rb,0.23296e+03_rb,0.19565e+03_rb /) kbo(:, 1,52,14) = (/ & & 0.84690e+02_rb,0.17496e+03_rb,0.21864e+03_rb,0.21080e+03_rb,0.14862e+03_rb /) kbo(:, 2,52,14) = (/ & & 0.99471e+02_rb,0.18453e+03_rb,0.22798e+03_rb,0.21992e+03_rb,0.16225e+03_rb /) kbo(:, 3,52,14) = (/ & & 0.11391e+03_rb,0.19213e+03_rb,0.23451e+03_rb,0.22644e+03_rb,0.17406e+03_rb /) kbo(:, 4,52,14) = (/ & & 0.12777e+03_rb,0.19781e+03_rb,0.23872e+03_rb,0.23070e+03_rb,0.18424e+03_rb /) kbo(:, 5,52,14) = (/ & & 0.14091e+03_rb,0.20189e+03_rb,0.24107e+03_rb,0.23273e+03_rb,0.19286e+03_rb /) kbo(:, 1,53,14) = (/ & & 0.79262e+02_rb,0.17095e+03_rb,0.21436e+03_rb,0.20681e+03_rb,0.14317e+03_rb /) kbo(:, 2,53,14) = (/ & & 0.94047e+02_rb,0.18126e+03_rb,0.22494e+03_rb,0.21690e+03_rb,0.15748e+03_rb /) kbo(:, 3,53,14) = (/ & & 0.10865e+03_rb,0.18958e+03_rb,0.23241e+03_rb,0.22434e+03_rb,0.16994e+03_rb /) kbo(:, 4,53,14) = (/ & & 0.12274e+03_rb,0.19595e+03_rb,0.23742e+03_rb,0.22941e+03_rb,0.18070e+03_rb /) kbo(:, 5,53,14) = (/ & & 0.13618e+03_rb,0.20056e+03_rb,0.24040e+03_rb,0.23224e+03_rb,0.18988e+03_rb /) kbo(:, 1,54,14) = (/ & & 0.74312e+02_rb,0.16701e+03_rb,0.21000e+03_rb,0.20283e+03_rb,0.13801e+03_rb /) kbo(:, 2,54,14) = (/ & & 0.89059e+02_rb,0.17802e+03_rb,0.22177e+03_rb,0.21381e+03_rb,0.15289e+03_rb /) kbo(:, 3,54,14) = (/ & & 0.10379e+03_rb,0.18701e+03_rb,0.23021e+03_rb,0.22214e+03_rb,0.16595e+03_rb /) kbo(:, 4,54,14) = (/ & & 0.11808e+03_rb,0.19403e+03_rb,0.23602e+03_rb,0.22797e+03_rb,0.17728e+03_rb /) kbo(:, 5,54,14) = (/ & & 0.13174e+03_rb,0.19918e+03_rb,0.23961e+03_rb,0.23155e+03_rb,0.18697e+03_rb /) kbo(:, 1,55,14) = (/ & & 0.69615e+02_rb,0.16296e+03_rb,0.20540e+03_rb,0.19866e+03_rb,0.13288e+03_rb /) kbo(:, 2,55,14) = (/ & & 0.84276e+02_rb,0.17466e+03_rb,0.21835e+03_rb,0.21056e+03_rb,0.14828e+03_rb /) kbo(:, 3,55,14) = (/ & & 0.99066e+02_rb,0.18433e+03_rb,0.22782e+03_rb,0.21977e+03_rb,0.16197e+03_rb /) kbo(:, 4,55,14) = (/ & & 0.11354e+03_rb,0.19199e+03_rb,0.23442e+03_rb,0.22636e+03_rb,0.17383e+03_rb /) kbo(:, 5,55,14) = (/ & & 0.12741e+03_rb,0.19770e+03_rb,0.23866e+03_rb,0.23065e+03_rb,0.18403e+03_rb /) kbo(:, 1,56,14) = (/ & & 0.64944e+02_rb,0.15877e+03_rb,0.20044e+03_rb,0.19421e+03_rb,0.12762e+03_rb /) kbo(:, 2,56,14) = (/ & & 0.79524e+02_rb,0.17114e+03_rb,0.21461e+03_rb,0.20707e+03_rb,0.14351e+03_rb /) kbo(:, 3,56,14) = (/ & & 0.94323e+02_rb,0.18144e+03_rb,0.22514e+03_rb,0.21711e+03_rb,0.15778e+03_rb /) kbo(:, 4,56,14) = (/ & & 0.10894e+03_rb,0.18976e+03_rb,0.23257e+03_rb,0.22452e+03_rb,0.17022e+03_rb /) kbo(:, 5,56,14) = (/ & & 0.12301e+03_rb,0.19605e+03_rb,0.23752e+03_rb,0.22954e+03_rb,0.18094e+03_rb /) kbo(:, 1,57,14) = (/ & & 0.60353e+02_rb,0.15431e+03_rb,0.19514e+03_rb,0.18945e+03_rb,0.12225e+03_rb /) kbo(:, 2,57,14) = (/ & & 0.74815e+02_rb,0.16742e+03_rb,0.21049e+03_rb,0.20329e+03_rb,0.13860e+03_rb /) kbo(:, 3,57,14) = (/ & & 0.89567e+02_rb,0.17837e+03_rb,0.22214e+03_rb,0.21419e+03_rb,0.15343e+03_rb /) kbo(:, 4,57,14) = (/ & & 0.10431e+03_rb,0.18733e+03_rb,0.23050e+03_rb,0.22244e+03_rb,0.16644e+03_rb /) kbo(:, 5,57,14) = (/ & & 0.11856e+03_rb,0.19423e+03_rb,0.23618e+03_rb,0.22816e+03_rb,0.17767e+03_rb /) kbo(:, 1,58,14) = (/ & & 0.56098e+02_rb,0.14991e+03_rb,0.18980e+03_rb,0.18465e+03_rb,0.11706e+03_rb /) kbo(:, 2,58,14) = (/ & & 0.70377e+02_rb,0.16367e+03_rb,0.20622e+03_rb,0.19942e+03_rb,0.13378e+03_rb /) kbo(:, 3,58,14) = (/ & & 0.85049e+02_rb,0.17528e+03_rb,0.21902e+03_rb,0.21119e+03_rb,0.14910e+03_rb /) kbo(:, 4,58,14) = (/ & & 0.99857e+02_rb,0.18482e+03_rb,0.22827e+03_rb,0.22022e+03_rb,0.16268e+03_rb /) kbo(:, 5,58,14) = (/ & & 0.11428e+03_rb,0.19233e+03_rb,0.23470e+03_rb,0.22666e+03_rb,0.17444e+03_rb /) kbo(:, 1,59,14) = (/ & & 0.54418e+02_rb,0.14809e+03_rb,0.18754e+03_rb,0.18261e+03_rb,0.11495e+03_rb /) kbo(:, 2,59,14) = (/ & & 0.68598e+02_rb,0.16210e+03_rb,0.20441e+03_rb,0.19778e+03_rb,0.13180e+03_rb /) kbo(:, 3,59,14) = (/ & & 0.83246e+02_rb,0.17398e+03_rb,0.21768e+03_rb,0.20993e+03_rb,0.14733e+03_rb /) kbo(:, 4,59,14) = (/ & & 0.98055e+02_rb,0.18375e+03_rb,0.22732e+03_rb,0.21927e+03_rb,0.16113e+03_rb /) kbo(:, 5,59,14) = (/ & & 0.11255e+03_rb,0.19153e+03_rb,0.23406e+03_rb,0.22601e+03_rb,0.17310e+03_rb /) kbo(:, 1,13,15) = (/ & & 0.40932e+03_rb,0.30758e+03_rb,0.26133e+03_rb,0.32395e+03_rb,0.43211e+03_rb /) kbo(:, 2,13,15) = (/ & & 0.41123e+03_rb,0.30908e+03_rb,0.25921e+03_rb,0.31805e+03_rb,0.42431e+03_rb /) kbo(:, 3,13,15) = (/ & & 0.41219e+03_rb,0.30983e+03_rb,0.25685e+03_rb,0.31214e+03_rb,0.41639e+03_rb /) kbo(:, 4,13,15) = (/ & & 0.41228e+03_rb,0.30991e+03_rb,0.25419e+03_rb,0.30614e+03_rb,0.40836e+03_rb /) kbo(:, 5,13,15) = (/ & & 0.41130e+03_rb,0.30917e+03_rb,0.25126e+03_rb,0.30055e+03_rb,0.40088e+03_rb /) kbo(:, 1,14,15) = (/ & & 0.46527e+03_rb,0.34966e+03_rb,0.29823e+03_rb,0.35533e+03_rb,0.47402e+03_rb /) kbo(:, 2,14,15) = (/ & & 0.46656e+03_rb,0.35065e+03_rb,0.29540e+03_rb,0.34864e+03_rb,0.46510e+03_rb /) kbo(:, 3,14,15) = (/ & & 0.46685e+03_rb,0.35090e+03_rb,0.29209e+03_rb,0.34189e+03_rb,0.45610e+03_rb /) kbo(:, 4,14,15) = (/ & & 0.46575e+03_rb,0.35012e+03_rb,0.28845e+03_rb,0.33526e+03_rb,0.44716e+03_rb /) kbo(:, 5,14,15) = (/ & & 0.46388e+03_rb,0.34873e+03_rb,0.28457e+03_rb,0.32965e+03_rb,0.43950e+03_rb /) kbo(:, 1,15,15) = (/ & & 0.52376e+03_rb,0.39388e+03_rb,0.33756e+03_rb,0.38636e+03_rb,0.51543e+03_rb /) kbo(:, 2,15,15) = (/ & & 0.52445e+03_rb,0.39416e+03_rb,0.33368e+03_rb,0.37892e+03_rb,0.50548e+03_rb /) kbo(:, 3,15,15) = (/ & & 0.52345e+03_rb,0.39343e+03_rb,0.32922e+03_rb,0.37141e+03_rb,0.49535e+03_rb /) kbo(:, 4,15,15) = (/ & & 0.52134e+03_rb,0.39188e+03_rb,0.32434e+03_rb,0.36468e+03_rb,0.48621e+03_rb /) kbo(:, 5,15,15) = (/ & & 0.51791e+03_rb,0.38933e+03_rb,0.31931e+03_rb,0.35855e+03_rb,0.47766e+03_rb /) kbo(:, 1,16,15) = (/ & & 0.58401e+03_rb,0.43962e+03_rb,0.37845e+03_rb,0.41772e+03_rb,0.55681e+03_rb /) kbo(:, 2,16,15) = (/ & & 0.58308e+03_rb,0.43844e+03_rb,0.37324e+03_rb,0.40927e+03_rb,0.54538e+03_rb /) kbo(:, 3,16,15) = (/ & & 0.58094e+03_rb,0.43662e+03_rb,0.36730e+03_rb,0.40107e+03_rb,0.53429e+03_rb /) kbo(:, 4,16,15) = (/ & & 0.57721e+03_rb,0.43385e+03_rb,0.36102e+03_rb,0.39367e+03_rb,0.52421e+03_rb /) kbo(:, 5,16,15) = (/ & & 0.57218e+03_rb,0.43010e+03_rb,0.35444e+03_rb,0.38654e+03_rb,0.51433e+03_rb /) kbo(:, 1,17,15) = (/ & & 0.64407e+03_rb,0.48569e+03_rb,0.41994e+03_rb,0.44912e+03_rb,0.59692e+03_rb /) kbo(:, 2,17,15) = (/ & & 0.64180e+03_rb,0.48304e+03_rb,0.41300e+03_rb,0.43957e+03_rb,0.58409e+03_rb /) kbo(:, 3,17,15) = (/ & & 0.63774e+03_rb,0.47951e+03_rb,0.40543e+03_rb,0.43048e+03_rb,0.57188e+03_rb /) kbo(:, 4,17,15) = (/ & & 0.63221e+03_rb,0.47511e+03_rb,0.39752e+03_rb,0.42195e+03_rb,0.56041e+03_rb /) kbo(:, 5,17,15) = (/ & & 0.62531e+03_rb,0.46997e+03_rb,0.38917e+03_rb,0.41353e+03_rb,0.54901e+03_rb /) kbo(:, 1,18,15) = (/ & & 0.70302e+03_rb,0.53125e+03_rb,0.46110e+03_rb,0.48015e+03_rb,0.63499e+03_rb /) kbo(:, 2,18,15) = (/ & & 0.69876e+03_rb,0.52681e+03_rb,0.45218e+03_rb,0.46935e+03_rb,0.62082e+03_rb /) kbo(:, 3,18,15) = (/ & & 0.69273e+03_rb,0.52130e+03_rb,0.44272e+03_rb,0.45897e+03_rb,0.60731e+03_rb /) kbo(:, 4,18,15) = (/ & & 0.68529e+03_rb,0.51514e+03_rb,0.43287e+03_rb,0.44907e+03_rb,0.59416e+03_rb /) kbo(:, 5,18,15) = (/ & & 0.67604e+03_rb,0.50804e+03_rb,0.42255e+03_rb,0.43929e+03_rb,0.58117e+03_rb /) kbo(:, 1,19,15) = (/ & & 0.75927e+03_rb,0.57536e+03_rb,0.50097e+03_rb,0.51007e+03_rb,0.67027e+03_rb /) kbo(:, 2,19,15) = (/ & & 0.75290e+03_rb,0.56864e+03_rb,0.48996e+03_rb,0.49791e+03_rb,0.65476e+03_rb /) kbo(:, 3,19,15) = (/ & & 0.74466e+03_rb,0.56117e+03_rb,0.47832e+03_rb,0.48599e+03_rb,0.63995e+03_rb /) kbo(:, 4,19,15) = (/ & & 0.73483e+03_rb,0.55286e+03_rb,0.46627e+03_rb,0.47459e+03_rb,0.62519e+03_rb /) kbo(:, 5,19,15) = (/ & & 0.72353e+03_rb,0.54375e+03_rb,0.45395e+03_rb,0.46331e+03_rb,0.61054e+03_rb /) kbo(:, 1,20,15) = (/ & & 0.81171e+03_rb,0.61670e+03_rb,0.53858e+03_rb,0.53802e+03_rb,0.70226e+03_rb /) kbo(:, 2,20,15) = (/ & & 0.80307e+03_rb,0.60788e+03_rb,0.52517e+03_rb,0.52417e+03_rb,0.68550e+03_rb /) kbo(:, 3,20,15) = (/ & & 0.79257e+03_rb,0.59823e+03_rb,0.51114e+03_rb,0.51080e+03_rb,0.66917e+03_rb /) kbo(:, 4,20,15) = (/ & & 0.78036e+03_rb,0.58759e+03_rb,0.49687e+03_rb,0.49775e+03_rb,0.65285e+03_rb /) kbo(:, 5,20,15) = (/ & & 0.76671e+03_rb,0.57649e+03_rb,0.48237e+03_rb,0.48486e+03_rb,0.63647e+03_rb /) kbo(:, 1,21,15) = (/ & & 0.85929e+03_rb,0.65464e+03_rb,0.57309e+03_rb,0.56354e+03_rb,0.73074e+03_rb /) kbo(:, 2,21,15) = (/ & & 0.84853e+03_rb,0.64350e+03_rb,0.55721e+03_rb,0.54790e+03_rb,0.71267e+03_rb /) kbo(:, 3,21,15) = (/ & & 0.83578e+03_rb,0.63172e+03_rb,0.54090e+03_rb,0.53299e+03_rb,0.69483e+03_rb /) kbo(:, 4,21,15) = (/ & & 0.82132e+03_rb,0.61900e+03_rb,0.52438e+03_rb,0.51831e+03_rb,0.67689e+03_rb /) kbo(:, 5,21,15) = (/ & & 0.80511e+03_rb,0.60568e+03_rb,0.50774e+03_rb,0.50398e+03_rb,0.65894e+03_rb /) kbo(:, 1,22,15) = (/ & & 0.90088e+03_rb,0.68794e+03_rb,0.60297e+03_rb,0.58517e+03_rb,0.75429e+03_rb /) kbo(:, 2,22,15) = (/ & & 0.88795e+03_rb,0.67453e+03_rb,0.58458e+03_rb,0.56794e+03_rb,0.73512e+03_rb /) kbo(:, 3,22,15) = (/ & & 0.87296e+03_rb,0.66047e+03_rb,0.56607e+03_rb,0.55151e+03_rb,0.71573e+03_rb /) kbo(:, 4,22,15) = (/ & & 0.85602e+03_rb,0.64569e+03_rb,0.54736e+03_rb,0.53534e+03_rb,0.69633e+03_rb /) kbo(:, 5,22,15) = (/ & & 0.83763e+03_rb,0.63042e+03_rb,0.52879e+03_rb,0.51959e+03_rb,0.67694e+03_rb /) kbo(:, 1,23,15) = (/ & & 0.93708e+03_rb,0.71670e+03_rb,0.62868e+03_rb,0.60370e+03_rb,0.77407e+03_rb /) kbo(:, 2,23,15) = (/ & & 0.92204e+03_rb,0.70111e+03_rb,0.60797e+03_rb,0.58479e+03_rb,0.75367e+03_rb /) kbo(:, 3,23,15) = (/ & & 0.90485e+03_rb,0.68501e+03_rb,0.58723e+03_rb,0.56696e+03_rb,0.73284e+03_rb /) kbo(:, 4,23,15) = (/ & & 0.88551e+03_rb,0.66835e+03_rb,0.56656e+03_rb,0.54939e+03_rb,0.71207e+03_rb /) kbo(:, 5,23,15) = (/ & & 0.86499e+03_rb,0.65129e+03_rb,0.54624e+03_rb,0.53240e+03_rb,0.69156e+03_rb /) kbo(:, 1,24,15) = (/ & & 0.96776e+03_rb,0.74092e+03_rb,0.64997e+03_rb,0.61898e+03_rb,0.79010e+03_rb /) kbo(:, 2,24,15) = (/ & & 0.95072e+03_rb,0.72338e+03_rb,0.62717e+03_rb,0.59867e+03_rb,0.76855e+03_rb /) kbo(:, 3,24,15) = (/ & & 0.93122e+03_rb,0.70539e+03_rb,0.60446e+03_rb,0.57944e+03_rb,0.74652e+03_rb /) kbo(:, 4,24,15) = (/ & & 0.90993e+03_rb,0.68704e+03_rb,0.58213e+03_rb,0.56067e+03_rb,0.72451e+03_rb /) kbo(:, 5,24,15) = (/ & & 0.88757e+03_rb,0.66845e+03_rb,0.56030e+03_rb,0.54254e+03_rb,0.70312e+03_rb /) kbo(:, 1,25,15) = (/ & & 0.99329e+03_rb,0.76073e+03_rb,0.66706e+03_rb,0.63101e+03_rb,0.80276e+03_rb /) kbo(:, 2,25,15) = (/ & & 0.97397e+03_rb,0.74138e+03_rb,0.64231e+03_rb,0.60949e+03_rb,0.78003e+03_rb /) kbo(:, 3,25,15) = (/ & & 0.95257e+03_rb,0.72186e+03_rb,0.61798e+03_rb,0.58904e+03_rb,0.75681e+03_rb /) kbo(:, 4,25,15) = (/ & & 0.92942e+03_rb,0.70193e+03_rb,0.59417e+03_rb,0.56923e+03_rb,0.73392e+03_rb /) kbo(:, 5,25,15) = (/ & & 0.90532e+03_rb,0.68191e+03_rb,0.57100e+03_rb,0.55015e+03_rb,0.71169e+03_rb /) kbo(:, 1,26,15) = (/ & & 0.10136e+04_rb,0.77623e+03_rb,0.67983e+03_rb,0.63982e+03_rb,0.81189e+03_rb /) kbo(:, 2,26,15) = (/ & & 0.99212e+03_rb,0.75536e+03_rb,0.65345e+03_rb,0.61726e+03_rb,0.78804e+03_rb /) kbo(:, 3,26,15) = (/ & & 0.96906e+03_rb,0.73441e+03_rb,0.62784e+03_rb,0.59585e+03_rb,0.76400e+03_rb /) kbo(:, 4,26,15) = (/ & & 0.94442e+03_rb,0.71314e+03_rb,0.60278e+03_rb,0.57514e+03_rb,0.74031e+03_rb /) kbo(:, 5,26,15) = (/ & & 0.91870e+03_rb,0.69199e+03_rb,0.57850e+03_rb,0.55532e+03_rb,0.71748e+03_rb /) kbo(:, 1,27,15) = (/ & & 0.10295e+04_rb,0.78816e+03_rb,0.68910e+03_rb,0.64601e+03_rb,0.81822e+03_rb /) kbo(:, 2,27,15) = (/ & & 0.10061e+04_rb,0.76604e+03_rb,0.66144e+03_rb,0.62260e+03_rb,0.79343e+03_rb /) kbo(:, 3,27,15) = (/ & & 0.98153e+03_rb,0.74373e+03_rb,0.63470e+03_rb,0.60041e+03_rb,0.76875e+03_rb /) kbo(:, 4,27,15) = (/ & & 0.95548e+03_rb,0.72130e+03_rb,0.60866e+03_rb,0.57907e+03_rb,0.74456e+03_rb /) kbo(:, 5,27,15) = (/ & & 0.92838e+03_rb,0.69916e+03_rb,0.58347e+03_rb,0.55864e+03_rb,0.72113e+03_rb /) kbo(:, 1,28,15) = (/ & & 0.10413e+04_rb,0.79681e+03_rb,0.69534e+03_rb,0.64995e+03_rb,0.82220e+03_rb /) kbo(:, 2,28,15) = (/ & & 0.10164e+04_rb,0.77357e+03_rb,0.66667e+03_rb,0.62595e+03_rb,0.79680e+03_rb /) kbo(:, 3,28,15) = (/ & & 0.99062e+03_rb,0.75026e+03_rb,0.63903e+03_rb,0.60314e+03_rb,0.77147e+03_rb /) kbo(:, 4,28,15) = (/ & & 0.96323e+03_rb,0.72694e+03_rb,0.61220e+03_rb,0.58130e+03_rb,0.74687e+03_rb /) kbo(:, 5,28,15) = (/ & & 0.93489e+03_rb,0.70393e+03_rb,0.58636e+03_rb,0.56041e+03_rb,0.72308e+03_rb /) kbo(:, 1,29,15) = (/ & & 0.10495e+04_rb,0.80260e+03_rb,0.69878e+03_rb,0.65184e+03_rb,0.82409e+03_rb /) kbo(:, 2,29,15) = (/ & & 0.10235e+04_rb,0.77841e+03_rb,0.66934e+03_rb,0.62739e+03_rb,0.79811e+03_rb /) kbo(:, 3,29,15) = (/ & & 0.99642e+03_rb,0.75425e+03_rb,0.64103e+03_rb,0.60412e+03_rb,0.77230e+03_rb /) kbo(:, 4,29,15) = (/ & & 0.96796e+03_rb,0.73025e+03_rb,0.61357e+03_rb,0.58189e+03_rb,0.74741e+03_rb /) kbo(:, 5,29,15) = (/ & & 0.93857e+03_rb,0.70654e+03_rb,0.58732e+03_rb,0.56077e+03_rb,0.72335e+03_rb /) kbo(:, 1,30,15) = (/ & & 0.10549e+04_rb,0.80614e+03_rb,0.70001e+03_rb,0.65202e+03_rb,0.82418e+03_rb /) kbo(:, 2,30,15) = (/ & & 0.10278e+04_rb,0.78108e+03_rb,0.67004e+03_rb,0.62730e+03_rb,0.79771e+03_rb /) kbo(:, 3,30,15) = (/ & & 0.99966e+03_rb,0.75628e+03_rb,0.64121e+03_rb,0.60374e+03_rb,0.77172e+03_rb /) kbo(:, 4,30,15) = (/ & & 0.97021e+03_rb,0.73170e+03_rb,0.61335e+03_rb,0.58130e+03_rb,0.74664e+03_rb /) kbo(:, 5,30,15) = (/ & & 0.94007e+03_rb,0.70743e+03_rb,0.58676e+03_rb,0.55999e+03_rb,0.72234e+03_rb /) kbo(:, 1,31,15) = (/ & & 0.10577e+04_rb,0.80741e+03_rb,0.69925e+03_rb,0.65081e+03_rb,0.82281e+03_rb /) kbo(:, 2,31,15) = (/ & & 0.10297e+04_rb,0.78182e+03_rb,0.66894e+03_rb,0.62588e+03_rb,0.79605e+03_rb /) kbo(:, 3,31,15) = (/ & & 0.10005e+04_rb,0.75649e+03_rb,0.63976e+03_rb,0.60219e+03_rb,0.76987e+03_rb /) kbo(:, 4,31,15) = (/ & & 0.97028e+03_rb,0.73149e+03_rb,0.61167e+03_rb,0.57962e+03_rb,0.74468e+03_rb /) kbo(:, 5,31,15) = (/ & & 0.93951e+03_rb,0.70673e+03_rb,0.58494e+03_rb,0.55830e+03_rb,0.72033e+03_rb /) kbo(:, 1,32,15) = (/ & & 0.10585e+04_rb,0.80706e+03_rb,0.69697e+03_rb,0.64853e+03_rb,0.82034e+03_rb /) kbo(:, 2,32,15) = (/ & & 0.10295e+04_rb,0.78094e+03_rb,0.66639e+03_rb,0.62348e+03_rb,0.79329e+03_rb /) kbo(:, 3,32,15) = (/ & & 0.99955e+03_rb,0.75528e+03_rb,0.63700e+03_rb,0.59969e+03_rb,0.76700e+03_rb /) kbo(:, 4,32,15) = (/ & & 0.96864e+03_rb,0.72996e+03_rb,0.60885e+03_rb,0.57712e+03_rb,0.74178e+03_rb /) kbo(:, 5,32,15) = (/ & & 0.93737e+03_rb,0.70488e+03_rb,0.58204e+03_rb,0.55579e+03_rb,0.71738e+03_rb /) kbo(:, 1,33,15) = (/ & & 0.10575e+04_rb,0.80530e+03_rb,0.69345e+03_rb,0.64529e+03_rb,0.81678e+03_rb /) kbo(:, 2,33,15) = (/ & & 0.10278e+04_rb,0.77890e+03_rb,0.66278e+03_rb,0.62027e+03_rb,0.78965e+03_rb /) kbo(:, 3,33,15) = (/ & & 0.99704e+03_rb,0.75290e+03_rb,0.63324e+03_rb,0.59645e+03_rb,0.76337e+03_rb /) kbo(:, 4,33,15) = (/ & & 0.96555e+03_rb,0.72726e+03_rb,0.60509e+03_rb,0.57394e+03_rb,0.73813e+03_rb /) kbo(:, 5,33,15) = (/ & & 0.93393e+03_rb,0.70207e+03_rb,0.57839e+03_rb,0.55267e+03_rb,0.71377e+03_rb /) kbo(:, 1,34,15) = (/ & & 0.10561e+04_rb,0.80340e+03_rb,0.69012e+03_rb,0.64228e+03_rb,0.81344e+03_rb /) kbo(:, 2,34,15) = (/ & & 0.10257e+04_rb,0.77677e+03_rb,0.65936e+03_rb,0.61726e+03_rb,0.78628e+03_rb /) kbo(:, 3,34,15) = (/ & & 0.99442e+03_rb,0.75053e+03_rb,0.62978e+03_rb,0.59351e+03_rb,0.76009e+03_rb /) kbo(:, 4,34,15) = (/ & & 0.96258e+03_rb,0.72472e+03_rb,0.60168e+03_rb,0.57104e+03_rb,0.73478e+03_rb /) kbo(:, 5,34,15) = (/ & & 0.93053e+03_rb,0.69938e+03_rb,0.57499e+03_rb,0.54984e+03_rb,0.71051e+03_rb /) kbo(:, 1,35,15) = (/ & & 0.10564e+04_rb,0.80326e+03_rb,0.68907e+03_rb,0.64121e+03_rb,0.81221e+03_rb /) kbo(:, 2,35,15) = (/ & & 0.10257e+04_rb,0.77646e+03_rb,0.65819e+03_rb,0.61612e+03_rb,0.78498e+03_rb /) kbo(:, 3,35,15) = (/ & & 0.99396e+03_rb,0.74998e+03_rb,0.62850e+03_rb,0.59231e+03_rb,0.75874e+03_rb /) kbo(:, 4,35,15) = (/ & & 0.96182e+03_rb,0.72398e+03_rb,0.60037e+03_rb,0.56987e+03_rb,0.73339e+03_rb /) kbo(:, 5,35,15) = (/ & & 0.92945e+03_rb,0.69852e+03_rb,0.57362e+03_rb,0.54864e+03_rb,0.70910e+03_rb /) kbo(:, 1,36,15) = (/ & & 0.10593e+04_rb,0.80545e+03_rb,0.69086e+03_rb,0.64252e+03_rb,0.81357e+03_rb /) kbo(:, 2,36,15) = (/ & & 0.10283e+04_rb,0.77842e+03_rb,0.65978e+03_rb,0.61726e+03_rb,0.78619e+03_rb /) kbo(:, 3,36,15) = (/ & & 0.99627e+03_rb,0.75174e+03_rb,0.62993e+03_rb,0.59335e+03_rb,0.75988e+03_rb /) kbo(:, 4,36,15) = (/ & & 0.96386e+03_rb,0.72553e+03_rb,0.60161e+03_rb,0.57080e+03_rb,0.73443e+03_rb /) kbo(:, 5,36,15) = (/ & & 0.93134e+03_rb,0.69996e+03_rb,0.57477e+03_rb,0.54947e+03_rb,0.71003e+03_rb /) kbo(:, 1,37,15) = (/ & & 0.10662e+04_rb,0.81134e+03_rb,0.69713e+03_rb,0.64751e+03_rb,0.81885e+03_rb /) kbo(:, 2,37,15) = (/ & & 0.10351e+04_rb,0.78402e+03_rb,0.66565e+03_rb,0.62189e+03_rb,0.79122e+03_rb /) kbo(:, 3,37,15) = (/ & & 0.10030e+04_rb,0.75714e+03_rb,0.63542e+03_rb,0.59764e+03_rb,0.76460e+03_rb /) kbo(:, 4,37,15) = (/ & & 0.97042e+03_rb,0.73071e+03_rb,0.60674e+03_rb,0.57477e+03_rb,0.73895e+03_rb /) kbo(:, 5,37,15) = (/ & & 0.93771e+03_rb,0.70485e+03_rb,0.57959e+03_rb,0.55322e+03_rb,0.71431e+03_rb /) kbo(:, 1,38,15) = (/ & & 0.10729e+04_rb,0.81713e+03_rb,0.70342e+03_rb,0.65252e+03_rb,0.82415e+03_rb /) kbo(:, 2,38,15) = (/ & & 0.10416e+04_rb,0.78952e+03_rb,0.67152e+03_rb,0.62655e+03_rb,0.79626e+03_rb /) kbo(:, 3,38,15) = (/ & & 0.10096e+04_rb,0.76249e+03_rb,0.64098e+03_rb,0.60198e+03_rb,0.76937e+03_rb /) kbo(:, 4,38,15) = (/ & & 0.97695e+03_rb,0.73588e+03_rb,0.61197e+03_rb,0.57883e+03_rb,0.74352e+03_rb /) kbo(:, 5,38,15) = (/ & & 0.94411e+03_rb,0.70978e+03_rb,0.58447e+03_rb,0.55704e+03_rb,0.71866e+03_rb /) kbo(:, 1,39,15) = (/ & & 0.10791e+04_rb,0.82257e+03_rb,0.70938e+03_rb,0.65729e+03_rb,0.82913e+03_rb /) kbo(:, 2,39,15) = (/ & & 0.10479e+04_rb,0.79481e+03_rb,0.67717e+03_rb,0.63099e+03_rb,0.80105e+03_rb /) kbo(:, 3,39,15) = (/ & & 0.10158e+04_rb,0.76754e+03_rb,0.64630e+03_rb,0.60614e+03_rb,0.77394e+03_rb /) kbo(:, 4,39,15) = (/ & & 0.98307e+03_rb,0.74076e+03_rb,0.61694e+03_rb,0.58271e+03_rb,0.74789e+03_rb /) kbo(:, 5,39,15) = (/ & & 0.95013e+03_rb,0.71446e+03_rb,0.58917e+03_rb,0.56072e+03_rb,0.72285e+03_rb /) kbo(:, 1,40,15) = (/ & & 0.10882e+04_rb,0.83071e+03_rb,0.71862e+03_rb,0.66478e+03_rb,0.83689e+03_rb /) kbo(:, 2,40,15) = (/ & & 0.10571e+04_rb,0.80265e+03_rb,0.68589e+03_rb,0.63804e+03_rb,0.80862e+03_rb /) kbo(:, 3,40,15) = (/ & & 0.10251e+04_rb,0.77527e+03_rb,0.65462e+03_rb,0.61278e+03_rb,0.78119e+03_rb /) kbo(:, 4,40,15) = (/ & & 0.99232e+03_rb,0.74818e+03_rb,0.62475e+03_rb,0.58893e+03_rb,0.75487e+03_rb /) kbo(:, 5,40,15) = (/ & & 0.95932e+03_rb,0.72168e+03_rb,0.59655e+03_rb,0.56653e+03_rb,0.72946e+03_rb /) kbo(:, 1,41,15) = (/ & & 0.10971e+04_rb,0.83901e+03_rb,0.72823e+03_rb,0.67265e+03_rb,0.84493e+03_rb /) kbo(:, 2,41,15) = (/ & & 0.10663e+04_rb,0.81071e+03_rb,0.69500e+03_rb,0.64543e+03_rb,0.81648e+03_rb /) kbo(:, 3,41,15) = (/ & & 0.10345e+04_rb,0.78315e+03_rb,0.66331e+03_rb,0.61971e+03_rb,0.78878e+03_rb /) kbo(:, 4,41,15) = (/ & & 0.10019e+04_rb,0.75590e+03_rb,0.63295e+03_rb,0.59541e+03_rb,0.76210e+03_rb /) kbo(:, 5,41,15) = (/ & & 0.96878e+03_rb,0.72921e+03_rb,0.60428e+03_rb,0.57260e+03_rb,0.73637e+03_rb /) kbo(:, 1,42,15) = (/ & & 0.11058e+04_rb,0.84736e+03_rb,0.73795e+03_rb,0.68059e+03_rb,0.85278e+03_rb /) kbo(:, 2,42,15) = (/ & & 0.10754e+04_rb,0.81879e+03_rb,0.70412e+03_rb,0.65281e+03_rb,0.82432e+03_rb /) kbo(:, 3,42,15) = (/ & & 0.10438e+04_rb,0.79093e+03_rb,0.67198e+03_rb,0.62664e+03_rb,0.79629e+03_rb /) kbo(:, 4,42,15) = (/ & & 0.10112e+04_rb,0.76353e+03_rb,0.64116e+03_rb,0.60189e+03_rb,0.76925e+03_rb /) kbo(:, 5,42,15) = (/ & & 0.97804e+03_rb,0.73660e+03_rb,0.61202e+03_rb,0.57870e+03_rb,0.74332e+03_rb /) kbo(:, 1,43,15) = (/ & & 0.11158e+04_rb,0.85717e+03_rb,0.74955e+03_rb,0.69024e+03_rb,0.86217e+03_rb /) kbo(:, 2,43,15) = (/ & & 0.10861e+04_rb,0.82836e+03_rb,0.71518e+03_rb,0.66177e+03_rb,0.83370e+03_rb /) kbo(:, 3,43,15) = (/ & & 0.10546e+04_rb,0.80021e+03_rb,0.68243e+03_rb,0.63507e+03_rb,0.80541e+03_rb /) kbo(:, 4,43,15) = (/ & & 0.10222e+04_rb,0.77261e+03_rb,0.65115e+03_rb,0.60984e+03_rb,0.77795e+03_rb /) kbo(:, 5,43,15) = (/ & & 0.98916e+03_rb,0.74551e+03_rb,0.62143e+03_rb,0.58614e+03_rb,0.75171e+03_rb /) kbo(:, 1,44,15) = (/ & & 0.11264e+04_rb,0.86786e+03_rb,0.76217e+03_rb,0.70088e+03_rb,0.87207e+03_rb /) kbo(:, 2,44,15) = (/ & & 0.10970e+04_rb,0.83855e+03_rb,0.72711e+03_rb,0.67158e+03_rb,0.84381e+03_rb /) kbo(:, 3,44,15) = (/ & & 0.10660e+04_rb,0.81015e+03_rb,0.69375e+03_rb,0.64429e+03_rb,0.81530e+03_rb /) kbo(:, 4,44,15) = (/ & & 0.10339e+04_rb,0.78245e+03_rb,0.66207e+03_rb,0.61859e+03_rb,0.78750e+03_rb /) kbo(:, 5,44,15) = (/ & & 0.10010e+04_rb,0.75506e+03_rb,0.63169e+03_rb,0.59432e+03_rb,0.76086e+03_rb /) kbo(:, 1,45,15) = (/ & & 0.11364e+04_rb,0.87855e+03_rb,0.77494e+03_rb,0.71181e+03_rb,0.88191e+03_rb /) kbo(:, 2,45,15) = (/ & & 0.11078e+04_rb,0.84885e+03_rb,0.73921e+03_rb,0.68154e+03_rb,0.85373e+03_rb /) kbo(:, 3,45,15) = (/ & & 0.10773e+04_rb,0.82021e+03_rb,0.70525e+03_rb,0.65361e+03_rb,0.82516e+03_rb /) kbo(:, 4,45,15) = (/ & & 0.10454e+04_rb,0.79218e+03_rb,0.67305e+03_rb,0.62740e+03_rb,0.79708e+03_rb /) kbo(:, 5,45,15) = (/ & & 0.10127e+04_rb,0.76466e+03_rb,0.64208e+03_rb,0.60256e+03_rb,0.76997e+03_rb /) kbo(:, 1,46,15) = (/ & & 0.11465e+04_rb,0.88995e+03_rb,0.78864e+03_rb,0.72357e+03_rb,0.89218e+03_rb /) kbo(:, 2,46,15) = (/ & & 0.11189e+04_rb,0.85981e+03_rb,0.75227e+03_rb,0.69242e+03_rb,0.86430e+03_rb /) kbo(:, 3,46,15) = (/ & & 0.10889e+04_rb,0.83077e+03_rb,0.71764e+03_rb,0.66370e+03_rb,0.83569e+03_rb /) kbo(:, 4,46,15) = (/ & & 0.10574e+04_rb,0.80253e+03_rb,0.68479e+03_rb,0.63689e+03_rb,0.80730e+03_rb /) kbo(:, 5,46,15) = (/ & & 0.10249e+04_rb,0.77483e+03_rb,0.65332e+03_rb,0.61153e+03_rb,0.77982e+03_rb /) kbo(:, 1,47,15) = (/ & & 0.11573e+04_rb,0.90286e+03_rb,0.80421e+03_rb,0.73669e+03_rb,0.90313e+03_rb /) kbo(:, 2,47,15) = (/ & & 0.11308e+04_rb,0.87219e+03_rb,0.76703e+03_rb,0.70495e+03_rb,0.87583e+03_rb /) kbo(:, 3,47,15) = (/ & & 0.11017e+04_rb,0.84272e+03_rb,0.73168e+03_rb,0.67524e+03_rb,0.84747e+03_rb /) kbo(:, 4,47,15) = (/ & & 0.10706e+04_rb,0.81413e+03_rb,0.69808e+03_rb,0.64772e+03_rb,0.81886e+03_rb /) kbo(:, 5,47,15) = (/ & & 0.10385e+04_rb,0.78623e+03_rb,0.66606e+03_rb,0.62176e+03_rb,0.79095e+03_rb /) kbo(:, 1,48,15) = (/ & & 0.11675e+04_rb,0.91580e+03_rb,0.81991e+03_rb,0.74998e+03_rb,0.91375e+03_rb /) kbo(:, 2,48,15) = (/ & & 0.11421e+04_rb,0.88462e+03_rb,0.78203e+03_rb,0.71783e+03_rb,0.88726e+03_rb /) kbo(:, 3,48,15) = (/ & & 0.11139e+04_rb,0.85471e+03_rb,0.74597e+03_rb,0.68710e+03_rb,0.85917e+03_rb /) kbo(:, 4,48,15) = (/ & & 0.10836e+04_rb,0.82582e+03_rb,0.71165e+03_rb,0.65875e+03_rb,0.83052e+03_rb /) kbo(:, 5,48,15) = (/ & & 0.10518e+04_rb,0.79762e+03_rb,0.67897e+03_rb,0.63216e+03_rb,0.80224e+03_rb /) kbo(:, 1,49,15) = (/ & & 0.11770e+04_rb,0.92887e+03_rb,0.83589e+03_rb,0.76347e+03_rb,0.92401e+03_rb /) kbo(:, 2,49,15) = (/ & & 0.11531e+04_rb,0.89735e+03_rb,0.79736e+03_rb,0.73085e+03_rb,0.89839e+03_rb /) kbo(:, 3,49,15) = (/ & & 0.11259e+04_rb,0.86690e+03_rb,0.76049e+03_rb,0.69928e+03_rb,0.87069e+03_rb /) kbo(:, 4,49,15) = (/ & & 0.10963e+04_rb,0.83754e+03_rb,0.72543e+03_rb,0.67003e+03_rb,0.84223e+03_rb /) kbo(:, 5,49,15) = (/ & & 0.10650e+04_rb,0.80903e+03_rb,0.69202e+03_rb,0.64278e+03_rb,0.81363e+03_rb /) kbo(:, 1,50,15) = (/ & & 0.11850e+04_rb,0.94106e+03_rb,0.85114e+03_rb,0.77623e+03_rb,0.93320e+03_rb /) kbo(:, 2,50,15) = (/ & & 0.11628e+04_rb,0.90935e+03_rb,0.81191e+03_rb,0.74315e+03_rb,0.90846e+03_rb /) kbo(:, 3,50,15) = (/ & & 0.11368e+04_rb,0.87848e+03_rb,0.77441e+03_rb,0.71118e+03_rb,0.88145e+03_rb /) kbo(:, 4,50,15) = (/ & & 0.11080e+04_rb,0.84872e+03_rb,0.73862e+03_rb,0.68089e+03_rb,0.85311e+03_rb /) kbo(:, 5,50,15) = (/ & & 0.10771e+04_rb,0.81987e+03_rb,0.70453e+03_rb,0.65297e+03_rb,0.82446e+03_rb /) kbo(:, 1,51,15) = (/ & & 0.11923e+04_rb,0.95283e+03_rb,0.86626e+03_rb,0.78865e+03_rb,0.94170e+03_rb /) kbo(:, 2,51,15) = (/ & & 0.11717e+04_rb,0.92110e+03_rb,0.82616e+03_rb,0.75525e+03_rb,0.91794e+03_rb /) kbo(:, 3,51,15) = (/ & & 0.11468e+04_rb,0.88978e+03_rb,0.78804e+03_rb,0.72292e+03_rb,0.89168e+03_rb /) kbo(:, 4,51,15) = (/ & & 0.11189e+04_rb,0.85951e+03_rb,0.75159e+03_rb,0.69174e+03_rb,0.86368e+03_rb /) kbo(:, 5,51,15) = (/ & & 0.10888e+04_rb,0.83043e+03_rb,0.71698e+03_rb,0.66309e+03_rb,0.83504e+03_rb /) kbo(:, 1,52,15) = (/ & & 0.11987e+04_rb,0.96448e+03_rb,0.88155e+03_rb,0.80101e+03_rb,0.94976e+03_rb /) kbo(:, 2,52,15) = (/ & & 0.11799e+04_rb,0.93288e+03_rb,0.84067e+03_rb,0.76742e+03_rb,0.92694e+03_rb /) kbo(:, 3,52,15) = (/ & & 0.11564e+04_rb,0.90125e+03_rb,0.80189e+03_rb,0.73467e+03_rb,0.90155e+03_rb /) kbo(:, 4,52,15) = (/ & & 0.11296e+04_rb,0.87065e+03_rb,0.76482e+03_rb,0.70289e+03_rb,0.87401e+03_rb /) kbo(:, 5,52,15) = (/ & & 0.11001e+04_rb,0.84107e+03_rb,0.72948e+03_rb,0.67337e+03_rb,0.84559e+03_rb /) kbo(:, 1,53,15) = (/ & & 0.12042e+04_rb,0.97597e+03_rb,0.89729e+03_rb,0.81334e+03_rb,0.95716e+03_rb /) kbo(:, 2,53,15) = (/ & & 0.11876e+04_rb,0.94467e+03_rb,0.85557e+03_rb,0.77990e+03_rb,0.93591e+03_rb /) kbo(:, 3,53,15) = (/ & & 0.11657e+04_rb,0.91285e+03_rb,0.81605e+03_rb,0.74663e+03_rb,0.91125e+03_rb /) kbo(:, 4,53,15) = (/ & & 0.11399e+04_rb,0.88179e+03_rb,0.77830e+03_rb,0.71447e+03_rb,0.88437e+03_rb /) kbo(:, 5,53,15) = (/ & & 0.11113e+04_rb,0.85189e+03_rb,0.74233e+03_rb,0.68396e+03_rb,0.85611e+03_rb /) kbo(:, 1,54,15) = (/ & & 0.12085e+04_rb,0.98643e+03_rb,0.91208e+03_rb,0.82462e+03_rb,0.96332e+03_rb /) kbo(:, 2,54,15) = (/ & & 0.11940e+04_rb,0.95533e+03_rb,0.86934e+03_rb,0.79114e+03_rb,0.94342e+03_rb /) kbo(:, 3,54,15) = (/ & & 0.11737e+04_rb,0.92362e+03_rb,0.82909e+03_rb,0.75767e+03_rb,0.91977e+03_rb /) kbo(:, 4,54,15) = (/ & & 0.11490e+04_rb,0.89214e+03_rb,0.79079e+03_rb,0.72522e+03_rb,0.89369e+03_rb /) kbo(:, 5,54,15) = (/ & & 0.11212e+04_rb,0.86180e+03_rb,0.75420e+03_rb,0.69390e+03_rb,0.86571e+03_rb /) kbo(:, 1,55,15) = (/ & & 0.12111e+04_rb,0.99597e+03_rb,0.92635e+03_rb,0.83534e+03_rb,0.96856e+03_rb /) kbo(:, 2,55,15) = (/ & & 0.11993e+04_rb,0.96550e+03_rb,0.88281e+03_rb,0.80196e+03_rb,0.95029e+03_rb /) kbo(:, 3,55,15) = (/ & & 0.11808e+04_rb,0.93390e+03_rb,0.84185e+03_rb,0.76841e+03_rb,0.92774e+03_rb /) kbo(:, 4,55,15) = (/ & & 0.11574e+04_rb,0.90226e+03_rb,0.80305e+03_rb,0.73557e+03_rb,0.90236e+03_rb /) kbo(:, 5,55,15) = (/ & & 0.11305e+04_rb,0.87151e+03_rb,0.76581e+03_rb,0.70377e+03_rb,0.87482e+03_rb /) kbo(:, 1,56,15) = (/ & & 0.12133e+04_rb,0.10055e+04_rb,0.94091e+03_rb,0.84599e+03_rb,0.97308e+03_rb /) kbo(:, 2,56,15) = (/ & & 0.12041e+04_rb,0.97555e+03_rb,0.89660e+03_rb,0.81280e+03_rb,0.95684e+03_rb /) kbo(:, 3,56,15) = (/ & & 0.11875e+04_rb,0.94422e+03_rb,0.85482e+03_rb,0.77921e+03_rb,0.93538e+03_rb /) kbo(:, 4,56,15) = (/ & & 0.11654e+04_rb,0.91235e+03_rb,0.81536e+03_rb,0.74599e+03_rb,0.91077e+03_rb /) kbo(:, 5,56,15) = (/ & & 0.11395e+04_rb,0.88125e+03_rb,0.77756e+03_rb,0.71383e+03_rb,0.88381e+03_rb /) kbo(:, 1,57,15) = (/ & & 0.12144e+04_rb,0.10149e+04_rb,0.95530e+03_rb,0.85635e+03_rb,0.97654e+03_rb /) kbo(:, 2,57,15) = (/ & & 0.12082e+04_rb,0.98553e+03_rb,0.91069e+03_rb,0.82360e+03_rb,0.96286e+03_rb /) kbo(:, 3,57,15) = (/ & & 0.11936e+04_rb,0.95436e+03_rb,0.86797e+03_rb,0.78997e+03_rb,0.94263e+03_rb /) kbo(:, 4,57,15) = (/ & & 0.11730e+04_rb,0.92261e+03_rb,0.82779e+03_rb,0.75653e+03_rb,0.91896e+03_rb /) kbo(:, 5,57,15) = (/ & & 0.11481e+04_rb,0.89107e+03_rb,0.78949e+03_rb,0.72412e+03_rb,0.89274e+03_rb /) kbo(:, 1,58,15) = (/ & & 0.12146e+04_rb,0.10236e+04_rb,0.96889e+03_rb,0.86606e+03_rb,0.97897e+03_rb /) kbo(:, 2,58,15) = (/ & & 0.12111e+04_rb,0.99468e+03_rb,0.92419e+03_rb,0.83372e+03_rb,0.96790e+03_rb /) kbo(:, 3,58,15) = (/ & & 0.11988e+04_rb,0.96400e+03_rb,0.88060e+03_rb,0.80022e+03_rb,0.94932e+03_rb /) kbo(:, 4,58,15) = (/ & & 0.11798e+04_rb,0.93230e+03_rb,0.83979e+03_rb,0.76663e+03_rb,0.92647e+03_rb /) kbo(:, 5,58,15) = (/ & & 0.11561e+04_rb,0.90059e+03_rb,0.80102e+03_rb,0.73388e+03_rb,0.90094e+03_rb /) kbo(:, 1,59,15) = (/ & & 0.12143e+04_rb,0.10270e+04_rb,0.97431e+03_rb,0.86988e+03_rb,0.97963e+03_rb /) kbo(:, 2,59,15) = (/ & & 0.12120e+04_rb,0.99826e+03_rb,0.92964e+03_rb,0.83774e+03_rb,0.96974e+03_rb /) kbo(:, 3,59,15) = (/ & & 0.12008e+04_rb,0.96785e+03_rb,0.88575e+03_rb,0.80426e+03_rb,0.95182e+03_rb /) kbo(:, 4,59,15) = (/ & & 0.11824e+04_rb,0.93625e+03_rb,0.84468e+03_rb,0.77075e+03_rb,0.92946e+03_rb /) kbo(:, 5,59,15) = (/ & & 0.11592e+04_rb,0.90444e+03_rb,0.80567e+03_rb,0.73781e+03_rb,0.90417e+03_rb /) kbo(:, 1,13,16) = (/ & & 0.60786e+03_rb,0.45592e+03_rb,0.38499e+03_rb,0.57704e+03_rb,0.77025e+03_rb /) kbo(:, 2,13,16) = (/ & & 0.61089e+03_rb,0.45819e+03_rb,0.37289e+03_rb,0.55854e+03_rb,0.74550e+03_rb /) kbo(:, 3,13,16) = (/ & & 0.61169e+03_rb,0.45879e+03_rb,0.36189e+03_rb,0.54102e+03_rb,0.72223e+03_rb /) kbo(:, 4,13,16) = (/ & & 0.61079e+03_rb,0.45811e+03_rb,0.35169e+03_rb,0.52404e+03_rb,0.69950e+03_rb /) kbo(:, 5,13,16) = (/ & & 0.60850e+03_rb,0.45639e+03_rb,0.34199e+03_rb,0.50729e+03_rb,0.67716e+03_rb /) kbo(:, 1,14,16) = (/ & & 0.71905e+03_rb,0.53931e+03_rb,0.44704e+03_rb,0.66948e+03_rb,0.89363e+03_rb /) kbo(:, 2,14,16) = (/ & & 0.71950e+03_rb,0.53965e+03_rb,0.43274e+03_rb,0.64598e+03_rb,0.86230e+03_rb /) kbo(:, 3,14,16) = (/ & & 0.71818e+03_rb,0.53865e+03_rb,0.41969e+03_rb,0.62353e+03_rb,0.83220e+03_rb /) kbo(:, 4,14,16) = (/ & & 0.71532e+03_rb,0.53651e+03_rb,0.40717e+03_rb,0.60193e+03_rb,0.80343e+03_rb /) kbo(:, 5,14,16) = (/ & & 0.71008e+03_rb,0.53258e+03_rb,0.39527e+03_rb,0.58080e+03_rb,0.77521e+03_rb /) kbo(:, 1,15,16) = (/ & & 0.84339e+03_rb,0.63256e+03_rb,0.51534e+03_rb,0.76897e+03_rb,0.10264e+04_rb /) kbo(:, 2,15,16) = (/ & & 0.84056e+03_rb,0.63042e+03_rb,0.49783e+03_rb,0.73927e+03_rb,0.98670e+03_rb /) kbo(:, 3,15,16) = (/ & & 0.83549e+03_rb,0.62663e+03_rb,0.48183e+03_rb,0.71056e+03_rb,0.94836e+03_rb /) kbo(:, 4,15,16) = (/ & & 0.82865e+03_rb,0.62150e+03_rb,0.46649e+03_rb,0.68266e+03_rb,0.91115e+03_rb /) kbo(:, 5,15,16) = (/ & & 0.81975e+03_rb,0.61483e+03_rb,0.45195e+03_rb,0.65670e+03_rb,0.87636e+03_rb /) kbo(:, 1,16,16) = (/ & & 0.97910e+03_rb,0.73434e+03_rb,0.58857e+03_rb,0.87272e+03_rb,0.11648e+04_rb /) kbo(:, 2,16,16) = (/ & & 0.97153e+03_rb,0.72866e+03_rb,0.56721e+03_rb,0.83540e+03_rb,0.11150e+04_rb /) kbo(:, 3,16,16) = (/ & & 0.96129e+03_rb,0.72098e+03_rb,0.54742e+03_rb,0.79937e+03_rb,0.10667e+04_rb /) kbo(:, 4,16,16) = (/ & & 0.94880e+03_rb,0.71161e+03_rb,0.52876e+03_rb,0.76497e+03_rb,0.10209e+04_rb /) kbo(:, 5,16,16) = (/ & & 0.93421e+03_rb,0.70067e+03_rb,0.51082e+03_rb,0.73352e+03_rb,0.97881e+03_rb /) kbo(:, 1,17,16) = (/ & & 0.11229e+04_rb,0.84221e+03_rb,0.66547e+03_rb,0.97911e+03_rb,0.13066e+04_rb /) kbo(:, 2,17,16) = (/ & & 0.11091e+04_rb,0.83187e+03_rb,0.63930e+03_rb,0.93226e+03_rb,0.12440e+04_rb /) kbo(:, 3,17,16) = (/ & & 0.10923e+04_rb,0.81922e+03_rb,0.61539e+03_rb,0.88802e+03_rb,0.11849e+04_rb /) kbo(:, 4,17,16) = (/ & & 0.10728e+04_rb,0.80459e+03_rb,0.59256e+03_rb,0.84691e+03_rb,0.11301e+04_rb /) kbo(:, 5,17,16) = (/ & & 0.10515e+04_rb,0.78865e+03_rb,0.57044e+03_rb,0.80936e+03_rb,0.10799e+04_rb /) kbo(:, 1,18,16) = (/ & & 0.12716e+04_rb,0.95370e+03_rb,0.74447e+03_rb,0.10843e+04_rb,0.14469e+04_rb /) kbo(:, 2,18,16) = (/ & & 0.12500e+04_rb,0.93749e+03_rb,0.71274e+03_rb,0.10272e+04_rb,0.13706e+04_rb /) kbo(:, 3,18,16) = (/ & & 0.12251e+04_rb,0.91883e+03_rb,0.68394e+03_rb,0.97432e+03_rb,0.13000e+04_rb /) kbo(:, 4,18,16) = (/ & & 0.11973e+04_rb,0.89795e+03_rb,0.65609e+03_rb,0.92626e+03_rb,0.12359e+04_rb /) kbo(:, 5,18,16) = (/ & & 0.11679e+04_rb,0.87596e+03_rb,0.62959e+03_rb,0.88232e+03_rb,0.11772e+04_rb /) kbo(:, 1,19,16) = (/ & & 0.14213e+04_rb,0.10659e+04_rb,0.82299e+03_rb,0.11854e+04_rb,0.15817e+04_rb /) kbo(:, 2,19,16) = (/ & & 0.13899e+04_rb,0.10424e+04_rb,0.78536e+03_rb,0.11181e+04_rb,0.14919e+04_rb /) kbo(:, 3,19,16) = (/ & & 0.13555e+04_rb,0.10166e+04_rb,0.75067e+03_rb,0.10563e+04_rb,0.14093e+04_rb /) kbo(:, 4,19,16) = (/ & & 0.13187e+04_rb,0.98902e+03_rb,0.71751e+03_rb,0.10008e+04_rb,0.13351e+04_rb /) kbo(:, 5,19,16) = (/ & & 0.12809e+04_rb,0.96067e+03_rb,0.68653e+03_rb,0.95065e+03_rb,0.12682e+04_rb /) kbo(:, 1,20,16) = (/ & & 0.15671e+04_rb,0.11753e+04_rb,0.89787e+03_rb,0.12782e+04_rb,0.17052e+04_rb /) kbo(:, 2,20,16) = (/ & & 0.15245e+04_rb,0.11434e+04_rb,0.85373e+03_rb,0.12013e+04_rb,0.16026e+04_rb /) kbo(:, 3,20,16) = (/ & & 0.14795e+04_rb,0.11097e+04_rb,0.81323e+03_rb,0.11307e+04_rb,0.15085e+04_rb /) kbo(:, 4,20,16) = (/ & & 0.14333e+04_rb,0.10750e+04_rb,0.77488e+03_rb,0.10684e+04_rb,0.14252e+04_rb /) kbo(:, 5,20,16) = (/ & & 0.13861e+04_rb,0.10396e+04_rb,0.73891e+03_rb,0.10119e+04_rb,0.13498e+04_rb /) kbo(:, 1,21,16) = (/ & & 0.17057e+04_rb,0.12793e+04_rb,0.96840e+03_rb,0.13620e+04_rb,0.18170e+04_rb /) kbo(:, 2,21,16) = (/ & & 0.16509e+04_rb,0.12382e+04_rb,0.91726e+03_rb,0.12758e+04_rb,0.17018e+04_rb /) kbo(:, 3,21,16) = (/ & & 0.15947e+04_rb,0.11960e+04_rb,0.87064e+03_rb,0.11975e+04_rb,0.15973e+04_rb /) kbo(:, 4,21,16) = (/ & & 0.15386e+04_rb,0.11540e+04_rb,0.82723e+03_rb,0.11286e+04_rb,0.15054e+04_rb /) kbo(:, 5,21,16) = (/ & & 0.14823e+04_rb,0.11117e+04_rb,0.78614e+03_rb,0.10661e+04_rb,0.14220e+04_rb /) kbo(:, 1,22,16) = (/ & & 0.18293e+04_rb,0.13720e+04_rb,0.10288e+04_rb,0.14300e+04_rb,0.19074e+04_rb /) kbo(:, 2,22,16) = (/ & & 0.17617e+04_rb,0.13213e+04_rb,0.97120e+03_rb,0.13351e+04_rb,0.17808e+04_rb /) kbo(:, 3,22,16) = (/ & & 0.16944e+04_rb,0.12708e+04_rb,0.91894e+03_rb,0.12506e+04_rb,0.16681e+04_rb /) kbo(:, 4,22,16) = (/ & & 0.16287e+04_rb,0.12215e+04_rb,0.87041e+03_rb,0.11757e+04_rb,0.15681e+04_rb /) kbo(:, 5,22,16) = (/ & & 0.15635e+04_rb,0.11726e+04_rb,0.82499e+03_rb,0.11083e+04_rb,0.14783e+04_rb /) kbo(:, 1,23,16) = (/ & & 0.19373e+04_rb,0.14530e+04_rb,0.10803e+04_rb,0.14855e+04_rb,0.19814e+04_rb /) kbo(:, 2,23,16) = (/ & & 0.18577e+04_rb,0.13933e+04_rb,0.10171e+04_rb,0.13836e+04_rb,0.18455e+04_rb /) kbo(:, 3,23,16) = (/ & & 0.17799e+04_rb,0.13350e+04_rb,0.95955e+03_rb,0.12936e+04_rb,0.17253e+04_rb /) kbo(:, 4,23,16) = (/ & & 0.17053e+04_rb,0.12790e+04_rb,0.90643e+03_rb,0.12138e+04_rb,0.16189e+04_rb /) kbo(:, 5,23,16) = (/ & & 0.16318e+04_rb,0.12239e+04_rb,0.85742e+03_rb,0.11422e+04_rb,0.15233e+04_rb /) kbo(:, 1,24,16) = (/ & & 0.20285e+04_rb,0.15214e+04_rb,0.11229e+04_rb,0.15287e+04_rb,0.20389e+04_rb /) kbo(:, 2,24,16) = (/ & & 0.19379e+04_rb,0.14534e+04_rb,0.10546e+04_rb,0.14215e+04_rb,0.18958e+04_rb /) kbo(:, 3,24,16) = (/ & & 0.18509e+04_rb,0.13882e+04_rb,0.99252e+03_rb,0.13268e+04_rb,0.17696e+04_rb /) kbo(:, 4,24,16) = (/ & & 0.17680e+04_rb,0.13260e+04_rb,0.93542e+03_rb,0.12431e+04_rb,0.16579e+04_rb /) kbo(:, 5,24,16) = (/ & & 0.16872e+04_rb,0.12654e+04_rb,0.88318e+03_rb,0.11679e+04_rb,0.15576e+04_rb /) kbo(:, 1,25,16) = (/ & & 0.21022e+04_rb,0.15767e+04_rb,0.11562e+04_rb,0.15596e+04_rb,0.20800e+04_rb /) kbo(:, 2,25,16) = (/ & & 0.20021e+04_rb,0.15016e+04_rb,0.10837e+04_rb,0.14483e+04_rb,0.19315e+04_rb /) kbo(:, 3,25,16) = (/ & & 0.19072e+04_rb,0.14304e+04_rb,0.10177e+04_rb,0.13507e+04_rb,0.18013e+04_rb /) kbo(:, 4,25,16) = (/ & & 0.18172e+04_rb,0.13629e+04_rb,0.95761e+03_rb,0.12639e+04_rb,0.16854e+04_rb /) kbo(:, 5,25,16) = (/ & & 0.17302e+04_rb,0.12976e+04_rb,0.90262e+03_rb,0.11861e+04_rb,0.15818e+04_rb /) kbo(:, 1,26,16) = (/ & & 0.21584e+04_rb,0.16188e+04_rb,0.11798e+04_rb,0.15785e+04_rb,0.21051e+04_rb /) kbo(:, 2,26,16) = (/ & & 0.20504e+04_rb,0.15378e+04_rb,0.11040e+04_rb,0.14649e+04_rb,0.19536e+04_rb /) kbo(:, 3,26,16) = (/ & & 0.19488e+04_rb,0.14616e+04_rb,0.10351e+04_rb,0.13650e+04_rb,0.18204e+04_rb /) kbo(:, 4,26,16) = (/ & & 0.18527e+04_rb,0.13896e+04_rb,0.97267e+03_rb,0.12762e+04_rb,0.17019e+04_rb /) kbo(:, 5,26,16) = (/ & & 0.17609e+04_rb,0.13206e+04_rb,0.91583e+03_rb,0.11969e+04_rb,0.15961e+04_rb /) kbo(:, 1,27,16) = (/ & & 0.21995e+04_rb,0.16496e+04_rb,0.11960e+04_rb,0.15887e+04_rb,0.21185e+04_rb /) kbo(:, 2,27,16) = (/ & & 0.20852e+04_rb,0.15639e+04_rb,0.11175e+04_rb,0.14736e+04_rb,0.19651e+04_rb /) kbo(:, 3,27,16) = (/ & & 0.19784e+04_rb,0.14838e+04_rb,0.10466e+04_rb,0.13723e+04_rb,0.18300e+04_rb /) kbo(:, 4,27,16) = (/ & & 0.18776e+04_rb,0.14082e+04_rb,0.98231e+03_rb,0.12823e+04_rb,0.17101e+04_rb /) kbo(:, 5,27,16) = (/ & & 0.17820e+04_rb,0.13365e+04_rb,0.92416e+03_rb,0.12022e+04_rb,0.16031e+04_rb /) kbo(:, 1,28,16) = (/ & & 0.22274e+04_rb,0.16706e+04_rb,0.12052e+04_rb,0.15913e+04_rb,0.21220e+04_rb /) kbo(:, 2,28,16) = (/ & & 0.21084e+04_rb,0.15813e+04_rb,0.11251e+04_rb,0.14757e+04_rb,0.19679e+04_rb /) kbo(:, 3,28,16) = (/ & & 0.19974e+04_rb,0.14981e+04_rb,0.10528e+04_rb,0.13738e+04_rb,0.18320e+04_rb /) kbo(:, 4,28,16) = (/ & & 0.18930e+04_rb,0.14198e+04_rb,0.98736e+03_rb,0.12834e+04_rb,0.17114e+04_rb /) kbo(:, 5,28,16) = (/ & & 0.17945e+04_rb,0.13459e+04_rb,0.92826e+03_rb,0.12029e+04_rb,0.16040e+04_rb /) kbo(:, 1,29,16) = (/ & & 0.22434e+04_rb,0.16825e+04_rb,0.12082e+04_rb,0.15868e+04_rb,0.21160e+04_rb /) kbo(:, 2,29,16) = (/ & & 0.21209e+04_rb,0.15907e+04_rb,0.11272e+04_rb,0.14716e+04_rb,0.19623e+04_rb /) kbo(:, 3,29,16) = (/ & & 0.20069e+04_rb,0.15052e+04_rb,0.10541e+04_rb,0.13700e+04_rb,0.18268e+04_rb /) kbo(:, 4,29,16) = (/ & & 0.18999e+04_rb,0.14249e+04_rb,0.98819e+03_rb,0.12798e+04_rb,0.17065e+04_rb /) kbo(:, 5,29,16) = (/ & & 0.17996e+04_rb,0.13497e+04_rb,0.92869e+03_rb,0.11992e+04_rb,0.15991e+04_rb /) kbo(:, 1,30,16) = (/ & & 0.22495e+04_rb,0.16871e+04_rb,0.12065e+04_rb,0.15776e+04_rb,0.21036e+04_rb /) kbo(:, 2,30,16) = (/ & & 0.21251e+04_rb,0.15938e+04_rb,0.11251e+04_rb,0.14633e+04_rb,0.19512e+04_rb /) kbo(:, 3,30,16) = (/ & & 0.20091e+04_rb,0.15068e+04_rb,0.10517e+04_rb,0.13621e+04_rb,0.18163e+04_rb /) kbo(:, 4,30,16) = (/ & & 0.19004e+04_rb,0.14253e+04_rb,0.98584e+03_rb,0.12727e+04_rb,0.16970e+04_rb /) kbo(:, 5,30,16) = (/ & & 0.17984e+04_rb,0.13488e+04_rb,0.92610e+03_rb,0.11928e+04_rb,0.15905e+04_rb /) kbo(:, 1,31,16) = (/ & & 0.22474e+04_rb,0.16855e+04_rb,0.12005e+04_rb,0.15635e+04_rb,0.20848e+04_rb /) kbo(:, 2,31,16) = (/ & & 0.21214e+04_rb,0.15910e+04_rb,0.11192e+04_rb,0.14507e+04_rb,0.19344e+04_rb /) kbo(:, 3,31,16) = (/ & & 0.20043e+04_rb,0.15033e+04_rb,0.10461e+04_rb,0.13510e+04_rb,0.18015e+04_rb /) kbo(:, 4,31,16) = (/ & & 0.18948e+04_rb,0.14211e+04_rb,0.98049e+03_rb,0.12625e+04_rb,0.16835e+04_rb /) kbo(:, 5,31,16) = (/ & & 0.17922e+04_rb,0.13441e+04_rb,0.92102e+03_rb,0.11837e+04_rb,0.15784e+04_rb /) kbo(:, 1,32,16) = (/ & & 0.22387e+04_rb,0.16790e+04_rb,0.11913e+04_rb,0.15463e+04_rb,0.20617e+04_rb /) kbo(:, 2,32,16) = (/ & & 0.21117e+04_rb,0.15838e+04_rb,0.11104e+04_rb,0.14353e+04_rb,0.19138e+04_rb /) kbo(:, 3,32,16) = (/ & & 0.19944e+04_rb,0.14958e+04_rb,0.10381e+04_rb,0.13373e+04_rb,0.17831e+04_rb /) kbo(:, 4,32,16) = (/ & & 0.18846e+04_rb,0.14135e+04_rb,0.97304e+03_rb,0.12502e+04_rb,0.16670e+04_rb /) kbo(:, 5,32,16) = (/ & & 0.17818e+04_rb,0.13363e+04_rb,0.91392e+03_rb,0.11724e+04_rb,0.15633e+04_rb /) kbo(:, 1,33,16) = (/ & & 0.22243e+04_rb,0.16682e+04_rb,0.11793e+04_rb,0.15266e+04_rb,0.20355e+04_rb /) kbo(:, 2,33,16) = (/ & & 0.20975e+04_rb,0.15731e+04_rb,0.10994e+04_rb,0.14177e+04_rb,0.18903e+04_rb /) kbo(:, 3,33,16) = (/ & & 0.19805e+04_rb,0.14854e+04_rb,0.10282e+04_rb,0.13217e+04_rb,0.17623e+04_rb /) kbo(:, 4,33,16) = (/ & & 0.18707e+04_rb,0.14030e+04_rb,0.96384e+03_rb,0.12361e+04_rb,0.16482e+04_rb /) kbo(:, 5,33,16) = (/ & & 0.17684e+04_rb,0.13263e+04_rb,0.90541e+03_rb,0.11600e+04_rb,0.15467e+04_rb /) kbo(:, 1,34,16) = (/ & & 0.22110e+04_rb,0.16582e+04_rb,0.11687e+04_rb,0.15094e+04_rb,0.20126e+04_rb /) kbo(:, 2,34,16) = (/ & & 0.20843e+04_rb,0.15632e+04_rb,0.10894e+04_rb,0.14021e+04_rb,0.18696e+04_rb /) kbo(:, 3,34,16) = (/ & & 0.19675e+04_rb,0.14756e+04_rb,0.10193e+04_rb,0.13079e+04_rb,0.17439e+04_rb /) kbo(:, 4,34,16) = (/ & & 0.18579e+04_rb,0.13934e+04_rb,0.95559e+03_rb,0.12238e+04_rb,0.16318e+04_rb /) kbo(:, 5,34,16) = (/ & & 0.17560e+04_rb,0.13170e+04_rb,0.89776e+03_rb,0.11489e+04_rb,0.15318e+04_rb /) kbo(:, 1,35,16) = (/ & & 0.22070e+04_rb,0.16552e+04_rb,0.11645e+04_rb,0.15017e+04_rb,0.20024e+04_rb /) kbo(:, 2,35,16) = (/ & & 0.20800e+04_rb,0.15600e+04_rb,0.10855e+04_rb,0.13953e+04_rb,0.18605e+04_rb /) kbo(:, 3,35,16) = (/ & & 0.19630e+04_rb,0.14722e+04_rb,0.10157e+04_rb,0.13017e+04_rb,0.17356e+04_rb /) kbo(:, 4,35,16) = (/ & & 0.18532e+04_rb,0.13899e+04_rb,0.95221e+03_rb,0.12182e+04_rb,0.16243e+04_rb /) kbo(:, 5,35,16) = (/ & & 0.17512e+04_rb,0.13134e+04_rb,0.89456e+03_rb,0.11438e+04_rb,0.15251e+04_rb /) kbo(:, 1,36,16) = (/ & & 0.22146e+04_rb,0.16609e+04_rb,0.11681e+04_rb,0.15050e+04_rb,0.20067e+04_rb /) kbo(:, 2,36,16) = (/ & & 0.20867e+04_rb,0.15651e+04_rb,0.10887e+04_rb,0.13982e+04_rb,0.18642e+04_rb /) kbo(:, 3,36,16) = (/ & & 0.19689e+04_rb,0.14767e+04_rb,0.10184e+04_rb,0.13041e+04_rb,0.17389e+04_rb /) kbo(:, 4,36,16) = (/ & & 0.18582e+04_rb,0.13937e+04_rb,0.95458e+03_rb,0.12204e+04_rb,0.16272e+04_rb /) kbo(:, 5,36,16) = (/ & & 0.17557e+04_rb,0.13168e+04_rb,0.89664e+03_rb,0.11458e+04_rb,0.15277e+04_rb /) kbo(:, 1,37,16) = (/ & & 0.22411e+04_rb,0.16809e+04_rb,0.11837e+04_rb,0.15248e+04_rb,0.20331e+04_rb /) kbo(:, 2,37,16) = (/ & & 0.21106e+04_rb,0.15830e+04_rb,0.11025e+04_rb,0.14155e+04_rb,0.18873e+04_rb /) kbo(:, 3,37,16) = (/ & & 0.19909e+04_rb,0.14932e+04_rb,0.10307e+04_rb,0.13195e+04_rb,0.17594e+04_rb /) kbo(:, 4,37,16) = (/ & & 0.18783e+04_rb,0.14088e+04_rb,0.96559e+03_rb,0.12340e+04_rb,0.16453e+04_rb /) kbo(:, 5,37,16) = (/ & & 0.17743e+04_rb,0.13307e+04_rb,0.90666e+03_rb,0.11578e+04_rb,0.15438e+04_rb /) kbo(:, 1,38,16) = (/ & & 0.22677e+04_rb,0.17008e+04_rb,0.11995e+04_rb,0.15451e+04_rb,0.20601e+04_rb /) kbo(:, 2,38,16) = (/ & & 0.21347e+04_rb,0.16010e+04_rb,0.11166e+04_rb,0.14334e+04_rb,0.19112e+04_rb /) kbo(:, 3,38,16) = (/ & & 0.20130e+04_rb,0.15097e+04_rb,0.10432e+04_rb,0.13353e+04_rb,0.17805e+04_rb /) kbo(:, 4,38,16) = (/ & & 0.18989e+04_rb,0.14242e+04_rb,0.97692e+03_rb,0.12480e+04_rb,0.16640e+04_rb /) kbo(:, 5,38,16) = (/ & & 0.17929e+04_rb,0.13447e+04_rb,0.91684e+03_rb,0.11704e+04_rb,0.15605e+04_rb /) kbo(:, 1,39,16) = (/ & & 0.22932e+04_rb,0.17199e+04_rb,0.12149e+04_rb,0.15649e+04_rb,0.20865e+04_rb /) kbo(:, 2,39,16) = (/ & & 0.21580e+04_rb,0.16185e+04_rb,0.11304e+04_rb,0.14510e+04_rb,0.19346e+04_rb /) kbo(:, 3,39,16) = (/ & & 0.20342e+04_rb,0.15257e+04_rb,0.10554e+04_rb,0.13508e+04_rb,0.18011e+04_rb /) kbo(:, 4,39,16) = (/ & & 0.19186e+04_rb,0.14389e+04_rb,0.98789e+03_rb,0.12618e+04_rb,0.16825e+04_rb /) kbo(:, 5,39,16) = (/ & & 0.18110e+04_rb,0.13582e+04_rb,0.92676e+03_rb,0.11826e+04_rb,0.15768e+04_rb /) kbo(:, 1,40,16) = (/ & & 0.23330e+04_rb,0.17497e+04_rb,0.12394e+04_rb,0.15975e+04_rb,0.21300e+04_rb /) kbo(:, 2,40,16) = (/ & & 0.21946e+04_rb,0.16460e+04_rb,0.11524e+04_rb,0.14797e+04_rb,0.19730e+04_rb /) kbo(:, 3,40,16) = (/ & & 0.20673e+04_rb,0.15505e+04_rb,0.10747e+04_rb,0.13759e+04_rb,0.18346e+04_rb /) kbo(:, 4,40,16) = (/ & & 0.19494e+04_rb,0.14621e+04_rb,0.10054e+04_rb,0.12842e+04_rb,0.17123e+04_rb /) kbo(:, 5,40,16) = (/ & & 0.18395e+04_rb,0.13796e+04_rb,0.94264e+03_rb,0.12026e+04_rb,0.16034e+04_rb /) kbo(:, 1,41,16) = (/ & & 0.23748e+04_rb,0.17811e+04_rb,0.12653e+04_rb,0.16323e+04_rb,0.21765e+04_rb /) kbo(:, 2,41,16) = (/ & & 0.22335e+04_rb,0.16751e+04_rb,0.11760e+04_rb,0.15106e+04_rb,0.20142e+04_rb /) kbo(:, 3,41,16) = (/ & & 0.21020e+04_rb,0.15765e+04_rb,0.10953e+04_rb,0.14029e+04_rb,0.18706e+04_rb /) kbo(:, 4,41,16) = (/ & & 0.19818e+04_rb,0.14863e+04_rb,0.10239e+04_rb,0.13082e+04_rb,0.17443e+04_rb /) kbo(:, 5,41,16) = (/ & & 0.18696e+04_rb,0.14022e+04_rb,0.95944e+03_rb,0.12238e+04_rb,0.16317e+04_rb /) kbo(:, 1,42,16) = (/ & & 0.24183e+04_rb,0.18137e+04_rb,0.12922e+04_rb,0.16686e+04_rb,0.22248e+04_rb /) kbo(:, 2,42,16) = (/ & & 0.22718e+04_rb,0.17039e+04_rb,0.11997e+04_rb,0.15420e+04_rb,0.20561e+04_rb /) kbo(:, 3,42,16) = (/ & & 0.21373e+04_rb,0.16030e+04_rb,0.11164e+04_rb,0.14305e+04_rb,0.19073e+04_rb /) kbo(:, 4,42,16) = (/ & & 0.20143e+04_rb,0.15107e+04_rb,0.10428e+04_rb,0.13327e+04_rb,0.17770e+04_rb /) kbo(:, 5,42,16) = (/ & & 0.18998e+04_rb,0.14249e+04_rb,0.97647e+03_rb,0.12457e+04_rb,0.16610e+04_rb /) kbo(:, 1,43,16) = (/ & & 0.24703e+04_rb,0.18528e+04_rb,0.13249e+04_rb,0.17136e+04_rb,0.22848e+04_rb /) kbo(:, 2,43,16) = (/ & & 0.23188e+04_rb,0.17391e+04_rb,0.12289e+04_rb,0.15811e+04_rb,0.21082e+04_rb /) kbo(:, 3,43,16) = (/ & & 0.21803e+04_rb,0.16352e+04_rb,0.11426e+04_rb,0.14651e+04_rb,0.19535e+04_rb /) kbo(:, 4,43,16) = (/ & & 0.20539e+04_rb,0.15404e+04_rb,0.10659e+04_rb,0.13633e+04_rb,0.18177e+04_rb /) kbo(:, 5,43,16) = (/ & & 0.19367e+04_rb,0.14525e+04_rb,0.99744e+03_rb,0.12728e+04_rb,0.16970e+04_rb /) kbo(:, 1,44,16) = (/ & & 0.25274e+04_rb,0.18956e+04_rb,0.13612e+04_rb,0.17642e+04_rb,0.23522e+04_rb /) kbo(:, 2,44,16) = (/ & & 0.23706e+04_rb,0.17780e+04_rb,0.12614e+04_rb,0.16248e+04_rb,0.21664e+04_rb /) kbo(:, 3,44,16) = (/ & & 0.22278e+04_rb,0.16708e+04_rb,0.11717e+04_rb,0.15040e+04_rb,0.20053e+04_rb /) kbo(:, 4,44,16) = (/ & & 0.20979e+04_rb,0.15734e+04_rb,0.10920e+04_rb,0.13972e+04_rb,0.18630e+04_rb /) kbo(:, 5,44,16) = (/ & & 0.19771e+04_rb,0.14828e+04_rb,0.10207e+04_rb,0.13030e+04_rb,0.17374e+04_rb /) kbo(:, 1,45,16) = (/ & & 0.25859e+04_rb,0.19394e+04_rb,0.13990e+04_rb,0.18173e+04_rb,0.24231e+04_rb /) kbo(:, 2,45,16) = (/ & & 0.24239e+04_rb,0.18179e+04_rb,0.12948e+04_rb,0.16708e+04_rb,0.22278e+04_rb /) kbo(:, 3,45,16) = (/ & & 0.22761e+04_rb,0.17071e+04_rb,0.12017e+04_rb,0.15441e+04_rb,0.20588e+04_rb /) kbo(:, 4,45,16) = (/ & & 0.21421e+04_rb,0.16066e+04_rb,0.11186e+04_rb,0.14324e+04_rb,0.19099e+04_rb /) kbo(:, 5,45,16) = (/ & & 0.20183e+04_rb,0.15137e+04_rb,0.10446e+04_rb,0.13343e+04_rb,0.17791e+04_rb /) kbo(:, 1,46,16) = (/ & & 0.26504e+04_rb,0.19878e+04_rb,0.14409e+04_rb,0.18767e+04_rb,0.25023e+04_rb /) kbo(:, 2,46,16) = (/ & & 0.24823e+04_rb,0.18617e+04_rb,0.13316e+04_rb,0.17220e+04_rb,0.22960e+04_rb /) kbo(:, 3,46,16) = (/ & & 0.23297e+04_rb,0.17473e+04_rb,0.12351e+04_rb,0.15885e+04_rb,0.21180e+04_rb /) kbo(:, 4,46,16) = (/ & & 0.21905e+04_rb,0.16429e+04_rb,0.11482e+04_rb,0.14718e+04_rb,0.19624e+04_rb /) kbo(:, 5,46,16) = (/ & & 0.20627e+04_rb,0.15470e+04_rb,0.10708e+04_rb,0.13689e+04_rb,0.18252e+04_rb /) kbo(:, 1,47,16) = (/ & & 0.27247e+04_rb,0.20435e+04_rb,0.14902e+04_rb,0.19477e+04_rb,0.25969e+04_rb /) kbo(:, 2,47,16) = (/ & & 0.25493e+04_rb,0.19120e+04_rb,0.13747e+04_rb,0.17822e+04_rb,0.23763e+04_rb /) kbo(:, 3,47,16) = (/ & & 0.23907e+04_rb,0.17930e+04_rb,0.12733e+04_rb,0.16405e+04_rb,0.21874e+04_rb /) kbo(:, 4,47,16) = (/ & & 0.22466e+04_rb,0.16850e+04_rb,0.11827e+04_rb,0.15177e+04_rb,0.20235e+04_rb /) kbo(:, 5,47,16) = (/ & & 0.21136e+04_rb,0.15852e+04_rb,0.11012e+04_rb,0.14091e+04_rb,0.18788e+04_rb /) kbo(:, 1,48,16) = (/ & & 0.28012e+04_rb,0.21009e+04_rb,0.15426e+04_rb,0.20233e+04_rb,0.26978e+04_rb /) kbo(:, 2,48,16) = (/ & & 0.26190e+04_rb,0.19642e+04_rb,0.14199e+04_rb,0.18460e+04_rb,0.24614e+04_rb /) kbo(:, 3,48,16) = (/ & & 0.24541e+04_rb,0.18406e+04_rb,0.13132e+04_rb,0.16956e+04_rb,0.22609e+04_rb /) kbo(:, 4,48,16) = (/ & & 0.23037e+04_rb,0.17278e+04_rb,0.12184e+04_rb,0.15658e+04_rb,0.20877e+04_rb /) kbo(:, 5,48,16) = (/ & & 0.21661e+04_rb,0.16246e+04_rb,0.11331e+04_rb,0.14514e+04_rb,0.19352e+04_rb /) kbo(:, 1,49,16) = (/ & & 0.28818e+04_rb,0.21613e+04_rb,0.15982e+04_rb,0.21038e+04_rb,0.28050e+04_rb /) kbo(:, 2,49,16) = (/ & & 0.26914e+04_rb,0.20185e+04_rb,0.14674e+04_rb,0.19143e+04_rb,0.25524e+04_rb /) kbo(:, 3,49,16) = (/ & & 0.25196e+04_rb,0.18897e+04_rb,0.13550e+04_rb,0.17541e+04_rb,0.23389e+04_rb /) kbo(:, 4,49,16) = (/ & & 0.23632e+04_rb,0.17724e+04_rb,0.12557e+04_rb,0.16163e+04_rb,0.21550e+04_rb /) kbo(:, 5,49,16) = (/ & & 0.22208e+04_rb,0.16656e+04_rb,0.11666e+04_rb,0.14961e+04_rb,0.19948e+04_rb /) kbo(:, 1,50,16) = (/ & & 0.29612e+04_rb,0.22209e+04_rb,0.16532e+04_rb,0.21839e+04_rb,0.29118e+04_rb /) kbo(:, 2,50,16) = (/ & & 0.27615e+04_rb,0.20712e+04_rb,0.15149e+04_rb,0.19827e+04_rb,0.26437e+04_rb /) kbo(:, 3,50,16) = (/ & & 0.25830e+04_rb,0.19373e+04_rb,0.13961e+04_rb,0.18120e+04_rb,0.24160e+04_rb /) kbo(:, 4,50,16) = (/ & & 0.24210e+04_rb,0.18157e+04_rb,0.12921e+04_rb,0.16664e+04_rb,0.22218e+04_rb /) kbo(:, 5,50,16) = (/ & & 0.22734e+04_rb,0.17051e+04_rb,0.11994e+04_rb,0.15401e+04_rb,0.20534e+04_rb /) kbo(:, 1,51,16) = (/ & & 0.30414e+04_rb,0.22810e+04_rb,0.17098e+04_rb,0.22662e+04_rb,0.30216e+04_rb /) kbo(:, 2,51,16) = (/ & & 0.28321e+04_rb,0.21241e+04_rb,0.15635e+04_rb,0.20530e+04_rb,0.27374e+04_rb /) kbo(:, 3,51,16) = (/ & & 0.26473e+04_rb,0.19855e+04_rb,0.14379e+04_rb,0.18712e+04_rb,0.24950e+04_rb /) kbo(:, 4,51,16) = (/ & & 0.24793e+04_rb,0.18595e+04_rb,0.13289e+04_rb,0.17174e+04_rb,0.22898e+04_rb /) kbo(:, 5,51,16) = (/ & & 0.23268e+04_rb,0.17451e+04_rb,0.12327e+04_rb,0.15846e+04_rb,0.21128e+04_rb /) kbo(:, 1,52,16) = (/ & & 0.31248e+04_rb,0.23436e+04_rb,0.17703e+04_rb,0.23534e+04_rb,0.31379e+04_rb /) kbo(:, 2,52,16) = (/ & & 0.29063e+04_rb,0.21797e+04_rb,0.16147e+04_rb,0.21274e+04_rb,0.28366e+04_rb /) kbo(:, 3,52,16) = (/ & & 0.27134e+04_rb,0.20351e+04_rb,0.14818e+04_rb,0.19344e+04_rb,0.25793e+04_rb /) kbo(:, 4,52,16) = (/ & & 0.25389e+04_rb,0.19042e+04_rb,0.13672e+04_rb,0.17712e+04_rb,0.23616e+04_rb /) kbo(:, 5,52,16) = (/ & & 0.23814e+04_rb,0.17860e+04_rb,0.12669e+04_rb,0.16310e+04_rb,0.21746e+04_rb /) kbo(:, 1,53,16) = (/ & & 0.32126e+04_rb,0.24095e+04_rb,0.18346e+04_rb,0.24459e+04_rb,0.32612e+04_rb /) kbo(:, 2,53,16) = (/ & & 0.29838e+04_rb,0.22378e+04_rb,0.16687e+04_rb,0.22061e+04_rb,0.29415e+04_rb /) kbo(:, 3,53,16) = (/ & & 0.27817e+04_rb,0.20863e+04_rb,0.15283e+04_rb,0.20017e+04_rb,0.26689e+04_rb /) kbo(:, 4,53,16) = (/ & & 0.26009e+04_rb,0.19507e+04_rb,0.14074e+04_rb,0.18280e+04_rb,0.24374e+04_rb /) kbo(:, 5,53,16) = (/ & & 0.24377e+04_rb,0.18283e+04_rb,0.13025e+04_rb,0.16802e+04_rb,0.22403e+04_rb /) kbo(:, 1,54,16) = (/ & & 0.32965e+04_rb,0.24725e+04_rb,0.18972e+04_rb,0.25356e+04_rb,0.33807e+04_rb /) kbo(:, 2,54,16) = (/ & & 0.30576e+04_rb,0.22932e+04_rb,0.17211e+04_rb,0.22822e+04_rb,0.30430e+04_rb /) kbo(:, 3,54,16) = (/ & & 0.28468e+04_rb,0.21351e+04_rb,0.15733e+04_rb,0.20668e+04_rb,0.27558e+04_rb /) kbo(:, 4,54,16) = (/ & & 0.26600e+04_rb,0.19950e+04_rb,0.14459e+04_rb,0.18829e+04_rb,0.25105e+04_rb /) kbo(:, 5,54,16) = (/ & & 0.24912e+04_rb,0.18684e+04_rb,0.13364e+04_rb,0.17275e+04_rb,0.23034e+04_rb /) kbo(:, 1,55,16) = (/ & & 0.33833e+04_rb,0.25376e+04_rb,0.19611e+04_rb,0.26264e+04_rb,0.35019e+04_rb /) kbo(:, 2,55,16) = (/ & & 0.31321e+04_rb,0.23491e+04_rb,0.17750e+04_rb,0.23596e+04_rb,0.31462e+04_rb /) kbo(:, 3,55,16) = (/ & & 0.29119e+04_rb,0.21839e+04_rb,0.16184e+04_rb,0.21327e+04_rb,0.28435e+04_rb /) kbo(:, 4,55,16) = (/ & & 0.27182e+04_rb,0.20386e+04_rb,0.14848e+04_rb,0.19390e+04_rb,0.25853e+04_rb /) kbo(:, 5,55,16) = (/ & & 0.25438e+04_rb,0.19078e+04_rb,0.13702e+04_rb,0.17749e+04_rb,0.23665e+04_rb /) kbo(:, 1,56,16) = (/ & & 0.34732e+04_rb,0.26050e+04_rb,0.20286e+04_rb,0.27221e+04_rb,0.36294e+04_rb /) kbo(:, 2,56,16) = (/ & & 0.32087e+04_rb,0.24066e+04_rb,0.18312e+04_rb,0.24406e+04_rb,0.32540e+04_rb /) kbo(:, 3,56,16) = (/ & & 0.29798e+04_rb,0.22348e+04_rb,0.16657e+04_rb,0.22014e+04_rb,0.29353e+04_rb /) kbo(:, 4,56,16) = (/ & & 0.27779e+04_rb,0.20834e+04_rb,0.15255e+04_rb,0.19978e+04_rb,0.26637e+04_rb /) kbo(:, 5,56,16) = (/ & & 0.25980e+04_rb,0.19485e+04_rb,0.14055e+04_rb,0.18247e+04_rb,0.24330e+04_rb /) kbo(:, 1,57,16) = (/ & & 0.35673e+04_rb,0.26755e+04_rb,0.21006e+04_rb,0.28229e+04_rb,0.37639e+04_rb /) kbo(:, 2,57,16) = (/ & & 0.32883e+04_rb,0.24663e+04_rb,0.18907e+04_rb,0.25257e+04_rb,0.33676e+04_rb /) kbo(:, 3,57,16) = (/ & & 0.30500e+04_rb,0.22875e+04_rb,0.17155e+04_rb,0.22739e+04_rb,0.30319e+04_rb /) kbo(:, 4,57,16) = (/ & & 0.28394e+04_rb,0.21295e+04_rb,0.15682e+04_rb,0.20597e+04_rb,0.27463e+04_rb /) kbo(:, 5,57,16) = (/ & & 0.26543e+04_rb,0.19907e+04_rb,0.14421e+04_rb,0.18768e+04_rb,0.25025e+04_rb /) kbo(:, 1,58,16) = (/ & & 0.36607e+04_rb,0.27457e+04_rb,0.21738e+04_rb,0.29233e+04_rb,0.38978e+04_rb /) kbo(:, 2,58,16) = (/ & & 0.33686e+04_rb,0.25266e+04_rb,0.19501e+04_rb,0.26108e+04_rb,0.34810e+04_rb /) kbo(:, 3,58,16) = (/ & & 0.31191e+04_rb,0.23393e+04_rb,0.17656e+04_rb,0.23462e+04_rb,0.31282e+04_rb /) kbo(:, 4,58,16) = (/ & & 0.29009e+04_rb,0.21757e+04_rb,0.16107e+04_rb,0.21213e+04_rb,0.28285e+04_rb /) kbo(:, 5,58,16) = (/ & & 0.27090e+04_rb,0.20318e+04_rb,0.14784e+04_rb,0.19292e+04_rb,0.25722e+04_rb /) kbo(:, 1,59,16) = (/ & & 0.36992e+04_rb,0.27745e+04_rb,0.22044e+04_rb,0.29651e+04_rb,0.39534e+04_rb /) kbo(:, 2,59,16) = (/ & & 0.34022e+04_rb,0.25517e+04_rb,0.19749e+04_rb,0.26461e+04_rb,0.35281e+04_rb /) kbo(:, 3,59,16) = (/ & & 0.31476e+04_rb,0.23607e+04_rb,0.17864e+04_rb,0.23762e+04_rb,0.31682e+04_rb /) kbo(:, 4,59,16) = (/ & & 0.29259e+04_rb,0.21945e+04_rb,0.16281e+04_rb,0.21469e+04_rb,0.28626e+04_rb /) kbo(:, 5,59,16) = (/ & & 0.27315e+04_rb,0.20486e+04_rb,0.14936e+04_rb,0.19510e+04_rb,0.26013e+04_rb /) ! ----------------------------------------------------------------- forrefo(:, 1) = (/ 0.553258e-03_rb, 0.555486e-03_rb, 0.601339e-03_rb, 0.708280e-03_rb /) forrefo(:, 2) = (/ 0.158558e-02_rb, 0.162957e-02_rb, 0.204991e-02_rb, 0.475881e-02_rb /) forrefo(:, 3) = (/ 0.772542e-02_rb, 0.784562e-02_rb, 0.111979e-01_rb, 0.229016e-01_rb /) forrefo(:, 4) = (/ 0.255097e-01_rb, 0.256272e-01_rb, 0.270691e-01_rb, 0.259505e-01_rb /) forrefo(:, 5) = (/ 0.323263e-01_rb, 0.324495e-01_rb, 0.305535e-01_rb, 0.263993e-01_rb /) forrefo(:, 6) = (/ 0.346920e-01_rb, 0.348255e-01_rb, 0.323586e-01_rb, 0.276357e-01_rb /) forrefo(:, 7) = (/ 0.366509e-01_rb, 0.366412e-01_rb, 0.344434e-01_rb, 0.319223e-01_rb /) forrefo(:, 8) = (/ 0.378451e-01_rb, 0.375341e-01_rb, 0.374369e-01_rb, 0.320334e-01_rb /) forrefo(:, 9) = (/ 0.407348e-01_rb, 0.396203e-01_rb, 0.393988e-01_rb, 0.318343e-01_rb /) forrefo(:,10) = (/ 0.433035e-01_rb, 0.426488e-01_rb, 0.408085e-01_rb, 0.332749e-01_rb /) forrefo(:,11) = (/ 0.428254e-01_rb, 0.441151e-01_rb, 0.408887e-01_rb, 0.327077e-01_rb /) forrefo(:,12) = (/ 0.443226e-01_rb, 0.446690e-01_rb, 0.404676e-01_rb, 0.350492e-01_rb /) forrefo(:,13) = (/ 0.466103e-01_rb, 0.460809e-01_rb, 0.401286e-01_rb, 0.370427e-01_rb /) forrefo(:,14) = (/ 0.483928e-01_rb, 0.477284e-01_rb, 0.380684e-01_rb, 0.387940e-01_rb /) forrefo(:,15) = (/ 0.506987e-01_rb, 0.490016e-01_rb, 0.467069e-01_rb, 0.368998e-01_rb /) forrefo(:,16) = (/ 0.510836e-01_rb, 0.522771e-01_rb, 0.500130e-01_rb, 0.483406e-01_rb /) ! ----------------------------------------------------------------- ! The array SELFREFO contains the coefficient of the water vapor ! self-continuum (including the energy term). The first index ! refers to temperature in 7.2 degree increments. For instance, ! JT = 1 refers to a temperature of 245.6, JT = 2 refers to 252.8, ! etc. The second index runs over the g-channel (1 to 16). selfrefo(:, 1) = (/ & & 0.160537e-01_rb, 0.149038e-01_rb, 0.138363e-01_rb, 0.128452e-01_rb, 0.119251e-01_rb, & & 0.110709e-01_rb, 0.102779e-01_rb, 0.954175e-02_rb, 0.885829e-02_rb, 0.822379e-02_rb /) selfrefo(:, 2) = (/ & & 0.365753e-01_rb, 0.342267e-01_rb, 0.320288e-01_rb, 0.299720e-01_rb, 0.280474e-01_rb, & & 0.262463e-01_rb, 0.245609e-01_rb, 0.229837e-01_rb, 0.215078e-01_rb, 0.201267e-01_rb /) selfrefo(:, 3) = (/ & & 0.127419e+00_rb, 0.118553e+00_rb, 0.110304e+00_rb, 0.102629e+00_rb, 0.954883e-01_rb, & & 0.888442e-01_rb, 0.826624e-01_rb, 0.769107e-01_rb, 0.715593e-01_rb, 0.665802e-01_rb /) selfrefo(:, 4) = (/ & & 0.378687e+00_rb, 0.348961e+00_rb, 0.321568e+00_rb, 0.296325e+00_rb, 0.273064e+00_rb, & & 0.251629e+00_rb, 0.231876e+00_rb, 0.213674e+00_rb, 0.196901e+00_rb, 0.181444e+00_rb /) selfrefo(:, 5) = (/ & & 0.472822e+00_rb, 0.435018e+00_rb, 0.400236e+00_rb, 0.368236e+00_rb, 0.338794e+00_rb, & & 0.311706e+00_rb, 0.286783e+00_rb, 0.263854e+00_rb, 0.242757e+00_rb, 0.223348e+00_rb /) selfrefo(:, 6) = (/ & & 0.505620e+00_rb, 0.465050e+00_rb, 0.427736e+00_rb, 0.393416e+00_rb, 0.361849e+00_rb, & & 0.332815e+00_rb, 0.306111e+00_rb, 0.281550e+00_rb, 0.258959e+00_rb, 0.238181e+00_rb /) selfrefo(:, 7) = (/ & & 0.530488e+00_rb, 0.487993e+00_rb, 0.448902e+00_rb, 0.412943e+00_rb, 0.379864e+00_rb, & & 0.349434e+00_rb, 0.321443e+00_rb, 0.295694e+00_rb, 0.272007e+00_rb, 0.250218e+00_rb /) selfrefo(:, 8) = (/ & & 0.540222e+00_rb, 0.497746e+00_rb, 0.458610e+00_rb, 0.422551e+00_rb, 0.389327e+00_rb, & & 0.358716e+00_rb, 0.330511e+00_rb, 0.304524e+00_rb, 0.280580e+00_rb, 0.258519e+00_rb /) selfrefo(:, 9) = (/ & & 0.565727e+00_rb, 0.522899e+00_rb, 0.483313e+00_rb, 0.446724e+00_rb, 0.412905e+00_rb, & & 0.381646e+00_rb, 0.352753e+00_rb, 0.326048e+00_rb, 0.301365e+00_rb, 0.278550e+00_rb /) selfrefo(:,10) = (/ & & 0.610122e+00_rb, 0.562337e+00_rb, 0.518295e+00_rb, 0.477702e+00_rb, 0.440289e+00_rb, & & 0.405806e+00_rb, 0.374023e+00_rb, 0.344730e+00_rb, 0.317730e+00_rb, 0.292846e+00_rb /) selfrefo(:,11) = (/ & & 0.645176e+00_rb, 0.588957e+00_rb, 0.537636e+00_rb, 0.490788e+00_rb, 0.448022e+00_rb, & & 0.408982e+00_rb, 0.373344e+00_rb, 0.340812e+00_rb, 0.311114e+00_rb, 0.284004e+00_rb /) selfrefo(:,12) = (/ & & 0.651737e+00_rb, 0.596547e+00_rb, 0.546031e+00_rb, 0.499792e+00_rb, 0.457469e+00_rb, & & 0.418730e+00_rb, 0.383272e+00_rb, 0.350816e+00_rb, 0.321108e+00_rb, 0.293916e+00_rb /) selfrefo(:,13) = (/ & & 0.661086e+00_rb, 0.607954e+00_rb, 0.559093e+00_rb, 0.514159e+00_rb, 0.472836e+00_rb, & & 0.434834e+00_rb, 0.399886e+00_rb, 0.367747e+00_rb, 0.338191e+00_rb, 0.311011e+00_rb /) selfrefo(:,14) = (/ & & 0.692554e+00_rb, 0.635574e+00_rb, 0.583282e+00_rb, 0.535293e+00_rb, 0.491251e+00_rb, & & 0.450834e+00_rb, 0.413741e+00_rb, 0.379701e+00_rb, 0.348461e+00_rb, 0.319791e+00_rb /) selfrefo(:,15) = (/ & & 0.714646e+00_rb, 0.657179e+00_rb, 0.604334e+00_rb, 0.555737e+00_rb, 0.511049e+00_rb, & & 0.469954e+00_rb, 0.432164e+00_rb, 0.397412e+00_rb, 0.365455e+00_rb, 0.336068e+00_rb /) selfrefo(:,16) = (/ & & 0.782126e+00_rb, 0.710682e+00_rb, 0.645764e+00_rb, 0.586776e+00_rb, 0.533177e+00_rb, & & 0.484473e+00_rb, 0.440219e+00_rb, 0.400007e+00_rb, 0.363468e+00_rb, 0.330266e+00_rb /) end subroutine sw_kgb17 ! ************************************************************************** subroutine sw_kgb18 ! ************************************************************************** use parkind, only : im => kind_im, rb => kind_rb use rrsw_kg18, only : kao, kbo, selfrefo, forrefo, sfluxrefo, rayl implicit none save ! Kurucz solar source function sfluxrefo(:,1) = (/ & & 3.65840_rb , 3.54375_rb , 3.34481_rb , 3.10534_rb , & & 2.79879_rb , 2.42841_rb , 1.98748_rb , 1.49377_rb , & & 1.00196_rb , 0.108342_rb , 8.95099e-02_rb, 7.05199e-02_rb, & & 5.16432e-02_rb, 3.27635e-02_rb, 1.25133e-02_rb, 1.73001e-03_rb /) sfluxrefo(:,2) = (/ & & 3.86372_rb , 3.48521_rb , 3.30790_rb , 3.08103_rb , & & 2.77552_rb , 2.40722_rb , 1.97307_rb , 1.48023_rb , & & 0.993055_rb , 0.107691_rb , 8.84430e-02_rb, 6.99354e-02_rb, & & 5.07881e-02_rb, 3.24121e-02_rb, 1.19442e-02_rb, 1.57612e-03_rb /) sfluxrefo(:,3) = (/ & & 3.90370_rb , 3.50657_rb , 3.30629_rb , 3.06046_rb , & & 2.76982_rb , 2.39907_rb , 1.96358_rb , 1.47458_rb , & & 0.988475_rb , 0.106698_rb , 8.75242e-02_rb, 6.85898e-02_rb, & & 5.04798e-02_rb, 3.13718e-02_rb, 1.09533e-02_rb, 1.57612e-03_rb /) sfluxrefo(:,4) = (/ & & 3.93165_rb , 3.52058_rb , 3.31346_rb , 3.04944_rb , & & 2.76074_rb , 2.39433_rb , 1.95556_rb , 1.46712_rb , & & 0.984056_rb , 0.105885_rb , 8.73062e-02_rb, 6.84054e-02_rb, & & 4.87443e-02_rb, 2.99295e-02_rb, 1.09533e-02_rb, 1.57612e-03_rb /) sfluxrefo(:,5) = (/ & & 3.94082_rb , 3.55221_rb , 3.31863_rb , 3.04730_rb , & & 2.74918_rb , 2.38328_rb , 1.95212_rb , 1.45889_rb , & & 0.978888_rb , 0.105102_rb , 8.65732e-02_rb, 6.74563e-02_rb, & & 4.76592e-02_rb, 2.91017e-02_rb, 1.09533e-02_rb, 1.57612e-03_rb /) sfluxrefo(:,6) = (/ & & 3.94198_rb , 3.58743_rb , 3.32106_rb , 3.05866_rb , & & 2.74115_rb , 2.36939_rb , 1.94305_rb , 1.45180_rb , & & 0.971784_rb , 1.04045e-01_rb, 8.53731e-02_rb, 6.60654e-02_rb, & & 4.63228e-02_rb, 2.91016e-02_rb, 1.09552e-02_rb, 1.57612e-03_rb /) sfluxrefo(:,7) = (/ & & 3.93596_rb , 3.63366_rb , 3.33144_rb , 3.06252_rb , & & 2.74054_rb , 2.35492_rb , 1.92769_rb , 1.44300_rb , & & 0.961809_rb , 1.02867e-01_rb, 8.34164e-02_rb, 6.41005e-02_rb, & & 4.61826e-02_rb, 2.91006e-02_rb, 1.09553e-02_rb, 1.57612e-03_rb /) sfluxrefo(:,8) = (/ & & 3.92520_rb , 3.69078_rb , 3.35656_rb , 3.07055_rb , & & 2.73862_rb , 2.34430_rb , 1.90187_rb , 1.42242_rb , & & 0.946676_rb , 9.96302e-02_rb, 8.14421e-02_rb, 6.38622e-02_rb, & & 4.61794e-02_rb, 2.91017e-02_rb, 1.09553e-02_rb, 1.57612e-03_rb /) sfluxrefo(:,9) = (/ & & 3.80721_rb , 3.74437_rb , 3.50205_rb , 3.18009_rb , & & 2.75757_rb , 2.29188_rb , 1.84382_rb , 1.35694_rb , & & 0.914040_rb , 9.86811e-02_rb, 8.14321e-02_rb, 6.38541e-02_rb, & & 4.61795e-02_rb, 2.90960e-02_rb, 1.09613e-02_rb, 1.57612e-03_rb /) ! Rayleigh extinction coefficient at v = 4325 cm-1. rayl = 1.39e-09_rb ! ------------------------------------------------------------------ ! The array KAO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels> ~100mb, temperatures, and binary ! species parameters (see taumol.f for definition). The first ! index in the array, JS, runs from 1 to 9, and corresponds to ! different values of the binary species parameter. For instance, ! JS=1 refers to dry air, JS = 2 corresponds to the paramter value 1/8, ! JS = 3 corresponds to the parameter value 2/8, etc. The second index ! in the array, JT, which runs from 1 to 5, corresponds to different ! temperatures. More specifically, JT = 3 means that the data are for ! the reference temperature TREF for this pressure level, JT = 2 refers ! to TREF-15, JT = 1 is for TREF-30, JT = 4 is for TREF+15, and JT = 5 ! is for TREF+30. The third index, JP, runs from 1 to 13 and refers ! to the JPth reference pressure level (see taumol.f for these levels ! in mb). The fourth index, IG, goes from 1 to 16, and indicates ! which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kao(:, 1, 1, 1) = (/ & & 0.14813e-04_rb,0.39842e-04_rb,0.43362e-04_rb,0.43095e-04_rb,0.39811e-04_rb, & & 0.34994e-04_rb,0.28984e-04_rb,0.20609e-04_rb,0.18845e-05_rb /) kao(:, 2, 1, 1) = (/ & & 0.14432e-04_rb,0.38749e-04_rb,0.42119e-04_rb,0.41834e-04_rb,0.38900e-04_rb, & & 0.34365e-04_rb,0.28571e-04_rb,0.20503e-04_rb,0.14715e-05_rb /) kao(:, 3, 1, 1) = (/ & & 0.13969e-04_rb,0.37666e-04_rb,0.40942e-04_rb,0.40703e-04_rb,0.37982e-04_rb, & & 0.33731e-04_rb,0.28158e-04_rb,0.20351e-04_rb,0.10842e-05_rb /) kao(:, 4, 1, 1) = (/ & & 0.13367e-04_rb,0.36605e-04_rb,0.39729e-04_rb,0.39529e-04_rb,0.37033e-04_rb, & & 0.33096e-04_rb,0.27690e-04_rb,0.20154e-04_rb,0.78702e-06_rb /) kao(:, 5, 1, 1) = (/ & & 0.12765e-04_rb,0.35584e-04_rb,0.38536e-04_rb,0.38361e-04_rb,0.36073e-04_rb, & & 0.32384e-04_rb,0.27242e-04_rb,0.19932e-04_rb,0.58296e-06_rb /) kao(:, 1, 2, 1) = (/ & & 0.12299e-04_rb,0.34179e-04_rb,0.37405e-04_rb,0.37535e-04_rb,0.34714e-04_rb, & & 0.30335e-04_rb,0.24892e-04_rb,0.17524e-04_rb,0.13301e-05_rb /) kao(:, 2, 2, 1) = (/ & & 0.12064e-04_rb,0.33225e-04_rb,0.36357e-04_rb,0.36512e-04_rb,0.33870e-04_rb, & & 0.29789e-04_rb,0.24578e-04_rb,0.17435e-04_rb,0.10217e-05_rb /) kao(:, 3, 2, 1) = (/ & & 0.11697e-04_rb,0.32301e-04_rb,0.35316e-04_rb,0.35481e-04_rb,0.33049e-04_rb, & & 0.29226e-04_rb,0.24233e-04_rb,0.17304e-04_rb,0.72152e-06_rb /) kao(:, 4, 2, 1) = (/ & & 0.11209e-04_rb,0.31395e-04_rb,0.34263e-04_rb,0.34436e-04_rb,0.32173e-04_rb, & & 0.28610e-04_rb,0.23847e-04_rb,0.17161e-04_rb,0.51787e-06_rb /) kao(:, 5, 2, 1) = (/ & & 0.10706e-04_rb,0.30496e-04_rb,0.33311e-04_rb,0.33396e-04_rb,0.31295e-04_rb, & & 0.28002e-04_rb,0.23445e-04_rb,0.16971e-04_rb,0.40230e-06_rb /) kao(:, 1, 3, 1) = (/ & & 0.10271e-04_rb,0.29273e-04_rb,0.32049e-04_rb,0.32365e-04_rb,0.29857e-04_rb, & & 0.26171e-04_rb,0.21352e-04_rb,0.14814e-04_rb,0.80470e-06_rb /) kao(:, 2, 3, 1) = (/ & & 0.10058e-04_rb,0.28458e-04_rb,0.31196e-04_rb,0.31440e-04_rb,0.29133e-04_rb, & & 0.25640e-04_rb,0.21056e-04_rb,0.14756e-04_rb,0.53010e-06_rb /) kao(:, 3, 3, 1) = (/ & & 0.98172e-05_rb,0.27651e-04_rb,0.30352e-04_rb,0.30609e-04_rb,0.28396e-04_rb, & & 0.25110e-04_rb,0.20730e-04_rb,0.14655e-04_rb,0.38652e-06_rb /) kao(:, 4, 3, 1) = (/ & & 0.94577e-05_rb,0.26874e-04_rb,0.29475e-04_rb,0.29749e-04_rb,0.27669e-04_rb, & & 0.24553e-04_rb,0.20400e-04_rb,0.14536e-04_rb,0.33236e-06_rb /) kao(:, 5, 3, 1) = (/ & & 0.90508e-05_rb,0.26128e-04_rb,0.28631e-04_rb,0.28834e-04_rb,0.26952e-04_rb, & & 0.24015e-04_rb,0.20045e-04_rb,0.14382e-04_rb,0.30659e-06_rb /) kao(:, 1, 4, 1) = (/ & & 0.86081e-05_rb,0.24897e-04_rb,0.27317e-04_rb,0.27632e-04_rb,0.25465e-04_rb, & & 0.22328e-04_rb,0.18112e-04_rb,0.12468e-04_rb,0.39286e-06_rb /) kao(:, 2, 4, 1) = (/ & & 0.83793e-05_rb,0.24273e-04_rb,0.26590e-04_rb,0.26865e-04_rb,0.24876e-04_rb, & & 0.21867e-04_rb,0.17849e-04_rb,0.12420e-04_rb,0.32266e-06_rb /) kao(:, 3, 4, 1) = (/ & & 0.82296e-05_rb,0.23584e-04_rb,0.25869e-04_rb,0.26155e-04_rb,0.24255e-04_rb, & & 0.21403e-04_rb,0.17579e-04_rb,0.12338e-04_rb,0.30775e-06_rb /) kao(:, 4, 4, 1) = (/ & & 0.79731e-05_rb,0.22915e-04_rb,0.25166e-04_rb,0.25435e-04_rb,0.23627e-04_rb, & & 0.20917e-04_rb,0.17282e-04_rb,0.12242e-04_rb,0.30418e-06_rb /) kao(:, 5, 4, 1) = (/ & & 0.76553e-05_rb,0.22259e-04_rb,0.24440e-04_rb,0.24673e-04_rb,0.23003e-04_rb, & & 0.20437e-04_rb,0.16984e-04_rb,0.12112e-04_rb,0.30638e-06_rb /) kao(:, 1, 5, 1) = (/ & & 0.72259e-05_rb,0.21089e-04_rb,0.23177e-04_rb,0.23419e-04_rb,0.21584e-04_rb, & & 0.18926e-04_rb,0.15251e-04_rb,0.10417e-04_rb,0.25170e-06_rb /) kao(:, 2, 5, 1) = (/ & & 0.70215e-05_rb,0.20567e-04_rb,0.22541e-04_rb,0.22788e-04_rb,0.21102e-04_rb, & & 0.18526e-04_rb,0.15049e-04_rb,0.10379e-04_rb,0.25958e-06_rb /) kao(:, 3, 5, 1) = (/ & & 0.68490e-05_rb,0.20018e-04_rb,0.21938e-04_rb,0.22206e-04_rb,0.20579e-04_rb, & & 0.18139e-04_rb,0.14806e-04_rb,0.10313e-04_rb,0.26666e-06_rb /) kao(:, 4, 5, 1) = (/ & & 0.66973e-05_rb,0.19444e-04_rb,0.21340e-04_rb,0.21615e-04_rb,0.20070e-04_rb, & & 0.17728e-04_rb,0.14554e-04_rb,0.10239e-04_rb,0.28589e-06_rb /) kao(:, 5, 5, 1) = (/ & & 0.64808e-05_rb,0.18883e-04_rb,0.20738e-04_rb,0.20994e-04_rb,0.19546e-04_rb, & & 0.17304e-04_rb,0.14306e-04_rb,0.10148e-04_rb,0.30886e-06_rb /) kao(:, 1, 6, 1) = (/ & & 0.60727e-05_rb,0.17794e-04_rb,0.19609e-04_rb,0.19769e-04_rb,0.18228e-04_rb, & & 0.15946e-04_rb,0.12793e-04_rb,0.86559e-05_rb,0.18559e-06_rb /) kao(:, 2, 6, 1) = (/ & & 0.58949e-05_rb,0.17390e-04_rb,0.19059e-04_rb,0.19244e-04_rb,0.17820e-04_rb, & & 0.15647e-04_rb,0.12626e-04_rb,0.86354e-05_rb,0.19544e-06_rb /) kao(:, 3, 6, 1) = (/ & & 0.57268e-05_rb,0.16935e-04_rb,0.18564e-04_rb,0.18724e-04_rb,0.17402e-04_rb, & & 0.15304e-04_rb,0.12433e-04_rb,0.85882e-05_rb,0.22033e-06_rb /) kao(:, 4, 6, 1) = (/ & & 0.56243e-05_rb,0.16459e-04_rb,0.18054e-04_rb,0.18263e-04_rb,0.16984e-04_rb, & & 0.14971e-04_rb,0.12215e-04_rb,0.85268e-05_rb,0.25072e-06_rb /) kao(:, 5, 6, 1) = (/ & & 0.54584e-05_rb,0.15984e-04_rb,0.17548e-04_rb,0.17773e-04_rb,0.16551e-04_rb, & & 0.14601e-04_rb,0.12004e-04_rb,0.84568e-05_rb,0.28110e-06_rb /) kao(:, 1, 7, 1) = (/ & & 0.50624e-05_rb,0.14963e-04_rb,0.16482e-04_rb,0.16611e-04_rb,0.15339e-04_rb, & & 0.13333e-04_rb,0.10656e-04_rb,0.71570e-05_rb,0.13453e-06_rb /) kao(:, 2, 7, 1) = (/ & & 0.49428e-05_rb,0.14636e-04_rb,0.16040e-04_rb,0.16181e-04_rb,0.14992e-04_rb, & & 0.13144e-04_rb,0.10533e-04_rb,0.71532e-05_rb,0.15620e-06_rb /) kao(:, 3, 7, 1) = (/ & & 0.47955e-05_rb,0.14256e-04_rb,0.15611e-04_rb,0.15735e-04_rb,0.14643e-04_rb, & & 0.12865e-04_rb,0.10390e-04_rb,0.71248e-05_rb,0.18571e-06_rb /) kao(:, 4, 7, 1) = (/ & & 0.46743e-05_rb,0.13876e-04_rb,0.15213e-04_rb,0.15342e-04_rb,0.14293e-04_rb, & & 0.12576e-04_rb,0.10215e-04_rb,0.70735e-05_rb,0.21382e-06_rb /) kao(:, 5, 7, 1) = (/ & & 0.45708e-05_rb,0.13473e-04_rb,0.14782e-04_rb,0.14947e-04_rb,0.13933e-04_rb, & & 0.12274e-04_rb,0.10036e-04_rb,0.70177e-05_rb,0.24419e-06_rb /) kao(:, 1, 8, 1) = (/ & & 0.42289e-05_rb,0.12528e-04_rb,0.13817e-04_rb,0.13922e-04_rb,0.12867e-04_rb, & & 0.11126e-04_rb,0.88468e-05_rb,0.59010e-05_rb,0.10600e-06_rb /) kao(:, 2, 8, 1) = (/ & & 0.41319e-05_rb,0.12286e-04_rb,0.13480e-04_rb,0.13582e-04_rb,0.12584e-04_rb, & & 0.10973e-04_rb,0.87644e-05_rb,0.59049e-05_rb,0.12951e-06_rb /) kao(:, 3, 8, 1) = (/ & & 0.40317e-05_rb,0.11996e-04_rb,0.13116e-04_rb,0.13206e-04_rb,0.12295e-04_rb, & & 0.10786e-04_rb,0.86537e-05_rb,0.58898e-05_rb,0.15731e-06_rb /) kao(:, 4, 8, 1) = (/ & & 0.39107e-05_rb,0.11666e-04_rb,0.12771e-04_rb,0.12870e-04_rb,0.12010e-04_rb, & & 0.10546e-04_rb,0.85244e-05_rb,0.58536e-05_rb,0.18716e-06_rb /) kao(:, 5, 8, 1) = (/ & & 0.38384e-05_rb,0.11346e-04_rb,0.12435e-04_rb,0.12549e-04_rb,0.11706e-04_rb, & & 0.10289e-04_rb,0.83756e-05_rb,0.58104e-05_rb,0.21679e-06_rb /) kao(:, 1, 9, 1) = (/ & & 0.35240e-05_rb,0.10418e-04_rb,0.11558e-04_rb,0.11687e-04_rb,0.10748e-04_rb, & & 0.92305e-05_rb,0.73198e-05_rb,0.48514e-05_rb,0.10176e-06_rb /) kao(:, 2, 9, 1) = (/ & & 0.34478e-05_rb,0.10296e-04_rb,0.11296e-04_rb,0.11369e-04_rb,0.10532e-04_rb, & & 0.91375e-05_rb,0.72737e-05_rb,0.48639e-05_rb,0.12695e-06_rb /) kao(:, 3, 9, 1) = (/ & & 0.33718e-05_rb,0.10068e-04_rb,0.10996e-04_rb,0.11063e-04_rb,0.10290e-04_rb, & & 0.89957e-05_rb,0.71844e-05_rb,0.48583e-05_rb,0.15482e-06_rb /) kao(:, 4, 9, 1) = (/ & & 0.32801e-05_rb,0.97990e-05_rb,0.10712e-04_rb,0.10762e-04_rb,0.10056e-04_rb, & & 0.88255e-05_rb,0.70907e-05_rb,0.48364e-05_rb,0.18123e-06_rb /) kao(:, 5, 9, 1) = (/ & & 0.31960e-05_rb,0.95350e-05_rb,0.10427e-04_rb,0.10501e-04_rb,0.98056e-05_rb, & & 0.86157e-05_rb,0.69723e-05_rb,0.48010e-05_rb,0.20738e-06_rb /) kao(:, 1,10, 1) = (/ & & 0.29197e-05_rb,0.86183e-05_rb,0.96100e-05_rb,0.97448e-05_rb,0.89187e-05_rb, & & 0.76354e-05_rb,0.60318e-05_rb,0.39733e-05_rb,0.10310e-06_rb /) kao(:, 2,10, 1) = (/ & & 0.28677e-05_rb,0.85565e-05_rb,0.94191e-05_rb,0.94682e-05_rb,0.87653e-05_rb, & & 0.75725e-05_rb,0.60089e-05_rb,0.39956e-05_rb,0.12951e-06_rb /) kao(:, 3,10, 1) = (/ & & 0.28036e-05_rb,0.84121e-05_rb,0.91902e-05_rb,0.92251e-05_rb,0.85811e-05_rb, & & 0.74653e-05_rb,0.59452e-05_rb,0.39967e-05_rb,0.15684e-06_rb /) kao(:, 4,10, 1) = (/ & & 0.27420e-05_rb,0.82035e-05_rb,0.89440e-05_rb,0.89748e-05_rb,0.83817e-05_rb, & & 0.73422e-05_rb,0.58725e-05_rb,0.39844e-05_rb,0.18564e-06_rb /) kao(:, 5,10, 1) = (/ & & 0.26596e-05_rb,0.79739e-05_rb,0.87074e-05_rb,0.87508e-05_rb,0.81784e-05_rb, & & 0.71781e-05_rb,0.57815e-05_rb,0.39569e-05_rb,0.21476e-06_rb /) kao(:, 1,11, 1) = (/ & & 0.23988e-05_rb,0.71135e-05_rb,0.79121e-05_rb,0.80118e-05_rb,0.73370e-05_rb, & & 0.62844e-05_rb,0.49610e-05_rb,0.32641e-05_rb,0.91697e-07_rb /) kao(:, 2,11, 1) = (/ & & 0.23552e-05_rb,0.70587e-05_rb,0.77519e-05_rb,0.77821e-05_rb,0.72113e-05_rb, & & 0.62297e-05_rb,0.49407e-05_rb,0.32815e-05_rb,0.11307e-06_rb /) kao(:, 3,11, 1) = (/ & & 0.23046e-05_rb,0.69367e-05_rb,0.75662e-05_rb,0.75790e-05_rb,0.70631e-05_rb, & & 0.61409e-05_rb,0.48867e-05_rb,0.32812e-05_rb,0.13715e-06_rb /) kao(:, 4,11, 1) = (/ & & 0.22557e-05_rb,0.67632e-05_rb,0.73640e-05_rb,0.73772e-05_rb,0.68972e-05_rb, & & 0.60381e-05_rb,0.48254e-05_rb,0.32705e-05_rb,0.16436e-06_rb /) kao(:, 5,11, 1) = (/ & & 0.21899e-05_rb,0.65748e-05_rb,0.71695e-05_rb,0.71946e-05_rb,0.67295e-05_rb, & & 0.59022e-05_rb,0.47488e-05_rb,0.32476e-05_rb,0.19025e-06_rb /) kao(:, 1,12, 1) = (/ & & 0.19699e-05_rb,0.58670e-05_rb,0.65075e-05_rb,0.65808e-05_rb,0.60300e-05_rb, & & 0.51665e-05_rb,0.40749e-05_rb,0.26788e-05_rb,0.77100e-07_rb /) kao(:, 2,12, 1) = (/ & & 0.19348e-05_rb,0.58146e-05_rb,0.63730e-05_rb,0.63891e-05_rb,0.59260e-05_rb, & & 0.51196e-05_rb,0.40577e-05_rb,0.26926e-05_rb,0.95693e-07_rb /) kao(:, 3,12, 1) = (/ & & 0.18947e-05_rb,0.57134e-05_rb,0.62207e-05_rb,0.62238e-05_rb,0.58090e-05_rb, & & 0.50459e-05_rb,0.40113e-05_rb,0.26916e-05_rb,0.11572e-06_rb /) kao(:, 4,12, 1) = (/ & & 0.18552e-05_rb,0.55709e-05_rb,0.60522e-05_rb,0.60611e-05_rb,0.56693e-05_rb, & & 0.49594e-05_rb,0.39606e-05_rb,0.26824e-05_rb,0.13797e-06_rb /) kao(:, 5,12, 1) = (/ & & 0.18040e-05_rb,0.54137e-05_rb,0.58935e-05_rb,0.59096e-05_rb,0.55294e-05_rb, & & 0.48443e-05_rb,0.38977e-05_rb,0.26633e-05_rb,0.15884e-06_rb /) kao(:, 1,13, 1) = (/ & & 0.16167e-05_rb,0.48272e-05_rb,0.53475e-05_rb,0.53983e-05_rb,0.49503e-05_rb, & & 0.42413e-05_rb,0.33431e-05_rb,0.21956e-05_rb,0.61381e-07_rb /) kao(:, 2,13, 1) = (/ & & 0.15895e-05_rb,0.47809e-05_rb,0.52342e-05_rb,0.52409e-05_rb,0.48652e-05_rb, & & 0.42021e-05_rb,0.33263e-05_rb,0.22072e-05_rb,0.76382e-07_rb /) kao(:, 3,13, 1) = (/ & & 0.15582e-05_rb,0.46982e-05_rb,0.51055e-05_rb,0.51058e-05_rb,0.47716e-05_rb, & & 0.41406e-05_rb,0.32886e-05_rb,0.22058e-05_rb,0.93083e-07_rb /) kao(:, 4,13, 1) = (/ & & 0.15242e-05_rb,0.45831e-05_rb,0.49696e-05_rb,0.49735e-05_rb,0.46534e-05_rb, & & 0.40678e-05_rb,0.32469e-05_rb,0.21969e-05_rb,0.11211e-06_rb /) kao(:, 5,13, 1) = (/ & & 0.14859e-05_rb,0.44492e-05_rb,0.48392e-05_rb,0.48479e-05_rb,0.45378e-05_rb, & & 0.39689e-05_rb,0.31933e-05_rb,0.21813e-05_rb,0.12970e-06_rb /) kao(:, 1, 1, 2) = (/ & & 0.10138e-03_rb,0.20456e-03_rb,0.22117e-03_rb,0.21948e-03_rb,0.20805e-03_rb, & & 0.18373e-03_rb,0.14999e-03_rb,0.95382e-04_rb,0.33213e-05_rb /) kao(:, 2, 1, 2) = (/ & & 0.10141e-03_rb,0.20889e-03_rb,0.22456e-03_rb,0.22223e-03_rb,0.20912e-03_rb, & & 0.18467e-03_rb,0.15060e-03_rb,0.95713e-04_rb,0.28479e-05_rb /) kao(:, 3, 1, 2) = (/ & & 0.10125e-03_rb,0.21223e-03_rb,0.22712e-03_rb,0.22388e-03_rb,0.20983e-03_rb, & & 0.18513e-03_rb,0.15100e-03_rb,0.95881e-04_rb,0.26338e-05_rb /) kao(:, 4, 1, 2) = (/ & & 0.10105e-03_rb,0.21442e-03_rb,0.22863e-03_rb,0.22421e-03_rb,0.21046e-03_rb, & & 0.18540e-03_rb,0.15060e-03_rb,0.95798e-04_rb,0.27638e-05_rb /) kao(:, 5, 1, 2) = (/ & & 0.10040e-03_rb,0.21612e-03_rb,0.22899e-03_rb,0.22416e-03_rb,0.21046e-03_rb, & & 0.18570e-03_rb,0.15001e-03_rb,0.95569e-04_rb,0.29313e-05_rb /) kao(:, 1, 2, 2) = (/ & & 0.89639e-04_rb,0.17797e-03_rb,0.19284e-03_rb,0.18986e-03_rb,0.17824e-03_rb, & & 0.15789e-03_rb,0.12906e-03_rb,0.83524e-04_rb,0.23926e-05_rb /) kao(:, 2, 2, 2) = (/ & & 0.89499e-04_rb,0.18144e-03_rb,0.19563e-03_rb,0.19227e-03_rb,0.17941e-03_rb, & & 0.15844e-03_rb,0.12961e-03_rb,0.83632e-04_rb,0.21969e-05_rb /) kao(:, 3, 2, 2) = (/ & & 0.89411e-04_rb,0.18401e-03_rb,0.19753e-03_rb,0.19350e-03_rb,0.17999e-03_rb, & & 0.15883e-03_rb,0.12989e-03_rb,0.83577e-04_rb,0.23158e-05_rb /) kao(:, 4, 2, 2) = (/ & & 0.88841e-04_rb,0.18541e-03_rb,0.19872e-03_rb,0.19398e-03_rb,0.18053e-03_rb, & & 0.15907e-03_rb,0.12972e-03_rb,0.83396e-04_rb,0.23760e-05_rb /) kao(:, 5, 2, 2) = (/ & & 0.87949e-04_rb,0.18659e-03_rb,0.19902e-03_rb,0.19407e-03_rb,0.18073e-03_rb, & & 0.15910e-03_rb,0.12937e-03_rb,0.83120e-04_rb,0.25247e-05_rb /) kao(:, 1, 3, 2) = (/ & & 0.77466e-04_rb,0.15264e-03_rb,0.16704e-03_rb,0.16342e-03_rb,0.15300e-03_rb, & & 0.13499e-03_rb,0.11007e-03_rb,0.71881e-04_rb,0.17839e-05_rb /) kao(:, 2, 3, 2) = (/ & & 0.77483e-04_rb,0.15611e-03_rb,0.16950e-03_rb,0.16551e-03_rb,0.15408e-03_rb, & & 0.13580e-03_rb,0.11055e-03_rb,0.72020e-04_rb,0.18564e-05_rb /) kao(:, 3, 3, 2) = (/ & & 0.77142e-04_rb,0.15867e-03_rb,0.17112e-03_rb,0.16672e-03_rb,0.15481e-03_rb, & & 0.13616e-03_rb,0.11077e-03_rb,0.71922e-04_rb,0.20228e-05_rb /) kao(:, 4, 3, 2) = (/ & & 0.76460e-04_rb,0.16058e-03_rb,0.17186e-03_rb,0.16717e-03_rb,0.15519e-03_rb, & & 0.13641e-03_rb,0.11060e-03_rb,0.71775e-04_rb,0.21717e-05_rb /) kao(:, 5, 3, 2) = (/ & & 0.75510e-04_rb,0.16158e-03_rb,0.17210e-03_rb,0.16730e-03_rb,0.15521e-03_rb, & & 0.13649e-03_rb,0.11022e-03_rb,0.71516e-04_rb,0.23140e-05_rb /) kao(:, 1, 4, 2) = (/ & & 0.65931e-04_rb,0.12940e-03_rb,0.14295e-03_rb,0.14005e-03_rb,0.13095e-03_rb, & & 0.11494e-03_rb,0.93656e-04_rb,0.61167e-04_rb,0.17094e-05_rb /) kao(:, 2, 4, 2) = (/ & & 0.66090e-04_rb,0.13269e-03_rb,0.14542e-03_rb,0.14233e-03_rb,0.13201e-03_rb, & & 0.11558e-03_rb,0.93975e-04_rb,0.61436e-04_rb,0.18527e-05_rb /) kao(:, 3, 4, 2) = (/ & & 0.65630e-04_rb,0.13532e-03_rb,0.14717e-03_rb,0.14364e-03_rb,0.13266e-03_rb, & & 0.11604e-03_rb,0.94126e-04_rb,0.61467e-04_rb,0.19576e-05_rb /) kao(:, 4, 4, 2) = (/ & & 0.64971e-04_rb,0.13708e-03_rb,0.14818e-03_rb,0.14427e-03_rb,0.13304e-03_rb, & & 0.11616e-03_rb,0.94152e-04_rb,0.61334e-04_rb,0.20614e-05_rb /) kao(:, 5, 4, 2) = (/ & & 0.64122e-04_rb,0.13834e-03_rb,0.14864e-03_rb,0.14451e-03_rb,0.13312e-03_rb, & & 0.11638e-03_rb,0.93955e-04_rb,0.61162e-04_rb,0.21640e-05_rb /) kao(:, 1, 5, 2) = (/ & & 0.55594e-04_rb,0.10830e-03_rb,0.12068e-03_rb,0.11865e-03_rb,0.11127e-03_rb, & & 0.97925e-04_rb,0.79208e-04_rb,0.51842e-04_rb,0.15954e-05_rb /) kao(:, 2, 5, 2) = (/ & & 0.55669e-04_rb,0.11117e-03_rb,0.12299e-03_rb,0.12091e-03_rb,0.11248e-03_rb, & & 0.98643e-04_rb,0.79433e-04_rb,0.52127e-04_rb,0.16966e-05_rb /) kao(:, 3, 5, 2) = (/ & & 0.55430e-04_rb,0.11345e-03_rb,0.12478e-03_rb,0.12235e-03_rb,0.11332e-03_rb, & & 0.99117e-04_rb,0.79823e-04_rb,0.52286e-04_rb,0.18304e-05_rb /) kao(:, 4, 5, 2) = (/ & & 0.54800e-04_rb,0.11543e-03_rb,0.12601e-03_rb,0.12304e-03_rb,0.11389e-03_rb, & & 0.99346e-04_rb,0.79935e-04_rb,0.52275e-04_rb,0.19479e-05_rb /) kao(:, 5, 5, 2) = (/ & & 0.54027e-04_rb,0.11665e-03_rb,0.12660e-03_rb,0.12339e-03_rb,0.11410e-03_rb, & & 0.99535e-04_rb,0.79840e-04_rb,0.52168e-04_rb,0.20583e-05_rb /) kao(:, 1, 6, 2) = (/ & & 0.46500e-04_rb,0.89887e-04_rb,0.10048e-03_rb,0.99161e-04_rb,0.93136e-04_rb, & & 0.82279e-04_rb,0.66872e-04_rb,0.43617e-04_rb,0.14730e-05_rb /) kao(:, 2, 6, 2) = (/ & & 0.46632e-04_rb,0.92444e-04_rb,0.10271e-03_rb,0.10123e-03_rb,0.94559e-04_rb, & & 0.83135e-04_rb,0.67204e-04_rb,0.44046e-04_rb,0.16215e-05_rb /) kao(:, 3, 6, 2) = (/ & & 0.46490e-04_rb,0.94415e-04_rb,0.10446e-03_rb,0.10269e-03_rb,0.95387e-04_rb, & & 0.83676e-04_rb,0.67579e-04_rb,0.44279e-04_rb,0.17358e-05_rb /) kao(:, 4, 6, 2) = (/ & & 0.46004e-04_rb,0.96190e-04_rb,0.10570e-03_rb,0.10346e-03_rb,0.95883e-04_rb, & & 0.84038e-04_rb,0.67753e-04_rb,0.44348e-04_rb,0.18096e-05_rb /) kao(:, 5, 6, 2) = (/ & & 0.45362e-04_rb,0.97511e-04_rb,0.10645e-03_rb,0.10384e-03_rb,0.96197e-04_rb, & & 0.84347e-04_rb,0.67758e-04_rb,0.44305e-04_rb,0.18882e-05_rb /) kao(:, 1, 7, 2) = (/ & & 0.38597e-04_rb,0.74019e-04_rb,0.82882e-04_rb,0.81807e-04_rb,0.76936e-04_rb, & & 0.68278e-04_rb,0.55744e-04_rb,0.36507e-04_rb,0.13400e-05_rb /) kao(:, 2, 7, 2) = (/ & & 0.38728e-04_rb,0.76353e-04_rb,0.85030e-04_rb,0.83822e-04_rb,0.78523e-04_rb, & & 0.69221e-04_rb,0.56199e-04_rb,0.36932e-04_rb,0.14766e-05_rb /) kao(:, 3, 7, 2) = (/ & & 0.38688e-04_rb,0.78164e-04_rb,0.86691e-04_rb,0.85269e-04_rb,0.79424e-04_rb, & & 0.69849e-04_rb,0.56507e-04_rb,0.37211e-04_rb,0.16077e-05_rb /) kao(:, 4, 7, 2) = (/ & & 0.38399e-04_rb,0.79654e-04_rb,0.87882e-04_rb,0.86145e-04_rb,0.79917e-04_rb, & & 0.70214e-04_rb,0.56698e-04_rb,0.37302e-04_rb,0.17365e-05_rb /) kao(:, 5, 7, 2) = (/ & & 0.37899e-04_rb,0.81012e-04_rb,0.88706e-04_rb,0.86589e-04_rb,0.80259e-04_rb, & & 0.70429e-04_rb,0.56810e-04_rb,0.37287e-04_rb,0.18595e-05_rb /) kao(:, 1, 8, 2) = (/ & & 0.31959e-04_rb,0.60671e-04_rb,0.67963e-04_rb,0.67053e-04_rb,0.63057e-04_rb, & & 0.56287e-04_rb,0.46187e-04_rb,0.30298e-04_rb,0.12071e-05_rb /) kao(:, 2, 8, 2) = (/ & & 0.32062e-04_rb,0.62753e-04_rb,0.69892e-04_rb,0.68941e-04_rb,0.64624e-04_rb, & & 0.57187e-04_rb,0.46566e-04_rb,0.30687e-04_rb,0.13582e-05_rb /) kao(:, 3, 8, 2) = (/ & & 0.32098e-04_rb,0.64435e-04_rb,0.71423e-04_rb,0.70359e-04_rb,0.65646e-04_rb, & & 0.57882e-04_rb,0.46897e-04_rb,0.30993e-04_rb,0.15217e-05_rb /) kao(:, 4, 8, 2) = (/ & & 0.31956e-04_rb,0.65758e-04_rb,0.72650e-04_rb,0.71275e-04_rb,0.66275e-04_rb, & & 0.58298e-04_rb,0.47100e-04_rb,0.31079e-04_rb,0.16794e-05_rb /) kao(:, 5, 8, 2) = (/ & & 0.31584e-04_rb,0.66916e-04_rb,0.73502e-04_rb,0.71819e-04_rb,0.66611e-04_rb, & & 0.58505e-04_rb,0.47243e-04_rb,0.31088e-04_rb,0.18250e-05_rb /) kao(:, 1, 9, 2) = (/ & & 0.26355e-04_rb,0.49472e-04_rb,0.55415e-04_rb,0.54584e-04_rb,0.51361e-04_rb, & & 0.46135e-04_rb,0.38027e-04_rb,0.24983e-04_rb,0.13549e-05_rb /) kao(:, 2, 9, 2) = (/ & & 0.26472e-04_rb,0.51302e-04_rb,0.57165e-04_rb,0.56417e-04_rb,0.52936e-04_rb, & & 0.47048e-04_rb,0.38417e-04_rb,0.25347e-04_rb,0.14941e-05_rb /) kao(:, 3, 9, 2) = (/ & & 0.26545e-04_rb,0.52866e-04_rb,0.58563e-04_rb,0.57776e-04_rb,0.53988e-04_rb, & & 0.47706e-04_rb,0.38739e-04_rb,0.25638e-04_rb,0.16563e-05_rb /) kao(:, 4, 9, 2) = (/ & & 0.26469e-04_rb,0.54105e-04_rb,0.59749e-04_rb,0.58746e-04_rb,0.54668e-04_rb, & & 0.48161e-04_rb,0.38970e-04_rb,0.25744e-04_rb,0.18262e-05_rb /) kao(:, 5, 9, 2) = (/ & & 0.26248e-04_rb,0.55079e-04_rb,0.60619e-04_rb,0.59317e-04_rb,0.55099e-04_rb, & & 0.48435e-04_rb,0.39115e-04_rb,0.25778e-04_rb,0.20238e-05_rb /) kao(:, 1,10, 2) = (/ & & 0.21631e-04_rb,0.40297e-04_rb,0.45170e-04_rb,0.44298e-04_rb,0.41876e-04_rb, & & 0.37690e-04_rb,0.31212e-04_rb,0.20552e-04_rb,0.16328e-05_rb /) kao(:, 2,10, 2) = (/ & & 0.21814e-04_rb,0.41896e-04_rb,0.46681e-04_rb,0.46065e-04_rb,0.43227e-04_rb, & & 0.38608e-04_rb,0.31614e-04_rb,0.20857e-04_rb,0.18610e-05_rb /) kao(:, 3,10, 2) = (/ & & 0.21864e-04_rb,0.43247e-04_rb,0.47945e-04_rb,0.47327e-04_rb,0.44273e-04_rb, & & 0.39201e-04_rb,0.31894e-04_rb,0.21119e-04_rb,0.20775e-05_rb /) kao(:, 4,10, 2) = (/ & & 0.21835e-04_rb,0.44386e-04_rb,0.48986e-04_rb,0.48228e-04_rb,0.44916e-04_rb, & & 0.39637e-04_rb,0.32093e-04_rb,0.21228e-04_rb,0.22541e-05_rb /) kao(:, 5,10, 2) = (/ & & 0.21728e-04_rb,0.45263e-04_rb,0.49804e-04_rb,0.48818e-04_rb,0.45409e-04_rb, & & 0.39950e-04_rb,0.32269e-04_rb,0.21290e-04_rb,0.24525e-05_rb /) kao(:, 1,11, 2) = (/ & & 0.17823e-04_rb,0.33378e-04_rb,0.37337e-04_rb,0.36619e-04_rb,0.34598e-04_rb, & & 0.31113e-04_rb,0.25761e-04_rb,0.16956e-04_rb,0.15042e-05_rb /) kao(:, 2,11, 2) = (/ & & 0.17970e-04_rb,0.34679e-04_rb,0.38589e-04_rb,0.38065e-04_rb,0.35695e-04_rb, & & 0.31869e-04_rb,0.26044e-04_rb,0.17214e-04_rb,0.16847e-05_rb /) kao(:, 3,11, 2) = (/ & & 0.17997e-04_rb,0.35791e-04_rb,0.39619e-04_rb,0.39097e-04_rb,0.36539e-04_rb, & & 0.32374e-04_rb,0.26298e-04_rb,0.17428e-04_rb,0.18887e-05_rb /) kao(:, 4,11, 2) = (/ & & 0.17967e-04_rb,0.36717e-04_rb,0.40463e-04_rb,0.39821e-04_rb,0.37071e-04_rb, & & 0.32716e-04_rb,0.26461e-04_rb,0.17496e-04_rb,0.20546e-05_rb /) kao(:, 5,11, 2) = (/ & & 0.17868e-04_rb,0.37423e-04_rb,0.41124e-04_rb,0.40304e-04_rb,0.37473e-04_rb, & & 0.32971e-04_rb,0.26612e-04_rb,0.17532e-04_rb,0.22240e-05_rb /) kao(:, 1,12, 2) = (/ & & 0.14665e-04_rb,0.27605e-04_rb,0.30811e-04_rb,0.30250e-04_rb,0.28525e-04_rb, & & 0.25644e-04_rb,0.21186e-04_rb,0.13955e-04_rb,0.12588e-05_rb /) kao(:, 2,12, 2) = (/ & & 0.14775e-04_rb,0.28655e-04_rb,0.31851e-04_rb,0.31408e-04_rb,0.29418e-04_rb, & & 0.26261e-04_rb,0.21430e-04_rb,0.14172e-04_rb,0.14181e-05_rb /) kao(:, 3,12, 2) = (/ & & 0.14799e-04_rb,0.29571e-04_rb,0.32687e-04_rb,0.32242e-04_rb,0.30093e-04_rb, & & 0.26683e-04_rb,0.21636e-04_rb,0.14338e-04_rb,0.15619e-05_rb /) kao(:, 4,12, 2) = (/ & & 0.14777e-04_rb,0.30325e-04_rb,0.33371e-04_rb,0.32826e-04_rb,0.30553e-04_rb, & & 0.26945e-04_rb,0.21775e-04_rb,0.14380e-04_rb,0.16917e-05_rb /) kao(:, 5,12, 2) = (/ & & 0.14685e-04_rb,0.30904e-04_rb,0.33907e-04_rb,0.33214e-04_rb,0.30875e-04_rb, & & 0.27158e-04_rb,0.21883e-04_rb,0.14414e-04_rb,0.18423e-05_rb /) kao(:, 1,13, 2) = (/ & & 0.12044e-04_rb,0.22772e-04_rb,0.25375e-04_rb,0.24926e-04_rb,0.23458e-04_rb, & & 0.21059e-04_rb,0.17387e-04_rb,0.11457e-04_rb,0.99122e-06_rb /) kao(:, 2,13, 2) = (/ & & 0.12128e-04_rb,0.23637e-04_rb,0.26249e-04_rb,0.25842e-04_rb,0.24187e-04_rb, & & 0.21582e-04_rb,0.17590e-04_rb,0.11636e-04_rb,0.11037e-05_rb /) kao(:, 3,13, 2) = (/ & & 0.12152e-04_rb,0.24386e-04_rb,0.26910e-04_rb,0.26531e-04_rb,0.24731e-04_rb, & & 0.21923e-04_rb,0.17760e-04_rb,0.11755e-04_rb,0.12026e-05_rb /) kao(:, 4,13, 2) = (/ & & 0.12130e-04_rb,0.24996e-04_rb,0.27464e-04_rb,0.27006e-04_rb,0.25113e-04_rb, & & 0.22138e-04_rb,0.17874e-04_rb,0.11797e-04_rb,0.13028e-05_rb /) kao(:, 5,13, 2) = (/ & & 0.12050e-04_rb,0.25474e-04_rb,0.27895e-04_rb,0.27297e-04_rb,0.25373e-04_rb, & & 0.22302e-04_rb,0.17948e-04_rb,0.11817e-04_rb,0.14010e-05_rb /) kao(:, 1, 1, 3) = (/ & & 0.36823e-03_rb,0.49613e-03_rb,0.51817e-03_rb,0.50538e-03_rb,0.45711e-03_rb, & & 0.39605e-03_rb,0.31486e-03_rb,0.21474e-03_rb,0.10932e-04_rb /) kao(:, 2, 1, 3) = (/ & & 0.37008e-03_rb,0.50778e-03_rb,0.53361e-03_rb,0.51778e-03_rb,0.46995e-03_rb, & & 0.40629e-03_rb,0.32309e-03_rb,0.21878e-03_rb,0.11421e-04_rb /) kao(:, 3, 1, 3) = (/ & & 0.36989e-03_rb,0.51812e-03_rb,0.54699e-03_rb,0.52922e-03_rb,0.48036e-03_rb, & & 0.41559e-03_rb,0.32965e-03_rb,0.22226e-03_rb,0.12395e-04_rb /) kao(:, 4, 1, 3) = (/ & & 0.36721e-03_rb,0.52763e-03_rb,0.55746e-03_rb,0.53957e-03_rb,0.48891e-03_rb, & & 0.42313e-03_rb,0.33545e-03_rb,0.22588e-03_rb,0.13515e-04_rb /) kao(:, 5, 1, 3) = (/ & & 0.36313e-03_rb,0.53652e-03_rb,0.56680e-03_rb,0.54791e-03_rb,0.49664e-03_rb, & & 0.42907e-03_rb,0.34043e-03_rb,0.22916e-03_rb,0.14734e-04_rb /) kao(:, 1, 2, 3) = (/ & & 0.32411e-03_rb,0.42815e-03_rb,0.44725e-03_rb,0.43813e-03_rb,0.40150e-03_rb, & & 0.34871e-03_rb,0.27912e-03_rb,0.18929e-03_rb,0.80741e-05_rb /) kao(:, 2, 2, 3) = (/ & & 0.32567e-03_rb,0.43786e-03_rb,0.46069e-03_rb,0.45027e-03_rb,0.41319e-03_rb, & & 0.35819e-03_rb,0.28635e-03_rb,0.19325e-03_rb,0.87340e-05_rb /) kao(:, 3, 2, 3) = (/ & & 0.32429e-03_rb,0.44638e-03_rb,0.47228e-03_rb,0.46074e-03_rb,0.42272e-03_rb, & & 0.36602e-03_rb,0.29201e-03_rb,0.19653e-03_rb,0.96110e-05_rb /) kao(:, 4, 2, 3) = (/ & & 0.32137e-03_rb,0.45531e-03_rb,0.48142e-03_rb,0.46951e-03_rb,0.42996e-03_rb, & & 0.37250e-03_rb,0.29709e-03_rb,0.19974e-03_rb,0.10697e-04_rb /) kao(:, 5, 2, 3) = (/ & & 0.31776e-03_rb,0.46207e-03_rb,0.48880e-03_rb,0.47659e-03_rb,0.43551e-03_rb, & & 0.37776e-03_rb,0.30138e-03_rb,0.20274e-03_rb,0.11704e-04_rb /) kao(:, 1, 3, 3) = (/ & & 0.28488e-03_rb,0.36767e-03_rb,0.38081e-03_rb,0.37438e-03_rb,0.34525e-03_rb, & & 0.30150e-03_rb,0.24332e-03_rb,0.16415e-03_rb,0.63970e-05_rb /) kao(:, 2, 3, 3) = (/ & & 0.28539e-03_rb,0.37509e-03_rb,0.39196e-03_rb,0.38510e-03_rb,0.35566e-03_rb, & & 0.30998e-03_rb,0.24963e-03_rb,0.16766e-03_rb,0.72006e-05_rb /) kao(:, 3, 3, 3) = (/ & & 0.28397e-03_rb,0.38215e-03_rb,0.40156e-03_rb,0.39428e-03_rb,0.36418e-03_rb, & & 0.31727e-03_rb,0.25446e-03_rb,0.17107e-03_rb,0.79574e-05_rb /) kao(:, 4, 3, 3) = (/ & & 0.28134e-03_rb,0.38867e-03_rb,0.40959e-03_rb,0.40230e-03_rb,0.37093e-03_rb, & & 0.32301e-03_rb,0.25898e-03_rb,0.17447e-03_rb,0.87131e-05_rb /) kao(:, 5, 3, 3) = (/ & & 0.27886e-03_rb,0.39360e-03_rb,0.41642e-03_rb,0.40852e-03_rb,0.37609e-03_rb, & & 0.32740e-03_rb,0.26312e-03_rb,0.17737e-03_rb,0.94704e-05_rb /) kao(:, 1, 4, 3) = (/ & & 0.24923e-03_rb,0.31555e-03_rb,0.32423e-03_rb,0.31731e-03_rb,0.29410e-03_rb, & & 0.25671e-03_rb,0.20762e-03_rb,0.14074e-03_rb,0.55877e-05_rb /) kao(:, 2, 4, 3) = (/ & & 0.24977e-03_rb,0.32120e-03_rb,0.33372e-03_rb,0.32657e-03_rb,0.30295e-03_rb, & & 0.26472e-03_rb,0.21303e-03_rb,0.14396e-03_rb,0.61575e-05_rb /) kao(:, 3, 4, 3) = (/ & & 0.24865e-03_rb,0.32668e-03_rb,0.34180e-03_rb,0.33446e-03_rb,0.31033e-03_rb, & & 0.27144e-03_rb,0.21777e-03_rb,0.14714e-03_rb,0.67916e-05_rb /) kao(:, 4, 4, 3) = (/ & & 0.24709e-03_rb,0.33133e-03_rb,0.34841e-03_rb,0.34134e-03_rb,0.31600e-03_rb, & & 0.27647e-03_rb,0.22179e-03_rb,0.15016e-03_rb,0.74653e-05_rb /) kao(:, 5, 4, 3) = (/ & & 0.24455e-03_rb,0.33491e-03_rb,0.35388e-03_rb,0.34708e-03_rb,0.32069e-03_rb, & & 0.28005e-03_rb,0.22522e-03_rb,0.15242e-03_rb,0.81619e-05_rb /) kao(:, 1, 5, 3) = (/ & & 0.21526e-03_rb,0.27115e-03_rb,0.27505e-03_rb,0.26802e-03_rb,0.24968e-03_rb, & & 0.21690e-03_rb,0.17481e-03_rb,0.11906e-03_rb,0.50850e-05_rb /) kao(:, 2, 5, 3) = (/ & & 0.21611e-03_rb,0.27621e-03_rb,0.28298e-03_rb,0.27620e-03_rb,0.25722e-03_rb, & & 0.22411e-03_rb,0.18004e-03_rb,0.12197e-03_rb,0.55738e-05_rb /) kao(:, 3, 5, 3) = (/ & & 0.21583e-03_rb,0.28060e-03_rb,0.28955e-03_rb,0.28282e-03_rb,0.26346e-03_rb, & & 0.23005e-03_rb,0.18415e-03_rb,0.12451e-03_rb,0.60864e-05_rb /) kao(:, 4, 5, 3) = (/ & & 0.21446e-03_rb,0.28363e-03_rb,0.29469e-03_rb,0.28896e-03_rb,0.26860e-03_rb, & & 0.23435e-03_rb,0.18768e-03_rb,0.12690e-03_rb,0.66417e-05_rb /) kao(:, 5, 5, 3) = (/ & & 0.21217e-03_rb,0.28626e-03_rb,0.29929e-03_rb,0.29370e-03_rb,0.27250e-03_rb, & & 0.23763e-03_rb,0.19073e-03_rb,0.12909e-03_rb,0.72122e-05_rb /) kao(:, 1, 6, 3) = (/ & & 0.18262e-03_rb,0.23112e-03_rb,0.23388e-03_rb,0.22681e-03_rb,0.21062e-03_rb, & & 0.18196e-03_rb,0.14634e-03_rb,0.99707e-04_rb,0.48078e-05_rb /) kao(:, 2, 6, 3) = (/ & & 0.18393e-03_rb,0.23591e-03_rb,0.24094e-03_rb,0.23364e-03_rb,0.21663e-03_rb, & & 0.18814e-03_rb,0.15114e-03_rb,0.10205e-03_rb,0.52252e-05_rb /) kao(:, 3, 6, 3) = (/ & & 0.18379e-03_rb,0.23984e-03_rb,0.24676e-03_rb,0.23956e-03_rb,0.22221e-03_rb, & & 0.19356e-03_rb,0.15489e-03_rb,0.10434e-03_rb,0.56405e-05_rb /) kao(:, 4, 6, 3) = (/ & & 0.18270e-03_rb,0.24258e-03_rb,0.25102e-03_rb,0.24458e-03_rb,0.22685e-03_rb, & & 0.19771e-03_rb,0.15805e-03_rb,0.10655e-03_rb,0.60728e-05_rb /) kao(:, 5, 6, 3) = (/ & & 0.18067e-03_rb,0.24446e-03_rb,0.25467e-03_rb,0.24894e-03_rb,0.23051e-03_rb, & & 0.20056e-03_rb,0.16088e-03_rb,0.10844e-03_rb,0.65160e-05_rb /) kao(:, 1, 7, 3) = (/ & & 0.15269e-03_rb,0.19407e-03_rb,0.19640e-03_rb,0.19073e-03_rb,0.17715e-03_rb, & & 0.15224e-03_rb,0.12181e-03_rb,0.83302e-04_rb,0.45185e-05_rb /) kao(:, 2, 7, 3) = (/ & & 0.15450e-03_rb,0.19834e-03_rb,0.20246e-03_rb,0.19675e-03_rb,0.18242e-03_rb, & & 0.15776e-03_rb,0.12610e-03_rb,0.85306e-04_rb,0.49315e-05_rb /) kao(:, 3, 7, 3) = (/ & & 0.15459e-03_rb,0.20178e-03_rb,0.20759e-03_rb,0.20176e-03_rb,0.18737e-03_rb, & & 0.16233e-03_rb,0.12951e-03_rb,0.87417e-04_rb,0.53491e-05_rb /) kao(:, 4, 7, 3) = (/ & & 0.15368e-03_rb,0.20410e-03_rb,0.21160e-03_rb,0.20623e-03_rb,0.19161e-03_rb, & & 0.16603e-03_rb,0.13246e-03_rb,0.89237e-04_rb,0.57562e-05_rb /) kao(:, 5, 7, 3) = (/ & & 0.15207e-03_rb,0.20567e-03_rb,0.21458e-03_rb,0.20991e-03_rb,0.19525e-03_rb, & & 0.16906e-03_rb,0.13481e-03_rb,0.90932e-04_rb,0.61659e-05_rb /) kao(:, 1, 8, 3) = (/ & & 0.12672e-03_rb,0.16159e-03_rb,0.16329e-03_rb,0.15821e-03_rb,0.14746e-03_rb, & & 0.12624e-03_rb,0.10116e-03_rb,0.69306e-04_rb,0.46652e-05_rb /) kao(:, 2, 8, 3) = (/ & & 0.12853e-03_rb,0.16539e-03_rb,0.16859e-03_rb,0.16359e-03_rb,0.15208e-03_rb, & & 0.13120e-03_rb,0.10513e-03_rb,0.71005e-04_rb,0.51392e-05_rb /) kao(:, 3, 8, 3) = (/ & & 0.12901e-03_rb,0.16841e-03_rb,0.17301e-03_rb,0.16813e-03_rb,0.15614e-03_rb, & & 0.13532e-03_rb,0.10829e-03_rb,0.72863e-04_rb,0.55244e-05_rb /) kao(:, 4, 8, 3) = (/ & & 0.12833e-03_rb,0.17058e-03_rb,0.17652e-03_rb,0.17184e-03_rb,0.15971e-03_rb, & & 0.13867e-03_rb,0.11087e-03_rb,0.74475e-04_rb,0.58193e-05_rb /) kao(:, 5, 8, 3) = (/ & & 0.12715e-03_rb,0.17197e-03_rb,0.17918e-03_rb,0.17513e-03_rb,0.16292e-03_rb, & & 0.14144e-03_rb,0.11301e-03_rb,0.75965e-04_rb,0.61705e-05_rb /) kao(:, 1, 9, 3) = (/ & & 0.10428e-03_rb,0.13348e-03_rb,0.13462e-03_rb,0.12995e-03_rb,0.12158e-03_rb, & & 0.10379e-03_rb,0.83005e-04_rb,0.57371e-04_rb,0.55965e-05_rb /) kao(:, 2, 9, 3) = (/ & & 0.10619e-03_rb,0.13710e-03_rb,0.13932e-03_rb,0.13469e-03_rb,0.12538e-03_rb, & & 0.10800e-03_rb,0.86632e-04_rb,0.58954e-04_rb,0.61961e-05_rb /) kao(:, 3, 9, 3) = (/ & & 0.10690e-03_rb,0.13978e-03_rb,0.14315e-03_rb,0.13877e-03_rb,0.12885e-03_rb, & & 0.11169e-03_rb,0.89643e-04_rb,0.60568e-04_rb,0.68526e-05_rb /) kao(:, 4, 9, 3) = (/ & & 0.10668e-03_rb,0.14178e-03_rb,0.14626e-03_rb,0.14213e-03_rb,0.13207e-03_rb, & & 0.11468e-03_rb,0.91984e-04_rb,0.62070e-04_rb,0.75122e-05_rb /) kao(:, 5, 9, 3) = (/ & & 0.10582e-03_rb,0.14316e-03_rb,0.14873e-03_rb,0.14501e-03_rb,0.13471e-03_rb, & & 0.11704e-03_rb,0.93876e-04_rb,0.63388e-04_rb,0.80761e-05_rb /) kao(:, 1,10, 3) = (/ & & 0.85476e-04_rb,0.10982e-03_rb,0.11034e-03_rb,0.10643e-03_rb,0.99702e-04_rb, & & 0.84967e-04_rb,0.68008e-04_rb,0.47229e-04_rb,0.66145e-05_rb /) kao(:, 2,10, 3) = (/ & & 0.87242e-04_rb,0.11322e-03_rb,0.11463e-03_rb,0.11045e-03_rb,0.10293e-03_rb, & & 0.88580e-04_rb,0.71113e-04_rb,0.48631e-04_rb,0.75452e-05_rb /) kao(:, 3,10, 3) = (/ & & 0.88111e-04_rb,0.11563e-03_rb,0.11792e-03_rb,0.11404e-03_rb,0.10587e-03_rb, & & 0.91877e-04_rb,0.73790e-04_rb,0.50044e-04_rb,0.84881e-05_rb /) kao(:, 4,10, 3) = (/ & & 0.88200e-04_rb,0.11743e-03_rb,0.12065e-03_rb,0.11708e-03_rb,0.10870e-03_rb, & & 0.94480e-04_rb,0.75897e-04_rb,0.51384e-04_rb,0.95136e-05_rb /) kao(:, 5,10, 3) = (/ & & 0.87583e-04_rb,0.11871e-03_rb,0.12292e-03_rb,0.11954e-03_rb,0.11103e-03_rb, & & 0.96523e-04_rb,0.77526e-04_rb,0.52518e-04_rb,0.10532e-04_rb /) kao(:, 1,11, 3) = (/ & & 0.70556e-04_rb,0.91428e-04_rb,0.91867e-04_rb,0.88463e-04_rb,0.82846e-04_rb, & & 0.70774e-04_rb,0.56632e-04_rb,0.39167e-04_rb,0.61872e-05_rb /) kao(:, 2,11, 3) = (/ & & 0.71933e-04_rb,0.94182e-04_rb,0.95269e-04_rb,0.91646e-04_rb,0.85383e-04_rb, & & 0.73738e-04_rb,0.59219e-04_rb,0.40474e-04_rb,0.69965e-05_rb /) kao(:, 3,11, 3) = (/ & & 0.72567e-04_rb,0.96098e-04_rb,0.97927e-04_rb,0.94606e-04_rb,0.87837e-04_rb, & & 0.76370e-04_rb,0.61326e-04_rb,0.41633e-04_rb,0.78235e-05_rb /) kao(:, 4,11, 3) = (/ & & 0.72529e-04_rb,0.97532e-04_rb,0.10011e-03_rb,0.97076e-04_rb,0.90134e-04_rb, & & 0.78428e-04_rb,0.63016e-04_rb,0.42754e-04_rb,0.87904e-05_rb /) kao(:, 5,11, 3) = (/ & & 0.71990e-04_rb,0.98552e-04_rb,0.10193e-03_rb,0.99080e-04_rb,0.92091e-04_rb, & & 0.80068e-04_rb,0.64349e-04_rb,0.43674e-04_rb,0.98011e-05_rb /) kao(:, 1,12, 3) = (/ & & 0.58072e-04_rb,0.75815e-04_rb,0.76168e-04_rb,0.73252e-04_rb,0.68521e-04_rb, & & 0.58748e-04_rb,0.47029e-04_rb,0.32430e-04_rb,0.51838e-05_rb /) kao(:, 2,12, 3) = (/ & & 0.59149e-04_rb,0.78005e-04_rb,0.78889e-04_rb,0.75853e-04_rb,0.70691e-04_rb, & & 0.61160e-04_rb,0.49105e-04_rb,0.33572e-04_rb,0.58669e-05_rb /) kao(:, 3,12, 3) = (/ & & 0.59615e-04_rb,0.79572e-04_rb,0.81043e-04_rb,0.78301e-04_rb,0.72716e-04_rb, & & 0.63265e-04_rb,0.50777e-04_rb,0.34506e-04_rb,0.66464e-05_rb /) kao(:, 4,12, 3) = (/ & & 0.59506e-04_rb,0.80712e-04_rb,0.82811e-04_rb,0.80321e-04_rb,0.74571e-04_rb, & & 0.64935e-04_rb,0.52165e-04_rb,0.35447e-04_rb,0.74412e-05_rb /) kao(:, 5,12, 3) = (/ & & 0.59067e-04_rb,0.81520e-04_rb,0.84288e-04_rb,0.81977e-04_rb,0.76172e-04_rb, & & 0.66259e-04_rb,0.53281e-04_rb,0.36178e-04_rb,0.82465e-05_rb /) kao(:, 1,13, 3) = (/ & & 0.47640e-04_rb,0.62583e-04_rb,0.62887e-04_rb,0.60485e-04_rb,0.56559e-04_rb, & & 0.48624e-04_rb,0.38904e-04_rb,0.26773e-04_rb,0.40582e-05_rb /) kao(:, 2,13, 3) = (/ & & 0.48498e-04_rb,0.64379e-04_rb,0.65087e-04_rb,0.62641e-04_rb,0.58377e-04_rb, & & 0.50572e-04_rb,0.40566e-04_rb,0.27717e-04_rb,0.46616e-05_rb /) kao(:, 3,13, 3) = (/ & & 0.48844e-04_rb,0.65656e-04_rb,0.66851e-04_rb,0.64628e-04_rb,0.60042e-04_rb, & & 0.52254e-04_rb,0.41917e-04_rb,0.28510e-04_rb,0.53204e-05_rb /) kao(:, 4,13, 3) = (/ & & 0.48722e-04_rb,0.66574e-04_rb,0.68303e-04_rb,0.66300e-04_rb,0.61547e-04_rb, & & 0.53614e-04_rb,0.43058e-04_rb,0.29254e-04_rb,0.59442e-05_rb /) kao(:, 5,13, 3) = (/ & & 0.48355e-04_rb,0.67217e-04_rb,0.69511e-04_rb,0.67651e-04_rb,0.62864e-04_rb, & & 0.54712e-04_rb,0.43998e-04_rb,0.29875e-04_rb,0.66436e-05_rb /) kao(:, 1, 1, 4) = (/ & & 0.85387e-03_rb,0.97268e-03_rb,0.95201e-03_rb,0.89226e-03_rb,0.81465e-03_rb, & & 0.69707e-03_rb,0.54829e-03_rb,0.35882e-03_rb,0.37920e-04_rb /) kao(:, 2, 1, 4) = (/ & & 0.85496e-03_rb,0.98746e-03_rb,0.97188e-03_rb,0.91775e-03_rb,0.83529e-03_rb, & & 0.71649e-03_rb,0.56376e-03_rb,0.37061e-03_rb,0.43155e-04_rb /) kao(:, 3, 1, 4) = (/ & & 0.85154e-03_rb,0.99908e-03_rb,0.98969e-03_rb,0.94014e-03_rb,0.85604e-03_rb, & & 0.73379e-03_rb,0.57832e-03_rb,0.38183e-03_rb,0.48702e-04_rb /) kao(:, 4, 1, 4) = (/ & & 0.84606e-03_rb,0.10090e-02_rb,0.10068e-02_rb,0.95944e-03_rb,0.87434e-03_rb, & & 0.74975e-03_rb,0.59243e-03_rb,0.39188e-03_rb,0.54022e-04_rb /) kao(:, 5, 1, 4) = (/ & & 0.84061e-03_rb,0.10171e-02_rb,0.10218e-02_rb,0.97684e-03_rb,0.88906e-03_rb, & & 0.76345e-03_rb,0.60471e-03_rb,0.40180e-03_rb,0.59778e-04_rb /) kao(:, 1, 2, 4) = (/ & & 0.76106e-03_rb,0.86763e-03_rb,0.84620e-03_rb,0.79337e-03_rb,0.72368e-03_rb, & & 0.62633e-03_rb,0.49168e-03_rb,0.32346e-03_rb,0.31322e-04_rb /) kao(:, 2, 2, 4) = (/ & & 0.76153e-03_rb,0.88148e-03_rb,0.86349e-03_rb,0.81559e-03_rb,0.74480e-03_rb, & & 0.64448e-03_rb,0.50635e-03_rb,0.33430e-03_rb,0.35566e-04_rb /) kao(:, 3, 2, 4) = (/ & & 0.75977e-03_rb,0.89195e-03_rb,0.87871e-03_rb,0.83605e-03_rb,0.76286e-03_rb, & & 0.66127e-03_rb,0.51959e-03_rb,0.34472e-03_rb,0.39705e-04_rb /) kao(:, 4, 2, 4) = (/ & & 0.75771e-03_rb,0.89987e-03_rb,0.89406e-03_rb,0.85530e-03_rb,0.78123e-03_rb, & & 0.67612e-03_rb,0.53221e-03_rb,0.35447e-03_rb,0.44266e-04_rb /) kao(:, 5, 2, 4) = (/ & & 0.75289e-03_rb,0.90657e-03_rb,0.90771e-03_rb,0.87200e-03_rb,0.79715e-03_rb, & & 0.68926e-03_rb,0.54382e-03_rb,0.36372e-03_rb,0.48708e-04_rb /) kao(:, 1, 3, 4) = (/ & & 0.66893e-03_rb,0.76246e-03_rb,0.74334e-03_rb,0.69752e-03_rb,0.63501e-03_rb, & & 0.55362e-03_rb,0.43455e-03_rb,0.28843e-03_rb,0.24260e-04_rb /) kao(:, 2, 3, 4) = (/ & & 0.67118e-03_rb,0.77588e-03_rb,0.75944e-03_rb,0.71710e-03_rb,0.65461e-03_rb, & & 0.57122e-03_rb,0.44991e-03_rb,0.29906e-03_rb,0.27434e-04_rb /) kao(:, 3, 3, 4) = (/ & & 0.67218e-03_rb,0.78505e-03_rb,0.77328e-03_rb,0.73497e-03_rb,0.67286e-03_rb, & & 0.58718e-03_rb,0.46375e-03_rb,0.30933e-03_rb,0.30808e-04_rb /) kao(:, 4, 3, 4) = (/ & & 0.67058e-03_rb,0.79242e-03_rb,0.78627e-03_rb,0.75181e-03_rb,0.68946e-03_rb, & & 0.60183e-03_rb,0.47532e-03_rb,0.31743e-03_rb,0.34324e-04_rb /) kao(:, 5, 3, 4) = (/ & & 0.66467e-03_rb,0.79822e-03_rb,0.79776e-03_rb,0.76779e-03_rb,0.70481e-03_rb, & & 0.61510e-03_rb,0.48553e-03_rb,0.32526e-03_rb,0.37905e-04_rb /) kao(:, 1, 4, 4) = (/ & & 0.58297e-03_rb,0.66020e-03_rb,0.64337e-03_rb,0.60610e-03_rb,0.55222e-03_rb, & & 0.48338e-03_rb,0.38154e-03_rb,0.25537e-03_rb,0.20054e-04_rb /) kao(:, 2, 4, 4) = (/ & & 0.58616e-03_rb,0.67311e-03_rb,0.65764e-03_rb,0.62362e-03_rb,0.56996e-03_rb, & & 0.49939e-03_rb,0.39657e-03_rb,0.26418e-03_rb,0.22457e-04_rb /) kao(:, 3, 4, 4) = (/ & & 0.58719e-03_rb,0.68291e-03_rb,0.67014e-03_rb,0.63926e-03_rb,0.58703e-03_rb, & & 0.51453e-03_rb,0.40976e-03_rb,0.27280e-03_rb,0.24974e-04_rb /) kao(:, 4, 4, 4) = (/ & & 0.58451e-03_rb,0.68925e-03_rb,0.68144e-03_rb,0.65410e-03_rb,0.60312e-03_rb, & & 0.52903e-03_rb,0.42147e-03_rb,0.28096e-03_rb,0.27613e-04_rb /) kao(:, 5, 4, 4) = (/ & & 0.57885e-03_rb,0.69369e-03_rb,0.69153e-03_rb,0.66725e-03_rb,0.61666e-03_rb, & & 0.54114e-03_rb,0.43123e-03_rb,0.28907e-03_rb,0.30243e-04_rb /) kao(:, 1, 5, 4) = (/ & & 0.50639e-03_rb,0.56897e-03_rb,0.55412e-03_rb,0.52127e-03_rb,0.47341e-03_rb, & & 0.41669e-03_rb,0.33293e-03_rb,0.22215e-03_rb,0.17057e-04_rb /) kao(:, 2, 5, 4) = (/ & & 0.51065e-03_rb,0.58111e-03_rb,0.56740e-03_rb,0.53642e-03_rb,0.48970e-03_rb, & & 0.43166e-03_rb,0.34671e-03_rb,0.23111e-03_rb,0.19191e-04_rb /) kao(:, 3, 5, 4) = (/ & & 0.51131e-03_rb,0.58923e-03_rb,0.57802e-03_rb,0.54989e-03_rb,0.50519e-03_rb, & & 0.44520e-03_rb,0.35867e-03_rb,0.23955e-03_rb,0.21238e-04_rb /) kao(:, 4, 5, 4) = (/ & & 0.50888e-03_rb,0.59432e-03_rb,0.58700e-03_rb,0.56238e-03_rb,0.51899e-03_rb, & & 0.45787e-03_rb,0.36960e-03_rb,0.24733e-03_rb,0.23442e-04_rb /) kao(:, 5, 5, 4) = (/ & & 0.50411e-03_rb,0.59804e-03_rb,0.59497e-03_rb,0.57342e-03_rb,0.53158e-03_rb, & & 0.46924e-03_rb,0.37886e-03_rb,0.25450e-03_rb,0.25756e-04_rb /) kao(:, 1, 6, 4) = (/ & & 0.43673e-03_rb,0.48782e-03_rb,0.47499e-03_rb,0.44629e-03_rb,0.40354e-03_rb, & & 0.35457e-03_rb,0.28605e-03_rb,0.19086e-03_rb,0.14702e-04_rb /) kao(:, 2, 6, 4) = (/ & & 0.44102e-03_rb,0.49831e-03_rb,0.48639e-03_rb,0.45943e-03_rb,0.41879e-03_rb, & & 0.36808e-03_rb,0.29802e-03_rb,0.19985e-03_rb,0.16471e-04_rb /) kao(:, 3, 6, 4) = (/ & & 0.44221e-03_rb,0.50518e-03_rb,0.49538e-03_rb,0.47075e-03_rb,0.43183e-03_rb, & & 0.37995e-03_rb,0.30882e-03_rb,0.20763e-03_rb,0.18420e-04_rb /) kao(:, 4, 6, 4) = (/ & & 0.44017e-03_rb,0.50994e-03_rb,0.50323e-03_rb,0.48141e-03_rb,0.44360e-03_rb, & & 0.39116e-03_rb,0.31844e-03_rb,0.21460e-03_rb,0.20473e-04_rb /) kao(:, 5, 6, 4) = (/ & & 0.43656e-03_rb,0.51249e-03_rb,0.51000e-03_rb,0.49068e-03_rb,0.45425e-03_rb, & & 0.40107e-03_rb,0.32653e-03_rb,0.22109e-03_rb,0.22600e-04_rb /) kao(:, 1, 7, 4) = (/ & & 0.37627e-03_rb,0.41525e-03_rb,0.40365e-03_rb,0.37923e-03_rb,0.34257e-03_rb, & & 0.30147e-03_rb,0.24324e-03_rb,0.16094e-03_rb,0.13400e-04_rb /) kao(:, 2, 7, 4) = (/ & & 0.38051e-03_rb,0.42489e-03_rb,0.41400e-03_rb,0.39067e-03_rb,0.35555e-03_rb, & & 0.31257e-03_rb,0.25353e-03_rb,0.16947e-03_rb,0.14905e-04_rb /) kao(:, 3, 7, 4) = (/ & & 0.38196e-03_rb,0.43154e-03_rb,0.42169e-03_rb,0.40035e-03_rb,0.36703e-03_rb, & & 0.32311e-03_rb,0.26291e-03_rb,0.17672e-03_rb,0.16566e-04_rb /) kao(:, 4, 7, 4) = (/ & & 0.38108e-03_rb,0.43587e-03_rb,0.42809e-03_rb,0.40890e-03_rb,0.37694e-03_rb, & & 0.33246e-03_rb,0.27094e-03_rb,0.18305e-03_rb,0.18352e-04_rb /) kao(:, 5, 7, 4) = (/ & & 0.37854e-03_rb,0.43889e-03_rb,0.43402e-03_rb,0.41697e-03_rb,0.38532e-03_rb, & & 0.34074e-03_rb,0.27816e-03_rb,0.18873e-03_rb,0.20220e-04_rb /) kao(:, 1, 8, 4) = (/ & & 0.31968e-03_rb,0.35301e-03_rb,0.34310e-03_rb,0.32206e-03_rb,0.28904e-03_rb, & & 0.25356e-03_rb,0.20523e-03_rb,0.13432e-03_rb,0.13548e-04_rb /) kao(:, 2, 8, 4) = (/ & & 0.32386e-03_rb,0.36229e-03_rb,0.35288e-03_rb,0.33214e-03_rb,0.30033e-03_rb, & & 0.26345e-03_rb,0.21374e-03_rb,0.14198e-03_rb,0.14966e-04_rb /) kao(:, 3, 8, 4) = (/ & & 0.32521e-03_rb,0.36848e-03_rb,0.35986e-03_rb,0.34056e-03_rb,0.31042e-03_rb, & & 0.27222e-03_rb,0.22115e-03_rb,0.14841e-03_rb,0.16278e-04_rb /) kao(:, 4, 8, 4) = (/ & & 0.32527e-03_rb,0.37258e-03_rb,0.36553e-03_rb,0.34811e-03_rb,0.31916e-03_rb, & & 0.28034e-03_rb,0.22837e-03_rb,0.15443e-03_rb,0.17614e-04_rb /) kao(:, 5, 8, 4) = (/ & & 0.32272e-03_rb,0.37533e-03_rb,0.37025e-03_rb,0.35438e-03_rb,0.32632e-03_rb, & & 0.28740e-03_rb,0.23484e-03_rb,0.15952e-03_rb,0.19075e-04_rb /) kao(:, 1, 9, 4) = (/ & & 0.26794e-03_rb,0.29655e-03_rb,0.28851e-03_rb,0.27155e-03_rb,0.24290e-03_rb, & & 0.21182e-03_rb,0.17187e-03_rb,0.11158e-03_rb,0.16893e-04_rb /) kao(:, 2, 9, 4) = (/ & & 0.27215e-03_rb,0.30477e-03_rb,0.29765e-03_rb,0.28075e-03_rb,0.25336e-03_rb, & & 0.22120e-03_rb,0.17858e-03_rb,0.11794e-03_rb,0.18576e-04_rb /) kao(:, 3, 9, 4) = (/ & & 0.27400e-03_rb,0.31061e-03_rb,0.30447e-03_rb,0.28836e-03_rb,0.26224e-03_rb, & & 0.22886e-03_rb,0.18474e-03_rb,0.12372e-03_rb,0.20056e-04_rb /) kao(:, 4, 9, 4) = (/ & & 0.27385e-03_rb,0.31424e-03_rb,0.30923e-03_rb,0.29477e-03_rb,0.26977e-03_rb, & & 0.23554e-03_rb,0.19093e-03_rb,0.12884e-03_rb,0.21321e-04_rb /) kao(:, 5, 9, 4) = (/ & & 0.27196e-03_rb,0.31647e-03_rb,0.31308e-03_rb,0.30006e-03_rb,0.27604e-03_rb, & & 0.24191e-03_rb,0.19649e-03_rb,0.13352e-03_rb,0.22611e-04_rb /) kao(:, 1,10, 4) = (/ & & 0.22255e-03_rb,0.24716e-03_rb,0.24087e-03_rb,0.22672e-03_rb,0.20216e-03_rb, & & 0.17582e-03_rb,0.14339e-03_rb,0.92528e-04_rb,0.22471e-04_rb /) kao(:, 2,10, 4) = (/ & & 0.22663e-03_rb,0.25429e-03_rb,0.24908e-03_rb,0.23506e-03_rb,0.21167e-03_rb, & & 0.18377e-03_rb,0.14910e-03_rb,0.97972e-04_rb,0.24536e-04_rb /) kao(:, 3,10, 4) = (/ & & 0.22867e-03_rb,0.25963e-03_rb,0.25532e-03_rb,0.24169e-03_rb,0.21923e-03_rb, & & 0.19067e-03_rb,0.15458e-03_rb,0.10293e-03_rb,0.26453e-04_rb /) kao(:, 4,10, 4) = (/ & & 0.22853e-03_rb,0.26273e-03_rb,0.25960e-03_rb,0.24704e-03_rb,0.22549e-03_rb, & & 0.19679e-03_rb,0.15968e-03_rb,0.10728e-03_rb,0.28383e-04_rb /) kao(:, 5,10, 4) = (/ & & 0.22704e-03_rb,0.26469e-03_rb,0.26259e-03_rb,0.25141e-03_rb,0.23080e-03_rb, & & 0.20216e-03_rb,0.16433e-03_rb,0.11116e-03_rb,0.30111e-04_rb /) kao(:, 1,11, 4) = (/ & & 0.18570e-03_rb,0.20791e-03_rb,0.20310e-03_rb,0.19106e-03_rb,0.17066e-03_rb, & & 0.14797e-03_rb,0.12097e-03_rb,0.78704e-04_rb,0.20720e-04_rb /) kao(:, 2,11, 4) = (/ & & 0.18868e-03_rb,0.21356e-03_rb,0.20969e-03_rb,0.19807e-03_rb,0.17821e-03_rb, & & 0.15434e-03_rb,0.12584e-03_rb,0.83179e-04_rb,0.23268e-04_rb /) kao(:, 3,11, 4) = (/ & & 0.18972e-03_rb,0.21732e-03_rb,0.21447e-03_rb,0.20305e-03_rb,0.18416e-03_rb, & & 0.15993e-03_rb,0.13006e-03_rb,0.87134e-04_rb,0.25781e-04_rb /) kao(:, 4,11, 4) = (/ & & 0.18929e-03_rb,0.21955e-03_rb,0.21771e-03_rb,0.20711e-03_rb,0.18907e-03_rb, & & 0.16493e-03_rb,0.13420e-03_rb,0.90699e-04_rb,0.28181e-04_rb /) kao(:, 5,11, 4) = (/ & & 0.18766e-03_rb,0.22095e-03_rb,0.21987e-03_rb,0.21045e-03_rb,0.19312e-03_rb, & & 0.16934e-03_rb,0.13812e-03_rb,0.93840e-04_rb,0.30489e-04_rb /) kao(:, 1,12, 4) = (/ & & 0.15409e-03_rb,0.17399e-03_rb,0.17010e-03_rb,0.16002e-03_rb,0.14311e-03_rb, & & 0.12376e-03_rb,0.10121e-03_rb,0.66428e-04_rb,0.17813e-04_rb /) kao(:, 2,12, 4) = (/ & & 0.15599e-03_rb,0.17831e-03_rb,0.17521e-03_rb,0.16554e-03_rb,0.14890e-03_rb, & & 0.12881e-03_rb,0.10527e-03_rb,0.69964e-04_rb,0.19918e-04_rb /) kao(:, 3,12, 4) = (/ & & 0.15661e-03_rb,0.18119e-03_rb,0.17892e-03_rb,0.16934e-03_rb,0.15365e-03_rb, & & 0.13338e-03_rb,0.10864e-03_rb,0.73142e-04_rb,0.22121e-04_rb /) kao(:, 4,12, 4) = (/ & & 0.15608e-03_rb,0.18293e-03_rb,0.18145e-03_rb,0.17254e-03_rb,0.15743e-03_rb, & & 0.13747e-03_rb,0.11209e-03_rb,0.75971e-04_rb,0.24425e-04_rb /) kao(:, 5,12, 4) = (/ & & 0.15453e-03_rb,0.18383e-03_rb,0.18309e-03_rb,0.17510e-03_rb,0.16067e-03_rb, & & 0.14102e-03_rb,0.11529e-03_rb,0.78607e-04_rb,0.26791e-04_rb /) kao(:, 1,13, 4) = (/ & & 0.12705e-03_rb,0.14485e-03_rb,0.14155e-03_rb,0.13312e-03_rb,0.11914e-03_rb, & & 0.10299e-03_rb,0.84416e-04_rb,0.55598e-04_rb,0.14429e-04_rb /) kao(:, 2,13, 4) = (/ & & 0.12843e-03_rb,0.14822e-03_rb,0.14555e-03_rb,0.13748e-03_rb,0.12377e-03_rb, & & 0.10702e-03_rb,0.87520e-04_rb,0.58405e-04_rb,0.16147e-04_rb /) kao(:, 3,13, 4) = (/ & & 0.12875e-03_rb,0.15043e-03_rb,0.14850e-03_rb,0.14053e-03_rb,0.12752e-03_rb, & & 0.11081e-03_rb,0.90348e-04_rb,0.60934e-04_rb,0.17992e-04_rb /) kao(:, 4,13, 4) = (/ & & 0.12822e-03_rb,0.15175e-03_rb,0.15049e-03_rb,0.14301e-03_rb,0.13059e-03_rb, & & 0.11413e-03_rb,0.93171e-04_rb,0.63296e-04_rb,0.19888e-04_rb /) kao(:, 5,13, 4) = (/ & & 0.12684e-03_rb,0.15239e-03_rb,0.15179e-03_rb,0.14511e-03_rb,0.13320e-03_rb, & & 0.11702e-03_rb,0.95786e-04_rb,0.65468e-04_rb,0.21706e-04_rb /) kao(:, 1, 1, 5) = (/ & & 0.16451e-02_rb,0.17375e-02_rb,0.16665e-02_rb,0.15396e-02_rb,0.13696e-02_rb, & & 0.11731e-02_rb,0.92753e-03_rb,0.61159e-03_rb,0.14680e-03_rb /) kao(:, 2, 1, 5) = (/ & & 0.16450e-02_rb,0.17591e-02_rb,0.16954e-02_rb,0.15711e-02_rb,0.14087e-02_rb, & & 0.12092e-02_rb,0.95859e-03_rb,0.63308e-03_rb,0.16131e-03_rb /) kao(:, 3, 1, 5) = (/ & & 0.16396e-02_rb,0.17762e-02_rb,0.17200e-02_rb,0.16012e-02_rb,0.14448e-02_rb, & & 0.12424e-02_rb,0.98862e-03_rb,0.65400e-03_rb,0.17365e-03_rb /) kao(:, 4, 1, 5) = (/ & & 0.16299e-02_rb,0.17875e-02_rb,0.17415e-02_rb,0.16313e-02_rb,0.14788e-02_rb, & & 0.12751e-02_rb,0.10161e-02_rb,0.67524e-03_rb,0.18499e-03_rb /) kao(:, 5, 1, 5) = (/ & & 0.16127e-02_rb,0.17946e-02_rb,0.17629e-02_rb,0.16594e-02_rb,0.15119e-02_rb, & & 0.13059e-02_rb,0.10419e-02_rb,0.69511e-03_rb,0.19999e-03_rb /) kao(:, 1, 2, 5) = (/ & & 0.15084e-02_rb,0.15931e-02_rb,0.15186e-02_rb,0.13958e-02_rb,0.12369e-02_rb, & & 0.10500e-02_rb,0.83688e-03_rb,0.55465e-03_rb,0.11914e-03_rb /) kao(:, 2, 2, 5) = (/ & & 0.15115e-02_rb,0.16146e-02_rb,0.15457e-02_rb,0.14241e-02_rb,0.12724e-02_rb, & & 0.10844e-02_rb,0.86669e-03_rb,0.57603e-03_rb,0.13037e-03_rb /) kao(:, 3, 2, 5) = (/ & & 0.15084e-02_rb,0.16309e-02_rb,0.15669e-02_rb,0.14522e-02_rb,0.13074e-02_rb, & & 0.11181e-02_rb,0.89787e-03_rb,0.59657e-03_rb,0.13918e-03_rb /) kao(:, 4, 2, 5) = (/ & & 0.14965e-02_rb,0.16419e-02_rb,0.15861e-02_rb,0.14781e-02_rb,0.13385e-02_rb, & & 0.11507e-02_rb,0.92569e-03_rb,0.61596e-03_rb,0.15053e-03_rb /) kao(:, 5, 2, 5) = (/ & & 0.14804e-02_rb,0.16493e-02_rb,0.16042e-02_rb,0.15021e-02_rb,0.13704e-02_rb, & & 0.11804e-02_rb,0.95044e-03_rb,0.63472e-03_rb,0.16410e-03_rb /) kao(:, 1, 3, 5) = (/ & & 0.13707e-02_rb,0.14436e-02_rb,0.13706e-02_rb,0.12561e-02_rb,0.11093e-02_rb, & & 0.93534e-03_rb,0.74505e-03_rb,0.49303e-03_rb,0.93388e-04_rb /) kao(:, 2, 3, 5) = (/ & & 0.13760e-02_rb,0.14666e-02_rb,0.13986e-02_rb,0.12850e-02_rb,0.11416e-02_rb, & & 0.96700e-03_rb,0.77192e-03_rb,0.51430e-03_rb,0.10062e-03_rb /) kao(:, 3, 3, 5) = (/ & & 0.13732e-02_rb,0.14839e-02_rb,0.14208e-02_rb,0.13112e-02_rb,0.11718e-02_rb, & & 0.99814e-03_rb,0.79899e-03_rb,0.53404e-03_rb,0.10964e-03_rb /) kao(:, 4, 3, 5) = (/ & & 0.13644e-02_rb,0.14939e-02_rb,0.14404e-02_rb,0.13346e-02_rb,0.12002e-02_rb, & & 0.10295e-02_rb,0.82532e-03_rb,0.55285e-03_rb,0.12023e-03_rb /) kao(:, 5, 3, 5) = (/ & & 0.13512e-02_rb,0.15024e-02_rb,0.14568e-02_rb,0.13559e-02_rb,0.12266e-02_rb, & & 0.10592e-02_rb,0.85085e-03_rb,0.57058e-03_rb,0.13064e-03_rb /) kao(:, 1, 4, 5) = (/ & & 0.12336e-02_rb,0.12968e-02_rb,0.12255e-02_rb,0.11189e-02_rb,0.98785e-03_rb, & & 0.83184e-03_rb,0.66033e-03_rb,0.43467e-03_rb,0.70047e-04_rb /) kao(:, 2, 4, 5) = (/ & & 0.12419e-02_rb,0.13192e-02_rb,0.12543e-02_rb,0.11482e-02_rb,0.10189e-02_rb, & & 0.86315e-03_rb,0.68559e-03_rb,0.45559e-03_rb,0.76629e-04_rb /) kao(:, 3, 4, 5) = (/ & & 0.12416e-02_rb,0.13349e-02_rb,0.12771e-02_rb,0.11745e-02_rb,0.10469e-02_rb, & & 0.89182e-03_rb,0.71110e-03_rb,0.47551e-03_rb,0.84761e-04_rb /) kao(:, 4, 4, 5) = (/ & & 0.12342e-02_rb,0.13470e-02_rb,0.12958e-02_rb,0.11964e-02_rb,0.10726e-02_rb, & & 0.91965e-03_rb,0.73487e-03_rb,0.49419e-03_rb,0.93979e-04_rb /) kao(:, 5, 4, 5) = (/ & & 0.12238e-02_rb,0.13566e-02_rb,0.13110e-02_rb,0.12168e-02_rb,0.10976e-02_rb, & & 0.94731e-03_rb,0.75866e-03_rb,0.51080e-03_rb,0.10249e-03_rb /) kao(:, 1, 5, 5) = (/ & & 0.10970e-02_rb,0.11491e-02_rb,0.10850e-02_rb,0.99037e-03_rb,0.87478e-03_rb, & & 0.73644e-03_rb,0.58168e-03_rb,0.38673e-03_rb,0.55328e-04_rb /) kao(:, 2, 5, 5) = (/ & & 0.11051e-02_rb,0.11716e-02_rb,0.11129e-02_rb,0.10196e-02_rb,0.90431e-03_rb, & & 0.76445e-03_rb,0.60553e-03_rb,0.40600e-03_rb,0.61413e-04_rb /) kao(:, 3, 5, 5) = (/ & & 0.11053e-02_rb,0.11877e-02_rb,0.11365e-02_rb,0.10446e-02_rb,0.92981e-03_rb, & & 0.79114e-03_rb,0.62919e-03_rb,0.42419e-03_rb,0.68340e-04_rb /) kao(:, 4, 5, 5) = (/ & & 0.11000e-02_rb,0.12008e-02_rb,0.11557e-02_rb,0.10648e-02_rb,0.95310e-03_rb, & & 0.81721e-03_rb,0.65273e-03_rb,0.44128e-03_rb,0.75425e-04_rb /) kao(:, 5, 5, 5) = (/ & & 0.10930e-02_rb,0.12101e-02_rb,0.11704e-02_rb,0.10855e-02_rb,0.97521e-03_rb, & & 0.84232e-03_rb,0.67516e-03_rb,0.45733e-03_rb,0.82112e-04_rb /) kao(:, 1, 6, 5) = (/ & & 0.96254e-03_rb,0.10041e-02_rb,0.94496e-03_rb,0.86305e-03_rb,0.76515e-03_rb, & & 0.64666e-03_rb,0.50949e-03_rb,0.34237e-03_rb,0.45743e-04_rb /) kao(:, 2, 6, 5) = (/ & & 0.97168e-03_rb,0.10257e-02_rb,0.97306e-03_rb,0.89241e-03_rb,0.79300e-03_rb, & & 0.67315e-03_rb,0.53212e-03_rb,0.35953e-03_rb,0.50936e-04_rb /) kao(:, 3, 6, 5) = (/ & & 0.97307e-03_rb,0.10417e-02_rb,0.99540e-03_rb,0.91663e-03_rb,0.81739e-03_rb, & & 0.69764e-03_rb,0.55388e-03_rb,0.37625e-03_rb,0.56704e-04_rb /) kao(:, 4, 6, 5) = (/ & & 0.97112e-03_rb,0.10538e-02_rb,0.10130e-02_rb,0.93600e-03_rb,0.83875e-03_rb, & & 0.72048e-03_rb,0.57540e-03_rb,0.39219e-03_rb,0.62214e-04_rb /) kao(:, 5, 6, 5) = (/ & & 0.96524e-03_rb,0.10634e-02_rb,0.10272e-02_rb,0.95339e-03_rb,0.85814e-03_rb, & & 0.74256e-03_rb,0.59649e-03_rb,0.40723e-03_rb,0.68154e-04_rb /) kao(:, 1, 7, 5) = (/ & & 0.83977e-03_rb,0.87150e-03_rb,0.81798e-03_rb,0.74510e-03_rb,0.66073e-03_rb, & & 0.55889e-03_rb,0.44038e-03_rb,0.30023e-03_rb,0.39438e-04_rb /) kao(:, 2, 7, 5) = (/ & & 0.84860e-03_rb,0.89183e-03_rb,0.84311e-03_rb,0.77202e-03_rb,0.68677e-03_rb, & & 0.58412e-03_rb,0.46261e-03_rb,0.31513e-03_rb,0.44026e-04_rb /) kao(:, 3, 7, 5) = (/ & & 0.85156e-03_rb,0.90640e-03_rb,0.86357e-03_rb,0.79472e-03_rb,0.70843e-03_rb, & & 0.60616e-03_rb,0.48333e-03_rb,0.32962e-03_rb,0.48169e-04_rb /) kao(:, 4, 7, 5) = (/ & & 0.84996e-03_rb,0.91804e-03_rb,0.88000e-03_rb,0.81332e-03_rb,0.72741e-03_rb, & & 0.62668e-03_rb,0.50295e-03_rb,0.34425e-03_rb,0.52632e-04_rb /) kao(:, 5, 7, 5) = (/ & & 0.84411e-03_rb,0.92502e-03_rb,0.89195e-03_rb,0.82771e-03_rb,0.74479e-03_rb, & & 0.64630e-03_rb,0.52177e-03_rb,0.35838e-03_rb,0.57490e-04_rb /) kao(:, 1, 8, 5) = (/ & & 0.72566e-03_rb,0.75029e-03_rb,0.70410e-03_rb,0.64085e-03_rb,0.56881e-03_rb, & & 0.48163e-03_rb,0.37585e-03_rb,0.26029e-03_rb,0.35173e-04_rb /) kao(:, 2, 8, 5) = (/ & & 0.73526e-03_rb,0.76878e-03_rb,0.72724e-03_rb,0.66569e-03_rb,0.59239e-03_rb, & & 0.50357e-03_rb,0.39670e-03_rb,0.27234e-03_rb,0.38442e-04_rb /) kao(:, 3, 8, 5) = (/ & & 0.73942e-03_rb,0.78240e-03_rb,0.74617e-03_rb,0.68580e-03_rb,0.61175e-03_rb, & & 0.52308e-03_rb,0.41633e-03_rb,0.28548e-03_rb,0.42620e-04_rb /) kao(:, 4, 8, 5) = (/ & & 0.73787e-03_rb,0.79331e-03_rb,0.76108e-03_rb,0.70193e-03_rb,0.62821e-03_rb, & & 0.54092e-03_rb,0.43381e-03_rb,0.29821e-03_rb,0.47013e-04_rb /) kao(:, 5, 8, 5) = (/ & & 0.73365e-03_rb,0.79895e-03_rb,0.77125e-03_rb,0.71463e-03_rb,0.64295e-03_rb, & & 0.55753e-03_rb,0.45033e-03_rb,0.31091e-03_rb,0.51519e-04_rb /) kao(:, 1, 9, 5) = (/ & & 0.62112e-03_rb,0.63900e-03_rb,0.60071e-03_rb,0.54641e-03_rb,0.48585e-03_rb, & & 0.41219e-03_rb,0.31988e-03_rb,0.22088e-03_rb,0.39225e-04_rb /) kao(:, 2, 9, 5) = (/ & & 0.63089e-03_rb,0.65678e-03_rb,0.62144e-03_rb,0.56855e-03_rb,0.50663e-03_rb, & & 0.43158e-03_rb,0.33912e-03_rb,0.23261e-03_rb,0.43145e-04_rb /) kao(:, 3, 9, 5) = (/ & & 0.63630e-03_rb,0.67023e-03_rb,0.63841e-03_rb,0.58635e-03_rb,0.52398e-03_rb, & & 0.44876e-03_rb,0.35619e-03_rb,0.24341e-03_rb,0.47182e-04_rb /) kao(:, 4, 9, 5) = (/ & & 0.63678e-03_rb,0.68001e-03_rb,0.65143e-03_rb,0.60045e-03_rb,0.53807e-03_rb, & & 0.46446e-03_rb,0.37160e-03_rb,0.25517e-03_rb,0.51310e-04_rb /) kao(:, 5, 9, 5) = (/ & & 0.63384e-03_rb,0.68558e-03_rb,0.66049e-03_rb,0.61133e-03_rb,0.55067e-03_rb, & & 0.47828e-03_rb,0.38622e-03_rb,0.26607e-03_rb,0.55652e-04_rb /) kao(:, 1,10, 5) = (/ & & 0.52818e-03_rb,0.54302e-03_rb,0.51109e-03_rb,0.46524e-03_rb,0.41303e-03_rb, & & 0.35089e-03_rb,0.27050e-03_rb,0.18719e-03_rb,0.51897e-04_rb /) kao(:, 2,10, 5) = (/ & & 0.53874e-03_rb,0.56000e-03_rb,0.52974e-03_rb,0.48429e-03_rb,0.43151e-03_rb, & & 0.36826e-03_rb,0.28749e-03_rb,0.19624e-03_rb,0.57480e-04_rb /) kao(:, 3,10, 5) = (/ & & 0.54407e-03_rb,0.57298e-03_rb,0.54499e-03_rb,0.50007e-03_rb,0.44685e-03_rb, & & 0.38282e-03_rb,0.30218e-03_rb,0.20623e-03_rb,0.63250e-04_rb /) kao(:, 4,10, 5) = (/ & & 0.54510e-03_rb,0.58221e-03_rb,0.55605e-03_rb,0.51259e-03_rb,0.45923e-03_rb, & & 0.39550e-03_rb,0.31547e-03_rb,0.21632e-03_rb,0.68339e-04_rb /) kao(:, 5,10, 5) = (/ & & 0.54335e-03_rb,0.58744e-03_rb,0.56412e-03_rb,0.52185e-03_rb,0.47008e-03_rb, & & 0.40728e-03_rb,0.32798e-03_rb,0.22618e-03_rb,0.72964e-04_rb /) kao(:, 1,11, 5) = (/ & & 0.44901e-03_rb,0.46427e-03_rb,0.43915e-03_rb,0.40187e-03_rb,0.35719e-03_rb, & & 0.30380e-03_rb,0.23427e-03_rb,0.15956e-03_rb,0.52228e-04_rb /) kao(:, 2,11, 5) = (/ & & 0.45685e-03_rb,0.47845e-03_rb,0.45475e-03_rb,0.41772e-03_rb,0.37275e-03_rb, & & 0.31798e-03_rb,0.24772e-03_rb,0.16817e-03_rb,0.56979e-04_rb /) kao(:, 3,11, 5) = (/ & & 0.46005e-03_rb,0.48879e-03_rb,0.46665e-03_rb,0.43038e-03_rb,0.38526e-03_rb, & & 0.32982e-03_rb,0.25983e-03_rb,0.17707e-03_rb,0.61788e-04_rb /) kao(:, 4,11, 5) = (/ & & 0.46029e-03_rb,0.49540e-03_rb,0.47547e-03_rb,0.44015e-03_rb,0.39539e-03_rb, & & 0.34025e-03_rb,0.27087e-03_rb,0.18596e-03_rb,0.66537e-04_rb /) kao(:, 5,11, 5) = (/ & & 0.45760e-03_rb,0.49879e-03_rb,0.48175e-03_rb,0.44812e-03_rb,0.40429e-03_rb, & & 0.34971e-03_rb,0.28105e-03_rb,0.19422e-03_rb,0.70982e-04_rb /) kao(:, 1,12, 5) = (/ & & 0.37789e-03_rb,0.39359e-03_rb,0.37439e-03_rb,0.34335e-03_rb,0.30516e-03_rb, & & 0.25987e-03_rb,0.20136e-03_rb,0.13616e-03_rb,0.47471e-04_rb /) kao(:, 2,12, 5) = (/ & & 0.38345e-03_rb,0.40460e-03_rb,0.38678e-03_rb,0.35616e-03_rb,0.31793e-03_rb, & & 0.27155e-03_rb,0.21219e-03_rb,0.14366e-03_rb,0.51576e-04_rb /) kao(:, 3,12, 5) = (/ & & 0.38556e-03_rb,0.41241e-03_rb,0.39583e-03_rb,0.36622e-03_rb,0.32808e-03_rb, & & 0.28132e-03_rb,0.22259e-03_rb,0.15133e-03_rb,0.55529e-04_rb /) kao(:, 4,12, 5) = (/ & & 0.38464e-03_rb,0.41687e-03_rb,0.40247e-03_rb,0.37394e-03_rb,0.33650e-03_rb, & & 0.28994e-03_rb,0.23157e-03_rb,0.15870e-03_rb,0.59557e-04_rb /) kao(:, 5,12, 5) = (/ & & 0.38119e-03_rb,0.41880e-03_rb,0.40725e-03_rb,0.38009e-03_rb,0.34354e-03_rb, & & 0.29781e-03_rb,0.23974e-03_rb,0.16572e-03_rb,0.63195e-04_rb /) kao(:, 1,13, 5) = (/ & & 0.31518e-03_rb,0.33080e-03_rb,0.31644e-03_rb,0.29051e-03_rb,0.25824e-03_rb, & & 0.21997e-03_rb,0.17074e-03_rb,0.11585e-03_rb,0.39419e-04_rb /) kao(:, 2,13, 5) = (/ & & 0.31945e-03_rb,0.33947e-03_rb,0.32620e-03_rb,0.30064e-03_rb,0.26839e-03_rb, & & 0.22968e-03_rb,0.17999e-03_rb,0.12241e-03_rb,0.42717e-04_rb /) kao(:, 3,13, 5) = (/ & & 0.32042e-03_rb,0.34518e-03_rb,0.33311e-03_rb,0.30844e-03_rb,0.27653e-03_rb, & & 0.23733e-03_rb,0.18840e-03_rb,0.12892e-03_rb,0.45799e-04_rb /) kao(:, 4,13, 5) = (/ & & 0.31877e-03_rb,0.34829e-03_rb,0.33813e-03_rb,0.31466e-03_rb,0.28316e-03_rb, & & 0.24429e-03_rb,0.19577e-03_rb,0.13500e-03_rb,0.49095e-04_rb /) kao(:, 5,13, 5) = (/ & & 0.31533e-03_rb,0.34943e-03_rb,0.34164e-03_rb,0.31953e-03_rb,0.28883e-03_rb, & & 0.25064e-03_rb,0.20247e-03_rb,0.14079e-03_rb,0.52225e-04_rb /) kao(:, 1, 1, 6) = (/ & & 0.30073e-02_rb,0.30215e-02_rb,0.28549e-02_rb,0.26145e-02_rb,0.23223e-02_rb, & & 0.19698e-02_rb,0.15631e-02_rb,0.10671e-02_rb,0.34349e-03_rb /) kao(:, 2, 1, 6) = (/ & & 0.30045e-02_rb,0.30464e-02_rb,0.29000e-02_rb,0.26682e-02_rb,0.23795e-02_rb, & & 0.20320e-02_rb,0.16241e-02_rb,0.11180e-02_rb,0.37241e-03_rb /) kao(:, 3, 1, 6) = (/ & & 0.29924e-02_rb,0.30694e-02_rb,0.29376e-02_rb,0.27170e-02_rb,0.24327e-02_rb, & & 0.20955e-02_rb,0.16828e-02_rb,0.11692e-02_rb,0.41183e-03_rb /) kao(:, 4, 1, 6) = (/ & & 0.29732e-02_rb,0.30875e-02_rb,0.29723e-02_rb,0.27617e-02_rb,0.24862e-02_rb, & & 0.21555e-02_rb,0.17426e-02_rb,0.12186e-02_rb,0.45672e-03_rb /) kao(:, 5, 1, 6) = (/ & & 0.29511e-02_rb,0.31004e-02_rb,0.30014e-02_rb,0.28043e-02_rb,0.25375e-02_rb, & & 0.22174e-02_rb,0.18018e-02_rb,0.12656e-02_rb,0.49848e-03_rb /) kao(:, 1, 2, 6) = (/ & & 0.28011e-02_rb,0.28061e-02_rb,0.26513e-02_rb,0.24171e-02_rb,0.21391e-02_rb, & & 0.18145e-02_rb,0.14290e-02_rb,0.97808e-03_rb,0.28283e-03_rb /) kao(:, 2, 2, 6) = (/ & & 0.28038e-02_rb,0.28333e-02_rb,0.26971e-02_rb,0.24708e-02_rb,0.21906e-02_rb, & & 0.18715e-02_rb,0.14859e-02_rb,0.10236e-02_rb,0.31088e-03_rb /) kao(:, 3, 2, 6) = (/ & & 0.27978e-02_rb,0.28587e-02_rb,0.27386e-02_rb,0.25159e-02_rb,0.22406e-02_rb, & & 0.19256e-02_rb,0.15398e-02_rb,0.10695e-02_rb,0.34605e-03_rb /) kao(:, 4, 2, 6) = (/ & & 0.27864e-02_rb,0.28782e-02_rb,0.27737e-02_rb,0.25561e-02_rb,0.22888e-02_rb, & & 0.19778e-02_rb,0.15963e-02_rb,0.11144e-02_rb,0.38043e-03_rb /) kao(:, 5, 2, 6) = (/ & & 0.27682e-02_rb,0.28941e-02_rb,0.28027e-02_rb,0.25952e-02_rb,0.23337e-02_rb, & & 0.20308e-02_rb,0.16518e-02_rb,0.11583e-02_rb,0.41249e-03_rb /) kao(:, 1, 3, 6) = (/ & & 0.26013e-02_rb,0.25925e-02_rb,0.24368e-02_rb,0.22059e-02_rb,0.19447e-02_rb, & & 0.16443e-02_rb,0.12895e-02_rb,0.88356e-03_rb,0.22980e-03_rb /) kao(:, 2, 3, 6) = (/ & & 0.26118e-02_rb,0.26228e-02_rb,0.24826e-02_rb,0.22596e-02_rb,0.19971e-02_rb, & & 0.16971e-02_rb,0.13425e-02_rb,0.92292e-03_rb,0.25666e-03_rb /) kao(:, 3, 3, 6) = (/ & & 0.26121e-02_rb,0.26511e-02_rb,0.25221e-02_rb,0.23045e-02_rb,0.20442e-02_rb, & & 0.17465e-02_rb,0.13937e-02_rb,0.96423e-03_rb,0.28307e-03_rb /) kao(:, 4, 3, 6) = (/ & & 0.26050e-02_rb,0.26757e-02_rb,0.25536e-02_rb,0.23446e-02_rb,0.20883e-02_rb, & & 0.17925e-02_rb,0.14453e-02_rb,0.10074e-02_rb,0.30818e-03_rb /) kao(:, 5, 3, 6) = (/ & & 0.25933e-02_rb,0.26944e-02_rb,0.25823e-02_rb,0.23794e-02_rb,0.21318e-02_rb, & & 0.18378e-02_rb,0.14965e-02_rb,0.10492e-02_rb,0.33812e-03_rb /) kao(:, 1, 4, 6) = (/ & & 0.24078e-02_rb,0.23894e-02_rb,0.22370e-02_rb,0.20125e-02_rb,0.17599e-02_rb, & & 0.14763e-02_rb,0.11554e-02_rb,0.78494e-03_rb,0.18813e-03_rb /) kao(:, 2, 4, 6) = (/ & & 0.24225e-02_rb,0.24253e-02_rb,0.22813e-02_rb,0.20638e-02_rb,0.18093e-02_rb, & & 0.15251e-02_rb,0.12031e-02_rb,0.82373e-03_rb,0.21030e-03_rb /) kao(:, 3, 4, 6) = (/ & & 0.24294e-02_rb,0.24564e-02_rb,0.23198e-02_rb,0.21085e-02_rb,0.18532e-02_rb, & & 0.15708e-02_rb,0.12482e-02_rb,0.86229e-03_rb,0.23129e-03_rb /) kao(:, 4, 4, 6) = (/ & & 0.24309e-02_rb,0.24808e-02_rb,0.23546e-02_rb,0.21467e-02_rb,0.18923e-02_rb, & & 0.16129e-02_rb,0.12944e-02_rb,0.90119e-03_rb,0.25224e-03_rb /) kao(:, 5, 4, 6) = (/ & & 0.24223e-02_rb,0.24983e-02_rb,0.23839e-02_rb,0.21783e-02_rb,0.19305e-02_rb, & & 0.16540e-02_rb,0.13401e-02_rb,0.94049e-03_rb,0.27779e-03_rb /) kao(:, 1, 5, 6) = (/ & & 0.22071e-02_rb,0.21851e-02_rb,0.20436e-02_rb,0.18357e-02_rb,0.15952e-02_rb, & & 0.13304e-02_rb,0.10307e-02_rb,0.69163e-03_rb,0.14983e-03_rb /) kao(:, 2, 5, 6) = (/ & & 0.22284e-02_rb,0.22243e-02_rb,0.20887e-02_rb,0.18839e-02_rb,0.16450e-02_rb, & & 0.13762e-02_rb,0.10736e-02_rb,0.72602e-03_rb,0.16732e-03_rb /) kao(:, 3, 5, 6) = (/ & & 0.22426e-02_rb,0.22593e-02_rb,0.21270e-02_rb,0.19281e-02_rb,0.16889e-02_rb, & & 0.14169e-02_rb,0.11148e-02_rb,0.76201e-03_rb,0.18420e-03_rb /) kao(:, 4, 5, 6) = (/ & & 0.22476e-02_rb,0.22863e-02_rb,0.21609e-02_rb,0.19676e-02_rb,0.17258e-02_rb, & & 0.14525e-02_rb,0.11537e-02_rb,0.79815e-03_rb,0.20325e-03_rb /) kao(:, 5, 5, 6) = (/ & & 0.22399e-02_rb,0.23048e-02_rb,0.21912e-02_rb,0.19974e-02_rb,0.17586e-02_rb, & & 0.14880e-02_rb,0.11934e-02_rb,0.83564e-03_rb,0.22470e-03_rb /) kao(:, 1, 6, 6) = (/ & & 0.20075e-02_rb,0.19795e-02_rb,0.18447e-02_rb,0.16541e-02_rb,0.14341e-02_rb, & & 0.11951e-02_rb,0.92238e-03_rb,0.60660e-03_rb,0.12381e-03_rb /) kao(:, 2, 6, 6) = (/ & & 0.20344e-02_rb,0.20227e-02_rb,0.18912e-02_rb,0.17028e-02_rb,0.14828e-02_rb, & & 0.12404e-02_rb,0.96234e-03_rb,0.63833e-03_rb,0.13822e-03_rb /) kao(:, 3, 6, 6) = (/ & & 0.20513e-02_rb,0.20598e-02_rb,0.19311e-02_rb,0.17466e-02_rb,0.15267e-02_rb, & & 0.12805e-02_rb,0.99815e-03_rb,0.66987e-03_rb,0.15138e-03_rb /) kao(:, 4, 6, 6) = (/ & & 0.20576e-02_rb,0.20878e-02_rb,0.19661e-02_rb,0.17857e-02_rb,0.15647e-02_rb, & & 0.13147e-02_rb,0.10319e-02_rb,0.70266e-03_rb,0.16753e-03_rb /) kao(:, 5, 6, 6) = (/ & & 0.20521e-02_rb,0.21067e-02_rb,0.19938e-02_rb,0.18157e-02_rb,0.15969e-02_rb, & & 0.13475e-02_rb,0.10644e-02_rb,0.73524e-03_rb,0.18430e-03_rb /) kao(:, 1, 7, 6) = (/ & & 0.17951e-02_rb,0.17708e-02_rb,0.16476e-02_rb,0.14764e-02_rb,0.12769e-02_rb, & & 0.10613e-02_rb,0.82141e-03_rb,0.53387e-03_rb,0.10356e-03_rb /) kao(:, 2, 7, 6) = (/ & & 0.18257e-02_rb,0.18161e-02_rb,0.16970e-02_rb,0.15264e-02_rb,0.13250e-02_rb, & & 0.11052e-02_rb,0.85771e-03_rb,0.56341e-03_rb,0.11419e-03_rb /) kao(:, 3, 7, 6) = (/ & & 0.18457e-02_rb,0.18541e-02_rb,0.17382e-02_rb,0.15700e-02_rb,0.13685e-02_rb, & & 0.11444e-02_rb,0.89062e-03_rb,0.59265e-03_rb,0.12737e-03_rb /) kao(:, 4, 7, 6) = (/ & & 0.18534e-02_rb,0.18833e-02_rb,0.17713e-02_rb,0.16066e-02_rb,0.14063e-02_rb, & & 0.11787e-02_rb,0.92220e-03_rb,0.62067e-03_rb,0.14148e-03_rb /) kao(:, 5, 7, 6) = (/ & & 0.18508e-02_rb,0.19025e-02_rb,0.17986e-02_rb,0.16377e-02_rb,0.14382e-02_rb, & & 0.12095e-02_rb,0.95313e-03_rb,0.64883e-03_rb,0.15624e-03_rb /) kao(:, 1, 8, 6) = (/ & & 0.15853e-02_rb,0.15606e-02_rb,0.14491e-02_rb,0.13005e-02_rb,0.11253e-02_rb, & & 0.93388e-03_rb,0.72631e-03_rb,0.46832e-03_rb,0.90402e-04_rb /) kao(:, 2, 8, 6) = (/ & & 0.16191e-02_rb,0.16074e-02_rb,0.14980e-02_rb,0.13497e-02_rb,0.11730e-02_rb, & & 0.97691e-03_rb,0.76027e-03_rb,0.49835e-03_rb,0.10124e-03_rb /) kao(:, 3, 8, 6) = (/ & & 0.16393e-02_rb,0.16464e-02_rb,0.15392e-02_rb,0.13927e-02_rb,0.12147e-02_rb, & & 0.10153e-02_rb,0.79129e-03_rb,0.52537e-03_rb,0.11276e-03_rb /) kao(:, 4, 8, 6) = (/ & & 0.16487e-02_rb,0.16729e-02_rb,0.15721e-02_rb,0.14286e-02_rb,0.12504e-02_rb, & & 0.10480e-02_rb,0.82072e-03_rb,0.55187e-03_rb,0.12515e-03_rb /) kao(:, 5, 8, 6) = (/ & & 0.16472e-02_rb,0.16924e-02_rb,0.15977e-02_rb,0.14588e-02_rb,0.12817e-02_rb, & & 0.10777e-02_rb,0.84873e-03_rb,0.57800e-03_rb,0.13784e-03_rb /) kao(:, 1, 9, 6) = (/ & & 0.13936e-02_rb,0.13674e-02_rb,0.12635e-02_rb,0.11331e-02_rb,0.97871e-03_rb, & & 0.81331e-03_rb,0.63480e-03_rb,0.40910e-03_rb,0.92222e-04_rb /) kao(:, 2, 9, 6) = (/ & & 0.14271e-02_rb,0.14126e-02_rb,0.13114e-02_rb,0.11804e-02_rb,0.10248e-02_rb, & & 0.85405e-03_rb,0.66828e-03_rb,0.43677e-03_rb,0.10207e-03_rb /) kao(:, 3, 9, 6) = (/ & & 0.14461e-02_rb,0.14478e-02_rb,0.13500e-02_rb,0.12219e-02_rb,0.10647e-02_rb, & & 0.89058e-03_rb,0.69816e-03_rb,0.46305e-03_rb,0.11262e-03_rb /) kao(:, 4, 9, 6) = (/ & & 0.14547e-02_rb,0.14726e-02_rb,0.13807e-02_rb,0.12557e-02_rb,0.10996e-02_rb, & & 0.92247e-03_rb,0.72520e-03_rb,0.48654e-03_rb,0.12376e-03_rb /) kao(:, 5, 9, 6) = (/ & & 0.14563e-02_rb,0.14902e-02_rb,0.14046e-02_rb,0.12841e-02_rb,0.11288e-02_rb, & & 0.95105e-03_rb,0.75065e-03_rb,0.51065e-03_rb,0.13556e-03_rb /) kao(:, 1,10, 6) = (/ & & 0.12161e-02_rb,0.11928e-02_rb,0.11004e-02_rb,0.98725e-03_rb,0.85318e-03_rb, & & 0.70775e-03_rb,0.55081e-03_rb,0.35481e-03_rb,0.12422e-03_rb /) kao(:, 2,10, 6) = (/ & & 0.12463e-02_rb,0.12352e-02_rb,0.11444e-02_rb,0.10316e-02_rb,0.89480e-03_rb, & & 0.74560e-03_rb,0.58282e-03_rb,0.38195e-03_rb,0.13273e-03_rb /) kao(:, 3,10, 6) = (/ & & 0.12646e-02_rb,0.12662e-02_rb,0.11796e-02_rb,0.10687e-02_rb,0.93096e-03_rb, & & 0.77883e-03_rb,0.61138e-03_rb,0.40526e-03_rb,0.14193e-03_rb /) kao(:, 4,10, 6) = (/ & & 0.12733e-02_rb,0.12880e-02_rb,0.12074e-02_rb,0.10979e-02_rb,0.96169e-03_rb, & & 0.80809e-03_rb,0.63689e-03_rb,0.42724e-03_rb,0.15291e-03_rb /) kao(:, 5,10, 6) = (/ & & 0.12740e-02_rb,0.13044e-02_rb,0.12293e-02_rb,0.11231e-02_rb,0.98752e-03_rb, & & 0.83380e-03_rb,0.66030e-03_rb,0.44847e-03_rb,0.16460e-03_rb /) kao(:, 1,11, 6) = (/ & & 0.10656e-02_rb,0.10497e-02_rb,0.96881e-03_rb,0.87108e-03_rb,0.75627e-03_rb, & & 0.62893e-03_rb,0.48955e-03_rb,0.31741e-03_rb,0.13016e-03_rb /) kao(:, 2,11, 6) = (/ & & 0.10879e-02_rb,0.10821e-02_rb,0.10046e-02_rb,0.90804e-03_rb,0.79130e-03_rb, & & 0.66235e-03_rb,0.51807e-03_rb,0.34003e-03_rb,0.13779e-03_rb /) kao(:, 3,11, 6) = (/ & & 0.11001e-02_rb,0.11057e-02_rb,0.10327e-02_rb,0.93770e-03_rb,0.82120e-03_rb, & & 0.69087e-03_rb,0.54346e-03_rb,0.36047e-03_rb,0.14411e-03_rb /) kao(:, 4,11, 6) = (/ & & 0.11047e-02_rb,0.11226e-02_rb,0.10548e-02_rb,0.96212e-03_rb,0.84667e-03_rb, & & 0.71575e-03_rb,0.56548e-03_rb,0.37954e-03_rb,0.15311e-03_rb /) kao(:, 5,11, 6) = (/ & & 0.11028e-02_rb,0.11345e-02_rb,0.10715e-02_rb,0.98143e-03_rb,0.86845e-03_rb, & & 0.73791e-03_rb,0.58600e-03_rb,0.39874e-03_rb,0.16257e-03_rb /) kao(:, 1,12, 6) = (/ & & 0.92541e-03_rb,0.91485e-03_rb,0.84575e-03_rb,0.76287e-03_rb,0.66530e-03_rb, & & 0.55435e-03_rb,0.43055e-03_rb,0.28106e-03_rb,0.11779e-03_rb /) kao(:, 2,12, 6) = (/ & & 0.94153e-03_rb,0.94015e-03_rb,0.87425e-03_rb,0.79221e-03_rb,0.69422e-03_rb, & & 0.58249e-03_rb,0.45555e-03_rb,0.30043e-03_rb,0.12541e-03_rb /) kao(:, 3,12, 6) = (/ & & 0.95043e-03_rb,0.95859e-03_rb,0.89645e-03_rb,0.81618e-03_rb,0.71892e-03_rb, & & 0.60660e-03_rb,0.47691e-03_rb,0.31810e-03_rb,0.13086e-03_rb /) kao(:, 4,12, 6) = (/ & & 0.95300e-03_rb,0.97180e-03_rb,0.91414e-03_rb,0.83540e-03_rb,0.73965e-03_rb, & & 0.62755e-03_rb,0.49627e-03_rb,0.33494e-03_rb,0.13792e-03_rb /) kao(:, 5,12, 6) = (/ & & 0.94924e-03_rb,0.98033e-03_rb,0.92629e-03_rb,0.85073e-03_rb,0.75722e-03_rb, & & 0.64562e-03_rb,0.51410e-03_rb,0.35114e-03_rb,0.14650e-03_rb /) kao(:, 1,13, 6) = (/ & & 0.79344e-03_rb,0.78971e-03_rb,0.73267e-03_rb,0.66405e-03_rb,0.58083e-03_rb, & & 0.48392e-03_rb,0.37549e-03_rb,0.24569e-03_rb,0.97034e-04_rb /) kao(:, 2,13, 6) = (/ & & 0.80574e-03_rb,0.81004e-03_rb,0.75547e-03_rb,0.68809e-03_rb,0.60484e-03_rb, & & 0.50707e-03_rb,0.39618e-03_rb,0.26227e-03_rb,0.10267e-03_rb /) kao(:, 3,13, 6) = (/ & & 0.81227e-03_rb,0.82486e-03_rb,0.77408e-03_rb,0.70758e-03_rb,0.62511e-03_rb, & & 0.52731e-03_rb,0.41439e-03_rb,0.27759e-03_rb,0.10742e-03_rb /) kao(:, 4,13, 6) = (/ & & 0.81298e-03_rb,0.83538e-03_rb,0.78743e-03_rb,0.72262e-03_rb,0.64193e-03_rb, & & 0.54449e-03_rb,0.43080e-03_rb,0.29211e-03_rb,0.11325e-03_rb /) kao(:, 5,13, 6) = (/ & & 0.80893e-03_rb,0.84184e-03_rb,0.79706e-03_rb,0.73516e-03_rb,0.65638e-03_rb, & & 0.55984e-03_rb,0.44607e-03_rb,0.30621e-03_rb,0.12059e-03_rb /) kao(:, 1, 1, 7) = (/ & & 0.54732e-02_rb,0.53034e-02_rb,0.49969e-02_rb,0.45431e-02_rb,0.40134e-02_rb, & & 0.34010e-02_rb,0.26972e-02_rb,0.18637e-02_rb,0.96692e-03_rb /) kao(:, 2, 1, 7) = (/ & & 0.54607e-02_rb,0.53367e-02_rb,0.50546e-02_rb,0.46321e-02_rb,0.41099e-02_rb, & & 0.34970e-02_rb,0.27999e-02_rb,0.19729e-02_rb,0.11063e-02_rb /) kao(:, 3, 1, 7) = (/ & & 0.54405e-02_rb,0.53637e-02_rb,0.51145e-02_rb,0.47117e-02_rb,0.41981e-02_rb, & & 0.35927e-02_rb,0.29070e-02_rb,0.20850e-02_rb,0.12360e-02_rb /) kao(:, 4, 1, 7) = (/ & & 0.54052e-02_rb,0.53858e-02_rb,0.51679e-02_rb,0.47829e-02_rb,0.42844e-02_rb, & & 0.36942e-02_rb,0.30161e-02_rb,0.22030e-02_rb,0.13785e-02_rb /) kao(:, 5, 1, 7) = (/ & & 0.53549e-02_rb,0.54029e-02_rb,0.52131e-02_rb,0.48529e-02_rb,0.43733e-02_rb, & & 0.37946e-02_rb,0.31262e-02_rb,0.23268e-02_rb,0.15336e-02_rb /) kao(:, 1, 2, 7) = (/ & & 0.52482e-02_rb,0.50940e-02_rb,0.47786e-02_rb,0.43454e-02_rb,0.38186e-02_rb, & & 0.32129e-02_rb,0.25325e-02_rb,0.17227e-02_rb,0.80430e-03_rb /) kao(:, 2, 2, 7) = (/ & & 0.52403e-02_rb,0.51313e-02_rb,0.48370e-02_rb,0.44315e-02_rb,0.39109e-02_rb, & & 0.33052e-02_rb,0.26254e-02_rb,0.18226e-02_rb,0.90614e-03_rb /) kao(:, 3, 2, 7) = (/ & & 0.52188e-02_rb,0.51614e-02_rb,0.48948e-02_rb,0.45073e-02_rb,0.39963e-02_rb, & & 0.33961e-02_rb,0.27198e-02_rb,0.19222e-02_rb,0.10146e-02_rb /) kao(:, 4, 2, 7) = (/ & & 0.51826e-02_rb,0.51837e-02_rb,0.49460e-02_rb,0.45770e-02_rb,0.40791e-02_rb, & & 0.34891e-02_rb,0.28146e-02_rb,0.20278e-02_rb,0.11325e-02_rb /) kao(:, 5, 2, 7) = (/ & & 0.51359e-02_rb,0.51960e-02_rb,0.49902e-02_rb,0.46430e-02_rb,0.41602e-02_rb, & & 0.35811e-02_rb,0.29127e-02_rb,0.21431e-02_rb,0.12633e-02_rb /) kao(:, 1, 3, 7) = (/ & & 0.49876e-02_rb,0.48388e-02_rb,0.45133e-02_rb,0.40992e-02_rb,0.35901e-02_rb, & & 0.30030e-02_rb,0.23527e-02_rb,0.15765e-02_rb,0.64714e-03_rb /) kao(:, 2, 3, 7) = (/ & & 0.49850e-02_rb,0.48808e-02_rb,0.45736e-02_rb,0.41821e-02_rb,0.36790e-02_rb, & & 0.30941e-02_rb,0.24388e-02_rb,0.16655e-02_rb,0.72927e-03_rb /) kao(:, 3, 3, 7) = (/ & & 0.49660e-02_rb,0.49117e-02_rb,0.46346e-02_rb,0.42593e-02_rb,0.37631e-02_rb, & & 0.31820e-02_rb,0.25243e-02_rb,0.17543e-02_rb,0.81771e-03_rb /) kao(:, 4, 3, 7) = (/ & & 0.49361e-02_rb,0.49307e-02_rb,0.46909e-02_rb,0.43285e-02_rb,0.38459e-02_rb, & & 0.32679e-02_rb,0.26083e-02_rb,0.18450e-02_rb,0.91578e-03_rb /) kao(:, 5, 3, 7) = (/ & & 0.48943e-02_rb,0.49413e-02_rb,0.47366e-02_rb,0.43959e-02_rb,0.39239e-02_rb, & & 0.33496e-02_rb,0.26941e-02_rb,0.19416e-02_rb,0.10197e-02_rb /) kao(:, 1, 4, 7) = (/ & & 0.46848e-02_rb,0.45423e-02_rb,0.42109e-02_rb,0.38147e-02_rb,0.33318e-02_rb, & & 0.27806e-02_rb,0.21628e-02_rb,0.14435e-02_rb,0.52019e-03_rb /) kao(:, 2, 4, 7) = (/ & & 0.46885e-02_rb,0.45846e-02_rb,0.42767e-02_rb,0.38967e-02_rb,0.34228e-02_rb, & & 0.28698e-02_rb,0.22469e-02_rb,0.15180e-02_rb,0.58537e-03_rb /) kao(:, 3, 4, 7) = (/ & & 0.46784e-02_rb,0.46158e-02_rb,0.43389e-02_rb,0.39718e-02_rb,0.35088e-02_rb, & & 0.29561e-02_rb,0.23285e-02_rb,0.15932e-02_rb,0.65783e-03_rb /) kao(:, 4, 4, 7) = (/ & & 0.46546e-02_rb,0.46379e-02_rb,0.43907e-02_rb,0.40421e-02_rb,0.35928e-02_rb, & & 0.30394e-02_rb,0.24053e-02_rb,0.16703e-02_rb,0.73788e-03_rb /) kao(:, 5, 4, 7) = (/ & & 0.46218e-02_rb,0.46560e-02_rb,0.44359e-02_rb,0.41109e-02_rb,0.36691e-02_rb, & & 0.31156e-02_rb,0.24821e-02_rb,0.17515e-02_rb,0.82261e-03_rb /) kao(:, 1, 5, 7) = (/ & & 0.43680e-02_rb,0.42271e-02_rb,0.38928e-02_rb,0.35080e-02_rb,0.30576e-02_rb, & & 0.25405e-02_rb,0.19725e-02_rb,0.13117e-02_rb,0.42455e-03_rb /) kao(:, 2, 5, 7) = (/ & & 0.43836e-02_rb,0.42742e-02_rb,0.39603e-02_rb,0.35901e-02_rb,0.31440e-02_rb, & & 0.26294e-02_rb,0.20540e-02_rb,0.13812e-02_rb,0.47676e-03_rb /) kao(:, 3, 5, 7) = (/ & & 0.43831e-02_rb,0.43074e-02_rb,0.40201e-02_rb,0.36636e-02_rb,0.32261e-02_rb, & & 0.27164e-02_rb,0.21330e-02_rb,0.14464e-02_rb,0.53568e-03_rb /) kao(:, 4, 5, 7) = (/ & & 0.43690e-02_rb,0.43343e-02_rb,0.40742e-02_rb,0.37289e-02_rb,0.33089e-02_rb, & & 0.28017e-02_rb,0.22054e-02_rb,0.15130e-02_rb,0.59880e-03_rb /) kao(:, 5, 5, 7) = (/ & & 0.43473e-02_rb,0.43575e-02_rb,0.41195e-02_rb,0.37951e-02_rb,0.33885e-02_rb, & & 0.28774e-02_rb,0.22767e-02_rb,0.15816e-02_rb,0.66710e-03_rb /) kao(:, 1, 6, 7) = (/ & & 0.40714e-02_rb,0.39122e-02_rb,0.35777e-02_rb,0.32091e-02_rb,0.27872e-02_rb, & & 0.22994e-02_rb,0.17735e-02_rb,0.11790e-02_rb,0.33561e-03_rb /) kao(:, 2, 6, 7) = (/ & & 0.40973e-02_rb,0.39625e-02_rb,0.36472e-02_rb,0.32877e-02_rb,0.28694e-02_rb, & & 0.23826e-02_rb,0.18515e-02_rb,0.12426e-02_rb,0.37756e-03_rb /) kao(:, 3, 6, 7) = (/ & & 0.41108e-02_rb,0.40033e-02_rb,0.37116e-02_rb,0.33595e-02_rb,0.29464e-02_rb, & & 0.24646e-02_rb,0.19290e-02_rb,0.13037e-02_rb,0.42584e-03_rb /) kao(:, 4, 6, 7) = (/ & & 0.41078e-02_rb,0.40382e-02_rb,0.37677e-02_rb,0.34232e-02_rb,0.30216e-02_rb, & & 0.25463e-02_rb,0.20016e-02_rb,0.13624e-02_rb,0.47733e-03_rb /) kao(:, 5, 6, 7) = (/ & & 0.40964e-02_rb,0.40666e-02_rb,0.38151e-02_rb,0.34890e-02_rb,0.30973e-02_rb, & & 0.26200e-02_rb,0.20705e-02_rb,0.14239e-02_rb,0.53330e-03_rb /) kao(:, 1, 7, 7) = (/ & & 0.37806e-02_rb,0.36256e-02_rb,0.32982e-02_rb,0.29389e-02_rb,0.25345e-02_rb, & & 0.20760e-02_rb,0.15879e-02_rb,0.10489e-02_rb,0.28018e-03_rb /) kao(:, 2, 7, 7) = (/ & & 0.38204e-02_rb,0.36872e-02_rb,0.33713e-02_rb,0.30154e-02_rb,0.26103e-02_rb, & & 0.21557e-02_rb,0.16619e-02_rb,0.11071e-02_rb,0.31519e-03_rb /) kao(:, 3, 7, 7) = (/ & & 0.38460e-02_rb,0.37374e-02_rb,0.34369e-02_rb,0.30817e-02_rb,0.26834e-02_rb, & & 0.22319e-02_rb,0.17344e-02_rb,0.11636e-02_rb,0.35270e-03_rb /) kao(:, 4, 7, 7) = (/ & & 0.38578e-02_rb,0.37771e-02_rb,0.34946e-02_rb,0.31444e-02_rb,0.27541e-02_rb, & & 0.23067e-02_rb,0.18034e-02_rb,0.12192e-02_rb,0.39298e-03_rb /) kao(:, 5, 7, 7) = (/ & & 0.38608e-02_rb,0.38134e-02_rb,0.35421e-02_rb,0.32035e-02_rb,0.28239e-02_rb, & & 0.23777e-02_rb,0.18670e-02_rb,0.12748e-02_rb,0.43632e-03_rb /) kao(:, 1, 8, 7) = (/ & & 0.34769e-02_rb,0.33291e-02_rb,0.30196e-02_rb,0.26781e-02_rb,0.23024e-02_rb, & & 0.18824e-02_rb,0.14244e-02_rb,0.92897e-03_rb,0.24101e-03_rb /) kao(:, 2, 8, 7) = (/ & & 0.35239e-02_rb,0.33972e-02_rb,0.30964e-02_rb,0.27587e-02_rb,0.23816e-02_rb, & & 0.19578e-02_rb,0.14914e-02_rb,0.98181e-03_rb,0.27130e-03_rb /) kao(:, 3, 8, 7) = (/ & & 0.35607e-02_rb,0.34526e-02_rb,0.31656e-02_rb,0.28309e-02_rb,0.24544e-02_rb, & & 0.20284e-02_rb,0.15562e-02_rb,0.10333e-02_rb,0.30255e-03_rb /) kao(:, 4, 8, 7) = (/ & & 0.35844e-02_rb,0.35023e-02_rb,0.32271e-02_rb,0.28968e-02_rb,0.25226e-02_rb, & & 0.20957e-02_rb,0.16188e-02_rb,0.10830e-02_rb,0.33737e-03_rb /) kao(:, 5, 8, 7) = (/ & & 0.35961e-02_rb,0.35446e-02_rb,0.32825e-02_rb,0.29568e-02_rb,0.25866e-02_rb, & & 0.21594e-02_rb,0.16782e-02_rb,0.11324e-02_rb,0.37448e-03_rb /) kao(:, 1, 9, 7) = (/ & & 0.31490e-02_rb,0.30162e-02_rb,0.27350e-02_rb,0.24183e-02_rb,0.20753e-02_rb, & & 0.16954e-02_rb,0.12750e-02_rb,0.82561e-03_rb,0.24776e-03_rb /) kao(:, 2, 9, 7) = (/ & & 0.32098e-02_rb,0.30913e-02_rb,0.28147e-02_rb,0.25006e-02_rb,0.21544e-02_rb, & & 0.17699e-02_rb,0.13387e-02_rb,0.87243e-03_rb,0.27735e-03_rb /) kao(:, 3, 9, 7) = (/ & & 0.32582e-02_rb,0.31563e-02_rb,0.28883e-02_rb,0.25742e-02_rb,0.22278e-02_rb, & & 0.18394e-02_rb,0.14003e-02_rb,0.91830e-03_rb,0.30712e-03_rb /) kao(:, 4, 9, 7) = (/ & & 0.32928e-02_rb,0.32146e-02_rb,0.29543e-02_rb,0.26421e-02_rb,0.22954e-02_rb, & & 0.19038e-02_rb,0.14592e-02_rb,0.96296e-03_rb,0.33982e-03_rb /) kao(:, 5, 9, 7) = (/ & & 0.33113e-02_rb,0.32637e-02_rb,0.30129e-02_rb,0.27034e-02_rb,0.23582e-02_rb, & & 0.19652e-02_rb,0.15140e-02_rb,0.10071e-02_rb,0.37422e-03_rb /) kao(:, 1,10, 7) = (/ & & 0.28236e-02_rb,0.26993e-02_rb,0.24463e-02_rb,0.21584e-02_rb,0.18515e-02_rb, & & 0.15144e-02_rb,0.11396e-02_rb,0.73456e-03_rb,0.30599e-03_rb /) kao(:, 2,10, 7) = (/ & & 0.28929e-02_rb,0.27796e-02_rb,0.25302e-02_rb,0.22416e-02_rb,0.19311e-02_rb, & & 0.15864e-02_rb,0.12002e-02_rb,0.77955e-03_rb,0.32947e-03_rb /) kao(:, 3,10, 7) = (/ & & 0.29497e-02_rb,0.28523e-02_rb,0.26078e-02_rb,0.23174e-02_rb,0.20043e-02_rb, & & 0.16542e-02_rb,0.12577e-02_rb,0.82291e-03_rb,0.35529e-03_rb /) kao(:, 4,10, 7) = (/ & & 0.29901e-02_rb,0.29165e-02_rb,0.26763e-02_rb,0.23877e-02_rb,0.20731e-02_rb, & & 0.17177e-02_rb,0.13124e-02_rb,0.86431e-03_rb,0.38167e-03_rb /) kao(:, 5,10, 7) = (/ & & 0.30139e-02_rb,0.29672e-02_rb,0.27348e-02_rb,0.24509e-02_rb,0.21349e-02_rb, & & 0.17760e-02_rb,0.13646e-02_rb,0.90496e-03_rb,0.40993e-03_rb /) kao(:, 1,11, 7) = (/ & & 0.25422e-02_rb,0.24347e-02_rb,0.22108e-02_rb,0.19505e-02_rb,0.16727e-02_rb, & & 0.13714e-02_rb,0.10368e-02_rb,0.66936e-03_rb,0.31350e-03_rb /) kao(:, 2,11, 7) = (/ & & 0.26126e-02_rb,0.25184e-02_rb,0.22944e-02_rb,0.20307e-02_rb,0.17483e-02_rb, & & 0.14377e-02_rb,0.10928e-02_rb,0.71181e-03_rb,0.33782e-03_rb /) kao(:, 3,11, 7) = (/ & & 0.26690e-02_rb,0.25901e-02_rb,0.23690e-02_rb,0.21043e-02_rb,0.18188e-02_rb, & & 0.15016e-02_rb,0.11462e-02_rb,0.75188e-03_rb,0.35774e-03_rb /) kao(:, 4,11, 7) = (/ & & 0.27048e-02_rb,0.26504e-02_rb,0.24329e-02_rb,0.21704e-02_rb,0.18832e-02_rb, & & 0.15599e-02_rb,0.11973e-02_rb,0.79054e-03_rb,0.37720e-03_rb /) kao(:, 5,11, 7) = (/ & & 0.27241e-02_rb,0.26964e-02_rb,0.24876e-02_rb,0.22289e-02_rb,0.19396e-02_rb, & & 0.16131e-02_rb,0.12459e-02_rb,0.82843e-03_rb,0.39980e-03_rb /) kao(:, 1,12, 7) = (/ & & 0.22863e-02_rb,0.21916e-02_rb,0.19903e-02_rb,0.17560e-02_rb,0.15053e-02_rb, & & 0.12361e-02_rb,0.93929e-03_rb,0.60469e-03_rb,0.28176e-03_rb /) kao(:, 2,12, 7) = (/ & & 0.23519e-02_rb,0.22705e-02_rb,0.20691e-02_rb,0.18315e-02_rb,0.15760e-02_rb, & & 0.12985e-02_rb,0.99139e-03_rb,0.64462e-03_rb,0.30471e-03_rb /) kao(:, 3,12, 7) = (/ & & 0.23974e-02_rb,0.23352e-02_rb,0.21377e-02_rb,0.19000e-02_rb,0.16408e-02_rb, & & 0.13574e-02_rb,0.10412e-02_rb,0.68214e-03_rb,0.32553e-03_rb /) kao(:, 4,12, 7) = (/ & & 0.24260e-02_rb,0.23879e-02_rb,0.21943e-02_rb,0.19602e-02_rb,0.16992e-02_rb, & & 0.14109e-02_rb,0.10885e-02_rb,0.71852e-03_rb,0.34169e-03_rb /) kao(:, 5,12, 7) = (/ & & 0.24412e-02_rb,0.24274e-02_rb,0.22422e-02_rb,0.20116e-02_rb,0.17502e-02_rb, & & 0.14591e-02_rb,0.11336e-02_rb,0.75474e-03_rb,0.36020e-03_rb /) kao(:, 1,13, 7) = (/ & & 0.20393e-02_rb,0.19603e-02_rb,0.17821e-02_rb,0.15739e-02_rb,0.13509e-02_rb, & & 0.11133e-02_rb,0.84826e-03_rb,0.54289e-03_rb,0.23248e-03_rb /) kao(:, 2,13, 7) = (/ & & 0.20953e-02_rb,0.20307e-02_rb,0.18542e-02_rb,0.16433e-02_rb,0.14162e-02_rb, & & 0.11712e-02_rb,0.89683e-03_rb,0.57958e-03_rb,0.25095e-03_rb /) kao(:, 3,13, 7) = (/ & & 0.21323e-02_rb,0.20881e-02_rb,0.19144e-02_rb,0.17046e-02_rb,0.14742e-02_rb, & & 0.12241e-02_rb,0.94271e-03_rb,0.61480e-03_rb,0.26566e-03_rb /) kao(:, 4,13, 7) = (/ & & 0.21562e-02_rb,0.21324e-02_rb,0.19654e-02_rb,0.17578e-02_rb,0.15256e-02_rb, & & 0.12715e-02_rb,0.98599e-03_rb,0.64941e-03_rb,0.28144e-03_rb /) kao(:, 5,13, 7) = (/ & & 0.21687e-02_rb,0.21674e-02_rb,0.20081e-02_rb,0.18029e-02_rb,0.15712e-02_rb, & & 0.13148e-02_rb,0.10270e-02_rb,0.68370e-03_rb,0.29755e-03_rb /) kao(:, 1, 1, 8) = (/ & & 0.10084e-01_rb,0.95278e-02_rb,0.88730e-02_rb,0.81189e-02_rb,0.71873e-02_rb, & & 0.61505e-02_rb,0.50159e-02_rb,0.37383e-02_rb,0.30410e-02_rb /) kao(:, 2, 1, 8) = (/ & & 0.10011e-01_rb,0.95195e-02_rb,0.89419e-02_rb,0.82272e-02_rb,0.73508e-02_rb, & & 0.63699e-02_rb,0.52392e-02_rb,0.39784e-02_rb,0.34237e-02_rb /) kao(:, 3, 1, 8) = (/ & & 0.99285e-02_rb,0.95060e-02_rb,0.90107e-02_rb,0.83435e-02_rb,0.75299e-02_rb, & & 0.65814e-02_rb,0.54661e-02_rb,0.42490e-02_rb,0.38569e-02_rb /) kao(:, 4, 1, 8) = (/ & & 0.98396e-02_rb,0.95039e-02_rb,0.90786e-02_rb,0.84657e-02_rb,0.77142e-02_rb, & & 0.67908e-02_rb,0.57132e-02_rb,0.45510e-02_rb,0.43277e-02_rb /) kao(:, 5, 1, 8) = (/ & & 0.97470e-02_rb,0.95073e-02_rb,0.91451e-02_rb,0.85961e-02_rb,0.78983e-02_rb, & & 0.70134e-02_rb,0.59878e-02_rb,0.48898e-02_rb,0.48367e-02_rb /) kao(:, 1, 2, 8) = (/ & & 0.10032e-01_rb,0.95001e-02_rb,0.88015e-02_rb,0.80012e-02_rb,0.70675e-02_rb, & & 0.59994e-02_rb,0.48088e-02_rb,0.34803e-02_rb,0.24973e-02_rb /) kao(:, 2, 2, 8) = (/ & & 0.99727e-02_rb,0.94952e-02_rb,0.88708e-02_rb,0.81052e-02_rb,0.72227e-02_rb, & & 0.61975e-02_rb,0.50149e-02_rb,0.36876e-02_rb,0.28262e-02_rb /) kao(:, 3, 2, 8) = (/ & & 0.99020e-02_rb,0.94876e-02_rb,0.89395e-02_rb,0.82200e-02_rb,0.73884e-02_rb, & & 0.63917e-02_rb,0.52241e-02_rb,0.39189e-02_rb,0.31881e-02_rb /) kao(:, 4, 2, 8) = (/ & & 0.98208e-02_rb,0.94907e-02_rb,0.90072e-02_rb,0.83409e-02_rb,0.75534e-02_rb, & & 0.65848e-02_rb,0.54476e-02_rb,0.41701e-02_rb,0.35802e-02_rb /) kao(:, 5, 2, 8) = (/ & & 0.97350e-02_rb,0.95036e-02_rb,0.90758e-02_rb,0.84664e-02_rb,0.77179e-02_rb, & & 0.67885e-02_rb,0.56906e-02_rb,0.44399e-02_rb,0.40032e-02_rb /) kao(:, 1, 3, 8) = (/ & & 0.99249e-02_rb,0.94002e-02_rb,0.86731e-02_rb,0.78226e-02_rb,0.68627e-02_rb, & & 0.57870e-02_rb,0.45641e-02_rb,0.32036e-02_rb,0.20068e-02_rb /) kao(:, 2, 3, 8) = (/ & & 0.98781e-02_rb,0.94039e-02_rb,0.87415e-02_rb,0.79225e-02_rb,0.70078e-02_rb, & & 0.59682e-02_rb,0.47504e-02_rb,0.33906e-02_rb,0.22741e-02_rb /) kao(:, 3, 3, 8) = (/ & & 0.98245e-02_rb,0.94056e-02_rb,0.88077e-02_rb,0.80290e-02_rb,0.71634e-02_rb, & & 0.61455e-02_rb,0.49439e-02_rb,0.35923e-02_rb,0.25675e-02_rb /) kao(:, 4, 3, 8) = (/ & & 0.97585e-02_rb,0.94181e-02_rb,0.88723e-02_rb,0.81452e-02_rb,0.73134e-02_rb, & & 0.63196e-02_rb,0.51498e-02_rb,0.38082e-02_rb,0.28828e-02_rb /) kao(:, 5, 3, 8) = (/ & & 0.96800e-02_rb,0.94346e-02_rb,0.89400e-02_rb,0.82650e-02_rb,0.74596e-02_rb, & & 0.65093e-02_rb,0.53613e-02_rb,0.40378e-02_rb,0.32210e-02_rb /) kao(:, 1, 4, 8) = (/ & & 0.97390e-02_rb,0.92223e-02_rb,0.84805e-02_rb,0.75962e-02_rb,0.66183e-02_rb, & & 0.55421e-02_rb,0.43153e-02_rb,0.29439e-02_rb,0.16096e-02_rb /) kao(:, 2, 4, 8) = (/ & & 0.97149e-02_rb,0.92440e-02_rb,0.85515e-02_rb,0.76965e-02_rb,0.67525e-02_rb, & & 0.57037e-02_rb,0.44852e-02_rb,0.31152e-02_rb,0.18298e-02_rb /) kao(:, 3, 4, 8) = (/ & & 0.96772e-02_rb,0.92607e-02_rb,0.86210e-02_rb,0.78004e-02_rb,0.68947e-02_rb, & & 0.58626e-02_rb,0.46601e-02_rb,0.32973e-02_rb,0.20675e-02_rb /) kao(:, 4, 4, 8) = (/ & & 0.96222e-02_rb,0.92823e-02_rb,0.86884e-02_rb,0.79077e-02_rb,0.70317e-02_rb, & & 0.60213e-02_rb,0.48471e-02_rb,0.34874e-02_rb,0.23199e-02_rb /) kao(:, 5, 4, 8) = (/ & & 0.95548e-02_rb,0.93032e-02_rb,0.87544e-02_rb,0.80177e-02_rb,0.71673e-02_rb, & & 0.61924e-02_rb,0.50398e-02_rb,0.36845e-02_rb,0.25914e-02_rb /) kao(:, 1, 5, 8) = (/ & & 0.94682e-02_rb,0.89654e-02_rb,0.82210e-02_rb,0.73222e-02_rb,0.63403e-02_rb, & & 0.52735e-02_rb,0.40692e-02_rb,0.27114e-02_rb,0.12929e-02_rb /) kao(:, 2, 5, 8) = (/ & & 0.94609e-02_rb,0.90053e-02_rb,0.83016e-02_rb,0.74278e-02_rb,0.64685e-02_rb, & & 0.54213e-02_rb,0.42231e-02_rb,0.28638e-02_rb,0.14728e-02_rb /) kao(:, 3, 5, 8) = (/ & & 0.94353e-02_rb,0.90391e-02_rb,0.83802e-02_rb,0.75305e-02_rb,0.66027e-02_rb, & & 0.55646e-02_rb,0.43790e-02_rb,0.30279e-02_rb,0.16663e-02_rb /) kao(:, 4, 5, 8) = (/ & & 0.93989e-02_rb,0.90684e-02_rb,0.84481e-02_rb,0.76404e-02_rb,0.67294e-02_rb, & & 0.57082e-02_rb,0.45495e-02_rb,0.31980e-02_rb,0.18711e-02_rb /) kao(:, 5, 5, 8) = (/ & & 0.93472e-02_rb,0.90926e-02_rb,0.85136e-02_rb,0.77442e-02_rb,0.68542e-02_rb, & & 0.58646e-02_rb,0.47259e-02_rb,0.33701e-02_rb,0.20921e-02_rb /) kao(:, 1, 6, 8) = (/ & & 0.90687e-02_rb,0.86083e-02_rb,0.78842e-02_rb,0.69920e-02_rb,0.60171e-02_rb, & & 0.49784e-02_rb,0.38163e-02_rb,0.24892e-02_rb,0.10375e-02_rb /) kao(:, 2, 6, 8) = (/ & & 0.90845e-02_rb,0.86742e-02_rb,0.79759e-02_rb,0.71037e-02_rb,0.61494e-02_rb, & & 0.51176e-02_rb,0.39577e-02_rb,0.26285e-02_rb,0.11848e-02_rb /) kao(:, 3, 6, 8) = (/ & & 0.90836e-02_rb,0.87225e-02_rb,0.80580e-02_rb,0.72119e-02_rb,0.62799e-02_rb, & & 0.52546e-02_rb,0.41006e-02_rb,0.27750e-02_rb,0.13422e-02_rb /) kao(:, 4, 6, 8) = (/ & & 0.90655e-02_rb,0.87611e-02_rb,0.81305e-02_rb,0.73221e-02_rb,0.64054e-02_rb, & & 0.53892e-02_rb,0.42503e-02_rb,0.29301e-02_rb,0.15078e-02_rb /) kao(:, 5, 6, 8) = (/ & & 0.90286e-02_rb,0.87944e-02_rb,0.82022e-02_rb,0.74247e-02_rb,0.65248e-02_rb, & & 0.55305e-02_rb,0.44113e-02_rb,0.30838e-02_rb,0.16859e-02_rb /) kao(:, 1, 7, 8) = (/ & & 0.85850e-02_rb,0.81350e-02_rb,0.74326e-02_rb,0.65794e-02_rb,0.56482e-02_rb, & & 0.46582e-02_rb,0.35544e-02_rb,0.22844e-02_rb,0.80765e-03_rb /) kao(:, 2, 7, 8) = (/ & & 0.86250e-02_rb,0.82179e-02_rb,0.75359e-02_rb,0.67022e-02_rb,0.57899e-02_rb, & & 0.47962e-02_rb,0.36869e-02_rb,0.24122e-02_rb,0.92682e-03_rb /) kao(:, 3, 7, 8) = (/ & & 0.86440e-02_rb,0.82839e-02_rb,0.76315e-02_rb,0.68246e-02_rb,0.59218e-02_rb, & & 0.49298e-02_rb,0.38219e-02_rb,0.25431e-02_rb,0.10538e-02_rb /) kao(:, 4, 7, 8) = (/ & & 0.86410e-02_rb,0.83371e-02_rb,0.77195e-02_rb,0.69421e-02_rb,0.60483e-02_rb, & & 0.50620e-02_rb,0.39587e-02_rb,0.26818e-02_rb,0.11890e-02_rb /) kao(:, 5, 7, 8) = (/ & & 0.86213e-02_rb,0.83816e-02_rb,0.78035e-02_rb,0.70537e-02_rb,0.61695e-02_rb, & & 0.51947e-02_rb,0.41038e-02_rb,0.28206e-02_rb,0.13358e-02_rb /) kao(:, 1, 8, 8) = (/ & & 0.80690e-02_rb,0.76260e-02_rb,0.69398e-02_rb,0.61270e-02_rb,0.52372e-02_rb, & & 0.42965e-02_rb,0.32695e-02_rb,0.20922e-02_rb,0.69791e-03_rb /) kao(:, 2, 8, 8) = (/ & & 0.81346e-02_rb,0.77325e-02_rb,0.70609e-02_rb,0.62554e-02_rb,0.53744e-02_rb, & & 0.44362e-02_rb,0.34019e-02_rb,0.22104e-02_rb,0.78609e-03_rb /) kao(:, 3, 8, 8) = (/ & & 0.81749e-02_rb,0.78188e-02_rb,0.71688e-02_rb,0.63791e-02_rb,0.55086e-02_rb, & & 0.45702e-02_rb,0.35360e-02_rb,0.23302e-02_rb,0.88068e-03_rb /) kao(:, 4, 8, 8) = (/ & & 0.81959e-02_rb,0.78839e-02_rb,0.72650e-02_rb,0.64997e-02_rb,0.56387e-02_rb, & & 0.47059e-02_rb,0.36681e-02_rb,0.24532e-02_rb,0.97840e-03_rb /) kao(:, 5, 8, 8) = (/ & & 0.81937e-02_rb,0.79411e-02_rb,0.73546e-02_rb,0.66134e-02_rb,0.57649e-02_rb, & & 0.48383e-02_rb,0.38022e-02_rb,0.25773e-02_rb,0.10847e-02_rb /) kao(:, 1, 9, 8) = (/ & & 0.75182e-02_rb,0.70907e-02_rb,0.64287e-02_rb,0.56605e-02_rb,0.48216e-02_rb, & & 0.39323e-02_rb,0.29776e-02_rb,0.18987e-02_rb,0.67472e-03_rb /) kao(:, 2, 9, 8) = (/ & & 0.76076e-02_rb,0.72195e-02_rb,0.65653e-02_rb,0.58009e-02_rb,0.49640e-02_rb, & & 0.40692e-02_rb,0.31049e-02_rb,0.20098e-02_rb,0.74914e-03_rb /) kao(:, 3, 9, 8) = (/ & & 0.76735e-02_rb,0.73227e-02_rb,0.66862e-02_rb,0.59346e-02_rb,0.51012e-02_rb, & & 0.42015e-02_rb,0.32328e-02_rb,0.21222e-02_rb,0.83367e-03_rb /) kao(:, 4, 9, 8) = (/ & & 0.77132e-02_rb,0.74045e-02_rb,0.67969e-02_rb,0.60620e-02_rb,0.52309e-02_rb, & & 0.43347e-02_rb,0.33599e-02_rb,0.22355e-02_rb,0.91964e-03_rb /) kao(:, 5, 9, 8) = (/ & & 0.77286e-02_rb,0.74752e-02_rb,0.68965e-02_rb,0.61793e-02_rb,0.53584e-02_rb, & & 0.44621e-02_rb,0.34884e-02_rb,0.23497e-02_rb,0.10114e-02_rb /) kao(:, 1,10, 8) = (/ & & 0.70149e-02_rb,0.65825e-02_rb,0.59329e-02_rb,0.52017e-02_rb,0.44219e-02_rb, & & 0.35899e-02_rb,0.27069e-02_rb,0.17187e-02_rb,0.74519e-03_rb /) kao(:, 2,10, 8) = (/ & & 0.71248e-02_rb,0.67269e-02_rb,0.60810e-02_rb,0.53515e-02_rb,0.45670e-02_rb, & & 0.37282e-02_rb,0.28313e-02_rb,0.18204e-02_rb,0.83494e-03_rb /) kao(:, 3,10, 8) = (/ & & 0.72044e-02_rb,0.68394e-02_rb,0.62076e-02_rb,0.54929e-02_rb,0.47097e-02_rb, & & 0.38613e-02_rb,0.29540e-02_rb,0.19235e-02_rb,0.93279e-03_rb /) kao(:, 4,10, 8) = (/ & & 0.72597e-02_rb,0.69309e-02_rb,0.63267e-02_rb,0.56269e-02_rb,0.48423e-02_rb, & & 0.39913e-02_rb,0.30764e-02_rb,0.20273e-02_rb,0.10348e-02_rb /) kao(:, 5,10, 8) = (/ & & 0.72955e-02_rb,0.70104e-02_rb,0.64378e-02_rb,0.57479e-02_rb,0.49695e-02_rb, & & 0.41180e-02_rb,0.31960e-02_rb,0.21324e-02_rb,0.11387e-02_rb /) kao(:, 1,11, 8) = (/ & & 0.65628e-02_rb,0.61735e-02_rb,0.55551e-02_rb,0.48677e-02_rb,0.41265e-02_rb, & & 0.33334e-02_rb,0.25028e-02_rb,0.15938e-02_rb,0.74406e-03_rb /) kao(:, 2,11, 8) = (/ & & 0.66786e-02_rb,0.63151e-02_rb,0.57025e-02_rb,0.50172e-02_rb,0.42702e-02_rb, & & 0.34674e-02_rb,0.26229e-02_rb,0.16875e-02_rb,0.82711e-03_rb /) kao(:, 3,11, 8) = (/ & & 0.67664e-02_rb,0.64350e-02_rb,0.58347e-02_rb,0.51562e-02_rb,0.44059e-02_rb, & & 0.35945e-02_rb,0.27422e-02_rb,0.17822e-02_rb,0.92379e-03_rb /) kao(:, 4,11, 8) = (/ & & 0.68381e-02_rb,0.65357e-02_rb,0.59597e-02_rb,0.52850e-02_rb,0.45292e-02_rb, & & 0.37195e-02_rb,0.28585e-02_rb,0.18773e-02_rb,0.10214e-02_rb /) kao(:, 5,11, 8) = (/ & & 0.68910e-02_rb,0.66274e-02_rb,0.60702e-02_rb,0.54014e-02_rb,0.46503e-02_rb, & & 0.38396e-02_rb,0.29707e-02_rb,0.19733e-02_rb,0.11179e-02_rb /) kao(:, 1,12, 8) = (/ & & 0.60794e-02_rb,0.57316e-02_rb,0.51563e-02_rb,0.45236e-02_rb,0.38371e-02_rb, & & 0.31013e-02_rb,0.23239e-02_rb,0.14745e-02_rb,0.70212e-03_rb /) kao(:, 2,12, 8) = (/ & & 0.62026e-02_rb,0.58782e-02_rb,0.53110e-02_rb,0.46778e-02_rb,0.39838e-02_rb, & & 0.32334e-02_rb,0.24368e-02_rb,0.15615e-02_rb,0.77146e-03_rb /) kao(:, 3,12, 8) = (/ & & 0.63087e-02_rb,0.60102e-02_rb,0.54544e-02_rb,0.48220e-02_rb,0.41191e-02_rb, & & 0.33562e-02_rb,0.25462e-02_rb,0.16493e-02_rb,0.85116e-03_rb /) kao(:, 4,12, 8) = (/ & & 0.63948e-02_rb,0.61265e-02_rb,0.55863e-02_rb,0.49541e-02_rb,0.42453e-02_rb, & & 0.34753e-02_rb,0.26508e-02_rb,0.17372e-02_rb,0.93862e-03_rb /) kao(:, 5,12, 8) = (/ & & 0.64607e-02_rb,0.62309e-02_rb,0.57052e-02_rb,0.50757e-02_rb,0.43660e-02_rb, & & 0.35907e-02_rb,0.27548e-02_rb,0.18249e-02_rb,0.10221e-02_rb /) kao(:, 1,13, 8) = (/ & & 0.55937e-02_rb,0.52793e-02_rb,0.47517e-02_rb,0.41692e-02_rb,0.35394e-02_rb, & & 0.28625e-02_rb,0.21454e-02_rb,0.13668e-02_rb,0.61956e-03_rb /) kao(:, 2,13, 8) = (/ & & 0.57319e-02_rb,0.54374e-02_rb,0.49129e-02_rb,0.43258e-02_rb,0.36843e-02_rb, & & 0.29907e-02_rb,0.22551e-02_rb,0.14474e-02_rb,0.68007e-03_rb /) kao(:, 3,13, 8) = (/ & & 0.58515e-02_rb,0.55788e-02_rb,0.50622e-02_rb,0.44734e-02_rb,0.38194e-02_rb, & & 0.31146e-02_rb,0.23600e-02_rb,0.15267e-02_rb,0.75016e-03_rb /) kao(:, 4,13, 8) = (/ & & 0.59483e-02_rb,0.57068e-02_rb,0.51995e-02_rb,0.46068e-02_rb,0.39501e-02_rb, & & 0.32357e-02_rb,0.24610e-02_rb,0.16061e-02_rb,0.82038e-03_rb /) kao(:, 5,13, 8) = (/ & & 0.60233e-02_rb,0.58195e-02_rb,0.53236e-02_rb,0.47349e-02_rb,0.40732e-02_rb, & & 0.33509e-02_rb,0.25596e-02_rb,0.16868e-02_rb,0.89122e-03_rb /) kao(:, 1, 1, 9) = (/ & & 0.19771e-01_rb,0.18370e-01_rb,0.17356e-01_rb,0.16079e-01_rb,0.14680e-01_rb, & & 0.13282e-01_rb,0.11980e-01_rb,0.11582e-01_rb,0.12985e-01_rb /) kao(:, 2, 1, 9) = (/ & & 0.19636e-01_rb,0.18337e-01_rb,0.17425e-01_rb,0.16276e-01_rb,0.15036e-01_rb, & & 0.13800e-01_rb,0.12788e-01_rb,0.12799e-01_rb,0.14491e-01_rb /) kao(:, 3, 1, 9) = (/ & & 0.19487e-01_rb,0.18291e-01_rb,0.17516e-01_rb,0.16543e-01_rb,0.15458e-01_rb, & & 0.14398e-01_rb,0.13717e-01_rb,0.14121e-01_rb,0.16094e-01_rb /) kao(:, 4, 1, 9) = (/ & & 0.19329e-01_rb,0.18244e-01_rb,0.17665e-01_rb,0.16858e-01_rb,0.15921e-01_rb, & & 0.15082e-01_rb,0.14738e-01_rb,0.15534e-01_rb,0.17796e-01_rb /) kao(:, 5, 1, 9) = (/ & & 0.19162e-01_rb,0.18208e-01_rb,0.17862e-01_rb,0.17203e-01_rb,0.16407e-01_rb, & & 0.15804e-01_rb,0.15831e-01_rb,0.17016e-01_rb,0.19554e-01_rb /) kao(:, 1, 2, 9) = (/ & & 0.20491e-01_rb,0.19041e-01_rb,0.17931e-01_rb,0.16490e-01_rb,0.14871e-01_rb, & & 0.13204e-01_rb,0.11551e-01_rb,0.10493e-01_rb,0.11370e-01_rb /) kao(:, 2, 2, 9) = (/ & & 0.20351e-01_rb,0.19021e-01_rb,0.18003e-01_rb,0.16688e-01_rb,0.15207e-01_rb, & & 0.13674e-01_rb,0.12228e-01_rb,0.11542e-01_rb,0.12722e-01_rb /) kao(:, 3, 2, 9) = (/ & & 0.20205e-01_rb,0.18987e-01_rb,0.18097e-01_rb,0.16946e-01_rb,0.15590e-01_rb, & & 0.14204e-01_rb,0.13003e-01_rb,0.12703e-01_rb,0.14170e-01_rb /) kao(:, 4, 2, 9) = (/ & & 0.20054e-01_rb,0.18946e-01_rb,0.18241e-01_rb,0.17244e-01_rb,0.16012e-01_rb, & & 0.14800e-01_rb,0.13862e-01_rb,0.13953e-01_rb,0.15702e-01_rb /) kao(:, 5, 2, 9) = (/ & & 0.19890e-01_rb,0.18914e-01_rb,0.18431e-01_rb,0.17568e-01_rb,0.16464e-01_rb, & & 0.15445e-01_rb,0.14813e-01_rb,0.15302e-01_rb,0.17318e-01_rb /) kao(:, 1, 3, 9) = (/ & & 0.21143e-01_rb,0.19662e-01_rb,0.18419e-01_rb,0.16811e-01_rb,0.15005e-01_rb, & & 0.13075e-01_rb,0.11094e-01_rb,0.93893e-02_rb,0.95682e-02_rb /) kao(:, 2, 3, 9) = (/ & & 0.21021e-01_rb,0.19658e-01_rb,0.18498e-01_rb,0.17007e-01_rb,0.15312e-01_rb, & & 0.13491e-01_rb,0.11661e-01_rb,0.10256e-01_rb,0.10742e-01_rb /) kao(:, 3, 3, 9) = (/ & & 0.20887e-01_rb,0.19635e-01_rb,0.18594e-01_rb,0.17251e-01_rb,0.15669e-01_rb, & & 0.13959e-01_rb,0.12304e-01_rb,0.11227e-01_rb,0.12012e-01_rb /) kao(:, 4, 3, 9) = (/ & & 0.20742e-01_rb,0.19603e-01_rb,0.18727e-01_rb,0.17530e-01_rb,0.16058e-01_rb, & & 0.14485e-01_rb,0.13015e-01_rb,0.12294e-01_rb,0.13375e-01_rb /) kao(:, 5, 3, 9) = (/ & & 0.20582e-01_rb,0.19578e-01_rb,0.18903e-01_rb,0.17831e-01_rb,0.16483e-01_rb, & & 0.15047e-01_rb,0.13818e-01_rb,0.13471e-01_rb,0.14836e-01_rb /) kao(:, 1, 4, 9) = (/ & & 0.21726e-01_rb,0.20199e-01_rb,0.18812e-01_rb,0.17047e-01_rb,0.15080e-01_rb, & & 0.12938e-01_rb,0.10693e-01_rb,0.84650e-02_rb,0.79270e-02_rb /) kao(:, 2, 4, 9) = (/ & & 0.21624e-01_rb,0.20213e-01_rb,0.18897e-01_rb,0.17238e-01_rb,0.15368e-01_rb, & & 0.13326e-01_rb,0.11175e-01_rb,0.91656e-02_rb,0.89409e-02_rb /) kao(:, 3, 4, 9) = (/ & & 0.21502e-01_rb,0.20207e-01_rb,0.18990e-01_rb,0.17468e-01_rb,0.15708e-01_rb, & & 0.13755e-01_rb,0.11721e-01_rb,0.99561e-02_rb,0.10044e-01_rb /) kao(:, 4, 4, 9) = (/ & & 0.21364e-01_rb,0.20186e-01_rb,0.19114e-01_rb,0.17747e-01_rb,0.16075e-01_rb, & & 0.14230e-01_rb,0.12327e-01_rb,0.10844e-01_rb,0.11238e-01_rb /) kao(:, 5, 4, 9) = (/ & & 0.21208e-01_rb,0.20165e-01_rb,0.19280e-01_rb,0.18035e-01_rb,0.16477e-01_rb, & & 0.14734e-01_rb,0.13004e-01_rb,0.11837e-01_rb,0.12527e-01_rb /) kao(:, 1, 5, 9) = (/ & & 0.22212e-01_rb,0.20643e-01_rb,0.19101e-01_rb,0.17193e-01_rb,0.15094e-01_rb, & & 0.12790e-01_rb,0.10344e-01_rb,0.77661e-02_rb,0.65292e-02_rb /) kao(:, 2, 5, 9) = (/ & & 0.22131e-01_rb,0.20679e-01_rb,0.19192e-01_rb,0.17388e-01_rb,0.15373e-01_rb, & & 0.13156e-01_rb,0.10779e-01_rb,0.83326e-02_rb,0.74004e-02_rb /) kao(:, 3, 5, 9) = (/ & & 0.22024e-01_rb,0.20689e-01_rb,0.19289e-01_rb,0.17614e-01_rb,0.15701e-01_rb, & & 0.13560e-01_rb,0.11259e-01_rb,0.89716e-02_rb,0.83509e-02_rb /) kao(:, 4, 5, 9) = (/ & & 0.21891e-01_rb,0.20674e-01_rb,0.19419e-01_rb,0.17880e-01_rb,0.16055e-01_rb, & & 0.14002e-01_rb,0.11784e-01_rb,0.96942e-02_rb,0.93863e-02_rb /) kao(:, 5, 5, 9) = (/ & & 0.21733e-01_rb,0.20659e-01_rb,0.19581e-01_rb,0.18166e-01_rb,0.16436e-01_rb, & & 0.14467e-01_rb,0.12356e-01_rb,0.10508e-01_rb,0.10499e-01_rb /) kao(:, 1, 6, 9) = (/ & & 0.22561e-01_rb,0.20963e-01_rb,0.19278e-01_rb,0.17248e-01_rb,0.15027e-01_rb, & & 0.12605e-01_rb,0.99913e-02_rb,0.71998e-02_rb,0.53191e-02_rb /) kao(:, 2, 6, 9) = (/ & & 0.22505e-01_rb,0.21027e-01_rb,0.19391e-01_rb,0.17451e-01_rb,0.15296e-01_rb, & & 0.12947e-01_rb,0.10394e-01_rb,0.76719e-02_rb,0.60628e-02_rb /) kao(:, 3, 6, 9) = (/ & & 0.22407e-01_rb,0.21057e-01_rb,0.19505e-01_rb,0.17673e-01_rb,0.15617e-01_rb, & & 0.13330e-01_rb,0.10834e-01_rb,0.82004e-02_rb,0.68698e-02_rb /) kao(:, 4, 6, 9) = (/ & & 0.22287e-01_rb,0.21061e-01_rb,0.19636e-01_rb,0.17933e-01_rb,0.15963e-01_rb, & & 0.13742e-01_rb,0.11312e-01_rb,0.87854e-02_rb,0.77488e-02_rb /) kao(:, 5, 6, 9) = (/ & & 0.22148e-01_rb,0.21053e-01_rb,0.19794e-01_rb,0.18212e-01_rb,0.16329e-01_rb, & & 0.14180e-01_rb,0.11816e-01_rb,0.94417e-02_rb,0.86993e-02_rb /) kao(:, 1, 7, 9) = (/ & & 0.22745e-01_rb,0.21135e-01_rb,0.19327e-01_rb,0.17197e-01_rb,0.14893e-01_rb, & & 0.12374e-01_rb,0.96536e-02_rb,0.67256e-02_rb,0.43127e-02_rb /) kao(:, 2, 7, 9) = (/ & & 0.22707e-01_rb,0.21230e-01_rb,0.19474e-01_rb,0.17423e-01_rb,0.15162e-01_rb, & & 0.12700e-01_rb,0.10030e-01_rb,0.71370e-02_rb,0.49389e-02_rb /) kao(:, 3, 7, 9) = (/ & & 0.22632e-01_rb,0.21281e-01_rb,0.19608e-01_rb,0.17649e-01_rb,0.15471e-01_rb, & & 0.13070e-01_rb,0.10436e-01_rb,0.75822e-02_rb,0.56174e-02_rb /) kao(:, 4, 7, 9) = (/ & & 0.22537e-01_rb,0.21307e-01_rb,0.19744e-01_rb,0.17903e-01_rb,0.15813e-01_rb, & & 0.13461e-01_rb,0.10872e-01_rb,0.80682e-02_rb,0.63562e-02_rb /) kao(:, 5, 7, 9) = (/ & & 0.22420e-01_rb,0.21314e-01_rb,0.19904e-01_rb,0.18182e-01_rb,0.16160e-01_rb, & & 0.13874e-01_rb,0.11331e-01_rb,0.86088e-02_rb,0.71565e-02_rb /) kao(:, 1, 8, 9) = (/ & & 0.22742e-01_rb,0.21141e-01_rb,0.19244e-01_rb,0.17036e-01_rb,0.14667e-01_rb, & & 0.12093e-01_rb,0.93194e-02_rb,0.63016e-02_rb,0.33604e-02_rb /) kao(:, 2, 8, 9) = (/ & & 0.22738e-01_rb,0.21267e-01_rb,0.19420e-01_rb,0.17289e-01_rb,0.14951e-01_rb, & & 0.12414e-01_rb,0.96717e-02_rb,0.66654e-02_rb,0.38903e-02_rb /) kao(:, 3, 8, 9) = (/ & & 0.22699e-01_rb,0.21347e-01_rb,0.19574e-01_rb,0.17525e-01_rb,0.15260e-01_rb, & & 0.12775e-01_rb,0.10048e-01_rb,0.70608e-02_rb,0.44626e-02_rb /) kao(:, 4, 8, 9) = (/ & & 0.22634e-01_rb,0.21402e-01_rb,0.19725e-01_rb,0.17775e-01_rb,0.15596e-01_rb, & & 0.13150e-01_rb,0.10455e-01_rb,0.74847e-02_rb,0.50904e-02_rb /) kao(:, 5, 8, 9) = (/ & & 0.22550e-01_rb,0.21432e-01_rb,0.19888e-01_rb,0.18059e-01_rb,0.15936e-01_rb, & & 0.13540e-01_rb,0.10879e-01_rb,0.79454e-02_rb,0.57754e-02_rb /) kao(:, 1, 9, 9) = (/ & & 0.22571e-01_rb,0.20980e-01_rb,0.19017e-01_rb,0.16764e-01_rb,0.14350e-01_rb, & & 0.11743e-01_rb,0.89583e-02_rb,0.59107e-02_rb,0.27753e-02_rb /) kao(:, 2, 9, 9) = (/ & & 0.22607e-01_rb,0.21147e-01_rb,0.19231e-01_rb,0.17040e-01_rb,0.14648e-01_rb, & & 0.12069e-01_rb,0.92988e-02_rb,0.62425e-02_rb,0.31527e-02_rb /) kao(:, 3, 9, 9) = (/ & & 0.22609e-01_rb,0.21268e-01_rb,0.19413e-01_rb,0.17284e-01_rb,0.14954e-01_rb, & & 0.12424e-01_rb,0.96568e-02_rb,0.66010e-02_rb,0.35387e-02_rb /) kao(:, 4, 9, 9) = (/ & & 0.22589e-01_rb,0.21355e-01_rb,0.19582e-01_rb,0.17535e-01_rb,0.15285e-01_rb, & & 0.12790e-01_rb,0.10038e-01_rb,0.69765e-02_rb,0.39766e-02_rb /) kao(:, 5, 9, 9) = (/ & & 0.22546e-01_rb,0.21413e-01_rb,0.19758e-01_rb,0.17821e-01_rb,0.15622e-01_rb, & & 0.13166e-01_rb,0.10432e-01_rb,0.73821e-02_rb,0.44450e-02_rb /) kao(:, 1,10, 9) = (/ & & 0.22137e-01_rb,0.20618e-01_rb,0.18650e-01_rb,0.16403e-01_rb,0.13972e-01_rb, & & 0.11364e-01_rb,0.85848e-02_rb,0.55632e-02_rb,0.31593e-02_rb /) kao(:, 2,10, 9) = (/ & & 0.22231e-01_rb,0.20835e-01_rb,0.18905e-01_rb,0.16706e-01_rb,0.14289e-01_rb, & & 0.11695e-01_rb,0.89167e-02_rb,0.58739e-02_rb,0.35325e-02_rb /) kao(:, 3,10, 9) = (/ & & 0.22295e-01_rb,0.21010e-01_rb,0.19131e-01_rb,0.16972e-01_rb,0.14595e-01_rb, & & 0.12040e-01_rb,0.92665e-02_rb,0.62059e-02_rb,0.39315e-02_rb /) kao(:, 4,10, 9) = (/ & & 0.22331e-01_rb,0.21144e-01_rb,0.19334e-01_rb,0.17233e-01_rb,0.14916e-01_rb, & & 0.12396e-01_rb,0.96355e-02_rb,0.65507e-02_rb,0.43409e-02_rb /) kao(:, 5,10, 9) = (/ & & 0.22332e-01_rb,0.21248e-01_rb,0.19527e-01_rb,0.17517e-01_rb,0.15252e-01_rb, & & 0.12765e-01_rb,0.10012e-01_rb,0.69176e-02_rb,0.47851e-02_rb /) kao(:, 1,11, 9) = (/ & & 0.21611e-01_rb,0.20177e-01_rb,0.18220e-01_rb,0.16014e-01_rb,0.13625e-01_rb, & & 0.11072e-01_rb,0.83376e-02_rb,0.53526e-02_rb,0.32967e-02_rb /) kao(:, 2,11, 9) = (/ & & 0.21754e-01_rb,0.20431e-01_rb,0.18507e-01_rb,0.16333e-01_rb,0.13954e-01_rb, & & 0.11415e-01_rb,0.86702e-02_rb,0.56558e-02_rb,0.36779e-02_rb /) kao(:, 3,11, 9) = (/ & & 0.21862e-01_rb,0.20634e-01_rb,0.18769e-01_rb,0.16624e-01_rb,0.14280e-01_rb, & & 0.11762e-01_rb,0.90145e-02_rb,0.59759e-02_rb,0.40891e-02_rb /) kao(:, 4,11, 9) = (/ & & 0.21929e-01_rb,0.20796e-01_rb,0.18995e-01_rb,0.16914e-01_rb,0.14621e-01_rb, & & 0.12122e-01_rb,0.93752e-02_rb,0.63026e-02_rb,0.45492e-02_rb /) kao(:, 5,11, 9) = (/ & & 0.21956e-01_rb,0.20925e-01_rb,0.19222e-01_rb,0.17218e-01_rb,0.14974e-01_rb, & & 0.12492e-01_rb,0.97406e-02_rb,0.66508e-02_rb,0.50324e-02_rb /) kao(:, 1,12, 9) = (/ & & 0.20989e-01_rb,0.19649e-01_rb,0.17719e-01_rb,0.15554e-01_rb,0.13207e-01_rb, & & 0.10709e-01_rb,0.80423e-02_rb,0.51308e-02_rb,0.32152e-02_rb /) kao(:, 2,12, 9) = (/ & & 0.21187e-01_rb,0.19941e-01_rb,0.18042e-01_rb,0.15892e-01_rb,0.13549e-01_rb, & & 0.11055e-01_rb,0.83766e-02_rb,0.54250e-02_rb,0.35851e-02_rb /) kao(:, 3,12, 9) = (/ & & 0.21336e-01_rb,0.20173e-01_rb,0.18327e-01_rb,0.16203e-01_rb,0.13894e-01_rb, & & 0.11411e-01_rb,0.87228e-02_rb,0.57329e-02_rb,0.40006e-02_rb /) kao(:, 4,12, 9) = (/ & & 0.21440e-01_rb,0.20364e-01_rb,0.18584e-01_rb,0.16516e-01_rb,0.14243e-01_rb, & & 0.11781e-01_rb,0.90825e-02_rb,0.60483e-02_rb,0.44327e-02_rb /) kao(:, 5,12, 9) = (/ & & 0.21509e-01_rb,0.20531e-01_rb,0.18841e-01_rb,0.16838e-01_rb,0.14607e-01_rb, & & 0.12155e-01_rb,0.94413e-02_rb,0.63798e-02_rb,0.48628e-02_rb /) kao(:, 1,13, 9) = (/ & & 0.20300e-01_rb,0.19036e-01_rb,0.17142e-01_rb,0.15033e-01_rb,0.12745e-01_rb, & & 0.10318e-01_rb,0.77330e-02_rb,0.48977e-02_rb,0.29186e-02_rb /) kao(:, 2,13, 9) = (/ & & 0.20539e-01_rb,0.19361e-01_rb,0.17504e-01_rb,0.15398e-01_rb,0.13114e-01_rb, & & 0.10679e-01_rb,0.80651e-02_rb,0.51844e-02_rb,0.32743e-02_rb /) kao(:, 3,13, 9) = (/ & & 0.20734e-01_rb,0.19633e-01_rb,0.17821e-01_rb,0.15739e-01_rb,0.13481e-01_rb, & & 0.11044e-01_rb,0.84099e-02_rb,0.54812e-02_rb,0.36601e-02_rb /) kao(:, 4,13, 9) = (/ & & 0.20892e-01_rb,0.19871e-01_rb,0.18120e-01_rb,0.16090e-01_rb,0.13847e-01_rb, & & 0.11415e-01_rb,0.87615e-02_rb,0.57863e-02_rb,0.40403e-02_rb /) kao(:, 5,13, 9) = (/ & & 0.21016e-01_rb,0.20092e-01_rb,0.18420e-01_rb,0.16433e-01_rb,0.14220e-01_rb, & & 0.11787e-01_rb,0.91177e-02_rb,0.61020e-02_rb,0.44775e-02_rb /) kao(:, 1, 1,10) = (/ & & 0.32077e-01_rb,0.29717e-01_rb,0.27957e-01_rb,0.27088e-01_rb,0.26148e-01_rb, & & 0.25463e-01_rb,0.27887e-01_rb,0.32409e-01_rb,0.37623e-01_rb /) kao(:, 2, 1,10) = (/ & & 0.31656e-01_rb,0.29512e-01_rb,0.28047e-01_rb,0.27317e-01_rb,0.26667e-01_rb, & & 0.26788e-01_rb,0.30344e-01_rb,0.35248e-01_rb,0.40533e-01_rb /) kao(:, 3, 1,10) = (/ & & 0.31222e-01_rb,0.29398e-01_rb,0.28183e-01_rb,0.27633e-01_rb,0.27598e-01_rb, & & 0.28788e-01_rb,0.33344e-01_rb,0.38694e-01_rb,0.44458e-01_rb /) kao(:, 4, 1,10) = (/ & & 0.30838e-01_rb,0.29185e-01_rb,0.28219e-01_rb,0.28269e-01_rb,0.28900e-01_rb, & & 0.31215e-01_rb,0.36765e-01_rb,0.42659e-01_rb,0.48710e-01_rb /) kao(:, 5, 1,10) = (/ & & 0.30476e-01_rb,0.28982e-01_rb,0.28435e-01_rb,0.29011e-01_rb,0.30822e-01_rb, & & 0.34422e-01_rb,0.40770e-01_rb,0.47309e-01_rb,0.54027e-01_rb /) kao(:, 1, 2,10) = (/ & & 0.34215e-01_rb,0.31859e-01_rb,0.30015e-01_rb,0.28551e-01_rb,0.26684e-01_rb, & & 0.25243e-01_rb,0.25874e-01_rb,0.29803e-01_rb,0.34327e-01_rb /) kao(:, 2, 2,10) = (/ & & 0.33819e-01_rb,0.31701e-01_rb,0.30099e-01_rb,0.28712e-01_rb,0.27156e-01_rb, & & 0.26446e-01_rb,0.28380e-01_rb,0.32886e-01_rb,0.37685e-01_rb /) kao(:, 3, 2,10) = (/ & & 0.33393e-01_rb,0.31477e-01_rb,0.30146e-01_rb,0.28931e-01_rb,0.28112e-01_rb, & & 0.28308e-01_rb,0.31383e-01_rb,0.36360e-01_rb,0.41605e-01_rb /) kao(:, 4, 2,10) = (/ & & 0.33012e-01_rb,0.31222e-01_rb,0.30110e-01_rb,0.29460e-01_rb,0.29343e-01_rb, & & 0.30463e-01_rb,0.34829e-01_rb,0.40350e-01_rb,0.46115e-01_rb /) kao(:, 5, 2,10) = (/ & & 0.32618e-01_rb,0.30977e-01_rb,0.30249e-01_rb,0.30140e-01_rb,0.31029e-01_rb, & & 0.33086e-01_rb,0.38518e-01_rb,0.44611e-01_rb,0.51063e-01_rb /) kao(:, 1, 3,10) = (/ & & 0.36609e-01_rb,0.34016e-01_rb,0.32008e-01_rb,0.30013e-01_rb,0.27528e-01_rb, & & 0.25143e-01_rb,0.24092e-01_rb,0.26746e-01_rb,0.30590e-01_rb /) kao(:, 2, 3,10) = (/ & & 0.36187e-01_rb,0.33816e-01_rb,0.32068e-01_rb,0.30121e-01_rb,0.27943e-01_rb, & & 0.26137e-01_rb,0.26190e-01_rb,0.29769e-01_rb,0.34003e-01_rb /) kao(:, 3, 3,10) = (/ & & 0.35755e-01_rb,0.33555e-01_rb,0.32022e-01_rb,0.30354e-01_rb,0.28696e-01_rb, & & 0.27732e-01_rb,0.28744e-01_rb,0.33056e-01_rb,0.37754e-01_rb /) kao(:, 4, 3,10) = (/ & & 0.35304e-01_rb,0.33277e-01_rb,0.31985e-01_rb,0.30856e-01_rb,0.29759e-01_rb, & & 0.29582e-01_rb,0.31793e-01_rb,0.36769e-01_rb,0.41965e-01_rb /) kao(:, 5, 3,10) = (/ & & 0.34895e-01_rb,0.32987e-01_rb,0.32094e-01_rb,0.31490e-01_rb,0.31100e-01_rb, & & 0.31735e-01_rb,0.35104e-01_rb,0.40646e-01_rb,0.46442e-01_rb /) kao(:, 1, 4,10) = (/ & & 0.38977e-01_rb,0.36120e-01_rb,0.33897e-01_rb,0.31410e-01_rb,0.28525e-01_rb, & & 0.25373e-01_rb,0.22918e-01_rb,0.23596e-01_rb,0.26905e-01_rb /) kao(:, 2, 4,10) = (/ & & 0.38508e-01_rb,0.35924e-01_rb,0.33917e-01_rb,0.31530e-01_rb,0.28933e-01_rb, & & 0.26161e-01_rb,0.24652e-01_rb,0.26430e-01_rb,0.30108e-01_rb /) kao(:, 3, 4,10) = (/ & & 0.38014e-01_rb,0.35658e-01_rb,0.33872e-01_rb,0.31757e-01_rb,0.29547e-01_rb, & & 0.27436e-01_rb,0.26616e-01_rb,0.29450e-01_rb,0.33541e-01_rb /) kao(:, 4, 4,10) = (/ & & 0.37555e-01_rb,0.35363e-01_rb,0.33895e-01_rb,0.32125e-01_rb,0.30540e-01_rb, & & 0.28878e-01_rb,0.28956e-01_rb,0.32793e-01_rb,0.37351e-01_rb /) kao(:, 5, 4,10) = (/ & & 0.37151e-01_rb,0.35088e-01_rb,0.33984e-01_rb,0.32788e-01_rb,0.31573e-01_rb, & & 0.30633e-01_rb,0.31627e-01_rb,0.36308e-01_rb,0.41371e-01_rb /) kao(:, 1, 5,10) = (/ & & 0.41153e-01_rb,0.38034e-01_rb,0.35706e-01_rb,0.32805e-01_rb,0.29387e-01_rb, & & 0.25927e-01_rb,0.22231e-01_rb,0.20561e-01_rb,0.23186e-01_rb /) kao(:, 2, 5,10) = (/ & & 0.40611e-01_rb,0.37835e-01_rb,0.35759e-01_rb,0.32923e-01_rb,0.29781e-01_rb, & & 0.26577e-01_rb,0.23565e-01_rb,0.23003e-01_rb,0.26110e-01_rb /) kao(:, 3, 5,10) = (/ & & 0.40174e-01_rb,0.37589e-01_rb,0.35747e-01_rb,0.33131e-01_rb,0.30334e-01_rb, & & 0.27648e-01_rb,0.25145e-01_rb,0.25696e-01_rb,0.29208e-01_rb /) kao(:, 4, 5,10) = (/ & & 0.39802e-01_rb,0.37389e-01_rb,0.35760e-01_rb,0.33447e-01_rb,0.31294e-01_rb, & & 0.28785e-01_rb,0.27005e-01_rb,0.28729e-01_rb,0.32665e-01_rb /) kao(:, 5, 5,10) = (/ & & 0.39471e-01_rb,0.37195e-01_rb,0.35872e-01_rb,0.34084e-01_rb,0.32227e-01_rb, & & 0.30087e-01_rb,0.29177e-01_rb,0.32029e-01_rb,0.36449e-01_rb /) kao(:, 1, 6,10) = (/ & & 0.43370e-01_rb,0.39997e-01_rb,0.37440e-01_rb,0.34118e-01_rb,0.30345e-01_rb, & & 0.26246e-01_rb,0.21955e-01_rb,0.18231e-01_rb,0.19573e-01_rb /) kao(:, 2, 6,10) = (/ & & 0.42801e-01_rb,0.39763e-01_rb,0.37480e-01_rb,0.34252e-01_rb,0.30723e-01_rb, & & 0.26892e-01_rb,0.22943e-01_rb,0.20080e-01_rb,0.22108e-01_rb /) kao(:, 3, 6,10) = (/ & & 0.42453e-01_rb,0.39592e-01_rb,0.37449e-01_rb,0.34486e-01_rb,0.31160e-01_rb, & & 0.27853e-01_rb,0.24129e-01_rb,0.22254e-01_rb,0.24945e-01_rb /) kao(:, 4, 6,10) = (/ & & 0.42151e-01_rb,0.39446e-01_rb,0.37500e-01_rb,0.34777e-01_rb,0.31970e-01_rb, & & 0.28872e-01_rb,0.25539e-01_rb,0.24809e-01_rb,0.28086e-01_rb /) kao(:, 5, 6,10) = (/ & & 0.41833e-01_rb,0.39344e-01_rb,0.37631e-01_rb,0.35392e-01_rb,0.32810e-01_rb, & & 0.29983e-01_rb,0.27309e-01_rb,0.27744e-01_rb,0.31535e-01_rb /) kao(:, 1, 7,10) = (/ & & 0.45445e-01_rb,0.41961e-01_rb,0.39238e-01_rb,0.35426e-01_rb,0.31192e-01_rb, & & 0.26649e-01_rb,0.21695e-01_rb,0.16623e-01_rb,0.16293e-01_rb /) kao(:, 2, 7,10) = (/ & & 0.45078e-01_rb,0.41797e-01_rb,0.39225e-01_rb,0.35507e-01_rb,0.31562e-01_rb, & & 0.27229e-01_rb,0.22532e-01_rb,0.18019e-01_rb,0.18534e-01_rb /) kao(:, 3, 7,10) = (/ & & 0.44870e-01_rb,0.41785e-01_rb,0.39209e-01_rb,0.35749e-01_rb,0.31958e-01_rb, & & 0.27976e-01_rb,0.23572e-01_rb,0.19783e-01_rb,0.21105e-01_rb /) kao(:, 4, 7,10) = (/ & & 0.44638e-01_rb,0.41726e-01_rb,0.39301e-01_rb,0.35989e-01_rb,0.32614e-01_rb, & & 0.28887e-01_rb,0.24743e-01_rb,0.21842e-01_rb,0.23947e-01_rb /) kao(:, 5, 7,10) = (/ & & 0.44319e-01_rb,0.41703e-01_rb,0.39403e-01_rb,0.36491e-01_rb,0.33461e-01_rb, & & 0.29864e-01_rb,0.26133e-01_rb,0.24238e-01_rb,0.27063e-01_rb /) kao(:, 1, 8,10) = (/ & & 0.47338e-01_rb,0.43694e-01_rb,0.40795e-01_rb,0.36657e-01_rb,0.31991e-01_rb, & & 0.26976e-01_rb,0.21436e-01_rb,0.15589e-01_rb,0.13371e-01_rb /) kao(:, 2, 8,10) = (/ & & 0.47172e-01_rb,0.43681e-01_rb,0.40850e-01_rb,0.36728e-01_rb,0.32341e-01_rb, & & 0.27474e-01_rb,0.22184e-01_rb,0.16691e-01_rb,0.15337e-01_rb /) kao(:, 3, 8,10) = (/ & & 0.47077e-01_rb,0.43885e-01_rb,0.40965e-01_rb,0.37016e-01_rb,0.32654e-01_rb, & & 0.28038e-01_rb,0.23084e-01_rb,0.18052e-01_rb,0.17670e-01_rb /) kao(:, 4, 8,10) = (/ & & 0.46877e-01_rb,0.43984e-01_rb,0.41138e-01_rb,0.37264e-01_rb,0.33142e-01_rb, & & 0.28868e-01_rb,0.24126e-01_rb,0.19696e-01_rb,0.20174e-01_rb /) kao(:, 5, 8,10) = (/ & & 0.46627e-01_rb,0.44042e-01_rb,0.41218e-01_rb,0.37582e-01_rb,0.33931e-01_rb, & & 0.29818e-01_rb,0.25367e-01_rb,0.21590e-01_rb,0.22899e-01_rb /) kao(:, 1, 9,10) = (/ & & 0.49069e-01_rb,0.45230e-01_rb,0.41949e-01_rb,0.37482e-01_rb,0.32547e-01_rb, & & 0.27221e-01_rb,0.21190e-01_rb,0.14771e-01_rb,0.82104e-02_rb /) kao(:, 2, 9,10) = (/ & & 0.48982e-01_rb,0.45358e-01_rb,0.42113e-01_rb,0.37642e-01_rb,0.32970e-01_rb, & & 0.27650e-01_rb,0.21850e-01_rb,0.15738e-01_rb,0.94586e-02_rb /) kao(:, 3, 9,10) = (/ & & 0.48934e-01_rb,0.45677e-01_rb,0.42390e-01_rb,0.38084e-01_rb,0.33301e-01_rb, & & 0.28097e-01_rb,0.22664e-01_rb,0.16844e-01_rb,0.11686e-01_rb /) kao(:, 4, 9,10) = (/ & & 0.48760e-01_rb,0.45876e-01_rb,0.42614e-01_rb,0.38405e-01_rb,0.33732e-01_rb, & & 0.28793e-01_rb,0.23625e-01_rb,0.18186e-01_rb,0.14417e-01_rb /) kao(:, 5, 9,10) = (/ & & 0.48535e-01_rb,0.45946e-01_rb,0.42722e-01_rb,0.38669e-01_rb,0.34439e-01_rb, & & 0.29718e-01_rb,0.24746e-01_rb,0.19636e-01_rb,0.17490e-01_rb /) kao(:, 1,10,10) = (/ & & 0.50581e-01_rb,0.46588e-01_rb,0.42861e-01_rb,0.37978e-01_rb,0.32756e-01_rb, & & 0.27218e-01_rb,0.20963e-01_rb,0.14152e-01_rb,0.94977e-02_rb /) kao(:, 2,10,10) = (/ & & 0.50552e-01_rb,0.46832e-01_rb,0.43092e-01_rb,0.38231e-01_rb,0.33230e-01_rb, & & 0.27672e-01_rb,0.21597e-01_rb,0.15000e-01_rb,0.11069e-01_rb /) kao(:, 3,10,10) = (/ & & 0.50470e-01_rb,0.47126e-01_rb,0.43390e-01_rb,0.38763e-01_rb,0.33692e-01_rb, & & 0.28191e-01_rb,0.22303e-01_rb,0.15932e-01_rb,0.12529e-01_rb /) kao(:, 4,10,10) = (/ & & 0.50251e-01_rb,0.47290e-01_rb,0.43621e-01_rb,0.39150e-01_rb,0.34250e-01_rb, & & 0.28907e-01_rb,0.23153e-01_rb,0.17091e-01_rb,0.14647e-01_rb /) kao(:, 5,10,10) = (/ & & 0.50025e-01_rb,0.47335e-01_rb,0.43789e-01_rb,0.39526e-01_rb,0.34961e-01_rb, & & 0.29783e-01_rb,0.24207e-01_rb,0.18303e-01_rb,0.16505e-01_rb /) kao(:, 1,11,10) = (/ & & 0.51775e-01_rb,0.47733e-01_rb,0.43604e-01_rb,0.38377e-01_rb,0.33010e-01_rb, & & 0.27211e-01_rb,0.20853e-01_rb,0.13952e-01_rb,0.10099e-01_rb /) kao(:, 2,11,10) = (/ & & 0.51722e-01_rb,0.48082e-01_rb,0.43912e-01_rb,0.38859e-01_rb,0.33550e-01_rb, & & 0.27720e-01_rb,0.21535e-01_rb,0.14746e-01_rb,0.11460e-01_rb /) kao(:, 3,11,10) = (/ & & 0.51577e-01_rb,0.48309e-01_rb,0.44107e-01_rb,0.39371e-01_rb,0.34132e-01_rb, & & 0.28431e-01_rb,0.22288e-01_rb,0.15640e-01_rb,0.12761e-01_rb /) kao(:, 4,11,10) = (/ & & 0.51367e-01_rb,0.48474e-01_rb,0.44409e-01_rb,0.39819e-01_rb,0.34807e-01_rb, & & 0.29240e-01_rb,0.23192e-01_rb,0.16707e-01_rb,0.14096e-01_rb /) kao(:, 5,11,10) = (/ & & 0.51186e-01_rb,0.48565e-01_rb,0.44658e-01_rb,0.40350e-01_rb,0.35545e-01_rb, & & 0.30221e-01_rb,0.24214e-01_rb,0.17744e-01_rb,0.15290e-01_rb /) kao(:, 1,12,10) = (/ & & 0.52731e-01_rb,0.48681e-01_rb,0.44186e-01_rb,0.38733e-01_rb,0.33169e-01_rb, & & 0.27108e-01_rb,0.20634e-01_rb,0.13723e-01_rb,0.97949e-02_rb /) kao(:, 2,12,10) = (/ & & 0.52654e-01_rb,0.49001e-01_rb,0.44433e-01_rb,0.39315e-01_rb,0.33776e-01_rb, & & 0.27772e-01_rb,0.21363e-01_rb,0.14506e-01_rb,0.11186e-01_rb /) kao(:, 3,12,10) = (/ & & 0.52581e-01_rb,0.49321e-01_rb,0.44768e-01_rb,0.39827e-01_rb,0.34382e-01_rb, & & 0.28565e-01_rb,0.22205e-01_rb,0.15366e-01_rb,0.12310e-01_rb /) kao(:, 4,12,10) = (/ & & 0.52474e-01_rb,0.49527e-01_rb,0.45170e-01_rb,0.40364e-01_rb,0.35120e-01_rb, & & 0.29376e-01_rb,0.23174e-01_rb,0.16305e-01_rb,0.14325e-01_rb /) kao(:, 5,12,10) = (/ & & 0.52313e-01_rb,0.49659e-01_rb,0.45526e-01_rb,0.41026e-01_rb,0.35905e-01_rb, & & 0.30399e-01_rb,0.24222e-01_rb,0.17291e-01_rb,0.16045e-01_rb /) kao(:, 1,13,10) = (/ & & 0.53347e-01_rb,0.49460e-01_rb,0.44667e-01_rb,0.39102e-01_rb,0.33300e-01_rb, & & 0.27005e-01_rb,0.20373e-01_rb,0.13403e-01_rb,0.88882e-02_rb /) kao(:, 2,13,10) = (/ & & 0.53473e-01_rb,0.49893e-01_rb,0.44992e-01_rb,0.39672e-01_rb,0.33886e-01_rb, & & 0.27737e-01_rb,0.21157e-01_rb,0.14194e-01_rb,0.99472e-02_rb /) kao(:, 3,13,10) = (/ & & 0.53543e-01_rb,0.50285e-01_rb,0.45484e-01_rb,0.40250e-01_rb,0.34541e-01_rb, & & 0.28510e-01_rb,0.22035e-01_rb,0.15061e-01_rb,0.11235e-01_rb /) kao(:, 4,13,10) = (/ & & 0.53461e-01_rb,0.50524e-01_rb,0.45912e-01_rb,0.40827e-01_rb,0.35322e-01_rb, & & 0.29374e-01_rb,0.23048e-01_rb,0.15925e-01_rb,0.12822e-01_rb /) kao(:, 5,13,10) = (/ & & 0.53278e-01_rb,0.50624e-01_rb,0.46303e-01_rb,0.41556e-01_rb,0.36186e-01_rb, & & 0.30414e-01_rb,0.24058e-01_rb,0.16868e-01_rb,0.14203e-01_rb /) kao(:, 1, 1,11) = (/ & & 0.37171e-01_rb,0.34434e-01_rb,0.32644e-01_rb,0.32703e-01_rb,0.33235e-01_rb, & & 0.36611e-01_rb,0.43526e-01_rb,0.50696e-01_rb,0.58297e-01_rb /) kao(:, 2, 1,11) = (/ & & 0.36741e-01_rb,0.34071e-01_rb,0.32455e-01_rb,0.33094e-01_rb,0.34229e-01_rb, & & 0.38792e-01_rb,0.46364e-01_rb,0.53998e-01_rb,0.61977e-01_rb /) kao(:, 3, 1,11) = (/ & & 0.36310e-01_rb,0.33795e-01_rb,0.32514e-01_rb,0.33548e-01_rb,0.35414e-01_rb, & & 0.41445e-01_rb,0.49627e-01_rb,0.57817e-01_rb,0.66049e-01_rb /) kao(:, 4, 1,11) = (/ & & 0.35845e-01_rb,0.33632e-01_rb,0.32631e-01_rb,0.34397e-01_rb,0.37428e-01_rb, & & 0.44985e-01_rb,0.53868e-01_rb,0.62763e-01_rb,0.71579e-01_rb /) kao(:, 5, 1,11) = (/ & & 0.35331e-01_rb,0.33379e-01_rb,0.32910e-01_rb,0.35528e-01_rb,0.39783e-01_rb, & & 0.48705e-01_rb,0.58316e-01_rb,0.67942e-01_rb,0.77160e-01_rb /) kao(:, 1, 2,11) = (/ & & 0.40448e-01_rb,0.37395e-01_rb,0.35029e-01_rb,0.34305e-01_rb,0.33991e-01_rb, & & 0.35316e-01_rb,0.40968e-01_rb,0.47712e-01_rb,0.54932e-01_rb /) kao(:, 2, 2,11) = (/ & & 0.39920e-01_rb,0.36968e-01_rb,0.34927e-01_rb,0.34599e-01_rb,0.34841e-01_rb, & & 0.37250e-01_rb,0.43923e-01_rb,0.51161e-01_rb,0.58827e-01_rb /) kao(:, 3, 2,11) = (/ & & 0.39405e-01_rb,0.36691e-01_rb,0.34999e-01_rb,0.35076e-01_rb,0.35924e-01_rb, & & 0.39772e-01_rb,0.47443e-01_rb,0.55253e-01_rb,0.63303e-01_rb /) kao(:, 4, 2,11) = (/ & & 0.38792e-01_rb,0.36414e-01_rb,0.35121e-01_rb,0.35787e-01_rb,0.37790e-01_rb, & & 0.43290e-01_rb,0.51773e-01_rb,0.60284e-01_rb,0.68983e-01_rb /) kao(:, 5, 2,11) = (/ & & 0.38190e-01_rb,0.36098e-01_rb,0.35328e-01_rb,0.36844e-01_rb,0.39952e-01_rb, & & 0.47291e-01_rb,0.56573e-01_rb,0.65870e-01_rb,0.75177e-01_rb /) kao(:, 1, 3,11) = (/ & & 0.43810e-01_rb,0.40500e-01_rb,0.37754e-01_rb,0.36293e-01_rb,0.34676e-01_rb, & & 0.34367e-01_rb,0.37493e-01_rb,0.43650e-01_rb,0.50087e-01_rb /) kao(:, 2, 3,11) = (/ & & 0.43199e-01_rb,0.40018e-01_rb,0.37716e-01_rb,0.36450e-01_rb,0.35395e-01_rb, & & 0.35866e-01_rb,0.40426e-01_rb,0.47076e-01_rb,0.53958e-01_rb /) kao(:, 3, 3,11) = (/ & & 0.42538e-01_rb,0.39757e-01_rb,0.37868e-01_rb,0.36772e-01_rb,0.36302e-01_rb, & & 0.37914e-01_rb,0.44070e-01_rb,0.51299e-01_rb,0.58670e-01_rb /) kao(:, 4, 3,11) = (/ & & 0.41856e-01_rb,0.39457e-01_rb,0.37979e-01_rb,0.37163e-01_rb,0.37947e-01_rb, & & 0.40970e-01_rb,0.48419e-01_rb,0.56334e-01_rb,0.64404e-01_rb /) kao(:, 5, 3,11) = (/ & & 0.41250e-01_rb,0.39154e-01_rb,0.38065e-01_rb,0.38049e-01_rb,0.39929e-01_rb, & & 0.44658e-01_rb,0.53223e-01_rb,0.61909e-01_rb,0.70665e-01_rb /) kao(:, 1, 4,11) = (/ & & 0.47088e-01_rb,0.43589e-01_rb,0.40605e-01_rb,0.38686e-01_rb,0.35713e-01_rb, & & 0.33942e-01_rb,0.34171e-01_rb,0.39143e-01_rb,0.44787e-01_rb /) kao(:, 2, 4,11) = (/ & & 0.46380e-01_rb,0.43081e-01_rb,0.40678e-01_rb,0.38772e-01_rb,0.36271e-01_rb, & & 0.35115e-01_rb,0.36728e-01_rb,0.42523e-01_rb,0.48625e-01_rb /) kao(:, 3, 4,11) = (/ & & 0.45787e-01_rb,0.42889e-01_rb,0.40853e-01_rb,0.39000e-01_rb,0.36901e-01_rb, & & 0.36794e-01_rb,0.40276e-01_rb,0.46812e-01_rb,0.53448e-01_rb /) kao(:, 4, 4,11) = (/ & & 0.45216e-01_rb,0.42628e-01_rb,0.40916e-01_rb,0.39286e-01_rb,0.38129e-01_rb, & & 0.39329e-01_rb,0.44499e-01_rb,0.51734e-01_rb,0.59041e-01_rb /) kao(:, 5, 4,11) = (/ & & 0.44698e-01_rb,0.42312e-01_rb,0.40992e-01_rb,0.39909e-01_rb,0.39896e-01_rb, & & 0.42322e-01_rb,0.49157e-01_rb,0.57134e-01_rb,0.65206e-01_rb /) kao(:, 1, 5,11) = (/ & & 0.50564e-01_rb,0.46864e-01_rb,0.43550e-01_rb,0.41145e-01_rb,0.37282e-01_rb, & & 0.33847e-01_rb,0.31921e-01_rb,0.34655e-01_rb,0.39581e-01_rb /) kao(:, 2, 5,11) = (/ & & 0.49853e-01_rb,0.46324e-01_rb,0.43735e-01_rb,0.41212e-01_rb,0.37826e-01_rb, & & 0.34760e-01_rb,0.33939e-01_rb,0.37988e-01_rb,0.43340e-01_rb /) kao(:, 3, 5,11) = (/ & & 0.49277e-01_rb,0.46142e-01_rb,0.43937e-01_rb,0.41409e-01_rb,0.38245e-01_rb, & & 0.36079e-01_rb,0.36891e-01_rb,0.42172e-01_rb,0.48104e-01_rb /) kao(:, 4, 5,11) = (/ & & 0.48731e-01_rb,0.45921e-01_rb,0.43964e-01_rb,0.41658e-01_rb,0.39073e-01_rb, & & 0.38270e-01_rb,0.40535e-01_rb,0.46833e-01_rb,0.53415e-01_rb /) kao(:, 5, 5,11) = (/ & & 0.48265e-01_rb,0.45648e-01_rb,0.43993e-01_rb,0.42096e-01_rb,0.40473e-01_rb, & & 0.40846e-01_rb,0.44703e-01_rb,0.51860e-01_rb,0.59120e-01_rb /) kao(:, 1, 6,11) = (/ & & 0.54155e-01_rb,0.50312e-01_rb,0.46699e-01_rb,0.43479e-01_rb,0.38935e-01_rb, & & 0.34460e-01_rb,0.30470e-01_rb,0.30214e-01_rb,0.34389e-01_rb /) kao(:, 2, 6,11) = (/ & & 0.53396e-01_rb,0.49741e-01_rb,0.46925e-01_rb,0.43573e-01_rb,0.39485e-01_rb, & & 0.35160e-01_rb,0.32122e-01_rb,0.33415e-01_rb,0.38087e-01_rb /) kao(:, 3, 6,11) = (/ & & 0.52823e-01_rb,0.49548e-01_rb,0.47130e-01_rb,0.43740e-01_rb,0.39828e-01_rb, & & 0.36044e-01_rb,0.34474e-01_rb,0.37304e-01_rb,0.42510e-01_rb /) kao(:, 4, 6,11) = (/ & & 0.52327e-01_rb,0.49384e-01_rb,0.47097e-01_rb,0.43937e-01_rb,0.40452e-01_rb, & & 0.37736e-01_rb,0.37393e-01_rb,0.41655e-01_rb,0.47452e-01_rb /) kao(:, 5, 6,11) = (/ & & 0.51903e-01_rb,0.49131e-01_rb,0.47026e-01_rb,0.44222e-01_rb,0.41687e-01_rb, & & 0.39818e-01_rb,0.40660e-01_rb,0.46275e-01_rb,0.52724e-01_rb /) kao(:, 1, 7,11) = (/ & & 0.58007e-01_rb,0.53733e-01_rb,0.49779e-01_rb,0.45887e-01_rb,0.40462e-01_rb, & & 0.35176e-01_rb,0.29765e-01_rb,0.26441e-01_rb,0.29320e-01_rb /) kao(:, 2, 7,11) = (/ & & 0.57151e-01_rb,0.53110e-01_rb,0.50041e-01_rb,0.45960e-01_rb,0.40973e-01_rb, & & 0.35887e-01_rb,0.31026e-01_rb,0.29123e-01_rb,0.32803e-01_rb /) kao(:, 3, 7,11) = (/ & & 0.56502e-01_rb,0.52846e-01_rb,0.50182e-01_rb,0.46056e-01_rb,0.41337e-01_rb, & & 0.36666e-01_rb,0.32781e-01_rb,0.32480e-01_rb,0.36858e-01_rb /) kao(:, 4, 7,11) = (/ & & 0.55999e-01_rb,0.52671e-01_rb,0.50072e-01_rb,0.46217e-01_rb,0.41835e-01_rb, & & 0.38000e-01_rb,0.35109e-01_rb,0.36308e-01_rb,0.41318e-01_rb /) kao(:, 5, 7,11) = (/ & & 0.55573e-01_rb,0.52382e-01_rb,0.49967e-01_rb,0.46401e-01_rb,0.42955e-01_rb, & & 0.39677e-01_rb,0.37716e-01_rb,0.40481e-01_rb,0.46095e-01_rb /) kao(:, 1, 8,11) = (/ & & 0.61929e-01_rb,0.57176e-01_rb,0.52730e-01_rb,0.48103e-01_rb,0.42015e-01_rb, & & 0.35869e-01_rb,0.29499e-01_rb,0.23665e-01_rb,0.24549e-01_rb /) kao(:, 2, 8,11) = (/ & & 0.61013e-01_rb,0.56553e-01_rb,0.52930e-01_rb,0.48080e-01_rb,0.42522e-01_rb, & & 0.36573e-01_rb,0.30581e-01_rb,0.25834e-01_rb,0.27791e-01_rb /) kao(:, 3, 8,11) = (/ & & 0.60303e-01_rb,0.56131e-01_rb,0.52872e-01_rb,0.48123e-01_rb,0.42911e-01_rb, & & 0.37343e-01_rb,0.31938e-01_rb,0.28446e-01_rb,0.31375e-01_rb /) kao(:, 4, 8,11) = (/ & & 0.59783e-01_rb,0.55843e-01_rb,0.52678e-01_rb,0.48331e-01_rb,0.43398e-01_rb, & & 0.38468e-01_rb,0.33698e-01_rb,0.31535e-01_rb,0.35398e-01_rb /) kao(:, 5, 8,11) = (/ & & 0.59221e-01_rb,0.55525e-01_rb,0.52626e-01_rb,0.48547e-01_rb,0.44309e-01_rb, & & 0.39969e-01_rb,0.35748e-01_rb,0.35119e-01_rb,0.39791e-01_rb /) kao(:, 1, 9,11) = (/ & & 0.65420e-01_rb,0.60290e-01_rb,0.55521e-01_rb,0.50117e-01_rb,0.43421e-01_rb, & & 0.36608e-01_rb,0.29349e-01_rb,0.21841e-01_rb,0.18774e-01_rb /) kao(:, 2, 9,11) = (/ & & 0.64534e-01_rb,0.59710e-01_rb,0.55627e-01_rb,0.50054e-01_rb,0.43842e-01_rb, & & 0.37357e-01_rb,0.30337e-01_rb,0.23525e-01_rb,0.22756e-01_rb /) kao(:, 3, 9,11) = (/ & & 0.63805e-01_rb,0.59237e-01_rb,0.55452e-01_rb,0.50019e-01_rb,0.44319e-01_rb, & & 0.38089e-01_rb,0.31491e-01_rb,0.25524e-01_rb,0.26401e-01_rb /) kao(:, 4, 9,11) = (/ & & 0.63315e-01_rb,0.59001e-01_rb,0.55252e-01_rb,0.50261e-01_rb,0.44802e-01_rb, & & 0.39006e-01_rb,0.32915e-01_rb,0.27972e-01_rb,0.30021e-01_rb /) kao(:, 5, 9,11) = (/ & & 0.62781e-01_rb,0.58825e-01_rb,0.55257e-01_rb,0.50524e-01_rb,0.45567e-01_rb, & & 0.40297e-01_rb,0.34643e-01_rb,0.30888e-01_rb,0.34021e-01_rb /) kao(:, 1,10,11) = (/ & & 0.68132e-01_rb,0.62682e-01_rb,0.57743e-01_rb,0.51836e-01_rb,0.44670e-01_rb, & & 0.37300e-01_rb,0.29365e-01_rb,0.20724e-01_rb,0.15957e-01_rb /) kao(:, 2,10,11) = (/ & & 0.67210e-01_rb,0.62151e-01_rb,0.57960e-01_rb,0.51867e-01_rb,0.45128e-01_rb, & & 0.38064e-01_rb,0.30245e-01_rb,0.22146e-01_rb,0.17704e-01_rb /) kao(:, 3,10,11) = (/ & & 0.66632e-01_rb,0.61949e-01_rb,0.57882e-01_rb,0.51878e-01_rb,0.45637e-01_rb, & & 0.38758e-01_rb,0.31283e-01_rb,0.23744e-01_rb,0.20098e-01_rb /) kao(:, 4,10,11) = (/ & & 0.66350e-01_rb,0.62044e-01_rb,0.57835e-01_rb,0.52180e-01_rb,0.46090e-01_rb, & & 0.39573e-01_rb,0.32509e-01_rb,0.25642e-01_rb,0.22076e-01_rb /) kao(:, 5,10,11) = (/ & & 0.65965e-01_rb,0.62105e-01_rb,0.57959e-01_rb,0.52489e-01_rb,0.46765e-01_rb, & & 0.40717e-01_rb,0.34057e-01_rb,0.28015e-01_rb,0.24829e-01_rb /) kao(:, 1,11,11) = (/ & & 0.69905e-01_rb,0.64410e-01_rb,0.59589e-01_rb,0.53150e-01_rb,0.45760e-01_rb, & & 0.38179e-01_rb,0.29785e-01_rb,0.20444e-01_rb,0.16092e-01_rb /) kao(:, 2,11,11) = (/ & & 0.69271e-01_rb,0.64175e-01_rb,0.59782e-01_rb,0.53281e-01_rb,0.46486e-01_rb, & & 0.38949e-01_rb,0.30645e-01_rb,0.21725e-01_rb,0.17857e-01_rb /) kao(:, 3,11,11) = (/ & & 0.69073e-01_rb,0.64491e-01_rb,0.59955e-01_rb,0.53684e-01_rb,0.46981e-01_rb, & & 0.39609e-01_rb,0.31674e-01_rb,0.23165e-01_rb,0.20394e-01_rb /) kao(:, 4,11,11) = (/ & & 0.68904e-01_rb,0.64793e-01_rb,0.60179e-01_rb,0.54162e-01_rb,0.47530e-01_rb, & & 0.40495e-01_rb,0.32809e-01_rb,0.24930e-01_rb,0.23016e-01_rb /) kao(:, 5,11,11) = (/ & & 0.68639e-01_rb,0.65010e-01_rb,0.60484e-01_rb,0.54605e-01_rb,0.48370e-01_rb, & & 0.41561e-01_rb,0.34350e-01_rb,0.26933e-01_rb,0.26488e-01_rb /) kao(:, 1,12,11) = (/ & & 0.71529e-01_rb,0.66044e-01_rb,0.61072e-01_rb,0.54140e-01_rb,0.46654e-01_rb, & & 0.38794e-01_rb,0.29996e-01_rb,0.20236e-01_rb,0.16124e-01_rb /) kao(:, 2,12,11) = (/ & & 0.71291e-01_rb,0.66315e-01_rb,0.61418e-01_rb,0.54500e-01_rb,0.47446e-01_rb, & & 0.39590e-01_rb,0.30905e-01_rb,0.21401e-01_rb,0.17542e-01_rb /) kao(:, 3,12,11) = (/ & & 0.71222e-01_rb,0.66826e-01_rb,0.61770e-01_rb,0.55219e-01_rb,0.48148e-01_rb, & & 0.40334e-01_rb,0.31908e-01_rb,0.22727e-01_rb,0.19804e-01_rb /) kao(:, 4,12,11) = (/ & & 0.71079e-01_rb,0.67236e-01_rb,0.62161e-01_rb,0.55849e-01_rb,0.48917e-01_rb, & & 0.41311e-01_rb,0.33042e-01_rb,0.24356e-01_rb,0.21082e-01_rb /) kao(:, 5,12,11) = (/ & & 0.70901e-01_rb,0.67518e-01_rb,0.62549e-01_rb,0.56439e-01_rb,0.49900e-01_rb, & & 0.42406e-01_rb,0.34548e-01_rb,0.26106e-01_rb,0.23666e-01_rb /) kao(:, 1,13,11) = (/ & & 0.73149e-01_rb,0.67708e-01_rb,0.62294e-01_rb,0.54947e-01_rb,0.47337e-01_rb, & & 0.39165e-01_rb,0.30053e-01_rb,0.20069e-01_rb,0.15304e-01_rb /) kao(:, 2,13,11) = (/ & & 0.73122e-01_rb,0.68287e-01_rb,0.62803e-01_rb,0.55664e-01_rb,0.48241e-01_rb, & & 0.39986e-01_rb,0.31044e-01_rb,0.21133e-01_rb,0.17384e-01_rb /) kao(:, 3,13,11) = (/ & & 0.73057e-01_rb,0.68826e-01_rb,0.63303e-01_rb,0.56536e-01_rb,0.49104e-01_rb, & & 0.40926e-01_rb,0.32050e-01_rb,0.22349e-01_rb,0.18964e-01_rb /) kao(:, 4,13,11) = (/ & & 0.73037e-01_rb,0.69286e-01_rb,0.63846e-01_rb,0.57252e-01_rb,0.50018e-01_rb, & & 0.42025e-01_rb,0.33217e-01_rb,0.23850e-01_rb,0.20572e-01_rb /) kao(:, 5,13,11) = (/ & & 0.73013e-01_rb,0.69604e-01_rb,0.64290e-01_rb,0.57954e-01_rb,0.51076e-01_rb, & & 0.43212e-01_rb,0.34653e-01_rb,0.25391e-01_rb,0.23448e-01_rb /) kao(:, 1, 1,12) = (/ & & 0.43248e-01_rb,0.41017e-01_rb,0.40213e-01_rb,0.39821e-01_rb,0.45256e-01_rb, & & 0.55821e-01_rb,0.66932e-01_rb,0.78037e-01_rb,0.88086e-01_rb /) kao(:, 2, 1,12) = (/ & & 0.42407e-01_rb,0.40307e-01_rb,0.40078e-01_rb,0.40681e-01_rb,0.47543e-01_rb, & & 0.59099e-01_rb,0.70845e-01_rb,0.82585e-01_rb,0.93228e-01_rb /) kao(:, 3, 1,12) = (/ & & 0.41692e-01_rb,0.39727e-01_rb,0.39865e-01_rb,0.41830e-01_rb,0.50093e-01_rb, & & 0.62450e-01_rb,0.74841e-01_rb,0.87232e-01_rb,0.98476e-01_rb /) kao(:, 4, 1,12) = (/ & & 0.41002e-01_rb,0.39248e-01_rb,0.39945e-01_rb,0.42942e-01_rb,0.52768e-01_rb, & & 0.65829e-01_rb,0.78890e-01_rb,0.91937e-01_rb,0.10362e+00_rb /) kao(:, 5, 1,12) = (/ & & 0.40428e-01_rb,0.39045e-01_rb,0.40116e-01_rb,0.44981e-01_rb,0.56655e-01_rb, & & 0.70681e-01_rb,0.84705e-01_rb,0.98731e-01_rb,0.11111e+00_rb /) kao(:, 1, 2,12) = (/ & & 0.47227e-01_rb,0.44198e-01_rb,0.42698e-01_rb,0.42511e-01_rb,0.46394e-01_rb, & & 0.55784e-01_rb,0.66888e-01_rb,0.77989e-01_rb,0.88812e-01_rb /) kao(:, 2, 2,12) = (/ & & 0.46375e-01_rb,0.43473e-01_rb,0.42428e-01_rb,0.43299e-01_rb,0.48252e-01_rb, & & 0.59000e-01_rb,0.70708e-01_rb,0.82423e-01_rb,0.93885e-01_rb /) kao(:, 3, 2,12) = (/ & & 0.45650e-01_rb,0.42988e-01_rb,0.42307e-01_rb,0.44252e-01_rb,0.50414e-01_rb, & & 0.62373e-01_rb,0.74750e-01_rb,0.87127e-01_rb,0.99197e-01_rb /) kao(:, 4, 2,12) = (/ & & 0.44980e-01_rb,0.42686e-01_rb,0.42476e-01_rb,0.45355e-01_rb,0.53027e-01_rb, & & 0.66067e-01_rb,0.79179e-01_rb,0.92288e-01_rb,0.10480e+00_rb /) kao(:, 5, 2,12) = (/ & & 0.44383e-01_rb,0.42475e-01_rb,0.42723e-01_rb,0.47155e-01_rb,0.57007e-01_rb, & & 0.71138e-01_rb,0.85276e-01_rb,0.99396e-01_rb,0.11272e+00_rb /) kao(:, 1, 3,12) = (/ & & 0.51829e-01_rb,0.48303e-01_rb,0.45805e-01_rb,0.45348e-01_rb,0.47474e-01_rb, & & 0.53773e-01_rb,0.64381e-01_rb,0.75065e-01_rb,0.85879e-01_rb /) kao(:, 2, 3,12) = (/ & & 0.50945e-01_rb,0.47626e-01_rb,0.45531e-01_rb,0.46104e-01_rb,0.48805e-01_rb, & & 0.57008e-01_rb,0.68342e-01_rb,0.79675e-01_rb,0.91103e-01_rb /) kao(:, 3, 3,12) = (/ & & 0.50329e-01_rb,0.47163e-01_rb,0.45393e-01_rb,0.46795e-01_rb,0.50514e-01_rb, & & 0.60488e-01_rb,0.72503e-01_rb,0.84519e-01_rb,0.96625e-01_rb /) kao(:, 4, 3,12) = (/ & & 0.49725e-01_rb,0.46894e-01_rb,0.45600e-01_rb,0.47784e-01_rb,0.52670e-01_rb, & & 0.64382e-01_rb,0.77172e-01_rb,0.89966e-01_rb,0.10271e+00_rb /) kao(:, 5, 3,12) = (/ & & 0.49109e-01_rb,0.46633e-01_rb,0.45896e-01_rb,0.49191e-01_rb,0.56129e-01_rb, & & 0.69438e-01_rb,0.83245e-01_rb,0.97061e-01_rb,0.11071e+00_rb /) kao(:, 1, 4,12) = (/ & & 0.57082e-01_rb,0.53110e-01_rb,0.49763e-01_rb,0.48460e-01_rb,0.48719e-01_rb, & & 0.51181e-01_rb,0.59984e-01_rb,0.69952e-01_rb,0.80045e-01_rb /) kao(:, 2, 4,12) = (/ & & 0.56133e-01_rb,0.52450e-01_rb,0.49568e-01_rb,0.49064e-01_rb,0.49725e-01_rb, & & 0.54041e-01_rb,0.64091e-01_rb,0.74728e-01_rb,0.85496e-01_rb /) kao(:, 3, 4,12) = (/ & & 0.55439e-01_rb,0.51866e-01_rb,0.49497e-01_rb,0.49475e-01_rb,0.51076e-01_rb, & & 0.57243e-01_rb,0.68327e-01_rb,0.79652e-01_rb,0.91098e-01_rb /) kao(:, 4, 4,12) = (/ & & 0.54777e-01_rb,0.51575e-01_rb,0.49681e-01_rb,0.50221e-01_rb,0.52765e-01_rb, & & 0.61084e-01_rb,0.73197e-01_rb,0.85337e-01_rb,0.97552e-01_rb /) kao(:, 5, 4,12) = (/ & & 0.54098e-01_rb,0.51233e-01_rb,0.49878e-01_rb,0.51295e-01_rb,0.55484e-01_rb, & & 0.66162e-01_rb,0.79298e-01_rb,0.92434e-01_rb,0.10558e+00_rb /) kao(:, 1, 5,12) = (/ & & 0.62544e-01_rb,0.58281e-01_rb,0.54351e-01_rb,0.52107e-01_rb,0.50211e-01_rb, & & 0.49416e-01_rb,0.54519e-01_rb,0.63528e-01_rb,0.72634e-01_rb /) kao(:, 2, 5,12) = (/ & & 0.61658e-01_rb,0.57644e-01_rb,0.54210e-01_rb,0.52563e-01_rb,0.50949e-01_rb, & & 0.51794e-01_rb,0.58802e-01_rb,0.68560e-01_rb,0.78383e-01_rb /) kao(:, 3, 5,12) = (/ & & 0.60918e-01_rb,0.57016e-01_rb,0.54117e-01_rb,0.52719e-01_rb,0.52074e-01_rb, & & 0.54457e-01_rb,0.63161e-01_rb,0.73629e-01_rb,0.84158e-01_rb /) kao(:, 4, 5,12) = (/ & & 0.60164e-01_rb,0.56692e-01_rb,0.54302e-01_rb,0.53086e-01_rb,0.53404e-01_rb, & & 0.57689e-01_rb,0.68126e-01_rb,0.79422e-01_rb,0.90757e-01_rb /) kao(:, 5, 5,12) = (/ & & 0.59366e-01_rb,0.56267e-01_rb,0.54377e-01_rb,0.53811e-01_rb,0.55627e-01_rb, & & 0.62331e-01_rb,0.74295e-01_rb,0.86596e-01_rb,0.98923e-01_rb /) kao(:, 1, 6,12) = (/ & & 0.68500e-01_rb,0.63504e-01_rb,0.59102e-01_rb,0.56112e-01_rb,0.52198e-01_rb, & & 0.48725e-01_rb,0.49458e-01_rb,0.56540e-01_rb,0.64611e-01_rb /) kao(:, 2, 6,12) = (/ & & 0.67642e-01_rb,0.62951e-01_rb,0.59010e-01_rb,0.56509e-01_rb,0.52640e-01_rb, & & 0.50781e-01_rb,0.53492e-01_rb,0.61845e-01_rb,0.70650e-01_rb /) kao(:, 3, 6,12) = (/ & & 0.66730e-01_rb,0.62270e-01_rb,0.58880e-01_rb,0.56541e-01_rb,0.53578e-01_rb, & & 0.52912e-01_rb,0.57553e-01_rb,0.66900e-01_rb,0.76420e-01_rb /) kao(:, 4, 6,12) = (/ & & 0.65853e-01_rb,0.61851e-01_rb,0.59079e-01_rb,0.56674e-01_rb,0.54628e-01_rb, & & 0.55405e-01_rb,0.62327e-01_rb,0.72621e-01_rb,0.82946e-01_rb /) kao(:, 5, 6,12) = (/ & & 0.64917e-01_rb,0.61395e-01_rb,0.59088e-01_rb,0.57140e-01_rb,0.56317e-01_rb, & & 0.59242e-01_rb,0.68519e-01_rb,0.79819e-01_rb,0.91147e-01_rb /) kao(:, 1, 7,12) = (/ & & 0.74814e-01_rb,0.69115e-01_rb,0.63783e-01_rb,0.59970e-01_rb,0.54833e-01_rb, & & 0.49011e-01_rb,0.46051e-01_rb,0.49756e-01_rb,0.56816e-01_rb /) kao(:, 2, 7,12) = (/ & & 0.73755e-01_rb,0.68509e-01_rb,0.63672e-01_rb,0.60441e-01_rb,0.55205e-01_rb, & & 0.50759e-01_rb,0.49447e-01_rb,0.55044e-01_rb,0.62843e-01_rb /) kao(:, 3, 7,12) = (/ & & 0.72664e-01_rb,0.67698e-01_rb,0.63630e-01_rb,0.60499e-01_rb,0.55993e-01_rb, & & 0.52467e-01_rb,0.52809e-01_rb,0.59966e-01_rb,0.68463e-01_rb /) kao(:, 4, 7,12) = (/ & & 0.71633e-01_rb,0.67174e-01_rb,0.63866e-01_rb,0.60581e-01_rb,0.56744e-01_rb, & & 0.54377e-01_rb,0.56941e-01_rb,0.65640e-01_rb,0.74923e-01_rb /) kao(:, 5, 7,12) = (/ & & 0.70621e-01_rb,0.66745e-01_rb,0.63972e-01_rb,0.60930e-01_rb,0.57801e-01_rb, & & 0.57488e-01_rb,0.62631e-01_rb,0.72711e-01_rb,0.82984e-01_rb /) kao(:, 1, 8,12) = (/ & & 0.81108e-01_rb,0.74731e-01_rb,0.68669e-01_rb,0.63699e-01_rb,0.57482e-01_rb, & & 0.50207e-01_rb,0.44226e-01_rb,0.43565e-01_rb,0.49479e-01_rb /) kao(:, 2, 8,12) = (/ & & 0.79714e-01_rb,0.73898e-01_rb,0.68659e-01_rb,0.64276e-01_rb,0.57881e-01_rb, & & 0.51786e-01_rb,0.46974e-01_rb,0.48378e-01_rb,0.55162e-01_rb /) kao(:, 3, 8,12) = (/ & & 0.78456e-01_rb,0.73135e-01_rb,0.68758e-01_rb,0.64370e-01_rb,0.58662e-01_rb, & & 0.53164e-01_rb,0.49684e-01_rb,0.53168e-01_rb,0.60666e-01_rb /) kao(:, 4, 8,12) = (/ & & 0.77309e-01_rb,0.72680e-01_rb,0.69000e-01_rb,0.64433e-01_rb,0.59353e-01_rb, & & 0.54540e-01_rb,0.53042e-01_rb,0.58717e-01_rb,0.66992e-01_rb /) kao(:, 5, 8,12) = (/ & & 0.76406e-01_rb,0.72288e-01_rb,0.69084e-01_rb,0.64775e-01_rb,0.60105e-01_rb, & & 0.56876e-01_rb,0.57740e-01_rb,0.65467e-01_rb,0.74695e-01_rb /) kao(:, 1, 9,12) = (/ & & 0.87281e-01_rb,0.80336e-01_rb,0.73586e-01_rb,0.67589e-01_rb,0.60164e-01_rb, & & 0.51553e-01_rb,0.43512e-01_rb,0.38366e-01_rb,0.42260e-01_rb /) kao(:, 2, 9,12) = (/ & & 0.85638e-01_rb,0.79229e-01_rb,0.73710e-01_rb,0.68169e-01_rb,0.60640e-01_rb, & & 0.53028e-01_rb,0.45744e-01_rb,0.42413e-01_rb,0.47570e-01_rb /) kao(:, 3, 9,12) = (/ & & 0.84292e-01_rb,0.78481e-01_rb,0.73900e-01_rb,0.68269e-01_rb,0.61342e-01_rb, & & 0.54381e-01_rb,0.47902e-01_rb,0.46760e-01_rb,0.52980e-01_rb /) kao(:, 4, 9,12) = (/ & & 0.83115e-01_rb,0.77996e-01_rb,0.74142e-01_rb,0.68304e-01_rb,0.62073e-01_rb, & & 0.55597e-01_rb,0.50525e-01_rb,0.51779e-01_rb,0.58954e-01_rb /) kao(:, 5, 9,12) = (/ & & 0.82186e-01_rb,0.77706e-01_rb,0.74161e-01_rb,0.68663e-01_rb,0.62685e-01_rb, & & 0.57315e-01_rb,0.54189e-01_rb,0.58003e-01_rb,0.66142e-01_rb /) kao(:, 1,10,12) = (/ & & 0.93285e-01_rb,0.85813e-01_rb,0.78575e-01_rb,0.71552e-01_rb,0.62937e-01_rb, & & 0.53130e-01_rb,0.43544e-01_rb,0.34852e-01_rb,0.25971e-01_rb /) kao(:, 2,10,12) = (/ & & 0.91673e-01_rb,0.84652e-01_rb,0.78625e-01_rb,0.72093e-01_rb,0.63376e-01_rb, & & 0.54541e-01_rb,0.45576e-01_rb,0.38102e-01_rb,0.28356e-01_rb /) kao(:, 3,10,12) = (/ & & 0.90273e-01_rb,0.83828e-01_rb,0.78840e-01_rb,0.72190e-01_rb,0.64026e-01_rb, & & 0.55889e-01_rb,0.47404e-01_rb,0.41695e-01_rb,0.31456e-01_rb /) kao(:, 4,10,12) = (/ & & 0.88982e-01_rb,0.83233e-01_rb,0.79026e-01_rb,0.72231e-01_rb,0.64765e-01_rb, & & 0.57025e-01_rb,0.49463e-01_rb,0.46003e-01_rb,0.35501e-01_rb /) kao(:, 5,10,12) = (/ & & 0.88015e-01_rb,0.82954e-01_rb,0.78987e-01_rb,0.72605e-01_rb,0.65378e-01_rb, & & 0.58432e-01_rb,0.52293e-01_rb,0.51371e-01_rb,0.39951e-01_rb /) kao(:, 1,11,12) = (/ & & 0.98224e-01_rb,0.90470e-01_rb,0.83283e-01_rb,0.75729e-01_rb,0.65953e-01_rb, & & 0.55333e-01_rb,0.44607e-01_rb,0.33712e-01_rb,0.29825e-01_rb /) kao(:, 2,11,12) = (/ & & 0.96868e-01_rb,0.89565e-01_rb,0.83537e-01_rb,0.76001e-01_rb,0.66302e-01_rb, & & 0.56711e-01_rb,0.46387e-01_rb,0.36339e-01_rb,0.33228e-01_rb /) kao(:, 3,11,12) = (/ & & 0.95464e-01_rb,0.88759e-01_rb,0.83774e-01_rb,0.75894e-01_rb,0.67115e-01_rb, & & 0.57847e-01_rb,0.48034e-01_rb,0.39456e-01_rb,0.36088e-01_rb /) kao(:, 4,11,12) = (/ & & 0.94340e-01_rb,0.88366e-01_rb,0.83721e-01_rb,0.76044e-01_rb,0.67766e-01_rb, & & 0.58947e-01_rb,0.50010e-01_rb,0.43247e-01_rb,0.40125e-01_rb /) kao(:, 5,11,12) = (/ & & 0.93518e-01_rb,0.88039e-01_rb,0.83475e-01_rb,0.76422e-01_rb,0.68414e-01_rb, & & 0.60495e-01_rb,0.52431e-01_rb,0.48069e-01_rb,0.44798e-01_rb /) kao(:, 1,12,12) = (/ & & 0.10275e+00_rb,0.94729e-01_rb,0.87688e-01_rb,0.79394e-01_rb,0.68734e-01_rb, & & 0.57476e-01_rb,0.45697e-01_rb,0.32943e-01_rb,0.29614e-01_rb /) kao(:, 2,12,12) = (/ & & 0.10159e+00_rb,0.94167e-01_rb,0.88202e-01_rb,0.79488e-01_rb,0.69232e-01_rb, & & 0.58694e-01_rb,0.47208e-01_rb,0.35215e-01_rb,0.33437e-01_rb /) kao(:, 3,12,12) = (/ & & 0.10046e+00_rb,0.93671e-01_rb,0.88347e-01_rb,0.79409e-01_rb,0.69985e-01_rb, & & 0.59703e-01_rb,0.48739e-01_rb,0.37920e-01_rb,0.36670e-01_rb /) kao(:, 4,12,12) = (/ & & 0.99712e-01_rb,0.93473e-01_rb,0.88135e-01_rb,0.79671e-01_rb,0.70541e-01_rb, & & 0.60786e-01_rb,0.50658e-01_rb,0.41158e-01_rb,0.41155e-01_rb /) kao(:, 5,12,12) = (/ & & 0.99052e-01_rb,0.93236e-01_rb,0.87897e-01_rb,0.79933e-01_rb,0.71310e-01_rb, & & 0.62364e-01_rb,0.52850e-01_rb,0.45390e-01_rb,0.47055e-01_rb /) kao(:, 1,13,12) = (/ & & 0.10693e+00_rb,0.98594e-01_rb,0.91730e-01_rb,0.82575e-01_rb,0.71131e-01_rb, & & 0.59390e-01_rb,0.46621e-01_rb,0.32428e-01_rb,0.26794e-01_rb /) kao(:, 2,13,12) = (/ & & 0.10593e+00_rb,0.98329e-01_rb,0.92368e-01_rb,0.82651e-01_rb,0.71827e-01_rb, & & 0.60538e-01_rb,0.47868e-01_rb,0.34468e-01_rb,0.29114e-01_rb /) kao(:, 3,13,12) = (/ & & 0.10521e+00_rb,0.98305e-01_rb,0.92444e-01_rb,0.82725e-01_rb,0.72549e-01_rb, & & 0.61456e-01_rb,0.49349e-01_rb,0.36800e-01_rb,0.32781e-01_rb /) kao(:, 4,13,12) = (/ & & 0.10471e+00_rb,0.98393e-01_rb,0.92240e-01_rb,0.83082e-01_rb,0.73117e-01_rb, & & 0.62504e-01_rb,0.51152e-01_rb,0.39616e-01_rb,0.37780e-01_rb /) kao(:, 5,13,12) = (/ & & 0.10409e+00_rb,0.98364e-01_rb,0.92131e-01_rb,0.83350e-01_rb,0.73995e-01_rb, & & 0.64047e-01_rb,0.53327e-01_rb,0.43375e-01_rb,0.42285e-01_rb /) kao(:, 1, 1,13) = (/ & & 0.52810e-01_rb,0.49450e-01_rb,0.49647e-01_rb,0.57104e-01_rb,0.73433e-01_rb, & & 0.91743e-01_rb,0.11005e+00_rb,0.12834e+00_rb,0.14491e+00_rb /) kao(:, 2, 1,13) = (/ & & 0.51653e-01_rb,0.48971e-01_rb,0.50186e-01_rb,0.59440e-01_rb,0.77723e-01_rb, & & 0.97098e-01_rb,0.11647e+00_rb,0.13583e+00_rb,0.15375e+00_rb /) kao(:, 3, 1,13) = (/ & & 0.50696e-01_rb,0.48582e-01_rb,0.50737e-01_rb,0.61667e-01_rb,0.81568e-01_rb, & & 0.10190e+00_rb,0.12223e+00_rb,0.14254e+00_rb,0.16133e+00_rb /) kao(:, 4, 1,13) = (/ & & 0.49759e-01_rb,0.48321e-01_rb,0.51484e-01_rb,0.64441e-01_rb,0.85673e-01_rb, & & 0.10703e+00_rb,0.12837e+00_rb,0.14971e+00_rb,0.16936e+00_rb /) kao(:, 5, 1,13) = (/ & & 0.48804e-01_rb,0.48067e-01_rb,0.52560e-01_rb,0.67354e-01_rb,0.89656e-01_rb, & & 0.11200e+00_rb,0.13434e+00_rb,0.15666e+00_rb,0.17718e+00_rb /) kao(:, 1, 2,13) = (/ & & 0.57042e-01_rb,0.54069e-01_rb,0.53905e-01_rb,0.58729e-01_rb,0.73592e-01_rb, & & 0.91941e-01_rb,0.11029e+00_rb,0.12863e+00_rb,0.14602e+00_rb /) kao(:, 2, 2,13) = (/ & & 0.55841e-01_rb,0.53550e-01_rb,0.54566e-01_rb,0.60781e-01_rb,0.78168e-01_rb, & & 0.97652e-01_rb,0.11714e+00_rb,0.13661e+00_rb,0.15506e+00_rb /) kao(:, 3, 2,13) = (/ & & 0.54920e-01_rb,0.52981e-01_rb,0.54943e-01_rb,0.62919e-01_rb,0.82379e-01_rb, & & 0.10292e+00_rb,0.12345e+00_rb,0.14397e+00_rb,0.16344e+00_rb /) kao(:, 4, 2,13) = (/ & & 0.54055e-01_rb,0.52591e-01_rb,0.55488e-01_rb,0.65511e-01_rb,0.86681e-01_rb, & & 0.10829e+00_rb,0.12990e+00_rb,0.15147e+00_rb,0.17196e+00_rb /) kao(:, 5, 2,13) = (/ & & 0.53226e-01_rb,0.52334e-01_rb,0.56238e-01_rb,0.68429e-01_rb,0.90830e-01_rb, & & 0.11345e+00_rb,0.13607e+00_rb,0.15868e+00_rb,0.17998e+00_rb /) kao(:, 1, 3,13) = (/ & & 0.62670e-01_rb,0.59309e-01_rb,0.58772e-01_rb,0.61122e-01_rb,0.72960e-01_rb, & & 0.91113e-01_rb,0.10930e+00_rb,0.12747e+00_rb,0.14514e+00_rb /) kao(:, 2, 3,13) = (/ & & 0.61411e-01_rb,0.58632e-01_rb,0.59230e-01_rb,0.62688e-01_rb,0.77748e-01_rb, & & 0.97139e-01_rb,0.11652e+00_rb,0.13590e+00_rb,0.15479e+00_rb /) kao(:, 3, 3,13) = (/ & & 0.60334e-01_rb,0.57923e-01_rb,0.59411e-01_rb,0.64539e-01_rb,0.82093e-01_rb, & & 0.10257e+00_rb,0.12305e+00_rb,0.14350e+00_rb,0.16343e+00_rb /) kao(:, 4, 3,13) = (/ & & 0.59451e-01_rb,0.57416e-01_rb,0.59633e-01_rb,0.66820e-01_rb,0.86494e-01_rb, & & 0.10804e+00_rb,0.12960e+00_rb,0.15112e+00_rb,0.17209e+00_rb /) kao(:, 5, 3,13) = (/ & & 0.58597e-01_rb,0.57143e-01_rb,0.60240e-01_rb,0.69594e-01_rb,0.91059e-01_rb, & & 0.11373e+00_rb,0.13640e+00_rb,0.15905e+00_rb,0.18103e+00_rb /) kao(:, 1, 4,13) = (/ & & 0.69822e-01_rb,0.65601e-01_rb,0.63945e-01_rb,0.64755e-01_rb,0.73038e-01_rb, & & 0.90165e-01_rb,0.10817e+00_rb,0.12616e+00_rb,0.14389e+00_rb /) kao(:, 2, 4,13) = (/ & & 0.68507e-01_rb,0.64727e-01_rb,0.64234e-01_rb,0.66213e-01_rb,0.77749e-01_rb, & & 0.96668e-01_rb,0.11597e+00_rb,0.13524e+00_rb,0.15427e+00_rb /) kao(:, 3, 4,13) = (/ & & 0.67276e-01_rb,0.63962e-01_rb,0.64238e-01_rb,0.67909e-01_rb,0.82185e-01_rb, & & 0.10254e+00_rb,0.12301e+00_rb,0.14345e+00_rb,0.16365e+00_rb /) kao(:, 4, 4,13) = (/ & & 0.66381e-01_rb,0.63334e-01_rb,0.64220e-01_rb,0.69770e-01_rb,0.86724e-01_rb, & & 0.10832e+00_rb,0.12994e+00_rb,0.15151e+00_rb,0.17282e+00_rb /) kao(:, 5, 4,13) = (/ & & 0.65437e-01_rb,0.62972e-01_rb,0.64673e-01_rb,0.72222e-01_rb,0.91630e-01_rb, & & 0.11445e+00_rb,0.13728e+00_rb,0.16006e+00_rb,0.18257e+00_rb /) kao(:, 1, 5,13) = (/ & & 0.78344e-01_rb,0.73091e-01_rb,0.69713e-01_rb,0.69214e-01_rb,0.74668e-01_rb, & & 0.88915e-01_rb,0.10667e+00_rb,0.12441e+00_rb,0.14209e+00_rb /) kao(:, 2, 5,13) = (/ & & 0.76773e-01_rb,0.71981e-01_rb,0.69752e-01_rb,0.70736e-01_rb,0.78904e-01_rb, & & 0.95797e-01_rb,0.11493e+00_rb,0.13406e+00_rb,0.15311e+00_rb /) kao(:, 3, 5,13) = (/ & & 0.75310e-01_rb,0.71068e-01_rb,0.69651e-01_rb,0.72503e-01_rb,0.83070e-01_rb, & & 0.10214e+00_rb,0.12251e+00_rb,0.14289e+00_rb,0.16320e+00_rb /) kao(:, 4, 5,13) = (/ & & 0.74250e-01_rb,0.70202e-01_rb,0.69499e-01_rb,0.74333e-01_rb,0.87301e-01_rb, & & 0.10818e+00_rb,0.12976e+00_rb,0.15132e+00_rb,0.17281e+00_rb /) kao(:, 5, 5,13) = (/ & & 0.73209e-01_rb,0.69739e-01_rb,0.69847e-01_rb,0.76315e-01_rb,0.91870e-01_rb, & & 0.11438e+00_rb,0.13720e+00_rb,0.16000e+00_rb,0.18274e+00_rb /) kao(:, 1, 6,13) = (/ & & 0.87696e-01_rb,0.81522e-01_rb,0.76509e-01_rb,0.74345e-01_rb,0.77107e-01_rb, & & 0.86456e-01_rb,0.10266e+00_rb,0.11975e+00_rb,0.13684e+00_rb /) kao(:, 2, 6,13) = (/ & & 0.85834e-01_rb,0.80104e-01_rb,0.76319e-01_rb,0.75879e-01_rb,0.80970e-01_rb, & & 0.93234e-01_rb,0.11135e+00_rb,0.12988e+00_rb,0.14843e+00_rb /) kao(:, 3, 6,13) = (/ & & 0.84103e-01_rb,0.79034e-01_rb,0.76204e-01_rb,0.77685e-01_rb,0.84459e-01_rb, & & 0.99600e-01_rb,0.11936e+00_rb,0.13921e+00_rb,0.15907e+00_rb /) kao(:, 4, 6,13) = (/ & & 0.82699e-01_rb,0.78102e-01_rb,0.75915e-01_rb,0.79277e-01_rb,0.87923e-01_rb, & & 0.10572e+00_rb,0.12681e+00_rb,0.14791e+00_rb,0.16901e+00_rb /) kao(:, 5, 6,13) = (/ & & 0.81604e-01_rb,0.77529e-01_rb,0.76175e-01_rb,0.80727e-01_rb,0.91640e-01_rb, & & 0.11182e+00_rb,0.13414e+00_rb,0.15644e+00_rb,0.17875e+00_rb /) kao(:, 1, 7,13) = (/ & & 0.97322e-01_rb,0.90329e-01_rb,0.84313e-01_rb,0.80452e-01_rb,0.80118e-01_rb, & & 0.84204e-01_rb,0.96138e-01_rb,0.11212e+00_rb,0.12812e+00_rb /) kao(:, 2, 7,13) = (/ & & 0.95378e-01_rb,0.88856e-01_rb,0.83999e-01_rb,0.81744e-01_rb,0.83529e-01_rb, & & 0.90072e-01_rb,0.10504e+00_rb,0.12254e+00_rb,0.14003e+00_rb /) kao(:, 3, 7,13) = (/ & & 0.93471e-01_rb,0.87725e-01_rb,0.83968e-01_rb,0.83424e-01_rb,0.86362e-01_rb, & & 0.95913e-01_rb,0.11338e+00_rb,0.13227e+00_rb,0.15114e+00_rb /) kao(:, 4, 7,13) = (/ & & 0.91861e-01_rb,0.86679e-01_rb,0.83638e-01_rb,0.84829e-01_rb,0.89126e-01_rb, & & 0.10167e+00_rb,0.12111e+00_rb,0.14127e+00_rb,0.16142e+00_rb /) kao(:, 5, 7,13) = (/ & & 0.90669e-01_rb,0.86079e-01_rb,0.83677e-01_rb,0.85955e-01_rb,0.92165e-01_rb, & & 0.10751e+00_rb,0.12862e+00_rb,0.15005e+00_rb,0.17145e+00_rb /) kao(:, 1, 8,13) = (/ & & 0.10748e+00_rb,0.99760e-01_rb,0.92641e-01_rb,0.87386e-01_rb,0.83918e-01_rb, & & 0.82807e-01_rb,0.88461e-01_rb,0.10199e+00_rb,0.11655e+00_rb /) kao(:, 2, 8,13) = (/ & & 0.10548e+00_rb,0.98347e-01_rb,0.92153e-01_rb,0.88724e-01_rb,0.86807e-01_rb, & & 0.87435e-01_rb,0.96918e-01_rb,0.11262e+00_rb,0.12866e+00_rb /) kao(:, 3, 8,13) = (/ & & 0.10345e+00_rb,0.96941e-01_rb,0.92269e-01_rb,0.90148e-01_rb,0.89023e-01_rb, & & 0.92390e-01_rb,0.10517e+00_rb,0.12260e+00_rb,0.14006e+00_rb /) kao(:, 4, 8,13) = (/ & & 0.10168e+00_rb,0.95648e-01_rb,0.92050e-01_rb,0.91217e-01_rb,0.91169e-01_rb, & & 0.97530e-01_rb,0.11302e+00_rb,0.13185e+00_rb,0.15061e+00_rb /) kao(:, 5, 8,13) = (/ & & 0.10031e+00_rb,0.94918e-01_rb,0.92030e-01_rb,0.91944e-01_rb,0.93599e-01_rb, & & 0.10280e+00_rb,0.12083e+00_rb,0.14095e+00_rb,0.16101e+00_rb /) kao(:, 1, 9,13) = (/ & & 0.11850e+00_rb,0.10963e+00_rb,0.10118e+00_rb,0.94592e-01_rb,0.88496e-01_rb, & & 0.82777e-01_rb,0.81368e-01_rb,0.90482e-01_rb,0.10334e+00_rb /) kao(:, 2, 9,13) = (/ & & 0.11636e+00_rb,0.10836e+00_rb,0.10080e+00_rb,0.96151e-01_rb,0.90961e-01_rb, & & 0.86437e-01_rb,0.88759e-01_rb,0.10103e+00_rb,0.11540e+00_rb /) kao(:, 3, 9,13) = (/ & & 0.11416e+00_rb,0.10675e+00_rb,0.10109e+00_rb,0.97591e-01_rb,0.92676e-01_rb, & & 0.90148e-01_rb,0.96288e-01_rb,0.11094e+00_rb,0.12669e+00_rb /) kao(:, 4, 9,13) = (/ & & 0.11214e+00_rb,0.10527e+00_rb,0.10096e+00_rb,0.98437e-01_rb,0.94256e-01_rb, & & 0.94326e-01_rb,0.10386e+00_rb,0.12050e+00_rb,0.13763e+00_rb /) kao(:, 5, 9,13) = (/ & & 0.11054e+00_rb,0.10425e+00_rb,0.10085e+00_rb,0.98717e-01_rb,0.96200e-01_rb, & & 0.98935e-01_rb,0.11173e+00_rb,0.13010e+00_rb,0.14859e+00_rb /) kao(:, 1,10,13) = (/ & & 0.13016e+00_rb,0.11986e+00_rb,0.10995e+00_rb,0.10196e+00_rb,0.93774e-01_rb, & & 0.84360e-01_rb,0.76878e-01_rb,0.79680e-01_rb,0.67359e-01_rb /) kao(:, 2,10,13) = (/ & & 0.12774e+00_rb,0.11853e+00_rb,0.10979e+00_rb,0.10367e+00_rb,0.96160e-01_rb, & & 0.87173e-01_rb,0.82710e-01_rb,0.89689e-01_rb,0.82456e-01_rb /) kao(:, 3,10,13) = (/ & & 0.12531e+00_rb,0.11685e+00_rb,0.11022e+00_rb,0.10509e+00_rb,0.97450e-01_rb, & & 0.90061e-01_rb,0.89222e-01_rb,0.99588e-01_rb,0.96338e-01_rb /) kao(:, 4,10,13) = (/ & & 0.12312e+00_rb,0.11523e+00_rb,0.11015e+00_rb,0.10584e+00_rb,0.98534e-01_rb, & & 0.93531e-01_rb,0.96262e-01_rb,0.10942e+00_rb,0.11043e+00_rb /) kao(:, 5,10,13) = (/ & & 0.12128e+00_rb,0.11400e+00_rb,0.10998e+00_rb,0.10588e+00_rb,0.10008e+00_rb, & & 0.97359e-01_rb,0.10364e+00_rb,0.11932e+00_rb,0.12582e+00_rb /) kao(:, 1,11,13) = (/ & & 0.14105e+00_rb,0.12987e+00_rb,0.11910e+00_rb,0.11026e+00_rb,0.10035e+00_rb, & & 0.88081e-01_rb,0.76687e-01_rb,0.74205e-01_rb,0.50899e-01_rb /) kao(:, 2,11,13) = (/ & & 0.13825e+00_rb,0.12810e+00_rb,0.11908e+00_rb,0.11198e+00_rb,0.10215e+00_rb, & & 0.90197e-01_rb,0.81650e-01_rb,0.83605e-01_rb,0.56975e-01_rb /) kao(:, 3,11,13) = (/ & & 0.13566e+00_rb,0.12624e+00_rb,0.11939e+00_rb,0.11316e+00_rb,0.10299e+00_rb, & & 0.92874e-01_rb,0.87279e-01_rb,0.93203e-01_rb,0.64736e-01_rb /) kao(:, 4,11,13) = (/ & & 0.13334e+00_rb,0.12460e+00_rb,0.11935e+00_rb,0.11337e+00_rb,0.10395e+00_rb, & & 0.95956e-01_rb,0.93410e-01_rb,0.10293e+00_rb,0.71284e-01_rb /) kao(:, 5,11,13) = (/ & & 0.13131e+00_rb,0.12363e+00_rb,0.11937e+00_rb,0.11314e+00_rb,0.10517e+00_rb, & & 0.98969e-01_rb,0.10016e+00_rb,0.11304e+00_rb,0.78587e-01_rb /) kao(:, 1,12,13) = (/ & & 0.15212e+00_rb,0.13991e+00_rb,0.12851e+00_rb,0.11872e+00_rb,0.10663e+00_rb, & & 0.91867e-01_rb,0.77350e-01_rb,0.69757e-01_rb,0.57657e-01_rb /) kao(:, 2,12,13) = (/ & & 0.14895e+00_rb,0.13760e+00_rb,0.12846e+00_rb,0.12032e+00_rb,0.10790e+00_rb, & & 0.93798e-01_rb,0.81816e-01_rb,0.78361e-01_rb,0.63811e-01_rb /) kao(:, 3,12,13) = (/ & & 0.14609e+00_rb,0.13558e+00_rb,0.12854e+00_rb,0.12100e+00_rb,0.10856e+00_rb, & & 0.96260e-01_rb,0.86684e-01_rb,0.87192e-01_rb,0.72200e-01_rb /) kao(:, 4,12,13) = (/ & & 0.14343e+00_rb,0.13400e+00_rb,0.12849e+00_rb,0.12073e+00_rb,0.10951e+00_rb, & & 0.98753e-01_rb,0.91530e-01_rb,0.96391e-01_rb,0.79517e-01_rb /) kao(:, 5,12,13) = (/ & & 0.14120e+00_rb,0.13303e+00_rb,0.12833e+00_rb,0.12041e+00_rb,0.11038e+00_rb, & & 0.10129e+00_rb,0.97562e-01_rb,0.10658e+00_rb,0.84371e-01_rb /) kao(:, 1,13,13) = (/ & & 0.16284e+00_rb,0.14976e+00_rb,0.13792e+00_rb,0.12684e+00_rb,0.11275e+00_rb, & & 0.95645e-01_rb,0.78767e-01_rb,0.66366e-01_rb,0.59038e-01_rb /) kao(:, 2,13,13) = (/ & & 0.15947e+00_rb,0.14721e+00_rb,0.13779e+00_rb,0.12800e+00_rb,0.11359e+00_rb, & & 0.97597e-01_rb,0.82782e-01_rb,0.73753e-01_rb,0.67374e-01_rb /) kao(:, 3,13,13) = (/ & & 0.15626e+00_rb,0.14498e+00_rb,0.13763e+00_rb,0.12811e+00_rb,0.11414e+00_rb, & & 0.99826e-01_rb,0.86643e-01_rb,0.81525e-01_rb,0.75874e-01_rb /) kao(:, 4,13,13) = (/ & & 0.15335e+00_rb,0.14330e+00_rb,0.13746e+00_rb,0.12758e+00_rb,0.11501e+00_rb, & & 0.10172e+00_rb,0.90750e-01_rb,0.90246e-01_rb,0.81744e-01_rb /) kao(:, 5,13,13) = (/ & & 0.15088e+00_rb,0.14217e+00_rb,0.13690e+00_rb,0.12723e+00_rb,0.11557e+00_rb, & & 0.10388e+00_rb,0.96218e-01_rb,0.10042e+00_rb,0.88529e-01_rb /) kao(:, 1, 1,14) = (/ & & 0.62837e-01_rb,0.60695e-01_rb,0.77720e-01_rb,0.11279e+00_rb,0.15033e+00_rb, & & 0.18788e+00_rb,0.22539e+00_rb,0.26284e+00_rb,0.29421e+00_rb /) kao(:, 2, 1,14) = (/ & & 0.61599e-01_rb,0.60148e-01_rb,0.79591e-01_rb,0.11750e+00_rb,0.15661e+00_rb, & & 0.19570e+00_rb,0.23478e+00_rb,0.27378e+00_rb,0.30578e+00_rb /) kao(:, 3, 1,14) = (/ & & 0.60827e-01_rb,0.59792e-01_rb,0.82175e-01_rb,0.12253e+00_rb,0.16330e+00_rb, & & 0.20407e+00_rb,0.24482e+00_rb,0.28548e+00_rb,0.31829e+00_rb /) kao(:, 4, 1,14) = (/ & & 0.60773e-01_rb,0.59852e-01_rb,0.85295e-01_rb,0.12765e+00_rb,0.17012e+00_rb, & & 0.21258e+00_rb,0.25502e+00_rb,0.29736e+00_rb,0.33114e+00_rb /) kao(:, 5, 1,14) = (/ & & 0.60579e-01_rb,0.60436e-01_rb,0.88993e-01_rb,0.13334e+00_rb,0.17771e+00_rb, & & 0.22206e+00_rb,0.26642e+00_rb,0.31066e+00_rb,0.34557e+00_rb /) kao(:, 1, 2,14) = (/ & & 0.70150e-01_rb,0.67933e-01_rb,0.82763e-01_rb,0.11770e+00_rb,0.15687e+00_rb, & & 0.19605e+00_rb,0.23520e+00_rb,0.27426e+00_rb,0.30923e+00_rb /) kao(:, 2, 2,14) = (/ & & 0.68737e-01_rb,0.67168e-01_rb,0.84453e-01_rb,0.12329e+00_rb,0.16434e+00_rb, & & 0.20537e+00_rb,0.24638e+00_rb,0.28735e+00_rb,0.32358e+00_rb /) kao(:, 3, 2,14) = (/ & & 0.67693e-01_rb,0.66713e-01_rb,0.87076e-01_rb,0.12893e+00_rb,0.17184e+00_rb, & & 0.21474e+00_rb,0.25764e+00_rb,0.30044e+00_rb,0.33811e+00_rb /) kao(:, 4, 2,14) = (/ & & 0.67352e-01_rb,0.66652e-01_rb,0.90088e-01_rb,0.13441e+00_rb,0.17914e+00_rb, & & 0.22388e+00_rb,0.26860e+00_rb,0.31321e+00_rb,0.35245e+00_rb /) kao(:, 5, 2,14) = (/ & & 0.66923e-01_rb,0.67069e-01_rb,0.93870e-01_rb,0.14034e+00_rb,0.18704e+00_rb, & & 0.23374e+00_rb,0.28042e+00_rb,0.32702e+00_rb,0.36794e+00_rb /) kao(:, 1, 3,14) = (/ & & 0.79385e-01_rb,0.76263e-01_rb,0.87808e-01_rb,0.12001e+00_rb,0.15997e+00_rb, & & 0.19992e+00_rb,0.23984e+00_rb,0.27971e+00_rb,0.31814e+00_rb /) kao(:, 2, 3,14) = (/ & & 0.77666e-01_rb,0.75357e-01_rb,0.89439e-01_rb,0.12673e+00_rb,0.16892e+00_rb, & & 0.21110e+00_rb,0.25327e+00_rb,0.29539e+00_rb,0.33569e+00_rb /) kao(:, 3, 3,14) = (/ & & 0.76193e-01_rb,0.74694e-01_rb,0.92082e-01_rb,0.13335e+00_rb,0.17774e+00_rb, & & 0.22213e+00_rb,0.26651e+00_rb,0.31084e+00_rb,0.35313e+00_rb /) kao(:, 4, 3,14) = (/ & & 0.75335e-01_rb,0.74405e-01_rb,0.95067e-01_rb,0.13953e+00_rb,0.18597e+00_rb, & & 0.23241e+00_rb,0.27884e+00_rb,0.32518e+00_rb,0.36942e+00_rb /) kao(:, 5, 3,14) = (/ & & 0.74635e-01_rb,0.74698e-01_rb,0.98457e-01_rb,0.14565e+00_rb,0.19414e+00_rb, & & 0.24262e+00_rb,0.29108e+00_rb,0.33947e+00_rb,0.38555e+00_rb /) kao(:, 1, 4,14) = (/ & & 0.89595e-01_rb,0.85781e-01_rb,0.93997e-01_rb,0.12072e+00_rb,0.16001e+00_rb, & & 0.19998e+00_rb,0.23994e+00_rb,0.27984e+00_rb,0.31934e+00_rb /) kao(:, 2, 4,14) = (/ & & 0.87421e-01_rb,0.84747e-01_rb,0.95233e-01_rb,0.12788e+00_rb,0.17024e+00_rb, & & 0.21274e+00_rb,0.25525e+00_rb,0.29772e+00_rb,0.33967e+00_rb /) kao(:, 3, 4,14) = (/ & & 0.85503e-01_rb,0.83808e-01_rb,0.97531e-01_rb,0.13512e+00_rb,0.18009e+00_rb, & & 0.22508e+00_rb,0.27005e+00_rb,0.31493e+00_rb,0.35929e+00_rb /) kao(:, 4, 4,14) = (/ & & 0.84061e-01_rb,0.83216e-01_rb,0.10039e+00_rb,0.14194e+00_rb,0.18919e+00_rb, & & 0.23644e+00_rb,0.28372e+00_rb,0.33088e+00_rb,0.37743e+00_rb /) kao(:, 5, 4,14) = (/ & & 0.83141e-01_rb,0.83249e-01_rb,0.10352e+00_rb,0.14853e+00_rb,0.19798e+00_rb, & & 0.24744e+00_rb,0.29688e+00_rb,0.34622e+00_rb,0.39491e+00_rb /) kao(:, 1, 5,14) = (/ & & 0.10093e+00_rb,0.96180e-01_rb,0.10202e+00_rb,0.12191e+00_rb,0.15810e+00_rb, & & 0.19761e+00_rb,0.23710e+00_rb,0.27651e+00_rb,0.31584e+00_rb /) kao(:, 2, 5,14) = (/ & & 0.98348e-01_rb,0.95154e-01_rb,0.10279e+00_rb,0.12897e+00_rb,0.16954e+00_rb, & & 0.21190e+00_rb,0.25425e+00_rb,0.29655e+00_rb,0.33869e+00_rb /) kao(:, 3, 5,14) = (/ & & 0.96078e-01_rb,0.94065e-01_rb,0.10459e+00_rb,0.13623e+00_rb,0.18035e+00_rb, & & 0.22539e+00_rb,0.27041e+00_rb,0.31537e+00_rb,0.36019e+00_rb /) kao(:, 4, 5,14) = (/ & & 0.94202e-01_rb,0.93296e-01_rb,0.10703e+00_rb,0.14326e+00_rb,0.19057e+00_rb, & & 0.23817e+00_rb,0.28575e+00_rb,0.33330e+00_rb,0.38060e+00_rb /) kao(:, 5, 5,14) = (/ & & 0.93055e-01_rb,0.92935e-01_rb,0.10982e+00_rb,0.15042e+00_rb,0.20048e+00_rb, & & 0.25056e+00_rb,0.30061e+00_rb,0.35061e+00_rb,0.40035e+00_rb /) kao(:, 1, 6,14) = (/ & & 0.11421e+00_rb,0.10796e+00_rb,0.11173e+00_rb,0.12476e+00_rb,0.15549e+00_rb, & & 0.19408e+00_rb,0.23286e+00_rb,0.27161e+00_rb,0.31032e+00_rb /) kao(:, 2, 6,14) = (/ & & 0.11123e+00_rb,0.10718e+00_rb,0.11218e+00_rb,0.13121e+00_rb,0.16775e+00_rb, & & 0.20966e+00_rb,0.25155e+00_rb,0.29340e+00_rb,0.33523e+00_rb /) kao(:, 3, 6,14) = (/ & & 0.10875e+00_rb,0.10588e+00_rb,0.11334e+00_rb,0.13798e+00_rb,0.17972e+00_rb, & & 0.22462e+00_rb,0.26950e+00_rb,0.31433e+00_rb,0.35914e+00_rb /) kao(:, 4, 6,14) = (/ & & 0.10666e+00_rb,0.10458e+00_rb,0.11529e+00_rb,0.14519e+00_rb,0.19132e+00_rb, & & 0.23911e+00_rb,0.28688e+00_rb,0.33463e+00_rb,0.38232e+00_rb /) kao(:, 5, 6,14) = (/ & & 0.10502e+00_rb,0.10381e+00_rb,0.11770e+00_rb,0.15287e+00_rb,0.20267e+00_rb, & & 0.25329e+00_rb,0.30392e+00_rb,0.35446e+00_rb,0.40496e+00_rb /) kao(:, 1, 7,14) = (/ & & 0.12988e+00_rb,0.12138e+00_rb,0.12291e+00_rb,0.12930e+00_rb,0.15315e+00_rb, & & 0.18907e+00_rb,0.22686e+00_rb,0.26460e+00_rb,0.30239e+00_rb /) kao(:, 2, 7,14) = (/ & & 0.12649e+00_rb,0.12054e+00_rb,0.12314e+00_rb,0.13530e+00_rb,0.16601e+00_rb, & & 0.20667e+00_rb,0.24798e+00_rb,0.28925e+00_rb,0.33056e+00_rb /) kao(:, 3, 7,14) = (/ & & 0.12370e+00_rb,0.11924e+00_rb,0.12400e+00_rb,0.14174e+00_rb,0.17907e+00_rb, & & 0.22369e+00_rb,0.26838e+00_rb,0.31304e+00_rb,0.35775e+00_rb /) kao(:, 4, 7,14) = (/ & & 0.12121e+00_rb,0.11770e+00_rb,0.12551e+00_rb,0.14889e+00_rb,0.19207e+00_rb, & & 0.24005e+00_rb,0.28802e+00_rb,0.33592e+00_rb,0.38391e+00_rb /) kao(:, 5, 7,14) = (/ & & 0.11892e+00_rb,0.11635e+00_rb,0.12739e+00_rb,0.15666e+00_rb,0.20470e+00_rb, & & 0.25583e+00_rb,0.30694e+00_rb,0.35802e+00_rb,0.40917e+00_rb /) kao(:, 1, 8,14) = (/ & & 0.14795e+00_rb,0.13669e+00_rb,0.13564e+00_rb,0.13646e+00_rb,0.15231e+00_rb, & & 0.18310e+00_rb,0.21966e+00_rb,0.25622e+00_rb,0.29284e+00_rb /) kao(:, 2, 8,14) = (/ & & 0.14430e+00_rb,0.13540e+00_rb,0.13550e+00_rb,0.14118e+00_rb,0.16490e+00_rb, & & 0.20238e+00_rb,0.24284e+00_rb,0.28324e+00_rb,0.32374e+00_rb /) kao(:, 3, 8,14) = (/ & & 0.14109e+00_rb,0.13403e+00_rb,0.13585e+00_rb,0.14713e+00_rb,0.17836e+00_rb, & & 0.22126e+00_rb,0.26548e+00_rb,0.30963e+00_rb,0.35392e+00_rb /) kao(:, 4, 8,14) = (/ & & 0.13807e+00_rb,0.13250e+00_rb,0.13707e+00_rb,0.15422e+00_rb,0.19232e+00_rb, & & 0.23967e+00_rb,0.28757e+00_rb,0.33540e+00_rb,0.38338e+00_rb /) kao(:, 5, 8,14) = (/ & & 0.13514e+00_rb,0.13080e+00_rb,0.13878e+00_rb,0.16197e+00_rb,0.20594e+00_rb, & & 0.25719e+00_rb,0.30860e+00_rb,0.35994e+00_rb,0.41142e+00_rb /) kao(:, 1, 9,14) = (/ & & 0.16812e+00_rb,0.15406e+00_rb,0.15051e+00_rb,0.14632e+00_rb,0.15371e+00_rb, & & 0.17730e+00_rb,0.21108e+00_rb,0.24622e+00_rb,0.28143e+00_rb /) kao(:, 2, 9,14) = (/ & & 0.16420e+00_rb,0.15230e+00_rb,0.14950e+00_rb,0.14998e+00_rb,0.16549e+00_rb, & & 0.19706e+00_rb,0.23609e+00_rb,0.27539e+00_rb,0.31477e+00_rb /) kao(:, 3, 9,14) = (/ & & 0.16053e+00_rb,0.15077e+00_rb,0.14903e+00_rb,0.15488e+00_rb,0.17883e+00_rb, & & 0.21740e+00_rb,0.26082e+00_rb,0.30423e+00_rb,0.34775e+00_rb /) kao(:, 4, 9,14) = (/ & & 0.15694e+00_rb,0.14891e+00_rb,0.14991e+00_rb,0.16140e+00_rb,0.19301e+00_rb, & & 0.23753e+00_rb,0.28500e+00_rb,0.33244e+00_rb,0.37999e+00_rb /) kao(:, 5, 9,14) = (/ & & 0.15342e+00_rb,0.14670e+00_rb,0.15145e+00_rb,0.16838e+00_rb,0.20634e+00_rb, & & 0.25567e+00_rb,0.30677e+00_rb,0.35784e+00_rb,0.40903e+00_rb /) kao(:, 1,10,14) = (/ & & 0.18962e+00_rb,0.17319e+00_rb,0.16709e+00_rb,0.15817e+00_rb,0.15908e+00_rb, & & 0.17425e+00_rb,0.20287e+00_rb,0.23665e+00_rb,0.27049e+00_rb /) kao(:, 2,10,14) = (/ & & 0.18536e+00_rb,0.17110e+00_rb,0.16526e+00_rb,0.16124e+00_rb,0.16946e+00_rb, & & 0.19394e+00_rb,0.22959e+00_rb,0.26781e+00_rb,0.30611e+00_rb /) kao(:, 3,10,14) = (/ & & 0.18117e+00_rb,0.16910e+00_rb,0.16400e+00_rb,0.16579e+00_rb,0.18236e+00_rb, & & 0.21466e+00_rb,0.25610e+00_rb,0.29874e+00_rb,0.34146e+00_rb /) kao(:, 4,10,14) = (/ & & 0.17697e+00_rb,0.16677e+00_rb,0.16446e+00_rb,0.17161e+00_rb,0.19589e+00_rb, & & 0.23479e+00_rb,0.28114e+00_rb,0.32796e+00_rb,0.37484e+00_rb /) kao(:, 5,10,14) = (/ & & 0.17281e+00_rb,0.16399e+00_rb,0.16565e+00_rb,0.17716e+00_rb,0.20808e+00_rb, & & 0.25277e+00_rb,0.30323e+00_rb,0.35372e+00_rb,0.40429e+00_rb /) kao(:, 1,11,14) = (/ & & 0.21055e+00_rb,0.19254e+00_rb,0.18359e+00_rb,0.17274e+00_rb,0.17137e+00_rb, & & 0.18167e+00_rb,0.20669e+00_rb,0.24044e+00_rb,0.24447e+00_rb /) kao(:, 2,11,14) = (/ & & 0.20570e+00_rb,0.19011e+00_rb,0.18168e+00_rb,0.17577e+00_rb,0.18167e+00_rb, & & 0.20144e+00_rb,0.23412e+00_rb,0.27305e+00_rb,0.28987e+00_rb /) kao(:, 3,11,14) = (/ & & 0.20088e+00_rb,0.18755e+00_rb,0.18057e+00_rb,0.18058e+00_rb,0.19347e+00_rb, & & 0.22124e+00_rb,0.26062e+00_rb,0.30406e+00_rb,0.33203e+00_rb /) kao(:, 4,11,14) = (/ & & 0.19608e+00_rb,0.18439e+00_rb,0.18082e+00_rb,0.18569e+00_rb,0.20488e+00_rb, & & 0.23927e+00_rb,0.28460e+00_rb,0.33201e+00_rb,0.37191e+00_rb /) kao(:, 5,11,14) = (/ & & 0.19134e+00_rb,0.18083e+00_rb,0.18137e+00_rb,0.19023e+00_rb,0.21563e+00_rb, & & 0.25670e+00_rb,0.30697e+00_rb,0.35809e+00_rb,0.40924e+00_rb /) kao(:, 1,12,14) = (/ & & 0.23222e+00_rb,0.21282e+00_rb,0.20059e+00_rb,0.18856e+00_rb,0.18455e+00_rb, & & 0.18954e+00_rb,0.20921e+00_rb,0.24116e+00_rb,0.20678e+00_rb /) kao(:, 2,12,14) = (/ & & 0.22666e+00_rb,0.20982e+00_rb,0.19853e+00_rb,0.19166e+00_rb,0.19460e+00_rb, & & 0.20805e+00_rb,0.23602e+00_rb,0.27405e+00_rb,0.24947e+00_rb /) kao(:, 3,12,14) = (/ & & 0.22121e+00_rb,0.20649e+00_rb,0.19756e+00_rb,0.19621e+00_rb,0.20452e+00_rb, & & 0.22597e+00_rb,0.26146e+00_rb,0.30478e+00_rb,0.28725e+00_rb /) kao(:, 4,12,14) = (/ & & 0.21578e+00_rb,0.20240e+00_rb,0.19746e+00_rb,0.20035e+00_rb,0.21392e+00_rb, & & 0.24302e+00_rb,0.28559e+00_rb,0.33317e+00_rb,0.32415e+00_rb /) kao(:, 5,12,14) = (/ & & 0.21026e+00_rb,0.19816e+00_rb,0.19729e+00_rb,0.20402e+00_rb,0.22339e+00_rb, & & 0.25983e+00_rb,0.30840e+00_rb,0.35980e+00_rb,0.36272e+00_rb /) kao(:, 1,13,14) = (/ & & 0.25447e+00_rb,0.23356e+00_rb,0.21785e+00_rb,0.20504e+00_rb,0.19797e+00_rb, & & 0.19705e+00_rb,0.20967e+00_rb,0.23794e+00_rb,0.19657e+00_rb /) kao(:, 2,13,14) = (/ & & 0.24820e+00_rb,0.22981e+00_rb,0.21561e+00_rb,0.20828e+00_rb,0.20711e+00_rb, & & 0.21347e+00_rb,0.23520e+00_rb,0.27088e+00_rb,0.23547e+00_rb /) kao(:, 3,13,14) = (/ & & 0.24206e+00_rb,0.22556e+00_rb,0.21467e+00_rb,0.21216e+00_rb,0.21525e+00_rb, & & 0.22938e+00_rb,0.25994e+00_rb,0.30180e+00_rb,0.27108e+00_rb /) kao(:, 4,13,14) = (/ & & 0.23572e+00_rb,0.22056e+00_rb,0.21408e+00_rb,0.21517e+00_rb,0.22293e+00_rb, & & 0.24576e+00_rb,0.28399e+00_rb,0.33091e+00_rb,0.30909e+00_rb /) kao(:, 5,13,14) = (/ & & 0.22932e+00_rb,0.21557e+00_rb,0.21287e+00_rb,0.21778e+00_rb,0.23130e+00_rb, & & 0.26208e+00_rb,0.30701e+00_rb,0.35815e+00_rb,0.34602e+00_rb /) kao(:, 1, 1,15) = (/ & & 0.79223e-01_rb,0.75104e-01_rb,0.13846e+00_rb,0.20766e+00_rb,0.27685e+00_rb, & & 0.34601e+00_rb,0.41512e+00_rb,0.48397e+00_rb,0.52564e+00_rb /) kao(:, 2, 1,15) = (/ & & 0.76682e-01_rb,0.76450e-01_rb,0.14571e+00_rb,0.21854e+00_rb,0.29137e+00_rb, & & 0.36417e+00_rb,0.43689e+00_rb,0.50929e+00_rb,0.55383e+00_rb /) kao(:, 3, 1,15) = (/ & & 0.74345e-01_rb,0.78213e-01_rb,0.15207e+00_rb,0.22808e+00_rb,0.30407e+00_rb, & & 0.38004e+00_rb,0.45593e+00_rb,0.53155e+00_rb,0.57851e+00_rb /) kao(:, 4, 1,15) = (/ & & 0.72607e-01_rb,0.80130e-01_rb,0.15758e+00_rb,0.23638e+00_rb,0.31513e+00_rb, & & 0.39385e+00_rb,0.47252e+00_rb,0.55092e+00_rb,0.60005e+00_rb /) kao(:, 5, 1,15) = (/ & & 0.72847e-01_rb,0.82433e-01_rb,0.16249e+00_rb,0.24371e+00_rb,0.32491e+00_rb, & & 0.40606e+00_rb,0.48713e+00_rb,0.56790e+00_rb,0.61880e+00_rb /) kao(:, 1, 2,15) = (/ & & 0.89010e-01_rb,0.84748e-01_rb,0.15528e+00_rb,0.23291e+00_rb,0.31052e+00_rb, & & 0.38812e+00_rb,0.46559e+00_rb,0.54282e+00_rb,0.60189e+00_rb /) kao(:, 2, 2,15) = (/ & & 0.86286e-01_rb,0.86390e-01_rb,0.16350e+00_rb,0.24523e+00_rb,0.32694e+00_rb, & & 0.40865e+00_rb,0.49029e+00_rb,0.57166e+00_rb,0.63436e+00_rb /) kao(:, 3, 2,15) = (/ & & 0.83865e-01_rb,0.88469e-01_rb,0.17076e+00_rb,0.25611e+00_rb,0.34145e+00_rb, & & 0.42675e+00_rb,0.51202e+00_rb,0.59693e+00_rb,0.66276e+00_rb /) kao(:, 4, 2,15) = (/ & & 0.81971e-01_rb,0.90581e-01_rb,0.17733e+00_rb,0.26595e+00_rb,0.35459e+00_rb, & & 0.44319e+00_rb,0.53165e+00_rb,0.61981e+00_rb,0.68802e+00_rb /) kao(:, 5, 2,15) = (/ & & 0.81826e-01_rb,0.93085e-01_rb,0.18319e+00_rb,0.27476e+00_rb,0.36629e+00_rb, & & 0.45781e+00_rb,0.54921e+00_rb,0.64033e+00_rb,0.71080e+00_rb /) kao(:, 1, 3,15) = (/ & & 0.10078e+00_rb,0.96469e-01_rb,0.17126e+00_rb,0.25687e+00_rb,0.34247e+00_rb, & & 0.42804e+00_rb,0.51357e+00_rb,0.59868e+00_rb,0.67473e+00_rb /) kao(:, 2, 3,15) = (/ & & 0.97698e-01_rb,0.98193e-01_rb,0.18058e+00_rb,0.27084e+00_rb,0.36108e+00_rb, & & 0.45128e+00_rb,0.54134e+00_rb,0.63128e+00_rb,0.71182e+00_rb /) kao(:, 3, 3,15) = (/ & & 0.95186e-01_rb,0.10027e+00_rb,0.18871e+00_rb,0.28303e+00_rb,0.37733e+00_rb, & & 0.47160e+00_rb,0.56577e+00_rb,0.65972e+00_rb,0.74408e+00_rb /) kao(:, 4, 3,15) = (/ & & 0.93223e-01_rb,0.10231e+00_rb,0.19621e+00_rb,0.29427e+00_rb,0.39234e+00_rb, & & 0.49035e+00_rb,0.58829e+00_rb,0.68586e+00_rb,0.77383e+00_rb /) kao(:, 5, 3,15) = (/ & & 0.93003e-01_rb,0.10431e+00_rb,0.20302e+00_rb,0.30448e+00_rb,0.40592e+00_rb, & & 0.50734e+00_rb,0.60870e+00_rb,0.70970e+00_rb,0.80084e+00_rb /) kao(:, 1, 4,15) = (/ & & 0.11556e+00_rb,0.11007e+00_rb,0.18689e+00_rb,0.28032e+00_rb,0.37373e+00_rb, & & 0.46710e+00_rb,0.56044e+00_rb,0.65346e+00_rb,0.74264e+00_rb /) kao(:, 2, 4,15) = (/ & & 0.11235e+00_rb,0.11167e+00_rb,0.19754e+00_rb,0.29630e+00_rb,0.39502e+00_rb, & & 0.49371e+00_rb,0.59235e+00_rb,0.69064e+00_rb,0.78516e+00_rb /) kao(:, 3, 4,15) = (/ & & 0.10972e+00_rb,0.11355e+00_rb,0.20696e+00_rb,0.31040e+00_rb,0.41383e+00_rb, & & 0.51721e+00_rb,0.62053e+00_rb,0.72352e+00_rb,0.82248e+00_rb /) kao(:, 4, 4,15) = (/ & & 0.10741e+00_rb,0.11554e+00_rb,0.21557e+00_rb,0.32331e+00_rb,0.43105e+00_rb, & & 0.53874e+00_rb,0.64632e+00_rb,0.75359e+00_rb,0.85679e+00_rb /) kao(:, 5, 4,15) = (/ & & 0.10619e+00_rb,0.11745e+00_rb,0.22327e+00_rb,0.33487e+00_rb,0.44646e+00_rb, & & 0.55799e+00_rb,0.66944e+00_rb,0.78056e+00_rb,0.88741e+00_rb /) kao(:, 1, 5,15) = (/ & & 0.13422e+00_rb,0.12619e+00_rb,0.20125e+00_rb,0.30186e+00_rb,0.40245e+00_rb, & & 0.50302e+00_rb,0.60348e+00_rb,0.70372e+00_rb,0.80253e+00_rb /) kao(:, 2, 5,15) = (/ & & 0.13052e+00_rb,0.12743e+00_rb,0.21345e+00_rb,0.32016e+00_rb,0.42685e+00_rb, & & 0.53351e+00_rb,0.64011e+00_rb,0.74634e+00_rb,0.85136e+00_rb /) kao(:, 3, 5,15) = (/ & & 0.12741e+00_rb,0.12876e+00_rb,0.22450e+00_rb,0.33672e+00_rb,0.44894e+00_rb, & & 0.56113e+00_rb,0.67322e+00_rb,0.78494e+00_rb,0.89542e+00_rb /) kao(:, 4, 5,15) = (/ & & 0.12456e+00_rb,0.13045e+00_rb,0.23454e+00_rb,0.35177e+00_rb,0.46901e+00_rb, & & 0.58622e+00_rb,0.70332e+00_rb,0.82004e+00_rb,0.93535e+00_rb /) kao(:, 5, 5,15) = (/ & & 0.12240e+00_rb,0.13234e+00_rb,0.24346e+00_rb,0.36515e+00_rb,0.48682e+00_rb, & & 0.60842e+00_rb,0.72992e+00_rb,0.85105e+00_rb,0.97074e+00_rb /) kao(:, 1, 6,15) = (/ & & 0.15641e+00_rb,0.14549e+00_rb,0.21406e+00_rb,0.31903e+00_rb,0.42534e+00_rb, & & 0.53165e+00_rb,0.63788e+00_rb,0.74385e+00_rb,0.84964e+00_rb /) kao(:, 2, 6,15) = (/ & & 0.15207e+00_rb,0.14574e+00_rb,0.22708e+00_rb,0.34022e+00_rb,0.45360e+00_rb, & & 0.56697e+00_rb,0.68027e+00_rb,0.79322e+00_rb,0.90603e+00_rb /) kao(:, 3, 6,15) = (/ & & 0.14825e+00_rb,0.14665e+00_rb,0.23979e+00_rb,0.35965e+00_rb,0.47950e+00_rb, & & 0.59932e+00_rb,0.71907e+00_rb,0.83857e+00_rb,0.95773e+00_rb /) kao(:, 4, 6,15) = (/ & & 0.14482e+00_rb,0.14790e+00_rb,0.25144e+00_rb,0.37711e+00_rb,0.50278e+00_rb, & & 0.62841e+00_rb,0.75400e+00_rb,0.87926e+00_rb,0.10043e+01_rb /) kao(:, 5, 6,15) = (/ & & 0.14196e+00_rb,0.14929e+00_rb,0.26158e+00_rb,0.39235e+00_rb,0.52312e+00_rb, & & 0.65390e+00_rb,0.78460e+00_rb,0.91489e+00_rb,0.10450e+01_rb /) kao(:, 1, 7,15) = (/ & & 0.18245e+00_rb,0.16813e+00_rb,0.22831e+00_rb,0.33360e+00_rb,0.44476e+00_rb, & & 0.55591e+00_rb,0.66702e+00_rb,0.77783e+00_rb,0.88903e+00_rb /) kao(:, 2, 7,15) = (/ & & 0.17706e+00_rb,0.16763e+00_rb,0.24144e+00_rb,0.35719e+00_rb,0.47625e+00_rb, & & 0.59524e+00_rb,0.71422e+00_rb,0.83295e+00_rb,0.95194e+00_rb /) kao(:, 3, 7,15) = (/ & & 0.17236e+00_rb,0.16756e+00_rb,0.25360e+00_rb,0.37892e+00_rb,0.50520e+00_rb, & & 0.63143e+00_rb,0.75766e+00_rb,0.88351e+00_rb,0.10099e+01_rb /) kao(:, 4, 7,15) = (/ & & 0.16823e+00_rb,0.16816e+00_rb,0.26586e+00_rb,0.39858e+00_rb,0.53141e+00_rb, & & 0.66420e+00_rb,0.79692e+00_rb,0.92941e+00_rb,0.10623e+01_rb /) kao(:, 5, 7,15) = (/ & & 0.16468e+00_rb,0.16894e+00_rb,0.27725e+00_rb,0.41585e+00_rb,0.55445e+00_rb, & & 0.69298e+00_rb,0.83146e+00_rb,0.96971e+00_rb,0.11082e+01_rb /) kao(:, 1, 8,15) = (/ & & 0.21221e+00_rb,0.19366e+00_rb,0.24501e+00_rb,0.34518e+00_rb,0.46022e+00_rb, & & 0.57522e+00_rb,0.69013e+00_rb,0.80500e+00_rb,0.92024e+00_rb /) kao(:, 2, 8,15) = (/ & & 0.20558e+00_rb,0.19344e+00_rb,0.25798e+00_rb,0.37195e+00_rb,0.49597e+00_rb, & & 0.61989e+00_rb,0.74379e+00_rb,0.86737e+00_rb,0.99166e+00_rb /) kao(:, 3, 8,15) = (/ & & 0.19977e+00_rb,0.19260e+00_rb,0.26963e+00_rb,0.39624e+00_rb,0.52829e+00_rb, & & 0.66032e+00_rb,0.79227e+00_rb,0.92396e+00_rb,0.10564e+01_rb /) kao(:, 4, 8,15) = (/ & & 0.19471e+00_rb,0.19196e+00_rb,0.28135e+00_rb,0.41773e+00_rb,0.55693e+00_rb, & & 0.69614e+00_rb,0.83525e+00_rb,0.97412e+00_rb,0.11137e+01_rb /) kao(:, 5, 8,15) = (/ & & 0.19023e+00_rb,0.19149e+00_rb,0.29229e+00_rb,0.43683e+00_rb,0.58243e+00_rb, & & 0.72800e+00_rb,0.87352e+00_rb,0.10186e+01_rb,0.11647e+01_rb /) kao(:, 1, 9,15) = (/ & & 0.24675e+00_rb,0.22274e+00_rb,0.26456e+00_rb,0.35496e+00_rb,0.47007e+00_rb, & & 0.58755e+00_rb,0.70496e+00_rb,0.82216e+00_rb,0.94015e+00_rb /) kao(:, 2, 9,15) = (/ & & 0.23844e+00_rb,0.22223e+00_rb,0.27692e+00_rb,0.38304e+00_rb,0.51028e+00_rb, & & 0.63780e+00_rb,0.76534e+00_rb,0.89259e+00_rb,0.10206e+01_rb /) kao(:, 3, 9,15) = (/ & & 0.23115e+00_rb,0.22076e+00_rb,0.28808e+00_rb,0.40973e+00_rb,0.54629e+00_rb, & & 0.68281e+00_rb,0.81930e+00_rb,0.95554e+00_rb,0.10926e+01_rb /) kao(:, 4, 9,15) = (/ & & 0.22487e+00_rb,0.21935e+00_rb,0.29872e+00_rb,0.43339e+00_rb,0.57783e+00_rb, & & 0.72230e+00_rb,0.86661e+00_rb,0.10108e+01_rb,0.11557e+01_rb /) kao(:, 5, 9,15) = (/ & & 0.21911e+00_rb,0.21807e+00_rb,0.30914e+00_rb,0.45602e+00_rb,0.60799e+00_rb, & & 0.75991e+00_rb,0.91189e+00_rb,0.10634e+01_rb,0.12161e+01_rb /) kao(:, 1,10,15) = (/ & & 0.28580e+00_rb,0.25610e+00_rb,0.28839e+00_rb,0.36810e+00_rb,0.47645e+00_rb, & & 0.59554e+00_rb,0.71455e+00_rb,0.83348e+00_rb,0.95290e+00_rb /) kao(:, 2,10,15) = (/ & & 0.27554e+00_rb,0.25438e+00_rb,0.29985e+00_rb,0.39603e+00_rb,0.52141e+00_rb, & & 0.65175e+00_rb,0.78205e+00_rb,0.91212e+00_rb,0.10429e+01_rb /) kao(:, 3,10,15) = (/ & & 0.26639e+00_rb,0.25230e+00_rb,0.31000e+00_rb,0.42263e+00_rb,0.56074e+00_rb, & & 0.70092e+00_rb,0.84101e+00_rb,0.98094e+00_rb,0.11215e+01_rb /) kao(:, 4,10,15) = (/ & & 0.25840e+00_rb,0.24961e+00_rb,0.31933e+00_rb,0.44762e+00_rb,0.59663e+00_rb, & & 0.74572e+00_rb,0.89477e+00_rb,0.10436e+01_rb,0.11932e+01_rb /) kao(:, 5,10,15) = (/ & & 0.25110e+00_rb,0.24738e+00_rb,0.32882e+00_rb,0.47409e+00_rb,0.63208e+00_rb, & & 0.79011e+00_rb,0.94801e+00_rb,0.11055e+01_rb,0.12642e+01_rb /) kao(:, 1,11,15) = (/ & & 0.32402e+00_rb,0.29231e+00_rb,0.32114e+00_rb,0.39449e+00_rb,0.49965e+00_rb, & & 0.62359e+00_rb,0.74830e+00_rb,0.87279e+00_rb,0.99780e+00_rb /) kao(:, 2,11,15) = (/ & & 0.31203e+00_rb,0.28940e+00_rb,0.33009e+00_rb,0.42179e+00_rb,0.54573e+00_rb, & & 0.68214e+00_rb,0.81856e+00_rb,0.95481e+00_rb,0.10916e+01_rb /) kao(:, 3,11,15) = (/ & & 0.30125e+00_rb,0.28556e+00_rb,0.33820e+00_rb,0.44749e+00_rb,0.58870e+00_rb, & & 0.73583e+00_rb,0.88295e+00_rb,0.10298e+01_rb,0.11773e+01_rb /) kao(:, 4,11,15) = (/ & & 0.29153e+00_rb,0.28159e+00_rb,0.34632e+00_rb,0.47427e+00_rb,0.63035e+00_rb, & & 0.78788e+00_rb,0.94537e+00_rb,0.11027e+01_rb,0.12607e+01_rb /) kao(:, 5,11,15) = (/ & & 0.28247e+00_rb,0.27799e+00_rb,0.35496e+00_rb,0.50259e+00_rb,0.66996e+00_rb, & & 0.83740e+00_rb,0.10047e+01_rb,0.11720e+01_rb,0.13400e+01_rb /) kao(:, 1,12,15) = (/ & & 0.36545e+00_rb,0.33140e+00_rb,0.35636e+00_rb,0.42085e+00_rb,0.52250e+00_rb, & & 0.64898e+00_rb,0.77872e+00_rb,0.90834e+00_rb,0.10384e+01_rb /) kao(:, 2,12,15) = (/ & & 0.35131e+00_rb,0.32685e+00_rb,0.36231e+00_rb,0.44658e+00_rb,0.56903e+00_rb, & & 0.71087e+00_rb,0.85304e+00_rb,0.99503e+00_rb,0.11374e+01_rb /) kao(:, 3,12,15) = (/ & & 0.33841e+00_rb,0.32098e+00_rb,0.36825e+00_rb,0.47208e+00_rb,0.61613e+00_rb, & & 0.77016e+00_rb,0.92410e+00_rb,0.10779e+01_rb,0.12323e+01_rb /) kao(:, 4,12,15) = (/ & & 0.32642e+00_rb,0.31543e+00_rb,0.37504e+00_rb,0.50058e+00_rb,0.66195e+00_rb, & & 0.82736e+00_rb,0.99279e+00_rb,0.11580e+01_rb,0.13239e+01_rb /) kao(:, 5,12,15) = (/ & & 0.31541e+00_rb,0.31006e+00_rb,0.38358e+00_rb,0.53015e+00_rb,0.70512e+00_rb, & & 0.88131e+00_rb,0.10574e+01_rb,0.12335e+01_rb,0.14101e+01_rb /) kao(:, 1,13,15) = (/ & & 0.40964e+00_rb,0.37314e+00_rb,0.39372e+00_rb,0.44813e+00_rb,0.54521e+00_rb, & & 0.67332e+00_rb,0.80793e+00_rb,0.94247e+00_rb,0.10773e+01_rb /) kao(:, 2,13,15) = (/ & & 0.39277e+00_rb,0.36624e+00_rb,0.39629e+00_rb,0.47194e+00_rb,0.59295e+00_rb, & & 0.73949e+00_rb,0.88734e+00_rb,0.10350e+01_rb,0.11832e+01_rb /) kao(:, 3,13,15) = (/ & & 0.37714e+00_rb,0.35816e+00_rb,0.39962e+00_rb,0.49769e+00_rb,0.64296e+00_rb, & & 0.80367e+00_rb,0.96435e+00_rb,0.11249e+01_rb,0.12860e+01_rb /) kao(:, 4,13,15) = (/ & & 0.36268e+00_rb,0.35049e+00_rb,0.40459e+00_rb,0.52725e+00_rb,0.69174e+00_rb, & & 0.86463e+00_rb,0.10374e+01_rb,0.12101e+01_rb,0.13834e+01_rb /) kao(:, 5,13,15) = (/ & & 0.34948e+00_rb,0.34295e+00_rb,0.41358e+00_rb,0.55736e+00_rb,0.73767e+00_rb, & & 0.92205e+00_rb,0.11064e+01_rb,0.12905e+01_rb,0.14753e+01_rb /) kao(:, 1, 1,16) = (/ & & 0.90320e-01_rb,0.86361e-01_rb,0.17271e+00_rb,0.25905e+00_rb,0.34536e+00_rb, & & 0.43163e+00_rb,0.51777e+00_rb,0.60344e+00_rb,0.64541e+00_rb /) kao(:, 2, 1,16) = (/ & & 0.88026e-01_rb,0.92415e-01_rb,0.18482e+00_rb,0.27721e+00_rb,0.36957e+00_rb, & & 0.46188e+00_rb,0.55406e+00_rb,0.64572e+00_rb,0.69076e+00_rb /) kao(:, 3, 1,16) = (/ & & 0.85829e-01_rb,0.97954e-01_rb,0.19590e+00_rb,0.29382e+00_rb,0.39172e+00_rb, & & 0.48957e+00_rb,0.58728e+00_rb,0.68449e+00_rb,0.73223e+00_rb /) kao(:, 4, 1,16) = (/ & & 0.83674e-01_rb,0.10298e+00_rb,0.20595e+00_rb,0.30890e+00_rb,0.41183e+00_rb, & & 0.51469e+00_rb,0.61741e+00_rb,0.71956e+00_rb,0.77014e+00_rb /) kao(:, 5, 1,16) = (/ & & 0.84304e-01_rb,0.10756e+00_rb,0.21511e+00_rb,0.32264e+00_rb,0.43014e+00_rb, & & 0.53758e+00_rb,0.64487e+00_rb,0.75164e+00_rb,0.80439e+00_rb /) kao(:, 1, 2,16) = (/ & & 0.99611e-01_rb,0.10121e+00_rb,0.20241e+00_rb,0.30359e+00_rb,0.40479e+00_rb, & & 0.50590e+00_rb,0.60686e+00_rb,0.70732e+00_rb,0.77453e+00_rb /) kao(:, 2, 2,16) = (/ & & 0.97224e-01_rb,0.10870e+00_rb,0.21739e+00_rb,0.32607e+00_rb,0.43471e+00_rb, & & 0.54336e+00_rb,0.65181e+00_rb,0.75967e+00_rb,0.83199e+00_rb /) kao(:, 3, 2,16) = (/ & & 0.94894e-01_rb,0.11558e+00_rb,0.23114e+00_rb,0.34669e+00_rb,0.46220e+00_rb, & & 0.57772e+00_rb,0.69302e+00_rb,0.80771e+00_rb,0.88476e+00_rb /) kao(:, 4, 2,16) = (/ & & 0.92656e-01_rb,0.12184e+00_rb,0.24366e+00_rb,0.36546e+00_rb,0.48723e+00_rb, & & 0.60893e+00_rb,0.73046e+00_rb,0.85132e+00_rb,0.93269e+00_rb /) kao(:, 5, 2,16) = (/ & & 0.93593e-01_rb,0.12749e+00_rb,0.25497e+00_rb,0.38243e+00_rb,0.50985e+00_rb, & & 0.63721e+00_rb,0.76438e+00_rb,0.89083e+00_rb,0.97622e+00_rb /) kao(:, 1, 3,16) = (/ & & 0.11521e+00_rb,0.11614e+00_rb,0.23226e+00_rb,0.34836e+00_rb,0.46443e+00_rb, & & 0.58044e+00_rb,0.69629e+00_rb,0.81149e+00_rb,0.90951e+00_rb /) kao(:, 2, 3,16) = (/ & & 0.11222e+00_rb,0.12555e+00_rb,0.25108e+00_rb,0.37659e+00_rb,0.50206e+00_rb, & & 0.62747e+00_rb,0.75258e+00_rb,0.87709e+00_rb,0.98316e+00_rb /) kao(:, 3, 3,16) = (/ & & 0.10948e+00_rb,0.13410e+00_rb,0.26819e+00_rb,0.40226e+00_rb,0.53629e+00_rb, & & 0.67035e+00_rb,0.80421e+00_rb,0.93726e+00_rb,0.10505e+01_rb /) kao(:, 4, 3,16) = (/ & & 0.10697e+00_rb,0.14195e+00_rb,0.28389e+00_rb,0.42580e+00_rb,0.56768e+00_rb, & & 0.70947e+00_rb,0.85107e+00_rb,0.99187e+00_rb,0.11120e+01_rb /) kao(:, 5, 3,16) = (/ & & 0.10462e+00_rb,0.14901e+00_rb,0.29800e+00_rb,0.44697e+00_rb,0.59590e+00_rb, & & 0.74474e+00_rb,0.89338e+00_rb,0.10415e+01_rb,0.11678e+01_rb /) kao(:, 1, 4,16) = (/ & & 0.13825e+00_rb,0.13238e+00_rb,0.26314e+00_rb,0.39468e+00_rb,0.52618e+00_rb, & & 0.65761e+00_rb,0.78893e+00_rb,0.91946e+00_rb,0.10423e+01_rb /) kao(:, 2, 4,16) = (/ & & 0.13437e+00_rb,0.14320e+00_rb,0.28638e+00_rb,0.42954e+00_rb,0.57266e+00_rb, & & 0.71574e+00_rb,0.85868e+00_rb,0.10008e+01_rb,0.11347e+01_rb /) kao(:, 3, 4,16) = (/ & & 0.13067e+00_rb,0.15392e+00_rb,0.30782e+00_rb,0.46170e+00_rb,0.61554e+00_rb, & & 0.76929e+00_rb,0.92283e+00_rb,0.10757e+01_rb,0.12195e+01_rb /) kao(:, 4, 4,16) = (/ & & 0.12733e+00_rb,0.16364e+00_rb,0.32725e+00_rb,0.49085e+00_rb,0.65439e+00_rb, & & 0.81785e+00_rb,0.98125e+00_rb,0.11437e+01_rb,0.12968e+01_rb /) kao(:, 5, 4,16) = (/ & & 0.12429e+00_rb,0.17242e+00_rb,0.34483e+00_rb,0.51721e+00_rb,0.68954e+00_rb, & & 0.86178e+00_rb,0.10339e+01_rb,0.12053e+01_rb,0.13667e+01_rb /) kao(:, 1, 5,16) = (/ & & 0.16714e+00_rb,0.15294e+00_rb,0.29770e+00_rb,0.44651e+00_rb,0.59528e+00_rb, & & 0.74397e+00_rb,0.89246e+00_rb,0.10402e+01_rb,0.11846e+01_rb /) kao(:, 2, 5,16) = (/ & & 0.16248e+00_rb,0.16289e+00_rb,0.32569e+00_rb,0.48850e+00_rb,0.65127e+00_rb, & & 0.81396e+00_rb,0.97625e+00_rb,0.11381e+01_rb,0.12962e+01_rb /) kao(:, 3, 5,16) = (/ & & 0.15803e+00_rb,0.17580e+00_rb,0.35158e+00_rb,0.52733e+00_rb,0.70303e+00_rb, & & 0.87864e+00_rb,0.10540e+01_rb,0.12284e+01_rb,0.13993e+01_rb /) kao(:, 4, 5,16) = (/ & & 0.15368e+00_rb,0.18757e+00_rb,0.37512e+00_rb,0.56264e+00_rb,0.75011e+00_rb, & & 0.93747e+00_rb,0.11247e+01_rb,0.13108e+01_rb,0.14933e+01_rb /) kao(:, 5, 5,16) = (/ & & 0.14943e+00_rb,0.19824e+00_rb,0.39645e+00_rb,0.59477e+00_rb,0.79303e+00_rb, & & 0.99112e+00_rb,0.11890e+01_rb,0.13858e+01_rb,0.15783e+01_rb /) kao(:, 1, 6,16) = (/ & & 0.20217e+00_rb,0.17926e+00_rb,0.33507e+00_rb,0.50257e+00_rb,0.67002e+00_rb, & & 0.83741e+00_rb,0.10046e+01_rb,0.11708e+01_rb,0.13365e+01_rb /) kao(:, 2, 6,16) = (/ & & 0.19655e+00_rb,0.18668e+00_rb,0.36910e+00_rb,0.55360e+00_rb,0.73806e+00_rb, & & 0.92245e+00_rb,0.11065e+01_rb,0.12896e+01_rb,0.14724e+01_rb /) kao(:, 3, 6,16) = (/ & & 0.19100e+00_rb,0.20029e+00_rb,0.40054e+00_rb,0.60077e+00_rb,0.80095e+00_rb, & & 0.10010e+01_rb,0.12008e+01_rb,0.13997e+01_rb,0.15979e+01_rb /) kao(:, 4, 6,16) = (/ & & 0.18556e+00_rb,0.21465e+00_rb,0.42926e+00_rb,0.64385e+00_rb,0.85838e+00_rb, & & 0.10728e+01_rb,0.12869e+01_rb,0.15000e+01_rb,0.17126e+01_rb /) kao(:, 5, 6,16) = (/ & & 0.18024e+00_rb,0.22760e+00_rb,0.45517e+00_rb,0.68271e+00_rb,0.91019e+00_rb, & & 0.11375e+01_rb,0.13647e+01_rb,0.15907e+01_rb,0.18161e+01_rb /) kao(:, 1, 7,16) = (/ & & 0.24417e+00_rb,0.21368e+00_rb,0.37507e+00_rb,0.56256e+00_rb,0.75006e+00_rb, & & 0.93742e+00_rb,0.11245e+01_rb,0.13107e+01_rb,0.14982e+01_rb /) kao(:, 2, 7,16) = (/ & & 0.23715e+00_rb,0.21661e+00_rb,0.41650e+00_rb,0.62470e+00_rb,0.83285e+00_rb, & & 0.10409e+01_rb,0.12487e+01_rb,0.14555e+01_rb,0.16638e+01_rb /) kao(:, 3, 7,16) = (/ & & 0.23022e+00_rb,0.22856e+00_rb,0.45485e+00_rb,0.68222e+00_rb,0.90954e+00_rb, & & 0.11367e+01_rb,0.13637e+01_rb,0.15896e+01_rb,0.18170e+01_rb /) kao(:, 4, 7,16) = (/ & & 0.22335e+00_rb,0.24491e+00_rb,0.48979e+00_rb,0.73464e+00_rb,0.97947e+00_rb, & & 0.12241e+01_rb,0.14686e+01_rb,0.17118e+01_rb,0.19566e+01_rb /) kao(:, 5, 7,16) = (/ & & 0.21655e+00_rb,0.26068e+00_rb,0.52133e+00_rb,0.78194e+00_rb,0.10425e+01_rb, & & 0.13029e+01_rb,0.15630e+01_rb,0.18220e+01_rb,0.20827e+01_rb /) kao(:, 1, 8,16) = (/ & & 0.29541e+00_rb,0.25848e+00_rb,0.41687e+00_rb,0.62527e+00_rb,0.83361e+00_rb, & & 0.10419e+01_rb,0.12499e+01_rb,0.14571e+01_rb,0.16668e+01_rb /) kao(:, 2, 8,16) = (/ & & 0.28549e+00_rb,0.25449e+00_rb,0.46724e+00_rb,0.70082e+00_rb,0.93434e+00_rb, & & 0.11678e+01_rb,0.14009e+01_rb,0.16328e+01_rb,0.18680e+01_rb /) kao(:, 3, 8,16) = (/ & & 0.27625e+00_rb,0.26285e+00_rb,0.51364e+00_rb,0.77040e+00_rb,0.10271e+01_rb, & & 0.12838e+01_rb,0.15402e+01_rb,0.17956e+01_rb,0.20538e+01_rb /) kao(:, 4, 8,16) = (/ & & 0.26742e+00_rb,0.27883e+00_rb,0.55601e+00_rb,0.83395e+00_rb,0.11118e+01_rb, & & 0.13896e+01_rb,0.16670e+01_rb,0.19436e+01_rb,0.22230e+01_rb /) kao(:, 5, 8,16) = (/ & & 0.25873e+00_rb,0.29706e+00_rb,0.59410e+00_rb,0.89109e+00_rb,0.11880e+01_rb, & & 0.14848e+01_rb,0.17812e+01_rb,0.20764e+01_rb,0.23753e+01_rb /) kao(:, 1, 9,16) = (/ & & 0.35727e+00_rb,0.31262e+00_rb,0.45859e+00_rb,0.68783e+00_rb,0.91710e+00_rb, & & 0.11462e+01_rb,0.13749e+01_rb,0.16027e+01_rb,0.18342e+01_rb /) kao(:, 2, 9,16) = (/ & & 0.34378e+00_rb,0.30157e+00_rb,0.51912e+00_rb,0.77863e+00_rb,0.10382e+01_rb, & & 0.12975e+01_rb,0.15566e+01_rb,0.18147e+01_rb,0.20764e+01_rb /) kao(:, 3, 9,16) = (/ & & 0.33111e+00_rb,0.30494e+00_rb,0.57506e+00_rb,0.86254e+00_rb,0.11500e+01_rb, & & 0.14374e+01_rb,0.17244e+01_rb,0.20104e+01_rb,0.23002e+01_rb /) kao(:, 4, 9,16) = (/ & & 0.31901e+00_rb,0.31860e+00_rb,0.62597e+00_rb,0.93889e+00_rb,0.12519e+01_rb, & & 0.15648e+01_rb,0.18772e+01_rb,0.21885e+01_rb,0.25042e+01_rb /) kao(:, 5, 9,16) = (/ & & 0.30738e+00_rb,0.33686e+00_rb,0.67173e+00_rb,0.10075e+01_rb,0.13433e+01_rb, & & 0.16788e+01_rb,0.20142e+01_rb,0.23482e+01_rb,0.26866e+01_rb /) kao(:, 1,10,16) = (/ & & 0.42900e+00_rb,0.37537e+00_rb,0.50742e+00_rb,0.76107e+00_rb,0.10147e+01_rb, & & 0.12682e+01_rb,0.15216e+01_rb,0.17737e+01_rb,0.20298e+01_rb /) kao(:, 2,10,16) = (/ & & 0.41120e+00_rb,0.35980e+00_rb,0.57626e+00_rb,0.86440e+00_rb,0.11524e+01_rb, & & 0.14403e+01_rb,0.17281e+01_rb,0.20148e+01_rb,0.23052e+01_rb /) kao(:, 3,10,16) = (/ & & 0.39435e+00_rb,0.35582e+00_rb,0.64201e+00_rb,0.96295e+00_rb,0.12838e+01_rb, & & 0.16046e+01_rb,0.19250e+01_rb,0.22444e+01_rb,0.25680e+01_rb /) kao(:, 4,10,16) = (/ & & 0.37835e+00_rb,0.36721e+00_rb,0.70220e+00_rb,0.10532e+01_rb,0.14042e+01_rb, & & 0.17550e+01_rb,0.21055e+01_rb,0.24551e+01_rb,0.28089e+01_rb /) kao(:, 5,10,16) = (/ & & 0.36302e+00_rb,0.38402e+00_rb,0.75599e+00_rb,0.11339e+01_rb,0.15118e+01_rb, & & 0.18894e+01_rb,0.22669e+01_rb,0.26429e+01_rb,0.30243e+01_rb /) kao(:, 1,11,16) = (/ & & 0.50130e+00_rb,0.43864e+00_rb,0.59754e+00_rb,0.89626e+00_rb,0.11949e+01_rb, & & 0.14934e+01_rb,0.17919e+01_rb,0.20890e+01_rb,0.23902e+01_rb /) kao(:, 2,11,16) = (/ & & 0.47862e+00_rb,0.41971e+00_rb,0.67375e+00_rb,0.10106e+01_rb,0.13473e+01_rb, & & 0.16840e+01_rb,0.20203e+01_rb,0.23553e+01_rb,0.26950e+01_rb /) kao(:, 3,11,16) = (/ & & 0.45729e+00_rb,0.41739e+00_rb,0.74475e+00_rb,0.11171e+01_rb,0.14893e+01_rb, & & 0.18615e+01_rb,0.22335e+01_rb,0.26038e+01_rb,0.29786e+01_rb /) kao(:, 4,11,16) = (/ & & 0.43691e+00_rb,0.42957e+00_rb,0.80967e+00_rb,0.12144e+01_rb,0.16191e+01_rb, & & 0.20236e+01_rb,0.24280e+01_rb,0.28308e+01_rb,0.32389e+01_rb /) kao(:, 5,11,16) = (/ & & 0.41748e+00_rb,0.44621e+00_rb,0.86800e+00_rb,0.13019e+01_rb,0.17360e+01_rb, & & 0.21698e+01_rb,0.26031e+01_rb,0.30355e+01_rb,0.34723e+01_rb /) kao(:, 1,12,16) = (/ & & 0.58052e+00_rb,0.50796e+00_rb,0.69775e+00_rb,0.10466e+01_rb,0.13954e+01_rb, & & 0.17440e+01_rb,0.20924e+01_rb,0.24394e+01_rb,0.27908e+01_rb /) kao(:, 2,12,16) = (/ & & 0.55207e+00_rb,0.48627e+00_rb,0.78177e+00_rb,0.11726e+01_rb,0.15635e+01_rb, & & 0.19543e+01_rb,0.23447e+01_rb,0.27336e+01_rb,0.31273e+01_rb /) kao(:, 3,12,16) = (/ & & 0.52503e+00_rb,0.48543e+00_rb,0.85881e+00_rb,0.12881e+01_rb,0.17174e+01_rb, & & 0.21467e+01_rb,0.25754e+01_rb,0.30027e+01_rb,0.34355e+01_rb /) kao(:, 4,12,16) = (/ & & 0.49945e+00_rb,0.49746e+00_rb,0.92780e+00_rb,0.13917e+01_rb,0.18554e+01_rb, & & 0.23191e+01_rb,0.27823e+01_rb,0.32446e+01_rb,0.37108e+01_rb /) kao(:, 5,12,16) = (/ & & 0.47536e+00_rb,0.51344e+00_rb,0.98885e+00_rb,0.14832e+01_rb,0.19776e+01_rb, & & 0.24717e+01_rb,0.29655e+01_rb,0.34576e+01_rb,0.39563e+01_rb /) kao(:, 1,13,16) = (/ & & 0.66560e+00_rb,0.58240e+00_rb,0.80598e+00_rb,0.12089e+01_rb,0.16118e+01_rb, & & 0.20145e+01_rb,0.24172e+01_rb,0.28183e+01_rb,0.32240e+01_rb /) kao(:, 2,13,16) = (/ & & 0.62986e+00_rb,0.55885e+00_rb,0.89794e+00_rb,0.13468e+01_rb,0.17957e+01_rb, & & 0.22443e+01_rb,0.26925e+01_rb,0.31396e+01_rb,0.35914e+01_rb /) kao(:, 3,13,16) = (/ & & 0.59613e+00_rb,0.55868e+00_rb,0.98065e+00_rb,0.14709e+01_rb,0.19611e+01_rb, & & 0.24513e+01_rb,0.29409e+01_rb,0.34293e+01_rb,0.39230e+01_rb /) kao(:, 4,13,16) = (/ & & 0.56427e+00_rb,0.56950e+00_rb,0.10539e+01_rb,0.15808e+01_rb,0.21076e+01_rb, & & 0.26342e+01_rb,0.31605e+01_rb,0.36850e+01_rb,0.42159e+01_rb /) kao(:, 5,13,16) = (/ & & 0.53530e+00_rb,0.58425e+00_rb,0.11174e+01_rb,0.16761e+01_rb,0.22346e+01_rb, & & 0.27933e+01_rb,0.33512e+01_rb,0.39078e+01_rb,0.44703e+01_rb /) ! ----------------------------------------------------------------- ! The array KBO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels < ~100mb and temperatures. The first ! index in the array, JT, which runs from 1 to 5, corresponds to ! different temperatures. More specifically, JT = 3 means that the ! data are for the reference temperature TREF for this pressure ! level, JT = 2 refers to the temperature TREF-15, JT = 1 is for ! TREF-30, JT = 4 is for TREF+15, and JT = 5 is for TREF+30. ! The second index, JP, runs from 13 to 59 and refers to the JPth ! reference pressure level (see taumol.f for the value of these ! pressure levels in mb). The third index, IG, goes from 1 to 16, ! and tells us which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kbo(:,13, 1) = (/ & & 0.12810e-03_rb,0.12891e-03_rb,0.12890e-03_rb,0.12713e-03_rb,0.12477e-03_rb /) kbo(:,14, 1) = (/ & & 0.10653e-03_rb,0.10667e-03_rb,0.10648e-03_rb,0.10473e-03_rb,0.10293e-03_rb /) kbo(:,15, 1) = (/ & & 0.90176e-04_rb,0.90077e-04_rb,0.89286e-04_rb,0.87879e-04_rb,0.85987e-04_rb /) kbo(:,16, 1) = (/ & & 0.77704e-04_rb,0.77304e-04_rb,0.75879e-04_rb,0.74246e-04_rb,0.72070e-04_rb /) kbo(:,17, 1) = (/ & & 0.67183e-04_rb,0.65906e-04_rb,0.64619e-04_rb,0.63000e-04_rb,0.61056e-04_rb /) kbo(:,18, 1) = (/ & & 0.58741e-04_rb,0.57649e-04_rb,0.56028e-04_rb,0.54293e-04_rb,0.52506e-04_rb /) kbo(:,19, 1) = (/ & & 0.51839e-04_rb,0.50715e-04_rb,0.49053e-04_rb,0.47195e-04_rb,0.45368e-04_rb /) kbo(:,20, 1) = (/ & & 0.44321e-04_rb,0.43297e-04_rb,0.41923e-04_rb,0.40298e-04_rb,0.38744e-04_rb /) kbo(:,21, 1) = (/ & & 0.37527e-04_rb,0.36516e-04_rb,0.35380e-04_rb,0.34037e-04_rb,0.32951e-04_rb /) kbo(:,22, 1) = (/ & & 0.31752e-04_rb,0.30703e-04_rb,0.29586e-04_rb,0.28499e-04_rb,0.27519e-04_rb /) kbo(:,23, 1) = (/ & & 0.26638e-04_rb,0.25643e-04_rb,0.24693e-04_rb,0.23832e-04_rb,0.22913e-04_rb /) kbo(:,24, 1) = (/ & & 0.22325e-04_rb,0.21480e-04_rb,0.20621e-04_rb,0.19867e-04_rb,0.19066e-04_rb /) kbo(:,25, 1) = (/ & & 0.18764e-04_rb,0.17998e-04_rb,0.17269e-04_rb,0.16527e-04_rb,0.15821e-04_rb /) kbo(:,26, 1) = (/ & & 0.15650e-04_rb,0.14992e-04_rb,0.14356e-04_rb,0.13710e-04_rb,0.13119e-04_rb /) kbo(:,27, 1) = (/ & & 0.13054e-04_rb,0.12477e-04_rb,0.11929e-04_rb,0.11393e-04_rb,0.10948e-04_rb /) kbo(:,28, 1) = (/ & & 0.10852e-04_rb,0.10390e-04_rb,0.99195e-05_rb,0.95020e-05_rb,0.91993e-05_rb /) kbo(:,29, 1) = (/ & & 0.90990e-05_rb,0.87209e-05_rb,0.83384e-05_rb,0.80029e-05_rb,0.77245e-05_rb /) kbo(:,30, 1) = (/ & & 0.77169e-05_rb,0.73662e-05_rb,0.70552e-05_rb,0.68029e-05_rb,0.65749e-05_rb /) kbo(:,31, 1) = (/ & & 0.65250e-05_rb,0.62364e-05_rb,0.60172e-05_rb,0.57804e-05_rb,0.55504e-05_rb /) kbo(:,32, 1) = (/ & & 0.55167e-05_rb,0.53021e-05_rb,0.51088e-05_rb,0.49113e-05_rb,0.47150e-05_rb /) kbo(:,33, 1) = (/ & & 0.47261e-05_rb,0.45530e-05_rb,0.43641e-05_rb,0.41725e-05_rb,0.40077e-05_rb /) kbo(:,34, 1) = (/ & & 0.40646e-05_rb,0.39062e-05_rb,0.37472e-05_rb,0.36009e-05_rb,0.34549e-05_rb /) kbo(:,35, 1) = (/ & & 0.35479e-05_rb,0.34057e-05_rb,0.32704e-05_rb,0.31420e-05_rb,0.30219e-05_rb /) kbo(:,36, 1) = (/ & & 0.31353e-05_rb,0.30270e-05_rb,0.29024e-05_rb,0.27776e-05_rb,0.26600e-05_rb /) kbo(:,37, 1) = (/ & & 0.26595e-05_rb,0.25621e-05_rb,0.24646e-05_rb,0.23582e-05_rb,0.22563e-05_rb /) kbo(:,38, 1) = (/ & & 0.22468e-05_rb,0.21651e-05_rb,0.20812e-05_rb,0.20043e-05_rb,0.19221e-05_rb /) kbo(:,39, 1) = (/ & & 0.19009e-05_rb,0.18335e-05_rb,0.17685e-05_rb,0.17039e-05_rb,0.16406e-05_rb /) kbo(:,40, 1) = (/ & & 0.15746e-05_rb,0.15188e-05_rb,0.14669e-05_rb,0.14148e-05_rb,0.13668e-05_rb /) kbo(:,41, 1) = (/ & & 0.13001e-05_rb,0.12561e-05_rb,0.12122e-05_rb,0.11718e-05_rb,0.11306e-05_rb /) kbo(:,42, 1) = (/ & & 0.10716e-05_rb,0.10380e-05_rb,0.10018e-05_rb,0.96745e-06_rb,0.93475e-06_rb /) kbo(:,43, 1) = (/ & & 0.87651e-06_rb,0.85172e-06_rb,0.82453e-06_rb,0.79560e-06_rb,0.77011e-06_rb /) kbo(:,44, 1) = (/ & & 0.71565e-06_rb,0.69699e-06_rb,0.67699e-06_rb,0.65403e-06_rb,0.63202e-06_rb /) kbo(:,45, 1) = (/ & & 0.58391e-06_rb,0.56946e-06_rb,0.55318e-06_rb,0.53575e-06_rb,0.51774e-06_rb /) kbo(:,46, 1) = (/ & & 0.47490e-06_rb,0.46531e-06_rb,0.45175e-06_rb,0.43686e-06_rb,0.42260e-06_rb /) kbo(:,47, 1) = (/ & & 0.38718e-06_rb,0.37610e-06_rb,0.36650e-06_rb,0.35580e-06_rb,0.34417e-06_rb /) kbo(:,48, 1) = (/ & & 0.31464e-06_rb,0.30494e-06_rb,0.29872e-06_rb,0.29096e-06_rb,0.28230e-06_rb /) kbo(:,49, 1) = (/ & & 0.25542e-06_rb,0.24885e-06_rb,0.24314e-06_rb,0.23745e-06_rb,0.23092e-06_rb /) kbo(:,50, 1) = (/ & & 0.20741e-06_rb,0.20175e-06_rb,0.19699e-06_rb,0.19305e-06_rb,0.18791e-06_rb /) kbo(:,51, 1) = (/ & & 0.16760e-06_rb,0.16406e-06_rb,0.15993e-06_rb,0.15631e-06_rb,0.15327e-06_rb /) kbo(:,52, 1) = (/ & & 0.13579e-06_rb,0.13287e-06_rb,0.12985e-06_rb,0.12725e-06_rb,0.12470e-06_rb /) kbo(:,53, 1) = (/ & & 0.11006e-06_rb,0.10757e-06_rb,0.10568e-06_rb,0.10314e-06_rb,0.10101e-06_rb /) kbo(:,54, 1) = (/ & & 0.88711e-07_rb,0.87131e-07_rb,0.85162e-07_rb,0.83405e-07_rb,0.81585e-07_rb /) kbo(:,55, 1) = (/ & & 0.70889e-07_rb,0.69917e-07_rb,0.68692e-07_rb,0.67463e-07_rb,0.66047e-07_rb /) kbo(:,56, 1) = (/ & & 0.56659e-07_rb,0.56077e-07_rb,0.55518e-07_rb,0.54462e-07_rb,0.53563e-07_rb /) kbo(:,57, 1) = (/ & & 0.45380e-07_rb,0.45159e-07_rb,0.44718e-07_rb,0.44063e-07_rb,0.43116e-07_rb /) kbo(:,58, 1) = (/ & & 0.35962e-07_rb,0.36177e-07_rb,0.35997e-07_rb,0.35600e-07_rb,0.34340e-07_rb /) kbo(:,59, 1) = (/ & & 0.28578e-07_rb,0.28924e-07_rb,0.28901e-07_rb,0.28176e-07_rb,0.27246e-07_rb /) kbo(:,13, 2) = (/ & & 0.63215e-03_rb,0.64756e-03_rb,0.65734e-03_rb,0.66515e-03_rb,0.67077e-03_rb /) kbo(:,14, 2) = (/ & & 0.52378e-03_rb,0.53631e-03_rb,0.54485e-03_rb,0.55071e-03_rb,0.55605e-03_rb /) kbo(:,15, 2) = (/ & & 0.43777e-03_rb,0.44814e-03_rb,0.45521e-03_rb,0.46124e-03_rb,0.46700e-03_rb /) kbo(:,16, 2) = (/ & & 0.37023e-03_rb,0.37869e-03_rb,0.38568e-03_rb,0.39070e-03_rb,0.39760e-03_rb /) kbo(:,17, 2) = (/ & & 0.31753e-03_rb,0.32632e-03_rb,0.33254e-03_rb,0.33817e-03_rb,0.34312e-03_rb /) kbo(:,18, 2) = (/ & & 0.27580e-03_rb,0.28310e-03_rb,0.28915e-03_rb,0.29488e-03_rb,0.29855e-03_rb /) kbo(:,19, 2) = (/ & & 0.24129e-03_rb,0.24697e-03_rb,0.25302e-03_rb,0.25785e-03_rb,0.26137e-03_rb /) kbo(:,20, 2) = (/ & & 0.20470e-03_rb,0.21040e-03_rb,0.21552e-03_rb,0.21963e-03_rb,0.22260e-03_rb /) kbo(:,21, 2) = (/ & & 0.17290e-03_rb,0.17782e-03_rb,0.18188e-03_rb,0.18513e-03_rb,0.18794e-03_rb /) kbo(:,22, 2) = (/ & & 0.14599e-03_rb,0.15063e-03_rb,0.15389e-03_rb,0.15682e-03_rb,0.15965e-03_rb /) kbo(:,23, 2) = (/ & & 0.12390e-03_rb,0.12797e-03_rb,0.13071e-03_rb,0.13347e-03_rb,0.13571e-03_rb /) kbo(:,24, 2) = (/ & & 0.10553e-03_rb,0.10875e-03_rb,0.11134e-03_rb,0.11351e-03_rb,0.11513e-03_rb /) kbo(:,25, 2) = (/ & & 0.90263e-04_rb,0.92560e-04_rb,0.94667e-04_rb,0.96225e-04_rb,0.97041e-04_rb /) kbo(:,26, 2) = (/ & & 0.76542e-04_rb,0.78227e-04_rb,0.79755e-04_rb,0.80768e-04_rb,0.81412e-04_rb /) kbo(:,27, 2) = (/ & & 0.64562e-04_rb,0.66024e-04_rb,0.67121e-04_rb,0.67878e-04_rb,0.67992e-04_rb /) kbo(:,28, 2) = (/ & & 0.54587e-04_rb,0.55668e-04_rb,0.56439e-04_rb,0.56778e-04_rb,0.56649e-04_rb /) kbo(:,29, 2) = (/ & & 0.46248e-04_rb,0.46885e-04_rb,0.47469e-04_rb,0.47476e-04_rb,0.47464e-04_rb /) kbo(:,30, 2) = (/ & & 0.39084e-04_rb,0.39701e-04_rb,0.39836e-04_rb,0.39919e-04_rb,0.39762e-04_rb /) kbo(:,31, 2) = (/ & & 0.33297e-04_rb,0.33670e-04_rb,0.33781e-04_rb,0.33571e-04_rb,0.33418e-04_rb /) kbo(:,32, 2) = (/ & & 0.28475e-04_rb,0.28479e-04_rb,0.28352e-04_rb,0.28202e-04_rb,0.28107e-04_rb /) kbo(:,33, 2) = (/ & & 0.24023e-04_rb,0.23977e-04_rb,0.23874e-04_rb,0.23858e-04_rb,0.23729e-04_rb /) kbo(:,34, 2) = (/ & & 0.20276e-04_rb,0.20314e-04_rb,0.20262e-04_rb,0.20205e-04_rb,0.20013e-04_rb /) kbo(:,35, 2) = (/ & & 0.17177e-04_rb,0.17179e-04_rb,0.17181e-04_rb,0.17048e-04_rb,0.16915e-04_rb /) kbo(:,36, 2) = (/ & & 0.14586e-04_rb,0.14632e-04_rb,0.14569e-04_rb,0.14465e-04_rb,0.14404e-04_rb /) kbo(:,37, 2) = (/ & & 0.12165e-04_rb,0.12220e-04_rb,0.12164e-04_rb,0.12099e-04_rb,0.12036e-04_rb /) kbo(:,38, 2) = (/ & & 0.10178e-04_rb,0.10224e-04_rb,0.10201e-04_rb,0.10134e-04_rb,0.10060e-04_rb /) kbo(:,39, 2) = (/ & & 0.85622e-05_rb,0.85826e-05_rb,0.85520e-05_rb,0.85109e-05_rb,0.84378e-05_rb /) kbo(:,40, 2) = (/ & & 0.70263e-05_rb,0.70549e-05_rb,0.70334e-05_rb,0.70000e-05_rb,0.69500e-05_rb /) kbo(:,41, 2) = (/ & & 0.57510e-05_rb,0.57749e-05_rb,0.57692e-05_rb,0.57384e-05_rb,0.57121e-05_rb /) kbo(:,42, 2) = (/ & & 0.47038e-05_rb,0.47261e-05_rb,0.47278e-05_rb,0.47023e-05_rb,0.46867e-05_rb /) kbo(:,43, 2) = (/ & & 0.38249e-05_rb,0.38339e-05_rb,0.38498e-05_rb,0.38364e-05_rb,0.38125e-05_rb /) kbo(:,44, 2) = (/ & & 0.30973e-05_rb,0.31120e-05_rb,0.31166e-05_rb,0.31203e-05_rb,0.31022e-05_rb /) kbo(:,45, 2) = (/ & & 0.25085e-05_rb,0.25263e-05_rb,0.25293e-05_rb,0.25328e-05_rb,0.25249e-05_rb /) kbo(:,46, 2) = (/ & & 0.20261e-05_rb,0.20479e-05_rb,0.20565e-05_rb,0.20575e-05_rb,0.20588e-05_rb /) kbo(:,47, 2) = (/ & & 0.16319e-05_rb,0.16639e-05_rb,0.16745e-05_rb,0.16740e-05_rb,0.16759e-05_rb /) kbo(:,48, 2) = (/ & & 0.13097e-05_rb,0.13449e-05_rb,0.13611e-05_rb,0.13624e-05_rb,0.13589e-05_rb /) kbo(:,49, 2) = (/ & & 0.10521e-05_rb,0.10847e-05_rb,0.11052e-05_rb,0.11102e-05_rb,0.11085e-05_rb /) kbo(:,50, 2) = (/ & & 0.84668e-06_rb,0.87235e-06_rb,0.89544e-06_rb,0.90607e-06_rb,0.90616e-06_rb /) kbo(:,51, 2) = (/ & & 0.68060e-06_rb,0.70180e-06_rb,0.72187e-06_rb,0.73562e-06_rb,0.73800e-06_rb /) kbo(:,52, 2) = (/ & & 0.54634e-06_rb,0.56481e-06_rb,0.58256e-06_rb,0.59543e-06_rb,0.60122e-06_rb /) kbo(:,53, 2) = (/ & & 0.43866e-06_rb,0.45577e-06_rb,0.46957e-06_rb,0.48176e-06_rb,0.48940e-06_rb /) kbo(:,54, 2) = (/ & & 0.35062e-06_rb,0.36647e-06_rb,0.37935e-06_rb,0.38978e-06_rb,0.39697e-06_rb /) kbo(:,55, 2) = (/ & & 0.27883e-06_rb,0.29514e-06_rb,0.30397e-06_rb,0.31251e-06_rb,0.32004e-06_rb /) kbo(:,56, 2) = (/ & & 0.22098e-06_rb,0.23550e-06_rb,0.24289e-06_rb,0.25018e-06_rb,0.25708e-06_rb /) kbo(:,57, 2) = (/ & & 0.17295e-06_rb,0.18624e-06_rb,0.19332e-06_rb,0.19934e-06_rb,0.20587e-06_rb /) kbo(:,58, 2) = (/ & & 0.13623e-06_rb,0.14680e-06_rb,0.15403e-06_rb,0.15912e-06_rb,0.16499e-06_rb /) kbo(:,59, 2) = (/ & & 0.10864e-06_rb,0.11680e-06_rb,0.12353e-06_rb,0.12840e-06_rb,0.13352e-06_rb /) kbo(:,13, 3) = (/ & & 0.21069e-02_rb,0.21571e-02_rb,0.21943e-02_rb,0.22061e-02_rb,0.22124e-02_rb /) kbo(:,14, 3) = (/ & & 0.17411e-02_rb,0.17833e-02_rb,0.18097e-02_rb,0.18225e-02_rb,0.18251e-02_rb /) kbo(:,15, 3) = (/ & & 0.14440e-02_rb,0.14790e-02_rb,0.14963e-02_rb,0.15066e-02_rb,0.15066e-02_rb /) kbo(:,16, 3) = (/ & & 0.11998e-02_rb,0.12261e-02_rb,0.12398e-02_rb,0.12500e-02_rb,0.12487e-02_rb /) kbo(:,17, 3) = (/ & & 0.99980e-03_rb,0.10202e-02_rb,0.10332e-02_rb,0.10399e-02_rb,0.10392e-02_rb /) kbo(:,18, 3) = (/ & & 0.83805e-03_rb,0.85629e-03_rb,0.86827e-03_rb,0.87303e-03_rb,0.87540e-03_rb /) kbo(:,19, 3) = (/ & & 0.70743e-03_rb,0.72381e-03_rb,0.73251e-03_rb,0.73550e-03_rb,0.73931e-03_rb /) kbo(:,20, 3) = (/ & & 0.59348e-03_rb,0.60572e-03_rb,0.61137e-03_rb,0.61496e-03_rb,0.61761e-03_rb /) kbo(:,21, 3) = (/ & & 0.49556e-03_rb,0.50488e-03_rb,0.50987e-03_rb,0.51421e-03_rb,0.51581e-03_rb /) kbo(:,22, 3) = (/ & & 0.41461e-03_rb,0.42145e-03_rb,0.42584e-03_rb,0.42969e-03_rb,0.43055e-03_rb /) kbo(:,23, 3) = (/ & & 0.34683e-03_rb,0.35181e-03_rb,0.35660e-03_rb,0.35911e-03_rb,0.35958e-03_rb /) kbo(:,24, 3) = (/ & & 0.29004e-03_rb,0.29383e-03_rb,0.29787e-03_rb,0.29964e-03_rb,0.30042e-03_rb /) kbo(:,25, 3) = (/ & & 0.24146e-03_rb,0.24561e-03_rb,0.24879e-03_rb,0.25053e-03_rb,0.25134e-03_rb /) kbo(:,26, 3) = (/ & & 0.20160e-03_rb,0.20537e-03_rb,0.20774e-03_rb,0.20928e-03_rb,0.21023e-03_rb /) kbo(:,27, 3) = (/ & & 0.16916e-03_rb,0.17226e-03_rb,0.17386e-03_rb,0.17529e-03_rb,0.17634e-03_rb /) kbo(:,28, 3) = (/ & & 0.14183e-03_rb,0.14414e-03_rb,0.14604e-03_rb,0.14741e-03_rb,0.14844e-03_rb /) kbo(:,29, 3) = (/ & & 0.11954e-03_rb,0.12161e-03_rb,0.12286e-03_rb,0.12386e-03_rb,0.12448e-03_rb /) kbo(:,30, 3) = (/ & & 0.10067e-03_rb,0.10205e-03_rb,0.10331e-03_rb,0.10409e-03_rb,0.10476e-03_rb /) kbo(:,31, 3) = (/ & & 0.85014e-04_rb,0.86248e-04_rb,0.87024e-04_rb,0.87958e-04_rb,0.88579e-04_rb /) kbo(:,32, 3) = (/ & & 0.71930e-04_rb,0.73074e-04_rb,0.73985e-04_rb,0.74934e-04_rb,0.74848e-04_rb /) kbo(:,33, 3) = (/ & & 0.61205e-04_rb,0.62259e-04_rb,0.63209e-04_rb,0.63383e-04_rb,0.63466e-04_rb /) kbo(:,34, 3) = (/ & & 0.52046e-04_rb,0.52896e-04_rb,0.53420e-04_rb,0.53516e-04_rb,0.53755e-04_rb /) kbo(:,35, 3) = (/ & & 0.44380e-04_rb,0.45121e-04_rb,0.45277e-04_rb,0.45604e-04_rb,0.45761e-04_rb /) kbo(:,36, 3) = (/ & & 0.38058e-04_rb,0.38409e-04_rb,0.38657e-04_rb,0.38813e-04_rb,0.38628e-04_rb /) kbo(:,37, 3) = (/ & & 0.31735e-04_rb,0.31990e-04_rb,0.32199e-04_rb,0.32288e-04_rb,0.32179e-04_rb /) kbo(:,38, 3) = (/ & & 0.26378e-04_rb,0.26667e-04_rb,0.26778e-04_rb,0.26840e-04_rb,0.26760e-04_rb /) kbo(:,39, 3) = (/ & & 0.21949e-04_rb,0.22195e-04_rb,0.22340e-04_rb,0.22330e-04_rb,0.22281e-04_rb /) kbo(:,40, 3) = (/ & & 0.18001e-04_rb,0.18209e-04_rb,0.18338e-04_rb,0.18376e-04_rb,0.18309e-04_rb /) kbo(:,41, 3) = (/ & & 0.14715e-04_rb,0.14906e-04_rb,0.15025e-04_rb,0.15098e-04_rb,0.15026e-04_rb /) kbo(:,42, 3) = (/ & & 0.12019e-04_rb,0.12197e-04_rb,0.12312e-04_rb,0.12380e-04_rb,0.12346e-04_rb /) kbo(:,43, 3) = (/ & & 0.97566e-05_rb,0.99318e-05_rb,0.10036e-04_rb,0.10096e-04_rb,0.10118e-04_rb /) kbo(:,44, 3) = (/ & & 0.78810e-05_rb,0.80716e-05_rb,0.81637e-05_rb,0.82202e-05_rb,0.82608e-05_rb /) kbo(:,45, 3) = (/ & & 0.63541e-05_rb,0.65171e-05_rb,0.66330e-05_rb,0.66977e-05_rb,0.67239e-05_rb /) kbo(:,46, 3) = (/ & & 0.51077e-05_rb,0.52428e-05_rb,0.53636e-05_rb,0.54363e-05_rb,0.54693e-05_rb /) kbo(:,47, 3) = (/ & & 0.40883e-05_rb,0.42196e-05_rb,0.43199e-05_rb,0.44074e-05_rb,0.44462e-05_rb /) kbo(:,48, 3) = (/ & & 0.32909e-05_rb,0.33941e-05_rb,0.34746e-05_rb,0.35546e-05_rb,0.36089e-05_rb /) kbo(:,49, 3) = (/ & & 0.26401e-05_rb,0.27269e-05_rb,0.28003e-05_rb,0.28616e-05_rb,0.29188e-05_rb /) kbo(:,50, 3) = (/ & & 0.21222e-05_rb,0.22032e-05_rb,0.22638e-05_rb,0.23127e-05_rb,0.23603e-05_rb /) kbo(:,51, 3) = (/ & & 0.17056e-05_rb,0.17838e-05_rb,0.18386e-05_rb,0.18804e-05_rb,0.19134e-05_rb /) kbo(:,52, 3) = (/ & & 0.13662e-05_rb,0.14333e-05_rb,0.14855e-05_rb,0.15238e-05_rb,0.15521e-05_rb /) kbo(:,53, 3) = (/ & & 0.10889e-05_rb,0.11445e-05_rb,0.11955e-05_rb,0.12300e-05_rb,0.12560e-05_rb /) kbo(:,54, 3) = (/ & & 0.86251e-06_rb,0.91556e-06_rb,0.95999e-06_rb,0.99454e-06_rb,0.10171e-05_rb /) kbo(:,55, 3) = (/ & & 0.68640e-06_rb,0.72868e-06_rb,0.77389e-06_rb,0.80627e-06_rb,0.82696e-06_rb /) kbo(:,56, 3) = (/ & & 0.54334e-06_rb,0.58339e-06_rb,0.61953e-06_rb,0.65190e-06_rb,0.67285e-06_rb /) kbo(:,57, 3) = (/ & & 0.43336e-06_rb,0.46511e-06_rb,0.49561e-06_rb,0.52337e-06_rb,0.54491e-06_rb /) kbo(:,58, 3) = (/ & & 0.34428e-06_rb,0.37236e-06_rb,0.39687e-06_rb,0.42017e-06_rb,0.43790e-06_rb /) kbo(:,59, 3) = (/ & & 0.27883e-06_rb,0.30237e-06_rb,0.32096e-06_rb,0.33978e-06_rb,0.35485e-06_rb /) kbo(:,13, 4) = (/ & & 0.52806e-02_rb,0.53551e-02_rb,0.53836e-02_rb,0.53810e-02_rb,0.53413e-02_rb /) kbo(:,14, 4) = (/ & & 0.43594e-02_rb,0.44114e-02_rb,0.44268e-02_rb,0.44183e-02_rb,0.43877e-02_rb /) kbo(:,15, 4) = (/ & & 0.36080e-02_rb,0.36421e-02_rb,0.36603e-02_rb,0.36540e-02_rb,0.36307e-02_rb /) kbo(:,16, 4) = (/ & & 0.30007e-02_rb,0.30324e-02_rb,0.30479e-02_rb,0.30377e-02_rb,0.30175e-02_rb /) kbo(:,17, 4) = (/ & & 0.25113e-02_rb,0.25415e-02_rb,0.25489e-02_rb,0.25428e-02_rb,0.25281e-02_rb /) kbo(:,18, 4) = (/ & & 0.21119e-02_rb,0.21340e-02_rb,0.21396e-02_rb,0.21381e-02_rb,0.21232e-02_rb /) kbo(:,19, 4) = (/ & & 0.17705e-02_rb,0.17884e-02_rb,0.17942e-02_rb,0.17931e-02_rb,0.17819e-02_rb /) kbo(:,20, 4) = (/ & & 0.14714e-02_rb,0.14854e-02_rb,0.14921e-02_rb,0.14920e-02_rb,0.14874e-02_rb /) kbo(:,21, 4) = (/ & & 0.12224e-02_rb,0.12349e-02_rb,0.12432e-02_rb,0.12411e-02_rb,0.12395e-02_rb /) kbo(:,22, 4) = (/ & & 0.10170e-02_rb,0.10281e-02_rb,0.10319e-02_rb,0.10310e-02_rb,0.10286e-02_rb /) kbo(:,23, 4) = (/ & & 0.84681e-03_rb,0.85484e-03_rb,0.85517e-03_rb,0.85545e-03_rb,0.85571e-03_rb /) kbo(:,24, 4) = (/ & & 0.70330e-03_rb,0.70875e-03_rb,0.71078e-03_rb,0.71261e-03_rb,0.71112e-03_rb /) kbo(:,25, 4) = (/ & & 0.58481e-03_rb,0.58870e-03_rb,0.59157e-03_rb,0.59305e-03_rb,0.59234e-03_rb /) kbo(:,26, 4) = (/ & & 0.48640e-03_rb,0.49044e-03_rb,0.49395e-03_rb,0.49468e-03_rb,0.49466e-03_rb /) kbo(:,27, 4) = (/ & & 0.40472e-03_rb,0.40915e-03_rb,0.41235e-03_rb,0.41278e-03_rb,0.41345e-03_rb /) kbo(:,28, 4) = (/ & & 0.33826e-03_rb,0.34205e-03_rb,0.34364e-03_rb,0.34480e-03_rb,0.34528e-03_rb /) kbo(:,29, 4) = (/ & & 0.28308e-03_rb,0.28627e-03_rb,0.28792e-03_rb,0.28910e-03_rb,0.28958e-03_rb /) kbo(:,30, 4) = (/ & & 0.23759e-03_rb,0.23994e-03_rb,0.24196e-03_rb,0.24295e-03_rb,0.24270e-03_rb /) kbo(:,31, 4) = (/ & & 0.19993e-03_rb,0.20202e-03_rb,0.20390e-03_rb,0.20456e-03_rb,0.20411e-03_rb /) kbo(:,32, 4) = (/ & & 0.16851e-03_rb,0.17060e-03_rb,0.17151e-03_rb,0.17169e-03_rb,0.17133e-03_rb /) kbo(:,33, 4) = (/ & & 0.14275e-03_rb,0.14392e-03_rb,0.14445e-03_rb,0.14452e-03_rb,0.14399e-03_rb /) kbo(:,34, 4) = (/ & & 0.12060e-03_rb,0.12142e-03_rb,0.12181e-03_rb,0.12165e-03_rb,0.12105e-03_rb /) kbo(:,35, 4) = (/ & & 0.10168e-03_rb,0.10240e-03_rb,0.10276e-03_rb,0.10261e-03_rb,0.10202e-03_rb /) kbo(:,36, 4) = (/ & & 0.85780e-04_rb,0.86636e-04_rb,0.86815e-04_rb,0.86780e-04_rb,0.86722e-04_rb /) kbo(:,37, 4) = (/ & & 0.71540e-04_rb,0.72201e-04_rb,0.72422e-04_rb,0.72501e-04_rb,0.72398e-04_rb /) kbo(:,38, 4) = (/ & & 0.59609e-04_rb,0.60152e-04_rb,0.60443e-04_rb,0.60540e-04_rb,0.60534e-04_rb /) kbo(:,39, 4) = (/ & & 0.49681e-04_rb,0.50194e-04_rb,0.50481e-04_rb,0.50649e-04_rb,0.50643e-04_rb /) kbo(:,40, 4) = (/ & & 0.40815e-04_rb,0.41335e-04_rb,0.41565e-04_rb,0.41729e-04_rb,0.41776e-04_rb /) kbo(:,41, 4) = (/ & & 0.33476e-04_rb,0.33932e-04_rb,0.34171e-04_rb,0.34301e-04_rb,0.34397e-04_rb /) kbo(:,42, 4) = (/ & & 0.27419e-04_rb,0.27824e-04_rb,0.28083e-04_rb,0.28221e-04_rb,0.28296e-04_rb /) kbo(:,43, 4) = (/ & & 0.22349e-04_rb,0.22753e-04_rb,0.22975e-04_rb,0.23100e-04_rb,0.23164e-04_rb /) kbo(:,44, 4) = (/ & & 0.18197e-04_rb,0.18488e-04_rb,0.18747e-04_rb,0.18878e-04_rb,0.18943e-04_rb /) kbo(:,45, 4) = (/ & & 0.14815e-04_rb,0.15081e-04_rb,0.15284e-04_rb,0.15408e-04_rb,0.15493e-04_rb /) kbo(:,46, 4) = (/ & & 0.12046e-04_rb,0.12304e-04_rb,0.12476e-04_rb,0.12590e-04_rb,0.12654e-04_rb /) kbo(:,47, 4) = (/ & & 0.97834e-05_rb,0.10018e-04_rb,0.10187e-04_rb,0.10295e-04_rb,0.10365e-04_rb /) kbo(:,48, 4) = (/ & & 0.79058e-05_rb,0.81583e-05_rb,0.83158e-05_rb,0.84259e-05_rb,0.84791e-05_rb /) kbo(:,49, 4) = (/ & & 0.63847e-05_rb,0.66212e-05_rb,0.67735e-05_rb,0.68818e-05_rb,0.69382e-05_rb /) kbo(:,50, 4) = (/ & & 0.51619e-05_rb,0.53698e-05_rb,0.55239e-05_rb,0.56230e-05_rb,0.56931e-05_rb /) kbo(:,51, 4) = (/ & & 0.41764e-05_rb,0.43546e-05_rb,0.45018e-05_rb,0.45927e-05_rb,0.46609e-05_rb /) kbo(:,52, 4) = (/ & & 0.33696e-05_rb,0.35302e-05_rb,0.36585e-05_rb,0.37548e-05_rb,0.38091e-05_rb /) kbo(:,53, 4) = (/ & & 0.27142e-05_rb,0.28585e-05_rb,0.29700e-05_rb,0.30632e-05_rb,0.31163e-05_rb /) kbo(:,54, 4) = (/ & & 0.21974e-05_rb,0.23176e-05_rb,0.24169e-05_rb,0.24980e-05_rb,0.25555e-05_rb /) kbo(:,55, 4) = (/ & & 0.17820e-05_rb,0.18827e-05_rb,0.19647e-05_rb,0.20347e-05_rb,0.20895e-05_rb /) kbo(:,56, 4) = (/ & & 0.14445e-05_rb,0.15274e-05_rb,0.15999e-05_rb,0.16558e-05_rb,0.17004e-05_rb /) kbo(:,57, 4) = (/ & & 0.11612e-05_rb,0.12390e-05_rb,0.13020e-05_rb,0.13508e-05_rb,0.13881e-05_rb /) kbo(:,58, 4) = (/ & & 0.93606e-06_rb,0.10017e-05_rb,0.10598e-05_rb,0.11016e-05_rb,0.11367e-05_rb /) kbo(:,59, 4) = (/ & & 0.76682e-06_rb,0.82318e-06_rb,0.87281e-06_rb,0.91208e-06_rb,0.94037e-06_rb /) kbo(:,13, 5) = (/ & & 0.12856e-01_rb,0.13079e-01_rb,0.13167e-01_rb,0.13177e-01_rb,0.13097e-01_rb /) kbo(:,14, 5) = (/ & & 0.10708e-01_rb,0.10853e-01_rb,0.10911e-01_rb,0.10898e-01_rb,0.10814e-01_rb /) kbo(:,15, 5) = (/ & & 0.88690e-02_rb,0.89759e-02_rb,0.90116e-02_rb,0.89730e-02_rb,0.88895e-02_rb /) kbo(:,16, 5) = (/ & & 0.73377e-02_rb,0.74116e-02_rb,0.74224e-02_rb,0.73845e-02_rb,0.73097e-02_rb /) kbo(:,17, 5) = (/ & & 0.61050e-02_rb,0.61465e-02_rb,0.61522e-02_rb,0.61190e-02_rb,0.60607e-02_rb /) kbo(:,18, 5) = (/ & & 0.51170e-02_rb,0.51524e-02_rb,0.51567e-02_rb,0.51299e-02_rb,0.50853e-02_rb /) kbo(:,19, 5) = (/ & & 0.42872e-02_rb,0.43210e-02_rb,0.43249e-02_rb,0.43090e-02_rb,0.42772e-02_rb /) kbo(:,20, 5) = (/ & & 0.35726e-02_rb,0.35987e-02_rb,0.36030e-02_rb,0.35888e-02_rb,0.35606e-02_rb /) kbo(:,21, 5) = (/ & & 0.29687e-02_rb,0.29865e-02_rb,0.29887e-02_rb,0.29805e-02_rb,0.29536e-02_rb /) kbo(:,22, 5) = (/ & & 0.24631e-02_rb,0.24766e-02_rb,0.24818e-02_rb,0.24706e-02_rb,0.24511e-02_rb /) kbo(:,23, 5) = (/ & & 0.20423e-02_rb,0.20574e-02_rb,0.20622e-02_rb,0.20550e-02_rb,0.20390e-02_rb /) kbo(:,24, 5) = (/ & & 0.17009e-02_rb,0.17137e-02_rb,0.17151e-02_rb,0.17066e-02_rb,0.16944e-02_rb /) kbo(:,25, 5) = (/ & & 0.14175e-02_rb,0.14281e-02_rb,0.14264e-02_rb,0.14202e-02_rb,0.14101e-02_rb /) kbo(:,26, 5) = (/ & & 0.11824e-02_rb,0.11879e-02_rb,0.11852e-02_rb,0.11799e-02_rb,0.11727e-02_rb /) kbo(:,27, 5) = (/ & & 0.98538e-03_rb,0.98799e-03_rb,0.98648e-03_rb,0.98258e-03_rb,0.97798e-03_rb /) kbo(:,28, 5) = (/ & & 0.82156e-03_rb,0.82317e-03_rb,0.82299e-03_rb,0.82154e-03_rb,0.81913e-03_rb /) kbo(:,29, 5) = (/ & & 0.68689e-03_rb,0.68935e-03_rb,0.68992e-03_rb,0.69010e-03_rb,0.68854e-03_rb /) kbo(:,30, 5) = (/ & & 0.57658e-03_rb,0.57999e-03_rb,0.58178e-03_rb,0.58209e-03_rb,0.58220e-03_rb /) kbo(:,31, 5) = (/ & & 0.48638e-03_rb,0.49049e-03_rb,0.49261e-03_rb,0.49405e-03_rb,0.49565e-03_rb /) kbo(:,32, 5) = (/ & & 0.41128e-03_rb,0.41527e-03_rb,0.41847e-03_rb,0.42111e-03_rb,0.42278e-03_rb /) kbo(:,33, 5) = (/ & & 0.34942e-03_rb,0.35347e-03_rb,0.35669e-03_rb,0.35970e-03_rb,0.36033e-03_rb /) kbo(:,34, 5) = (/ & & 0.29778e-03_rb,0.30183e-03_rb,0.30543e-03_rb,0.30722e-03_rb,0.30756e-03_rb /) kbo(:,35, 5) = (/ & & 0.25439e-03_rb,0.25855e-03_rb,0.26145e-03_rb,0.26279e-03_rb,0.26328e-03_rb /) kbo(:,36, 5) = (/ & & 0.21688e-03_rb,0.22055e-03_rb,0.22366e-03_rb,0.22472e-03_rb,0.22545e-03_rb /) kbo(:,37, 5) = (/ & & 0.18184e-03_rb,0.18525e-03_rb,0.18789e-03_rb,0.18888e-03_rb,0.18981e-03_rb /) kbo(:,38, 5) = (/ & & 0.15217e-03_rb,0.15529e-03_rb,0.15752e-03_rb,0.15878e-03_rb,0.15947e-03_rb /) kbo(:,39, 5) = (/ & & 0.12738e-03_rb,0.13010e-03_rb,0.13202e-03_rb,0.13325e-03_rb,0.13405e-03_rb /) kbo(:,40, 5) = (/ & & 0.10533e-03_rb,0.10771e-03_rb,0.10944e-03_rb,0.11063e-03_rb,0.11132e-03_rb /) kbo(:,41, 5) = (/ & & 0.86935e-04_rb,0.89079e-04_rb,0.90576e-04_rb,0.91599e-04_rb,0.92136e-04_rb /) kbo(:,42, 5) = (/ & & 0.71757e-04_rb,0.73600e-04_rb,0.74913e-04_rb,0.75823e-04_rb,0.76332e-04_rb /) kbo(:,43, 5) = (/ & & 0.58933e-04_rb,0.60448e-04_rb,0.61689e-04_rb,0.62502e-04_rb,0.62968e-04_rb /) kbo(:,44, 5) = (/ & & 0.48240e-04_rb,0.49626e-04_rb,0.50671e-04_rb,0.51353e-04_rb,0.51808e-04_rb /) kbo(:,45, 5) = (/ & & 0.39365e-04_rb,0.40603e-04_rb,0.41556e-04_rb,0.42201e-04_rb,0.42661e-04_rb /) kbo(:,46, 5) = (/ & & 0.32140e-04_rb,0.33199e-04_rb,0.34102e-04_rb,0.34681e-04_rb,0.35122e-04_rb /) kbo(:,47, 5) = (/ & & 0.26212e-04_rb,0.27122e-04_rb,0.27914e-04_rb,0.28482e-04_rb,0.28883e-04_rb /) kbo(:,48, 5) = (/ & & 0.21367e-04_rb,0.22132e-04_rb,0.22808e-04_rb,0.23366e-04_rb,0.23750e-04_rb /) kbo(:,49, 5) = (/ & & 0.17366e-04_rb,0.18036e-04_rb,0.18610e-04_rb,0.19128e-04_rb,0.19501e-04_rb /) kbo(:,50, 5) = (/ & & 0.14166e-04_rb,0.14744e-04_rb,0.15227e-04_rb,0.15695e-04_rb,0.16033e-04_rb /) kbo(:,51, 5) = (/ & & 0.11520e-04_rb,0.12036e-04_rb,0.12466e-04_rb,0.12850e-04_rb,0.13177e-04_rb /) kbo(:,52, 5) = (/ & & 0.93545e-05_rb,0.97967e-05_rb,0.10185e-04_rb,0.10504e-04_rb,0.10808e-04_rb /) kbo(:,53, 5) = (/ & & 0.75900e-05_rb,0.79775e-05_rb,0.83066e-05_rb,0.85876e-05_rb,0.88446e-05_rb /) kbo(:,54, 5) = (/ & & 0.61841e-05_rb,0.65213e-05_rb,0.67983e-05_rb,0.70299e-05_rb,0.72479e-05_rb /) kbo(:,55, 5) = (/ & & 0.50267e-05_rb,0.53142e-05_rb,0.55644e-05_rb,0.57696e-05_rb,0.59449e-05_rb /) kbo(:,56, 5) = (/ & & 0.40664e-05_rb,0.43169e-05_rb,0.45344e-05_rb,0.47274e-05_rb,0.48783e-05_rb /) kbo(:,57, 5) = (/ & & 0.32881e-05_rb,0.34993e-05_rb,0.36900e-05_rb,0.38580e-05_rb,0.39983e-05_rb /) kbo(:,58, 5) = (/ & & 0.26562e-05_rb,0.28386e-05_rb,0.30033e-05_rb,0.31435e-05_rb,0.32655e-05_rb /) kbo(:,59, 5) = (/ & & 0.21842e-05_rb,0.23355e-05_rb,0.24742e-05_rb,0.25918e-05_rb,0.26979e-05_rb /) kbo(:,13, 6) = (/ & & 0.31802e-01_rb,0.32385e-01_rb,0.32761e-01_rb,0.32924e-01_rb,0.32887e-01_rb /) kbo(:,14, 6) = (/ & & 0.27075e-01_rb,0.27526e-01_rb,0.27777e-01_rb,0.27825e-01_rb,0.27714e-01_rb /) kbo(:,15, 6) = (/ & & 0.22867e-01_rb,0.23213e-01_rb,0.23346e-01_rb,0.23326e-01_rb,0.23192e-01_rb /) kbo(:,16, 6) = (/ & & 0.19243e-01_rb,0.19469e-01_rb,0.19534e-01_rb,0.19508e-01_rb,0.19374e-01_rb /) kbo(:,17, 6) = (/ & & 0.16143e-01_rb,0.16291e-01_rb,0.16340e-01_rb,0.16286e-01_rb,0.16140e-01_rb /) kbo(:,18, 6) = (/ & & 0.13508e-01_rb,0.13619e-01_rb,0.13632e-01_rb,0.13563e-01_rb,0.13444e-01_rb /) kbo(:,19, 6) = (/ & & 0.11360e-01_rb,0.11423e-01_rb,0.11418e-01_rb,0.11354e-01_rb,0.11254e-01_rb /) kbo(:,20, 6) = (/ & & 0.95257e-02_rb,0.95677e-02_rb,0.95569e-02_rb,0.94993e-02_rb,0.94147e-02_rb /) kbo(:,21, 6) = (/ & & 0.79688e-02_rb,0.80079e-02_rb,0.79930e-02_rb,0.79576e-02_rb,0.78976e-02_rb /) kbo(:,22, 6) = (/ & & 0.66527e-02_rb,0.66824e-02_rb,0.66717e-02_rb,0.66442e-02_rb,0.65988e-02_rb /) kbo(:,23, 6) = (/ & & 0.55583e-02_rb,0.55741e-02_rb,0.55685e-02_rb,0.55458e-02_rb,0.55136e-02_rb /) kbo(:,24, 6) = (/ & & 0.46281e-02_rb,0.46404e-02_rb,0.46354e-02_rb,0.46240e-02_rb,0.46070e-02_rb /) kbo(:,25, 6) = (/ & & 0.38479e-02_rb,0.38586e-02_rb,0.38647e-02_rb,0.38587e-02_rb,0.38482e-02_rb /) kbo(:,26, 6) = (/ & & 0.31996e-02_rb,0.32113e-02_rb,0.32185e-02_rb,0.32206e-02_rb,0.32221e-02_rb /) kbo(:,27, 6) = (/ & & 0.26655e-02_rb,0.26804e-02_rb,0.26909e-02_rb,0.27001e-02_rb,0.27000e-02_rb /) kbo(:,28, 6) = (/ & & 0.22269e-02_rb,0.22430e-02_rb,0.22546e-02_rb,0.22636e-02_rb,0.22685e-02_rb /) kbo(:,29, 6) = (/ & & 0.18711e-02_rb,0.18853e-02_rb,0.19010e-02_rb,0.19079e-02_rb,0.19146e-02_rb /) kbo(:,30, 6) = (/ & & 0.15792e-02_rb,0.15950e-02_rb,0.16049e-02_rb,0.16149e-02_rb,0.16250e-02_rb /) kbo(:,31, 6) = (/ & & 0.13390e-02_rb,0.13523e-02_rb,0.13631e-02_rb,0.13762e-02_rb,0.13899e-02_rb /) kbo(:,32, 6) = (/ & & 0.11423e-02_rb,0.11552e-02_rb,0.11689e-02_rb,0.11828e-02_rb,0.12002e-02_rb /) kbo(:,33, 6) = (/ & & 0.97837e-03_rb,0.99414e-03_rb,0.10078e-02_rb,0.10254e-02_rb,0.10445e-02_rb /) kbo(:,34, 6) = (/ & & 0.84508e-03_rb,0.85961e-03_rb,0.87553e-03_rb,0.89474e-03_rb,0.91454e-03_rb /) kbo(:,35, 6) = (/ & & 0.73067e-03_rb,0.74643e-03_rb,0.76522e-03_rb,0.78433e-03_rb,0.80547e-03_rb /) kbo(:,36, 6) = (/ & & 0.63501e-03_rb,0.65286e-03_rb,0.67124e-03_rb,0.69177e-03_rb,0.71245e-03_rb /) kbo(:,37, 6) = (/ & & 0.54302e-03_rb,0.56011e-03_rb,0.57838e-03_rb,0.59932e-03_rb,0.61930e-03_rb /) kbo(:,38, 6) = (/ & & 0.46413e-03_rb,0.48141e-03_rb,0.49888e-03_rb,0.51888e-03_rb,0.53851e-03_rb /) kbo(:,39, 6) = (/ & & 0.39787e-03_rb,0.41416e-03_rb,0.43137e-03_rb,0.45076e-03_rb,0.46884e-03_rb /) kbo(:,40, 6) = (/ & & 0.33542e-03_rb,0.35026e-03_rb,0.36640e-03_rb,0.38421e-03_rb,0.40074e-03_rb /) kbo(:,41, 6) = (/ & & 0.28198e-03_rb,0.29533e-03_rb,0.31033e-03_rb,0.32658e-03_rb,0.34246e-03_rb /) kbo(:,42, 6) = (/ & & 0.23644e-03_rb,0.24877e-03_rb,0.26248e-03_rb,0.27695e-03_rb,0.29184e-03_rb /) kbo(:,43, 6) = (/ & & 0.19698e-03_rb,0.20826e-03_rb,0.22042e-03_rb,0.23357e-03_rb,0.24697e-03_rb /) kbo(:,44, 6) = (/ & & 0.16338e-03_rb,0.17334e-03_rb,0.18409e-03_rb,0.19557e-03_rb,0.20792e-03_rb /) kbo(:,45, 6) = (/ & & 0.13558e-03_rb,0.14397e-03_rb,0.15333e-03_rb,0.16359e-03_rb,0.17463e-03_rb /) kbo(:,46, 6) = (/ & & 0.11191e-03_rb,0.11919e-03_rb,0.12729e-03_rb,0.13624e-03_rb,0.14629e-03_rb /) kbo(:,47, 6) = (/ & & 0.91906e-04_rb,0.98189e-04_rb,0.10520e-03_rb,0.11302e-03_rb,0.12177e-03_rb /) kbo(:,48, 6) = (/ & & 0.75087e-04_rb,0.80743e-04_rb,0.86708e-04_rb,0.93427e-04_rb,0.10110e-03_rb /) kbo(:,49, 6) = (/ & & 0.61186e-04_rb,0.66125e-04_rb,0.71313e-04_rb,0.77107e-04_rb,0.83777e-04_rb /) kbo(:,50, 6) = (/ & & 0.49938e-04_rb,0.54303e-04_rb,0.58807e-04_rb,0.63705e-04_rb,0.69474e-04_rb /) kbo(:,51, 6) = (/ & & 0.40809e-04_rb,0.44513e-04_rb,0.48369e-04_rb,0.52594e-04_rb,0.57525e-04_rb /) kbo(:,52, 6) = (/ & & 0.33309e-04_rb,0.36401e-04_rb,0.39694e-04_rb,0.43295e-04_rb,0.47517e-04_rb /) kbo(:,53, 6) = (/ & & 0.27001e-04_rb,0.29637e-04_rb,0.32443e-04_rb,0.35515e-04_rb,0.39073e-04_rb /) kbo(:,54, 6) = (/ & & 0.21920e-04_rb,0.24176e-04_rb,0.26587e-04_rb,0.29204e-04_rb,0.32173e-04_rb /) kbo(:,55, 6) = (/ & & 0.17840e-04_rb,0.19707e-04_rb,0.21784e-04_rb,0.24000e-04_rb,0.26498e-04_rb /) kbo(:,56, 6) = (/ & & 0.14500e-04_rb,0.16042e-04_rb,0.17779e-04_rb,0.19655e-04_rb,0.21743e-04_rb /) kbo(:,57, 6) = (/ & & 0.11756e-04_rb,0.13018e-04_rb,0.14458e-04_rb,0.16053e-04_rb,0.17779e-04_rb /) kbo(:,58, 6) = (/ & & 0.95229e-05_rb,0.10574e-04_rb,0.11760e-04_rb,0.13107e-04_rb,0.14585e-04_rb /) kbo(:,59, 6) = (/ & & 0.78970e-05_rb,0.87821e-05_rb,0.97860e-05_rb,0.10919e-04_rb,0.12187e-04_rb /) kbo(:,13, 7) = (/ & & 0.81347e-01_rb,0.83688e-01_rb,0.85307e-01_rb,0.86283e-01_rb,0.87010e-01_rb /) kbo(:,14, 7) = (/ & & 0.72041e-01_rb,0.73994e-01_rb,0.75287e-01_rb,0.76180e-01_rb,0.76714e-01_rb /) kbo(:,15, 7) = (/ & & 0.63278e-01_rb,0.64818e-01_rb,0.65954e-01_rb,0.66651e-01_rb,0.67143e-01_rb /) kbo(:,16, 7) = (/ & & 0.55139e-01_rb,0.56478e-01_rb,0.57384e-01_rb,0.58076e-01_rb,0.58539e-01_rb /) kbo(:,17, 7) = (/ & & 0.47894e-01_rb,0.48966e-01_rb,0.49829e-01_rb,0.50447e-01_rb,0.50916e-01_rb /) kbo(:,18, 7) = (/ & & 0.41499e-01_rb,0.42507e-01_rb,0.43240e-01_rb,0.43755e-01_rb,0.44135e-01_rb /) kbo(:,19, 7) = (/ & & 0.35885e-01_rb,0.36754e-01_rb,0.37403e-01_rb,0.37954e-01_rb,0.38313e-01_rb /) kbo(:,20, 7) = (/ & & 0.30699e-01_rb,0.31463e-01_rb,0.32108e-01_rb,0.32586e-01_rb,0.32972e-01_rb /) kbo(:,21, 7) = (/ & & 0.26192e-01_rb,0.26846e-01_rb,0.27409e-01_rb,0.27839e-01_rb,0.28217e-01_rb /) kbo(:,22, 7) = (/ & & 0.22340e-01_rb,0.22929e-01_rb,0.23404e-01_rb,0.23811e-01_rb,0.24187e-01_rb /) kbo(:,23, 7) = (/ & & 0.19095e-01_rb,0.19575e-01_rb,0.20007e-01_rb,0.20410e-01_rb,0.20766e-01_rb /) kbo(:,24, 7) = (/ & & 0.16366e-01_rb,0.16771e-01_rb,0.17186e-01_rb,0.17542e-01_rb,0.17949e-01_rb /) kbo(:,25, 7) = (/ & & 0.14069e-01_rb,0.14481e-01_rb,0.14832e-01_rb,0.15200e-01_rb,0.15580e-01_rb /) kbo(:,26, 7) = (/ & & 0.12162e-01_rb,0.12539e-01_rb,0.12888e-01_rb,0.13247e-01_rb,0.13615e-01_rb /) kbo(:,27, 7) = (/ & & 0.10528e-01_rb,0.10892e-01_rb,0.11265e-01_rb,0.11631e-01_rb,0.12012e-01_rb /) kbo(:,28, 7) = (/ & & 0.91441e-02_rb,0.95086e-02_rb,0.98896e-02_rb,0.10282e-01_rb,0.10687e-01_rb /) kbo(:,29, 7) = (/ & & 0.79938e-02_rb,0.83641e-02_rb,0.87511e-02_rb,0.91674e-02_rb,0.96121e-02_rb /) kbo(:,30, 7) = (/ & & 0.70400e-02_rb,0.74172e-02_rb,0.78125e-02_rb,0.82611e-02_rb,0.87532e-02_rb /) kbo(:,31, 7) = (/ & & 0.62612e-02_rb,0.66491e-02_rb,0.70836e-02_rb,0.75546e-02_rb,0.80730e-02_rb /) kbo(:,32, 7) = (/ & & 0.56090e-02_rb,0.60373e-02_rb,0.65021e-02_rb,0.70140e-02_rb,0.75729e-02_rb /) kbo(:,33, 7) = (/ & & 0.51011e-02_rb,0.55473e-02_rb,0.60429e-02_rb,0.66026e-02_rb,0.72780e-02_rb /) kbo(:,34, 7) = (/ & & 0.46990e-02_rb,0.51673e-02_rb,0.57072e-02_rb,0.63464e-02_rb,0.71159e-02_rb /) kbo(:,35, 7) = (/ & & 0.43314e-02_rb,0.48384e-02_rb,0.54243e-02_rb,0.61639e-02_rb,0.69924e-02_rb /) kbo(:,36, 7) = (/ & & 0.39886e-02_rb,0.45262e-02_rb,0.51941e-02_rb,0.59985e-02_rb,0.68708e-02_rb /) kbo(:,37, 7) = (/ & & 0.36017e-02_rb,0.41399e-02_rb,0.48219e-02_rb,0.56481e-02_rb,0.65560e-02_rb /) kbo(:,38, 7) = (/ & & 0.32617e-02_rb,0.38037e-02_rb,0.45057e-02_rb,0.53485e-02_rb,0.62708e-02_rb /) kbo(:,39, 7) = (/ & & 0.29777e-02_rb,0.35364e-02_rb,0.42387e-02_rb,0.50890e-02_rb,0.60544e-02_rb /) kbo(:,40, 7) = (/ & & 0.26397e-02_rb,0.31715e-02_rb,0.38573e-02_rb,0.46880e-02_rb,0.56335e-02_rb /) kbo(:,41, 7) = (/ & & 0.23227e-02_rb,0.28385e-02_rb,0.34927e-02_rb,0.42880e-02_rb,0.52154e-02_rb /) kbo(:,42, 7) = (/ & & 0.20486e-02_rb,0.25378e-02_rb,0.31647e-02_rb,0.39312e-02_rb,0.48261e-02_rb /) kbo(:,43, 7) = (/ & & 0.17755e-02_rb,0.22226e-02_rb,0.28140e-02_rb,0.35274e-02_rb,0.43895e-02_rb /) kbo(:,44, 7) = (/ & & 0.15269e-02_rb,0.19274e-02_rb,0.24688e-02_rb,0.31407e-02_rb,0.39517e-02_rb /) kbo(:,45, 7) = (/ & & 0.13050e-02_rb,0.16697e-02_rb,0.21647e-02_rb,0.27916e-02_rb,0.35423e-02_rb /) kbo(:,46, 7) = (/ & & 0.11057e-02_rb,0.14327e-02_rb,0.18777e-02_rb,0.24513e-02_rb,0.31448e-02_rb /) kbo(:,47, 7) = (/ & & 0.92448e-03_rb,0.12134e-02_rb,0.16064e-02_rb,0.21237e-02_rb,0.27575e-02_rb /) kbo(:,48, 7) = (/ & & 0.76618e-03_rb,0.10179e-02_rb,0.13627e-02_rb,0.18254e-02_rb,0.24067e-02_rb /) kbo(:,49, 7) = (/ & & 0.62940e-03_rb,0.85036e-03_rb,0.11489e-02_rb,0.15623e-02_rb,0.20896e-02_rb /) kbo(:,50, 7) = (/ & & 0.51855e-03_rb,0.71067e-03_rb,0.97602e-03_rb,0.13414e-02_rb,0.18179e-02_rb /) kbo(:,51, 7) = (/ & & 0.42590e-03_rb,0.59305e-03_rb,0.82548e-03_rb,0.11486e-02_rb,0.15798e-02_rb /) kbo(:,52, 7) = (/ & & 0.34697e-03_rb,0.49059e-03_rb,0.69535e-03_rb,0.97532e-03_rb,0.13630e-02_rb /) kbo(:,53, 7) = (/ & & 0.28092e-03_rb,0.40191e-03_rb,0.57931e-03_rb,0.82673e-03_rb,0.11685e-02_rb /) kbo(:,54, 7) = (/ & & 0.22883e-03_rb,0.33102e-03_rb,0.48584e-03_rb,0.70577e-03_rb,0.10069e-02_rb /) kbo(:,55, 7) = (/ & & 0.18567e-03_rb,0.27212e-03_rb,0.40629e-03_rb,0.59966e-03_rb,0.86643e-03_rb /) kbo(:,56, 7) = (/ & & 0.14981e-03_rb,0.22158e-03_rb,0.33702e-03_rb,0.50672e-03_rb,0.74022e-03_rb /) kbo(:,57, 7) = (/ & & 0.11956e-03_rb,0.17899e-03_rb,0.27717e-03_rb,0.42406e-03_rb,0.63003e-03_rb /) kbo(:,58, 7) = (/ & & 0.95581e-04_rb,0.14413e-03_rb,0.22637e-03_rb,0.35457e-03_rb,0.53700e-03_rb /) kbo(:,59, 7) = (/ & & 0.81967e-04_rb,0.12578e-03_rb,0.20146e-03_rb,0.32061e-03_rb,0.49099e-03_rb /) kbo(:,13, 8) = (/ & & 0.22107e+00_rb,0.22673e+00_rb,0.23188e+00_rb,0.23626e+00_rb,0.23937e+00_rb /) kbo(:,14, 8) = (/ & & 0.20348e+00_rb,0.20983e+00_rb,0.21521e+00_rb,0.21960e+00_rb,0.22328e+00_rb /) kbo(:,15, 8) = (/ & & 0.18724e+00_rb,0.19358e+00_rb,0.19903e+00_rb,0.20382e+00_rb,0.20780e+00_rb /) kbo(:,16, 8) = (/ & & 0.17271e+00_rb,0.17902e+00_rb,0.18466e+00_rb,0.18949e+00_rb,0.19358e+00_rb /) kbo(:,17, 8) = (/ & & 0.15881e+00_rb,0.16550e+00_rb,0.17139e+00_rb,0.17656e+00_rb,0.18127e+00_rb /) kbo(:,18, 8) = (/ & & 0.14632e+00_rb,0.15311e+00_rb,0.15937e+00_rb,0.16532e+00_rb,0.17049e+00_rb /) kbo(:,19, 8) = (/ & & 0.13481e+00_rb,0.14215e+00_rb,0.14899e+00_rb,0.15502e+00_rb,0.16068e+00_rb /) kbo(:,20, 8) = (/ & & 0.12437e+00_rb,0.13191e+00_rb,0.13890e+00_rb,0.14560e+00_rb,0.15188e+00_rb /) kbo(:,21, 8) = (/ & & 0.11481e+00_rb,0.12252e+00_rb,0.12982e+00_rb,0.13710e+00_rb,0.14374e+00_rb /) kbo(:,22, 8) = (/ & & 0.10661e+00_rb,0.11453e+00_rb,0.12244e+00_rb,0.12996e+00_rb,0.13720e+00_rb /) kbo(:,23, 8) = (/ & & 0.99573e-01_rb,0.10782e+00_rb,0.11598e+00_rb,0.12384e+00_rb,0.13154e+00_rb /) kbo(:,24, 8) = (/ & & 0.93585e-01_rb,0.10212e+00_rb,0.11044e+00_rb,0.11870e+00_rb,0.12683e+00_rb /) kbo(:,25, 8) = (/ & & 0.88642e-01_rb,0.97342e-01_rb,0.10600e+00_rb,0.11474e+00_rb,0.12338e+00_rb /) kbo(:,26, 8) = (/ & & 0.84783e-01_rb,0.93706e-01_rb,0.10275e+00_rb,0.11190e+00_rb,0.12089e+00_rb /) kbo(:,27, 8) = (/ & & 0.81924e-01_rb,0.91085e-01_rb,0.10043e+00_rb,0.11011e+00_rb,0.11942e+00_rb /) kbo(:,28, 8) = (/ & & 0.79898e-01_rb,0.89495e-01_rb,0.99246e-01_rb,0.10903e+00_rb,0.11866e+00_rb /) kbo(:,29, 8) = (/ & & 0.78843e-01_rb,0.88816e-01_rb,0.99112e-01_rb,0.10908e+00_rb,0.11873e+00_rb /) kbo(:,30, 8) = (/ & & 0.78672e-01_rb,0.89175e-01_rb,0.99763e-01_rb,0.10991e+00_rb,0.11974e+00_rb /) kbo(:,31, 8) = (/ & & 0.79471e-01_rb,0.90393e-01_rb,0.10090e+00_rb,0.11134e+00_rb,0.12148e+00_rb /) kbo(:,32, 8) = (/ & & 0.81097e-01_rb,0.92118e-01_rb,0.10299e+00_rb,0.11352e+00_rb,0.12362e+00_rb /) kbo(:,33, 8) = (/ & & 0.83219e-01_rb,0.94430e-01_rb,0.10536e+00_rb,0.11619e+00_rb,0.12656e+00_rb /) kbo(:,34, 8) = (/ & & 0.85363e-01_rb,0.96707e-01_rb,0.10798e+00_rb,0.11904e+00_rb,0.12986e+00_rb /) kbo(:,35, 8) = (/ & & 0.86741e-01_rb,0.98297e-01_rb,0.11004e+00_rb,0.12158e+00_rb,0.13234e+00_rb /) kbo(:,36, 8) = (/ & & 0.87017e-01_rb,0.99113e-01_rb,0.11121e+00_rb,0.12302e+00_rb,0.13390e+00_rb /) kbo(:,37, 8) = (/ & & 0.85258e-01_rb,0.97671e-01_rb,0.10985e+00_rb,0.12188e+00_rb,0.13289e+00_rb /) kbo(:,38, 8) = (/ & & 0.83622e-01_rb,0.96133e-01_rb,0.10847e+00_rb,0.12060e+00_rb,0.13189e+00_rb /) kbo(:,39, 8) = (/ & & 0.82148e-01_rb,0.94689e-01_rb,0.10723e+00_rb,0.11944e+00_rb,0.13102e+00_rb /) kbo(:,40, 8) = (/ & & 0.78933e-01_rb,0.91494e-01_rb,0.10410e+00_rb,0.11650e+00_rb,0.12816e+00_rb /) kbo(:,41, 8) = (/ & & 0.75553e-01_rb,0.88087e-01_rb,0.10066e+00_rb,0.11319e+00_rb,0.12513e+00_rb /) kbo(:,42, 8) = (/ & & 0.72215e-01_rb,0.84600e-01_rb,0.97314e-01_rb,0.10990e+00_rb,0.12202e+00_rb /) kbo(:,43, 8) = (/ & & 0.68050e-01_rb,0.80392e-01_rb,0.93038e-01_rb,0.10568e+00_rb,0.11811e+00_rb /) kbo(:,44, 8) = (/ & & 0.63504e-01_rb,0.75885e-01_rb,0.88427e-01_rb,0.10109e+00_rb,0.11352e+00_rb /) kbo(:,45, 8) = (/ & & 0.59117e-01_rb,0.71359e-01_rb,0.83835e-01_rb,0.96461e-01_rb,0.10897e+00_rb /) kbo(:,46, 8) = (/ & & 0.54516e-01_rb,0.66547e-01_rb,0.79117e-01_rb,0.91745e-01_rb,0.10426e+00_rb /) kbo(:,47, 8) = (/ & & 0.49520e-01_rb,0.61408e-01_rb,0.73788e-01_rb,0.86383e-01_rb,0.98886e-01_rb /) kbo(:,48, 8) = (/ & & 0.44727e-01_rb,0.56224e-01_rb,0.68415e-01_rb,0.81094e-01_rb,0.93621e-01_rb /) kbo(:,49, 8) = (/ & & 0.40177e-01_rb,0.51146e-01_rb,0.63191e-01_rb,0.75749e-01_rb,0.88249e-01_rb /) kbo(:,50, 8) = (/ & & 0.36081e-01_rb,0.46596e-01_rb,0.58341e-01_rb,0.70769e-01_rb,0.83353e-01_rb /) kbo(:,51, 8) = (/ & & 0.32278e-01_rb,0.42393e-01_rb,0.53717e-01_rb,0.65898e-01_rb,0.78578e-01_rb /) kbo(:,52, 8) = (/ & & 0.28586e-01_rb,0.38352e-01_rb,0.49175e-01_rb,0.61145e-01_rb,0.73682e-01_rb /) kbo(:,53, 8) = (/ & & 0.25090e-01_rb,0.34439e-01_rb,0.44807e-01_rb,0.56352e-01_rb,0.68823e-01_rb /) kbo(:,54, 8) = (/ & & 0.22080e-01_rb,0.30938e-01_rb,0.40952e-01_rb,0.52101e-01_rb,0.64364e-01_rb /) kbo(:,55, 8) = (/ & & 0.19382e-01_rb,0.27719e-01_rb,0.37405e-01_rb,0.48197e-01_rb,0.60044e-01_rb /) kbo(:,56, 8) = (/ & & 0.16835e-01_rb,0.24689e-01_rb,0.33908e-01_rb,0.44390e-01_rb,0.55911e-01_rb /) kbo(:,57, 8) = (/ & & 0.14459e-01_rb,0.21799e-01_rb,0.30531e-01_rb,0.40642e-01_rb,0.51808e-01_rb /) kbo(:,58, 8) = (/ & & 0.12380e-01_rb,0.19213e-01_rb,0.27475e-01_rb,0.37204e-01_rb,0.48065e-01_rb /) kbo(:,59, 8) = (/ & & 0.11536e-01_rb,0.18115e-01_rb,0.26160e-01_rb,0.35756e-01_rb,0.46501e-01_rb /) kbo(:,13, 9) = (/ & & 0.79231e+00_rb,0.80247e+00_rb,0.81169e+00_rb,0.81859e+00_rb,0.82469e+00_rb /) kbo(:,14, 9) = (/ & & 0.76567e+00_rb,0.77861e+00_rb,0.78976e+00_rb,0.79966e+00_rb,0.80754e+00_rb /) kbo(:,15, 9) = (/ & & 0.73926e+00_rb,0.75515e+00_rb,0.76982e+00_rb,0.78244e+00_rb,0.79228e+00_rb /) kbo(:,16, 9) = (/ & & 0.71308e+00_rb,0.73273e+00_rb,0.74955e+00_rb,0.76355e+00_rb,0.77553e+00_rb /) kbo(:,17, 9) = (/ & & 0.68845e+00_rb,0.70973e+00_rb,0.72813e+00_rb,0.74466e+00_rb,0.75909e+00_rb /) kbo(:,18, 9) = (/ & & 0.66397e+00_rb,0.68720e+00_rb,0.70872e+00_rb,0.72756e+00_rb,0.74467e+00_rb /) kbo(:,19, 9) = (/ & & 0.64097e+00_rb,0.66723e+00_rb,0.69155e+00_rb,0.71362e+00_rb,0.73339e+00_rb /) kbo(:,20, 9) = (/ & & 0.62162e+00_rb,0.65070e+00_rb,0.67764e+00_rb,0.70183e+00_rb,0.72348e+00_rb /) kbo(:,21, 9) = (/ & & 0.60571e+00_rb,0.63800e+00_rb,0.66649e+00_rb,0.69291e+00_rb,0.71712e+00_rb /) kbo(:,22, 9) = (/ & & 0.59651e+00_rb,0.62972e+00_rb,0.66058e+00_rb,0.68832e+00_rb,0.71517e+00_rb /) kbo(:,23, 9) = (/ & & 0.58974e+00_rb,0.62545e+00_rb,0.65753e+00_rb,0.68785e+00_rb,0.71519e+00_rb /) kbo(:,24, 9) = (/ & & 0.58721e+00_rb,0.62395e+00_rb,0.65801e+00_rb,0.68952e+00_rb,0.71705e+00_rb /) kbo(:,25, 9) = (/ & & 0.58931e+00_rb,0.62554e+00_rb,0.66080e+00_rb,0.69275e+00_rb,0.72212e+00_rb /) kbo(:,26, 9) = (/ & & 0.59392e+00_rb,0.63108e+00_rb,0.66576e+00_rb,0.69831e+00_rb,0.72831e+00_rb /) kbo(:,27, 9) = (/ & & 0.60088e+00_rb,0.63911e+00_rb,0.67310e+00_rb,0.70594e+00_rb,0.73492e+00_rb /) kbo(:,28, 9) = (/ & & 0.61058e+00_rb,0.64827e+00_rb,0.68351e+00_rb,0.71436e+00_rb,0.74248e+00_rb /) kbo(:,29, 9) = (/ & & 0.62259e+00_rb,0.66086e+00_rb,0.69462e+00_rb,0.72450e+00_rb,0.75205e+00_rb /) kbo(:,30, 9) = (/ & & 0.63547e+00_rb,0.67373e+00_rb,0.70715e+00_rb,0.73642e+00_rb,0.76277e+00_rb /) kbo(:,31, 9) = (/ & & 0.65060e+00_rb,0.68811e+00_rb,0.72216e+00_rb,0.75104e+00_rb,0.77730e+00_rb /) kbo(:,32, 9) = (/ & & 0.66635e+00_rb,0.70367e+00_rb,0.73703e+00_rb,0.76712e+00_rb,0.79450e+00_rb /) kbo(:,33, 9) = (/ & & 0.68330e+00_rb,0.72114e+00_rb,0.75529e+00_rb,0.78560e+00_rb,0.81251e+00_rb /) kbo(:,34, 9) = (/ & & 0.69895e+00_rb,0.73787e+00_rb,0.77209e+00_rb,0.80355e+00_rb,0.82948e+00_rb /) kbo(:,35, 9) = (/ & & 0.71249e+00_rb,0.75244e+00_rb,0.78786e+00_rb,0.82021e+00_rb,0.84807e+00_rb /) kbo(:,36, 9) = (/ & & 0.72352e+00_rb,0.76491e+00_rb,0.80192e+00_rb,0.83419e+00_rb,0.86330e+00_rb /) kbo(:,37, 9) = (/ & & 0.72315e+00_rb,0.76487e+00_rb,0.80310e+00_rb,0.83637e+00_rb,0.86732e+00_rb /) kbo(:,38, 9) = (/ & & 0.72144e+00_rb,0.76571e+00_rb,0.80444e+00_rb,0.83852e+00_rb,0.86991e+00_rb /) kbo(:,39, 9) = (/ & & 0.72061e+00_rb,0.76655e+00_rb,0.80661e+00_rb,0.84238e+00_rb,0.87357e+00_rb /) kbo(:,40, 9) = (/ & & 0.71071e+00_rb,0.75799e+00_rb,0.79882e+00_rb,0.83566e+00_rb,0.86813e+00_rb /) kbo(:,41, 9) = (/ & & 0.69960e+00_rb,0.74652e+00_rb,0.79034e+00_rb,0.82858e+00_rb,0.86201e+00_rb /) kbo(:,42, 9) = (/ & & 0.68767e+00_rb,0.73584e+00_rb,0.78080e+00_rb,0.82018e+00_rb,0.85505e+00_rb /) kbo(:,43, 9) = (/ & & 0.67181e+00_rb,0.72136e+00_rb,0.76709e+00_rb,0.80803e+00_rb,0.84449e+00_rb /) kbo(:,44, 9) = (/ & & 0.65485e+00_rb,0.70505e+00_rb,0.75190e+00_rb,0.79482e+00_rb,0.83260e+00_rb /) kbo(:,45, 9) = (/ & & 0.63639e+00_rb,0.68756e+00_rb,0.73541e+00_rb,0.78029e+00_rb,0.82060e+00_rb /) kbo(:,46, 9) = (/ & & 0.61610e+00_rb,0.67008e+00_rb,0.71893e+00_rb,0.76424e+00_rb,0.80647e+00_rb /) kbo(:,47, 9) = (/ & & 0.59373e+00_rb,0.64972e+00_rb,0.69969e+00_rb,0.74707e+00_rb,0.79068e+00_rb /) kbo(:,48, 9) = (/ & & 0.56865e+00_rb,0.62791e+00_rb,0.68069e+00_rb,0.72878e+00_rb,0.77390e+00_rb /) kbo(:,49, 9) = (/ & & 0.54350e+00_rb,0.60516e+00_rb,0.66027e+00_rb,0.71007e+00_rb,0.75592e+00_rb /) kbo(:,50, 9) = (/ & & 0.51991e+00_rb,0.58375e+00_rb,0.64136e+00_rb,0.69342e+00_rb,0.74093e+00_rb /) kbo(:,51, 9) = (/ & & 0.49673e+00_rb,0.56229e+00_rb,0.62200e+00_rb,0.67685e+00_rb,0.72556e+00_rb /) kbo(:,52, 9) = (/ & & 0.47256e+00_rb,0.53950e+00_rb,0.60133e+00_rb,0.65838e+00_rb,0.70926e+00_rb /) kbo(:,53, 9) = (/ & & 0.44771e+00_rb,0.51552e+00_rb,0.57980e+00_rb,0.63854e+00_rb,0.69202e+00_rb /) kbo(:,54, 9) = (/ & & 0.42506e+00_rb,0.49358e+00_rb,0.56009e+00_rb,0.62090e+00_rb,0.67547e+00_rb /) kbo(:,55, 9) = (/ & & 0.40218e+00_rb,0.47240e+00_rb,0.53999e+00_rb,0.60216e+00_rb,0.65925e+00_rb /) kbo(:,56, 9) = (/ & & 0.37888e+00_rb,0.45101e+00_rb,0.51913e+00_rb,0.58357e+00_rb,0.64216e+00_rb /) kbo(:,57, 9) = (/ & & 0.35513e+00_rb,0.42824e+00_rb,0.49765e+00_rb,0.56376e+00_rb,0.62409e+00_rb /) kbo(:,58, 9) = (/ & & 0.33174e+00_rb,0.40632e+00_rb,0.47713e+00_rb,0.54453e+00_rb,0.60605e+00_rb /) kbo(:,59, 9) = (/ & & 0.32315e+00_rb,0.39758e+00_rb,0.46935e+00_rb,0.53732e+00_rb,0.59942e+00_rb /) kbo(:,13,10) = (/ & & 0.20814e+01_rb,0.20759e+01_rb,0.20660e+01_rb,0.20703e+01_rb,0.20598e+01_rb /) kbo(:,14,10) = (/ & & 0.20861e+01_rb,0.20862e+01_rb,0.20902e+01_rb,0.20921e+01_rb,0.20850e+01_rb /) kbo(:,15,10) = (/ & & 0.20793e+01_rb,0.20969e+01_rb,0.21057e+01_rb,0.21014e+01_rb,0.21089e+01_rb /) kbo(:,16,10) = (/ & & 0.20801e+01_rb,0.20948e+01_rb,0.21151e+01_rb,0.21351e+01_rb,0.21560e+01_rb /) kbo(:,17,10) = (/ & & 0.20802e+01_rb,0.21249e+01_rb,0.21608e+01_rb,0.21842e+01_rb,0.21924e+01_rb /) kbo(:,18,10) = (/ & & 0.20972e+01_rb,0.21483e+01_rb,0.21814e+01_rb,0.21999e+01_rb,0.22088e+01_rb /) kbo(:,19,10) = (/ & & 0.21086e+01_rb,0.21513e+01_rb,0.21845e+01_rb,0.22099e+01_rb,0.22261e+01_rb /) kbo(:,20,10) = (/ & & 0.21001e+01_rb,0.21488e+01_rb,0.21917e+01_rb,0.22212e+01_rb,0.22394e+01_rb /) kbo(:,21,10) = (/ & & 0.20945e+01_rb,0.21494e+01_rb,0.22004e+01_rb,0.22330e+01_rb,0.22537e+01_rb /) kbo(:,22,10) = (/ & & 0.20951e+01_rb,0.21635e+01_rb,0.22151e+01_rb,0.22483e+01_rb,0.22658e+01_rb /) kbo(:,23,10) = (/ & & 0.21106e+01_rb,0.21802e+01_rb,0.22288e+01_rb,0.22593e+01_rb,0.22769e+01_rb /) kbo(:,24,10) = (/ & & 0.21251e+01_rb,0.21978e+01_rb,0.22479e+01_rb,0.22750e+01_rb,0.23069e+01_rb /) kbo(:,25,10) = (/ & & 0.21350e+01_rb,0.22127e+01_rb,0.22620e+01_rb,0.22919e+01_rb,0.23205e+01_rb /) kbo(:,26,10) = (/ & & 0.21397e+01_rb,0.22248e+01_rb,0.22778e+01_rb,0.23148e+01_rb,0.23338e+01_rb /) kbo(:,27,10) = (/ & & 0.21476e+01_rb,0.22244e+01_rb,0.22911e+01_rb,0.23271e+01_rb,0.23529e+01_rb /) kbo(:,28,10) = (/ & & 0.21502e+01_rb,0.22263e+01_rb,0.22854e+01_rb,0.23382e+01_rb,0.23803e+01_rb /) kbo(:,29,10) = (/ & & 0.21444e+01_rb,0.22159e+01_rb,0.22839e+01_rb,0.23447e+01_rb,0.24026e+01_rb /) kbo(:,30,10) = (/ & & 0.21459e+01_rb,0.22135e+01_rb,0.22803e+01_rb,0.23564e+01_rb,0.24114e+01_rb /) kbo(:,31,10) = (/ & & 0.21548e+01_rb,0.22131e+01_rb,0.22785e+01_rb,0.23559e+01_rb,0.23993e+01_rb /) kbo(:,32,10) = (/ & & 0.21820e+01_rb,0.22366e+01_rb,0.23010e+01_rb,0.23445e+01_rb,0.23808e+01_rb /) kbo(:,33,10) = (/ & & 0.22356e+01_rb,0.22739e+01_rb,0.22923e+01_rb,0.23386e+01_rb,0.23842e+01_rb /) kbo(:,34,10) = (/ & & 0.22861e+01_rb,0.23162e+01_rb,0.23352e+01_rb,0.23408e+01_rb,0.23839e+01_rb /) kbo(:,35,10) = (/ & & 0.23385e+01_rb,0.23680e+01_rb,0.23728e+01_rb,0.23741e+01_rb,0.23938e+01_rb /) kbo(:,36,10) = (/ & & 0.23851e+01_rb,0.24072e+01_rb,0.24258e+01_rb,0.24337e+01_rb,0.24446e+01_rb /) kbo(:,37,10) = (/ & & 0.23954e+01_rb,0.24271e+01_rb,0.24525e+01_rb,0.24638e+01_rb,0.24744e+01_rb /) kbo(:,38,10) = (/ & & 0.24138e+01_rb,0.24360e+01_rb,0.24658e+01_rb,0.24931e+01_rb,0.25112e+01_rb /) kbo(:,39,10) = (/ & & 0.24207e+01_rb,0.24415e+01_rb,0.24747e+01_rb,0.25054e+01_rb,0.25446e+01_rb /) kbo(:,40,10) = (/ & & 0.24183e+01_rb,0.24401e+01_rb,0.24836e+01_rb,0.25135e+01_rb,0.25532e+01_rb /) kbo(:,41,10) = (/ & & 0.24046e+01_rb,0.24486e+01_rb,0.24788e+01_rb,0.25037e+01_rb,0.25503e+01_rb /) kbo(:,42,10) = (/ & & 0.23965e+01_rb,0.24448e+01_rb,0.24659e+01_rb,0.25035e+01_rb,0.25440e+01_rb /) kbo(:,43,10) = (/ & & 0.23757e+01_rb,0.24456e+01_rb,0.24672e+01_rb,0.25043e+01_rb,0.25340e+01_rb /) kbo(:,44,10) = (/ & & 0.23417e+01_rb,0.24271e+01_rb,0.24708e+01_rb,0.24891e+01_rb,0.25157e+01_rb /) kbo(:,45,10) = (/ & & 0.23140e+01_rb,0.24224e+01_rb,0.24648e+01_rb,0.24895e+01_rb,0.25109e+01_rb /) kbo(:,46,10) = (/ & & 0.22839e+01_rb,0.23815e+01_rb,0.24548e+01_rb,0.24874e+01_rb,0.24983e+01_rb /) kbo(:,47,10) = (/ & & 0.22509e+01_rb,0.23585e+01_rb,0.24548e+01_rb,0.24976e+01_rb,0.25158e+01_rb /) kbo(:,48,10) = (/ & & 0.22243e+01_rb,0.23182e+01_rb,0.24167e+01_rb,0.24851e+01_rb,0.25144e+01_rb /) kbo(:,49,10) = (/ & & 0.21934e+01_rb,0.22838e+01_rb,0.23882e+01_rb,0.24694e+01_rb,0.25145e+01_rb /) kbo(:,50,10) = (/ & & 0.21637e+01_rb,0.22591e+01_rb,0.23593e+01_rb,0.24450e+01_rb,0.25097e+01_rb /) kbo(:,51,10) = (/ & & 0.21256e+01_rb,0.22383e+01_rb,0.23340e+01_rb,0.24239e+01_rb,0.25025e+01_rb /) kbo(:,52,10) = (/ & & 0.20804e+01_rb,0.22090e+01_rb,0.23144e+01_rb,0.24005e+01_rb,0.24803e+01_rb /) kbo(:,53,10) = (/ & & 0.20229e+01_rb,0.21712e+01_rb,0.22790e+01_rb,0.23709e+01_rb,0.24497e+01_rb /) kbo(:,54,10) = (/ & & 0.19647e+01_rb,0.21430e+01_rb,0.22514e+01_rb,0.23430e+01_rb,0.24343e+01_rb /) kbo(:,55,10) = (/ & & 0.19094e+01_rb,0.20990e+01_rb,0.22287e+01_rb,0.23283e+01_rb,0.24126e+01_rb /) kbo(:,56,10) = (/ & & 0.18499e+01_rb,0.20432e+01_rb,0.21961e+01_rb,0.22965e+01_rb,0.23921e+01_rb /) kbo(:,57,10) = (/ & & 0.17845e+01_rb,0.19868e+01_rb,0.21557e+01_rb,0.22661e+01_rb,0.23666e+01_rb /) kbo(:,58,10) = (/ & & 0.17304e+01_rb,0.19324e+01_rb,0.21130e+01_rb,0.22379e+01_rb,0.23344e+01_rb /) kbo(:,59,10) = (/ & & 0.17036e+01_rb,0.19129e+01_rb,0.20925e+01_rb,0.22299e+01_rb,0.23291e+01_rb /) kbo(:,13,11) = (/ & & 0.28487e+01_rb,0.28532e+01_rb,0.28392e+01_rb,0.28113e+01_rb,0.28077e+01_rb /) kbo(:,14,11) = (/ & & 0.29217e+01_rb,0.29135e+01_rb,0.28970e+01_rb,0.28895e+01_rb,0.29104e+01_rb /) kbo(:,15,11) = (/ & & 0.29720e+01_rb,0.29567e+01_rb,0.29515e+01_rb,0.29771e+01_rb,0.29749e+01_rb /) kbo(:,16,11) = (/ & & 0.29934e+01_rb,0.30029e+01_rb,0.30226e+01_rb,0.30339e+01_rb,0.30204e+01_rb /) kbo(:,17,11) = (/ & & 0.30408e+01_rb,0.30652e+01_rb,0.30797e+01_rb,0.30959e+01_rb,0.31120e+01_rb /) kbo(:,18,11) = (/ & & 0.31059e+01_rb,0.31457e+01_rb,0.31893e+01_rb,0.32154e+01_rb,0.32284e+01_rb /) kbo(:,19,11) = (/ & & 0.31895e+01_rb,0.32505e+01_rb,0.32863e+01_rb,0.32994e+01_rb,0.32949e+01_rb /) kbo(:,20,11) = (/ & & 0.32605e+01_rb,0.33203e+01_rb,0.33389e+01_rb,0.33469e+01_rb,0.33350e+01_rb /) kbo(:,21,11) = (/ & & 0.33097e+01_rb,0.33567e+01_rb,0.33762e+01_rb,0.33842e+01_rb,0.33798e+01_rb /) kbo(:,22,11) = (/ & & 0.33482e+01_rb,0.33901e+01_rb,0.34068e+01_rb,0.34227e+01_rb,0.34010e+01_rb /) kbo(:,23,11) = (/ & & 0.33722e+01_rb,0.34154e+01_rb,0.34438e+01_rb,0.34434e+01_rb,0.34235e+01_rb /) kbo(:,24,11) = (/ & & 0.33951e+01_rb,0.34377e+01_rb,0.34659e+01_rb,0.34658e+01_rb,0.34557e+01_rb /) kbo(:,25,11) = (/ & & 0.34209e+01_rb,0.34720e+01_rb,0.34904e+01_rb,0.34950e+01_rb,0.34725e+01_rb /) kbo(:,26,11) = (/ & & 0.34497e+01_rb,0.34967e+01_rb,0.35233e+01_rb,0.35072e+01_rb,0.34967e+01_rb /) kbo(:,27,11) = (/ & & 0.34791e+01_rb,0.35327e+01_rb,0.35370e+01_rb,0.35122e+01_rb,0.35139e+01_rb /) kbo(:,28,11) = (/ & & 0.35134e+01_rb,0.35471e+01_rb,0.35465e+01_rb,0.35405e+01_rb,0.35525e+01_rb /) kbo(:,29,11) = (/ & & 0.35424e+01_rb,0.35704e+01_rb,0.35632e+01_rb,0.35824e+01_rb,0.35567e+01_rb /) kbo(:,30,11) = (/ & & 0.35629e+01_rb,0.35947e+01_rb,0.35992e+01_rb,0.36011e+01_rb,0.36027e+01_rb /) kbo(:,31,11) = (/ & & 0.35753e+01_rb,0.36045e+01_rb,0.36365e+01_rb,0.36213e+01_rb,0.36310e+01_rb /) kbo(:,32,11) = (/ & & 0.35596e+01_rb,0.36100e+01_rb,0.36333e+01_rb,0.36490e+01_rb,0.36651e+01_rb /) kbo(:,33,11) = (/ & & 0.35241e+01_rb,0.35883e+01_rb,0.36383e+01_rb,0.36740e+01_rb,0.36685e+01_rb /) kbo(:,34,11) = (/ & & 0.35027e+01_rb,0.35491e+01_rb,0.36249e+01_rb,0.36739e+01_rb,0.36810e+01_rb /) kbo(:,35,11) = (/ & & 0.34699e+01_rb,0.35289e+01_rb,0.35926e+01_rb,0.36193e+01_rb,0.36411e+01_rb /) kbo(:,36,11) = (/ & & 0.35153e+01_rb,0.35225e+01_rb,0.35498e+01_rb,0.35989e+01_rb,0.36429e+01_rb /) kbo(:,37,11) = (/ & & 0.35644e+01_rb,0.35488e+01_rb,0.35358e+01_rb,0.35755e+01_rb,0.36247e+01_rb /) kbo(:,38,11) = (/ & & 0.35952e+01_rb,0.35902e+01_rb,0.35685e+01_rb,0.35598e+01_rb,0.35995e+01_rb /) kbo(:,39,11) = (/ & & 0.36371e+01_rb,0.36388e+01_rb,0.36159e+01_rb,0.35751e+01_rb,0.35930e+01_rb /) kbo(:,40,11) = (/ & & 0.36530e+01_rb,0.36611e+01_rb,0.36495e+01_rb,0.35923e+01_rb,0.35985e+01_rb /) kbo(:,41,11) = (/ & & 0.36431e+01_rb,0.36852e+01_rb,0.36606e+01_rb,0.36324e+01_rb,0.35949e+01_rb /) kbo(:,42,11) = (/ & & 0.36510e+01_rb,0.36940e+01_rb,0.36905e+01_rb,0.36729e+01_rb,0.36122e+01_rb /) kbo(:,43,11) = (/ & & 0.36633e+01_rb,0.36955e+01_rb,0.37103e+01_rb,0.36924e+01_rb,0.36526e+01_rb /) kbo(:,44,11) = (/ & & 0.36584e+01_rb,0.36852e+01_rb,0.37131e+01_rb,0.37219e+01_rb,0.36946e+01_rb /) kbo(:,45,11) = (/ & & 0.36636e+01_rb,0.36530e+01_rb,0.37160e+01_rb,0.37197e+01_rb,0.37150e+01_rb /) kbo(:,46,11) = (/ & & 0.36713e+01_rb,0.36779e+01_rb,0.37130e+01_rb,0.37408e+01_rb,0.37431e+01_rb /) kbo(:,47,11) = (/ & & 0.36885e+01_rb,0.36889e+01_rb,0.37012e+01_rb,0.37377e+01_rb,0.37538e+01_rb /) kbo(:,48,11) = (/ & & 0.36735e+01_rb,0.37253e+01_rb,0.37092e+01_rb,0.37311e+01_rb,0.37444e+01_rb /) kbo(:,49,11) = (/ & & 0.36543e+01_rb,0.37300e+01_rb,0.37306e+01_rb,0.37311e+01_rb,0.37688e+01_rb /) kbo(:,50,11) = (/ & & 0.36397e+01_rb,0.37435e+01_rb,0.37659e+01_rb,0.37491e+01_rb,0.37600e+01_rb /) kbo(:,51,11) = (/ & & 0.36124e+01_rb,0.37293e+01_rb,0.37963e+01_rb,0.37839e+01_rb,0.37789e+01_rb /) kbo(:,52,11) = (/ & & 0.35636e+01_rb,0.37078e+01_rb,0.37818e+01_rb,0.38114e+01_rb,0.37775e+01_rb /) kbo(:,53,11) = (/ & & 0.34978e+01_rb,0.36691e+01_rb,0.37922e+01_rb,0.38152e+01_rb,0.38092e+01_rb /) kbo(:,54,11) = (/ & & 0.34749e+01_rb,0.36230e+01_rb,0.37686e+01_rb,0.38328e+01_rb,0.38292e+01_rb /) kbo(:,55,11) = (/ & & 0.34238e+01_rb,0.35883e+01_rb,0.37261e+01_rb,0.38299e+01_rb,0.38488e+01_rb /) kbo(:,56,11) = (/ & & 0.33568e+01_rb,0.35597e+01_rb,0.37073e+01_rb,0.38247e+01_rb,0.38591e+01_rb /) kbo(:,57,11) = (/ & & 0.32794e+01_rb,0.35193e+01_rb,0.36712e+01_rb,0.37875e+01_rb,0.38581e+01_rb /) kbo(:,58,11) = (/ & & 0.31971e+01_rb,0.34544e+01_rb,0.36268e+01_rb,0.37609e+01_rb,0.38393e+01_rb /) kbo(:,59,11) = (/ & & 0.31680e+01_rb,0.34441e+01_rb,0.36338e+01_rb,0.37596e+01_rb,0.38510e+01_rb /) kbo(:,13,12) = (/ & & 0.40944e+01_rb,0.40706e+01_rb,0.40738e+01_rb,0.40615e+01_rb,0.40255e+01_rb /) kbo(:,14,12) = (/ & & 0.42568e+01_rb,0.42640e+01_rb,0.42578e+01_rb,0.42281e+01_rb,0.41677e+01_rb /) kbo(:,15,12) = (/ & & 0.44471e+01_rb,0.44460e+01_rb,0.44235e+01_rb,0.43647e+01_rb,0.43107e+01_rb /) kbo(:,16,12) = (/ & & 0.45971e+01_rb,0.45776e+01_rb,0.45277e+01_rb,0.44905e+01_rb,0.45101e+01_rb /) kbo(:,17,12) = (/ & & 0.46780e+01_rb,0.46358e+01_rb,0.46311e+01_rb,0.46380e+01_rb,0.46103e+01_rb /) kbo(:,18,12) = (/ & & 0.47294e+01_rb,0.47444e+01_rb,0.47418e+01_rb,0.47299e+01_rb,0.47059e+01_rb /) kbo(:,19,12) = (/ & & 0.48604e+01_rb,0.48842e+01_rb,0.48819e+01_rb,0.49000e+01_rb,0.48969e+01_rb /) kbo(:,20,12) = (/ & & 0.49979e+01_rb,0.50271e+01_rb,0.50614e+01_rb,0.50783e+01_rb,0.50637e+01_rb /) kbo(:,21,12) = (/ & & 0.51216e+01_rb,0.51841e+01_rb,0.52155e+01_rb,0.52098e+01_rb,0.51706e+01_rb /) kbo(:,22,12) = (/ & & 0.52796e+01_rb,0.53177e+01_rb,0.53275e+01_rb,0.53003e+01_rb,0.52540e+01_rb /) kbo(:,23,12) = (/ & & 0.54021e+01_rb,0.54214e+01_rb,0.54107e+01_rb,0.53770e+01_rb,0.53308e+01_rb /) kbo(:,24,12) = (/ & & 0.54951e+01_rb,0.54954e+01_rb,0.54655e+01_rb,0.54275e+01_rb,0.53548e+01_rb /) kbo(:,25,12) = (/ & & 0.55606e+01_rb,0.55401e+01_rb,0.55126e+01_rb,0.54611e+01_rb,0.53900e+01_rb /) kbo(:,26,12) = (/ & & 0.56084e+01_rb,0.55775e+01_rb,0.55344e+01_rb,0.54935e+01_rb,0.53765e+01_rb /) kbo(:,27,12) = (/ & & 0.56424e+01_rb,0.55975e+01_rb,0.55674e+01_rb,0.55057e+01_rb,0.54137e+01_rb /) kbo(:,28,12) = (/ & & 0.56582e+01_rb,0.56350e+01_rb,0.55811e+01_rb,0.55009e+01_rb,0.54160e+01_rb /) kbo(:,29,12) = (/ & & 0.56833e+01_rb,0.56401e+01_rb,0.55975e+01_rb,0.55109e+01_rb,0.54249e+01_rb /) kbo(:,30,12) = (/ & & 0.57003e+01_rb,0.56620e+01_rb,0.55904e+01_rb,0.55121e+01_rb,0.54542e+01_rb /) kbo(:,31,12) = (/ & & 0.57132e+01_rb,0.56848e+01_rb,0.56091e+01_rb,0.55447e+01_rb,0.55236e+01_rb /) kbo(:,32,12) = (/ & & 0.57800e+01_rb,0.57027e+01_rb,0.56220e+01_rb,0.56024e+01_rb,0.55523e+01_rb /) kbo(:,33,12) = (/ & & 0.57668e+01_rb,0.57069e+01_rb,0.56826e+01_rb,0.56406e+01_rb,0.56224e+01_rb /) kbo(:,34,12) = (/ & & 0.57877e+01_rb,0.57628e+01_rb,0.57465e+01_rb,0.57131e+01_rb,0.56752e+01_rb /) kbo(:,35,12) = (/ & & 0.58053e+01_rb,0.58032e+01_rb,0.57814e+01_rb,0.58008e+01_rb,0.57412e+01_rb /) kbo(:,36,12) = (/ & & 0.57386e+01_rb,0.58034e+01_rb,0.57934e+01_rb,0.57973e+01_rb,0.57760e+01_rb /) kbo(:,37,12) = (/ & & 0.56650e+01_rb,0.57400e+01_rb,0.57795e+01_rb,0.58096e+01_rb,0.57723e+01_rb /) kbo(:,38,12) = (/ & & 0.56068e+01_rb,0.56512e+01_rb,0.57137e+01_rb,0.58154e+01_rb,0.57795e+01_rb /) kbo(:,39,12) = (/ & & 0.55712e+01_rb,0.56156e+01_rb,0.56456e+01_rb,0.57952e+01_rb,0.57768e+01_rb /) kbo(:,40,12) = (/ & & 0.55331e+01_rb,0.55774e+01_rb,0.56049e+01_rb,0.57462e+01_rb,0.57382e+01_rb /) kbo(:,41,12) = (/ & & 0.55579e+01_rb,0.55330e+01_rb,0.55754e+01_rb,0.56805e+01_rb,0.57245e+01_rb /) kbo(:,42,12) = (/ & & 0.55684e+01_rb,0.55372e+01_rb,0.55455e+01_rb,0.56019e+01_rb,0.57291e+01_rb /) kbo(:,43,12) = (/ & & 0.56282e+01_rb,0.55547e+01_rb,0.55863e+01_rb,0.55852e+01_rb,0.56892e+01_rb /) kbo(:,44,12) = (/ & & 0.56429e+01_rb,0.55998e+01_rb,0.55663e+01_rb,0.55662e+01_rb,0.56522e+01_rb /) kbo(:,45,12) = (/ & & 0.56488e+01_rb,0.56642e+01_rb,0.55915e+01_rb,0.56136e+01_rb,0.56176e+01_rb /) kbo(:,46,12) = (/ & & 0.57246e+01_rb,0.57165e+01_rb,0.56557e+01_rb,0.56271e+01_rb,0.56227e+01_rb /) kbo(:,47,12) = (/ & & 0.57406e+01_rb,0.57550e+01_rb,0.57336e+01_rb,0.56616e+01_rb,0.56928e+01_rb /) kbo(:,48,12) = (/ & & 0.57616e+01_rb,0.57715e+01_rb,0.57765e+01_rb,0.57429e+01_rb,0.57151e+01_rb /) kbo(:,49,12) = (/ & & 0.58013e+01_rb,0.57807e+01_rb,0.58014e+01_rb,0.57796e+01_rb,0.57022e+01_rb /) kbo(:,50,12) = (/ & & 0.58611e+01_rb,0.58307e+01_rb,0.58954e+01_rb,0.58904e+01_rb,0.58254e+01_rb /) kbo(:,51,12) = (/ & & 0.59182e+01_rb,0.59013e+01_rb,0.59353e+01_rb,0.59746e+01_rb,0.59215e+01_rb /) kbo(:,52,12) = (/ & & 0.59636e+01_rb,0.59631e+01_rb,0.59638e+01_rb,0.60147e+01_rb,0.60288e+01_rb /) kbo(:,53,12) = (/ & & 0.60261e+01_rb,0.59972e+01_rb,0.59771e+01_rb,0.60154e+01_rb,0.60632e+01_rb /) kbo(:,54,12) = (/ & & 0.60204e+01_rb,0.60805e+01_rb,0.60002e+01_rb,0.60580e+01_rb,0.60854e+01_rb /) kbo(:,55,12) = (/ & & 0.60584e+01_rb,0.61138e+01_rb,0.60917e+01_rb,0.60710e+01_rb,0.61237e+01_rb /) kbo(:,56,12) = (/ & & 0.60402e+01_rb,0.61059e+01_rb,0.61154e+01_rb,0.61008e+01_rb,0.61463e+01_rb /) kbo(:,57,12) = (/ & & 0.60080e+01_rb,0.61076e+01_rb,0.61306e+01_rb,0.61548e+01_rb,0.61892e+01_rb /) kbo(:,58,12) = (/ & & 0.59781e+01_rb,0.61168e+01_rb,0.61621e+01_rb,0.61680e+01_rb,0.62246e+01_rb /) kbo(:,59,12) = (/ & & 0.59824e+01_rb,0.60878e+01_rb,0.61825e+01_rb,0.62179e+01_rb,0.62658e+01_rb /) kbo(:,13,13) = (/ & & 0.62252e+01_rb,0.61003e+01_rb,0.59711e+01_rb,0.58641e+01_rb,0.57820e+01_rb /) kbo(:,14,13) = (/ & & 0.66429e+01_rb,0.64784e+01_rb,0.63526e+01_rb,0.62330e+01_rb,0.61644e+01_rb /) kbo(:,15,13) = (/ & & 0.69743e+01_rb,0.68232e+01_rb,0.67077e+01_rb,0.66230e+01_rb,0.65438e+01_rb /) kbo(:,16,13) = (/ & & 0.72971e+01_rb,0.72050e+01_rb,0.71016e+01_rb,0.69747e+01_rb,0.67726e+01_rb /) kbo(:,17,13) = (/ & & 0.77109e+01_rb,0.75892e+01_rb,0.74253e+01_rb,0.72127e+01_rb,0.70341e+01_rb /) kbo(:,18,13) = (/ & & 0.80450e+01_rb,0.78275e+01_rb,0.75988e+01_rb,0.74227e+01_rb,0.73977e+01_rb /) kbo(:,19,13) = (/ & & 0.81727e+01_rb,0.79248e+01_rb,0.78355e+01_rb,0.77125e+01_rb,0.75391e+01_rb /) kbo(:,20,13) = (/ & & 0.82796e+01_rb,0.81265e+01_rb,0.80271e+01_rb,0.78599e+01_rb,0.77204e+01_rb /) kbo(:,21,13) = (/ & & 0.84685e+01_rb,0.83415e+01_rb,0.82106e+01_rb,0.80317e+01_rb,0.78896e+01_rb /) kbo(:,22,13) = (/ & & 0.86169e+01_rb,0.85255e+01_rb,0.83779e+01_rb,0.82528e+01_rb,0.81573e+01_rb /) kbo(:,23,13) = (/ & & 0.88276e+01_rb,0.86892e+01_rb,0.86001e+01_rb,0.84644e+01_rb,0.83125e+01_rb /) kbo(:,24,13) = (/ & & 0.89834e+01_rb,0.88963e+01_rb,0.87866e+01_rb,0.86675e+01_rb,0.84751e+01_rb /) kbo(:,25,13) = (/ & & 0.91971e+01_rb,0.90977e+01_rb,0.89941e+01_rb,0.88254e+01_rb,0.85750e+01_rb /) kbo(:,26,13) = (/ & & 0.93611e+01_rb,0.92762e+01_rb,0.91306e+01_rb,0.88795e+01_rb,0.86828e+01_rb /) kbo(:,27,13) = (/ & & 0.95231e+01_rb,0.94096e+01_rb,0.91709e+01_rb,0.89786e+01_rb,0.86968e+01_rb /) kbo(:,28,13) = (/ & & 0.96495e+01_rb,0.94564e+01_rb,0.92347e+01_rb,0.89785e+01_rb,0.86180e+01_rb /) kbo(:,29,13) = (/ & & 0.97336e+01_rb,0.94935e+01_rb,0.92561e+01_rb,0.89137e+01_rb,0.86661e+01_rb /) kbo(:,30,13) = (/ & & 0.97605e+01_rb,0.95111e+01_rb,0.92200e+01_rb,0.89355e+01_rb,0.85920e+01_rb /) kbo(:,31,13) = (/ & & 0.97562e+01_rb,0.95167e+01_rb,0.91771e+01_rb,0.88618e+01_rb,0.85414e+01_rb /) kbo(:,32,13) = (/ & & 0.97192e+01_rb,0.94434e+01_rb,0.91403e+01_rb,0.87870e+01_rb,0.85159e+01_rb /) kbo(:,33,13) = (/ & & 0.97162e+01_rb,0.94370e+01_rb,0.90971e+01_rb,0.88239e+01_rb,0.85528e+01_rb /) kbo(:,34,13) = (/ & & 0.96997e+01_rb,0.93448e+01_rb,0.90783e+01_rb,0.87958e+01_rb,0.87225e+01_rb /) kbo(:,35,13) = (/ & & 0.97261e+01_rb,0.93769e+01_rb,0.90457e+01_rb,0.89061e+01_rb,0.87695e+01_rb /) kbo(:,36,13) = (/ & & 0.97573e+01_rb,0.94639e+01_rb,0.92105e+01_rb,0.90277e+01_rb,0.88187e+01_rb /) kbo(:,37,13) = (/ & & 0.98297e+01_rb,0.95424e+01_rb,0.93169e+01_rb,0.90796e+01_rb,0.89104e+01_rb /) kbo(:,38,13) = (/ & & 0.99015e+01_rb,0.96432e+01_rb,0.94039e+01_rb,0.91616e+01_rb,0.89941e+01_rb /) kbo(:,39,13) = (/ & & 0.99137e+01_rb,0.96714e+01_rb,0.94790e+01_rb,0.92092e+01_rb,0.90352e+01_rb /) kbo(:,40,13) = (/ & & 0.99728e+01_rb,0.96872e+01_rb,0.94263e+01_rb,0.92759e+01_rb,0.90690e+01_rb /) kbo(:,41,13) = (/ & & 0.10009e+02_rb,0.96720e+01_rb,0.94529e+01_rb,0.92520e+01_rb,0.90775e+01_rb /) kbo(:,42,13) = (/ & & 0.99394e+01_rb,0.96947e+01_rb,0.94735e+01_rb,0.92670e+01_rb,0.90312e+01_rb /) kbo(:,43,13) = (/ & & 0.98412e+01_rb,0.96685e+01_rb,0.93802e+01_rb,0.91747e+01_rb,0.90019e+01_rb /) kbo(:,44,13) = (/ & & 0.98284e+01_rb,0.96419e+01_rb,0.93576e+01_rb,0.91166e+01_rb,0.88968e+01_rb /) kbo(:,45,13) = (/ & & 0.98765e+01_rb,0.96737e+01_rb,0.94176e+01_rb,0.90811e+01_rb,0.88300e+01_rb /) kbo(:,46,13) = (/ & & 0.99370e+01_rb,0.96739e+01_rb,0.94534e+01_rb,0.91692e+01_rb,0.88574e+01_rb /) kbo(:,47,13) = (/ & & 0.10145e+02_rb,0.99712e+01_rb,0.96675e+01_rb,0.93530e+01_rb,0.89895e+01_rb /) kbo(:,48,13) = (/ & & 0.10395e+02_rb,0.10167e+02_rb,0.99330e+01_rb,0.95943e+01_rb,0.92927e+01_rb /) kbo(:,49,13) = (/ & & 0.10580e+02_rb,0.10365e+02_rb,0.10114e+02_rb,0.98197e+01_rb,0.95303e+01_rb /) kbo(:,50,13) = (/ & & 0.10794e+02_rb,0.10715e+02_rb,0.10421e+02_rb,0.10154e+02_rb,0.98629e+01_rb /) kbo(:,51,13) = (/ & & 0.10946e+02_rb,0.10939e+02_rb,0.10689e+02_rb,0.10427e+02_rb,0.10145e+02_rb /) kbo(:,52,13) = (/ & & 0.11156e+02_rb,0.11126e+02_rb,0.10973e+02_rb,0.10622e+02_rb,0.10371e+02_rb /) kbo(:,53,13) = (/ & & 0.11165e+02_rb,0.11308e+02_rb,0.11212e+02_rb,0.10985e+02_rb,0.10624e+02_rb /) kbo(:,54,13) = (/ & & 0.11221e+02_rb,0.11354e+02_rb,0.11431e+02_rb,0.11243e+02_rb,0.10959e+02_rb /) kbo(:,55,13) = (/ & & 0.11238e+02_rb,0.11406e+02_rb,0.11591e+02_rb,0.11479e+02_rb,0.11275e+02_rb /) kbo(:,56,13) = (/ & & 0.11335e+02_rb,0.11405e+02_rb,0.11662e+02_rb,0.11637e+02_rb,0.11480e+02_rb /) kbo(:,57,13) = (/ & & 0.11355e+02_rb,0.11451e+02_rb,0.11592e+02_rb,0.11670e+02_rb,0.11515e+02_rb /) kbo(:,58,13) = (/ & & 0.11389e+02_rb,0.11476e+02_rb,0.11586e+02_rb,0.11657e+02_rb,0.11618e+02_rb /) kbo(:,59,13) = (/ & & 0.11480e+02_rb,0.11599e+02_rb,0.11673e+02_rb,0.11677e+02_rb,0.11653e+02_rb /) kbo(:,13,14) = (/ & & 0.97590e+01_rb,0.94275e+01_rb,0.91020e+01_rb,0.89149e+01_rb,0.87289e+01_rb /) kbo(:,14,14) = (/ & & 0.10505e+02_rb,0.10164e+02_rb,0.99232e+01_rb,0.97321e+01_rb,0.94201e+01_rb /) kbo(:,15,14) = (/ & & 0.11237e+02_rb,0.10955e+02_rb,0.10714e+02_rb,0.10370e+02_rb,0.10019e+02_rb /) kbo(:,16,14) = (/ & & 0.12124e+02_rb,0.11740e+02_rb,0.11352e+02_rb,0.10992e+02_rb,0.10632e+02_rb /) kbo(:,17,14) = (/ & & 0.12886e+02_rb,0.12429e+02_rb,0.12001e+02_rb,0.11642e+02_rb,0.11273e+02_rb /) kbo(:,18,14) = (/ & & 0.13556e+02_rb,0.13047e+02_rb,0.12733e+02_rb,0.12297e+02_rb,0.11616e+02_rb /) kbo(:,19,14) = (/ & & 0.14349e+02_rb,0.13901e+02_rb,0.13193e+02_rb,0.12562e+02_rb,0.12015e+02_rb /) kbo(:,20,14) = (/ & & 0.15084e+02_rb,0.14361e+02_rb,0.13567e+02_rb,0.12903e+02_rb,0.12393e+02_rb /) kbo(:,21,14) = (/ & & 0.15509e+02_rb,0.14641e+02_rb,0.13824e+02_rb,0.13136e+02_rb,0.12832e+02_rb /) kbo(:,22,14) = (/ & & 0.15737e+02_rb,0.14756e+02_rb,0.13944e+02_rb,0.13493e+02_rb,0.13014e+02_rb /) kbo(:,23,14) = (/ & & 0.15733e+02_rb,0.14806e+02_rb,0.14130e+02_rb,0.13708e+02_rb,0.13129e+02_rb /) kbo(:,24,14) = (/ & & 0.15735e+02_rb,0.14832e+02_rb,0.14382e+02_rb,0.13702e+02_rb,0.13090e+02_rb /) kbo(:,25,14) = (/ & & 0.15596e+02_rb,0.15046e+02_rb,0.14369e+02_rb,0.13676e+02_rb,0.13207e+02_rb /) kbo(:,26,14) = (/ & & 0.15679e+02_rb,0.15085e+02_rb,0.14382e+02_rb,0.13864e+02_rb,0.13243e+02_rb /) kbo(:,27,14) = (/ & & 0.15773e+02_rb,0.15051e+02_rb,0.14458e+02_rb,0.13792e+02_rb,0.13309e+02_rb /) kbo(:,28,14) = (/ & & 0.15791e+02_rb,0.15118e+02_rb,0.14520e+02_rb,0.13908e+02_rb,0.13506e+02_rb /) kbo(:,29,14) = (/ & & 0.15907e+02_rb,0.15282e+02_rb,0.14696e+02_rb,0.14168e+02_rb,0.13591e+02_rb /) kbo(:,30,14) = (/ & & 0.15997e+02_rb,0.15426e+02_rb,0.14908e+02_rb,0.14325e+02_rb,0.13655e+02_rb /) kbo(:,31,14) = (/ & & 0.16254e+02_rb,0.15640e+02_rb,0.15053e+02_rb,0.14410e+02_rb,0.13542e+02_rb /) kbo(:,32,14) = (/ & & 0.16522e+02_rb,0.15885e+02_rb,0.15194e+02_rb,0.14363e+02_rb,0.13365e+02_rb /) kbo(:,33,14) = (/ & & 0.16844e+02_rb,0.16068e+02_rb,0.15151e+02_rb,0.14109e+02_rb,0.13003e+02_rb /) kbo(:,34,14) = (/ & & 0.16915e+02_rb,0.16003e+02_rb,0.14953e+02_rb,0.13814e+02_rb,0.12608e+02_rb /) kbo(:,35,14) = (/ & & 0.16922e+02_rb,0.15890e+02_rb,0.14756e+02_rb,0.13405e+02_rb,0.12281e+02_rb /) kbo(:,36,14) = (/ & & 0.16966e+02_rb,0.15773e+02_rb,0.14522e+02_rb,0.13240e+02_rb,0.11917e+02_rb /) kbo(:,37,14) = (/ & & 0.17142e+02_rb,0.15897e+02_rb,0.14564e+02_rb,0.13378e+02_rb,0.11953e+02_rb /) kbo(:,38,14) = (/ & & 0.17346e+02_rb,0.16051e+02_rb,0.14752e+02_rb,0.13439e+02_rb,0.11971e+02_rb /) kbo(:,39,14) = (/ & & 0.17475e+02_rb,0.16210e+02_rb,0.14948e+02_rb,0.13510e+02_rb,0.12056e+02_rb /) kbo(:,40,14) = (/ & & 0.17754e+02_rb,0.16503e+02_rb,0.15328e+02_rb,0.13801e+02_rb,0.12328e+02_rb /) kbo(:,41,14) = (/ & & 0.18031e+02_rb,0.16909e+02_rb,0.15619e+02_rb,0.14276e+02_rb,0.12740e+02_rb /) kbo(:,42,14) = (/ & & 0.18386e+02_rb,0.17235e+02_rb,0.15966e+02_rb,0.14652e+02_rb,0.13194e+02_rb /) kbo(:,43,14) = (/ & & 0.18710e+02_rb,0.17591e+02_rb,0.16361e+02_rb,0.15070e+02_rb,0.13707e+02_rb /) kbo(:,44,14) = (/ & & 0.19098e+02_rb,0.17898e+02_rb,0.16845e+02_rb,0.15582e+02_rb,0.14265e+02_rb /) kbo(:,45,14) = (/ & & 0.19252e+02_rb,0.18167e+02_rb,0.17135e+02_rb,0.15969e+02_rb,0.14652e+02_rb /) kbo(:,46,14) = (/ & & 0.19041e+02_rb,0.18357e+02_rb,0.17265e+02_rb,0.16200e+02_rb,0.15002e+02_rb /) kbo(:,47,14) = (/ & & 0.18766e+02_rb,0.18032e+02_rb,0.17152e+02_rb,0.16208e+02_rb,0.15088e+02_rb /) kbo(:,48,14) = (/ & & 0.18411e+02_rb,0.17740e+02_rb,0.16984e+02_rb,0.16085e+02_rb,0.15089e+02_rb /) kbo(:,49,14) = (/ & & 0.18291e+02_rb,0.17667e+02_rb,0.16941e+02_rb,0.16014e+02_rb,0.14979e+02_rb /) kbo(:,50,14) = (/ & & 0.18624e+02_rb,0.17786e+02_rb,0.17174e+02_rb,0.16136e+02_rb,0.15128e+02_rb /) kbo(:,51,14) = (/ & & 0.19430e+02_rb,0.18470e+02_rb,0.17722e+02_rb,0.16775e+02_rb,0.15711e+02_rb /) kbo(:,52,14) = (/ & & 0.20123e+02_rb,0.18895e+02_rb,0.18060e+02_rb,0.17255e+02_rb,0.16173e+02_rb /) kbo(:,53,14) = (/ & & 0.20744e+02_rb,0.19415e+02_rb,0.18626e+02_rb,0.17397e+02_rb,0.16465e+02_rb /) kbo(:,54,14) = (/ & & 0.21714e+02_rb,0.20093e+02_rb,0.19173e+02_rb,0.18078e+02_rb,0.16884e+02_rb /) kbo(:,55,14) = (/ & & 0.22731e+02_rb,0.21068e+02_rb,0.19674e+02_rb,0.18569e+02_rb,0.17315e+02_rb /) kbo(:,56,14) = (/ & & 0.23924e+02_rb,0.22190e+02_rb,0.20317e+02_rb,0.18891e+02_rb,0.17603e+02_rb /) kbo(:,57,14) = (/ & & 0.24940e+02_rb,0.23270e+02_rb,0.21498e+02_rb,0.19833e+02_rb,0.18265e+02_rb /) kbo(:,58,14) = (/ & & 0.25828e+02_rb,0.24271e+02_rb,0.22518e+02_rb,0.20827e+02_rb,0.19003e+02_rb /) kbo(:,59,14) = (/ & & 0.26483e+02_rb,0.24983e+02_rb,0.23453e+02_rb,0.21676e+02_rb,0.19755e+02_rb /) kbo(:,13,15) = (/ & & 0.15960e+02_rb,0.15303e+02_rb,0.14694e+02_rb,0.13842e+02_rb,0.13008e+02_rb /) kbo(:,14,15) = (/ & & 0.17675e+02_rb,0.16896e+02_rb,0.15925e+02_rb,0.14915e+02_rb,0.14133e+02_rb /) kbo(:,15,15) = (/ & & 0.19385e+02_rb,0.18234e+02_rb,0.16959e+02_rb,0.15987e+02_rb,0.15180e+02_rb /) kbo(:,16,15) = (/ & & 0.20552e+02_rb,0.19165e+02_rb,0.17982e+02_rb,0.16927e+02_rb,0.16368e+02_rb /) kbo(:,17,15) = (/ & & 0.21349e+02_rb,0.19954e+02_rb,0.19023e+02_rb,0.18091e+02_rb,0.17398e+02_rb /) kbo(:,18,15) = (/ & & 0.22160e+02_rb,0.21597e+02_rb,0.20213e+02_rb,0.19055e+02_rb,0.18102e+02_rb /) kbo(:,19,15) = (/ & & 0.23816e+02_rb,0.22303e+02_rb,0.21008e+02_rb,0.19912e+02_rb,0.18903e+02_rb /) kbo(:,20,15) = (/ & & 0.24810e+02_rb,0.23381e+02_rb,0.21933e+02_rb,0.20846e+02_rb,0.19540e+02_rb /) kbo(:,21,15) = (/ & & 0.25893e+02_rb,0.24250e+02_rb,0.22750e+02_rb,0.21616e+02_rb,0.19627e+02_rb /) kbo(:,22,15) = (/ & & 0.26542e+02_rb,0.24773e+02_rb,0.23600e+02_rb,0.21309e+02_rb,0.19278e+02_rb /) kbo(:,23,15) = (/ & & 0.27270e+02_rb,0.25621e+02_rb,0.23587e+02_rb,0.21255e+02_rb,0.19478e+02_rb /) kbo(:,24,15) = (/ & & 0.27744e+02_rb,0.26088e+02_rb,0.23254e+02_rb,0.21242e+02_rb,0.19100e+02_rb /) kbo(:,25,15) = (/ & & 0.28557e+02_rb,0.25575e+02_rb,0.23098e+02_rb,0.20631e+02_rb,0.18206e+02_rb /) kbo(:,26,15) = (/ & & 0.28140e+02_rb,0.25135e+02_rb,0.22210e+02_rb,0.19496e+02_rb,0.17366e+02_rb /) kbo(:,27,15) = (/ & & 0.27284e+02_rb,0.24232e+02_rb,0.21249e+02_rb,0.18720e+02_rb,0.16279e+02_rb /) kbo(:,28,15) = (/ & & 0.26494e+02_rb,0.23076e+02_rb,0.20060e+02_rb,0.17566e+02_rb,0.14956e+02_rb /) kbo(:,29,15) = (/ & & 0.24773e+02_rb,0.21460e+02_rb,0.18370e+02_rb,0.15793e+02_rb,0.13302e+02_rb /) kbo(:,30,15) = (/ & & 0.23157e+02_rb,0.19587e+02_rb,0.16563e+02_rb,0.13805e+02_rb,0.11647e+02_rb /) kbo(:,31,15) = (/ & & 0.20881e+02_rb,0.17370e+02_rb,0.14460e+02_rb,0.11958e+02_rb,0.99808e+01_rb /) kbo(:,32,15) = (/ & & 0.18247e+02_rb,0.15035e+02_rb,0.12296e+02_rb,0.10101e+02_rb,0.83032e+01_rb /) kbo(:,33,15) = (/ & & 0.15492e+02_rb,0.12470e+02_rb,0.10235e+02_rb,0.81131e+01_rb,0.64390e+01_rb /) kbo(:,34,15) = (/ & & 0.13284e+02_rb,0.10782e+02_rb,0.82553e+01_rb,0.64597e+01_rb,0.42402e+01_rb /) kbo(:,35,15) = (/ & & 0.11520e+02_rb,0.89534e+01_rb,0.69691e+01_rb,0.48753e+01_rb,0.27443e+01_rb /) kbo(:,36,15) = (/ & & 0.10067e+02_rb,0.75650e+01_rb,0.54572e+01_rb,0.31866e+01_rb,0.14626e+01_rb /) kbo(:,37,15) = (/ & & 0.97744e+01_rb,0.73767e+01_rb,0.52433e+01_rb,0.27509e+01_rb,0.10380e+01_rb /) kbo(:,38,15) = (/ & & 0.94733e+01_rb,0.70859e+01_rb,0.47807e+01_rb,0.23954e+01_rb,0.74468e+00_rb /) kbo(:,39,15) = (/ & & 0.94041e+01_rb,0.67286e+01_rb,0.41966e+01_rb,0.20683e+01_rb,0.27939e+00_rb /) kbo(:,40,15) = (/ & & 0.10076e+02_rb,0.74414e+01_rb,0.47964e+01_rb,0.25258e+01_rb,0.87689e+00_rb /) kbo(:,41,15) = (/ & & 0.10878e+02_rb,0.81759e+01_rb,0.56173e+01_rb,0.30416e+01_rb,0.13231e+01_rb /) kbo(:,42,15) = (/ & & 0.11858e+02_rb,0.88284e+01_rb,0.63009e+01_rb,0.37211e+01_rb,0.17214e+01_rb /) kbo(:,43,15) = (/ & & 0.13284e+02_rb,0.99847e+01_rb,0.73905e+01_rb,0.50291e+01_rb,0.24940e+01_rb /) kbo(:,44,15) = (/ & & 0.14796e+02_rb,0.11545e+02_rb,0.85671e+01_rb,0.61687e+01_rb,0.37136e+01_rb /) kbo(:,45,15) = (/ & & 0.16662e+02_rb,0.12949e+02_rb,0.98033e+01_rb,0.73353e+01_rb,0.52329e+01_rb /) kbo(:,46,15) = (/ & & 0.19200e+02_rb,0.14684e+02_rb,0.11434e+02_rb,0.85867e+01_rb,0.64428e+01_rb /) kbo(:,47,15) = (/ & & 0.21780e+02_rb,0.16837e+02_rb,0.13158e+02_rb,0.10165e+02_rb,0.76608e+01_rb /) kbo(:,48,15) = (/ & & 0.24689e+02_rb,0.19487e+02_rb,0.15145e+02_rb,0.11845e+02_rb,0.89940e+01_rb /) kbo(:,49,15) = (/ & & 0.27130e+02_rb,0.21775e+02_rb,0.17116e+02_rb,0.13679e+02_rb,0.10905e+02_rb /) kbo(:,50,15) = (/ & & 0.27854e+02_rb,0.22306e+02_rb,0.17103e+02_rb,0.13783e+02_rb,0.10863e+02_rb /) kbo(:,51,15) = (/ & & 0.27653e+02_rb,0.21825e+02_rb,0.16692e+02_rb,0.12707e+02_rb,0.98148e+01_rb /) kbo(:,52,15) = (/ & & 0.27815e+02_rb,0.22411e+02_rb,0.17151e+02_rb,0.12787e+02_rb,0.95823e+01_rb /) kbo(:,53,15) = (/ & & 0.29119e+02_rb,0.23144e+02_rb,0.17252e+02_rb,0.13594e+02_rb,0.99767e+01_rb /) kbo(:,54,15) = (/ & & 0.29129e+02_rb,0.23469e+02_rb,0.17342e+02_rb,0.12745e+02_rb,0.95359e+01_rb /) kbo(:,55,15) = (/ & & 0.29058e+02_rb,0.23190e+02_rb,0.17458e+02_rb,0.12690e+02_rb,0.90099e+01_rb /) kbo(:,56,15) = (/ & & 0.28657e+02_rb,0.23001e+02_rb,0.17896e+02_rb,0.13433e+02_rb,0.94907e+01_rb /) kbo(:,57,15) = (/ & & 0.29240e+02_rb,0.22830e+02_rb,0.17734e+02_rb,0.13185e+02_rb,0.97411e+01_rb /) kbo(:,58,15) = (/ & & 0.29947e+02_rb,0.22946e+02_rb,0.17582e+02_rb,0.13008e+02_rb,0.96489e+01_rb /) kbo(:,59,15) = (/ & & 0.28976e+02_rb,0.21746e+02_rb,0.15522e+02_rb,0.11254e+02_rb,0.80222e+01_rb /) kbo(:,13,16) = (/ & & 0.25931e+02_rb,0.24537e+02_rb,0.23224e+02_rb,0.21983e+02_rb,0.20855e+02_rb /) kbo(:,14,16) = (/ & & 0.29220e+02_rb,0.27507e+02_rb,0.25899e+02_rb,0.24431e+02_rb,0.23088e+02_rb /) kbo(:,15,16) = (/ & & 0.32471e+02_rb,0.30409e+02_rb,0.28502e+02_rb,0.26794e+02_rb,0.25226e+02_rb /) kbo(:,16,16) = (/ & & 0.35624e+02_rb,0.33186e+02_rb,0.30989e+02_rb,0.28748e+02_rb,0.24479e+02_rb /) kbo(:,17,16) = (/ & & 0.38605e+02_rb,0.35797e+02_rb,0.30613e+02_rb,0.25949e+02_rb,0.21171e+02_rb /) kbo(:,18,16) = (/ & & 0.41350e+02_rb,0.31676e+02_rb,0.25965e+02_rb,0.21818e+02_rb,0.18145e+02_rb /) kbo(:,19,16) = (/ & & 0.34377e+02_rb,0.28144e+02_rb,0.23342e+02_rb,0.17735e+02_rb,0.13818e+02_rb /) kbo(:,20,16) = (/ & & 0.31245e+02_rb,0.24408e+02_rb,0.19618e+02_rb,0.13984e+02_rb,0.93171e+01_rb /) kbo(:,21,16) = (/ & & 0.28216e+02_rb,0.21711e+02_rb,0.16938e+02_rb,0.11225e+02_rb,0.60954e+01_rb /) kbo(:,22,16) = (/ & & 0.25410e+02_rb,0.20320e+02_rb,0.12451e+02_rb,0.80509e+01_rb,0.41742e+01_rb /) kbo(:,23,16) = (/ & & 0.22191e+02_rb,0.15284e+02_rb,0.84334e+01_rb,0.32443e+01_rb,0.10236e-04_rb /) kbo(:,24,16) = (/ & & 0.19170e+02_rb,0.98429e+01_rb,0.40822e+01_rb,0.90070e-05_rb,0.84964e-05_rb /) kbo(:,25,16) = (/ & & 0.11441e+02_rb,0.50508e+01_rb,0.77316e-05_rb,0.71796e-05_rb,0.66473e-05_rb /) kbo(:,26,16) = (/ & & 0.73617e+01_rb,0.56953e+00_rb,0.62155e-05_rb,0.57759e-05_rb,0.53447e-05_rb /) kbo(:,27,16) = (/ & & 0.37038e+01_rb,0.54098e-05_rb,0.49933e-05_rb,0.45180e-05_rb,0.42997e-05_rb /) kbo(:,28,16) = (/ & & 0.47094e-05_rb,0.43472e-05_rb,0.40149e-05_rb,0.36332e-05_rb,0.34550e-05_rb /) kbo(:,29,16) = (/ & & 0.37812e-05_rb,0.34885e-05_rb,0.32238e-05_rb,0.29187e-05_rb,0.27779e-05_rb /) kbo(:,30,16) = (/ & & 0.30339e-05_rb,0.28004e-05_rb,0.25314e-05_rb,0.23451e-05_rb,0.22313e-05_rb /) kbo(:,31,16) = (/ & & 0.24328e-05_rb,0.22460e-05_rb,0.20326e-05_rb,0.18813e-05_rb,0.17930e-05_rb /) kbo(:,32,16) = (/ & & 0.18939e-05_rb,0.18012e-05_rb,0.16316e-05_rb,0.15109e-05_rb,0.14395e-05_rb /) kbo(:,33,16) = (/ & & 0.15657e-05_rb,0.14309e-05_rb,0.13083e-05_rb,0.12124e-05_rb,0.15795e-05_rb /) kbo(:,34,16) = (/ & & 0.12582e-05_rb,0.11508e-05_rb,0.10527e-05_rb,0.97625e-06_rb,0.19757e-05_rb /) kbo(:,35,16) = (/ & & 0.10197e-05_rb,0.93275e-06_rb,0.85375e-06_rb,0.79153e-06_rb,0.21668e-05_rb /) kbo(:,36,16) = (/ & & 0.83336e-06_rb,0.76274e-06_rb,0.69805e-06_rb,0.64735e-06_rb,0.17739e-05_rb /) kbo(:,37,16) = (/ & & 0.68945e-06_rb,0.63022e-06_rb,0.57702e-06_rb,0.53486e-06_rb,0.10843e-05_rb /) kbo(:,38,16) = (/ & & 0.55406e-06_rb,0.52180e-06_rb,0.47760e-06_rb,0.44282e-06_rb,0.89395e-06_rb /) kbo(:,39,16) = (/ & & 0.45861e-06_rb,0.43223e-06_rb,0.39548e-06_rb,0.36639e-06_rb,0.47718e-06_rb /) kbo(:,40,16) = (/ & & 0.38297e-06_rb,0.36441e-06_rb,0.32989e-06_rb,0.30551e-06_rb,0.28352e-06_rb /) kbo(:,41,16) = (/ & & 0.31987e-06_rb,0.30430e-06_rb,0.27838e-06_rb,0.25513e-06_rb,0.23647e-06_rb /) kbo(:,42,16) = (/ & & 0.26734e-06_rb,0.24677e-06_rb,0.23264e-06_rb,0.21290e-06_rb,0.19743e-06_rb /) kbo(:,43,16) = (/ & & 0.22458e-06_rb,0.20712e-06_rb,0.19517e-06_rb,0.17853e-06_rb,0.16551e-06_rb /) kbo(:,44,16) = (/ & & 0.18898e-06_rb,0.17429e-06_rb,0.16587e-06_rb,0.15173e-06_rb,0.13895e-06_rb /) kbo(:,45,16) = (/ & & 0.15450e-06_rb,0.14658e-06_rb,0.13533e-06_rb,0.12759e-06_rb,0.11679e-06_rb /) kbo(:,46,16) = (/ & & 0.13028e-06_rb,0.12362e-06_rb,0.11400e-06_rb,0.10744e-06_rb,0.98279e-07_rb /) kbo(:,47,16) = (/ & & 0.11024e-06_rb,0.10159e-06_rb,0.96435e-07_rb,0.91711e-07_rb,0.83972e-07_rb /) kbo(:,48,16) = (/ & & 0.93198e-07_rb,0.85906e-07_rb,0.81590e-07_rb,0.75279e-07_rb,0.70931e-07_rb /) kbo(:,49,16) = (/ & & 0.76236e-07_rb,0.72626e-07_rb,0.68995e-07_rb,0.63641e-07_rb,0.60530e-07_rb /) kbo(:,50,16) = (/ & & 0.64328e-07_rb,0.61369e-07_rb,0.56594e-07_rb,0.53672e-07_rb,0.49555e-07_rb /) kbo(:,51,16) = (/ & & 0.54169e-07_rb,0.51722e-07_rb,0.47685e-07_rb,0.45298e-07_rb,0.41770e-07_rb /) kbo(:,52,16) = (/ & & 0.46180e-07_rb,0.42221e-07_rb,0.40251e-07_rb,0.37120e-07_rb,0.35204e-07_rb /) kbo(:,53,16) = (/ & & 0.33194e-01_rb,0.35538e-07_rb,0.33930e-07_rb,0.31297e-07_rb,0.29712e-07_rb /) kbo(:,54,16) = (/ & & 0.63212e-01_rb,0.54132e-01_rb,0.36437e-01_rb,0.71353e-02_rb,0.24978e-07_rb /) kbo(:,55,16) = (/ & & 0.62321e-01_rb,0.69163e-01_rb,0.76899e-01_rb,0.64692e-01_rb,0.42869e-01_rb /) kbo(:,56,16) = (/ & & 0.73050e-01_rb,0.83118e-01_rb,0.74962e-01_rb,0.82540e-01_rb,0.91058e-01_rb /) kbo(:,57,16) = (/ & & 0.71162e-01_rb,0.79898e-01_rb,0.89953e-01_rb,0.10014e+00_rb,0.10382e+00_rb /) kbo(:,58,16) = (/ & & 0.67770e-01_rb,0.78960e-01_rb,0.86882e-01_rb,0.97002e-01_rb,0.10740e+00_rb /) kbo(:,59,16) = (/ & & 0.66421e-01_rb,0.77608e-01_rb,0.10426e+00_rb,0.10063e+00_rb,0.10735e+00_rb /) ! ----------------------------------------------------------------- forrefo(:, 1) = (/ 0.860560e-06_rb, 0.130439e-05_rb, 0.382378e-05_rb /) forrefo(:, 2) = (/ 0.817926e-06_rb, 0.158599e-05_rb, 0.658771e-04_rb /) forrefo(:, 3) = (/ 0.129369e-05_rb, 0.824406e-05_rb, 0.952778e-04_rb /) forrefo(:, 4) = (/ 0.438918e-05_rb, 0.375356e-04_rb, 0.119111e-03_rb /) forrefo(:, 5) = (/ 0.306057e-04_rb, 0.622798e-04_rb, 0.100740e-03_rb /) forrefo(:, 6) = (/ 0.891934e-04_rb, 0.856393e-04_rb, 0.635583e-04_rb /) forrefo(:, 7) = (/ 0.171959e-03_rb, 0.173431e-03_rb, 0.611721e-04_rb /) forrefo(:, 8) = (/ 0.357795e-03_rb, 0.247261e-03_rb, 0.488864e-04_rb /) forrefo(:, 9) = (/ 0.326623e-03_rb, 0.289471e-03_rb, 0.548834e-04_rb /) forrefo(:,10) = (/ 0.345103e-03_rb, 0.320898e-03_rb, 0.633214e-04_rb /) forrefo(:,11) = (/ 0.392567e-03_rb, 0.325153e-03_rb, 0.744479e-04_rb /) forrefo(:,12) = (/ 0.349277e-03_rb, 0.345610e-03_rb, 0.916479e-04_rb /) forrefo(:,13) = (/ 0.425161e-03_rb, 0.348452e-03_rb, 0.125788e-03_rb /) forrefo(:,14) = (/ 0.407594e-03_rb, 0.435836e-03_rb, 0.287583e-03_rb /) forrefo(:,15) = (/ 0.521605e-03_rb, 0.486596e-03_rb, 0.483511e-03_rb /) forrefo(:,16) = (/ 0.773790e-03_rb, 0.737247e-03_rb, 0.665939e-03_rb /) ! ----------------------------------------------------------------- ! The array SELFREFO contains the coefficient of the water vapor ! self-continuum (including the energy term). The first index ! refers to temperature in 7.2 degree increments. For instance, ! JT = 1 refers to a temperature of 245.6, JT = 2 refers to 252.8, ! etc. The second index runs over the g-channel (1 to 16). selfrefo(:, 1) = (/ & & 0.750370e-03_rb, 0.644938e-03_rb, 0.554321e-03_rb, 0.476436e-03_rb, 0.409494e-03_rb, & & 0.351957e-03_rb, 0.302505e-03_rb, 0.260002e-03_rb, 0.223470e-03_rb, 0.192071e-03_rb /) selfrefo(:, 2) = (/ & & 0.136135e-02_rb, 0.113187e-02_rb, 0.941076e-03_rb, 0.782440e-03_rb, 0.650546e-03_rb, & & 0.540885e-03_rb, 0.449709e-03_rb, 0.373902e-03_rb, 0.310874e-03_rb, 0.258471e-03_rb /) selfrefo(:, 3) = (/ & & 0.333950e-02_rb, 0.256391e-02_rb, 0.196845e-02_rb, 0.151129e-02_rb, 0.116030e-02_rb, & & 0.890824e-03_rb, 0.683934e-03_rb, 0.525093e-03_rb, 0.403143e-03_rb, 0.309515e-03_rb /) selfrefo(:, 4) = (/ & & 0.793392e-02_rb, 0.589865e-02_rb, 0.438548e-02_rb, 0.326048e-02_rb, 0.242408e-02_rb, & & 0.180223e-02_rb, 0.133991e-02_rb, 0.996186e-03_rb, 0.740636e-03_rb, 0.550642e-03_rb /) selfrefo(:, 5) = (/ & & 0.828169e-02_rb, 0.703139e-02_rb, 0.596984e-02_rb, 0.506856e-02_rb, 0.430335e-02_rb, & & 0.365366e-02_rb, 0.310206e-02_rb, 0.263374e-02_rb, 0.223612e-02_rb, 0.189852e-02_rb /) selfrefo(:, 6) = (/ & & 0.834190e-02_rb, 0.780225e-02_rb, 0.729750e-02_rb, 0.682541e-02_rb, 0.638386e-02_rb, & & 0.597087e-02_rb, 0.558460e-02_rb, 0.522332e-02_rb, 0.488541e-02_rb, 0.456936e-02_rb /) selfrefo(:, 7) = (/ & & 0.119082e-01_rb, 0.112566e-01_rb, 0.106406e-01_rb, 0.100583e-01_rb, 0.950785e-02_rb, & & 0.898755e-02_rb, 0.849571e-02_rb, 0.803080e-02_rb, 0.759132e-02_rb, 0.717590e-02_rb /) selfrefo(:, 8) = (/ & & 0.144004e-01_rb, 0.141762e-01_rb, 0.139554e-01_rb, 0.137381e-01_rb, 0.135241e-01_rb, & & 0.133135e-01_rb, 0.131062e-01_rb, 0.129021e-01_rb, 0.127011e-01_rb, 0.125033e-01_rb /) selfrefo(:, 9) = (/ & & 0.186171e-01_rb, 0.175281e-01_rb, 0.165027e-01_rb, 0.155373e-01_rb, 0.146284e-01_rb, & & 0.137726e-01_rb, 0.129670e-01_rb, 0.122084e-01_rb, 0.114942e-01_rb, 0.108218e-01_rb /) selfrefo(:,10) = (/ & & 0.209396e-01_rb, 0.195077e-01_rb, 0.181737e-01_rb, 0.169309e-01_rb, 0.157731e-01_rb, & & 0.146945e-01_rb, 0.136897e-01_rb, 0.127535e-01_rb, 0.118814e-01_rb, 0.110689e-01_rb /) selfrefo(:,11) = (/ & & 0.203661e-01_rb, 0.193311e-01_rb, 0.183487e-01_rb, 0.174163e-01_rb, 0.165312e-01_rb, & & 0.156911e-01_rb, 0.148937e-01_rb, 0.141368e-01_rb, 0.134184e-01_rb, 0.127365e-01_rb /) selfrefo(:,12) = (/ & & 0.226784e-01_rb, 0.210210e-01_rb, 0.194848e-01_rb, 0.180608e-01_rb, 0.167409e-01_rb, & & 0.155174e-01_rb, 0.143834e-01_rb, 0.133322e-01_rb, 0.123579e-01_rb, 0.114547e-01_rb /) selfrefo(:,13) = (/ & & 0.221773e-01_rb, 0.210306e-01_rb, 0.199433e-01_rb, 0.189122e-01_rb, 0.179344e-01_rb, & & 0.170071e-01_rb, 0.161278e-01_rb, 0.152939e-01_rb, 0.145032e-01_rb, 0.137533e-01_rb /) selfrefo(:,14) = (/ & & 0.275920e-01_rb, 0.252595e-01_rb, 0.231241e-01_rb, 0.211693e-01_rb, 0.193797e-01_rb, & & 0.177415e-01_rb, 0.162417e-01_rb, 0.148687e-01_rb, 0.136117e-01_rb, 0.124610e-01_rb /) selfrefo(:,15) = (/ & & 0.288687e-01_rb, 0.269968e-01_rb, 0.252462e-01_rb, 0.236092e-01_rb, 0.220783e-01_rb, & & 0.206466e-01_rb, 0.193078e-01_rb, 0.180559e-01_rb, 0.168851e-01_rb, 0.157902e-01_rb /) selfrefo(:,16) = (/ & & 0.371842e-01_rb, 0.347595e-01_rb, 0.324929e-01_rb, 0.303741e-01_rb, 0.283934e-01_rb, & & 0.265419e-01_rb, 0.248112e-01_rb, 0.231933e-01_rb, 0.216809e-01_rb, 0.202671e-01_rb /) end subroutine sw_kgb18 ! ************************************************************************** subroutine sw_kgb19 ! ************************************************************************** use parkind, only : im => kind_im, rb => kind_rb use rrsw_kg19, only : kao, kbo, selfrefo, forrefo, sfluxrefo, rayl implicit none save ! Kurucz solar source function sfluxrefo(:,1) = (/ & & 3.25791_rb , 3.29697_rb , 3.16031_rb , 2.96115_rb , & & 2.69238_rb , 2.33819_rb , 1.92760_rb , 1.44918_rb , & & 0.979764_rb , 0.107336_rb , 8.94523e-02_rb, 6.98325e-02_rb, & & 5.12051e-02_rb, 3.23645e-02_rb, 1.23401e-02_rb, 1.71339e-03_rb /) sfluxrefo(:,2) = (/ & & 3.22769_rb , 3.28817_rb , 3.16687_rb , 2.97662_rb , & & 2.69495_rb , 2.34392_rb , 1.92900_rb , 1.45391_rb , & & 0.982522_rb , 0.107638_rb , 8.92458e-02_rb, 6.99885e-02_rb, & & 5.09679e-02_rb, 3.23789e-02_rb, 1.22673e-02_rb, 1.56040e-03_rb /) sfluxrefo(:,3) = (/ & & 3.22294_rb , 3.27780_rb , 3.17424_rb , 2.97143_rb , & & 2.69785_rb , 2.34993_rb , 1.93155_rb , 1.45196_rb , & & 0.985329_rb , 0.108027_rb , 8.93552e-02_rb, 6.99937e-02_rb, & & 5.11678e-02_rb, 3.24846e-02_rb, 1.20636e-02_rb, 1.56040e-03_rb /) sfluxrefo(:,4) = (/ & & 3.22445_rb , 3.26113_rb , 3.18438_rb , 2.96921_rb , & & 2.69579_rb , 2.35586_rb , 1.93454_rb , 1.44949_rb , & & 0.987347_rb , 0.108611_rb , 8.91643e-02_rb, 7.02236e-02_rb, & & 5.12980e-02_rb, 3.25282e-02_rb, 1.21189e-02_rb, 1.56040e-03_rb /) sfluxrefo(:,5) = (/ & & 3.22497_rb , 3.25109_rb , 3.18741_rb , 2.96970_rb , & & 2.69460_rb , 2.36020_rb , 1.93301_rb , 1.45224_rb , & & 0.988564_rb , 0.108255_rb , 8.93830e-02_rb, 7.03655e-02_rb, & & 5.13017e-02_rb, 3.29414e-02_rb, 1.21189e-02_rb, 1.56040e-03_rb /) sfluxrefo(:,6) = (/ & & 3.22632_rb , 3.24174_rb , 3.18524_rb , 2.97402_rb , & & 2.69807_rb , 2.35742_rb , 1.93377_rb , 1.45621_rb , & & 0.988132_rb , 0.108344_rb , 8.93188e-02_rb, 7.04907e-02_rb, & & 5.17938e-02_rb, 3.31465e-02_rb, 1.21155e-02_rb, 1.56040e-03_rb /) sfluxrefo(:,7) = (/ & & 3.22793_rb , 3.23589_rb , 3.17720_rb , 2.97869_rb , & & 2.70293_rb , 2.35436_rb , 1.93557_rb , 1.45868_rb , & & 0.988654_rb , 0.108198_rb , 8.93375e-02_rb, 7.09790e-02_rb, & & 5.24733e-02_rb, 3.31298e-02_rb, 1.21126e-02_rb, 1.56040e-03_rb /) sfluxrefo(:,8) = (/ & & 3.22966_rb , 3.24087_rb , 3.15676_rb , 2.98171_rb , & & 2.70894_rb , 2.34975_rb , 1.93855_rb , 1.46354_rb , & & 0.988544_rb , 0.108574_rb , 9.02522e-02_rb, 7.12908e-02_rb, & & 5.24844e-02_rb, 3.31084e-02_rb, 1.21060e-02_rb, 1.56040e-03_rb /) sfluxrefo(:,9) = (/ & & 3.27240_rb , 3.24666_rb , 3.13886_rb , 2.95238_rb , & & 2.70190_rb , 2.34460_rb , 1.93948_rb , 1.47111_rb , & & 0.990821_rb , 0.108730_rb , 9.01625e-02_rb, 7.13261e-02_rb, & & 5.24813e-02_rb, 3.31083e-02_rb, 1.21126e-02_rb, 1.56040e-03_rb /) ! Rayleigh extinction coefficient at v = 4900 cm-1. rayl = 2.29e-09_rb ! ------------------------------------------------------------------ ! The array KAO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels> ~100mb, temperatures, and binary ! species parameters (see taumol.f for definition). The first ! index in the array, JS, runs from 1 to 9, and corresponds to ! different values of the binary species parameter. For instance, ! JS=1 refers to dry air, JS = 2 corresponds to the paramter value 1/8, ! JS = 3 corresponds to the parameter value 2/8, etc. The second index ! in the array, JT, which runs from 1 to 5, corresponds to different ! temperatures. More specifically, JT = 3 means that the data are for ! the reference temperature TREF for this pressure level, JT = 2 refers ! to TREF-15, JT = 1 is for TREF-30, JT = 4 is for TREF+15, and JT = 5 ! is for TREF+30. The third index, JP, runs from 1 to 13 and refers ! to the JPth reference pressure level (see taumol.f for these levels ! in mb). The fourth index, IG, goes from 1 to 16, and indicates ! which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kao(:, 1, 1, 1) = (/ & & 0.14981e-05_rb,0.26659e-05_rb,0.31874e-05_rb,0.35509e-05_rb,0.37593e-05_rb, & & 0.38514e-05_rb,0.37369e-05_rb,0.35011e-05_rb,0.23894e-05_rb /) kao(:, 2, 1, 1) = (/ & & 0.15103e-05_rb,0.27348e-05_rb,0.32692e-05_rb,0.36558e-05_rb,0.38926e-05_rb, & & 0.39737e-05_rb,0.38798e-05_rb,0.36565e-05_rb,0.24072e-05_rb /) kao(:, 3, 1, 1) = (/ & & 0.15233e-05_rb,0.28090e-05_rb,0.33744e-05_rb,0.37729e-05_rb,0.40258e-05_rb, & & 0.41107e-05_rb,0.40389e-05_rb,0.38226e-05_rb,0.24704e-05_rb /) kao(:, 4, 1, 1) = (/ & & 0.15219e-05_rb,0.28978e-05_rb,0.35015e-05_rb,0.38984e-05_rb,0.41569e-05_rb, & & 0.42771e-05_rb,0.42110e-05_rb,0.39963e-05_rb,0.25504e-05_rb /) kao(:, 5, 1, 1) = (/ & & 0.15254e-05_rb,0.29633e-05_rb,0.36224e-05_rb,0.40435e-05_rb,0.42975e-05_rb, & & 0.44410e-05_rb,0.43849e-05_rb,0.41847e-05_rb,0.26420e-05_rb /) kao(:, 1, 2, 1) = (/ & & 0.13024e-05_rb,0.23699e-05_rb,0.28370e-05_rb,0.31443e-05_rb,0.33326e-05_rb, & & 0.33798e-05_rb,0.32797e-05_rb,0.30078e-05_rb,0.18819e-05_rb /) kao(:, 2, 2, 1) = (/ & & 0.13249e-05_rb,0.24299e-05_rb,0.29103e-05_rb,0.32336e-05_rb,0.34308e-05_rb, & & 0.35019e-05_rb,0.34046e-05_rb,0.31323e-05_rb,0.19511e-05_rb /) kao(:, 3, 2, 1) = (/ & & 0.13241e-05_rb,0.25059e-05_rb,0.30019e-05_rb,0.33317e-05_rb,0.35516e-05_rb, & & 0.36333e-05_rb,0.35372e-05_rb,0.32615e-05_rb,0.20254e-05_rb /) kao(:, 4, 2, 1) = (/ & & 0.13325e-05_rb,0.25840e-05_rb,0.31009e-05_rb,0.34399e-05_rb,0.36699e-05_rb, & & 0.37727e-05_rb,0.36811e-05_rb,0.34016e-05_rb,0.20611e-05_rb /) kao(:, 5, 2, 1) = (/ & & 0.13321e-05_rb,0.26601e-05_rb,0.32189e-05_rb,0.35640e-05_rb,0.38012e-05_rb, & & 0.39113e-05_rb,0.38271e-05_rb,0.35499e-05_rb,0.21368e-05_rb /) kao(:, 1, 3, 1) = (/ & & 0.11079e-05_rb,0.20757e-05_rb,0.24846e-05_rb,0.27511e-05_rb,0.28883e-05_rb, & & 0.29142e-05_rb,0.28203e-05_rb,0.25706e-05_rb,0.15124e-05_rb /) kao(:, 2, 3, 1) = (/ & & 0.11298e-05_rb,0.21278e-05_rb,0.25551e-05_rb,0.28306e-05_rb,0.29814e-05_rb, & & 0.30126e-05_rb,0.29328e-05_rb,0.26721e-05_rb,0.15784e-05_rb /) kao(:, 3, 3, 1) = (/ & & 0.11405e-05_rb,0.21812e-05_rb,0.26237e-05_rb,0.29130e-05_rb,0.30816e-05_rb, & & 0.31265e-05_rb,0.30480e-05_rb,0.27784e-05_rb,0.16468e-05_rb /) kao(:, 4, 3, 1) = (/ & & 0.11347e-05_rb,0.22472e-05_rb,0.27094e-05_rb,0.30057e-05_rb,0.31821e-05_rb, & & 0.32536e-05_rb,0.31714e-05_rb,0.28837e-05_rb,0.17189e-05_rb /) kao(:, 5, 3, 1) = (/ & & 0.11383e-05_rb,0.23152e-05_rb,0.28016e-05_rb,0.31126e-05_rb,0.33051e-05_rb, & & 0.33759e-05_rb,0.32961e-05_rb,0.29993e-05_rb,0.17919e-05_rb /) kao(:, 1, 4, 1) = (/ & & 0.93104e-06_rb,0.18005e-05_rb,0.21693e-05_rb,0.23819e-05_rb,0.24829e-05_rb, & & 0.24860e-05_rb,0.23860e-05_rb,0.21586e-05_rb,0.12198e-05_rb /) kao(:, 2, 4, 1) = (/ & & 0.94591e-06_rb,0.18309e-05_rb,0.22153e-05_rb,0.24487e-05_rb,0.25574e-05_rb, & & 0.25721e-05_rb,0.24802e-05_rb,0.22458e-05_rb,0.13105e-05_rb /) kao(:, 3, 4, 1) = (/ & & 0.95638e-06_rb,0.18753e-05_rb,0.22788e-05_rb,0.25149e-05_rb,0.26499e-05_rb, & & 0.26671e-05_rb,0.25797e-05_rb,0.23335e-05_rb,0.14017e-05_rb /) kao(:, 4, 4, 1) = (/ & & 0.95763e-06_rb,0.19379e-05_rb,0.23271e-05_rb,0.25858e-05_rb,0.27437e-05_rb, & & 0.27792e-05_rb,0.26790e-05_rb,0.24268e-05_rb,0.14872e-05_rb /) kao(:, 5, 4, 1) = (/ & & 0.95668e-06_rb,0.19877e-05_rb,0.23997e-05_rb,0.26721e-05_rb,0.28382e-05_rb, & & 0.28806e-05_rb,0.27857e-05_rb,0.25225e-05_rb,0.15698e-05_rb /) kao(:, 1, 5, 1) = (/ & & 0.77329e-06_rb,0.15354e-05_rb,0.18723e-05_rb,0.20411e-05_rb,0.21095e-05_rb, & & 0.21017e-05_rb,0.19998e-05_rb,0.18017e-05_rb,0.97629e-06_rb /) kao(:, 2, 5, 1) = (/ & & 0.78241e-06_rb,0.15660e-05_rb,0.19091e-05_rb,0.20970e-05_rb,0.21786e-05_rb, & & 0.21730e-05_rb,0.20794e-05_rb,0.18731e-05_rb,0.10645e-05_rb /) kao(:, 3, 5, 1) = (/ & & 0.79463e-06_rb,0.15948e-05_rb,0.19458e-05_rb,0.21529e-05_rb,0.22557e-05_rb, & & 0.22576e-05_rb,0.21631e-05_rb,0.19462e-05_rb,0.11507e-05_rb /) kao(:, 4, 5, 1) = (/ & & 0.79779e-06_rb,0.16389e-05_rb,0.19877e-05_rb,0.22087e-05_rb,0.23274e-05_rb, & & 0.23462e-05_rb,0.22501e-05_rb,0.20204e-05_rb,0.12366e-05_rb /) kao(:, 5, 5, 1) = (/ & & 0.79875e-06_rb,0.16865e-05_rb,0.20410e-05_rb,0.22789e-05_rb,0.24049e-05_rb, & & 0.24283e-05_rb,0.23388e-05_rb,0.21006e-05_rb,0.13155e-05_rb /) kao(:, 1, 6, 1) = (/ & & 0.63799e-06_rb,0.13079e-05_rb,0.15873e-05_rb,0.17187e-05_rb,0.17689e-05_rb, & & 0.17509e-05_rb,0.16625e-05_rb,0.14950e-05_rb,0.77624e-06_rb /) kao(:, 2, 6, 1) = (/ & & 0.64423e-06_rb,0.13180e-05_rb,0.16173e-05_rb,0.17648e-05_rb,0.18253e-05_rb, & & 0.18152e-05_rb,0.17299e-05_rb,0.15482e-05_rb,0.85457e-06_rb /) kao(:, 3, 6, 1) = (/ & & 0.65214e-06_rb,0.13481e-05_rb,0.16476e-05_rb,0.18158e-05_rb,0.18867e-05_rb, & & 0.18859e-05_rb,0.17999e-05_rb,0.16080e-05_rb,0.93968e-06_rb /) kao(:, 4, 6, 1) = (/ & & 0.65949e-06_rb,0.13728e-05_rb,0.16795e-05_rb,0.18618e-05_rb,0.19507e-05_rb, & & 0.19568e-05_rb,0.18693e-05_rb,0.16710e-05_rb,0.10256e-05_rb /) kao(:, 5, 6, 1) = (/ & & 0.66012e-06_rb,0.14051e-05_rb,0.17174e-05_rb,0.19154e-05_rb,0.20111e-05_rb, & & 0.20230e-05_rb,0.19421e-05_rb,0.17361e-05_rb,0.11072e-05_rb /) kao(:, 1, 7, 1) = (/ & & 0.52652e-06_rb,0.10995e-05_rb,0.13221e-05_rb,0.14282e-05_rb,0.14627e-05_rb, & & 0.14494e-05_rb,0.13754e-05_rb,0.12359e-05_rb,0.62399e-06_rb /) kao(:, 2, 7, 1) = (/ & & 0.52631e-06_rb,0.11047e-05_rb,0.13498e-05_rb,0.14646e-05_rb,0.15094e-05_rb, & & 0.14961e-05_rb,0.14272e-05_rb,0.12791e-05_rb,0.69692e-06_rb /) kao(:, 3, 7, 1) = (/ & & 0.53263e-06_rb,0.11231e-05_rb,0.13763e-05_rb,0.15059e-05_rb,0.15602e-05_rb, & & 0.15533e-05_rb,0.14827e-05_rb,0.13257e-05_rb,0.76959e-06_rb /) kao(:, 4, 7, 1) = (/ & & 0.53788e-06_rb,0.11448e-05_rb,0.14026e-05_rb,0.15478e-05_rb,0.16122e-05_rb, & & 0.16137e-05_rb,0.15398e-05_rb,0.13748e-05_rb,0.84488e-06_rb /) kao(:, 5, 7, 1) = (/ & & 0.54243e-06_rb,0.11660e-05_rb,0.14288e-05_rb,0.15891e-05_rb,0.16619e-05_rb, & & 0.16672e-05_rb,0.15978e-05_rb,0.14265e-05_rb,0.92439e-06_rb /) kao(:, 1, 8, 1) = (/ & & 0.42860e-06_rb,0.91208e-06_rb,0.10887e-05_rb,0.11732e-05_rb,0.12000e-05_rb, & & 0.11901e-05_rb,0.11300e-05_rb,0.10181e-05_rb,0.51360e-06_rb /) kao(:, 2, 8, 1) = (/ & & 0.42605e-06_rb,0.91355e-06_rb,0.11105e-05_rb,0.12004e-05_rb,0.12359e-05_rb, & & 0.12238e-05_rb,0.11674e-05_rb,0.10496e-05_rb,0.58593e-06_rb /) kao(:, 3, 8, 1) = (/ & & 0.42910e-06_rb,0.92458e-06_rb,0.11341e-05_rb,0.12355e-05_rb,0.12754e-05_rb, & & 0.12667e-05_rb,0.12100e-05_rb,0.10877e-05_rb,0.65209e-06_rb /) kao(:, 4, 8, 1) = (/ & & 0.43345e-06_rb,0.94024e-06_rb,0.11540e-05_rb,0.12669e-05_rb,0.13186e-05_rb, & & 0.13163e-05_rb,0.12567e-05_rb,0.11280e-05_rb,0.72051e-06_rb /) kao(:, 5, 8, 1) = (/ & & 0.43744e-06_rb,0.95845e-06_rb,0.11764e-05_rb,0.13022e-05_rb,0.13595e-05_rb, & & 0.13618e-05_rb,0.13034e-05_rb,0.11671e-05_rb,0.79373e-06_rb /) kao(:, 1, 9, 1) = (/ & & 0.34458e-06_rb,0.74844e-06_rb,0.89217e-06_rb,0.95875e-06_rb,0.98243e-06_rb, & & 0.97566e-06_rb,0.92936e-06_rb,0.83611e-06_rb,0.44181e-06_rb /) kao(:, 2, 9, 1) = (/ & & 0.34797e-06_rb,0.75304e-06_rb,0.90816e-06_rb,0.98264e-06_rb,0.10080e-05_rb, & & 0.99889e-06_rb,0.95318e-06_rb,0.86041e-06_rb,0.51013e-06_rb /) kao(:, 3, 9, 1) = (/ & & 0.34593e-06_rb,0.76020e-06_rb,0.92707e-06_rb,0.10062e-05_rb,0.10391e-05_rb, & & 0.10296e-05_rb,0.98530e-06_rb,0.89011e-06_rb,0.58070e-06_rb /) kao(:, 4, 9, 1) = (/ & & 0.34971e-06_rb,0.77088e-06_rb,0.94623e-06_rb,0.10342e-05_rb,0.10726e-05_rb, & & 0.10689e-05_rb,0.10210e-05_rb,0.92020e-06_rb,0.65697e-06_rb /) kao(:, 5, 9, 1) = (/ & & 0.35282e-06_rb,0.78517e-06_rb,0.96245e-06_rb,0.10609e-05_rb,0.11071e-05_rb, & & 0.11073e-05_rb,0.10583e-05_rb,0.95054e-06_rb,0.72956e-06_rb /) kao(:, 1,10, 1) = (/ & & 0.27840e-06_rb,0.61035e-06_rb,0.72930e-06_rb,0.78415e-06_rb,0.80451e-06_rb, & & 0.79924e-06_rb,0.76231e-06_rb,0.68727e-06_rb,0.40208e-06_rb /) kao(:, 2,10, 1) = (/ & & 0.28171e-06_rb,0.61798e-06_rb,0.74197e-06_rb,0.80115e-06_rb,0.82183e-06_rb, & & 0.81621e-06_rb,0.78030e-06_rb,0.70425e-06_rb,0.46700e-06_rb /) kao(:, 3,10, 1) = (/ & & 0.28023e-06_rb,0.62269e-06_rb,0.75685e-06_rb,0.82101e-06_rb,0.84538e-06_rb, & & 0.83821e-06_rb,0.80301e-06_rb,0.72663e-06_rb,0.53781e-06_rb /) kao(:, 4,10, 1) = (/ & & 0.28163e-06_rb,0.63156e-06_rb,0.77214e-06_rb,0.84244e-06_rb,0.87184e-06_rb, & & 0.86752e-06_rb,0.83024e-06_rb,0.75000e-06_rb,0.60478e-06_rb /) kao(:, 5,10, 1) = (/ & & 0.28518e-06_rb,0.64070e-06_rb,0.78628e-06_rb,0.86439e-06_rb,0.89969e-06_rb, & & 0.89910e-06_rb,0.85933e-06_rb,0.77376e-06_rb,0.67016e-06_rb /) kao(:, 1,11, 1) = (/ & & 0.22555e-06_rb,0.50042e-06_rb,0.59960e-06_rb,0.64537e-06_rb,0.66324e-06_rb, & & 0.65924e-06_rb,0.63003e-06_rb,0.56890e-06_rb,0.34466e-06_rb /) kao(:, 2,11, 1) = (/ & & 0.22858e-06_rb,0.50705e-06_rb,0.60997e-06_rb,0.65948e-06_rb,0.67688e-06_rb, & & 0.67311e-06_rb,0.64462e-06_rb,0.58333e-06_rb,0.40300e-06_rb /) kao(:, 3,11, 1) = (/ & & 0.22677e-06_rb,0.51178e-06_rb,0.62299e-06_rb,0.67572e-06_rb,0.69624e-06_rb, & & 0.69126e-06_rb,0.66285e-06_rb,0.60090e-06_rb,0.46066e-06_rb /) kao(:, 4,11, 1) = (/ & & 0.22825e-06_rb,0.51907e-06_rb,0.63500e-06_rb,0.69311e-06_rb,0.71796e-06_rb, & & 0.71484e-06_rb,0.68416e-06_rb,0.61859e-06_rb,0.51966e-06_rb /) kao(:, 5,11, 1) = (/ & & 0.23122e-06_rb,0.52598e-06_rb,0.64574e-06_rb,0.71116e-06_rb,0.74046e-06_rb, & & 0.73979e-06_rb,0.70672e-06_rb,0.63708e-06_rb,0.58196e-06_rb /) kao(:, 1,12, 1) = (/ & & 0.18149e-06_rb,0.40829e-06_rb,0.49022e-06_rb,0.52910e-06_rb,0.54408e-06_rb, & & 0.54163e-06_rb,0.51867e-06_rb,0.46933e-06_rb,0.28496e-06_rb /) kao(:, 2,12, 1) = (/ & & 0.18433e-06_rb,0.41378e-06_rb,0.49908e-06_rb,0.54027e-06_rb,0.55522e-06_rb, & & 0.55286e-06_rb,0.53038e-06_rb,0.48103e-06_rb,0.33336e-06_rb /) kao(:, 3,12, 1) = (/ & & 0.18246e-06_rb,0.41799e-06_rb,0.50965e-06_rb,0.55347e-06_rb,0.57134e-06_rb, & & 0.56787e-06_rb,0.54477e-06_rb,0.49462e-06_rb,0.38023e-06_rb /) kao(:, 4,12, 1) = (/ & & 0.18409e-06_rb,0.42347e-06_rb,0.51936e-06_rb,0.56749e-06_rb,0.58877e-06_rb, & & 0.58648e-06_rb,0.56149e-06_rb,0.50825e-06_rb,0.43081e-06_rb /) kao(:, 5,12, 1) = (/ & & 0.18582e-06_rb,0.42888e-06_rb,0.52830e-06_rb,0.58240e-06_rb,0.60647e-06_rb, & & 0.60598e-06_rb,0.57933e-06_rb,0.52277e-06_rb,0.48565e-06_rb /) kao(:, 1,13, 1) = (/ & & 0.14345e-06_rb,0.32927e-06_rb,0.39750e-06_rb,0.43000e-06_rb,0.44318e-06_rb, & & 0.44201e-06_rb,0.42469e-06_rb,0.38538e-06_rb,0.23377e-06_rb /) kao(:, 2,13, 1) = (/ & & 0.14571e-06_rb,0.33355e-06_rb,0.40430e-06_rb,0.43954e-06_rb,0.45256e-06_rb, & & 0.45159e-06_rb,0.43399e-06_rb,0.39467e-06_rb,0.27338e-06_rb /) kao(:, 3,13, 1) = (/ & & 0.14442e-06_rb,0.33719e-06_rb,0.41316e-06_rb,0.44996e-06_rb,0.46575e-06_rb, & & 0.46364e-06_rb,0.44528e-06_rb,0.40510e-06_rb,0.31154e-06_rb /) kao(:, 4,13, 1) = (/ & & 0.14600e-06_rb,0.34141e-06_rb,0.42136e-06_rb,0.46096e-06_rb,0.47937e-06_rb, & & 0.47817e-06_rb,0.45850e-06_rb,0.41598e-06_rb,0.35289e-06_rb /) kao(:, 5,13, 1) = (/ & & 0.14667e-06_rb,0.34608e-06_rb,0.42853e-06_rb,0.47296e-06_rb,0.49300e-06_rb, & & 0.49352e-06_rb,0.47280e-06_rb,0.42757e-06_rb,0.39752e-06_rb /) kao(:, 1, 1, 2) = (/ & & 0.16288e-04_rb,0.25817e-04_rb,0.29597e-04_rb,0.31319e-04_rb,0.31220e-04_rb, & & 0.29539e-04_rb,0.25627e-04_rb,0.19758e-04_rb,0.72944e-05_rb /) kao(:, 2, 1, 2) = (/ & & 0.18123e-04_rb,0.28565e-04_rb,0.32633e-04_rb,0.34427e-04_rb,0.34219e-04_rb, & & 0.32223e-04_rb,0.27987e-04_rb,0.21485e-04_rb,0.79554e-05_rb /) kao(:, 3, 1, 2) = (/ & & 0.19957e-04_rb,0.31607e-04_rb,0.36033e-04_rb,0.37887e-04_rb,0.37694e-04_rb, & & 0.35399e-04_rb,0.30718e-04_rb,0.23412e-04_rb,0.85293e-05_rb /) kao(:, 4, 1, 2) = (/ & & 0.22005e-04_rb,0.35064e-04_rb,0.39763e-04_rb,0.41694e-04_rb,0.41490e-04_rb, & & 0.38891e-04_rb,0.33715e-04_rb,0.25512e-04_rb,0.91232e-05_rb /) kao(:, 5, 1, 2) = (/ & & 0.24240e-04_rb,0.38906e-04_rb,0.43899e-04_rb,0.45870e-04_rb,0.45580e-04_rb, & & 0.42616e-04_rb,0.36912e-04_rb,0.27728e-04_rb,0.97792e-05_rb /) kao(:, 1, 2, 2) = (/ & & 0.14944e-04_rb,0.23223e-04_rb,0.25792e-04_rb,0.27019e-04_rb,0.26963e-04_rb, & & 0.25431e-04_rb,0.22069e-04_rb,0.16933e-04_rb,0.59071e-05_rb /) kao(:, 2, 2, 2) = (/ & & 0.16615e-04_rb,0.25452e-04_rb,0.28322e-04_rb,0.29800e-04_rb,0.29593e-04_rb, & & 0.27776e-04_rb,0.24123e-04_rb,0.18444e-04_rb,0.63142e-05_rb /) kao(:, 3, 2, 2) = (/ & & 0.18355e-04_rb,0.27996e-04_rb,0.31338e-04_rb,0.32892e-04_rb,0.32575e-04_rb, & & 0.30478e-04_rb,0.26504e-04_rb,0.20132e-04_rb,0.67898e-05_rb /) kao(:, 4, 2, 2) = (/ & & 0.20092e-04_rb,0.30938e-04_rb,0.34680e-04_rb,0.36255e-04_rb,0.35836e-04_rb, & & 0.33500e-04_rb,0.29106e-04_rb,0.21950e-04_rb,0.73343e-05_rb /) kao(:, 5, 2, 2) = (/ & & 0.21897e-04_rb,0.34150e-04_rb,0.38274e-04_rb,0.39931e-04_rb,0.39337e-04_rb, & & 0.36752e-04_rb,0.31831e-04_rb,0.23882e-04_rb,0.78705e-05_rb /) kao(:, 1, 3, 2) = (/ & & 0.13130e-04_rb,0.20363e-04_rb,0.22377e-04_rb,0.23003e-04_rb,0.22683e-04_rb, & & 0.21429e-04_rb,0.18621e-04_rb,0.14177e-04_rb,0.47892e-05_rb /) kao(:, 2, 3, 2) = (/ & & 0.14610e-04_rb,0.22299e-04_rb,0.24486e-04_rb,0.25140e-04_rb,0.24842e-04_rb, & & 0.23413e-04_rb,0.20361e-04_rb,0.15469e-04_rb,0.52250e-05_rb /) kao(:, 3, 3, 2) = (/ & & 0.16133e-04_rb,0.24482e-04_rb,0.26876e-04_rb,0.27653e-04_rb,0.27357e-04_rb, & & 0.25669e-04_rb,0.22341e-04_rb,0.16897e-04_rb,0.56647e-05_rb /) kao(:, 4, 3, 2) = (/ & & 0.17708e-04_rb,0.26887e-04_rb,0.29522e-04_rb,0.30577e-04_rb,0.30151e-04_rb, & & 0.28221e-04_rb,0.24545e-04_rb,0.18455e-04_rb,0.60735e-05_rb /) kao(:, 5, 3, 2) = (/ & & 0.19305e-04_rb,0.29364e-04_rb,0.32520e-04_rb,0.33741e-04_rb,0.33162e-04_rb, & & 0.30976e-04_rb,0.26800e-04_rb,0.20103e-04_rb,0.64864e-05_rb /) kao(:, 1, 4, 2) = (/ & & 0.11163e-04_rb,0.17498e-04_rb,0.19069e-04_rb,0.19561e-04_rb,0.19154e-04_rb, & & 0.17906e-04_rb,0.15522e-04_rb,0.11778e-04_rb,0.40461e-05_rb /) kao(:, 2, 4, 2) = (/ & & 0.12505e-04_rb,0.19238e-04_rb,0.20917e-04_rb,0.21365e-04_rb,0.20913e-04_rb, & & 0.19471e-04_rb,0.16986e-04_rb,0.12856e-04_rb,0.43935e-05_rb /) kao(:, 3, 4, 2) = (/ & & 0.13848e-04_rb,0.21132e-04_rb,0.22975e-04_rb,0.23433e-04_rb,0.22893e-04_rb, & & 0.21327e-04_rb,0.18662e-04_rb,0.14056e-04_rb,0.47015e-05_rb /) kao(:, 4, 4, 2) = (/ & & 0.15219e-04_rb,0.23159e-04_rb,0.25250e-04_rb,0.25753e-04_rb,0.25088e-04_rb, & & 0.23437e-04_rb,0.20455e-04_rb,0.15366e-04_rb,0.50239e-05_rb /) kao(:, 5, 4, 2) = (/ & & 0.16631e-04_rb,0.25311e-04_rb,0.27651e-04_rb,0.28243e-04_rb,0.27566e-04_rb, & & 0.25775e-04_rb,0.22344e-04_rb,0.16758e-04_rb,0.53594e-05_rb /) kao(:, 1, 5, 2) = (/ & & 0.92688e-05_rb,0.14829e-04_rb,0.16036e-04_rb,0.16388e-04_rb,0.16087e-04_rb, & & 0.15049e-04_rb,0.12939e-04_rb,0.97243e-05_rb,0.35064e-05_rb /) kao(:, 2, 5, 2) = (/ & & 0.10428e-04_rb,0.16289e-04_rb,0.17596e-04_rb,0.17928e-04_rb,0.17547e-04_rb, & & 0.16347e-04_rb,0.14108e-04_rb,0.10621e-04_rb,0.37893e-05_rb /) kao(:, 3, 5, 2) = (/ & & 0.11600e-04_rb,0.17922e-04_rb,0.19403e-04_rb,0.19701e-04_rb,0.19227e-04_rb, & & 0.17835e-04_rb,0.15439e-04_rb,0.11627e-04_rb,0.40426e-05_rb /) kao(:, 4, 5, 2) = (/ & & 0.12795e-04_rb,0.19672e-04_rb,0.21360e-04_rb,0.21677e-04_rb,0.21078e-04_rb, & & 0.19535e-04_rb,0.16919e-04_rb,0.12746e-04_rb,0.43015e-05_rb /) kao(:, 5, 5, 2) = (/ & & 0.14029e-04_rb,0.21551e-04_rb,0.23410e-04_rb,0.23746e-04_rb,0.23106e-04_rb, & & 0.21397e-04_rb,0.18500e-04_rb,0.13918e-04_rb,0.45663e-05_rb /) kao(:, 1, 6, 2) = (/ & & 0.75358e-05_rb,0.12284e-04_rb,0.13321e-04_rb,0.13580e-04_rb,0.13322e-04_rb, & & 0.12459e-04_rb,0.10757e-04_rb,0.80012e-05_rb,0.28595e-05_rb /) kao(:, 2, 6, 2) = (/ & & 0.84801e-05_rb,0.13541e-04_rb,0.14600e-04_rb,0.14857e-04_rb,0.14519e-04_rb, & & 0.13528e-04_rb,0.11747e-04_rb,0.87199e-05_rb,0.31250e-05_rb /) kao(:, 3, 6, 2) = (/ & & 0.94797e-05_rb,0.14898e-04_rb,0.16088e-04_rb,0.16329e-04_rb,0.15922e-04_rb, & & 0.14786e-04_rb,0.12839e-04_rb,0.95406e-05_rb,0.33925e-05_rb /) kao(:, 4, 6, 2) = (/ & & 0.10510e-04_rb,0.16387e-04_rb,0.17709e-04_rb,0.17968e-04_rb,0.17465e-04_rb, & & 0.16205e-04_rb,0.13999e-04_rb,0.10465e-04_rb,0.36786e-05_rb /) kao(:, 5, 6, 2) = (/ & & 0.11554e-04_rb,0.17973e-04_rb,0.19442e-04_rb,0.19736e-04_rb,0.19170e-04_rb, & & 0.17751e-04_rb,0.15288e-04_rb,0.11441e-04_rb,0.39618e-05_rb /) kao(:, 1, 7, 2) = (/ & & 0.59994e-05_rb,0.10068e-04_rb,0.10903e-04_rb,0.11100e-04_rb,0.10910e-04_rb, & & 0.10207e-04_rb,0.88301e-05_rb,0.65755e-05_rb,0.23537e-05_rb /) kao(:, 2, 7, 2) = (/ & & 0.67911e-05_rb,0.11098e-04_rb,0.11964e-04_rb,0.12161e-04_rb,0.11910e-04_rb, & & 0.11113e-04_rb,0.96475e-05_rb,0.71733e-05_rb,0.26021e-05_rb /) kao(:, 3, 7, 2) = (/ & & 0.76012e-05_rb,0.12205e-04_rb,0.13167e-04_rb,0.13368e-04_rb,0.13058e-04_rb, & & 0.12136e-04_rb,0.10571e-04_rb,0.78452e-05_rb,0.28416e-05_rb /) kao(:, 4, 7, 2) = (/ & & 0.84582e-05_rb,0.13412e-04_rb,0.14518e-04_rb,0.14721e-04_rb,0.14328e-04_rb, & & 0.13323e-04_rb,0.11527e-04_rb,0.85995e-05_rb,0.30925e-05_rb /) kao(:, 5, 7, 2) = (/ & & 0.93346e-05_rb,0.14749e-04_rb,0.15973e-04_rb,0.16180e-04_rb,0.15730e-04_rb, & & 0.14597e-04_rb,0.12601e-04_rb,0.93973e-05_rb,0.33285e-05_rb /) kao(:, 1, 8, 2) = (/ & & 0.47174e-05_rb,0.81367e-05_rb,0.88184e-05_rb,0.90007e-05_rb,0.88363e-05_rb, & & 0.83059e-05_rb,0.72101e-05_rb,0.53496e-05_rb,0.18862e-05_rb /) kao(:, 2, 8, 2) = (/ & & 0.53543e-05_rb,0.89852e-05_rb,0.96904e-05_rb,0.98666e-05_rb,0.96509e-05_rb, & & 0.90368e-05_rb,0.78700e-05_rb,0.58341e-05_rb,0.21147e-05_rb /) kao(:, 3, 8, 2) = (/ & & 0.60088e-05_rb,0.98855e-05_rb,0.10666e-04_rb,0.10849e-04_rb,0.10597e-04_rb, & & 0.98826e-05_rb,0.86243e-05_rb,0.63949e-05_rb,0.23672e-05_rb /) kao(:, 4, 8, 2) = (/ & & 0.66958e-05_rb,0.10873e-04_rb,0.11751e-04_rb,0.11945e-04_rb,0.11636e-04_rb, & & 0.10852e-04_rb,0.94101e-05_rb,0.70262e-05_rb,0.26329e-05_rb /) kao(:, 5, 8, 2) = (/ & & 0.74191e-05_rb,0.11960e-04_rb,0.12943e-04_rb,0.13152e-04_rb,0.12788e-04_rb, & & 0.11889e-04_rb,0.10297e-04_rb,0.76977e-05_rb,0.29019e-05_rb /) kao(:, 1, 9, 2) = (/ & & 0.36886e-05_rb,0.65140e-05_rb,0.70684e-05_rb,0.72377e-05_rb,0.71080e-05_rb, & & 0.67076e-05_rb,0.58353e-05_rb,0.43297e-05_rb,0.16419e-05_rb /) kao(:, 2, 9, 2) = (/ & & 0.41772e-05_rb,0.72104e-05_rb,0.77793e-05_rb,0.79335e-05_rb,0.77682e-05_rb, & & 0.72903e-05_rb,0.63640e-05_rb,0.47210e-05_rb,0.18721e-05_rb /) kao(:, 3, 9, 2) = (/ & & 0.47123e-05_rb,0.79471e-05_rb,0.85662e-05_rb,0.87396e-05_rb,0.85319e-05_rb, & & 0.79769e-05_rb,0.69694e-05_rb,0.51793e-05_rb,0.21015e-05_rb /) kao(:, 4, 9, 2) = (/ & & 0.52612e-05_rb,0.87319e-05_rb,0.94365e-05_rb,0.96191e-05_rb,0.93783e-05_rb, & & 0.87581e-05_rb,0.76277e-05_rb,0.56974e-05_rb,0.23505e-05_rb /) kao(:, 5, 9, 2) = (/ & & 0.58401e-05_rb,0.96106e-05_rb,0.10404e-04_rb,0.10594e-04_rb,0.10308e-04_rb, & & 0.96030e-05_rb,0.83402e-05_rb,0.62627e-05_rb,0.26170e-05_rb /) kao(:, 1,10, 2) = (/ & & 0.29023e-05_rb,0.52230e-05_rb,0.56669e-05_rb,0.58158e-05_rb,0.57137e-05_rb, & & 0.54241e-05_rb,0.47416e-05_rb,0.35098e-05_rb,0.14223e-05_rb /) kao(:, 2,10, 2) = (/ & & 0.32752e-05_rb,0.57903e-05_rb,0.62548e-05_rb,0.63859e-05_rb,0.62528e-05_rb, & & 0.58881e-05_rb,0.51542e-05_rb,0.38257e-05_rb,0.16559e-05_rb /) kao(:, 3,10, 2) = (/ & & 0.37047e-05_rb,0.63892e-05_rb,0.68928e-05_rb,0.70312e-05_rb,0.68734e-05_rb, & & 0.64357e-05_rb,0.56361e-05_rb,0.42003e-05_rb,0.19248e-05_rb /) kao(:, 4,10, 2) = (/ & & 0.41471e-05_rb,0.70179e-05_rb,0.75920e-05_rb,0.77496e-05_rb,0.75508e-05_rb, & & 0.70624e-05_rb,0.61778e-05_rb,0.46271e-05_rb,0.22074e-05_rb /) kao(:, 5,10, 2) = (/ & & 0.46061e-05_rb,0.77215e-05_rb,0.83699e-05_rb,0.85300e-05_rb,0.83121e-05_rb, & & 0.77493e-05_rb,0.67551e-05_rb,0.50931e-05_rb,0.25043e-05_rb /) kao(:, 1,11, 2) = (/ & & 0.24060e-05_rb,0.43752e-05_rb,0.47372e-05_rb,0.48598e-05_rb,0.47689e-05_rb, & & 0.45290e-05_rb,0.39653e-05_rb,0.29444e-05_rb,0.12255e-05_rb /) kao(:, 2,11, 2) = (/ & & 0.27123e-05_rb,0.48479e-05_rb,0.52339e-05_rb,0.53482e-05_rb,0.52342e-05_rb, & & 0.49275e-05_rb,0.43239e-05_rb,0.32196e-05_rb,0.14282e-05_rb /) kao(:, 3,11, 2) = (/ & & 0.30632e-05_rb,0.53402e-05_rb,0.57660e-05_rb,0.58936e-05_rb,0.57515e-05_rb, & & 0.53873e-05_rb,0.47344e-05_rb,0.35410e-05_rb,0.16636e-05_rb /) kao(:, 4,11, 2) = (/ & & 0.34245e-05_rb,0.58653e-05_rb,0.63554e-05_rb,0.64878e-05_rb,0.63244e-05_rb, & & 0.59147e-05_rb,0.51855e-05_rb,0.39068e-05_rb,0.18858e-05_rb /) kao(:, 5,11, 2) = (/ & & 0.37984e-05_rb,0.64557e-05_rb,0.70032e-05_rb,0.71432e-05_rb,0.69591e-05_rb, & & 0.64936e-05_rb,0.56748e-05_rb,0.42889e-05_rb,0.21529e-05_rb /) kao(:, 1,12, 2) = (/ & & 0.19822e-05_rb,0.36438e-05_rb,0.39439e-05_rb,0.40428e-05_rb,0.39656e-05_rb, & & 0.37627e-05_rb,0.33048e-05_rb,0.24620e-05_rb,0.10349e-05_rb /) kao(:, 2,12, 2) = (/ & & 0.22347e-05_rb,0.40329e-05_rb,0.43559e-05_rb,0.44535e-05_rb,0.43556e-05_rb, & & 0.41018e-05_rb,0.36156e-05_rb,0.26976e-05_rb,0.12078e-05_rb /) kao(:, 3,12, 2) = (/ & & 0.25196e-05_rb,0.44405e-05_rb,0.47965e-05_rb,0.49025e-05_rb,0.47850e-05_rb, & & 0.44854e-05_rb,0.39542e-05_rb,0.29734e-05_rb,0.13908e-05_rb /) kao(:, 4,12, 2) = (/ & & 0.28142e-05_rb,0.48792e-05_rb,0.52882e-05_rb,0.53962e-05_rb,0.52646e-05_rb, & & 0.49202e-05_rb,0.43229e-05_rb,0.32817e-05_rb,0.15895e-05_rb /) kao(:, 5,12, 2) = (/ & & 0.31182e-05_rb,0.53684e-05_rb,0.58256e-05_rb,0.59413e-05_rb,0.57855e-05_rb, & & 0.54043e-05_rb,0.47298e-05_rb,0.35925e-05_rb,0.18050e-05_rb /) kao(:, 1,13, 2) = (/ & & 0.16206e-05_rb,0.30122e-05_rb,0.32612e-05_rb,0.33451e-05_rb,0.32794e-05_rb, & & 0.31144e-05_rb,0.27430e-05_rb,0.20488e-05_rb,0.85267e-06_rb /) kao(:, 2,13, 2) = (/ & & 0.18267e-05_rb,0.33331e-05_rb,0.36002e-05_rb,0.36816e-05_rb,0.36054e-05_rb, & & 0.33950e-05_rb,0.30021e-05_rb,0.22487e-05_rb,0.99490e-06_rb /) kao(:, 3,13, 2) = (/ & & 0.20587e-05_rb,0.36681e-05_rb,0.39651e-05_rb,0.40531e-05_rb,0.39564e-05_rb, & & 0.37127e-05_rb,0.32815e-05_rb,0.24795e-05_rb,0.11422e-05_rb /) kao(:, 4,13, 2) = (/ & & 0.22973e-05_rb,0.40325e-05_rb,0.43728e-05_rb,0.44600e-05_rb,0.43540e-05_rb, & & 0.40718e-05_rb,0.35848e-05_rb,0.27366e-05_rb,0.13051e-05_rb /) kao(:, 5,13, 2) = (/ & & 0.25452e-05_rb,0.44379e-05_rb,0.48164e-05_rb,0.49100e-05_rb,0.47833e-05_rb, & & 0.44674e-05_rb,0.39194e-05_rb,0.29904e-05_rb,0.14817e-05_rb /) kao(:, 1, 1, 3) = (/ & & 0.66641e-04_rb,0.92990e-04_rb,0.96277e-04_rb,0.95182e-04_rb,0.91424e-04_rb, & & 0.85445e-04_rb,0.77014e-04_rb,0.62091e-04_rb,0.18284e-04_rb /) kao(:, 2, 1, 3) = (/ & & 0.75350e-04_rb,0.10391e-03_rb,0.10751e-03_rb,0.10606e-03_rb,0.10174e-03_rb, & & 0.94756e-04_rb,0.84487e-04_rb,0.67267e-04_rb,0.20037e-04_rb /) kao(:, 3, 1, 3) = (/ & & 0.85286e-04_rb,0.11563e-03_rb,0.11966e-03_rb,0.11777e-03_rb,0.11259e-03_rb, & & 0.10435e-03_rb,0.92076e-04_rb,0.72492e-04_rb,0.22229e-04_rb /) kao(:, 4, 1, 3) = (/ & & 0.96137e-04_rb,0.12836e-03_rb,0.13265e-03_rb,0.13031e-03_rb,0.12404e-03_rb, & & 0.11409e-03_rb,0.99756e-04_rb,0.77897e-04_rb,0.24656e-04_rb /) kao(:, 5, 1, 3) = (/ & & 0.10739e-03_rb,0.14209e-03_rb,0.14652e-03_rb,0.14363e-03_rb,0.13579e-03_rb, & & 0.12408e-03_rb,0.10749e-03_rb,0.83273e-04_rb,0.26998e-04_rb /) kao(:, 1, 2, 3) = (/ & & 0.57005e-04_rb,0.80688e-04_rb,0.84199e-04_rb,0.83067e-04_rb,0.79480e-04_rb, & & 0.74096e-04_rb,0.66328e-04_rb,0.53532e-04_rb,0.14534e-04_rb /) kao(:, 2, 2, 3) = (/ & & 0.64518e-04_rb,0.90274e-04_rb,0.94149e-04_rb,0.92496e-04_rb,0.88374e-04_rb, & & 0.82048e-04_rb,0.72698e-04_rb,0.57871e-04_rb,0.16202e-04_rb /) kao(:, 3, 2, 3) = (/ & & 0.73014e-04_rb,0.10065e-03_rb,0.10466e-03_rb,0.10271e-03_rb,0.97880e-04_rb, & & 0.90372e-04_rb,0.79361e-04_rb,0.62357e-04_rb,0.18056e-04_rb /) kao(:, 4, 2, 3) = (/ & & 0.82297e-04_rb,0.11195e-03_rb,0.11586e-03_rb,0.11365e-03_rb,0.10799e-03_rb, & & 0.98829e-04_rb,0.85923e-04_rb,0.66891e-04_rb,0.19890e-04_rb /) kao(:, 5, 2, 3) = (/ & & 0.92175e-04_rb,0.12399e-03_rb,0.12794e-03_rb,0.12531e-03_rb,0.11825e-03_rb, & & 0.10764e-03_rb,0.92744e-04_rb,0.71608e-04_rb,0.21968e-04_rb /) kao(:, 1, 3, 3) = (/ & & 0.47324e-04_rb,0.68167e-04_rb,0.71069e-04_rb,0.70293e-04_rb,0.67313e-04_rb, & & 0.62456e-04_rb,0.55646e-04_rb,0.44933e-04_rb,0.11374e-04_rb /) kao(:, 2, 3, 3) = (/ & & 0.53658e-04_rb,0.76342e-04_rb,0.79560e-04_rb,0.78547e-04_rb,0.74997e-04_rb, & & 0.69264e-04_rb,0.61119e-04_rb,0.48587e-04_rb,0.12639e-04_rb /) kao(:, 3, 3, 3) = (/ & & 0.60905e-04_rb,0.85247e-04_rb,0.88738e-04_rb,0.87387e-04_rb,0.83098e-04_rb, & & 0.76432e-04_rb,0.66733e-04_rb,0.52275e-04_rb,0.13871e-04_rb /) kao(:, 4, 3, 3) = (/ & & 0.68831e-04_rb,0.94960e-04_rb,0.98638e-04_rb,0.96778e-04_rb,0.91816e-04_rb, & & 0.83747e-04_rb,0.72403e-04_rb,0.56165e-04_rb,0.15423e-04_rb /) kao(:, 5, 3, 3) = (/ & & 0.77259e-04_rb,0.10549e-03_rb,0.10909e-03_rb,0.10672e-03_rb,0.10065e-03_rb, & & 0.91320e-04_rb,0.78406e-04_rb,0.60157e-04_rb,0.17141e-04_rb /) kao(:, 1, 4, 3) = (/ & & 0.40102e-04_rb,0.56990e-04_rb,0.59444e-04_rb,0.58732e-04_rb,0.56091e-04_rb, & & 0.51902e-04_rb,0.46247e-04_rb,0.37442e-04_rb,0.94022e-05_rb /) kao(:, 2, 4, 3) = (/ & & 0.44930e-04_rb,0.63893e-04_rb,0.66629e-04_rb,0.65694e-04_rb,0.62627e-04_rb, & & 0.57822e-04_rb,0.50819e-04_rb,0.40421e-04_rb,0.10475e-04_rb /) kao(:, 3, 4, 3) = (/ & & 0.50532e-04_rb,0.71424e-04_rb,0.74352e-04_rb,0.73221e-04_rb,0.69651e-04_rb, & & 0.64034e-04_rb,0.55430e-04_rb,0.43529e-04_rb,0.11728e-04_rb /) kao(:, 4, 4, 3) = (/ & & 0.56953e-04_rb,0.79740e-04_rb,0.82769e-04_rb,0.81314e-04_rb,0.77278e-04_rb, & & 0.70324e-04_rb,0.60396e-04_rb,0.46747e-04_rb,0.13063e-04_rb /) kao(:, 5, 4, 3) = (/ & & 0.64019e-04_rb,0.88647e-04_rb,0.91768e-04_rb,0.89926e-04_rb,0.84958e-04_rb, & & 0.76740e-04_rb,0.65561e-04_rb,0.50066e-04_rb,0.14435e-04_rb /) kao(:, 1, 5, 3) = (/ & & 0.33806e-04_rb,0.47826e-04_rb,0.49443e-04_rb,0.48775e-04_rb,0.46477e-04_rb, & & 0.42791e-04_rb,0.38155e-04_rb,0.31175e-04_rb,0.77886e-05_rb /) kao(:, 2, 5, 3) = (/ & & 0.37973e-04_rb,0.53392e-04_rb,0.55526e-04_rb,0.54719e-04_rb,0.52062e-04_rb, & & 0.47763e-04_rb,0.42021e-04_rb,0.33510e-04_rb,0.87404e-05_rb /) kao(:, 3, 5, 3) = (/ & & 0.42758e-04_rb,0.59666e-04_rb,0.62058e-04_rb,0.61127e-04_rb,0.58012e-04_rb, & & 0.53071e-04_rb,0.45971e-04_rb,0.36114e-04_rb,0.98499e-05_rb /) kao(:, 4, 5, 3) = (/ & & 0.48006e-04_rb,0.66679e-04_rb,0.69230e-04_rb,0.67989e-04_rb,0.64400e-04_rb, & & 0.58521e-04_rb,0.50196e-04_rb,0.38710e-04_rb,0.11022e-04_rb /) kao(:, 5, 5, 3) = (/ & & 0.53657e-04_rb,0.74244e-04_rb,0.76813e-04_rb,0.75303e-04_rb,0.71011e-04_rb, & & 0.64092e-04_rb,0.54599e-04_rb,0.41481e-04_rb,0.12225e-04_rb /) kao(:, 1, 6, 3) = (/ & & 0.27953e-04_rb,0.40223e-04_rb,0.41331e-04_rb,0.40332e-04_rb,0.38114e-04_rb, & & 0.34967e-04_rb,0.31158e-04_rb,0.25701e-04_rb,0.67604e-05_rb /) kao(:, 2, 6, 3) = (/ & & 0.31595e-04_rb,0.44975e-04_rb,0.46374e-04_rb,0.45229e-04_rb,0.42775e-04_rb, & & 0.39162e-04_rb,0.34373e-04_rb,0.27616e-04_rb,0.75558e-05_rb /) kao(:, 3, 6, 3) = (/ & & 0.35649e-04_rb,0.50263e-04_rb,0.51713e-04_rb,0.50516e-04_rb,0.47855e-04_rb, & & 0.43605e-04_rb,0.37705e-04_rb,0.29800e-04_rb,0.84063e-05_rb /) kao(:, 4, 6, 3) = (/ & & 0.40086e-04_rb,0.55905e-04_rb,0.57584e-04_rb,0.56348e-04_rb,0.53200e-04_rb, & & 0.48283e-04_rb,0.41331e-04_rb,0.31936e-04_rb,0.92686e-05_rb /) kao(:, 5, 6, 3) = (/ & & 0.44931e-04_rb,0.62025e-04_rb,0.63942e-04_rb,0.62498e-04_rb,0.58788e-04_rb, & & 0.53032e-04_rb,0.45085e-04_rb,0.34229e-04_rb,0.10175e-04_rb /) kao(:, 1, 7, 3) = (/ & & 0.22829e-04_rb,0.33278e-04_rb,0.34196e-04_rb,0.33381e-04_rb,0.31444e-04_rb, & & 0.28615e-04_rb,0.25331e-04_rb,0.21096e-04_rb,0.60732e-05_rb /) kao(:, 2, 7, 3) = (/ & & 0.25917e-04_rb,0.37424e-04_rb,0.38527e-04_rb,0.37580e-04_rb,0.35302e-04_rb, & & 0.32020e-04_rb,0.27957e-04_rb,0.22660e-04_rb,0.68180e-05_rb /) kao(:, 3, 7, 3) = (/ & & 0.29386e-04_rb,0.41933e-04_rb,0.43213e-04_rb,0.42039e-04_rb,0.39445e-04_rb, & & 0.35659e-04_rb,0.30780e-04_rb,0.24432e-04_rb,0.76296e-05_rb /) kao(:, 4, 7, 3) = (/ & & 0.33186e-04_rb,0.46811e-04_rb,0.48218e-04_rb,0.46849e-04_rb,0.43848e-04_rb, & & 0.39567e-04_rb,0.33858e-04_rb,0.26257e-04_rb,0.82634e-05_rb /) kao(:, 5, 7, 3) = (/ & & 0.37227e-04_rb,0.52060e-04_rb,0.53592e-04_rb,0.51948e-04_rb,0.48471e-04_rb, & & 0.43595e-04_rb,0.37022e-04_rb,0.28130e-04_rb,0.90053e-05_rb /) kao(:, 1, 8, 3) = (/ & & 0.18333e-04_rb,0.27259e-04_rb,0.27929e-04_rb,0.27230e-04_rb,0.25672e-04_rb, & & 0.23374e-04_rb,0.20571e-04_rb,0.17333e-04_rb,0.54157e-05_rb /) kao(:, 2, 8, 3) = (/ & & 0.20948e-04_rb,0.30774e-04_rb,0.31604e-04_rb,0.30823e-04_rb,0.29002e-04_rb, & & 0.26292e-04_rb,0.22734e-04_rb,0.18593e-04_rb,0.61669e-05_rb /) kao(:, 3, 8, 3) = (/ & & 0.23883e-04_rb,0.34642e-04_rb,0.35656e-04_rb,0.34670e-04_rb,0.32507e-04_rb, & & 0.29303e-04_rb,0.25111e-04_rb,0.19985e-04_rb,0.69048e-05_rb /) kao(:, 4, 8, 3) = (/ & & 0.27098e-04_rb,0.38802e-04_rb,0.40013e-04_rb,0.38777e-04_rb,0.36214e-04_rb, & & 0.32542e-04_rb,0.27674e-04_rb,0.21526e-04_rb,0.76591e-05_rb /) kao(:, 5, 8, 3) = (/ & & 0.30462e-04_rb,0.43307e-04_rb,0.44596e-04_rb,0.43127e-04_rb,0.40142e-04_rb, & & 0.35890e-04_rb,0.30276e-04_rb,0.23065e-04_rb,0.84480e-05_rb /) kao(:, 1, 9, 3) = (/ & & 0.14510e-04_rb,0.22049e-04_rb,0.22596e-04_rb,0.22021e-04_rb,0.20750e-04_rb, & & 0.18895e-04_rb,0.16685e-04_rb,0.14158e-04_rb,0.50284e-05_rb /) kao(:, 2, 9, 3) = (/ & & 0.16710e-04_rb,0.25012e-04_rb,0.25686e-04_rb,0.25017e-04_rb,0.23537e-04_rb, & & 0.21350e-04_rb,0.18517e-04_rb,0.15170e-04_rb,0.59016e-05_rb /) kao(:, 3, 9, 3) = (/ & & 0.19138e-04_rb,0.28271e-04_rb,0.29104e-04_rb,0.28272e-04_rb,0.26493e-04_rb, & & 0.23916e-04_rb,0.20530e-04_rb,0.16297e-04_rb,0.68413e-05_rb /) kao(:, 4, 9, 3) = (/ & & 0.21798e-04_rb,0.31859e-04_rb,0.32802e-04_rb,0.31762e-04_rb,0.29603e-04_rb, & & 0.26643e-04_rb,0.22650e-04_rb,0.17559e-04_rb,0.78093e-05_rb /) kao(:, 5, 9, 3) = (/ & & 0.24599e-04_rb,0.35618e-04_rb,0.36736e-04_rb,0.35456e-04_rb,0.32981e-04_rb, & & 0.29459e-04_rb,0.24877e-04_rb,0.18821e-04_rb,0.88149e-05_rb /) kao(:, 1,10, 3) = (/ & & 0.11455e-04_rb,0.17796e-04_rb,0.18282e-04_rb,0.17833e-04_rb,0.16814e-04_rb, & & 0.15305e-04_rb,0.13526e-04_rb,0.11628e-04_rb,0.47637e-05_rb /) kao(:, 2,10, 3) = (/ & & 0.13295e-04_rb,0.20290e-04_rb,0.20862e-04_rb,0.20316e-04_rb,0.19125e-04_rb, & & 0.17348e-04_rb,0.15042e-04_rb,0.12455e-04_rb,0.56495e-05_rb /) kao(:, 3,10, 3) = (/ & & 0.15297e-04_rb,0.22994e-04_rb,0.23740e-04_rb,0.23076e-04_rb,0.21626e-04_rb, & & 0.19529e-04_rb,0.16766e-04_rb,0.13399e-04_rb,0.65988e-05_rb /) kao(:, 4,10, 3) = (/ & & 0.17488e-04_rb,0.25986e-04_rb,0.26882e-04_rb,0.26021e-04_rb,0.24246e-04_rb, & & 0.21820e-04_rb,0.18554e-04_rb,0.14427e-04_rb,0.74644e-05_rb /) kao(:, 5,10, 3) = (/ & & 0.19800e-04_rb,0.29160e-04_rb,0.30208e-04_rb,0.29161e-04_rb,0.27086e-04_rb, & & 0.24189e-04_rb,0.20462e-04_rb,0.15474e-04_rb,0.84395e-05_rb /) kao(:, 1,11, 3) = (/ & & 0.96366e-05_rb,0.15168e-04_rb,0.15611e-04_rb,0.15230e-04_rb,0.14381e-04_rb, & & 0.13058e-04_rb,0.11457e-04_rb,0.98195e-05_rb,0.43210e-05_rb /) kao(:, 2,11, 3) = (/ & & 0.11221e-04_rb,0.17304e-04_rb,0.17859e-04_rb,0.17390e-04_rb,0.16383e-04_rb, & & 0.14837e-04_rb,0.12820e-04_rb,0.10541e-04_rb,0.50915e-05_rb /) kao(:, 3,11, 3) = (/ & & 0.12922e-04_rb,0.19611e-04_rb,0.20376e-04_rb,0.19769e-04_rb,0.18510e-04_rb, & & 0.16733e-04_rb,0.14297e-04_rb,0.11375e-04_rb,0.59349e-05_rb /) kao(:, 4,11, 3) = (/ & & 0.14759e-04_rb,0.22226e-04_rb,0.23087e-04_rb,0.22319e-04_rb,0.20789e-04_rb, & & 0.18677e-04_rb,0.15854e-04_rb,0.12233e-04_rb,0.68646e-05_rb /) kao(:, 5,11, 3) = (/ & & 0.16687e-04_rb,0.24901e-04_rb,0.25894e-04_rb,0.25020e-04_rb,0.23234e-04_rb, & & 0.20746e-04_rb,0.17450e-04_rb,0.13143e-04_rb,0.77945e-05_rb /) kao(:, 1,12, 3) = (/ & & 0.80728e-05_rb,0.12833e-04_rb,0.13241e-04_rb,0.12930e-04_rb,0.12209e-04_rb, & & 0.11077e-04_rb,0.96874e-05_rb,0.82518e-05_rb,0.36987e-05_rb /) kao(:, 2,12, 3) = (/ & & 0.94096e-05_rb,0.14647e-04_rb,0.15179e-04_rb,0.14789e-04_rb,0.13929e-04_rb, & & 0.12614e-04_rb,0.10863e-04_rb,0.88839e-05_rb,0.43642e-05_rb /) kao(:, 3,12, 3) = (/ & & 0.10827e-04_rb,0.16625e-04_rb,0.17336e-04_rb,0.16825e-04_rb,0.15757e-04_rb, & & 0.14215e-04_rb,0.12135e-04_rb,0.95702e-05_rb,0.51276e-05_rb /) kao(:, 4,12, 3) = (/ & & 0.12346e-04_rb,0.18823e-04_rb,0.19626e-04_rb,0.19011e-04_rb,0.17715e-04_rb, & & 0.15891e-04_rb,0.13472e-04_rb,0.10297e-04_rb,0.58818e-05_rb /) kao(:, 5,12, 3) = (/ & & 0.13954e-04_rb,0.21071e-04_rb,0.21985e-04_rb,0.21278e-04_rb,0.19773e-04_rb, & & 0.17642e-04_rb,0.14813e-04_rb,0.11109e-04_rb,0.66485e-05_rb /) kao(:, 1,13, 3) = (/ & & 0.67198e-05_rb,0.10777e-04_rb,0.11153e-04_rb,0.10900e-04_rb,0.10301e-04_rb, & & 0.93345e-05_rb,0.81433e-05_rb,0.69156e-05_rb,0.30498e-05_rb /) kao(:, 2,13, 3) = (/ & & 0.78283e-05_rb,0.12283e-04_rb,0.12805e-04_rb,0.12492e-04_rb,0.11757e-04_rb, & & 0.10649e-04_rb,0.91519e-05_rb,0.74495e-05_rb,0.36028e-05_rb /) kao(:, 3,13, 3) = (/ & & 0.89966e-05_rb,0.13983e-04_rb,0.14629e-04_rb,0.14218e-04_rb,0.13315e-04_rb, & & 0.11990e-04_rb,0.10230e-04_rb,0.80237e-05_rb,0.42382e-05_rb /) kao(:, 4,13, 3) = (/ & & 0.10250e-04_rb,0.15794e-04_rb,0.16536e-04_rb,0.16055e-04_rb,0.14979e-04_rb, & & 0.13421e-04_rb,0.11355e-04_rb,0.86371e-05_rb,0.48511e-05_rb /) kao(:, 5,13, 3) = (/ & & 0.11575e-04_rb,0.17689e-04_rb,0.18502e-04_rb,0.17950e-04_rb,0.16689e-04_rb, & & 0.14883e-04_rb,0.12476e-04_rb,0.93537e-05_rb,0.54799e-05_rb /) kao(:, 1, 1, 4) = (/ & & 0.20313e-03_rb,0.26410e-03_rb,0.27054e-03_rb,0.25842e-03_rb,0.23794e-03_rb, & & 0.21033e-03_rb,0.17730e-03_rb,0.13831e-03_rb,0.52995e-04_rb /) kao(:, 2, 1, 4) = (/ & & 0.22722e-03_rb,0.29058e-03_rb,0.29572e-03_rb,0.28200e-03_rb,0.25898e-03_rb, & & 0.22814e-03_rb,0.19209e-03_rb,0.14957e-03_rb,0.59096e-04_rb /) kao(:, 3, 1, 4) = (/ & & 0.25054e-03_rb,0.31580e-03_rb,0.31991e-03_rb,0.30486e-03_rb,0.27955e-03_rb, & & 0.24634e-03_rb,0.20787e-03_rb,0.16179e-03_rb,0.65118e-04_rb /) kao(:, 4, 1, 4) = (/ & & 0.27197e-03_rb,0.33971e-03_rb,0.34310e-03_rb,0.32677e-03_rb,0.30002e-03_rb, & & 0.26574e-03_rb,0.22502e-03_rb,0.17520e-03_rb,0.71711e-04_rb /) kao(:, 5, 1, 4) = (/ & & 0.29178e-03_rb,0.36213e-03_rb,0.36503e-03_rb,0.34815e-03_rb,0.32114e-03_rb, & & 0.28599e-03_rb,0.24328e-03_rb,0.18958e-03_rb,0.78523e-04_rb /) kao(:, 1, 2, 4) = (/ & & 0.17547e-03_rb,0.23012e-03_rb,0.23639e-03_rb,0.22606e-03_rb,0.20799e-03_rb, & & 0.18326e-03_rb,0.15385e-03_rb,0.11888e-03_rb,0.43633e-04_rb /) kao(:, 2, 2, 4) = (/ & & 0.19601e-03_rb,0.25269e-03_rb,0.25751e-03_rb,0.24629e-03_rb,0.22623e-03_rb, & & 0.19926e-03_rb,0.16712e-03_rb,0.12877e-03_rb,0.48382e-04_rb /) kao(:, 3, 2, 4) = (/ & & 0.21598e-03_rb,0.27423e-03_rb,0.27812e-03_rb,0.26576e-03_rb,0.24403e-03_rb, & & 0.21552e-03_rb,0.18141e-03_rb,0.13982e-03_rb,0.53560e-04_rb /) kao(:, 4, 2, 4) = (/ & & 0.23449e-03_rb,0.29482e-03_rb,0.29820e-03_rb,0.28454e-03_rb,0.26171e-03_rb, & & 0.23254e-03_rb,0.19681e-03_rb,0.15192e-03_rb,0.59054e-04_rb /) kao(:, 5, 2, 4) = (/ & & 0.25198e-03_rb,0.31408e-03_rb,0.31723e-03_rb,0.30341e-03_rb,0.28040e-03_rb, & & 0.25022e-03_rb,0.21333e-03_rb,0.16487e-03_rb,0.64779e-04_rb /) kao(:, 1, 3, 4) = (/ & & 0.14736e-03_rb,0.19483e-03_rb,0.20065e-03_rb,0.19242e-03_rb,0.17728e-03_rb, & & 0.15627e-03_rb,0.13078e-03_rb,0.10037e-03_rb,0.34217e-04_rb /) kao(:, 2, 3, 4) = (/ & & 0.16492e-03_rb,0.21441e-03_rb,0.21892e-03_rb,0.20980e-03_rb,0.19289e-03_rb, & & 0.17000e-03_rb,0.14249e-03_rb,0.10902e-03_rb,0.38352e-04_rb /) kao(:, 3, 3, 4) = (/ & & 0.18200e-03_rb,0.23294e-03_rb,0.23658e-03_rb,0.22658e-03_rb,0.20822e-03_rb, & & 0.18391e-03_rb,0.15484e-03_rb,0.11888e-03_rb,0.42700e-04_rb /) kao(:, 4, 3, 4) = (/ & & 0.19811e-03_rb,0.25094e-03_rb,0.25385e-03_rb,0.24276e-03_rb,0.22338e-03_rb, & & 0.19841e-03_rb,0.16822e-03_rb,0.12943e-03_rb,0.47257e-04_rb /) kao(:, 5, 3, 4) = (/ & & 0.21352e-03_rb,0.26784e-03_rb,0.27027e-03_rb,0.25917e-03_rb,0.23966e-03_rb, & & 0.21399e-03_rb,0.18239e-03_rb,0.14058e-03_rb,0.51997e-04_rb /) kao(:, 1, 4, 4) = (/ & & 0.12070e-03_rb,0.16282e-03_rb,0.16870e-03_rb,0.16215e-03_rb,0.14966e-03_rb, & & 0.13195e-03_rb,0.11003e-03_rb,0.83743e-04_rb,0.26841e-04_rb /) kao(:, 2, 4, 4) = (/ & & 0.13616e-03_rb,0.17979e-03_rb,0.18420e-03_rb,0.17692e-03_rb,0.16288e-03_rb, & & 0.14351e-03_rb,0.12000e-03_rb,0.91324e-04_rb,0.29956e-04_rb /) kao(:, 3, 4, 4) = (/ & & 0.15142e-03_rb,0.19606e-03_rb,0.19933e-03_rb,0.19132e-03_rb,0.17582e-03_rb, & & 0.15506e-03_rb,0.13061e-03_rb,0.99881e-04_rb,0.33175e-04_rb /) kao(:, 4, 4, 4) = (/ & & 0.16591e-03_rb,0.21170e-03_rb,0.21421e-03_rb,0.20525e-03_rb,0.18888e-03_rb, & & 0.16747e-03_rb,0.14192e-03_rb,0.10907e-03_rb,0.36625e-04_rb /) kao(:, 5, 4, 4) = (/ & & 0.17956e-03_rb,0.22655e-03_rb,0.22833e-03_rb,0.21949e-03_rb,0.20283e-03_rb, & & 0.18086e-03_rb,0.15393e-03_rb,0.11865e-03_rb,0.40513e-04_rb /) kao(:, 1, 5, 4) = (/ & & 0.98625e-04_rb,0.13480e-03_rb,0.14099e-03_rb,0.13653e-03_rb,0.12600e-03_rb, & & 0.11107e-03_rb,0.92102e-04_rb,0.69414e-04_rb,0.22597e-04_rb /) kao(:, 2, 5, 4) = (/ & & 0.11165e-03_rb,0.14975e-03_rb,0.15429e-03_rb,0.14886e-03_rb,0.13710e-03_rb, & & 0.12076e-03_rb,0.10051e-03_rb,0.76046e-04_rb,0.25265e-04_rb /) kao(:, 3, 5, 4) = (/ & & 0.12461e-03_rb,0.16391e-03_rb,0.16725e-03_rb,0.16091e-03_rb,0.14796e-03_rb, & & 0.13047e-03_rb,0.10941e-03_rb,0.83193e-04_rb,0.27962e-04_rb /) kao(:, 4, 5, 4) = (/ & & 0.13738e-03_rb,0.17761e-03_rb,0.17982e-03_rb,0.17281e-03_rb,0.15916e-03_rb, & & 0.14087e-03_rb,0.11892e-03_rb,0.90972e-04_rb,0.30855e-04_rb /) kao(:, 5, 5, 4) = (/ & & 0.14967e-03_rb,0.19066e-03_rb,0.19231e-03_rb,0.18509e-03_rb,0.17109e-03_rb, & & 0.15227e-03_rb,0.12906e-03_rb,0.99136e-04_rb,0.34017e-04_rb /) kao(:, 1, 6, 4) = (/ & & 0.79863e-04_rb,0.11034e-03_rb,0.11622e-03_rb,0.11400e-03_rb,0.10532e-03_rb, & & 0.92978e-04_rb,0.76661e-04_rb,0.57287e-04_rb,0.18664e-04_rb /) kao(:, 2, 6, 4) = (/ & & 0.90753e-04_rb,0.12318e-03_rb,0.12766e-03_rb,0.12440e-03_rb,0.11482e-03_rb, & & 0.10110e-03_rb,0.83697e-04_rb,0.62663e-04_rb,0.20928e-04_rb /) kao(:, 3, 6, 4) = (/ & & 0.10183e-03_rb,0.13532e-03_rb,0.13907e-03_rb,0.13464e-03_rb,0.12396e-03_rb, & & 0.10925e-03_rb,0.90984e-04_rb,0.68513e-04_rb,0.23264e-04_rb /) kao(:, 4, 6, 4) = (/ & & 0.11293e-03_rb,0.14742e-03_rb,0.14995e-03_rb,0.14481e-03_rb,0.13354e-03_rb, & & 0.11797e-03_rb,0.98845e-04_rb,0.74965e-04_rb,0.25850e-04_rb /) kao(:, 5, 6, 4) = (/ & & 0.12360e-03_rb,0.15914e-03_rb,0.16090e-03_rb,0.15521e-03_rb,0.14361e-03_rb, & & 0.12755e-03_rb,0.10739e-03_rb,0.81915e-04_rb,0.28635e-04_rb /) kao(:, 1, 7, 4) = (/ & & 0.65679e-04_rb,0.90084e-04_rb,0.95681e-04_rb,0.94567e-04_rb,0.87338e-04_rb, & & 0.77275e-04_rb,0.63642e-04_rb,0.47097e-04_rb,0.15508e-04_rb /) kao(:, 2, 7, 4) = (/ & & 0.74551e-04_rb,0.10089e-03_rb,0.10531e-03_rb,0.10327e-03_rb,0.95364e-04_rb, & & 0.84154e-04_rb,0.69569e-04_rb,0.51426e-04_rb,0.17234e-04_rb /) kao(:, 3, 7, 4) = (/ & & 0.83584e-04_rb,0.11137e-03_rb,0.11469e-03_rb,0.11193e-03_rb,0.10325e-03_rb, & & 0.91075e-04_rb,0.75479e-04_rb,0.56228e-04_rb,0.19127e-04_rb /) kao(:, 4, 7, 4) = (/ & & 0.92762e-04_rb,0.12171e-03_rb,0.12420e-03_rb,0.12060e-03_rb,0.11147e-03_rb, & & 0.98465e-04_rb,0.81969e-04_rb,0.61529e-04_rb,0.21452e-04_rb /) kao(:, 5, 7, 4) = (/ & & 0.10189e-03_rb,0.13182e-03_rb,0.13364e-03_rb,0.12960e-03_rb,0.12008e-03_rb, & & 0.10652e-03_rb,0.89045e-04_rb,0.67334e-04_rb,0.23711e-04_rb /) kao(:, 1, 8, 4) = (/ & & 0.53656e-04_rb,0.74109e-04_rb,0.78629e-04_rb,0.78245e-04_rb,0.72322e-04_rb, & & 0.63915e-04_rb,0.52625e-04_rb,0.38591e-04_rb,0.14416e-04_rb /) kao(:, 2, 8, 4) = (/ & & 0.61163e-04_rb,0.83104e-04_rb,0.86832e-04_rb,0.85562e-04_rb,0.78992e-04_rb, & & 0.69666e-04_rb,0.57574e-04_rb,0.42098e-04_rb,0.15921e-04_rb /) kao(:, 3, 8, 4) = (/ & & 0.68914e-04_rb,0.91909e-04_rb,0.94594e-04_rb,0.92816e-04_rb,0.85590e-04_rb, & & 0.75491e-04_rb,0.62445e-04_rb,0.46109e-04_rb,0.17209e-04_rb /) kao(:, 4, 8, 4) = (/ & & 0.76847e-04_rb,0.10059e-03_rb,0.10256e-03_rb,0.10019e-03_rb,0.92496e-04_rb, & & 0.81729e-04_rb,0.67763e-04_rb,0.50445e-04_rb,0.18589e-04_rb /) kao(:, 5, 8, 4) = (/ & & 0.84847e-04_rb,0.10902e-03_rb,0.11071e-03_rb,0.10784e-03_rb,0.99812e-04_rb, & & 0.88516e-04_rb,0.73718e-04_rb,0.55250e-04_rb,0.20194e-04_rb /) kao(:, 1, 9, 4) = (/ & & 0.43346e-04_rb,0.60608e-04_rb,0.64818e-04_rb,0.64681e-04_rb,0.59655e-04_rb, & & 0.52617e-04_rb,0.43206e-04_rb,0.31573e-04_rb,0.14696e-04_rb /) kao(:, 2, 9, 4) = (/ & & 0.49669e-04_rb,0.68380e-04_rb,0.71800e-04_rb,0.70860e-04_rb,0.65260e-04_rb, & & 0.57496e-04_rb,0.47313e-04_rb,0.34405e-04_rb,0.16164e-04_rb /) kao(:, 3, 9, 4) = (/ & & 0.56274e-04_rb,0.76040e-04_rb,0.78454e-04_rb,0.76944e-04_rb,0.70665e-04_rb, & & 0.62347e-04_rb,0.51383e-04_rb,0.37665e-04_rb,0.17841e-04_rb /) kao(:, 4, 9, 4) = (/ & & 0.63127e-04_rb,0.83451e-04_rb,0.85178e-04_rb,0.83082e-04_rb,0.76437e-04_rb, & & 0.67538e-04_rb,0.55797e-04_rb,0.41264e-04_rb,0.19504e-04_rb /) kao(:, 5, 9, 4) = (/ & & 0.70124e-04_rb,0.90807e-04_rb,0.91960e-04_rb,0.89432e-04_rb,0.82527e-04_rb, & & 0.73176e-04_rb,0.60668e-04_rb,0.45179e-04_rb,0.20992e-04_rb /) kao(:, 1,10, 4) = (/ & & 0.35059e-04_rb,0.49531e-04_rb,0.53376e-04_rb,0.53665e-04_rb,0.49644e-04_rb, & & 0.43592e-04_rb,0.35609e-04_rb,0.25845e-04_rb,0.13231e-04_rb /) kao(:, 2,10, 4) = (/ & & 0.40376e-04_rb,0.56174e-04_rb,0.59502e-04_rb,0.59040e-04_rb,0.54399e-04_rb, & & 0.47687e-04_rb,0.39007e-04_rb,0.28189e-04_rb,0.15223e-04_rb /) kao(:, 3,10, 4) = (/ & & 0.46006e-04_rb,0.62899e-04_rb,0.65214e-04_rb,0.64178e-04_rb,0.58976e-04_rb, & & 0.51726e-04_rb,0.42386e-04_rb,0.30843e-04_rb,0.17241e-04_rb /) kao(:, 4,10, 4) = (/ & & 0.51905e-04_rb,0.69395e-04_rb,0.70988e-04_rb,0.69461e-04_rb,0.63801e-04_rb, & & 0.56040e-04_rb,0.46059e-04_rb,0.33831e-04_rb,0.19714e-04_rb /) kao(:, 5,10, 4) = (/ & & 0.57990e-04_rb,0.75737e-04_rb,0.76826e-04_rb,0.74718e-04_rb,0.68839e-04_rb, & & 0.60664e-04_rb,0.50105e-04_rb,0.37049e-04_rb,0.22308e-04_rb /) kao(:, 1,11, 4) = (/ & & 0.30150e-04_rb,0.42738e-04_rb,0.46011e-04_rb,0.46330e-04_rb,0.42907e-04_rb, & & 0.37605e-04_rb,0.30702e-04_rb,0.21962e-04_rb,0.11791e-04_rb /) kao(:, 2,11, 4) = (/ & & 0.34714e-04_rb,0.48516e-04_rb,0.51120e-04_rb,0.50726e-04_rb,0.46912e-04_rb, & & 0.41033e-04_rb,0.33505e-04_rb,0.23952e-04_rb,0.13242e-04_rb /) kao(:, 3,11, 4) = (/ & & 0.39649e-04_rb,0.54325e-04_rb,0.56146e-04_rb,0.55270e-04_rb,0.50902e-04_rb, & & 0.44559e-04_rb,0.36351e-04_rb,0.26266e-04_rb,0.15075e-04_rb /) kao(:, 4,11, 4) = (/ & & 0.44779e-04_rb,0.59893e-04_rb,0.61166e-04_rb,0.59766e-04_rb,0.55070e-04_rb, & & 0.48303e-04_rb,0.39491e-04_rb,0.28847e-04_rb,0.17164e-04_rb /) kao(:, 5,11, 4) = (/ & & 0.49946e-04_rb,0.65411e-04_rb,0.66256e-04_rb,0.64345e-04_rb,0.59474e-04_rb, & & 0.52287e-04_rb,0.43003e-04_rb,0.31612e-04_rb,0.19542e-04_rb /) kao(:, 1,12, 4) = (/ & & 0.25681e-04_rb,0.36622e-04_rb,0.39428e-04_rb,0.39582e-04_rb,0.36786e-04_rb, & & 0.32210e-04_rb,0.26270e-04_rb,0.18629e-04_rb,0.10035e-04_rb /) kao(:, 2,12, 4) = (/ & & 0.29636e-04_rb,0.41620e-04_rb,0.43701e-04_rb,0.43425e-04_rb,0.40150e-04_rb, & & 0.35105e-04_rb,0.28637e-04_rb,0.20365e-04_rb,0.11416e-04_rb /) kao(:, 3,12, 4) = (/ & & 0.33921e-04_rb,0.46628e-04_rb,0.48062e-04_rb,0.47301e-04_rb,0.43633e-04_rb, & & 0.38189e-04_rb,0.31133e-04_rb,0.22405e-04_rb,0.12946e-04_rb /) kao(:, 4,12, 4) = (/ & & 0.38341e-04_rb,0.51401e-04_rb,0.52457e-04_rb,0.51129e-04_rb,0.47238e-04_rb, & & 0.41429e-04_rb,0.33905e-04_rb,0.24546e-04_rb,0.14770e-04_rb /) kao(:, 5,12, 4) = (/ & & 0.42576e-04_rb,0.56153e-04_rb,0.56863e-04_rb,0.55182e-04_rb,0.51113e-04_rb, & & 0.44940e-04_rb,0.36987e-04_rb,0.26898e-04_rb,0.16865e-04_rb /) kao(:, 1,13, 4) = (/ & & 0.21707e-04_rb,0.31142e-04_rb,0.33487e-04_rb,0.33650e-04_rb,0.31301e-04_rb, & & 0.27396e-04_rb,0.22352e-04_rb,0.15744e-04_rb,0.83005e-05_rb /) kao(:, 2,13, 4) = (/ & & 0.25112e-04_rb,0.35474e-04_rb,0.37158e-04_rb,0.36970e-04_rb,0.34170e-04_rb, & & 0.29871e-04_rb,0.24361e-04_rb,0.17312e-04_rb,0.93559e-05_rb /) kao(:, 3,13, 4) = (/ & & 0.28762e-04_rb,0.39712e-04_rb,0.40924e-04_rb,0.40199e-04_rb,0.37169e-04_rb, & & 0.32565e-04_rb,0.26566e-04_rb,0.19074e-04_rb,0.10670e-04_rb /) kao(:, 4,13, 4) = (/ & & 0.32448e-04_rb,0.43808e-04_rb,0.44734e-04_rb,0.43534e-04_rb,0.40323e-04_rb, & & 0.35367e-04_rb,0.29011e-04_rb,0.20897e-04_rb,0.12240e-04_rb /) kao(:, 5,13, 4) = (/ & & 0.35905e-04_rb,0.47771e-04_rb,0.48482e-04_rb,0.47094e-04_rb,0.43703e-04_rb, & & 0.38474e-04_rb,0.31715e-04_rb,0.22899e-04_rb,0.13958e-04_rb /) kao(:, 1, 1, 5) = (/ & & 0.50328e-03_rb,0.59028e-03_rb,0.59973e-03_rb,0.58955e-03_rb,0.56685e-03_rb, & & 0.50893e-03_rb,0.43098e-03_rb,0.31518e-03_rb,0.12599e-03_rb /) kao(:, 2, 1, 5) = (/ & & 0.53454e-03_rb,0.62581e-03_rb,0.63729e-03_rb,0.62588e-03_rb,0.59902e-03_rb, & & 0.54179e-03_rb,0.45928e-03_rb,0.33824e-03_rb,0.13937e-03_rb /) kao(:, 3, 1, 5) = (/ & & 0.56216e-03_rb,0.66315e-03_rb,0.67707e-03_rb,0.66553e-03_rb,0.63545e-03_rb, & & 0.57719e-03_rb,0.48913e-03_rb,0.36332e-03_rb,0.15548e-03_rb /) kao(:, 4, 1, 5) = (/ & & 0.58821e-03_rb,0.70231e-03_rb,0.71934e-03_rb,0.70828e-03_rb,0.67637e-03_rb, & & 0.61438e-03_rb,0.52042e-03_rb,0.38978e-03_rb,0.17254e-03_rb /) kao(:, 5, 1, 5) = (/ & & 0.61349e-03_rb,0.74309e-03_rb,0.76503e-03_rb,0.75486e-03_rb,0.71943e-03_rb, & & 0.65213e-03_rb,0.55331e-03_rb,0.41818e-03_rb,0.19176e-03_rb /) kao(:, 1, 2, 5) = (/ & & 0.43720e-03_rb,0.51117e-03_rb,0.51919e-03_rb,0.50988e-03_rb,0.48875e-03_rb, & & 0.44138e-03_rb,0.37418e-03_rb,0.27478e-03_rb,0.10374e-03_rb /) kao(:, 2, 2, 5) = (/ & & 0.46400e-03_rb,0.54460e-03_rb,0.55429e-03_rb,0.54395e-03_rb,0.52067e-03_rb, & & 0.47118e-03_rb,0.39949e-03_rb,0.29546e-03_rb,0.11585e-03_rb /) kao(:, 3, 2, 5) = (/ & & 0.48798e-03_rb,0.57940e-03_rb,0.59177e-03_rb,0.58113e-03_rb,0.55553e-03_rb, & & 0.50290e-03_rb,0.42588e-03_rb,0.31727e-03_rb,0.12872e-03_rb /) kao(:, 4, 2, 5) = (/ & & 0.51088e-03_rb,0.61529e-03_rb,0.63115e-03_rb,0.62163e-03_rb,0.59296e-03_rb, & & 0.53614e-03_rb,0.45317e-03_rb,0.34070e-03_rb,0.14334e-03_rb /) kao(:, 5, 2, 5) = (/ & & 0.53331e-03_rb,0.65233e-03_rb,0.67270e-03_rb,0.66363e-03_rb,0.63091e-03_rb, & & 0.57023e-03_rb,0.48253e-03_rb,0.36597e-03_rb,0.15947e-03_rb /) kao(:, 1, 3, 5) = (/ & & 0.37168e-03_rb,0.43544e-03_rb,0.44351e-03_rb,0.43496e-03_rb,0.41418e-03_rb, & & 0.37673e-03_rb,0.31849e-03_rb,0.23373e-03_rb,0.83035e-04_rb /) kao(:, 2, 3, 5) = (/ & & 0.39476e-03_rb,0.46532e-03_rb,0.47527e-03_rb,0.46587e-03_rb,0.44394e-03_rb, & & 0.40288e-03_rb,0.34052e-03_rb,0.25172e-03_rb,0.92363e-04_rb /) kao(:, 3, 3, 5) = (/ & & 0.41559e-03_rb,0.49597e-03_rb,0.50880e-03_rb,0.49944e-03_rb,0.47605e-03_rb, & & 0.43138e-03_rb,0.36384e-03_rb,0.27063e-03_rb,0.10327e-03_rb /) kao(:, 4, 3, 5) = (/ & & 0.43551e-03_rb,0.52738e-03_rb,0.54357e-03_rb,0.53553e-03_rb,0.50924e-03_rb, & & 0.46069e-03_rb,0.38844e-03_rb,0.29089e-03_rb,0.11548e-03_rb /) kao(:, 5, 3, 5) = (/ & & 0.45509e-03_rb,0.56036e-03_rb,0.58045e-03_rb,0.57279e-03_rb,0.54320e-03_rb, & & 0.49088e-03_rb,0.41461e-03_rb,0.31304e-03_rb,0.12901e-03_rb /) kao(:, 1, 4, 5) = (/ & & 0.31353e-03_rb,0.36800e-03_rb,0.37478e-03_rb,0.36628e-03_rb,0.34818e-03_rb, & & 0.31938e-03_rb,0.26882e-03_rb,0.19725e-03_rb,0.65143e-04_rb /) kao(:, 2, 4, 5) = (/ & & 0.33327e-03_rb,0.39347e-03_rb,0.40240e-03_rb,0.39421e-03_rb,0.37500e-03_rb, & & 0.34245e-03_rb,0.28782e-03_rb,0.21247e-03_rb,0.72911e-04_rb /) kao(:, 3, 4, 5) = (/ & & 0.35116e-03_rb,0.41935e-03_rb,0.43125e-03_rb,0.42396e-03_rb,0.40374e-03_rb, & & 0.36745e-03_rb,0.30851e-03_rb,0.22861e-03_rb,0.82223e-04_rb /) kao(:, 4, 4, 5) = (/ & & 0.36817e-03_rb,0.44654e-03_rb,0.46141e-03_rb,0.45505e-03_rb,0.43257e-03_rb, & & 0.39339e-03_rb,0.33051e-03_rb,0.24594e-03_rb,0.92524e-04_rb /) kao(:, 5, 4, 5) = (/ & & 0.38502e-03_rb,0.47537e-03_rb,0.49387e-03_rb,0.48730e-03_rb,0.46233e-03_rb, & & 0.42007e-03_rb,0.35374e-03_rb,0.26504e-03_rb,0.10363e-03_rb /) kao(:, 1, 5, 5) = (/ & & 0.26371e-03_rb,0.30958e-03_rb,0.31480e-03_rb,0.30643e-03_rb,0.29119e-03_rb, & & 0.26781e-03_rb,0.22601e-03_rb,0.16580e-03_rb,0.51526e-04_rb /) kao(:, 2, 5, 5) = (/ & & 0.28046e-03_rb,0.33149e-03_rb,0.33831e-03_rb,0.33074e-03_rb,0.31455e-03_rb, & & 0.28912e-03_rb,0.24254e-03_rb,0.17884e-03_rb,0.57544e-04_rb /) kao(:, 3, 5, 5) = (/ & & 0.29571e-03_rb,0.35368e-03_rb,0.36281e-03_rb,0.35630e-03_rb,0.33882e-03_rb, & & 0.31097e-03_rb,0.26070e-03_rb,0.19272e-03_rb,0.64519e-04_rb /) kao(:, 4, 5, 5) = (/ & & 0.31016e-03_rb,0.37666e-03_rb,0.38893e-03_rb,0.38273e-03_rb,0.36412e-03_rb, & & 0.33364e-03_rb,0.28016e-03_rb,0.20757e-03_rb,0.72363e-04_rb /) kao(:, 5, 5, 5) = (/ & & 0.32452e-03_rb,0.40122e-03_rb,0.41666e-03_rb,0.41046e-03_rb,0.39013e-03_rb, & & 0.35668e-03_rb,0.30056e-03_rb,0.22388e-03_rb,0.80981e-04_rb /) kao(:, 1, 6, 5) = (/ & & 0.22069e-03_rb,0.25888e-03_rb,0.26323e-03_rb,0.25479e-03_rb,0.24246e-03_rb, & & 0.22303e-03_rb,0.18865e-03_rb,0.13826e-03_rb,0.42586e-04_rb /) kao(:, 2, 6, 5) = (/ & & 0.23505e-03_rb,0.27730e-03_rb,0.28289e-03_rb,0.27510e-03_rb,0.26179e-03_rb, & & 0.24147e-03_rb,0.20303e-03_rb,0.14956e-03_rb,0.47728e-04_rb /) kao(:, 3, 6, 5) = (/ & & 0.24799e-03_rb,0.29644e-03_rb,0.30324e-03_rb,0.29696e-03_rb,0.28190e-03_rb, & & 0.26059e-03_rb,0.21889e-03_rb,0.16173e-03_rb,0.53804e-04_rb /) kao(:, 4, 6, 5) = (/ & & 0.26027e-03_rb,0.31607e-03_rb,0.32548e-03_rb,0.31928e-03_rb,0.30338e-03_rb, & & 0.27984e-03_rb,0.23536e-03_rb,0.17457e-03_rb,0.60579e-04_rb /) kao(:, 5, 6, 5) = (/ & & 0.27261e-03_rb,0.33682e-03_rb,0.34889e-03_rb,0.34299e-03_rb,0.32589e-03_rb, & & 0.29875e-03_rb,0.25286e-03_rb,0.18852e-03_rb,0.67802e-04_rb /) kao(:, 1, 7, 5) = (/ & & 0.18284e-03_rb,0.21563e-03_rb,0.21874e-03_rb,0.21147e-03_rb,0.20158e-03_rb, & & 0.18535e-03_rb,0.15699e-03_rb,0.11455e-03_rb,0.35095e-04_rb /) kao(:, 2, 7, 5) = (/ & & 0.19537e-03_rb,0.23122e-03_rb,0.23571e-03_rb,0.22829e-03_rb,0.21760e-03_rb, & & 0.20013e-03_rb,0.16934e-03_rb,0.12429e-03_rb,0.39853e-04_rb /) kao(:, 3, 7, 5) = (/ & & 0.20672e-03_rb,0.24731e-03_rb,0.25313e-03_rb,0.24636e-03_rb,0.23401e-03_rb, & & 0.21622e-03_rb,0.18276e-03_rb,0.13469e-03_rb,0.45173e-04_rb /) kao(:, 4, 7, 5) = (/ & & 0.21741e-03_rb,0.26399e-03_rb,0.27153e-03_rb,0.26539e-03_rb,0.25198e-03_rb, & & 0.23212e-03_rb,0.19655e-03_rb,0.14593e-03_rb,0.50910e-04_rb /) kao(:, 5, 7, 5) = (/ & & 0.22822e-03_rb,0.28170e-03_rb,0.29118e-03_rb,0.28544e-03_rb,0.27112e-03_rb, & & 0.24842e-03_rb,0.21129e-03_rb,0.15803e-03_rb,0.57288e-04_rb /) kao(:, 1, 8, 5) = (/ & & 0.15136e-03_rb,0.17854e-03_rb,0.18119e-03_rb,0.17535e-03_rb,0.16721e-03_rb, & & 0.15392e-03_rb,0.13041e-03_rb,0.94463e-04_rb,0.29176e-04_rb /) kao(:, 2, 8, 5) = (/ & & 0.16197e-03_rb,0.19183e-03_rb,0.19544e-03_rb,0.18940e-03_rb,0.18045e-03_rb, & & 0.16606e-03_rb,0.14094e-03_rb,0.10292e-03_rb,0.33234e-04_rb /) kao(:, 3, 8, 5) = (/ & & 0.17149e-03_rb,0.20540e-03_rb,0.21055e-03_rb,0.20432e-03_rb,0.19421e-03_rb, & & 0.17914e-03_rb,0.15214e-03_rb,0.11170e-03_rb,0.37987e-04_rb /) kao(:, 4, 8, 5) = (/ & & 0.18048e-03_rb,0.21966e-03_rb,0.22618e-03_rb,0.22017e-03_rb,0.20926e-03_rb, & & 0.19215e-03_rb,0.16364e-03_rb,0.12118e-03_rb,0.43249e-04_rb /) kao(:, 5, 8, 5) = (/ & & 0.18968e-03_rb,0.23496e-03_rb,0.24258e-03_rb,0.23712e-03_rb,0.22524e-03_rb, & & 0.20589e-03_rb,0.17598e-03_rb,0.13139e-03_rb,0.48772e-04_rb /) kao(:, 1, 9, 5) = (/ & & 0.12535e-03_rb,0.14733e-03_rb,0.14911e-03_rb,0.14464e-03_rb,0.13810e-03_rb, & & 0.12766e-03_rb,0.10804e-03_rb,0.77667e-04_rb,0.31607e-04_rb /) kao(:, 2, 9, 5) = (/ & & 0.13428e-03_rb,0.15826e-03_rb,0.16122e-03_rb,0.15658e-03_rb,0.14914e-03_rb, & & 0.13752e-03_rb,0.11655e-03_rb,0.84956e-04_rb,0.35832e-04_rb /) kao(:, 3, 9, 5) = (/ & & 0.14212e-03_rb,0.16949e-03_rb,0.17392e-03_rb,0.16905e-03_rb,0.16073e-03_rb, & & 0.14802e-03_rb,0.12582e-03_rb,0.92269e-04_rb,0.39990e-04_rb /) kao(:, 4, 9, 5) = (/ & & 0.14955e-03_rb,0.18151e-03_rb,0.18720e-03_rb,0.18233e-03_rb,0.17343e-03_rb, & & 0.15845e-03_rb,0.13559e-03_rb,0.99998e-04_rb,0.44405e-04_rb /) kao(:, 5, 9, 5) = (/ & & 0.15720e-03_rb,0.19441e-03_rb,0.20115e-03_rb,0.19658e-03_rb,0.18679e-03_rb, & & 0.17045e-03_rb,0.14597e-03_rb,0.10853e-03_rb,0.48354e-04_rb /) kao(:, 1,10, 5) = (/ & & 0.10518e-03_rb,0.12283e-03_rb,0.12342e-03_rb,0.11933e-03_rb,0.11376e-03_rb, & & 0.10615e-03_rb,0.89610e-04_rb,0.64322e-04_rb,0.38897e-04_rb /) kao(:, 2,10, 5) = (/ & & 0.11277e-03_rb,0.13167e-03_rb,0.13319e-03_rb,0.12937e-03_rb,0.12328e-03_rb, & & 0.11434e-03_rb,0.96637e-04_rb,0.70434e-04_rb,0.44697e-04_rb /) kao(:, 3,10, 5) = (/ & & 0.11946e-03_rb,0.14071e-03_rb,0.14389e-03_rb,0.14002e-03_rb,0.13292e-03_rb, & & 0.12246e-03_rb,0.10436e-03_rb,0.76473e-04_rb,0.50672e-04_rb /) kao(:, 4,10, 5) = (/ & & 0.12573e-03_rb,0.15045e-03_rb,0.15515e-03_rb,0.15121e-03_rb,0.14368e-03_rb, & & 0.13136e-03_rb,0.11260e-03_rb,0.82864e-04_rb,0.56090e-04_rb /) kao(:, 5,10, 5) = (/ & & 0.13210e-03_rb,0.16128e-03_rb,0.16701e-03_rb,0.16339e-03_rb,0.15508e-03_rb, & & 0.14154e-03_rb,0.12132e-03_rb,0.89973e-04_rb,0.61017e-04_rb /) kao(:, 1,11, 5) = (/ & & 0.90693e-04_rb,0.10606e-03_rb,0.10639e-03_rb,0.10214e-03_rb,0.97041e-04_rb, & & 0.90929e-04_rb,0.76654e-04_rb,0.55448e-04_rb,0.34971e-04_rb /) kao(:, 2,11, 5) = (/ & & 0.96878e-04_rb,0.11346e-03_rb,0.11478e-03_rb,0.11094e-03_rb,0.10496e-03_rb, & & 0.97427e-04_rb,0.82680e-04_rb,0.60468e-04_rb,0.41599e-04_rb /) kao(:, 3,11, 5) = (/ & & 0.10232e-03_rb,0.12125e-03_rb,0.12365e-03_rb,0.11979e-03_rb,0.11346e-03_rb, & & 0.10430e-03_rb,0.89390e-04_rb,0.65549e-04_rb,0.48186e-04_rb /) kao(:, 4,11, 5) = (/ & & 0.10772e-03_rb,0.12969e-03_rb,0.13316e-03_rb,0.12963e-03_rb,0.12290e-03_rb, & & 0.11234e-03_rb,0.96526e-04_rb,0.71097e-04_rb,0.54537e-04_rb /) kao(:, 5,11, 5) = (/ & & 0.11345e-03_rb,0.13912e-03_rb,0.14339e-03_rb,0.14025e-03_rb,0.13275e-03_rb, & & 0.12106e-03_rb,0.10412e-03_rb,0.77240e-04_rb,0.60238e-04_rb /) kao(:, 1,12, 5) = (/ & & 0.77577e-04_rb,0.91005e-04_rb,0.91202e-04_rb,0.87618e-04_rb,0.82974e-04_rb, & & 0.77488e-04_rb,0.65261e-04_rb,0.47539e-04_rb,0.30516e-04_rb /) kao(:, 2,12, 5) = (/ & & 0.82612e-04_rb,0.97349e-04_rb,0.98497e-04_rb,0.95069e-04_rb,0.89699e-04_rb, & & 0.82714e-04_rb,0.70478e-04_rb,0.51645e-04_rb,0.35968e-04_rb /) kao(:, 3,12, 5) = (/ & & 0.87206e-04_rb,0.10402e-03_rb,0.10625e-03_rb,0.10294e-03_rb,0.97013e-04_rb, & & 0.88723e-04_rb,0.76259e-04_rb,0.55960e-04_rb,0.41899e-04_rb /) kao(:, 4,12, 5) = (/ & & 0.91929e-04_rb,0.11153e-03_rb,0.11462e-03_rb,0.11153e-03_rb,0.10500e-03_rb, & & 0.95633e-04_rb,0.82267e-04_rb,0.60868e-04_rb,0.48100e-04_rb /) kao(:, 5,12, 5) = (/ & & 0.97101e-04_rb,0.11996e-03_rb,0.12377e-03_rb,0.12058e-03_rb,0.11342e-03_rb, & & 0.10316e-03_rb,0.88884e-04_rb,0.66077e-04_rb,0.53563e-04_rb /) kao(:, 1,13, 5) = (/ & & 0.65838e-04_rb,0.77620e-04_rb,0.77829e-04_rb,0.74661e-04_rb,0.70473e-04_rb, & & 0.65575e-04_rb,0.55474e-04_rb,0.40441e-04_rb,0.25521e-04_rb /) kao(:, 2,13, 5) = (/ & & 0.69998e-04_rb,0.83015e-04_rb,0.84103e-04_rb,0.81066e-04_rb,0.76507e-04_rb, & & 0.70172e-04_rb,0.59914e-04_rb,0.43882e-04_rb,0.30126e-04_rb /) kao(:, 3,13, 5) = (/ & & 0.74003e-04_rb,0.88878e-04_rb,0.90840e-04_rb,0.88139e-04_rb,0.82951e-04_rb, & & 0.75471e-04_rb,0.64689e-04_rb,0.47652e-04_rb,0.35171e-04_rb /) kao(:, 4,13, 5) = (/ & & 0.78234e-04_rb,0.95561e-04_rb,0.98237e-04_rb,0.95653e-04_rb,0.89770e-04_rb, & & 0.81434e-04_rb,0.69913e-04_rb,0.51882e-04_rb,0.40221e-04_rb /) kao(:, 5,13, 5) = (/ & & 0.82825e-04_rb,0.10313e-03_rb,0.10644e-03_rb,0.10352e-03_rb,0.97040e-04_rb, & & 0.87602e-04_rb,0.75532e-04_rb,0.56387e-04_rb,0.44675e-04_rb /) kao(:, 1, 1, 6) = (/ & & 0.10615e-02_rb,0.12529e-02_rb,0.13083e-02_rb,0.12764e-02_rb,0.11881e-02_rb, & & 0.10853e-02_rb,0.93421e-03_rb,0.71644e-03_rb,0.30757e-03_rb /) kao(:, 2, 1, 6) = (/ & & 0.10918e-02_rb,0.13136e-02_rb,0.13677e-02_rb,0.13350e-02_rb,0.12522e-02_rb, & & 0.11402e-02_rb,0.98392e-03_rb,0.76040e-03_rb,0.35125e-03_rb /) kao(:, 3, 1, 6) = (/ & & 0.11297e-02_rb,0.13742e-02_rb,0.14266e-02_rb,0.13956e-02_rb,0.13143e-02_rb, & & 0.11951e-02_rb,0.10359e-02_rb,0.81032e-03_rb,0.39829e-03_rb /) kao(:, 4, 1, 6) = (/ & & 0.11716e-02_rb,0.14330e-02_rb,0.14865e-02_rb,0.14580e-02_rb,0.13738e-02_rb, & & 0.12536e-02_rb,0.10931e-02_rb,0.86605e-03_rb,0.44907e-03_rb /) kao(:, 5, 1, 6) = (/ & & 0.12137e-02_rb,0.14919e-02_rb,0.15477e-02_rb,0.15196e-02_rb,0.14358e-02_rb, & & 0.13166e-02_rb,0.11546e-02_rb,0.92748e-03_rb,0.50593e-03_rb /) kao(:, 1, 2, 6) = (/ & & 0.92435e-03_rb,0.10874e-02_rb,0.11275e-02_rb,0.11015e-02_rb,0.10311e-02_rb, & & 0.94231e-03_rb,0.80960e-03_rb,0.63033e-03_rb,0.26663e-03_rb /) kao(:, 2, 2, 6) = (/ & & 0.95885e-03_rb,0.11428e-02_rb,0.11829e-02_rb,0.11541e-02_rb,0.10849e-02_rb, & & 0.98930e-03_rb,0.85567e-03_rb,0.67200e-03_rb,0.30230e-03_rb /) kao(:, 3, 2, 6) = (/ & & 0.99776e-03_rb,0.11978e-02_rb,0.12376e-02_rb,0.12093e-02_rb,0.11390e-02_rb, & & 0.10392e-02_rb,0.90558e-03_rb,0.71833e-03_rb,0.34245e-03_rb /) kao(:, 4, 2, 6) = (/ & & 0.10380e-02_rb,0.12537e-02_rb,0.12935e-02_rb,0.12652e-02_rb,0.11933e-02_rb, & & 0.10921e-02_rb,0.95939e-03_rb,0.76948e-03_rb,0.38641e-03_rb /) kao(:, 5, 2, 6) = (/ & & 0.10779e-02_rb,0.13105e-02_rb,0.13515e-02_rb,0.13214e-02_rb,0.12497e-02_rb, & & 0.11514e-02_rb,0.10182e-02_rb,0.82552e-03_rb,0.43428e-03_rb /) kao(:, 1, 3, 6) = (/ & & 0.79958e-03_rb,0.93053e-03_rb,0.95669e-03_rb,0.93720e-03_rb,0.88165e-03_rb, & & 0.80178e-03_rb,0.69131e-03_rb,0.54027e-03_rb,0.22082e-03_rb /) kao(:, 2, 3, 6) = (/ & & 0.83354e-03_rb,0.98064e-03_rb,0.10079e-02_rb,0.98484e-03_rb,0.92834e-03_rb, & & 0.84387e-03_rb,0.73304e-03_rb,0.57932e-03_rb,0.25149e-03_rb /) kao(:, 3, 3, 6) = (/ & & 0.87012e-03_rb,0.10320e-02_rb,0.10600e-02_rb,0.10346e-02_rb,0.97491e-03_rb, & & 0.88683e-03_rb,0.77649e-03_rb,0.62208e-03_rb,0.28527e-03_rb /) kao(:, 4, 3, 6) = (/ & & 0.90759e-03_rb,0.10841e-02_rb,0.11129e-02_rb,0.10858e-02_rb,0.10238e-02_rb, & & 0.93520e-03_rb,0.82494e-03_rb,0.66854e-03_rb,0.32199e-03_rb /) kao(:, 5, 3, 6) = (/ & & 0.94443e-03_rb,0.11378e-02_rb,0.11668e-02_rb,0.11369e-02_rb,0.10746e-02_rb, & & 0.98835e-03_rb,0.87764e-03_rb,0.71868e-03_rb,0.36165e-03_rb /) kao(:, 1, 4, 6) = (/ & & 0.68628e-03_rb,0.79104e-03_rb,0.80863e-03_rb,0.79421e-03_rb,0.74681e-03_rb, & & 0.67391e-03_rb,0.58210e-03_rb,0.45790e-03_rb,0.18137e-03_rb /) kao(:, 2, 4, 6) = (/ & & 0.71790e-03_rb,0.83686e-03_rb,0.85591e-03_rb,0.83705e-03_rb,0.78808e-03_rb, & & 0.71172e-03_rb,0.61822e-03_rb,0.49245e-03_rb,0.20729e-03_rb /) kao(:, 3, 4, 6) = (/ & & 0.75117e-03_rb,0.88426e-03_rb,0.90462e-03_rb,0.88167e-03_rb,0.82945e-03_rb, & & 0.75050e-03_rb,0.65652e-03_rb,0.53019e-03_rb,0.23455e-03_rb /) kao(:, 4, 4, 6) = (/ & & 0.78430e-03_rb,0.93252e-03_rb,0.95418e-03_rb,0.92872e-03_rb,0.87301e-03_rb, & & 0.79337e-03_rb,0.69871e-03_rb,0.57160e-03_rb,0.26520e-03_rb /) kao(:, 5, 4, 6) = (/ & & 0.81683e-03_rb,0.98168e-03_rb,0.10045e-02_rb,0.97638e-03_rb,0.92000e-03_rb, & & 0.84034e-03_rb,0.74480e-03_rb,0.61518e-03_rb,0.29808e-03_rb /) kao(:, 1, 5, 6) = (/ & & 0.58497e-03_rb,0.66935e-03_rb,0.68301e-03_rb,0.66951e-03_rb,0.62962e-03_rb, & & 0.56579e-03_rb,0.48826e-03_rb,0.38379e-03_rb,0.14576e-03_rb /) kao(:, 2, 5, 6) = (/ & & 0.61310e-03_rb,0.71031e-03_rb,0.72592e-03_rb,0.70978e-03_rb,0.66652e-03_rb, & & 0.59753e-03_rb,0.51826e-03_rb,0.41385e-03_rb,0.16772e-03_rb /) kao(:, 3, 5, 6) = (/ & & 0.64179e-03_rb,0.75306e-03_rb,0.77095e-03_rb,0.75074e-03_rb,0.70458e-03_rb, & & 0.63276e-03_rb,0.55157e-03_rb,0.44695e-03_rb,0.19067e-03_rb /) kao(:, 4, 5, 6) = (/ & & 0.67039e-03_rb,0.79634e-03_rb,0.81655e-03_rb,0.79420e-03_rb,0.74416e-03_rb, & & 0.67043e-03_rb,0.58781e-03_rb,0.48223e-03_rb,0.21651e-03_rb /) kao(:, 5, 5, 6) = (/ & & 0.69870e-03_rb,0.83972e-03_rb,0.86240e-03_rb,0.83794e-03_rb,0.78674e-03_rb, & & 0.71204e-03_rb,0.62768e-03_rb,0.51780e-03_rb,0.24414e-03_rb /) kao(:, 1, 6, 6) = (/ & & 0.49594e-03_rb,0.56319e-03_rb,0.57248e-03_rb,0.55950e-03_rb,0.52657e-03_rb, & & 0.47274e-03_rb,0.40631e-03_rb,0.31914e-03_rb,0.11737e-03_rb /) kao(:, 2, 6, 6) = (/ & & 0.51946e-03_rb,0.59932e-03_rb,0.61091e-03_rb,0.59626e-03_rb,0.56011e-03_rb, & & 0.50076e-03_rb,0.43158e-03_rb,0.34422e-03_rb,0.13452e-03_rb /) kao(:, 3, 6, 6) = (/ & & 0.54355e-03_rb,0.63601e-03_rb,0.65111e-03_rb,0.63466e-03_rb,0.59552e-03_rb, & & 0.53122e-03_rb,0.45996e-03_rb,0.37172e-03_rb,0.15179e-03_rb /) kao(:, 4, 6, 6) = (/ & & 0.56762e-03_rb,0.67321e-03_rb,0.69130e-03_rb,0.67433e-03_rb,0.63164e-03_rb, & & 0.56508e-03_rb,0.49145e-03_rb,0.39979e-03_rb,0.17118e-03_rb /) kao(:, 5, 6, 6) = (/ & & 0.59180e-03_rb,0.71065e-03_rb,0.73195e-03_rb,0.71355e-03_rb,0.66898e-03_rb, & & 0.60268e-03_rb,0.52617e-03_rb,0.43141e-03_rb,0.19263e-03_rb /) kao(:, 1, 7, 6) = (/ & & 0.41932e-03_rb,0.47346e-03_rb,0.47850e-03_rb,0.46519e-03_rb,0.43628e-03_rb, & & 0.39132e-03_rb,0.33641e-03_rb,0.26485e-03_rb,0.10000e-03_rb /) kao(:, 2, 7, 6) = (/ & & 0.43848e-03_rb,0.50411e-03_rb,0.51171e-03_rb,0.49803e-03_rb,0.46737e-03_rb, & & 0.41801e-03_rb,0.35878e-03_rb,0.28532e-03_rb,0.11408e-03_rb /) kao(:, 3, 7, 6) = (/ & & 0.45836e-03_rb,0.53506e-03_rb,0.54578e-03_rb,0.53230e-03_rb,0.49970e-03_rb, & & 0.44506e-03_rb,0.38306e-03_rb,0.30828e-03_rb,0.13001e-03_rb /) kao(:, 4, 7, 6) = (/ & & 0.47855e-03_rb,0.56639e-03_rb,0.58020e-03_rb,0.56722e-03_rb,0.53202e-03_rb, & & 0.47546e-03_rb,0.41064e-03_rb,0.33104e-03_rb,0.14676e-03_rb /) kao(:, 5, 7, 6) = (/ & & 0.49885e-03_rb,0.59805e-03_rb,0.61555e-03_rb,0.60152e-03_rb,0.56466e-03_rb, & & 0.50884e-03_rb,0.44071e-03_rb,0.35766e-03_rb,0.16471e-03_rb /) kao(:, 1, 8, 6) = (/ & & 0.35434e-03_rb,0.39784e-03_rb,0.40003e-03_rb,0.38643e-03_rb,0.36029e-03_rb, & & 0.32228e-03_rb,0.27705e-03_rb,0.21936e-03_rb,0.85304e-04_rb /) kao(:, 2, 8, 6) = (/ & & 0.36972e-03_rb,0.42325e-03_rb,0.42802e-03_rb,0.41467e-03_rb,0.38745e-03_rb, & & 0.34637e-03_rb,0.29590e-03_rb,0.23622e-03_rb,0.97535e-04_rb /) kao(:, 3, 8, 6) = (/ & & 0.38589e-03_rb,0.44905e-03_rb,0.45611e-03_rb,0.44402e-03_rb,0.41681e-03_rb, & & 0.37125e-03_rb,0.31793e-03_rb,0.25523e-03_rb,0.11156e-03_rb /) kao(:, 4, 8, 6) = (/ & & 0.40282e-03_rb,0.47505e-03_rb,0.48489e-03_rb,0.47391e-03_rb,0.44440e-03_rb, & & 0.39797e-03_rb,0.34220e-03_rb,0.27395e-03_rb,0.12650e-03_rb /) kao(:, 5, 8, 6) = (/ & & 0.41971e-03_rb,0.50175e-03_rb,0.51511e-03_rb,0.50365e-03_rb,0.47246e-03_rb, & & 0.42646e-03_rb,0.36852e-03_rb,0.29705e-03_rb,0.14272e-03_rb /) kao(:, 1, 9, 6) = (/ & & 0.29829e-03_rb,0.33364e-03_rb,0.33392e-03_rb,0.32092e-03_rb,0.29738e-03_rb, & & 0.26469e-03_rb,0.22642e-03_rb,0.18017e-03_rb,0.77064e-04_rb /) kao(:, 2, 9, 6) = (/ & & 0.31054e-03_rb,0.35463e-03_rb,0.35704e-03_rb,0.34432e-03_rb,0.32083e-03_rb, & & 0.28575e-03_rb,0.24402e-03_rb,0.19441e-03_rb,0.87743e-04_rb /) kao(:, 3, 9, 6) = (/ & & 0.32389e-03_rb,0.37581e-03_rb,0.38023e-03_rb,0.36873e-03_rb,0.34562e-03_rb, & & 0.30799e-03_rb,0.26274e-03_rb,0.21037e-03_rb,0.99662e-04_rb /) kao(:, 4, 9, 6) = (/ & & 0.33808e-03_rb,0.39748e-03_rb,0.40404e-03_rb,0.39387e-03_rb,0.36968e-03_rb, & & 0.33141e-03_rb,0.28405e-03_rb,0.22647e-03_rb,0.11282e-03_rb /) kao(:, 5, 9, 6) = (/ & & 0.35231e-03_rb,0.41983e-03_rb,0.42961e-03_rb,0.41951e-03_rb,0.39352e-03_rb, & & 0.35528e-03_rb,0.30599e-03_rb,0.24648e-03_rb,0.12841e-03_rb /) kao(:, 1,10, 6) = (/ & & 0.25036e-03_rb,0.27999e-03_rb,0.27949e-03_rb,0.26793e-03_rb,0.24735e-03_rb, & & 0.21800e-03_rb,0.18604e-03_rb,0.14807e-03_rb,0.93146e-04_rb /) kao(:, 2,10, 6) = (/ & & 0.26009e-03_rb,0.29745e-03_rb,0.29870e-03_rb,0.28727e-03_rb,0.26656e-03_rb, & & 0.23674e-03_rb,0.20160e-03_rb,0.16012e-03_rb,0.10408e-03_rb /) kao(:, 3,10, 6) = (/ & & 0.27084e-03_rb,0.31508e-03_rb,0.31779e-03_rb,0.30720e-03_rb,0.28751e-03_rb, & & 0.25636e-03_rb,0.21818e-03_rb,0.17357e-03_rb,0.11611e-03_rb /) kao(:, 4,10, 6) = (/ & & 0.28251e-03_rb,0.33335e-03_rb,0.33759e-03_rb,0.32814e-03_rb,0.30785e-03_rb, & & 0.27625e-03_rb,0.23573e-03_rb,0.18761e-03_rb,0.12959e-03_rb /) kao(:, 5,10, 6) = (/ & & 0.29455e-03_rb,0.35211e-03_rb,0.35903e-03_rb,0.34997e-03_rb,0.32871e-03_rb, & & 0.29658e-03_rb,0.25454e-03_rb,0.20476e-03_rb,0.14404e-03_rb /) kao(:, 1,11, 6) = (/ & & 0.21327e-03_rb,0.24042e-03_rb,0.24026e-03_rb,0.23068e-03_rb,0.21276e-03_rb, & & 0.18665e-03_rb,0.15901e-03_rb,0.12570e-03_rb,0.94295e-04_rb /) kao(:, 2,11, 6) = (/ & & 0.22127e-03_rb,0.25493e-03_rb,0.25609e-03_rb,0.24693e-03_rb,0.22931e-03_rb, & & 0.20329e-03_rb,0.17265e-03_rb,0.13686e-03_rb,0.10535e-03_rb /) kao(:, 3,11, 6) = (/ & & 0.23042e-03_rb,0.26962e-03_rb,0.27233e-03_rb,0.26383e-03_rb,0.24677e-03_rb, & & 0.22030e-03_rb,0.18718e-03_rb,0.14788e-03_rb,0.11369e-03_rb /) kao(:, 4,11, 6) = (/ & & 0.24025e-03_rb,0.28500e-03_rb,0.28961e-03_rb,0.28171e-03_rb,0.26402e-03_rb, & & 0.23726e-03_rb,0.20232e-03_rb,0.16110e-03_rb,0.12526e-03_rb /) kao(:, 5,11, 6) = (/ & & 0.25035e-03_rb,0.30139e-03_rb,0.30818e-03_rb,0.30033e-03_rb,0.28246e-03_rb, & & 0.25541e-03_rb,0.21869e-03_rb,0.17592e-03_rb,0.13806e-03_rb /) kao(:, 1,12, 6) = (/ & & 0.18213e-03_rb,0.20563e-03_rb,0.20558e-03_rb,0.19744e-03_rb,0.18197e-03_rb, & & 0.15967e-03_rb,0.13562e-03_rb,0.10709e-03_rb,0.84300e-04_rb /) kao(:, 2,12, 6) = (/ & & 0.18873e-03_rb,0.21755e-03_rb,0.21877e-03_rb,0.21098e-03_rb,0.19617e-03_rb, & & 0.17419e-03_rb,0.14735e-03_rb,0.11726e-03_rb,0.96090e-04_rb /) kao(:, 3,12, 6) = (/ & & 0.19633e-03_rb,0.22994e-03_rb,0.23250e-03_rb,0.22538e-03_rb,0.21092e-03_rb, & & 0.18881e-03_rb,0.15987e-03_rb,0.12650e-03_rb,0.10477e-03_rb /) kao(:, 4,12, 6) = (/ & & 0.20445e-03_rb,0.24309e-03_rb,0.24729e-03_rb,0.24084e-03_rb,0.22613e-03_rb, & & 0.20371e-03_rb,0.17330e-03_rb,0.13785e-03_rb,0.11268e-03_rb /) kao(:, 5,12, 6) = (/ & & 0.21299e-03_rb,0.25719e-03_rb,0.26315e-03_rb,0.25711e-03_rb,0.24260e-03_rb, & & 0.21944e-03_rb,0.18764e-03_rb,0.15038e-03_rb,0.12367e-03_rb /) kao(:, 1,13, 6) = (/ & & 0.15527e-03_rb,0.17641e-03_rb,0.17566e-03_rb,0.16836e-03_rb,0.15534e-03_rb, & & 0.13636e-03_rb,0.11530e-03_rb,0.91307e-04_rb,0.70205e-04_rb /) kao(:, 2,13, 6) = (/ & & 0.16096e-03_rb,0.18612e-03_rb,0.18657e-03_rb,0.17973e-03_rb,0.16702e-03_rb, & & 0.14851e-03_rb,0.12550e-03_rb,0.99145e-04_rb,0.79984e-04_rb /) kao(:, 3,13, 6) = (/ & & 0.16748e-03_rb,0.19648e-03_rb,0.19822e-03_rb,0.19209e-03_rb,0.17957e-03_rb, & & 0.16107e-03_rb,0.13652e-03_rb,0.10753e-03_rb,0.86067e-04_rb /) kao(:, 4,13, 6) = (/ & & 0.17450e-03_rb,0.20751e-03_rb,0.21098e-03_rb,0.20534e-03_rb,0.19295e-03_rb, & & 0.17420e-03_rb,0.14816e-03_rb,0.11772e-03_rb,0.93252e-04_rb /) kao(:, 5,13, 6) = (/ & & 0.18233e-03_rb,0.21950e-03_rb,0.22442e-03_rb,0.21958e-03_rb,0.20754e-03_rb, & & 0.18842e-03_rb,0.16097e-03_rb,0.12851e-03_rb,0.10278e-03_rb /) kao(:, 1, 1, 7) = (/ & & 0.23852e-02_rb,0.24955e-02_rb,0.25247e-02_rb,0.24784e-02_rb,0.23525e-02_rb, & & 0.21437e-02_rb,0.18704e-02_rb,0.15353e-02_rb,0.99116e-03_rb /) kao(:, 2, 1, 7) = (/ & & 0.23950e-02_rb,0.25560e-02_rb,0.26150e-02_rb,0.25851e-02_rb,0.24612e-02_rb, & & 0.22632e-02_rb,0.20004e-02_rb,0.16585e-02_rb,0.11087e-02_rb /) kao(:, 3, 1, 7) = (/ & & 0.24020e-02_rb,0.26226e-02_rb,0.27112e-02_rb,0.26940e-02_rb,0.25772e-02_rb, & & 0.23915e-02_rb,0.21332e-02_rb,0.17859e-02_rb,0.12435e-02_rb /) kao(:, 4, 1, 7) = (/ & & 0.24093e-02_rb,0.26930e-02_rb,0.28096e-02_rb,0.28038e-02_rb,0.27017e-02_rb, & & 0.25227e-02_rb,0.22696e-02_rb,0.19198e-02_rb,0.13912e-02_rb /) kao(:, 5, 1, 7) = (/ & & 0.24224e-02_rb,0.27647e-02_rb,0.29093e-02_rb,0.29173e-02_rb,0.28299e-02_rb, & & 0.26579e-02_rb,0.24103e-02_rb,0.20612e-02_rb,0.15535e-02_rb /) kao(:, 1, 2, 7) = (/ & & 0.20974e-02_rb,0.22118e-02_rb,0.22296e-02_rb,0.21778e-02_rb,0.20625e-02_rb, & & 0.18815e-02_rb,0.16530e-02_rb,0.13562e-02_rb,0.82141e-03_rb /) kao(:, 2, 2, 7) = (/ & & 0.21046e-02_rb,0.22702e-02_rb,0.23143e-02_rb,0.22813e-02_rb,0.21720e-02_rb, & & 0.19971e-02_rb,0.17712e-02_rb,0.14678e-02_rb,0.93003e-03_rb /) kao(:, 3, 2, 7) = (/ & & 0.21127e-02_rb,0.23326e-02_rb,0.24062e-02_rb,0.23885e-02_rb,0.22861e-02_rb, & & 0.21193e-02_rb,0.18939e-02_rb,0.15834e-02_rb,0.10463e-02_rb /) kao(:, 4, 2, 7) = (/ & & 0.21272e-02_rb,0.23971e-02_rb,0.25002e-02_rb,0.24977e-02_rb,0.24074e-02_rb, & & 0.22461e-02_rb,0.20177e-02_rb,0.17030e-02_rb,0.11732e-02_rb /) kao(:, 5, 2, 7) = (/ & & 0.21483e-02_rb,0.24652e-02_rb,0.25947e-02_rb,0.26138e-02_rb,0.25341e-02_rb, & & 0.23755e-02_rb,0.21449e-02_rb,0.18299e-02_rb,0.13107e-02_rb /) kao(:, 1, 3, 7) = (/ & & 0.18244e-02_rb,0.19320e-02_rb,0.19387e-02_rb,0.18795e-02_rb,0.17712e-02_rb, & & 0.16188e-02_rb,0.14258e-02_rb,0.11664e-02_rb,0.66404e-03_rb /) kao(:, 2, 3, 7) = (/ & & 0.18322e-02_rb,0.19846e-02_rb,0.20150e-02_rb,0.19741e-02_rb,0.18746e-02_rb, & & 0.17292e-02_rb,0.15311e-02_rb,0.12668e-02_rb,0.75772e-03_rb /) kao(:, 3, 3, 7) = (/ & & 0.18451e-02_rb,0.20412e-02_rb,0.20960e-02_rb,0.20746e-02_rb,0.19871e-02_rb, & & 0.18444e-02_rb,0.16430e-02_rb,0.13711e-02_rb,0.85470e-03_rb /) kao(:, 4, 3, 7) = (/ & & 0.18657e-02_rb,0.21020e-02_rb,0.21815e-02_rb,0.21798e-02_rb,0.21034e-02_rb, & & 0.19629e-02_rb,0.17571e-02_rb,0.14786e-02_rb,0.95834e-03_rb /) kao(:, 5, 3, 7) = (/ & & 0.18943e-02_rb,0.21674e-02_rb,0.22717e-02_rb,0.22915e-02_rb,0.22239e-02_rb, & & 0.20844e-02_rb,0.18739e-02_rb,0.15906e-02_rb,0.10775e-02_rb /) kao(:, 1, 4, 7) = (/ & & 0.15758e-02_rb,0.16711e-02_rb,0.16675e-02_rb,0.16043e-02_rb,0.15088e-02_rb, & & 0.13785e-02_rb,0.12140e-02_rb,0.98780e-03_rb,0.53258e-03_rb /) kao(:, 2, 4, 7) = (/ & & 0.15867e-02_rb,0.17169e-02_rb,0.17338e-02_rb,0.16891e-02_rb,0.16022e-02_rb, & & 0.14807e-02_rb,0.13108e-02_rb,0.10774e-02_rb,0.61127e-03_rb /) kao(:, 3, 4, 7) = (/ & & 0.16043e-02_rb,0.17687e-02_rb,0.18047e-02_rb,0.17788e-02_rb,0.17054e-02_rb, & & 0.15869e-02_rb,0.14121e-02_rb,0.11700e-02_rb,0.69092e-03_rb /) kao(:, 4, 4, 7) = (/ & & 0.16308e-02_rb,0.18263e-02_rb,0.18817e-02_rb,0.18741e-02_rb,0.18139e-02_rb, & & 0.16955e-02_rb,0.15162e-02_rb,0.12673e-02_rb,0.77859e-03_rb /) kao(:, 5, 4, 7) = (/ & & 0.16631e-02_rb,0.18894e-02_rb,0.19653e-02_rb,0.19764e-02_rb,0.19240e-02_rb, & & 0.18069e-02_rb,0.16237e-02_rb,0.13697e-02_rb,0.87657e-03_rb /) kao(:, 1, 5, 7) = (/ & & 0.13575e-02_rb,0.14376e-02_rb,0.14238e-02_rb,0.13660e-02_rb,0.12806e-02_rb, & & 0.11664e-02_rb,0.10231e-02_rb,0.82794e-03_rb,0.42595e-03_rb /) kao(:, 2, 5, 7) = (/ & & 0.13711e-02_rb,0.14787e-02_rb,0.14807e-02_rb,0.14369e-02_rb,0.13637e-02_rb, & & 0.12570e-02_rb,0.11125e-02_rb,0.90729e-03_rb,0.48990e-03_rb /) kao(:, 3, 5, 7) = (/ & & 0.13932e-02_rb,0.15262e-02_rb,0.15434e-02_rb,0.15158e-02_rb,0.14536e-02_rb, & & 0.13534e-02_rb,0.12033e-02_rb,0.99132e-03_rb,0.55848e-03_rb /) kao(:, 4, 5, 7) = (/ & & 0.14217e-02_rb,0.15804e-02_rb,0.16130e-02_rb,0.16009e-02_rb,0.15482e-02_rb, & & 0.14537e-02_rb,0.12991e-02_rb,0.10796e-02_rb,0.63246e-03_rb /) kao(:, 5, 5, 7) = (/ & & 0.14548e-02_rb,0.16406e-02_rb,0.16899e-02_rb,0.16924e-02_rb,0.16473e-02_rb, & & 0.15538e-02_rb,0.13988e-02_rb,0.11736e-02_rb,0.71422e-03_rb /) kao(:, 1, 6, 7) = (/ & & 0.11657e-02_rb,0.12310e-02_rb,0.12114e-02_rb,0.11593e-02_rb,0.10807e-02_rb, & & 0.97870e-03_rb,0.85220e-03_rb,0.68679e-03_rb,0.33278e-03_rb /) kao(:, 2, 6, 7) = (/ & & 0.11817e-02_rb,0.12689e-02_rb,0.12606e-02_rb,0.12200e-02_rb,0.11515e-02_rb, & & 0.10575e-02_rb,0.93300e-03_rb,0.75653e-03_rb,0.38390e-03_rb /) kao(:, 3, 6, 7) = (/ & & 0.12052e-02_rb,0.13132e-02_rb,0.13166e-02_rb,0.12868e-02_rb,0.12281e-02_rb, & & 0.11419e-02_rb,0.10150e-02_rb,0.83054e-03_rb,0.44291e-03_rb /) kao(:, 4, 6, 7) = (/ & & 0.12337e-02_rb,0.13638e-02_rb,0.13800e-02_rb,0.13608e-02_rb,0.13105e-02_rb, & & 0.12294e-02_rb,0.11010e-02_rb,0.91218e-03_rb,0.50714e-03_rb /) kao(:, 5, 6, 7) = (/ & & 0.12657e-02_rb,0.14200e-02_rb,0.14498e-02_rb,0.14421e-02_rb,0.13994e-02_rb, & & 0.13201e-02_rb,0.11915e-02_rb,0.99447e-03_rb,0.57759e-03_rb /) kao(:, 1, 7, 7) = (/ & & 0.99495e-03_rb,0.10489e-02_rb,0.10293e-02_rb,0.98184e-03_rb,0.91156e-03_rb, & & 0.82083e-03_rb,0.70758e-03_rb,0.56387e-03_rb,0.26025e-03_rb /) kao(:, 2, 7, 7) = (/ & & 0.10122e-02_rb,0.10837e-02_rb,0.10724e-02_rb,0.10344e-02_rb,0.96982e-03_rb, & & 0.88589e-03_rb,0.77530e-03_rb,0.62605e-03_rb,0.29914e-03_rb /) kao(:, 3, 7, 7) = (/ & & 0.10351e-02_rb,0.11253e-02_rb,0.11236e-02_rb,0.10922e-02_rb,0.10352e-02_rb, & & 0.95724e-03_rb,0.84889e-03_rb,0.69076e-03_rb,0.34305e-03_rb /) kao(:, 4, 7, 7) = (/ & & 0.10622e-02_rb,0.11721e-02_rb,0.11813e-02_rb,0.11564e-02_rb,0.11065e-02_rb, & & 0.10331e-02_rb,0.92494e-03_rb,0.76297e-03_rb,0.39175e-03_rb /) kao(:, 5, 7, 7) = (/ & & 0.10903e-02_rb,0.12244e-02_rb,0.12441e-02_rb,0.12287e-02_rb,0.11845e-02_rb, & & 0.11129e-02_rb,0.10035e-02_rb,0.83648e-03_rb,0.44712e-03_rb /) kao(:, 1, 8, 7) = (/ & & 0.84532e-03_rb,0.88892e-03_rb,0.86965e-03_rb,0.82727e-03_rb,0.76674e-03_rb, & & 0.68807e-03_rb,0.58679e-03_rb,0.46179e-03_rb,0.21931e-03_rb /) kao(:, 2, 8, 7) = (/ & & 0.86227e-03_rb,0.92051e-03_rb,0.90826e-03_rb,0.87315e-03_rb,0.81675e-03_rb, & & 0.74173e-03_rb,0.64502e-03_rb,0.51436e-03_rb,0.25538e-03_rb /) kao(:, 3, 8, 7) = (/ & & 0.88387e-03_rb,0.95827e-03_rb,0.95473e-03_rb,0.92480e-03_rb,0.87135e-03_rb, & & 0.80090e-03_rb,0.70594e-03_rb,0.57141e-03_rb,0.29275e-03_rb /) kao(:, 4, 8, 7) = (/ & & 0.90659e-03_rb,0.10014e-02_rb,0.10072e-02_rb,0.98186e-03_rb,0.93348e-03_rb, & & 0.86582e-03_rb,0.77148e-03_rb,0.63431e-03_rb,0.33522e-03_rb /) kao(:, 5, 8, 7) = (/ & & 0.93066e-03_rb,0.10477e-02_rb,0.10640e-02_rb,0.10456e-02_rb,0.10022e-02_rb, & & 0.93597e-03_rb,0.84005e-03_rb,0.69831e-03_rb,0.38214e-03_rb /) kao(:, 1, 9, 7) = (/ & & 0.71681e-03_rb,0.75151e-03_rb,0.73165e-03_rb,0.69303e-03_rb,0.64106e-03_rb, & & 0.57326e-03_rb,0.48762e-03_rb,0.37724e-03_rb,0.19963e-03_rb /) kao(:, 2, 9, 7) = (/ & & 0.73278e-03_rb,0.77936e-03_rb,0.76580e-03_rb,0.73272e-03_rb,0.68369e-03_rb, & & 0.61851e-03_rb,0.53463e-03_rb,0.42190e-03_rb,0.23258e-03_rb /) kao(:, 3, 9, 7) = (/ & & 0.75147e-03_rb,0.81327e-03_rb,0.80692e-03_rb,0.77827e-03_rb,0.73101e-03_rb, & & 0.66869e-03_rb,0.58582e-03_rb,0.47030e-03_rb,0.26770e-03_rb /) kao(:, 4, 9, 7) = (/ & & 0.77011e-03_rb,0.85035e-03_rb,0.85331e-03_rb,0.82912e-03_rb,0.78414e-03_rb, & & 0.72425e-03_rb,0.64047e-03_rb,0.52434e-03_rb,0.30603e-03_rb /) kao(:, 5, 9, 7) = (/ & & 0.79031e-03_rb,0.89033e-03_rb,0.90223e-03_rb,0.88462e-03_rb,0.84489e-03_rb, & & 0.78478e-03_rb,0.70032e-03_rb,0.57826e-03_rb,0.34848e-03_rb /) kao(:, 1,10, 7) = (/ & & 0.60860e-03_rb,0.63631e-03_rb,0.61722e-03_rb,0.58182e-03_rb,0.53631e-03_rb, & & 0.47875e-03_rb,0.40598e-03_rb,0.31001e-03_rb,0.21716e-03_rb /) kao(:, 2,10, 7) = (/ & & 0.62300e-03_rb,0.66096e-03_rb,0.64723e-03_rb,0.61624e-03_rb,0.57283e-03_rb, & & 0.51614e-03_rb,0.44515e-03_rb,0.34783e-03_rb,0.24030e-03_rb /) kao(:, 3,10, 7) = (/ & & 0.63811e-03_rb,0.69041e-03_rb,0.68320e-03_rb,0.65609e-03_rb,0.61386e-03_rb, & & 0.55902e-03_rb,0.48770e-03_rb,0.38933e-03_rb,0.26729e-03_rb /) kao(:, 4,10, 7) = (/ & & 0.65360e-03_rb,0.72213e-03_rb,0.72254e-03_rb,0.70011e-03_rb,0.66034e-03_rb, & & 0.60659e-03_rb,0.53507e-03_rb,0.43477e-03_rb,0.29849e-03_rb /) kao(:, 5,10, 7) = (/ & & 0.67038e-03_rb,0.75665e-03_rb,0.76418e-03_rb,0.74727e-03_rb,0.71207e-03_rb, & & 0.65924e-03_rb,0.58660e-03_rb,0.48108e-03_rb,0.33464e-03_rb /) kao(:, 1,11, 7) = (/ & & 0.52185e-03_rb,0.54797e-03_rb,0.53190e-03_rb,0.50128e-03_rb,0.46230e-03_rb, & & 0.41291e-03_rb,0.35086e-03_rb,0.26843e-03_rb,0.22407e-03_rb /) kao(:, 2,11, 7) = (/ & & 0.53416e-03_rb,0.57111e-03_rb,0.56029e-03_rb,0.53286e-03_rb,0.49524e-03_rb, & & 0.44633e-03_rb,0.38530e-03_rb,0.30138e-03_rb,0.24793e-03_rb /) kao(:, 3,11, 7) = (/ & & 0.54635e-03_rb,0.59685e-03_rb,0.59183e-03_rb,0.56852e-03_rb,0.53236e-03_rb, & & 0.48455e-03_rb,0.42287e-03_rb,0.33910e-03_rb,0.27073e-03_rb /) kao(:, 4,11, 7) = (/ & & 0.55941e-03_rb,0.62493e-03_rb,0.62582e-03_rb,0.60673e-03_rb,0.57348e-03_rb, & & 0.52713e-03_rb,0.46523e-03_rb,0.37861e-03_rb,0.29520e-03_rb /) kao(:, 5,11, 7) = (/ & & 0.57459e-03_rb,0.65537e-03_rb,0.66217e-03_rb,0.64854e-03_rb,0.61857e-03_rb, & & 0.57343e-03_rb,0.51159e-03_rb,0.41997e-03_rb,0.32408e-03_rb /) kao(:, 1,12, 7) = (/ & & 0.44547e-03_rb,0.47205e-03_rb,0.45856e-03_rb,0.43259e-03_rb,0.39885e-03_rb, & & 0.35629e-03_rb,0.30273e-03_rb,0.23099e-03_rb,0.20507e-03_rb /) kao(:, 2,12, 7) = (/ & & 0.45530e-03_rb,0.49200e-03_rb,0.48355e-03_rb,0.46058e-03_rb,0.42831e-03_rb, & & 0.38615e-03_rb,0.33301e-03_rb,0.25970e-03_rb,0.22582e-03_rb /) kao(:, 3,12, 7) = (/ & & 0.46565e-03_rb,0.51443e-03_rb,0.51077e-03_rb,0.49108e-03_rb,0.46067e-03_rb, & & 0.41962e-03_rb,0.36657e-03_rb,0.29355e-03_rb,0.24853e-03_rb /) kao(:, 4,12, 7) = (/ & & 0.47732e-03_rb,0.53905e-03_rb,0.54027e-03_rb,0.52415e-03_rb,0.49634e-03_rb, & & 0.45650e-03_rb,0.40422e-03_rb,0.32887e-03_rb,0.26943e-03_rb /) kao(:, 5,12, 7) = (/ & & 0.49131e-03_rb,0.56624e-03_rb,0.57259e-03_rb,0.56091e-03_rb,0.53532e-03_rb, & & 0.49724e-03_rb,0.44494e-03_rb,0.36671e-03_rb,0.29370e-03_rb /) kao(:, 1,13, 7) = (/ & & 0.37861e-03_rb,0.40433e-03_rb,0.39425e-03_rb,0.37277e-03_rb,0.34384e-03_rb, & & 0.30718e-03_rb,0.26082e-03_rb,0.19813e-03_rb,0.17021e-03_rb /) kao(:, 2,13, 7) = (/ & & 0.38646e-03_rb,0.42180e-03_rb,0.41569e-03_rb,0.39676e-03_rb,0.36941e-03_rb, & & 0.33370e-03_rb,0.28746e-03_rb,0.22445e-03_rb,0.18768e-03_rb /) kao(:, 3,13, 7) = (/ & & 0.39522e-03_rb,0.44150e-03_rb,0.43928e-03_rb,0.42293e-03_rb,0.39746e-03_rb, & & 0.36268e-03_rb,0.31709e-03_rb,0.25391e-03_rb,0.20463e-03_rb /) kao(:, 4,13, 7) = (/ & & 0.40576e-03_rb,0.46362e-03_rb,0.46497e-03_rb,0.45178e-03_rb,0.42852e-03_rb, & & 0.39486e-03_rb,0.34992e-03_rb,0.28472e-03_rb,0.22430e-03_rb /) kao(:, 5,13, 7) = (/ & & 0.41810e-03_rb,0.48813e-03_rb,0.49424e-03_rb,0.48434e-03_rb,0.46280e-03_rb, & & 0.43027e-03_rb,0.38540e-03_rb,0.31863e-03_rb,0.24541e-03_rb /) kao(:, 1, 1, 8) = (/ & & 0.52571e-02_rb,0.51649e-02_rb,0.50998e-02_rb,0.49978e-02_rb,0.48299e-02_rb, & & 0.45478e-02_rb,0.41071e-02_rb,0.34884e-02_rb,0.27402e-02_rb /) kao(:, 2, 1, 8) = (/ & & 0.51967e-02_rb,0.52277e-02_rb,0.52437e-02_rb,0.52099e-02_rb,0.50894e-02_rb, & & 0.48424e-02_rb,0.44165e-02_rb,0.38421e-02_rb,0.31643e-02_rb /) kao(:, 3, 1, 8) = (/ & & 0.51548e-02_rb,0.53047e-02_rb,0.54023e-02_rb,0.54271e-02_rb,0.53544e-02_rb, & & 0.51370e-02_rb,0.47457e-02_rb,0.42178e-02_rb,0.36142e-02_rb /) kao(:, 4, 1, 8) = (/ & & 0.51293e-02_rb,0.53942e-02_rb,0.55672e-02_rb,0.56512e-02_rb,0.56201e-02_rb, & & 0.54409e-02_rb,0.50927e-02_rb,0.46186e-02_rb,0.40998e-02_rb /) kao(:, 5, 1, 8) = (/ & & 0.51178e-02_rb,0.54996e-02_rb,0.57406e-02_rb,0.58798e-02_rb,0.58932e-02_rb, & & 0.57606e-02_rb,0.54613e-02_rb,0.50399e-02_rb,0.46100e-02_rb /) kao(:, 1, 2, 8) = (/ & & 0.47778e-02_rb,0.47398e-02_rb,0.47115e-02_rb,0.46169e-02_rb,0.44426e-02_rb, & & 0.41630e-02_rb,0.37511e-02_rb,0.31426e-02_rb,0.23122e-02_rb /) kao(:, 2, 2, 8) = (/ & & 0.47384e-02_rb,0.48111e-02_rb,0.48532e-02_rb,0.48144e-02_rb,0.46755e-02_rb, & & 0.44342e-02_rb,0.40397e-02_rb,0.34599e-02_rb,0.26698e-02_rb /) kao(:, 3, 2, 8) = (/ & & 0.47181e-02_rb,0.49025e-02_rb,0.50071e-02_rb,0.50151e-02_rb,0.49194e-02_rb, & & 0.47085e-02_rb,0.43402e-02_rb,0.37956e-02_rb,0.30630e-02_rb /) kao(:, 4, 2, 8) = (/ & & 0.47137e-02_rb,0.50070e-02_rb,0.51691e-02_rb,0.52245e-02_rb,0.51706e-02_rb, & & 0.49959e-02_rb,0.46583e-02_rb,0.41574e-02_rb,0.34865e-02_rb /) kao(:, 5, 2, 8) = (/ & & 0.47212e-02_rb,0.51234e-02_rb,0.53397e-02_rb,0.54379e-02_rb,0.54276e-02_rb, & & 0.52983e-02_rb,0.49978e-02_rb,0.45412e-02_rb,0.39357e-02_rb /) kao(:, 1, 3, 8) = (/ & & 0.42971e-02_rb,0.42851e-02_rb,0.42729e-02_rb,0.41707e-02_rb,0.39926e-02_rb, & & 0.37146e-02_rb,0.33264e-02_rb,0.27717e-02_rb,0.18852e-02_rb /) kao(:, 2, 3, 8) = (/ & & 0.42740e-02_rb,0.43647e-02_rb,0.44079e-02_rb,0.43562e-02_rb,0.42040e-02_rb, & & 0.39559e-02_rb,0.35908e-02_rb,0.30443e-02_rb,0.21816e-02_rb /) kao(:, 3, 3, 8) = (/ & & 0.42703e-02_rb,0.44650e-02_rb,0.45616e-02_rb,0.45425e-02_rb,0.44233e-02_rb, & & 0.42066e-02_rb,0.38676e-02_rb,0.33396e-02_rb,0.25126e-02_rb /) kao(:, 4, 3, 8) = (/ & & 0.42812e-02_rb,0.45806e-02_rb,0.47230e-02_rb,0.47371e-02_rb,0.46519e-02_rb, & & 0.44691e-02_rb,0.41620e-02_rb,0.36586e-02_rb,0.28704e-02_rb /) kao(:, 5, 3, 8) = (/ & & 0.43030e-02_rb,0.47042e-02_rb,0.48922e-02_rb,0.49377e-02_rb,0.48939e-02_rb, & & 0.47477e-02_rb,0.44742e-02_rb,0.39985e-02_rb,0.32501e-02_rb /) kao(:, 1, 4, 8) = (/ & & 0.38233e-02_rb,0.38279e-02_rb,0.38143e-02_rb,0.37097e-02_rb,0.35270e-02_rb, & & 0.32658e-02_rb,0.29019e-02_rb,0.24142e-02_rb,0.15291e-02_rb /) kao(:, 2, 4, 8) = (/ & & 0.38114e-02_rb,0.39122e-02_rb,0.39475e-02_rb,0.38778e-02_rb,0.37194e-02_rb, & & 0.34777e-02_rb,0.31357e-02_rb,0.26541e-02_rb,0.17758e-02_rb /) kao(:, 3, 4, 8) = (/ & & 0.38202e-02_rb,0.40186e-02_rb,0.40970e-02_rb,0.40542e-02_rb,0.39201e-02_rb, & & 0.37024e-02_rb,0.33826e-02_rb,0.29146e-02_rb,0.20543e-02_rb /) kao(:, 4, 4, 8) = (/ & & 0.38442e-02_rb,0.41385e-02_rb,0.42569e-02_rb,0.42394e-02_rb,0.41310e-02_rb, & & 0.39403e-02_rb,0.36479e-02_rb,0.31917e-02_rb,0.23538e-02_rb /) kao(:, 5, 4, 8) = (/ & & 0.38788e-02_rb,0.42695e-02_rb,0.44229e-02_rb,0.44328e-02_rb,0.43540e-02_rb, & & 0.41948e-02_rb,0.39317e-02_rb,0.34895e-02_rb,0.26724e-02_rb /) kao(:, 1, 5, 8) = (/ & & 0.33660e-02_rb,0.33879e-02_rb,0.33669e-02_rb,0.32570e-02_rb,0.30787e-02_rb, & & 0.28362e-02_rb,0.25094e-02_rb,0.20819e-02_rb,0.12376e-02_rb /) kao(:, 2, 5, 8) = (/ & & 0.33649e-02_rb,0.34740e-02_rb,0.34949e-02_rb,0.34119e-02_rb,0.32508e-02_rb, & & 0.30247e-02_rb,0.27121e-02_rb,0.22949e-02_rb,0.14462e-02_rb /) kao(:, 3, 5, 8) = (/ & & 0.33839e-02_rb,0.35821e-02_rb,0.36398e-02_rb,0.35762e-02_rb,0.34359e-02_rb, & & 0.32230e-02_rb,0.29317e-02_rb,0.25218e-02_rb,0.16788e-02_rb /) kao(:, 4, 5, 8) = (/ & & 0.34188e-02_rb,0.37047e-02_rb,0.37932e-02_rb,0.37524e-02_rb,0.36321e-02_rb, & & 0.34359e-02_rb,0.31677e-02_rb,0.27663e-02_rb,0.19299e-02_rb /) kao(:, 5, 5, 8) = (/ & & 0.34572e-02_rb,0.38382e-02_rb,0.39563e-02_rb,0.39381e-02_rb,0.38416e-02_rb, & & 0.36710e-02_rb,0.34185e-02_rb,0.30298e-02_rb,0.21985e-02_rb /) kao(:, 1, 6, 8) = (/ & & 0.29383e-02_rb,0.29689e-02_rb,0.29375e-02_rb,0.28254e-02_rb,0.26571e-02_rb, & & 0.24356e-02_rb,0.21491e-02_rb,0.17706e-02_rb,0.99284e-03_rb /) kao(:, 2, 6, 8) = (/ & & 0.29460e-02_rb,0.30526e-02_rb,0.30576e-02_rb,0.29676e-02_rb,0.28114e-02_rb, & & 0.25995e-02_rb,0.23244e-02_rb,0.19573e-02_rb,0.11692e-02_rb /) kao(:, 3, 6, 8) = (/ & & 0.29740e-02_rb,0.31582e-02_rb,0.31942e-02_rb,0.31202e-02_rb,0.29785e-02_rb, & & 0.27771e-02_rb,0.25160e-02_rb,0.21565e-02_rb,0.13616e-02_rb /) kao(:, 4, 6, 8) = (/ & & 0.30101e-02_rb,0.32807e-02_rb,0.33417e-02_rb,0.32855e-02_rb,0.31583e-02_rb, & & 0.29708e-02_rb,0.27234e-02_rb,0.23688e-02_rb,0.15696e-02_rb /) kao(:, 5, 6, 8) = (/ & & 0.30525e-02_rb,0.34071e-02_rb,0.34999e-02_rb,0.34618e-02_rb,0.33518e-02_rb, & & 0.31829e-02_rb,0.29437e-02_rb,0.25986e-02_rb,0.17941e-02_rb /) kao(:, 1, 7, 8) = (/ & & 0.25527e-02_rb,0.25837e-02_rb,0.25415e-02_rb,0.24332e-02_rb,0.22747e-02_rb, & & 0.20758e-02_rb,0.18231e-02_rb,0.14951e-02_rb,0.78066e-03_rb /) kao(:, 2, 7, 8) = (/ & & 0.25661e-02_rb,0.26638e-02_rb,0.26497e-02_rb,0.25583e-02_rb,0.24134e-02_rb, & & 0.22212e-02_rb,0.19774e-02_rb,0.16540e-02_rb,0.92809e-03_rb /) kao(:, 3, 7, 8) = (/ & & 0.25966e-02_rb,0.27642e-02_rb,0.27764e-02_rb,0.26998e-02_rb,0.25630e-02_rb, & & 0.23812e-02_rb,0.21449e-02_rb,0.18264e-02_rb,0.10893e-02_rb /) kao(:, 4, 7, 8) = (/ & & 0.26340e-02_rb,0.28771e-02_rb,0.29165e-02_rb,0.28538e-02_rb,0.27279e-02_rb, & & 0.25553e-02_rb,0.23260e-02_rb,0.20107e-02_rb,0.12665e-02_rb /) kao(:, 5, 7, 8) = (/ & & 0.26829e-02_rb,0.29939e-02_rb,0.30639e-02_rb,0.30192e-02_rb,0.29089e-02_rb, & & 0.27450e-02_rb,0.25219e-02_rb,0.22101e-02_rb,0.14584e-02_rb /) kao(:, 1, 8, 8) = (/ & & 0.22109e-02_rb,0.22392e-02_rb,0.21909e-02_rb,0.20870e-02_rb,0.19391e-02_rb, & & 0.17569e-02_rb,0.15368e-02_rb,0.12514e-02_rb,0.62879e-03_rb /) kao(:, 2, 8, 8) = (/ & & 0.22276e-02_rb,0.23140e-02_rb,0.22874e-02_rb,0.21965e-02_rb,0.20609e-02_rb, & & 0.18868e-02_rb,0.16711e-02_rb,0.13887e-02_rb,0.73533e-03_rb /) kao(:, 3, 8, 8) = (/ & & 0.22565e-02_rb,0.24065e-02_rb,0.24031e-02_rb,0.23233e-02_rb,0.21969e-02_rb, & & 0.20302e-02_rb,0.18188e-02_rb,0.15365e-02_rb,0.85609e-03_rb /) kao(:, 4, 8, 8) = (/ & & 0.22974e-02_rb,0.25072e-02_rb,0.25290e-02_rb,0.24653e-02_rb,0.23482e-02_rb, & & 0.21882e-02_rb,0.19777e-02_rb,0.16966e-02_rb,0.98553e-03_rb /) kao(:, 5, 8, 8) = (/ & & 0.23517e-02_rb,0.26173e-02_rb,0.26619e-02_rb,0.26145e-02_rb,0.25139e-02_rb, & & 0.23587e-02_rb,0.21497e-02_rb,0.18671e-02_rb,0.11277e-02_rb /) kao(:, 1, 9, 8) = (/ & & 0.19109e-02_rb,0.19351e-02_rb,0.18847e-02_rb,0.17853e-02_rb,0.16484e-02_rb, & & 0.14828e-02_rb,0.12861e-02_rb,0.10403e-02_rb,0.59847e-03_rb /) kao(:, 2, 9, 8) = (/ & & 0.19272e-02_rb,0.20031e-02_rb,0.19691e-02_rb,0.18817e-02_rb,0.17540e-02_rb, & & 0.15965e-02_rb,0.14036e-02_rb,0.11571e-02_rb,0.69475e-03_rb /) kao(:, 3, 9, 8) = (/ & & 0.19559e-02_rb,0.20842e-02_rb,0.20709e-02_rb,0.19954e-02_rb,0.18765e-02_rb, & & 0.17233e-02_rb,0.15331e-02_rb,0.12839e-02_rb,0.80150e-03_rb /) kao(:, 4, 9, 8) = (/ & & 0.19994e-02_rb,0.21761e-02_rb,0.21815e-02_rb,0.21203e-02_rb,0.20143e-02_rb, & & 0.18645e-02_rb,0.16732e-02_rb,0.14206e-02_rb,0.91777e-03_rb /) kao(:, 5, 9, 8) = (/ & & 0.20550e-02_rb,0.22788e-02_rb,0.23027e-02_rb,0.22546e-02_rb,0.21605e-02_rb, & & 0.20175e-02_rb,0.18247e-02_rb,0.15687e-02_rb,0.10450e-02_rb /) kao(:, 1,10, 8) = (/ & & 0.16445e-02_rb,0.16716e-02_rb,0.16238e-02_rb,0.15300e-02_rb,0.14061e-02_rb, & & 0.12566e-02_rb,0.10807e-02_rb,0.86738e-03_rb,0.60827e-03_rb /) kao(:, 2,10, 8) = (/ & & 0.16600e-02_rb,0.17327e-02_rb,0.16984e-02_rb,0.16154e-02_rb,0.14994e-02_rb, & & 0.13556e-02_rb,0.11827e-02_rb,0.96695e-03_rb,0.70548e-03_rb /) kao(:, 3,10, 8) = (/ & & 0.16905e-02_rb,0.18053e-02_rb,0.17869e-02_rb,0.17163e-02_rb,0.16090e-02_rb, & & 0.14689e-02_rb,0.12961e-02_rb,0.10754e-02_rb,0.80786e-03_rb /) kao(:, 4,10, 8) = (/ & & 0.17354e-02_rb,0.18905e-02_rb,0.18865e-02_rb,0.18272e-02_rb,0.17299e-02_rb, & & 0.15951e-02_rb,0.14192e-02_rb,0.11936e-02_rb,0.91620e-03_rb /) kao(:, 5,10, 8) = (/ & & 0.17884e-02_rb,0.19860e-02_rb,0.19977e-02_rb,0.19501e-02_rb,0.18596e-02_rb, & & 0.17298e-02_rb,0.15525e-02_rb,0.13217e-02_rb,0.10338e-02_rb /) kao(:, 1,11, 8) = (/ & & 0.14133e-02_rb,0.14603e-02_rb,0.14202e-02_rb,0.13407e-02_rb,0.12334e-02_rb, & & 0.11026e-02_rb,0.94643e-03_rb,0.75979e-03_rb,0.57405e-03_rb /) kao(:, 2,11, 8) = (/ & & 0.14357e-02_rb,0.15193e-02_rb,0.14916e-02_rb,0.14232e-02_rb,0.13232e-02_rb, & & 0.11950e-02_rb,0.10392e-02_rb,0.84686e-03_rb,0.65471e-03_rb /) kao(:, 3,11, 8) = (/ & & 0.14730e-02_rb,0.15907e-02_rb,0.15765e-02_rb,0.15172e-02_rb,0.14237e-02_rb, & & 0.12997e-02_rb,0.11424e-02_rb,0.94298e-03_rb,0.75212e-03_rb /) kao(:, 4,11, 8) = (/ & & 0.15188e-02_rb,0.16737e-02_rb,0.16734e-02_rb,0.16227e-02_rb,0.15348e-02_rb, & & 0.14132e-02_rb,0.12544e-02_rb,0.10476e-02_rb,0.85445e-03_rb /) kao(:, 5,11, 8) = (/ & & 0.15705e-02_rb,0.17634e-02_rb,0.17799e-02_rb,0.17387e-02_rb,0.16551e-02_rb, & & 0.15344e-02_rb,0.13744e-02_rb,0.11635e-02_rb,0.96358e-03_rb /) kao(:, 1,12, 8) = (/ & & 0.12145e-02_rb,0.12721e-02_rb,0.12387e-02_rb,0.11722e-02_rb,0.10815e-02_rb, & & 0.96748e-03_rb,0.83052e-03_rb,0.66461e-03_rb,0.51952e-03_rb /) kao(:, 2,12, 8) = (/ & & 0.12432e-02_rb,0.13303e-02_rb,0.13076e-02_rb,0.12500e-02_rb,0.11644e-02_rb, & & 0.10531e-02_rb,0.91410e-03_rb,0.74198e-03_rb,0.58718e-03_rb /) kao(:, 3,12, 8) = (/ & & 0.12811e-02_rb,0.13998e-02_rb,0.13897e-02_rb,0.13394e-02_rb,0.12574e-02_rb, & & 0.11474e-02_rb,0.10067e-02_rb,0.82675e-03_rb,0.66821e-03_rb /) kao(:, 4,12, 8) = (/ & & 0.13251e-02_rb,0.14771e-02_rb,0.14813e-02_rb,0.14393e-02_rb,0.13610e-02_rb, & & 0.12504e-02_rb,0.11057e-02_rb,0.91975e-03_rb,0.76078e-03_rb /) kao(:, 5,12, 8) = (/ & & 0.13700e-02_rb,0.15597e-02_rb,0.15807e-02_rb,0.15467e-02_rb,0.14716e-02_rb, & & 0.13608e-02_rb,0.12138e-02_rb,0.10232e-02_rb,0.85832e-03_rb /) kao(:, 1,13, 8) = (/ & & 0.10471e-02_rb,0.11076e-02_rb,0.10790e-02_rb,0.10231e-02_rb,0.94527e-03_rb, & & 0.84789e-03_rb,0.72861e-03_rb,0.58068e-03_rb,0.44361e-03_rb /) kao(:, 2,13, 8) = (/ & & 0.10765e-02_rb,0.11637e-02_rb,0.11461e-02_rb,0.10966e-02_rb,0.10221e-02_rb, & & 0.92418e-03_rb,0.80364e-03_rb,0.64949e-03_rb,0.50409e-03_rb /) kao(:, 3,13, 8) = (/ & & 0.11121e-02_rb,0.12288e-02_rb,0.12232e-02_rb,0.11802e-02_rb,0.11084e-02_rb, & & 0.10099e-02_rb,0.88562e-03_rb,0.72467e-03_rb,0.57688e-03_rb /) kao(:, 4,13, 8) = (/ & & 0.11491e-02_rb,0.12989e-02_rb,0.13080e-02_rb,0.12720e-02_rb,0.12030e-02_rb, & & 0.11037e-02_rb,0.97404e-03_rb,0.80781e-03_rb,0.65303e-03_rb /) kao(:, 5,13, 8) = (/ & & 0.11880e-02_rb,0.13724e-02_rb,0.13975e-02_rb,0.13701e-02_rb,0.13034e-02_rb, & & 0.12049e-02_rb,0.10715e-02_rb,0.89944e-03_rb,0.73687e-03_rb /) kao(:, 1, 1, 9) = (/ & & 0.14418e-01_rb,0.13406e-01_rb,0.12605e-01_rb,0.11857e-01_rb,0.11091e-01_rb, & & 0.10336e-01_rb,0.95691e-02_rb,0.87036e-02_rb,0.88524e-02_rb /) kao(:, 2, 1, 9) = (/ & & 0.14296e-01_rb,0.13450e-01_rb,0.12870e-01_rb,0.12297e-01_rb,0.11684e-01_rb, & & 0.11070e-01_rb,0.10452e-01_rb,0.97477e-02_rb,0.10154e-01_rb /) kao(:, 3, 1, 9) = (/ & & 0.14166e-01_rb,0.13524e-01_rb,0.13158e-01_rb,0.12768e-01_rb,0.12317e-01_rb, & & 0.11876e-01_rb,0.11397e-01_rb,0.10864e-01_rb,0.11523e-01_rb /) kao(:, 4, 1, 9) = (/ & & 0.14022e-01_rb,0.13622e-01_rb,0.13487e-01_rb,0.13264e-01_rb,0.13003e-01_rb, & & 0.12732e-01_rb,0.12371e-01_rb,0.12050e-01_rb,0.12968e-01_rb /) kao(:, 5, 1, 9) = (/ & & 0.13872e-01_rb,0.13730e-01_rb,0.13820e-01_rb,0.13802e-01_rb,0.13718e-01_rb, & & 0.13604e-01_rb,0.13373e-01_rb,0.13315e-01_rb,0.14498e-01_rb /) kao(:, 1, 2, 9) = (/ & & 0.14547e-01_rb,0.13535e-01_rb,0.12726e-01_rb,0.11955e-01_rb,0.11121e-01_rb, & & 0.10242e-01_rb,0.92998e-02_rb,0.82716e-02_rb,0.79571e-02_rb /) kao(:, 2, 2, 9) = (/ & & 0.14415e-01_rb,0.13577e-01_rb,0.12984e-01_rb,0.12377e-01_rb,0.11698e-01_rb, & & 0.10932e-01_rb,0.10129e-01_rb,0.92199e-02_rb,0.91565e-02_rb /) kao(:, 3, 2, 9) = (/ & & 0.14274e-01_rb,0.13649e-01_rb,0.13264e-01_rb,0.12845e-01_rb,0.12290e-01_rb, & & 0.11686e-01_rb,0.11026e-01_rb,0.10231e-01_rb,0.10415e-01_rb /) kao(:, 4, 2, 9) = (/ & & 0.14122e-01_rb,0.13744e-01_rb,0.13589e-01_rb,0.13325e-01_rb,0.12935e-01_rb, & & 0.12484e-01_rb,0.11950e-01_rb,0.11311e-01_rb,0.11744e-01_rb /) kao(:, 5, 2, 9) = (/ & & 0.13965e-01_rb,0.13855e-01_rb,0.13924e-01_rb,0.13828e-01_rb,0.13608e-01_rb, & & 0.13305e-01_rb,0.12905e-01_rb,0.12457e-01_rb,0.13151e-01_rb /) kao(:, 1, 3, 9) = (/ & & 0.14475e-01_rb,0.13482e-01_rb,0.12654e-01_rb,0.11861e-01_rb,0.10971e-01_rb, & & 0.99930e-02_rb,0.88735e-02_rb,0.76595e-02_rb,0.68509e-02_rb /) kao(:, 2, 3, 9) = (/ & & 0.14335e-01_rb,0.13514e-01_rb,0.12906e-01_rb,0.12263e-01_rb,0.11533e-01_rb, & & 0.10637e-01_rb,0.96386e-02_rb,0.85394e-02_rb,0.79297e-02_rb /) kao(:, 3, 3, 9) = (/ & & 0.14181e-01_rb,0.13576e-01_rb,0.13177e-01_rb,0.12719e-01_rb,0.12099e-01_rb, & & 0.11329e-01_rb,0.10466e-01_rb,0.94601e-02_rb,0.90731e-02_rb /) kao(:, 4, 3, 9) = (/ & & 0.14024e-01_rb,0.13665e-01_rb,0.13491e-01_rb,0.13188e-01_rb,0.12703e-01_rb, & & 0.12072e-01_rb,0.11323e-01_rb,0.10433e-01_rb,0.10295e-01_rb /) kao(:, 5, 3, 9) = (/ & & 0.13862e-01_rb,0.13772e-01_rb,0.13824e-01_rb,0.13679e-01_rb,0.13333e-01_rb, & & 0.12836e-01_rb,0.12214e-01_rb,0.11468e-01_rb,0.11588e-01_rb /) kao(:, 1, 4, 9) = (/ & & 0.14153e-01_rb,0.13216e-01_rb,0.12406e-01_rb,0.11612e-01_rb,0.10690e-01_rb, & & 0.96495e-02_rb,0.84088e-02_rb,0.70121e-02_rb,0.57874e-02_rb /) kao(:, 2, 4, 9) = (/ & & 0.14005e-01_rb,0.13241e-01_rb,0.12647e-01_rb,0.11995e-01_rb,0.11231e-01_rb, & & 0.10266e-01_rb,0.91127e-02_rb,0.78123e-02_rb,0.67372e-02_rb /) kao(:, 3, 4, 9) = (/ & & 0.13845e-01_rb,0.13290e-01_rb,0.12907e-01_rb,0.12438e-01_rb,0.11783e-01_rb, & & 0.10918e-01_rb,0.98730e-02_rb,0.86646e-02_rb,0.77601e-02_rb /) kao(:, 4, 4, 9) = (/ & & 0.13685e-01_rb,0.13375e-01_rb,0.13206e-01_rb,0.12899e-01_rb,0.12360e-01_rb, & & 0.11608e-01_rb,0.10665e-01_rb,0.95624e-02_rb,0.88628e-02_rb /) kao(:, 5, 4, 9) = (/ & & 0.13529e-01_rb,0.13472e-01_rb,0.13531e-01_rb,0.13371e-01_rb,0.12964e-01_rb, & & 0.12311e-01_rb,0.11491e-01_rb,0.10508e-01_rb,0.10039e-01_rb /) kao(:, 1, 5, 9) = (/ & & 0.13587e-01_rb,0.12730e-01_rb,0.11973e-01_rb,0.11204e-01_rb,0.10282e-01_rb, & & 0.92218e-02_rb,0.79316e-02_rb,0.64044e-02_rb,0.48583e-02_rb /) kao(:, 2, 5, 9) = (/ & & 0.13430e-01_rb,0.12751e-01_rb,0.12205e-01_rb,0.11567e-01_rb,0.10798e-01_rb, & & 0.98163e-02_rb,0.85810e-02_rb,0.71221e-02_rb,0.56837e-02_rb /) kao(:, 3, 5, 9) = (/ & & 0.13271e-01_rb,0.12793e-01_rb,0.12448e-01_rb,0.11993e-01_rb,0.11338e-01_rb, & & 0.10437e-01_rb,0.92786e-02_rb,0.78957e-02_rb,0.65802e-02_rb /) kao(:, 4, 5, 9) = (/ & & 0.13115e-01_rb,0.12874e-01_rb,0.12735e-01_rb,0.12440e-01_rb,0.11897e-01_rb, & & 0.11094e-01_rb,0.10003e-01_rb,0.87146e-02_rb,0.75565e-02_rb /) kao(:, 5, 5, 9) = (/ & & 0.12984e-01_rb,0.12973e-01_rb,0.13053e-01_rb,0.12899e-01_rb,0.12481e-01_rb, & & 0.11759e-01_rb,0.10765e-01_rb,0.95850e-02_rb,0.86117e-02_rb /) kao(:, 1, 6, 9) = (/ & & 0.12817e-01_rb,0.12050e-01_rb,0.11369e-01_rb,0.10622e-01_rb,0.97180e-02_rb, & & 0.86745e-02_rb,0.73942e-02_rb,0.58154e-02_rb,0.40318e-02_rb /) kao(:, 2, 6, 9) = (/ & & 0.12656e-01_rb,0.12077e-01_rb,0.11582e-01_rb,0.10960e-01_rb,0.10205e-01_rb, & & 0.92477e-02_rb,0.80000e-02_rb,0.64500e-02_rb,0.47452e-02_rb /) kao(:, 3, 6, 9) = (/ & & 0.12499e-01_rb,0.12115e-01_rb,0.11810e-01_rb,0.11361e-01_rb,0.10734e-01_rb, & & 0.98374e-02_rb,0.86412e-02_rb,0.71467e-02_rb,0.55214e-02_rb /) kao(:, 4, 6, 9) = (/ & & 0.12364e-01_rb,0.12194e-01_rb,0.12081e-01_rb,0.11798e-01_rb,0.11270e-01_rb, & & 0.10459e-01_rb,0.93144e-02_rb,0.78844e-02_rb,0.63718e-02_rb /) kao(:, 5, 6, 9) = (/ & & 0.12255e-01_rb,0.12311e-01_rb,0.12390e-01_rb,0.12242e-01_rb,0.11833e-01_rb, & & 0.11093e-01_rb,0.10016e-01_rb,0.86730e-02_rb,0.72984e-02_rb /) kao(:, 1, 7, 9) = (/ & & 0.11891e-01_rb,0.11226e-01_rb,0.10633e-01_rb,0.99134e-02_rb,0.90439e-02_rb, & & 0.80297e-02_rb,0.68136e-02_rb,0.52756e-02_rb,0.33216e-02_rb /) kao(:, 2, 7, 9) = (/ & & 0.11730e-01_rb,0.11250e-01_rb,0.10822e-01_rb,0.10230e-01_rb,0.94903e-02_rb, & & 0.85683e-02_rb,0.73765e-02_rb,0.58347e-02_rb,0.39310e-02_rb /) kao(:, 3, 7, 9) = (/ & & 0.11586e-01_rb,0.11299e-01_rb,0.11036e-01_rb,0.10599e-01_rb,0.99917e-02_rb, & & 0.91260e-02_rb,0.79645e-02_rb,0.64502e-02_rb,0.46031e-02_rb /) kao(:, 4, 7, 9) = (/ & & 0.11473e-01_rb,0.11391e-01_rb,0.11290e-01_rb,0.11015e-01_rb,0.10500e-01_rb, & & 0.97132e-02_rb,0.85920e-02_rb,0.71112e-02_rb,0.53403e-02_rb /) kao(:, 5, 7, 9) = (/ & & 0.11384e-01_rb,0.11524e-01_rb,0.11598e-01_rb,0.11442e-01_rb,0.11036e-01_rb, & & 0.10317e-01_rb,0.92441e-02_rb,0.78209e-02_rb,0.61457e-02_rb /) kao(:, 1, 8, 9) = (/ & & 0.10852e-01_rb,0.10302e-01_rb,0.97896e-02_rb,0.91138e-02_rb,0.83000e-02_rb, & & 0.73373e-02_rb,0.61956e-02_rb,0.47644e-02_rb,0.26652e-02_rb /) kao(:, 2, 8, 9) = (/ & & 0.10699e-01_rb,0.10325e-01_rb,0.99631e-02_rb,0.94045e-02_rb,0.87025e-02_rb, & & 0.78255e-02_rb,0.67137e-02_rb,0.52638e-02_rb,0.31922e-02_rb /) kao(:, 3, 8, 9) = (/ & & 0.10574e-01_rb,0.10385e-01_rb,0.10163e-01_rb,0.97460e-02_rb,0.91609e-02_rb, & & 0.83418e-02_rb,0.72560e-02_rb,0.58143e-02_rb,0.37766e-02_rb /) kao(:, 4, 8, 9) = (/ & & 0.10480e-01_rb,0.10499e-01_rb,0.10413e-01_rb,0.10139e-01_rb,0.96342e-02_rb, & & 0.88826e-02_rb,0.78405e-02_rb,0.64037e-02_rb,0.44295e-02_rb /) kao(:, 5, 8, 9) = (/ & & 0.10415e-01_rb,0.10646e-01_rb,0.10720e-01_rb,0.10553e-01_rb,0.10134e-01_rb, & & 0.94529e-02_rb,0.84471e-02_rb,0.70384e-02_rb,0.51485e-02_rb /) kao(:, 1, 9, 9) = (/ & & 0.97587e-02_rb,0.93185e-02_rb,0.88694e-02_rb,0.82517e-02_rb,0.75094e-02_rb, & & 0.66177e-02_rb,0.55658e-02_rb,0.42591e-02_rb,0.21931e-02_rb /) kao(:, 2, 9, 9) = (/ & & 0.96183e-02_rb,0.93436e-02_rb,0.90329e-02_rb,0.85198e-02_rb,0.78654e-02_rb, & & 0.70507e-02_rb,0.60316e-02_rb,0.47067e-02_rb,0.25691e-02_rb /) kao(:, 3, 9, 9) = (/ & & 0.95112e-02_rb,0.94166e-02_rb,0.92325e-02_rb,0.88355e-02_rb,0.82791e-02_rb, & & 0.75194e-02_rb,0.65208e-02_rb,0.52003e-02_rb,0.29789e-02_rb /) kao(:, 4, 9, 9) = (/ & & 0.94373e-02_rb,0.95446e-02_rb,0.94815e-02_rb,0.92092e-02_rb,0.87140e-02_rb, & & 0.80091e-02_rb,0.70556e-02_rb,0.57344e-02_rb,0.34284e-02_rb /) kao(:, 5, 9, 9) = (/ & & 0.93945e-02_rb,0.97041e-02_rb,0.97866e-02_rb,0.96055e-02_rb,0.91834e-02_rb, & & 0.85358e-02_rb,0.76199e-02_rb,0.63067e-02_rb,0.39360e-02_rb /) kao(:, 1,10, 9) = (/ & & 0.86571e-02_rb,0.83282e-02_rb,0.79327e-02_rb,0.73862e-02_rb,0.67217e-02_rb, & & 0.59210e-02_rb,0.49777e-02_rb,0.37950e-02_rb,0.25161e-02_rb /) kao(:, 2,10, 9) = (/ & & 0.85351e-02_rb,0.83629e-02_rb,0.80910e-02_rb,0.76400e-02_rb,0.70398e-02_rb, & & 0.63068e-02_rb,0.53903e-02_rb,0.41966e-02_rb,0.29067e-02_rb /) kao(:, 3,10, 9) = (/ & & 0.84483e-02_rb,0.84483e-02_rb,0.82944e-02_rb,0.79338e-02_rb,0.74159e-02_rb, & & 0.67272e-02_rb,0.58285e-02_rb,0.46411e-02_rb,0.33599e-02_rb /) kao(:, 4,10, 9) = (/ & & 0.83941e-02_rb,0.85821e-02_rb,0.85440e-02_rb,0.82866e-02_rb,0.78214e-02_rb, & & 0.71692e-02_rb,0.63103e-02_rb,0.51290e-02_rb,0.38620e-02_rb /) kao(:, 5,10, 9) = (/ & & 0.83806e-02_rb,0.87510e-02_rb,0.88459e-02_rb,0.86620e-02_rb,0.82607e-02_rb, & & 0.76554e-02_rb,0.68267e-02_rb,0.56504e-02_rb,0.44001e-02_rb /) kao(:, 1,11, 9) = (/ & & 0.75570e-02_rb,0.73902e-02_rb,0.70826e-02_rb,0.66405e-02_rb,0.60731e-02_rb, & & 0.53892e-02_rb,0.45656e-02_rb,0.35050e-02_rb,0.26164e-02_rb /) kao(:, 2,11, 9) = (/ & & 0.74683e-02_rb,0.74501e-02_rb,0.72578e-02_rb,0.68886e-02_rb,0.63823e-02_rb, & & 0.57485e-02_rb,0.49402e-02_rb,0.38790e-02_rb,0.30097e-02_rb /) kao(:, 3,11, 9) = (/ & & 0.74153e-02_rb,0.75630e-02_rb,0.74762e-02_rb,0.71912e-02_rb,0.67425e-02_rb, & & 0.61326e-02_rb,0.53447e-02_rb,0.42990e-02_rb,0.34771e-02_rb /) kao(:, 4,11, 9) = (/ & & 0.74057e-02_rb,0.77202e-02_rb,0.77477e-02_rb,0.75330e-02_rb,0.71268e-02_rb, & & 0.65549e-02_rb,0.57951e-02_rb,0.47555e-02_rb,0.39884e-02_rb /) kao(:, 5,11, 9) = (/ & & 0.74391e-02_rb,0.79220e-02_rb,0.80561e-02_rb,0.79014e-02_rb,0.75514e-02_rb, & & 0.70214e-02_rb,0.62779e-02_rb,0.52483e-02_rb,0.45376e-02_rb /) kao(:, 1,12, 9) = (/ & & 0.65546e-02_rb,0.65200e-02_rb,0.62910e-02_rb,0.59243e-02_rb,0.54454e-02_rb, & & 0.48623e-02_rb,0.41386e-02_rb,0.32013e-02_rb,0.25137e-02_rb /) kao(:, 2,12, 9) = (/ & & 0.64987e-02_rb,0.66047e-02_rb,0.64774e-02_rb,0.61754e-02_rb,0.57483e-02_rb, & & 0.51910e-02_rb,0.44799e-02_rb,0.35500e-02_rb,0.28998e-02_rb /) kao(:, 3,12, 9) = (/ & & 0.64867e-02_rb,0.67439e-02_rb,0.67077e-02_rb,0.64758e-02_rb,0.60840e-02_rb, & & 0.55472e-02_rb,0.48582e-02_rb,0.39433e-02_rb,0.33472e-02_rb /) kao(:, 4,12, 9) = (/ & & 0.65214e-02_rb,0.69269e-02_rb,0.69913e-02_rb,0.68034e-02_rb,0.64480e-02_rb, & & 0.59497e-02_rb,0.52811e-02_rb,0.43712e-02_rb,0.38283e-02_rb /) kao(:, 5,12, 9) = (/ & & 0.66068e-02_rb,0.71634e-02_rb,0.73032e-02_rb,0.71670e-02_rb,0.68605e-02_rb, & & 0.63896e-02_rb,0.57387e-02_rb,0.48340e-02_rb,0.43614e-02_rb /) kao(:, 1,13, 9) = (/ & & 0.56598e-02_rb,0.57241e-02_rb,0.55653e-02_rb,0.52616e-02_rb,0.48615e-02_rb, & & 0.43534e-02_rb,0.37143e-02_rb,0.28975e-02_rb,0.22483e-02_rb /) kao(:, 2,13, 9) = (/ & & 0.56408e-02_rb,0.58364e-02_rb,0.57539e-02_rb,0.55120e-02_rb,0.51475e-02_rb, & & 0.46559e-02_rb,0.40284e-02_rb,0.32222e-02_rb,0.26111e-02_rb /) kao(:, 3,13, 9) = (/ & & 0.56697e-02_rb,0.59982e-02_rb,0.59981e-02_rb,0.58053e-02_rb,0.54583e-02_rb, & & 0.49917e-02_rb,0.43867e-02_rb,0.35862e-02_rb,0.30268e-02_rb /) kao(:, 4,13, 9) = (/ & & 0.57519e-02_rb,0.62108e-02_rb,0.62874e-02_rb,0.61219e-02_rb,0.58111e-02_rb, & & 0.53715e-02_rb,0.47851e-02_rb,0.39858e-02_rb,0.34700e-02_rb /) kao(:, 5,13, 9) = (/ & & 0.58830e-02_rb,0.64813e-02_rb,0.66064e-02_rb,0.64830e-02_rb,0.62068e-02_rb, & & 0.57872e-02_rb,0.52185e-02_rb,0.44205e-02_rb,0.39619e-02_rb /) kao(:, 1, 1,10) = (/ & & 0.28544e-01_rb,0.26155e-01_rb,0.24149e-01_rb,0.22667e-01_rb,0.21632e-01_rb, & & 0.20279e-01_rb,0.18489e-01_rb,0.17580e-01_rb,0.19616e-01_rb /) kao(:, 2, 1,10) = (/ & & 0.28363e-01_rb,0.26242e-01_rb,0.24669e-01_rb,0.23473e-01_rb,0.22995e-01_rb, & & 0.21803e-01_rb,0.19985e-01_rb,0.19915e-01_rb,0.22325e-01_rb /) kao(:, 3, 1,10) = (/ & & 0.28168e-01_rb,0.26278e-01_rb,0.25280e-01_rb,0.24624e-01_rb,0.24316e-01_rb, & & 0.23197e-01_rb,0.21657e-01_rb,0.22779e-01_rb,0.25626e-01_rb /) kao(:, 4, 1,10) = (/ & & 0.27980e-01_rb,0.26431e-01_rb,0.25828e-01_rb,0.25920e-01_rb,0.25669e-01_rb, & & 0.24755e-01_rb,0.23686e-01_rb,0.25934e-01_rb,0.29281e-01_rb /) kao(:, 5, 1,10) = (/ & & 0.27732e-01_rb,0.26646e-01_rb,0.26660e-01_rb,0.27009e-01_rb,0.27233e-01_rb, & & 0.26525e-01_rb,0.25997e-01_rb,0.29201e-01_rb,0.33040e-01_rb /) kao(:, 1, 2,10) = (/ & & 0.30271e-01_rb,0.27672e-01_rb,0.25272e-01_rb,0.23430e-01_rb,0.22043e-01_rb, & & 0.20727e-01_rb,0.19083e-01_rb,0.16913e-01_rb,0.18728e-01_rb /) kao(:, 2, 2,10) = (/ & & 0.30091e-01_rb,0.27720e-01_rb,0.25820e-01_rb,0.24222e-01_rb,0.23409e-01_rb, & & 0.22468e-01_rb,0.20609e-01_rb,0.19148e-01_rb,0.21375e-01_rb /) kao(:, 3, 2,10) = (/ & & 0.29914e-01_rb,0.27750e-01_rb,0.26375e-01_rb,0.25267e-01_rb,0.24987e-01_rb, & & 0.23926e-01_rb,0.22306e-01_rb,0.21932e-01_rb,0.24591e-01_rb /) kao(:, 4, 2,10) = (/ & & 0.29701e-01_rb,0.27873e-01_rb,0.26877e-01_rb,0.26535e-01_rb,0.26327e-01_rb, & & 0.25568e-01_rb,0.24303e-01_rb,0.24920e-01_rb,0.28049e-01_rb /) kao(:, 5, 2,10) = (/ & & 0.29422e-01_rb,0.28052e-01_rb,0.27653e-01_rb,0.27818e-01_rb,0.27831e-01_rb, & & 0.27375e-01_rb,0.26338e-01_rb,0.28129e-01_rb,0.31777e-01_rb /) kao(:, 1, 3,10) = (/ & & 0.32089e-01_rb,0.29221e-01_rb,0.26504e-01_rb,0.24372e-01_rb,0.22322e-01_rb, & & 0.20541e-01_rb,0.19063e-01_rb,0.16413e-01_rb,0.17368e-01_rb /) kao(:, 2, 3,10) = (/ & & 0.31950e-01_rb,0.29299e-01_rb,0.26979e-01_rb,0.25078e-01_rb,0.23422e-01_rb, & & 0.22454e-01_rb,0.20735e-01_rb,0.18244e-01_rb,0.19956e-01_rb /) kao(:, 3, 3,10) = (/ & & 0.31786e-01_rb,0.29316e-01_rb,0.27496e-01_rb,0.25889e-01_rb,0.24965e-01_rb, & & 0.24089e-01_rb,0.22376e-01_rb,0.20693e-01_rb,0.22993e-01_rb /) kao(:, 4, 3,10) = (/ & & 0.31564e-01_rb,0.29393e-01_rb,0.27942e-01_rb,0.27000e-01_rb,0.26402e-01_rb, & & 0.25715e-01_rb,0.24406e-01_rb,0.23371e-01_rb,0.26093e-01_rb /) kao(:, 5, 3,10) = (/ & & 0.31295e-01_rb,0.29526e-01_rb,0.28627e-01_rb,0.28150e-01_rb,0.27951e-01_rb, & & 0.27569e-01_rb,0.26423e-01_rb,0.26332e-01_rb,0.29505e-01_rb /) kao(:, 1, 4,10) = (/ & & 0.33998e-01_rb,0.30694e-01_rb,0.27710e-01_rb,0.25291e-01_rb,0.22809e-01_rb, & & 0.20329e-01_rb,0.18660e-01_rb,0.16131e-01_rb,0.15800e-01_rb /) kao(:, 2, 4,10) = (/ & & 0.33852e-01_rb,0.30861e-01_rb,0.28097e-01_rb,0.25930e-01_rb,0.23654e-01_rb, & & 0.22029e-01_rb,0.20474e-01_rb,0.17896e-01_rb,0.18339e-01_rb /) kao(:, 3, 4,10) = (/ & & 0.33685e-01_rb,0.30889e-01_rb,0.28668e-01_rb,0.26585e-01_rb,0.25018e-01_rb, & & 0.23681e-01_rb,0.22215e-01_rb,0.19897e-01_rb,0.21224e-01_rb /) kao(:, 4, 4,10) = (/ & & 0.33431e-01_rb,0.30933e-01_rb,0.29107e-01_rb,0.27570e-01_rb,0.26341e-01_rb, & & 0.25360e-01_rb,0.24234e-01_rb,0.22138e-01_rb,0.24217e-01_rb /) kao(:, 5, 4,10) = (/ & & 0.33153e-01_rb,0.31115e-01_rb,0.29708e-01_rb,0.28626e-01_rb,0.27757e-01_rb, & & 0.27318e-01_rb,0.26191e-01_rb,0.24666e-01_rb,0.27426e-01_rb /) kao(:, 1, 5,10) = (/ & & 0.35630e-01_rb,0.31962e-01_rb,0.28969e-01_rb,0.26191e-01_rb,0.23359e-01_rb, & & 0.20419e-01_rb,0.18025e-01_rb,0.15529e-01_rb,0.14046e-01_rb /) kao(:, 2, 5,10) = (/ & & 0.35465e-01_rb,0.32227e-01_rb,0.29248e-01_rb,0.26845e-01_rb,0.24076e-01_rb, & & 0.21854e-01_rb,0.19842e-01_rb,0.17371e-01_rb,0.16514e-01_rb /) kao(:, 3, 5,10) = (/ & & 0.35239e-01_rb,0.32283e-01_rb,0.29869e-01_rb,0.27436e-01_rb,0.25256e-01_rb, & & 0.23352e-01_rb,0.21638e-01_rb,0.19381e-01_rb,0.19322e-01_rb /) kao(:, 4, 5,10) = (/ & & 0.34959e-01_rb,0.32275e-01_rb,0.30321e-01_rb,0.28325e-01_rb,0.26494e-01_rb, & & 0.24825e-01_rb,0.23722e-01_rb,0.21526e-01_rb,0.22221e-01_rb /) kao(:, 5, 5,10) = (/ & & 0.34633e-01_rb,0.32463e-01_rb,0.30867e-01_rb,0.29345e-01_rb,0.27730e-01_rb, & & 0.26661e-01_rb,0.25760e-01_rb,0.23698e-01_rb,0.25325e-01_rb /) kao(:, 1, 6,10) = (/ & & 0.36611e-01_rb,0.32766e-01_rb,0.29862e-01_rb,0.26964e-01_rb,0.23985e-01_rb, & & 0.20572e-01_rb,0.17499e-01_rb,0.14612e-01_rb,0.12200e-01_rb /) kao(:, 2, 6,10) = (/ & & 0.36404e-01_rb,0.32931e-01_rb,0.30135e-01_rb,0.27680e-01_rb,0.24618e-01_rb, & & 0.21792e-01_rb,0.19087e-01_rb,0.16488e-01_rb,0.14408e-01_rb /) kao(:, 3, 6,10) = (/ & & 0.36151e-01_rb,0.33151e-01_rb,0.30783e-01_rb,0.28229e-01_rb,0.25608e-01_rb, & & 0.23215e-01_rb,0.20762e-01_rb,0.18415e-01_rb,0.17025e-01_rb /) kao(:, 4, 6,10) = (/ & & 0.35835e-01_rb,0.33169e-01_rb,0.31261e-01_rb,0.29020e-01_rb,0.26813e-01_rb, & & 0.24559e-01_rb,0.22662e-01_rb,0.20622e-01_rb,0.19846e-01_rb /) kao(:, 5, 6,10) = (/ & & 0.35491e-01_rb,0.33330e-01_rb,0.31756e-01_rb,0.30047e-01_rb,0.27916e-01_rb, & & 0.26189e-01_rb,0.24713e-01_rb,0.22859e-01_rb,0.22839e-01_rb /) kao(:, 1, 7,10) = (/ & & 0.36793e-01_rb,0.32943e-01_rb,0.30074e-01_rb,0.27299e-01_rb,0.24319e-01_rb, & & 0.20802e-01_rb,0.17113e-01_rb,0.13465e-01_rb,0.10508e-01_rb /) kao(:, 2, 7,10) = (/ & & 0.36572e-01_rb,0.33074e-01_rb,0.30511e-01_rb,0.28032e-01_rb,0.24986e-01_rb, & & 0.21844e-01_rb,0.18570e-01_rb,0.15283e-01_rb,0.12467e-01_rb /) kao(:, 3, 7,10) = (/ & & 0.36275e-01_rb,0.33234e-01_rb,0.31161e-01_rb,0.28602e-01_rb,0.25904e-01_rb, & & 0.23164e-01_rb,0.20091e-01_rb,0.17151e-01_rb,0.14775e-01_rb /) kao(:, 4, 7,10) = (/ & & 0.35925e-01_rb,0.33332e-01_rb,0.31658e-01_rb,0.29367e-01_rb,0.27125e-01_rb, & & 0.24431e-01_rb,0.21734e-01_rb,0.19261e-01_rb,0.17350e-01_rb /) kao(:, 5, 7,10) = (/ & & 0.35558e-01_rb,0.33506e-01_rb,0.32097e-01_rb,0.30412e-01_rb,0.28219e-01_rb, & & 0.25923e-01_rb,0.23598e-01_rb,0.21456e-01_rb,0.20114e-01_rb /) kao(:, 1, 8,10) = (/ & & 0.36293e-01_rb,0.32550e-01_rb,0.29721e-01_rb,0.27154e-01_rb,0.24076e-01_rb, & & 0.20693e-01_rb,0.16829e-01_rb,0.12555e-01_rb,0.89579e-02_rb /) kao(:, 2, 8,10) = (/ & & 0.35985e-01_rb,0.32624e-01_rb,0.30270e-01_rb,0.27879e-01_rb,0.24830e-01_rb, & & 0.21669e-01_rb,0.18126e-01_rb,0.14126e-01_rb,0.10649e-01_rb /) kao(:, 3, 8,10) = (/ & & 0.35646e-01_rb,0.32730e-01_rb,0.30946e-01_rb,0.28474e-01_rb,0.25750e-01_rb, & & 0.23017e-01_rb,0.19564e-01_rb,0.15741e-01_rb,0.12721e-01_rb /) kao(:, 4, 8,10) = (/ & & 0.35279e-01_rb,0.32754e-01_rb,0.31424e-01_rb,0.29187e-01_rb,0.27070e-01_rb, & & 0.24316e-01_rb,0.21018e-01_rb,0.17682e-01_rb,0.15011e-01_rb /) kao(:, 5, 8,10) = (/ & & 0.34858e-01_rb,0.32947e-01_rb,0.31835e-01_rb,0.30265e-01_rb,0.28236e-01_rb, & & 0.25710e-01_rb,0.22721e-01_rb,0.19777e-01_rb,0.17474e-01_rb /) kao(:, 1, 9,10) = (/ & & 0.35060e-01_rb,0.31556e-01_rb,0.29012e-01_rb,0.26469e-01_rb,0.23391e-01_rb, & & 0.20141e-01_rb,0.16295e-01_rb,0.11885e-01_rb,0.58937e-02_rb /) kao(:, 2, 9,10) = (/ & & 0.34721e-01_rb,0.31589e-01_rb,0.29506e-01_rb,0.27211e-01_rb,0.24267e-01_rb, & & 0.21055e-01_rb,0.17547e-01_rb,0.13263e-01_rb,0.69908e-02_rb /) kao(:, 3, 9,10) = (/ & & 0.34339e-01_rb,0.31609e-01_rb,0.30075e-01_rb,0.27841e-01_rb,0.25163e-01_rb, & & 0.22398e-01_rb,0.18997e-01_rb,0.14640e-01_rb,0.92447e-02_rb /) kao(:, 4, 9,10) = (/ & & 0.33936e-01_rb,0.31619e-01_rb,0.30603e-01_rb,0.28503e-01_rb,0.26490e-01_rb, & & 0.23804e-01_rb,0.20342e-01_rb,0.16280e-01_rb,0.11993e-01_rb /) kao(:, 5, 9,10) = (/ & & 0.33530e-01_rb,0.31821e-01_rb,0.30991e-01_rb,0.29578e-01_rb,0.27714e-01_rb, & & 0.25218e-01_rb,0.21886e-01_rb,0.18137e-01_rb,0.14941e-01_rb /) kao(:, 1,10,10) = (/ & & 0.33129e-01_rb,0.29964e-01_rb,0.27856e-01_rb,0.25331e-01_rb,0.22401e-01_rb, & & 0.19295e-01_rb,0.15555e-01_rb,0.11348e-01_rb,0.74286e-02_rb /) kao(:, 2,10,10) = (/ & & 0.32749e-01_rb,0.29950e-01_rb,0.28249e-01_rb,0.25998e-01_rb,0.23402e-01_rb, & & 0.20209e-01_rb,0.16757e-01_rb,0.12616e-01_rb,0.86653e-02_rb /) kao(:, 3,10,10) = (/ & & 0.32344e-01_rb,0.29933e-01_rb,0.28722e-01_rb,0.26736e-01_rb,0.24275e-01_rb, & & 0.21508e-01_rb,0.18229e-01_rb,0.13852e-01_rb,0.98082e-02_rb /) kao(:, 4,10,10) = (/ & & 0.31944e-01_rb,0.30002e-01_rb,0.29235e-01_rb,0.27435e-01_rb,0.25548e-01_rb, & & 0.22964e-01_rb,0.19579e-01_rb,0.15278e-01_rb,0.11352e-01_rb /) kao(:, 5,10,10) = (/ & & 0.31533e-01_rb,0.30276e-01_rb,0.29685e-01_rb,0.28539e-01_rb,0.26795e-01_rb, & & 0.24358e-01_rb,0.21106e-01_rb,0.16900e-01_rb,0.12858e-01_rb /) kao(:, 1,11,10) = (/ & & 0.30476e-01_rb,0.27848e-01_rb,0.26383e-01_rb,0.23991e-01_rb,0.21505e-01_rb, & & 0.18546e-01_rb,0.15127e-01_rb,0.11242e-01_rb,0.84064e-02_rb /) kao(:, 2,11,10) = (/ & & 0.30069e-01_rb,0.27873e-01_rb,0.26695e-01_rb,0.24743e-01_rb,0.22441e-01_rb, & & 0.19591e-01_rb,0.16445e-01_rb,0.12465e-01_rb,0.99520e-02_rb /) kao(:, 3,11,10) = (/ & & 0.29683e-01_rb,0.27938e-01_rb,0.27199e-01_rb,0.25464e-01_rb,0.23474e-01_rb, & & 0.21008e-01_rb,0.17841e-01_rb,0.13636e-01_rb,0.11012e-01_rb /) kao(:, 4,11,10) = (/ & & 0.29281e-01_rb,0.28147e-01_rb,0.27612e-01_rb,0.26457e-01_rb,0.24810e-01_rb, & & 0.22367e-01_rb,0.19198e-01_rb,0.15026e-01_rb,0.12764e-01_rb /) kao(:, 5,11,10) = (/ & & 0.28878e-01_rb,0.28450e-01_rb,0.28275e-01_rb,0.27607e-01_rb,0.26039e-01_rb, & & 0.23769e-01_rb,0.20798e-01_rb,0.16479e-01_rb,0.14486e-01_rb /) kao(:, 1,12,10) = (/ & & 0.27483e-01_rb,0.25515e-01_rb,0.24398e-01_rb,0.22423e-01_rb,0.20204e-01_rb, & & 0.17532e-01_rb,0.14597e-01_rb,0.10977e-01_rb,0.89256e-02_rb /) kao(:, 2,12,10) = (/ & & 0.27095e-01_rb,0.25634e-01_rb,0.24782e-01_rb,0.23175e-01_rb,0.21102e-01_rb, & & 0.18740e-01_rb,0.15902e-01_rb,0.12114e-01_rb,0.10252e-01_rb /) kao(:, 3,12,10) = (/ & & 0.26727e-01_rb,0.25761e-01_rb,0.25266e-01_rb,0.23974e-01_rb,0.22361e-01_rb, & & 0.20171e-01_rb,0.17193e-01_rb,0.13275e-01_rb,0.11451e-01_rb /) kao(:, 4,12,10) = (/ & & 0.26341e-01_rb,0.26039e-01_rb,0.25768e-01_rb,0.25146e-01_rb,0.23693e-01_rb, & & 0.21452e-01_rb,0.18566e-01_rb,0.14626e-01_rb,0.13159e-01_rb /) kao(:, 5,12,10) = (/ & & 0.25958e-01_rb,0.26232e-01_rb,0.26607e-01_rb,0.26277e-01_rb,0.24926e-01_rb, & & 0.22906e-01_rb,0.20118e-01_rb,0.16018e-01_rb,0.14784e-01_rb /) kao(:, 1,13,10) = (/ & & 0.24404e-01_rb,0.23195e-01_rb,0.22191e-01_rb,0.20664e-01_rb,0.18645e-01_rb, & & 0.16397e-01_rb,0.13889e-01_rb,0.10532e-01_rb,0.85762e-02_rb /) kao(:, 2,13,10) = (/ & & 0.24045e-01_rb,0.23274e-01_rb,0.22704e-01_rb,0.21382e-01_rb,0.19651e-01_rb, & & 0.17693e-01_rb,0.15133e-01_rb,0.11576e-01_rb,0.96068e-02_rb /) kao(:, 3,13,10) = (/ & & 0.23688e-01_rb,0.23458e-01_rb,0.23185e-01_rb,0.22281e-01_rb,0.21010e-01_rb, & & 0.19021e-01_rb,0.16312e-01_rb,0.12755e-01_rb,0.10813e-01_rb /) kao(:, 4,13,10) = (/ & & 0.23340e-01_rb,0.23719e-01_rb,0.23835e-01_rb,0.23529e-01_rb,0.22269e-01_rb, & & 0.20297e-01_rb,0.17677e-01_rb,0.14063e-01_rb,0.12469e-01_rb /) kao(:, 5,13,10) = (/ & & 0.23007e-01_rb,0.23887e-01_rb,0.24745e-01_rb,0.24636e-01_rb,0.23538e-01_rb, & & 0.21795e-01_rb,0.19163e-01_rb,0.15452e-01_rb,0.13866e-01_rb /) kao(:, 1, 1,11) = (/ & & 0.38207e-01_rb,0.35023e-01_rb,0.31764e-01_rb,0.29513e-01_rb,0.27148e-01_rb, & & 0.25121e-01_rb,0.22678e-01_rb,0.23928e-01_rb,0.26899e-01_rb /) kao(:, 2, 1,11) = (/ & & 0.37930e-01_rb,0.35272e-01_rb,0.32250e-01_rb,0.30760e-01_rb,0.28557e-01_rb, & & 0.27105e-01_rb,0.25089e-01_rb,0.27604e-01_rb,0.31070e-01_rb /) kao(:, 3, 1,11) = (/ & & 0.37611e-01_rb,0.35491e-01_rb,0.32949e-01_rb,0.31869e-01_rb,0.30632e-01_rb, & & 0.29068e-01_rb,0.27897e-01_rb,0.31369e-01_rb,0.35419e-01_rb /) kao(:, 4, 1,11) = (/ & & 0.37244e-01_rb,0.35566e-01_rb,0.33874e-01_rb,0.33253e-01_rb,0.32466e-01_rb, & & 0.31095e-01_rb,0.31358e-01_rb,0.35716e-01_rb,0.40368e-01_rb /) kao(:, 5, 1,11) = (/ & & 0.36895e-01_rb,0.35750e-01_rb,0.34817e-01_rb,0.35038e-01_rb,0.34265e-01_rb, & & 0.33428e-01_rb,0.35709e-01_rb,0.40899e-01_rb,0.46337e-01_rb /) kao(:, 1, 2,11) = (/ & & 0.39640e-01_rb,0.36208e-01_rb,0.33140e-01_rb,0.30731e-01_rb,0.28621e-01_rb, & & 0.26451e-01_rb,0.23824e-01_rb,0.23418e-01_rb,0.26401e-01_rb /) kao(:, 2, 2,11) = (/ & & 0.39384e-01_rb,0.36543e-01_rb,0.33542e-01_rb,0.32043e-01_rb,0.30032e-01_rb, & & 0.28484e-01_rb,0.26191e-01_rb,0.27027e-01_rb,0.30540e-01_rb /) kao(:, 3, 2,11) = (/ & & 0.39069e-01_rb,0.36650e-01_rb,0.34340e-01_rb,0.33119e-01_rb,0.32037e-01_rb, & & 0.30787e-01_rb,0.28410e-01_rb,0.30659e-01_rb,0.34733e-01_rb /) kao(:, 4, 2,11) = (/ & & 0.38756e-01_rb,0.36738e-01_rb,0.35220e-01_rb,0.34547e-01_rb,0.34264e-01_rb, & & 0.32872e-01_rb,0.31204e-01_rb,0.34827e-01_rb,0.39529e-01_rb /) kao(:, 5, 2,11) = (/ & & 0.38432e-01_rb,0.36958e-01_rb,0.36077e-01_rb,0.36343e-01_rb,0.36389e-01_rb, & & 0.35222e-01_rb,0.34916e-01_rb,0.39622e-01_rb,0.45018e-01_rb /) kao(:, 1, 3,11) = (/ & & 0.41762e-01_rb,0.37801e-01_rb,0.34598e-01_rb,0.31385e-01_rb,0.29542e-01_rb, & & 0.27120e-01_rb,0.24296e-01_rb,0.22163e-01_rb,0.24873e-01_rb /) kao(:, 2, 3,11) = (/ & & 0.41521e-01_rb,0.38107e-01_rb,0.34885e-01_rb,0.32740e-01_rb,0.30892e-01_rb, & & 0.28927e-01_rb,0.26874e-01_rb,0.25608e-01_rb,0.28828e-01_rb /) kao(:, 3, 3,11) = (/ & & 0.41284e-01_rb,0.38250e-01_rb,0.35590e-01_rb,0.33929e-01_rb,0.32637e-01_rb, & & 0.31412e-01_rb,0.29268e-01_rb,0.29038e-01_rb,0.32851e-01_rb /) kao(:, 4, 3,11) = (/ & & 0.40996e-01_rb,0.38286e-01_rb,0.36402e-01_rb,0.35356e-01_rb,0.34868e-01_rb, & & 0.33799e-01_rb,0.31619e-01_rb,0.33158e-01_rb,0.37659e-01_rb /) kao(:, 5, 3,11) = (/ & & 0.40710e-01_rb,0.38497e-01_rb,0.37108e-01_rb,0.37161e-01_rb,0.37098e-01_rb, & & 0.36226e-01_rb,0.34568e-01_rb,0.37733e-01_rb,0.42953e-01_rb /) kao(:, 1, 4,11) = (/ & & 0.44432e-01_rb,0.39911e-01_rb,0.36533e-01_rb,0.32358e-01_rb,0.30116e-01_rb, & & 0.27425e-01_rb,0.24391e-01_rb,0.21003e-01_rb,0.22873e-01_rb /) kao(:, 2, 4,11) = (/ & & 0.44241e-01_rb,0.40248e-01_rb,0.36750e-01_rb,0.33734e-01_rb,0.31371e-01_rb, & & 0.29050e-01_rb,0.26929e-01_rb,0.23993e-01_rb,0.26696e-01_rb /) kao(:, 3, 4,11) = (/ & & 0.43986e-01_rb,0.40474e-01_rb,0.37358e-01_rb,0.34847e-01_rb,0.32894e-01_rb, & & 0.31475e-01_rb,0.29486e-01_rb,0.27256e-01_rb,0.30632e-01_rb /) kao(:, 4, 4,11) = (/ & & 0.43750e-01_rb,0.40487e-01_rb,0.38107e-01_rb,0.36115e-01_rb,0.35063e-01_rb, & & 0.33924e-01_rb,0.31967e-01_rb,0.31144e-01_rb,0.35198e-01_rb /) kao(:, 5, 4,11) = (/ & & 0.43427e-01_rb,0.40610e-01_rb,0.38702e-01_rb,0.37867e-01_rb,0.37251e-01_rb, & & 0.36357e-01_rb,0.34995e-01_rb,0.35502e-01_rb,0.40197e-01_rb /) kao(:, 1, 5,11) = (/ & & 0.47176e-01_rb,0.42142e-01_rb,0.38550e-01_rb,0.33884e-01_rb,0.30889e-01_rb, & & 0.27516e-01_rb,0.24267e-01_rb,0.20680e-01_rb,0.20851e-01_rb /) kao(:, 2, 5,11) = (/ & & 0.47021e-01_rb,0.42363e-01_rb,0.38770e-01_rb,0.35164e-01_rb,0.32104e-01_rb, & & 0.29005e-01_rb,0.26645e-01_rb,0.23247e-01_rb,0.24505e-01_rb /) kao(:, 3, 5,11) = (/ & & 0.46797e-01_rb,0.42763e-01_rb,0.39235e-01_rb,0.36269e-01_rb,0.33395e-01_rb, & & 0.31307e-01_rb,0.29249e-01_rb,0.25924e-01_rb,0.28324e-01_rb /) kao(:, 4, 5,11) = (/ & & 0.46572e-01_rb,0.42912e-01_rb,0.40018e-01_rb,0.37361e-01_rb,0.35308e-01_rb, & & 0.33789e-01_rb,0.31702e-01_rb,0.29304e-01_rb,0.32735e-01_rb /) kao(:, 5, 5,11) = (/ & & 0.46255e-01_rb,0.42923e-01_rb,0.40617e-01_rb,0.38829e-01_rb,0.37399e-01_rb, & & 0.36167e-01_rb,0.34686e-01_rb,0.33312e-01_rb,0.37380e-01_rb /) kao(:, 1, 6,11) = (/ & & 0.49975e-01_rb,0.44361e-01_rb,0.40341e-01_rb,0.35539e-01_rb,0.31829e-01_rb, & & 0.27816e-01_rb,0.23845e-01_rb,0.20093e-01_rb,0.18543e-01_rb /) kao(:, 2, 6,11) = (/ & & 0.49828e-01_rb,0.44558e-01_rb,0.40763e-01_rb,0.36628e-01_rb,0.33050e-01_rb, & & 0.29095e-01_rb,0.26117e-01_rb,0.22673e-01_rb,0.22099e-01_rb /) kao(:, 3, 6,11) = (/ & & 0.49608e-01_rb,0.44841e-01_rb,0.41085e-01_rb,0.37793e-01_rb,0.34135e-01_rb, & & 0.31097e-01_rb,0.28755e-01_rb,0.25283e-01_rb,0.25831e-01_rb /) kao(:, 4, 6,11) = (/ & & 0.49365e-01_rb,0.45144e-01_rb,0.41922e-01_rb,0.38723e-01_rb,0.35845e-01_rb, & & 0.33431e-01_rb,0.31237e-01_rb,0.28118e-01_rb,0.29954e-01_rb /) kao(:, 5, 6,11) = (/ & & 0.49026e-01_rb,0.45249e-01_rb,0.42535e-01_rb,0.39993e-01_rb,0.37821e-01_rb, & & 0.35671e-01_rb,0.34099e-01_rb,0.31399e-01_rb,0.34366e-01_rb /) kao(:, 1, 7,11) = (/ & & 0.52410e-01_rb,0.46362e-01_rb,0.41901e-01_rb,0.37210e-01_rb,0.32800e-01_rb, & & 0.28263e-01_rb,0.23499e-01_rb,0.19230e-01_rb,0.16237e-01_rb /) kao(:, 2, 7,11) = (/ & & 0.52214e-01_rb,0.46505e-01_rb,0.42451e-01_rb,0.38113e-01_rb,0.34021e-01_rb, & & 0.29480e-01_rb,0.25464e-01_rb,0.21812e-01_rb,0.19595e-01_rb /) kao(:, 3, 7,11) = (/ & & 0.51982e-01_rb,0.46700e-01_rb,0.42867e-01_rb,0.39292e-01_rb,0.35048e-01_rb, & & 0.31222e-01_rb,0.27987e-01_rb,0.24489e-01_rb,0.23138e-01_rb /) kao(:, 4, 7,11) = (/ & & 0.51660e-01_rb,0.46904e-01_rb,0.43697e-01_rb,0.40172e-01_rb,0.36555e-01_rb, & & 0.33390e-01_rb,0.30506e-01_rb,0.27287e-01_rb,0.27036e-01_rb /) kao(:, 5, 7,11) = (/ & & 0.51284e-01_rb,0.47053e-01_rb,0.44408e-01_rb,0.41338e-01_rb,0.38429e-01_rb, & & 0.35446e-01_rb,0.33297e-01_rb,0.30383e-01_rb,0.31263e-01_rb /) kao(:, 1, 8,11) = (/ & & 0.53849e-01_rb,0.47597e-01_rb,0.43012e-01_rb,0.38373e-01_rb,0.33860e-01_rb, & & 0.28679e-01_rb,0.23391e-01_rb,0.18151e-01_rb,0.14106e-01_rb /) kao(:, 2, 8,11) = (/ & & 0.53641e-01_rb,0.47671e-01_rb,0.43475e-01_rb,0.39445e-01_rb,0.35042e-01_rb, & & 0.29924e-01_rb,0.25055e-01_rb,0.20655e-01_rb,0.17171e-01_rb /) kao(:, 3, 8,11) = (/ & & 0.53375e-01_rb,0.47826e-01_rb,0.44020e-01_rb,0.40653e-01_rb,0.36059e-01_rb, & & 0.31447e-01_rb,0.27345e-01_rb,0.23357e-01_rb,0.20383e-01_rb /) kao(:, 4, 8,11) = (/ & & 0.53001e-01_rb,0.48011e-01_rb,0.44999e-01_rb,0.41558e-01_rb,0.37354e-01_rb, & & 0.33601e-01_rb,0.29695e-01_rb,0.26106e-01_rb,0.24004e-01_rb /) kao(:, 5, 8,11) = (/ & & 0.52592e-01_rb,0.48152e-01_rb,0.45845e-01_rb,0.42585e-01_rb,0.39198e-01_rb, & & 0.35588e-01_rb,0.32287e-01_rb,0.29155e-01_rb,0.27991e-01_rb /) kao(:, 1, 9,11) = (/ & & 0.54223e-01_rb,0.47973e-01_rb,0.43289e-01_rb,0.38882e-01_rb,0.34299e-01_rb, & & 0.28946e-01_rb,0.23303e-01_rb,0.17068e-01_rb,0.11192e-01_rb /) kao(:, 2, 9,11) = (/ & & 0.53940e-01_rb,0.47929e-01_rb,0.43759e-01_rb,0.39916e-01_rb,0.35622e-01_rb, & & 0.30345e-01_rb,0.24752e-01_rb,0.19298e-01_rb,0.14778e-01_rb /) kao(:, 3, 9,11) = (/ & & 0.53642e-01_rb,0.48095e-01_rb,0.44399e-01_rb,0.41241e-01_rb,0.36768e-01_rb, & & 0.31745e-01_rb,0.26845e-01_rb,0.21914e-01_rb,0.17754e-01_rb /) kao(:, 4, 9,11) = (/ & & 0.53257e-01_rb,0.48243e-01_rb,0.45322e-01_rb,0.42327e-01_rb,0.37988e-01_rb, & & 0.33799e-01_rb,0.29109e-01_rb,0.24533e-01_rb,0.21056e-01_rb /) kao(:, 5, 9,11) = (/ & & 0.52778e-01_rb,0.48340e-01_rb,0.46365e-01_rb,0.43326e-01_rb,0.39837e-01_rb, & & 0.35758e-01_rb,0.31465e-01_rb,0.27467e-01_rb,0.24721e-01_rb /) kao(:, 1,10,11) = (/ & & 0.53564e-01_rb,0.47520e-01_rb,0.42897e-01_rb,0.38870e-01_rb,0.34096e-01_rb, & & 0.28762e-01_rb,0.23161e-01_rb,0.16420e-01_rb,0.10403e-01_rb /) kao(:, 2,10,11) = (/ & & 0.53200e-01_rb,0.47370e-01_rb,0.43390e-01_rb,0.39812e-01_rb,0.35374e-01_rb, & & 0.30449e-01_rb,0.24605e-01_rb,0.18329e-01_rb,0.12727e-01_rb /) kao(:, 3,10,11) = (/ & & 0.52804e-01_rb,0.47486e-01_rb,0.44077e-01_rb,0.41029e-01_rb,0.36828e-01_rb, & & 0.31909e-01_rb,0.26518e-01_rb,0.20700e-01_rb,0.14792e-01_rb /) kao(:, 4,10,11) = (/ & & 0.52379e-01_rb,0.47585e-01_rb,0.44997e-01_rb,0.42270e-01_rb,0.38168e-01_rb, & & 0.33930e-01_rb,0.28762e-01_rb,0.23052e-01_rb,0.16495e-01_rb /) kao(:, 5,10,11) = (/ & & 0.51859e-01_rb,0.47629e-01_rb,0.45989e-01_rb,0.43387e-01_rb,0.40080e-01_rb, & & 0.36007e-01_rb,0.30957e-01_rb,0.25773e-01_rb,0.18898e-01_rb /) kao(:, 1,11,11) = (/ & & 0.51622e-01_rb,0.46074e-01_rb,0.42057e-01_rb,0.38618e-01_rb,0.33808e-01_rb, & & 0.28847e-01_rb,0.23288e-01_rb,0.16620e-01_rb,0.11907e-01_rb /) kao(:, 2,11,11) = (/ & & 0.51193e-01_rb,0.45980e-01_rb,0.42719e-01_rb,0.39541e-01_rb,0.35253e-01_rb, & & 0.30566e-01_rb,0.24931e-01_rb,0.18565e-01_rb,0.13988e-01_rb /) kao(:, 3,11,11) = (/ & & 0.50740e-01_rb,0.46089e-01_rb,0.43457e-01_rb,0.40804e-01_rb,0.36736e-01_rb, & & 0.32310e-01_rb,0.27095e-01_rb,0.20684e-01_rb,0.16681e-01_rb /) kao(:, 4,11,11) = (/ & & 0.50228e-01_rb,0.46105e-01_rb,0.44454e-01_rb,0.41838e-01_rb,0.38478e-01_rb, & & 0.34580e-01_rb,0.29293e-01_rb,0.22846e-01_rb,0.18301e-01_rb /) kao(:, 5,11,11) = (/ & & 0.49697e-01_rb,0.46259e-01_rb,0.45191e-01_rb,0.43198e-01_rb,0.40635e-01_rb, & & 0.36709e-01_rb,0.31434e-01_rb,0.25478e-01_rb,0.20947e-01_rb /) kao(:, 1,12,11) = (/ & & 0.48647e-01_rb,0.43752e-01_rb,0.40707e-01_rb,0.37500e-01_rb,0.33089e-01_rb, & & 0.28489e-01_rb,0.23000e-01_rb,0.16785e-01_rb,0.12627e-01_rb /) kao(:, 2,12,11) = (/ & & 0.48181e-01_rb,0.43711e-01_rb,0.41312e-01_rb,0.38500e-01_rb,0.34693e-01_rb, & & 0.30128e-01_rb,0.24939e-01_rb,0.18673e-01_rb,0.15167e-01_rb /) kao(:, 3,12,11) = (/ & & 0.47678e-01_rb,0.43812e-01_rb,0.42104e-01_rb,0.39699e-01_rb,0.36175e-01_rb, & & 0.32199e-01_rb,0.27269e-01_rb,0.20637e-01_rb,0.17826e-01_rb /) kao(:, 4,12,11) = (/ & & 0.47181e-01_rb,0.43914e-01_rb,0.43002e-01_rb,0.40767e-01_rb,0.38218e-01_rb, & & 0.34662e-01_rb,0.29455e-01_rb,0.22728e-01_rb,0.19785e-01_rb /) kao(:, 5,12,11) = (/ & & 0.46685e-01_rb,0.44343e-01_rb,0.43686e-01_rb,0.42426e-01_rb,0.40422e-01_rb, & & 0.36842e-01_rb,0.31692e-01_rb,0.25217e-01_rb,0.22679e-01_rb /) kao(:, 1,13,11) = (/ & & 0.44854e-01_rb,0.40724e-01_rb,0.38672e-01_rb,0.35614e-01_rb,0.31949e-01_rb, & & 0.27602e-01_rb,0.22498e-01_rb,0.16720e-01_rb,0.12798e-01_rb /) kao(:, 2,13,11) = (/ & & 0.44381e-01_rb,0.40833e-01_rb,0.39190e-01_rb,0.36792e-01_rb,0.33534e-01_rb, & & 0.29330e-01_rb,0.24604e-01_rb,0.18629e-01_rb,0.15661e-01_rb /) kao(:, 3,13,11) = (/ & & 0.43916e-01_rb,0.40995e-01_rb,0.40051e-01_rb,0.37975e-01_rb,0.35149e-01_rb, & & 0.31642e-01_rb,0.27046e-01_rb,0.20453e-01_rb,0.17792e-01_rb /) kao(:, 4,13,11) = (/ & & 0.43441e-01_rb,0.41288e-01_rb,0.40871e-01_rb,0.39278e-01_rb,0.37365e-01_rb, & & 0.34126e-01_rb,0.29213e-01_rb,0.22513e-01_rb,0.19591e-01_rb /) kao(:, 5,13,11) = (/ & & 0.42963e-01_rb,0.41916e-01_rb,0.41758e-01_rb,0.41144e-01_rb,0.39580e-01_rb, & & 0.36327e-01_rb,0.31558e-01_rb,0.24885e-01_rb,0.22715e-01_rb /) kao(:, 1, 1,12) = (/ & & 0.52315e-01_rb,0.47505e-01_rb,0.42884e-01_rb,0.38287e-01_rb,0.34721e-01_rb, & & 0.30888e-01_rb,0.29687e-01_rb,0.33559e-01_rb,0.37791e-01_rb /) kao(:, 2, 1,12) = (/ & & 0.52132e-01_rb,0.47869e-01_rb,0.43358e-01_rb,0.39519e-01_rb,0.36490e-01_rb, & & 0.33059e-01_rb,0.34560e-01_rb,0.39434e-01_rb,0.44537e-01_rb /) kao(:, 3, 1,12) = (/ & & 0.51859e-01_rb,0.48259e-01_rb,0.44108e-01_rb,0.41053e-01_rb,0.38159e-01_rb, & & 0.36325e-01_rb,0.40345e-01_rb,0.46345e-01_rb,0.52382e-01_rb /) kao(:, 4, 1,12) = (/ & & 0.51556e-01_rb,0.48650e-01_rb,0.44992e-01_rb,0.42544e-01_rb,0.40704e-01_rb, & & 0.40160e-01_rb,0.46427e-01_rb,0.53431e-01_rb,0.60544e-01_rb /) kao(:, 5, 1,12) = (/ & & 0.51137e-01_rb,0.48860e-01_rb,0.46168e-01_rb,0.44111e-01_rb,0.43209e-01_rb, & & 0.44827e-01_rb,0.52800e-01_rb,0.60972e-01_rb,0.69216e-01_rb /) kao(:, 1, 2,12) = (/ & & 0.56434e-01_rb,0.51118e-01_rb,0.46217e-01_rb,0.41561e-01_rb,0.37505e-01_rb, & & 0.33646e-01_rb,0.30189e-01_rb,0.33085e-01_rb,0.37424e-01_rb /) kao(:, 2, 2,12) = (/ & & 0.56174e-01_rb,0.51590e-01_rb,0.46758e-01_rb,0.42838e-01_rb,0.39459e-01_rb, & & 0.35755e-01_rb,0.34261e-01_rb,0.38732e-01_rb,0.43938e-01_rb /) kao(:, 3, 2,12) = (/ & & 0.55870e-01_rb,0.52113e-01_rb,0.47459e-01_rb,0.44557e-01_rb,0.41223e-01_rb, & & 0.38732e-01_rb,0.39807e-01_rb,0.45508e-01_rb,0.51693e-01_rb /) kao(:, 4, 2,12) = (/ & & 0.55457e-01_rb,0.52524e-01_rb,0.48507e-01_rb,0.46112e-01_rb,0.43732e-01_rb, & & 0.42045e-01_rb,0.45811e-01_rb,0.52732e-01_rb,0.60004e-01_rb /) kao(:, 5, 2,12) = (/ & & 0.54996e-01_rb,0.52680e-01_rb,0.49849e-01_rb,0.47721e-01_rb,0.46514e-01_rb, & & 0.45961e-01_rb,0.52270e-01_rb,0.60294e-01_rb,0.68714e-01_rb /) kao(:, 1, 3,12) = (/ & & 0.59831e-01_rb,0.53764e-01_rb,0.48883e-01_rb,0.44361e-01_rb,0.39553e-01_rb, & & 0.35958e-01_rb,0.31293e-01_rb,0.31467e-01_rb,0.35795e-01_rb /) kao(:, 2, 3,12) = (/ & & 0.59532e-01_rb,0.54423e-01_rb,0.49485e-01_rb,0.45554e-01_rb,0.41889e-01_rb, & & 0.38044e-01_rb,0.34149e-01_rb,0.36846e-01_rb,0.42078e-01_rb /) kao(:, 3, 3,12) = (/ & & 0.59134e-01_rb,0.55152e-01_rb,0.50116e-01_rb,0.47410e-01_rb,0.43907e-01_rb, & & 0.40732e-01_rb,0.38444e-01_rb,0.43145e-01_rb,0.49218e-01_rb /) kao(:, 4, 3,12) = (/ & & 0.58672e-01_rb,0.55655e-01_rb,0.51271e-01_rb,0.49059e-01_rb,0.46360e-01_rb, & & 0.44063e-01_rb,0.43633e-01_rb,0.49781e-01_rb,0.56746e-01_rb /) kao(:, 5, 3,12) = (/ & & 0.58134e-01_rb,0.55813e-01_rb,0.52716e-01_rb,0.50709e-01_rb,0.49278e-01_rb, & & 0.47427e-01_rb,0.49630e-01_rb,0.57031e-01_rb,0.65034e-01_rb /) kao(:, 1, 4,12) = (/ & & 0.62624e-01_rb,0.55864e-01_rb,0.50884e-01_rb,0.46641e-01_rb,0.41202e-01_rb, & & 0.37808e-01_rb,0.32728e-01_rb,0.29634e-01_rb,0.33571e-01_rb /) kao(:, 2, 4,12) = (/ & & 0.62339e-01_rb,0.56365e-01_rb,0.51618e-01_rb,0.47600e-01_rb,0.43888e-01_rb, & & 0.40000e-01_rb,0.35145e-01_rb,0.34591e-01_rb,0.39469e-01_rb /) kao(:, 3, 4,12) = (/ & & 0.61969e-01_rb,0.57107e-01_rb,0.52103e-01_rb,0.49599e-01_rb,0.46112e-01_rb, & & 0.42482e-01_rb,0.38680e-01_rb,0.40578e-01_rb,0.46387e-01_rb /) kao(:, 4, 4,12) = (/ & & 0.61515e-01_rb,0.57939e-01_rb,0.53160e-01_rb,0.51347e-01_rb,0.48544e-01_rb, & & 0.45843e-01_rb,0.42689e-01_rb,0.46767e-01_rb,0.53378e-01_rb /) kao(:, 5, 4,12) = (/ & & 0.60986e-01_rb,0.58238e-01_rb,0.54658e-01_rb,0.53027e-01_rb,0.51696e-01_rb, & & 0.49388e-01_rb,0.47217e-01_rb,0.53278e-01_rb,0.60785e-01_rb /) kao(:, 1, 5,12) = (/ & & 0.65795e-01_rb,0.58347e-01_rb,0.52585e-01_rb,0.48437e-01_rb,0.42714e-01_rb, & & 0.39265e-01_rb,0.34039e-01_rb,0.28235e-01_rb,0.31421e-01_rb /) kao(:, 2, 5,12) = (/ & & 0.65486e-01_rb,0.58633e-01_rb,0.53696e-01_rb,0.49213e-01_rb,0.45420e-01_rb, & & 0.41668e-01_rb,0.36378e-01_rb,0.32647e-01_rb,0.37055e-01_rb /) kao(:, 3, 5,12) = (/ & & 0.65183e-01_rb,0.59134e-01_rb,0.54134e-01_rb,0.51097e-01_rb,0.47829e-01_rb, & & 0.44052e-01_rb,0.39727e-01_rb,0.38129e-01_rb,0.43417e-01_rb /) kao(:, 4, 5,12) = (/ & & 0.64717e-01_rb,0.59894e-01_rb,0.54954e-01_rb,0.53041e-01_rb,0.50294e-01_rb, & & 0.47344e-01_rb,0.43654e-01_rb,0.43889e-01_rb,0.49916e-01_rb /) kao(:, 5, 5,12) = (/ & & 0.64255e-01_rb,0.60489e-01_rb,0.56373e-01_rb,0.54824e-01_rb,0.53472e-01_rb, & & 0.51112e-01_rb,0.47282e-01_rb,0.50031e-01_rb,0.57102e-01_rb /) kao(:, 1, 6,12) = (/ & & 0.69615e-01_rb,0.61594e-01_rb,0.54882e-01_rb,0.50187e-01_rb,0.44074e-01_rb, & & 0.39997e-01_rb,0.34871e-01_rb,0.27743e-01_rb,0.29013e-01_rb /) kao(:, 2, 6,12) = (/ & & 0.69442e-01_rb,0.61757e-01_rb,0.55910e-01_rb,0.50997e-01_rb,0.46497e-01_rb, & & 0.42613e-01_rb,0.37188e-01_rb,0.31216e-01_rb,0.34347e-01_rb /) kao(:, 3, 6,12) = (/ & & 0.69156e-01_rb,0.62106e-01_rb,0.56750e-01_rb,0.52515e-01_rb,0.49101e-01_rb, & & 0.44986e-01_rb,0.40395e-01_rb,0.35961e-01_rb,0.40369e-01_rb /) kao(:, 4, 6,12) = (/ & & 0.68816e-01_rb,0.62627e-01_rb,0.57231e-01_rb,0.54601e-01_rb,0.51362e-01_rb, & & 0.48280e-01_rb,0.44442e-01_rb,0.41156e-01_rb,0.46554e-01_rb /) kao(:, 5, 6,12) = (/ & & 0.68355e-01_rb,0.63113e-01_rb,0.58516e-01_rb,0.56347e-01_rb,0.54360e-01_rb, & & 0.52199e-01_rb,0.48222e-01_rb,0.46871e-01_rb,0.53241e-01_rb /) kao(:, 1, 7,12) = (/ & & 0.74032e-01_rb,0.65393e-01_rb,0.58013e-01_rb,0.51965e-01_rb,0.45915e-01_rb, & & 0.40526e-01_rb,0.35125e-01_rb,0.27883e-01_rb,0.26586e-01_rb /) kao(:, 2, 7,12) = (/ & & 0.73937e-01_rb,0.65493e-01_rb,0.58738e-01_rb,0.53263e-01_rb,0.47941e-01_rb, & & 0.43149e-01_rb,0.37585e-01_rb,0.30874e-01_rb,0.31614e-01_rb /) kao(:, 3, 7,12) = (/ & & 0.73662e-01_rb,0.65759e-01_rb,0.59591e-01_rb,0.54630e-01_rb,0.50354e-01_rb, & & 0.45514e-01_rb,0.40708e-01_rb,0.34889e-01_rb,0.37383e-01_rb /) kao(:, 4, 7,12) = (/ & & 0.73359e-01_rb,0.66187e-01_rb,0.60275e-01_rb,0.56599e-01_rb,0.52392e-01_rb, & & 0.48574e-01_rb,0.44791e-01_rb,0.39333e-01_rb,0.43356e-01_rb /) kao(:, 5, 7,12) = (/ & & 0.72923e-01_rb,0.66589e-01_rb,0.61432e-01_rb,0.58168e-01_rb,0.55043e-01_rb, & & 0.52561e-01_rb,0.48755e-01_rb,0.44300e-01_rb,0.49765e-01_rb /) kao(:, 1, 8,12) = (/ & & 0.78458e-01_rb,0.69177e-01_rb,0.61142e-01_rb,0.54247e-01_rb,0.47727e-01_rb, & & 0.41456e-01_rb,0.34819e-01_rb,0.27717e-01_rb,0.23941e-01_rb /) kao(:, 2, 8,12) = (/ & & 0.78410e-01_rb,0.69294e-01_rb,0.61857e-01_rb,0.55492e-01_rb,0.49764e-01_rb, & & 0.43844e-01_rb,0.37501e-01_rb,0.30644e-01_rb,0.28737e-01_rb /) kao(:, 3, 8,12) = (/ & & 0.78162e-01_rb,0.69463e-01_rb,0.62578e-01_rb,0.57026e-01_rb,0.52068e-01_rb, & & 0.46044e-01_rb,0.40472e-01_rb,0.34561e-01_rb,0.34380e-01_rb /) kao(:, 4, 8,12) = (/ & & 0.77871e-01_rb,0.69834e-01_rb,0.63268e-01_rb,0.59074e-01_rb,0.53918e-01_rb, & & 0.48672e-01_rb,0.44601e-01_rb,0.38671e-01_rb,0.40158e-01_rb /) kao(:, 5, 8,12) = (/ & & 0.77487e-01_rb,0.70209e-01_rb,0.64405e-01_rb,0.60632e-01_rb,0.56120e-01_rb, & & 0.52504e-01_rb,0.48787e-01_rb,0.42980e-01_rb,0.46410e-01_rb /) kao(:, 1, 9,12) = (/ & & 0.82666e-01_rb,0.72734e-01_rb,0.64105e-01_rb,0.56594e-01_rb,0.49561e-01_rb, & & 0.42281e-01_rb,0.34472e-01_rb,0.27105e-01_rb,0.21191e-01_rb /) kao(:, 2, 9,12) = (/ & & 0.82602e-01_rb,0.72866e-01_rb,0.64825e-01_rb,0.57780e-01_rb,0.51415e-01_rb, & & 0.44682e-01_rb,0.37233e-01_rb,0.30003e-01_rb,0.25697e-01_rb /) kao(:, 3, 9,12) = (/ & & 0.82349e-01_rb,0.72898e-01_rb,0.65478e-01_rb,0.59213e-01_rb,0.53844e-01_rb, & & 0.46925e-01_rb,0.39994e-01_rb,0.33830e-01_rb,0.31116e-01_rb /) kao(:, 4, 9,12) = (/ & & 0.82004e-01_rb,0.73222e-01_rb,0.66214e-01_rb,0.61303e-01_rb,0.55771e-01_rb, & & 0.49206e-01_rb,0.43963e-01_rb,0.38199e-01_rb,0.36759e-01_rb /) kao(:, 5, 9,12) = (/ & & 0.81608e-01_rb,0.73612e-01_rb,0.67180e-01_rb,0.63056e-01_rb,0.57653e-01_rb, & & 0.52653e-01_rb,0.48283e-01_rb,0.42441e-01_rb,0.42846e-01_rb /) kao(:, 1,10,12) = (/ & & 0.85880e-01_rb,0.75430e-01_rb,0.66656e-01_rb,0.58773e-01_rb,0.51658e-01_rb, & & 0.43336e-01_rb,0.34393e-01_rb,0.26157e-01_rb,0.14663e-01_rb /) kao(:, 2,10,12) = (/ & & 0.85756e-01_rb,0.75590e-01_rb,0.67337e-01_rb,0.60049e-01_rb,0.53266e-01_rb, & & 0.45473e-01_rb,0.37278e-01_rb,0.29125e-01_rb,0.16193e-01_rb /) kao(:, 3,10,12) = (/ & & 0.85530e-01_rb,0.75588e-01_rb,0.67995e-01_rb,0.61462e-01_rb,0.55345e-01_rb, & & 0.48001e-01_rb,0.39939e-01_rb,0.32883e-01_rb,0.20331e-01_rb /) kao(:, 4,10,12) = (/ & & 0.85095e-01_rb,0.75810e-01_rb,0.68684e-01_rb,0.63320e-01_rb,0.57485e-01_rb, & & 0.50257e-01_rb,0.43559e-01_rb,0.37443e-01_rb,0.23682e-01_rb /) kao(:, 5,10,12) = (/ & & 0.84667e-01_rb,0.76211e-01_rb,0.69733e-01_rb,0.65095e-01_rb,0.59445e-01_rb, & & 0.53380e-01_rb,0.47785e-01_rb,0.41863e-01_rb,0.26616e-01_rb /) kao(:, 1,11,12) = (/ & & 0.87471e-01_rb,0.76929e-01_rb,0.68322e-01_rb,0.60781e-01_rb,0.53951e-01_rb, & & 0.45056e-01_rb,0.35758e-01_rb,0.26371e-01_rb,0.18858e-01_rb /) kao(:, 2,11,12) = (/ & & 0.87208e-01_rb,0.76940e-01_rb,0.68996e-01_rb,0.62212e-01_rb,0.55582e-01_rb, & & 0.47319e-01_rb,0.38590e-01_rb,0.29478e-01_rb,0.21575e-01_rb /) kao(:, 3,11,12) = (/ & & 0.86835e-01_rb,0.76905e-01_rb,0.69723e-01_rb,0.63816e-01_rb,0.57699e-01_rb, & & 0.49745e-01_rb,0.41432e-01_rb,0.33605e-01_rb,0.25460e-01_rb /) kao(:, 4,11,12) = (/ & & 0.86430e-01_rb,0.77295e-01_rb,0.70629e-01_rb,0.65834e-01_rb,0.59545e-01_rb, & & 0.52341e-01_rb,0.45178e-01_rb,0.38243e-01_rb,0.30364e-01_rb /) kao(:, 5,11,12) = (/ & & 0.85874e-01_rb,0.77597e-01_rb,0.72138e-01_rb,0.67497e-01_rb,0.61709e-01_rb, & & 0.55855e-01_rb,0.49191e-01_rb,0.42789e-01_rb,0.33235e-01_rb /) kao(:, 1,12,12) = (/ & & 0.87248e-01_rb,0.76929e-01_rb,0.68689e-01_rb,0.62001e-01_rb,0.55189e-01_rb, & & 0.46282e-01_rb,0.37018e-01_rb,0.26535e-01_rb,0.20617e-01_rb /) kao(:, 2,12,12) = (/ & & 0.86938e-01_rb,0.76894e-01_rb,0.69591e-01_rb,0.63473e-01_rb,0.56879e-01_rb, & & 0.48866e-01_rb,0.39681e-01_rb,0.29869e-01_rb,0.23753e-01_rb /) kao(:, 3,12,12) = (/ & & 0.86505e-01_rb,0.76936e-01_rb,0.70473e-01_rb,0.65213e-01_rb,0.59161e-01_rb, & & 0.51227e-01_rb,0.42751e-01_rb,0.34068e-01_rb,0.28028e-01_rb /) kao(:, 4,12,12) = (/ & & 0.86014e-01_rb,0.77389e-01_rb,0.71734e-01_rb,0.67391e-01_rb,0.61041e-01_rb, & & 0.54172e-01_rb,0.46740e-01_rb,0.38524e-01_rb,0.33947e-01_rb /) kao(:, 5,12,12) = (/ & & 0.85424e-01_rb,0.77682e-01_rb,0.73622e-01_rb,0.69056e-01_rb,0.63676e-01_rb, & & 0.57877e-01_rb,0.50578e-01_rb,0.43087e-01_rb,0.36933e-01_rb /) kao(:, 1,13,12) = (/ & & 0.85419e-01_rb,0.75627e-01_rb,0.68076e-01_rb,0.62306e-01_rb,0.55288e-01_rb, & & 0.46939e-01_rb,0.37782e-01_rb,0.26869e-01_rb,0.20535e-01_rb /) kao(:, 2,13,12) = (/ & & 0.84985e-01_rb,0.75524e-01_rb,0.69213e-01_rb,0.63729e-01_rb,0.57271e-01_rb, & & 0.49714e-01_rb,0.40473e-01_rb,0.30181e-01_rb,0.22959e-01_rb /) kao(:, 3,13,12) = (/ & & 0.84529e-01_rb,0.75748e-01_rb,0.70315e-01_rb,0.65749e-01_rb,0.59660e-01_rb, & & 0.52260e-01_rb,0.43766e-01_rb,0.34359e-01_rb,0.28707e-01_rb /) kao(:, 4,13,12) = (/ & & 0.84038e-01_rb,0.76252e-01_rb,0.71947e-01_rb,0.67890e-01_rb,0.61874e-01_rb, & & 0.55511e-01_rb,0.47935e-01_rb,0.38594e-01_rb,0.34330e-01_rb /) kao(:, 5,13,12) = (/ & & 0.83450e-01_rb,0.76542e-01_rb,0.73924e-01_rb,0.69752e-01_rb,0.64960e-01_rb, & & 0.59356e-01_rb,0.51789e-01_rb,0.43079e-01_rb,0.38051e-01_rb /) kao(:, 1, 1,13) = (/ & & 0.68561e-01_rb,0.61393e-01_rb,0.55377e-01_rb,0.48367e-01_rb,0.42682e-01_rb, & & 0.39908e-01_rb,0.45275e-01_rb,0.51909e-01_rb,0.58629e-01_rb /) kao(:, 2, 1,13) = (/ & & 0.68429e-01_rb,0.62258e-01_rb,0.56444e-01_rb,0.49529e-01_rb,0.45167e-01_rb, & & 0.45643e-01_rb,0.53469e-01_rb,0.61626e-01_rb,0.69870e-01_rb /) kao(:, 3, 1,13) = (/ & & 0.68224e-01_rb,0.62810e-01_rb,0.57169e-01_rb,0.51186e-01_rb,0.48224e-01_rb, & & 0.52899e-01_rb,0.62764e-01_rb,0.72521e-01_rb,0.82353e-01_rb /) kao(:, 4, 1,13) = (/ & & 0.67917e-01_rb,0.63314e-01_rb,0.58187e-01_rb,0.53334e-01_rb,0.52038e-01_rb, & & 0.61434e-01_rb,0.73273e-01_rb,0.84850e-01_rb,0.96479e-01_rb /) kao(:, 5, 1,13) = (/ & & 0.67553e-01_rb,0.63903e-01_rb,0.59193e-01_rb,0.55737e-01_rb,0.58351e-01_rb, & & 0.71682e-01_rb,0.85665e-01_rb,0.99285e-01_rb,0.11295e+00_rb /) kao(:, 1, 2,13) = (/ & & 0.77509e-01_rb,0.69079e-01_rb,0.62486e-01_rb,0.54626e-01_rb,0.48075e-01_rb, & & 0.42537e-01_rb,0.44950e-01_rb,0.51477e-01_rb,0.58558e-01_rb /) kao(:, 2, 2,13) = (/ & & 0.77430e-01_rb,0.69950e-01_rb,0.63742e-01_rb,0.55764e-01_rb,0.50627e-01_rb, & & 0.46853e-01_rb,0.52532e-01_rb,0.60374e-01_rb,0.68733e-01_rb /) kao(:, 3, 2,13) = (/ & & 0.77189e-01_rb,0.70882e-01_rb,0.64573e-01_rb,0.57536e-01_rb,0.53311e-01_rb, & & 0.52406e-01_rb,0.61244e-01_rb,0.70634e-01_rb,0.80523e-01_rb /) kao(:, 4, 2,13) = (/ & & 0.76847e-01_rb,0.71588e-01_rb,0.65635e-01_rb,0.59928e-01_rb,0.56064e-01_rb, & & 0.60283e-01_rb,0.71500e-01_rb,0.82577e-01_rb,0.94220e-01_rb /) kao(:, 5, 2,13) = (/ & & 0.76386e-01_rb,0.72289e-01_rb,0.66796e-01_rb,0.62420e-01_rb,0.60016e-01_rb, & & 0.69350e-01_rb,0.82634e-01_rb,0.95798e-01_rb,0.10925e+00_rb /) kao(:, 1, 3,13) = (/ & & 0.86533e-01_rb,0.76872e-01_rb,0.69252e-01_rb,0.60999e-01_rb,0.53444e-01_rb, & & 0.46117e-01_rb,0.43982e-01_rb,0.49772e-01_rb,0.56991e-01_rb /) kao(:, 2, 3,13) = (/ & & 0.86412e-01_rb,0.77388e-01_rb,0.71047e-01_rb,0.62031e-01_rb,0.55847e-01_rb, & & 0.49560e-01_rb,0.50601e-01_rb,0.57831e-01_rb,0.66136e-01_rb /) kao(:, 3, 3,13) = (/ & & 0.86175e-01_rb,0.78253e-01_rb,0.72126e-01_rb,0.63678e-01_rb,0.58875e-01_rb, & & 0.53556e-01_rb,0.58645e-01_rb,0.67397e-01_rb,0.77181e-01_rb /) kao(:, 4, 3,13) = (/ & & 0.85802e-01_rb,0.79483e-01_rb,0.72991e-01_rb,0.66186e-01_rb,0.61530e-01_rb, & & 0.59229e-01_rb,0.68328e-01_rb,0.78749e-01_rb,0.90335e-01_rb /) kao(:, 5, 3,13) = (/ & & 0.85328e-01_rb,0.80671e-01_rb,0.74346e-01_rb,0.68871e-01_rb,0.64555e-01_rb, & & 0.67267e-01_rb,0.79478e-01_rb,0.91684e-01_rb,0.10533e+00_rb /) kao(:, 1, 4,13) = (/ & & 0.95394e-01_rb,0.84557e-01_rb,0.75442e-01_rb,0.67038e-01_rb,0.59073e-01_rb, & & 0.49886e-01_rb,0.44642e-01_rb,0.48508e-01_rb,0.55658e-01_rb /) kao(:, 2, 4,13) = (/ & & 0.95223e-01_rb,0.84873e-01_rb,0.77588e-01_rb,0.68316e-01_rb,0.60993e-01_rb, & & 0.53907e-01_rb,0.49824e-01_rb,0.55820e-01_rb,0.64074e-01_rb /) kao(:, 3, 4,13) = (/ & & 0.94965e-01_rb,0.85575e-01_rb,0.79290e-01_rb,0.69694e-01_rb,0.64420e-01_rb, & & 0.57295e-01_rb,0.56440e-01_rb,0.64306e-01_rb,0.73964e-01_rb /) kao(:, 4, 4,13) = (/ & & 0.94509e-01_rb,0.86370e-01_rb,0.80294e-01_rb,0.72257e-01_rb,0.67415e-01_rb, & & 0.61388e-01_rb,0.65357e-01_rb,0.74991e-01_rb,0.86332e-01_rb /) kao(:, 5, 4,13) = (/ & & 0.94009e-01_rb,0.87806e-01_rb,0.81595e-01_rb,0.75171e-01_rb,0.70245e-01_rb, & & 0.67536e-01_rb,0.76274e-01_rb,0.87845e-01_rb,0.10132e+00_rb /) kao(:, 1, 5,13) = (/ & & 0.10343e+00_rb,0.91525e-01_rb,0.80861e-01_rb,0.72378e-01_rb,0.64406e-01_rb, & & 0.53983e-01_rb,0.47036e-01_rb,0.47125e-01_rb,0.54095e-01_rb /) kao(:, 2, 5,13) = (/ & & 0.10334e+00_rb,0.91907e-01_rb,0.82762e-01_rb,0.74349e-01_rb,0.66049e-01_rb, & & 0.58213e-01_rb,0.51290e-01_rb,0.53990e-01_rb,0.61913e-01_rb /) kao(:, 3, 5,13) = (/ & & 0.10297e+00_rb,0.92357e-01_rb,0.85393e-01_rb,0.75564e-01_rb,0.69527e-01_rb, & & 0.62165e-01_rb,0.56265e-01_rb,0.62011e-01_rb,0.71236e-01_rb /) kao(:, 4, 5,13) = (/ & & 0.10256e+00_rb,0.93114e-01_rb,0.87093e-01_rb,0.77935e-01_rb,0.73042e-01_rb, & & 0.65986e-01_rb,0.63498e-01_rb,0.72109e-01_rb,0.83127e-01_rb /) kao(:, 5, 5,13) = (/ & & 0.10189e+00_rb,0.94299e-01_rb,0.88282e-01_rb,0.81218e-01_rb,0.76035e-01_rb, & & 0.70876e-01_rb,0.73640e-01_rb,0.84406e-01_rb,0.97393e-01_rb /) kao(:, 1, 6,13) = (/ & & 0.11045e+00_rb,0.97454e-01_rb,0.85408e-01_rb,0.76244e-01_rb,0.68972e-01_rb, & & 0.58251e-01_rb,0.49930e-01_rb,0.45374e-01_rb,0.51875e-01_rb /) kao(:, 2, 6,13) = (/ & & 0.11019e+00_rb,0.97819e-01_rb,0.87148e-01_rb,0.79069e-01_rb,0.71021e-01_rb, & & 0.62071e-01_rb,0.54179e-01_rb,0.52124e-01_rb,0.59618e-01_rb /) kao(:, 3, 6,13) = (/ & & 0.10981e+00_rb,0.98088e-01_rb,0.89384e-01_rb,0.81156e-01_rb,0.73973e-01_rb, & & 0.66762e-01_rb,0.58141e-01_rb,0.59499e-01_rb,0.68391e-01_rb /) kao(:, 4, 6,13) = (/ & & 0.10923e+00_rb,0.98741e-01_rb,0.91856e-01_rb,0.83093e-01_rb,0.78121e-01_rb, & & 0.70717e-01_rb,0.63590e-01_rb,0.68985e-01_rb,0.79490e-01_rb /) kao(:, 5, 6,13) = (/ & & 0.10855e+00_rb,0.99728e-01_rb,0.93768e-01_rb,0.86485e-01_rb,0.81499e-01_rb, & & 0.75384e-01_rb,0.71738e-01_rb,0.80634e-01_rb,0.92951e-01_rb /) kao(:, 1, 7,13) = (/ & & 0.11652e+00_rb,0.10245e+00_rb,0.89345e-01_rb,0.79831e-01_rb,0.71546e-01_rb, & & 0.62110e-01_rb,0.52889e-01_rb,0.43937e-01_rb,0.49094e-01_rb /) kao(:, 2, 7,13) = (/ & & 0.11624e+00_rb,0.10291e+00_rb,0.90769e-01_rb,0.82143e-01_rb,0.74705e-01_rb, & & 0.65752e-01_rb,0.57383e-01_rb,0.50125e-01_rb,0.56751e-01_rb /) kao(:, 3, 7,13) = (/ & & 0.11594e+00_rb,0.10317e+00_rb,0.92734e-01_rb,0.84722e-01_rb,0.77935e-01_rb, & & 0.70772e-01_rb,0.61416e-01_rb,0.57153e-01_rb,0.65344e-01_rb /) kao(:, 4, 7,13) = (/ & & 0.11535e+00_rb,0.10356e+00_rb,0.95024e-01_rb,0.87242e-01_rb,0.82357e-01_rb, & & 0.75212e-01_rb,0.65866e-01_rb,0.66110e-01_rb,0.76048e-01_rb /) kao(:, 5, 7,13) = (/ & & 0.11474e+00_rb,0.10447e+00_rb,0.97059e-01_rb,0.90869e-01_rb,0.86343e-01_rb, & & 0.79806e-01_rb,0.72467e-01_rb,0.77014e-01_rb,0.88751e-01_rb /) kao(:, 1, 8,13) = (/ & & 0.12265e+00_rb,0.10756e+00_rb,0.93593e-01_rb,0.82964e-01_rb,0.73576e-01_rb, & & 0.64374e-01_rb,0.55605e-01_rb,0.43559e-01_rb,0.46060e-01_rb /) kao(:, 2, 8,13) = (/ & & 0.12249e+00_rb,0.10812e+00_rb,0.94575e-01_rb,0.84973e-01_rb,0.76683e-01_rb, & & 0.68823e-01_rb,0.60052e-01_rb,0.49117e-01_rb,0.53798e-01_rb /) kao(:, 3, 8,13) = (/ & & 0.12216e+00_rb,0.10834e+00_rb,0.96338e-01_rb,0.87360e-01_rb,0.80349e-01_rb, & & 0.74206e-01_rb,0.64654e-01_rb,0.55074e-01_rb,0.62031e-01_rb /) kao(:, 4, 8,13) = (/ & & 0.12168e+00_rb,0.10860e+00_rb,0.98251e-01_rb,0.89888e-01_rb,0.85251e-01_rb, & & 0.79126e-01_rb,0.69120e-01_rb,0.63252e-01_rb,0.72334e-01_rb /) kao(:, 5, 8,13) = (/ & & 0.12099e+00_rb,0.10931e+00_rb,0.10017e+00_rb,0.93685e-01_rb,0.90048e-01_rb, & & 0.83711e-01_rb,0.75096e-01_rb,0.73779e-01_rb,0.84712e-01_rb /) kao(:, 1, 9,13) = (/ & & 0.12914e+00_rb,0.11313e+00_rb,0.98462e-01_rb,0.86441e-01_rb,0.75875e-01_rb, & & 0.66332e-01_rb,0.57013e-01_rb,0.43839e-01_rb,0.42411e-01_rb /) kao(:, 2, 9,13) = (/ & & 0.12911e+00_rb,0.11365e+00_rb,0.99113e-01_rb,0.88386e-01_rb,0.78651e-01_rb, & & 0.70676e-01_rb,0.61767e-01_rb,0.49076e-01_rb,0.50412e-01_rb /) kao(:, 3, 9,13) = (/ & & 0.12886e+00_rb,0.11401e+00_rb,0.10056e+00_rb,0.90400e-01_rb,0.82030e-01_rb, & & 0.75969e-01_rb,0.67212e-01_rb,0.54346e-01_rb,0.58598e-01_rb /) kao(:, 4, 9,13) = (/ & & 0.12844e+00_rb,0.11410e+00_rb,0.10221e+00_rb,0.92662e-01_rb,0.86791e-01_rb, & & 0.81685e-01_rb,0.71813e-01_rb,0.61251e-01_rb,0.68599e-01_rb /) kao(:, 5, 9,13) = (/ & & 0.12781e+00_rb,0.11455e+00_rb,0.10390e+00_rb,0.96184e-01_rb,0.92217e-01_rb, & & 0.86557e-01_rb,0.77640e-01_rb,0.70636e-01_rb,0.80447e-01_rb /) kao(:, 1,10,13) = (/ & & 0.13661e+00_rb,0.11963e+00_rb,0.10401e+00_rb,0.90612e-01_rb,0.78552e-01_rb, & & 0.68665e-01_rb,0.58042e-01_rb,0.44182e-01_rb,0.20623e-01_rb /) kao(:, 2,10,13) = (/ & & 0.13663e+00_rb,0.12000e+00_rb,0.10449e+00_rb,0.92427e-01_rb,0.81459e-01_rb, & & 0.72606e-01_rb,0.62588e-01_rb,0.49634e-01_rb,0.27517e-01_rb /) kao(:, 3,10,13) = (/ & & 0.13648e+00_rb,0.12048e+00_rb,0.10572e+00_rb,0.94344e-01_rb,0.84635e-01_rb, & & 0.77264e-01_rb,0.68466e-01_rb,0.54964e-01_rb,0.37460e-01_rb /) kao(:, 4,10,13) = (/ & & 0.13615e+00_rb,0.12055e+00_rb,0.10724e+00_rb,0.96538e-01_rb,0.88921e-01_rb, & & 0.82919e-01_rb,0.73837e-01_rb,0.61121e-01_rb,0.51408e-01_rb /) kao(:, 5,10,13) = (/ & & 0.13560e+00_rb,0.12083e+00_rb,0.10867e+00_rb,0.99719e-01_rb,0.94157e-01_rb, & & 0.88097e-01_rb,0.79982e-01_rb,0.69630e-01_rb,0.68524e-01_rb /) kao(:, 1,11,13) = (/ & & 0.14486e+00_rb,0.12685e+00_rb,0.11053e+00_rb,0.96215e-01_rb,0.83198e-01_rb, & & 0.72790e-01_rb,0.60483e-01_rb,0.46368e-01_rb,0.23123e-01_rb /) kao(:, 2,11,13) = (/ & & 0.14497e+00_rb,0.12740e+00_rb,0.11115e+00_rb,0.98058e-01_rb,0.86138e-01_rb, & & 0.76317e-01_rb,0.65283e-01_rb,0.52226e-01_rb,0.29160e-01_rb /) kao(:, 3,11,13) = (/ & & 0.14473e+00_rb,0.12775e+00_rb,0.11243e+00_rb,0.99891e-01_rb,0.89493e-01_rb, & & 0.80996e-01_rb,0.71303e-01_rb,0.57950e-01_rb,0.32977e-01_rb /) kao(:, 4,11,13) = (/ & & 0.14430e+00_rb,0.12774e+00_rb,0.11386e+00_rb,0.10223e+00_rb,0.94098e-01_rb, & & 0.86252e-01_rb,0.77087e-01_rb,0.64785e-01_rb,0.38714e-01_rb /) kao(:, 5,11,13) = (/ & & 0.14365e+00_rb,0.12806e+00_rb,0.11504e+00_rb,0.10578e+00_rb,0.98766e-01_rb, & & 0.91283e-01_rb,0.84242e-01_rb,0.73581e-01_rb,0.47497e-01_rb /) kao(:, 1,12,13) = (/ & & 0.15269e+00_rb,0.13372e+00_rb,0.11691e+00_rb,0.10167e+00_rb,0.88459e-01_rb, & & 0.76634e-01_rb,0.62620e-01_rb,0.48153e-01_rb,0.27858e-01_rb /) kao(:, 2,12,13) = (/ & & 0.15257e+00_rb,0.13415e+00_rb,0.11750e+00_rb,0.10380e+00_rb,0.91589e-01_rb, & & 0.79898e-01_rb,0.67862e-01_rb,0.54271e-01_rb,0.35587e-01_rb /) kao(:, 3,12,13) = (/ & & 0.15233e+00_rb,0.13449e+00_rb,0.11899e+00_rb,0.10589e+00_rb,0.94966e-01_rb, & & 0.84666e-01_rb,0.73653e-01_rb,0.60551e-01_rb,0.39809e-01_rb /) kao(:, 4,12,13) = (/ & & 0.15175e+00_rb,0.13439e+00_rb,0.12031e+00_rb,0.10854e+00_rb,0.99506e-01_rb, & & 0.89389e-01_rb,0.79517e-01_rb,0.68401e-01_rb,0.45578e-01_rb /) kao(:, 5,12,13) = (/ & & 0.15105e+00_rb,0.13484e+00_rb,0.12149e+00_rb,0.11242e+00_rb,0.10353e+00_rb, & & 0.94548e-01_rb,0.87485e-01_rb,0.77323e-01_rb,0.55990e-01_rb /) kao(:, 1,13,13) = (/ & & 0.15929e+00_rb,0.13953e+00_rb,0.12252e+00_rb,0.10682e+00_rb,0.93710e-01_rb, & & 0.80318e-01_rb,0.64679e-01_rb,0.49483e-01_rb,0.31231e-01_rb /) kao(:, 2,13,13) = (/ & & 0.15914e+00_rb,0.14001e+00_rb,0.12322e+00_rb,0.10931e+00_rb,0.96798e-01_rb, & & 0.83533e-01_rb,0.70039e-01_rb,0.55928e-01_rb,0.39440e-01_rb /) kao(:, 3,13,13) = (/ & & 0.15875e+00_rb,0.14019e+00_rb,0.12484e+00_rb,0.11161e+00_rb,0.10034e+00_rb, & & 0.88309e-01_rb,0.75681e-01_rb,0.62757e-01_rb,0.43280e-01_rb /) kao(:, 4,13,13) = (/ & & 0.15815e+00_rb,0.14019e+00_rb,0.12619e+00_rb,0.11467e+00_rb,0.10492e+00_rb, & & 0.92849e-01_rb,0.81796e-01_rb,0.71221e-01_rb,0.50343e-01_rb /) kao(:, 5,13,13) = (/ & & 0.15737e+00_rb,0.14077e+00_rb,0.12756e+00_rb,0.11888e+00_rb,0.10868e+00_rb, & & 0.98192e-01_rb,0.90106e-01_rb,0.80417e-01_rb,0.60332e-01_rb /) kao(:, 1, 1,14) = (/ & & 0.83965e-01_rb,0.74725e-01_rb,0.67262e-01_rb,0.61439e-01_rb,0.63569e-01_rb, & & 0.76568e-01_rb,0.91505e-01_rb,0.10604e+00_rb,0.12066e+00_rb /) kao(:, 2, 1,14) = (/ & & 0.84124e-01_rb,0.75639e-01_rb,0.69121e-01_rb,0.66761e-01_rb,0.75177e-01_rb, & & 0.93190e-01_rb,0.11140e+00_rb,0.12912e+00_rb,0.14697e+00_rb /) kao(:, 3, 1,14) = (/ & & 0.84208e-01_rb,0.76821e-01_rb,0.71401e-01_rb,0.74638e-01_rb,0.90938e-01_rb, & & 0.11330e+00_rb,0.13555e+00_rb,0.15732e+00_rb,0.17919e+00_rb /) kao(:, 4, 1,14) = (/ & & 0.84082e-01_rb,0.77722e-01_rb,0.74753e-01_rb,0.85505e-01_rb,0.11037e+00_rb, & & 0.13754e+00_rb,0.16460e+00_rb,0.19114e+00_rb,0.21779e+00_rb /) kao(:, 5, 1,14) = (/ & & 0.83810e-01_rb,0.78431e-01_rb,0.79767e-01_rb,0.99722e-01_rb,0.13195e+00_rb, & & 0.16448e+00_rb,0.19691e+00_rb,0.22867e+00_rb,0.26057e+00_rb /) kao(:, 1, 2,14) = (/ & & 0.98728e-01_rb,0.87584e-01_rb,0.78635e-01_rb,0.69559e-01_rb,0.65625e-01_rb, & & 0.74022e-01_rb,0.88098e-01_rb,0.10177e+00_rb,0.11620e+00_rb /) kao(:, 2, 2,14) = (/ & & 0.98895e-01_rb,0.88195e-01_rb,0.80583e-01_rb,0.73010e-01_rb,0.73981e-01_rb, & & 0.89007e-01_rb,0.10638e+00_rb,0.12319e+00_rb,0.14079e+00_rb /) kao(:, 3, 2,14) = (/ & & 0.98911e-01_rb,0.89265e-01_rb,0.82581e-01_rb,0.78421e-01_rb,0.87111e-01_rb, & & 0.10783e+00_rb,0.12893e+00_rb,0.14951e+00_rb,0.17084e+00_rb /) kao(:, 4, 2,14) = (/ & & 0.98795e-01_rb,0.90737e-01_rb,0.84451e-01_rb,0.86623e-01_rb,0.10466e+00_rb, & & 0.13034e+00_rb,0.15592e+00_rb,0.18094e+00_rb,0.20669e+00_rb /) kao(:, 5, 2,14) = (/ & & 0.98517e-01_rb,0.92027e-01_rb,0.87783e-01_rb,0.98306e-01_rb,0.12592e+00_rb, & & 0.15706e+00_rb,0.18794e+00_rb,0.21816e+00_rb,0.24934e+00_rb /) kao(:, 1, 3,14) = (/ & & 0.11536e+00_rb,0.10204e+00_rb,0.91076e-01_rb,0.79879e-01_rb,0.70411e-01_rb, & & 0.71590e-01_rb,0.83610e-01_rb,0.96241e-01_rb,0.11049e+00_rb /) kao(:, 2, 3,14) = (/ & & 0.11565e+00_rb,0.10277e+00_rb,0.93049e-01_rb,0.82303e-01_rb,0.75267e-01_rb, & & 0.83499e-01_rb,0.99323e-01_rb,0.11472e+00_rb,0.13181e+00_rb /) kao(:, 3, 3,14) = (/ & & 0.11566e+00_rb,0.10353e+00_rb,0.95697e-01_rb,0.85227e-01_rb,0.84157e-01_rb, & & 0.99917e-01_rb,0.11933e+00_rb,0.13815e+00_rb,0.15865e+00_rb /) kao(:, 4, 3,14) = (/ & & 0.11554e+00_rb,0.10447e+00_rb,0.97554e-01_rb,0.90504e-01_rb,0.97960e-01_rb, & & 0.12029e+00_rb,0.14386e+00_rb,0.16671e+00_rb,0.19135e+00_rb /) kao(:, 5, 3,14) = (/ & & 0.11515e+00_rb,0.10586e+00_rb,0.99141e-01_rb,0.99110e-01_rb,0.11626e+00_rb, & & 0.14432e+00_rb,0.17265e+00_rb,0.20040e+00_rb,0.22976e+00_rb /) kao(:, 1, 4,14) = (/ & & 0.13374e+00_rb,0.11777e+00_rb,0.10356e+00_rb,0.90948e-01_rb,0.79121e-01_rb, & & 0.73845e-01_rb,0.80790e-01_rb,0.92777e-01_rb,0.10713e+00_rb /) kao(:, 2, 4,14) = (/ & & 0.13413e+00_rb,0.11892e+00_rb,0.10607e+00_rb,0.94460e-01_rb,0.81628e-01_rb, & & 0.80960e-01_rb,0.93972e-01_rb,0.10817e+00_rb,0.12489e+00_rb /) kao(:, 3, 4,14) = (/ & & 0.13429e+00_rb,0.11957e+00_rb,0.10936e+00_rb,0.96737e-01_rb,0.86452e-01_rb, & & 0.93977e-01_rb,0.11135e+00_rb,0.12854e+00_rb,0.14815e+00_rb /) kao(:, 4, 4,14) = (/ & & 0.13415e+00_rb,0.12054e+00_rb,0.11264e+00_rb,0.99496e-01_rb,0.96100e-01_rb, & & 0.11145e+00_rb,0.13299e+00_rb,0.15385e+00_rb,0.17718e+00_rb /) kao(:, 5, 4,14) = (/ & & 0.13374e+00_rb,0.12142e+00_rb,0.11440e+00_rb,0.10500e+00_rb,0.11046e+00_rb, & & 0.13295e+00_rb,0.15886e+00_rb,0.18424e+00_rb,0.21188e+00_rb /) kao(:, 1, 5,14) = (/ & & 0.15386e+00_rb,0.13491e+00_rb,0.11798e+00_rb,0.10225e+00_rb,0.89703e-01_rb, & & 0.79220e-01_rb,0.79340e-01_rb,0.90595e-01_rb,0.10482e+00_rb /) kao(:, 2, 5,14) = (/ & & 0.15427e+00_rb,0.13635e+00_rb,0.12030e+00_rb,0.10668e+00_rb,0.92323e-01_rb, & & 0.84157e-01_rb,0.91777e-01_rb,0.10537e+00_rb,0.12216e+00_rb /) kao(:, 3, 5,14) = (/ & & 0.15452e+00_rb,0.13729e+00_rb,0.12299e+00_rb,0.11079e+00_rb,0.94730e-01_rb, & & 0.92840e-01_rb,0.10677e+00_rb,0.12287e+00_rb,0.14246e+00_rb /) kao(:, 4, 5,14) = (/ & & 0.15437e+00_rb,0.13801e+00_rb,0.12683e+00_rb,0.11313e+00_rb,0.10059e+00_rb, & & 0.10648e+00_rb,0.12562e+00_rb,0.14488e+00_rb,0.16770e+00_rb /) kao(:, 5, 5,14) = (/ & & 0.15403e+00_rb,0.13896e+00_rb,0.13053e+00_rb,0.11647e+00_rb,0.11129e+00_rb, & & 0.12495e+00_rb,0.14877e+00_rb,0.17193e+00_rb,0.19866e+00_rb /) kao(:, 1, 6,14) = (/ & & 0.17516e+00_rb,0.15332e+00_rb,0.13386e+00_rb,0.11461e+00_rb,0.98998e-01_rb, & & 0.86199e-01_rb,0.78839e-01_rb,0.88239e-01_rb,0.10212e+00_rb /) kao(:, 2, 6,14) = (/ & & 0.17578e+00_rb,0.15465e+00_rb,0.13554e+00_rb,0.11810e+00_rb,0.10372e+00_rb, & & 0.90966e-01_rb,0.90397e-01_rb,0.10318e+00_rb,0.11979e+00_rb /) kao(:, 3, 6,14) = (/ & & 0.17603e+00_rb,0.15606e+00_rb,0.13830e+00_rb,0.12297e+00_rb,0.10694e+00_rb, & & 0.96886e-01_rb,0.10455e+00_rb,0.12004e+00_rb,0.13936e+00_rb /) kao(:, 4, 6,14) = (/ & & 0.17594e+00_rb,0.15671e+00_rb,0.14175e+00_rb,0.12765e+00_rb,0.11049e+00_rb, & & 0.10701e+00_rb,0.12142e+00_rb,0.13971e+00_rb,0.16228e+00_rb /) kao(:, 5, 6,14) = (/ & & 0.17559e+00_rb,0.15762e+00_rb,0.14567e+00_rb,0.13124e+00_rb,0.11784e+00_rb, & & 0.12121e+00_rb,0.14182e+00_rb,0.16360e+00_rb,0.18966e+00_rb /) kao(:, 1, 7,14) = (/ & & 0.19714e+00_rb,0.17254e+00_rb,0.15016e+00_rb,0.12718e+00_rb,0.10949e+00_rb, & & 0.93814e-01_rb,0.79465e-01_rb,0.85103e-01_rb,0.98359e-01_rb /) kao(:, 2, 7,14) = (/ & & 0.19796e+00_rb,0.17362e+00_rb,0.15183e+00_rb,0.13102e+00_rb,0.11370e+00_rb, & & 0.99479e-01_rb,0.90483e-01_rb,0.10125e+00_rb,0.11726e+00_rb /) kao(:, 3, 7,14) = (/ & & 0.19829e+00_rb,0.17522e+00_rb,0.15424e+00_rb,0.13545e+00_rb,0.11863e+00_rb, & & 0.10457e+00_rb,0.10363e+00_rb,0.11810e+00_rb,0.13724e+00_rb /) kao(:, 4, 7,14) = (/ & & 0.19826e+00_rb,0.17625e+00_rb,0.15748e+00_rb,0.14049e+00_rb,0.12307e+00_rb, & & 0.11254e+00_rb,0.11942e+00_rb,0.13698e+00_rb,0.15920e+00_rb /) kao(:, 5, 7,14) = (/ & & 0.19780e+00_rb,0.17685e+00_rb,0.16171e+00_rb,0.14510e+00_rb,0.12933e+00_rb, & & 0.12368e+00_rb,0.13790e+00_rb,0.15875e+00_rb,0.18443e+00_rb /) kao(:, 1, 8,14) = (/ & & 0.21950e+00_rb,0.19210e+00_rb,0.16641e+00_rb,0.14074e+00_rb,0.12030e+00_rb, & & 0.10245e+00_rb,0.82539e-01_rb,0.82181e-01_rb,0.95126e-01_rb /) kao(:, 2, 8,14) = (/ & & 0.22029e+00_rb,0.19287e+00_rb,0.16845e+00_rb,0.14392e+00_rb,0.12476e+00_rb, & & 0.10750e+00_rb,0.92052e-01_rb,0.97622e-01_rb,0.11306e+00_rb /) kao(:, 3, 8,14) = (/ & & 0.22070e+00_rb,0.19423e+00_rb,0.17032e+00_rb,0.14847e+00_rb,0.12971e+00_rb, & & 0.11297e+00_rb,0.10375e+00_rb,0.11522e+00_rb,0.13338e+00_rb /) kao(:, 4, 8,14) = (/ & & 0.22058e+00_rb,0.19569e+00_rb,0.17355e+00_rb,0.15354e+00_rb,0.13473e+00_rb, & & 0.12044e+00_rb,0.11859e+00_rb,0.13469e+00_rb,0.15609e+00_rb /) kao(:, 5, 8,14) = (/ & & 0.22021e+00_rb,0.19640e+00_rb,0.17762e+00_rb,0.15857e+00_rb,0.14102e+00_rb, & & 0.13035e+00_rb,0.13566e+00_rb,0.15573e+00_rb,0.18054e+00_rb /) kao(:, 1, 9,14) = (/ & & 0.24109e+00_rb,0.21099e+00_rb,0.18179e+00_rb,0.15454e+00_rb,0.13112e+00_rb, & & 0.11092e+00_rb,0.89296e-01_rb,0.80506e-01_rb,0.93157e-01_rb /) kao(:, 2, 9,14) = (/ & & 0.24188e+00_rb,0.21170e+00_rb,0.18440e+00_rb,0.15693e+00_rb,0.13589e+00_rb, & & 0.11596e+00_rb,0.96808e-01_rb,0.94330e-01_rb,0.10941e+00_rb /) kao(:, 3, 9,14) = (/ & & 0.24228e+00_rb,0.21270e+00_rb,0.18618e+00_rb,0.16137e+00_rb,0.14099e+00_rb, & & 0.12182e+00_rb,0.10601e+00_rb,0.11139e+00_rb,0.12901e+00_rb /) kao(:, 4, 9,14) = (/ & & 0.24222e+00_rb,0.21416e+00_rb,0.18881e+00_rb,0.16653e+00_rb,0.14643e+00_rb, & & 0.12886e+00_rb,0.11898e+00_rb,0.13037e+00_rb,0.15086e+00_rb /) kao(:, 5, 9,14) = (/ & & 0.24175e+00_rb,0.21527e+00_rb,0.19303e+00_rb,0.17188e+00_rb,0.15251e+00_rb, & & 0.13886e+00_rb,0.13479e+00_rb,0.15182e+00_rb,0.17551e+00_rb /) kao(:, 1,10,14) = (/ & & 0.26096e+00_rb,0.22837e+00_rb,0.19625e+00_rb,0.16743e+00_rb,0.14218e+00_rb, & & 0.11905e+00_rb,0.97365e-01_rb,0.81466e-01_rb,0.86743e-01_rb /) kao(:, 2,10,14) = (/ & & 0.26197e+00_rb,0.22928e+00_rb,0.19902e+00_rb,0.16970e+00_rb,0.14641e+00_rb, & & 0.12483e+00_rb,0.10472e+00_rb,0.93843e-01_rb,0.10806e+00_rb /) kao(:, 3,10,14) = (/ & & 0.26221e+00_rb,0.22989e+00_rb,0.20102e+00_rb,0.17345e+00_rb,0.15221e+00_rb, & & 0.13116e+00_rb,0.11273e+00_rb,0.10943e+00_rb,0.12658e+00_rb /) kao(:, 4,10,14) = (/ & & 0.26216e+00_rb,0.23120e+00_rb,0.20343e+00_rb,0.17903e+00_rb,0.15795e+00_rb, & & 0.13876e+00_rb,0.12342e+00_rb,0.12756e+00_rb,0.14743e+00_rb /) kao(:, 5,10,14) = (/ & & 0.26155e+00_rb,0.23254e+00_rb,0.20744e+00_rb,0.18479e+00_rb,0.16453e+00_rb, & & 0.14894e+00_rb,0.13716e+00_rb,0.14827e+00_rb,0.17117e+00_rb /) kao(:, 1,11,14) = (/ & & 0.28000e+00_rb,0.24504e+00_rb,0.21069e+00_rb,0.18024e+00_rb,0.15374e+00_rb, & & 0.12937e+00_rb,0.10819e+00_rb,0.88668e-01_rb,0.55926e-01_rb /) kao(:, 2,11,14) = (/ & & 0.28047e+00_rb,0.24546e+00_rb,0.21318e+00_rb,0.18272e+00_rb,0.15865e+00_rb, & & 0.13663e+00_rb,0.11594e+00_rb,0.10024e+00_rb,0.74129e-01_rb /) kao(:, 3,11,14) = (/ & & 0.28078e+00_rb,0.24627e+00_rb,0.21537e+00_rb,0.18699e+00_rb,0.16514e+00_rb, & & 0.14391e+00_rb,0.12463e+00_rb,0.11566e+00_rb,0.10008e+00_rb /) kao(:, 4,11,14) = (/ & & 0.28041e+00_rb,0.24739e+00_rb,0.21799e+00_rb,0.19316e+00_rb,0.17153e+00_rb, & & 0.15296e+00_rb,0.13573e+00_rb,0.13384e+00_rb,0.12903e+00_rb /) kao(:, 5,11,14) = (/ & & 0.27974e+00_rb,0.24878e+00_rb,0.22235e+00_rb,0.19924e+00_rb,0.17976e+00_rb, & & 0.16447e+00_rb,0.14857e+00_rb,0.15437e+00_rb,0.16255e+00_rb /) kao(:, 1,12,14) = (/ & & 0.29848e+00_rb,0.26121e+00_rb,0.22470e+00_rb,0.19300e+00_rb,0.16476e+00_rb, & & 0.13979e+00_rb,0.11858e+00_rb,0.95361e-01_rb,0.54706e-01_rb /) kao(:, 2,12,14) = (/ & & 0.29901e+00_rb,0.26167e+00_rb,0.22733e+00_rb,0.19555e+00_rb,0.17000e+00_rb, & & 0.14834e+00_rb,0.12686e+00_rb,0.10640e+00_rb,0.56924e-01_rb /) kao(:, 3,12,14) = (/ & & 0.29886e+00_rb,0.26222e+00_rb,0.22932e+00_rb,0.20008e+00_rb,0.17736e+00_rb, & & 0.15653e+00_rb,0.13669e+00_rb,0.12173e+00_rb,0.76097e-01_rb /) kao(:, 4,12,14) = (/ & & 0.29840e+00_rb,0.26333e+00_rb,0.23210e+00_rb,0.20641e+00_rb,0.18472e+00_rb, & & 0.16716e+00_rb,0.14883e+00_rb,0.13980e+00_rb,0.10268e+00_rb /) kao(:, 5,12,14) = (/ & & 0.29738e+00_rb,0.26451e+00_rb,0.23656e+00_rb,0.21275e+00_rb,0.19460e+00_rb, & & 0.18005e+00_rb,0.16102e+00_rb,0.16046e+00_rb,0.13219e+00_rb /) kao(:, 1,13,14) = (/ & & 0.31629e+00_rb,0.27681e+00_rb,0.23838e+00_rb,0.20550e+00_rb,0.17561e+00_rb, & & 0.15005e+00_rb,0.12855e+00_rb,0.10141e+00_rb,0.58394e-01_rb /) kao(:, 2,13,14) = (/ & & 0.31664e+00_rb,0.27713e+00_rb,0.24100e+00_rb,0.20827e+00_rb,0.18155e+00_rb, & & 0.15952e+00_rb,0.13765e+00_rb,0.11247e+00_rb,0.60995e-01_rb /) kao(:, 3,13,14) = (/ & & 0.31646e+00_rb,0.27774e+00_rb,0.24298e+00_rb,0.21292e+00_rb,0.18963e+00_rb, & & 0.16861e+00_rb,0.14853e+00_rb,0.12785e+00_rb,0.75808e-01_rb /) kao(:, 4,13,14) = (/ & & 0.31577e+00_rb,0.27872e+00_rb,0.24590e+00_rb,0.21953e+00_rb,0.19753e+00_rb, & & 0.18064e+00_rb,0.16179e+00_rb,0.14607e+00_rb,0.10217e+00_rb /) kao(:, 5,13,14) = (/ & & 0.31458e+00_rb,0.27978e+00_rb,0.25030e+00_rb,0.22598e+00_rb,0.20858e+00_rb, & & 0.19488e+00_rb,0.17415e+00_rb,0.16696e+00_rb,0.13138e+00_rb /) kao(:, 1, 1,15) = (/ & & 0.94898e-01_rb,0.85055e-01_rb,0.10490e+00_rb,0.15201e+00_rb,0.20225e+00_rb, & & 0.25227e+00_rb,0.30184e+00_rb,0.34935e+00_rb,0.39726e+00_rb /) kao(:, 2, 1,15) = (/ & & 0.95143e-01_rb,0.87211e-01_rb,0.12685e+00_rb,0.18956e+00_rb,0.25226e+00_rb, & & 0.31465e+00_rb,0.37635e+00_rb,0.43547e+00_rb,0.49508e+00_rb /) kao(:, 3, 1,15) = (/ & & 0.95189e-01_rb,0.92182e-01_rb,0.15432e+00_rb,0.23093e+00_rb,0.30732e+00_rb, & & 0.38333e+00_rb,0.45850e+00_rb,0.53039e+00_rb,0.60271e+00_rb /) kao(:, 4, 1,15) = (/ & & 0.95231e-01_rb,0.10069e+00_rb,0.18420e+00_rb,0.27567e+00_rb,0.36689e+00_rb, & & 0.45778e+00_rb,0.54750e+00_rb,0.63309e+00_rb,0.71941e+00_rb /) kao(:, 5, 1,15) = (/ & & 0.95218e-01_rb,0.11224e+00_rb,0.21607e+00_rb,0.32340e+00_rb,0.43052e+00_rb, & & 0.53710e+00_rb,0.64228e+00_rb,0.74267e+00_rb,0.84389e+00_rb /) kao(:, 1, 2,15) = (/ & & 0.11396e+00_rb,0.10141e+00_rb,0.10674e+00_rb,0.14459e+00_rb,0.19233e+00_rb, & & 0.23999e+00_rb,0.28714e+00_rb,0.33260e+00_rb,0.38043e+00_rb /) kao(:, 2, 2,15) = (/ & & 0.11432e+00_rb,0.10261e+00_rb,0.12520e+00_rb,0.18276e+00_rb,0.24324e+00_rb, & & 0.30342e+00_rb,0.36297e+00_rb,0.42016e+00_rb,0.48074e+00_rb /) kao(:, 3, 2,15) = (/ & & 0.11451e+00_rb,0.10490e+00_rb,0.15054e+00_rb,0.22514e+00_rb,0.29969e+00_rb, & & 0.37388e+00_rb,0.44723e+00_rb,0.51774e+00_rb,0.59231e+00_rb /) kao(:, 4, 2,15) = (/ & & 0.11456e+00_rb,0.10971e+00_rb,0.18129e+00_rb,0.27136e+00_rb,0.36114e+00_rb, & & 0.45069e+00_rb,0.53922e+00_rb,0.62384e+00_rb,0.71399e+00_rb /) kao(:, 5, 2,15) = (/ & & 0.11453e+00_rb,0.11800e+00_rb,0.21439e+00_rb,0.32093e+00_rb,0.42721e+00_rb, & & 0.53302e+00_rb,0.63780e+00_rb,0.73784e+00_rb,0.84437e+00_rb /) kao(:, 1, 3,15) = (/ & & 0.13655e+00_rb,0.12054e+00_rb,0.11124e+00_rb,0.13153e+00_rb,0.17207e+00_rb, & & 0.21470e+00_rb,0.25693e+00_rb,0.29779e+00_rb,0.34231e+00_rb /) kao(:, 2, 3,15) = (/ & & 0.13707e+00_rb,0.12216e+00_rb,0.12413e+00_rb,0.16670e+00_rb,0.22186e+00_rb, & & 0.27683e+00_rb,0.33137e+00_rb,0.38384e+00_rb,0.44145e+00_rb /) kao(:, 3, 3,15) = (/ & & 0.13747e+00_rb,0.12319e+00_rb,0.14360e+00_rb,0.20888e+00_rb,0.27797e+00_rb, & & 0.34687e+00_rb,0.41517e+00_rb,0.48101e+00_rb,0.55322e+00_rb /) kao(:, 4, 3,15) = (/ & & 0.13768e+00_rb,0.12546e+00_rb,0.17113e+00_rb,0.25534e+00_rb,0.33989e+00_rb, & & 0.42417e+00_rb,0.50744e+00_rb,0.58796e+00_rb,0.67649e+00_rb /) kao(:, 5, 3,15) = (/ & & 0.13772e+00_rb,0.12983e+00_rb,0.20407e+00_rb,0.30559e+00_rb,0.40688e+00_rb, & & 0.50779e+00_rb,0.60773e+00_rb,0.70383e+00_rb,0.80998e+00_rb /) kao(:, 1, 4,15) = (/ & & 0.16353e+00_rb,0.14321e+00_rb,0.12667e+00_rb,0.12562e+00_rb,0.14945e+00_rb, & & 0.18589e+00_rb,0.22262e+00_rb,0.25813e+00_rb,0.29728e+00_rb /) kao(:, 2, 4,15) = (/ & & 0.16418e+00_rb,0.14525e+00_rb,0.13251e+00_rb,0.15131e+00_rb,0.19654e+00_rb, & & 0.24525e+00_rb,0.29354e+00_rb,0.34060e+00_rb,0.39212e+00_rb /) kao(:, 3, 4,15) = (/ & & 0.16461e+00_rb,0.14670e+00_rb,0.14414e+00_rb,0.18897e+00_rb,0.25116e+00_rb, & & 0.31348e+00_rb,0.37525e+00_rb,0.43507e+00_rb,0.50121e+00_rb /) kao(:, 4, 4,15) = (/ & & 0.16491e+00_rb,0.14777e+00_rb,0.16361e+00_rb,0.23441e+00_rb,0.31211e+00_rb, & & 0.38952e+00_rb,0.46648e+00_rb,0.54097e+00_rb,0.62321e+00_rb /) kao(:, 5, 4,15) = (/ & & 0.16511e+00_rb,0.15008e+00_rb,0.19240e+00_rb,0.28461e+00_rb,0.37902e+00_rb, & & 0.47310e+00_rb,0.56644e+00_rb,0.65651e+00_rb,0.75672e+00_rb /) kao(:, 1, 5,15) = (/ & & 0.19509e+00_rb,0.17082e+00_rb,0.14980e+00_rb,0.13204e+00_rb,0.13395e+00_rb, & & 0.16269e+00_rb,0.19465e+00_rb,0.22562e+00_rb,0.26041e+00_rb /) kao(:, 2, 5,15) = (/ & & 0.19619e+00_rb,0.17214e+00_rb,0.15205e+00_rb,0.14710e+00_rb,0.17263e+00_rb, & & 0.21401e+00_rb,0.25633e+00_rb,0.29729e+00_rb,0.34247e+00_rb /) kao(:, 3, 5,15) = (/ & & 0.19681e+00_rb,0.17444e+00_rb,0.15815e+00_rb,0.17421e+00_rb,0.22342e+00_rb, & & 0.27889e+00_rb,0.33405e+00_rb,0.38778e+00_rb,0.44627e+00_rb /) kao(:, 4, 5,15) = (/ & & 0.19721e+00_rb,0.17581e+00_rb,0.16979e+00_rb,0.21414e+00_rb,0.28278e+00_rb, & & 0.35302e+00_rb,0.42274e+00_rb,0.49080e+00_rb,0.56501e+00_rb /) kao(:, 5, 5,15) = (/ & & 0.19732e+00_rb,0.17699e+00_rb,0.18956e+00_rb,0.26168e+00_rb,0.34842e+00_rb, & & 0.43503e+00_rb,0.52113e+00_rb,0.60494e+00_rb,0.69634e+00_rb /) kao(:, 1, 6,15) = (/ & & 0.23167e+00_rb,0.20281e+00_rb,0.17680e+00_rb,0.14997e+00_rb,0.13324e+00_rb, & & 0.14585e+00_rb,0.17450e+00_rb,0.20194e+00_rb,0.23383e+00_rb /) kao(:, 2, 6,15) = (/ & & 0.23317e+00_rb,0.20416e+00_rb,0.17934e+00_rb,0.15819e+00_rb,0.15707e+00_rb, & & 0.18679e+00_rb,0.22357e+00_rb,0.25924e+00_rb,0.29921e+00_rb /) kao(:, 3, 6,15) = (/ & & 0.23428e+00_rb,0.20631e+00_rb,0.18228e+00_rb,0.17432e+00_rb,0.19753e+00_rb, & & 0.24343e+00_rb,0.29156e+00_rb,0.33836e+00_rb,0.38981e+00_rb /) kao(:, 4, 6,15) = (/ & & 0.23494e+00_rb,0.20857e+00_rb,0.18851e+00_rb,0.20211e+00_rb,0.25104e+00_rb, & & 0.31278e+00_rb,0.37475e+00_rb,0.43549e+00_rb,0.50069e+00_rb /) kao(:, 5, 6,15) = (/ & & 0.23514e+00_rb,0.20988e+00_rb,0.20063e+00_rb,0.24116e+00_rb,0.31413e+00_rb, & & 0.39227e+00_rb,0.47006e+00_rb,0.54611e+00_rb,0.62816e+00_rb /) kao(:, 1, 7,15) = (/ & & 0.27443e+00_rb,0.24019e+00_rb,0.20758e+00_rb,0.17610e+00_rb,0.14566e+00_rb, & & 0.14000e+00_rb,0.16506e+00_rb,0.19019e+00_rb,0.22128e+00_rb /) kao(:, 2, 7,15) = (/ & & 0.27620e+00_rb,0.24179e+00_rb,0.21121e+00_rb,0.17965e+00_rb,0.15984e+00_rb, & & 0.16864e+00_rb,0.20104e+00_rb,0.23213e+00_rb,0.26949e+00_rb /) kao(:, 3, 7,15) = (/ & & 0.27747e+00_rb,0.24292e+00_rb,0.21364e+00_rb,0.18907e+00_rb,0.18625e+00_rb, & & 0.21432e+00_rb,0.25652e+00_rb,0.29760e+00_rb,0.34338e+00_rb /) kao(:, 4, 7,15) = (/ & & 0.27840e+00_rb,0.24591e+00_rb,0.21750e+00_rb,0.20704e+00_rb,0.22722e+00_rb, & & 0.27512e+00_rb,0.32963e+00_rb,0.38304e+00_rb,0.44058e+00_rb /) kao(:, 5, 7,15) = (/ & & 0.27872e+00_rb,0.24790e+00_rb,0.22377e+00_rb,0.23568e+00_rb,0.28140e+00_rb, & & 0.34919e+00_rb,0.41848e+00_rb,0.48672e+00_rb,0.55917e+00_rb /) kao(:, 1, 8,15) = (/ & & 0.32341e+00_rb,0.28305e+00_rb,0.24270e+00_rb,0.20626e+00_rb,0.16778e+00_rb, & & 0.14644e+00_rb,0.16206e+00_rb,0.18656e+00_rb,0.21702e+00_rb /) kao(:, 2, 8,15) = (/ & & 0.32568e+00_rb,0.28506e+00_rb,0.24756e+00_rb,0.20963e+00_rb,0.17522e+00_rb, & & 0.16516e+00_rb,0.19045e+00_rb,0.21956e+00_rb,0.25530e+00_rb /) kao(:, 3, 8,15) = (/ & & 0.32734e+00_rb,0.28654e+00_rb,0.25088e+00_rb,0.21479e+00_rb,0.19195e+00_rb, & & 0.19819e+00_rb,0.23472e+00_rb,0.27107e+00_rb,0.31461e+00_rb /) kao(:, 4, 8,15) = (/ & & 0.32837e+00_rb,0.28793e+00_rb,0.25332e+00_rb,0.22544e+00_rb,0.22100e+00_rb, & & 0.24722e+00_rb,0.29529e+00_rb,0.34210e+00_rb,0.39526e+00_rb /) kao(:, 5, 8,15) = (/ & & 0.32863e+00_rb,0.29096e+00_rb,0.25794e+00_rb,0.24543e+00_rb,0.26342e+00_rb, & & 0.31218e+00_rb,0.37382e+00_rb,0.43401e+00_rb,0.50027e+00_rb /) kao(:, 1, 9,15) = (/ & & 0.37878e+00_rb,0.33149e+00_rb,0.28420e+00_rb,0.23973e+00_rb,0.19541e+00_rb, & & 0.16103e+00_rb,0.16029e+00_rb,0.18365e+00_rb,0.21308e+00_rb /) kao(:, 2, 9,15) = (/ & & 0.38160e+00_rb,0.33397e+00_rb,0.28731e+00_rb,0.24432e+00_rb,0.19953e+00_rb, & & 0.17386e+00_rb,0.18539e+00_rb,0.21378e+00_rb,0.24833e+00_rb /) kao(:, 3, 9,15) = (/ & & 0.38370e+00_rb,0.33584e+00_rb,0.29267e+00_rb,0.24777e+00_rb,0.20961e+00_rb, & & 0.19622e+00_rb,0.22137e+00_rb,0.25542e+00_rb,0.29676e+00_rb /) kao(:, 4, 9,15) = (/ & & 0.38483e+00_rb,0.33686e+00_rb,0.29593e+00_rb,0.25505e+00_rb,0.22908e+00_rb, & & 0.23318e+00_rb,0.27287e+00_rb,0.31549e+00_rb,0.36559e+00_rb /) kao(:, 5, 9,15) = (/ & & 0.38520e+00_rb,0.33870e+00_rb,0.29863e+00_rb,0.26759e+00_rb,0.26094e+00_rb, & & 0.28563e+00_rb,0.34036e+00_rb,0.39396e+00_rb,0.45596e+00_rb /) kao(:, 1,10,15) = (/ & & 0.44139e+00_rb,0.38627e+00_rb,0.33114e+00_rb,0.27661e+00_rb,0.22671e+00_rb, & & 0.18314e+00_rb,0.16439e+00_rb,0.18365e+00_rb,0.21302e+00_rb /) kao(:, 2,10,15) = (/ & & 0.44442e+00_rb,0.38894e+00_rb,0.33346e+00_rb,0.28317e+00_rb,0.23077e+00_rb, & & 0.19173e+00_rb,0.18540e+00_rb,0.21159e+00_rb,0.24601e+00_rb /) kao(:, 3,10,15) = (/ & & 0.44688e+00_rb,0.39111e+00_rb,0.33884e+00_rb,0.28735e+00_rb,0.23759e+00_rb, & & 0.20864e+00_rb,0.21693e+00_rb,0.24969e+00_rb,0.29058e+00_rb /) kao(:, 4,10,15) = (/ & & 0.44794e+00_rb,0.39207e+00_rb,0.34326e+00_rb,0.29193e+00_rb,0.25105e+00_rb, & & 0.23562e+00_rb,0.26192e+00_rb,0.30247e+00_rb,0.35138e+00_rb /) kao(:, 5,10,15) = (/ & & 0.44820e+00_rb,0.39253e+00_rb,0.34576e+00_rb,0.30181e+00_rb,0.27401e+00_rb, & & 0.27758e+00_rb,0.32230e+00_rb,0.37259e+00_rb,0.43225e+00_rb /) kao(:, 1,11,15) = (/ & & 0.51225e+00_rb,0.44827e+00_rb,0.38430e+00_rb,0.32096e+00_rb,0.26380e+00_rb, & & 0.21204e+00_rb,0.18122e+00_rb,0.19575e+00_rb,0.22762e+00_rb /) kao(:, 2,11,15) = (/ & & 0.51551e+00_rb,0.45114e+00_rb,0.38677e+00_rb,0.32842e+00_rb,0.26803e+00_rb, & & 0.22031e+00_rb,0.20295e+00_rb,0.22783e+00_rb,0.26563e+00_rb /) kao(:, 3,11,15) = (/ & & 0.51720e+00_rb,0.45265e+00_rb,0.39154e+00_rb,0.33278e+00_rb,0.27451e+00_rb, & & 0.23732e+00_rb,0.23493e+00_rb,0.26904e+00_rb,0.31377e+00_rb /) kao(:, 4,11,15) = (/ & & 0.51766e+00_rb,0.45307e+00_rb,0.39664e+00_rb,0.33683e+00_rb,0.28805e+00_rb, & & 0.26198e+00_rb,0.27963e+00_rb,0.32252e+00_rb,0.37505e+00_rb /) kao(:, 5,11,15) = (/ & & 0.51687e+00_rb,0.45253e+00_rb,0.39906e+00_rb,0.34713e+00_rb,0.30874e+00_rb, & & 0.30122e+00_rb,0.34231e+00_rb,0.39543e+00_rb,0.45934e+00_rb /) kao(:, 1,12,15) = (/ & & 0.58922e+00_rb,0.51562e+00_rb,0.44203e+00_rb,0.36905e+00_rb,0.30406e+00_rb, & & 0.24465e+00_rb,0.20183e+00_rb,0.21102e+00_rb,0.20343e+00_rb /) kao(:, 2,12,15) = (/ & & 0.59167e+00_rb,0.51780e+00_rb,0.44391e+00_rb,0.37709e+00_rb,0.30888e+00_rb, & & 0.25236e+00_rb,0.22396e+00_rb,0.24700e+00_rb,0.27515e+00_rb /) kao(:, 3,12,15) = (/ & & 0.59289e+00_rb,0.51887e+00_rb,0.44833e+00_rb,0.38190e+00_rb,0.31478e+00_rb, & & 0.26966e+00_rb,0.25708e+00_rb,0.29183e+00_rb,0.34036e+00_rb /) kao(:, 4,12,15) = (/ & & 0.59238e+00_rb,0.51846e+00_rb,0.45409e+00_rb,0.38554e+00_rb,0.32896e+00_rb, & & 0.29236e+00_rb,0.30023e+00_rb,0.34558e+00_rb,0.40217e+00_rb /) kao(:, 5,12,15) = (/ & & 0.59040e+00_rb,0.51681e+00_rb,0.45607e+00_rb,0.39582e+00_rb,0.34740e+00_rb, & & 0.32863e+00_rb,0.36471e+00_rb,0.42134e+00_rb,0.48947e+00_rb /) kao(:, 1,13,15) = (/ & & 0.67101e+00_rb,0.58718e+00_rb,0.50336e+00_rb,0.42031e+00_rb,0.34716e+00_rb, & & 0.27980e+00_rb,0.22553e+00_rb,0.22887e+00_rb,0.21243e+00_rb /) kao(:, 2,13,15) = (/ & & 0.67268e+00_rb,0.58864e+00_rb,0.50464e+00_rb,0.42832e+00_rb,0.35207e+00_rb, & & 0.28740e+00_rb,0.24801e+00_rb,0.26765e+00_rb,0.28879e+00_rb /) kao(:, 3,13,15) = (/ & & 0.67256e+00_rb,0.58859e+00_rb,0.50813e+00_rb,0.43372e+00_rb,0.35764e+00_rb, & & 0.30459e+00_rb,0.28195e+00_rb,0.31558e+00_rb,0.36763e+00_rb /) kao(:, 4,13,15) = (/ & & 0.67050e+00_rb,0.58682e+00_rb,0.51379e+00_rb,0.43676e+00_rb,0.37243e+00_rb, & & 0.32590e+00_rb,0.32370e+00_rb,0.37117e+00_rb,0.43203e+00_rb /) kao(:, 5,13,15) = (/ & & 0.66719e+00_rb,0.58400e+00_rb,0.51581e+00_rb,0.44632e+00_rb,0.38956e+00_rb, & & 0.35928e+00_rb,0.38845e+00_rb,0.44876e+00_rb,0.52114e+00_rb /) kao(:, 1, 1,16) = (/ & & 0.10138e+00_rb,0.11271e+00_rb,0.22512e+00_rb,0.33705e+00_rb,0.44854e+00_rb, & & 0.55854e+00_rb,0.66519e+00_rb,0.75942e+00_rb,0.85612e+00_rb /) kao(:, 2, 1,16) = (/ & & 0.10145e+00_rb,0.13913e+00_rb,0.27783e+00_rb,0.41606e+00_rb,0.55341e+00_rb, & & 0.68935e+00_rb,0.82123e+00_rb,0.93793e+00_rb,0.10573e+01_rb /) kao(:, 3, 1,16) = (/ & & 0.10144e+00_rb,0.16758e+00_rb,0.33464e+00_rb,0.50118e+00_rb,0.66683e+00_rb, & & 0.83041e+00_rb,0.98914e+00_rb,0.11301e+01_rb,0.12744e+01_rb /) kao(:, 4, 1,16) = (/ & & 0.10142e+00_rb,0.19759e+00_rb,0.39475e+00_rb,0.59125e+00_rb,0.78644e+00_rb, & & 0.97913e+00_rb,0.11666e+01_rb,0.13327e+01_rb,0.15036e+01_rb /) kao(:, 5, 1,16) = (/ & & 0.10117e+00_rb,0.22893e+00_rb,0.45719e+00_rb,0.68491e+00_rb,0.91083e+00_rb, & & 0.11348e+01_rb,0.13522e+01_rb,0.15448e+01_rb,0.17423e+01_rb /) kao(:, 1, 2,16) = (/ & & 0.12283e+00_rb,0.11939e+00_rb,0.23586e+00_rb,0.35344e+00_rb,0.46995e+00_rb, & & 0.58562e+00_rb,0.69771e+00_rb,0.79719e+00_rb,0.91456e+00_rb /) kao(:, 2, 2,16) = (/ & & 0.12300e+00_rb,0.14726e+00_rb,0.29424e+00_rb,0.44061e+00_rb,0.58626e+00_rb, & & 0.73031e+00_rb,0.87019e+00_rb,0.99468e+00_rb,0.11413e+01_rb /) kao(:, 3, 2,16) = (/ & & 0.12308e+00_rb,0.17880e+00_rb,0.35729e+00_rb,0.53471e+00_rb,0.71190e+00_rb, & & 0.88678e+00_rb,0.10560e+01_rb,0.12083e+01_rb,0.13858e+01_rb /) kao(:, 4, 2,16) = (/ & & 0.12303e+00_rb,0.21231e+00_rb,0.42408e+00_rb,0.63552e+00_rb,0.84482e+00_rb, & & 0.10530e+01_rb,0.12550e+01_rb,0.14355e+01_rb,0.16461e+01_rb /) kao(:, 5, 2,16) = (/ & & 0.12277e+00_rb,0.24738e+00_rb,0.49418e+00_rb,0.74021e+00_rb,0.98480e+00_rb, & & 0.12263e+01_rb,0.14622e+01_rb,0.16712e+01_rb,0.19192e+01_rb /) kao(:, 1, 3,16) = (/ & & 0.14866e+00_rb,0.13122e+00_rb,0.23281e+00_rb,0.34894e+00_rb,0.46454e+00_rb, & & 0.57840e+00_rb,0.68947e+00_rb,0.78868e+00_rb,0.91936e+00_rb /) kao(:, 2, 3,16) = (/ & & 0.14909e+00_rb,0.15020e+00_rb,0.29535e+00_rb,0.44246e+00_rb,0.58879e+00_rb, & & 0.73298e+00_rb,0.87446e+00_rb,0.10004e+01_rb,0.11652e+01_rb /) kao(:, 3, 3,16) = (/ & & 0.14932e+00_rb,0.18193e+00_rb,0.36339e+00_rb,0.54464e+00_rb,0.72472e+00_rb, & & 0.90302e+00_rb,0.10769e+01_rb,0.12326e+01_rb,0.14351e+01_rb /) kao(:, 4, 3,16) = (/ & & 0.14936e+00_rb,0.21850e+00_rb,0.43638e+00_rb,0.65369e+00_rb,0.87034e+00_rb, & & 0.10842e+01_rb,0.12925e+01_rb,0.14807e+01_rb,0.17238e+01_rb /) kao(:, 5, 3,16) = (/ & & 0.14913e+00_rb,0.25689e+00_rb,0.51319e+00_rb,0.76884e+00_rb,0.10226e+01_rb, & & 0.12750e+01_rb,0.15205e+01_rb,0.17418e+01_rb,0.20260e+01_rb /) kao(:, 1, 4,16) = (/ & & 0.17957e+00_rb,0.15775e+00_rb,0.22276e+00_rb,0.33390e+00_rb,0.44423e+00_rb, & & 0.55367e+00_rb,0.66019e+00_rb,0.75611e+00_rb,0.88680e+00_rb /) kao(:, 2, 4,16) = (/ & & 0.18040e+00_rb,0.16246e+00_rb,0.28812e+00_rb,0.43146e+00_rb,0.57438e+00_rb, & & 0.71573e+00_rb,0.85374e+00_rb,0.97839e+00_rb,0.11468e+01_rb /) kao(:, 3, 4,16) = (/ & & 0.18097e+00_rb,0.18562e+00_rb,0.36044e+00_rb,0.53994e+00_rb,0.71844e+00_rb, & & 0.89550e+00_rb,0.10683e+01_rb,0.12247e+01_rb,0.14347e+01_rb /) kao(:, 4, 4,16) = (/ & & 0.18121e+00_rb,0.21975e+00_rb,0.43861e+00_rb,0.65714e+00_rb,0.87443e+00_rb, & & 0.10900e+01_rb,0.13008e+01_rb,0.14906e+01_rb,0.17458e+01_rb /) kao(:, 5, 4,16) = (/ & & 0.18106e+00_rb,0.26092e+00_rb,0.52133e+00_rb,0.78101e+00_rb,0.10395e+01_rb, & & 0.12958e+01_rb,0.15460e+01_rb,0.17735e+01_rb,0.20757e+01_rb /) kao(:, 1, 5,16) = (/ & & 0.21697e+00_rb,0.19036e+00_rb,0.21215e+00_rb,0.31312e+00_rb,0.41669e+00_rb, & & 0.51939e+00_rb,0.61996e+00_rb,0.71133e+00_rb,0.83486e+00_rb /) kao(:, 2, 5,16) = (/ & & 0.21794e+00_rb,0.19137e+00_rb,0.27611e+00_rb,0.41368e+00_rb,0.55071e+00_rb, & & 0.68646e+00_rb,0.81902e+00_rb,0.94006e+00_rb,0.11028e+01_rb /) kao(:, 3, 5,16) = (/ & & 0.21886e+00_rb,0.20114e+00_rb,0.35159e+00_rb,0.52668e+00_rb,0.70100e+00_rb, & & 0.87403e+00_rb,0.10428e+01_rb,0.11973e+01_rb,0.14036e+01_rb /) kao(:, 4, 5,16) = (/ & & 0.21947e+00_rb,0.22776e+00_rb,0.43385e+00_rb,0.64994e+00_rb,0.86545e+00_rb, & & 0.10790e+01_rb,0.12882e+01_rb,0.14795e+01_rb,0.17328e+01_rb /) kao(:, 5, 5,16) = (/ & & 0.21950e+00_rb,0.26410e+00_rb,0.52266e+00_rb,0.78311e+00_rb,0.10422e+01_rb, & & 0.12993e+01_rb,0.15508e+01_rb,0.17813e+01_rb,0.20867e+01_rb /) kao(:, 1, 6,16) = (/ & & 0.26192e+00_rb,0.22964e+00_rb,0.21396e+00_rb,0.28442e+00_rb,0.37859e+00_rb, & & 0.47209e+00_rb,0.56361e+00_rb,0.64772e+00_rb,0.75904e+00_rb /) kao(:, 2, 6,16) = (/ & & 0.26327e+00_rb,0.23094e+00_rb,0.26427e+00_rb,0.38535e+00_rb,0.51302e+00_rb, & & 0.63961e+00_rb,0.76380e+00_rb,0.87816e+00_rb,0.10282e+01_rb /) kao(:, 3, 6,16) = (/ & & 0.26410e+00_rb,0.23177e+00_rb,0.33446e+00_rb,0.50065e+00_rb,0.66671e+00_rb, & & 0.83097e+00_rb,0.99257e+00_rb,0.11416e+01_rb,0.13361e+01_rb /) kao(:, 4, 6,16) = (/ & & 0.26501e+00_rb,0.24670e+00_rb,0.42047e+00_rb,0.62999e+00_rb,0.83846e+00_rb, & & 0.10456e+01_rb,0.12484e+01_rb,0.14350e+01_rb,0.16802e+01_rb /) kao(:, 5, 6,16) = (/ & & 0.26533e+00_rb,0.27595e+00_rb,0.51477e+00_rb,0.77155e+00_rb,0.10272e+01_rb, & & 0.12802e+01_rb,0.15288e+01_rb,0.17573e+01_rb,0.20585e+01_rb /) kao(:, 1, 7,16) = (/ & & 0.31548e+00_rb,0.27644e+00_rb,0.23749e+00_rb,0.26350e+00_rb,0.33563e+00_rb, & & 0.41860e+00_rb,0.50000e+00_rb,0.57557e+00_rb,0.67307e+00_rb /) kao(:, 2, 7,16) = (/ & & 0.31747e+00_rb,0.27830e+00_rb,0.26813e+00_rb,0.35238e+00_rb,0.46780e+00_rb, & & 0.58337e+00_rb,0.69695e+00_rb,0.80281e+00_rb,0.93825e+00_rb /) kao(:, 3, 7,16) = (/ & & 0.31845e+00_rb,0.27929e+00_rb,0.32577e+00_rb,0.46831e+00_rb,0.62377e+00_rb, & & 0.77768e+00_rb,0.92868e+00_rb,0.10691e+01_rb,0.12510e+01_rb /) kao(:, 4, 7,16) = (/ & & 0.31933e+00_rb,0.28093e+00_rb,0.40219e+00_rb,0.60218e+00_rb,0.80124e+00_rb, & & 0.99953e+00_rb,0.11938e+01_rb,0.13738e+01_rb,0.16072e+01_rb /) kao(:, 5, 7,16) = (/ & & 0.31962e+00_rb,0.30041e+00_rb,0.50060e+00_rb,0.75020e+00_rb,0.99895e+00_rb, & & 0.12457e+01_rb,0.14877e+01_rb,0.17119e+01_rb,0.20030e+01_rb /) kao(:, 1, 8,16) = (/ & & 0.37865e+00_rb,0.33167e+00_rb,0.28471e+00_rb,0.26304e+00_rb,0.29883e+00_rb, & & 0.36478e+00_rb,0.43575e+00_rb,0.50177e+00_rb,0.58698e+00_rb /) kao(:, 2, 8,16) = (/ & & 0.38151e+00_rb,0.33434e+00_rb,0.29226e+00_rb,0.33286e+00_rb,0.42010e+00_rb, & & 0.52397e+00_rb,0.62612e+00_rb,0.72153e+00_rb,0.84257e+00_rb /) kao(:, 3, 8,16) = (/ & & 0.38305e+00_rb,0.33575e+00_rb,0.33335e+00_rb,0.43312e+00_rb,0.57580e+00_rb, & & 0.71815e+00_rb,0.85781e+00_rb,0.98826e+00_rb,0.11549e+01_rb /) kao(:, 4, 8,16) = (/ & & 0.38418e+00_rb,0.33683e+00_rb,0.39821e+00_rb,0.56836e+00_rb,0.75670e+00_rb, & & 0.94382e+00_rb,0.11276e+01_rb,0.12990e+01_rb,0.15179e+01_rb /) kao(:, 5, 8,16) = (/ & & 0.38435e+00_rb,0.34032e+00_rb,0.48169e+00_rb,0.72105e+00_rb,0.95979e+00_rb, & & 0.11976e+01_rb,0.14311e+01_rb,0.16484e+01_rb,0.19256e+01_rb /) kao(:, 1, 9,16) = (/ & & 0.45391e+00_rb,0.39745e+00_rb,0.34100e+00_rb,0.28597e+00_rb,0.28236e+00_rb, & & 0.32683e+00_rb,0.39003e+00_rb,0.44780e+00_rb,0.52646e+00_rb /) kao(:, 2, 9,16) = (/ & & 0.45720e+00_rb,0.40042e+00_rb,0.34369e+00_rb,0.33249e+00_rb,0.37993e+00_rb, & & 0.46180e+00_rb,0.55195e+00_rb,0.63669e+00_rb,0.74252e+00_rb /) kao(:, 3, 9,16) = (/ & & 0.45930e+00_rb,0.40241e+00_rb,0.35995e+00_rb,0.41477e+00_rb,0.52224e+00_rb, & & 0.65162e+00_rb,0.77908e+00_rb,0.89846e+00_rb,0.10481e+01_rb /) kao(:, 4, 9,16) = (/ & & 0.46056e+00_rb,0.40360e+00_rb,0.40974e+00_rb,0.52851e+00_rb,0.70308e+00_rb, & & 0.87703e+00_rb,0.10485e+01_rb,0.12091e+01_rb,0.14102e+01_rb /) kao(:, 5, 9,16) = (/ & & 0.46097e+00_rb,0.40408e+00_rb,0.48083e+00_rb,0.68278e+00_rb,0.90959e+00_rb, & & 0.11347e+01_rb,0.13562e+01_rb,0.15644e+01_rb,0.18239e+01_rb /) kao(:, 1,10,16) = (/ & & 0.54348e+00_rb,0.47578e+00_rb,0.40808e+00_rb,0.34039e+00_rb,0.29202e+00_rb, & & 0.31463e+00_rb,0.37530e+00_rb,0.43003e+00_rb,0.50713e+00_rb /) kao(:, 2,10,16) = (/ & & 0.54726e+00_rb,0.47923e+00_rb,0.41116e+00_rb,0.35738e+00_rb,0.36873e+00_rb, & & 0.42815e+00_rb,0.51125e+00_rb,0.58827e+00_rb,0.68902e+00_rb /) kao(:, 3,10,16) = (/ & & 0.54904e+00_rb,0.48087e+00_rb,0.41270e+00_rb,0.42187e+00_rb,0.48592e+00_rb, & & 0.59834e+00_rb,0.71541e+00_rb,0.82550e+00_rb,0.96166e+00_rb /) kao(:, 4,10,16) = (/ & & 0.55066e+00_rb,0.48237e+00_rb,0.44342e+00_rb,0.51829e+00_rb,0.65846e+00_rb, & & 0.82163e+00_rb,0.98259e+00_rb,0.11344e+01_rb,0.13209e+01_rb /) kao(:, 5,10,16) = (/ & & 0.55078e+00_rb,0.48256e+00_rb,0.50243e+00_rb,0.65112e+00_rb,0.86662e+00_rb, & & 0.10813e+01_rb,0.12932e+01_rb,0.14933e+01_rb,0.17377e+01_rb /) kao(:, 1,11,16) = (/ & & 0.65114e+00_rb,0.56997e+00_rb,0.48880e+00_rb,0.40765e+00_rb,0.34114e+00_rb, & & 0.35299e+00_rb,0.42114e+00_rb,0.48311e+00_rb,0.56879e+00_rb /) kao(:, 2,11,16) = (/ & & 0.65409e+00_rb,0.57269e+00_rb,0.49126e+00_rb,0.41893e+00_rb,0.41551e+00_rb, & & 0.46863e+00_rb,0.55986e+00_rb,0.64427e+00_rb,0.75415e+00_rb /) kao(:, 3,11,16) = (/ & & 0.65488e+00_rb,0.57345e+00_rb,0.49197e+00_rb,0.47947e+00_rb,0.53169e+00_rb, & & 0.64034e+00_rb,0.76581e+00_rb,0.88450e+00_rb,0.10287e+01_rb /) kao(:, 4,11,16) = (/ & & 0.65537e+00_rb,0.57398e+00_rb,0.51344e+00_rb,0.57405e+00_rb,0.70306e+00_rb, & & 0.87735e+00_rb,0.10495e+01_rb,0.12127e+01_rb,0.14094e+01_rb /) kao(:, 5,11,16) = (/ & & 0.65395e+00_rb,0.57279e+00_rb,0.56858e+00_rb,0.69997e+00_rb,0.92273e+00_rb, & & 0.11516e+01_rb,0.13780e+01_rb,0.15930e+01_rb,0.18499e+01_rb /) kao(:, 1,12,16) = (/ & & 0.77619e+00_rb,0.67938e+00_rb,0.58258e+00_rb,0.48578e+00_rb,0.39872e+00_rb, & & 0.39471e+00_rb,0.47009e+00_rb,0.53992e+00_rb,0.63430e+00_rb /) kao(:, 2,12,16) = (/ & & 0.77753e+00_rb,0.68052e+00_rb,0.58367e+00_rb,0.49090e+00_rb,0.46899e+00_rb, & & 0.51194e+00_rb,0.61162e+00_rb,0.70447e+00_rb,0.82357e+00_rb /) kao(:, 3,12,16) = (/ & & 0.77638e+00_rb,0.67972e+00_rb,0.58318e+00_rb,0.54530e+00_rb,0.58387e+00_rb, & & 0.68245e+00_rb,0.81638e+00_rb,0.94341e+00_rb,0.10965e+01_rb /) kao(:, 4,12,16) = (/ & & 0.77440e+00_rb,0.67810e+00_rb,0.59462e+00_rb,0.63695e+00_rb,0.74739e+00_rb, & & 0.93197e+00_rb,0.11153e+01_rb,0.12903e+01_rb,0.14970e+01_rb /) kao(:, 5,12,16) = (/ & & 0.77021e+00_rb,0.67464e+00_rb,0.64357e+00_rb,0.75637e+00_rb,0.97798e+00_rb, & & 0.12207e+01_rb,0.14609e+01_rb,0.16904e+01_rb,0.19598e+01_rb /) kao(:, 1,13,16) = (/ & & 0.91895e+00_rb,0.80429e+00_rb,0.68964e+00_rb,0.57498e+00_rb,0.46528e+00_rb, & & 0.44199e+00_rb,0.52028e+00_rb,0.59834e+00_rb,0.70141e+00_rb /) kao(:, 2,13,16) = (/ & & 0.91759e+00_rb,0.80320e+00_rb,0.68881e+00_rb,0.57463e+00_rb,0.52956e+00_rb, & & 0.55768e+00_rb,0.66492e+00_rb,0.76644e+00_rb,0.89471e+00_rb /) kao(:, 3,13,16) = (/ & & 0.91361e+00_rb,0.79979e+00_rb,0.68598e+00_rb,0.61940e+00_rb,0.64101e+00_rb, & & 0.72712e+00_rb,0.86969e+00_rb,0.10053e+01_rb,0.11679e+01_rb /) kao(:, 4,13,16) = (/ & & 0.90733e+00_rb,0.79439e+00_rb,0.68655e+00_rb,0.70603e+00_rb,0.79560e+00_rb, & & 0.98356e+00_rb,0.11773e+01_rb,0.13631e+01_rb,0.15788e+01_rb /) kao(:, 5,13,16) = (/ & & 0.89862e+00_rb,0.78697e+00_rb,0.72670e+00_rb,0.82187e+00_rb,0.10292e+01_rb, & & 0.12848e+01_rb,0.15381e+01_rb,0.17818e+01_rb,0.20623e+01_rb /) ! ----------------------------------------------------------------- ! The array KBO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels < ~100mb and temperatures. The first ! index in the array, JT, which runs from 1 to 5, corresponds to ! different temperatures. More specifically, JT = 3 means that the ! data are for the reference temperature TREF for this pressure ! level, JT = 2 refers to the temperature TREF-15, JT = 1 is for ! TREF-30, JT = 4 is for TREF+15, and JT = 5 is for TREF+30. ! The second index, JP, runs from 13 to 59 and refers to the JPth ! reference pressure level (see taumol.f for the value of these ! pressure levels in mb). The third index, IG, goes from 1 to 16, ! and tells us which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kbo(:,13, 1) = (/ & & 0.80849e-06_rb,0.81362e-06_rb,0.81391e-06_rb,0.81832e-06_rb,0.81000e-06_rb /) kbo(:,14, 1) = (/ & & 0.62593e-06_rb,0.63090e-06_rb,0.63158e-06_rb,0.62821e-06_rb,0.62502e-06_rb /) kbo(:,15, 1) = (/ & & 0.47825e-06_rb,0.47852e-06_rb,0.47713e-06_rb,0.47688e-06_rb,0.47989e-06_rb /) kbo(:,16, 1) = (/ & & 0.36039e-06_rb,0.35905e-06_rb,0.36064e-06_rb,0.36298e-06_rb,0.36860e-06_rb /) kbo(:,17, 1) = (/ & & 0.27679e-06_rb,0.27608e-06_rb,0.27742e-06_rb,0.28112e-06_rb,0.28759e-06_rb /) kbo(:,18, 1) = (/ & & 0.21771e-06_rb,0.21826e-06_rb,0.22019e-06_rb,0.22429e-06_rb,0.22996e-06_rb /) kbo(:,19, 1) = (/ & & 0.17334e-06_rb,0.17441e-06_rb,0.17681e-06_rb,0.18055e-06_rb,0.18537e-06_rb /) kbo(:,20, 1) = (/ & & 0.13974e-06_rb,0.14076e-06_rb,0.14326e-06_rb,0.14694e-06_rb,0.15070e-06_rb /) kbo(:,21, 1) = (/ & & 0.11289e-06_rb,0.11394e-06_rb,0.11631e-06_rb,0.11963e-06_rb,0.12284e-06_rb /) kbo(:,22, 1) = (/ & & 0.90574e-07_rb,0.91914e-07_rb,0.94046e-07_rb,0.96998e-07_rb,0.99841e-07_rb /) kbo(:,23, 1) = (/ & & 0.72483e-07_rb,0.74069e-07_rb,0.76186e-07_rb,0.78482e-07_rb,0.80964e-07_rb /) kbo(:,24, 1) = (/ & & 0.57463e-07_rb,0.59130e-07_rb,0.60802e-07_rb,0.62903e-07_rb,0.65218e-07_rb /) kbo(:,25, 1) = (/ & & 0.45767e-07_rb,0.47184e-07_rb,0.48696e-07_rb,0.50494e-07_rb,0.52527e-07_rb /) kbo(:,26, 1) = (/ & & 0.36636e-07_rb,0.37794e-07_rb,0.39217e-07_rb,0.40768e-07_rb,0.42465e-07_rb /) kbo(:,27, 1) = (/ & & 0.29173e-07_rb,0.30183e-07_rb,0.31469e-07_rb,0.32834e-07_rb,0.34213e-07_rb /) kbo(:,28, 1) = (/ & & 0.23225e-07_rb,0.24137e-07_rb,0.25167e-07_rb,0.26378e-07_rb,0.27534e-07_rb /) kbo(:,29, 1) = (/ & & 0.18675e-07_rb,0.19472e-07_rb,0.20340e-07_rb,0.21340e-07_rb,0.22286e-07_rb /) kbo(:,30, 1) = (/ & & 0.15020e-07_rb,0.15690e-07_rb,0.16468e-07_rb,0.17258e-07_rb,0.18060e-07_rb /) kbo(:,31, 1) = (/ & & 0.12149e-07_rb,0.12728e-07_rb,0.13375e-07_rb,0.14035e-07_rb,0.14711e-07_rb /) kbo(:,32, 1) = (/ & & 0.98596e-08_rb,0.10344e-07_rb,0.10879e-07_rb,0.11427e-07_rb,0.12003e-07_rb /) kbo(:,33, 1) = (/ & & 0.80127e-08_rb,0.84199e-08_rb,0.88610e-08_rb,0.93188e-08_rb,0.98102e-08_rb /) kbo(:,34, 1) = (/ & & 0.65473e-08_rb,0.68850e-08_rb,0.72470e-08_rb,0.76379e-08_rb,0.80329e-08_rb /) kbo(:,35, 1) = (/ & & 0.53107e-08_rb,0.55930e-08_rb,0.58984e-08_rb,0.62161e-08_rb,0.65511e-08_rb /) kbo(:,36, 1) = (/ & & 0.42749e-08_rb,0.45072e-08_rb,0.47592e-08_rb,0.50244e-08_rb,0.53034e-08_rb /) kbo(:,37, 1) = (/ & & 0.34593e-08_rb,0.36479e-08_rb,0.38557e-08_rb,0.40714e-08_rb,0.43031e-08_rb /) kbo(:,38, 1) = (/ & & 0.27981e-08_rb,0.29525e-08_rb,0.31212e-08_rb,0.32984e-08_rb,0.34890e-08_rb /) kbo(:,39, 1) = (/ & & 0.22616e-08_rb,0.23879e-08_rb,0.25266e-08_rb,0.26716e-08_rb,0.28295e-08_rb /) kbo(:,40, 1) = (/ & & 0.18232e-08_rb,0.19245e-08_rb,0.20362e-08_rb,0.21554e-08_rb,0.22831e-08_rb /) kbo(:,41, 1) = (/ & & 0.14679e-08_rb,0.15511e-08_rb,0.16402e-08_rb,0.17376e-08_rb,0.18413e-08_rb /) kbo(:,42, 1) = (/ & & 0.11828e-08_rb,0.12488e-08_rb,0.13200e-08_rb,0.14008e-08_rb,0.14841e-08_rb /) kbo(:,43, 1) = (/ & & 0.94970e-09_rb,0.10028e-08_rb,0.10610e-08_rb,0.11254e-08_rb,0.11933e-08_rb /) kbo(:,44, 1) = (/ & & 0.76210e-09_rb,0.80401e-09_rb,0.85098e-09_rb,0.90203e-09_rb,0.95794e-09_rb /) kbo(:,45, 1) = (/ & & 0.61242e-09_rb,0.64471e-09_rb,0.68205e-09_rb,0.72336e-09_rb,0.76846e-09_rb /) kbo(:,46, 1) = (/ & & 0.49214e-09_rb,0.51642e-09_rb,0.54633e-09_rb,0.57916e-09_rb,0.61506e-09_rb /) kbo(:,47, 1) = (/ & & 0.39552e-09_rb,0.41343e-09_rb,0.43658e-09_rb,0.46266e-09_rb,0.49121e-09_rb /) kbo(:,48, 1) = (/ & & 0.31773e-09_rb,0.33161e-09_rb,0.34878e-09_rb,0.36970e-09_rb,0.39231e-09_rb /) kbo(:,49, 1) = (/ & & 0.25526e-09_rb,0.26613e-09_rb,0.27906e-09_rb,0.29510e-09_rb,0.31346e-09_rb /) kbo(:,50, 1) = (/ & & 0.20571e-09_rb,0.21419e-09_rb,0.22379e-09_rb,0.23622e-09_rb,0.25076e-09_rb /) kbo(:,51, 1) = (/ & & 0.16573e-09_rb,0.17251e-09_rb,0.18002e-09_rb,0.18925e-09_rb,0.20074e-09_rb /) kbo(:,52, 1) = (/ & & 0.13312e-09_rb,0.13888e-09_rb,0.14480e-09_rb,0.15170e-09_rb,0.16067e-09_rb /) kbo(:,53, 1) = (/ & & 0.10717e-09_rb,0.11200e-09_rb,0.11653e-09_rb,0.12187e-09_rb,0.12864e-09_rb /) kbo(:,54, 1) = (/ & & 0.85395e-10_rb,0.90190e-10_rb,0.93978e-10_rb,0.98115e-10_rb,0.10324e-09_rb /) kbo(:,55, 1) = (/ & & 0.67933e-10_rb,0.72682e-10_rb,0.75857e-10_rb,0.79079e-10_rb,0.82942e-10_rb /) kbo(:,56, 1) = (/ & & 0.53572e-10_rb,0.58095e-10_rb,0.61231e-10_rb,0.63738e-10_rb,0.66738e-10_rb /) kbo(:,57, 1) = (/ & & 0.41729e-10_rb,0.46380e-10_rb,0.49357e-10_rb,0.51409e-10_rb,0.53743e-10_rb /) kbo(:,58, 1) = (/ & & 0.32319e-10_rb,0.36737e-10_rb,0.39572e-10_rb,0.41487e-10_rb,0.43327e-10_rb /) kbo(:,59, 1) = (/ & & 0.25820e-10_rb,0.29541e-10_rb,0.32107e-10_rb,0.33762e-10_rb,0.35250e-10_rb /) kbo(:,13, 2) = (/ & & 0.93809e-05_rb,0.10536e-04_rb,0.11777e-04_rb,0.13098e-04_rb,0.14486e-04_rb /) kbo(:,14, 2) = (/ & & 0.77050e-05_rb,0.86520e-05_rb,0.96745e-05_rb,0.10759e-04_rb,0.11891e-04_rb /) kbo(:,15, 2) = (/ & & 0.63112e-05_rb,0.70914e-05_rb,0.79320e-05_rb,0.88179e-05_rb,0.97344e-05_rb /) kbo(:,16, 2) = (/ & & 0.51672e-05_rb,0.58172e-05_rb,0.64961e-05_rb,0.72133e-05_rb,0.79595e-05_rb /) kbo(:,17, 2) = (/ & & 0.42470e-05_rb,0.47817e-05_rb,0.53396e-05_rb,0.59229e-05_rb,0.65385e-05_rb /) kbo(:,18, 2) = (/ & & 0.35105e-05_rb,0.39513e-05_rb,0.44042e-05_rb,0.48865e-05_rb,0.53983e-05_rb /) kbo(:,19, 2) = (/ & & 0.29057e-05_rb,0.32680e-05_rb,0.36409e-05_rb,0.40419e-05_rb,0.44646e-05_rb /) kbo(:,20, 2) = (/ & & 0.24132e-05_rb,0.27111e-05_rb,0.30192e-05_rb,0.33498e-05_rb,0.36985e-05_rb /) kbo(:,21, 2) = (/ & & 0.20041e-05_rb,0.22484e-05_rb,0.25052e-05_rb,0.27770e-05_rb,0.30661e-05_rb /) kbo(:,22, 2) = (/ & & 0.16762e-05_rb,0.18775e-05_rb,0.20900e-05_rb,0.23158e-05_rb,0.25543e-05_rb /) kbo(:,23, 2) = (/ & & 0.14013e-05_rb,0.15665e-05_rb,0.17433e-05_rb,0.19308e-05_rb,0.21290e-05_rb /) kbo(:,24, 2) = (/ & & 0.11680e-05_rb,0.13039e-05_rb,0.14515e-05_rb,0.16085e-05_rb,0.17733e-05_rb /) kbo(:,25, 2) = (/ & & 0.97491e-06_rb,0.10886e-05_rb,0.12114e-05_rb,0.13428e-05_rb,0.14806e-05_rb /) kbo(:,26, 2) = (/ & & 0.81608e-06_rb,0.91198e-06_rb,0.10148e-05_rb,0.11244e-05_rb,0.12392e-05_rb /) kbo(:,27, 2) = (/ & & 0.68407e-06_rb,0.76432e-06_rb,0.85048e-06_rb,0.94210e-06_rb,0.10393e-05_rb /) kbo(:,28, 2) = (/ & & 0.57340e-06_rb,0.64071e-06_rb,0.71311e-06_rb,0.78988e-06_rb,0.87304e-06_rb /) kbo(:,29, 2) = (/ & & 0.48234e-06_rb,0.53886e-06_rb,0.59992e-06_rb,0.66557e-06_rb,0.73565e-06_rb /) kbo(:,30, 2) = (/ & & 0.40628e-06_rb,0.45384e-06_rb,0.50638e-06_rb,0.56175e-06_rb,0.62086e-06_rb /) kbo(:,31, 2) = (/ & & 0.34276e-06_rb,0.38409e-06_rb,0.42817e-06_rb,0.47551e-06_rb,0.52508e-06_rb /) kbo(:,32, 2) = (/ & & 0.29024e-06_rb,0.32548e-06_rb,0.36291e-06_rb,0.40263e-06_rb,0.44423e-06_rb /) kbo(:,33, 2) = (/ & & 0.24623e-06_rb,0.27596e-06_rb,0.30748e-06_rb,0.34104e-06_rb,0.37571e-06_rb /) kbo(:,34, 2) = (/ & & 0.20814e-06_rb,0.23318e-06_rb,0.25975e-06_rb,0.28746e-06_rb,0.31674e-06_rb /) kbo(:,35, 2) = (/ & & 0.17399e-06_rb,0.19476e-06_rb,0.21698e-06_rb,0.24021e-06_rb,0.26463e-06_rb /) kbo(:,36, 2) = (/ & & 0.14352e-06_rb,0.16079e-06_rb,0.17920e-06_rb,0.19838e-06_rb,0.21852e-06_rb /) kbo(:,37, 2) = (/ & & 0.11644e-06_rb,0.13061e-06_rb,0.14569e-06_rb,0.16148e-06_rb,0.17794e-06_rb /) kbo(:,38, 2) = (/ & & 0.94327e-07_rb,0.10597e-06_rb,0.11827e-06_rb,0.13121e-06_rb,0.14471e-06_rb /) kbo(:,39, 2) = (/ & & 0.76386e-07_rb,0.85932e-07_rb,0.96004e-07_rb,0.10675e-06_rb,0.11785e-06_rb /) kbo(:,40, 2) = (/ & & 0.61093e-07_rb,0.68856e-07_rb,0.77088e-07_rb,0.85831e-07_rb,0.94878e-07_rb /) kbo(:,41, 2) = (/ & & 0.48781e-07_rb,0.55058e-07_rb,0.61725e-07_rb,0.68852e-07_rb,0.76234e-07_rb /) kbo(:,42, 2) = (/ & & 0.38909e-07_rb,0.43987e-07_rb,0.49391e-07_rb,0.55161e-07_rb,0.61197e-07_rb /) kbo(:,43, 2) = (/ & & 0.30779e-07_rb,0.34866e-07_rb,0.39222e-07_rb,0.43870e-07_rb,0.48785e-07_rb /) kbo(:,44, 2) = (/ & & 0.24249e-07_rb,0.27514e-07_rb,0.31014e-07_rb,0.34774e-07_rb,0.38772e-07_rb /) kbo(:,45, 2) = (/ & & 0.19076e-07_rb,0.21693e-07_rb,0.24514e-07_rb,0.27522e-07_rb,0.30756e-07_rb /) kbo(:,46, 2) = (/ & & 0.14949e-07_rb,0.17046e-07_rb,0.19303e-07_rb,0.21721e-07_rb,0.24320e-07_rb /) kbo(:,47, 2) = (/ & & 0.11627e-07_rb,0.13294e-07_rb,0.15102e-07_rb,0.17040e-07_rb,0.19115e-07_rb /) kbo(:,48, 2) = (/ & & 0.90208e-08_rb,0.10359e-07_rb,0.11803e-07_rb,0.13349e-07_rb,0.15003e-07_rb /) kbo(:,49, 2) = (/ & & 0.69979e-08_rb,0.80625e-08_rb,0.92075e-08_rb,0.10445e-07_rb,0.11768e-07_rb /) kbo(:,50, 2) = (/ & & 0.54507e-08_rb,0.62777e-08_rb,0.72004e-08_rb,0.81899e-08_rb,0.92488e-08_rb /) kbo(:,51, 2) = (/ & & 0.42541e-08_rb,0.48933e-08_rb,0.56304e-08_rb,0.64214e-08_rb,0.72725e-08_rb /) kbo(:,52, 2) = (/ & & 0.33161e-08_rb,0.38121e-08_rb,0.43976e-08_rb,0.50301e-08_rb,0.57140e-08_rb /) kbo(:,53, 2) = (/ & & 0.25817e-08_rb,0.29691e-08_rb,0.34291e-08_rb,0.39368e-08_rb,0.44836e-08_rb /) kbo(:,54, 2) = (/ & & 0.20203e-08_rb,0.23228e-08_rb,0.26823e-08_rb,0.30900e-08_rb,0.35285e-08_rb /) kbo(:,55, 2) = (/ & & 0.15833e-08_rb,0.18196e-08_rb,0.21023e-08_rb,0.24276e-08_rb,0.27787e-08_rb /) kbo(:,56, 2) = (/ & & 0.12403e-08_rb,0.14250e-08_rb,0.16461e-08_rb,0.19045e-08_rb,0.21855e-08_rb /) kbo(:,57, 2) = (/ & & 0.97249e-09_rb,0.11164e-08_rb,0.12881e-08_rb,0.14923e-08_rb,0.17175e-08_rb /) kbo(:,58, 2) = (/ & & 0.76431e-09_rb,0.87699e-09_rb,0.10108e-08_rb,0.11709e-08_rb,0.13516e-08_rb /) kbo(:,59, 2) = (/ & & 0.61553e-09_rb,0.70649e-09_rb,0.81463e-09_rb,0.94315e-09_rb,0.10907e-08_rb /) kbo(:,13, 3) = (/ & & 0.37708e-04_rb,0.43942e-04_rb,0.50586e-04_rb,0.57656e-04_rb,0.65139e-04_rb /) kbo(:,14, 3) = (/ & & 0.31694e-04_rb,0.36862e-04_rb,0.42350e-04_rb,0.48197e-04_rb,0.54341e-04_rb /) kbo(:,15, 3) = (/ & & 0.26564e-04_rb,0.30824e-04_rb,0.35372e-04_rb,0.40180e-04_rb,0.45231e-04_rb /) kbo(:,16, 3) = (/ & & 0.22232e-04_rb,0.25740e-04_rb,0.29512e-04_rb,0.33447e-04_rb,0.37588e-04_rb /) kbo(:,17, 3) = (/ & & 0.18578e-04_rb,0.21467e-04_rb,0.24582e-04_rb,0.27832e-04_rb,0.31221e-04_rb /) kbo(:,18, 3) = (/ & & 0.15530e-04_rb,0.17922e-04_rb,0.20498e-04_rb,0.23170e-04_rb,0.25973e-04_rb /) kbo(:,19, 3) = (/ & & 0.12972e-04_rb,0.14952e-04_rb,0.17059e-04_rb,0.19270e-04_rb,0.21580e-04_rb /) kbo(:,20, 3) = (/ & & 0.10858e-04_rb,0.12498e-04_rb,0.14228e-04_rb,0.16061e-04_rb,0.17958e-04_rb /) kbo(:,21, 3) = (/ & & 0.90819e-05_rb,0.10446e-04_rb,0.11880e-04_rb,0.13394e-04_rb,0.14951e-04_rb /) kbo(:,22, 3) = (/ & & 0.76648e-05_rb,0.87979e-05_rb,0.99931e-05_rb,0.11255e-04_rb,0.12542e-04_rb /) kbo(:,23, 3) = (/ & & 0.64634e-05_rb,0.74140e-05_rb,0.84086e-05_rb,0.94546e-05_rb,0.10527e-04_rb /) kbo(:,24, 3) = (/ & & 0.54523e-05_rb,0.62464e-05_rb,0.70809e-05_rb,0.79508e-05_rb,0.88446e-05_rb /) kbo(:,25, 3) = (/ & & 0.46110e-05_rb,0.52716e-05_rb,0.59693e-05_rb,0.66904e-05_rb,0.74322e-05_rb /) kbo(:,26, 3) = (/ & & 0.39134e-05_rb,0.44620e-05_rb,0.50425e-05_rb,0.56439e-05_rb,0.62577e-05_rb /) kbo(:,27, 3) = (/ & & 0.33208e-05_rb,0.37777e-05_rb,0.42629e-05_rb,0.47607e-05_rb,0.52714e-05_rb /) kbo(:,28, 3) = (/ & & 0.28177e-05_rb,0.32008e-05_rb,0.36031e-05_rb,0.40187e-05_rb,0.44358e-05_rb /) kbo(:,29, 3) = (/ & & 0.23932e-05_rb,0.27158e-05_rb,0.30516e-05_rb,0.33945e-05_rb,0.37416e-05_rb /) kbo(:,30, 3) = (/ & & 0.20340e-05_rb,0.23035e-05_rb,0.25827e-05_rb,0.28672e-05_rb,0.31559e-05_rb /) kbo(:,31, 3) = (/ & & 0.17308e-05_rb,0.19547e-05_rb,0.21869e-05_rb,0.24243e-05_rb,0.26649e-05_rb /) kbo(:,32, 3) = (/ & & 0.14734e-05_rb,0.16593e-05_rb,0.18536e-05_rb,0.20518e-05_rb,0.22514e-05_rb /) kbo(:,33, 3) = (/ & & 0.12538e-05_rb,0.14097e-05_rb,0.15718e-05_rb,0.17369e-05_rb,0.19013e-05_rb /) kbo(:,34, 3) = (/ & & 0.10626e-05_rb,0.11932e-05_rb,0.13290e-05_rb,0.14662e-05_rb,0.16025e-05_rb /) kbo(:,35, 3) = (/ & & 0.88990e-06_rb,0.99878e-06_rb,0.11122e-05_rb,0.12266e-05_rb,0.13395e-05_rb /) kbo(:,36, 3) = (/ & & 0.73535e-06_rb,0.82690e-06_rb,0.92099e-06_rb,0.10159e-05_rb,0.11099e-05_rb /) kbo(:,37, 3) = (/ & & 0.59728e-06_rb,0.67301e-06_rb,0.75127e-06_rb,0.83021e-06_rb,0.90845e-06_rb /) kbo(:,38, 3) = (/ & & 0.48484e-06_rb,0.54737e-06_rb,0.61229e-06_rb,0.67762e-06_rb,0.74258e-06_rb /) kbo(:,39, 3) = (/ & & 0.39347e-06_rb,0.44485e-06_rb,0.49886e-06_rb,0.55290e-06_rb,0.60674e-06_rb /) kbo(:,40, 3) = (/ & & 0.31488e-06_rb,0.35703e-06_rb,0.40148e-06_rb,0.44640e-06_rb,0.49091e-06_rb /) kbo(:,41, 3) = (/ & & 0.25130e-06_rb,0.28561e-06_rb,0.32224e-06_rb,0.35953e-06_rb,0.39618e-06_rb /) kbo(:,42, 3) = (/ & & 0.20030e-06_rb,0.22840e-06_rb,0.25834e-06_rb,0.28930e-06_rb,0.31965e-06_rb /) kbo(:,43, 3) = (/ & & 0.15807e-06_rb,0.18109e-06_rb,0.20542e-06_rb,0.23094e-06_rb,0.25635e-06_rb /) kbo(:,44, 3) = (/ & & 0.12418e-06_rb,0.14282e-06_rb,0.16261e-06_rb,0.18364e-06_rb,0.20465e-06_rb /) kbo(:,45, 3) = (/ & & 0.97383e-07_rb,0.11245e-06_rb,0.12855e-06_rb,0.14572e-06_rb,0.16307e-06_rb /) kbo(:,46, 3) = (/ & & 0.76015e-07_rb,0.88067e-07_rb,0.10120e-06_rb,0.11510e-06_rb,0.12935e-06_rb /) kbo(:,47, 3) = (/ & & 0.58813e-07_rb,0.68493e-07_rb,0.79102e-07_rb,0.90273e-07_rb,0.10200e-06_rb /) kbo(:,48, 3) = (/ & & 0.45440e-07_rb,0.53144e-07_rb,0.61597e-07_rb,0.70639e-07_rb,0.80255e-07_rb /) kbo(:,49, 3) = (/ & & 0.35015e-07_rb,0.41136e-07_rb,0.47869e-07_rb,0.55216e-07_rb,0.62994e-07_rb /) kbo(:,50, 3) = (/ & & 0.27056e-07_rb,0.31910e-07_rb,0.37267e-07_rb,0.43210e-07_rb,0.49522e-07_rb /) kbo(:,51, 3) = (/ & & 0.20908e-07_rb,0.24756e-07_rb,0.29044e-07_rb,0.33791e-07_rb,0.38904e-07_rb /) kbo(:,52, 3) = (/ & & 0.16131e-07_rb,0.19181e-07_rb,0.22589e-07_rb,0.26378e-07_rb,0.30504e-07_rb /) kbo(:,53, 3) = (/ & & 0.12418e-07_rb,0.14835e-07_rb,0.17537e-07_rb,0.20547e-07_rb,0.23860e-07_rb /) kbo(:,54, 3) = (/ & & 0.95994e-08_rb,0.11514e-07_rb,0.13662e-07_rb,0.16065e-07_rb,0.18717e-07_rb /) kbo(:,55, 3) = (/ & & 0.74239e-08_rb,0.89453e-08_rb,0.10656e-07_rb,0.12569e-07_rb,0.14693e-07_rb /) kbo(:,56, 3) = (/ & & 0.57300e-08_rb,0.69441e-08_rb,0.83030e-08_rb,0.98193e-08_rb,0.11523e-07_rb /) kbo(:,57, 3) = (/ & & 0.44152e-08_rb,0.53811e-08_rb,0.64581e-08_rb,0.76610e-08_rb,0.90201e-08_rb /) kbo(:,58, 3) = (/ & & 0.34072e-08_rb,0.41708e-08_rb,0.50297e-08_rb,0.59876e-08_rb,0.70684e-08_rb /) kbo(:,59, 3) = (/ & & 0.27302e-08_rb,0.33492e-08_rb,0.40481e-08_rb,0.48266e-08_rb,0.57046e-08_rb /) kbo(:,13, 4) = (/ & & 0.12015e-03_rb,0.13920e-03_rb,0.15937e-03_rb,0.18001e-03_rb,0.19929e-03_rb /) kbo(:,14, 4) = (/ & & 0.10256e-03_rb,0.11883e-03_rb,0.13587e-03_rb,0.15259e-03_rb,0.16812e-03_rb /) kbo(:,15, 4) = (/ & & 0.87203e-04_rb,0.10099e-03_rb,0.11498e-03_rb,0.12847e-03_rb,0.14114e-03_rb /) kbo(:,16, 4) = (/ & & 0.73859e-04_rb,0.85304e-04_rb,0.96816e-04_rb,0.10774e-03_rb,0.11805e-03_rb /) kbo(:,17, 4) = (/ & & 0.62334e-04_rb,0.71786e-04_rb,0.81225e-04_rb,0.90091e-04_rb,0.98454e-04_rb /) kbo(:,18, 4) = (/ & & 0.52581e-04_rb,0.60344e-04_rb,0.68018e-04_rb,0.75237e-04_rb,0.81903e-04_rb /) kbo(:,19, 4) = (/ & & 0.44197e-04_rb,0.50573e-04_rb,0.56840e-04_rb,0.62656e-04_rb,0.67968e-04_rb /) kbo(:,20, 4) = (/ & & 0.37151e-04_rb,0.42384e-04_rb,0.47494e-04_rb,0.52193e-04_rb,0.56467e-04_rb /) kbo(:,21, 4) = (/ & & 0.31193e-04_rb,0.35480e-04_rb,0.39600e-04_rb,0.43427e-04_rb,0.46870e-04_rb /) kbo(:,22, 4) = (/ & & 0.26374e-04_rb,0.29925e-04_rb,0.33224e-04_rb,0.36261e-04_rb,0.39040e-04_rb /) kbo(:,23, 4) = (/ & & 0.22315e-04_rb,0.25198e-04_rb,0.27833e-04_rb,0.30290e-04_rb,0.32509e-04_rb /) kbo(:,24, 4) = (/ & & 0.18883e-04_rb,0.21184e-04_rb,0.23291e-04_rb,0.25268e-04_rb,0.27046e-04_rb /) kbo(:,25, 4) = (/ & & 0.15977e-04_rb,0.17808e-04_rb,0.19529e-04_rb,0.21106e-04_rb,0.22533e-04_rb /) kbo(:,26, 4) = (/ & & 0.13524e-04_rb,0.14996e-04_rb,0.16391e-04_rb,0.17658e-04_rb,0.18796e-04_rb /) kbo(:,27, 4) = (/ & & 0.11433e-04_rb,0.12631e-04_rb,0.13757e-04_rb,0.14769e-04_rb,0.15677e-04_rb /) kbo(:,28, 4) = (/ & & 0.96558e-05_rb,0.10640e-04_rb,0.11537e-04_rb,0.12357e-04_rb,0.13086e-04_rb /) kbo(:,29, 4) = (/ & & 0.81632e-05_rb,0.89560e-05_rb,0.96801e-05_rb,0.10339e-04_rb,0.10919e-04_rb /) kbo(:,30, 4) = (/ & & 0.68972e-05_rb,0.75321e-05_rb,0.81189e-05_rb,0.86418e-05_rb,0.91120e-05_rb /) kbo(:,31, 4) = (/ & & 0.58255e-05_rb,0.63427e-05_rb,0.68115e-05_rb,0.72291e-05_rb,0.76088e-05_rb /) kbo(:,32, 4) = (/ & & 0.49235e-05_rb,0.53404e-05_rb,0.57128e-05_rb,0.60450e-05_rb,0.63540e-05_rb /) kbo(:,33, 4) = (/ & & 0.41602e-05_rb,0.44904e-05_rb,0.47873e-05_rb,0.50567e-05_rb,0.53085e-05_rb /) kbo(:,34, 4) = (/ & & 0.34993e-05_rb,0.37640e-05_rb,0.40033e-05_rb,0.42217e-05_rb,0.44321e-05_rb /) kbo(:,35, 4) = (/ & & 0.29168e-05_rb,0.31331e-05_rb,0.33264e-05_rb,0.35072e-05_rb,0.36808e-05_rb /) kbo(:,36, 4) = (/ & & 0.24105e-05_rb,0.25863e-05_rb,0.27459e-05_rb,0.28969e-05_rb,0.30433e-05_rb /) kbo(:,37, 4) = (/ & & 0.19699e-05_rb,0.21167e-05_rb,0.22499e-05_rb,0.23751e-05_rb,0.24984e-05_rb /) kbo(:,38, 4) = (/ & & 0.16085e-05_rb,0.17316e-05_rb,0.18431e-05_rb,0.19482e-05_rb,0.20520e-05_rb /) kbo(:,39, 4) = (/ & & 0.13140e-05_rb,0.14172e-05_rb,0.15102e-05_rb,0.15989e-05_rb,0.16862e-05_rb /) kbo(:,40, 4) = (/ & & 0.10643e-05_rb,0.11518e-05_rb,0.12300e-05_rb,0.13052e-05_rb,0.13789e-05_rb /) kbo(:,41, 4) = (/ & & 0.86103e-06_rb,0.93494e-06_rb,0.10013e-05_rb,0.10648e-05_rb,0.11275e-05_rb /) kbo(:,42, 4) = (/ & & 0.69566e-06_rb,0.75803e-06_rb,0.81468e-06_rb,0.86817e-06_rb,0.92113e-06_rb /) kbo(:,43, 4) = (/ & & 0.55856e-06_rb,0.61135e-06_rb,0.65992e-06_rb,0.70501e-06_rb,0.74915e-06_rb /) kbo(:,44, 4) = (/ & & 0.44644e-06_rb,0.49113e-06_rb,0.53284e-06_rb,0.57066e-06_rb,0.60776e-06_rb /) kbo(:,45, 4) = (/ & & 0.35638e-06_rb,0.39386e-06_rb,0.42947e-06_rb,0.46192e-06_rb,0.49295e-06_rb /) kbo(:,46, 4) = (/ & & 0.28317e-06_rb,0.31490e-06_rb,0.34503e-06_rb,0.37276e-06_rb,0.39894e-06_rb /) kbo(:,47, 4) = (/ & & 0.22341e-06_rb,0.25002e-06_rb,0.27560e-06_rb,0.29957e-06_rb,0.32144e-06_rb /) kbo(:,48, 4) = (/ & & 0.17554e-06_rb,0.19798e-06_rb,0.21962e-06_rb,0.24010e-06_rb,0.25876e-06_rb /) kbo(:,49, 4) = (/ & & 0.13737e-06_rb,0.15642e-06_rb,0.17451e-06_rb,0.19192e-06_rb,0.20795e-06_rb /) kbo(:,50, 4) = (/ & & 0.10754e-06_rb,0.12357e-06_rb,0.13879e-06_rb,0.15343e-06_rb,0.16712e-06_rb /) kbo(:,51, 4) = (/ & & 0.84121e-07_rb,0.97441e-07_rb,0.11018e-06_rb,0.12256e-06_rb,0.13419e-06_rb /) kbo(:,52, 4) = (/ & & 0.65604e-07_rb,0.76564e-07_rb,0.87356e-07_rb,0.97703e-07_rb,0.10745e-06_rb /) kbo(:,53, 4) = (/ & & 0.50943e-07_rb,0.59988e-07_rb,0.69048e-07_rb,0.77629e-07_rb,0.85933e-07_rb /) kbo(:,54, 4) = (/ & & 0.39679e-07_rb,0.47121e-07_rb,0.54614e-07_rb,0.61766e-07_rb,0.68783e-07_rb /) kbo(:,55, 4) = (/ & & 0.30934e-07_rb,0.36980e-07_rb,0.43113e-07_rb,0.49142e-07_rb,0.55005e-07_rb /) kbo(:,56, 4) = (/ & & 0.24050e-07_rb,0.28923e-07_rb,0.33993e-07_rb,0.39047e-07_rb,0.43928e-07_rb /) kbo(:,57, 4) = (/ & & 0.18660e-07_rb,0.22557e-07_rb,0.26748e-07_rb,0.30951e-07_rb,0.35000e-07_rb /) kbo(:,58, 4) = (/ & & 0.14488e-07_rb,0.17625e-07_rb,0.21043e-07_rb,0.24511e-07_rb,0.27884e-07_rb /) kbo(:,59, 4) = (/ & & 0.11674e-07_rb,0.14234e-07_rb,0.17044e-07_rb,0.19902e-07_rb,0.22702e-07_rb /) kbo(:,13, 5) = (/ & & 0.36288e-03_rb,0.38577e-03_rb,0.40824e-03_rb,0.43207e-03_rb,0.45772e-03_rb /) kbo(:,14, 5) = (/ & & 0.30781e-03_rb,0.32754e-03_rb,0.34745e-03_rb,0.36873e-03_rb,0.39050e-03_rb /) kbo(:,15, 5) = (/ & & 0.26023e-03_rb,0.27734e-03_rb,0.29481e-03_rb,0.31288e-03_rb,0.33087e-03_rb /) kbo(:,16, 5) = (/ & & 0.21963e-03_rb,0.23414e-03_rb,0.24882e-03_rb,0.26383e-03_rb,0.27866e-03_rb /) kbo(:,17, 5) = (/ & & 0.18486e-03_rb,0.19716e-03_rb,0.20932e-03_rb,0.22139e-03_rb,0.23350e-03_rb /) kbo(:,18, 5) = (/ & & 0.15516e-03_rb,0.16534e-03_rb,0.17526e-03_rb,0.18520e-03_rb,0.19528e-03_rb /) kbo(:,19, 5) = (/ & & 0.12986e-03_rb,0.13820e-03_rb,0.14634e-03_rb,0.15465e-03_rb,0.16304e-03_rb /) kbo(:,20, 5) = (/ & & 0.10854e-03_rb,0.11542e-03_rb,0.12213e-03_rb,0.12898e-03_rb,0.13583e-03_rb /) kbo(:,21, 5) = (/ & & 0.90628e-04_rb,0.96255e-04_rb,0.10177e-03_rb,0.10738e-03_rb,0.11299e-03_rb /) kbo(:,22, 5) = (/ & & 0.75891e-04_rb,0.80410e-04_rb,0.85018e-04_rb,0.89561e-04_rb,0.94064e-04_rb /) kbo(:,23, 5) = (/ & & 0.63476e-04_rb,0.67177e-04_rb,0.70959e-04_rb,0.74590e-04_rb,0.78334e-04_rb /) kbo(:,24, 5) = (/ & & 0.52999e-04_rb,0.56057e-04_rb,0.59157e-04_rb,0.62167e-04_rb,0.65272e-04_rb /) kbo(:,25, 5) = (/ & & 0.44256e-04_rb,0.46783e-04_rb,0.49281e-04_rb,0.51789e-04_rb,0.54376e-04_rb /) kbo(:,26, 5) = (/ & & 0.37011e-04_rb,0.39100e-04_rb,0.41098e-04_rb,0.43198e-04_rb,0.45322e-04_rb /) kbo(:,27, 5) = (/ & & 0.30966e-04_rb,0.32635e-04_rb,0.34289e-04_rb,0.36026e-04_rb,0.37776e-04_rb /) kbo(:,28, 5) = (/ & & 0.25866e-04_rb,0.27210e-04_rb,0.28616e-04_rb,0.30009e-04_rb,0.31487e-04_rb /) kbo(:,29, 5) = (/ & & 0.21609e-04_rb,0.22715e-04_rb,0.23863e-04_rb,0.25052e-04_rb,0.26299e-04_rb /) kbo(:,30, 5) = (/ & & 0.18055e-04_rb,0.18981e-04_rb,0.19946e-04_rb,0.20948e-04_rb,0.21978e-04_rb /) kbo(:,31, 5) = (/ & & 0.15103e-04_rb,0.15890e-04_rb,0.16699e-04_rb,0.17556e-04_rb,0.18410e-04_rb /) kbo(:,32, 5) = (/ & & 0.12647e-04_rb,0.13313e-04_rb,0.14001e-04_rb,0.14715e-04_rb,0.15427e-04_rb /) kbo(:,33, 5) = (/ & & 0.10601e-04_rb,0.11164e-04_rb,0.11755e-04_rb,0.12351e-04_rb,0.12931e-04_rb /) kbo(:,34, 5) = (/ & & 0.88699e-05_rb,0.93482e-05_rb,0.98481e-05_rb,0.10351e-04_rb,0.10829e-04_rb /) kbo(:,35, 5) = (/ & & 0.73864e-05_rb,0.77932e-05_rb,0.82148e-05_rb,0.86289e-05_rb,0.90270e-05_rb /) kbo(:,36, 5) = (/ & & 0.61189e-05_rb,0.64631e-05_rb,0.68137e-05_rb,0.71535e-05_rb,0.74761e-05_rb /) kbo(:,37, 5) = (/ & & 0.50349e-05_rb,0.53216e-05_rb,0.56110e-05_rb,0.58984e-05_rb,0.61738e-05_rb /) kbo(:,38, 5) = (/ & & 0.41408e-05_rb,0.43804e-05_rb,0.46209e-05_rb,0.48585e-05_rb,0.50962e-05_rb /) kbo(:,39, 5) = (/ & & 0.34100e-05_rb,0.36097e-05_rb,0.38105e-05_rb,0.40114e-05_rb,0.42081e-05_rb /) kbo(:,40, 5) = (/ & & 0.27924e-05_rb,0.29567e-05_rb,0.31274e-05_rb,0.32925e-05_rb,0.34580e-05_rb /) kbo(:,41, 5) = (/ & & 0.22821e-05_rb,0.24196e-05_rb,0.25613e-05_rb,0.27009e-05_rb,0.28413e-05_rb /) kbo(:,42, 5) = (/ & & 0.18665e-05_rb,0.19799e-05_rb,0.20975e-05_rb,0.22150e-05_rb,0.23326e-05_rb /) kbo(:,43, 5) = (/ & & 0.15195e-05_rb,0.16130e-05_rb,0.17109e-05_rb,0.18095e-05_rb,0.19094e-05_rb /) kbo(:,44, 5) = (/ & & 0.12351e-05_rb,0.13129e-05_rb,0.13926e-05_rb,0.14756e-05_rb,0.15593e-05_rb /) kbo(:,45, 5) = (/ & & 0.10023e-05_rb,0.10671e-05_rb,0.11334e-05_rb,0.12033e-05_rb,0.12728e-05_rb /) kbo(:,46, 5) = (/ & & 0.81269e-06_rb,0.86595e-06_rb,0.92094e-06_rb,0.97875e-06_rb,0.10378e-05_rb /) kbo(:,47, 5) = (/ & & 0.65647e-06_rb,0.70081e-06_rb,0.74604e-06_rb,0.79395e-06_rb,0.84339e-06_rb /) kbo(:,48, 5) = (/ & & 0.53019e-06_rb,0.56638e-06_rb,0.60399e-06_rb,0.64368e-06_rb,0.68472e-06_rb /) kbo(:,49, 5) = (/ & & 0.42776e-06_rb,0.45739e-06_rb,0.48880e-06_rb,0.52108e-06_rb,0.55567e-06_rb /) kbo(:,50, 5) = (/ & & 0.34556e-06_rb,0.36989e-06_rb,0.39599e-06_rb,0.42284e-06_rb,0.45123e-06_rb /) kbo(:,51, 5) = (/ & & 0.27905e-06_rb,0.29932e-06_rb,0.32065e-06_rb,0.34295e-06_rb,0.36646e-06_rb /) kbo(:,52, 5) = (/ & & 0.22522e-06_rb,0.24196e-06_rb,0.25940e-06_rb,0.27788e-06_rb,0.29753e-06_rb /) kbo(:,53, 5) = (/ & & 0.18137e-06_rb,0.19527e-06_rb,0.20965e-06_rb,0.22512e-06_rb,0.24112e-06_rb /) kbo(:,54, 5) = (/ & & 0.14606e-06_rb,0.15795e-06_rb,0.16971e-06_rb,0.18256e-06_rb,0.19571e-06_rb /) kbo(:,55, 5) = (/ & & 0.11745e-06_rb,0.12764e-06_rb,0.13751e-06_rb,0.14796e-06_rb,0.15891e-06_rb /) kbo(:,56, 5) = (/ & & 0.94319e-07_rb,0.10301e-06_rb,0.11131e-06_rb,0.11979e-06_rb,0.12892e-06_rb /) kbo(:,57, 5) = (/ & & 0.75512e-07_rb,0.83064e-07_rb,0.90010e-07_rb,0.96928e-07_rb,0.10441e-06_rb /) kbo(:,58, 5) = (/ & & 0.60409e-07_rb,0.66900e-07_rb,0.72712e-07_rb,0.78451e-07_rb,0.84657e-07_rb /) kbo(:,59, 5) = (/ & & 0.49299e-07_rb,0.54731e-07_rb,0.59628e-07_rb,0.64415e-07_rb,0.69585e-07_rb /) kbo(:,13, 6) = (/ & & 0.85498e-03_rb,0.88654e-03_rb,0.92216e-03_rb,0.96018e-03_rb,0.10038e-02_rb /) kbo(:,14, 6) = (/ & & 0.72755e-03_rb,0.75503e-03_rb,0.78615e-03_rb,0.82104e-03_rb,0.86252e-03_rb /) kbo(:,15, 6) = (/ & & 0.61644e-03_rb,0.64130e-03_rb,0.66934e-03_rb,0.70298e-03_rb,0.74077e-03_rb /) kbo(:,16, 6) = (/ & & 0.52100e-03_rb,0.54364e-03_rb,0.57046e-03_rb,0.60137e-03_rb,0.63388e-03_rb /) kbo(:,17, 6) = (/ & & 0.43945e-03_rb,0.46060e-03_rb,0.48533e-03_rb,0.51276e-03_rb,0.54036e-03_rb /) kbo(:,18, 6) = (/ & & 0.37082e-03_rb,0.39025e-03_rb,0.41242e-03_rb,0.43532e-03_rb,0.45905e-03_rb /) kbo(:,19, 6) = (/ & & 0.31280e-03_rb,0.33005e-03_rb,0.34867e-03_rb,0.36806e-03_rb,0.38776e-03_rb /) kbo(:,20, 6) = (/ & & 0.26373e-03_rb,0.27881e-03_rb,0.29445e-03_rb,0.31046e-03_rb,0.32667e-03_rb /) kbo(:,21, 6) = (/ & & 0.22211e-03_rb,0.23470e-03_rb,0.24766e-03_rb,0.26115e-03_rb,0.27459e-03_rb /) kbo(:,22, 6) = (/ & & 0.18729e-03_rb,0.19773e-03_rb,0.20869e-03_rb,0.22010e-03_rb,0.23102e-03_rb /) kbo(:,23, 6) = (/ & & 0.15755e-03_rb,0.16634e-03_rb,0.17574e-03_rb,0.18527e-03_rb,0.19396e-03_rb /) kbo(:,24, 6) = (/ & & 0.13244e-03_rb,0.14003e-03_rb,0.14791e-03_rb,0.15556e-03_rb,0.16235e-03_rb /) kbo(:,25, 6) = (/ & & 0.11137e-03_rb,0.11779e-03_rb,0.12437e-03_rb,0.13036e-03_rb,0.13579e-03_rb /) kbo(:,26, 6) = (/ & & 0.93817e-04_rb,0.99206e-04_rb,0.10452e-03_rb,0.10918e-03_rb,0.11356e-03_rb /) kbo(:,27, 6) = (/ & & 0.79006e-04_rb,0.83531e-04_rb,0.87717e-04_rb,0.91355e-04_rb,0.95066e-04_rb /) kbo(:,28, 6) = (/ & & 0.66464e-04_rb,0.70180e-04_rb,0.73412e-04_rb,0.76548e-04_rb,0.79673e-04_rb /) kbo(:,29, 6) = (/ & & 0.55955e-04_rb,0.58876e-04_rb,0.61539e-04_rb,0.64161e-04_rb,0.66744e-04_rb /) kbo(:,30, 6) = (/ & & 0.47057e-04_rb,0.49392e-04_rb,0.51539e-04_rb,0.53762e-04_rb,0.55883e-04_rb /) kbo(:,31, 6) = (/ & & 0.39571e-04_rb,0.41398e-04_rb,0.43230e-04_rb,0.45052e-04_rb,0.46859e-04_rb /) kbo(:,32, 6) = (/ & & 0.33232e-04_rb,0.34753e-04_rb,0.36306e-04_rb,0.37802e-04_rb,0.39368e-04_rb /) kbo(:,33, 6) = (/ & & 0.27886e-04_rb,0.29183e-04_rb,0.30428e-04_rb,0.31753e-04_rb,0.33114e-04_rb /) kbo(:,34, 6) = (/ & & 0.23408e-04_rb,0.24477e-04_rb,0.25555e-04_rb,0.26683e-04_rb,0.27811e-04_rb /) kbo(:,35, 6) = (/ & & 0.19576e-04_rb,0.20476e-04_rb,0.21380e-04_rb,0.22323e-04_rb,0.23289e-04_rb /) kbo(:,36, 6) = (/ & & 0.16284e-04_rb,0.17049e-04_rb,0.17816e-04_rb,0.18626e-04_rb,0.19444e-04_rb /) kbo(:,37, 6) = (/ & & 0.13488e-04_rb,0.14134e-04_rb,0.14781e-04_rb,0.15488e-04_rb,0.16173e-04_rb /) kbo(:,38, 6) = (/ & & 0.11176e-04_rb,0.11721e-04_rb,0.12278e-04_rb,0.12866e-04_rb,0.13450e-04_rb /) kbo(:,39, 6) = (/ & & 0.92494e-05_rb,0.97155e-05_rb,0.10200e-04_rb,0.10699e-04_rb,0.11199e-04_rb /) kbo(:,40, 6) = (/ & & 0.76168e-05_rb,0.80109e-05_rb,0.84197e-05_rb,0.88496e-05_rb,0.92853e-05_rb /) kbo(:,41, 6) = (/ & & 0.62645e-05_rb,0.66003e-05_rb,0.69472e-05_rb,0.73123e-05_rb,0.76881e-05_rb /) kbo(:,42, 6) = (/ & & 0.51581e-05_rb,0.54373e-05_rb,0.57325e-05_rb,0.60421e-05_rb,0.63612e-05_rb /) kbo(:,43, 6) = (/ & & 0.42336e-05_rb,0.44705e-05_rb,0.47241e-05_rb,0.49790e-05_rb,0.52554e-05_rb /) kbo(:,44, 6) = (/ & & 0.34635e-05_rb,0.36643e-05_rb,0.38777e-05_rb,0.40942e-05_rb,0.43335e-05_rb /) kbo(:,45, 6) = (/ & & 0.28355e-05_rb,0.30041e-05_rb,0.31829e-05_rb,0.33678e-05_rb,0.35664e-05_rb /) kbo(:,46, 6) = (/ & & 0.23151e-05_rb,0.24589e-05_rb,0.26085e-05_rb,0.27655e-05_rb,0.29287e-05_rb /) kbo(:,47, 6) = (/ & & 0.18832e-05_rb,0.20045e-05_rb,0.21306e-05_rb,0.22633e-05_rb,0.24025e-05_rb /) kbo(:,48, 6) = (/ & & 0.15291e-05_rb,0.16326e-05_rb,0.17368e-05_rb,0.18516e-05_rb,0.19681e-05_rb /) kbo(:,49, 6) = (/ & & 0.12403e-05_rb,0.13270e-05_rb,0.14154e-05_rb,0.15108e-05_rb,0.16100e-05_rb /) kbo(:,50, 6) = (/ & & 0.10056e-05_rb,0.10792e-05_rb,0.11542e-05_rb,0.12335e-05_rb,0.13173e-05_rb /) kbo(:,51, 6) = (/ & & 0.81549e-06_rb,0.87791e-06_rb,0.94116e-06_rb,0.10080e-05_rb,0.10781e-05_rb /) kbo(:,52, 6) = (/ & & 0.66029e-06_rb,0.71307e-06_rb,0.76617e-06_rb,0.82179e-06_rb,0.88107e-06_rb /) kbo(:,53, 6) = (/ & & 0.53353e-06_rb,0.57858e-06_rb,0.62276e-06_rb,0.66919e-06_rb,0.71931e-06_rb /) kbo(:,54, 6) = (/ & & 0.43199e-06_rb,0.46970e-06_rb,0.50695e-06_rb,0.54584e-06_rb,0.58793e-06_rb /) kbo(:,55, 6) = (/ & & 0.34966e-06_rb,0.38119e-06_rb,0.41298e-06_rb,0.44530e-06_rb,0.48058e-06_rb /) kbo(:,56, 6) = (/ & & 0.28227e-06_rb,0.30903e-06_rb,0.33563e-06_rb,0.36285e-06_rb,0.39216e-06_rb /) kbo(:,57, 6) = (/ & & 0.22764e-06_rb,0.25006e-06_rb,0.27265e-06_rb,0.29503e-06_rb,0.31940e-06_rb /) kbo(:,58, 6) = (/ & & 0.18380e-06_rb,0.20248e-06_rb,0.22144e-06_rb,0.24002e-06_rb,0.25999e-06_rb /) kbo(:,59, 6) = (/ & & 0.15102e-06_rb,0.16680e-06_rb,0.18267e-06_rb,0.19825e-06_rb,0.21512e-06_rb /) kbo(:,13, 7) = (/ & & 0.20763e-02_rb,0.21202e-02_rb,0.21697e-02_rb,0.22297e-02_rb,0.22985e-02_rb /) kbo(:,14, 7) = (/ & & 0.17631e-02_rb,0.18004e-02_rb,0.18452e-02_rb,0.18998e-02_rb,0.19604e-02_rb /) kbo(:,15, 7) = (/ & & 0.14970e-02_rb,0.15286e-02_rb,0.15695e-02_rb,0.16172e-02_rb,0.16748e-02_rb /) kbo(:,16, 7) = (/ & & 0.12672e-02_rb,0.12965e-02_rb,0.13340e-02_rb,0.13795e-02_rb,0.14367e-02_rb /) kbo(:,17, 7) = (/ & & 0.10695e-02_rb,0.10974e-02_rb,0.11329e-02_rb,0.11783e-02_rb,0.12365e-02_rb /) kbo(:,18, 7) = (/ & & 0.90477e-03_rb,0.93070e-03_rb,0.96470e-03_rb,0.10105e-02_rb,0.10654e-02_rb /) kbo(:,19, 7) = (/ & & 0.76431e-03_rb,0.79078e-03_rb,0.82660e-03_rb,0.86991e-03_rb,0.91843e-03_rb /) kbo(:,20, 7) = (/ & & 0.64676e-03_rb,0.67404e-03_rb,0.70901e-03_rb,0.74996e-03_rb,0.79243e-03_rb /) kbo(:,21, 7) = (/ & & 0.54776e-03_rb,0.57523e-03_rb,0.60880e-03_rb,0.64511e-03_rb,0.68243e-03_rb /) kbo(:,22, 7) = (/ & & 0.46614e-03_rb,0.49254e-03_rb,0.52330e-03_rb,0.55502e-03_rb,0.58894e-03_rb /) kbo(:,23, 7) = (/ & & 0.39726e-03_rb,0.42201e-03_rb,0.44841e-03_rb,0.47653e-03_rb,0.50717e-03_rb /) kbo(:,24, 7) = (/ & & 0.33898e-03_rb,0.36121e-03_rb,0.38421e-03_rb,0.40924e-03_rb,0.43694e-03_rb /) kbo(:,25, 7) = (/ & & 0.28981e-03_rb,0.30891e-03_rb,0.32925e-03_rb,0.35185e-03_rb,0.37616e-03_rb /) kbo(:,26, 7) = (/ & & 0.24765e-03_rb,0.26436e-03_rb,0.28268e-03_rb,0.30306e-03_rb,0.32381e-03_rb /) kbo(:,27, 7) = (/ & & 0.21161e-03_rb,0.22639e-03_rb,0.24293e-03_rb,0.26080e-03_rb,0.27811e-03_rb /) kbo(:,28, 7) = (/ & & 0.18103e-03_rb,0.19425e-03_rb,0.20911e-03_rb,0.22426e-03_rb,0.23882e-03_rb /) kbo(:,29, 7) = (/ & & 0.15524e-03_rb,0.16726e-03_rb,0.18025e-03_rb,0.19313e-03_rb,0.20539e-03_rb /) kbo(:,30, 7) = (/ & & 0.13346e-03_rb,0.14432e-03_rb,0.15555e-03_rb,0.16625e-03_rb,0.17682e-03_rb /) kbo(:,31, 7) = (/ & & 0.11513e-03_rb,0.12466e-03_rb,0.13417e-03_rb,0.14329e-03_rb,0.15286e-03_rb /) kbo(:,32, 7) = (/ & & 0.99437e-04_rb,0.10768e-03_rb,0.11569e-03_rb,0.12397e-03_rb,0.13224e-03_rb /) kbo(:,33, 7) = (/ & & 0.85975e-04_rb,0.92901e-04_rb,0.10007e-03_rb,0.10742e-03_rb,0.11487e-03_rb /) kbo(:,34, 7) = (/ & & 0.74186e-04_rb,0.80283e-04_rb,0.86524e-04_rb,0.92965e-04_rb,0.99720e-04_rb /) kbo(:,35, 7) = (/ & & 0.63518e-04_rb,0.68833e-04_rb,0.74348e-04_rb,0.80205e-04_rb,0.86286e-04_rb /) kbo(:,36, 7) = (/ & & 0.53971e-04_rb,0.58710e-04_rb,0.63581e-04_rb,0.68731e-04_rb,0.74066e-04_rb /) kbo(:,37, 7) = (/ & & 0.45287e-04_rb,0.49433e-04_rb,0.53695e-04_rb,0.58207e-04_rb,0.62933e-04_rb /) kbo(:,38, 7) = (/ & & 0.37993e-04_rb,0.41562e-04_rb,0.45327e-04_rb,0.49315e-04_rb,0.53437e-04_rb /) kbo(:,39, 7) = (/ & & 0.31889e-04_rb,0.34954e-04_rb,0.38268e-04_rb,0.41760e-04_rb,0.45472e-04_rb /) kbo(:,40, 7) = (/ & & 0.26490e-04_rb,0.29130e-04_rb,0.31995e-04_rb,0.35094e-04_rb,0.38302e-04_rb /) kbo(:,41, 7) = (/ & & 0.21977e-04_rb,0.24258e-04_rb,0.26702e-04_rb,0.29405e-04_rb,0.32254e-04_rb /) kbo(:,42, 7) = (/ & & 0.18218e-04_rb,0.20180e-04_rb,0.22299e-04_rb,0.24616e-04_rb,0.27154e-04_rb /) kbo(:,43, 7) = (/ & & 0.15034e-04_rb,0.16668e-04_rb,0.18493e-04_rb,0.20514e-04_rb,0.22747e-04_rb /) kbo(:,44, 7) = (/ & & 0.12376e-04_rb,0.13730e-04_rb,0.15276e-04_rb,0.16983e-04_rb,0.18913e-04_rb /) kbo(:,45, 7) = (/ & & 0.10149e-04_rb,0.11314e-04_rb,0.12590e-04_rb,0.14099e-04_rb,0.15742e-04_rb /) kbo(:,46, 7) = (/ & & 0.82889e-05_rb,0.92859e-05_rb,0.10354e-04_rb,0.11603e-04_rb,0.13042e-04_rb /) kbo(:,47, 7) = (/ & & 0.67264e-05_rb,0.75707e-05_rb,0.84748e-05_rb,0.95081e-05_rb,0.10721e-04_rb /) kbo(:,48, 7) = (/ & & 0.54454e-05_rb,0.61678e-05_rb,0.69329e-05_rb,0.77845e-05_rb,0.87984e-05_rb /) kbo(:,49, 7) = (/ & & 0.43942e-05_rb,0.50075e-05_rb,0.56558e-05_rb,0.63802e-05_rb,0.72168e-05_rb /) kbo(:,50, 7) = (/ & & 0.35518e-05_rb,0.40682e-05_rb,0.46246e-05_rb,0.52318e-05_rb,0.59289e-05_rb /) kbo(:,51, 7) = (/ & & 0.28695e-05_rb,0.33032e-05_rb,0.37766e-05_rb,0.42938e-05_rb,0.48871e-05_rb /) kbo(:,52, 7) = (/ & & 0.23151e-05_rb,0.26733e-05_rb,0.30760e-05_rb,0.35184e-05_rb,0.40216e-05_rb /) kbo(:,53, 7) = (/ & & 0.18635e-05_rb,0.21569e-05_rb,0.24979e-05_rb,0.28705e-05_rb,0.33004e-05_rb /) kbo(:,54, 7) = (/ & & 0.15043e-05_rb,0.17492e-05_rb,0.20309e-05_rb,0.23469e-05_rb,0.27129e-05_rb /) kbo(:,55, 7) = (/ & & 0.12156e-05_rb,0.14170e-05_rb,0.16506e-05_rb,0.19188e-05_rb,0.22303e-05_rb /) kbo(:,56, 7) = (/ & & 0.98090e-06_rb,0.11440e-05_rb,0.13395e-05_rb,0.15647e-05_rb,0.18280e-05_rb /) kbo(:,57, 7) = (/ & & 0.79029e-06_rb,0.92216e-06_rb,0.10880e-05_rb,0.12732e-05_rb,0.14934e-05_rb /) kbo(:,58, 7) = (/ & & 0.63691e-06_rb,0.74365e-06_rb,0.88187e-06_rb,0.10375e-05_rb,0.12193e-05_rb /) kbo(:,59, 7) = (/ & & 0.52696e-06_rb,0.61783e-06_rb,0.73672e-06_rb,0.87054e-06_rb,0.10284e-05_rb /) kbo(:,13, 8) = (/ & & 0.57453e-02_rb,0.59077e-02_rb,0.61032e-02_rb,0.63038e-02_rb,0.65156e-02_rb /) kbo(:,14, 8) = (/ & & 0.49738e-02_rb,0.51301e-02_rb,0.52927e-02_rb,0.54623e-02_rb,0.56575e-02_rb /) kbo(:,15, 8) = (/ & & 0.43017e-02_rb,0.44326e-02_rb,0.45703e-02_rb,0.47292e-02_rb,0.49039e-02_rb /) kbo(:,16, 8) = (/ & & 0.37082e-02_rb,0.38170e-02_rb,0.39427e-02_rb,0.40844e-02_rb,0.42438e-02_rb /) kbo(:,17, 8) = (/ & & 0.31847e-02_rb,0.32833e-02_rb,0.33960e-02_rb,0.35252e-02_rb,0.36740e-02_rb /) kbo(:,18, 8) = (/ & & 0.27225e-02_rb,0.28155e-02_rb,0.29216e-02_rb,0.30449e-02_rb,0.31911e-02_rb /) kbo(:,19, 8) = (/ & & 0.23309e-02_rb,0.24127e-02_rb,0.25113e-02_rb,0.26325e-02_rb,0.27748e-02_rb /) kbo(:,20, 8) = (/ & & 0.19939e-02_rb,0.20703e-02_rb,0.21659e-02_rb,0.22816e-02_rb,0.24232e-02_rb /) kbo(:,21, 8) = (/ & & 0.17051e-02_rb,0.17809e-02_rb,0.18754e-02_rb,0.19919e-02_rb,0.21299e-02_rb /) kbo(:,22, 8) = (/ & & 0.14632e-02_rb,0.15412e-02_rb,0.16376e-02_rb,0.17554e-02_rb,0.18936e-02_rb /) kbo(:,23, 8) = (/ & & 0.12639e-02_rb,0.13422e-02_rb,0.14407e-02_rb,0.15575e-02_rb,0.16941e-02_rb /) kbo(:,24, 8) = (/ & & 0.10971e-02_rb,0.11767e-02_rb,0.12764e-02_rb,0.13939e-02_rb,0.15238e-02_rb /) kbo(:,25, 8) = (/ & & 0.95870e-03_rb,0.10413e-02_rb,0.11414e-02_rb,0.12556e-02_rb,0.13798e-02_rb /) kbo(:,26, 8) = (/ & & 0.84686e-03_rb,0.93021e-03_rb,0.10287e-02_rb,0.11374e-02_rb,0.12572e-02_rb /) kbo(:,27, 8) = (/ & & 0.75447e-03_rb,0.83724e-03_rb,0.93234e-03_rb,0.10369e-02_rb,0.11513e-02_rb /) kbo(:,28, 8) = (/ & & 0.67798e-03_rb,0.75937e-03_rb,0.85009e-03_rb,0.95072e-03_rb,0.10606e-02_rb /) kbo(:,29, 8) = (/ & & 0.61364e-03_rb,0.69262e-03_rb,0.77994e-03_rb,0.87674e-03_rb,0.98252e-03_rb /) kbo(:,30, 8) = (/ & & 0.55903e-03_rb,0.63520e-03_rb,0.71974e-03_rb,0.81322e-03_rb,0.91554e-03_rb /) kbo(:,31, 8) = (/ & & 0.51301e-03_rb,0.58698e-03_rb,0.66923e-03_rb,0.75972e-03_rb,0.85851e-03_rb /) kbo(:,32, 8) = (/ & & 0.47350e-03_rb,0.54617e-03_rb,0.62663e-03_rb,0.71470e-03_rb,0.81105e-03_rb /) kbo(:,33, 8) = (/ & & 0.44016e-03_rb,0.51136e-03_rb,0.58994e-03_rb,0.67638e-03_rb,0.77061e-03_rb /) kbo(:,34, 8) = (/ & & 0.40944e-03_rb,0.47900e-03_rb,0.55611e-03_rb,0.64143e-03_rb,0.73316e-03_rb /) kbo(:,35, 8) = (/ & & 0.37741e-03_rb,0.44487e-03_rb,0.52031e-03_rb,0.60323e-03_rb,0.69243e-03_rb /) kbo(:,36, 8) = (/ & & 0.34297e-03_rb,0.40766e-03_rb,0.48086e-03_rb,0.56132e-03_rb,0.64787e-03_rb /) kbo(:,37, 8) = (/ & & 0.30431e-03_rb,0.36499e-03_rb,0.43465e-03_rb,0.51167e-03_rb,0.59496e-03_rb /) kbo(:,38, 8) = (/ & & 0.26970e-03_rb,0.32665e-03_rb,0.39267e-03_rb,0.46706e-03_rb,0.54760e-03_rb /) kbo(:,39, 8) = (/ & & 0.23923e-03_rb,0.29254e-03_rb,0.35537e-03_rb,0.42706e-03_rb,0.50543e-03_rb /) kbo(:,40, 8) = (/ & & 0.20758e-03_rb,0.25688e-03_rb,0.31519e-03_rb,0.38349e-03_rb,0.45925e-03_rb /) kbo(:,41, 8) = (/ & & 0.17937e-03_rb,0.22435e-03_rb,0.27886e-03_rb,0.34337e-03_rb,0.41641e-03_rb /) kbo(:,42, 8) = (/ & & 0.15469e-03_rb,0.19589e-03_rb,0.24606e-03_rb,0.30674e-03_rb,0.37723e-03_rb /) kbo(:,43, 8) = (/ & & 0.13101e-03_rb,0.16796e-03_rb,0.21371e-03_rb,0.26992e-03_rb,0.33751e-03_rb /) kbo(:,44, 8) = (/ & & 0.10980e-03_rb,0.14260e-03_rb,0.18396e-03_rb,0.23557e-03_rb,0.29905e-03_rb /) kbo(:,45, 8) = (/ & & 0.91682e-04_rb,0.12045e-03_rb,0.15770e-03_rb,0.20472e-03_rb,0.26370e-03_rb /) kbo(:,46, 8) = (/ & & 0.75628e-04_rb,0.10059e-03_rb,0.13347e-03_rb,0.17595e-03_rb,0.22995e-03_rb /) kbo(:,47, 8) = (/ & & 0.61269e-04_rb,0.82597e-04_rb,0.11115e-03_rb,0.14863e-03_rb,0.19734e-03_rb /) kbo(:,48, 8) = (/ & & 0.49295e-04_rb,0.67304e-04_rb,0.91698e-04_rb,0.12475e-03_rb,0.16838e-03_rb /) kbo(:,49, 8) = (/ & & 0.39400e-04_rb,0.54424e-04_rb,0.75252e-04_rb,0.10388e-03_rb,0.14254e-03_rb /) kbo(:,50, 8) = (/ & & 0.31621e-04_rb,0.44130e-04_rb,0.61905e-04_rb,0.86583e-04_rb,0.12082e-03_rb /) kbo(:,51, 8) = (/ & & 0.25214e-04_rb,0.35613e-04_rb,0.50609e-04_rb,0.71998e-04_rb,0.10219e-03_rb /) kbo(:,52, 8) = (/ & & 0.20045e-04_rb,0.28626e-04_rb,0.41171e-04_rb,0.59458e-04_rb,0.85829e-04_rb /) kbo(:,53, 8) = (/ & & 0.15795e-04_rb,0.22859e-04_rb,0.33218e-04_rb,0.48810e-04_rb,0.71516e-04_rb /) kbo(:,54, 8) = (/ & & 0.12537e-04_rb,0.18343e-04_rb,0.26979e-04_rb,0.40183e-04_rb,0.59926e-04_rb /) kbo(:,55, 8) = (/ & & 0.99418e-05_rb,0.14675e-04_rb,0.21893e-04_rb,0.33017e-04_rb,0.50138e-04_rb /) kbo(:,56, 8) = (/ & & 0.78293e-05_rb,0.11672e-04_rb,0.17663e-04_rb,0.26975e-04_rb,0.41690e-04_rb /) kbo(:,57, 8) = (/ & & 0.61519e-05_rb,0.92383e-05_rb,0.14184e-04_rb,0.21901e-04_rb,0.34420e-04_rb /) kbo(:,58, 8) = (/ & & 0.48509e-05_rb,0.73119e-05_rb,0.11341e-04_rb,0.17783e-04_rb,0.28416e-04_rb /) kbo(:,59, 8) = (/ & & 0.41003e-05_rb,0.62461e-05_rb,0.98307e-05_rb,0.15678e-04_rb,0.25521e-04_rb /) kbo(:,13, 9) = (/ & & 0.31088e-01_rb,0.30978e-01_rb,0.31134e-01_rb,0.31580e-01_rb,0.32297e-01_rb /) kbo(:,14, 9) = (/ & & 0.26804e-01_rb,0.26913e-01_rb,0.27323e-01_rb,0.28019e-01_rb,0.28853e-01_rb /) kbo(:,15, 9) = (/ & & 0.23192e-01_rb,0.23530e-01_rb,0.24156e-01_rb,0.24918e-01_rb,0.25770e-01_rb /) kbo(:,16, 9) = (/ & & 0.20205e-01_rb,0.20738e-01_rb,0.21411e-01_rb,0.22189e-01_rb,0.23073e-01_rb /) kbo(:,17, 9) = (/ & & 0.17721e-01_rb,0.18309e-01_rb,0.19005e-01_rb,0.19816e-01_rb,0.20712e-01_rb /) kbo(:,18, 9) = (/ & & 0.15569e-01_rb,0.16175e-01_rb,0.16902e-01_rb,0.17717e-01_rb,0.18588e-01_rb /) kbo(:,19, 9) = (/ & & 0.13679e-01_rb,0.14314e-01_rb,0.15046e-01_rb,0.15840e-01_rb,0.16695e-01_rb /) kbo(:,20, 9) = (/ & & 0.12060e-01_rb,0.12704e-01_rb,0.13416e-01_rb,0.14184e-01_rb,0.14994e-01_rb /) kbo(:,21, 9) = (/ & & 0.10678e-01_rb,0.11296e-01_rb,0.11975e-01_rb,0.12694e-01_rb,0.13474e-01_rb /) kbo(:,22, 9) = (/ & & 0.95206e-02_rb,0.10114e-01_rb,0.10744e-01_rb,0.11429e-01_rb,0.12190e-01_rb /) kbo(:,23, 9) = (/ & & 0.85244e-02_rb,0.90705e-02_rb,0.96690e-02_rb,0.10334e-01_rb,0.11084e-01_rb /) kbo(:,24, 9) = (/ & & 0.76472e-02_rb,0.81682e-02_rb,0.87428e-02_rb,0.93948e-02_rb,0.10155e-01_rb /) kbo(:,25, 9) = (/ & & 0.68906e-02_rb,0.73887e-02_rb,0.79555e-02_rb,0.86116e-02_rb,0.93920e-02_rb /) kbo(:,26, 9) = (/ & & 0.62406e-02_rb,0.67330e-02_rb,0.73033e-02_rb,0.79807e-02_rb,0.87803e-02_rb /) kbo(:,27, 9) = (/ & & 0.56879e-02_rb,0.61818e-02_rb,0.67732e-02_rb,0.74721e-02_rb,0.82924e-02_rb /) kbo(:,28, 9) = (/ & & 0.52214e-02_rb,0.57290e-02_rb,0.63416e-02_rb,0.70614e-02_rb,0.79109e-02_rb /) kbo(:,29, 9) = (/ & & 0.48396e-02_rb,0.53718e-02_rb,0.60023e-02_rb,0.67493e-02_rb,0.76290e-02_rb /) kbo(:,30, 9) = (/ & & 0.45394e-02_rb,0.50868e-02_rb,0.57419e-02_rb,0.65213e-02_rb,0.74390e-02_rb /) kbo(:,31, 9) = (/ & & 0.42997e-02_rb,0.48721e-02_rb,0.55579e-02_rb,0.63736e-02_rb,0.73370e-02_rb /) kbo(:,32, 9) = (/ & & 0.41212e-02_rb,0.47209e-02_rb,0.54422e-02_rb,0.62987e-02_rb,0.73128e-02_rb /) kbo(:,33, 9) = (/ & & 0.39976e-02_rb,0.46295e-02_rb,0.53893e-02_rb,0.62949e-02_rb,0.73658e-02_rb /) kbo(:,34, 9) = (/ & & 0.39007e-02_rb,0.45672e-02_rb,0.53672e-02_rb,0.63167e-02_rb,0.74374e-02_rb /) kbo(:,35, 9) = (/ & & 0.37869e-02_rb,0.44770e-02_rb,0.53019e-02_rb,0.62849e-02_rb,0.74424e-02_rb /) kbo(:,36, 9) = (/ & & 0.36393e-02_rb,0.43376e-02_rb,0.51746e-02_rb,0.61726e-02_rb,0.73435e-02_rb /) kbo(:,37, 9) = (/ & & 0.34235e-02_rb,0.41098e-02_rb,0.49353e-02_rb,0.59226e-02_rb,0.70781e-02_rb /) kbo(:,38, 9) = (/ & & 0.32247e-02_rb,0.38981e-02_rb,0.47125e-02_rb,0.56849e-02_rb,0.68251e-02_rb /) kbo(:,39, 9) = (/ & & 0.30456e-02_rb,0.37107e-02_rb,0.45116e-02_rb,0.54683e-02_rb,0.65906e-02_rb /) kbo(:,40, 9) = (/ & & 0.28232e-02_rb,0.34654e-02_rb,0.42389e-02_rb,0.51610e-02_rb,0.62484e-02_rb /) kbo(:,41, 9) = (/ & & 0.26119e-02_rb,0.32290e-02_rb,0.39730e-02_rb,0.48613e-02_rb,0.59121e-02_rb /) kbo(:,42, 9) = (/ & & 0.24180e-02_rb,0.30088e-02_rb,0.37246e-02_rb,0.45813e-02_rb,0.55929e-02_rb /) kbo(:,43, 9) = (/ & & 0.22093e-02_rb,0.27691e-02_rb,0.34494e-02_rb,0.42630e-02_rb,0.52317e-02_rb /) kbo(:,44, 9) = (/ & & 0.20033e-02_rb,0.25304e-02_rb,0.31741e-02_rb,0.39439e-02_rb,0.48637e-02_rb /) kbo(:,45, 9) = (/ & & 0.18130e-02_rb,0.23086e-02_rb,0.29181e-02_rb,0.36487e-02_rb,0.45175e-02_rb /) kbo(:,46, 9) = (/ & & 0.16283e-02_rb,0.20910e-02_rb,0.26646e-02_rb,0.33526e-02_rb,0.41695e-02_rb /) kbo(:,47, 9) = (/ & & 0.14435e-02_rb,0.18702e-02_rb,0.24020e-02_rb,0.30439e-02_rb,0.38103e-02_rb /) kbo(:,48, 9) = (/ & & 0.12773e-02_rb,0.16671e-02_rb,0.21576e-02_rb,0.27587e-02_rb,0.34731e-02_rb /) kbo(:,49, 9) = (/ & & 0.11238e-02_rb,0.14806e-02_rb,0.19320e-02_rb,0.24920e-02_rb,0.31602e-02_rb /) kbo(:,50, 9) = (/ & & 0.99065e-03_rb,0.13211e-02_rb,0.17354e-02_rb,0.22582e-02_rb,0.28857e-02_rb /) kbo(:,51, 9) = (/ & & 0.87220e-03_rb,0.11790e-02_rb,0.15607e-02_rb,0.20453e-02_rb,0.26367e-02_rb /) kbo(:,52, 9) = (/ & & 0.76443e-03_rb,0.10482e-02_rb,0.13992e-02_rb,0.18469e-02_rb,0.24023e-02_rb /) kbo(:,53, 9) = (/ & & 0.66506e-03_rb,0.92645e-03_rb,0.12548e-02_rb,0.16624e-02_rb,0.21789e-02_rb /) kbo(:,54, 9) = (/ & & 0.58147e-03_rb,0.82449e-03_rb,0.11302e-02_rb,0.15093e-02_rb,0.19886e-02_rb /) kbo(:,55, 9) = (/ & & 0.50762e-03_rb,0.73235e-03_rb,0.10182e-02_rb,0.13732e-02_rb,0.18200e-02_rb /) kbo(:,56, 9) = (/ & & 0.44063e-03_rb,0.64710e-03_rb,0.91345e-03_rb,0.12471e-02_rb,0.16632e-02_rb /) kbo(:,57, 9) = (/ & & 0.37891e-03_rb,0.56859e-03_rb,0.81680e-03_rb,0.11290e-02_rb,0.15165e-02_rb /) kbo(:,58, 9) = (/ & & 0.32563e-03_rb,0.50022e-03_rb,0.73037e-03_rb,0.10236e-02_rb,0.13873e-02_rb /) kbo(:,59, 9) = (/ & & 0.30307e-03_rb,0.47208e-03_rb,0.69548e-03_rb,0.98198e-03_rb,0.13371e-02_rb /) kbo(:,13,10) = (/ & & 0.13405e+00_rb,0.13208e+00_rb,0.13012e+00_rb,0.12819e+00_rb,0.12637e+00_rb /) kbo(:,14,10) = (/ & & 0.11726e+00_rb,0.11549e+00_rb,0.11376e+00_rb,0.11219e+00_rb,0.11171e+00_rb /) kbo(:,15,10) = (/ & & 0.10125e+00_rb,0.99749e-01_rb,0.98394e-01_rb,0.98385e-01_rb,0.99981e-01_rb /) kbo(:,16,10) = (/ & & 0.86553e-01_rb,0.85383e-01_rb,0.85602e-01_rb,0.87440e-01_rb,0.89929e-01_rb /) kbo(:,17,10) = (/ & & 0.73963e-01_rb,0.74028e-01_rb,0.75744e-01_rb,0.77969e-01_rb,0.80306e-01_rb /) kbo(:,18,10) = (/ & & 0.64249e-01_rb,0.65620e-01_rb,0.67504e-01_rb,0.69584e-01_rb,0.72235e-01_rb /) kbo(:,19,10) = (/ & & 0.56934e-01_rb,0.58613e-01_rb,0.60462e-01_rb,0.62855e-01_rb,0.65899e-01_rb /) kbo(:,20,10) = (/ & & 0.50721e-01_rb,0.52418e-01_rb,0.54615e-01_rb,0.57565e-01_rb,0.61049e-01_rb /) kbo(:,21,10) = (/ & & 0.45027e-01_rb,0.47161e-01_rb,0.49911e-01_rb,0.53249e-01_rb,0.56950e-01_rb /) kbo(:,22,10) = (/ & & 0.40301e-01_rb,0.42891e-01_rb,0.46164e-01_rb,0.49801e-01_rb,0.53839e-01_rb /) kbo(:,23,10) = (/ & & 0.36438e-01_rb,0.39487e-01_rb,0.43011e-01_rb,0.46965e-01_rb,0.50969e-01_rb /) kbo(:,24,10) = (/ & & 0.33455e-01_rb,0.36675e-01_rb,0.40451e-01_rb,0.44369e-01_rb,0.48399e-01_rb /) kbo(:,25,10) = (/ & & 0.31038e-01_rb,0.34461e-01_rb,0.38146e-01_rb,0.42075e-01_rb,0.46138e-01_rb /) kbo(:,26,10) = (/ & & 0.29184e-01_rb,0.32533e-01_rb,0.36194e-01_rb,0.40134e-01_rb,0.44371e-01_rb /) kbo(:,27,10) = (/ & & 0.27607e-01_rb,0.30907e-01_rb,0.34540e-01_rb,0.38584e-01_rb,0.43101e-01_rb /) kbo(:,28,10) = (/ & & 0.26262e-01_rb,0.29536e-01_rb,0.33259e-01_rb,0.37529e-01_rb,0.42311e-01_rb /) kbo(:,29,10) = (/ & & 0.25199e-01_rb,0.28472e-01_rb,0.32405e-01_rb,0.36927e-01_rb,0.42052e-01_rb /) kbo(:,30,10) = (/ & & 0.24317e-01_rb,0.27783e-01_rb,0.31948e-01_rb,0.36772e-01_rb,0.42176e-01_rb /) kbo(:,31,10) = (/ & & 0.23777e-01_rb,0.27457e-01_rb,0.31879e-01_rb,0.37001e-01_rb,0.42663e-01_rb /) kbo(:,32,10) = (/ & & 0.23540e-01_rb,0.27481e-01_rb,0.32177e-01_rb,0.37596e-01_rb,0.43567e-01_rb /) kbo(:,33,10) = (/ & & 0.23597e-01_rb,0.27797e-01_rb,0.32792e-01_rb,0.38465e-01_rb,0.44641e-01_rb /) kbo(:,34,10) = (/ & & 0.23769e-01_rb,0.28231e-01_rb,0.33430e-01_rb,0.39373e-01_rb,0.45740e-01_rb /) kbo(:,35,10) = (/ & & 0.23751e-01_rb,0.28376e-01_rb,0.33764e-01_rb,0.39814e-01_rb,0.46255e-01_rb /) kbo(:,36,10) = (/ & & 0.23409e-01_rb,0.28117e-01_rb,0.33564e-01_rb,0.39651e-01_rb,0.46138e-01_rb /) kbo(:,37,10) = (/ & & 0.22508e-01_rb,0.27169e-01_rb,0.32556e-01_rb,0.38592e-01_rb,0.45071e-01_rb /) kbo(:,38,10) = (/ & & 0.21655e-01_rb,0.26262e-01_rb,0.31543e-01_rb,0.37540e-01_rb,0.43984e-01_rb /) kbo(:,39,10) = (/ & & 0.20895e-01_rb,0.25391e-01_rb,0.30600e-01_rb,0.36519e-01_rb,0.42890e-01_rb /) kbo(:,40,10) = (/ & & 0.19794e-01_rb,0.24108e-01_rb,0.29157e-01_rb,0.34891e-01_rb,0.41215e-01_rb /) kbo(:,41,10) = (/ & & 0.18688e-01_rb,0.22822e-01_rb,0.27713e-01_rb,0.33302e-01_rb,0.39460e-01_rb /) kbo(:,42,10) = (/ & & 0.17627e-01_rb,0.21623e-01_rb,0.26302e-01_rb,0.31747e-01_rb,0.37731e-01_rb /) kbo(:,43,10) = (/ & & 0.16446e-01_rb,0.20270e-01_rb,0.24738e-01_rb,0.29940e-01_rb,0.35800e-01_rb /) kbo(:,44,10) = (/ & & 0.15234e-01_rb,0.18876e-01_rb,0.23100e-01_rb,0.28072e-01_rb,0.33725e-01_rb /) kbo(:,45,10) = (/ & & 0.14095e-01_rb,0.17542e-01_rb,0.21553e-01_rb,0.26276e-01_rb,0.31735e-01_rb /) kbo(:,46,10) = (/ & & 0.12980e-01_rb,0.16215e-01_rb,0.20030e-01_rb,0.24474e-01_rb,0.29695e-01_rb /) kbo(:,47,10) = (/ & & 0.11800e-01_rb,0.14839e-01_rb,0.18423e-01_rb,0.22582e-01_rb,0.27493e-01_rb /) kbo(:,48,10) = (/ & & 0.10669e-01_rb,0.13547e-01_rb,0.16901e-01_rb,0.20822e-01_rb,0.25431e-01_rb /) kbo(:,49,10) = (/ & & 0.96515e-02_rb,0.12347e-01_rb,0.15476e-01_rb,0.19181e-01_rb,0.23474e-01_rb /) kbo(:,50,10) = (/ & & 0.87302e-02_rb,0.11282e-01_rb,0.14230e-01_rb,0.17719e-01_rb,0.21773e-01_rb /) kbo(:,51,10) = (/ & & 0.78879e-02_rb,0.10297e-01_rb,0.13106e-01_rb,0.16387e-01_rb,0.20218e-01_rb /) kbo(:,52,10) = (/ & & 0.71141e-02_rb,0.93631e-02_rb,0.12059e-01_rb,0.15140e-01_rb,0.18761e-01_rb /) kbo(:,53,10) = (/ & & 0.64033e-02_rb,0.84706e-02_rb,0.11019e-01_rb,0.13962e-01_rb,0.17391e-01_rb /) kbo(:,54,10) = (/ & & 0.58003e-02_rb,0.77325e-02_rb,0.10121e-01_rb,0.12913e-01_rb,0.16185e-01_rb /) kbo(:,55,10) = (/ & & 0.52567e-02_rb,0.70672e-02_rb,0.93006e-02_rb,0.11949e-01_rb,0.15064e-01_rb /) kbo(:,56,10) = (/ & & 0.47304e-02_rb,0.64466e-02_rb,0.85460e-02_rb,0.11037e-01_rb,0.13988e-01_rb /) kbo(:,57,10) = (/ & & 0.42280e-02_rb,0.58745e-02_rb,0.78453e-02_rb,0.10192e-01_rb,0.12992e-01_rb /) kbo(:,58,10) = (/ & & 0.37744e-02_rb,0.53584e-02_rb,0.72089e-02_rb,0.94309e-02_rb,0.12101e-01_rb /) kbo(:,59,10) = (/ & & 0.36027e-02_rb,0.51588e-02_rb,0.69694e-02_rb,0.91382e-02_rb,0.11759e-01_rb /) kbo(:,13,11) = (/ & & 0.24636e+00_rb,0.24379e+00_rb,0.24122e+00_rb,0.23863e+00_rb,0.23598e+00_rb /) kbo(:,14,11) = (/ & & 0.22272e+00_rb,0.22032e+00_rb,0.21794e+00_rb,0.21559e+00_rb,0.21334e+00_rb /) kbo(:,15,11) = (/ & & 0.19844e+00_rb,0.19619e+00_rb,0.19411e+00_rb,0.19222e+00_rb,0.19047e+00_rb /) kbo(:,16,11) = (/ & & 0.17439e+00_rb,0.17254e+00_rb,0.17092e+00_rb,0.16946e+00_rb,0.16916e+00_rb /) kbo(:,17,11) = (/ & & 0.15164e+00_rb,0.15027e+00_rb,0.14912e+00_rb,0.14939e+00_rb,0.15176e+00_rb /) kbo(:,18,11) = (/ & & 0.13063e+00_rb,0.12971e+00_rb,0.13029e+00_rb,0.13302e+00_rb,0.13748e+00_rb /) kbo(:,19,11) = (/ & & 0.11203e+00_rb,0.11247e+00_rb,0.11508e+00_rb,0.11959e+00_rb,0.12521e+00_rb /) kbo(:,20,11) = (/ & & 0.96916e-01_rb,0.99041e-01_rb,0.10318e+00_rb,0.10837e+00_rb,0.11414e+00_rb /) kbo(:,21,11) = (/ & & 0.85382e-01_rb,0.88824e-01_rb,0.93367e-01_rb,0.98603e-01_rb,0.10483e+00_rb /) kbo(:,22,11) = (/ & & 0.76943e-01_rb,0.80844e-01_rb,0.85377e-01_rb,0.90964e-01_rb,0.97503e-01_rb /) kbo(:,23,11) = (/ & & 0.70041e-01_rb,0.74136e-01_rb,0.79065e-01_rb,0.84905e-01_rb,0.92247e-01_rb /) kbo(:,24,11) = (/ & & 0.64133e-01_rb,0.68708e-01_rb,0.74135e-01_rb,0.80762e-01_rb,0.88658e-01_rb /) kbo(:,25,11) = (/ & & 0.59352e-01_rb,0.64474e-01_rb,0.70718e-01_rb,0.78064e-01_rb,0.86394e-01_rb /) kbo(:,26,11) = (/ & & 0.55652e-01_rb,0.61613e-01_rb,0.68607e-01_rb,0.76451e-01_rb,0.85230e-01_rb /) kbo(:,27,11) = (/ & & 0.53058e-01_rb,0.59792e-01_rb,0.67298e-01_rb,0.75623e-01_rb,0.84830e-01_rb /) kbo(:,28,11) = (/ & & 0.51454e-01_rb,0.58747e-01_rb,0.66709e-01_rb,0.75478e-01_rb,0.85111e-01_rb /) kbo(:,29,11) = (/ & & 0.50601e-01_rb,0.58412e-01_rb,0.66813e-01_rb,0.76014e-01_rb,0.86051e-01_rb /) kbo(:,30,11) = (/ & & 0.50412e-01_rb,0.58677e-01_rb,0.67503e-01_rb,0.77079e-01_rb,0.87490e-01_rb /) kbo(:,31,11) = (/ & & 0.50833e-01_rb,0.59491e-01_rb,0.68713e-01_rb,0.78659e-01_rb,0.89405e-01_rb /) kbo(:,32,11) = (/ & & 0.51770e-01_rb,0.60792e-01_rb,0.70497e-01_rb,0.80769e-01_rb,0.91778e-01_rb /) kbo(:,33,11) = (/ & & 0.53128e-01_rb,0.62590e-01_rb,0.72506e-01_rb,0.83033e-01_rb,0.94354e-01_rb /) kbo(:,34,11) = (/ & & 0.54518e-01_rb,0.64238e-01_rb,0.74390e-01_rb,0.85011e-01_rb,0.96530e-01_rb /) kbo(:,35,11) = (/ & & 0.55323e-01_rb,0.65129e-01_rb,0.75324e-01_rb,0.86085e-01_rb,0.97742e-01_rb /) kbo(:,36,11) = (/ & & 0.55103e-01_rb,0.64989e-01_rb,0.75282e-01_rb,0.86060e-01_rb,0.97722e-01_rb /) kbo(:,37,11) = (/ & & 0.53513e-01_rb,0.63398e-01_rb,0.73617e-01_rb,0.84326e-01_rb,0.95934e-01_rb /) kbo(:,38,11) = (/ & & 0.51839e-01_rb,0.61729e-01_rb,0.71975e-01_rb,0.82585e-01_rb,0.94078e-01_rb /) kbo(:,39,11) = (/ & & 0.50239e-01_rb,0.60161e-01_rb,0.70354e-01_rb,0.80923e-01_rb,0.92345e-01_rb /) kbo(:,40,11) = (/ & & 0.47749e-01_rb,0.57519e-01_rb,0.67663e-01_rb,0.78238e-01_rb,0.89341e-01_rb /) kbo(:,41,11) = (/ & & 0.45220e-01_rb,0.54835e-01_rb,0.64881e-01_rb,0.75369e-01_rb,0.86308e-01_rb /) kbo(:,42,11) = (/ & & 0.42768e-01_rb,0.52225e-01_rb,0.62107e-01_rb,0.72467e-01_rb,0.83297e-01_rb /) kbo(:,43,11) = (/ & & 0.39884e-01_rb,0.49090e-01_rb,0.58932e-01_rb,0.69072e-01_rb,0.79690e-01_rb /) kbo(:,44,11) = (/ & & 0.36935e-01_rb,0.45822e-01_rb,0.55523e-01_rb,0.65525e-01_rb,0.76019e-01_rb /) kbo(:,45,11) = (/ & & 0.34132e-01_rb,0.42684e-01_rb,0.52151e-01_rb,0.62095e-01_rb,0.72392e-01_rb /) kbo(:,46,11) = (/ & & 0.31296e-01_rb,0.39456e-01_rb,0.48596e-01_rb,0.58446e-01_rb,0.68612e-01_rb /) kbo(:,47,11) = (/ & & 0.28352e-01_rb,0.35994e-01_rb,0.44764e-01_rb,0.54432e-01_rb,0.64443e-01_rb /) kbo(:,48,11) = (/ & & 0.25659e-01_rb,0.32738e-01_rb,0.41113e-01_rb,0.50437e-01_rb,0.60364e-01_rb /) kbo(:,49,11) = (/ & & 0.23119e-01_rb,0.29700e-01_rb,0.37617e-01_rb,0.46554e-01_rb,0.56334e-01_rb /) kbo(:,50,11) = (/ & & 0.20913e-01_rb,0.27063e-01_rb,0.34504e-01_rb,0.43055e-01_rb,0.52582e-01_rb /) kbo(:,51,11) = (/ & & 0.18909e-01_rb,0.24701e-01_rb,0.31626e-01_rb,0.39797e-01_rb,0.48997e-01_rb /) kbo(:,52,11) = (/ & & 0.17085e-01_rb,0.22478e-01_rb,0.28924e-01_rb,0.36689e-01_rb,0.45522e-01_rb /) kbo(:,53,11) = (/ & & 0.15363e-01_rb,0.20405e-01_rb,0.26432e-01_rb,0.33725e-01_rb,0.42180e-01_rb /) kbo(:,54,11) = (/ & & 0.13901e-01_rb,0.18604e-01_rb,0.24309e-01_rb,0.31149e-01_rb,0.39236e-01_rb /) kbo(:,55,11) = (/ & & 0.12627e-01_rb,0.16988e-01_rb,0.22381e-01_rb,0.28834e-01_rb,0.36535e-01_rb /) kbo(:,56,11) = (/ & & 0.11410e-01_rb,0.15484e-01_rb,0.20536e-01_rb,0.26668e-01_rb,0.33955e-01_rb /) kbo(:,57,11) = (/ & & 0.10296e-01_rb,0.14074e-01_rb,0.18805e-01_rb,0.24610e-01_rb,0.31477e-01_rb /) kbo(:,58,11) = (/ & & 0.93246e-02_rb,0.12835e-01_rb,0.17266e-01_rb,0.22752e-01_rb,0.29238e-01_rb /) kbo(:,59,11) = (/ & & 0.89562e-02_rb,0.12359e-01_rb,0.16676e-01_rb,0.22030e-01_rb,0.28380e-01_rb /) kbo(:,13,12) = (/ & & 0.46920e+00_rb,0.46679e+00_rb,0.46431e+00_rb,0.46162e+00_rb,0.45841e+00_rb /) kbo(:,14,12) = (/ & & 0.44978e+00_rb,0.44747e+00_rb,0.44532e+00_rb,0.44273e+00_rb,0.44032e+00_rb /) kbo(:,15,12) = (/ & & 0.42273e+00_rb,0.42112e+00_rb,0.41952e+00_rb,0.41793e+00_rb,0.41621e+00_rb /) kbo(:,16,12) = (/ & & 0.39050e+00_rb,0.38973e+00_rb,0.38909e+00_rb,0.38861e+00_rb,0.38845e+00_rb /) kbo(:,17,12) = (/ & & 0.35567e+00_rb,0.35584e+00_rb,0.35648e+00_rb,0.35743e+00_rb,0.35846e+00_rb /) kbo(:,18,12) = (/ & & 0.32023e+00_rb,0.32164e+00_rb,0.32356e+00_rb,0.32582e+00_rb,0.32854e+00_rb /) kbo(:,19,12) = (/ & & 0.28599e+00_rb,0.28851e+00_rb,0.29173e+00_rb,0.29552e+00_rb,0.30048e+00_rb /) kbo(:,20,12) = (/ & & 0.25381e+00_rb,0.25750e+00_rb,0.26208e+00_rb,0.26822e+00_rb,0.27683e+00_rb /) kbo(:,21,12) = (/ & & 0.22440e+00_rb,0.22938e+00_rb,0.23617e+00_rb,0.24559e+00_rb,0.25713e+00_rb /) kbo(:,22,12) = (/ & & 0.19852e+00_rb,0.20554e+00_rb,0.21550e+00_rb,0.22788e+00_rb,0.24207e+00_rb /) kbo(:,23,12) = (/ & & 0.17693e+00_rb,0.18660e+00_rb,0.19922e+00_rb,0.21410e+00_rb,0.23064e+00_rb /) kbo(:,24,12) = (/ & & 0.16009e+00_rb,0.17209e+00_rb,0.18673e+00_rb,0.20389e+00_rb,0.22257e+00_rb /) kbo(:,25,12) = (/ & & 0.14745e+00_rb,0.16127e+00_rb,0.17793e+00_rb,0.19685e+00_rb,0.21752e+00_rb /) kbo(:,26,12) = (/ & & 0.13842e+00_rb,0.15401e+00_rb,0.17237e+00_rb,0.19313e+00_rb,0.21550e+00_rb /) kbo(:,27,12) = (/ & & 0.13240e+00_rb,0.14962e+00_rb,0.16961e+00_rb,0.19199e+00_rb,0.21568e+00_rb /) kbo(:,28,12) = (/ & & 0.12889e+00_rb,0.14761e+00_rb,0.16917e+00_rb,0.19286e+00_rb,0.21743e+00_rb /) kbo(:,29,12) = (/ & & 0.12765e+00_rb,0.14781e+00_rb,0.17068e+00_rb,0.19527e+00_rb,0.22046e+00_rb /) kbo(:,30,12) = (/ & & 0.12821e+00_rb,0.14964e+00_rb,0.17352e+00_rb,0.19873e+00_rb,0.22436e+00_rb /) kbo(:,31,12) = (/ & & 0.13031e+00_rb,0.15282e+00_rb,0.17742e+00_rb,0.20308e+00_rb,0.22902e+00_rb /) kbo(:,32,12) = (/ & & 0.13354e+00_rb,0.15691e+00_rb,0.18189e+00_rb,0.20791e+00_rb,0.23394e+00_rb /) kbo(:,33,12) = (/ & & 0.13759e+00_rb,0.16158e+00_rb,0.18710e+00_rb,0.21336e+00_rb,0.23934e+00_rb /) kbo(:,34,12) = (/ & & 0.14143e+00_rb,0.16592e+00_rb,0.19181e+00_rb,0.21830e+00_rb,0.24425e+00_rb /) kbo(:,35,12) = (/ & & 0.14328e+00_rb,0.16813e+00_rb,0.19433e+00_rb,0.22092e+00_rb,0.24688e+00_rb /) kbo(:,36,12) = (/ & & 0.14288e+00_rb,0.16783e+00_rb,0.19405e+00_rb,0.22076e+00_rb,0.24684e+00_rb /) kbo(:,37,12) = (/ & & 0.13900e+00_rb,0.16377e+00_rb,0.19000e+00_rb,0.21677e+00_rb,0.24302e+00_rb /) kbo(:,38,12) = (/ & & 0.13517e+00_rb,0.15969e+00_rb,0.18575e+00_rb,0.21259e+00_rb,0.23902e+00_rb /) kbo(:,39,12) = (/ & & 0.13148e+00_rb,0.15568e+00_rb,0.18162e+00_rb,0.20849e+00_rb,0.23507e+00_rb /) kbo(:,40,12) = (/ & & 0.12553e+00_rb,0.14932e+00_rb,0.17494e+00_rb,0.20171e+00_rb,0.22853e+00_rb /) kbo(:,41,12) = (/ & & 0.11952e+00_rb,0.14280e+00_rb,0.16803e+00_rb,0.19459e+00_rb,0.22156e+00_rb /) kbo(:,42,12) = (/ & & 0.11373e+00_rb,0.13636e+00_rb,0.16129e+00_rb,0.18763e+00_rb,0.21464e+00_rb /) kbo(:,43,12) = (/ & & 0.10701e+00_rb,0.12880e+00_rb,0.15312e+00_rb,0.17916e+00_rb,0.20617e+00_rb /) kbo(:,44,12) = (/ & & 0.10010e+00_rb,0.12097e+00_rb,0.14449e+00_rb,0.17006e+00_rb,0.19689e+00_rb /) kbo(:,45,12) = (/ & & 0.93559e-01_rb,0.11347e+00_rb,0.13614e+00_rb,0.16117e+00_rb,0.18764e+00_rb /) kbo(:,46,12) = (/ & & 0.86985e-01_rb,0.10587e+00_rb,0.12759e+00_rb,0.15183e+00_rb,0.17790e+00_rb /) kbo(:,47,12) = (/ & & 0.79918e-01_rb,0.97829e-01_rb,0.11842e+00_rb,0.14172e+00_rb,0.16718e+00_rb /) kbo(:,48,12) = (/ & & 0.73127e-01_rb,0.90284e-01_rb,0.10972e+00_rb,0.13198e+00_rb,0.15666e+00_rb /) kbo(:,49,12) = (/ & & 0.66713e-01_rb,0.83137e-01_rb,0.10149e+00_rb,0.12264e+00_rb,0.14642e+00_rb /) kbo(:,50,12) = (/ & & 0.61017e-01_rb,0.76653e-01_rb,0.94210e-01_rb,0.11429e+00_rb,0.13713e+00_rb /) kbo(:,51,12) = (/ & & 0.55806e-01_rb,0.70628e-01_rb,0.87552e-01_rb,0.10658e+00_rb,0.12844e+00_rb /) kbo(:,52,12) = (/ & & 0.50954e-01_rb,0.64939e-01_rb,0.81159e-01_rb,0.99264e-01_rb,0.12011e+00_rb /) kbo(:,53,12) = (/ & & 0.46354e-01_rb,0.59512e-01_rb,0.74951e-01_rb,0.92338e-01_rb,0.11214e+00_rb /) kbo(:,54,12) = (/ & & 0.42433e-01_rb,0.54851e-01_rb,0.69504e-01_rb,0.86317e-01_rb,0.10517e+00_rb /) kbo(:,55,12) = (/ & & 0.38912e-01_rb,0.50588e-01_rb,0.64547e-01_rb,0.80719e-01_rb,0.98779e-01_rb /) kbo(:,56,12) = (/ & & 0.35756e-01_rb,0.46572e-01_rb,0.59794e-01_rb,0.75289e-01_rb,0.92719e-01_rb /) kbo(:,57,12) = (/ & & 0.32896e-01_rb,0.42811e-01_rb,0.55328e-01_rb,0.70070e-01_rb,0.86950e-01_rb /) kbo(:,58,12) = (/ & & 0.30447e-01_rb,0.39485e-01_rb,0.51269e-01_rb,0.65351e-01_rb,0.81643e-01_rb /) kbo(:,59,12) = (/ & & 0.29531e-01_rb,0.38222e-01_rb,0.49696e-01_rb,0.63514e-01_rb,0.79546e-01_rb /) kbo(:,13,13) = (/ & & 0.87498e+00_rb,0.87414e+00_rb,0.87195e+00_rb,0.86869e+00_rb,0.86437e+00_rb /) kbo(:,14,13) = (/ & & 0.90060e+00_rb,0.89974e+00_rb,0.89734e+00_rb,0.89423e+00_rb,0.88971e+00_rb /) kbo(:,15,13) = (/ & & 0.91305e+00_rb,0.91211e+00_rb,0.91072e+00_rb,0.90792e+00_rb,0.90457e+00_rb /) kbo(:,16,13) = (/ & & 0.91218e+00_rb,0.91265e+00_rb,0.91216e+00_rb,0.91150e+00_rb,0.90908e+00_rb /) kbo(:,17,13) = (/ & & 0.89877e+00_rb,0.90187e+00_rb,0.90414e+00_rb,0.90531e+00_rb,0.90588e+00_rb /) kbo(:,18,13) = (/ & & 0.87718e+00_rb,0.88256e+00_rb,0.88815e+00_rb,0.89271e+00_rb,0.89636e+00_rb /) kbo(:,19,13) = (/ & & 0.84784e+00_rb,0.85815e+00_rb,0.86718e+00_rb,0.87552e+00_rb,0.88267e+00_rb /) kbo(:,20,13) = (/ & & 0.81552e+00_rb,0.83012e+00_rb,0.84379e+00_rb,0.85649e+00_rb,0.86736e+00_rb /) kbo(:,21,13) = (/ & & 0.78216e+00_rb,0.80141e+00_rb,0.82018e+00_rb,0.83708e+00_rb,0.85197e+00_rb /) kbo(:,22,13) = (/ & & 0.75119e+00_rb,0.77590e+00_rb,0.79904e+00_rb,0.81994e+00_rb,0.83870e+00_rb /) kbo(:,23,13) = (/ & & 0.72390e+00_rb,0.75373e+00_rb,0.78079e+00_rb,0.80579e+00_rb,0.82760e+00_rb /) kbo(:,24,13) = (/ & & 0.70145e+00_rb,0.73523e+00_rb,0.76640e+00_rb,0.79456e+00_rb,0.81899e+00_rb /) kbo(:,25,13) = (/ & & 0.68406e+00_rb,0.72159e+00_rb,0.75604e+00_rb,0.78669e+00_rb,0.81321e+00_rb /) kbo(:,26,13) = (/ & & 0.67200e+00_rb,0.71253e+00_rb,0.74968e+00_rb,0.78214e+00_rb,0.81015e+00_rb /) kbo(:,27,13) = (/ & & 0.66447e+00_rb,0.70740e+00_rb,0.74639e+00_rb,0.77996e+00_rb,0.80903e+00_rb /) kbo(:,28,13) = (/ & & 0.66095e+00_rb,0.70586e+00_rb,0.74565e+00_rb,0.77995e+00_rb,0.80973e+00_rb /) kbo(:,29,13) = (/ & & 0.66138e+00_rb,0.70727e+00_rb,0.74725e+00_rb,0.78204e+00_rb,0.81205e+00_rb /) kbo(:,30,13) = (/ & & 0.66437e+00_rb,0.71055e+00_rb,0.75066e+00_rb,0.78572e+00_rb,0.81538e+00_rb /) kbo(:,31,13) = (/ & & 0.66969e+00_rb,0.71558e+00_rb,0.75561e+00_rb,0.79049e+00_rb,0.81954e+00_rb /) kbo(:,32,13) = (/ & & 0.67664e+00_rb,0.72206e+00_rb,0.76182e+00_rb,0.79609e+00_rb,0.82431e+00_rb /) kbo(:,33,13) = (/ & & 0.68486e+00_rb,0.72960e+00_rb,0.76872e+00_rb,0.80214e+00_rb,0.82949e+00_rb /) kbo(:,34,13) = (/ & & 0.69234e+00_rb,0.73624e+00_rb,0.77485e+00_rb,0.80729e+00_rb,0.83397e+00_rb /) kbo(:,35,13) = (/ & & 0.69580e+00_rb,0.73958e+00_rb,0.77791e+00_rb,0.80990e+00_rb,0.83618e+00_rb /) kbo(:,36,13) = (/ & & 0.69461e+00_rb,0.73878e+00_rb,0.77738e+00_rb,0.80959e+00_rb,0.83608e+00_rb /) kbo(:,37,13) = (/ & & 0.68652e+00_rb,0.73194e+00_rb,0.77165e+00_rb,0.80500e+00_rb,0.83229e+00_rb /) kbo(:,38,13) = (/ & & 0.67804e+00_rb,0.72484e+00_rb,0.76560e+00_rb,0.80009e+00_rb,0.82834e+00_rb /) kbo(:,39,13) = (/ & & 0.66970e+00_rb,0.71778e+00_rb,0.75963e+00_rb,0.79504e+00_rb,0.82429e+00_rb /) kbo(:,40,13) = (/ & & 0.65605e+00_rb,0.70590e+00_rb,0.74946e+00_rb,0.78658e+00_rb,0.81742e+00_rb /) kbo(:,41,13) = (/ & & 0.64137e+00_rb,0.69306e+00_rb,0.73837e+00_rb,0.77717e+00_rb,0.80985e+00_rb /) kbo(:,42,13) = (/ & & 0.62638e+00_rb,0.67987e+00_rb,0.72699e+00_rb,0.76756e+00_rb,0.80186e+00_rb /) kbo(:,43,13) = (/ & & 0.60761e+00_rb,0.66320e+00_rb,0.71239e+00_rb,0.75526e+00_rb,0.79130e+00_rb /) kbo(:,44,13) = (/ & & 0.58682e+00_rb,0.64468e+00_rb,0.69616e+00_rb,0.74131e+00_rb,0.77948e+00_rb /) kbo(:,45,13) = (/ & & 0.56554e+00_rb,0.62545e+00_rb,0.67917e+00_rb,0.72630e+00_rb,0.76697e+00_rb /) kbo(:,46,13) = (/ & & 0.54212e+00_rb,0.60419e+00_rb,0.66020e+00_rb,0.70997e+00_rb,0.75300e+00_rb /) kbo(:,47,13) = (/ & & 0.51537e+00_rb,0.57955e+00_rb,0.63814e+00_rb,0.69060e+00_rb,0.73632e+00_rb /) kbo(:,48,13) = (/ & & 0.48823e+00_rb,0.55406e+00_rb,0.61515e+00_rb,0.67007e+00_rb,0.71851e+00_rb /) kbo(:,49,13) = (/ & & 0.46082e+00_rb,0.52769e+00_rb,0.59101e+00_rb,0.64854e+00_rb,0.69978e+00_rb /) kbo(:,50,13) = (/ & & 0.43478e+00_rb,0.50249e+00_rb,0.56761e+00_rb,0.62745e+00_rb,0.68113e+00_rb /) kbo(:,51,13) = (/ & & 0.40951e+00_rb,0.47777e+00_rb,0.54418e+00_rb,0.60613e+00_rb,0.66212e+00_rb /) kbo(:,52,13) = (/ & & 0.38439e+00_rb,0.45288e+00_rb,0.52007e+00_rb,0.58405e+00_rb,0.64238e+00_rb /) kbo(:,53,13) = (/ & & 0.35936e+00_rb,0.42773e+00_rb,0.49564e+00_rb,0.56121e+00_rb,0.62177e+00_rb /) kbo(:,54,13) = (/ & & 0.33659e+00_rb,0.40461e+00_rb,0.47296e+00_rb,0.53959e+00_rb,0.60208e+00_rb /) kbo(:,55,13) = (/ & & 0.31505e+00_rb,0.38259e+00_rb,0.45108e+00_rb,0.51845e+00_rb,0.58256e+00_rb /) kbo(:,56,13) = (/ & & 0.29381e+00_rb,0.36074e+00_rb,0.42910e+00_rb,0.49702e+00_rb,0.56263e+00_rb /) kbo(:,57,13) = (/ & & 0.27284e+00_rb,0.33897e+00_rb,0.40701e+00_rb,0.47542e+00_rb,0.54206e+00_rb /) kbo(:,58,13) = (/ & & 0.25321e+00_rb,0.31859e+00_rb,0.38622e+00_rb,0.45477e+00_rb,0.52205e+00_rb /) kbo(:,59,13) = (/ & & 0.24543e+00_rb,0.31049e+00_rb,0.37793e+00_rb,0.44646e+00_rb,0.51396e+00_rb /) kbo(:,13,14) = (/ & & 0.17373e+01_rb,0.17393e+01_rb,0.17383e+01_rb,0.17344e+01_rb,0.17279e+01_rb /) kbo(:,14,14) = (/ & & 0.18339e+01_rb,0.18343e+01_rb,0.18325e+01_rb,0.18267e+01_rb,0.18189e+01_rb /) kbo(:,15,14) = (/ & & 0.19299e+01_rb,0.19296e+01_rb,0.19248e+01_rb,0.19184e+01_rb,0.19080e+01_rb /) kbo(:,16,14) = (/ & & 0.20259e+01_rb,0.20224e+01_rb,0.20169e+01_rb,0.20066e+01_rb,0.19945e+01_rb /) kbo(:,17,14) = (/ & & 0.21175e+01_rb,0.21127e+01_rb,0.21039e+01_rb,0.20921e+01_rb,0.20768e+01_rb /) kbo(:,18,14) = (/ & & 0.22042e+01_rb,0.21972e+01_rb,0.21859e+01_rb,0.21721e+01_rb,0.21537e+01_rb /) kbo(:,19,14) = (/ & & 0.22848e+01_rb,0.22747e+01_rb,0.22622e+01_rb,0.22448e+01_rb,0.22240e+01_rb /) kbo(:,20,14) = (/ & & 0.23560e+01_rb,0.23462e+01_rb,0.23302e+01_rb,0.23098e+01_rb,0.22867e+01_rb /) kbo(:,21,14) = (/ & & 0.24183e+01_rb,0.24082e+01_rb,0.23905e+01_rb,0.23680e+01_rb,0.23418e+01_rb /) kbo(:,22,14) = (/ & & 0.24717e+01_rb,0.24598e+01_rb,0.24413e+01_rb,0.24169e+01_rb,0.23867e+01_rb /) kbo(:,23,14) = (/ & & 0.25171e+01_rb,0.25034e+01_rb,0.24840e+01_rb,0.24570e+01_rb,0.24242e+01_rb /) kbo(:,24,14) = (/ & & 0.25547e+01_rb,0.25403e+01_rb,0.25194e+01_rb,0.24898e+01_rb,0.24547e+01_rb /) kbo(:,25,14) = (/ & & 0.25855e+01_rb,0.25703e+01_rb,0.25468e+01_rb,0.25156e+01_rb,0.24784e+01_rb /) kbo(:,26,14) = (/ & & 0.26110e+01_rb,0.25944e+01_rb,0.25683e+01_rb,0.25352e+01_rb,0.24957e+01_rb /) kbo(:,27,14) = (/ & & 0.26319e+01_rb,0.26130e+01_rb,0.25843e+01_rb,0.25495e+01_rb,0.25077e+01_rb /) kbo(:,28,14) = (/ & & 0.26480e+01_rb,0.26264e+01_rb,0.25959e+01_rb,0.25590e+01_rb,0.25150e+01_rb /) kbo(:,29,14) = (/ & & 0.26603e+01_rb,0.26355e+01_rb,0.26036e+01_rb,0.25644e+01_rb,0.25186e+01_rb /) kbo(:,30,14) = (/ & & 0.26690e+01_rb,0.26417e+01_rb,0.26076e+01_rb,0.25661e+01_rb,0.25188e+01_rb /) kbo(:,31,14) = (/ & & 0.26742e+01_rb,0.26446e+01_rb,0.26086e+01_rb,0.25648e+01_rb,0.25163e+01_rb /) kbo(:,32,14) = (/ & & 0.26768e+01_rb,0.26452e+01_rb,0.26068e+01_rb,0.25609e+01_rb,0.25113e+01_rb /) kbo(:,33,14) = (/ & & 0.26771e+01_rb,0.26434e+01_rb,0.26028e+01_rb,0.25551e+01_rb,0.25044e+01_rb /) kbo(:,34,14) = (/ & & 0.26762e+01_rb,0.26409e+01_rb,0.25981e+01_rb,0.25494e+01_rb,0.24981e+01_rb /) kbo(:,35,14) = (/ & & 0.26773e+01_rb,0.26407e+01_rb,0.25970e+01_rb,0.25475e+01_rb,0.24957e+01_rb /) kbo(:,36,14) = (/ & & 0.26808e+01_rb,0.26440e+01_rb,0.25999e+01_rb,0.25501e+01_rb,0.24981e+01_rb /) kbo(:,37,14) = (/ & & 0.26888e+01_rb,0.26526e+01_rb,0.26095e+01_rb,0.25599e+01_rb,0.25079e+01_rb /) kbo(:,38,14) = (/ & & 0.26963e+01_rb,0.26609e+01_rb,0.26186e+01_rb,0.25695e+01_rb,0.25177e+01_rb /) kbo(:,39,14) = (/ & & 0.27030e+01_rb,0.26686e+01_rb,0.26272e+01_rb,0.25787e+01_rb,0.25269e+01_rb /) kbo(:,40,14) = (/ & & 0.27118e+01_rb,0.26792e+01_rb,0.26399e+01_rb,0.25927e+01_rb,0.25414e+01_rb /) kbo(:,41,14) = (/ & & 0.27201e+01_rb,0.26898e+01_rb,0.26520e+01_rb,0.26068e+01_rb,0.25561e+01_rb /) kbo(:,42,14) = (/ & & 0.27274e+01_rb,0.27000e+01_rb,0.26636e+01_rb,0.26203e+01_rb,0.25704e+01_rb /) kbo(:,43,14) = (/ & & 0.27341e+01_rb,0.27108e+01_rb,0.26767e+01_rb,0.26357e+01_rb,0.25871e+01_rb /) kbo(:,44,14) = (/ & & 0.27398e+01_rb,0.27209e+01_rb,0.26898e+01_rb,0.26513e+01_rb,0.26050e+01_rb /) kbo(:,45,14) = (/ & & 0.27435e+01_rb,0.27298e+01_rb,0.27021e+01_rb,0.26655e+01_rb,0.26220e+01_rb /) kbo(:,46,14) = (/ & & 0.27454e+01_rb,0.27371e+01_rb,0.27139e+01_rb,0.26799e+01_rb,0.26391e+01_rb /) kbo(:,47,14) = (/ & & 0.27460e+01_rb,0.27424e+01_rb,0.27253e+01_rb,0.26950e+01_rb,0.26569e+01_rb /) kbo(:,48,14) = (/ & & 0.27436e+01_rb,0.27457e+01_rb,0.27342e+01_rb,0.27088e+01_rb,0.26736e+01_rb /) kbo(:,49,14) = (/ & & 0.27370e+01_rb,0.27470e+01_rb,0.27411e+01_rb,0.27207e+01_rb,0.26888e+01_rb /) kbo(:,50,14) = (/ & & 0.27269e+01_rb,0.27459e+01_rb,0.27451e+01_rb,0.27305e+01_rb,0.27022e+01_rb /) kbo(:,51,14) = (/ & & 0.27139e+01_rb,0.27424e+01_rb,0.27470e+01_rb,0.27377e+01_rb,0.27140e+01_rb /) kbo(:,52,14) = (/ & & 0.26965e+01_rb,0.27350e+01_rb,0.27474e+01_rb,0.27429e+01_rb,0.27243e+01_rb /) kbo(:,53,14) = (/ & & 0.26758e+01_rb,0.27241e+01_rb,0.27457e+01_rb,0.27461e+01_rb,0.27331e+01_rb /) kbo(:,54,14) = (/ & & 0.26529e+01_rb,0.27108e+01_rb,0.27417e+01_rb,0.27475e+01_rb,0.27393e+01_rb /) kbo(:,55,14) = (/ & & 0.26271e+01_rb,0.26955e+01_rb,0.27349e+01_rb,0.27476e+01_rb,0.27437e+01_rb /) kbo(:,56,14) = (/ & & 0.25970e+01_rb,0.26775e+01_rb,0.27251e+01_rb,0.27462e+01_rb,0.27464e+01_rb /) kbo(:,57,14) = (/ & & 0.25617e+01_rb,0.26559e+01_rb,0.27125e+01_rb,0.27426e+01_rb,0.27477e+01_rb /) kbo(:,58,14) = (/ & & 0.25247e+01_rb,0.26320e+01_rb,0.26988e+01_rb,0.27363e+01_rb,0.27482e+01_rb /) kbo(:,59,14) = (/ & & 0.25089e+01_rb,0.26212e+01_rb,0.26923e+01_rb,0.27333e+01_rb,0.27480e+01_rb /) kbo(:,13,15) = (/ & & 0.36859e+01_rb,0.36950e+01_rb,0.36942e+01_rb,0.36830e+01_rb,0.36649e+01_rb /) kbo(:,14,15) = (/ & & 0.41563e+01_rb,0.41556e+01_rb,0.41430e+01_rb,0.41233e+01_rb,0.40913e+01_rb /) kbo(:,15,15) = (/ & & 0.46342e+01_rb,0.46206e+01_rb,0.45970e+01_rb,0.45604e+01_rb,0.45153e+01_rb /) kbo(:,16,15) = (/ & & 0.51044e+01_rb,0.50788e+01_rb,0.50384e+01_rb,0.49882e+01_rb,0.49250e+01_rb /) kbo(:,17,15) = (/ & & 0.55612e+01_rb,0.55175e+01_rb,0.54618e+01_rb,0.53932e+01_rb,0.53123e+01_rb /) kbo(:,18,15) = (/ & & 0.59883e+01_rb,0.59323e+01_rb,0.58578e+01_rb,0.57682e+01_rb,0.56700e+01_rb /) kbo(:,19,15) = (/ & & 0.63852e+01_rb,0.63106e+01_rb,0.62177e+01_rb,0.61123e+01_rb,0.59947e+01_rb /) kbo(:,20,15) = (/ & & 0.67473e+01_rb,0.66496e+01_rb,0.65407e+01_rb,0.64159e+01_rb,0.62789e+01_rb /) kbo(:,21,15) = (/ & & 0.70720e+01_rb,0.69522e+01_rb,0.68220e+01_rb,0.66792e+01_rb,0.65258e+01_rb /) kbo(:,22,15) = (/ & & 0.73512e+01_rb,0.72082e+01_rb,0.70565e+01_rb,0.68942e+01_rb,0.67258e+01_rb /) kbo(:,23,15) = (/ & & 0.75866e+01_rb,0.74239e+01_rb,0.72515e+01_rb,0.70718e+01_rb,0.68886e+01_rb /) kbo(:,24,15) = (/ & & 0.77818e+01_rb,0.75993e+01_rb,0.74076e+01_rb,0.72128e+01_rb,0.70154e+01_rb /) kbo(:,25,15) = (/ & & 0.79381e+01_rb,0.77379e+01_rb,0.75298e+01_rb,0.73205e+01_rb,0.71111e+01_rb /) kbo(:,26,15) = (/ & & 0.80556e+01_rb,0.78384e+01_rb,0.76185e+01_rb,0.73961e+01_rb,0.71755e+01_rb /) kbo(:,27,15) = (/ & & 0.81409e+01_rb,0.79095e+01_rb,0.76795e+01_rb,0.74472e+01_rb,0.72174e+01_rb /) kbo(:,28,15) = (/ & & 0.81987e+01_rb,0.79569e+01_rb,0.77176e+01_rb,0.74766e+01_rb,0.72412e+01_rb /) kbo(:,29,15) = (/ & & 0.82302e+01_rb,0.79809e+01_rb,0.77337e+01_rb,0.74875e+01_rb,0.72468e+01_rb /) kbo(:,30,15) = (/ & & 0.82419e+01_rb,0.79875e+01_rb,0.77343e+01_rb,0.74825e+01_rb,0.72390e+01_rb /) kbo(:,31,15) = (/ & & 0.82369e+01_rb,0.79780e+01_rb,0.77201e+01_rb,0.74661e+01_rb,0.72183e+01_rb /) kbo(:,32,15) = (/ & & 0.82187e+01_rb,0.79550e+01_rb,0.76944e+01_rb,0.74386e+01_rb,0.71874e+01_rb /) kbo(:,33,15) = (/ & & 0.81889e+01_rb,0.79220e+01_rb,0.76592e+01_rb,0.74026e+01_rb,0.71493e+01_rb /) kbo(:,34,15) = (/ & & 0.81602e+01_rb,0.78912e+01_rb,0.76262e+01_rb,0.73693e+01_rb,0.71134e+01_rb /) kbo(:,35,15) = (/ & & 0.81506e+01_rb,0.78799e+01_rb,0.76144e+01_rb,0.73562e+01_rb,0.70988e+01_rb /) kbo(:,36,15) = (/ & & 0.81664e+01_rb,0.78930e+01_rb,0.76263e+01_rb,0.73664e+01_rb,0.71072e+01_rb /) kbo(:,37,15) = (/ & & 0.82200e+01_rb,0.79452e+01_rb,0.76751e+01_rb,0.74132e+01_rb,0.71537e+01_rb /) kbo(:,38,15) = (/ & & 0.82730e+01_rb,0.79962e+01_rb,0.77251e+01_rb,0.74606e+01_rb,0.72002e+01_rb /) kbo(:,39,15) = (/ & & 0.83243e+01_rb,0.80459e+01_rb,0.77713e+01_rb,0.75063e+01_rb,0.72452e+01_rb /) kbo(:,40,15) = (/ & & 0.84027e+01_rb,0.81225e+01_rb,0.78456e+01_rb,0.75775e+01_rb,0.73152e+01_rb /) kbo(:,41,15) = (/ & & 0.84834e+01_rb,0.82013e+01_rb,0.79233e+01_rb,0.76507e+01_rb,0.73874e+01_rb /) kbo(:,42,15) = (/ & & 0.85638e+01_rb,0.82794e+01_rb,0.79999e+01_rb,0.77248e+01_rb,0.74594e+01_rb /) kbo(:,43,15) = (/ & & 0.86608e+01_rb,0.83728e+01_rb,0.80910e+01_rb,0.78137e+01_rb,0.75464e+01_rb /) kbo(:,44,15) = (/ & & 0.87658e+01_rb,0.84741e+01_rb,0.81903e+01_rb,0.79102e+01_rb,0.76390e+01_rb /) kbo(:,45,15) = (/ & & 0.88709e+01_rb,0.85747e+01_rb,0.82886e+01_rb,0.80079e+01_rb,0.77318e+01_rb /) kbo(:,46,15) = (/ & & 0.89828e+01_rb,0.86839e+01_rb,0.83945e+01_rb,0.81115e+01_rb,0.78321e+01_rb /) kbo(:,47,15) = (/ & & 0.91067e+01_rb,0.88066e+01_rb,0.85118e+01_rb,0.82270e+01_rb,0.79459e+01_rb /) kbo(:,48,15) = (/ & & 0.92318e+01_rb,0.89292e+01_rb,0.86312e+01_rb,0.83427e+01_rb,0.80595e+01_rb /) kbo(:,49,15) = (/ & & 0.93597e+01_rb,0.90533e+01_rb,0.87516e+01_rb,0.84602e+01_rb,0.81749e+01_rb /) kbo(:,50,15) = (/ & & 0.94828e+01_rb,0.91681e+01_rb,0.88667e+01_rb,0.85700e+01_rb,0.82833e+01_rb /) kbo(:,51,15) = (/ & & 0.96031e+01_rb,0.92821e+01_rb,0.89785e+01_rb,0.86778e+01_rb,0.83878e+01_rb /) kbo(:,52,15) = (/ & & 0.97227e+01_rb,0.93978e+01_rb,0.90892e+01_rb,0.87879e+01_rb,0.84938e+01_rb /) kbo(:,53,15) = (/ & & 0.98436e+01_rb,0.95182e+01_rb,0.92014e+01_rb,0.88988e+01_rb,0.86011e+01_rb /) kbo(:,54,15) = (/ & & 0.99573e+01_rb,0.96274e+01_rb,0.93049e+01_rb,0.90008e+01_rb,0.87001e+01_rb /) kbo(:,55,15) = (/ & & 0.10066e+02_rb,0.97327e+01_rb,0.94075e+01_rb,0.90983e+01_rb,0.87962e+01_rb /) kbo(:,56,15) = (/ & & 0.10177e+02_rb,0.98378e+01_rb,0.95127e+01_rb,0.91960e+01_rb,0.88926e+01_rb /) kbo(:,57,15) = (/ & & 0.10293e+02_rb,0.99462e+01_rb,0.96173e+01_rb,0.92949e+01_rb,0.89909e+01_rb /) kbo(:,58,15) = (/ & & 0.10405e+02_rb,0.10049e+02_rb,0.97160e+01_rb,0.93909e+01_rb,0.90821e+01_rb /) kbo(:,59,15) = (/ & & 0.10450e+02_rb,0.10090e+02_rb,0.97556e+01_rb,0.94305e+01_rb,0.91193e+01_rb /) kbo(:,13,16) = (/ & & 0.50473e+01_rb,0.50398e+01_rb,0.50183e+01_rb,0.49834e+01_rb,0.49369e+01_rb /) kbo(:,14,16) = (/ & & 0.59220e+01_rb,0.58911e+01_rb,0.58423e+01_rb,0.57748e+01_rb,0.56924e+01_rb /) kbo(:,15,16) = (/ & & 0.68737e+01_rb,0.68078e+01_rb,0.67189e+01_rb,0.66072e+01_rb,0.64839e+01_rb /) kbo(:,16,16) = (/ & & 0.78824e+01_rb,0.77694e+01_rb,0.76268e+01_rb,0.74643e+01_rb,0.72894e+01_rb /) kbo(:,17,16) = (/ & & 0.89270e+01_rb,0.87413e+01_rb,0.85370e+01_rb,0.83130e+01_rb,0.80798e+01_rb /) kbo(:,18,16) = (/ & & 0.99711e+01_rb,0.97011e+01_rb,0.94250e+01_rb,0.91345e+01_rb,0.88363e+01_rb /) kbo(:,19,16) = (/ & & 0.10989e+02_rb,0.10627e+02_rb,0.10268e+02_rb,0.99076e+01_rb,0.95430e+01_rb /) kbo(:,20,16) = (/ & & 0.11944e+02_rb,0.11487e+02_rb,0.11042e+02_rb,0.10609e+02_rb,0.10177e+02_rb /) kbo(:,21,16) = (/ & & 0.12817e+02_rb,0.12265e+02_rb,0.11737e+02_rb,0.11232e+02_rb,0.10736e+02_rb /) kbo(:,22,16) = (/ & & 0.13548e+02_rb,0.12914e+02_rb,0.12305e+02_rb,0.11734e+02_rb,0.11183e+02_rb /) kbo(:,23,16) = (/ & & 0.14162e+02_rb,0.13448e+02_rb,0.12773e+02_rb,0.12143e+02_rb,0.11545e+02_rb /) kbo(:,24,16) = (/ & & 0.14655e+02_rb,0.13870e+02_rb,0.13141e+02_rb,0.12464e+02_rb,0.11822e+02_rb /) kbo(:,25,16) = (/ & & 0.15031e+02_rb,0.14189e+02_rb,0.13415e+02_rb,0.12699e+02_rb,0.12023e+02_rb /) kbo(:,26,16) = (/ & & 0.15288e+02_rb,0.14405e+02_rb,0.13595e+02_rb,0.12850e+02_rb,0.12149e+02_rb /) kbo(:,27,16) = (/ & & 0.15452e+02_rb,0.14541e+02_rb,0.13705e+02_rb,0.12937e+02_rb,0.12216e+02_rb /) kbo(:,28,16) = (/ & & 0.15538e+02_rb,0.14608e+02_rb,0.13754e+02_rb,0.12971e+02_rb,0.12237e+02_rb /) kbo(:,29,16) = (/ & & 0.15553e+02_rb,0.14613e+02_rb,0.13748e+02_rb,0.12957e+02_rb,0.12214e+02_rb /) kbo(:,30,16) = (/ & & 0.15516e+02_rb,0.14571e+02_rb,0.13703e+02_rb,0.12907e+02_rb,0.12159e+02_rb /) kbo(:,31,16) = (/ & & 0.15433e+02_rb,0.14488e+02_rb,0.13621e+02_rb,0.12822e+02_rb,0.12076e+02_rb /) kbo(:,32,16) = (/ & & 0.15312e+02_rb,0.14373e+02_rb,0.13511e+02_rb,0.12712e+02_rb,0.11970e+02_rb /) kbo(:,33,16) = (/ & & 0.15164e+02_rb,0.14234e+02_rb,0.13378e+02_rb,0.12584e+02_rb,0.11848e+02_rb /) kbo(:,34,16) = (/ & & 0.15029e+02_rb,0.14108e+02_rb,0.13258e+02_rb,0.12470e+02_rb,0.11741e+02_rb /) kbo(:,35,16) = (/ & & 0.14974e+02_rb,0.14055e+02_rb,0.13205e+02_rb,0.12418e+02_rb,0.11691e+02_rb /) kbo(:,36,16) = (/ & & 0.15011e+02_rb,0.14086e+02_rb,0.13232e+02_rb,0.12441e+02_rb,0.11710e+02_rb /) kbo(:,37,16) = (/ & & 0.15186e+02_rb,0.14243e+02_rb,0.13376e+02_rb,0.12573e+02_rb,0.11831e+02_rb /) kbo(:,38,16) = (/ & & 0.15364e+02_rb,0.14405e+02_rb,0.13523e+02_rb,0.12708e+02_rb,0.11955e+02_rb /) kbo(:,39,16) = (/ & & 0.15541e+02_rb,0.14562e+02_rb,0.13666e+02_rb,0.12840e+02_rb,0.12075e+02_rb /) kbo(:,40,16) = (/ & & 0.15818e+02_rb,0.14814e+02_rb,0.13896e+02_rb,0.13052e+02_rb,0.12271e+02_rb /) kbo(:,41,16) = (/ & & 0.16115e+02_rb,0.15082e+02_rb,0.14138e+02_rb,0.13278e+02_rb,0.12478e+02_rb /) kbo(:,42,16) = (/ & & 0.16420e+02_rb,0.15352e+02_rb,0.14384e+02_rb,0.13504e+02_rb,0.12687e+02_rb /) kbo(:,43,16) = (/ & & 0.16793e+02_rb,0.15690e+02_rb,0.14694e+02_rb,0.13784e+02_rb,0.12952e+02_rb /) kbo(:,44,16) = (/ & & 0.17211e+02_rb,0.16062e+02_rb,0.15031e+02_rb,0.14091e+02_rb,0.13236e+02_rb /) kbo(:,45,16) = (/ & & 0.17640e+02_rb,0.16447e+02_rb,0.15376e+02_rb,0.14411e+02_rb,0.13526e+02_rb /) kbo(:,46,16) = (/ & & 0.18112e+02_rb,0.16870e+02_rb,0.15758e+02_rb,0.14754e+02_rb,0.13842e+02_rb /) kbo(:,47,16) = (/ & & 0.18658e+02_rb,0.17363e+02_rb,0.16197e+02_rb,0.15151e+02_rb,0.14204e+02_rb /) kbo(:,48,16) = (/ & & 0.19225e+02_rb,0.17876e+02_rb,0.16658e+02_rb,0.15564e+02_rb,0.14577e+02_rb /) kbo(:,49,16) = (/ & & 0.19824e+02_rb,0.18409e+02_rb,0.17136e+02_rb,0.15993e+02_rb,0.14967e+02_rb /) kbo(:,50,16) = (/ & & 0.20411e+02_rb,0.18926e+02_rb,0.17606e+02_rb,0.16414e+02_rb,0.15344e+02_rb /) kbo(:,51,16) = (/ & & 0.21005e+02_rb,0.19452e+02_rb,0.18077e+02_rb,0.16838e+02_rb,0.15725e+02_rb /) kbo(:,52,16) = (/ & & 0.21646e+02_rb,0.20001e+02_rb,0.18565e+02_rb,0.17278e+02_rb,0.16117e+02_rb /) kbo(:,53,16) = (/ & & 0.22315e+02_rb,0.20576e+02_rb,0.19072e+02_rb,0.17736e+02_rb,0.16529e+02_rb /) kbo(:,54,16) = (/ & & 0.22958e+02_rb,0.21134e+02_rb,0.19557e+02_rb,0.18172e+02_rb,0.16919e+02_rb /) kbo(:,55,16) = (/ & & 0.23603e+02_rb,0.21694e+02_rb,0.20042e+02_rb,0.18600e+02_rb,0.17305e+02_rb /) kbo(:,56,16) = (/ & & 0.24285e+02_rb,0.22278e+02_rb,0.20543e+02_rb,0.19044e+02_rb,0.17707e+02_rb /) kbo(:,57,16) = (/ & & 0.24997e+02_rb,0.22887e+02_rb,0.21074e+02_rb,0.19504e+02_rb,0.18121e+02_rb /) kbo(:,58,16) = (/ & & 0.25697e+02_rb,0.23494e+02_rb,0.21600e+02_rb,0.19961e+02_rb,0.18525e+02_rb /) kbo(:,59,16) = (/ & & 0.25984e+02_rb,0.23748e+02_rb,0.21819e+02_rb,0.20147e+02_rb,0.18689e+02_rb /) ! ----------------------------------------------------------------- forrefo(:, 1) = (/ 0.106275e-05_rb, 0.104185e-05_rb, 0.420154e-05_rb /) forrefo(:, 2) = (/ 0.154343e-05_rb, 0.653193e-05_rb, 0.174596e-04_rb /) forrefo(:, 3) = (/ 0.348917e-05_rb, 0.108420e-04_rb, 0.540849e-04_rb /) forrefo(:, 4) = (/ 0.145822e-04_rb, 0.156027e-04_rb, 0.881263e-04_rb /) forrefo(:, 5) = (/ 0.220204e-04_rb, 0.819892e-04_rb, 0.817937e-04_rb /) forrefo(:, 6) = (/ 0.447840e-04_rb, 0.121116e-03_rb, 0.932635e-04_rb /) forrefo(:, 7) = (/ 0.166516e-03_rb, 0.147640e-03_rb, 0.754029e-04_rb /) forrefo(:, 8) = (/ 0.234756e-03_rb, 0.145934e-03_rb, 0.771734e-04_rb /) forrefo(:, 9) = (/ 0.289207e-03_rb, 0.146768e-03_rb, 0.677806e-04_rb /) forrefo(:,10) = (/ 0.334959e-03_rb, 0.125513e-03_rb, 0.636648e-04_rb /) forrefo(:,11) = (/ 0.333755e-03_rb, 0.136575e-03_rb, 0.593651e-04_rb /) forrefo(:,12) = (/ 0.340042e-03_rb, 0.116259e-03_rb, 0.595192e-04_rb /) forrefo(:,13) = (/ 0.422470e-03_rb, 0.148691e-03_rb, 0.630266e-04_rb /) forrefo(:,14) = (/ 0.440655e-03_rb, 0.461917e-04_rb, 0.108222e-04_rb /) forrefo(:,15) = (/ 0.486207e-03_rb, 0.428458e-03_rb, 0.108086e-04_rb /) forrefo(:,16) = (/ 0.657463e-03_rb, 0.657446e-03_rb, 0.126190e-04_rb /) ! ----------------------------------------------------------------- ! The array SELFREFO contains the coefficient of the water vapor ! self-continuum (including the energy term). The first index ! refers to temperature in 7.2 degree increments. For instance, ! JT = 1 refers to a temperature of 245.6, JT = 2 refers to 252.8, ! etc. The second index runs over the g-channel (1 to 16). selfrefo(:, 1) = (/ & & 0.331728e-03_rb, 0.287480e-03_rb, 0.249135e-03_rb, 0.215904e-03_rb, 0.187106e-03_rb, & & 0.162149e-03_rb, 0.140520e-03_rb, 0.121777e-03_rb, 0.105534e-03_rb, 0.914573e-04_rb /) selfrefo(:, 2) = (/ & & 0.882628e-03_rb, 0.698914e-03_rb, 0.553439e-03_rb, 0.438244e-03_rb, 0.347026e-03_rb, & & 0.274795e-03_rb, 0.217598e-03_rb, 0.172306e-03_rb, 0.136442e-03_rb, 0.108042e-03_rb /) selfrefo(:, 3) = (/ & & 0.115461e-02_rb, 0.937203e-03_rb, 0.760730e-03_rb, 0.617486e-03_rb, 0.501215e-03_rb, & & 0.406837e-03_rb, 0.330231e-03_rb, 0.268049e-03_rb, 0.217576e-03_rb, 0.176607e-03_rb /) selfrefo(:, 4) = (/ & & 0.103450e-02_rb, 0.960268e-03_rb, 0.891360e-03_rb, 0.827397e-03_rb, 0.768024e-03_rb, & & 0.712911e-03_rb, 0.661754e-03_rb, 0.614267e-03_rb, 0.570188e-03_rb, 0.529272e-03_rb /) selfrefo(:, 5) = (/ & & 0.289040e-02_rb, 0.240129e-02_rb, 0.199495e-02_rb, 0.165737e-02_rb, 0.137692e-02_rb, & & 0.114392e-02_rb, 0.950351e-03_rb, 0.789535e-03_rb, 0.655933e-03_rb, 0.544938e-03_rb /) selfrefo(:, 6) = (/ & & 0.361772e-02_rb, 0.306611e-02_rb, 0.259861e-02_rb, 0.220239e-02_rb, 0.186659e-02_rb, & & 0.158198e-02_rb, 0.134077e-02_rb, 0.113634e-02_rb, 0.963078e-03_rb, 0.816234e-03_rb /) selfrefo(:, 7) = (/ & & 0.329878e-02_rb, 0.318245e-02_rb, 0.307021e-02_rb, 0.296194e-02_rb, 0.285749e-02_rb, & & 0.275671e-02_rb, 0.265950e-02_rb, 0.256571e-02_rb, 0.247522e-02_rb, 0.238793e-02_rb /) selfrefo(:, 8) = (/ & & 0.293562e-02_rb, 0.300077e-02_rb, 0.306737e-02_rb, 0.313544e-02_rb, 0.320503e-02_rb, & & 0.327615e-02_rb, 0.334886e-02_rb, 0.342318e-02_rb, 0.349915e-02_rb, 0.357680e-02_rb /) selfrefo(:, 9) = (/ & & 0.281453e-02_rb, 0.295894e-02_rb, 0.311076e-02_rb, 0.327038e-02_rb, 0.343818e-02_rb, & & 0.361459e-02_rb, 0.380006e-02_rb, 0.399504e-02_rb, 0.420002e-02_rb, 0.441553e-02_rb /) selfrefo(:,10) = (/ & & 0.239488e-02_rb, 0.262487e-02_rb, 0.287696e-02_rb, 0.315325e-02_rb, 0.345607e-02_rb, & & 0.378798e-02_rb, 0.415176e-02_rb, 0.455048e-02_rb, 0.498749e-02_rb, 0.546647e-02_rb /) selfrefo(:,11) = (/ & & 0.271001e-02_rb, 0.292235e-02_rb, 0.315134e-02_rb, 0.339826e-02_rb, 0.366453e-02_rb, & & 0.395167e-02_rb, 0.426131e-02_rb, 0.459521e-02_rb, 0.495527e-02_rb, 0.534354e-02_rb /) selfrefo(:,12) = (/ & & 0.206702e-02_rb, 0.232254e-02_rb, 0.260966e-02_rb, 0.293226e-02_rb, 0.329475e-02_rb, & & 0.370204e-02_rb, 0.415969e-02_rb, 0.467391e-02_rb, 0.525169e-02_rb, 0.590090e-02_rb /) selfrefo(:,13) = (/ & & 0.227023e-02_rb, 0.257331e-02_rb, 0.291685e-02_rb, 0.330626e-02_rb, 0.374766e-02_rb, & & 0.424799e-02_rb, 0.481511e-02_rb, 0.545794e-02_rb, 0.618660e-02_rb, 0.701253e-02_rb /) selfrefo(:,14) = (/ & & 0.851078e-03_rb, 0.111512e-02_rb, 0.146109e-02_rb, 0.191439e-02_rb, 0.250832e-02_rb, & & 0.328653e-02_rb, 0.430617e-02_rb, 0.564215e-02_rb, 0.739261e-02_rb, 0.968616e-02_rb /) selfrefo(:,15) = (/ & & 0.742711e-02_rb, 0.721347e-02_rb, 0.700598e-02_rb, 0.680446e-02_rb, 0.660873e-02_rb, & & 0.641863e-02_rb, 0.623400e-02_rb, 0.605468e-02_rb, 0.588052e-02_rb, 0.571137e-02_rb /) selfrefo(:,16) = (/ & & 0.107170e-01_rb, 0.101913e-01_rb, 0.969138e-02_rb, 0.921599e-02_rb, 0.876392e-02_rb, & & 0.833402e-02_rb, 0.792521e-02_rb, 0.753646e-02_rb, 0.716677e-02_rb, 0.681522e-02_rb /) end subroutine sw_kgb19 ! ************************************************************************** subroutine sw_kgb20 ! ************************************************************************** use parkind, only : im => kind_im, rb => kind_rb use rrsw_kg20, only : kao, kbo, selfrefo, forrefo, sfluxrefo, & absch4o, rayl implicit none save ! Kurucz solar source function sfluxrefo(:) = (/ & & 9.34081_rb , 8.93720_rb , 8.19346_rb , 7.39196_rb , & & 6.12127_rb , 5.23956_rb , 4.24941_rb , 3.20013_rb , & & 2.16047_rb , 0.234509_rb , 0.194593_rb , 0.151512_rb , & & 0.110315_rb, 7.09959e-02_rb, 2.70573e-02_rb, 3.36042e-03_rb /) absch4o(:) = (/ & & 1.01381e-03_rb,6.33692e-03_rb,1.94185e-02_rb,4.83210e-02_rb, & & 2.36574e-03_rb,6.61973e-04_rb,5.64552e-04_rb,2.83183e-04_rb, & & 7.43623e-05_rb,8.90159e-07_rb,6.98728e-07_rb,6.51832e-08_rb, & & 2.96619e-08_rb, 0._rb, 0._rb, 0._rb /) ! Rayleigh extinction coefficient at v = 5670 cm-1. rayl = 4.12e-09_rb ! ------------------------------------------------------------------ ! The array KAO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels> ~100mb, temperatures, and binary ! species parameters (see taumol.f for definition). The first ! index in the array, JS, runs from 1 to 9, and corresponds to ! different values of the binary species parameter. For instance, ! JS=1 refers to dry air, JS = 2 corresponds to the paramter value 1/8, ! JS = 3 corresponds to the parameter value 2/8, etc. The second index ! in the array, JT, which runs from 1 to 5, corresponds to different ! temperatures. More specifically, JT = 3 means that the data are for ! the reference temperature TREF for this pressure level, JT = 2 refers ! to TREF-15, JT = 1 is for TREF-30, JT = 4 is for TREF+15, and JT = 5 ! is for TREF+30. The third index, JP, runs from 1 to 13 and refers ! to the JPth reference pressure level (see taumol.f for these levels ! in mb). The fourth index, IG, goes from 1 to 16, and indicates ! which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kao(:, 1, 1) = (/ & & 0.78383e-06_rb,0.86220e-06_rb,0.95359e-06_rb,0.10590e-05_rb,0.11782e-05_rb /) kao(:, 2, 1) = (/ & & 0.65040e-06_rb,0.72510e-06_rb,0.81318e-06_rb,0.90059e-06_rb,0.99786e-06_rb /) kao(:, 3, 1) = (/ & & 0.58072e-06_rb,0.65888e-06_rb,0.74265e-06_rb,0.81854e-06_rb,0.90645e-06_rb /) kao(:, 4, 1) = (/ & & 0.53601e-06_rb,0.60765e-06_rb,0.68088e-06_rb,0.75741e-06_rb,0.83801e-06_rb /) kao(:, 5, 1) = (/ & & 0.50142e-06_rb,0.56951e-06_rb,0.64028e-06_rb,0.71944e-06_rb,0.79813e-06_rb /) kao(:, 6, 1) = (/ & & 0.47164e-06_rb,0.54008e-06_rb,0.61040e-06_rb,0.68006e-06_rb,0.75034e-06_rb /) kao(:, 7, 1) = (/ & & 0.49337e-06_rb,0.56178e-06_rb,0.62215e-06_rb,0.69127e-06_rb,0.76060e-06_rb /) kao(:, 8, 1) = (/ & & 0.61581e-06_rb,0.70117e-06_rb,0.78942e-06_rb,0.87145e-06_rb,0.94647e-06_rb /) kao(:, 9, 1) = (/ & & 0.14154e-05_rb,0.15754e-05_rb,0.17261e-05_rb,0.18739e-05_rb,0.19774e-05_rb /) kao(:,10, 1) = (/ & & 0.34186e-05_rb,0.37012e-05_rb,0.39602e-05_rb,0.42235e-05_rb,0.44256e-05_rb /) kao(:,11, 1) = (/ & & 0.38574e-05_rb,0.42080e-05_rb,0.44701e-05_rb,0.47454e-05_rb,0.50002e-05_rb /) kao(:,12, 1) = (/ & & 0.35794e-05_rb,0.38686e-05_rb,0.41443e-05_rb,0.43939e-05_rb,0.46500e-05_rb /) kao(:,13, 1) = (/ & & 0.29586e-05_rb,0.31938e-05_rb,0.34167e-05_rb,0.36253e-05_rb,0.38250e-05_rb /) kao(:, 1, 2) = (/ & & 0.57098e-05_rb,0.64630e-05_rb,0.73117e-05_rb,0.82436e-05_rb,0.91947e-05_rb /) kao(:, 2, 2) = (/ & & 0.46384e-05_rb,0.53125e-05_rb,0.60301e-05_rb,0.68028e-05_rb,0.75824e-05_rb /) kao(:, 3, 2) = (/ & & 0.40657e-05_rb,0.46486e-05_rb,0.52459e-05_rb,0.58955e-05_rb,0.65546e-05_rb /) kao(:, 4, 2) = (/ & & 0.38895e-05_rb,0.44258e-05_rb,0.49759e-05_rb,0.55663e-05_rb,0.61702e-05_rb /) kao(:, 5, 2) = (/ & & 0.38971e-05_rb,0.44359e-05_rb,0.49933e-05_rb,0.55523e-05_rb,0.61234e-05_rb /) kao(:, 6, 2) = (/ & & 0.39532e-05_rb,0.44644e-05_rb,0.49734e-05_rb,0.54875e-05_rb,0.60102e-05_rb /) kao(:, 7, 2) = (/ & & 0.41068e-05_rb,0.45832e-05_rb,0.50698e-05_rb,0.55521e-05_rb,0.60175e-05_rb /) kao(:, 8, 2) = (/ & & 0.47922e-05_rb,0.52156e-05_rb,0.56817e-05_rb,0.61576e-05_rb,0.66313e-05_rb /) kao(:, 9, 2) = (/ & & 0.83199e-05_rb,0.88317e-05_rb,0.93688e-05_rb,0.99754e-05_rb,0.10620e-04_rb /) kao(:,10, 2) = (/ & & 0.16836e-04_rb,0.18526e-04_rb,0.19887e-04_rb,0.21168e-04_rb,0.22104e-04_rb /) kao(:,11, 2) = (/ & & 0.18882e-04_rb,0.21005e-04_rb,0.22896e-04_rb,0.24777e-04_rb,0.26115e-04_rb /) kao(:,12, 2) = (/ & & 0.17744e-04_rb,0.19780e-04_rb,0.21600e-04_rb,0.23523e-04_rb,0.25128e-04_rb /) kao(:,13, 2) = (/ & & 0.14736e-04_rb,0.16356e-04_rb,0.17955e-04_rb,0.19533e-04_rb,0.20861e-04_rb /) kao(:, 1, 3) = (/ & & 0.41776e-04_rb,0.48150e-04_rb,0.55097e-04_rb,0.62661e-04_rb,0.70920e-04_rb /) kao(:, 2, 3) = (/ & & 0.33909e-04_rb,0.39176e-04_rb,0.44622e-04_rb,0.50754e-04_rb,0.57336e-04_rb /) kao(:, 3, 3) = (/ & & 0.27438e-04_rb,0.31473e-04_rb,0.36122e-04_rb,0.41134e-04_rb,0.46456e-04_rb /) kao(:, 4, 3) = (/ & & 0.23222e-04_rb,0.26535e-04_rb,0.30141e-04_rb,0.34099e-04_rb,0.38416e-04_rb /) kao(:, 5, 3) = (/ & & 0.21114e-04_rb,0.23888e-04_rb,0.26883e-04_rb,0.30340e-04_rb,0.33785e-04_rb /) kao(:, 6, 3) = (/ & & 0.20750e-04_rb,0.22926e-04_rb,0.25536e-04_rb,0.28492e-04_rb,0.31676e-04_rb /) kao(:, 7, 3) = (/ & & 0.21584e-04_rb,0.24112e-04_rb,0.26872e-04_rb,0.29794e-04_rb,0.32940e-04_rb /) kao(:, 8, 3) = (/ & & 0.24194e-04_rb,0.26981e-04_rb,0.30137e-04_rb,0.33546e-04_rb,0.37182e-04_rb /) kao(:, 9, 3) = (/ & & 0.37461e-04_rb,0.42158e-04_rb,0.46718e-04_rb,0.51048e-04_rb,0.55154e-04_rb /) kao(:,10, 3) = (/ & & 0.72391e-04_rb,0.77164e-04_rb,0.84016e-04_rb,0.89658e-04_rb,0.95511e-04_rb /) kao(:,11, 3) = (/ & & 0.91736e-04_rb,0.99107e-04_rb,0.10463e-03_rb,0.10952e-03_rb,0.11549e-03_rb /) kao(:,12, 3) = (/ & & 0.91200e-04_rb,0.98812e-04_rb,0.10432e-03_rb,0.10893e-03_rb,0.11349e-03_rb /) kao(:,13, 3) = (/ & & 0.76217e-04_rb,0.82702e-04_rb,0.87500e-04_rb,0.91349e-04_rb,0.95349e-04_rb /) kao(:, 1, 4) = (/ & & 0.71705e-03_rb,0.82743e-03_rb,0.94700e-03_rb,0.10670e-02_rb,0.11902e-02_rb /) kao(:, 2, 4) = (/ & & 0.57909e-03_rb,0.67096e-03_rb,0.76724e-03_rb,0.86582e-03_rb,0.97167e-03_rb /) kao(:, 3, 4) = (/ & & 0.44771e-03_rb,0.51997e-03_rb,0.59861e-03_rb,0.67967e-03_rb,0.76676e-03_rb /) kao(:, 4, 4) = (/ & & 0.34085e-03_rb,0.39833e-03_rb,0.46226e-03_rb,0.52889e-03_rb,0.60008e-03_rb /) kao(:, 5, 4) = (/ & & 0.26678e-03_rb,0.31234e-03_rb,0.36341e-03_rb,0.41663e-03_rb,0.47418e-03_rb /) kao(:, 6, 4) = (/ & & 0.20903e-03_rb,0.24718e-03_rb,0.28922e-03_rb,0.33353e-03_rb,0.38176e-03_rb /) kao(:, 7, 4) = (/ & & 0.17173e-03_rb,0.20330e-03_rb,0.23711e-03_rb,0.27401e-03_rb,0.31445e-03_rb /) kao(:, 8, 4) = (/ & & 0.16722e-03_rb,0.19396e-03_rb,0.22307e-03_rb,0.25347e-03_rb,0.28561e-03_rb /) kao(:, 9, 4) = (/ & & 0.25043e-03_rb,0.28824e-03_rb,0.32547e-03_rb,0.36193e-03_rb,0.39806e-03_rb /) kao(:,10, 4) = (/ & & 0.43323e-03_rb,0.48667e-03_rb,0.53462e-03_rb,0.57879e-03_rb,0.62040e-03_rb /) kao(:,11, 4) = (/ & & 0.47719e-03_rb,0.52271e-03_rb,0.56402e-03_rb,0.60388e-03_rb,0.63520e-03_rb /) kao(:,12, 4) = (/ & & 0.45061e-03_rb,0.49014e-03_rb,0.52391e-03_rb,0.55276e-03_rb,0.57760e-03_rb /) kao(:,13, 4) = (/ & & 0.37664e-03_rb,0.40952e-03_rb,0.43690e-03_rb,0.46055e-03_rb,0.48018e-03_rb /) kao(:, 1, 5) = (/ & & 0.66466e-02_rb,0.68686e-02_rb,0.70897e-02_rb,0.73019e-02_rb,0.74914e-02_rb /) kao(:, 2, 5) = (/ & & 0.54023e-02_rb,0.56010e-02_rb,0.58008e-02_rb,0.59987e-02_rb,0.61685e-02_rb /) kao(:, 3, 5) = (/ & & 0.43218e-02_rb,0.45127e-02_rb,0.46848e-02_rb,0.48647e-02_rb,0.50267e-02_rb /) kao(:, 4, 5) = (/ & & 0.34639e-02_rb,0.36473e-02_rb,0.37951e-02_rb,0.39570e-02_rb,0.41049e-02_rb /) kao(:, 5, 5) = (/ & & 0.27745e-02_rb,0.29370e-02_rb,0.30754e-02_rb,0.32148e-02_rb,0.33492e-02_rb /) kao(:, 6, 5) = (/ & & 0.22020e-02_rb,0.23520e-02_rb,0.24836e-02_rb,0.25965e-02_rb,0.27119e-02_rb /) kao(:, 7, 5) = (/ & & 0.17624e-02_rb,0.18963e-02_rb,0.20161e-02_rb,0.21153e-02_rb,0.22116e-02_rb /) kao(:, 8, 5) = (/ & & 0.14169e-02_rb,0.15332e-02_rb,0.16350e-02_rb,0.17231e-02_rb,0.18121e-02_rb /) kao(:, 9, 5) = (/ & & 0.13030e-02_rb,0.13904e-02_rb,0.14690e-02_rb,0.15500e-02_rb,0.16275e-02_rb /) kao(:,10, 5) = (/ & & 0.17155e-02_rb,0.18169e-02_rb,0.18943e-02_rb,0.19620e-02_rb,0.20215e-02_rb /) kao(:,11, 5) = (/ & & 0.17156e-02_rb,0.17808e-02_rb,0.18419e-02_rb,0.18925e-02_rb,0.19313e-02_rb /) kao(:,12, 5) = (/ & & 0.15269e-02_rb,0.15811e-02_rb,0.16283e-02_rb,0.16686e-02_rb,0.17061e-02_rb /) kao(:,13, 5) = (/ & & 0.12768e-02_rb,0.13207e-02_rb,0.13555e-02_rb,0.13924e-02_rb,0.14234e-02_rb /) kao(:, 1, 6) = (/ & & 0.19191e-01_rb,0.19463e-01_rb,0.19692e-01_rb,0.19900e-01_rb,0.20112e-01_rb /) kao(:, 2, 6) = (/ & & 0.15967e-01_rb,0.16219e-01_rb,0.16426e-01_rb,0.16613e-01_rb,0.16805e-01_rb /) kao(:, 3, 6) = (/ & & 0.13186e-01_rb,0.13411e-01_rb,0.13614e-01_rb,0.13785e-01_rb,0.13944e-01_rb /) kao(:, 4, 6) = (/ & & 0.10935e-01_rb,0.11131e-01_rb,0.11318e-01_rb,0.11475e-01_rb,0.11620e-01_rb /) kao(:, 5, 6) = (/ & & 0.90541e-02_rb,0.92344e-02_rb,0.94035e-02_rb,0.95537e-02_rb,0.96862e-02_rb /) kao(:, 6, 6) = (/ & & 0.74724e-02_rb,0.76320e-02_rb,0.77794e-02_rb,0.79294e-02_rb,0.80528e-02_rb /) kao(:, 7, 6) = (/ & & 0.61183e-02_rb,0.62644e-02_rb,0.63961e-02_rb,0.65303e-02_rb,0.66478e-02_rb /) kao(:, 8, 6) = (/ & & 0.50638e-02_rb,0.51984e-02_rb,0.53222e-02_rb,0.54412e-02_rb,0.55465e-02_rb /) kao(:, 9, 6) = (/ & & 0.42870e-02_rb,0.44009e-02_rb,0.45109e-02_rb,0.45976e-02_rb,0.46796e-02_rb /) kao(:,10, 6) = (/ & & 0.45239e-02_rb,0.46073e-02_rb,0.46968e-02_rb,0.47979e-02_rb,0.48956e-02_rb /) kao(:,11, 6) = (/ & & 0.44089e-02_rb,0.45006e-02_rb,0.45881e-02_rb,0.46721e-02_rb,0.48015e-02_rb /) kao(:,12, 6) = (/ & & 0.39598e-02_rb,0.40290e-02_rb,0.41108e-02_rb,0.41899e-02_rb,0.42672e-02_rb /) kao(:,13, 6) = (/ & & 0.33425e-02_rb,0.34148e-02_rb,0.34808e-02_rb,0.35405e-02_rb,0.35983e-02_rb /) kao(:, 1, 7) = (/ & & 0.50165e-01_rb,0.50343e-01_rb,0.50452e-01_rb,0.50424e-01_rb,0.50329e-01_rb /) kao(:, 2, 7) = (/ & & 0.42723e-01_rb,0.42880e-01_rb,0.42939e-01_rb,0.42910e-01_rb,0.42861e-01_rb /) kao(:, 3, 7) = (/ & & 0.36117e-01_rb,0.36255e-01_rb,0.36301e-01_rb,0.36294e-01_rb,0.36288e-01_rb /) kao(:, 4, 7) = (/ & & 0.30585e-01_rb,0.30720e-01_rb,0.30787e-01_rb,0.30816e-01_rb,0.30842e-01_rb /) kao(:, 5, 7) = (/ & & 0.25879e-01_rb,0.26029e-01_rb,0.26116e-01_rb,0.26179e-01_rb,0.26225e-01_rb /) kao(:, 6, 7) = (/ & & 0.21822e-01_rb,0.21978e-01_rb,0.22094e-01_rb,0.22178e-01_rb,0.22244e-01_rb /) kao(:, 7, 7) = (/ & & 0.18304e-01_rb,0.18476e-01_rb,0.18606e-01_rb,0.18705e-01_rb,0.18780e-01_rb /) kao(:, 8, 7) = (/ & & 0.15224e-01_rb,0.15394e-01_rb,0.15519e-01_rb,0.15619e-01_rb,0.15690e-01_rb /) kao(:, 9, 7) = (/ & & 0.12835e-01_rb,0.13029e-01_rb,0.13169e-01_rb,0.13281e-01_rb,0.13369e-01_rb /) kao(:,10, 7) = (/ & & 0.11632e-01_rb,0.11714e-01_rb,0.11760e-01_rb,0.11776e-01_rb,0.11806e-01_rb /) kao(:,11, 7) = (/ & & 0.11170e-01_rb,0.11252e-01_rb,0.11288e-01_rb,0.11357e-01_rb,0.11397e-01_rb /) kao(:,12, 7) = (/ & & 0.10404e-01_rb,0.10533e-01_rb,0.10705e-01_rb,0.10833e-01_rb,0.10947e-01_rb /) kao(:,13, 7) = (/ & & 0.91041e-02_rb,0.92674e-02_rb,0.94068e-02_rb,0.95412e-02_rb,0.96769e-02_rb /) kao(:, 1, 8) = (/ & & 0.14527e+00_rb,0.14483e+00_rb,0.14432e+00_rb,0.14389e+00_rb,0.14349e+00_rb /) kao(:, 2, 8) = (/ & & 0.12739e+00_rb,0.12702e+00_rb,0.12661e+00_rb,0.12624e+00_rb,0.12584e+00_rb /) kao(:, 3, 8) = (/ & & 0.11091e+00_rb,0.11058e+00_rb,0.11024e+00_rb,0.10990e+00_rb,0.10953e+00_rb /) kao(:, 4, 8) = (/ & & 0.96590e-01_rb,0.96335e-01_rb,0.96105e-01_rb,0.95818e-01_rb,0.95530e-01_rb /) kao(:, 5, 8) = (/ & & 0.83799e-01_rb,0.83708e-01_rb,0.83572e-01_rb,0.83347e-01_rb,0.83126e-01_rb /) kao(:, 6, 8) = (/ & & 0.72369e-01_rb,0.72388e-01_rb,0.72289e-01_rb,0.72143e-01_rb,0.71981e-01_rb /) kao(:, 7, 8) = (/ & & 0.62158e-01_rb,0.62247e-01_rb,0.62185e-01_rb,0.62111e-01_rb,0.62007e-01_rb /) kao(:, 8, 8) = (/ & & 0.52998e-01_rb,0.53142e-01_rb,0.53162e-01_rb,0.53154e-01_rb,0.53101e-01_rb /) kao(:, 9, 8) = (/ & & 0.44776e-01_rb,0.44873e-01_rb,0.44920e-01_rb,0.44946e-01_rb,0.44885e-01_rb /) kao(:,10, 8) = (/ & & 0.38237e-01_rb,0.38514e-01_rb,0.38716e-01_rb,0.38877e-01_rb,0.38966e-01_rb /) kao(:,11, 8) = (/ & & 0.33511e-01_rb,0.33721e-01_rb,0.33843e-01_rb,0.33840e-01_rb,0.33839e-01_rb /) kao(:,12, 8) = (/ & & 0.29704e-01_rb,0.29825e-01_rb,0.29808e-01_rb,0.29787e-01_rb,0.29794e-01_rb /) kao(:,13, 8) = (/ & & 0.25973e-01_rb,0.26004e-01_rb,0.26032e-01_rb,0.26023e-01_rb,0.26107e-01_rb /) kao(:, 1, 9) = (/ & & 0.56699e+00_rb,0.56615e+00_rb,0.56479e+00_rb,0.56318e+00_rb,0.56135e+00_rb /) kao(:, 2, 9) = (/ & & 0.53130e+00_rb,0.53096e+00_rb,0.53038e+00_rb,0.52953e+00_rb,0.52828e+00_rb /) kao(:, 3, 9) = (/ & & 0.48947e+00_rb,0.48989e+00_rb,0.48991e+00_rb,0.48970e+00_rb,0.48916e+00_rb /) kao(:, 4, 9) = (/ & & 0.44646e+00_rb,0.44756e+00_rb,0.44841e+00_rb,0.44893e+00_rb,0.44859e+00_rb /) kao(:, 5, 9) = (/ & & 0.40428e+00_rb,0.40594e+00_rb,0.40746e+00_rb,0.40811e+00_rb,0.40825e+00_rb /) kao(:, 6, 9) = (/ & & 0.36305e+00_rb,0.36545e+00_rb,0.36730e+00_rb,0.36814e+00_rb,0.36854e+00_rb /) kao(:, 7, 9) = (/ & & 0.32383e+00_rb,0.32659e+00_rb,0.32849e+00_rb,0.32954e+00_rb,0.33028e+00_rb /) kao(:, 8, 9) = (/ & & 0.28691e+00_rb,0.28966e+00_rb,0.29156e+00_rb,0.29286e+00_rb,0.29379e+00_rb /) kao(:, 9, 9) = (/ & & 0.25109e+00_rb,0.25404e+00_rb,0.25607e+00_rb,0.25752e+00_rb,0.25870e+00_rb /) kao(:,10, 9) = (/ & & 0.21600e+00_rb,0.21860e+00_rb,0.22047e+00_rb,0.22164e+00_rb,0.22251e+00_rb /) kao(:,11, 9) = (/ & & 0.19149e+00_rb,0.19387e+00_rb,0.19567e+00_rb,0.19725e+00_rb,0.19809e+00_rb /) kao(:,12, 9) = (/ & & 0.16914e+00_rb,0.17134e+00_rb,0.17303e+00_rb,0.17407e+00_rb,0.17494e+00_rb /) kao(:,13, 9) = (/ & & 0.14841e+00_rb,0.15027e+00_rb,0.15244e+00_rb,0.15403e+00_rb,0.15523e+00_rb /) kao(:, 1,10) = (/ & & 0.14885e+01_rb,0.14756e+01_rb,0.14663e+01_rb,0.14567e+01_rb,0.14479e+01_rb /) kao(:, 2,10) = (/ & & 0.14911e+01_rb,0.14850e+01_rb,0.14762e+01_rb,0.14677e+01_rb,0.14597e+01_rb /) kao(:, 3,10) = (/ & & 0.14749e+01_rb,0.14716e+01_rb,0.14663e+01_rb,0.14579e+01_rb,0.14502e+01_rb /) kao(:, 4,10) = (/ & & 0.14314e+01_rb,0.14303e+01_rb,0.14232e+01_rb,0.14150e+01_rb,0.14115e+01_rb /) kao(:, 5,10) = (/ & & 0.13616e+01_rb,0.13604e+01_rb,0.13539e+01_rb,0.13506e+01_rb,0.13501e+01_rb /) kao(:, 6,10) = (/ & & 0.12710e+01_rb,0.12700e+01_rb,0.12670e+01_rb,0.12702e+01_rb,0.12745e+01_rb /) kao(:, 7,10) = (/ & & 0.11674e+01_rb,0.11690e+01_rb,0.11727e+01_rb,0.11812e+01_rb,0.11854e+01_rb /) kao(:, 8,10) = (/ & & 0.10584e+01_rb,0.10652e+01_rb,0.10757e+01_rb,0.10857e+01_rb,0.10906e+01_rb /) kao(:, 9,10) = (/ & & 0.95450e+00_rb,0.96414e+00_rb,0.97673e+00_rb,0.98621e+00_rb,0.99187e+00_rb /) kao(:,10,10) = (/ & & 0.83626e+00_rb,0.84690e+00_rb,0.85901e+00_rb,0.86824e+00_rb,0.87535e+00_rb /) kao(:,11,10) = (/ & & 0.73738e+00_rb,0.74729e+00_rb,0.75610e+00_rb,0.75994e+00_rb,0.76481e+00_rb /) kao(:,12,10) = (/ & & 0.66891e+00_rb,0.67622e+00_rb,0.68092e+00_rb,0.68498e+00_rb,0.68877e+00_rb /) kao(:,13,10) = (/ & & 0.58616e+00_rb,0.59614e+00_rb,0.59749e+00_rb,0.60310e+00_rb,0.60445e+00_rb /) kao(:, 1,11) = (/ & & 0.20080e+01_rb,0.19998e+01_rb,0.19844e+01_rb,0.19679e+01_rb,0.19504e+01_rb /) kao(:, 2,11) = (/ & & 0.20896e+01_rb,0.20752e+01_rb,0.20596e+01_rb,0.20445e+01_rb,0.20293e+01_rb /) kao(:, 3,11) = (/ & & 0.21262e+01_rb,0.21143e+01_rb,0.21043e+01_rb,0.20968e+01_rb,0.20862e+01_rb /) kao(:, 4,11) = (/ & & 0.21310e+01_rb,0.21263e+01_rb,0.21243e+01_rb,0.21203e+01_rb,0.21144e+01_rb /) kao(:, 5,11) = (/ & & 0.21041e+01_rb,0.21063e+01_rb,0.21071e+01_rb,0.21077e+01_rb,0.21021e+01_rb /) kao(:, 6,11) = (/ & & 0.20447e+01_rb,0.20491e+01_rb,0.20534e+01_rb,0.20532e+01_rb,0.20477e+01_rb /) kao(:, 7,11) = (/ & & 0.19487e+01_rb,0.19563e+01_rb,0.19608e+01_rb,0.19593e+01_rb,0.19591e+01_rb /) kao(:, 8,11) = (/ & & 0.18239e+01_rb,0.18317e+01_rb,0.18359e+01_rb,0.18391e+01_rb,0.18451e+01_rb /) kao(:, 9,11) = (/ & & 0.16772e+01_rb,0.16879e+01_rb,0.16955e+01_rb,0.17047e+01_rb,0.17179e+01_rb /) kao(:,10,11) = (/ & & 0.15007e+01_rb,0.15184e+01_rb,0.15343e+01_rb,0.15540e+01_rb,0.15756e+01_rb /) kao(:,11,11) = (/ & & 0.13041e+01_rb,0.13245e+01_rb,0.13445e+01_rb,0.13685e+01_rb,0.13888e+01_rb /) kao(:,12,11) = (/ & & 0.11590e+01_rb,0.11749e+01_rb,0.11906e+01_rb,0.12046e+01_rb,0.12212e+01_rb /) kao(:,13,11) = (/ & & 0.10681e+01_rb,0.10905e+01_rb,0.11017e+01_rb,0.10997e+01_rb,0.11116e+01_rb /) kao(:, 1,12) = (/ & & 0.26762e+01_rb,0.26701e+01_rb,0.26710e+01_rb,0.26742e+01_rb,0.26733e+01_rb /) kao(:, 2,12) = (/ & & 0.28804e+01_rb,0.28775e+01_rb,0.28798e+01_rb,0.28773e+01_rb,0.28700e+01_rb /) kao(:, 3,12) = (/ & & 0.30825e+01_rb,0.30790e+01_rb,0.30757e+01_rb,0.30631e+01_rb,0.30471e+01_rb /) kao(:, 4,12) = (/ & & 0.32355e+01_rb,0.32278e+01_rb,0.32144e+01_rb,0.31959e+01_rb,0.31753e+01_rb /) kao(:, 5,12) = (/ & & 0.33271e+01_rb,0.33191e+01_rb,0.33073e+01_rb,0.32879e+01_rb,0.32714e+01_rb /) kao(:, 6,12) = (/ & & 0.33604e+01_rb,0.33571e+01_rb,0.33478e+01_rb,0.33355e+01_rb,0.33272e+01_rb /) kao(:, 7,12) = (/ & & 0.33406e+01_rb,0.33436e+01_rb,0.33436e+01_rb,0.33435e+01_rb,0.33409e+01_rb /) kao(:, 8,12) = (/ & & 0.32648e+01_rb,0.32808e+01_rb,0.32919e+01_rb,0.32976e+01_rb,0.32999e+01_rb /) kao(:, 9,12) = (/ & & 0.31373e+01_rb,0.31630e+01_rb,0.31816e+01_rb,0.31936e+01_rb,0.31991e+01_rb /) kao(:,10,12) = (/ & & 0.29678e+01_rb,0.29982e+01_rb,0.30244e+01_rb,0.30412e+01_rb,0.30500e+01_rb /) kao(:,11,12) = (/ & & 0.27380e+01_rb,0.27731e+01_rb,0.28013e+01_rb,0.28227e+01_rb,0.28455e+01_rb /) kao(:,12,12) = (/ & & 0.24616e+01_rb,0.24905e+01_rb,0.25348e+01_rb,0.25805e+01_rb,0.26155e+01_rb /) kao(:,13,12) = (/ & & 0.22251e+01_rb,0.22562e+01_rb,0.22966e+01_rb,0.23312e+01_rb,0.23811e+01_rb /) kao(:, 1,13) = (/ & & 0.38031e+01_rb,0.37992e+01_rb,0.37926e+01_rb,0.37822e+01_rb,0.37755e+01_rb /) kao(:, 2,13) = (/ & & 0.41542e+01_rb,0.41473e+01_rb,0.41391e+01_rb,0.41329e+01_rb,0.41296e+01_rb /) kao(:, 3,13) = (/ & & 0.44998e+01_rb,0.44963e+01_rb,0.44896e+01_rb,0.44914e+01_rb,0.44937e+01_rb /) kao(:, 4,13) = (/ & & 0.48464e+01_rb,0.48445e+01_rb,0.48485e+01_rb,0.48565e+01_rb,0.48598e+01_rb /) kao(:, 5,13) = (/ & & 0.52074e+01_rb,0.52112e+01_rb,0.52168e+01_rb,0.52231e+01_rb,0.52210e+01_rb /) kao(:, 6,13) = (/ & & 0.55492e+01_rb,0.55575e+01_rb,0.55655e+01_rb,0.55693e+01_rb,0.55642e+01_rb /) kao(:, 7,13) = (/ & & 0.58380e+01_rb,0.58479e+01_rb,0.58509e+01_rb,0.58482e+01_rb,0.58453e+01_rb /) kao(:, 8,13) = (/ & & 0.60377e+01_rb,0.60538e+01_rb,0.60594e+01_rb,0.60647e+01_rb,0.60640e+01_rb /) kao(:, 9,13) = (/ & & 0.61268e+01_rb,0.61532e+01_rb,0.61730e+01_rb,0.61888e+01_rb,0.61993e+01_rb /) kao(:,10,13) = (/ & & 0.61216e+01_rb,0.61612e+01_rb,0.61936e+01_rb,0.62230e+01_rb,0.62454e+01_rb /) kao(:,11,13) = (/ & & 0.60409e+01_rb,0.60960e+01_rb,0.61462e+01_rb,0.61882e+01_rb,0.62219e+01_rb /) kao(:,12,13) = (/ & & 0.58645e+01_rb,0.59597e+01_rb,0.60234e+01_rb,0.60826e+01_rb,0.61390e+01_rb /) kao(:,13,13) = (/ & & 0.56001e+01_rb,0.57009e+01_rb,0.58017e+01_rb,0.59181e+01_rb,0.59860e+01_rb /) kao(:, 1,14) = (/ & & 0.53647e+01_rb,0.53127e+01_rb,0.52736e+01_rb,0.52471e+01_rb,0.52264e+01_rb /) kao(:, 2,14) = (/ & & 0.62359e+01_rb,0.61753e+01_rb,0.61253e+01_rb,0.60847e+01_rb,0.60573e+01_rb /) kao(:, 3,14) = (/ & & 0.72065e+01_rb,0.71249e+01_rb,0.70556e+01_rb,0.69965e+01_rb,0.69559e+01_rb /) kao(:, 4,14) = (/ & & 0.81631e+01_rb,0.80714e+01_rb,0.79828e+01_rb,0.79081e+01_rb,0.78545e+01_rb /) kao(:, 5,14) = (/ & & 0.90691e+01_rb,0.89602e+01_rb,0.88621e+01_rb,0.87858e+01_rb,0.87314e+01_rb /) kao(:, 6,14) = (/ & & 0.99707e+01_rb,0.98474e+01_rb,0.97395e+01_rb,0.96541e+01_rb,0.95904e+01_rb /) kao(:, 7,14) = (/ & & 0.10852e+02_rb,0.10724e+02_rb,0.10620e+02_rb,0.10536e+02_rb,0.10469e+02_rb /) kao(:, 8,14) = (/ & & 0.11716e+02_rb,0.11588e+02_rb,0.11487e+02_rb,0.11403e+02_rb,0.11337e+02_rb /) kao(:, 9,14) = (/ & & 0.12572e+02_rb,0.12448e+02_rb,0.12341e+02_rb,0.12260e+02_rb,0.12188e+02_rb /) kao(:,10,14) = (/ & & 0.13374e+02_rb,0.13256e+02_rb,0.13159e+02_rb,0.13080e+02_rb,0.13010e+02_rb /) kao(:,11,14) = (/ & & 0.14046e+02_rb,0.13957e+02_rb,0.13888e+02_rb,0.13824e+02_rb,0.13769e+02_rb /) kao(:,12,14) = (/ & & 0.14644e+02_rb,0.14592e+02_rb,0.14548e+02_rb,0.14504e+02_rb,0.14461e+02_rb /) kao(:,13,14) = (/ & & 0.15144e+02_rb,0.15129e+02_rb,0.15111e+02_rb,0.15095e+02_rb,0.15074e+02_rb /) kao(:, 1,15) = (/ & & 0.72019e+01_rb,0.71097e+01_rb,0.70236e+01_rb,0.69449e+01_rb,0.68844e+01_rb /) kao(:, 2,15) = (/ & & 0.87604e+01_rb,0.86468e+01_rb,0.85349e+01_rb,0.84375e+01_rb,0.83491e+01_rb /) kao(:, 3,15) = (/ & & 0.10615e+02_rb,0.10469e+02_rb,0.10333e+02_rb,0.10214e+02_rb,0.10099e+02_rb /) kao(:, 4,15) = (/ & & 0.12669e+02_rb,0.12473e+02_rb,0.12305e+02_rb,0.12161e+02_rb,0.12026e+02_rb /) kao(:, 5,15) = (/ & & 0.14978e+02_rb,0.14741e+02_rb,0.14530e+02_rb,0.14329e+02_rb,0.14143e+02_rb /) kao(:, 6,15) = (/ & & 0.17562e+02_rb,0.17282e+02_rb,0.17031e+02_rb,0.16791e+02_rb,0.16552e+02_rb /) kao(:, 7,15) = (/ & & 0.20480e+02_rb,0.20136e+02_rb,0.19827e+02_rb,0.19524e+02_rb,0.19223e+02_rb /) kao(:, 8,15) = (/ & & 0.23734e+02_rb,0.23307e+02_rb,0.22908e+02_rb,0.22521e+02_rb,0.22160e+02_rb /) kao(:, 9,15) = (/ & & 0.27249e+02_rb,0.26733e+02_rb,0.26255e+02_rb,0.25787e+02_rb,0.25354e+02_rb /) kao(:,10,15) = (/ & & 0.30889e+02_rb,0.30311e+02_rb,0.29740e+02_rb,0.29192e+02_rb,0.28690e+02_rb /) kao(:,11,15) = (/ & & 0.34366e+02_rb,0.33687e+02_rb,0.33035e+02_rb,0.32430e+02_rb,0.31843e+02_rb /) kao(:,12,15) = (/ & & 0.37839e+02_rb,0.37085e+02_rb,0.36360e+02_rb,0.35655e+02_rb,0.34957e+02_rb /) kao(:,13,15) = (/ & & 0.41323e+02_rb,0.40503e+02_rb,0.39673e+02_rb,0.38847e+02_rb,0.38049e+02_rb /) kao(:, 1,16) = (/ & & 0.82631e+01_rb,0.81761e+01_rb,0.80809e+01_rb,0.79778e+01_rb,0.79010e+01_rb /) kao(:, 2,16) = (/ & & 0.10258e+02_rb,0.10128e+02_rb,0.10005e+02_rb,0.98803e+01_rb,0.97700e+01_rb /) kao(:, 3,16) = (/ & & 0.12786e+02_rb,0.12614e+02_rb,0.12441e+02_rb,0.12267e+02_rb,0.12120e+02_rb /) kao(:, 4,16) = (/ & & 0.15843e+02_rb,0.15549e+02_rb,0.15326e+02_rb,0.15095e+02_rb,0.14871e+02_rb /) kao(:, 5,16) = (/ & & 0.19543e+02_rb,0.19089e+02_rb,0.18733e+02_rb,0.18430e+02_rb,0.18134e+02_rb /) kao(:, 6,16) = (/ & & 0.24038e+02_rb,0.23415e+02_rb,0.22893e+02_rb,0.22427e+02_rb,0.22005e+02_rb /) kao(:, 7,16) = (/ & & 0.29445e+02_rb,0.28630e+02_rb,0.27921e+02_rb,0.27268e+02_rb,0.26654e+02_rb /) kao(:, 8,16) = (/ & & 0.35889e+02_rb,0.34849e+02_rb,0.33913e+02_rb,0.33036e+02_rb,0.32194e+02_rb /) kao(:, 9,16) = (/ & & 0.43512e+02_rb,0.42175e+02_rb,0.40956e+02_rb,0.39809e+02_rb,0.38685e+02_rb /) kao(:,10,16) = (/ & & 0.52253e+02_rb,0.50582e+02_rb,0.49011e+02_rb,0.47508e+02_rb,0.46037e+02_rb /) kao(:,11,16) = (/ & & 0.61290e+02_rb,0.59240e+02_rb,0.57269e+02_rb,0.55343e+02_rb,0.53572e+02_rb /) kao(:,12,16) = (/ & & 0.71193e+02_rb,0.68607e+02_rb,0.66135e+02_rb,0.63828e+02_rb,0.61720e+02_rb /) kao(:,13,16) = (/ & & 0.81988e+02_rb,0.78665e+02_rb,0.75707e+02_rb,0.72932e+02_rb,0.70347e+02_rb /) ! ----------------------------------------------------------------- ! The array KBO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels < ~100mb and temperatures. The first ! index in the array, JT, which runs from 1 to 5, corresponds to ! different temperatures. More specifically, JT = 3 means that the ! data are for the reference temperature TREF for this pressure ! level, JT = 2 refers to the temperature TREF-15, JT = 1 is for ! TREF-30, JT = 4 is for TREF+15, and JT = 5 is for TREF+30. ! The second index, JP, runs from 13 to 59 and refers to the JPth ! reference pressure level (see taumol.f for the value of these ! pressure levels in mb). The third index, IG, goes from 1 to 16, ! and tells us which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kbo(:,13, 1) = (/ & & 0.29597e-05_rb,0.31929e-05_rb,0.34159e-05_rb,0.36256e-05_rb,0.38264e-05_rb /) kbo(:,14, 1) = (/ & & 0.24233e-05_rb,0.26151e-05_rb,0.27866e-05_rb,0.29502e-05_rb,0.31170e-05_rb /) kbo(:,15, 1) = (/ & & 0.19206e-05_rb,0.20789e-05_rb,0.22099e-05_rb,0.23383e-05_rb,0.24505e-05_rb /) kbo(:,16, 1) = (/ & & 0.14933e-05_rb,0.16071e-05_rb,0.17039e-05_rb,0.17994e-05_rb,0.18816e-05_rb /) kbo(:,17, 1) = (/ & & 0.11429e-05_rb,0.12144e-05_rb,0.12895e-05_rb,0.13503e-05_rb,0.14174e-05_rb /) kbo(:,18, 1) = (/ & & 0.84134e-06_rb,0.89264e-06_rb,0.94260e-06_rb,0.99003e-06_rb,0.10391e-05_rb /) kbo(:,19, 1) = (/ & & 0.60683e-06_rb,0.64142e-06_rb,0.68018e-06_rb,0.72042e-06_rb,0.75479e-06_rb /) kbo(:,20, 1) = (/ & & 0.45809e-06_rb,0.48813e-06_rb,0.51934e-06_rb,0.54823e-06_rb,0.57261e-06_rb /) kbo(:,21, 1) = (/ & & 0.35219e-06_rb,0.37835e-06_rb,0.40322e-06_rb,0.42772e-06_rb,0.44736e-06_rb /) kbo(:,22, 1) = (/ & & 0.27419e-06_rb,0.29542e-06_rb,0.31617e-06_rb,0.33398e-06_rb,0.34932e-06_rb /) kbo(:,23, 1) = (/ & & 0.21385e-06_rb,0.23127e-06_rb,0.24670e-06_rb,0.25951e-06_rb,0.26952e-06_rb /) kbo(:,24, 1) = (/ & & 0.16767e-06_rb,0.18179e-06_rb,0.19282e-06_rb,0.20136e-06_rb,0.21113e-06_rb /) kbo(:,25, 1) = (/ & & 0.13361e-06_rb,0.14301e-06_rb,0.14980e-06_rb,0.15778e-06_rb,0.16615e-06_rb /) kbo(:,26, 1) = (/ & & 0.10615e-06_rb,0.11218e-06_rb,0.11889e-06_rb,0.12574e-06_rb,0.13111e-06_rb /) kbo(:,27, 1) = (/ & & 0.83660e-07_rb,0.89296e-07_rb,0.95019e-07_rb,0.10007e-06_rb,0.10397e-06_rb /) kbo(:,28, 1) = (/ & & 0.66667e-07_rb,0.71217e-07_rb,0.75615e-07_rb,0.79237e-07_rb,0.82239e-07_rb /) kbo(:,29, 1) = (/ & & 0.52776e-07_rb,0.56086e-07_rb,0.59828e-07_rb,0.62513e-07_rb,0.64218e-07_rb /) kbo(:,30, 1) = (/ & & 0.41429e-07_rb,0.44370e-07_rb,0.46731e-07_rb,0.48553e-07_rb,0.50143e-07_rb /) kbo(:,31, 1) = (/ & & 0.32437e-07_rb,0.34523e-07_rb,0.36208e-07_rb,0.37500e-07_rb,0.38571e-07_rb /) kbo(:,32, 1) = (/ & & 0.25237e-07_rb,0.26730e-07_rb,0.27868e-07_rb,0.28829e-07_rb,0.29943e-07_rb /) kbo(:,33, 1) = (/ & & 0.19545e-07_rb,0.20614e-07_rb,0.21467e-07_rb,0.22280e-07_rb,0.23141e-07_rb /) kbo(:,34, 1) = (/ & & 0.15146e-07_rb,0.15869e-07_rb,0.16509e-07_rb,0.17179e-07_rb,0.17980e-07_rb /) kbo(:,35, 1) = (/ & & 0.11482e-07_rb,0.12039e-07_rb,0.12547e-07_rb,0.13255e-07_rb,0.13874e-07_rb /) kbo(:,36, 1) = (/ & & 0.86172e-08_rb,0.90023e-08_rb,0.95607e-08_rb,0.10106e-07_rb,0.10595e-07_rb /) kbo(:,37, 1) = (/ & & 0.67411e-08_rb,0.70781e-08_rb,0.75553e-08_rb,0.79739e-08_rb,0.84011e-08_rb /) kbo(:,38, 1) = (/ & & 0.52604e-08_rb,0.55743e-08_rb,0.59410e-08_rb,0.63031e-08_rb,0.66516e-08_rb /) kbo(:,39, 1) = (/ & & 0.41129e-08_rb,0.43854e-08_rb,0.46851e-08_rb,0.49771e-08_rb,0.52463e-08_rb /) kbo(:,40, 1) = (/ & & 0.33089e-08_rb,0.35289e-08_rb,0.37702e-08_rb,0.40125e-08_rb,0.42415e-08_rb /) kbo(:,41, 1) = (/ & & 0.26794e-08_rb,0.28488e-08_rb,0.30428e-08_rb,0.32437e-08_rb,0.34420e-08_rb /) kbo(:,42, 1) = (/ & & 0.21670e-08_rb,0.23030e-08_rb,0.24589e-08_rb,0.26252e-08_rb,0.27867e-08_rb /) kbo(:,43, 1) = (/ & & 0.17699e-08_rb,0.18853e-08_rb,0.20001e-08_rb,0.21330e-08_rb,0.22657e-08_rb /) kbo(:,44, 1) = (/ & & 0.14446e-08_rb,0.15471e-08_rb,0.16397e-08_rb,0.17423e-08_rb,0.18526e-08_rb /) kbo(:,45, 1) = (/ & & 0.11734e-08_rb,0.12754e-08_rb,0.13542e-08_rb,0.14242e-08_rb,0.15193e-08_rb /) kbo(:,46, 1) = (/ & & 0.95743e-09_rb,0.10470e-08_rb,0.11183e-08_rb,0.11726e-08_rb,0.12389e-08_rb /) kbo(:,47, 1) = (/ & & 0.77345e-09_rb,0.85197e-09_rb,0.92184e-09_rb,0.97368e-09_rb,0.10149e-08_rb /) kbo(:,48, 1) = (/ & & 0.62500e-09_rb,0.69288e-09_rb,0.75548e-09_rb,0.80446e-09_rb,0.84428e-09_rb /) kbo(:,49, 1) = (/ & & 0.50095e-09_rb,0.55967e-09_rb,0.61904e-09_rb,0.66441e-09_rb,0.70339e-09_rb /) kbo(:,50, 1) = (/ & & 0.40806e-09_rb,0.45712e-09_rb,0.50530e-09_rb,0.54974e-09_rb,0.58246e-09_rb /) kbo(:,51, 1) = (/ & & 0.33102e-09_rb,0.37130e-09_rb,0.41121e-09_rb,0.45024e-09_rb,0.48436e-09_rb /) kbo(:,52, 1) = (/ & & 0.26906e-09_rb,0.30739e-09_rb,0.33845e-09_rb,0.36884e-09_rb,0.40024e-09_rb /) kbo(:,53, 1) = (/ & & 0.22202e-09_rb,0.25108e-09_rb,0.27937e-09_rb,0.30592e-09_rb,0.33012e-09_rb /) kbo(:,54, 1) = (/ & & 0.18662e-09_rb,0.20761e-09_rb,0.23072e-09_rb,0.25342e-09_rb,0.27445e-09_rb /) kbo(:,55, 1) = (/ & & 0.15741e-09_rb,0.17147e-09_rb,0.19146e-09_rb,0.21029e-09_rb,0.22857e-09_rb /) kbo(:,56, 1) = (/ & & 0.13151e-09_rb,0.14637e-09_rb,0.15977e-09_rb,0.17547e-09_rb,0.18974e-09_rb /) kbo(:,57, 1) = (/ & & 0.10874e-09_rb,0.12447e-09_rb,0.13634e-09_rb,0.14752e-09_rb,0.16022e-09_rb /) kbo(:,58, 1) = (/ & & 0.90206e-10_rb,0.10484e-09_rb,0.11617e-09_rb,0.12545e-09_rb,0.13474e-09_rb /) kbo(:,59, 1) = (/ & & 0.76759e-10_rb,0.88866e-10_rb,0.99340e-10_rb,0.10706e-09_rb,0.11444e-09_rb /) kbo(:,13, 2) = (/ & & 0.14727e-04_rb,0.16357e-04_rb,0.17961e-04_rb,0.19530e-04_rb,0.20852e-04_rb /) kbo(:,14, 2) = (/ & & 0.12148e-04_rb,0.13478e-04_rb,0.14818e-04_rb,0.16049e-04_rb,0.17100e-04_rb /) kbo(:,15, 2) = (/ & & 0.96902e-05_rb,0.10787e-04_rb,0.11835e-04_rb,0.12770e-04_rb,0.13515e-04_rb /) kbo(:,16, 2) = (/ & & 0.76235e-05_rb,0.84575e-05_rb,0.92217e-05_rb,0.98526e-05_rb,0.10449e-04_rb /) kbo(:,17, 2) = (/ & & 0.58049e-05_rb,0.64239e-05_rb,0.69733e-05_rb,0.74131e-05_rb,0.78082e-05_rb /) kbo(:,18, 2) = (/ & & 0.43204e-05_rb,0.47510e-05_rb,0.51165e-05_rb,0.54579e-05_rb,0.57434e-05_rb /) kbo(:,19, 2) = (/ & & 0.32211e-05_rb,0.35327e-05_rb,0.38175e-05_rb,0.40535e-05_rb,0.42245e-05_rb /) kbo(:,20, 2) = (/ & & 0.25265e-05_rb,0.27652e-05_rb,0.29644e-05_rb,0.31331e-05_rb,0.32730e-05_rb /) kbo(:,21, 2) = (/ & & 0.19921e-05_rb,0.21749e-05_rb,0.23343e-05_rb,0.24377e-05_rb,0.25458e-05_rb /) kbo(:,22, 2) = (/ & & 0.15859e-05_rb,0.17259e-05_rb,0.18236e-05_rb,0.19124e-05_rb,0.19942e-05_rb /) kbo(:,23, 2) = (/ & & 0.12591e-05_rb,0.13565e-05_rb,0.14309e-05_rb,0.15032e-05_rb,0.15642e-05_rb /) kbo(:,24, 2) = (/ & & 0.10012e-05_rb,0.10701e-05_rb,0.11246e-05_rb,0.11819e-05_rb,0.12279e-05_rb /) kbo(:,25, 2) = (/ & & 0.78985e-06_rb,0.84074e-06_rb,0.89029e-06_rb,0.93145e-06_rb,0.97085e-06_rb /) kbo(:,26, 2) = (/ & & 0.62996e-06_rb,0.66847e-06_rb,0.70637e-06_rb,0.73513e-06_rb,0.77135e-06_rb /) kbo(:,27, 2) = (/ & & 0.50283e-06_rb,0.53111e-06_rb,0.55653e-06_rb,0.58306e-06_rb,0.61799e-06_rb /) kbo(:,28, 2) = (/ & & 0.39962e-06_rb,0.42320e-06_rb,0.44265e-06_rb,0.46715e-06_rb,0.49516e-06_rb /) kbo(:,29, 2) = (/ & & 0.31810e-06_rb,0.33597e-06_rb,0.35191e-06_rb,0.37448e-06_rb,0.39768e-06_rb /) kbo(:,30, 2) = (/ & & 0.25242e-06_rb,0.26447e-06_rb,0.28109e-06_rb,0.30089e-06_rb,0.31543e-06_rb /) kbo(:,31, 2) = (/ & & 0.19837e-06_rb,0.20954e-06_rb,0.22442e-06_rb,0.23762e-06_rb,0.25183e-06_rb /) kbo(:,32, 2) = (/ & & 0.15599e-06_rb,0.16701e-06_rb,0.17789e-06_rb,0.18880e-06_rb,0.20030e-06_rb /) kbo(:,33, 2) = (/ & & 0.12307e-06_rb,0.13211e-06_rb,0.14046e-06_rb,0.15111e-06_rb,0.15988e-06_rb /) kbo(:,34, 2) = (/ & & 0.98429e-07_rb,0.10498e-06_rb,0.11326e-06_rb,0.12074e-06_rb,0.12779e-06_rb /) kbo(:,35, 2) = (/ & & 0.77743e-07_rb,0.83951e-07_rb,0.90473e-07_rb,0.96277e-07_rb,0.10204e-06_rb /) kbo(:,36, 2) = (/ & & 0.61220e-07_rb,0.66399e-07_rb,0.71102e-07_rb,0.75946e-07_rb,0.80803e-07_rb /) kbo(:,37, 2) = (/ & & 0.48819e-07_rb,0.52962e-07_rb,0.56669e-07_rb,0.60817e-07_rb,0.64709e-07_rb /) kbo(:,38, 2) = (/ & & 0.38871e-07_rb,0.42226e-07_rb,0.45376e-07_rb,0.48641e-07_rb,0.51855e-07_rb /) kbo(:,39, 2) = (/ & & 0.30869e-07_rb,0.33485e-07_rb,0.36233e-07_rb,0.38868e-07_rb,0.41523e-07_rb /) kbo(:,40, 2) = (/ & & 0.24798e-07_rb,0.26983e-07_rb,0.29180e-07_rb,0.31437e-07_rb,0.33600e-07_rb /) kbo(:,41, 2) = (/ & & 0.19951e-07_rb,0.21784e-07_rb,0.23518e-07_rb,0.25460e-07_rb,0.27219e-07_rb /) kbo(:,42, 2) = (/ & & 0.16098e-07_rb,0.17542e-07_rb,0.18979e-07_rb,0.20547e-07_rb,0.22016e-07_rb /) kbo(:,43, 2) = (/ & & 0.13020e-07_rb,0.14144e-07_rb,0.15414e-07_rb,0.16610e-07_rb,0.17870e-07_rb /) kbo(:,44, 2) = (/ & & 0.10548e-07_rb,0.11500e-07_rb,0.12492e-07_rb,0.13520e-07_rb,0.14524e-07_rb /) kbo(:,45, 2) = (/ & & 0.85602e-08_rb,0.93245e-08_rb,0.10096e-07_rb,0.10978e-07_rb,0.11819e-07_rb /) kbo(:,46, 2) = (/ & & 0.69149e-08_rb,0.75653e-08_rb,0.82154e-08_rb,0.88822e-08_rb,0.96002e-08_rb /) kbo(:,47, 2) = (/ & & 0.55708e-08_rb,0.61164e-08_rb,0.66678e-08_rb,0.71922e-08_rb,0.77633e-08_rb /) kbo(:,48, 2) = (/ & & 0.44804e-08_rb,0.49312e-08_rb,0.53967e-08_rb,0.58662e-08_rb,0.62780e-08_rb /) kbo(:,49, 2) = (/ & & 0.36467e-08_rb,0.39866e-08_rb,0.43628e-08_rb,0.47589e-08_rb,0.51208e-08_rb /) kbo(:,50, 2) = (/ & & 0.29524e-08_rb,0.32540e-08_rb,0.35471e-08_rb,0.38638e-08_rb,0.41887e-08_rb /) kbo(:,51, 2) = (/ & & 0.23887e-08_rb,0.26526e-08_rb,0.28959e-08_rb,0.31504e-08_rb,0.34112e-08_rb /) kbo(:,52, 2) = (/ & & 0.19321e-08_rb,0.21648e-08_rb,0.23625e-08_rb,0.25839e-08_rb,0.28173e-08_rb /) kbo(:,53, 2) = (/ & & 0.15684e-08_rb,0.17725e-08_rb,0.19476e-08_rb,0.21240e-08_rb,0.23118e-08_rb /) kbo(:,54, 2) = (/ & & 0.12799e-08_rb,0.14467e-08_rb,0.16073e-08_rb,0.17494e-08_rb,0.19160e-08_rb /) kbo(:,55, 2) = (/ & & 0.10442e-08_rb,0.11911e-08_rb,0.13216e-08_rb,0.14537e-08_rb,0.15771e-08_rb /) kbo(:,56, 2) = (/ & & 0.85741e-09_rb,0.97937e-09_rb,0.10936e-08_rb,0.12056e-08_rb,0.13167e-08_rb /) kbo(:,57, 2) = (/ & & 0.70358e-09_rb,0.80334e-09_rb,0.90824e-09_rb,0.10056e-08_rb,0.11010e-08_rb /) kbo(:,58, 2) = (/ & & 0.57428e-09_rb,0.66441e-09_rb,0.75420e-09_rb,0.83627e-09_rb,0.92485e-09_rb /) kbo(:,59, 2) = (/ & & 0.47922e-09_rb,0.55592e-09_rb,0.63499e-09_rb,0.70731e-09_rb,0.78678e-09_rb /) kbo(:,13, 3) = (/ & & 0.76201e-04_rb,0.82699e-04_rb,0.87499e-04_rb,0.91352e-04_rb,0.95348e-04_rb /) kbo(:,14, 3) = (/ & & 0.62821e-04_rb,0.67861e-04_rb,0.71868e-04_rb,0.75108e-04_rb,0.78557e-04_rb /) kbo(:,15, 3) = (/ & & 0.49775e-04_rb,0.53367e-04_rb,0.56639e-04_rb,0.59001e-04_rb,0.62303e-04_rb /) kbo(:,16, 3) = (/ & & 0.38005e-04_rb,0.40883e-04_rb,0.43269e-04_rb,0.45403e-04_rb,0.48139e-04_rb /) kbo(:,17, 3) = (/ & & 0.28550e-04_rb,0.30750e-04_rb,0.32331e-04_rb,0.34489e-04_rb,0.36687e-04_rb /) kbo(:,18, 3) = (/ & & 0.20976e-04_rb,0.22322e-04_rb,0.23743e-04_rb,0.25554e-04_rb,0.27223e-04_rb /) kbo(:,19, 3) = (/ & & 0.15389e-04_rb,0.16422e-04_rb,0.17792e-04_rb,0.19127e-04_rb,0.20295e-04_rb /) kbo(:,20, 3) = (/ & & 0.11883e-04_rb,0.12816e-04_rb,0.13962e-04_rb,0.14872e-04_rb,0.15725e-04_rb /) kbo(:,21, 3) = (/ & & 0.92948e-05_rb,0.10187e-04_rb,0.10986e-04_rb,0.11713e-04_rb,0.12426e-04_rb /) kbo(:,22, 3) = (/ & & 0.73969e-05_rb,0.80840e-05_rb,0.87263e-05_rb,0.93856e-05_rb,0.99533e-05_rb /) kbo(:,23, 3) = (/ & & 0.58961e-05_rb,0.64591e-05_rb,0.69648e-05_rb,0.74494e-05_rb,0.79385e-05_rb /) kbo(:,24, 3) = (/ & & 0.47445e-05_rb,0.51742e-05_rb,0.56036e-05_rb,0.59758e-05_rb,0.63724e-05_rb /) kbo(:,25, 3) = (/ & & 0.38442e-05_rb,0.41791e-05_rb,0.44837e-05_rb,0.48078e-05_rb,0.51294e-05_rb /) kbo(:,26, 3) = (/ & & 0.31335e-05_rb,0.33923e-05_rb,0.36400e-05_rb,0.38961e-05_rb,0.41487e-05_rb /) kbo(:,27, 3) = (/ & & 0.25499e-05_rb,0.27432e-05_rb,0.29560e-05_rb,0.31545e-05_rb,0.33433e-05_rb /) kbo(:,28, 3) = (/ & & 0.20635e-05_rb,0.22231e-05_rb,0.23897e-05_rb,0.25516e-05_rb,0.26938e-05_rb /) kbo(:,29, 3) = (/ & & 0.16635e-05_rb,0.18024e-05_rb,0.19279e-05_rb,0.20498e-05_rb,0.21627e-05_rb /) kbo(:,30, 3) = (/ & & 0.13359e-05_rb,0.14474e-05_rb,0.15470e-05_rb,0.16346e-05_rb,0.17457e-05_rb /) kbo(:,31, 3) = (/ & & 0.10697e-05_rb,0.11477e-05_rb,0.12254e-05_rb,0.13097e-05_rb,0.13914e-05_rb /) kbo(:,32, 3) = (/ & & 0.84958e-06_rb,0.91464e-06_rb,0.98189e-06_rb,0.10489e-05_rb,0.11150e-05_rb /) kbo(:,33, 3) = (/ & & 0.68178e-06_rb,0.73356e-06_rb,0.78905e-06_rb,0.84226e-06_rb,0.89476e-06_rb /) kbo(:,34, 3) = (/ & & 0.54737e-06_rb,0.58995e-06_rb,0.63374e-06_rb,0.67732e-06_rb,0.72182e-06_rb /) kbo(:,35, 3) = (/ & & 0.43680e-06_rb,0.47086e-06_rb,0.50771e-06_rb,0.54209e-06_rb,0.57687e-06_rb /) kbo(:,36, 3) = (/ & & 0.34612e-06_rb,0.37466e-06_rb,0.40370e-06_rb,0.43073e-06_rb,0.45979e-06_rb /) kbo(:,37, 3) = (/ & & 0.27725e-06_rb,0.30048e-06_rb,0.32451e-06_rb,0.34638e-06_rb,0.37105e-06_rb /) kbo(:,38, 3) = (/ & & 0.22228e-06_rb,0.24114e-06_rb,0.26049e-06_rb,0.27871e-06_rb,0.29935e-06_rb /) kbo(:,39, 3) = (/ & & 0.17797e-06_rb,0.19317e-06_rb,0.20878e-06_rb,0.22411e-06_rb,0.24102e-06_rb /) kbo(:,40, 3) = (/ & & 0.14346e-06_rb,0.15601e-06_rb,0.16913e-06_rb,0.18197e-06_rb,0.19566e-06_rb /) kbo(:,41, 3) = (/ & & 0.11559e-06_rb,0.12615e-06_rb,0.13697e-06_rb,0.14785e-06_rb,0.15874e-06_rb /) kbo(:,42, 3) = (/ & & 0.93358e-07_rb,0.10214e-06_rb,0.11089e-06_rb,0.11998e-06_rb,0.12904e-06_rb /) kbo(:,43, 3) = (/ & & 0.75599e-07_rb,0.82690e-07_rb,0.89808e-07_rb,0.97524e-07_rb,0.10511e-06_rb /) kbo(:,44, 3) = (/ & & 0.61285e-07_rb,0.66786e-07_rb,0.72937e-07_rb,0.79087e-07_rb,0.85525e-07_rb /) kbo(:,45, 3) = (/ & & 0.49725e-07_rb,0.54294e-07_rb,0.59263e-07_rb,0.64213e-07_rb,0.69583e-07_rb /) kbo(:,46, 3) = (/ & & 0.40336e-07_rb,0.44186e-07_rb,0.48034e-07_rb,0.52184e-07_rb,0.56534e-07_rb /) kbo(:,47, 3) = (/ & & 0.32904e-07_rb,0.35633e-07_rb,0.38959e-07_rb,0.42402e-07_rb,0.45883e-07_rb /) kbo(:,48, 3) = (/ & & 0.26725e-07_rb,0.29104e-07_rb,0.31693e-07_rb,0.34312e-07_rb,0.37304e-07_rb /) kbo(:,49, 3) = (/ & & 0.21751e-07_rb,0.23849e-07_rb,0.25803e-07_rb,0.28024e-07_rb,0.30356e-07_rb /) kbo(:,50, 3) = (/ & & 0.17587e-07_rb,0.19609e-07_rb,0.21216e-07_rb,0.23022e-07_rb,0.24942e-07_rb /) kbo(:,51, 3) = (/ & & 0.14376e-07_rb,0.15990e-07_rb,0.17493e-07_rb,0.18872e-07_rb,0.20463e-07_rb /) kbo(:,52, 3) = (/ & & 0.11811e-07_rb,0.13106e-07_rb,0.14489e-07_rb,0.15615e-07_rb,0.16832e-07_rb /) kbo(:,53, 3) = (/ & & 0.96001e-08_rb,0.10788e-07_rb,0.11921e-07_rb,0.12985e-07_rb,0.13904e-07_rb /) kbo(:,54, 3) = (/ & & 0.78243e-08_rb,0.89178e-08_rb,0.98430e-08_rb,0.10840e-07_rb,0.11619e-07_rb /) kbo(:,55, 3) = (/ & & 0.63638e-08_rb,0.73678e-08_rb,0.82214e-08_rb,0.89997e-08_rb,0.97565e-08_rb /) kbo(:,56, 3) = (/ & & 0.51753e-08_rb,0.60497e-08_rb,0.68419e-08_rb,0.74560e-08_rb,0.82362e-08_rb /) kbo(:,57, 3) = (/ & & 0.42164e-08_rb,0.49916e-08_rb,0.57066e-08_rb,0.63308e-08_rb,0.68950e-08_rb /) kbo(:,58, 3) = (/ & & 0.34618e-08_rb,0.41424e-08_rb,0.48054e-08_rb,0.53757e-08_rb,0.58095e-08_rb /) kbo(:,59, 3) = (/ & & 0.29083e-08_rb,0.35291e-08_rb,0.40932e-08_rb,0.46285e-08_rb,0.49865e-08_rb /) kbo(:,13, 4) = (/ & & 0.37674e-03_rb,0.40953e-03_rb,0.43690e-03_rb,0.46059e-03_rb,0.48007e-03_rb /) kbo(:,14, 4) = (/ & & 0.31202e-03_rb,0.33906e-03_rb,0.36066e-03_rb,0.38003e-03_rb,0.39627e-03_rb /) kbo(:,15, 4) = (/ & & 0.25135e-03_rb,0.27271e-03_rb,0.29069e-03_rb,0.30661e-03_rb,0.32005e-03_rb /) kbo(:,16, 4) = (/ & & 0.19797e-03_rb,0.21527e-03_rb,0.22955e-03_rb,0.24328e-03_rb,0.25456e-03_rb /) kbo(:,17, 4) = (/ & & 0.15354e-03_rb,0.16679e-03_rb,0.17933e-03_rb,0.19101e-03_rb,0.20041e-03_rb /) kbo(:,18, 4) = (/ & & 0.11742e-03_rb,0.12797e-03_rb,0.13923e-03_rb,0.14836e-03_rb,0.15654e-03_rb /) kbo(:,19, 4) = (/ & & 0.90519e-04_rb,0.99386e-04_rb,0.10819e-03_rb,0.11601e-03_rb,0.12319e-03_rb /) kbo(:,20, 4) = (/ & & 0.72579e-04_rb,0.79910e-04_rb,0.87075e-04_rb,0.93728e-04_rb,0.99656e-04_rb /) kbo(:,21, 4) = (/ & & 0.58866e-04_rb,0.64805e-04_rb,0.70705e-04_rb,0.76153e-04_rb,0.80996e-04_rb /) kbo(:,22, 4) = (/ & & 0.48157e-04_rb,0.52883e-04_rb,0.57740e-04_rb,0.62130e-04_rb,0.66100e-04_rb /) kbo(:,23, 4) = (/ & & 0.39337e-04_rb,0.43289e-04_rb,0.47275e-04_rb,0.50906e-04_rb,0.54161e-04_rb /) kbo(:,24, 4) = (/ & & 0.32289e-04_rb,0.35577e-04_rb,0.38808e-04_rb,0.41814e-04_rb,0.44433e-04_rb /) kbo(:,25, 4) = (/ & & 0.26615e-04_rb,0.29301e-04_rb,0.31984e-04_rb,0.34396e-04_rb,0.36509e-04_rb /) kbo(:,26, 4) = (/ & & 0.22060e-04_rb,0.24270e-04_rb,0.26460e-04_rb,0.28450e-04_rb,0.30203e-04_rb /) kbo(:,27, 4) = (/ & & 0.18344e-04_rb,0.20177e-04_rb,0.21948e-04_rb,0.23595e-04_rb,0.25001e-04_rb /) kbo(:,28, 4) = (/ & & 0.15256e-04_rb,0.16787e-04_rb,0.18242e-04_rb,0.19561e-04_rb,0.20696e-04_rb /) kbo(:,29, 4) = (/ & & 0.12679e-04_rb,0.13952e-04_rb,0.15170e-04_rb,0.16211e-04_rb,0.17163e-04_rb /) kbo(:,30, 4) = (/ & & 0.10550e-04_rb,0.11605e-04_rb,0.12579e-04_rb,0.13451e-04_rb,0.14210e-04_rb /) kbo(:,31, 4) = (/ & & 0.87512e-05_rb,0.96322e-05_rb,0.10433e-04_rb,0.11133e-04_rb,0.11762e-04_rb /) kbo(:,32, 4) = (/ & & 0.73001e-05_rb,0.80203e-05_rb,0.86745e-05_rb,0.92292e-05_rb,0.97295e-05_rb /) kbo(:,33, 4) = (/ & & 0.60958e-05_rb,0.66862e-05_rb,0.72006e-05_rb,0.76359e-05_rb,0.80576e-05_rb /) kbo(:,34, 4) = (/ & & 0.50855e-05_rb,0.55671e-05_rb,0.59670e-05_rb,0.63392e-05_rb,0.66869e-05_rb /) kbo(:,35, 4) = (/ & & 0.42033e-05_rb,0.45905e-05_rb,0.49250e-05_rb,0.52384e-05_rb,0.55369e-05_rb /) kbo(:,36, 4) = (/ & & 0.34384e-05_rb,0.37618e-05_rb,0.40430e-05_rb,0.43060e-05_rb,0.45577e-05_rb /) kbo(:,37, 4) = (/ & & 0.28039e-05_rb,0.30749e-05_rb,0.33135e-05_rb,0.35344e-05_rb,0.37458e-05_rb /) kbo(:,38, 4) = (/ & & 0.22842e-05_rb,0.25104e-05_rb,0.27126e-05_rb,0.28966e-05_rb,0.30768e-05_rb /) kbo(:,39, 4) = (/ & & 0.18585e-05_rb,0.20510e-05_rb,0.22194e-05_rb,0.23731e-05_rb,0.25249e-05_rb /) kbo(:,40, 4) = (/ & & 0.15041e-05_rb,0.16676e-05_rb,0.18097e-05_rb,0.19402e-05_rb,0.20681e-05_rb /) kbo(:,41, 4) = (/ & & 0.12154e-05_rb,0.13541e-05_rb,0.14749e-05_rb,0.15852e-05_rb,0.16934e-05_rb /) kbo(:,42, 4) = (/ & & 0.98033e-06_rb,0.10975e-05_rb,0.12011e-05_rb,0.12945e-05_rb,0.13859e-05_rb /) kbo(:,43, 4) = (/ & & 0.78724e-06_rb,0.88625e-06_rb,0.97486e-06_rb,0.10554e-05_rb,0.11307e-05_rb /) kbo(:,44, 4) = (/ & & 0.63059e-06_rb,0.71382e-06_rb,0.78948e-06_rb,0.85755e-06_rb,0.92044e-06_rb /) kbo(:,45, 4) = (/ & & 0.50426e-06_rb,0.57391e-06_rb,0.63808e-06_rb,0.69718e-06_rb,0.74972e-06_rb /) kbo(:,46, 4) = (/ & & 0.40133e-06_rb,0.45858e-06_rb,0.51414e-06_rb,0.56400e-06_rb,0.60964e-06_rb /) kbo(:,47, 4) = (/ & & 0.31580e-06_rb,0.36440e-06_rb,0.41120e-06_rb,0.45433e-06_rb,0.49348e-06_rb /) kbo(:,48, 4) = (/ & & 0.24847e-06_rb,0.28907e-06_rb,0.32879e-06_rb,0.36537e-06_rb,0.39903e-06_rb /) kbo(:,49, 4) = (/ & & 0.19530e-06_rb,0.22858e-06_rb,0.26247e-06_rb,0.29331e-06_rb,0.32217e-06_rb /) kbo(:,50, 4) = (/ & & 0.15364e-06_rb,0.18113e-06_rb,0.20911e-06_rb,0.23589e-06_rb,0.25994e-06_rb /) kbo(:,51, 4) = (/ & & 0.12072e-06_rb,0.14413e-06_rb,0.16656e-06_rb,0.18952e-06_rb,0.20983e-06_rb /) kbo(:,52, 4) = (/ & & 0.94925e-07_rb,0.11397e-06_rb,0.13255e-06_rb,0.15193e-06_rb,0.16960e-06_rb /) kbo(:,53, 4) = (/ & & 0.74473e-07_rb,0.90197e-07_rb,0.10574e-06_rb,0.12153e-06_rb,0.13661e-06_rb /) kbo(:,54, 4) = (/ & & 0.59009e-07_rb,0.71594e-07_rb,0.84781e-07_rb,0.97758e-07_rb,0.11018e-06_rb /) kbo(:,55, 4) = (/ & & 0.47008e-07_rb,0.56997e-07_rb,0.67838e-07_rb,0.78753e-07_rb,0.89116e-07_rb /) kbo(:,56, 4) = (/ & & 0.37415e-07_rb,0.45642e-07_rb,0.54420e-07_rb,0.63466e-07_rb,0.71910e-07_rb /) kbo(:,57, 4) = (/ & & 0.29896e-07_rb,0.36635e-07_rb,0.43697e-07_rb,0.51036e-07_rb,0.58267e-07_rb /) kbo(:,58, 4) = (/ & & 0.23946e-07_rb,0.29523e-07_rb,0.35316e-07_rb,0.41183e-07_rb,0.47391e-07_rb /) kbo(:,59, 4) = (/ & & 0.19881e-07_rb,0.24642e-07_rb,0.29390e-07_rb,0.34099e-07_rb,0.39234e-07_rb /) kbo(:,13, 5) = (/ & & 0.12771e-02_rb,0.13202e-02_rb,0.13557e-02_rb,0.13927e-02_rb,0.14233e-02_rb /) kbo(:,14, 5) = (/ & & 0.10608e-02_rb,0.10951e-02_rb,0.11249e-02_rb,0.11549e-02_rb,0.11788e-02_rb /) kbo(:,15, 5) = (/ & & 0.86750e-03_rb,0.89679e-03_rb,0.91986e-03_rb,0.94399e-03_rb,0.96405e-03_rb /) kbo(:,16, 5) = (/ & & 0.70073e-03_rb,0.72504e-03_rb,0.74630e-03_rb,0.76495e-03_rb,0.78165e-03_rb /) kbo(:,17, 5) = (/ & & 0.56280e-03_rb,0.58321e-03_rb,0.60153e-03_rb,0.61544e-03_rb,0.62885e-03_rb /) kbo(:,18, 5) = (/ & & 0.44940e-03_rb,0.46598e-03_rb,0.47887e-03_rb,0.49058e-03_rb,0.50223e-03_rb /) kbo(:,19, 5) = (/ & & 0.35753e-03_rb,0.37064e-03_rb,0.38290e-03_rb,0.39390e-03_rb,0.40387e-03_rb /) kbo(:,20, 5) = (/ & & 0.29013e-03_rb,0.30099e-03_rb,0.31179e-03_rb,0.32117e-03_rb,0.33011e-03_rb /) kbo(:,21, 5) = (/ & & 0.23657e-03_rb,0.24602e-03_rb,0.25504e-03_rb,0.26340e-03_rb,0.27145e-03_rb /) kbo(:,22, 5) = (/ & & 0.19423e-03_rb,0.20224e-03_rb,0.20987e-03_rb,0.21711e-03_rb,0.22439e-03_rb /) kbo(:,23, 5) = (/ & & 0.15963e-03_rb,0.16643e-03_rb,0.17308e-03_rb,0.17949e-03_rb,0.18580e-03_rb /) kbo(:,24, 5) = (/ & & 0.13166e-03_rb,0.13745e-03_rb,0.14332e-03_rb,0.14871e-03_rb,0.15428e-03_rb /) kbo(:,25, 5) = (/ & & 0.10885e-03_rb,0.11394e-03_rb,0.11896e-03_rb,0.12371e-03_rb,0.12846e-03_rb /) kbo(:,26, 5) = (/ & & 0.90403e-04_rb,0.94914e-04_rb,0.99157e-04_rb,0.10310e-03_rb,0.10729e-03_rb /) kbo(:,27, 5) = (/ & & 0.75265e-04_rb,0.79166e-04_rb,0.82648e-04_rb,0.86209e-04_rb,0.89882e-04_rb /) kbo(:,28, 5) = (/ & & 0.62870e-04_rb,0.66050e-04_rb,0.69111e-04_rb,0.72289e-04_rb,0.75451e-04_rb /) kbo(:,29, 5) = (/ & & 0.52465e-04_rb,0.55192e-04_rb,0.57887e-04_rb,0.60660e-04_rb,0.63367e-04_rb /) kbo(:,30, 5) = (/ & & 0.43887e-04_rb,0.46191e-04_rb,0.48588e-04_rb,0.50910e-04_rb,0.53278e-04_rb /) kbo(:,31, 5) = (/ & & 0.36760e-04_rb,0.38766e-04_rb,0.40783e-04_rb,0.42783e-04_rb,0.44780e-04_rb /) kbo(:,32, 5) = (/ & & 0.30831e-04_rb,0.32561e-04_rb,0.34267e-04_rb,0.36000e-04_rb,0.37594e-04_rb /) kbo(:,33, 5) = (/ & & 0.25908e-04_rb,0.27389e-04_rb,0.28832e-04_rb,0.30290e-04_rb,0.31581e-04_rb /) kbo(:,34, 5) = (/ & & 0.21776e-04_rb,0.23026e-04_rb,0.24266e-04_rb,0.25444e-04_rb,0.26510e-04_rb /) kbo(:,35, 5) = (/ & & 0.18233e-04_rb,0.19280e-04_rb,0.20324e-04_rb,0.21266e-04_rb,0.22141e-04_rb /) kbo(:,36, 5) = (/ & & 0.15160e-04_rb,0.16042e-04_rb,0.16918e-04_rb,0.17686e-04_rb,0.18406e-04_rb /) kbo(:,37, 5) = (/ & & 0.12538e-04_rb,0.13285e-04_rb,0.14015e-04_rb,0.14657e-04_rb,0.15269e-04_rb /) kbo(:,38, 5) = (/ & & 0.10357e-04_rb,0.10990e-04_rb,0.11595e-04_rb,0.12148e-04_rb,0.12651e-04_rb /) kbo(:,39, 5) = (/ & & 0.85566e-05_rb,0.90856e-05_rb,0.95986e-05_rb,0.10057e-04_rb,0.10478e-04_rb /) kbo(:,40, 5) = (/ & & 0.70390e-05_rb,0.74826e-05_rb,0.79200e-05_rb,0.83061e-05_rb,0.86634e-05_rb /) kbo(:,41, 5) = (/ & & 0.57827e-05_rb,0.61572e-05_rb,0.65269e-05_rb,0.68528e-05_rb,0.71595e-05_rb /) kbo(:,42, 5) = (/ & & 0.47477e-05_rb,0.50656e-05_rb,0.53705e-05_rb,0.56486e-05_rb,0.59100e-05_rb /) kbo(:,43, 5) = (/ & & 0.38802e-05_rb,0.41533e-05_rb,0.44089e-05_rb,0.46515e-05_rb,0.48719e-05_rb /) kbo(:,44, 5) = (/ & & 0.31658e-05_rb,0.33971e-05_rb,0.36177e-05_rb,0.38205e-05_rb,0.40089e-05_rb /) kbo(:,45, 5) = (/ & & 0.25796e-05_rb,0.27740e-05_rb,0.29635e-05_rb,0.31336e-05_rb,0.32986e-05_rb /) kbo(:,46, 5) = (/ & & 0.20945e-05_rb,0.22636e-05_rb,0.24214e-05_rb,0.25698e-05_rb,0.27077e-05_rb /) kbo(:,47, 5) = (/ & & 0.16931e-05_rb,0.18383e-05_rb,0.19729e-05_rb,0.20996e-05_rb,0.22172e-05_rb /) kbo(:,48, 5) = (/ & & 0.13650e-05_rb,0.14889e-05_rb,0.16043e-05_rb,0.17139e-05_rb,0.18136e-05_rb /) kbo(:,49, 5) = (/ & & 0.10981e-05_rb,0.12042e-05_rb,0.13028e-05_rb,0.13963e-05_rb,0.14824e-05_rb /) kbo(:,50, 5) = (/ & & 0.88407e-06_rb,0.97370e-06_rb,0.10589e-05_rb,0.11383e-05_rb,0.12124e-05_rb /) kbo(:,51, 5) = (/ & & 0.71150e-06_rb,0.78682e-06_rb,0.86048e-06_rb,0.92711e-06_rb,0.99128e-06_rb /) kbo(:,52, 5) = (/ & & 0.57140e-06_rb,0.63513e-06_rb,0.69790e-06_rb,0.75466e-06_rb,0.80946e-06_rb /) kbo(:,53, 5) = (/ & & 0.45871e-06_rb,0.51183e-06_rb,0.56494e-06_rb,0.61376e-06_rb,0.66022e-06_rb /) kbo(:,54, 5) = (/ & & 0.36889e-06_rb,0.41319e-06_rb,0.45759e-06_rb,0.49973e-06_rb,0.53933e-06_rb /) kbo(:,55, 5) = (/ & & 0.29683e-06_rb,0.33396e-06_rb,0.37110e-06_rb,0.40671e-06_rb,0.44026e-06_rb /) kbo(:,56, 5) = (/ & & 0.23828e-06_rb,0.26973e-06_rb,0.30048e-06_rb,0.33099e-06_rb,0.35949e-06_rb /) kbo(:,57, 5) = (/ & & 0.19083e-06_rb,0.21782e-06_rb,0.24350e-06_rb,0.26883e-06_rb,0.29309e-06_rb /) kbo(:,58, 5) = (/ & & 0.15334e-06_rb,0.17592e-06_rb,0.19753e-06_rb,0.21869e-06_rb,0.23903e-06_rb /) kbo(:,59, 5) = (/ & & 0.12635e-06_rb,0.14504e-06_rb,0.16321e-06_rb,0.18074e-06_rb,0.19759e-06_rb /) kbo(:,13, 6) = (/ & & 0.33433e-02_rb,0.34159e-02_rb,0.34798e-02_rb,0.35397e-02_rb,0.35995e-02_rb /) kbo(:,14, 6) = (/ & & 0.28039e-02_rb,0.28589e-02_rb,0.29090e-02_rb,0.29595e-02_rb,0.30108e-02_rb /) kbo(:,15, 6) = (/ & & 0.23135e-02_rb,0.23579e-02_rb,0.24012e-02_rb,0.24470e-02_rb,0.24900e-02_rb /) kbo(:,16, 6) = (/ & & 0.18925e-02_rb,0.19281e-02_rb,0.19671e-02_rb,0.20090e-02_rb,0.20445e-02_rb /) kbo(:,17, 6) = (/ & & 0.15365e-02_rb,0.15703e-02_rb,0.16039e-02_rb,0.16424e-02_rb,0.16760e-02_rb /) kbo(:,18, 6) = (/ & & 0.12424e-02_rb,0.12746e-02_rb,0.13067e-02_rb,0.13397e-02_rb,0.13687e-02_rb /) kbo(:,19, 6) = (/ & & 0.10113e-02_rb,0.10417e-02_rb,0.10664e-02_rb,0.10958e-02_rb,0.11231e-02_rb /) kbo(:,20, 6) = (/ & & 0.83375e-03_rb,0.85863e-03_rb,0.88098e-03_rb,0.90680e-03_rb,0.93093e-03_rb /) kbo(:,21, 6) = (/ & & 0.68849e-03_rb,0.71056e-03_rb,0.73161e-03_rb,0.75402e-03_rb,0.77432e-03_rb /) kbo(:,22, 6) = (/ & & 0.57076e-03_rb,0.59001e-03_rb,0.60925e-03_rb,0.62816e-03_rb,0.64531e-03_rb /) kbo(:,23, 6) = (/ & & 0.47462e-03_rb,0.49138e-03_rb,0.50818e-03_rb,0.52421e-03_rb,0.53930e-03_rb /) kbo(:,24, 6) = (/ & & 0.39552e-03_rb,0.41011e-03_rb,0.42460e-03_rb,0.43865e-03_rb,0.45206e-03_rb /) kbo(:,25, 6) = (/ & & 0.33041e-03_rb,0.34317e-03_rb,0.35573e-03_rb,0.36800e-03_rb,0.38005e-03_rb /) kbo(:,26, 6) = (/ & & 0.27699e-03_rb,0.28806e-03_rb,0.29892e-03_rb,0.30983e-03_rb,0.32038e-03_rb /) kbo(:,27, 6) = (/ & & 0.23253e-03_rb,0.24229e-03_rb,0.25208e-03_rb,0.26144e-03_rb,0.27039e-03_rb /) kbo(:,28, 6) = (/ & & 0.19573e-03_rb,0.20442e-03_rb,0.21276e-03_rb,0.22087e-03_rb,0.22869e-03_rb /) kbo(:,29, 6) = (/ & & 0.16528e-03_rb,0.17271e-03_rb,0.17974e-03_rb,0.18681e-03_rb,0.19373e-03_rb /) kbo(:,30, 6) = (/ & & 0.13949e-03_rb,0.14599e-03_rb,0.15214e-03_rb,0.15834e-03_rb,0.16448e-03_rb /) kbo(:,31, 6) = (/ & & 0.11793e-03_rb,0.12345e-03_rb,0.12891e-03_rb,0.13432e-03_rb,0.13975e-03_rb /) kbo(:,32, 6) = (/ & & 0.99845e-04_rb,0.10464e-03_rb,0.10941e-03_rb,0.11425e-03_rb,0.11896e-03_rb /) kbo(:,33, 6) = (/ & & 0.84723e-04_rb,0.88808e-04_rb,0.93054e-04_rb,0.97257e-04_rb,0.10144e-03_rb /) kbo(:,34, 6) = (/ & & 0.71857e-04_rb,0.75478e-04_rb,0.79245e-04_rb,0.82878e-04_rb,0.86527e-04_rb /) kbo(:,35, 6) = (/ & & 0.60741e-04_rb,0.63987e-04_rb,0.67190e-04_rb,0.70445e-04_rb,0.73634e-04_rb /) kbo(:,36, 6) = (/ & & 0.51094e-04_rb,0.53953e-04_rb,0.56787e-04_rb,0.59644e-04_rb,0.62421e-04_rb /) kbo(:,37, 6) = (/ & & 0.42809e-04_rb,0.45324e-04_rb,0.47805e-04_rb,0.50314e-04_rb,0.52797e-04_rb /) kbo(:,38, 6) = (/ & & 0.35862e-04_rb,0.38082e-04_rb,0.40249e-04_rb,0.42459e-04_rb,0.44691e-04_rb /) kbo(:,39, 6) = (/ & & 0.30047e-04_rb,0.31970e-04_rb,0.33877e-04_rb,0.35841e-04_rb,0.37792e-04_rb /) kbo(:,40, 6) = (/ & & 0.25051e-04_rb,0.26734e-04_rb,0.28429e-04_rb,0.30177e-04_rb,0.31859e-04_rb /) kbo(:,41, 6) = (/ & & 0.20858e-04_rb,0.22337e-04_rb,0.23837e-04_rb,0.25348e-04_rb,0.26845e-04_rb /) kbo(:,42, 6) = (/ & & 0.17358e-04_rb,0.18653e-04_rb,0.19947e-04_rb,0.21279e-04_rb,0.22614e-04_rb /) kbo(:,43, 6) = (/ & & 0.14382e-04_rb,0.15507e-04_rb,0.16637e-04_rb,0.17808e-04_rb,0.18975e-04_rb /) kbo(:,44, 6) = (/ & & 0.11875e-04_rb,0.12851e-04_rb,0.13847e-04_rb,0.14865e-04_rb,0.15886e-04_rb /) kbo(:,45, 6) = (/ & & 0.97824e-05_rb,0.10641e-04_rb,0.11497e-04_rb,0.12386e-04_rb,0.13288e-04_rb /) kbo(:,46, 6) = (/ & & 0.80305e-05_rb,0.87712e-05_rb,0.95170e-05_rb,0.10282e-04_rb,0.11073e-04_rb /) kbo(:,47, 6) = (/ & & 0.65554e-05_rb,0.71881e-05_rb,0.78331e-05_rb,0.85022e-05_rb,0.91799e-05_rb /) kbo(:,48, 6) = (/ & & 0.53399e-05_rb,0.58818e-05_rb,0.64364e-05_rb,0.70093e-05_rb,0.75992e-05_rb /) kbo(:,49, 6) = (/ & & 0.43396e-05_rb,0.47990e-05_rb,0.52727e-05_rb,0.57633e-05_rb,0.62785e-05_rb /) kbo(:,50, 6) = (/ & & 0.35272e-05_rb,0.39139e-05_rb,0.43230e-05_rb,0.47423e-05_rb,0.51819e-05_rb /) kbo(:,51, 6) = (/ & & 0.28624e-05_rb,0.31913e-05_rb,0.35379e-05_rb,0.38979e-05_rb,0.42744e-05_rb /) kbo(:,52, 6) = (/ & & 0.23189e-05_rb,0.25961e-05_rb,0.28907e-05_rb,0.31976e-05_rb,0.35200e-05_rb /) kbo(:,53, 6) = (/ & & 0.18736e-05_rb,0.21072e-05_rb,0.23576e-05_rb,0.26179e-05_rb,0.28943e-05_rb /) kbo(:,54, 6) = (/ & & 0.15155e-05_rb,0.17135e-05_rb,0.19245e-05_rb,0.21451e-05_rb,0.23808e-05_rb /) kbo(:,55, 6) = (/ & & 0.12250e-05_rb,0.13923e-05_rb,0.15714e-05_rb,0.17578e-05_rb,0.19597e-05_rb /) kbo(:,56, 6) = (/ & & 0.99012e-06_rb,0.11296e-05_rb,0.12801e-05_rb,0.14395e-05_rb,0.16107e-05_rb /) kbo(:,57, 6) = (/ & & 0.79875e-06_rb,0.91418e-06_rb,0.10408e-05_rb,0.11777e-05_rb,0.13212e-05_rb /) kbo(:,58, 6) = (/ & & 0.64474e-06_rb,0.74109e-06_rb,0.84664e-06_rb,0.96328e-06_rb,0.10849e-05_rb /) kbo(:,59, 6) = (/ & & 0.53296e-06_rb,0.61427e-06_rb,0.70385e-06_rb,0.80375e-06_rb,0.90863e-06_rb /) kbo(:,13, 7) = (/ & & 0.91063e-02_rb,0.92681e-02_rb,0.94045e-02_rb,0.95388e-02_rb,0.96735e-02_rb /) kbo(:,14, 7) = (/ & & 0.78483e-02_rb,0.79806e-02_rb,0.81238e-02_rb,0.82528e-02_rb,0.83603e-02_rb /) kbo(:,15, 7) = (/ & & 0.66269e-02_rb,0.67445e-02_rb,0.68845e-02_rb,0.69911e-02_rb,0.70854e-02_rb /) kbo(:,16, 7) = (/ & & 0.55183e-02_rb,0.56414e-02_rb,0.57574e-02_rb,0.58487e-02_rb,0.59407e-02_rb /) kbo(:,17, 7) = (/ & & 0.45693e-02_rb,0.46780e-02_rb,0.47743e-02_rb,0.48625e-02_rb,0.49467e-02_rb /) kbo(:,18, 7) = (/ & & 0.37611e-02_rb,0.38535e-02_rb,0.39408e-02_rb,0.40234e-02_rb,0.41007e-02_rb /) kbo(:,19, 7) = (/ & & 0.30991e-02_rb,0.31809e-02_rb,0.32647e-02_rb,0.33388e-02_rb,0.34042e-02_rb /) kbo(:,20, 7) = (/ & & 0.25858e-02_rb,0.26585e-02_rb,0.27347e-02_rb,0.27990e-02_rb,0.28579e-02_rb /) kbo(:,21, 7) = (/ & & 0.21672e-02_rb,0.22326e-02_rb,0.22973e-02_rb,0.23547e-02_rb,0.24058e-02_rb /) kbo(:,22, 7) = (/ & & 0.18211e-02_rb,0.18809e-02_rb,0.19364e-02_rb,0.19859e-02_rb,0.20352e-02_rb /) kbo(:,23, 7) = (/ & & 0.15314e-02_rb,0.15844e-02_rb,0.16332e-02_rb,0.16760e-02_rb,0.17243e-02_rb /) kbo(:,24, 7) = (/ & & 0.12924e-02_rb,0.13385e-02_rb,0.13793e-02_rb,0.14209e-02_rb,0.14659e-02_rb /) kbo(:,25, 7) = (/ & & 0.10926e-02_rb,0.11322e-02_rb,0.11689e-02_rb,0.12081e-02_rb,0.12493e-02_rb /) kbo(:,26, 7) = (/ & & 0.92756e-03_rb,0.96136e-03_rb,0.99601e-03_rb,0.10324e-02_rb,0.10695e-02_rb /) kbo(:,27, 7) = (/ & & 0.78832e-03_rb,0.81893e-03_rb,0.85137e-03_rb,0.88465e-03_rb,0.91885e-03_rb /) kbo(:,28, 7) = (/ & & 0.67097e-03_rb,0.69979e-03_rb,0.72985e-03_rb,0.76038e-03_rb,0.79213e-03_rb /) kbo(:,29, 7) = (/ & & 0.57231e-03_rb,0.59934e-03_rb,0.62727e-03_rb,0.65471e-03_rb,0.68389e-03_rb /) kbo(:,30, 7) = (/ & & 0.48996e-03_rb,0.51441e-03_rb,0.53945e-03_rb,0.56564e-03_rb,0.59164e-03_rb /) kbo(:,31, 7) = (/ & & 0.41998e-03_rb,0.44237e-03_rb,0.46551e-03_rb,0.48924e-03_rb,0.51322e-03_rb /) kbo(:,32, 7) = (/ & & 0.36133e-03_rb,0.38168e-03_rb,0.40297e-03_rb,0.42441e-03_rb,0.44722e-03_rb /) kbo(:,33, 7) = (/ & & 0.31153e-03_rb,0.33055e-03_rb,0.34980e-03_rb,0.36972e-03_rb,0.39086e-03_rb /) kbo(:,34, 7) = (/ & & 0.26941e-03_rb,0.28657e-03_rb,0.30436e-03_rb,0.32295e-03_rb,0.34256e-03_rb /) kbo(:,35, 7) = (/ & & 0.23210e-03_rb,0.24782e-03_rb,0.26411e-03_rb,0.28121e-03_rb,0.29930e-03_rb /) kbo(:,36, 7) = (/ & & 0.19904e-03_rb,0.21311e-03_rb,0.22797e-03_rb,0.24380e-03_rb,0.26030e-03_rb /) kbo(:,37, 7) = (/ & & 0.17000e-03_rb,0.18300e-03_rb,0.19666e-03_rb,0.21128e-03_rb,0.22641e-03_rb /) kbo(:,38, 7) = (/ & & 0.14528e-03_rb,0.15704e-03_rb,0.16975e-03_rb,0.18320e-03_rb,0.19735e-03_rb /) kbo(:,39, 7) = (/ & & 0.12414e-03_rb,0.13496e-03_rb,0.14654e-03_rb,0.15899e-03_rb,0.17211e-03_rb /) kbo(:,40, 7) = (/ & & 0.10567e-03_rb,0.11547e-03_rb,0.12618e-03_rb,0.13765e-03_rb,0.14994e-03_rb /) kbo(:,41, 7) = (/ & & 0.89774e-04_rb,0.98751e-04_rb,0.10852e-03_rb,0.11918e-03_rb,0.13057e-03_rb /) kbo(:,42, 7) = (/ & & 0.76232e-04_rb,0.84383e-04_rb,0.93336e-04_rb,0.10314e-03_rb,0.11381e-03_rb /) kbo(:,43, 7) = (/ & & 0.64370e-04_rb,0.71684e-04_rb,0.79797e-04_rb,0.88850e-04_rb,0.98733e-04_rb /) kbo(:,44, 7) = (/ & & 0.54125e-04_rb,0.60680e-04_rb,0.68042e-04_rb,0.76313e-04_rb,0.85432e-04_rb /) kbo(:,45, 7) = (/ & & 0.45374e-04_rb,0.51280e-04_rb,0.57932e-04_rb,0.65429e-04_rb,0.73852e-04_rb /) kbo(:,46, 7) = (/ & & 0.37861e-04_rb,0.43078e-04_rb,0.49016e-04_rb,0.55844e-04_rb,0.63538e-04_rb /) kbo(:,47, 7) = (/ & & 0.31342e-04_rb,0.35879e-04_rb,0.41175e-04_rb,0.47252e-04_rb,0.54286e-04_rb /) kbo(:,48, 7) = (/ & & 0.25821e-04_rb,0.29777e-04_rb,0.34458e-04_rb,0.39880e-04_rb,0.46218e-04_rb /) kbo(:,49, 7) = (/ & & 0.21180e-04_rb,0.24617e-04_rb,0.28719e-04_rb,0.33507e-04_rb,0.39184e-04_rb /) kbo(:,50, 7) = (/ & & 0.17377e-04_rb,0.20345e-04_rb,0.23916e-04_rb,0.28177e-04_rb,0.33237e-04_rb /) kbo(:,51, 7) = (/ & & 0.14223e-04_rb,0.16790e-04_rb,0.19868e-04_rb,0.23656e-04_rb,0.28163e-04_rb /) kbo(:,52, 7) = (/ & & 0.11593e-04_rb,0.13788e-04_rb,0.16479e-04_rb,0.19773e-04_rb,0.23765e-04_rb /) kbo(:,53, 7) = (/ & & 0.94141e-05_rb,0.11279e-04_rb,0.13591e-04_rb,0.16447e-04_rb,0.19969e-04_rb /) kbo(:,54, 7) = (/ & & 0.76622e-05_rb,0.92417e-05_rb,0.11233e-04_rb,0.13709e-04_rb,0.16819e-04_rb /) kbo(:,55, 7) = (/ & & 0.62315e-05_rb,0.75671e-05_rb,0.92699e-05_rb,0.11429e-04_rb,0.14186e-04_rb /) kbo(:,56, 7) = (/ & & 0.50473e-05_rb,0.61766e-05_rb,0.76316e-05_rb,0.94979e-05_rb,0.11890e-04_rb /) kbo(:,57, 7) = (/ & & 0.40773e-05_rb,0.50242e-05_rb,0.62540e-05_rb,0.78594e-05_rb,0.99378e-05_rb /) kbo(:,58, 7) = (/ & & 0.32937e-05_rb,0.40862e-05_rb,0.51228e-05_rb,0.64992e-05_rb,0.83112e-05_rb /) kbo(:,59, 7) = (/ & & 0.27593e-05_rb,0.34505e-05_rb,0.43716e-05_rb,0.56035e-05_rb,0.72609e-05_rb /) kbo(:,13, 8) = (/ & & 0.25990e-01_rb,0.25997e-01_rb,0.26024e-01_rb,0.26038e-01_rb,0.26132e-01_rb /) kbo(:,14, 8) = (/ & & 0.22648e-01_rb,0.22731e-01_rb,0.22803e-01_rb,0.22861e-01_rb,0.23020e-01_rb /) kbo(:,15, 8) = (/ & & 0.19641e-01_rb,0.19812e-01_rb,0.19880e-01_rb,0.19998e-01_rb,0.20141e-01_rb /) kbo(:,16, 8) = (/ & & 0.16909e-01_rb,0.17030e-01_rb,0.17148e-01_rb,0.17296e-01_rb,0.17502e-01_rb /) kbo(:,17, 8) = (/ & & 0.14365e-01_rb,0.14504e-01_rb,0.14643e-01_rb,0.14808e-01_rb,0.14996e-01_rb /) kbo(:,18, 8) = (/ & & 0.12072e-01_rb,0.12207e-01_rb,0.12346e-01_rb,0.12513e-01_rb,0.12742e-01_rb /) kbo(:,19, 8) = (/ & & 0.10135e-01_rb,0.10263e-01_rb,0.10402e-01_rb,0.10602e-01_rb,0.10794e-01_rb /) kbo(:,20, 8) = (/ & & 0.86508e-02_rb,0.87951e-02_rb,0.89765e-02_rb,0.91530e-02_rb,0.93447e-02_rb /) kbo(:,21, 8) = (/ & & 0.74228e-02_rb,0.75964e-02_rb,0.77805e-02_rb,0.79441e-02_rb,0.81266e-02_rb /) kbo(:,22, 8) = (/ & & 0.63949e-02_rb,0.65920e-02_rb,0.67584e-02_rb,0.69298e-02_rb,0.70968e-02_rb /) kbo(:,23, 8) = (/ & & 0.55389e-02_rb,0.57165e-02_rb,0.58834e-02_rb,0.60490e-02_rb,0.62163e-02_rb /) kbo(:,24, 8) = (/ & & 0.47980e-02_rb,0.49696e-02_rb,0.51333e-02_rb,0.53055e-02_rb,0.54695e-02_rb /) kbo(:,25, 8) = (/ & & 0.41676e-02_rb,0.43357e-02_rb,0.44999e-02_rb,0.46749e-02_rb,0.48179e-02_rb /) kbo(:,26, 8) = (/ & & 0.36391e-02_rb,0.38079e-02_rb,0.39834e-02_rb,0.41374e-02_rb,0.42754e-02_rb /) kbo(:,27, 8) = (/ & & 0.31917e-02_rb,0.33580e-02_rb,0.35237e-02_rb,0.36737e-02_rb,0.37982e-02_rb /) kbo(:,28, 8) = (/ & & 0.28096e-02_rb,0.29709e-02_rb,0.31242e-02_rb,0.32613e-02_rb,0.33829e-02_rb /) kbo(:,29, 8) = (/ & & 0.24786e-02_rb,0.26272e-02_rb,0.27706e-02_rb,0.28986e-02_rb,0.30130e-02_rb /) kbo(:,30, 8) = (/ & & 0.21907e-02_rb,0.23282e-02_rb,0.24574e-02_rb,0.25778e-02_rb,0.26806e-02_rb /) kbo(:,31, 8) = (/ & & 0.19346e-02_rb,0.20569e-02_rb,0.21757e-02_rb,0.22805e-02_rb,0.23742e-02_rb /) kbo(:,32, 8) = (/ & & 0.17101e-02_rb,0.18247e-02_rb,0.19308e-02_rb,0.20256e-02_rb,0.21176e-02_rb /) kbo(:,33, 8) = (/ & & 0.15171e-02_rb,0.16168e-02_rb,0.17121e-02_rb,0.18035e-02_rb,0.18911e-02_rb /) kbo(:,34, 8) = (/ & & 0.13466e-02_rb,0.14390e-02_rb,0.15246e-02_rb,0.16083e-02_rb,0.16921e-02_rb /) kbo(:,35, 8) = (/ & & 0.11871e-02_rb,0.12698e-02_rb,0.13534e-02_rb,0.14320e-02_rb,0.15071e-02_rb /) kbo(:,36, 8) = (/ & & 0.10388e-02_rb,0.11179e-02_rb,0.11934e-02_rb,0.12647e-02_rb,0.13391e-02_rb /) kbo(:,37, 8) = (/ & & 0.92233e-03_rb,0.99854e-03_rb,0.10722e-02_rb,0.11426e-02_rb,0.12118e-02_rb /) kbo(:,38, 8) = (/ & & 0.81843e-03_rb,0.89236e-03_rb,0.96605e-03_rb,0.10340e-02_rb,0.11003e-02_rb /) kbo(:,39, 8) = (/ & & 0.72738e-03_rb,0.79777e-03_rb,0.86997e-03_rb,0.93496e-03_rb,0.99852e-03_rb /) kbo(:,40, 8) = (/ & & 0.65149e-03_rb,0.72098e-03_rb,0.79235e-03_rb,0.86116e-03_rb,0.92474e-03_rb /) kbo(:,41, 8) = (/ & & 0.58318e-03_rb,0.65154e-03_rb,0.72160e-03_rb,0.79400e-03_rb,0.85973e-03_rb /) kbo(:,42, 8) = (/ & & 0.52127e-03_rb,0.58770e-03_rb,0.65781e-03_rb,0.73110e-03_rb,0.80165e-03_rb /) kbo(:,43, 8) = (/ & & 0.46404e-03_rb,0.52960e-03_rb,0.59886e-03_rb,0.67366e-03_rb,0.74727e-03_rb /) kbo(:,44, 8) = (/ & & 0.41229e-03_rb,0.47609e-03_rb,0.54424e-03_rb,0.61918e-03_rb,0.69366e-03_rb /) kbo(:,45, 8) = (/ & & 0.36534e-03_rb,0.42624e-03_rb,0.49374e-03_rb,0.56668e-03_rb,0.64364e-03_rb /) kbo(:,46, 8) = (/ & & 0.32134e-03_rb,0.37987e-03_rb,0.44597e-03_rb,0.51669e-03_rb,0.59469e-03_rb /) kbo(:,47, 8) = (/ & & 0.27855e-03_rb,0.33531e-03_rb,0.39855e-03_rb,0.46832e-03_rb,0.54562e-03_rb /) kbo(:,48, 8) = (/ & & 0.24094e-03_rb,0.29440e-03_rb,0.35477e-03_rb,0.42284e-03_rb,0.49767e-03_rb /) kbo(:,49, 8) = (/ & & 0.20710e-03_rb,0.25712e-03_rb,0.31425e-03_rb,0.38098e-03_rb,0.45465e-03_rb /) kbo(:,50, 8) = (/ & & 0.17757e-03_rb,0.22422e-03_rb,0.27906e-03_rb,0.34231e-03_rb,0.41419e-03_rb /) kbo(:,51, 8) = (/ & & 0.15198e-03_rb,0.19538e-03_rb,0.24758e-03_rb,0.30796e-03_rb,0.37765e-03_rb /) kbo(:,52, 8) = (/ & & 0.12943e-03_rb,0.16907e-03_rb,0.21812e-03_rb,0.27585e-03_rb,0.34284e-03_rb /) kbo(:,53, 8) = (/ & & 0.10946e-03_rb,0.14560e-03_rb,0.19103e-03_rb,0.24633e-03_rb,0.31049e-03_rb /) kbo(:,54, 8) = (/ & & 0.92950e-04_rb,0.12599e-03_rb,0.16848e-03_rb,0.22109e-03_rb,0.28266e-03_rb /) kbo(:,55, 8) = (/ & & 0.78722e-04_rb,0.10883e-03_rb,0.14831e-03_rb,0.19790e-03_rb,0.25770e-03_rb /) kbo(:,56, 8) = (/ & & 0.66323e-04_rb,0.93651e-04_rb,0.12983e-03_rb,0.17638e-03_rb,0.23393e-03_rb /) kbo(:,57, 8) = (/ & & 0.55644e-04_rb,0.80085e-04_rb,0.11349e-03_rb,0.15741e-03_rb,0.21274e-03_rb /) kbo(:,58, 8) = (/ & & 0.46537e-04_rb,0.68442e-04_rb,0.99190e-04_rb,0.14045e-03_rb,0.19327e-03_rb /) kbo(:,59, 8) = (/ & & 0.41558e-04_rb,0.62503e-04_rb,0.92377e-04_rb,0.13258e-03_rb,0.18528e-03_rb /) kbo(:,13, 9) = (/ & & 0.14836e+00_rb,0.15039e+00_rb,0.15239e+00_rb,0.15389e+00_rb,0.15517e+00_rb /) kbo(:,14, 9) = (/ & & 0.12935e+00_rb,0.13183e+00_rb,0.13366e+00_rb,0.13551e+00_rb,0.13674e+00_rb /) kbo(:,15, 9) = (/ & & 0.11269e+00_rb,0.11456e+00_rb,0.11672e+00_rb,0.11824e+00_rb,0.11951e+00_rb /) kbo(:,16, 9) = (/ & & 0.97577e-01_rb,0.99647e-01_rb,0.10140e+00_rb,0.10272e+00_rb,0.10390e+00_rb /) kbo(:,17, 9) = (/ & & 0.84601e-01_rb,0.86370e-01_rb,0.87860e-01_rb,0.89144e-01_rb,0.90341e-01_rb /) kbo(:,18, 9) = (/ & & 0.72851e-01_rb,0.74498e-01_rb,0.75924e-01_rb,0.77220e-01_rb,0.78434e-01_rb /) kbo(:,19, 9) = (/ & & 0.62688e-01_rb,0.64121e-01_rb,0.65574e-01_rb,0.66965e-01_rb,0.68243e-01_rb /) kbo(:,20, 9) = (/ & & 0.54382e-01_rb,0.55704e-01_rb,0.57013e-01_rb,0.58303e-01_rb,0.59763e-01_rb /) kbo(:,21, 9) = (/ & & 0.47190e-01_rb,0.48469e-01_rb,0.49752e-01_rb,0.51138e-01_rb,0.52452e-01_rb /) kbo(:,22, 9) = (/ & & 0.41104e-01_rb,0.42378e-01_rb,0.43684e-01_rb,0.45035e-01_rb,0.46495e-01_rb /) kbo(:,23, 9) = (/ & & 0.35910e-01_rb,0.37220e-01_rb,0.38484e-01_rb,0.39789e-01_rb,0.41443e-01_rb /) kbo(:,24, 9) = (/ & & 0.31558e-01_rb,0.32836e-01_rb,0.34085e-01_rb,0.35462e-01_rb,0.37160e-01_rb /) kbo(:,25, 9) = (/ & & 0.27861e-01_rb,0.29090e-01_rb,0.30363e-01_rb,0.31857e-01_rb,0.33566e-01_rb /) kbo(:,26, 9) = (/ & & 0.24743e-01_rb,0.26003e-01_rb,0.27311e-01_rb,0.28788e-01_rb,0.30553e-01_rb /) kbo(:,27, 9) = (/ & & 0.22141e-01_rb,0.23397e-01_rb,0.24754e-01_rb,0.26282e-01_rb,0.28040e-01_rb /) kbo(:,28, 9) = (/ & & 0.19941e-01_rb,0.21165e-01_rb,0.22565e-01_rb,0.24131e-01_rb,0.25980e-01_rb /) kbo(:,29, 9) = (/ & & 0.18046e-01_rb,0.19353e-01_rb,0.20736e-01_rb,0.22375e-01_rb,0.24248e-01_rb /) kbo(:,30, 9) = (/ & & 0.16429e-01_rb,0.17775e-01_rb,0.19238e-01_rb,0.20907e-01_rb,0.22847e-01_rb /) kbo(:,31, 9) = (/ & & 0.15094e-01_rb,0.16450e-01_rb,0.17992e-01_rb,0.19741e-01_rb,0.21608e-01_rb /) kbo(:,32, 9) = (/ & & 0.13975e-01_rb,0.15315e-01_rb,0.16950e-01_rb,0.18741e-01_rb,0.20564e-01_rb /) kbo(:,33, 9) = (/ & & 0.13026e-01_rb,0.14475e-01_rb,0.16113e-01_rb,0.17903e-01_rb,0.19794e-01_rb /) kbo(:,34, 9) = (/ & & 0.12248e-01_rb,0.13747e-01_rb,0.15391e-01_rb,0.17142e-01_rb,0.19155e-01_rb /) kbo(:,35, 9) = (/ & & 0.11491e-01_rb,0.12979e-01_rb,0.14611e-01_rb,0.16423e-01_rb,0.18475e-01_rb /) kbo(:,36, 9) = (/ & & 0.10695e-01_rb,0.12142e-01_rb,0.13822e-01_rb,0.15678e-01_rb,0.17729e-01_rb /) kbo(:,37, 9) = (/ & & 0.98761e-02_rb,0.11300e-01_rb,0.13000e-01_rb,0.14808e-01_rb,0.16848e-01_rb /) kbo(:,38, 9) = (/ & & 0.91358e-02_rb,0.10538e-01_rb,0.12200e-01_rb,0.13999e-01_rb,0.16082e-01_rb /) kbo(:,39, 9) = (/ & & 0.84558e-02_rb,0.98580e-02_rb,0.11508e-01_rb,0.13321e-01_rb,0.15372e-01_rb /) kbo(:,40, 9) = (/ & & 0.78020e-02_rb,0.91740e-02_rb,0.10778e-01_rb,0.12588e-01_rb,0.14594e-01_rb /) kbo(:,41, 9) = (/ & & 0.72028e-02_rb,0.85294e-02_rb,0.10093e-01_rb,0.11887e-01_rb,0.13872e-01_rb /) kbo(:,42, 9) = (/ & & 0.66335e-02_rb,0.79299e-02_rb,0.94524e-02_rb,0.11233e-01_rb,0.13162e-01_rb /) kbo(:,43, 9) = (/ & & 0.60936e-02_rb,0.73819e-02_rb,0.88361e-02_rb,0.10555e-01_rb,0.12456e-01_rb /) kbo(:,44, 9) = (/ & & 0.55851e-02_rb,0.68018e-02_rb,0.82487e-02_rb,0.98836e-02_rb,0.11744e-01_rb /) kbo(:,45, 9) = (/ & & 0.51361e-02_rb,0.62783e-02_rb,0.76910e-02_rb,0.92631e-02_rb,0.11096e-01_rb /) kbo(:,46, 9) = (/ & & 0.46789e-02_rb,0.57877e-02_rb,0.71257e-02_rb,0.86688e-02_rb,0.10399e-01_rb /) kbo(:,47, 9) = (/ & & 0.42434e-02_rb,0.53043e-02_rb,0.65448e-02_rb,0.80300e-02_rb,0.97286e-02_rb /) kbo(:,48, 9) = (/ & & 0.38917e-02_rb,0.48269e-02_rb,0.60283e-02_rb,0.74378e-02_rb,0.90783e-02_rb /) kbo(:,49, 9) = (/ & & 0.35823e-02_rb,0.43988e-02_rb,0.55409e-02_rb,0.68845e-02_rb,0.84495e-02_rb /) kbo(:,50, 9) = (/ & & 0.33116e-02_rb,0.40852e-02_rb,0.51044e-02_rb,0.63885e-02_rb,0.78773e-02_rb /) kbo(:,51, 9) = (/ & & 0.30752e-02_rb,0.38103e-02_rb,0.47346e-02_rb,0.59580e-02_rb,0.73779e-02_rb /) kbo(:,52, 9) = (/ & & 0.28626e-02_rb,0.35553e-02_rb,0.44430e-02_rb,0.55409e-02_rb,0.69343e-02_rb /) kbo(:,53, 9) = (/ & & 0.26485e-02_rb,0.33392e-02_rb,0.41695e-02_rb,0.51739e-02_rb,0.64753e-02_rb /) kbo(:,54, 9) = (/ & & 0.24736e-02_rb,0.31489e-02_rb,0.39367e-02_rb,0.48954e-02_rb,0.61401e-02_rb /) kbo(:,55, 9) = (/ & & 0.23362e-02_rb,0.29819e-02_rb,0.37593e-02_rb,0.46985e-02_rb,0.58363e-02_rb /) kbo(:,56, 9) = (/ & & 0.22243e-02_rb,0.28447e-02_rb,0.35827e-02_rb,0.44762e-02_rb,0.55720e-02_rb /) kbo(:,57, 9) = (/ & & 0.21389e-02_rb,0.27081e-02_rb,0.34315e-02_rb,0.43182e-02_rb,0.53898e-02_rb /) kbo(:,58, 9) = (/ & & 0.20428e-02_rb,0.25997e-02_rb,0.33047e-02_rb,0.41726e-02_rb,0.52071e-02_rb /) kbo(:,59, 9) = (/ & & 0.20538e-02_rb,0.26323e-02_rb,0.33247e-02_rb,0.41770e-02_rb,0.52496e-02_rb /) kbo(:,13,10) = (/ & & 0.58637e+00_rb,0.59481e+00_rb,0.59811e+00_rb,0.60451e+00_rb,0.60418e+00_rb /) kbo(:,14,10) = (/ & & 0.53191e+00_rb,0.53363e+00_rb,0.53861e+00_rb,0.53976e+00_rb,0.53933e+00_rb /) kbo(:,15,10) = (/ & & 0.47845e+00_rb,0.48447e+00_rb,0.48498e+00_rb,0.48691e+00_rb,0.48935e+00_rb /) kbo(:,16,10) = (/ & & 0.42695e+00_rb,0.43265e+00_rb,0.43442e+00_rb,0.43949e+00_rb,0.44244e+00_rb /) kbo(:,17,10) = (/ & & 0.37796e+00_rb,0.38437e+00_rb,0.38958e+00_rb,0.39367e+00_rb,0.39802e+00_rb /) kbo(:,18,10) = (/ & & 0.33399e+00_rb,0.33971e+00_rb,0.34517e+00_rb,0.35032e+00_rb,0.35265e+00_rb /) kbo(:,19,10) = (/ & & 0.29538e+00_rb,0.30247e+00_rb,0.30713e+00_rb,0.30943e+00_rb,0.31544e+00_rb /) kbo(:,20,10) = (/ & & 0.26154e+00_rb,0.26955e+00_rb,0.27264e+00_rb,0.27778e+00_rb,0.28167e+00_rb /) kbo(:,21,10) = (/ & & 0.23200e+00_rb,0.23896e+00_rb,0.24468e+00_rb,0.24838e+00_rb,0.25453e+00_rb /) kbo(:,22,10) = (/ & & 0.20714e+00_rb,0.21368e+00_rb,0.21959e+00_rb,0.22402e+00_rb,0.22934e+00_rb /) kbo(:,23,10) = (/ & & 0.18514e+00_rb,0.19070e+00_rb,0.19771e+00_rb,0.20426e+00_rb,0.20794e+00_rb /) kbo(:,24,10) = (/ & & 0.16629e+00_rb,0.17247e+00_rb,0.17943e+00_rb,0.18543e+00_rb,0.19044e+00_rb /) kbo(:,25,10) = (/ & & 0.15103e+00_rb,0.15758e+00_rb,0.16440e+00_rb,0.16947e+00_rb,0.17504e+00_rb /) kbo(:,26,10) = (/ & & 0.13782e+00_rb,0.14448e+00_rb,0.15050e+00_rb,0.15723e+00_rb,0.16403e+00_rb /) kbo(:,27,10) = (/ & & 0.12675e+00_rb,0.13284e+00_rb,0.13902e+00_rb,0.14547e+00_rb,0.15299e+00_rb /) kbo(:,28,10) = (/ & & 0.11700e+00_rb,0.12400e+00_rb,0.13029e+00_rb,0.13779e+00_rb,0.14535e+00_rb /) kbo(:,29,10) = (/ & & 0.10975e+00_rb,0.11580e+00_rb,0.12300e+00_rb,0.13106e+00_rb,0.13981e+00_rb /) kbo(:,30,10) = (/ & & 0.10326e+00_rb,0.10877e+00_rb,0.11694e+00_rb,0.12523e+00_rb,0.13409e+00_rb /) kbo(:,31,10) = (/ & & 0.97072e-01_rb,0.10392e+00_rb,0.11191e+00_rb,0.12092e+00_rb,0.13156e+00_rb /) kbo(:,32,10) = (/ & & 0.92483e-01_rb,0.10003e+00_rb,0.10847e+00_rb,0.11777e+00_rb,0.12978e+00_rb /) kbo(:,33,10) = (/ & & 0.89436e-01_rb,0.96549e-01_rb,0.10550e+00_rb,0.11582e+00_rb,0.12938e+00_rb /) kbo(:,34,10) = (/ & & 0.86605e-01_rb,0.93852e-01_rb,0.10437e+00_rb,0.11565e+00_rb,0.13025e+00_rb /) kbo(:,35,10) = (/ & & 0.83755e-01_rb,0.92443e-01_rb,0.10318e+00_rb,0.11569e+00_rb,0.13035e+00_rb /) kbo(:,36,10) = (/ & & 0.80159e-01_rb,0.90106e-01_rb,0.10185e+00_rb,0.11331e+00_rb,0.13105e+00_rb /) kbo(:,37,10) = (/ & & 0.76863e-01_rb,0.86981e-01_rb,0.98816e-01_rb,0.11094e+00_rb,0.12837e+00_rb /) kbo(:,38,10) = (/ & & 0.73911e-01_rb,0.84640e-01_rb,0.95988e-01_rb,0.10951e+00_rb,0.12524e+00_rb /) kbo(:,39,10) = (/ & & 0.71484e-01_rb,0.82465e-01_rb,0.93807e-01_rb,0.10732e+00_rb,0.12288e+00_rb /) kbo(:,40,10) = (/ & & 0.68367e-01_rb,0.78553e-01_rb,0.90288e-01_rb,0.10290e+00_rb,0.11884e+00_rb /) kbo(:,41,10) = (/ & & 0.65972e-01_rb,0.75367e-01_rb,0.87331e-01_rb,0.98979e-01_rb,0.11479e+00_rb /) kbo(:,42,10) = (/ & & 0.63899e-01_rb,0.72995e-01_rb,0.84392e-01_rb,0.96170e-01_rb,0.11066e+00_rb /) kbo(:,43,10) = (/ & & 0.61601e-01_rb,0.69361e-01_rb,0.80265e-01_rb,0.92296e-01_rb,0.10575e+00_rb /) kbo(:,44,10) = (/ & & 0.58053e-01_rb,0.67236e-01_rb,0.77057e-01_rb,0.88848e-01_rb,0.10118e+00_rb /) kbo(:,45,10) = (/ & & 0.55041e-01_rb,0.64788e-01_rb,0.73479e-01_rb,0.85189e-01_rb,0.97294e-01_rb /) kbo(:,46,10) = (/ & & 0.51538e-01_rb,0.61359e-01_rb,0.70493e-01_rb,0.81342e-01_rb,0.93711e-01_rb /) kbo(:,47,10) = (/ & & 0.48229e-01_rb,0.57754e-01_rb,0.67703e-01_rb,0.77712e-01_rb,0.88779e-01_rb /) kbo(:,48,10) = (/ & & 0.44328e-01_rb,0.53953e-01_rb,0.64327e-01_rb,0.74186e-01_rb,0.85354e-01_rb /) kbo(:,49,10) = (/ & & 0.40181e-01_rb,0.50939e-01_rb,0.60544e-01_rb,0.71079e-01_rb,0.81883e-01_rb /) kbo(:,50,10) = (/ & & 0.36327e-01_rb,0.47243e-01_rb,0.57625e-01_rb,0.67925e-01_rb,0.78806e-01_rb /) kbo(:,51,10) = (/ & & 0.33026e-01_rb,0.43278e-01_rb,0.54464e-01_rb,0.64411e-01_rb,0.75916e-01_rb /) kbo(:,52,10) = (/ & & 0.29600e-01_rb,0.39888e-01_rb,0.50913e-01_rb,0.61457e-01_rb,0.72719e-01_rb /) kbo(:,53,10) = (/ & & 0.26994e-01_rb,0.36264e-01_rb,0.46926e-01_rb,0.58631e-01_rb,0.68972e-01_rb /) kbo(:,54,10) = (/ & & 0.24928e-01_rb,0.33245e-01_rb,0.43870e-01_rb,0.55481e-01_rb,0.66121e-01_rb /) kbo(:,55,10) = (/ & & 0.23329e-01_rb,0.30647e-01_rb,0.40729e-01_rb,0.52051e-01_rb,0.63960e-01_rb /) kbo(:,56,10) = (/ & & 0.21581e-01_rb,0.28578e-01_rb,0.37651e-01_rb,0.48828e-01_rb,0.60673e-01_rb /) kbo(:,57,10) = (/ & & 0.20121e-01_rb,0.27060e-01_rb,0.35152e-01_rb,0.45854e-01_rb,0.57152e-01_rb /) kbo(:,58,10) = (/ & & 0.18692e-01_rb,0.25639e-01_rb,0.32995e-01_rb,0.42657e-01_rb,0.54655e-01_rb /) kbo(:,59,10) = (/ & & 0.18277e-01_rb,0.25273e-01_rb,0.32791e-01_rb,0.42508e-01_rb,0.53680e-01_rb /) kbo(:,13,11) = (/ & & 0.10693e+01_rb,0.10902e+01_rb,0.11032e+01_rb,0.10991e+01_rb,0.11118e+01_rb /) kbo(:,14,11) = (/ & & 0.95953e+00_rb,0.97384e+00_rb,0.98577e+00_rb,0.99728e+00_rb,0.10070e+01_rb /) kbo(:,15,11) = (/ & & 0.85940e+00_rb,0.86781e+00_rb,0.87766e+00_rb,0.88834e+00_rb,0.89855e+00_rb /) kbo(:,16,11) = (/ & & 0.76187e+00_rb,0.76651e+00_rb,0.78116e+00_rb,0.79605e+00_rb,0.80429e+00_rb /) kbo(:,17,11) = (/ & & 0.67627e+00_rb,0.68377e+00_rb,0.69734e+00_rb,0.70867e+00_rb,0.71758e+00_rb /) kbo(:,18,11) = (/ & & 0.60442e+00_rb,0.61462e+00_rb,0.62319e+00_rb,0.63477e+00_rb,0.64696e+00_rb /) kbo(:,19,11) = (/ & & 0.54250e+00_rb,0.55180e+00_rb,0.56132e+00_rb,0.57649e+00_rb,0.58604e+00_rb /) kbo(:,20,11) = (/ & & 0.49000e+00_rb,0.49922e+00_rb,0.51229e+00_rb,0.52536e+00_rb,0.53903e+00_rb /) kbo(:,21,11) = (/ & & 0.44362e+00_rb,0.45018e+00_rb,0.46523e+00_rb,0.48212e+00_rb,0.49590e+00_rb /) kbo(:,22,11) = (/ & & 0.40390e+00_rb,0.41136e+00_rb,0.42554e+00_rb,0.44299e+00_rb,0.45956e+00_rb /) kbo(:,23,11) = (/ & & 0.36600e+00_rb,0.37646e+00_rb,0.39144e+00_rb,0.40936e+00_rb,0.42622e+00_rb /) kbo(:,24,11) = (/ & & 0.33488e+00_rb,0.34802e+00_rb,0.36259e+00_rb,0.38089e+00_rb,0.39832e+00_rb /) kbo(:,25,11) = (/ & & 0.30569e+00_rb,0.32099e+00_rb,0.33730e+00_rb,0.35716e+00_rb,0.37447e+00_rb /) kbo(:,26,11) = (/ & & 0.28345e+00_rb,0.29933e+00_rb,0.31861e+00_rb,0.33716e+00_rb,0.35400e+00_rb /) kbo(:,27,11) = (/ & & 0.26524e+00_rb,0.28116e+00_rb,0.30310e+00_rb,0.32398e+00_rb,0.34341e+00_rb /) kbo(:,28,11) = (/ & & 0.25036e+00_rb,0.26748e+00_rb,0.29040e+00_rb,0.31038e+00_rb,0.33527e+00_rb /) kbo(:,29,11) = (/ & & 0.23678e+00_rb,0.25759e+00_rb,0.27958e+00_rb,0.30373e+00_rb,0.33097e+00_rb /) kbo(:,30,11) = (/ & & 0.22835e+00_rb,0.25043e+00_rb,0.27298e+00_rb,0.30247e+00_rb,0.33069e+00_rb /) kbo(:,31,11) = (/ & & 0.22381e+00_rb,0.24448e+00_rb,0.27386e+00_rb,0.30198e+00_rb,0.33135e+00_rb /) kbo(:,32,11) = (/ & & 0.21945e+00_rb,0.24581e+00_rb,0.27557e+00_rb,0.30488e+00_rb,0.33817e+00_rb /) kbo(:,33,11) = (/ & & 0.22020e+00_rb,0.24997e+00_rb,0.27933e+00_rb,0.31199e+00_rb,0.34537e+00_rb /) kbo(:,34,11) = (/ & & 0.22328e+00_rb,0.25315e+00_rb,0.28560e+00_rb,0.31999e+00_rb,0.35204e+00_rb /) kbo(:,35,11) = (/ & & 0.22463e+00_rb,0.25599e+00_rb,0.29016e+00_rb,0.32472e+00_rb,0.35705e+00_rb /) kbo(:,36,11) = (/ & & 0.22454e+00_rb,0.25719e+00_rb,0.29064e+00_rb,0.32676e+00_rb,0.35643e+00_rb /) kbo(:,37,11) = (/ & & 0.21917e+00_rb,0.25146e+00_rb,0.28533e+00_rb,0.32018e+00_rb,0.35207e+00_rb /) kbo(:,38,11) = (/ & & 0.21431e+00_rb,0.24593e+00_rb,0.28070e+00_rb,0.31440e+00_rb,0.34740e+00_rb /) kbo(:,39,11) = (/ & & 0.20995e+00_rb,0.24107e+00_rb,0.27540e+00_rb,0.30795e+00_rb,0.34247e+00_rb /) kbo(:,40,11) = (/ & & 0.20148e+00_rb,0.23319e+00_rb,0.26577e+00_rb,0.30086e+00_rb,0.33366e+00_rb /) kbo(:,41,11) = (/ & & 0.19132e+00_rb,0.22478e+00_rb,0.25632e+00_rb,0.29251e+00_rb,0.32436e+00_rb /) kbo(:,42,11) = (/ & & 0.18231e+00_rb,0.21584e+00_rb,0.24724e+00_rb,0.28164e+00_rb,0.31641e+00_rb /) kbo(:,43,11) = (/ & & 0.17273e+00_rb,0.20475e+00_rb,0.23702e+00_rb,0.26984e+00_rb,0.30535e+00_rb /) kbo(:,44,11) = (/ & & 0.16365e+00_rb,0.19313e+00_rb,0.22566e+00_rb,0.25812e+00_rb,0.29340e+00_rb /) kbo(:,45,11) = (/ & & 0.15471e+00_rb,0.18278e+00_rb,0.21464e+00_rb,0.24686e+00_rb,0.28060e+00_rb /) kbo(:,46,11) = (/ & & 0.14477e+00_rb,0.17256e+00_rb,0.20328e+00_rb,0.23515e+00_rb,0.26753e+00_rb /) kbo(:,47,11) = (/ & & 0.13513e+00_rb,0.16209e+00_rb,0.19092e+00_rb,0.22162e+00_rb,0.25481e+00_rb /) kbo(:,48,11) = (/ & & 0.12632e+00_rb,0.15056e+00_rb,0.17900e+00_rb,0.20905e+00_rb,0.24085e+00_rb /) kbo(:,49,11) = (/ & & 0.11846e+00_rb,0.14059e+00_rb,0.16812e+00_rb,0.19759e+00_rb,0.22701e+00_rb /) kbo(:,50,11) = (/ & & 0.11278e+00_rb,0.13341e+00_rb,0.15756e+00_rb,0.18662e+00_rb,0.21629e+00_rb /) kbo(:,51,11) = (/ & & 0.10711e+00_rb,0.12752e+00_rb,0.14951e+00_rb,0.17651e+00_rb,0.20555e+00_rb /) kbo(:,52,11) = (/ & & 0.10062e+00_rb,0.12140e+00_rb,0.14273e+00_rb,0.16677e+00_rb,0.19594e+00_rb /) kbo(:,53,11) = (/ & & 0.93686e-01_rb,0.11587e+00_rb,0.13705e+00_rb,0.15900e+00_rb,0.18673e+00_rb /) kbo(:,54,11) = (/ & & 0.88183e-01_rb,0.10986e+00_rb,0.13159e+00_rb,0.15362e+00_rb,0.17808e+00_rb /) kbo(:,55,11) = (/ & & 0.81924e-01_rb,0.10428e+00_rb,0.12662e+00_rb,0.14862e+00_rb,0.17143e+00_rb /) kbo(:,56,11) = (/ & & 0.75991e-01_rb,0.98633e-01_rb,0.12219e+00_rb,0.14408e+00_rb,0.16698e+00_rb /) kbo(:,57,11) = (/ & & 0.69399e-01_rb,0.92760e-01_rb,0.11664e+00_rb,0.14040e+00_rb,0.16308e+00_rb /) kbo(:,58,11) = (/ & & 0.64018e-01_rb,0.88343e-01_rb,0.11169e+00_rb,0.13686e+00_rb,0.15969e+00_rb /) kbo(:,59,11) = (/ & & 0.63145e-01_rb,0.86273e-01_rb,0.11143e+00_rb,0.13565e+00_rb,0.16187e+00_rb /) kbo(:,13,12) = (/ & & 0.22241e+01_rb,0.22556e+01_rb,0.22932e+01_rb,0.23316e+01_rb,0.23817e+01_rb /) kbo(:,14,12) = (/ & & 0.20015e+01_rb,0.20535e+01_rb,0.20976e+01_rb,0.21411e+01_rb,0.21895e+01_rb /) kbo(:,15,12) = (/ & & 0.18111e+01_rb,0.18671e+01_rb,0.19196e+01_rb,0.19734e+01_rb,0.20226e+01_rb /) kbo(:,16,12) = (/ & & 0.16513e+01_rb,0.17114e+01_rb,0.17632e+01_rb,0.18132e+01_rb,0.18623e+01_rb /) kbo(:,17,12) = (/ & & 0.15041e+01_rb,0.15648e+01_rb,0.16197e+01_rb,0.16720e+01_rb,0.17169e+01_rb /) kbo(:,18,12) = (/ & & 0.13731e+01_rb,0.14345e+01_rb,0.14937e+01_rb,0.15386e+01_rb,0.16052e+01_rb /) kbo(:,19,12) = (/ & & 0.12478e+01_rb,0.13115e+01_rb,0.13641e+01_rb,0.14279e+01_rb,0.14977e+01_rb /) kbo(:,20,12) = (/ & & 0.11298e+01_rb,0.11910e+01_rb,0.12495e+01_rb,0.13186e+01_rb,0.13914e+01_rb /) kbo(:,21,12) = (/ & & 0.10266e+01_rb,0.10915e+01_rb,0.11508e+01_rb,0.12227e+01_rb,0.13004e+01_rb /) kbo(:,22,12) = (/ & & 0.93959e+00_rb,0.10027e+01_rb,0.10735e+01_rb,0.11507e+01_rb,0.12312e+01_rb /) kbo(:,23,12) = (/ & & 0.87016e+00_rb,0.93486e+00_rb,0.10125e+01_rb,0.10930e+01_rb,0.11794e+01_rb /) kbo(:,24,12) = (/ & & 0.81213e+00_rb,0.88017e+00_rb,0.96483e+00_rb,0.10508e+01_rb,0.11396e+01_rb /) kbo(:,25,12) = (/ & & 0.77134e+00_rb,0.84295e+00_rb,0.93081e+00_rb,0.10201e+01_rb,0.11152e+01_rb /) kbo(:,26,12) = (/ & & 0.73832e+00_rb,0.81743e+00_rb,0.90746e+00_rb,0.10024e+01_rb,0.11020e+01_rb /) kbo(:,27,12) = (/ & & 0.71831e+00_rb,0.80328e+00_rb,0.89505e+00_rb,0.99247e+00_rb,0.10943e+01_rb /) kbo(:,28,12) = (/ & & 0.70848e+00_rb,0.79592e+00_rb,0.89143e+00_rb,0.99432e+00_rb,0.10940e+01_rb /) kbo(:,29,12) = (/ & & 0.70725e+00_rb,0.79781e+00_rb,0.89906e+00_rb,0.10007e+01_rb,0.11009e+01_rb /) kbo(:,30,12) = (/ & & 0.71125e+00_rb,0.80824e+00_rb,0.91144e+00_rb,0.10109e+01_rb,0.11144e+01_rb /) kbo(:,31,12) = (/ & & 0.72057e+00_rb,0.82548e+00_rb,0.92423e+00_rb,0.10285e+01_rb,0.11338e+01_rb /) kbo(:,32,12) = (/ & & 0.73855e+00_rb,0.84223e+00_rb,0.94322e+00_rb,0.10495e+01_rb,0.11523e+01_rb /) kbo(:,33,12) = (/ & & 0.75860e+00_rb,0.86137e+00_rb,0.96653e+00_rb,0.10709e+01_rb,0.11736e+01_rb /) kbo(:,34,12) = (/ & & 0.77584e+00_rb,0.88104e+00_rb,0.98358e+00_rb,0.10881e+01_rb,0.11928e+01_rb /) kbo(:,35,12) = (/ & & 0.78526e+00_rb,0.88915e+00_rb,0.99181e+00_rb,0.10955e+01_rb,0.12024e+01_rb /) kbo(:,36,12) = (/ & & 0.78420e+00_rb,0.88679e+00_rb,0.98962e+00_rb,0.10938e+01_rb,0.12013e+01_rb /) kbo(:,37,12) = (/ & & 0.76619e+00_rb,0.86975e+00_rb,0.97162e+00_rb,0.10774e+01_rb,0.11823e+01_rb /) kbo(:,38,12) = (/ & & 0.74778e+00_rb,0.85168e+00_rb,0.95355e+00_rb,0.10588e+01_rb,0.11642e+01_rb /) kbo(:,39,12) = (/ & & 0.73003e+00_rb,0.83397e+00_rb,0.93638e+00_rb,0.10427e+01_rb,0.11461e+01_rb /) kbo(:,40,12) = (/ & & 0.70694e+00_rb,0.80603e+00_rb,0.90951e+00_rb,0.10129e+01_rb,0.11179e+01_rb /) kbo(:,41,12) = (/ & & 0.68380e+00_rb,0.77629e+00_rb,0.88021e+00_rb,0.98263e+00_rb,0.10876e+01_rb /) kbo(:,42,12) = (/ & & 0.66231e+00_rb,0.74849e+00_rb,0.85130e+00_rb,0.95458e+00_rb,0.10576e+01_rb /) kbo(:,43,12) = (/ & & 0.63688e+00_rb,0.72048e+00_rb,0.81634e+00_rb,0.92017e+00_rb,0.10227e+01_rb /) kbo(:,44,12) = (/ & & 0.60858e+00_rb,0.69178e+00_rb,0.77940e+00_rb,0.88149e+00_rb,0.98460e+00_rb /) kbo(:,45,12) = (/ & & 0.58153e+00_rb,0.66520e+00_rb,0.74925e+00_rb,0.84319e+00_rb,0.94694e+00_rb /) kbo(:,46,12) = (/ & & 0.55197e+00_rb,0.63412e+00_rb,0.71872e+00_rb,0.80664e+00_rb,0.90684e+00_rb /) kbo(:,47,12) = (/ & & 0.51844e+00_rb,0.60273e+00_rb,0.68769e+00_rb,0.77076e+00_rb,0.86117e+00_rb /) kbo(:,48,12) = (/ & & 0.48120e+00_rb,0.57148e+00_rb,0.65491e+00_rb,0.74197e+00_rb,0.82485e+00_rb /) kbo(:,49,12) = (/ & & 0.44584e+00_rb,0.53846e+00_rb,0.62079e+00_rb,0.70603e+00_rb,0.79220e+00_rb /) kbo(:,50,12) = (/ & & 0.41289e+00_rb,0.50133e+00_rb,0.59314e+00_rb,0.67773e+00_rb,0.76297e+00_rb /) kbo(:,51,12) = (/ & & 0.38263e+00_rb,0.46808e+00_rb,0.55994e+00_rb,0.64654e+00_rb,0.73545e+00_rb /) kbo(:,52,12) = (/ & & 0.35216e+00_rb,0.43713e+00_rb,0.52781e+00_rb,0.61897e+00_rb,0.70212e+00_rb /) kbo(:,53,12) = (/ & & 0.33102e+00_rb,0.40477e+00_rb,0.49059e+00_rb,0.58472e+00_rb,0.67270e+00_rb /) kbo(:,54,12) = (/ & & 0.31146e+00_rb,0.37834e+00_rb,0.46271e+00_rb,0.55353e+00_rb,0.64596e+00_rb /) kbo(:,55,12) = (/ & & 0.29087e+00_rb,0.35982e+00_rb,0.43598e+00_rb,0.52416e+00_rb,0.61765e+00_rb /) kbo(:,56,12) = (/ & & 0.27304e+00_rb,0.34098e+00_rb,0.41224e+00_rb,0.49775e+00_rb,0.58771e+00_rb /) kbo(:,57,12) = (/ & & 0.25824e+00_rb,0.32066e+00_rb,0.39085e+00_rb,0.46641e+00_rb,0.55829e+00_rb /) kbo(:,58,12) = (/ & & 0.24548e+00_rb,0.30081e+00_rb,0.37338e+00_rb,0.44708e+00_rb,0.53062e+00_rb /) kbo(:,59,12) = (/ & & 0.24212e+00_rb,0.29858e+00_rb,0.36550e+00_rb,0.44064e+00_rb,0.51789e+00_rb /) kbo(:,13,13) = (/ & & 0.55998e+01_rb,0.57039e+01_rb,0.58049e+01_rb,0.59180e+01_rb,0.59854e+01_rb /) kbo(:,14,13) = (/ & & 0.53275e+01_rb,0.54387e+01_rb,0.55543e+01_rb,0.56621e+01_rb,0.57635e+01_rb /) kbo(:,15,13) = (/ & & 0.50203e+01_rb,0.51578e+01_rb,0.52898e+01_rb,0.54130e+01_rb,0.55373e+01_rb /) kbo(:,16,13) = (/ & & 0.47246e+01_rb,0.48786e+01_rb,0.50266e+01_rb,0.51689e+01_rb,0.53242e+01_rb /) kbo(:,17,13) = (/ & & 0.44403e+01_rb,0.46027e+01_rb,0.47680e+01_rb,0.49455e+01_rb,0.51299e+01_rb /) kbo(:,18,13) = (/ & & 0.41648e+01_rb,0.43473e+01_rb,0.45415e+01_rb,0.47508e+01_rb,0.49298e+01_rb /) kbo(:,19,13) = (/ & & 0.39134e+01_rb,0.41196e+01_rb,0.43493e+01_rb,0.45520e+01_rb,0.47522e+01_rb /) kbo(:,20,13) = (/ & & 0.36873e+01_rb,0.39195e+01_rb,0.41603e+01_rb,0.43826e+01_rb,0.46005e+01_rb /) kbo(:,21,13) = (/ & & 0.34974e+01_rb,0.37507e+01_rb,0.40010e+01_rb,0.42413e+01_rb,0.44759e+01_rb /) kbo(:,22,13) = (/ & & 0.33605e+01_rb,0.36305e+01_rb,0.38873e+01_rb,0.41404e+01_rb,0.43929e+01_rb /) kbo(:,23,13) = (/ & & 0.32571e+01_rb,0.35388e+01_rb,0.38042e+01_rb,0.40702e+01_rb,0.43353e+01_rb /) kbo(:,24,13) = (/ & & 0.31836e+01_rb,0.34721e+01_rb,0.37495e+01_rb,0.40277e+01_rb,0.43044e+01_rb /) kbo(:,25,13) = (/ & & 0.31346e+01_rb,0.34329e+01_rb,0.37222e+01_rb,0.40107e+01_rb,0.42953e+01_rb /) kbo(:,26,13) = (/ & & 0.31155e+01_rb,0.34221e+01_rb,0.37222e+01_rb,0.40178e+01_rb,0.43079e+01_rb /) kbo(:,27,13) = (/ & & 0.31157e+01_rb,0.34328e+01_rb,0.37392e+01_rb,0.40396e+01_rb,0.43346e+01_rb /) kbo(:,28,13) = (/ & & 0.31335e+01_rb,0.34580e+01_rb,0.37695e+01_rb,0.40734e+01_rb,0.43720e+01_rb /) kbo(:,29,13) = (/ & & 0.31697e+01_rb,0.34978e+01_rb,0.38120e+01_rb,0.41186e+01_rb,0.44189e+01_rb /) kbo(:,30,13) = (/ & & 0.32194e+01_rb,0.35475e+01_rb,0.38638e+01_rb,0.41720e+01_rb,0.44722e+01_rb /) kbo(:,31,13) = (/ & & 0.32811e+01_rb,0.36069e+01_rb,0.39241e+01_rb,0.42325e+01_rb,0.45314e+01_rb /) kbo(:,32,13) = (/ & & 0.33484e+01_rb,0.36727e+01_rb,0.39897e+01_rb,0.42974e+01_rb,0.45949e+01_rb /) kbo(:,33,13) = (/ & & 0.34186e+01_rb,0.37430e+01_rb,0.40586e+01_rb,0.43658e+01_rb,0.46602e+01_rb /) kbo(:,34,13) = (/ & & 0.34801e+01_rb,0.38048e+01_rb,0.41197e+01_rb,0.44255e+01_rb,0.47156e+01_rb /) kbo(:,35,13) = (/ & & 0.35126e+01_rb,0.38375e+01_rb,0.41525e+01_rb,0.44577e+01_rb,0.47454e+01_rb /) kbo(:,36,13) = (/ & & 0.35115e+01_rb,0.38370e+01_rb,0.41529e+01_rb,0.44584e+01_rb,0.47449e+01_rb /) kbo(:,37,13) = (/ & & 0.34620e+01_rb,0.37892e+01_rb,0.41066e+01_rb,0.44144e+01_rb,0.47052e+01_rb /) kbo(:,38,13) = (/ & & 0.34108e+01_rb,0.37391e+01_rb,0.40587e+01_rb,0.43685e+01_rb,0.46624e+01_rb /) kbo(:,39,13) = (/ & & 0.33603e+01_rb,0.36896e+01_rb,0.40114e+01_rb,0.43229e+01_rb,0.46208e+01_rb /) kbo(:,40,13) = (/ & & 0.32696e+01_rb,0.36068e+01_rb,0.39317e+01_rb,0.42460e+01_rb,0.45479e+01_rb /) kbo(:,41,13) = (/ & & 0.31746e+01_rb,0.35197e+01_rb,0.38475e+01_rb,0.41644e+01_rb,0.44716e+01_rb /) kbo(:,42,13) = (/ & & 0.30768e+01_rb,0.34312e+01_rb,0.37630e+01_rb,0.40826e+01_rb,0.43924e+01_rb /) kbo(:,43,13) = (/ & & 0.29558e+01_rb,0.33178e+01_rb,0.36587e+01_rb,0.39822e+01_rb,0.42959e+01_rb /) kbo(:,44,13) = (/ & & 0.28280e+01_rb,0.31906e+01_rb,0.35435e+01_rb,0.38727e+01_rb,0.41899e+01_rb /) kbo(:,45,13) = (/ & & 0.26988e+01_rb,0.30597e+01_rb,0.34201e+01_rb,0.37628e+01_rb,0.40831e+01_rb /) kbo(:,46,13) = (/ & & 0.25661e+01_rb,0.29262e+01_rb,0.32865e+01_rb,0.36383e+01_rb,0.39682e+01_rb /) kbo(:,47,13) = (/ & & 0.24176e+01_rb,0.27716e+01_rb,0.31308e+01_rb,0.34925e+01_rb,0.38381e+01_rb /) kbo(:,48,13) = (/ & & 0.22754e+01_rb,0.26218e+01_rb,0.29793e+01_rb,0.33363e+01_rb,0.36948e+01_rb /) kbo(:,49,13) = (/ & & 0.21329e+01_rb,0.24724e+01_rb,0.28302e+01_rb,0.31874e+01_rb,0.35454e+01_rb /) kbo(:,50,13) = (/ & & 0.20005e+01_rb,0.23398e+01_rb,0.26856e+01_rb,0.30422e+01_rb,0.34002e+01_rb /) kbo(:,51,13) = (/ & & 0.18713e+01_rb,0.22087e+01_rb,0.25515e+01_rb,0.29067e+01_rb,0.32588e+01_rb /) kbo(:,52,13) = (/ & & 0.17459e+01_rb,0.20772e+01_rb,0.24169e+01_rb,0.27666e+01_rb,0.31241e+01_rb /) kbo(:,53,13) = (/ & & 0.16095e+01_rb,0.19502e+01_rb,0.22895e+01_rb,0.26325e+01_rb,0.29855e+01_rb /) kbo(:,54,13) = (/ & & 0.15066e+01_rb,0.18320e+01_rb,0.21659e+01_rb,0.25081e+01_rb,0.28569e+01_rb /) kbo(:,55,13) = (/ & & 0.14318e+01_rb,0.17117e+01_rb,0.20491e+01_rb,0.23896e+01_rb,0.27343e+01_rb /) kbo(:,56,13) = (/ & & 0.13449e+01_rb,0.16235e+01_rb,0.19309e+01_rb,0.22682e+01_rb,0.26139e+01_rb /) kbo(:,57,13) = (/ & & 0.12667e+01_rb,0.15514e+01_rb,0.18274e+01_rb,0.21528e+01_rb,0.24919e+01_rb /) kbo(:,58,13) = (/ & & 0.11763e+01_rb,0.14696e+01_rb,0.17445e+01_rb,0.20345e+01_rb,0.23757e+01_rb /) kbo(:,59,13) = (/ & & 0.11472e+01_rb,0.14428e+01_rb,0.17312e+01_rb,0.20031e+01_rb,0.23234e+01_rb /) kbo(:,13,14) = (/ & & 0.15147e+02_rb,0.15130e+02_rb,0.15113e+02_rb,0.15099e+02_rb,0.15078e+02_rb /) kbo(:,14,14) = (/ & & 0.15510e+02_rb,0.15546e+02_rb,0.15567e+02_rb,0.15587e+02_rb,0.15585e+02_rb /) kbo(:,15,14) = (/ & & 0.15739e+02_rb,0.15841e+02_rb,0.15930e+02_rb,0.15986e+02_rb,0.16004e+02_rb /) kbo(:,16,14) = (/ & & 0.15858e+02_rb,0.16042e+02_rb,0.16196e+02_rb,0.16295e+02_rb,0.16347e+02_rb /) kbo(:,17,14) = (/ & & 0.15892e+02_rb,0.16168e+02_rb,0.16375e+02_rb,0.16519e+02_rb,0.16620e+02_rb /) kbo(:,18,14) = (/ & & 0.15890e+02_rb,0.16233e+02_rb,0.16495e+02_rb,0.16687e+02_rb,0.16843e+02_rb /) kbo(:,19,14) = (/ & & 0.15860e+02_rb,0.16260e+02_rb,0.16572e+02_rb,0.16822e+02_rb,0.17016e+02_rb /) kbo(:,20,14) = (/ & & 0.15821e+02_rb,0.16274e+02_rb,0.16642e+02_rb,0.16937e+02_rb,0.17165e+02_rb /) kbo(:,21,14) = (/ & & 0.15778e+02_rb,0.16284e+02_rb,0.16705e+02_rb,0.17036e+02_rb,0.17293e+02_rb /) kbo(:,22,14) = (/ & & 0.15777e+02_rb,0.16337e+02_rb,0.16794e+02_rb,0.17151e+02_rb,0.17417e+02_rb /) kbo(:,23,14) = (/ & & 0.15815e+02_rb,0.16408e+02_rb,0.16883e+02_rb,0.17258e+02_rb,0.17537e+02_rb /) kbo(:,24,14) = (/ & & 0.15884e+02_rb,0.16493e+02_rb,0.16982e+02_rb,0.17365e+02_rb,0.17648e+02_rb /) kbo(:,25,14) = (/ & & 0.15973e+02_rb,0.16594e+02_rb,0.17087e+02_rb,0.17470e+02_rb,0.17753e+02_rb /) kbo(:,26,14) = (/ & & 0.16098e+02_rb,0.16711e+02_rb,0.17198e+02_rb,0.17574e+02_rb,0.17853e+02_rb /) kbo(:,27,14) = (/ & & 0.16232e+02_rb,0.16836e+02_rb,0.17310e+02_rb,0.17676e+02_rb,0.17946e+02_rb /) kbo(:,28,14) = (/ & & 0.16376e+02_rb,0.16966e+02_rb,0.17425e+02_rb,0.17775e+02_rb,0.18032e+02_rb /) kbo(:,29,14) = (/ & & 0.16527e+02_rb,0.17096e+02_rb,0.17538e+02_rb,0.17871e+02_rb,0.18111e+02_rb /) kbo(:,30,14) = (/ & & 0.16681e+02_rb,0.17223e+02_rb,0.17646e+02_rb,0.17959e+02_rb,0.18183e+02_rb /) kbo(:,31,14) = (/ & & 0.16832e+02_rb,0.17348e+02_rb,0.17747e+02_rb,0.18041e+02_rb,0.18247e+02_rb /) kbo(:,32,14) = (/ & & 0.16982e+02_rb,0.17470e+02_rb,0.17844e+02_rb,0.18116e+02_rb,0.18304e+02_rb /) kbo(:,33,14) = (/ & & 0.17125e+02_rb,0.17586e+02_rb,0.17935e+02_rb,0.18187e+02_rb,0.18356e+02_rb /) kbo(:,34,14) = (/ & & 0.17243e+02_rb,0.17681e+02_rb,0.18009e+02_rb,0.18243e+02_rb,0.18396e+02_rb /) kbo(:,35,14) = (/ & & 0.17308e+02_rb,0.17736e+02_rb,0.18053e+02_rb,0.18277e+02_rb,0.18422e+02_rb /) kbo(:,36,14) = (/ & & 0.17321e+02_rb,0.17747e+02_rb,0.18064e+02_rb,0.18289e+02_rb,0.18431e+02_rb /) kbo(:,37,14) = (/ & & 0.17259e+02_rb,0.17701e+02_rb,0.18033e+02_rb,0.18270e+02_rb,0.18425e+02_rb /) kbo(:,38,14) = (/ & & 0.17190e+02_rb,0.17649e+02_rb,0.17997e+02_rb,0.18247e+02_rb,0.18415e+02_rb /) kbo(:,39,14) = (/ & & 0.17116e+02_rb,0.17594e+02_rb,0.17957e+02_rb,0.18221e+02_rb,0.18401e+02_rb /) kbo(:,40,14) = (/ & & 0.16981e+02_rb,0.17491e+02_rb,0.17882e+02_rb,0.18168e+02_rb,0.18367e+02_rb /) kbo(:,41,14) = (/ & & 0.16829e+02_rb,0.17375e+02_rb,0.17795e+02_rb,0.18107e+02_rb,0.18328e+02_rb /) kbo(:,42,14) = (/ & & 0.16667e+02_rb,0.17250e+02_rb,0.17700e+02_rb,0.18038e+02_rb,0.18281e+02_rb /) kbo(:,43,14) = (/ & & 0.16452e+02_rb,0.17082e+02_rb,0.17573e+02_rb,0.17944e+02_rb,0.18214e+02_rb /) kbo(:,44,14) = (/ & & 0.16203e+02_rb,0.16887e+02_rb,0.17421e+02_rb,0.17833e+02_rb,0.18135e+02_rb /) kbo(:,45,14) = (/ & & 0.15935e+02_rb,0.16673e+02_rb,0.17257e+02_rb,0.17708e+02_rb,0.18046e+02_rb /) kbo(:,46,14) = (/ & & 0.15628e+02_rb,0.16427e+02_rb,0.17064e+02_rb,0.17560e+02_rb,0.17936e+02_rb /) kbo(:,47,14) = (/ & & 0.15258e+02_rb,0.16126e+02_rb,0.16827e+02_rb,0.17377e+02_rb,0.17799e+02_rb /) kbo(:,48,14) = (/ & & 0.14864e+02_rb,0.15798e+02_rb,0.16564e+02_rb,0.17174e+02_rb,0.17643e+02_rb /) kbo(:,49,14) = (/ & & 0.14439e+02_rb,0.15441e+02_rb,0.16276e+02_rb,0.16946e+02_rb,0.17469e+02_rb /) kbo(:,50,14) = (/ & & 0.14012e+02_rb,0.15084e+02_rb,0.15980e+02_rb,0.16711e+02_rb,0.17289e+02_rb /) kbo(:,51,14) = (/ & & 0.13576e+02_rb,0.14715e+02_rb,0.15671e+02_rb,0.16463e+02_rb,0.17096e+02_rb /) kbo(:,52,14) = (/ & & 0.13120e+02_rb,0.14320e+02_rb,0.15341e+02_rb,0.16194e+02_rb,0.16882e+02_rb /) kbo(:,53,14) = (/ & & 0.12642e+02_rb,0.13899e+02_rb,0.14988e+02_rb,0.15902e+02_rb,0.16649e+02_rb /) kbo(:,54,14) = (/ & & 0.12147e+02_rb,0.13496e+02_rb,0.14645e+02_rb,0.15614e+02_rb,0.16418e+02_rb /) kbo(:,55,14) = (/ & & 0.11626e+02_rb,0.13090e+02_rb,0.14295e+02_rb,0.15320e+02_rb,0.16178e+02_rb /) kbo(:,56,14) = (/ & & 0.11110e+02_rb,0.12619e+02_rb,0.13926e+02_rb,0.15012e+02_rb,0.15922e+02_rb /) kbo(:,57,14) = (/ & & 0.10565e+02_rb,0.12110e+02_rb,0.13518e+02_rb,0.14685e+02_rb,0.15649e+02_rb /) kbo(:,58,14) = (/ & & 0.10061e+02_rb,0.11633e+02_rb,0.13084e+02_rb,0.14356e+02_rb,0.15374e+02_rb /) kbo(:,59,14) = (/ & & 0.98377e+01_rb,0.11416e+02_rb,0.12868e+02_rb,0.14184e+02_rb,0.15259e+02_rb /) kbo(:,13,15) = (/ & & 0.41304e+02_rb,0.40483e+02_rb,0.39654e+02_rb,0.38829e+02_rb,0.38029e+02_rb /) kbo(:,14,15) = (/ & & 0.44686e+02_rb,0.43762e+02_rb,0.42836e+02_rb,0.41888e+02_rb,0.41004e+02_rb /) kbo(:,15,15) = (/ & & 0.48004e+02_rb,0.46942e+02_rb,0.45864e+02_rb,0.44813e+02_rb,0.43844e+02_rb /) kbo(:,16,15) = (/ & & 0.51150e+02_rb,0.49938e+02_rb,0.48734e+02_rb,0.47591e+02_rb,0.46512e+02_rb /) kbo(:,17,15) = (/ & & 0.54100e+02_rb,0.52729e+02_rb,0.51435e+02_rb,0.50180e+02_rb,0.48962e+02_rb /) kbo(:,18,15) = (/ & & 0.56777e+02_rb,0.55306e+02_rb,0.53894e+02_rb,0.52525e+02_rb,0.51164e+02_rb /) kbo(:,19,15) = (/ & & 0.59186e+02_rb,0.57635e+02_rb,0.56100e+02_rb,0.54603e+02_rb,0.53129e+02_rb /) kbo(:,20,15) = (/ & & 0.61293e+02_rb,0.59648e+02_rb,0.58005e+02_rb,0.56388e+02_rb,0.54798e+02_rb /) kbo(:,21,15) = (/ & & 0.63124e+02_rb,0.61368e+02_rb,0.59613e+02_rb,0.57895e+02_rb,0.56204e+02_rb /) kbo(:,22,15) = (/ & & 0.64562e+02_rb,0.62695e+02_rb,0.60841e+02_rb,0.59040e+02_rb,0.57268e+02_rb /) kbo(:,23,15) = (/ & & 0.65690e+02_rb,0.63742e+02_rb,0.61820e+02_rb,0.59937e+02_rb,0.58087e+02_rb /) kbo(:,24,15) = (/ & & 0.66548e+02_rb,0.64535e+02_rb,0.62550e+02_rb,0.60597e+02_rb,0.58690e+02_rb /) kbo(:,25,15) = (/ & & 0.67194e+02_rb,0.65115e+02_rb,0.63062e+02_rb,0.61050e+02_rb,0.59091e+02_rb /) kbo(:,26,15) = (/ & & 0.67597e+02_rb,0.65466e+02_rb,0.63369e+02_rb,0.61312e+02_rb,0.59309e+02_rb /) kbo(:,27,15) = (/ & & 0.67831e+02_rb,0.65647e+02_rb,0.63518e+02_rb,0.61430e+02_rb,0.59393e+02_rb /) kbo(:,28,15) = (/ & & 0.67908e+02_rb,0.65687e+02_rb,0.63527e+02_rb,0.61427e+02_rb,0.59357e+02_rb /) kbo(:,29,15) = (/ & & 0.67845e+02_rb,0.65603e+02_rb,0.63419e+02_rb,0.61304e+02_rb,0.59222e+02_rb /) kbo(:,30,15) = (/ & & 0.67682e+02_rb,0.65422e+02_rb,0.63225e+02_rb,0.61094e+02_rb,0.59010e+02_rb /) kbo(:,31,15) = (/ & & 0.67415e+02_rb,0.65154e+02_rb,0.62953e+02_rb,0.60816e+02_rb,0.58721e+02_rb /) kbo(:,32,15) = (/ & & 0.67084e+02_rb,0.64817e+02_rb,0.62622e+02_rb,0.60477e+02_rb,0.58393e+02_rb /) kbo(:,33,15) = (/ & & 0.66692e+02_rb,0.64428e+02_rb,0.62242e+02_rb,0.60092e+02_rb,0.58024e+02_rb /) kbo(:,34,15) = (/ & & 0.66346e+02_rb,0.64077e+02_rb,0.61890e+02_rb,0.59745e+02_rb,0.57700e+02_rb /) kbo(:,35,15) = (/ & & 0.66188e+02_rb,0.63920e+02_rb,0.61727e+02_rb,0.59582e+02_rb,0.57542e+02_rb /) kbo(:,36,15) = (/ & & 0.66248e+02_rb,0.63978e+02_rb,0.61782e+02_rb,0.59625e+02_rb,0.57587e+02_rb /) kbo(:,37,15) = (/ & & 0.66642e+02_rb,0.64358e+02_rb,0.62144e+02_rb,0.59978e+02_rb,0.57911e+02_rb /) kbo(:,38,15) = (/ & & 0.67048e+02_rb,0.64747e+02_rb,0.62516e+02_rb,0.60340e+02_rb,0.58249e+02_rb /) kbo(:,39,15) = (/ & & 0.67435e+02_rb,0.65122e+02_rb,0.62879e+02_rb,0.60689e+02_rb,0.58578e+02_rb /) kbo(:,40,15) = (/ & & 0.68061e+02_rb,0.65724e+02_rb,0.63462e+02_rb,0.61257e+02_rb,0.59113e+02_rb /) kbo(:,41,15) = (/ & & 0.68702e+02_rb,0.66354e+02_rb,0.64067e+02_rb,0.61847e+02_rb,0.59682e+02_rb /) kbo(:,42,15) = (/ & & 0.69355e+02_rb,0.66983e+02_rb,0.64678e+02_rb,0.62437e+02_rb,0.60259e+02_rb /) kbo(:,43,15) = (/ & & 0.70142e+02_rb,0.67744e+02_rb,0.65416e+02_rb,0.63159e+02_rb,0.60959e+02_rb /) kbo(:,44,15) = (/ & & 0.70991e+02_rb,0.68567e+02_rb,0.66218e+02_rb,0.63930e+02_rb,0.61713e+02_rb /) kbo(:,45,15) = (/ & & 0.71837e+02_rb,0.69401e+02_rb,0.67026e+02_rb,0.64713e+02_rb,0.62473e+02_rb /) kbo(:,46,15) = (/ & & 0.72733e+02_rb,0.70287e+02_rb,0.67885e+02_rb,0.65552e+02_rb,0.63292e+02_rb /) kbo(:,47,15) = (/ & & 0.73741e+02_rb,0.71285e+02_rb,0.68859e+02_rb,0.66493e+02_rb,0.64198e+02_rb /) kbo(:,48,15) = (/ & & 0.74725e+02_rb,0.72283e+02_rb,0.69840e+02_rb,0.67442e+02_rb,0.65125e+02_rb /) kbo(:,49,15) = (/ & & 0.75665e+02_rb,0.73280e+02_rb,0.70828e+02_rb,0.68404e+02_rb,0.66060e+02_rb /) kbo(:,50,15) = (/ & & 0.76534e+02_rb,0.74218e+02_rb,0.71764e+02_rb,0.69323e+02_rb,0.66942e+02_rb /) kbo(:,51,15) = (/ & & 0.77333e+02_rb,0.75093e+02_rb,0.72664e+02_rb,0.70214e+02_rb,0.67806e+02_rb /) kbo(:,52,15) = (/ & & 0.78102e+02_rb,0.75935e+02_rb,0.73563e+02_rb,0.71111e+02_rb,0.68683e+02_rb /) kbo(:,53,15) = (/ & & 0.78815e+02_rb,0.76761e+02_rb,0.74462e+02_rb,0.72010e+02_rb,0.69568e+02_rb /) kbo(:,54,15) = (/ & & 0.79431e+02_rb,0.77488e+02_rb,0.75258e+02_rb,0.72840e+02_rb,0.70386e+02_rb /) kbo(:,55,15) = (/ & & 0.79987e+02_rb,0.78156e+02_rb,0.75999e+02_rb,0.73628e+02_rb,0.71177e+02_rb /) kbo(:,56,15) = (/ & & 0.80478e+02_rb,0.78776e+02_rb,0.76714e+02_rb,0.74415e+02_rb,0.71963e+02_rb /) kbo(:,57,15) = (/ & & 0.80898e+02_rb,0.79365e+02_rb,0.77410e+02_rb,0.75181e+02_rb,0.72750e+02_rb /) kbo(:,58,15) = (/ & & 0.81210e+02_rb,0.79894e+02_rb,0.78053e+02_rb,0.75880e+02_rb,0.73498e+02_rb /) kbo(:,59,15) = (/ & & 0.81312e+02_rb,0.80086e+02_rb,0.78299e+02_rb,0.76156e+02_rb,0.73801e+02_rb /) kbo(:,13,16) = (/ & & 0.81866e+02_rb,0.78569e+02_rb,0.75624e+02_rb,0.72854e+02_rb,0.70288e+02_rb /) kbo(:,14,16) = (/ & & 0.93095e+02_rb,0.88986e+02_rb,0.85351e+02_rb,0.82051e+02_rb,0.78936e+02_rb /) kbo(:,15,16) = (/ & & 0.10470e+03_rb,0.99738e+02_rb,0.95227e+02_rb,0.91249e+02_rb,0.87478e+02_rb /) kbo(:,16,16) = (/ & & 0.11635e+03_rb,0.11037e+03_rb,0.10495e+03_rb,0.10011e+03_rb,0.95646e+02_rb /) kbo(:,17,16) = (/ & & 0.12769e+03_rb,0.12074e+03_rb,0.11431e+03_rb,0.10856e+03_rb,0.10332e+03_rb /) kbo(:,18,16) = (/ & & 0.13851e+03_rb,0.13038e+03_rb,0.12299e+03_rb,0.11635e+03_rb,0.11033e+03_rb /) kbo(:,19,16) = (/ & & 0.14848e+03_rb,0.13912e+03_rb,0.13084e+03_rb,0.12336e+03_rb,0.11656e+03_rb /) kbo(:,20,16) = (/ & & 0.15718e+03_rb,0.14679e+03_rb,0.13761e+03_rb,0.12934e+03_rb,0.12188e+03_rb /) kbo(:,21,16) = (/ & & 0.16462e+03_rb,0.15341e+03_rb,0.14345e+03_rb,0.13443e+03_rb,0.12636e+03_rb /) kbo(:,22,16) = (/ & & 0.17012e+03_rb,0.15822e+03_rb,0.14760e+03_rb,0.13801e+03_rb,0.12950e+03_rb /) kbo(:,23,16) = (/ & & 0.17437e+03_rb,0.16184e+03_rb,0.15069e+03_rb,0.14069e+03_rb,0.13184e+03_rb /) kbo(:,24,16) = (/ & & 0.17733e+03_rb,0.16436e+03_rb,0.15282e+03_rb,0.14251e+03_rb,0.13340e+03_rb /) kbo(:,25,16) = (/ & & 0.17910e+03_rb,0.16583e+03_rb,0.15401e+03_rb,0.14354e+03_rb,0.13426e+03_rb /) kbo(:,26,16) = (/ & & 0.17968e+03_rb,0.16627e+03_rb,0.15433e+03_rb,0.14378e+03_rb,0.13445e+03_rb /) kbo(:,27,16) = (/ & & 0.17946e+03_rb,0.16602e+03_rb,0.15406e+03_rb,0.14351e+03_rb,0.13417e+03_rb /) kbo(:,28,16) = (/ & & 0.17860e+03_rb,0.16522e+03_rb,0.15334e+03_rb,0.14282e+03_rb,0.13355e+03_rb /) kbo(:,29,16) = (/ & & 0.17717e+03_rb,0.16389e+03_rb,0.15216e+03_rb,0.14174e+03_rb,0.13260e+03_rb /) kbo(:,30,16) = (/ & & 0.17533e+03_rb,0.16225e+03_rb,0.15066e+03_rb,0.14043e+03_rb,0.13143e+03_rb /) kbo(:,31,16) = (/ & & 0.17313e+03_rb,0.16029e+03_rb,0.14890e+03_rb,0.13886e+03_rb,0.13004e+03_rb /) kbo(:,32,16) = (/ & & 0.17069e+03_rb,0.15811e+03_rb,0.14694e+03_rb,0.13716e+03_rb,0.12847e+03_rb /) kbo(:,33,16) = (/ & & 0.16804e+03_rb,0.15577e+03_rb,0.14487e+03_rb,0.13533e+03_rb,0.12682e+03_rb /) kbo(:,34,16) = (/ & & 0.16580e+03_rb,0.15376e+03_rb,0.14309e+03_rb,0.13376e+03_rb,0.12539e+03_rb /) kbo(:,35,16) = (/ & & 0.16467e+03_rb,0.15275e+03_rb,0.14221e+03_rb,0.13298e+03_rb,0.12468e+03_rb /) kbo(:,36,16) = (/ & & 0.16486e+03_rb,0.15289e+03_rb,0.14233e+03_rb,0.13308e+03_rb,0.12477e+03_rb /) kbo(:,37,16) = (/ & & 0.16688e+03_rb,0.15469e+03_rb,0.14392e+03_rb,0.13446e+03_rb,0.12602e+03_rb /) kbo(:,38,16) = (/ & & 0.16902e+03_rb,0.15657e+03_rb,0.14555e+03_rb,0.13592e+03_rb,0.12732e+03_rb /) kbo(:,39,16) = (/ & & 0.17110e+03_rb,0.15844e+03_rb,0.14718e+03_rb,0.13734e+03_rb,0.12861e+03_rb /) kbo(:,40,16) = (/ & & 0.17468e+03_rb,0.16155e+03_rb,0.14992e+03_rb,0.13976e+03_rb,0.13077e+03_rb /) kbo(:,41,16) = (/ & & 0.17848e+03_rb,0.16489e+03_rb,0.15289e+03_rb,0.14236e+03_rb,0.13307e+03_rb /) kbo(:,42,16) = (/ & & 0.18237e+03_rb,0.16833e+03_rb,0.15592e+03_rb,0.14501e+03_rb,0.13541e+03_rb /) kbo(:,43,16) = (/ & & 0.18726e+03_rb,0.17263e+03_rb,0.15975e+03_rb,0.14834e+03_rb,0.13835e+03_rb /) kbo(:,44,16) = (/ & & 0.19275e+03_rb,0.17748e+03_rb,0.16403e+03_rb,0.15210e+03_rb,0.14166e+03_rb /) kbo(:,45,16) = (/ & & 0.19851e+03_rb,0.18250e+03_rb,0.16844e+03_rb,0.15602e+03_rb,0.14507e+03_rb /) kbo(:,46,16) = (/ & & 0.20490e+03_rb,0.18806e+03_rb,0.17333e+03_rb,0.16038e+03_rb,0.14888e+03_rb /) kbo(:,47,16) = (/ & & 0.21238e+03_rb,0.19462e+03_rb,0.17910e+03_rb,0.16545e+03_rb,0.15337e+03_rb /) kbo(:,48,16) = (/ & & 0.22029e+03_rb,0.20156e+03_rb,0.18514e+03_rb,0.17074e+03_rb,0.15806e+03_rb /) kbo(:,49,16) = (/ & & 0.22889e+03_rb,0.20882e+03_rb,0.19150e+03_rb,0.17637e+03_rb,0.16304e+03_rb /) kbo(:,50,16) = (/ & & 0.23745e+03_rb,0.21596e+03_rb,0.19782e+03_rb,0.18187e+03_rb,0.16787e+03_rb /) kbo(:,51,16) = (/ & & 0.24629e+03_rb,0.22340e+03_rb,0.20422e+03_rb,0.18747e+03_rb,0.17280e+03_rb /) kbo(:,52,16) = (/ & & 0.25553e+03_rb,0.23136e+03_rb,0.21090e+03_rb,0.19335e+03_rb,0.17798e+03_rb /) kbo(:,53,16) = (/ & & 0.26553e+03_rb,0.23980e+03_rb,0.21793e+03_rb,0.19951e+03_rb,0.18336e+03_rb /) kbo(:,54,16) = (/ & & 0.27524e+03_rb,0.24799e+03_rb,0.22485e+03_rb,0.20544e+03_rb,0.18854e+03_rb /) kbo(:,55,16) = (/ & & 0.28502e+03_rb,0.25615e+03_rb,0.23188e+03_rb,0.21133e+03_rb,0.19372e+03_rb /) kbo(:,56,16) = (/ & & 0.29529e+03_rb,0.26491e+03_rb,0.23927e+03_rb,0.21749e+03_rb,0.19913e+03_rb /) kbo(:,57,16) = (/ & & 0.30624e+03_rb,0.27413e+03_rb,0.24703e+03_rb,0.22404e+03_rb,0.20478e+03_rb /) kbo(:,58,16) = (/ & & 0.31727e+03_rb,0.28329e+03_rb,0.25471e+03_rb,0.23065e+03_rb,0.21031e+03_rb /) kbo(:,59,16) = (/ & & 0.32188e+03_rb,0.28710e+03_rb,0.25796e+03_rb,0.23341e+03_rb,0.21261e+03_rb /) ! ----------------------------------------------------------------- forrefo(:, 1) = (/ 0.214504e-06_rb, 0.460418e-06_rb, 0.357608e-05_rb, 0.192037e-05_rb /) forrefo(:, 2) = (/ 0.142576e-05_rb, 0.364463e-05_rb, 0.117033e-04_rb, 0.112085e-04_rb /) forrefo(:, 3) = (/ 0.101536e-04_rb, 0.124096e-04_rb, 0.509190e-04_rb, 0.565282e-04_rb /) forrefo(:, 4) = (/ 0.143394e-03_rb, 0.154700e-03_rb, 0.466498e-03_rb, 0.918829e-03_rb /) forrefo(:, 5) = (/ 0.251631e-02_rb, 0.241729e-02_rb, 0.240057e-02_rb, 0.350408e-02_rb /) forrefo(:, 6) = (/ 0.410309e-02_rb, 0.416851e-02_rb, 0.390925e-02_rb, 0.383694e-02_rb /) forrefo(:, 7) = (/ 0.445387e-02_rb, 0.448657e-02_rb, 0.432310e-02_rb, 0.370739e-02_rb /) forrefo(:, 8) = (/ 0.458150e-02_rb, 0.460014e-02_rb, 0.450245e-02_rb, 0.336718e-02_rb /) forrefo(:, 9) = (/ 0.465423e-02_rb, 0.465595e-02_rb, 0.467006e-02_rb, 0.368061e-02_rb /) forrefo(:,10) = (/ 0.493955e-02_rb, 0.490181e-02_rb, 0.481941e-02_rb, 0.367577e-02_rb /) forrefo(:,11) = (/ 0.511876e-02_rb, 0.490981e-02_rb, 0.493303e-02_rb, 0.357423e-02_rb /) forrefo(:,12) = (/ 0.509845e-02_rb, 0.511556e-02_rb, 0.504031e-02_rb, 0.355915e-02_rb /) forrefo(:,13) = (/ 0.523822e-02_rb, 0.530473e-02_rb, 0.523811e-02_rb, 0.414259e-02_rb /) forrefo(:,14) = (/ 0.551133e-02_rb, 0.535831e-02_rb, 0.546702e-02_rb, 0.473875e-02_rb /) forrefo(:,15) = (/ 0.609781e-02_rb, 0.589859e-02_rb, 0.561187e-02_rb, 0.528981e-02_rb /) forrefo(:,16) = (/ 0.644958e-02_rb, 0.631718e-02_rb, 0.625201e-02_rb, 0.600448e-02_rb /) ! ----------------------------------------------------------------- ! The array SELFREFO contains the coefficient of the water vapor ! self-continuum (including the energy term). The first index ! refers to temperature in 7.2 degree increments. For instance, ! JT = 1 refers to a temperature of 245.6, JT = 2 refers to 252.8, ! etc. The second index runs over the g-channel (1 to 16). selfrefo(:, 1) = (/ & & 0.217058e-03_rb, 0.176391e-03_rb, 0.143342e-03_rb, 0.116486e-03_rb, 0.946614e-04_rb, & & 0.769257e-04_rb, 0.625131e-04_rb, 0.508007e-04_rb, 0.412828e-04_rb, 0.335481e-04_rb /) selfrefo(:, 2) = (/ & & 0.598055e-03_rb, 0.484805e-03_rb, 0.393000e-03_rb, 0.318580e-03_rb, 0.258252e-03_rb, & & 0.209348e-03_rb, 0.169705e-03_rb, 0.137569e-03_rb, 0.111518e-03_rb, 0.904008e-04_rb /) selfrefo(:, 3) = (/ & & 0.102691e-02_rb, 0.930281e-03_rb, 0.842740e-03_rb, 0.763437e-03_rb, 0.691596e-03_rb, & & 0.626516e-03_rb, 0.567560e-03_rb, 0.514152e-03_rb, 0.465769e-03_rb, 0.421940e-03_rb /) selfrefo(:, 4) = (/ & & 0.388569e-02_rb, 0.365098e-02_rb, 0.343045e-02_rb, 0.322324e-02_rb, 0.302854e-02_rb, & & 0.284561e-02_rb, 0.267372e-02_rb, 0.251222e-02_rb, 0.236047e-02_rb, 0.221789e-02_rb /) selfrefo(:, 5) = (/ & & 0.349845e-01_rb, 0.326678e-01_rb, 0.305045e-01_rb, 0.284845e-01_rb, 0.265982e-01_rb, & & 0.248369e-01_rb, 0.231921e-01_rb, 0.216563e-01_rb, 0.202222e-01_rb, 0.188831e-01_rb /) selfrefo(:, 6) = (/ & & 0.613705e-01_rb, 0.562676e-01_rb, 0.515890e-01_rb, 0.472994e-01_rb, 0.433665e-01_rb, & & 0.397606e-01_rb, 0.364545e-01_rb, 0.334233e-01_rb, 0.306442e-01_rb, 0.280961e-01_rb /) selfrefo(:, 7) = (/ & & 0.656981e-01_rb, 0.602660e-01_rb, 0.552830e-01_rb, 0.507120e-01_rb, 0.465190e-01_rb, & & 0.426726e-01_rb, 0.391443e-01_rb, 0.359077e-01_rb, 0.329387e-01_rb, 0.302153e-01_rb /) selfrefo(:, 8) = (/ & & 0.671782e-01_rb, 0.616461e-01_rb, 0.565695e-01_rb, 0.519110e-01_rb, 0.476361e-01_rb, & & 0.437132e-01_rb, 0.401134e-01_rb, 0.368100e-01_rb, 0.337787e-01_rb, 0.309970e-01_rb /) selfrefo(:, 9) = (/ & & 0.675902e-01_rb, 0.620888e-01_rb, 0.570351e-01_rb, 0.523928e-01_rb, 0.481284e-01_rb, & & 0.442110e-01_rb, 0.406125e-01_rb, 0.373069e-01_rb, 0.342703e-01_rb, 0.314809e-01_rb /) selfrefo(:,10) = (/ & & 0.708308e-01_rb, 0.651419e-01_rb, 0.599099e-01_rb, 0.550981e-01_rb, 0.506728e-01_rb, & & 0.466030e-01_rb, 0.428600e-01_rb, 0.394176e-01_rb, 0.362517e-01_rb, 0.333401e-01_rb /) selfrefo(:,11) = (/ & & 0.698445e-01_rb, 0.646584e-01_rb, 0.598573e-01_rb, 0.554128e-01_rb, 0.512982e-01_rb, & & 0.474892e-01_rb, 0.439630e-01_rb, 0.406986e-01_rb, 0.376766e-01_rb, 0.348791e-01_rb /) selfrefo(:,12) = (/ & & 0.743921e-01_rb, 0.682057e-01_rb, 0.625337e-01_rb, 0.573334e-01_rb, 0.525655e-01_rb, & & 0.481942e-01_rb, 0.441863e-01_rb, 0.405118e-01_rb, 0.371428e-01_rb, 0.340540e-01_rb /) selfrefo(:,13) = (/ & & 0.775758e-01_rb, 0.709818e-01_rb, 0.649484e-01_rb, 0.594277e-01_rb, 0.543764e-01_rb, & & 0.497544e-01_rb, 0.455253e-01_rb, 0.416556e-01_rb, 0.381149e-01_rb, 0.348751e-01_rb /) selfrefo(:,14) = (/ & & 0.776545e-01_rb, 0.714761e-01_rb, 0.657894e-01_rb, 0.605550e-01_rb, 0.557372e-01_rb, & & 0.513026e-01_rb, 0.472209e-01_rb, 0.434639e-01_rb, 0.400058e-01_rb, 0.368229e-01_rb /) selfrefo(:,15) = (/ & & 0.855675e-01_rb, 0.787337e-01_rb, 0.724456e-01_rb, 0.666598e-01_rb, 0.613360e-01_rb, & & 0.564374e-01_rb, 0.519301e-01_rb, 0.477827e-01_rb, 0.439666e-01_rb, 0.404552e-01_rb /) selfrefo(:,16) = (/ & & 0.934781e-01_rb, 0.855190e-01_rb, 0.782376e-01_rb, 0.715761e-01_rb, 0.654819e-01_rb, & & 0.599065e-01_rb, 0.548058e-01_rb, 0.501394e-01_rb, 0.458704e-01_rb, 0.419648e-01_rb /) end subroutine sw_kgb20 ! ************************************************************************** subroutine sw_kgb21 ! ************************************************************************** use parkind, only : im => kind_im, rb => kind_rb use rrsw_kg21, only : kao, kbo, selfrefo, forrefo, sfluxrefo, rayl implicit none save ! Kurucz solar source function sfluxrefo(:, 1) = (/ & & 16.1643_rb , 15.5806_rb, 14.7254_rb , 13.5541_rb , & & 11.9519_rb ,10.44410_rb, 8.37884_rb , 6.26384_rb , & & 4.28435_rb ,0.465228_rb, 0.385095_rb ,0.304226_rb , & & 0.222479_rb,0.143286_rb, 5.58046e-02_rb, 7.84856e-03_rb /) sfluxrefo(:, 2) = (/ & & 15.6451_rb , 15.3170_rb, 14.6987_rb , 13.7350_rb , & & 12.2267_rb ,10.51646_rb, 8.47150_rb , 6.38873_rb , & & 4.33536_rb ,0.470610_rb,0.389426_rb ,0.306461_rb , & & 0.223537_rb,0.143273_rb, 5.58179e-02_rb, 7.84856e-03_rb /) sfluxrefo(:, 3) = (/ & & 15.6092_rb , 15.3293_rb, 14.6881_rb , 13.6693_rb , & & 12.2342_rb ,10.52010_rb, 8.49442_rb , 6.42138_rb , & & 4.35865_rb ,0.473349_rb,0.391349_rb ,0.308861_rb , & & 0.224666_rb,0.144799_rb, 5.58176e-02_rb, 7.84881e-03_rb /) sfluxrefo(:, 4) = (/ & & 15.5786_rb , 15.3422_rb, 14.6894_rb , 13.6040_rb , & & 12.2567_rb ,10.49400_rb, 8.53521_rb , 6.44427_rb , & & 4.37208_rb ,0.475709_rb,0.392956_rb ,0.309737_rb , & & 0.226274_rb,0.146483_rb, 5.59325e-02_rb, 7.84881e-03_rb /) sfluxrefo(:, 5) = (/ & & 15.5380_rb , 15.3826_rb, 14.6575_rb , 13.5722_rb , & & 12.2646_rb ,10.47672_rb, 8.57158_rb , 6.46343_rb , & & 4.38259_rb ,0.477647_rb,0.393982_rb ,0.310686_rb , & & 0.227620_rb,0.148376_rb, 5.60398e-02_rb, 7.83925e-03_rb /) sfluxrefo(:, 6) = (/ & & 15.5124_rb , 15.3986_rb, 14.6240_rb , 13.5535_rb , & & 12.2468_rb ,10.48891_rb, 8.60434_rb , 6.47985_rb , & & 4.39448_rb ,0.478267_rb,0.395618_rb ,0.311043_rb , & & 0.230927_rb,0.148774_rb, 5.61189e-02_rb, 7.83925e-03_rb /) sfluxrefo(:, 7) = (/ & & 15.4910_rb , 15.4028_rb, 14.5772_rb , 13.5507_rb , & & 12.2122_rb ,10.52735_rb, 8.62650_rb , 6.49644_rb , & & 4.41173_rb ,0.478627_rb,0.396433_rb ,0.314199_rb , & & 0.233125_rb,0.149052_rb, 5.62309e-02_rb, 7.83925e-03_rb /) sfluxrefo(:, 8) = (/ & & 15.4562_rb , 15.3928_rb, 14.5510_rb , 13.5122_rb , & & 12.1890_rb , 10.5826_rb, 8.65842_rb , 6.51558_rb , & & 4.42747_rb ,0.480669_rb,0.400143_rb ,0.318144_rb , & & 0.233937_rb,0.149119_rb, 5.62309e-02_rb, 7.83925e-03_rb /) sfluxrefo(:, 9) = (/ & & 15.0069_rb , 15.1479_rb, 14.7802_rb , 13.6085_rb , & & 12.2793_rb , 10.6929_rb, 8.72723_rb , 6.57114_rb , & & 4.46330_rb ,0.486724_rb,0.401446_rb ,0.318879_rb , & & 0.233959_rb,0.149119_rb, 5.62309e-02_rb, 7.83925e-03_rb /) ! Rayleigh extinction coefficient at v = 6925 cm-1. rayl = 9.41e-09_rb ! ------------------------------------------------------------------ ! The array KAO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels> ~100mb, temperatures, and binary ! species parameters (see taumol.f for definition). The first ! index in the array, JS, runs from 1 to 9, and corresponds to ! different values of the binary species parameter. For instance, ! JS=1 refers to dry air, JS = 2 corresponds to the paramter value 1/8, ! JS = 3 corresponds to the parameter value 2/8, etc. The second index ! in the array, JT, which runs from 1 to 5, corresponds to different ! temperatures. More specifically, JT = 3 means that the data are for ! the reference temperature TREF for this pressure level, JT = 2 refers ! to TREF-15, JT = 1 is for TREF-30, JT = 4 is for TREF+15, and JT = 5 ! is for TREF+30. The third index, JP, runs from 1 to 13 and refers ! to the JPth reference pressure level (see taumol.f for these levels ! in mb). The fourth index, IG, goes from 1 to 16, and indicates ! which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kao(:, 1, 1, 1) = (/ & & 0.31482e-07_rb,0.64010e-05_rb,0.95017e-05_rb,0.11735e-04_rb,0.13561e-04_rb, & & 0.15077e-04_rb,0.16121e-04_rb,0.16138e-04_rb,0.41687e-06_rb /) kao(:, 2, 1, 1) = (/ & & 0.29791e-07_rb,0.68206e-05_rb,0.10260e-04_rb,0.12764e-04_rb,0.14880e-04_rb, & & 0.16665e-04_rb,0.17944e-04_rb,0.18170e-04_rb,0.44246e-06_rb /) kao(:, 3, 1, 1) = (/ & & 0.28272e-07_rb,0.72448e-05_rb,0.11083e-04_rb,0.13866e-04_rb,0.16256e-04_rb, & & 0.18323e-04_rb,0.19886e-04_rb,0.20229e-04_rb,0.47472e-06_rb /) kao(:, 4, 1, 1) = (/ & & 0.26900e-07_rb,0.76935e-05_rb,0.11934e-04_rb,0.15015e-04_rb,0.17657e-04_rb, & & 0.20038e-04_rb,0.21902e-04_rb,0.22361e-04_rb,0.50770e-06_rb /) kao(:, 5, 1, 1) = (/ & & 0.25656e-07_rb,0.81661e-05_rb,0.12769e-04_rb,0.16181e-04_rb,0.19127e-04_rb, & & 0.21755e-04_rb,0.23963e-04_rb,0.24421e-04_rb,0.54205e-06_rb /) kao(:, 1, 2, 1) = (/ & & 0.26396e-07_rb,0.52225e-05_rb,0.77221e-05_rb,0.95150e-05_rb,0.11004e-04_rb, & & 0.12195e-04_rb,0.13037e-04_rb,0.12985e-04_rb,0.32097e-06_rb /) kao(:, 2, 2, 1) = (/ & & 0.24945e-07_rb,0.55737e-05_rb,0.83612e-05_rb,0.10375e-04_rb,0.12116e-04_rb, & & 0.13569e-04_rb,0.14561e-04_rb,0.14711e-04_rb,0.34579e-06_rb /) kao(:, 3, 2, 1) = (/ & & 0.23646e-07_rb,0.59333e-05_rb,0.90531e-05_rb,0.11301e-04_rb,0.13247e-04_rb, & & 0.14956e-04_rb,0.16193e-04_rb,0.16396e-04_rb,0.37200e-06_rb /) kao(:, 4, 2, 1) = (/ & & 0.22476e-07_rb,0.63144e-05_rb,0.97732e-05_rb,0.12274e-04_rb,0.14436e-04_rb, & & 0.16377e-04_rb,0.17879e-04_rb,0.18223e-04_rb,0.40051e-06_rb /) kao(:, 5, 2, 1) = (/ & & 0.21415e-07_rb,0.67133e-05_rb,0.10471e-04_rb,0.13264e-04_rb,0.15681e-04_rb, & & 0.17843e-04_rb,0.19627e-04_rb,0.19954e-04_rb,0.42929e-06_rb /) kao(:, 1, 3, 1) = (/ & & 0.22397e-07_rb,0.41930e-05_rb,0.61559e-05_rb,0.75544e-05_rb,0.86902e-05_rb, & & 0.95896e-05_rb,0.10269e-04_rb,0.10114e-04_rb,0.24148e-06_rb /) kao(:, 2, 3, 1) = (/ & & 0.21124e-07_rb,0.44837e-05_rb,0.66786e-05_rb,0.82475e-05_rb,0.96353e-05_rb, & & 0.10742e-04_rb,0.11469e-04_rb,0.11556e-04_rb,0.26304e-06_rb /) kao(:, 3, 3, 1) = (/ & & 0.19988e-07_rb,0.47839e-05_rb,0.72499e-05_rb,0.90229e-05_rb,0.10560e-04_rb, & & 0.11900e-04_rb,0.12859e-04_rb,0.12935e-04_rb,0.28618e-06_rb /) kao(:, 4, 3, 1) = (/ & & 0.18968e-07_rb,0.51040e-05_rb,0.78586e-05_rb,0.98308e-05_rb,0.11551e-04_rb, & & 0.13094e-04_rb,0.14240e-04_rb,0.14455e-04_rb,0.30983e-06_rb /) kao(:, 5, 3, 1) = (/ & & 0.18047e-07_rb,0.54366e-05_rb,0.84462e-05_rb,0.10670e-04_rb,0.12585e-04_rb, & & 0.14313e-04_rb,0.15695e-04_rb,0.15934e-04_rb,0.33255e-06_rb /) kao(:, 1, 4, 1) = (/ & & 0.19080e-07_rb,0.33409e-05_rb,0.48738e-05_rb,0.59354e-05_rb,0.67877e-05_rb, & & 0.74900e-05_rb,0.79142e-05_rb,0.77200e-05_rb,0.18466e-06_rb /) kao(:, 2, 4, 1) = (/ & & 0.17954e-07_rb,0.35910e-05_rb,0.52960e-05_rb,0.65037e-05_rb,0.75744e-05_rb, & & 0.84082e-05_rb,0.89422e-05_rb,0.89302e-05_rb,0.20292e-06_rb /) kao(:, 3, 4, 1) = (/ & & 0.16954e-07_rb,0.38317e-05_rb,0.57536e-05_rb,0.71322e-05_rb,0.83424e-05_rb, & & 0.93788e-05_rb,0.10063e-04_rb,0.10098e-04_rb,0.22173e-06_rb /) kao(:, 4, 4, 1) = (/ & & 0.16059e-07_rb,0.40932e-05_rb,0.62586e-05_rb,0.77961e-05_rb,0.91475e-05_rb, & & 0.10347e-04_rb,0.11222e-04_rb,0.11312e-04_rb,0.24005e-06_rb /) kao(:, 5, 4, 1) = (/ & & 0.15254e-07_rb,0.43678e-05_rb,0.67525e-05_rb,0.84873e-05_rb,0.99995e-05_rb, & & 0.11353e-04_rb,0.12416e-04_rb,0.12586e-04_rb,0.25939e-06_rb /) kao(:, 1, 5, 1) = (/ & & 0.16261e-07_rb,0.26540e-05_rb,0.38541e-05_rb,0.46443e-05_rb,0.52961e-05_rb, & & 0.58054e-05_rb,0.60718e-05_rb,0.58540e-05_rb,0.14274e-06_rb /) kao(:, 2, 5, 1) = (/ & & 0.15265e-07_rb,0.28598e-05_rb,0.41831e-05_rb,0.51221e-05_rb,0.59110e-05_rb, & & 0.65207e-05_rb,0.69761e-05_rb,0.68685e-05_rb,0.15725e-06_rb /) kao(:, 3, 5, 1) = (/ & & 0.14384e-07_rb,0.30623e-05_rb,0.45528e-05_rb,0.56124e-05_rb,0.65650e-05_rb, & & 0.73436e-05_rb,0.78208e-05_rb,0.78523e-05_rb,0.17271e-06_rb /) kao(:, 4, 5, 1) = (/ & & 0.13599e-07_rb,0.32720e-05_rb,0.49622e-05_rb,0.61605e-05_rb,0.72244e-05_rb, & & 0.81582e-05_rb,0.87971e-05_rb,0.88096e-05_rb,0.18766e-06_rb /) kao(:, 5, 5, 1) = (/ & & 0.12895e-07_rb,0.34985e-05_rb,0.53833e-05_rb,0.67240e-05_rb,0.79091e-05_rb, & & 0.89688e-05_rb,0.97698e-05_rb,0.98639e-05_rb,0.20375e-06_rb /) kao(:, 1, 6, 1) = (/ & & 0.13898e-07_rb,0.20981e-05_rb,0.30384e-05_rb,0.36041e-05_rb,0.41040e-05_rb, & & 0.44334e-05_rb,0.45761e-05_rb,0.43950e-05_rb,0.11025e-06_rb /) kao(:, 2, 6, 1) = (/ & & 0.13011e-07_rb,0.22645e-05_rb,0.32890e-05_rb,0.40042e-05_rb,0.45851e-05_rb, & & 0.50473e-05_rb,0.53250e-05_rb,0.51854e-05_rb,0.12227e-06_rb /) kao(:, 3, 6, 1) = (/ & & 0.12231e-07_rb,0.24322e-05_rb,0.35842e-05_rb,0.43915e-05_rb,0.51259e-05_rb, & & 0.56903e-05_rb,0.60343e-05_rb,0.60166e-05_rb,0.13506e-06_rb /) kao(:, 4, 6, 1) = (/ & & 0.11539e-07_rb,0.26032e-05_rb,0.39107e-05_rb,0.48321e-05_rb,0.56525e-05_rb, & & 0.63625e-05_rb,0.68078e-05_rb,0.68024e-05_rb,0.14719e-06_rb /) kao(:, 5, 6, 1) = (/ & & 0.10921e-07_rb,0.27866e-05_rb,0.42578e-05_rb,0.52919e-05_rb,0.62181e-05_rb, & & 0.70362e-05_rb,0.76140e-05_rb,0.76519e-05_rb,0.16052e-06_rb /) kao(:, 1, 7, 1) = (/ & & 0.11886e-07_rb,0.16563e-05_rb,0.23860e-05_rb,0.28276e-05_rb,0.31449e-05_rb, & & 0.33771e-05_rb,0.34305e-05_rb,0.32824e-05_rb,0.84943e-07_rb /) kao(:, 2, 7, 1) = (/ & & 0.11096e-07_rb,0.17874e-05_rb,0.25861e-05_rb,0.31100e-05_rb,0.35425e-05_rb, & & 0.38737e-05_rb,0.40468e-05_rb,0.38933e-05_rb,0.94734e-07_rb /) kao(:, 3, 7, 1) = (/ & & 0.10405e-07_rb,0.19286e-05_rb,0.28166e-05_rb,0.34417e-05_rb,0.39786e-05_rb, & & 0.43804e-05_rb,0.46759e-05_rb,0.45835e-05_rb,0.10531e-06_rb /) kao(:, 4, 7, 1) = (/ & & 0.97948e-08_rb,0.20680e-05_rb,0.30741e-05_rb,0.37803e-05_rb,0.44163e-05_rb, & & 0.49420e-05_rb,0.52477e-05_rb,0.52509e-05_rb,0.11517e-06_rb /) kao(:, 5, 7, 1) = (/ & & 0.92522e-08_rb,0.22140e-05_rb,0.33558e-05_rb,0.41544e-05_rb,0.48719e-05_rb, & & 0.54968e-05_rb,0.59225e-05_rb,0.59027e-05_rb,0.12618e-06_rb /) kao(:, 1, 8, 1) = (/ & & 0.10164e-07_rb,0.13056e-05_rb,0.18690e-05_rb,0.21940e-05_rb,0.24210e-05_rb, & & 0.25504e-05_rb,0.25676e-05_rb,0.24444e-05_rb,0.66021e-07_rb /) kao(:, 2, 8, 1) = (/ & & 0.94612e-08_rb,0.14106e-05_rb,0.20398e-05_rb,0.24136e-05_rb,0.27424e-05_rb, & & 0.29578e-05_rb,0.30446e-05_rb,0.29182e-05_rb,0.73985e-07_rb /) kao(:, 3, 8, 1) = (/ & & 0.88489e-08_rb,0.15256e-05_rb,0.22123e-05_rb,0.26894e-05_rb,0.30704e-05_rb, & & 0.33808e-05_rb,0.35521e-05_rb,0.34526e-05_rb,0.82666e-07_rb /) kao(:, 4, 8, 1) = (/ & & 0.83111e-08_rb,0.16396e-05_rb,0.24159e-05_rb,0.29563e-05_rb,0.34504e-05_rb, & & 0.38196e-05_rb,0.40425e-05_rb,0.40093e-05_rb,0.90940e-07_rb /) kao(:, 5, 8, 1) = (/ & & 0.78349e-08_rb,0.17570e-05_rb,0.26398e-05_rb,0.32547e-05_rb,0.38060e-05_rb, & & 0.42813e-05_rb,0.45732e-05_rb,0.45465e-05_rb,0.10022e-06_rb /) kao(:, 1, 9, 1) = (/ & & 0.86983e-08_rb,0.10284e-05_rb,0.14734e-05_rb,0.16973e-05_rb,0.18551e-05_rb, & & 0.19223e-05_rb,0.19222e-05_rb,0.18289e-05_rb,0.53460e-07_rb /) kao(:, 2, 9, 1) = (/ & & 0.80712e-08_rb,0.11141e-05_rb,0.16016e-05_rb,0.18902e-05_rb,0.21027e-05_rb, & & 0.22504e-05_rb,0.22800e-05_rb,0.21749e-05_rb,0.60180e-07_rb /) kao(:, 3, 9, 1) = (/ & & 0.75284e-08_rb,0.12033e-05_rb,0.17376e-05_rb,0.20849e-05_rb,0.23719e-05_rb, & & 0.25906e-05_rb,0.26977e-05_rb,0.25910e-05_rb,0.66886e-07_rb /) kao(:, 4, 9, 1) = (/ & & 0.70541e-08_rb,0.12979e-05_rb,0.18959e-05_rb,0.23090e-05_rb,0.26695e-05_rb, & & 0.29367e-05_rb,0.31239e-05_rb,0.30574e-05_rb,0.73978e-07_rb /) kao(:, 5, 9, 1) = (/ & & 0.66359e-08_rb,0.13937e-05_rb,0.20720e-05_rb,0.25448e-05_rb,0.29680e-05_rb, & & 0.33208e-05_rb,0.35191e-05_rb,0.35097e-05_rb,0.81724e-07_rb /) kao(:, 1,10, 1) = (/ & & 0.74006e-08_rb,0.81705e-06_rb,0.11610e-05_rb,0.13325e-05_rb,0.14305e-05_rb, & & 0.14668e-05_rb,0.14642e-05_rb,0.13765e-05_rb,0.44724e-07_rb /) kao(:, 2,10, 1) = (/ & & 0.68477e-08_rb,0.88306e-06_rb,0.12640e-05_rb,0.14768e-05_rb,0.16329e-05_rb, & & 0.17209e-05_rb,0.17306e-05_rb,0.16441e-05_rb,0.50688e-07_rb /) kao(:, 3,10, 1) = (/ & & 0.63717e-08_rb,0.95522e-06_rb,0.13783e-05_rb,0.16303e-05_rb,0.18546e-05_rb, & & 0.19963e-05_rb,0.20570e-05_rb,0.19678e-05_rb,0.56052e-07_rb /) kao(:, 4,10, 1) = (/ & & 0.59576e-08_rb,0.10331e-05_rb,0.14975e-05_rb,0.18180e-05_rb,0.20770e-05_rb, & & 0.22813e-05_rb,0.24021e-05_rb,0.23350e-05_rb,0.62412e-07_rb /) kao(:, 5,10, 1) = (/ & & 0.55940e-08_rb,0.11102e-05_rb,0.16370e-05_rb,0.19999e-05_rb,0.23349e-05_rb, & & 0.25900e-05_rb,0.27328e-05_rb,0.27057e-05_rb,0.69466e-07_rb /) kao(:, 1,11, 1) = (/ & & 0.60617e-08_rb,0.67167e-06_rb,0.95594e-06_rb,0.10939e-05_rb,0.11767e-05_rb, & & 0.12059e-05_rb,0.12032e-05_rb,0.11314e-05_rb,0.37093e-07_rb /) kao(:, 2,11, 1) = (/ & & 0.56087e-08_rb,0.72704e-06_rb,0.10406e-05_rb,0.12137e-05_rb,0.13434e-05_rb, & & 0.14171e-05_rb,0.14246e-05_rb,0.13521e-05_rb,0.41918e-07_rb /) kao(:, 3,11, 1) = (/ & & 0.52187e-08_rb,0.78681e-06_rb,0.11338e-05_rb,0.13419e-05_rb,0.15254e-05_rb, & & 0.16426e-05_rb,0.16950e-05_rb,0.16203e-05_rb,0.46339e-07_rb /) kao(:, 4,11, 1) = (/ & & 0.48793e-08_rb,0.85013e-06_rb,0.12327e-05_rb,0.14971e-05_rb,0.17109e-05_rb, & & 0.18776e-05_rb,0.19784e-05_rb,0.19240e-05_rb,0.51725e-07_rb /) kao(:, 5,11, 1) = (/ & & 0.45815e-08_rb,0.91420e-06_rb,0.13427e-05_rb,0.16458e-05_rb,0.19221e-05_rb, & & 0.21323e-05_rb,0.22490e-05_rb,0.22263e-05_rb,0.57555e-07_rb /) kao(:, 1,12, 1) = (/ & & 0.49629e-08_rb,0.55223e-06_rb,0.78677e-06_rb,0.89789e-06_rb,0.96778e-06_rb, & & 0.99148e-06_rb,0.98883e-06_rb,0.93028e-06_rb,0.30610e-07_rb /) kao(:, 2,12, 1) = (/ & & 0.45920e-08_rb,0.59832e-06_rb,0.85632e-06_rb,0.99730e-06_rb,0.11052e-05_rb, & & 0.11665e-05_rb,0.11729e-05_rb,0.11125e-05_rb,0.34553e-07_rb /) kao(:, 3,12, 1) = (/ & & 0.42727e-08_rb,0.64760e-06_rb,0.93315e-06_rb,0.11041e-05_rb,0.12552e-05_rb, & & 0.13521e-05_rb,0.13956e-05_rb,0.13333e-05_rb,0.38176e-07_rb /) kao(:, 4,12, 1) = (/ & & 0.39949e-08_rb,0.69926e-06_rb,0.10110e-05_rb,0.12304e-05_rb,0.14083e-05_rb, & & 0.15442e-05_rb,0.16283e-05_rb,0.15837e-05_rb,0.42648e-07_rb /) kao(:, 5,12, 1) = (/ & & 0.37510e-08_rb,0.75239e-06_rb,0.11006e-05_rb,0.13535e-05_rb,0.15785e-05_rb, & & 0.17547e-05_rb,0.18501e-05_rb,0.18298e-05_rb,0.47452e-07_rb /) kao(:, 1,13, 1) = (/ & & 0.40633e-08_rb,0.45378e-06_rb,0.64719e-06_rb,0.73637e-06_rb,0.79571e-06_rb, & & 0.81503e-06_rb,0.81264e-06_rb,0.76488e-06_rb,0.25080e-07_rb /) kao(:, 2,13, 1) = (/ & & 0.37596e-08_rb,0.49208e-06_rb,0.70430e-06_rb,0.81894e-06_rb,0.90856e-06_rb, & & 0.95919e-06_rb,0.96435e-06_rb,0.91411e-06_rb,0.28293e-07_rb /) kao(:, 3,13, 1) = (/ & & 0.34982e-08_rb,0.53259e-06_rb,0.76370e-06_rb,0.90761e-06_rb,0.10316e-05_rb, & & 0.11116e-05_rb,0.11472e-05_rb,0.10956e-05_rb,0.31267e-07_rb /) kao(:, 4,13, 1) = (/ & & 0.32707e-08_rb,0.57488e-06_rb,0.82833e-06_rb,0.10096e-05_rb,0.11577e-05_rb, & & 0.12688e-05_rb,0.13388e-05_rb,0.13015e-05_rb,0.34930e-07_rb /) kao(:, 5,13, 1) = (/ & & 0.30710e-08_rb,0.61832e-06_rb,0.90250e-06_rb,0.11120e-05_rb,0.12962e-05_rb, & & 0.14424e-05_rb,0.15206e-05_rb,0.15032e-05_rb,0.38861e-07_rb /) kao(:, 1, 1, 2) = (/ & & 0.14215e-06_rb,0.65726e-04_rb,0.11327e-03_rb,0.15324e-03_rb,0.18473e-03_rb, & & 0.20658e-03_rb,0.21603e-03_rb,0.20617e-03_rb,0.13252e-04_rb /) kao(:, 2, 1, 2) = (/ & & 0.13452e-06_rb,0.69521e-04_rb,0.12059e-03_rb,0.16342e-03_rb,0.19613e-03_rb, & & 0.21987e-03_rb,0.22946e-03_rb,0.21879e-03_rb,0.14816e-04_rb /) kao(:, 3, 1, 2) = (/ & & 0.12766e-06_rb,0.73313e-04_rb,0.12786e-03_rb,0.17303e-03_rb,0.20754e-03_rb, & & 0.23326e-03_rb,0.24324e-03_rb,0.22956e-03_rb,0.16536e-04_rb /) kao(:, 4, 1, 2) = (/ & & 0.12147e-06_rb,0.77087e-04_rb,0.13521e-03_rb,0.18263e-03_rb,0.21904e-03_rb, & & 0.24614e-03_rb,0.25637e-03_rb,0.24060e-03_rb,0.18092e-04_rb /) kao(:, 5, 1, 2) = (/ & & 0.11584e-06_rb,0.80946e-04_rb,0.14233e-03_rb,0.19230e-03_rb,0.23047e-03_rb, & & 0.25869e-03_rb,0.26904e-03_rb,0.25139e-03_rb,0.19768e-04_rb /) kao(:, 1, 2, 2) = (/ & & 0.11918e-06_rb,0.55167e-04_rb,0.94557e-04_rb,0.12760e-03_rb,0.15322e-03_rb, & & 0.17148e-03_rb,0.17894e-03_rb,0.17049e-03_rb,0.10710e-04_rb /) kao(:, 2, 2, 2) = (/ & & 0.11264e-06_rb,0.58581e-04_rb,0.10113e-03_rb,0.13648e-03_rb,0.16335e-03_rb, & & 0.18288e-03_rb,0.19059e-03_rb,0.18131e-03_rb,0.12067e-04_rb /) kao(:, 3, 2, 2) = (/ & & 0.10678e-06_rb,0.61935e-04_rb,0.10756e-03_rb,0.14497e-03_rb,0.17335e-03_rb, & & 0.19437e-03_rb,0.20245e-03_rb,0.19070e-03_rb,0.13553e-04_rb /) kao(:, 4, 2, 2) = (/ & & 0.10149e-06_rb,0.65261e-04_rb,0.11404e-03_rb,0.15331e-03_rb,0.18323e-03_rb, & & 0.20559e-03_rb,0.21385e-03_rb,0.20024e-03_rb,0.14801e-04_rb /) kao(:, 5, 2, 2) = (/ & & 0.96699e-07_rb,0.68698e-04_rb,0.12038e-03_rb,0.16167e-03_rb,0.19308e-03_rb, & & 0.21635e-03_rb,0.22479e-03_rb,0.20964e-03_rb,0.16245e-04_rb /) kao(:, 1, 3, 2) = (/ & & 0.10112e-06_rb,0.45399e-04_rb,0.77226e-04_rb,0.10397e-03_rb,0.12462e-03_rb, & & 0.13956e-03_rb,0.14531e-03_rb,0.13816e-03_rb,0.83635e-05_rb /) kao(:, 2, 3, 2) = (/ & & 0.95381e-07_rb,0.48357e-04_rb,0.82986e-04_rb,0.11173e-03_rb,0.13338e-03_rb, & & 0.14898e-03_rb,0.15534e-03_rb,0.14786e-03_rb,0.94915e-05_rb /) kao(:, 3, 3, 2) = (/ & & 0.90257e-07_rb,0.51355e-04_rb,0.88727e-04_rb,0.11920e-03_rb,0.14215e-03_rb, & & 0.15859e-03_rb,0.16541e-03_rb,0.15622e-03_rb,0.10683e-04_rb /) kao(:, 4, 3, 2) = (/ & & 0.85653e-07_rb,0.54322e-04_rb,0.94369e-04_rb,0.12646e-03_rb,0.15072e-03_rb, & & 0.16838e-03_rb,0.17536e-03_rb,0.16433e-03_rb,0.11764e-04_rb /) kao(:, 5, 3, 2) = (/ & & 0.81492e-07_rb,0.57300e-04_rb,0.99940e-04_rb,0.13355e-03_rb,0.15929e-03_rb, & & 0.17800e-03_rb,0.18496e-03_rb,0.17234e-03_rb,0.12979e-04_rb /) kao(:, 1, 4, 2) = (/ & & 0.86132e-07_rb,0.36910e-04_rb,0.62346e-04_rb,0.83628e-04_rb,0.10025e-03_rb, & & 0.11224e-03_rb,0.11706e-03_rb,0.11109e-03_rb,0.64715e-05_rb /) kao(:, 2, 4, 2) = (/ & & 0.81062e-07_rb,0.39490e-04_rb,0.67274e-04_rb,0.90384e-04_rb,0.10785e-03_rb, & & 0.12026e-03_rb,0.12543e-03_rb,0.11944e-03_rb,0.73991e-05_rb /) kao(:, 3, 4, 2) = (/ & & 0.76553e-07_rb,0.42055e-04_rb,0.72269e-04_rb,0.96956e-04_rb,0.11528e-03_rb, & & 0.12833e-03_rb,0.13396e-03_rb,0.12697e-03_rb,0.83899e-05_rb /) kao(:, 4, 4, 2) = (/ & & 0.72516e-07_rb,0.44696e-04_rb,0.77235e-04_rb,0.10321e-03_rb,0.12276e-03_rb, & & 0.13674e-03_rb,0.14260e-03_rb,0.13384e-03_rb,0.93052e-05_rb /) kao(:, 5, 4, 2) = (/ & & 0.68881e-07_rb,0.47273e-04_rb,0.82118e-04_rb,0.10935e-03_rb,0.13016e-03_rb, & & 0.14506e-03_rb,0.15080e-03_rb,0.14062e-03_rb,0.10314e-04_rb /) kao(:, 1, 5, 2) = (/ & & 0.73401e-07_rb,0.29772e-04_rb,0.49957e-04_rb,0.66720e-04_rb,0.80104e-04_rb, & & 0.89761e-04_rb,0.93853e-04_rb,0.88953e-04_rb,0.50171e-05_rb /) kao(:, 2, 5, 2) = (/ & & 0.68916e-07_rb,0.31976e-04_rb,0.54217e-04_rb,0.72570e-04_rb,0.86671e-04_rb, & & 0.96653e-04_rb,0.10073e-03_rb,0.95875e-04_rb,0.57746e-05_rb /) kao(:, 3, 5, 2) = (/ & & 0.64945e-07_rb,0.34219e-04_rb,0.58417e-04_rb,0.78327e-04_rb,0.92950e-04_rb, & & 0.10358e-03_rb,0.10803e-03_rb,0.10274e-03_rb,0.66197e-05_rb /) kao(:, 4, 5, 2) = (/ & & 0.61405e-07_rb,0.36457e-04_rb,0.62694e-04_rb,0.83756e-04_rb,0.99356e-04_rb, & & 0.11058e-03_rb,0.11542e-03_rb,0.10858e-03_rb,0.73729e-05_rb /) kao(:, 5, 5, 2) = (/ & & 0.58229e-07_rb,0.38713e-04_rb,0.67059e-04_rb,0.89033e-04_rb,0.10573e-03_rb, & & 0.11764e-03_rb,0.12243e-03_rb,0.11440e-03_rb,0.82149e-05_rb /) kao(:, 1, 6, 2) = (/ & & 0.62723e-07_rb,0.23750e-04_rb,0.39643e-04_rb,0.52796e-04_rb,0.63478e-04_rb, & & 0.71151e-04_rb,0.74640e-04_rb,0.70193e-04_rb,0.38899e-05_rb /) kao(:, 2, 6, 2) = (/ & & 0.58735e-07_rb,0.25657e-04_rb,0.43274e-04_rb,0.57719e-04_rb,0.69124e-04_rb, & & 0.77375e-04_rb,0.80498e-04_rb,0.76543e-04_rb,0.44833e-05_rb /) kao(:, 3, 6, 2) = (/ & & 0.55222e-07_rb,0.27563e-04_rb,0.46866e-04_rb,0.62699e-04_rb,0.74494e-04_rb, & & 0.82946e-04_rb,0.86653e-04_rb,0.82509e-04_rb,0.51635e-05_rb /) kao(:, 4, 6, 2) = (/ & & 0.52103e-07_rb,0.29528e-04_rb,0.50470e-04_rb,0.67473e-04_rb,0.79899e-04_rb, & & 0.89004e-04_rb,0.92786e-04_rb,0.87628e-04_rb,0.58104e-05_rb /) kao(:, 5, 6, 2) = (/ & & 0.49317e-07_rb,0.31444e-04_rb,0.54175e-04_rb,0.72000e-04_rb,0.85322e-04_rb, & & 0.94885e-04_rb,0.98826e-04_rb,0.92648e-04_rb,0.64997e-05_rb /) kao(:, 1, 7, 2) = (/ & & 0.53634e-07_rb,0.18862e-04_rb,0.31325e-04_rb,0.41575e-04_rb,0.50141e-04_rb, & & 0.56190e-04_rb,0.58882e-04_rb,0.55026e-04_rb,0.29795e-05_rb /) kao(:, 2, 7, 2) = (/ & & 0.50084e-07_rb,0.20474e-04_rb,0.34342e-04_rb,0.45732e-04_rb,0.54884e-04_rb, & & 0.61494e-04_rb,0.64187e-04_rb,0.60857e-04_rb,0.34589e-05_rb /) kao(:, 3, 7, 2) = (/ & & 0.46973e-07_rb,0.22063e-04_rb,0.37411e-04_rb,0.49893e-04_rb,0.59475e-04_rb, & & 0.66279e-04_rb,0.69129e-04_rb,0.65758e-04_rb,0.39983e-05_rb /) kao(:, 4, 7, 2) = (/ & & 0.44224e-07_rb,0.23764e-04_rb,0.40481e-04_rb,0.54107e-04_rb,0.64026e-04_rb, & & 0.71350e-04_rb,0.74328e-04_rb,0.70513e-04_rb,0.45526e-05_rb /) kao(:, 5, 7, 2) = (/ & & 0.41777e-07_rb,0.25434e-04_rb,0.43555e-04_rb,0.57958e-04_rb,0.68599e-04_rb, & & 0.76304e-04_rb,0.79456e-04_rb,0.74649e-04_rb,0.51046e-05_rb /) kao(:, 1, 8, 2) = (/ & & 0.45857e-07_rb,0.14945e-04_rb,0.24594e-04_rb,0.32696e-04_rb,0.39571e-04_rb, & & 0.44348e-04_rb,0.46090e-04_rb,0.43034e-04_rb,0.22833e-05_rb /) kao(:, 2, 8, 2) = (/ & & 0.42697e-07_rb,0.16265e-04_rb,0.27198e-04_rb,0.36108e-04_rb,0.43381e-04_rb, & & 0.48642e-04_rb,0.50943e-04_rb,0.47848e-04_rb,0.26669e-05_rb /) kao(:, 3, 8, 2) = (/ & & 0.39944e-07_rb,0.17616e-04_rb,0.29775e-04_rb,0.39577e-04_rb,0.47366e-04_rb, & & 0.52791e-04_rb,0.54992e-04_rb,0.52236e-04_rb,0.30932e-05_rb /) kao(:, 4, 8, 2) = (/ & & 0.37522e-07_rb,0.19042e-04_rb,0.32351e-04_rb,0.43126e-04_rb,0.51153e-04_rb, & & 0.56987e-04_rb,0.59316e-04_rb,0.56438e-04_rb,0.35666e-05_rb /) kao(:, 5, 8, 2) = (/ & & 0.35376e-07_rb,0.20476e-04_rb,0.34946e-04_rb,0.46521e-04_rb,0.55009e-04_rb, & & 0.61221e-04_rb,0.63714e-04_rb,0.60035e-04_rb,0.40037e-05_rb /) kao(:, 1, 9, 2) = (/ & & 0.39233e-07_rb,0.11817e-04_rb,0.19254e-04_rb,0.25596e-04_rb,0.30843e-04_rb, & & 0.34574e-04_rb,0.36035e-04_rb,0.33425e-04_rb,0.17673e-05_rb /) kao(:, 2, 9, 2) = (/ & & 0.36418e-07_rb,0.12914e-04_rb,0.21404e-04_rb,0.28372e-04_rb,0.34161e-04_rb, & & 0.38321e-04_rb,0.40053e-04_rb,0.37435e-04_rb,0.20751e-05_rb /) kao(:, 3, 9, 2) = (/ & & 0.33979e-07_rb,0.14026e-04_rb,0.23574e-04_rb,0.31316e-04_rb,0.37514e-04_rb, & & 0.41977e-04_rb,0.43747e-04_rb,0.41346e-04_rb,0.24151e-05_rb /) kao(:, 4, 9, 2) = (/ & & 0.31844e-07_rb,0.15205e-04_rb,0.25770e-04_rb,0.34231e-04_rb,0.40723e-04_rb, & & 0.45315e-04_rb,0.47202e-04_rb,0.44869e-04_rb,0.28151e-05_rb /) kao(:, 5, 9, 2) = (/ & & 0.29961e-07_rb,0.16420e-04_rb,0.27955e-04_rb,0.37187e-04_rb,0.43941e-04_rb, & & 0.48873e-04_rb,0.50856e-04_rb,0.48170e-04_rb,0.31733e-05_rb /) kao(:, 1,10, 2) = (/ & & 0.33373e-07_rb,0.93505e-05_rb,0.15216e-04_rb,0.20198e-04_rb,0.24244e-04_rb, & & 0.27077e-04_rb,0.28186e-04_rb,0.25996e-04_rb,0.13941e-05_rb /) kao(:, 2,10, 2) = (/ & & 0.30893e-07_rb,0.10284e-04_rb,0.16902e-04_rb,0.22468e-04_rb,0.27072e-04_rb, & & 0.30382e-04_rb,0.31603e-04_rb,0.29456e-04_rb,0.16352e-05_rb /) kao(:, 3,10, 2) = (/ & & 0.28754e-07_rb,0.11207e-04_rb,0.18715e-04_rb,0.24849e-04_rb,0.29815e-04_rb, & & 0.33379e-04_rb,0.34901e-04_rb,0.32836e-04_rb,0.19188e-05_rb /) kao(:, 4,10, 2) = (/ & & 0.26892e-07_rb,0.12172e-04_rb,0.20578e-04_rb,0.27269e-04_rb,0.32536e-04_rb, & & 0.36182e-04_rb,0.37703e-04_rb,0.35750e-04_rb,0.22467e-05_rb /) kao(:, 5,10, 2) = (/ & & 0.25255e-07_rb,0.13195e-04_rb,0.22422e-04_rb,0.29781e-04_rb,0.35220e-04_rb, & & 0.39157e-04_rb,0.40719e-04_rb,0.38729e-04_rb,0.25535e-05_rb /) kao(:, 1,11, 2) = (/ & & 0.27335e-07_rb,0.77491e-05_rb,0.12607e-04_rb,0.16695e-04_rb,0.20093e-04_rb, & & 0.22431e-04_rb,0.23345e-04_rb,0.21522e-04_rb,0.11569e-05_rb /) kao(:, 2,11, 2) = (/ & & 0.25303e-07_rb,0.85322e-05_rb,0.14022e-04_rb,0.18593e-04_rb,0.22378e-04_rb, & & 0.25133e-04_rb,0.26161e-04_rb,0.24379e-04_rb,0.13709e-05_rb /) kao(:, 3,11, 2) = (/ & & 0.23551e-07_rb,0.92912e-05_rb,0.15536e-04_rb,0.20618e-04_rb,0.24722e-04_rb, & & 0.27647e-04_rb,0.28874e-04_rb,0.27196e-04_rb,0.16099e-05_rb /) kao(:, 4,11, 2) = (/ & & 0.22025e-07_rb,0.10117e-04_rb,0.17115e-04_rb,0.22645e-04_rb,0.26974e-04_rb, & & 0.29947e-04_rb,0.31210e-04_rb,0.29581e-04_rb,0.18845e-05_rb /) kao(:, 5,11, 2) = (/ & & 0.20684e-07_rb,0.10977e-04_rb,0.18645e-04_rb,0.24734e-04_rb,0.29203e-04_rb, & & 0.32453e-04_rb,0.33733e-04_rb,0.32056e-04_rb,0.21326e-05_rb /) kao(:, 1,12, 2) = (/ & & 0.22380e-07_rb,0.64144e-05_rb,0.10436e-04_rb,0.13802e-04_rb,0.16622e-04_rb, & & 0.18557e-04_rb,0.19314e-04_rb,0.17793e-04_rb,0.95906e-06_rb /) kao(:, 2,12, 2) = (/ & & 0.20716e-07_rb,0.70603e-05_rb,0.11625e-04_rb,0.15385e-04_rb,0.18503e-04_rb, & & 0.20776e-04_rb,0.21630e-04_rb,0.20152e-04_rb,0.11363e-05_rb /) kao(:, 3,12, 2) = (/ & & 0.19282e-07_rb,0.76960e-05_rb,0.12886e-04_rb,0.17087e-04_rb,0.20475e-04_rb, & & 0.22867e-04_rb,0.23856e-04_rb,0.22506e-04_rb,0.13400e-05_rb /) kao(:, 4,12, 2) = (/ & & 0.18032e-07_rb,0.83983e-05_rb,0.14206e-04_rb,0.18783e-04_rb,0.22334e-04_rb, & & 0.24764e-04_rb,0.25815e-04_rb,0.24461e-04_rb,0.15637e-05_rb /) kao(:, 5,12, 2) = (/ & & 0.16934e-07_rb,0.91186e-05_rb,0.15491e-04_rb,0.20513e-04_rb,0.24201e-04_rb, & & 0.26864e-04_rb,0.27917e-04_rb,0.26491e-04_rb,0.17707e-05_rb /) kao(:, 1,13, 2) = (/ & & 0.18323e-07_rb,0.53022e-05_rb,0.86273e-05_rb,0.11385e-04_rb,0.13729e-04_rb, & & 0.15318e-04_rb,0.15952e-04_rb,0.14693e-04_rb,0.78927e-06_rb /) kao(:, 2,13, 2) = (/ & & 0.16961e-07_rb,0.58316e-05_rb,0.96204e-05_rb,0.12717e-04_rb,0.15275e-04_rb, & & 0.17141e-04_rb,0.17863e-04_rb,0.16639e-04_rb,0.93659e-06_rb /) kao(:, 3,13, 2) = (/ & & 0.15787e-07_rb,0.63710e-05_rb,0.10675e-04_rb,0.14140e-04_rb,0.16925e-04_rb, & & 0.18881e-04_rb,0.19675e-04_rb,0.18564e-04_rb,0.11050e-05_rb /) kao(:, 4,13, 2) = (/ & & 0.14764e-07_rb,0.69607e-05_rb,0.11779e-04_rb,0.15554e-04_rb,0.18475e-04_rb, & & 0.20461e-04_rb,0.21320e-04_rb,0.20207e-04_rb,0.12868e-05_rb /) kao(:, 5,13, 2) = (/ & & 0.13865e-07_rb,0.75611e-05_rb,0.12843e-04_rb,0.16991e-04_rb,0.20029e-04_rb, & & 0.22208e-04_rb,0.23079e-04_rb,0.21838e-04_rb,0.14565e-05_rb /) kao(:, 1, 1, 3) = (/ & & 0.55948e-06_rb,0.43472e-03_rb,0.65689e-03_rb,0.80237e-03_rb,0.90326e-03_rb, & & 0.95995e-03_rb,0.94242e-03_rb,0.81801e-03_rb,0.18380e-03_rb /) kao(:, 2, 1, 3) = (/ & & 0.53175e-06_rb,0.45395e-03_rb,0.68779e-03_rb,0.84040e-03_rb,0.94598e-03_rb, & & 0.10011e-02_rb,0.98481e-03_rb,0.85748e-03_rb,0.19567e-03_rb /) kao(:, 3, 1, 3) = (/ & & 0.50648e-06_rb,0.46835e-03_rb,0.71403e-03_rb,0.87684e-03_rb,0.98520e-03_rb, & & 0.10393e-02_rb,0.10233e-02_rb,0.89729e-03_rb,0.20725e-03_rb /) kao(:, 4, 1, 3) = (/ & & 0.48330e-06_rb,0.48143e-03_rb,0.73979e-03_rb,0.91063e-03_rb,0.10212e-02_rb, & & 0.10762e-02_rb,0.10600e-02_rb,0.93507e-03_rb,0.21814e-03_rb /) kao(:, 5, 1, 3) = (/ & & 0.46195e-06_rb,0.49413e-03_rb,0.76470e-03_rb,0.94208e-03_rb,0.10547e-02_rb, & & 0.11099e-02_rb,0.10960e-02_rb,0.97164e-03_rb,0.23056e-03_rb /) kao(:, 1, 2, 3) = (/ & & 0.46813e-06_rb,0.36711e-03_rb,0.55743e-03_rb,0.68070e-03_rb,0.76614e-03_rb, & & 0.81442e-03_rb,0.79940e-03_rb,0.69691e-03_rb,0.14988e-03_rb /) kao(:, 2, 2, 3) = (/ & & 0.44450e-06_rb,0.38413e-03_rb,0.58502e-03_rb,0.71506e-03_rb,0.80409e-03_rb, & & 0.85191e-03_rb,0.83722e-03_rb,0.73231e-03_rb,0.15985e-03_rb /) kao(:, 3, 2, 3) = (/ & & 0.42301e-06_rb,0.39744e-03_rb,0.60852e-03_rb,0.74741e-03_rb,0.83920e-03_rb, & & 0.88588e-03_rb,0.87206e-03_rb,0.76677e-03_rb,0.16968e-03_rb /) kao(:, 4, 2, 3) = (/ & & 0.40335e-06_rb,0.40927e-03_rb,0.63200e-03_rb,0.77835e-03_rb,0.87190e-03_rb, & & 0.91843e-03_rb,0.90467e-03_rb,0.79859e-03_rb,0.17948e-03_rb /) kao(:, 5, 2, 3) = (/ & & 0.38529e-06_rb,0.42034e-03_rb,0.65353e-03_rb,0.80758e-03_rb,0.90248e-03_rb, & & 0.94929e-03_rb,0.93715e-03_rb,0.83136e-03_rb,0.19018e-03_rb /) kao(:, 1, 3, 3) = (/ & & 0.39591e-06_rb,0.30459e-03_rb,0.46364e-03_rb,0.56590e-03_rb,0.63680e-03_rb, & & 0.67681e-03_rb,0.66517e-03_rb,0.58106e-03_rb,0.11936e-03_rb /) kao(:, 2, 3, 3) = (/ & & 0.37538e-06_rb,0.32036e-03_rb,0.48874e-03_rb,0.59649e-03_rb,0.67170e-03_rb, & & 0.71161e-03_rb,0.69943e-03_rb,0.61159e-03_rb,0.12804e-03_rb /) kao(:, 3, 3, 3) = (/ & & 0.35675e-06_rb,0.33321e-03_rb,0.50999e-03_rb,0.62591e-03_rb,0.70319e-03_rb, & & 0.74333e-03_rb,0.73015e-03_rb,0.64070e-03_rb,0.13642e-03_rb /) kao(:, 4, 3, 3) = (/ & & 0.33978e-06_rb,0.34382e-03_rb,0.53102e-03_rb,0.65391e-03_rb,0.73278e-03_rb, & & 0.77303e-03_rb,0.75990e-03_rb,0.66979e-03_rb,0.14477e-03_rb /) kao(:, 5, 3, 3) = (/ & & 0.32422e-06_rb,0.35416e-03_rb,0.55071e-03_rb,0.68042e-03_rb,0.76041e-03_rb, & & 0.80118e-03_rb,0.78914e-03_rb,0.69923e-03_rb,0.15365e-03_rb /) kao(:, 1, 4, 3) = (/ & & 0.33598e-06_rb,0.24970e-03_rb,0.38053e-03_rb,0.46464e-03_rb,0.52234e-03_rb, & & 0.55488e-03_rb,0.54675e-03_rb,0.47794e-03_rb,0.95275e-04_rb /) kao(:, 2, 4, 3) = (/ & & 0.31800e-06_rb,0.26415e-03_rb,0.40313e-03_rb,0.49210e-03_rb,0.55359e-03_rb, & & 0.58661e-03_rb,0.57694e-03_rb,0.50393e-03_rb,0.10292e-03_rb /) kao(:, 3, 4, 3) = (/ & & 0.30177e-06_rb,0.27638e-03_rb,0.42268e-03_rb,0.51823e-03_rb,0.58348e-03_rb, & & 0.61591e-03_rb,0.60497e-03_rb,0.52947e-03_rb,0.11016e-03_rb /) kao(:, 4, 4, 3) = (/ & & 0.28703e-06_rb,0.28612e-03_rb,0.44165e-03_rb,0.54326e-03_rb,0.61010e-03_rb, & & 0.64299e-03_rb,0.63151e-03_rb,0.55558e-03_rb,0.11708e-03_rb /) kao(:, 5, 4, 3) = (/ & & 0.27356e-06_rb,0.29550e-03_rb,0.45903e-03_rb,0.56703e-03_rb,0.63522e-03_rb, & & 0.66839e-03_rb,0.65812e-03_rb,0.58142e-03_rb,0.12444e-03_rb /) kao(:, 1, 5, 3) = (/ & & 0.28517e-06_rb,0.20305e-03_rb,0.30940e-03_rb,0.37854e-03_rb,0.42516e-03_rb, & & 0.45167e-03_rb,0.44617e-03_rb,0.39006e-03_rb,0.76394e-04_rb /) kao(:, 2, 5, 3) = (/ & & 0.26943e-06_rb,0.21631e-03_rb,0.32942e-03_rb,0.40279e-03_rb,0.45281e-03_rb, & & 0.47959e-03_rb,0.47274e-03_rb,0.41219e-03_rb,0.83093e-04_rb /) kao(:, 3, 5, 3) = (/ & & 0.25526e-06_rb,0.22760e-03_rb,0.34736e-03_rb,0.42603e-03_rb,0.47928e-03_rb, & & 0.50573e-03_rb,0.49753e-03_rb,0.43423e-03_rb,0.89137e-04_rb /) kao(:, 4, 5, 3) = (/ & & 0.24245e-06_rb,0.23661e-03_rb,0.36423e-03_rb,0.44832e-03_rb,0.50373e-03_rb, & & 0.53021e-03_rb,0.52092e-03_rb,0.45715e-03_rb,0.95026e-04_rb /) kao(:, 5, 5, 3) = (/ & & 0.23079e-06_rb,0.24490e-03_rb,0.37979e-03_rb,0.46958e-03_rb,0.52671e-03_rb, & & 0.55360e-03_rb,0.54422e-03_rb,0.47982e-03_rb,0.10100e-03_rb /) kao(:, 1, 6, 3) = (/ & & 0.24258e-06_rb,0.16374e-03_rb,0.24889e-03_rb,0.30526e-03_rb,0.34256e-03_rb, & & 0.36437e-03_rb,0.36054e-03_rb,0.31643e-03_rb,0.60983e-04_rb /) kao(:, 2, 6, 3) = (/ & & 0.22873e-06_rb,0.17557e-03_rb,0.26674e-03_rb,0.32662e-03_rb,0.36698e-03_rb, & & 0.38862e-03_rb,0.38395e-03_rb,0.33481e-03_rb,0.66717e-04_rb /) kao(:, 3, 6, 3) = (/ & & 0.21632e-06_rb,0.18596e-03_rb,0.28315e-03_rb,0.34710e-03_rb,0.39032e-03_rb, & & 0.41186e-03_rb,0.40597e-03_rb,0.35347e-03_rb,0.71805e-04_rb /) kao(:, 4, 6, 3) = (/ & & 0.20515e-06_rb,0.19412e-03_rb,0.29825e-03_rb,0.36672e-03_rb,0.41223e-03_rb, & & 0.43370e-03_rb,0.42654e-03_rb,0.37308e-03_rb,0.76950e-04_rb /) kao(:, 5, 6, 3) = (/ & & 0.19500e-06_rb,0.20163e-03_rb,0.31177e-03_rb,0.38573e-03_rb,0.43298e-03_rb, & & 0.45474e-03_rb,0.44659e-03_rb,0.39273e-03_rb,0.81854e-04_rb /) kao(:, 1, 7, 3) = (/ & & 0.20644e-06_rb,0.13088e-03_rb,0.19883e-03_rb,0.24453e-03_rb,0.27379e-03_rb, & & 0.29133e-03_rb,0.28972e-03_rb,0.25527e-03_rb,0.48483e-04_rb /) kao(:, 2, 7, 3) = (/ & & 0.19422e-06_rb,0.14123e-03_rb,0.21464e-03_rb,0.26307e-03_rb,0.29520e-03_rb, & & 0.31262e-03_rb,0.30976e-03_rb,0.27057e-03_rb,0.53189e-04_rb /) kao(:, 3, 7, 3) = (/ & & 0.18334e-06_rb,0.15056e-03_rb,0.22945e-03_rb,0.28102e-03_rb,0.31570e-03_rb, & & 0.33336e-03_rb,0.32921e-03_rb,0.28657e-03_rb,0.57664e-04_rb /) kao(:, 4, 7, 3) = (/ & & 0.17359e-06_rb,0.15845e-03_rb,0.24254e-03_rb,0.29812e-03_rb,0.33533e-03_rb, & & 0.35273e-03_rb,0.34737e-03_rb,0.30290e-03_rb,0.62080e-04_rb /) kao(:, 5, 7, 3) = (/ & & 0.16476e-06_rb,0.16515e-03_rb,0.25472e-03_rb,0.31492e-03_rb,0.35368e-03_rb, & & 0.37134e-03_rb,0.36466e-03_rb,0.31971e-03_rb,0.66283e-04_rb /) kao(:, 1, 8, 3) = (/ & & 0.17564e-06_rb,0.10377e-03_rb,0.15799e-03_rb,0.19443e-03_rb,0.21775e-03_rb, & & 0.23221e-03_rb,0.23178e-03_rb,0.20518e-03_rb,0.38613e-04_rb /) kao(:, 2, 8, 3) = (/ & & 0.16486e-06_rb,0.11291e-03_rb,0.17177e-03_rb,0.21060e-03_rb,0.23605e-03_rb, & & 0.25023e-03_rb,0.24860e-03_rb,0.21840e-03_rb,0.42574e-04_rb /) kao(:, 3, 8, 3) = (/ & & 0.15532e-06_rb,0.12160e-03_rb,0.18472e-03_rb,0.22613e-03_rb,0.25383e-03_rb, & & 0.26813e-03_rb,0.26569e-03_rb,0.23149e-03_rb,0.46438e-04_rb /) kao(:, 4, 8, 3) = (/ & & 0.14679e-06_rb,0.12871e-03_rb,0.19629e-03_rb,0.24117e-03_rb,0.27101e-03_rb, & & 0.28546e-03_rb,0.28148e-03_rb,0.24511e-03_rb,0.50132e-04_rb /) kao(:, 5, 8, 3) = (/ & & 0.13913e-06_rb,0.13470e-03_rb,0.20711e-03_rb,0.25583e-03_rb,0.28735e-03_rb, & & 0.30171e-03_rb,0.29653e-03_rb,0.25931e-03_rb,0.53892e-04_rb /) kao(:, 1, 9, 3) = (/ & & 0.14950e-06_rb,0.81941e-04_rb,0.12473e-03_rb,0.15363e-03_rb,0.17257e-03_rb, & & 0.18409e-03_rb,0.18424e-03_rb,0.16439e-03_rb,0.30772e-04_rb /) kao(:, 2, 9, 3) = (/ & & 0.13998e-06_rb,0.89702e-04_rb,0.13655e-03_rb,0.16763e-03_rb,0.18779e-03_rb, & & 0.19919e-03_rb,0.19877e-03_rb,0.17581e-03_rb,0.34022e-04_rb /) kao(:, 3, 9, 3) = (/ & & 0.13160e-06_rb,0.97263e-04_rb,0.14776e-03_rb,0.18089e-03_rb,0.20292e-03_rb, & & 0.21451e-03_rb,0.21317e-03_rb,0.18640e-03_rb,0.37381e-04_rb /) kao(:, 4, 9, 3) = (/ & & 0.12415e-06_rb,0.10389e-03_rb,0.15817e-03_rb,0.19404e-03_rb,0.21794e-03_rb, & & 0.22980e-03_rb,0.22715e-03_rb,0.19784e-03_rb,0.40457e-04_rb /) kao(:, 5, 9, 3) = (/ & & 0.11749e-06_rb,0.10934e-03_rb,0.16768e-03_rb,0.20680e-03_rb,0.23234e-03_rb, & & 0.24414e-03_rb,0.24026e-03_rb,0.20959e-03_rb,0.43586e-04_rb /) kao(:, 1,10, 3) = (/ & & 0.12658e-06_rb,0.64763e-04_rb,0.98690e-04_rb,0.12170e-03_rb,0.13709e-03_rb, & & 0.14644e-03_rb,0.14709e-03_rb,0.13215e-03_rb,0.24737e-04_rb /) kao(:, 2,10, 3) = (/ & & 0.11826e-06_rb,0.71405e-04_rb,0.10875e-03_rb,0.13368e-03_rb,0.14978e-03_rb, & & 0.15901e-03_rb,0.15937e-03_rb,0.14153e-03_rb,0.27487e-04_rb /) kao(:, 3,10, 3) = (/ & & 0.11097e-06_rb,0.77857e-04_rb,0.11842e-03_rb,0.14510e-03_rb,0.16261e-03_rb, & & 0.17204e-03_rb,0.17129e-03_rb,0.15041e-03_rb,0.30250e-04_rb /) kao(:, 4,10, 3) = (/ & & 0.10451e-06_rb,0.83764e-04_rb,0.12762e-03_rb,0.15625e-03_rb,0.17544e-03_rb, & & 0.18516e-03_rb,0.18345e-03_rb,0.16010e-03_rb,0.32891e-04_rb /) kao(:, 5,10, 3) = (/ & & 0.98767e-07_rb,0.88833e-04_rb,0.13595e-03_rb,0.16723e-03_rb,0.18798e-03_rb, & & 0.19766e-03_rb,0.19477e-03_rb,0.16979e-03_rb,0.35547e-04_rb /) kao(:, 1,11, 3) = (/ & & 0.10368e-06_rb,0.53714e-04_rb,0.81748e-04_rb,0.10085e-03_rb,0.11349e-03_rb, & & 0.12126e-03_rb,0.12180e-03_rb,0.10950e-03_rb,0.20787e-04_rb /) kao(:, 2,11, 3) = (/ & & 0.96854e-07_rb,0.59175e-04_rb,0.90131e-04_rb,0.11085e-03_rb,0.12425e-03_rb, & & 0.13166e-03_rb,0.13207e-03_rb,0.11733e-03_rb,0.23028e-04_rb /) kao(:, 3,11, 3) = (/ & & 0.90882e-07_rb,0.64593e-04_rb,0.98275e-04_rb,0.12041e-03_rb,0.13497e-03_rb, & & 0.14273e-03_rb,0.14215e-03_rb,0.12479e-03_rb,0.25362e-04_rb /) kao(:, 4,11, 3) = (/ & & 0.85602e-07_rb,0.69545e-04_rb,0.10592e-03_rb,0.12982e-03_rb,0.14583e-03_rb, & & 0.15388e-03_rb,0.15228e-03_rb,0.13297e-03_rb,0.27585e-04_rb /) kao(:, 5,11, 3) = (/ & & 0.80889e-07_rb,0.73731e-04_rb,0.11290e-03_rb,0.13914e-03_rb,0.15637e-03_rb, & & 0.16431e-03_rb,0.16189e-03_rb,0.14116e-03_rb,0.29828e-04_rb /) kao(:, 1,12, 3) = (/ & & 0.84886e-07_rb,0.44418e-04_rb,0.67641e-04_rb,0.83490e-04_rb,0.93906e-04_rb, & & 0.10034e-03_rb,0.10075e-03_rb,0.90614e-04_rb,0.17350e-04_rb /) kao(:, 2,12, 3) = (/ & & 0.79297e-07_rb,0.48981e-04_rb,0.74656e-04_rb,0.91821e-04_rb,0.10299e-03_rb, & & 0.10891e-03_rb,0.10933e-03_rb,0.97221e-04_rb,0.19237e-04_rb /) kao(:, 3,12, 3) = (/ & & 0.74408e-07_rb,0.53553e-04_rb,0.81503e-04_rb,0.99872e-04_rb,0.11196e-03_rb, & & 0.11832e-03_rb,0.11782e-03_rb,0.10341e-03_rb,0.21189e-04_rb /) kao(:, 4,12, 3) = (/ & & 0.70085e-07_rb,0.57698e-04_rb,0.87887e-04_rb,0.10781e-03_rb,0.12107e-03_rb, & & 0.12775e-03_rb,0.12624e-03_rb,0.11034e-03_rb,0.23038e-04_rb /) kao(:, 5,12, 3) = (/ & & 0.66226e-07_rb,0.61177e-04_rb,0.93694e-04_rb,0.11567e-03_rb,0.12995e-03_rb, & & 0.13645e-03_rb,0.13436e-03_rb,0.11726e-03_rb,0.24913e-04_rb /) kao(:, 1,13, 3) = (/ & & 0.69499e-07_rb,0.36716e-04_rb,0.55902e-04_rb,0.69067e-04_rb,0.77635e-04_rb, & & 0.82934e-04_rb,0.83302e-04_rb,0.74905e-04_rb,0.14419e-04_rb /) kao(:, 2,13, 3) = (/ & & 0.64923e-07_rb,0.40511e-04_rb,0.61779e-04_rb,0.75984e-04_rb,0.85239e-04_rb, & & 0.90090e-04_rb,0.90456e-04_rb,0.80264e-04_rb,0.15996e-04_rb /) kao(:, 3,13, 3) = (/ & & 0.60920e-07_rb,0.44356e-04_rb,0.67533e-04_rb,0.82746e-04_rb,0.92816e-04_rb, & & 0.98017e-04_rb,0.97590e-04_rb,0.85621e-04_rb,0.17623e-04_rb /) kao(:, 4,13, 3) = (/ & & 0.57381e-07_rb,0.47826e-04_rb,0.72874e-04_rb,0.89443e-04_rb,0.10040e-03_rb, & & 0.10588e-03_rb,0.10456e-03_rb,0.91429e-04_rb,0.19144e-04_rb /) kao(:, 5,13, 3) = (/ & & 0.54221e-07_rb,0.50750e-04_rb,0.77698e-04_rb,0.96005e-04_rb,0.10784e-03_rb, & & 0.11318e-03_rb,0.11139e-03_rb,0.97258e-04_rb,0.20671e-04_rb /) kao(:, 1, 1, 4) = (/ & & 0.36654e-05_rb,0.13689e-02_rb,0.21108e-02_rb,0.26314e-02_rb,0.29458e-02_rb, & & 0.30831e-02_rb,0.30207e-02_rb,0.26003e-02_rb,0.93689e-03_rb /) kao(:, 2, 1, 4) = (/ & & 0.35304e-05_rb,0.14025e-02_rb,0.21716e-02_rb,0.27078e-02_rb,0.30551e-02_rb, & & 0.31948e-02_rb,0.31649e-02_rb,0.27258e-02_rb,0.97983e-03_rb /) kao(:, 3, 1, 4) = (/ & & 0.34059e-05_rb,0.14340e-02_rb,0.22214e-02_rb,0.27773e-02_rb,0.31348e-02_rb, & & 0.33049e-02_rb,0.32835e-02_rb,0.28461e-02_rb,0.10251e-02_rb /) kao(:, 4, 1, 4) = (/ & & 0.32895e-05_rb,0.14610e-02_rb,0.22596e-02_rb,0.28314e-02_rb,0.32113e-02_rb, & & 0.34131e-02_rb,0.33921e-02_rb,0.29508e-02_rb,0.10730e-02_rb /) kao(:, 5, 1, 4) = (/ & & 0.31814e-05_rb,0.14814e-02_rb,0.22905e-02_rb,0.28789e-02_rb,0.32785e-02_rb, & & 0.34996e-02_rb,0.34952e-02_rb,0.30528e-02_rb,0.11205e-02_rb /) kao(:, 1, 2, 4) = (/ & & 0.30293e-05_rb,0.11600e-02_rb,0.17946e-02_rb,0.22370e-02_rb,0.25205e-02_rb, & & 0.26432e-02_rb,0.26172e-02_rb,0.22691e-02_rb,0.78466e-03_rb /) kao(:, 2, 2, 4) = (/ & & 0.29173e-05_rb,0.11916e-02_rb,0.18468e-02_rb,0.23072e-02_rb,0.26094e-02_rb, & & 0.27477e-02_rb,0.27388e-02_rb,0.23809e-02_rb,0.82356e-03_rb /) kao(:, 3, 2, 4) = (/ & & 0.28152e-05_rb,0.12203e-02_rb,0.18939e-02_rb,0.23691e-02_rb,0.26814e-02_rb, & & 0.28506e-02_rb,0.28414e-02_rb,0.24825e-02_rb,0.86161e-03_rb /) kao(:, 4, 2, 4) = (/ & & 0.27207e-05_rb,0.12454e-02_rb,0.19291e-02_rb,0.24180e-02_rb,0.27489e-02_rb, & & 0.29380e-02_rb,0.29345e-02_rb,0.25808e-02_rb,0.90328e-03_rb /) kao(:, 5, 2, 4) = (/ & & 0.26316e-05_rb,0.12644e-02_rb,0.19586e-02_rb,0.24624e-02_rb,0.28146e-02_rb, & & 0.30125e-02_rb,0.30237e-02_rb,0.26695e-02_rb,0.94678e-03_rb /) kao(:, 1, 3, 4) = (/ & & 0.25288e-05_rb,0.97348e-03_rb,0.15070e-02_rb,0.18795e-02_rb,0.21206e-02_rb, & & 0.22362e-02_rb,0.22210e-02_rb,0.19369e-02_rb,0.64308e-03_rb /) kao(:, 2, 3, 4) = (/ & & 0.24353e-05_rb,0.10031e-02_rb,0.15552e-02_rb,0.19441e-02_rb,0.22013e-02_rb, & & 0.23257e-02_rb,0.23286e-02_rb,0.20362e-02_rb,0.67529e-03_rb /) kao(:, 3, 3, 4) = (/ & & 0.23495e-05_rb,0.10295e-02_rb,0.15986e-02_rb,0.20019e-02_rb,0.22663e-02_rb, & & 0.24160e-02_rb,0.24204e-02_rb,0.21276e-02_rb,0.70991e-03_rb /) kao(:, 4, 3, 4) = (/ & & 0.22699e-05_rb,0.10533e-02_rb,0.16337e-02_rb,0.20489e-02_rb,0.23288e-02_rb, & & 0.24911e-02_rb,0.25016e-02_rb,0.22148e-02_rb,0.74635e-03_rb /) kao(:, 5, 3, 4) = (/ & & 0.21951e-05_rb,0.10724e-02_rb,0.16625e-02_rb,0.20891e-02_rb,0.23896e-02_rb, & & 0.25582e-02_rb,0.25812e-02_rb,0.22925e-02_rb,0.78432e-03_rb /) kao(:, 1, 4, 4) = (/ & & 0.21169e-05_rb,0.81053e-03_rb,0.12568e-02_rb,0.15647e-02_rb,0.17654e-02_rb, & & 0.18662e-02_rb,0.18568e-02_rb,0.16269e-02_rb,0.52608e-03_rb /) kao(:, 2, 4, 4) = (/ & & 0.20407e-05_rb,0.83875e-03_rb,0.13019e-02_rb,0.16252e-02_rb,0.18383e-02_rb, & & 0.19441e-02_rb,0.19538e-02_rb,0.17139e-02_rb,0.55325e-03_rb /) kao(:, 3, 4, 4) = (/ & & 0.19674e-05_rb,0.86329e-03_rb,0.13417e-02_rb,0.16788e-02_rb,0.18985e-02_rb, & & 0.20246e-02_rb,0.20315e-02_rb,0.17978e-02_rb,0.58253e-03_rb /) kao(:, 4, 4, 4) = (/ & & 0.18994e-05_rb,0.88551e-03_rb,0.13753e-02_rb,0.17238e-02_rb,0.19566e-02_rb, & & 0.20923e-02_rb,0.21035e-02_rb,0.18724e-02_rb,0.61438e-03_rb /) kao(:, 5, 4, 4) = (/ & & 0.18358e-05_rb,0.90442e-03_rb,0.14042e-02_rb,0.17619e-02_rb,0.20119e-02_rb, & & 0.21542e-02_rb,0.21749e-02_rb,0.19425e-02_rb,0.64762e-03_rb /) kao(:, 1, 5, 4) = (/ & & 0.17725e-05_rb,0.67146e-03_rb,0.10396e-02_rb,0.12935e-02_rb,0.14576e-02_rb, & & 0.15437e-02_rb,0.15341e-02_rb,0.13532e-02_rb,0.42981e-03_rb /) kao(:, 2, 5, 4) = (/ & & 0.17095e-05_rb,0.69774e-03_rb,0.10823e-02_rb,0.13477e-02_rb,0.15227e-02_rb, & & 0.16117e-02_rb,0.16222e-02_rb,0.14302e-02_rb,0.45286e-03_rb /) kao(:, 3, 5, 4) = (/ & & 0.16478e-05_rb,0.72044e-03_rb,0.11190e-02_rb,0.13967e-02_rb,0.15783e-02_rb, & & 0.16817e-02_rb,0.16897e-02_rb,0.15040e-02_rb,0.47782e-03_rb /) kao(:, 4, 5, 4) = (/ & & 0.15896e-05_rb,0.74136e-03_rb,0.11512e-02_rb,0.14394e-02_rb,0.16307e-02_rb, & & 0.17435e-02_rb,0.17536e-02_rb,0.15687e-02_rb,0.50468e-03_rb /) kao(:, 5, 5, 4) = (/ & & 0.15353e-05_rb,0.75977e-03_rb,0.11790e-02_rb,0.14755e-02_rb,0.16811e-02_rb, & & 0.17990e-02_rb,0.18175e-02_rb,0.16279e-02_rb,0.53353e-03_rb /) kao(:, 1, 6, 4) = (/ & & 0.14856e-05_rb,0.55163e-03_rb,0.85182e-03_rb,0.10583e-02_rb,0.11933e-02_rb, & & 0.12633e-02_rb,0.12519e-02_rb,0.11126e-02_rb,0.34969e-03_rb /) kao(:, 2, 6, 4) = (/ & & 0.14323e-05_rb,0.57534e-03_rb,0.89211e-03_rb,0.11084e-02_rb,0.12510e-02_rb, & & 0.13248e-02_rb,0.13302e-02_rb,0.11815e-02_rb,0.36893e-03_rb /) kao(:, 3, 6, 4) = (/ & & 0.13818e-05_rb,0.59705e-03_rb,0.92552e-03_rb,0.11530e-02_rb,0.13018e-02_rb, & & 0.13860e-02_rb,0.13942e-02_rb,0.12437e-02_rb,0.38991e-03_rb /) kao(:, 4, 6, 4) = (/ & & 0.13317e-05_rb,0.61671e-03_rb,0.95568e-03_rb,0.11922e-02_rb,0.13481e-02_rb, & & 0.14426e-02_rb,0.14508e-02_rb,0.13001e-02_rb,0.41248e-03_rb /) kao(:, 5, 6, 4) = (/ & & 0.12851e-05_rb,0.63414e-03_rb,0.98227e-03_rb,0.12265e-02_rb,0.13936e-02_rb, & & 0.14913e-02_rb,0.15064e-02_rb,0.13512e-02_rb,0.43696e-03_rb /) kao(:, 1, 7, 4) = (/ & & 0.12453e-05_rb,0.44982e-03_rb,0.69286e-03_rb,0.85857e-03_rb,0.97115e-03_rb, & & 0.10268e-02_rb,0.10132e-02_rb,0.90661e-03_rb,0.28333e-03_rb /) kao(:, 2, 7, 4) = (/ & & 0.11997e-05_rb,0.47163e-03_rb,0.72984e-03_rb,0.90525e-03_rb,0.10209e-02_rb, & & 0.10830e-02_rb,0.10815e-02_rb,0.96820e-03_rb,0.29991e-03_rb /) kao(:, 3, 7, 4) = (/ & & 0.11571e-05_rb,0.49170e-03_rb,0.76064e-03_rb,0.94597e-03_rb,0.10683e-02_rb, & & 0.11337e-02_rb,0.11418e-02_rb,0.10210e-02_rb,0.31738e-03_rb /) kao(:, 4, 7, 4) = (/ & & 0.11157e-05_rb,0.50964e-03_rb,0.78859e-03_rb,0.98236e-03_rb,0.11088e-02_rb, & & 0.11859e-02_rb,0.11920e-02_rb,0.10690e-02_rb,0.33600e-03_rb /) kao(:, 5, 7, 4) = (/ & & 0.10757e-05_rb,0.52578e-03_rb,0.81330e-03_rb,0.10141e-02_rb,0.11493e-02_rb, & & 0.12285e-02_rb,0.12399e-02_rb,0.11151e-02_rb,0.35631e-03_rb /) kao(:, 1, 8, 4) = (/ & & 0.10436e-05_rb,0.36475e-03_rb,0.55948e-03_rb,0.69399e-03_rb,0.78699e-03_rb, & & 0.82733e-03_rb,0.81546e-03_rb,0.73443e-03_rb,0.22874e-03_rb /) kao(:, 2, 8, 4) = (/ & & 0.10043e-05_rb,0.38461e-03_rb,0.59365e-03_rb,0.73631e-03_rb,0.82902e-03_rb, & & 0.87996e-03_rb,0.87589e-03_rb,0.78745e-03_rb,0.24281e-03_rb /) kao(:, 3, 8, 4) = (/ & & 0.96785e-06_rb,0.40227e-03_rb,0.62191e-03_rb,0.77183e-03_rb,0.87067e-03_rb, & & 0.92338e-03_rb,0.93116e-03_rb,0.83334e-03_rb,0.25735e-03_rb /) kao(:, 4, 8, 4) = (/ & & 0.93367e-06_rb,0.41881e-03_rb,0.64697e-03_rb,0.80474e-03_rb,0.90754e-03_rb, & & 0.96806e-03_rb,0.97434e-03_rb,0.87439e-03_rb,0.27286e-03_rb /) kao(:, 5, 8, 4) = (/ & & 0.90017e-06_rb,0.43377e-03_rb,0.67026e-03_rb,0.83398e-03_rb,0.94269e-03_rb, & & 0.10080e-02_rb,0.10154e-02_rb,0.91479e-03_rb,0.28948e-03_rb /) kao(:, 1, 9, 4) = (/ & & 0.87469e-06_rb,0.29345e-03_rb,0.44857e-03_rb,0.55653e-03_rb,0.63371e-03_rb, & & 0.66253e-03_rb,0.65229e-03_rb,0.59009e-03_rb,0.18475e-03_rb /) kao(:, 2, 9, 4) = (/ & & 0.84062e-06_rb,0.31152e-03_rb,0.47975e-03_rb,0.59422e-03_rb,0.67077e-03_rb, & & 0.71168e-03_rb,0.70550e-03_rb,0.63674e-03_rb,0.19669e-03_rb /) kao(:, 3, 9, 4) = (/ & & 0.80947e-06_rb,0.32779e-03_rb,0.50582e-03_rb,0.62707e-03_rb,0.70705e-03_rb, & & 0.74936e-03_rb,0.75252e-03_rb,0.67682e-03_rb,0.20896e-03_rb /) kao(:, 4, 9, 4) = (/ & & 0.78052e-06_rb,0.34262e-03_rb,0.52820e-03_rb,0.65631e-03_rb,0.74002e-03_rb, & & 0.78731e-03_rb,0.79257e-03_rb,0.71155e-03_rb,0.22197e-03_rb /) kao(:, 5, 9, 4) = (/ & & 0.75300e-06_rb,0.35618e-03_rb,0.54940e-03_rb,0.68236e-03_rb,0.76978e-03_rb, & & 0.82271e-03_rb,0.82806e-03_rb,0.74658e-03_rb,0.23588e-03_rb /) kao(:, 1,10, 4) = (/ & & 0.73080e-06_rb,0.23619e-03_rb,0.36002e-03_rb,0.44769e-03_rb,0.51001e-03_rb, & & 0.53294e-03_rb,0.52319e-03_rb,0.47492e-03_rb,0.15005e-03_rb /) kao(:, 2,10, 4) = (/ & & 0.70142e-06_rb,0.25225e-03_rb,0.38742e-03_rb,0.48039e-03_rb,0.54285e-03_rb, & & 0.57407e-03_rb,0.56765e-03_rb,0.51444e-03_rb,0.16000e-03_rb /) kao(:, 3,10, 4) = (/ & & 0.67484e-06_rb,0.26687e-03_rb,0.41119e-03_rb,0.50924e-03_rb,0.57372e-03_rb, & & 0.60912e-03_rb,0.60813e-03_rb,0.54945e-03_rb,0.17036e-03_rb /) kao(:, 4,10, 4) = (/ & & 0.65032e-06_rb,0.28002e-03_rb,0.43104e-03_rb,0.53513e-03_rb,0.60294e-03_rb, & & 0.63998e-03_rb,0.64485e-03_rb,0.57888e-03_rb,0.18120e-03_rb /) kao(:, 5,10, 4) = (/ & & 0.62752e-06_rb,0.29182e-03_rb,0.44950e-03_rb,0.55836e-03_rb,0.62849e-03_rb, & & 0.67148e-03_rb,0.67570e-03_rb,0.60918e-03_rb,0.19271e-03_rb /) kao(:, 1,11, 4) = (/ & & 0.59846e-06_rb,0.19603e-03_rb,0.29902e-03_rb,0.37159e-03_rb,0.42367e-03_rb, & & 0.44241e-03_rb,0.43550e-03_rb,0.39618e-03_rb,0.12498e-03_rb /) kao(:, 2,11, 4) = (/ & & 0.57447e-06_rb,0.20953e-03_rb,0.32187e-03_rb,0.39882e-03_rb,0.45021e-03_rb, & & 0.47717e-03_rb,0.47240e-03_rb,0.42894e-03_rb,0.13362e-03_rb /) kao(:, 3,11, 4) = (/ & & 0.55265e-06_rb,0.22185e-03_rb,0.34133e-03_rb,0.42283e-03_rb,0.47616e-03_rb, & & 0.50481e-03_rb,0.50553e-03_rb,0.45654e-03_rb,0.14246e-03_rb /) kao(:, 4,11, 4) = (/ & & 0.53259e-06_rb,0.23301e-03_rb,0.35816e-03_rb,0.44448e-03_rb,0.50048e-03_rb, & & 0.53147e-03_rb,0.53574e-03_rb,0.48169e-03_rb,0.15168e-03_rb /) kao(:, 5,11, 4) = (/ & & 0.51379e-06_rb,0.24302e-03_rb,0.37383e-03_rb,0.46352e-03_rb,0.52203e-03_rb, & & 0.55783e-03_rb,0.56175e-03_rb,0.50737e-03_rb,0.16153e-03_rb /) kao(:, 1,12, 4) = (/ & & 0.49006e-06_rb,0.16259e-03_rb,0.24802e-03_rb,0.30804e-03_rb,0.35111e-03_rb, & & 0.36672e-03_rb,0.36166e-03_rb,0.32968e-03_rb,0.10401e-03_rb /) kao(:, 2,12, 4) = (/ & & 0.47033e-06_rb,0.17379e-03_rb,0.26697e-03_rb,0.33069e-03_rb,0.37292e-03_rb, & & 0.39587e-03_rb,0.39239e-03_rb,0.35672e-03_rb,0.11138e-03_rb /) kao(:, 3,12, 4) = (/ & & 0.45247e-06_rb,0.18417e-03_rb,0.28295e-03_rb,0.35045e-03_rb,0.39465e-03_rb, & & 0.41825e-03_rb,0.41984e-03_rb,0.37867e-03_rb,0.11882e-03_rb /) kao(:, 4,12, 4) = (/ & & 0.43605e-06_rb,0.19351e-03_rb,0.29716e-03_rb,0.36850e-03_rb,0.41489e-03_rb, & & 0.44074e-03_rb,0.44460e-03_rb,0.40031e-03_rb,0.12667e-03_rb /) kao(:, 5,12, 4) = (/ & & 0.42066e-06_rb,0.20206e-03_rb,0.31038e-03_rb,0.38464e-03_rb,0.43337e-03_rb, & & 0.46297e-03_rb,0.46667e-03_rb,0.42202e-03_rb,0.13498e-03_rb /) kao(:, 1,13, 4) = (/ & & 0.40122e-06_rb,0.13465e-03_rb,0.20541e-03_rb,0.25488e-03_rb,0.29006e-03_rb, & & 0.30358e-03_rb,0.29984e-03_rb,0.27375e-03_rb,0.86406e-04_rb /) kao(:, 2,13, 4) = (/ & & 0.38502e-06_rb,0.14398e-03_rb,0.22086e-03_rb,0.27376e-03_rb,0.30832e-03_rb, & & 0.32794e-03_rb,0.32517e-03_rb,0.29562e-03_rb,0.92614e-04_rb /) kao(:, 3,13, 4) = (/ & & 0.37045e-06_rb,0.15266e-03_rb,0.23416e-03_rb,0.29013e-03_rb,0.32675e-03_rb, & & 0.34622e-03_rb,0.34816e-03_rb,0.31401e-03_rb,0.98880e-04_rb /) kao(:, 4,13, 4) = (/ & & 0.35702e-06_rb,0.16050e-03_rb,0.24608e-03_rb,0.30521e-03_rb,0.34336e-03_rb, & & 0.36522e-03_rb,0.36857e-03_rb,0.33246e-03_rb,0.10559e-03_rb /) kao(:, 5,13, 4) = (/ & & 0.34440e-06_rb,0.16771e-03_rb,0.25742e-03_rb,0.31904e-03_rb,0.35943e-03_rb, & & 0.38405e-03_rb,0.38715e-03_rb,0.35087e-03_rb,0.11262e-03_rb /) kao(:, 1, 1, 5) = (/ & & 0.15583e-03_rb,0.37546e-02_rb,0.53536e-02_rb,0.64161e-02_rb,0.71223e-02_rb, & & 0.74982e-02_rb,0.73596e-02_rb,0.65135e-02_rb,0.35175e-02_rb /) kao(:, 2, 1, 5) = (/ & & 0.16148e-03_rb,0.38569e-02_rb,0.55256e-02_rb,0.66461e-02_rb,0.73757e-02_rb, & & 0.77530e-02_rb,0.75665e-02_rb,0.66496e-02_rb,0.36840e-02_rb /) kao(:, 3, 1, 5) = (/ & & 0.16484e-03_rb,0.39353e-02_rb,0.56745e-02_rb,0.68364e-02_rb,0.76166e-02_rb, & & 0.79711e-02_rb,0.77717e-02_rb,0.67846e-02_rb,0.38485e-02_rb /) kao(:, 4, 1, 5) = (/ & & 0.16621e-03_rb,0.39946e-02_rb,0.57947e-02_rb,0.70071e-02_rb,0.78193e-02_rb, & & 0.81581e-02_rb,0.79592e-02_rb,0.69132e-02_rb,0.39769e-02_rb /) kao(:, 5, 1, 5) = (/ & & 0.16518e-03_rb,0.40386e-02_rb,0.58925e-02_rb,0.71530e-02_rb,0.79946e-02_rb, & & 0.83258e-02_rb,0.81107e-02_rb,0.70226e-02_rb,0.41134e-02_rb /) kao(:, 1, 2, 5) = (/ & & 0.12482e-03_rb,0.32204e-02_rb,0.46102e-02_rb,0.55475e-02_rb,0.61730e-02_rb, & & 0.65000e-02_rb,0.63942e-02_rb,0.56394e-02_rb,0.30002e-02_rb /) kao(:, 2, 2, 5) = (/ & & 0.13027e-03_rb,0.33099e-02_rb,0.47617e-02_rb,0.57497e-02_rb,0.64031e-02_rb, & & 0.67184e-02_rb,0.65829e-02_rb,0.57721e-02_rb,0.31442e-02_rb /) kao(:, 3, 2, 5) = (/ & & 0.13370e-03_rb,0.33808e-02_rb,0.48845e-02_rb,0.59235e-02_rb,0.66074e-02_rb, & & 0.69048e-02_rb,0.67660e-02_rb,0.59018e-02_rb,0.32788e-02_rb /) kao(:, 4, 2, 5) = (/ & & 0.13549e-03_rb,0.34340e-02_rb,0.49885e-02_rb,0.60745e-02_rb,0.67877e-02_rb, & & 0.70780e-02_rb,0.69202e-02_rb,0.60131e-02_rb,0.33946e-02_rb /) kao(:, 5, 2, 5) = (/ & & 0.13543e-03_rb,0.34778e-02_rb,0.50745e-02_rb,0.61981e-02_rb,0.69282e-02_rb, & & 0.72229e-02_rb,0.70521e-02_rb,0.61218e-02_rb,0.35097e-02_rb /) kao(:, 1, 3, 5) = (/ & & 0.98437e-04_rb,0.27209e-02_rb,0.39035e-02_rb,0.47185e-02_rb,0.52706e-02_rb, & & 0.55579e-02_rb,0.54846e-02_rb,0.48469e-02_rb,0.25077e-02_rb /) kao(:, 2, 3, 5) = (/ & & 0.10396e-03_rb,0.28031e-02_rb,0.40384e-02_rb,0.48993e-02_rb,0.54753e-02_rb, & & 0.57575e-02_rb,0.56525e-02_rb,0.49684e-02_rb,0.26366e-02_rb /) kao(:, 3, 3, 5) = (/ & & 0.10770e-03_rb,0.28702e-02_rb,0.41513e-02_rb,0.50504e-02_rb,0.56640e-02_rb, & & 0.59245e-02_rb,0.58125e-02_rb,0.50922e-02_rb,0.27478e-02_rb /) kao(:, 4, 3, 5) = (/ & & 0.10996e-03_rb,0.29232e-02_rb,0.42451e-02_rb,0.51838e-02_rb,0.58257e-02_rb, & & 0.60793e-02_rb,0.59498e-02_rb,0.51949e-02_rb,0.28490e-02_rb /) kao(:, 5, 3, 5) = (/ & & 0.11088e-03_rb,0.29645e-02_rb,0.43251e-02_rb,0.52992e-02_rb,0.59468e-02_rb, & & 0.62096e-02_rb,0.60648e-02_rb,0.52904e-02_rb,0.29495e-02_rb /) kao(:, 1, 4, 5) = (/ & & 0.76587e-04_rb,0.22792e-02_rb,0.32731e-02_rb,0.39724e-02_rb,0.44561e-02_rb, & & 0.47109e-02_rb,0.46706e-02_rb,0.41444e-02_rb,0.20810e-02_rb /) kao(:, 2, 4, 5) = (/ & & 0.82225e-04_rb,0.23548e-02_rb,0.33943e-02_rb,0.41325e-02_rb,0.46415e-02_rb, & & 0.48939e-02_rb,0.48200e-02_rb,0.42591e-02_rb,0.21925e-02_rb /) kao(:, 3, 4, 5) = (/ & & 0.86203e-04_rb,0.24180e-02_rb,0.34991e-02_rb,0.42684e-02_rb,0.48074e-02_rb, & & 0.50416e-02_rb,0.49651e-02_rb,0.43643e-02_rb,0.22938e-02_rb /) kao(:, 4, 4, 5) = (/ & & 0.88766e-04_rb,0.24694e-02_rb,0.35874e-02_rb,0.43875e-02_rb,0.49469e-02_rb, & & 0.51810e-02_rb,0.50850e-02_rb,0.44606e-02_rb,0.23791e-02_rb /) kao(:, 5, 4, 5) = (/ & & 0.90218e-04_rb,0.25110e-02_rb,0.36613e-02_rb,0.44937e-02_rb,0.50548e-02_rb, & & 0.52982e-02_rb,0.51883e-02_rb,0.45498e-02_rb,0.24658e-02_rb /) kao(:, 1, 5, 5) = (/ & & 0.59080e-04_rb,0.18972e-02_rb,0.27294e-02_rb,0.33195e-02_rb,0.37395e-02_rb, & & 0.39683e-02_rb,0.39523e-02_rb,0.35161e-02_rb,0.17195e-02_rb /) kao(:, 2, 5, 5) = (/ & & 0.64508e-04_rb,0.19673e-02_rb,0.28376e-02_rb,0.34632e-02_rb,0.39033e-02_rb, & & 0.41343e-02_rb,0.40826e-02_rb,0.36195e-02_rb,0.18173e-02_rb /) kao(:, 3, 5, 5) = (/ & & 0.68538e-04_rb,0.20264e-02_rb,0.29342e-02_rb,0.35856e-02_rb,0.40488e-02_rb, & & 0.42664e-02_rb,0.42141e-02_rb,0.37144e-02_rb,0.19081e-02_rb /) kao(:, 4, 5, 5) = (/ & & 0.71328e-04_rb,0.20750e-02_rb,0.30165e-02_rb,0.36933e-02_rb,0.41719e-02_rb, & & 0.43880e-02_rb,0.43221e-02_rb,0.38006e-02_rb,0.19818e-02_rb /) kao(:, 5, 5, 5) = (/ & & 0.73073e-04_rb,0.21155e-02_rb,0.30861e-02_rb,0.37892e-02_rb,0.42690e-02_rb, & & 0.44901e-02_rb,0.44161e-02_rb,0.38864e-02_rb,0.20583e-02_rb /) kao(:, 1, 6, 5) = (/ & & 0.45069e-04_rb,0.15673e-02_rb,0.22596e-02_rb,0.27566e-02_rb,0.31117e-02_rb, & & 0.33162e-02_rb,0.33135e-02_rb,0.29574e-02_rb,0.14089e-02_rb /) kao(:, 2, 6, 5) = (/ & & 0.49959e-04_rb,0.16342e-02_rb,0.23577e-02_rb,0.28828e-02_rb,0.32572e-02_rb, & & 0.34626e-02_rb,0.34302e-02_rb,0.30476e-02_rb,0.14955e-02_rb /) kao(:, 3, 6, 5) = (/ & & 0.54013e-04_rb,0.16891e-02_rb,0.24457e-02_rb,0.29926e-02_rb,0.33865e-02_rb, & & 0.35809e-02_rb,0.35427e-02_rb,0.31358e-02_rb,0.15763e-02_rb /) kao(:, 4, 6, 5) = (/ & & 0.56910e-04_rb,0.17356e-02_rb,0.25220e-02_rb,0.30903e-02_rb,0.34968e-02_rb, & & 0.36853e-02_rb,0.36443e-02_rb,0.32140e-02_rb,0.16428e-02_rb /) kao(:, 5, 6, 5) = (/ & & 0.58852e-04_rb,0.17743e-02_rb,0.25868e-02_rb,0.31771e-02_rb,0.35857e-02_rb, & & 0.37782e-02_rb,0.37284e-02_rb,0.32905e-02_rb,0.17079e-02_rb /) kao(:, 1, 7, 5) = (/ & & 0.34131e-04_rb,0.12873e-02_rb,0.18619e-02_rb,0.22745e-02_rb,0.25688e-02_rb, & & 0.27494e-02_rb,0.27574e-02_rb,0.24658e-02_rb,0.11444e-02_rb /) kao(:, 2, 7, 5) = (/ & & 0.38379e-04_rb,0.13503e-02_rb,0.19490e-02_rb,0.23869e-02_rb,0.26985e-02_rb, & & 0.28761e-02_rb,0.28607e-02_rb,0.25443e-02_rb,0.12242e-02_rb /) kao(:, 3, 7, 5) = (/ & & 0.42146e-04_rb,0.14018e-02_rb,0.20287e-02_rb,0.24843e-02_rb,0.28119e-02_rb, & & 0.29848e-02_rb,0.29569e-02_rb,0.26258e-02_rb,0.12956e-02_rb /) kao(:, 4, 7, 5) = (/ & & 0.45116e-04_rb,0.14454e-02_rb,0.20989e-02_rb,0.25718e-02_rb,0.29115e-02_rb, & & 0.30740e-02_rb,0.30482e-02_rb,0.26967e-02_rb,0.13537e-02_rb /) kao(:, 5, 7, 5) = (/ & & 0.47178e-04_rb,0.14818e-02_rb,0.21591e-02_rb,0.26509e-02_rb,0.29945e-02_rb, & & 0.31590e-02_rb,0.31235e-02_rb,0.27641e-02_rb,0.14100e-02_rb /) kao(:, 1, 8, 5) = (/ & & 0.25656e-04_rb,0.10525e-02_rb,0.15266e-02_rb,0.18648e-02_rb,0.21060e-02_rb, & & 0.22660e-02_rb,0.22807e-02_rb,0.20415e-02_rb,0.92482e-03_rb /) kao(:, 2, 8, 5) = (/ & & 0.29313e-04_rb,0.11096e-02_rb,0.16027e-02_rb,0.19628e-02_rb,0.22224e-02_rb, & & 0.23730e-02_rb,0.23683e-02_rb,0.21111e-02_rb,0.99366e-03_rb /) kao(:, 3, 8, 5) = (/ & & 0.32643e-04_rb,0.11579e-02_rb,0.16732e-02_rb,0.20503e-02_rb,0.23231e-02_rb, & & 0.24721e-02_rb,0.24512e-02_rb,0.21842e-02_rb,0.10570e-02_rb /) kao(:, 4, 8, 5) = (/ & & 0.35509e-04_rb,0.11985e-02_rb,0.17379e-02_rb,0.21284e-02_rb,0.24110e-02_rb, & & 0.25519e-02_rb,0.25339e-02_rb,0.22496e-02_rb,0.11116e-02_rb /) kao(:, 5, 8, 5) = (/ & & 0.37616e-04_rb,0.12327e-02_rb,0.17933e-02_rb,0.21996e-02_rb,0.24880e-02_rb, & & 0.26258e-02_rb,0.26029e-02_rb,0.23088e-02_rb,0.11595e-02_rb /) kao(:, 1, 9, 5) = (/ & & 0.19166e-04_rb,0.85559e-03_rb,0.12446e-02_rb,0.15213e-02_rb,0.17160e-02_rb, & & 0.18527e-02_rb,0.18723e-02_rb,0.16794e-02_rb,0.74316e-03_rb /) kao(:, 2, 9, 5) = (/ & & 0.22251e-04_rb,0.90701e-03_rb,0.13107e-02_rb,0.16061e-02_rb,0.18177e-02_rb, & & 0.19452e-02_rb,0.19496e-02_rb,0.17420e-02_rb,0.80168e-03_rb /) kao(:, 3, 9, 5) = (/ & & 0.25123e-04_rb,0.95106e-03_rb,0.13724e-02_rb,0.16826e-02_rb,0.19064e-02_rb, & & 0.20352e-02_rb,0.20241e-02_rb,0.18064e-02_rb,0.85659e-03_rb /) kao(:, 4, 9, 5) = (/ & & 0.27713e-04_rb,0.98903e-03_rb,0.14301e-02_rb,0.17523e-02_rb,0.19862e-02_rb, & & 0.21079e-02_rb,0.20944e-02_rb,0.18656e-02_rb,0.90655e-03_rb /) kao(:, 5, 9, 5) = (/ & & 0.29821e-04_rb,0.10207e-02_rb,0.14813e-02_rb,0.18163e-02_rb,0.20570e-02_rb, & & 0.21737e-02_rb,0.21574e-02_rb,0.19153e-02_rb,0.94882e-03_rb /) kao(:, 1,10, 5) = (/ & & 0.14455e-04_rb,0.69508e-03_rb,0.10143e-02_rb,0.12382e-02_rb,0.13977e-02_rb, & & 0.15101e-02_rb,0.15339e-02_rb,0.13794e-02_rb,0.60064e-03_rb /) kao(:, 2,10, 5) = (/ & & 0.16975e-04_rb,0.74055e-03_rb,0.10715e-02_rb,0.13117e-02_rb,0.14851e-02_rb, & & 0.15938e-02_rb,0.16026e-02_rb,0.14354e-02_rb,0.65034e-03_rb /) kao(:, 3,10, 5) = (/ & & 0.19421e-04_rb,0.77996e-03_rb,0.11243e-02_rb,0.13791e-02_rb,0.15636e-02_rb, & & 0.16707e-02_rb,0.16678e-02_rb,0.14908e-02_rb,0.69875e-03_rb /) kao(:, 4,10, 5) = (/ & & 0.21659e-04_rb,0.81369e-03_rb,0.11746e-02_rb,0.14408e-02_rb,0.16340e-02_rb, & & 0.17376e-02_rb,0.17267e-02_rb,0.15418e-02_rb,0.74336e-03_rb /) kao(:, 5,10, 5) = (/ & & 0.23616e-04_rb,0.84316e-03_rb,0.12215e-02_rb,0.14972e-02_rb,0.16971e-02_rb, & & 0.17945e-02_rb,0.17834e-02_rb,0.15844e-02_rb,0.78045e-03_rb /) kao(:, 1,11, 5) = (/ & & 0.11812e-04_rb,0.58067e-03_rb,0.84658e-03_rb,0.10349e-02_rb,0.11681e-02_rb, & & 0.12622e-02_rb,0.12806e-02_rb,0.11518e-02_rb,0.50197e-03_rb /) kao(:, 2,11, 5) = (/ & & 0.13870e-04_rb,0.61870e-03_rb,0.89364e-03_rb,0.10957e-02_rb,0.12411e-02_rb, & & 0.13307e-02_rb,0.13366e-02_rb,0.11990e-02_rb,0.54419e-03_rb /) kao(:, 3,11, 5) = (/ & & 0.15872e-04_rb,0.65131e-03_rb,0.93843e-03_rb,0.11520e-02_rb,0.13068e-02_rb, & & 0.13966e-02_rb,0.13927e-02_rb,0.12459e-02_rb,0.58412e-03_rb /) kao(:, 4,11, 5) = (/ & & 0.17706e-04_rb,0.67957e-03_rb,0.98128e-03_rb,0.12037e-02_rb,0.13653e-02_rb, & & 0.14510e-02_rb,0.14423e-02_rb,0.12873e-02_rb,0.62086e-03_rb /) kao(:, 5,11, 5) = (/ & & 0.19307e-04_rb,0.70477e-03_rb,0.10208e-02_rb,0.12522e-02_rb,0.14187e-02_rb, & & 0.15000e-02_rb,0.14882e-02_rb,0.13223e-02_rb,0.65273e-03_rb /) kao(:, 1,12, 5) = (/ & & 0.96633e-05_rb,0.48384e-03_rb,0.70464e-03_rb,0.86214e-03_rb,0.97325e-03_rb, & & 0.10525e-02_rb,0.10661e-02_rb,0.95818e-03_rb,0.41838e-03_rb /) kao(:, 2,12, 5) = (/ & & 0.11346e-04_rb,0.51544e-03_rb,0.74375e-03_rb,0.91255e-03_rb,0.10346e-02_rb, & & 0.11088e-02_rb,0.11124e-02_rb,0.99787e-03_rb,0.45436e-03_rb /) kao(:, 3,12, 5) = (/ & & 0.12983e-04_rb,0.54258e-03_rb,0.78191e-03_rb,0.95994e-03_rb,0.10893e-02_rb, & & 0.11636e-02_rb,0.11595e-02_rb,0.10379e-02_rb,0.48767e-03_rb /) kao(:, 4,12, 5) = (/ & & 0.14483e-04_rb,0.56662e-03_rb,0.81795e-03_rb,0.10036e-02_rb,0.11385e-02_rb, & & 0.12091e-02_rb,0.12012e-02_rb,0.10707e-02_rb,0.51810e-03_rb /) kao(:, 5,12, 5) = (/ & & 0.15790e-04_rb,0.58805e-03_rb,0.85165e-03_rb,0.10447e-02_rb,0.11830e-02_rb, & & 0.12500e-02_rb,0.12389e-02_rb,0.11012e-02_rb,0.54508e-03_rb /) kao(:, 1,13, 5) = (/ & & 0.79057e-05_rb,0.40215e-03_rb,0.58516e-03_rb,0.71666e-03_rb,0.80969e-03_rb, & & 0.87518e-03_rb,0.88581e-03_rb,0.79569e-03_rb,0.34825e-03_rb /) kao(:, 2,13, 5) = (/ & & 0.92808e-05_rb,0.42853e-03_rb,0.61818e-03_rb,0.75847e-03_rb,0.86082e-03_rb, & & 0.92160e-03_rb,0.92436e-03_rb,0.82894e-03_rb,0.37871e-03_rb /) kao(:, 3,13, 5) = (/ & & 0.10621e-04_rb,0.45134e-03_rb,0.65028e-03_rb,0.79815e-03_rb,0.90622e-03_rb, & & 0.96752e-03_rb,0.96291e-03_rb,0.86177e-03_rb,0.40642e-03_rb /) kao(:, 4,13, 5) = (/ & & 0.11849e-04_rb,0.47161e-03_rb,0.68090e-03_rb,0.83530e-03_rb,0.94770e-03_rb, & & 0.10054e-02_rb,0.99815e-03_rb,0.88908e-03_rb,0.43149e-03_rb /) kao(:, 5,13, 5) = (/ & & 0.12897e-04_rb,0.49000e-03_rb,0.70944e-03_rb,0.86982e-03_rb,0.98430e-03_rb, & & 0.10398e-02_rb,0.10297e-02_rb,0.91483e-03_rb,0.45459e-03_rb /) kao(:, 1, 1, 6) = (/ & & 0.23575e-02_rb,0.96457e-02_rb,0.13128e-01_rb,0.15361e-01_rb,0.16662e-01_rb, & & 0.16999e-01_rb,0.16303e-01_rb,0.14368e-01_rb,0.10185e-01_rb /) kao(:, 2, 1, 6) = (/ & & 0.24508e-02_rb,0.99768e-02_rb,0.13562e-01_rb,0.15786e-01_rb,0.17046e-01_rb, & & 0.17316e-01_rb,0.16539e-01_rb,0.14627e-01_rb,0.10447e-01_rb /) kao(:, 3, 1, 6) = (/ & & 0.25176e-02_rb,0.10262e-01_rb,0.13947e-01_rb,0.16182e-01_rb,0.17390e-01_rb, & & 0.17588e-01_rb,0.16752e-01_rb,0.14857e-01_rb,0.10699e-01_rb /) kao(:, 4, 1, 6) = (/ & & 0.25627e-02_rb,0.10510e-01_rb,0.14271e-01_rb,0.16517e-01_rb,0.17678e-01_rb, & & 0.17815e-01_rb,0.16941e-01_rb,0.15073e-01_rb,0.10970e-01_rb /) kao(:, 5, 1, 6) = (/ & & 0.25904e-02_rb,0.10712e-01_rb,0.14528e-01_rb,0.16788e-01_rb,0.17912e-01_rb, & & 0.18013e-01_rb,0.17126e-01_rb,0.15282e-01_rb,0.11215e-01_rb /) kao(:, 1, 2, 6) = (/ & & 0.19422e-02_rb,0.85179e-02_rb,0.11603e-01_rb,0.13561e-01_rb,0.14694e-01_rb, & & 0.14952e-01_rb,0.14274e-01_rb,0.12616e-01_rb,0.86910e-02_rb /) kao(:, 2, 2, 6) = (/ & & 0.20231e-02_rb,0.88208e-02_rb,0.11992e-01_rb,0.13942e-01_rb,0.15043e-01_rb, & & 0.15241e-01_rb,0.14503e-01_rb,0.12849e-01_rb,0.89203e-02_rb /) kao(:, 3, 2, 6) = (/ & & 0.20824e-02_rb,0.90892e-02_rb,0.12333e-01_rb,0.14283e-01_rb,0.15343e-01_rb, & & 0.15493e-01_rb,0.14704e-01_rb,0.13065e-01_rb,0.91412e-02_rb /) kao(:, 4, 2, 6) = (/ & & 0.21235e-02_rb,0.93193e-02_rb,0.12613e-01_rb,0.14573e-01_rb,0.15586e-01_rb, & & 0.15696e-01_rb,0.14900e-01_rb,0.13269e-01_rb,0.93731e-02_rb /) kao(:, 5, 2, 6) = (/ & & 0.21501e-02_rb,0.95064e-02_rb,0.12844e-01_rb,0.14802e-01_rb,0.15789e-01_rb, & & 0.15872e-01_rb,0.15079e-01_rb,0.13459e-01_rb,0.95922e-02_rb /) kao(:, 1, 3, 6) = (/ & & 0.15710e-02_rb,0.73739e-02_rb,0.10084e-01_rb,0.11795e-01_rb,0.12791e-01_rb, & & 0.13002e-01_rb,0.12408e-01_rb,0.10948e-01_rb,0.73256e-02_rb /) kao(:, 2, 3, 6) = (/ & & 0.16445e-02_rb,0.76603e-02_rb,0.10441e-01_rb,0.12136e-01_rb,0.13098e-01_rb, & & 0.13272e-01_rb,0.12629e-01_rb,0.11169e-01_rb,0.75277e-02_rb /) kao(:, 3, 3, 6) = (/ & & 0.17016e-02_rb,0.79120e-02_rb,0.10738e-01_rb,0.12444e-01_rb,0.13365e-01_rb, & & 0.13502e-01_rb,0.12827e-01_rb,0.11365e-01_rb,0.77275e-02_rb /) kao(:, 4, 3, 6) = (/ & & 0.17419e-02_rb,0.81204e-02_rb,0.10992e-01_rb,0.12704e-01_rb,0.13579e-01_rb, & & 0.13687e-01_rb,0.13022e-01_rb,0.11565e-01_rb,0.79327e-02_rb /) kao(:, 5, 3, 6) = (/ & & 0.17693e-02_rb,0.82896e-02_rb,0.11201e-01_rb,0.12903e-01_rb,0.13761e-01_rb, & & 0.13854e-01_rb,0.13193e-01_rb,0.11760e-01_rb,0.81324e-02_rb /) kao(:, 1, 4, 6) = (/ & & 0.12568e-02_rb,0.62925e-02_rb,0.86570e-02_rb,0.10156e-01_rb,0.11020e-01_rb, & & 0.11220e-01_rb,0.10710e-01_rb,0.94329e-02_rb,0.61812e-02_rb /) kao(:, 2, 4, 6) = (/ & & 0.13242e-02_rb,0.65532e-02_rb,0.89756e-02_rb,0.10460e-01_rb,0.11292e-01_rb, & & 0.11463e-01_rb,0.10924e-01_rb,0.96449e-02_rb,0.63620e-02_rb /) kao(:, 3, 4, 6) = (/ & & 0.13782e-02_rb,0.67807e-02_rb,0.92447e-02_rb,0.10739e-01_rb,0.11531e-01_rb, & & 0.11676e-01_rb,0.11115e-01_rb,0.98384e-02_rb,0.65417e-02_rb /) kao(:, 4, 4, 6) = (/ & & 0.14185e-02_rb,0.69728e-02_rb,0.94724e-02_rb,0.10967e-01_rb,0.11732e-01_rb, & & 0.11853e-01_rb,0.11299e-01_rb,0.10029e-01_rb,0.67314e-02_rb /) kao(:, 5, 4, 6) = (/ & & 0.14466e-02_rb,0.71294e-02_rb,0.96551e-02_rb,0.11150e-01_rb,0.11897e-01_rb, & & 0.12003e-01_rb,0.11457e-01_rb,0.10212e-01_rb,0.69134e-02_rb /) kao(:, 1, 5, 6) = (/ & & 0.99815e-03_rb,0.53184e-02_rb,0.73668e-02_rb,0.86661e-02_rb,0.94189e-02_rb, & & 0.96088e-02_rb,0.91860e-02_rb,0.80854e-02_rb,0.52147e-02_rb /) kao(:, 2, 5, 6) = (/ & & 0.10594e-02_rb,0.55502e-02_rb,0.76480e-02_rb,0.89382e-02_rb,0.96675e-02_rb, & & 0.98281e-02_rb,0.93908e-02_rb,0.82904e-02_rb,0.53805e-02_rb /) kao(:, 3, 5, 6) = (/ & & 0.11093e-02_rb,0.57534e-02_rb,0.78820e-02_rb,0.91873e-02_rb,0.98860e-02_rb, & & 0.10027e-01_rb,0.95739e-02_rb,0.84774e-02_rb,0.55398e-02_rb /) kao(:, 4, 5, 6) = (/ & & 0.11487e-02_rb,0.59264e-02_rb,0.80746e-02_rb,0.93952e-02_rb,0.10070e-01_rb, & & 0.10196e-01_rb,0.97460e-02_rb,0.86586e-02_rb,0.57118e-02_rb /) kao(:, 5, 5, 6) = (/ & & 0.11770e-02_rb,0.60715e-02_rb,0.82322e-02_rb,0.95590e-02_rb,0.10225e-01_rb, & & 0.10337e-01_rb,0.98891e-02_rb,0.88282e-02_rb,0.58756e-02_rb /) kao(:, 1, 6, 6) = (/ & & 0.78484e-03_rb,0.44557e-02_rb,0.62088e-02_rb,0.73238e-02_rb,0.79758e-02_rb, & & 0.81565e-02_rb,0.78234e-02_rb,0.68949e-02_rb,0.43721e-02_rb /) kao(:, 2, 6, 6) = (/ & & 0.84104e-03_rb,0.46584e-02_rb,0.64548e-02_rb,0.75720e-02_rb,0.82049e-02_rb, & & 0.83603e-02_rb,0.80139e-02_rb,0.70912e-02_rb,0.45208e-02_rb /) kao(:, 3, 6, 6) = (/ & & 0.88703e-03_rb,0.48386e-02_rb,0.66585e-02_rb,0.77939e-02_rb,0.84077e-02_rb, & & 0.85494e-02_rb,0.81878e-02_rb,0.72673e-02_rb,0.46664e-02_rb /) kao(:, 4, 6, 6) = (/ & & 0.92429e-03_rb,0.49939e-02_rb,0.68255e-02_rb,0.79793e-02_rb,0.85811e-02_rb, & & 0.87123e-02_rb,0.83423e-02_rb,0.74324e-02_rb,0.48193e-02_rb /) kao(:, 5, 6, 6) = (/ & & 0.95287e-03_rb,0.51269e-02_rb,0.69664e-02_rb,0.81216e-02_rb,0.87256e-02_rb, & & 0.88404e-02_rb,0.84793e-02_rb,0.75885e-02_rb,0.49684e-02_rb /) kao(:, 1, 7, 6) = (/ & & 0.61176e-03_rb,0.37105e-02_rb,0.51921e-02_rb,0.61495e-02_rb,0.67086e-02_rb, & & 0.68737e-02_rb,0.66196e-02_rb,0.58499e-02_rb,0.36398e-02_rb /) kao(:, 2, 7, 6) = (/ & & 0.66355e-03_rb,0.38845e-02_rb,0.54092e-02_rb,0.63684e-02_rb,0.69191e-02_rb, & & 0.70638e-02_rb,0.67967e-02_rb,0.60329e-02_rb,0.37725e-02_rb /) kao(:, 3, 7, 6) = (/ & & 0.70584e-03_rb,0.40429e-02_rb,0.55891e-02_rb,0.65665e-02_rb,0.71061e-02_rb, & & 0.72392e-02_rb,0.69566e-02_rb,0.61958e-02_rb,0.39040e-02_rb /) kao(:, 4, 7, 6) = (/ & & 0.74016e-03_rb,0.41804e-02_rb,0.57362e-02_rb,0.67306e-02_rb,0.72656e-02_rb, & & 0.73939e-02_rb,0.71002e-02_rb,0.63458e-02_rb,0.40422e-02_rb /) kao(:, 5, 7, 6) = (/ & & 0.76793e-03_rb,0.43013e-02_rb,0.58634e-02_rb,0.68605e-02_rb,0.73917e-02_rb, & & 0.75160e-02_rb,0.72292e-02_rb,0.64867e-02_rb,0.41753e-02_rb /) kao(:, 1, 8, 6) = (/ & & 0.47383e-03_rb,0.30719e-02_rb,0.43157e-02_rb,0.51299e-02_rb,0.56113e-02_rb, & & 0.57604e-02_rb,0.55584e-02_rb,0.49263e-02_rb,0.30099e-02_rb /) kao(:, 2, 8, 6) = (/ & & 0.52030e-03_rb,0.32224e-02_rb,0.45088e-02_rb,0.53256e-02_rb,0.58049e-02_rb, & & 0.59369e-02_rb,0.57249e-02_rb,0.50950e-02_rb,0.31335e-02_rb /) kao(:, 3, 8, 6) = (/ & & 0.55897e-03_rb,0.33601e-02_rb,0.46690e-02_rb,0.55008e-02_rb,0.59733e-02_rb, & & 0.60982e-02_rb,0.58703e-02_rb,0.52416e-02_rb,0.32505e-02_rb /) kao(:, 4, 8, 6) = (/ & & 0.59051e-03_rb,0.34823e-02_rb,0.48003e-02_rb,0.56492e-02_rb,0.61147e-02_rb, & & 0.62407e-02_rb,0.60011e-02_rb,0.53776e-02_rb,0.33691e-02_rb /) kao(:, 5, 8, 6) = (/ & & 0.61638e-03_rb,0.35908e-02_rb,0.49151e-02_rb,0.57682e-02_rb,0.62269e-02_rb, & & 0.63505e-02_rb,0.61226e-02_rb,0.55061e-02_rb,0.34893e-02_rb /) kao(:, 1, 9, 6) = (/ & & 0.36452e-03_rb,0.25301e-02_rb,0.35655e-02_rb,0.42558e-02_rb,0.46668e-02_rb, & & 0.47995e-02_rb,0.46391e-02_rb,0.41176e-02_rb,0.24723e-02_rb /) kao(:, 2, 9, 6) = (/ & & 0.40521e-03_rb,0.26609e-02_rb,0.37368e-02_rb,0.44313e-02_rb,0.48422e-02_rb, & & 0.49605e-02_rb,0.47876e-02_rb,0.42682e-02_rb,0.25854e-02_rb /) kao(:, 3, 9, 6) = (/ & & 0.44042e-03_rb,0.27811e-02_rb,0.38822e-02_rb,0.45871e-02_rb,0.49951e-02_rb, & & 0.51048e-02_rb,0.49189e-02_rb,0.43988e-02_rb,0.26922e-02_rb /) kao(:, 4, 9, 6) = (/ & & 0.46934e-03_rb,0.28890e-02_rb,0.40015e-02_rb,0.47204e-02_rb,0.51195e-02_rb, & & 0.52329e-02_rb,0.50398e-02_rb,0.45211e-02_rb,0.27947e-02_rb /) kao(:, 5, 9, 6) = (/ & & 0.49296e-03_rb,0.29863e-02_rb,0.41052e-02_rb,0.48296e-02_rb,0.52212e-02_rb, & & 0.53320e-02_rb,0.51516e-02_rb,0.46410e-02_rb,0.29014e-02_rb /) kao(:, 1,10, 6) = (/ & & 0.28141e-03_rb,0.20839e-02_rb,0.29434e-02_rb,0.35250e-02_rb,0.38705e-02_rb, & & 0.39907e-02_rb,0.38574e-02_rb,0.34280e-02_rb,0.20276e-02_rb /) kao(:, 2,10, 6) = (/ & & 0.31642e-03_rb,0.21962e-02_rb,0.30947e-02_rb,0.36798e-02_rb,0.40279e-02_rb, & & 0.41317e-02_rb,0.39905e-02_rb,0.35591e-02_rb,0.21304e-02_rb /) kao(:, 3,10, 6) = (/ & & 0.34743e-03_rb,0.23002e-02_rb,0.32251e-02_rb,0.38167e-02_rb,0.41632e-02_rb, & & 0.42588e-02_rb,0.41077e-02_rb,0.36737e-02_rb,0.22246e-02_rb /) kao(:, 4,10, 6) = (/ & & 0.37337e-03_rb,0.23958e-02_rb,0.33326e-02_rb,0.39351e-02_rb,0.42727e-02_rb, & & 0.43699e-02_rb,0.42167e-02_rb,0.37850e-02_rb,0.23171e-02_rb /) kao(:, 5,10, 6) = (/ & & 0.39464e-03_rb,0.24818e-02_rb,0.34245e-02_rb,0.40341e-02_rb,0.43635e-02_rb, & & 0.44592e-02_rb,0.43133e-02_rb,0.38931e-02_rb,0.24123e-02_rb /) kao(:, 1,11, 6) = (/ & & 0.23046e-03_rb,0.17561e-02_rb,0.24821e-02_rb,0.29697e-02_rb,0.32603e-02_rb, & & 0.33590e-02_rb,0.32465e-02_rb,0.28911e-02_rb,0.17000e-02_rb /) kao(:, 2,11, 6) = (/ & & 0.25900e-03_rb,0.18499e-02_rb,0.26079e-02_rb,0.30983e-02_rb,0.33914e-02_rb, & & 0.34790e-02_rb,0.33598e-02_rb,0.30000e-02_rb,0.17879e-02_rb /) kao(:, 3,11, 6) = (/ & & 0.28431e-03_rb,0.19371e-02_rb,0.27154e-02_rb,0.32123e-02_rb,0.35009e-02_rb, & & 0.35810e-02_rb,0.34582e-02_rb,0.30989e-02_rb,0.18709e-02_rb /) kao(:, 4,11, 6) = (/ & & 0.30554e-03_rb,0.20175e-02_rb,0.28047e-02_rb,0.33094e-02_rb,0.35897e-02_rb, & & 0.36708e-02_rb,0.35500e-02_rb,0.31964e-02_rb,0.19524e-02_rb /) kao(:, 5,11, 6) = (/ & & 0.32290e-03_rb,0.20906e-02_rb,0.28827e-02_rb,0.33907e-02_rb,0.36638e-02_rb, & & 0.37448e-02_rb,0.36322e-02_rb,0.32921e-02_rb,0.20342e-02_rb /) kao(:, 1,12, 6) = (/ & & 0.18873e-03_rb,0.14753e-02_rb,0.20859e-02_rb,0.24932e-02_rb,0.27362e-02_rb, & & 0.28163e-02_rb,0.27231e-02_rb,0.24287e-02_rb,0.14226e-02_rb /) kao(:, 2,12, 6) = (/ & & 0.21206e-03_rb,0.15542e-02_rb,0.21905e-02_rb,0.25997e-02_rb,0.28436e-02_rb, & & 0.29146e-02_rb,0.28182e-02_rb,0.25196e-02_rb,0.14964e-02_rb /) kao(:, 3,12, 6) = (/ & & 0.23271e-03_rb,0.16282e-02_rb,0.22789e-02_rb,0.26937e-02_rb,0.29320e-02_rb, & & 0.29995e-02_rb,0.29004e-02_rb,0.26063e-02_rb,0.15684e-02_rb /) kao(:, 4,12, 6) = (/ & & 0.25005e-03_rb,0.16959e-02_rb,0.23539e-02_rb,0.27739e-02_rb,0.30052e-02_rb, & & 0.30738e-02_rb,0.29781e-02_rb,0.26924e-02_rb,0.16388e-02_rb /) kao(:, 5,12, 6) = (/ & & 0.26424e-03_rb,0.17579e-02_rb,0.24198e-02_rb,0.28418e-02_rb,0.30688e-02_rb, & & 0.31370e-02_rb,0.30478e-02_rb,0.27734e-02_rb,0.17090e-02_rb /) kao(:, 1,13, 6) = (/ & & 0.15451e-03_rb,0.12362e-02_rb,0.17471e-02_rb,0.20856e-02_rb,0.22870e-02_rb, & & 0.23530e-02_rb,0.22758e-02_rb,0.20318e-02_rb,0.11868e-02_rb /) kao(:, 2,13, 6) = (/ & & 0.17357e-03_rb,0.13027e-02_rb,0.18337e-02_rb,0.21736e-02_rb,0.23752e-02_rb, & & 0.24339e-02_rb,0.23549e-02_rb,0.21104e-02_rb,0.12492e-02_rb /) kao(:, 3,13, 6) = (/ & & 0.19045e-03_rb,0.13651e-02_rb,0.19071e-02_rb,0.22520e-02_rb,0.24479e-02_rb, & & 0.25052e-02_rb,0.24255e-02_rb,0.21862e-02_rb,0.13114e-02_rb /) kao(:, 4,13, 6) = (/ & & 0.20459e-03_rb,0.14225e-02_rb,0.19702e-02_rb,0.23195e-02_rb,0.25109e-02_rb, & & 0.25680e-02_rb,0.24906e-02_rb,0.22592e-02_rb,0.13717e-02_rb /) kao(:, 5,13, 6) = (/ & & 0.21621e-03_rb,0.14751e-02_rb,0.20267e-02_rb,0.23775e-02_rb,0.25654e-02_rb, & & 0.26221e-02_rb,0.25513e-02_rb,0.23283e-02_rb,0.14321e-02_rb /) kao(:, 1, 1, 7) = (/ & & 0.14551e-01_rb,0.26282e-01_rb,0.32053e-01_rb,0.35189e-01_rb,0.36600e-01_rb, & & 0.36646e-01_rb,0.35552e-01_rb,0.33215e-01_rb,0.27309e-01_rb /) kao(:, 2, 1, 7) = (/ & & 0.15360e-01_rb,0.26847e-01_rb,0.32411e-01_rb,0.35426e-01_rb,0.36803e-01_rb, & & 0.36994e-01_rb,0.36037e-01_rb,0.33674e-01_rb,0.27881e-01_rb /) kao(:, 3, 1, 7) = (/ & & 0.16052e-01_rb,0.27358e-01_rb,0.32711e-01_rb,0.35602e-01_rb,0.37002e-01_rb, & & 0.37322e-01_rb,0.36495e-01_rb,0.34092e-01_rb,0.28365e-01_rb /) kao(:, 4, 1, 7) = (/ & & 0.16634e-01_rb,0.27765e-01_rb,0.32975e-01_rb,0.35757e-01_rb,0.37198e-01_rb, & & 0.37629e-01_rb,0.36871e-01_rb,0.34489e-01_rb,0.28817e-01_rb /) kao(:, 5, 1, 7) = (/ & & 0.17092e-01_rb,0.28088e-01_rb,0.33173e-01_rb,0.35899e-01_rb,0.37369e-01_rb, & & 0.37894e-01_rb,0.37206e-01_rb,0.34856e-01_rb,0.29236e-01_rb /) kao(:, 1, 2, 7) = (/ & & 0.12675e-01_rb,0.23757e-01_rb,0.28827e-01_rb,0.31475e-01_rb,0.32647e-01_rb, & & 0.32779e-01_rb,0.31874e-01_rb,0.29659e-01_rb,0.23735e-01_rb /) kao(:, 2, 2, 7) = (/ & & 0.13363e-01_rb,0.24261e-01_rb,0.29165e-01_rb,0.31734e-01_rb,0.32905e-01_rb, & & 0.33137e-01_rb,0.32357e-01_rb,0.30114e-01_rb,0.24241e-01_rb /) kao(:, 3, 2, 7) = (/ & & 0.13952e-01_rb,0.24673e-01_rb,0.29458e-01_rb,0.31940e-01_rb,0.33167e-01_rb, & & 0.33486e-01_rb,0.32794e-01_rb,0.30540e-01_rb,0.24704e-01_rb /) kao(:, 4, 2, 7) = (/ & & 0.14440e-01_rb,0.25010e-01_rb,0.29692e-01_rb,0.32131e-01_rb,0.33402e-01_rb, & & 0.33816e-01_rb,0.33185e-01_rb,0.30944e-01_rb,0.25123e-01_rb /) kao(:, 5, 2, 7) = (/ & & 0.14810e-01_rb,0.25246e-01_rb,0.29865e-01_rb,0.32323e-01_rb,0.33624e-01_rb, & & 0.34125e-01_rb,0.33530e-01_rb,0.31299e-01_rb,0.25501e-01_rb /) kao(:, 1, 3, 7) = (/ & & 0.10764e-01_rb,0.21180e-01_rb,0.25645e-01_rb,0.27934e-01_rb,0.28891e-01_rb, & & 0.28978e-01_rb,0.28215e-01_rb,0.26250e-01_rb,0.20340e-01_rb /) kao(:, 2, 3, 7) = (/ & & 0.11371e-01_rb,0.21611e-01_rb,0.25976e-01_rb,0.28221e-01_rb,0.29204e-01_rb, & & 0.29347e-01_rb,0.28689e-01_rb,0.26687e-01_rb,0.20803e-01_rb /) kao(:, 3, 3, 7) = (/ & & 0.11882e-01_rb,0.21977e-01_rb,0.26258e-01_rb,0.28467e-01_rb,0.29498e-01_rb, & & 0.29730e-01_rb,0.29113e-01_rb,0.27115e-01_rb,0.21241e-01_rb /) kao(:, 4, 3, 7) = (/ & & 0.12302e-01_rb,0.22273e-01_rb,0.26477e-01_rb,0.28696e-01_rb,0.29766e-01_rb, & & 0.30099e-01_rb,0.29507e-01_rb,0.27503e-01_rb,0.21620e-01_rb /) kao(:, 5, 3, 7) = (/ & & 0.12624e-01_rb,0.22481e-01_rb,0.26631e-01_rb,0.28900e-01_rb,0.30032e-01_rb, & & 0.30425e-01_rb,0.29859e-01_rb,0.27842e-01_rb,0.21966e-01_rb /) kao(:, 1, 4, 7) = (/ & & 0.89860e-02_rb,0.18659e-01_rb,0.22605e-01_rb,0.24580e-01_rb,0.25383e-01_rb, & & 0.25435e-01_rb,0.24761e-01_rb,0.23037e-01_rb,0.17414e-01_rb /) kao(:, 2, 4, 7) = (/ & & 0.95207e-02_rb,0.19048e-01_rb,0.22924e-01_rb,0.24888e-01_rb,0.25739e-01_rb, & & 0.25823e-01_rb,0.25200e-01_rb,0.23450e-01_rb,0.17847e-01_rb /) kao(:, 3, 4, 7) = (/ & & 0.99723e-02_rb,0.19380e-01_rb,0.23182e-01_rb,0.25155e-01_rb,0.26061e-01_rb, & & 0.26209e-01_rb,0.25611e-01_rb,0.23862e-01_rb,0.18251e-01_rb /) kao(:, 4, 4, 7) = (/ & & 0.10354e-01_rb,0.19644e-01_rb,0.23397e-01_rb,0.25401e-01_rb,0.26345e-01_rb, & & 0.26580e-01_rb,0.26000e-01_rb,0.24233e-01_rb,0.18600e-01_rb /) kao(:, 5, 4, 7) = (/ & & 0.10637e-01_rb,0.19822e-01_rb,0.23556e-01_rb,0.25605e-01_rb,0.26619e-01_rb, & & 0.26913e-01_rb,0.26359e-01_rb,0.24562e-01_rb,0.18925e-01_rb /) kao(:, 1, 5, 7) = (/ & & 0.74104e-02_rb,0.16264e-01_rb,0.19717e-01_rb,0.21452e-01_rb,0.22172e-01_rb, & & 0.22207e-01_rb,0.21598e-01_rb,0.20075e-01_rb,0.14880e-01_rb /) kao(:, 2, 5, 7) = (/ & & 0.78778e-02_rb,0.16624e-01_rb,0.20022e-01_rb,0.21765e-01_rb,0.22531e-01_rb, & & 0.22596e-01_rb,0.21999e-01_rb,0.20458e-01_rb,0.15279e-01_rb /) kao(:, 3, 5, 7) = (/ & & 0.82694e-02_rb,0.16928e-01_rb,0.20277e-01_rb,0.22036e-01_rb,0.22859e-01_rb, & & 0.22978e-01_rb,0.22384e-01_rb,0.20834e-01_rb,0.15650e-01_rb /) kao(:, 4, 5, 7) = (/ & & 0.85919e-02_rb,0.17168e-01_rb,0.20498e-01_rb,0.22274e-01_rb,0.23143e-01_rb, & & 0.23326e-01_rb,0.22754e-01_rb,0.21189e-01_rb,0.15980e-01_rb /) kao(:, 5, 5, 7) = (/ & & 0.88337e-02_rb,0.17332e-01_rb,0.20664e-01_rb,0.22477e-01_rb,0.23407e-01_rb, & & 0.23648e-01_rb,0.23111e-01_rb,0.21509e-01_rb,0.16283e-01_rb /) kao(:, 1, 6, 7) = (/ & & 0.60305e-02_rb,0.14008e-01_rb,0.17028e-01_rb,0.18574e-01_rb,0.19236e-01_rb, & & 0.19269e-01_rb,0.18720e-01_rb,0.17347e-01_rb,0.12656e-01_rb /) kao(:, 2, 6, 7) = (/ & & 0.64356e-02_rb,0.14339e-01_rb,0.17318e-01_rb,0.18872e-01_rb,0.19580e-01_rb, & & 0.19645e-01_rb,0.19095e-01_rb,0.17705e-01_rb,0.13025e-01_rb /) kao(:, 3, 6, 7) = (/ & & 0.67708e-02_rb,0.14626e-01_rb,0.17575e-01_rb,0.19135e-01_rb,0.19883e-01_rb, & & 0.20004e-01_rb,0.19454e-01_rb,0.18055e-01_rb,0.13366e-01_rb /) kao(:, 4, 6, 7) = (/ & & 0.70449e-02_rb,0.14853e-01_rb,0.17795e-01_rb,0.19363e-01_rb,0.20156e-01_rb, & & 0.20324e-01_rb,0.19811e-01_rb,0.18392e-01_rb,0.13679e-01_rb /) kao(:, 5, 6, 7) = (/ & & 0.72586e-02_rb,0.15014e-01_rb,0.17954e-01_rb,0.19569e-01_rb,0.20401e-01_rb, & & 0.20622e-01_rb,0.20155e-01_rb,0.18706e-01_rb,0.13963e-01_rb /) kao(:, 1, 7, 7) = (/ & & 0.48615e-02_rb,0.11936e-01_rb,0.14574e-01_rb,0.15963e-01_rb,0.16578e-01_rb, & & 0.16615e-01_rb,0.16125e-01_rb,0.14904e-01_rb,0.10718e-01_rb /) kao(:, 2, 7, 7) = (/ & & 0.52093e-02_rb,0.12247e-01_rb,0.14845e-01_rb,0.16239e-01_rb,0.16890e-01_rb, & & 0.16965e-01_rb,0.16477e-01_rb,0.15238e-01_rb,0.11050e-01_rb /) kao(:, 3, 7, 7) = (/ & & 0.54981e-02_rb,0.12520e-01_rb,0.15089e-01_rb,0.16485e-01_rb,0.17163e-01_rb, & & 0.17296e-01_rb,0.16823e-01_rb,0.15561e-01_rb,0.11367e-01_rb /) kao(:, 4, 7, 7) = (/ & & 0.57341e-02_rb,0.12732e-01_rb,0.15302e-01_rb,0.16709e-01_rb,0.17412e-01_rb, & & 0.17587e-01_rb,0.17156e-01_rb,0.15882e-01_rb,0.11657e-01_rb /) kao(:, 5, 7, 7) = (/ & & 0.59245e-02_rb,0.12879e-01_rb,0.15460e-01_rb,0.16900e-01_rb,0.17646e-01_rb, & & 0.17862e-01_rb,0.17475e-01_rb,0.16189e-01_rb,0.11924e-01_rb /) kao(:, 1, 8, 7) = (/ & & 0.38903e-02_rb,0.10086e-01_rb,0.12393e-01_rb,0.13617e-01_rb,0.14179e-01_rb, & & 0.14230e-01_rb,0.13810e-01_rb,0.12741e-01_rb,0.90402e-02_rb /) kao(:, 2, 8, 7) = (/ & & 0.41883e-02_rb,0.10379e-01_rb,0.12642e-01_rb,0.13866e-01_rb,0.14454e-01_rb, & & 0.14549e-01_rb,0.14140e-01_rb,0.13050e-01_rb,0.93407e-02_rb /) kao(:, 3, 8, 7) = (/ & & 0.44374e-02_rb,0.10628e-01_rb,0.12866e-01_rb,0.14093e-01_rb,0.14702e-01_rb, & & 0.14847e-01_rb,0.14466e-01_rb,0.13354e-01_rb,0.96289e-02_rb /) kao(:, 4, 8, 7) = (/ & & 0.46417e-02_rb,0.10823e-01_rb,0.13067e-01_rb,0.14297e-01_rb,0.14936e-01_rb, & & 0.15113e-01_rb,0.14777e-01_rb,0.13659e-01_rb,0.98946e-02_rb /) kao(:, 5, 8, 7) = (/ & & 0.48106e-02_rb,0.10958e-01_rb,0.13212e-01_rb,0.14477e-01_rb,0.15155e-01_rb, & & 0.15369e-01_rb,0.15065e-01_rb,0.13954e-01_rb,0.10137e-01_rb /) kao(:, 1, 9, 7) = (/ & & 0.30906e-02_rb,0.84716e-02_rb,0.10475e-01_rb,0.11533e-01_rb,0.12037e-01_rb, & & 0.12102e-01_rb,0.11757e-01_rb,0.10840e-01_rb,0.75790e-02_rb /) kao(:, 2, 9, 7) = (/ & & 0.33456e-02_rb,0.87380e-02_rb,0.10698e-01_rb,0.11759e-01_rb,0.12281e-01_rb, & & 0.12384e-01_rb,0.12063e-01_rb,0.11124e-01_rb,0.78524e-02_rb /) kao(:, 3, 9, 7) = (/ & & 0.35624e-02_rb,0.89636e-02_rb,0.10908e-01_rb,0.11964e-01_rb,0.12503e-01_rb, & & 0.12651e-01_rb,0.12366e-01_rb,0.11413e-01_rb,0.81116e-02_rb /) kao(:, 4, 9, 7) = (/ & & 0.37409e-02_rb,0.91394e-02_rb,0.11085e-01_rb,0.12156e-01_rb,0.12717e-01_rb, & & 0.12895e-01_rb,0.12646e-01_rb,0.11703e-01_rb,0.83543e-02_rb /) kao(:, 5, 9, 7) = (/ & & 0.38899e-02_rb,0.92663e-02_rb,0.11210e-01_rb,0.12323e-01_rb,0.12923e-01_rb, & & 0.13135e-01_rb,0.12909e-01_rb,0.11979e-01_rb,0.85748e-02_rb /) kao(:, 1,10, 7) = (/ & & 0.24588e-02_rb,0.70997e-02_rb,0.88156e-02_rb,0.97280e-02_rb,0.10175e-01_rb, & & 0.10246e-01_rb,0.99712e-02_rb,0.91951e-02_rb,0.63324e-02_rb /) kao(:, 2,10, 7) = (/ & & 0.26743e-02_rb,0.73393e-02_rb,0.90183e-02_rb,0.99289e-02_rb,0.10387e-01_rb, & & 0.10496e-01_rb,0.10249e-01_rb,0.94566e-02_rb,0.65770e-02_rb /) kao(:, 3,10, 7) = (/ & & 0.28610e-02_rb,0.75352e-02_rb,0.92028e-02_rb,0.10117e-01_rb,0.10586e-01_rb, & & 0.10730e-01_rb,0.10524e-01_rb,0.97307e-02_rb,0.68077e-02_rb /) kao(:, 4,10, 7) = (/ & & 0.30147e-02_rb,0.76899e-02_rb,0.93550e-02_rb,0.10291e-01_rb,0.10781e-01_rb, & & 0.10954e-01_rb,0.10778e-01_rb,0.10001e-01_rb,0.70201e-02_rb /) kao(:, 5,10, 7) = (/ & & 0.31444e-02_rb,0.78050e-02_rb,0.94668e-02_rb,0.10433e-01_rb,0.10974e-01_rb, & & 0.11173e-01_rb,0.11019e-01_rb,0.10253e-01_rb,0.72189e-02_rb /) kao(:, 1,11, 7) = (/ & & 0.20345e-02_rb,0.60249e-02_rb,0.74716e-02_rb,0.82496e-02_rb,0.86458e-02_rb, & & 0.87340e-02_rb,0.85222e-02_rb,0.78657e-02_rb,0.53714e-02_rb /) kao(:, 2,11, 7) = (/ & & 0.22071e-02_rb,0.62176e-02_rb,0.76440e-02_rb,0.84251e-02_rb,0.88273e-02_rb, & & 0.89461e-02_rb,0.87689e-02_rb,0.81125e-02_rb,0.55835e-02_rb /) kao(:, 3,11, 7) = (/ & & 0.23554e-02_rb,0.63729e-02_rb,0.77932e-02_rb,0.85868e-02_rb,0.90058e-02_rb, & & 0.91548e-02_rb,0.90075e-02_rb,0.83660e-02_rb,0.57827e-02_rb /) kao(:, 4,11, 7) = (/ & & 0.24780e-02_rb,0.64944e-02_rb,0.79106e-02_rb,0.87291e-02_rb,0.91857e-02_rb, & & 0.93565e-02_rb,0.92302e-02_rb,0.86036e-02_rb,0.59695e-02_rb /) kao(:, 5,11, 7) = (/ & & 0.25820e-02_rb,0.65802e-02_rb,0.79974e-02_rb,0.88427e-02_rb,0.93482e-02_rb, & & 0.95539e-02_rb,0.94443e-02_rb,0.88180e-02_rb,0.61512e-02_rb /) kao(:, 1,12, 7) = (/ & & 0.16789e-02_rb,0.50906e-02_rb,0.63078e-02_rb,0.69750e-02_rb,0.73172e-02_rb, & & 0.74078e-02_rb,0.72504e-02_rb,0.67015e-02_rb,0.45394e-02_rb /) kao(:, 2,12, 7) = (/ & & 0.18170e-02_rb,0.52437e-02_rb,0.64512e-02_rb,0.71255e-02_rb,0.74790e-02_rb, & & 0.75959e-02_rb,0.74655e-02_rb,0.69307e-02_rb,0.47237e-02_rb /) kao(:, 3,12, 7) = (/ & & 0.19356e-02_rb,0.53689e-02_rb,0.65701e-02_rb,0.72610e-02_rb,0.76415e-02_rb, & & 0.77811e-02_rb,0.76703e-02_rb,0.71508e-02_rb,0.48953e-02_rb /) kao(:, 4,12, 7) = (/ & & 0.20342e-02_rb,0.54644e-02_rb,0.66640e-02_rb,0.73792e-02_rb,0.77929e-02_rb, & & 0.79635e-02_rb,0.78660e-02_rb,0.73532e-02_rb,0.50607e-02_rb /) kao(:, 5,12, 7) = (/ & & 0.21182e-02_rb,0.55328e-02_rb,0.67352e-02_rb,0.74736e-02_rb,0.79282e-02_rb, & & 0.81307e-02_rb,0.80542e-02_rb,0.75407e-02_rb,0.52234e-02_rb /) kao(:, 1,13, 7) = (/ & & 0.13819e-02_rb,0.42823e-02_rb,0.53096e-02_rb,0.58771e-02_rb,0.61745e-02_rb, & & 0.62601e-02_rb,0.61411e-02_rb,0.56893e-02_rb,0.38201e-02_rb /) kao(:, 2,13, 7) = (/ & & 0.14927e-02_rb,0.44078e-02_rb,0.54261e-02_rb,0.60055e-02_rb,0.63167e-02_rb, & & 0.64278e-02_rb,0.63268e-02_rb,0.58891e-02_rb,0.39789e-02_rb /) kao(:, 3,13, 7) = (/ & & 0.15884e-02_rb,0.45090e-02_rb,0.55246e-02_rb,0.61217e-02_rb,0.64577e-02_rb, & & 0.65903e-02_rb,0.65044e-02_rb,0.60758e-02_rb,0.41288e-02_rb /) kao(:, 4,13, 7) = (/ & & 0.16683e-02_rb,0.45858e-02_rb,0.56029e-02_rb,0.62193e-02_rb,0.65859e-02_rb, & & 0.67454e-02_rb,0.66768e-02_rb,0.62506e-02_rb,0.42765e-02_rb /) kao(:, 5,13, 7) = (/ & & 0.17364e-02_rb,0.46419e-02_rb,0.56644e-02_rb,0.62996e-02_rb,0.66998e-02_rb, & & 0.68888e-02_rb,0.68404e-02_rb,0.64188e-02_rb,0.44198e-02_rb /) kao(:, 1, 1, 8) = (/ & & 0.57760e-01_rb,0.69432e-01_rb,0.76402e-01_rb,0.81517e-01_rb,0.85125e-01_rb, & & 0.87289e-01_rb,0.87408e-01_rb,0.83317e-01_rb,0.74720e-01_rb /) kao(:, 2, 1, 8) = (/ & & 0.58256e-01_rb,0.69667e-01_rb,0.76723e-01_rb,0.81911e-01_rb,0.85362e-01_rb, & & 0.87289e-01_rb,0.87306e-01_rb,0.83357e-01_rb,0.75177e-01_rb /) kao(:, 3, 1, 8) = (/ & & 0.58710e-01_rb,0.69859e-01_rb,0.76973e-01_rb,0.82328e-01_rb,0.85690e-01_rb, & & 0.87420e-01_rb,0.87264e-01_rb,0.83435e-01_rb,0.75701e-01_rb /) kao(:, 4, 1, 8) = (/ & & 0.59052e-01_rb,0.70050e-01_rb,0.77176e-01_rb,0.82642e-01_rb,0.86071e-01_rb, & & 0.87660e-01_rb,0.87341e-01_rb,0.83544e-01_rb,0.76230e-01_rb /) kao(:, 5, 1, 8) = (/ & & 0.59298e-01_rb,0.70198e-01_rb,0.77374e-01_rb,0.82883e-01_rb,0.86469e-01_rb, & & 0.87977e-01_rb,0.87473e-01_rb,0.83691e-01_rb,0.76769e-01_rb /) kao(:, 1, 2, 8) = (/ & & 0.50908e-01_rb,0.62848e-01_rb,0.70003e-01_rb,0.75263e-01_rb,0.78670e-01_rb, & & 0.80594e-01_rb,0.80694e-01_rb,0.77048e-01_rb,0.67048e-01_rb /) kao(:, 2, 2, 8) = (/ & & 0.51469e-01_rb,0.63178e-01_rb,0.70395e-01_rb,0.75763e-01_rb,0.79033e-01_rb, & & 0.80775e-01_rb,0.80686e-01_rb,0.77199e-01_rb,0.67605e-01_rb /) kao(:, 3, 2, 8) = (/ & & 0.51956e-01_rb,0.63519e-01_rb,0.70748e-01_rb,0.76221e-01_rb,0.79512e-01_rb, & & 0.81067e-01_rb,0.80797e-01_rb,0.77370e-01_rb,0.68182e-01_rb /) kao(:, 4, 2, 8) = (/ & & 0.52329e-01_rb,0.63831e-01_rb,0.71115e-01_rb,0.76591e-01_rb,0.80032e-01_rb, & & 0.81445e-01_rb,0.81001e-01_rb,0.77568e-01_rb,0.68768e-01_rb /) kao(:, 5, 2, 8) = (/ & & 0.52648e-01_rb,0.64108e-01_rb,0.71441e-01_rb,0.76941e-01_rb,0.80464e-01_rb, & & 0.81866e-01_rb,0.81282e-01_rb,0.77796e-01_rb,0.69377e-01_rb /) kao(:, 1, 3, 8) = (/ & & 0.44636e-01_rb,0.56575e-01_rb,0.63667e-01_rb,0.68804e-01_rb,0.72146e-01_rb, & & 0.73940e-01_rb,0.73756e-01_rb,0.70359e-01_rb,0.59446e-01_rb /) kao(:, 2, 3, 8) = (/ & & 0.45216e-01_rb,0.57005e-01_rb,0.64111e-01_rb,0.69328e-01_rb,0.72620e-01_rb, & & 0.74228e-01_rb,0.73854e-01_rb,0.70600e-01_rb,0.60086e-01_rb /) kao(:, 3, 3, 8) = (/ & & 0.45716e-01_rb,0.57448e-01_rb,0.64591e-01_rb,0.69816e-01_rb,0.73178e-01_rb, & & 0.74616e-01_rb,0.74093e-01_rb,0.70843e-01_rb,0.60738e-01_rb /) kao(:, 4, 3, 8) = (/ & & 0.46137e-01_rb,0.57862e-01_rb,0.65060e-01_rb,0.70283e-01_rb,0.73724e-01_rb, & & 0.75067e-01_rb,0.74408e-01_rb,0.71130e-01_rb,0.61385e-01_rb /) kao(:, 5, 3, 8) = (/ & & 0.46490e-01_rb,0.58240e-01_rb,0.65537e-01_rb,0.70752e-01_rb,0.74187e-01_rb, & & 0.75545e-01_rb,0.74817e-01_rb,0.71479e-01_rb,0.61998e-01_rb /) kao(:, 1, 4, 8) = (/ & & 0.38910e-01_rb,0.50823e-01_rb,0.57505e-01_rb,0.62364e-01_rb,0.65559e-01_rb, & & 0.67154e-01_rb,0.66798e-01_rb,0.63531e-01_rb,0.52401e-01_rb /) kao(:, 2, 4, 8) = (/ & & 0.39488e-01_rb,0.51307e-01_rb,0.58022e-01_rb,0.62912e-01_rb,0.66074e-01_rb, & & 0.67518e-01_rb,0.67025e-01_rb,0.63840e-01_rb,0.53093e-01_rb /) kao(:, 3, 4, 8) = (/ & & 0.39991e-01_rb,0.51812e-01_rb,0.58566e-01_rb,0.63451e-01_rb,0.66632e-01_rb, & & 0.68010e-01_rb,0.67348e-01_rb,0.64169e-01_rb,0.53782e-01_rb /) kao(:, 4, 4, 8) = (/ & & 0.40387e-01_rb,0.52291e-01_rb,0.59117e-01_rb,0.64001e-01_rb,0.67196e-01_rb, & & 0.68514e-01_rb,0.67789e-01_rb,0.64555e-01_rb,0.54470e-01_rb /) kao(:, 5, 4, 8) = (/ & & 0.40719e-01_rb,0.52739e-01_rb,0.59691e-01_rb,0.64572e-01_rb,0.67725e-01_rb, & & 0.69031e-01_rb,0.68307e-01_rb,0.64985e-01_rb,0.55091e-01_rb /) kao(:, 1, 5, 8) = (/ & & 0.33692e-01_rb,0.45459e-01_rb,0.51705e-01_rb,0.56111e-01_rb,0.58984e-01_rb, & & 0.60384e-01_rb,0.59951e-01_rb,0.56770e-01_rb,0.45939e-01_rb /) kao(:, 2, 5, 8) = (/ & & 0.34254e-01_rb,0.45979e-01_rb,0.52252e-01_rb,0.56664e-01_rb,0.59515e-01_rb, & & 0.60816e-01_rb,0.60273e-01_rb,0.57146e-01_rb,0.46647e-01_rb /) kao(:, 3, 5, 8) = (/ & & 0.34738e-01_rb,0.46532e-01_rb,0.52846e-01_rb,0.57238e-01_rb,0.60077e-01_rb, & & 0.61352e-01_rb,0.60714e-01_rb,0.57566e-01_rb,0.47359e-01_rb /) kao(:, 4, 5, 8) = (/ & & 0.35117e-01_rb,0.47047e-01_rb,0.53459e-01_rb,0.57849e-01_rb,0.60668e-01_rb, & & 0.61902e-01_rb,0.61259e-01_rb,0.58030e-01_rb,0.48036e-01_rb /) kao(:, 5, 5, 8) = (/ & & 0.35428e-01_rb,0.47508e-01_rb,0.54083e-01_rb,0.58493e-01_rb,0.61253e-01_rb, & & 0.62481e-01_rb,0.61851e-01_rb,0.58523e-01_rb,0.48648e-01_rb /) kao(:, 1, 6, 8) = (/ & & 0.28910e-01_rb,0.40429e-01_rb,0.46176e-01_rb,0.50108e-01_rb,0.52609e-01_rb, & & 0.53750e-01_rb,0.53289e-01_rb,0.50286e-01_rb,0.40061e-01_rb /) kao(:, 2, 6, 8) = (/ & & 0.29433e-01_rb,0.40967e-01_rb,0.46731e-01_rb,0.50653e-01_rb,0.53149e-01_rb, & & 0.54232e-01_rb,0.53687e-01_rb,0.50714e-01_rb,0.40756e-01_rb /) kao(:, 3, 6, 8) = (/ & & 0.29883e-01_rb,0.41520e-01_rb,0.47349e-01_rb,0.51251e-01_rb,0.53731e-01_rb, & & 0.54796e-01_rb,0.54207e-01_rb,0.51188e-01_rb,0.41443e-01_rb /) kao(:, 4, 6, 8) = (/ & & 0.30252e-01_rb,0.42024e-01_rb,0.47998e-01_rb,0.51918e-01_rb,0.54339e-01_rb, & & 0.55387e-01_rb,0.54820e-01_rb,0.51711e-01_rb,0.42085e-01_rb /) kao(:, 5, 6, 8) = (/ & & 0.30542e-01_rb,0.42447e-01_rb,0.48635e-01_rb,0.52598e-01_rb,0.54986e-01_rb, & & 0.56038e-01_rb,0.55430e-01_rb,0.52236e-01_rb,0.42675e-01_rb /) kao(:, 1, 7, 8) = (/ & & 0.24600e-01_rb,0.35725e-01_rb,0.40952e-01_rb,0.44398e-01_rb,0.46558e-01_rb, & & 0.47462e-01_rb,0.46950e-01_rb,0.44227e-01_rb,0.34751e-01_rb /) kao(:, 2, 7, 8) = (/ & & 0.25060e-01_rb,0.36250e-01_rb,0.41498e-01_rb,0.44950e-01_rb,0.47097e-01_rb, & & 0.47977e-01_rb,0.47399e-01_rb,0.44690e-01_rb,0.35410e-01_rb /) kao(:, 3, 7, 8) = (/ & & 0.25466e-01_rb,0.36769e-01_rb,0.42119e-01_rb,0.45572e-01_rb,0.47696e-01_rb, & & 0.48548e-01_rb,0.47965e-01_rb,0.45198e-01_rb,0.36050e-01_rb /) kao(:, 4, 7, 8) = (/ & & 0.25804e-01_rb,0.37232e-01_rb,0.42764e-01_rb,0.46249e-01_rb,0.48349e-01_rb, & & 0.49173e-01_rb,0.48603e-01_rb,0.45737e-01_rb,0.36649e-01_rb /) kao(:, 5, 7, 8) = (/ & & 0.26075e-01_rb,0.37645e-01_rb,0.43371e-01_rb,0.46950e-01_rb,0.49045e-01_rb, & & 0.49856e-01_rb,0.49223e-01_rb,0.46279e-01_rb,0.37198e-01_rb /) kao(:, 1, 8, 8) = (/ & & 0.20747e-01_rb,0.31325e-01_rb,0.36016e-01_rb,0.39047e-01_rb,0.40921e-01_rb, & & 0.41656e-01_rb,0.41097e-01_rb,0.38682e-01_rb,0.29955e-01_rb /) kao(:, 2, 8, 8) = (/ & & 0.21145e-01_rb,0.31811e-01_rb,0.36541e-01_rb,0.39597e-01_rb,0.41455e-01_rb, & & 0.42169e-01_rb,0.41575e-01_rb,0.39145e-01_rb,0.30577e-01_rb /) kao(:, 3, 8, 8) = (/ & & 0.21497e-01_rb,0.32290e-01_rb,0.37155e-01_rb,0.40238e-01_rb,0.42067e-01_rb, & & 0.42744e-01_rb,0.42154e-01_rb,0.39648e-01_rb,0.31178e-01_rb /) kao(:, 4, 8, 8) = (/ & & 0.21796e-01_rb,0.32717e-01_rb,0.37766e-01_rb,0.40923e-01_rb,0.42738e-01_rb, & & 0.43394e-01_rb,0.42768e-01_rb,0.40185e-01_rb,0.31733e-01_rb /) kao(:, 5, 8, 8) = (/ & & 0.22044e-01_rb,0.33112e-01_rb,0.38338e-01_rb,0.41597e-01_rb,0.43462e-01_rb, & & 0.44087e-01_rb,0.43385e-01_rb,0.40740e-01_rb,0.32254e-01_rb /) kao(:, 1, 9, 8) = (/ & & 0.17360e-01_rb,0.27218e-01_rb,0.31401e-01_rb,0.34084e-01_rb,0.35741e-01_rb, & & 0.36373e-01_rb,0.35798e-01_rb,0.33594e-01_rb,0.25664e-01_rb /) kao(:, 2, 9, 8) = (/ & & 0.17693e-01_rb,0.27662e-01_rb,0.31908e-01_rb,0.34622e-01_rb,0.36264e-01_rb, & & 0.36877e-01_rb,0.36285e-01_rb,0.34049e-01_rb,0.26251e-01_rb /) kao(:, 3, 9, 8) = (/ & & 0.17992e-01_rb,0.28089e-01_rb,0.32477e-01_rb,0.35255e-01_rb,0.36874e-01_rb, & & 0.37444e-01_rb,0.36831e-01_rb,0.34544e-01_rb,0.26814e-01_rb /) kao(:, 4, 9, 8) = (/ & & 0.18258e-01_rb,0.28481e-01_rb,0.33050e-01_rb,0.35909e-01_rb,0.37552e-01_rb, & & 0.38078e-01_rb,0.37421e-01_rb,0.35073e-01_rb,0.27335e-01_rb /) kao(:, 5, 9, 8) = (/ & & 0.18484e-01_rb,0.28849e-01_rb,0.33601e-01_rb,0.36536e-01_rb,0.38254e-01_rb, & & 0.38756e-01_rb,0.38026e-01_rb,0.35616e-01_rb,0.27829e-01_rb /) kao(:, 1,10, 8) = (/ & & 0.14462e-01_rb,0.23463e-01_rb,0.27186e-01_rb,0.29588e-01_rb,0.31079e-01_rb, & & 0.31625e-01_rb,0.31053e-01_rb,0.29012e-01_rb,0.21916e-01_rb /) kao(:, 2,10, 8) = (/ & & 0.14737e-01_rb,0.23853e-01_rb,0.27662e-01_rb,0.30109e-01_rb,0.31581e-01_rb, & & 0.32116e-01_rb,0.31527e-01_rb,0.29461e-01_rb,0.22460e-01_rb /) kao(:, 3,10, 8) = (/ & & 0.14983e-01_rb,0.24238e-01_rb,0.28187e-01_rb,0.30710e-01_rb,0.32176e-01_rb, & & 0.32664e-01_rb,0.32044e-01_rb,0.29948e-01_rb,0.22987e-01_rb /) kao(:, 4,10, 8) = (/ & & 0.15228e-01_rb,0.24593e-01_rb,0.28718e-01_rb,0.31312e-01_rb,0.32826e-01_rb, & & 0.33282e-01_rb,0.32615e-01_rb,0.30467e-01_rb,0.23478e-01_rb /) kao(:, 5,10, 8) = (/ & & 0.15411e-01_rb,0.24932e-01_rb,0.29228e-01_rb,0.31903e-01_rb,0.33455e-01_rb, & & 0.33943e-01_rb,0.33207e-01_rb,0.30994e-01_rb,0.23939e-01_rb /) kao(:, 1,11, 8) = (/ & & 0.12097e-01_rb,0.20230e-01_rb,0.23554e-01_rb,0.25737e-01_rb,0.27070e-01_rb, & & 0.27526e-01_rb,0.26987e-01_rb,0.25125e-01_rb,0.18843e-01_rb /) kao(:, 2,11, 8) = (/ & & 0.12316e-01_rb,0.20564e-01_rb,0.24014e-01_rb,0.26265e-01_rb,0.27589e-01_rb, & & 0.28021e-01_rb,0.27462e-01_rb,0.25580e-01_rb,0.19341e-01_rb /) kao(:, 3,11, 8) = (/ & & 0.12525e-01_rb,0.20893e-01_rb,0.24494e-01_rb,0.26817e-01_rb,0.28172e-01_rb, & & 0.28578e-01_rb,0.27985e-01_rb,0.26073e-01_rb,0.19811e-01_rb /) kao(:, 4,11, 8) = (/ & & 0.12698e-01_rb,0.21212e-01_rb,0.24971e-01_rb,0.27358e-01_rb,0.28752e-01_rb, & & 0.29196e-01_rb,0.28554e-01_rb,0.26575e-01_rb,0.20254e-01_rb /) kao(:, 5,11, 8) = (/ & & 0.12813e-01_rb,0.21527e-01_rb,0.25428e-01_rb,0.27886e-01_rb,0.29316e-01_rb, & & 0.29794e-01_rb,0.29144e-01_rb,0.27095e-01_rb,0.20669e-01_rb /) kao(:, 1,12, 8) = (/ & & 0.10079e-01_rb,0.17332e-01_rb,0.20326e-01_rb,0.22283e-01_rb,0.23452e-01_rb, & & 0.23840e-01_rb,0.23351e-01_rb,0.21701e-01_rb,0.16150e-01_rb /) kao(:, 2,12, 8) = (/ & & 0.10253e-01_rb,0.17624e-01_rb,0.20738e-01_rb,0.22772e-01_rb,0.23963e-01_rb, & & 0.24343e-01_rb,0.23830e-01_rb,0.22159e-01_rb,0.16605e-01_rb /) kao(:, 3,12, 8) = (/ & & 0.10412e-01_rb,0.17914e-01_rb,0.21165e-01_rb,0.23257e-01_rb,0.24491e-01_rb, & & 0.24907e-01_rb,0.24364e-01_rb,0.22633e-01_rb,0.17031e-01_rb /) kao(:, 4,12, 8) = (/ & & 0.10528e-01_rb,0.18203e-01_rb,0.21585e-01_rb,0.23732e-01_rb,0.25019e-01_rb, & & 0.25466e-01_rb,0.24925e-01_rb,0.23123e-01_rb,0.17440e-01_rb /) kao(:, 5,12, 8) = (/ & & 0.10595e-01_rb,0.18491e-01_rb,0.21987e-01_rb,0.24205e-01_rb,0.25526e-01_rb, & & 0.26013e-01_rb,0.25497e-01_rb,0.23633e-01_rb,0.17825e-01_rb /) kao(:, 1,13, 8) = (/ & & 0.83675e-02_rb,0.14778e-01_rb,0.17455e-01_rb,0.19201e-01_rb,0.20214e-01_rb, & & 0.20545e-01_rb,0.20133e-01_rb,0.18703e-01_rb,0.13810e-01_rb /) kao(:, 2,13, 8) = (/ & & 0.85037e-02_rb,0.15033e-01_rb,0.17824e-01_rb,0.19621e-01_rb,0.20684e-01_rb, & & 0.21052e-01_rb,0.20616e-01_rb,0.19145e-01_rb,0.14218e-01_rb /) kao(:, 3,13, 8) = (/ & & 0.86129e-02_rb,0.15303e-01_rb,0.18197e-01_rb,0.20043e-01_rb,0.21163e-01_rb, & & 0.21577e-01_rb,0.21143e-01_rb,0.19600e-01_rb,0.14617e-01_rb /) kao(:, 4,13, 8) = (/ & & 0.86912e-02_rb,0.15568e-01_rb,0.18565e-01_rb,0.20472e-01_rb,0.21636e-01_rb, & & 0.22091e-01_rb,0.21674e-01_rb,0.20090e-01_rb,0.14991e-01_rb /) kao(:, 5,13, 8) = (/ & & 0.87302e-02_rb,0.15800e-01_rb,0.18917e-01_rb,0.20887e-01_rb,0.22103e-01_rb, & & 0.22594e-01_rb,0.22198e-01_rb,0.20586e-01_rb,0.15351e-01_rb /) kao(:, 1, 1, 9) = (/ & & 0.23898e+00_rb,0.24353e+00_rb,0.26297e+00_rb,0.27410e+00_rb,0.27635e+00_rb, & & 0.27151e+00_rb,0.26001e+00_rb,0.24536e+00_rb,0.24840e+00_rb /) kao(:, 2, 1, 9) = (/ & & 0.23703e+00_rb,0.24151e+00_rb,0.26057e+00_rb,0.27148e+00_rb,0.27415e+00_rb, & & 0.26993e+00_rb,0.25912e+00_rb,0.24520e+00_rb,0.24830e+00_rb /) kao(:, 3, 1, 9) = (/ & & 0.23567e+00_rb,0.23998e+00_rb,0.25868e+00_rb,0.26917e+00_rb,0.27195e+00_rb, & & 0.26833e+00_rb,0.25809e+00_rb,0.24488e+00_rb,0.24801e+00_rb /) kao(:, 4, 1, 9) = (/ & & 0.23478e+00_rb,0.23885e+00_rb,0.25713e+00_rb,0.26729e+00_rb,0.26990e+00_rb, & & 0.26662e+00_rb,0.25696e+00_rb,0.24453e+00_rb,0.24772e+00_rb /) kao(:, 5, 1, 9) = (/ & & 0.23430e+00_rb,0.23810e+00_rb,0.25588e+00_rb,0.26568e+00_rb,0.26809e+00_rb, & & 0.26490e+00_rb,0.25575e+00_rb,0.24412e+00_rb,0.24745e+00_rb /) kao(:, 1, 2, 9) = (/ & & 0.22071e+00_rb,0.23189e+00_rb,0.25280e+00_rb,0.26428e+00_rb,0.26846e+00_rb, & & 0.26544e+00_rb,0.25423e+00_rb,0.23818e+00_rb,0.23526e+00_rb /) kao(:, 2, 2, 9) = (/ & & 0.21924e+00_rb,0.23025e+00_rb,0.25076e+00_rb,0.26194e+00_rb,0.26631e+00_rb, & & 0.26393e+00_rb,0.25356e+00_rb,0.23803e+00_rb,0.23534e+00_rb /) kao(:, 3, 2, 9) = (/ & & 0.21843e+00_rb,0.22915e+00_rb,0.24919e+00_rb,0.26005e+00_rb,0.26425e+00_rb, & & 0.26237e+00_rb,0.25262e+00_rb,0.23788e+00_rb,0.23535e+00_rb /) kao(:, 4, 2, 9) = (/ & & 0.21819e+00_rb,0.22852e+00_rb,0.24801e+00_rb,0.25855e+00_rb,0.26247e+00_rb, & & 0.26079e+00_rb,0.25163e+00_rb,0.23767e+00_rb,0.23532e+00_rb /) kao(:, 5, 2, 9) = (/ & & 0.21836e+00_rb,0.22826e+00_rb,0.24718e+00_rb,0.25726e+00_rb,0.26101e+00_rb, & & 0.25924e+00_rb,0.25059e+00_rb,0.23733e+00_rb,0.23520e+00_rb /) kao(:, 1, 3, 9) = (/ & & 0.20172e+00_rb,0.21909e+00_rb,0.24049e+00_rb,0.25259e+00_rb,0.25809e+00_rb, & & 0.25661e+00_rb,0.24776e+00_rb,0.23048e+00_rb,0.22176e+00_rb /) kao(:, 2, 3, 9) = (/ & & 0.20072e+00_rb,0.21779e+00_rb,0.23872e+00_rb,0.25058e+00_rb,0.25610e+00_rb, & & 0.25527e+00_rb,0.24712e+00_rb,0.23055e+00_rb,0.22209e+00_rb /) kao(:, 3, 3, 9) = (/ & & 0.20047e+00_rb,0.21708e+00_rb,0.23748e+00_rb,0.24902e+00_rb,0.25438e+00_rb, & & 0.25391e+00_rb,0.24629e+00_rb,0.23063e+00_rb,0.22233e+00_rb /) kao(:, 4, 3, 9) = (/ & & 0.20080e+00_rb,0.21687e+00_rb,0.23670e+00_rb,0.24777e+00_rb,0.25298e+00_rb, & & 0.25252e+00_rb,0.24542e+00_rb,0.23053e+00_rb,0.22249e+00_rb /) kao(:, 5, 3, 9) = (/ & & 0.20160e+00_rb,0.21710e+00_rb,0.23623e+00_rb,0.24683e+00_rb,0.25186e+00_rb, & & 0.25126e+00_rb,0.24453e+00_rb,0.23018e+00_rb,0.22257e+00_rb /) kao(:, 1, 4, 9) = (/ & & 0.18271e+00_rb,0.20499e+00_rb,0.22645e+00_rb,0.23921e+00_rb,0.24553e+00_rb, & & 0.24573e+00_rb,0.23916e+00_rb,0.22190e+00_rb,0.20803e+00_rb /) kao(:, 2, 4, 9) = (/ & & 0.18212e+00_rb,0.20407e+00_rb,0.22500e+00_rb,0.23755e+00_rb,0.24385e+00_rb, & & 0.24460e+00_rb,0.23866e+00_rb,0.22223e+00_rb,0.20862e+00_rb /) kao(:, 3, 4, 9) = (/ & & 0.18234e+00_rb,0.20374e+00_rb,0.22412e+00_rb,0.23625e+00_rb,0.24249e+00_rb, & & 0.24341e+00_rb,0.23801e+00_rb,0.22245e+00_rb,0.20916e+00_rb /) kao(:, 4, 4, 9) = (/ & & 0.18327e+00_rb,0.20396e+00_rb,0.22372e+00_rb,0.23535e+00_rb,0.24149e+00_rb, & & 0.24231e+00_rb,0.23730e+00_rb,0.22248e+00_rb,0.20951e+00_rb /) kao(:, 5, 4, 9) = (/ & & 0.18465e+00_rb,0.20466e+00_rb,0.22368e+00_rb,0.23479e+00_rb,0.24072e+00_rb, & & 0.24142e+00_rb,0.23656e+00_rb,0.22226e+00_rb,0.20975e+00_rb /) kao(:, 1, 5, 9) = (/ & & 0.16429e+00_rb,0.19018e+00_rb,0.21120e+00_rb,0.22440e+00_rb,0.23155e+00_rb, & & 0.23328e+00_rb,0.22834e+00_rb,0.21231e+00_rb,0.19389e+00_rb /) kao(:, 2, 5, 9) = (/ & & 0.16411e+00_rb,0.18954e+00_rb,0.21010e+00_rb,0.22306e+00_rb,0.23026e+00_rb, & & 0.23235e+00_rb,0.22803e+00_rb,0.21280e+00_rb,0.19477e+00_rb /) kao(:, 3, 5, 9) = (/ & & 0.16481e+00_rb,0.18955e+00_rb,0.20958e+00_rb,0.22215e+00_rb,0.22928e+00_rb, & & 0.23142e+00_rb,0.22762e+00_rb,0.21318e+00_rb,0.19549e+00_rb /) kao(:, 4, 5, 9) = (/ & & 0.16626e+00_rb,0.19018e+00_rb,0.20952e+00_rb,0.22166e+00_rb,0.22860e+00_rb, & & 0.23069e+00_rb,0.22713e+00_rb,0.21333e+00_rb,0.19598e+00_rb /) kao(:, 5, 5, 9) = (/ & & 0.16812e+00_rb,0.19134e+00_rb,0.20988e+00_rb,0.22152e+00_rb,0.22816e+00_rb, & & 0.23013e+00_rb,0.22663e+00_rb,0.21325e+00_rb,0.19645e+00_rb /) kao(:, 1, 6, 9) = (/ & & 0.14677e+00_rb,0.17503e+00_rb,0.19553e+00_rb,0.20871e+00_rb,0.21680e+00_rb, & & 0.21948e+00_rb,0.21556e+00_rb,0.20158e+00_rb,0.17922e+00_rb /) kao(:, 2, 6, 9) = (/ & & 0.14688e+00_rb,0.17460e+00_rb,0.19479e+00_rb,0.20777e+00_rb,0.21582e+00_rb, & & 0.21883e+00_rb,0.21549e+00_rb,0.20223e+00_rb,0.18038e+00_rb /) kao(:, 3, 6, 9) = (/ & & 0.14791e+00_rb,0.17490e+00_rb,0.19459e+00_rb,0.20727e+00_rb,0.21519e+00_rb, & & 0.21822e+00_rb,0.21533e+00_rb,0.20278e+00_rb,0.18127e+00_rb /) kao(:, 4, 6, 9) = (/ & & 0.14970e+00_rb,0.17592e+00_rb,0.19488e+00_rb,0.20713e+00_rb,0.21485e+00_rb, & & 0.21785e+00_rb,0.21514e+00_rb,0.20305e+00_rb,0.18200e+00_rb /) kao(:, 5, 6, 9) = (/ & & 0.15169e+00_rb,0.17756e+00_rb,0.19568e+00_rb,0.20736e+00_rb,0.21479e+00_rb, & & 0.21766e+00_rb,0.21494e+00_rb,0.20315e+00_rb,0.18271e+00_rb /) kao(:, 1, 7, 9) = (/ & & 0.13000e+00_rb,0.15987e+00_rb,0.17978e+00_rb,0.19301e+00_rb,0.20129e+00_rb, & & 0.20436e+00_rb,0.20140e+00_rb,0.18919e+00_rb,0.16414e+00_rb /) kao(:, 2, 7, 9) = (/ & & 0.13035e+00_rb,0.15964e+00_rb,0.17934e+00_rb,0.19244e+00_rb,0.20068e+00_rb, & & 0.20402e+00_rb,0.20156e+00_rb,0.19006e+00_rb,0.16551e+00_rb /) kao(:, 3, 7, 9) = (/ & & 0.13166e+00_rb,0.16021e+00_rb,0.17944e+00_rb,0.19225e+00_rb,0.20040e+00_rb, & & 0.20381e+00_rb,0.20166e+00_rb,0.19078e+00_rb,0.16662e+00_rb /) kao(:, 4, 7, 9) = (/ & & 0.13361e+00_rb,0.16157e+00_rb,0.18010e+00_rb,0.19248e+00_rb,0.20041e+00_rb, & & 0.20379e+00_rb,0.20172e+00_rb,0.19125e+00_rb,0.16758e+00_rb /) kao(:, 5, 7, 9) = (/ & & 0.13554e+00_rb,0.16344e+00_rb,0.18132e+00_rb,0.19308e+00_rb,0.20075e+00_rb, & & 0.20397e+00_rb,0.20182e+00_rb,0.19159e+00_rb,0.16855e+00_rb /) kao(:, 1, 8, 9) = (/ & & 0.11433e+00_rb,0.14488e+00_rb,0.16431e+00_rb,0.17738e+00_rb,0.18527e+00_rb, & & 0.18841e+00_rb,0.18617e+00_rb,0.17535e+00_rb,0.14893e+00_rb /) kao(:, 2, 8, 9) = (/ & & 0.11487e+00_rb,0.14487e+00_rb,0.16414e+00_rb,0.17713e+00_rb,0.18501e+00_rb, & & 0.18837e+00_rb,0.18658e+00_rb,0.17646e+00_rb,0.15049e+00_rb /) kao(:, 3, 8, 9) = (/ & & 0.11635e+00_rb,0.14571e+00_rb,0.16452e+00_rb,0.17724e+00_rb,0.18506e+00_rb, & & 0.18853e+00_rb,0.18695e+00_rb,0.17741e+00_rb,0.15180e+00_rb /) kao(:, 4, 8, 9) = (/ & & 0.11822e+00_rb,0.14733e+00_rb,0.16549e+00_rb,0.17782e+00_rb,0.18544e+00_rb, & & 0.18888e+00_rb,0.18734e+00_rb,0.17811e+00_rb,0.15295e+00_rb /) kao(:, 5, 8, 9) = (/ & & 0.12009e+00_rb,0.14924e+00_rb,0.16704e+00_rb,0.17887e+00_rb,0.18614e+00_rb, & & 0.18940e+00_rb,0.18775e+00_rb,0.17867e+00_rb,0.15411e+00_rb /) kao(:, 1, 9, 9) = (/ & & 0.10002e+00_rb,0.13043e+00_rb,0.14919e+00_rb,0.16171e+00_rb,0.16913e+00_rb, & & 0.17211e+00_rb,0.17023e+00_rb,0.16067e+00_rb,0.13380e+00_rb /) kao(:, 2, 9, 9) = (/ & & 0.10070e+00_rb,0.13063e+00_rb,0.14927e+00_rb,0.16171e+00_rb,0.16923e+00_rb, & & 0.17237e+00_rb,0.17091e+00_rb,0.16202e+00_rb,0.13552e+00_rb /) kao(:, 3, 9, 9) = (/ & & 0.10219e+00_rb,0.13166e+00_rb,0.14990e+00_rb,0.16210e+00_rb,0.16959e+00_rb, & & 0.17285e+00_rb,0.17161e+00_rb,0.16316e+00_rb,0.13700e+00_rb /) kao(:, 4, 9, 9) = (/ & & 0.10390e+00_rb,0.13341e+00_rb,0.15118e+00_rb,0.16299e+00_rb,0.17031e+00_rb, & & 0.17358e+00_rb,0.17229e+00_rb,0.16405e+00_rb,0.13837e+00_rb /) kao(:, 5, 9, 9) = (/ & & 0.10569e+00_rb,0.13530e+00_rb,0.15298e+00_rb,0.16444e+00_rb,0.17139e+00_rb, & & 0.17443e+00_rb,0.17301e+00_rb,0.16481e+00_rb,0.13976e+00_rb /) kao(:, 1,10, 9) = (/ & & 0.87148e-01_rb,0.11690e+00_rb,0.13450e+00_rb,0.14609e+00_rb,0.15307e+00_rb, & & 0.15588e+00_rb,0.15420e+00_rb,0.14572e+00_rb,0.11917e+00_rb /) kao(:, 2,10, 9) = (/ & & 0.87948e-01_rb,0.11730e+00_rb,0.13485e+00_rb,0.14637e+00_rb,0.15348e+00_rb, & & 0.15645e+00_rb,0.15513e+00_rb,0.14723e+00_rb,0.12103e+00_rb /) kao(:, 3,10, 9) = (/ & & 0.89341e-01_rb,0.11856e+00_rb,0.13575e+00_rb,0.14709e+00_rb,0.15418e+00_rb, & & 0.15726e+00_rb,0.15609e+00_rb,0.14852e+00_rb,0.12266e+00_rb /) kao(:, 4,10, 9) = (/ & & 0.90912e-01_rb,0.12032e+00_rb,0.13733e+00_rb,0.14835e+00_rb,0.15527e+00_rb, & & 0.15827e+00_rb,0.15702e+00_rb,0.14960e+00_rb,0.12424e+00_rb /) kao(:, 5,10, 9) = (/ & & 0.92651e-01_rb,0.12218e+00_rb,0.13930e+00_rb,0.15018e+00_rb,0.15676e+00_rb, & & 0.15942e+00_rb,0.15802e+00_rb,0.15063e+00_rb,0.12583e+00_rb /) kao(:, 1,11, 9) = (/ & & 0.75810e-01_rb,0.10456e+00_rb,0.12069e+00_rb,0.13117e+00_rb,0.13761e+00_rb, & & 0.14039e+00_rb,0.13895e+00_rb,0.13157e+00_rb,0.10610e+00_rb /) kao(:, 2,11, 9) = (/ & & 0.76895e-01_rb,0.10557e+00_rb,0.12151e+00_rb,0.13190e+00_rb,0.13842e+00_rb, & & 0.14134e+00_rb,0.14014e+00_rb,0.13312e+00_rb,0.10796e+00_rb /) kao(:, 3,11, 9) = (/ & & 0.78244e-01_rb,0.10718e+00_rb,0.12298e+00_rb,0.13318e+00_rb,0.13962e+00_rb, & & 0.14250e+00_rb,0.14130e+00_rb,0.13446e+00_rb,0.10971e+00_rb /) kao(:, 4,11, 9) = (/ & & 0.79823e-01_rb,0.10896e+00_rb,0.12491e+00_rb,0.13508e+00_rb,0.14123e+00_rb, & & 0.14382e+00_rb,0.14250e+00_rb,0.13575e+00_rb,0.11145e+00_rb /) kao(:, 5,11, 9) = (/ & & 0.81587e-01_rb,0.11081e+00_rb,0.12696e+00_rb,0.13729e+00_rb,0.14323e+00_rb, & & 0.14541e+00_rb,0.14385e+00_rb,0.13708e+00_rb,0.11322e+00_rb /) kao(:, 1,12, 9) = (/ & & 0.65751e-01_rb,0.93358e-01_rb,0.10793e+00_rb,0.11727e+00_rb,0.12307e+00_rb, & & 0.12565e+00_rb,0.12447e+00_rb,0.11782e+00_rb,0.93944e-01_rb /) kao(:, 2,12, 9) = (/ & & 0.66851e-01_rb,0.94791e-01_rb,0.10927e+00_rb,0.11849e+00_rb,0.12430e+00_rb, & & 0.12692e+00_rb,0.12584e+00_rb,0.11940e+00_rb,0.95825e-01_rb /) kao(:, 3,12, 9) = (/ & & 0.68215e-01_rb,0.96468e-01_rb,0.11113e+00_rb,0.12035e+00_rb,0.12596e+00_rb, & & 0.12837e+00_rb,0.12723e+00_rb,0.12088e+00_rb,0.97697e-01_rb /) kao(:, 4,12, 9) = (/ & & 0.69822e-01_rb,0.98288e-01_rb,0.11318e+00_rb,0.12260e+00_rb,0.12800e+00_rb, & & 0.13009e+00_rb,0.12875e+00_rb,0.12246e+00_rb,0.99558e-01_rb /) kao(:, 5,12, 9) = (/ & & 0.71562e-01_rb,0.10021e+00_rb,0.11536e+00_rb,0.12491e+00_rb,0.13035e+00_rb, & & 0.13218e+00_rb,0.13049e+00_rb,0.12412e+00_rb,0.10142e+00_rb /) kao(:, 1,13, 9) = (/ & & 0.56716e-01_rb,0.83175e-01_rb,0.96227e-01_rb,0.10452e+00_rb,0.10961e+00_rb, & & 0.11186e+00_rb,0.11078e+00_rb,0.10487e+00_rb,0.82822e-01_rb /) kao(:, 2,13, 9) = (/ & & 0.57829e-01_rb,0.84711e-01_rb,0.97973e-01_rb,0.10625e+00_rb,0.11123e+00_rb, & & 0.11339e+00_rb,0.11236e+00_rb,0.10648e+00_rb,0.84781e-01_rb /) kao(:, 3,13, 9) = (/ & & 0.59231e-01_rb,0.86426e-01_rb,0.99996e-01_rb,0.10847e+00_rb,0.11329e+00_rb, & & 0.11518e+00_rb,0.11401e+00_rb,0.10821e+00_rb,0.86727e-01_rb /) kao(:, 4,13, 9) = (/ & & 0.60793e-01_rb,0.88335e-01_rb,0.10220e+00_rb,0.11080e+00_rb,0.11568e+00_rb, & & 0.11734e+00_rb,0.11592e+00_rb,0.11003e+00_rb,0.88652e-01_rb /) kao(:, 5,13, 9) = (/ & & 0.62288e-01_rb,0.90379e-01_rb,0.10449e+00_rb,0.11321e+00_rb,0.11819e+00_rb, & & 0.11985e+00_rb,0.11808e+00_rb,0.11193e+00_rb,0.90608e-01_rb /) kao(:, 1, 1,10) = (/ & & 0.73370e+00_rb,0.66239e+00_rb,0.64754e+00_rb,0.65671e+00_rb,0.64798e+00_rb, & & 0.62443e+00_rb,0.62156e+00_rb,0.59642e+00_rb,0.65694e+00_rb /) kao(:, 2, 1,10) = (/ & & 0.72227e+00_rb,0.65245e+00_rb,0.64115e+00_rb,0.65244e+00_rb,0.64519e+00_rb, & & 0.62272e+00_rb,0.62178e+00_rb,0.59807e+00_rb,0.65734e+00_rb /) kao(:, 3, 1,10) = (/ & & 0.71096e+00_rb,0.64287e+00_rb,0.63490e+00_rb,0.64719e+00_rb,0.64246e+00_rb, & & 0.61928e+00_rb,0.62164e+00_rb,0.59971e+00_rb,0.65975e+00_rb /) kao(:, 4, 1,10) = (/ & & 0.69997e+00_rb,0.63340e+00_rb,0.62893e+00_rb,0.64188e+00_rb,0.63859e+00_rb, & & 0.61601e+00_rb,0.62127e+00_rb,0.59924e+00_rb,0.66003e+00_rb /) kao(:, 5, 1,10) = (/ & & 0.68921e+00_rb,0.62412e+00_rb,0.62274e+00_rb,0.63660e+00_rb,0.63341e+00_rb, & & 0.61371e+00_rb,0.61976e+00_rb,0.59796e+00_rb,0.65874e+00_rb /) kao(:, 1, 2,10) = (/ & & 0.71435e+00_rb,0.65898e+00_rb,0.65791e+00_rb,0.67621e+00_rb,0.66803e+00_rb, & & 0.63952e+00_rb,0.62227e+00_rb,0.60345e+00_rb,0.64341e+00_rb /) kao(:, 2, 2,10) = (/ & & 0.70295e+00_rb,0.64927e+00_rb,0.65209e+00_rb,0.67168e+00_rb,0.66601e+00_rb, & & 0.63761e+00_rb,0.62183e+00_rb,0.60472e+00_rb,0.64489e+00_rb /) kao(:, 3, 2,10) = (/ & & 0.69214e+00_rb,0.64012e+00_rb,0.64637e+00_rb,0.66639e+00_rb,0.66353e+00_rb, & & 0.63487e+00_rb,0.62217e+00_rb,0.60467e+00_rb,0.64521e+00_rb /) kao(:, 4, 2,10) = (/ & & 0.68145e+00_rb,0.63089e+00_rb,0.64022e+00_rb,0.66099e+00_rb,0.65898e+00_rb, & & 0.63312e+00_rb,0.62106e+00_rb,0.60298e+00_rb,0.64380e+00_rb /) kao(:, 5, 2,10) = (/ & & 0.67068e+00_rb,0.62208e+00_rb,0.63390e+00_rb,0.65546e+00_rb,0.65376e+00_rb, & & 0.63122e+00_rb,0.61818e+00_rb,0.60158e+00_rb,0.64256e+00_rb /) kao(:, 1, 3,10) = (/ & & 0.68340e+00_rb,0.64482e+00_rb,0.66290e+00_rb,0.68284e+00_rb,0.67896e+00_rb, & & 0.65800e+00_rb,0.61589e+00_rb,0.60026e+00_rb,0.62209e+00_rb /) kao(:, 2, 3,10) = (/ & & 0.67251e+00_rb,0.63550e+00_rb,0.65818e+00_rb,0.67891e+00_rb,0.67722e+00_rb, & & 0.65575e+00_rb,0.61745e+00_rb,0.60017e+00_rb,0.62247e+00_rb /) kao(:, 3, 3,10) = (/ & & 0.66182e+00_rb,0.62604e+00_rb,0.65231e+00_rb,0.67447e+00_rb,0.67369e+00_rb, & & 0.65314e+00_rb,0.61804e+00_rb,0.59851e+00_rb,0.62084e+00_rb /) kao(:, 4, 3,10) = (/ & & 0.65114e+00_rb,0.61727e+00_rb,0.64569e+00_rb,0.67007e+00_rb,0.66854e+00_rb, & & 0.65146e+00_rb,0.61713e+00_rb,0.59641e+00_rb,0.61922e+00_rb /) kao(:, 5, 3,10) = (/ & & 0.64110e+00_rb,0.60881e+00_rb,0.63926e+00_rb,0.66468e+00_rb,0.66347e+00_rb, & & 0.64931e+00_rb,0.61433e+00_rb,0.59600e+00_rb,0.61885e+00_rb /) kao(:, 1, 4,10) = (/ & & 0.64233e+00_rb,0.62207e+00_rb,0.65747e+00_rb,0.67845e+00_rb,0.68170e+00_rb, & & 0.66374e+00_rb,0.61548e+00_rb,0.59270e+00_rb,0.60473e+00_rb /) kao(:, 2, 4,10) = (/ & & 0.63185e+00_rb,0.61324e+00_rb,0.65237e+00_rb,0.67473e+00_rb,0.67959e+00_rb, & & 0.66215e+00_rb,0.61741e+00_rb,0.59134e+00_rb,0.60361e+00_rb /) kao(:, 3, 4,10) = (/ & & 0.62122e+00_rb,0.60440e+00_rb,0.64660e+00_rb,0.67096e+00_rb,0.67570e+00_rb, & & 0.66004e+00_rb,0.61834e+00_rb,0.58886e+00_rb,0.60079e+00_rb /) kao(:, 4, 4,10) = (/ & & 0.61111e+00_rb,0.59616e+00_rb,0.64034e+00_rb,0.66675e+00_rb,0.67073e+00_rb, & & 0.65786e+00_rb,0.61721e+00_rb,0.58692e+00_rb,0.59978e+00_rb /) kao(:, 5, 4,10) = (/ & & 0.60223e+00_rb,0.58851e+00_rb,0.63401e+00_rb,0.66136e+00_rb,0.66631e+00_rb, & & 0.65503e+00_rb,0.61469e+00_rb,0.58697e+00_rb,0.60040e+00_rb /) kao(:, 1, 5,10) = (/ & & 0.59185e+00_rb,0.59370e+00_rb,0.63992e+00_rb,0.66463e+00_rb,0.67279e+00_rb, & & 0.65610e+00_rb,0.61852e+00_rb,0.58331e+00_rb,0.58763e+00_rb /) kao(:, 2, 5,10) = (/ & & 0.58158e+00_rb,0.58584e+00_rb,0.63500e+00_rb,0.66123e+00_rb,0.67045e+00_rb, & & 0.65504e+00_rb,0.62015e+00_rb,0.58225e+00_rb,0.58623e+00_rb /) kao(:, 3, 5,10) = (/ & & 0.57197e+00_rb,0.57827e+00_rb,0.62932e+00_rb,0.65791e+00_rb,0.66630e+00_rb, & & 0.65353e+00_rb,0.61959e+00_rb,0.58025e+00_rb,0.58483e+00_rb /) kao(:, 4, 5,10) = (/ & & 0.56277e+00_rb,0.57099e+00_rb,0.62369e+00_rb,0.65326e+00_rb,0.66229e+00_rb, & & 0.65156e+00_rb,0.61745e+00_rb,0.57913e+00_rb,0.58544e+00_rb /) kao(:, 5, 5,10) = (/ & & 0.55581e+00_rb,0.56431e+00_rb,0.61807e+00_rb,0.64784e+00_rb,0.65855e+00_rb, & & 0.64845e+00_rb,0.61479e+00_rb,0.57987e+00_rb,0.58646e+00_rb /) kao(:, 1, 6,10) = (/ & & 0.53954e+00_rb,0.56255e+00_rb,0.61290e+00_rb,0.64303e+00_rb,0.64974e+00_rb, & & 0.64176e+00_rb,0.61714e+00_rb,0.56940e+00_rb,0.56484e+00_rb /) kao(:, 2, 6,10) = (/ & & 0.53060e+00_rb,0.55651e+00_rb,0.60789e+00_rb,0.63988e+00_rb,0.64820e+00_rb, & & 0.64042e+00_rb,0.61834e+00_rb,0.56932e+00_rb,0.56418e+00_rb /) kao(:, 3, 6,10) = (/ & & 0.52216e+00_rb,0.54988e+00_rb,0.60294e+00_rb,0.63619e+00_rb,0.64521e+00_rb, & & 0.63878e+00_rb,0.61726e+00_rb,0.56850e+00_rb,0.56474e+00_rb /) kao(:, 4, 6,10) = (/ & & 0.51474e+00_rb,0.54331e+00_rb,0.59815e+00_rb,0.63165e+00_rb,0.64200e+00_rb, & & 0.63625e+00_rb,0.61431e+00_rb,0.56860e+00_rb,0.56684e+00_rb /) kao(:, 5, 6,10) = (/ & & 0.51206e+00_rb,0.53704e+00_rb,0.59303e+00_rb,0.62695e+00_rb,0.63853e+00_rb, & & 0.63290e+00_rb,0.61169e+00_rb,0.57018e+00_rb,0.56804e+00_rb /) kao(:, 1, 7,10) = (/ & & 0.49102e+00_rb,0.52896e+00_rb,0.58005e+00_rb,0.60940e+00_rb,0.62179e+00_rb, & & 0.62452e+00_rb,0.60693e+00_rb,0.55666e+00_rb,0.53830e+00_rb /) kao(:, 2, 7,10) = (/ & & 0.48351e+00_rb,0.52394e+00_rb,0.57551e+00_rb,0.60647e+00_rb,0.62043e+00_rb, & & 0.62318e+00_rb,0.60808e+00_rb,0.55693e+00_rb,0.53902e+00_rb /) kao(:, 3, 7,10) = (/ & & 0.47604e+00_rb,0.51848e+00_rb,0.57124e+00_rb,0.60324e+00_rb,0.61835e+00_rb, & & 0.62080e+00_rb,0.60698e+00_rb,0.55691e+00_rb,0.54116e+00_rb /) kao(:, 4, 7,10) = (/ & & 0.47121e+00_rb,0.51294e+00_rb,0.56659e+00_rb,0.59937e+00_rb,0.61527e+00_rb, & & 0.61807e+00_rb,0.60502e+00_rb,0.55819e+00_rb,0.54361e+00_rb /) kao(:, 5, 7,10) = (/ & & 0.47306e+00_rb,0.50884e+00_rb,0.56199e+00_rb,0.59548e+00_rb,0.61135e+00_rb, & & 0.61474e+00_rb,0.60372e+00_rb,0.56024e+00_rb,0.54444e+00_rb /) kao(:, 1, 8,10) = (/ & & 0.44396e+00_rb,0.49532e+00_rb,0.54249e+00_rb,0.57145e+00_rb,0.59186e+00_rb, & & 0.60060e+00_rb,0.58785e+00_rb,0.54441e+00_rb,0.50913e+00_rb /) kao(:, 2, 8,10) = (/ & & 0.43707e+00_rb,0.49048e+00_rb,0.53914e+00_rb,0.56868e+00_rb,0.59107e+00_rb, & & 0.60049e+00_rb,0.58883e+00_rb,0.54507e+00_rb,0.51101e+00_rb /) kao(:, 3, 8,10) = (/ & & 0.43098e+00_rb,0.48531e+00_rb,0.53541e+00_rb,0.56592e+00_rb,0.58911e+00_rb, & & 0.59846e+00_rb,0.58812e+00_rb,0.54578e+00_rb,0.51441e+00_rb /) kao(:, 4, 8,10) = (/ & & 0.42957e+00_rb,0.48093e+00_rb,0.53173e+00_rb,0.56262e+00_rb,0.58636e+00_rb, & & 0.59589e+00_rb,0.58708e+00_rb,0.54776e+00_rb,0.51773e+00_rb /) kao(:, 5, 8,10) = (/ & & 0.43487e+00_rb,0.48035e+00_rb,0.52822e+00_rb,0.55903e+00_rb,0.58272e+00_rb, & & 0.59353e+00_rb,0.58697e+00_rb,0.54985e+00_rb,0.51918e+00_rb /) kao(:, 1, 9,10) = (/ & & 0.39531e+00_rb,0.46021e+00_rb,0.50510e+00_rb,0.53588e+00_rb,0.55895e+00_rb, & & 0.56979e+00_rb,0.56191e+00_rb,0.52659e+00_rb,0.47758e+00_rb /) kao(:, 2, 9,10) = (/ & & 0.38905e+00_rb,0.45517e+00_rb,0.50180e+00_rb,0.53416e+00_rb,0.55846e+00_rb, & & 0.57047e+00_rb,0.56355e+00_rb,0.52717e+00_rb,0.48088e+00_rb /) kao(:, 3, 9,10) = (/ & & 0.38493e+00_rb,0.45067e+00_rb,0.49854e+00_rb,0.53220e+00_rb,0.55699e+00_rb, & & 0.56934e+00_rb,0.56332e+00_rb,0.52868e+00_rb,0.48536e+00_rb /) kao(:, 4, 9,10) = (/ & & 0.38723e+00_rb,0.44786e+00_rb,0.49546e+00_rb,0.52928e+00_rb,0.55471e+00_rb, & & 0.56730e+00_rb,0.56372e+00_rb,0.53178e+00_rb,0.48902e+00_rb /) kao(:, 5, 9,10) = (/ & & 0.39433e+00_rb,0.45054e+00_rb,0.49350e+00_rb,0.52621e+00_rb,0.55192e+00_rb, & & 0.56604e+00_rb,0.56481e+00_rb,0.53491e+00_rb,0.49067e+00_rb /) kao(:, 1,10,10) = (/ & & 0.34716e+00_rb,0.41992e+00_rb,0.46841e+00_rb,0.50264e+00_rb,0.52377e+00_rb, & & 0.53462e+00_rb,0.53096e+00_rb,0.50215e+00_rb,0.44481e+00_rb /) kao(:, 2,10,10) = (/ & & 0.34195e+00_rb,0.41601e+00_rb,0.46506e+00_rb,0.50165e+00_rb,0.52385e+00_rb, & & 0.53574e+00_rb,0.53310e+00_rb,0.50401e+00_rb,0.44924e+00_rb /) kao(:, 3,10,10) = (/ & & 0.34072e+00_rb,0.41255e+00_rb,0.46265e+00_rb,0.50007e+00_rb,0.52273e+00_rb, & & 0.53553e+00_rb,0.53434e+00_rb,0.50668e+00_rb,0.45414e+00_rb /) kao(:, 4,10,10) = (/ & & 0.34572e+00_rb,0.41258e+00_rb,0.46029e+00_rb,0.49770e+00_rb,0.52100e+00_rb, & & 0.53482e+00_rb,0.53633e+00_rb,0.51056e+00_rb,0.45768e+00_rb /) kao(:, 5,10,10) = (/ & & 0.35242e+00_rb,0.41826e+00_rb,0.46028e+00_rb,0.49520e+00_rb,0.51927e+00_rb, & & 0.53500e+00_rb,0.53892e+00_rb,0.51405e+00_rb,0.45947e+00_rb /) kao(:, 1,11,10) = (/ & & 0.30160e+00_rb,0.37714e+00_rb,0.42971e+00_rb,0.46717e+00_rb,0.48926e+00_rb, & & 0.49871e+00_rb,0.49756e+00_rb,0.47436e+00_rb,0.41261e+00_rb /) kao(:, 2,11,10) = (/ & & 0.29962e+00_rb,0.37395e+00_rb,0.42779e+00_rb,0.46654e+00_rb,0.48929e+00_rb, & & 0.49998e+00_rb,0.50016e+00_rb,0.47769e+00_rb,0.41819e+00_rb /) kao(:, 3,11,10) = (/ & & 0.30371e+00_rb,0.37339e+00_rb,0.42611e+00_rb,0.46502e+00_rb,0.48821e+00_rb, & & 0.50080e+00_rb,0.50323e+00_rb,0.48215e+00_rb,0.42266e+00_rb /) kao(:, 4,11,10) = (/ & & 0.30955e+00_rb,0.37857e+00_rb,0.42639e+00_rb,0.46320e+00_rb,0.48745e+00_rb, & & 0.50213e+00_rb,0.50694e+00_rb,0.48639e+00_rb,0.42570e+00_rb /) kao(:, 5,11,10) = (/ & & 0.31511e+00_rb,0.38606e+00_rb,0.43107e+00_rb,0.46346e+00_rb,0.48731e+00_rb, & & 0.50398e+00_rb,0.50975e+00_rb,0.48945e+00_rb,0.42790e+00_rb /) kao(:, 1,12,10) = (/ & & 0.26311e+00_rb,0.33847e+00_rb,0.39159e+00_rb,0.42993e+00_rb,0.45370e+00_rb, & & 0.46372e+00_rb,0.46279e+00_rb,0.44427e+00_rb,0.37907e+00_rb /) kao(:, 2,12,10) = (/ & & 0.26583e+00_rb,0.33679e+00_rb,0.39073e+00_rb,0.42938e+00_rb,0.45415e+00_rb, & & 0.46569e+00_rb,0.46639e+00_rb,0.44945e+00_rb,0.38485e+00_rb /) kao(:, 3,12,10) = (/ & & 0.27082e+00_rb,0.34071e+00_rb,0.39077e+00_rb,0.42842e+00_rb,0.45412e+00_rb, & & 0.46820e+00_rb,0.47089e+00_rb,0.45477e+00_rb,0.38900e+00_rb /) kao(:, 4,12,10) = (/ & & 0.27574e+00_rb,0.34733e+00_rb,0.39532e+00_rb,0.42923e+00_rb,0.45504e+00_rb, & & 0.47097e+00_rb,0.47486e+00_rb,0.45848e+00_rb,0.39247e+00_rb /) kao(:, 5,12,10) = (/ & & 0.28099e+00_rb,0.35386e+00_rb,0.40190e+00_rb,0.43447e+00_rb,0.45757e+00_rb, & & 0.47294e+00_rb,0.47760e+00_rb,0.46125e+00_rb,0.39629e+00_rb /) kao(:, 1,13,10) = (/ & & 0.23133e+00_rb,0.30448e+00_rb,0.35592e+00_rb,0.39245e+00_rb,0.41703e+00_rb, & & 0.42944e+00_rb,0.42838e+00_rb,0.41191e+00_rb,0.34405e+00_rb /) kao(:, 2,13,10) = (/ & & 0.23569e+00_rb,0.30675e+00_rb,0.35574e+00_rb,0.39238e+00_rb,0.41854e+00_rb, & & 0.43261e+00_rb,0.43319e+00_rb,0.41851e+00_rb,0.34979e+00_rb /) kao(:, 3,13,10) = (/ & & 0.23995e+00_rb,0.31287e+00_rb,0.35958e+00_rb,0.39339e+00_rb,0.42025e+00_rb, & & 0.43649e+00_rb,0.43814e+00_rb,0.42387e+00_rb,0.35427e+00_rb /) kao(:, 4,13,10) = (/ & & 0.24491e+00_rb,0.31868e+00_rb,0.36597e+00_rb,0.39887e+00_rb,0.42348e+00_rb, & & 0.43960e+00_rb,0.44180e+00_rb,0.42781e+00_rb,0.35946e+00_rb /) kao(:, 5,13,10) = (/ & & 0.25204e+00_rb,0.32443e+00_rb,0.37244e+00_rb,0.40709e+00_rb,0.42924e+00_rb, & & 0.44176e+00_rb,0.44465e+00_rb,0.43196e+00_rb,0.36481e+00_rb /) kao(:, 1, 1,11) = (/ & & 0.10293e+01_rb,0.90445e+00_rb,0.86137e+00_rb,0.83022e+00_rb,0.84086e+00_rb, & & 0.86548e+00_rb,0.85587e+00_rb,0.85325e+00_rb,0.97261e+00_rb /) kao(:, 2, 1,11) = (/ & & 0.10191e+01_rb,0.89556e+00_rb,0.85472e+00_rb,0.82839e+00_rb,0.83827e+00_rb, & & 0.86712e+00_rb,0.85626e+00_rb,0.85096e+00_rb,0.97088e+00_rb /) kao(:, 3, 1,11) = (/ & & 0.10070e+01_rb,0.88513e+00_rb,0.84750e+00_rb,0.82570e+00_rb,0.83354e+00_rb, & & 0.86668e+00_rb,0.85692e+00_rb,0.84837e+00_rb,0.96710e+00_rb /) kao(:, 4, 1,11) = (/ & & 0.99477e+00_rb,0.87449e+00_rb,0.83958e+00_rb,0.82146e+00_rb,0.82897e+00_rb, & & 0.86436e+00_rb,0.85744e+00_rb,0.84703e+00_rb,0.96450e+00_rb /) kao(:, 5, 1,11) = (/ & & 0.98126e+00_rb,0.86272e+00_rb,0.83128e+00_rb,0.81555e+00_rb,0.82401e+00_rb, & & 0.85929e+00_rb,0.85825e+00_rb,0.84707e+00_rb,0.96358e+00_rb /) kao(:, 1, 2,11) = (/ & & 0.10475e+01_rb,0.93151e+00_rb,0.89830e+00_rb,0.88420e+00_rb,0.87933e+00_rb, & & 0.87846e+00_rb,0.87987e+00_rb,0.86086e+00_rb,0.97265e+00_rb /) kao(:, 2, 2,11) = (/ & & 0.10370e+01_rb,0.92196e+00_rb,0.89215e+00_rb,0.88284e+00_rb,0.87783e+00_rb, & & 0.88073e+00_rb,0.88059e+00_rb,0.85882e+00_rb,0.96972e+00_rb /) kao(:, 3, 2,11) = (/ & & 0.10244e+01_rb,0.91082e+00_rb,0.88511e+00_rb,0.87976e+00_rb,0.87455e+00_rb, & & 0.88046e+00_rb,0.88070e+00_rb,0.85623e+00_rb,0.96599e+00_rb /) kao(:, 4, 2,11) = (/ & & 0.10111e+01_rb,0.89911e+00_rb,0.87761e+00_rb,0.87481e+00_rb,0.87132e+00_rb, & & 0.87692e+00_rb,0.88074e+00_rb,0.85652e+00_rb,0.96500e+00_rb /) kao(:, 5, 2,11) = (/ & & 0.99734e+00_rb,0.88696e+00_rb,0.86940e+00_rb,0.86908e+00_rb,0.86706e+00_rb, & & 0.87191e+00_rb,0.88156e+00_rb,0.85742e+00_rb,0.96567e+00_rb /) kao(:, 1, 3,11) = (/ & & 0.10481e+01_rb,0.94949e+00_rb,0.92754e+00_rb,0.93134e+00_rb,0.92020e+00_rb, & & 0.88963e+00_rb,0.89353e+00_rb,0.87368e+00_rb,0.96341e+00_rb /) kao(:, 2, 3,11) = (/ & & 0.10364e+01_rb,0.93961e+00_rb,0.92141e+00_rb,0.92962e+00_rb,0.91951e+00_rb, & & 0.89266e+00_rb,0.89347e+00_rb,0.87218e+00_rb,0.95995e+00_rb /) kao(:, 3, 3,11) = (/ & & 0.10237e+01_rb,0.92877e+00_rb,0.91434e+00_rb,0.92574e+00_rb,0.91740e+00_rb, & & 0.89302e+00_rb,0.89281e+00_rb,0.87167e+00_rb,0.95907e+00_rb /) kao(:, 4, 3,11) = (/ & & 0.10107e+01_rb,0.91711e+00_rb,0.90716e+00_rb,0.92023e+00_rb,0.91517e+00_rb, & & 0.89037e+00_rb,0.89222e+00_rb,0.87266e+00_rb,0.95928e+00_rb /) kao(:, 5, 3,11) = (/ & & 0.99633e+00_rb,0.90470e+00_rb,0.89927e+00_rb,0.91439e+00_rb,0.91120e+00_rb, & & 0.88600e+00_rb,0.89266e+00_rb,0.87273e+00_rb,0.95886e+00_rb /) kao(:, 1, 4,11) = (/ & & 0.10264e+01_rb,0.95071e+00_rb,0.94674e+00_rb,0.96322e+00_rb,0.95099e+00_rb, & & 0.91374e+00_rb,0.89446e+00_rb,0.87855e+00_rb,0.93628e+00_rb /) kao(:, 2, 4,11) = (/ & & 0.10149e+01_rb,0.94036e+00_rb,0.94196e+00_rb,0.96089e+00_rb,0.95153e+00_rb, & & 0.91752e+00_rb,0.89401e+00_rb,0.87842e+00_rb,0.93496e+00_rb /) kao(:, 3, 4,11) = (/ & & 0.10022e+01_rb,0.92957e+00_rb,0.93566e+00_rb,0.95688e+00_rb,0.95066e+00_rb, & & 0.91784e+00_rb,0.89284e+00_rb,0.87926e+00_rb,0.93586e+00_rb /) kao(:, 4, 4,11) = (/ & & 0.98847e+00_rb,0.91773e+00_rb,0.92854e+00_rb,0.95134e+00_rb,0.94862e+00_rb, & & 0.91547e+00_rb,0.89366e+00_rb,0.87951e+00_rb,0.93591e+00_rb /) kao(:, 5, 4,11) = (/ & & 0.97390e+00_rb,0.90550e+00_rb,0.92045e+00_rb,0.94604e+00_rb,0.94431e+00_rb, & & 0.91218e+00_rb,0.89395e+00_rb,0.87858e+00_rb,0.93476e+00_rb /) kao(:, 1, 5,11) = (/ & & 0.98609e+00_rb,0.93424e+00_rb,0.95643e+00_rb,0.97684e+00_rb,0.96999e+00_rb, & & 0.93774e+00_rb,0.88693e+00_rb,0.86915e+00_rb,0.90145e+00_rb /) kao(:, 2, 5,11) = (/ & & 0.97412e+00_rb,0.92401e+00_rb,0.95137e+00_rb,0.97507e+00_rb,0.97005e+00_rb, & & 0.94299e+00_rb,0.88698e+00_rb,0.86947e+00_rb,0.90218e+00_rb /) kao(:, 3, 5,11) = (/ & & 0.96114e+00_rb,0.91242e+00_rb,0.94531e+00_rb,0.97096e+00_rb,0.96958e+00_rb, & & 0.94325e+00_rb,0.88812e+00_rb,0.86965e+00_rb,0.90220e+00_rb /) kao(:, 4, 5,11) = (/ & & 0.94742e+00_rb,0.90067e+00_rb,0.93796e+00_rb,0.96622e+00_rb,0.96802e+00_rb, & & 0.94082e+00_rb,0.89013e+00_rb,0.86974e+00_rb,0.90156e+00_rb /) kao(:, 5, 5,11) = (/ & & 0.93336e+00_rb,0.88866e+00_rb,0.92975e+00_rb,0.96102e+00_rb,0.96365e+00_rb, & & 0.93814e+00_rb,0.89133e+00_rb,0.86813e+00_rb,0.89955e+00_rb /) kao(:, 1, 6,11) = (/ & & 0.92984e+00_rb,0.90494e+00_rb,0.94972e+00_rb,0.97425e+00_rb,0.97662e+00_rb, & & 0.94556e+00_rb,0.88351e+00_rb,0.85584e+00_rb,0.87463e+00_rb /) kao(:, 2, 6,11) = (/ & & 0.91725e+00_rb,0.89370e+00_rb,0.94535e+00_rb,0.97222e+00_rb,0.97680e+00_rb, & & 0.95110e+00_rb,0.88518e+00_rb,0.85597e+00_rb,0.87435e+00_rb /) kao(:, 3, 6,11) = (/ & & 0.90427e+00_rb,0.88250e+00_rb,0.93903e+00_rb,0.96844e+00_rb,0.97606e+00_rb, & & 0.95304e+00_rb,0.88753e+00_rb,0.85497e+00_rb,0.87307e+00_rb /) kao(:, 4, 6,11) = (/ & & 0.89063e+00_rb,0.87150e+00_rb,0.93110e+00_rb,0.96495e+00_rb,0.97386e+00_rb, & & 0.95208e+00_rb,0.89056e+00_rb,0.85380e+00_rb,0.87067e+00_rb /) kao(:, 5, 6,11) = (/ & & 0.87675e+00_rb,0.86027e+00_rb,0.92261e+00_rb,0.96002e+00_rb,0.96930e+00_rb, & & 0.94959e+00_rb,0.89201e+00_rb,0.85155e+00_rb,0.86905e+00_rb /) kao(:, 1, 7,11) = (/ & & 0.85919e+00_rb,0.86562e+00_rb,0.92649e+00_rb,0.95965e+00_rb,0.96523e+00_rb, & & 0.93650e+00_rb,0.88529e+00_rb,0.84057e+00_rb,0.84722e+00_rb /) kao(:, 2, 7,11) = (/ & & 0.84717e+00_rb,0.85599e+00_rb,0.92166e+00_rb,0.95676e+00_rb,0.96677e+00_rb, & & 0.94156e+00_rb,0.88807e+00_rb,0.84087e+00_rb,0.84785e+00_rb /) kao(:, 3, 7,11) = (/ & & 0.83473e+00_rb,0.84556e+00_rb,0.91525e+00_rb,0.95342e+00_rb,0.96579e+00_rb, & & 0.94506e+00_rb,0.89084e+00_rb,0.83990e+00_rb,0.84680e+00_rb /) kao(:, 4, 7,11) = (/ & & 0.82211e+00_rb,0.83508e+00_rb,0.90782e+00_rb,0.94944e+00_rb,0.96296e+00_rb, & & 0.94530e+00_rb,0.89295e+00_rb,0.83822e+00_rb,0.84533e+00_rb /) kao(:, 5, 7,11) = (/ & & 0.80945e+00_rb,0.82542e+00_rb,0.90011e+00_rb,0.94513e+00_rb,0.95957e+00_rb, & & 0.94356e+00_rb,0.89326e+00_rb,0.83636e+00_rb,0.84582e+00_rb /) kao(:, 1, 8,11) = (/ & & 0.78535e+00_rb,0.81958e+00_rb,0.89069e+00_rb,0.92943e+00_rb,0.93702e+00_rb, & & 0.91895e+00_rb,0.88182e+00_rb,0.81942e+00_rb,0.81355e+00_rb /) kao(:, 2, 8,11) = (/ & & 0.77455e+00_rb,0.81120e+00_rb,0.88449e+00_rb,0.92737e+00_rb,0.93847e+00_rb, & & 0.92275e+00_rb,0.88568e+00_rb,0.82187e+00_rb,0.81529e+00_rb /) kao(:, 3, 8,11) = (/ & & 0.76320e+00_rb,0.80325e+00_rb,0.87799e+00_rb,0.92413e+00_rb,0.93785e+00_rb, & & 0.92584e+00_rb,0.88848e+00_rb,0.82246e+00_rb,0.81526e+00_rb /) kao(:, 4, 8,11) = (/ & & 0.75209e+00_rb,0.79461e+00_rb,0.87173e+00_rb,0.92037e+00_rb,0.93562e+00_rb, & & 0.92659e+00_rb,0.89042e+00_rb,0.82203e+00_rb,0.81583e+00_rb /) kao(:, 5, 8,11) = (/ & & 0.74191e+00_rb,0.78569e+00_rb,0.86500e+00_rb,0.91565e+00_rb,0.93275e+00_rb, & & 0.92508e+00_rb,0.89021e+00_rb,0.82215e+00_rb,0.81833e+00_rb /) kao(:, 1, 9,11) = (/ & & 0.71539e+00_rb,0.77045e+00_rb,0.84442e+00_rb,0.88339e+00_rb,0.89968e+00_rb, & & 0.89536e+00_rb,0.86841e+00_rb,0.79955e+00_rb,0.77318e+00_rb /) kao(:, 2, 9,11) = (/ & & 0.70564e+00_rb,0.76424e+00_rb,0.83867e+00_rb,0.88222e+00_rb,0.90019e+00_rb, & & 0.89929e+00_rb,0.87308e+00_rb,0.80390e+00_rb,0.77664e+00_rb /) kao(:, 3, 9,11) = (/ & & 0.69566e+00_rb,0.75811e+00_rb,0.83280e+00_rb,0.87940e+00_rb,0.90026e+00_rb, & & 0.90222e+00_rb,0.87663e+00_rb,0.80593e+00_rb,0.77834e+00_rb /) kao(:, 4, 9,11) = (/ & & 0.68611e+00_rb,0.75067e+00_rb,0.82727e+00_rb,0.87623e+00_rb,0.89845e+00_rb, & & 0.90248e+00_rb,0.87886e+00_rb,0.80698e+00_rb,0.78085e+00_rb /) kao(:, 5, 9,11) = (/ & & 0.67924e+00_rb,0.74336e+00_rb,0.82173e+00_rb,0.87192e+00_rb,0.89575e+00_rb, & & 0.90118e+00_rb,0.87929e+00_rb,0.80840e+00_rb,0.78556e+00_rb /) kao(:, 1,10,11) = (/ & & 0.64750e+00_rb,0.72291e+00_rb,0.79049e+00_rb,0.83093e+00_rb,0.85723e+00_rb, & & 0.86420e+00_rb,0.84410e+00_rb,0.78062e+00_rb,0.72995e+00_rb /) kao(:, 2,10,11) = (/ & & 0.63786e+00_rb,0.71701e+00_rb,0.78689e+00_rb,0.82920e+00_rb,0.85838e+00_rb, & & 0.86903e+00_rb,0.84994e+00_rb,0.78581e+00_rb,0.73484e+00_rb /) kao(:, 3,10,11) = (/ & & 0.62879e+00_rb,0.71055e+00_rb,0.78212e+00_rb,0.82630e+00_rb,0.85919e+00_rb, & & 0.87234e+00_rb,0.85358e+00_rb,0.78925e+00_rb,0.73873e+00_rb /) kao(:, 4,10,11) = (/ & & 0.62087e+00_rb,0.70389e+00_rb,0.77761e+00_rb,0.82356e+00_rb,0.85812e+00_rb, & & 0.87281e+00_rb,0.85602e+00_rb,0.79174e+00_rb,0.74394e+00_rb /) kao(:, 5,10,11) = (/ & & 0.61947e+00_rb,0.69759e+00_rb,0.77360e+00_rb,0.82013e+00_rb,0.85542e+00_rb, & & 0.87157e+00_rb,0.85709e+00_rb,0.79529e+00_rb,0.75052e+00_rb /) kao(:, 1,11,11) = (/ & & 0.57317e+00_rb,0.67082e+00_rb,0.73559e+00_rb,0.77934e+00_rb,0.81170e+00_rb, & & 0.82582e+00_rb,0.81431e+00_rb,0.75887e+00_rb,0.68710e+00_rb /) kao(:, 2,11,11) = (/ & & 0.56447e+00_rb,0.66437e+00_rb,0.73216e+00_rb,0.77740e+00_rb,0.81370e+00_rb, & & 0.83183e+00_rb,0.81926e+00_rb,0.76438e+00_rb,0.69316e+00_rb /) kao(:, 3,11,11) = (/ & & 0.55710e+00_rb,0.65798e+00_rb,0.72792e+00_rb,0.77609e+00_rb,0.81480e+00_rb, & & 0.83377e+00_rb,0.82304e+00_rb,0.76833e+00_rb,0.70018e+00_rb /) kao(:, 4,11,11) = (/ & & 0.55630e+00_rb,0.65257e+00_rb,0.72437e+00_rb,0.77329e+00_rb,0.81397e+00_rb, & & 0.83437e+00_rb,0.82566e+00_rb,0.77320e+00_rb,0.70886e+00_rb /) kao(:, 5,11,11) = (/ & & 0.56411e+00_rb,0.65194e+00_rb,0.72119e+00_rb,0.77017e+00_rb,0.81118e+00_rb, & & 0.83405e+00_rb,0.82785e+00_rb,0.77913e+00_rb,0.71658e+00_rb /) kao(:, 1,12,11) = (/ & & 0.50093e+00_rb,0.61265e+00_rb,0.68222e+00_rb,0.73081e+00_rb,0.76376e+00_rb, & & 0.78196e+00_rb,0.77611e+00_rb,0.73046e+00_rb,0.64374e+00_rb /) kao(:, 2,12,11) = (/ & & 0.49374e+00_rb,0.60693e+00_rb,0.67860e+00_rb,0.73087e+00_rb,0.76701e+00_rb, & & 0.78657e+00_rb,0.78196e+00_rb,0.73646e+00_rb,0.65183e+00_rb /) kao(:, 3,12,11) = (/ & & 0.49262e+00_rb,0.60232e+00_rb,0.67517e+00_rb,0.73017e+00_rb,0.76805e+00_rb, & & 0.78863e+00_rb,0.78651e+00_rb,0.74261e+00_rb,0.66205e+00_rb /) kao(:, 4,12,11) = (/ & & 0.49989e+00_rb,0.60234e+00_rb,0.67259e+00_rb,0.72790e+00_rb,0.76753e+00_rb, & & 0.79017e+00_rb,0.79054e+00_rb,0.75027e+00_rb,0.67174e+00_rb /) kao(:, 5,12,11) = (/ & & 0.51177e+00_rb,0.60963e+00_rb,0.67313e+00_rb,0.72489e+00_rb,0.76606e+00_rb, & & 0.79187e+00_rb,0.79524e+00_rb,0.75809e+00_rb,0.67955e+00_rb /) kao(:, 1,13,11) = (/ & & 0.43610e+00_rb,0.55280e+00_rb,0.62805e+00_rb,0.68236e+00_rb,0.71726e+00_rb, & & 0.73439e+00_rb,0.73316e+00_rb,0.69581e+00_rb,0.60098e+00_rb /) kao(:, 2,13,11) = (/ & & 0.43332e+00_rb,0.54879e+00_rb,0.62602e+00_rb,0.68387e+00_rb,0.71981e+00_rb, & & 0.73863e+00_rb,0.74004e+00_rb,0.70395e+00_rb,0.61188e+00_rb /) kao(:, 3,13,11) = (/ & & 0.43938e+00_rb,0.54819e+00_rb,0.62420e+00_rb,0.68392e+00_rb,0.72120e+00_rb, & & 0.74159e+00_rb,0.74634e+00_rb,0.71286e+00_rb,0.62343e+00_rb /) kao(:, 4,13,11) = (/ & & 0.44997e+00_rb,0.55515e+00_rb,0.62479e+00_rb,0.68255e+00_rb,0.72173e+00_rb, & & 0.74510e+00_rb,0.75297e+00_rb,0.72278e+00_rb,0.63265e+00_rb /) kao(:, 5,13,11) = (/ & & 0.46055e+00_rb,0.56787e+00_rb,0.63110e+00_rb,0.68248e+00_rb,0.72225e+00_rb, & & 0.74921e+00_rb,0.75987e+00_rb,0.73098e+00_rb,0.64026e+00_rb /) kao(:, 1, 1,12) = (/ & & 0.14171e+01_rb,0.12412e+01_rb,0.11453e+01_rb,0.11122e+01_rb,0.11253e+01_rb, & & 0.11573e+01_rb,0.11791e+01_rb,0.12973e+01_rb,0.14638e+01_rb /) kao(:, 2, 1,12) = (/ & & 0.14090e+01_rb,0.12342e+01_rb,0.11388e+01_rb,0.11095e+01_rb,0.11322e+01_rb, & & 0.11607e+01_rb,0.11781e+01_rb,0.12938e+01_rb,0.14611e+01_rb /) kao(:, 3, 1,12) = (/ & & 0.13994e+01_rb,0.12258e+01_rb,0.11299e+01_rb,0.11046e+01_rb,0.11339e+01_rb, & & 0.11641e+01_rb,0.11762e+01_rb,0.12907e+01_rb,0.14569e+01_rb /) kao(:, 4, 1,12) = (/ & & 0.13872e+01_rb,0.12151e+01_rb,0.11205e+01_rb,0.10983e+01_rb,0.11321e+01_rb, & & 0.11655e+01_rb,0.11746e+01_rb,0.12884e+01_rb,0.14537e+01_rb /) kao(:, 5, 1,12) = (/ & & 0.13737e+01_rb,0.12034e+01_rb,0.11101e+01_rb,0.10915e+01_rb,0.11280e+01_rb, & & 0.11664e+01_rb,0.11724e+01_rb,0.12834e+01_rb,0.14491e+01_rb /) kao(:, 1, 2,12) = (/ & & 0.15051e+01_rb,0.13181e+01_rb,0.12304e+01_rb,0.11719e+01_rb,0.11855e+01_rb, & & 0.12309e+01_rb,0.12496e+01_rb,0.13203e+01_rb,0.15049e+01_rb /) kao(:, 2, 2,12) = (/ & & 0.14984e+01_rb,0.13123e+01_rb,0.12250e+01_rb,0.11699e+01_rb,0.11925e+01_rb, & & 0.12340e+01_rb,0.12487e+01_rb,0.13193e+01_rb,0.15024e+01_rb /) kao(:, 3, 2,12) = (/ & & 0.14884e+01_rb,0.13036e+01_rb,0.12176e+01_rb,0.11665e+01_rb,0.11942e+01_rb, & & 0.12376e+01_rb,0.12478e+01_rb,0.13196e+01_rb,0.15020e+01_rb /) kao(:, 4, 2,12) = (/ & & 0.14762e+01_rb,0.12929e+01_rb,0.12082e+01_rb,0.11628e+01_rb,0.11911e+01_rb, & & 0.12406e+01_rb,0.12476e+01_rb,0.13168e+01_rb,0.15001e+01_rb /) kao(:, 5, 2,12) = (/ & & 0.14614e+01_rb,0.12800e+01_rb,0.11975e+01_rb,0.11575e+01_rb,0.11857e+01_rb, & & 0.12414e+01_rb,0.12460e+01_rb,0.13124e+01_rb,0.14945e+01_rb /) kao(:, 1, 3,12) = (/ & & 0.15822e+01_rb,0.13890e+01_rb,0.13182e+01_rb,0.12547e+01_rb,0.12476e+01_rb, & & 0.12873e+01_rb,0.13056e+01_rb,0.13300e+01_rb,0.15181e+01_rb /) kao(:, 2, 3,12) = (/ & & 0.15752e+01_rb,0.13826e+01_rb,0.13120e+01_rb,0.12557e+01_rb,0.12556e+01_rb, & & 0.12906e+01_rb,0.13067e+01_rb,0.13310e+01_rb,0.15193e+01_rb /) kao(:, 3, 3,12) = (/ & & 0.15647e+01_rb,0.13732e+01_rb,0.13046e+01_rb,0.12538e+01_rb,0.12575e+01_rb, & & 0.12941e+01_rb,0.13084e+01_rb,0.13307e+01_rb,0.15193e+01_rb /) kao(:, 4, 3,12) = (/ & & 0.15514e+01_rb,0.13616e+01_rb,0.12950e+01_rb,0.12500e+01_rb,0.12556e+01_rb, & & 0.12989e+01_rb,0.13088e+01_rb,0.13292e+01_rb,0.15174e+01_rb /) kao(:, 5, 3,12) = (/ & & 0.15358e+01_rb,0.13480e+01_rb,0.12843e+01_rb,0.12443e+01_rb,0.12517e+01_rb, & & 0.13009e+01_rb,0.13074e+01_rb,0.13265e+01_rb,0.15142e+01_rb /) kao(:, 1, 4,12) = (/ & & 0.16350e+01_rb,0.14490e+01_rb,0.13916e+01_rb,0.13443e+01_rb,0.13174e+01_rb, & & 0.13244e+01_rb,0.13476e+01_rb,0.13365e+01_rb,0.15180e+01_rb /) kao(:, 2, 4,12) = (/ & & 0.16281e+01_rb,0.14425e+01_rb,0.13866e+01_rb,0.13479e+01_rb,0.13260e+01_rb, & & 0.13268e+01_rb,0.13503e+01_rb,0.13390e+01_rb,0.15205e+01_rb /) kao(:, 3, 4,12) = (/ & & 0.16161e+01_rb,0.14310e+01_rb,0.13789e+01_rb,0.13476e+01_rb,0.13293e+01_rb, & & 0.13314e+01_rb,0.13532e+01_rb,0.13408e+01_rb,0.15220e+01_rb /) kao(:, 4, 4,12) = (/ & & 0.16014e+01_rb,0.14178e+01_rb,0.13691e+01_rb,0.13444e+01_rb,0.13282e+01_rb, & & 0.13379e+01_rb,0.13534e+01_rb,0.13410e+01_rb,0.15212e+01_rb /) kao(:, 5, 4,12) = (/ & & 0.15848e+01_rb,0.14026e+01_rb,0.13577e+01_rb,0.13378e+01_rb,0.13257e+01_rb, & & 0.13408e+01_rb,0.13534e+01_rb,0.13387e+01_rb,0.15183e+01_rb /) kao(:, 1, 5,12) = (/ & & 0.16591e+01_rb,0.14947e+01_rb,0.14480e+01_rb,0.14262e+01_rb,0.13903e+01_rb, & & 0.13587e+01_rb,0.13777e+01_rb,0.13491e+01_rb,0.15046e+01_rb /) kao(:, 2, 5,12) = (/ & & 0.16509e+01_rb,0.14862e+01_rb,0.14440e+01_rb,0.14316e+01_rb,0.13991e+01_rb, & & 0.13598e+01_rb,0.13805e+01_rb,0.13541e+01_rb,0.15083e+01_rb /) kao(:, 3, 5,12) = (/ & & 0.16386e+01_rb,0.14750e+01_rb,0.14364e+01_rb,0.14307e+01_rb,0.14045e+01_rb, & & 0.13655e+01_rb,0.13826e+01_rb,0.13579e+01_rb,0.15118e+01_rb /) kao(:, 4, 5,12) = (/ & & 0.16229e+01_rb,0.14605e+01_rb,0.14277e+01_rb,0.14269e+01_rb,0.14036e+01_rb, & & 0.13722e+01_rb,0.13840e+01_rb,0.13579e+01_rb,0.15115e+01_rb /) kao(:, 5, 5,12) = (/ & & 0.16043e+01_rb,0.14439e+01_rb,0.14169e+01_rb,0.14203e+01_rb,0.14024e+01_rb, & & 0.13765e+01_rb,0.13831e+01_rb,0.13575e+01_rb,0.15115e+01_rb /) kao(:, 1, 6,12) = (/ & & 0.16482e+01_rb,0.15147e+01_rb,0.14918e+01_rb,0.14883e+01_rb,0.14555e+01_rb, & & 0.14030e+01_rb,0.13913e+01_rb,0.13585e+01_rb,0.14685e+01_rb /) kao(:, 2, 6,12) = (/ & & 0.16385e+01_rb,0.15059e+01_rb,0.14880e+01_rb,0.14958e+01_rb,0.14629e+01_rb, & & 0.14056e+01_rb,0.13940e+01_rb,0.13659e+01_rb,0.14762e+01_rb /) kao(:, 3, 6,12) = (/ & & 0.16253e+01_rb,0.14941e+01_rb,0.14803e+01_rb,0.14965e+01_rb,0.14689e+01_rb, & & 0.14106e+01_rb,0.13970e+01_rb,0.13717e+01_rb,0.14817e+01_rb /) kao(:, 4, 6,12) = (/ & & 0.16089e+01_rb,0.14791e+01_rb,0.14713e+01_rb,0.14908e+01_rb,0.14702e+01_rb, & & 0.14165e+01_rb,0.13983e+01_rb,0.13748e+01_rb,0.14851e+01_rb /) kao(:, 5, 6,12) = (/ & & 0.15910e+01_rb,0.14633e+01_rb,0.14618e+01_rb,0.14838e+01_rb,0.14693e+01_rb, & & 0.14213e+01_rb,0.13976e+01_rb,0.13770e+01_rb,0.14876e+01_rb /) kao(:, 1, 7,12) = (/ & & 0.16064e+01_rb,0.15086e+01_rb,0.15144e+01_rb,0.15268e+01_rb,0.15040e+01_rb, & & 0.14507e+01_rb,0.13904e+01_rb,0.13521e+01_rb,0.14179e+01_rb /) kao(:, 2, 7,12) = (/ & & 0.15953e+01_rb,0.14985e+01_rb,0.15140e+01_rb,0.15345e+01_rb,0.15085e+01_rb, & & 0.14549e+01_rb,0.13952e+01_rb,0.13604e+01_rb,0.14259e+01_rb /) kao(:, 3, 7,12) = (/ & & 0.15801e+01_rb,0.14851e+01_rb,0.15073e+01_rb,0.15363e+01_rb,0.15134e+01_rb, & & 0.14598e+01_rb,0.13998e+01_rb,0.13678e+01_rb,0.14328e+01_rb /) kao(:, 4, 7,12) = (/ & & 0.15629e+01_rb,0.14703e+01_rb,0.14995e+01_rb,0.15318e+01_rb,0.15172e+01_rb, & & 0.14656e+01_rb,0.14020e+01_rb,0.13732e+01_rb,0.14388e+01_rb /) kao(:, 5, 7,12) = (/ & & 0.15443e+01_rb,0.14531e+01_rb,0.14892e+01_rb,0.15236e+01_rb,0.15169e+01_rb, & & 0.14692e+01_rb,0.14038e+01_rb,0.13766e+01_rb,0.14425e+01_rb /) kao(:, 1, 8,12) = (/ & & 0.15344e+01_rb,0.14766e+01_rb,0.15157e+01_rb,0.15423e+01_rb,0.15330e+01_rb, & & 0.14811e+01_rb,0.13889e+01_rb,0.13373e+01_rb,0.13698e+01_rb /) kao(:, 2, 8,12) = (/ & & 0.15222e+01_rb,0.14679e+01_rb,0.15175e+01_rb,0.15473e+01_rb,0.15363e+01_rb, & & 0.14872e+01_rb,0.13948e+01_rb,0.13442e+01_rb,0.13786e+01_rb /) kao(:, 3, 8,12) = (/ & & 0.15059e+01_rb,0.14533e+01_rb,0.15144e+01_rb,0.15489e+01_rb,0.15409e+01_rb, & & 0.14932e+01_rb,0.14005e+01_rb,0.13518e+01_rb,0.13861e+01_rb /) kao(:, 4, 8,12) = (/ & & 0.14877e+01_rb,0.14368e+01_rb,0.15058e+01_rb,0.15451e+01_rb,0.15445e+01_rb, & & 0.14989e+01_rb,0.14044e+01_rb,0.13574e+01_rb,0.13922e+01_rb /) kao(:, 5, 8,12) = (/ & & 0.14686e+01_rb,0.14200e+01_rb,0.14953e+01_rb,0.15388e+01_rb,0.15447e+01_rb, & & 0.15024e+01_rb,0.14082e+01_rb,0.13605e+01_rb,0.13964e+01_rb /) kao(:, 1, 9,12) = (/ & & 0.14373e+01_rb,0.14266e+01_rb,0.14938e+01_rb,0.15367e+01_rb,0.15341e+01_rb, & & 0.14871e+01_rb,0.13939e+01_rb,0.13173e+01_rb,0.13285e+01_rb /) kao(:, 2, 9,12) = (/ & & 0.14250e+01_rb,0.14168e+01_rb,0.14968e+01_rb,0.15390e+01_rb,0.15386e+01_rb, & & 0.14934e+01_rb,0.13987e+01_rb,0.13260e+01_rb,0.13388e+01_rb /) kao(:, 3, 9,12) = (/ & & 0.14085e+01_rb,0.14020e+01_rb,0.14946e+01_rb,0.15393e+01_rb,0.15430e+01_rb, & & 0.14996e+01_rb,0.14050e+01_rb,0.13340e+01_rb,0.13471e+01_rb /) kao(:, 4, 9,12) = (/ & & 0.13898e+01_rb,0.13862e+01_rb,0.14874e+01_rb,0.15365e+01_rb,0.15469e+01_rb, & & 0.15061e+01_rb,0.14095e+01_rb,0.13387e+01_rb,0.13529e+01_rb /) kao(:, 5, 9,12) = (/ & & 0.13711e+01_rb,0.13694e+01_rb,0.14772e+01_rb,0.15321e+01_rb,0.15481e+01_rb, & & 0.15103e+01_rb,0.14136e+01_rb,0.13413e+01_rb,0.13557e+01_rb /) kao(:, 1,10,12) = (/ & & 0.13234e+01_rb,0.13585e+01_rb,0.14531e+01_rb,0.15073e+01_rb,0.15094e+01_rb, & & 0.14728e+01_rb,0.13972e+01_rb,0.12936e+01_rb,0.12835e+01_rb /) kao(:, 2,10,12) = (/ & & 0.13109e+01_rb,0.13494e+01_rb,0.14540e+01_rb,0.15085e+01_rb,0.15139e+01_rb, & & 0.14784e+01_rb,0.14019e+01_rb,0.13047e+01_rb,0.12968e+01_rb /) kao(:, 3,10,12) = (/ & & 0.12956e+01_rb,0.13371e+01_rb,0.14504e+01_rb,0.15092e+01_rb,0.15192e+01_rb, & & 0.14835e+01_rb,0.14094e+01_rb,0.13136e+01_rb,0.13076e+01_rb /) kao(:, 4,10,12) = (/ & & 0.12784e+01_rb,0.13237e+01_rb,0.14435e+01_rb,0.15071e+01_rb,0.15234e+01_rb, & & 0.14905e+01_rb,0.14145e+01_rb,0.13190e+01_rb,0.13139e+01_rb /) kao(:, 5,10,12) = (/ & & 0.12607e+01_rb,0.13090e+01_rb,0.14344e+01_rb,0.15038e+01_rb,0.15261e+01_rb, & & 0.14956e+01_rb,0.14181e+01_rb,0.13210e+01_rb,0.13178e+01_rb /) kao(:, 1,11,12) = (/ & & 0.12047e+01_rb,0.12789e+01_rb,0.13923e+01_rb,0.14530e+01_rb,0.14659e+01_rb, & & 0.14483e+01_rb,0.13898e+01_rb,0.12749e+01_rb,0.12386e+01_rb /) kao(:, 2,11,12) = (/ & & 0.11911e+01_rb,0.12701e+01_rb,0.13902e+01_rb,0.14549e+01_rb,0.14710e+01_rb, & & 0.14517e+01_rb,0.13981e+01_rb,0.12874e+01_rb,0.12546e+01_rb /) kao(:, 3,11,12) = (/ & & 0.11768e+01_rb,0.12599e+01_rb,0.13852e+01_rb,0.14552e+01_rb,0.14760e+01_rb, & & 0.14581e+01_rb,0.14056e+01_rb,0.12968e+01_rb,0.12644e+01_rb /) kao(:, 4,11,12) = (/ & & 0.11609e+01_rb,0.12491e+01_rb,0.13785e+01_rb,0.14542e+01_rb,0.14794e+01_rb, & & 0.14643e+01_rb,0.14106e+01_rb,0.13015e+01_rb,0.12707e+01_rb /) kao(:, 5,11,12) = (/ & & 0.11453e+01_rb,0.12370e+01_rb,0.13722e+01_rb,0.14526e+01_rb,0.14820e+01_rb, & & 0.14680e+01_rb,0.14139e+01_rb,0.13041e+01_rb,0.12775e+01_rb /) kao(:, 1,12,12) = (/ & & 0.10892e+01_rb,0.11978e+01_rb,0.13175e+01_rb,0.13800e+01_rb,0.14113e+01_rb, & & 0.14104e+01_rb,0.13697e+01_rb,0.12563e+01_rb,0.11895e+01_rb /) kao(:, 2,12,12) = (/ & & 0.10764e+01_rb,0.11912e+01_rb,0.13142e+01_rb,0.13828e+01_rb,0.14151e+01_rb, & & 0.14161e+01_rb,0.13800e+01_rb,0.12704e+01_rb,0.12046e+01_rb /) kao(:, 3,12,12) = (/ & & 0.10634e+01_rb,0.11835e+01_rb,0.13099e+01_rb,0.13835e+01_rb,0.14196e+01_rb, & & 0.14241e+01_rb,0.13887e+01_rb,0.12786e+01_rb,0.12148e+01_rb /) kao(:, 4,12,12) = (/ & & 0.10495e+01_rb,0.11751e+01_rb,0.13057e+01_rb,0.13846e+01_rb,0.14230e+01_rb, & & 0.14300e+01_rb,0.13945e+01_rb,0.12836e+01_rb,0.12244e+01_rb /) kao(:, 5,12,12) = (/ & & 0.10406e+01_rb,0.11650e+01_rb,0.13011e+01_rb,0.13864e+01_rb,0.14254e+01_rb, & & 0.14322e+01_rb,0.13980e+01_rb,0.12878e+01_rb,0.12342e+01_rb /) kao(:, 1,13,12) = (/ & & 0.97671e+00_rb,0.11194e+01_rb,0.12352e+01_rb,0.13029e+01_rb,0.13468e+01_rb, & & 0.13623e+01_rb,0.13355e+01_rb,0.12363e+01_rb,0.11351e+01_rb /) kao(:, 2,13,12) = (/ & & 0.96514e+00_rb,0.11135e+01_rb,0.12326e+01_rb,0.13049e+01_rb,0.13523e+01_rb, & & 0.13721e+01_rb,0.13488e+01_rb,0.12496e+01_rb,0.11500e+01_rb /) kao(:, 3,13,12) = (/ & & 0.95350e+00_rb,0.11073e+01_rb,0.12308e+01_rb,0.13063e+01_rb,0.13575e+01_rb, & & 0.13815e+01_rb,0.13588e+01_rb,0.12584e+01_rb,0.11629e+01_rb /) kao(:, 4,13,12) = (/ & & 0.94648e+00_rb,0.11002e+01_rb,0.12294e+01_rb,0.13087e+01_rb,0.13617e+01_rb, & & 0.13873e+01_rb,0.13660e+01_rb,0.12653e+01_rb,0.11761e+01_rb /) kao(:, 5,13,12) = (/ & & 0.94953e+00_rb,0.10941e+01_rb,0.12277e+01_rb,0.13116e+01_rb,0.13645e+01_rb, & & 0.13901e+01_rb,0.13713e+01_rb,0.12717e+01_rb,0.11896e+01_rb /) kao(:, 1, 1,13) = (/ & & 0.21877e+01_rb,0.19168e+01_rb,0.16830e+01_rb,0.16306e+01_rb,0.15763e+01_rb, & & 0.15398e+01_rb,0.15859e+01_rb,0.18468e+01_rb,0.20593e+01_rb /) kao(:, 2, 1,13) = (/ & & 0.22022e+01_rb,0.19296e+01_rb,0.16916e+01_rb,0.16400e+01_rb,0.15796e+01_rb, & & 0.15432e+01_rb,0.15912e+01_rb,0.18534e+01_rb,0.20655e+01_rb /) kao(:, 3, 1,13) = (/ & & 0.22022e+01_rb,0.19297e+01_rb,0.16911e+01_rb,0.16436e+01_rb,0.15885e+01_rb, & & 0.15469e+01_rb,0.15941e+01_rb,0.18569e+01_rb,0.20695e+01_rb /) kao(:, 4, 1,13) = (/ & & 0.21895e+01_rb,0.19186e+01_rb,0.16803e+01_rb,0.16425e+01_rb,0.15962e+01_rb, & & 0.15525e+01_rb,0.15947e+01_rb,0.18575e+01_rb,0.20703e+01_rb /) kao(:, 5, 1,13) = (/ & & 0.21697e+01_rb,0.19013e+01_rb,0.16648e+01_rb,0.16344e+01_rb,0.16003e+01_rb, & & 0.15574e+01_rb,0.15941e+01_rb,0.18572e+01_rb,0.20709e+01_rb /) kao(:, 1, 2,13) = (/ & & 0.22550e+01_rb,0.19753e+01_rb,0.17734e+01_rb,0.17443e+01_rb,0.17102e+01_rb, & & 0.16986e+01_rb,0.17217e+01_rb,0.19863e+01_rb,0.22329e+01_rb /) kao(:, 2, 2,13) = (/ & & 0.22679e+01_rb,0.19867e+01_rb,0.17791e+01_rb,0.17520e+01_rb,0.17112e+01_rb, & & 0.17026e+01_rb,0.17283e+01_rb,0.19934e+01_rb,0.22409e+01_rb /) kao(:, 3, 2,13) = (/ & & 0.22698e+01_rb,0.19883e+01_rb,0.17767e+01_rb,0.17568e+01_rb,0.17174e+01_rb, & & 0.17053e+01_rb,0.17318e+01_rb,0.19966e+01_rb,0.22448e+01_rb /) kao(:, 4, 2,13) = (/ & & 0.22597e+01_rb,0.19796e+01_rb,0.17668e+01_rb,0.17548e+01_rb,0.17261e+01_rb, & & 0.17073e+01_rb,0.17314e+01_rb,0.19968e+01_rb,0.22451e+01_rb /) kao(:, 5, 2,13) = (/ & & 0.22409e+01_rb,0.19632e+01_rb,0.17511e+01_rb,0.17475e+01_rb,0.17318e+01_rb, & & 0.17099e+01_rb,0.17295e+01_rb,0.19947e+01_rb,0.22431e+01_rb /) kao(:, 1, 3,13) = (/ & & 0.23526e+01_rb,0.20603e+01_rb,0.18829e+01_rb,0.18493e+01_rb,0.18420e+01_rb, & & 0.18637e+01_rb,0.18729e+01_rb,0.21122e+01_rb,0.23977e+01_rb /) kao(:, 2, 3,13) = (/ & & 0.23692e+01_rb,0.20749e+01_rb,0.18925e+01_rb,0.18515e+01_rb,0.18400e+01_rb, & & 0.18683e+01_rb,0.18793e+01_rb,0.21211e+01_rb,0.24079e+01_rb /) kao(:, 3, 3,13) = (/ & & 0.23722e+01_rb,0.20775e+01_rb,0.18924e+01_rb,0.18562e+01_rb,0.18451e+01_rb, & & 0.18704e+01_rb,0.18820e+01_rb,0.21249e+01_rb,0.24125e+01_rb /) kao(:, 4, 3,13) = (/ & & 0.23635e+01_rb,0.20699e+01_rb,0.18842e+01_rb,0.18555e+01_rb,0.18524e+01_rb, & & 0.18695e+01_rb,0.18827e+01_rb,0.21252e+01_rb,0.24130e+01_rb /) kao(:, 5, 3,13) = (/ & & 0.23480e+01_rb,0.20564e+01_rb,0.18701e+01_rb,0.18499e+01_rb,0.18587e+01_rb, & & 0.18689e+01_rb,0.18824e+01_rb,0.21250e+01_rb,0.24123e+01_rb /) kao(:, 1, 4,13) = (/ & & 0.24939e+01_rb,0.21837e+01_rb,0.20232e+01_rb,0.19589e+01_rb,0.19737e+01_rb, & & 0.20251e+01_rb,0.20263e+01_rb,0.22145e+01_rb,0.25248e+01_rb /) kao(:, 2, 4,13) = (/ & & 0.25110e+01_rb,0.21986e+01_rb,0.20314e+01_rb,0.19589e+01_rb,0.19697e+01_rb, & & 0.20307e+01_rb,0.20352e+01_rb,0.22253e+01_rb,0.25374e+01_rb /) kao(:, 3, 4,13) = (/ & & 0.25161e+01_rb,0.22032e+01_rb,0.20346e+01_rb,0.19625e+01_rb,0.19727e+01_rb, & & 0.20334e+01_rb,0.20403e+01_rb,0.22301e+01_rb,0.25429e+01_rb /) kao(:, 4, 4,13) = (/ & & 0.25095e+01_rb,0.21974e+01_rb,0.20283e+01_rb,0.19657e+01_rb,0.19780e+01_rb, & & 0.20313e+01_rb,0.20420e+01_rb,0.22330e+01_rb,0.25458e+01_rb /) kao(:, 5, 4,13) = (/ & & 0.24957e+01_rb,0.21853e+01_rb,0.20162e+01_rb,0.19613e+01_rb,0.19825e+01_rb, & & 0.20289e+01_rb,0.20423e+01_rb,0.22370e+01_rb,0.25500e+01_rb /) kao(:, 1, 5,13) = (/ & & 0.26637e+01_rb,0.23330e+01_rb,0.21864e+01_rb,0.20904e+01_rb,0.21013e+01_rb, & & 0.21699e+01_rb,0.21691e+01_rb,0.22859e+01_rb,0.26102e+01_rb /) kao(:, 2, 5,13) = (/ & & 0.26795e+01_rb,0.23466e+01_rb,0.21930e+01_rb,0.20883e+01_rb,0.21007e+01_rb, & & 0.21775e+01_rb,0.21807e+01_rb,0.22957e+01_rb,0.26216e+01_rb /) kao(:, 3, 5,13) = (/ & & 0.26872e+01_rb,0.23531e+01_rb,0.22001e+01_rb,0.20926e+01_rb,0.21029e+01_rb, & & 0.21797e+01_rb,0.21879e+01_rb,0.23020e+01_rb,0.26289e+01_rb /) kao(:, 4, 5,13) = (/ & & 0.26803e+01_rb,0.23471e+01_rb,0.21948e+01_rb,0.20970e+01_rb,0.21069e+01_rb, & & 0.21770e+01_rb,0.21901e+01_rb,0.23087e+01_rb,0.26364e+01_rb /) kao(:, 5, 5,13) = (/ & & 0.26667e+01_rb,0.23351e+01_rb,0.21832e+01_rb,0.20959e+01_rb,0.21091e+01_rb, & & 0.21729e+01_rb,0.21936e+01_rb,0.23158e+01_rb,0.26444e+01_rb /) kao(:, 1, 6,13) = (/ & & 0.28246e+01_rb,0.24844e+01_rb,0.23554e+01_rb,0.22494e+01_rb,0.22325e+01_rb, & & 0.22877e+01_rb,0.22925e+01_rb,0.23319e+01_rb,0.26619e+01_rb /) kao(:, 2, 6,13) = (/ & & 0.28376e+01_rb,0.24941e+01_rb,0.23589e+01_rb,0.22458e+01_rb,0.22369e+01_rb, & & 0.22959e+01_rb,0.23048e+01_rb,0.23408e+01_rb,0.26720e+01_rb /) kao(:, 3, 6,13) = (/ & & 0.28468e+01_rb,0.25010e+01_rb,0.23646e+01_rb,0.22473e+01_rb,0.22379e+01_rb, & & 0.22992e+01_rb,0.23116e+01_rb,0.23486e+01_rb,0.26812e+01_rb /) kao(:, 4, 6,13) = (/ & & 0.28432e+01_rb,0.24967e+01_rb,0.23643e+01_rb,0.22531e+01_rb,0.22409e+01_rb, & & 0.22981e+01_rb,0.23157e+01_rb,0.23572e+01_rb,0.26911e+01_rb /) kao(:, 5, 6,13) = (/ & & 0.28266e+01_rb,0.24816e+01_rb,0.23521e+01_rb,0.22549e+01_rb,0.22433e+01_rb, & & 0.22953e+01_rb,0.23213e+01_rb,0.23655e+01_rb,0.27010e+01_rb /) kao(:, 1, 7,13) = (/ & & 0.29507e+01_rb,0.26186e+01_rb,0.25154e+01_rb,0.24214e+01_rb,0.23698e+01_rb, & & 0.23809e+01_rb,0.23936e+01_rb,0.23723e+01_rb,0.26904e+01_rb /) kao(:, 2, 7,13) = (/ & & 0.29579e+01_rb,0.26218e+01_rb,0.25131e+01_rb,0.24179e+01_rb,0.23791e+01_rb, & & 0.23895e+01_rb,0.24036e+01_rb,0.23830e+01_rb,0.27026e+01_rb /) kao(:, 3, 7,13) = (/ & & 0.29645e+01_rb,0.26250e+01_rb,0.25156e+01_rb,0.24180e+01_rb,0.23828e+01_rb, & & 0.23929e+01_rb,0.24104e+01_rb,0.23923e+01_rb,0.27131e+01_rb /) kao(:, 4, 7,13) = (/ & & 0.29630e+01_rb,0.26222e+01_rb,0.25142e+01_rb,0.24231e+01_rb,0.23851e+01_rb, & & 0.23923e+01_rb,0.24170e+01_rb,0.24017e+01_rb,0.27241e+01_rb /) kao(:, 5, 7,13) = (/ & & 0.29476e+01_rb,0.26071e+01_rb,0.25053e+01_rb,0.24267e+01_rb,0.23855e+01_rb, & & 0.23922e+01_rb,0.24228e+01_rb,0.24116e+01_rb,0.27361e+01_rb /) kao(:, 1, 8,13) = (/ & & 0.30283e+01_rb,0.27271e+01_rb,0.26499e+01_rb,0.25812e+01_rb,0.25068e+01_rb, & & 0.24674e+01_rb,0.24700e+01_rb,0.24088e+01_rb,0.26873e+01_rb /) kao(:, 2, 8,13) = (/ & & 0.30302e+01_rb,0.27229e+01_rb,0.26429e+01_rb,0.25805e+01_rb,0.25199e+01_rb, & & 0.24758e+01_rb,0.24797e+01_rb,0.24223e+01_rb,0.27017e+01_rb /) kao(:, 3, 8,13) = (/ & & 0.30313e+01_rb,0.27198e+01_rb,0.26386e+01_rb,0.25814e+01_rb,0.25257e+01_rb, & & 0.24788e+01_rb,0.24874e+01_rb,0.24335e+01_rb,0.27156e+01_rb /) kao(:, 4, 8,13) = (/ & & 0.30296e+01_rb,0.27153e+01_rb,0.26358e+01_rb,0.25865e+01_rb,0.25285e+01_rb, & & 0.24798e+01_rb,0.24941e+01_rb,0.24451e+01_rb,0.27296e+01_rb /) kao(:, 5, 8,13) = (/ & & 0.30139e+01_rb,0.26994e+01_rb,0.26290e+01_rb,0.25893e+01_rb,0.25296e+01_rb, & & 0.24809e+01_rb,0.25004e+01_rb,0.24568e+01_rb,0.27436e+01_rb /) kao(:, 1, 9,13) = (/ & & 0.30493e+01_rb,0.27941e+01_rb,0.27550e+01_rb,0.27119e+01_rb,0.26405e+01_rb, & & 0.25561e+01_rb,0.25144e+01_rb,0.24302e+01_rb,0.26456e+01_rb /) kao(:, 2, 9,13) = (/ & & 0.30457e+01_rb,0.27865e+01_rb,0.27445e+01_rb,0.27145e+01_rb,0.26540e+01_rb, & & 0.25649e+01_rb,0.25264e+01_rb,0.24468e+01_rb,0.26636e+01_rb /) kao(:, 3, 9,13) = (/ & & 0.30433e+01_rb,0.27809e+01_rb,0.27367e+01_rb,0.27179e+01_rb,0.26606e+01_rb, & & 0.25683e+01_rb,0.25354e+01_rb,0.24613e+01_rb,0.26815e+01_rb /) kao(:, 4, 9,13) = (/ & & 0.30389e+01_rb,0.27734e+01_rb,0.27309e+01_rb,0.27229e+01_rb,0.26627e+01_rb, & & 0.25715e+01_rb,0.25441e+01_rb,0.24765e+01_rb,0.27005e+01_rb /) kao(:, 5, 9,13) = (/ & & 0.30246e+01_rb,0.27583e+01_rb,0.27239e+01_rb,0.27244e+01_rb,0.26642e+01_rb, & & 0.25740e+01_rb,0.25518e+01_rb,0.24921e+01_rb,0.27199e+01_rb /) kao(:, 1,10,13) = (/ & & 0.30121e+01_rb,0.28154e+01_rb,0.28201e+01_rb,0.28057e+01_rb,0.27531e+01_rb, & & 0.26438e+01_rb,0.25360e+01_rb,0.24395e+01_rb,0.25814e+01_rb /) kao(:, 2,10,13) = (/ & & 0.30058e+01_rb,0.28055e+01_rb,0.28091e+01_rb,0.28117e+01_rb,0.27659e+01_rb, & & 0.26536e+01_rb,0.25505e+01_rb,0.24578e+01_rb,0.26020e+01_rb /) kao(:, 3,10,13) = (/ & & 0.29984e+01_rb,0.27957e+01_rb,0.28033e+01_rb,0.28172e+01_rb,0.27717e+01_rb, & & 0.26597e+01_rb,0.25631e+01_rb,0.24765e+01_rb,0.26239e+01_rb /) kao(:, 4,10,13) = (/ & & 0.29909e+01_rb,0.27859e+01_rb,0.27980e+01_rb,0.28231e+01_rb,0.27737e+01_rb, & & 0.26641e+01_rb,0.25752e+01_rb,0.24953e+01_rb,0.26473e+01_rb /) kao(:, 5,10,13) = (/ & & 0.29757e+01_rb,0.27703e+01_rb,0.27906e+01_rb,0.28248e+01_rb,0.27751e+01_rb, & & 0.26687e+01_rb,0.25862e+01_rb,0.25141e+01_rb,0.26704e+01_rb /) kao(:, 1,11,13) = (/ & & 0.29105e+01_rb,0.27849e+01_rb,0.28418e+01_rb,0.28641e+01_rb,0.28368e+01_rb, & & 0.27205e+01_rb,0.25555e+01_rb,0.24401e+01_rb,0.25196e+01_rb /) kao(:, 2,11,13) = (/ & & 0.29013e+01_rb,0.27742e+01_rb,0.28363e+01_rb,0.28719e+01_rb,0.28460e+01_rb, & & 0.27321e+01_rb,0.25730e+01_rb,0.24607e+01_rb,0.25412e+01_rb /) kao(:, 3,11,13) = (/ & & 0.28911e+01_rb,0.27633e+01_rb,0.28321e+01_rb,0.28799e+01_rb,0.28506e+01_rb, & & 0.27417e+01_rb,0.25892e+01_rb,0.24813e+01_rb,0.25665e+01_rb /) kao(:, 4,11,13) = (/ & & 0.28805e+01_rb,0.27495e+01_rb,0.28275e+01_rb,0.28852e+01_rb,0.28551e+01_rb, & & 0.27503e+01_rb,0.26048e+01_rb,0.25023e+01_rb,0.25905e+01_rb /) kao(:, 5,11,13) = (/ & & 0.28607e+01_rb,0.27299e+01_rb,0.28179e+01_rb,0.28868e+01_rb,0.28597e+01_rb, & & 0.27578e+01_rb,0.26198e+01_rb,0.25207e+01_rb,0.26120e+01_rb /) kao(:, 1,12,13) = (/ & & 0.27583e+01_rb,0.27145e+01_rb,0.28231e+01_rb,0.28871e+01_rb,0.28764e+01_rb, & & 0.27674e+01_rb,0.25743e+01_rb,0.24278e+01_rb,0.24570e+01_rb /) kao(:, 2,12,13) = (/ & & 0.27477e+01_rb,0.27023e+01_rb,0.28226e+01_rb,0.28962e+01_rb,0.28884e+01_rb, & & 0.27832e+01_rb,0.25939e+01_rb,0.24483e+01_rb,0.24817e+01_rb /) kao(:, 3,12,13) = (/ & & 0.27363e+01_rb,0.26890e+01_rb,0.28229e+01_rb,0.29041e+01_rb,0.28966e+01_rb, & & 0.27972e+01_rb,0.26117e+01_rb,0.24706e+01_rb,0.25053e+01_rb /) kao(:, 4,12,13) = (/ & & 0.27215e+01_rb,0.26719e+01_rb,0.28199e+01_rb,0.29098e+01_rb,0.29044e+01_rb, & & 0.28097e+01_rb,0.26305e+01_rb,0.24926e+01_rb,0.25297e+01_rb /) kao(:, 5,12,13) = (/ & & 0.27019e+01_rb,0.26521e+01_rb,0.28123e+01_rb,0.29106e+01_rb,0.29127e+01_rb, & & 0.28234e+01_rb,0.26485e+01_rb,0.25112e+01_rb,0.25512e+01_rb /) kao(:, 1,13,13) = (/ & & 0.25703e+01_rb,0.26073e+01_rb,0.27736e+01_rb,0.28686e+01_rb,0.28762e+01_rb, & & 0.27819e+01_rb,0.25967e+01_rb,0.24069e+01_rb,0.23967e+01_rb /) kao(:, 2,13,13) = (/ & & 0.25597e+01_rb,0.25968e+01_rb,0.27777e+01_rb,0.28810e+01_rb,0.28904e+01_rb, & & 0.28011e+01_rb,0.26158e+01_rb,0.24298e+01_rb,0.24224e+01_rb /) kao(:, 3,13,13) = (/ & & 0.25492e+01_rb,0.25857e+01_rb,0.27800e+01_rb,0.28929e+01_rb,0.29040e+01_rb, & & 0.28202e+01_rb,0.26351e+01_rb,0.24527e+01_rb,0.24494e+01_rb /) kao(:, 4,13,13) = (/ & & 0.25336e+01_rb,0.25705e+01_rb,0.27801e+01_rb,0.29008e+01_rb,0.29182e+01_rb, & & 0.28403e+01_rb,0.26542e+01_rb,0.24758e+01_rb,0.24745e+01_rb /) kao(:, 5,13,13) = (/ & & 0.25174e+01_rb,0.25538e+01_rb,0.27760e+01_rb,0.29061e+01_rb,0.29321e+01_rb, & & 0.28592e+01_rb,0.26728e+01_rb,0.24954e+01_rb,0.24962e+01_rb /) kao(:, 1, 1,14) = (/ & & 0.34915e+01_rb,0.30588e+01_rb,0.26262e+01_rb,0.23144e+01_rb,0.22122e+01_rb, & & 0.21892e+01_rb,0.25558e+01_rb,0.29818e+01_rb,0.32991e+01_rb /) kao(:, 2, 1,14) = (/ & & 0.35009e+01_rb,0.30672e+01_rb,0.26335e+01_rb,0.23059e+01_rb,0.22071e+01_rb, & & 0.21796e+01_rb,0.25444e+01_rb,0.29683e+01_rb,0.32820e+01_rb /) kao(:, 3, 1,14) = (/ & & 0.35192e+01_rb,0.30832e+01_rb,0.26472e+01_rb,0.23037e+01_rb,0.22014e+01_rb, & & 0.21706e+01_rb,0.25342e+01_rb,0.29565e+01_rb,0.32692e+01_rb /) kao(:, 4, 1,14) = (/ & & 0.35462e+01_rb,0.31069e+01_rb,0.26676e+01_rb,0.23054e+01_rb,0.21967e+01_rb, & & 0.21619e+01_rb,0.25265e+01_rb,0.29475e+01_rb,0.32591e+01_rb /) kao(:, 5, 1,14) = (/ & & 0.35714e+01_rb,0.31290e+01_rb,0.26866e+01_rb,0.23141e+01_rb,0.21952e+01_rb, & & 0.21552e+01_rb,0.25228e+01_rb,0.29432e+01_rb,0.32501e+01_rb /) kao(:, 1, 2,14) = (/ & & 0.38742e+01_rb,0.33939e+01_rb,0.29135e+01_rb,0.26368e+01_rb,0.25318e+01_rb, & & 0.24566e+01_rb,0.27984e+01_rb,0.32648e+01_rb,0.36583e+01_rb /) kao(:, 2, 2,14) = (/ & & 0.38780e+01_rb,0.33972e+01_rb,0.29165e+01_rb,0.26245e+01_rb,0.25266e+01_rb, & & 0.24447e+01_rb,0.27836e+01_rb,0.32475e+01_rb,0.36397e+01_rb /) kao(:, 3, 2,14) = (/ & & 0.38887e+01_rb,0.34066e+01_rb,0.29246e+01_rb,0.26139e+01_rb,0.25181e+01_rb, & & 0.24355e+01_rb,0.27726e+01_rb,0.32346e+01_rb,0.36242e+01_rb /) kao(:, 4, 2,14) = (/ & & 0.39063e+01_rb,0.34220e+01_rb,0.29378e+01_rb,0.26094e+01_rb,0.25085e+01_rb, & & 0.24291e+01_rb,0.27676e+01_rb,0.32288e+01_rb,0.36150e+01_rb /) kao(:, 5, 2,14) = (/ & & 0.39241e+01_rb,0.34376e+01_rb,0.29511e+01_rb,0.26073e+01_rb,0.25021e+01_rb, & & 0.24243e+01_rb,0.27677e+01_rb,0.32289e+01_rb,0.36134e+01_rb /) kao(:, 1, 3,14) = (/ & & 0.42487e+01_rb,0.37216e+01_rb,0.32039e+01_rb,0.29799e+01_rb,0.28758e+01_rb, & & 0.27551e+01_rb,0.30498e+01_rb,0.35581e+01_rb,0.40304e+01_rb /) kao(:, 2, 3,14) = (/ & & 0.42439e+01_rb,0.37174e+01_rb,0.31977e+01_rb,0.29675e+01_rb,0.28698e+01_rb, & & 0.27440e+01_rb,0.30347e+01_rb,0.35405e+01_rb,0.40101e+01_rb /) kao(:, 3, 3,14) = (/ & & 0.42511e+01_rb,0.37238e+01_rb,0.32007e+01_rb,0.29528e+01_rb,0.28598e+01_rb, & & 0.27364e+01_rb,0.30269e+01_rb,0.35313e+01_rb,0.39978e+01_rb /) kao(:, 4, 3,14) = (/ & & 0.42624e+01_rb,0.37337e+01_rb,0.32078e+01_rb,0.29428e+01_rb,0.28469e+01_rb, & & 0.27311e+01_rb,0.30242e+01_rb,0.35281e+01_rb,0.39928e+01_rb /) kao(:, 5, 3,14) = (/ & & 0.42720e+01_rb,0.37420e+01_rb,0.32138e+01_rb,0.29343e+01_rb,0.28324e+01_rb, & & 0.27276e+01_rb,0.30224e+01_rb,0.35261e+01_rb,0.39910e+01_rb /) kao(:, 1, 4,14) = (/ & & 0.45954e+01_rb,0.40249e+01_rb,0.35022e+01_rb,0.33403e+01_rb,0.32328e+01_rb, & & 0.30833e+01_rb,0.33112e+01_rb,0.38621e+01_rb,0.43957e+01_rb /) kao(:, 2, 4,14) = (/ & & 0.45847e+01_rb,0.40157e+01_rb,0.34904e+01_rb,0.33265e+01_rb,0.32256e+01_rb, & & 0.30748e+01_rb,0.32975e+01_rb,0.38466e+01_rb,0.43773e+01_rb /) kao(:, 3, 4,14) = (/ & & 0.45864e+01_rb,0.40172e+01_rb,0.34822e+01_rb,0.33081e+01_rb,0.32132e+01_rb, & & 0.30693e+01_rb,0.32915e+01_rb,0.38399e+01_rb,0.43696e+01_rb /) kao(:, 4, 4,14) = (/ & & 0.45919e+01_rb,0.40220e+01_rb,0.34808e+01_rb,0.32873e+01_rb,0.31989e+01_rb, & & 0.30656e+01_rb,0.32892e+01_rb,0.38374e+01_rb,0.43666e+01_rb /) kao(:, 5, 4,14) = (/ & & 0.45961e+01_rb,0.40254e+01_rb,0.34809e+01_rb,0.32746e+01_rb,0.31817e+01_rb, & & 0.30639e+01_rb,0.32889e+01_rb,0.38370e+01_rb,0.43660e+01_rb /) kao(:, 1, 5,14) = (/ & & 0.49114e+01_rb,0.43012e+01_rb,0.38001e+01_rb,0.37007e+01_rb,0.36023e+01_rb, & & 0.34476e+01_rb,0.35973e+01_rb,0.41814e+01_rb,0.47692e+01_rb /) kao(:, 2, 5,14) = (/ & & 0.49023e+01_rb,0.42934e+01_rb,0.37862e+01_rb,0.36850e+01_rb,0.35912e+01_rb, & & 0.34412e+01_rb,0.35890e+01_rb,0.41727e+01_rb,0.47592e+01_rb /) kao(:, 3, 5,14) = (/ & & 0.48929e+01_rb,0.42852e+01_rb,0.37666e+01_rb,0.36647e+01_rb,0.35739e+01_rb, & & 0.34368e+01_rb,0.35843e+01_rb,0.41678e+01_rb,0.47530e+01_rb /) kao(:, 4, 5,14) = (/ & & 0.48957e+01_rb,0.42875e+01_rb,0.37577e+01_rb,0.36399e+01_rb,0.35570e+01_rb, & & 0.34352e+01_rb,0.35822e+01_rb,0.41658e+01_rb,0.47507e+01_rb /) kao(:, 5, 5,14) = (/ & & 0.48955e+01_rb,0.42870e+01_rb,0.37502e+01_rb,0.36181e+01_rb,0.35379e+01_rb, & & 0.34333e+01_rb,0.35807e+01_rb,0.41639e+01_rb,0.47483e+01_rb /) kao(:, 1, 6,14) = (/ & & 0.52336e+01_rb,0.45828e+01_rb,0.41059e+01_rb,0.40455e+01_rb,0.39709e+01_rb, & & 0.38438e+01_rb,0.39195e+01_rb,0.45101e+01_rb,0.51488e+01_rb /) kao(:, 2, 6,14) = (/ & & 0.52264e+01_rb,0.45766e+01_rb,0.40903e+01_rb,0.40272e+01_rb,0.39556e+01_rb, & & 0.38368e+01_rb,0.39154e+01_rb,0.45074e+01_rb,0.51460e+01_rb /) kao(:, 3, 6,14) = (/ & & 0.52116e+01_rb,0.45637e+01_rb,0.40682e+01_rb,0.40069e+01_rb,0.39387e+01_rb, & & 0.38311e+01_rb,0.39117e+01_rb,0.45034e+01_rb,0.51413e+01_rb /) kao(:, 4, 6,14) = (/ & & 0.52061e+01_rb,0.45585e+01_rb,0.40484e+01_rb,0.39793e+01_rb,0.39195e+01_rb, & & 0.38275e+01_rb,0.39110e+01_rb,0.45018e+01_rb,0.51396e+01_rb /) kao(:, 5, 6,14) = (/ & & 0.52033e+01_rb,0.45559e+01_rb,0.40356e+01_rb,0.39520e+01_rb,0.38983e+01_rb, & & 0.38238e+01_rb,0.39105e+01_rb,0.45008e+01_rb,0.51385e+01_rb /) kao(:, 1, 7,14) = (/ & & 0.55789e+01_rb,0.48845e+01_rb,0.44392e+01_rb,0.43787e+01_rb,0.43341e+01_rb, & & 0.42496e+01_rb,0.42580e+01_rb,0.48177e+01_rb,0.55034e+01_rb /) kao(:, 2, 7,14) = (/ & & 0.55750e+01_rb,0.48811e+01_rb,0.44216e+01_rb,0.43602e+01_rb,0.43147e+01_rb, & & 0.42460e+01_rb,0.42594e+01_rb,0.48202e+01_rb,0.55064e+01_rb /) kao(:, 3, 7,14) = (/ & & 0.55641e+01_rb,0.48716e+01_rb,0.43996e+01_rb,0.43387e+01_rb,0.42975e+01_rb, & & 0.42414e+01_rb,0.42613e+01_rb,0.48234e+01_rb,0.55098e+01_rb /) kao(:, 4, 7,14) = (/ & & 0.55497e+01_rb,0.48588e+01_rb,0.43740e+01_rb,0.43098e+01_rb,0.42767e+01_rb, & & 0.42365e+01_rb,0.42657e+01_rb,0.48283e+01_rb,0.55153e+01_rb /) kao(:, 5, 7,14) = (/ & & 0.55426e+01_rb,0.48524e+01_rb,0.43530e+01_rb,0.42800e+01_rb,0.42577e+01_rb, & & 0.42309e+01_rb,0.42668e+01_rb,0.48295e+01_rb,0.55168e+01_rb /) kao(:, 1, 8,14) = (/ & & 0.59399e+01_rb,0.51999e+01_rb,0.48042e+01_rb,0.47185e+01_rb,0.46865e+01_rb, & & 0.46496e+01_rb,0.46000e+01_rb,0.50897e+01_rb,0.58161e+01_rb /) kao(:, 2, 8,14) = (/ & & 0.59397e+01_rb,0.51999e+01_rb,0.47874e+01_rb,0.46998e+01_rb,0.46665e+01_rb, & & 0.46493e+01_rb,0.46097e+01_rb,0.50997e+01_rb,0.58275e+01_rb /) kao(:, 3, 8,14) = (/ & & 0.59349e+01_rb,0.51955e+01_rb,0.47656e+01_rb,0.46767e+01_rb,0.46485e+01_rb, & & 0.46473e+01_rb,0.46203e+01_rb,0.51120e+01_rb,0.58414e+01_rb /) kao(:, 4, 8,14) = (/ & & 0.59186e+01_rb,0.51811e+01_rb,0.47381e+01_rb,0.46470e+01_rb,0.46283e+01_rb, & & 0.46432e+01_rb,0.46335e+01_rb,0.51262e+01_rb,0.58574e+01_rb /) kao(:, 5, 8,14) = (/ & & 0.59097e+01_rb,0.51733e+01_rb,0.47110e+01_rb,0.46158e+01_rb,0.46095e+01_rb, & & 0.46379e+01_rb,0.46369e+01_rb,0.51321e+01_rb,0.58644e+01_rb /) kao(:, 1, 9,14) = (/ & & 0.63127e+01_rb,0.55322e+01_rb,0.51834e+01_rb,0.50691e+01_rb,0.50247e+01_rb, & & 0.50209e+01_rb,0.49367e+01_rb,0.53236e+01_rb,0.60842e+01_rb /) kao(:, 2, 9,14) = (/ & & 0.63183e+01_rb,0.55346e+01_rb,0.51727e+01_rb,0.50532e+01_rb,0.50080e+01_rb, & & 0.50274e+01_rb,0.49592e+01_rb,0.53436e+01_rb,0.61069e+01_rb /) kao(:, 3, 9,14) = (/ & & 0.63124e+01_rb,0.55272e+01_rb,0.51546e+01_rb,0.50297e+01_rb,0.49909e+01_rb, & & 0.50310e+01_rb,0.49812e+01_rb,0.53668e+01_rb,0.61332e+01_rb /) kao(:, 4, 9,14) = (/ & & 0.63001e+01_rb,0.55154e+01_rb,0.51286e+01_rb,0.50009e+01_rb,0.49750e+01_rb, & & 0.50299e+01_rb,0.49995e+01_rb,0.53888e+01_rb,0.61587e+01_rb /) kao(:, 5, 9,14) = (/ & & 0.62858e+01_rb,0.55023e+01_rb,0.50977e+01_rb,0.49708e+01_rb,0.49573e+01_rb, & & 0.50270e+01_rb,0.50058e+01_rb,0.53988e+01_rb,0.61697e+01_rb /) kao(:, 1,10,14) = (/ & & 0.66894e+01_rb,0.58832e+01_rb,0.55701e+01_rb,0.54237e+01_rb,0.53594e+01_rb, & & 0.53556e+01_rb,0.52686e+01_rb,0.55192e+01_rb,0.63037e+01_rb /) kao(:, 2,10,14) = (/ & & 0.66981e+01_rb,0.58851e+01_rb,0.55643e+01_rb,0.54120e+01_rb,0.53500e+01_rb, & & 0.53705e+01_rb,0.53019e+01_rb,0.55500e+01_rb,0.63389e+01_rb /) kao(:, 3,10,14) = (/ & & 0.66967e+01_rb,0.58795e+01_rb,0.55464e+01_rb,0.53921e+01_rb,0.53372e+01_rb, & & 0.53796e+01_rb,0.53288e+01_rb,0.55798e+01_rb,0.63734e+01_rb /) kao(:, 4,10,14) = (/ & & 0.66854e+01_rb,0.58646e+01_rb,0.55228e+01_rb,0.53676e+01_rb,0.53254e+01_rb, & & 0.53837e+01_rb,0.53529e+01_rb,0.56104e+01_rb,0.64086e+01_rb /) kao(:, 5,10,14) = (/ & & 0.66717e+01_rb,0.58486e+01_rb,0.54914e+01_rb,0.53392e+01_rb,0.53082e+01_rb, & & 0.53849e+01_rb,0.53627e+01_rb,0.56270e+01_rb,0.64281e+01_rb /) kao(:, 1,11,14) = (/ & & 0.70715e+01_rb,0.62495e+01_rb,0.59582e+01_rb,0.57869e+01_rb,0.56930e+01_rb, & & 0.56655e+01_rb,0.56036e+01_rb,0.57057e+01_rb,0.64838e+01_rb /) kao(:, 2,11,14) = (/ & & 0.70771e+01_rb,0.62459e+01_rb,0.59461e+01_rb,0.57734e+01_rb,0.56903e+01_rb, & & 0.56860e+01_rb,0.56380e+01_rb,0.57455e+01_rb,0.65310e+01_rb /) kao(:, 3,11,14) = (/ & & 0.70723e+01_rb,0.62337e+01_rb,0.59291e+01_rb,0.57507e+01_rb,0.56859e+01_rb, & & 0.56988e+01_rb,0.56691e+01_rb,0.57882e+01_rb,0.65837e+01_rb /) kao(:, 4,11,14) = (/ & & 0.70579e+01_rb,0.62141e+01_rb,0.59017e+01_rb,0.57243e+01_rb,0.56747e+01_rb, & & 0.57061e+01_rb,0.56917e+01_rb,0.58206e+01_rb,0.66248e+01_rb /) kao(:, 5,11,14) = (/ & & 0.70436e+01_rb,0.61942e+01_rb,0.58711e+01_rb,0.56953e+01_rb,0.56563e+01_rb, & & 0.57095e+01_rb,0.57007e+01_rb,0.58439e+01_rb,0.66547e+01_rb /) kao(:, 1,12,14) = (/ & & 0.73996e+01_rb,0.65875e+01_rb,0.63444e+01_rb,0.61468e+01_rb,0.60255e+01_rb, & & 0.59627e+01_rb,0.59009e+01_rb,0.58767e+01_rb,0.66113e+01_rb /) kao(:, 2,12,14) = (/ & & 0.74059e+01_rb,0.65818e+01_rb,0.63297e+01_rb,0.61319e+01_rb,0.60289e+01_rb, & & 0.59857e+01_rb,0.59393e+01_rb,0.59291e+01_rb,0.66795e+01_rb /) kao(:, 3,12,14) = (/ & & 0.73985e+01_rb,0.65639e+01_rb,0.63058e+01_rb,0.61104e+01_rb,0.60278e+01_rb, & & 0.60017e+01_rb,0.59765e+01_rb,0.59805e+01_rb,0.67466e+01_rb /) kao(:, 4,12,14) = (/ & & 0.73888e+01_rb,0.65439e+01_rb,0.62733e+01_rb,0.60850e+01_rb,0.60189e+01_rb, & & 0.60123e+01_rb,0.59968e+01_rb,0.60157e+01_rb,0.67935e+01_rb /) kao(:, 5,12,14) = (/ & & 0.73717e+01_rb,0.65185e+01_rb,0.62375e+01_rb,0.60536e+01_rb,0.59983e+01_rb, & & 0.60180e+01_rb,0.60067e+01_rb,0.60456e+01_rb,0.68365e+01_rb /) kao(:, 1,13,14) = (/ & & 0.76469e+01_rb,0.68731e+01_rb,0.66871e+01_rb,0.64997e+01_rb,0.63502e+01_rb, & & 0.62466e+01_rb,0.61469e+01_rb,0.60253e+01_rb,0.66908e+01_rb /) kao(:, 2,13,14) = (/ & & 0.76513e+01_rb,0.68603e+01_rb,0.66717e+01_rb,0.64853e+01_rb,0.63628e+01_rb, & & 0.62754e+01_rb,0.61942e+01_rb,0.60911e+01_rb,0.67781e+01_rb /) kao(:, 3,13,14) = (/ & & 0.76480e+01_rb,0.68404e+01_rb,0.66430e+01_rb,0.64664e+01_rb,0.63629e+01_rb, & & 0.62938e+01_rb,0.62370e+01_rb,0.61432e+01_rb,0.68460e+01_rb /) kao(:, 4,13,14) = (/ & & 0.76417e+01_rb,0.68180e+01_rb,0.66082e+01_rb,0.64389e+01_rb,0.63512e+01_rb, & & 0.63082e+01_rb,0.62633e+01_rb,0.61842e+01_rb,0.69071e+01_rb /) kao(:, 5,13,14) = (/ & & 0.76283e+01_rb,0.67918e+01_rb,0.65683e+01_rb,0.64071e+01_rb,0.63329e+01_rb, & & 0.63131e+01_rb,0.62779e+01_rb,0.62184e+01_rb,0.69616e+01_rb /) kao(:, 1, 1,15) = (/ & & 0.48056e+01_rb,0.42094e+01_rb,0.36132e+01_rb,0.30171e+01_rb,0.28404e+01_rb, & & 0.34490e+01_rb,0.41388e+01_rb,0.48284e+01_rb,0.52314e+01_rb /) kao(:, 2, 1,15) = (/ & & 0.48171e+01_rb,0.42194e+01_rb,0.36219e+01_rb,0.30243e+01_rb,0.28141e+01_rb, & & 0.34073e+01_rb,0.40887e+01_rb,0.47701e+01_rb,0.51637e+01_rb /) kao(:, 3, 1,15) = (/ & & 0.48231e+01_rb,0.42245e+01_rb,0.36259e+01_rb,0.30275e+01_rb,0.27871e+01_rb, & & 0.33709e+01_rb,0.40450e+01_rb,0.47190e+01_rb,0.51029e+01_rb /) kao(:, 4, 1,15) = (/ & & 0.48223e+01_rb,0.42236e+01_rb,0.36250e+01_rb,0.30265e+01_rb,0.27616e+01_rb, & & 0.33346e+01_rb,0.40014e+01_rb,0.46682e+01_rb,0.50473e+01_rb /) kao(:, 5, 1,15) = (/ & & 0.48164e+01_rb,0.42183e+01_rb,0.36202e+01_rb,0.30224e+01_rb,0.27378e+01_rb, & & 0.32980e+01_rb,0.39575e+01_rb,0.46170e+01_rb,0.49922e+01_rb /) kao(:, 1, 2,15) = (/ & & 0.56696e+01_rb,0.49649e+01_rb,0.42601e+01_rb,0.35603e+01_rb,0.33660e+01_rb, & & 0.40230e+01_rb,0.48275e+01_rb,0.56320e+01_rb,0.62204e+01_rb /) kao(:, 2, 2,15) = (/ & & 0.56853e+01_rb,0.49788e+01_rb,0.42721e+01_rb,0.35690e+01_rb,0.33370e+01_rb, & & 0.39815e+01_rb,0.47778e+01_rb,0.55740e+01_rb,0.61522e+01_rb /) kao(:, 3, 2,15) = (/ & & 0.56912e+01_rb,0.49841e+01_rb,0.42769e+01_rb,0.35723e+01_rb,0.33088e+01_rb, & & 0.39404e+01_rb,0.47285e+01_rb,0.55164e+01_rb,0.60886e+01_rb /) kao(:, 4, 2,15) = (/ & & 0.56900e+01_rb,0.49829e+01_rb,0.42759e+01_rb,0.35705e+01_rb,0.32819e+01_rb, & & 0.38975e+01_rb,0.46769e+01_rb,0.54563e+01_rb,0.60227e+01_rb /) kao(:, 5, 2,15) = (/ & & 0.56828e+01_rb,0.49765e+01_rb,0.42703e+01_rb,0.35653e+01_rb,0.32552e+01_rb, & & 0.38520e+01_rb,0.46223e+01_rb,0.53926e+01_rb,0.59537e+01_rb /) kao(:, 1, 3,15) = (/ & & 0.66640e+01_rb,0.58345e+01_rb,0.50050e+01_rb,0.41960e+01_rb,0.39837e+01_rb, & & 0.46765e+01_rb,0.56117e+01_rb,0.65468e+01_rb,0.73624e+01_rb /) kao(:, 2, 3,15) = (/ & & 0.66851e+01_rb,0.58530e+01_rb,0.50209e+01_rb,0.42035e+01_rb,0.39538e+01_rb, & & 0.46274e+01_rb,0.55528e+01_rb,0.64781e+01_rb,0.72849e+01_rb /) kao(:, 3, 3,15) = (/ & & 0.66916e+01_rb,0.58588e+01_rb,0.50261e+01_rb,0.42046e+01_rb,0.39240e+01_rb, & & 0.45763e+01_rb,0.54915e+01_rb,0.64066e+01_rb,0.72060e+01_rb /) kao(:, 4, 3,15) = (/ & & 0.66884e+01_rb,0.58563e+01_rb,0.50241e+01_rb,0.42004e+01_rb,0.38957e+01_rb, & & 0.45225e+01_rb,0.54270e+01_rb,0.63313e+01_rb,0.71219e+01_rb /) kao(:, 5, 3,15) = (/ & & 0.66766e+01_rb,0.58462e+01_rb,0.50163e+01_rb,0.41933e+01_rb,0.38675e+01_rb, & & 0.44702e+01_rb,0.53642e+01_rb,0.62581e+01_rb,0.70387e+01_rb /) kao(:, 1, 4,15) = (/ & & 0.77848e+01_rb,0.68149e+01_rb,0.58451e+01_rb,0.49331e+01_rb,0.46977e+01_rb, & & 0.54033e+01_rb,0.64839e+01_rb,0.75644e+01_rb,0.85830e+01_rb /) kao(:, 2, 4,15) = (/ & & 0.78108e+01_rb,0.68377e+01_rb,0.58646e+01_rb,0.49375e+01_rb,0.46695e+01_rb, & & 0.53453e+01_rb,0.64143e+01_rb,0.74831e+01_rb,0.84915e+01_rb /) kao(:, 3, 4,15) = (/ & & 0.78236e+01_rb,0.68489e+01_rb,0.58743e+01_rb,0.49373e+01_rb,0.46417e+01_rb, & & 0.52821e+01_rb,0.63384e+01_rb,0.73947e+01_rb,0.83915e+01_rb /) kao(:, 4, 4,15) = (/ & & 0.78238e+01_rb,0.68493e+01_rb,0.58748e+01_rb,0.49301e+01_rb,0.46103e+01_rb, & & 0.52166e+01_rb,0.62599e+01_rb,0.73031e+01_rb,0.82871e+01_rb /) kao(:, 5, 4,15) = (/ & & 0.78090e+01_rb,0.68373e+01_rb,0.58658e+01_rb,0.49180e+01_rb,0.45786e+01_rb, & & 0.51516e+01_rb,0.61819e+01_rb,0.72121e+01_rb,0.81837e+01_rb /) kao(:, 1, 5,15) = (/ & & 0.90367e+01_rb,0.79101e+01_rb,0.67835e+01_rb,0.57840e+01_rb,0.55090e+01_rb, & & 0.61816e+01_rb,0.74174e+01_rb,0.86536e+01_rb,0.98560e+01_rb /) kao(:, 2, 5,15) = (/ & & 0.90658e+01_rb,0.79355e+01_rb,0.68052e+01_rb,0.57840e+01_rb,0.54825e+01_rb, & & 0.61122e+01_rb,0.73329e+01_rb,0.85548e+01_rb,0.97452e+01_rb /) kao(:, 3, 5,15) = (/ & & 0.90837e+01_rb,0.79512e+01_rb,0.68188e+01_rb,0.57766e+01_rb,0.54581e+01_rb, & & 0.60426e+01_rb,0.72485e+01_rb,0.84564e+01_rb,0.96328e+01_rb /) kao(:, 4, 5,15) = (/ & & 0.90830e+01_rb,0.79510e+01_rb,0.68192e+01_rb,0.57645e+01_rb,0.54297e+01_rb, & & 0.59729e+01_rb,0.71644e+01_rb,0.83583e+01_rb,0.95205e+01_rb /) kao(:, 5, 5,15) = (/ & & 0.90677e+01_rb,0.79386e+01_rb,0.68094e+01_rb,0.57479e+01_rb,0.53962e+01_rb, & & 0.58998e+01_rb,0.70740e+01_rb,0.82528e+01_rb,0.94008e+01_rb /) kao(:, 1, 6,15) = (/ & & 0.10412e+02_rb,0.91128e+01_rb,0.78140e+01_rb,0.67504e+01_rb,0.64389e+01_rb, & & 0.70217e+01_rb,0.83899e+01_rb,0.97882e+01_rb,0.11168e+02_rb /) kao(:, 2, 6,15) = (/ & & 0.10449e+02_rb,0.91451e+01_rb,0.78417e+01_rb,0.67466e+01_rb,0.64110e+01_rb, & & 0.69507e+01_rb,0.82964e+01_rb,0.96789e+01_rb,0.11043e+02_rb /) kao(:, 3, 6,15) = (/ & & 0.10469e+02_rb,0.91634e+01_rb,0.78574e+01_rb,0.67323e+01_rb,0.63834e+01_rb, & & 0.68804e+01_rb,0.82097e+01_rb,0.95778e+01_rb,0.10928e+02_rb /) kao(:, 4, 6,15) = (/ & & 0.10466e+02_rb,0.91614e+01_rb,0.78568e+01_rb,0.67135e+01_rb,0.63530e+01_rb, & & 0.68083e+01_rb,0.81167e+01_rb,0.94694e+01_rb,0.10805e+02_rb /) kao(:, 5, 6,15) = (/ & & 0.10450e+02_rb,0.91481e+01_rb,0.78461e+01_rb,0.66866e+01_rb,0.63182e+01_rb, & & 0.67317e+01_rb,0.80175e+01_rb,0.93536e+01_rb,0.10671e+02_rb /) kao(:, 1, 7,15) = (/ & & 0.11882e+02_rb,0.10399e+02_rb,0.89166e+01_rb,0.78253e+01_rb,0.74792e+01_rb, & & 0.79512e+01_rb,0.94202e+01_rb,0.10990e+02_rb,0.12550e+02_rb /) kao(:, 2, 7,15) = (/ & & 0.11932e+02_rb,0.10443e+02_rb,0.89541e+01_rb,0.78202e+01_rb,0.74549e+01_rb, & & 0.78754e+01_rb,0.93207e+01_rb,0.10874e+02_rb,0.12417e+02_rb /) kao(:, 3, 7,15) = (/ & & 0.11956e+02_rb,0.10464e+02_rb,0.89727e+01_rb,0.78020e+01_rb,0.74258e+01_rb, & & 0.78051e+01_rb,0.92218e+01_rb,0.10758e+02_rb,0.12285e+02_rb /) kao(:, 4, 7,15) = (/ & & 0.11956e+02_rb,0.10465e+02_rb,0.89740e+01_rb,0.77736e+01_rb,0.73912e+01_rb, & & 0.77319e+01_rb,0.91108e+01_rb,0.10629e+02_rb,0.12138e+02_rb /) kao(:, 5, 7,15) = (/ & & 0.11934e+02_rb,0.10446e+02_rb,0.89587e+01_rb,0.77346e+01_rb,0.73464e+01_rb, & & 0.76503e+01_rb,0.90007e+01_rb,0.10501e+02_rb,0.11991e+02_rb /) kao(:, 1, 8,15) = (/ & & 0.13440e+02_rb,0.11762e+02_rb,0.10084e+02_rb,0.90134e+01_rb,0.86298e+01_rb, & & 0.89787e+01_rb,0.10509e+02_rb,0.12260e+02_rb,0.14008e+02_rb /) kao(:, 2, 8,15) = (/ & & 0.13496e+02_rb,0.11811e+02_rb,0.10127e+02_rb,0.90042e+01_rb,0.86075e+01_rb, & & 0.89016e+01_rb,0.10401e+02_rb,0.12134e+02_rb,0.13863e+02_rb /) kao(:, 3, 8,15) = (/ & & 0.13522e+02_rb,0.11835e+02_rb,0.10148e+02_rb,0.89806e+01_rb,0.85777e+01_rb, & & 0.88306e+01_rb,0.10284e+02_rb,0.11998e+02_rb,0.13707e+02_rb /) kao(:, 4, 8,15) = (/ & & 0.13526e+02_rb,0.11839e+02_rb,0.10151e+02_rb,0.89422e+01_rb,0.85378e+01_rb, & & 0.87510e+01_rb,0.10150e+02_rb,0.11842e+02_rb,0.13529e+02_rb /) kao(:, 5, 8,15) = (/ & & 0.13498e+02_rb,0.11814e+02_rb,0.10131e+02_rb,0.88918e+01_rb,0.84819e+01_rb, & & 0.86621e+01_rb,0.10028e+02_rb,0.11700e+02_rb,0.13367e+02_rb /) kao(:, 1, 9,15) = (/ & & 0.15050e+02_rb,0.13171e+02_rb,0.11325e+02_rb,0.10314e+02_rb,0.98844e+01_rb, & & 0.10113e+02_rb,0.11655e+02_rb,0.13598e+02_rb,0.15538e+02_rb /) kao(:, 2, 9,15) = (/ & & 0.15110e+02_rb,0.13224e+02_rb,0.11358e+02_rb,0.10290e+02_rb,0.98636e+01_rb, & & 0.10034e+02_rb,0.11528e+02_rb,0.13449e+02_rb,0.15369e+02_rb /) kao(:, 3, 9,15) = (/ & & 0.15142e+02_rb,0.13253e+02_rb,0.11372e+02_rb,0.10253e+02_rb,0.98329e+01_rb, & & 0.99565e+01_rb,0.11387e+02_rb,0.13285e+02_rb,0.15182e+02_rb /) kao(:, 4, 9,15) = (/ & & 0.15140e+02_rb,0.13251e+02_rb,0.11368e+02_rb,0.10200e+02_rb,0.97822e+01_rb, & & 0.98656e+01_rb,0.11236e+02_rb,0.13109e+02_rb,0.14981e+02_rb /) kao(:, 5, 9,15) = (/ & & 0.15112e+02_rb,0.13227e+02_rb,0.11344e+02_rb,0.10134e+02_rb,0.97132e+01_rb, & & 0.97634e+01_rb,0.11104e+02_rb,0.12955e+02_rb,0.14806e+02_rb /) kao(:, 1,10,15) = (/ & & 0.16679e+02_rb,0.14596e+02_rb,0.12639e+02_rb,0.11713e+02_rb,0.11234e+02_rb, & & 0.11344e+02_rb,0.12833e+02_rb,0.14972e+02_rb,0.17110e+02_rb /) kao(:, 2,10,15) = (/ & & 0.16740e+02_rb,0.14649e+02_rb,0.12658e+02_rb,0.11669e+02_rb,0.11203e+02_rb, & & 0.11257e+02_rb,0.12688e+02_rb,0.14803e+02_rb,0.16918e+02_rb /) kao(:, 3,10,15) = (/ & & 0.16768e+02_rb,0.14675e+02_rb,0.12658e+02_rb,0.11609e+02_rb,0.11161e+02_rb, & & 0.11169e+02_rb,0.12530e+02_rb,0.14619e+02_rb,0.16708e+02_rb /) kao(:, 4,10,15) = (/ & & 0.16761e+02_rb,0.14669e+02_rb,0.12632e+02_rb,0.11528e+02_rb,0.11096e+02_rb, & & 0.11064e+02_rb,0.12360e+02_rb,0.14420e+02_rb,0.16480e+02_rb /) kao(:, 5,10,15) = (/ & & 0.16723e+02_rb,0.14636e+02_rb,0.12592e+02_rb,0.11437e+02_rb,0.11017e+02_rb, & & 0.10938e+02_rb,0.12210e+02_rb,0.14245e+02_rb,0.16279e+02_rb /) kao(:, 1,11,15) = (/ & & 0.18294e+02_rb,0.16009e+02_rb,0.13989e+02_rb,0.13135e+02_rb,0.12643e+02_rb, & & 0.12628e+02_rb,0.13972e+02_rb,0.16290e+02_rb,0.18616e+02_rb /) kao(:, 2,11,15) = (/ & & 0.18347e+02_rb,0.16056e+02_rb,0.13990e+02_rb,0.13069e+02_rb,0.12593e+02_rb, & & 0.12524e+02_rb,0.13808e+02_rb,0.16097e+02_rb,0.18396e+02_rb /) kao(:, 3,11,15) = (/ & & 0.18360e+02_rb,0.16067e+02_rb,0.13961e+02_rb,0.12977e+02_rb,0.12519e+02_rb, & & 0.12404e+02_rb,0.13621e+02_rb,0.15875e+02_rb,0.18143e+02_rb /) kao(:, 4,11,15) = (/ & & 0.18335e+02_rb,0.16046e+02_rb,0.13912e+02_rb,0.12870e+02_rb,0.12428e+02_rb, & & 0.12262e+02_rb,0.13438e+02_rb,0.15668e+02_rb,0.17906e+02_rb /) kao(:, 5,11,15) = (/ & & 0.18275e+02_rb,0.15994e+02_rb,0.13835e+02_rb,0.12741e+02_rb,0.12318e+02_rb, & & 0.12107e+02_rb,0.13269e+02_rb,0.15473e+02_rb,0.17684e+02_rb /) kao(:, 1,12,15) = (/ & & 0.19924e+02_rb,0.17435e+02_rb,0.15328e+02_rb,0.14570e+02_rb,0.14103e+02_rb, & & 0.13966e+02_rb,0.15137e+02_rb,0.17574e+02_rb,0.20085e+02_rb /) kao(:, 2,12,15) = (/ & & 0.19952e+02_rb,0.17460e+02_rb,0.15303e+02_rb,0.14472e+02_rb,0.14016e+02_rb, & & 0.13836e+02_rb,0.14951e+02_rb,0.17356e+02_rb,0.19836e+02_rb /) kao(:, 3,12,15) = (/ & & 0.19950e+02_rb,0.17459e+02_rb,0.15252e+02_rb,0.14354e+02_rb,0.13911e+02_rb, & & 0.13674e+02_rb,0.14736e+02_rb,0.17121e+02_rb,0.19567e+02_rb /) kao(:, 4,12,15) = (/ & & 0.19898e+02_rb,0.17414e+02_rb,0.15172e+02_rb,0.14207e+02_rb,0.13782e+02_rb, & & 0.13496e+02_rb,0.14540e+02_rb,0.16905e+02_rb,0.19321e+02_rb /) kao(:, 5,12,15) = (/ & & 0.19813e+02_rb,0.17339e+02_rb,0.15067e+02_rb,0.14045e+02_rb,0.13635e+02_rb, & & 0.13302e+02_rb,0.14349e+02_rb,0.16691e+02_rb,0.19076e+02_rb /) kao(:, 1,13,15) = (/ & & 0.21582e+02_rb,0.18886e+02_rb,0.16708e+02_rb,0.15984e+02_rb,0.15578e+02_rb, & & 0.15338e+02_rb,0.16324e+02_rb,0.18812e+02_rb,0.21500e+02_rb /) kao(:, 2,13,15) = (/ & & 0.21595e+02_rb,0.18898e+02_rb,0.16645e+02_rb,0.15860e+02_rb,0.15448e+02_rb, & & 0.15169e+02_rb,0.16117e+02_rb,0.18583e+02_rb,0.21237e+02_rb /) kao(:, 3,13,15) = (/ & & 0.21561e+02_rb,0.18868e+02_rb,0.16562e+02_rb,0.15696e+02_rb,0.15303e+02_rb, & & 0.14968e+02_rb,0.15881e+02_rb,0.18352e+02_rb,0.20974e+02_rb /) kao(:, 4,13,15) = (/ & & 0.21483e+02_rb,0.18800e+02_rb,0.16445e+02_rb,0.15517e+02_rb,0.15132e+02_rb, & & 0.14742e+02_rb,0.15661e+02_rb,0.18119e+02_rb,0.20709e+02_rb /) kao(:, 5,13,15) = (/ & & 0.21359e+02_rb,0.18692e+02_rb,0.16307e+02_rb,0.15310e+02_rb,0.14932e+02_rb, & & 0.14513e+02_rb,0.15442e+02_rb,0.17892e+02_rb,0.20448e+02_rb /) kao(:, 1, 1,16) = (/ & & 0.54900e+01_rb,0.48060e+01_rb,0.41232e+01_rb,0.34422e+01_rb,0.34870e+01_rb, & & 0.43588e+01_rb,0.52305e+01_rb,0.61020e+01_rb,0.65047e+01_rb /) kao(:, 2, 1,16) = (/ & & 0.54959e+01_rb,0.48102e+01_rb,0.41246e+01_rb,0.34396e+01_rb,0.34389e+01_rb, & & 0.42986e+01_rb,0.51583e+01_rb,0.60178e+01_rb,0.64181e+01_rb /) kao(:, 3, 1,16) = (/ & & 0.54964e+01_rb,0.48111e+01_rb,0.41257e+01_rb,0.34404e+01_rb,0.33906e+01_rb, & & 0.42383e+01_rb,0.50859e+01_rb,0.59334e+01_rb,0.63255e+01_rb /) kao(:, 4, 1,16) = (/ & & 0.54872e+01_rb,0.48032e+01_rb,0.41193e+01_rb,0.34354e+01_rb,0.33485e+01_rb, & & 0.41856e+01_rb,0.50227e+01_rb,0.58596e+01_rb,0.62437e+01_rb /) kao(:, 5, 1,16) = (/ & & 0.54677e+01_rb,0.47864e+01_rb,0.41051e+01_rb,0.34238e+01_rb,0.33099e+01_rb, & & 0.41373e+01_rb,0.49647e+01_rb,0.57920e+01_rb,0.61726e+01_rb /) kao(:, 1, 2,16) = (/ & & 0.65993e+01_rb,0.57796e+01_rb,0.49604e+01_rb,0.41421e+01_rb,0.42011e+01_rb, & & 0.52514e+01_rb,0.63014e+01_rb,0.73516e+01_rb,0.80279e+01_rb /) kao(:, 2, 2,16) = (/ & & 0.66032e+01_rb,0.57810e+01_rb,0.49597e+01_rb,0.41395e+01_rb,0.41430e+01_rb, & & 0.51787e+01_rb,0.62144e+01_rb,0.72499e+01_rb,0.79170e+01_rb /) kao(:, 3, 2,16) = (/ & & 0.66114e+01_rb,0.57864e+01_rb,0.49618e+01_rb,0.41380e+01_rb,0.40849e+01_rb, & & 0.51061e+01_rb,0.61273e+01_rb,0.71483e+01_rb,0.78058e+01_rb /) kao(:, 4, 2,16) = (/ & & 0.66055e+01_rb,0.57814e+01_rb,0.49573e+01_rb,0.41341e+01_rb,0.40341e+01_rb, & & 0.50426e+01_rb,0.60510e+01_rb,0.70593e+01_rb,0.77043e+01_rb /) kao(:, 5, 2,16) = (/ & & 0.65867e+01_rb,0.57651e+01_rb,0.49435e+01_rb,0.41221e+01_rb,0.39863e+01_rb, & & 0.49829e+01_rb,0.59794e+01_rb,0.69758e+01_rb,0.76124e+01_rb /) kao(:, 1, 3,16) = (/ & & 0.79380e+01_rb,0.69526e+01_rb,0.59676e+01_rb,0.49832e+01_rb,0.50788e+01_rb, & & 0.63485e+01_rb,0.76181e+01_rb,0.88875e+01_rb,0.99377e+01_rb /) kao(:, 2, 3,16) = (/ & & 0.79519e+01_rb,0.69640e+01_rb,0.59765e+01_rb,0.49895e+01_rb,0.50033e+01_rb, & & 0.62541e+01_rb,0.75048e+01_rb,0.87554e+01_rb,0.97869e+01_rb /) kao(:, 3, 3,16) = (/ & & 0.79564e+01_rb,0.69660e+01_rb,0.59762e+01_rb,0.49871e+01_rb,0.49341e+01_rb, & & 0.61676e+01_rb,0.74011e+01_rb,0.86343e+01_rb,0.96531e+01_rb /) kao(:, 4, 3,16) = (/ & & 0.79604e+01_rb,0.69678e+01_rb,0.59753e+01_rb,0.49833e+01_rb,0.48716e+01_rb, & & 0.60895e+01_rb,0.73073e+01_rb,0.85250e+01_rb,0.95280e+01_rb /) kao(:, 5, 3,16) = (/ & & 0.79454e+01_rb,0.69546e+01_rb,0.59641e+01_rb,0.49739e+01_rb,0.48117e+01_rb, & & 0.60146e+01_rb,0.72174e+01_rb,0.84201e+01_rb,0.94106e+01_rb /) kao(:, 1, 4,16) = (/ & & 0.95482e+01_rb,0.83619e+01_rb,0.71758e+01_rb,0.59904e+01_rb,0.61617e+01_rb, & & 0.77021e+01_rb,0.92425e+01_rb,0.10783e+02_rb,0.12199e+02_rb /) kao(:, 2, 4,16) = (/ & & 0.95751e+01_rb,0.83849e+01_rb,0.71952e+01_rb,0.60057e+01_rb,0.60507e+01_rb, & & 0.75634e+01_rb,0.90760e+01_rb,0.10588e+02_rb,0.11979e+02_rb /) kao(:, 3, 4,16) = (/ & & 0.95851e+01_rb,0.83928e+01_rb,0.72008e+01_rb,0.60093e+01_rb,0.59519e+01_rb, & & 0.74398e+01_rb,0.89277e+01_rb,0.10415e+02_rb,0.11784e+02_rb /) kao(:, 4, 4,16) = (/ & & 0.95899e+01_rb,0.83956e+01_rb,0.72016e+01_rb,0.60083e+01_rb,0.58751e+01_rb, & & 0.73438e+01_rb,0.88125e+01_rb,0.10281e+02_rb,0.11628e+02_rb /) kao(:, 5, 4,16) = (/ & & 0.95802e+01_rb,0.83858e+01_rb,0.71919e+01_rb,0.59984e+01_rb,0.58004e+01_rb, & & 0.72505e+01_rb,0.87005e+01_rb,0.10150e+02_rb,0.11482e+02_rb /) kao(:, 1, 5,16) = (/ & & 0.11467e+02_rb,0.10041e+02_rb,0.86153e+01_rb,0.71899e+01_rb,0.74662e+01_rb, & & 0.93327e+01_rb,0.11199e+02_rb,0.13065e+02_rb,0.14858e+02_rb /) kao(:, 2, 5,16) = (/ & & 0.11518e+02_rb,0.10085e+02_rb,0.86526e+01_rb,0.72201e+01_rb,0.73208e+01_rb, & & 0.91509e+01_rb,0.10981e+02_rb,0.12811e+02_rb,0.14568e+02_rb /) kao(:, 3, 5,16) = (/ & & 0.11535e+02_rb,0.10099e+02_rb,0.86636e+01_rb,0.72282e+01_rb,0.71844e+01_rb, & & 0.89805e+01_rb,0.10776e+02_rb,0.12572e+02_rb,0.14298e+02_rb /) kao(:, 4, 5,16) = (/ & & 0.11542e+02_rb,0.10105e+02_rb,0.86677e+01_rb,0.72309e+01_rb,0.70636e+01_rb, & & 0.88295e+01_rb,0.10595e+02_rb,0.12361e+02_rb,0.14056e+02_rb /) kao(:, 5, 5,16) = (/ & & 0.11528e+02_rb,0.10092e+02_rb,0.86561e+01_rb,0.72209e+01_rb,0.69634e+01_rb, & & 0.87042e+01_rb,0.10445e+02_rb,0.12185e+02_rb,0.13857e+02_rb /) kao(:, 1, 6,16) = (/ & & 0.13743e+02_rb,0.12032e+02_rb,0.10321e+02_rb,0.86104e+01_rb,0.90301e+01_rb, & & 0.11288e+02_rb,0.13545e+02_rb,0.15802e+02_rb,0.18010e+02_rb /) kao(:, 2, 6,16) = (/ & & 0.13809e+02_rb,0.12090e+02_rb,0.10370e+02_rb,0.86513e+01_rb,0.88422e+01_rb, & & 0.11053e+02_rb,0.13263e+02_rb,0.15473e+02_rb,0.17638e+02_rb /) kao(:, 3, 6,16) = (/ & & 0.13850e+02_rb,0.12125e+02_rb,0.10400e+02_rb,0.86753e+01_rb,0.86607e+01_rb, & & 0.10826e+02_rb,0.12991e+02_rb,0.15156e+02_rb,0.17275e+02_rb /) kao(:, 4, 6,16) = (/ & & 0.13866e+02_rb,0.12138e+02_rb,0.10411e+02_rb,0.86837e+01_rb,0.84930e+01_rb, & & 0.10616e+02_rb,0.12739e+02_rb,0.14862e+02_rb,0.16940e+02_rb /) kao(:, 5, 6,16) = (/ & & 0.13850e+02_rb,0.12124e+02_rb,0.10399e+02_rb,0.86732e+01_rb,0.83442e+01_rb, & & 0.10430e+02_rb,0.12516e+02_rb,0.14602e+02_rb,0.16644e+02_rb /) kao(:, 1, 7,16) = (/ & & 0.16450e+02_rb,0.14400e+02_rb,0.12350e+02_rb,0.10300e+02_rb,0.10874e+02_rb, & & 0.13593e+02_rb,0.16311e+02_rb,0.19030e+02_rb,0.21722e+02_rb /) kao(:, 2, 7,16) = (/ & & 0.16525e+02_rb,0.14465e+02_rb,0.12405e+02_rb,0.10346e+02_rb,0.10632e+02_rb, & & 0.13290e+02_rb,0.15948e+02_rb,0.18606e+02_rb,0.21239e+02_rb /) kao(:, 3, 7,16) = (/ & & 0.16563e+02_rb,0.14499e+02_rb,0.12434e+02_rb,0.10370e+02_rb,0.10395e+02_rb, & & 0.12994e+02_rb,0.15592e+02_rb,0.18191e+02_rb,0.20762e+02_rb /) kao(:, 4, 7,16) = (/ & & 0.16590e+02_rb,0.14522e+02_rb,0.12454e+02_rb,0.10386e+02_rb,0.10172e+02_rb, & & 0.12715e+02_rb,0.15258e+02_rb,0.17801e+02_rb,0.20317e+02_rb /) kao(:, 5, 7,16) = (/ & & 0.16576e+02_rb,0.14509e+02_rb,0.12443e+02_rb,0.10377e+02_rb,0.99688e+01_rb, & & 0.12461e+02_rb,0.14953e+02_rb,0.17445e+02_rb,0.19913e+02_rb /) kao(:, 1, 8,16) = (/ & & 0.19629e+02_rb,0.17181e+02_rb,0.14733e+02_rb,0.12285e+02_rb,0.13022e+02_rb, & & 0.16277e+02_rb,0.19532e+02_rb,0.22787e+02_rb,0.26029e+02_rb /) kao(:, 2, 8,16) = (/ & & 0.19728e+02_rb,0.17267e+02_rb,0.14807e+02_rb,0.12346e+02_rb,0.12711e+02_rb, & & 0.15888e+02_rb,0.19066e+02_rb,0.22243e+02_rb,0.25406e+02_rb /) kao(:, 3, 8,16) = (/ & & 0.19768e+02_rb,0.17302e+02_rb,0.14837e+02_rb,0.12371e+02_rb,0.12399e+02_rb, & & 0.15499e+02_rb,0.18599e+02_rb,0.21698e+02_rb,0.24782e+02_rb /) kao(:, 4, 8,16) = (/ & & 0.19773e+02_rb,0.17307e+02_rb,0.14840e+02_rb,0.12374e+02_rb,0.12111e+02_rb, & & 0.15139e+02_rb,0.18167e+02_rb,0.21194e+02_rb,0.24210e+02_rb /) kao(:, 5, 8,16) = (/ & & 0.19744e+02_rb,0.17281e+02_rb,0.14818e+02_rb,0.12356e+02_rb,0.11840e+02_rb, & & 0.14800e+02_rb,0.17760e+02_rb,0.20720e+02_rb,0.23667e+02_rb /) kao(:, 1, 9,16) = (/ & & 0.23312e+02_rb,0.20403e+02_rb,0.17494e+02_rb,0.14584e+02_rb,0.15488e+02_rb, & & 0.19360e+02_rb,0.23231e+02_rb,0.27103e+02_rb,0.30970e+02_rb /) kao(:, 2, 9,16) = (/ & & 0.23439e+02_rb,0.20514e+02_rb,0.17588e+02_rb,0.14663e+02_rb,0.15085e+02_rb, & & 0.18856e+02_rb,0.22627e+02_rb,0.26397e+02_rb,0.30166e+02_rb /) kao(:, 3, 9,16) = (/ & & 0.23492e+02_rb,0.20560e+02_rb,0.17628e+02_rb,0.14696e+02_rb,0.14687e+02_rb, & & 0.18356e+02_rb,0.22027e+02_rb,0.25697e+02_rb,0.29367e+02_rb /) kao(:, 4, 9,16) = (/ & & 0.23479e+02_rb,0.20549e+02_rb,0.17619e+02_rb,0.14689e+02_rb,0.14321e+02_rb, & & 0.17895e+02_rb,0.21474e+02_rb,0.25052e+02_rb,0.28629e+02_rb /) kao(:, 5, 9,16) = (/ & & 0.23411e+02_rb,0.20489e+02_rb,0.17567e+02_rb,0.14646e+02_rb,0.13982e+02_rb, & & 0.17451e+02_rb,0.20941e+02_rb,0.24431e+02_rb,0.27917e+02_rb /) kao(:, 1,10,16) = (/ & & 0.27592e+02_rb,0.24147e+02_rb,0.20702e+02_rb,0.17264e+02_rb,0.18240e+02_rb, & & 0.22793e+02_rb,0.27352e+02_rb,0.31910e+02_rb,0.36473e+02_rb /) kao(:, 2,10,16) = (/ & & 0.27703e+02_rb,0.24245e+02_rb,0.20786e+02_rb,0.17327e+02_rb,0.17749e+02_rb, & & 0.22147e+02_rb,0.26577e+02_rb,0.31006e+02_rb,0.35436e+02_rb /) kao(:, 3,10,16) = (/ & & 0.27743e+02_rb,0.24279e+02_rb,0.20816e+02_rb,0.17352e+02_rb,0.17266e+02_rb, & & 0.21525e+02_rb,0.25830e+02_rb,0.30134e+02_rb,0.34441e+02_rb /) kao(:, 4,10,16) = (/ & & 0.27709e+02_rb,0.24250e+02_rb,0.20790e+02_rb,0.17331e+02_rb,0.16811e+02_rb, & & 0.20946e+02_rb,0.25135e+02_rb,0.29324e+02_rb,0.33510e+02_rb /) kao(:, 5,10,16) = (/ & & 0.27598e+02_rb,0.24153e+02_rb,0.20707e+02_rb,0.17262e+02_rb,0.16378e+02_rb, & & 0.20388e+02_rb,0.24466e+02_rb,0.28543e+02_rb,0.32622e+02_rb /) kao(:, 1,11,16) = (/ & & 0.32570e+02_rb,0.28502e+02_rb,0.24434e+02_rb,0.20393e+02_rb,0.21083e+02_rb, & & 0.26245e+02_rb,0.31494e+02_rb,0.36742e+02_rb,0.41994e+02_rb /) kao(:, 2,11,16) = (/ & & 0.32601e+02_rb,0.28529e+02_rb,0.24458e+02_rb,0.20386e+02_rb,0.20492e+02_rb, & & 0.25469e+02_rb,0.30563e+02_rb,0.35657e+02_rb,0.40747e+02_rb /) kao(:, 3,11,16) = (/ & & 0.32535e+02_rb,0.28472e+02_rb,0.24408e+02_rb,0.20345e+02_rb,0.19916e+02_rb, & & 0.24733e+02_rb,0.29679e+02_rb,0.34625e+02_rb,0.39568e+02_rb /) kao(:, 4,11,16) = (/ & & 0.32390e+02_rb,0.28345e+02_rb,0.24301e+02_rb,0.20256e+02_rb,0.19358e+02_rb, & & 0.24023e+02_rb,0.28827e+02_rb,0.33631e+02_rb,0.38435e+02_rb /) kao(:, 5,11,16) = (/ & & 0.32175e+02_rb,0.28157e+02_rb,0.24140e+02_rb,0.20122e+02_rb,0.18819e+02_rb, & & 0.23330e+02_rb,0.27996e+02_rb,0.32661e+02_rb,0.37328e+02_rb /) kao(:, 1,12,16) = (/ & & 0.38135e+02_rb,0.33371e+02_rb,0.28607e+02_rb,0.23891e+02_rb,0.24203e+02_rb, & & 0.29981e+02_rb,0.35977e+02_rb,0.41973e+02_rb,0.47971e+02_rb /) kao(:, 2,12,16) = (/ & & 0.38033e+02_rb,0.33282e+02_rb,0.28531e+02_rb,0.23779e+02_rb,0.23491e+02_rb, & & 0.29038e+02_rb,0.34845e+02_rb,0.40652e+02_rb,0.46464e+02_rb /) kao(:, 3,12,16) = (/ & & 0.37806e+02_rb,0.33084e+02_rb,0.28361e+02_rb,0.23639e+02_rb,0.22788e+02_rb, & & 0.28150e+02_rb,0.33780e+02_rb,0.39409e+02_rb,0.45036e+02_rb /) kao(:, 4,12,16) = (/ & & 0.37497e+02_rb,0.32813e+02_rb,0.28129e+02_rb,0.23446e+02_rb,0.22100e+02_rb, & & 0.27270e+02_rb,0.32724e+02_rb,0.38179e+02_rb,0.43632e+02_rb /) kao(:, 5,12,16) = (/ & & 0.37099e+02_rb,0.32465e+02_rb,0.27831e+02_rb,0.23198e+02_rb,0.21440e+02_rb, & & 0.26398e+02_rb,0.31678e+02_rb,0.36957e+02_rb,0.42237e+02_rb /) kao(:, 1,13,16) = (/ & & 0.44217e+02_rb,0.38692e+02_rb,0.33167e+02_rb,0.27730e+02_rb,0.27605e+02_rb, & & 0.33969e+02_rb,0.40763e+02_rb,0.47556e+02_rb,0.54352e+02_rb /) kao(:, 2,13,16) = (/ & & 0.43915e+02_rb,0.38428e+02_rb,0.32941e+02_rb,0.27455e+02_rb,0.26738e+02_rb, & & 0.32787e+02_rb,0.39345e+02_rb,0.45901e+02_rb,0.52455e+02_rb /) kao(:, 3,13,16) = (/ & & 0.43489e+02_rb,0.38055e+02_rb,0.32622e+02_rb,0.27188e+02_rb,0.25861e+02_rb, & & 0.31686e+02_rb,0.38022e+02_rb,0.44359e+02_rb,0.50700e+02_rb /) kao(:, 4,13,16) = (/ & & 0.42951e+02_rb,0.37585e+02_rb,0.32219e+02_rb,0.26853e+02_rb,0.25006e+02_rb, & & 0.30590e+02_rb,0.36708e+02_rb,0.42826e+02_rb,0.48946e+02_rb /) kao(:, 5,13,16) = (/ & & 0.42298e+02_rb,0.37013e+02_rb,0.31729e+02_rb,0.26445e+02_rb,0.24180e+02_rb, & & 0.29511e+02_rb,0.35413e+02_rb,0.41314e+02_rb,0.47218e+02_rb /) ! ----------------------------------------------------------------- ! The array KBO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels < ~100mb and temperatures. The first ! index in the array, JT, which runs from 1 to 5, corresponds to ! different temperatures. More specifically, JT = 3 means that the ! data are for the reference temperature TREF for this pressure ! level, JT = 2 refers to the temperature TREF-15, JT = 1 is for ! TREF-30, JT = 4 is for TREF+15, and JT = 5 is for TREF+30. ! The second index, JP, runs from 13 to 59 and refers to the JPth ! reference pressure level (see taumol.f for the value of these ! pressure levels in mb). The third index, IG, goes from 1 to 16, ! and tells us which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kbo(:, 1,13, 1) = (/ & & 0.40633e-08_rb,0.64718e-06_rb,0.79567e-06_rb,0.81264e-06_rb,0.25080e-07_rb /) kbo(:, 2,13, 1) = (/ & & 0.37596e-08_rb,0.70429e-06_rb,0.90855e-06_rb,0.96432e-06_rb,0.28292e-07_rb /) kbo(:, 3,13, 1) = (/ & & 0.34982e-08_rb,0.76370e-06_rb,0.10316e-05_rb,0.11472e-05_rb,0.31265e-07_rb /) kbo(:, 4,13, 1) = (/ & & 0.32707e-08_rb,0.82834e-06_rb,0.11577e-05_rb,0.13387e-05_rb,0.34928e-07_rb /) kbo(:, 5,13, 1) = (/ & & 0.30710e-08_rb,0.90252e-06_rb,0.12962e-05_rb,0.15206e-05_rb,0.38859e-07_rb /) kbo(:, 1,14, 1) = (/ & & 0.33026e-08_rb,0.53592e-06_rb,0.66171e-06_rb,0.67633e-06_rb,0.20767e-07_rb /) kbo(:, 2,14, 1) = (/ & & 0.30574e-08_rb,0.57959e-06_rb,0.75386e-06_rb,0.80395e-06_rb,0.23334e-07_rb /) kbo(:, 3,14, 1) = (/ & & 0.28461e-08_rb,0.62897e-06_rb,0.85486e-06_rb,0.95745e-06_rb,0.25841e-07_rb /) kbo(:, 4,14, 1) = (/ & & 0.26621e-08_rb,0.68352e-06_rb,0.96132e-06_rb,0.11148e-05_rb,0.28862e-07_rb /) kbo(:, 5,14, 1) = (/ & & 0.25005e-08_rb,0.74517e-06_rb,0.10739e-05_rb,0.12632e-05_rb,0.32093e-07_rb /) kbo(:, 1,15, 1) = (/ & & 0.26821e-08_rb,0.44081e-06_rb,0.55093e-06_rb,0.56465e-06_rb,0.17186e-07_rb /) kbo(:, 2,15, 1) = (/ & & 0.24845e-08_rb,0.47773e-06_rb,0.62636e-06_rb,0.67180e-06_rb,0.19234e-07_rb /) kbo(:, 3,15, 1) = (/ & & 0.23140e-08_rb,0.51811e-06_rb,0.70791e-06_rb,0.79658e-06_rb,0.21348e-07_rb /) kbo(:, 4,15, 1) = (/ & & 0.21654e-08_rb,0.56416e-06_rb,0.79893e-06_rb,0.92873e-06_rb,0.23832e-07_rb /) kbo(:, 5,15, 1) = (/ & & 0.20347e-08_rb,0.61535e-06_rb,0.88985e-06_rb,0.10499e-05_rb,0.26485e-07_rb /) kbo(:, 1,16, 1) = (/ & & 0.21775e-08_rb,0.36254e-06_rb,0.45870e-06_rb,0.47125e-06_rb,0.14211e-07_rb /) kbo(:, 2,16, 1) = (/ & & 0.20183e-08_rb,0.39376e-06_rb,0.52053e-06_rb,0.56163e-06_rb,0.15869e-07_rb /) kbo(:, 3,16, 1) = (/ & & 0.18808e-08_rb,0.42687e-06_rb,0.58699e-06_rb,0.66386e-06_rb,0.17627e-07_rb /) kbo(:, 4,16, 1) = (/ & & 0.17608e-08_rb,0.46559e-06_rb,0.66388e-06_rb,0.77063e-06_rb,0.19664e-07_rb /) kbo(:, 5,16, 1) = (/ & & 0.16552e-08_rb,0.50747e-06_rb,0.73699e-06_rb,0.87249e-06_rb,0.21844e-07_rb /) kbo(:, 1,17, 1) = (/ & & 0.17682e-08_rb,0.29836e-06_rb,0.38104e-06_rb,0.39314e-06_rb,0.11735e-07_rb /) kbo(:, 2,17, 1) = (/ & & 0.16399e-08_rb,0.32493e-06_rb,0.43215e-06_rb,0.46897e-06_rb,0.13077e-07_rb /) kbo(:, 3,17, 1) = (/ & & 0.15290e-08_rb,0.35203e-06_rb,0.48665e-06_rb,0.55328e-06_rb,0.14535e-07_rb /) kbo(:, 4,17, 1) = (/ & & 0.14321e-08_rb,0.38383e-06_rb,0.55033e-06_rb,0.63844e-06_rb,0.16208e-07_rb /) kbo(:, 5,17, 1) = (/ & & 0.13468e-08_rb,0.41822e-06_rb,0.60950e-06_rb,0.72376e-06_rb,0.17995e-07_rb /) kbo(:, 1,18, 1) = (/ & & 0.14362e-08_rb,0.24560e-06_rb,0.31667e-06_rb,0.32797e-06_rb,0.96831e-08_rb /) kbo(:, 2,18, 1) = (/ & & 0.13327e-08_rb,0.26784e-06_rb,0.35872e-06_rb,0.39134e-06_rb,0.10773e-07_rb /) kbo(:, 3,18, 1) = (/ & & 0.12432e-08_rb,0.29008e-06_rb,0.40334e-06_rb,0.46026e-06_rb,0.11980e-07_rb /) kbo(:, 4,18, 1) = (/ & & 0.11650e-08_rb,0.31637e-06_rb,0.45583e-06_rb,0.52880e-06_rb,0.13350e-07_rb /) kbo(:, 5,18, 1) = (/ & & 0.10960e-08_rb,0.34503e-06_rb,0.50363e-06_rb,0.59967e-06_rb,0.14815e-07_rb /) kbo(:, 1,19, 1) = (/ & & 0.11667e-08_rb,0.20231e-06_rb,0.26313e-06_rb,0.27359e-06_rb,0.79934e-08_rb /) kbo(:, 2,19, 1) = (/ & & 0.10833e-08_rb,0.22085e-06_rb,0.29760e-06_rb,0.32620e-06_rb,0.88807e-08_rb /) kbo(:, 3,19, 1) = (/ & & 0.10110e-08_rb,0.23912e-06_rb,0.33423e-06_rb,0.38271e-06_rb,0.98771e-08_rb /) kbo(:, 4,19, 1) = (/ & & 0.94778e-09_rb,0.26073e-06_rb,0.37685e-06_rb,0.43791e-06_rb,0.11002e-07_rb /) kbo(:, 5,19, 1) = (/ & & 0.89198e-09_rb,0.28425e-06_rb,0.41589e-06_rb,0.49682e-06_rb,0.12204e-07_rb /) kbo(:, 1,20, 1) = (/ & & 0.94668e-09_rb,0.16735e-06_rb,0.21822e-06_rb,0.22914e-06_rb,0.66237e-08_rb /) kbo(:, 2,20, 1) = (/ & & 0.87956e-09_rb,0.18255e-06_rb,0.24770e-06_rb,0.27290e-06_rb,0.73470e-08_rb /) kbo(:, 3,20, 1) = (/ & & 0.82132e-09_rb,0.19776e-06_rb,0.27786e-06_rb,0.31913e-06_rb,0.81732e-08_rb /) kbo(:, 4,20, 1) = (/ & & 0.77032e-09_rb,0.21557e-06_rb,0.31197e-06_rb,0.36380e-06_rb,0.91019e-08_rb /) kbo(:, 5,20, 1) = (/ & & 0.72528e-09_rb,0.23458e-06_rb,0.34449e-06_rb,0.41257e-06_rb,0.10084e-07_rb /) kbo(:, 1,21, 1) = (/ & & 0.76809e-09_rb,0.13858e-06_rb,0.18138e-06_rb,0.19188e-06_rb,0.54929e-08_rb /) kbo(:, 2,21, 1) = (/ & & 0.71408e-09_rb,0.15088e-06_rb,0.20614e-06_rb,0.22835e-06_rb,0.60825e-08_rb /) kbo(:, 3,21, 1) = (/ & & 0.66717e-09_rb,0.16366e-06_rb,0.23111e-06_rb,0.26622e-06_rb,0.67680e-08_rb /) kbo(:, 4,21, 1) = (/ & & 0.62605e-09_rb,0.17816e-06_rb,0.25834e-06_rb,0.30242e-06_rb,0.75344e-08_rb /) kbo(:, 5,21, 1) = (/ & & 0.58970e-09_rb,0.19374e-06_rb,0.28542e-06_rb,0.34222e-06_rb,0.83394e-08_rb /) kbo(:, 1,22, 1) = (/ & & 0.62013e-09_rb,0.11547e-06_rb,0.15212e-06_rb,0.16227e-06_rb,0.45926e-08_rb /) kbo(:, 2,22, 1) = (/ & & 0.57709e-09_rb,0.12552e-06_rb,0.17211e-06_rb,0.19265e-06_rb,0.50728e-08_rb /) kbo(:, 3,22, 1) = (/ & & 0.53964e-09_rb,0.13619e-06_rb,0.19363e-06_rb,0.22402e-06_rb,0.56454e-08_rb /) kbo(:, 4,22, 1) = (/ & & 0.50675e-09_rb,0.14805e-06_rb,0.21557e-06_rb,0.25320e-06_rb,0.62805e-08_rb /) kbo(:, 5,22, 1) = (/ & & 0.47764e-09_rb,0.16097e-06_rb,0.23799e-06_rb,0.28574e-06_rb,0.69414e-08_rb /) kbo(:, 1,23, 1) = (/ & & 0.50055e-09_rb,0.96165e-07_rb,0.12776e-06_rb,0.13752e-06_rb,0.37933e-08_rb /) kbo(:, 2,23, 1) = (/ & & 0.46627e-09_rb,0.10421e-06_rb,0.14387e-06_rb,0.16226e-06_rb,0.42154e-08_rb /) kbo(:, 3,23, 1) = (/ & & 0.43638e-09_rb,0.11320e-06_rb,0.16240e-06_rb,0.18806e-06_rb,0.46761e-08_rb /) kbo(:, 4,23, 1) = (/ & & 0.41009e-09_rb,0.12312e-06_rb,0.18002e-06_rb,0.21214e-06_rb,0.51724e-08_rb /) kbo(:, 5,23, 1) = (/ & & 0.38679e-09_rb,0.13380e-06_rb,0.19835e-06_rb,0.23836e-06_rb,0.56863e-08_rb /) kbo(:, 1,24, 1) = (/ & & 0.40384e-09_rb,0.80174e-07_rb,0.10742e-06_rb,0.11665e-06_rb,0.31435e-08_rb /) kbo(:, 2,24, 1) = (/ & & 0.37656e-09_rb,0.86611e-07_rb,0.12062e-06_rb,0.13694e-06_rb,0.34746e-08_rb /) kbo(:, 3,24, 1) = (/ & & 0.35273e-09_rb,0.94203e-07_rb,0.13610e-06_rb,0.15729e-06_rb,0.38586e-08_rb /) kbo(:, 4,24, 1) = (/ & & 0.33174e-09_rb,0.10246e-06_rb,0.15035e-06_rb,0.17775e-06_rb,0.42707e-08_rb /) kbo(:, 5,24, 1) = (/ & & 0.31310e-09_rb,0.11122e-06_rb,0.16543e-06_rb,0.19917e-06_rb,0.47020e-08_rb /) kbo(:, 1,25, 1) = (/ & & 0.32562e-09_rb,0.66785e-07_rb,0.90447e-07_rb,0.99059e-07_rb,0.26134e-08_rb /) kbo(:, 2,25, 1) = (/ & & 0.30393e-09_rb,0.72133e-07_rb,0.10139e-06_rb,0.11571e-06_rb,0.28872e-08_rb /) kbo(:, 3,25, 1) = (/ & & 0.28495e-09_rb,0.78448e-07_rb,0.11385e-06_rb,0.13178e-06_rb,0.32061e-08_rb /) kbo(:, 4,25, 1) = (/ & & 0.26821e-09_rb,0.85339e-07_rb,0.12563e-06_rb,0.14914e-06_rb,0.35489e-08_rb /) kbo(:, 5,25, 1) = (/ & & 0.25332e-09_rb,0.92445e-07_rb,0.13814e-06_rb,0.16674e-06_rb,0.39060e-08_rb /) kbo(:, 1,26, 1) = (/ & & 0.26224e-09_rb,0.55680e-07_rb,0.76369e-07_rb,0.84400e-07_rb,0.21759e-08_rb /) kbo(:, 2,26, 1) = (/ & & 0.24504e-09_rb,0.60204e-07_rb,0.85423e-07_rb,0.97885e-07_rb,0.24118e-08_rb /) kbo(:, 3,26, 1) = (/ & & 0.22996e-09_rb,0.65477e-07_rb,0.95321e-07_rb,0.11093e-06_rb,0.26774e-08_rb /) kbo(:, 4,26, 1) = (/ & & 0.21663e-09_rb,0.71188e-07_rb,0.10529e-06_rb,0.12544e-06_rb,0.29615e-08_rb /) kbo(:, 5,26, 1) = (/ & & 0.20475e-09_rb,0.76940e-07_rb,0.11556e-06_rb,0.13977e-06_rb,0.32569e-08_rb /) kbo(:, 1,27, 1) = (/ & & 0.21120e-09_rb,0.46382e-07_rb,0.63894e-07_rb,0.71379e-07_rb,0.18178e-08_rb /) kbo(:, 2,27, 1) = (/ & & 0.19756e-09_rb,0.50278e-07_rb,0.72033e-07_rb,0.82909e-07_rb,0.20181e-08_rb /) kbo(:, 3,27, 1) = (/ & & 0.18557e-09_rb,0.54670e-07_rb,0.79953e-07_rb,0.93505e-07_rb,0.22396e-08_rb /) kbo(:, 4,27, 1) = (/ & & 0.17496e-09_rb,0.59408e-07_rb,0.88179e-07_rb,0.10553e-06_rb,0.24737e-08_rb /) kbo(:, 5,27, 1) = (/ & & 0.16549e-09_rb,0.64025e-07_rb,0.96696e-07_rb,0.11704e-06_rb,0.27092e-08_rb /) kbo(:, 1,28, 1) = (/ & & 0.17010e-09_rb,0.38631e-07_rb,0.53773e-07_rb,0.60579e-07_rb,0.15220e-08_rb /) kbo(:, 2,28, 1) = (/ & & 0.15928e-09_rb,0.42001e-07_rb,0.60660e-07_rb,0.69727e-07_rb,0.16901e-08_rb /) kbo(:, 3,28, 1) = (/ & & 0.14976e-09_rb,0.45661e-07_rb,0.67065e-07_rb,0.78845e-07_rb,0.18696e-08_rb /) kbo(:, 4,28, 1) = (/ & & 0.14131e-09_rb,0.49571e-07_rb,0.73809e-07_rb,0.88481e-07_rb,0.20611e-08_rb /) kbo(:, 5,28, 1) = (/ & & 0.13376e-09_rb,0.53304e-07_rb,0.80910e-07_rb,0.98017e-07_rb,0.22565e-08_rb /) kbo(:, 1,29, 1) = (/ & & 0.13696e-09_rb,0.32270e-07_rb,0.45392e-07_rb,0.51438e-07_rb,0.12721e-08_rb /) kbo(:, 2,29, 1) = (/ & & 0.12839e-09_rb,0.35079e-07_rb,0.50946e-07_rb,0.58726e-07_rb,0.14118e-08_rb /) kbo(:, 3,29, 1) = (/ & & 0.12082e-09_rb,0.38150e-07_rb,0.56258e-07_rb,0.66493e-07_rb,0.15628e-08_rb /) kbo(:, 4,29, 1) = (/ & & 0.11410e-09_rb,0.41324e-07_rb,0.61843e-07_rb,0.74387e-07_rb,0.17205e-08_rb /) kbo(:, 5,29, 1) = (/ & & 0.10808e-09_rb,0.44387e-07_rb,0.67739e-07_rb,0.82216e-07_rb,0.18745e-08_rb /) kbo(:, 1,30, 1) = (/ & & 0.11029e-09_rb,0.26970e-07_rb,0.38330e-07_rb,0.43698e-07_rb,0.10655e-08_rb /) kbo(:, 2,30, 1) = (/ & & 0.10349e-09_rb,0.29319e-07_rb,0.42739e-07_rb,0.49552e-07_rb,0.11823e-08_rb /) kbo(:, 3,30, 1) = (/ & & 0.97483e-10_rb,0.31869e-07_rb,0.47210e-07_rb,0.56057e-07_rb,0.13038e-08_rb /) kbo(:, 4,30, 1) = (/ & & 0.92133e-10_rb,0.34436e-07_rb,0.51812e-07_rb,0.62485e-07_rb,0.14285e-08_rb /) kbo(:, 5,30, 1) = (/ & & 0.87340e-10_rb,0.36953e-07_rb,0.56709e-07_rb,0.68921e-07_rb,0.15563e-08_rb /) kbo(:, 1,31, 1) = (/ & & 0.88806e-10_rb,0.22555e-07_rb,0.32386e-07_rb,0.37129e-07_rb,0.89029e-09_rb /) kbo(:, 2,31, 1) = (/ & & 0.83417e-10_rb,0.24519e-07_rb,0.35921e-07_rb,0.41870e-07_rb,0.98548e-09_rb /) kbo(:, 3,31, 1) = (/ & & 0.78644e-10_rb,0.26638e-07_rb,0.39609e-07_rb,0.47273e-07_rb,0.10854e-08_rb /) kbo(:, 4,31, 1) = (/ & & 0.74388e-10_rb,0.28694e-07_rb,0.43423e-07_rb,0.52435e-07_rb,0.11880e-08_rb /) kbo(:, 5,31, 1) = (/ & & 0.70568e-10_rb,0.30776e-07_rb,0.47411e-07_rb,0.57750e-07_rb,0.12931e-08_rb /) kbo(:, 1,32, 1) = (/ & & 0.71507e-10_rb,0.18870e-07_rb,0.27332e-07_rb,0.31309e-07_rb,0.74436e-09_rb /) kbo(:, 2,32, 1) = (/ & & 0.67235e-10_rb,0.20512e-07_rb,0.30189e-07_rb,0.35407e-07_rb,0.82294e-09_rb /) kbo(:, 3,32, 1) = (/ & & 0.63444e-10_rb,0.22259e-07_rb,0.33218e-07_rb,0.39730e-07_rb,0.90483e-09_rb /) kbo(:, 4,32, 1) = (/ & & 0.60058e-10_rb,0.23923e-07_rb,0.36405e-07_rb,0.43976e-07_rb,0.98908e-09_rb /) kbo(:, 5,32, 1) = (/ & & 0.57015e-10_rb,0.25634e-07_rb,0.39548e-07_rb,0.48346e-07_rb,0.10750e-08_rb /) kbo(:, 1,33, 1) = (/ & & 0.57586e-10_rb,0.15779e-07_rb,0.22950e-07_rb,0.26415e-07_rb,0.62256e-09_rb /) kbo(:, 2,33, 1) = (/ & & 0.54199e-10_rb,0.17153e-07_rb,0.25354e-07_rb,0.29904e-07_rb,0.68734e-09_rb /) kbo(:, 3,33, 1) = (/ & & 0.51188e-10_rb,0.18569e-07_rb,0.27869e-07_rb,0.33404e-07_rb,0.75467e-09_rb /) kbo(:, 4,33, 1) = (/ & & 0.48493e-10_rb,0.19935e-07_rb,0.30437e-07_rb,0.36856e-07_rb,0.82369e-09_rb /) kbo(:, 5,33, 1) = (/ & & 0.46069e-10_rb,0.21345e-07_rb,0.32988e-07_rb,0.40478e-07_rb,0.89402e-09_rb /) kbo(:, 1,34, 1) = (/ & & 0.46487e-10_rb,0.13161e-07_rb,0.19216e-07_rb,0.22212e-07_rb,0.51910e-09_rb /) kbo(:, 2,34, 1) = (/ & & 0.43789e-10_rb,0.14301e-07_rb,0.21182e-07_rb,0.25090e-07_rb,0.57247e-09_rb /) kbo(:, 3,34, 1) = (/ & & 0.41386e-10_rb,0.15447e-07_rb,0.23208e-07_rb,0.27938e-07_rb,0.62767e-09_rb /) kbo(:, 4,34, 1) = (/ & & 0.39234e-10_rb,0.16571e-07_rb,0.25347e-07_rb,0.30795e-07_rb,0.68426e-09_rb /) kbo(:, 5,34, 1) = (/ & & 0.37294e-10_rb,0.17725e-07_rb,0.27392e-07_rb,0.33781e-07_rb,0.74179e-09_rb /) kbo(:, 1,35, 1) = (/ & & 0.37756e-10_rb,0.10890e-07_rb,0.15882e-07_rb,0.18441e-07_rb,0.42871e-09_rb /) kbo(:, 2,35, 1) = (/ & & 0.35581e-10_rb,0.11830e-07_rb,0.17514e-07_rb,0.20810e-07_rb,0.47251e-09_rb /) kbo(:, 3,35, 1) = (/ & & 0.33643e-10_rb,0.12757e-07_rb,0.19184e-07_rb,0.23148e-07_rb,0.51769e-09_rb /) kbo(:, 4,35, 1) = (/ & & 0.31905e-10_rb,0.13682e-07_rb,0.20941e-07_rb,0.25477e-07_rb,0.56394e-09_rb /) kbo(:, 5,35, 1) = (/ & & 0.30338e-10_rb,0.14628e-07_rb,0.22613e-07_rb,0.27948e-07_rb,0.61100e-09_rb /) kbo(:, 1,36, 1) = (/ & & 0.30872e-10_rb,0.89290e-08_rb,0.13007e-07_rb,0.15108e-07_rb,0.35034e-09_rb /) kbo(:, 2,36, 1) = (/ & & 0.29096e-10_rb,0.96995e-08_rb,0.14343e-07_rb,0.17051e-07_rb,0.38609e-09_rb /) kbo(:, 3,36, 1) = (/ & & 0.27513e-10_rb,0.10456e-07_rb,0.15713e-07_rb,0.18968e-07_rb,0.42296e-09_rb /) kbo(:, 4,36, 1) = (/ & & 0.26093e-10_rb,0.11213e-07_rb,0.17153e-07_rb,0.20875e-07_rb,0.46073e-09_rb /) kbo(:, 5,36, 1) = (/ & & 0.24812e-10_rb,0.11987e-07_rb,0.18522e-07_rb,0.22899e-07_rb,0.49916e-09_rb /) kbo(:, 1,37, 1) = (/ & & 0.25479e-10_rb,0.72338e-08_rb,0.10508e-07_rb,0.12165e-07_rb,0.28268e-09_rb /) kbo(:, 2,37, 1) = (/ & & 0.24002e-10_rb,0.78593e-08_rb,0.11594e-07_rb,0.13747e-07_rb,0.31173e-09_rb /) kbo(:, 3,37, 1) = (/ & & 0.22687e-10_rb,0.84845e-08_rb,0.12712e-07_rb,0.15315e-07_rb,0.34178e-09_rb /) kbo(:, 4,37, 1) = (/ & & 0.21508e-10_rb,0.90997e-08_rb,0.13892e-07_rb,0.16886e-07_rb,0.37260e-09_rb /) kbo(:, 5,37, 1) = (/ & & 0.20446e-10_rb,0.97322e-08_rb,0.15012e-07_rb,0.18526e-07_rb,0.40398e-09_rb /) kbo(:, 1,38, 1) = (/ & & 0.21041e-10_rb,0.58565e-08_rb,0.84831e-08_rb,0.97892e-08_rb,0.22791e-09_rb /) kbo(:, 2,38, 1) = (/ & & 0.19811e-10_rb,0.63636e-08_rb,0.93619e-08_rb,0.11072e-07_rb,0.25148e-09_rb /) kbo(:, 3,38, 1) = (/ & & 0.18717e-10_rb,0.68784e-08_rb,0.10276e-07_rb,0.12360e-07_rb,0.27595e-09_rb /) kbo(:, 4,38, 1) = (/ & & 0.17738e-10_rb,0.73792e-08_rb,0.11234e-07_rb,0.13638e-07_rb,0.30109e-09_rb /) kbo(:, 5,38, 1) = (/ & & 0.16856e-10_rb,0.78971e-08_rb,0.12166e-07_rb,0.14977e-07_rb,0.32671e-09_rb /) kbo(:, 1,39, 1) = (/ & & 0.17377e-10_rb,0.47418e-08_rb,0.68561e-08_rb,0.78795e-08_rb,0.18373e-09_rb /) kbo(:, 2,39, 1) = (/ & & 0.16353e-10_rb,0.51532e-08_rb,0.75620e-08_rb,0.89128e-08_rb,0.20284e-09_rb /) kbo(:, 3,39, 1) = (/ & & 0.15443e-10_rb,0.55752e-08_rb,0.83069e-08_rb,0.99666e-08_rb,0.22279e-09_rb /) kbo(:, 4,39, 1) = (/ & & 0.14629e-10_rb,0.59857e-08_rb,0.90872e-08_rb,0.11011e-07_rb,0.24327e-09_rb /) kbo(:, 5,39, 1) = (/ & & 0.13896e-10_rb,0.64086e-08_rb,0.98616e-08_rb,0.12104e-07_rb,0.26420e-09_rb /) kbo(:, 1,40, 1) = (/ & & 0.14445e-10_rb,0.38091e-08_rb,0.54799e-08_rb,0.62754e-08_rb,0.14679e-09_rb /) kbo(:, 2,40, 1) = (/ & & 0.13581e-10_rb,0.41391e-08_rb,0.60530e-08_rb,0.70909e-08_rb,0.16220e-09_rb /) kbo(:, 3,40, 1) = (/ & & 0.12815e-10_rb,0.44888e-08_rb,0.66555e-08_rb,0.79532e-08_rb,0.17842e-09_rb /) kbo(:, 4,40, 1) = (/ & & 0.12131e-10_rb,0.48207e-08_rb,0.72855e-08_rb,0.88071e-08_rb,0.19509e-09_rb /) kbo(:, 5,40, 1) = (/ & & 0.11516e-10_rb,0.51646e-08_rb,0.79268e-08_rb,0.96932e-08_rb,0.21214e-09_rb /) kbo(:, 1,41, 1) = (/ & & 0.12021e-10_rb,0.30566e-08_rb,0.43606e-08_rb,0.49921e-08_rb,0.11713e-09_rb /) kbo(:, 2,41, 1) = (/ & & 0.11291e-10_rb,0.33205e-08_rb,0.48340e-08_rb,0.56256e-08_rb,0.12954e-09_rb /) kbo(:, 3,41, 1) = (/ & & 0.10645e-10_rb,0.36053e-08_rb,0.53261e-08_rb,0.63473e-08_rb,0.14269e-09_rb /) kbo(:, 4,41, 1) = (/ & & 0.10069e-10_rb,0.38782e-08_rb,0.58347e-08_rb,0.70386e-08_rb,0.15624e-09_rb /) kbo(:, 5,41, 1) = (/ & & 0.95520e-11_rb,0.41580e-08_rb,0.63647e-08_rb,0.77515e-08_rb,0.17013e-09_rb /) kbo(:, 1,42, 1) = (/ & & 0.10007e-10_rb,0.24516e-08_rb,0.34653e-08_rb,0.39398e-08_rb,0.93475e-10_rb /) kbo(:, 2,42, 1) = (/ & & 0.93902e-11_rb,0.26631e-08_rb,0.38588e-08_rb,0.44635e-08_rb,0.10342e-09_rb /) kbo(:, 3,42, 1) = (/ & & 0.88449e-11_rb,0.28926e-08_rb,0.42600e-08_rb,0.50466e-08_rb,0.11406e-09_rb /) kbo(:, 4,42, 1) = (/ & & 0.83594e-11_rb,0.31198e-08_rb,0.46719e-08_rb,0.56218e-08_rb,0.12507e-09_rb /) kbo(:, 5,42, 1) = (/ & & 0.79244e-11_rb,0.33465e-08_rb,0.51065e-08_rb,0.61999e-08_rb,0.13640e-09_rb /) kbo(:, 1,43, 1) = (/ & & 0.83647e-11_rb,0.19578e-08_rb,0.27341e-08_rb,0.30827e-08_rb,0.74277e-10_rb /) kbo(:, 2,43, 1) = (/ & & 0.78389e-11_rb,0.21263e-08_rb,0.30690e-08_rb,0.35212e-08_rb,0.82118e-10_rb /) kbo(:, 3,43, 1) = (/ & & 0.73752e-11_rb,0.23103e-08_rb,0.33865e-08_rb,0.39836e-08_rb,0.90672e-10_rb /) kbo(:, 4,43, 1) = (/ & & 0.69633e-11_rb,0.24984e-08_rb,0.37198e-08_rb,0.44569e-08_rb,0.99628e-10_rb /) kbo(:, 5,43, 1) = (/ & & 0.65950e-11_rb,0.26833e-08_rb,0.40709e-08_rb,0.49265e-08_rb,0.10883e-09_rb /) kbo(:, 1,44, 1) = (/ & & 0.70070e-11_rb,0.15628e-08_rb,0.21521e-08_rb,0.24017e-08_rb,0.59116e-10_rb /) kbo(:, 2,44, 1) = (/ & & 0.65570e-11_rb,0.16954e-08_rb,0.24254e-08_rb,0.27772e-08_rb,0.65027e-10_rb /) kbo(:, 3,44, 1) = (/ & & 0.61612e-11_rb,0.18413e-08_rb,0.26845e-08_rb,0.31310e-08_rb,0.71892e-10_rb /) kbo(:, 4,44, 1) = (/ & & 0.58106e-11_rb,0.19977e-08_rb,0.29542e-08_rb,0.35211e-08_rb,0.79144e-10_rb /) kbo(:, 5,44, 1) = (/ & & 0.54976e-11_rb,0.21464e-08_rb,0.32360e-08_rb,0.39045e-08_rb,0.86629e-10_rb /) kbo(:, 1,45, 1) = (/ & & 0.58728e-11_rb,0.12500e-08_rb,0.17079e-08_rb,0.18743e-08_rb,0.46646e-10_rb /) kbo(:, 2,45, 1) = (/ & & 0.54873e-11_rb,0.13505e-08_rb,0.19105e-08_rb,0.21719e-08_rb,0.51499e-10_rb /) kbo(:, 3,45, 1) = (/ & & 0.51492e-11_rb,0.14670e-08_rb,0.21250e-08_rb,0.24590e-08_rb,0.56982e-10_rb /) kbo(:, 4,45, 1) = (/ & & 0.48504e-11_rb,0.15931e-08_rb,0.23464e-08_rb,0.27802e-08_rb,0.62839e-10_rb /) kbo(:, 5,45, 1) = (/ & & 0.45844e-11_rb,0.17167e-08_rb,0.25731e-08_rb,0.30954e-08_rb,0.68908e-10_rb /) kbo(:, 1,46, 1) = (/ & & 0.49328e-11_rb,0.99811e-09_rb,0.13397e-08_rb,0.14457e-08_rb,0.36694e-10_rb /) kbo(:, 2,46, 1) = (/ & & 0.46012e-11_rb,0.10742e-08_rb,0.14986e-08_rb,0.16875e-08_rb,0.40742e-10_rb /) kbo(:, 3,46, 1) = (/ & & 0.43113e-11_rb,0.11665e-08_rb,0.16813e-08_rb,0.19281e-08_rb,0.45049e-10_rb /) kbo(:, 4,46, 1) = (/ & & 0.40558e-11_rb,0.12673e-08_rb,0.18567e-08_rb,0.21817e-08_rb,0.49751e-10_rb /) kbo(:, 5,46, 1) = (/ & & 0.38288e-11_rb,0.13702e-08_rb,0.20399e-08_rb,0.24419e-08_rb,0.54679e-10_rb /) kbo(:, 1,47, 1) = (/ & & 0.41592e-11_rb,0.79205e-09_rb,0.10438e-08_rb,0.11055e-08_rb,0.28709e-10_rb /) kbo(:, 2,47, 1) = (/ & & 0.38717e-11_rb,0.85357e-09_rb,0.11710e-08_rb,0.13015e-08_rb,0.32198e-10_rb /) kbo(:, 3,47, 1) = (/ & & 0.36215e-11_rb,0.92515e-09_rb,0.13196e-08_rb,0.15103e-08_rb,0.35448e-10_rb /) kbo(:, 4,47, 1) = (/ & & 0.34016e-11_rb,0.10046e-08_rb,0.14619e-08_rb,0.17010e-08_rb,0.39203e-10_rb /) kbo(:, 5,47, 1) = (/ & & 0.32069e-11_rb,0.10904e-08_rb,0.16100e-08_rb,0.19168e-08_rb,0.43187e-10_rb /) kbo(:, 1,48, 1) = (/ & & 0.35100e-11_rb,0.62849e-09_rb,0.81319e-09_rb,0.84567e-09_rb,0.22456e-10_rb /) kbo(:, 2,48, 1) = (/ & & 0.32605e-11_rb,0.68021e-09_rb,0.92169e-09_rb,0.10040e-08_rb,0.25229e-10_rb /) kbo(:, 3,48, 1) = (/ & & 0.30441e-11_rb,0.73294e-09_rb,0.10314e-08_rb,0.11665e-08_rb,0.27903e-10_rb /) kbo(:, 4,48, 1) = (/ & & 0.28547e-11_rb,0.79615e-09_rb,0.11495e-08_rb,0.13251e-08_rb,0.30879e-10_rb /) kbo(:, 5,48, 1) = (/ & & 0.26874e-11_rb,0.86463e-09_rb,0.12703e-08_rb,0.14994e-08_rb,0.34082e-10_rb /) kbo(:, 1,49, 1) = (/ & & 0.29649e-11_rb,0.49867e-09_rb,0.63572e-09_rb,0.64557e-09_rb,0.17554e-10_rb /) kbo(:, 2,49, 1) = (/ & & 0.27480e-11_rb,0.54124e-09_rb,0.71871e-09_rb,0.76840e-09_rb,0.19749e-10_rb /) kbo(:, 3,49, 1) = (/ & & 0.25606e-11_rb,0.58140e-09_rb,0.80413e-09_rb,0.90054e-09_rb,0.22012e-10_rb /) kbo(:, 4,49, 1) = (/ & & 0.23972e-11_rb,0.63097e-09_rb,0.90637e-09_rb,0.10349e-08_rb,0.24308e-10_rb /) kbo(:, 5,49, 1) = (/ & & 0.22534e-11_rb,0.68545e-09_rb,0.10006e-08_rb,0.11704e-08_rb,0.26872e-10_rb /) kbo(:, 1,50, 1) = (/ & & 0.25019e-11_rb,0.39853e-09_rb,0.49374e-09_rb,0.49615e-09_rb,0.13762e-10_rb /) kbo(:, 2,50, 1) = (/ & & 0.23136e-11_rb,0.42952e-09_rb,0.56141e-09_rb,0.58980e-09_rb,0.15500e-10_rb /) kbo(:, 3,50, 1) = (/ & & 0.21517e-11_rb,0.46334e-09_rb,0.63284e-09_rb,0.69788e-09_rb,0.17390e-10_rb /) kbo(:, 4,50, 1) = (/ & & 0.20110e-11_rb,0.50130e-09_rb,0.71124e-09_rb,0.80903e-09_rb,0.19184e-10_rb /) kbo(:, 5,50, 1) = (/ & & 0.18875e-11_rb,0.54446e-09_rb,0.78908e-09_rb,0.91435e-09_rb,0.21230e-10_rb /) kbo(:, 1,51, 1) = (/ & & 0.21111e-11_rb,0.31534e-09_rb,0.38552e-09_rb,0.38324e-09_rb,0.10851e-10_rb /) kbo(:, 2,51, 1) = (/ & & 0.19478e-11_rb,0.34179e-09_rb,0.43986e-09_rb,0.45355e-09_rb,0.12176e-10_rb /) kbo(:, 3,51, 1) = (/ & & 0.18079e-11_rb,0.37016e-09_rb,0.49835e-09_rb,0.53919e-09_rb,0.13683e-10_rb /) kbo(:, 4,51, 1) = (/ & & 0.16868e-11_rb,0.39846e-09_rb,0.55746e-09_rb,0.62805e-09_rb,0.15164e-10_rb /) kbo(:, 5,51, 1) = (/ & & 0.15809e-11_rb,0.43272e-09_rb,0.62310e-09_rb,0.71587e-09_rb,0.16785e-10_rb /) kbo(:, 1,52, 1) = (/ & & 0.17830e-11_rb,0.24939e-09_rb,0.30033e-09_rb,0.29708e-09_rb,0.85480e-11_rb /) kbo(:, 2,52, 1) = (/ & & 0.16410e-11_rb,0.27244e-09_rb,0.34467e-09_rb,0.34870e-09_rb,0.95642e-11_rb /) kbo(:, 3,52, 1) = (/ & & 0.15200e-11_rb,0.29507e-09_rb,0.39020e-09_rb,0.41505e-09_rb,0.10764e-10_rb /) kbo(:, 4,52, 1) = (/ & & 0.14156e-11_rb,0.31736e-09_rb,0.43693e-09_rb,0.48758e-09_rb,0.12016e-10_rb /) kbo(:, 5,52, 1) = (/ & & 0.13246e-11_rb,0.34409e-09_rb,0.49243e-09_rb,0.56181e-09_rb,0.13267e-10_rb /) kbo(:, 1,53, 1) = (/ & & 0.15074e-11_rb,0.19746e-09_rb,0.23442e-09_rb,0.23027e-09_rb,0.66942e-11_rb /) kbo(:, 2,53, 1) = (/ & & 0.13838e-11_rb,0.21754e-09_rb,0.26812e-09_rb,0.26865e-09_rb,0.75095e-11_rb /) kbo(:, 3,53, 1) = (/ & & 0.12789e-11_rb,0.23445e-09_rb,0.30510e-09_rb,0.31916e-09_rb,0.84626e-11_rb /) kbo(:, 4,53, 1) = (/ & & 0.11888e-11_rb,0.25305e-09_rb,0.34496e-09_rb,0.37906e-09_rb,0.94963e-11_rb /) kbo(:, 5,53, 1) = (/ & & 0.11106e-11_rb,0.27355e-09_rb,0.38680e-09_rb,0.43882e-09_rb,0.10486e-10_rb /) kbo(:, 1,54, 1) = (/ & & 0.12722e-11_rb,0.15676e-09_rb,0.18436e-09_rb,0.18188e-09_rb,0.52601e-11_rb /) kbo(:, 2,54, 1) = (/ & & 0.11649e-11_rb,0.17256e-09_rb,0.21030e-09_rb,0.20876e-09_rb,0.59465e-11_rb /) kbo(:, 3,54, 1) = (/ & & 0.10743e-11_rb,0.18706e-09_rb,0.24022e-09_rb,0.24657e-09_rb,0.66750e-11_rb /) kbo(:, 4,54, 1) = (/ & & 0.99683e-12_rb,0.20263e-09_rb,0.27206e-09_rb,0.29337e-09_rb,0.75016e-11_rb /) kbo(:, 5,54, 1) = (/ & & 0.92975e-12_rb,0.21798e-09_rb,0.30420e-09_rb,0.34203e-09_rb,0.83182e-11_rb /) kbo(:, 1,55, 1) = (/ & & 0.10733e-11_rb,0.12552e-09_rb,0.14668e-09_rb,0.14477e-09_rb,0.41440e-11_rb /) kbo(:, 2,55, 1) = (/ & & 0.98027e-12_rb,0.13705e-09_rb,0.16480e-09_rb,0.16298e-09_rb,0.47137e-11_rb /) kbo(:, 3,55, 1) = (/ & & 0.90209e-12_rb,0.14966e-09_rb,0.18911e-09_rb,0.19117e-09_rb,0.52730e-11_rb /) kbo(:, 4,55, 1) = (/ & & 0.83546e-12_rb,0.16210e-09_rb,0.21410e-09_rb,0.22758e-09_rb,0.59349e-11_rb /) kbo(:, 5,55, 1) = (/ & & 0.77800e-12_rb,0.17423e-09_rb,0.23972e-09_rb,0.26725e-09_rb,0.66163e-11_rb /) kbo(:, 1,56, 1) = (/ & & 0.90624e-12_rb,0.99786e-10_rb,0.11674e-09_rb,0.11286e-09_rb,0.32776e-11_rb /) kbo(:, 2,56, 1) = (/ & & 0.82547e-12_rb,0.10897e-09_rb,0.12938e-09_rb,0.12705e-09_rb,0.37161e-11_rb /) kbo(:, 3,56, 1) = (/ & & 0.75791e-12_rb,0.12009e-09_rb,0.14804e-09_rb,0.14827e-09_rb,0.41646e-11_rb /) kbo(:, 4,56, 1) = (/ & & 0.70058e-12_rb,0.12925e-09_rb,0.16837e-09_rb,0.17630e-09_rb,0.46957e-11_rb /) kbo(:, 5,56, 1) = (/ & & 0.65131e-12_rb,0.13937e-09_rb,0.18999e-09_rb,0.20899e-09_rb,0.52742e-11_rb /) kbo(:, 1,57, 1) = (/ & & 0.76595e-12_rb,0.78822e-10_rb,0.93863e-10_rb,0.87529e-10_rb,0.26033e-11_rb /) kbo(:, 2,57, 1) = (/ & & 0.69568e-12_rb,0.86555e-10_rb,0.10190e-09_rb,0.10022e-09_rb,0.29288e-11_rb /) kbo(:, 3,57, 1) = (/ & & 0.63721e-12_rb,0.95385e-10_rb,0.11640e-09_rb,0.11533e-09_rb,0.32994e-11_rb /) kbo(:, 4,57, 1) = (/ & & 0.58782e-12_rb,0.10325e-09_rb,0.13264e-09_rb,0.13663e-09_rb,0.37186e-11_rb /) kbo(:, 5,57, 1) = (/ & & 0.54552e-12_rb,0.11173e-09_rb,0.15042e-09_rb,0.16253e-09_rb,0.41819e-11_rb /) kbo(:, 1,58, 1) = (/ & & 0.64693e-12_rb,0.62421e-10_rb,0.76174e-10_rb,0.68324e-10_rb,0.20833e-11_rb /) kbo(:, 2,58, 1) = (/ & & 0.58588e-12_rb,0.69278e-10_rb,0.81197e-10_rb,0.79691e-10_rb,0.23130e-11_rb /) kbo(:, 3,58, 1) = (/ & & 0.53535e-12_rb,0.75873e-10_rb,0.91414e-10_rb,0.90398e-10_rb,0.26350e-11_rb /) kbo(:, 4,58, 1) = (/ & & 0.49285e-12_rb,0.82653e-10_rb,0.10493e-09_rb,0.10617e-09_rb,0.29473e-11_rb /) kbo(:, 5,58, 1) = (/ & & 0.45660e-12_rb,0.89643e-10_rb,0.11861e-09_rb,0.12647e-09_rb,0.33231e-11_rb /) kbo(:, 1,59, 1) = (/ & & 0.53645e-12_rb,0.50557e-10_rb,0.62240e-10_rb,0.54854e-10_rb,0.16930e-11_rb /) kbo(:, 2,59, 1) = (/ & & 0.48523e-12_rb,0.56468e-10_rb,0.65604e-10_rb,0.64827e-10_rb,0.18702e-11_rb /) kbo(:, 3,59, 1) = (/ & & 0.44294e-12_rb,0.61442e-10_rb,0.73667e-10_rb,0.72688e-10_rb,0.21292e-11_rb /) kbo(:, 4,59, 1) = (/ & & 0.40744e-12_rb,0.67184e-10_rb,0.84490e-10_rb,0.85217e-10_rb,0.23832e-11_rb /) kbo(:, 5,59, 1) = (/ & & 0.37720e-12_rb,0.72657e-10_rb,0.95692e-10_rb,0.10144e-09_rb,0.26852e-11_rb /) kbo(:, 1,13, 2) = (/ & & 0.18323e-07_rb,0.86266e-05_rb,0.13728e-04_rb,0.15952e-04_rb,0.78927e-06_rb /) kbo(:, 2,13, 2) = (/ & & 0.16961e-07_rb,0.96203e-05_rb,0.15275e-04_rb,0.17863e-04_rb,0.93659e-06_rb /) kbo(:, 3,13, 2) = (/ & & 0.15787e-07_rb,0.10675e-04_rb,0.16924e-04_rb,0.19675e-04_rb,0.11050e-05_rb /) kbo(:, 4,13, 2) = (/ & & 0.14764e-07_rb,0.11779e-04_rb,0.18474e-04_rb,0.21320e-04_rb,0.12868e-05_rb /) kbo(:, 5,13, 2) = (/ & & 0.13865e-07_rb,0.12843e-04_rb,0.20029e-04_rb,0.23080e-04_rb,0.14565e-05_rb /) kbo(:, 1,14, 2) = (/ & & 0.14893e-07_rb,0.71882e-05_rb,0.11443e-04_rb,0.13271e-04_rb,0.65835e-06_rb /) kbo(:, 2,14, 2) = (/ & & 0.13793e-07_rb,0.80276e-05_rb,0.12732e-04_rb,0.14890e-04_rb,0.78132e-06_rb /) kbo(:, 3,14, 2) = (/ & & 0.12844e-07_rb,0.89189e-05_rb,0.14101e-04_rb,0.16339e-04_rb,0.92233e-06_rb /) kbo(:, 4,14, 2) = (/ & & 0.12017e-07_rb,0.98309e-05_rb,0.15384e-04_rb,0.17721e-04_rb,0.10676e-05_rb /) kbo(:, 5,14, 2) = (/ & & 0.11289e-07_rb,0.10704e-04_rb,0.16679e-04_rb,0.19194e-04_rb,0.12091e-05_rb /) kbo(:, 1,15, 2) = (/ & & 0.12096e-07_rb,0.59934e-05_rb,0.95449e-05_rb,0.11058e-04_rb,0.54969e-06_rb /) kbo(:, 2,15, 2) = (/ & & 0.11209e-07_rb,0.66932e-05_rb,0.10623e-04_rb,0.12407e-04_rb,0.65197e-06_rb /) kbo(:, 3,15, 2) = (/ & & 0.10443e-07_rb,0.74449e-05_rb,0.11746e-04_rb,0.13571e-04_rb,0.76940e-06_rb /) kbo(:, 4,15, 2) = (/ & & 0.97747e-08_rb,0.81948e-05_rb,0.12814e-04_rb,0.14732e-04_rb,0.88496e-06_rb /) kbo(:, 5,15, 2) = (/ & & 0.91864e-08_rb,0.89188e-05_rb,0.13883e-04_rb,0.15946e-04_rb,0.10023e-05_rb /) kbo(:, 1,16, 2) = (/ & & 0.98205e-08_rb,0.50027e-05_rb,0.79644e-05_rb,0.92248e-05_rb,0.45876e-06_rb /) kbo(:, 2,16, 2) = (/ & & 0.91061e-08_rb,0.55846e-05_rb,0.88593e-05_rb,0.10331e-04_rb,0.54334e-06_rb /) kbo(:, 3,16, 2) = (/ & & 0.84882e-08_rb,0.62183e-05_rb,0.97757e-05_rb,0.11279e-04_rb,0.64050e-06_rb /) kbo(:, 4,16, 2) = (/ & & 0.79486e-08_rb,0.68276e-05_rb,0.10664e-04_rb,0.12244e-04_rb,0.73344e-06_rb /) kbo(:, 5,16, 2) = (/ & & 0.74732e-08_rb,0.74268e-05_rb,0.11545e-04_rb,0.13224e-04_rb,0.82955e-06_rb /) kbo(:, 1,17, 2) = (/ & & 0.79753e-08_rb,0.41713e-05_rb,0.66153e-05_rb,0.76892e-05_rb,0.38247e-06_rb /) kbo(:, 2,17, 2) = (/ & & 0.73994e-08_rb,0.46562e-05_rb,0.73753e-05_rb,0.85922e-05_rb,0.45188e-06_rb /) kbo(:, 3,17, 2) = (/ & & 0.69008e-08_rb,0.51829e-05_rb,0.81280e-05_rb,0.93638e-05_rb,0.53211e-06_rb /) kbo(:, 4,17, 2) = (/ & & 0.64650e-08_rb,0.56765e-05_rb,0.88560e-05_rb,0.10168e-04_rb,0.60647e-06_rb /) kbo(:, 5,17, 2) = (/ & & 0.60807e-08_rb,0.61758e-05_rb,0.95894e-05_rb,0.10949e-04_rb,0.68549e-06_rb /) kbo(:, 1,18, 2) = (/ & & 0.64779e-08_rb,0.34727e-05_rb,0.54875e-05_rb,0.64000e-05_rb,0.31851e-06_rb /) kbo(:, 2,18, 2) = (/ & & 0.60135e-08_rb,0.38751e-05_rb,0.61308e-05_rb,0.71372e-05_rb,0.37552e-06_rb /) kbo(:, 3,18, 2) = (/ & & 0.56111e-08_rb,0.43132e-05_rb,0.67478e-05_rb,0.77698e-05_rb,0.44141e-06_rb /) kbo(:, 4,18, 2) = (/ & & 0.52590e-08_rb,0.47150e-05_rb,0.73444e-05_rb,0.84370e-05_rb,0.50075e-06_rb /) kbo(:, 5,18, 2) = (/ & & 0.49483e-08_rb,0.51345e-05_rb,0.79495e-05_rb,0.90637e-05_rb,0.56601e-06_rb /) kbo(:, 1,19, 2) = (/ & & 0.52627e-08_rb,0.28908e-05_rb,0.45586e-05_rb,0.53260e-05_rb,0.26516e-06_rb /) kbo(:, 2,19, 2) = (/ & & 0.48882e-08_rb,0.32260e-05_rb,0.50940e-05_rb,0.59200e-05_rb,0.31190e-06_rb /) kbo(:, 3,19, 2) = (/ & & 0.45632e-08_rb,0.35843e-05_rb,0.55992e-05_rb,0.64397e-05_rb,0.36608e-06_rb /) kbo(:, 4,19, 2) = (/ & & 0.42786e-08_rb,0.39167e-05_rb,0.60923e-05_rb,0.69972e-05_rb,0.41361e-06_rb /) kbo(:, 5,19, 2) = (/ & & 0.40273e-08_rb,0.42667e-05_rb,0.65904e-05_rb,0.75021e-05_rb,0.46741e-06_rb /) kbo(:, 1,20, 2) = (/ & & 0.42704e-08_rb,0.24074e-05_rb,0.37990e-05_rb,0.44458e-05_rb,0.22103e-06_rb /) kbo(:, 2,20, 2) = (/ & & 0.39690e-08_rb,0.26942e-05_rb,0.42393e-05_rb,0.49120e-05_rb,0.26014e-06_rb /) kbo(:, 3,20, 2) = (/ & & 0.37071e-08_rb,0.29827e-05_rb,0.46574e-05_rb,0.53487e-05_rb,0.30416e-06_rb /) kbo(:, 4,20, 2) = (/ & & 0.34776e-08_rb,0.32601e-05_rb,0.50635e-05_rb,0.58076e-05_rb,0.34304e-06_rb /) kbo(:, 5,20, 2) = (/ & & 0.32747e-08_rb,0.35518e-05_rb,0.54700e-05_rb,0.62197e-05_rb,0.38752e-06_rb /) kbo(:, 1,21, 2) = (/ & & 0.34649e-08_rb,0.20096e-05_rb,0.31689e-05_rb,0.37070e-05_rb,0.18424e-06_rb /) kbo(:, 2,21, 2) = (/ & & 0.32224e-08_rb,0.22503e-05_rb,0.35271e-05_rb,0.40784e-05_rb,0.21705e-06_rb /) kbo(:, 3,21, 2) = (/ & & 0.30114e-08_rb,0.24834e-05_rb,0.38737e-05_rb,0.44436e-05_rb,0.25229e-06_rb /) kbo(:, 4,21, 2) = (/ & & 0.28263e-08_rb,0.27149e-05_rb,0.42083e-05_rb,0.48061e-05_rb,0.28464e-06_rb /) kbo(:, 5,21, 2) = (/ & & 0.26626e-08_rb,0.29556e-05_rb,0.45394e-05_rb,0.51565e-05_rb,0.32148e-06_rb /) kbo(:, 1,22, 2) = (/ & & 0.27976e-08_rb,0.16913e-05_rb,0.26632e-05_rb,0.31108e-05_rb,0.15537e-06_rb /) kbo(:, 2,22, 2) = (/ & & 0.26043e-08_rb,0.18908e-05_rb,0.29553e-05_rb,0.34067e-05_rb,0.18311e-06_rb /) kbo(:, 3,22, 2) = (/ & & 0.24359e-08_rb,0.20811e-05_rb,0.32390e-05_rb,0.37110e-05_rb,0.21094e-06_rb /) kbo(:, 4,22, 2) = (/ & & 0.22878e-08_rb,0.22746e-05_rb,0.35144e-05_rb,0.40009e-05_rb,0.23816e-06_rb /) kbo(:, 5,22, 2) = (/ & & 0.21567e-08_rb,0.24714e-05_rb,0.37839e-05_rb,0.42910e-05_rb,0.26886e-06_rb /) kbo(:, 1,23, 2) = (/ & & 0.22583e-08_rb,0.14234e-05_rb,0.22388e-05_rb,0.26088e-05_rb,0.13143e-06_rb /) kbo(:, 2,23, 2) = (/ & & 0.21043e-08_rb,0.15864e-05_rb,0.24776e-05_rb,0.28493e-05_rb,0.15460e-06_rb /) kbo(:, 3,23, 2) = (/ & & 0.19699e-08_rb,0.17436e-05_rb,0.27072e-05_rb,0.31009e-05_rb,0.17669e-06_rb /) kbo(:, 4,23, 2) = (/ & & 0.18515e-08_rb,0.19057e-05_rb,0.29355e-05_rb,0.33308e-05_rb,0.19953e-06_rb /) kbo(:, 5,23, 2) = (/ & & 0.17465e-08_rb,0.20653e-05_rb,0.31542e-05_rb,0.35663e-05_rb,0.22501e-06_rb /) kbo(:, 1,24, 2) = (/ & & 0.18221e-08_rb,0.12001e-05_rb,0.18808e-05_rb,0.21868e-05_rb,0.11138e-06_rb /) kbo(:, 2,24, 2) = (/ & & 0.16995e-08_rb,0.13315e-05_rb,0.20779e-05_rb,0.23825e-05_rb,0.13068e-06_rb /) kbo(:, 3,24, 2) = (/ & & 0.15923e-08_rb,0.14625e-05_rb,0.22647e-05_rb,0.25884e-05_rb,0.14820e-06_rb /) kbo(:, 4,24, 2) = (/ & & 0.14978e-08_rb,0.15972e-05_rb,0.24512e-05_rb,0.27771e-05_rb,0.16734e-06_rb /) kbo(:, 5,24, 2) = (/ & & 0.14138e-08_rb,0.17254e-05_rb,0.26296e-05_rb,0.29649e-05_rb,0.18848e-06_rb /) kbo(:, 1,25, 2) = (/ & & 0.14693e-08_rb,0.10111e-05_rb,0.15809e-05_rb,0.18286e-05_rb,0.94366e-07_rb /) kbo(:, 2,25, 2) = (/ & & 0.13718e-08_rb,0.11199e-05_rb,0.17430e-05_rb,0.19952e-05_rb,0.11045e-06_rb /) kbo(:, 3,25, 2) = (/ & & 0.12864e-08_rb,0.12273e-05_rb,0.18957e-05_rb,0.21572e-05_rb,0.12445e-06_rb /) kbo(:, 4,25, 2) = (/ & & 0.12110e-08_rb,0.13373e-05_rb,0.20462e-05_rb,0.23162e-05_rb,0.14042e-06_rb /) kbo(:, 5,25, 2) = (/ & & 0.11438e-08_rb,0.14410e-05_rb,0.21916e-05_rb,0.24648e-05_rb,0.15767e-06_rb /) kbo(:, 1,26, 2) = (/ & & 0.11834e-08_rb,0.85331e-06_rb,0.13316e-05_rb,0.15329e-05_rb,0.80212e-07_rb /) kbo(:, 2,26, 2) = (/ & & 0.11061e-08_rb,0.94192e-06_rb,0.14626e-05_rb,0.16729e-05_rb,0.92775e-07_rb /) kbo(:, 3,26, 2) = (/ & & 0.10382e-08_rb,0.10317e-05_rb,0.15890e-05_rb,0.18006e-05_rb,0.10462e-06_rb /) kbo(:, 4,26, 2) = (/ & & 0.97810e-09_rb,0.11205e-05_rb,0.17099e-05_rb,0.19314e-05_rb,0.11800e-06_rb /) kbo(:, 5,26, 2) = (/ & & 0.92457e-09_rb,0.12034e-05_rb,0.18276e-05_rb,0.20504e-05_rb,0.13209e-06_rb /) kbo(:, 1,27, 2) = (/ & & 0.95311e-09_rb,0.71890e-06_rb,0.11218e-05_rb,0.12867e-05_rb,0.68084e-07_rb /) kbo(:, 2,27, 2) = (/ & & 0.89177e-09_rb,0.79258e-06_rb,0.12275e-05_rb,0.14019e-05_rb,0.77999e-07_rb /) kbo(:, 3,27, 2) = (/ & & 0.83781e-09_rb,0.86605e-06_rb,0.13308e-05_rb,0.15040e-05_rb,0.88027e-07_rb /) kbo(:, 4,27, 2) = (/ & & 0.78998e-09_rb,0.93815e-06_rb,0.14285e-05_rb,0.16091e-05_rb,0.99057e-07_rb /) kbo(:, 5,27, 2) = (/ & & 0.74729e-09_rb,0.10046e-05_rb,0.15236e-05_rb,0.17059e-05_rb,0.11074e-06_rb /) kbo(:, 1,28, 2) = (/ & & 0.76771e-09_rb,0.60623e-06_rb,0.94427e-06_rb,0.10796e-05_rb,0.57844e-07_rb /) kbo(:, 2,28, 2) = (/ & & 0.71904e-09_rb,0.66653e-06_rb,0.10298e-05_rb,0.11699e-05_rb,0.65726e-07_rb /) kbo(:, 3,28, 2) = (/ & & 0.67614e-09_rb,0.72689e-06_rb,0.11131e-05_rb,0.12568e-05_rb,0.74009e-07_rb /) kbo(:, 4,28, 2) = (/ & & 0.63806e-09_rb,0.78482e-06_rb,0.11927e-05_rb,0.13406e-05_rb,0.83200e-07_rb /) kbo(:, 5,28, 2) = (/ & & 0.60401e-09_rb,0.83806e-06_rb,0.12695e-05_rb,0.14186e-05_rb,0.92306e-07_rb /) kbo(:, 1,29, 2) = (/ & & 0.61817e-09_rb,0.51053e-06_rb,0.79450e-06_rb,0.90687e-06_rb,0.49078e-07_rb /) kbo(:, 2,29, 2) = (/ & & 0.57958e-09_rb,0.56071e-06_rb,0.86403e-06_rb,0.97690e-06_rb,0.55257e-07_rb /) kbo(:, 3,29, 2) = (/ & & 0.54551e-09_rb,0.61009e-06_rb,0.93077e-06_rb,0.10495e-05_rb,0.62286e-07_rb /) kbo(:, 4,29, 2) = (/ & & 0.51520e-09_rb,0.65631e-06_rb,0.99567e-06_rb,0.11159e-05_rb,0.69954e-07_rb /) kbo(:, 5,29, 2) = (/ & & 0.48806e-09_rb,0.69830e-06_rb,0.10576e-05_rb,0.11790e-05_rb,0.77228e-07_rb /) kbo(:, 1,30, 2) = (/ & & 0.49783e-09_rb,0.43014e-06_rb,0.66732e-06_rb,0.76058e-06_rb,0.41306e-07_rb /) kbo(:, 2,30, 2) = (/ & & 0.46723e-09_rb,0.47148e-06_rb,0.72434e-06_rb,0.81682e-06_rb,0.46537e-07_rb /) kbo(:, 3,30, 2) = (/ & & 0.44015e-09_rb,0.51146e-06_rb,0.77809e-06_rb,0.87537e-06_rb,0.52451e-07_rb /) kbo(:, 4,30, 2) = (/ & & 0.41603e-09_rb,0.54877e-06_rb,0.83073e-06_rb,0.92884e-06_rb,0.58793e-07_rb /) kbo(:, 5,30, 2) = (/ & & 0.39440e-09_rb,0.58159e-06_rb,0.88054e-06_rb,0.98030e-06_rb,0.64630e-07_rb /) kbo(:, 1,31, 2) = (/ & & 0.40087e-09_rb,0.36256e-06_rb,0.56062e-06_rb,0.63549e-06_rb,0.34778e-07_rb /) kbo(:, 2,31, 2) = (/ & & 0.37660e-09_rb,0.39620e-06_rb,0.60674e-06_rb,0.68313e-06_rb,0.39213e-07_rb /) kbo(:, 3,31, 2) = (/ & & 0.35510e-09_rb,0.42855e-06_rb,0.65037e-06_rb,0.72999e-06_rb,0.44176e-07_rb /) kbo(:, 4,31, 2) = (/ & & 0.33590e-09_rb,0.45852e-06_rb,0.69308e-06_rb,0.77338e-06_rb,0.49424e-07_rb /) kbo(:, 5,31, 2) = (/ & & 0.31866e-09_rb,0.48459e-06_rb,0.73297e-06_rb,0.81484e-06_rb,0.54137e-07_rb /) kbo(:, 1,32, 2) = (/ & & 0.32280e-09_rb,0.30547e-06_rb,0.47083e-06_rb,0.53147e-06_rb,0.29353e-07_rb /) kbo(:, 2,32, 2) = (/ & & 0.30356e-09_rb,0.33271e-06_rb,0.50770e-06_rb,0.57112e-06_rb,0.33078e-07_rb /) kbo(:, 3,32, 2) = (/ & & 0.28647e-09_rb,0.35876e-06_rb,0.54339e-06_rb,0.60852e-06_rb,0.37211e-07_rb /) kbo(:, 4,32, 2) = (/ & & 0.27120e-09_rb,0.38214e-06_rb,0.57781e-06_rb,0.64354e-06_rb,0.41295e-07_rb /) kbo(:, 5,32, 2) = (/ & & 0.25746e-09_rb,0.40374e-06_rb,0.60990e-06_rb,0.67711e-06_rb,0.45362e-07_rb /) kbo(:, 1,33, 2) = (/ & & 0.25997e-09_rb,0.25723e-06_rb,0.39505e-06_rb,0.44467e-06_rb,0.24754e-07_rb /) kbo(:, 2,33, 2) = (/ & & 0.24471e-09_rb,0.27926e-06_rb,0.42469e-06_rb,0.47702e-06_rb,0.27907e-07_rb /) kbo(:, 3,33, 2) = (/ & & 0.23113e-09_rb,0.30024e-06_rb,0.45384e-06_rb,0.50672e-06_rb,0.31344e-07_rb /) kbo(:, 4,33, 2) = (/ & & 0.21898e-09_rb,0.31862e-06_rb,0.48142e-06_rb,0.53515e-06_rb,0.34590e-07_rb /) kbo(:, 5,33, 2) = (/ & & 0.20803e-09_rb,0.33624e-06_rb,0.50721e-06_rb,0.56242e-06_rb,0.37957e-07_rb /) kbo(:, 1,34, 2) = (/ & & 0.20987e-09_rb,0.21561e-06_rb,0.33035e-06_rb,0.37093e-06_rb,0.20801e-07_rb /) kbo(:, 2,34, 2) = (/ & & 0.19771e-09_rb,0.23356e-06_rb,0.35433e-06_rb,0.39723e-06_rb,0.23443e-07_rb /) kbo(:, 3,34, 2) = (/ & & 0.18688e-09_rb,0.25042e-06_rb,0.37804e-06_rb,0.42127e-06_rb,0.26271e-07_rb /) kbo(:, 4,34, 2) = (/ & & 0.17716e-09_rb,0.26514e-06_rb,0.40029e-06_rb,0.44433e-06_rb,0.28867e-07_rb /) kbo(:, 5,34, 2) = (/ & & 0.16840e-09_rb,0.27949e-06_rb,0.42102e-06_rb,0.46612e-06_rb,0.31620e-07_rb /) kbo(:, 1,35, 2) = (/ & & 0.17046e-09_rb,0.17909e-06_rb,0.27397e-06_rb,0.30730e-06_rb,0.17283e-07_rb /) kbo(:, 2,35, 2) = (/ & & 0.16066e-09_rb,0.19378e-06_rb,0.29367e-06_rb,0.32869e-06_rb,0.19456e-07_rb /) kbo(:, 3,35, 2) = (/ & & 0.15191e-09_rb,0.20716e-06_rb,0.31287e-06_rb,0.34820e-06_rb,0.21759e-07_rb /) kbo(:, 4,35, 2) = (/ & & 0.14407e-09_rb,0.21938e-06_rb,0.33090e-06_rb,0.36703e-06_rb,0.23854e-07_rb /) kbo(:, 5,35, 2) = (/ & & 0.13699e-09_rb,0.23115e-06_rb,0.34779e-06_rb,0.38459e-06_rb,0.26128e-07_rb /) kbo(:, 1,36, 2) = (/ & & 0.13938e-09_rb,0.14742e-06_rb,0.22535e-06_rb,0.25261e-06_rb,0.14145e-07_rb /) kbo(:, 2,36, 2) = (/ & & 0.13137e-09_rb,0.15949e-06_rb,0.24155e-06_rb,0.27011e-06_rb,0.15917e-07_rb /) kbo(:, 3,36, 2) = (/ & & 0.12423e-09_rb,0.17037e-06_rb,0.25721e-06_rb,0.28606e-06_rb,0.17809e-07_rb /) kbo(:, 4,36, 2) = (/ & & 0.11782e-09_rb,0.18044e-06_rb,0.27200e-06_rb,0.30149e-06_rb,0.19530e-07_rb /) kbo(:, 5,36, 2) = (/ & & 0.11204e-09_rb,0.19011e-06_rb,0.28582e-06_rb,0.31581e-06_rb,0.21391e-07_rb /) kbo(:, 1,37, 2) = (/ & & 0.11503e-09_rb,0.11991e-06_rb,0.18339e-06_rb,0.20540e-06_rb,0.11398e-07_rb /) kbo(:, 2,37, 2) = (/ & & 0.10837e-09_rb,0.12985e-06_rb,0.19670e-06_rb,0.21991e-06_rb,0.12829e-07_rb /) kbo(:, 3,37, 2) = (/ & & 0.10244e-09_rb,0.13895e-06_rb,0.20964e-06_rb,0.23310e-06_rb,0.14370e-07_rb /) kbo(:, 4,37, 2) = (/ & & 0.97122e-10_rb,0.14725e-06_rb,0.22183e-06_rb,0.24582e-06_rb,0.15790e-07_rb /) kbo(:, 5,37, 2) = (/ & & 0.92325e-10_rb,0.15526e-06_rb,0.23327e-06_rb,0.25767e-06_rb,0.17308e-07_rb /) kbo(:, 1,38, 2) = (/ & & 0.94990e-10_rb,0.97434e-07_rb,0.14912e-06_rb,0.16699e-06_rb,0.91745e-08_rb /) kbo(:, 2,38, 2) = (/ & & 0.89449e-10_rb,0.10563e-06_rb,0.16007e-06_rb,0.17890e-06_rb,0.10330e-07_rb /) kbo(:, 3,38, 2) = (/ & & 0.84516e-10_rb,0.11322e-06_rb,0.17071e-06_rb,0.18982e-06_rb,0.11585e-07_rb /) kbo(:, 4,38, 2) = (/ & & 0.80096e-10_rb,0.12009e-06_rb,0.18084e-06_rb,0.20030e-06_rb,0.12759e-07_rb /) kbo(:, 5,38, 2) = (/ & & 0.76113e-10_rb,0.12672e-06_rb,0.19028e-06_rb,0.21012e-06_rb,0.13992e-07_rb /) kbo(:, 1,39, 2) = (/ & & 0.78444e-10_rb,0.79147e-07_rb,0.12122e-06_rb,0.13573e-06_rb,0.73846e-08_rb /) kbo(:, 2,39, 2) = (/ & & 0.73832e-10_rb,0.85901e-07_rb,0.13022e-06_rb,0.14552e-06_rb,0.83180e-08_rb /) kbo(:, 3,39, 2) = (/ & & 0.69729e-10_rb,0.92230e-07_rb,0.13899e-06_rb,0.15459e-06_rb,0.93374e-08_rb /) kbo(:, 4,39, 2) = (/ & & 0.66056e-10_rb,0.97919e-07_rb,0.14737e-06_rb,0.16325e-06_rb,0.10307e-07_rb /) kbo(:, 5,39, 2) = (/ & & 0.62749e-10_rb,0.10341e-06_rb,0.15518e-06_rb,0.17133e-06_rb,0.11312e-07_rb /) kbo(:, 1,40, 2) = (/ & & 0.65207e-10_rb,0.63715e-07_rb,0.97755e-07_rb,0.10945e-06_rb,0.58831e-08_rb /) kbo(:, 2,40, 2) = (/ & & 0.61319e-10_rb,0.69289e-07_rb,0.10524e-06_rb,0.11757e-06_rb,0.66237e-08_rb /) kbo(:, 3,40, 2) = (/ & & 0.57866e-10_rb,0.74694e-07_rb,0.11245e-06_rb,0.12515e-06_rb,0.74455e-08_rb /) kbo(:, 4,40, 2) = (/ & & 0.54779e-10_rb,0.79359e-07_rb,0.11941e-06_rb,0.13229e-06_rb,0.82595e-08_rb /) kbo(:, 5,40, 2) = (/ & & 0.52003e-10_rb,0.83957e-07_rb,0.12593e-06_rb,0.13909e-06_rb,0.90698e-08_rb /) kbo(:, 1,41, 2) = (/ & & 0.54263e-10_rb,0.51172e-07_rb,0.78714e-07_rb,0.88183e-07_rb,0.46740e-08_rb /) kbo(:, 2,41, 2) = (/ & & 0.50978e-10_rb,0.55838e-07_rb,0.84939e-07_rb,0.94828e-07_rb,0.52655e-08_rb /) kbo(:, 3,41, 2) = (/ & & 0.48066e-10_rb,0.60328e-07_rb,0.90859e-07_rb,0.10118e-06_rb,0.59273e-08_rb /) kbo(:, 4,41, 2) = (/ & & 0.45467e-10_rb,0.64260e-07_rb,0.96667e-07_rb,0.10710e-06_rb,0.66279e-08_rb /) kbo(:, 5,41, 2) = (/ & & 0.43134e-10_rb,0.68089e-07_rb,0.10208e-06_rb,0.11279e-06_rb,0.72560e-08_rb /) kbo(:, 1,42, 2) = (/ & & 0.45170e-10_rb,0.41073e-07_rb,0.63333e-07_rb,0.71067e-07_rb,0.37185e-08_rb /) kbo(:, 2,42, 2) = (/ & & 0.42393e-10_rb,0.44964e-07_rb,0.68507e-07_rb,0.76455e-07_rb,0.41864e-08_rb /) kbo(:, 3,42, 2) = (/ & & 0.39936e-10_rb,0.48667e-07_rb,0.73382e-07_rb,0.81772e-07_rb,0.47157e-08_rb /) kbo(:, 4,42, 2) = (/ & & 0.37747e-10_rb,0.51996e-07_rb,0.78220e-07_rb,0.86689e-07_rb,0.52834e-08_rb /) kbo(:, 5,42, 2) = (/ & & 0.35784e-10_rb,0.55178e-07_rb,0.82739e-07_rb,0.91434e-07_rb,0.58040e-08_rb /) kbo(:, 1,43, 2) = (/ & & 0.37754e-10_rb,0.32770e-07_rb,0.50662e-07_rb,0.56979e-07_rb,0.29405e-08_rb /) kbo(:, 2,43, 2) = (/ & & 0.35387e-10_rb,0.35997e-07_rb,0.54993e-07_rb,0.61357e-07_rb,0.33066e-08_rb /) kbo(:, 3,43, 2) = (/ & & 0.33299e-10_rb,0.39073e-07_rb,0.59036e-07_rb,0.65793e-07_rb,0.37265e-08_rb /) kbo(:, 4,43, 2) = (/ & & 0.31442e-10_rb,0.41903e-07_rb,0.63014e-07_rb,0.69920e-07_rb,0.41848e-08_rb /) kbo(:, 5,43, 2) = (/ & & 0.29781e-10_rb,0.44546e-07_rb,0.66822e-07_rb,0.73849e-07_rb,0.46204e-08_rb /) kbo(:, 1,44, 2) = (/ & & 0.31623e-10_rb,0.26054e-07_rb,0.40405e-07_rb,0.45692e-07_rb,0.22918e-08_rb /) kbo(:, 2,44, 2) = (/ & & 0.29599e-10_rb,0.28713e-07_rb,0.44010e-07_rb,0.49122e-07_rb,0.26053e-08_rb /) kbo(:, 3,44, 2) = (/ & & 0.27817e-10_rb,0.31296e-07_rb,0.47391e-07_rb,0.52815e-07_rb,0.29353e-08_rb /) kbo(:, 4,44, 2) = (/ & & 0.26236e-10_rb,0.33677e-07_rb,0.50655e-07_rb,0.56264e-07_rb,0.33023e-08_rb /) kbo(:, 5,44, 2) = (/ & & 0.24825e-10_rb,0.35896e-07_rb,0.53863e-07_rb,0.59538e-07_rb,0.36730e-08_rb /) kbo(:, 1,45, 2) = (/ & & 0.26502e-10_rb,0.20705e-07_rb,0.32152e-07_rb,0.36448e-07_rb,0.17841e-08_rb /) kbo(:, 2,45, 2) = (/ & & 0.24768e-10_rb,0.22868e-07_rb,0.35185e-07_rb,0.39329e-07_rb,0.20515e-08_rb /) kbo(:, 3,45, 2) = (/ & & 0.23247e-10_rb,0.25027e-07_rb,0.37999e-07_rb,0.42338e-07_rb,0.23118e-08_rb /) kbo(:, 4,45, 2) = (/ & & 0.21900e-10_rb,0.27063e-07_rb,0.40694e-07_rb,0.45258e-07_rb,0.26048e-08_rb /) kbo(:, 5,45, 2) = (/ & & 0.20701e-10_rb,0.28901e-07_rb,0.43361e-07_rb,0.47969e-07_rb,0.29174e-08_rb /) kbo(:, 1,46, 2) = (/ & & 0.22258e-10_rb,0.16422e-07_rb,0.25480e-07_rb,0.28991e-07_rb,0.13830e-08_rb /) kbo(:, 2,46, 2) = (/ & & 0.20767e-10_rb,0.18158e-07_rb,0.28033e-07_rb,0.31442e-07_rb,0.16144e-08_rb /) kbo(:, 3,46, 2) = (/ & & 0.19462e-10_rb,0.19953e-07_rb,0.30402e-07_rb,0.33850e-07_rb,0.18162e-08_rb /) kbo(:, 4,46, 2) = (/ & & 0.18312e-10_rb,0.21658e-07_rb,0.32639e-07_rb,0.36308e-07_rb,0.20475e-08_rb /) kbo(:, 5,46, 2) = (/ & & 0.17289e-10_rb,0.23211e-07_rb,0.34839e-07_rb,0.38583e-07_rb,0.22994e-08_rb /) kbo(:, 1,47, 2) = (/ & & 0.18764e-10_rb,0.12951e-07_rb,0.20072e-07_rb,0.22982e-07_rb,0.10645e-08_rb /) kbo(:, 2,47, 2) = (/ & & 0.17473e-10_rb,0.14335e-07_rb,0.22214e-07_rb,0.25085e-07_rb,0.12479e-08_rb /) kbo(:, 3,47, 2) = (/ & & 0.16347e-10_rb,0.15813e-07_rb,0.24205e-07_rb,0.26971e-07_rb,0.14207e-08_rb /) kbo(:, 4,47, 2) = (/ & & 0.15357e-10_rb,0.17255e-07_rb,0.26075e-07_rb,0.29015e-07_rb,0.16008e-08_rb /) kbo(:, 5,47, 2) = (/ & & 0.14480e-10_rb,0.18558e-07_rb,0.27885e-07_rb,0.30922e-07_rb,0.18018e-08_rb /) kbo(:, 1,48, 2) = (/ & & 0.15833e-10_rb,0.10186e-07_rb,0.15782e-07_rb,0.18174e-07_rb,0.81718e-09_rb /) kbo(:, 2,48, 2) = (/ & & 0.14713e-10_rb,0.11312e-07_rb,0.17555e-07_rb,0.19891e-07_rb,0.96098e-09_rb /) kbo(:, 3,48, 2) = (/ & & 0.13740e-10_rb,0.12509e-07_rb,0.19248e-07_rb,0.21482e-07_rb,0.11112e-08_rb /) kbo(:, 4,48, 2) = (/ & & 0.12887e-10_rb,0.13719e-07_rb,0.20811e-07_rb,0.23140e-07_rb,0.12515e-08_rb /) kbo(:, 5,48, 2) = (/ & & 0.12134e-10_rb,0.14840e-07_rb,0.22313e-07_rb,0.24769e-07_rb,0.14105e-08_rb /) kbo(:, 1,49, 2) = (/ & & 0.13372e-10_rb,0.80050e-08_rb,0.12403e-07_rb,0.14283e-07_rb,0.63117e-09_rb /) kbo(:, 2,49, 2) = (/ & & 0.12398e-10_rb,0.89393e-08_rb,0.13840e-07_rb,0.15751e-07_rb,0.73907e-09_rb /) kbo(:, 3,49, 2) = (/ & & 0.11556e-10_rb,0.98821e-08_rb,0.15261e-07_rb,0.17104e-07_rb,0.86645e-09_rb /) kbo(:, 4,49, 2) = (/ & & 0.10821e-10_rb,0.10884e-07_rb,0.16582e-07_rb,0.18441e-07_rb,0.97829e-09_rb /) kbo(:, 5,49, 2) = (/ & & 0.10174e-10_rb,0.11841e-07_rb,0.17828e-07_rb,0.19804e-07_rb,0.11034e-08_rb /) kbo(:, 1,50, 2) = (/ & & 0.11282e-10_rb,0.62726e-08_rb,0.97478e-08_rb,0.11226e-07_rb,0.48398e-09_rb /) kbo(:, 2,50, 2) = (/ & & 0.10437e-10_rb,0.70546e-08_rb,0.10932e-07_rb,0.12518e-07_rb,0.57051e-09_rb /) kbo(:, 3,50, 2) = (/ & & 0.97101e-11_rb,0.78193e-08_rb,0.12114e-07_rb,0.13671e-07_rb,0.66997e-09_rb /) kbo(:, 4,50, 2) = (/ & & 0.90772e-11_rb,0.86379e-08_rb,0.13218e-07_rb,0.14712e-07_rb,0.76625e-09_rb /) kbo(:, 5,50, 2) = (/ & & 0.85216e-11_rb,0.94405e-08_rb,0.14258e-07_rb,0.15844e-07_rb,0.86488e-09_rb /) kbo(:, 1,51, 2) = (/ & & 0.95179e-11_rb,0.49251e-08_rb,0.76356e-08_rb,0.87761e-08_rb,0.37213e-09_rb /) kbo(:, 2,51, 2) = (/ & & 0.87856e-11_rb,0.55681e-08_rb,0.86220e-08_rb,0.99159e-08_rb,0.44074e-09_rb /) kbo(:, 3,51, 2) = (/ & & 0.81576e-11_rb,0.61930e-08_rb,0.95989e-08_rb,0.10865e-07_rb,0.51843e-09_rb /) kbo(:, 4,51, 2) = (/ & & 0.76131e-11_rb,0.68518e-08_rb,0.10539e-07_rb,0.11746e-07_rb,0.60210e-09_rb /) kbo(:, 5,51, 2) = (/ & & 0.71366e-11_rb,0.75206e-08_rb,0.11403e-07_rb,0.12659e-07_rb,0.67841e-09_rb /) kbo(:, 1,52, 2) = (/ & & 0.80368e-11_rb,0.38608e-08_rb,0.60010e-08_rb,0.68441e-08_rb,0.28848e-09_rb /) kbo(:, 2,52, 2) = (/ & & 0.74007e-11_rb,0.43903e-08_rb,0.67974e-08_rb,0.78127e-08_rb,0.34245e-09_rb /) kbo(:, 3,52, 2) = (/ & & 0.68577e-11_rb,0.49086e-08_rb,0.75959e-08_rb,0.86279e-08_rb,0.40106e-09_rb /) kbo(:, 4,52, 2) = (/ & & 0.63886e-11_rb,0.54297e-08_rb,0.83801e-08_rb,0.93778e-08_rb,0.47058e-09_rb /) kbo(:, 5,52, 2) = (/ & & 0.59795e-11_rb,0.59829e-08_rb,0.91103e-08_rb,0.10111e-07_rb,0.53218e-09_rb /) kbo(:, 1,53, 2) = (/ & & 0.67932e-11_rb,0.30102e-08_rb,0.47269e-08_rb,0.53395e-08_rb,0.22432e-09_rb /) kbo(:, 2,53, 2) = (/ & & 0.62397e-11_rb,0.34450e-08_rb,0.53458e-08_rb,0.61449e-08_rb,0.26282e-09_rb /) kbo(:, 3,53, 2) = (/ & & 0.57693e-11_rb,0.38768e-08_rb,0.60006e-08_rb,0.68613e-08_rb,0.31020e-09_rb /) kbo(:, 4,53, 2) = (/ & & 0.53647e-11_rb,0.43002e-08_rb,0.66533e-08_rb,0.74990e-08_rb,0.36446e-09_rb /) kbo(:, 5,53, 2) = (/ & & 0.50129e-11_rb,0.47527e-08_rb,0.72638e-08_rb,0.80717e-08_rb,0.41759e-09_rb /) kbo(:, 1,54, 2) = (/ & & 0.57320e-11_rb,0.23582e-08_rb,0.36837e-08_rb,0.41317e-08_rb,0.17477e-09_rb /) kbo(:, 2,54, 2) = (/ & & 0.52518e-11_rb,0.27163e-08_rb,0.42048e-08_rb,0.48208e-08_rb,0.20321e-09_rb /) kbo(:, 3,54, 2) = (/ & & 0.48457e-11_rb,0.30678e-08_rb,0.47472e-08_rb,0.54472e-08_rb,0.24081e-09_rb /) kbo(:, 4,54, 2) = (/ & & 0.44978e-11_rb,0.34148e-08_rb,0.52851e-08_rb,0.59735e-08_rb,0.28345e-09_rb /) kbo(:, 5,54, 2) = (/ & & 0.41963e-11_rb,0.37804e-08_rb,0.58001e-08_rb,0.64570e-08_rb,0.32923e-09_rb /) kbo(:, 1,55, 2) = (/ & & 0.48347e-11_rb,0.18534e-08_rb,0.28539e-08_rb,0.31828e-08_rb,0.13492e-09_rb /) kbo(:, 2,55, 2) = (/ & & 0.44186e-11_rb,0.21392e-08_rb,0.33190e-08_rb,0.37817e-08_rb,0.15848e-09_rb /) kbo(:, 3,55, 2) = (/ & & 0.40683e-11_rb,0.24320e-08_rb,0.37592e-08_rb,0.43156e-08_rb,0.18835e-09_rb /) kbo(:, 4,55, 2) = (/ & & 0.37693e-11_rb,0.27150e-08_rb,0.41999e-08_rb,0.47625e-08_rb,0.22076e-09_rb /) kbo(:, 5,55, 2) = (/ & & 0.35111e-11_rb,0.30082e-08_rb,0.46345e-08_rb,0.51736e-08_rb,0.25916e-09_rb /) kbo(:, 1,56, 2) = (/ & & 0.40813e-11_rb,0.14543e-08_rb,0.22038e-08_rb,0.24488e-08_rb,0.10328e-09_rb /) kbo(:, 2,56, 2) = (/ & & 0.37201e-11_rb,0.16813e-08_rb,0.26371e-08_rb,0.29640e-08_rb,0.12446e-09_rb /) kbo(:, 3,56, 2) = (/ & & 0.34175e-11_rb,0.19191e-08_rb,0.29747e-08_rb,0.34115e-08_rb,0.14604e-09_rb /) kbo(:, 4,56, 2) = (/ & & 0.31604e-11_rb,0.21575e-08_rb,0.33348e-08_rb,0.38018e-08_rb,0.17202e-09_rb /) kbo(:, 5,56, 2) = (/ & & 0.29391e-11_rb,0.23932e-08_rb,0.36930e-08_rb,0.41472e-08_rb,0.20235e-09_rb /) kbo(:, 1,57, 2) = (/ & & 0.34486e-11_rb,0.11480e-08_rb,0.17032e-08_rb,0.18771e-08_rb,0.78787e-10_rb /) kbo(:, 2,57, 2) = (/ & & 0.31345e-11_rb,0.13189e-08_rb,0.20615e-08_rb,0.23121e-08_rb,0.96832e-10_rb /) kbo(:, 3,57, 2) = (/ & & 0.28728e-11_rb,0.15144e-08_rb,0.23440e-08_rb,0.26863e-08_rb,0.11317e-09_rb /) kbo(:, 4,57, 2) = (/ & & 0.26513e-11_rb,0.17102e-08_rb,0.26436e-08_rb,0.30246e-08_rb,0.13393e-09_rb /) kbo(:, 5,57, 2) = (/ & & 0.24615e-11_rb,0.19022e-08_rb,0.29394e-08_rb,0.33135e-08_rb,0.15772e-09_rb /) kbo(:, 1,58, 2) = (/ & & 0.29119e-11_rb,0.89500e-09_rb,0.13020e-08_rb,0.14383e-08_rb,0.60253e-10_rb /) kbo(:, 2,58, 2) = (/ & & 0.26392e-11_rb,0.10369e-08_rb,0.16036e-08_rb,0.17891e-08_rb,0.75765e-10_rb /) kbo(:, 3,58, 2) = (/ & & 0.24132e-11_rb,0.11975e-08_rb,0.18523e-08_rb,0.21114e-08_rb,0.88260e-10_rb /) kbo(:, 4,58, 2) = (/ & & 0.22227e-11_rb,0.13570e-08_rb,0.20959e-08_rb,0.24045e-08_rb,0.10478e-09_rb /) kbo(:, 5,58, 2) = (/ & & 0.20601e-11_rb,0.15139e-08_rb,0.23406e-08_rb,0.26456e-08_rb,0.12331e-09_rb /) kbo(:, 1,59, 2) = (/ & & 0.24143e-11_rb,0.71851e-09_rb,0.10362e-08_rb,0.11516e-08_rb,0.48086e-10_rb /) kbo(:, 2,59, 2) = (/ & & 0.21857e-11_rb,0.83732e-09_rb,0.12892e-08_rb,0.14335e-08_rb,0.60630e-10_rb /) kbo(:, 3,59, 2) = (/ & & 0.19965e-11_rb,0.96815e-09_rb,0.14990e-08_rb,0.17039e-08_rb,0.71208e-10_rb /) kbo(:, 4,59, 2) = (/ & & 0.18374e-11_rb,0.10982e-08_rb,0.16973e-08_rb,0.19455e-08_rb,0.84514e-10_rb /) kbo(:, 5,59, 2) = (/ & & 0.17017e-11_rb,0.12277e-08_rb,0.18981e-08_rb,0.21472e-08_rb,0.99289e-10_rb /) kbo(:, 1,13, 3) = (/ & & 0.69497e-07_rb,0.55900e-04_rb,0.77634e-04_rb,0.83300e-04_rb,0.14419e-04_rb /) kbo(:, 2,13, 3) = (/ & & 0.64923e-07_rb,0.61779e-04_rb,0.85238e-04_rb,0.90458e-04_rb,0.15996e-04_rb /) kbo(:, 3,13, 3) = (/ & & 0.60920e-07_rb,0.67532e-04_rb,0.92811e-04_rb,0.97588e-04_rb,0.17622e-04_rb /) kbo(:, 4,13, 3) = (/ & & 0.57379e-07_rb,0.72876e-04_rb,0.10040e-03_rb,0.10455e-03_rb,0.19144e-04_rb /) kbo(:, 5,13, 3) = (/ & & 0.54220e-07_rb,0.77699e-04_rb,0.10784e-03_rb,0.11139e-03_rb,0.20671e-04_rb /) kbo(:, 1,14, 3) = (/ & & 0.56538e-07_rb,0.46627e-04_rb,0.64678e-04_rb,0.69399e-04_rb,0.12086e-04_rb /) kbo(:, 2,14, 3) = (/ & & 0.52839e-07_rb,0.51536e-04_rb,0.71080e-04_rb,0.75292e-04_rb,0.13414e-04_rb /) kbo(:, 3,14, 3) = (/ & & 0.49600e-07_rb,0.56334e-04_rb,0.77384e-04_rb,0.81277e-04_rb,0.14732e-04_rb /) kbo(:, 4,14, 3) = (/ & & 0.46731e-07_rb,0.60751e-04_rb,0.83753e-04_rb,0.87067e-04_rb,0.15973e-04_rb /) kbo(:, 5,14, 3) = (/ & & 0.44171e-07_rb,0.64792e-04_rb,0.89963e-04_rb,0.92617e-04_rb,0.17214e-04_rb /) kbo(:, 1,15, 3) = (/ & & 0.45963e-07_rb,0.38920e-04_rb,0.53921e-04_rb,0.57824e-04_rb,0.10089e-04_rb /) kbo(:, 2,15, 3) = (/ & & 0.42976e-07_rb,0.42987e-04_rb,0.59286e-04_rb,0.62615e-04_rb,0.11238e-04_rb /) kbo(:, 3,15, 3) = (/ & & 0.40358e-07_rb,0.47014e-04_rb,0.64557e-04_rb,0.67658e-04_rb,0.12293e-04_rb /) kbo(:, 4,15, 3) = (/ & & 0.38037e-07_rb,0.50641e-04_rb,0.69879e-04_rb,0.72487e-04_rb,0.13317e-04_rb /) kbo(:, 5,15, 3) = (/ & & 0.35964e-07_rb,0.54003e-04_rb,0.75064e-04_rb,0.77083e-04_rb,0.14321e-04_rb /) kbo(:, 1,16, 3) = (/ & & 0.37354e-07_rb,0.32479e-04_rb,0.44953e-04_rb,0.48146e-04_rb,0.84079e-05_rb /) kbo(:, 2,16, 3) = (/ & & 0.34944e-07_rb,0.35873e-04_rb,0.49454e-04_rb,0.52120e-04_rb,0.93405e-05_rb /) kbo(:, 3,16, 3) = (/ & & 0.32829e-07_rb,0.39220e-04_rb,0.53861e-04_rb,0.56293e-04_rb,0.10209e-04_rb /) kbo(:, 4,16, 3) = (/ & & 0.30952e-07_rb,0.42155e-04_rb,0.58309e-04_rb,0.60268e-04_rb,0.11080e-04_rb /) kbo(:, 5,16, 3) = (/ & & 0.29274e-07_rb,0.45014e-04_rb,0.62610e-04_rb,0.64184e-04_rb,0.11887e-04_rb /) kbo(:, 1,17, 3) = (/ & & 0.30364e-07_rb,0.27086e-04_rb,0.37451e-04_rb,0.39995e-04_rb,0.70049e-05_rb /) kbo(:, 2,17, 3) = (/ & & 0.28420e-07_rb,0.29919e-04_rb,0.41194e-04_rb,0.43367e-04_rb,0.77736e-05_rb /) kbo(:, 3,17, 3) = (/ & & 0.26710e-07_rb,0.32650e-04_rb,0.44902e-04_rb,0.46817e-04_rb,0.84838e-05_rb /) kbo(:, 4,17, 3) = (/ & & 0.25192e-07_rb,0.35098e-04_rb,0.48605e-04_rb,0.50103e-04_rb,0.92038e-05_rb /) kbo(:, 5,17, 3) = (/ & & 0.23833e-07_rb,0.37507e-04_rb,0.52188e-04_rb,0.53413e-04_rb,0.98607e-05_rb /) kbo(:, 1,18, 3) = (/ & & 0.24687e-07_rb,0.22581e-04_rb,0.31211e-04_rb,0.33220e-04_rb,0.58361e-05_rb /) kbo(:, 2,18, 3) = (/ & & 0.23116e-07_rb,0.24940e-04_rb,0.34308e-04_rb,0.36078e-04_rb,0.64640e-05_rb /) kbo(:, 3,18, 3) = (/ & & 0.21734e-07_rb,0.27181e-04_rb,0.37414e-04_rb,0.38933e-04_rb,0.70344e-05_rb /) kbo(:, 4,18, 3) = (/ & & 0.20506e-07_rb,0.29216e-04_rb,0.40517e-04_rb,0.41653e-04_rb,0.76276e-05_rb /) kbo(:, 5,18, 3) = (/ & & 0.19406e-07_rb,0.31237e-04_rb,0.43490e-04_rb,0.44397e-04_rb,0.81753e-05_rb /) kbo(:, 1,19, 3) = (/ & & 0.20074e-07_rb,0.18818e-04_rb,0.25999e-04_rb,0.27597e-04_rb,0.48662e-05_rb /) kbo(:, 2,19, 3) = (/ & & 0.18805e-07_rb,0.20784e-04_rb,0.28562e-04_rb,0.29993e-04_rb,0.53723e-05_rb /) kbo(:, 3,19, 3) = (/ & & 0.17688e-07_rb,0.22626e-04_rb,0.31151e-04_rb,0.32363e-04_rb,0.58377e-05_rb /) kbo(:, 4,19, 3) = (/ & & 0.16693e-07_rb,0.24300e-04_rb,0.33760e-04_rb,0.34629e-04_rb,0.63177e-05_rb /) kbo(:, 5,19, 3) = (/ & & 0.15802e-07_rb,0.25985e-04_rb,0.36226e-04_rb,0.36903e-04_rb,0.67742e-05_rb /) kbo(:, 1,20, 3) = (/ & & 0.16306e-07_rb,0.15717e-04_rb,0.21686e-04_rb,0.22959e-04_rb,0.40680e-05_rb /) kbo(:, 2,20, 3) = (/ & & 0.15283e-07_rb,0.17355e-04_rb,0.23826e-04_rb,0.24969e-04_rb,0.44706e-05_rb /) kbo(:, 3,20, 3) = (/ & & 0.14381e-07_rb,0.18856e-04_rb,0.25992e-04_rb,0.26912e-04_rb,0.48550e-05_rb /) kbo(:, 4,20, 3) = (/ & & 0.13578e-07_rb,0.20265e-04_rb,0.28162e-04_rb,0.28817e-04_rb,0.52355e-05_rb /) kbo(:, 5,20, 3) = (/ & & 0.12857e-07_rb,0.21638e-04_rb,0.30215e-04_rb,0.30707e-04_rb,0.56224e-05_rb /) kbo(:, 1,21, 3) = (/ & & 0.13245e-07_rb,0.13128e-04_rb,0.18091e-04_rb,0.19107e-04_rb,0.33880e-05_rb /) kbo(:, 2,21, 3) = (/ & & 0.12420e-07_rb,0.14495e-04_rb,0.19887e-04_rb,0.20794e-04_rb,0.37144e-05_rb /) kbo(:, 3,21, 3) = (/ & & 0.11692e-07_rb,0.15704e-04_rb,0.21703e-04_rb,0.22397e-04_rb,0.40415e-05_rb /) kbo(:, 4,21, 3) = (/ & & 0.11043e-07_rb,0.16904e-04_rb,0.23489e-04_rb,0.23984e-04_rb,0.43455e-05_rb /) kbo(:, 5,21, 3) = (/ & & 0.10460e-07_rb,0.18037e-04_rb,0.25197e-04_rb,0.25558e-04_rb,0.46662e-05_rb /) kbo(:, 1,22, 3) = (/ & & 0.10711e-07_rb,0.11044e-04_rb,0.15199e-04_rb,0.16008e-04_rb,0.28409e-05_rb /) kbo(:, 2,22, 3) = (/ & & 0.10052e-07_rb,0.12165e-04_rb,0.16699e-04_rb,0.17419e-04_rb,0.31041e-05_rb /) kbo(:, 3,22, 3) = (/ & & 0.94690e-08_rb,0.13158e-04_rb,0.18224e-04_rb,0.18733e-04_rb,0.33768e-05_rb /) kbo(:, 4,22, 3) = (/ & & 0.89484e-08_rb,0.14166e-04_rb,0.19691e-04_rb,0.20050e-04_rb,0.36237e-05_rb /) kbo(:, 5,22, 3) = (/ & & 0.84804e-08_rb,0.15085e-04_rb,0.21105e-04_rb,0.21356e-04_rb,0.38876e-05_rb /) kbo(:, 1,23, 3) = (/ & & 0.86606e-08_rb,0.93002e-05_rb,0.12775e-04_rb,0.13420e-04_rb,0.23815e-05_rb /) kbo(:, 2,23, 3) = (/ & & 0.81340e-08_rb,0.10210e-04_rb,0.14034e-04_rb,0.14552e-04_rb,0.25955e-05_rb /) kbo(:, 3,23, 3) = (/ & & 0.76671e-08_rb,0.11035e-04_rb,0.15302e-04_rb,0.15657e-04_rb,0.28150e-05_rb /) kbo(:, 4,23, 3) = (/ & & 0.72497e-08_rb,0.11863e-04_rb,0.16513e-04_rb,0.16770e-04_rb,0.30198e-05_rb /) kbo(:, 5,23, 3) = (/ & & 0.68739e-08_rb,0.12616e-04_rb,0.17664e-04_rb,0.17848e-04_rb,0.32387e-05_rb /) kbo(:, 1,24, 3) = (/ & & 0.69995e-08_rb,0.78392e-05_rb,0.10754e-04_rb,0.11250e-04_rb,0.19986e-05_rb /) kbo(:, 2,24, 3) = (/ & & 0.65790e-08_rb,0.85674e-05_rb,0.11806e-04_rb,0.12186e-04_rb,0.21738e-05_rb /) kbo(:, 3,24, 3) = (/ & & 0.62055e-08_rb,0.92664e-05_rb,0.12850e-04_rb,0.13103e-04_rb,0.23469e-05_rb /) kbo(:, 4,24, 3) = (/ & & 0.58710e-08_rb,0.99376e-05_rb,0.13854e-04_rb,0.14027e-04_rb,0.25195e-05_rb /) kbo(:, 5,24, 3) = (/ & & 0.55696e-08_rb,0.10527e-04_rb,0.14795e-04_rb,0.14917e-04_rb,0.26988e-05_rb /) kbo(:, 1,25, 3) = (/ & & 0.56538e-08_rb,0.66118e-05_rb,0.90610e-05_rb,0.94422e-05_rb,0.16753e-05_rb /) kbo(:, 2,25, 3) = (/ & & 0.53184e-08_rb,0.71986e-05_rb,0.99389e-05_rb,0.10209e-04_rb,0.18223e-05_rb /) kbo(:, 3,25, 3) = (/ & & 0.50199e-08_rb,0.77863e-05_rb,0.10800e-04_rb,0.10981e-04_rb,0.19590e-05_rb /) kbo(:, 4,25, 3) = (/ & & 0.47522e-08_rb,0.83415e-05_rb,0.11626e-04_rb,0.11737e-04_rb,0.21020e-05_rb /) kbo(:, 5,25, 3) = (/ & & 0.45105e-08_rb,0.88017e-05_rb,0.12373e-04_rb,0.12468e-04_rb,0.22498e-05_rb /) kbo(:, 1,26, 3) = (/ & & 0.45620e-08_rb,0.55749e-05_rb,0.76463e-05_rb,0.79285e-05_rb,0.14032e-05_rb /) kbo(:, 2,26, 3) = (/ & & 0.42950e-08_rb,0.60590e-05_rb,0.83822e-05_rb,0.85652e-05_rb,0.15255e-05_rb /) kbo(:, 3,26, 3) = (/ & & 0.40569e-08_rb,0.65510e-05_rb,0.90888e-05_rb,0.92116e-05_rb,0.16373e-05_rb /) kbo(:, 4,26, 3) = (/ & & 0.38429e-08_rb,0.69918e-05_rb,0.97604e-05_rb,0.98329e-05_rb,0.17561e-05_rb /) kbo(:, 5,26, 3) = (/ & & 0.36495e-08_rb,0.73566e-05_rb,0.10367e-04_rb,0.10429e-04_rb,0.18769e-05_rb /) kbo(:, 1,27, 3) = (/ & & 0.36809e-08_rb,0.46967e-05_rb,0.64580e-05_rb,0.66649e-05_rb,0.11786e-05_rb /) kbo(:, 2,27, 3) = (/ & & 0.34683e-08_rb,0.51072e-05_rb,0.70661e-05_rb,0.71902e-05_rb,0.12759e-05_rb /) kbo(:, 3,27, 3) = (/ & & 0.32784e-08_rb,0.55053e-05_rb,0.76470e-05_rb,0.77250e-05_rb,0.13691e-05_rb /) kbo(:, 4,27, 3) = (/ & & 0.31074e-08_rb,0.58474e-05_rb,0.81898e-05_rb,0.82340e-05_rb,0.14666e-05_rb /) kbo(:, 5,27, 3) = (/ & & 0.29526e-08_rb,0.61493e-05_rb,0.86815e-05_rb,0.87199e-05_rb,0.15650e-05_rb /) kbo(:, 1,28, 3) = (/ & & 0.29701e-08_rb,0.39582e-05_rb,0.54573e-05_rb,0.55959e-05_rb,0.99037e-06_rb /) kbo(:, 2,28, 3) = (/ & & 0.28008e-08_rb,0.43048e-05_rb,0.59546e-05_rb,0.60406e-05_rb,0.10659e-05_rb /) kbo(:, 3,28, 3) = (/ & & 0.26493e-08_rb,0.46277e-05_rb,0.64286e-05_rb,0.64745e-05_rb,0.11442e-05_rb /) kbo(:, 4,28, 3) = (/ & & 0.25127e-08_rb,0.48940e-05_rb,0.68612e-05_rb,0.68918e-05_rb,0.12250e-05_rb /) kbo(:, 5,28, 3) = (/ & & 0.23888e-08_rb,0.51428e-05_rb,0.72654e-05_rb,0.72865e-05_rb,0.13046e-05_rb /) kbo(:, 1,29, 3) = (/ & & 0.23958e-08_rb,0.33409e-05_rb,0.46115e-05_rb,0.47054e-05_rb,0.83021e-06_rb /) kbo(:, 2,29, 3) = (/ & & 0.22611e-08_rb,0.36267e-05_rb,0.50192e-05_rb,0.50754e-05_rb,0.89157e-06_rb /) kbo(:, 3,29, 3) = (/ & & 0.21402e-08_rb,0.38805e-05_rb,0.54053e-05_rb,0.54291e-05_rb,0.95663e-06_rb /) kbo(:, 4,29, 3) = (/ & & 0.20311e-08_rb,0.40929e-05_rb,0.57529e-05_rb,0.57685e-05_rb,0.10232e-05_rb /) kbo(:, 5,29, 3) = (/ & & 0.19320e-08_rb,0.43014e-05_rb,0.60684e-05_rb,0.60868e-05_rb,0.10874e-05_rb /) kbo(:, 1,30, 3) = (/ & & 0.19328e-08_rb,0.28217e-05_rb,0.38955e-05_rb,0.39562e-05_rb,0.69464e-06_rb /) kbo(:, 2,30, 3) = (/ & & 0.18255e-08_rb,0.30515e-05_rb,0.42293e-05_rb,0.42605e-05_rb,0.74588e-06_rb /) kbo(:, 3,30, 3) = (/ & & 0.17291e-08_rb,0.32496e-05_rb,0.45390e-05_rb,0.45501e-05_rb,0.79957e-06_rb /) kbo(:, 4,30, 3) = (/ & & 0.16419e-08_rb,0.34235e-05_rb,0.48191e-05_rb,0.48249e-05_rb,0.85373e-06_rb /) kbo(:, 5,30, 3) = (/ & & 0.15626e-08_rb,0.35992e-05_rb,0.50632e-05_rb,0.50805e-05_rb,0.90582e-06_rb /) kbo(:, 1,31, 3) = (/ & & 0.15590e-08_rb,0.23841e-05_rb,0.32890e-05_rb,0.33282e-05_rb,0.58108e-06_rb /) kbo(:, 2,31, 3) = (/ & & 0.14736e-08_rb,0.25683e-05_rb,0.35605e-05_rb,0.35756e-05_rb,0.62401e-06_rb /) kbo(:, 3,31, 3) = (/ & & 0.13967e-08_rb,0.27223e-05_rb,0.38055e-05_rb,0.38110e-05_rb,0.66862e-06_rb /) kbo(:, 4,31, 3) = (/ & & 0.13271e-08_rb,0.28652e-05_rb,0.40295e-05_rb,0.40331e-05_rb,0.71216e-06_rb /) kbo(:, 5,31, 3) = (/ & & 0.12637e-08_rb,0.30069e-05_rb,0.42257e-05_rb,0.42393e-05_rb,0.75527e-06_rb /) kbo(:, 1,32, 3) = (/ & & 0.12575e-08_rb,0.20099e-05_rb,0.27764e-05_rb,0.27988e-05_rb,0.48614e-06_rb /) kbo(:, 2,32, 3) = (/ & & 0.11895e-08_rb,0.21551e-05_rb,0.29961e-05_rb,0.29996e-05_rb,0.52199e-06_rb /) kbo(:, 3,32, 3) = (/ & & 0.11282e-08_rb,0.22771e-05_rb,0.31901e-05_rb,0.31897e-05_rb,0.55867e-06_rb /) kbo(:, 4,32, 3) = (/ & & 0.10726e-08_rb,0.23969e-05_rb,0.33657e-05_rb,0.33696e-05_rb,0.59410e-06_rb /) kbo(:, 5,32, 3) = (/ & & 0.10218e-08_rb,0.25076e-05_rb,0.35232e-05_rb,0.35366e-05_rb,0.62965e-06_rb /) kbo(:, 1,33, 3) = (/ & & 0.10144e-08_rb,0.16940e-05_rb,0.23421e-05_rb,0.23519e-05_rb,0.40701e-06_rb /) kbo(:, 2,33, 3) = (/ & & 0.96024e-09_rb,0.18066e-05_rb,0.25146e-05_rb,0.25148e-05_rb,0.43657e-06_rb /) kbo(:, 3,33, 3) = (/ & & 0.91134e-09_rb,0.19053e-05_rb,0.26738e-05_rb,0.26690e-05_rb,0.46656e-06_rb /) kbo(:, 4,33, 3) = (/ & & 0.86689e-09_rb,0.20038e-05_rb,0.28104e-05_rb,0.28139e-05_rb,0.49516e-06_rb /) kbo(:, 5,33, 3) = (/ & & 0.82630e-09_rb,0.20860e-05_rb,0.29294e-05_rb,0.29485e-05_rb,0.52462e-06_rb /) kbo(:, 1,34, 3) = (/ & & 0.82000e-09_rb,0.14231e-05_rb,0.19661e-05_rb,0.19700e-05_rb,0.33996e-06_rb /) kbo(:, 2,34, 3) = (/ & & 0.77672e-09_rb,0.15105e-05_rb,0.21047e-05_rb,0.21018e-05_rb,0.36435e-06_rb /) kbo(:, 3,34, 3) = (/ & & 0.73757e-09_rb,0.15908e-05_rb,0.22307e-05_rb,0.22272e-05_rb,0.38851e-06_rb /) kbo(:, 4,34, 3) = (/ & & 0.70193e-09_rb,0.16706e-05_rb,0.23421e-05_rb,0.23448e-05_rb,0.41219e-06_rb /) kbo(:, 5,34, 3) = (/ & & 0.66936e-09_rb,0.17330e-05_rb,0.24342e-05_rb,0.24538e-05_rb,0.43607e-06_rb /) kbo(:, 1,35, 3) = (/ & & 0.66652e-09_rb,0.11842e-05_rb,0.16383e-05_rb,0.16382e-05_rb,0.28183e-06_rb /) kbo(:, 2,35, 3) = (/ & & 0.63156e-09_rb,0.12541e-05_rb,0.17499e-05_rb,0.17457e-05_rb,0.30195e-06_rb /) kbo(:, 3,35, 3) = (/ & & 0.59990e-09_rb,0.13209e-05_rb,0.18504e-05_rb,0.18484e-05_rb,0.32174e-06_rb /) kbo(:, 4,35, 3) = (/ & & 0.57107e-09_rb,0.13850e-05_rb,0.19418e-05_rb,0.19438e-05_rb,0.34124e-06_rb /) kbo(:, 5,35, 3) = (/ & & 0.54470e-09_rb,0.14348e-05_rb,0.20135e-05_rb,0.20335e-05_rb,0.36050e-06_rb /) kbo(:, 1,36, 3) = (/ & & 0.54506e-09_rb,0.97870e-06_rb,0.13541e-05_rb,0.13520e-05_rb,0.23190e-06_rb /) kbo(:, 2,36, 3) = (/ & & 0.51650e-09_rb,0.10354e-05_rb,0.14455e-05_rb,0.14404e-05_rb,0.24845e-06_rb /) kbo(:, 3,36, 3) = (/ & & 0.49063e-09_rb,0.10910e-05_rb,0.15270e-05_rb,0.15247e-05_rb,0.26464e-06_rb /) kbo(:, 4,36, 3) = (/ & & 0.46707e-09_rb,0.11427e-05_rb,0.16012e-05_rb,0.16033e-05_rb,0.28072e-06_rb /) kbo(:, 5,36, 3) = (/ & & 0.44553e-09_rb,0.11833e-05_rb,0.16604e-05_rb,0.16774e-05_rb,0.29643e-06_rb /) kbo(:, 1,37, 3) = (/ & & 0.44949e-09_rb,0.80104e-06_rb,0.11066e-05_rb,0.11045e-05_rb,0.18888e-06_rb /) kbo(:, 2,37, 3) = (/ & & 0.42579e-09_rb,0.84810e-06_rb,0.11826e-05_rb,0.11777e-05_rb,0.20242e-06_rb /) kbo(:, 3,37, 3) = (/ & & 0.40435e-09_rb,0.89404e-06_rb,0.12504e-05_rb,0.12477e-05_rb,0.21578e-06_rb /) kbo(:, 4,37, 3) = (/ & & 0.38483e-09_rb,0.93737e-06_rb,0.13124e-05_rb,0.13129e-05_rb,0.22892e-06_rb /) kbo(:, 5,37, 3) = (/ & & 0.36699e-09_rb,0.97118e-06_rb,0.13617e-05_rb,0.13744e-05_rb,0.24190e-06_rb /) kbo(:, 1,38, 3) = (/ & & 0.37088e-09_rb,0.65468e-06_rb,0.90347e-06_rb,0.90140e-06_rb,0.15371e-06_rb /) kbo(:, 2,38, 3) = (/ & & 0.35120e-09_rb,0.69421e-06_rb,0.96676e-06_rb,0.96222e-06_rb,0.16484e-06_rb /) kbo(:, 3,38, 3) = (/ & & 0.33340e-09_rb,0.73211e-06_rb,0.10233e-05_rb,0.10203e-05_rb,0.17578e-06_rb /) kbo(:, 4,38, 3) = (/ & & 0.31721e-09_rb,0.76838e-06_rb,0.10750e-05_rb,0.10745e-05_rb,0.18656e-06_rb /) kbo(:, 5,38, 3) = (/ & & 0.30242e-09_rb,0.79676e-06_rb,0.11164e-05_rb,0.11256e-05_rb,0.19730e-06_rb /) kbo(:, 1,39, 3) = (/ & & 0.30603e-09_rb,0.53518e-06_rb,0.73755e-06_rb,0.73560e-06_rb,0.12509e-06_rb /) kbo(:, 2,39, 3) = (/ & & 0.28967e-09_rb,0.56827e-06_rb,0.79017e-06_rb,0.78607e-06_rb,0.13420e-06_rb /) kbo(:, 3,39, 3) = (/ & & 0.27490e-09_rb,0.59946e-06_rb,0.83729e-06_rb,0.83418e-06_rb,0.14320e-06_rb /) kbo(:, 4,39, 3) = (/ & & 0.26148e-09_rb,0.62968e-06_rb,0.88045e-06_rb,0.87919e-06_rb,0.15206e-06_rb /) kbo(:, 5,39, 3) = (/ & & 0.24922e-09_rb,0.65358e-06_rb,0.91511e-06_rb,0.92187e-06_rb,0.16092e-06_rb /) kbo(:, 1,40, 3) = (/ & & 0.25401e-09_rb,0.43491e-06_rb,0.59706e-06_rb,0.59583e-06_rb,0.10103e-06_rb /) kbo(:, 2,40, 3) = (/ & & 0.24027e-09_rb,0.46243e-06_rb,0.64127e-06_rb,0.63780e-06_rb,0.10854e-06_rb /) kbo(:, 3,40, 3) = (/ & & 0.22788e-09_rb,0.48789e-06_rb,0.68111e-06_rb,0.67785e-06_rb,0.11596e-06_rb /) kbo(:, 4,40, 3) = (/ & & 0.21664e-09_rb,0.51370e-06_rb,0.71776e-06_rb,0.71557e-06_rb,0.12318e-06_rb /) kbo(:, 5,40, 3) = (/ & & 0.20639e-09_rb,0.53413e-06_rb,0.74738e-06_rb,0.75116e-06_rb,0.13055e-06_rb /) kbo(:, 1,41, 3) = (/ & & 0.21103e-09_rb,0.35162e-06_rb,0.48245e-06_rb,0.48181e-06_rb,0.81551e-07_rb /) kbo(:, 2,41, 3) = (/ & & 0.19947e-09_rb,0.37577e-06_rb,0.51975e-06_rb,0.51683e-06_rb,0.87624e-07_rb /) kbo(:, 3,41, 3) = (/ & & 0.18906e-09_rb,0.39681e-06_rb,0.55372e-06_rb,0.55016e-06_rb,0.93775e-07_rb /) kbo(:, 4,41, 3) = (/ & & 0.17963e-09_rb,0.41856e-06_rb,0.58405e-06_rb,0.58177e-06_rb,0.99677e-07_rb /) kbo(:, 5,41, 3) = (/ & & 0.17105e-09_rb,0.43610e-06_rb,0.60957e-06_rb,0.61150e-06_rb,0.10578e-06_rb /) kbo(:, 1,42, 3) = (/ & & 0.17536e-09_rb,0.28412e-06_rb,0.38948e-06_rb,0.38933e-06_rb,0.65791e-07_rb /) kbo(:, 2,42, 3) = (/ & & 0.16563e-09_rb,0.30504e-06_rb,0.42097e-06_rb,0.41854e-06_rb,0.70752e-07_rb /) kbo(:, 3,42, 3) = (/ & & 0.15688e-09_rb,0.32265e-06_rb,0.44957e-06_rb,0.44624e-06_rb,0.75790e-07_rb /) kbo(:, 4,42, 3) = (/ & & 0.14897e-09_rb,0.34080e-06_rb,0.47502e-06_rb,0.47268e-06_rb,0.80648e-07_rb /) kbo(:, 5,42, 3) = (/ & & 0.14178e-09_rb,0.35584e-06_rb,0.49696e-06_rb,0.49747e-06_rb,0.85685e-07_rb /) kbo(:, 1,43, 3) = (/ & & 0.14625e-09_rb,0.22828e-06_rb,0.31269e-06_rb,0.31301e-06_rb,0.52858e-07_rb /) kbo(:, 2,43, 3) = (/ & & 0.13800e-09_rb,0.24660e-06_rb,0.33945e-06_rb,0.33736e-06_rb,0.56872e-07_rb /) kbo(:, 3,43, 3) = (/ & & 0.13060e-09_rb,0.26150e-06_rb,0.36382e-06_rb,0.36052e-06_rb,0.61005e-07_rb /) kbo(:, 4,43, 3) = (/ & & 0.12392e-09_rb,0.27637e-06_rb,0.38496e-06_rb,0.38262e-06_rb,0.65064e-07_rb /) kbo(:, 5,43, 3) = (/ & & 0.11786e-09_rb,0.28960e-06_rb,0.40432e-06_rb,0.40346e-06_rb,0.69134e-07_rb /) kbo(:, 1,44, 3) = (/ & & 0.12220e-09_rb,0.18299e-06_rb,0.25003e-06_rb,0.25075e-06_rb,0.42426e-07_rb /) kbo(:, 2,44, 3) = (/ & & 0.11518e-09_rb,0.19858e-06_rb,0.27271e-06_rb,0.27124e-06_rb,0.45605e-07_rb /) kbo(:, 3,44, 3) = (/ & & 0.10890e-09_rb,0.21149e-06_rb,0.29306e-06_rb,0.29059e-06_rb,0.48989e-07_rb /) kbo(:, 4,44, 3) = (/ & & 0.10324e-09_rb,0.22361e-06_rb,0.31128e-06_rb,0.30909e-06_rb,0.52357e-07_rb /) kbo(:, 5,44, 3) = (/ & & 0.98119e-10_rb,0.23540e-06_rb,0.32782e-06_rb,0.32657e-06_rb,0.55650e-07_rb /) kbo(:, 1,45, 3) = (/ & & 0.10215e-09_rb,0.14604e-06_rb,0.19957e-06_rb,0.20079e-06_rb,0.34009e-07_rb /) kbo(:, 2,45, 3) = (/ & & 0.96168e-10_rb,0.15976e-06_rb,0.21859e-06_rb,0.21782e-06_rb,0.36565e-07_rb /) kbo(:, 3,45, 3) = (/ & & 0.90832e-10_rb,0.17092e-06_rb,0.23594e-06_rb,0.23403e-06_rb,0.39336e-07_rb /) kbo(:, 4,45, 3) = (/ & & 0.86039e-10_rb,0.18076e-06_rb,0.25148e-06_rb,0.24940e-06_rb,0.42120e-07_rb /) kbo(:, 5,45, 3) = (/ & & 0.81705e-10_rb,0.19091e-06_rb,0.26579e-06_rb,0.26417e-06_rb,0.44806e-07_rb /) kbo(:, 1,46, 3) = (/ & & 0.85548e-10_rb,0.11606e-06_rb,0.15858e-06_rb,0.16025e-06_rb,0.27138e-07_rb /) kbo(:, 2,46, 3) = (/ & & 0.80430e-10_rb,0.12777e-06_rb,0.17465e-06_rb,0.17439e-06_rb,0.29260e-07_rb /) kbo(:, 3,46, 3) = (/ & & 0.75882e-10_rb,0.13771e-06_rb,0.18956e-06_rb,0.18801e-06_rb,0.31519e-07_rb /) kbo(:, 4,46, 3) = (/ & & 0.71807e-10_rb,0.14597e-06_rb,0.20282e-06_rb,0.20085e-06_rb,0.33790e-07_rb /) kbo(:, 5,46, 3) = (/ & & 0.68131e-10_rb,0.15454e-06_rb,0.21485e-06_rb,0.21321e-06_rb,0.36016e-07_rb /) kbo(:, 1,47, 3) = (/ & & 0.71880e-10_rb,0.91677e-07_rb,0.12518e-06_rb,0.12717e-06_rb,0.21548e-07_rb /) kbo(:, 2,47, 3) = (/ & & 0.67474e-10_rb,0.10182e-06_rb,0.13885e-06_rb,0.13887e-06_rb,0.23366e-07_rb /) kbo(:, 3,47, 3) = (/ & & 0.63573e-10_rb,0.11037e-06_rb,0.15155e-06_rb,0.15037e-06_rb,0.25140e-07_rb /) kbo(:, 4,47, 3) = (/ & & 0.60089e-10_rb,0.11757e-06_rb,0.16292e-06_rb,0.16115e-06_rb,0.27023e-07_rb /) kbo(:, 5,47, 3) = (/ & & 0.56955e-10_rb,0.12460e-06_rb,0.17303e-06_rb,0.17150e-06_rb,0.28886e-07_rb /) kbo(:, 1,48, 3) = (/ & & 0.60438e-10_rb,0.72378e-07_rb,0.98586e-07_rb,0.10075e-06_rb,0.17068e-07_rb /) kbo(:, 2,48, 3) = (/ & & 0.56639e-10_rb,0.80662e-07_rb,0.11003e-06_rb,0.11052e-06_rb,0.18643e-07_rb /) kbo(:, 3,48, 3) = (/ & & 0.53288e-10_rb,0.88391e-07_rb,0.12069e-06_rb,0.12007e-06_rb,0.20050e-07_rb /) kbo(:, 4,48, 3) = (/ & & 0.50306e-10_rb,0.94624e-07_rb,0.13045e-06_rb,0.12916e-06_rb,0.21587e-07_rb /) kbo(:, 5,48, 3) = (/ & & 0.47632e-10_rb,0.10026e-06_rb,0.13914e-06_rb,0.13778e-06_rb,0.23136e-07_rb /) kbo(:, 1,49, 3) = (/ & & 0.50856e-10_rb,0.57046e-07_rb,0.77565e-07_rb,0.79741e-07_rb,0.13510e-07_rb /) kbo(:, 2,49, 3) = (/ & & 0.47574e-10_rb,0.63730e-07_rb,0.86939e-07_rb,0.87826e-07_rb,0.14811e-07_rb /) kbo(:, 3,49, 3) = (/ & & 0.44692e-10_rb,0.70367e-07_rb,0.95974e-07_rb,0.95707e-07_rb,0.15992e-07_rb /) kbo(:, 4,49, 3) = (/ & & 0.42136e-10_rb,0.75959e-07_rb,0.10441e-06_rb,0.10336e-06_rb,0.17235e-07_rb /) kbo(:, 5,49, 3) = (/ & & 0.39851e-10_rb,0.80662e-07_rb,0.11179e-06_rb,0.11061e-06_rb,0.18501e-07_rb /) kbo(:, 1,50, 3) = (/ & & 0.42752e-10_rb,0.44994e-07_rb,0.60933e-07_rb,0.63170e-07_rb,0.10733e-07_rb /) kbo(:, 2,50, 3) = (/ & & 0.39920e-10_rb,0.50417e-07_rb,0.68695e-07_rb,0.69776e-07_rb,0.11778e-07_rb /) kbo(:, 3,50, 3) = (/ & & 0.37445e-10_rb,0.56129e-07_rb,0.76381e-07_rb,0.76292e-07_rb,0.12796e-07_rb /) kbo(:, 4,50, 3) = (/ & & 0.35258e-10_rb,0.60916e-07_rb,0.83533e-07_rb,0.82746e-07_rb,0.13770e-07_rb /) kbo(:, 5,50, 3) = (/ & & 0.33309e-10_rb,0.65010e-07_rb,0.89933e-07_rb,0.88828e-07_rb,0.14809e-07_rb /) kbo(:, 1,51, 3) = (/ & & 0.35935e-10_rb,0.35278e-07_rb,0.47901e-07_rb,0.50056e-07_rb,0.85239e-08_rb /) kbo(:, 2,51, 3) = (/ & & 0.33494e-10_rb,0.39897e-07_rb,0.54245e-07_rb,0.55439e-07_rb,0.93562e-08_rb /) kbo(:, 3,51, 3) = (/ & & 0.31368e-10_rb,0.44577e-07_rb,0.60687e-07_rb,0.60854e-07_rb,0.10229e-07_rb /) kbo(:, 4,51, 3) = (/ & & 0.29497e-10_rb,0.48906e-07_rb,0.66668e-07_rb,0.66217e-07_rb,0.11009e-07_rb /) kbo(:, 5,51, 3) = (/ & & 0.27834e-10_rb,0.52348e-07_rb,0.72154e-07_rb,0.71322e-07_rb,0.11856e-07_rb /) kbo(:, 1,52, 3) = (/ & & 0.30227e-10_rb,0.27572e-07_rb,0.37524e-07_rb,0.39754e-07_rb,0.67198e-08_rb /) kbo(:, 2,52, 3) = (/ & & 0.28118e-10_rb,0.31560e-07_rb,0.42810e-07_rb,0.44031e-07_rb,0.74267e-08_rb /) kbo(:, 3,52, 3) = (/ & & 0.26290e-10_rb,0.35319e-07_rb,0.48079e-07_rb,0.48486e-07_rb,0.81511e-08_rb /) kbo(:, 4,52, 3) = (/ & & 0.24687e-10_rb,0.39041e-07_rb,0.53141e-07_rb,0.52898e-07_rb,0.88044e-08_rb /) kbo(:, 5,52, 3) = (/ & & 0.23267e-10_rb,0.42123e-07_rb,0.57835e-07_rb,0.57177e-07_rb,0.94934e-08_rb /) kbo(:, 1,53, 3) = (/ & & 0.25448e-10_rb,0.21456e-07_rb,0.29324e-07_rb,0.31450e-07_rb,0.53035e-08_rb /) kbo(:, 2,53, 3) = (/ & & 0.23623e-10_rb,0.24922e-07_rb,0.33706e-07_rb,0.34903e-07_rb,0.59025e-08_rb /) kbo(:, 3,53, 3) = (/ & & 0.22048e-10_rb,0.27931e-07_rb,0.38009e-07_rb,0.38548e-07_rb,0.64842e-08_rb /) kbo(:, 4,53, 3) = (/ & & 0.20673e-10_rb,0.31117e-07_rb,0.42293e-07_rb,0.42180e-07_rb,0.70454e-08_rb /) kbo(:, 5,53, 3) = (/ & & 0.19459e-10_rb,0.33800e-07_rb,0.46316e-07_rb,0.45776e-07_rb,0.75886e-08_rb /) kbo(:, 1,54, 3) = (/ & & 0.21390e-10_rb,0.16743e-07_rb,0.23031e-07_rb,0.24877e-07_rb,0.41777e-08_rb /) kbo(:, 2,54, 3) = (/ & & 0.19815e-10_rb,0.19619e-07_rb,0.26556e-07_rb,0.27722e-07_rb,0.47031e-08_rb /) kbo(:, 3,54, 3) = (/ & & 0.18463e-10_rb,0.22167e-07_rb,0.30101e-07_rb,0.30708e-07_rb,0.51646e-08_rb /) kbo(:, 4,54, 3) = (/ & & 0.17286e-10_rb,0.24804e-07_rb,0.33704e-07_rb,0.33716e-07_rb,0.56448e-08_rb /) kbo(:, 5,54, 3) = (/ & & 0.16251e-10_rb,0.27183e-07_rb,0.37049e-07_rb,0.36696e-07_rb,0.60788e-08_rb /) kbo(:, 1,55, 3) = (/ & & 0.17973e-10_rb,0.13037e-07_rb,0.18115e-07_rb,0.19727e-07_rb,0.32912e-08_rb /) kbo(:, 2,55, 3) = (/ & & 0.16615e-10_rb,0.15402e-07_rb,0.20942e-07_rb,0.22043e-07_rb,0.37301e-08_rb /) kbo(:, 3,55, 3) = (/ & & 0.15454e-10_rb,0.17592e-07_rb,0.23848e-07_rb,0.24485e-07_rb,0.41129e-08_rb /) kbo(:, 4,55, 3) = (/ & & 0.14448e-10_rb,0.19733e-07_rb,0.26815e-07_rb,0.26954e-07_rb,0.45146e-08_rb /) kbo(:, 5,55, 3) = (/ & & 0.13565e-10_rb,0.21785e-07_rb,0.29633e-07_rb,0.29414e-07_rb,0.48762e-08_rb /) kbo(:, 1,56, 3) = (/ & & 0.15112e-10_rb,0.10127e-07_rb,0.14262e-07_rb,0.15637e-07_rb,0.25986e-08_rb /) kbo(:, 2,56, 3) = (/ & & 0.13939e-10_rb,0.12082e-07_rb,0.16458e-07_rb,0.17567e-07_rb,0.29510e-08_rb /) kbo(:, 3,56, 3) = (/ & & 0.12942e-10_rb,0.13980e-07_rb,0.18876e-07_rb,0.19499e-07_rb,0.32803e-08_rb /) kbo(:, 4,56, 3) = (/ & & 0.12080e-10_rb,0.15677e-07_rb,0.21298e-07_rb,0.21516e-07_rb,0.36078e-08_rb /) kbo(:, 5,56, 3) = (/ & & 0.11328e-10_rb,0.17421e-07_rb,0.23674e-07_rb,0.23552e-07_rb,0.39142e-08_rb /) kbo(:, 1,57, 3) = (/ & & 0.12716e-10_rb,0.78423e-08_rb,0.11218e-07_rb,0.12368e-07_rb,0.20572e-08_rb /) kbo(:, 2,57, 3) = (/ & & 0.11703e-10_rb,0.94468e-08_rb,0.12944e-07_rb,0.13939e-07_rb,0.23449e-08_rb /) kbo(:, 3,57, 3) = (/ & & 0.10844e-10_rb,0.11054e-07_rb,0.14933e-07_rb,0.15504e-07_rb,0.26161e-08_rb /) kbo(:, 4,57, 3) = (/ & & 0.10105e-10_rb,0.12445e-07_rb,0.16895e-07_rb,0.17167e-07_rb,0.28789e-08_rb /) kbo(:, 5,57, 3) = (/ & & 0.94629e-11_rb,0.13929e-07_rb,0.18884e-07_rb,0.18837e-07_rb,0.31391e-08_rb /) kbo(:, 1,58, 3) = (/ & & 0.10694e-10_rb,0.61084e-08_rb,0.88278e-08_rb,0.97801e-08_rb,0.16192e-08_rb /) kbo(:, 2,58, 3) = (/ & & 0.98180e-11_rb,0.73859e-08_rb,0.10206e-07_rb,0.11064e-07_rb,0.18486e-08_rb /) kbo(:, 3,58, 3) = (/ & & 0.90797e-11_rb,0.87113e-08_rb,0.11801e-07_rb,0.12348e-07_rb,0.20872e-08_rb /) kbo(:, 4,58, 3) = (/ & & 0.84478e-11_rb,0.99003e-08_rb,0.13409e-07_rb,0.13707e-07_rb,0.22967e-08_rb /) kbo(:, 5,58, 3) = (/ & & 0.78998e-11_rb,0.11108e-07_rb,0.15069e-07_rb,0.15082e-07_rb,0.25182e-08_rb /) kbo(:, 1,59, 3) = (/ & & 0.88513e-11_rb,0.49239e-08_rb,0.71386e-08_rb,0.79170e-08_rb,0.13089e-08_rb /) kbo(:, 2,59, 3) = (/ & & 0.81187e-11_rb,0.59541e-08_rb,0.82539e-08_rb,0.89758e-08_rb,0.14952e-08_rb /) kbo(:, 3,59, 3) = (/ & & 0.75021e-11_rb,0.70450e-08_rb,0.95567e-08_rb,0.10024e-07_rb,0.16919e-08_rb /) kbo(:, 4,59, 3) = (/ & & 0.69753e-11_rb,0.80391e-08_rb,0.10874e-07_rb,0.11143e-07_rb,0.18646e-08_rb /) kbo(:, 5,59, 3) = (/ & & 0.65191e-11_rb,0.90265e-08_rb,0.12240e-07_rb,0.12268e-07_rb,0.20471e-08_rb /) kbo(:, 1,13, 4) = (/ & & 0.40115e-06_rb,0.20542e-03_rb,0.29006e-03_rb,0.29983e-03_rb,0.86404e-04_rb /) kbo(:, 2,13, 4) = (/ & & 0.38503e-06_rb,0.22086e-03_rb,0.30833e-03_rb,0.32518e-03_rb,0.92611e-04_rb /) kbo(:, 3,13, 4) = (/ & & 0.37042e-06_rb,0.23415e-03_rb,0.32674e-03_rb,0.34814e-03_rb,0.98878e-04_rb /) kbo(:, 4,13, 4) = (/ & & 0.35699e-06_rb,0.24607e-03_rb,0.34335e-03_rb,0.36858e-03_rb,0.10559e-03_rb /) kbo(:, 5,13, 4) = (/ & & 0.34439e-06_rb,0.25741e-03_rb,0.35943e-03_rb,0.38716e-03_rb,0.11262e-03_rb /) kbo(:, 1,14, 4) = (/ & & 0.32717e-06_rb,0.17086e-03_rb,0.24121e-03_rb,0.25001e-03_rb,0.72120e-04_rb /) kbo(:, 2,14, 4) = (/ & & 0.31411e-06_rb,0.18358e-03_rb,0.25599e-03_rb,0.27089e-03_rb,0.77351e-04_rb /) kbo(:, 3,14, 4) = (/ & & 0.30225e-06_rb,0.19456e-03_rb,0.27149e-03_rb,0.29002e-03_rb,0.82676e-04_rb /) kbo(:, 4,14, 4) = (/ & & 0.29132e-06_rb,0.20460e-03_rb,0.28544e-03_rb,0.30678e-03_rb,0.88331e-04_rb /) kbo(:, 5,14, 4) = (/ & & 0.28105e-06_rb,0.21410e-03_rb,0.29919e-03_rb,0.32271e-03_rb,0.94451e-04_rb /) kbo(:, 1,15, 4) = (/ & & 0.26673e-06_rb,0.14221e-03_rb,0.20048e-03_rb,0.20843e-03_rb,0.60213e-04_rb /) kbo(:, 2,15, 4) = (/ & & 0.25615e-06_rb,0.15268e-03_rb,0.21264e-03_rb,0.22531e-03_rb,0.64531e-04_rb /) kbo(:, 3,15, 4) = (/ & & 0.24652e-06_rb,0.16170e-03_rb,0.22567e-03_rb,0.24157e-03_rb,0.69102e-04_rb /) kbo(:, 4,15, 4) = (/ & & 0.23764e-06_rb,0.17023e-03_rb,0.23750e-03_rb,0.25543e-03_rb,0.73891e-04_rb /) kbo(:, 5,15, 4) = (/ & & 0.22926e-06_rb,0.17815e-03_rb,0.24912e-03_rb,0.26892e-03_rb,0.79167e-04_rb /) kbo(:, 1,16, 4) = (/ & & 0.21740e-06_rb,0.11824e-03_rb,0.16644e-03_rb,0.17381e-03_rb,0.50227e-04_rb /) kbo(:, 2,16, 4) = (/ & & 0.20884e-06_rb,0.12696e-03_rb,0.17683e-03_rb,0.18780e-03_rb,0.53903e-04_rb /) kbo(:, 3,16, 4) = (/ & & 0.20104e-06_rb,0.13434e-03_rb,0.18764e-03_rb,0.20094e-03_rb,0.57777e-04_rb /) kbo(:, 4,16, 4) = (/ & & 0.19381e-06_rb,0.14177e-03_rb,0.19757e-03_rb,0.21259e-03_rb,0.61821e-04_rb /) kbo(:, 5,16, 4) = (/ & & 0.18698e-06_rb,0.14828e-03_rb,0.20747e-03_rb,0.22416e-03_rb,0.66326e-04_rb /) kbo(:, 1,17, 4) = (/ & & 0.17724e-06_rb,0.98287e-04_rb,0.13813e-03_rb,0.14496e-03_rb,0.41851e-04_rb /) kbo(:, 2,17, 4) = (/ & & 0.17029e-06_rb,0.10548e-03_rb,0.14701e-03_rb,0.15636e-03_rb,0.44943e-04_rb /) kbo(:, 3,17, 4) = (/ & & 0.16396e-06_rb,0.11169e-03_rb,0.15605e-03_rb,0.16727e-03_rb,0.48176e-04_rb /) kbo(:, 4,17, 4) = (/ & & 0.15809e-06_rb,0.11795e-03_rb,0.16435e-03_rb,0.17684e-03_rb,0.51716e-04_rb /) kbo(:, 5,17, 4) = (/ & & 0.15251e-06_rb,0.12332e-03_rb,0.17265e-03_rb,0.18683e-03_rb,0.55480e-04_rb /) kbo(:, 1,18, 4) = (/ & & 0.14450e-06_rb,0.81703e-04_rb,0.11464e-03_rb,0.12079e-03_rb,0.34849e-04_rb /) kbo(:, 2,18, 4) = (/ & & 0.13887e-06_rb,0.87580e-04_rb,0.12224e-03_rb,0.13028e-03_rb,0.37465e-04_rb /) kbo(:, 3,18, 4) = (/ & & 0.13373e-06_rb,0.92869e-04_rb,0.12966e-03_rb,0.13906e-03_rb,0.40225e-04_rb /) kbo(:, 4,18, 4) = (/ & & 0.12896e-06_rb,0.98034e-04_rb,0.13668e-03_rb,0.14712e-03_rb,0.43227e-04_rb /) kbo(:, 5,18, 4) = (/ & & 0.12439e-06_rb,0.10250e-03_rb,0.14367e-03_rb,0.15557e-03_rb,0.46383e-04_rb /) kbo(:, 1,19, 4) = (/ & & 0.11782e-06_rb,0.67922e-04_rb,0.95121e-04_rb,0.10059e-03_rb,0.29014e-04_rb /) kbo(:, 2,19, 4) = (/ & & 0.11325e-06_rb,0.72759e-04_rb,0.10166e-03_rb,0.10843e-03_rb,0.31239e-04_rb /) kbo(:, 3,19, 4) = (/ & & 0.10909e-06_rb,0.77213e-04_rb,0.10769e-03_rb,0.11563e-03_rb,0.33594e-04_rb /) kbo(:, 4,19, 4) = (/ & & 0.10521e-06_rb,0.81507e-04_rb,0.11367e-03_rb,0.12244e-03_rb,0.36087e-04_rb /) kbo(:, 5,19, 4) = (/ & & 0.10146e-06_rb,0.85229e-04_rb,0.11951e-03_rb,0.12955e-03_rb,0.38760e-04_rb /) kbo(:, 1,20, 4) = (/ & & 0.96005e-07_rb,0.56539e-04_rb,0.79048e-04_rb,0.83638e-04_rb,0.24182e-04_rb /) kbo(:, 2,20, 4) = (/ & & 0.92311e-07_rb,0.60522e-04_rb,0.84506e-04_rb,0.90308e-04_rb,0.26052e-04_rb /) kbo(:, 3,20, 4) = (/ & & 0.88927e-07_rb,0.64305e-04_rb,0.89608e-04_rb,0.96229e-04_rb,0.28071e-04_rb /) kbo(:, 4,20, 4) = (/ & & 0.85775e-07_rb,0.67811e-04_rb,0.94659e-04_rb,0.10203e-03_rb,0.30185e-04_rb /) kbo(:, 5,20, 4) = (/ & & 0.82709e-07_rb,0.70967e-04_rb,0.99551e-04_rb,0.10796e-03_rb,0.32438e-04_rb /) kbo(:, 1,21, 4) = (/ & & 0.78225e-07_rb,0.47094e-04_rb,0.65736e-04_rb,0.69706e-04_rb,0.20168e-04_rb /) kbo(:, 2,21, 4) = (/ & & 0.75235e-07_rb,0.50383e-04_rb,0.70309e-04_rb,0.75210e-04_rb,0.21748e-04_rb /) kbo(:, 3,21, 4) = (/ & & 0.72491e-07_rb,0.53581e-04_rb,0.74579e-04_rb,0.80106e-04_rb,0.23442e-04_rb /) kbo(:, 4,21, 4) = (/ & & 0.69929e-07_rb,0.56448e-04_rb,0.78864e-04_rb,0.85108e-04_rb,0.25248e-04_rb /) kbo(:, 5,21, 4) = (/ & & 0.67419e-07_rb,0.59090e-04_rb,0.82932e-04_rb,0.89870e-04_rb,0.27098e-04_rb /) kbo(:, 1,22, 4) = (/ & & 0.63572e-07_rb,0.39426e-04_rb,0.54979e-04_rb,0.58443e-04_rb,0.16913e-04_rb /) kbo(:, 2,22, 4) = (/ & & 0.61166e-07_rb,0.42097e-04_rb,0.58779e-04_rb,0.62933e-04_rb,0.18259e-04_rb /) kbo(:, 3,22, 4) = (/ & & 0.58951e-07_rb,0.44794e-04_rb,0.62330e-04_rb,0.66952e-04_rb,0.19670e-04_rb /) kbo(:, 4,22, 4) = (/ & & 0.56872e-07_rb,0.47147e-04_rb,0.65961e-04_rb,0.71230e-04_rb,0.21221e-04_rb /) kbo(:, 5,22, 4) = (/ & & 0.54822e-07_rb,0.49377e-04_rb,0.69234e-04_rb,0.75038e-04_rb,0.22743e-04_rb /) kbo(:, 1,23, 4) = (/ & & 0.51656e-07_rb,0.32950e-04_rb,0.46052e-04_rb,0.49084e-04_rb,0.14181e-04_rb /) kbo(:, 2,23, 4) = (/ & & 0.49721e-07_rb,0.35250e-04_rb,0.49106e-04_rb,0.52675e-04_rb,0.15330e-04_rb /) kbo(:, 3,23, 4) = (/ & & 0.47930e-07_rb,0.37438e-04_rb,0.52152e-04_rb,0.56097e-04_rb,0.16532e-04_rb /) kbo(:, 4,23, 4) = (/ & & 0.46242e-07_rb,0.39418e-04_rb,0.55160e-04_rb,0.59674e-04_rb,0.17811e-04_rb /) kbo(:, 5,23, 4) = (/ & & 0.44570e-07_rb,0.41280e-04_rb,0.57899e-04_rb,0.62654e-04_rb,0.19100e-04_rb /) kbo(:, 1,24, 4) = (/ & & 0.41962e-07_rb,0.27608e-04_rb,0.38527e-04_rb,0.41167e-04_rb,0.11908e-04_rb /) kbo(:, 2,24, 4) = (/ & & 0.40405e-07_rb,0.29547e-04_rb,0.41099e-04_rb,0.44081e-04_rb,0.12880e-04_rb /) kbo(:, 3,24, 4) = (/ & & 0.38959e-07_rb,0.31321e-04_rb,0.43687e-04_rb,0.47051e-04_rb,0.13912e-04_rb /) kbo(:, 4,24, 4) = (/ & & 0.37583e-07_rb,0.32994e-04_rb,0.46190e-04_rb,0.49890e-04_rb,0.14961e-04_rb /) kbo(:, 5,24, 4) = (/ & & 0.36227e-07_rb,0.34560e-04_rb,0.48473e-04_rb,0.52358e-04_rb,0.16039e-04_rb /) kbo(:, 1,25, 4) = (/ & & 0.34075e-07_rb,0.23153e-04_rb,0.32305e-04_rb,0.34566e-04_rb,0.10014e-04_rb /) kbo(:, 2,25, 4) = (/ & & 0.32822e-07_rb,0.24769e-04_rb,0.34435e-04_rb,0.36968e-04_rb,0.10822e-04_rb /) kbo(:, 3,25, 4) = (/ & & 0.31655e-07_rb,0.26242e-04_rb,0.36635e-04_rb,0.39484e-04_rb,0.11699e-04_rb /) kbo(:, 4,25, 4) = (/ & & 0.30528e-07_rb,0.27624e-04_rb,0.38648e-04_rb,0.41770e-04_rb,0.12588e-04_rb /) kbo(:, 5,25, 4) = (/ & & 0.29434e-07_rb,0.28951e-04_rb,0.40632e-04_rb,0.43774e-04_rb,0.13479e-04_rb /) kbo(:, 1,26, 4) = (/ & & 0.27652e-07_rb,0.19460e-04_rb,0.27114e-04_rb,0.29052e-04_rb,0.84372e-05_rb /) kbo(:, 2,26, 4) = (/ & & 0.26645e-07_rb,0.20785e-04_rb,0.28933e-04_rb,0.31091e-04_rb,0.91305e-05_rb /) kbo(:, 3,26, 4) = (/ & & 0.25703e-07_rb,0.22018e-04_rb,0.30749e-04_rb,0.33173e-04_rb,0.98560e-05_rb /) kbo(:, 4,26, 4) = (/ & & 0.24780e-07_rb,0.23166e-04_rb,0.32405e-04_rb,0.34971e-04_rb,0.10593e-04_rb /) kbo(:, 5,26, 4) = (/ & & 0.23900e-07_rb,0.24286e-04_rb,0.34048e-04_rb,0.36663e-04_rb,0.11346e-04_rb /) kbo(:, 1,27, 4) = (/ & & 0.22439e-07_rb,0.16370e-04_rb,0.22763e-04_rb,0.24397e-04_rb,0.71084e-05_rb /) kbo(:, 2,27, 4) = (/ & & 0.21628e-07_rb,0.17461e-04_rb,0.24318e-04_rb,0.26140e-04_rb,0.76961e-05_rb /) kbo(:, 3,27, 4) = (/ & & 0.20865e-07_rb,0.18493e-04_rb,0.25826e-04_rb,0.27824e-04_rb,0.83080e-05_rb /) kbo(:, 4,27, 4) = (/ & & 0.20113e-07_rb,0.19452e-04_rb,0.27215e-04_rb,0.29287e-04_rb,0.89207e-05_rb /) kbo(:, 5,27, 4) = (/ & & 0.19405e-07_rb,0.20376e-04_rb,0.28543e-04_rb,0.30710e-04_rb,0.95477e-05_rb /) kbo(:, 1,28, 4) = (/ & & 0.18208e-07_rb,0.13777e-04_rb,0.19138e-04_rb,0.20524e-04_rb,0.59952e-05_rb /) kbo(:, 2,28, 4) = (/ & & 0.17555e-07_rb,0.14679e-04_rb,0.20448e-04_rb,0.21996e-04_rb,0.64907e-05_rb /) kbo(:, 3,28, 4) = (/ & & 0.16936e-07_rb,0.15522e-04_rb,0.21661e-04_rb,0.23357e-04_rb,0.69966e-05_rb /) kbo(:, 4,28, 4) = (/ & & 0.16325e-07_rb,0.16334e-04_rb,0.22846e-04_rb,0.24537e-04_rb,0.75124e-05_rb /) kbo(:, 5,28, 4) = (/ & & 0.15755e-07_rb,0.17088e-04_rb,0.23931e-04_rb,0.25722e-04_rb,0.80305e-05_rb /) kbo(:, 1,29, 4) = (/ & & 0.14772e-07_rb,0.11598e-04_rb,0.16117e-04_rb,0.17294e-04_rb,0.50602e-05_rb /) kbo(:, 2,29, 4) = (/ & & 0.14246e-07_rb,0.12346e-04_rb,0.17198e-04_rb,0.18521e-04_rb,0.54799e-05_rb /) kbo(:, 3,29, 4) = (/ & & 0.13739e-07_rb,0.13047e-04_rb,0.18205e-04_rb,0.19566e-04_rb,0.58992e-05_rb /) kbo(:, 4,29, 4) = (/ & & 0.13247e-07_rb,0.13729e-04_rb,0.19173e-04_rb,0.20574e-04_rb,0.63251e-05_rb /) kbo(:, 5,29, 4) = (/ & & 0.12789e-07_rb,0.14341e-04_rb,0.20068e-04_rb,0.21536e-04_rb,0.67496e-05_rb /) kbo(:, 1,30, 4) = (/ & & 0.11984e-07_rb,0.97679e-05_rb,0.13568e-04_rb,0.14565e-04_rb,0.42721e-05_rb /) kbo(:, 2,30, 4) = (/ & & 0.11560e-07_rb,0.10389e-04_rb,0.14461e-04_rb,0.15560e-04_rb,0.46182e-05_rb /) kbo(:, 3,30, 4) = (/ & & 0.11144e-07_rb,0.10973e-04_rb,0.15302e-04_rb,0.16410e-04_rb,0.49715e-05_rb /) kbo(:, 4,30, 4) = (/ & & 0.10750e-07_rb,0.11532e-04_rb,0.16091e-04_rb,0.17244e-04_rb,0.53212e-05_rb /) kbo(:, 5,30, 4) = (/ & & 0.10381e-07_rb,0.12034e-04_rb,0.16821e-04_rb,0.18023e-04_rb,0.56712e-05_rb /) kbo(:, 1,31, 4) = (/ & & 0.97205e-08_rb,0.82296e-05_rb,0.11440e-04_rb,0.12288e-04_rb,0.36079e-05_rb /) kbo(:, 2,31, 4) = (/ & & 0.93777e-08_rb,0.87431e-05_rb,0.12158e-04_rb,0.13067e-04_rb,0.38974e-05_rb /) kbo(:, 3,31, 4) = (/ & & 0.90391e-08_rb,0.92300e-05_rb,0.12862e-04_rb,0.13769e-04_rb,0.41885e-05_rb /) kbo(:, 4,31, 4) = (/ & & 0.87219e-08_rb,0.96854e-05_rb,0.13508e-04_rb,0.14454e-04_rb,0.44756e-05_rb /) kbo(:, 5,31, 4) = (/ & & 0.84251e-08_rb,0.10101e-04_rb,0.14090e-04_rb,0.15064e-04_rb,0.47643e-05_rb /) kbo(:, 1,32, 4) = (/ & & 0.78842e-08_rb,0.69379e-05_rb,0.96378e-05_rb,0.10350e-04_rb,0.30462e-05_rb /) kbo(:, 2,32, 4) = (/ & & 0.76058e-08_rb,0.73605e-05_rb,0.10230e-04_rb,0.10964e-04_rb,0.32879e-05_rb /) kbo(:, 3,32, 4) = (/ & & 0.73312e-08_rb,0.77685e-05_rb,0.10806e-04_rb,0.11552e-04_rb,0.35258e-05_rb /) kbo(:, 4,32, 4) = (/ & & 0.70761e-08_rb,0.81393e-05_rb,0.11329e-04_rb,0.12109e-04_rb,0.37642e-05_rb /) kbo(:, 5,32, 4) = (/ & & 0.68375e-08_rb,0.84723e-05_rb,0.11806e-04_rb,0.12582e-04_rb,0.40027e-05_rb /) kbo(:, 1,33, 4) = (/ & & 0.63946e-08_rb,0.58484e-05_rb,0.81132e-05_rb,0.87138e-05_rb,0.25722e-05_rb /) kbo(:, 2,33, 4) = (/ & & 0.61668e-08_rb,0.61985e-05_rb,0.86152e-05_rb,0.92043e-05_rb,0.27716e-05_rb /) kbo(:, 3,33, 4) = (/ & & 0.59460e-08_rb,0.65329e-05_rb,0.90761e-05_rb,0.96914e-05_rb,0.29672e-05_rb /) kbo(:, 4,33, 4) = (/ & & 0.57410e-08_rb,0.68349e-05_rb,0.94991e-05_rb,0.10128e-04_rb,0.31649e-05_rb /) kbo(:, 5,33, 4) = (/ & & 0.55490e-08_rb,0.71098e-05_rb,0.98972e-05_rb,0.10494e-04_rb,0.33613e-05_rb /) kbo(:, 1,34, 4) = (/ & & 0.51931e-08_rb,0.49155e-05_rb,0.68122e-05_rb,0.73003e-05_rb,0.21648e-05_rb /) kbo(:, 2,34, 4) = (/ & & 0.50066e-08_rb,0.52108e-05_rb,0.72299e-05_rb,0.77128e-05_rb,0.23280e-05_rb /) kbo(:, 3,34, 4) = (/ & & 0.48289e-08_rb,0.54838e-05_rb,0.76076e-05_rb,0.81077e-05_rb,0.24906e-05_rb /) kbo(:, 4,34, 4) = (/ & & 0.46636e-08_rb,0.57271e-05_rb,0.79460e-05_rb,0.84494e-05_rb,0.26534e-05_rb /) kbo(:, 5,34, 4) = (/ & & 0.45089e-08_rb,0.59543e-05_rb,0.82751e-05_rb,0.87422e-05_rb,0.28159e-05_rb /) kbo(:, 1,35, 4) = (/ & & 0.42177e-08_rb,0.41104e-05_rb,0.56914e-05_rb,0.60852e-05_rb,0.18078e-05_rb /) kbo(:, 2,35, 4) = (/ & & 0.40795e-08_rb,0.43580e-05_rb,0.60334e-05_rb,0.64274e-05_rb,0.19421e-05_rb /) kbo(:, 3,35, 4) = (/ & & 0.39353e-08_rb,0.45814e-05_rb,0.63407e-05_rb,0.67443e-05_rb,0.20767e-05_rb /) kbo(:, 4,35, 4) = (/ & & 0.38012e-08_rb,0.47803e-05_rb,0.66196e-05_rb,0.70144e-05_rb,0.22114e-05_rb /) kbo(:, 5,35, 4) = (/ & & 0.36756e-08_rb,0.49682e-05_rb,0.68884e-05_rb,0.72539e-05_rb,0.23458e-05_rb /) kbo(:, 1,36, 4) = (/ & & 0.34162e-08_rb,0.34141e-05_rb,0.47224e-05_rb,0.50412e-05_rb,0.14965e-05_rb /) kbo(:, 2,36, 4) = (/ & & 0.33196e-08_rb,0.36215e-05_rb,0.50037e-05_rb,0.53241e-05_rb,0.16078e-05_rb /) kbo(:, 3,36, 4) = (/ & & 0.32195e-08_rb,0.38064e-05_rb,0.52583e-05_rb,0.55817e-05_rb,0.17188e-05_rb /) kbo(:, 4,36, 4) = (/ & & 0.31099e-08_rb,0.39715e-05_rb,0.54881e-05_rb,0.58006e-05_rb,0.18307e-05_rb /) kbo(:, 5,36, 4) = (/ & & 0.30072e-08_rb,0.41270e-05_rb,0.57065e-05_rb,0.59974e-05_rb,0.19419e-05_rb /) kbo(:, 1,37, 4) = (/ & & 0.28008e-08_rb,0.28094e-05_rb,0.38801e-05_rb,0.41393e-05_rb,0.12248e-05_rb /) kbo(:, 2,37, 4) = (/ & & 0.27121e-08_rb,0.29836e-05_rb,0.41155e-05_rb,0.43748e-05_rb,0.13168e-05_rb /) kbo(:, 3,37, 4) = (/ & & 0.26482e-08_rb,0.31397e-05_rb,0.43282e-05_rb,0.45885e-05_rb,0.14087e-05_rb /) kbo(:, 4,37, 4) = (/ & & 0.25576e-08_rb,0.32779e-05_rb,0.45200e-05_rb,0.47706e-05_rb,0.15013e-05_rb /) kbo(:, 5,37, 4) = (/ & & 0.24727e-08_rb,0.34082e-05_rb,0.47023e-05_rb,0.49354e-05_rb,0.15935e-05_rb /) kbo(:, 1,38, 4) = (/ & & 0.22984e-08_rb,0.23106e-05_rb,0.31856e-05_rb,0.33961e-05_rb,0.10016e-05_rb /) kbo(:, 2,38, 4) = (/ & & 0.22220e-08_rb,0.24563e-05_rb,0.33826e-05_rb,0.35915e-05_rb,0.10776e-05_rb /) kbo(:, 3,38, 4) = (/ & & 0.21588e-08_rb,0.25882e-05_rb,0.35600e-05_rb,0.37696e-05_rb,0.11538e-05_rb /) kbo(:, 4,38, 4) = (/ & & 0.21040e-08_rb,0.27033e-05_rb,0.37199e-05_rb,0.39213e-05_rb,0.12304e-05_rb /) kbo(:, 5,38, 4) = (/ & & 0.20339e-08_rb,0.28122e-05_rb,0.38728e-05_rb,0.40597e-05_rb,0.13067e-05_rb /) kbo(:, 1,39, 4) = (/ & & 0.18867e-08_rb,0.18990e-05_rb,0.26147e-05_rb,0.27855e-05_rb,0.81895e-06_rb /) kbo(:, 2,39, 4) = (/ & & 0.18219e-08_rb,0.20211e-05_rb,0.27789e-05_rb,0.29482e-05_rb,0.88168e-06_rb /) kbo(:, 3,39, 4) = (/ & & 0.17671e-08_rb,0.21324e-05_rb,0.29272e-05_rb,0.30962e-05_rb,0.94475e-06_rb /) kbo(:, 4,39, 4) = (/ & & 0.17201e-08_rb,0.22287e-05_rb,0.30607e-05_rb,0.32231e-05_rb,0.10080e-05_rb /) kbo(:, 5,39, 4) = (/ & & 0.16729e-08_rb,0.23197e-05_rb,0.31885e-05_rb,0.33389e-05_rb,0.10713e-05_rb /) kbo(:, 1,40, 4) = (/ & & 0.15567e-08_rb,0.15486e-05_rb,0.21299e-05_rb,0.22697e-05_rb,0.66418e-06_rb /) kbo(:, 2,40, 4) = (/ & & 0.15030e-08_rb,0.16525e-05_rb,0.22686e-05_rb,0.24063e-05_rb,0.71591e-06_rb /) kbo(:, 3,40, 4) = (/ & & 0.14559e-08_rb,0.17468e-05_rb,0.23938e-05_rb,0.25304e-05_rb,0.76804e-06_rb /) kbo(:, 4,40, 4) = (/ & & 0.14147e-08_rb,0.18284e-05_rb,0.25062e-05_rb,0.26377e-05_rb,0.82053e-06_rb /) kbo(:, 5,40, 4) = (/ & & 0.13808e-08_rb,0.19051e-05_rb,0.26142e-05_rb,0.27362e-05_rb,0.87282e-06_rb /) kbo(:, 1,41, 4) = (/ & & 0.12855e-08_rb,0.12622e-05_rb,0.17326e-05_rb,0.18472e-05_rb,0.53778e-06_rb /) kbo(:, 2,41, 4) = (/ & & 0.12414e-08_rb,0.13486e-05_rb,0.18494e-05_rb,0.19612e-05_rb,0.58062e-06_rb /) kbo(:, 3,41, 4) = (/ & & 0.12006e-08_rb,0.14290e-05_rb,0.19551e-05_rb,0.20665e-05_rb,0.62365e-06_rb /) kbo(:, 4,41, 4) = (/ & & 0.11655e-08_rb,0.14984e-05_rb,0.20506e-05_rb,0.21570e-05_rb,0.66707e-06_rb /) kbo(:, 5,41, 4) = (/ & & 0.11366e-08_rb,0.15630e-05_rb,0.21416e-05_rb,0.22404e-05_rb,0.71035e-06_rb /) kbo(:, 1,42, 4) = (/ & & 0.10616e-08_rb,0.10273e-05_rb,0.14085e-05_rb,0.15034e-05_rb,0.43514e-06_rb /) kbo(:, 2,42, 4) = (/ & & 0.10250e-08_rb,0.10997e-05_rb,0.15070e-05_rb,0.15973e-05_rb,0.47061e-06_rb /) kbo(:, 3,42, 4) = (/ & & 0.99030e-09_rb,0.11679e-05_rb,0.15953e-05_rb,0.16861e-05_rb,0.50613e-06_rb /) kbo(:, 4,42, 4) = (/ & & 0.96062e-09_rb,0.12272e-05_rb,0.16766e-05_rb,0.17642e-05_rb,0.54216e-06_rb /) kbo(:, 5,42, 4) = (/ & & 0.93443e-09_rb,0.12817e-05_rb,0.17529e-05_rb,0.18333e-05_rb,0.57784e-06_rb /) kbo(:, 1,43, 4) = (/ & & 0.87883e-09_rb,0.83199e-06_rb,0.11402e-05_rb,0.12168e-05_rb,0.35025e-06_rb /) kbo(:, 2,43, 4) = (/ & & 0.84829e-09_rb,0.89254e-06_rb,0.12225e-05_rb,0.12958e-05_rb,0.37960e-06_rb /) kbo(:, 3,43, 4) = (/ & & 0.81903e-09_rb,0.95072e-06_rb,0.12966e-05_rb,0.13708e-05_rb,0.40893e-06_rb /) kbo(:, 4,43, 4) = (/ & & 0.79369e-09_rb,0.10020e-05_rb,0.13665e-05_rb,0.14379e-05_rb,0.43862e-06_rb /) kbo(:, 5,43, 4) = (/ & & 0.77108e-09_rb,0.10478e-05_rb,0.14302e-05_rb,0.14962e-05_rb,0.46817e-06_rb /) kbo(:, 1,44, 4) = (/ & & 0.72838e-09_rb,0.67080e-06_rb,0.91962e-06_rb,0.98102e-06_rb,0.28107e-06_rb /) kbo(:, 2,44, 4) = (/ & & 0.70279e-09_rb,0.72271e-06_rb,0.98853e-06_rb,0.10491e-05_rb,0.30540e-06_rb /) kbo(:, 3,44, 4) = (/ & & 0.67858e-09_rb,0.77203e-06_rb,0.10522e-05_rb,0.11122e-05_rb,0.32958e-06_rb /) kbo(:, 4,44, 4) = (/ & & 0.65651e-09_rb,0.81625e-06_rb,0.11115e-05_rb,0.11697e-05_rb,0.35407e-06_rb /) kbo(:, 5,44, 4) = (/ & & 0.63727e-09_rb,0.85495e-06_rb,0.11651e-05_rb,0.12192e-05_rb,0.37850e-06_rb /) kbo(:, 1,45, 4) = (/ & & 0.60379e-09_rb,0.54047e-06_rb,0.74128e-06_rb,0.79100e-06_rb,0.22535e-06_rb /) kbo(:, 2,45, 4) = (/ & & 0.58228e-09_rb,0.58429e-06_rb,0.79854e-06_rb,0.84841e-06_rb,0.24548e-06_rb /) kbo(:, 3,45, 4) = (/ & & 0.56220e-09_rb,0.62606e-06_rb,0.85283e-06_rb,0.90157e-06_rb,0.26541e-06_rb /) kbo(:, 4,45, 4) = (/ & & 0.54320e-09_rb,0.66423e-06_rb,0.90296e-06_rb,0.95015e-06_rb,0.28558e-06_rb /) kbo(:, 5,45, 4) = (/ & & 0.52686e-09_rb,0.69719e-06_rb,0.94830e-06_rb,0.99254e-06_rb,0.30580e-06_rb /) kbo(:, 1,46, 4) = (/ & & 0.50108e-09_rb,0.43361e-06_rb,0.59554e-06_rb,0.63432e-06_rb,0.18023e-06_rb /) kbo(:, 2,46, 4) = (/ & & 0.48291e-09_rb,0.47127e-06_rb,0.64349e-06_rb,0.68510e-06_rb,0.19677e-06_rb /) kbo(:, 3,46, 4) = (/ & & 0.46612e-09_rb,0.50621e-06_rb,0.68942e-06_rb,0.72929e-06_rb,0.21325e-06_rb /) kbo(:, 4,46, 4) = (/ & & 0.45004e-09_rb,0.53903e-06_rb,0.73169e-06_rb,0.77095e-06_rb,0.22986e-06_rb /) kbo(:, 5,46, 4) = (/ & & 0.43600e-09_rb,0.56740e-06_rb,0.77081e-06_rb,0.80714e-06_rb,0.24654e-06_rb /) kbo(:, 1,47, 4) = (/ & & 0.41665e-09_rb,0.34614e-06_rb,0.47565e-06_rb,0.50598e-06_rb,0.14345e-06_rb /) kbo(:, 2,47, 4) = (/ & & 0.40119e-09_rb,0.37779e-06_rb,0.51642e-06_rb,0.55015e-06_rb,0.15697e-06_rb /) kbo(:, 3,47, 4) = (/ & & 0.38702e-09_rb,0.40752e-06_rb,0.55525e-06_rb,0.58759e-06_rb,0.17064e-06_rb /) kbo(:, 4,47, 4) = (/ & & 0.37372e-09_rb,0.43563e-06_rb,0.59076e-06_rb,0.62318e-06_rb,0.18430e-06_rb /) kbo(:, 5,47, 4) = (/ & & 0.36139e-09_rb,0.46041e-06_rb,0.62474e-06_rb,0.65515e-06_rb,0.19800e-06_rb /) kbo(:, 1,48, 4) = (/ & & 0.34658e-09_rb,0.27494e-06_rb,0.37924e-06_rb,0.40349e-06_rb,0.11407e-06_rb /) kbo(:, 2,48, 4) = (/ & & 0.33340e-09_rb,0.30243e-06_rb,0.41340e-06_rb,0.44066e-06_rb,0.12508e-06_rb /) kbo(:, 3,48, 4) = (/ & & 0.32143e-09_rb,0.32756e-06_rb,0.44635e-06_rb,0.47308e-06_rb,0.13636e-06_rb /) kbo(:, 4,48, 4) = (/ & & 0.31032e-09_rb,0.35149e-06_rb,0.47669e-06_rb,0.50309e-06_rb,0.14763e-06_rb /) kbo(:, 5,48, 4) = (/ & & 0.29969e-09_rb,0.37323e-06_rb,0.50542e-06_rb,0.53062e-06_rb,0.15892e-06_rb /) kbo(:, 1,49, 4) = (/ & & 0.28846e-09_rb,0.21778e-06_rb,0.30168e-06_rb,0.32158e-06_rb,0.90607e-07_rb /) kbo(:, 2,49, 4) = (/ & & 0.27716e-09_rb,0.24139e-06_rb,0.33071e-06_rb,0.35214e-06_rb,0.99577e-07_rb /) kbo(:, 3,49, 4) = (/ & & 0.26700e-09_rb,0.26304e-06_rb,0.35804e-06_rb,0.38049e-06_rb,0.10881e-06_rb /) kbo(:, 4,49, 4) = (/ & & 0.25767e-09_rb,0.28313e-06_rb,0.38394e-06_rb,0.40566e-06_rb,0.11814e-06_rb /) kbo(:, 5,49, 4) = (/ & & 0.24875e-09_rb,0.30183e-06_rb,0.40832e-06_rb,0.42906e-06_rb,0.12742e-06_rb /) kbo(:, 1,50, 4) = (/ & & 0.23994e-09_rb,0.17276e-06_rb,0.24039e-06_rb,0.25644e-06_rb,0.72124e-07_rb /) kbo(:, 2,50, 4) = (/ & & 0.23028e-09_rb,0.19275e-06_rb,0.26429e-06_rb,0.28117e-06_rb,0.79388e-07_rb /) kbo(:, 3,50, 4) = (/ & & 0.22162e-09_rb,0.21106e-06_rb,0.28758e-06_rb,0.30606e-06_rb,0.86922e-07_rb /) kbo(:, 4,50, 4) = (/ & & 0.21377e-09_rb,0.22807e-06_rb,0.30947e-06_rb,0.32714e-06_rb,0.94628e-07_rb /) kbo(:, 5,50, 4) = (/ & & 0.20641e-09_rb,0.24400e-06_rb,0.32962e-06_rb,0.34715e-06_rb,0.10228e-06_rb /) kbo(:, 1,51, 4) = (/ & & 0.19960e-09_rb,0.13709e-06_rb,0.19101e-06_rb,0.20407e-06_rb,0.57566e-07_rb /) kbo(:, 2,51, 4) = (/ & & 0.19132e-09_rb,0.15352e-06_rb,0.21120e-06_rb,0.22455e-06_rb,0.63308e-07_rb /) kbo(:, 3,51, 4) = (/ & & 0.18395e-09_rb,0.16924e-06_rb,0.23068e-06_rb,0.24563e-06_rb,0.69421e-07_rb /) kbo(:, 4,51, 4) = (/ & & 0.17732e-09_rb,0.18352e-06_rb,0.24926e-06_rb,0.26383e-06_rb,0.75773e-07_rb /) kbo(:, 5,51, 4) = (/ & & 0.17117e-09_rb,0.19715e-06_rb,0.26630e-06_rb,0.28068e-06_rb,0.82097e-07_rb /) kbo(:, 1,52, 4) = (/ & & 0.16616e-09_rb,0.10852e-06_rb,0.15191e-06_rb,0.16137e-06_rb,0.45975e-07_rb /) kbo(:, 2,52, 4) = (/ & & 0.15901e-09_rb,0.12188e-06_rb,0.16855e-06_rb,0.17943e-06_rb,0.50454e-07_rb /) kbo(:, 3,52, 4) = (/ & & 0.15272e-09_rb,0.13535e-06_rb,0.18502e-06_rb,0.19705e-06_rb,0.55424e-07_rb /) kbo(:, 4,52, 4) = (/ & & 0.14711e-09_rb,0.14765e-06_rb,0.20042e-06_rb,0.21252e-06_rb,0.60616e-07_rb /) kbo(:, 5,52, 4) = (/ & & 0.14194e-09_rb,0.15907e-06_rb,0.21484e-06_rb,0.22673e-06_rb,0.65826e-07_rb /) kbo(:, 1,53, 4) = (/ & & 0.13839e-09_rb,0.85704e-07_rb,0.12023e-06_rb,0.12744e-06_rb,0.36523e-07_rb /) kbo(:, 2,53, 4) = (/ & & 0.13223e-09_rb,0.96600e-07_rb,0.13438e-06_rb,0.14312e-06_rb,0.40152e-07_rb /) kbo(:, 3,53, 4) = (/ & & 0.12684e-09_rb,0.10804e-06_rb,0.14784e-06_rb,0.15735e-06_rb,0.44207e-07_rb /) kbo(:, 4,53, 4) = (/ & & 0.12208e-09_rb,0.11851e-06_rb,0.16093e-06_rb,0.17108e-06_rb,0.48435e-07_rb /) kbo(:, 5,53, 4) = (/ & & 0.11772e-09_rb,0.12811e-06_rb,0.17313e-06_rb,0.18293e-06_rb,0.52733e-07_rb /) kbo(:, 1,54, 4) = (/ & & 0.11516e-09_rb,0.67802e-07_rb,0.95400e-07_rb,0.10065e-06_rb,0.29040e-07_rb /) kbo(:, 2,54, 4) = (/ & & 0.10986e-09_rb,0.76927e-07_rb,0.10712e-06_rb,0.11428e-06_rb,0.32044e-07_rb /) kbo(:, 3,54, 4) = (/ & & 0.10526e-09_rb,0.86295e-07_rb,0.11833e-06_rb,0.12580e-06_rb,0.35335e-07_rb /) kbo(:, 4,54, 4) = (/ & & 0.10122e-09_rb,0.95190e-07_rb,0.12936e-06_rb,0.13763e-06_rb,0.38764e-07_rb /) kbo(:, 5,54, 4) = (/ & & 0.97545e-10_rb,0.10324e-06_rb,0.13969e-06_rb,0.14768e-06_rb,0.42312e-07_rb /) kbo(:, 1,55, 4) = (/ & & 0.95832e-10_rb,0.53610e-07_rb,0.75981e-07_rb,0.79667e-07_rb,0.23117e-07_rb /) kbo(:, 2,55, 4) = (/ & & 0.91281e-10_rb,0.61130e-07_rb,0.85329e-07_rb,0.91005e-07_rb,0.25657e-07_rb /) kbo(:, 3,55, 4) = (/ & & 0.87335e-10_rb,0.68825e-07_rb,0.94736e-07_rb,0.10075e-06_rb,0.28264e-07_rb /) kbo(:, 4,55, 4) = (/ & & 0.83897e-10_rb,0.76435e-07_rb,0.10396e-06_rb,0.11070e-06_rb,0.31057e-07_rb /) kbo(:, 5,55, 4) = (/ & & 0.80810e-10_rb,0.83278e-07_rb,0.11269e-06_rb,0.11928e-06_rb,0.33972e-07_rb /) kbo(:, 1,56, 4) = (/ & & 0.79810e-10_rb,0.42322e-07_rb,0.60374e-07_rb,0.62926e-07_rb,0.18404e-07_rb /) kbo(:, 2,56, 4) = (/ & & 0.75864e-10_rb,0.48559e-07_rb,0.68039e-07_rb,0.72241e-07_rb,0.20548e-07_rb /) kbo(:, 3,56, 4) = (/ & & 0.72485e-10_rb,0.54773e-07_rb,0.75799e-07_rb,0.80757e-07_rb,0.22581e-07_rb /) kbo(:, 4,56, 4) = (/ & & 0.69560e-10_rb,0.61224e-07_rb,0.83554e-07_rb,0.88967e-07_rb,0.24859e-07_rb /) kbo(:, 5,56, 4) = (/ & & 0.66951e-10_rb,0.67084e-07_rb,0.90797e-07_rb,0.96246e-07_rb,0.27245e-07_rb /) kbo(:, 1,57, 4) = (/ & & 0.66524e-10_rb,0.33320e-07_rb,0.47516e-07_rb,0.49541e-07_rb,0.14620e-07_rb /) kbo(:, 2,57, 4) = (/ & & 0.63081e-10_rb,0.38443e-07_rb,0.54027e-07_rb,0.57142e-07_rb,0.16370e-07_rb /) kbo(:, 3,57, 4) = (/ & & 0.60187e-10_rb,0.43587e-07_rb,0.60611e-07_rb,0.64608e-07_rb,0.18036e-07_rb /) kbo(:, 4,57, 4) = (/ & & 0.57689e-10_rb,0.48970e-07_rb,0.66915e-07_rb,0.71233e-07_rb,0.19895e-07_rb /) kbo(:, 5,57, 4) = (/ & & 0.55478e-10_rb,0.53925e-07_rb,0.73045e-07_rb,0.77618e-07_rb,0.21831e-07_rb /) kbo(:, 1,58, 4) = (/ & & 0.55447e-10_rb,0.26240e-07_rb,0.37435e-07_rb,0.38989e-07_rb,0.11606e-07_rb /) kbo(:, 2,58, 4) = (/ & & 0.52442e-10_rb,0.30460e-07_rb,0.42955e-07_rb,0.45233e-07_rb,0.13047e-07_rb /) kbo(:, 3,58, 4) = (/ & & 0.49962e-10_rb,0.34761e-07_rb,0.48418e-07_rb,0.51680e-07_rb,0.14431e-07_rb /) kbo(:, 4,58, 4) = (/ & & 0.47826e-10_rb,0.39152e-07_rb,0.53626e-07_rb,0.57047e-07_rb,0.15934e-07_rb /) kbo(:, 5,58, 4) = (/ & & 0.45954e-10_rb,0.43380e-07_rb,0.58786e-07_rb,0.62538e-07_rb,0.17511e-07_rb /) kbo(:, 1,59, 4) = (/ & & 0.45740e-10_rb,0.21248e-07_rb,0.30261e-07_rb,0.31577e-07_rb,0.94221e-08_rb /) kbo(:, 2,59, 4) = (/ & & 0.43210e-10_rb,0.24730e-07_rb,0.34948e-07_rb,0.36722e-07_rb,0.10608e-07_rb /) kbo(:, 3,59, 4) = (/ & & 0.41141e-10_rb,0.28288e-07_rb,0.39410e-07_rb,0.42052e-07_rb,0.11754e-07_rb /) kbo(:, 4,59, 4) = (/ & & 0.39361e-10_rb,0.31904e-07_rb,0.43740e-07_rb,0.46527e-07_rb,0.12986e-07_rb /) kbo(:, 5,59, 4) = (/ & & 0.37805e-10_rb,0.35442e-07_rb,0.48020e-07_rb,0.51083e-07_rb,0.14278e-07_rb /) kbo(:, 1,13, 5) = (/ & & 0.79045e-05_rb,0.58512e-03_rb,0.80967e-03_rb,0.88578e-03_rb,0.34824e-03_rb /) kbo(:, 2,13, 5) = (/ & & 0.92807e-05_rb,0.61818e-03_rb,0.86083e-03_rb,0.92437e-03_rb,0.37870e-03_rb /) kbo(:, 3,13, 5) = (/ & & 0.10620e-04_rb,0.65025e-03_rb,0.90617e-03_rb,0.96290e-03_rb,0.40639e-03_rb /) kbo(:, 4,13, 5) = (/ & & 0.11847e-04_rb,0.68086e-03_rb,0.94767e-03_rb,0.99815e-03_rb,0.43149e-03_rb /) kbo(:, 5,13, 5) = (/ & & 0.12897e-04_rb,0.70941e-03_rb,0.98426e-03_rb,0.10296e-02_rb,0.45459e-03_rb /) kbo(:, 1,14, 5) = (/ & & 0.65683e-05_rb,0.48798e-03_rb,0.67570e-03_rb,0.73755e-03_rb,0.29172e-03_rb /) kbo(:, 2,14, 5) = (/ & & 0.76957e-05_rb,0.51555e-03_rb,0.71856e-03_rb,0.76978e-03_rb,0.31709e-03_rb /) kbo(:, 3,14, 5) = (/ & & 0.87852e-05_rb,0.54243e-03_rb,0.75604e-03_rb,0.80142e-03_rb,0.34064e-03_rb /) kbo(:, 4,14, 5) = (/ & & 0.97622e-05_rb,0.56817e-03_rb,0.79038e-03_rb,0.83091e-03_rb,0.36095e-03_rb /) kbo(:, 5,14, 5) = (/ & & 0.10614e-04_rb,0.59208e-03_rb,0.82018e-03_rb,0.85691e-03_rb,0.38095e-03_rb /) kbo(:, 1,15, 5) = (/ & & 0.54643e-05_rb,0.40660e-03_rb,0.56371e-03_rb,0.61286e-03_rb,0.24435e-03_rb /) kbo(:, 2,15, 5) = (/ & & 0.63883e-05_rb,0.42973e-03_rb,0.59914e-03_rb,0.64093e-03_rb,0.26475e-03_rb /) kbo(:, 3,15, 5) = (/ & & 0.72593e-05_rb,0.45218e-03_rb,0.63004e-03_rb,0.66659e-03_rb,0.28486e-03_rb /) kbo(:, 4,15, 5) = (/ & & 0.80526e-05_rb,0.47373e-03_rb,0.65847e-03_rb,0.69128e-03_rb,0.30200e-03_rb /) kbo(:, 5,15, 5) = (/ & & 0.87364e-05_rb,0.49393e-03_rb,0.68318e-03_rb,0.71321e-03_rb,0.31930e-03_rb /) kbo(:, 1,16, 5) = (/ & & 0.45482e-05_rb,0.33872e-03_rb,0.47003e-03_rb,0.50920e-03_rb,0.20473e-03_rb /) kbo(:, 2,16, 5) = (/ & & 0.52893e-05_rb,0.35785e-03_rb,0.49898e-03_rb,0.53306e-03_rb,0.22171e-03_rb /) kbo(:, 3,16, 5) = (/ & & 0.59989e-05_rb,0.37673e-03_rb,0.52467e-03_rb,0.55461e-03_rb,0.23803e-03_rb /) kbo(:, 4,16, 5) = (/ & & 0.66426e-05_rb,0.39470e-03_rb,0.54827e-03_rb,0.57515e-03_rb,0.25244e-03_rb /) kbo(:, 5,16, 5) = (/ & & 0.71759e-05_rb,0.41193e-03_rb,0.56909e-03_rb,0.59361e-03_rb,0.26773e-03_rb /) kbo(:, 1,17, 5) = (/ & & 0.37690e-05_rb,0.28177e-03_rb,0.39153e-03_rb,0.42265e-03_rb,0.17155e-03_rb /) kbo(:, 2,17, 5) = (/ & & 0.43790e-05_rb,0.29778e-03_rb,0.41535e-03_rb,0.44288e-03_rb,0.18563e-03_rb /) kbo(:, 3,17, 5) = (/ & & 0.49545e-05_rb,0.31371e-03_rb,0.43664e-03_rb,0.46090e-03_rb,0.19908e-03_rb /) kbo(:, 4,17, 5) = (/ & & 0.54563e-05_rb,0.32886e-03_rb,0.45637e-03_rb,0.47854e-03_rb,0.21097e-03_rb /) kbo(:, 5,17, 5) = (/ & & 0.58879e-05_rb,0.34359e-03_rb,0.47416e-03_rb,0.49387e-03_rb,0.22440e-03_rb /) kbo(:, 1,18, 5) = (/ & & 0.31260e-05_rb,0.23432e-03_rb,0.32596e-03_rb,0.35082e-03_rb,0.14348e-03_rb /) kbo(:, 2,18, 5) = (/ & & 0.36185e-05_rb,0.24786e-03_rb,0.34561e-03_rb,0.36765e-03_rb,0.15546e-03_rb /) kbo(:, 3,18, 5) = (/ & & 0.40732e-05_rb,0.26120e-03_rb,0.36343e-03_rb,0.38325e-03_rb,0.16623e-03_rb /) kbo(:, 4,18, 5) = (/ & & 0.44839e-05_rb,0.27403e-03_rb,0.37997e-03_rb,0.39811e-03_rb,0.17659e-03_rb /) kbo(:, 5,18, 5) = (/ & & 0.48304e-05_rb,0.28674e-03_rb,0.39513e-03_rb,0.41114e-03_rb,0.18813e-03_rb /) kbo(:, 1,19, 5) = (/ & & 0.25853e-05_rb,0.19483e-03_rb,0.27128e-03_rb,0.29126e-03_rb,0.11969e-03_rb /) kbo(:, 2,19, 5) = (/ & & 0.29834e-05_rb,0.20623e-03_rb,0.28749e-03_rb,0.30541e-03_rb,0.12978e-03_rb /) kbo(:, 3,19, 5) = (/ & & 0.33546e-05_rb,0.21750e-03_rb,0.30267e-03_rb,0.31871e-03_rb,0.13874e-03_rb /) kbo(:, 4,19, 5) = (/ & & 0.36863e-05_rb,0.22842e-03_rb,0.31656e-03_rb,0.33115e-03_rb,0.14789e-03_rb /) kbo(:, 5,19, 5) = (/ & & 0.39634e-05_rb,0.23942e-03_rb,0.32944e-03_rb,0.34220e-03_rb,0.15742e-03_rb /) kbo(:, 1,20, 5) = (/ & & 0.21486e-05_rb,0.16221e-03_rb,0.22609e-03_rb,0.24236e-03_rb,0.10014e-03_rb /) kbo(:, 2,20, 5) = (/ & & 0.24735e-05_rb,0.17178e-03_rb,0.23949e-03_rb,0.25399e-03_rb,0.10857e-03_rb /) kbo(:, 3,20, 5) = (/ & & 0.27744e-05_rb,0.18136e-03_rb,0.25226e-03_rb,0.26535e-03_rb,0.11604e-03_rb /) kbo(:, 4,20, 5) = (/ & & 0.30414e-05_rb,0.19076e-03_rb,0.26397e-03_rb,0.27566e-03_rb,0.12398e-03_rb /) kbo(:, 5,20, 5) = (/ & & 0.32610e-05_rb,0.20019e-03_rb,0.27488e-03_rb,0.28510e-03_rb,0.13199e-03_rb /) kbo(:, 1,21, 5) = (/ & & 0.17877e-05_rb,0.13507e-03_rb,0.18845e-03_rb,0.20163e-03_rb,0.83879e-04_rb /) kbo(:, 2,21, 5) = (/ & & 0.20518e-05_rb,0.14319e-03_rb,0.19968e-03_rb,0.21134e-03_rb,0.90858e-04_rb /) kbo(:, 3,21, 5) = (/ & & 0.22953e-05_rb,0.15137e-03_rb,0.21038e-03_rb,0.22094e-03_rb,0.97098e-04_rb /) kbo(:, 4,21, 5) = (/ & & 0.25098e-05_rb,0.15947e-03_rb,0.22019e-03_rb,0.22948e-03_rb,0.10402e-03_rb /) kbo(:, 5,21, 5) = (/ & & 0.26830e-05_rb,0.16749e-03_rb,0.22950e-03_rb,0.23761e-03_rb,0.11069e-03_rb /) kbo(:, 1,22, 5) = (/ & & 0.15022e-05_rb,0.11297e-03_rb,0.15773e-03_rb,0.16819e-03_rb,0.70808e-04_rb /) kbo(:, 2,22, 5) = (/ & & 0.17157e-05_rb,0.11998e-03_rb,0.16714e-03_rb,0.17644e-03_rb,0.76345e-04_rb /) kbo(:, 3,22, 5) = (/ & & 0.19111e-05_rb,0.12690e-03_rb,0.17611e-03_rb,0.18454e-03_rb,0.81804e-04_rb /) kbo(:, 4,22, 5) = (/ & & 0.20812e-05_rb,0.13385e-03_rb,0.18425e-03_rb,0.19164e-03_rb,0.87591e-04_rb /) kbo(:, 5,22, 5) = (/ & & 0.22144e-05_rb,0.14066e-03_rb,0.19235e-03_rb,0.19867e-03_rb,0.93228e-04_rb /) kbo(:, 1,23, 5) = (/ & & 0.12621e-05_rb,0.94681e-04_rb,0.13210e-03_rb,0.14032e-03_rb,0.59630e-04_rb /) kbo(:, 2,23, 5) = (/ & & 0.14346e-05_rb,0.10061e-03_rb,0.14009e-03_rb,0.14751e-03_rb,0.64142e-04_rb /) kbo(:, 3,23, 5) = (/ & & 0.15908e-05_rb,0.10655e-03_rb,0.14749e-03_rb,0.15413e-03_rb,0.68988e-04_rb /) kbo(:, 4,23, 5) = (/ & & 0.17253e-05_rb,0.11246e-03_rb,0.15437e-03_rb,0.16013e-03_rb,0.73893e-04_rb /) kbo(:, 5,23, 5) = (/ & & 0.18272e-05_rb,0.11825e-03_rb,0.16130e-03_rb,0.16627e-03_rb,0.78649e-04_rb /) kbo(:, 1,24, 5) = (/ & & 0.10611e-05_rb,0.79419e-04_rb,0.11079e-03_rb,0.11736e-03_rb,0.50244e-04_rb /) kbo(:, 2,24, 5) = (/ & & 0.11996e-05_rb,0.84486e-04_rb,0.11749e-03_rb,0.12345e-03_rb,0.54054e-04_rb /) kbo(:, 3,24, 5) = (/ & & 0.13241e-05_rb,0.89565e-04_rb,0.12364e-03_rb,0.12883e-03_rb,0.58259e-04_rb /) kbo(:, 4,24, 5) = (/ & & 0.14300e-05_rb,0.94592e-04_rb,0.12949e-03_rb,0.13406e-03_rb,0.62300e-04_rb /) kbo(:, 5,24, 5) = (/ & & 0.15070e-05_rb,0.99545e-04_rb,0.13538e-03_rb,0.13928e-03_rb,0.66485e-04_rb /) kbo(:, 1,25, 5) = (/ & & 0.89248e-06_rb,0.66757e-04_rb,0.93043e-04_rb,0.98269e-04_rb,0.42396e-04_rb /) kbo(:, 2,25, 5) = (/ & & 0.10034e-05_rb,0.71082e-04_rb,0.98652e-04_rb,0.10332e-03_rb,0.45719e-04_rb /) kbo(:, 3,25, 5) = (/ & & 0.11024e-05_rb,0.75404e-04_rb,0.10375e-03_rb,0.10782e-03_rb,0.49228e-04_rb /) kbo(:, 4,25, 5) = (/ & & 0.11835e-05_rb,0.79694e-04_rb,0.10882e-03_rb,0.11234e-03_rb,0.52649e-04_rb /) kbo(:, 5,25, 5) = (/ & & 0.12406e-05_rb,0.83915e-04_rb,0.11376e-03_rb,0.11677e-03_rb,0.56264e-04_rb /) kbo(:, 1,26, 5) = (/ & & 0.75147e-06_rb,0.56248e-04_rb,0.78291e-04_rb,0.82441e-04_rb,0.35781e-04_rb /) kbo(:, 2,26, 5) = (/ & & 0.84025e-06_rb,0.59929e-04_rb,0.82917e-04_rb,0.86562e-04_rb,0.38715e-04_rb /) kbo(:, 3,26, 5) = (/ & & 0.91728e-06_rb,0.63618e-04_rb,0.87231e-04_rb,0.90442e-04_rb,0.41682e-04_rb /) kbo(:, 4,26, 5) = (/ & & 0.97947e-06_rb,0.67285e-04_rb,0.91606e-04_rb,0.94311e-04_rb,0.44610e-04_rb /) kbo(:, 5,26, 5) = (/ & & 0.10222e-05_rb,0.70879e-04_rb,0.95759e-04_rb,0.97954e-04_rb,0.47678e-04_rb /) kbo(:, 1,27, 5) = (/ & & 0.63228e-06_rb,0.47448e-04_rb,0.65926e-04_rb,0.69211e-04_rb,0.30312e-04_rb /) kbo(:, 2,27, 5) = (/ & & 0.70187e-06_rb,0.50583e-04_rb,0.69752e-04_rb,0.72622e-04_rb,0.32844e-04_rb /) kbo(:, 3,27, 5) = (/ & & 0.76263e-06_rb,0.53723e-04_rb,0.73431e-04_rb,0.75943e-04_rb,0.35283e-04_rb /) kbo(:, 4,27, 5) = (/ & & 0.80975e-06_rb,0.56884e-04_rb,0.77139e-04_rb,0.79235e-04_rb,0.37837e-04_rb /) kbo(:, 5,27, 5) = (/ & & 0.84099e-06_rb,0.59937e-04_rb,0.80670e-04_rb,0.82198e-04_rb,0.40398e-04_rb /) kbo(:, 1,28, 5) = (/ & & 0.53062e-06_rb,0.40054e-04_rb,0.55536e-04_rb,0.58105e-04_rb,0.25683e-04_rb /) kbo(:, 2,28, 5) = (/ & & 0.58581e-06_rb,0.42748e-04_rb,0.58719e-04_rb,0.60988e-04_rb,0.27829e-04_rb /) kbo(:, 3,28, 5) = (/ & & 0.63283e-06_rb,0.45445e-04_rb,0.61927e-04_rb,0.63808e-04_rb,0.29914e-04_rb /) kbo(:, 4,28, 5) = (/ & & 0.66841e-06_rb,0.48141e-04_rb,0.65033e-04_rb,0.66567e-04_rb,0.32101e-04_rb /) kbo(:, 5,28, 5) = (/ & & 0.69132e-06_rb,0.50744e-04_rb,0.68002e-04_rb,0.69024e-04_rb,0.34196e-04_rb /) kbo(:, 1,29, 5) = (/ & & 0.44482e-06_rb,0.33876e-04_rb,0.46813e-04_rb,0.48820e-04_rb,0.21822e-04_rb /) kbo(:, 2,29, 5) = (/ & & 0.48830e-06_rb,0.36173e-04_rb,0.49534e-04_rb,0.51267e-04_rb,0.23598e-04_rb /) kbo(:, 3,29, 5) = (/ & & 0.52520e-06_rb,0.38507e-04_rb,0.52264e-04_rb,0.53700e-04_rb,0.25407e-04_rb /) kbo(:, 4,29, 5) = (/ & & 0.55142e-06_rb,0.40790e-04_rb,0.54879e-04_rb,0.55934e-04_rb,0.27233e-04_rb /) kbo(:, 5,29, 5) = (/ & & 0.56821e-06_rb,0.43005e-04_rb,0.57374e-04_rb,0.57995e-04_rb,0.28939e-04_rb /) kbo(:, 1,30, 5) = (/ & & 0.37240e-06_rb,0.28688e-04_rb,0.39498e-04_rb,0.41082e-04_rb,0.18542e-04_rb /) kbo(:, 2,30, 5) = (/ & & 0.40697e-06_rb,0.30662e-04_rb,0.41832e-04_rb,0.43139e-04_rb,0.20037e-04_rb /) kbo(:, 3,30, 5) = (/ & & 0.43518e-06_rb,0.32657e-04_rb,0.44137e-04_rb,0.45198e-04_rb,0.21592e-04_rb /) kbo(:, 4,30, 5) = (/ & & 0.45459e-06_rb,0.34600e-04_rb,0.46342e-04_rb,0.47030e-04_rb,0.23099e-04_rb /) kbo(:, 5,30, 5) = (/ & & 0.46674e-06_rb,0.36468e-04_rb,0.48427e-04_rb,0.48752e-04_rb,0.24524e-04_rb /) kbo(:, 1,31, 5) = (/ & & 0.31167e-06_rb,0.24328e-04_rb,0.33365e-04_rb,0.34577e-04_rb,0.15775e-04_rb /) kbo(:, 2,31, 5) = (/ & & 0.33880e-06_rb,0.26033e-04_rb,0.35376e-04_rb,0.36343e-04_rb,0.17037e-04_rb /) kbo(:, 3,31, 5) = (/ & & 0.36022e-06_rb,0.27728e-04_rb,0.37306e-04_rb,0.38025e-04_rb,0.18334e-04_rb /) kbo(:, 4,31, 5) = (/ & & 0.37443e-06_rb,0.29381e-04_rb,0.39153e-04_rb,0.39551e-04_rb,0.19559e-04_rb /) kbo(:, 5,31, 5) = (/ & & 0.38304e-06_rb,0.30940e-04_rb,0.40888e-04_rb,0.41012e-04_rb,0.20735e-04_rb /) kbo(:, 1,32, 5) = (/ & & 0.26065e-06_rb,0.20666e-04_rb,0.28226e-04_rb,0.29128e-04_rb,0.13403e-04_rb /) kbo(:, 2,32, 5) = (/ & & 0.28179e-06_rb,0.22130e-04_rb,0.29934e-04_rb,0.30642e-04_rb,0.14495e-04_rb /) kbo(:, 3,32, 5) = (/ & & 0.29791e-06_rb,0.23572e-04_rb,0.31554e-04_rb,0.32005e-04_rb,0.15576e-04_rb /) kbo(:, 4,32, 5) = (/ & & 0.30813e-06_rb,0.24963e-04_rb,0.33101e-04_rb,0.33278e-04_rb,0.16582e-04_rb /) kbo(:, 5,32, 5) = (/ & & 0.31412e-06_rb,0.26261e-04_rb,0.34510e-04_rb,0.34497e-04_rb,0.17533e-04_rb /) kbo(:, 1,33, 5) = (/ & & 0.21768e-06_rb,0.17581e-04_rb,0.23903e-04_rb,0.24558e-04_rb,0.11405e-04_rb /) kbo(:, 2,33, 5) = (/ & & 0.23409e-06_rb,0.18827e-04_rb,0.25333e-04_rb,0.25812e-04_rb,0.12331e-04_rb /) kbo(:, 3,33, 5) = (/ & & 0.24596e-06_rb,0.20053e-04_rb,0.26696e-04_rb,0.26942e-04_rb,0.13200e-04_rb /) kbo(:, 4,33, 5) = (/ & & 0.25338e-06_rb,0.21211e-04_rb,0.27978e-04_rb,0.28012e-04_rb,0.14037e-04_rb /) kbo(:, 5,33, 5) = (/ & & 0.25735e-06_rb,0.22292e-04_rb,0.29113e-04_rb,0.29019e-04_rb,0.14789e-04_rb /) kbo(:, 1,34, 5) = (/ & & 0.18111e-06_rb,0.14933e-04_rb,0.20221e-04_rb,0.20691e-04_rb,0.96853e-05_rb /) kbo(:, 2,34, 5) = (/ & & 0.19373e-06_rb,0.15993e-04_rb,0.21413e-04_rb,0.21708e-04_rb,0.10459e-04_rb /) kbo(:, 3,34, 5) = (/ & & 0.20262e-06_rb,0.17025e-04_rb,0.22551e-04_rb,0.22651e-04_rb,0.11170e-04_rb /) kbo(:, 4,34, 5) = (/ & & 0.20802e-06_rb,0.17992e-04_rb,0.23603e-04_rb,0.23540e-04_rb,0.11847e-04_rb /) kbo(:, 5,34, 5) = (/ & & 0.21068e-06_rb,0.18892e-04_rb,0.24522e-04_rb,0.24370e-04_rb,0.12444e-04_rb /) kbo(:, 1,35, 5) = (/ & & 0.14940e-06_rb,0.12604e-04_rb,0.17001e-04_rb,0.17339e-04_rb,0.81630e-05_rb /) kbo(:, 2,35, 5) = (/ & & 0.15934e-06_rb,0.13505e-04_rb,0.18008e-04_rb,0.18183e-04_rb,0.87890e-05_rb /) kbo(:, 3,35, 5) = (/ & & 0.16626e-06_rb,0.14374e-04_rb,0.18963e-04_rb,0.18976e-04_rb,0.93838e-05_rb /) kbo(:, 4,35, 5) = (/ & & 0.17040e-06_rb,0.15187e-04_rb,0.19824e-04_rb,0.19720e-04_rb,0.99229e-05_rb /) kbo(:, 5,35, 5) = (/ & & 0.17229e-06_rb,0.15939e-04_rb,0.20582e-04_rb,0.20394e-04_rb,0.10412e-04_rb /) kbo(:, 1,36, 5) = (/ & & 0.12224e-06_rb,0.10560e-04_rb,0.14203e-04_rb,0.14447e-04_rb,0.68196e-05_rb /) kbo(:, 2,36, 5) = (/ & & 0.13030e-06_rb,0.11326e-04_rb,0.15055e-04_rb,0.15156e-04_rb,0.73321e-05_rb /) kbo(:, 3,36, 5) = (/ & & 0.13590e-06_rb,0.12062e-04_rb,0.15856e-04_rb,0.15823e-04_rb,0.78230e-05_rb /) kbo(:, 4,36, 5) = (/ & & 0.13929e-06_rb,0.12750e-04_rb,0.16573e-04_rb,0.16449e-04_rb,0.82632e-05_rb /) kbo(:, 5,36, 5) = (/ & & 0.14081e-06_rb,0.13384e-04_rb,0.17208e-04_rb,0.17006e-04_rb,0.86656e-05_rb /) kbo(:, 1,37, 5) = (/ & & 0.98979e-07_rb,0.87500e-05_rb,0.11755e-04_rb,0.11943e-04_rb,0.56269e-05_rb /) kbo(:, 2,37, 5) = (/ & & 0.10583e-06_rb,0.94035e-05_rb,0.12480e-04_rb,0.12544e-04_rb,0.60528e-05_rb /) kbo(:, 3,37, 5) = (/ & & 0.11068e-06_rb,0.10031e-04_rb,0.13161e-04_rb,0.13110e-04_rb,0.64604e-05_rb /) kbo(:, 4,37, 5) = (/ & & 0.11365e-06_rb,0.10619e-04_rb,0.13767e-04_rb,0.13642e-04_rb,0.68253e-05_rb /) kbo(:, 5,37, 5) = (/ & & 0.11510e-06_rb,0.11162e-04_rb,0.14306e-04_rb,0.14108e-04_rb,0.71615e-05_rb /) kbo(:, 1,38, 5) = (/ & & 0.80050e-07_rb,0.72436e-05_rb,0.97225e-05_rb,0.98657e-05_rb,0.46375e-05_rb /) kbo(:, 2,38, 5) = (/ & & 0.85886e-07_rb,0.78006e-05_rb,0.10338e-04_rb,0.10378e-04_rb,0.49919e-05_rb /) kbo(:, 3,38, 5) = (/ & & 0.90108e-07_rb,0.83355e-05_rb,0.10916e-04_rb,0.10856e-04_rb,0.53303e-05_rb /) kbo(:, 4,38, 5) = (/ & & 0.92690e-07_rb,0.88380e-05_rb,0.11429e-04_rb,0.11306e-04_rb,0.56349e-05_rb /) kbo(:, 5,38, 5) = (/ & & 0.94046e-07_rb,0.93019e-05_rb,0.11885e-04_rb,0.11696e-04_rb,0.59152e-05_rb /) kbo(:, 1,39, 5) = (/ & & 0.64720e-07_rb,0.59955e-05_rb,0.80389e-05_rb,0.81488e-05_rb,0.38192e-05_rb /) kbo(:, 2,39, 5) = (/ & & 0.69663e-07_rb,0.64699e-05_rb,0.85613e-05_rb,0.85818e-05_rb,0.41159e-05_rb /) kbo(:, 3,39, 5) = (/ & & 0.73305e-07_rb,0.69246e-05_rb,0.90506e-05_rb,0.89861e-05_rb,0.43968e-05_rb /) kbo(:, 4,39, 5) = (/ & & 0.75588e-07_rb,0.73530e-05_rb,0.94857e-05_rb,0.93637e-05_rb,0.46505e-05_rb /) kbo(:, 5,39, 5) = (/ & & 0.76825e-07_rb,0.77492e-05_rb,0.98708e-05_rb,0.96898e-05_rb,0.48841e-05_rb /) kbo(:, 1,40, 5) = (/ & & 0.51871e-07_rb,0.49191e-05_rb,0.65994e-05_rb,0.66890e-05_rb,0.31186e-05_rb /) kbo(:, 2,40, 5) = (/ & & 0.56127e-07_rb,0.53227e-05_rb,0.70435e-05_rb,0.70578e-05_rb,0.33678e-05_rb /) kbo(:, 3,40, 5) = (/ & & 0.59395e-07_rb,0.57124e-05_rb,0.74609e-05_rb,0.74018e-05_rb,0.36025e-05_rb /) kbo(:, 4,40, 5) = (/ & & 0.61501e-07_rb,0.60790e-05_rb,0.78333e-05_rb,0.77210e-05_rb,0.38164e-05_rb /) kbo(:, 5,40, 5) = (/ & & 0.62710e-07_rb,0.64194e-05_rb,0.81613e-05_rb,0.79980e-05_rb,0.40122e-05_rb /) kbo(:, 1,41, 5) = (/ & & 0.41471e-07_rb,0.40276e-05_rb,0.54076e-05_rb,0.54815e-05_rb,0.25402e-05_rb /) kbo(:, 2,41, 5) = (/ & & 0.45127e-07_rb,0.43711e-05_rb,0.57847e-05_rb,0.57971e-05_rb,0.27507e-05_rb /) kbo(:, 3,41, 5) = (/ & & 0.48018e-07_rb,0.47040e-05_rb,0.61407e-05_rb,0.60883e-05_rb,0.29479e-05_rb /) kbo(:, 4,41, 5) = (/ & & 0.49983e-07_rb,0.50177e-05_rb,0.64595e-05_rb,0.63587e-05_rb,0.31286e-05_rb /) kbo(:, 5,41, 5) = (/ & & 0.51153e-07_rb,0.53098e-05_rb,0.67389e-05_rb,0.65950e-05_rb,0.32928e-05_rb /) kbo(:, 1,42, 5) = (/ & & 0.33108e-07_rb,0.32945e-05_rb,0.44261e-05_rb,0.44871e-05_rb,0.20674e-05_rb /) kbo(:, 2,42, 5) = (/ & & 0.36228e-07_rb,0.35861e-05_rb,0.47462e-05_rb,0.47571e-05_rb,0.22452e-05_rb /) kbo(:, 3,42, 5) = (/ & & 0.38776e-07_rb,0.38701e-05_rb,0.50505e-05_rb,0.50046e-05_rb,0.24106e-05_rb /) kbo(:, 4,42, 5) = (/ & & 0.40580e-07_rb,0.41378e-05_rb,0.53219e-05_rb,0.52323e-05_rb,0.25622e-05_rb /) kbo(:, 5,42, 5) = (/ & & 0.41689e-07_rb,0.43881e-05_rb,0.55607e-05_rb,0.54356e-05_rb,0.27015e-05_rb /) kbo(:, 1,43, 5) = (/ & & 0.26243e-07_rb,0.26780e-05_rb,0.36021e-05_rb,0.36578e-05_rb,0.16722e-05_rb /) kbo(:, 2,43, 5) = (/ & & 0.28903e-07_rb,0.29254e-05_rb,0.38754e-05_rb,0.38886e-05_rb,0.18235e-05_rb /) kbo(:, 3,43, 5) = (/ & & 0.31158e-07_rb,0.31674e-05_rb,0.41363e-05_rb,0.40998e-05_rb,0.19628e-05_rb /) kbo(:, 4,43, 5) = (/ & & 0.32828e-07_rb,0.33966e-05_rb,0.43687e-05_rb,0.42935e-05_rb,0.20906e-05_rb /) kbo(:, 5,43, 5) = (/ & & 0.33896e-07_rb,0.36112e-05_rb,0.45745e-05_rb,0.44680e-05_rb,0.22088e-05_rb /) kbo(:, 1,44, 5) = (/ & & 0.20692e-07_rb,0.21688e-05_rb,0.29226e-05_rb,0.29738e-05_rb,0.13486e-05_rb /) kbo(:, 2,44, 5) = (/ & & 0.22961e-07_rb,0.23776e-05_rb,0.31556e-05_rb,0.31699e-05_rb,0.14759e-05_rb /) kbo(:, 3,44, 5) = (/ & & 0.24934e-07_rb,0.25834e-05_rb,0.33779e-05_rb,0.33507e-05_rb,0.15926e-05_rb /) kbo(:, 4,44, 5) = (/ & & 0.26472e-07_rb,0.27800e-05_rb,0.35779e-05_rb,0.35162e-05_rb,0.17017e-05_rb /) kbo(:, 5,44, 5) = (/ & & 0.27504e-07_rb,0.29637e-05_rb,0.37558e-05_rb,0.36666e-05_rb,0.18017e-05_rb /) kbo(:, 1,45, 5) = (/ & & 0.16269e-07_rb,0.17537e-05_rb,0.23672e-05_rb,0.24133e-05_rb,0.10856e-05_rb /) kbo(:, 2,45, 5) = (/ & & 0.18194e-07_rb,0.19291e-05_rb,0.25663e-05_rb,0.25809e-05_rb,0.11927e-05_rb /) kbo(:, 3,45, 5) = (/ & & 0.19903e-07_rb,0.21039e-05_rb,0.27552e-05_rb,0.27360e-05_rb,0.12909e-05_rb /) kbo(:, 4,45, 5) = (/ & & 0.21293e-07_rb,0.22721e-05_rb,0.29270e-05_rb,0.28775e-05_rb,0.13839e-05_rb /) kbo(:, 5,45, 5) = (/ & & 0.22283e-07_rb,0.24292e-05_rb,0.30802e-05_rb,0.30067e-05_rb,0.14686e-05_rb /) kbo(:, 1,46, 5) = (/ & & 0.12712e-07_rb,0.14128e-05_rb,0.19113e-05_rb,0.19548e-05_rb,0.87114e-06_rb /) kbo(:, 2,46, 5) = (/ & & 0.14351e-07_rb,0.15596e-05_rb,0.20802e-05_rb,0.20949e-05_rb,0.96118e-06_rb /) kbo(:, 3,46, 5) = (/ & & 0.15815e-07_rb,0.17076e-05_rb,0.22404e-05_rb,0.22289e-05_rb,0.10436e-05_rb /) kbo(:, 4,46, 5) = (/ & & 0.17062e-07_rb,0.18511e-05_rb,0.23889e-05_rb,0.23492e-05_rb,0.11225e-05_rb /) kbo(:, 5,46, 5) = (/ & & 0.17993e-07_rb,0.19855e-05_rb,0.25206e-05_rb,0.24609e-05_rb,0.11948e-05_rb /) kbo(:, 1,47, 5) = (/ & & 0.98364e-08_rb,0.11306e-05_rb,0.15353e-05_rb,0.15746e-05_rb,0.69554e-06_rb /) kbo(:, 2,47, 5) = (/ & & 0.11226e-07_rb,0.12534e-05_rb,0.16765e-05_rb,0.16944e-05_rb,0.76925e-06_rb /) kbo(:, 3,47, 5) = (/ & & 0.12483e-07_rb,0.13784e-05_rb,0.18130e-05_rb,0.18087e-05_rb,0.84036e-06_rb /) kbo(:, 4,47, 5) = (/ & & 0.13587e-07_rb,0.15007e-05_rb,0.19418e-05_rb,0.19122e-05_rb,0.90712e-06_rb /) kbo(:, 5,47, 5) = (/ & & 0.14457e-07_rb,0.16158e-05_rb,0.20557e-05_rb,0.20073e-05_rb,0.96847e-06_rb /) kbo(:, 1,48, 5) = (/ & & 0.75824e-08_rb,0.90329e-06_rb,0.12307e-05_rb,0.12653e-05_rb,0.55346e-06_rb /) kbo(:, 2,48, 5) = (/ & & 0.87453e-08_rb,0.10050e-05_rb,0.13490e-05_rb,0.13676e-05_rb,0.61470e-06_rb /) kbo(:, 3,48, 5) = (/ & & 0.98194e-08_rb,0.11101e-05_rb,0.14650e-05_rb,0.14651e-05_rb,0.67492e-06_rb /) kbo(:, 4,48, 5) = (/ & & 0.10779e-07_rb,0.12141e-05_rb,0.15756e-05_rb,0.15544e-05_rb,0.73163e-06_rb /) kbo(:, 5,48, 5) = (/ & & 0.11579e-07_rb,0.13125e-05_rb,0.16743e-05_rb,0.16359e-05_rb,0.78405e-06_rb /) kbo(:, 1,49, 5) = (/ & & 0.58219e-08_rb,0.72015e-06_rb,0.98379e-06_rb,0.10143e-05_rb,0.43933e-06_rb /) kbo(:, 2,49, 5) = (/ & & 0.67817e-08_rb,0.80423e-06_rb,0.10832e-05_rb,0.11023e-05_rb,0.49018e-06_rb /) kbo(:, 3,49, 5) = (/ & & 0.76966e-08_rb,0.89205e-06_rb,0.11819e-05_rb,0.11846e-05_rb,0.54131e-06_rb /) kbo(:, 4,49, 5) = (/ & & 0.85224e-08_rb,0.98005e-06_rb,0.12760e-05_rb,0.12617e-05_rb,0.58858e-06_rb /) kbo(:, 5,49, 5) = (/ & & 0.92350e-08_rb,0.10644e-05_rb,0.13615e-05_rb,0.13319e-05_rb,0.63358e-06_rb /) kbo(:, 1,50, 5) = (/ & & 0.44790e-08_rb,0.57418e-06_rb,0.78635e-06_rb,0.81296e-06_rb,0.34881e-06_rb /) kbo(:, 2,50, 5) = (/ & & 0.52579e-08_rb,0.64388e-06_rb,0.87056e-06_rb,0.88896e-06_rb,0.39135e-06_rb /) kbo(:, 3,50, 5) = (/ & & 0.60279e-08_rb,0.71722e-06_rb,0.95348e-06_rb,0.95809e-06_rb,0.43444e-06_rb /) kbo(:, 4,50, 5) = (/ & & 0.67324e-08_rb,0.79134e-06_rb,0.10331e-05_rb,0.10243e-05_rb,0.47391e-06_rb /) kbo(:, 5,50, 5) = (/ & & 0.73551e-08_rb,0.86330e-06_rb,0.11073e-05_rb,0.10842e-05_rb,0.51234e-06_rb /) kbo(:, 1,51, 5) = (/ & & 0.34450e-08_rb,0.45753e-06_rb,0.62814e-06_rb,0.65158e-06_rb,0.27625e-06_rb /) kbo(:, 2,51, 5) = (/ & & 0.40690e-08_rb,0.51530e-06_rb,0.69892e-06_rb,0.71555e-06_rb,0.31260e-06_rb /) kbo(:, 3,51, 5) = (/ & & 0.47087e-08_rb,0.57624e-06_rb,0.76840e-06_rb,0.77477e-06_rb,0.34804e-06_rb /) kbo(:, 4,51, 5) = (/ & & 0.53086e-08_rb,0.63843e-06_rb,0.83580e-06_rb,0.83092e-06_rb,0.38181e-06_rb /) kbo(:, 5,51, 5) = (/ & & 0.58439e-08_rb,0.69956e-06_rb,0.89962e-06_rb,0.88225e-06_rb,0.41412e-06_rb /) kbo(:, 1,52, 5) = (/ & & 0.26454e-08_rb,0.36387e-06_rb,0.50007e-06_rb,0.52179e-06_rb,0.21894e-06_rb /) kbo(:, 2,52, 5) = (/ & & 0.31403e-08_rb,0.41173e-06_rb,0.55997e-06_rb,0.57479e-06_rb,0.24870e-06_rb /) kbo(:, 3,52, 5) = (/ & & 0.36655e-08_rb,0.46211e-06_rb,0.61819e-06_rb,0.62511e-06_rb,0.27840e-06_rb /) kbo(:, 4,52, 5) = (/ & & 0.41730e-08_rb,0.51415e-06_rb,0.67546e-06_rb,0.67307e-06_rb,0.30695e-06_rb /) kbo(:, 5,52, 5) = (/ & & 0.46311e-08_rb,0.56582e-06_rb,0.72973e-06_rb,0.71697e-06_rb,0.33407e-06_rb /) kbo(:, 1,53, 5) = (/ & & 0.20275e-08_rb,0.28873e-06_rb,0.39749e-06_rb,0.41647e-06_rb,0.17355e-06_rb /) kbo(:, 2,53, 5) = (/ & & 0.24190e-08_rb,0.32821e-06_rb,0.44730e-06_rb,0.46063e-06_rb,0.19774e-06_rb /) kbo(:, 3,53, 5) = (/ & & 0.28440e-08_rb,0.36981e-06_rb,0.49677e-06_rb,0.50411e-06_rb,0.22218e-06_rb /) kbo(:, 4,53, 5) = (/ & & 0.32690e-08_rb,0.41315e-06_rb,0.54488e-06_rb,0.54408e-06_rb,0.24647e-06_rb /) kbo(:, 5,53, 5) = (/ & & 0.36592e-08_rb,0.45680e-06_rb,0.59090e-06_rb,0.58189e-06_rb,0.26902e-06_rb /) kbo(:, 1,54, 5) = (/ & & 0.15611e-08_rb,0.22962e-06_rb,0.31613e-06_rb,0.33300e-06_rb,0.13730e-06_rb /) kbo(:, 2,54, 5) = (/ & & 0.18696e-08_rb,0.26187e-06_rb,0.35802e-06_rb,0.36954e-06_rb,0.15701e-06_rb /) kbo(:, 3,54, 5) = (/ & & 0.22100e-08_rb,0.29641e-06_rb,0.39970e-06_rb,0.40683e-06_rb,0.17764e-06_rb /) kbo(:, 4,54, 5) = (/ & & 0.25619e-08_rb,0.33255e-06_rb,0.44009e-06_rb,0.44063e-06_rb,0.19808e-06_rb /) kbo(:, 5,54, 5) = (/ & & 0.28928e-08_rb,0.36908e-06_rb,0.47892e-06_rb,0.47270e-06_rb,0.21696e-06_rb /) kbo(:, 1,55, 5) = (/ & & 0.12041e-08_rb,0.18259e-06_rb,0.25108e-06_rb,0.26608e-06_rb,0.10842e-06_rb /) kbo(:, 2,55, 5) = (/ & & 0.14466e-08_rb,0.20918e-06_rb,0.28633e-06_rb,0.29677e-06_rb,0.12468e-06_rb /) kbo(:, 3,55, 5) = (/ & & 0.17176e-08_rb,0.23765e-06_rb,0.32139e-06_rb,0.32799e-06_rb,0.14213e-06_rb /) kbo(:, 4,55, 5) = (/ & & 0.20058e-08_rb,0.26766e-06_rb,0.35523e-06_rb,0.35664e-06_rb,0.15907e-06_rb /) kbo(:, 5,55, 5) = (/ & & 0.22852e-08_rb,0.29818e-06_rb,0.38806e-06_rb,0.38381e-06_rb,0.17512e-06_rb /) kbo(:, 1,56, 5) = (/ & & 0.92934e-09_rb,0.14496e-06_rb,0.19887e-06_rb,0.21215e-06_rb,0.85185e-07_rb /) kbo(:, 2,56, 5) = (/ & & 0.11180e-08_rb,0.16668e-06_rb,0.22841e-06_rb,0.23799e-06_rb,0.99172e-07_rb /) kbo(:, 3,56, 5) = (/ & & 0.13333e-08_rb,0.19024e-06_rb,0.25790e-06_rb,0.26385e-06_rb,0.11331e-06_rb /) kbo(:, 4,56, 5) = (/ & & 0.15668e-08_rb,0.21512e-06_rb,0.28626e-06_rb,0.28820e-06_rb,0.12758e-06_rb /) kbo(:, 5,56, 5) = (/ & & 0.18000e-08_rb,0.24055e-06_rb,0.31405e-06_rb,0.31134e-06_rb,0.14106e-06_rb /) kbo(:, 1,57, 5) = (/ & & 0.71747e-09_rb,0.11491e-06_rb,0.15760e-06_rb,0.16907e-06_rb,0.66762e-07_rb /) kbo(:, 2,57, 5) = (/ & & 0.86318e-09_rb,0.13266e-06_rb,0.18198e-06_rb,0.19051e-06_rb,0.78844e-07_rb /) kbo(:, 3,57, 5) = (/ & & 0.10332e-08_rb,0.15199e-06_rb,0.20646e-06_rb,0.21185e-06_rb,0.90317e-07_rb /) kbo(:, 4,57, 5) = (/ & & 0.12205e-08_rb,0.17255e-06_rb,0.23049e-06_rb,0.23280e-06_rb,0.10211e-06_rb /) kbo(:, 5,57, 5) = (/ & & 0.14137e-08_rb,0.19374e-06_rb,0.25377e-06_rb,0.25209e-06_rb,0.11347e-06_rb /) kbo(:, 1,58, 5) = (/ & & 0.55534e-09_rb,0.91161e-07_rb,0.12495e-06_rb,0.13481e-06_rb,0.52524e-07_rb /) kbo(:, 2,58, 5) = (/ & & 0.66796e-09_rb,0.10564e-06_rb,0.14490e-06_rb,0.15246e-06_rb,0.62491e-07_rb /) kbo(:, 3,58, 5) = (/ & & 0.80208e-09_rb,0.12142e-06_rb,0.16540e-06_rb,0.17013e-06_rb,0.71923e-07_rb /) kbo(:, 4,58, 5) = (/ & & 0.95155e-09_rb,0.13846e-06_rb,0.18562e-06_rb,0.18803e-06_rb,0.81760e-07_rb /) kbo(:, 5,58, 5) = (/ & & 0.11100e-08_rb,0.15608e-06_rb,0.20513e-06_rb,0.20425e-06_rb,0.91405e-07_rb /) kbo(:, 1,59, 5) = (/ & & 0.44483e-09_rb,0.74201e-07_rb,0.10175e-06_rb,0.10986e-06_rb,0.42626e-07_rb /) kbo(:, 2,59, 5) = (/ & & 0.53478e-09_rb,0.86257e-07_rb,0.11818e-06_rb,0.12453e-06_rb,0.50816e-07_rb /) kbo(:, 3,59, 5) = (/ & & 0.64265e-09_rb,0.99390e-07_rb,0.13535e-06_rb,0.13928e-06_rb,0.58658e-07_rb /) kbo(:, 4,59, 5) = (/ & & 0.76369e-09_rb,0.11360e-06_rb,0.15224e-06_rb,0.15417e-06_rb,0.66845e-07_rb /) kbo(:, 5,59, 5) = (/ & & 0.89316e-09_rb,0.12826e-06_rb,0.16850e-06_rb,0.16775e-06_rb,0.74841e-07_rb /) kbo(:, 1,13, 6) = (/ & & 0.15452e-03_rb,0.17471e-02_rb,0.22870e-02_rb,0.22757e-02_rb,0.11868e-02_rb /) kbo(:, 2,13, 6) = (/ & & 0.17358e-03_rb,0.18337e-02_rb,0.23752e-02_rb,0.23549e-02_rb,0.12492e-02_rb /) kbo(:, 3,13, 6) = (/ & & 0.19043e-03_rb,0.19070e-02_rb,0.24479e-02_rb,0.24255e-02_rb,0.13114e-02_rb /) kbo(:, 4,13, 6) = (/ & & 0.20459e-03_rb,0.19702e-02_rb,0.25109e-02_rb,0.24905e-02_rb,0.13717e-02_rb /) kbo(:, 5,13, 6) = (/ & & 0.21621e-03_rb,0.20266e-02_rb,0.25653e-02_rb,0.25512e-02_rb,0.14320e-02_rb /) kbo(:, 1,14, 6) = (/ & & 0.12793e-03_rb,0.14662e-02_rb,0.19141e-02_rb,0.19032e-02_rb,0.99404e-03_rb /) kbo(:, 2,14, 6) = (/ & & 0.14335e-03_rb,0.15367e-02_rb,0.19852e-02_rb,0.19691e-02_rb,0.10462e-02_rb /) kbo(:, 3,14, 6) = (/ & & 0.15698e-03_rb,0.15974e-02_rb,0.20454e-02_rb,0.20285e-02_rb,0.10986e-02_rb /) kbo(:, 4,14, 6) = (/ & & 0.16837e-03_rb,0.16505e-02_rb,0.20982e-02_rb,0.20828e-02_rb,0.11509e-02_rb /) kbo(:, 5,14, 6) = (/ & & 0.17765e-03_rb,0.16990e-02_rb,0.21452e-02_rb,0.21357e-02_rb,0.12020e-02_rb /) kbo(:, 1,15, 6) = (/ & & 0.10600e-03_rb,0.12280e-02_rb,0.15987e-02_rb,0.15899e-02_rb,0.83160e-03_rb /) kbo(:, 2,15, 6) = (/ & & 0.11846e-03_rb,0.12858e-02_rb,0.16570e-02_rb,0.16438e-02_rb,0.87641e-03_rb /) kbo(:, 3,15, 6) = (/ & & 0.12947e-03_rb,0.13362e-02_rb,0.17073e-02_rb,0.16937e-02_rb,0.92037e-03_rb /) kbo(:, 4,15, 6) = (/ & & 0.13860e-03_rb,0.13818e-02_rb,0.17519e-02_rb,0.17401e-02_rb,0.96514e-03_rb /) kbo(:, 5,15, 6) = (/ & & 0.14605e-03_rb,0.14231e-02_rb,0.17922e-02_rb,0.17849e-02_rb,0.10088e-02_rb /) kbo(:, 1,16, 6) = (/ & & 0.87844e-04_rb,0.10268e-02_rb,0.13337e-02_rb,0.13258e-02_rb,0.69471e-03_rb /) kbo(:, 2,16, 6) = (/ & & 0.97921e-04_rb,0.10747e-02_rb,0.13816e-02_rb,0.13704e-02_rb,0.73309e-03_rb /) kbo(:, 3,16, 6) = (/ & & 0.10678e-03_rb,0.11173e-02_rb,0.14240e-02_rb,0.14122e-02_rb,0.77126e-03_rb /) kbo(:, 4,16, 6) = (/ & & 0.11410e-03_rb,0.11561e-02_rb,0.14619e-02_rb,0.14525e-02_rb,0.80983e-03_rb /) kbo(:, 5,16, 6) = (/ & & 0.12008e-03_rb,0.11913e-02_rb,0.14957e-02_rb,0.14904e-02_rb,0.84685e-03_rb /) kbo(:, 1,17, 6) = (/ & & 0.72736e-04_rb,0.85770e-03_rb,0.11110e-02_rb,0.11043e-02_rb,0.57988e-03_rb /) kbo(:, 2,17, 6) = (/ & & 0.80870e-04_rb,0.89737e-03_rb,0.11508e-02_rb,0.11412e-02_rb,0.61310e-03_rb /) kbo(:, 3,17, 6) = (/ & & 0.87984e-04_rb,0.93334e-03_rb,0.11865e-02_rb,0.11769e-02_rb,0.64563e-03_rb /) kbo(:, 4,17, 6) = (/ & & 0.93900e-04_rb,0.96637e-03_rb,0.12188e-02_rb,0.12115e-02_rb,0.67946e-03_rb /) kbo(:, 5,17, 6) = (/ & & 0.98669e-04_rb,0.99682e-03_rb,0.12477e-02_rb,0.12444e-02_rb,0.71129e-03_rb /) kbo(:, 1,18, 6) = (/ & & 0.60196e-04_rb,0.71585e-03_rb,0.92484e-03_rb,0.91885e-03_rb,0.48428e-03_rb /) kbo(:, 2,18, 6) = (/ & & 0.66759e-04_rb,0.74902e-03_rb,0.95806e-03_rb,0.95007e-03_rb,0.51254e-03_rb /) kbo(:, 3,18, 6) = (/ & & 0.72486e-04_rb,0.77936e-03_rb,0.98828e-03_rb,0.98036e-03_rb,0.54118e-03_rb /) kbo(:, 4,18, 6) = (/ & & 0.77210e-04_rb,0.80757e-03_rb,0.10157e-02_rb,0.10101e-02_rb,0.56995e-03_rb /) kbo(:, 5,18, 6) = (/ & & 0.81046e-04_rb,0.83344e-03_rb,0.10405e-02_rb,0.10390e-02_rb,0.59762e-03_rb /) kbo(:, 1,19, 6) = (/ & & 0.49797e-04_rb,0.59714e-03_rb,0.76951e-03_rb,0.76408e-03_rb,0.40487e-03_rb /) kbo(:, 2,19, 6) = (/ & & 0.55098e-04_rb,0.62505e-03_rb,0.79728e-03_rb,0.79071e-03_rb,0.42904e-03_rb /) kbo(:, 3,19, 6) = (/ & & 0.59690e-04_rb,0.65071e-03_rb,0.82294e-03_rb,0.81671e-03_rb,0.45375e-03_rb /) kbo(:, 4,19, 6) = (/ & & 0.63457e-04_rb,0.67490e-03_rb,0.84635e-03_rb,0.84245e-03_rb,0.47833e-03_rb /) kbo(:, 5,19, 6) = (/ & & 0.66538e-04_rb,0.69683e-03_rb,0.86805e-03_rb,0.86812e-03_rb,0.50238e-03_rb /) kbo(:, 1,20, 6) = (/ & & 0.41277e-04_rb,0.49854e-03_rb,0.64043e-03_rb,0.63582e-03_rb,0.33885e-03_rb /) kbo(:, 2,20, 6) = (/ & & 0.45557e-04_rb,0.52197e-03_rb,0.66408e-03_rb,0.65859e-03_rb,0.35960e-03_rb /) kbo(:, 3,20, 6) = (/ & & 0.49226e-04_rb,0.54380e-03_rb,0.68582e-03_rb,0.68111e-03_rb,0.38108e-03_rb /) kbo(:, 4,20, 6) = (/ & & 0.52238e-04_rb,0.56442e-03_rb,0.70598e-03_rb,0.70364e-03_rb,0.40199e-03_rb /) kbo(:, 5,20, 6) = (/ & & 0.54694e-04_rb,0.58320e-03_rb,0.72504e-03_rb,0.72645e-03_rb,0.42282e-03_rb /) kbo(:, 1,21, 6) = (/ & & 0.34218e-04_rb,0.41624e-03_rb,0.53312e-03_rb,0.52912e-03_rb,0.28376e-03_rb /) kbo(:, 2,21, 6) = (/ & & 0.37670e-04_rb,0.43597e-03_rb,0.55316e-03_rb,0.54893e-03_rb,0.30161e-03_rb /) kbo(:, 3,21, 6) = (/ & & 0.40602e-04_rb,0.45467e-03_rb,0.57178e-03_rb,0.56861e-03_rb,0.32023e-03_rb /) kbo(:, 4,21, 6) = (/ & & 0.43009e-04_rb,0.47220e-03_rb,0.58931e-03_rb,0.58850e-03_rb,0.33805e-03_rb /) kbo(:, 5,21, 6) = (/ & & 0.44968e-04_rb,0.48850e-03_rb,0.60624e-03_rb,0.60867e-03_rb,0.35633e-03_rb /) kbo(:, 1,22, 6) = (/ & & 0.28554e-04_rb,0.34872e-03_rb,0.44519e-03_rb,0.44203e-03_rb,0.23865e-03_rb /) kbo(:, 2,22, 6) = (/ & & 0.31312e-04_rb,0.36543e-03_rb,0.46215e-03_rb,0.45896e-03_rb,0.25429e-03_rb /) kbo(:, 3,22, 6) = (/ & & 0.33623e-04_rb,0.38136e-03_rb,0.47808e-03_rb,0.47625e-03_rb,0.27020e-03_rb /) kbo(:, 4,22, 6) = (/ & & 0.35518e-04_rb,0.39638e-03_rb,0.49352e-03_rb,0.49393e-03_rb,0.28567e-03_rb /) kbo(:, 5,22, 6) = (/ & & 0.37060e-04_rb,0.41046e-03_rb,0.50833e-03_rb,0.51152e-03_rb,0.30169e-03_rb /) kbo(:, 1,23, 6) = (/ & & 0.23825e-04_rb,0.29241e-03_rb,0.37202e-03_rb,0.36957e-03_rb,0.20120e-03_rb /) kbo(:, 2,23, 6) = (/ & & 0.26019e-04_rb,0.30664e-03_rb,0.38650e-03_rb,0.38433e-03_rb,0.21484e-03_rb /) kbo(:, 3,23, 6) = (/ & & 0.27840e-04_rb,0.32027e-03_rb,0.40038e-03_rb,0.39957e-03_rb,0.22829e-03_rb /) kbo(:, 4,23, 6) = (/ & & 0.29329e-04_rb,0.33317e-03_rb,0.41396e-03_rb,0.41498e-03_rb,0.24169e-03_rb /) kbo(:, 5,23, 6) = (/ & & 0.30542e-04_rb,0.34547e-03_rb,0.42681e-03_rb,0.43048e-03_rb,0.25568e-03_rb /) kbo(:, 1,24, 6) = (/ & & 0.19879e-04_rb,0.24552e-03_rb,0.31135e-03_rb,0.30936e-03_rb,0.16986e-03_rb /) kbo(:, 2,24, 6) = (/ & & 0.21617e-04_rb,0.25767e-03_rb,0.32376e-03_rb,0.32228e-03_rb,0.18173e-03_rb /) kbo(:, 3,24, 6) = (/ & & 0.23050e-04_rb,0.26937e-03_rb,0.33590e-03_rb,0.33579e-03_rb,0.19320e-03_rb /) kbo(:, 4,24, 6) = (/ & & 0.24217e-04_rb,0.28054e-03_rb,0.34772e-03_rb,0.34922e-03_rb,0.20501e-03_rb /) kbo(:, 5,24, 6) = (/ & & 0.25164e-04_rb,0.29121e-03_rb,0.35883e-03_rb,0.36286e-03_rb,0.21708e-03_rb /) kbo(:, 1,25, 6) = (/ & & 0.16589e-04_rb,0.20645e-03_rb,0.26087e-03_rb,0.25944e-03_rb,0.14369e-03_rb /) kbo(:, 2,25, 6) = (/ & & 0.17961e-04_rb,0.21688e-03_rb,0.27162e-03_rb,0.27083e-03_rb,0.15386e-03_rb /) kbo(:, 3,25, 6) = (/ & & 0.19083e-04_rb,0.22697e-03_rb,0.28229e-03_rb,0.28258e-03_rb,0.16383e-03_rb /) kbo(:, 4,25, 6) = (/ & & 0.19998e-04_rb,0.23668e-03_rb,0.29245e-03_rb,0.29438e-03_rb,0.17418e-03_rb /) kbo(:, 5,25, 6) = (/ & & 0.20737e-04_rb,0.24589e-03_rb,0.30216e-03_rb,0.30647e-03_rb,0.18465e-03_rb /) kbo(:, 1,26, 6) = (/ & & 0.13858e-04_rb,0.17402e-03_rb,0.21906e-03_rb,0.21804e-03_rb,0.12205e-03_rb /) kbo(:, 2,26, 6) = (/ & & 0.14930e-04_rb,0.18300e-03_rb,0.22843e-03_rb,0.22813e-03_rb,0.13065e-03_rb /) kbo(:, 3,26, 6) = (/ & & 0.15807e-04_rb,0.19174e-03_rb,0.23770e-03_rb,0.23830e-03_rb,0.13933e-03_rb /) kbo(:, 4,26, 6) = (/ & & 0.16522e-04_rb,0.20010e-03_rb,0.24640e-03_rb,0.24876e-03_rb,0.14837e-03_rb /) kbo(:, 5,26, 6) = (/ & & 0.17090e-04_rb,0.20798e-03_rb,0.25500e-03_rb,0.25943e-03_rb,0.15748e-03_rb /) kbo(:, 1,27, 6) = (/ & & 0.11565e-04_rb,0.14689e-03_rb,0.18423e-03_rb,0.18358e-03_rb,0.10372e-03_rb /) kbo(:, 2,27, 6) = (/ & & 0.12404e-04_rb,0.15466e-03_rb,0.19242e-03_rb,0.19242e-03_rb,0.11104e-03_rb /) kbo(:, 3,27, 6) = (/ & & 0.13088e-04_rb,0.16225e-03_rb,0.20035e-03_rb,0.20136e-03_rb,0.11877e-03_rb /) kbo(:, 4,27, 6) = (/ & & 0.13644e-04_rb,0.16938e-03_rb,0.20793e-03_rb,0.21054e-03_rb,0.12658e-03_rb /) kbo(:, 5,27, 6) = (/ & & 0.14079e-04_rb,0.17614e-03_rb,0.21553e-03_rb,0.22004e-03_rb,0.13455e-03_rb /) kbo(:, 1,28, 6) = (/ & & 0.96429e-05_rb,0.12422e-03_rb,0.15518e-03_rb,0.15486e-03_rb,0.88240e-04_rb /) kbo(:, 2,28, 6) = (/ & & 0.10297e-04_rb,0.13093e-03_rb,0.16229e-03_rb,0.16255e-03_rb,0.94664e-04_rb /) kbo(:, 3,28, 6) = (/ & & 0.10829e-04_rb,0.13744e-03_rb,0.16911e-03_rb,0.17043e-03_rb,0.10137e-03_rb /) kbo(:, 4,28, 6) = (/ & & 0.11263e-04_rb,0.14355e-03_rb,0.17577e-03_rb,0.17861e-03_rb,0.10818e-03_rb /) kbo(:, 5,28, 6) = (/ & & 0.11593e-04_rb,0.14936e-03_rb,0.18245e-03_rb,0.18698e-03_rb,0.11517e-03_rb /) kbo(:, 1,29, 6) = (/ & & 0.80357e-05_rb,0.10525e-03_rb,0.13098e-03_rb,0.13087e-03_rb,0.75199e-04_rb /) kbo(:, 2,29, 6) = (/ & & 0.85457e-05_rb,0.11106e-03_rb,0.13709e-03_rb,0.13756e-03_rb,0.80877e-04_rb /) kbo(:, 3,29, 6) = (/ & & 0.89585e-05_rb,0.11659e-03_rb,0.14298e-03_rb,0.14458e-03_rb,0.86703e-04_rb /) kbo(:, 4,29, 6) = (/ & & 0.92936e-05_rb,0.12185e-03_rb,0.14887e-03_rb,0.15184e-03_rb,0.92679e-04_rb /) kbo(:, 5,29, 6) = (/ & & 0.95413e-05_rb,0.12685e-03_rb,0.15476e-03_rb,0.15926e-03_rb,0.98770e-04_rb /) kbo(:, 1,30, 6) = (/ & & 0.66891e-05_rb,0.89326e-04_rb,0.11070e-03_rb,0.11075e-03_rb,0.64254e-04_rb /) kbo(:, 2,30, 6) = (/ & & 0.70855e-05_rb,0.94280e-04_rb,0.11595e-03_rb,0.11668e-03_rb,0.69215e-04_rb /) kbo(:, 3,30, 6) = (/ & & 0.74068e-05_rb,0.99029e-04_rb,0.12112e-03_rb,0.12290e-03_rb,0.74278e-04_rb /) kbo(:, 4,30, 6) = (/ & & 0.76634e-05_rb,0.10356e-03_rb,0.12631e-03_rb,0.12933e-03_rb,0.79489e-04_rb /) kbo(:, 5,30, 6) = (/ & & 0.78499e-05_rb,0.10785e-03_rb,0.13152e-03_rb,0.13588e-03_rb,0.84762e-04_rb /) kbo(:, 1,31, 6) = (/ & & 0.55647e-05_rb,0.75943e-04_rb,0.93695e-04_rb,0.93906e-04_rb,0.55002e-04_rb /) kbo(:, 2,31, 6) = (/ & & 0.58719e-05_rb,0.80167e-04_rb,0.98229e-04_rb,0.99204e-04_rb,0.59329e-04_rb /) kbo(:, 3,31, 6) = (/ & & 0.61212e-05_rb,0.84249e-04_rb,0.10281e-03_rb,0.10471e-03_rb,0.63778e-04_rb /) kbo(:, 4,31, 6) = (/ & & 0.63162e-05_rb,0.88122e-04_rb,0.10738e-03_rb,0.11041e-03_rb,0.68318e-04_rb /) kbo(:, 5,31, 6) = (/ & & 0.64553e-05_rb,0.91835e-04_rb,0.11204e-03_rb,0.11614e-03_rb,0.72907e-04_rb /) kbo(:, 1,32, 6) = (/ & & 0.46246e-05_rb,0.64633e-04_rb,0.79398e-04_rb,0.79831e-04_rb,0.47190e-04_rb /) kbo(:, 2,32, 6) = (/ & & 0.48628e-05_rb,0.68258e-04_rb,0.83383e-04_rb,0.84521e-04_rb,0.50953e-04_rb /) kbo(:, 3,32, 6) = (/ & & 0.50557e-05_rb,0.71758e-04_rb,0.87418e-04_rb,0.89417e-04_rb,0.54823e-04_rb /) kbo(:, 4,32, 6) = (/ & & 0.52035e-05_rb,0.75099e-04_rb,0.91481e-04_rb,0.94423e-04_rb,0.58785e-04_rb /) kbo(:, 5,32, 6) = (/ & & 0.53068e-05_rb,0.78317e-04_rb,0.95646e-04_rb,0.99452e-04_rb,0.62766e-04_rb /) kbo(:, 1,33, 6) = (/ & & 0.38403e-05_rb,0.55077e-04_rb,0.67410e-04_rb,0.68024e-04_rb,0.40538e-04_rb /) kbo(:, 2,33, 6) = (/ & & 0.40244e-05_rb,0.58199e-04_rb,0.70924e-04_rb,0.72180e-04_rb,0.43839e-04_rb /) kbo(:, 3,33, 6) = (/ & & 0.41730e-05_rb,0.61206e-04_rb,0.74475e-04_rb,0.76502e-04_rb,0.47222e-04_rb /) kbo(:, 4,33, 6) = (/ & & 0.42835e-05_rb,0.64091e-04_rb,0.78114e-04_rb,0.80883e-04_rb,0.50652e-04_rb /) kbo(:, 5,33, 6) = (/ & & 0.43604e-05_rb,0.66898e-04_rb,0.81798e-04_rb,0.85293e-04_rb,0.54102e-04_rb /) kbo(:, 1,34, 6) = (/ & & 0.31801e-05_rb,0.46888e-04_rb,0.57233e-04_rb,0.57945e-04_rb,0.34781e-04_rb /) kbo(:, 2,34, 6) = (/ & & 0.33244e-05_rb,0.49586e-04_rb,0.60319e-04_rb,0.61625e-04_rb,0.37646e-04_rb /) kbo(:, 3,34, 6) = (/ & & 0.34389e-05_rb,0.52183e-04_rb,0.63465e-04_rb,0.65422e-04_rb,0.40606e-04_rb /) kbo(:, 4,34, 6) = (/ & & 0.35228e-05_rb,0.54696e-04_rb,0.66697e-04_rb,0.69266e-04_rb,0.43571e-04_rb /) kbo(:, 5,34, 6) = (/ & & 0.35804e-05_rb,0.57162e-04_rb,0.69964e-04_rb,0.73120e-04_rb,0.46562e-04_rb /) kbo(:, 1,35, 6) = (/ & & 0.26200e-05_rb,0.39742e-04_rb,0.48410e-04_rb,0.49141e-04_rb,0.29639e-04_rb /) kbo(:, 2,35, 6) = (/ & & 0.27351e-05_rb,0.42075e-04_rb,0.51122e-04_rb,0.52382e-04_rb,0.32146e-04_rb /) kbo(:, 3,35, 6) = (/ & & 0.28253e-05_rb,0.44325e-04_rb,0.53916e-04_rb,0.55698e-04_rb,0.34701e-04_rb /) kbo(:, 4,35, 6) = (/ & & 0.28907e-05_rb,0.46530e-04_rb,0.56769e-04_rb,0.59068e-04_rb,0.37280e-04_rb /) kbo(:, 5,35, 6) = (/ & & 0.29354e-05_rb,0.48707e-04_rb,0.59649e-04_rb,0.62461e-04_rb,0.39864e-04_rb /) kbo(:, 1,36, 6) = (/ & & 0.21469e-05_rb,0.33498e-04_rb,0.40744e-04_rb,0.41427e-04_rb,0.25045e-04_rb /) kbo(:, 2,36, 6) = (/ & & 0.22407e-05_rb,0.35513e-04_rb,0.43124e-04_rb,0.44262e-04_rb,0.27227e-04_rb /) kbo(:, 3,36, 6) = (/ & & 0.23140e-05_rb,0.37481e-04_rb,0.45588e-04_rb,0.47157e-04_rb,0.29433e-04_rb /) kbo(:, 4,36, 6) = (/ & & 0.23673e-05_rb,0.39419e-04_rb,0.48109e-04_rb,0.50107e-04_rb,0.31672e-04_rb /) kbo(:, 5,36, 6) = (/ & & 0.24035e-05_rb,0.41345e-04_rb,0.50640e-04_rb,0.53089e-04_rb,0.33911e-04_rb /) kbo(:, 1,37, 6) = (/ & & 0.17464e-05_rb,0.27984e-04_rb,0.34007e-04_rb,0.34584e-04_rb,0.20899e-04_rb /) kbo(:, 2,37, 6) = (/ & & 0.18252e-05_rb,0.29737e-04_rb,0.36088e-04_rb,0.37051e-04_rb,0.22785e-04_rb /) kbo(:, 3,37, 6) = (/ & & 0.18877e-05_rb,0.31460e-04_rb,0.38247e-04_rb,0.39573e-04_rb,0.24687e-04_rb /) kbo(:, 4,37, 6) = (/ & & 0.19333e-05_rb,0.33165e-04_rb,0.40460e-04_rb,0.42146e-04_rb,0.26626e-04_rb /) kbo(:, 5,37, 6) = (/ & & 0.19647e-05_rb,0.34869e-04_rb,0.42691e-04_rb,0.44765e-04_rb,0.28561e-04_rb /) kbo(:, 1,38, 6) = (/ & & 0.14198e-05_rb,0.23364e-04_rb,0.28367e-04_rb,0.28854e-04_rb,0.17422e-04_rb /) kbo(:, 2,38, 6) = (/ & & 0.14862e-05_rb,0.24892e-04_rb,0.30186e-04_rb,0.30994e-04_rb,0.19047e-04_rb /) kbo(:, 3,38, 6) = (/ & & 0.15394e-05_rb,0.26399e-04_rb,0.32076e-04_rb,0.33192e-04_rb,0.20688e-04_rb /) kbo(:, 4,38, 6) = (/ & & 0.15786e-05_rb,0.27898e-04_rb,0.34020e-04_rb,0.35441e-04_rb,0.22360e-04_rb /) kbo(:, 5,38, 6) = (/ & & 0.16058e-05_rb,0.29401e-04_rb,0.35983e-04_rb,0.37735e-04_rb,0.24033e-04_rb /) kbo(:, 1,39, 6) = (/ & & 0.11541e-05_rb,0.19509e-04_rb,0.23663e-04_rb,0.24072e-04_rb,0.14521e-04_rb /) kbo(:, 2,39, 6) = (/ & & 0.12100e-05_rb,0.20837e-04_rb,0.25252e-04_rb,0.25929e-04_rb,0.15915e-04_rb /) kbo(:, 3,39, 6) = (/ & & 0.12551e-05_rb,0.22155e-04_rb,0.26902e-04_rb,0.27842e-04_rb,0.17331e-04_rb /) kbo(:, 4,39, 6) = (/ & & 0.12888e-05_rb,0.23470e-04_rb,0.28603e-04_rb,0.29806e-04_rb,0.18773e-04_rb /) kbo(:, 5,39, 6) = (/ & & 0.13123e-05_rb,0.24794e-04_rb,0.30331e-04_rb,0.31815e-04_rb,0.20216e-04_rb /) kbo(:, 1,40, 6) = (/ & & 0.93244e-06_rb,0.16171e-04_rb,0.19599e-04_rb,0.19918e-04_rb,0.11977e-04_rb /) kbo(:, 2,40, 6) = (/ & & 0.98059e-06_rb,0.17324e-04_rb,0.20976e-04_rb,0.21519e-04_rb,0.13169e-04_rb /) kbo(:, 3,40, 6) = (/ & & 0.10196e-05_rb,0.18475e-04_rb,0.22411e-04_rb,0.23178e-04_rb,0.14387e-04_rb /) kbo(:, 4,40, 6) = (/ & & 0.10496e-05_rb,0.19626e-04_rb,0.23897e-04_rb,0.24887e-04_rb,0.15625e-04_rb /) kbo(:, 5,40, 6) = (/ & & 0.10706e-05_rb,0.20792e-04_rb,0.25411e-04_rb,0.26641e-04_rb,0.16871e-04_rb /) kbo(:, 1,41, 6) = (/ & & 0.75206e-06_rb,0.13381e-04_rb,0.16204e-04_rb,0.16448e-04_rb,0.98582e-05_rb /) kbo(:, 2,41, 6) = (/ & & 0.79368e-06_rb,0.14380e-04_rb,0.17395e-04_rb,0.17824e-04_rb,0.10873e-04_rb /) kbo(:, 3,41, 6) = (/ & & 0.82742e-06_rb,0.15382e-04_rb,0.18640e-04_rb,0.19259e-04_rb,0.11916e-04_rb /) kbo(:, 4,41, 6) = (/ & & 0.85390e-06_rb,0.16388e-04_rb,0.19935e-04_rb,0.20745e-04_rb,0.12979e-04_rb /) kbo(:, 5,41, 6) = (/ & & 0.87281e-06_rb,0.17412e-04_rb,0.21261e-04_rb,0.22271e-04_rb,0.14053e-04_rb /) kbo(:, 1,42, 6) = (/ & & 0.60591e-06_rb,0.11061e-04_rb,0.13385e-04_rb,0.13568e-04_rb,0.81045e-05_rb /) kbo(:, 2,42, 6) = (/ & & 0.64182e-06_rb,0.11926e-04_rb,0.14412e-04_rb,0.14751e-04_rb,0.89661e-05_rb /) kbo(:, 3,42, 6) = (/ & & 0.67101e-06_rb,0.12797e-04_rb,0.15489e-04_rb,0.15987e-04_rb,0.98578e-05_rb /) kbo(:, 4,42, 6) = (/ & & 0.69427e-06_rb,0.13675e-04_rb,0.16616e-04_rb,0.17274e-04_rb,0.10770e-04_rb /) kbo(:, 5,42, 6) = (/ & & 0.71122e-06_rb,0.14573e-04_rb,0.17774e-04_rb,0.18601e-04_rb,0.11690e-04_rb /) kbo(:, 1,43, 6) = (/ & & 0.48565e-06_rb,0.90929e-05_rb,0.10998e-04_rb,0.11127e-04_rb,0.66136e-05_rb /) kbo(:, 2,43, 6) = (/ & & 0.51703e-06_rb,0.98401e-05_rb,0.11878e-04_rb,0.12136e-04_rb,0.73431e-05_rb /) kbo(:, 3,43, 6) = (/ & & 0.54246e-06_rb,0.10594e-04_rb,0.12807e-04_rb,0.13197e-04_rb,0.81019e-05_rb /) kbo(:, 4,43, 6) = (/ & & 0.56309e-06_rb,0.11359e-04_rb,0.13782e-04_rb,0.14306e-04_rb,0.88812e-05_rb /) kbo(:, 5,43, 6) = (/ & & 0.57854e-06_rb,0.12144e-04_rb,0.14791e-04_rb,0.15456e-04_rb,0.96685e-05_rb /) kbo(:, 1,44, 6) = (/ & & 0.38777e-06_rb,0.74478e-05_rb,0.90062e-05_rb,0.90921e-05_rb,0.53709e-05_rb /) kbo(:, 2,44, 6) = (/ & & 0.41522e-06_rb,0.80919e-05_rb,0.97570e-05_rb,0.99478e-05_rb,0.59889e-05_rb /) kbo(:, 3,44, 6) = (/ & & 0.43761e-06_rb,0.87433e-05_rb,0.10555e-04_rb,0.10856e-04_rb,0.66332e-05_rb /) kbo(:, 4,44, 6) = (/ & & 0.45584e-06_rb,0.94063e-05_rb,0.11395e-04_rb,0.11808e-04_rb,0.72955e-05_rb /) kbo(:, 5,44, 6) = (/ & & 0.46990e-06_rb,0.10091e-04_rb,0.12269e-04_rb,0.12799e-04_rb,0.79696e-05_rb /) kbo(:, 1,45, 6) = (/ & & 0.30888e-06_rb,0.60898e-05_rb,0.73632e-05_rb,0.74181e-05_rb,0.43535e-05_rb /) kbo(:, 2,45, 6) = (/ & & 0.33291e-06_rb,0.66440e-05_rb,0.80023e-05_rb,0.81416e-05_rb,0.48741e-05_rb /) kbo(:, 3,45, 6) = (/ & & 0.35255e-06_rb,0.72052e-05_rb,0.86855e-05_rb,0.89154e-05_rb,0.54207e-05_rb /) kbo(:, 4,45, 6) = (/ & & 0.36854e-06_rb,0.77787e-05_rb,0.94068e-05_rb,0.97308e-05_rb,0.59833e-05_rb /) kbo(:, 5,45, 6) = (/ & & 0.38125e-06_rb,0.83745e-05_rb,0.10163e-04_rb,0.10583e-04_rb,0.65578e-05_rb /) kbo(:, 1,46, 6) = (/ & & 0.24494e-06_rb,0.49598e-05_rb,0.59987e-05_rb,0.60289e-05_rb,0.35123e-05_rb /) kbo(:, 2,46, 6) = (/ & & 0.26595e-06_rb,0.54355e-05_rb,0.65411e-05_rb,0.66383e-05_rb,0.39494e-05_rb /) kbo(:, 3,46, 6) = (/ & & 0.28328e-06_rb,0.59173e-05_rb,0.71233e-05_rb,0.72943e-05_rb,0.44113e-05_rb /) kbo(:, 4,46, 6) = (/ & & 0.29735e-06_rb,0.64123e-05_rb,0.77406e-05_rb,0.79904e-05_rb,0.48883e-05_rb /) kbo(:, 5,46, 6) = (/ & & 0.30876e-06_rb,0.69283e-05_rb,0.83913e-05_rb,0.87211e-05_rb,0.53766e-05_rb /) kbo(:, 1,47, 6) = (/ & & 0.19287e-06_rb,0.40134e-05_rb,0.48586e-05_rb,0.48718e-05_rb,0.28114e-05_rb /) kbo(:, 2,47, 6) = (/ & & 0.21123e-06_rb,0.44208e-05_rb,0.53178e-05_rb,0.53794e-05_rb,0.31781e-05_rb /) kbo(:, 3,47, 6) = (/ & & 0.22658e-06_rb,0.48332e-05_rb,0.58104e-05_rb,0.59335e-05_rb,0.35646e-05_rb /) kbo(:, 4,47, 6) = (/ & & 0.23912e-06_rb,0.52582e-05_rb,0.63354e-05_rb,0.65230e-05_rb,0.39676e-05_rb /) kbo(:, 5,47, 6) = (/ & & 0.24931e-06_rb,0.57025e-05_rb,0.68920e-05_rb,0.71458e-05_rb,0.43826e-05_rb /) kbo(:, 1,48, 6) = (/ & & 0.15132e-06_rb,0.32395e-05_rb,0.39269e-05_rb,0.39289e-05_rb,0.22458e-05_rb /) kbo(:, 2,48, 6) = (/ & & 0.16716e-06_rb,0.35866e-05_rb,0.43144e-05_rb,0.43511e-05_rb,0.25512e-05_rb /) kbo(:, 3,48, 6) = (/ & & 0.18076e-06_rb,0.39391e-05_rb,0.47294e-05_rb,0.48161e-05_rb,0.28746e-05_rb /) kbo(:, 4,48, 6) = (/ & & 0.19194e-06_rb,0.43030e-05_rb,0.51748e-05_rb,0.53142e-05_rb,0.32135e-05_rb /) kbo(:, 5,48, 6) = (/ & & 0.20099e-06_rb,0.46842e-05_rb,0.56488e-05_rb,0.58430e-05_rb,0.35644e-05_rb /) kbo(:, 1,49, 6) = (/ & & 0.11828e-06_rb,0.26078e-05_rb,0.31672e-05_rb,0.31617e-05_rb,0.17894e-05_rb /) kbo(:, 2,49, 6) = (/ & & 0.13185e-06_rb,0.29029e-05_rb,0.34929e-05_rb,0.35125e-05_rb,0.20423e-05_rb /) kbo(:, 3,49, 6) = (/ & & 0.14378e-06_rb,0.32030e-05_rb,0.38409e-05_rb,0.39000e-05_rb,0.23121e-05_rb /) kbo(:, 4,49, 6) = (/ & & 0.15369e-06_rb,0.35139e-05_rb,0.42179e-05_rb,0.43198e-05_rb,0.25971e-05_rb /) kbo(:, 5,49, 6) = (/ & & 0.16176e-06_rb,0.38391e-05_rb,0.46198e-05_rb,0.47667e-05_rb,0.28929e-05_rb /) kbo(:, 1,50, 6) = (/ & & 0.92362e-07_rb,0.20997e-05_rb,0.25556e-05_rb,0.25471e-05_rb,0.14267e-05_rb /) kbo(:, 2,50, 6) = (/ & & 0.10390e-06_rb,0.23496e-05_rb,0.28286e-05_rb,0.28368e-05_rb,0.16356e-05_rb /) kbo(:, 3,50, 6) = (/ & & 0.11421e-06_rb,0.26049e-05_rb,0.31213e-05_rb,0.31606e-05_rb,0.18609e-05_rb /) kbo(:, 4,50, 6) = (/ & & 0.12297e-06_rb,0.28694e-05_rb,0.34392e-05_rb,0.35125e-05_rb,0.20996e-05_rb /) kbo(:, 5,50, 6) = (/ & & 0.13012e-06_rb,0.31471e-05_rb,0.37794e-05_rb,0.38900e-05_rb,0.23486e-05_rb /) kbo(:, 1,51, 6) = (/ & & 0.72029e-07_rb,0.16879e-05_rb,0.20606e-05_rb,0.20506e-05_rb,0.11365e-05_rb /) kbo(:, 2,51, 6) = (/ & & 0.81717e-07_rb,0.18994e-05_rb,0.22886e-05_rb,0.22902e-05_rb,0.13081e-05_rb /) kbo(:, 3,51, 6) = (/ & & 0.90547e-07_rb,0.21162e-05_rb,0.25347e-05_rb,0.25588e-05_rb,0.14964e-05_rb /) kbo(:, 4,51, 6) = (/ & & 0.98231e-07_rb,0.23407e-05_rb,0.28017e-05_rb,0.28537e-05_rb,0.16958e-05_rb /) kbo(:, 5,51, 6) = (/ & & 0.10454e-06_rb,0.25770e-05_rb,0.30891e-05_rb,0.31719e-05_rb,0.19053e-05_rb /) kbo(:, 1,52, 6) = (/ & & 0.55994e-07_rb,0.13535e-05_rb,0.16583e-05_rb,0.16483e-05_rb,0.90215e-06_rb /) kbo(:, 2,52, 6) = (/ & & 0.64065e-07_rb,0.15318e-05_rb,0.18483e-05_rb,0.18452e-05_rb,0.10447e-05_rb /) kbo(:, 3,52, 6) = (/ & & 0.71601e-07_rb,0.17156e-05_rb,0.20541e-05_rb,0.20679e-05_rb,0.12005e-05_rb /) kbo(:, 4,52, 6) = (/ & & 0.78265e-07_rb,0.19055e-05_rb,0.22786e-05_rb,0.23151e-05_rb,0.13673e-05_rb /) kbo(:, 5,52, 6) = (/ & & 0.83827e-07_rb,0.21062e-05_rb,0.25201e-05_rb,0.25812e-05_rb,0.15426e-05_rb /) kbo(:, 1,53, 6) = (/ & & 0.43376e-07_rb,0.10823e-05_rb,0.13316e-05_rb,0.13229e-05_rb,0.71387e-06_rb /) kbo(:, 2,53, 6) = (/ & & 0.50078e-07_rb,0.12320e-05_rb,0.14898e-05_rb,0.14843e-05_rb,0.83196e-06_rb /) kbo(:, 3,53, 6) = (/ & & 0.56440e-07_rb,0.13873e-05_rb,0.16612e-05_rb,0.16678e-05_rb,0.96085e-06_rb /) kbo(:, 4,53, 6) = (/ & & 0.62188e-07_rb,0.15481e-05_rb,0.18489e-05_rb,0.18736e-05_rb,0.10995e-05_rb /) kbo(:, 5,53, 6) = (/ & & 0.67072e-07_rb,0.17179e-05_rb,0.20520e-05_rb,0.20964e-05_rb,0.12465e-05_rb /) kbo(:, 1,54, 6) = (/ & & 0.33662e-07_rb,0.86685e-06_rb,0.10712e-05_rb,0.10638e-05_rb,0.56675e-06_rb /) kbo(:, 2,54, 6) = (/ & & 0.39188e-07_rb,0.99237e-06_rb,0.12024e-05_rb,0.11965e-05_rb,0.66407e-06_rb /) kbo(:, 3,54, 6) = (/ & & 0.44517e-07_rb,0.11234e-05_rb,0.13453e-05_rb,0.13477e-05_rb,0.77015e-06_rb /) kbo(:, 4,54, 6) = (/ & & 0.49410e-07_rb,0.12591e-05_rb,0.15022e-05_rb,0.15186e-05_rb,0.88568e-06_rb /) kbo(:, 5,54, 6) = (/ & & 0.53662e-07_rb,0.14028e-05_rb,0.16732e-05_rb,0.17054e-05_rb,0.10088e-05_rb /) kbo(:, 1,55, 6) = (/ & & 0.26107e-07_rb,0.69409e-06_rb,0.86148e-06_rb,0.85535e-06_rb,0.44993e-06_rb /) kbo(:, 2,55, 6) = (/ & & 0.30648e-07_rb,0.79874e-06_rb,0.97050e-06_rb,0.96432e-06_rb,0.52987e-06_rb /) kbo(:, 3,55, 6) = (/ & & 0.35070e-07_rb,0.90919e-06_rb,0.10893e-05_rb,0.10889e-05_rb,0.61727e-06_rb /) kbo(:, 4,55, 6) = (/ & & 0.39223e-07_rb,0.10237e-05_rb,0.12206e-05_rb,0.12308e-05_rb,0.71345e-06_rb /) kbo(:, 5,55, 6) = (/ & & 0.42897e-07_rb,0.11450e-05_rb,0.13641e-05_rb,0.13878e-05_rb,0.81614e-06_rb /) kbo(:, 1,56, 6) = (/ & & 0.20183e-07_rb,0.55461e-06_rb,0.69187e-06_rb,0.68686e-06_rb,0.35634e-06_rb /) kbo(:, 2,56, 6) = (/ & & 0.23906e-07_rb,0.64143e-06_rb,0.78193e-06_rb,0.77615e-06_rb,0.42133e-06_rb /) kbo(:, 3,56, 6) = (/ & & 0.27573e-07_rb,0.73422e-06_rb,0.88059e-06_rb,0.87848e-06_rb,0.49387e-06_rb /) kbo(:, 4,56, 6) = (/ & & 0.31066e-07_rb,0.83083e-06_rb,0.99001e-06_rb,0.99604e-06_rb,0.57362e-06_rb /) kbo(:, 5,56, 6) = (/ & & 0.34213e-07_rb,0.93302e-06_rb,0.11103e-05_rb,0.11271e-05_rb,0.65906e-06_rb /) kbo(:, 1,57, 6) = (/ & & 0.15553e-07_rb,0.44221e-06_rb,0.55475e-06_rb,0.55051e-06_rb,0.28158e-06_rb /) kbo(:, 2,57, 6) = (/ & & 0.18597e-07_rb,0.51387e-06_rb,0.62883e-06_rb,0.62381e-06_rb,0.33432e-06_rb /) kbo(:, 3,57, 6) = (/ & & 0.21627e-07_rb,0.59165e-06_rb,0.71079e-06_rb,0.70768e-06_rb,0.39423e-06_rb /) kbo(:, 4,57, 6) = (/ & & 0.24548e-07_rb,0.67286e-06_rb,0.80159e-06_rb,0.80451e-06_rb,0.46009e-06_rb /) kbo(:, 5,57, 6) = (/ & & 0.27223e-07_rb,0.75870e-06_rb,0.90196e-06_rb,0.91372e-06_rb,0.53126e-06_rb /) kbo(:, 1,58, 6) = (/ & & 0.11989e-07_rb,0.35271e-06_rb,0.44504e-06_rb,0.44164e-06_rb,0.22247e-06_rb /) kbo(:, 2,58, 6) = (/ & & 0.14473e-07_rb,0.41167e-06_rb,0.50593e-06_rb,0.50179e-06_rb,0.26557e-06_rb /) kbo(:, 3,58, 6) = (/ & & 0.16959e-07_rb,0.47681e-06_rb,0.57389e-06_rb,0.57055e-06_rb,0.31488e-06_rb /) kbo(:, 4,58, 6) = (/ & & 0.19386e-07_rb,0.54503e-06_rb,0.64933e-06_rb,0.65043e-06_rb,0.36927e-06_rb /) kbo(:, 5,58, 6) = (/ & & 0.21655e-07_rb,0.61705e-06_rb,0.73285e-06_rb,0.74092e-06_rb,0.42823e-06_rb /) kbo(:, 1,59, 6) = (/ & & 0.95745e-08_rb,0.28909e-06_rb,0.36504e-06_rb,0.36221e-06_rb,0.18143e-06_rb /) kbo(:, 2,59, 6) = (/ & & 0.11602e-07_rb,0.33869e-06_rb,0.41625e-06_rb,0.41267e-06_rb,0.21754e-06_rb /) kbo(:, 3,59, 6) = (/ & & 0.13639e-07_rb,0.39363e-06_rb,0.47345e-06_rb,0.47053e-06_rb,0.25873e-06_rb /) kbo(:, 4,59, 6) = (/ & & 0.15635e-07_rb,0.45132e-06_rb,0.53722e-06_rb,0.53779e-06_rb,0.30436e-06_rb /) kbo(:, 5,59, 6) = (/ & & 0.17515e-07_rb,0.51255e-06_rb,0.60804e-06_rb,0.61445e-06_rb,0.35395e-06_rb /) kbo(:, 1,13, 7) = (/ & & 0.13818e-02_rb,0.53095e-02_rb,0.61744e-02_rb,0.61409e-02_rb,0.38201e-02_rb /) kbo(:, 2,13, 7) = (/ & & 0.14927e-02_rb,0.54262e-02_rb,0.63169e-02_rb,0.63268e-02_rb,0.39787e-02_rb /) kbo(:, 3,13, 7) = (/ & & 0.15882e-02_rb,0.55245e-02_rb,0.64575e-02_rb,0.65042e-02_rb,0.41285e-02_rb /) kbo(:, 4,13, 7) = (/ & & 0.16683e-02_rb,0.56028e-02_rb,0.65859e-02_rb,0.66764e-02_rb,0.42766e-02_rb /) kbo(:, 5,13, 7) = (/ & & 0.17364e-02_rb,0.56642e-02_rb,0.66996e-02_rb,0.68400e-02_rb,0.44196e-02_rb /) kbo(:, 1,14, 7) = (/ & & 0.11439e-02_rb,0.44642e-02_rb,0.52052e-02_rb,0.51954e-02_rb,0.32185e-02_rb /) kbo(:, 2,14, 7) = (/ & & 0.12322e-02_rb,0.45612e-02_rb,0.53295e-02_rb,0.53554e-02_rb,0.33544e-02_rb /) kbo(:, 3,14, 7) = (/ & & 0.13082e-02_rb,0.46425e-02_rb,0.54474e-02_rb,0.55111e-02_rb,0.34869e-02_rb /) kbo(:, 4,14, 7) = (/ & & 0.13723e-02_rb,0.47078e-02_rb,0.55568e-02_rb,0.56605e-02_rb,0.36178e-02_rb /) kbo(:, 5,14, 7) = (/ & & 0.14273e-02_rb,0.47614e-02_rb,0.56536e-02_rb,0.58004e-02_rb,0.37445e-02_rb /) kbo(:, 1,15, 7) = (/ & & 0.94600e-03_rb,0.37452e-02_rb,0.43786e-02_rb,0.43839e-02_rb,0.27064e-02_rb /) kbo(:, 2,15, 7) = (/ & & 0.10166e-02_rb,0.38272e-02_rb,0.44845e-02_rb,0.45238e-02_rb,0.28259e-02_rb /) kbo(:, 3,15, 7) = (/ & & 0.10772e-02_rb,0.38951e-02_rb,0.45852e-02_rb,0.46569e-02_rb,0.29424e-02_rb /) kbo(:, 4,15, 7) = (/ & & 0.11287e-02_rb,0.39508e-02_rb,0.46776e-02_rb,0.47856e-02_rb,0.30573e-02_rb /) kbo(:, 5,15, 7) = (/ & & 0.11727e-02_rb,0.39984e-02_rb,0.47639e-02_rb,0.49094e-02_rb,0.31707e-02_rb /) kbo(:, 1,16, 7) = (/ & & 0.78170e-03_rb,0.31386e-02_rb,0.36753e-02_rb,0.36925e-02_rb,0.22749e-02_rb /) kbo(:, 2,16, 7) = (/ & & 0.83828e-03_rb,0.32067e-02_rb,0.37655e-02_rb,0.38108e-02_rb,0.23791e-02_rb /) kbo(:, 3,16, 7) = (/ & & 0.88677e-03_rb,0.32636e-02_rb,0.38524e-02_rb,0.39267e-02_rb,0.24809e-02_rb /) kbo(:, 4,16, 7) = (/ & & 0.92814e-03_rb,0.33127e-02_rb,0.39332e-02_rb,0.40389e-02_rb,0.25819e-02_rb /) kbo(:, 5,16, 7) = (/ & & 0.96342e-03_rb,0.33561e-02_rb,0.40123e-02_rb,0.41493e-02_rb,0.26825e-02_rb /) kbo(:, 1,17, 7) = (/ & & 0.64513e-03_rb,0.26258e-02_rb,0.30792e-02_rb,0.31027e-02_rb,0.19109e-02_rb /) kbo(:, 2,17, 7) = (/ & & 0.69065e-03_rb,0.26830e-02_rb,0.31573e-02_rb,0.32056e-02_rb,0.20013e-02_rb /) kbo(:, 3,17, 7) = (/ & & 0.72951e-03_rb,0.27321e-02_rb,0.32326e-02_rb,0.33061e-02_rb,0.20905e-02_rb /) kbo(:, 4,17, 7) = (/ & & 0.76279e-03_rb,0.27759e-02_rb,0.33057e-02_rb,0.34049e-02_rb,0.21791e-02_rb /) kbo(:, 5,17, 7) = (/ & & 0.79127e-03_rb,0.28164e-02_rb,0.33776e-02_rb,0.35037e-02_rb,0.22680e-02_rb /) kbo(:, 1,18, 7) = (/ & & 0.53216e-03_rb,0.21945e-02_rb,0.25768e-02_rb,0.26041e-02_rb,0.16047e-02_rb /) kbo(:, 2,18, 7) = (/ & & 0.56878e-03_rb,0.22431e-02_rb,0.26453e-02_rb,0.26934e-02_rb,0.16829e-02_rb /) kbo(:, 3,18, 7) = (/ & & 0.60002e-03_rb,0.22864e-02_rb,0.27121e-02_rb,0.27812e-02_rb,0.17605e-02_rb /) kbo(:, 4,18, 7) = (/ & & 0.62666e-03_rb,0.23265e-02_rb,0.27778e-02_rb,0.28689e-02_rb,0.18389e-02_rb /) kbo(:, 5,18, 7) = (/ & & 0.64956e-03_rb,0.23645e-02_rb,0.28436e-02_rb,0.29587e-02_rb,0.19175e-02_rb /) kbo(:, 1,19, 7) = (/ & & 0.43878e-03_rb,0.18328e-02_rb,0.21555e-02_rb,0.21844e-02_rb,0.13470e-02_rb /) kbo(:, 2,19, 7) = (/ & & 0.46832e-03_rb,0.18749e-02_rb,0.22160e-02_rb,0.22619e-02_rb,0.14147e-02_rb /) kbo(:, 3,19, 7) = (/ & & 0.49337e-03_rb,0.19136e-02_rb,0.22752e-02_rb,0.23395e-02_rb,0.14834e-02_rb /) kbo(:, 4,19, 7) = (/ & & 0.51483e-03_rb,0.19509e-02_rb,0.23344e-02_rb,0.24177e-02_rb,0.15526e-02_rb /) kbo(:, 5,19, 7) = (/ & & 0.53321e-03_rb,0.19863e-02_rb,0.23950e-02_rb,0.24983e-02_rb,0.16228e-02_rb /) kbo(:, 1,20, 7) = (/ & & 0.36218e-03_rb,0.15310e-02_rb,0.18044e-02_rb,0.18333e-02_rb,0.11320e-02_rb /) kbo(:, 2,20, 7) = (/ & & 0.38587e-03_rb,0.15681e-02_rb,0.18573e-02_rb,0.19010e-02_rb,0.11911e-02_rb /) kbo(:, 3,20, 7) = (/ & & 0.40599e-03_rb,0.16034e-02_rb,0.19105e-02_rb,0.19693e-02_rb,0.12516e-02_rb /) kbo(:, 4,20, 7) = (/ & & 0.42327e-03_rb,0.16372e-02_rb,0.19642e-02_rb,0.20400e-02_rb,0.13133e-02_rb /) kbo(:, 5,20, 7) = (/ & & 0.43800e-03_rb,0.16702e-02_rb,0.20196e-02_rb,0.21120e-02_rb,0.13760e-02_rb /) kbo(:, 1,21, 7) = (/ & & 0.29894e-03_rb,0.12794e-02_rb,0.15109e-02_rb,0.15392e-02_rb,0.95196e-03_rb /) kbo(:, 2,21, 7) = (/ & & 0.31795e-03_rb,0.13126e-02_rb,0.15578e-02_rb,0.15985e-02_rb,0.10041e-02_rb /) kbo(:, 3,21, 7) = (/ & & 0.33409e-03_rb,0.13444e-02_rb,0.16054e-02_rb,0.16590e-02_rb,0.10575e-02_rb /) kbo(:, 4,21, 7) = (/ & & 0.34798e-03_rb,0.13752e-02_rb,0.16542e-02_rb,0.17228e-02_rb,0.11124e-02_rb /) kbo(:, 5,21, 7) = (/ & & 0.35982e-03_rb,0.14062e-02_rb,0.17046e-02_rb,0.17872e-02_rb,0.11688e-02_rb /) kbo(:, 1,22, 7) = (/ & & 0.24779e-03_rb,0.10720e-02_rb,0.12687e-02_rb,0.12959e-02_rb,0.80428e-03_rb /) kbo(:, 2,22, 7) = (/ & & 0.26287e-03_rb,0.11012e-02_rb,0.13104e-02_rb,0.13483e-02_rb,0.85046e-03_rb /) kbo(:, 3,22, 7) = (/ & & 0.27570e-03_rb,0.11300e-02_rb,0.13532e-02_rb,0.14032e-02_rb,0.89796e-03_rb /) kbo(:, 4,22, 7) = (/ & & 0.28676e-03_rb,0.11583e-02_rb,0.13978e-02_rb,0.14602e-02_rb,0.94722e-03_rb /) kbo(:, 5,22, 7) = (/ & & 0.29612e-03_rb,0.11873e-02_rb,0.14439e-02_rb,0.15185e-02_rb,0.99812e-03_rb /) kbo(:, 1,23, 7) = (/ & & 0.20536e-03_rb,0.89901e-03_rb,0.10666e-02_rb,0.10925e-02_rb,0.68077e-03_rb /) kbo(:, 2,23, 7) = (/ & & 0.21732e-03_rb,0.92514e-03_rb,0.11037e-02_rb,0.11394e-02_rb,0.72189e-03_rb /) kbo(:, 3,23, 7) = (/ & & 0.22752e-03_rb,0.95109e-03_rb,0.11426e-02_rb,0.11888e-02_rb,0.76437e-03_rb /) kbo(:, 4,23, 7) = (/ & & 0.23632e-03_rb,0.97728e-03_rb,0.11832e-02_rb,0.12403e-02_rb,0.80877e-03_rb /) kbo(:, 5,23, 7) = (/ & & 0.24369e-03_rb,0.10040e-02_rb,0.12260e-02_rb,0.12934e-02_rb,0.85489e-03_rb /) kbo(:, 1,24, 7) = (/ & & 0.17021e-03_rb,0.75506e-03_rb,0.89800e-03_rb,0.92265e-03_rb,0.57788e-03_rb /) kbo(:, 2,24, 7) = (/ & & 0.17969e-03_rb,0.77853e-03_rb,0.93149e-03_rb,0.96497e-03_rb,0.61443e-03_rb /) kbo(:, 3,24, 7) = (/ & & 0.18778e-03_rb,0.80207e-03_rb,0.96680e-03_rb,0.10097e-02_rb,0.65278e-03_rb /) kbo(:, 4,24, 7) = (/ & & 0.19477e-03_rb,0.82622e-03_rb,0.10041e-02_rb,0.10564e-02_rb,0.69293e-03_rb /) kbo(:, 5,24, 7) = (/ & & 0.20055e-03_rb,0.85104e-03_rb,0.10439e-02_rb,0.11053e-02_rb,0.73424e-03_rb /) kbo(:, 1,25, 7) = (/ & & 0.14110e-03_rb,0.63531e-03_rb,0.75746e-03_rb,0.78109e-03_rb,0.49195e-03_rb /) kbo(:, 2,25, 7) = (/ & & 0.14860e-03_rb,0.65629e-03_rb,0.78801e-03_rb,0.81951e-03_rb,0.52472e-03_rb /) kbo(:, 3,25, 7) = (/ & & 0.15502e-03_rb,0.67802e-03_rb,0.82018e-03_rb,0.86005e-03_rb,0.55929e-03_rb /) kbo(:, 4,25, 7) = (/ & & 0.16054e-03_rb,0.70023e-03_rb,0.85487e-03_rb,0.90270e-03_rb,0.59546e-03_rb /) kbo(:, 5,25, 7) = (/ & & 0.16506e-03_rb,0.72333e-03_rb,0.89213e-03_rb,0.94794e-03_rb,0.63296e-03_rb /) kbo(:, 1,26, 7) = (/ & & 0.11704e-03_rb,0.53563e-03_rb,0.64089e-03_rb,0.66348e-03_rb,0.42036e-03_rb /) kbo(:, 2,26, 7) = (/ & & 0.12296e-03_rb,0.55482e-03_rb,0.66859e-03_rb,0.69842e-03_rb,0.44986e-03_rb /) kbo(:, 3,26, 7) = (/ & & 0.12804e-03_rb,0.57460e-03_rb,0.69838e-03_rb,0.73532e-03_rb,0.48115e-03_rb /) kbo(:, 4,26, 7) = (/ & & 0.13237e-03_rb,0.59528e-03_rb,0.73081e-03_rb,0.77472e-03_rb,0.51371e-03_rb /) kbo(:, 5,26, 7) = (/ & & 0.13587e-03_rb,0.61708e-03_rb,0.76562e-03_rb,0.81649e-03_rb,0.54800e-03_rb /) kbo(:, 1,27, 7) = (/ & & 0.97037e-04_rb,0.45263e-03_rb,0.54353e-03_rb,0.56528e-03_rb,0.36031e-03_rb /) kbo(:, 2,27, 7) = (/ & & 0.10171e-03_rb,0.47018e-03_rb,0.56899e-03_rb,0.59710e-03_rb,0.38698e-03_rb /) kbo(:, 3,27, 7) = (/ & & 0.10572e-03_rb,0.48833e-03_rb,0.59675e-03_rb,0.63096e-03_rb,0.41505e-03_rb /) kbo(:, 4,27, 7) = (/ & & 0.10911e-03_rb,0.50767e-03_rb,0.62713e-03_rb,0.66736e-03_rb,0.44466e-03_rb /) kbo(:, 5,27, 7) = (/ & & 0.11182e-03_rb,0.52830e-03_rb,0.65949e-03_rb,0.70600e-03_rb,0.47625e-03_rb /) kbo(:, 1,28, 7) = (/ & & 0.80419e-04_rb,0.38349e-03_rb,0.46224e-03_rb,0.48308e-03_rb,0.30982e-03_rb /) kbo(:, 2,28, 7) = (/ & & 0.84110e-04_rb,0.39943e-03_rb,0.48584e-03_rb,0.51214e-03_rb,0.33386e-03_rb /) kbo(:, 3,28, 7) = (/ & & 0.87283e-04_rb,0.41636e-03_rb,0.51189e-03_rb,0.54353e-03_rb,0.35924e-03_rb /) kbo(:, 4,28, 7) = (/ & & 0.89914e-04_rb,0.43456e-03_rb,0.54020e-03_rb,0.57698e-03_rb,0.38635e-03_rb /) kbo(:, 5,28, 7) = (/ & & 0.92003e-04_rb,0.45406e-03_rb,0.57030e-03_rb,0.61286e-03_rb,0.41553e-03_rb /) kbo(:, 1,29, 7) = (/ & & 0.66637e-04_rb,0.32580e-03_rb,0.39453e-03_rb,0.41439e-03_rb,0.26738e-03_rb /) kbo(:, 2,29, 7) = (/ & & 0.69552e-04_rb,0.34052e-03_rb,0.41660e-03_rb,0.44116e-03_rb,0.28904e-03_rb /) kbo(:, 3,29, 7) = (/ & & 0.72042e-04_rb,0.35633e-03_rb,0.44102e-03_rb,0.47005e-03_rb,0.31218e-03_rb /) kbo(:, 4,29, 7) = (/ & & 0.74082e-04_rb,0.37351e-03_rb,0.46731e-03_rb,0.50108e-03_rb,0.33714e-03_rb /) kbo(:, 5,29, 7) = (/ & & 0.75692e-04_rb,0.39190e-03_rb,0.49529e-03_rb,0.53447e-03_rb,0.36421e-03_rb /) kbo(:, 1,30, 7) = (/ & & 0.55194e-04_rb,0.27757e-03_rb,0.33804e-03_rb,0.35670e-03_rb,0.23148e-03_rb /) kbo(:, 2,30, 7) = (/ & & 0.57489e-04_rb,0.29130e-03_rb,0.35876e-03_rb,0.38143e-03_rb,0.25115e-03_rb /) kbo(:, 3,30, 7) = (/ & & 0.59445e-04_rb,0.30619e-03_rb,0.38148e-03_rb,0.40810e-03_rb,0.27242e-03_rb /) kbo(:, 4,30, 7) = (/ & & 0.61024e-04_rb,0.32233e-03_rb,0.40578e-03_rb,0.43698e-03_rb,0.29552e-03_rb /) kbo(:, 5,30, 7) = (/ & & 0.62251e-04_rb,0.33969e-03_rb,0.43185e-03_rb,0.46830e-03_rb,0.32052e-03_rb /) kbo(:, 1,31, 7) = (/ & & 0.45701e-04_rb,0.23736e-03_rb,0.29086e-03_rb,0.30834e-03_rb,0.20114e-03_rb /) kbo(:, 2,31, 7) = (/ & & 0.47516e-04_rb,0.25020e-03_rb,0.31032e-03_rb,0.33113e-03_rb,0.21916e-03_rb /) kbo(:, 3,31, 7) = (/ & & 0.49034e-04_rb,0.26424e-03_rb,0.33131e-03_rb,0.35593e-03_rb,0.23874e-03_rb /) kbo(:, 4,31, 7) = (/ & & 0.50247e-04_rb,0.27943e-03_rb,0.35395e-03_rb,0.38299e-03_rb,0.26024e-03_rb /) kbo(:, 5,31, 7) = (/ & & 0.51186e-04_rb,0.29578e-03_rb,0.37829e-03_rb,0.41250e-03_rb,0.28341e-03_rb /) kbo(:, 1,32, 7) = (/ & & 0.37829e-04_rb,0.20379e-03_rb,0.25145e-03_rb,0.26761e-03_rb,0.17549e-03_rb /) kbo(:, 2,32, 7) = (/ & & 0.39256e-04_rb,0.21585e-03_rb,0.26951e-03_rb,0.28871e-03_rb,0.19207e-03_rb /) kbo(:, 3,32, 7) = (/ & & 0.40434e-04_rb,0.22904e-03_rb,0.28903e-03_rb,0.31192e-03_rb,0.21034e-03_rb /) kbo(:, 4,32, 7) = (/ & & 0.41367e-04_rb,0.24332e-03_rb,0.31020e-03_rb,0.33744e-03_rb,0.23024e-03_rb /) kbo(:, 5,32, 7) = (/ & & 0.42072e-04_rb,0.25873e-03_rb,0.33309e-03_rb,0.36527e-03_rb,0.25179e-03_rb /) kbo(:, 1,33, 7) = (/ & & 0.31302e-04_rb,0.17572e-03_rb,0.21830e-03_rb,0.23321e-03_rb,0.15375e-03_rb /) kbo(:, 2,33, 7) = (/ & & 0.32419e-04_rb,0.18706e-03_rb,0.23504e-03_rb,0.25291e-03_rb,0.16915e-03_rb /) kbo(:, 3,33, 7) = (/ & & 0.33327e-04_rb,0.19940e-03_rb,0.25328e-03_rb,0.27479e-03_rb,0.18617e-03_rb /) kbo(:, 4,33, 7) = (/ & & 0.34039e-04_rb,0.21283e-03_rb,0.27315e-03_rb,0.29887e-03_rb,0.20465e-03_rb /) kbo(:, 5,33, 7) = (/ & & 0.34568e-04_rb,0.22731e-03_rb,0.29474e-03_rb,0.32519e-03_rb,0.22485e-03_rb /) kbo(:, 1,34, 7) = (/ & & 0.25851e-04_rb,0.15182e-03_rb,0.18976e-03_rb,0.20353e-03_rb,0.13483e-03_rb /) kbo(:, 2,34, 7) = (/ & & 0.26731e-04_rb,0.16241e-03_rb,0.20531e-03_rb,0.22199e-03_rb,0.14918e-03_rb /) kbo(:, 3,34, 7) = (/ & & 0.27437e-04_rb,0.17395e-03_rb,0.22237e-03_rb,0.24258e-03_rb,0.16491e-03_rb /) kbo(:, 4,34, 7) = (/ & & 0.27988e-04_rb,0.18656e-03_rb,0.24113e-03_rb,0.26529e-03_rb,0.18217e-03_rb /) kbo(:, 5,34, 7) = (/ & & 0.28384e-04_rb,0.20017e-03_rb,0.26144e-03_rb,0.29020e-03_rb,0.20116e-03_rb /) kbo(:, 1,35, 7) = (/ & & 0.21271e-04_rb,0.13078e-03_rb,0.16426e-03_rb,0.17685e-03_rb,0.11756e-03_rb /) kbo(:, 2,35, 7) = (/ & & 0.21975e-04_rb,0.14058e-03_rb,0.17865e-03_rb,0.19403e-03_rb,0.13072e-03_rb /) kbo(:, 3,35, 7) = (/ & & 0.22533e-04_rb,0.15132e-03_rb,0.19456e-03_rb,0.21323e-03_rb,0.14523e-03_rb /) kbo(:, 4,35, 7) = (/ & & 0.22966e-04_rb,0.16307e-03_rb,0.21206e-03_rb,0.23454e-03_rb,0.16133e-03_rb /) kbo(:, 5,35, 7) = (/ & & 0.23274e-04_rb,0.17579e-03_rb,0.23112e-03_rb,0.25800e-03_rb,0.17911e-03_rb /) kbo(:, 1,36, 7) = (/ & & 0.17431e-04_rb,0.11205e-03_rb,0.14128e-03_rb,0.15260e-03_rb,0.10161e-03_rb /) kbo(:, 2,36, 7) = (/ & & 0.18004e-04_rb,0.12103e-03_rb,0.15448e-03_rb,0.16840e-03_rb,0.11356e-03_rb /) kbo(:, 3,36, 7) = (/ & & 0.18458e-04_rb,0.13095e-03_rb,0.16918e-03_rb,0.18616e-03_rb,0.12687e-03_rb /) kbo(:, 4,36, 7) = (/ & & 0.18810e-04_rb,0.14182e-03_rb,0.18539e-03_rb,0.20596e-03_rb,0.14179e-03_rb /) kbo(:, 5,36, 7) = (/ & & 0.19059e-04_rb,0.15363e-03_rb,0.20317e-03_rb,0.22788e-03_rb,0.15831e-03_rb /) kbo(:, 1,37, 7) = (/ & & 0.14204e-04_rb,0.95010e-04_rb,0.12008e-03_rb,0.12996e-03_rb,0.86482e-04_rb /) kbo(:, 2,37, 7) = (/ & & 0.14685e-04_rb,0.10313e-03_rb,0.13200e-03_rb,0.14426e-03_rb,0.97179e-04_rb /) kbo(:, 3,37, 7) = (/ & & 0.15069e-04_rb,0.11214e-03_rb,0.14536e-03_rb,0.16042e-03_rb,0.10922e-03_rb /) kbo(:, 4,37, 7) = (/ & & 0.15369e-04_rb,0.12211e-03_rb,0.16020e-03_rb,0.17855e-03_rb,0.12282e-03_rb /) kbo(:, 5,37, 7) = (/ & & 0.15586e-04_rb,0.13296e-03_rb,0.17661e-03_rb,0.19876e-03_rb,0.13797e-03_rb /) kbo(:, 1,38, 7) = (/ & & 0.11571e-04_rb,0.80545e-04_rb,0.10206e-03_rb,0.11063e-03_rb,0.73563e-04_rb /) kbo(:, 2,38, 7) = (/ & & 0.11976e-04_rb,0.87875e-04_rb,0.11281e-03_rb,0.12357e-03_rb,0.83149e-04_rb /) kbo(:, 3,38, 7) = (/ & & 0.12301e-04_rb,0.96063e-04_rb,0.12495e-03_rb,0.13829e-03_rb,0.94026e-04_rb /) kbo(:, 4,38, 7) = (/ & & 0.12557e-04_rb,0.10518e-03_rb,0.13851e-03_rb,0.15487e-03_rb,0.10642e-03_rb /) kbo(:, 5,38, 7) = (/ & & 0.12744e-04_rb,0.11515e-03_rb,0.15364e-03_rb,0.17352e-03_rb,0.12029e-03_rb /) kbo(:, 1,39, 7) = (/ & & 0.94254e-05_rb,0.68333e-04_rb,0.86798e-04_rb,0.94247e-04_rb,0.62604e-04_rb /) kbo(:, 2,39, 7) = (/ & & 0.97657e-05_rb,0.74945e-04_rb,0.96495e-04_rb,0.10595e-03_rb,0.71185e-04_rb /) kbo(:, 3,39, 7) = (/ & & 0.10041e-04_rb,0.82376e-04_rb,0.10752e-03_rb,0.11934e-03_rb,0.81022e-04_rb /) kbo(:, 4,39, 7) = (/ & & 0.10258e-04_rb,0.90687e-04_rb,0.11992e-03_rb,0.13453e-03_rb,0.92315e-04_rb /) kbo(:, 5,39, 7) = (/ & & 0.10419e-04_rb,0.99852e-04_rb,0.13387e-03_rb,0.15177e-03_rb,0.10504e-03_rb /) kbo(:, 1,40, 7) = (/ & & 0.76452e-05_rb,0.57428e-04_rb,0.73021e-04_rb,0.79333e-04_rb,0.52568e-04_rb /) kbo(:, 2,40, 7) = (/ & & 0.79354e-05_rb,0.63315e-04_rb,0.81650e-04_rb,0.89752e-04_rb,0.60144e-04_rb /) kbo(:, 3,40, 7) = (/ & & 0.81739e-05_rb,0.69961e-04_rb,0.91542e-04_rb,0.10176e-03_rb,0.68905e-04_rb /) kbo(:, 4,40, 7) = (/ & & 0.83626e-05_rb,0.77456e-04_rb,0.10275e-03_rb,0.11552e-03_rb,0.79059e-04_rb /) kbo(:, 5,40, 7) = (/ & & 0.85064e-05_rb,0.85795e-04_rb,0.11542e-03_rb,0.13128e-03_rb,0.90578e-04_rb /) kbo(:, 1,41, 7) = (/ & & 0.61953e-05_rb,0.48163e-04_rb,0.61287e-04_rb,0.66616e-04_rb,0.44011e-04_rb /) kbo(:, 2,41, 7) = (/ & & 0.64418e-05_rb,0.53383e-04_rb,0.68934e-04_rb,0.75842e-04_rb,0.50670e-04_rb /) kbo(:, 3,41, 7) = (/ & & 0.66484e-05_rb,0.59312e-04_rb,0.77785e-04_rb,0.86580e-04_rb,0.58448e-04_rb /) kbo(:, 4,41, 7) = (/ & & 0.68134e-05_rb,0.66054e-04_rb,0.87876e-04_rb,0.98995e-04_rb,0.67543e-04_rb /) kbo(:, 5,41, 7) = (/ & & 0.69402e-05_rb,0.73614e-04_rb,0.99378e-04_rb,0.11337e-03_rb,0.77942e-04_rb /) kbo(:, 1,42, 7) = (/ & & 0.50170e-05_rb,0.40358e-04_rb,0.51378e-04_rb,0.55875e-04_rb,0.36794e-04_rb /) kbo(:, 2,42, 7) = (/ & & 0.52266e-05_rb,0.44971e-04_rb,0.58141e-04_rb,0.64024e-04_rb,0.42639e-04_rb /) kbo(:, 3,42, 7) = (/ & & 0.54046e-05_rb,0.50250e-04_rb,0.66034e-04_rb,0.73601e-04_rb,0.49527e-04_rb /) kbo(:, 4,42, 7) = (/ & & 0.55484e-05_rb,0.56302e-04_rb,0.75111e-04_rb,0.84788e-04_rb,0.57654e-04_rb /) kbo(:, 5,42, 7) = (/ & & 0.56600e-05_rb,0.63153e-04_rb,0.85551e-04_rb,0.97898e-04_rb,0.67040e-04_rb /) kbo(:, 1,43, 7) = (/ & & 0.40498e-05_rb,0.33563e-04_rb,0.42716e-04_rb,0.46433e-04_rb,0.30447e-04_rb /) kbo(:, 2,43, 7) = (/ & & 0.42291e-05_rb,0.37603e-04_rb,0.48619e-04_rb,0.53551e-04_rb,0.35516e-04_rb /) kbo(:, 3,43, 7) = (/ & & 0.43833e-05_rb,0.42260e-04_rb,0.55585e-04_rb,0.61999e-04_rb,0.41549e-04_rb /) kbo(:, 4,43, 7) = (/ & & 0.45099e-05_rb,0.47650e-04_rb,0.63668e-04_rb,0.71964e-04_rb,0.48728e-04_rb /) kbo(:, 5,43, 7) = (/ & & 0.46096e-05_rb,0.53790e-04_rb,0.73053e-04_rb,0.83779e-04_rb,0.57105e-04_rb /) kbo(:, 1,44, 7) = (/ & & 0.32616e-05_rb,0.27781e-04_rb,0.35335e-04_rb,0.38366e-04_rb,0.25032e-04_rb /) kbo(:, 2,44, 7) = (/ & & 0.34164e-05_rb,0.31296e-04_rb,0.40444e-04_rb,0.44531e-04_rb,0.29399e-04_rb /) kbo(:, 3,44, 7) = (/ & & 0.35491e-05_rb,0.35375e-04_rb,0.46540e-04_rb,0.51925e-04_rb,0.34633e-04_rb /) kbo(:, 4,44, 7) = (/ & & 0.36610e-05_rb,0.40146e-04_rb,0.53687e-04_rb,0.60738e-04_rb,0.40935e-04_rb /) kbo(:, 5,44, 7) = (/ & & 0.37500e-05_rb,0.45618e-04_rb,0.62061e-04_rb,0.71298e-04_rb,0.48356e-04_rb /) kbo(:, 1,45, 7) = (/ & & 0.26238e-05_rb,0.22952e-04_rb,0.29162e-04_rb,0.31630e-04_rb,0.20522e-04_rb /) kbo(:, 2,45, 7) = (/ & & 0.27571e-05_rb,0.25992e-04_rb,0.33567e-04_rb,0.36938e-04_rb,0.24268e-04_rb /) kbo(:, 3,45, 7) = (/ & & 0.28713e-05_rb,0.29549e-04_rb,0.38881e-04_rb,0.43383e-04_rb,0.28792e-04_rb /) kbo(:, 4,45, 7) = (/ & & 0.29693e-05_rb,0.33760e-04_rb,0.45177e-04_rb,0.51149e-04_rb,0.34303e-04_rb /) kbo(:, 5,45, 7) = (/ & & 0.30482e-05_rb,0.38627e-04_rb,0.52624e-04_rb,0.60551e-04_rb,0.40857e-04_rb /) kbo(:, 1,46, 7) = (/ & & 0.21051e-05_rb,0.18867e-04_rb,0.23935e-04_rb,0.25917e-04_rb,0.16710e-04_rb /) kbo(:, 2,46, 7) = (/ & & 0.22206e-05_rb,0.21480e-04_rb,0.27705e-04_rb,0.30449e-04_rb,0.19893e-04_rb /) kbo(:, 3,46, 7) = (/ & & 0.23191e-05_rb,0.24557e-04_rb,0.32298e-04_rb,0.36019e-04_rb,0.23769e-04_rb /) kbo(:, 4,46, 7) = (/ & & 0.24046e-05_rb,0.28239e-04_rb,0.37798e-04_rb,0.42807e-04_rb,0.28545e-04_rb /) kbo(:, 5,46, 7) = (/ & & 0.24746e-05_rb,0.32543e-04_rb,0.44374e-04_rb,0.51109e-04_rb,0.34299e-04_rb /) kbo(:, 1,47, 7) = (/ & & 0.16817e-05_rb,0.15386e-04_rb,0.19464e-04_rb,0.21024e-04_rb,0.13455e-04_rb /) kbo(:, 2,47, 7) = (/ & & 0.17822e-05_rb,0.17605e-04_rb,0.22652e-04_rb,0.24840e-04_rb,0.16124e-04_rb /) kbo(:, 3,47, 7) = (/ & & 0.18680e-05_rb,0.20236e-04_rb,0.26567e-04_rb,0.29585e-04_rb,0.19401e-04_rb /) kbo(:, 4,47, 7) = (/ & & 0.19423e-05_rb,0.23413e-04_rb,0.31317e-04_rb,0.35433e-04_rb,0.23476e-04_rb /) kbo(:, 5,47, 7) = (/ & & 0.20049e-05_rb,0.27181e-04_rb,0.37054e-04_rb,0.42668e-04_rb,0.28466e-04_rb /) kbo(:, 1,48, 7) = (/ & & 0.13405e-05_rb,0.12514e-04_rb,0.15779e-04_rb,0.16993e-04_rb,0.10791e-04_rb /) kbo(:, 2,48, 7) = (/ & & 0.14280e-05_rb,0.14385e-04_rb,0.18460e-04_rb,0.20187e-04_rb,0.13017e-04_rb /) kbo(:, 3,48, 7) = (/ & & 0.15026e-05_rb,0.16623e-04_rb,0.21773e-04_rb,0.24205e-04_rb,0.15768e-04_rb /) kbo(:, 4,48, 7) = (/ & & 0.15671e-05_rb,0.19354e-04_rb,0.25854e-04_rb,0.29218e-04_rb,0.19227e-04_rb /) kbo(:, 5,48, 7) = (/ & & 0.16224e-05_rb,0.22629e-04_rb,0.30833e-04_rb,0.35479e-04_rb,0.23525e-04_rb /) kbo(:, 1,49, 7) = (/ & & 0.10664e-05_rb,0.10149e-04_rb,0.12751e-04_rb,0.13684e-04_rb,0.86188e-05_rb /) kbo(:, 2,49, 7) = (/ & & 0.11418e-05_rb,0.11720e-04_rb,0.14999e-04_rb,0.16352e-04_rb,0.10467e-04_rb /) kbo(:, 3,49, 7) = (/ & & 0.12069e-05_rb,0.13612e-04_rb,0.17780e-04_rb,0.19716e-04_rb,0.12759e-04_rb /) kbo(:, 4,49, 7) = (/ & & 0.12630e-05_rb,0.15945e-04_rb,0.21262e-04_rb,0.23990e-04_rb,0.15676e-04_rb /) kbo(:, 5,49, 7) = (/ & & 0.13113e-05_rb,0.18775e-04_rb,0.25560e-04_rb,0.29382e-04_rb,0.19352e-04_rb /) kbo(:, 1,50, 7) = (/ & & 0.84808e-06_rb,0.82401e-05_rb,0.10318e-04_rb,0.11036e-04_rb,0.68939e-05_rb /) kbo(:, 2,50, 7) = (/ & & 0.91269e-06_rb,0.95513e-05_rb,0.12189e-04_rb,0.13247e-04_rb,0.84209e-05_rb /) kbo(:, 3,50, 7) = (/ & & 0.96928e-06_rb,0.11160e-04_rb,0.14539e-04_rb,0.16084e-04_rb,0.10336e-04_rb /) kbo(:, 4,50, 7) = (/ & & 0.10177e-05_rb,0.13146e-04_rb,0.17498e-04_rb,0.19711e-04_rb,0.12790e-04_rb /) kbo(:, 5,50, 7) = (/ & & 0.10595e-05_rb,0.15592e-04_rb,0.21207e-04_rb,0.24356e-04_rb,0.15929e-04_rb /) kbo(:, 1,51, 7) = (/ & & 0.67378e-06_rb,0.66826e-05_rb,0.83381e-05_rb,0.88828e-05_rb,0.55052e-05_rb /) kbo(:, 2,51, 7) = (/ & & 0.72873e-06_rb,0.77753e-05_rb,0.98905e-05_rb,0.10714e-04_rb,0.67636e-05_rb /) kbo(:, 3,51, 7) = (/ & & 0.77763e-06_rb,0.91368e-05_rb,0.11866e-04_rb,0.13091e-04_rb,0.83559e-05_rb /) kbo(:, 4,51, 7) = (/ & & 0.81953e-06_rb,0.10824e-04_rb,0.14378e-04_rb,0.16168e-04_rb,0.10417e-04_rb /) kbo(:, 5,51, 7) = (/ & & 0.85561e-06_rb,0.12933e-04_rb,0.17571e-04_rb,0.20159e-04_rb,0.13087e-04_rb /) kbo(:, 1,52, 7) = (/ & & 0.53444e-06_rb,0.54066e-05_rb,0.67197e-05_rb,0.71297e-05_rb,0.43814e-05_rb /) kbo(:, 2,52, 7) = (/ & & 0.58095e-06_rb,0.63124e-05_rb,0.79989e-05_rb,0.86346e-05_rb,0.54122e-05_rb /) kbo(:, 3,52, 7) = (/ & & 0.62282e-06_rb,0.74561e-05_rb,0.96489e-05_rb,0.10614e-04_rb,0.67289e-05_rb /) kbo(:, 4,52, 7) = (/ & & 0.65913e-06_rb,0.88917e-05_rb,0.11780e-04_rb,0.13220e-04_rb,0.84497e-05_rb /) kbo(:, 5,52, 7) = (/ & & 0.69032e-06_rb,0.10691e-04_rb,0.14504e-04_rb,0.16615e-04_rb,0.10706e-04_rb /) kbo(:, 1,53, 7) = (/ & & 0.42309e-06_rb,0.43635e-05_rb,0.54017e-05_rb,0.57047e-05_rb,0.34733e-05_rb /) kbo(:, 2,53, 7) = (/ & & 0.46223e-06_rb,0.51097e-05_rb,0.64465e-05_rb,0.69322e-05_rb,0.43120e-05_rb /) kbo(:, 3,53, 7) = (/ & & 0.49791e-06_rb,0.60643e-05_rb,0.78166e-05_rb,0.85690e-05_rb,0.53948e-05_rb /) kbo(:, 4,53, 7) = (/ & & 0.52942e-06_rb,0.72726e-05_rb,0.96042e-05_rb,0.10748e-04_rb,0.68211e-05_rb /) kbo(:, 5,53, 7) = (/ & & 0.55635e-06_rb,0.88074e-05_rb,0.11924e-04_rb,0.13632e-04_rb,0.87176e-05_rb /) kbo(:, 1,54, 7) = (/ & & 0.33525e-06_rb,0.35291e-05_rb,0.43533e-05_rb,0.45783e-05_rb,0.27618e-05_rb /) kbo(:, 2,54, 7) = (/ & & 0.36801e-06_rb,0.41464e-05_rb,0.52098e-05_rb,0.55821e-05_rb,0.34468e-05_rb /) kbo(:, 3,54, 7) = (/ & & 0.39830e-06_rb,0.49442e-05_rb,0.63495e-05_rb,0.69393e-05_rb,0.43390e-05_rb /) kbo(:, 4,54, 7) = (/ & & 0.42530e-06_rb,0.59638e-05_rb,0.78520e-05_rb,0.87652e-05_rb,0.55238e-05_rb /) kbo(:, 5,54, 7) = (/ & & 0.44850e-06_rb,0.72711e-05_rb,0.98256e-05_rb,0.11213e-04_rb,0.71180e-05_rb /) kbo(:, 1,55, 7) = (/ & & 0.26561e-06_rb,0.28535e-05_rb,0.35091e-05_rb,0.36747e-05_rb,0.21953e-05_rb /) kbo(:, 2,55, 7) = (/ & & 0.29299e-06_rb,0.33630e-05_rb,0.42093e-05_rb,0.44935e-05_rb,0.27543e-05_rb /) kbo(:, 3,55, 7) = (/ & & 0.31855e-06_rb,0.40286e-05_rb,0.51555e-05_rb,0.56160e-05_rb,0.34885e-05_rb /) kbo(:, 4,55, 7) = (/ & & 0.34149e-06_rb,0.48884e-05_rb,0.64166e-05_rb,0.71432e-05_rb,0.44712e-05_rb /) kbo(:, 5,55, 7) = (/ & & 0.36149e-06_rb,0.60082e-05_rb,0.81053e-05_rb,0.92338e-05_rb,0.58114e-05_rb /) kbo(:, 1,56, 7) = (/ & & 0.21017e-06_rb,0.23019e-05_rb,0.28217e-05_rb,0.29420e-05_rb,0.17403e-05_rb /) kbo(:, 2,56, 7) = (/ & & 0.23294e-06_rb,0.27215e-05_rb,0.33922e-05_rb,0.36070e-05_rb,0.21943e-05_rb /) kbo(:, 3,56, 7) = (/ & & 0.25436e-06_rb,0.32732e-05_rb,0.41720e-05_rb,0.45291e-05_rb,0.27950e-05_rb /) kbo(:, 4,56, 7) = (/ & & 0.27383e-06_rb,0.39951e-05_rb,0.52252e-05_rb,0.57990e-05_rb,0.36054e-05_rb /) kbo(:, 5,56, 7) = (/ & & 0.29106e-06_rb,0.49429e-05_rb,0.66518e-05_rb,0.75613e-05_rb,0.47246e-05_rb /) kbo(:, 1,57, 7) = (/ & & 0.16608e-06_rb,0.18531e-05_rb,0.22639e-05_rb,0.23504e-05_rb,0.13760e-05_rb /) kbo(:, 2,57, 7) = (/ & & 0.18488e-06_rb,0.21971e-05_rb,0.27271e-05_rb,0.28870e-05_rb,0.17421e-05_rb /) kbo(:, 3,57, 7) = (/ & & 0.20279e-06_rb,0.26520e-05_rb,0.33659e-05_rb,0.36392e-05_rb,0.22316e-05_rb /) kbo(:, 4,57, 7) = (/ & & 0.21931e-06_rb,0.32543e-05_rb,0.42391e-05_rb,0.46891e-05_rb,0.28949e-05_rb /) kbo(:, 5,57, 7) = (/ & & 0.23404e-06_rb,0.40527e-05_rb,0.54380e-05_rb,0.61649e-05_rb,0.38234e-05_rb /) kbo(:, 1,58, 7) = (/ & & 0.13131e-06_rb,0.14927e-05_rb,0.18179e-05_rb,0.18787e-05_rb,0.10893e-05_rb /) kbo(:, 2,58, 7) = (/ & & 0.14677e-06_rb,0.17748e-05_rb,0.21946e-05_rb,0.23122e-05_rb,0.13839e-05_rb /) kbo(:, 3,58, 7) = (/ & & 0.16171e-06_rb,0.21494e-05_rb,0.27171e-05_rb,0.29256e-05_rb,0.17827e-05_rb /) kbo(:, 4,58, 7) = (/ & & 0.17567e-06_rb,0.26514e-05_rb,0.34407e-05_rb,0.37923e-05_rb,0.23269e-05_rb /) kbo(:, 5,58, 7) = (/ & & 0.18816e-06_rb,0.33237e-05_rb,0.44466e-05_rb,0.50280e-05_rb,0.30958e-05_rb /) kbo(:, 1,59, 7) = (/ & & 0.10599e-06_rb,0.12374e-05_rb,0.15060e-05_rb,0.15543e-05_rb,0.89750e-06_rb /) kbo(:, 2,59, 7) = (/ & & 0.11868e-06_rb,0.14795e-05_rb,0.18285e-05_rb,0.19251e-05_rb,0.11479e-05_rb /) kbo(:, 3,59, 7) = (/ & & 0.13098e-06_rb,0.18042e-05_rb,0.22807e-05_rb,0.24552e-05_rb,0.14897e-05_rb /) kbo(:, 4,59, 7) = (/ & & 0.14252e-06_rb,0.22439e-05_rb,0.29152e-05_rb,0.32163e-05_rb,0.19622e-05_rb /) kbo(:, 5,59, 7) = (/ & & 0.15291e-06_rb,0.28396e-05_rb,0.38087e-05_rb,0.43138e-05_rb,0.26387e-05_rb /) kbo(:, 1,13, 8) = (/ & & 0.83673e-02_rb,0.17454e-01_rb,0.20213e-01_rb,0.20132e-01_rb,0.13810e-01_rb /) kbo(:, 2,13, 8) = (/ & & 0.85039e-02_rb,0.17824e-01_rb,0.20684e-01_rb,0.20616e-01_rb,0.14219e-01_rb /) kbo(:, 3,13, 8) = (/ & & 0.86129e-02_rb,0.18196e-01_rb,0.21163e-01_rb,0.21143e-01_rb,0.14616e-01_rb /) kbo(:, 4,13, 8) = (/ & & 0.86913e-02_rb,0.18563e-01_rb,0.21635e-01_rb,0.21674e-01_rb,0.14991e-01_rb /) kbo(:, 5,13, 8) = (/ & & 0.87301e-02_rb,0.18916e-01_rb,0.22103e-01_rb,0.22198e-01_rb,0.15351e-01_rb /) kbo(:, 1,14, 8) = (/ & & 0.69346e-02_rb,0.14952e-01_rb,0.17380e-01_rb,0.17342e-01_rb,0.11803e-01_rb /) kbo(:, 2,14, 8) = (/ & & 0.70328e-02_rb,0.15276e-01_rb,0.17808e-01_rb,0.17830e-01_rb,0.12181e-01_rb /) kbo(:, 3,14, 8) = (/ & & 0.71113e-02_rb,0.15604e-01_rb,0.18240e-01_rb,0.18321e-01_rb,0.12544e-01_rb /) kbo(:, 4,14, 8) = (/ & & 0.71580e-02_rb,0.15937e-01_rb,0.18667e-01_rb,0.18814e-01_rb,0.12884e-01_rb /) kbo(:, 5,14, 8) = (/ & & 0.71785e-02_rb,0.16228e-01_rb,0.19093e-01_rb,0.19299e-01_rb,0.13230e-01_rb /) kbo(:, 1,15, 8) = (/ & & 0.57307e-02_rb,0.12763e-01_rb,0.14890e-01_rb,0.14912e-01_rb,0.10073e-01_rb /) kbo(:, 2,15, 8) = (/ & & 0.58017e-02_rb,0.13052e-01_rb,0.15278e-01_rb,0.15370e-01_rb,0.10417e-01_rb /) kbo(:, 3,15, 8) = (/ & & 0.58533e-02_rb,0.13347e-01_rb,0.15666e-01_rb,0.15828e-01_rb,0.10742e-01_rb /) kbo(:, 4,15, 8) = (/ & & 0.58826e-02_rb,0.13628e-01_rb,0.16057e-01_rb,0.16289e-01_rb,0.11066e-01_rb /) kbo(:, 5,15, 8) = (/ & & 0.58933e-02_rb,0.13873e-01_rb,0.16444e-01_rb,0.16739e-01_rb,0.11388e-01_rb /) kbo(:, 1,16, 8) = (/ & & 0.47247e-02_rb,0.10863e-01_rb,0.12723e-01_rb,0.12788e-01_rb,0.85822e-02_rb /) kbo(:, 2,16, 8) = (/ & & 0.47755e-02_rb,0.11124e-01_rb,0.13076e-01_rb,0.13211e-01_rb,0.88907e-02_rb /) kbo(:, 3,16, 8) = (/ & & 0.48095e-02_rb,0.11385e-01_rb,0.13431e-01_rb,0.13641e-01_rb,0.91903e-02_rb /) kbo(:, 4,16, 8) = (/ & & 0.48283e-02_rb,0.11622e-01_rb,0.13790e-01_rb,0.14066e-01_rb,0.94912e-02_rb /) kbo(:, 5,16, 8) = (/ & & 0.48333e-02_rb,0.11841e-01_rb,0.14135e-01_rb,0.14487e-01_rb,0.97938e-02_rb /) kbo(:, 1,17, 8) = (/ & & 0.38881e-02_rb,0.92313e-02_rb,0.10848e-01_rb,0.10942e-01_rb,0.73006e-02_rb /) kbo(:, 2,17, 8) = (/ & & 0.39238e-02_rb,0.94601e-02_rb,0.11171e-01_rb,0.11333e-01_rb,0.75792e-02_rb /) kbo(:, 3,17, 8) = (/ & & 0.39468e-02_rb,0.96874e-02_rb,0.11500e-01_rb,0.11732e-01_rb,0.78560e-02_rb /) kbo(:, 4,17, 8) = (/ & & 0.39590e-02_rb,0.98962e-02_rb,0.11826e-01_rb,0.12129e-01_rb,0.81376e-02_rb /) kbo(:, 5,17, 8) = (/ & & 0.39612e-02_rb,0.10094e-01_rb,0.12144e-01_rb,0.12521e-01_rb,0.84293e-02_rb /) kbo(:, 1,18, 8) = (/ & & 0.31953e-02_rb,0.78309e-02_rb,0.92361e-02_rb,0.93523e-02_rb,0.62048e-02_rb /) kbo(:, 2,18, 8) = (/ & & 0.32208e-02_rb,0.80372e-02_rb,0.95350e-02_rb,0.97148e-02_rb,0.64590e-02_rb /) kbo(:, 3,18, 8) = (/ & & 0.32365e-02_rb,0.82342e-02_rb,0.98382e-02_rb,0.10082e-01_rb,0.67154e-02_rb /) kbo(:, 4,18, 8) = (/ & & 0.32447e-02_rb,0.84229e-02_rb,0.10138e-01_rb,0.10450e-01_rb,0.69838e-02_rb /) kbo(:, 5,18, 8) = (/ & & 0.32450e-02_rb,0.86061e-02_rb,0.10427e-01_rb,0.10814e-01_rb,0.72626e-02_rb /) kbo(:, 1,19, 8) = (/ & & 0.26235e-02_rb,0.66399e-02_rb,0.78599e-02_rb,0.79875e-02_rb,0.52728e-02_rb /) kbo(:, 2,19, 8) = (/ & & 0.26414e-02_rb,0.68231e-02_rb,0.81351e-02_rb,0.83230e-02_rb,0.55070e-02_rb /) kbo(:, 3,19, 8) = (/ & & 0.26530e-02_rb,0.70004e-02_rb,0.84138e-02_rb,0.86629e-02_rb,0.57468e-02_rb /) kbo(:, 4,19, 8) = (/ & & 0.26583e-02_rb,0.71756e-02_rb,0.86887e-02_rb,0.90029e-02_rb,0.60006e-02_rb /) kbo(:, 5,19, 8) = (/ & & 0.26573e-02_rb,0.73457e-02_rb,0.89549e-02_rb,0.93422e-02_rb,0.62658e-02_rb /) kbo(:, 1,20, 8) = (/ & & 0.21528e-02_rb,0.56300e-02_rb,0.66928e-02_rb,0.68275e-02_rb,0.44887e-02_rb /) kbo(:, 2,20, 8) = (/ & & 0.21659e-02_rb,0.57965e-02_rb,0.69483e-02_rb,0.71374e-02_rb,0.47044e-02_rb /) kbo(:, 3,20, 8) = (/ & & 0.21742e-02_rb,0.59617e-02_rb,0.72036e-02_rb,0.74503e-02_rb,0.49314e-02_rb /) kbo(:, 4,20, 8) = (/ & & 0.21777e-02_rb,0.61251e-02_rb,0.74562e-02_rb,0.77657e-02_rb,0.51700e-02_rb /) kbo(:, 5,20, 8) = (/ & & 0.21757e-02_rb,0.62850e-02_rb,0.77065e-02_rb,0.80891e-02_rb,0.54225e-02_rb /) kbo(:, 1,21, 8) = (/ & & 0.17659e-02_rb,0.47778e-02_rb,0.57054e-02_rb,0.58417e-02_rb,0.38271e-02_rb /) kbo(:, 2,21, 8) = (/ & & 0.17754e-02_rb,0.49299e-02_rb,0.59393e-02_rb,0.61257e-02_rb,0.40264e-02_rb /) kbo(:, 3,21, 8) = (/ & & 0.17817e-02_rb,0.50836e-02_rb,0.61750e-02_rb,0.64148e-02_rb,0.42397e-02_rb /) kbo(:, 4,21, 8) = (/ & & 0.17836e-02_rb,0.52370e-02_rb,0.64083e-02_rb,0.67125e-02_rb,0.44647e-02_rb /) kbo(:, 5,21, 8) = (/ & & 0.17811e-02_rb,0.53876e-02_rb,0.66480e-02_rb,0.70201e-02_rb,0.47076e-02_rb /) kbo(:, 1,22, 8) = (/ & & 0.14486e-02_rb,0.40679e-02_rb,0.48826e-02_rb,0.50205e-02_rb,0.32805e-02_rb /) kbo(:, 2,22, 8) = (/ & & 0.14554e-02_rb,0.42085e-02_rb,0.50980e-02_rb,0.52827e-02_rb,0.34669e-02_rb /) kbo(:, 3,22, 8) = (/ & & 0.14597e-02_rb,0.43515e-02_rb,0.53153e-02_rb,0.55535e-02_rb,0.36674e-02_rb /) kbo(:, 4,22, 8) = (/ & & 0.14606e-02_rb,0.44957e-02_rb,0.55353e-02_rb,0.58376e-02_rb,0.38816e-02_rb /) kbo(:, 5,22, 8) = (/ & & 0.14577e-02_rb,0.46383e-02_rb,0.57672e-02_rb,0.61302e-02_rb,0.41156e-02_rb /) kbo(:, 1,23, 8) = (/ & & 0.11880e-02_rb,0.34698e-02_rb,0.41861e-02_rb,0.43248e-02_rb,0.28199e-02_rb /) kbo(:, 2,23, 8) = (/ & & 0.11929e-02_rb,0.36010e-02_rb,0.43862e-02_rb,0.45689e-02_rb,0.29956e-02_rb /) kbo(:, 3,23, 8) = (/ & & 0.11958e-02_rb,0.37344e-02_rb,0.45877e-02_rb,0.48273e-02_rb,0.31843e-02_rb /) kbo(:, 4,23, 8) = (/ & & 0.11959e-02_rb,0.38697e-02_rb,0.48007e-02_rb,0.50965e-02_rb,0.33903e-02_rb /) kbo(:, 5,23, 8) = (/ & & 0.11929e-02_rb,0.40068e-02_rb,0.50232e-02_rb,0.53791e-02_rb,0.36136e-02_rb /) kbo(:, 1,24, 8) = (/ & & 0.97406e-03_rb,0.29675e-02_rb,0.36006e-02_rb,0.37379e-02_rb,0.24344e-02_rb /) kbo(:, 2,24, 8) = (/ & & 0.97756e-03_rb,0.30896e-02_rb,0.37850e-02_rb,0.39686e-02_rb,0.25994e-02_rb /) kbo(:, 3,24, 8) = (/ & & 0.97946e-03_rb,0.32150e-02_rb,0.39775e-02_rb,0.42135e-02_rb,0.27776e-02_rb /) kbo(:, 4,24, 8) = (/ & & 0.97899e-03_rb,0.33430e-02_rb,0.41825e-02_rb,0.44708e-02_rb,0.29753e-02_rb /) kbo(:, 5,24, 8) = (/ & & 0.97615e-03_rb,0.34761e-02_rb,0.43966e-02_rb,0.47457e-02_rb,0.31900e-02_rb /) kbo(:, 1,25, 8) = (/ & & 0.79856e-03_rb,0.25459e-02_rb,0.31077e-02_rb,0.32447e-02_rb,0.21114e-02_rb /) kbo(:, 2,25, 8) = (/ & & 0.80110e-03_rb,0.26605e-02_rb,0.32805e-02_rb,0.34640e-02_rb,0.22664e-02_rb /) kbo(:, 3,25, 8) = (/ & & 0.80222e-03_rb,0.27778e-02_rb,0.34666e-02_rb,0.36958e-02_rb,0.24376e-02_rb /) kbo(:, 4,25, 8) = (/ & & 0.80129e-03_rb,0.29014e-02_rb,0.36623e-02_rb,0.39444e-02_rb,0.26269e-02_rb /) kbo(:, 5,25, 8) = (/ & & 0.79857e-03_rb,0.30302e-02_rb,0.38698e-02_rb,0.42126e-02_rb,0.28335e-02_rb /) kbo(:, 1,26, 8) = (/ & & 0.65460e-03_rb,0.21933e-02_rb,0.26944e-02_rb,0.28334e-02_rb,0.18417e-02_rb /) kbo(:, 2,26, 8) = (/ & & 0.65639e-03_rb,0.23003e-02_rb,0.28599e-02_rb,0.30409e-02_rb,0.19886e-02_rb /) kbo(:, 3,26, 8) = (/ & & 0.65685e-03_rb,0.24132e-02_rb,0.30384e-02_rb,0.32639e-02_rb,0.21545e-02_rb /) kbo(:, 4,26, 8) = (/ & & 0.65577e-03_rb,0.25323e-02_rb,0.32275e-02_rb,0.35055e-02_rb,0.23366e-02_rb /) kbo(:, 5,26, 8) = (/ & & 0.65325e-03_rb,0.26572e-02_rb,0.34294e-02_rb,0.37687e-02_rb,0.25365e-02_rb /) kbo(:, 1,27, 8) = (/ & & 0.53655e-03_rb,0.18966e-02_rb,0.23474e-02_rb,0.24873e-02_rb,0.16142e-02_rb /) kbo(:, 2,27, 8) = (/ & & 0.53777e-03_rb,0.19979e-02_rb,0.25069e-02_rb,0.26849e-02_rb,0.17570e-02_rb /) kbo(:, 3,27, 8) = (/ & & 0.53783e-03_rb,0.21070e-02_rb,0.26778e-02_rb,0.29010e-02_rb,0.19163e-02_rb /) kbo(:, 4,27, 8) = (/ & & 0.53661e-03_rb,0.22218e-02_rb,0.28609e-02_rb,0.31373e-02_rb,0.20925e-02_rb /) kbo(:, 5,27, 8) = (/ & & 0.53426e-03_rb,0.23437e-02_rb,0.30591e-02_rb,0.33953e-02_rb,0.22871e-02_rb /) kbo(:, 1,28, 8) = (/ & & 0.43973e-03_rb,0.16467e-02_rb,0.20564e-02_rb,0.21950e-02_rb,0.14243e-02_rb /) kbo(:, 2,28, 8) = (/ & & 0.44046e-03_rb,0.17445e-02_rb,0.22094e-02_rb,0.23854e-02_rb,0.15622e-02_rb /) kbo(:, 3,28, 8) = (/ & & 0.44027e-03_rb,0.18495e-02_rb,0.23737e-02_rb,0.25954e-02_rb,0.17160e-02_rb /) kbo(:, 4,28, 8) = (/ & & 0.43902e-03_rb,0.19607e-02_rb,0.25527e-02_rb,0.28280e-02_rb,0.18875e-02_rb /) kbo(:, 5,28, 8) = (/ & & 0.43690e-03_rb,0.20797e-02_rb,0.27483e-02_rb,0.30809e-02_rb,0.20783e-02_rb /) kbo(:, 1,29, 8) = (/ & & 0.36035e-03_rb,0.14377e-02_rb,0.18129e-02_rb,0.19502e-02_rb,0.12665e-02_rb /) kbo(:, 2,29, 8) = (/ & & 0.36078e-03_rb,0.15322e-02_rb,0.19593e-02_rb,0.21346e-02_rb,0.13993e-02_rb /) kbo(:, 3,29, 8) = (/ & & 0.36035e-03_rb,0.16333e-02_rb,0.21194e-02_rb,0.23407e-02_rb,0.15489e-02_rb /) kbo(:, 4,29, 8) = (/ & & 0.35917e-03_rb,0.17416e-02_rb,0.22958e-02_rb,0.25693e-02_rb,0.17169e-02_rb /) kbo(:, 5,29, 8) = (/ & & 0.35722e-03_rb,0.18583e-02_rb,0.24893e-02_rb,0.28199e-02_rb,0.19058e-02_rb /) kbo(:, 1,30, 8) = (/ & & 0.29522e-03_rb,0.12625e-02_rb,0.16073e-02_rb,0.17444e-02_rb,0.11337e-02_rb /) kbo(:, 2,30, 8) = (/ & & 0.29544e-03_rb,0.13534e-02_rb,0.17493e-02_rb,0.19248e-02_rb,0.12629e-02_rb /) kbo(:, 3,30, 8) = (/ & & 0.29489e-03_rb,0.14513e-02_rb,0.19064e-02_rb,0.21281e-02_rb,0.14093e-02_rb /) kbo(:, 4,30, 8) = (/ & & 0.29377e-03_rb,0.15575e-02_rb,0.20813e-02_rb,0.23536e-02_rb,0.15751e-02_rb /) kbo(:, 5,30, 8) = (/ & & 0.29201e-03_rb,0.16725e-02_rb,0.22728e-02_rb,0.26031e-02_rb,0.17633e-02_rb /) kbo(:, 1,31, 8) = (/ & & 0.24186e-03_rb,0.11155e-02_rb,0.14353e-02_rb,0.15729e-02_rb,0.10232e-02_rb /) kbo(:, 2,31, 8) = (/ & & 0.24189e-03_rb,0.12032e-02_rb,0.15739e-02_rb,0.17508e-02_rb,0.11498e-02_rb /) kbo(:, 3,31, 8) = (/ & & 0.24130e-03_rb,0.12988e-02_rb,0.17296e-02_rb,0.19516e-02_rb,0.12942e-02_rb /) kbo(:, 4,31, 8) = (/ & & 0.24025e-03_rb,0.14034e-02_rb,0.19030e-02_rb,0.21764e-02_rb,0.14594e-02_rb /) kbo(:, 5,31, 8) = (/ & & 0.23866e-03_rb,0.15170e-02_rb,0.20940e-02_rb,0.24270e-02_rb,0.16471e-02_rb /) kbo(:, 1,32, 8) = (/ & & 0.19811e-03_rb,0.99188e-03_rb,0.12914e-02_rb,0.14311e-02_rb,0.93157e-03_rb /) kbo(:, 2,32, 8) = (/ & & 0.19799e-03_rb,0.10771e-02_rb,0.14282e-02_rb,0.16073e-02_rb,0.10562e-02_rb /) kbo(:, 3,32, 8) = (/ & & 0.19741e-03_rb,0.11711e-02_rb,0.15828e-02_rb,0.18068e-02_rb,0.11999e-02_rb /) kbo(:, 4,32, 8) = (/ & & 0.19645e-03_rb,0.12746e-02_rb,0.17559e-02_rb,0.20320e-02_rb,0.13654e-02_rb /) kbo(:, 5,32, 8) = (/ & & 0.19503e-03_rb,0.13871e-02_rb,0.19473e-02_rb,0.22851e-02_rb,0.15533e-02_rb /) kbo(:, 1,33, 8) = (/ & & 0.16225e-03_rb,0.88803e-03_rb,0.11717e-02_rb,0.13138e-02_rb,0.85556e-03_rb /) kbo(:, 2,33, 8) = (/ & & 0.16205e-03_rb,0.97174e-03_rb,0.13077e-02_rb,0.14890e-02_rb,0.97930e-03_rb /) kbo(:, 3,33, 8) = (/ & & 0.16148e-03_rb,0.10648e-02_rb,0.14621e-02_rb,0.16891e-02_rb,0.11237e-02_rb /) kbo(:, 4,33, 8) = (/ & & 0.16059e-03_rb,0.11673e-02_rb,0.16357e-02_rb,0.19165e-02_rb,0.12896e-02_rb /) kbo(:, 5,33, 8) = (/ & & 0.15934e-03_rb,0.12795e-02_rb,0.18288e-02_rb,0.21736e-02_rb,0.14791e-02_rb /) kbo(:, 1,34, 8) = (/ & & 0.13286e-03_rb,0.79835e-03_rb,0.10683e-02_rb,0.12117e-02_rb,0.78908e-03_rb /) kbo(:, 2,34, 8) = (/ & & 0.13261e-03_rb,0.88066e-03_rb,0.12036e-02_rb,0.13865e-02_rb,0.91252e-03_rb /) kbo(:, 3,34, 8) = (/ & & 0.13209e-03_rb,0.97270e-03_rb,0.13580e-02_rb,0.15871e-02_rb,0.10570e-02_rb /) kbo(:, 4,34, 8) = (/ & & 0.13130e-03_rb,0.10748e-02_rb,0.15318e-02_rb,0.18171e-02_rb,0.12236e-02_rb /) kbo(:, 5,34, 8) = (/ & & 0.13022e-03_rb,0.11866e-02_rb,0.17264e-02_rb,0.20786e-02_rb,0.14148e-02_rb /) kbo(:, 1,35, 8) = (/ & & 0.10879e-03_rb,0.71567e-03_rb,0.97075e-03_rb,0.11118e-02_rb,0.72353e-03_rb /) kbo(:, 2,35, 8) = (/ & & 0.10855e-03_rb,0.79625e-03_rb,0.11041e-02_rb,0.12845e-02_rb,0.84540e-03_rb /) kbo(:, 3,35, 8) = (/ & & 0.10811e-03_rb,0.88686e-03_rb,0.12569e-02_rb,0.14847e-02_rb,0.98831e-03_rb /) kbo(:, 4,35, 8) = (/ & & 0.10743e-03_rb,0.98761e-03_rb,0.14300e-02_rb,0.17157e-02_rb,0.11541e-02_rb /) kbo(:, 5,35, 8) = (/ & & 0.10650e-03_rb,0.10987e-02_rb,0.16251e-02_rb,0.19799e-02_rb,0.13460e-02_rb /) kbo(:, 1,36, 8) = (/ & & 0.89091e-04_rb,0.63773e-03_rb,0.87525e-03_rb,0.10106e-02_rb,0.65643e-03_rb /) kbo(:, 2,36, 8) = (/ & & 0.88892e-04_rb,0.71572e-03_rb,0.10050e-02_rb,0.11794e-02_rb,0.77482e-03_rb /) kbo(:, 3,36, 8) = (/ & & 0.88510e-04_rb,0.80390e-03_rb,0.11544e-02_rb,0.13768e-02_rb,0.91437e-03_rb /) kbo(:, 4,36, 8) = (/ & & 0.87951e-04_rb,0.90253e-03_rb,0.13255e-02_rb,0.16063e-02_rb,0.10779e-02_rb /) kbo(:, 5,36, 8) = (/ & & 0.87175e-04_rb,0.10120e-02_rb,0.15187e-02_rb,0.18703e-02_rb,0.12677e-02_rb /) kbo(:, 1,37, 8) = (/ & & 0.72967e-04_rb,0.56051e-03_rb,0.77586e-03_rb,0.90139e-03_rb,0.58319e-03_rb /) kbo(:, 2,37, 8) = (/ & & 0.72818e-04_rb,0.63459e-03_rb,0.89962e-03_rb,0.10627e-02_rb,0.69545e-03_rb /) kbo(:, 3,37, 8) = (/ & & 0.72523e-04_rb,0.71909e-03_rb,0.10433e-02_rb,0.12533e-02_rb,0.82896e-03_rb /) kbo(:, 4,37, 8) = (/ & & 0.72087e-04_rb,0.81427e-03_rb,0.12092e-02_rb,0.14766e-02_rb,0.98671e-03_rb /) kbo(:, 5,37, 8) = (/ & & 0.71486e-04_rb,0.92093e-03_rb,0.13977e-02_rb,0.17355e-02_rb,0.11708e-02_rb /) kbo(:, 1,38, 8) = (/ & & 0.59765e-04_rb,0.49320e-03_rb,0.68844e-03_rb,0.80478e-03_rb,0.51849e-03_rb /) kbo(:, 2,38, 8) = (/ & & 0.59660e-04_rb,0.56354e-03_rb,0.80640e-03_rb,0.95876e-03_rb,0.62466e-03_rb /) kbo(:, 3,38, 8) = (/ & & 0.59436e-04_rb,0.64440e-03_rb,0.94454e-03_rb,0.11426e-02_rb,0.75236e-03_rb /) kbo(:, 4,38, 8) = (/ & & 0.59102e-04_rb,0.73631e-03_rb,0.11052e-02_rb,0.13599e-02_rb,0.90433e-03_rb /) kbo(:, 5,38, 8) = (/ & & 0.58635e-04_rb,0.84009e-03_rb,0.12891e-02_rb,0.16134e-02_rb,0.10829e-02_rb /) kbo(:, 1,39, 8) = (/ & & 0.48956e-04_rb,0.43499e-03_rb,0.61231e-03_rb,0.72017e-03_rb,0.46189e-03_rb /) kbo(:, 2,39, 8) = (/ & & 0.48890e-04_rb,0.50181e-03_rb,0.72478e-03_rb,0.86730e-03_rb,0.56244e-03_rb /) kbo(:, 3,39, 8) = (/ & & 0.48717e-04_rb,0.57923e-03_rb,0.85778e-03_rb,0.10448e-02_rb,0.68464e-03_rb /) kbo(:, 4,39, 8) = (/ & & 0.48451e-04_rb,0.66799e-03_rb,0.10132e-02_rb,0.12563e-02_rb,0.83112e-03_rb /) kbo(:, 5,39, 8) = (/ & & 0.48085e-04_rb,0.76898e-03_rb,0.11928e-02_rb,0.15047e-02_rb,0.10044e-02_rb /) kbo(:, 1,40, 8) = (/ & & 0.40107e-04_rb,0.37860e-03_rb,0.53596e-03_rb,0.63302e-03_rb,0.40350e-03_rb /) kbo(:, 2,40, 8) = (/ & & 0.40068e-04_rb,0.44099e-03_rb,0.64126e-03_rb,0.77105e-03_rb,0.49697e-03_rb /) kbo(:, 3,40, 8) = (/ & & 0.39945e-04_rb,0.51399e-03_rb,0.76694e-03_rb,0.93934e-03_rb,0.61166e-03_rb /) kbo(:, 4,40, 8) = (/ & & 0.39752e-04_rb,0.59851e-03_rb,0.91528e-03_rb,0.11416e-02_rb,0.75037e-03_rb /) kbo(:, 5,40, 8) = (/ & & 0.39469e-04_rb,0.69544e-03_rb,0.10880e-02_rb,0.13809e-02_rb,0.91593e-03_rb /) kbo(:, 1,41, 8) = (/ & & 0.32851e-04_rb,0.32878e-03_rb,0.46786e-03_rb,0.55469e-03_rb,0.35120e-03_rb /) kbo(:, 2,41, 8) = (/ & & 0.32839e-04_rb,0.38683e-03_rb,0.56607e-03_rb,0.68394e-03_rb,0.43769e-03_rb /) kbo(:, 3,41, 8) = (/ & & 0.32749e-04_rb,0.45542e-03_rb,0.68444e-03_rb,0.84259e-03_rb,0.54490e-03_rb /) kbo(:, 4,41, 8) = (/ & & 0.32607e-04_rb,0.53564e-03_rb,0.82547e-03_rb,0.10352e-02_rb,0.67585e-03_rb /) kbo(:, 5,41, 8) = (/ & & 0.32395e-04_rb,0.62841e-03_rb,0.99133e-03_rb,0.12652e-02_rb,0.83332e-03_rb /) kbo(:, 1,42, 8) = (/ & & 0.26906e-04_rb,0.28534e-03_rb,0.40805e-03_rb,0.48535e-03_rb,0.30526e-03_rb /) kbo(:, 2,42, 8) = (/ & & 0.26908e-04_rb,0.33922e-03_rb,0.49950e-03_rb,0.60603e-03_rb,0.38505e-03_rb /) kbo(:, 3,42, 8) = (/ & & 0.26846e-04_rb,0.40361e-03_rb,0.61076e-03_rb,0.75564e-03_rb,0.48524e-03_rb /) kbo(:, 4,42, 8) = (/ & & 0.26739e-04_rb,0.47953e-03_rb,0.74454e-03_rb,0.93882e-03_rb,0.60861e-03_rb /) kbo(:, 5,42, 8) = (/ & & 0.26585e-04_rb,0.56816e-03_rb,0.90363e-03_rb,0.11597e-02_rb,0.75829e-03_rb /) kbo(:, 1,43, 8) = (/ & & 0.22034e-04_rb,0.24494e-03_rb,0.35126e-03_rb,0.41862e-03_rb,0.26133e-03_rb /) kbo(:, 2,43, 8) = (/ & & 0.22045e-04_rb,0.29428e-03_rb,0.43526e-03_rb,0.52960e-03_rb,0.33379e-03_rb /) kbo(:, 3,43, 8) = (/ & & 0.22009e-04_rb,0.35394e-03_rb,0.53838e-03_rb,0.66893e-03_rb,0.42599e-03_rb /) kbo(:, 4,43, 8) = (/ & & 0.21933e-04_rb,0.42510e-03_rb,0.66392e-03_rb,0.84090e-03_rb,0.54061e-03_rb /) kbo(:, 5,43, 8) = (/ & & 0.21820e-04_rb,0.50878e-03_rb,0.81474e-03_rb,0.10503e-02_rb,0.68139e-03_rb /) kbo(:, 1,44, 8) = (/ & & 0.18042e-04_rb,0.20878e-03_rb,0.29988e-03_rb,0.35782e-03_rb,0.22160e-03_rb /) kbo(:, 2,44, 8) = (/ & & 0.18058e-04_rb,0.25360e-03_rb,0.37621e-03_rb,0.45875e-03_rb,0.28670e-03_rb /) kbo(:, 3,44, 8) = (/ & & 0.18041e-04_rb,0.30845e-03_rb,0.47123e-03_rb,0.58727e-03_rb,0.37070e-03_rb /) kbo(:, 4,44, 8) = (/ & & 0.17989e-04_rb,0.37459e-03_rb,0.58804e-03_rb,0.74739e-03_rb,0.47650e-03_rb /) kbo(:, 5,44, 8) = (/ & & 0.17906e-04_rb,0.45317e-03_rb,0.73003e-03_rb,0.94454e-03_rb,0.60768e-03_rb /) kbo(:, 1,45, 8) = (/ & & 0.14770e-04_rb,0.17743e-03_rb,0.25518e-03_rb,0.30461e-03_rb,0.18718e-03_rb /) kbo(:, 2,45, 8) = (/ & & 0.14790e-04_rb,0.21794e-03_rb,0.32424e-03_rb,0.39603e-03_rb,0.24534e-03_rb /) kbo(:, 3,45, 8) = (/ & & 0.14785e-04_rb,0.26822e-03_rb,0.41132e-03_rb,0.51406e-03_rb,0.32158e-03_rb /) kbo(:, 4,45, 8) = (/ & & 0.14751e-04_rb,0.32948e-03_rb,0.51968e-03_rb,0.66288e-03_rb,0.41889e-03_rb /) kbo(:, 5,45, 8) = (/ & & 0.14692e-04_rb,0.40309e-03_rb,0.65298e-03_rb,0.84795e-03_rb,0.54078e-03_rb /) kbo(:, 1,46, 8) = (/ & & 0.12091e-04_rb,0.14956e-03_rb,0.21507e-03_rb,0.25664e-03_rb,0.15641e-03_rb /) kbo(:, 2,46, 8) = (/ & & 0.12112e-04_rb,0.18585e-03_rb,0.27689e-03_rb,0.33853e-03_rb,0.20778e-03_rb /) kbo(:, 3,46, 8) = (/ & & 0.12113e-04_rb,0.23156e-03_rb,0.35597e-03_rb,0.44575e-03_rb,0.27619e-03_rb /) kbo(:, 4,46, 8) = (/ & & 0.12094e-04_rb,0.28789e-03_rb,0.45576e-03_rb,0.58313e-03_rb,0.36492e-03_rb /) kbo(:, 5,46, 8) = (/ & & 0.12054e-04_rb,0.35628e-03_rb,0.57980e-03_rb,0.75523e-03_rb,0.47721e-03_rb /) kbo(:, 1,47, 8) = (/ & & 0.98958e-05_rb,0.12436e-03_rb,0.17838e-03_rb,0.21241e-03_rb,0.12841e-03_rb /) kbo(:, 2,47, 8) = (/ & & 0.99157e-05_rb,0.15633e-03_rb,0.23279e-03_rb,0.28443e-03_rb,0.17291e-03_rb /) kbo(:, 3,47, 8) = (/ & & 0.99224e-05_rb,0.19724e-03_rb,0.30350e-03_rb,0.38017e-03_rb,0.23323e-03_rb /) kbo(:, 4,47, 8) = (/ & & 0.99150e-05_rb,0.24831e-03_rb,0.39396e-03_rb,0.50488e-03_rb,0.31274e-03_rb /) kbo(:, 5,47, 8) = (/ & & 0.98881e-05_rb,0.31110e-03_rb,0.50788e-03_rb,0.66304e-03_rb,0.41485e-03_rb /) kbo(:, 1,48, 8) = (/ & & 0.80981e-05_rb,0.10284e-03_rb,0.14701e-03_rb,0.17457e-03_rb,0.10464e-03_rb /) kbo(:, 2,48, 8) = (/ & & 0.81170e-05_rb,0.13083e-03_rb,0.19452e-03_rb,0.23734e-03_rb,0.14298e-03_rb /) kbo(:, 3,48, 8) = (/ & & 0.81254e-05_rb,0.16716e-03_rb,0.25727e-03_rb,0.32230e-03_rb,0.19565e-03_rb /) kbo(:, 4,48, 8) = (/ & & 0.81253e-05_rb,0.21328e-03_rb,0.33887e-03_rb,0.43475e-03_rb,0.26652e-03_rb /) kbo(:, 5,48, 8) = (/ & & 0.81092e-05_rb,0.27062e-03_rb,0.44301e-03_rb,0.57972e-03_rb,0.35887e-03_rb /) kbo(:, 1,49, 8) = (/ & & 0.66262e-05_rb,0.84542e-04_rb,0.12034e-03_rb,0.14245e-03_rb,0.84636e-04_rb /) kbo(:, 2,49, 8) = (/ & & 0.66435e-05_rb,0.10903e-03_rb,0.16168e-03_rb,0.19686e-03_rb,0.11740e-03_rb /) kbo(:, 3,49, 8) = (/ & & 0.66527e-05_rb,0.14092e-03_rb,0.21685e-03_rb,0.27156e-03_rb,0.16309e-03_rb /) kbo(:, 4,49, 8) = (/ & & 0.66567e-05_rb,0.18229e-03_rb,0.28989e-03_rb,0.37214e-03_rb,0.22572e-03_rb /) kbo(:, 5,49, 8) = (/ & & 0.66489e-05_rb,0.23443e-03_rb,0.38461e-03_rb,0.50418e-03_rb,0.30883e-03_rb /) kbo(:, 1,50, 8) = (/ & & 0.54202e-05_rb,0.69608e-04_rb,0.98680e-04_rb,0.11646e-03_rb,0.68510e-04_rb /) kbo(:, 2,50, 8) = (/ & & 0.54374e-05_rb,0.90802e-04_rb,0.13434e-03_rb,0.16330e-03_rb,0.96499e-04_rb /) kbo(:, 3,50, 8) = (/ & & 0.54475e-05_rb,0.11916e-03_rb,0.18327e-03_rb,0.22932e-03_rb,0.13620e-03_rb /) kbo(:, 4,50, 8) = (/ & & 0.54521e-05_rb,0.15608e-03_rb,0.24845e-03_rb,0.31928e-03_rb,0.19154e-03_rb /) kbo(:, 5,50, 8) = (/ & & 0.54498e-05_rb,0.20348e-03_rb,0.33466e-03_rb,0.43937e-03_rb,0.26626e-03_rb /) kbo(:, 1,51, 8) = (/ & & 0.44351e-05_rb,0.57088e-04_rb,0.80582e-04_rb,0.94790e-04_rb,0.55250e-04_rb /) kbo(:, 2,51, 8) = (/ & & 0.44504e-05_rb,0.75435e-04_rb,0.11131e-03_rb,0.13503e-03_rb,0.79024e-04_rb /) kbo(:, 3,51, 8) = (/ & & 0.44599e-05_rb,0.10037e-03_rb,0.15428e-03_rb,0.19291e-03_rb,0.11343e-03_rb /) kbo(:, 4,51, 8) = (/ & & 0.44651e-05_rb,0.13336e-03_rb,0.21252e-03_rb,0.27335e-03_rb,0.16218e-03_rb /) kbo(:, 5,51, 8) = (/ & & 0.44653e-05_rb,0.17640e-03_rb,0.29075e-03_rb,0.38229e-03_rb,0.22923e-03_rb /) kbo(:, 1,52, 8) = (/ & & 0.36290e-05_rb,0.46565e-04_rb,0.65364e-04_rb,0.76598e-04_rb,0.44240e-04_rb /) kbo(:, 2,52, 8) = (/ & & 0.36420e-05_rb,0.62314e-04_rb,0.91644e-04_rb,0.11090e-03_rb,0.64234e-04_rb /) kbo(:, 3,52, 8) = (/ & & 0.36509e-05_rb,0.84102e-04_rb,0.12910e-03_rb,0.16125e-03_rb,0.93833e-04_rb /) kbo(:, 4,52, 8) = (/ & & 0.36555e-05_rb,0.11362e-03_rb,0.18115e-03_rb,0.23297e-03_rb,0.13657e-03_rb /) kbo(:, 5,52, 8) = (/ & & 0.36579e-05_rb,0.15226e-03_rb,0.25136e-03_rb,0.33099e-03_rb,0.19621e-03_rb /) kbo(:, 1,53, 8) = (/ & & 0.29692e-05_rb,0.37746e-04_rb,0.52632e-04_rb,0.61397e-04_rb,0.35165e-04_rb /) kbo(:, 2,53, 8) = (/ & & 0.29808e-05_rb,0.51149e-04_rb,0.74879e-04_rb,0.90335e-04_rb,0.51807e-04_rb /) kbo(:, 3,53, 8) = (/ & & 0.29880e-05_rb,0.70028e-04_rb,0.10724e-03_rb,0.13375e-03_rb,0.77010e-04_rb /) kbo(:, 4,53, 8) = (/ & & 0.29931e-05_rb,0.96105e-04_rb,0.15314e-03_rb,0.19689e-03_rb,0.11417e-03_rb /) kbo(:, 5,53, 8) = (/ & & 0.29959e-05_rb,0.13074e-03_rb,0.21612e-03_rb,0.28492e-03_rb,0.16697e-03_rb /) kbo(:, 1,54, 8) = (/ & & 0.24296e-05_rb,0.30698e-04_rb,0.42544e-04_rb,0.49406e-04_rb,0.28072e-04_rb /) kbo(:, 2,54, 8) = (/ & & 0.24393e-05_rb,0.42122e-04_rb,0.61454e-04_rb,0.73927e-04_rb,0.41964e-04_rb /) kbo(:, 3,54, 8) = (/ & & 0.24460e-05_rb,0.58528e-04_rb,0.89500e-04_rb,0.11146e-03_rb,0.63503e-04_rb /) kbo(:, 4,54, 8) = (/ & & 0.24507e-05_rb,0.81611e-04_rb,0.13009e-03_rb,0.16728e-03_rb,0.95947e-04_rb /) kbo(:, 5,54, 8) = (/ & & 0.24535e-05_rb,0.11276e-03_rb,0.18682e-03_rb,0.24654e-03_rb,0.14286e-03_rb /) kbo(:, 1,55, 8) = (/ & & 0.19883e-05_rb,0.24921e-04_rb,0.34312e-04_rb,0.39666e-04_rb,0.22375e-04_rb /) kbo(:, 2,55, 8) = (/ & & 0.19963e-05_rb,0.34641e-04_rb,0.50344e-04_rb,0.60381e-04_rb,0.33942e-04_rb /) kbo(:, 3,55, 8) = (/ & & 0.20020e-05_rb,0.48868e-04_rb,0.74618e-04_rb,0.92809e-04_rb,0.52280e-04_rb /) kbo(:, 4,55, 8) = (/ & & 0.20065e-05_rb,0.69255e-04_rb,0.11042e-03_rb,0.14203e-03_rb,0.80566e-04_rb /) kbo(:, 5,55, 8) = (/ & & 0.20089e-05_rb,0.97527e-04_rb,0.16182e-03_rb,0.21373e-03_rb,0.12228e-03_rb /) kbo(:, 1,56, 8) = (/ & & 0.16268e-05_rb,0.20122e-04_rb,0.27506e-04_rb,0.31629e-04_rb,0.17718e-04_rb /) kbo(:, 2,56, 8) = (/ & & 0.16337e-05_rb,0.28321e-04_rb,0.40966e-04_rb,0.48960e-04_rb,0.27271e-04_rb /) kbo(:, 3,56, 8) = (/ & & 0.16385e-05_rb,0.40579e-04_rb,0.61828e-04_rb,0.76747e-04_rb,0.42739e-04_rb /) kbo(:, 4,56, 8) = (/ & & 0.16424e-05_rb,0.58490e-04_rb,0.93220e-04_rb,0.11991e-03_rb,0.67232e-04_rb /) kbo(:, 5,56, 8) = (/ & & 0.16450e-05_rb,0.83776e-04_rb,0.13917e-03_rb,0.18401e-03_rb,0.10406e-03_rb /) kbo(:, 1,57, 8) = (/ & & 0.13311e-05_rb,0.16151e-04_rb,0.21901e-04_rb,0.25044e-04_rb,0.13934e-04_rb /) kbo(:, 2,57, 8) = (/ & & 0.13369e-05_rb,0.23005e-04_rb,0.33083e-04_rb,0.39377e-04_rb,0.21751e-04_rb /) kbo(:, 3,57, 8) = (/ & & 0.13411e-05_rb,0.33501e-04_rb,0.50888e-04_rb,0.63014e-04_rb,0.34696e-04_rb /) kbo(:, 4,57, 8) = (/ & & 0.13443e-05_rb,0.49111e-04_rb,0.78191e-04_rb,0.10051e-03_rb,0.55711e-04_rb /) kbo(:, 5,57, 8) = (/ & & 0.13467e-05_rb,0.71586e-04_rb,0.11902e-03_rb,0.15744e-03_rb,0.88025e-04_rb /) kbo(:, 1,58, 8) = (/ & & 0.10892e-05_rb,0.12962e-04_rb,0.17443e-04_rb,0.19825e-04_rb,0.10955e-04_rb /) kbo(:, 2,58, 8) = (/ & & 0.10942e-05_rb,0.18688e-04_rb,0.26716e-04_rb,0.31664e-04_rb,0.17348e-04_rb /) kbo(:, 3,58, 8) = (/ & & 0.10976e-05_rb,0.27650e-04_rb,0.41864e-04_rb,0.51716e-04_rb,0.28159e-04_rb /) kbo(:, 4,58, 8) = (/ & & 0.11004e-05_rb,0.41251e-04_rb,0.65630e-04_rb,0.84299e-04_rb,0.46156e-04_rb /) kbo(:, 5,58, 8) = (/ & & 0.11025e-05_rb,0.61261e-04_rb,0.10196e-03_rb,0.13496e-03_rb,0.74536e-04_rb /) kbo(:, 1,59, 8) = (/ & & 0.89197e-06_rb,0.11047e-04_rb,0.14899e-04_rb,0.16964e-04_rb,0.92999e-05_rb /) kbo(:, 2,59, 8) = (/ & & 0.89605e-06_rb,0.16215e-04_rb,0.23291e-04_rb,0.27686e-04_rb,0.15019e-04_rb /) kbo(:, 3,59, 8) = (/ & & 0.89875e-06_rb,0.24462e-04_rb,0.37267e-04_rb,0.46243e-04_rb,0.24905e-04_rb /) kbo(:, 4,59, 8) = (/ & & 0.90117e-06_rb,0.37175e-04_rb,0.59594e-04_rb,0.76969e-04_rb,0.41672e-04_rb /) kbo(:, 5,59, 8) = (/ & & 0.90310e-06_rb,0.56115e-04_rb,0.94187e-04_rb,0.12528e-03_rb,0.68497e-04_rb /) kbo(:, 1,13, 9) = (/ & & 0.56714e-01_rb,0.96228e-01_rb,0.10961e+00_rb,0.11078e+00_rb,0.82822e-01_rb /) kbo(:, 2,13, 9) = (/ & & 0.57828e-01_rb,0.97972e-01_rb,0.11123e+00_rb,0.11236e+00_rb,0.84782e-01_rb /) kbo(:, 3,13, 9) = (/ & & 0.59232e-01_rb,0.99998e-01_rb,0.11329e+00_rb,0.11400e+00_rb,0.86728e-01_rb /) kbo(:, 4,13, 9) = (/ & & 0.60790e-01_rb,0.10219e+00_rb,0.11568e+00_rb,0.11591e+00_rb,0.88651e-01_rb /) kbo(:, 5,13, 9) = (/ & & 0.62290e-01_rb,0.10448e+00_rb,0.11818e+00_rb,0.11808e+00_rb,0.90606e-01_rb /) kbo(:, 1,14, 9) = (/ & & 0.48757e-01_rb,0.85742e-01_rb,0.97473e-01_rb,0.98306e-01_rb,0.73073e-01_rb /) kbo(:, 2,14, 9) = (/ & & 0.49942e-01_rb,0.87692e-01_rb,0.99489e-01_rb,0.10004e+00_rb,0.75064e-01_rb /) kbo(:, 3,14, 9) = (/ & & 0.51318e-01_rb,0.89856e-01_rb,0.10188e+00_rb,0.10205e+00_rb,0.77018e-01_rb /) kbo(:, 4,14, 9) = (/ & & 0.52660e-01_rb,0.92153e-01_rb,0.10444e+00_rb,0.10434e+00_rb,0.78996e-01_rb /) kbo(:, 5,14, 9) = (/ & & 0.53901e-01_rb,0.94584e-01_rb,0.10712e+00_rb,0.10687e+00_rb,0.81028e-01_rb /) kbo(:, 1,15, 9) = (/ & & 0.41752e-01_rb,0.76198e-01_rb,0.86593e-01_rb,0.87037e-01_rb,0.64464e-01_rb /) kbo(:, 2,15, 9) = (/ & & 0.42945e-01_rb,0.78277e-01_rb,0.88919e-01_rb,0.89055e-01_rb,0.66440e-01_rb /) kbo(:, 3,15, 9) = (/ & & 0.44132e-01_rb,0.80544e-01_rb,0.91468e-01_rb,0.91397e-01_rb,0.68401e-01_rb /) kbo(:, 4,15, 9) = (/ & & 0.45260e-01_rb,0.82968e-01_rb,0.94189e-01_rb,0.93993e-01_rb,0.70410e-01_rb /) kbo(:, 5,15, 9) = (/ & & 0.46298e-01_rb,0.85502e-01_rb,0.97029e-01_rb,0.96802e-01_rb,0.72466e-01_rb /) kbo(:, 1,16, 9) = (/ & & 0.35640e-01_rb,0.67555e-01_rb,0.76928e-01_rb,0.77126e-01_rb,0.56847e-01_rb /) kbo(:, 2,16, 9) = (/ & & 0.36668e-01_rb,0.69730e-01_rb,0.79394e-01_rb,0.79411e-01_rb,0.58796e-01_rb /) kbo(:, 3,16, 9) = (/ & & 0.37665e-01_rb,0.72105e-01_rb,0.82070e-01_rb,0.81996e-01_rb,0.60763e-01_rb /) kbo(:, 4,16, 9) = (/ & & 0.38606e-01_rb,0.74641e-01_rb,0.84920e-01_rb,0.84810e-01_rb,0.62792e-01_rb /) kbo(:, 5,16, 9) = (/ & & 0.39473e-01_rb,0.77118e-01_rb,0.87904e-01_rb,0.87777e-01_rb,0.64884e-01_rb /) kbo(:, 1,17, 9) = (/ & & 0.30249e-01_rb,0.59768e-01_rb,0.68325e-01_rb,0.68492e-01_rb,0.50101e-01_rb /) kbo(:, 2,17, 9) = (/ & & 0.31103e-01_rb,0.62060e-01_rb,0.70903e-01_rb,0.70988e-01_rb,0.52022e-01_rb /) kbo(:, 3,17, 9) = (/ & & 0.31936e-01_rb,0.64534e-01_rb,0.73696e-01_rb,0.73735e-01_rb,0.54005e-01_rb /) kbo(:, 4,17, 9) = (/ & & 0.32730e-01_rb,0.67029e-01_rb,0.76655e-01_rb,0.76665e-01_rb,0.56059e-01_rb /) kbo(:, 5,17, 9) = (/ & & 0.33443e-01_rb,0.69449e-01_rb,0.79757e-01_rb,0.79742e-01_rb,0.58173e-01_rb /) kbo(:, 1,18, 9) = (/ & & 0.25545e-01_rb,0.52871e-01_rb,0.60740e-01_rb,0.60992e-01_rb,0.44172e-01_rb /) kbo(:, 2,18, 9) = (/ & & 0.26254e-01_rb,0.55233e-01_rb,0.63406e-01_rb,0.63637e-01_rb,0.46086e-01_rb /) kbo(:, 3,18, 9) = (/ & & 0.26956e-01_rb,0.57692e-01_rb,0.66286e-01_rb,0.66462e-01_rb,0.48089e-01_rb /) kbo(:, 4,18, 9) = (/ & & 0.27612e-01_rb,0.60136e-01_rb,0.69343e-01_rb,0.69465e-01_rb,0.50154e-01_rb /) kbo(:, 5,18, 9) = (/ & & 0.28200e-01_rb,0.62534e-01_rb,0.72542e-01_rb,0.72608e-01_rb,0.52275e-01_rb /) kbo(:, 1,19, 9) = (/ & & 0.21487e-01_rb,0.46786e-01_rb,0.54092e-01_rb,0.54451e-01_rb,0.38986e-01_rb /) kbo(:, 2,19, 9) = (/ & & 0.22086e-01_rb,0.49151e-01_rb,0.56837e-01_rb,0.57167e-01_rb,0.40916e-01_rb /) kbo(:, 3,19, 9) = (/ & & 0.22671e-01_rb,0.51565e-01_rb,0.59787e-01_rb,0.60059e-01_rb,0.42916e-01_rb /) kbo(:, 4,19, 9) = (/ & & 0.23212e-01_rb,0.53966e-01_rb,0.62913e-01_rb,0.63134e-01_rb,0.44993e-01_rb /) kbo(:, 5,19, 9) = (/ & & 0.23674e-01_rb,0.56335e-01_rb,0.66121e-01_rb,0.66362e-01_rb,0.47140e-01_rb /) kbo(:, 1,20, 9) = (/ & & 0.18039e-01_rb,0.41493e-01_rb,0.48348e-01_rb,0.48783e-01_rb,0.34522e-01_rb /) kbo(:, 2,20, 9) = (/ & & 0.18543e-01_rb,0.43801e-01_rb,0.51155e-01_rb,0.51541e-01_rb,0.36457e-01_rb /) kbo(:, 3,20, 9) = (/ & & 0.19027e-01_rb,0.46166e-01_rb,0.54164e-01_rb,0.54503e-01_rb,0.38468e-01_rb /) kbo(:, 4,20, 9) = (/ & & 0.19452e-01_rb,0.48538e-01_rb,0.57292e-01_rb,0.57654e-01_rb,0.40551e-01_rb /) kbo(:, 5,20, 9) = (/ & & 0.19805e-01_rb,0.50879e-01_rb,0.60490e-01_rb,0.60969e-01_rb,0.42726e-01_rb /) kbo(:, 1,21, 9) = (/ & & 0.15116e-01_rb,0.36867e-01_rb,0.43373e-01_rb,0.43860e-01_rb,0.30692e-01_rb /) kbo(:, 2,21, 9) = (/ & & 0.15537e-01_rb,0.39121e-01_rb,0.46234e-01_rb,0.46663e-01_rb,0.32616e-01_rb /) kbo(:, 3,21, 9) = (/ & & 0.15924e-01_rb,0.41438e-01_rb,0.49238e-01_rb,0.49692e-01_rb,0.34628e-01_rb /) kbo(:, 4,21, 9) = (/ & & 0.16258e-01_rb,0.43774e-01_rb,0.52361e-01_rb,0.52910e-01_rb,0.36736e-01_rb /) kbo(:, 5,21, 9) = (/ & & 0.16525e-01_rb,0.46101e-01_rb,0.55542e-01_rb,0.56309e-01_rb,0.38934e-01_rb /) kbo(:, 1,22, 9) = (/ & & 0.12675e-01_rb,0.32993e-01_rb,0.39256e-01_rb,0.39779e-01_rb,0.27529e-01_rb /) kbo(:, 2,22, 9) = (/ & & 0.13009e-01_rb,0.35201e-01_rb,0.42138e-01_rb,0.42658e-01_rb,0.29453e-01_rb /) kbo(:, 3,22, 9) = (/ & & 0.13317e-01_rb,0.37474e-01_rb,0.45144e-01_rb,0.45756e-01_rb,0.31474e-01_rb /) kbo(:, 4,22, 9) = (/ & & 0.13574e-01_rb,0.39784e-01_rb,0.48260e-01_rb,0.49049e-01_rb,0.33608e-01_rb /) kbo(:, 5,22, 9) = (/ & & 0.13778e-01_rb,0.42099e-01_rb,0.51448e-01_rb,0.52529e-01_rb,0.35844e-01_rb /) kbo(:, 1,23, 9) = (/ & & 0.10608e-01_rb,0.29677e-01_rb,0.35736e-01_rb,0.36323e-01_rb,0.24847e-01_rb /) kbo(:, 2,23, 9) = (/ & & 0.10880e-01_rb,0.31843e-01_rb,0.38613e-01_rb,0.39274e-01_rb,0.26772e-01_rb /) kbo(:, 3,23, 9) = (/ & & 0.11120e-01_rb,0.34081e-01_rb,0.41634e-01_rb,0.42440e-01_rb,0.28816e-01_rb /) kbo(:, 4,23, 9) = (/ & & 0.11313e-01_rb,0.36372e-01_rb,0.44754e-01_rb,0.45808e-01_rb,0.30978e-01_rb /) kbo(:, 5,23, 9) = (/ & & 0.11474e-01_rb,0.38689e-01_rb,0.47973e-01_rb,0.49367e-01_rb,0.33255e-01_rb /) kbo(:, 1,24, 9) = (/ & & 0.88685e-02_rb,0.26862e-01_rb,0.32736e-01_rb,0.33437e-01_rb,0.22600e-01_rb /) kbo(:, 2,24, 9) = (/ & & 0.90884e-02_rb,0.28994e-01_rb,0.35625e-01_rb,0.36451e-01_rb,0.24532e-01_rb /) kbo(:, 3,24, 9) = (/ & & 0.92759e-02_rb,0.31210e-01_rb,0.38663e-01_rb,0.39696e-01_rb,0.26600e-01_rb /) kbo(:, 4,24, 9) = (/ & & 0.94299e-02_rb,0.33488e-01_rb,0.41810e-01_rb,0.43137e-01_rb,0.28795e-01_rb /) kbo(:, 5,24, 9) = (/ & & 0.95655e-02_rb,0.35810e-01_rb,0.45067e-01_rb,0.46765e-01_rb,0.31119e-01_rb /) kbo(:, 1,25, 9) = (/ & & 0.74112e-02_rb,0.24493e-01_rb,0.30220e-01_rb,0.31056e-01_rb,0.20732e-01_rb /) kbo(:, 2,25, 9) = (/ & & 0.75852e-02_rb,0.26600e-01_rb,0.33130e-01_rb,0.34139e-01_rb,0.22685e-01_rb /) kbo(:, 3,25, 9) = (/ & & 0.77307e-02_rb,0.28805e-01_rb,0.36194e-01_rb,0.37461e-01_rb,0.24778e-01_rb /) kbo(:, 4,25, 9) = (/ & & 0.78603e-02_rb,0.31085e-01_rb,0.39384e-01_rb,0.40978e-01_rb,0.27016e-01_rb /) kbo(:, 5,25, 9) = (/ & & 0.79718e-02_rb,0.33416e-01_rb,0.42696e-01_rb,0.44682e-01_rb,0.29393e-01_rb /) kbo(:, 1,26, 9) = (/ & & 0.61902e-02_rb,0.22538e-01_rb,0.28170e-01_rb,0.29154e-01_rb,0.19220e-01_rb /) kbo(:, 2,26, 9) = (/ & & 0.63276e-02_rb,0.24632e-01_rb,0.31111e-01_rb,0.32321e-01_rb,0.21200e-01_rb /) kbo(:, 3,26, 9) = (/ & & 0.64499e-02_rb,0.26835e-01_rb,0.34213e-01_rb,0.35713e-01_rb,0.23332e-01_rb /) kbo(:, 4,26, 9) = (/ & & 0.65597e-02_rb,0.29126e-01_rb,0.37461e-01_rb,0.39319e-01_rb,0.25615e-01_rb /) kbo(:, 5,26, 9) = (/ & & 0.66551e-02_rb,0.31472e-01_rb,0.40844e-01_rb,0.43117e-01_rb,0.28057e-01_rb /) kbo(:, 1,27, 9) = (/ & & 0.51713e-02_rb,0.20911e-01_rb,0.26500e-01_rb,0.27639e-01_rb,0.17995e-01_rb /) kbo(:, 2,27, 9) = (/ & & 0.52848e-02_rb,0.23004e-01_rb,0.29475e-01_rb,0.30887e-01_rb,0.20007e-01_rb /) kbo(:, 3,27, 9) = (/ & & 0.53879e-02_rb,0.25219e-01_rb,0.32635e-01_rb,0.34364e-01_rb,0.22181e-01_rb /) kbo(:, 4,27, 9) = (/ & & 0.54763e-02_rb,0.27525e-01_rb,0.35956e-01_rb,0.38064e-01_rb,0.24520e-01_rb /) kbo(:, 5,27, 9) = (/ & & 0.55573e-02_rb,0.29889e-01_rb,0.39426e-01_rb,0.41977e-01_rb,0.27035e-01_rb /) kbo(:, 1,28, 9) = (/ & & 0.43195e-02_rb,0.19576e-01_rb,0.25160e-01_rb,0.26468e-01_rb,0.17016e-01_rb /) kbo(:, 2,28, 9) = (/ & & 0.44139e-02_rb,0.21680e-01_rb,0.28188e-01_rb,0.29800e-01_rb,0.19070e-01_rb /) kbo(:, 3,28, 9) = (/ & & 0.44969e-02_rb,0.23912e-01_rb,0.31420e-01_rb,0.33375e-01_rb,0.21294e-01_rb /) kbo(:, 4,28, 9) = (/ & & 0.45726e-02_rb,0.26235e-01_rb,0.34830e-01_rb,0.37186e-01_rb,0.23695e-01_rb /) kbo(:, 5,28, 9) = (/ & & 0.46426e-02_rb,0.28627e-01_rb,0.38395e-01_rb,0.41222e-01_rb,0.26282e-01_rb /) kbo(:, 1,29, 9) = (/ & & 0.36095e-02_rb,0.18508e-01_rb,0.24142e-01_rb,0.25625e-01_rb,0.16268e-01_rb /) kbo(:, 2,29, 9) = (/ & & 0.36856e-02_rb,0.20634e-01_rb,0.27243e-01_rb,0.29053e-01_rb,0.18372e-01_rb /) kbo(:, 3,29, 9) = (/ & & 0.37545e-02_rb,0.22890e-01_rb,0.30565e-01_rb,0.32742e-01_rb,0.20653e-01_rb /) kbo(:, 4,29, 9) = (/ & & 0.38219e-02_rb,0.25246e-01_rb,0.34070e-01_rb,0.36676e-01_rb,0.23125e-01_rb /) kbo(:, 5,29, 9) = (/ & & 0.38805e-02_rb,0.27676e-01_rb,0.37739e-01_rb,0.40837e-01_rb,0.25787e-01_rb /) kbo(:, 1,30, 9) = (/ & & 0.30149e-02_rb,0.17668e-01_rb,0.23401e-01_rb,0.25061e-01_rb,0.15717e-01_rb /) kbo(:, 2,30, 9) = (/ & & 0.30780e-02_rb,0.19823e-01_rb,0.26594e-01_rb,0.28602e-01_rb,0.17873e-01_rb /) kbo(:, 3,30, 9) = (/ & & 0.31391e-02_rb,0.22111e-01_rb,0.30012e-01_rb,0.32409e-01_rb,0.20220e-01_rb /) kbo(:, 4,30, 9) = (/ & & 0.31952e-02_rb,0.24511e-01_rb,0.33620e-01_rb,0.36467e-01_rb,0.22768e-01_rb /) kbo(:, 5,30, 9) = (/ & & 0.32462e-02_rb,0.26992e-01_rb,0.37393e-01_rb,0.40756e-01_rb,0.25513e-01_rb /) kbo(:, 1,31, 9) = (/ & & 0.25190e-02_rb,0.17039e-01_rb,0.22932e-01_rb,0.24769e-01_rb,0.15346e-01_rb /) kbo(:, 2,31, 9) = (/ & & 0.25729e-02_rb,0.19232e-01_rb,0.26227e-01_rb,0.28432e-01_rb,0.17564e-01_rb /) kbo(:, 3,31, 9) = (/ & & 0.26259e-02_rb,0.21567e-01_rb,0.29750e-01_rb,0.32369e-01_rb,0.19984e-01_rb /) kbo(:, 4,31, 9) = (/ & & 0.26746e-02_rb,0.24020e-01_rb,0.33463e-01_rb,0.36549e-01_rb,0.22614e-01_rb /) kbo(:, 5,31, 9) = (/ & & 0.27170e-02_rb,0.26556e-01_rb,0.37338e-01_rb,0.40957e-01_rb,0.25451e-01_rb /) kbo(:, 1,32, 9) = (/ & & 0.21057e-02_rb,0.16597e-01_rb,0.22710e-01_rb,0.24723e-01_rb,0.15137e-01_rb /) kbo(:, 2,32, 9) = (/ & & 0.21537e-02_rb,0.18840e-01_rb,0.26112e-01_rb,0.28512e-01_rb,0.17424e-01_rb /) kbo(:, 3,32, 9) = (/ & & 0.21983e-02_rb,0.21233e-01_rb,0.29743e-01_rb,0.32575e-01_rb,0.19926e-01_rb /) kbo(:, 4,32, 9) = (/ & & 0.22397e-02_rb,0.23745e-01_rb,0.33557e-01_rb,0.36873e-01_rb,0.22643e-01_rb /) kbo(:, 5,32, 9) = (/ & & 0.22779e-02_rb,0.26339e-01_rb,0.37525e-01_rb,0.41395e-01_rb,0.25571e-01_rb /) kbo(:, 1,33, 9) = (/ & & 0.17621e-02_rb,0.16326e-01_rb,0.22706e-01_rb,0.24894e-01_rb,0.15071e-01_rb /) kbo(:, 2,33, 9) = (/ & & 0.18037e-02_rb,0.18626e-01_rb,0.26218e-01_rb,0.28807e-01_rb,0.17434e-01_rb /) kbo(:, 3,33, 9) = (/ & & 0.18413e-02_rb,0.21083e-01_rb,0.29952e-01_rb,0.32989e-01_rb,0.20023e-01_rb /) kbo(:, 4,33, 9) = (/ & & 0.18774e-02_rb,0.23655e-01_rb,0.33863e-01_rb,0.37400e-01_rb,0.22833e-01_rb /) kbo(:, 5,33, 9) = (/ & & 0.19114e-02_rb,0.26308e-01_rb,0.37916e-01_rb,0.42025e-01_rb,0.25847e-01_rb /) kbo(:, 1,34, 9) = (/ & & 0.14751e-02_rb,0.16125e-01_rb,0.22769e-01_rb,0.25117e-01_rb,0.15050e-01_rb /) kbo(:, 2,34, 9) = (/ & & 0.15101e-02_rb,0.18488e-01_rb,0.26381e-01_rb,0.29139e-01_rb,0.17489e-01_rb /) kbo(:, 3,34, 9) = (/ & & 0.15432e-02_rb,0.21005e-01_rb,0.30205e-01_rb,0.33424e-01_rb,0.20158e-01_rb /) kbo(:, 4,34, 9) = (/ & & 0.15747e-02_rb,0.23633e-01_rb,0.34198e-01_rb,0.37931e-01_rb,0.23050e-01_rb /) kbo(:, 5,34, 9) = (/ & & 0.16051e-02_rb,0.26339e-01_rb,0.38321e-01_rb,0.42642e-01_rb,0.26140e-01_rb /) kbo(:, 1,35, 9) = (/ & & 0.12323e-02_rb,0.15834e-01_rb,0.22646e-01_rb,0.25106e-01_rb,0.14908e-01_rb /) kbo(:, 2,35, 9) = (/ & & 0.12626e-02_rb,0.18245e-01_rb,0.26331e-01_rb,0.29206e-01_rb,0.17403e-01_rb /) kbo(:, 3,35, 9) = (/ & & 0.12919e-02_rb,0.20808e-01_rb,0.30221e-01_rb,0.33562e-01_rb,0.20132e-01_rb /) kbo(:, 4,35, 9) = (/ & & 0.13197e-02_rb,0.23481e-01_rb,0.34270e-01_rb,0.38136e-01_rb,0.23081e-01_rb /) kbo(:, 5,35, 9) = (/ & & 0.13470e-02_rb,0.26228e-01_rb,0.38442e-01_rb,0.42907e-01_rb,0.26222e-01_rb /) kbo(:, 1,36, 9) = (/ & & 0.10273e-02_rb,0.15393e-01_rb,0.22247e-01_rb,0.24766e-01_rb,0.14589e-01_rb /) kbo(:, 2,36, 9) = (/ & & 0.10537e-02_rb,0.17833e-01_rb,0.25974e-01_rb,0.28911e-01_rb,0.17115e-01_rb /) kbo(:, 3,36, 9) = (/ & & 0.10795e-02_rb,0.20426e-01_rb,0.29904e-01_rb,0.33307e-01_rb,0.19875e-01_rb /) kbo(:, 4,36, 9) = (/ & & 0.11043e-02_rb,0.23131e-01_rb,0.33989e-01_rb,0.37917e-01_rb,0.22855e-01_rb /) kbo(:, 5,36, 9) = (/ & & 0.11288e-02_rb,0.25909e-01_rb,0.38197e-01_rb,0.42722e-01_rb,0.26026e-01_rb /) kbo(:, 1,37, 9) = (/ & & 0.85383e-03_rb,0.14679e-01_rb,0.21388e-01_rb,0.23897e-01_rb,0.13970e-01_rb /) kbo(:, 2,37, 9) = (/ & & 0.87682e-03_rb,0.17120e-01_rb,0.25115e-01_rb,0.28039e-01_rb,0.16489e-01_rb /) kbo(:, 3,37, 9) = (/ & & 0.89996e-03_rb,0.19721e-01_rb,0.29054e-01_rb,0.32436e-01_rb,0.19242e-01_rb /) kbo(:, 4,37, 9) = (/ & & 0.92246e-03_rb,0.22439e-01_rb,0.33150e-01_rb,0.37047e-01_rb,0.22217e-01_rb /) kbo(:, 5,37, 9) = (/ & & 0.94506e-03_rb,0.25234e-01_rb,0.37369e-01_rb,0.41852e-01_rb,0.25386e-01_rb /) kbo(:, 1,38, 9) = (/ & & 0.70953e-03_rb,0.14014e-01_rb,0.20566e-01_rb,0.23058e-01_rb,0.13383e-01_rb /) kbo(:, 2,38, 9) = (/ & & 0.73008e-03_rb,0.16455e-01_rb,0.24289e-01_rb,0.27191e-01_rb,0.15892e-01_rb /) kbo(:, 3,38, 9) = (/ & & 0.75050e-03_rb,0.19058e-01_rb,0.28230e-01_rb,0.31581e-01_rb,0.18633e-01_rb /) kbo(:, 4,38, 9) = (/ & & 0.77107e-03_rb,0.21784e-01_rb,0.32331e-01_rb,0.36184e-01_rb,0.21597e-01_rb /) kbo(:, 5,38, 9) = (/ & & 0.79117e-03_rb,0.24590e-01_rb,0.36557e-01_rb,0.40986e-01_rb,0.24760e-01_rb /) kbo(:, 1,39, 9) = (/ & & 0.58982e-03_rb,0.13410e-01_rb,0.19807e-01_rb,0.22275e-01_rb,0.12843e-01_rb /) kbo(:, 2,39, 9) = (/ & & 0.60777e-03_rb,0.15847e-01_rb,0.23520e-01_rb,0.26395e-01_rb,0.15340e-01_rb /) kbo(:, 3,39, 9) = (/ & & 0.62607e-03_rb,0.18449e-01_rb,0.27458e-01_rb,0.30773e-01_rb,0.18067e-01_rb /) kbo(:, 4,39, 9) = (/ & & 0.64471e-03_rb,0.21179e-01_rb,0.31559e-01_rb,0.35367e-01_rb,0.21018e-01_rb /) kbo(:, 5,39, 9) = (/ & & 0.66285e-03_rb,0.23994e-01_rb,0.35788e-01_rb,0.40160e-01_rb,0.24170e-01_rb /) kbo(:, 1,40, 9) = (/ & & 0.48914e-03_rb,0.12617e-01_rb,0.18733e-01_rb,0.21131e-01_rb,0.12100e-01_rb /) kbo(:, 2,40, 9) = (/ & & 0.50499e-03_rb,0.15028e-01_rb,0.22406e-01_rb,0.25206e-01_rb,0.14559e-01_rb /) kbo(:, 3,40, 9) = (/ & & 0.52119e-03_rb,0.17611e-01_rb,0.26314e-01_rb,0.29544e-01_rb,0.17245e-01_rb /) kbo(:, 4,40, 9) = (/ & & 0.53770e-03_rb,0.20330e-01_rb,0.30397e-01_rb,0.34103e-01_rb,0.20159e-01_rb /) kbo(:, 5,40, 9) = (/ & & 0.55398e-03_rb,0.23142e-01_rb,0.34616e-01_rb,0.38867e-01_rb,0.23278e-01_rb /) kbo(:, 1,41, 9) = (/ & & 0.40532e-03_rb,0.11840e-01_rb,0.17661e-01_rb,0.19981e-01_rb,0.11365e-01_rb /) kbo(:, 2,41, 9) = (/ & & 0.41916e-03_rb,0.14219e-01_rb,0.21285e-01_rb,0.24002e-01_rb,0.13782e-01_rb /) kbo(:, 3,41, 9) = (/ & & 0.43354e-03_rb,0.16775e-01_rb,0.25154e-01_rb,0.28292e-01_rb,0.16423e-01_rb /) kbo(:, 4,41, 9) = (/ & & 0.44807e-03_rb,0.19478e-01_rb,0.29214e-01_rb,0.32812e-01_rb,0.19291e-01_rb /) kbo(:, 5,41, 9) = (/ & & 0.46282e-03_rb,0.22283e-01_rb,0.33415e-01_rb,0.37538e-01_rb,0.22373e-01_rb /) kbo(:, 1,42, 9) = (/ & & 0.33573e-03_rb,0.11104e-01_rb,0.16634e-01_rb,0.18873e-01_rb,0.10664e-01_rb /) kbo(:, 2,42, 9) = (/ & & 0.34776e-03_rb,0.13446e-01_rb,0.20201e-01_rb,0.22835e-01_rb,0.13037e-01_rb /) kbo(:, 3,42, 9) = (/ & & 0.36046e-03_rb,0.15973e-01_rb,0.24027e-01_rb,0.27071e-01_rb,0.15631e-01_rb /) kbo(:, 4,42, 9) = (/ & & 0.37344e-03_rb,0.18654e-01_rb,0.28057e-01_rb,0.31550e-01_rb,0.18451e-01_rb /) kbo(:, 5,42, 9) = (/ & & 0.38663e-03_rb,0.21448e-01_rb,0.32235e-01_rb,0.36231e-01_rb,0.21492e-01_rb /) kbo(:, 1,43, 9) = (/ & & 0.27733e-03_rb,0.10283e-01_rb,0.15460e-01_rb,0.17597e-01_rb,0.98707e-02_rb /) kbo(:, 2,43, 9) = (/ & & 0.28779e-03_rb,0.12571e-01_rb,0.18947e-01_rb,0.21473e-01_rb,0.12183e-01_rb /) kbo(:, 3,43, 9) = (/ & & 0.29891e-03_rb,0.15054e-01_rb,0.22712e-01_rb,0.25638e-01_rb,0.14718e-01_rb /) kbo(:, 4,43, 9) = (/ & & 0.31033e-03_rb,0.17702e-01_rb,0.26696e-01_rb,0.30055e-01_rb,0.17477e-01_rb /) kbo(:, 5,43, 9) = (/ & & 0.32200e-03_rb,0.20476e-01_rb,0.30841e-01_rb,0.34682e-01_rb,0.20459e-01_rb /) kbo(:, 1,44, 9) = (/ & & 0.22878e-03_rb,0.94499e-02_rb,0.14251e-01_rb,0.16276e-01_rb,0.90607e-02_rb /) kbo(:, 2,44, 9) = (/ & & 0.23775e-03_rb,0.11673e-01_rb,0.17646e-01_rb,0.20049e-01_rb,0.11303e-01_rb /) kbo(:, 3,44, 9) = (/ & & 0.24747e-03_rb,0.14106e-01_rb,0.21336e-01_rb,0.24135e-01_rb,0.13772e-01_rb /) kbo(:, 4,44, 9) = (/ & & 0.25755e-03_rb,0.16710e-01_rb,0.25261e-01_rb,0.28479e-01_rb,0.16464e-01_rb /) kbo(:, 5,44, 9) = (/ & & 0.26798e-03_rb,0.19454e-01_rb,0.29363e-01_rb,0.33046e-01_rb,0.19378e-01_rb /) kbo(:, 1,45, 9) = (/ & & 0.18849e-03_rb,0.86584e-02_rb,0.13096e-01_rb,0.15007e-01_rb,0.82904e-02_rb /) kbo(:, 2,45, 9) = (/ & & 0.19636e-03_rb,0.10814e-01_rb,0.16390e-01_rb,0.18672e-01_rb,0.10458e-01_rb /) kbo(:, 3,45, 9) = (/ & & 0.20470e-03_rb,0.13189e-01_rb,0.19995e-01_rb,0.22671e-01_rb,0.12861e-01_rb /) kbo(:, 4,45, 9) = (/ & & 0.21344e-03_rb,0.15746e-01_rb,0.23854e-01_rb,0.26936e-01_rb,0.15483e-01_rb /) kbo(:, 5,45, 9) = (/ & & 0.22266e-03_rb,0.18454e-01_rb,0.27912e-01_rb,0.31439e-01_rb,0.18328e-01_rb /) kbo(:, 1,46, 9) = (/ & & 0.15507e-03_rb,0.78632e-02_rb,0.11928e-01_rb,0.13712e-01_rb,0.75164e-02_rb /) kbo(:, 2,46, 9) = (/ & & 0.16179e-03_rb,0.99413e-02_rb,0.15104e-01_rb,0.17260e-01_rb,0.95985e-02_rb /) kbo(:, 3,46, 9) = (/ & & 0.16890e-03_rb,0.12249e-01_rb,0.18612e-01_rb,0.21154e-01_rb,0.11927e-01_rb /) kbo(:, 4,46, 9) = (/ & & 0.17659e-03_rb,0.14751e-01_rb,0.22394e-01_rb,0.25333e-01_rb,0.14476e-01_rb /) kbo(:, 5,46, 9) = (/ & & 0.18474e-03_rb,0.17415e-01_rb,0.26393e-01_rb,0.29761e-01_rb,0.17246e-01_rb /) kbo(:, 1,47, 9) = (/ & & 0.12726e-03_rb,0.70304e-02_rb,0.10696e-01_rb,0.12336e-01_rb,0.67029e-02_rb /) kbo(:, 2,47, 9) = (/ & & 0.13291e-03_rb,0.90171e-02_rb,0.13730e-01_rb,0.15745e-01_rb,0.86863e-02_rb /) kbo(:, 3,47, 9) = (/ & & 0.13906e-03_rb,0.11243e-01_rb,0.17120e-01_rb,0.19510e-01_rb,0.10925e-01_rb /) kbo(:, 4,47, 9) = (/ & & 0.14561e-03_rb,0.13678e-01_rb,0.20805e-01_rb,0.23588e-01_rb,0.13392e-01_rb /) kbo(:, 5,47, 9) = (/ & & 0.15268e-03_rb,0.16286e-01_rb,0.24728e-01_rb,0.27924e-01_rb,0.16077e-01_rb /) kbo(:, 1,48, 9) = (/ & & 0.10430e-03_rb,0.62479e-02_rb,0.95325e-02_rb,0.11029e-01_rb,0.59380e-02_rb /) kbo(:, 2,48, 9) = (/ & & 0.10909e-03_rb,0.81380e-02_rb,0.12419e-01_rb,0.14291e-01_rb,0.78205e-02_rb /) kbo(:, 3,48, 9) = (/ & & 0.11429e-03_rb,0.10277e-01_rb,0.15680e-01_rb,0.17922e-01_rb,0.99641e-02_rb /) kbo(:, 4,48, 9) = (/ & & 0.11996e-03_rb,0.12637e-01_rb,0.19259e-01_rb,0.21888e-01_rb,0.12347e-01_rb /) kbo(:, 5,48, 9) = (/ & & 0.12611e-03_rb,0.15183e-01_rb,0.23095e-01_rb,0.26125e-01_rb,0.14947e-01_rb /) kbo(:, 1,49, 9) = (/ & & 0.85361e-04_rb,0.55178e-02_rb,0.84413e-02_rb,0.97939e-02_rb,0.52224e-02_rb /) kbo(:, 2,49, 9) = (/ & & 0.89682e-04_rb,0.73124e-02_rb,0.11182e-01_rb,0.12906e-01_rb,0.70024e-02_rb /) kbo(:, 3,49, 9) = (/ & & 0.93818e-04_rb,0.93518e-02_rb,0.14295e-01_rb,0.16393e-01_rb,0.90454e-02_rb /) kbo(:, 4,49, 9) = (/ & & 0.98731e-04_rb,0.11631e-01_rb,0.17758e-01_rb,0.20234e-01_rb,0.11339e-01_rb /) kbo(:, 5,49, 9) = (/ & & 0.10398e-03_rb,0.14111e-01_rb,0.21502e-01_rb,0.24370e-01_rb,0.13856e-01_rb /) kbo(:, 1,50, 9) = (/ & & 0.70068e-04_rb,0.48843e-02_rb,0.74862e-02_rb,0.87029e-02_rb,0.45961e-02_rb /) kbo(:, 2,50, 9) = (/ & & 0.73528e-04_rb,0.65706e-02_rb,0.10074e-01_rb,0.11661e-01_rb,0.62737e-02_rb /) kbo(:, 3,50, 9) = (/ & & 0.77377e-04_rb,0.85288e-02_rb,0.13057e-01_rb,0.15019e-01_rb,0.82236e-02_rb /) kbo(:, 4,50, 9) = (/ & & 0.81195e-04_rb,0.10720e-01_rb,0.16396e-01_rb,0.18728e-01_rb,0.10428e-01_rb /) kbo(:, 5,50, 9) = (/ & & 0.85703e-04_rb,0.13133e-01_rb,0.20042e-01_rb,0.22765e-01_rb,0.12867e-01_rb /) kbo(:, 1,51, 9) = (/ & & 0.57383e-04_rb,0.43058e-02_rb,0.66126e-02_rb,0.77023e-02_rb,0.40299e-02_rb /) kbo(:, 2,51, 9) = (/ & & 0.60290e-04_rb,0.58916e-02_rb,0.90543e-02_rb,0.10509e-01_rb,0.56057e-02_rb /) kbo(:, 3,51, 9) = (/ & & 0.63513e-04_rb,0.77586e-02_rb,0.11901e-01_rb,0.13729e-01_rb,0.74620e-02_rb /) kbo(:, 4,51, 9) = (/ & & 0.66727e-04_rb,0.98672e-02_rb,0.15116e-01_rb,0.17314e-01_rb,0.95779e-02_rb /) kbo(:, 5,51, 9) = (/ & & 0.70598e-04_rb,0.12209e-01_rb,0.18661e-01_rb,0.21244e-01_rb,0.11938e-01_rb /) kbo(:, 1,52, 9) = (/ & & 0.46933e-04_rb,0.37683e-02_rb,0.57987e-02_rb,0.67684e-02_rb,0.35066e-02_rb /) kbo(:, 2,52, 9) = (/ & & 0.49374e-04_rb,0.52554e-02_rb,0.80944e-02_rb,0.94163e-02_rb,0.49785e-02_rb /) kbo(:, 3,52, 9) = (/ & & 0.52069e-04_rb,0.70251e-02_rb,0.10799e-01_rb,0.12493e-01_rb,0.67384e-02_rb /) kbo(:, 4,52, 9) = (/ & & 0.55066e-04_rb,0.90579e-02_rb,0.13892e-01_rb,0.15957e-01_rb,0.87644e-02_rb /) kbo(:, 5,52, 9) = (/ & & 0.58094e-04_rb,0.11314e-01_rb,0.17321e-01_rb,0.19762e-01_rb,0.11039e-01_rb /) kbo(:, 1,53, 9) = (/ & & 0.38369e-04_rb,0.32705e-02_rb,0.50428e-02_rb,0.58997e-02_rb,0.30250e-02_rb /) kbo(:, 2,53, 9) = (/ & & 0.40389e-04_rb,0.46579e-02_rb,0.71882e-02_rb,0.83794e-02_rb,0.43908e-02_rb /) kbo(:, 3,53, 9) = (/ & & 0.42656e-04_rb,0.63275e-02_rb,0.97486e-02_rb,0.11308e-01_rb,0.60500e-02_rb /) kbo(:, 4,53, 9) = (/ & & 0.45173e-04_rb,0.82714e-02_rb,0.12706e-01_rb,0.14639e-01_rb,0.79824e-02_rb /) kbo(:, 5,53, 9) = (/ & & 0.47733e-04_rb,0.10447e-01_rb,0.16018e-01_rb,0.18320e-01_rb,0.10170e-01_rb /) kbo(:, 1,54, 9) = (/ & & 0.31373e-04_rb,0.28489e-02_rb,0.44023e-02_rb,0.51602e-02_rb,0.26198e-02_rb /) kbo(:, 2,54, 9) = (/ & & 0.33072e-04_rb,0.41448e-02_rb,0.64072e-02_rb,0.74821e-02_rb,0.38868e-02_rb /) kbo(:, 3,54, 9) = (/ & & 0.34962e-04_rb,0.57219e-02_rb,0.88331e-02_rb,0.10271e-01_rb,0.54518e-02_rb /) kbo(:, 4,54, 9) = (/ & & 0.37073e-04_rb,0.75801e-02_rb,0.11663e-01_rb,0.13472e-01_rb,0.72975e-02_rb /) kbo(:, 5,54, 9) = (/ & & 0.39224e-04_rb,0.96795e-02_rb,0.14861e-01_rb,0.17039e-01_rb,0.94030e-02_rb /) kbo(:, 1,55, 9) = (/ & & 0.25649e-04_rb,0.24774e-02_rb,0.38358e-02_rb,0.45027e-02_rb,0.22635e-02_rb /) kbo(:, 2,55, 9) = (/ & & 0.27065e-04_rb,0.36831e-02_rb,0.57040e-02_rb,0.66733e-02_rb,0.34361e-02_rb /) kbo(:, 3,55, 9) = (/ & & 0.28649e-04_rb,0.51728e-02_rb,0.80003e-02_rb,0.93199e-02_rb,0.49087e-02_rb /) kbo(:, 4,55, 9) = (/ & & 0.30419e-04_rb,0.69443e-02_rb,0.10704e-01_rb,0.12395e-01_rb,0.66688e-02_rb /) kbo(:, 5,55, 9) = (/ & & 0.32478e-04_rb,0.89781e-02_rb,0.13794e-01_rb,0.15856e-01_rb,0.86947e-02_rb /) kbo(:, 1,56, 9) = (/ & & 0.20960e-04_rb,0.21374e-02_rb,0.33161e-02_rb,0.38972e-02_rb,0.19394e-02_rb /) kbo(:, 2,56, 9) = (/ & & 0.22130e-04_rb,0.32530e-02_rb,0.50471e-02_rb,0.59166e-02_rb,0.30185e-02_rb /) kbo(:, 3,56, 9) = (/ & & 0.23455e-04_rb,0.46545e-02_rb,0.72105e-02_rb,0.84156e-02_rb,0.43975e-02_rb /) kbo(:, 4,56, 9) = (/ & & 0.24958e-04_rb,0.63377e-02_rb,0.97876e-02_rb,0.11360e-01_rb,0.60688e-02_rb /) kbo(:, 5,56, 9) = (/ & & 0.26672e-04_rb,0.82933e-02_rb,0.12759e-01_rb,0.14704e-01_rb,0.80123e-02_rb /) kbo(:, 1,57, 9) = (/ & & 0.17108e-04_rb,0.18275e-02_rb,0.28407e-02_rb,0.33429e-02_rb,0.16463e-02_rb /) kbo(:, 2,57, 9) = (/ & & 0.18082e-04_rb,0.28535e-02_rb,0.44360e-02_rb,0.52097e-02_rb,0.26326e-02_rb /) kbo(:, 3,57, 9) = (/ & & 0.19184e-04_rb,0.41668e-02_rb,0.64646e-02_rb,0.75572e-02_rb,0.39170e-02_rb /) kbo(:, 4,57, 9) = (/ & & 0.20446e-04_rb,0.57610e-02_rb,0.89128e-02_rb,0.10368e-01_rb,0.54979e-02_rb /) kbo(:, 5,57, 9) = (/ & & 0.21854e-04_rb,0.76342e-02_rb,0.11762e-01_rb,0.13588e-01_rb,0.73577e-02_rb /) kbo(:, 1,58, 9) = (/ & & 0.13963e-04_rb,0.15602e-02_rb,0.24292e-02_rb,0.28638e-02_rb,0.13965e-02_rb /) kbo(:, 2,58, 9) = (/ & & 0.14773e-04_rb,0.25031e-02_rb,0.38984e-02_rb,0.45849e-02_rb,0.22957e-02_rb /) kbo(:, 3,58, 9) = (/ & & 0.15698e-04_rb,0.37311e-02_rb,0.57975e-02_rb,0.67885e-02_rb,0.34899e-02_rb /) kbo(:, 4,58, 9) = (/ & & 0.16731e-04_rb,0.52413e-02_rb,0.81221e-02_rb,0.94657e-02_rb,0.49831e-02_rb /) kbo(:, 5,58, 9) = (/ & & 0.17926e-04_rb,0.70329e-02_rb,0.10852e-01_rb,0.12566e-01_rb,0.67622e-02_rb /) kbo(:, 1,59, 9) = (/ & & 0.11515e-04_rb,0.14557e-02_rb,0.22712e-02_rb,0.26808e-02_rb,0.13001e-02_rb /) kbo(:, 2,59, 9) = (/ & & 0.12194e-04_rb,0.23665e-02_rb,0.36913e-02_rb,0.43444e-02_rb,0.21654e-02_rb /) kbo(:, 3,59, 9) = (/ & & 0.12975e-04_rb,0.35608e-02_rb,0.55385e-02_rb,0.64911e-02_rb,0.33241e-02_rb /) kbo(:, 4,59, 9) = (/ & & 0.13854e-04_rb,0.50382e-02_rb,0.78142e-02_rb,0.91137e-02_rb,0.47825e-02_rb /) kbo(:, 5,59, 9) = (/ & & 0.14890e-04_rb,0.67966e-02_rb,0.10497e-01_rb,0.12166e-01_rb,0.65291e-02_rb /) kbo(:, 1,13,10) = (/ & & 0.23136e+00_rb,0.35590e+00_rb,0.41705e+00_rb,0.42838e+00_rb,0.34405e+00_rb /) kbo(:, 2,13,10) = (/ & & 0.23570e+00_rb,0.35573e+00_rb,0.41855e+00_rb,0.43318e+00_rb,0.34979e+00_rb /) kbo(:, 3,13,10) = (/ & & 0.23997e+00_rb,0.35949e+00_rb,0.42029e+00_rb,0.43813e+00_rb,0.35426e+00_rb /) kbo(:, 4,13,10) = (/ & & 0.24492e+00_rb,0.36590e+00_rb,0.42350e+00_rb,0.44177e+00_rb,0.35947e+00_rb /) kbo(:, 5,13,10) = (/ & & 0.25202e+00_rb,0.37242e+00_rb,0.42924e+00_rb,0.44467e+00_rb,0.36481e+00_rb /) kbo(:, 1,14,10) = (/ & & 0.20433e+00_rb,0.32280e+00_rb,0.38114e+00_rb,0.39530e+00_rb,0.30987e+00_rb /) kbo(:, 2,14,10) = (/ & & 0.20812e+00_rb,0.32580e+00_rb,0.38400e+00_rb,0.40099e+00_rb,0.31521e+00_rb /) kbo(:, 3,14,10) = (/ & & 0.21260e+00_rb,0.33207e+00_rb,0.38794e+00_rb,0.40573e+00_rb,0.32135e+00_rb /) kbo(:, 4,14,10) = (/ & & 0.21971e+00_rb,0.33857e+00_rb,0.39426e+00_rb,0.40959e+00_rb,0.32811e+00_rb /) kbo(:, 5,14,10) = (/ & & 0.22862e+00_rb,0.34522e+00_rb,0.40235e+00_rb,0.41376e+00_rb,0.33439e+00_rb /) kbo(:, 1,15,10) = (/ & & 0.17974e+00_rb,0.29385e+00_rb,0.34710e+00_rb,0.36214e+00_rb,0.27698e+00_rb /) kbo(:, 2,15,10) = (/ & & 0.18361e+00_rb,0.29985e+00_rb,0.35176e+00_rb,0.36835e+00_rb,0.28361e+00_rb /) kbo(:, 3,15,10) = (/ & & 0.19011e+00_rb,0.30650e+00_rb,0.35844e+00_rb,0.37336e+00_rb,0.29140e+00_rb /) kbo(:, 4,15,10) = (/ & & 0.19870e+00_rb,0.31340e+00_rb,0.36676e+00_rb,0.37856e+00_rb,0.29913e+00_rb /) kbo(:, 5,15,10) = (/ & & 0.20713e+00_rb,0.32067e+00_rb,0.37517e+00_rb,0.38452e+00_rb,0.30673e+00_rb /) kbo(:, 1,16,10) = (/ & & 0.15768e+00_rb,0.26909e+00_rb,0.31566e+00_rb,0.32905e+00_rb,0.24795e+00_rb /) kbo(:, 2,16,10) = (/ & & 0.16341e+00_rb,0.27579e+00_rb,0.32257e+00_rb,0.33542e+00_rb,0.25593e+00_rb /) kbo(:, 3,16,10) = (/ & & 0.17143e+00_rb,0.28283e+00_rb,0.33152e+00_rb,0.34164e+00_rb,0.26468e+00_rb /) kbo(:, 4,16,10) = (/ & & 0.17943e+00_rb,0.29026e+00_rb,0.34054e+00_rb,0.34897e+00_rb,0.27328e+00_rb /) kbo(:, 5,16,10) = (/ & & 0.18690e+00_rb,0.29935e+00_rb,0.34954e+00_rb,0.35767e+00_rb,0.28225e+00_rb /) kbo(:, 1,17,10) = (/ & & 0.13875e+00_rb,0.24652e+00_rb,0.28696e+00_rb,0.29693e+00_rb,0.22321e+00_rb /) kbo(:, 2,17,10) = (/ & & 0.14611e+00_rb,0.25366e+00_rb,0.29630e+00_rb,0.30411e+00_rb,0.23216e+00_rb /) kbo(:, 3,17,10) = (/ & & 0.15377e+00_rb,0.26122e+00_rb,0.30597e+00_rb,0.31229e+00_rb,0.24127e+00_rb /) kbo(:, 4,17,10) = (/ & & 0.16099e+00_rb,0.27029e+00_rb,0.31565e+00_rb,0.32218e+00_rb,0.25077e+00_rb /) kbo(:, 5,17,10) = (/ & & 0.16791e+00_rb,0.28100e+00_rb,0.32533e+00_rb,0.33316e+00_rb,0.26091e+00_rb /) kbo(:, 1,18,10) = (/ & & 0.12258e+00_rb,0.22568e+00_rb,0.26154e+00_rb,0.26746e+00_rb,0.20208e+00_rb /) kbo(:, 2,18,10) = (/ & & 0.12972e+00_rb,0.23340e+00_rb,0.27183e+00_rb,0.27607e+00_rb,0.21144e+00_rb /) kbo(:, 3,18,10) = (/ & & 0.13673e+00_rb,0.24228e+00_rb,0.28202e+00_rb,0.28661e+00_rb,0.22093e+00_rb /) kbo(:, 4,18,10) = (/ & & 0.14352e+00_rb,0.25285e+00_rb,0.29256e+00_rb,0.29859e+00_rb,0.23121e+00_rb /) kbo(:, 5,18,10) = (/ & & 0.14999e+00_rb,0.26447e+00_rb,0.30340e+00_rb,0.31163e+00_rb,0.24203e+00_rb /) kbo(:, 1,19,10) = (/ & & 0.10785e+00_rb,0.20667e+00_rb,0.23879e+00_rb,0.24194e+00_rb,0.18368e+00_rb /) kbo(:, 2,19,10) = (/ & & 0.11429e+00_rb,0.21546e+00_rb,0.24926e+00_rb,0.25235e+00_rb,0.19325e+00_rb /) kbo(:, 3,19,10) = (/ & & 0.12064e+00_rb,0.22577e+00_rb,0.26022e+00_rb,0.26472e+00_rb,0.20338e+00_rb /) kbo(:, 4,19,10) = (/ & & 0.12700e+00_rb,0.23751e+00_rb,0.27175e+00_rb,0.27823e+00_rb,0.21416e+00_rb /) kbo(:, 5,19,10) = (/ & & 0.13335e+00_rb,0.24924e+00_rb,0.28423e+00_rb,0.29239e+00_rb,0.22548e+00_rb /) kbo(:, 1,20,10) = (/ & & 0.94314e-01_rb,0.18969e+00_rb,0.21843e+00_rb,0.22089e+00_rb,0.16767e+00_rb /) kbo(:, 2,20,10) = (/ & & 0.10011e+00_rb,0.20009e+00_rb,0.22938e+00_rb,0.23290e+00_rb,0.17759e+00_rb /) kbo(:, 3,20,10) = (/ & & 0.10602e+00_rb,0.21171e+00_rb,0.24114e+00_rb,0.24650e+00_rb,0.18815e+00_rb /) kbo(:, 4,20,10) = (/ & & 0.11212e+00_rb,0.22366e+00_rb,0.25410e+00_rb,0.26076e+00_rb,0.19951e+00_rb /) kbo(:, 5,20,10) = (/ & & 0.11820e+00_rb,0.23566e+00_rb,0.26816e+00_rb,0.27572e+00_rb,0.21140e+00_rb /) kbo(:, 1,21,10) = (/ & & 0.82096e-01_rb,0.17498e+00_rb,0.20057e+00_rb,0.20349e+00_rb,0.15368e+00_rb /) kbo(:, 2,21,10) = (/ & & 0.87376e-01_rb,0.18671e+00_rb,0.21217e+00_rb,0.21678e+00_rb,0.16394e+00_rb /) kbo(:, 3,21,10) = (/ & & 0.92996e-01_rb,0.19901e+00_rb,0.22527e+00_rb,0.23088e+00_rb,0.17505e+00_rb /) kbo(:, 4,21,10) = (/ & & 0.98752e-01_rb,0.21131e+00_rb,0.23942e+00_rb,0.24575e+00_rb,0.18685e+00_rb /) kbo(:, 5,21,10) = (/ & & 0.10451e+00_rb,0.22356e+00_rb,0.25490e+00_rb,0.26152e+00_rb,0.19924e+00_rb /) kbo(:, 1,22,10) = (/ & & 0.71578e-01_rb,0.16309e+00_rb,0.18609e+00_rb,0.19018e+00_rb,0.14217e+00_rb /) kbo(:, 2,22,10) = (/ & & 0.76626e-01_rb,0.17564e+00_rb,0.19884e+00_rb,0.20398e+00_rb,0.15291e+00_rb /) kbo(:, 3,22,10) = (/ & & 0.81885e-01_rb,0.18840e+00_rb,0.21309e+00_rb,0.21858e+00_rb,0.16461e+00_rb /) kbo(:, 4,22,10) = (/ & & 0.87223e-01_rb,0.20113e+00_rb,0.22859e+00_rb,0.23430e+00_rb,0.17688e+00_rb /) kbo(:, 5,22,10) = (/ & & 0.92500e-01_rb,0.21374e+00_rb,0.24532e+00_rb,0.25104e+00_rb,0.18976e+00_rb /) kbo(:, 1,23,10) = (/ & & 0.62506e-01_rb,0.15298e+00_rb,0.17442e+00_rb,0.17913e+00_rb,0.13258e+00_rb /) kbo(:, 2,23,10) = (/ & & 0.67194e-01_rb,0.16597e+00_rb,0.18829e+00_rb,0.19340e+00_rb,0.14391e+00_rb /) kbo(:, 3,23,10) = (/ & & 0.72099e-01_rb,0.17922e+00_rb,0.20360e+00_rb,0.20869e+00_rb,0.15600e+00_rb /) kbo(:, 4,23,10) = (/ & & 0.77023e-01_rb,0.19243e+00_rb,0.22032e+00_rb,0.22532e+00_rb,0.16873e+00_rb /) kbo(:, 5,23,10) = (/ & & 0.81629e-01_rb,0.20537e+00_rb,0.23792e+00_rb,0.24291e+00_rb,0.18203e+00_rb /) kbo(:, 1,24,10) = (/ & & 0.54705e-01_rb,0.14435e+00_rb,0.16539e+00_rb,0.17004e+00_rb,0.12479e+00_rb /) kbo(:, 2,24,10) = (/ & & 0.59055e-01_rb,0.15781e+00_rb,0.18024e+00_rb,0.18505e+00_rb,0.13663e+00_rb /) kbo(:, 3,24,10) = (/ & & 0.63456e-01_rb,0.17157e+00_rb,0.19662e+00_rb,0.20113e+00_rb,0.14915e+00_rb /) kbo(:, 4,24,10) = (/ & & 0.67778e-01_rb,0.18520e+00_rb,0.21409e+00_rb,0.21860e+00_rb,0.16222e+00_rb /) kbo(:, 5,24,10) = (/ & & 0.71741e-01_rb,0.19852e+00_rb,0.23252e+00_rb,0.23726e+00_rb,0.17594e+00_rb /) kbo(:, 1,25,10) = (/ & & 0.47972e-01_rb,0.13725e+00_rb,0.15860e+00_rb,0.16297e+00_rb,0.11866e+00_rb /) kbo(:, 2,25,10) = (/ & & 0.51893e-01_rb,0.15121e+00_rb,0.17443e+00_rb,0.17877e+00_rb,0.13085e+00_rb /) kbo(:, 3,25,10) = (/ & & 0.55832e-01_rb,0.16535e+00_rb,0.19157e+00_rb,0.19578e+00_rb,0.14380e+00_rb /) kbo(:, 4,25,10) = (/ & & 0.59570e-01_rb,0.17943e+00_rb,0.20993e+00_rb,0.21423e+00_rb,0.15728e+00_rb /) kbo(:, 5,25,10) = (/ & & 0.62996e-01_rb,0.19323e+00_rb,0.22909e+00_rb,0.23401e+00_rb,0.17147e+00_rb /) kbo(:, 1,26,10) = (/ & & 0.42166e-01_rb,0.13173e+00_rb,0.15395e+00_rb,0.15801e+00_rb,0.11401e+00_rb /) kbo(:, 2,26,10) = (/ & & 0.45660e-01_rb,0.14616e+00_rb,0.17062e+00_rb,0.17468e+00_rb,0.12664e+00_rb /) kbo(:, 3,26,10) = (/ & & 0.49079e-01_rb,0.16071e+00_rb,0.18859e+00_rb,0.19278e+00_rb,0.14002e+00_rb /) kbo(:, 4,26,10) = (/ & & 0.52306e-01_rb,0.17521e+00_rb,0.20782e+00_rb,0.21223e+00_rb,0.15402e+00_rb /) kbo(:, 5,26,10) = (/ & & 0.55285e-01_rb,0.18955e+00_rb,0.22765e+00_rb,0.23299e+00_rb,0.16864e+00_rb /) kbo(:, 1,27,10) = (/ & & 0.37040e-01_rb,0.12755e+00_rb,0.15088e+00_rb,0.15474e+00_rb,0.11059e+00_rb /) kbo(:, 2,27,10) = (/ & & 0.40121e-01_rb,0.14241e+00_rb,0.16845e+00_rb,0.17243e+00_rb,0.12369e+00_rb /) kbo(:, 3,27,10) = (/ & & 0.43101e-01_rb,0.15742e+00_rb,0.18726e+00_rb,0.19156e+00_rb,0.13753e+00_rb /) kbo(:, 4,27,10) = (/ & & 0.45931e-01_rb,0.17241e+00_rb,0.20722e+00_rb,0.21200e+00_rb,0.15204e+00_rb /) kbo(:, 5,27,10) = (/ & & 0.48598e-01_rb,0.18733e+00_rb,0.22772e+00_rb,0.23361e+00_rb,0.16711e+00_rb /) kbo(:, 1,28,10) = (/ & & 0.32582e-01_rb,0.12457e+00_rb,0.14931e+00_rb,0.15310e+00_rb,0.10829e+00_rb /) kbo(:, 2,28,10) = (/ & & 0.35269e-01_rb,0.13987e+00_rb,0.16776e+00_rb,0.17185e+00_rb,0.12185e+00_rb /) kbo(:, 3,28,10) = (/ & & 0.37905e-01_rb,0.15538e+00_rb,0.18740e+00_rb,0.19192e+00_rb,0.13621e+00_rb /) kbo(:, 4,28,10) = (/ & & 0.40411e-01_rb,0.17101e+00_rb,0.20797e+00_rb,0.21319e+00_rb,0.15122e+00_rb /) kbo(:, 5,28,10) = (/ & & 0.42843e-01_rb,0.18643e+00_rb,0.22906e+00_rb,0.23551e+00_rb,0.16683e+00_rb /) kbo(:, 1,29,10) = (/ & & 0.28694e-01_rb,0.12285e+00_rb,0.14922e+00_rb,0.15309e+00_rb,0.10715e+00_rb /) kbo(:, 2,29,10) = (/ & & 0.31078e-01_rb,0.13867e+00_rb,0.16851e+00_rb,0.17281e+00_rb,0.12115e+00_rb /) kbo(:, 3,29,10) = (/ & & 0.33398e-01_rb,0.15475e+00_rb,0.18886e+00_rb,0.19373e+00_rb,0.13609e+00_rb /) kbo(:, 4,29,10) = (/ & & 0.35655e-01_rb,0.17087e+00_rb,0.21002e+00_rb,0.21569e+00_rb,0.15161e+00_rb /) kbo(:, 5,29,10) = (/ & & 0.37934e-01_rb,0.18672e+00_rb,0.23156e+00_rb,0.23855e+00_rb,0.16767e+00_rb /) kbo(:, 1,30,10) = (/ & & 0.25318e-01_rb,0.12223e+00_rb,0.15038e+00_rb,0.15442e+00_rb,0.10692e+00_rb /) kbo(:, 2,30,10) = (/ & & 0.27416e-01_rb,0.13863e+00_rb,0.17040e+00_rb,0.17493e+00_rb,0.12146e+00_rb /) kbo(:, 3,30,10) = (/ & & 0.29487e-01_rb,0.15524e+00_rb,0.19136e+00_rb,0.19656e+00_rb,0.13693e+00_rb /) kbo(:, 4,30,10) = (/ & & 0.31585e-01_rb,0.17178e+00_rb,0.21298e+00_rb,0.21911e+00_rb,0.15294e+00_rb /) kbo(:, 5,30,10) = (/ & & 0.33743e-01_rb,0.18794e+00_rb,0.23489e+00_rb,0.24234e+00_rb,0.16937e+00_rb /) kbo(:, 1,31,10) = (/ & & 0.22384e-01_rb,0.12276e+00_rb,0.15268e+00_rb,0.15694e+00_rb,0.10764e+00_rb /) kbo(:, 2,31,10) = (/ & & 0.24241e-01_rb,0.13972e+00_rb,0.17333e+00_rb,0.17809e+00_rb,0.12275e+00_rb /) kbo(:, 3,31,10) = (/ & & 0.26155e-01_rb,0.15678e+00_rb,0.19481e+00_rb,0.20028e+00_rb,0.13870e+00_rb /) kbo(:, 4,31,10) = (/ & & 0.28119e-01_rb,0.17362e+00_rb,0.21675e+00_rb,0.22330e+00_rb,0.15510e+00_rb /) kbo(:, 5,31,10) = (/ & & 0.30218e-01_rb,0.19000e+00_rb,0.23891e+00_rb,0.24680e+00_rb,0.17182e+00_rb /) kbo(:, 1,32,10) = (/ & & 0.19818e-01_rb,0.12431e+00_rb,0.15590e+00_rb,0.16037e+00_rb,0.10919e+00_rb /) kbo(:, 2,32,10) = (/ & & 0.21499e-01_rb,0.14174e+00_rb,0.17710e+00_rb,0.18207e+00_rb,0.12484e+00_rb /) kbo(:, 3,32,10) = (/ & & 0.23289e-01_rb,0.15910e+00_rb,0.19892e+00_rb,0.20468e+00_rb,0.14116e+00_rb /) kbo(:, 4,32,10) = (/ & & 0.25197e-01_rb,0.17612e+00_rb,0.22110e+00_rb,0.22808e+00_rb,0.15787e+00_rb /) kbo(:, 5,32,10) = (/ & & 0.27257e-01_rb,0.19267e+00_rb,0.24341e+00_rb,0.25172e+00_rb,0.17483e+00_rb /) kbo(:, 1,33,10) = (/ & & 0.17588e-01_rb,0.12670e+00_rb,0.15984e+00_rb,0.16448e+00_rb,0.11147e+00_rb /) kbo(:, 2,33,10) = (/ & & 0.19157e-01_rb,0.14450e+00_rb,0.18143e+00_rb,0.18665e+00_rb,0.12758e+00_rb /) kbo(:, 3,33,10) = (/ & & 0.20859e-01_rb,0.16204e+00_rb,0.20353e+00_rb,0.20957e+00_rb,0.14421e+00_rb /) kbo(:, 4,33,10) = (/ & & 0.22735e-01_rb,0.17915e+00_rb,0.22585e+00_rb,0.23324e+00_rb,0.16113e+00_rb /) kbo(:, 5,33,10) = (/ & & 0.24799e-01_rb,0.19574e+00_rb,0.24826e+00_rb,0.25697e+00_rb,0.17829e+00_rb /) kbo(:, 1,34,10) = (/ & & 0.15617e-01_rb,0.12913e+00_rb,0.16354e+00_rb,0.16830e+00_rb,0.11378e+00_rb /) kbo(:, 2,34,10) = (/ & & 0.17096e-01_rb,0.14716e+00_rb,0.18538e+00_rb,0.19084e+00_rb,0.13021e+00_rb /) kbo(:, 3,34,10) = (/ & & 0.18753e-01_rb,0.16482e+00_rb,0.20769e+00_rb,0.21402e+00_rb,0.14705e+00_rb /) kbo(:, 4,34,10) = (/ & & 0.20625e-01_rb,0.18194e+00_rb,0.23012e+00_rb,0.23784e+00_rb,0.16411e+00_rb /) kbo(:, 5,34,10) = (/ & & 0.22709e-01_rb,0.19848e+00_rb,0.25256e+00_rb,0.26160e+00_rb,0.18143e+00_rb /) kbo(:, 1,35,10) = (/ & & 0.13789e-01_rb,0.13026e+00_rb,0.16543e+00_rb,0.17032e+00_rb,0.11490e+00_rb /) kbo(:, 2,35,10) = (/ & & 0.15216e-01_rb,0.14846e+00_rb,0.18743e+00_rb,0.19307e+00_rb,0.13153e+00_rb /) kbo(:, 3,35,10) = (/ & & 0.16842e-01_rb,0.16621e+00_rb,0.20987e+00_rb,0.21641e+00_rb,0.14851e+00_rb /) kbo(:, 4,35,10) = (/ & & 0.18686e-01_rb,0.18333e+00_rb,0.23239e+00_rb,0.24032e+00_rb,0.16565e+00_rb /) kbo(:, 5,35,10) = (/ & & 0.20799e-01_rb,0.19983e+00_rb,0.25487e+00_rb,0.26409e+00_rb,0.18307e+00_rb /) kbo(:, 1,36,10) = (/ & & 0.12099e-01_rb,0.12969e+00_rb,0.16517e+00_rb,0.17011e+00_rb,0.11448e+00_rb /) kbo(:, 2,36,10) = (/ & & 0.13456e-01_rb,0.14803e+00_rb,0.18723e+00_rb,0.19293e+00_rb,0.13120e+00_rb /) kbo(:, 3,36,10) = (/ & & 0.15032e-01_rb,0.16587e+00_rb,0.20973e+00_rb,0.21635e+00_rb,0.14826e+00_rb /) kbo(:, 4,36,10) = (/ & & 0.16854e-01_rb,0.18305e+00_rb,0.23232e+00_rb,0.24032e+00_rb,0.16546e+00_rb /) kbo(:, 5,36,10) = (/ & & 0.18993e-01_rb,0.19959e+00_rb,0.25485e+00_rb,0.26414e+00_rb,0.18292e+00_rb /) kbo(:, 1,37,10) = (/ & & 0.10461e-01_rb,0.12652e+00_rb,0.16173e+00_rb,0.16663e+00_rb,0.11173e+00_rb /) kbo(:, 2,37,10) = (/ & & 0.11729e-01_rb,0.14498e+00_rb,0.18379e+00_rb,0.18940e+00_rb,0.12844e+00_rb /) kbo(:, 3,37,10) = (/ & & 0.13230e-01_rb,0.16298e+00_rb,0.20628e+00_rb,0.21278e+00_rb,0.14553e+00_rb /) kbo(:, 4,37,10) = (/ & & 0.15005e-01_rb,0.18033e+00_rb,0.22891e+00_rb,0.23679e+00_rb,0.16275e+00_rb /) kbo(:, 5,37,10) = (/ & & 0.17126e-01_rb,0.19699e+00_rb,0.25151e+00_rb,0.26065e+00_rb,0.18019e+00_rb /) kbo(:, 1,38,10) = (/ & & 0.90496e-02_rb,0.12333e+00_rb,0.15823e+00_rb,0.16307e+00_rb,0.10897e+00_rb /) kbo(:, 2,38,10) = (/ & & 0.10227e-01_rb,0.14188e+00_rb,0.18026e+00_rb,0.18578e+00_rb,0.12565e+00_rb /) kbo(:, 3,38,10) = (/ & & 0.11665e-01_rb,0.16002e+00_rb,0.20273e+00_rb,0.20911e+00_rb,0.14274e+00_rb /) kbo(:, 4,38,10) = (/ & & 0.13392e-01_rb,0.17754e+00_rb,0.22537e+00_rb,0.23309e+00_rb,0.15996e+00_rb /) kbo(:, 5,38,10) = (/ & & 0.15506e-01_rb,0.19433e+00_rb,0.24804e+00_rb,0.25702e+00_rb,0.17741e+00_rb /) kbo(:, 1,39,10) = (/ & & 0.78338e-02_rb,0.12027e+00_rb,0.15482e+00_rb,0.15961e+00_rb,0.10632e+00_rb /) kbo(:, 2,39,10) = (/ & & 0.89378e-02_rb,0.13888e+00_rb,0.17682e+00_rb,0.18224e+00_rb,0.12295e+00_rb /) kbo(:, 3,39,10) = (/ & & 0.10310e-01_rb,0.15714e+00_rb,0.19926e+00_rb,0.20553e+00_rb,0.14003e+00_rb /) kbo(:, 4,39,10) = (/ & & 0.12002e-01_rb,0.17480e+00_rb,0.22192e+00_rb,0.22947e+00_rb,0.15725e+00_rb /) kbo(:, 5,39,10) = (/ & & 0.14105e-01_rb,0.19172e+00_rb,0.24464e+00_rb,0.25344e+00_rb,0.17470e+00_rb /) kbo(:, 1,40,10) = (/ & & 0.66914e-02_rb,0.11542e+00_rb,0.14925e+00_rb,0.15395e+00_rb,0.10210e+00_rb /) kbo(:, 2,40,10) = (/ & & 0.77047e-02_rb,0.13403e+00_rb,0.17118e+00_rb,0.17643e+00_rb,0.11860e+00_rb /) kbo(:, 3,40,10) = (/ & & 0.89835e-02_rb,0.15246e+00_rb,0.19353e+00_rb,0.19961e+00_rb,0.13564e+00_rb /) kbo(:, 4,40,10) = (/ & & 0.10606e-01_rb,0.17030e+00_rb,0.21619e+00_rb,0.22340e+00_rb,0.15283e+00_rb /) kbo(:, 5,40,10) = (/ & & 0.12648e-01_rb,0.18743e+00_rb,0.23893e+00_rb,0.24746e+00_rb,0.17023e+00_rb /) kbo(:, 1,41,10) = (/ & & 0.57043e-02_rb,0.11041e+00_rb,0.14350e+00_rb,0.14812e+00_rb,0.97770e-01_rb /) kbo(:, 2,41,10) = (/ & & 0.66329e-02_rb,0.12897e+00_rb,0.16532e+00_rb,0.17041e+00_rb,0.11409e+00_rb /) kbo(:, 3,41,10) = (/ & & 0.78105e-02_rb,0.14755e+00_rb,0.18757e+00_rb,0.19344e+00_rb,0.13104e+00_rb /) kbo(:, 4,41,10) = (/ & & 0.93536e-02_rb,0.16558e+00_rb,0.21020e+00_rb,0.21707e+00_rb,0.14824e+00_rb /) kbo(:, 5,41,10) = (/ & & 0.11328e-01_rb,0.18290e+00_rb,0.23295e+00_rb,0.24119e+00_rb,0.16557e+00_rb /) kbo(:, 1,42,10) = (/ & & 0.48607e-02_rb,0.10547e+00_rb,0.13783e+00_rb,0.14238e+00_rb,0.93542e-01_rb /) kbo(:, 2,42,10) = (/ & & 0.56953e-02_rb,0.12396e+00_rb,0.15948e+00_rb,0.16442e+00_rb,0.10965e+00_rb /) kbo(:, 3,42,10) = (/ & & 0.67857e-02_rb,0.14262e+00_rb,0.18165e+00_rb,0.18732e+00_rb,0.12648e+00_rb /) kbo(:, 4,42,10) = (/ & & 0.82516e-02_rb,0.16083e+00_rb,0.20424e+00_rb,0.21080e+00_rb,0.14367e+00_rb /) kbo(:, 5,42,10) = (/ & & 0.10149e-01_rb,0.17836e+00_rb,0.22696e+00_rb,0.23490e+00_rb,0.16095e+00_rb /) kbo(:, 1,43,10) = (/ & & 0.40934e-02_rb,0.99600e-01_rb,0.13106e+00_rb,0.13554e+00_rb,0.88531e-01_rb /) kbo(:, 2,43,10) = (/ & & 0.48473e-02_rb,0.11796e+00_rb,0.15249e+00_rb,0.15728e+00_rb,0.10438e+00_rb /) kbo(:, 3,43,10) = (/ & & 0.58407e-02_rb,0.13665e+00_rb,0.17453e+00_rb,0.17995e+00_rb,0.12102e+00_rb /) kbo(:, 4,43,10) = (/ & & 0.71922e-02_rb,0.15505e+00_rb,0.19702e+00_rb,0.20328e+00_rb,0.13817e+00_rb /) kbo(:, 5,43,10) = (/ & & 0.89819e-02_rb,0.17282e+00_rb,0.21974e+00_rb,0.22722e+00_rb,0.15541e+00_rb /) kbo(:, 1,44,10) = (/ & & 0.34279e-02_rb,0.93376e-01_rb,0.12386e+00_rb,0.12828e+00_rb,0.83256e-01_rb /) kbo(:, 2,44,10) = (/ & & 0.40981e-02_rb,0.11153e+00_rb,0.14501e+00_rb,0.14969e+00_rb,0.98786e-01_rb /) kbo(:, 3,44,10) = (/ & & 0.49801e-02_rb,0.13017e+00_rb,0.16691e+00_rb,0.17209e+00_rb,0.11523e+00_rb /) kbo(:, 4,44,10) = (/ & & 0.62140e-02_rb,0.14877e+00_rb,0.18924e+00_rb,0.19525e+00_rb,0.13223e+00_rb /) kbo(:, 5,44,10) = (/ & & 0.78865e-02_rb,0.16678e+00_rb,0.21196e+00_rb,0.21896e+00_rb,0.14947e+00_rb /) kbo(:, 1,45,10) = (/ & & 0.28724e-02_rb,0.87295e-01_rb,0.11671e+00_rb,0.12114e+00_rb,0.78089e-01_rb /) kbo(:, 2,45,10) = (/ & & 0.34468e-02_rb,0.10517e+00_rb,0.13765e+00_rb,0.14225e+00_rb,0.93322e-01_rb /) kbo(:, 3,45,10) = (/ & & 0.42450e-02_rb,0.12371e+00_rb,0.15937e+00_rb,0.16431e+00_rb,0.10950e+00_rb /) kbo(:, 4,45,10) = (/ & & 0.53608e-02_rb,0.14242e+00_rb,0.18156e+00_rb,0.18727e+00_rb,0.12633e+00_rb /) kbo(:, 5,45,10) = (/ & & 0.69069e-02_rb,0.16067e+00_rb,0.20420e+00_rb,0.21079e+00_rb,0.14356e+00_rb /) kbo(:, 1,46,10) = (/ & & 0.23836e-02_rb,0.81023e-01_rb,0.10917e+00_rb,0.11375e+00_rb,0.72722e-01_rb /) kbo(:, 2,46,10) = (/ & & 0.28929e-02_rb,0.98528e-01_rb,0.12997e+00_rb,0.13446e+00_rb,0.87653e-01_rb /) kbo(:, 3,46,10) = (/ & & 0.35850e-02_rb,0.11690e+00_rb,0.15139e+00_rb,0.15617e+00_rb,0.10350e+00_rb /) kbo(:, 4,46,10) = (/ & & 0.45850e-02_rb,0.13564e+00_rb,0.17345e+00_rb,0.17887e+00_rb,0.12014e+00_rb /) kbo(:, 5,46,10) = (/ & & 0.59899e-02_rb,0.15409e+00_rb,0.19595e+00_rb,0.20220e+00_rb,0.13729e+00_rb /) kbo(:, 1,47,10) = (/ & & 0.19470e-02_rb,0.74238e-01_rb,0.10082e+00_rb,0.10569e+00_rb,0.66936e-01_rb /) kbo(:, 2,47,10) = (/ & & 0.23890e-02_rb,0.91244e-01_rb,0.12148e+00_rb,0.12591e+00_rb,0.81479e-01_rb /) kbo(:, 3,47,10) = (/ & & 0.29827e-02_rb,0.10934e+00_rb,0.14258e+00_rb,0.14724e+00_rb,0.96940e-01_rb /) kbo(:, 4,47,10) = (/ & & 0.38583e-02_rb,0.12800e+00_rb,0.16447e+00_rb,0.16958e+00_rb,0.11333e+00_rb /) kbo(:, 5,47,10) = (/ & & 0.51142e-02_rb,0.14666e+00_rb,0.18678e+00_rb,0.19270e+00_rb,0.13028e+00_rb /) kbo(:, 1,48,10) = (/ & & 0.15861e-02_rb,0.67739e-01_rb,0.92637e-01_rb,0.97854e-01_rb,0.61349e-01_rb /) kbo(:, 2,48,10) = (/ & & 0.19649e-02_rb,0.84157e-01_rb,0.11305e+00_rb,0.11755e+00_rb,0.75432e-01_rb /) kbo(:, 3,48,10) = (/ & & 0.24852e-02_rb,0.10189e+00_rb,0.13395e+00_rb,0.13849e+00_rb,0.90556e-01_rb /) kbo(:, 4,48,10) = (/ & & 0.32371e-02_rb,0.12039e+00_rb,0.15554e+00_rb,0.16041e+00_rb,0.10658e+00_rb /) kbo(:, 5,48,10) = (/ & & 0.43439e-02_rb,0.13914e+00_rb,0.17770e+00_rb,0.18327e+00_rb,0.12334e+00_rb /) kbo(:, 1,49,10) = (/ & & 0.12857e-02_rb,0.61441e-01_rb,0.84638e-01_rb,0.90184e-01_rb,0.55928e-01_rb /) kbo(:, 2,49,10) = (/ & & 0.16127e-02_rb,0.77337e-01_rb,0.10472e+00_rb,0.10945e+00_rb,0.69577e-01_rb /) kbo(:, 3,49,10) = (/ & & 0.20537e-02_rb,0.94575e-01_rb,0.12545e+00_rb,0.12989e+00_rb,0.84331e-01_rb /) kbo(:, 4,49,10) = (/ & & 0.26910e-02_rb,0.11284e+00_rb,0.14670e+00_rb,0.15143e+00_rb,0.99981e-01_rb /) kbo(:, 5,49,10) = (/ & & 0.36640e-02_rb,0.13156e+00_rb,0.16870e+00_rb,0.17395e+00_rb,0.11651e+00_rb /) kbo(:, 1,50,10) = (/ & & 0.10457e-02_rb,0.55773e-01_rb,0.77388e-01_rb,0.83215e-01_rb,0.51035e-01_rb /) kbo(:, 2,50,10) = (/ & & 0.13145e-02_rb,0.71139e-01_rb,0.96987e-01_rb,0.10202e+00_rb,0.64279e-01_rb /) kbo(:, 3,50,10) = (/ & & 0.17051e-02_rb,0.87902e-01_rb,0.11756e+00_rb,0.12199e+00_rb,0.78626e-01_rb /) kbo(:, 4,50,10) = (/ & & 0.22648e-02_rb,0.10582e+00_rb,0.13854e+00_rb,0.14317e+00_rb,0.93933e-01_rb /) kbo(:, 5,50,10) = (/ & & 0.31061e-02_rb,0.12442e+00_rb,0.16033e+00_rb,0.16532e+00_rb,0.11017e+00_rb /) kbo(:, 1,51,10) = (/ & & 0.84549e-03_rb,0.50472e-01_rb,0.70528e-01_rb,0.76615e-01_rb,0.46420e-01_rb /) kbo(:, 2,51,10) = (/ & & 0.10690e-02_rb,0.65329e-01_rb,0.89631e-01_rb,0.94967e-01_rb,0.59271e-01_rb /) kbo(:, 3,51,10) = (/ & & 0.14006e-02_rb,0.81572e-01_rb,0.10994e+00_rb,0.11450e+00_rb,0.73207e-01_rb /) kbo(:, 4,51,10) = (/ & & 0.18893e-02_rb,0.99123e-01_rb,0.13077e+00_rb,0.13529e+00_rb,0.88203e-01_rb /) kbo(:, 5,51,10) = (/ & & 0.26211e-02_rb,0.11756e+00_rb,0.15226e+00_rb,0.15707e+00_rb,0.10410e+00_rb /) kbo(:, 1,52,10) = (/ & & 0.67948e-03_rb,0.45452e-01_rb,0.63925e-01_rb,0.70191e-01_rb,0.41984e-01_rb /) kbo(:, 2,52,10) = (/ & & 0.86532e-03_rb,0.59697e-01_rb,0.82454e-01_rb,0.88085e-01_rb,0.54427e-01_rb /) kbo(:, 3,52,10) = (/ & & 0.11431e-02_rb,0.75434e-01_rb,0.10239e+00_rb,0.10721e+00_rb,0.67964e-01_rb /) kbo(:, 4,52,10) = (/ & & 0.15771e-02_rb,0.92585e-01_rb,0.12313e+00_rb,0.12757e+00_rb,0.82618e-01_rb /) kbo(:, 5,52,10) = (/ & & 0.22169e-02_rb,0.11074e+00_rb,0.14429e+00_rb,0.14899e+00_rb,0.98166e-01_rb /) kbo(:, 1,53,10) = (/ & & 0.54404e-03_rb,0.40689e-01_rb,0.57565e-01_rb,0.63870e-01_rb,0.37709e-01_rb /) kbo(:, 2,53,10) = (/ & & 0.69516e-03_rb,0.54249e-01_rb,0.75469e-01_rb,0.81366e-01_rb,0.49728e-01_rb /) kbo(:, 3,53,10) = (/ & & 0.92495e-03_rb,0.69505e-01_rb,0.94951e-01_rb,0.10007e+00_rb,0.62880e-01_rb /) kbo(:, 4,53,10) = (/ & & 0.12935e-02_rb,0.86139e-01_rb,0.11548e+00_rb,0.11993e+00_rb,0.77126e-01_rb /) kbo(:, 5,53,10) = (/ & & 0.18603e-02_rb,0.10397e+00_rb,0.13641e+00_rb,0.14102e+00_rb,0.92352e-01_rb /) kbo(:, 1,54,10) = (/ & & 0.43618e-03_rb,0.36557e-01_rb,0.51984e-01_rb,0.58236e-01_rb,0.33960e-01_rb /) kbo(:, 2,54,10) = (/ & & 0.56166e-03_rb,0.49456e-01_rb,0.69241e-01_rb,0.75371e-01_rb,0.45540e-01_rb /) kbo(:, 3,54,10) = (/ & & 0.75035e-03_rb,0.64217e-01_rb,0.88252e-01_rb,0.93648e-01_rb,0.58325e-01_rb /) kbo(:, 4,54,10) = (/ & & 0.10628e-02_rb,0.80385e-01_rb,0.10853e+00_rb,0.11313e+00_rb,0.72201e-01_rb /) kbo(:, 5,54,10) = (/ & & 0.15600e-02_rb,0.97867e-01_rb,0.12933e+00_rb,0.13384e+00_rb,0.87138e-01_rb /) kbo(:, 1,55,10) = (/ & & 0.34930e-03_rb,0.32793e-01_rb,0.46881e-01_rb,0.52981e-01_rb,0.30517e-01_rb /) kbo(:, 2,55,10) = (/ & & 0.45330e-03_rb,0.45087e-01_rb,0.63469e-01_rb,0.69744e-01_rb,0.41669e-01_rb /) kbo(:, 3,55,10) = (/ & & 0.61016e-03_rb,0.59300e-01_rb,0.81969e-01_rb,0.87622e-01_rb,0.54097e-01_rb /) kbo(:, 4,55,10) = (/ & & 0.87186e-03_rb,0.75017e-01_rb,0.10190e+00_rb,0.10674e+00_rb,0.67613e-01_rb /) kbo(:, 5,55,10) = (/ & & 0.13255e-02_rb,0.92144e-01_rb,0.12263e+00_rb,0.12707e+00_rb,0.82251e-01_rb /) kbo(:, 1,56,10) = (/ & & 0.27869e-03_rb,0.29255e-01_rb,0.42021e-01_rb,0.47895e-01_rb,0.27250e-01_rb /) kbo(:, 2,56,10) = (/ & & 0.36450e-03_rb,0.40920e-01_rb,0.57903e-01_rb,0.64209e-01_rb,0.37931e-01_rb /) kbo(:, 3,56,10) = (/ & & 0.49136e-03_rb,0.54534e-01_rb,0.75862e-01_rb,0.81747e-01_rb,0.49990e-01_rb /) kbo(:, 4,56,10) = (/ & & 0.71172e-03_rb,0.69828e-01_rb,0.95390e-01_rb,0.10049e+00_rb,0.63168e-01_rb /) kbo(:, 5,56,10) = (/ & & 0.11017e-02_rb,0.86502e-01_rb,0.11594e+00_rb,0.12039e+00_rb,0.77442e-01_rb /) kbo(:, 1,57,10) = (/ & & 0.22107e-03_rb,0.25925e-01_rb,0.37436e-01_rb,0.42992e-01_rb,0.24134e-01_rb /) kbo(:, 2,57,10) = (/ & & 0.29170e-03_rb,0.36963e-01_rb,0.52553e-01_rb,0.58819e-01_rb,0.34341e-01_rb /) kbo(:, 3,57,10) = (/ & & 0.39477e-03_rb,0.49943e-01_rb,0.69900e-01_rb,0.76011e-01_rb,0.45979e-01_rb /) kbo(:, 4,57,10) = (/ & & 0.57598e-03_rb,0.64771e-01_rb,0.88986e-01_rb,0.94351e-01_rb,0.58814e-01_rb /) kbo(:, 5,57,10) = (/ & & 0.90995e-03_rb,0.80998e-01_rb,0.10929e+00_rb,0.11387e+00_rb,0.72731e-01_rb /) kbo(:, 1,58,10) = (/ & & 0.17561e-03_rb,0.22952e-01_rb,0.33334e-01_rb,0.38531e-01_rb,0.21328e-01_rb /) kbo(:, 2,58,10) = (/ & & 0.23328e-03_rb,0.33378e-01_rb,0.47700e-01_rb,0.53835e-01_rb,0.31067e-01_rb /) kbo(:, 3,58,10) = (/ & & 0.31697e-03_rb,0.45784e-01_rb,0.64416e-01_rb,0.70683e-01_rb,0.42303e-01_rb /) kbo(:, 4,58,10) = (/ & & 0.46537e-03_rb,0.60108e-01_rb,0.83029e-01_rb,0.88636e-01_rb,0.54797e-01_rb /) kbo(:, 5,58,10) = (/ & & 0.74786e-03_rb,0.75908e-01_rb,0.10302e+00_rb,0.10782e+00_rb,0.68377e-01_rb /) kbo(:, 1,59,10) = (/ & & 0.14648e-03_rb,0.21806e-01_rb,0.31752e-01_rb,0.36796e-01_rb,0.20240e-01_rb /) kbo(:, 2,59,10) = (/ & & 0.19618e-03_rb,0.31995e-01_rb,0.45805e-01_rb,0.51875e-01_rb,0.29797e-01_rb /) kbo(:, 3,59,10) = (/ & & 0.27063e-03_rb,0.44166e-01_rb,0.62268e-01_rb,0.68564e-01_rb,0.40859e-01_rb /) kbo(:, 4,59,10) = (/ & & 0.40629e-03_rb,0.58271e-01_rb,0.80681e-01_rb,0.86380e-01_rb,0.53223e-01_rb /) kbo(:, 5,59,10) = (/ & & 0.67143e-03_rb,0.73904e-01_rb,0.10053e+00_rb,0.10542e+00_rb,0.66665e-01_rb /) kbo(:, 1,13,11) = (/ & & 0.43607e+00_rb,0.62808e+00_rb,0.71724e+00_rb,0.73315e+00_rb,0.60101e+00_rb /) kbo(:, 2,13,11) = (/ & & 0.43332e+00_rb,0.62604e+00_rb,0.71980e+00_rb,0.74002e+00_rb,0.61186e+00_rb /) kbo(:, 3,13,11) = (/ & & 0.43924e+00_rb,0.62431e+00_rb,0.72116e+00_rb,0.74635e+00_rb,0.62343e+00_rb /) kbo(:, 4,13,11) = (/ & & 0.44984e+00_rb,0.62482e+00_rb,0.72168e+00_rb,0.75298e+00_rb,0.63261e+00_rb /) kbo(:, 5,13,11) = (/ & & 0.46047e+00_rb,0.63112e+00_rb,0.72222e+00_rb,0.75987e+00_rb,0.64021e+00_rb /) kbo(:, 1,14,11) = (/ & & 0.38105e+00_rb,0.57533e+00_rb,0.67001e+00_rb,0.68808e+00_rb,0.55899e+00_rb /) kbo(:, 2,14,11) = (/ & & 0.38509e+00_rb,0.57518e+00_rb,0.67285e+00_rb,0.69660e+00_rb,0.57227e+00_rb /) kbo(:, 3,14,11) = (/ & & 0.39449e+00_rb,0.57649e+00_rb,0.67532e+00_rb,0.70510e+00_rb,0.58361e+00_rb /) kbo(:, 4,14,11) = (/ & & 0.40382e+00_rb,0.58297e+00_rb,0.67784e+00_rb,0.71417e+00_rb,0.59305e+00_rb /) kbo(:, 5,14,11) = (/ & & 0.41367e+00_rb,0.59430e+00_rb,0.68136e+00_rb,0.72200e+00_rb,0.60202e+00_rb /) kbo(:, 1,15,11) = (/ & & 0.33634e+00_rb,0.52577e+00_rb,0.62172e+00_rb,0.64383e+00_rb,0.51752e+00_rb /) kbo(:, 2,15,11) = (/ & & 0.34434e+00_rb,0.52795e+00_rb,0.62601e+00_rb,0.65389e+00_rb,0.53138e+00_rb /) kbo(:, 3,15,11) = (/ & & 0.35278e+00_rb,0.53440e+00_rb,0.63064e+00_rb,0.66483e+00_rb,0.54288e+00_rb /) kbo(:, 4,15,11) = (/ & & 0.36194e+00_rb,0.54564e+00_rb,0.63643e+00_rb,0.67473e+00_rb,0.55371e+00_rb /) kbo(:, 5,15,11) = (/ & & 0.37392e+00_rb,0.55836e+00_rb,0.64562e+00_rb,0.68317e+00_rb,0.56497e+00_rb /) kbo(:, 1,16,11) = (/ & & 0.29938e+00_rb,0.48063e+00_rb,0.57442e+00_rb,0.60090e+00_rb,0.47563e+00_rb /) kbo(:, 2,16,11) = (/ & & 0.30677e+00_rb,0.48684e+00_rb,0.58100e+00_rb,0.61362e+00_rb,0.49008e+00_rb /) kbo(:, 3,16,11) = (/ & & 0.31495e+00_rb,0.49797e+00_rb,0.58852e+00_rb,0.62578e+00_rb,0.50309e+00_rb /) kbo(:, 4,16,11) = (/ & & 0.32635e+00_rb,0.51101e+00_rb,0.59933e+00_rb,0.63613e+00_rb,0.51641e+00_rb /) kbo(:, 5,16,11) = (/ & & 0.34098e+00_rb,0.52383e+00_rb,0.61318e+00_rb,0.64534e+00_rb,0.52976e+00_rb /) kbo(:, 1,17,11) = (/ & & 0.26573e+00_rb,0.44123e+00_rb,0.53003e+00_rb,0.56054e+00_rb,0.43533e+00_rb /) kbo(:, 2,17,11) = (/ & & 0.27295e+00_rb,0.45155e+00_rb,0.53872e+00_rb,0.57479e+00_rb,0.45023e+00_rb /) kbo(:, 3,17,11) = (/ & & 0.28334e+00_rb,0.46499e+00_rb,0.55060e+00_rb,0.58775e+00_rb,0.46535e+00_rb /) kbo(:, 4,17,11) = (/ & & 0.29718e+00_rb,0.47854e+00_rb,0.56610e+00_rb,0.59925e+00_rb,0.48105e+00_rb /) kbo(:, 5,17,11) = (/ & & 0.31347e+00_rb,0.49215e+00_rb,0.58364e+00_rb,0.61031e+00_rb,0.49645e+00_rb /) kbo(:, 1,18,11) = (/ & & 0.23548e+00_rb,0.40722e+00_rb,0.48899e+00_rb,0.52175e+00_rb,0.39754e+00_rb /) kbo(:, 2,18,11) = (/ & & 0.24465e+00_rb,0.42091e+00_rb,0.50155e+00_rb,0.53754e+00_rb,0.41400e+00_rb /) kbo(:, 3,18,11) = (/ & & 0.25717e+00_rb,0.43494e+00_rb,0.51756e+00_rb,0.55168e+00_rb,0.43132e+00_rb /) kbo(:, 4,18,11) = (/ & & 0.27241e+00_rb,0.44915e+00_rb,0.53619e+00_rb,0.56524e+00_rb,0.44875e+00_rb /) kbo(:, 5,18,11) = (/ & & 0.28792e+00_rb,0.46398e+00_rb,0.55551e+00_rb,0.57930e+00_rb,0.46590e+00_rb /) kbo(:, 1,19,11) = (/ & & 0.20944e+00_rb,0.37826e+00_rb,0.45234e+00_rb,0.48406e+00_rb,0.36392e+00_rb /) kbo(:, 2,19,11) = (/ & & 0.22089e+00_rb,0.39288e+00_rb,0.46903e+00_rb,0.50178e+00_rb,0.38211e+00_rb /) kbo(:, 3,19,11) = (/ & & 0.23514e+00_rb,0.40761e+00_rb,0.48827e+00_rb,0.51821e+00_rb,0.40103e+00_rb /) kbo(:, 4,19,11) = (/ & & 0.24973e+00_rb,0.42303e+00_rb,0.50894e+00_rb,0.53472e+00_rb,0.42003e+00_rb /) kbo(:, 5,19,11) = (/ & & 0.26400e+00_rb,0.44033e+00_rb,0.52950e+00_rb,0.55236e+00_rb,0.43892e+00_rb /) kbo(:, 1,20,11) = (/ & & 0.18773e+00_rb,0.35288e+00_rb,0.42094e+00_rb,0.44918e+00_rb,0.33536e+00_rb /) kbo(:, 2,20,11) = (/ & & 0.20090e+00_rb,0.36792e+00_rb,0.44069e+00_rb,0.46887e+00_rb,0.35493e+00_rb /) kbo(:, 3,20,11) = (/ & & 0.21482e+00_rb,0.38362e+00_rb,0.46266e+00_rb,0.48831e+00_rb,0.37530e+00_rb /) kbo(:, 4,20,11) = (/ & & 0.22865e+00_rb,0.40117e+00_rb,0.48452e+00_rb,0.50881e+00_rb,0.39557e+00_rb /) kbo(:, 5,20,11) = (/ & & 0.24234e+00_rb,0.42087e+00_rb,0.50657e+00_rb,0.53012e+00_rb,0.41595e+00_rb /) kbo(:, 1,21,11) = (/ & & 0.16913e+00_rb,0.33019e+00_rb,0.39388e+00_rb,0.41795e+00_rb,0.31127e+00_rb /) kbo(:, 2,21,11) = (/ & & 0.18253e+00_rb,0.34600e+00_rb,0.41645e+00_rb,0.43947e+00_rb,0.33210e+00_rb /) kbo(:, 3,21,11) = (/ & & 0.19592e+00_rb,0.36350e+00_rb,0.43977e+00_rb,0.46279e+00_rb,0.35347e+00_rb /) kbo(:, 4,21,11) = (/ & & 0.20921e+00_rb,0.38317e+00_rb,0.46337e+00_rb,0.48719e+00_rb,0.37483e+00_rb /) kbo(:, 5,21,11) = (/ & & 0.22258e+00_rb,0.40476e+00_rb,0.48708e+00_rb,0.51206e+00_rb,0.39691e+00_rb /) kbo(:, 1,22,11) = (/ & & 0.15329e+00_rb,0.31121e+00_rb,0.37219e+00_rb,0.39211e+00_rb,0.29266e+00_rb /) kbo(:, 2,22,11) = (/ & & 0.16615e+00_rb,0.32878e+00_rb,0.39682e+00_rb,0.41672e+00_rb,0.31445e+00_rb /) kbo(:, 3,22,11) = (/ & & 0.17924e+00_rb,0.34835e+00_rb,0.42167e+00_rb,0.44342e+00_rb,0.33660e+00_rb /) kbo(:, 4,22,11) = (/ & & 0.19225e+00_rb,0.36990e+00_rb,0.44699e+00_rb,0.47133e+00_rb,0.35944e+00_rb /) kbo(:, 5,22,11) = (/ & & 0.20541e+00_rb,0.39323e+00_rb,0.47271e+00_rb,0.49943e+00_rb,0.38308e+00_rb /) kbo(:, 1,23,11) = (/ & & 0.13887e+00_rb,0.29534e+00_rb,0.35451e+00_rb,0.37144e+00_rb,0.27763e+00_rb /) kbo(:, 2,23,11) = (/ & & 0.15131e+00_rb,0.31502e+00_rb,0.38068e+00_rb,0.39927e+00_rb,0.30013e+00_rb /) kbo(:, 3,23,11) = (/ & & 0.16398e+00_rb,0.33651e+00_rb,0.40726e+00_rb,0.42913e+00_rb,0.32331e+00_rb /) kbo(:, 4,23,11) = (/ & & 0.17699e+00_rb,0.35967e+00_rb,0.43436e+00_rb,0.45990e+00_rb,0.34758e+00_rb /) kbo(:, 5,23,11) = (/ & & 0.19026e+00_rb,0.38467e+00_rb,0.46223e+00_rb,0.49074e+00_rb,0.37282e+00_rb /) kbo(:, 1,24,11) = (/ & & 0.12585e+00_rb,0.28281e+00_rb,0.34015e+00_rb,0.35619e+00_rb,0.26580e+00_rb /) kbo(:, 2,24,11) = (/ & & 0.13791e+00_rb,0.30436e+00_rb,0.36812e+00_rb,0.38675e+00_rb,0.28903e+00_rb /) kbo(:, 3,24,11) = (/ & & 0.15049e+00_rb,0.32769e+00_rb,0.39648e+00_rb,0.41925e+00_rb,0.31342e+00_rb /) kbo(:, 4,24,11) = (/ & & 0.16367e+00_rb,0.35256e+00_rb,0.42575e+00_rb,0.45270e+00_rb,0.33923e+00_rb /) kbo(:, 5,24,11) = (/ & & 0.17705e+00_rb,0.37855e+00_rb,0.45558e+00_rb,0.48562e+00_rb,0.36598e+00_rb /) kbo(:, 1,25,11) = (/ & & 0.11440e+00_rb,0.27340e+00_rb,0.32939e+00_rb,0.34570e+00_rb,0.25676e+00_rb /) kbo(:, 2,25,11) = (/ & & 0.12619e+00_rb,0.29667e+00_rb,0.35918e+00_rb,0.37882e+00_rb,0.28103e+00_rb /) kbo(:, 3,25,11) = (/ & & 0.13880e+00_rb,0.32182e+00_rb,0.38965e+00_rb,0.41370e+00_rb,0.30678e+00_rb /) kbo(:, 4,25,11) = (/ & & 0.15209e+00_rb,0.34806e+00_rb,0.42076e+00_rb,0.44907e+00_rb,0.33404e+00_rb /) kbo(:, 5,25,11) = (/ & & 0.16564e+00_rb,0.37478e+00_rb,0.45238e+00_rb,0.48364e+00_rb,0.36209e+00_rb /) kbo(:, 1,26,11) = (/ & & 0.10459e+00_rb,0.26698e+00_rb,0.32246e+00_rb,0.33976e+00_rb,0.25076e+00_rb /) kbo(:, 2,26,11) = (/ & & 0.11626e+00_rb,0.29209e+00_rb,0.35422e+00_rb,0.37512e+00_rb,0.27618e+00_rb /) kbo(:, 3,26,11) = (/ & & 0.12895e+00_rb,0.31885e+00_rb,0.38669e+00_rb,0.41203e+00_rb,0.30332e+00_rb /) kbo(:, 4,26,11) = (/ & & 0.14230e+00_rb,0.34607e+00_rb,0.41933e+00_rb,0.44889e+00_rb,0.33190e+00_rb /) kbo(:, 5,26,11) = (/ & & 0.15605e+00_rb,0.37346e+00_rb,0.45243e+00_rb,0.48462e+00_rb,0.36103e+00_rb /) kbo(:, 1,27,11) = (/ & & 0.96118e-01_rb,0.26319e+00_rb,0.31888e+00_rb,0.33748e+00_rb,0.24718e+00_rb /) kbo(:, 2,27,11) = (/ & & 0.10777e+00_rb,0.29006e+00_rb,0.35247e+00_rb,0.37471e+00_rb,0.27379e+00_rb /) kbo(:, 3,27,11) = (/ & & 0.12054e+00_rb,0.31789e+00_rb,0.38657e+00_rb,0.41315e+00_rb,0.30239e+00_rb /) kbo(:, 4,27,11) = (/ & & 0.13403e+00_rb,0.34597e+00_rb,0.42050e+00_rb,0.45108e+00_rb,0.33196e+00_rb /) kbo(:, 5,27,11) = (/ & & 0.14803e+00_rb,0.37409e+00_rb,0.45469e+00_rb,0.48753e+00_rb,0.36202e+00_rb /) kbo(:, 1,28,11) = (/ & & 0.88934e-01_rb,0.26189e+00_rb,0.31824e+00_rb,0.33815e+00_rb,0.24575e+00_rb /) kbo(:, 2,28,11) = (/ & & 0.10066e+00_rb,0.29004e+00_rb,0.35339e+00_rb,0.37699e+00_rb,0.27368e+00_rb /) kbo(:, 3,28,11) = (/ & & 0.11346e+00_rb,0.31878e+00_rb,0.38868e+00_rb,0.41646e+00_rb,0.30334e+00_rb /) kbo(:, 4,28,11) = (/ & & 0.12719e+00_rb,0.34746e+00_rb,0.42368e+00_rb,0.45510e+00_rb,0.33384e+00_rb /) kbo(:, 5,28,11) = (/ & & 0.14149e+00_rb,0.37622e+00_rb,0.45856e+00_rb,0.49189e+00_rb,0.36458e+00_rb /) kbo(:, 1,29,11) = (/ & & 0.82953e-01_rb,0.26276e+00_rb,0.32032e+00_rb,0.34153e+00_rb,0.24649e+00_rb /) kbo(:, 2,29,11) = (/ & & 0.94812e-01_rb,0.29186e+00_rb,0.35678e+00_rb,0.38153e+00_rb,0.27563e+00_rb /) kbo(:, 3,29,11) = (/ & & 0.10778e+00_rb,0.32138e+00_rb,0.39278e+00_rb,0.42163e+00_rb,0.30623e+00_rb /) kbo(:, 4,29,11) = (/ & & 0.12182e+00_rb,0.35053e+00_rb,0.42853e+00_rb,0.46064e+00_rb,0.33743e+00_rb /) kbo(:, 5,29,11) = (/ & & 0.13655e+00_rb,0.37990e+00_rb,0.46387e+00_rb,0.49754e+00_rb,0.36866e+00_rb /) kbo(:, 1,30,11) = (/ & & 0.78111e-01_rb,0.26530e+00_rb,0.32451e+00_rb,0.34680e+00_rb,0.24893e+00_rb /) kbo(:, 2,30,11) = (/ & & 0.90075e-01_rb,0.29517e+00_rb,0.36183e+00_rb,0.38763e+00_rb,0.27915e+00_rb /) kbo(:, 3,30,11) = (/ & & 0.10336e+00_rb,0.32522e+00_rb,0.39838e+00_rb,0.42809e+00_rb,0.31046e+00_rb /) kbo(:, 4,30,11) = (/ & & 0.11787e+00_rb,0.35483e+00_rb,0.43455e+00_rb,0.46718e+00_rb,0.34218e+00_rb /) kbo(:, 5,30,11) = (/ & & 0.13307e+00_rb,0.38452e+00_rb,0.47003e+00_rb,0.50395e+00_rb,0.37368e+00_rb /) kbo(:, 1,31,11) = (/ & & 0.74235e-01_rb,0.26927e+00_rb,0.33033e+00_rb,0.35368e+00_rb,0.25294e+00_rb /) kbo(:, 2,31,11) = (/ & & 0.86475e-01_rb,0.29980e+00_rb,0.36814e+00_rb,0.39505e+00_rb,0.28398e+00_rb /) kbo(:, 3,31,11) = (/ & & 0.10025e+00_rb,0.33020e+00_rb,0.40500e+00_rb,0.43563e+00_rb,0.31586e+00_rb /) kbo(:, 4,31,11) = (/ & & 0.11530e+00_rb,0.36008e+00_rb,0.44151e+00_rb,0.47461e+00_rb,0.34790e+00_rb /) kbo(:, 5,31,11) = (/ & & 0.13103e+00_rb,0.38989e+00_rb,0.47695e+00_rb,0.51108e+00_rb,0.37953e+00_rb /) kbo(:, 1,32,11) = (/ & & 0.71362e-01_rb,0.27445e+00_rb,0.33748e+00_rb,0.36171e+00_rb,0.25820e+00_rb /) kbo(:, 2,32,11) = (/ & & 0.84060e-01_rb,0.30547e+00_rb,0.37545e+00_rb,0.40335e+00_rb,0.28988e+00_rb /) kbo(:, 3,32,11) = (/ & & 0.98456e-01_rb,0.33600e+00_rb,0.41253e+00_rb,0.44393e+00_rb,0.32217e+00_rb /) kbo(:, 4,32,11) = (/ & & 0.11408e+00_rb,0.36612e+00_rb,0.44914e+00_rb,0.48266e+00_rb,0.35443e+00_rb /) kbo(:, 5,32,11) = (/ & & 0.13035e+00_rb,0.39590e+00_rb,0.48448e+00_rb,0.51873e+00_rb,0.38602e+00_rb /) kbo(:, 1,33,11) = (/ & & 0.69437e-01_rb,0.28056e+00_rb,0.34548e+00_rb,0.37055e+00_rb,0.26439e+00_rb /) kbo(:, 2,33,11) = (/ & & 0.82778e-01_rb,0.31179e+00_rb,0.38345e+00_rb,0.41222e+00_rb,0.29653e+00_rb /) kbo(:, 3,33,11) = (/ & & 0.97818e-01_rb,0.34234e+00_rb,0.42058e+00_rb,0.45271e+00_rb,0.32902e+00_rb /) kbo(:, 4,33,11) = (/ & & 0.11406e+00_rb,0.37264e+00_rb,0.45719e+00_rb,0.49102e+00_rb,0.36138e+00_rb /) kbo(:, 5,33,11) = (/ & & 0.13083e+00_rb,0.40228e+00_rb,0.49234e+00_rb,0.52669e+00_rb,0.39293e+00_rb /) kbo(:, 1,34,11) = (/ & & 0.68001e-01_rb,0.28611e+00_rb,0.35258e+00_rb,0.37843e+00_rb,0.27007e+00_rb /) kbo(:, 2,34,11) = (/ & & 0.82015e-01_rb,0.31742e+00_rb,0.39059e+00_rb,0.42007e+00_rb,0.30253e+00_rb /) kbo(:, 3,34,11) = (/ & & 0.97684e-01_rb,0.34800e+00_rb,0.42777e+00_rb,0.46038e+00_rb,0.33518e+00_rb /) kbo(:, 4,34,11) = (/ & & 0.11453e+00_rb,0.37836e+00_rb,0.46423e+00_rb,0.49832e+00_rb,0.36754e+00_rb /) kbo(:, 5,34,11) = (/ & & 0.13165e+00_rb,0.40799e+00_rb,0.49927e+00_rb,0.53358e+00_rb,0.39902e+00_rb /) kbo(:, 1,35,11) = (/ & & 0.66173e-01_rb,0.28901e+00_rb,0.35634e+00_rb,0.38261e+00_rb,0.27305e+00_rb /) kbo(:, 2,35,11) = (/ & & 0.80679e-01_rb,0.32036e+00_rb,0.39443e+00_rb,0.42428e+00_rb,0.30572e+00_rb /) kbo(:, 3,35,11) = (/ & & 0.96839e-01_rb,0.35097e+00_rb,0.43164e+00_rb,0.46448e+00_rb,0.33845e+00_rb /) kbo(:, 4,35,11) = (/ & & 0.11412e+00_rb,0.38139e+00_rb,0.46804e+00_rb,0.50225e+00_rb,0.37079e+00_rb /) kbo(:, 5,35,11) = (/ & & 0.13154e+00_rb,0.41104e+00_rb,0.50302e+00_rb,0.53730e+00_rb,0.40230e+00_rb /) kbo(:, 1,36,11) = (/ & & 0.63512e-01_rb,0.28876e+00_rb,0.35615e+00_rb,0.38246e+00_rb,0.27277e+00_rb /) kbo(:, 2,36,11) = (/ & & 0.78322e-01_rb,0.32017e+00_rb,0.39440e+00_rb,0.42423e+00_rb,0.30554e+00_rb /) kbo(:, 3,36,11) = (/ & & 0.94792e-01_rb,0.35084e+00_rb,0.43169e+00_rb,0.46451e+00_rb,0.33835e+00_rb /) kbo(:, 4,36,11) = (/ & & 0.11239e+00_rb,0.38129e+00_rb,0.46814e+00_rb,0.50234e+00_rb,0.37075e+00_rb /) kbo(:, 5,36,11) = (/ & & 0.13007e+00_rb,0.41105e+00_rb,0.50318e+00_rb,0.53745e+00_rb,0.40235e+00_rb /) kbo(:, 1,37,11) = (/ & & 0.59276e-01_rb,0.28388e+00_rb,0.35018e+00_rb,0.37605e+00_rb,0.26777e+00_rb /) kbo(:, 2,37,11) = (/ & & 0.74070e-01_rb,0.31543e+00_rb,0.38877e+00_rb,0.41809e+00_rb,0.30055e+00_rb /) kbo(:, 3,37,11) = (/ & & 0.90621e-01_rb,0.34621e+00_rb,0.42622e+00_rb,0.45870e+00_rb,0.33345e+00_rb /) kbo(:, 4,37,11) = (/ & & 0.10838e+00_rb,0.37677e+00_rb,0.46291e+00_rb,0.49695e+00_rb,0.36598e+00_rb /) kbo(:, 5,37,11) = (/ & & 0.12629e+00_rb,0.40664e+00_rb,0.49817e+00_rb,0.53255e+00_rb,0.39771e+00_rb /) kbo(:, 1,38,11) = (/ & & 0.55352e-01_rb,0.27885e+00_rb,0.34399e+00_rb,0.36943e+00_rb,0.26263e+00_rb /) kbo(:, 2,38,11) = (/ & & 0.70099e-01_rb,0.31053e+00_rb,0.38289e+00_rb,0.41165e+00_rb,0.29537e+00_rb /) kbo(:, 3,38,11) = (/ & & 0.86674e-01_rb,0.34144e+00_rb,0.42052e+00_rb,0.45261e+00_rb,0.32834e+00_rb /) kbo(:, 4,38,11) = (/ & & 0.10451e+00_rb,0.37207e+00_rb,0.45745e+00_rb,0.49130e+00_rb,0.36103e+00_rb /) kbo(:, 5,38,11) = (/ & & 0.12261e+00_rb,0.40208e+00_rb,0.49291e+00_rb,0.52735e+00_rb,0.39288e+00_rb /) kbo(:, 1,39,11) = (/ & & 0.51830e-01_rb,0.27388e+00_rb,0.33795e+00_rb,0.36294e+00_rb,0.25765e+00_rb /) kbo(:, 2,39,11) = (/ & & 0.66473e-01_rb,0.30570e+00_rb,0.37709e+00_rb,0.40534e+00_rb,0.29029e+00_rb /) kbo(:, 3,39,11) = (/ & & 0.83032e-01_rb,0.33678e+00_rb,0.41490e+00_rb,0.44656e+00_rb,0.32332e+00_rb /) kbo(:, 4,39,11) = (/ & & 0.10089e+00_rb,0.36746e+00_rb,0.45203e+00_rb,0.48569e+00_rb,0.35615e+00_rb /) kbo(:, 5,39,11) = (/ & & 0.11914e+00_rb,0.39759e+00_rb,0.48773e+00_rb,0.52218e+00_rb,0.38813e+00_rb /) kbo(:, 1,40,11) = (/ & & 0.47273e-01_rb,0.26566e+00_rb,0.32789e+00_rb,0.35219e+00_rb,0.24948e+00_rb /) kbo(:, 2,40,11) = (/ & & 0.61538e-01_rb,0.29768e+00_rb,0.36730e+00_rb,0.39473e+00_rb,0.28193e+00_rb /) kbo(:, 3,40,11) = (/ & & 0.77858e-01_rb,0.32903e+00_rb,0.40551e+00_rb,0.43635e+00_rb,0.31499e+00_rb /) kbo(:, 4,40,11) = (/ & & 0.95580e-01_rb,0.35975e+00_rb,0.44288e+00_rb,0.47617e+00_rb,0.34794e+00_rb /) kbo(:, 5,40,11) = (/ & & 0.11394e+00_rb,0.39008e+00_rb,0.47900e+00_rb,0.51333e+00_rb,0.38020e+00_rb /) kbo(:, 1,41,11) = (/ & & 0.42888e-01_rb,0.25708e+00_rb,0.31732e+00_rb,0.34096e+00_rb,0.24098e+00_rb /) kbo(:, 2,41,11) = (/ & & 0.56697e-01_rb,0.28927e+00_rb,0.35696e+00_rb,0.38355e+00_rb,0.27327e+00_rb /) kbo(:, 3,41,11) = (/ & & 0.72702e-01_rb,0.32083e+00_rb,0.39561e+00_rb,0.42555e+00_rb,0.30626e+00_rb /) kbo(:, 4,41,11) = (/ & & 0.90227e-01_rb,0.35164e+00_rb,0.43315e+00_rb,0.46599e+00_rb,0.33930e+00_rb /) kbo(:, 5,41,11) = (/ & & 0.10861e+00_rb,0.38219e+00_rb,0.46971e+00_rb,0.50385e+00_rb,0.37183e+00_rb /) kbo(:, 1,42,11) = (/ & & 0.38819e-01_rb,0.24850e+00_rb,0.30677e+00_rb,0.32968e+00_rb,0.23256e+00_rb /) kbo(:, 2,42,11) = (/ & & 0.52147e-01_rb,0.28080e+00_rb,0.34660e+00_rb,0.37239e+00_rb,0.26466e+00_rb /) kbo(:, 3,42,11) = (/ & & 0.67768e-01_rb,0.31263e+00_rb,0.38564e+00_rb,0.41466e+00_rb,0.29758e+00_rb /) kbo(:, 4,42,11) = (/ & & 0.85041e-01_rb,0.34356e+00_rb,0.42336e+00_rb,0.45563e+00_rb,0.33065e+00_rb /) kbo(:, 5,42,11) = (/ & & 0.10335e+00_rb,0.37426e+00_rb,0.46032e+00_rb,0.49419e+00_rb,0.36339e+00_rb /) kbo(:, 1,43,11) = (/ & & 0.34406e-01_rb,0.23801e+00_rb,0.29406e+00_rb,0.31601e+00_rb,0.22240e+00_rb /) kbo(:, 2,43,11) = (/ & & 0.47048e-01_rb,0.27050e+00_rb,0.33401e+00_rb,0.35883e+00_rb,0.25435e+00_rb /) kbo(:, 3,43,11) = (/ & & 0.62114e-01_rb,0.30257e+00_rb,0.37337e+00_rb,0.40135e+00_rb,0.28701e+00_rb /) kbo(:, 4,43,11) = (/ & & 0.79018e-01_rb,0.33381e+00_rb,0.41146e+00_rb,0.44285e+00_rb,0.32012e+00_rb /) kbo(:, 5,43,11) = (/ & & 0.97123e-01_rb,0.36459e+00_rb,0.44877e+00_rb,0.48229e+00_rb,0.35311e+00_rb /) kbo(:, 1,44,11) = (/ & & 0.30068e-01_rb,0.22661e+00_rb,0.28047e+00_rb,0.30141e+00_rb,0.21157e+00_rb /) kbo(:, 2,44,11) = (/ & & 0.41934e-01_rb,0.25939e+00_rb,0.32031e+00_rb,0.34420e+00_rb,0.24331e+00_rb /) kbo(:, 3,44,11) = (/ & & 0.56334e-01_rb,0.29165e+00_rb,0.35997e+00_rb,0.38686e+00_rb,0.27569e+00_rb /) kbo(:, 4,44,11) = (/ & & 0.72738e-01_rb,0.32319e+00_rb,0.39860e+00_rb,0.42881e+00_rb,0.30880e+00_rb /) kbo(:, 5,44,11) = (/ & & 0.90538e-01_rb,0.35407e+00_rb,0.43616e+00_rb,0.46913e+00_rb,0.34187e+00_rb /) kbo(:, 1,45,11) = (/ & & 0.26090e-01_rb,0.21511e+00_rb,0.26705e+00_rb,0.28701e+00_rb,0.20089e+00_rb /) kbo(:, 2,45,11) = (/ & & 0.37182e-01_rb,0.24828e+00_rb,0.30662e+00_rb,0.32954e+00_rb,0.23239e+00_rb /) kbo(:, 3,45,11) = (/ & & 0.50828e-01_rb,0.28069e+00_rb,0.34649e+00_rb,0.37235e+00_rb,0.26452e+00_rb /) kbo(:, 4,45,11) = (/ & & 0.66683e-01_rb,0.31254e+00_rb,0.38562e+00_rb,0.41465e+00_rb,0.29751e+00_rb /) kbo(:, 5,45,11) = (/ & & 0.84110e-01_rb,0.34354e+00_rb,0.42341e+00_rb,0.45565e+00_rb,0.33061e+00_rb /) kbo(:, 1,46,11) = (/ & & 0.22282e-01_rb,0.20276e+00_rb,0.25300e+00_rb,0.27194e+00_rb,0.18966e+00_rb /) kbo(:, 2,46,11) = (/ & & 0.32494e-01_rb,0.23634e+00_rb,0.29212e+00_rb,0.31397e+00_rb,0.22083e+00_rb /) kbo(:, 3,46,11) = (/ & & 0.45322e-01_rb,0.26893e+00_rb,0.33209e+00_rb,0.35685e+00_rb,0.25276e+00_rb /) kbo(:, 4,46,11) = (/ & & 0.60492e-01_rb,0.30105e+00_rb,0.37160e+00_rb,0.39945e+00_rb,0.28546e+00_rb /) kbo(:, 5,46,11) = (/ & & 0.77449e-01_rb,0.33241e+00_rb,0.40979e+00_rb,0.44100e+00_rb,0.31859e+00_rb /) kbo(:, 1,47,11) = (/ & & 0.18534e-01_rb,0.18898e+00_rb,0.23758e+00_rb,0.25552e+00_rb,0.17724e+00_rb /) kbo(:, 2,47,11) = (/ & & 0.27732e-01_rb,0.22283e+00_rb,0.27608e+00_rb,0.29673e+00_rb,0.20806e+00_rb /) kbo(:, 3,47,11) = (/ & & 0.39604e-01_rb,0.25581e+00_rb,0.31589e+00_rb,0.33953e+00_rb,0.23975e+00_rb /) kbo(:, 4,47,11) = (/ & & 0.53911e-01_rb,0.28814e+00_rb,0.35568e+00_rb,0.38226e+00_rb,0.27210e+00_rb /) kbo(:, 5,47,11) = (/ & & 0.70242e-01_rb,0.31982e+00_rb,0.39452e+00_rb,0.42435e+00_rb,0.30521e+00_rb /) kbo(:, 1,48,11) = (/ & & 0.15230e-01_rb,0.17512e+00_rb,0.22238e+00_rb,0.23953e+00_rb,0.16496e+00_rb /) kbo(:, 2,48,11) = (/ & & 0.23424e-01_rb,0.20917e+00_rb,0.26028e+00_rb,0.27977e+00_rb,0.19549e+00_rb /) kbo(:, 3,48,11) = (/ & & 0.34289e-01_rb,0.24261e+00_rb,0.29967e+00_rb,0.32213e+00_rb,0.22686e+00_rb /) kbo(:, 4,48,11) = (/ & & 0.47677e-01_rb,0.27510e+00_rb,0.33967e+00_rb,0.36502e+00_rb,0.25892e+00_rb /) kbo(:, 5,48,11) = (/ & & 0.63303e-01_rb,0.30711e+00_rb,0.37902e+00_rb,0.40749e+00_rb,0.29180e+00_rb /) kbo(:, 1,49,11) = (/ & & 0.12348e-01_rb,0.16145e+00_rb,0.20748e+00_rb,0.22396e+00_rb,0.15290e+00_rb /) kbo(:, 2,49,11) = (/ & & 0.19656e-01_rb,0.19547e+00_rb,0.24481e+00_rb,0.26319e+00_rb,0.18304e+00_rb /) kbo(:, 3,49,11) = (/ & & 0.29411e-01_rb,0.22922e+00_rb,0.28358e+00_rb,0.30484e+00_rb,0.21403e+00_rb /) kbo(:, 4,49,11) = (/ & & 0.41852e-01_rb,0.26199e+00_rb,0.32356e+00_rb,0.34774e+00_rb,0.24589e+00_rb /) kbo(:, 5,49,11) = (/ & & 0.56641e-01_rb,0.29425e+00_rb,0.36325e+00_rb,0.39043e+00_rb,0.27839e+00_rb /) kbo(:, 1,50,11) = (/ & & 0.10059e-01_rb,0.14901e+00_rb,0.19385e+00_rb,0.20977e+00_rb,0.14182e+00_rb /) kbo(:, 2,50,11) = (/ & & 0.16439e-01_rb,0.18255e+00_rb,0.23049e+00_rb,0.24806e+00_rb,0.17150e+00_rb /) kbo(:, 3,50,11) = (/ & & 0.25328e-01_rb,0.21656e+00_rb,0.26875e+00_rb,0.28888e+00_rb,0.20219e+00_rb /) kbo(:, 4,50,11) = (/ & & 0.36730e-01_rb,0.24971e+00_rb,0.30839e+00_rb,0.33151e+00_rb,0.23378e+00_rb /) kbo(:, 5,50,11) = (/ & & 0.50682e-01_rb,0.28213e+00_rb,0.34832e+00_rb,0.37432e+00_rb,0.26599e+00_rb /) kbo(:, 1,51,11) = (/ & & 0.81000e-02_rb,0.13718e+00_rb,0.18086e+00_rb,0.19633e+00_rb,0.13125e+00_rb /) kbo(:, 2,51,11) = (/ & & 0.13663e-01_rb,0.17002e+00_rb,0.21682e+00_rb,0.23372e+00_rb,0.16044e+00_rb /) kbo(:, 3,51,11) = (/ & & 0.21646e-01_rb,0.20410e+00_rb,0.25452e+00_rb,0.27362e+00_rb,0.19085e+00_rb /) kbo(:, 4,51,11) = (/ & & 0.32117e-01_rb,0.23766e+00_rb,0.29370e+00_rb,0.31573e+00_rb,0.22210e+00_rb /) kbo(:, 5,51,11) = (/ & & 0.45217e-01_rb,0.27026e+00_rb,0.33377e+00_rb,0.35865e+00_rb,0.25409e+00_rb /) kbo(:, 1,52,11) = (/ & & 0.64392e-02_rb,0.12568e+00_rb,0.16814e+00_rb,0.18321e+00_rb,0.12091e+00_rb /) kbo(:, 2,52,11) = (/ & & 0.11223e-01_rb,0.15773e+00_rb,0.20341e+00_rb,0.21973e+00_rb,0.14959e+00_rb /) kbo(:, 3,52,11) = (/ & & 0.18327e-01_rb,0.19165e+00_rb,0.24057e+00_rb,0.25870e+00_rb,0.17960e+00_rb /) kbo(:, 4,52,11) = (/ & & 0.27978e-01_rb,0.22553e+00_rb,0.27924e+00_rb,0.30015e+00_rb,0.21055e+00_rb /) kbo(:, 5,52,11) = (/ & & 0.40066e-01_rb,0.25840e+00_rb,0.31913e+00_rb,0.34300e+00_rb,0.24233e+00_rb /) kbo(:, 1,53,11) = (/ & & 0.50582e-02_rb,0.11452e+00_rb,0.15565e+00_rb,0.17040e+00_rb,0.11082e+00_rb /) kbo(:, 2,53,11) = (/ & & 0.90986e-02_rb,0.14571e+00_rb,0.19026e+00_rb,0.20608e+00_rb,0.13891e+00_rb /) kbo(:, 3,53,11) = (/ & & 0.15360e-01_rb,0.17911e+00_rb,0.22674e+00_rb,0.24415e+00_rb,0.16845e+00_rb /) kbo(:, 4,53,11) = (/ & & 0.24079e-01_rb,0.21320e+00_rb,0.26488e+00_rb,0.28473e+00_rb,0.19911e+00_rb /) kbo(:, 5,53,11) = (/ & & 0.35249e-01_rb,0.24647e+00_rb,0.30443e+00_rb,0.32725e+00_rb,0.23061e+00_rb /) kbo(:, 1,54,11) = (/ & & 0.39947e-02_rb,0.10467e+00_rb,0.14438e+00_rb,0.15895e+00_rb,0.10183e+00_rb /) kbo(:, 2,54,11) = (/ & & 0.74123e-02_rb,0.13495e+00_rb,0.17842e+00_rb,0.19384e+00_rb,0.12928e+00_rb /) kbo(:, 3,54,11) = (/ & & 0.12928e-01_rb,0.16768e+00_rb,0.21428e+00_rb,0.23108e+00_rb,0.15838e+00_rb /) kbo(:, 4,54,11) = (/ & & 0.20817e-01_rb,0.20178e+00_rb,0.25191e+00_rb,0.27082e+00_rb,0.18875e+00_rb /) kbo(:, 5,54,11) = (/ & & 0.31131e-01_rb,0.23540e+00_rb,0.29100e+00_rb,0.31283e+00_rb,0.21994e+00_rb /) kbo(:, 1,55,11) = (/ & & 0.31444e-02_rb,0.95645e-01_rb,0.13357e+00_rb,0.14821e+00_rb,0.93456e-01_rb /) kbo(:, 2,55,11) = (/ & & 0.60192e-02_rb,0.12488e+00_rb,0.16728e+00_rb,0.18235e+00_rb,0.12022e+00_rb /) kbo(:, 3,55,11) = (/ & & 0.10844e-01_rb,0.15692e+00_rb,0.20255e+00_rb,0.21884e+00_rb,0.14887e+00_rb /) kbo(:, 4,55,11) = (/ & & 0.17966e-01_rb,0.19085e+00_rb,0.23968e+00_rb,0.25776e+00_rb,0.17889e+00_rb /) kbo(:, 5,55,11) = (/ & & 0.27575e-01_rb,0.22475e+00_rb,0.27833e+00_rb,0.29920e+00_rb,0.20981e+00_rb /) kbo(:, 1,56,11) = (/ & & 0.24408e-02_rb,0.87042e-01_rb,0.12294e+00_rb,0.13774e+00_rb,0.85384e-01_rb /) kbo(:, 2,56,11) = (/ & & 0.48425e-02_rb,0.11512e+00_rb,0.15634e+00_rb,0.17115e+00_rb,0.11140e+00_rb /) kbo(:, 3,56,11) = (/ & & 0.90070e-02_rb,0.14641e+00_rb,0.19103e+00_rb,0.20689e+00_rb,0.13953e+00_rb /) kbo(:, 4,56,11) = (/ & & 0.15384e-01_rb,0.17987e+00_rb,0.22757e+00_rb,0.24502e+00_rb,0.16913e+00_rb /) kbo(:, 5,56,11) = (/ & & 0.24183e-01_rb,0.21396e+00_rb,0.26576e+00_rb,0.28569e+00_rb,0.19980e+00_rb /) kbo(:, 1,57,11) = (/ & & 0.18661e-02_rb,0.78869e-01_rb,0.11259e+00_rb,0.12744e+00_rb,0.77594e-01_rb /) kbo(:, 2,57,11) = (/ & & 0.38393e-02_rb,0.10567e+00_rb,0.14558e+00_rb,0.16018e+00_rb,0.10279e+00_rb /) kbo(:, 3,57,11) = (/ & & 0.73986e-02_rb,0.13611e+00_rb,0.17972e+00_rb,0.19518e+00_rb,0.13032e+00_rb /) kbo(:, 4,57,11) = (/ & & 0.13057e-01_rb,0.16895e+00_rb,0.21565e+00_rb,0.23253e+00_rb,0.15951e+00_rb /) kbo(:, 5,57,11) = (/ & & 0.21059e-01_rb,0.20305e+00_rb,0.25335e+00_rb,0.27238e+00_rb,0.18989e+00_rb /) kbo(:, 1,58,11) = (/ & & 0.14289e-02_rb,0.71481e-01_rb,0.10314e+00_rb,0.11789e+00_rb,0.70461e-01_rb /) kbo(:, 2,58,11) = (/ & & 0.30447e-02_rb,0.97100e-01_rb,0.13537e+00_rb,0.15001e+00_rb,0.94840e-01_rb /) kbo(:, 3,58,11) = (/ & & 0.60785e-02_rb,0.12656e+00_rb,0.16917e+00_rb,0.18428e+00_rb,0.12173e+00_rb /) kbo(:, 4,58,11) = (/ & & 0.11073e-01_rb,0.15875e+00_rb,0.20453e+00_rb,0.22090e+00_rb,0.15049e+00_rb /) kbo(:, 5,58,11) = (/ & & 0.18344e-01_rb,0.19271e+00_rb,0.24175e+00_rb,0.25997e+00_rb,0.18056e+00_rb /) kbo(:, 1,59,11) = (/ & & 0.12466e-02_rb,0.68608e-01_rb,0.99449e-01_rb,0.11409e+00_rb,0.67679e-01_rb /) kbo(:, 2,59,11) = (/ & & 0.27400e-02_rb,0.93756e-01_rb,0.13130e+00_rb,0.14598e+00_rb,0.91727e-01_rb /) kbo(:, 3,59,11) = (/ & & 0.55829e-02_rb,0.12280e+00_rb,0.16498e+00_rb,0.17997e+00_rb,0.11835e+00_rb /) kbo(:, 4,59,11) = (/ & & 0.10327e-01_rb,0.15471e+00_rb,0.20012e+00_rb,0.21632e+00_rb,0.14691e+00_rb /) kbo(:, 5,59,11) = (/ & & 0.17312e-01_rb,0.18856e+00_rb,0.23714e+00_rb,0.25511e+00_rb,0.17685e+00_rb /) kbo(:, 1,13,12) = (/ & & 0.97672e+00_rb,0.12351e+01_rb,0.13467e+01_rb,0.13355e+01_rb,0.11350e+01_rb /) kbo(:, 2,13,12) = (/ & & 0.96517e+00_rb,0.12326e+01_rb,0.13523e+01_rb,0.13488e+01_rb,0.11500e+01_rb /) kbo(:, 3,13,12) = (/ & & 0.95359e+00_rb,0.12308e+01_rb,0.13576e+01_rb,0.13588e+01_rb,0.11629e+01_rb /) kbo(:, 4,13,12) = (/ & & 0.94644e+00_rb,0.12294e+01_rb,0.13618e+01_rb,0.13660e+01_rb,0.11761e+01_rb /) kbo(:, 5,13,12) = (/ & & 0.94938e+00_rb,0.12277e+01_rb,0.13647e+01_rb,0.13713e+01_rb,0.11895e+01_rb /) kbo(:, 1,14,12) = (/ & & 0.86287e+00_rb,0.11528e+01_rb,0.12800e+01_rb,0.12931e+01_rb,0.10793e+01_rb /) kbo(:, 2,14,12) = (/ & & 0.85328e+00_rb,0.11519e+01_rb,0.12878e+01_rb,0.13082e+01_rb,0.10960e+01_rb /) kbo(:, 3,14,12) = (/ & & 0.84776e+00_rb,0.11522e+01_rb,0.12944e+01_rb,0.13193e+01_rb,0.11122e+01_rb /) kbo(:, 4,14,12) = (/ & & 0.85264e+00_rb,0.11532e+01_rb,0.12995e+01_rb,0.13287e+01_rb,0.11288e+01_rb /) kbo(:, 5,14,12) = (/ & & 0.86761e+00_rb,0.11556e+01_rb,0.13039e+01_rb,0.13378e+01_rb,0.11458e+01_rb /) kbo(:, 1,15,12) = (/ & & 0.75595e+00_rb,0.10736e+01_rb,0.12146e+01_rb,0.12437e+01_rb,0.10230e+01_rb /) kbo(:, 2,15,12) = (/ & & 0.75063e+00_rb,0.10744e+01_rb,0.12248e+01_rb,0.12603e+01_rb,0.10430e+01_rb /) kbo(:, 3,15,12) = (/ & & 0.75594e+00_rb,0.10769e+01_rb,0.12334e+01_rb,0.12743e+01_rb,0.10635e+01_rb /) kbo(:, 4,15,12) = (/ & & 0.77107e+00_rb,0.10807e+01_rb,0.12402e+01_rb,0.12881e+01_rb,0.10841e+01_rb /) kbo(:, 5,15,12) = (/ & & 0.79469e+00_rb,0.10902e+01_rb,0.12461e+01_rb,0.13012e+01_rb,0.11031e+01_rb /) kbo(:, 1,16,12) = (/ & & 0.66063e+00_rb,0.99640e+00_rb,0.11502e+01_rb,0.11902e+01_rb,0.96912e+00_rb /) kbo(:, 2,16,12) = (/ & & 0.66454e+00_rb,0.10001e+01_rb,0.11634e+01_rb,0.12095e+01_rb,0.99257e+00_rb /) kbo(:, 3,16,12) = (/ & & 0.67895e+00_rb,0.10049e+01_rb,0.11739e+01_rb,0.12282e+01_rb,0.10170e+01_rb /) kbo(:, 4,16,12) = (/ & & 0.70145e+00_rb,0.10153e+01_rb,0.11833e+01_rb,0.12469e+01_rb,0.10404e+01_rb /) kbo(:, 5,16,12) = (/ & & 0.72525e+00_rb,0.10330e+01_rb,0.11925e+01_rb,0.12646e+01_rb,0.10610e+01_rb /) kbo(:, 1,17,12) = (/ & & 0.58214e+00_rb,0.92297e+00_rb,0.10896e+01_rb,0.11346e+01_rb,0.91647e+00_rb /) kbo(:, 2,17,12) = (/ & & 0.59400e+00_rb,0.92929e+00_rb,0.11045e+01_rb,0.11590e+01_rb,0.94550e+00_rb /) kbo(:, 3,17,12) = (/ & & 0.61460e+00_rb,0.94000e+00_rb,0.11172e+01_rb,0.11832e+01_rb,0.97371e+00_rb /) kbo(:, 4,17,12) = (/ & & 0.63691e+00_rb,0.95830e+00_rb,0.11303e+01_rb,0.12071e+01_rb,0.99891e+00_rb /) kbo(:, 5,17,12) = (/ & & 0.66003e+00_rb,0.98295e+00_rb,0.11440e+01_rb,0.12298e+01_rb,0.10215e+01_rb /) kbo(:, 1,18,12) = (/ & & 0.51831e+00_rb,0.85586e+00_rb,0.10313e+01_rb,0.10823e+01_rb,0.86734e+00_rb /) kbo(:, 2,18,12) = (/ & & 0.53638e+00_rb,0.86645e+00_rb,0.10487e+01_rb,0.11114e+01_rb,0.90071e+00_rb /) kbo(:, 3,18,12) = (/ & & 0.55679e+00_rb,0.88410e+00_rb,0.10657e+01_rb,0.11407e+01_rb,0.93149e+00_rb /) kbo(:, 4,18,12) = (/ & & 0.57819e+00_rb,0.90902e+00_rb,0.10831e+01_rb,0.11693e+01_rb,0.95937e+00_rb /) kbo(:, 5,18,12) = (/ & & 0.60387e+00_rb,0.94010e+00_rb,0.11032e+01_rb,0.11966e+01_rb,0.98550e+00_rb /) kbo(:, 1,19,12) = (/ & & 0.46547e+00_rb,0.79533e+00_rb,0.97579e+00_rb,0.10353e+01_rb,0.82208e+00_rb /) kbo(:, 2,19,12) = (/ & & 0.48441e+00_rb,0.81281e+00_rb,0.99768e+00_rb,0.10690e+01_rb,0.85858e+00_rb /) kbo(:, 3,19,12) = (/ & & 0.50438e+00_rb,0.83723e+00_rb,0.10197e+01_rb,0.11027e+01_rb,0.89202e+00_rb /) kbo(:, 4,19,12) = (/ & & 0.52861e+00_rb,0.86772e+00_rb,0.10433e+01_rb,0.11355e+01_rb,0.92298e+00_rb /) kbo(:, 5,19,12) = (/ & & 0.55711e+00_rb,0.90301e+00_rb,0.10701e+01_rb,0.11672e+01_rb,0.95266e+00_rb /) kbo(:, 1,20,12) = (/ & & 0.41965e+00_rb,0.74319e+00_rb,0.92508e+00_rb,0.99412e+00_rb,0.78089e+00_rb /) kbo(:, 2,20,12) = (/ & & 0.43802e+00_rb,0.76766e+00_rb,0.95235e+00_rb,0.10327e+01_rb,0.82017e+00_rb /) kbo(:, 3,20,12) = (/ & & 0.46025e+00_rb,0.79818e+00_rb,0.98022e+00_rb,0.10706e+01_rb,0.85677e+00_rb /) kbo(:, 4,20,12) = (/ & & 0.48727e+00_rb,0.83370e+00_rb,0.10109e+01_rb,0.11072e+01_rb,0.89127e+00_rb /) kbo(:, 5,20,12) = (/ & & 0.51863e+00_rb,0.87091e+00_rb,0.10440e+01_rb,0.11423e+01_rb,0.92433e+00_rb /) kbo(:, 1,21,12) = (/ & & 0.37915e+00_rb,0.69998e+00_rb,0.88069e+00_rb,0.95835e+00_rb,0.74387e+00_rb /) kbo(:, 2,21,12) = (/ & & 0.39885e+00_rb,0.72965e+00_rb,0.91291e+00_rb,0.10022e+01_rb,0.78645e+00_rb /) kbo(:, 3,21,12) = (/ & & 0.42350e+00_rb,0.76561e+00_rb,0.94765e+00_rb,0.10443e+01_rb,0.82639e+00_rb /) kbo(:, 4,21,12) = (/ & & 0.45298e+00_rb,0.80432e+00_rb,0.98473e+00_rb,0.10842e+01_rb,0.86477e+00_rb /) kbo(:, 5,21,12) = (/ & & 0.48674e+00_rb,0.84344e+00_rb,0.10236e+01_rb,0.11221e+01_rb,0.90082e+00_rb /) kbo(:, 1,22,12) = (/ & & 0.34554e+00_rb,0.66631e+00_rb,0.84565e+00_rb,0.93193e+00_rb,0.71462e+00_rb /) kbo(:, 2,22,12) = (/ & & 0.36807e+00_rb,0.70096e+00_rb,0.88353e+00_rb,0.98021e+00_rb,0.76038e+00_rb /) kbo(:, 3,22,12) = (/ & & 0.39520e+00_rb,0.74099e+00_rb,0.92460e+00_rb,0.10260e+01_rb,0.80381e+00_rb /) kbo(:, 4,22,12) = (/ & & 0.42700e+00_rb,0.78213e+00_rb,0.96750e+00_rb,0.10688e+01_rb,0.84544e+00_rb /) kbo(:, 5,22,12) = (/ & & 0.46306e+00_rb,0.82357e+00_rb,0.10116e+01_rb,0.11089e+01_rb,0.88444e+00_rb /) kbo(:, 1,23,12) = (/ & & 0.31790e+00_rb,0.64007e+00_rb,0.81825e+00_rb,0.91240e+00_rb,0.69117e+00_rb /) kbo(:, 2,23,12) = (/ & & 0.34313e+00_rb,0.67943e+00_rb,0.86200e+00_rb,0.96400e+00_rb,0.74026e+00_rb /) kbo(:, 3,23,12) = (/ & & 0.37292e+00_rb,0.72179e+00_rb,0.90853e+00_rb,0.10128e+01_rb,0.78692e+00_rb /) kbo(:, 4,23,12) = (/ & & 0.40683e+00_rb,0.76528e+00_rb,0.95638e+00_rb,0.10584e+01_rb,0.83132e+00_rb /) kbo(:, 5,23,12) = (/ & & 0.44434e+00_rb,0.80906e+00_rb,0.10049e+01_rb,0.11007e+01_rb,0.87324e+00_rb /) kbo(:, 1,24,12) = (/ & & 0.29587e+00_rb,0.62091e+00_rb,0.79898e+00_rb,0.89859e+00_rb,0.67383e+00_rb /) kbo(:, 2,24,12) = (/ & & 0.32356e+00_rb,0.66370e+00_rb,0.84800e+00_rb,0.95354e+00_rb,0.72591e+00_rb /) kbo(:, 3,24,12) = (/ & & 0.35587e+00_rb,0.70805e+00_rb,0.89882e+00_rb,0.10049e+01_rb,0.77551e+00_rb /) kbo(:, 4,24,12) = (/ & & 0.39090e+00_rb,0.75345e+00_rb,0.95073e+00_rb,0.10524e+01_rb,0.82233e+00_rb /) kbo(:, 5,24,12) = (/ & & 0.42938e+00_rb,0.80019e+00_rb,0.10026e+01_rb,0.10965e+01_rb,0.86634e+00_rb /) kbo(:, 1,25,12) = (/ & & 0.27857e+00_rb,0.60799e+00_rb,0.78705e+00_rb,0.89081e+00_rb,0.66256e+00_rb /) kbo(:, 2,25,12) = (/ & & 0.30889e+00_rb,0.65303e+00_rb,0.84032e+00_rb,0.94841e+00_rb,0.71733e+00_rb /) kbo(:, 3,25,12) = (/ & & 0.34245e+00_rb,0.69924e+00_rb,0.89488e+00_rb,0.10015e+01_rb,0.76917e+00_rb /) kbo(:, 4,25,12) = (/ & & 0.37871e+00_rb,0.74693e+00_rb,0.95015e+00_rb,0.10506e+01_rb,0.81807e+00_rb /) kbo(:, 5,25,12) = (/ & & 0.41833e+00_rb,0.79644e+00_rb,0.10044e+01_rb,0.10958e+01_rb,0.86374e+00_rb /) kbo(:, 1,26,12) = (/ & & 0.26580e+00_rb,0.60063e+00_rb,0.78228e+00_rb,0.88879e+00_rb,0.65720e+00_rb /) kbo(:, 2,26,12) = (/ & & 0.29790e+00_rb,0.64759e+00_rb,0.83895e+00_rb,0.94821e+00_rb,0.71439e+00_rb /) kbo(:, 3,26,12) = (/ & & 0.33261e+00_rb,0.69574e+00_rb,0.89642e+00_rb,0.10025e+01_rb,0.76782e+00_rb /) kbo(:, 4,26,12) = (/ & & 0.37054e+00_rb,0.74591e+00_rb,0.95396e+00_rb,0.10524e+01_rb,0.81818e+00_rb /) kbo(:, 5,26,12) = (/ & & 0.41158e+00_rb,0.79751e+00_rb,0.10099e+01_rb,0.10981e+01_rb,0.86507e+00_rb /) kbo(:, 1,27,12) = (/ & & 0.25628e+00_rb,0.59727e+00_rb,0.78261e+00_rb,0.89115e+00_rb,0.65648e+00_rb /) kbo(:, 2,27,12) = (/ & & 0.28973e+00_rb,0.64617e+00_rb,0.84187e+00_rb,0.95137e+00_rb,0.71531e+00_rb /) kbo(:, 3,27,12) = (/ & & 0.32602e+00_rb,0.69640e+00_rb,0.90149e+00_rb,0.10062e+01_rb,0.76992e+00_rb /) kbo(:, 4,27,12) = (/ & & 0.36566e+00_rb,0.74858e+00_rb,0.96067e+00_rb,0.10565e+01_rb,0.82130e+00_rb /) kbo(:, 5,27,12) = (/ & & 0.40839e+00_rb,0.80160e+00_rb,0.10174e+01_rb,0.11025e+01_rb,0.86892e+00_rb /) kbo(:, 1,28,12) = (/ & & 0.24931e+00_rb,0.59767e+00_rb,0.78703e+00_rb,0.89664e+00_rb,0.65970e+00_rb /) kbo(:, 2,28,12) = (/ & & 0.28438e+00_rb,0.64828e+00_rb,0.84808e+00_rb,0.95711e+00_rb,0.71948e+00_rb /) kbo(:, 3,28,12) = (/ & & 0.32259e+00_rb,0.70046e+00_rb,0.90930e+00_rb,0.10123e+01_rb,0.77494e+00_rb /) kbo(:, 4,28,12) = (/ & & 0.36394e+00_rb,0.75423e+00_rb,0.96943e+00_rb,0.10625e+01_rb,0.82683e+00_rb /) kbo(:, 5,28,12) = (/ & & 0.40857e+00_rb,0.80828e+00_rb,0.10265e+01_rb,0.11085e+01_rb,0.87457e+00_rb /) kbo(:, 1,29,12) = (/ & & 0.24529e+00_rb,0.60153e+00_rb,0.79470e+00_rb,0.90469e+00_rb,0.66635e+00_rb /) kbo(:, 2,29,12) = (/ & & 0.28215e+00_rb,0.65374e+00_rb,0.85707e+00_rb,0.96518e+00_rb,0.72659e+00_rb /) kbo(:, 3,29,12) = (/ & & 0.32237e+00_rb,0.70744e+00_rb,0.91955e+00_rb,0.10202e+01_rb,0.78233e+00_rb /) kbo(:, 4,29,12) = (/ & & 0.36548e+00_rb,0.76246e+00_rb,0.98006e+00_rb,0.10704e+01_rb,0.83435e+00_rb /) kbo(:, 5,29,12) = (/ & & 0.41179e+00_rb,0.81715e+00_rb,0.10368e+01_rb,0.11160e+01_rb,0.88198e+00_rb /) kbo(:, 1,30,12) = (/ & & 0.24386e+00_rb,0.60816e+00_rb,0.80473e+00_rb,0.91460e+00_rb,0.67543e+00_rb /) kbo(:, 2,30,12) = (/ & & 0.28279e+00_rb,0.66165e+00_rb,0.86804e+00_rb,0.97470e+00_rb,0.73566e+00_rb /) kbo(:, 3,30,12) = (/ & & 0.32483e+00_rb,0.71650e+00_rb,0.93115e+00_rb,0.10292e+01_rb,0.79124e+00_rb /) kbo(:, 4,30,12) = (/ & & 0.36954e+00_rb,0.77208e+00_rb,0.99158e+00_rb,0.10790e+01_rb,0.84299e+00_rb /) kbo(:, 5,30,12) = (/ & & 0.41749e+00_rb,0.82738e+00_rb,0.10478e+01_rb,0.11245e+01_rb,0.89039e+00_rb /) kbo(:, 1,31,12) = (/ & & 0.24525e+00_rb,0.61702e+00_rb,0.81682e+00_rb,0.92621e+00_rb,0.68640e+00_rb /) kbo(:, 2,31,12) = (/ & & 0.28616e+00_rb,0.67142e+00_rb,0.88072e+00_rb,0.98550e+00_rb,0.74643e+00_rb /) kbo(:, 3,31,12) = (/ & & 0.32989e+00_rb,0.72710e+00_rb,0.94409e+00_rb,0.10393e+01_rb,0.80152e+00_rb /) kbo(:, 4,31,12) = (/ & & 0.37609e+00_rb,0.78314e+00_rb,0.10041e+01_rb,0.10886e+01_rb,0.85269e+00_rb /) kbo(:, 5,31,12) = (/ & & 0.42530e+00_rb,0.83896e+00_rb,0.10596e+01_rb,0.11338e+01_rb,0.89957e+00_rb /) kbo(:, 1,32,12) = (/ & & 0.24917e+00_rb,0.62738e+00_rb,0.83018e+00_rb,0.93886e+00_rb,0.69870e+00_rb /) kbo(:, 2,32,12) = (/ & & 0.29180e+00_rb,0.68257e+00_rb,0.89466e+00_rb,0.99723e+00_rb,0.75819e+00_rb /) kbo(:, 3,32,12) = (/ & & 0.33695e+00_rb,0.73898e+00_rb,0.95783e+00_rb,0.10503e+01_rb,0.81270e+00_rb /) kbo(:, 4,32,12) = (/ & & 0.38441e+00_rb,0.79527e+00_rb,0.10172e+01_rb,0.10987e+01_rb,0.86313e+00_rb /) kbo(:, 5,32,12) = (/ & & 0.43473e+00_rb,0.85145e+00_rb,0.10718e+01_rb,0.11436e+01_rb,0.90933e+00_rb /) kbo(:, 1,33,12) = (/ & & 0.25524e+00_rb,0.63888e+00_rb,0.84456e+00_rb,0.95208e+00_rb,0.71177e+00_rb /) kbo(:, 2,33,12) = (/ & & 0.29923e+00_rb,0.69477e+00_rb,0.90943e+00_rb,0.10094e+01_rb,0.77043e+00_rb /) kbo(:, 3,33,12) = (/ & & 0.34555e+00_rb,0.75166e+00_rb,0.97211e+00_rb,0.10616e+01_rb,0.82442e+00_rb /) kbo(:, 4,33,12) = (/ & & 0.39409e+00_rb,0.80804e+00_rb,0.10306e+01_rb,0.11094e+01_rb,0.87396e+00_rb /) kbo(:, 5,33,12) = (/ & & 0.44532e+00_rb,0.86454e+00_rb,0.10842e+01_rb,0.11536e+01_rb,0.91947e+00_rb /) kbo(:, 1,34,12) = (/ & & 0.26139e+00_rb,0.64937e+00_rb,0.85738e+00_rb,0.96358e+00_rb,0.72330e+00_rb /) kbo(:, 2,34,12) = (/ & & 0.30644e+00_rb,0.70578e+00_rb,0.92238e+00_rb,0.10200e+01_rb,0.78117e+00_rb /) kbo(:, 3,34,12) = (/ & & 0.35368e+00_rb,0.76284e+00_rb,0.98445e+00_rb,0.10715e+01_rb,0.83457e+00_rb /) kbo(:, 4,34,12) = (/ & & 0.40294e+00_rb,0.81944e+00_rb,0.10421e+01_rb,0.11185e+01_rb,0.88331e+00_rb /) kbo(:, 5,34,12) = (/ & & 0.45497e+00_rb,0.87610e+00_rb,0.10949e+01_rb,0.11623e+01_rb,0.92821e+00_rb /) kbo(:, 1,35,12) = (/ & & 0.26429e+00_rb,0.65495e+00_rb,0.86437e+00_rb,0.96967e+00_rb,0.72944e+00_rb /) kbo(:, 2,35,12) = (/ & & 0.31003e+00_rb,0.71171e+00_rb,0.92940e+00_rb,0.10257e+01_rb,0.78687e+00_rb /) kbo(:, 3,35,12) = (/ & & 0.35779e+00_rb,0.76892e+00_rb,0.99113e+00_rb,0.10767e+01_rb,0.83993e+00_rb /) kbo(:, 4,35,12) = (/ & & 0.40757e+00_rb,0.82572e+00_rb,0.10483e+01_rb,0.11235e+01_rb,0.88834e+00_rb /) kbo(:, 5,35,12) = (/ & & 0.46005e+00_rb,0.88243e+00_rb,0.11007e+01_rb,0.11671e+01_rb,0.93291e+00_rb /) kbo(:, 1,36,12) = (/ & & 0.26301e+00_rb,0.65478e+00_rb,0.86458e+00_rb,0.96965e+00_rb,0.72937e+00_rb /) kbo(:, 2,36,12) = (/ & & 0.30906e+00_rb,0.71167e+00_rb,0.92967e+00_rb,0.10257e+01_rb,0.78687e+00_rb /) kbo(:, 3,36,12) = (/ & & 0.35709e+00_rb,0.76907e+00_rb,0.99151e+00_rb,0.10769e+01_rb,0.84005e+00_rb /) kbo(:, 4,36,12) = (/ & & 0.40702e+00_rb,0.82602e+00_rb,0.10488e+01_rb,0.11238e+01_rb,0.88850e+00_rb /) kbo(:, 5,36,12) = (/ & & 0.45966e+00_rb,0.88282e+00_rb,0.11012e+01_rb,0.11674e+01_rb,0.93315e+00_rb /) kbo(:, 1,37,12) = (/ & & 0.25532e+00_rb,0.64621e+00_rb,0.85496e+00_rb,0.96073e+00_rb,0.72018e+00_rb /) kbo(:, 2,37,12) = (/ & & 0.30133e+00_rb,0.70315e+00_rb,0.92046e+00_rb,0.10178e+01_rb,0.77861e+00_rb /) kbo(:, 3,37,12) = (/ & & 0.34928e+00_rb,0.76070e+00_rb,0.98300e+00_rb,0.10697e+01_rb,0.83253e+00_rb /) kbo(:, 4,37,12) = (/ & & 0.39901e+00_rb,0.81782e+00_rb,0.10410e+01_rb,0.11173e+01_rb,0.88173e+00_rb /) kbo(:, 5,37,12) = (/ & & 0.45136e+00_rb,0.87470e+00_rb,0.10942e+01_rb,0.11614e+01_rb,0.92694e+00_rb /) kbo(:, 1,38,12) = (/ & & 0.24761e+00_rb,0.63742e+00_rb,0.84491e+00_rb,0.95139e+00_rb,0.71066e+00_rb /) kbo(:, 2,38,12) = (/ & & 0.29353e+00_rb,0.69428e+00_rb,0.91068e+00_rb,0.10095e+01_rb,0.76992e+00_rb /) kbo(:, 3,38,12) = (/ & & 0.34135e+00_rb,0.75196e+00_rb,0.97396e+00_rb,0.10621e+01_rb,0.82461e+00_rb /) kbo(:, 4,38,12) = (/ & & 0.39084e+00_rb,0.80925e+00_rb,0.10327e+01_rb,0.11104e+01_rb,0.87459e+00_rb /) kbo(:, 5,38,12) = (/ & & 0.44289e+00_rb,0.86617e+00_rb,0.10866e+01_rb,0.11550e+01_rb,0.92038e+00_rb /) kbo(:, 1,39,12) = (/ & & 0.24017e+00_rb,0.62886e+00_rb,0.83503e+00_rb,0.94210e+00_rb,0.70124e+00_rb /) kbo(:, 2,39,12) = (/ & & 0.28601e+00_rb,0.68569e+00_rb,0.90106e+00_rb,0.10011e+01_rb,0.76142e+00_rb /) kbo(:, 3,39,12) = (/ & & 0.33368e+00_rb,0.74335e+00_rb,0.96490e+00_rb,0.10546e+01_rb,0.81673e+00_rb /) kbo(:, 4,39,12) = (/ & & 0.38296e+00_rb,0.80081e+00_rb,0.10243e+01_rb,0.11035e+01_rb,0.86747e+00_rb /) kbo(:, 5,39,12) = (/ & & 0.43465e+00_rb,0.85778e+00_rb,0.10791e+01_rb,0.11488e+01_rb,0.91385e+00_rb /) kbo(:, 1,40,12) = (/ & & 0.22833e+00_rb,0.61463e+00_rb,0.81821e+00_rb,0.92620e+00_rb,0.68530e+00_rb /) kbo(:, 2,40,12) = (/ & & 0.27395e+00_rb,0.67134e+00_rb,0.88467e+00_rb,0.98686e+00_rb,0.74688e+00_rb /) kbo(:, 3,40,12) = (/ & & 0.32124e+00_rb,0.72890e+00_rb,0.94943e+00_rb,0.10418e+01_rb,0.80324e+00_rb /) kbo(:, 4,40,12) = (/ & & 0.37015e+00_rb,0.78652e+00_rb,0.10100e+01_rb,0.10918e+01_rb,0.85523e+00_rb /) kbo(:, 5,40,12) = (/ & & 0.42126e+00_rb,0.84372e+00_rb,0.10660e+01_rb,0.11379e+01_rb,0.90264e+00_rb /) kbo(:, 1,41,12) = (/ & & 0.21612e+00_rb,0.59971e+00_rb,0.80041e+00_rb,0.90904e+00_rb,0.66824e+00_rb /) kbo(:, 2,41,12) = (/ & & 0.26150e+00_rb,0.65630e+00_rb,0.86743e+00_rb,0.97155e+00_rb,0.73120e+00_rb /) kbo(:, 3,41,12) = (/ & & 0.30837e+00_rb,0.71376e+00_rb,0.93288e+00_rb,0.10279e+01_rb,0.78880e+00_rb /) kbo(:, 4,41,12) = (/ & & 0.35698e+00_rb,0.77150e+00_rb,0.99473e+00_rb,0.10791e+01_rb,0.84209e+00_rb /) kbo(:, 5,41,12) = (/ & & 0.40745e+00_rb,0.82887e+00_rb,0.10519e+01_rb,0.11261e+01_rb,0.89062e+00_rb /) kbo(:, 1,42,12) = (/ & & 0.20417e+00_rb,0.58472e+00_rb,0.78237e+00_rb,0.89154e+00_rb,0.65066e+00_rb /) kbo(:, 2,42,12) = (/ & & 0.24921e+00_rb,0.64136e+00_rb,0.85007e+00_rb,0.95580e+00_rb,0.71510e+00_rb /) kbo(:, 3,42,12) = (/ & & 0.29566e+00_rb,0.69861e+00_rb,0.91611e+00_rb,0.10137e+01_rb,0.77414e+00_rb /) kbo(:, 4,42,12) = (/ & & 0.34395e+00_rb,0.75651e+00_rb,0.97922e+00_rb,0.10662e+01_rb,0.82865e+00_rb /) kbo(:, 5,42,12) = (/ & & 0.39383e+00_rb,0.81397e+00_rb,0.10376e+01_rb,0.11142e+01_rb,0.87842e+00_rb /) kbo(:, 1,43,12) = (/ & & 0.18997e+00_rb,0.56647e+00_rb,0.76032e+00_rb,0.86976e+00_rb,0.62901e+00_rb /) kbo(:, 2,43,12) = (/ & & 0.23447e+00_rb,0.62342e+00_rb,0.82892e+00_rb,0.93617e+00_rb,0.69524e+00_rb /) kbo(:, 3,43,12) = (/ & & 0.28050e+00_rb,0.68037e+00_rb,0.89544e+00_rb,0.99597e+00_rb,0.75607e+00_rb /) kbo(:, 4,43,12) = (/ & & 0.32830e+00_rb,0.73817e+00_rb,0.95981e+00_rb,0.10502e+01_rb,0.81194e+00_rb /) kbo(:, 5,43,12) = (/ & & 0.37763e+00_rb,0.79580e+00_rb,0.10196e+01_rb,0.10995e+01_rb,0.86317e+00_rb /) kbo(:, 1,44,12) = (/ & & 0.17494e+00_rb,0.54678e+00_rb,0.73637e+00_rb,0.84544e+00_rb,0.60542e+00_rb /) kbo(:, 2,44,12) = (/ & & 0.21877e+00_rb,0.60406e+00_rb,0.80575e+00_rb,0.91415e+00_rb,0.67322e+00_rb /) kbo(:, 3,44,12) = (/ & & 0.26445e+00_rb,0.66075e+00_rb,0.87287e+00_rb,0.97625e+00_rb,0.73598e+00_rb /) kbo(:, 4,44,12) = (/ & & 0.31161e+00_rb,0.71841e+00_rb,0.93827e+00_rb,0.10322e+01_rb,0.79326e+00_rb /) kbo(:, 5,44,12) = (/ & & 0.36052e+00_rb,0.77622e+00_rb,0.99972e+00_rb,0.10831e+01_rb,0.84620e+00_rb /) kbo(:, 1,45,12) = (/ & & 0.16016e+00_rb,0.52729e+00_rb,0.71224e+00_rb,0.82038e+00_rb,0.58172e+00_rb /) kbo(:, 2,45,12) = (/ & & 0.20336e+00_rb,0.58455e+00_rb,0.78227e+00_rb,0.89144e+00_rb,0.65050e+00_rb /) kbo(:, 3,45,12) = (/ & & 0.24861e+00_rb,0.64128e+00_rb,0.85023e+00_rb,0.95584e+00_rb,0.71509e+00_rb /) kbo(:, 4,45,12) = (/ & & 0.29518e+00_rb,0.69870e+00_rb,0.91640e+00_rb,0.10138e+01_rb,0.77417e+00_rb /) kbo(:, 5,45,12) = (/ & & 0.34361e+00_rb,0.75661e+00_rb,0.97947e+00_rb,0.10663e+01_rb,0.82874e+00_rb /) kbo(:, 1,46,12) = (/ & & 0.14495e+00_rb,0.50668e+00_rb,0.68614e+00_rb,0.79268e+00_rb,0.55619e+00_rb /) kbo(:, 2,46,12) = (/ & & 0.18729e+00_rb,0.56366e+00_rb,0.75707e+00_rb,0.86650e+00_rb,0.62580e+00_rb /) kbo(:, 3,46,12) = (/ & & 0.23189e+00_rb,0.62077e+00_rb,0.82600e+00_rb,0.93336e+00_rb,0.69232e+00_rb /) kbo(:, 4,46,12) = (/ & & 0.27798e+00_rb,0.67784e+00_rb,0.89269e+00_rb,0.99345e+00_rb,0.75352e+00_rb /) kbo(:, 5,46,12) = (/ & & 0.32583e+00_rb,0.73560e+00_rb,0.95715e+00_rb,0.10480e+01_rb,0.80957e+00_rb /) kbo(:, 1,47,12) = (/ & & 0.12858e+00_rb,0.48369e+00_rb,0.65638e+00_rb,0.76017e+00_rb,0.52730e+00_rb /) kbo(:, 2,47,12) = (/ & & 0.16969e+00_rb,0.54041e+00_rb,0.72859e+00_rb,0.83745e+00_rb,0.59783e+00_rb /) kbo(:, 3,47,12) = (/ & & 0.21344e+00_rb,0.59783e+00_rb,0.79837e+00_rb,0.90704e+00_rb,0.66606e+00_rb /) kbo(:, 4,47,12) = (/ & & 0.25910e+00_rb,0.65455e+00_rb,0.86586e+00_rb,0.96989e+00_rb,0.72949e+00_rb /) kbo(:, 5,47,12) = (/ & & 0.30618e+00_rb,0.71222e+00_rb,0.93155e+00_rb,0.10265e+01_rb,0.78728e+00_rb /) kbo(:, 1,48,12) = (/ & & 0.11298e+00_rb,0.46082e+00_rb,0.62642e+00_rb,0.72640e+00_rb,0.49809e+00_rb /) kbo(:, 2,48,12) = (/ & & 0.15246e+00_rb,0.51740e+00_rb,0.69983e+00_rb,0.80735e+00_rb,0.56961e+00_rb /) kbo(:, 3,48,12) = (/ & & 0.19539e+00_rb,0.57459e+00_rb,0.77041e+00_rb,0.87978e+00_rb,0.63885e+00_rb /) kbo(:, 4,48,12) = (/ & & 0.24045e+00_rb,0.63157e+00_rb,0.83892e+00_rb,0.94534e+00_rb,0.70441e+00_rb /) kbo(:, 5,48,12) = (/ & & 0.28683e+00_rb,0.68881e+00_rb,0.90534e+00_rb,0.10043e+01_rb,0.76449e+00_rb /) kbo(:, 1,49,12) = (/ & & 0.98247e-01_rb,0.43787e+00_rb,0.59630e+00_rb,0.69142e+00_rb,0.46886e+00_rb /) kbo(:, 2,49,12) = (/ & & 0.13602e+00_rb,0.49453e+00_rb,0.67051e+00_rb,0.77567e+00_rb,0.54098e+00_rb /) kbo(:, 3,49,12) = (/ & & 0.17773e+00_rb,0.55136e+00_rb,0.74221e+00_rb,0.85142e+00_rb,0.61109e+00_rb /) kbo(:, 4,49,12) = (/ & & 0.22196e+00_rb,0.60876e+00_rb,0.81162e+00_rb,0.91969e+00_rb,0.67863e+00_rb /) kbo(:, 5,49,12) = (/ & & 0.26789e+00_rb,0.66564e+00_rb,0.87866e+00_rb,0.98128e+00_rb,0.74108e+00_rb /) kbo(:, 1,50,12) = (/ & & 0.85448e-01_rb,0.41621e+00_rb,0.56763e+00_rb,0.65757e+00_rb,0.44117e+00_rb /) kbo(:, 2,50,12) = (/ & & 0.12109e+00_rb,0.47310e+00_rb,0.64247e+00_rb,0.74462e+00_rb,0.51379e+00_rb /) kbo(:, 3,50,12) = (/ & & 0.16156e+00_rb,0.52985e+00_rb,0.71554e+00_rb,0.82373e+00_rb,0.58488e+00_rb /) kbo(:, 4,50,12) = (/ & & 0.20488e+00_rb,0.58711e+00_rb,0.78559e+00_rb,0.89468e+00_rb,0.65362e+00_rb /) kbo(:, 5,50,12) = (/ & & 0.25037e+00_rb,0.64398e+00_rb,0.85353e+00_rb,0.95880e+00_rb,0.71804e+00_rb /) kbo(:, 1,51,12) = (/ & & 0.73759e-01_rb,0.39485e+00_rb,0.53977e+00_rb,0.62407e+00_rb,0.41437e+00_rb /) kbo(:, 2,51,12) = (/ & & 0.10727e+00_rb,0.45237e+00_rb,0.61531e+00_rb,0.71353e+00_rb,0.48727e+00_rb /) kbo(:, 3,51,12) = (/ & & 0.14620e+00_rb,0.50899e+00_rb,0.68916e+00_rb,0.79586e+00_rb,0.55909e+00_rb /) kbo(:, 4,51,12) = (/ & & 0.18867e+00_rb,0.56597e+00_rb,0.76009e+00_rb,0.86950e+00_rb,0.62868e+00_rb /) kbo(:, 5,51,12) = (/ & & 0.23351e+00_rb,0.62321e+00_rb,0.82900e+00_rb,0.93613e+00_rb,0.69507e+00_rb /) kbo(:, 1,52,12) = (/ & & 0.62975e-01_rb,0.37352e+00_rb,0.51168e+00_rb,0.59007e+00_rb,0.38790e+00_rb /) kbo(:, 2,52,12) = (/ & & 0.94238e-01_rb,0.43155e+00_rb,0.58786e+00_rb,0.68153e+00_rb,0.46072e+00_rb /) kbo(:, 3,52,12) = (/ & & 0.13138e+00_rb,0.48824e+00_rb,0.66233e+00_rb,0.76673e+00_rb,0.53305e+00_rb /) kbo(:, 4,52,12) = (/ & & 0.17291e+00_rb,0.54507e+00_rb,0.73444e+00_rb,0.84335e+00_rb,0.60343e+00_rb /) kbo(:, 5,52,12) = (/ & & 0.21681e+00_rb,0.60245e+00_rb,0.80402e+00_rb,0.91249e+00_rb,0.67147e+00_rb /) kbo(:, 1,53,12) = (/ & & 0.53060e-01_rb,0.35230e+00_rb,0.48353e+00_rb,0.55561e+00_rb,0.36178e+00_rb /) kbo(:, 2,53,12) = (/ & & 0.81984e-01_rb,0.41041e+00_rb,0.56005e+00_rb,0.64855e+00_rb,0.43393e+00_rb /) kbo(:, 3,53,12) = (/ & & 0.11713e+00_rb,0.46754e+00_rb,0.63518e+00_rb,0.73640e+00_rb,0.50665e+00_rb /) kbo(:, 4,53,12) = (/ & & 0.15723e+00_rb,0.52417e+00_rb,0.70847e+00_rb,0.81636e+00_rb,0.57800e+00_rb /) kbo(:, 5,53,12) = (/ & & 0.20038e+00_rb,0.58144e+00_rb,0.77877e+00_rb,0.88807e+00_rb,0.64700e+00_rb /) kbo(:, 1,54,12) = (/ & & 0.44825e-01_rb,0.33285e+00_rb,0.45764e+00_rb,0.52392e+00_rb,0.33821e+00_rb /) kbo(:, 2,54,12) = (/ & & 0.71480e-01_rb,0.39083e+00_rb,0.53456e+00_rb,0.61778e+00_rb,0.40943e+00_rb /) kbo(:, 3,54,12) = (/ & & 0.10463e+00_rb,0.44857e+00_rb,0.61031e+00_rb,0.70773e+00_rb,0.48234e+00_rb /) kbo(:, 4,54,12) = (/ & & 0.14329e+00_rb,0.50511e+00_rb,0.68427e+00_rb,0.79060e+00_rb,0.55433e+00_rb /) kbo(:, 5,54,12) = (/ & & 0.18561e+00_rb,0.56209e+00_rb,0.75543e+00_rb,0.86487e+00_rb,0.62409e+00_rb /) kbo(:, 1,55,12) = (/ & & 0.37713e-01_rb,0.31417e+00_rb,0.43292e+00_rb,0.49354e+00_rb,0.31617e+00_rb /) kbo(:, 2,55,12) = (/ & & 0.62120e-01_rb,0.37210e+00_rb,0.50985e+00_rb,0.58786e+00_rb,0.38623e+00_rb /) kbo(:, 3,55,12) = (/ & & 0.93283e-01_rb,0.43021e+00_rb,0.58608e+00_rb,0.67950e+00_rb,0.45902e+00_rb /) kbo(:, 4,55,12) = (/ & & 0.13035e+00_rb,0.48690e+00_rb,0.66064e+00_rb,0.76487e+00_rb,0.53142e+00_rb /) kbo(:, 5,55,12) = (/ & & 0.17183e+00_rb,0.54374e+00_rb,0.73284e+00_rb,0.84168e+00_rb,0.60189e+00_rb /) kbo(:, 1,56,12) = (/ & & 0.31364e-01_rb,0.29533e+00_rb,0.40826e+00_rb,0.46346e+00_rb,0.29456e+00_rb /) kbo(:, 2,56,12) = (/ & & 0.53447e-01_rb,0.35352e+00_rb,0.48522e+00_rb,0.55771e+00_rb,0.36336e+00_rb /) kbo(:, 3,56,12) = (/ & & 0.82579e-01_rb,0.41171e+00_rb,0.56173e+00_rb,0.65061e+00_rb,0.43556e+00_rb /) kbo(:, 4,56,12) = (/ & & 0.11788e+00_rb,0.46877e+00_rb,0.63683e+00_rb,0.73828e+00_rb,0.50830e+00_rb /) kbo(:, 5,56,12) = (/ & & 0.15810e+00_rb,0.52547e+00_rb,0.71011e+00_rb,0.81806e+00_rb,0.57961e+00_rb /) kbo(:, 1,57,12) = (/ & & 0.25728e-01_rb,0.27641e+00_rb,0.38366e+00_rb,0.43364e+00_rb,0.27324e+00_rb /) kbo(:, 2,57,12) = (/ & & 0.45538e-01_rb,0.33495e+00_rb,0.46047e+00_rb,0.52741e+00_rb,0.34078e+00_rb /) kbo(:, 3,57,12) = (/ & & 0.72492e-01_rb,0.39302e+00_rb,0.53741e+00_rb,0.62128e+00_rb,0.41216e+00_rb /) kbo(:, 4,57,12) = (/ & & 0.10590e+00_rb,0.45065e+00_rb,0.61311e+00_rb,0.71103e+00_rb,0.48510e+00_rb /) kbo(:, 5,57,12) = (/ & & 0.14476e+00_rb,0.50725e+00_rb,0.68700e+00_rb,0.79354e+00_rb,0.55702e+00_rb /) kbo(:, 1,58,12) = (/ & & 0.21034e-01_rb,0.25862e+00_rb,0.36035e+00_rb,0.40559e+00_rb,0.25327e+00_rb /) kbo(:, 2,58,12) = (/ & & 0.38718e-01_rb,0.31732e+00_rb,0.43714e+00_rb,0.49876e+00_rb,0.31992e+00_rb /) kbo(:, 3,58,12) = (/ & & 0.63552e-01_rb,0.37529e+00_rb,0.51407e+00_rb,0.59305e+00_rb,0.39018e+00_rb /) kbo(:, 4,58,12) = (/ & & 0.95105e-01_rb,0.43334e+00_rb,0.59030e+00_rb,0.68443e+00_rb,0.46307e+00_rb /) kbo(:, 5,58,12) = (/ & & 0.13248e+00_rb,0.49002e+00_rb,0.66471e+00_rb,0.76934e+00_rb,0.53538e+00_rb /) kbo(:, 1,59,12) = (/ & & 0.19312e-01_rb,0.25156e+00_rb,0.35103e+00_rb,0.39450e+00_rb,0.24538e+00_rb /) kbo(:, 2,59,12) = (/ & & 0.36163e-01_rb,0.31020e+00_rb,0.42773e+00_rb,0.48723e+00_rb,0.31163e+00_rb /) kbo(:, 3,59,12) = (/ & & 0.60143e-01_rb,0.36820e+00_rb,0.50471e+00_rb,0.58164e+00_rb,0.38146e+00_rb /) kbo(:, 4,59,12) = (/ & & 0.90924e-01_rb,0.42637e+00_rb,0.58105e+00_rb,0.67358e+00_rb,0.45417e+00_rb /) kbo(:, 5,59,12) = (/ & & 0.12765e+00_rb,0.48313e+00_rb,0.65572e+00_rb,0.75941e+00_rb,0.52665e+00_rb /) kbo(:, 1,13,13) = (/ & & 0.25702e+01_rb,0.27735e+01_rb,0.28760e+01_rb,0.25966e+01_rb,0.23968e+01_rb /) kbo(:, 2,13,13) = (/ & & 0.25597e+01_rb,0.27776e+01_rb,0.28903e+01_rb,0.26158e+01_rb,0.24224e+01_rb /) kbo(:, 3,13,13) = (/ & & 0.25494e+01_rb,0.27801e+01_rb,0.29040e+01_rb,0.26351e+01_rb,0.24494e+01_rb /) kbo(:, 4,13,13) = (/ & & 0.25338e+01_rb,0.27802e+01_rb,0.29182e+01_rb,0.26543e+01_rb,0.24747e+01_rb /) kbo(:, 5,13,13) = (/ & & 0.25177e+01_rb,0.27760e+01_rb,0.29320e+01_rb,0.26728e+01_rb,0.24963e+01_rb /) kbo(:, 1,14,13) = (/ & & 0.23659e+01_rb,0.26936e+01_rb,0.28410e+01_rb,0.26130e+01_rb,0.23363e+01_rb /) kbo(:, 2,14,13) = (/ & & 0.23577e+01_rb,0.27024e+01_rb,0.28615e+01_rb,0.26344e+01_rb,0.23684e+01_rb /) kbo(:, 3,14,13) = (/ & & 0.23468e+01_rb,0.27102e+01_rb,0.28819e+01_rb,0.26565e+01_rb,0.24004e+01_rb /) kbo(:, 4,14,13) = (/ & & 0.23350e+01_rb,0.27153e+01_rb,0.29051e+01_rb,0.26785e+01_rb,0.24267e+01_rb /) kbo(:, 5,14,13) = (/ & & 0.23244e+01_rb,0.27141e+01_rb,0.29262e+01_rb,0.26967e+01_rb,0.24480e+01_rb /) kbo(:, 1,15,13) = (/ & & 0.21606e+01_rb,0.25927e+01_rb,0.27805e+01_rb,0.26146e+01_rb,0.22773e+01_rb /) kbo(:, 2,15,13) = (/ & & 0.21537e+01_rb,0.26084e+01_rb,0.28087e+01_rb,0.26417e+01_rb,0.23162e+01_rb /) kbo(:, 3,15,13) = (/ & & 0.21448e+01_rb,0.26237e+01_rb,0.28408e+01_rb,0.26683e+01_rb,0.23515e+01_rb /) kbo(:, 4,15,13) = (/ & & 0.21380e+01_rb,0.26327e+01_rb,0.28720e+01_rb,0.26931e+01_rb,0.23792e+01_rb /) kbo(:, 5,15,13) = (/ & & 0.21347e+01_rb,0.26387e+01_rb,0.29018e+01_rb,0.27159e+01_rb,0.24036e+01_rb /) kbo(:, 1,16,13) = (/ & & 0.19588e+01_rb,0.24824e+01_rb,0.27086e+01_rb,0.26036e+01_rb,0.22170e+01_rb /) kbo(:, 2,16,13) = (/ & & 0.19544e+01_rb,0.25053e+01_rb,0.27466e+01_rb,0.26370e+01_rb,0.22638e+01_rb /) kbo(:, 3,16,13) = (/ & & 0.19508e+01_rb,0.25256e+01_rb,0.27882e+01_rb,0.26694e+01_rb,0.23023e+01_rb /) kbo(:, 4,16,13) = (/ & & 0.19522e+01_rb,0.25422e+01_rb,0.28288e+01_rb,0.26997e+01_rb,0.23338e+01_rb /) kbo(:, 5,16,13) = (/ & & 0.19669e+01_rb,0.25568e+01_rb,0.28660e+01_rb,0.27268e+01_rb,0.23639e+01_rb /) kbo(:, 1,17,13) = (/ & & 0.17683e+01_rb,0.23717e+01_rb,0.26296e+01_rb,0.25828e+01_rb,0.21586e+01_rb /) kbo(:, 2,17,13) = (/ & & 0.17670e+01_rb,0.24002e+01_rb,0.26798e+01_rb,0.26243e+01_rb,0.22104e+01_rb /) kbo(:, 3,17,13) = (/ & & 0.17705e+01_rb,0.24261e+01_rb,0.27313e+01_rb,0.26643e+01_rb,0.22525e+01_rb /) kbo(:, 4,17,13) = (/ & & 0.17889e+01_rb,0.24495e+01_rb,0.27802e+01_rb,0.27001e+01_rb,0.22912e+01_rb /) kbo(:, 5,17,13) = (/ & & 0.18206e+01_rb,0.24734e+01_rb,0.28261e+01_rb,0.27304e+01_rb,0.23278e+01_rb /) kbo(:, 1,18,13) = (/ & & 0.15903e+01_rb,0.22606e+01_rb,0.25530e+01_rb,0.25561e+01_rb,0.21033e+01_rb /) kbo(:, 2,18,13) = (/ & & 0.15961e+01_rb,0.22974e+01_rb,0.26139e+01_rb,0.26069e+01_rb,0.21585e+01_rb /) kbo(:, 3,18,13) = (/ & & 0.16151e+01_rb,0.23303e+01_rb,0.26738e+01_rb,0.26546e+01_rb,0.22069e+01_rb /) kbo(:, 4,18,13) = (/ & & 0.16495e+01_rb,0.23625e+01_rb,0.27316e+01_rb,0.26970e+01_rb,0.22532e+01_rb /) kbo(:, 5,18,13) = (/ & & 0.16970e+01_rb,0.23957e+01_rb,0.27859e+01_rb,0.27320e+01_rb,0.22970e+01_rb /) kbo(:, 1,19,13) = (/ & & 0.14257e+01_rb,0.21563e+01_rb,0.24826e+01_rb,0.25271e+01_rb,0.20500e+01_rb /) kbo(:, 2,19,13) = (/ & & 0.14448e+01_rb,0.21999e+01_rb,0.25521e+01_rb,0.25882e+01_rb,0.21113e+01_rb /) kbo(:, 3,19,13) = (/ & & 0.14809e+01_rb,0.22420e+01_rb,0.26202e+01_rb,0.26436e+01_rb,0.21676e+01_rb /) kbo(:, 4,19,13) = (/ & & 0.15301e+01_rb,0.22839e+01_rb,0.26861e+01_rb,0.26918e+01_rb,0.22215e+01_rb /) kbo(:, 5,19,13) = (/ & & 0.15917e+01_rb,0.23278e+01_rb,0.27486e+01_rb,0.27324e+01_rb,0.22720e+01_rb /) kbo(:, 1,20,13) = (/ & & 0.12800e+01_rb,0.20626e+01_rb,0.24230e+01_rb,0.25008e+01_rb,0.20040e+01_rb /) kbo(:, 2,20,13) = (/ & & 0.13152e+01_rb,0.21132e+01_rb,0.24996e+01_rb,0.25711e+01_rb,0.20725e+01_rb /) kbo(:, 3,20,13) = (/ & & 0.13653e+01_rb,0.21643e+01_rb,0.25750e+01_rb,0.26341e+01_rb,0.21362e+01_rb /) kbo(:, 4,20,13) = (/ & & 0.14290e+01_rb,0.22166e+01_rb,0.26493e+01_rb,0.26871e+01_rb,0.21969e+01_rb /) kbo(:, 5,20,13) = (/ & & 0.15047e+01_rb,0.22739e+01_rb,0.27186e+01_rb,0.27332e+01_rb,0.22536e+01_rb /) kbo(:, 1,21,13) = (/ & & 0.11565e+01_rb,0.19804e+01_rb,0.23723e+01_rb,0.24790e+01_rb,0.19652e+01_rb /) kbo(:, 2,21,13) = (/ & & 0.12043e+01_rb,0.20401e+01_rb,0.24563e+01_rb,0.25572e+01_rb,0.20406e+01_rb /) kbo(:, 3,21,13) = (/ & & 0.12682e+01_rb,0.20995e+01_rb,0.25386e+01_rb,0.26265e+01_rb,0.21117e+01_rb /) kbo(:, 4,21,13) = (/ & & 0.13446e+01_rb,0.21634e+01_rb,0.26197e+01_rb,0.26846e+01_rb,0.21783e+01_rb /) kbo(:, 5,21,13) = (/ & & 0.14328e+01_rb,0.22322e+01_rb,0.26943e+01_rb,0.27351e+01_rb,0.22400e+01_rb /) kbo(:, 1,22,13) = (/ & & 0.10567e+01_rb,0.19161e+01_rb,0.23380e+01_rb,0.24675e+01_rb,0.19394e+01_rb /) kbo(:, 2,22,13) = (/ & & 0.11171e+01_rb,0.19843e+01_rb,0.24279e+01_rb,0.25525e+01_rb,0.20217e+01_rb /) kbo(:, 3,22,13) = (/ & & 0.11926e+01_rb,0.20529e+01_rb,0.25167e+01_rb,0.26264e+01_rb,0.20987e+01_rb /) kbo(:, 4,22,13) = (/ & & 0.12819e+01_rb,0.21280e+01_rb,0.26028e+01_rb,0.26881e+01_rb,0.21696e+01_rb /) kbo(:, 5,22,13) = (/ & & 0.13818e+01_rb,0.22069e+01_rb,0.26807e+01_rb,0.27417e+01_rb,0.22350e+01_rb /) kbo(:, 1,23,13) = (/ & & 0.97722e+00_rb,0.18665e+01_rb,0.23140e+01_rb,0.24623e+01_rb,0.19226e+01_rb /) kbo(:, 2,23,13) = (/ & & 0.10487e+01_rb,0.19424e+01_rb,0.24103e+01_rb,0.25530e+01_rb,0.20109e+01_rb /) kbo(:, 3,23,13) = (/ & & 0.11351e+01_rb,0.20216e+01_rb,0.25035e+01_rb,0.26294e+01_rb,0.20926e+01_rb /) kbo(:, 4,23,13) = (/ & & 0.12356e+01_rb,0.21056e+01_rb,0.25931e+01_rb,0.26937e+01_rb,0.21670e+01_rb /) kbo(:, 5,23,13) = (/ & & 0.13470e+01_rb,0.21926e+01_rb,0.26734e+01_rb,0.27495e+01_rb,0.22345e+01_rb /) kbo(:, 1,24,13) = (/ & & 0.91609e+00_rb,0.18302e+01_rb,0.23004e+01_rb,0.24641e+01_rb,0.19149e+01_rb /) kbo(:, 2,24,13) = (/ & & 0.99757e+00_rb,0.19150e+01_rb,0.24014e+01_rb,0.25579e+01_rb,0.20076e+01_rb /) kbo(:, 3,24,13) = (/ & & 0.10945e+01_rb,0.20031e+01_rb,0.24987e+01_rb,0.26360e+01_rb,0.20926e+01_rb /) kbo(:, 4,24,13) = (/ & & 0.12058e+01_rb,0.20942e+01_rb,0.25896e+01_rb,0.27020e+01_rb,0.21691e+01_rb /) kbo(:, 5,24,13) = (/ & & 0.13269e+01_rb,0.21869e+01_rb,0.26718e+01_rb,0.27594e+01_rb,0.22381e+01_rb /) kbo(:, 1,25,13) = (/ & & 0.87183e+00_rb,0.18068e+01_rb,0.22964e+01_rb,0.24719e+01_rb,0.19153e+01_rb /) kbo(:, 2,25,13) = (/ & & 0.96269e+00_rb,0.19004e+01_rb,0.24012e+01_rb,0.25669e+01_rb,0.20109e+01_rb /) kbo(:, 3,25,13) = (/ & & 0.10701e+01_rb,0.19953e+01_rb,0.24998e+01_rb,0.26458e+01_rb,0.20980e+01_rb /) kbo(:, 4,25,13) = (/ & & 0.11910e+01_rb,0.20919e+01_rb,0.25913e+01_rb,0.27126e+01_rb,0.21754e+01_rb /) kbo(:, 5,25,13) = (/ & & 0.13188e+01_rb,0.21891e+01_rb,0.26749e+01_rb,0.27711e+01_rb,0.22449e+01_rb /) kbo(:, 1,26,13) = (/ & & 0.84313e+00_rb,0.17965e+01_rb,0.23011e+01_rb,0.24858e+01_rb,0.19238e+01_rb /) kbo(:, 2,26,13) = (/ & & 0.94434e+00_rb,0.18970e+01_rb,0.24073e+01_rb,0.25798e+01_rb,0.20205e+01_rb /) kbo(:, 3,26,13) = (/ & & 0.10612e+01_rb,0.19972e+01_rb,0.25069e+01_rb,0.26589e+01_rb,0.21080e+01_rb /) kbo(:, 4,26,13) = (/ & & 0.11887e+01_rb,0.20979e+01_rb,0.25988e+01_rb,0.27257e+01_rb,0.21853e+01_rb /) kbo(:, 5,26,13) = (/ & & 0.13225e+01_rb,0.21985e+01_rb,0.26831e+01_rb,0.27841e+01_rb,0.22550e+01_rb /) kbo(:, 1,27,13) = (/ & & 0.82783e+00_rb,0.17960e+01_rb,0.23110e+01_rb,0.25019e+01_rb,0.19363e+01_rb /) kbo(:, 2,27,13) = (/ & & 0.93873e+00_rb,0.19014e+01_rb,0.24182e+01_rb,0.25950e+01_rb,0.20338e+01_rb /) kbo(:, 3,27,13) = (/ & & 0.10628e+01_rb,0.20052e+01_rb,0.25176e+01_rb,0.26735e+01_rb,0.21206e+01_rb /) kbo(:, 4,27,13) = (/ & & 0.11961e+01_rb,0.21092e+01_rb,0.26097e+01_rb,0.27398e+01_rb,0.21974e+01_rb /) kbo(:, 5,27,13) = (/ & & 0.13342e+01_rb,0.22123e+01_rb,0.26944e+01_rb,0.27973e+01_rb,0.22665e+01_rb /) kbo(:, 1,28,13) = (/ & & 0.82452e+00_rb,0.18027e+01_rb,0.23247e+01_rb,0.25200e+01_rb,0.19523e+01_rb /) kbo(:, 2,28,13) = (/ & & 0.94277e+00_rb,0.19121e+01_rb,0.24323e+01_rb,0.26114e+01_rb,0.20494e+01_rb /) kbo(:, 3,28,13) = (/ & & 0.10725e+01_rb,0.20183e+01_rb,0.25313e+01_rb,0.26888e+01_rb,0.21352e+01_rb /) kbo(:, 4,28,13) = (/ & & 0.12107e+01_rb,0.21244e+01_rb,0.26233e+01_rb,0.27544e+01_rb,0.22110e+01_rb /) kbo(:, 5,28,13) = (/ & & 0.13516e+01_rb,0.22292e+01_rb,0.27078e+01_rb,0.28106e+01_rb,0.22794e+01_rb /) kbo(:, 1,29,13) = (/ & & 0.83075e+00_rb,0.18160e+01_rb,0.23425e+01_rb,0.25401e+01_rb,0.19712e+01_rb /) kbo(:, 2,29,13) = (/ & & 0.95513e+00_rb,0.19278e+01_rb,0.24494e+01_rb,0.26294e+01_rb,0.20669e+01_rb /) kbo(:, 3,29,13) = (/ & & 0.10900e+01_rb,0.20358e+01_rb,0.25478e+01_rb,0.27053e+01_rb,0.21513e+01_rb /) kbo(:, 4,29,13) = (/ & & 0.12315e+01_rb,0.21431e+01_rb,0.26391e+01_rb,0.27692e+01_rb,0.22259e+01_rb /) kbo(:, 5,29,13) = (/ & & 0.13745e+01_rb,0.22488e+01_rb,0.27235e+01_rb,0.28240e+01_rb,0.22934e+01_rb /) kbo(:, 1,30,13) = (/ & & 0.84416e+00_rb,0.18336e+01_rb,0.23624e+01_rb,0.25609e+01_rb,0.19916e+01_rb /) kbo(:, 2,30,13) = (/ & & 0.97368e+00_rb,0.19464e+01_rb,0.24682e+01_rb,0.26481e+01_rb,0.20854e+01_rb /) kbo(:, 3,30,13) = (/ & & 0.11126e+01_rb,0.20559e+01_rb,0.25658e+01_rb,0.27219e+01_rb,0.21680e+01_rb /) kbo(:, 4,30,13) = (/ & & 0.12564e+01_rb,0.21643e+01_rb,0.26566e+01_rb,0.27840e+01_rb,0.22414e+01_rb /) kbo(:, 5,30,13) = (/ & & 0.14008e+01_rb,0.22700e+01_rb,0.27405e+01_rb,0.28371e+01_rb,0.23076e+01_rb /) kbo(:, 1,31,13) = (/ & & 0.86384e+00_rb,0.18548e+01_rb,0.23844e+01_rb,0.25824e+01_rb,0.20133e+01_rb /) kbo(:, 2,31,13) = (/ & & 0.99753e+00_rb,0.19681e+01_rb,0.24888e+01_rb,0.26671e+01_rb,0.21046e+01_rb /) kbo(:, 3,31,13) = (/ & & 0.11394e+01_rb,0.20787e+01_rb,0.25856e+01_rb,0.27387e+01_rb,0.21855e+01_rb /) kbo(:, 4,31,13) = (/ & & 0.12850e+01_rb,0.21876e+01_rb,0.26758e+01_rb,0.27988e+01_rb,0.22577e+01_rb /) kbo(:, 5,31,13) = (/ & & 0.14304e+01_rb,0.22931e+01_rb,0.27584e+01_rb,0.28498e+01_rb,0.23225e+01_rb /) kbo(:, 1,32,13) = (/ & & 0.88808e+00_rb,0.18788e+01_rb,0.24078e+01_rb,0.26044e+01_rb,0.20359e+01_rb /) kbo(:, 2,32,13) = (/ & & 0.10254e+01_rb,0.19921e+01_rb,0.25106e+01_rb,0.26862e+01_rb,0.21246e+01_rb /) kbo(:, 3,32,13) = (/ & & 0.11696e+01_rb,0.21031e+01_rb,0.26064e+01_rb,0.27554e+01_rb,0.22034e+01_rb /) kbo(:, 4,32,13) = (/ & & 0.13164e+01_rb,0.22122e+01_rb,0.26955e+01_rb,0.28135e+01_rb,0.22742e+01_rb /) kbo(:, 5,32,13) = (/ & & 0.14621e+01_rb,0.23175e+01_rb,0.27772e+01_rb,0.28624e+01_rb,0.23376e+01_rb /) kbo(:, 1,33,13) = (/ & & 0.91576e+00_rb,0.19044e+01_rb,0.24318e+01_rb,0.26262e+01_rb,0.20585e+01_rb /) kbo(:, 2,33,13) = (/ & & 0.10563e+01_rb,0.20178e+01_rb,0.25332e+01_rb,0.27053e+01_rb,0.21448e+01_rb /) kbo(:, 3,33,13) = (/ & & 0.12022e+01_rb,0.21286e+01_rb,0.26280e+01_rb,0.27719e+01_rb,0.22216e+01_rb /) kbo(:, 4,33,13) = (/ & & 0.13498e+01_rb,0.22379e+01_rb,0.27158e+01_rb,0.28276e+01_rb,0.22909e+01_rb /) kbo(:, 5,33,13) = (/ & & 0.14952e+01_rb,0.23427e+01_rb,0.27963e+01_rb,0.28748e+01_rb,0.23524e+01_rb /) kbo(:, 1,34,13) = (/ & & 0.94113e+00_rb,0.19270e+01_rb,0.24527e+01_rb,0.26448e+01_rb,0.20775e+01_rb /) kbo(:, 2,34,13) = (/ & & 0.10840e+01_rb,0.20405e+01_rb,0.25528e+01_rb,0.27213e+01_rb,0.21619e+01_rb /) kbo(:, 3,34,13) = (/ & & 0.12311e+01_rb,0.21512e+01_rb,0.26466e+01_rb,0.27855e+01_rb,0.22370e+01_rb /) kbo(:, 4,34,13) = (/ & & 0.13793e+01_rb,0.22602e+01_rb,0.27333e+01_rb,0.28395e+01_rb,0.23050e+01_rb /) kbo(:, 5,34,13) = (/ & & 0.15242e+01_rb,0.23644e+01_rb,0.28128e+01_rb,0.28850e+01_rb,0.23650e+01_rb /) kbo(:, 1,35,13) = (/ & & 0.95467e+00_rb,0.19391e+01_rb,0.24637e+01_rb,0.26549e+01_rb,0.20879e+01_rb /) kbo(:, 2,35,13) = (/ & & 0.10989e+01_rb,0.20529e+01_rb,0.25635e+01_rb,0.27301e+01_rb,0.21712e+01_rb /) kbo(:, 3,35,13) = (/ & & 0.12468e+01_rb,0.21638e+01_rb,0.26569e+01_rb,0.27931e+01_rb,0.22456e+01_rb /) kbo(:, 4,35,13) = (/ & & 0.13953e+01_rb,0.22726e+01_rb,0.27430e+01_rb,0.28463e+01_rb,0.23128e+01_rb /) kbo(:, 5,35,13) = (/ & & 0.15401e+01_rb,0.23764e+01_rb,0.28219e+01_rb,0.28908e+01_rb,0.23721e+01_rb /) kbo(:, 1,36,13) = (/ & & 0.95401e+00_rb,0.19393e+01_rb,0.24641e+01_rb,0.26563e+01_rb,0.20890e+01_rb /) kbo(:, 2,36,13) = (/ & & 0.10986e+01_rb,0.20534e+01_rb,0.25640e+01_rb,0.27314e+01_rb,0.21722e+01_rb /) kbo(:, 3,36,13) = (/ & & 0.12470e+01_rb,0.21646e+01_rb,0.26577e+01_rb,0.27946e+01_rb,0.22466e+01_rb /) kbo(:, 4,36,13) = (/ & & 0.13959e+01_rb,0.22738e+01_rb,0.27440e+01_rb,0.28477e+01_rb,0.23138e+01_rb /) kbo(:, 5,36,13) = (/ & & 0.15410e+01_rb,0.23778e+01_rb,0.28230e+01_rb,0.28922e+01_rb,0.23732e+01_rb /) kbo(:, 1,37,13) = (/ & & 0.93269e+00_rb,0.19221e+01_rb,0.24490e+01_rb,0.26452e+01_rb,0.20765e+01_rb /) kbo(:, 2,37,13) = (/ & & 0.10767e+01_rb,0.20372e+01_rb,0.25499e+01_rb,0.27223e+01_rb,0.21614e+01_rb /) kbo(:, 3,37,13) = (/ & & 0.12250e+01_rb,0.21490e+01_rb,0.26449e+01_rb,0.27873e+01_rb,0.22369e+01_rb /) kbo(:, 4,37,13) = (/ & & 0.13744e+01_rb,0.22588e+01_rb,0.27324e+01_rb,0.28416e+01_rb,0.23053e+01_rb /) kbo(:, 5,37,13) = (/ & & 0.15205e+01_rb,0.23639e+01_rb,0.28124e+01_rb,0.28871e+01_rb,0.23656e+01_rb /) kbo(:, 1,38,13) = (/ & & 0.91080e+00_rb,0.19040e+01_rb,0.24332e+01_rb,0.26332e+01_rb,0.20631e+01_rb /) kbo(:, 2,38,13) = (/ & & 0.10540e+01_rb,0.20201e+01_rb,0.25351e+01_rb,0.27123e+01_rb,0.21497e+01_rb /) kbo(:, 3,38,13) = (/ & & 0.12022e+01_rb,0.21326e+01_rb,0.26310e+01_rb,0.27790e+01_rb,0.22264e+01_rb /) kbo(:, 4,38,13) = (/ & & 0.13520e+01_rb,0.22432e+01_rb,0.27202e+01_rb,0.28347e+01_rb,0.22959e+01_rb /) kbo(:, 5,38,13) = (/ & & 0.14989e+01_rb,0.23490e+01_rb,0.28012e+01_rb,0.28815e+01_rb,0.23575e+01_rb /) kbo(:, 1,39,13) = (/ & & 0.88956e+00_rb,0.18861e+01_rb,0.24173e+01_rb,0.26207e+01_rb,0.20495e+01_rb /) kbo(:, 2,39,13) = (/ & & 0.10319e+01_rb,0.20032e+01_rb,0.25205e+01_rb,0.27021e+01_rb,0.21379e+01_rb /) kbo(:, 3,39,13) = (/ & & 0.11798e+01_rb,0.21163e+01_rb,0.26173e+01_rb,0.27704e+01_rb,0.22159e+01_rb /) kbo(:, 4,39,13) = (/ & & 0.13298e+01_rb,0.22272e+01_rb,0.27078e+01_rb,0.28277e+01_rb,0.22865e+01_rb /) kbo(:, 5,39,13) = (/ & & 0.14775e+01_rb,0.23341e+01_rb,0.27901e+01_rb,0.28757e+01_rb,0.23493e+01_rb /) kbo(:, 1,40,13) = (/ & & 0.85494e+00_rb,0.18558e+01_rb,0.23904e+01_rb,0.25985e+01_rb,0.20255e+01_rb /) kbo(:, 2,40,13) = (/ & & 0.99514e+00_rb,0.19745e+01_rb,0.24954e+01_rb,0.26836e+01_rb,0.21170e+01_rb /) kbo(:, 3,40,13) = (/ & & 0.11424e+01_rb,0.20885e+01_rb,0.25938e+01_rb,0.27547e+01_rb,0.21975e+01_rb /) kbo(:, 4,40,13) = (/ & & 0.12924e+01_rb,0.22001e+01_rb,0.26861e+01_rb,0.28148e+01_rb,0.22700e+01_rb /) kbo(:, 5,40,13) = (/ & & 0.14413e+01_rb,0.23083e+01_rb,0.27705e+01_rb,0.28664e+01_rb,0.23349e+01_rb /) kbo(:, 1,41,13) = (/ & & 0.81957e+00_rb,0.18237e+01_rb,0.23613e+01_rb,0.25741e+01_rb,0.19997e+01_rb /) kbo(:, 2,41,13) = (/ & & 0.95728e+00_rb,0.19441e+01_rb,0.24688e+01_rb,0.26632e+01_rb,0.20945e+01_rb /) kbo(:, 3,41,13) = (/ & & 0.11034e+01_rb,0.20591e+01_rb,0.25687e+01_rb,0.27378e+01_rb,0.21777e+01_rb /) kbo(:, 4,41,13) = (/ & & 0.12530e+01_rb,0.21714e+01_rb,0.26630e+01_rb,0.28005e+01_rb,0.22519e+01_rb /) kbo(:, 5,41,13) = (/ & & 0.14027e+01_rb,0.22807e+01_rb,0.27494e+01_rb,0.28533e+01_rb,0.23190e+01_rb /) kbo(:, 1,42,13) = (/ & & 0.78503e+00_rb,0.17918e+01_rb,0.23317e+01_rb,0.25487e+01_rb,0.19734e+01_rb /) kbo(:, 2,42,13) = (/ & & 0.92016e+00_rb,0.19132e+01_rb,0.24418e+01_rb,0.26418e+01_rb,0.20712e+01_rb /) kbo(:, 3,42,13) = (/ & & 0.10646e+01_rb,0.20294e+01_rb,0.25432e+01_rb,0.27200e+01_rb,0.21575e+01_rb /) kbo(:, 4,42,13) = (/ & & 0.12137e+01_rb,0.21426e+01_rb,0.26392e+01_rb,0.27859e+01_rb,0.22336e+01_rb /) kbo(:, 5,42,13) = (/ & & 0.13639e+01_rb,0.22528e+01_rb,0.27279e+01_rb,0.28411e+01_rb,0.23026e+01_rb /) kbo(:, 1,43,13) = (/ & & 0.74423e+00_rb,0.17527e+01_rb,0.22949e+01_rb,0.25159e+01_rb,0.19403e+01_rb /) kbo(:, 2,43,13) = (/ & & 0.87589e+00_rb,0.18750e+01_rb,0.24080e+01_rb,0.26143e+01_rb,0.20417e+01_rb /) kbo(:, 3,43,13) = (/ & & 0.10179e+01_rb,0.19932e+01_rb,0.25118e+01_rb,0.26972e+01_rb,0.21315e+01_rb /) kbo(:, 4,43,13) = (/ & & 0.11661e+01_rb,0.21073e+01_rb,0.26096e+01_rb,0.27665e+01_rb,0.22105e+01_rb /) kbo(:, 5,43,13) = (/ & & 0.13165e+01_rb,0.22185e+01_rb,0.27008e+01_rb,0.28247e+01_rb,0.22817e+01_rb /) kbo(:, 1,44,13) = (/ & & 0.70183e+00_rb,0.17101e+01_rb,0.22539e+01_rb,0.24783e+01_rb,0.19029e+01_rb /) kbo(:, 2,44,13) = (/ & & 0.82940e+00_rb,0.18334e+01_rb,0.23707e+01_rb,0.25829e+01_rb,0.20083e+01_rb /) kbo(:, 3,44,13) = (/ & & 0.96829e+00_rb,0.19537e+01_rb,0.24774e+01_rb,0.26707e+01_rb,0.21022e+01_rb /) kbo(:, 4,44,13) = (/ & & 0.11151e+01_rb,0.20687e+01_rb,0.25770e+01_rb,0.27443e+01_rb,0.21846e+01_rb /) kbo(:, 5,44,13) = (/ & & 0.12651e+01_rb,0.21808e+01_rb,0.26707e+01_rb,0.28061e+01_rb,0.22584e+01_rb /) kbo(:, 1,45,13) = (/ & & 0.66118e+00_rb,0.16676e+01_rb,0.22119e+01_rb,0.24384e+01_rb,0.18634e+01_rb /) kbo(:, 2,45,13) = (/ & & 0.78445e+00_rb,0.17917e+01_rb,0.23321e+01_rb,0.25495e+01_rb,0.19739e+01_rb /) kbo(:, 3,45,13) = (/ & & 0.91984e+00_rb,0.19133e+01_rb,0.24421e+01_rb,0.26427e+01_rb,0.20718e+01_rb /) kbo(:, 4,45,13) = (/ & & 0.10646e+01_rb,0.20301e+01_rb,0.25439e+01_rb,0.27211e+01_rb,0.21582e+01_rb /) kbo(:, 5,45,13) = (/ & & 0.12138e+01_rb,0.21430e+01_rb,0.26395e+01_rb,0.27867e+01_rb,0.22343e+01_rb /) kbo(:, 1,46,13) = (/ & & 0.61933e+00_rb,0.16221e+01_rb,0.21659e+01_rb,0.23935e+01_rb,0.18196e+01_rb /) kbo(:, 2,46,13) = (/ & & 0.73807e+00_rb,0.17470e+01_rb,0.22898e+01_rb,0.25118e+01_rb,0.19358e+01_rb /) kbo(:, 3,46,13) = (/ & & 0.86934e+00_rb,0.18696e+01_rb,0.24034e+01_rb,0.26109e+01_rb,0.20379e+01_rb /) kbo(:, 4,46,13) = (/ & & 0.10113e+01_rb,0.19884e+01_rb,0.25076e+01_rb,0.26946e+01_rb,0.21283e+01_rb /) kbo(:, 5,46,13) = (/ & & 0.11593e+01_rb,0.21025e+01_rb,0.26055e+01_rb,0.27643e+01_rb,0.22076e+01_rb /) kbo(:, 1,47,13) = (/ & & 0.57374e+00_rb,0.15709e+01_rb,0.21131e+01_rb,0.23400e+01_rb,0.17680e+01_rb /) kbo(:, 2,47,13) = (/ & & 0.68838e+00_rb,0.16965e+01_rb,0.22409e+01_rb,0.24665e+01_rb,0.18907e+01_rb /) kbo(:, 3,47,13) = (/ & & 0.81478e+00_rb,0.18201e+01_rb,0.23589e+01_rb,0.25731e+01_rb,0.19980e+01_rb /) kbo(:, 4,47,13) = (/ & & 0.95278e+00_rb,0.19412e+01_rb,0.24665e+01_rb,0.26626e+01_rb,0.20931e+01_rb /) kbo(:, 5,47,13) = (/ & & 0.10991e+01_rb,0.20567e+01_rb,0.25667e+01_rb,0.27376e+01_rb,0.21769e+01_rb /) kbo(:, 1,48,13) = (/ & & 0.52946e+00_rb,0.15198e+01_rb,0.20592e+01_rb,0.22834e+01_rb,0.17136e+01_rb /) kbo(:, 2,48,13) = (/ & & 0.64089e+00_rb,0.16459e+01_rb,0.21904e+01_rb,0.24180e+01_rb,0.18431e+01_rb /) kbo(:, 3,48,13) = (/ & & 0.76211e+00_rb,0.17708e+01_rb,0.23126e+01_rb,0.25324e+01_rb,0.19565e+01_rb /) kbo(:, 4,48,13) = (/ & & 0.89568e+00_rb,0.18928e+01_rb,0.24241e+01_rb,0.26284e+01_rb,0.20564e+01_rb /) kbo(:, 5,48,13) = (/ & & 0.10393e+01_rb,0.20105e+01_rb,0.25268e+01_rb,0.27091e+01_rb,0.21445e+01_rb /) kbo(:, 1,49,13) = (/ & & 0.48708e+00_rb,0.14681e+01_rb,0.20029e+01_rb,0.22232e+01_rb,0.16566e+01_rb /) kbo(:, 2,49,13) = (/ & & 0.59510e+00_rb,0.15951e+01_rb,0.21382e+01_rb,0.23660e+01_rb,0.17928e+01_rb /) kbo(:, 3,49,13) = (/ & & 0.71141e+00_rb,0.17205e+01_rb,0.22646e+01_rb,0.24889e+01_rb,0.19130e+01_rb /) kbo(:, 4,49,13) = (/ & & 0.84034e+00_rb,0.18437e+01_rb,0.23804e+01_rb,0.25917e+01_rb,0.20174e+01_rb /) kbo(:, 5,49,13) = (/ & & 0.98023e+00_rb,0.19637e+01_rb,0.24863e+01_rb,0.26785e+01_rb,0.21102e+01_rb /) kbo(:, 1,50,13) = (/ & & 0.44946e+00_rb,0.14198e+01_rb,0.19480e+01_rb,0.21639e+01_rb,0.16005e+01_rb /) kbo(:, 2,50,13) = (/ & & 0.55308e+00_rb,0.15472e+01_rb,0.20885e+01_rb,0.23146e+01_rb,0.17433e+01_rb /) kbo(:, 3,50,13) = (/ & & 0.66640e+00_rb,0.16732e+01_rb,0.22179e+01_rb,0.24447e+01_rb,0.18693e+01_rb /) kbo(:, 4,50,13) = (/ & & 0.79021e+00_rb,0.17975e+01_rb,0.23380e+01_rb,0.25550e+01_rb,0.19794e+01_rb /) kbo(:, 5,50,13) = (/ & & 0.92626e+00_rb,0.19191e+01_rb,0.24474e+01_rb,0.26476e+01_rb,0.20768e+01_rb /) kbo(:, 1,51,13) = (/ & & 0.41452e+00_rb,0.13727e+01_rb,0.18922e+01_rb,0.21038e+01_rb,0.15428e+01_rb /) kbo(:, 2,51,13) = (/ & & 0.51362e+00_rb,0.15005e+01_rb,0.20385e+01_rb,0.22616e+01_rb,0.16930e+01_rb /) kbo(:, 3,51,13) = (/ & & 0.62394e+00_rb,0.16272e+01_rb,0.21714e+01_rb,0.23993e+01_rb,0.18251e+01_rb /) kbo(:, 4,51,13) = (/ & & 0.74304e+00_rb,0.17523e+01_rb,0.22953e+01_rb,0.25171e+01_rb,0.19410e+01_rb /) kbo(:, 5,51,13) = (/ & & 0.87505e+00_rb,0.18748e+01_rb,0.24082e+01_rb,0.26155e+01_rb,0.20426e+01_rb /) kbo(:, 1,52,13) = (/ & & 0.38121e+00_rb,0.13250e+01_rb,0.18350e+01_rb,0.20413e+01_rb,0.14822e+01_rb /) kbo(:, 2,52,13) = (/ & & 0.47581e+00_rb,0.14538e+01_rb,0.19870e+01_rb,0.22062e+01_rb,0.16405e+01_rb /) kbo(:, 3,52,13) = (/ & & 0.58258e+00_rb,0.15810e+01_rb,0.21239e+01_rb,0.23514e+01_rb,0.17789e+01_rb /) kbo(:, 4,52,13) = (/ & & 0.69813e+00_rb,0.17065e+01_rb,0.22509e+01_rb,0.24762e+01_rb,0.19005e+01_rb /) kbo(:, 5,52,13) = (/ & & 0.82543e+00_rb,0.18301e+01_rb,0.23683e+01_rb,0.25815e+01_rb,0.20067e+01_rb /) kbo(:, 1,53,13) = (/ & & 0.34902e+00_rb,0.12769e+01_rb,0.17751e+01_rb,0.19762e+01_rb,0.14178e+01_rb /) kbo(:, 2,53,13) = (/ & & 0.43953e+00_rb,0.14068e+01_rb,0.19332e+01_rb,0.21485e+01_rb,0.15854e+01_rb /) kbo(:, 3,53,13) = (/ & & 0.54216e+00_rb,0.15348e+01_rb,0.20756e+01_rb,0.23010e+01_rb,0.17302e+01_rb /) kbo(:, 4,53,13) = (/ & & 0.65469e+00_rb,0.16608e+01_rb,0.22054e+01_rb,0.24328e+01_rb,0.18578e+01_rb /) kbo(:, 5,53,13) = (/ & & 0.77730e+00_rb,0.17854e+01_rb,0.23267e+01_rb,0.25453e+01_rb,0.19695e+01_rb /) kbo(:, 1,54,13) = (/ & & 0.32058e+00_rb,0.12324e+01_rb,0.17175e+01_rb,0.19140e+01_rb,0.13553e+01_rb /) kbo(:, 2,54,13) = (/ & & 0.40795e+00_rb,0.13637e+01_rb,0.18819e+01_rb,0.20929e+01_rb,0.15321e+01_rb /) kbo(:, 3,54,13) = (/ & & 0.50645e+00_rb,0.14920e+01_rb,0.20295e+01_rb,0.22518e+01_rb,0.16837e+01_rb /) kbo(:, 4,54,13) = (/ & & 0.61609e+00_rb,0.16187e+01_rb,0.21628e+01_rb,0.23909e+01_rb,0.18169e+01_rb /) kbo(:, 5,54,13) = (/ & & 0.73448e+00_rb,0.17439e+01_rb,0.22873e+01_rb,0.25101e+01_rb,0.19340e+01_rb /) kbo(:, 1,55,13) = (/ & & 0.29443e+00_rb,0.11892e+01_rb,0.16600e+01_rb,0.18513e+01_rb,0.12929e+01_rb /) kbo(:, 2,55,13) = (/ & & 0.37883e+00_rb,0.13219e+01_rb,0.18314e+01_rb,0.20376e+01_rb,0.14784e+01_rb /) kbo(:, 3,55,13) = (/ & & 0.47335e+00_rb,0.14508e+01_rb,0.19839e+01_rb,0.22027e+01_rb,0.16372e+01_rb /) kbo(:, 4,55,13) = (/ & & 0.57989e+00_rb,0.15780e+01_rb,0.21210e+01_rb,0.23485e+01_rb,0.17761e+01_rb /) kbo(:, 5,55,13) = (/ & & 0.69533e+00_rb,0.17037e+01_rb,0.22482e+01_rb,0.24738e+01_rb,0.18980e+01_rb /) kbo(:, 1,56,13) = (/ & & 0.26936e+00_rb,0.11459e+01_rb,0.16007e+01_rb,0.17863e+01_rb,0.12289e+01_rb /) kbo(:, 2,56,13) = (/ & & 0.35065e+00_rb,0.12797e+01_rb,0.17789e+01_rb,0.19807e+01_rb,0.14221e+01_rb /) kbo(:, 3,56,13) = (/ & & 0.44158e+00_rb,0.14097e+01_rb,0.19368e+01_rb,0.21523e+01_rb,0.15891e+01_rb /) kbo(:, 4,56,13) = (/ & & 0.54448e+00_rb,0.15375e+01_rb,0.20786e+01_rb,0.23043e+01_rb,0.17334e+01_rb /) kbo(:, 5,56,13) = (/ & & 0.65732e+00_rb,0.16637e+01_rb,0.22084e+01_rb,0.24358e+01_rb,0.18606e+01_rb /) kbo(:, 1,57,13) = (/ & & 0.24515e+00_rb,0.11022e+01_rb,0.15388e+01_rb,0.17186e+01_rb,0.11645e+01_rb /) kbo(:, 2,57,13) = (/ & & 0.32341e+00_rb,0.12372e+01_rb,0.17241e+01_rb,0.19215e+01_rb,0.13626e+01_rb /) kbo(:, 3,57,13) = (/ & & 0.41131e+00_rb,0.13686e+01_rb,0.18879e+01_rb,0.20994e+01_rb,0.15383e+01_rb /) kbo(:, 4,57,13) = (/ & & 0.51026e+00_rb,0.14967e+01_rb,0.20347e+01_rb,0.22575e+01_rb,0.16892e+01_rb /) kbo(:, 5,57,13) = (/ & & 0.62036e+00_rb,0.16234e+01_rb,0.21677e+01_rb,0.23959e+01_rb,0.18217e+01_rb /) kbo(:, 1,58,13) = (/ & & 0.22298e+00_rb,0.10601e+01_rb,0.14788e+01_rb,0.16521e+01_rb,0.11024e+01_rb /) kbo(:, 2,58,13) = (/ & & 0.29857e+00_rb,0.11965e+01_rb,0.16700e+01_rb,0.18625e+01_rb,0.13039e+01_rb /) kbo(:, 3,58,13) = (/ & & 0.38366e+00_rb,0.13291e+01_rb,0.18404e+01_rb,0.20474e+01_rb,0.14880e+01_rb /) kbo(:, 4,58,13) = (/ & & 0.47882e+00_rb,0.14579e+01_rb,0.19918e+01_rb,0.22114e+01_rb,0.16455e+01_rb /) kbo(:, 5,58,13) = (/ & & 0.58601e+00_rb,0.15850e+01_rb,0.21282e+01_rb,0.23561e+01_rb,0.17833e+01_rb /) kbo(:, 1,59,13) = (/ & & 0.21427e+00_rb,0.10429e+01_rb,0.14544e+01_rb,0.16247e+01_rb,0.10771e+01_rb /) kbo(:, 2,59,13) = (/ & & 0.28885e+00_rb,0.11801e+01_rb,0.16480e+01_rb,0.18384e+01_rb,0.12798e+01_rb /) kbo(:, 3,59,13) = (/ & & 0.37281e+00_rb,0.13132e+01_rb,0.18209e+01_rb,0.20260e+01_rb,0.14670e+01_rb /) kbo(:, 4,59,13) = (/ & & 0.46652e+00_rb,0.14422e+01_rb,0.19743e+01_rb,0.21926e+01_rb,0.16276e+01_rb /) kbo(:, 5,59,13) = (/ & & 0.57246e+00_rb,0.15697e+01_rb,0.21123e+01_rb,0.23397e+01_rb,0.17674e+01_rb /) kbo(:, 1,13,14) = (/ & & 0.76467e+01_rb,0.66870e+01_rb,0.63502e+01_rb,0.61468e+01_rb,0.66906e+01_rb /) kbo(:, 2,13,14) = (/ & & 0.76514e+01_rb,0.66716e+01_rb,0.63627e+01_rb,0.61942e+01_rb,0.67780e+01_rb /) kbo(:, 3,13,14) = (/ & & 0.76475e+01_rb,0.66428e+01_rb,0.63628e+01_rb,0.62371e+01_rb,0.68460e+01_rb /) kbo(:, 4,13,14) = (/ & & 0.76415e+01_rb,0.66083e+01_rb,0.63514e+01_rb,0.62630e+01_rb,0.69072e+01_rb /) kbo(:, 5,13,14) = (/ & & 0.76283e+01_rb,0.65686e+01_rb,0.63330e+01_rb,0.62779e+01_rb,0.69614e+01_rb /) kbo(:, 1,14,14) = (/ & & 0.77958e+01_rb,0.69779e+01_rb,0.66658e+01_rb,0.63591e+01_rb,0.67479e+01_rb /) kbo(:, 2,14,14) = (/ & & 0.78014e+01_rb,0.69599e+01_rb,0.66792e+01_rb,0.64167e+01_rb,0.68357e+01_rb /) kbo(:, 3,14,14) = (/ & & 0.78100e+01_rb,0.69314e+01_rb,0.66809e+01_rb,0.64627e+01_rb,0.69109e+01_rb /) kbo(:, 4,14,14) = (/ & & 0.78098e+01_rb,0.68950e+01_rb,0.66685e+01_rb,0.64923e+01_rb,0.69838e+01_rb /) kbo(:, 5,14,14) = (/ & & 0.77999e+01_rb,0.68585e+01_rb,0.66494e+01_rb,0.65137e+01_rb,0.70531e+01_rb /) kbo(:, 1,15,14) = (/ & & 0.78397e+01_rb,0.72065e+01_rb,0.69626e+01_rb,0.65521e+01_rb,0.67717e+01_rb /) kbo(:, 2,15,14) = (/ & & 0.78630e+01_rb,0.71900e+01_rb,0.69770e+01_rb,0.66166e+01_rb,0.68639e+01_rb /) kbo(:, 3,15,14) = (/ & & 0.78829e+01_rb,0.71661e+01_rb,0.69761e+01_rb,0.66643e+01_rb,0.69508e+01_rb /) kbo(:, 4,15,14) = (/ & & 0.78961e+01_rb,0.71374e+01_rb,0.69668e+01_rb,0.66987e+01_rb,0.70374e+01_rb /) kbo(:, 5,15,14) = (/ & & 0.78984e+01_rb,0.71026e+01_rb,0.69440e+01_rb,0.67207e+01_rb,0.71207e+01_rb /) kbo(:, 1,16,14) = (/ & & 0.77976e+01_rb,0.73768e+01_rb,0.72331e+01_rb,0.67309e+01_rb,0.67735e+01_rb /) kbo(:, 2,16,14) = (/ & & 0.78456e+01_rb,0.73704e+01_rb,0.72485e+01_rb,0.67988e+01_rb,0.68801e+01_rb /) kbo(:, 3,16,14) = (/ & & 0.78840e+01_rb,0.73590e+01_rb,0.72505e+01_rb,0.68482e+01_rb,0.69801e+01_rb /) kbo(:, 4,16,14) = (/ & & 0.79146e+01_rb,0.73379e+01_rb,0.72385e+01_rb,0.68847e+01_rb,0.70795e+01_rb /) kbo(:, 5,16,14) = (/ & & 0.79322e+01_rb,0.73060e+01_rb,0.72179e+01_rb,0.69099e+01_rb,0.71779e+01_rb /) kbo(:, 1,17,14) = (/ & & 0.76851e+01_rb,0.74978e+01_rb,0.74681e+01_rb,0.68923e+01_rb,0.67646e+01_rb /) kbo(:, 2,17,14) = (/ & & 0.77622e+01_rb,0.75112e+01_rb,0.74909e+01_rb,0.69618e+01_rb,0.68880e+01_rb /) kbo(:, 3,17,14) = (/ & & 0.78293e+01_rb,0.75089e+01_rb,0.74964e+01_rb,0.70134e+01_rb,0.70063e+01_rb /) kbo(:, 4,17,14) = (/ & & 0.78832e+01_rb,0.75014e+01_rb,0.74883e+01_rb,0.70540e+01_rb,0.71204e+01_rb /) kbo(:, 5,17,14) = (/ & & 0.79237e+01_rb,0.74752e+01_rb,0.74629e+01_rb,0.70833e+01_rb,0.72311e+01_rb /) kbo(:, 1,18,14) = (/ & & 0.75343e+01_rb,0.75844e+01_rb,0.76679e+01_rb,0.70369e+01_rb,0.67530e+01_rb /) kbo(:, 2,18,14) = (/ & & 0.76372e+01_rb,0.76127e+01_rb,0.76999e+01_rb,0.71100e+01_rb,0.68939e+01_rb /) kbo(:, 3,18,14) = (/ & & 0.77344e+01_rb,0.76293e+01_rb,0.77123e+01_rb,0.71649e+01_rb,0.70305e+01_rb /) kbo(:, 4,18,14) = (/ & & 0.78168e+01_rb,0.76302e+01_rb,0.77077e+01_rb,0.72057e+01_rb,0.71594e+01_rb /) kbo(:, 5,18,14) = (/ & & 0.78848e+01_rb,0.76120e+01_rb,0.76799e+01_rb,0.72369e+01_rb,0.72819e+01_rb /) kbo(:, 1,19,14) = (/ & & 0.73642e+01_rb,0.76427e+01_rb,0.78392e+01_rb,0.71673e+01_rb,0.67426e+01_rb /) kbo(:, 2,19,14) = (/ & & 0.75027e+01_rb,0.76890e+01_rb,0.78792e+01_rb,0.72411e+01_rb,0.69029e+01_rb /) kbo(:, 3,19,14) = (/ & & 0.76261e+01_rb,0.77218e+01_rb,0.78995e+01_rb,0.72995e+01_rb,0.70551e+01_rb /) kbo(:, 4,19,14) = (/ & & 0.77358e+01_rb,0.77317e+01_rb,0.78972e+01_rb,0.73431e+01_rb,0.71976e+01_rb /) kbo(:, 5,19,14) = (/ & & 0.78306e+01_rb,0.77206e+01_rb,0.78669e+01_rb,0.73734e+01_rb,0.73288e+01_rb /) kbo(:, 1,20,14) = (/ & & 0.71989e+01_rb,0.76856e+01_rb,0.79830e+01_rb,0.72835e+01_rb,0.67408e+01_rb /) kbo(:, 2,20,14) = (/ & & 0.73691e+01_rb,0.77492e+01_rb,0.80344e+01_rb,0.73623e+01_rb,0.69200e+01_rb /) kbo(:, 3,20,14) = (/ & & 0.75204e+01_rb,0.77952e+01_rb,0.80604e+01_rb,0.74206e+01_rb,0.70842e+01_rb /) kbo(:, 4,20,14) = (/ & & 0.76560e+01_rb,0.78150e+01_rb,0.80567e+01_rb,0.74651e+01_rb,0.72381e+01_rb /) kbo(:, 5,20,14) = (/ & & 0.77736e+01_rb,0.78108e+01_rb,0.80255e+01_rb,0.74944e+01_rb,0.73772e+01_rb /) kbo(:, 1,21,14) = (/ & & 0.70426e+01_rb,0.77166e+01_rb,0.81049e+01_rb,0.73883e+01_rb,0.67480e+01_rb /) kbo(:, 2,21,14) = (/ & & 0.72474e+01_rb,0.77946e+01_rb,0.81668e+01_rb,0.74708e+01_rb,0.69410e+01_rb /) kbo(:, 3,21,14) = (/ & & 0.74271e+01_rb,0.78518e+01_rb,0.81976e+01_rb,0.75283e+01_rb,0.71153e+01_rb /) kbo(:, 4,21,14) = (/ & & 0.75881e+01_rb,0.78806e+01_rb,0.81926e+01_rb,0.75722e+01_rb,0.72765e+01_rb /) kbo(:, 5,21,14) = (/ & & 0.77244e+01_rb,0.78840e+01_rb,0.81605e+01_rb,0.76005e+01_rb,0.74219e+01_rb /) kbo(:, 1,22,14) = (/ & & 0.69208e+01_rb,0.77467e+01_rb,0.82134e+01_rb,0.74892e+01_rb,0.67760e+01_rb /) kbo(:, 2,22,14) = (/ & & 0.71527e+01_rb,0.78380e+01_rb,0.82825e+01_rb,0.75703e+01_rb,0.69788e+01_rb /) kbo(:, 3,22,14) = (/ & & 0.73591e+01_rb,0.79026e+01_rb,0.83138e+01_rb,0.76265e+01_rb,0.71614e+01_rb /) kbo(:, 4,22,14) = (/ & & 0.75412e+01_rb,0.79369e+01_rb,0.83052e+01_rb,0.76676e+01_rb,0.73269e+01_rb /) kbo(:, 5,22,14) = (/ & & 0.76931e+01_rb,0.79423e+01_rb,0.82705e+01_rb,0.76932e+01_rb,0.74734e+01_rb /) kbo(:, 1,23,14) = (/ & & 0.68264e+01_rb,0.77768e+01_rb,0.83085e+01_rb,0.75813e+01_rb,0.68129e+01_rb /) kbo(:, 2,23,14) = (/ & & 0.70814e+01_rb,0.78791e+01_rb,0.83807e+01_rb,0.76573e+01_rb,0.70223e+01_rb /) kbo(:, 3,23,14) = (/ & & 0.73108e+01_rb,0.79473e+01_rb,0.84103e+01_rb,0.77115e+01_rb,0.72087e+01_rb /) kbo(:, 4,23,14) = (/ & & 0.75083e+01_rb,0.79850e+01_rb,0.83989e+01_rb,0.77500e+01_rb,0.73762e+01_rb /) kbo(:, 5,23,14) = (/ & & 0.76738e+01_rb,0.79912e+01_rb,0.83608e+01_rb,0.77715e+01_rb,0.75218e+01_rb /) kbo(:, 1,24,14) = (/ & & 0.67597e+01_rb,0.78092e+01_rb,0.83929e+01_rb,0.76639e+01_rb,0.68571e+01_rb /) kbo(:, 2,24,14) = (/ & & 0.70359e+01_rb,0.79159e+01_rb,0.84653e+01_rb,0.77347e+01_rb,0.70700e+01_rb /) kbo(:, 3,24,14) = (/ & & 0.72818e+01_rb,0.79869e+01_rb,0.84905e+01_rb,0.77860e+01_rb,0.72578e+01_rb /) kbo(:, 4,24,14) = (/ & & 0.74908e+01_rb,0.80269e+01_rb,0.84765e+01_rb,0.78202e+01_rb,0.74248e+01_rb /) kbo(:, 5,24,14) = (/ & & 0.76673e+01_rb,0.80324e+01_rb,0.84337e+01_rb,0.78375e+01_rb,0.75690e+01_rb /) kbo(:, 1,25,14) = (/ & & 0.67209e+01_rb,0.78436e+01_rb,0.84676e+01_rb,0.77356e+01_rb,0.69066e+01_rb /) kbo(:, 2,25,14) = (/ & & 0.70147e+01_rb,0.79506e+01_rb,0.85366e+01_rb,0.78027e+01_rb,0.71216e+01_rb /) kbo(:, 3,25,14) = (/ & & 0.72710e+01_rb,0.80222e+01_rb,0.85567e+01_rb,0.78495e+01_rb,0.73079e+01_rb /) kbo(:, 4,25,14) = (/ & & 0.74891e+01_rb,0.80627e+01_rb,0.85388e+01_rb,0.78803e+01_rb,0.74736e+01_rb /) kbo(:, 5,25,14) = (/ & & 0.76763e+01_rb,0.80663e+01_rb,0.84908e+01_rb,0.78920e+01_rb,0.76152e+01_rb /) kbo(:, 1,26,14) = (/ & & 0.67117e+01_rb,0.78809e+01_rb,0.85346e+01_rb,0.77996e+01_rb,0.69621e+01_rb /) kbo(:, 2,26,14) = (/ & & 0.70163e+01_rb,0.79848e+01_rb,0.85977e+01_rb,0.78624e+01_rb,0.71766e+01_rb /) kbo(:, 3,26,14) = (/ & & 0.72800e+01_rb,0.80555e+01_rb,0.86111e+01_rb,0.79043e+01_rb,0.73612e+01_rb /) kbo(:, 4,26,14) = (/ & & 0.75048e+01_rb,0.80927e+01_rb,0.85874e+01_rb,0.79312e+01_rb,0.75235e+01_rb /) kbo(:, 5,26,14) = (/ & & 0.76969e+01_rb,0.80929e+01_rb,0.85318e+01_rb,0.79367e+01_rb,0.76615e+01_rb /) kbo(:, 1,27,14) = (/ & & 0.67222e+01_rb,0.79165e+01_rb,0.85935e+01_rb,0.78553e+01_rb,0.70208e+01_rb /) kbo(:, 2,27,14) = (/ & & 0.70339e+01_rb,0.80174e+01_rb,0.86486e+01_rb,0.79134e+01_rb,0.72318e+01_rb /) kbo(:, 3,27,14) = (/ & & 0.73021e+01_rb,0.80859e+01_rb,0.86549e+01_rb,0.79502e+01_rb,0.74127e+01_rb /) kbo(:, 4,27,14) = (/ & & 0.75298e+01_rb,0.81175e+01_rb,0.86239e+01_rb,0.79721e+01_rb,0.75702e+01_rb /) kbo(:, 5,27,14) = (/ & & 0.77246e+01_rb,0.81143e+01_rb,0.85613e+01_rb,0.79734e+01_rb,0.77047e+01_rb /) kbo(:, 1,28,14) = (/ & & 0.67490e+01_rb,0.79508e+01_rb,0.86448e+01_rb,0.79039e+01_rb,0.70793e+01_rb /) kbo(:, 2,28,14) = (/ & & 0.70641e+01_rb,0.80481e+01_rb,0.86903e+01_rb,0.79567e+01_rb,0.72853e+01_rb /) kbo(:, 3,28,14) = (/ & & 0.73339e+01_rb,0.81119e+01_rb,0.86890e+01_rb,0.79886e+01_rb,0.74622e+01_rb /) kbo(:, 4,28,14) = (/ & & 0.75625e+01_rb,0.81383e+01_rb,0.86502e+01_rb,0.80049e+01_rb,0.76145e+01_rb /) kbo(:, 5,28,14) = (/ & & 0.77567e+01_rb,0.81304e+01_rb,0.85806e+01_rb,0.80023e+01_rb,0.77455e+01_rb /) kbo(:, 1,29,14) = (/ & & 0.67914e+01_rb,0.79845e+01_rb,0.86886e+01_rb,0.79462e+01_rb,0.71386e+01_rb /) kbo(:, 2,29,14) = (/ & & 0.71068e+01_rb,0.80770e+01_rb,0.87239e+01_rb,0.79933e+01_rb,0.73389e+01_rb /) kbo(:, 3,29,14) = (/ & & 0.73751e+01_rb,0.81344e+01_rb,0.87144e+01_rb,0.80208e+01_rb,0.75104e+01_rb /) kbo(:, 4,29,14) = (/ & & 0.76020e+01_rb,0.81550e+01_rb,0.86676e+01_rb,0.80316e+01_rb,0.76575e+01_rb /) kbo(:, 5,29,14) = (/ & & 0.77937e+01_rb,0.81425e+01_rb,0.85914e+01_rb,0.80248e+01_rb,0.77840e+01_rb /) kbo(:, 1,30,14) = (/ & & 0.68445e+01_rb,0.80166e+01_rb,0.87256e+01_rb,0.79827e+01_rb,0.71970e+01_rb /) kbo(:, 2,30,14) = (/ & & 0.71563e+01_rb,0.81037e+01_rb,0.87505e+01_rb,0.80234e+01_rb,0.73900e+01_rb /) kbo(:, 3,30,14) = (/ & & 0.74214e+01_rb,0.81535e+01_rb,0.87321e+01_rb,0.80469e+01_rb,0.75564e+01_rb /) kbo(:, 4,30,14) = (/ & & 0.76455e+01_rb,0.81683e+01_rb,0.86770e+01_rb,0.80524e+01_rb,0.76986e+01_rb /) kbo(:, 5,30,14) = (/ & & 0.78317e+01_rb,0.81499e+01_rb,0.85949e+01_rb,0.80416e+01_rb,0.78203e+01_rb /) kbo(:, 1,31,14) = (/ & & 0.69054e+01_rb,0.80478e+01_rb,0.87566e+01_rb,0.80136e+01_rb,0.72537e+01_rb /) kbo(:, 2,31,14) = (/ & & 0.72125e+01_rb,0.81281e+01_rb,0.87710e+01_rb,0.80494e+01_rb,0.74404e+01_rb /) kbo(:, 3,31,14) = (/ & & 0.74718e+01_rb,0.81700e+01_rb,0.87427e+01_rb,0.80677e+01_rb,0.76003e+01_rb /) kbo(:, 4,31,14) = (/ & & 0.76912e+01_rb,0.81779e+01_rb,0.86791e+01_rb,0.80682e+01_rb,0.77384e+01_rb /) kbo(:, 5,31,14) = (/ & & 0.78715e+01_rb,0.81532e+01_rb,0.85914e+01_rb,0.80538e+01_rb,0.78547e+01_rb /) kbo(:, 1,32,14) = (/ & & 0.69718e+01_rb,0.80767e+01_rb,0.87812e+01_rb,0.80405e+01_rb,0.73093e+01_rb /) kbo(:, 2,32,14) = (/ & & 0.72714e+01_rb,0.81493e+01_rb,0.87845e+01_rb,0.80705e+01_rb,0.74889e+01_rb /) kbo(:, 3,32,14) = (/ & & 0.75255e+01_rb,0.81843e+01_rb,0.87476e+01_rb,0.80843e+01_rb,0.76427e+01_rb /) kbo(:, 4,32,14) = (/ & & 0.77373e+01_rb,0.81836e+01_rb,0.86757e+01_rb,0.80798e+01_rb,0.77759e+01_rb /) kbo(:, 5,32,14) = (/ & & 0.79115e+01_rb,0.81523e+01_rb,0.85821e+01_rb,0.80611e+01_rb,0.78870e+01_rb /) kbo(:, 1,33,14) = (/ & & 0.70424e+01_rb,0.81041e+01_rb,0.88003e+01_rb,0.80631e+01_rb,0.73621e+01_rb /) kbo(:, 2,33,14) = (/ & & 0.73332e+01_rb,0.81674e+01_rb,0.87934e+01_rb,0.80887e+01_rb,0.75359e+01_rb /) kbo(:, 3,33,14) = (/ & & 0.75797e+01_rb,0.81949e+01_rb,0.87467e+01_rb,0.80962e+01_rb,0.76832e+01_rb /) kbo(:, 4,33,14) = (/ & & 0.77832e+01_rb,0.81860e+01_rb,0.86679e+01_rb,0.80880e+01_rb,0.78112e+01_rb /) kbo(:, 5,33,14) = (/ & & 0.79514e+01_rb,0.81480e+01_rb,0.85688e+01_rb,0.80650e+01_rb,0.79176e+01_rb /) kbo(:, 1,34,14) = (/ & & 0.71032e+01_rb,0.81256e+01_rb,0.88135e+01_rb,0.80801e+01_rb,0.74073e+01_rb /) kbo(:, 2,34,14) = (/ & & 0.73864e+01_rb,0.81812e+01_rb,0.87981e+01_rb,0.81025e+01_rb,0.75752e+01_rb /) kbo(:, 3,34,14) = (/ & & 0.76257e+01_rb,0.82022e+01_rb,0.87428e+01_rb,0.81055e+01_rb,0.77177e+01_rb /) kbo(:, 4,34,14) = (/ & & 0.78229e+01_rb,0.81866e+01_rb,0.86595e+01_rb,0.80934e+01_rb,0.78409e+01_rb /) kbo(:, 5,34,14) = (/ & & 0.79841e+01_rb,0.81428e+01_rb,0.85553e+01_rb,0.80663e+01_rb,0.79427e+01_rb /) kbo(:, 1,35,14) = (/ & & 0.71357e+01_rb,0.81386e+01_rb,0.88238e+01_rb,0.80923e+01_rb,0.74328e+01_rb /) kbo(:, 2,35,14) = (/ & & 0.74155e+01_rb,0.81901e+01_rb,0.88028e+01_rb,0.81125e+01_rb,0.75980e+01_rb /) kbo(:, 3,35,14) = (/ & & 0.76506e+01_rb,0.82068e+01_rb,0.87428e+01_rb,0.81128e+01_rb,0.77381e+01_rb /) kbo(:, 4,35,14) = (/ & & 0.78446e+01_rb,0.81876e+01_rb,0.86563e+01_rb,0.80980e+01_rb,0.78583e+01_rb /) kbo(:, 5,35,14) = (/ & & 0.80022e+01_rb,0.81408e+01_rb,0.85492e+01_rb,0.80683e+01_rb,0.79574e+01_rb /) kbo(:, 1,36,14) = (/ & & 0.71358e+01_rb,0.81426e+01_rb,0.88312e+01_rb,0.80996e+01_rb,0.74385e+01_rb /) kbo(:, 2,36,14) = (/ & & 0.74168e+01_rb,0.81942e+01_rb,0.88101e+01_rb,0.81195e+01_rb,0.76033e+01_rb /) kbo(:, 3,36,14) = (/ & & 0.76530e+01_rb,0.82111e+01_rb,0.87491e+01_rb,0.81189e+01_rb,0.77431e+01_rb /) kbo(:, 4,36,14) = (/ & & 0.78475e+01_rb,0.81916e+01_rb,0.86625e+01_rb,0.81041e+01_rb,0.78633e+01_rb /) kbo(:, 5,36,14) = (/ & & 0.80053e+01_rb,0.81444e+01_rb,0.85549e+01_rb,0.80739e+01_rb,0.79624e+01_rb /) kbo(:, 1,37,14) = (/ & & 0.70898e+01_rb,0.81353e+01_rb,0.88375e+01_rb,0.81022e+01_rb,0.74173e+01_rb /) kbo(:, 2,37,14) = (/ & & 0.73792e+01_rb,0.81923e+01_rb,0.88220e+01_rb,0.81236e+01_rb,0.75852e+01_rb /) kbo(:, 3,37,14) = (/ & & 0.76229e+01_rb,0.82146e+01_rb,0.87658e+01_rb,0.81255e+01_rb,0.77281e+01_rb /) kbo(:, 4,37,14) = (/ & & 0.78232e+01_rb,0.81996e+01_rb,0.86818e+01_rb,0.81120e+01_rb,0.78508e+01_rb /) kbo(:, 5,37,14) = (/ & & 0.79866e+01_rb,0.81554e+01_rb,0.85764e+01_rb,0.80843e+01_rb,0.79525e+01_rb /) kbo(:, 1,38,14) = (/ & & 0.70419e+01_rb,0.81271e+01_rb,0.88418e+01_rb,0.81031e+01_rb,0.73933e+01_rb /) kbo(:, 2,38,14) = (/ & & 0.73389e+01_rb,0.81889e+01_rb,0.88323e+01_rb,0.81261e+01_rb,0.75648e+01_rb /) kbo(:, 3,38,14) = (/ & & 0.75899e+01_rb,0.82161e+01_rb,0.87808e+01_rb,0.81301e+01_rb,0.77105e+01_rb /) kbo(:, 4,38,14) = (/ & & 0.77971e+01_rb,0.82068e+01_rb,0.87000e+01_rb,0.81195e+01_rb,0.78368e+01_rb /) kbo(:, 5,38,14) = (/ & & 0.79663e+01_rb,0.81665e+01_rb,0.85976e+01_rb,0.80935e+01_rb,0.79412e+01_rb /) kbo(:, 1,39,14) = (/ & & 0.69923e+01_rb,0.81165e+01_rb,0.88435e+01_rb,0.81024e+01_rb,0.73685e+01_rb /) kbo(:, 2,39,14) = (/ & & 0.72982e+01_rb,0.81845e+01_rb,0.88409e+01_rb,0.81277e+01_rb,0.75441e+01_rb /) kbo(:, 3,39,14) = (/ & & 0.75563e+01_rb,0.82164e+01_rb,0.87952e+01_rb,0.81347e+01_rb,0.76928e+01_rb /) kbo(:, 4,39,14) = (/ & & 0.77695e+01_rb,0.82122e+01_rb,0.87165e+01_rb,0.81250e+01_rb,0.78216e+01_rb /) kbo(:, 5,39,14) = (/ & & 0.79452e+01_rb,0.81762e+01_rb,0.86172e+01_rb,0.81015e+01_rb,0.79291e+01_rb /) kbo(:, 1,40,14) = (/ & & 0.69080e+01_rb,0.80958e+01_rb,0.88413e+01_rb,0.80965e+01_rb,0.73229e+01_rb /) kbo(:, 2,40,14) = (/ & & 0.72277e+01_rb,0.81734e+01_rb,0.88495e+01_rb,0.81259e+01_rb,0.75046e+01_rb /) kbo(:, 3,40,14) = (/ & & 0.74967e+01_rb,0.82131e+01_rb,0.88131e+01_rb,0.81381e+01_rb,0.76600e+01_rb /) kbo(:, 4,40,14) = (/ & & 0.77214e+01_rb,0.82184e+01_rb,0.87413e+01_rb,0.81320e+01_rb,0.77938e+01_rb /) kbo(:, 5,40,14) = (/ & & 0.79055e+01_rb,0.81894e+01_rb,0.86471e+01_rb,0.81094e+01_rb,0.79066e+01_rb /) kbo(:, 1,41,14) = (/ & & 0.68155e+01_rb,0.80708e+01_rb,0.88352e+01_rb,0.80885e+01_rb,0.72719e+01_rb /) kbo(:, 2,41,14) = (/ & & 0.71495e+01_rb,0.81585e+01_rb,0.88545e+01_rb,0.81224e+01_rb,0.74618e+01_rb /) kbo(:, 3,41,14) = (/ & & 0.74308e+01_rb,0.82074e+01_rb,0.88291e+01_rb,0.81392e+01_rb,0.76238e+01_rb /) kbo(:, 4,41,14) = (/ & & 0.76675e+01_rb,0.82222e+01_rb,0.87650e+01_rb,0.81374e+01_rb,0.77629e+01_rb /) kbo(:, 5,41,14) = (/ & & 0.78621e+01_rb,0.82014e+01_rb,0.86761e+01_rb,0.81197e+01_rb,0.78805e+01_rb /) kbo(:, 1,42,14) = (/ & & 0.67210e+01_rb,0.80436e+01_rb,0.88257e+01_rb,0.80787e+01_rb,0.72181e+01_rb /) kbo(:, 2,42,14) = (/ & & 0.70672e+01_rb,0.81413e+01_rb,0.88562e+01_rb,0.81177e+01_rb,0.74171e+01_rb /) kbo(:, 3,42,14) = (/ & & 0.73618e+01_rb,0.81993e+01_rb,0.88420e+01_rb,0.81387e+01_rb,0.75853e+01_rb /) kbo(:, 4,42,14) = (/ & & 0.76110e+01_rb,0.82240e+01_rb,0.87872e+01_rb,0.81416e+01_rb,0.77301e+01_rb /) kbo(:, 5,42,14) = (/ & & 0.78157e+01_rb,0.82114e+01_rb,0.87034e+01_rb,0.81275e+01_rb,0.78533e+01_rb /) kbo(:, 1,43,14) = (/ & & 0.66012e+01_rb,0.80077e+01_rb,0.88083e+01_rb,0.80639e+01_rb,0.71482e+01_rb /) kbo(:, 2,43,14) = (/ & & 0.69627e+01_rb,0.81158e+01_rb,0.88532e+01_rb,0.81101e+01_rb,0.73596e+01_rb /) kbo(:, 3,43,14) = (/ & & 0.72743e+01_rb,0.81862e+01_rb,0.88533e+01_rb,0.81352e+01_rb,0.75360e+01_rb /) kbo(:, 4,43,14) = (/ & & 0.75376e+01_rb,0.82203e+01_rb,0.88101e+01_rb,0.81444e+01_rb,0.76876e+01_rb /) kbo(:, 5,43,14) = (/ & & 0.77560e+01_rb,0.82200e+01_rb,0.87338e+01_rb,0.81353e+01_rb,0.78176e+01_rb /) kbo(:, 1,44,14) = (/ & & 0.64654e+01_rb,0.79624e+01_rb,0.87841e+01_rb,0.80450e+01_rb,0.70696e+01_rb /) kbo(:, 2,44,14) = (/ & & 0.68452e+01_rb,0.80842e+01_rb,0.88456e+01_rb,0.80985e+01_rb,0.72931e+01_rb /) kbo(:, 3,44,14) = (/ & & 0.71736e+01_rb,0.81668e+01_rb,0.88594e+01_rb,0.81294e+01_rb,0.74799e+01_rb /) kbo(:, 4,44,14) = (/ & & 0.74536e+01_rb,0.82135e+01_rb,0.88309e+01_rb,0.81455e+01_rb,0.76398e+01_rb /) kbo(:, 5,44,14) = (/ & & 0.76864e+01_rb,0.82252e+01_rb,0.87641e+01_rb,0.81417e+01_rb,0.77771e+01_rb /) kbo(:, 1,45,14) = (/ & & 0.63246e+01_rb,0.79121e+01_rb,0.87529e+01_rb,0.80227e+01_rb,0.69872e+01_rb /) kbo(:, 2,45,14) = (/ & & 0.67215e+01_rb,0.80478e+01_rb,0.88314e+01_rb,0.80840e+01_rb,0.72219e+01_rb /) kbo(:, 3,45,14) = (/ & & 0.70680e+01_rb,0.81447e+01_rb,0.88609e+01_rb,0.81218e+01_rb,0.74205e+01_rb /) kbo(:, 4,45,14) = (/ & & 0.73633e+01_rb,0.82020e+01_rb,0.88464e+01_rb,0.81437e+01_rb,0.75896e+01_rb /) kbo(:, 5,45,14) = (/ & & 0.76123e+01_rb,0.82264e+01_rb,0.87913e+01_rb,0.81458e+01_rb,0.77333e+01_rb /) kbo(:, 1,46,14) = (/ & & 0.61677e+01_rb,0.78522e+01_rb,0.87120e+01_rb,0.79958e+01_rb,0.68962e+01_rb /) kbo(:, 2,46,14) = (/ & & 0.65843e+01_rb,0.80056e+01_rb,0.88106e+01_rb,0.80659e+01_rb,0.71413e+01_rb /) kbo(:, 3,46,14) = (/ & & 0.69482e+01_rb,0.81147e+01_rb,0.88565e+01_rb,0.81122e+01_rb,0.73539e+01_rb /) kbo(:, 4,46,14) = (/ & & 0.72620e+01_rb,0.81857e+01_rb,0.88581e+01_rb,0.81382e+01_rb,0.75320e+01_rb /) kbo(:, 5,46,14) = (/ & & 0.75285e+01_rb,0.82222e+01_rb,0.88171e+01_rb,0.81482e+01_rb,0.76841e+01_rb /) kbo(:, 1,47,14) = (/ & & 0.59872e+01_rb,0.77759e+01_rb,0.86581e+01_rb,0.79599e+01_rb,0.67904e+01_rb /) kbo(:, 2,47,14) = (/ & & 0.64227e+01_rb,0.79505e+01_rb,0.87794e+01_rb,0.80417e+01_rb,0.70463e+01_rb /) kbo(:, 3,47,14) = (/ & & 0.68067e+01_rb,0.80750e+01_rb,0.88445e+01_rb,0.80966e+01_rb,0.72732e+01_rb /) kbo(:, 4,47,14) = (/ & & 0.71415e+01_rb,0.81619e+01_rb,0.88634e+01_rb,0.81302e+01_rb,0.74640e+01_rb /) kbo(:, 5,47,14) = (/ & & 0.74259e+01_rb,0.82118e+01_rb,0.88390e+01_rb,0.81478e+01_rb,0.76260e+01_rb /) kbo(:, 1,48,14) = (/ & & 0.57999e+01_rb,0.76897e+01_rb,0.85924e+01_rb,0.79165e+01_rb,0.66812e+01_rb /) kbo(:, 2,48,14) = (/ & & 0.62523e+01_rb,0.78878e+01_rb,0.87384e+01_rb,0.80135e+01_rb,0.69471e+01_rb /) kbo(:, 3,48,14) = (/ & & 0.66581e+01_rb,0.80303e+01_rb,0.88250e+01_rb,0.80783e+01_rb,0.71862e+01_rb /) kbo(:, 4,48,14) = (/ & & 0.70120e+01_rb,0.81321e+01_rb,0.88616e+01_rb,0.81203e+01_rb,0.73915e+01_rb /) kbo(:, 5,48,14) = (/ & & 0.73167e+01_rb,0.81963e+01_rb,0.88550e+01_rb,0.81433e+01_rb,0.75640e+01_rb /) kbo(:, 1,49,14) = (/ & & 0.56056e+01_rb,0.75967e+01_rb,0.85186e+01_rb,0.78664e+01_rb,0.65684e+01_rb /) kbo(:, 2,49,14) = (/ & & 0.60725e+01_rb,0.78139e+01_rb,0.86868e+01_rb,0.79799e+01_rb,0.68428e+01_rb /) kbo(:, 3,49,14) = (/ & & 0.65005e+01_rb,0.79789e+01_rb,0.87970e+01_rb,0.80551e+01_rb,0.70936e+01_rb /) kbo(:, 4,49,14) = (/ & & 0.68750e+01_rb,0.80955e+01_rb,0.88532e+01_rb,0.81069e+01_rb,0.73141e+01_rb /) kbo(:, 5,49,14) = (/ & & 0.72008e+01_rb,0.81753e+01_rb,0.88640e+01_rb,0.81362e+01_rb,0.74980e+01_rb /) kbo(:, 1,50,14) = (/ & & 0.54125e+01_rb,0.74991e+01_rb,0.84401e+01_rb,0.78123e+01_rb,0.64595e+01_rb /) kbo(:, 2,50,14) = (/ & & 0.59003e+01_rb,0.77375e+01_rb,0.86301e+01_rb,0.79423e+01_rb,0.67420e+01_rb /) kbo(:, 3,50,14) = (/ & & 0.63429e+01_rb,0.79215e+01_rb,0.87619e+01_rb,0.80304e+01_rb,0.70024e+01_rb /) kbo(:, 4,50,14) = (/ & & 0.67393e+01_rb,0.80557e+01_rb,0.88380e+01_rb,0.80904e+01_rb,0.72354e+01_rb /) kbo(:, 5,50,14) = (/ & & 0.70838e+01_rb,0.81507e+01_rb,0.88659e+01_rb,0.81277e+01_rb,0.74327e+01_rb /) kbo(:, 1,51,14) = (/ & & 0.52191e+01_rb,0.73982e+01_rb,0.83585e+01_rb,0.77548e+01_rb,0.63504e+01_rb /) kbo(:, 2,51,14) = (/ & & 0.57281e+01_rb,0.76566e+01_rb,0.85673e+01_rb,0.79002e+01_rb,0.66408e+01_rb /) kbo(:, 3,51,14) = (/ & & 0.61850e+01_rb,0.78612e+01_rb,0.87206e+01_rb,0.80029e+01_rb,0.69102e+01_rb /) kbo(:, 4,51,14) = (/ & & 0.66013e+01_rb,0.80131e+01_rb,0.88169e+01_rb,0.80719e+01_rb,0.71542e+01_rb /) kbo(:, 5,51,14) = (/ & & 0.69630e+01_rb,0.81207e+01_rb,0.88611e+01_rb,0.81171e+01_rb,0.73645e+01_rb /) kbo(:, 1,52,14) = (/ & & 0.50203e+01_rb,0.72853e+01_rb,0.82659e+01_rb,0.76900e+01_rb,0.62362e+01_rb /) kbo(:, 2,52,14) = (/ & & 0.55489e+01_rb,0.75692e+01_rb,0.84974e+01_rb,0.78525e+01_rb,0.65380e+01_rb /) kbo(:, 3,52,14) = (/ & & 0.60223e+01_rb,0.77933e+01_rb,0.86726e+01_rb,0.79710e+01_rb,0.68148e+01_rb /) kbo(:, 4,52,14) = (/ & & 0.64533e+01_rb,0.79619e+01_rb,0.87883e+01_rb,0.80495e+01_rb,0.70682e+01_rb /) kbo(:, 5,52,14) = (/ & & 0.68363e+01_rb,0.80853e+01_rb,0.88509e+01_rb,0.81034e+01_rb,0.72926e+01_rb /) kbo(:, 1,53,14) = (/ & & 0.48171e+01_rb,0.71626e+01_rb,0.81646e+01_rb,0.76188e+01_rb,0.61179e+01_rb /) kbo(:, 2,53,14) = (/ & & 0.53620e+01_rb,0.74745e+01_rb,0.84206e+01_rb,0.77982e+01_rb,0.64310e+01_rb /) kbo(:, 3,53,14) = (/ & & 0.58544e+01_rb,0.77168e+01_rb,0.86150e+01_rb,0.79329e+01_rb,0.67166e+01_rb /) kbo(:, 4,53,14) = (/ & & 0.63007e+01_rb,0.79064e+01_rb,0.87527e+01_rb,0.80244e+01_rb,0.69787e+01_rb /) kbo(:, 5,53,14) = (/ & & 0.67036e+01_rb,0.80457e+01_rb,0.88348e+01_rb,0.80870e+01_rb,0.72150e+01_rb /) kbo(:, 1,54,14) = (/ & & 0.46268e+01_rb,0.70415e+01_rb,0.80643e+01_rb,0.75453e+01_rb,0.60051e+01_rb /) kbo(:, 2,54,14) = (/ & & 0.51834e+01_rb,0.73793e+01_rb,0.83436e+01_rb,0.77439e+01_rb,0.63304e+01_rb /) kbo(:, 3,54,14) = (/ & & 0.56952e+01_rb,0.76416e+01_rb,0.85557e+01_rb,0.78930e+01_rb,0.66233e+01_rb /) kbo(:, 4,54,14) = (/ & & 0.61555e+01_rb,0.78501e+01_rb,0.87136e+01_rb,0.79986e+01_rb,0.68935e+01_rb /) kbo(:, 5,54,14) = (/ & & 0.65754e+01_rb,0.80055e+01_rb,0.88139e+01_rb,0.80689e+01_rb,0.71391e+01_rb /) kbo(:, 1,55,14) = (/ & & 0.44418e+01_rb,0.69152e+01_rb,0.79589e+01_rb,0.74683e+01_rb,0.58909e+01_rb /) kbo(:, 2,55,14) = (/ & & 0.50082e+01_rb,0.72786e+01_rb,0.82608e+01_rb,0.76866e+01_rb,0.62296e+01_rb /) kbo(:, 3,55,14) = (/ & & 0.55372e+01_rb,0.75641e+01_rb,0.84935e+01_rb,0.78502e+01_rb,0.65324e+01_rb /) kbo(:, 4,55,14) = (/ & & 0.60119e+01_rb,0.77891e+01_rb,0.86705e+01_rb,0.79700e+01_rb,0.68094e+01_rb /) kbo(:, 5,55,14) = (/ & & 0.64443e+01_rb,0.79596e+01_rb,0.87874e+01_rb,0.80489e+01_rb,0.70636e+01_rb /) kbo(:, 1,56,14) = (/ & & 0.42552e+01_rb,0.67816e+01_rb,0.78463e+01_rb,0.73861e+01_rb,0.57693e+01_rb /) kbo(:, 2,56,14) = (/ & & 0.48302e+01_rb,0.71710e+01_rb,0.81721e+01_rb,0.76241e+01_rb,0.61259e+01_rb /) kbo(:, 3,56,14) = (/ & & 0.53736e+01_rb,0.74812e+01_rb,0.84261e+01_rb,0.78026e+01_rb,0.64389e+01_rb /) kbo(:, 4,56,14) = (/ & & 0.58648e+01_rb,0.77223e+01_rb,0.86198e+01_rb,0.79361e+01_rb,0.67232e+01_rb /) kbo(:, 5,56,14) = (/ & & 0.63103e+01_rb,0.79105e+01_rb,0.87564e+01_rb,0.80271e+01_rb,0.69853e+01_rb /) kbo(:, 1,57,14) = (/ & & 0.40639e+01_rb,0.66394e+01_rb,0.77238e+01_rb,0.72954e+01_rb,0.56390e+01_rb /) kbo(:, 2,57,14) = (/ & & 0.46488e+01_rb,0.70563e+01_rb,0.80768e+01_rb,0.75544e+01_rb,0.60187e+01_rb /) kbo(:, 3,57,14) = (/ & & 0.52035e+01_rb,0.73909e+01_rb,0.83529e+01_rb,0.77510e+01_rb,0.63425e+01_rb /) kbo(:, 4,57,14) = (/ & & 0.57137e+01_rb,0.76510e+01_rb,0.85638e+01_rb,0.78985e+01_rb,0.66342e+01_rb /) kbo(:, 5,57,14) = (/ & & 0.61722e+01_rb,0.78574e+01_rb,0.87192e+01_rb,0.80023e+01_rb,0.69038e+01_rb /) kbo(:, 1,58,14) = (/ & & 0.38805e+01_rb,0.64976e+01_rb,0.75961e+01_rb,0.72010e+01_rb,0.55107e+01_rb /) kbo(:, 2,58,14) = (/ & & 0.44745e+01_rb,0.69383e+01_rb,0.79787e+01_rb,0.74825e+01_rb,0.59115e+01_rb /) kbo(:, 3,58,14) = (/ & & 0.50386e+01_rb,0.72976e+01_rb,0.82763e+01_rb,0.76973e+01_rb,0.62480e+01_rb /) kbo(:, 4,58,14) = (/ & & 0.55648e+01_rb,0.75780e+01_rb,0.85055e+01_rb,0.78586e+01_rb,0.65486e+01_rb /) kbo(:, 5,58,14) = (/ & & 0.60366e+01_rb,0.78002e+01_rb,0.86790e+01_rb,0.79756e+01_rb,0.68245e+01_rb /) kbo(:, 1,59,14) = (/ & & 0.38057e+01_rb,0.64388e+01_rb,0.75416e+01_rb,0.71615e+01_rb,0.54582e+01_rb /) kbo(:, 2,59,14) = (/ & & 0.44044e+01_rb,0.68893e+01_rb,0.79374e+01_rb,0.74528e+01_rb,0.58671e+01_rb /) kbo(:, 3,59,14) = (/ & & 0.49711e+01_rb,0.72574e+01_rb,0.82432e+01_rb,0.76750e+01_rb,0.62091e+01_rb /) kbo(:, 4,59,14) = (/ & & 0.55038e+01_rb,0.75476e+01_rb,0.84809e+01_rb,0.78415e+01_rb,0.65137e+01_rb /) kbo(:, 5,59,14) = (/ & & 0.59820e+01_rb,0.77764e+01_rb,0.86612e+01_rb,0.79636e+01_rb,0.67922e+01_rb /) kbo(:, 1,13,15) = (/ & & 0.21583e+02_rb,0.16708e+02_rb,0.15578e+02_rb,0.16324e+02_rb,0.21499e+02_rb /) kbo(:, 2,13,15) = (/ & & 0.21596e+02_rb,0.16646e+02_rb,0.15448e+02_rb,0.16116e+02_rb,0.21237e+02_rb /) kbo(:, 3,13,15) = (/ & & 0.21561e+02_rb,0.16562e+02_rb,0.15303e+02_rb,0.15881e+02_rb,0.20975e+02_rb /) kbo(:, 4,13,15) = (/ & & 0.21482e+02_rb,0.16444e+02_rb,0.15131e+02_rb,0.15663e+02_rb,0.20709e+02_rb /) kbo(:, 5,13,15) = (/ & & 0.21360e+02_rb,0.16308e+02_rb,0.14933e+02_rb,0.15443e+02_rb,0.20449e+02_rb /) kbo(:, 1,14,15) = (/ & & 0.23286e+02_rb,0.18105e+02_rb,0.17022e+02_rb,0.17494e+02_rb,0.22811e+02_rb /) kbo(:, 2,14,15) = (/ & & 0.23268e+02_rb,0.18001e+02_rb,0.16845e+02_rb,0.17259e+02_rb,0.22563e+02_rb /) kbo(:, 3,14,15) = (/ & & 0.23185e+02_rb,0.17865e+02_rb,0.16645e+02_rb,0.17010e+02_rb,0.22295e+02_rb /) kbo(:, 4,14,15) = (/ & & 0.23065e+02_rb,0.17707e+02_rb,0.16417e+02_rb,0.16757e+02_rb,0.22015e+02_rb /) kbo(:, 5,14,15) = (/ & & 0.22894e+02_rb,0.17515e+02_rb,0.16163e+02_rb,0.16504e+02_rb,0.21733e+02_rb /) kbo(:, 1,15,15) = (/ & & 0.24991e+02_rb,0.19505e+02_rb,0.18411e+02_rb,0.18638e+02_rb,0.24057e+02_rb /) kbo(:, 2,15,15) = (/ & & 0.24920e+02_rb,0.19349e+02_rb,0.18180e+02_rb,0.18374e+02_rb,0.23810e+02_rb /) kbo(:, 3,15,15) = (/ & & 0.24797e+02_rb,0.19155e+02_rb,0.17917e+02_rb,0.18103e+02_rb,0.23536e+02_rb /) kbo(:, 4,15,15) = (/ & & 0.24619e+02_rb,0.18942e+02_rb,0.17624e+02_rb,0.17814e+02_rb,0.23238e+02_rb /) kbo(:, 5,15,15) = (/ & & 0.24389e+02_rb,0.18694e+02_rb,0.17313e+02_rb,0.17524e+02_rb,0.22925e+02_rb /) kbo(:, 1,16,15) = (/ & & 0.26656e+02_rb,0.20879e+02_rb,0.19716e+02_rb,0.19730e+02_rb,0.25227e+02_rb /) kbo(:, 2,16,15) = (/ & & 0.26523e+02_rb,0.20660e+02_rb,0.19424e+02_rb,0.19442e+02_rb,0.24961e+02_rb /) kbo(:, 3,16,15) = (/ & & 0.26348e+02_rb,0.20405e+02_rb,0.19093e+02_rb,0.19135e+02_rb,0.24671e+02_rb /) kbo(:, 4,16,15) = (/ & & 0.26107e+02_rb,0.20124e+02_rb,0.18741e+02_rb,0.18812e+02_rb,0.24357e+02_rb /) kbo(:, 5,16,15) = (/ & & 0.25816e+02_rb,0.19816e+02_rb,0.18364e+02_rb,0.18476e+02_rb,0.24001e+02_rb /) kbo(:, 1,17,15) = (/ & & 0.28242e+02_rb,0.22184e+02_rb,0.20936e+02_rb,0.20769e+02_rb,0.26307e+02_rb /) kbo(:, 2,17,15) = (/ & & 0.28053e+02_rb,0.21895e+02_rb,0.20570e+02_rb,0.20444e+02_rb,0.26016e+02_rb /) kbo(:, 3,17,15) = (/ & & 0.27803e+02_rb,0.21584e+02_rb,0.20174e+02_rb,0.20096e+02_rb,0.25702e+02_rb /) kbo(:, 4,17,15) = (/ & & 0.27499e+02_rb,0.21233e+02_rb,0.19753e+02_rb,0.19726e+02_rb,0.25351e+02_rb /) kbo(:, 5,17,15) = (/ & & 0.27139e+02_rb,0.20859e+02_rb,0.19319e+02_rb,0.19342e+02_rb,0.24955e+02_rb /) kbo(:, 1,18,15) = (/ & & 0.29720e+02_rb,0.23411e+02_rb,0.22065e+02_rb,0.21731e+02_rb,0.27280e+02_rb /) kbo(:, 2,18,15) = (/ & & 0.29480e+02_rb,0.23053e+02_rb,0.21624e+02_rb,0.21360e+02_rb,0.26972e+02_rb /) kbo(:, 3,18,15) = (/ & & 0.29159e+02_rb,0.22667e+02_rb,0.21156e+02_rb,0.20967e+02_rb,0.26625e+02_rb /) kbo(:, 4,18,15) = (/ & & 0.28776e+02_rb,0.22248e+02_rb,0.20663e+02_rb,0.20553e+02_rb,0.26229e+02_rb /) kbo(:, 5,18,15) = (/ & & 0.28340e+02_rb,0.21810e+02_rb,0.20170e+02_rb,0.20119e+02_rb,0.25790e+02_rb /) kbo(:, 1,19,15) = (/ & & 0.31079e+02_rb,0.24533e+02_rb,0.23084e+02_rb,0.22601e+02_rb,0.28156e+02_rb /) kbo(:, 2,19,15) = (/ & & 0.30766e+02_rb,0.24108e+02_rb,0.22572e+02_rb,0.22185e+02_rb,0.27815e+02_rb /) kbo(:, 3,19,15) = (/ & & 0.30376e+02_rb,0.23641e+02_rb,0.22030e+02_rb,0.21741e+02_rb,0.27429e+02_rb /) kbo(:, 4,19,15) = (/ & & 0.29923e+02_rb,0.23160e+02_rb,0.21471e+02_rb,0.21280e+02_rb,0.26992e+02_rb /) kbo(:, 5,19,15) = (/ & & 0.29415e+02_rb,0.22660e+02_rb,0.20920e+02_rb,0.20797e+02_rb,0.26511e+02_rb /) kbo(:, 1,20,15) = (/ & & 0.32290e+02_rb,0.25527e+02_rb,0.23984e+02_rb,0.23373e+02_rb,0.28918e+02_rb /) kbo(:, 2,20,15) = (/ & & 0.31907e+02_rb,0.25035e+02_rb,0.23397e+02_rb,0.22899e+02_rb,0.28537e+02_rb /) kbo(:, 3,20,15) = (/ & & 0.31450e+02_rb,0.24496e+02_rb,0.22784e+02_rb,0.22408e+02_rb,0.28112e+02_rb /) kbo(:, 4,20,15) = (/ & & 0.30926e+02_rb,0.23946e+02_rb,0.22166e+02_rb,0.21898e+02_rb,0.27628e+02_rb /) kbo(:, 5,20,15) = (/ & & 0.30351e+02_rb,0.23384e+02_rb,0.21559e+02_rb,0.21369e+02_rb,0.27109e+02_rb /) kbo(:, 1,21,15) = (/ & & 0.33354e+02_rb,0.26397e+02_rb,0.24768e+02_rb,0.24040e+02_rb,0.29575e+02_rb /) kbo(:, 2,21,15) = (/ & & 0.32901e+02_rb,0.25842e+02_rb,0.24107e+02_rb,0.23511e+02_rb,0.29153e+02_rb /) kbo(:, 3,21,15) = (/ & & 0.32374e+02_rb,0.25240e+02_rb,0.23426e+02_rb,0.22972e+02_rb,0.28686e+02_rb /) kbo(:, 4,21,15) = (/ & & 0.31781e+02_rb,0.24624e+02_rb,0.22754e+02_rb,0.22416e+02_rb,0.28162e+02_rb /) kbo(:, 5,21,15) = (/ & & 0.31147e+02_rb,0.24003e+02_rb,0.22095e+02_rb,0.21845e+02_rb,0.27608e+02_rb /) kbo(:, 1,22,15) = (/ & & 0.34245e+02_rb,0.27109e+02_rb,0.25388e+02_rb,0.24566e+02_rb,0.30099e+02_rb /) kbo(:, 2,22,15) = (/ & & 0.33719e+02_rb,0.26481e+02_rb,0.24655e+02_rb,0.23987e+02_rb,0.29635e+02_rb /) kbo(:, 3,22,15) = (/ & & 0.33121e+02_rb,0.25821e+02_rb,0.23916e+02_rb,0.23403e+02_rb,0.29124e+02_rb /) kbo(:, 4,22,15) = (/ & & 0.32461e+02_rb,0.25147e+02_rb,0.23196e+02_rb,0.22805e+02_rb,0.28562e+02_rb /) kbo(:, 5,22,15) = (/ & & 0.31774e+02_rb,0.24482e+02_rb,0.22495e+02_rb,0.22197e+02_rb,0.27979e+02_rb /) kbo(:, 1,23,15) = (/ & & 0.34979e+02_rb,0.27686e+02_rb,0.25885e+02_rb,0.24985e+02_rb,0.30523e+02_rb /) kbo(:, 2,23,15) = (/ & & 0.34390e+02_rb,0.26989e+02_rb,0.25088e+02_rb,0.24366e+02_rb,0.30015e+02_rb /) kbo(:, 3,23,15) = (/ & & 0.33724e+02_rb,0.26279e+02_rb,0.24300e+02_rb,0.23742e+02_rb,0.29464e+02_rb /) kbo(:, 4,23,15) = (/ & & 0.33013e+02_rb,0.25562e+02_rb,0.23538e+02_rb,0.23108e+02_rb,0.28875e+02_rb /) kbo(:, 5,23,15) = (/ & & 0.32269e+02_rb,0.24853e+02_rb,0.22796e+02_rb,0.22467e+02_rb,0.28265e+02_rb /) kbo(:, 1,24,15) = (/ & & 0.35573e+02_rb,0.28136e+02_rb,0.26264e+02_rb,0.25305e+02_rb,0.30849e+02_rb /) kbo(:, 2,24,15) = (/ & & 0.34922e+02_rb,0.27387e+02_rb,0.25413e+02_rb,0.24653e+02_rb,0.30308e+02_rb /) kbo(:, 3,24,15) = (/ & & 0.34200e+02_rb,0.26632e+02_rb,0.24587e+02_rb,0.23994e+02_rb,0.29723e+02_rb /) kbo(:, 4,24,15) = (/ & & 0.33439e+02_rb,0.25872e+02_rb,0.23787e+02_rb,0.23329e+02_rb,0.29105e+02_rb /) kbo(:, 5,24,15) = (/ & & 0.32647e+02_rb,0.25128e+02_rb,0.23014e+02_rb,0.22661e+02_rb,0.28477e+02_rb /) kbo(:, 1,25,15) = (/ & & 0.36033e+02_rb,0.28469e+02_rb,0.26533e+02_rb,0.25539e+02_rb,0.31091e+02_rb /) kbo(:, 2,25,15) = (/ & & 0.35324e+02_rb,0.27679e+02_rb,0.25640e+02_rb,0.24852e+02_rb,0.30512e+02_rb /) kbo(:, 3,25,15) = (/ & & 0.34555e+02_rb,0.26887e+02_rb,0.24782e+02_rb,0.24167e+02_rb,0.29902e+02_rb /) kbo(:, 4,25,15) = (/ & & 0.33752e+02_rb,0.26092e+02_rb,0.23953e+02_rb,0.23474e+02_rb,0.29262e+02_rb /) kbo(:, 5,25,15) = (/ & & 0.32915e+02_rb,0.25319e+02_rb,0.23155e+02_rb,0.22787e+02_rb,0.28617e+02_rb /) kbo(:, 1,26,15) = (/ & & 0.36371e+02_rb,0.28696e+02_rb,0.26697e+02_rb,0.25688e+02_rb,0.31254e+02_rb /) kbo(:, 2,26,15) = (/ & & 0.35607e+02_rb,0.27872e+02_rb,0.25775e+02_rb,0.24975e+02_rb,0.30642e+02_rb /) kbo(:, 3,26,15) = (/ & & 0.34798e+02_rb,0.27047e+02_rb,0.24890e+02_rb,0.24264e+02_rb,0.30007e+02_rb /) kbo(:, 4,26,15) = (/ & & 0.33956e+02_rb,0.26227e+02_rb,0.24040e+02_rb,0.23549e+02_rb,0.29351e+02_rb /) kbo(:, 5,26,15) = (/ & & 0.33076e+02_rb,0.25425e+02_rb,0.23222e+02_rb,0.22845e+02_rb,0.28688e+02_rb /) kbo(:, 1,27,15) = (/ & & 0.36605e+02_rb,0.28839e+02_rb,0.26780e+02_rb,0.25770e+02_rb,0.31349e+02_rb /) kbo(:, 2,27,15) = (/ & & 0.35796e+02_rb,0.27987e+02_rb,0.25836e+02_rb,0.25037e+02_rb,0.30713e+02_rb /) kbo(:, 3,27,15) = (/ & & 0.34952e+02_rb,0.27136e+02_rb,0.24934e+02_rb,0.24306e+02_rb,0.30059e+02_rb /) kbo(:, 4,27,15) = (/ & & 0.34075e+02_rb,0.26294e+02_rb,0.24068e+02_rb,0.23575e+02_rb,0.29392e+02_rb /) kbo(:, 5,27,15) = (/ & & 0.33166e+02_rb,0.25473e+02_rb,0.23238e+02_rb,0.22856e+02_rb,0.28711e+02_rb /) kbo(:, 1,28,15) = (/ & & 0.36758e+02_rb,0.28917e+02_rb,0.26804e+02_rb,0.25803e+02_rb,0.31396e+02_rb /) kbo(:, 2,28,15) = (/ & & 0.35910e+02_rb,0.28037e+02_rb,0.25842e+02_rb,0.25051e+02_rb,0.30739e+02_rb /) kbo(:, 3,28,15) = (/ & & 0.35033e+02_rb,0.27165e+02_rb,0.24925e+02_rb,0.24304e+02_rb,0.30070e+02_rb /) kbo(:, 4,28,15) = (/ & & 0.34125e+02_rb,0.26307e+02_rb,0.24049e+02_rb,0.23563e+02_rb,0.29393e+02_rb /) kbo(:, 5,28,15) = (/ & & 0.33188e+02_rb,0.25468e+02_rb,0.23210e+02_rb,0.22829e+02_rb,0.28695e+02_rb /) kbo(:, 1,29,15) = (/ & & 0.36829e+02_rb,0.28926e+02_rb,0.26766e+02_rb,0.25785e+02_rb,0.31393e+02_rb /) kbo(:, 2,29,15) = (/ & & 0.35949e+02_rb,0.28025e+02_rb,0.25792e+02_rb,0.25019e+02_rb,0.30723e+02_rb /) kbo(:, 3,29,15) = (/ & & 0.35045e+02_rb,0.27141e+02_rb,0.24868e+02_rb,0.24260e+02_rb,0.30042e+02_rb /) kbo(:, 4,29,15) = (/ & & 0.34114e+02_rb,0.26272e+02_rb,0.23986e+02_rb,0.23509e+02_rb,0.29353e+02_rb /) kbo(:, 5,29,15) = (/ & & 0.33154e+02_rb,0.25419e+02_rb,0.23142e+02_rb,0.22765e+02_rb,0.28643e+02_rb /) kbo(:, 1,30,15) = (/ & & 0.36836e+02_rb,0.28884e+02_rb,0.26681e+02_rb,0.25729e+02_rb,0.31353e+02_rb /) kbo(:, 2,30,15) = (/ & & 0.35935e+02_rb,0.27972e+02_rb,0.25704e+02_rb,0.24955e+02_rb,0.30675e+02_rb /) kbo(:, 3,30,15) = (/ & & 0.35002e+02_rb,0.27075e+02_rb,0.24775e+02_rb,0.24184e+02_rb,0.29984e+02_rb /) kbo(:, 4,30,15) = (/ & & 0.34050e+02_rb,0.26196e+02_rb,0.23891e+02_rb,0.23427e+02_rb,0.29283e+02_rb /) kbo(:, 5,30,15) = (/ & & 0.33076e+02_rb,0.25337e+02_rb,0.23046e+02_rb,0.22676e+02_rb,0.28566e+02_rb /) kbo(:, 1,31,15) = (/ & & 0.36791e+02_rb,0.28797e+02_rb,0.26557e+02_rb,0.25640e+02_rb,0.31284e+02_rb /) kbo(:, 2,31,15) = (/ & & 0.35869e+02_rb,0.27877e+02_rb,0.25582e+02_rb,0.24857e+02_rb,0.30596e+02_rb /) kbo(:, 3,31,15) = (/ & & 0.34914e+02_rb,0.26971e+02_rb,0.24653e+02_rb,0.24083e+02_rb,0.29901e+02_rb /) kbo(:, 4,31,15) = (/ & & 0.33941e+02_rb,0.26084e+02_rb,0.23767e+02_rb,0.23319e+02_rb,0.29185e+02_rb /) kbo(:, 5,31,15) = (/ & & 0.32958e+02_rb,0.25224e+02_rb,0.22924e+02_rb,0.22563e+02_rb,0.28464e+02_rb /) kbo(:, 1,32,15) = (/ & & 0.36704e+02_rb,0.28676e+02_rb,0.26402e+02_rb,0.25521e+02_rb,0.31186e+02_rb /) kbo(:, 2,32,15) = (/ & & 0.35759e+02_rb,0.27748e+02_rb,0.25429e+02_rb,0.24734e+02_rb,0.30492e+02_rb /) kbo(:, 3,32,15) = (/ & & 0.34789e+02_rb,0.26839e+02_rb,0.24504e+02_rb,0.23956e+02_rb,0.29792e+02_rb /) kbo(:, 4,32,15) = (/ & & 0.33799e+02_rb,0.25947e+02_rb,0.23622e+02_rb,0.23189e+02_rb,0.29067e+02_rb /) kbo(:, 5,32,15) = (/ & & 0.32807e+02_rb,0.25086e+02_rb,0.22780e+02_rb,0.22431e+02_rb,0.28343e+02_rb /) kbo(:, 1,33,15) = (/ & & 0.36581e+02_rb,0.28529e+02_rb,0.26229e+02_rb,0.25386e+02_rb,0.31076e+02_rb /) kbo(:, 2,33,15) = (/ & & 0.35618e+02_rb,0.27597e+02_rb,0.25258e+02_rb,0.24592e+02_rb,0.30373e+02_rb /) kbo(:, 3,33,15) = (/ & & 0.34634e+02_rb,0.26685e+02_rb,0.24337e+02_rb,0.23815e+02_rb,0.29666e+02_rb /) kbo(:, 4,33,15) = (/ & & 0.33632e+02_rb,0.25791e+02_rb,0.23459e+02_rb,0.23042e+02_rb,0.28931e+02_rb /) kbo(:, 5,33,15) = (/ & & 0.32632e+02_rb,0.24931e+02_rb,0.22622e+02_rb,0.22288e+02_rb,0.28210e+02_rb /) kbo(:, 1,34,15) = (/ & & 0.36458e+02_rb,0.28392e+02_rb,0.26072e+02_rb,0.25264e+02_rb,0.30972e+02_rb /) kbo(:, 2,34,15) = (/ & & 0.35483e+02_rb,0.27459e+02_rb,0.25106e+02_rb,0.24467e+02_rb,0.30265e+02_rb /) kbo(:, 3,34,15) = (/ & & 0.34486e+02_rb,0.26542e+02_rb,0.24189e+02_rb,0.23688e+02_rb,0.29550e+02_rb /) kbo(:, 4,34,15) = (/ & & 0.33480e+02_rb,0.25653e+02_rb,0.23315e+02_rb,0.22913e+02_rb,0.28811e+02_rb /) kbo(:, 5,34,15) = (/ & & 0.32478e+02_rb,0.24793e+02_rb,0.22484e+02_rb,0.22163e+02_rb,0.28094e+02_rb /) kbo(:, 1,35,15) = (/ & & 0.36414e+02_rb,0.28334e+02_rb,0.25999e+02_rb,0.25206e+02_rb,0.30923e+02_rb /) kbo(:, 2,35,15) = (/ & & 0.35425e+02_rb,0.27395e+02_rb,0.25033e+02_rb,0.24406e+02_rb,0.30215e+02_rb /) kbo(:, 3,35,15) = (/ & & 0.34420e+02_rb,0.26476e+02_rb,0.24117e+02_rb,0.23624e+02_rb,0.29493e+02_rb /) kbo(:, 4,35,15) = (/ & & 0.33407e+02_rb,0.25585e+02_rb,0.23243e+02_rb,0.22849e+02_rb,0.28753e+02_rb /) kbo(:, 5,35,15) = (/ & & 0.32403e+02_rb,0.24726e+02_rb,0.22415e+02_rb,0.22101e+02_rb,0.28034e+02_rb /) kbo(:, 1,36,15) = (/ & & 0.36456e+02_rb,0.28365e+02_rb,0.26023e+02_rb,0.25227e+02_rb,0.30947e+02_rb /) kbo(:, 2,36,15) = (/ & & 0.35465e+02_rb,0.27424e+02_rb,0.25054e+02_rb,0.24425e+02_rb,0.30235e+02_rb /) kbo(:, 3,36,15) = (/ & & 0.34451e+02_rb,0.26498e+02_rb,0.24134e+02_rb,0.23640e+02_rb,0.29510e+02_rb /) kbo(:, 4,36,15) = (/ & & 0.33436e+02_rb,0.25606e+02_rb,0.23259e+02_rb,0.22862e+02_rb,0.28768e+02_rb /) kbo(:, 5,36,15) = (/ & & 0.32427e+02_rb,0.24743e+02_rb,0.22427e+02_rb,0.22112e+02_rb,0.28048e+02_rb /) kbo(:, 1,37,15) = (/ & & 0.36638e+02_rb,0.28533e+02_rb,0.26191e+02_rb,0.25363e+02_rb,0.31069e+02_rb /) kbo(:, 2,37,15) = (/ & & 0.35645e+02_rb,0.27585e+02_rb,0.25212e+02_rb,0.24557e+02_rb,0.30356e+02_rb /) kbo(:, 3,37,15) = (/ & & 0.34632e+02_rb,0.26655e+02_rb,0.24283e+02_rb,0.23768e+02_rb,0.29633e+02_rb /) kbo(:, 4,37,15) = (/ & & 0.33611e+02_rb,0.25753e+02_rb,0.23398e+02_rb,0.22987e+02_rb,0.28889e+02_rb /) kbo(:, 5,37,15) = (/ & & 0.32597e+02_rb,0.24885e+02_rb,0.22559e+02_rb,0.22230e+02_rb,0.28165e+02_rb /) kbo(:, 1,38,15) = (/ & & 0.36818e+02_rb,0.28702e+02_rb,0.26363e+02_rb,0.25503e+02_rb,0.31194e+02_rb /) kbo(:, 2,38,15) = (/ & & 0.35825e+02_rb,0.27749e+02_rb,0.25373e+02_rb,0.24692e+02_rb,0.30479e+02_rb /) kbo(:, 3,38,15) = (/ & & 0.34809e+02_rb,0.26811e+02_rb,0.24434e+02_rb,0.23900e+02_rb,0.29757e+02_rb /) kbo(:, 4,38,15) = (/ & & 0.33789e+02_rb,0.25904e+02_rb,0.23543e+02_rb,0.23114e+02_rb,0.29012e+02_rb /) kbo(:, 5,38,15) = (/ & & 0.32767e+02_rb,0.25028e+02_rb,0.22694e+02_rb,0.22351e+02_rb,0.28285e+02_rb /) kbo(:, 1,39,15) = (/ & & 0.36989e+02_rb,0.28865e+02_rb,0.26530e+02_rb,0.25636e+02_rb,0.31312e+02_rb /) kbo(:, 2,39,15) = (/ & & 0.35999e+02_rb,0.27907e+02_rb,0.25529e+02_rb,0.24823e+02_rb,0.30597e+02_rb /) kbo(:, 3,39,15) = (/ & & 0.34983e+02_rb,0.26966e+02_rb,0.24583e+02_rb,0.24027e+02_rb,0.29878e+02_rb /) kbo(:, 4,39,15) = (/ & & 0.33957e+02_rb,0.26048e+02_rb,0.23683e+02_rb,0.23240e+02_rb,0.29134e+02_rb /) kbo(:, 5,39,15) = (/ & & 0.32935e+02_rb,0.25169e+02_rb,0.22826e+02_rb,0.22468e+02_rb,0.28398e+02_rb /) kbo(:, 1,40,15) = (/ & & 0.37254e+02_rb,0.29125e+02_rb,0.26800e+02_rb,0.25853e+02_rb,0.31502e+02_rb /) kbo(:, 2,40,15) = (/ & & 0.36269e+02_rb,0.28159e+02_rb,0.25786e+02_rb,0.25036e+02_rb,0.30787e+02_rb /) kbo(:, 3,40,15) = (/ & & 0.35253e+02_rb,0.27211e+02_rb,0.24825e+02_rb,0.24233e+02_rb,0.30069e+02_rb /) kbo(:, 4,40,15) = (/ & & 0.34229e+02_rb,0.26287e+02_rb,0.23913e+02_rb,0.23442e+02_rb,0.29327e+02_rb /) kbo(:, 5,40,15) = (/ & & 0.33202e+02_rb,0.25396e+02_rb,0.23042e+02_rb,0.22665e+02_rb,0.28587e+02_rb /) kbo(:, 1,41,15) = (/ & & 0.37526e+02_rb,0.29396e+02_rb,0.27087e+02_rb,0.26081e+02_rb,0.31701e+02_rb /) kbo(:, 2,41,15) = (/ & & 0.36546e+02_rb,0.28422e+02_rb,0.26056e+02_rb,0.25257e+02_rb,0.30982e+02_rb /) kbo(:, 3,41,15) = (/ & & 0.35534e+02_rb,0.27467e+02_rb,0.25079e+02_rb,0.24448e+02_rb,0.30265e+02_rb /) kbo(:, 4,41,15) = (/ & & 0.34510e+02_rb,0.26534e+02_rb,0.24153e+02_rb,0.23654e+02_rb,0.29528e+02_rb /) kbo(:, 5,41,15) = (/ & & 0.33481e+02_rb,0.25633e+02_rb,0.23271e+02_rb,0.22872e+02_rb,0.28783e+02_rb /) kbo(:, 1,42,15) = (/ & & 0.37791e+02_rb,0.29665e+02_rb,0.27375e+02_rb,0.26306e+02_rb,0.31897e+02_rb /) kbo(:, 2,42,15) = (/ & & 0.36818e+02_rb,0.28682e+02_rb,0.26328e+02_rb,0.25479e+02_rb,0.31179e+02_rb /) kbo(:, 3,42,15) = (/ & & 0.35814e+02_rb,0.27725e+02_rb,0.25336e+02_rb,0.24663e+02_rb,0.30459e+02_rb /) kbo(:, 4,42,15) = (/ & & 0.34792e+02_rb,0.26784e+02_rb,0.24397e+02_rb,0.23867e+02_rb,0.29730e+02_rb /) kbo(:, 5,42,15) = (/ & & 0.33761e+02_rb,0.25873e+02_rb,0.23504e+02_rb,0.23079e+02_rb,0.28983e+02_rb /) kbo(:, 1,43,15) = (/ & & 0.38102e+02_rb,0.29987e+02_rb,0.27726e+02_rb,0.26579e+02_rb,0.32132e+02_rb /) kbo(:, 2,43,15) = (/ & & 0.37142e+02_rb,0.29000e+02_rb,0.26660e+02_rb,0.25743e+02_rb,0.31410e+02_rb /) kbo(:, 3,43,15) = (/ & & 0.36146e+02_rb,0.28034e+02_rb,0.25651e+02_rb,0.24927e+02_rb,0.30694e+02_rb /) kbo(:, 4,43,15) = (/ & & 0.35125e+02_rb,0.27087e+02_rb,0.24694e+02_rb,0.24121e+02_rb,0.29968e+02_rb /) kbo(:, 5,43,15) = (/ & & 0.34093e+02_rb,0.26161e+02_rb,0.23786e+02_rb,0.23330e+02_rb,0.29223e+02_rb /) kbo(:, 1,44,15) = (/ & & 0.38433e+02_rb,0.30339e+02_rb,0.28106e+02_rb,0.26874e+02_rb,0.32381e+02_rb /) kbo(:, 2,44,15) = (/ & & 0.37485e+02_rb,0.29344e+02_rb,0.27023e+02_rb,0.26033e+02_rb,0.31664e+02_rb /) kbo(:, 3,44,15) = (/ & & 0.36497e+02_rb,0.28368e+02_rb,0.25996e+02_rb,0.25211e+02_rb,0.30945e+02_rb /) kbo(:, 4,44,15) = (/ & & 0.35483e+02_rb,0.27414e+02_rb,0.25019e+02_rb,0.24397e+02_rb,0.30221e+02_rb /) kbo(:, 5,44,15) = (/ & & 0.34454e+02_rb,0.26480e+02_rb,0.24095e+02_rb,0.23603e+02_rb,0.29482e+02_rb /) kbo(:, 1,45,15) = (/ & & 0.38755e+02_rb,0.30690e+02_rb,0.28491e+02_rb,0.27169e+02_rb,0.32624e+02_rb /) kbo(:, 2,45,15) = (/ & & 0.37819e+02_rb,0.29686e+02_rb,0.27393e+02_rb,0.26324e+02_rb,0.31916e+02_rb /) kbo(:, 3,45,15) = (/ & & 0.36842e+02_rb,0.28700e+02_rb,0.26343e+02_rb,0.25494e+02_rb,0.31195e+02_rb /) kbo(:, 4,45,15) = (/ & & 0.35840e+02_rb,0.27743e+02_rb,0.25350e+02_rb,0.24674e+02_rb,0.30470e+02_rb /) kbo(:, 5,45,15) = (/ & & 0.34814e+02_rb,0.26800e+02_rb,0.24408e+02_rb,0.23874e+02_rb,0.29739e+02_rb /) kbo(:, 1,46,15) = (/ & & 0.39090e+02_rb,0.31065e+02_rb,0.28908e+02_rb,0.27486e+02_rb,0.32877e+02_rb /) kbo(:, 2,46,15) = (/ & & 0.38170e+02_rb,0.30050e+02_rb,0.27790e+02_rb,0.26631e+02_rb,0.32180e+02_rb /) kbo(:, 3,46,15) = (/ & & 0.37208e+02_rb,0.29060e+02_rb,0.26719e+02_rb,0.25793e+02_rb,0.31457e+02_rb /) kbo(:, 4,46,15) = (/ & & 0.36211e+02_rb,0.28091e+02_rb,0.25705e+02_rb,0.24972e+02_rb,0.30735e+02_rb /) kbo(:, 5,46,15) = (/ & & 0.35190e+02_rb,0.27143e+02_rb,0.24746e+02_rb,0.24165e+02_rb,0.30011e+02_rb /) kbo(:, 1,47,15) = (/ & & 0.39451e+02_rb,0.31490e+02_rb,0.29378e+02_rb,0.27842e+02_rb,0.33145e+02_rb /) kbo(:, 2,47,15) = (/ & & 0.38554e+02_rb,0.30463e+02_rb,0.28238e+02_rb,0.26977e+02_rb,0.32470e+02_rb /) kbo(:, 3,47,15) = (/ & & 0.37608e+02_rb,0.29464e+02_rb,0.27149e+02_rb,0.26134e+02_rb,0.31753e+02_rb /) kbo(:, 4,47,15) = (/ & & 0.36624e+02_rb,0.28485e+02_rb,0.26114e+02_rb,0.25307e+02_rb,0.31030e+02_rb /) kbo(:, 5,47,15) = (/ & & 0.35612e+02_rb,0.27529e+02_rb,0.25131e+02_rb,0.24491e+02_rb,0.30307e+02_rb /) kbo(:, 1,48,15) = (/ & & 0.39789e+02_rb,0.31912e+02_rb,0.29855e+02_rb,0.28207e+02_rb,0.33402e+02_rb /) kbo(:, 2,48,15) = (/ & & 0.38929e+02_rb,0.30877e+02_rb,0.28697e+02_rb,0.27328e+02_rb,0.32755e+02_rb /) kbo(:, 3,48,15) = (/ & & 0.38000e+02_rb,0.29868e+02_rb,0.27588e+02_rb,0.26477e+02_rb,0.32050e+02_rb /) kbo(:, 4,48,15) = (/ & & 0.37030e+02_rb,0.28879e+02_rb,0.26527e+02_rb,0.25639e+02_rb,0.31322e+02_rb /) kbo(:, 5,48,15) = (/ & & 0.36027e+02_rb,0.27916e+02_rb,0.25523e+02_rb,0.24819e+02_rb,0.30601e+02_rb /) kbo(:, 1,49,15) = (/ & & 0.40116e+02_rb,0.32336e+02_rb,0.30332e+02_rb,0.28574e+02_rb,0.33637e+02_rb /) kbo(:, 2,49,15) = (/ & & 0.39295e+02_rb,0.31299e+02_rb,0.29164e+02_rb,0.27682e+02_rb,0.33028e+02_rb /) kbo(:, 3,49,15) = (/ & & 0.38385e+02_rb,0.30275e+02_rb,0.28033e+02_rb,0.26821e+02_rb,0.32341e+02_rb /) kbo(:, 4,49,15) = (/ & & 0.37432e+02_rb,0.29281e+02_rb,0.26949e+02_rb,0.25975e+02_rb,0.31615e+02_rb /) kbo(:, 5,49,15) = (/ & & 0.36440e+02_rb,0.28306e+02_rb,0.25923e+02_rb,0.25151e+02_rb,0.30893e+02_rb /) kbo(:, 1,50,15) = (/ & & 0.40414e+02_rb,0.32736e+02_rb,0.30783e+02_rb,0.28924e+02_rb,0.33845e+02_rb /) kbo(:, 2,50,15) = (/ & & 0.39619e+02_rb,0.31694e+02_rb,0.29608e+02_rb,0.28020e+02_rb,0.33276e+02_rb /) kbo(:, 3,50,15) = (/ & & 0.38737e+02_rb,0.30661e+02_rb,0.28456e+02_rb,0.27146e+02_rb,0.32609e+02_rb /) kbo(:, 4,50,15) = (/ & & 0.37800e+02_rb,0.29658e+02_rb,0.27356e+02_rb,0.26296e+02_rb,0.31894e+02_rb /) kbo(:, 5,50,15) = (/ & & 0.36822e+02_rb,0.28673e+02_rb,0.26306e+02_rb,0.25463e+02_rb,0.31168e+02_rb /) kbo(:, 1,51,15) = (/ & & 0.40689e+02_rb,0.33123e+02_rb,0.31211e+02_rb,0.29252e+02_rb,0.34023e+02_rb /) kbo(:, 2,51,15) = (/ & & 0.39919e+02_rb,0.32076e+02_rb,0.30039e+02_rb,0.28350e+02_rb,0.33499e+02_rb /) kbo(:, 3,51,15) = (/ & & 0.39075e+02_rb,0.31039e+02_rb,0.28875e+02_rb,0.27462e+02_rb,0.32860e+02_rb /) kbo(:, 4,51,15) = (/ & & 0.38151e+02_rb,0.30023e+02_rb,0.27755e+02_rb,0.26605e+02_rb,0.32160e+02_rb /) kbo(:, 5,51,15) = (/ & & 0.37189e+02_rb,0.29033e+02_rb,0.26685e+02_rb,0.25765e+02_rb,0.31432e+02_rb /) kbo(:, 1,52,15) = (/ & & 0.40936e+02_rb,0.33510e+02_rb,0.31640e+02_rb,0.29576e+02_rb,0.34183e+02_rb /) kbo(:, 2,52,15) = (/ & & 0.40210e+02_rb,0.32459e+02_rb,0.30471e+02_rb,0.28683e+02_rb,0.33706e+02_rb /) kbo(:, 3,52,15) = (/ & & 0.39397e+02_rb,0.31418e+02_rb,0.29296e+02_rb,0.27784e+02_rb,0.33107e+02_rb /) kbo(:, 4,52,15) = (/ & & 0.38495e+02_rb,0.30394e+02_rb,0.28160e+02_rb,0.26919e+02_rb,0.32422e+02_rb /) kbo(:, 5,52,15) = (/ & & 0.37548e+02_rb,0.29397e+02_rb,0.27070e+02_rb,0.26070e+02_rb,0.31697e+02_rb /) kbo(:, 1,53,15) = (/ & & 0.41161e+02_rb,0.33900e+02_rb,0.32075e+02_rb,0.29895e+02_rb,0.34325e+02_rb /) kbo(:, 2,53,15) = (/ & & 0.40494e+02_rb,0.32844e+02_rb,0.30901e+02_rb,0.29015e+02_rb,0.33898e+02_rb /) kbo(:, 3,53,15) = (/ & & 0.39709e+02_rb,0.31802e+02_rb,0.29726e+02_rb,0.28110e+02_rb,0.33339e+02_rb /) kbo(:, 4,53,15) = (/ & & 0.38833e+02_rb,0.30766e+02_rb,0.28570e+02_rb,0.27234e+02_rb,0.32680e+02_rb /) kbo(:, 5,53,15) = (/ & & 0.37902e+02_rb,0.29761e+02_rb,0.27465e+02_rb,0.26380e+02_rb,0.31966e+02_rb /) kbo(:, 1,54,15) = (/ & & 0.41350e+02_rb,0.34259e+02_rb,0.32468e+02_rb,0.30182e+02_rb,0.34433e+02_rb /) kbo(:, 2,54,15) = (/ & & 0.40740e+02_rb,0.33197e+02_rb,0.31292e+02_rb,0.29316e+02_rb,0.34057e+02_rb /) kbo(:, 3,54,15) = (/ & & 0.39978e+02_rb,0.32149e+02_rb,0.30122e+02_rb,0.28414e+02_rb,0.33542e+02_rb /) kbo(:, 4,54,15) = (/ & & 0.39139e+02_rb,0.31111e+02_rb,0.28955e+02_rb,0.27524e+02_rb,0.32911e+02_rb /) kbo(:, 5,54,15) = (/ & & 0.38222e+02_rb,0.30095e+02_rb,0.27832e+02_rb,0.26664e+02_rb,0.32209e+02_rb /) kbo(:, 1,55,15) = (/ & & 0.41508e+02_rb,0.34608e+02_rb,0.32849e+02_rb,0.30454e+02_rb,0.34522e+02_rb /) kbo(:, 2,55,15) = (/ & & 0.40955e+02_rb,0.33539e+02_rb,0.31671e+02_rb,0.29598e+02_rb,0.34194e+02_rb /) kbo(:, 3,55,15) = (/ & & 0.40232e+02_rb,0.32485e+02_rb,0.30501e+02_rb,0.28707e+02_rb,0.33722e+02_rb /) kbo(:, 4,55,15) = (/ & & 0.39425e+02_rb,0.31448e+02_rb,0.29326e+02_rb,0.27805e+02_rb,0.33122e+02_rb /) kbo(:, 5,55,15) = (/ & & 0.38521e+02_rb,0.30419e+02_rb,0.28187e+02_rb,0.26941e+02_rb,0.32441e+02_rb /) kbo(:, 1,56,15) = (/ & & 0.41645e+02_rb,0.34957e+02_rb,0.33233e+02_rb,0.30720e+02_rb,0.34599e+02_rb /) kbo(:, 2,56,15) = (/ & & 0.41152e+02_rb,0.33880e+02_rb,0.32050e+02_rb,0.29874e+02_rb,0.34316e+02_rb /) kbo(:, 3,56,15) = (/ & & 0.40482e+02_rb,0.32823e+02_rb,0.30877e+02_rb,0.28999e+02_rb,0.33890e+02_rb /) kbo(:, 4,56,15) = (/ & & 0.39696e+02_rb,0.31783e+02_rb,0.29704e+02_rb,0.28093e+02_rb,0.33329e+02_rb /) kbo(:, 5,56,15) = (/ & & 0.38819e+02_rb,0.30747e+02_rb,0.28547e+02_rb,0.27216e+02_rb,0.32666e+02_rb /) kbo(:, 1,57,15) = (/ & & 0.41772e+02_rb,0.35313e+02_rb,0.33621e+02_rb,0.30980e+02_rb,0.34653e+02_rb /) kbo(:, 2,57,15) = (/ & & 0.41335e+02_rb,0.34223e+02_rb,0.32428e+02_rb,0.30152e+02_rb,0.34423e+02_rb /) kbo(:, 3,57,15) = (/ & & 0.40717e+02_rb,0.33158e+02_rb,0.31249e+02_rb,0.29283e+02_rb,0.34041e+02_rb /) kbo(:, 4,57,15) = (/ & & 0.39952e+02_rb,0.32113e+02_rb,0.30080e+02_rb,0.28382e+02_rb,0.33523e+02_rb /) kbo(:, 5,57,15) = (/ & & 0.39110e+02_rb,0.31075e+02_rb,0.28913e+02_rb,0.27492e+02_rb,0.32886e+02_rb /) kbo(:, 1,58,15) = (/ & & 0.41872e+02_rb,0.35648e+02_rb,0.33990e+02_rb,0.31215e+02_rb,0.34668e+02_rb /) kbo(:, 2,58,15) = (/ & & 0.41486e+02_rb,0.34551e+02_rb,0.32786e+02_rb,0.30408e+02_rb,0.34507e+02_rb /) kbo(:, 3,58,15) = (/ & & 0.40923e+02_rb,0.33481e+02_rb,0.31606e+02_rb,0.29553e+02_rb,0.34175e+02_rb /) kbo(:, 4,58,15) = (/ & & 0.40193e+02_rb,0.32431e+02_rb,0.30438e+02_rb,0.28657e+02_rb,0.33692e+02_rb /) kbo(:, 5,58,15) = (/ & & 0.39381e+02_rb,0.31393e+02_rb,0.29263e+02_rb,0.27758e+02_rb,0.33088e+02_rb /) kbo(:, 1,59,15) = (/ & & 0.41905e+02_rb,0.35780e+02_rb,0.34140e+02_rb,0.31306e+02_rb,0.34668e+02_rb /) kbo(:, 2,59,15) = (/ & & 0.41541e+02_rb,0.34683e+02_rb,0.32931e+02_rb,0.30509e+02_rb,0.34539e+02_rb /) kbo(:, 3,59,15) = (/ & & 0.41000e+02_rb,0.33610e+02_rb,0.31751e+02_rb,0.29658e+02_rb,0.34225e+02_rb /) kbo(:, 4,59,15) = (/ & & 0.40289e+02_rb,0.32559e+02_rb,0.30582e+02_rb,0.28769e+02_rb,0.33760e+02_rb /) kbo(:, 5,59,15) = (/ & & 0.39484e+02_rb,0.31518e+02_rb,0.29405e+02_rb,0.27867e+02_rb,0.33169e+02_rb /) kbo(:, 1,13,16) = (/ & & 0.44218e+02_rb,0.33168e+02_rb,0.27605e+02_rb,0.40761e+02_rb,0.54348e+02_rb /) kbo(:, 2,13,16) = (/ & & 0.43915e+02_rb,0.32941e+02_rb,0.26738e+02_rb,0.39342e+02_rb,0.52457e+02_rb /) kbo(:, 3,13,16) = (/ & & 0.43491e+02_rb,0.32624e+02_rb,0.25861e+02_rb,0.38022e+02_rb,0.50696e+02_rb /) kbo(:, 4,13,16) = (/ & & 0.42952e+02_rb,0.32220e+02_rb,0.25010e+02_rb,0.36713e+02_rb,0.48951e+02_rb /) kbo(:, 5,13,16) = (/ & & 0.42305e+02_rb,0.31735e+02_rb,0.24184e+02_rb,0.35417e+02_rb,0.47222e+02_rb /) kbo(:, 1,14,16) = (/ & & 0.50640e+02_rb,0.37984e+02_rb,0.31138e+02_rb,0.45571e+02_rb,0.60761e+02_rb /) kbo(:, 2,14,16) = (/ & & 0.50072e+02_rb,0.37558e+02_rb,0.30053e+02_rb,0.43809e+02_rb,0.58413e+02_rb /) kbo(:, 3,14,16) = (/ & & 0.49384e+02_rb,0.37043e+02_rb,0.28981e+02_rb,0.42162e+02_rb,0.56216e+02_rb /) kbo(:, 4,14,16) = (/ & & 0.48531e+02_rb,0.36404e+02_rb,0.27924e+02_rb,0.40555e+02_rb,0.54074e+02_rb /) kbo(:, 5,14,16) = (/ & & 0.47588e+02_rb,0.35696e+02_rb,0.26896e+02_rb,0.38961e+02_rb,0.51948e+02_rb /) kbo(:, 1,15,16) = (/ & & 0.57280e+02_rb,0.42964e+02_rb,0.34740e+02_rb,0.50323e+02_rb,0.67098e+02_rb /) kbo(:, 2,15,16) = (/ & & 0.56367e+02_rb,0.42280e+02_rb,0.33407e+02_rb,0.48191e+02_rb,0.64255e+02_rb /) kbo(:, 3,15,16) = (/ & & 0.55318e+02_rb,0.41493e+02_rb,0.32092e+02_rb,0.46141e+02_rb,0.61520e+02_rb /) kbo(:, 4,15,16) = (/ & & 0.54108e+02_rb,0.40586e+02_rb,0.30808e+02_rb,0.44198e+02_rb,0.58930e+02_rb /) kbo(:, 5,15,16) = (/ & & 0.52826e+02_rb,0.39625e+02_rb,0.29570e+02_rb,0.42303e+02_rb,0.56404e+02_rb /) kbo(:, 1,16,16) = (/ & & 0.63967e+02_rb,0.47979e+02_rb,0.38312e+02_rb,0.54909e+02_rb,0.73213e+02_rb /) kbo(:, 2,16,16) = (/ & & 0.62626e+02_rb,0.46973e+02_rb,0.36695e+02_rb,0.52345e+02_rb,0.69794e+02_rb /) kbo(:, 3,16,16) = (/ & & 0.61112e+02_rb,0.45838e+02_rb,0.35123e+02_rb,0.49904e+02_rb,0.66539e+02_rb /) kbo(:, 4,16,16) = (/ & & 0.59503e+02_rb,0.44632e+02_rb,0.33592e+02_rb,0.47568e+02_rb,0.63425e+02_rb /) kbo(:, 5,16,16) = (/ & & 0.57855e+02_rb,0.43396e+02_rb,0.32125e+02_rb,0.45372e+02_rb,0.60497e+02_rb /) kbo(:, 1,17,16) = (/ & & 0.70540e+02_rb,0.52908e+02_rb,0.41791e+02_rb,0.59184e+02_rb,0.78912e+02_rb /) kbo(:, 2,17,16) = (/ & & 0.68668e+02_rb,0.51504e+02_rb,0.39850e+02_rb,0.56189e+02_rb,0.74919e+02_rb /) kbo(:, 3,17,16) = (/ & & 0.66662e+02_rb,0.50000e+02_rb,0.37983e+02_rb,0.53339e+02_rb,0.71119e+02_rb /) kbo(:, 4,17,16) = (/ & & 0.64633e+02_rb,0.48479e+02_rb,0.36199e+02_rb,0.50655e+02_rb,0.67541e+02_rb /) kbo(:, 5,17,16) = (/ & & 0.62569e+02_rb,0.46932e+02_rb,0.34500e+02_rb,0.48144e+02_rb,0.64192e+02_rb /) kbo(:, 1,18,16) = (/ & & 0.76762e+02_rb,0.57574e+02_rb,0.45062e+02_rb,0.63079e+02_rb,0.84105e+02_rb /) kbo(:, 2,18,16) = (/ & & 0.74320e+02_rb,0.55743e+02_rb,0.42789e+02_rb,0.59653e+02_rb,0.79537e+02_rb /) kbo(:, 3,18,16) = (/ & & 0.71820e+02_rb,0.53869e+02_rb,0.40630e+02_rb,0.56414e+02_rb,0.75219e+02_rb /) kbo(:, 4,18,16) = (/ & & 0.69367e+02_rb,0.52029e+02_rb,0.38584e+02_rb,0.53391e+02_rb,0.71188e+02_rb /) kbo(:, 5,18,16) = (/ & & 0.66895e+02_rb,0.50176e+02_rb,0.36663e+02_rb,0.50596e+02_rb,0.67461e+02_rb /) kbo(:, 1,19,16) = (/ & & 0.82534e+02_rb,0.61903e+02_rb,0.48066e+02_rb,0.66533e+02_rb,0.88711e+02_rb /) kbo(:, 2,19,16) = (/ & & 0.79500e+02_rb,0.59627e+02_rb,0.45463e+02_rb,0.62698e+02_rb,0.83597e+02_rb /) kbo(:, 3,19,16) = (/ & & 0.76531e+02_rb,0.57402e+02_rb,0.43003e+02_rb,0.59107e+02_rb,0.78810e+02_rb /) kbo(:, 4,19,16) = (/ & & 0.73621e+02_rb,0.55219e+02_rb,0.40714e+02_rb,0.55776e+02_rb,0.74368e+02_rb /) kbo(:, 5,19,16) = (/ & & 0.70758e+02_rb,0.53072e+02_rb,0.38580e+02_rb,0.52720e+02_rb,0.70294e+02_rb /) kbo(:, 1,20,16) = (/ & & 0.87685e+02_rb,0.65766e+02_rb,0.50694e+02_rb,0.69445e+02_rb,0.92594e+02_rb /) kbo(:, 2,20,16) = (/ & & 0.84090e+02_rb,0.63070e+02_rb,0.47778e+02_rb,0.65259e+02_rb,0.87012e+02_rb /) kbo(:, 3,20,16) = (/ & & 0.80661e+02_rb,0.60499e+02_rb,0.45053e+02_rb,0.61350e+02_rb,0.81800e+02_rb /) kbo(:, 4,20,16) = (/ & & 0.77340e+02_rb,0.58008e+02_rb,0.42537e+02_rb,0.57756e+02_rb,0.77009e+02_rb /) kbo(:, 5,20,16) = (/ & & 0.74079e+02_rb,0.55564e+02_rb,0.40201e+02_rb,0.54475e+02_rb,0.72633e+02_rb /) kbo(:, 1,21,16) = (/ & & 0.92165e+02_rb,0.69126e+02_rb,0.52960e+02_rb,0.71872e+02_rb,0.95829e+02_rb /) kbo(:, 2,21,16) = (/ & & 0.88084e+02_rb,0.66065e+02_rb,0.49750e+02_rb,0.67363e+02_rb,0.89818e+02_rb /) kbo(:, 3,21,16) = (/ & & 0.84210e+02_rb,0.63159e+02_rb,0.46796e+02_rb,0.63194e+02_rb,0.84259e+02_rb /) kbo(:, 4,21,16) = (/ & & 0.80508e+02_rb,0.60384e+02_rb,0.44071e+02_rb,0.59388e+02_rb,0.79185e+02_rb /) kbo(:, 5,21,16) = (/ & & 0.76889e+02_rb,0.57670e+02_rb,0.41555e+02_rb,0.55904e+02_rb,0.74538e+02_rb /) kbo(:, 1,22,16) = (/ & & 0.95696e+02_rb,0.71774e+02_rb,0.54631e+02_rb,0.73526e+02_rb,0.98034e+02_rb /) kbo(:, 2,22,16) = (/ & & 0.91190e+02_rb,0.68395e+02_rb,0.51188e+02_rb,0.68768e+02_rb,0.91690e+02_rb /) kbo(:, 3,22,16) = (/ & & 0.86939e+02_rb,0.65206e+02_rb,0.48040e+02_rb,0.64409e+02_rb,0.85879e+02_rb /) kbo(:, 4,22,16) = (/ & & 0.82890e+02_rb,0.62171e+02_rb,0.45151e+02_rb,0.60441e+02_rb,0.80589e+02_rb /) kbo(:, 5,22,16) = (/ & & 0.78983e+02_rb,0.59241e+02_rb,0.42494e+02_rb,0.56811e+02_rb,0.75748e+02_rb /) kbo(:, 1,23,16) = (/ & & 0.98505e+02_rb,0.73881e+02_rb,0.55897e+02_rb,0.74690e+02_rb,0.99587e+02_rb /) kbo(:, 2,23,16) = (/ & & 0.93651e+02_rb,0.70240e+02_rb,0.52277e+02_rb,0.69755e+02_rb,0.93007e+02_rb /) kbo(:, 3,23,16) = (/ & & 0.89065e+02_rb,0.66801e+02_rb,0.48963e+02_rb,0.65256e+02_rb,0.87008e+02_rb /) kbo(:, 4,23,16) = (/ & & 0.84725e+02_rb,0.63546e+02_rb,0.45949e+02_rb,0.61155e+02_rb,0.81540e+02_rb /) kbo(:, 5,23,16) = (/ & & 0.80582e+02_rb,0.60440e+02_rb,0.43182e+02_rb,0.57417e+02_rb,0.76556e+02_rb /) kbo(:, 1,24,16) = (/ & & 0.10064e+03_rb,0.75484e+02_rb,0.56783e+02_rb,0.75422e+02_rb,0.10056e+03_rb /) kbo(:, 2,24,16) = (/ & & 0.95486e+02_rb,0.71616e+02_rb,0.53021e+02_rb,0.70355e+02_rb,0.93807e+02_rb /) kbo(:, 3,24,16) = (/ & & 0.90630e+02_rb,0.67975e+02_rb,0.49592e+02_rb,0.65751e+02_rb,0.87668e+02_rb /) kbo(:, 4,24,16) = (/ & & 0.86059e+02_rb,0.64548e+02_rb,0.46483e+02_rb,0.61565e+02_rb,0.82086e+02_rb /) kbo(:, 5,24,16) = (/ & & 0.81718e+02_rb,0.61292e+02_rb,0.43631e+02_rb,0.57753e+02_rb,0.77003e+02_rb /) kbo(:, 1,25,16) = (/ & & 0.10215e+03_rb,0.76618e+02_rb,0.57324e+02_rb,0.75759e+02_rb,0.10101e+03_rb /) kbo(:, 2,25,16) = (/ & & 0.96743e+02_rb,0.72560e+02_rb,0.53446e+02_rb,0.70607e+02_rb,0.94143e+02_rb /) kbo(:, 3,25,16) = (/ & & 0.91681e+02_rb,0.68763e+02_rb,0.49955e+02_rb,0.65940e+02_rb,0.87921e+02_rb /) kbo(:, 4,25,16) = (/ & & 0.86919e+02_rb,0.65192e+02_rb,0.46773e+02_rb,0.61703e+02_rb,0.82270e+02_rb /) kbo(:, 5,25,16) = (/ & & 0.82440e+02_rb,0.61834e+02_rb,0.43873e+02_rb,0.57842e+02_rb,0.77123e+02_rb /) kbo(:, 1,26,16) = (/ & & 0.10303e+03_rb,0.77274e+02_rb,0.57519e+02_rb,0.75701e+02_rb,0.10093e+03_rb /) kbo(:, 2,26,16) = (/ & & 0.97444e+02_rb,0.73085e+02_rb,0.53575e+02_rb,0.70525e+02_rb,0.94033e+02_rb /) kbo(:, 3,26,16) = (/ & & 0.92222e+02_rb,0.69170e+02_rb,0.50048e+02_rb,0.65828e+02_rb,0.87771e+02_rb /) kbo(:, 4,26,16) = (/ & & 0.87336e+02_rb,0.65505e+02_rb,0.46824e+02_rb,0.61566e+02_rb,0.82088e+02_rb /) kbo(:, 5,26,16) = (/ & & 0.82771e+02_rb,0.62082e+02_rb,0.43909e+02_rb,0.57710e+02_rb,0.76947e+02_rb /) kbo(:, 1,27,16) = (/ & & 0.10345e+03_rb,0.77590e+02_rb,0.57467e+02_rb,0.75392e+02_rb,0.10052e+03_rb /) kbo(:, 2,27,16) = (/ & & 0.97739e+02_rb,0.73306e+02_rb,0.53511e+02_rb,0.70214e+02_rb,0.93619e+02_rb /) kbo(:, 3,27,16) = (/ & & 0.92406e+02_rb,0.69307e+02_rb,0.49956e+02_rb,0.65525e+02_rb,0.87366e+02_rb /) kbo(:, 4,27,16) = (/ & & 0.87439e+02_rb,0.65583e+02_rb,0.46715e+02_rb,0.61255e+02_rb,0.81674e+02_rb /) kbo(:, 5,27,16) = (/ & & 0.82826e+02_rb,0.62123e+02_rb,0.43807e+02_rb,0.57432e+02_rb,0.76576e+02_rb /) kbo(:, 1,28,16) = (/ & & 0.10350e+03_rb,0.77625e+02_rb,0.57222e+02_rb,0.74881e+02_rb,0.99841e+02_rb /) kbo(:, 2,28,16) = (/ & & 0.97691e+02_rb,0.73271e+02_rb,0.53275e+02_rb,0.69730e+02_rb,0.92974e+02_rb /) kbo(:, 3,28,16) = (/ & & 0.92289e+02_rb,0.69219e+02_rb,0.49719e+02_rb,0.65057e+02_rb,0.86743e+02_rb /) kbo(:, 4,28,16) = (/ & & 0.87284e+02_rb,0.65466e+02_rb,0.46485e+02_rb,0.60817e+02_rb,0.81090e+02_rb /) kbo(:, 5,28,16) = (/ & & 0.82640e+02_rb,0.61984e+02_rb,0.43588e+02_rb,0.57042e+02_rb,0.76055e+02_rb /) kbo(:, 1,29,16) = (/ & & 0.10319e+03_rb,0.77394e+02_rb,0.56799e+02_rb,0.74179e+02_rb,0.98906e+02_rb /) kbo(:, 2,29,16) = (/ & & 0.97340e+02_rb,0.73008e+02_rb,0.52885e+02_rb,0.69064e+02_rb,0.92086e+02_rb /) kbo(:, 3,29,16) = (/ & & 0.91909e+02_rb,0.68935e+02_rb,0.49342e+02_rb,0.64439e+02_rb,0.85918e+02_rb /) kbo(:, 4,29,16) = (/ & & 0.86890e+02_rb,0.65171e+02_rb,0.46144e+02_rb,0.60253e+02_rb,0.80337e+02_rb /) kbo(:, 5,29,16) = (/ & & 0.82249e+02_rb,0.61690e+02_rb,0.43266e+02_rb,0.56539e+02_rb,0.75385e+02_rb /) kbo(:, 1,30,16) = (/ & & 0.10264e+03_rb,0.76981e+02_rb,0.56267e+02_rb,0.73352e+02_rb,0.97803e+02_rb /) kbo(:, 2,30,16) = (/ & & 0.96761e+02_rb,0.72573e+02_rb,0.52390e+02_rb,0.68302e+02_rb,0.91070e+02_rb /) kbo(:, 3,30,16) = (/ & & 0.91349e+02_rb,0.68515e+02_rb,0.48877e+02_rb,0.63734e+02_rb,0.84978e+02_rb /) kbo(:, 4,30,16) = (/ & & 0.86346e+02_rb,0.64763e+02_rb,0.45722e+02_rb,0.59615e+02_rb,0.79487e+02_rb /) kbo(:, 5,30,16) = (/ & & 0.81701e+02_rb,0.61280e+02_rb,0.42874e+02_rb,0.55973e+02_rb,0.74631e+02_rb /) kbo(:, 1,31,16) = (/ & & 0.10185e+03_rb,0.76389e+02_rb,0.55624e+02_rb,0.72410e+02_rb,0.96547e+02_rb /) kbo(:, 2,31,16) = (/ & & 0.95999e+02_rb,0.72002e+02_rb,0.51796e+02_rb,0.67443e+02_rb,0.89924e+02_rb /) kbo(:, 3,31,16) = (/ & & 0.90614e+02_rb,0.67963e+02_rb,0.48327e+02_rb,0.62938e+02_rb,0.83917e+02_rb /) kbo(:, 4,31,16) = (/ & & 0.85645e+02_rb,0.64237e+02_rb,0.45228e+02_rb,0.58906e+02_rb,0.78542e+02_rb /) kbo(:, 5,31,16) = (/ & & 0.81007e+02_rb,0.60759e+02_rb,0.42414e+02_rb,0.55328e+02_rb,0.73771e+02_rb /) kbo(:, 1,32,16) = (/ & & 0.10089e+03_rb,0.75672e+02_rb,0.54904e+02_rb,0.71387e+02_rb,0.95183e+02_rb /) kbo(:, 2,32,16) = (/ & & 0.95077e+02_rb,0.71310e+02_rb,0.51129e+02_rb,0.66501e+02_rb,0.88668e+02_rb /) kbo(:, 3,32,16) = (/ & & 0.89743e+02_rb,0.67310e+02_rb,0.47720e+02_rb,0.62089e+02_rb,0.82785e+02_rb /) kbo(:, 4,32,16) = (/ & & 0.84830e+02_rb,0.63626e+02_rb,0.44676e+02_rb,0.58147e+02_rb,0.77529e+02_rb /) kbo(:, 5,32,16) = (/ & & 0.80208e+02_rb,0.60160e+02_rb,0.41909e+02_rb,0.54638e+02_rb,0.72851e+02_rb /) kbo(:, 1,33,16) = (/ & & 0.99806e+02_rb,0.74857e+02_rb,0.54124e+02_rb,0.70307e+02_rb,0.93742e+02_rb /) kbo(:, 2,33,16) = (/ & & 0.94060e+02_rb,0.70548e+02_rb,0.50418e+02_rb,0.65525e+02_rb,0.87366e+02_rb /) kbo(:, 3,33,16) = (/ & & 0.88780e+02_rb,0.66588e+02_rb,0.47080e+02_rb,0.61195e+02_rb,0.81594e+02_rb /) kbo(:, 4,33,16) = (/ & & 0.83926e+02_rb,0.62948e+02_rb,0.44091e+02_rb,0.57369e+02_rb,0.76493e+02_rb /) kbo(:, 5,33,16) = (/ & & 0.79342e+02_rb,0.59511e+02_rb,0.41372e+02_rb,0.53910e+02_rb,0.71880e+02_rb /) kbo(:, 1,34,16) = (/ & & 0.98842e+02_rb,0.74134e+02_rb,0.53446e+02_rb,0.69373e+02_rb,0.92498e+02_rb /) kbo(:, 2,34,16) = (/ & & 0.93169e+02_rb,0.69879e+02_rb,0.49796e+02_rb,0.64672e+02_rb,0.86229e+02_rb /) kbo(:, 3,34,16) = (/ & & 0.87940e+02_rb,0.65958e+02_rb,0.46525e+02_rb,0.60437e+02_rb,0.80583e+02_rb /) kbo(:, 4,34,16) = (/ & & 0.83124e+02_rb,0.62347e+02_rb,0.43581e+02_rb,0.56689e+02_rb,0.75585e+02_rb /) kbo(:, 5,34,16) = (/ & & 0.78566e+02_rb,0.58929e+02_rb,0.40900e+02_rb,0.53287e+02_rb,0.71049e+02_rb /) kbo(:, 1,35,16) = (/ & & 0.98383e+02_rb,0.73790e+02_rb,0.53104e+02_rb,0.68893e+02_rb,0.91857e+02_rb /) kbo(:, 2,35,16) = (/ & & 0.92731e+02_rb,0.69551e+02_rb,0.49484e+02_rb,0.64233e+02_rb,0.85643e+02_rb /) kbo(:, 3,35,16) = (/ & & 0.87537e+02_rb,0.65656e+02_rb,0.46247e+02_rb,0.60050e+02_rb,0.80067e+02_rb /) kbo(:, 4,35,16) = (/ & & 0.82730e+02_rb,0.62051e+02_rb,0.43325e+02_rb,0.56336e+02_rb,0.75115e+02_rb /) kbo(:, 5,35,16) = (/ & & 0.78184e+02_rb,0.58642e+02_rb,0.40664e+02_rb,0.52959e+02_rb,0.70611e+02_rb /) kbo(:, 1,36,16) = (/ & & 0.98510e+02_rb,0.73885e+02_rb,0.53153e+02_rb,0.68921e+02_rb,0.91895e+02_rb /) kbo(:, 2,36,16) = (/ & & 0.92845e+02_rb,0.69637e+02_rb,0.49525e+02_rb,0.64248e+02_rb,0.85664e+02_rb /) kbo(:, 3,36,16) = (/ & & 0.87626e+02_rb,0.65723e+02_rb,0.46281e+02_rb,0.60067e+02_rb,0.80090e+02_rb /) kbo(:, 4,36,16) = (/ & & 0.82805e+02_rb,0.62108e+02_rb,0.43352e+02_rb,0.56351e+02_rb,0.75135e+02_rb /) kbo(:, 5,36,16) = (/ & & 0.78246e+02_rb,0.58689e+02_rb,0.40687e+02_rb,0.52970e+02_rb,0.70627e+02_rb /) kbo(:, 1,37,16) = (/ & & 0.99499e+02_rb,0.74626e+02_rb,0.53765e+02_rb,0.69681e+02_rb,0.92907e+02_rb /) kbo(:, 2,37,16) = (/ & & 0.93737e+02_rb,0.70305e+02_rb,0.50072e+02_rb,0.64938e+02_rb,0.86584e+02_rb /) kbo(:, 3,37,16) = (/ & & 0.88443e+02_rb,0.66336e+02_rb,0.46765e+02_rb,0.60669e+02_rb,0.80892e+02_rb /) kbo(:, 4,37,16) = (/ & & 0.83569e+02_rb,0.62680e+02_rb,0.43792e+02_rb,0.56887e+02_rb,0.75849e+02_rb /) kbo(:, 5,37,16) = (/ & & 0.78959e+02_rb,0.59223e+02_rb,0.41087e+02_rb,0.53464e+02_rb,0.71286e+02_rb /) kbo(:, 1,38,16) = (/ & & 0.10053e+03_rb,0.75401e+02_rb,0.54401e+02_rb,0.70469e+02_rb,0.93958e+02_rb /) kbo(:, 2,38,16) = (/ & & 0.94665e+02_rb,0.71001e+02_rb,0.50643e+02_rb,0.65651e+02_rb,0.87535e+02_rb /) kbo(:, 3,38,16) = (/ & & 0.89287e+02_rb,0.66968e+02_rb,0.47272e+02_rb,0.61298e+02_rb,0.81730e+02_rb /) kbo(:, 4,38,16) = (/ & & 0.84354e+02_rb,0.63269e+02_rb,0.44250e+02_rb,0.57455e+02_rb,0.76607e+02_rb /) kbo(:, 5,38,16) = (/ & & 0.79688e+02_rb,0.59770e+02_rb,0.41502e+02_rb,0.53978e+02_rb,0.71970e+02_rb /) kbo(:, 1,39,16) = (/ & & 0.10152e+03_rb,0.76145e+02_rb,0.55030e+02_rb,0.71266e+02_rb,0.95022e+02_rb /) kbo(:, 2,39,16) = (/ & & 0.95574e+02_rb,0.71683e+02_rb,0.51208e+02_rb,0.66359e+02_rb,0.88479e+02_rb /) kbo(:, 3,39,16) = (/ & & 0.90127e+02_rb,0.67598e+02_rb,0.47776e+02_rb,0.61934e+02_rb,0.82579e+02_rb /) kbo(:, 4,39,16) = (/ & & 0.85122e+02_rb,0.63845e+02_rb,0.44704e+02_rb,0.58015e+02_rb,0.77353e+02_rb /) kbo(:, 5,39,16) = (/ & & 0.80410e+02_rb,0.60311e+02_rb,0.41916e+02_rb,0.54486e+02_rb,0.72649e+02_rb /) kbo(:, 1,40,16) = (/ & & 0.10316e+03_rb,0.77371e+02_rb,0.56077e+02_rb,0.72600e+02_rb,0.96800e+02_rb /) kbo(:, 2,40,16) = (/ & & 0.97060e+02_rb,0.72797e+02_rb,0.52149e+02_rb,0.67558e+02_rb,0.90077e+02_rb /) kbo(:, 3,40,16) = (/ & & 0.91509e+02_rb,0.68635e+02_rb,0.48618e+02_rb,0.63010e+02_rb,0.84013e+02_rb /) kbo(:, 4,40,16) = (/ & & 0.86384e+02_rb,0.64791e+02_rb,0.45460e+02_rb,0.58959e+02_rb,0.78612e+02_rb /) kbo(:, 5,40,16) = (/ & & 0.81600e+02_rb,0.61204e+02_rb,0.42605e+02_rb,0.55349e+02_rb,0.73798e+02_rb /) kbo(:, 1,41,16) = (/ & & 0.10490e+03_rb,0.78677e+02_rb,0.57202e+02_rb,0.74030e+02_rb,0.98707e+02_rb /) kbo(:, 2,41,16) = (/ & & 0.98655e+02_rb,0.73994e+02_rb,0.53155e+02_rb,0.68836e+02_rb,0.91782e+02_rb /) kbo(:, 3,41,16) = (/ & & 0.92964e+02_rb,0.69726e+02_rb,0.49517e+02_rb,0.64156e+02_rb,0.85541e+02_rb /) kbo(:, 4,41,16) = (/ & & 0.87720e+02_rb,0.65793e+02_rb,0.46275e+02_rb,0.59984e+02_rb,0.79978e+02_rb /) kbo(:, 5,41,16) = (/ & & 0.82858e+02_rb,0.62147e+02_rb,0.43340e+02_rb,0.56275e+02_rb,0.75033e+02_rb /) kbo(:, 1,42,16) = (/ & & 0.10666e+03_rb,0.79997e+02_rb,0.58340e+02_rb,0.75485e+02_rb,0.10065e+03_rb /) kbo(:, 2,42,16) = (/ & & 0.10028e+03_rb,0.75211e+02_rb,0.54189e+02_rb,0.70153e+02_rb,0.93537e+02_rb /) kbo(:, 3,42,16) = (/ & & 0.94432e+02_rb,0.70827e+02_rb,0.50443e+02_rb,0.65340e+02_rb,0.87121e+02_rb /) kbo(:, 4,42,16) = (/ & & 0.89075e+02_rb,0.66809e+02_rb,0.47102e+02_rb,0.61032e+02_rb,0.81376e+02_rb /) kbo(:, 5,42,16) = (/ & & 0.84125e+02_rb,0.63097e+02_rb,0.44086e+02_rb,0.57211e+02_rb,0.76281e+02_rb /) kbo(:, 1,43,16) = (/ & & 0.10883e+03_rb,0.81624e+02_rb,0.59771e+02_rb,0.77309e+02_rb,0.10308e+03_rb /) kbo(:, 2,43,16) = (/ & & 0.10228e+03_rb,0.76711e+02_rb,0.55476e+02_rb,0.71797e+02_rb,0.95729e+02_rb /) kbo(:, 3,43,16) = (/ & & 0.96257e+02_rb,0.72196e+02_rb,0.51599e+02_rb,0.66824e+02_rb,0.89098e+02_rb /) kbo(:, 4,43,16) = (/ & & 0.90745e+02_rb,0.68062e+02_rb,0.48126e+02_rb,0.62350e+02_rb,0.83134e+02_rb /) kbo(:, 5,43,16) = (/ & & 0.85682e+02_rb,0.64265e+02_rb,0.45017e+02_rb,0.58380e+02_rb,0.77840e+02_rb /) kbo(:, 1,44,16) = (/ & & 0.11122e+03_rb,0.83416e+02_rb,0.61378e+02_rb,0.79350e+02_rb,0.10580e+03_rb /) kbo(:, 2,44,16) = (/ & & 0.10448e+03_rb,0.78362e+02_rb,0.56905e+02_rb,0.73629e+02_rb,0.98171e+02_rb /) kbo(:, 3,44,16) = (/ & & 0.98280e+02_rb,0.73712e+02_rb,0.52886e+02_rb,0.68474e+02_rb,0.91299e+02_rb /) kbo(:, 4,44,16) = (/ & & 0.92614e+02_rb,0.69464e+02_rb,0.49277e+02_rb,0.63819e+02_rb,0.85092e+02_rb /) kbo(:, 5,44,16) = (/ & & 0.87390e+02_rb,0.65546e+02_rb,0.46054e+02_rb,0.59688e+02_rb,0.79585e+02_rb /) kbo(:, 1,45,16) = (/ & & 0.11367e+03_rb,0.85251e+02_rb,0.63043e+02_rb,0.81458e+02_rb,0.10861e+03_rb /) kbo(:, 2,45,16) = (/ & & 0.10674e+03_rb,0.80056e+02_rb,0.58377e+02_rb,0.75516e+02_rb,0.10069e+03_rb /) kbo(:, 3,45,16) = (/ & & 0.10036e+03_rb,0.75271e+02_rb,0.54217e+02_rb,0.70172e+02_rb,0.93562e+02_rb /) kbo(:, 4,45,16) = (/ & & 0.94507e+02_rb,0.70883e+02_rb,0.50472e+02_rb,0.65352e+02_rb,0.87137e+02_rb /) kbo(:, 5,45,16) = (/ & & 0.89124e+02_rb,0.66846e+02_rb,0.47119e+02_rb,0.61044e+02_rb,0.81393e+02_rb /) kbo(:, 1,46,16) = (/ & & 0.11634e+03_rb,0.87256e+02_rb,0.64886e+02_rb,0.83772e+02_rb,0.11170e+03_rb /) kbo(:, 2,46,16) = (/ & & 0.10921e+03_rb,0.81909e+02_rb,0.60009e+02_rb,0.77600e+02_rb,0.10347e+03_rb /) kbo(:, 3,46,16) = (/ & & 0.10262e+03_rb,0.76969e+02_rb,0.55682e+02_rb,0.72046e+02_rb,0.96062e+02_rb /) kbo(:, 4,46,16) = (/ & & 0.96578e+02_rb,0.72436e+02_rb,0.51790e+02_rb,0.67050e+02_rb,0.89399e+02_rb /) kbo(:, 5,46,16) = (/ & & 0.91036e+02_rb,0.68280e+02_rb,0.48293e+02_rb,0.62556e+02_rb,0.83408e+02_rb /) kbo(:, 1,47,16) = (/ & & 0.11944e+03_rb,0.89580e+02_rb,0.67039e+02_rb,0.86470e+02_rb,0.11529e+03_rb /) kbo(:, 2,47,16) = (/ & & 0.11203e+03_rb,0.84025e+02_rb,0.61916e+02_rb,0.80032e+02_rb,0.10671e+03_rb /) kbo(:, 3,47,16) = (/ & & 0.10523e+03_rb,0.78928e+02_rb,0.57378e+02_rb,0.74229e+02_rb,0.98972e+02_rb /) kbo(:, 4,47,16) = (/ & & 0.98975e+02_rb,0.74234e+02_rb,0.53317e+02_rb,0.69003e+02_rb,0.92005e+02_rb /) kbo(:, 5,47,16) = (/ & & 0.93247e+02_rb,0.69938e+02_rb,0.49666e+02_rb,0.64309e+02_rb,0.85745e+02_rb /) kbo(:, 1,48,16) = (/ & & 0.12267e+03_rb,0.92006e+02_rb,0.69290e+02_rb,0.89280e+02_rb,0.11904e+03_rb /) kbo(:, 2,48,16) = (/ & & 0.11495e+03_rb,0.86215e+02_rb,0.63917e+02_rb,0.82556e+02_rb,0.11008e+03_rb /) kbo(:, 3,48,16) = (/ & & 0.10793e+03_rb,0.80951e+02_rb,0.59146e+02_rb,0.76493e+02_rb,0.10199e+03_rb /) kbo(:, 4,48,16) = (/ & & 0.10147e+03_rb,0.76101e+02_rb,0.54918e+02_rb,0.71050e+02_rb,0.94733e+02_rb /) kbo(:, 5,48,16) = (/ & & 0.95498e+02_rb,0.71626e+02_rb,0.51095e+02_rb,0.66155e+02_rb,0.88207e+02_rb /) kbo(:, 1,49,16) = (/ & & 0.12603e+03_rb,0.94521e+02_rb,0.71680e+02_rb,0.92236e+02_rb,0.12298e+03_rb /) kbo(:, 2,49,16) = (/ & & 0.11801e+03_rb,0.88509e+02_rb,0.66027e+02_rb,0.85192e+02_rb,0.11359e+03_rb /) kbo(:, 3,49,16) = (/ & & 0.11070e+03_rb,0.83029e+02_rb,0.61003e+02_rb,0.78868e+02_rb,0.10516e+03_rb /) kbo(:, 4,49,16) = (/ & & 0.10402e+03_rb,0.78016e+02_rb,0.56578e+02_rb,0.73185e+02_rb,0.97580e+02_rb /) kbo(:, 5,49,16) = (/ & & 0.97847e+02_rb,0.73387e+02_rb,0.52593e+02_rb,0.68075e+02_rb,0.90767e+02_rb /) kbo(:, 1,50,16) = (/ & & 0.12933e+03_rb,0.96996e+02_rb,0.74078e+02_rb,0.95132e+02_rb,0.12684e+03_rb /) kbo(:, 2,50,16) = (/ & & 0.12097e+03_rb,0.90726e+02_rb,0.68085e+02_rb,0.87768e+02_rb,0.11702e+03_rb /) kbo(:, 3,50,16) = (/ & & 0.11343e+03_rb,0.85073e+02_rb,0.62849e+02_rb,0.81185e+02_rb,0.10825e+03_rb /) kbo(:, 4,50,16) = (/ & & 0.10650e+03_rb,0.79879e+02_rb,0.58193e+02_rb,0.75257e+02_rb,0.10034e+03_rb /) kbo(:, 5,50,16) = (/ & & 0.10012e+03_rb,0.75094e+02_rb,0.54050e+02_rb,0.69940e+02_rb,0.93253e+02_rb /) kbo(:, 1,51,16) = (/ & & 0.13262e+03_rb,0.99463e+02_rb,0.76537e+02_rb,0.98089e+02_rb,0.13079e+03_rb /) kbo(:, 2,51,16) = (/ & & 0.12396e+03_rb,0.92972e+02_rb,0.70180e+02_rb,0.90371e+02_rb,0.12049e+03_rb /) kbo(:, 3,51,16) = (/ & & 0.11611e+03_rb,0.87085e+02_rb,0.64700e+02_rb,0.83525e+02_rb,0.11137e+03_rb /) kbo(:, 4,51,16) = (/ & & 0.10897e+03_rb,0.81728e+02_rb,0.59829e+02_rb,0.77356e+02_rb,0.10314e+03_rb /) kbo(:, 5,51,16) = (/ & & 0.10241e+03_rb,0.76807e+02_rb,0.55526e+02_rb,0.71828e+02_rb,0.95771e+02_rb /) kbo(:, 1,52,16) = (/ & & 0.13607e+03_rb,0.10205e+03_rb,0.79117e+02_rb,0.10117e+03_rb,0.13489e+03_rb /) kbo(:, 2,52,16) = (/ & & 0.12703e+03_rb,0.95276e+02_rb,0.72382e+02_rb,0.93082e+02_rb,0.12411e+03_rb /) kbo(:, 3,52,16) = (/ & & 0.11888e+03_rb,0.89162e+02_rb,0.66631e+02_rb,0.85943e+02_rb,0.11459e+03_rb /) kbo(:, 4,52,16) = (/ & & 0.11155e+03_rb,0.83666e+02_rb,0.61557e+02_rb,0.79542e+02_rb,0.10606e+03_rb /) kbo(:, 5,52,16) = (/ & & 0.10475e+03_rb,0.78563e+02_rb,0.57053e+02_rb,0.73794e+02_rb,0.98392e+02_rb /) kbo(:, 1,53,16) = (/ & & 0.13969e+03_rb,0.10477e+03_rb,0.81852e+02_rb,0.10445e+03_rb,0.13926e+03_rb /) kbo(:, 2,53,16) = (/ & & 0.13021e+03_rb,0.97660e+02_rb,0.74731e+02_rb,0.95923e+02_rb,0.12790e+03_rb /) kbo(:, 3,53,16) = (/ & & 0.12178e+03_rb,0.91333e+02_rb,0.68644e+02_rb,0.88461e+02_rb,0.11795e+03_rb /) kbo(:, 4,53,16) = (/ & & 0.11417e+03_rb,0.85628e+02_rb,0.63346e+02_rb,0.81812e+02_rb,0.10908e+03_rb /) kbo(:, 5,53,16) = (/ & & 0.10716e+03_rb,0.80376e+02_rb,0.58630e+02_rb,0.75816e+02_rb,0.10109e+03_rb /) kbo(:, 1,54,16) = (/ & & 0.14312e+03_rb,0.10734e+03_rb,0.84505e+02_rb,0.10757e+03_rb,0.14343e+03_rb /) kbo(:, 2,54,16) = (/ & & 0.13326e+03_rb,0.99943e+02_rb,0.77008e+02_rb,0.98653e+02_rb,0.13154e+03_rb /) kbo(:, 3,54,16) = (/ & & 0.12453e+03_rb,0.93400e+02_rb,0.70583e+02_rb,0.90867e+02_rb,0.12116e+03_rb /) kbo(:, 4,54,16) = (/ & & 0.11663e+03_rb,0.87472e+02_rb,0.65055e+02_rb,0.83971e+02_rb,0.11196e+03_rb /) kbo(:, 5,54,16) = (/ & & 0.10944e+03_rb,0.82085e+02_rb,0.60143e+02_rb,0.77761e+02_rb,0.10368e+03_rb /) kbo(:, 1,55,16) = (/ & & 0.14652e+03_rb,0.10989e+03_rb,0.87185e+02_rb,0.11072e+03_rb,0.14762e+03_rb /) kbo(:, 2,55,16) = (/ & & 0.13631e+03_rb,0.10223e+03_rb,0.79292e+02_rb,0.10139e+03_rb,0.13518e+03_rb /) kbo(:, 3,55,16) = (/ & & 0.12725e+03_rb,0.95436e+02_rb,0.72534e+02_rb,0.93260e+02_rb,0.12435e+03_rb /) kbo(:, 4,55,16) = (/ & & 0.11908e+03_rb,0.89315e+02_rb,0.66761e+02_rb,0.86100e+02_rb,0.11480e+03_rb /) kbo(:, 5,55,16) = (/ & & 0.11172e+03_rb,0.83789e+02_rb,0.61666e+02_rb,0.79683e+02_rb,0.10624e+03_rb /) kbo(:, 1,56,16) = (/ & & 0.15005e+03_rb,0.11254e+03_rb,0.89964e+02_rb,0.11399e+03_rb,0.15199e+03_rb /) kbo(:, 2,56,16) = (/ & & 0.13946e+03_rb,0.10459e+03_rb,0.81673e+02_rb,0.10424e+03_rb,0.13899e+03_rb /) kbo(:, 3,56,16) = (/ & & 0.13002e+03_rb,0.97512e+02_rb,0.74583e+02_rb,0.95730e+02_rb,0.12764e+03_rb /) kbo(:, 4,56,16) = (/ & & 0.12160e+03_rb,0.91205e+02_rb,0.68519e+02_rb,0.88312e+02_rb,0.11775e+03_rb /) kbo(:, 5,56,16) = (/ & & 0.11401e+03_rb,0.85509e+02_rb,0.63233e+02_rb,0.81665e+02_rb,0.10889e+03_rb /) kbo(:, 1,57,16) = (/ & & 0.15367e+03_rb,0.11525e+03_rb,0.92893e+02_rb,0.11745e+03_rb,0.15659e+03_rb /) kbo(:, 2,57,16) = (/ & & 0.14273e+03_rb,0.10705e+03_rb,0.84201e+02_rb,0.10722e+03_rb,0.14296e+03_rb /) kbo(:, 3,57,16) = (/ & & 0.13291e+03_rb,0.99681e+02_rb,0.76750e+02_rb,0.98336e+02_rb,0.13111e+03_rb /) kbo(:, 4,57,16) = (/ & & 0.12423e+03_rb,0.93171e+02_rb,0.70357e+02_rb,0.90589e+02_rb,0.12079e+03_rb /) kbo(:, 5,57,16) = (/ & & 0.11636e+03_rb,0.87269e+02_rb,0.64859e+02_rb,0.83719e+02_rb,0.11162e+03_rb /) kbo(:, 1,58,16) = (/ & & 0.15720e+03_rb,0.11790e+03_rb,0.95809e+02_rb,0.12090e+03_rb,0.16121e+03_rb /) kbo(:, 2,58,16) = (/ & & 0.14594e+03_rb,0.10946e+03_rb,0.86713e+02_rb,0.11017e+03_rb,0.14690e+03_rb /) kbo(:, 3,58,16) = (/ & & 0.13577e+03_rb,0.10183e+03_rb,0.78898e+02_rb,0.10090e+03_rb,0.13454e+03_rb /) kbo(:, 4,58,16) = (/ & & 0.12678e+03_rb,0.95087e+02_rb,0.72188e+02_rb,0.92844e+02_rb,0.12379e+03_rb /) kbo(:, 5,58,16) = (/ & & 0.11865e+03_rb,0.88989e+02_rb,0.66460e+02_rb,0.85728e+02_rb,0.11430e+03_rb /) kbo(:, 1,59,16) = (/ & & 0.15867e+03_rb,0.11900e+03_rb,0.97023e+02_rb,0.12235e+03_rb,0.16313e+03_rb /) kbo(:, 2,59,16) = (/ & & 0.14725e+03_rb,0.11044e+03_rb,0.87747e+02_rb,0.11139e+03_rb,0.14852e+03_rb /) kbo(:, 3,59,16) = (/ & & 0.13696e+03_rb,0.10272e+03_rb,0.79780e+02_rb,0.10196e+03_rb,0.13595e+03_rb /) kbo(:, 4,59,16) = (/ & & 0.12782e+03_rb,0.95865e+02_rb,0.72946e+02_rb,0.93765e+02_rb,0.12502e+03_rb /) kbo(:, 5,59,16) = (/ & & 0.11961e+03_rb,0.89706e+02_rb,0.67116e+02_rb,0.86544e+02_rb,0.11539e+03_rb /) ! ----------------------------------------------------------------- forrefo(:, 1) = (/ 0.110008e-06_rb, 0.630912e-06_rb, 0.363159e-05_rb, 0.616892e-05_rb /) forrefo(:, 2) = (/ 0.429709e-05_rb, 0.789174e-05_rb, 0.217416e-04_rb, 0.639393e-04_rb /) forrefo(:, 3) = (/ 0.436283e-04_rb, 0.526247e-04_rb, 0.116341e-03_rb, 0.205616e-03_rb /) forrefo(:, 4) = (/ 0.215627e-03_rb, 0.234522e-03_rb, 0.280497e-03_rb, 0.838668e-03_rb /) forrefo(:, 5) = (/ 0.529283e-03_rb, 0.620848e-03_rb, 0.935561e-03_rb, 0.171252e-02_rb /) forrefo(:, 6) = (/ 0.212267e-02_rb, 0.218564e-02_rb, 0.222227e-02_rb, 0.199650e-02_rb /) forrefo(:, 7) = (/ 0.291120e-02_rb, 0.281168e-02_rb, 0.259543e-02_rb, 0.210159e-02_rb /) forrefo(:, 8) = (/ 0.316249e-02_rb, 0.310695e-02_rb, 0.279501e-02_rb, 0.208076e-02_rb /) forrefo(:, 9) = (/ 0.354993e-02_rb, 0.336989e-02_rb, 0.298930e-02_rb, 0.180424e-02_rb /) forrefo(:,10) = (/ 0.397729e-02_rb, 0.367409e-02_rb, 0.328982e-02_rb, 0.177807e-02_rb /) forrefo(:,11) = (/ 0.408831e-02_rb, 0.398792e-02_rb, 0.352727e-02_rb, 0.192470e-02_rb /) forrefo(:,12) = (/ 0.433926e-02_rb, 0.420667e-02_rb, 0.383894e-02_rb, 0.220836e-02_rb /) forrefo(:,13) = (/ 0.436397e-02_rb, 0.433769e-02_rb, 0.425752e-02_rb, 0.237343e-02_rb /) forrefo(:,14) = (/ 0.440525e-02_rb, 0.449018e-02_rb, 0.451881e-02_rb, 0.269169e-02_rb /) forrefo(:,15) = (/ 0.491350e-02_rb, 0.481760e-02_rb, 0.475799e-02_rb, 0.362666e-02_rb /) forrefo(:,16) = (/ 0.561641e-02_rb, 0.524553e-02_rb, 0.512473e-02_rb, 0.493802e-02_rb /) ! ----------------------------------------------------------------- ! The array SELFREFO contains the coefficient of the water vapor ! self-continuum (including the energy term). The first index ! refers to temperature in 7.2 degree increments. For instance, ! JT = 1 refers to a temperature of 245.6, JT = 2 refers to 252.8, ! etc. The second index runs over the g-channel (1 to 16). selfrefo(:, 1) = (/ & & 0.115887e-03_rb, 0.926537e-04_rb, 0.740783e-04_rb, 0.592270e-04_rb, 0.473530e-04_rb, & & 0.378596e-04_rb, 0.302694e-04_rb, 0.242010e-04_rb, 0.193491e-04_rb, 0.154700e-04_rb /) selfrefo(:, 2) = (/ & & 0.459557e-03_rb, 0.381962e-03_rb, 0.317469e-03_rb, 0.263866e-03_rb, 0.219313e-03_rb, & & 0.182283e-03_rb, 0.151505e-03_rb, 0.125924e-03_rb, 0.104662e-03_rb, 0.869904e-04_rb /) selfrefo(:, 3) = (/ & & 0.166821e-02_rb, 0.151103e-02_rb, 0.136866e-02_rb, 0.123970e-02_rb, 0.112290e-02_rb, & & 0.101710e-02_rb, 0.921266e-03_rb, 0.834463e-03_rb, 0.755839e-03_rb, 0.684623e-03_rb /) selfrefo(:, 4) = (/ & & 0.460175e-02_rb, 0.421372e-02_rb, 0.385842e-02_rb, 0.353307e-02_rb, 0.323516e-02_rb, & & 0.296236e-02_rb, 0.271257e-02_rb, 0.248385e-02_rb, 0.227440e-02_rb, 0.208262e-02_rb /) selfrefo(:, 5) = (/ & & 0.101589e-01_rb, 0.924742e-02_rb, 0.841772e-02_rb, 0.766247e-02_rb, 0.697497e-02_rb, & & 0.634917e-02_rb, 0.577951e-02_rb, 0.526096e-02_rb, 0.478893e-02_rb, 0.435926e-02_rb /) selfrefo(:, 6) = (/ & & 0.328043e-01_rb, 0.300853e-01_rb, 0.275917e-01_rb, 0.253048e-01_rb, 0.232075e-01_rb, & & 0.212839e-01_rb, 0.195198e-01_rb, 0.179020e-01_rb, 0.164182e-01_rb, 0.150574e-01_rb /) selfrefo(:, 7) = (/ & & 0.405936e-01_rb, 0.376032e-01_rb, 0.348331e-01_rb, 0.322671e-01_rb, 0.298901e-01_rb, & & 0.276883e-01_rb, 0.256486e-01_rb, 0.237591e-01_rb, 0.220089e-01_rb, 0.203876e-01_rb /) selfrefo(:, 8) = (/ & & 0.448362e-01_rb, 0.413811e-01_rb, 0.381923e-01_rb, 0.352492e-01_rb, 0.325329e-01_rb, & & 0.300259e-01_rb, 0.277121e-01_rb, 0.255766e-01_rb, 0.236056e-01_rb, 0.217866e-01_rb /) selfrefo(:, 9) = (/ & & 0.479741e-01_rb, 0.445389e-01_rb, 0.413497e-01_rb, 0.383889e-01_rb, 0.356400e-01_rb, & & 0.330880e-01_rb, 0.307188e-01_rb, 0.285191e-01_rb, 0.264770e-01_rb, 0.245812e-01_rb /) selfrefo(:,10) = (/ & & 0.519308e-01_rb, 0.484130e-01_rb, 0.451335e-01_rb, 0.420761e-01_rb, 0.392259e-01_rb, & & 0.365687e-01_rb, 0.340916e-01_rb, 0.317822e-01_rb, 0.296293e-01_rb, 0.276222e-01_rb /) selfrefo(:,11) = (/ & & 0.572039e-01_rb, 0.527780e-01_rb, 0.486945e-01_rb, 0.449270e-01_rb, 0.414510e-01_rb, & & 0.382439e-01_rb, 0.352849e-01_rb, 0.325549e-01_rb, 0.300361e-01_rb, 0.277122e-01_rb /) selfrefo(:,12) = (/ & & 0.601046e-01_rb, 0.554411e-01_rb, 0.511395e-01_rb, 0.471716e-01_rb, 0.435116e-01_rb, & & 0.401356e-01_rb, 0.370215e-01_rb, 0.341490e-01_rb, 0.314994e-01_rb, 0.290554e-01_rb /) selfrefo(:,13) = (/ & & 0.616595e-01_rb, 0.567145e-01_rb, 0.521662e-01_rb, 0.479826e-01_rb, 0.441346e-01_rb, & & 0.405951e-01_rb, 0.373395e-01_rb, 0.343450e-01_rb, 0.315906e-01_rb, 0.290571e-01_rb /) selfrefo(:,14) = (/ & & 0.647916e-01_rb, 0.592493e-01_rb, 0.541811e-01_rb, 0.495465e-01_rb, 0.453083e-01_rb, & & 0.414326e-01_rb, 0.378885e-01_rb, 0.346475e-01_rb, 0.316837e-01_rb, 0.289735e-01_rb /) selfrefo(:,15) = (/ & & 0.694231e-01_rb, 0.637703e-01_rb, 0.585777e-01_rb, 0.538079e-01_rb, 0.494265e-01_rb, & & 0.454019e-01_rb, 0.417050e-01_rb, 0.383091e-01_rb, 0.351897e-01_rb, 0.323244e-01_rb /) selfrefo(:,16) = (/ & & 0.761764e-01_rb, 0.701815e-01_rb, 0.646584e-01_rb, 0.595700e-01_rb, 0.548820e-01_rb, & & 0.505629e-01_rb, 0.465838e-01_rb, 0.429178e-01_rb, 0.395403e-01_rb, 0.364286e-01_rb /) end subroutine sw_kgb21 ! ************************************************************************** subroutine sw_kgb22 ! ************************************************************************** use parkind, only : im => kind_im, rb => kind_rb use rrsw_kg22, only : kao, kbo, selfrefo, forrefo, sfluxrefo, rayl implicit none save ! Kurucz solar source function sfluxrefo(:, 1) = (/ & & 3.71641_rb ,3.63190_rb ,3.44795_rb ,3.17936_rb , & & 2.86071_rb ,2.48490_rb ,2.02471_rb ,1.52475_rb , & & 1.03811_rb ,0.113272_rb ,9.37115e-02_rb,7.38969e-02_rb, & & 5.44713e-02_rb,3.45905e-02_rb,1.30293e-02_rb,1.84198e-03_rb /) sfluxrefo(:, 2) = (/ & & 3.73933_rb ,3.60360_rb ,3.43370_rb ,3.19749_rb , & & 2.87747_rb ,2.47926_rb ,2.02175_rb ,1.52010_rb , & & 1.03612_rb ,0.113265_rb ,9.37145e-02_rb,7.38951e-02_rb, & & 5.44714e-02_rb,3.45906e-02_rb,1.30293e-02_rb,1.84198e-03_rb /) sfluxrefo(:, 3) = (/ & & 3.73889_rb ,3.60279_rb ,3.43404_rb ,3.20560_rb , & & 2.87367_rb ,2.47515_rb ,2.02412_rb ,1.52315_rb , & & 1.03146_rb ,0.113272_rb ,9.36707e-02_rb,7.39080e-02_rb, & & 5.44598e-02_rb,3.45906e-02_rb,1.30293e-02_rb,1.84198e-03_rb /) sfluxrefo(:, 4) = (/ & & 3.73801_rb ,3.60530_rb ,3.43659_rb ,3.20640_rb , & & 2.87039_rb ,2.47330_rb ,2.02428_rb ,1.52509_rb , & & 1.03037_rb ,0.112553_rb ,9.35352e-02_rb,7.39675e-02_rb, & & 5.43951e-02_rb,3.45669e-02_rb,1.30292e-02_rb,1.84198e-03_rb /) sfluxrefo(:, 5) = (/ & & 3.73809_rb ,3.60996_rb ,3.43602_rb ,3.20364_rb , & & 2.87005_rb ,2.47343_rb ,2.02353_rb ,1.52617_rb , & & 1.03138_rb ,0.111172_rb ,9.29885e-02_rb,7.35034e-02_rb, & & 5.42427e-02_rb,3.45732e-02_rb,1.30169e-02_rb,1.84550e-03_rb /) sfluxrefo(:, 6) = (/ & & 3.73872_rb ,3.62054_rb ,3.42934_rb ,3.20110_rb , & & 2.86886_rb ,2.47379_rb ,2.02237_rb ,1.52754_rb , & & 1.03228_rb ,0.111597_rb ,9.12252e-02_rb,7.33115e-02_rb, & & 5.35600e-02_rb,3.45187e-02_rb,1.30184e-02_rb,1.84551e-03_rb /) sfluxrefo(:, 7) = (/ & & 3.73969_rb ,3.65461_rb ,3.40646_rb ,3.19082_rb , & & 2.86919_rb ,2.47289_rb ,2.02312_rb ,1.52629_rb , & & 1.03329_rb ,0.111611_rb ,9.16275e-02_rb,7.14731e-02_rb, & & 5.31771e-02_rb,3.44980e-02_rb,1.30190e-02_rb,1.84551e-03_rb /) sfluxrefo(:, 8) = (/ & & 3.73995_rb ,3.65348_rb ,3.43707_rb ,3.16351_rb , & & 2.87003_rb ,2.47392_rb ,2.02114_rb ,1.52548_rb , & & 1.03306_rb ,0.111088_rb ,9.12422e-02_rb,7.11146e-02_rb, & & 5.31333e-02_rb,3.45302e-02_rb,1.30209e-02_rb,1.84554e-03_rb /) sfluxrefo(:, 9) = (/ & & 3.73788_rb ,3.65004_rb ,3.46938_rb ,3.15236_rb , & & 2.86381_rb ,2.47393_rb ,2.01715_rb ,1.52134_rb , & & 1.03163_rb ,0.111259_rb ,9.12948e-02_rb,7.09999e-02_rb, & & 5.31792e-02_rb,3.44955e-02_rb,1.30189e-02_rb,1.84551e-03_rb /) ! Rayleigh extinction coefficient at v = 8000 cm-1. rayl = 1.54e-08_rb ! ------------------------------------------------------------------ ! The array KAO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels> ~100mb, temperatures, and binary ! species parameters (see taumol.f for definition). The first ! index in the array, JS, runs from 1 to 9, and corresponds to ! different values of the binary species parameter. For instance, ! JS=1 refers to dry air, JS = 2 corresponds to the paramter value 1/8, ! JS = 3 corresponds to the parameter value 2/8, etc. The second index ! in the array, JT, which runs from 1 to 5, corresponds to different ! temperatures. More specifically, JT = 3 means that the data are for ! the reference temperature TREF for this pressure level, JT = 2 refers ! to TREF-15, JT = 1 is for TREF-30, JT = 4 is for TREF+15, and JT = 5 ! is for TREF+30. The third index, JP, runs from 1 to 13 and refers ! to the JPth reference pressure level (see taumol.f for these levels ! in mb). The fourth index, IG, goes from 1 to 16, and indicates ! which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kao(:, 1, 1, 1) = (/ & & 0.14658e-08_rb,0.32044e-07_rb,0.36289e-07_rb,0.38717e-07_rb,0.40590e-07_rb, & & 0.43330e-07_rb,0.46916e-07_rb,0.56519e-07_rb,0.42446e-07_rb /) kao(:, 2, 1, 1) = (/ & & 0.17883e-08_rb,0.36129e-07_rb,0.40724e-07_rb,0.43498e-07_rb,0.45371e-07_rb, & & 0.47093e-07_rb,0.51195e-07_rb,0.58562e-07_rb,0.44474e-07_rb /) kao(:, 3, 1, 1) = (/ & & 0.21286e-08_rb,0.46092e-07_rb,0.53991e-07_rb,0.59439e-07_rb,0.63497e-07_rb, & & 0.66730e-07_rb,0.70296e-07_rb,0.83990e-07_rb,0.65058e-07_rb /) kao(:, 4, 1, 1) = (/ & & 0.24816e-08_rb,0.43399e-07_rb,0.49167e-07_rb,0.52969e-07_rb,0.55586e-07_rb, & & 0.57260e-07_rb,0.58809e-07_rb,0.64046e-07_rb,0.48780e-07_rb /) kao(:, 5, 1, 1) = (/ & & 0.28409e-08_rb,0.46683e-07_rb,0.53128e-07_rb,0.57526e-07_rb,0.60605e-07_rb, & & 0.62715e-07_rb,0.64284e-07_rb,0.67579e-07_rb,0.52346e-07_rb /) kao(:, 1, 2, 1) = (/ & & 0.10965e-08_rb,0.24934e-07_rb,0.28268e-07_rb,0.30156e-07_rb,0.31820e-07_rb, & & 0.34498e-07_rb,0.36563e-07_rb,0.46609e-07_rb,0.30202e-07_rb /) kao(:, 2, 2, 1) = (/ & & 0.13538e-08_rb,0.28338e-07_rb,0.31923e-07_rb,0.34048e-07_rb,0.35529e-07_rb, & & 0.37136e-07_rb,0.41583e-07_rb,0.46831e-07_rb,0.32817e-07_rb /) kao(:, 3, 2, 1) = (/ & & 0.16260e-08_rb,0.36648e-07_rb,0.42882e-07_rb,0.47128e-07_rb,0.50288e-07_rb, & & 0.52851e-07_rb,0.56093e-07_rb,0.70511e-07_rb,0.48182e-07_rb /) kao(:, 4, 2, 1) = (/ & & 0.19102e-08_rb,0.39471e-07_rb,0.46225e-07_rb,0.50974e-07_rb,0.54565e-07_rb, & & 0.57380e-07_rb,0.60079e-07_rb,0.67707e-07_rb,0.50168e-07_rb /) kao(:, 5, 2, 1) = (/ & & 0.22030e-08_rb,0.37203e-07_rb,0.42234e-07_rb,0.45622e-07_rb,0.47990e-07_rb, & & 0.49546e-07_rb,0.50777e-07_rb,0.53867e-07_rb,0.39769e-07_rb /) kao(:, 1, 3, 1) = (/ & & 0.77844e-09_rb,0.18777e-07_rb,0.21347e-07_rb,0.22946e-07_rb,0.24368e-07_rb, & & 0.25870e-07_rb,0.28084e-07_rb,0.39197e-07_rb,0.20196e-07_rb /) kao(:, 2, 3, 1) = (/ & & 0.97891e-09_rb,0.21591e-07_rb,0.24379e-07_rb,0.25974e-07_rb,0.27213e-07_rb, & & 0.29039e-07_rb,0.31487e-07_rb,0.37725e-07_rb,0.23228e-07_rb /) kao(:, 3, 3, 1) = (/ & & 0.11949e-08_rb,0.24305e-07_rb,0.27342e-07_rb,0.29177e-07_rb,0.30428e-07_rb, & & 0.31562e-07_rb,0.34299e-07_rb,0.39267e-07_rb,0.23943e-07_rb /) kao(:, 4, 3, 1) = (/ & & 0.14225e-08_rb,0.30991e-07_rb,0.36244e-07_rb,0.39880e-07_rb,0.42596e-07_rb, & & 0.44752e-07_rb,0.47132e-07_rb,0.56253e-07_rb,0.37250e-07_rb /) kao(:, 5, 3, 1) = (/ & & 0.16586e-08_rb,0.29152e-07_rb,0.32988e-07_rb,0.35508e-07_rb,0.37264e-07_rb, & & 0.38387e-07_rb,0.39417e-07_rb,0.42936e-07_rb,0.29439e-07_rb /) kao(:, 1, 4, 1) = (/ & & 0.53935e-09_rb,0.13922e-07_rb,0.15779e-07_rb,0.16979e-07_rb,0.18157e-07_rb, & & 0.19199e-07_rb,0.22168e-07_rb,0.31060e-07_rb,0.13772e-07_rb /) kao(:, 2, 4, 1) = (/ & & 0.69404e-09_rb,0.16220e-07_rb,0.18381e-07_rb,0.19646e-07_rb,0.20841e-07_rb, & & 0.22407e-07_rb,0.23846e-07_rb,0.31992e-07_rb,0.15532e-07_rb /) kao(:, 3, 4, 1) = (/ & & 0.86327e-09_rb,0.18514e-07_rb,0.20845e-07_rb,0.22209e-07_rb,0.23196e-07_rb, & & 0.24396e-07_rb,0.27026e-07_rb,0.31067e-07_rb,0.17116e-07_rb /) kao(:, 4, 4, 1) = (/ & & 0.10436e-08_rb,0.20666e-07_rb,0.23248e-07_rb,0.24835e-07_rb,0.25904e-07_rb, & & 0.26757e-07_rb,0.28384e-07_rb,0.33085e-07_rb,0.19320e-07_rb /) kao(:, 5, 4, 1) = (/ & & 0.12327e-08_rb,0.26056e-07_rb,0.30481e-07_rb,0.33580e-07_rb,0.35908e-07_rb, & & 0.37744e-07_rb,0.39586e-07_rb,0.45434e-07_rb,0.29787e-07_rb /) kao(:, 1, 5, 1) = (/ & & 0.36905e-09_rb,0.10245e-07_rb,0.11596e-07_rb,0.12576e-07_rb,0.13293e-07_rb, & & 0.14477e-07_rb,0.18355e-07_rb,0.25395e-07_rb,0.95950e-08_rb /) kao(:, 2, 5, 1) = (/ & & 0.48708e-09_rb,0.12119e-07_rb,0.13746e-07_rb,0.14791e-07_rb,0.15718e-07_rb, & & 0.16646e-07_rb,0.18396e-07_rb,0.25737e-07_rb,0.10793e-07_rb /) kao(:, 3, 5, 1) = (/ & & 0.61847e-09_rb,0.13998e-07_rb,0.15813e-07_rb,0.16851e-07_rb,0.17722e-07_rb, & & 0.19232e-07_rb,0.20414e-07_rb,0.25223e-07_rb,0.12354e-07_rb /) kao(:, 4, 5, 1) = (/ & & 0.76052e-09_rb,0.15846e-07_rb,0.17816e-07_rb,0.18991e-07_rb,0.19806e-07_rb, & & 0.20628e-07_rb,0.23016e-07_rb,0.25874e-07_rb,0.14269e-07_rb /) kao(:, 5, 5, 1) = (/ & & 0.91109e-09_rb,0.20382e-07_rb,0.23823e-07_rb,0.26180e-07_rb,0.27929e-07_rb, & & 0.29345e-07_rb,0.31039e-07_rb,0.38471e-07_rb,0.22626e-07_rb /) kao(:, 1, 6, 1) = (/ & & 0.24637e-09_rb,0.74144e-08_rb,0.83997e-08_rb,0.90789e-08_rb,0.97769e-08_rb, & & 0.11308e-07_rb,0.14223e-07_rb,0.20837e-07_rb,0.66398e-08_rb /) kao(:, 2, 6, 1) = (/ & & 0.33527e-09_rb,0.89450e-08_rb,0.10119e-07_rb,0.10892e-07_rb,0.11613e-07_rb, & & 0.12382e-07_rb,0.14900e-07_rb,0.20638e-07_rb,0.76422e-08_rb /) kao(:, 3, 6, 1) = (/ & & 0.43587e-09_rb,0.10479e-07_rb,0.11902e-07_rb,0.12737e-07_rb,0.13564e-07_rb, & & 0.14416e-07_rb,0.15545e-07_rb,0.21677e-07_rb,0.89455e-08_rb /) kao(:, 4, 6, 1) = (/ & & 0.54672e-09_rb,0.12017e-07_rb,0.13540e-07_rb,0.14423e-07_rb,0.15090e-07_rb, & & 0.16030e-07_rb,0.17496e-07_rb,0.20678e-07_rb,0.10490e-07_rb /) kao(:, 5, 6, 1) = (/ & & 0.66579e-09_rb,0.13493e-07_rb,0.15163e-07_rb,0.16178e-07_rb,0.16873e-07_rb, & & 0.17474e-07_rb,0.18852e-07_rb,0.21699e-07_rb,0.12216e-07_rb /) kao(:, 1, 7, 1) = (/ & & 0.16149e-09_rb,0.53201e-08_rb,0.60079e-08_rb,0.65349e-08_rb,0.72837e-08_rb, & & 0.90792e-08_rb,0.11028e-07_rb,0.15917e-07_rb,0.45574e-08_rb /) kao(:, 2, 7, 1) = (/ & & 0.22765e-09_rb,0.65457e-08_rb,0.74143e-08_rb,0.80126e-08_rb,0.85152e-08_rb, & & 0.94934e-08_rb,0.12210e-07_rb,0.16917e-07_rb,0.54301e-08_rb /) kao(:, 3, 7, 1) = (/ & & 0.30418e-09_rb,0.77971e-08_rb,0.88287e-08_rb,0.94927e-08_rb,0.10154e-07_rb, & & 0.10712e-07_rb,0.12099e-07_rb,0.16996e-07_rb,0.64594e-08_rb /) kao(:, 4, 7, 1) = (/ & & 0.38990e-09_rb,0.90563e-08_rb,0.10243e-07_rb,0.10928e-07_rb,0.11554e-07_rb, & & 0.12512e-07_rb,0.13254e-07_rb,0.17320e-07_rb,0.76835e-08_rb /) kao(:, 5, 7, 1) = (/ & & 0.48334e-09_rb,0.10307e-07_rb,0.11588e-07_rb,0.12345e-07_rb,0.12884e-07_rb, & & 0.13512e-07_rb,0.15051e-07_rb,0.17108e-07_rb,0.90662e-08_rb /) kao(:, 1, 8, 1) = (/ & & 0.10442e-09_rb,0.37895e-08_rb,0.42781e-08_rb,0.47285e-08_rb,0.55672e-08_rb, & & 0.67246e-08_rb,0.87615e-08_rb,0.12496e-07_rb,0.31063e-08_rb /) kao(:, 2, 8, 1) = (/ & & 0.15294e-09_rb,0.47545e-08_rb,0.53771e-08_rb,0.58176e-08_rb,0.63249e-08_rb, & & 0.74935e-08_rb,0.93024e-08_rb,0.13484e-07_rb,0.38514e-08_rb /) kao(:, 3, 8, 1) = (/ & & 0.21056e-09_rb,0.57727e-08_rb,0.65270e-08_rb,0.70416e-08_rb,0.74786e-08_rb, & & 0.80475e-08_rb,0.10012e-07_rb,0.13784e-07_rb,0.46496e-08_rb /) kao(:, 4, 8, 1) = (/ & & 0.27636e-09_rb,0.67987e-08_rb,0.77111e-08_rb,0.82983e-08_rb,0.87947e-08_rb, & & 0.93313e-08_rb,0.10204e-07_rb,0.14244e-07_rb,0.56141e-08_rb /) kao(:, 5, 8, 1) = (/ & & 0.34924e-09_rb,0.78297e-08_rb,0.88319e-08_rb,0.94055e-08_rb,0.98667e-08_rb, & & 0.10620e-07_rb,0.11396e-07_rb,0.13825e-07_rb,0.67139e-08_rb /) kao(:, 1, 9, 1) = (/ & & 0.66385e-10_rb,0.26743e-08_rb,0.30313e-08_rb,0.34595e-08_rb,0.42156e-08_rb, & & 0.50940e-08_rb,0.66728e-08_rb,0.10021e-07_rb,0.20965e-08_rb /) kao(:, 2, 9, 1) = (/ & & 0.10109e-09_rb,0.34278e-08_rb,0.38685e-08_rb,0.42217e-08_rb,0.47673e-08_rb, & & 0.59120e-08_rb,0.72992e-08_rb,0.10438e-07_rb,0.27321e-08_rb /) kao(:, 3, 9, 1) = (/ & & 0.14405e-09_rb,0.42386e-08_rb,0.48029e-08_rb,0.51840e-08_rb,0.55416e-08_rb, & & 0.62759e-08_rb,0.79851e-08_rb,0.11314e-07_rb,0.33332e-08_rb /) kao(:, 4, 9, 1) = (/ & & 0.19414e-09_rb,0.50774e-08_rb,0.57440e-08_rb,0.61764e-08_rb,0.66005e-08_rb, & & 0.69887e-08_rb,0.81552e-08_rb,0.11319e-07_rb,0.40828e-08_rb /) kao(:, 5, 9, 1) = (/ & & 0.25056e-09_rb,0.59198e-08_rb,0.67025e-08_rb,0.71627e-08_rb,0.76155e-08_rb, & & 0.81557e-08_rb,0.87035e-08_rb,0.11788e-07_rb,0.49512e-08_rb /) kao(:, 1,10, 1) = (/ & & 0.43147e-10_rb,0.19136e-08_rb,0.21883e-08_rb,0.26153e-08_rb,0.31055e-08_rb, & & 0.39720e-08_rb,0.51107e-08_rb,0.84498e-08_rb,0.15100e-08_rb /) kao(:, 2,10, 1) = (/ & & 0.68069e-10_rb,0.25012e-08_rb,0.28230e-08_rb,0.31278e-08_rb,0.37084e-08_rb, & & 0.44577e-08_rb,0.58316e-08_rb,0.82732e-08_rb,0.20294e-08_rb /) kao(:, 3,10, 1) = (/ & & 0.10013e-09_rb,0.31445e-08_rb,0.35530e-08_rb,0.38466e-08_rb,0.41961e-08_rb, & & 0.50063e-08_rb,0.61960e-08_rb,0.89421e-08_rb,0.24447e-08_rb /) kao(:, 4,10, 1) = (/ & & 0.13837e-09_rb,0.38258e-08_rb,0.43236e-08_rb,0.46732e-08_rb,0.49545e-08_rb, & & 0.53447e-08_rb,0.67172e-08_rb,0.92217e-08_rb,0.30274e-08_rb /) kao(:, 5,10, 1) = (/ & & 0.18212e-09_rb,0.45123e-08_rb,0.51146e-08_rb,0.55026e-08_rb,0.58368e-08_rb, & & 0.61896e-08_rb,0.67974e-08_rb,0.94910e-08_rb,0.36975e-08_rb /) kao(:, 1,11, 1) = (/ & & 0.35238e-10_rb,0.15650e-08_rb,0.17900e-08_rb,0.21398e-08_rb,0.25395e-08_rb, & & 0.32442e-08_rb,0.41684e-08_rb,0.68456e-08_rb,0.12890e-08_rb /) kao(:, 2,11, 1) = (/ & & 0.55588e-10_rb,0.20451e-08_rb,0.23079e-08_rb,0.25570e-08_rb,0.30342e-08_rb, & & 0.36465e-08_rb,0.47717e-08_rb,0.67353e-08_rb,0.16499e-08_rb /) kao(:, 3,11, 1) = (/ & & 0.81825e-10_rb,0.25719e-08_rb,0.29058e-08_rb,0.31458e-08_rb,0.34324e-08_rb, & & 0.40982e-08_rb,0.50669e-08_rb,0.73083e-08_rb,0.20031e-08_rb /) kao(:, 4,11, 1) = (/ & & 0.11311e-09_rb,0.31293e-08_rb,0.35365e-08_rb,0.38229e-08_rb,0.40518e-08_rb, & & 0.43730e-08_rb,0.54993e-08_rb,0.75470e-08_rb,0.24754e-08_rb /) kao(:, 5,11, 1) = (/ & & 0.14891e-09_rb,0.36915e-08_rb,0.41839e-08_rb,0.45010e-08_rb,0.47744e-08_rb, & & 0.50622e-08_rb,0.55621e-08_rb,0.77689e-08_rb,0.30237e-08_rb /) kao(:, 1,12, 1) = (/ & & 0.28851e-10_rb,0.12816e-08_rb,0.14656e-08_rb,0.17508e-08_rb,0.20791e-08_rb, & & 0.26542e-08_rb,0.34061e-08_rb,0.55940e-08_rb,0.10876e-08_rb /) kao(:, 2,12, 1) = (/ & & 0.45511e-10_rb,0.16747e-08_rb,0.18898e-08_rb,0.20935e-08_rb,0.24841e-08_rb, & & 0.29844e-08_rb,0.39040e-08_rb,0.54988e-08_rb,0.13569e-08_rb /) kao(:, 3,12, 1) = (/ & & 0.66972e-10_rb,0.21053e-08_rb,0.23788e-08_rb,0.25750e-08_rb,0.28091e-08_rb, & & 0.33541e-08_rb,0.41474e-08_rb,0.59783e-08_rb,0.16488e-08_rb /) kao(:, 4,12, 1) = (/ & & 0.92606e-10_rb,0.25620e-08_rb,0.28952e-08_rb,0.31304e-08_rb,0.33162e-08_rb, & & 0.35801e-08_rb,0.45003e-08_rb,0.61789e-08_rb,0.20293e-08_rb /) kao(:, 5,12, 1) = (/ & & 0.12192e-09_rb,0.30226e-08_rb,0.34255e-08_rb,0.36843e-08_rb,0.39084e-08_rb, & & 0.41445e-08_rb,0.45524e-08_rb,0.63605e-08_rb,0.24756e-08_rb /) kao(:, 1,13, 1) = (/ & & 0.23621e-10_rb,0.10494e-08_rb,0.11996e-08_rb,0.14331e-08_rb,0.17023e-08_rb, & & 0.21711e-08_rb,0.27844e-08_rb,0.45532e-08_rb,0.89489e-09_rb /) kao(:, 2,13, 1) = (/ & & 0.37261e-10_rb,0.13712e-08_rb,0.15471e-08_rb,0.17138e-08_rb,0.20333e-08_rb, & & 0.24433e-08_rb,0.31958e-08_rb,0.44925e-08_rb,0.11124e-08_rb /) kao(:, 3,13, 1) = (/ & & 0.54831e-10_rb,0.17238e-08_rb,0.19475e-08_rb,0.21082e-08_rb,0.23003e-08_rb, & & 0.27446e-08_rb,0.33959e-08_rb,0.48947e-08_rb,0.13514e-08_rb /) kao(:, 4,13, 1) = (/ & & 0.75799e-10_rb,0.20971e-08_rb,0.23698e-08_rb,0.25624e-08_rb,0.27143e-08_rb, & & 0.29304e-08_rb,0.36822e-08_rb,0.50589e-08_rb,0.16628e-08_rb /) kao(:, 5,13, 1) = (/ & & 0.99820e-10_rb,0.24745e-08_rb,0.28041e-08_rb,0.30159e-08_rb,0.31995e-08_rb, & & 0.33924e-08_rb,0.37279e-08_rb,0.52074e-08_rb,0.20270e-08_rb /) kao(:, 1, 1, 2) = (/ & & 0.13785e-07_rb,0.24738e-06_rb,0.32984e-06_rb,0.38970e-06_rb,0.43737e-06_rb, & & 0.50889e-06_rb,0.56985e-06_rb,0.52821e-06_rb,0.22857e-06_rb /) kao(:, 2, 1, 2) = (/ & & 0.15768e-07_rb,0.27583e-06_rb,0.36371e-06_rb,0.42333e-06_rb,0.46175e-06_rb, & & 0.50608e-06_rb,0.57108e-06_rb,0.57199e-06_rb,0.21992e-06_rb /) kao(:, 3, 1, 2) = (/ & & 0.17740e-07_rb,0.31295e-06_rb,0.41668e-06_rb,0.48111e-06_rb,0.52105e-06_rb, & & 0.56257e-06_rb,0.61638e-06_rb,0.64253e-06_rb,0.25630e-06_rb /) kao(:, 4, 1, 2) = (/ & & 0.19676e-07_rb,0.33378e-06_rb,0.43874e-06_rb,0.50021e-06_rb,0.53506e-06_rb, & & 0.56909e-06_rb,0.60800e-06_rb,0.63155e-06_rb,0.24206e-06_rb /) kao(:, 5, 1, 2) = (/ & & 0.21537e-07_rb,0.36160e-06_rb,0.47596e-06_rb,0.54056e-06_rb,0.57557e-06_rb, & & 0.60002e-06_rb,0.61606e-06_rb,0.61827e-06_rb,0.25207e-06_rb /) kao(:, 1, 2, 2) = (/ & & 0.10621e-07_rb,0.19636e-06_rb,0.26336e-06_rb,0.31062e-06_rb,0.35012e-06_rb, & & 0.41219e-06_rb,0.46827e-06_rb,0.42345e-06_rb,0.16044e-06_rb /) kao(:, 2, 2, 2) = (/ & & 0.12238e-07_rb,0.21970e-06_rb,0.28920e-06_rb,0.33755e-06_rb,0.37073e-06_rb, & & 0.41004e-06_rb,0.46315e-06_rb,0.45777e-06_rb,0.15877e-06_rb /) kao(:, 3, 2, 2) = (/ & & 0.13863e-07_rb,0.24955e-06_rb,0.33252e-06_rb,0.38359e-06_rb,0.41679e-06_rb, & & 0.45237e-06_rb,0.50277e-06_rb,0.51752e-06_rb,0.18617e-06_rb /) kao(:, 4, 2, 2) = (/ & & 0.15467e-07_rb,0.27294e-06_rb,0.36292e-06_rb,0.41560e-06_rb,0.44818e-06_rb, & & 0.47909e-06_rb,0.51811e-06_rb,0.54528e-06_rb,0.19311e-06_rb /) kao(:, 5, 2, 2) = (/ & & 0.17013e-07_rb,0.28946e-06_rb,0.38040e-06_rb,0.43177e-06_rb,0.46055e-06_rb, & & 0.48627e-06_rb,0.50036e-06_rb,0.50711e-06_rb,0.19056e-06_rb /) kao(:, 1, 3, 2) = (/ & & 0.79041e-08_rb,0.15193e-06_rb,0.20367e-06_rb,0.24255e-06_rb,0.27584e-06_rb, & & 0.33106e-06_rb,0.39018e-06_rb,0.33367e-06_rb,0.10147e-06_rb /) kao(:, 2, 3, 2) = (/ & & 0.92256e-08_rb,0.17005e-06_rb,0.22457e-06_rb,0.26442e-06_rb,0.29755e-06_rb, & & 0.33937e-06_rb,0.38659e-06_rb,0.36019e-06_rb,0.10982e-06_rb /) kao(:, 3, 3, 2) = (/ & & 0.10548e-07_rb,0.18874e-06_rb,0.24827e-06_rb,0.28648e-06_rb,0.31109e-06_rb, & & 0.33996e-06_rb,0.38319e-06_rb,0.38934e-06_rb,0.11953e-06_rb /) kao(:, 4, 3, 2) = (/ & & 0.11869e-07_rb,0.21314e-06_rb,0.28402e-06_rb,0.32565e-06_rb,0.35249e-06_rb, & & 0.38039e-06_rb,0.41637e-06_rb,0.43423e-06_rb,0.13779e-06_rb /) kao(:, 5, 3, 2) = (/ & & 0.13170e-07_rb,0.22682e-06_rb,0.29805e-06_rb,0.33849e-06_rb,0.36193e-06_rb, & & 0.38387e-06_rb,0.41078e-06_rb,0.42298e-06_rb,0.13819e-06_rb /) kao(:, 1, 4, 2) = (/ & & 0.57872e-08_rb,0.11704e-06_rb,0.15599e-06_rb,0.19092e-06_rb,0.22043e-06_rb, & & 0.26778e-06_rb,0.30128e-06_rb,0.25769e-06_rb,0.68111e-07_rb /) kao(:, 2, 4, 2) = (/ & & 0.68505e-08_rb,0.13037e-06_rb,0.17389e-06_rb,0.20556e-06_rb,0.23194e-06_rb, & & 0.27485e-06_rb,0.31447e-06_rb,0.28139e-06_rb,0.78259e-07_rb /) kao(:, 3, 4, 2) = (/ & & 0.79353e-08_rb,0.14574e-06_rb,0.19135e-06_rb,0.22328e-06_rb,0.24623e-06_rb, & & 0.27497e-06_rb,0.31125e-06_rb,0.30440e-06_rb,0.85397e-07_rb /) kao(:, 4, 4, 2) = (/ & & 0.90207e-08_rb,0.16075e-06_rb,0.21140e-06_rb,0.24210e-06_rb,0.26199e-06_rb, & & 0.28412e-06_rb,0.31832e-06_rb,0.32424e-06_rb,0.93374e-07_rb /) kao(:, 5, 4, 2) = (/ & & 0.10099e-07_rb,0.18068e-06_rb,0.24072e-06_rb,0.27515e-06_rb,0.29704e-06_rb, & & 0.31830e-06_rb,0.34575e-06_rb,0.36301e-06_rb,0.10959e-06_rb /) kao(:, 1, 5, 2) = (/ & & 0.42071e-08_rb,0.88799e-07_rb,0.11974e-06_rb,0.15503e-06_rb,0.18473e-06_rb, & & 0.21750e-06_rb,0.23111e-06_rb,0.19568e-06_rb,0.47645e-07_rb /) kao(:, 2, 5, 2) = (/ & & 0.50589e-08_rb,0.10003e-06_rb,0.13353e-06_rb,0.15994e-06_rb,0.18265e-06_rb, & & 0.22030e-06_rb,0.25851e-06_rb,0.22196e-06_rb,0.56400e-07_rb /) kao(:, 3, 5, 2) = (/ & & 0.59363e-08_rb,0.11183e-06_rb,0.14743e-06_rb,0.17446e-06_rb,0.19617e-06_rb, & & 0.22887e-06_rb,0.25813e-06_rb,0.23893e-06_rb,0.62471e-07_rb /) kao(:, 4, 5, 2) = (/ & & 0.68265e-08_rb,0.12408e-06_rb,0.16316e-06_rb,0.18879e-06_rb,0.20540e-06_rb, & & 0.22681e-06_rb,0.25640e-06_rb,0.25817e-06_rb,0.69233e-07_rb /) kao(:, 5, 5, 2) = (/ & & 0.77164e-08_rb,0.14022e-06_rb,0.18715e-06_rb,0.21470e-06_rb,0.23265e-06_rb, & & 0.25223e-06_rb,0.27783e-06_rb,0.28837e-06_rb,0.82855e-07_rb /) kao(:, 1, 6, 2) = (/ & & 0.30108e-08_rb,0.66997e-07_rb,0.92811e-07_rb,0.12074e-06_rb,0.15295e-06_rb, & & 0.17839e-06_rb,0.17246e-06_rb,0.14892e-06_rb,0.33739e-07_rb /) kao(:, 2, 6, 2) = (/ & & 0.36900e-08_rb,0.76605e-07_rb,0.10196e-06_rb,0.12672e-06_rb,0.14857e-06_rb, & & 0.17805e-06_rb,0.19825e-06_rb,0.16899e-06_rb,0.40438e-07_rb /) kao(:, 3, 6, 2) = (/ & & 0.43974e-08_rb,0.85358e-07_rb,0.11411e-06_rb,0.13507e-06_rb,0.15283e-06_rb, & & 0.18257e-06_rb,0.21172e-06_rb,0.18597e-06_rb,0.46134e-07_rb /) kao(:, 4, 6, 2) = (/ & & 0.51213e-08_rb,0.95538e-07_rb,0.12544e-06_rb,0.14691e-06_rb,0.16455e-06_rb, & & 0.18481e-06_rb,0.20979e-06_rb,0.20070e-06_rb,0.51618e-07_rb /) kao(:, 5, 6, 2) = (/ & & 0.58500e-08_rb,0.10543e-06_rb,0.13870e-06_rb,0.15918e-06_rb,0.17259e-06_rb, & & 0.18830e-06_rb,0.21165e-06_rb,0.21507e-06_rb,0.58184e-07_rb /) kao(:, 1, 7, 2) = (/ & & 0.21343e-08_rb,0.50731e-07_rb,0.73677e-07_rb,0.95876e-07_rb,0.12180e-06_rb, & & 0.14539e-06_rb,0.12792e-06_rb,0.11548e-06_rb,0.24049e-07_rb /) kao(:, 2, 7, 2) = (/ & & 0.26695e-08_rb,0.57886e-07_rb,0.78431e-07_rb,0.10179e-06_rb,0.12404e-06_rb, & & 0.14498e-06_rb,0.15075e-06_rb,0.12789e-06_rb,0.28929e-07_rb /) kao(:, 3, 7, 2) = (/ & & 0.32350e-08_rb,0.65356e-07_rb,0.87120e-07_rb,0.10537e-06_rb,0.12108e-06_rb, & & 0.14722e-06_rb,0.16980e-06_rb,0.14529e-06_rb,0.34426e-07_rb /) kao(:, 4, 7, 2) = (/ & & 0.38202e-08_rb,0.73009e-07_rb,0.96634e-07_rb,0.11454e-06_rb,0.12893e-06_rb, & & 0.15239e-06_rb,0.17280e-06_rb,0.15699e-06_rb,0.38936e-07_rb /) kao(:, 5, 7, 2) = (/ & & 0.44151e-08_rb,0.81203e-07_rb,0.10676e-06_rb,0.12425e-06_rb,0.13576e-06_rb, & & 0.15119e-06_rb,0.17122e-06_rb,0.16974e-06_rb,0.43692e-07_rb /) kao(:, 1, 8, 2) = (/ & & 0.15010e-08_rb,0.38595e-07_rb,0.58295e-07_rb,0.77729e-07_rb,0.98683e-07_rb, & & 0.10992e-06_rb,0.95145e-07_rb,0.92252e-07_rb,0.17319e-07_rb /) kao(:, 2, 8, 2) = (/ & & 0.19201e-08_rb,0.43791e-07_rb,0.61750e-07_rb,0.79921e-07_rb,0.10136e-06_rb, & & 0.11894e-06_rb,0.11276e-06_rb,0.97846e-07_rb,0.20720e-07_rb /) kao(:, 3, 8, 2) = (/ & & 0.23693e-08_rb,0.50071e-07_rb,0.66873e-07_rb,0.85063e-07_rb,0.10052e-06_rb, & & 0.11892e-06_rb,0.13009e-06_rb,0.11045e-06_rb,0.25527e-07_rb /) kao(:, 4, 8, 2) = (/ & & 0.28395e-08_rb,0.55947e-07_rb,0.74757e-07_rb,0.88934e-07_rb,0.10114e-06_rb, & & 0.12142e-06_rb,0.14341e-06_rb,0.12281e-06_rb,0.28938e-07_rb /) kao(:, 5, 8, 2) = (/ & & 0.33227e-08_rb,0.62620e-07_rb,0.82343e-07_rb,0.96807e-07_rb,0.10922e-06_rb, & & 0.12542e-06_rb,0.14247e-06_rb,0.13252e-06_rb,0.32804e-07_rb /) kao(:, 1, 9, 2) = (/ & & 0.10437e-08_rb,0.30107e-07_rb,0.47694e-07_rb,0.63218e-07_rb,0.80199e-07_rb, & & 0.81465e-07_rb,0.70748e-07_rb,0.72461e-07_rb,0.12620e-07_rb /) kao(:, 2, 9, 2) = (/ & & 0.13691e-08_rb,0.33315e-07_rb,0.48674e-07_rb,0.63756e-07_rb,0.81165e-07_rb, & & 0.96892e-07_rb,0.83814e-07_rb,0.76311e-07_rb,0.14799e-07_rb /) kao(:, 3, 9, 2) = (/ & & 0.17229e-08_rb,0.37985e-07_rb,0.51777e-07_rb,0.67272e-07_rb,0.83770e-07_rb, & & 0.97220e-07_rb,0.98951e-07_rb,0.84136e-07_rb,0.18369e-07_rb /) kao(:, 4, 9, 2) = (/ & & 0.20990e-08_rb,0.43091e-07_rb,0.57320e-07_rb,0.69933e-07_rb,0.81214e-07_rb, & & 0.98518e-07_rb,0.11188e-06_rb,0.95453e-07_rb,0.21724e-07_rb /) kao(:, 5, 9, 2) = (/ & & 0.24895e-08_rb,0.48030e-07_rb,0.63808e-07_rb,0.75595e-07_rb,0.85237e-07_rb, & & 0.10122e-06_rb,0.11598e-06_rb,0.10350e-06_rb,0.24792e-07_rb /) kao(:, 1,10, 2) = (/ & & 0.73565e-09_rb,0.23201e-07_rb,0.38192e-07_rb,0.51890e-07_rb,0.66677e-07_rb, & & 0.60941e-07_rb,0.53794e-07_rb,0.57060e-07_rb,0.95538e-08_rb /) kao(:, 2,10, 2) = (/ & & 0.98838e-09_rb,0.25706e-07_rb,0.38945e-07_rb,0.51950e-07_rb,0.65881e-07_rb, & & 0.73501e-07_rb,0.63459e-07_rb,0.61276e-07_rb,0.10909e-07_rb /) kao(:, 3,10, 2) = (/ & & 0.12675e-08_rb,0.29153e-07_rb,0.41180e-07_rb,0.53354e-07_rb,0.67729e-07_rb, & & 0.79616e-07_rb,0.75117e-07_rb,0.65122e-07_rb,0.13531e-07_rb /) kao(:, 4,10, 2) = (/ & & 0.15675e-08_rb,0.33329e-07_rb,0.44560e-07_rb,0.57066e-07_rb,0.67627e-07_rb, & & 0.79638e-07_rb,0.86678e-07_rb,0.73448e-07_rb,0.16804e-07_rb /) kao(:, 5,10, 2) = (/ & & 0.18817e-08_rb,0.37257e-07_rb,0.49746e-07_rb,0.59306e-07_rb,0.67554e-07_rb, & & 0.81218e-07_rb,0.96337e-07_rb,0.82154e-07_rb,0.18958e-07_rb /) kao(:, 1,11, 2) = (/ & & 0.60140e-09_rb,0.19007e-07_rb,0.31253e-07_rb,0.42433e-07_rb,0.54566e-07_rb, & & 0.50044e-07_rb,0.44177e-07_rb,0.46695e-07_rb,0.77009e-08_rb /) kao(:, 2,11, 2) = (/ & & 0.80782e-09_rb,0.21033e-07_rb,0.31865e-07_rb,0.42505e-07_rb,0.53930e-07_rb, & & 0.60271e-07_rb,0.51969e-07_rb,0.49836e-07_rb,0.88971e-08_rb /) kao(:, 3,11, 2) = (/ & & 0.10365e-08_rb,0.23860e-07_rb,0.33711e-07_rb,0.43668e-07_rb,0.55447e-07_rb, & & 0.65129e-07_rb,0.61514e-07_rb,0.53242e-07_rb,0.11044e-07_rb /) kao(:, 4,11, 2) = (/ & & 0.12819e-08_rb,0.27278e-07_rb,0.36477e-07_rb,0.46671e-07_rb,0.55334e-07_rb, & & 0.65191e-07_rb,0.70955e-07_rb,0.60123e-07_rb,0.13732e-07_rb /) kao(:, 5,11, 2) = (/ & & 0.15394e-08_rb,0.30488e-07_rb,0.40723e-07_rb,0.48551e-07_rb,0.55301e-07_rb, & & 0.66490e-07_rb,0.78877e-07_rb,0.67264e-07_rb,0.15488e-07_rb /) kao(:, 1,12, 2) = (/ & & 0.49234e-09_rb,0.15554e-07_rb,0.25575e-07_rb,0.34616e-07_rb,0.44615e-07_rb, & & 0.41056e-07_rb,0.36097e-07_rb,0.38091e-07_rb,0.62448e-08_rb /) kao(:, 2,12, 2) = (/ & & 0.66141e-09_rb,0.17225e-07_rb,0.26080e-07_rb,0.34787e-07_rb,0.44118e-07_rb, & & 0.49432e-07_rb,0.42531e-07_rb,0.40718e-07_rb,0.72624e-08_rb /) kao(:, 3,12, 2) = (/ & & 0.84839e-09_rb,0.19539e-07_rb,0.27604e-07_rb,0.35754e-07_rb,0.45370e-07_rb, & & 0.53306e-07_rb,0.50418e-07_rb,0.43565e-07_rb,0.90256e-08_rb /) kao(:, 4,12, 2) = (/ & & 0.10495e-08_rb,0.22342e-07_rb,0.29867e-07_rb,0.38196e-07_rb,0.45322e-07_rb, & & 0.53368e-07_rb,0.58112e-07_rb,0.49244e-07_rb,0.11197e-07_rb /) kao(:, 5,12, 2) = (/ & & 0.12604e-08_rb,0.24969e-07_rb,0.33348e-07_rb,0.39742e-07_rb,0.45269e-07_rb, & & 0.54454e-07_rb,0.64580e-07_rb,0.55079e-07_rb,0.12657e-07_rb /) kao(:, 1,13, 2) = (/ & & 0.40306e-09_rb,0.12738e-07_rb,0.20936e-07_rb,0.28312e-07_rb,0.36505e-07_rb, & & 0.33674e-07_rb,0.29525e-07_rb,0.31139e-07_rb,0.51040e-08_rb /) kao(:, 2,13, 2) = (/ & & 0.54151e-09_rb,0.14106e-07_rb,0.21346e-07_rb,0.28471e-07_rb,0.36139e-07_rb, & & 0.40516e-07_rb,0.34830e-07_rb,0.33325e-07_rb,0.59425e-08_rb /) kao(:, 3,13, 2) = (/ & & 0.69468e-09_rb,0.15999e-07_rb,0.22600e-07_rb,0.29268e-07_rb,0.37150e-07_rb, & & 0.43635e-07_rb,0.41297e-07_rb,0.35646e-07_rb,0.73862e-08_rb /) kao(:, 4,13, 2) = (/ & & 0.85913e-09_rb,0.18290e-07_rb,0.24452e-07_rb,0.31282e-07_rb,0.37096e-07_rb, & & 0.43709e-07_rb,0.47585e-07_rb,0.40319e-07_rb,0.91581e-08_rb /) kao(:, 5,13, 2) = (/ & & 0.10319e-08_rb,0.20440e-07_rb,0.27299e-07_rb,0.32532e-07_rb,0.37047e-07_rb, & & 0.44575e-07_rb,0.52880e-07_rb,0.45086e-07_rb,0.10367e-07_rb /) kao(:, 1, 1, 3) = (/ & & 0.77542e-07_rb,0.72331e-06_rb,0.98561e-06_rb,0.11860e-05_rb,0.13497e-05_rb, & & 0.13448e-05_rb,0.13214e-05_rb,0.14401e-05_rb,0.51217e-06_rb /) kao(:, 2, 1, 3) = (/ & & 0.83965e-07_rb,0.81202e-06_rb,0.11096e-05_rb,0.13150e-05_rb,0.14966e-05_rb, & & 0.14837e-05_rb,0.13715e-05_rb,0.14446e-05_rb,0.53558e-06_rb /) kao(:, 3, 1, 3) = (/ & & 0.89893e-07_rb,0.91147e-06_rb,0.12494e-05_rb,0.14817e-05_rb,0.16581e-05_rb, & & 0.16379e-05_rb,0.14913e-05_rb,0.13540e-05_rb,0.57527e-06_rb /) kao(:, 4, 1, 3) = (/ & & 0.95336e-07_rb,0.98977e-06_rb,0.13580e-05_rb,0.16044e-05_rb,0.17602e-05_rb, & & 0.17289e-05_rb,0.15601e-05_rb,0.13435e-05_rb,0.60153e-06_rb /) kao(:, 5, 1, 3) = (/ & & 0.10024e-06_rb,0.10817e-05_rb,0.14820e-05_rb,0.17354e-05_rb,0.18806e-05_rb, & & 0.18468e-05_rb,0.16817e-05_rb,0.14550e-05_rb,0.63092e-06_rb /) kao(:, 1, 2, 3) = (/ & & 0.61222e-07_rb,0.57382e-06_rb,0.78272e-06_rb,0.94950e-06_rb,0.10796e-05_rb, & & 0.10829e-05_rb,0.10794e-05_rb,0.12292e-05_rb,0.35440e-06_rb /) kao(:, 2, 2, 3) = (/ & & 0.66652e-07_rb,0.64604e-06_rb,0.88511e-06_rb,0.10523e-05_rb,0.12028e-05_rb, & & 0.11924e-05_rb,0.11103e-05_rb,0.11987e-05_rb,0.38232e-06_rb /) kao(:, 3, 2, 3) = (/ & & 0.71672e-07_rb,0.73084e-06_rb,0.10012e-05_rb,0.11880e-05_rb,0.13384e-05_rb, & & 0.13220e-05_rb,0.12030e-05_rb,0.11381e-05_rb,0.43262e-06_rb /) kao(:, 4, 2, 3) = (/ & & 0.76301e-07_rb,0.80259e-06_rb,0.11033e-05_rb,0.13071e-05_rb,0.14343e-05_rb, & & 0.14171e-05_rb,0.12785e-05_rb,0.11080e-05_rb,0.46030e-06_rb /) kao(:, 5, 2, 3) = (/ & & 0.80500e-07_rb,0.87105e-06_rb,0.11939e-05_rb,0.14005e-05_rb,0.15153e-05_rb, & & 0.14864e-05_rb,0.13529e-05_rb,0.11688e-05_rb,0.48117e-06_rb /) kao(:, 1, 3, 3) = (/ & & 0.47304e-07_rb,0.44051e-06_rb,0.60584e-06_rb,0.74769e-06_rb,0.84468e-06_rb, & & 0.85077e-06_rb,0.85665e-06_rb,0.10494e-05_rb,0.24668e-06_rb /) kao(:, 2, 3, 3) = (/ & & 0.51943e-07_rb,0.50181e-06_rb,0.68762e-06_rb,0.82034e-06_rb,0.93657e-06_rb, & & 0.92789e-06_rb,0.88766e-06_rb,0.99297e-06_rb,0.26836e-06_rb /) kao(:, 3, 3, 3) = (/ & & 0.56252e-07_rb,0.56363e-06_rb,0.77259e-06_rb,0.91469e-06_rb,0.10403e-05_rb, & & 0.10243e-05_rb,0.93713e-06_rb,0.99098e-06_rb,0.29882e-06_rb /) kao(:, 4, 3, 3) = (/ & & 0.60224e-07_rb,0.63130e-06_rb,0.86724e-06_rb,0.10288e-05_rb,0.11344e-05_rb, & & 0.11222e-05_rb,0.10162e-05_rb,0.91320e-06_rb,0.33854e-06_rb /) kao(:, 5, 3, 3) = (/ & & 0.63868e-07_rb,0.68673e-06_rb,0.94084e-06_rb,0.11069e-05_rb,0.12001e-05_rb, & & 0.11819e-05_rb,0.10625e-05_rb,0.91639e-06_rb,0.36042e-06_rb /) kao(:, 1, 4, 3) = (/ & & 0.36151e-07_rb,0.33292e-06_rb,0.46957e-06_rb,0.57176e-06_rb,0.64965e-06_rb, & & 0.66578e-06_rb,0.71030e-06_rb,0.90686e-06_rb,0.17407e-06_rb /) kao(:, 2, 4, 3) = (/ & & 0.40107e-07_rb,0.38424e-06_rb,0.52571e-06_rb,0.63554e-06_rb,0.72553e-06_rb, & & 0.72856e-06_rb,0.72697e-06_rb,0.84339e-06_rb,0.19253e-06_rb /) kao(:, 3, 4, 3) = (/ & & 0.43816e-07_rb,0.43401e-06_rb,0.59546e-06_rb,0.70644e-06_rb,0.80752e-06_rb, & & 0.79519e-06_rb,0.74520e-06_rb,0.81506e-06_rb,0.21830e-06_rb /) kao(:, 4, 4, 3) = (/ & & 0.47242e-07_rb,0.48695e-06_rb,0.66577e-06_rb,0.78531e-06_rb,0.87970e-06_rb, & & 0.86799e-06_rb,0.78705e-06_rb,0.76812e-06_rb,0.24161e-06_rb /) kao(:, 5, 4, 3) = (/ & & 0.50394e-07_rb,0.54183e-06_rb,0.74240e-06_rb,0.87572e-06_rb,0.95669e-06_rb, & & 0.94640e-06_rb,0.85379e-06_rb,0.74722e-06_rb,0.28102e-06_rb /) kao(:, 1, 5, 3) = (/ & & 0.27462e-07_rb,0.25134e-06_rb,0.35698e-06_rb,0.43146e-06_rb,0.48552e-06_rb, & & 0.53177e-06_rb,0.62976e-06_rb,0.75904e-06_rb,0.12452e-06_rb /) kao(:, 2, 5, 3) = (/ & & 0.30835e-07_rb,0.29261e-06_rb,0.40164e-06_rb,0.49701e-06_rb,0.56250e-06_rb, & & 0.56722e-06_rb,0.57761e-06_rb,0.72004e-06_rb,0.13996e-06_rb /) kao(:, 3, 5, 3) = (/ & & 0.33997e-07_rb,0.33394e-06_rb,0.45684e-06_rb,0.54380e-06_rb,0.62140e-06_rb, & & 0.61241e-06_rb,0.60037e-06_rb,0.67265e-06_rb,0.16106e-06_rb /) kao(:, 4, 5, 3) = (/ & & 0.36946e-07_rb,0.37590e-06_rb,0.51390e-06_rb,0.60628e-06_rb,0.69027e-06_rb, & & 0.67692e-06_rb,0.62237e-06_rb,0.67035e-06_rb,0.18128e-06_rb /) kao(:, 5, 5, 3) = (/ & & 0.39670e-07_rb,0.42211e-06_rb,0.57710e-06_rb,0.68190e-06_rb,0.75209e-06_rb, & & 0.74450e-06_rb,0.67496e-06_rb,0.61709e-06_rb,0.21416e-06_rb /) kao(:, 1, 6, 3) = (/ & & 0.20602e-07_rb,0.18703e-06_rb,0.26972e-06_rb,0.33456e-06_rb,0.36532e-06_rb, & & 0.42767e-06_rb,0.56721e-06_rb,0.66482e-06_rb,0.87936e-07_rb /) kao(:, 2, 6, 3) = (/ & & 0.23484e-07_rb,0.21971e-06_rb,0.30953e-06_rb,0.37643e-06_rb,0.42627e-06_rb, & & 0.44517e-06_rb,0.48560e-06_rb,0.61604e-06_rb,0.10185e-06_rb /) kao(:, 3, 6, 3) = (/ & & 0.26181e-07_rb,0.25382e-06_rb,0.34607e-06_rb,0.41971e-06_rb,0.47851e-06_rb, & & 0.48129e-06_rb,0.48156e-06_rb,0.56916e-06_rb,0.11864e-06_rb /) kao(:, 4, 6, 3) = (/ & & 0.28705e-07_rb,0.28735e-06_rb,0.39181e-06_rb,0.46499e-06_rb,0.52971e-06_rb, & & 0.52262e-06_rb,0.49397e-06_rb,0.54792e-06_rb,0.13605e-06_rb /) kao(:, 5, 6, 3) = (/ & & 0.31065e-07_rb,0.32265e-06_rb,0.43948e-06_rb,0.51712e-06_rb,0.58131e-06_rb, & & 0.57275e-06_rb,0.52154e-06_rb,0.53300e-06_rb,0.15326e-06_rb /) kao(:, 1, 7, 3) = (/ & & 0.15315e-07_rb,0.13867e-06_rb,0.20497e-06_rb,0.25791e-06_rb,0.28251e-06_rb, & & 0.36209e-06_rb,0.48615e-06_rb,0.57617e-06_rb,0.62083e-07_rb /) kao(:, 2, 7, 3) = (/ & & 0.17770e-07_rb,0.16467e-06_rb,0.23430e-06_rb,0.28445e-06_rb,0.31749e-06_rb, & & 0.35373e-06_rb,0.43530e-06_rb,0.51750e-06_rb,0.74598e-07_rb /) kao(:, 3, 7, 3) = (/ & & 0.20071e-07_rb,0.19194e-06_rb,0.26349e-06_rb,0.32575e-06_rb,0.37090e-06_rb, & & 0.37391e-06_rb,0.38838e-06_rb,0.49613e-06_rb,0.88392e-07_rb /) kao(:, 4, 7, 3) = (/ & & 0.22230e-07_rb,0.21953e-06_rb,0.29840e-06_rb,0.35680e-06_rb,0.40841e-06_rb, & & 0.40516e-06_rb,0.40513e-06_rb,0.45518e-06_rb,0.10149e-06_rb /) kao(:, 5, 7, 3) = (/ & & 0.24244e-07_rb,0.24730e-06_rb,0.33583e-06_rb,0.39740e-06_rb,0.45364e-06_rb, & & 0.44496e-06_rb,0.41471e-06_rb,0.45022e-06_rb,0.11554e-06_rb /) kao(:, 1, 8, 3) = (/ & & 0.11318e-07_rb,0.10309e-06_rb,0.15679e-06_rb,0.19765e-06_rb,0.22300e-06_rb, & & 0.30242e-06_rb,0.40824e-06_rb,0.49442e-06_rb,0.44061e-07_rb /) kao(:, 2, 8, 3) = (/ & & 0.13358e-07_rb,0.12273e-06_rb,0.17705e-06_rb,0.22062e-06_rb,0.24115e-06_rb, & & 0.28999e-06_rb,0.39012e-06_rb,0.45451e-06_rb,0.54847e-07_rb /) kao(:, 3, 8, 3) = (/ & & 0.15323e-07_rb,0.14448e-06_rb,0.20316e-06_rb,0.24566e-06_rb,0.27787e-06_rb, & & 0.29655e-06_rb,0.33237e-06_rb,0.41480e-06_rb,0.64157e-07_rb /) kao(:, 4, 8, 3) = (/ & & 0.17158e-07_rb,0.16673e-06_rb,0.22673e-06_rb,0.27760e-06_rb,0.31491e-06_rb, & & 0.31778e-06_rb,0.31818e-06_rb,0.38422e-06_rb,0.75698e-07_rb /) kao(:, 5, 8, 3) = (/ & & 0.18880e-07_rb,0.18905e-06_rb,0.25711e-06_rb,0.30558e-06_rb,0.34820e-06_rb, & & 0.34226e-06_rb,0.32757e-06_rb,0.36903e-06_rb,0.87559e-07_rb /) kao(:, 1, 9, 3) = (/ & & 0.83060e-08_rb,0.76710e-07_rb,0.11565e-06_rb,0.14764e-06_rb,0.17329e-06_rb, & & 0.25783e-06_rb,0.35957e-06_rb,0.41243e-06_rb,0.31797e-07_rb /) kao(:, 2, 9, 3) = (/ & & 0.99651e-08_rb,0.91242e-07_rb,0.13632e-06_rb,0.17065e-06_rb,0.18967e-06_rb, & & 0.24393e-06_rb,0.32914e-06_rb,0.39160e-06_rb,0.39225e-07_rb /) kao(:, 3, 9, 3) = (/ & & 0.11621e-07_rb,0.10845e-06_rb,0.15426e-06_rb,0.18813e-06_rb,0.20803e-06_rb, & & 0.23565e-06_rb,0.29600e-06_rb,0.35083e-06_rb,0.47417e-07_rb /) kao(:, 4, 9, 3) = (/ & & 0.13182e-07_rb,0.12617e-06_rb,0.17363e-06_rb,0.21434e-06_rb,0.24338e-06_rb, & & 0.24767e-06_rb,0.26174e-06_rb,0.33967e-06_rb,0.56851e-07_rb /) kao(:, 5, 9, 3) = (/ & & 0.14647e-07_rb,0.14462e-06_rb,0.19609e-06_rb,0.23554e-06_rb,0.26966e-06_rb, & & 0.27000e-06_rb,0.26860e-06_rb,0.30941e-06_rb,0.65848e-07_rb /) kao(:, 1,10, 3) = (/ & & 0.61513e-08_rb,0.59201e-07_rb,0.89564e-07_rb,0.11096e-06_rb,0.13963e-06_rb, & & 0.22868e-06_rb,0.30519e-06_rb,0.34949e-06_rb,0.23910e-07_rb /) kao(:, 2,10, 3) = (/ & & 0.74969e-08_rb,0.68921e-07_rb,0.10513e-06_rb,0.13256e-06_rb,0.14959e-06_rb, & & 0.20339e-06_rb,0.27500e-06_rb,0.33281e-06_rb,0.28611e-07_rb /) kao(:, 3,10, 3) = (/ & & 0.88625e-08_rb,0.82016e-07_rb,0.11818e-06_rb,0.14725e-06_rb,0.16097e-06_rb, & & 0.19608e-06_rb,0.26185e-06_rb,0.30530e-06_rb,0.35935e-07_rb /) kao(:, 4,10, 3) = (/ & & 0.10184e-07_rb,0.96432e-07_rb,0.13542e-06_rb,0.16348e-06_rb,0.18477e-06_rb, & & 0.19886e-06_rb,0.22449e-06_rb,0.27787e-06_rb,0.42133e-07_rb /) kao(:, 5,10, 3) = (/ & & 0.11421e-07_rb,0.11117e-06_rb,0.15107e-06_rb,0.18528e-06_rb,0.21005e-06_rb, & & 0.21209e-06_rb,0.21257e-06_rb,0.25796e-06_rb,0.49988e-07_rb /) kao(:, 1,11, 3) = (/ & & 0.50310e-08_rb,0.48563e-07_rb,0.73473e-07_rb,0.91094e-07_rb,0.11455e-06_rb, & & 0.18734e-06_rb,0.24995e-06_rb,0.28620e-06_rb,0.19440e-07_rb /) kao(:, 2,11, 3) = (/ & & 0.61304e-08_rb,0.56532e-07_rb,0.86340e-07_rb,0.10878e-06_rb,0.12244e-06_rb, & & 0.16646e-06_rb,0.22541e-06_rb,0.27316e-06_rb,0.23338e-07_rb /) kao(:, 3,11, 3) = (/ & & 0.72491e-08_rb,0.67226e-07_rb,0.96798e-07_rb,0.12061e-06_rb,0.13181e-06_rb, & & 0.16043e-06_rb,0.21436e-06_rb,0.24928e-06_rb,0.29352e-07_rb /) kao(:, 4,11, 3) = (/ & & 0.83326e-08_rb,0.78998e-07_rb,0.11085e-06_rb,0.13391e-06_rb,0.15135e-06_rb, & & 0.16281e-06_rb,0.18360e-06_rb,0.22741e-06_rb,0.34425e-07_rb /) kao(:, 5,11, 3) = (/ & & 0.93458e-08_rb,0.91055e-07_rb,0.12364e-06_rb,0.15181e-06_rb,0.17196e-06_rb, & & 0.17367e-06_rb,0.17400e-06_rb,0.21108e-06_rb,0.40855e-07_rb /) kao(:, 1,12, 3) = (/ & & 0.41189e-08_rb,0.39856e-07_rb,0.60140e-07_rb,0.74963e-07_rb,0.94012e-07_rb, & & 0.15333e-06_rb,0.20441e-06_rb,0.23474e-06_rb,0.15853e-07_rb /) kao(:, 2,12, 3) = (/ & & 0.50193e-08_rb,0.46348e-07_rb,0.70855e-07_rb,0.89301e-07_rb,0.10040e-06_rb, & & 0.13626e-06_rb,0.18429e-06_rb,0.22399e-06_rb,0.19078e-07_rb /) kao(:, 3,12, 3) = (/ & & 0.59344e-08_rb,0.55100e-07_rb,0.79255e-07_rb,0.98783e-07_rb,0.10799e-06_rb, & & 0.13125e-06_rb,0.17544e-06_rb,0.20357e-06_rb,0.24013e-07_rb /) kao(:, 4,12, 3) = (/ & & 0.68228e-08_rb,0.64743e-07_rb,0.90843e-07_rb,0.10971e-06_rb,0.12396e-06_rb, & & 0.13321e-06_rb,0.15026e-06_rb,0.18611e-06_rb,0.28198e-07_rb /) kao(:, 5,12, 3) = (/ & & 0.76512e-08_rb,0.74591e-07_rb,0.10123e-06_rb,0.12433e-06_rb,0.14085e-06_rb, & & 0.14222e-06_rb,0.14246e-06_rb,0.17276e-06_rb,0.33441e-07_rb /) kao(:, 1,13, 3) = (/ & & 0.33724e-08_rb,0.32680e-07_rb,0.49222e-07_rb,0.61513e-07_rb,0.77133e-07_rb, & & 0.12555e-06_rb,0.16713e-06_rb,0.19233e-06_rb,0.12966e-07_rb /) kao(:, 2,13, 3) = (/ & & 0.41100e-08_rb,0.37987e-07_rb,0.58121e-07_rb,0.73233e-07_rb,0.82218e-07_rb, & & 0.11156e-06_rb,0.15077e-06_rb,0.18269e-06_rb,0.15614e-07_rb /) kao(:, 3,13, 3) = (/ & & 0.48589e-08_rb,0.45157e-07_rb,0.64912e-07_rb,0.80902e-07_rb,0.88466e-07_rb, & & 0.10747e-06_rb,0.14360e-06_rb,0.16616e-06_rb,0.19653e-07_rb /) kao(:, 4,13, 3) = (/ & & 0.55845e-08_rb,0.53032e-07_rb,0.74357e-07_rb,0.89835e-07_rb,0.10150e-06_rb, & & 0.10902e-06_rb,0.12309e-06_rb,0.15231e-06_rb,0.23083e-07_rb /) kao(:, 5,13, 3) = (/ & & 0.62642e-08_rb,0.61086e-07_rb,0.82886e-07_rb,0.10172e-06_rb,0.11529e-06_rb, & & 0.11645e-06_rb,0.11667e-06_rb,0.14140e-06_rb,0.27368e-07_rb /) kao(:, 1, 1, 4) = (/ & & 0.38523e-06_rb,0.18405e-05_rb,0.24561e-05_rb,0.26688e-05_rb,0.26627e-05_rb, & & 0.26678e-05_rb,0.26221e-05_rb,0.23434e-05_rb,0.10243e-05_rb /) kao(:, 2, 1, 4) = (/ & & 0.41258e-06_rb,0.20340e-05_rb,0.26799e-05_rb,0.29289e-05_rb,0.29138e-05_rb, & & 0.29293e-05_rb,0.29106e-05_rb,0.25138e-05_rb,0.11179e-05_rb /) kao(:, 3, 1, 4) = (/ & & 0.43826e-06_rb,0.22391e-05_rb,0.29055e-05_rb,0.31733e-05_rb,0.31848e-05_rb, & & 0.32210e-05_rb,0.31726e-05_rb,0.29277e-05_rb,0.13122e-05_rb /) kao(:, 4, 1, 4) = (/ & & 0.46214e-06_rb,0.24098e-05_rb,0.30735e-05_rb,0.33543e-05_rb,0.34157e-05_rb, & & 0.34436e-05_rb,0.34008e-05_rb,0.32157e-05_rb,0.14111e-05_rb /) kao(:, 5, 1, 4) = (/ & & 0.48360e-06_rb,0.25684e-05_rb,0.32470e-05_rb,0.35527e-05_rb,0.36650e-05_rb, & & 0.37054e-05_rb,0.36463e-05_rb,0.35130e-05_rb,0.16128e-05_rb /) kao(:, 1, 2, 4) = (/ & & 0.30632e-06_rb,0.14811e-05_rb,0.19813e-05_rb,0.21525e-05_rb,0.21480e-05_rb, & & 0.21651e-05_rb,0.21352e-05_rb,0.19097e-05_rb,0.76078e-06_rb /) kao(:, 2, 2, 4) = (/ & & 0.32924e-06_rb,0.16454e-05_rb,0.21736e-05_rb,0.23701e-05_rb,0.23496e-05_rb, & & 0.23721e-05_rb,0.23664e-05_rb,0.20501e-05_rb,0.85884e-06_rb /) kao(:, 3, 2, 4) = (/ & & 0.35084e-06_rb,0.18164e-05_rb,0.23625e-05_rb,0.25754e-05_rb,0.25799e-05_rb, & & 0.26089e-05_rb,0.25758e-05_rb,0.23569e-05_rb,0.98156e-06_rb /) kao(:, 4, 2, 4) = (/ & & 0.37092e-06_rb,0.19724e-05_rb,0.25182e-05_rb,0.27461e-05_rb,0.27987e-05_rb, & & 0.28122e-05_rb,0.27766e-05_rb,0.26535e-05_rb,0.11297e-05_rb /) kao(:, 5, 2, 4) = (/ & & 0.38936e-06_rb,0.20952e-05_rb,0.26519e-05_rb,0.29005e-05_rb,0.29889e-05_rb, & & 0.30120e-05_rb,0.29564e-05_rb,0.28641e-05_rb,0.12488e-05_rb /) kao(:, 1, 3, 4) = (/ & & 0.23924e-06_rb,0.11590e-05_rb,0.15536e-05_rb,0.16834e-05_rb,0.16891e-05_rb, & & 0.17668e-05_rb,0.16904e-05_rb,0.15951e-05_rb,0.52632e-06_rb /) kao(:, 2, 3, 4) = (/ & & 0.25864e-06_rb,0.12971e-05_rb,0.17221e-05_rb,0.18731e-05_rb,0.18563e-05_rb, & & 0.18804e-05_rb,0.18628e-05_rb,0.16576e-05_rb,0.62738e-06_rb /) kao(:, 3, 3, 4) = (/ & & 0.27696e-06_rb,0.14325e-05_rb,0.18710e-05_rb,0.20345e-05_rb,0.20276e-05_rb, & & 0.20548e-05_rb,0.20259e-05_rb,0.17837e-05_rb,0.70461e-06_rb /) kao(:, 4, 3, 4) = (/ & & 0.29413e-06_rb,0.15757e-05_rb,0.20191e-05_rb,0.22050e-05_rb,0.22319e-05_rb, & & 0.22354e-05_rb,0.22195e-05_rb,0.20885e-05_rb,0.84521e-06_rb /) kao(:, 5, 3, 4) = (/ & & 0.31013e-06_rb,0.16829e-05_rb,0.21333e-05_rb,0.23274e-05_rb,0.23871e-05_rb, & & 0.23939e-05_rb,0.23475e-05_rb,0.22805e-05_rb,0.93762e-06_rb /) kao(:, 1, 4, 4) = (/ & & 0.18537e-06_rb,0.89469e-06_rb,0.11953e-05_rb,0.13099e-05_rb,0.13271e-05_rb, & & 0.13910e-05_rb,0.13233e-05_rb,0.12842e-05_rb,0.37595e-06_rb /) kao(:, 2, 4, 4) = (/ & & 0.20178e-06_rb,0.10096e-05_rb,0.13476e-05_rb,0.14636e-05_rb,0.14567e-05_rb, & & 0.14730e-05_rb,0.14642e-05_rb,0.13131e-05_rb,0.45273e-06_rb /) kao(:, 3, 4, 4) = (/ & & 0.21732e-06_rb,0.11251e-05_rb,0.14779e-05_rb,0.16107e-05_rb,0.15945e-05_rb, & & 0.16194e-05_rb,0.16016e-05_rb,0.14026e-05_rb,0.52023e-06_rb /) kao(:, 4, 4, 4) = (/ & & 0.23198e-06_rb,0.12348e-05_rb,0.15955e-05_rb,0.17391e-05_rb,0.17432e-05_rb, & & 0.17515e-05_rb,0.17226e-05_rb,0.15707e-05_rb,0.60921e-06_rb /) kao(:, 5, 4, 4) = (/ & & 0.24566e-06_rb,0.13471e-05_rb,0.17138e-05_rb,0.18677e-05_rb,0.19071e-05_rb, & & 0.19021e-05_rb,0.18647e-05_rb,0.18054e-05_rb,0.72437e-06_rb /) kao(:, 1, 5, 4) = (/ & & 0.14315e-06_rb,0.68654e-06_rb,0.91703e-06_rb,0.10136e-05_rb,0.10640e-05_rb, & & 0.10899e-05_rb,0.10066e-05_rb,0.10387e-05_rb,0.27115e-06_rb /) kao(:, 2, 5, 4) = (/ & & 0.15693e-06_rb,0.78124e-06_rb,0.10460e-05_rb,0.11319e-05_rb,0.11350e-05_rb, & & 0.11836e-05_rb,0.11463e-05_rb,0.10954e-05_rb,0.33462e-06_rb /) kao(:, 3, 5, 4) = (/ & & 0.17013e-06_rb,0.87619e-06_rb,0.11607e-05_rb,0.12633e-05_rb,0.12502e-05_rb, & & 0.12683e-05_rb,0.12476e-05_rb,0.11184e-05_rb,0.38421e-06_rb /) kao(:, 4, 5, 4) = (/ & & 0.18255e-06_rb,0.96990e-06_rb,0.12617e-05_rb,0.13726e-05_rb,0.13641e-05_rb, & & 0.13787e-05_rb,0.13521e-05_rb,0.11952e-05_rb,0.45446e-06_rb /) kao(:, 5, 5, 4) = (/ & & 0.19427e-06_rb,0.10668e-05_rb,0.13642e-05_rb,0.14869e-05_rb,0.15021e-05_rb, & & 0.14945e-05_rb,0.14801e-05_rb,0.13920e-05_rb,0.54371e-06_rb /) kao(:, 1, 6, 4) = (/ & & 0.10978e-06_rb,0.52395e-06_rb,0.69476e-06_rb,0.76850e-06_rb,0.83675e-06_rb, & & 0.86491e-06_rb,0.77625e-06_rb,0.85871e-06_rb,0.19533e-06_rb /) kao(:, 2, 6, 4) = (/ & & 0.12132e-06_rb,0.59825e-06_rb,0.79672e-06_rb,0.87685e-06_rb,0.88945e-06_rb, & & 0.93176e-06_rb,0.88241e-06_rb,0.87959e-06_rb,0.24185e-06_rb /) kao(:, 3, 6, 4) = (/ & & 0.13245e-06_rb,0.67730e-06_rb,0.90458e-06_rb,0.97978e-06_rb,0.97457e-06_rb, & & 0.98659e-06_rb,0.98199e-06_rb,0.88654e-06_rb,0.28188e-06_rb /) kao(:, 4, 6, 4) = (/ & & 0.14304e-06_rb,0.75520e-06_rb,0.99285e-06_rb,0.10803e-05_rb,0.10647e-05_rb, & & 0.10764e-05_rb,0.10623e-05_rb,0.93315e-06_rb,0.33738e-06_rb /) kao(:, 5, 6, 4) = (/ & & 0.15298e-06_rb,0.83133e-06_rb,0.10714e-05_rb,0.11654e-05_rb,0.11612e-05_rb, & & 0.11628e-05_rb,0.11409e-05_rb,0.10211e-05_rb,0.39343e-06_rb /) kao(:, 1, 7, 4) = (/ & & 0.83795e-07_rb,0.39583e-06_rb,0.52221e-06_rb,0.57623e-06_rb,0.66801e-06_rb, & & 0.68350e-06_rb,0.61427e-06_rb,0.74508e-06_rb,0.14027e-06_rb /) kao(:, 2, 7, 4) = (/ & & 0.93456e-07_rb,0.45651e-06_rb,0.60707e-06_rb,0.67267e-06_rb,0.70886e-06_rb, & & 0.72875e-06_rb,0.66655e-06_rb,0.70837e-06_rb,0.17333e-06_rb /) kao(:, 3, 7, 4) = (/ & & 0.10278e-06_rb,0.52065e-06_rb,0.69548e-06_rb,0.75346e-06_rb,0.75243e-06_rb, & & 0.79752e-06_rb,0.76130e-06_rb,0.73768e-06_rb,0.20746e-06_rb /) kao(:, 4, 7, 4) = (/ & & 0.11172e-06_rb,0.58539e-06_rb,0.77614e-06_rb,0.84147e-06_rb,0.82956e-06_rb, & & 0.83892e-06_rb,0.81830e-06_rb,0.74649e-06_rb,0.24711e-06_rb /) kao(:, 5, 7, 4) = (/ & & 0.12020e-06_rb,0.64890e-06_rb,0.84430e-06_rb,0.91375e-06_rb,0.90365e-06_rb, & & 0.91211e-06_rb,0.89073e-06_rb,0.78796e-06_rb,0.29290e-06_rb /) kao(:, 1, 8, 4) = (/ & & 0.63771e-07_rb,0.29724e-06_rb,0.38901e-06_rb,0.42952e-06_rb,0.53569e-06_rb, & & 0.52739e-06_rb,0.51421e-06_rb,0.65416e-06_rb,0.10106e-06_rb /) kao(:, 2, 8, 4) = (/ & & 0.71835e-07_rb,0.34855e-06_rb,0.45895e-06_rb,0.50927e-06_rb,0.55878e-06_rb, & & 0.57413e-06_rb,0.51386e-06_rb,0.58703e-06_rb,0.12396e-06_rb /) kao(:, 3, 8, 4) = (/ & & 0.79626e-07_rb,0.39836e-06_rb,0.52930e-06_rb,0.58238e-06_rb,0.59321e-06_rb, & & 0.61917e-06_rb,0.58275e-06_rb,0.59574e-06_rb,0.15556e-06_rb /) kao(:, 4, 8, 4) = (/ & & 0.87141e-07_rb,0.45236e-06_rb,0.60287e-06_rb,0.64978e-06_rb,0.64621e-06_rb, & & 0.65548e-06_rb,0.65037e-06_rb,0.59243e-06_rb,0.18170e-06_rb /) kao(:, 5, 8, 4) = (/ & & 0.94308e-07_rb,0.50478e-06_rb,0.66216e-06_rb,0.71791e-06_rb,0.70542e-06_rb, & & 0.71265e-06_rb,0.70440e-06_rb,0.61750e-06_rb,0.21806e-06_rb /) kao(:, 1, 9, 4) = (/ & & 0.48334e-07_rb,0.22150e-06_rb,0.29066e-06_rb,0.32650e-06_rb,0.41774e-06_rb, & & 0.40737e-06_rb,0.44502e-06_rb,0.56524e-06_rb,0.72879e-07_rb /) kao(:, 2, 9, 4) = (/ & & 0.54994e-07_rb,0.26340e-06_rb,0.34441e-06_rb,0.38160e-06_rb,0.44410e-06_rb, & & 0.45746e-06_rb,0.41390e-06_rb,0.50482e-06_rb,0.89924e-07_rb /) kao(:, 3, 9, 4) = (/ & & 0.61501e-07_rb,0.30416e-06_rb,0.40299e-06_rb,0.44693e-06_rb,0.47253e-06_rb, & & 0.48623e-06_rb,0.44624e-06_rb,0.47646e-06_rb,0.11220e-06_rb /) kao(:, 4, 9, 4) = (/ & & 0.67792e-07_rb,0.34758e-06_rb,0.46191e-06_rb,0.50102e-06_rb,0.50055e-06_rb, & & 0.52975e-06_rb,0.50335e-06_rb,0.48665e-06_rb,0.13456e-06_rb /) kao(:, 5, 9, 4) = (/ & & 0.73830e-07_rb,0.39095e-06_rb,0.51738e-06_rb,0.55894e-06_rb,0.55048e-06_rb, & & 0.55492e-06_rb,0.54317e-06_rb,0.49144e-06_rb,0.16088e-06_rb /) kao(:, 1,10, 4) = (/ & & 0.36931e-07_rb,0.16614e-06_rb,0.21895e-06_rb,0.26116e-06_rb,0.33023e-06_rb, & & 0.31438e-06_rb,0.35810e-06_rb,0.46819e-06_rb,0.53649e-07_rb /) kao(:, 2,10, 4) = (/ & & 0.42386e-07_rb,0.20028e-06_rb,0.26120e-06_rb,0.28858e-06_rb,0.36090e-06_rb, & & 0.35506e-06_rb,0.34639e-06_rb,0.43640e-06_rb,0.66551e-07_rb /) kao(:, 3,10, 4) = (/ & & 0.47801e-07_rb,0.23474e-06_rb,0.30842e-06_rb,0.34242e-06_rb,0.37552e-06_rb, & & 0.38348e-06_rb,0.34637e-06_rb,0.39519e-06_rb,0.81897e-07_rb /) kao(:, 4,10, 4) = (/ & & 0.53030e-07_rb,0.26856e-06_rb,0.35532e-06_rb,0.39019e-06_rb,0.39727e-06_rb, & & 0.41391e-06_rb,0.38815e-06_rb,0.39845e-06_rb,0.10316e-06_rb /) kao(:, 5,10, 4) = (/ & & 0.58073e-07_rb,0.30468e-06_rb,0.40415e-06_rb,0.43508e-06_rb,0.43212e-06_rb, & & 0.43860e-06_rb,0.43462e-06_rb,0.39513e-06_rb,0.12065e-06_rb /) kao(:, 1,11, 4) = (/ & & 0.30210e-07_rb,0.13672e-06_rb,0.18028e-06_rb,0.21388e-06_rb,0.27067e-06_rb, & & 0.25748e-06_rb,0.29347e-06_rb,0.38486e-06_rb,0.43992e-07_rb /) kao(:, 2,11, 4) = (/ & & 0.34676e-07_rb,0.16480e-06_rb,0.21447e-06_rb,0.23703e-06_rb,0.29658e-06_rb, & & 0.29189e-06_rb,0.28346e-06_rb,0.35425e-06_rb,0.54558e-07_rb /) kao(:, 3,11, 4) = (/ & & 0.39112e-07_rb,0.19301e-06_rb,0.25343e-06_rb,0.28112e-06_rb,0.30767e-06_rb, & & 0.31424e-06_rb,0.28354e-06_rb,0.32323e-06_rb,0.67060e-07_rb /) kao(:, 4,11, 4) = (/ & & 0.43392e-07_rb,0.22069e-06_rb,0.29158e-06_rb,0.31987e-06_rb,0.32514e-06_rb, & & 0.33920e-06_rb,0.31782e-06_rb,0.32572e-06_rb,0.84444e-07_rb /) kao(:, 5,11, 4) = (/ & & 0.47520e-07_rb,0.25011e-06_rb,0.33134e-06_rb,0.35641e-06_rb,0.35390e-06_rb, & & 0.35921e-06_rb,0.35594e-06_rb,0.32298e-06_rb,0.98845e-07_rb /) kao(:, 1,12, 4) = (/ & & 0.24733e-07_rb,0.11230e-06_rb,0.14856e-06_rb,0.17472e-06_rb,0.22197e-06_rb, & & 0.21118e-06_rb,0.24122e-06_rb,0.31477e-06_rb,0.36119e-07_rb /) kao(:, 2,12, 4) = (/ & & 0.28389e-07_rb,0.13551e-06_rb,0.17612e-06_rb,0.19468e-06_rb,0.24363e-06_rb, & & 0.23963e-06_rb,0.23290e-06_rb,0.28830e-06_rb,0.44709e-07_rb /) kao(:, 3,12, 4) = (/ & & 0.32017e-07_rb,0.15859e-06_rb,0.20791e-06_rb,0.23074e-06_rb,0.25230e-06_rb, & & 0.25771e-06_rb,0.23238e-06_rb,0.26334e-06_rb,0.54941e-07_rb /) kao(:, 4,12, 4) = (/ & & 0.35526e-07_rb,0.18123e-06_rb,0.23912e-06_rb,0.26228e-06_rb,0.26637e-06_rb, & & 0.27804e-06_rb,0.26039e-06_rb,0.26652e-06_rb,0.69162e-07_rb /) kao(:, 5,12, 4) = (/ & & 0.38912e-07_rb,0.20524e-06_rb,0.27165e-06_rb,0.29207e-06_rb,0.28991e-06_rb, & & 0.29419e-06_rb,0.29154e-06_rb,0.26412e-06_rb,0.80995e-07_rb /) kao(:, 1,13, 4) = (/ & & 0.20250e-07_rb,0.92231e-07_rb,0.12203e-06_rb,0.14275e-06_rb,0.18179e-06_rb, & & 0.17279e-06_rb,0.19796e-06_rb,0.25817e-06_rb,0.29574e-07_rb /) kao(:, 2,13, 4) = (/ & & 0.23243e-07_rb,0.11133e-06_rb,0.14442e-06_rb,0.15980e-06_rb,0.20001e-06_rb, & & 0.19638e-06_rb,0.19075e-06_rb,0.23541e-06_rb,0.36618e-07_rb /) kao(:, 3,13, 4) = (/ & & 0.26215e-07_rb,0.13018e-06_rb,0.17053e-06_rb,0.18925e-06_rb,0.20654e-06_rb, & & 0.21104e-06_rb,0.19040e-06_rb,0.21495e-06_rb,0.44987e-07_rb /) kao(:, 4,13, 4) = (/ & & 0.29082e-07_rb,0.14865e-06_rb,0.19601e-06_rb,0.21490e-06_rb,0.21820e-06_rb, & & 0.22779e-06_rb,0.21313e-06_rb,0.21809e-06_rb,0.56635e-07_rb /) kao(:, 5,13, 4) = (/ & & 0.31856e-07_rb,0.16826e-06_rb,0.22260e-06_rb,0.23930e-06_rb,0.23753e-06_rb, & & 0.24098e-06_rb,0.23875e-06_rb,0.21605e-06_rb,0.66316e-07_rb /) kao(:, 1, 1, 5) = (/ & & 0.17059e-05_rb,0.38862e-05_rb,0.46330e-05_rb,0.51258e-05_rb,0.53516e-05_rb, & & 0.52890e-05_rb,0.49050e-05_rb,0.49561e-05_rb,0.24914e-05_rb /) kao(:, 2, 1, 5) = (/ & & 0.17702e-05_rb,0.41613e-05_rb,0.49979e-05_rb,0.55352e-05_rb,0.58535e-05_rb, & & 0.58620e-05_rb,0.55540e-05_rb,0.53944e-05_rb,0.30111e-05_rb /) kao(:, 3, 1, 5) = (/ & & 0.18268e-05_rb,0.44218e-05_rb,0.53631e-05_rb,0.59894e-05_rb,0.63892e-05_rb, & & 0.64888e-05_rb,0.63488e-05_rb,0.59957e-05_rb,0.35253e-05_rb /) kao(:, 4, 1, 5) = (/ & & 0.18763e-05_rb,0.46467e-05_rb,0.56969e-05_rb,0.64112e-05_rb,0.68701e-05_rb, & & 0.70687e-05_rb,0.69575e-05_rb,0.65330e-05_rb,0.40117e-05_rb /) kao(:, 5, 1, 5) = (/ & & 0.19168e-05_rb,0.48702e-05_rb,0.60413e-05_rb,0.68595e-05_rb,0.73828e-05_rb, & & 0.76555e-05_rb,0.76620e-05_rb,0.72236e-05_rb,0.44814e-05_rb /) kao(:, 1, 2, 5) = (/ & & 0.13807e-05_rb,0.32052e-05_rb,0.37981e-05_rb,0.41868e-05_rb,0.43666e-05_rb, & & 0.42966e-05_rb,0.39397e-05_rb,0.40523e-05_rb,0.19972e-05_rb /) kao(:, 2, 2, 5) = (/ & & 0.14355e-05_rb,0.34375e-05_rb,0.40968e-05_rb,0.45345e-05_rb,0.47869e-05_rb, & & 0.47900e-05_rb,0.45121e-05_rb,0.44176e-05_rb,0.23759e-05_rb /) kao(:, 3, 2, 5) = (/ & & 0.14839e-05_rb,0.36628e-05_rb,0.44128e-05_rb,0.49223e-05_rb,0.52399e-05_rb, & & 0.53302e-05_rb,0.51982e-05_rb,0.49130e-05_rb,0.28052e-05_rb /) kao(:, 4, 2, 5) = (/ & & 0.15261e-05_rb,0.38551e-05_rb,0.47116e-05_rb,0.52947e-05_rb,0.56758e-05_rb, & & 0.58601e-05_rb,0.57606e-05_rb,0.54224e-05_rb,0.31665e-05_rb /) kao(:, 5, 2, 5) = (/ & & 0.15621e-05_rb,0.40345e-05_rb,0.49797e-05_rb,0.56344e-05_rb,0.60672e-05_rb, & & 0.63079e-05_rb,0.63076e-05_rb,0.59671e-05_rb,0.35368e-05_rb /) kao(:, 1, 3, 5) = (/ & & 0.11048e-05_rb,0.25908e-05_rb,0.30458e-05_rb,0.33480e-05_rb,0.34767e-05_rb, & & 0.33444e-05_rb,0.30982e-05_rb,0.31520e-05_rb,0.14943e-05_rb /) kao(:, 2, 3, 5) = (/ & & 0.11526e-05_rb,0.27857e-05_rb,0.32915e-05_rb,0.36364e-05_rb,0.38272e-05_rb, & & 0.38169e-05_rb,0.35492e-05_rb,0.35141e-05_rb,0.17575e-05_rb /) kao(:, 3, 3, 5) = (/ & & 0.11948e-05_rb,0.29688e-05_rb,0.35427e-05_rb,0.39401e-05_rb,0.41747e-05_rb, & & 0.42239e-05_rb,0.40766e-05_rb,0.39111e-05_rb,0.20688e-05_rb /) kao(:, 4, 3, 5) = (/ & & 0.12319e-05_rb,0.31426e-05_rb,0.38135e-05_rb,0.42625e-05_rb,0.45635e-05_rb, & & 0.47062e-05_rb,0.46027e-05_rb,0.43389e-05_rb,0.23873e-05_rb /) kao(:, 5, 3, 5) = (/ & & 0.12642e-05_rb,0.32923e-05_rb,0.40402e-05_rb,0.45497e-05_rb,0.48934e-05_rb, & & 0.50814e-05_rb,0.50577e-05_rb,0.47614e-05_rb,0.26860e-05_rb /) kao(:, 1, 4, 5) = (/ & & 0.87810e-06_rb,0.20726e-05_rb,0.24188e-05_rb,0.26498e-05_rb,0.27201e-05_rb, & & 0.25966e-05_rb,0.24215e-05_rb,0.25596e-05_rb,0.10910e-05_rb /) kao(:, 2, 4, 5) = (/ & & 0.92113e-06_rb,0.22378e-05_rb,0.26243e-05_rb,0.28859e-05_rb,0.30228e-05_rb, & & 0.29855e-05_rb,0.27257e-05_rb,0.28497e-05_rb,0.12952e-05_rb /) kao(:, 3, 4, 5) = (/ & & 0.95847e-06_rb,0.23927e-05_rb,0.28323e-05_rb,0.31308e-05_rb,0.33238e-05_rb, & & 0.33287e-05_rb,0.31597e-05_rb,0.31032e-05_rb,0.15368e-05_rb /) kao(:, 4, 4, 5) = (/ & & 0.99115e-06_rb,0.25350e-05_rb,0.30423e-05_rb,0.33883e-05_rb,0.36085e-05_rb, & & 0.36829e-05_rb,0.35850e-05_rb,0.33993e-05_rb,0.17502e-05_rb /) kao(:, 5, 4, 5) = (/ & & 0.10199e-05_rb,0.26768e-05_rb,0.32656e-05_rb,0.36641e-05_rb,0.39303e-05_rb, & & 0.40820e-05_rb,0.40444e-05_rb,0.38038e-05_rb,0.20588e-05_rb /) kao(:, 1, 5, 5) = (/ & & 0.69521e-06_rb,0.16480e-05_rb,0.19136e-05_rb,0.20758e-05_rb,0.21053e-05_rb, & & 0.19983e-05_rb,0.19384e-05_rb,0.21119e-05_rb,0.79759e-06_rb /) kao(:, 2, 5, 5) = (/ & & 0.73399e-06_rb,0.17885e-05_rb,0.20863e-05_rb,0.22802e-05_rb,0.23681e-05_rb, & & 0.23078e-05_rb,0.21093e-05_rb,0.21684e-05_rb,0.95048e-06_rb /) kao(:, 3, 5, 5) = (/ & & 0.76704e-06_rb,0.19210e-05_rb,0.22551e-05_rb,0.24823e-05_rb,0.26201e-05_rb, & & 0.26181e-05_rb,0.24369e-05_rb,0.24387e-05_rb,0.11396e-05_rb /) kao(:, 4, 5, 5) = (/ & & 0.79598e-06_rb,0.20422e-05_rb,0.24305e-05_rb,0.26936e-05_rb,0.28610e-05_rb, & & 0.28938e-05_rb,0.28032e-05_rb,0.26848e-05_rb,0.13054e-05_rb /) kao(:, 5, 5, 5) = (/ & & 0.82146e-06_rb,0.21630e-05_rb,0.26149e-05_rb,0.29202e-05_rb,0.31281e-05_rb, & & 0.32364e-05_rb,0.31639e-05_rb,0.29903e-05_rb,0.15503e-05_rb /) kao(:, 1, 6, 5) = (/ & & 0.54790e-06_rb,0.12968e-05_rb,0.14998e-05_rb,0.16199e-05_rb,0.16168e-05_rb, & & 0.15151e-05_rb,0.14932e-05_rb,0.16380e-05_rb,0.58437e-06_rb /) kao(:, 2, 6, 5) = (/ & & 0.58180e-06_rb,0.14204e-05_rb,0.16474e-05_rb,0.17877e-05_rb,0.18382e-05_rb, & & 0.17645e-05_rb,0.16359e-05_rb,0.17414e-05_rb,0.70191e-06_rb /) kao(:, 3, 6, 5) = (/ & & 0.61169e-06_rb,0.15332e-05_rb,0.17837e-05_rb,0.19554e-05_rb,0.20462e-05_rb, & & 0.20343e-05_rb,0.18483e-05_rb,0.19670e-05_rb,0.83824e-06_rb /) kao(:, 4, 6, 5) = (/ & & 0.63729e-06_rb,0.16375e-05_rb,0.19280e-05_rb,0.21247e-05_rb,0.22559e-05_rb, & & 0.22588e-05_rb,0.21468e-05_rb,0.21190e-05_rb,0.96829e-06_rb /) kao(:, 5, 6, 5) = (/ & & 0.65987e-06_rb,0.17326e-05_rb,0.20710e-05_rb,0.23017e-05_rb,0.24525e-05_rb, & & 0.25042e-05_rb,0.24377e-05_rb,0.23029e-05_rb,0.11330e-05_rb /) kao(:, 1, 7, 5) = (/ & & 0.43067e-06_rb,0.10147e-05_rb,0.11663e-05_rb,0.12622e-05_rb,0.12316e-05_rb, & & 0.11186e-05_rb,0.12227e-05_rb,0.12153e-05_rb,0.41960e-06_rb /) kao(:, 2, 7, 5) = (/ & & 0.45965e-06_rb,0.11216e-05_rb,0.12929e-05_rb,0.13935e-05_rb,0.14129e-05_rb, & & 0.13426e-05_rb,0.12944e-05_rb,0.14463e-05_rb,0.51416e-06_rb /) kao(:, 3, 7, 5) = (/ & & 0.48636e-06_rb,0.12186e-05_rb,0.14109e-05_rb,0.15331e-05_rb,0.15936e-05_rb, & & 0.15473e-05_rb,0.14164e-05_rb,0.14707e-05_rb,0.61314e-06_rb /) kao(:, 4, 7, 5) = (/ & & 0.50928e-06_rb,0.13071e-05_rb,0.15237e-05_rb,0.16740e-05_rb,0.17644e-05_rb, & & 0.17562e-05_rb,0.16373e-05_rb,0.16431e-05_rb,0.72862e-06_rb /) kao(:, 5, 7, 5) = (/ & & 0.52919e-06_rb,0.13890e-05_rb,0.16443e-05_rb,0.18186e-05_rb,0.19296e-05_rb, & & 0.19451e-05_rb,0.18786e-05_rb,0.17942e-05_rb,0.84235e-06_rb /) kao(:, 1, 8, 5) = (/ & & 0.33792e-06_rb,0.78856e-06_rb,0.90464e-06_rb,0.98317e-06_rb,0.92848e-06_rb, & & 0.86387e-06_rb,0.95438e-06_rb,0.90887e-06_rb,0.29529e-06_rb /) kao(:, 2, 8, 5) = (/ & & 0.36263e-06_rb,0.88071e-06_rb,0.10121e-05_rb,0.10878e-05_rb,0.10817e-05_rb, & & 0.10133e-05_rb,0.10031e-05_rb,0.11161e-05_rb,0.37413e-06_rb /) kao(:, 3, 8, 5) = (/ & & 0.38563e-06_rb,0.96560e-06_rb,0.11116e-05_rb,0.12011e-05_rb,0.12324e-05_rb, & & 0.11848e-05_rb,0.10927e-05_rb,0.11776e-05_rb,0.44987e-06_rb /) kao(:, 4, 8, 5) = (/ & & 0.40622e-06_rb,0.10407e-05_rb,0.12047e-05_rb,0.13138e-05_rb,0.13745e-05_rb, & & 0.13598e-05_rb,0.12356e-05_rb,0.13203e-05_rb,0.54288e-06_rb /) kao(:, 5, 8, 5) = (/ & & 0.42386e-06_rb,0.11111e-05_rb,0.13019e-05_rb,0.14302e-05_rb,0.15146e-05_rb, & & 0.15112e-05_rb,0.14255e-05_rb,0.14090e-05_rb,0.62729e-06_rb /) kao(:, 1, 9, 5) = (/ & & 0.26432e-06_rb,0.60726e-06_rb,0.70036e-06_rb,0.76229e-06_rb,0.71577e-06_rb, & & 0.69749e-06_rb,0.70164e-06_rb,0.72668e-06_rb,0.20659e-06_rb /) kao(:, 2, 9, 5) = (/ & & 0.28549e-06_rb,0.68848e-06_rb,0.78705e-06_rb,0.84862e-06_rb,0.82241e-06_rb, & & 0.74707e-06_rb,0.82519e-06_rb,0.82938e-06_rb,0.27449e-06_rb /) kao(:, 3, 9, 5) = (/ & & 0.30511e-06_rb,0.76168e-06_rb,0.87199e-06_rb,0.93359e-06_rb,0.94531e-06_rb, & & 0.89794e-06_rb,0.85947e-06_rb,0.97111e-06_rb,0.33410e-06_rb /) kao(:, 4, 9, 5) = (/ & & 0.32329e-06_rb,0.82660e-06_rb,0.95163e-06_rb,0.10287e-05_rb,0.10680e-05_rb, & & 0.10381e-05_rb,0.94558e-06_rb,0.98374e-06_rb,0.39896e-06_rb /) kao(:, 5, 9, 5) = (/ & & 0.33897e-06_rb,0.88614e-06_rb,0.10276e-05_rb,0.11239e-05_rb,0.11817e-05_rb, & & 0.11723e-05_rb,0.10892e-05_rb,0.10943e-05_rb,0.47438e-06_rb /) kao(:, 1,10, 5) = (/ & & 0.20748e-06_rb,0.47023e-06_rb,0.54165e-06_rb,0.58159e-06_rb,0.54422e-06_rb, & & 0.55116e-06_rb,0.57712e-06_rb,0.60571e-06_rb,0.14752e-06_rb /) kao(:, 2,10, 5) = (/ & & 0.22561e-06_rb,0.54027e-06_rb,0.61555e-06_rb,0.66550e-06_rb,0.62550e-06_rb, & & 0.58306e-06_rb,0.64781e-06_rb,0.63365e-06_rb,0.19821e-06_rb /) kao(:, 3,10, 5) = (/ & & 0.24219e-06_rb,0.60251e-06_rb,0.68703e-06_rb,0.73412e-06_rb,0.72965e-06_rb, & & 0.68255e-06_rb,0.67291e-06_rb,0.76422e-06_rb,0.24874e-06_rb /) kao(:, 4,10, 5) = (/ & & 0.25766e-06_rb,0.65861e-06_rb,0.75375e-06_rb,0.81214e-06_rb,0.83171e-06_rb, & & 0.80129e-06_rb,0.73385e-06_rb,0.78864e-06_rb,0.29867e-06_rb /) kao(:, 5,10, 5) = (/ & & 0.27157e-06_rb,0.70870e-06_rb,0.81638e-06_rb,0.88593e-06_rb,0.92651e-06_rb, & & 0.91449e-06_rb,0.83048e-06_rb,0.88651e-06_rb,0.36087e-06_rb /) kao(:, 1,11, 5) = (/ & & 0.16984e-06_rb,0.38981e-06_rb,0.44742e-06_rb,0.48022e-06_rb,0.44950e-06_rb, & & 0.45173e-06_rb,0.47333e-06_rb,0.50203e-06_rb,0.12166e-06_rb /) kao(:, 2,11, 5) = (/ & & 0.18466e-06_rb,0.44753e-06_rb,0.50754e-06_rb,0.54744e-06_rb,0.51342e-06_rb, & & 0.47893e-06_rb,0.53296e-06_rb,0.51992e-06_rb,0.16283e-06_rb /) kao(:, 3,11, 5) = (/ & & 0.19826e-06_rb,0.49803e-06_rb,0.56578e-06_rb,0.60333e-06_rb,0.60031e-06_rb, & & 0.56085e-06_rb,0.55152e-06_rb,0.63442e-06_rb,0.20412e-06_rb /) kao(:, 4,11, 5) = (/ & & 0.21087e-06_rb,0.54349e-06_rb,0.62058e-06_rb,0.66722e-06_rb,0.68339e-06_rb, & & 0.65819e-06_rb,0.60140e-06_rb,0.64555e-06_rb,0.24501e-06_rb /) kao(:, 5,11, 5) = (/ & & 0.22228e-06_rb,0.58430e-06_rb,0.67139e-06_rb,0.72733e-06_rb,0.76067e-06_rb, & & 0.75025e-06_rb,0.68133e-06_rb,0.72307e-06_rb,0.29566e-06_rb /) kao(:, 1,12, 5) = (/ & & 0.13908e-06_rb,0.32322e-06_rb,0.36926e-06_rb,0.39668e-06_rb,0.37094e-06_rb, & & 0.37104e-06_rb,0.38736e-06_rb,0.41059e-06_rb,0.10018e-06_rb /) kao(:, 2,12, 5) = (/ & & 0.15119e-06_rb,0.37037e-06_rb,0.41804e-06_rb,0.44988e-06_rb,0.42138e-06_rb, & & 0.39334e-06_rb,0.43800e-06_rb,0.42649e-06_rb,0.13384e-06_rb /) kao(:, 3,12, 5) = (/ & & 0.16232e-06_rb,0.41107e-06_rb,0.46554e-06_rb,0.49568e-06_rb,0.49349e-06_rb, & & 0.46062e-06_rb,0.45205e-06_rb,0.52165e-06_rb,0.16749e-06_rb /) kao(:, 4,12, 5) = (/ & & 0.17268e-06_rb,0.44802e-06_rb,0.51028e-06_rb,0.54757e-06_rb,0.56096e-06_rb, & & 0.54041e-06_rb,0.49303e-06_rb,0.52723e-06_rb,0.20095e-06_rb /) kao(:, 5,12, 5) = (/ & & 0.18199e-06_rb,0.48092e-06_rb,0.55149e-06_rb,0.59694e-06_rb,0.62405e-06_rb, & & 0.61534e-06_rb,0.55851e-06_rb,0.58926e-06_rb,0.24228e-06_rb /) kao(:, 1,13, 5) = (/ & & 0.11387e-06_rb,0.26741e-06_rb,0.30441e-06_rb,0.32687e-06_rb,0.30479e-06_rb, & & 0.30477e-06_rb,0.31768e-06_rb,0.33316e-06_rb,0.82090e-07_rb /) kao(:, 2,13, 5) = (/ & & 0.12381e-06_rb,0.30579e-06_rb,0.34391e-06_rb,0.36935e-06_rb,0.34578e-06_rb, & & 0.32317e-06_rb,0.35995e-06_rb,0.35099e-06_rb,0.10981e-06_rb /) kao(:, 3,13, 5) = (/ & & 0.13290e-06_rb,0.33871e-06_rb,0.38265e-06_rb,0.40672e-06_rb,0.40511e-06_rb, & & 0.37796e-06_rb,0.36986e-06_rb,0.42813e-06_rb,0.13721e-06_rb /) kao(:, 4,13, 5) = (/ & & 0.14135e-06_rb,0.36878e-06_rb,0.41898e-06_rb,0.44916e-06_rb,0.46012e-06_rb, & & 0.44348e-06_rb,0.40383e-06_rb,0.43087e-06_rb,0.16460e-06_rb /) kao(:, 5,13, 5) = (/ & & 0.14898e-06_rb,0.39524e-06_rb,0.45245e-06_rb,0.48939e-06_rb,0.51148e-06_rb, & & 0.50420e-06_rb,0.45753e-06_rb,0.48088e-06_rb,0.19843e-06_rb /) kao(:, 1, 1, 6) = (/ & & 0.49835e-05_rb,0.73512e-05_rb,0.88016e-05_rb,0.97115e-05_rb,0.10342e-04_rb, & & 0.10688e-04_rb,0.10747e-04_rb,0.97587e-05_rb,0.57353e-05_rb /) kao(:, 2, 1, 6) = (/ & & 0.49823e-05_rb,0.77944e-05_rb,0.95403e-05_rb,0.10739e-04_rb,0.11522e-04_rb, & & 0.11974e-04_rb,0.12019e-04_rb,0.11200e-04_rb,0.69362e-05_rb /) kao(:, 3, 1, 6) = (/ & & 0.49638e-05_rb,0.82513e-05_rb,0.10343e-04_rb,0.11836e-04_rb,0.12804e-04_rb, & & 0.13375e-04_rb,0.13427e-04_rb,0.12807e-04_rb,0.83325e-05_rb /) kao(:, 4, 1, 6) = (/ & & 0.49300e-05_rb,0.87230e-05_rb,0.11131e-04_rb,0.12834e-04_rb,0.13980e-04_rb, & & 0.14660e-04_rb,0.14790e-04_rb,0.14186e-04_rb,0.94893e-05_rb /) kao(:, 5, 1, 6) = (/ & & 0.48886e-05_rb,0.92046e-05_rb,0.11933e-04_rb,0.13885e-04_rb,0.15255e-04_rb, & & 0.16071e-04_rb,0.16239e-04_rb,0.15605e-04_rb,0.10917e-04_rb /) kao(:, 1, 2, 6) = (/ & & 0.41174e-05_rb,0.62362e-05_rb,0.73897e-05_rb,0.81161e-05_rb,0.86061e-05_rb, & & 0.88364e-05_rb,0.89272e-05_rb,0.81534e-05_rb,0.45187e-05_rb /) kao(:, 2, 2, 6) = (/ & & 0.41154e-05_rb,0.66112e-05_rb,0.80274e-05_rb,0.90030e-05_rb,0.96264e-05_rb, & & 0.99529e-05_rb,0.10004e-04_rb,0.93836e-05_rb,0.55300e-05_rb /) kao(:, 3, 2, 6) = (/ & & 0.40999e-05_rb,0.69972e-05_rb,0.87232e-05_rb,0.99464e-05_rb,0.10738e-04_rb, & & 0.11186e-04_rb,0.11235e-04_rb,0.10760e-04_rb,0.66656e-05_rb /) kao(:, 4, 2, 6) = (/ & & 0.40728e-05_rb,0.73933e-05_rb,0.94032e-05_rb,0.10842e-04_rb,0.11807e-04_rb, & & 0.12371e-04_rb,0.12495e-04_rb,0.12016e-04_rb,0.78073e-05_rb /) kao(:, 5, 2, 6) = (/ & & 0.40371e-05_rb,0.77954e-05_rb,0.10060e-04_rb,0.11710e-04_rb,0.12855e-04_rb, & & 0.13529e-04_rb,0.13658e-04_rb,0.13169e-04_rb,0.88462e-05_rb /) kao(:, 1, 3, 6) = (/ & & 0.33911e-05_rb,0.51807e-05_rb,0.60524e-05_rb,0.65745e-05_rb,0.69209e-05_rb, & & 0.70496e-05_rb,0.71376e-05_rb,0.64864e-05_rb,0.34232e-05_rb /) kao(:, 2, 3, 6) = (/ & & 0.33916e-05_rb,0.54910e-05_rb,0.65875e-05_rb,0.73243e-05_rb,0.77878e-05_rb, & & 0.79847e-05_rb,0.80332e-05_rb,0.75309e-05_rb,0.42228e-05_rb /) kao(:, 3, 3, 6) = (/ & & 0.33813e-05_rb,0.58057e-05_rb,0.71503e-05_rb,0.80869e-05_rb,0.86798e-05_rb, & & 0.89845e-05_rb,0.90042e-05_rb,0.85938e-05_rb,0.50519e-05_rb /) kao(:, 4, 3, 6) = (/ & & 0.33618e-05_rb,0.61503e-05_rb,0.77470e-05_rb,0.88947e-05_rb,0.96421e-05_rb, & & 0.10056e-04_rb,0.10131e-04_rb,0.97836e-05_rb,0.60817e-05_rb /) kao(:, 5, 3, 6) = (/ & & 0.33346e-05_rb,0.64834e-05_rb,0.82992e-05_rb,0.96266e-05_rb,0.10527e-04_rb, & & 0.11042e-04_rb,0.11154e-04_rb,0.10788e-04_rb,0.69208e-05_rb /) kao(:, 1, 4, 6) = (/ & & 0.27862e-05_rb,0.42534e-05_rb,0.48987e-05_rb,0.52435e-05_rb,0.54733e-05_rb, & & 0.55364e-05_rb,0.55872e-05_rb,0.49226e-05_rb,0.25436e-05_rb /) kao(:, 2, 4, 6) = (/ & & 0.27893e-05_rb,0.45093e-05_rb,0.53394e-05_rb,0.58691e-05_rb,0.61855e-05_rb, & & 0.63070e-05_rb,0.63399e-05_rb,0.58599e-05_rb,0.31726e-05_rb /) kao(:, 3, 4, 6) = (/ & & 0.27843e-05_rb,0.47714e-05_rb,0.58075e-05_rb,0.65048e-05_rb,0.69158e-05_rb, & & 0.71341e-05_rb,0.71529e-05_rb,0.67578e-05_rb,0.38485e-05_rb /) kao(:, 4, 4, 6) = (/ & & 0.27713e-05_rb,0.50491e-05_rb,0.62824e-05_rb,0.71451e-05_rb,0.76931e-05_rb, & & 0.79968e-05_rb,0.80403e-05_rb,0.77391e-05_rb,0.46093e-05_rb /) kao(:, 5, 4, 6) = (/ & & 0.27517e-05_rb,0.53526e-05_rb,0.67897e-05_rb,0.78357e-05_rb,0.85357e-05_rb, & & 0.89260e-05_rb,0.90160e-05_rb,0.87287e-05_rb,0.54226e-05_rb /) kao(:, 1, 5, 6) = (/ & & 0.22852e-05_rb,0.34704e-05_rb,0.39351e-05_rb,0.41626e-05_rb,0.42797e-05_rb, & & 0.43078e-05_rb,0.42289e-05_rb,0.36572e-05_rb,0.18725e-05_rb /) kao(:, 2, 5, 6) = (/ & & 0.22904e-05_rb,0.36828e-05_rb,0.42969e-05_rb,0.46636e-05_rb,0.48818e-05_rb, & & 0.49227e-05_rb,0.49640e-05_rb,0.45776e-05_rb,0.23620e-05_rb /) kao(:, 3, 5, 6) = (/ & & 0.22883e-05_rb,0.38995e-05_rb,0.46830e-05_rb,0.51887e-05_rb,0.54814e-05_rb, & & 0.56039e-05_rb,0.56350e-05_rb,0.52624e-05_rb,0.29139e-05_rb /) kao(:, 4, 5, 6) = (/ & & 0.22808e-05_rb,0.41317e-05_rb,0.50763e-05_rb,0.57196e-05_rb,0.61208e-05_rb, & & 0.63389e-05_rb,0.63549e-05_rb,0.60859e-05_rb,0.35219e-05_rb /) kao(:, 5, 5, 6) = (/ & & 0.22671e-05_rb,0.43851e-05_rb,0.54991e-05_rb,0.62948e-05_rb,0.68249e-05_rb, & & 0.71098e-05_rb,0.71755e-05_rb,0.69558e-05_rb,0.41900e-05_rb /) kao(:, 1, 6, 6) = (/ & & 0.18699e-05_rb,0.28114e-05_rb,0.31400e-05_rb,0.32683e-05_rb,0.33153e-05_rb, & & 0.33008e-05_rb,0.31920e-05_rb,0.27860e-05_rb,0.13420e-05_rb /) kao(:, 2, 6, 6) = (/ & & 0.18773e-05_rb,0.29859e-05_rb,0.34309e-05_rb,0.36695e-05_rb,0.38007e-05_rb, & & 0.38091e-05_rb,0.38180e-05_rb,0.34314e-05_rb,0.17179e-05_rb /) kao(:, 3, 6, 6) = (/ & & 0.18783e-05_rb,0.31642e-05_rb,0.37448e-05_rb,0.40997e-05_rb,0.43019e-05_rb, & & 0.43546e-05_rb,0.43740e-05_rb,0.40084e-05_rb,0.21605e-05_rb /) kao(:, 4, 6, 6) = (/ & & 0.18743e-05_rb,0.33566e-05_rb,0.40684e-05_rb,0.45371e-05_rb,0.48151e-05_rb, & & 0.49624e-05_rb,0.49624e-05_rb,0.47228e-05_rb,0.26431e-05_rb /) kao(:, 5, 6, 6) = (/ & & 0.18657e-05_rb,0.35541e-05_rb,0.43955e-05_rb,0.49826e-05_rb,0.53649e-05_rb, & & 0.55694e-05_rb,0.55990e-05_rb,0.54328e-05_rb,0.31359e-05_rb /) kao(:, 1, 7, 6) = (/ & & 0.15270e-05_rb,0.22681e-05_rb,0.24953e-05_rb,0.25538e-05_rb,0.25397e-05_rb, & & 0.25315e-05_rb,0.23299e-05_rb,0.21035e-05_rb,0.95748e-06_rb /) kao(:, 2, 7, 6) = (/ & & 0.15365e-05_rb,0.24113e-05_rb,0.27304e-05_rb,0.28767e-05_rb,0.29339e-05_rb, & & 0.29290e-05_rb,0.28728e-05_rb,0.24852e-05_rb,0.12383e-05_rb /) kao(:, 3, 7, 6) = (/ & & 0.15398e-05_rb,0.25576e-05_rb,0.29821e-05_rb,0.32226e-05_rb,0.33508e-05_rb, & & 0.33584e-05_rb,0.33733e-05_rb,0.31044e-05_rb,0.15900e-05_rb /) kao(:, 4, 7, 6) = (/ & & 0.15385e-05_rb,0.27150e-05_rb,0.32458e-05_rb,0.35802e-05_rb,0.37697e-05_rb, & & 0.38500e-05_rb,0.38510e-05_rb,0.36169e-05_rb,0.19605e-05_rb /) kao(:, 5, 7, 6) = (/ & & 0.15336e-05_rb,0.28792e-05_rb,0.35139e-05_rb,0.39460e-05_rb,0.42149e-05_rb, & & 0.43622e-05_rb,0.43664e-05_rb,0.42187e-05_rb,0.23523e-05_rb /) kao(:, 1, 8, 6) = (/ & & 0.12444e-05_rb,0.18266e-05_rb,0.19784e-05_rb,0.19900e-05_rb,0.19390e-05_rb, & & 0.19235e-05_rb,0.17231e-05_rb,0.16995e-05_rb,0.68590e-06_rb /) kao(:, 2, 8, 6) = (/ & & 0.12557e-05_rb,0.19427e-05_rb,0.21667e-05_rb,0.22465e-05_rb,0.22625e-05_rb, & & 0.22377e-05_rb,0.21596e-05_rb,0.18759e-05_rb,0.89490e-06_rb /) kao(:, 3, 8, 6) = (/ & & 0.12608e-05_rb,0.20627e-05_rb,0.23694e-05_rb,0.25224e-05_rb,0.25961e-05_rb, & & 0.25892e-05_rb,0.25887e-05_rb,0.23400e-05_rb,0.11490e-05_rb /) kao(:, 4, 8, 6) = (/ & & 0.12616e-05_rb,0.21916e-05_rb,0.25816e-05_rb,0.28156e-05_rb,0.29418e-05_rb, & & 0.29759e-05_rb,0.29788e-05_rb,0.27379e-05_rb,0.14416e-05_rb /) kao(:, 5, 8, 6) = (/ & & 0.12590e-05_rb,0.23261e-05_rb,0.28013e-05_rb,0.31131e-05_rb,0.32990e-05_rb, & & 0.33976e-05_rb,0.33946e-05_rb,0.32600e-05_rb,0.17529e-05_rb /) kao(:, 1, 9, 6) = (/ & & 0.10123e-05_rb,0.14681e-05_rb,0.15612e-05_rb,0.15411e-05_rb,0.14778e-05_rb, & & 0.14343e-05_rb,0.12992e-05_rb,0.13172e-05_rb,0.49290e-06_rb /) kao(:, 2, 9, 6) = (/ & & 0.10245e-05_rb,0.15617e-05_rb,0.17149e-05_rb,0.17499e-05_rb,0.17312e-05_rb, & & 0.17144e-05_rb,0.15772e-05_rb,0.14382e-05_rb,0.63132e-06_rb /) kao(:, 3, 9, 6) = (/ & & 0.10311e-05_rb,0.16600e-05_rb,0.18786e-05_rb,0.19738e-05_rb,0.20017e-05_rb, & & 0.19859e-05_rb,0.19416e-05_rb,0.17139e-05_rb,0.82278e-06_rb /) kao(:, 4, 9, 6) = (/ & & 0.10334e-05_rb,0.17639e-05_rb,0.20493e-05_rb,0.22069e-05_rb,0.22845e-05_rb, & & 0.22769e-05_rb,0.22855e-05_rb,0.21115e-05_rb,0.10531e-05_rb /) kao(:, 5, 9, 6) = (/ & & 0.10328e-05_rb,0.18738e-05_rb,0.22265e-05_rb,0.24495e-05_rb,0.25737e-05_rb, & & 0.26232e-05_rb,0.26173e-05_rb,0.24699e-05_rb,0.12950e-05_rb /) kao(:, 1,10, 6) = (/ & & 0.82261e-06_rb,0.11811e-05_rb,0.12403e-05_rb,0.12060e-05_rb,0.11493e-05_rb, & & 0.10907e-05_rb,0.98035e-06_rb,0.10980e-05_rb,0.37316e-06_rb /) kao(:, 2,10, 6) = (/ & & 0.83528e-06_rb,0.12595e-05_rb,0.13646e-05_rb,0.13745e-05_rb,0.13365e-05_rb, & & 0.13172e-05_rb,0.11846e-05_rb,0.11491e-05_rb,0.46158e-06_rb /) kao(:, 3,10, 6) = (/ & & 0.84255e-06_rb,0.13392e-05_rb,0.14968e-05_rb,0.15528e-05_rb,0.15573e-05_rb, & & 0.15339e-05_rb,0.14802e-05_rb,0.12811e-05_rb,0.60300e-06_rb /) kao(:, 4,10, 6) = (/ & & 0.84587e-06_rb,0.14245e-05_rb,0.16355e-05_rb,0.17381e-05_rb,0.17835e-05_rb, & & 0.17693e-05_rb,0.17683e-05_rb,0.16097e-05_rb,0.77730e-06_rb /) kao(:, 5,10, 6) = (/ & & 0.84627e-06_rb,0.15137e-05_rb,0.17779e-05_rb,0.19378e-05_rb,0.20192e-05_rb, & & 0.20387e-05_rb,0.20340e-05_rb,0.18636e-05_rb,0.96863e-06_rb /) kao(:, 1,11, 6) = (/ & & 0.67388e-06_rb,0.97942e-06_rb,0.10286e-05_rb,0.10023e-05_rb,0.95317e-06_rb, & & 0.90847e-06_rb,0.81776e-06_rb,0.89345e-06_rb,0.30408e-06_rb /) kao(:, 2,11, 6) = (/ & & 0.68407e-06_rb,0.10438e-05_rb,0.11334e-05_rb,0.11425e-05_rb,0.11096e-05_rb, & & 0.10886e-05_rb,0.98240e-06_rb,0.94798e-06_rb,0.38086e-06_rb /) kao(:, 3,11, 6) = (/ & & 0.69000e-06_rb,0.11106e-05_rb,0.12435e-05_rb,0.12890e-05_rb,0.12895e-05_rb, & & 0.12679e-05_rb,0.12202e-05_rb,0.10522e-05_rb,0.49623e-06_rb /) kao(:, 4,11, 6) = (/ & & 0.69276e-06_rb,0.11824e-05_rb,0.13564e-05_rb,0.14402e-05_rb,0.14763e-05_rb, & & 0.14628e-05_rb,0.14599e-05_rb,0.13328e-05_rb,0.63979e-06_rb /) kao(:, 5,11, 6) = (/ & & 0.69302e-06_rb,0.12555e-05_rb,0.14740e-05_rb,0.16049e-05_rb,0.16694e-05_rb, & & 0.16839e-05_rb,0.16772e-05_rb,0.15421e-05_rb,0.79514e-06_rb /) kao(:, 1,12, 6) = (/ & & 0.55214e-06_rb,0.81079e-06_rb,0.85249e-06_rb,0.83175e-06_rb,0.78783e-06_rb, & & 0.75281e-06_rb,0.67567e-06_rb,0.74075e-06_rb,0.24910e-06_rb /) kao(:, 2,12, 6) = (/ & & 0.56029e-06_rb,0.86391e-06_rb,0.94032e-06_rb,0.94758e-06_rb,0.91883e-06_rb, & & 0.89834e-06_rb,0.81189e-06_rb,0.77883e-06_rb,0.31399e-06_rb /) kao(:, 3,12, 6) = (/ & & 0.56504e-06_rb,0.92066e-06_rb,0.10308e-05_rb,0.10667e-05_rb,0.10655e-05_rb, & & 0.10460e-05_rb,0.10067e-05_rb,0.87150e-06_rb,0.40815e-06_rb /) kao(:, 4,12, 6) = (/ & & 0.56721e-06_rb,0.97985e-06_rb,0.11224e-05_rb,0.11915e-05_rb,0.12197e-05_rb, & & 0.12063e-05_rb,0.12014e-05_rb,0.10950e-05_rb,0.52630e-06_rb /) kao(:, 5,12, 6) = (/ & & 0.56742e-06_rb,0.10399e-05_rb,0.12195e-05_rb,0.13255e-05_rb,0.13771e-05_rb, & & 0.13876e-05_rb,0.13807e-05_rb,0.12724e-05_rb,0.65264e-06_rb /) kao(:, 1,13, 6) = (/ & & 0.45223e-06_rb,0.67006e-06_rb,0.70582e-06_rb,0.68873e-06_rb,0.65038e-06_rb, & & 0.62084e-06_rb,0.55442e-06_rb,0.60996e-06_rb,0.20428e-06_rb /) kao(:, 2,13, 6) = (/ & & 0.45880e-06_rb,0.71490e-06_rb,0.77859e-06_rb,0.78376e-06_rb,0.75834e-06_rb, & & 0.73987e-06_rb,0.66959e-06_rb,0.63711e-06_rb,0.25817e-06_rb /) kao(:, 3,13, 6) = (/ & & 0.46276e-06_rb,0.76231e-06_rb,0.85214e-06_rb,0.88098e-06_rb,0.87867e-06_rb, & & 0.86188e-06_rb,0.83033e-06_rb,0.72166e-06_rb,0.33548e-06_rb /) kao(:, 4,13, 6) = (/ & & 0.46442e-06_rb,0.81043e-06_rb,0.92714e-06_rb,0.98329e-06_rb,0.10050e-05_rb, & & 0.99247e-06_rb,0.98770e-06_rb,0.89931e-06_rb,0.43220e-06_rb /) kao(:, 5,13, 6) = (/ & & 0.46456e-06_rb,0.86048e-06_rb,0.10065e-05_rb,0.10920e-05_rb,0.11333e-05_rb, & & 0.11411e-05_rb,0.11342e-05_rb,0.10473e-05_rb,0.53527e-06_rb /) kao(:, 1, 1, 7) = (/ & & 0.12335e-04_rb,0.15987e-04_rb,0.18565e-04_rb,0.20406e-04_rb,0.21636e-04_rb, & & 0.22077e-04_rb,0.21364e-04_rb,0.19544e-04_rb,0.14733e-04_rb /) kao(:, 2, 1, 7) = (/ & & 0.12351e-04_rb,0.17014e-04_rb,0.20216e-04_rb,0.22480e-04_rb,0.24098e-04_rb, & & 0.24791e-04_rb,0.24379e-04_rb,0.22600e-04_rb,0.17292e-04_rb /) kao(:, 3, 1, 7) = (/ & & 0.12364e-04_rb,0.18152e-04_rb,0.21907e-04_rb,0.24643e-04_rb,0.26659e-04_rb, & & 0.27630e-04_rb,0.27512e-04_rb,0.25730e-04_rb,0.20236e-04_rb /) kao(:, 4, 1, 7) = (/ & & 0.12365e-04_rb,0.19320e-04_rb,0.23679e-04_rb,0.26885e-04_rb,0.29225e-04_rb, & & 0.30430e-04_rb,0.30461e-04_rb,0.28726e-04_rb,0.23208e-04_rb /) kao(:, 5, 1, 7) = (/ & & 0.12355e-04_rb,0.20495e-04_rb,0.25505e-04_rb,0.29189e-04_rb,0.31816e-04_rb, & & 0.33308e-04_rb,0.33478e-04_rb,0.31898e-04_rb,0.26469e-04_rb /) kao(:, 1, 2, 7) = (/ & & 0.10350e-04_rb,0.13753e-04_rb,0.16101e-04_rb,0.17726e-04_rb,0.18733e-04_rb, & & 0.19034e-04_rb,0.18319e-04_rb,0.16594e-04_rb,0.11961e-04_rb /) kao(:, 2, 2, 7) = (/ & & 0.10365e-04_rb,0.14706e-04_rb,0.17542e-04_rb,0.19561e-04_rb,0.20895e-04_rb, & & 0.21420e-04_rb,0.21012e-04_rb,0.19409e-04_rb,0.14130e-04_rb /) kao(:, 3, 2, 7) = (/ & & 0.10364e-04_rb,0.15733e-04_rb,0.19081e-04_rb,0.21505e-04_rb,0.23181e-04_rb, & & 0.23958e-04_rb,0.23844e-04_rb,0.22334e-04_rb,0.16750e-04_rb /) kao(:, 4, 2, 7) = (/ & & 0.10354e-04_rb,0.16759e-04_rb,0.20670e-04_rb,0.23471e-04_rb,0.25440e-04_rb, & & 0.26474e-04_rb,0.26560e-04_rb,0.25188e-04_rb,0.19386e-04_rb /) kao(:, 5, 2, 7) = (/ & & 0.10329e-04_rb,0.17823e-04_rb,0.22292e-04_rb,0.25488e-04_rb,0.27703e-04_rb, & & 0.28957e-04_rb,0.29205e-04_rb,0.27936e-04_rb,0.22026e-04_rb /) kao(:, 1, 3, 7) = (/ & & 0.86408e-05_rb,0.11607e-04_rb,0.13624e-04_rb,0.14928e-04_rb,0.15622e-04_rb, & & 0.15768e-04_rb,0.15034e-04_rb,0.13540e-04_rb,0.91950e-05_rb /) kao(:, 2, 3, 7) = (/ & & 0.86478e-05_rb,0.12463e-04_rb,0.14889e-04_rb,0.16508e-04_rb,0.17482e-04_rb, & & 0.17819e-04_rb,0.17439e-04_rb,0.15994e-04_rb,0.11026e-04_rb /) kao(:, 3, 3, 7) = (/ & & 0.86444e-05_rb,0.13354e-04_rb,0.16234e-04_rb,0.18159e-04_rb,0.19394e-04_rb, & & 0.19962e-04_rb,0.19837e-04_rb,0.18485e-04_rb,0.13087e-04_rb /) kao(:, 4, 3, 7) = (/ & & 0.86273e-05_rb,0.14262e-04_rb,0.17647e-04_rb,0.19921e-04_rb,0.21457e-04_rb, & & 0.22290e-04_rb,0.22338e-04_rb,0.21203e-04_rb,0.15397e-04_rb /) kao(:, 5, 3, 7) = (/ & & 0.85960e-05_rb,0.15200e-04_rb,0.19031e-04_rb,0.21649e-04_rb,0.23415e-04_rb, & & 0.24453e-04_rb,0.24660e-04_rb,0.23666e-04_rb,0.17582e-04_rb /) kao(:, 1, 4, 7) = (/ & & 0.71803e-05_rb,0.97101e-05_rb,0.11373e-04_rb,0.12321e-04_rb,0.12789e-04_rb, & & 0.12803e-04_rb,0.12062e-04_rb,0.10784e-04_rb,0.69624e-05_rb /) kao(:, 2, 4, 7) = (/ & & 0.71855e-05_rb,0.10459e-04_rb,0.12456e-04_rb,0.13673e-04_rb,0.14371e-04_rb, & & 0.14569e-04_rb,0.14153e-04_rb,0.12788e-04_rb,0.84564e-05_rb /) kao(:, 3, 4, 7) = (/ & & 0.71795e-05_rb,0.11229e-04_rb,0.13608e-04_rb,0.15091e-04_rb,0.16013e-04_rb, & & 0.16409e-04_rb,0.16232e-04_rb,0.15085e-04_rb,0.10120e-04_rb /) kao(:, 4, 4, 7) = (/ & & 0.71584e-05_rb,0.12023e-04_rb,0.14800e-04_rb,0.16568e-04_rb,0.17732e-04_rb, & & 0.18336e-04_rb,0.18317e-04_rb,0.17347e-04_rb,0.11917e-04_rb /) kao(:, 5, 4, 7) = (/ & & 0.71267e-05_rb,0.12845e-04_rb,0.16058e-04_rb,0.18162e-04_rb,0.19580e-04_rb, & & 0.20399e-04_rb,0.20543e-04_rb,0.19767e-04_rb,0.13958e-04_rb /) kao(:, 1, 5, 7) = (/ & & 0.59442e-05_rb,0.80861e-05_rb,0.93878e-05_rb,0.10066e-04_rb,0.10362e-04_rb, & & 0.10281e-04_rb,0.95734e-05_rb,0.84778e-05_rb,0.52204e-05_rb /) kao(:, 2, 5, 7) = (/ & & 0.59498e-05_rb,0.87281e-05_rb,0.10301e-04_rb,0.11210e-04_rb,0.11702e-04_rb, & & 0.11782e-04_rb,0.11315e-04_rb,0.10068e-04_rb,0.64302e-05_rb /) kao(:, 3, 5, 7) = (/ & & 0.59430e-05_rb,0.93925e-05_rb,0.11277e-04_rb,0.12419e-04_rb,0.13099e-04_rb, & & 0.13351e-04_rb,0.13104e-04_rb,0.12095e-04_rb,0.77633e-05_rb /) kao(:, 4, 5, 7) = (/ & & 0.59217e-05_rb,0.10078e-04_rb,0.12288e-04_rb,0.13686e-04_rb,0.14573e-04_rb, & & 0.14994e-04_rb,0.14908e-04_rb,0.14023e-04_rb,0.92337e-05_rb /) kao(:, 5, 5, 7) = (/ & & 0.58935e-05_rb,0.10789e-04_rb,0.13390e-04_rb,0.15066e-04_rb,0.16172e-04_rb, & & 0.16788e-04_rb,0.16832e-04_rb,0.16140e-04_rb,0.10913e-04_rb /) kao(:, 1, 6, 7) = (/ & & 0.49077e-05_rb,0.66672e-05_rb,0.76412e-05_rb,0.81181e-05_rb,0.82831e-05_rb, & & 0.81137e-05_rb,0.74381e-05_rb,0.64600e-05_rb,0.38540e-05_rb /) kao(:, 2, 6, 7) = (/ & & 0.49136e-05_rb,0.72093e-05_rb,0.84100e-05_rb,0.90761e-05_rb,0.94026e-05_rb, & & 0.93849e-05_rb,0.88761e-05_rb,0.77852e-05_rb,0.48097e-05_rb /) kao(:, 3, 6, 7) = (/ & & 0.49088e-05_rb,0.77732e-05_rb,0.92304e-05_rb,0.10089e-04_rb,0.10581e-04_rb, & & 0.10707e-04_rb,0.10412e-04_rb,0.94217e-05_rb,0.58741e-05_rb /) kao(:, 4, 6, 7) = (/ & & 0.48919e-05_rb,0.83551e-05_rb,0.10086e-04_rb,0.11166e-04_rb,0.11831e-04_rb, & & 0.12095e-04_rb,0.11941e-04_rb,0.11106e-04_rb,0.70559e-05_rb /) kao(:, 5, 6, 7) = (/ & & 0.48652e-05_rb,0.89412e-05_rb,0.10983e-04_rb,0.12289e-04_rb,0.13118e-04_rb, & & 0.13538e-04_rb,0.13477e-04_rb,0.12811e-04_rb,0.83378e-05_rb /) kao(:, 1, 7, 7) = (/ & & 0.40428e-05_rb,0.54588e-05_rb,0.61687e-05_rb,0.64926e-05_rb,0.65568e-05_rb, & & 0.63259e-05_rb,0.56948e-05_rb,0.49607e-05_rb,0.28237e-05_rb /) kao(:, 2, 7, 7) = (/ & & 0.40484e-05_rb,0.59019e-05_rb,0.68052e-05_rb,0.72891e-05_rb,0.74881e-05_rb, & & 0.73951e-05_rb,0.68736e-05_rb,0.59771e-05_rb,0.35700e-05_rb /) kao(:, 3, 7, 7) = (/ & & 0.40443e-05_rb,0.63719e-05_rb,0.74936e-05_rb,0.81309e-05_rb,0.84699e-05_rb, & & 0.84975e-05_rb,0.81643e-05_rb,0.72224e-05_rb,0.43995e-05_rb /) kao(:, 4, 7, 7) = (/ & & 0.40304e-05_rb,0.68636e-05_rb,0.82100e-05_rb,0.90329e-05_rb,0.95142e-05_rb, & & 0.96616e-05_rb,0.94576e-05_rb,0.86932e-05_rb,0.53385e-05_rb /) kao(:, 5, 7, 7) = (/ & & 0.40097e-05_rb,0.73587e-05_rb,0.89665e-05_rb,0.99825e-05_rb,0.10592e-04_rb, & & 0.10860e-04_rb,0.10751e-04_rb,0.10114e-04_rb,0.63905e-05_rb /) kao(:, 1, 8, 7) = (/ & & 0.33247e-05_rb,0.44437e-05_rb,0.49476e-05_rb,0.51623e-05_rb,0.51521e-05_rb, & & 0.48927e-05_rb,0.43130e-05_rb,0.36508e-05_rb,0.20433e-05_rb /) kao(:, 2, 8, 7) = (/ & & 0.33302e-05_rb,0.48035e-05_rb,0.54757e-05_rb,0.58129e-05_rb,0.59219e-05_rb, & & 0.57796e-05_rb,0.52788e-05_rb,0.45081e-05_rb,0.26233e-05_rb /) kao(:, 3, 8, 7) = (/ & & 0.33275e-05_rb,0.51944e-05_rb,0.60436e-05_rb,0.65119e-05_rb,0.67329e-05_rb, & & 0.66992e-05_rb,0.63336e-05_rb,0.54989e-05_rb,0.32839e-05_rb /) kao(:, 4, 8, 7) = (/ & & 0.33167e-05_rb,0.56042e-05_rb,0.66425e-05_rb,0.72606e-05_rb,0.75965e-05_rb, & & 0.76619e-05_rb,0.74319e-05_rb,0.66922e-05_rb,0.40228e-05_rb /) kao(:, 5, 8, 7) = (/ & & 0.33014e-05_rb,0.60212e-05_rb,0.72748e-05_rb,0.80496e-05_rb,0.84940e-05_rb, & & 0.86532e-05_rb,0.85181e-05_rb,0.78992e-05_rb,0.48672e-05_rb /) kao(:, 1, 9, 7) = (/ & & 0.27310e-05_rb,0.35992e-05_rb,0.39468e-05_rb,0.40831e-05_rb,0.40161e-05_rb, & & 0.37266e-05_rb,0.32070e-05_rb,0.27591e-05_rb,0.14628e-05_rb /) kao(:, 2, 9, 7) = (/ & & 0.27361e-05_rb,0.38904e-05_rb,0.43781e-05_rb,0.46075e-05_rb,0.46475e-05_rb, & & 0.44710e-05_rb,0.39993e-05_rb,0.33922e-05_rb,0.19203e-05_rb /) kao(:, 3, 9, 7) = (/ & & 0.27349e-05_rb,0.42103e-05_rb,0.48448e-05_rb,0.51814e-05_rb,0.53150e-05_rb, & & 0.52403e-05_rb,0.48712e-05_rb,0.41669e-05_rb,0.24268e-05_rb /) kao(:, 4, 9, 7) = (/ & & 0.27270e-05_rb,0.45504e-05_rb,0.53414e-05_rb,0.57970e-05_rb,0.60255e-05_rb, & & 0.60359e-05_rb,0.57915e-05_rb,0.51016e-05_rb,0.30070e-05_rb /) kao(:, 5, 9, 7) = (/ & & 0.27146e-05_rb,0.48994e-05_rb,0.58660e-05_rb,0.64467e-05_rb,0.67684e-05_rb, & & 0.68529e-05_rb,0.66981e-05_rb,0.61431e-05_rb,0.36677e-05_rb /) kao(:, 1,10, 7) = (/ & & 0.22419e-05_rb,0.29237e-05_rb,0.31619e-05_rb,0.32419e-05_rb,0.31445e-05_rb, & & 0.28618e-05_rb,0.23945e-05_rb,0.20454e-05_rb,0.10493e-05_rb /) kao(:, 2,10, 7) = (/ & & 0.22458e-05_rb,0.31578e-05_rb,0.35134e-05_rb,0.36703e-05_rb,0.36665e-05_rb, & & 0.34835e-05_rb,0.30593e-05_rb,0.25559e-05_rb,0.14125e-05_rb /) kao(:, 3,10, 7) = (/ & & 0.22450e-05_rb,0.34192e-05_rb,0.38967e-05_rb,0.41378e-05_rb,0.42160e-05_rb, & & 0.41184e-05_rb,0.37724e-05_rb,0.31954e-05_rb,0.18099e-05_rb /) kao(:, 4,10, 7) = (/ & & 0.22393e-05_rb,0.36988e-05_rb,0.43039e-05_rb,0.46449e-05_rb,0.48027e-05_rb, & & 0.47756e-05_rb,0.45281e-05_rb,0.39284e-05_rb,0.22652e-05_rb /) kao(:, 5,10, 7) = (/ & & 0.22295e-05_rb,0.39888e-05_rb,0.47391e-05_rb,0.51827e-05_rb,0.54135e-05_rb, & & 0.54517e-05_rb,0.52919e-05_rb,0.47894e-05_rb,0.27859e-05_rb /) kao(:, 1,11, 7) = (/ & & 0.18412e-05_rb,0.24512e-05_rb,0.26550e-05_rb,0.27210e-05_rb,0.26438e-05_rb, & & 0.24068e-05_rb,0.20134e-05_rb,0.16980e-05_rb,0.87310e-06_rb /) kao(:, 2,11, 7) = (/ & & 0.18429e-05_rb,0.26525e-05_rb,0.29507e-05_rb,0.30835e-05_rb,0.30829e-05_rb, & & 0.29354e-05_rb,0.25810e-05_rb,0.21539e-05_rb,0.11715e-05_rb /) kao(:, 3,11, 7) = (/ & & 0.18405e-05_rb,0.28725e-05_rb,0.32735e-05_rb,0.34815e-05_rb,0.35507e-05_rb, & & 0.34733e-05_rb,0.31901e-05_rb,0.26957e-05_rb,0.15018e-05_rb /) kao(:, 4,11, 7) = (/ & & 0.18348e-05_rb,0.31060e-05_rb,0.36191e-05_rb,0.39123e-05_rb,0.40426e-05_rb, & & 0.40206e-05_rb,0.38184e-05_rb,0.33125e-05_rb,0.18804e-05_rb /) kao(:, 5,11, 7) = (/ & & 0.18263e-05_rb,0.33539e-05_rb,0.39862e-05_rb,0.43590e-05_rb,0.45516e-05_rb, & & 0.45841e-05_rb,0.44525e-05_rb,0.40371e-05_rb,0.23130e-05_rb /) kao(:, 1,12, 7) = (/ & & 0.15111e-05_rb,0.20512e-05_rb,0.22220e-05_rb,0.22783e-05_rb,0.22181e-05_rb, & & 0.20219e-05_rb,0.16992e-05_rb,0.14085e-05_rb,0.72438e-06_rb /) kao(:, 2,12, 7) = (/ & & 0.15111e-05_rb,0.22209e-05_rb,0.24719e-05_rb,0.25841e-05_rb,0.25877e-05_rb, & & 0.24700e-05_rb,0.21742e-05_rb,0.18087e-05_rb,0.96963e-06_rb /) kao(:, 3,12, 7) = (/ & & 0.15082e-05_rb,0.24051e-05_rb,0.27419e-05_rb,0.29223e-05_rb,0.29832e-05_rb, & & 0.29201e-05_rb,0.26833e-05_rb,0.22609e-05_rb,0.12444e-05_rb /) kao(:, 4,12, 7) = (/ & & 0.15029e-05_rb,0.26018e-05_rb,0.30364e-05_rb,0.32843e-05_rb,0.33933e-05_rb, & & 0.33730e-05_rb,0.32057e-05_rb,0.27875e-05_rb,0.15571e-05_rb /) kao(:, 5,12, 7) = (/ & & 0.14954e-05_rb,0.28127e-05_rb,0.33443e-05_rb,0.36551e-05_rb,0.38145e-05_rb, & & 0.38425e-05_rb,0.37317e-05_rb,0.33866e-05_rb,0.19133e-05_rb /) kao(:, 1,13, 7) = (/ & & 0.12390e-05_rb,0.17127e-05_rb,0.18553e-05_rb,0.19025e-05_rb,0.18568e-05_rb, & & 0.16968e-05_rb,0.14297e-05_rb,0.11813e-05_rb,0.59950e-06_rb /) kao(:, 2,13, 7) = (/ & & 0.12381e-05_rb,0.18537e-05_rb,0.20641e-05_rb,0.21603e-05_rb,0.21689e-05_rb, & & 0.20712e-05_rb,0.18216e-05_rb,0.15132e-05_rb,0.80096e-06_rb /) kao(:, 3,13, 7) = (/ & & 0.12352e-05_rb,0.20080e-05_rb,0.22929e-05_rb,0.24467e-05_rb,0.24992e-05_rb, & & 0.24434e-05_rb,0.22447e-05_rb,0.18839e-05_rb,0.10290e-05_rb /) kao(:, 4,13, 7) = (/ & & 0.12307e-05_rb,0.21754e-05_rb,0.25409e-05_rb,0.27489e-05_rb,0.28366e-05_rb, & & 0.28171e-05_rb,0.26776e-05_rb,0.23303e-05_rb,0.12853e-05_rb /) kao(:, 5,13, 7) = (/ & & 0.12246e-05_rb,0.23532e-05_rb,0.27977e-05_rb,0.30556e-05_rb,0.31857e-05_rb, & & 0.32077e-05_rb,0.31127e-05_rb,0.28260e-05_rb,0.15788e-05_rb /) kao(:, 1, 1, 8) = (/ & & 0.43566e-04_rb,0.45402e-04_rb,0.48829e-04_rb,0.50194e-04_rb,0.49978e-04_rb, & & 0.48581e-04_rb,0.45902e-04_rb,0.40781e-04_rb,0.34170e-04_rb /) kao(:, 2, 1, 8) = (/ & & 0.43974e-04_rb,0.47415e-04_rb,0.52012e-04_rb,0.54325e-04_rb,0.54921e-04_rb, & & 0.53975e-04_rb,0.51279e-04_rb,0.46650e-04_rb,0.40945e-04_rb /) kao(:, 3, 1, 8) = (/ & & 0.44333e-04_rb,0.49545e-04_rb,0.55453e-04_rb,0.58909e-04_rb,0.60094e-04_rb, & & 0.59376e-04_rb,0.56940e-04_rb,0.52843e-04_rb,0.48266e-04_rb /) kao(:, 4, 1, 8) = (/ & & 0.44647e-04_rb,0.51771e-04_rb,0.59155e-04_rb,0.63607e-04_rb,0.65306e-04_rb, & & 0.64935e-04_rb,0.62961e-04_rb,0.59262e-04_rb,0.55812e-04_rb /) kao(:, 5, 1, 8) = (/ & & 0.44938e-04_rb,0.54202e-04_rb,0.63063e-04_rb,0.68229e-04_rb,0.70615e-04_rb, & & 0.70683e-04_rb,0.69315e-04_rb,0.65992e-04_rb,0.63855e-04_rb /) kao(:, 1, 2, 8) = (/ & & 0.37849e-04_rb,0.40606e-04_rb,0.43836e-04_rb,0.45171e-04_rb,0.45318e-04_rb, & & 0.44251e-04_rb,0.41853e-04_rb,0.37247e-04_rb,0.29303e-04_rb /) kao(:, 2, 2, 8) = (/ & & 0.38202e-04_rb,0.42545e-04_rb,0.46901e-04_rb,0.49156e-04_rb,0.50002e-04_rb, & & 0.49256e-04_rb,0.46845e-04_rb,0.42755e-04_rb,0.35187e-04_rb /) kao(:, 3, 2, 8) = (/ & & 0.38525e-04_rb,0.44570e-04_rb,0.50219e-04_rb,0.53465e-04_rb,0.54833e-04_rb, & & 0.54348e-04_rb,0.52176e-04_rb,0.48578e-04_rb,0.41697e-04_rb /) kao(:, 4, 2, 8) = (/ & & 0.38828e-04_rb,0.46787e-04_rb,0.53767e-04_rb,0.57818e-04_rb,0.59705e-04_rb, & & 0.59611e-04_rb,0.57787e-04_rb,0.54523e-04_rb,0.48350e-04_rb /) kao(:, 5, 2, 8) = (/ & & 0.39076e-04_rb,0.49105e-04_rb,0.57380e-04_rb,0.62144e-04_rb,0.64743e-04_rb, & & 0.65049e-04_rb,0.63700e-04_rb,0.60747e-04_rb,0.55348e-04_rb /) kao(:, 1, 3, 8) = (/ & & 0.32392e-04_rb,0.35504e-04_rb,0.38232e-04_rb,0.39483e-04_rb,0.39809e-04_rb, & & 0.39031e-04_rb,0.36901e-04_rb,0.32585e-04_rb,0.23735e-04_rb /) kao(:, 2, 3, 8) = (/ & & 0.32715e-04_rb,0.37303e-04_rb,0.41039e-04_rb,0.43202e-04_rb,0.44102e-04_rb, & & 0.43582e-04_rb,0.41484e-04_rb,0.37593e-04_rb,0.28689e-04_rb /) kao(:, 3, 3, 8) = (/ & & 0.33011e-04_rb,0.39216e-04_rb,0.44127e-04_rb,0.47180e-04_rb,0.48515e-04_rb, & & 0.48269e-04_rb,0.46352e-04_rb,0.42866e-04_rb,0.34062e-04_rb /) kao(:, 4, 3, 8) = (/ & & 0.33271e-04_rb,0.41283e-04_rb,0.47451e-04_rb,0.51158e-04_rb,0.53031e-04_rb, & & 0.53191e-04_rb,0.51599e-04_rb,0.48489e-04_rb,0.40122e-04_rb /) kao(:, 5, 3, 8) = (/ & & 0.33495e-04_rb,0.43439e-04_rb,0.50779e-04_rb,0.55143e-04_rb,0.57687e-04_rb, & & 0.58208e-04_rb,0.56935e-04_rb,0.54138e-04_rb,0.46109e-04_rb /) kao(:, 1, 4, 8) = (/ & & 0.27415e-04_rb,0.30543e-04_rb,0.32764e-04_rb,0.33940e-04_rb,0.34340e-04_rb, & & 0.33775e-04_rb,0.31812e-04_rb,0.27722e-04_rb,0.18770e-04_rb /) kao(:, 2, 4, 8) = (/ & & 0.27715e-04_rb,0.32169e-04_rb,0.35304e-04_rb,0.37332e-04_rb,0.38224e-04_rb, & & 0.37868e-04_rb,0.35986e-04_rb,0.32265e-04_rb,0.22928e-04_rb /) kao(:, 3, 4, 8) = (/ & & 0.27982e-04_rb,0.33932e-04_rb,0.38141e-04_rb,0.40925e-04_rb,0.42223e-04_rb, & & 0.42122e-04_rb,0.40409e-04_rb,0.37026e-04_rb,0.27474e-04_rb /) kao(:, 4, 4, 8) = (/ & & 0.28215e-04_rb,0.35808e-04_rb,0.41184e-04_rb,0.44532e-04_rb,0.46320e-04_rb, & & 0.46554e-04_rb,0.45091e-04_rb,0.41998e-04_rb,0.32462e-04_rb /) kao(:, 5, 4, 8) = (/ & & 0.28437e-04_rb,0.37809e-04_rb,0.44202e-04_rb,0.48199e-04_rb,0.50577e-04_rb, & & 0.51211e-04_rb,0.50186e-04_rb,0.47427e-04_rb,0.38088e-04_rb /) kao(:, 1, 5, 8) = (/ & & 0.23010e-04_rb,0.25978e-04_rb,0.27838e-04_rb,0.28899e-04_rb,0.29286e-04_rb, & & 0.28721e-04_rb,0.26945e-04_rb,0.23196e-04_rb,0.14687e-04_rb /) kao(:, 2, 5, 8) = (/ & & 0.23283e-04_rb,0.27434e-04_rb,0.30115e-04_rb,0.31931e-04_rb,0.32743e-04_rb, & & 0.32398e-04_rb,0.30674e-04_rb,0.27269e-04_rb,0.18140e-04_rb /) kao(:, 3, 5, 8) = (/ & & 0.23522e-04_rb,0.29002e-04_rb,0.32686e-04_rb,0.35125e-04_rb,0.36325e-04_rb, & & 0.36232e-04_rb,0.34626e-04_rb,0.31511e-04_rb,0.21987e-04_rb /) kao(:, 4, 5, 8) = (/ & & 0.23738e-04_rb,0.30687e-04_rb,0.35404e-04_rb,0.38366e-04_rb,0.40013e-04_rb, & & 0.40198e-04_rb,0.38830e-04_rb,0.35973e-04_rb,0.26236e-04_rb /) kao(:, 5, 5, 8) = (/ & & 0.23936e-04_rb,0.32534e-04_rb,0.38093e-04_rb,0.41748e-04_rb,0.43875e-04_rb, & & 0.44440e-04_rb,0.43519e-04_rb,0.40954e-04_rb,0.31086e-04_rb /) kao(:, 1, 6, 8) = (/ & & 0.19172e-04_rb,0.21867e-04_rb,0.23409e-04_rb,0.24321e-04_rb,0.24529e-04_rb, & & 0.23927e-04_rb,0.22333e-04_rb,0.18955e-04_rb,0.11218e-04_rb /) kao(:, 2, 6, 8) = (/ & & 0.19419e-04_rb,0.23150e-04_rb,0.25412e-04_rb,0.26974e-04_rb,0.27574e-04_rb, & & 0.27129e-04_rb,0.25625e-04_rb,0.22590e-04_rb,0.14082e-04_rb /) kao(:, 3, 6, 8) = (/ & & 0.19636e-04_rb,0.24533e-04_rb,0.27708e-04_rb,0.29785e-04_rb,0.30733e-04_rb, & & 0.30517e-04_rb,0.29114e-04_rb,0.26329e-04_rb,0.17293e-04_rb /) kao(:, 4, 6, 8) = (/ & & 0.19836e-04_rb,0.26054e-04_rb,0.30093e-04_rb,0.32660e-04_rb,0.34002e-04_rb, & & 0.34049e-04_rb,0.32819e-04_rb,0.30271e-04_rb,0.20869e-04_rb /) kao(:, 5, 6, 8) = (/ & & 0.20002e-04_rb,0.27734e-04_rb,0.32461e-04_rb,0.35638e-04_rb,0.37355e-04_rb, & & 0.37686e-04_rb,0.36788e-04_rb,0.34519e-04_rb,0.24769e-04_rb /) kao(:, 1, 7, 8) = (/ & & 0.15886e-04_rb,0.18280e-04_rb,0.19557e-04_rb,0.20235e-04_rb,0.20297e-04_rb, & & 0.19642e-04_rb,0.18202e-04_rb,0.15130e-04_rb,0.84335e-05_rb /) kao(:, 2, 7, 8) = (/ & & 0.16105e-04_rb,0.19408e-04_rb,0.21322e-04_rb,0.22532e-04_rb,0.22888e-04_rb, & & 0.22409e-04_rb,0.21064e-04_rb,0.18396e-04_rb,0.10766e-04_rb /) kao(:, 3, 7, 8) = (/ & & 0.16304e-04_rb,0.20629e-04_rb,0.23329e-04_rb,0.24999e-04_rb,0.25612e-04_rb, & & 0.25350e-04_rb,0.24115e-04_rb,0.21685e-04_rb,0.13408e-04_rb /) kao(:, 4, 7, 8) = (/ & & 0.16482e-04_rb,0.21985e-04_rb,0.25409e-04_rb,0.27506e-04_rb,0.28475e-04_rb, & & 0.28447e-04_rb,0.27347e-04_rb,0.25116e-04_rb,0.16377e-04_rb /) kao(:, 5, 7, 8) = (/ & & 0.16621e-04_rb,0.23483e-04_rb,0.27507e-04_rb,0.30111e-04_rb,0.31449e-04_rb, & & 0.31651e-04_rb,0.30823e-04_rb,0.28853e-04_rb,0.19647e-04_rb /) kao(:, 1, 8, 8) = (/ & & 0.13104e-04_rb,0.15202e-04_rb,0.16227e-04_rb,0.16675e-04_rb,0.16618e-04_rb, & & 0.15949e-04_rb,0.14642e-04_rb,0.11862e-04_rb,0.62741e-05_rb /) kao(:, 2, 8, 8) = (/ & & 0.13296e-04_rb,0.16183e-04_rb,0.17762e-04_rb,0.18645e-04_rb,0.18799e-04_rb, & & 0.18302e-04_rb,0.17108e-04_rb,0.14749e-04_rb,0.81431e-05_rb /) kao(:, 3, 8, 8) = (/ & & 0.13475e-04_rb,0.17250e-04_rb,0.19501e-04_rb,0.20748e-04_rb,0.21144e-04_rb, & & 0.20825e-04_rb,0.19726e-04_rb,0.17623e-04_rb,0.10291e-04_rb /) kao(:, 4, 8, 8) = (/ & & 0.13631e-04_rb,0.18462e-04_rb,0.21319e-04_rb,0.22916e-04_rb,0.23622e-04_rb, & & 0.23509e-04_rb,0.22509e-04_rb,0.20604e-04_rb,0.12727e-04_rb /) kao(:, 5, 8, 8) = (/ & & 0.13752e-04_rb,0.19773e-04_rb,0.23162e-04_rb,0.25182e-04_rb,0.26210e-04_rb, & & 0.26298e-04_rb,0.25526e-04_rb,0.23837e-04_rb,0.15433e-04_rb /) kao(:, 1, 9, 8) = (/ & & 0.10771e-04_rb,0.12580e-04_rb,0.13349e-04_rb,0.13617e-04_rb,0.13459e-04_rb, & & 0.12816e-04_rb,0.11635e-04_rb,0.90636e-05_rb,0.45849e-05_rb /) kao(:, 2, 9, 8) = (/ & & 0.10937e-04_rb,0.13431e-04_rb,0.14667e-04_rb,0.15270e-04_rb,0.15289e-04_rb, & & 0.14786e-04_rb,0.13720e-04_rb,0.11614e-04_rb,0.60707e-05_rb /) kao(:, 3, 9, 8) = (/ & & 0.11095e-04_rb,0.14367e-04_rb,0.16153e-04_rb,0.17055e-04_rb,0.17287e-04_rb, & & 0.16925e-04_rb,0.15948e-04_rb,0.14098e-04_rb,0.78037e-05_rb /) kao(:, 4, 9, 8) = (/ & & 0.11230e-04_rb,0.15436e-04_rb,0.17715e-04_rb,0.18921e-04_rb,0.19404e-04_rb, & & 0.19208e-04_rb,0.18318e-04_rb,0.16668e-04_rb,0.97810e-05_rb /) kao(:, 5, 9, 8) = (/ & & 0.11337e-04_rb,0.16572e-04_rb,0.19310e-04_rb,0.20882e-04_rb,0.21623e-04_rb, & & 0.21621e-04_rb,0.20902e-04_rb,0.19439e-04_rb,0.11994e-04_rb /) kao(:, 1,10, 8) = (/ & & 0.88397e-05_rb,0.10407e-04_rb,0.10992e-04_rb,0.11130e-04_rb,0.10914e-04_rb, & & 0.10319e-04_rb,0.92746e-05_rb,0.69230e-05_rb,0.33878e-05_rb /) kao(:, 2,10, 8) = (/ & & 0.89820e-05_rb,0.11148e-04_rb,0.12114e-04_rb,0.12509e-04_rb,0.12455e-04_rb, & & 0.11973e-04_rb,0.11026e-04_rb,0.91303e-05_rb,0.45777e-05_rb /) kao(:, 3,10, 8) = (/ & & 0.91201e-05_rb,0.11975e-04_rb,0.13369e-04_rb,0.14032e-04_rb,0.14150e-04_rb, & & 0.13774e-04_rb,0.12899e-04_rb,0.11289e-04_rb,0.59718e-05_rb /) kao(:, 4,10, 8) = (/ & & 0.92338e-05_rb,0.12910e-04_rb,0.14708e-04_rb,0.15633e-04_rb,0.15947e-04_rb, & & 0.15711e-04_rb,0.14916e-04_rb,0.13483e-04_rb,0.75778e-05_rb /) kao(:, 5,10, 8) = (/ & & 0.93270e-05_rb,0.13899e-04_rb,0.16089e-04_rb,0.17313e-04_rb,0.17838e-04_rb, & & 0.17779e-04_rb,0.17126e-04_rb,0.15852e-04_rb,0.93849e-05_rb /) kao(:, 1,11, 8) = (/ & & 0.72957e-05_rb,0.88518e-05_rb,0.94180e-05_rb,0.95477e-05_rb,0.93627e-05_rb, & & 0.88681e-05_rb,0.79846e-05_rb,0.60665e-05_rb,0.28938e-05_rb /) kao(:, 2,11, 8) = (/ & & 0.74164e-05_rb,0.95244e-05_rb,0.10413e-04_rb,0.10760e-04_rb,0.10725e-04_rb, & & 0.10300e-04_rb,0.94914e-05_rb,0.79265e-05_rb,0.39145e-05_rb /) kao(:, 3,11, 8) = (/ & & 0.75267e-05_rb,0.10290e-04_rb,0.11516e-04_rb,0.12091e-04_rb,0.12186e-04_rb, & & 0.11866e-04_rb,0.11116e-04_rb,0.97843e-05_rb,0.51152e-05_rb /) kao(:, 4,11, 8) = (/ & & 0.76165e-05_rb,0.11127e-04_rb,0.12682e-04_rb,0.13483e-04_rb,0.13746e-04_rb, & & 0.13546e-04_rb,0.12885e-04_rb,0.11704e-04_rb,0.64876e-05_rb /) kao(:, 5,11, 8) = (/ & & 0.76866e-05_rb,0.11972e-04_rb,0.13896e-04_rb,0.14938e-04_rb,0.15405e-04_rb, & & 0.15374e-04_rb,0.14838e-04_rb,0.13790e-04_rb,0.80319e-05_rb /) kao(:, 1,12, 8) = (/ & & 0.60137e-05_rb,0.75193e-05_rb,0.80348e-05_rb,0.81538e-05_rb,0.80064e-05_rb, & & 0.75822e-05_rb,0.68354e-05_rb,0.52502e-05_rb,0.24674e-05_rb /) kao(:, 2,12, 8) = (/ & & 0.61150e-05_rb,0.81325e-05_rb,0.89089e-05_rb,0.92208e-05_rb,0.91831e-05_rb, & & 0.88171e-05_rb,0.81283e-05_rb,0.68396e-05_rb,0.33429e-05_rb /) kao(:, 3,12, 8) = (/ & & 0.62020e-05_rb,0.88113e-05_rb,0.98818e-05_rb,0.10369e-04_rb,0.10440e-04_rb, & & 0.10164e-04_rb,0.95355e-05_rb,0.84372e-05_rb,0.43683e-05_rb /) kao(:, 4,12, 8) = (/ & & 0.62729e-05_rb,0.95382e-05_rb,0.10890e-04_rb,0.11569e-04_rb,0.11793e-04_rb, & & 0.11630e-04_rb,0.11082e-04_rb,0.10108e-04_rb,0.55358e-05_rb /) kao(:, 5,12, 8) = (/ & & 0.63199e-05_rb,0.10271e-04_rb,0.11934e-04_rb,0.12838e-04_rb,0.13254e-04_rb, & & 0.13231e-04_rb,0.12796e-04_rb,0.11934e-04_rb,0.68492e-05_rb /) kao(:, 1,13, 8) = (/ & & 0.49517e-05_rb,0.63774e-05_rb,0.68261e-05_rb,0.69411e-05_rb,0.68151e-05_rb, & & 0.64513e-05_rb,0.58220e-05_rb,0.45056e-05_rb,0.20980e-05_rb /) kao(:, 2,13, 8) = (/ & & 0.50331e-05_rb,0.69207e-05_rb,0.75990e-05_rb,0.78660e-05_rb,0.78231e-05_rb, & & 0.75119e-05_rb,0.69333e-05_rb,0.58688e-05_rb,0.28426e-05_rb /) kao(:, 3,13, 8) = (/ & & 0.51036e-05_rb,0.75155e-05_rb,0.84393e-05_rb,0.88490e-05_rb,0.89047e-05_rb, & & 0.86720e-05_rb,0.81449e-05_rb,0.72410e-05_rb,0.37114e-05_rb /) kao(:, 4,13, 8) = (/ & & 0.51548e-05_rb,0.81445e-05_rb,0.93105e-05_rb,0.98793e-05_rb,0.10078e-04_rb, & & 0.99535e-05_rb,0.94951e-05_rb,0.86973e-05_rb,0.47002e-05_rb /) kao(:, 5,13, 8) = (/ & & 0.51867e-05_rb,0.87857e-05_rb,0.10211e-04_rb,0.10992e-04_rb,0.11352e-04_rb, & & 0.11351e-04_rb,0.10990e-04_rb,0.10277e-04_rb,0.58153e-05_rb /) kao(:, 1, 1, 9) = (/ & & 0.18292e-03_rb,0.16357e-03_rb,0.15341e-03_rb,0.14585e-03_rb,0.13797e-03_rb, & & 0.12826e-03_rb,0.11477e-03_rb,0.99322e-04_rb,0.99311e-04_rb /) kao(:, 2, 1, 9) = (/ & & 0.18277e-03_rb,0.16502e-03_rb,0.15805e-03_rb,0.15290e-03_rb,0.14696e-03_rb, & & 0.13850e-03_rb,0.12664e-03_rb,0.11419e-03_rb,0.11887e-03_rb /) kao(:, 3, 1, 9) = (/ & & 0.18261e-03_rb,0.16694e-03_rb,0.16322e-03_rb,0.16061e-03_rb,0.15658e-03_rb, & & 0.14997e-03_rb,0.14010e-03_rb,0.13154e-03_rb,0.14123e-03_rb /) kao(:, 4, 1, 9) = (/ & & 0.18244e-03_rb,0.16952e-03_rb,0.16897e-03_rb,0.16909e-03_rb,0.16740e-03_rb, & & 0.16268e-03_rb,0.15556e-03_rb,0.15163e-03_rb,0.16610e-03_rb /) kao(:, 5, 1, 9) = (/ & & 0.18218e-03_rb,0.17247e-03_rb,0.17521e-03_rb,0.17844e-03_rb,0.17911e-03_rb, & & 0.17696e-03_rb,0.17241e-03_rb,0.17370e-03_rb,0.19290e-03_rb /) kao(:, 1, 2, 9) = (/ & & 0.17473e-03_rb,0.15735e-03_rb,0.14910e-03_rb,0.14227e-03_rb,0.13471e-03_rb, & & 0.12515e-03_rb,0.11200e-03_rb,0.94986e-04_rb,0.89520e-04_rb /) kao(:, 2, 2, 9) = (/ & & 0.17467e-03_rb,0.15907e-03_rb,0.15401e-03_rb,0.14953e-03_rb,0.14402e-03_rb, & & 0.13581e-03_rb,0.12401e-03_rb,0.10893e-03_rb,0.10811e-03_rb /) kao(:, 3, 2, 9) = (/ & & 0.17463e-03_rb,0.16142e-03_rb,0.15942e-03_rb,0.15773e-03_rb,0.15417e-03_rb, & & 0.14769e-03_rb,0.13747e-03_rb,0.12528e-03_rb,0.12924e-03_rb /) kao(:, 4, 2, 9) = (/ & & 0.17449e-03_rb,0.16426e-03_rb,0.16549e-03_rb,0.16671e-03_rb,0.16541e-03_rb, & & 0.16085e-03_rb,0.15263e-03_rb,0.14389e-03_rb,0.15270e-03_rb /) kao(:, 5, 2, 9) = (/ & & 0.17439e-03_rb,0.16753e-03_rb,0.17238e-03_rb,0.17658e-03_rb,0.17759e-03_rb, & & 0.17537e-03_rb,0.16910e-03_rb,0.16442e-03_rb,0.17796e-03_rb /) kao(:, 1, 3, 9) = (/ & & 0.16429e-03_rb,0.14895e-03_rb,0.14201e-03_rb,0.13557e-03_rb,0.12797e-03_rb, & & 0.11829e-03_rb,0.10548e-03_rb,0.88188e-04_rb,0.77280e-04_rb /) kao(:, 2, 3, 9) = (/ & & 0.16436e-03_rb,0.15092e-03_rb,0.14708e-03_rb,0.14277e-03_rb,0.13731e-03_rb, & & 0.12899e-03_rb,0.11719e-03_rb,0.10108e-03_rb,0.94071e-04_rb /) kao(:, 3, 3, 9) = (/ & & 0.16438e-03_rb,0.15344e-03_rb,0.15259e-03_rb,0.15105e-03_rb,0.14760e-03_rb, & & 0.14078e-03_rb,0.13037e-03_rb,0.11602e-03_rb,0.11331e-03_rb /) kao(:, 4, 3, 9) = (/ & & 0.16440e-03_rb,0.15651e-03_rb,0.15877e-03_rb,0.16021e-03_rb,0.15883e-03_rb, & & 0.15394e-03_rb,0.14519e-03_rb,0.13303e-03_rb,0.13463e-03_rb /) kao(:, 5, 3, 9) = (/ & & 0.16444e-03_rb,0.16001e-03_rb,0.16595e-03_rb,0.17023e-03_rb,0.17105e-03_rb, & & 0.16855e-03_rb,0.16116e-03_rb,0.15159e-03_rb,0.15764e-03_rb /) kao(:, 1, 4, 9) = (/ & & 0.15195e-03_rb,0.13883e-03_rb,0.13294e-03_rb,0.12699e-03_rb,0.11928e-03_rb, & & 0.10948e-03_rb,0.97355e-04_rb,0.80985e-04_rb,0.65303e-04_rb /) kao(:, 2, 4, 9) = (/ & & 0.15212e-03_rb,0.14097e-03_rb,0.13802e-03_rb,0.13404e-03_rb,0.12836e-03_rb, & & 0.11996e-03_rb,0.10855e-03_rb,0.92884e-04_rb,0.80285e-04_rb /) kao(:, 3, 4, 9) = (/ & & 0.15229e-03_rb,0.14364e-03_rb,0.14356e-03_rb,0.14222e-03_rb,0.13844e-03_rb, & & 0.13147e-03_rb,0.12124e-03_rb,0.10661e-03_rb,0.97473e-04_rb /) kao(:, 4, 4, 9) = (/ & & 0.15247e-03_rb,0.14694e-03_rb,0.14987e-03_rb,0.15132e-03_rb,0.14947e-03_rb, & & 0.14428e-03_rb,0.13562e-03_rb,0.12218e-03_rb,0.11647e-03_rb /) kao(:, 5, 4, 9) = (/ & & 0.15268e-03_rb,0.15064e-03_rb,0.15719e-03_rb,0.16126e-03_rb,0.16162e-03_rb, & & 0.15869e-03_rb,0.15101e-03_rb,0.13904e-03_rb,0.13733e-03_rb /) kao(:, 1, 5, 9) = (/ & & 0.13846e-03_rb,0.12761e-03_rb,0.12265e-03_rb,0.11713e-03_rb,0.10945e-03_rb, & & 0.10011e-03_rb,0.88713e-04_rb,0.73647e-04_rb,0.54834e-04_rb /) kao(:, 2, 5, 9) = (/ & & 0.13872e-03_rb,0.12987e-03_rb,0.12766e-03_rb,0.12392e-03_rb,0.11814e-03_rb, & & 0.11013e-03_rb,0.99375e-04_rb,0.84759e-04_rb,0.68007e-04_rb /) kao(:, 3, 5, 9) = (/ & & 0.13899e-03_rb,0.13272e-03_rb,0.13319e-03_rb,0.13187e-03_rb,0.12795e-03_rb, & & 0.12108e-03_rb,0.11145e-03_rb,0.97499e-04_rb,0.83096e-04_rb /) kao(:, 4, 5, 9) = (/ & & 0.13930e-03_rb,0.13617e-03_rb,0.13955e-03_rb,0.14081e-03_rb,0.13862e-03_rb, & & 0.13340e-03_rb,0.12522e-03_rb,0.11183e-03_rb,0.99891e-04_rb /) kao(:, 5, 5, 9) = (/ & & 0.13961e-03_rb,0.13997e-03_rb,0.14692e-03_rb,0.15049e-03_rb,0.15045e-03_rb, & & 0.14736e-03_rb,0.14024e-03_rb,0.12733e-03_rb,0.11865e-03_rb /) kao(:, 1, 6, 9) = (/ & & 0.12419e-03_rb,0.11551e-03_rb,0.11132e-03_rb,0.10604e-03_rb,0.98912e-04_rb, & & 0.90174e-04_rb,0.79553e-04_rb,0.65781e-04_rb,0.45228e-04_rb /) kao(:, 2, 6, 9) = (/ & & 0.12454e-03_rb,0.11786e-03_rb,0.11619e-03_rb,0.11259e-03_rb,0.10704e-03_rb, & & 0.99552e-04_rb,0.89546e-04_rb,0.76061e-04_rb,0.56748e-04_rb /) kao(:, 3, 6, 9) = (/ & & 0.12490e-03_rb,0.12081e-03_rb,0.12161e-03_rb,0.12024e-03_rb,0.11632e-03_rb, & & 0.10988e-03_rb,0.10081e-03_rb,0.87950e-04_rb,0.69901e-04_rb /) kao(:, 4, 6, 9) = (/ & & 0.12528e-03_rb,0.12425e-03_rb,0.12796e-03_rb,0.12887e-03_rb,0.12649e-03_rb, & & 0.12150e-03_rb,0.11381e-03_rb,0.10130e-03_rb,0.84575e-04_rb /) kao(:, 5, 6, 9) = (/ & & 0.12568e-03_rb,0.12811e-03_rb,0.13519e-03_rb,0.13816e-03_rb,0.13780e-03_rb, & & 0.13476e-03_rb,0.12819e-03_rb,0.11553e-03_rb,0.10091e-03_rb /) kao(:, 1, 7, 9) = (/ & & 0.10978e-03_rb,0.10308e-03_rb,0.99508e-04_rb,0.94571e-04_rb,0.88120e-04_rb, & & 0.80226e-04_rb,0.70492e-04_rb,0.57993e-04_rb,0.36699e-04_rb /) kao(:, 2, 7, 9) = (/ & & 0.11018e-03_rb,0.10544e-03_rb,0.10415e-03_rb,0.10080e-03_rb,0.95769e-04_rb, & & 0.88865e-04_rb,0.79698e-04_rb,0.67450e-04_rb,0.46683e-04_rb /) kao(:, 3, 7, 9) = (/ & & 0.11058e-03_rb,0.10837e-03_rb,0.10936e-03_rb,0.10807e-03_rb,0.10453e-03_rb, & & 0.98497e-04_rb,0.90104e-04_rb,0.78443e-04_rb,0.58212e-04_rb /) kao(:, 4, 7, 9) = (/ & & 0.11104e-03_rb,0.11179e-03_rb,0.11551e-03_rb,0.11629e-03_rb,0.11409e-03_rb, & & 0.10934e-03_rb,0.10217e-03_rb,0.90913e-04_rb,0.71131e-04_rb /) kao(:, 5, 7, 9) = (/ & & 0.11149e-03_rb,0.11560e-03_rb,0.12257e-03_rb,0.12521e-03_rb,0.12472e-03_rb, & & 0.12180e-03_rb,0.11572e-03_rb,0.10421e-03_rb,0.85542e-04_rb /) kao(:, 1, 8, 9) = (/ & & 0.95759e-04_rb,0.90773e-04_rb,0.87806e-04_rb,0.83290e-04_rb,0.77515e-04_rb, & & 0.70528e-04_rb,0.61795e-04_rb,0.50465e-04_rb,0.29380e-04_rb /) kao(:, 2, 8, 9) = (/ & & 0.96189e-04_rb,0.93120e-04_rb,0.92132e-04_rb,0.89103e-04_rb,0.84653e-04_rb, & & 0.78456e-04_rb,0.70159e-04_rb,0.59177e-04_rb,0.37867e-04_rb /) kao(:, 3, 8, 9) = (/ & & 0.96665e-04_rb,0.96018e-04_rb,0.97008e-04_rb,0.95975e-04_rb,0.92760e-04_rb, & & 0.87379e-04_rb,0.79687e-04_rb,0.69248e-04_rb,0.47855e-04_rb /) kao(:, 4, 8, 9) = (/ & & 0.97168e-04_rb,0.99322e-04_rb,0.10289e-03_rb,0.10373e-03_rb,0.10169e-03_rb, & & 0.97397e-04_rb,0.90796e-04_rb,0.80805e-04_rb,0.59240e-04_rb /) kao(:, 5, 8, 9) = (/ & & 0.97641e-04_rb,0.10302e-03_rb,0.10967e-03_rb,0.11218e-03_rb,0.11166e-03_rb, & & 0.10896e-03_rb,0.10343e-03_rb,0.93210e-04_rb,0.71998e-04_rb /) kao(:, 1, 9, 9) = (/ & & 0.82482e-04_rb,0.78941e-04_rb,0.76398e-04_rb,0.72429e-04_rb,0.67369e-04_rb, & & 0.61188e-04_rb,0.53486e-04_rb,0.43219e-04_rb,0.23144e-04_rb /) kao(:, 2, 9, 9) = (/ & & 0.82941e-04_rb,0.81194e-04_rb,0.80391e-04_rb,0.77783e-04_rb,0.73924e-04_rb, & & 0.68383e-04_rb,0.61055e-04_rb,0.51145e-04_rb,0.30235e-04_rb /) kao(:, 3, 9, 9) = (/ & & 0.83462e-04_rb,0.83998e-04_rb,0.84977e-04_rb,0.84161e-04_rb,0.81323e-04_rb, & & 0.76538e-04_rb,0.69739e-04_rb,0.60350e-04_rb,0.38714e-04_rb /) kao(:, 4, 9, 9) = (/ & & 0.83976e-04_rb,0.87153e-04_rb,0.90583e-04_rb,0.91413e-04_rb,0.89589e-04_rb, & & 0.85741e-04_rb,0.79900e-04_rb,0.70947e-04_rb,0.48553e-04_rb /) kao(:, 5, 9, 9) = (/ & & 0.84461e-04_rb,0.90734e-04_rb,0.96938e-04_rb,0.99296e-04_rb,0.98864e-04_rb, & & 0.96399e-04_rb,0.91511e-04_rb,0.82490e-04_rb,0.59777e-04_rb /) kao(:, 1,10, 9) = (/ & & 0.70371e-04_rb,0.68110e-04_rb,0.65986e-04_rb,0.62636e-04_rb,0.58303e-04_rb, & & 0.52961e-04_rb,0.46122e-04_rb,0.37036e-04_rb,0.18341e-04_rb /) kao(:, 2,10, 9) = (/ & & 0.70853e-04_rb,0.70288e-04_rb,0.69669e-04_rb,0.67543e-04_rb,0.64271e-04_rb, & & 0.59496e-04_rb,0.53052e-04_rb,0.44224e-04_rb,0.24306e-04_rb /) kao(:, 3,10, 9) = (/ & & 0.71373e-04_rb,0.72956e-04_rb,0.74034e-04_rb,0.73423e-04_rb,0.71076e-04_rb, & & 0.66934e-04_rb,0.61048e-04_rb,0.52623e-04_rb,0.31537e-04_rb /) kao(:, 4,10, 9) = (/ & & 0.71862e-04_rb,0.75946e-04_rb,0.79283e-04_rb,0.80149e-04_rb,0.78712e-04_rb, & & 0.75412e-04_rb,0.70399e-04_rb,0.62323e-04_rb,0.40041e-04_rb /) kao(:, 5,10, 9) = (/ & & 0.72376e-04_rb,0.79405e-04_rb,0.85220e-04_rb,0.87544e-04_rb,0.87332e-04_rb, & & 0.85268e-04_rb,0.81104e-04_rb,0.73085e-04_rb,0.49845e-04_rb /) kao(:, 1,11, 9) = (/ & & 0.59776e-04_rb,0.59155e-04_rb,0.57996e-04_rb,0.55642e-04_rb,0.52323e-04_rb, & & 0.47930e-04_rb,0.42036e-04_rb,0.34179e-04_rb,0.16514e-04_rb /) kao(:, 2,11, 9) = (/ & & 0.60275e-04_rb,0.61436e-04_rb,0.61654e-04_rb,0.60490e-04_rb,0.58055e-04_rb, & & 0.54242e-04_rb,0.48750e-04_rb,0.41144e-04_rb,0.21987e-04_rb /) kao(:, 3,11, 9) = (/ & & 0.60746e-04_rb,0.64075e-04_rb,0.66078e-04_rb,0.66233e-04_rb,0.64629e-04_rb, & & 0.61455e-04_rb,0.56611e-04_rb,0.49290e-04_rb,0.28648e-04_rb /) kao(:, 4,11, 9) = (/ & & 0.61244e-04_rb,0.67066e-04_rb,0.71217e-04_rb,0.72696e-04_rb,0.72050e-04_rb, & & 0.69816e-04_rb,0.65797e-04_rb,0.58590e-04_rb,0.36515e-04_rb /) kao(:, 5,11, 9) = (/ & & 0.61769e-04_rb,0.70693e-04_rb,0.76979e-04_rb,0.79872e-04_rb,0.80561e-04_rb, & & 0.79478e-04_rb,0.76089e-04_rb,0.68898e-04_rb,0.45628e-04_rb /) kao(:, 1,12, 9) = (/ & & 0.50518e-04_rb,0.51187e-04_rb,0.50822e-04_rb,0.49284e-04_rb,0.46769e-04_rb, & & 0.43097e-04_rb,0.38110e-04_rb,0.31379e-04_rb,0.14783e-04_rb /) kao(:, 2,12, 9) = (/ & & 0.50964e-04_rb,0.53463e-04_rb,0.54457e-04_rb,0.54020e-04_rb,0.52266e-04_rb, & & 0.49174e-04_rb,0.44595e-04_rb,0.38042e-04_rb,0.19796e-04_rb /) kao(:, 3,12, 9) = (/ & & 0.51421e-04_rb,0.56033e-04_rb,0.58762e-04_rb,0.59481e-04_rb,0.58578e-04_rb, & & 0.56207e-04_rb,0.52260e-04_rb,0.45820e-04_rb,0.25919e-04_rb /) kao(:, 4,12, 9) = (/ & & 0.51920e-04_rb,0.59121e-04_rb,0.63731e-04_rb,0.65674e-04_rb,0.65806e-04_rb, & & 0.64464e-04_rb,0.61120e-04_rb,0.54677e-04_rb,0.33164e-04_rb /) kao(:, 5,12, 9) = (/ & & 0.52396e-04_rb,0.62780e-04_rb,0.69274e-04_rb,0.72637e-04_rb,0.74145e-04_rb, & & 0.73831e-04_rb,0.71039e-04_rb,0.64514e-04_rb,0.41597e-04_rb /) kao(:, 1,13, 9) = (/ & & 0.42486e-04_rb,0.44174e-04_rb,0.44463e-04_rb,0.43555e-04_rb,0.41568e-04_rb, & & 0.38563e-04_rb,0.34384e-04_rb,0.28625e-04_rb,0.13171e-04_rb /) kao(:, 2,13, 9) = (/ & & 0.42904e-04_rb,0.46376e-04_rb,0.47979e-04_rb,0.48065e-04_rb,0.46867e-04_rb, & & 0.44391e-04_rb,0.40615e-04_rb,0.34938e-04_rb,0.17746e-04_rb /) kao(:, 3,13, 9) = (/ & & 0.43349e-04_rb,0.48965e-04_rb,0.52137e-04_rb,0.53262e-04_rb,0.52962e-04_rb, & & 0.51246e-04_rb,0.47996e-04_rb,0.42282e-04_rb,0.23342e-04_rb /) kao(:, 4,13, 9) = (/ & & 0.43790e-04_rb,0.52076e-04_rb,0.56889e-04_rb,0.59186e-04_rb,0.60002e-04_rb, & & 0.59254e-04_rb,0.56460e-04_rb,0.50705e-04_rb,0.29999e-04_rb /) kao(:, 5,13, 9) = (/ & & 0.44254e-04_rb,0.55629e-04_rb,0.62209e-04_rb,0.65993e-04_rb,0.68105e-04_rb, & & 0.68270e-04_rb,0.65941e-04_rb,0.60145e-04_rb,0.37728e-04_rb /) kao(:, 1, 1,10) = (/ & & 0.42864e-03_rb,0.37538e-03_rb,0.32907e-03_rb,0.29701e-03_rb,0.26399e-03_rb, & & 0.23587e-03_rb,0.21519e-03_rb,0.20736e-03_rb,0.23690e-03_rb /) kao(:, 2, 1,10) = (/ & & 0.42770e-03_rb,0.37463e-03_rb,0.33468e-03_rb,0.30443e-03_rb,0.27635e-03_rb, & & 0.25424e-03_rb,0.24068e-03_rb,0.24289e-03_rb,0.27885e-03_rb /) kao(:, 3, 1,10) = (/ & & 0.42742e-03_rb,0.37444e-03_rb,0.34109e-03_rb,0.31378e-03_rb,0.29265e-03_rb, & & 0.27618e-03_rb,0.26729e-03_rb,0.27967e-03_rb,0.32090e-03_rb /) kao(:, 4, 1,10) = (/ & & 0.42756e-03_rb,0.37461e-03_rb,0.34714e-03_rb,0.32647e-03_rb,0.30721e-03_rb, & & 0.29888e-03_rb,0.29503e-03_rb,0.31853e-03_rb,0.36629e-03_rb /) kao(:, 5, 1,10) = (/ & & 0.42817e-03_rb,0.37676e-03_rb,0.35506e-03_rb,0.34027e-03_rb,0.32593e-03_rb, & & 0.32117e-03_rb,0.33159e-03_rb,0.36650e-03_rb,0.42307e-03_rb /) kao(:, 1, 2,10) = (/ & & 0.44647e-03_rb,0.39099e-03_rb,0.34399e-03_rb,0.31315e-03_rb,0.27681e-03_rb, & & 0.24757e-03_rb,0.21977e-03_rb,0.20260e-03_rb,0.22465e-03_rb /) kao(:, 2, 2,10) = (/ & & 0.44675e-03_rb,0.39126e-03_rb,0.35094e-03_rb,0.32069e-03_rb,0.29009e-03_rb, & & 0.26696e-03_rb,0.24338e-03_rb,0.23431e-03_rb,0.26448e-03_rb /) kao(:, 3, 2,10) = (/ & & 0.44728e-03_rb,0.39176e-03_rb,0.35848e-03_rb,0.33002e-03_rb,0.30752e-03_rb, & & 0.28763e-03_rb,0.26835e-03_rb,0.26923e-03_rb,0.30805e-03_rb /) kao(:, 4, 2,10) = (/ & & 0.44805e-03_rb,0.39321e-03_rb,0.36547e-03_rb,0.34473e-03_rb,0.32431e-03_rb, & & 0.30833e-03_rb,0.29659e-03_rb,0.31021e-03_rb,0.35789e-03_rb /) kao(:, 5, 2,10) = (/ & & 0.44833e-03_rb,0.39641e-03_rb,0.37373e-03_rb,0.35955e-03_rb,0.34286e-03_rb, & & 0.33059e-03_rb,0.33253e-03_rb,0.36056e-03_rb,0.41785e-03_rb /) kao(:, 1, 3,10) = (/ & & 0.45575e-03_rb,0.39903e-03_rb,0.35239e-03_rb,0.32061e-03_rb,0.28610e-03_rb, & & 0.25358e-03_rb,0.22160e-03_rb,0.19044e-03_rb,0.19754e-03_rb /) kao(:, 2, 3,10) = (/ & & 0.45658e-03_rb,0.39983e-03_rb,0.35980e-03_rb,0.32984e-03_rb,0.29898e-03_rb, & & 0.27505e-03_rb,0.24328e-03_rb,0.21905e-03_rb,0.23515e-03_rb /) kao(:, 3, 3,10) = (/ & & 0.45737e-03_rb,0.40126e-03_rb,0.36866e-03_rb,0.34025e-03_rb,0.31808e-03_rb, & & 0.29648e-03_rb,0.26565e-03_rb,0.25100e-03_rb,0.27824e-03_rb /) kao(:, 4, 3,10) = (/ & & 0.45822e-03_rb,0.40344e-03_rb,0.37727e-03_rb,0.35639e-03_rb,0.33753e-03_rb, & & 0.31544e-03_rb,0.29107e-03_rb,0.29011e-03_rb,0.33040e-03_rb /) kao(:, 5, 3,10) = (/ & & 0.45803e-03_rb,0.40724e-03_rb,0.38685e-03_rb,0.37303e-03_rb,0.35804e-03_rb, & & 0.33477e-03_rb,0.32542e-03_rb,0.34063e-03_rb,0.39188e-03_rb /) kao(:, 1, 4,10) = (/ & & 0.45696e-03_rb,0.40009e-03_rb,0.35533e-03_rb,0.32134e-03_rb,0.28977e-03_rb, & & 0.25642e-03_rb,0.22005e-03_rb,0.17825e-03_rb,0.16960e-03_rb /) kao(:, 2, 4,10) = (/ & & 0.45799e-03_rb,0.40164e-03_rb,0.36303e-03_rb,0.33235e-03_rb,0.30343e-03_rb, & & 0.27796e-03_rb,0.24341e-03_rb,0.20303e-03_rb,0.20347e-03_rb /) kao(:, 3, 4,10) = (/ & & 0.45889e-03_rb,0.40391e-03_rb,0.37251e-03_rb,0.34409e-03_rb,0.32396e-03_rb, & & 0.30068e-03_rb,0.26403e-03_rb,0.23112e-03_rb,0.24434e-03_rb /) kao(:, 4, 4,10) = (/ & & 0.45955e-03_rb,0.40640e-03_rb,0.38203e-03_rb,0.36158e-03_rb,0.34561e-03_rb, & & 0.32162e-03_rb,0.28613e-03_rb,0.26715e-03_rb,0.29513e-03_rb /) kao(:, 5, 4,10) = (/ & & 0.45899e-03_rb,0.41016e-03_rb,0.39290e-03_rb,0.38024e-03_rb,0.36719e-03_rb, & & 0.34183e-03_rb,0.31736e-03_rb,0.31348e-03_rb,0.35430e-03_rb /) kao(:, 1, 5,10) = (/ & & 0.44860e-03_rb,0.39309e-03_rb,0.35143e-03_rb,0.31765e-03_rb,0.28887e-03_rb, & & 0.25439e-03_rb,0.21652e-03_rb,0.16876e-03_rb,0.14333e-03_rb /) kao(:, 2, 5,10) = (/ & & 0.45003e-03_rb,0.39579e-03_rb,0.35959e-03_rb,0.33075e-03_rb,0.30371e-03_rb, & & 0.27559e-03_rb,0.24058e-03_rb,0.19058e-03_rb,0.17442e-03_rb /) kao(:, 3, 5,10) = (/ & & 0.45146e-03_rb,0.39890e-03_rb,0.36951e-03_rb,0.34437e-03_rb,0.32442e-03_rb, & & 0.30040e-03_rb,0.26223e-03_rb,0.21520e-03_rb,0.21295e-03_rb /) kao(:, 4, 5,10) = (/ & & 0.45218e-03_rb,0.40151e-03_rb,0.38022e-03_rb,0.36228e-03_rb,0.34802e-03_rb, & & 0.32336e-03_rb,0.28327e-03_rb,0.24766e-03_rb,0.26132e-03_rb /) kao(:, 5, 5,10) = (/ & & 0.45207e-03_rb,0.40582e-03_rb,0.39175e-03_rb,0.38293e-03_rb,0.37072e-03_rb, & & 0.34500e-03_rb,0.31037e-03_rb,0.29012e-03_rb,0.31661e-03_rb /) kao(:, 1, 6,10) = (/ & & 0.43374e-03_rb,0.38081e-03_rb,0.34182e-03_rb,0.31060e-03_rb,0.28045e-03_rb, & & 0.24697e-03_rb,0.20889e-03_rb,0.16055e-03_rb,0.12036e-03_rb /) kao(:, 2, 6,10) = (/ & & 0.43531e-03_rb,0.38407e-03_rb,0.35000e-03_rb,0.32358e-03_rb,0.29721e-03_rb, & & 0.26821e-03_rb,0.23298e-03_rb,0.18104e-03_rb,0.14668e-03_rb /) kao(:, 3, 6,10) = (/ & & 0.43706e-03_rb,0.38738e-03_rb,0.35982e-03_rb,0.33840e-03_rb,0.31879e-03_rb, & & 0.29390e-03_rb,0.25605e-03_rb,0.20200e-03_rb,0.18191e-03_rb /) kao(:, 4, 6,10) = (/ & & 0.43807e-03_rb,0.39050e-03_rb,0.37037e-03_rb,0.35740e-03_rb,0.34372e-03_rb, & & 0.31863e-03_rb,0.27734e-03_rb,0.23003e-03_rb,0.22665e-03_rb /) kao(:, 5, 6,10) = (/ & & 0.43877e-03_rb,0.39551e-03_rb,0.38302e-03_rb,0.38004e-03_rb,0.36796e-03_rb, & & 0.34140e-03_rb,0.30328e-03_rb,0.26832e-03_rb,0.27676e-03_rb /) kao(:, 1, 7,10) = (/ & & 0.41256e-03_rb,0.36341e-03_rb,0.32806e-03_rb,0.30023e-03_rb,0.26855e-03_rb, & & 0.23444e-03_rb,0.19788e-03_rb,0.15062e-03_rb,0.10262e-03_rb /) kao(:, 2, 7,10) = (/ & & 0.41482e-03_rb,0.36772e-03_rb,0.33624e-03_rb,0.31297e-03_rb,0.28556e-03_rb, & & 0.25627e-03_rb,0.22127e-03_rb,0.17072e-03_rb,0.12601e-03_rb /) kao(:, 3, 7,10) = (/ & & 0.41718e-03_rb,0.37142e-03_rb,0.34661e-03_rb,0.32744e-03_rb,0.30719e-03_rb, & & 0.28254e-03_rb,0.24553e-03_rb,0.19044e-03_rb,0.15628e-03_rb /) kao(:, 4, 7,10) = (/ & & 0.41872e-03_rb,0.37555e-03_rb,0.35755e-03_rb,0.34713e-03_rb,0.33306e-03_rb, & & 0.30832e-03_rb,0.26791e-03_rb,0.21481e-03_rb,0.19464e-03_rb /) kao(:, 5, 7,10) = (/ & & 0.42048e-03_rb,0.38195e-03_rb,0.37042e-03_rb,0.37076e-03_rb,0.35893e-03_rb, & & 0.33177e-03_rb,0.29351e-03_rb,0.24858e-03_rb,0.23890e-03_rb /) kao(:, 1, 8,10) = (/ & & 0.38528e-03_rb,0.34132e-03_rb,0.30950e-03_rb,0.28435e-03_rb,0.25387e-03_rb, & & 0.21998e-03_rb,0.18381e-03_rb,0.13995e-03_rb,0.86291e-04_rb /) kao(:, 2, 8,10) = (/ & & 0.38813e-03_rb,0.34604e-03_rb,0.31840e-03_rb,0.29716e-03_rb,0.26994e-03_rb, & & 0.24125e-03_rb,0.20696e-03_rb,0.15919e-03_rb,0.10863e-03_rb /) kao(:, 3, 8,10) = (/ & & 0.39073e-03_rb,0.35038e-03_rb,0.33010e-03_rb,0.31128e-03_rb,0.29227e-03_rb, & & 0.26641e-03_rb,0.23195e-03_rb,0.17813e-03_rb,0.13616e-03_rb /) kao(:, 4, 8,10) = (/ & & 0.39281e-03_rb,0.35556e-03_rb,0.34140e-03_rb,0.33132e-03_rb,0.31814e-03_rb, & & 0.29308e-03_rb,0.25493e-03_rb,0.20064e-03_rb,0.16931e-03_rb /) kao(:, 5, 8,10) = (/ & & 0.39565e-03_rb,0.36362e-03_rb,0.35480e-03_rb,0.35632e-03_rb,0.34483e-03_rb, & & 0.31779e-03_rb,0.27994e-03_rb,0.23183e-03_rb,0.20721e-03_rb /) kao(:, 1, 9,10) = (/ & & 0.35353e-03_rb,0.31534e-03_rb,0.28844e-03_rb,0.26382e-03_rb,0.23534e-03_rb, & & 0.20347e-03_rb,0.16850e-03_rb,0.12923e-03_rb,0.71856e-04_rb /) kao(:, 2, 9,10) = (/ & & 0.35704e-03_rb,0.32078e-03_rb,0.29797e-03_rb,0.27689e-03_rb,0.25047e-03_rb, & & 0.22397e-03_rb,0.19066e-03_rb,0.14773e-03_rb,0.92561e-04_rb /) kao(:, 3, 9,10) = (/ & & 0.36000e-03_rb,0.32561e-03_rb,0.31012e-03_rb,0.29082e-03_rb,0.27253e-03_rb, & & 0.24851e-03_rb,0.21457e-03_rb,0.16607e-03_rb,0.11811e-03_rb /) kao(:, 4, 9,10) = (/ & & 0.36298e-03_rb,0.33189e-03_rb,0.32100e-03_rb,0.31077e-03_rb,0.29911e-03_rb, & & 0.27480e-03_rb,0.23785e-03_rb,0.18730e-03_rb,0.14849e-03_rb /) kao(:, 5, 9,10) = (/ & & 0.36645e-03_rb,0.34041e-03_rb,0.33535e-03_rb,0.33583e-03_rb,0.32646e-03_rb, & & 0.29975e-03_rb,0.26277e-03_rb,0.21618e-03_rb,0.18220e-03_rb /) kao(:, 1,10,10) = (/ & & 0.31882e-03_rb,0.28657e-03_rb,0.26462e-03_rb,0.24132e-03_rb,0.21534e-03_rb, & & 0.18636e-03_rb,0.15549e-03_rb,0.11817e-03_rb,0.60706e-04_rb /) kao(:, 2,10,10) = (/ & & 0.32301e-03_rb,0.29267e-03_rb,0.27519e-03_rb,0.25478e-03_rb,0.23046e-03_rb, & & 0.20560e-03_rb,0.17582e-03_rb,0.13638e-03_rb,0.79531e-04_rb /) kao(:, 3,10,10) = (/ & & 0.32639e-03_rb,0.29816e-03_rb,0.28709e-03_rb,0.26927e-03_rb,0.25170e-03_rb, & & 0.23027e-03_rb,0.19794e-03_rb,0.15520e-03_rb,0.10253e-03_rb /) kao(:, 4,10,10) = (/ & & 0.33008e-03_rb,0.30559e-03_rb,0.29823e-03_rb,0.28948e-03_rb,0.27786e-03_rb, & & 0.25639e-03_rb,0.22020e-03_rb,0.17621e-03_rb,0.13035e-03_rb /) kao(:, 5,10,10) = (/ & & 0.33429e-03_rb,0.31481e-03_rb,0.31383e-03_rb,0.31396e-03_rb,0.30544e-03_rb, & & 0.28143e-03_rb,0.24487e-03_rb,0.20336e-03_rb,0.16246e-03_rb /) kao(:, 1,11,10) = (/ & & 0.28433e-03_rb,0.25922e-03_rb,0.24227e-03_rb,0.22327e-03_rb,0.20067e-03_rb, & & 0.17618e-03_rb,0.15050e-03_rb,0.11425e-03_rb,0.57921e-04_rb /) kao(:, 2,11,10) = (/ & & 0.28828e-03_rb,0.26532e-03_rb,0.25425e-03_rb,0.23723e-03_rb,0.21797e-03_rb, & & 0.19695e-03_rb,0.17056e-03_rb,0.13252e-03_rb,0.76361e-04_rb /) kao(:, 3,11,10) = (/ & & 0.29236e-03_rb,0.27228e-03_rb,0.26588e-03_rb,0.25415e-03_rb,0.24099e-03_rb, & & 0.22135e-03_rb,0.19174e-03_rb,0.15232e-03_rb,0.98360e-04_rb /) kao(:, 4,11,10) = (/ & & 0.29717e-03_rb,0.28209e-03_rb,0.27970e-03_rb,0.27650e-03_rb,0.26714e-03_rb, & & 0.24681e-03_rb,0.21371e-03_rb,0.17631e-03_rb,0.12518e-03_rb /) kao(:, 5,11,10) = (/ & & 0.30177e-03_rb,0.29180e-03_rb,0.29905e-03_rb,0.30274e-03_rb,0.29362e-03_rb, & & 0.27208e-03_rb,0.24087e-03_rb,0.20461e-03_rb,0.15616e-03_rb /) kao(:, 1,12,10) = (/ & & 0.24998e-03_rb,0.23220e-03_rb,0.21962e-03_rb,0.20418e-03_rb,0.18598e-03_rb, & & 0.16635e-03_rb,0.14319e-03_rb,0.11002e-03_rb,0.54657e-04_rb /) kao(:, 2,12,10) = (/ & & 0.25422e-03_rb,0.23880e-03_rb,0.23171e-03_rb,0.21907e-03_rb,0.20484e-03_rb, & & 0.18724e-03_rb,0.16371e-03_rb,0.12837e-03_rb,0.72183e-04_rb /) kao(:, 3,12,10) = (/ & & 0.25909e-03_rb,0.24827e-03_rb,0.24443e-03_rb,0.23867e-03_rb,0.22868e-03_rb, & & 0.21084e-03_rb,0.18482e-03_rb,0.14974e-03_rb,0.93395e-04_rb /) kao(:, 4,12,10) = (/ & & 0.26399e-03_rb,0.25851e-03_rb,0.26208e-03_rb,0.26298e-03_rb,0.25438e-03_rb, & & 0.23482e-03_rb,0.20834e-03_rb,0.17589e-03_rb,0.11924e-03_rb /) kao(:, 5,12,10) = (/ & & 0.26914e-03_rb,0.26866e-03_rb,0.28401e-03_rb,0.28945e-03_rb,0.28022e-03_rb, & & 0.26150e-03_rb,0.23750e-03_rb,0.20542e-03_rb,0.14923e-03_rb /) kao(:, 1,13,10) = (/ & & 0.21751e-03_rb,0.20608e-03_rb,0.19731e-03_rb,0.18540e-03_rb,0.17208e-03_rb, & & 0.15624e-03_rb,0.13474e-03_rb,0.10527e-03_rb,0.50953e-04_rb /) kao(:, 2,13,10) = (/ & & 0.22228e-03_rb,0.21439e-03_rb,0.20968e-03_rb,0.20158e-03_rb,0.19151e-03_rb, & & 0.17720e-03_rb,0.15564e-03_rb,0.12461e-03_rb,0.67516e-04_rb /) kao(:, 3,13,10) = (/ & & 0.22727e-03_rb,0.22462e-03_rb,0.22474e-03_rb,0.22318e-03_rb,0.21469e-03_rb, & & 0.19989e-03_rb,0.17790e-03_rb,0.14782e-03_rb,0.88180e-04_rb /) kao(:, 4,13,10) = (/ & & 0.23242e-03_rb,0.23488e-03_rb,0.24462e-03_rb,0.24805e-03_rb,0.24003e-03_rb, & & 0.22364e-03_rb,0.20382e-03_rb,0.17470e-03_rb,0.11335e-03_rb /) kao(:, 5,13,10) = (/ & & 0.23819e-03_rb,0.24692e-03_rb,0.26797e-03_rb,0.27413e-03_rb,0.26611e-03_rb, & & 0.25207e-03_rb,0.23456e-03_rb,0.20493e-03_rb,0.14302e-03_rb /) kao(:, 1, 1,11) = (/ & & 0.54188e-03_rb,0.47438e-03_rb,0.41220e-03_rb,0.36319e-03_rb,0.32177e-03_rb, & & 0.28178e-03_rb,0.26195e-03_rb,0.26768e-03_rb,0.30988e-03_rb /) kao(:, 2, 1,11) = (/ & & 0.53863e-03_rb,0.47157e-03_rb,0.41235e-03_rb,0.37142e-03_rb,0.33314e-03_rb, & & 0.30667e-03_rb,0.29622e-03_rb,0.31573e-03_rb,0.36594e-03_rb /) kao(:, 3, 1,11) = (/ & & 0.53537e-03_rb,0.46873e-03_rb,0.41881e-03_rb,0.37881e-03_rb,0.35190e-03_rb, & & 0.33275e-03_rb,0.33720e-03_rb,0.36928e-03_rb,0.42810e-03_rb /) kao(:, 4, 1,11) = (/ & & 0.53255e-03_rb,0.46630e-03_rb,0.42443e-03_rb,0.38945e-03_rb,0.37640e-03_rb, & & 0.36424e-03_rb,0.38086e-03_rb,0.42782e-03_rb,0.49486e-03_rb /) kao(:, 5, 1,11) = (/ & & 0.53016e-03_rb,0.46423e-03_rb,0.43029e-03_rb,0.40524e-03_rb,0.39835e-03_rb, & & 0.40134e-03_rb,0.42785e-03_rb,0.48998e-03_rb,0.56469e-03_rb /) kao(:, 1, 2,11) = (/ & & 0.58031e-03_rb,0.50799e-03_rb,0.44209e-03_rb,0.39038e-03_rb,0.34592e-03_rb, & & 0.30091e-03_rb,0.27060e-03_rb,0.26179e-03_rb,0.30262e-03_rb /) kao(:, 2, 2,11) = (/ & & 0.57783e-03_rb,0.50583e-03_rb,0.44303e-03_rb,0.40158e-03_rb,0.35771e-03_rb, & & 0.32458e-03_rb,0.30412e-03_rb,0.31051e-03_rb,0.36041e-03_rb /) kao(:, 3, 2,11) = (/ & & 0.57540e-03_rb,0.50373e-03_rb,0.45070e-03_rb,0.41078e-03_rb,0.37604e-03_rb, & & 0.34973e-03_rb,0.34205e-03_rb,0.36376e-03_rb,0.42111e-03_rb /) kao(:, 4, 2,11) = (/ & & 0.57390e-03_rb,0.50246e-03_rb,0.45850e-03_rb,0.42273e-03_rb,0.40005e-03_rb, & & 0.37925e-03_rb,0.38380e-03_rb,0.42075e-03_rb,0.48570e-03_rb /) kao(:, 5, 2,11) = (/ & & 0.57251e-03_rb,0.50128e-03_rb,0.46686e-03_rb,0.44000e-03_rb,0.42177e-03_rb, & & 0.41338e-03_rb,0.42764e-03_rb,0.47996e-03_rb,0.55489e-03_rb /) kao(:, 1, 3,11) = (/ & & 0.61606e-03_rb,0.53921e-03_rb,0.46963e-03_rb,0.41409e-03_rb,0.36561e-03_rb, & & 0.31888e-03_rb,0.27397e-03_rb,0.24837e-03_rb,0.28056e-03_rb /) kao(:, 2, 3,11) = (/ & & 0.61406e-03_rb,0.53752e-03_rb,0.47091e-03_rb,0.42713e-03_rb,0.37975e-03_rb, & & 0.33844e-03_rb,0.30659e-03_rb,0.29320e-03_rb,0.33782e-03_rb /) kao(:, 3, 3,11) = (/ & & 0.61257e-03_rb,0.53626e-03_rb,0.47829e-03_rb,0.43902e-03_rb,0.39761e-03_rb, & & 0.36364e-03_rb,0.34206e-03_rb,0.34371e-03_rb,0.39648e-03_rb /) kao(:, 4, 3,11) = (/ & & 0.61154e-03_rb,0.53538e-03_rb,0.48822e-03_rb,0.45223e-03_rb,0.42130e-03_rb, & & 0.39347e-03_rb,0.37907e-03_rb,0.39708e-03_rb,0.45765e-03_rb /) kao(:, 5, 3,11) = (/ & & 0.61140e-03_rb,0.53529e-03_rb,0.49797e-03_rb,0.47117e-03_rb,0.44115e-03_rb, & & 0.42497e-03_rb,0.41979e-03_rb,0.45564e-03_rb,0.52659e-03_rb /) kao(:, 1, 4,11) = (/ & & 0.64443e-03_rb,0.56411e-03_rb,0.49232e-03_rb,0.43467e-03_rb,0.38190e-03_rb, & & 0.33277e-03_rb,0.27825e-03_rb,0.23501e-03_rb,0.25182e-03_rb /) kao(:, 2, 4,11) = (/ & & 0.64292e-03_rb,0.56277e-03_rb,0.49409e-03_rb,0.44787e-03_rb,0.39817e-03_rb, & & 0.35161e-03_rb,0.30747e-03_rb,0.27717e-03_rb,0.30629e-03_rb /) kao(:, 3, 4,11) = (/ & & 0.64243e-03_rb,0.56236e-03_rb,0.50119e-03_rb,0.46200e-03_rb,0.41580e-03_rb, & & 0.37809e-03_rb,0.34162e-03_rb,0.32168e-03_rb,0.36251e-03_rb /) kao(:, 4, 4,11) = (/ & & 0.64248e-03_rb,0.56245e-03_rb,0.51257e-03_rb,0.47612e-03_rb,0.44107e-03_rb, & & 0.40610e-03_rb,0.37659e-03_rb,0.36992e-03_rb,0.42339e-03_rb /) kao(:, 5, 4,11) = (/ & & 0.64345e-03_rb,0.56414e-03_rb,0.52333e-03_rb,0.49621e-03_rb,0.46345e-03_rb, & & 0.43530e-03_rb,0.41388e-03_rb,0.42704e-03_rb,0.49356e-03_rb /) kao(:, 1, 5,11) = (/ & & 0.66205e-03_rb,0.57941e-03_rb,0.50732e-03_rb,0.44788e-03_rb,0.39504e-03_rb, & & 0.34261e-03_rb,0.28274e-03_rb,0.22440e-03_rb,0.22048e-03_rb /) kao(:, 2, 5,11) = (/ & & 0.66163e-03_rb,0.57912e-03_rb,0.51033e-03_rb,0.46104e-03_rb,0.41289e-03_rb, & & 0.36220e-03_rb,0.30969e-03_rb,0.26291e-03_rb,0.27073e-03_rb /) kao(:, 3, 5,11) = (/ & & 0.66197e-03_rb,0.57946e-03_rb,0.51799e-03_rb,0.47594e-03_rb,0.43132e-03_rb, & & 0.39012e-03_rb,0.34192e-03_rb,0.30335e-03_rb,0.32369e-03_rb /) kao(:, 4, 5,11) = (/ & & 0.66310e-03_rb,0.58124e-03_rb,0.52962e-03_rb,0.49191e-03_rb,0.45677e-03_rb, & & 0.42022e-03_rb,0.37529e-03_rb,0.34603e-03_rb,0.38247e-03_rb /) kao(:, 5, 5,11) = (/ & & 0.66411e-03_rb,0.58365e-03_rb,0.54225e-03_rb,0.51373e-03_rb,0.48391e-03_rb, & & 0.44802e-03_rb,0.41016e-03_rb,0.39855e-03_rb,0.45388e-03_rb /) kao(:, 1, 6,11) = (/ & & 0.66761e-03_rb,0.58431e-03_rb,0.51405e-03_rb,0.45280e-03_rb,0.40155e-03_rb, & & 0.34610e-03_rb,0.28249e-03_rb,0.21395e-03_rb,0.18888e-03_rb /) kao(:, 2, 6,11) = (/ & & 0.66804e-03_rb,0.58472e-03_rb,0.51807e-03_rb,0.46619e-03_rb,0.41922e-03_rb, & & 0.36797e-03_rb,0.30908e-03_rb,0.24851e-03_rb,0.23408e-03_rb /) kao(:, 3, 6,11) = (/ & & 0.66946e-03_rb,0.58664e-03_rb,0.52673e-03_rb,0.48103e-03_rb,0.43940e-03_rb, & & 0.39605e-03_rb,0.34204e-03_rb,0.28507e-03_rb,0.28224e-03_rb /) kao(:, 4, 6,11) = (/ & & 0.67150e-03_rb,0.59004e-03_rb,0.53959e-03_rb,0.49825e-03_rb,0.46612e-03_rb, & & 0.42814e-03_rb,0.37432e-03_rb,0.32325e-03_rb,0.33817e-03_rb /) kao(:, 5, 6,11) = (/ & & 0.67315e-03_rb,0.59352e-03_rb,0.55351e-03_rb,0.52125e-03_rb,0.49748e-03_rb, & & 0.45943e-03_rb,0.40603e-03_rb,0.37064e-03_rb,0.40786e-03_rb /) kao(:, 1, 7,11) = (/ & & 0.65825e-03_rb,0.57610e-03_rb,0.50973e-03_rb,0.44919e-03_rb,0.40091e-03_rb, & & 0.34393e-03_rb,0.27863e-03_rb,0.20584e-03_rb,0.15896e-03_rb /) kao(:, 2, 7,11) = (/ & & 0.66067e-03_rb,0.57854e-03_rb,0.51604e-03_rb,0.46345e-03_rb,0.41921e-03_rb, & & 0.36628e-03_rb,0.30597e-03_rb,0.23625e-03_rb,0.19866e-03_rb /) kao(:, 3, 7,11) = (/ & & 0.66419e-03_rb,0.58318e-03_rb,0.52599e-03_rb,0.48043e-03_rb,0.43994e-03_rb, & & 0.39562e-03_rb,0.33865e-03_rb,0.26970e-03_rb,0.24286e-03_rb /) kao(:, 4, 7,11) = (/ & & 0.66717e-03_rb,0.58792e-03_rb,0.54016e-03_rb,0.49893e-03_rb,0.46857e-03_rb, & & 0.43005e-03_rb,0.37266e-03_rb,0.30411e-03_rb,0.29541e-03_rb /) kao(:, 5, 7,11) = (/ & & 0.67024e-03_rb,0.59309e-03_rb,0.55482e-03_rb,0.52246e-03_rb,0.50380e-03_rb, & & 0.46446e-03_rb,0.40297e-03_rb,0.34641e-03_rb,0.36121e-03_rb /) kao(:, 1, 8,11) = (/ & & 0.63858e-03_rb,0.55888e-03_rb,0.49736e-03_rb,0.43942e-03_rb,0.39082e-03_rb, & & 0.33512e-03_rb,0.27058e-03_rb,0.19736e-03_rb,0.13589e-03_rb /) kao(:, 2, 8,11) = (/ & & 0.64324e-03_rb,0.56410e-03_rb,0.50530e-03_rb,0.45504e-03_rb,0.41149e-03_rb, & & 0.35701e-03_rb,0.29879e-03_rb,0.22618e-03_rb,0.16884e-03_rb /) kao(:, 3, 8,11) = (/ & & 0.64790e-03_rb,0.57033e-03_rb,0.51640e-03_rb,0.47474e-03_rb,0.43226e-03_rb, & & 0.38846e-03_rb,0.33154e-03_rb,0.25769e-03_rb,0.20679e-03_rb /) kao(:, 4, 8,11) = (/ & & 0.65242e-03_rb,0.57688e-03_rb,0.53191e-03_rb,0.49447e-03_rb,0.46234e-03_rb, & & 0.42468e-03_rb,0.36669e-03_rb,0.28907e-03_rb,0.25449e-03_rb /) kao(:, 5, 8,11) = (/ & & 0.65716e-03_rb,0.58346e-03_rb,0.54799e-03_rb,0.51859e-03_rb,0.49982e-03_rb, & & 0.46218e-03_rb,0.39875e-03_rb,0.32573e-03_rb,0.31655e-03_rb /) kao(:, 1, 9,11) = (/ & & 0.61155e-03_rb,0.53549e-03_rb,0.47878e-03_rb,0.42579e-03_rb,0.37499e-03_rb, & & 0.31961e-03_rb,0.25793e-03_rb,0.18655e-03_rb,0.11490e-03_rb /) kao(:, 2, 9,11) = (/ & & 0.61794e-03_rb,0.54314e-03_rb,0.48878e-03_rb,0.44250e-03_rb,0.39687e-03_rb, & & 0.34151e-03_rb,0.28569e-03_rb,0.21436e-03_rb,0.14511e-03_rb /) kao(:, 3, 9,11) = (/ & & 0.62338e-03_rb,0.55078e-03_rb,0.50083e-03_rb,0.46354e-03_rb,0.41796e-03_rb, & & 0.37306e-03_rb,0.31954e-03_rb,0.24508e-03_rb,0.17854e-03_rb /) kao(:, 4, 9,11) = (/ & & 0.62936e-03_rb,0.55894e-03_rb,0.51722e-03_rb,0.48335e-03_rb,0.44775e-03_rb, & & 0.41130e-03_rb,0.35579e-03_rb,0.27533e-03_rb,0.21988e-03_rb /) kao(:, 5, 9,11) = (/ & & 0.63545e-03_rb,0.56698e-03_rb,0.53473e-03_rb,0.50887e-03_rb,0.48603e-03_rb, & & 0.45259e-03_rb,0.39001e-03_rb,0.30792e-03_rb,0.27464e-03_rb /) kao(:, 1,10,11) = (/ & & 0.57726e-03_rb,0.50676e-03_rb,0.45606e-03_rb,0.40779e-03_rb,0.35629e-03_rb, & & 0.30220e-03_rb,0.24273e-03_rb,0.17731e-03_rb,0.97262e-04_rb /) kao(:, 2,10,11) = (/ & & 0.58382e-03_rb,0.51548e-03_rb,0.46729e-03_rb,0.42570e-03_rb,0.37915e-03_rb, & & 0.32497e-03_rb,0.26965e-03_rb,0.20381e-03_rb,0.12529e-03_rb /) kao(:, 3,10,11) = (/ & & 0.59071e-03_rb,0.52512e-03_rb,0.48044e-03_rb,0.44753e-03_rb,0.40142e-03_rb, & & 0.35504e-03_rb,0.30526e-03_rb,0.23284e-03_rb,0.15783e-03_rb /) kao(:, 4,10,11) = (/ & & 0.59829e-03_rb,0.53444e-03_rb,0.49886e-03_rb,0.46810e-03_rb,0.43172e-03_rb, & & 0.39380e-03_rb,0.34313e-03_rb,0.26284e-03_rb,0.19647e-03_rb /) kao(:, 5,10,11) = (/ & & 0.60558e-03_rb,0.54444e-03_rb,0.51788e-03_rb,0.49497e-03_rb,0.47022e-03_rb, & & 0.43733e-03_rb,0.37954e-03_rb,0.29404e-03_rb,0.24439e-03_rb /) kao(:, 1,11,11) = (/ & & 0.53880e-03_rb,0.47669e-03_rb,0.43422e-03_rb,0.39066e-03_rb,0.34441e-03_rb, & & 0.29300e-03_rb,0.23722e-03_rb,0.17846e-03_rb,0.93053e-04_rb /) kao(:, 2,11,11) = (/ & & 0.54672e-03_rb,0.48762e-03_rb,0.44694e-03_rb,0.41155e-03_rb,0.36791e-03_rb, & & 0.31854e-03_rb,0.26663e-03_rb,0.20551e-03_rb,0.12100e-03_rb /) kao(:, 3,11,11) = (/ & & 0.55543e-03_rb,0.49853e-03_rb,0.46450e-03_rb,0.43411e-03_rb,0.39364e-03_rb, & & 0.35233e-03_rb,0.30378e-03_rb,0.23442e-03_rb,0.15474e-03_rb /) kao(:, 4,11,11) = (/ & & 0.56418e-03_rb,0.50955e-03_rb,0.48543e-03_rb,0.45785e-03_rb,0.42947e-03_rb, & & 0.39274e-03_rb,0.34329e-03_rb,0.26304e-03_rb,0.19545e-03_rb /) kao(:, 5,11,11) = (/ & & 0.57281e-03_rb,0.52221e-03_rb,0.50507e-03_rb,0.49044e-03_rb,0.47093e-03_rb, & & 0.43647e-03_rb,0.38057e-03_rb,0.29685e-03_rb,0.24345e-03_rb /) kao(:, 1,12,11) = (/ & & 0.49534e-03_rb,0.44336e-03_rb,0.40843e-03_rb,0.37029e-03_rb,0.32924e-03_rb, & & 0.28268e-03_rb,0.23204e-03_rb,0.17692e-03_rb,0.89557e-04_rb /) kao(:, 2,12,11) = (/ & & 0.50529e-03_rb,0.45586e-03_rb,0.42428e-03_rb,0.39360e-03_rb,0.35384e-03_rb, & & 0.31099e-03_rb,0.26296e-03_rb,0.20575e-03_rb,0.11779e-03_rb /) kao(:, 3,12,11) = (/ & & 0.51591e-03_rb,0.46841e-03_rb,0.44557e-03_rb,0.41710e-03_rb,0.38396e-03_rb, & & 0.34779e-03_rb,0.29981e-03_rb,0.23475e-03_rb,0.15231e-03_rb /) kao(:, 4,12,11) = (/ & & 0.52638e-03_rb,0.48189e-03_rb,0.46689e-03_rb,0.44567e-03_rb,0.42354e-03_rb, & & 0.38951e-03_rb,0.33959e-03_rb,0.26406e-03_rb,0.19354e-03_rb /) kao(:, 5,12,11) = (/ & & 0.53740e-03_rb,0.49847e-03_rb,0.48961e-03_rb,0.48352e-03_rb,0.46848e-03_rb, & & 0.43322e-03_rb,0.37807e-03_rb,0.30031e-03_rb,0.24179e-03_rb /) kao(:, 1,13,11) = (/ & & 0.44967e-03_rb,0.40765e-03_rb,0.37964e-03_rb,0.34767e-03_rb,0.31190e-03_rb, & & 0.27110e-03_rb,0.22687e-03_rb,0.17331e-03_rb,0.86456e-04_rb /) kao(:, 2,13,11) = (/ & & 0.46197e-03_rb,0.42196e-03_rb,0.40010e-03_rb,0.37282e-03_rb,0.33881e-03_rb, & & 0.30170e-03_rb,0.25812e-03_rb,0.20314e-03_rb,0.11471e-03_rb /) kao(:, 3,13,11) = (/ & & 0.47416e-03_rb,0.43662e-03_rb,0.42347e-03_rb,0.39902e-03_rb,0.37341e-03_rb, & & 0.34073e-03_rb,0.29426e-03_rb,0.23321e-03_rb,0.14921e-03_rb /) kao(:, 4,13,11) = (/ & & 0.48670e-03_rb,0.45348e-03_rb,0.44656e-03_rb,0.43321e-03_rb,0.41603e-03_rb, & & 0.38366e-03_rb,0.33328e-03_rb,0.26489e-03_rb,0.19032e-03_rb /) kao(:, 5,13,11) = (/ & & 0.49941e-03_rb,0.47298e-03_rb,0.47361e-03_rb,0.47457e-03_rb,0.46263e-03_rb, & & 0.42791e-03_rb,0.37404e-03_rb,0.30319e-03_rb,0.23864e-03_rb /) kao(:, 1, 1,12) = (/ & & 0.67194e-03_rb,0.58821e-03_rb,0.50483e-03_rb,0.44022e-03_rb,0.39428e-03_rb, & & 0.35001e-03_rb,0.32802e-03_rb,0.34712e-03_rb,0.40424e-03_rb /) kao(:, 2, 1,12) = (/ & & 0.66779e-03_rb,0.58462e-03_rb,0.50560e-03_rb,0.45370e-03_rb,0.41018e-03_rb, & & 0.37788e-03_rb,0.37804e-03_rb,0.41641e-03_rb,0.48433e-03_rb /) kao(:, 3, 1,12) = (/ & & 0.66375e-03_rb,0.58112e-03_rb,0.50831e-03_rb,0.46547e-03_rb,0.43045e-03_rb, & & 0.42028e-03_rb,0.43766e-03_rb,0.49681e-03_rb,0.57585e-03_rb /) kao(:, 4, 1,12) = (/ & & 0.65976e-03_rb,0.57768e-03_rb,0.51951e-03_rb,0.47941e-03_rb,0.45883e-03_rb, & & 0.47280e-03_rb,0.50926e-03_rb,0.58385e-03_rb,0.67578e-03_rb /) kao(:, 5, 1,12) = (/ & & 0.65493e-03_rb,0.57349e-03_rb,0.52976e-03_rb,0.49649e-03_rb,0.49872e-03_rb, & & 0.52477e-03_rb,0.58910e-03_rb,0.67477e-03_rb,0.78177e-03_rb /) kao(:, 1, 2,12) = (/ & & 0.74429e-03_rb,0.65147e-03_rb,0.55958e-03_rb,0.48439e-03_rb,0.43163e-03_rb, & & 0.37450e-03_rb,0.34047e-03_rb,0.34702e-03_rb,0.40780e-03_rb /) kao(:, 2, 2,12) = (/ & & 0.73897e-03_rb,0.64685e-03_rb,0.56004e-03_rb,0.49710e-03_rb,0.44831e-03_rb, & & 0.39986e-03_rb,0.38897e-03_rb,0.41601e-03_rb,0.48800e-03_rb /) kao(:, 3, 2,12) = (/ & & 0.73423e-03_rb,0.64274e-03_rb,0.56120e-03_rb,0.51084e-03_rb,0.46668e-03_rb, & & 0.44211e-03_rb,0.44391e-03_rb,0.49187e-03_rb,0.57573e-03_rb /) kao(:, 4, 2,12) = (/ & & 0.72906e-03_rb,0.63825e-03_rb,0.57090e-03_rb,0.52414e-03_rb,0.49429e-03_rb, & & 0.48962e-03_rb,0.50615e-03_rb,0.57487e-03_rb,0.67078e-03_rb /) kao(:, 5, 2,12) = (/ & & 0.72487e-03_rb,0.63461e-03_rb,0.58043e-03_rb,0.54078e-03_rb,0.53373e-03_rb, & & 0.54010e-03_rb,0.58187e-03_rb,0.66737e-03_rb,0.77655e-03_rb /) kao(:, 1, 3,12) = (/ & & 0.81958e-03_rb,0.71735e-03_rb,0.61664e-03_rb,0.53266e-03_rb,0.46619e-03_rb, & & 0.39818e-03_rb,0.35035e-03_rb,0.33455e-03_rb,0.39417e-03_rb /) kao(:, 2, 3,12) = (/ & & 0.81517e-03_rb,0.71349e-03_rb,0.61778e-03_rb,0.54292e-03_rb,0.48245e-03_rb, & & 0.42187e-03_rb,0.39187e-03_rb,0.40203e-03_rb,0.47500e-03_rb /) kao(:, 3, 3,12) = (/ & & 0.81131e-03_rb,0.71014e-03_rb,0.61887e-03_rb,0.55563e-03_rb,0.49928e-03_rb, & & 0.45852e-03_rb,0.44599e-03_rb,0.47656e-03_rb,0.56304e-03_rb /) kao(:, 4, 3,12) = (/ & & 0.80684e-03_rb,0.70624e-03_rb,0.62502e-03_rb,0.56854e-03_rb,0.52516e-03_rb, & & 0.50282e-03_rb,0.50405e-03_rb,0.55674e-03_rb,0.65701e-03_rb /) kao(:, 5, 3,12) = (/ & & 0.80277e-03_rb,0.70271e-03_rb,0.63387e-03_rb,0.58439e-03_rb,0.56394e-03_rb, & & 0.54984e-03_rb,0.57036e-03_rb,0.64435e-03_rb,0.75883e-03_rb /) kao(:, 1, 4,12) = (/ & & 0.88962e-03_rb,0.77859e-03_rb,0.66931e-03_rb,0.57740e-03_rb,0.50138e-03_rb, & & 0.42396e-03_rb,0.36076e-03_rb,0.31901e-03_rb,0.36723e-03_rb /) kao(:, 2, 4,12) = (/ & & 0.88665e-03_rb,0.77601e-03_rb,0.67190e-03_rb,0.58651e-03_rb,0.51766e-03_rb, & & 0.44641e-03_rb,0.39755e-03_rb,0.38137e-03_rb,0.44921e-03_rb /) kao(:, 3, 4,12) = (/ & & 0.88362e-03_rb,0.77338e-03_rb,0.67394e-03_rb,0.60034e-03_rb,0.53406e-03_rb, & & 0.47716e-03_rb,0.44855e-03_rb,0.45695e-03_rb,0.53953e-03_rb /) kao(:, 4, 4,12) = (/ & & 0.87936e-03_rb,0.76967e-03_rb,0.67789e-03_rb,0.61530e-03_rb,0.55605e-03_rb, & & 0.52026e-03_rb,0.50535e-03_rb,0.53746e-03_rb,0.63432e-03_rb /) kao(:, 5, 4,12) = (/ & & 0.87542e-03_rb,0.76625e-03_rb,0.68901e-03_rb,0.63085e-03_rb,0.59283e-03_rb, & & 0.56499e-03_rb,0.56855e-03_rb,0.62330e-03_rb,0.73477e-03_rb /) kao(:, 1, 5,12) = (/ & & 0.95206e-03_rb,0.83319e-03_rb,0.71670e-03_rb,0.61887e-03_rb,0.53098e-03_rb, & & 0.45065e-03_rb,0.37161e-03_rb,0.30790e-03_rb,0.33661e-03_rb /) kao(:, 2, 5,12) = (/ & & 0.95024e-03_rb,0.83163e-03_rb,0.72052e-03_rb,0.62686e-03_rb,0.54899e-03_rb, & & 0.47363e-03_rb,0.40570e-03_rb,0.36303e-03_rb,0.41611e-03_rb /) kao(:, 3, 5,12) = (/ & & 0.94830e-03_rb,0.82995e-03_rb,0.72350e-03_rb,0.64294e-03_rb,0.56882e-03_rb, & & 0.49923e-03_rb,0.45370e-03_rb,0.43446e-03_rb,0.50740e-03_rb /) kao(:, 4, 5,12) = (/ & & 0.94590e-03_rb,0.82788e-03_rb,0.72796e-03_rb,0.66075e-03_rb,0.59106e-03_rb, & & 0.53960e-03_rb,0.50922e-03_rb,0.51449e-03_rb,0.60347e-03_rb /) kao(:, 5, 5,12) = (/ & & 0.94431e-03_rb,0.82652e-03_rb,0.73985e-03_rb,0.67685e-03_rb,0.62406e-03_rb, & & 0.58535e-03_rb,0.56960e-03_rb,0.60003e-03_rb,0.70205e-03_rb /) kao(:, 1, 6,12) = (/ & & 0.10063e-02_rb,0.88067e-03_rb,0.75816e-03_rb,0.65590e-03_rb,0.55704e-03_rb, & & 0.47312e-03_rb,0.38218e-03_rb,0.29812e-03_rb,0.29923e-03_rb /) kao(:, 2, 6,12) = (/ & & 0.10075e-02_rb,0.88171e-03_rb,0.76490e-03_rb,0.66447e-03_rb,0.57639e-03_rb, & & 0.49685e-03_rb,0.41345e-03_rb,0.34724e-03_rb,0.37557e-03_rb /) kao(:, 3, 6,12) = (/ & & 0.10072e-02_rb,0.88152e-03_rb,0.76915e-03_rb,0.68176e-03_rb,0.59750e-03_rb, & & 0.52339e-03_rb,0.45689e-03_rb,0.41130e-03_rb,0.46505e-03_rb /) kao(:, 4, 6,12) = (/ & & 0.10060e-02_rb,0.88049e-03_rb,0.77394e-03_rb,0.69974e-03_rb,0.62189e-03_rb, & & 0.55958e-03_rb,0.51188e-03_rb,0.48580e-03_rb,0.55924e-03_rb /) kao(:, 5, 6,12) = (/ & & 0.10051e-02_rb,0.87967e-03_rb,0.78569e-03_rb,0.71720e-03_rb,0.65527e-03_rb, & & 0.60501e-03_rb,0.57082e-03_rb,0.56756e-03_rb,0.65737e-03_rb /) kao(:, 1, 7,12) = (/ & & 0.10487e-02_rb,0.91773e-03_rb,0.79062e-03_rb,0.68516e-03_rb,0.57878e-03_rb, & & 0.49035e-03_rb,0.39066e-03_rb,0.28990e-03_rb,0.26192e-03_rb /) kao(:, 2, 7,12) = (/ & & 0.10509e-02_rb,0.91972e-03_rb,0.79894e-03_rb,0.69452e-03_rb,0.59953e-03_rb, & & 0.51487e-03_rb,0.42128e-03_rb,0.33451e-03_rb,0.33284e-03_rb /) kao(:, 3, 7,12) = (/ & & 0.10507e-02_rb,0.91957e-03_rb,0.80398e-03_rb,0.71157e-03_rb,0.62221e-03_rb, & & 0.54150e-03_rb,0.46197e-03_rb,0.39208e-03_rb,0.41685e-03_rb /) kao(:, 4, 7,12) = (/ & & 0.10509e-02_rb,0.91973e-03_rb,0.80950e-03_rb,0.73042e-03_rb,0.64659e-03_rb, & & 0.57916e-03_rb,0.51360e-03_rb,0.46065e-03_rb,0.50813e-03_rb /) kao(:, 5, 7,12) = (/ & & 0.10509e-02_rb,0.91978e-03_rb,0.82196e-03_rb,0.75027e-03_rb,0.67740e-03_rb, & & 0.62606e-03_rb,0.57168e-03_rb,0.53418e-03_rb,0.60461e-03_rb /) kao(:, 1, 8,12) = (/ & & 0.10710e-02_rb,0.93729e-03_rb,0.80929e-03_rb,0.70366e-03_rb,0.59621e-03_rb, & & 0.50074e-03_rb,0.39602e-03_rb,0.28309e-03_rb,0.22630e-03_rb /) kao(:, 2, 8,12) = (/ & & 0.10749e-02_rb,0.94069e-03_rb,0.82032e-03_rb,0.71447e-03_rb,0.61694e-03_rb, & & 0.52833e-03_rb,0.42406e-03_rb,0.32400e-03_rb,0.29100e-03_rb /) kao(:, 3, 8,12) = (/ & & 0.10773e-02_rb,0.94281e-03_rb,0.82736e-03_rb,0.73051e-03_rb,0.64296e-03_rb, & & 0.55298e-03_rb,0.46605e-03_rb,0.37591e-03_rb,0.36869e-03_rb /) kao(:, 4, 8,12) = (/ & & 0.10796e-02_rb,0.94487e-03_rb,0.83459e-03_rb,0.75111e-03_rb,0.66786e-03_rb, & & 0.59048e-03_rb,0.51603e-03_rb,0.43920e-03_rb,0.45502e-03_rb /) kao(:, 5, 8,12) = (/ & & 0.10814e-02_rb,0.94726e-03_rb,0.84809e-03_rb,0.77185e-03_rb,0.69811e-03_rb, & & 0.64090e-03_rb,0.57338e-03_rb,0.50692e-03_rb,0.54643e-03_rb /) kao(:, 1, 9,12) = (/ & & 0.10730e-02_rb,0.93903e-03_rb,0.81373e-03_rb,0.70878e-03_rb,0.60523e-03_rb, & & 0.50463e-03_rb,0.39690e-03_rb,0.27640e-03_rb,0.19492e-03_rb /) kao(:, 2, 9,12) = (/ & & 0.10796e-02_rb,0.94482e-03_rb,0.82740e-03_rb,0.72216e-03_rb,0.62667e-03_rb, & & 0.53533e-03_rb,0.42406e-03_rb,0.31368e-03_rb,0.25100e-03_rb /) kao(:, 3, 9,12) = (/ & & 0.10853e-02_rb,0.94982e-03_rb,0.83742e-03_rb,0.73904e-03_rb,0.65592e-03_rb, & & 0.56092e-03_rb,0.46365e-03_rb,0.36183e-03_rb,0.32022e-03_rb /) kao(:, 4, 9,12) = (/ & & 0.10900e-02_rb,0.95441e-03_rb,0.84774e-03_rb,0.76272e-03_rb,0.68162e-03_rb, & & 0.59735e-03_rb,0.51414e-03_rb,0.41927e-03_rb,0.39972e-03_rb /) kao(:, 5, 9,12) = (/ & & 0.10952e-02_rb,0.96081e-03_rb,0.86364e-03_rb,0.78596e-03_rb,0.71341e-03_rb, & & 0.64539e-03_rb,0.57286e-03_rb,0.48249e-03_rb,0.48653e-03_rb /) kao(:, 1,10,12) = (/ & & 0.10558e-02_rb,0.92391e-03_rb,0.80426e-03_rb,0.70294e-03_rb,0.60555e-03_rb, & & 0.50218e-03_rb,0.39384e-03_rb,0.27052e-03_rb,0.17175e-03_rb /) kao(:, 2,10,12) = (/ & & 0.10672e-02_rb,0.93391e-03_rb,0.82187e-03_rb,0.72055e-03_rb,0.62861e-03_rb, & & 0.53517e-03_rb,0.42394e-03_rb,0.30520e-03_rb,0.22066e-03_rb /) kao(:, 3,10,12) = (/ & & 0.10767e-02_rb,0.94234e-03_rb,0.83636e-03_rb,0.73971e-03_rb,0.66074e-03_rb, & & 0.56459e-03_rb,0.46058e-03_rb,0.35232e-03_rb,0.28101e-03_rb /) kao(:, 4,10,12) = (/ & & 0.10858e-02_rb,0.95208e-03_rb,0.85075e-03_rb,0.76653e-03_rb,0.68963e-03_rb, & & 0.60125e-03_rb,0.51089e-03_rb,0.40664e-03_rb,0.35284e-03_rb /) kao(:, 5,10,12) = (/ & & 0.10953e-02_rb,0.96285e-03_rb,0.86971e-03_rb,0.79369e-03_rb,0.72347e-03_rb, & & 0.65043e-03_rb,0.57028e-03_rb,0.46529e-03_rb,0.43428e-03_rb /) kao(:, 1,11,12) = (/ & & 0.10314e-02_rb,0.90258e-03_rb,0.79467e-03_rb,0.69943e-03_rb,0.60546e-03_rb, & & 0.50625e-03_rb,0.39977e-03_rb,0.27736e-03_rb,0.16855e-03_rb /) kao(:, 2,11,12) = (/ & & 0.10451e-02_rb,0.91471e-03_rb,0.81404e-03_rb,0.71994e-03_rb,0.63569e-03_rb, & & 0.54231e-03_rb,0.43348e-03_rb,0.31480e-03_rb,0.21751e-03_rb /) kao(:, 3,11,12) = (/ & & 0.10591e-02_rb,0.92888e-03_rb,0.83171e-03_rb,0.74582e-03_rb,0.67129e-03_rb, & & 0.57545e-03_rb,0.47649e-03_rb,0.36327e-03_rb,0.27482e-03_rb /) kao(:, 4,11,12) = (/ & & 0.10732e-02_rb,0.94400e-03_rb,0.85133e-03_rb,0.77904e-03_rb,0.70324e-03_rb, & & 0.62021e-03_rb,0.53030e-03_rb,0.41771e-03_rb,0.34284e-03_rb /) kao(:, 5,11,12) = (/ & & 0.10880e-02_rb,0.96010e-03_rb,0.87843e-03_rb,0.80902e-03_rb,0.74479e-03_rb, & & 0.67711e-03_rb,0.59146e-03_rb,0.47518e-03_rb,0.42405e-03_rb /) kao(:, 1,12,12) = (/ & & 0.99800e-03_rb,0.87344e-03_rb,0.77838e-03_rb,0.69077e-03_rb,0.60021e-03_rb, & & 0.50540e-03_rb,0.40237e-03_rb,0.28326e-03_rb,0.16340e-03_rb /) kao(:, 2,12,12) = (/ & & 0.10163e-02_rb,0.89149e-03_rb,0.80050e-03_rb,0.71513e-03_rb,0.63616e-03_rb, & & 0.54455e-03_rb,0.44056e-03_rb,0.32235e-03_rb,0.21276e-03_rb /) kao(:, 3,12,12) = (/ & & 0.10345e-02_rb,0.91067e-03_rb,0.82237e-03_rb,0.74899e-03_rb,0.67503e-03_rb, & & 0.58381e-03_rb,0.48916e-03_rb,0.37171e-03_rb,0.26817e-03_rb /) kao(:, 4,12,12) = (/ & & 0.10541e-02_rb,0.93146e-03_rb,0.84943e-03_rb,0.78581e-03_rb,0.71327e-03_rb, & & 0.63724e-03_rb,0.54703e-03_rb,0.42621e-03_rb,0.33361e-03_rb /) kao(:, 5,12,12) = (/ & & 0.10724e-02_rb,0.95127e-03_rb,0.88178e-03_rb,0.82065e-03_rb,0.76248e-03_rb, & & 0.70028e-03_rb,0.60892e-03_rb,0.48179e-03_rb,0.41458e-03_rb /) kao(:, 1,13,12) = (/ & & 0.95912e-03_rb,0.84178e-03_rb,0.75778e-03_rb,0.67765e-03_rb,0.59123e-03_rb, & & 0.50112e-03_rb,0.40170e-03_rb,0.28784e-03_rb,0.15761e-03_rb /) kao(:, 2,13,12) = (/ & & 0.98187e-03_rb,0.86541e-03_rb,0.78344e-03_rb,0.70851e-03_rb,0.63200e-03_rb, & & 0.54351e-03_rb,0.44541e-03_rb,0.32864e-03_rb,0.20682e-03_rb /) kao(:, 3,13,12) = (/ & & 0.10063e-02_rb,0.89078e-03_rb,0.81111e-03_rb,0.74766e-03_rb,0.67473e-03_rb, & & 0.58963e-03_rb,0.49872e-03_rb,0.37736e-03_rb,0.26208e-03_rb /) kao(:, 4,13,12) = (/ & & 0.10299e-02_rb,0.91565e-03_rb,0.84455e-03_rb,0.78769e-03_rb,0.71894e-03_rb, & & 0.65012e-03_rb,0.55995e-03_rb,0.43170e-03_rb,0.32660e-03_rb /) kao(:, 5,13,12) = (/ & & 0.10525e-02_rb,0.93912e-03_rb,0.88061e-03_rb,0.82863e-03_rb,0.77810e-03_rb, & & 0.71766e-03_rb,0.62330e-03_rb,0.48589e-03_rb,0.40661e-03_rb /) kao(:, 1, 1,13) = (/ & & 0.84224e-03_rb,0.73740e-03_rb,0.63257e-03_rb,0.54853e-03_rb,0.48911e-03_rb, & & 0.46139e-03_rb,0.45309e-03_rb,0.51018e-03_rb,0.59300e-03_rb /) kao(:, 2, 1,13) = (/ & & 0.83841e-03_rb,0.73411e-03_rb,0.62983e-03_rb,0.55802e-03_rb,0.51855e-03_rb, & & 0.50261e-03_rb,0.52209e-03_rb,0.59394e-03_rb,0.69158e-03_rb /) kao(:, 3, 1,13) = (/ & & 0.83593e-03_rb,0.73202e-03_rb,0.62914e-03_rb,0.58596e-03_rb,0.54957e-03_rb, & & 0.55151e-03_rb,0.60969e-03_rb,0.69097e-03_rb,0.80707e-03_rb /) kao(:, 4, 1,13) = (/ & & 0.83246e-03_rb,0.72902e-03_rb,0.63274e-03_rb,0.60961e-03_rb,0.59022e-03_rb, & & 0.61063e-03_rb,0.70961e-03_rb,0.80207e-03_rb,0.93855e-03_rb /) kao(:, 5, 1,13) = (/ & & 0.82958e-03_rb,0.72654e-03_rb,0.65011e-03_rb,0.63711e-03_rb,0.63941e-03_rb, & & 0.69313e-03_rb,0.82070e-03_rb,0.92941e-03_rb,0.10860e-02_rb /) kao(:, 1, 2,13) = (/ & & 0.94737e-03_rb,0.82928e-03_rb,0.71121e-03_rb,0.61292e-03_rb,0.53888e-03_rb, & & 0.49608e-03_rb,0.46449e-03_rb,0.50895e-03_rb,0.59638e-03_rb /) kao(:, 2, 2,13) = (/ & & 0.94309e-03_rb,0.82559e-03_rb,0.70809e-03_rb,0.61981e-03_rb,0.56880e-03_rb, & & 0.53738e-03_rb,0.52906e-03_rb,0.59714e-03_rb,0.70098e-03_rb /) kao(:, 3, 2,13) = (/ & & 0.93813e-03_rb,0.82131e-03_rb,0.70667e-03_rb,0.64442e-03_rb,0.60095e-03_rb, & & 0.58581e-03_rb,0.62140e-03_rb,0.70455e-03_rb,0.83109e-03_rb /) kao(:, 4, 2,13) = (/ & & 0.93357e-03_rb,0.81735e-03_rb,0.70879e-03_rb,0.66885e-03_rb,0.63704e-03_rb, & & 0.64975e-03_rb,0.73250e-03_rb,0.82836e-03_rb,0.97995e-03_rb /) kao(:, 5, 2,13) = (/ & & 0.92926e-03_rb,0.81362e-03_rb,0.72487e-03_rb,0.69759e-03_rb,0.68443e-03_rb, & & 0.72989e-03_rb,0.85114e-03_rb,0.96045e-03_rb,0.11390e-02_rb /) kao(:, 1, 3,13) = (/ & & 0.10589e-02_rb,0.92685e-03_rb,0.79478e-03_rb,0.68185e-03_rb,0.58961e-03_rb, & & 0.52592e-03_rb,0.47382e-03_rb,0.49304e-03_rb,0.58474e-03_rb /) kao(:, 2, 3,13) = (/ & & 0.10532e-02_rb,0.92189e-03_rb,0.79057e-03_rb,0.68536e-03_rb,0.61794e-03_rb, & & 0.56535e-03_rb,0.53040e-03_rb,0.57934e-03_rb,0.68761e-03_rb /) kao(:, 3, 3,13) = (/ & & 0.10466e-02_rb,0.91613e-03_rb,0.78805e-03_rb,0.70517e-03_rb,0.65240e-03_rb, & & 0.61071e-03_rb,0.61067e-03_rb,0.68776e-03_rb,0.81827e-03_rb /) kao(:, 4, 3,13) = (/ & & 0.10406e-02_rb,0.91088e-03_rb,0.78949e-03_rb,0.73011e-03_rb,0.68643e-03_rb, & & 0.67486e-03_rb,0.72316e-03_rb,0.82048e-03_rb,0.97591e-03_rb /) kao(:, 5, 3,13) = (/ & & 0.10350e-02_rb,0.90609e-03_rb,0.80184e-03_rb,0.75651e-03_rb,0.73102e-03_rb, & & 0.75672e-03_rb,0.85035e-03_rb,0.96398e-03_rb,0.11483e-02_rb /) kao(:, 1, 4,13) = (/ & & 0.11788e-02_rb,0.10317e-02_rb,0.88462e-03_rb,0.75562e-03_rb,0.64370e-03_rb, & & 0.55868e-03_rb,0.48899e-03_rb,0.48008e-03_rb,0.57112e-03_rb /) kao(:, 2, 4,13) = (/ & & 0.11725e-02_rb,0.10263e-02_rb,0.87998e-03_rb,0.75781e-03_rb,0.66989e-03_rb, & & 0.59814e-03_rb,0.54177e-03_rb,0.56164e-03_rb,0.66999e-03_rb /) kao(:, 3, 4,13) = (/ & & 0.11654e-02_rb,0.10201e-02_rb,0.87720e-03_rb,0.76990e-03_rb,0.70381e-03_rb, & & 0.63928e-03_rb,0.60787e-03_rb,0.66447e-03_rb,0.79300e-03_rb /) kao(:, 4, 4,13) = (/ & & 0.11592e-02_rb,0.10147e-02_rb,0.87854e-03_rb,0.79340e-03_rb,0.73787e-03_rb, & & 0.69602e-03_rb,0.70539e-03_rb,0.79266e-03_rb,0.94522e-03_rb /) kao(:, 5, 4,13) = (/ & & 0.11532e-02_rb,0.10094e-02_rb,0.88452e-03_rb,0.81797e-03_rb,0.78065e-03_rb, & & 0.77762e-03_rb,0.82734e-03_rb,0.94053e-03_rb,0.11199e-02_rb /) kao(:, 1, 5,13) = (/ & & 0.13090e-02_rb,0.11455e-02_rb,0.98213e-03_rb,0.83571e-03_rb,0.70447e-03_rb, & & 0.59736e-03_rb,0.51100e-03_rb,0.46541e-03_rb,0.54756e-03_rb /) kao(:, 2, 5,13) = (/ & & 0.13011e-02_rb,0.11387e-02_rb,0.97633e-03_rb,0.83818e-03_rb,0.72563e-03_rb, & & 0.63146e-03_rb,0.56040e-03_rb,0.54671e-03_rb,0.65045e-03_rb /) kao(:, 3, 5,13) = (/ & & 0.12919e-02_rb,0.11307e-02_rb,0.97249e-03_rb,0.84355e-03_rb,0.75615e-03_rb, & & 0.67456e-03_rb,0.62106e-03_rb,0.64503e-03_rb,0.77294e-03_rb /) kao(:, 4, 5,13) = (/ & & 0.12834e-02_rb,0.11233e-02_rb,0.97228e-03_rb,0.86290e-03_rb,0.79001e-03_rb, & & 0.72644e-03_rb,0.70406e-03_rb,0.76742e-03_rb,0.92034e-03_rb /) kao(:, 5, 5,13) = (/ & & 0.12754e-02_rb,0.11163e-02_rb,0.97447e-03_rb,0.88787e-03_rb,0.82956e-03_rb, & & 0.80041e-03_rb,0.81433e-03_rb,0.91302e-03_rb,0.10923e-02_rb /) kao(:, 1, 6,13) = (/ & & 0.14384e-02_rb,0.12588e-02_rb,0.10791e-02_rb,0.91745e-03_rb,0.77222e-03_rb, & & 0.63777e-03_rb,0.53552e-03_rb,0.44917e-03_rb,0.50804e-03_rb /) kao(:, 2, 6,13) = (/ & & 0.14296e-02_rb,0.12511e-02_rb,0.10726e-02_rb,0.92106e-03_rb,0.78721e-03_rb, & & 0.67056e-03_rb,0.58135e-03_rb,0.52600e-03_rb,0.61657e-03_rb /) kao(:, 3, 6,13) = (/ & & 0.14197e-02_rb,0.12425e-02_rb,0.10687e-02_rb,0.92311e-03_rb,0.81466e-03_rb, & & 0.70925e-03_rb,0.63651e-03_rb,0.62263e-03_rb,0.74116e-03_rb /) kao(:, 4, 6,13) = (/ & & 0.14113e-02_rb,0.12351e-02_rb,0.10686e-02_rb,0.93888e-03_rb,0.84557e-03_rb, & & 0.75721e-03_rb,0.71295e-03_rb,0.74435e-03_rb,0.88914e-03_rb /) kao(:, 5, 6,13) = (/ & & 0.14033e-02_rb,0.12282e-02_rb,0.10694e-02_rb,0.96147e-03_rb,0.87768e-03_rb, & & 0.82519e-03_rb,0.81219e-03_rb,0.88552e-03_rb,0.10599e-02_rb /) kao(:, 1, 7,13) = (/ & & 0.15646e-02_rb,0.13692e-02_rb,0.11737e-02_rb,0.99670e-03_rb,0.83910e-03_rb, & & 0.68337e-03_rb,0.56133e-03_rb,0.43784e-03_rb,0.46053e-03_rb /) kao(:, 2, 7,13) = (/ & & 0.15575e-02_rb,0.13630e-02_rb,0.11685e-02_rb,0.10035e-02_rb,0.85062e-03_rb, & & 0.71436e-03_rb,0.60284e-03_rb,0.50378e-03_rb,0.56665e-03_rb /) kao(:, 3, 7,13) = (/ & & 0.15495e-02_rb,0.13560e-02_rb,0.11666e-02_rb,0.10059e-02_rb,0.87670e-03_rb, & & 0.74963e-03_rb,0.65339e-03_rb,0.59583e-03_rb,0.69467e-03_rb /) kao(:, 4, 7,13) = (/ & & 0.15420e-02_rb,0.13494e-02_rb,0.11678e-02_rb,0.10189e-02_rb,0.90417e-03_rb, & & 0.79237e-03_rb,0.72265e-03_rb,0.71412e-03_rb,0.84581e-03_rb /) kao(:, 5, 7,13) = (/ & & 0.15345e-02_rb,0.13429e-02_rb,0.11695e-02_rb,0.10414e-02_rb,0.93588e-03_rb, & & 0.84978e-03_rb,0.81799e-03_rb,0.85682e-03_rb,0.10184e-02_rb /) kao(:, 1, 8,13) = (/ & & 0.16856e-02_rb,0.14750e-02_rb,0.12645e-02_rb,0.10725e-02_rb,0.90201e-03_rb, & & 0.73159e-03_rb,0.58478e-03_rb,0.43268e-03_rb,0.41101e-03_rb /) kao(:, 2, 8,13) = (/ & & 0.16806e-02_rb,0.14706e-02_rb,0.12609e-02_rb,0.10836e-02_rb,0.91363e-03_rb, & & 0.76033e-03_rb,0.62810e-03_rb,0.48786e-03_rb,0.51346e-03_rb /) kao(:, 3, 8,13) = (/ & & 0.16744e-02_rb,0.14652e-02_rb,0.12612e-02_rb,0.10887e-02_rb,0.93599e-03_rb, & & 0.79815e-03_rb,0.66916e-03_rb,0.56926e-03_rb,0.63978e-03_rb /) kao(:, 4, 8,13) = (/ & & 0.16684e-02_rb,0.14601e-02_rb,0.12641e-02_rb,0.11000e-02_rb,0.96490e-03_rb, & & 0.83543e-03_rb,0.73243e-03_rb,0.67845e-03_rb,0.78892e-03_rb /) kao(:, 5, 8,13) = (/ & & 0.16618e-02_rb,0.14543e-02_rb,0.12671e-02_rb,0.11238e-02_rb,0.99451e-03_rb, & & 0.88426e-03_rb,0.81935e-03_rb,0.81741e-03_rb,0.96330e-03_rb /) kao(:, 1, 9,13) = (/ & & 0.17934e-02_rb,0.15694e-02_rb,0.13453e-02_rb,0.11410e-02_rb,0.95885e-03_rb, & & 0.77818e-03_rb,0.60653e-03_rb,0.43079e-03_rb,0.36156e-03_rb /) kao(:, 2, 9,13) = (/ & & 0.17902e-02_rb,0.15666e-02_rb,0.13435e-02_rb,0.11557e-02_rb,0.97291e-03_rb, & & 0.80328e-03_rb,0.65101e-03_rb,0.47930e-03_rb,0.45791e-03_rb /) kao(:, 3, 9,13) = (/ & & 0.17870e-02_rb,0.15637e-02_rb,0.13465e-02_rb,0.11644e-02_rb,0.99290e-03_rb, & & 0.84365e-03_rb,0.69043e-03_rb,0.54887e-03_rb,0.58027e-03_rb /) kao(:, 4, 9,13) = (/ & & 0.17836e-02_rb,0.15608e-02_rb,0.13520e-02_rb,0.11761e-02_rb,0.10245e-02_rb, & & 0.87956e-03_rb,0.74487e-03_rb,0.64626e-03_rb,0.72649e-03_rb /) kao(:, 5, 9,13) = (/ & & 0.17784e-02_rb,0.15563e-02_rb,0.13567e-02_rb,0.11994e-02_rb,0.10543e-02_rb, & & 0.92517e-03_rb,0.82194e-03_rb,0.77306e-03_rb,0.89652e-03_rb /) kao(:, 1,10,13) = (/ & & 0.18870e-02_rb,0.16513e-02_rb,0.14155e-02_rb,0.12026e-02_rb,0.10094e-02_rb, & & 0.82157e-03_rb,0.62812e-03_rb,0.43279e-03_rb,0.32100e-03_rb /) kao(:, 2,10,13) = (/ & & 0.18874e-02_rb,0.16516e-02_rb,0.14168e-02_rb,0.12199e-02_rb,0.10267e-02_rb, & & 0.84527e-03_rb,0.67192e-03_rb,0.47951e-03_rb,0.41207e-03_rb /) kao(:, 3,10,13) = (/ & & 0.18869e-02_rb,0.16512e-02_rb,0.14226e-02_rb,0.12326e-02_rb,0.10456e-02_rb, & & 0.88603e-03_rb,0.71450e-03_rb,0.53998e-03_rb,0.52708e-03_rb /) kao(:, 4,10,13) = (/ & & 0.18844e-02_rb,0.16490e-02_rb,0.14297e-02_rb,0.12452e-02_rb,0.10784e-02_rb, & & 0.92565e-03_rb,0.76291e-03_rb,0.62910e-03_rb,0.66842e-03_rb /) kao(:, 5,10,13) = (/ & & 0.18812e-02_rb,0.16463e-02_rb,0.14369e-02_rb,0.12677e-02_rb,0.11133e-02_rb, & & 0.96733e-03_rb,0.83676e-03_rb,0.74378e-03_rb,0.83514e-03_rb /) kao(:, 1,11,13) = (/ & & 0.19652e-02_rb,0.17197e-02_rb,0.14741e-02_rb,0.12638e-02_rb,0.10628e-02_rb, & & 0.86832e-03_rb,0.66314e-03_rb,0.45418e-03_rb,0.32052e-03_rb /) kao(:, 2,11,13) = (/ & & 0.19706e-02_rb,0.17244e-02_rb,0.14828e-02_rb,0.12836e-02_rb,0.10826e-02_rb, & & 0.89693e-03_rb,0.71120e-03_rb,0.50274e-03_rb,0.41269e-03_rb /) kao(:, 3,11,13) = (/ & & 0.19727e-02_rb,0.17263e-02_rb,0.14935e-02_rb,0.12979e-02_rb,0.11060e-02_rb, & & 0.94341e-03_rb,0.75411e-03_rb,0.56772e-03_rb,0.53374e-03_rb /) kao(:, 4,11,13) = (/ & & 0.19726e-02_rb,0.17262e-02_rb,0.15047e-02_rb,0.13132e-02_rb,0.11439e-02_rb, & & 0.98450e-03_rb,0.80814e-03_rb,0.66163e-03_rb,0.68012e-03_rb /) kao(:, 5,11,13) = (/ & & 0.19717e-02_rb,0.17254e-02_rb,0.15111e-02_rb,0.13415e-02_rb,0.11812e-02_rb, & & 0.10302e-02_rb,0.88976e-03_rb,0.77856e-03_rb,0.85217e-03_rb /) kao(:, 1,12,13) = (/ & & 0.20238e-02_rb,0.17709e-02_rb,0.15209e-02_rb,0.13140e-02_rb,0.11103e-02_rb, & & 0.90805e-03_rb,0.69487e-03_rb,0.47365e-03_rb,0.32170e-03_rb /) kao(:, 2,12,13) = (/ & & 0.20339e-02_rb,0.17798e-02_rb,0.15376e-02_rb,0.13369e-02_rb,0.11339e-02_rb, & & 0.94414e-03_rb,0.74487e-03_rb,0.52470e-03_rb,0.41340e-03_rb /) kao(:, 3,12,13) = (/ & & 0.20400e-02_rb,0.17851e-02_rb,0.15537e-02_rb,0.13538e-02_rb,0.11634e-02_rb, & & 0.99316e-03_rb,0.79139e-03_rb,0.59483e-03_rb,0.53800e-03_rb /) kao(:, 4,12,13) = (/ & & 0.20440e-02_rb,0.17887e-02_rb,0.15672e-02_rb,0.13751e-02_rb,0.12054e-02_rb, & & 0.10358e-02_rb,0.85239e-03_rb,0.69118e-03_rb,0.69062e-03_rb /) kao(:, 5,12,13) = (/ & & 0.20478e-02_rb,0.17920e-02_rb,0.15770e-02_rb,0.14084e-02_rb,0.12434e-02_rb, & & 0.10883e-02_rb,0.94102e-03_rb,0.81111e-03_rb,0.86624e-03_rb /) kao(:, 1,13,13) = (/ & & 0.20618e-02_rb,0.18042e-02_rb,0.15564e-02_rb,0.13520e-02_rb,0.11495e-02_rb, & & 0.94146e-03_rb,0.72197e-03_rb,0.49143e-03_rb,0.32080e-03_rb /) kao(:, 2,13,13) = (/ & & 0.20769e-02_rb,0.18174e-02_rb,0.15793e-02_rb,0.13781e-02_rb,0.11781e-02_rb, & & 0.98504e-03_rb,0.77410e-03_rb,0.54584e-03_rb,0.41409e-03_rb /) kao(:, 3,13,13) = (/ & & 0.20884e-02_rb,0.18274e-02_rb,0.16007e-02_rb,0.14008e-02_rb,0.12152e-02_rb, & & 0.10359e-02_rb,0.82528e-03_rb,0.62085e-03_rb,0.53970e-03_rb /) kao(:, 4,13,13) = (/ & & 0.21000e-02_rb,0.18376e-02_rb,0.16180e-02_rb,0.14292e-02_rb,0.12615e-02_rb, & & 0.10817e-02_rb,0.89457e-03_rb,0.71909e-03_rb,0.69474e-03_rb /) kao(:, 5,13,13) = (/ & & 0.21077e-02_rb,0.18456e-02_rb,0.16335e-02_rb,0.14673e-02_rb,0.12995e-02_rb, & & 0.11413e-02_rb,0.98821e-03_rb,0.84127e-03_rb,0.87402e-03_rb /) kao(:, 1, 1,14) = (/ & & 0.11199e-02_rb,0.98039e-03_rb,0.84084e-03_rb,0.70943e-03_rb,0.63603e-03_rb, & & 0.60649e-03_rb,0.68312e-03_rb,0.76350e-03_rb,0.90110e-03_rb /) kao(:, 2, 1,14) = (/ & & 0.11157e-02_rb,0.97670e-03_rb,0.83773e-03_rb,0.72395e-03_rb,0.68641e-03_rb, & & 0.69858e-03_rb,0.81907e-03_rb,0.92056e-03_rb,0.10823e-02_rb /) kao(:, 3, 1,14) = (/ & & 0.11108e-02_rb,0.97243e-03_rb,0.83426e-03_rb,0.74791e-03_rb,0.75340e-03_rb, & & 0.82026e-03_rb,0.97233e-03_rb,0.10968e-02_rb,0.12857e-02_rb /) kao(:, 4, 1,14) = (/ & & 0.11077e-02_rb,0.96981e-03_rb,0.83196e-03_rb,0.80006e-03_rb,0.82593e-03_rb, & & 0.96481e-03_rb,0.11451e-02_rb,0.12942e-02_rb,0.15153e-02_rb /) kao(:, 5, 1,14) = (/ & & 0.11057e-02_rb,0.96811e-03_rb,0.83287e-03_rb,0.85771e-03_rb,0.92243e-03_rb, & & 0.11291e-02_rb,0.13401e-02_rb,0.15139e-02_rb,0.17730e-02_rb /) kao(:, 1, 2,14) = (/ & & 0.12618e-02_rb,0.11045e-02_rb,0.94731e-03_rb,0.80059e-03_rb,0.70460e-03_rb, & & 0.66164e-03_rb,0.71798e-03_rb,0.80280e-03_rb,0.96182e-03_rb /) kao(:, 2, 2,14) = (/ & & 0.12573e-02_rb,0.11007e-02_rb,0.94415e-03_rb,0.81463e-03_rb,0.74844e-03_rb, & & 0.74157e-03_rb,0.85097e-03_rb,0.95625e-03_rb,0.11395e-02_rb /) kao(:, 3, 2,14) = (/ & & 0.12537e-02_rb,0.10976e-02_rb,0.94166e-03_rb,0.83421e-03_rb,0.81760e-03_rb, & & 0.85124e-03_rb,0.10029e-02_rb,0.11319e-02_rb,0.13421e-02_rb /) kao(:, 4, 2,14) = (/ & & 0.12517e-02_rb,0.10959e-02_rb,0.94019e-03_rb,0.88029e-03_rb,0.88890e-03_rb, & & 0.98937e-03_rb,0.11747e-02_rb,0.13301e-02_rb,0.15715e-02_rb /) kao(:, 5, 2,14) = (/ & & 0.12484e-02_rb,0.10932e-02_rb,0.93873e-03_rb,0.93946e-03_rb,0.97784e-03_rb, & & 0.11555e-02_rb,0.13735e-02_rb,0.15606e-02_rb,0.18367e-02_rb /) kao(:, 1, 3,14) = (/ & & 0.14334e-02_rb,0.12547e-02_rb,0.10760e-02_rb,0.90369e-03_rb,0.78163e-03_rb, & & 0.71064e-03_rb,0.72074e-03_rb,0.81006e-03_rb,0.97636e-03_rb /) kao(:, 2, 3,14) = (/ & & 0.14266e-02_rb,0.12488e-02_rb,0.10711e-02_rb,0.91657e-03_rb,0.81392e-03_rb, & & 0.78379e-03_rb,0.85758e-03_rb,0.96540e-03_rb,0.11622e-02_rb /) kao(:, 3, 3,14) = (/ & & 0.14223e-02_rb,0.12452e-02_rb,0.10680e-02_rb,0.93146e-03_rb,0.87510e-03_rb, & & 0.87756e-03_rb,0.10059e-02_rb,0.11359e-02_rb,0.13619e-02_rb /) kao(:, 4, 3,14) = (/ & & 0.14175e-02_rb,0.12411e-02_rb,0.10646e-02_rb,0.96483e-03_rb,0.94572e-03_rb, & & 0.99384e-03_rb,0.11710e-02_rb,0.13256e-02_rb,0.15838e-02_rb /) kao(:, 5, 3,14) = (/ & & 0.14120e-02_rb,0.12363e-02_rb,0.10614e-02_rb,0.10223e-02_rb,0.10225e-02_rb, & & 0.11461e-02_rb,0.13616e-02_rb,0.15455e-02_rb,0.18394e-02_rb /) kao(:, 1, 4,14) = (/ & & 0.16334e-02_rb,0.14296e-02_rb,0.12259e-02_rb,0.10262e-02_rb,0.87529e-03_rb, & & 0.76396e-03_rb,0.72119e-03_rb,0.79306e-03_rb,0.95651e-03_rb /) kao(:, 2, 4,14) = (/ & & 0.16232e-02_rb,0.14208e-02_rb,0.12185e-02_rb,0.10348e-02_rb,0.89367e-03_rb, & & 0.83199e-03_rb,0.84657e-03_rb,0.95561e-03_rb,0.11474e-02_rb /) kao(:, 3, 4,14) = (/ & & 0.16152e-02_rb,0.14140e-02_rb,0.12127e-02_rb,0.10485e-02_rb,0.94236e-03_rb, & & 0.91572e-03_rb,0.99902e-03_rb,0.11299e-02_rb,0.13583e-02_rb /) kao(:, 4, 4,14) = (/ & & 0.16069e-02_rb,0.14067e-02_rb,0.12065e-02_rb,0.10685e-02_rb,0.10126e-02_rb, & & 0.10172e-02_rb,0.11639e-02_rb,0.13179e-02_rb,0.15822e-02_rb /) kao(:, 5, 4,14) = (/ & & 0.15986e-02_rb,0.13996e-02_rb,0.12009e-02_rb,0.11161e-02_rb,0.10822e-02_rb, & & 0.11448e-02_rb,0.13482e-02_rb,0.15289e-02_rb,0.18307e-02_rb /) kao(:, 1, 5,14) = (/ & & 0.18523e-02_rb,0.16211e-02_rb,0.13900e-02_rb,0.11617e-02_rb,0.98609e-03_rb, & & 0.83071e-03_rb,0.73506e-03_rb,0.77421e-03_rb,0.93359e-03_rb /) kao(:, 2, 5,14) = (/ & & 0.18399e-02_rb,0.16104e-02_rb,0.13808e-02_rb,0.11680e-02_rb,0.99824e-03_rb, & & 0.89112e-03_rb,0.84383e-03_rb,0.93250e-03_rb,0.11210e-02_rb /) kao(:, 3, 5,14) = (/ & & 0.18296e-02_rb,0.16015e-02_rb,0.13734e-02_rb,0.11806e-02_rb,0.10315e-02_rb, & & 0.96812e-03_rb,0.98130e-03_rb,0.11095e-02_rb,0.13275e-02_rb /) kao(:, 4, 5,14) = (/ & & 0.18179e-02_rb,0.15913e-02_rb,0.13647e-02_rb,0.11924e-02_rb,0.10905e-02_rb, & & 0.10578e-02_rb,0.11513e-02_rb,0.13088e-02_rb,0.15638e-02_rb /) kao(:, 5, 5,14) = (/ & & 0.18067e-02_rb,0.15816e-02_rb,0.13575e-02_rb,0.12252e-02_rb,0.11627e-02_rb, & & 0.11690e-02_rb,0.13357e-02_rb,0.15168e-02_rb,0.18162e-02_rb /) kao(:, 1, 6,14) = (/ & & 0.20925e-02_rb,0.18312e-02_rb,0.15700e-02_rb,0.13095e-02_rb,0.11041e-02_rb, & & 0.91669e-03_rb,0.76437e-03_rb,0.75155e-03_rb,0.90862e-03_rb /) kao(:, 2, 6,14) = (/ & & 0.20749e-02_rb,0.18159e-02_rb,0.15569e-02_rb,0.13117e-02_rb,0.11170e-02_rb, & & 0.95740e-03_rb,0.85349e-03_rb,0.90211e-03_rb,0.10843e-02_rb /) kao(:, 3, 6,14) = (/ & & 0.20605e-02_rb,0.18034e-02_rb,0.15463e-02_rb,0.13221e-02_rb,0.11384e-02_rb, & & 0.10293e-02_rb,0.97333e-03_rb,0.10765e-02_rb,0.12853e-02_rb /) kao(:, 4, 6,14) = (/ & & 0.20459e-02_rb,0.17907e-02_rb,0.15355e-02_rb,0.13321e-02_rb,0.11878e-02_rb, & & 0.11138e-02_rb,0.11236e-02_rb,0.12716e-02_rb,0.15170e-02_rb /) kao(:, 5, 6,14) = (/ & & 0.20310e-02_rb,0.17778e-02_rb,0.15259e-02_rb,0.13542e-02_rb,0.12517e-02_rb, & & 0.12095e-02_rb,0.13081e-02_rb,0.14898e-02_rb,0.17755e-02_rb /) kao(:, 1, 7,14) = (/ & & 0.23595e-02_rb,0.20648e-02_rb,0.17701e-02_rb,0.14754e-02_rb,0.12323e-02_rb, & & 0.10132e-02_rb,0.80835e-03_rb,0.73377e-03_rb,0.88458e-03_rb /) kao(:, 2, 7,14) = (/ & & 0.23333e-02_rb,0.20420e-02_rb,0.17506e-02_rb,0.14700e-02_rb,0.12449e-02_rb, & & 0.10427e-02_rb,0.88482e-03_rb,0.87865e-03_rb,0.10548e-02_rb /) kao(:, 3, 7,14) = (/ & & 0.23118e-02_rb,0.20232e-02_rb,0.17345e-02_rb,0.14754e-02_rb,0.12581e-02_rb, & & 0.11040e-02_rb,0.98425e-03_rb,0.10425e-02_rb,0.12451e-02_rb /) kao(:, 4, 7,14) = (/ & & 0.22911e-02_rb,0.20052e-02_rb,0.17193e-02_rb,0.14831e-02_rb,0.12996e-02_rb, & & 0.11778e-02_rb,0.11137e-02_rb,0.12310e-02_rb,0.14656e-02_rb /) kao(:, 5, 7,14) = (/ & & 0.22715e-02_rb,0.19881e-02_rb,0.17061e-02_rb,0.14949e-02_rb,0.13595e-02_rb, & & 0.12702e-02_rb,0.12792e-02_rb,0.14480e-02_rb,0.17220e-02_rb /) kao(:, 1, 8,14) = (/ & & 0.26465e-02_rb,0.23159e-02_rb,0.19853e-02_rb,0.16547e-02_rb,0.13704e-02_rb, & & 0.11161e-02_rb,0.87227e-03_rb,0.72579e-03_rb,0.85316e-03_rb /) kao(:, 2, 8,14) = (/ & & 0.26139e-02_rb,0.22874e-02_rb,0.19609e-02_rb,0.16420e-02_rb,0.13837e-02_rb, & & 0.11377e-02_rb,0.93183e-03_rb,0.85926e-03_rb,0.10245e-02_rb /) kao(:, 3, 8,14) = (/ & & 0.25857e-02_rb,0.22628e-02_rb,0.19400e-02_rb,0.16425e-02_rb,0.13917e-02_rb, & & 0.11859e-02_rb,0.10228e-02_rb,0.10157e-02_rb,0.12103e-02_rb /) kao(:, 4, 8,14) = (/ & & 0.25573e-02_rb,0.22380e-02_rb,0.19187e-02_rb,0.16463e-02_rb,0.14196e-02_rb, & & 0.12582e-02_rb,0.11286e-02_rb,0.11958e-02_rb,0.14229e-02_rb /) kao(:, 5, 8,14) = (/ & & 0.25310e-02_rb,0.22151e-02_rb,0.19006e-02_rb,0.16478e-02_rb,0.14771e-02_rb, & & 0.13382e-02_rb,0.12711e-02_rb,0.14043e-02_rb,0.16688e-02_rb /) kao(:, 1, 9,14) = (/ & & 0.29437e-02_rb,0.25759e-02_rb,0.22081e-02_rb,0.18403e-02_rb,0.15126e-02_rb, & & 0.12266e-02_rb,0.94502e-03_rb,0.72553e-03_rb,0.80872e-03_rb /) kao(:, 2, 9,14) = (/ & & 0.29059e-02_rb,0.25428e-02_rb,0.21798e-02_rb,0.18221e-02_rb,0.15299e-02_rb, & & 0.12446e-02_rb,0.99114e-03_rb,0.84495e-03_rb,0.98123e-03_rb /) kao(:, 3, 9,14) = (/ & & 0.28735e-02_rb,0.25146e-02_rb,0.21557e-02_rb,0.18193e-02_rb,0.15373e-02_rb, & & 0.12770e-02_rb,0.10730e-02_rb,0.99151e-03_rb,0.11701e-02_rb /) kao(:, 4, 9,14) = (/ & & 0.28399e-02_rb,0.24853e-02_rb,0.21306e-02_rb,0.18209e-02_rb,0.15526e-02_rb, & & 0.13434e-02_rb,0.11682e-02_rb,0.11617e-02_rb,0.13773e-02_rb /) kao(:, 5, 9,14) = (/ & & 0.28070e-02_rb,0.24565e-02_rb,0.21073e-02_rb,0.18175e-02_rb,0.15973e-02_rb, & & 0.14179e-02_rb,0.12830e-02_rb,0.13638e-02_rb,0.16173e-02_rb /) kao(:, 1,10,14) = (/ & & 0.32399e-02_rb,0.28350e-02_rb,0.24302e-02_rb,0.20252e-02_rb,0.16589e-02_rb, & & 0.13407e-02_rb,0.10274e-02_rb,0.73986e-03_rb,0.76203e-03_rb /) kao(:, 2,10,14) = (/ & & 0.31965e-02_rb,0.27971e-02_rb,0.23977e-02_rb,0.20029e-02_rb,0.16776e-02_rb, & & 0.13600e-02_rb,0.10652e-02_rb,0.84551e-03_rb,0.93841e-03_rb /) kao(:, 3,10,14) = (/ & & 0.31601e-02_rb,0.27653e-02_rb,0.23707e-02_rb,0.19975e-02_rb,0.16883e-02_rb, & & 0.13843e-02_rb,0.11385e-02_rb,0.98230e-03_rb,0.11352e-02_rb /) kao(:, 4,10,14) = (/ & & 0.31230e-02_rb,0.27329e-02_rb,0.23428e-02_rb,0.19986e-02_rb,0.16986e-02_rb, & & 0.14381e-02_rb,0.12318e-02_rb,0.11431e-02_rb,0.13466e-02_rb /) kao(:, 5,10,14) = (/ & & 0.30838e-02_rb,0.26986e-02_rb,0.23157e-02_rb,0.19957e-02_rb,0.17285e-02_rb, & & 0.15111e-02_rb,0.13270e-02_rb,0.13396e-02_rb,0.15853e-02_rb /) kao(:, 1,11,14) = (/ & & 0.35110e-02_rb,0.30722e-02_rb,0.26335e-02_rb,0.21948e-02_rb,0.18129e-02_rb, & & 0.14641e-02_rb,0.11256e-02_rb,0.79561e-03_rb,0.78300e-03_rb /) kao(:, 2,11,14) = (/ & & 0.34682e-02_rb,0.30349e-02_rb,0.26015e-02_rb,0.21788e-02_rb,0.18300e-02_rb, & & 0.14846e-02_rb,0.11655e-02_rb,0.90541e-03_rb,0.97352e-03_rb /) kao(:, 3,11,14) = (/ & & 0.34263e-02_rb,0.29982e-02_rb,0.25700e-02_rb,0.21750e-02_rb,0.18411e-02_rb, & & 0.15104e-02_rb,0.12444e-02_rb,0.10462e-02_rb,0.11863e-02_rb /) kao(:, 4,11,14) = (/ & & 0.33817e-02_rb,0.29592e-02_rb,0.25369e-02_rb,0.21760e-02_rb,0.18525e-02_rb, & & 0.15666e-02_rb,0.13382e-02_rb,0.12088e-02_rb,0.14124e-02_rb /) kao(:, 5,11,14) = (/ & & 0.33351e-02_rb,0.29184e-02_rb,0.25088e-02_rb,0.21673e-02_rb,0.18858e-02_rb, & & 0.16404e-02_rb,0.14339e-02_rb,0.14160e-02_rb,0.16713e-02_rb /) kao(:, 1,12,14) = (/ & & 0.37813e-02_rb,0.33087e-02_rb,0.28362e-02_rb,0.23654e-02_rb,0.19642e-02_rb, & & 0.15868e-02_rb,0.12220e-02_rb,0.85134e-03_rb,0.79810e-03_rb /) kao(:, 2,12,14) = (/ & & 0.37337e-02_rb,0.32671e-02_rb,0.28006e-02_rb,0.23535e-02_rb,0.19812e-02_rb, & & 0.16073e-02_rb,0.12646e-02_rb,0.96230e-03_rb,0.10021e-02_rb /) kao(:, 3,12,14) = (/ & & 0.36838e-02_rb,0.32235e-02_rb,0.27633e-02_rb,0.23494e-02_rb,0.19898e-02_rb, & & 0.16363e-02_rb,0.13472e-02_rb,0.11056e-02_rb,0.12297e-02_rb /) kao(:, 4,12,14) = (/ & & 0.36315e-02_rb,0.31778e-02_rb,0.27268e-02_rb,0.23457e-02_rb,0.20010e-02_rb, & & 0.16953e-02_rb,0.14396e-02_rb,0.12736e-02_rb,0.14737e-02_rb /) kao(:, 5,12,14) = (/ & & 0.35780e-02_rb,0.31310e-02_rb,0.26962e-02_rb,0.23324e-02_rb,0.20383e-02_rb, & & 0.17680e-02_rb,0.15379e-02_rb,0.14913e-02_rb,0.17515e-02_rb /) kao(:, 1,13,14) = (/ & & 0.40401e-02_rb,0.35352e-02_rb,0.30303e-02_rb,0.25331e-02_rb,0.21125e-02_rb, & & 0.17061e-02_rb,0.13144e-02_rb,0.90469e-03_rb,0.81129e-03_rb /) kao(:, 2,13,14) = (/ & & 0.39897e-02_rb,0.34912e-02_rb,0.29926e-02_rb,0.25245e-02_rb,0.21272e-02_rb, & & 0.17273e-02_rb,0.13608e-02_rb,0.10148e-02_rb,0.10248e-02_rb /) kao(:, 3,13,14) = (/ & & 0.39313e-02_rb,0.34401e-02_rb,0.29487e-02_rb,0.25178e-02_rb,0.21303e-02_rb, & & 0.17587e-02_rb,0.14454e-02_rb,0.11592e-02_rb,0.12656e-02_rb /) kao(:, 4,13,14) = (/ & & 0.38694e-02_rb,0.33859e-02_rb,0.29093e-02_rb,0.25068e-02_rb,0.21412e-02_rb, & & 0.18203e-02_rb,0.15361e-02_rb,0.13357e-02_rb,0.15298e-02_rb /) kao(:, 5,13,14) = (/ & & 0.38109e-02_rb,0.33347e-02_rb,0.28761e-02_rb,0.24907e-02_rb,0.21821e-02_rb, & & 0.18916e-02_rb,0.16371e-02_rb,0.15629e-02_rb,0.18275e-02_rb /) kao(:, 1, 1,15) = (/ & & 0.15071e-02_rb,0.13191e-02_rb,0.11311e-02_rb,0.94313e-03_rb,0.82178e-03_rb, & & 0.90230e-03_rb,0.10652e-02_rb,0.11879e-02_rb,0.14045e-02_rb /) kao(:, 2, 1,15) = (/ & & 0.15053e-02_rb,0.13176e-02_rb,0.11298e-02_rb,0.94210e-03_rb,0.87562e-03_rb, & & 0.10432e-02_rb,0.12302e-02_rb,0.13664e-02_rb,0.16201e-02_rb /) kao(:, 3, 1,15) = (/ & & 0.15019e-02_rb,0.13147e-02_rb,0.11275e-02_rb,0.94187e-03_rb,0.97652e-03_rb, & & 0.12093e-02_rb,0.14252e-02_rb,0.15816e-02_rb,0.18766e-02_rb /) kao(:, 4, 1,15) = (/ & & 0.14976e-02_rb,0.13109e-02_rb,0.11243e-02_rb,0.96063e-03_rb,0.11391e-02_rb, & & 0.14106e-02_rb,0.16622e-02_rb,0.18446e-02_rb,0.21889e-02_rb /) kao(:, 5, 1,15) = (/ & & 0.14918e-02_rb,0.13060e-02_rb,0.11201e-02_rb,0.10256e-02_rb,0.13135e-02_rb, & & 0.16256e-02_rb,0.19138e-02_rb,0.21174e-02_rb,0.25177e-02_rb /) kao(:, 1, 2,15) = (/ & & 0.17368e-02_rb,0.15199e-02_rb,0.13031e-02_rb,0.10865e-02_rb,0.93589e-03_rb, & & 0.95913e-03_rb,0.11327e-02_rb,0.12643e-02_rb,0.15179e-02_rb /) kao(:, 2, 2,15) = (/ & & 0.17347e-02_rb,0.15183e-02_rb,0.13018e-02_rb,0.10853e-02_rb,0.98162e-03_rb, & & 0.11204e-02_rb,0.13214e-02_rb,0.14695e-02_rb,0.17719e-02_rb /) kao(:, 3, 2,15) = (/ & & 0.17301e-02_rb,0.15143e-02_rb,0.12982e-02_rb,0.10867e-02_rb,0.10624e-02_rb, & & 0.13058e-02_rb,0.15388e-02_rb,0.17088e-02_rb,0.20640e-02_rb /) kao(:, 4, 2,15) = (/ & & 0.17235e-02_rb,0.15085e-02_rb,0.12935e-02_rb,0.11059e-02_rb,0.12337e-02_rb, & & 0.15285e-02_rb,0.18009e-02_rb,0.19982e-02_rb,0.24152e-02_rb /) kao(:, 5, 2,15) = (/ & & 0.17181e-02_rb,0.15038e-02_rb,0.12895e-02_rb,0.11598e-02_rb,0.14379e-02_rb, & & 0.17807e-02_rb,0.20976e-02_rb,0.23230e-02_rb,0.28132e-02_rb /) kao(:, 1, 3,15) = (/ & & 0.19949e-02_rb,0.17458e-02_rb,0.14967e-02_rb,0.12475e-02_rb,0.10641e-02_rb, & & 0.10100e-02_rb,0.11774e-02_rb,0.13116e-02_rb,0.16051e-02_rb /) kao(:, 2, 3,15) = (/ & & 0.19910e-02_rb,0.17424e-02_rb,0.14939e-02_rb,0.12453e-02_rb,0.11049e-02_rb, & & 0.11564e-02_rb,0.13657e-02_rb,0.15222e-02_rb,0.18601e-02_rb /) kao(:, 3, 3,15) = (/ & & 0.19848e-02_rb,0.17370e-02_rb,0.14892e-02_rb,0.12476e-02_rb,0.11571e-02_rb, & & 0.13573e-02_rb,0.16014e-02_rb,0.17817e-02_rb,0.21839e-02_rb /) kao(:, 4, 3,15) = (/ & & 0.19813e-02_rb,0.17340e-02_rb,0.14867e-02_rb,0.12671e-02_rb,0.12941e-02_rb, & & 0.15954e-02_rb,0.18821e-02_rb,0.20919e-02_rb,0.25670e-02_rb /) kao(:, 5, 3,15) = (/ & & 0.19771e-02_rb,0.17304e-02_rb,0.14836e-02_rb,0.13013e-02_rb,0.15091e-02_rb, & & 0.18697e-02_rb,0.22058e-02_rb,0.24525e-02_rb,0.30084e-02_rb /) kao(:, 1, 4,15) = (/ & & 0.23002e-02_rb,0.20126e-02_rb,0.17253e-02_rb,0.14382e-02_rb,0.12005e-02_rb, & & 0.10932e-02_rb,0.12228e-02_rb,0.13639e-02_rb,0.16798e-02_rb /) kao(:, 2, 4,15) = (/ & & 0.22929e-02_rb,0.20065e-02_rb,0.17201e-02_rb,0.14337e-02_rb,0.12491e-02_rb, & & 0.11967e-02_rb,0.14046e-02_rb,0.15632e-02_rb,0.19322e-02_rb /) kao(:, 3, 4,15) = (/ & & 0.22828e-02_rb,0.19977e-02_rb,0.17127e-02_rb,0.14287e-02_rb,0.12914e-02_rb, & & 0.13860e-02_rb,0.16360e-02_rb,0.18240e-02_rb,0.22487e-02_rb /) kao(:, 4, 4,15) = (/ & & 0.22757e-02_rb,0.19915e-02_rb,0.17074e-02_rb,0.14457e-02_rb,0.13800e-02_rb, & & 0.16339e-02_rb,0.19297e-02_rb,0.21519e-02_rb,0.26493e-02_rb /) kao(:, 5, 4,15) = (/ & & 0.22684e-02_rb,0.19852e-02_rb,0.17019e-02_rb,0.14754e-02_rb,0.15614e-02_rb, & & 0.19242e-02_rb,0.22727e-02_rb,0.25341e-02_rb,0.31196e-02_rb /) kao(:, 1, 5,15) = (/ & & 0.26562e-02_rb,0.23246e-02_rb,0.19929e-02_rb,0.16611e-02_rb,0.13598e-02_rb, & & 0.11996e-02_rb,0.12698e-02_rb,0.14174e-02_rb,0.17501e-02_rb /) kao(:, 2, 5,15) = (/ & & 0.26415e-02_rb,0.23116e-02_rb,0.19818e-02_rb,0.16521e-02_rb,0.14129e-02_rb, & & 0.12866e-02_rb,0.14524e-02_rb,0.16197e-02_rb,0.20022e-02_rb /) kao(:, 3, 5,15) = (/ & & 0.26277e-02_rb,0.22994e-02_rb,0.19710e-02_rb,0.16428e-02_rb,0.14513e-02_rb, & & 0.14339e-02_rb,0.16856e-02_rb,0.18777e-02_rb,0.23236e-02_rb /) kao(:, 4, 5,15) = (/ & & 0.26179e-02_rb,0.22909e-02_rb,0.19639e-02_rb,0.16526e-02_rb,0.15154e-02_rb, & & 0.16607e-02_rb,0.19618e-02_rb,0.21909e-02_rb,0.27021e-02_rb /) kao(:, 5, 5,15) = (/ & & 0.26074e-02_rb,0.22818e-02_rb,0.19561e-02_rb,0.16780e-02_rb,0.16497e-02_rb, & & 0.19592e-02_rb,0.23163e-02_rb,0.25915e-02_rb,0.31846e-02_rb /) kao(:, 1, 6,15) = (/ & & 0.30676e-02_rb,0.26845e-02_rb,0.23014e-02_rb,0.19182e-02_rb,0.15508e-02_rb, & & 0.13265e-02_rb,0.13165e-02_rb,0.14712e-02_rb,0.18123e-02_rb /) kao(:, 2, 6,15) = (/ & & 0.30472e-02_rb,0.26667e-02_rb,0.22862e-02_rb,0.19057e-02_rb,0.15947e-02_rb, & & 0.14067e-02_rb,0.15004e-02_rb,0.16750e-02_rb,0.20695e-02_rb /) kao(:, 3, 6,15) = (/ & & 0.30255e-02_rb,0.26477e-02_rb,0.22705e-02_rb,0.18926e-02_rb,0.16408e-02_rb, & & 0.15149e-02_rb,0.17276e-02_rb,0.19275e-02_rb,0.23847e-02_rb /) kao(:, 4, 6,15) = (/ & & 0.30083e-02_rb,0.26326e-02_rb,0.22569e-02_rb,0.18906e-02_rb,0.16765e-02_rb, & & 0.17066e-02_rb,0.20035e-02_rb,0.22386e-02_rb,0.27616e-02_rb /) kao(:, 5, 6,15) = (/ & & 0.29915e-02_rb,0.26179e-02_rb,0.22443e-02_rb,0.19114e-02_rb,0.17836e-02_rb, & & 0.19800e-02_rb,0.23411e-02_rb,0.26194e-02_rb,0.32234e-02_rb /) kao(:, 1, 7,15) = (/ & & 0.35311e-02_rb,0.30900e-02_rb,0.26490e-02_rb,0.22082e-02_rb,0.17722e-02_rb, & & 0.14850e-02_rb,0.13781e-02_rb,0.15158e-02_rb,0.18578e-02_rb /) kao(:, 2, 7,15) = (/ & & 0.35031e-02_rb,0.30656e-02_rb,0.26281e-02_rb,0.21907e-02_rb,0.18048e-02_rb, & & 0.15528e-02_rb,0.15481e-02_rb,0.17322e-02_rb,0.21307e-02_rb /) kao(:, 3, 7,15) = (/ & & 0.34762e-02_rb,0.30421e-02_rb,0.26077e-02_rb,0.21737e-02_rb,0.18550e-02_rb, & & 0.16362e-02_rb,0.17771e-02_rb,0.19863e-02_rb,0.24506e-02_rb /) kao(:, 4, 7,15) = (/ & & 0.34506e-02_rb,0.30197e-02_rb,0.25888e-02_rb,0.21628e-02_rb,0.18864e-02_rb, & & 0.17891e-02_rb,0.20527e-02_rb,0.22948e-02_rb,0.28308e-02_rb /) kao(:, 5, 7,15) = (/ & & 0.34242e-02_rb,0.29966e-02_rb,0.25690e-02_rb,0.21752e-02_rb,0.19463e-02_rb, & & 0.20224e-02_rb,0.23798e-02_rb,0.26659e-02_rb,0.32785e-02_rb /) kao(:, 1, 8,15) = (/ & & 0.40545e-02_rb,0.35480e-02_rb,0.30415e-02_rb,0.25348e-02_rb,0.20284e-02_rb, & & 0.16698e-02_rb,0.14585e-02_rb,0.15473e-02_rb,0.18938e-02_rb /) kao(:, 2, 8,15) = (/ & & 0.40094e-02_rb,0.35086e-02_rb,0.30078e-02_rb,0.25070e-02_rb,0.20421e-02_rb, & & 0.17325e-02_rb,0.16159e-02_rb,0.17783e-02_rb,0.21732e-02_rb /) kao(:, 3, 8,15) = (/ & & 0.39679e-02_rb,0.34723e-02_rb,0.29772e-02_rb,0.24816e-02_rb,0.20882e-02_rb, & & 0.17972e-02_rb,0.18217e-02_rb,0.20430e-02_rb,0.25042e-02_rb /) kao(:, 4, 8,15) = (/ & & 0.39321e-02_rb,0.34411e-02_rb,0.29500e-02_rb,0.24630e-02_rb,0.21284e-02_rb, & & 0.19080e-02_rb,0.21043e-02_rb,0.23586e-02_rb,0.28966e-02_rb /) kao(:, 5, 8,15) = (/ & & 0.38953e-02_rb,0.34088e-02_rb,0.29224e-02_rb,0.24683e-02_rb,0.21576e-02_rb, & & 0.21070e-02_rb,0.24382e-02_rb,0.27335e-02_rb,0.33549e-02_rb /) kao(:, 1, 9,15) = (/ & & 0.46508e-02_rb,0.40697e-02_rb,0.34886e-02_rb,0.29075e-02_rb,0.23264e-02_rb, & & 0.18591e-02_rb,0.15578e-02_rb,0.15738e-02_rb,0.19224e-02_rb /) kao(:, 2, 9,15) = (/ & & 0.45823e-02_rb,0.40098e-02_rb,0.34374e-02_rb,0.28649e-02_rb,0.23092e-02_rb, & & 0.19366e-02_rb,0.17051e-02_rb,0.18133e-02_rb,0.22104e-02_rb /) kao(:, 3, 9,15) = (/ & & 0.45166e-02_rb,0.39524e-02_rb,0.33880e-02_rb,0.28238e-02_rb,0.23394e-02_rb, & & 0.19917e-02_rb,0.18843e-02_rb,0.20815e-02_rb,0.25365e-02_rb /) kao(:, 4, 9,15) = (/ & & 0.44602e-02_rb,0.39031e-02_rb,0.33460e-02_rb,0.27890e-02_rb,0.23856e-02_rb, & & 0.20682e-02_rb,0.21419e-02_rb,0.24093e-02_rb,0.29396e-02_rb /) kao(:, 5, 9,15) = (/ & & 0.44050e-02_rb,0.38549e-02_rb,0.33047e-02_rb,0.27817e-02_rb,0.24123e-02_rb, & & 0.22258e-02_rb,0.24850e-02_rb,0.27956e-02_rb,0.34119e-02_rb /) kao(:, 1,10,15) = (/ & & 0.53098e-02_rb,0.46463e-02_rb,0.39828e-02_rb,0.33194e-02_rb,0.26559e-02_rb, & & 0.20766e-02_rb,0.16840e-02_rb,0.16129e-02_rb,0.19635e-02_rb /) kao(:, 2,10,15) = (/ & & 0.52134e-02_rb,0.45620e-02_rb,0.39106e-02_rb,0.32592e-02_rb,0.26145e-02_rb, & & 0.21601e-02_rb,0.18269e-02_rb,0.18690e-02_rb,0.22681e-02_rb /) kao(:, 3,10,15) = (/ & & 0.51182e-02_rb,0.44788e-02_rb,0.38392e-02_rb,0.31998e-02_rb,0.26226e-02_rb, & & 0.22138e-02_rb,0.19824e-02_rb,0.21416e-02_rb,0.25956e-02_rb /) kao(:, 4,10,15) = (/ & & 0.50344e-02_rb,0.44054e-02_rb,0.37765e-02_rb,0.31477e-02_rb,0.26616e-02_rb, & & 0.22709e-02_rb,0.22099e-02_rb,0.24682e-02_rb,0.29962e-02_rb /) kao(:, 5,10,15) = (/ & & 0.49550e-02_rb,0.43361e-02_rb,0.37172e-02_rb,0.31183e-02_rb,0.26883e-02_rb, & & 0.23873e-02_rb,0.25425e-02_rb,0.28708e-02_rb,0.34790e-02_rb /) kao(:, 1,11,15) = (/ & & 0.59619e-02_rb,0.52169e-02_rb,0.44719e-02_rb,0.37267e-02_rb,0.29817e-02_rb, & & 0.23525e-02_rb,0.18854e-02_rb,0.17723e-02_rb,0.21445e-02_rb /) kao(:, 2,11,15) = (/ & & 0.58318e-02_rb,0.51031e-02_rb,0.43744e-02_rb,0.36457e-02_rb,0.29351e-02_rb, & & 0.24253e-02_rb,0.20278e-02_rb,0.20449e-02_rb,0.24715e-02_rb /) kao(:, 3,11,15) = (/ & & 0.57112e-02_rb,0.49976e-02_rb,0.42840e-02_rb,0.35704e-02_rb,0.29381e-02_rb, & & 0.24724e-02_rb,0.21871e-02_rb,0.23372e-02_rb,0.28231e-02_rb /) kao(:, 4,11,15) = (/ & & 0.56008e-02_rb,0.49010e-02_rb,0.42013e-02_rb,0.35025e-02_rb,0.29677e-02_rb, & & 0.25269e-02_rb,0.24222e-02_rb,0.27009e-02_rb,0.32614e-02_rb /) kao(:, 5,11,15) = (/ & & 0.54961e-02_rb,0.48096e-02_rb,0.41230e-02_rb,0.34666e-02_rb,0.29811e-02_rb, & & 0.26438e-02_rb,0.27691e-02_rb,0.31324e-02_rb,0.37747e-02_rb /) kao(:, 1,12,15) = (/ & & 0.66218e-02_rb,0.57942e-02_rb,0.49667e-02_rb,0.41391e-02_rb,0.33116e-02_rb, & & 0.26382e-02_rb,0.20922e-02_rb,0.19344e-02_rb,0.23267e-02_rb /) kao(:, 2,12,15) = (/ & & 0.64584e-02_rb,0.56513e-02_rb,0.48443e-02_rb,0.40372e-02_rb,0.32618e-02_rb, & & 0.26974e-02_rb,0.22343e-02_rb,0.22270e-02_rb,0.26783e-02_rb /) kao(:, 3,12,15) = (/ & & 0.63097e-02_rb,0.55213e-02_rb,0.47331e-02_rb,0.39445e-02_rb,0.32599e-02_rb, & & 0.27357e-02_rb,0.23983e-02_rb,0.25418e-02_rb,0.30577e-02_rb /) kao(:, 4,12,15) = (/ & & 0.61694e-02_rb,0.53986e-02_rb,0.46278e-02_rb,0.38631e-02_rb,0.32772e-02_rb, & & 0.27857e-02_rb,0.26412e-02_rb,0.29352e-02_rb,0.35233e-02_rb /) kao(:, 5,12,15) = (/ & & 0.60360e-02_rb,0.52820e-02_rb,0.45279e-02_rb,0.38177e-02_rb,0.32735e-02_rb, & & 0.29011e-02_rb,0.29998e-02_rb,0.33948e-02_rb,0.40685e-02_rb /) kao(:, 1,13,15) = (/ & & 0.72856e-02_rb,0.63751e-02_rb,0.54646e-02_rb,0.45539e-02_rb,0.36434e-02_rb, & & 0.29246e-02_rb,0.23024e-02_rb,0.20968e-02_rb,0.25004e-02_rb /) kao(:, 2,13,15) = (/ & & 0.70792e-02_rb,0.61945e-02_rb,0.53099e-02_rb,0.44252e-02_rb,0.35875e-02_rb, & & 0.29681e-02_rb,0.24397e-02_rb,0.24073e-02_rb,0.28787e-02_rb /) kao(:, 3,13,15) = (/ & & 0.68966e-02_rb,0.60348e-02_rb,0.51733e-02_rb,0.43112e-02_rb,0.35811e-02_rb, & & 0.29976e-02_rb,0.26071e-02_rb,0.27479e-02_rb,0.32886e-02_rb /) kao(:, 4,13,15) = (/ & & 0.67258e-02_rb,0.58855e-02_rb,0.50451e-02_rb,0.42204e-02_rb,0.35830e-02_rb, & & 0.30400e-02_rb,0.28573e-02_rb,0.31625e-02_rb,0.37791e-02_rb /) kao(:, 5,13,15) = (/ & & 0.65607e-02_rb,0.57411e-02_rb,0.49214e-02_rb,0.41617e-02_rb,0.35593e-02_rb, & & 0.31530e-02_rb,0.32258e-02_rb,0.36487e-02_rb,0.43508e-02_rb /) kao(:, 1, 1,16) = (/ & & 0.16712e-02_rb,0.14631e-02_rb,0.12550e-02_rb,0.10468e-02_rb,0.92082e-03_rb, & & 0.11371e-02_rb,0.13321e-02_rb,0.14544e-02_rb,0.17472e-02_rb /) kao(:, 2, 1,16) = (/ & & 0.16787e-02_rb,0.14701e-02_rb,0.12615e-02_rb,0.10530e-02_rb,0.10440e-02_rb, & & 0.12893e-02_rb,0.15114e-02_rb,0.16524e-02_rb,0.19826e-02_rb /) kao(:, 3, 1,16) = (/ & & 0.16875e-02_rb,0.14779e-02_rb,0.12683e-02_rb,0.10588e-02_rb,0.11676e-02_rb, & & 0.14424e-02_rb,0.16914e-02_rb,0.18523e-02_rb,0.22202e-02_rb /) kao(:, 4, 1,16) = (/ & & 0.16926e-02_rb,0.14826e-02_rb,0.12725e-02_rb,0.10626e-02_rb,0.12909e-02_rb, & & 0.15950e-02_rb,0.18720e-02_rb,0.20532e-02_rb,0.24579e-02_rb /) kao(:, 5, 1,16) = (/ & & 0.16942e-02_rb,0.14841e-02_rb,0.12739e-02_rb,0.11419e-02_rb,0.15149e-02_rb, & & 0.18796e-02_rb,0.22246e-02_rb,0.24968e-02_rb,0.29379e-02_rb /) kao(:, 1, 2,16) = (/ & & 0.19607e-02_rb,0.17158e-02_rb,0.14714e-02_rb,0.12274e-02_rb,0.10440e-02_rb, & & 0.12890e-02_rb,0.15097e-02_rb,0.16471e-02_rb,0.20285e-02_rb /) kao(:, 2, 2,16) = (/ & & 0.19666e-02_rb,0.17216e-02_rb,0.14767e-02_rb,0.12314e-02_rb,0.11872e-02_rb, & & 0.14659e-02_rb,0.17177e-02_rb,0.18761e-02_rb,0.23077e-02_rb /) kao(:, 3, 2,16) = (/ & & 0.19740e-02_rb,0.17284e-02_rb,0.14830e-02_rb,0.12374e-02_rb,0.13301e-02_rb, & & 0.16429e-02_rb,0.19255e-02_rb,0.21058e-02_rb,0.25866e-02_rb /) kao(:, 4, 2,16) = (/ & & 0.19796e-02_rb,0.17334e-02_rb,0.14872e-02_rb,0.12416e-02_rb,0.14717e-02_rb, & & 0.18182e-02_rb,0.21321e-02_rb,0.23342e-02_rb,0.28637e-02_rb /) kao(:, 5, 2,16) = (/ & & 0.19818e-02_rb,0.17354e-02_rb,0.14891e-02_rb,0.12544e-02_rb,0.16318e-02_rb, & & 0.20217e-02_rb,0.23832e-02_rb,0.26470e-02_rb,0.31951e-02_rb /) kao(:, 1, 3,16) = (/ & & 0.23039e-02_rb,0.20168e-02_rb,0.17292e-02_rb,0.14410e-02_rb,0.11614e-02_rb, & & 0.14213e-02_rb,0.16646e-02_rb,0.18149e-02_rb,0.22923e-02_rb /) kao(:, 2, 3,16) = (/ & & 0.23064e-02_rb,0.20187e-02_rb,0.17311e-02_rb,0.14440e-02_rb,0.13190e-02_rb, & & 0.16288e-02_rb,0.19083e-02_rb,0.20825e-02_rb,0.26267e-02_rb /) kao(:, 3, 3,16) = (/ & & 0.23119e-02_rb,0.20237e-02_rb,0.17351e-02_rb,0.14470e-02_rb,0.14864e-02_rb, & & 0.18354e-02_rb,0.21515e-02_rb,0.23501e-02_rb,0.29596e-02_rb /) kao(:, 4, 3,16) = (/ & & 0.23154e-02_rb,0.20269e-02_rb,0.17385e-02_rb,0.14496e-02_rb,0.16513e-02_rb, & & 0.20395e-02_rb,0.23915e-02_rb,0.26154e-02_rb,0.32883e-02_rb /) kao(:, 5, 3,16) = (/ & & 0.23212e-02_rb,0.20321e-02_rb,0.17430e-02_rb,0.14536e-02_rb,0.18129e-02_rb, & & 0.22398e-02_rb,0.26272e-02_rb,0.28760e-02_rb,0.36101e-02_rb /) kao(:, 1, 4,16) = (/ & & 0.27129e-02_rb,0.23736e-02_rb,0.20348e-02_rb,0.16965e-02_rb,0.13577e-02_rb, & & 0.15487e-02_rb,0.18138e-02_rb,0.19776e-02_rb,0.25289e-02_rb /) kao(:, 2, 4,16) = (/ & & 0.27133e-02_rb,0.23745e-02_rb,0.20358e-02_rb,0.16966e-02_rb,0.14516e-02_rb, & & 0.17925e-02_rb,0.21002e-02_rb,0.22917e-02_rb,0.29262e-02_rb /) kao(:, 3, 4,16) = (/ & & 0.27155e-02_rb,0.23766e-02_rb,0.20379e-02_rb,0.16990e-02_rb,0.16483e-02_rb, & & 0.20360e-02_rb,0.23858e-02_rb,0.26061e-02_rb,0.33224e-02_rb /) kao(:, 4, 4,16) = (/ & & 0.27175e-02_rb,0.23784e-02_rb,0.20394e-02_rb,0.17007e-02_rb,0.18426e-02_rb, & & 0.22757e-02_rb,0.26681e-02_rb,0.29171e-02_rb,0.37132e-02_rb /) kao(:, 5, 4,16) = (/ & & 0.27186e-02_rb,0.23796e-02_rb,0.20406e-02_rb,0.17019e-02_rb,0.20320e-02_rb, & & 0.25101e-02_rb,0.29443e-02_rb,0.32220e-02_rb,0.40947e-02_rb /) kao(:, 1, 5,16) = (/ & & 0.32119e-02_rb,0.28114e-02_rb,0.24099e-02_rb,0.20078e-02_rb,0.16065e-02_rb, & & 0.16767e-02_rb,0.19643e-02_rb,0.21431e-02_rb,0.27523e-02_rb /) kao(:, 2, 5,16) = (/ & & 0.32085e-02_rb,0.28077e-02_rb,0.24069e-02_rb,0.20064e-02_rb,0.16195e-02_rb, & & 0.19633e-02_rb,0.23007e-02_rb,0.25120e-02_rb,0.32215e-02_rb /) kao(:, 3, 5,16) = (/ & & 0.32085e-02_rb,0.28078e-02_rb,0.24068e-02_rb,0.20061e-02_rb,0.18214e-02_rb, & & 0.22501e-02_rb,0.26375e-02_rb,0.28827e-02_rb,0.36897e-02_rb /) kao(:, 4, 5,16) = (/ & & 0.32059e-02_rb,0.28056e-02_rb,0.24053e-02_rb,0.20050e-02_rb,0.20501e-02_rb, & & 0.25321e-02_rb,0.29699e-02_rb,0.32491e-02_rb,0.41521e-02_rb /) kao(:, 5, 5,16) = (/ & & 0.31984e-02_rb,0.27990e-02_rb,0.23997e-02_rb,0.20000e-02_rb,0.22727e-02_rb, & & 0.28084e-02_rb,0.32949e-02_rb,0.36079e-02_rb,0.46028e-02_rb /) kao(:, 1, 6,16) = (/ & & 0.38076e-02_rb,0.33317e-02_rb,0.28559e-02_rb,0.23799e-02_rb,0.19041e-02_rb, & & 0.17889e-02_rb,0.20969e-02_rb,0.22903e-02_rb,0.29420e-02_rb /) kao(:, 2, 6,16) = (/ & & 0.37964e-02_rb,0.33220e-02_rb,0.28476e-02_rb,0.23732e-02_rb,0.18989e-02_rb, & & 0.21234e-02_rb,0.24900e-02_rb,0.27226e-02_rb,0.34908e-02_rb /) kao(:, 3, 6,16) = (/ & & 0.37877e-02_rb,0.33145e-02_rb,0.28416e-02_rb,0.23683e-02_rb,0.19985e-02_rb, & & 0.24600e-02_rb,0.28851e-02_rb,0.31576e-02_rb,0.40421e-02_rb /) kao(:, 4, 6,16) = (/ & & 0.37785e-02_rb,0.33065e-02_rb,0.28344e-02_rb,0.23627e-02_rb,0.22594e-02_rb, & & 0.27919e-02_rb,0.32761e-02_rb,0.35889e-02_rb,0.45855e-02_rb /) kao(:, 5, 6,16) = (/ & & 0.37630e-02_rb,0.32929e-02_rb,0.28229e-02_rb,0.23532e-02_rb,0.25213e-02_rb, & & 0.31161e-02_rb,0.36579e-02_rb,0.40115e-02_rb,0.51155e-02_rb /) kao(:, 1, 7,16) = (/ & & 0.45014e-02_rb,0.39388e-02_rb,0.33762e-02_rb,0.28135e-02_rb,0.22509e-02_rb, & & 0.18859e-02_rb,0.22117e-02_rb,0.24208e-02_rb,0.31038e-02_rb /) kao(:, 2, 7,16) = (/ & & 0.44788e-02_rb,0.39190e-02_rb,0.33593e-02_rb,0.27996e-02_rb,0.22399e-02_rb, & & 0.22735e-02_rb,0.26677e-02_rb,0.29222e-02_rb,0.37394e-02_rb /) kao(:, 3, 7,16) = (/ & & 0.44593e-02_rb,0.39020e-02_rb,0.33439e-02_rb,0.27867e-02_rb,0.22518e-02_rb, & & 0.26648e-02_rb,0.31283e-02_rb,0.34304e-02_rb,0.43806e-02_rb /) kao(:, 4, 7,16) = (/ & & 0.44374e-02_rb,0.38829e-02_rb,0.33284e-02_rb,0.27732e-02_rb,0.24705e-02_rb, & & 0.30533e-02_rb,0.35850e-02_rb,0.39361e-02_rb,0.50160e-02_rb /) kao(:, 5, 7,16) = (/ & & 0.44113e-02_rb,0.38601e-02_rb,0.33089e-02_rb,0.27567e-02_rb,0.27756e-02_rb, & & 0.34321e-02_rb,0.40324e-02_rb,0.44314e-02_rb,0.56359e-02_rb /) kao(:, 1, 8,16) = (/ & & 0.53031e-02_rb,0.46403e-02_rb,0.39774e-02_rb,0.33149e-02_rb,0.26520e-02_rb, & & 0.20316e-02_rb,0.23080e-02_rb,0.25314e-02_rb,0.32334e-02_rb /) kao(:, 2, 8,16) = (/ & & 0.52648e-02_rb,0.46067e-02_rb,0.39487e-02_rb,0.32907e-02_rb,0.26325e-02_rb, & & 0.24096e-02_rb,0.28298e-02_rb,0.31081e-02_rb,0.39611e-02_rb /) kao(:, 3, 8,16) = (/ & & 0.52246e-02_rb,0.45716e-02_rb,0.39189e-02_rb,0.32659e-02_rb,0.26125e-02_rb, & & 0.28611e-02_rb,0.33614e-02_rb,0.36958e-02_rb,0.47006e-02_rb /) kao(:, 4, 8,16) = (/ & & 0.51821e-02_rb,0.45344e-02_rb,0.38868e-02_rb,0.32390e-02_rb,0.27289e-02_rb, & & 0.33103e-02_rb,0.38912e-02_rb,0.42829e-02_rb,0.54355e-02_rb /) kao(:, 5, 8,16) = (/ & & 0.51356e-02_rb,0.44938e-02_rb,0.38520e-02_rb,0.32108e-02_rb,0.30299e-02_rb, & & 0.37493e-02_rb,0.44090e-02_rb,0.48604e-02_rb,0.61537e-02_rb /) kao(:, 1, 9,16) = (/ & & 0.62116e-02_rb,0.54352e-02_rb,0.46587e-02_rb,0.38825e-02_rb,0.31060e-02_rb, & & 0.23296e-02_rb,0.23830e-02_rb,0.26152e-02_rb,0.33400e-02_rb /) kao(:, 2, 9,16) = (/ & & 0.61510e-02_rb,0.53822e-02_rb,0.46134e-02_rb,0.38445e-02_rb,0.30756e-02_rb, & & 0.25421e-02_rb,0.29622e-02_rb,0.32625e-02_rb,0.41372e-02_rb /) kao(:, 3, 9,16) = (/ & & 0.60862e-02_rb,0.53255e-02_rb,0.45651e-02_rb,0.38044e-02_rb,0.30427e-02_rb, & & 0.30332e-02_rb,0.35680e-02_rb,0.39355e-02_rb,0.49777e-02_rb /) kao(:, 4, 9,16) = (/ & & 0.60169e-02_rb,0.52649e-02_rb,0.45129e-02_rb,0.37608e-02_rb,0.30629e-02_rb, & & 0.35468e-02_rb,0.41747e-02_rb,0.46107e-02_rb,0.58172e-02_rb /) kao(:, 5, 9,16) = (/ & & 0.59428e-02_rb,0.52001e-02_rb,0.44573e-02_rb,0.37148e-02_rb,0.33039e-02_rb, & & 0.40510e-02_rb,0.47683e-02_rb,0.52747e-02_rb,0.66403e-02_rb /) kao(:, 1,10,16) = (/ & & 0.72226e-02_rb,0.63198e-02_rb,0.54170e-02_rb,0.45138e-02_rb,0.36111e-02_rb, & & 0.27087e-02_rb,0.25246e-02_rb,0.27733e-02_rb,0.35348e-02_rb /) kao(:, 2,10,16) = (/ & & 0.71308e-02_rb,0.62395e-02_rb,0.53482e-02_rb,0.44569e-02_rb,0.35656e-02_rb, & & 0.27737e-02_rb,0.31148e-02_rb,0.34380e-02_rb,0.43453e-02_rb /) kao(:, 3,10,16) = (/ & & 0.70337e-02_rb,0.61546e-02_rb,0.52755e-02_rb,0.43963e-02_rb,0.35178e-02_rb, & & 0.32195e-02_rb,0.37898e-02_rb,0.41956e-02_rb,0.52718e-02_rb /) kao(:, 4,10,16) = (/ & & 0.69308e-02_rb,0.60645e-02_rb,0.51982e-02_rb,0.43312e-02_rb,0.34725e-02_rb, & & 0.37977e-02_rb,0.44773e-02_rb,0.49627e-02_rb,0.62190e-02_rb /) kao(:, 5,10,16) = (/ & & 0.68213e-02_rb,0.59687e-02_rb,0.51162e-02_rb,0.42630e-02_rb,0.36577e-02_rb, & & 0.43690e-02_rb,0.51523e-02_rb,0.57195e-02_rb,0.71486e-02_rb /) kao(:, 1,11,16) = (/ & & 0.82729e-02_rb,0.72388e-02_rb,0.62047e-02_rb,0.51704e-02_rb,0.41364e-02_rb, & & 0.31022e-02_rb,0.29450e-02_rb,0.32481e-02_rb,0.41092e-02_rb /) kao(:, 2,11,16) = (/ & & 0.81377e-02_rb,0.71207e-02_rb,0.61034e-02_rb,0.50862e-02_rb,0.40694e-02_rb, & & 0.32023e-02_rb,0.35972e-02_rb,0.39817e-02_rb,0.50045e-02_rb /) kao(:, 3,11,16) = (/ & & 0.79927e-02_rb,0.69937e-02_rb,0.59945e-02_rb,0.49955e-02_rb,0.39980e-02_rb, & & 0.36849e-02_rb,0.43305e-02_rb,0.48162e-02_rb,0.60016e-02_rb /) kao(:, 4,11,16) = (/ & & 0.78435e-02_rb,0.68631e-02_rb,0.58827e-02_rb,0.49014e-02_rb,0.39530e-02_rb, & & 0.43152e-02_rb,0.50942e-02_rb,0.56750e-02_rb,0.70494e-02_rb /) kao(:, 5,11,16) = (/ & & 0.76868e-02_rb,0.67260e-02_rb,0.57653e-02_rb,0.48045e-02_rb,0.41698e-02_rb, & & 0.49442e-02_rb,0.58408e-02_rb,0.65151e-02_rb,0.80731e-02_rb /) kao(:, 1,12,16) = (/ & & 0.93677e-02_rb,0.81967e-02_rb,0.70258e-02_rb,0.58546e-02_rb,0.46837e-02_rb, & & 0.35124e-02_rb,0.33991e-02_rb,0.37659e-02_rb,0.47255e-02_rb /) kao(:, 2,12,16) = (/ & & 0.91725e-02_rb,0.80259e-02_rb,0.68794e-02_rb,0.57329e-02_rb,0.45871e-02_rb, & & 0.36555e-02_rb,0.41158e-02_rb,0.45739e-02_rb,0.57058e-02_rb /) kao(:, 3,12,16) = (/ & & 0.89743e-02_rb,0.78526e-02_rb,0.67312e-02_rb,0.56083e-02_rb,0.44874e-02_rb, & & 0.41738e-02_rb,0.49000e-02_rb,0.54681e-02_rb,0.67707e-02_rb /) kao(:, 4,12,16) = (/ & & 0.87651e-02_rb,0.76695e-02_rb,0.65740e-02_rb,0.54780e-02_rb,0.44541e-02_rb, & & 0.48422e-02_rb,0.57276e-02_rb,0.64103e-02_rb,0.78928e-02_rb /) kao(:, 5,12,16) = (/ & & 0.85557e-02_rb,0.74863e-02_rb,0.64169e-02_rb,0.53471e-02_rb,0.46965e-02_rb, & & 0.55261e-02_rb,0.65398e-02_rb,0.73300e-02_rb,0.90026e-02_rb /) kao(:, 1,13,16) = (/ & & 0.10484e-01_rb,0.91737e-02_rb,0.78632e-02_rb,0.65525e-02_rb,0.52420e-02_rb, & & 0.39330e-02_rb,0.38753e-02_rb,0.43130e-02_rb,0.53655e-02_rb /) kao(:, 2,13,16) = (/ & & 0.10212e-01_rb,0.89352e-02_rb,0.76588e-02_rb,0.63823e-02_rb,0.51063e-02_rb, & & 0.41214e-02_rb,0.46538e-02_rb,0.51962e-02_rb,0.64287e-02_rb /) kao(:, 3,13,16) = (/ & & 0.99472e-02_rb,0.87039e-02_rb,0.74620e-02_rb,0.62164e-02_rb,0.49733e-02_rb, & & 0.46683e-02_rb,0.54886e-02_rb,0.61482e-02_rb,0.75590e-02_rb /) kao(:, 4,13,16) = (/ & & 0.96776e-02_rb,0.84679e-02_rb,0.72583e-02_rb,0.60495e-02_rb,0.49611e-02_rb, & & 0.53643e-02_rb,0.63558e-02_rb,0.71458e-02_rb,0.87290e-02_rb /) kao(:, 5,13,16) = (/ & & 0.94084e-02_rb,0.82324e-02_rb,0.70564e-02_rb,0.58807e-02_rb,0.52210e-02_rb, & & 0.60971e-02_rb,0.72271e-02_rb,0.81397e-02_rb,0.99102e-02_rb /) ! ----------------------------------------------------------------- ! The array KBO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels < ~100mb and temperatures. The first ! index in the array, JT, which runs from 1 to 5, corresponds to ! different temperatures. More specifically, JT = 3 means that the ! data are for the reference temperature TREF for this pressure ! level, JT = 2 refers to the temperature TREF-15, JT = 1 is for ! TREF-30, JT = 4 is for TREF+15, and JT = 5 is for TREF+30. ! The second index, JP, runs from 13 to 59 and refers to the JPth ! reference pressure level (see taumol.f for the value of these ! pressure levels in mb). The third index, IG, goes from 1 to 16, ! and tells us which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kbo(:,13, 1) = (/ & & 0.33062e-11_rb,0.42306e-11_rb,0.53172e-11_rb,0.65673e-11_rb,0.78335e-11_rb /) kbo(:,14, 1) = (/ & & 0.27467e-11_rb,0.35252e-11_rb,0.44160e-11_rb,0.54171e-11_rb,0.64630e-11_rb /) kbo(:,15, 1) = (/ & & 0.23431e-11_rb,0.29962e-11_rb,0.37507e-11_rb,0.46179e-11_rb,0.54790e-11_rb /) kbo(:,16, 1) = (/ & & 0.20178e-11_rb,0.25698e-11_rb,0.32330e-11_rb,0.40024e-11_rb,0.46899e-11_rb /) kbo(:,17, 1) = (/ & & 0.17389e-11_rb,0.22126e-11_rb,0.27864e-11_rb,0.34615e-11_rb,0.40184e-11_rb /) kbo(:,18, 1) = (/ & & 0.15164e-11_rb,0.19304e-11_rb,0.24263e-11_rb,0.29918e-11_rb,0.34734e-11_rb /) kbo(:,19, 1) = (/ & & 0.13194e-11_rb,0.16684e-11_rb,0.20851e-11_rb,0.25471e-11_rb,0.29992e-11_rb /) kbo(:,20, 1) = (/ & & 0.11345e-11_rb,0.14317e-11_rb,0.17813e-11_rb,0.21686e-11_rb,0.25523e-11_rb /) kbo(:,21, 1) = (/ & & 0.97614e-12_rb,0.12233e-11_rb,0.15124e-11_rb,0.18436e-11_rb,0.21624e-11_rb /) kbo(:,22, 1) = (/ & & 0.84972e-12_rb,0.10604e-11_rb,0.13001e-11_rb,0.15853e-11_rb,0.18511e-11_rb /) kbo(:,23, 1) = (/ & & 0.73919e-12_rb,0.91863e-12_rb,0.11179e-11_rb,0.13612e-11_rb,0.15791e-11_rb /) kbo(:,24, 1) = (/ & & 0.63952e-12_rb,0.79203e-12_rb,0.96272e-12_rb,0.11643e-11_rb,0.13384e-11_rb /) kbo(:,25, 1) = (/ & & 0.55198e-12_rb,0.68176e-12_rb,0.82782e-12_rb,0.99347e-12_rb,0.11342e-11_rb /) kbo(:,26, 1) = (/ & & 0.47648e-12_rb,0.58395e-12_rb,0.71214e-12_rb,0.84565e-12_rb,0.96146e-12_rb /) kbo(:,27, 1) = (/ & & 0.41185e-12_rb,0.50403e-12_rb,0.61156e-12_rb,0.71539e-12_rb,0.81410e-12_rb /) kbo(:,28, 1) = (/ & & 0.35568e-12_rb,0.43404e-12_rb,0.52441e-12_rb,0.60652e-12_rb,0.68860e-12_rb /) kbo(:,29, 1) = (/ & & 0.30863e-12_rb,0.37487e-12_rb,0.45120e-12_rb,0.51591e-12_rb,0.58367e-12_rb /) kbo(:,30, 1) = (/ & & 0.26804e-12_rb,0.32390e-12_rb,0.38615e-12_rb,0.43956e-12_rb,0.49890e-12_rb /) kbo(:,31, 1) = (/ & & 0.23316e-12_rb,0.28106e-12_rb,0.33068e-12_rb,0.37478e-12_rb,0.42377e-12_rb /) kbo(:,32, 1) = (/ & & 0.20255e-12_rb,0.24397e-12_rb,0.28293e-12_rb,0.31878e-12_rb,0.36224e-12_rb /) kbo(:,33, 1) = (/ & & 0.17541e-12_rb,0.21018e-12_rb,0.24052e-12_rb,0.27083e-12_rb,0.30963e-12_rb /) kbo(:,34, 1) = (/ & & 0.15014e-12_rb,0.17890e-12_rb,0.20293e-12_rb,0.23058e-12_rb,0.26131e-12_rb /) kbo(:,35, 1) = (/ & & 0.12610e-12_rb,0.14972e-12_rb,0.16906e-12_rb,0.19250e-12_rb,0.21752e-12_rb /) kbo(:,36, 1) = (/ & & 0.10365e-12_rb,0.12301e-12_rb,0.13878e-12_rb,0.15810e-12_rb,0.17856e-12_rb /) kbo(:,37, 1) = (/ & & 0.82572e-13_rb,0.98388e-13_rb,0.11143e-12_rb,0.12645e-12_rb,0.14343e-12_rb /) kbo(:,38, 1) = (/ & & 0.65632e-13_rb,0.78531e-13_rb,0.89359e-13_rb,0.10135e-12_rb,0.11495e-12_rb /) kbo(:,39, 1) = (/ & & 0.52174e-13_rb,0.62607e-13_rb,0.71650e-13_rb,0.80738e-13_rb,0.92112e-13_rb /) kbo(:,40, 1) = (/ & & 0.40434e-13_rb,0.48683e-13_rb,0.56479e-13_rb,0.63806e-13_rb,0.72155e-13_rb /) kbo(:,41, 1) = (/ & & 0.31179e-13_rb,0.37691e-13_rb,0.44339e-13_rb,0.50247e-13_rb,0.56982e-13_rb /) kbo(:,42, 1) = (/ & & 0.24040e-13_rb,0.29161e-13_rb,0.34731e-13_rb,0.39467e-13_rb,0.44922e-13_rb /) kbo(:,43, 1) = (/ & & 0.18259e-13_rb,0.22185e-13_rb,0.26753e-13_rb,0.30617e-13_rb,0.34721e-13_rb /) kbo(:,44, 1) = (/ & & 0.13667e-13_rb,0.16662e-13_rb,0.20308e-13_rb,0.23577e-13_rb,0.26865e-13_rb /) kbo(:,45, 1) = (/ & & 0.10182e-13_rb,0.12571e-13_rb,0.15345e-13_rb,0.18028e-13_rb,0.20725e-13_rb /) kbo(:,46, 1) = (/ & & 0.75196e-14_rb,0.94092e-14_rb,0.11475e-13_rb,0.13704e-13_rb,0.15878e-13_rb /) kbo(:,47, 1) = (/ & & 0.54721e-14_rb,0.69523e-14_rb,0.85280e-14_rb,0.10311e-13_rb,0.11952e-13_rb /) kbo(:,48, 1) = (/ & & 0.39619e-14_rb,0.50439e-14_rb,0.62896e-14_rb,0.77193e-14_rb,0.89282e-14_rb /) kbo(:,49, 1) = (/ & & 0.28508e-14_rb,0.36419e-14_rb,0.46044e-14_rb,0.57276e-14_rb,0.66866e-14_rb /) kbo(:,50, 1) = (/ & & 0.20973e-14_rb,0.26588e-14_rb,0.33754e-14_rb,0.42404e-14_rb,0.50338e-14_rb /) kbo(:,51, 1) = (/ & & 0.15010e-14_rb,0.19461e-14_rb,0.24807e-14_rb,0.31095e-14_rb,0.37789e-14_rb /) kbo(:,52, 1) = (/ & & 0.10686e-14_rb,0.14205e-14_rb,0.18164e-14_rb,0.22651e-14_rb,0.27790e-14_rb /) kbo(:,53, 1) = (/ & & 0.75469e-15_rb,0.10279e-14_rb,0.13211e-14_rb,0.16657e-14_rb,0.20344e-14_rb /) kbo(:,54, 1) = (/ & & 0.53837e-15_rb,0.75440e-15_rb,0.97064e-15_rb,0.12260e-14_rb,0.15156e-14_rb /) kbo(:,55, 1) = (/ & & 0.38620e-15_rb,0.54750e-15_rb,0.71223e-15_rb,0.90921e-15_rb,0.11265e-14_rb /) kbo(:,56, 1) = (/ & & 0.27852e-15_rb,0.39135e-15_rb,0.51858e-15_rb,0.66760e-15_rb,0.83486e-15_rb /) kbo(:,57, 1) = (/ & & 0.20280e-15_rb,0.27940e-15_rb,0.37558e-15_rb,0.48656e-15_rb,0.61658e-15_rb /) kbo(:,58, 1) = (/ & & 0.14586e-15_rb,0.19788e-15_rb,0.27273e-15_rb,0.35391e-15_rb,0.45250e-15_rb /) kbo(:,59, 1) = (/ & & 0.11164e-15_rb,0.15082e-15_rb,0.20804e-15_rb,0.27081e-15_rb,0.49339e-15_rb /) kbo(:,13, 2) = (/ & & 0.15800e-10_rb,0.20781e-10_rb,0.26154e-10_rb,0.31936e-10_rb,0.38062e-10_rb /) kbo(:,14, 2) = (/ & & 0.13333e-10_rb,0.17459e-10_rb,0.21881e-10_rb,0.26666e-10_rb,0.31696e-10_rb /) kbo(:,15, 2) = (/ & & 0.11381e-10_rb,0.14784e-10_rb,0.18449e-10_rb,0.22397e-10_rb,0.26533e-10_rb /) kbo(:,16, 2) = (/ & & 0.97593e-11_rb,0.12591e-10_rb,0.15641e-10_rb,0.18845e-10_rb,0.22503e-10_rb /) kbo(:,17, 2) = (/ & & 0.83473e-11_rb,0.10709e-10_rb,0.13261e-10_rb,0.15857e-10_rb,0.19052e-10_rb /) kbo(:,18, 2) = (/ & & 0.71523e-11_rb,0.91255e-11_rb,0.11229e-10_rb,0.13436e-10_rb,0.16145e-10_rb /) kbo(:,19, 2) = (/ & & 0.60777e-11_rb,0.77489e-11_rb,0.94796e-11_rb,0.11415e-10_rb,0.13591e-10_rb /) kbo(:,20, 2) = (/ & & 0.51693e-11_rb,0.65609e-11_rb,0.80124e-11_rb,0.96944e-11_rb,0.11427e-10_rb /) kbo(:,21, 2) = (/ & & 0.43931e-11_rb,0.55492e-11_rb,0.67698e-11_rb,0.81825e-11_rb,0.95836e-11_rb /) kbo(:,22, 2) = (/ & & 0.37967e-11_rb,0.47515e-11_rb,0.57759e-11_rb,0.69676e-11_rb,0.81090e-11_rb /) kbo(:,23, 2) = (/ & & 0.32747e-11_rb,0.40830e-11_rb,0.49616e-11_rb,0.59280e-11_rb,0.68614e-11_rb /) kbo(:,24, 2) = (/ & & 0.28215e-11_rb,0.34976e-11_rb,0.42532e-11_rb,0.50228e-11_rb,0.57971e-11_rb /) kbo(:,25, 2) = (/ & & 0.24334e-11_rb,0.29960e-11_rb,0.36396e-11_rb,0.42606e-11_rb,0.49056e-11_rb /) kbo(:,26, 2) = (/ & & 0.21117e-11_rb,0.25752e-11_rb,0.31134e-11_rb,0.36244e-11_rb,0.41489e-11_rb /) kbo(:,27, 2) = (/ & & 0.18253e-11_rb,0.22243e-11_rb,0.26576e-11_rb,0.30793e-11_rb,0.35048e-11_rb /) kbo(:,28, 2) = (/ & & 0.15682e-11_rb,0.19141e-11_rb,0.22636e-11_rb,0.26109e-11_rb,0.29589e-11_rb /) kbo(:,29, 2) = (/ & & 0.13535e-11_rb,0.16466e-11_rb,0.19296e-11_rb,0.22145e-11_rb,0.25005e-11_rb /) kbo(:,30, 2) = (/ & & 0.11709e-11_rb,0.14136e-11_rb,0.16432e-11_rb,0.18792e-11_rb,0.21240e-11_rb /) kbo(:,31, 2) = (/ & & 0.10216e-11_rb,0.12142e-11_rb,0.14045e-11_rb,0.15978e-11_rb,0.18001e-11_rb /) kbo(:,32, 2) = (/ & & 0.88417e-12_rb,0.10400e-11_rb,0.11973e-11_rb,0.13566e-11_rb,0.15303e-11_rb /) kbo(:,33, 2) = (/ & & 0.76210e-12_rb,0.89004e-12_rb,0.10199e-11_rb,0.11509e-11_rb,0.12984e-11_rb /) kbo(:,34, 2) = (/ & & 0.64910e-12_rb,0.75460e-12_rb,0.86122e-12_rb,0.97227e-12_rb,0.10908e-11_rb /) kbo(:,35, 2) = (/ & & 0.54374e-12_rb,0.63015e-12_rb,0.71745e-12_rb,0.80944e-12_rb,0.90628e-12_rb /) kbo(:,36, 2) = (/ & & 0.44718e-12_rb,0.51791e-12_rb,0.58946e-12_rb,0.66527e-12_rb,0.74411e-12_rb /) kbo(:,37, 2) = (/ & & 0.35793e-12_rb,0.41591e-12_rb,0.47443e-12_rb,0.53549e-12_rb,0.60041e-12_rb /) kbo(:,38, 2) = (/ & & 0.28618e-12_rb,0.33345e-12_rb,0.38124e-12_rb,0.43139e-12_rb,0.48394e-12_rb /) kbo(:,39, 2) = (/ & & 0.22858e-12_rb,0.26729e-12_rb,0.30628e-12_rb,0.34554e-12_rb,0.38998e-12_rb /) kbo(:,40, 2) = (/ & & 0.17867e-12_rb,0.21032e-12_rb,0.24207e-12_rb,0.27407e-12_rb,0.30925e-12_rb /) kbo(:,41, 2) = (/ & & 0.13875e-12_rb,0.16498e-12_rb,0.19072e-12_rb,0.21688e-12_rb,0.24410e-12_rb /) kbo(:,42, 2) = (/ & & 0.10714e-12_rb,0.12915e-12_rb,0.14999e-12_rb,0.17156e-12_rb,0.19364e-12_rb /) kbo(:,43, 2) = (/ & & 0.81856e-13_rb,0.99592e-13_rb,0.11661e-12_rb,0.13414e-12_rb,0.15145e-12_rb /) kbo(:,44, 2) = (/ & & 0.62221e-13_rb,0.75886e-13_rb,0.90106e-13_rb,0.10425e-12_rb,0.11838e-12_rb /) kbo(:,45, 2) = (/ & & 0.47139e-13_rb,0.57421e-13_rb,0.69401e-13_rb,0.80830e-13_rb,0.92462e-13_rb /) kbo(:,46, 2) = (/ & & 0.35469e-13_rb,0.43603e-13_rb,0.52913e-13_rb,0.62345e-13_rb,0.71769e-13_rb /) kbo(:,47, 2) = (/ & & 0.26308e-13_rb,0.32606e-13_rb,0.39610e-13_rb,0.47505e-13_rb,0.55354e-13_rb /) kbo(:,48, 2) = (/ & & 0.19388e-13_rb,0.24430e-13_rb,0.29903e-13_rb,0.35902e-13_rb,0.42540e-13_rb /) kbo(:,49, 2) = (/ & & 0.14144e-13_rb,0.18180e-13_rb,0.22467e-13_rb,0.26985e-13_rb,0.32471e-13_rb /) kbo(:,50, 2) = (/ & & 0.10280e-13_rb,0.13471e-13_rb,0.16900e-13_rb,0.20465e-13_rb,0.24665e-13_rb /) kbo(:,51, 2) = (/ & & 0.74898e-14_rb,0.99392e-14_rb,0.12674e-13_rb,0.15571e-13_rb,0.18663e-13_rb /) kbo(:,52, 2) = (/ & & 0.54214e-14_rb,0.72917e-14_rb,0.94517e-14_rb,0.11816e-13_rb,0.14256e-13_rb /) kbo(:,53, 2) = (/ & & 0.38970e-14_rb,0.53165e-14_rb,0.69989e-14_rb,0.88828e-14_rb,0.10862e-13_rb /) kbo(:,54, 2) = (/ & & 0.27972e-14_rb,0.38775e-14_rb,0.51927e-14_rb,0.66775e-14_rb,0.82659e-14_rb /) kbo(:,55, 2) = (/ & & 0.19962e-14_rb,0.28257e-14_rb,0.38491e-14_rb,0.50059e-14_rb,0.62864e-14_rb /) kbo(:,56, 2) = (/ & & 0.14049e-14_rb,0.20447e-14_rb,0.28389e-14_rb,0.37444e-14_rb,0.47474e-14_rb /) kbo(:,57, 2) = (/ & & 0.97467e-15_rb,0.14635e-14_rb,0.20787e-14_rb,0.27878e-14_rb,0.35737e-14_rb /) kbo(:,58, 2) = (/ & & 0.67770e-15_rb,0.10398e-14_rb,0.15169e-14_rb,0.20739e-14_rb,0.26951e-14_rb /) kbo(:,59, 2) = (/ & & 0.50857e-15_rb,0.79496e-15_rb,0.11749e-14_rb,0.16262e-14_rb,0.21270e-14_rb /) kbo(:,13, 3) = (/ & & 0.93671e-10_rb,0.11591e-09_rb,0.13715e-09_rb,0.15779e-09_rb,0.17870e-09_rb /) kbo(:,14, 3) = (/ & & 0.78883e-10_rb,0.96971e-10_rb,0.11437e-09_rb,0.13160e-09_rb,0.14863e-09_rb /) kbo(:,15, 3) = (/ & & 0.66900e-10_rb,0.81568e-10_rb,0.96052e-10_rb,0.11028e-09_rb,0.12439e-09_rb /) kbo(:,16, 3) = (/ & & 0.56737e-10_rb,0.68853e-10_rb,0.80870e-10_rb,0.92769e-10_rb,0.10422e-09_rb /) kbo(:,17, 3) = (/ & & 0.48148e-10_rb,0.58209e-10_rb,0.68168e-10_rb,0.78006e-10_rb,0.87308e-10_rb /) kbo(:,18, 3) = (/ & & 0.40874e-10_rb,0.49268e-10_rb,0.57591e-10_rb,0.65627e-10_rb,0.73296e-10_rb /) kbo(:,19, 3) = (/ & & 0.34619e-10_rb,0.41578e-10_rb,0.48414e-10_rb,0.55049e-10_rb,0.61235e-10_rb /) kbo(:,20, 3) = (/ & & 0.29370e-10_rb,0.35034e-10_rb,0.40682e-10_rb,0.46014e-10_rb,0.51115e-10_rb /) kbo(:,21, 3) = (/ & & 0.24821e-10_rb,0.29490e-10_rb,0.34141e-10_rb,0.38423e-10_rb,0.42621e-10_rb /) kbo(:,22, 3) = (/ & & 0.21204e-10_rb,0.25041e-10_rb,0.28846e-10_rb,0.32305e-10_rb,0.35757e-10_rb /) kbo(:,23, 3) = (/ & & 0.18107e-10_rb,0.21244e-10_rb,0.24304e-10_rb,0.27144e-10_rb,0.30005e-10_rb /) kbo(:,24, 3) = (/ & & 0.15432e-10_rb,0.18015e-10_rb,0.20470e-10_rb,0.22803e-10_rb,0.25180e-10_rb /) kbo(:,25, 3) = (/ & & 0.13155e-10_rb,0.15266e-10_rb,0.17234e-10_rb,0.19170e-10_rb,0.21096e-10_rb /) kbo(:,26, 3) = (/ & & 0.11220e-10_rb,0.12944e-10_rb,0.14527e-10_rb,0.16132e-10_rb,0.17690e-10_rb /) kbo(:,27, 3) = (/ & & 0.95562e-11_rb,0.10942e-10_rb,0.12242e-10_rb,0.13560e-10_rb,0.14820e-10_rb /) kbo(:,28, 3) = (/ & & 0.81359e-11_rb,0.92394e-11_rb,0.10309e-10_rb,0.11386e-10_rb,0.12407e-10_rb /) kbo(:,29, 3) = (/ & & 0.69193e-11_rb,0.78077e-11_rb,0.87009e-11_rb,0.95682e-11_rb,0.10386e-10_rb /) kbo(:,30, 3) = (/ & & 0.58737e-11_rb,0.65956e-11_rb,0.73381e-11_rb,0.80325e-11_rb,0.87147e-11_rb /) kbo(:,31, 3) = (/ & & 0.49782e-11_rb,0.55816e-11_rb,0.61826e-11_rb,0.67463e-11_rb,0.73000e-11_rb /) kbo(:,32, 3) = (/ & & 0.42202e-11_rb,0.47232e-11_rb,0.52043e-11_rb,0.56623e-11_rb,0.61016e-11_rb /) kbo(:,33, 3) = (/ & & 0.35744e-11_rb,0.39897e-11_rb,0.43757e-11_rb,0.47465e-11_rb,0.50931e-11_rb /) kbo(:,34, 3) = (/ & & 0.30127e-11_rb,0.33496e-11_rb,0.36630e-11_rb,0.39738e-11_rb,0.42413e-11_rb /) kbo(:,35, 3) = (/ & & 0.25098e-11_rb,0.27837e-11_rb,0.30393e-11_rb,0.32916e-11_rb,0.35093e-11_rb /) kbo(:,36, 3) = (/ & & 0.20644e-11_rb,0.22886e-11_rb,0.24982e-11_rb,0.27043e-11_rb,0.28833e-11_rb /) kbo(:,37, 3) = (/ & & 0.16684e-11_rb,0.18536e-11_rb,0.20259e-11_rb,0.21979e-11_rb,0.23456e-11_rb /) kbo(:,38, 3) = (/ & & 0.13466e-11_rb,0.14996e-11_rb,0.16425e-11_rb,0.17834e-11_rb,0.19065e-11_rb /) kbo(:,39, 3) = (/ & & 0.10861e-11_rb,0.12130e-11_rb,0.13309e-11_rb,0.14440e-11_rb,0.15498e-11_rb /) kbo(:,40, 3) = (/ & & 0.86498e-12_rb,0.96921e-12_rb,0.10678e-11_rb,0.11601e-11_rb,0.12509e-11_rb /) kbo(:,41, 3) = (/ & & 0.68788e-12_rb,0.77191e-12_rb,0.85472e-12_rb,0.93133e-12_rb,0.10084e-11_rb /) kbo(:,42, 3) = (/ & & 0.54661e-12_rb,0.61437e-12_rb,0.68360e-12_rb,0.74699e-12_rb,0.81088e-12_rb /) kbo(:,43, 3) = (/ & & 0.42920e-12_rb,0.48515e-12_rb,0.54174e-12_rb,0.59564e-12_rb,0.64658e-12_rb /) kbo(:,44, 3) = (/ & & 0.33491e-12_rb,0.38198e-12_rb,0.42756e-12_rb,0.47274e-12_rb,0.51490e-12_rb /) kbo(:,45, 3) = (/ & & 0.26072e-12_rb,0.29981e-12_rb,0.33699e-12_rb,0.37442e-12_rb,0.40968e-12_rb /) kbo(:,46, 3) = (/ & & 0.20167e-12_rb,0.23370e-12_rb,0.26473e-12_rb,0.29535e-12_rb,0.32495e-12_rb /) kbo(:,47, 3) = (/ & & 0.15427e-12_rb,0.18070e-12_rb,0.20644e-12_rb,0.23129e-12_rb,0.25612e-12_rb /) kbo(:,48, 3) = (/ & & 0.11746e-12_rb,0.13905e-12_rb,0.16032e-12_rb,0.18088e-12_rb,0.20125e-12_rb /) kbo(:,49, 3) = (/ & & 0.88976e-13_rb,0.10661e-12_rb,0.12415e-12_rb,0.14128e-12_rb,0.15777e-12_rb /) kbo(:,50, 3) = (/ & & 0.67378e-13_rb,0.81791e-13_rb,0.96162e-13_rb,0.11029e-12_rb,0.12384e-12_rb /) kbo(:,51, 3) = (/ & & 0.50786e-13_rb,0.62576e-13_rb,0.74348e-13_rb,0.85995e-13_rb,0.97345e-13_rb /) kbo(:,52, 3) = (/ & & 0.37951e-13_rb,0.47645e-13_rb,0.57250e-13_rb,0.66805e-13_rb,0.76257e-13_rb /) kbo(:,53, 3) = (/ & & 0.28159e-13_rb,0.36102e-13_rb,0.43964e-13_rb,0.51774e-13_rb,0.59583e-13_rb /) kbo(:,54, 3) = (/ & & 0.21004e-13_rb,0.27366e-13_rb,0.33776e-13_rb,0.40177e-13_rb,0.46583e-13_rb /) kbo(:,55, 3) = (/ & & 0.15637e-13_rb,0.20632e-13_rb,0.25941e-13_rb,0.31184e-13_rb,0.36409e-13_rb /) kbo(:,56, 3) = (/ & & 0.11581e-13_rb,0.15522e-13_rb,0.19844e-13_rb,0.24130e-13_rb,0.28399e-13_rb /) kbo(:,57, 3) = (/ & & 0.85125e-14_rb,0.11631e-13_rb,0.15093e-13_rb,0.18610e-13_rb,0.22102e-13_rb /) kbo(:,58, 3) = (/ & & 0.62435e-14_rb,0.87193e-14_rb,0.11437e-13_rb,0.14347e-13_rb,0.17208e-13_rb /) kbo(:,59, 3) = (/ & & 0.48886e-14_rb,0.68810e-14_rb,0.90777e-14_rb,0.11450e-13_rb,0.13800e-13_rb /) kbo(:,13, 4) = (/ & & 0.49769e-09_rb,0.57573e-09_rb,0.65456e-09_rb,0.73233e-09_rb,0.81030e-09_rb /) kbo(:,14, 4) = (/ & & 0.41687e-09_rb,0.48070e-09_rb,0.54629e-09_rb,0.61156e-09_rb,0.67509e-09_rb /) kbo(:,15, 4) = (/ & & 0.35004e-09_rb,0.40346e-09_rb,0.45778e-09_rb,0.51155e-09_rb,0.56442e-09_rb /) kbo(:,16, 4) = (/ & & 0.29428e-09_rb,0.33893e-09_rb,0.38370e-09_rb,0.42831e-09_rb,0.47172e-09_rb /) kbo(:,17, 4) = (/ & & 0.24736e-09_rb,0.28447e-09_rb,0.32184e-09_rb,0.35882e-09_rb,0.39576e-09_rb /) kbo(:,18, 4) = (/ & & 0.20799e-09_rb,0.23913e-09_rb,0.26980e-09_rb,0.30118e-09_rb,0.33239e-09_rb /) kbo(:,19, 4) = (/ & & 0.17474e-09_rb,0.20037e-09_rb,0.22650e-09_rb,0.25275e-09_rb,0.27848e-09_rb /) kbo(:,20, 4) = (/ & & 0.14678e-09_rb,0.16826e-09_rb,0.19015e-09_rb,0.21182e-09_rb,0.23321e-09_rb /) kbo(:,21, 4) = (/ & & 0.12329e-09_rb,0.14137e-09_rb,0.15951e-09_rb,0.17762e-09_rb,0.19539e-09_rb /) kbo(:,22, 4) = (/ & & 0.10475e-09_rb,0.11989e-09_rb,0.13488e-09_rb,0.14993e-09_rb,0.16481e-09_rb /) kbo(:,23, 4) = (/ & & 0.89090e-10_rb,0.10156e-09_rb,0.11416e-09_rb,0.12661e-09_rb,0.13928e-09_rb /) kbo(:,24, 4) = (/ & & 0.75648e-10_rb,0.86094e-10_rb,0.96530e-10_rb,0.10692e-09_rb,0.11716e-09_rb /) kbo(:,25, 4) = (/ & & 0.64419e-10_rb,0.73036e-10_rb,0.81659e-10_rb,0.90142e-10_rb,0.98524e-10_rb /) kbo(:,26, 4) = (/ & & 0.54857e-10_rb,0.61972e-10_rb,0.69147e-10_rb,0.76125e-10_rb,0.82778e-10_rb /) kbo(:,27, 4) = (/ & & 0.46656e-10_rb,0.52591e-10_rb,0.58413e-10_rb,0.64168e-10_rb,0.69451e-10_rb /) kbo(:,28, 4) = (/ & & 0.39665e-10_rb,0.44561e-10_rb,0.49317e-10_rb,0.53971e-10_rb,0.58228e-10_rb /) kbo(:,29, 4) = (/ & & 0.33755e-10_rb,0.37736e-10_rb,0.41652e-10_rb,0.45382e-10_rb,0.48825e-10_rb /) kbo(:,30, 4) = (/ & & 0.28671e-10_rb,0.31949e-10_rb,0.35144e-10_rb,0.38141e-10_rb,0.41003e-10_rb /) kbo(:,31, 4) = (/ & & 0.24360e-10_rb,0.27027e-10_rb,0.29632e-10_rb,0.32038e-10_rb,0.34391e-10_rb /) kbo(:,32, 4) = (/ & & 0.20671e-10_rb,0.22852e-10_rb,0.24963e-10_rb,0.26903e-10_rb,0.28818e-10_rb /) kbo(:,33, 4) = (/ & & 0.17515e-10_rb,0.19306e-10_rb,0.20998e-10_rb,0.22562e-10_rb,0.24113e-10_rb /) kbo(:,34, 4) = (/ & & 0.14755e-10_rb,0.16223e-10_rb,0.17588e-10_rb,0.18905e-10_rb,0.20105e-10_rb /) kbo(:,35, 4) = (/ & & 0.12305e-10_rb,0.13505e-10_rb,0.14616e-10_rb,0.15703e-10_rb,0.16661e-10_rb /) kbo(:,36, 4) = (/ & & 0.10152e-10_rb,0.11132e-10_rb,0.12046e-10_rb,0.12938e-10_rb,0.13718e-10_rb /) kbo(:,37, 4) = (/ & & 0.82437e-11_rb,0.90546e-11_rb,0.98101e-11_rb,0.10549e-10_rb,0.11200e-10_rb /) kbo(:,38, 4) = (/ & & 0.66891e-11_rb,0.73572e-11_rb,0.79832e-11_rb,0.85923e-11_rb,0.91388e-11_rb /) kbo(:,39, 4) = (/ & & 0.54271e-11_rb,0.59789e-11_rb,0.64946e-11_rb,0.69804e-11_rb,0.74536e-11_rb /) kbo(:,40, 4) = (/ & & 0.43504e-11_rb,0.48077e-11_rb,0.52359e-11_rb,0.56420e-11_rb,0.60390e-11_rb /) kbo(:,41, 4) = (/ & & 0.34805e-11_rb,0.38570e-11_rb,0.42158e-11_rb,0.45532e-11_rb,0.48856e-11_rb /) kbo(:,42, 4) = (/ & & 0.27817e-11_rb,0.30896e-11_rb,0.33906e-11_rb,0.36712e-11_rb,0.39504e-11_rb /) kbo(:,43, 4) = (/ & & 0.22059e-11_rb,0.24603e-11_rb,0.27112e-11_rb,0.29449e-11_rb,0.31673e-11_rb /) kbo(:,44, 4) = (/ & & 0.17407e-11_rb,0.19508e-11_rb,0.21593e-11_rb,0.23549e-11_rb,0.25394e-11_rb /) kbo(:,45, 4) = (/ & & 0.13717e-11_rb,0.15444e-11_rb,0.17149e-11_rb,0.18808e-11_rb,0.20349e-11_rb /) kbo(:,46, 4) = (/ & & 0.10758e-11_rb,0.12178e-11_rb,0.13582e-11_rb,0.14973e-11_rb,0.16264e-11_rb /) kbo(:,47, 4) = (/ & & 0.83623e-12_rb,0.95326e-12_rb,0.10692e-11_rb,0.11850e-11_rb,0.12934e-11_rb /) kbo(:,48, 4) = (/ & & 0.64811e-12_rb,0.74426e-12_rb,0.84002e-12_rb,0.93446e-12_rb,0.10270e-11_rb /) kbo(:,49, 4) = (/ & & 0.50093e-12_rb,0.57976e-12_rb,0.65824e-12_rb,0.73652e-12_rb,0.81364e-12_rb /) kbo(:,50, 4) = (/ & & 0.38740e-12_rb,0.45167e-12_rb,0.51620e-12_rb,0.58084e-12_rb,0.64495e-12_rb /) kbo(:,51, 4) = (/ & & 0.29910e-12_rb,0.35149e-12_rb,0.40454e-12_rb,0.45768e-12_rb,0.51010e-12_rb /) kbo(:,52, 4) = (/ & & 0.23004e-12_rb,0.27291e-12_rb,0.31637e-12_rb,0.35993e-12_rb,0.40313e-12_rb /) kbo(:,53, 4) = (/ & & 0.17654e-12_rb,0.21129e-12_rb,0.24667e-12_rb,0.28251e-12_rb,0.31798e-12_rb /) kbo(:,54, 4) = (/ & & 0.13566e-12_rb,0.16388e-12_rb,0.19277e-12_rb,0.22203e-12_rb,0.25140e-12_rb /) kbo(:,55, 4) = (/ & & 0.10414e-12_rb,0.12705e-12_rb,0.15062e-12_rb,0.17458e-12_rb,0.19863e-12_rb /) kbo(:,56, 4) = (/ & & 0.79695e-13_rb,0.98154e-13_rb,0.11737e-12_rb,0.13696e-12_rb,0.15674e-12_rb /) kbo(:,57, 4) = (/ & & 0.60735e-13_rb,0.75667e-13_rb,0.91265e-13_rb,0.10718e-12_rb,0.12346e-12_rb /) kbo(:,58, 4) = (/ & & 0.46331e-13_rb,0.58316e-13_rb,0.71018e-13_rb,0.83950e-13_rb,0.97215e-13_rb /) kbo(:,59, 4) = (/ & & 0.36896e-13_rb,0.46643e-13_rb,0.57036e-13_rb,0.67613e-13_rb,0.78545e-13_rb /) kbo(:,13, 5) = (/ & & 0.26254e-08_rb,0.28627e-08_rb,0.30909e-08_rb,0.33000e-08_rb,0.34892e-08_rb /) kbo(:,14, 5) = (/ & & 0.21830e-08_rb,0.23794e-08_rb,0.25635e-08_rb,0.27354e-08_rb,0.28987e-08_rb /) kbo(:,15, 5) = (/ & & 0.18164e-08_rb,0.19772e-08_rb,0.21299e-08_rb,0.22819e-08_rb,0.24177e-08_rb /) kbo(:,16, 5) = (/ & & 0.15141e-08_rb,0.16500e-08_rb,0.17819e-08_rb,0.19057e-08_rb,0.20139e-08_rb /) kbo(:,17, 5) = (/ & & 0.12644e-08_rb,0.13791e-08_rb,0.14854e-08_rb,0.15868e-08_rb,0.16779e-08_rb /) kbo(:,18, 5) = (/ & & 0.10569e-08_rb,0.11490e-08_rb,0.12387e-08_rb,0.13249e-08_rb,0.14004e-08_rb /) kbo(:,19, 5) = (/ & & 0.88077e-09_rb,0.95771e-09_rb,0.10342e-08_rb,0.11045e-08_rb,0.11654e-08_rb /) kbo(:,20, 5) = (/ & & 0.73433e-09_rb,0.79954e-09_rb,0.86343e-09_rb,0.92049e-09_rb,0.97111e-09_rb /) kbo(:,21, 5) = (/ & & 0.61317e-09_rb,0.66751e-09_rb,0.72065e-09_rb,0.76613e-09_rb,0.80891e-09_rb /) kbo(:,22, 5) = (/ & & 0.51519e-09_rb,0.56066e-09_rb,0.60290e-09_rb,0.64113e-09_rb,0.67719e-09_rb /) kbo(:,23, 5) = (/ & & 0.43331e-09_rb,0.47103e-09_rb,0.50532e-09_rb,0.53747e-09_rb,0.56589e-09_rb /) kbo(:,24, 5) = (/ & & 0.36478e-09_rb,0.39531e-09_rb,0.42421e-09_rb,0.45023e-09_rb,0.47333e-09_rb /) kbo(:,25, 5) = (/ & & 0.30661e-09_rb,0.33249e-09_rb,0.35642e-09_rb,0.37711e-09_rb,0.39645e-09_rb /) kbo(:,26, 5) = (/ & & 0.25851e-09_rb,0.28030e-09_rb,0.29893e-09_rb,0.31621e-09_rb,0.33249e-09_rb /) kbo(:,27, 5) = (/ & & 0.21849e-09_rb,0.23581e-09_rb,0.25124e-09_rb,0.26548e-09_rb,0.27889e-09_rb /) kbo(:,28, 5) = (/ & & 0.18476e-09_rb,0.19866e-09_rb,0.21115e-09_rb,0.22285e-09_rb,0.23419e-09_rb /) kbo(:,29, 5) = (/ & & 0.15608e-09_rb,0.16725e-09_rb,0.17764e-09_rb,0.18744e-09_rb,0.19627e-09_rb /) kbo(:,30, 5) = (/ & & 0.13180e-09_rb,0.14084e-09_rb,0.14944e-09_rb,0.15734e-09_rb,0.16419e-09_rb /) kbo(:,31, 5) = (/ & & 0.11122e-09_rb,0.11878e-09_rb,0.12548e-09_rb,0.13183e-09_rb,0.13690e-09_rb /) kbo(:,32, 5) = (/ & & 0.93806e-10_rb,0.99909e-10_rb,0.10547e-09_rb,0.11013e-09_rb,0.11393e-09_rb /) kbo(:,33, 5) = (/ & & 0.79057e-10_rb,0.83869e-10_rb,0.88337e-10_rb,0.91833e-10_rb,0.94728e-10_rb /) kbo(:,34, 5) = (/ & & 0.66383e-10_rb,0.70216e-10_rb,0.73644e-10_rb,0.76467e-10_rb,0.78589e-10_rb /) kbo(:,35, 5) = (/ & & 0.55303e-10_rb,0.58435e-10_rb,0.61122e-10_rb,0.63317e-10_rb,0.64984e-10_rb /) kbo(:,36, 5) = (/ & & 0.45788e-10_rb,0.48318e-10_rb,0.50463e-10_rb,0.52237e-10_rb,0.53589e-10_rb /) kbo(:,37, 5) = (/ & & 0.37517e-10_rb,0.39593e-10_rb,0.41407e-10_rb,0.42883e-10_rb,0.44012e-10_rb /) kbo(:,38, 5) = (/ & & 0.30717e-10_rb,0.32436e-10_rb,0.33950e-10_rb,0.35197e-10_rb,0.36146e-10_rb /) kbo(:,39, 5) = (/ & & 0.25129e-10_rb,0.26560e-10_rb,0.27827e-10_rb,0.28835e-10_rb,0.29676e-10_rb /) kbo(:,40, 5) = (/ & & 0.20420e-10_rb,0.21620e-10_rb,0.22699e-10_rb,0.23564e-10_rb,0.24290e-10_rb /) kbo(:,41, 5) = (/ & & 0.16561e-10_rb,0.17583e-10_rb,0.18496e-10_rb,0.19245e-10_rb,0.19868e-10_rb /) kbo(:,42, 5) = (/ & & 0.13418e-10_rb,0.14291e-10_rb,0.15059e-10_rb,0.15706e-10_rb,0.16243e-10_rb /) kbo(:,43, 5) = (/ & & 0.10810e-10_rb,0.11562e-10_rb,0.12210e-10_rb,0.12774e-10_rb,0.13223e-10_rb /) kbo(:,44, 5) = (/ & & 0.86843e-11_rb,0.93265e-11_rb,0.98789e-11_rb,0.10369e-10_rb,0.10770e-10_rb /) kbo(:,45, 5) = (/ & & 0.69593e-11_rb,0.75111e-11_rb,0.79891e-11_rb,0.84084e-11_rb,0.87638e-11_rb /) kbo(:,46, 5) = (/ & & 0.55576e-11_rb,0.60308e-11_rb,0.64400e-11_rb,0.68030e-11_rb,0.71149e-11_rb /) kbo(:,47, 5) = (/ & & 0.44097e-11_rb,0.48155e-11_rb,0.51709e-11_rb,0.54794e-11_rb,0.57570e-11_rb /) kbo(:,48, 5) = (/ & & 0.34877e-11_rb,0.38384e-11_rb,0.41433e-11_rb,0.44120e-11_rb,0.46521e-11_rb /) kbo(:,49, 5) = (/ & & 0.27512e-11_rb,0.30491e-11_rb,0.33123e-11_rb,0.35456e-11_rb,0.37509e-11_rb /) kbo(:,50, 5) = (/ & & 0.21734e-11_rb,0.24185e-11_rb,0.26481e-11_rb,0.28485e-11_rb,0.30236e-11_rb /) kbo(:,51, 5) = (/ & & 0.17150e-11_rb,0.19185e-11_rb,0.21147e-11_rb,0.22857e-11_rb,0.24371e-11_rb /) kbo(:,52, 5) = (/ & & 0.13499e-11_rb,0.15196e-11_rb,0.16853e-11_rb,0.18315e-11_rb,0.19613e-11_rb /) kbo(:,53, 5) = (/ & & 0.10590e-11_rb,0.11989e-11_rb,0.13374e-11_rb,0.14641e-11_rb,0.15756e-11_rb /) kbo(:,54, 5) = (/ & & 0.83182e-12_rb,0.94832e-12_rb,0.10625e-11_rb,0.11713e-11_rb,0.12669e-11_rb /) kbo(:,55, 5) = (/ & & 0.65257e-12_rb,0.74992e-12_rb,0.84445e-12_rb,0.93664e-12_rb,0.10175e-11_rb /) kbo(:,56, 5) = (/ & & 0.51109e-12_rb,0.59162e-12_rb,0.67030e-12_rb,0.74706e-12_rb,0.81634e-12_rb /) kbo(:,57, 5) = (/ & & 0.39868e-12_rb,0.46532e-12_rb,0.53042e-12_rb,0.59449e-12_rb,0.65374e-12_rb /) kbo(:,58, 5) = (/ & & 0.31062e-12_rb,0.36629e-12_rb,0.42009e-12_rb,0.47298e-12_rb,0.52357e-12_rb /) kbo(:,59, 5) = (/ & & 0.24996e-12_rb,0.29597e-12_rb,0.34052e-12_rb,0.38403e-12_rb,0.42584e-12_rb /) kbo(:,13, 6) = (/ & & 0.10275e-07_rb,0.10425e-07_rb,0.10505e-07_rb,0.10571e-07_rb,0.10619e-07_rb /) kbo(:,14, 6) = (/ & & 0.84309e-08_rb,0.85528e-08_rb,0.86280e-08_rb,0.86935e-08_rb,0.87236e-08_rb /) kbo(:,15, 6) = (/ & & 0.69259e-08_rb,0.70218e-08_rb,0.71031e-08_rb,0.71419e-08_rb,0.71430e-08_rb /) kbo(:,16, 6) = (/ & & 0.56933e-08_rb,0.57765e-08_rb,0.58298e-08_rb,0.58527e-08_rb,0.58704e-08_rb /) kbo(:,17, 6) = (/ & & 0.46880e-08_rb,0.47555e-08_rb,0.47985e-08_rb,0.48270e-08_rb,0.48471e-08_rb /) kbo(:,18, 6) = (/ & & 0.38628e-08_rb,0.39183e-08_rb,0.39591e-08_rb,0.39923e-08_rb,0.40106e-08_rb /) kbo(:,19, 6) = (/ & & 0.31833e-08_rb,0.32370e-08_rb,0.32750e-08_rb,0.32992e-08_rb,0.33139e-08_rb /) kbo(:,20, 6) = (/ & & 0.26315e-08_rb,0.26765e-08_rb,0.27033e-08_rb,0.27208e-08_rb,0.27412e-08_rb /) kbo(:,21, 6) = (/ & & 0.21768e-08_rb,0.22074e-08_rb,0.22281e-08_rb,0.22492e-08_rb,0.22648e-08_rb /) kbo(:,22, 6) = (/ & & 0.17970e-08_rb,0.18204e-08_rb,0.18421e-08_rb,0.18603e-08_rb,0.18697e-08_rb /) kbo(:,23, 6) = (/ & & 0.14828e-08_rb,0.15043e-08_rb,0.15235e-08_rb,0.15373e-08_rb,0.15469e-08_rb /) kbo(:,24, 6) = (/ & & 0.12265e-08_rb,0.12457e-08_rb,0.12602e-08_rb,0.12704e-08_rb,0.12795e-08_rb /) kbo(:,25, 6) = (/ & & 0.10153e-08_rb,0.10303e-08_rb,0.10406e-08_rb,0.10511e-08_rb,0.10591e-08_rb /) kbo(:,26, 6) = (/ & & 0.84067e-09_rb,0.85220e-09_rb,0.86139e-09_rb,0.87145e-09_rb,0.87606e-09_rb /) kbo(:,27, 6) = (/ & & 0.69556e-09_rb,0.70441e-09_rb,0.71396e-09_rb,0.72098e-09_rb,0.72486e-09_rb /) kbo(:,28, 6) = (/ & & 0.57505e-09_rb,0.58326e-09_rb,0.59186e-09_rb,0.59662e-09_rb,0.60056e-09_rb /) kbo(:,29, 6) = (/ & & 0.47621e-09_rb,0.48459e-09_rb,0.49079e-09_rb,0.49432e-09_rb,0.49717e-09_rb /) kbo(:,30, 6) = (/ & & 0.39513e-09_rb,0.40232e-09_rb,0.40640e-09_rb,0.40995e-09_rb,0.41263e-09_rb /) kbo(:,31, 6) = (/ & & 0.32890e-09_rb,0.33390e-09_rb,0.33797e-09_rb,0.34036e-09_rb,0.34440e-09_rb /) kbo(:,32, 6) = (/ & & 0.27372e-09_rb,0.27757e-09_rb,0.28057e-09_rb,0.28360e-09_rb,0.28668e-09_rb /) kbo(:,33, 6) = (/ & & 0.22771e-09_rb,0.23074e-09_rb,0.23349e-09_rb,0.23595e-09_rb,0.23797e-09_rb /) kbo(:,34, 6) = (/ & & 0.18899e-09_rb,0.19179e-09_rb,0.19391e-09_rb,0.19591e-09_rb,0.19720e-09_rb /) kbo(:,35, 6) = (/ & & 0.15677e-09_rb,0.15897e-09_rb,0.16075e-09_rb,0.16219e-09_rb,0.16318e-09_rb /) kbo(:,36, 6) = (/ & & 0.12972e-09_rb,0.13147e-09_rb,0.13291e-09_rb,0.13412e-09_rb,0.13484e-09_rb /) kbo(:,37, 6) = (/ & & 0.10704e-09_rb,0.10855e-09_rb,0.10970e-09_rb,0.11065e-09_rb,0.11129e-09_rb /) kbo(:,38, 6) = (/ & & 0.88219e-10_rb,0.89571e-10_rb,0.90489e-10_rb,0.91263e-10_rb,0.91821e-10_rb /) kbo(:,39, 6) = (/ & & 0.72709e-10_rb,0.73884e-10_rb,0.74615e-10_rb,0.75144e-10_rb,0.75719e-10_rb /) kbo(:,40, 6) = (/ & & 0.59779e-10_rb,0.60793e-10_rb,0.61424e-10_rb,0.61873e-10_rb,0.62379e-10_rb /) kbo(:,41, 6) = (/ & & 0.49104e-10_rb,0.49999e-10_rb,0.50541e-10_rb,0.50924e-10_rb,0.51369e-10_rb /) kbo(:,42, 6) = (/ & & 0.40324e-10_rb,0.41079e-10_rb,0.41584e-10_rb,0.41914e-10_rb,0.42279e-10_rb /) kbo(:,43, 6) = (/ & & 0.33050e-10_rb,0.33695e-10_rb,0.34173e-10_rb,0.34462e-10_rb,0.34716e-10_rb /) kbo(:,44, 6) = (/ & & 0.27054e-10_rb,0.27604e-10_rb,0.28056e-10_rb,0.28313e-10_rb,0.28542e-10_rb /) kbo(:,45, 6) = (/ & & 0.22112e-10_rb,0.22613e-10_rb,0.23018e-10_rb,0.23255e-10_rb,0.23441e-10_rb /) kbo(:,46, 6) = (/ & & 0.18060e-10_rb,0.18501e-10_rb,0.18867e-10_rb,0.19082e-10_rb,0.19252e-10_rb /) kbo(:,47, 6) = (/ & & 0.14722e-10_rb,0.15111e-10_rb,0.15432e-10_rb,0.15658e-10_rb,0.15802e-10_rb /) kbo(:,48, 6) = (/ & & 0.11985e-10_rb,0.12318e-10_rb,0.12624e-10_rb,0.12826e-10_rb,0.12965e-10_rb /) kbo(:,49, 6) = (/ & & 0.97421e-11_rb,0.10040e-10_rb,0.10306e-10_rb,0.10499e-10_rb,0.10630e-10_rb /) kbo(:,50, 6) = (/ & & 0.79055e-11_rb,0.81823e-11_rb,0.84121e-11_rb,0.85902e-11_rb,0.87163e-11_rb /) kbo(:,51, 6) = (/ & & 0.64164e-11_rb,0.66612e-11_rb,0.68621e-11_rb,0.70240e-11_rb,0.71428e-11_rb /) kbo(:,52, 6) = (/ & & 0.51935e-11_rb,0.54159e-11_rb,0.55861e-11_rb,0.57406e-11_rb,0.58465e-11_rb /) kbo(:,53, 6) = (/ & & 0.42017e-11_rb,0.43985e-11_rb,0.45525e-11_rb,0.46862e-11_rb,0.47817e-11_rb /) kbo(:,54, 6) = (/ & & 0.33953e-11_rb,0.35701e-11_rb,0.37080e-11_rb,0.38204e-11_rb,0.39118e-11_rb /) kbo(:,55, 6) = (/ & & 0.27420e-11_rb,0.28948e-11_rb,0.30166e-11_rb,0.31148e-11_rb,0.31981e-11_rb /) kbo(:,56, 6) = (/ & & 0.22097e-11_rb,0.23440e-11_rb,0.24518e-11_rb,0.25378e-11_rb,0.26122e-11_rb /) kbo(:,57, 6) = (/ & & 0.17765e-11_rb,0.18968e-11_rb,0.19913e-11_rb,0.20659e-11_rb,0.21319e-11_rb /) kbo(:,58, 6) = (/ & & 0.14264e-11_rb,0.15324e-11_rb,0.16166e-11_rb,0.16816e-11_rb,0.17374e-11_rb /) kbo(:,59, 6) = (/ & & 0.11621e-11_rb,0.12515e-11_rb,0.13230e-11_rb,0.13773e-11_rb,0.14240e-11_rb /) kbo(:,13, 7) = (/ & & 0.28079e-07_rb,0.28035e-07_rb,0.27949e-07_rb,0.27835e-07_rb,0.27661e-07_rb /) kbo(:,14, 7) = (/ & & 0.23041e-07_rb,0.22982e-07_rb,0.22914e-07_rb,0.22814e-07_rb,0.22653e-07_rb /) kbo(:,15, 7) = (/ & & 0.18899e-07_rb,0.18860e-07_rb,0.18790e-07_rb,0.18675e-07_rb,0.18596e-07_rb /) kbo(:,16, 7) = (/ & & 0.15489e-07_rb,0.15457e-07_rb,0.15389e-07_rb,0.15337e-07_rb,0.15329e-07_rb /) kbo(:,17, 7) = (/ & & 0.12699e-07_rb,0.12665e-07_rb,0.12634e-07_rb,0.12640e-07_rb,0.12612e-07_rb /) kbo(:,18, 7) = (/ & & 0.10409e-07_rb,0.10397e-07_rb,0.10401e-07_rb,0.10391e-07_rb,0.10368e-07_rb /) kbo(:,19, 7) = (/ & & 0.85482e-08_rb,0.85403e-08_rb,0.85408e-08_rb,0.85379e-08_rb,0.85325e-08_rb /) kbo(:,20, 7) = (/ & & 0.70183e-08_rb,0.70212e-08_rb,0.70225e-08_rb,0.70232e-08_rb,0.70243e-08_rb /) kbo(:,21, 7) = (/ & & 0.57704e-08_rb,0.57836e-08_rb,0.57919e-08_rb,0.57990e-08_rb,0.58135e-08_rb /) kbo(:,22, 7) = (/ & & 0.47522e-08_rb,0.47673e-08_rb,0.47834e-08_rb,0.48084e-08_rb,0.48239e-08_rb /) kbo(:,23, 7) = (/ & & 0.39186e-08_rb,0.39439e-08_rb,0.39679e-08_rb,0.39863e-08_rb,0.40063e-08_rb /) kbo(:,24, 7) = (/ & & 0.32407e-08_rb,0.32645e-08_rb,0.32840e-08_rb,0.33039e-08_rb,0.33353e-08_rb /) kbo(:,25, 7) = (/ & & 0.26846e-08_rb,0.27012e-08_rb,0.27199e-08_rb,0.27477e-08_rb,0.27761e-08_rb /) kbo(:,26, 7) = (/ & & 0.22196e-08_rb,0.22367e-08_rb,0.22646e-08_rb,0.22896e-08_rb,0.23141e-08_rb /) kbo(:,27, 7) = (/ & & 0.18370e-08_rb,0.18616e-08_rb,0.18864e-08_rb,0.19087e-08_rb,0.19319e-08_rb /) kbo(:,28, 7) = (/ & & 0.15259e-08_rb,0.15495e-08_rb,0.15695e-08_rb,0.15912e-08_rb,0.16152e-08_rb /) kbo(:,29, 7) = (/ & & 0.12717e-08_rb,0.12907e-08_rb,0.13087e-08_rb,0.13304e-08_rb,0.13523e-08_rb /) kbo(:,30, 7) = (/ & & 0.10599e-08_rb,0.10765e-08_rb,0.10939e-08_rb,0.11139e-08_rb,0.11374e-08_rb /) kbo(:,31, 7) = (/ & & 0.88411e-09_rb,0.89833e-09_rb,0.91628e-09_rb,0.93662e-09_rb,0.95540e-09_rb /) kbo(:,32, 7) = (/ & & 0.73723e-09_rb,0.75198e-09_rb,0.77042e-09_rb,0.78608e-09_rb,0.80601e-09_rb /) kbo(:,33, 7) = (/ & & 0.61511e-09_rb,0.63161e-09_rb,0.64646e-09_rb,0.66232e-09_rb,0.68095e-09_rb /) kbo(:,34, 7) = (/ & & 0.51621e-09_rb,0.53001e-09_rb,0.54332e-09_rb,0.55986e-09_rb,0.57326e-09_rb /) kbo(:,35, 7) = (/ & & 0.43217e-09_rb,0.44439e-09_rb,0.45713e-09_rb,0.47103e-09_rb,0.48242e-09_rb /) kbo(:,36, 7) = (/ & & 0.36090e-09_rb,0.37166e-09_rb,0.38311e-09_rb,0.39461e-09_rb,0.40545e-09_rb /) kbo(:,37, 7) = (/ & & 0.29990e-09_rb,0.30916e-09_rb,0.31937e-09_rb,0.32943e-09_rb,0.34038e-09_rb /) kbo(:,38, 7) = (/ & & 0.24927e-09_rb,0.25737e-09_rb,0.26638e-09_rb,0.27543e-09_rb,0.28596e-09_rb /) kbo(:,39, 7) = (/ & & 0.20718e-09_rb,0.21434e-09_rb,0.22203e-09_rb,0.23026e-09_rb,0.23966e-09_rb /) kbo(:,40, 7) = (/ & & 0.17122e-09_rb,0.17745e-09_rb,0.18425e-09_rb,0.19138e-09_rb,0.19937e-09_rb /) kbo(:,41, 7) = (/ & & 0.14145e-09_rb,0.14673e-09_rb,0.15273e-09_rb,0.15885e-09_rb,0.16544e-09_rb /) kbo(:,42, 7) = (/ & & 0.11673e-09_rb,0.12130e-09_rb,0.12626e-09_rb,0.13156e-09_rb,0.13718e-09_rb /) kbo(:,43, 7) = (/ & & 0.95979e-10_rb,0.99773e-10_rb,0.10407e-09_rb,0.10848e-09_rb,0.11289e-09_rb /) kbo(:,44, 7) = (/ & & 0.78684e-10_rb,0.81894e-10_rb,0.85476e-10_rb,0.89249e-10_rb,0.92971e-10_rb /) kbo(:,45, 7) = (/ & & 0.64482e-10_rb,0.67161e-10_rb,0.70163e-10_rb,0.73315e-10_rb,0.76486e-10_rb /) kbo(:,46, 7) = (/ & & 0.52720e-10_rb,0.54998e-10_rb,0.57509e-10_rb,0.60128e-10_rb,0.62787e-10_rb /) kbo(:,47, 7) = (/ & & 0.42902e-10_rb,0.44887e-10_rb,0.46948e-10_rb,0.49098e-10_rb,0.51392e-10_rb /) kbo(:,48, 7) = (/ & & 0.34914e-10_rb,0.36612e-10_rb,0.38268e-10_rb,0.40114e-10_rb,0.41998e-10_rb /) kbo(:,49, 7) = (/ & & 0.28363e-10_rb,0.29830e-10_rb,0.31160e-10_rb,0.32712e-10_rb,0.34278e-10_rb /) kbo(:,50, 7) = (/ & & 0.23044e-10_rb,0.24298e-10_rb,0.25411e-10_rb,0.26663e-10_rb,0.27956e-10_rb /) kbo(:,51, 7) = (/ & & 0.18719e-10_rb,0.19762e-10_rb,0.20717e-10_rb,0.21748e-10_rb,0.22834e-10_rb /) kbo(:,52, 7) = (/ & & 0.15214e-10_rb,0.16060e-10_rb,0.16882e-10_rb,0.17722e-10_rb,0.18609e-10_rb /) kbo(:,53, 7) = (/ & & 0.12339e-10_rb,0.13039e-10_rb,0.13738e-10_rb,0.14413e-10_rb,0.15144e-10_rb /) kbo(:,54, 7) = (/ & & 0.10028e-10_rb,0.10589e-10_rb,0.11176e-10_rb,0.11743e-10_rb,0.12340e-10_rb /) kbo(:,55, 7) = (/ & & 0.81332e-11_rb,0.85988e-11_rb,0.90904e-11_rb,0.95545e-11_rb,0.10057e-10_rb /) kbo(:,56, 7) = (/ & & 0.66047e-11_rb,0.69777e-11_rb,0.73796e-11_rb,0.77755e-11_rb,0.81880e-11_rb /) kbo(:,57, 7) = (/ & & 0.53536e-11_rb,0.56554e-11_rb,0.59940e-11_rb,0.63232e-11_rb,0.66612e-11_rb /) kbo(:,58, 7) = (/ & & 0.43329e-11_rb,0.45903e-11_rb,0.48661e-11_rb,0.51412e-11_rb,0.54200e-11_rb /) kbo(:,59, 7) = (/ & & 0.35522e-11_rb,0.37646e-11_rb,0.39940e-11_rb,0.42211e-11_rb,0.44525e-11_rb /) kbo(:,13, 8) = (/ & & 0.11230e-06_rb,0.11409e-06_rb,0.11566e-06_rb,0.11672e-06_rb,0.11734e-06_rb /) kbo(:,14, 8) = (/ & & 0.92428e-07_rb,0.93878e-07_rb,0.95014e-07_rb,0.95711e-07_rb,0.96110e-07_rb /) kbo(:,15, 8) = (/ & & 0.76021e-07_rb,0.77148e-07_rb,0.77913e-07_rb,0.78505e-07_rb,0.78756e-07_rb /) kbo(:,16, 8) = (/ & & 0.62512e-07_rb,0.63402e-07_rb,0.63979e-07_rb,0.64292e-07_rb,0.64352e-07_rb /) kbo(:,17, 8) = (/ & & 0.51480e-07_rb,0.52099e-07_rb,0.52465e-07_rb,0.52634e-07_rb,0.52753e-07_rb /) kbo(:,18, 8) = (/ & & 0.42336e-07_rb,0.42773e-07_rb,0.43015e-07_rb,0.43145e-07_rb,0.43290e-07_rb /) kbo(:,19, 8) = (/ & & 0.34820e-07_rb,0.35138e-07_rb,0.35326e-07_rb,0.35465e-07_rb,0.35546e-07_rb /) kbo(:,20, 8) = (/ & & 0.28634e-07_rb,0.28882e-07_rb,0.29099e-07_rb,0.29190e-07_rb,0.29248e-07_rb /) kbo(:,21, 8) = (/ & & 0.23527e-07_rb,0.23767e-07_rb,0.23879e-07_rb,0.24001e-07_rb,0.24136e-07_rb /) kbo(:,22, 8) = (/ & & 0.19380e-07_rb,0.19526e-07_rb,0.19668e-07_rb,0.19823e-07_rb,0.20000e-07_rb /) kbo(:,23, 8) = (/ & & 0.15955e-07_rb,0.16103e-07_rb,0.16252e-07_rb,0.16425e-07_rb,0.16561e-07_rb /) kbo(:,24, 8) = (/ & & 0.13163e-07_rb,0.13294e-07_rb,0.13466e-07_rb,0.13609e-07_rb,0.13701e-07_rb /) kbo(:,25, 8) = (/ & & 0.10863e-07_rb,0.11029e-07_rb,0.11155e-07_rb,0.11256e-07_rb,0.11368e-07_rb /) kbo(:,26, 8) = (/ & & 0.90043e-08_rb,0.91173e-08_rb,0.92226e-08_rb,0.93261e-08_rb,0.94322e-08_rb /) kbo(:,27, 8) = (/ & & 0.74604e-08_rb,0.75548e-08_rb,0.76410e-08_rb,0.77390e-08_rb,0.78488e-08_rb /) kbo(:,28, 8) = (/ & & 0.61944e-08_rb,0.62754e-08_rb,0.63658e-08_rb,0.64728e-08_rb,0.65523e-08_rb /) kbo(:,29, 8) = (/ & & 0.51553e-08_rb,0.52390e-08_rb,0.53444e-08_rb,0.54244e-08_rb,0.55104e-08_rb /) kbo(:,30, 8) = (/ & & 0.43022e-08_rb,0.44056e-08_rb,0.44906e-08_rb,0.45753e-08_rb,0.46815e-08_rb /) kbo(:,31, 8) = (/ & & 0.36260e-08_rb,0.37147e-08_rb,0.37854e-08_rb,0.38857e-08_rb,0.39725e-08_rb /) kbo(:,32, 8) = (/ & & 0.30574e-08_rb,0.31222e-08_rb,0.32149e-08_rb,0.32959e-08_rb,0.33679e-08_rb /) kbo(:,33, 8) = (/ & & 0.25690e-08_rb,0.26475e-08_rb,0.27306e-08_rb,0.27942e-08_rb,0.28607e-08_rb /) kbo(:,34, 8) = (/ & & 0.21739e-08_rb,0.22522e-08_rb,0.23131e-08_rb,0.23724e-08_rb,0.24398e-08_rb /) kbo(:,35, 8) = (/ & & 0.18403e-08_rb,0.19033e-08_rb,0.19580e-08_rb,0.20191e-08_rb,0.20792e-08_rb /) kbo(:,36, 8) = (/ & & 0.15538e-08_rb,0.16068e-08_rb,0.16535e-08_rb,0.17159e-08_rb,0.17681e-08_rb /) kbo(:,37, 8) = (/ & & 0.13002e-08_rb,0.13483e-08_rb,0.13923e-08_rb,0.14493e-08_rb,0.14927e-08_rb /) kbo(:,38, 8) = (/ & & 0.10893e-08_rb,0.11319e-08_rb,0.11765e-08_rb,0.12253e-08_rb,0.12624e-08_rb /) kbo(:,39, 8) = (/ & & 0.91348e-09_rb,0.95067e-09_rb,0.99134e-09_rb,0.10293e-08_rb,0.10668e-08_rb /) kbo(:,40, 8) = (/ & & 0.76170e-09_rb,0.79404e-09_rb,0.82953e-09_rb,0.86548e-09_rb,0.90041e-09_rb /) kbo(:,41, 8) = (/ & & 0.63292e-09_rb,0.66170e-09_rb,0.69363e-09_rb,0.72573e-09_rb,0.75710e-09_rb /) kbo(:,42, 8) = (/ & & 0.52609e-09_rb,0.55120e-09_rb,0.57974e-09_rb,0.60803e-09_rb,0.63636e-09_rb /) kbo(:,43, 8) = (/ & & 0.43444e-09_rb,0.45674e-09_rb,0.48206e-09_rb,0.50747e-09_rb,0.53053e-09_rb /) kbo(:,44, 8) = (/ & & 0.35755e-09_rb,0.37758e-09_rb,0.39965e-09_rb,0.42169e-09_rb,0.44276e-09_rb /) kbo(:,45, 8) = (/ & & 0.29410e-09_rb,0.31126e-09_rb,0.33079e-09_rb,0.35014e-09_rb,0.36874e-09_rb /) kbo(:,46, 8) = (/ & & 0.24113e-09_rb,0.25605e-09_rb,0.27273e-09_rb,0.28962e-09_rb,0.30646e-09_rb /) kbo(:,47, 8) = (/ & & 0.19675e-09_rb,0.20937e-09_rb,0.22390e-09_rb,0.23865e-09_rb,0.25330e-09_rb /) kbo(:,48, 8) = (/ & & 0.16029e-09_rb,0.17125e-09_rb,0.18339e-09_rb,0.19620e-09_rb,0.20918e-09_rb /) kbo(:,49, 8) = (/ & & 0.13018e-09_rb,0.13961e-09_rb,0.15020e-09_rb,0.16108e-09_rb,0.17231e-09_rb /) kbo(:,50, 8) = (/ & & 0.10559e-09_rb,0.11394e-09_rb,0.12271e-09_rb,0.13208e-09_rb,0.14200e-09_rb /) kbo(:,51, 8) = (/ & & 0.85569e-10_rb,0.92775e-10_rb,0.10011e-09_rb,0.10818e-09_rb,0.11665e-09_rb /) kbo(:,52, 8) = (/ & & 0.69342e-10_rb,0.75341e-10_rb,0.81596e-10_rb,0.88527e-10_rb,0.95876e-10_rb /) kbo(:,53, 8) = (/ & & 0.56003e-10_rb,0.61203e-10_rb,0.66389e-10_rb,0.72376e-10_rb,0.78642e-10_rb /) kbo(:,54, 8) = (/ & & 0.45380e-10_rb,0.49599e-10_rb,0.54006e-10_rb,0.59069e-10_rb,0.64380e-10_rb /) kbo(:,55, 8) = (/ & & 0.36637e-10_rb,0.40078e-10_rb,0.43990e-10_rb,0.48279e-10_rb,0.52815e-10_rb /) kbo(:,56, 8) = (/ & & 0.29596e-10_rb,0.32455e-10_rb,0.35694e-10_rb,0.39315e-10_rb,0.43169e-10_rb /) kbo(:,57, 8) = (/ & & 0.23911e-10_rb,0.26268e-10_rb,0.28916e-10_rb,0.31929e-10_rb,0.35182e-10_rb /) kbo(:,58, 8) = (/ & & 0.19299e-10_rb,0.21198e-10_rb,0.23407e-10_rb,0.25936e-10_rb,0.28689e-10_rb /) kbo(:,59, 8) = (/ & & 0.15839e-10_rb,0.17448e-10_rb,0.19334e-10_rb,0.21469e-10_rb,0.23829e-10_rb /) kbo(:,13, 9) = (/ & & 0.96471e-06_rb,0.97408e-06_rb,0.98436e-06_rb,0.99439e-06_rb,0.10050e-05_rb /) kbo(:,14, 9) = (/ & & 0.80904e-06_rb,0.81838e-06_rb,0.82742e-06_rb,0.83703e-06_rb,0.84742e-06_rb /) kbo(:,15, 9) = (/ & & 0.67733e-06_rb,0.68563e-06_rb,0.69403e-06_rb,0.70345e-06_rb,0.71287e-06_rb /) kbo(:,16, 9) = (/ & & 0.56582e-06_rb,0.57313e-06_rb,0.58159e-06_rb,0.59012e-06_rb,0.59880e-06_rb /) kbo(:,17, 9) = (/ & & 0.47164e-06_rb,0.47892e-06_rb,0.48671e-06_rb,0.49436e-06_rb,0.50258e-06_rb /) kbo(:,18, 9) = (/ & & 0.39308e-06_rb,0.39992e-06_rb,0.40685e-06_rb,0.41415e-06_rb,0.42143e-06_rb /) kbo(:,19, 9) = (/ & & 0.32764e-06_rb,0.33370e-06_rb,0.34000e-06_rb,0.34660e-06_rb,0.35294e-06_rb /) kbo(:,20, 9) = (/ & & 0.27304e-06_rb,0.27855e-06_rb,0.28433e-06_rb,0.29002e-06_rb,0.29550e-06_rb /) kbo(:,21, 9) = (/ & & 0.22762e-06_rb,0.23263e-06_rb,0.23776e-06_rb,0.24264e-06_rb,0.24751e-06_rb /) kbo(:,22, 9) = (/ & & 0.19016e-06_rb,0.19467e-06_rb,0.19902e-06_rb,0.20331e-06_rb,0.20743e-06_rb /) kbo(:,23, 9) = (/ & & 0.15902e-06_rb,0.16285e-06_rb,0.16664e-06_rb,0.17032e-06_rb,0.17381e-06_rb /) kbo(:,24, 9) = (/ & & 0.13300e-06_rb,0.13639e-06_rb,0.13965e-06_rb,0.14271e-06_rb,0.14575e-06_rb /) kbo(:,25, 9) = (/ & & 0.11136e-06_rb,0.11428e-06_rb,0.11705e-06_rb,0.11966e-06_rb,0.12234e-06_rb /) kbo(:,26, 9) = (/ & & 0.93355e-07_rb,0.95870e-07_rb,0.98179e-07_rb,0.10046e-06_rb,0.10295e-06_rb /) kbo(:,27, 9) = (/ & & 0.78546e-07_rb,0.80656e-07_rb,0.82694e-07_rb,0.84793e-07_rb,0.87129e-07_rb /) kbo(:,28, 9) = (/ & & 0.65991e-07_rb,0.67786e-07_rb,0.69602e-07_rb,0.71624e-07_rb,0.74063e-07_rb /) kbo(:,29, 9) = (/ & & 0.55459e-07_rb,0.56995e-07_rb,0.58695e-07_rb,0.60741e-07_rb,0.63281e-07_rb /) kbo(:,30, 9) = (/ & & 0.46750e-07_rb,0.48054e-07_rb,0.49703e-07_rb,0.51793e-07_rb,0.54403e-07_rb /) kbo(:,31, 9) = (/ & & 0.39452e-07_rb,0.40727e-07_rb,0.42319e-07_rb,0.44486e-07_rb,0.47323e-07_rb /) kbo(:,32, 9) = (/ & & 0.33473e-07_rb,0.34884e-07_rb,0.36502e-07_rb,0.38781e-07_rb,0.41735e-07_rb /) kbo(:,33, 9) = (/ & & 0.28581e-07_rb,0.30008e-07_rb,0.31748e-07_rb,0.34217e-07_rb,0.37511e-07_rb /) kbo(:,34, 9) = (/ & & 0.24450e-07_rb,0.25951e-07_rb,0.27867e-07_rb,0.30565e-07_rb,0.34125e-07_rb /) kbo(:,35, 9) = (/ & & 0.20942e-07_rb,0.22554e-07_rb,0.24574e-07_rb,0.27409e-07_rb,0.31159e-07_rb /) kbo(:,36, 9) = (/ & & 0.18081e-07_rb,0.19648e-07_rb,0.21657e-07_rb,0.24573e-07_rb,0.28429e-07_rb /) kbo(:,37, 9) = (/ & & 0.15436e-07_rb,0.16978e-07_rb,0.19037e-07_rb,0.21710e-07_rb,0.25509e-07_rb /) kbo(:,38, 9) = (/ & & 0.13187e-07_rb,0.14690e-07_rb,0.16738e-07_rb,0.19257e-07_rb,0.22992e-07_rb /) kbo(:,39, 9) = (/ & & 0.11282e-07_rb,0.12751e-07_rb,0.14794e-07_rb,0.17292e-07_rb,0.20852e-07_rb /) kbo(:,40, 9) = (/ & & 0.96293e-08_rb,0.10973e-07_rb,0.12917e-07_rb,0.15272e-07_rb,0.18582e-07_rb /) kbo(:,41, 9) = (/ & & 0.81770e-08_rb,0.94352e-08_rb,0.11220e-07_rb,0.13516e-07_rb,0.16546e-07_rb /) kbo(:,42, 9) = (/ & & 0.69323e-08_rb,0.80750e-08_rb,0.97479e-08_rb,0.11964e-07_rb,0.14736e-07_rb /) kbo(:,43, 9) = (/ & & 0.58312e-08_rb,0.68571e-08_rb,0.83595e-08_rb,0.10414e-07_rb,0.12928e-07_rb /) kbo(:,44, 9) = (/ & & 0.48754e-08_rb,0.58128e-08_rb,0.71504e-08_rb,0.90270e-08_rb,0.11362e-07_rb /) kbo(:,45, 9) = (/ & & 0.40522e-08_rb,0.48841e-08_rb,0.60765e-08_rb,0.77697e-08_rb,0.99439e-08_rb /) kbo(:,46, 9) = (/ & & 0.33429e-08_rb,0.40820e-08_rb,0.51038e-08_rb,0.66237e-08_rb,0.86427e-08_rb /) kbo(:,47, 9) = (/ & & 0.27297e-08_rb,0.33571e-08_rb,0.42806e-08_rb,0.55863e-08_rb,0.73605e-08_rb /) kbo(:,48, 9) = (/ & & 0.22143e-08_rb,0.27445e-08_rb,0.35414e-08_rb,0.46711e-08_rb,0.62204e-08_rb /) kbo(:,49, 9) = (/ & & 0.18030e-08_rb,0.22208e-08_rb,0.28995e-08_rb,0.38639e-08_rb,0.52216e-08_rb /) kbo(:,50, 9) = (/ & & 0.14670e-08_rb,0.18085e-08_rb,0.23853e-08_rb,0.32522e-08_rb,0.44284e-08_rb /) kbo(:,51, 9) = (/ & & 0.11873e-08_rb,0.14637e-08_rb,0.19592e-08_rb,0.27073e-08_rb,0.37306e-08_rb /) kbo(:,52, 9) = (/ & & 0.96876e-09_rb,0.11883e-08_rb,0.15881e-08_rb,0.22316e-08_rb,0.31252e-08_rb /) kbo(:,53, 9) = (/ & & 0.79526e-09_rb,0.95443e-09_rb,0.12843e-08_rb,0.18180e-08_rb,0.25992e-08_rb /) kbo(:,54, 9) = (/ & & 0.65045e-09_rb,0.77197e-09_rb,0.10500e-08_rb,0.14963e-08_rb,0.21953e-08_rb /) kbo(:,55, 9) = (/ & & 0.53001e-09_rb,0.62144e-09_rb,0.84441e-09_rb,0.12265e-08_rb,0.18415e-08_rb /) kbo(:,56, 9) = (/ & & 0.43274e-09_rb,0.50433e-09_rb,0.67633e-09_rb,0.10051e-08_rb,0.15294e-08_rb /) kbo(:,57, 9) = (/ & & 0.35151e-09_rb,0.40652e-09_rb,0.53819e-09_rb,0.80840e-09_rb,0.12530e-08_rb /) kbo(:,58, 9) = (/ & & 0.28511e-09_rb,0.33047e-09_rb,0.42809e-09_rb,0.65584e-09_rb,0.10383e-08_rb /) kbo(:,59, 9) = (/ & & 0.23557e-09_rb,0.27695e-09_rb,0.36588e-09_rb,0.57468e-09_rb,0.92796e-09_rb /) kbo(:,13,10) = (/ & & 0.49379e-05_rb,0.50469e-05_rb,0.51595e-05_rb,0.52778e-05_rb,0.54099e-05_rb /) kbo(:,14,10) = (/ & & 0.42812e-05_rb,0.43888e-05_rb,0.45022e-05_rb,0.46302e-05_rb,0.47669e-05_rb /) kbo(:,15,10) = (/ & & 0.36929e-05_rb,0.37965e-05_rb,0.39164e-05_rb,0.40454e-05_rb,0.41827e-05_rb /) kbo(:,16,10) = (/ & & 0.31721e-05_rb,0.32791e-05_rb,0.33975e-05_rb,0.35246e-05_rb,0.36634e-05_rb /) kbo(:,17,10) = (/ & & 0.27212e-05_rb,0.28264e-05_rb,0.29414e-05_rb,0.30666e-05_rb,0.32085e-05_rb /) kbo(:,18,10) = (/ & & 0.23339e-05_rb,0.24330e-05_rb,0.25438e-05_rb,0.26711e-05_rb,0.28184e-05_rb /) kbo(:,19,10) = (/ & & 0.19987e-05_rb,0.20932e-05_rb,0.22036e-05_rb,0.23332e-05_rb,0.24834e-05_rb /) kbo(:,20,10) = (/ & & 0.17132e-05_rb,0.18061e-05_rb,0.19176e-05_rb,0.20491e-05_rb,0.21989e-05_rb /) kbo(:,21,10) = (/ & & 0.14710e-05_rb,0.15640e-05_rb,0.16759e-05_rb,0.18061e-05_rb,0.19600e-05_rb /) kbo(:,22,10) = (/ & & 0.12737e-05_rb,0.13668e-05_rb,0.14788e-05_rb,0.16132e-05_rb,0.17763e-05_rb /) kbo(:,23,10) = (/ & & 0.11088e-05_rb,0.12015e-05_rb,0.13166e-05_rb,0.14583e-05_rb,0.16304e-05_rb /) kbo(:,24,10) = (/ & & 0.97145e-06_rb,0.10662e-05_rb,0.11867e-05_rb,0.13370e-05_rb,0.15170e-05_rb /) kbo(:,25,10) = (/ & & 0.85857e-06_rb,0.95791e-06_rb,0.10855e-05_rb,0.12438e-05_rb,0.14327e-05_rb /) kbo(:,26,10) = (/ & & 0.76914e-06_rb,0.87488e-06_rb,0.10107e-05_rb,0.11782e-05_rb,0.13762e-05_rb /) kbo(:,27,10) = (/ & & 0.69709e-06_rb,0.81000e-06_rb,0.95427e-06_rb,0.11311e-05_rb,0.13395e-05_rb /) kbo(:,28,10) = (/ & & 0.64352e-06_rb,0.76453e-06_rb,0.91846e-06_rb,0.11047e-05_rb,0.13225e-05_rb /) kbo(:,29,10) = (/ & & 0.60601e-06_rb,0.73668e-06_rb,0.90033e-06_rb,0.10967e-05_rb,0.13241e-05_rb /) kbo(:,30,10) = (/ & & 0.58144e-06_rb,0.72277e-06_rb,0.89681e-06_rb,0.11031e-05_rb,0.13400e-05_rb /) kbo(:,31,10) = (/ & & 0.57013e-06_rb,0.72161e-06_rb,0.90691e-06_rb,0.11230e-05_rb,0.13684e-05_rb /) kbo(:,32,10) = (/ & & 0.57021e-06_rb,0.73098e-06_rb,0.92629e-06_rb,0.11521e-05_rb,0.14071e-05_rb /) kbo(:,33,10) = (/ & & 0.58025e-06_rb,0.75106e-06_rb,0.95601e-06_rb,0.11909e-05_rb,0.14530e-05_rb /) kbo(:,34,10) = (/ & & 0.59352e-06_rb,0.77298e-06_rb,0.98581e-06_rb,0.12280e-05_rb,0.14964e-05_rb /) kbo(:,35,10) = (/ & & 0.59731e-06_rb,0.78147e-06_rb,0.99919e-06_rb,0.12457e-05_rb,0.15176e-05_rb /) kbo(:,36,10) = (/ & & 0.58516e-06_rb,0.77138e-06_rb,0.99076e-06_rb,0.12378e-05_rb,0.15105e-05_rb /) kbo(:,37,10) = (/ & & 0.55140e-06_rb,0.73346e-06_rb,0.94817e-06_rb,0.11937e-05_rb,0.14631e-05_rb /) kbo(:,38,10) = (/ & & 0.51916e-06_rb,0.69705e-06_rb,0.90723e-06_rb,0.11496e-05_rb,0.14156e-05_rb /) kbo(:,39,10) = (/ & & 0.48960e-06_rb,0.66318e-06_rb,0.86863e-06_rb,0.11068e-05_rb,0.13701e-05_rb /) kbo(:,40,10) = (/ & & 0.44595e-06_rb,0.61209e-06_rb,0.81011e-06_rb,0.10412e-05_rb,0.12987e-05_rb /) kbo(:,41,10) = (/ & & 0.40399e-06_rb,0.56185e-06_rb,0.75199e-06_rb,0.97449e-06_rb,0.12265e-05_rb /) kbo(:,42,10) = (/ & & 0.36503e-06_rb,0.51494e-06_rb,0.69685e-06_rb,0.91108e-06_rb,0.11565e-05_rb /) kbo(:,43,10) = (/ & & 0.32174e-06_rb,0.46170e-06_rb,0.63377e-06_rb,0.83820e-06_rb,0.10749e-05_rb /) kbo(:,44,10) = (/ & & 0.27930e-06_rb,0.40829e-06_rb,0.56968e-06_rb,0.76331e-06_rb,0.98961e-06_rb /) kbo(:,45,10) = (/ & & 0.24096e-06_rb,0.35938e-06_rb,0.50997e-06_rb,0.69291e-06_rb,0.90837e-06_rb /) kbo(:,46,10) = (/ & & 0.20431e-06_rb,0.31166e-06_rb,0.45096e-06_rb,0.62224e-06_rb,0.82595e-06_rb /) kbo(:,47,10) = (/ & & 0.16816e-06_rb,0.26359e-06_rb,0.38972e-06_rb,0.54827e-06_rb,0.73938e-06_rb /) kbo(:,48,10) = (/ & & 0.13670e-06_rb,0.22070e-06_rb,0.33435e-06_rb,0.47996e-06_rb,0.65830e-06_rb /) kbo(:,49,10) = (/ & & 0.10953e-06_rb,0.18282e-06_rb,0.28430e-06_rb,0.41725e-06_rb,0.58243e-06_rb /) kbo(:,50,10) = (/ & & 0.88267e-07_rb,0.15143e-06_rb,0.24199e-06_rb,0.36271e-06_rb,0.51595e-06_rb /) kbo(:,51,10) = (/ & & 0.70298e-07_rb,0.12484e-06_rb,0.20511e-06_rb,0.31462e-06_rb,0.45605e-06_rb /) kbo(:,52,10) = (/ & & 0.55131e-07_rb,0.10217e-06_rb,0.17234e-06_rb,0.27088e-06_rb,0.40072e-06_rb /) kbo(:,53,10) = (/ & & 0.43153e-07_rb,0.82195e-07_rb,0.14318e-06_rb,0.23139e-06_rb,0.34955e-06_rb /) kbo(:,54,10) = (/ & & 0.33903e-07_rb,0.66466e-07_rb,0.12020e-06_rb,0.19856e-06_rb,0.30630e-06_rb /) kbo(:,55,10) = (/ & & 0.26416e-07_rb,0.53605e-07_rb,0.10034e-06_rb,0.17017e-06_rb,0.26833e-06_rb /) kbo(:,56,10) = (/ & & 0.20206e-07_rb,0.42611e-07_rb,0.82928e-07_rb,0.14532e-06_rb,0.23365e-06_rb /) kbo(:,57,10) = (/ & & 0.15310e-07_rb,0.33413e-07_rb,0.67820e-07_rb,0.12262e-06_rb,0.20213e-06_rb /) kbo(:,58,10) = (/ & & 0.11722e-07_rb,0.26420e-07_rb,0.55414e-07_rb,0.10347e-06_rb,0.17567e-06_rb /) kbo(:,59,10) = (/ & & 0.10312e-07_rb,0.23851e-07_rb,0.50918e-07_rb,0.96421e-07_rb,0.16547e-06_rb /) kbo(:,13,11) = (/ & & 0.10213e-04_rb,0.10492e-04_rb,0.10768e-04_rb,0.11052e-04_rb,0.11341e-04_rb /) kbo(:,14,11) = (/ & & 0.92065e-05_rb,0.95170e-05_rb,0.98374e-05_rb,0.10166e-04_rb,0.10515e-04_rb /) kbo(:,15,11) = (/ & & 0.82447e-05_rb,0.85845e-05_rb,0.89388e-05_rb,0.93243e-05_rb,0.97313e-05_rb /) kbo(:,16,11) = (/ & & 0.73562e-05_rb,0.77204e-05_rb,0.81177e-05_rb,0.85472e-05_rb,0.89941e-05_rb /) kbo(:,17,11) = (/ & & 0.65534e-05_rb,0.69440e-05_rb,0.73753e-05_rb,0.78408e-05_rb,0.83202e-05_rb /) kbo(:,18,11) = (/ & & 0.58421e-05_rb,0.62603e-05_rb,0.67231e-05_rb,0.72105e-05_rb,0.77276e-05_rb /) kbo(:,19,11) = (/ & & 0.52249e-05_rb,0.56681e-05_rb,0.61484e-05_rb,0.66668e-05_rb,0.72285e-05_rb /) kbo(:,20,11) = (/ & & 0.47032e-05_rb,0.51617e-05_rb,0.56660e-05_rb,0.62226e-05_rb,0.68302e-05_rb /) kbo(:,21,11) = (/ & & 0.42601e-05_rb,0.47338e-05_rb,0.52698e-05_rb,0.58670e-05_rb,0.65065e-05_rb /) kbo(:,22,11) = (/ & & 0.39167e-05_rb,0.44205e-05_rb,0.49953e-05_rb,0.56267e-05_rb,0.62956e-05_rb /) kbo(:,23,11) = (/ & & 0.36499e-05_rb,0.41883e-05_rb,0.47965e-05_rb,0.54568e-05_rb,0.61529e-05_rb /) kbo(:,24,11) = (/ & & 0.34565e-05_rb,0.40283e-05_rb,0.46653e-05_rb,0.53526e-05_rb,0.60723e-05_rb /) kbo(:,25,11) = (/ & & 0.33292e-05_rb,0.39315e-05_rb,0.45958e-05_rb,0.53082e-05_rb,0.60473e-05_rb /) kbo(:,26,11) = (/ & & 0.32653e-05_rb,0.38970e-05_rb,0.45879e-05_rb,0.53204e-05_rb,0.60776e-05_rb /) kbo(:,27,11) = (/ & & 0.32497e-05_rb,0.39083e-05_rb,0.46221e-05_rb,0.53722e-05_rb,0.61437e-05_rb /) kbo(:,28,11) = (/ & & 0.32741e-05_rb,0.39580e-05_rb,0.46902e-05_rb,0.54541e-05_rb,0.62354e-05_rb /) kbo(:,29,11) = (/ & & 0.33369e-05_rb,0.40429e-05_rb,0.47902e-05_rb,0.55664e-05_rb,0.63553e-05_rb /) kbo(:,30,11) = (/ & & 0.34283e-05_rb,0.41504e-05_rb,0.49124e-05_rb,0.56972e-05_rb,0.64922e-05_rb /) kbo(:,31,11) = (/ & & 0.35444e-05_rb,0.42823e-05_rb,0.50547e-05_rb,0.58477e-05_rb,0.66477e-05_rb /) kbo(:,32,11) = (/ & & 0.36801e-05_rb,0.44317e-05_rb,0.52138e-05_rb,0.60136e-05_rb,0.68176e-05_rb /) kbo(:,33,11) = (/ & & 0.38318e-05_rb,0.45951e-05_rb,0.53855e-05_rb,0.61901e-05_rb,0.69963e-05_rb /) kbo(:,34,11) = (/ & & 0.39692e-05_rb,0.47416e-05_rb,0.55387e-05_rb,0.63463e-05_rb,0.71529e-05_rb /) kbo(:,35,11) = (/ & & 0.40413e-05_rb,0.48197e-05_rb,0.56200e-05_rb,0.64302e-05_rb,0.72378e-05_rb /) kbo(:,36,11) = (/ & & 0.40356e-05_rb,0.48162e-05_rb,0.56178e-05_rb,0.64290e-05_rb,0.72385e-05_rb /) kbo(:,37,11) = (/ & & 0.39181e-05_rb,0.46953e-05_rb,0.54967e-05_rb,0.63083e-05_rb,0.71198e-05_rb /) kbo(:,38,11) = (/ & & 0.37977e-05_rb,0.45715e-05_rb,0.53704e-05_rb,0.61820e-05_rb,0.69964e-05_rb /) kbo(:,39,11) = (/ & & 0.36811e-05_rb,0.44507e-05_rb,0.52481e-05_rb,0.60593e-05_rb,0.68739e-05_rb /) kbo(:,40,11) = (/ & & 0.34909e-05_rb,0.42522e-05_rb,0.50444e-05_rb,0.58543e-05_rb,0.66697e-05_rb /) kbo(:,41,11) = (/ & & 0.32953e-05_rb,0.40465e-05_rb,0.48326e-05_rb,0.56401e-05_rb,0.64551e-05_rb /) kbo(:,42,11) = (/ & & 0.31040e-05_rb,0.38444e-05_rb,0.46230e-05_rb,0.54267e-05_rb,0.62419e-05_rb /) kbo(:,43,11) = (/ & & 0.28773e-05_rb,0.36028e-05_rb,0.43716e-05_rb,0.51693e-05_rb,0.59825e-05_rb /) kbo(:,44,11) = (/ & & 0.26404e-05_rb,0.33480e-05_rb,0.41036e-05_rb,0.48939e-05_rb,0.57034e-05_rb /) kbo(:,45,11) = (/ & & 0.24120e-05_rb,0.30991e-05_rb,0.38405e-05_rb,0.46208e-05_rb,0.54260e-05_rb /) kbo(:,46,11) = (/ & & 0.21786e-05_rb,0.28418e-05_rb,0.35659e-05_rb,0.43343e-05_rb,0.51318e-05_rb /) kbo(:,47,11) = (/ & & 0.19311e-05_rb,0.25641e-05_rb,0.32660e-05_rb,0.40180e-05_rb,0.48060e-05_rb /) kbo(:,48,11) = (/ & & 0.16967e-05_rb,0.22980e-05_rb,0.29746e-05_rb,0.37093e-05_rb,0.44842e-05_rb /) kbo(:,49,11) = (/ & & 0.14774e-05_rb,0.20448e-05_rb,0.26926e-05_rb,0.34064e-05_rb,0.41668e-05_rb /) kbo(:,50,11) = (/ & & 0.12873e-05_rb,0.18193e-05_rb,0.24384e-05_rb,0.31296e-05_rb,0.38742e-05_rb /) kbo(:,51,11) = (/ & & 0.11146e-05_rb,0.16126e-05_rb,0.22020e-05_rb,0.28686e-05_rb,0.35959e-05_rb /) kbo(:,52,11) = (/ & & 0.95604e-06_rb,0.14200e-05_rb,0.19761e-05_rb,0.26163e-05_rb,0.33236e-05_rb /) kbo(:,53,11) = (/ & & 0.80966e-06_rb,0.12381e-05_rb,0.17610e-05_rb,0.23732e-05_rb,0.30580e-05_rb /) kbo(:,54,11) = (/ & & 0.68766e-06_rb,0.10830e-05_rb,0.15763e-05_rb,0.21583e-05_rb,0.28207e-05_rb /) kbo(:,55,11) = (/ & & 0.58212e-06_rb,0.94518e-06_rb,0.14071e-05_rb,0.19616e-05_rb,0.26001e-05_rb /) kbo(:,56,11) = (/ & & 0.48769e-06_rb,0.81784e-06_rb,0.12480e-05_rb,0.17754e-05_rb,0.23872e-05_rb /) kbo(:,57,11) = (/ & & 0.40334e-06_rb,0.70099e-06_rb,0.10993e-05_rb,0.15960e-05_rb,0.21818e-05_rb /) kbo(:,58,11) = (/ & & 0.33254e-06_rb,0.59979e-06_rb,0.96749e-06_rb,0.14348e-05_rb,0.19961e-05_rb /) kbo(:,59,11) = (/ & & 0.30667e-06_rb,0.56182e-06_rb,0.91722e-06_rb,0.13728e-05_rb,0.19233e-05_rb /) kbo(:,13,12) = (/ & & 0.21780e-04_rb,0.22297e-04_rb,0.22851e-04_rb,0.23387e-04_rb,0.23897e-04_rb /) kbo(:,14,12) = (/ & & 0.20875e-04_rb,0.21531e-04_rb,0.22189e-04_rb,0.22823e-04_rb,0.23424e-04_rb /) kbo(:,15,12) = (/ & & 0.19941e-04_rb,0.20728e-04_rb,0.21492e-04_rb,0.22225e-04_rb,0.22948e-04_rb /) kbo(:,16,12) = (/ & & 0.19013e-04_rb,0.19918e-04_rb,0.20796e-04_rb,0.21654e-04_rb,0.22503e-04_rb /) kbo(:,17,12) = (/ & & 0.18129e-04_rb,0.19150e-04_rb,0.20149e-04_rb,0.21144e-04_rb,0.22094e-04_rb /) kbo(:,18,12) = (/ & & 0.17308e-04_rb,0.18451e-04_rb,0.19578e-04_rb,0.20689e-04_rb,0.21728e-04_rb /) kbo(:,19,12) = (/ & & 0.16581e-04_rb,0.17835e-04_rb,0.19087e-04_rb,0.20285e-04_rb,0.21402e-04_rb /) kbo(:,20,12) = (/ & & 0.15978e-04_rb,0.17349e-04_rb,0.18704e-04_rb,0.19972e-04_rb,0.21143e-04_rb /) kbo(:,21,12) = (/ & & 0.15496e-04_rb,0.16976e-04_rb,0.18403e-04_rb,0.19724e-04_rb,0.20952e-04_rb /) kbo(:,22,12) = (/ & & 0.15240e-04_rb,0.16798e-04_rb,0.18272e-04_rb,0.19635e-04_rb,0.20901e-04_rb /) kbo(:,23,12) = (/ & & 0.15105e-04_rb,0.16716e-04_rb,0.18220e-04_rb,0.19617e-04_rb,0.20916e-04_rb /) kbo(:,24,12) = (/ & & 0.15076e-04_rb,0.16719e-04_rb,0.18249e-04_rb,0.19672e-04_rb,0.20991e-04_rb /) kbo(:,25,12) = (/ & & 0.15141e-04_rb,0.16802e-04_rb,0.18352e-04_rb,0.19786e-04_rb,0.21116e-04_rb /) kbo(:,26,12) = (/ & & 0.15306e-04_rb,0.16974e-04_rb,0.18529e-04_rb,0.19965e-04_rb,0.21296e-04_rb /) kbo(:,27,12) = (/ & & 0.15522e-04_rb,0.17192e-04_rb,0.18747e-04_rb,0.20182e-04_rb,0.21501e-04_rb /) kbo(:,28,12) = (/ & & 0.15784e-04_rb,0.17449e-04_rb,0.18996e-04_rb,0.20419e-04_rb,0.21733e-04_rb /) kbo(:,29,12) = (/ & & 0.16090e-04_rb,0.17744e-04_rb,0.19276e-04_rb,0.20687e-04_rb,0.21987e-04_rb /) kbo(:,30,12) = (/ & & 0.16419e-04_rb,0.18062e-04_rb,0.19575e-04_rb,0.20970e-04_rb,0.22248e-04_rb /) kbo(:,31,12) = (/ & & 0.16777e-04_rb,0.18399e-04_rb,0.19892e-04_rb,0.21268e-04_rb,0.22521e-04_rb /) kbo(:,32,12) = (/ & & 0.17152e-04_rb,0.18750e-04_rb,0.20222e-04_rb,0.21573e-04_rb,0.22802e-04_rb /) kbo(:,33,12) = (/ & & 0.17537e-04_rb,0.19109e-04_rb,0.20556e-04_rb,0.21883e-04_rb,0.23082e-04_rb /) kbo(:,34,12) = (/ & & 0.17871e-04_rb,0.19418e-04_rb,0.20844e-04_rb,0.22147e-04_rb,0.23322e-04_rb /) kbo(:,35,12) = (/ & & 0.18052e-04_rb,0.19587e-04_rb,0.21002e-04_rb,0.22291e-04_rb,0.23455e-04_rb /) kbo(:,36,12) = (/ & & 0.18063e-04_rb,0.19601e-04_rb,0.21016e-04_rb,0.22306e-04_rb,0.23468e-04_rb /) kbo(:,37,12) = (/ & & 0.17833e-04_rb,0.19389e-04_rb,0.20824e-04_rb,0.22132e-04_rb,0.23314e-04_rb /) kbo(:,38,12) = (/ & & 0.17587e-04_rb,0.19167e-04_rb,0.20623e-04_rb,0.21950e-04_rb,0.23152e-04_rb /) kbo(:,39,12) = (/ & & 0.17343e-04_rb,0.18945e-04_rb,0.20418e-04_rb,0.21765e-04_rb,0.22984e-04_rb /) kbo(:,40,12) = (/ & & 0.16926e-04_rb,0.18563e-04_rb,0.20065e-04_rb,0.21446e-04_rb,0.22697e-04_rb /) kbo(:,41,12) = (/ & & 0.16478e-04_rb,0.18152e-04_rb,0.19687e-04_rb,0.21101e-04_rb,0.22388e-04_rb /) kbo(:,42,12) = (/ & & 0.16023e-04_rb,0.17729e-04_rb,0.19301e-04_rb,0.20748e-04_rb,0.22068e-04_rb /) kbo(:,43,12) = (/ & & 0.15458e-04_rb,0.17203e-04_rb,0.18821e-04_rb,0.20305e-04_rb,0.21667e-04_rb /) kbo(:,44,12) = (/ & & 0.14831e-04_rb,0.16623e-04_rb,0.18287e-04_rb,0.19814e-04_rb,0.21219e-04_rb /) kbo(:,45,12) = (/ & & 0.14192e-04_rb,0.16029e-04_rb,0.17735e-04_rb,0.19308e-04_rb,0.20757e-04_rb /) kbo(:,46,12) = (/ & & 0.13493e-04_rb,0.15380e-04_rb,0.17134e-04_rb,0.18756e-04_rb,0.20247e-04_rb /) kbo(:,47,12) = (/ & & 0.12693e-04_rb,0.14634e-04_rb,0.16440e-04_rb,0.18118e-04_rb,0.19661e-04_rb /) kbo(:,48,12) = (/ & & 0.11878e-04_rb,0.13868e-04_rb,0.15729e-04_rb,0.17458e-04_rb,0.19054e-04_rb /) kbo(:,49,12) = (/ & & 0.11052e-04_rb,0.13077e-04_rb,0.14993e-04_rb,0.16776e-04_rb,0.18429e-04_rb /) kbo(:,50,12) = (/ & & 0.10274e-04_rb,0.12322e-04_rb,0.14286e-04_rb,0.16119e-04_rb,0.17820e-04_rb /) kbo(:,51,12) = (/ & & 0.95165e-05_rb,0.11577e-04_rb,0.13581e-04_rb,0.15463e-04_rb,0.17211e-04_rb /) kbo(:,52,12) = (/ & & 0.87654e-05_rb,0.10825e-04_rb,0.12859e-04_rb,0.14791e-04_rb,0.16589e-04_rb /) kbo(:,53,12) = (/ & & 0.80213e-05_rb,0.10071e-04_rb,0.12124e-04_rb,0.14102e-04_rb,0.15949e-04_rb /) kbo(:,54,12) = (/ & & 0.73473e-05_rb,0.93776e-05_rb,0.11439e-04_rb,0.13452e-04_rb,0.15344e-04_rb /) kbo(:,55,12) = (/ & & 0.67127e-05_rb,0.87188e-05_rb,0.10780e-04_rb,0.12816e-04_rb,0.14751e-04_rb /) kbo(:,56,12) = (/ & & 0.60935e-05_rb,0.80668e-05_rb,0.10118e-04_rb,0.12169e-04_rb,0.14148e-04_rb /) kbo(:,57,12) = (/ & & 0.54908e-05_rb,0.74223e-05_rb,0.94571e-05_rb,0.11517e-04_rb,0.13528e-04_rb /) kbo(:,58,12) = (/ & & 0.49372e-05_rb,0.68201e-05_rb,0.88324e-05_rb,0.10894e-04_rb,0.12926e-04_rb /) kbo(:,59,12) = (/ & & 0.47213e-05_rb,0.65842e-05_rb,0.85835e-05_rb,0.10644e-04_rb,0.12683e-04_rb /) kbo(:,13,13) = (/ & & 0.46820e-04_rb,0.47158e-04_rb,0.47420e-04_rb,0.47688e-04_rb,0.47860e-04_rb /) kbo(:,14,13) = (/ & & 0.47343e-04_rb,0.47824e-04_rb,0.48275e-04_rb,0.48677e-04_rb,0.48937e-04_rb /) kbo(:,15,13) = (/ & & 0.47643e-04_rb,0.48345e-04_rb,0.48980e-04_rb,0.49469e-04_rb,0.49813e-04_rb /) kbo(:,16,13) = (/ & & 0.47844e-04_rb,0.48762e-04_rb,0.49536e-04_rb,0.50120e-04_rb,0.50548e-04_rb /) kbo(:,17,13) = (/ & & 0.47956e-04_rb,0.49079e-04_rb,0.49982e-04_rb,0.50640e-04_rb,0.51155e-04_rb /) kbo(:,18,13) = (/ & & 0.48046e-04_rb,0.49334e-04_rb,0.50343e-04_rb,0.51068e-04_rb,0.51673e-04_rb /) kbo(:,19,13) = (/ & & 0.48132e-04_rb,0.49550e-04_rb,0.50630e-04_rb,0.51453e-04_rb,0.52124e-04_rb /) kbo(:,20,13) = (/ & & 0.48262e-04_rb,0.49765e-04_rb,0.50907e-04_rb,0.51808e-04_rb,0.52533e-04_rb /) kbo(:,21,13) = (/ & & 0.48402e-04_rb,0.49959e-04_rb,0.51170e-04_rb,0.52136e-04_rb,0.52894e-04_rb /) kbo(:,22,13) = (/ & & 0.48671e-04_rb,0.50243e-04_rb,0.51485e-04_rb,0.52481e-04_rb,0.53256e-04_rb /) kbo(:,23,13) = (/ & & 0.48954e-04_rb,0.50544e-04_rb,0.51806e-04_rb,0.52811e-04_rb,0.53587e-04_rb /) kbo(:,24,13) = (/ & & 0.49272e-04_rb,0.50858e-04_rb,0.52128e-04_rb,0.53125e-04_rb,0.53892e-04_rb /) kbo(:,25,13) = (/ & & 0.49616e-04_rb,0.51186e-04_rb,0.52450e-04_rb,0.53425e-04_rb,0.54174e-04_rb /) kbo(:,26,13) = (/ & & 0.50001e-04_rb,0.51551e-04_rb,0.52773e-04_rb,0.53723e-04_rb,0.54445e-04_rb /) kbo(:,27,13) = (/ & & 0.50406e-04_rb,0.51904e-04_rb,0.53086e-04_rb,0.54001e-04_rb,0.54687e-04_rb /) kbo(:,28,13) = (/ & & 0.50802e-04_rb,0.52248e-04_rb,0.53391e-04_rb,0.54260e-04_rb,0.54906e-04_rb /) kbo(:,29,13) = (/ & & 0.51204e-04_rb,0.52593e-04_rb,0.53683e-04_rb,0.54507e-04_rb,0.55109e-04_rb /) kbo(:,30,13) = (/ & & 0.51608e-04_rb,0.52928e-04_rb,0.53956e-04_rb,0.54730e-04_rb,0.55285e-04_rb /) kbo(:,31,13) = (/ & & 0.51993e-04_rb,0.53249e-04_rb,0.54213e-04_rb,0.54939e-04_rb,0.55442e-04_rb /) kbo(:,32,13) = (/ & & 0.52364e-04_rb,0.53549e-04_rb,0.54461e-04_rb,0.55127e-04_rb,0.55583e-04_rb /) kbo(:,33,13) = (/ & & 0.52722e-04_rb,0.53841e-04_rb,0.54688e-04_rb,0.55301e-04_rb,0.55705e-04_rb /) kbo(:,34,13) = (/ & & 0.53018e-04_rb,0.54074e-04_rb,0.54867e-04_rb,0.55434e-04_rb,0.55799e-04_rb /) kbo(:,35,13) = (/ & & 0.53187e-04_rb,0.54211e-04_rb,0.54980e-04_rb,0.55515e-04_rb,0.55855e-04_rb /) kbo(:,36,13) = (/ & & 0.53222e-04_rb,0.54242e-04_rb,0.55009e-04_rb,0.55544e-04_rb,0.55878e-04_rb /) kbo(:,37,13) = (/ & & 0.53077e-04_rb,0.54137e-04_rb,0.54934e-04_rb,0.55495e-04_rb,0.55862e-04_rb /) kbo(:,38,13) = (/ & & 0.52907e-04_rb,0.54013e-04_rb,0.54850e-04_rb,0.55445e-04_rb,0.55837e-04_rb /) kbo(:,39,13) = (/ & & 0.52736e-04_rb,0.53884e-04_rb,0.54754e-04_rb,0.55383e-04_rb,0.55805e-04_rb /) kbo(:,40,13) = (/ & & 0.52415e-04_rb,0.53638e-04_rb,0.54576e-04_rb,0.55258e-04_rb,0.55727e-04_rb /) kbo(:,41,13) = (/ & & 0.52053e-04_rb,0.53364e-04_rb,0.54368e-04_rb,0.55117e-04_rb,0.55636e-04_rb /) kbo(:,42,13) = (/ & & 0.51661e-04_rb,0.53061e-04_rb,0.54142e-04_rb,0.54952e-04_rb,0.55527e-04_rb /) kbo(:,43,13) = (/ & & 0.51150e-04_rb,0.52667e-04_rb,0.53836e-04_rb,0.54732e-04_rb,0.55377e-04_rb /) kbo(:,44,13) = (/ & & 0.50559e-04_rb,0.52194e-04_rb,0.53480e-04_rb,0.54465e-04_rb,0.55186e-04_rb /) kbo(:,45,13) = (/ & & 0.49921e-04_rb,0.51684e-04_rb,0.53086e-04_rb,0.54162e-04_rb,0.54971e-04_rb /) kbo(:,46,13) = (/ & & 0.49197e-04_rb,0.51093e-04_rb,0.52628e-04_rb,0.53809e-04_rb,0.54714e-04_rb /) kbo(:,47,13) = (/ & & 0.48328e-04_rb,0.50372e-04_rb,0.52058e-04_rb,0.53374e-04_rb,0.54380e-04_rb /) kbo(:,48,13) = (/ & & 0.47381e-04_rb,0.49603e-04_rb,0.51420e-04_rb,0.52887e-04_rb,0.54013e-04_rb /) kbo(:,49,13) = (/ & & 0.46342e-04_rb,0.48755e-04_rb,0.50735e-04_rb,0.52347e-04_rb,0.53594e-04_rb /) kbo(:,50,13) = (/ & & 0.45266e-04_rb,0.47911e-04_rb,0.50033e-04_rb,0.51782e-04_rb,0.53163e-04_rb /) kbo(:,51,13) = (/ & & 0.44139e-04_rb,0.47021e-04_rb,0.49310e-04_rb,0.51184e-04_rb,0.52699e-04_rb /) kbo(:,52,13) = (/ & & 0.42930e-04_rb,0.46044e-04_rb,0.48523e-04_rb,0.50540e-04_rb,0.52191e-04_rb /) kbo(:,53,13) = (/ & & 0.41632e-04_rb,0.44983e-04_rb,0.47688e-04_rb,0.49847e-04_rb,0.51629e-04_rb /) kbo(:,54,13) = (/ & & 0.40359e-04_rb,0.43928e-04_rb,0.46843e-04_rb,0.49172e-04_rb,0.51075e-04_rb /) kbo(:,55,13) = (/ & & 0.39074e-04_rb,0.42858e-04_rb,0.45984e-04_rb,0.48480e-04_rb,0.50508e-04_rb /) kbo(:,56,13) = (/ & & 0.37728e-04_rb,0.41722e-04_rb,0.45056e-04_rb,0.47740e-04_rb,0.49900e-04_rb /) kbo(:,57,13) = (/ & & 0.36320e-04_rb,0.40515e-04_rb,0.44055e-04_rb,0.46942e-04_rb,0.49258e-04_rb /) kbo(:,58,13) = (/ & & 0.34927e-04_rb,0.39308e-04_rb,0.43052e-04_rb,0.46141e-04_rb,0.48596e-04_rb /) kbo(:,59,13) = (/ & & 0.34349e-04_rb,0.38808e-04_rb,0.42631e-04_rb,0.45802e-04_rb,0.48325e-04_rb /) kbo(:,13,14) = (/ & & 0.91739e-04_rb,0.90588e-04_rb,0.89270e-04_rb,0.87862e-04_rb,0.86541e-04_rb /) kbo(:,14,14) = (/ & & 0.97111e-04_rb,0.95879e-04_rb,0.94382e-04_rb,0.92799e-04_rb,0.91344e-04_rb /) kbo(:,15,14) = (/ & & 0.10201e-03_rb,0.10059e-03_rb,0.98963e-04_rb,0.97297e-04_rb,0.95661e-04_rb /) kbo(:,16,14) = (/ & & 0.10632e-03_rb,0.10477e-03_rb,0.10303e-03_rb,0.10127e-03_rb,0.99489e-04_rb /) kbo(:,17,14) = (/ & & 0.11011e-03_rb,0.10842e-03_rb,0.10659e-03_rb,0.10474e-03_rb,0.10285e-03_rb /) kbo(:,18,14) = (/ & & 0.11338e-03_rb,0.11158e-03_rb,0.10968e-03_rb,0.10773e-03_rb,0.10569e-03_rb /) kbo(:,19,14) = (/ & & 0.11615e-03_rb,0.11428e-03_rb,0.11231e-03_rb,0.11026e-03_rb,0.10810e-03_rb /) kbo(:,20,14) = (/ & & 0.11847e-03_rb,0.11653e-03_rb,0.11450e-03_rb,0.11235e-03_rb,0.11005e-03_rb /) kbo(:,21,14) = (/ & & 0.12039e-03_rb,0.11839e-03_rb,0.11628e-03_rb,0.11404e-03_rb,0.11166e-03_rb /) kbo(:,22,14) = (/ & & 0.12185e-03_rb,0.11978e-03_rb,0.11759e-03_rb,0.11525e-03_rb,0.11275e-03_rb /) kbo(:,23,14) = (/ & & 0.12298e-03_rb,0.12085e-03_rb,0.11858e-03_rb,0.11615e-03_rb,0.11356e-03_rb /) kbo(:,24,14) = (/ & & 0.12384e-03_rb,0.12163e-03_rb,0.11927e-03_rb,0.11676e-03_rb,0.11410e-03_rb /) kbo(:,25,14) = (/ & & 0.12445e-03_rb,0.12216e-03_rb,0.11972e-03_rb,0.11712e-03_rb,0.11440e-03_rb /) kbo(:,26,14) = (/ & & 0.12480e-03_rb,0.12244e-03_rb,0.11993e-03_rb,0.11725e-03_rb,0.11449e-03_rb /) kbo(:,27,14) = (/ & & 0.12497e-03_rb,0.12254e-03_rb,0.11997e-03_rb,0.11723e-03_rb,0.11442e-03_rb /) kbo(:,28,14) = (/ & & 0.12498e-03_rb,0.12249e-03_rb,0.11986e-03_rb,0.11707e-03_rb,0.11425e-03_rb /) kbo(:,29,14) = (/ & & 0.12486e-03_rb,0.12231e-03_rb,0.11961e-03_rb,0.11677e-03_rb,0.11393e-03_rb /) kbo(:,30,14) = (/ & & 0.12462e-03_rb,0.12202e-03_rb,0.11925e-03_rb,0.11640e-03_rb,0.11355e-03_rb /) kbo(:,31,14) = (/ & & 0.12428e-03_rb,0.12163e-03_rb,0.11882e-03_rb,0.11594e-03_rb,0.11310e-03_rb /) kbo(:,32,14) = (/ & & 0.12387e-03_rb,0.12116e-03_rb,0.11831e-03_rb,0.11542e-03_rb,0.11260e-03_rb /) kbo(:,33,14) = (/ & & 0.12338e-03_rb,0.12061e-03_rb,0.11773e-03_rb,0.11485e-03_rb,0.11205e-03_rb /) kbo(:,34,14) = (/ & & 0.12293e-03_rb,0.12013e-03_rb,0.11722e-03_rb,0.11434e-03_rb,0.11156e-03_rb /) kbo(:,35,14) = (/ & & 0.12271e-03_rb,0.11987e-03_rb,0.11696e-03_rb,0.11408e-03_rb,0.11132e-03_rb /) kbo(:,36,14) = (/ & & 0.12276e-03_rb,0.11992e-03_rb,0.11700e-03_rb,0.11412e-03_rb,0.11135e-03_rb /) kbo(:,37,14) = (/ & & 0.12321e-03_rb,0.12039e-03_rb,0.11748e-03_rb,0.11457e-03_rb,0.11178e-03_rb /) kbo(:,38,14) = (/ & & 0.12368e-03_rb,0.12086e-03_rb,0.11795e-03_rb,0.11504e-03_rb,0.11223e-03_rb /) kbo(:,39,14) = (/ & & 0.12412e-03_rb,0.12132e-03_rb,0.11841e-03_rb,0.11549e-03_rb,0.11266e-03_rb /) kbo(:,40,14) = (/ & & 0.12481e-03_rb,0.12205e-03_rb,0.11917e-03_rb,0.11624e-03_rb,0.11338e-03_rb /) kbo(:,41,14) = (/ & & 0.12552e-03_rb,0.12282e-03_rb,0.11995e-03_rb,0.11701e-03_rb,0.11413e-03_rb /) kbo(:,42,14) = (/ & & 0.12624e-03_rb,0.12356e-03_rb,0.12073e-03_rb,0.11779e-03_rb,0.11489e-03_rb /) kbo(:,43,14) = (/ & & 0.12708e-03_rb,0.12444e-03_rb,0.12166e-03_rb,0.11873e-03_rb,0.11581e-03_rb /) kbo(:,44,14) = (/ & & 0.12796e-03_rb,0.12537e-03_rb,0.12263e-03_rb,0.11974e-03_rb,0.11681e-03_rb /) kbo(:,45,14) = (/ & & 0.12882e-03_rb,0.12627e-03_rb,0.12360e-03_rb,0.12075e-03_rb,0.11782e-03_rb /) kbo(:,46,14) = (/ & & 0.12968e-03_rb,0.12723e-03_rb,0.12459e-03_rb,0.12181e-03_rb,0.11889e-03_rb /) kbo(:,47,14) = (/ & & 0.13062e-03_rb,0.12827e-03_rb,0.12567e-03_rb,0.12295e-03_rb,0.12008e-03_rb /) kbo(:,48,14) = (/ & & 0.13150e-03_rb,0.12926e-03_rb,0.12675e-03_rb,0.12408e-03_rb,0.12126e-03_rb /) kbo(:,49,14) = (/ & & 0.13233e-03_rb,0.13021e-03_rb,0.12780e-03_rb,0.12517e-03_rb,0.12242e-03_rb /) kbo(:,50,14) = (/ & & 0.13307e-03_rb,0.13105e-03_rb,0.12874e-03_rb,0.12618e-03_rb,0.12349e-03_rb /) kbo(:,51,14) = (/ & & 0.13374e-03_rb,0.13183e-03_rb,0.12963e-03_rb,0.12715e-03_rb,0.12449e-03_rb /) kbo(:,52,14) = (/ & & 0.13431e-03_rb,0.13255e-03_rb,0.13046e-03_rb,0.12807e-03_rb,0.12548e-03_rb /) kbo(:,53,14) = (/ & & 0.13479e-03_rb,0.13325e-03_rb,0.13127e-03_rb,0.12898e-03_rb,0.12645e-03_rb /) kbo(:,54,14) = (/ & & 0.13511e-03_rb,0.13385e-03_rb,0.13196e-03_rb,0.12979e-03_rb,0.12732e-03_rb /) kbo(:,55,14) = (/ & & 0.13533e-03_rb,0.13436e-03_rb,0.13261e-03_rb,0.13052e-03_rb,0.12814e-03_rb /) kbo(:,56,14) = (/ & & 0.13543e-03_rb,0.13477e-03_rb,0.13321e-03_rb,0.13121e-03_rb,0.12893e-03_rb /) kbo(:,57,14) = (/ & & 0.13540e-03_rb,0.13509e-03_rb,0.13379e-03_rb,0.13190e-03_rb,0.12969e-03_rb /) kbo(:,58,14) = (/ & & 0.13520e-03_rb,0.13532e-03_rb,0.13428e-03_rb,0.13250e-03_rb,0.13039e-03_rb /) kbo(:,59,14) = (/ & & 0.13510e-03_rb,0.13536e-03_rb,0.13445e-03_rb,0.13273e-03_rb,0.13066e-03_rb /) kbo(:,13,15) = (/ & & 0.16545e-03_rb,0.16076e-03_rb,0.15662e-03_rb,0.15273e-03_rb,0.14899e-03_rb /) kbo(:,14,15) = (/ & & 0.17968e-03_rb,0.17402e-03_rb,0.16899e-03_rb,0.16434e-03_rb,0.15984e-03_rb /) kbo(:,15,15) = (/ & & 0.19299e-03_rb,0.18634e-03_rb,0.18041e-03_rb,0.17491e-03_rb,0.16965e-03_rb /) kbo(:,16,15) = (/ & & 0.20519e-03_rb,0.19756e-03_rb,0.19072e-03_rb,0.18435e-03_rb,0.17834e-03_rb /) kbo(:,17,15) = (/ & & 0.21616e-03_rb,0.20753e-03_rb,0.19981e-03_rb,0.19268e-03_rb,0.18599e-03_rb /) kbo(:,18,15) = (/ & & 0.22578e-03_rb,0.21627e-03_rb,0.20768e-03_rb,0.19983e-03_rb,0.19254e-03_rb /) kbo(:,19,15) = (/ & & 0.23404e-03_rb,0.22371e-03_rb,0.21439e-03_rb,0.20593e-03_rb,0.19813e-03_rb /) kbo(:,20,15) = (/ & & 0.24079e-03_rb,0.22975e-03_rb,0.21986e-03_rb,0.21084e-03_rb,0.20261e-03_rb /) kbo(:,21,15) = (/ & & 0.24629e-03_rb,0.23467e-03_rb,0.22423e-03_rb,0.21475e-03_rb,0.20622e-03_rb /) kbo(:,22,15) = (/ & & 0.24979e-03_rb,0.23775e-03_rb,0.22702e-03_rb,0.21724e-03_rb,0.20849e-03_rb /) kbo(:,23,15) = (/ & & 0.25216e-03_rb,0.23989e-03_rb,0.22890e-03_rb,0.21892e-03_rb,0.21005e-03_rb /) kbo(:,24,15) = (/ & & 0.25355e-03_rb,0.24109e-03_rb,0.22997e-03_rb,0.21990e-03_rb,0.21094e-03_rb /) kbo(:,25,15) = (/ & & 0.25401e-03_rb,0.24151e-03_rb,0.23030e-03_rb,0.22024e-03_rb,0.21125e-03_rb /) kbo(:,26,15) = (/ & & 0.25359e-03_rb,0.24114e-03_rb,0.22993e-03_rb,0.21995e-03_rb,0.21097e-03_rb /) kbo(:,27,15) = (/ & & 0.25262e-03_rb,0.24030e-03_rb,0.22913e-03_rb,0.21926e-03_rb,0.21037e-03_rb /) kbo(:,28,15) = (/ & & 0.25126e-03_rb,0.23904e-03_rb,0.22801e-03_rb,0.21831e-03_rb,0.20948e-03_rb /) kbo(:,29,15) = (/ & & 0.24948e-03_rb,0.23745e-03_rb,0.22663e-03_rb,0.21704e-03_rb,0.20834e-03_rb /) kbo(:,30,15) = (/ & & 0.24748e-03_rb,0.23558e-03_rb,0.22502e-03_rb,0.21558e-03_rb,0.20699e-03_rb /) kbo(:,31,15) = (/ & & 0.24521e-03_rb,0.23353e-03_rb,0.22323e-03_rb,0.21394e-03_rb,0.20549e-03_rb /) kbo(:,32,15) = (/ & & 0.24273e-03_rb,0.23132e-03_rb,0.22129e-03_rb,0.21221e-03_rb,0.20387e-03_rb /) kbo(:,33,15) = (/ & & 0.24020e-03_rb,0.22911e-03_rb,0.21929e-03_rb,0.21039e-03_rb,0.20217e-03_rb /) kbo(:,34,15) = (/ & & 0.23799e-03_rb,0.22719e-03_rb,0.21754e-03_rb,0.20880e-03_rb,0.20071e-03_rb /) kbo(:,35,15) = (/ & & 0.23687e-03_rb,0.22619e-03_rb,0.21668e-03_rb,0.20798e-03_rb,0.19994e-03_rb /) kbo(:,36,15) = (/ & & 0.23693e-03_rb,0.22624e-03_rb,0.21673e-03_rb,0.20802e-03_rb,0.19997e-03_rb /) kbo(:,37,15) = (/ & & 0.23866e-03_rb,0.22780e-03_rb,0.21810e-03_rb,0.20930e-03_rb,0.20116e-03_rb /) kbo(:,38,15) = (/ & & 0.24049e-03_rb,0.22941e-03_rb,0.21958e-03_rb,0.21064e-03_rb,0.20240e-03_rb /) kbo(:,39,15) = (/ & & 0.24235e-03_rb,0.23100e-03_rb,0.22101e-03_rb,0.21195e-03_rb,0.20362e-03_rb /) kbo(:,40,15) = (/ & & 0.24544e-03_rb,0.23374e-03_rb,0.22344e-03_rb,0.21416e-03_rb,0.20567e-03_rb /) kbo(:,41,15) = (/ & & 0.24874e-03_rb,0.23671e-03_rb,0.22606e-03_rb,0.21653e-03_rb,0.20786e-03_rb /) kbo(:,42,15) = (/ & & 0.25214e-03_rb,0.23974e-03_rb,0.22874e-03_rb,0.21892e-03_rb,0.21007e-03_rb /) kbo(:,43,15) = (/ & & 0.25633e-03_rb,0.24355e-03_rb,0.23207e-03_rb,0.22195e-03_rb,0.21281e-03_rb /) kbo(:,44,15) = (/ & & 0.26108e-03_rb,0.24779e-03_rb,0.23584e-03_rb,0.22529e-03_rb,0.21581e-03_rb /) kbo(:,45,15) = (/ & & 0.26596e-03_rb,0.25216e-03_rb,0.23977e-03_rb,0.22875e-03_rb,0.21897e-03_rb /) kbo(:,46,15) = (/ & & 0.27137e-03_rb,0.25699e-03_rb,0.24413e-03_rb,0.23258e-03_rb,0.22240e-03_rb /) kbo(:,47,15) = (/ & & 0.27767e-03_rb,0.26264e-03_rb,0.24919e-03_rb,0.23707e-03_rb,0.22639e-03_rb /) kbo(:,48,15) = (/ & & 0.28422e-03_rb,0.26851e-03_rb,0.25443e-03_rb,0.24179e-03_rb,0.23054e-03_rb /) kbo(:,49,15) = (/ & & 0.29109e-03_rb,0.27465e-03_rb,0.25993e-03_rb,0.24676e-03_rb,0.23489e-03_rb /) kbo(:,50,15) = (/ & & 0.29784e-03_rb,0.28066e-03_rb,0.26532e-03_rb,0.25156e-03_rb,0.23921e-03_rb /) kbo(:,51,15) = (/ & & 0.30464e-03_rb,0.28674e-03_rb,0.27072e-03_rb,0.25642e-03_rb,0.24358e-03_rb /) kbo(:,52,15) = (/ & & 0.31175e-03_rb,0.29305e-03_rb,0.27640e-03_rb,0.26149e-03_rb,0.24813e-03_rb /) kbo(:,53,15) = (/ & & 0.31921e-03_rb,0.29964e-03_rb,0.28229e-03_rb,0.26674e-03_rb,0.25282e-03_rb /) kbo(:,54,15) = (/ & & 0.32632e-03_rb,0.30596e-03_rb,0.28789e-03_rb,0.27174e-03_rb,0.25731e-03_rb /) kbo(:,55,15) = (/ & & 0.33342e-03_rb,0.31218e-03_rb,0.29344e-03_rb,0.27674e-03_rb,0.26179e-03_rb /) kbo(:,56,15) = (/ & & 0.34053e-03_rb,0.31870e-03_rb,0.29920e-03_rb,0.28191e-03_rb,0.26637e-03_rb /) kbo(:,57,15) = (/ & & 0.34801e-03_rb,0.32554e-03_rb,0.30518e-03_rb,0.28726e-03_rb,0.27114e-03_rb /) kbo(:,58,15) = (/ & & 0.35537e-03_rb,0.33214e-03_rb,0.31109e-03_rb,0.29248e-03_rb,0.27588e-03_rb /) kbo(:,59,15) = (/ & & 0.35841e-03_rb,0.33487e-03_rb,0.31352e-03_rb,0.29463e-03_rb,0.27781e-03_rb /) kbo(:,13,16) = (/ & & 0.23817e-03_rb,0.23193e-03_rb,0.22589e-03_rb,0.21979e-03_rb,0.21365e-03_rb /) kbo(:,14,16) = (/ & & 0.26266e-03_rb,0.25442e-03_rb,0.24663e-03_rb,0.23897e-03_rb,0.23152e-03_rb /) kbo(:,15,16) = (/ & & 0.28586e-03_rb,0.27559e-03_rb,0.26587e-03_rb,0.25663e-03_rb,0.24800e-03_rb /) kbo(:,16,16) = (/ & & 0.30726e-03_rb,0.29496e-03_rb,0.28337e-03_rb,0.27251e-03_rb,0.26278e-03_rb /) kbo(:,17,16) = (/ & & 0.32665e-03_rb,0.31224e-03_rb,0.29895e-03_rb,0.28665e-03_rb,0.27581e-03_rb /) kbo(:,18,16) = (/ & & 0.34367e-03_rb,0.32749e-03_rb,0.31249e-03_rb,0.29896e-03_rb,0.28707e-03_rb /) kbo(:,19,16) = (/ & & 0.35833e-03_rb,0.34046e-03_rb,0.32413e-03_rb,0.30949e-03_rb,0.29662e-03_rb /) kbo(:,20,16) = (/ & & 0.37032e-03_rb,0.35107e-03_rb,0.33355e-03_rb,0.31795e-03_rb,0.30443e-03_rb /) kbo(:,21,16) = (/ & & 0.38004e-03_rb,0.35962e-03_rb,0.34106e-03_rb,0.32482e-03_rb,0.31071e-03_rb /) kbo(:,22,16) = (/ & & 0.38628e-03_rb,0.36502e-03_rb,0.34582e-03_rb,0.32929e-03_rb,0.31473e-03_rb /) kbo(:,23,16) = (/ & & 0.39046e-03_rb,0.36870e-03_rb,0.34902e-03_rb,0.33239e-03_rb,0.31753e-03_rb /) kbo(:,24,16) = (/ & & 0.39290e-03_rb,0.37079e-03_rb,0.35085e-03_rb,0.33417e-03_rb,0.31909e-03_rb /) kbo(:,25,16) = (/ & & 0.39368e-03_rb,0.37132e-03_rb,0.35155e-03_rb,0.33489e-03_rb,0.31974e-03_rb /) kbo(:,26,16) = (/ & & 0.39288e-03_rb,0.37052e-03_rb,0.35111e-03_rb,0.33452e-03_rb,0.31938e-03_rb /) kbo(:,27,16) = (/ & & 0.39120e-03_rb,0.36896e-03_rb,0.34999e-03_rb,0.33347e-03_rb,0.31836e-03_rb /) kbo(:,28,16) = (/ & & 0.38862e-03_rb,0.36669e-03_rb,0.34828e-03_rb,0.33189e-03_rb,0.31693e-03_rb /) kbo(:,29,16) = (/ & & 0.38540e-03_rb,0.36396e-03_rb,0.34596e-03_rb,0.32975e-03_rb,0.31502e-03_rb /) kbo(:,30,16) = (/ & & 0.38165e-03_rb,0.36095e-03_rb,0.34333e-03_rb,0.32738e-03_rb,0.31277e-03_rb /) kbo(:,31,16) = (/ & & 0.37756e-03_rb,0.35762e-03_rb,0.34034e-03_rb,0.32467e-03_rb,0.31030e-03_rb /) kbo(:,32,16) = (/ & & 0.37323e-03_rb,0.35410e-03_rb,0.33709e-03_rb,0.32164e-03_rb,0.30764e-03_rb /) kbo(:,33,16) = (/ & & 0.36881e-03_rb,0.35033e-03_rb,0.33368e-03_rb,0.31855e-03_rb,0.30481e-03_rb /) kbo(:,34,16) = (/ & & 0.36518e-03_rb,0.34710e-03_rb,0.33080e-03_rb,0.31589e-03_rb,0.30241e-03_rb /) kbo(:,35,16) = (/ & & 0.36331e-03_rb,0.34548e-03_rb,0.32924e-03_rb,0.31455e-03_rb,0.30119e-03_rb /) kbo(:,36,16) = (/ & & 0.36345e-03_rb,0.34559e-03_rb,0.32934e-03_rb,0.31463e-03_rb,0.30125e-03_rb /) kbo(:,37,16) = (/ & & 0.36636e-03_rb,0.34821e-03_rb,0.33175e-03_rb,0.31676e-03_rb,0.30324e-03_rb /) kbo(:,38,16) = (/ & & 0.36948e-03_rb,0.35092e-03_rb,0.33423e-03_rb,0.31902e-03_rb,0.30527e-03_rb /) kbo(:,39,16) = (/ & & 0.37259e-03_rb,0.35368e-03_rb,0.33668e-03_rb,0.32128e-03_rb,0.30727e-03_rb /) kbo(:,40,16) = (/ & & 0.37795e-03_rb,0.35829e-03_rb,0.34085e-03_rb,0.32505e-03_rb,0.31069e-03_rb /) kbo(:,41,16) = (/ & & 0.38379e-03_rb,0.36312e-03_rb,0.34529e-03_rb,0.32908e-03_rb,0.31437e-03_rb /) kbo(:,42,16) = (/ & & 0.38990e-03_rb,0.36819e-03_rb,0.34980e-03_rb,0.33322e-03_rb,0.31806e-03_rb /) kbo(:,43,16) = (/ & & 0.39755e-03_rb,0.37469e-03_rb,0.35548e-03_rb,0.33833e-03_rb,0.32274e-03_rb /) kbo(:,44,16) = (/ & & 0.40604e-03_rb,0.38206e-03_rb,0.36178e-03_rb,0.34404e-03_rb,0.32793e-03_rb /) kbo(:,45,16) = (/ & & 0.41497e-03_rb,0.38998e-03_rb,0.36828e-03_rb,0.34986e-03_rb,0.33329e-03_rb /) kbo(:,46,16) = (/ & & 0.42497e-03_rb,0.39871e-03_rb,0.37566e-03_rb,0.35633e-03_rb,0.33909e-03_rb /) kbo(:,47,16) = (/ & & 0.43684e-03_rb,0.40880e-03_rb,0.38451e-03_rb,0.36380e-03_rb,0.34586e-03_rb /) kbo(:,48,16) = (/ & & 0.44932e-03_rb,0.41960e-03_rb,0.39404e-03_rb,0.37171e-03_rb,0.35286e-03_rb /) kbo(:,49,16) = (/ & & 0.46270e-03_rb,0.43113e-03_rb,0.40397e-03_rb,0.38027e-03_rb,0.36021e-03_rb /) kbo(:,50,16) = (/ & & 0.47605e-03_rb,0.44249e-03_rb,0.41370e-03_rb,0.38887e-03_rb,0.36733e-03_rb /) kbo(:,51,16) = (/ & & 0.48981e-03_rb,0.45414e-03_rb,0.42376e-03_rb,0.39765e-03_rb,0.37477e-03_rb /) kbo(:,52,16) = (/ & & 0.50430e-03_rb,0.46661e-03_rb,0.43437e-03_rb,0.40673e-03_rb,0.38268e-03_rb /) kbo(:,53,16) = (/ & & 0.51980e-03_rb,0.47970e-03_rb,0.44558e-03_rb,0.41639e-03_rb,0.39115e-03_rb /) kbo(:,54,16) = (/ & & 0.53506e-03_rb,0.49244e-03_rb,0.45647e-03_rb,0.42564e-03_rb,0.39926e-03_rb /) kbo(:,55,16) = (/ & & 0.55131e-03_rb,0.50528e-03_rb,0.46739e-03_rb,0.43505e-03_rb,0.40730e-03_rb /) kbo(:,56,16) = (/ & & 0.56909e-03_rb,0.51883e-03_rb,0.47884e-03_rb,0.44497e-03_rb,0.41571e-03_rb /) kbo(:,57,16) = (/ & & 0.58824e-03_rb,0.53334e-03_rb,0.49097e-03_rb,0.45523e-03_rb,0.42457e-03_rb /) kbo(:,58,16) = (/ & & 0.60745e-03_rb,0.54837e-03_rb,0.50301e-03_rb,0.46546e-03_rb,0.43352e-03_rb /) kbo(:,59,16) = (/ & & 0.61557e-03_rb,0.55493e-03_rb,0.50805e-03_rb,0.46962e-03_rb,0.43716e-03_rb /) ! ----------------------------------------------------------------- forrefo(:, 1) = (/ 0.351362e-07_rb, 0.341136e-07_rb, 0.181317e-06_rb /) forrefo(:, 2) = (/ 0.109648e-06_rb, 0.344240e-06_rb, 0.139709e-05_rb /) forrefo(:, 3) = (/ 0.374823e-06_rb, 0.103424e-05_rb, 0.188717e-05_rb /) forrefo(:, 4) = (/ 0.580041e-06_rb, 0.116876e-05_rb, 0.121183e-05_rb /) forrefo(:, 5) = (/ 0.115608e-05_rb, 0.148110e-05_rb, 0.836083e-06_rb /) forrefo(:, 6) = (/ 0.181460e-05_rb, 0.133313e-05_rb, 0.500167e-06_rb /) forrefo(:, 7) = (/ 0.199096e-05_rb, 0.115276e-05_rb, 0.432994e-06_rb /) forrefo(:, 8) = (/ 0.183730e-05_rb, 0.122260e-05_rb, 0.433248e-06_rb /) forrefo(:, 9) = (/ 0.198386e-05_rb, 0.100130e-05_rb, 0.269712e-06_rb /) forrefo(:,10) = (/ 0.276382e-05_rb, 0.749215e-06_rb, 0.236919e-06_rb /) forrefo(:,11) = (/ 0.298202e-05_rb, 0.629688e-06_rb, 0.228388e-06_rb /) forrefo(:,12) = (/ 0.364604e-05_rb, 0.455336e-06_rb, 0.206130e-06_rb /) forrefo(:,13) = (/ 0.373339e-05_rb, 0.245210e-06_rb, 0.201987e-06_rb /) forrefo(:,14) = (/ 0.480378e-05_rb, 0.177591e-06_rb, 0.171458e-06_rb /) forrefo(:,15) = (/ 0.521700e-05_rb, 0.203358e-06_rb, 0.189559e-06_rb /) forrefo(:,16) = (/ 0.542717e-05_rb, 0.219022e-06_rb, 0.218271e-06_rb /) ! ----------------------------------------------------------------- ! The array SELFREFO contains the coefficient of the water vapor ! self-continuum (including the energy term). The first index ! refers to temperature in 7.2 degree increments. For instance, ! JT = 1 refers to a temperature of 245.6, JT = 2 refers to 252.8, ! etc. The second index runs over the g-channel (1 to 16). selfrefo(:, 1) = (/ & & 0.538526e-04_rb, 0.464603e-04_rb, 0.400828e-04_rb, 0.345807e-04_rb, 0.298339e-04_rb, & & 0.257386e-04_rb, 0.222055e-04_rb, 0.191574e-04_rb, 0.165277e-04_rb, 0.142590e-04_rb /) selfrefo(:, 2) = (/ & & 0.162409e-03_rb, 0.128347e-03_rb, 0.101430e-03_rb, 0.801571e-04_rb, 0.633460e-04_rb, & & 0.500607e-04_rb, 0.395616e-04_rb, 0.312645e-04_rb, 0.247075e-04_rb, 0.195257e-04_rb /) selfrefo(:, 3) = (/ & & 0.262882e-03_rb, 0.212793e-03_rb, 0.172247e-03_rb, 0.139427e-03_rb, 0.112860e-03_rb, & & 0.913557e-04_rb, 0.739487e-04_rb, 0.598584e-04_rb, 0.484529e-04_rb, 0.392206e-04_rb /) selfrefo(:, 4) = (/ & & 0.242873e-03_rb, 0.204225e-03_rb, 0.171726e-03_rb, 0.144399e-03_rb, 0.121421e-03_rb, & & 0.102099e-03_rb, 0.858516e-04_rb, 0.721899e-04_rb, 0.607022e-04_rb, 0.510426e-04_rb /) selfrefo(:, 5) = (/ & & 0.235614e-03_rb, 0.207814e-03_rb, 0.183293e-03_rb, 0.161666e-03_rb, 0.142591e-03_rb, & & 0.125766e-03_rb, 0.110927e-03_rb, 0.978381e-04_rb, 0.862939e-04_rb, 0.761119e-04_rb /) selfrefo(:, 6) = (/ & & 0.205508e-03_rb, 0.190174e-03_rb, 0.175985e-03_rb, 0.162854e-03_rb, 0.150702e-03_rb, & & 0.139458e-03_rb, 0.129052e-03_rb, 0.119423e-03_rb, 0.110513e-03_rb, 0.102267e-03_rb /) selfrefo(:, 7) = (/ & & 0.185027e-03_rb, 0.175148e-03_rb, 0.165796e-03_rb, 0.156944e-03_rb, 0.148565e-03_rb, & & 0.140633e-03_rb, 0.133124e-03_rb, 0.126016e-03_rb, 0.119288e-03_rb, 0.112919e-03_rb /) selfrefo(:, 8) = (/ & & 0.192634e-03_rb, 0.180192e-03_rb, 0.168554e-03_rb, 0.157668e-03_rb, 0.147484e-03_rb, & & 0.137959e-03_rb, 0.129048e-03_rb, 0.120713e-03_rb, 0.112917e-03_rb, 0.105624e-03_rb /) selfrefo(:, 9) = (/ & & 0.161632e-03_rb, 0.155919e-03_rb, 0.150408e-03_rb, 0.145092e-03_rb, 0.139963e-03_rb, & & 0.135016e-03_rb, 0.130244e-03_rb, 0.125640e-03_rb, 0.121199e-03_rb, 0.116915e-03_rb /) selfrefo(:,10) = (/ & & 0.120880e-03_rb, 0.125265e-03_rb, 0.129810e-03_rb, 0.134520e-03_rb, 0.139400e-03_rb, & & 0.144458e-03_rb, 0.149699e-03_rb, 0.155130e-03_rb, 0.160758e-03_rb, 0.166591e-03_rb /) selfrefo(:,11) = (/ & & 0.104705e-03_rb, 0.111761e-03_rb, 0.119291e-03_rb, 0.127330e-03_rb, 0.135910e-03_rb, & & 0.145068e-03_rb, 0.154843e-03_rb, 0.165277e-03_rb, 0.176414e-03_rb, 0.188302e-03_rb /) selfrefo(:,12) = (/ & & 0.846335e-04_rb, 0.951236e-04_rb, 0.106914e-03_rb, 0.120166e-03_rb, 0.135060e-03_rb, & & 0.151800e-03_rb, 0.170616e-03_rb, 0.191763e-03_rb, 0.215532e-03_rb, 0.242246e-03_rb /) selfrefo(:,13) = (/ & & 0.669754e-04_rb, 0.781902e-04_rb, 0.912829e-04_rb, 0.106568e-03_rb, 0.124413e-03_rb, & & 0.145245e-03_rb, 0.169566e-03_rb, 0.197959e-03_rb, 0.231107e-03_rb, 0.269805e-03_rb /) selfrefo(:,14) = (/ & & 0.597091e-04_rb, 0.722265e-04_rb, 0.873679e-04_rb, 0.105684e-03_rb, 0.127839e-03_rb, & & 0.154639e-03_rb, 0.187057e-03_rb, 0.226272e-03_rb, 0.273707e-03_rb, 0.331087e-03_rb /) selfrefo(:,15) = (/ & & 0.640410e-04_rb, 0.771879e-04_rb, 0.930338e-04_rb, 0.112133e-03_rb, 0.135152e-03_rb, & & 0.162897e-03_rb, 0.196338e-03_rb, 0.236644e-03_rb, 0.285225e-03_rb, 0.343778e-03_rb /) selfrefo(:,16) = (/ & & 0.666420e-04_rb, 0.801056e-04_rb, 0.962892e-04_rb, 0.115742e-03_rb, 0.139126e-03_rb, & & 0.167233e-03_rb, 0.201019e-03_rb, 0.241630e-03_rb, 0.290446e-03_rb, 0.349125e-03_rb /) end subroutine sw_kgb22 ! ************************************************************************** subroutine sw_kgb23 ! ************************************************************************** use parkind, only : im => kind_im, rb => kind_rb use rrsw_kg23, only : kao, selfrefo, forrefo, sfluxrefo, raylo implicit none save ! Kurucz solar source function sfluxrefo(:) = (/ & & 53.2101_rb , 51.4143_rb, 49.3348_rb, 45.4612_rb , & & 40.8294_rb , 35.1801_rb, 28.6947_rb, 21.5751_rb , & & 14.6388_rb , 1.59111_rb, 1.31860_rb, 1.04018_rb , & & 0.762140_rb,0.484214_rb,0.182275_rb, 2.54948e-02_rb /) ! Rayleigh extinction coefficient at all v raylo(:) = (/ & & 5.94837e-08_rb,5.70593e-08_rb,6.27845e-08_rb,5.56602e-08_rb, & & 5.25571e-08_rb,4.73388e-08_rb,4.17466e-08_rb,3.98097e-08_rb, & & 4.00786e-08_rb,3.67478e-08_rb,3.45186e-08_rb,3.46156e-08_rb, & & 3.32155e-08_rb,3.23642e-08_rb,2.72590e-08_rb,2.96813e-08_rb /) ! ------------------------------------------------------------------ ! The array KAO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels> ~100mb, temperatures, and binary ! species parameters (see taumol.f for definition). The first ! index in the array, JS, runs from 1 to 9, and corresponds to ! different values of the binary species parameter. For instance, ! JS=1 refers to dry air, JS = 2 corresponds to the paramter value 1/8, ! JS = 3 corresponds to the parameter value 2/8, etc. The second index ! in the array, JT, which runs from 1 to 5, corresponds to different ! temperatures. More specifically, JT = 3 means that the data are for ! the reference temperature TREF for this pressure level, JT = 2 refers ! to TREF-15, JT = 1 is for TREF-30, JT = 4 is for TREF+15, and JT = 5 ! is for TREF+30. The third index, JP, runs from 1 to 13 and refers ! to the JPth reference pressure level (see taumol.f for these levels ! in mb). The fourth index, IG, goes from 1 to 16, and indicates ! which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kao(:, 1, 1) = (/ & & 0.33078e-07_rb,0.34034e-07_rb,0.35124e-07_rb,0.34187e-07_rb,0.34744e-07_rb /) kao(:, 2, 1) = (/ & & 0.25544e-07_rb,0.25873e-07_rb,0.26742e-07_rb,0.27512e-07_rb,0.27504e-07_rb /) kao(:, 3, 1) = (/ & & 0.18549e-07_rb,0.19611e-07_rb,0.20840e-07_rb,0.22548e-07_rb,0.23069e-07_rb /) kao(:, 4, 1) = (/ & & 0.28794e-07_rb,0.30837e-07_rb,0.32679e-07_rb,0.34307e-07_rb,0.36901e-07_rb /) kao(:, 5, 1) = (/ & & 0.36776e-07_rb,0.39144e-07_rb,0.41300e-07_rb,0.43264e-07_rb,0.46626e-07_rb /) kao(:, 6, 1) = (/ & & 0.59710e-07_rb,0.62941e-07_rb,0.65500e-07_rb,0.67353e-07_rb,0.68774e-07_rb /) kao(:, 7, 1) = (/ & & 0.12143e-06_rb,0.12932e-06_rb,0.13250e-06_rb,0.13526e-06_rb,0.13849e-06_rb /) kao(:, 8, 1) = (/ & & 0.12531e-06_rb,0.13241e-06_rb,0.13939e-06_rb,0.14705e-06_rb,0.15465e-06_rb /) kao(:, 9, 1) = (/ & & 0.20209e-06_rb,0.21134e-06_rb,0.22163e-06_rb,0.23098e-06_rb,0.24004e-06_rb /) kao(:,10, 1) = (/ & & 0.10750e-05_rb,0.11204e-05_rb,0.11575e-05_rb,0.11923e-05_rb,0.12227e-05_rb /) kao(:,11, 1) = (/ & & 0.27782e-05_rb,0.28204e-05_rb,0.28406e-05_rb,0.28380e-05_rb,0.28440e-05_rb /) kao(:,12, 1) = (/ & & 0.38510e-05_rb,0.39934e-05_rb,0.40697e-05_rb,0.41102e-05_rb,0.41571e-05_rb /) kao(:,13, 1) = (/ & & 0.43157e-05_rb,0.44488e-05_rb,0.45799e-05_rb,0.46585e-05_rb,0.47223e-05_rb /) kao(:, 1, 2) = (/ & & 0.84637e-06_rb,0.86989e-06_rb,0.90697e-06_rb,0.90000e-06_rb,0.91373e-06_rb /) kao(:, 2, 2) = (/ & & 0.67062e-06_rb,0.68649e-06_rb,0.72334e-06_rb,0.73645e-06_rb,0.72978e-06_rb /) kao(:, 3, 2) = (/ & & 0.52317e-06_rb,0.53924e-06_rb,0.55425e-06_rb,0.58347e-06_rb,0.57813e-06_rb /) kao(:, 4, 2) = (/ & & 0.39868e-06_rb,0.41431e-06_rb,0.42761e-06_rb,0.43892e-06_rb,0.45982e-06_rb /) kao(:, 5, 2) = (/ & & 0.32074e-06_rb,0.33452e-06_rb,0.34754e-06_rb,0.35582e-06_rb,0.37378e-06_rb /) kao(:, 6, 2) = (/ & & 0.42465e-06_rb,0.44058e-06_rb,0.45605e-06_rb,0.47192e-06_rb,0.48493e-06_rb /) kao(:, 7, 2) = (/ & & 0.47581e-06_rb,0.50000e-06_rb,0.52487e-06_rb,0.54192e-06_rb,0.55955e-06_rb /) kao(:, 8, 2) = (/ & & 0.10592e-05_rb,0.11093e-05_rb,0.11483e-05_rb,0.11923e-05_rb,0.12169e-05_rb /) kao(:, 9, 2) = (/ & & 0.50835e-05_rb,0.51710e-05_rb,0.52329e-05_rb,0.52644e-05_rb,0.52818e-05_rb /) kao(:,10, 2) = (/ & & 0.77867e-05_rb,0.82156e-05_rb,0.86002e-05_rb,0.89664e-05_rb,0.92394e-05_rb /) kao(:,11, 2) = (/ & & 0.89031e-05_rb,0.93573e-05_rb,0.97686e-05_rb,0.10236e-04_rb,0.10591e-04_rb /) kao(:,12, 2) = (/ & & 0.98068e-05_rb,0.10238e-04_rb,0.10700e-04_rb,0.11108e-04_rb,0.11471e-04_rb /) kao(:,13, 2) = (/ & & 0.11145e-04_rb,0.11697e-04_rb,0.12123e-04_rb,0.12482e-04_rb,0.12856e-04_rb /) kao(:, 1, 3) = (/ & & 0.66049e-05_rb,0.67547e-05_rb,0.70104e-05_rb,0.69745e-05_rb,0.70687e-05_rb /) kao(:, 2, 3) = (/ & & 0.54104e-05_rb,0.55245e-05_rb,0.57623e-05_rb,0.58532e-05_rb,0.58099e-05_rb /) kao(:, 3, 3) = (/ & & 0.43608e-05_rb,0.44784e-05_rb,0.45778e-05_rb,0.47665e-05_rb,0.47295e-05_rb /) kao(:, 4, 3) = (/ & & 0.35399e-05_rb,0.36454e-05_rb,0.37356e-05_rb,0.38107e-05_rb,0.39586e-05_rb /) kao(:, 5, 3) = (/ & & 0.28576e-05_rb,0.29552e-05_rb,0.30325e-05_rb,0.31028e-05_rb,0.32276e-05_rb /) kao(:, 6, 3) = (/ & & 0.21017e-05_rb,0.21836e-05_rb,0.22554e-05_rb,0.23121e-05_rb,0.23486e-05_rb /) kao(:, 7, 3) = (/ & & 0.19384e-05_rb,0.19914e-05_rb,0.20428e-05_rb,0.20879e-05_rb,0.21191e-05_rb /) kao(:, 8, 3) = (/ & & 0.32672e-05_rb,0.33753e-05_rb,0.34694e-05_rb,0.35273e-05_rb,0.35984e-05_rb /) kao(:, 9, 3) = (/ & & 0.82257e-05_rb,0.84975e-05_rb,0.86969e-05_rb,0.88995e-05_rb,0.90123e-05_rb /) kao(:,10, 3) = (/ & & 0.35363e-04_rb,0.36204e-04_rb,0.36916e-04_rb,0.37708e-04_rb,0.38294e-04_rb /) kao(:,11, 3) = (/ & & 0.48837e-04_rb,0.50952e-04_rb,0.52710e-04_rb,0.54347e-04_rb,0.55976e-04_rb /) kao(:,12, 3) = (/ & & 0.56059e-04_rb,0.58301e-04_rb,0.60100e-04_rb,0.61776e-04_rb,0.63179e-04_rb /) kao(:,13, 3) = (/ & & 0.57871e-04_rb,0.59505e-04_rb,0.60930e-04_rb,0.62289e-04_rb,0.63278e-04_rb /) kao(:, 1, 4) = (/ & & 0.27624e-04_rb,0.28017e-04_rb,0.29078e-04_rb,0.28567e-04_rb,0.28724e-04_rb /) kao(:, 2, 4) = (/ & & 0.23107e-04_rb,0.23464e-04_rb,0.24357e-04_rb,0.24519e-04_rb,0.24024e-04_rb /) kao(:, 3, 4) = (/ & & 0.19113e-04_rb,0.19400e-04_rb,0.19615e-04_rb,0.20420e-04_rb,0.19962e-04_rb /) kao(:, 4, 4) = (/ & & 0.15873e-04_rb,0.16138e-04_rb,0.16349e-04_rb,0.16528e-04_rb,0.17176e-04_rb /) kao(:, 5, 4) = (/ & & 0.13198e-04_rb,0.13437e-04_rb,0.13641e-04_rb,0.13810e-04_rb,0.14393e-04_rb /) kao(:, 6, 4) = (/ & & 0.10951e-04_rb,0.11172e-04_rb,0.11352e-04_rb,0.11506e-04_rb,0.11631e-04_rb /) kao(:, 7, 4) = (/ & & 0.86121e-05_rb,0.88300e-05_rb,0.90149e-05_rb,0.91565e-05_rb,0.92594e-05_rb /) kao(:, 8, 4) = (/ & & 0.71478e-05_rb,0.72918e-05_rb,0.74035e-05_rb,0.74959e-05_rb,0.75566e-05_rb /) kao(:, 9, 4) = (/ & & 0.16458e-04_rb,0.17092e-04_rb,0.17686e-04_rb,0.17967e-04_rb,0.18273e-04_rb /) kao(:,10, 4) = (/ & & 0.47953e-04_rb,0.49663e-04_rb,0.51524e-04_rb,0.52800e-04_rb,0.54192e-04_rb /) kao(:,11, 4) = (/ & & 0.94263e-04_rb,0.95557e-04_rb,0.96513e-04_rb,0.97430e-04_rb,0.97733e-04_rb /) kao(:,12, 4) = (/ & & 0.12087e-03_rb,0.12152e-03_rb,0.12240e-03_rb,0.12318e-03_rb,0.12403e-03_rb /) kao(:,13, 4) = (/ & & 0.12781e-03_rb,0.12897e-03_rb,0.13049e-03_rb,0.13171e-03_rb,0.13337e-03_rb /) kao(:, 1, 5) = (/ & & 0.82859e-04_rb,0.84817e-04_rb,0.89056e-04_rb,0.88057e-04_rb,0.89410e-04_rb /) kao(:, 2, 5) = (/ & & 0.70937e-04_rb,0.72685e-04_rb,0.76796e-04_rb,0.77955e-04_rb,0.76735e-04_rb /) kao(:, 3, 5) = (/ & & 0.59876e-04_rb,0.61448e-04_rb,0.62837e-04_rb,0.66293e-04_rb,0.64996e-04_rb /) kao(:, 4, 5) = (/ & & 0.50598e-04_rb,0.52054e-04_rb,0.53293e-04_rb,0.54332e-04_rb,0.57333e-04_rb /) kao(:, 5, 5) = (/ & & 0.42742e-04_rb,0.44035e-04_rb,0.45164e-04_rb,0.46134e-04_rb,0.48935e-04_rb /) kao(:, 6, 5) = (/ & & 0.35769e-04_rb,0.36975e-04_rb,0.38038e-04_rb,0.38917e-04_rb,0.39681e-04_rb /) kao(:, 7, 5) = (/ & & 0.29747e-04_rb,0.30824e-04_rb,0.31756e-04_rb,0.32589e-04_rb,0.33314e-04_rb /) kao(:, 8, 5) = (/ & & 0.21994e-04_rb,0.22945e-04_rb,0.23786e-04_rb,0.24517e-04_rb,0.25155e-04_rb /) kao(:, 9, 5) = (/ & & 0.22298e-04_rb,0.22688e-04_rb,0.23127e-04_rb,0.23803e-04_rb,0.24335e-04_rb /) kao(:,10, 5) = (/ & & 0.88898e-04_rb,0.91280e-04_rb,0.93333e-04_rb,0.95224e-04_rb,0.96298e-04_rb /) kao(:,11, 5) = (/ & & 0.12299e-03_rb,0.12407e-03_rb,0.12536e-03_rb,0.12642e-03_rb,0.12813e-03_rb /) kao(:,12, 5) = (/ & & 0.14539e-03_rb,0.14851e-03_rb,0.15022e-03_rb,0.15157e-03_rb,0.15204e-03_rb /) kao(:,13, 5) = (/ & & 0.15949e-03_rb,0.16239e-03_rb,0.16467e-03_rb,0.16667e-03_rb,0.16801e-03_rb /) kao(:, 1, 6) = (/ & & 0.25339e-03_rb,0.25995e-03_rb,0.27170e-03_rb,0.26963e-03_rb,0.27413e-03_rb /) kao(:, 2, 6) = (/ & & 0.21908e-03_rb,0.22404e-03_rb,0.23522e-03_rb,0.23902e-03_rb,0.23717e-03_rb /) kao(:, 3, 6) = (/ & & 0.18611e-03_rb,0.19076e-03_rb,0.19518e-03_rb,0.20503e-03_rb,0.20222e-03_rb /) kao(:, 4, 6) = (/ & & 0.15769e-03_rb,0.16210e-03_rb,0.16597e-03_rb,0.16948e-03_rb,0.17817e-03_rb /) kao(:, 5, 6) = (/ & & 0.13402e-03_rb,0.13792e-03_rb,0.14153e-03_rb,0.14434e-03_rb,0.15267e-03_rb /) kao(:, 6, 6) = (/ & & 0.11390e-03_rb,0.11743e-03_rb,0.12065e-03_rb,0.12316e-03_rb,0.12543e-03_rb /) kao(:, 7, 6) = (/ & & 0.96417e-04_rb,0.99612e-04_rb,0.10233e-03_rb,0.10453e-03_rb,0.10652e-03_rb /) kao(:, 8, 6) = (/ & & 0.81395e-04_rb,0.84205e-04_rb,0.86346e-04_rb,0.88406e-04_rb,0.90122e-04_rb /) kao(:, 9, 6) = (/ & & 0.47776e-04_rb,0.48971e-04_rb,0.49736e-04_rb,0.49917e-04_rb,0.50289e-04_rb /) kao(:,10, 6) = (/ & & 0.10698e-03_rb,0.10815e-03_rb,0.10817e-03_rb,0.10799e-03_rb,0.10851e-03_rb /) kao(:,11, 6) = (/ & & 0.20220e-03_rb,0.20727e-03_rb,0.21241e-03_rb,0.21675e-03_rb,0.21989e-03_rb /) kao(:,12, 6) = (/ & & 0.23474e-03_rb,0.23601e-03_rb,0.23974e-03_rb,0.24383e-03_rb,0.24876e-03_rb /) kao(:,13, 6) = (/ & & 0.23410e-03_rb,0.23809e-03_rb,0.24185e-03_rb,0.24554e-03_rb,0.24952e-03_rb /) kao(:, 1, 7) = (/ & & 0.67024e-03_rb,0.68026e-03_rb,0.70419e-03_rb,0.70159e-03_rb,0.71089e-03_rb /) kao(:, 2, 7) = (/ & & 0.58729e-03_rb,0.59778e-03_rb,0.62097e-03_rb,0.62912e-03_rb,0.62423e-03_rb /) kao(:, 3, 7) = (/ & & 0.50967e-03_rb,0.51900e-03_rb,0.52765e-03_rb,0.54794e-03_rb,0.54266e-03_rb /) kao(:, 4, 7) = (/ & & 0.44167e-03_rb,0.45006e-03_rb,0.45793e-03_rb,0.46469e-03_rb,0.48335e-03_rb /) kao(:, 5, 7) = (/ & & 0.38096e-03_rb,0.38881e-03_rb,0.39576e-03_rb,0.40259e-03_rb,0.42086e-03_rb /) kao(:, 6, 7) = (/ & & 0.32818e-03_rb,0.33539e-03_rb,0.34192e-03_rb,0.34829e-03_rb,0.35405e-03_rb /) kao(:, 7, 7) = (/ & & 0.28259e-03_rb,0.28946e-03_rb,0.29584e-03_rb,0.30203e-03_rb,0.30742e-03_rb /) kao(:, 8, 7) = (/ & & 0.24273e-03_rb,0.24912e-03_rb,0.25546e-03_rb,0.26110e-03_rb,0.26607e-03_rb /) kao(:, 9, 7) = (/ & & 0.19937e-03_rb,0.20653e-03_rb,0.21314e-03_rb,0.21968e-03_rb,0.22520e-03_rb /) kao(:,10, 7) = (/ & & 0.13306e-03_rb,0.13331e-03_rb,0.13393e-03_rb,0.13538e-03_rb,0.13616e-03_rb /) kao(:,11, 7) = (/ & & 0.16236e-03_rb,0.16154e-03_rb,0.16187e-03_rb,0.16113e-03_rb,0.16209e-03_rb /) kao(:,12, 7) = (/ & & 0.17872e-03_rb,0.18355e-03_rb,0.18612e-03_rb,0.18792e-03_rb,0.18745e-03_rb /) kao(:,13, 7) = (/ & & 0.18970e-03_rb,0.19384e-03_rb,0.19773e-03_rb,0.20261e-03_rb,0.20377e-03_rb /) kao(:, 1, 8) = (/ & & 0.18130e-02_rb,0.18305e-02_rb,0.18716e-02_rb,0.18655e-02_rb,0.18814e-02_rb /) kao(:, 2, 8) = (/ & & 0.16420e-02_rb,0.16600e-02_rb,0.17006e-02_rb,0.17156e-02_rb,0.17108e-02_rb /) kao(:, 3, 8) = (/ & & 0.14687e-02_rb,0.14870e-02_rb,0.15042e-02_rb,0.15423e-02_rb,0.15376e-02_rb /) kao(:, 4, 8) = (/ & & 0.13068e-02_rb,0.13248e-02_rb,0.13421e-02_rb,0.13592e-02_rb,0.13960e-02_rb /) kao(:, 5, 8) = (/ & & 0.11574e-02_rb,0.11753e-02_rb,0.11928e-02_rb,0.12097e-02_rb,0.12467e-02_rb /) kao(:, 6, 8) = (/ & & 0.10167e-02_rb,0.10342e-02_rb,0.10515e-02_rb,0.10681e-02_rb,0.10840e-02_rb /) kao(:, 7, 8) = (/ & & 0.88992e-03_rb,0.90662e-03_rb,0.92299e-03_rb,0.93844e-03_rb,0.95347e-03_rb /) kao(:, 8, 8) = (/ & & 0.78445e-03_rb,0.80031e-03_rb,0.81639e-03_rb,0.83131e-03_rb,0.84631e-03_rb /) kao(:, 9, 8) = (/ & & 0.69812e-03_rb,0.71312e-03_rb,0.72801e-03_rb,0.74222e-03_rb,0.75605e-03_rb /) kao(:,10, 8) = (/ & & 0.32521e-03_rb,0.33835e-03_rb,0.35194e-03_rb,0.36381e-03_rb,0.37594e-03_rb /) kao(:,11, 8) = (/ & & 0.31406e-03_rb,0.32013e-03_rb,0.32456e-03_rb,0.33261e-03_rb,0.33741e-03_rb /) kao(:,12, 8) = (/ & & 0.28132e-03_rb,0.28732e-03_rb,0.29674e-03_rb,0.30509e-03_rb,0.31393e-03_rb /) kao(:,13, 8) = (/ & & 0.25704e-03_rb,0.26316e-03_rb,0.27195e-03_rb,0.27732e-03_rb,0.28905e-03_rb /) kao(:, 1, 9) = (/ & & 0.67370e-02_rb,0.67873e-02_rb,0.68896e-02_rb,0.68819e-02_rb,0.69268e-02_rb /) kao(:, 2, 9) = (/ & & 0.63111e-02_rb,0.63622e-02_rb,0.64623e-02_rb,0.65060e-02_rb,0.65027e-02_rb /) kao(:, 3, 9) = (/ & & 0.58834e-02_rb,0.59361e-02_rb,0.59858e-02_rb,0.60811e-02_rb,0.60806e-02_rb /) kao(:, 4, 9) = (/ & & 0.54753e-02_rb,0.55309e-02_rb,0.55823e-02_rb,0.56306e-02_rb,0.57229e-02_rb /) kao(:, 5, 9) = (/ & & 0.50781e-02_rb,0.51373e-02_rb,0.51895e-02_rb,0.52391e-02_rb,0.53328e-02_rb /) kao(:, 6, 9) = (/ & & 0.46791e-02_rb,0.47408e-02_rb,0.47949e-02_rb,0.48470e-02_rb,0.48993e-02_rb /) kao(:, 7, 9) = (/ & & 0.42724e-02_rb,0.43381e-02_rb,0.43951e-02_rb,0.44503e-02_rb,0.45061e-02_rb /) kao(:, 8, 9) = (/ & & 0.38568e-02_rb,0.39254e-02_rb,0.39848e-02_rb,0.40431e-02_rb,0.41005e-02_rb /) kao(:, 9, 9) = (/ & & 0.35657e-02_rb,0.36362e-02_rb,0.36994e-02_rb,0.37608e-02_rb,0.38215e-02_rb /) kao(:,10, 9) = (/ & & 0.33774e-02_rb,0.34501e-02_rb,0.35171e-02_rb,0.35811e-02_rb,0.36450e-02_rb /) kao(:,11, 9) = (/ & & 0.23923e-02_rb,0.24623e-02_rb,0.25263e-02_rb,0.25890e-02_rb,0.26517e-02_rb /) kao(:,12, 9) = (/ & & 0.16959e-02_rb,0.17542e-02_rb,0.18077e-02_rb,0.18614e-02_rb,0.19187e-02_rb /) kao(:,13, 9) = (/ & & 0.11732e-02_rb,0.12232e-02_rb,0.12712e-02_rb,0.13221e-02_rb,0.13677e-02_rb /) kao(:, 1,10) = (/ & & 0.19604e-01_rb,0.19698e-01_rb,0.19938e-01_rb,0.19854e-01_rb,0.19950e-01_rb /) kao(:, 2,10) = (/ & & 0.18714e-01_rb,0.18803e-01_rb,0.19035e-01_rb,0.19131e-01_rb,0.19102e-01_rb /) kao(:, 3,10) = (/ & & 0.17676e-01_rb,0.17785e-01_rb,0.17904e-01_rb,0.18189e-01_rb,0.18156e-01_rb /) kao(:, 4,10) = (/ & & 0.16662e-01_rb,0.16773e-01_rb,0.16908e-01_rb,0.17056e-01_rb,0.17303e-01_rb /) kao(:, 5,10) = (/ & & 0.15655e-01_rb,0.15775e-01_rb,0.15942e-01_rb,0.16103e-01_rb,0.16359e-01_rb /) kao(:, 6,10) = (/ & & 0.14694e-01_rb,0.14838e-01_rb,0.15029e-01_rb,0.15200e-01_rb,0.15320e-01_rb /) kao(:, 7,10) = (/ & & 0.13797e-01_rb,0.13959e-01_rb,0.14174e-01_rb,0.14350e-01_rb,0.14471e-01_rb /) kao(:, 8,10) = (/ & & 0.12902e-01_rb,0.13089e-01_rb,0.13313e-01_rb,0.13489e-01_rb,0.13626e-01_rb /) kao(:, 9,10) = (/ & & 0.11897e-01_rb,0.12105e-01_rb,0.12333e-01_rb,0.12512e-01_rb,0.12656e-01_rb /) kao(:,10,10) = (/ & & 0.11834e-01_rb,0.12072e-01_rb,0.12331e-01_rb,0.12548e-01_rb,0.12721e-01_rb /) kao(:,11,10) = (/ & & 0.11416e-01_rb,0.11699e-01_rb,0.11968e-01_rb,0.12141e-01_rb,0.12311e-01_rb /) kao(:,12,10) = (/ & & 0.10776e-01_rb,0.11070e-01_rb,0.11309e-01_rb,0.11507e-01_rb,0.11702e-01_rb /) kao(:,13,10) = (/ & & 0.99577e-02_rb,0.10263e-01_rb,0.10492e-01_rb,0.10719e-01_rb,0.10951e-01_rb /) kao(:, 1,11) = (/ & & 0.29783e-01_rb,0.29883e-01_rb,0.30210e-01_rb,0.30141e-01_rb,0.30248e-01_rb /) kao(:, 2,11) = (/ & & 0.28562e-01_rb,0.28743e-01_rb,0.29186e-01_rb,0.29339e-01_rb,0.29258e-01_rb /) kao(:, 3,11) = (/ & & 0.27212e-01_rb,0.27429e-01_rb,0.27654e-01_rb,0.28083e-01_rb,0.28023e-01_rb /) kao(:, 4,11) = (/ & & 0.25949e-01_rb,0.26197e-01_rb,0.26424e-01_rb,0.26623e-01_rb,0.27069e-01_rb /) kao(:, 5,11) = (/ & & 0.24686e-01_rb,0.24942e-01_rb,0.25176e-01_rb,0.25403e-01_rb,0.25908e-01_rb /) kao(:, 6,11) = (/ & & 0.23430e-01_rb,0.23686e-01_rb,0.23923e-01_rb,0.24158e-01_rb,0.24433e-01_rb /) kao(:, 7,11) = (/ & & 0.22171e-01_rb,0.22424e-01_rb,0.22653e-01_rb,0.22909e-01_rb,0.23203e-01_rb /) kao(:, 8,11) = (/ & & 0.20928e-01_rb,0.21171e-01_rb,0.21407e-01_rb,0.21699e-01_rb,0.22018e-01_rb /) kao(:, 9,11) = (/ & & 0.19076e-01_rb,0.19320e-01_rb,0.19548e-01_rb,0.19858e-01_rb,0.20150e-01_rb /) kao(:,10,11) = (/ & & 0.19537e-01_rb,0.19788e-01_rb,0.20064e-01_rb,0.20391e-01_rb,0.20843e-01_rb /) kao(:,11,11) = (/ & & 0.19137e-01_rb,0.19444e-01_rb,0.19793e-01_rb,0.20268e-01_rb,0.20695e-01_rb /) kao(:,12,11) = (/ & & 0.18393e-01_rb,0.18715e-01_rb,0.19143e-01_rb,0.19652e-01_rb,0.20037e-01_rb /) kao(:,13,11) = (/ & & 0.17255e-01_rb,0.17680e-01_rb,0.18170e-01_rb,0.18641e-01_rb,0.19010e-01_rb /) kao(:, 1,12) = (/ & & 0.46641e-01_rb,0.46796e-01_rb,0.47107e-01_rb,0.46977e-01_rb,0.47093e-01_rb /) kao(:, 2,12) = (/ & & 0.46819e-01_rb,0.46956e-01_rb,0.47337e-01_rb,0.47426e-01_rb,0.47339e-01_rb /) kao(:, 3,12) = (/ & & 0.46276e-01_rb,0.46366e-01_rb,0.46462e-01_rb,0.46935e-01_rb,0.46862e-01_rb /) kao(:, 4,12) = (/ & & 0.44986e-01_rb,0.45103e-01_rb,0.45287e-01_rb,0.45535e-01_rb,0.46152e-01_rb /) kao(:, 5,12) = (/ & & 0.43367e-01_rb,0.43552e-01_rb,0.43761e-01_rb,0.44035e-01_rb,0.44674e-01_rb /) kao(:, 6,12) = (/ & & 0.41584e-01_rb,0.41793e-01_rb,0.42020e-01_rb,0.42344e-01_rb,0.42701e-01_rb /) kao(:, 7,12) = (/ & & 0.39785e-01_rb,0.40007e-01_rb,0.40269e-01_rb,0.40635e-01_rb,0.41003e-01_rb /) kao(:, 8,12) = (/ & & 0.37918e-01_rb,0.38155e-01_rb,0.38468e-01_rb,0.38839e-01_rb,0.39210e-01_rb /) kao(:, 9,12) = (/ & & 0.35060e-01_rb,0.35328e-01_rb,0.35698e-01_rb,0.36105e-01_rb,0.36551e-01_rb /) kao(:,10,12) = (/ & & 0.35216e-01_rb,0.35547e-01_rb,0.35872e-01_rb,0.36327e-01_rb,0.36542e-01_rb /) kao(:,11,12) = (/ & & 0.35158e-01_rb,0.35374e-01_rb,0.35869e-01_rb,0.36242e-01_rb,0.36691e-01_rb /) kao(:,12,12) = (/ & & 0.34264e-01_rb,0.34598e-01_rb,0.35106e-01_rb,0.35505e-01_rb,0.36021e-01_rb /) kao(:,13,12) = (/ & & 0.32716e-01_rb,0.33195e-01_rb,0.33830e-01_rb,0.34228e-01_rb,0.34925e-01_rb /) kao(:, 1,13) = (/ & & 0.76084e-01_rb,0.76052e-01_rb,0.76051e-01_rb,0.75851e-01_rb,0.75753e-01_rb /) kao(:, 2,13) = (/ & & 0.79580e-01_rb,0.79564e-01_rb,0.79664e-01_rb,0.79619e-01_rb,0.79414e-01_rb /) kao(:, 3,13) = (/ & & 0.82218e-01_rb,0.82302e-01_rb,0.82367e-01_rb,0.82543e-01_rb,0.82246e-01_rb /) kao(:, 4,13) = (/ & & 0.83613e-01_rb,0.83740e-01_rb,0.83824e-01_rb,0.83866e-01_rb,0.84103e-01_rb /) kao(:, 5,13) = (/ & & 0.83913e-01_rb,0.84123e-01_rb,0.84289e-01_rb,0.84403e-01_rb,0.84840e-01_rb /) kao(:, 6,13) = (/ & & 0.83159e-01_rb,0.83442e-01_rb,0.83718e-01_rb,0.83891e-01_rb,0.83993e-01_rb /) kao(:, 7,13) = (/ & & 0.81401e-01_rb,0.81826e-01_rb,0.82202e-01_rb,0.82451e-01_rb,0.82656e-01_rb /) kao(:, 8,13) = (/ & & 0.78949e-01_rb,0.79505e-01_rb,0.79978e-01_rb,0.80351e-01_rb,0.80690e-01_rb /) kao(:, 9,13) = (/ & & 0.76002e-01_rb,0.76671e-01_rb,0.77279e-01_rb,0.77752e-01_rb,0.78257e-01_rb /) kao(:,10,13) = (/ & & 0.69777e-01_rb,0.70425e-01_rb,0.71054e-01_rb,0.71706e-01_rb,0.72167e-01_rb /) kao(:,11,13) = (/ & & 0.72929e-01_rb,0.73732e-01_rb,0.74323e-01_rb,0.75246e-01_rb,0.75786e-01_rb /) kao(:,12,13) = (/ & & 0.73007e-01_rb,0.74429e-01_rb,0.74922e-01_rb,0.75916e-01_rb,0.76947e-01_rb /) kao(:,13,13) = (/ & & 0.71376e-01_rb,0.72507e-01_rb,0.73710e-01_rb,0.74716e-01_rb,0.75702e-01_rb /) kao(:, 1,14) = (/ & & 0.12585e+00_rb,0.12569e+00_rb,0.12576e+00_rb,0.12571e+00_rb,0.12570e+00_rb /) kao(:, 2,14) = (/ & & 0.13868e+00_rb,0.13853e+00_rb,0.13849e+00_rb,0.13824e+00_rb,0.13803e+00_rb /) kao(:, 3,14) = (/ & & 0.15142e+00_rb,0.15135e+00_rb,0.15112e+00_rb,0.15093e+00_rb,0.15074e+00_rb /) kao(:, 4,14) = (/ & & 0.16359e+00_rb,0.16359e+00_rb,0.16339e+00_rb,0.16311e+00_rb,0.16285e+00_rb /) kao(:, 5,14) = (/ & & 0.17462e+00_rb,0.17472e+00_rb,0.17456e+00_rb,0.17421e+00_rb,0.17393e+00_rb /) kao(:, 6,14) = (/ & & 0.18403e+00_rb,0.18447e+00_rb,0.18450e+00_rb,0.18424e+00_rb,0.18395e+00_rb /) kao(:, 7,14) = (/ & & 0.19179e+00_rb,0.19239e+00_rb,0.19256e+00_rb,0.19253e+00_rb,0.19252e+00_rb /) kao(:, 8,14) = (/ & & 0.19772e+00_rb,0.19863e+00_rb,0.19901e+00_rb,0.19923e+00_rb,0.19947e+00_rb /) kao(:, 9,14) = (/ & & 0.20154e+00_rb,0.20279e+00_rb,0.20355e+00_rb,0.20417e+00_rb,0.20473e+00_rb /) kao(:,10,14) = (/ & & 0.18853e+00_rb,0.19028e+00_rb,0.19160e+00_rb,0.19253e+00_rb,0.19393e+00_rb /) kao(:,11,14) = (/ & & 0.18013e+00_rb,0.18167e+00_rb,0.18320e+00_rb,0.18375e+00_rb,0.18507e+00_rb /) kao(:,12,14) = (/ & & 0.19011e+00_rb,0.19027e+00_rb,0.19283e+00_rb,0.19402e+00_rb,0.19478e+00_rb /) kao(:,13,14) = (/ & & 0.19594e+00_rb,0.19738e+00_rb,0.19911e+00_rb,0.20124e+00_rb,0.20282e+00_rb /) kao(:, 1,15) = (/ & & 0.22369e+00_rb,0.22259e+00_rb,0.22155e+00_rb,0.22059e+00_rb,0.21997e+00_rb /) kao(:, 2,15) = (/ & & 0.25602e+00_rb,0.25478e+00_rb,0.25377e+00_rb,0.25306e+00_rb,0.25237e+00_rb /) kao(:, 3,15) = (/ & & 0.29258e+00_rb,0.29107e+00_rb,0.28998e+00_rb,0.28920e+00_rb,0.28830e+00_rb /) kao(:, 4,15) = (/ & & 0.33067e+00_rb,0.32888e+00_rb,0.32753e+00_rb,0.32646e+00_rb,0.32566e+00_rb /) kao(:, 5,15) = (/ & & 0.37114e+00_rb,0.36880e+00_rb,0.36713e+00_rb,0.36598e+00_rb,0.36499e+00_rb /) kao(:, 6,15) = (/ & & 0.41494e+00_rb,0.41167e+00_rb,0.40935e+00_rb,0.40779e+00_rb,0.40636e+00_rb /) kao(:, 7,15) = (/ & & 0.46115e+00_rb,0.45729e+00_rb,0.45455e+00_rb,0.45230e+00_rb,0.45004e+00_rb /) kao(:, 8,15) = (/ & & 0.50906e+00_rb,0.50463e+00_rb,0.50137e+00_rb,0.49843e+00_rb,0.49550e+00_rb /) kao(:, 9,15) = (/ & & 0.55829e+00_rb,0.55330e+00_rb,0.54936e+00_rb,0.54557e+00_rb,0.54168e+00_rb /) kao(:,10,15) = (/ & & 0.60814e+00_rb,0.60274e+00_rb,0.59806e+00_rb,0.59326e+00_rb,0.58833e+00_rb /) kao(:,11,15) = (/ & & 0.62954e+00_rb,0.62588e+00_rb,0.62076e+00_rb,0.61665e+00_rb,0.61184e+00_rb /) kao(:,12,15) = (/ & & 0.62585e+00_rb,0.62437e+00_rb,0.61807e+00_rb,0.61303e+00_rb,0.60869e+00_rb /) kao(:,13,15) = (/ & & 0.64856e+00_rb,0.64505e+00_rb,0.63861e+00_rb,0.63277e+00_rb,0.62702e+00_rb /) kao(:, 1,16) = (/ & & 0.33327e+00_rb,0.33385e+00_rb,0.33538e+00_rb,0.33638e+00_rb,0.33736e+00_rb /) kao(:, 2,16) = (/ & & 0.40916e+00_rb,0.40842e+00_rb,0.40848e+00_rb,0.40865e+00_rb,0.40854e+00_rb /) kao(:, 3,16) = (/ & & 0.50099e+00_rb,0.49888e+00_rb,0.49727e+00_rb,0.49588e+00_rb,0.49422e+00_rb /) kao(:, 4,16) = (/ & & 0.60389e+00_rb,0.60029e+00_rb,0.59704e+00_rb,0.59367e+00_rb,0.59071e+00_rb /) kao(:, 5,16) = (/ & & 0.71868e+00_rb,0.71337e+00_rb,0.70835e+00_rb,0.70318e+00_rb,0.69852e+00_rb /) kao(:, 6,16) = (/ & & 0.84815e+00_rb,0.84138e+00_rb,0.83446e+00_rb,0.82728e+00_rb,0.82023e+00_rb /) kao(:, 7,16) = (/ & & 0.99512e+00_rb,0.98644e+00_rb,0.97698e+00_rb,0.96695e+00_rb,0.95712e+00_rb /) kao(:, 8,16) = (/ & & 0.11606e+01_rb,0.11485e+01_rb,0.11354e+01_rb,0.11218e+01_rb,0.11077e+01_rb /) kao(:, 9,16) = (/ & & 0.13444e+01_rb,0.13282e+01_rb,0.13102e+01_rb,0.12917e+01_rb,0.12735e+01_rb /) kao(:,10,16) = (/ & & 0.15423e+01_rb,0.15207e+01_rb,0.14970e+01_rb,0.14733e+01_rb,0.14494e+01_rb /) kao(:,11,16) = (/ & & 0.17462e+01_rb,0.17138e+01_rb,0.16827e+01_rb,0.16518e+01_rb,0.16199e+01_rb /) kao(:,12,16) = (/ & & 0.19577e+01_rb,0.19145e+01_rb,0.18728e+01_rb,0.18320e+01_rb,0.17910e+01_rb /) kao(:,13,16) = (/ & & 0.21716e+01_rb,0.21171e+01_rb,0.20639e+01_rb,0.20113e+01_rb,0.19587e+01_rb /) ! ----------------------------------------------------------------- forrefo(:, 1) = (/ 0.315770e-07_rb, 0.671978e-07_rb, 0.440649e-06_rb /) forrefo(:, 2) = (/ 0.313674e-06_rb, 0.285252e-06_rb, 0.421024e-05_rb /) forrefo(:, 3) = (/ 0.135818e-05_rb, 0.145071e-05_rb, 0.611285e-05_rb /) forrefo(:, 4) = (/ 0.534065e-05_rb, 0.586268e-05_rb, 0.933970e-05_rb /) forrefo(:, 5) = (/ 0.964007e-05_rb, 0.107110e-04_rb, 0.104486e-04_rb /) forrefo(:, 6) = (/ 0.302775e-04_rb, 0.357530e-04_rb, 0.340724e-04_rb /) forrefo(:, 7) = (/ 0.102437e-03_rb, 0.108475e-03_rb, 0.105245e-03_rb /) forrefo(:, 8) = (/ 0.146054e-03_rb, 0.141490e-03_rb, 0.133071e-03_rb /) forrefo(:, 9) = (/ 0.163978e-03_rb, 0.150208e-03_rb, 0.142864e-03_rb /) forrefo(:,10) = (/ 0.220412e-03_rb, 0.182943e-03_rb, 0.150941e-03_rb /) forrefo(:,11) = (/ 0.228877e-03_rb, 0.197679e-03_rb, 0.163220e-03_rb /) forrefo(:,12) = (/ 0.234177e-03_rb, 0.217734e-03_rb, 0.185038e-03_rb /) forrefo(:,13) = (/ 0.257187e-03_rb, 0.241570e-03_rb, 0.221178e-03_rb /) forrefo(:,14) = (/ 0.272455e-03_rb, 0.270637e-03_rb, 0.256269e-03_rb /) forrefo(:,15) = (/ 0.339445e-03_rb, 0.300268e-03_rb, 0.286574e-03_rb /) forrefo(:,16) = (/ 0.338841e-03_rb, 0.355428e-03_rb, 0.353794e-03_rb /) ! ----------------------------------------------------------------- ! The array SELFREFO contains the coefficient of the water vapor ! self-continuum (including the energy term). The first index ! refers to temperature in 7.2 degree increments. For instance, ! JT = 1 refers to a temperature of 245.6, JT = 2 refers to 252.8, ! etc. The second index runs over the g-channel (1 to 16). selfrefo(:, 1) = (/ & & 0.100945e-04_rb, 0.801113e-05_rb, 0.635771e-05_rb, 0.504554e-05_rb, 0.400419e-05_rb, & & 0.317777e-05_rb, 0.252191e-05_rb, 0.200141e-05_rb, 0.158834e-05_rb, 0.126052e-05_rb /) selfrefo(:, 2) = (/ & & 0.107573e-04_rb, 0.999809e-05_rb, 0.929245e-05_rb, 0.863661e-05_rb, 0.802706e-05_rb, & & 0.746053e-05_rb, 0.693399e-05_rb, 0.644460e-05_rb, 0.598976e-05_rb, 0.556702e-05_rb /) selfrefo(:, 3) = (/ & & 0.350389e-04_rb, 0.319234e-04_rb, 0.290850e-04_rb, 0.264989e-04_rb, 0.241428e-04_rb, & & 0.219962e-04_rb, 0.200404e-04_rb, 0.182586e-04_rb, 0.166351e-04_rb, 0.151560e-04_rb /) selfrefo(:, 4) = (/ & & 0.122993e-03_rb, 0.110885e-03_rb, 0.999691e-04_rb, 0.901277e-04_rb, 0.812551e-04_rb, & & 0.732559e-04_rb, 0.660443e-04_rb, 0.595426e-04_rb, 0.536809e-04_rb, 0.483963e-04_rb /) selfrefo(:, 5) = (/ & & 0.206434e-03_rb, 0.187435e-03_rb, 0.170185e-03_rb, 0.154522e-03_rb, 0.140301e-03_rb, & & 0.127388e-03_rb, 0.115664e-03_rb, 0.105019e-03_rb, 0.953540e-04_rb, 0.865783e-04_rb /) selfrefo(:, 6) = (/ & & 0.590645e-03_rb, 0.533109e-03_rb, 0.481177e-03_rb, 0.434305e-03_rb, 0.391998e-03_rb, & & 0.353812e-03_rb, 0.319346e-03_rb, 0.288238e-03_rb, 0.260160e-03_rb, 0.234817e-03_rb /) selfrefo(:, 7) = (/ & & 0.163029e-02_rb, 0.148773e-02_rb, 0.135763e-02_rb, 0.123891e-02_rb, 0.113057e-02_rb, & & 0.103170e-02_rb, 0.941483e-03_rb, 0.859153e-03_rb, 0.784023e-03_rb, 0.715462e-03_rb /) selfrefo(:, 8) = (/ & & 0.204528e-02_rb, 0.189258e-02_rb, 0.175128e-02_rb, 0.162053e-02_rb, 0.149954e-02_rb, & & 0.138758e-02_rb, 0.128398e-02_rb, 0.118812e-02_rb, 0.109941e-02_rb, 0.101733e-02_rb /) selfrefo(:, 9) = (/ & & 0.210589e-02_rb, 0.197078e-02_rb, 0.184434e-02_rb, 0.172601e-02_rb, 0.161528e-02_rb, & & 0.151164e-02_rb, 0.141466e-02_rb, 0.132390e-02_rb, 0.123896e-02_rb, 0.115947e-02_rb /) selfrefo(:,10) = (/ & & 0.245098e-02_rb, 0.233745e-02_rb, 0.222918e-02_rb, 0.212592e-02_rb, 0.202745e-02_rb, & & 0.193353e-02_rb, 0.184397e-02_rb, 0.175856e-02_rb, 0.167710e-02_rb, 0.159941e-02_rb /) selfrefo(:,11) = (/ & & 0.267460e-02_rb, 0.253325e-02_rb, 0.239936e-02_rb, 0.227255e-02_rb, 0.215244e-02_rb, & & 0.203868e-02_rb, 0.193093e-02_rb, 0.182888e-02_rb, 0.173222e-02_rb, 0.164067e-02_rb /) selfrefo(:,12) = (/ & & 0.304510e-02_rb, 0.283919e-02_rb, 0.264720e-02_rb, 0.246820e-02_rb, 0.230130e-02_rb, & & 0.214568e-02_rb, 0.200059e-02_rb, 0.186531e-02_rb, 0.173918e-02_rb, 0.162157e-02_rb /) selfrefo(:,13) = (/ & & 0.338445e-02_rb, 0.314719e-02_rb, 0.292655e-02_rb, 0.272139e-02_rb, 0.253060e-02_rb, & & 0.235319e-02_rb, 0.218822e-02_rb, 0.203482e-02_rb, 0.189217e-02_rb, 0.175952e-02_rb /) selfrefo(:,14) = (/ & & 0.388649e-02_rb, 0.357018e-02_rb, 0.327961e-02_rb, 0.301269e-02_rb, 0.276750e-02_rb, & & 0.254226e-02_rb, 0.233535e-02_rb, 0.214528e-02_rb, 0.197068e-02_rb, 0.181029e-02_rb /) selfrefo(:,15) = (/ & & 0.412547e-02_rb, 0.387413e-02_rb, 0.363810e-02_rb, 0.341646e-02_rb, 0.320831e-02_rb, & & 0.301285e-02_rb, 0.282930e-02_rb, 0.265693e-02_rb, 0.249506e-02_rb, 0.234305e-02_rb /) selfrefo(:,16) = (/ & & 0.534327e-02_rb, 0.482967e-02_rb, 0.436544e-02_rb, 0.394583e-02_rb, 0.356655e-02_rb, & & 0.322373e-02_rb, 0.291387e-02_rb, 0.263378e-02_rb, 0.238062e-02_rb, 0.215179e-02_rb /) end subroutine sw_kgb23 ! ************************************************************************** subroutine sw_kgb24 ! ************************************************************************** use parkind, only : im => kind_im, rb => kind_rb use rrsw_kg24, only : kao, kbo, selfrefo, forrefo, sfluxrefo, & raylao, raylbo, abso3ao, abso3bo implicit none save ! Kurucz solar source function sfluxrefo(:,1) = (/ & & 34.3610_rb , 33.1240_rb, 31.3948_rb, 28.7248_rb, & & 24.7884_rb , 21.4892_rb, 17.3972_rb, 13.7928_rb, & & 9.54462_rb , 1.05002_rb,0.867332_rb,0.685753_rb, & & 0.504718_rb,0.323112_rb,0.122183_rb, 1.70288e-02_rb /) sfluxrefo(:,2) = (/ & & 34.2367_rb , 32.4327_rb, 30.0863_rb, 28.2085_rb, & & 25.6533_rb , 22.3412_rb, 18.3112_rb, 13.8521_rb, & & 9.51035_rb , 1.04138_rb,0.863493_rb,0.682790_rb, & & 0.504721_rb,0.323102_rb,0.122193_rb, 1.70288e-02_rb /) sfluxrefo(:,3) = (/ & & 34.1883_rb , 32.2479_rb, 30.2650_rb, 28.2914_rb, & & 25.6626_rb , 22.3163_rb, 18.3327_rb, 13.8508_rb, & & 9.49190_rb , 1.03672_rb,0.858272_rb,0.681485_rb, & & 0.501363_rb,0.323110_rb,0.122183_rb, 1.70288e-02_rb /) sfluxrefo(:,4) = (/ & & 34.1365_rb , 32.2316_rb, 30.3325_rb, 28.3305_rb, & & 25.6420_rb , 22.3223_rb, 18.3411_rb, 13.8471_rb, & & 9.47492_rb , 1.03376_rb,0.855380_rb,0.679085_rb, & & 0.497998_rb,0.323053_rb,0.122183_rb, 1.70288e-02_rb /) sfluxrefo(:,5) = (/ & & 34.0460_rb , 32.2795_rb, 30.4147_rb, 28.3123_rb, & & 25.6438_rb , 22.3238_rb, 18.3441_rb, 13.8528_rb, & & 9.45222_rb , 1.03058_rb,0.854037_rb,0.675554_rb, & & 0.498344_rb,0.320072_rb,0.122193_rb, 1.70288e-02_rb /) sfluxrefo(:,6) = (/ & & 33.9909_rb , 32.3127_rb, 30.4854_rb, 28.3005_rb, & & 25.6310_rb , 22.3294_rb, 18.3459_rb, 13.8488_rb, & & 9.43336_rb , 1.02901_rb,0.852728_rb,0.672322_rb, & & 0.498056_rb,0.317753_rb,0.122183_rb, 1.70288e-02_rb /) sfluxrefo(:,7) = (/ & & 33.9225_rb , 32.4097_rb, 30.5125_rb, 28.2810_rb, & & 25.6387_rb , 22.3080_rb, 18.3715_rb, 13.8248_rb, & & 9.41834_rb , 1.02735_rb,0.850807_rb,0.671379_rb, & & 0.496975_rb,0.317158_rb,0.119297_rb, 1.70207e-02_rb /) sfluxrefo(:,8) = (/ & & 33.8940_rb , 32.4951_rb, 30.5494_rb, 28.2788_rb, & & 25.5975_rb , 22.3225_rb, 18.3358_rb, 13.8199_rb, & & 9.40283_rb , 1.02751_rb,0.850729_rb,0.670152_rb, & & 0.494294_rb,0.315829_rb,0.116195_rb, 1.64138e-02_rb /) sfluxrefo(:,9) = (/ & & 34.6501_rb , 32.6690_rb, 30.2872_rb, 28.0955_rb, & & 25.4662_rb , 22.1446_rb, 18.2754_rb, 13.7573_rb, & & 9.36645_rb , 1.02356_rb,0.847154_rb,0.668519_rb, & & 0.489186_rb,0.313790_rb,0.117074_rb, 1.60943e-02_rb /) ! Rayleigh extinction coefficient at all v raylao(:,1) = (/ & & 1.28405e-07_rb,1.45501e-07_rb,1.67272e-07_rb,1.94856e-07_rb, & & 2.15248e-07_rb,2.34920e-07_rb,2.48558e-07_rb,1.80004e-07_rb, & & 1.46504e-07_rb,1.31355e-07_rb,1.33562e-07_rb,1.35618e-07_rb, & & 1.22412e-07_rb,1.19842e-07_rb,1.19924e-07_rb,1.20264e-07_rb /) raylao(:,2) = (/ & & 1.41622e-07_rb,1.93436e-07_rb,2.25057e-07_rb,2.01025e-07_rb, & & 1.85138e-07_rb,1.72672e-07_rb,1.64771e-07_rb,1.59312e-07_rb, & & 1.44961e-07_rb,1.37448e-07_rb,1.37506e-07_rb,1.38081e-07_rb, & & 1.22432e-07_rb,1.19844e-07_rb,1.19921e-07_rb,1.20287e-07_rb /) raylao(:,3) = (/ & & 1.45382e-07_rb,1.97020e-07_rb,2.22781e-07_rb,1.96062e-07_rb, & & 1.83495e-07_rb,1.72495e-07_rb,1.64910e-07_rb,1.58797e-07_rb, & & 1.46208e-07_rb,1.42274e-07_rb,1.40445e-07_rb,1.39496e-07_rb, & & 1.26940e-07_rb,1.19844e-07_rb,1.19921e-07_rb,1.20287e-07_rb /) raylao(:,4) = (/ & & 1.48247e-07_rb,1.99958e-07_rb,2.18048e-07_rb,1.93896e-07_rb, & & 1.83125e-07_rb,1.73244e-07_rb,1.64320e-07_rb,1.58298e-07_rb, & & 1.48428e-07_rb,1.44769e-07_rb,1.43704e-07_rb,1.38498e-07_rb, & & 1.31732e-07_rb,1.22299e-07_rb,1.19921e-07_rb,1.20287e-07_rb /) raylao(:,5) = (/ & & 1.51343e-07_rb,1.99621e-07_rb,2.14563e-07_rb,1.93824e-07_rb, & & 1.82992e-07_rb,1.73143e-07_rb,1.64587e-07_rb,1.57355e-07_rb, & & 1.51198e-07_rb,1.46373e-07_rb,1.45438e-07_rb,1.38095e-07_rb, & & 1.35026e-07_rb,1.27504e-07_rb,1.19921e-07_rb,1.20287e-07_rb /) raylao(:,6) = (/ & & 1.54462e-07_rb,1.97610e-07_rb,2.11992e-07_rb,1.93831e-07_rb, & & 1.83900e-07_rb,1.73125e-07_rb,1.64093e-07_rb,1.57651e-07_rb, & & 1.53158e-07_rb,1.46843e-07_rb,1.44733e-07_rb,1.40611e-07_rb, & & 1.37320e-07_rb,1.33932e-07_rb,1.20423e-07_rb,1.20287e-07_rb /) raylao(:,7) = (/ & & 1.59068e-07_rb,1.92757e-07_rb,2.09865e-07_rb,1.95132e-07_rb, & & 1.83641e-07_rb,1.73778e-07_rb,1.63215e-07_rb,1.59462e-07_rb, & & 1.54331e-07_rb,1.46177e-07_rb,1.45819e-07_rb,1.43177e-07_rb, & & 1.39797e-07_rb,1.36780e-07_rb,1.33385e-07_rb,1.20287e-07_rb /) raylao(:,8) = (/ & & 1.62066e-07_rb,1.87529e-07_rb,2.07191e-07_rb,1.97788e-07_rb, & & 1.84920e-07_rb,1.72951e-07_rb,1.65450e-07_rb,1.60344e-07_rb, & & 1.54403e-07_rb,1.47679e-07_rb,1.47287e-07_rb,1.44951e-07_rb, & & 1.42517e-07_rb,1.41107e-07_rb,1.48688e-07_rb,1.51127e-07_rb /) raylao(:,9) = (/ & & 1.19177e-07_rb,1.86522e-07_rb,2.20324e-07_rb,2.13543e-07_rb, & & 1.92198e-07_rb,1.81641e-07_rb,1.70092e-07_rb,1.65072e-07_rb, & & 1.59804e-07_rb,1.56745e-07_rb,1.51235e-07_rb,1.51400e-07_rb, & & 1.49635e-07_rb,1.48056e-07_rb,1.49046e-07_rb,1.51010e-07_rb /) raylbo(:) = (/ & & 1.23766e-07_rb,1.40524e-07_rb,1.61610e-07_rb,1.83232e-07_rb, & & 2.02951e-07_rb,2.21367e-07_rb,2.38367e-07_rb,2.53019e-07_rb, & & 2.12202e-07_rb,1.36977e-07_rb,1.39118e-07_rb,1.37097e-07_rb, & & 1.33223e-07_rb,1.38695e-07_rb,1.19868e-07_rb,1.20062e-07_rb /) abso3ao(:) = (/ & & 8.03067e-02_rb,0.180926_rb ,0.227484_rb ,0.168015_rb , & & 0.138284_rb ,0.114537_rb ,9.50114e-02_rb,8.06816e-02_rb, & & 6.76406e-02_rb,5.69802e-02_rb,5.63283e-02_rb,4.57592e-02_rb, & & 4.21862e-02_rb,3.47949e-02_rb,2.65731e-02_rb,2.67628e-02_rb /) abso3bo(:) = (/ & & 2.94848e-02_rb,4.33642e-02_rb,6.70197e-02_rb,0.104990_rb , & & 0.156180_rb ,0.214638_rb ,0.266281_rb ,0.317941_rb , & & 0.355327_rb ,0.371241_rb ,0.374396_rb ,0.326847_rb , & & 0.126497_rb ,6.95264e-02_rb,2.58175e-02_rb,2.52862e-02_rb /) ! ------------------------------------------------------------------ ! The array KAO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels> ~100mb, temperatures, and binary ! species parameters (see taumol.f for definition). The first ! index in the array, JS, runs from 1 to 9, and corresponds to ! different values of the binary species parameter. For instance, ! JS=1 refers to dry air, JS = 2 corresponds to the paramter value 1/8, ! JS = 3 corresponds to the parameter value 2/8, etc. The second index ! in the array, JT, which runs from 1 to 5, corresponds to different ! temperatures. More specifically, JT = 3 means that the data are for ! the reference temperature TREF for this pressure level, JT = 2 refers ! to TREF-15, JT = 1 is for TREF-30, JT = 4 is for TREF+15, and JT = 5 ! is for TREF+30. The third index, JP, runs from 1 to 13 and refers ! to the JPth reference pressure level (see taumol.f for these levels ! in mb). The fourth index, IG, goes from 1 to 16, and indicates ! which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kao(:, 1, 1, 1) = (/ & & 0.73110e-09_rb,0.95257e-08_rb,0.84454e-08_rb,0.69367e-08_rb,0.55267e-08_rb, & & 0.41107e-08_rb,0.32800e-08_rb,0.33548e-08_rb,0.22111e-08_rb /) kao(:, 2, 1, 1) = (/ & & 0.71850e-09_rb,0.98856e-08_rb,0.88084e-08_rb,0.72442e-08_rb,0.57586e-08_rb, & & 0.43475e-08_rb,0.34021e-08_rb,0.32425e-08_rb,0.21911e-08_rb /) kao(:, 3, 1, 1) = (/ & & 0.57048e-09_rb,0.11944e-07_rb,0.10693e-07_rb,0.91787e-08_rb,0.75423e-08_rb, & & 0.56949e-08_rb,0.43124e-08_rb,0.42335e-08_rb,0.57788e-08_rb /) kao(:, 4, 1, 1) = (/ & & 0.45283e-09_rb,0.10517e-07_rb,0.93142e-08_rb,0.77267e-08_rb,0.61927e-08_rb, & & 0.47485e-08_rb,0.34557e-08_rb,0.32691e-08_rb,0.21836e-08_rb /) kao(:, 5, 1, 1) = (/ & & 0.40037e-09_rb,0.10599e-07_rb,0.93529e-08_rb,0.78411e-08_rb,0.63421e-08_rb, & & 0.49082e-08_rb,0.36312e-08_rb,0.32874e-08_rb,0.21861e-08_rb /) kao(:, 1, 2, 1) = (/ & & 0.77671e-09_rb,0.11163e-07_rb,0.95032e-08_rb,0.79805e-08_rb,0.60721e-08_rb, & & 0.45440e-08_rb,0.31263e-08_rb,0.28631e-08_rb,0.19430e-08_rb /) kao(:, 2, 2, 1) = (/ & & 0.85527e-09_rb,0.11271e-07_rb,0.97269e-08_rb,0.82280e-08_rb,0.62706e-08_rb, & & 0.47926e-08_rb,0.32802e-08_rb,0.28152e-08_rb,0.19155e-08_rb /) kao(:, 3, 2, 1) = (/ & & 0.85773e-09_rb,0.13292e-07_rb,0.11943e-07_rb,0.10177e-07_rb,0.81637e-08_rb, & & 0.62054e-08_rb,0.44045e-08_rb,0.35504e-08_rb,0.48274e-08_rb /) kao(:, 4, 2, 1) = (/ & & 0.76956e-09_rb,0.13343e-07_rb,0.12140e-07_rb,0.10403e-07_rb,0.83916e-08_rb, & & 0.64414e-08_rb,0.46212e-08_rb,0.36611e-08_rb,0.46523e-08_rb /) kao(:, 5, 2, 1) = (/ & & 0.53187e-09_rb,0.11759e-07_rb,0.10564e-07_rb,0.89416e-08_rb,0.69566e-08_rb, & & 0.54336e-08_rb,0.36797e-08_rb,0.28238e-08_rb,0.18838e-08_rb /) kao(:, 1, 3, 1) = (/ & & 0.99065e-09_rb,0.13223e-07_rb,0.11222e-07_rb,0.94282e-08_rb,0.74664e-08_rb, & & 0.54084e-08_rb,0.35205e-08_rb,0.24806e-08_rb,0.20205e-08_rb /) kao(:, 2, 3, 1) = (/ & & 0.98793e-09_rb,0.13673e-07_rb,0.11444e-07_rb,0.96735e-08_rb,0.76364e-08_rb, & & 0.55809e-08_rb,0.37259e-08_rb,0.25419e-08_rb,0.20086e-08_rb /) kao(:, 3, 3, 1) = (/ & & 0.10274e-08_rb,0.14243e-07_rb,0.12051e-07_rb,0.10168e-07_rb,0.80110e-08_rb, & & 0.59129e-08_rb,0.38720e-08_rb,0.26806e-08_rb,0.19959e-08_rb /) kao(:, 4, 3, 1) = (/ & & 0.10879e-08_rb,0.15991e-07_rb,0.14290e-07_rb,0.12193e-07_rb,0.99943e-08_rb, & & 0.76411e-08_rb,0.49949e-08_rb,0.32117e-08_rb,0.45196e-08_rb /) kao(:, 5, 3, 1) = (/ & & 0.10733e-08_rb,0.14460e-07_rb,0.12483e-07_rb,0.10703e-07_rb,0.84924e-08_rb, & & 0.62896e-08_rb,0.42753e-08_rb,0.27408e-08_rb,0.19679e-08_rb /) kao(:, 1, 4, 1) = (/ & & 0.11948e-08_rb,0.15804e-07_rb,0.13423e-07_rb,0.10964e-07_rb,0.86345e-08_rb, & & 0.61421e-08_rb,0.39130e-08_rb,0.24271e-08_rb,0.26282e-08_rb /) kao(:, 2, 4, 1) = (/ & & 0.12796e-08_rb,0.16985e-07_rb,0.14121e-07_rb,0.11784e-07_rb,0.93415e-08_rb, & & 0.67310e-08_rb,0.43124e-08_rb,0.25170e-08_rb,0.26033e-08_rb /) kao(:, 3, 4, 1) = (/ & & 0.12903e-08_rb,0.17863e-07_rb,0.14703e-07_rb,0.12387e-07_rb,0.99243e-08_rb, & & 0.72283e-08_rb,0.46892e-08_rb,0.26092e-08_rb,0.25739e-08_rb /) kao(:, 4, 4, 1) = (/ & & 0.13030e-08_rb,0.17982e-07_rb,0.14488e-07_rb,0.12389e-07_rb,0.10284e-07_rb, & & 0.76192e-08_rb,0.50049e-08_rb,0.27184e-08_rb,0.25450e-08_rb /) kao(:, 5, 4, 1) = (/ & & 0.13295e-08_rb,0.20084e-07_rb,0.17213e-07_rb,0.15086e-07_rb,0.12255e-07_rb, & & 0.93192e-08_rb,0.61747e-08_rb,0.34151e-08_rb,0.50409e-08_rb /) kao(:, 1, 5, 1) = (/ & & 0.14930e-08_rb,0.19740e-07_rb,0.16353e-07_rb,0.13382e-07_rb,0.10370e-07_rb, & & 0.76167e-08_rb,0.46913e-08_rb,0.23740e-08_rb,0.37254e-08_rb /) kao(:, 2, 5, 1) = (/ & & 0.15750e-08_rb,0.20826e-07_rb,0.17352e-07_rb,0.14080e-07_rb,0.11109e-07_rb, & & 0.82293e-08_rb,0.51142e-08_rb,0.25900e-08_rb,0.36977e-08_rb /) kao(:, 3, 5, 1) = (/ & & 0.16427e-08_rb,0.22313e-07_rb,0.18005e-07_rb,0.14545e-07_rb,0.11545e-07_rb, & & 0.85987e-08_rb,0.53849e-08_rb,0.27523e-08_rb,0.36628e-08_rb /) kao(:, 4, 5, 1) = (/ & & 0.17106e-08_rb,0.23821e-07_rb,0.18882e-07_rb,0.15226e-07_rb,0.12313e-07_rb, & & 0.92367e-08_rb,0.58646e-08_rb,0.29020e-08_rb,0.36336e-08_rb /) kao(:, 5, 5, 1) = (/ & & 0.17465e-08_rb,0.26750e-07_rb,0.22103e-07_rb,0.18690e-07_rb,0.15320e-07_rb, & & 0.11508e-07_rb,0.77281e-08_rb,0.34929e-08_rb,0.69801e-08_rb /) kao(:, 1, 6, 1) = (/ & & 0.17561e-08_rb,0.17298e-07_rb,0.18888e-07_rb,0.16164e-07_rb,0.12676e-07_rb, & & 0.91128e-08_rb,0.57292e-08_rb,0.25945e-08_rb,0.52718e-08_rb /) kao(:, 2, 6, 1) = (/ & & 0.19997e-08_rb,0.20866e-07_rb,0.20612e-07_rb,0.17467e-07_rb,0.13431e-07_rb, & & 0.96178e-08_rb,0.60009e-08_rb,0.28959e-08_rb,0.52609e-08_rb /) kao(:, 3, 6, 1) = (/ & & 0.21808e-08_rb,0.24689e-07_rb,0.22590e-07_rb,0.18672e-07_rb,0.14573e-07_rb, & & 0.10599e-07_rb,0.66802e-08_rb,0.31104e-08_rb,0.52649e-08_rb /) kao(:, 4, 6, 1) = (/ & & 0.22321e-08_rb,0.28043e-07_rb,0.23802e-07_rb,0.19473e-07_rb,0.15182e-07_rb, & & 0.11372e-07_rb,0.73223e-08_rb,0.34820e-08_rb,0.52977e-08_rb /) kao(:, 5, 6, 1) = (/ & & 0.23033e-08_rb,0.30784e-07_rb,0.25188e-07_rb,0.20376e-07_rb,0.16019e-07_rb, & & 0.12009e-07_rb,0.77933e-08_rb,0.37322e-08_rb,0.52777e-08_rb /) kao(:, 1, 7, 1) = (/ & & 0.22679e-08_rb,0.13507e-07_rb,0.20320e-07_rb,0.19549e-07_rb,0.15905e-07_rb, & & 0.11277e-07_rb,0.68710e-08_rb,0.29328e-08_rb,0.79703e-08_rb /) kao(:, 2, 7, 1) = (/ & & 0.25718e-08_rb,0.16957e-07_rb,0.24375e-07_rb,0.21175e-07_rb,0.17080e-07_rb, & & 0.12233e-07_rb,0.77114e-08_rb,0.34113e-08_rb,0.79963e-08_rb /) kao(:, 3, 7, 1) = (/ & & 0.27598e-08_rb,0.19896e-07_rb,0.28092e-07_rb,0.23059e-07_rb,0.18272e-07_rb, & & 0.13117e-07_rb,0.84449e-08_rb,0.37817e-08_rb,0.79824e-08_rb /) kao(:, 4, 7, 1) = (/ & & 0.28979e-08_rb,0.22997e-07_rb,0.29556e-07_rb,0.24211e-07_rb,0.19134e-07_rb, & & 0.13799e-07_rb,0.90980e-08_rb,0.41849e-08_rb,0.79622e-08_rb /) kao(:, 5, 7, 1) = (/ & & 0.31158e-08_rb,0.26193e-07_rb,0.32426e-07_rb,0.25685e-07_rb,0.19970e-07_rb, & & 0.14504e-07_rb,0.96379e-08_rb,0.45034e-08_rb,0.78914e-08_rb /) kao(:, 1, 8, 1) = (/ & & 0.27286e-08_rb,0.10085e-07_rb,0.15014e-07_rb,0.19090e-07_rb,0.19831e-07_rb, & & 0.15054e-07_rb,0.91059e-08_rb,0.39324e-08_rb,0.14155e-07_rb /) kao(:, 2, 8, 1) = (/ & & 0.30146e-08_rb,0.12680e-07_rb,0.19259e-07_rb,0.23896e-07_rb,0.21584e-07_rb, & & 0.16217e-07_rb,0.99712e-08_rb,0.44108e-08_rb,0.14243e-07_rb /) kao(:, 3, 8, 1) = (/ & & 0.35571e-08_rb,0.15989e-07_rb,0.23328e-07_rb,0.28003e-07_rb,0.22999e-07_rb, & & 0.17316e-07_rb,0.10856e-07_rb,0.49279e-08_rb,0.13770e-07_rb /) kao(:, 4, 8, 1) = (/ & & 0.40065e-08_rb,0.19481e-07_rb,0.27247e-07_rb,0.30922e-07_rb,0.24592e-07_rb, & & 0.18005e-07_rb,0.11331e-07_rb,0.53242e-08_rb,0.13758e-07_rb /) kao(:, 5, 8, 1) = (/ & & 0.44047e-08_rb,0.23368e-07_rb,0.31337e-07_rb,0.33478e-07_rb,0.26467e-07_rb, & & 0.19093e-07_rb,0.12194e-07_rb,0.56088e-08_rb,0.13665e-07_rb /) kao(:, 1, 9, 1) = (/ & & 0.32692e-08_rb,0.79127e-08_rb,0.11108e-07_rb,0.13962e-07_rb,0.15949e-07_rb, & & 0.18125e-07_rb,0.12367e-07_rb,0.53666e-08_rb,0.28048e-07_rb /) kao(:, 2, 9, 1) = (/ & & 0.39872e-08_rb,0.10056e-07_rb,0.14185e-07_rb,0.17838e-07_rb,0.20262e-07_rb, & & 0.19824e-07_rb,0.13459e-07_rb,0.59111e-08_rb,0.29491e-07_rb /) kao(:, 3, 9, 1) = (/ & & 0.46117e-08_rb,0.12472e-07_rb,0.17902e-07_rb,0.22130e-07_rb,0.25362e-07_rb, & & 0.21745e-07_rb,0.14226e-07_rb,0.62741e-08_rb,0.30373e-07_rb /) kao(:, 4, 9, 1) = (/ & & 0.52024e-08_rb,0.15275e-07_rb,0.21923e-07_rb,0.27295e-07_rb,0.30210e-07_rb, & & 0.23240e-07_rb,0.15087e-07_rb,0.66869e-08_rb,0.31196e-07_rb /) kao(:, 5, 9, 1) = (/ & & 0.56198e-08_rb,0.17975e-07_rb,0.26684e-07_rb,0.30762e-07_rb,0.34012e-07_rb, & & 0.25509e-07_rb,0.16208e-07_rb,0.72951e-08_rb,0.31583e-07_rb /) kao(:, 1,10, 1) = (/ & & 0.48178e-08_rb,0.70531e-08_rb,0.93321e-08_rb,0.10834e-07_rb,0.12386e-07_rb, & & 0.13718e-07_rb,0.14795e-07_rb,0.73464e-08_rb,0.35934e-07_rb /) kao(:, 2,10, 1) = (/ & & 0.55752e-08_rb,0.86985e-08_rb,0.11492e-07_rb,0.13823e-07_rb,0.15291e-07_rb, & & 0.17278e-07_rb,0.18153e-07_rb,0.81439e-08_rb,0.37177e-07_rb /) kao(:, 3,10, 1) = (/ & & 0.63274e-08_rb,0.10735e-07_rb,0.13985e-07_rb,0.17136e-07_rb,0.19303e-07_rb, & & 0.20940e-07_rb,0.20044e-07_rb,0.88008e-08_rb,0.38431e-07_rb /) kao(:, 4,10, 1) = (/ & & 0.70007e-08_rb,0.12858e-07_rb,0.17195e-07_rb,0.20946e-07_rb,0.23543e-07_rb, & & 0.25732e-07_rb,0.21748e-07_rb,0.95846e-08_rb,0.39768e-07_rb /) kao(:, 5,10, 1) = (/ & & 0.75858e-08_rb,0.15576e-07_rb,0.20803e-07_rb,0.25331e-07_rb,0.28222e-07_rb, & & 0.30974e-07_rb,0.23346e-07_rb,0.10532e-07_rb,0.41126e-07_rb /) kao(:, 1,11, 1) = (/ & & 0.71066e-08_rb,0.91105e-08_rb,0.91823e-08_rb,0.10078e-07_rb,0.11080e-07_rb, & & 0.11808e-07_rb,0.12592e-07_rb,0.10585e-07_rb,0.36646e-07_rb /) kao(:, 2,11, 1) = (/ & & 0.75651e-08_rb,0.10196e-07_rb,0.11288e-07_rb,0.12341e-07_rb,0.13264e-07_rb, & & 0.14635e-07_rb,0.15304e-07_rb,0.12113e-07_rb,0.37821e-07_rb /) kao(:, 3,11, 1) = (/ & & 0.84521e-08_rb,0.11641e-07_rb,0.13494e-07_rb,0.15134e-07_rb,0.16494e-07_rb, & & 0.17667e-07_rb,0.18637e-07_rb,0.13998e-07_rb,0.39151e-07_rb /) kao(:, 4,11, 1) = (/ & & 0.96535e-08_rb,0.13091e-07_rb,0.16210e-07_rb,0.18132e-07_rb,0.20108e-07_rb, & & 0.21506e-07_rb,0.22578e-07_rb,0.15372e-07_rb,0.40534e-07_rb /) kao(:, 5,11, 1) = (/ & & 0.10866e-07_rb,0.15259e-07_rb,0.19222e-07_rb,0.21816e-07_rb,0.23808e-07_rb, & & 0.25779e-07_rb,0.26640e-07_rb,0.16560e-07_rb,0.41783e-07_rb /) kao(:, 1,12, 1) = (/ & & 0.80834e-08_rb,0.10420e-07_rb,0.92387e-08_rb,0.95448e-08_rb,0.10004e-07_rb, & & 0.10210e-07_rb,0.10715e-07_rb,0.12956e-07_rb,0.37307e-07_rb /) kao(:, 2,12, 1) = (/ & & 0.93300e-08_rb,0.11721e-07_rb,0.10935e-07_rb,0.11240e-07_rb,0.12099e-07_rb, & & 0.12529e-07_rb,0.12978e-07_rb,0.14968e-07_rb,0.38619e-07_rb /) kao(:, 3,12, 1) = (/ & & 0.10509e-07_rb,0.12830e-07_rb,0.12793e-07_rb,0.13649e-07_rb,0.14634e-07_rb, & & 0.15024e-07_rb,0.15635e-07_rb,0.17087e-07_rb,0.40001e-07_rb /) kao(:, 4,12, 1) = (/ & & 0.11973e-07_rb,0.14173e-07_rb,0.14811e-07_rb,0.16236e-07_rb,0.17652e-07_rb, & & 0.18139e-07_rb,0.18897e-07_rb,0.19167e-07_rb,0.41426e-07_rb /) kao(:, 5,12, 1) = (/ & & 0.13412e-07_rb,0.16145e-07_rb,0.17438e-07_rb,0.18946e-07_rb,0.20873e-07_rb, & & 0.21649e-07_rb,0.22446e-07_rb,0.20222e-07_rb,0.42866e-07_rb /) kao(:, 1,13, 1) = (/ & & 0.96752e-08_rb,0.12525e-07_rb,0.10944e-07_rb,0.96402e-08_rb,0.92613e-08_rb, & & 0.89183e-08_rb,0.91757e-08_rb,0.10962e-07_rb,0.37700e-07_rb /) kao(:, 2,13, 1) = (/ & & 0.10573e-07_rb,0.14013e-07_rb,0.12095e-07_rb,0.11243e-07_rb,0.11108e-07_rb, & & 0.10880e-07_rb,0.11099e-07_rb,0.12700e-07_rb,0.39054e-07_rb /) kao(:, 3,13, 1) = (/ & & 0.12096e-07_rb,0.15476e-07_rb,0.13719e-07_rb,0.13357e-07_rb,0.13060e-07_rb, & & 0.13122e-07_rb,0.13232e-07_rb,0.14320e-07_rb,0.40767e-07_rb /) kao(:, 4,13, 1) = (/ & & 0.13461e-07_rb,0.16674e-07_rb,0.15454e-07_rb,0.15611e-07_rb,0.15616e-07_rb, & & 0.15505e-07_rb,0.16233e-07_rb,0.16510e-07_rb,0.42192e-07_rb /) kao(:, 5,13, 1) = (/ & & 0.14863e-07_rb,0.17307e-07_rb,0.17245e-07_rb,0.18041e-07_rb,0.18314e-07_rb, & & 0.18445e-07_rb,0.19222e-07_rb,0.18635e-07_rb,0.43353e-07_rb /) kao(:, 1, 1, 2) = (/ & & 0.11698e-08_rb,0.30848e-07_rb,0.36454e-07_rb,0.38710e-07_rb,0.45901e-07_rb, & & 0.55227e-07_rb,0.66976e-07_rb,0.88407e-07_rb,0.23422e-07_rb /) kao(:, 2, 1, 2) = (/ & & 0.11855e-08_rb,0.31924e-07_rb,0.37139e-07_rb,0.40576e-07_rb,0.48515e-07_rb, & & 0.57453e-07_rb,0.68267e-07_rb,0.87661e-07_rb,0.23548e-07_rb /) kao(:, 3, 1, 2) = (/ & & 0.14595e-08_rb,0.39594e-07_rb,0.49562e-07_rb,0.62806e-07_rb,0.77187e-07_rb, & & 0.93412e-07_rb,0.11204e-06_rb,0.13944e-06_rb,0.36327e-07_rb /) kao(:, 4, 1, 2) = (/ & & 0.16033e-08_rb,0.32903e-07_rb,0.39616e-07_rb,0.43600e-07_rb,0.51878e-07_rb, & & 0.61189e-07_rb,0.71838e-07_rb,0.88579e-07_rb,0.23754e-07_rb /) kao(:, 5, 1, 2) = (/ & & 0.16713e-08_rb,0.33816e-07_rb,0.40271e-07_rb,0.44761e-07_rb,0.53112e-07_rb, & & 0.62817e-07_rb,0.73214e-07_rb,0.89918e-07_rb,0.23712e-07_rb /) kao(:, 1, 2, 2) = (/ & & 0.14413e-08_rb,0.29542e-07_rb,0.33672e-07_rb,0.38233e-07_rb,0.38429e-07_rb, & & 0.45175e-07_rb,0.55138e-07_rb,0.73579e-07_rb,0.25050e-07_rb /) kao(:, 2, 2, 2) = (/ & & 0.13819e-08_rb,0.33839e-07_rb,0.35660e-07_rb,0.39637e-07_rb,0.40862e-07_rb, & & 0.47496e-07_rb,0.56716e-07_rb,0.72256e-07_rb,0.25722e-07_rb /) kao(:, 3, 2, 2) = (/ & & 0.14034e-08_rb,0.38888e-07_rb,0.49224e-07_rb,0.54694e-07_rb,0.64529e-07_rb, & & 0.76758e-07_rb,0.91615e-07_rb,0.11521e-06_rb,0.39473e-07_rb /) kao(:, 4, 2, 2) = (/ & & 0.15427e-08_rb,0.40736e-07_rb,0.49562e-07_rb,0.55626e-07_rb,0.65520e-07_rb, & & 0.77421e-07_rb,0.92434e-07_rb,0.11487e-06_rb,0.39089e-07_rb /) kao(:, 5, 2, 2) = (/ & & 0.19146e-08_rb,0.37020e-07_rb,0.37998e-07_rb,0.40828e-07_rb,0.46417e-07_rb, & & 0.52511e-07_rb,0.60306e-07_rb,0.73583e-07_rb,0.26882e-07_rb /) kao(:, 1, 3, 2) = (/ & & 0.16720e-08_rb,0.23360e-07_rb,0.34106e-07_rb,0.35883e-07_rb,0.37371e-07_rb, & & 0.37719e-07_rb,0.44564e-07_rb,0.59521e-07_rb,0.60171e-07_rb /) kao(:, 2, 3, 2) = (/ & & 0.17699e-08_rb,0.26546e-07_rb,0.36000e-07_rb,0.36846e-07_rb,0.38381e-07_rb, & & 0.39667e-07_rb,0.46368e-07_rb,0.60306e-07_rb,0.60604e-07_rb /) kao(:, 3, 3, 2) = (/ & & 0.18009e-08_rb,0.29450e-07_rb,0.37614e-07_rb,0.38630e-07_rb,0.39041e-07_rb, & & 0.41600e-07_rb,0.48142e-07_rb,0.59638e-07_rb,0.61274e-07_rb /) kao(:, 4, 3, 2) = (/ & & 0.18222e-08_rb,0.39219e-07_rb,0.48109e-07_rb,0.53485e-07_rb,0.57150e-07_rb, & & 0.64444e-07_rb,0.75574e-07_rb,0.94813e-07_rb,0.76759e-07_rb /) kao(:, 5, 3, 2) = (/ & & 0.18210e-08_rb,0.34020e-07_rb,0.40366e-07_rb,0.41710e-07_rb,0.42164e-07_rb, & & 0.45001e-07_rb,0.49878e-07_rb,0.60009e-07_rb,0.61481e-07_rb /) kao(:, 1, 4, 2) = (/ & & 0.21152e-08_rb,0.23706e-07_rb,0.29784e-07_rb,0.35302e-07_rb,0.35282e-07_rb, & & 0.34361e-07_rb,0.35938e-07_rb,0.47065e-07_rb,0.17050e-06_rb /) kao(:, 2, 4, 2) = (/ & & 0.22014e-08_rb,0.24318e-07_rb,0.33239e-07_rb,0.37390e-07_rb,0.36975e-07_rb, & & 0.35774e-07_rb,0.38207e-07_rb,0.49025e-07_rb,0.17312e-06_rb /) kao(:, 3, 4, 2) = (/ & & 0.21940e-08_rb,0.26005e-07_rb,0.37067e-07_rb,0.38353e-07_rb,0.38894e-07_rb, & & 0.37527e-07_rb,0.40105e-07_rb,0.50082e-07_rb,0.17777e-06_rb /) kao(:, 4, 4, 2) = (/ & & 0.23140e-08_rb,0.28378e-07_rb,0.41743e-07_rb,0.40523e-07_rb,0.40492e-07_rb, & & 0.38652e-07_rb,0.40876e-07_rb,0.49640e-07_rb,0.18336e-06_rb /) kao(:, 5, 4, 2) = (/ & & 0.23213e-08_rb,0.34154e-07_rb,0.50461e-07_rb,0.52357e-07_rb,0.54187e-07_rb, & & 0.57113e-07_rb,0.62843e-07_rb,0.77605e-07_rb,0.21695e-06_rb /) kao(:, 1, 5, 2) = (/ & & 0.26738e-08_rb,0.26329e-07_rb,0.23971e-07_rb,0.31112e-07_rb,0.35671e-07_rb, & & 0.34087e-07_rb,0.29799e-07_rb,0.37789e-07_rb,0.52514e-06_rb /) kao(:, 2, 5, 2) = (/ & & 0.25455e-08_rb,0.28564e-07_rb,0.26376e-07_rb,0.34876e-07_rb,0.38195e-07_rb, & & 0.36126e-07_rb,0.31889e-07_rb,0.38787e-07_rb,0.53894e-06_rb /) kao(:, 3, 5, 2) = (/ & & 0.27955e-08_rb,0.30168e-07_rb,0.29598e-07_rb,0.39256e-07_rb,0.39488e-07_rb, & & 0.38121e-07_rb,0.34110e-07_rb,0.40225e-07_rb,0.55617e-06_rb /) kao(:, 4, 5, 2) = (/ & & 0.30518e-08_rb,0.31696e-07_rb,0.32642e-07_rb,0.43581e-07_rb,0.40810e-07_rb, & & 0.38887e-07_rb,0.35568e-07_rb,0.41837e-07_rb,0.57141e-06_rb /) kao(:, 5, 5, 2) = (/ & & 0.29545e-08_rb,0.34626e-07_rb,0.42873e-07_rb,0.52742e-07_rb,0.53043e-07_rb, & & 0.52428e-07_rb,0.54304e-07_rb,0.64247e-07_rb,0.63906e-06_rb /) kao(:, 1, 6, 2) = (/ & & 0.30127e-08_rb,0.42606e-07_rb,0.28980e-07_rb,0.24923e-07_rb,0.29265e-07_rb, & & 0.34534e-07_rb,0.31090e-07_rb,0.30814e-07_rb,0.12844e-05_rb /) kao(:, 2, 6, 2) = (/ & & 0.33504e-08_rb,0.42102e-07_rb,0.30491e-07_rb,0.27666e-07_rb,0.33477e-07_rb, & & 0.35643e-07_rb,0.33324e-07_rb,0.31448e-07_rb,0.13231e-05_rb /) kao(:, 3, 6, 2) = (/ & & 0.37714e-08_rb,0.40516e-07_rb,0.32080e-07_rb,0.30623e-07_rb,0.37391e-07_rb, & & 0.37255e-07_rb,0.35144e-07_rb,0.32296e-07_rb,0.13598e-05_rb /) kao(:, 4, 6, 2) = (/ & & 0.40809e-08_rb,0.41419e-07_rb,0.33638e-07_rb,0.33756e-07_rb,0.41072e-07_rb, & & 0.38814e-07_rb,0.36264e-07_rb,0.33664e-07_rb,0.13955e-05_rb /) kao(:, 5, 6, 2) = (/ & & 0.38112e-08_rb,0.42764e-07_rb,0.35694e-07_rb,0.36747e-07_rb,0.45193e-07_rb, & & 0.40460e-07_rb,0.37371e-07_rb,0.35107e-07_rb,0.14282e-05_rb /) kao(:, 1, 7, 2) = (/ & & 0.36577e-08_rb,0.64857e-07_rb,0.37268e-07_rb,0.28977e-07_rb,0.24480e-07_rb, & & 0.26864e-07_rb,0.30486e-07_rb,0.25122e-07_rb,0.20521e-05_rb /) kao(:, 2, 7, 2) = (/ & & 0.39427e-08_rb,0.65731e-07_rb,0.37248e-07_rb,0.30585e-07_rb,0.26773e-07_rb, & & 0.30114e-07_rb,0.31576e-07_rb,0.26187e-07_rb,0.21480e-05_rb /) kao(:, 3, 7, 2) = (/ & & 0.43811e-08_rb,0.66809e-07_rb,0.38170e-07_rb,0.32043e-07_rb,0.28837e-07_rb, & & 0.34005e-07_rb,0.32765e-07_rb,0.27322e-07_rb,0.22122e-05_rb /) kao(:, 4, 7, 2) = (/ & & 0.46591e-08_rb,0.68244e-07_rb,0.41020e-07_rb,0.34183e-07_rb,0.31347e-07_rb, & & 0.37946e-07_rb,0.34473e-07_rb,0.28264e-07_rb,0.22876e-05_rb /) kao(:, 5, 7, 2) = (/ & & 0.51635e-08_rb,0.69768e-07_rb,0.42241e-07_rb,0.36125e-07_rb,0.34689e-07_rb, & & 0.41422e-07_rb,0.36208e-07_rb,0.29319e-07_rb,0.23528e-05_rb /) kao(:, 1, 8, 2) = (/ & & 0.48063e-08_rb,0.99492e-07_rb,0.67977e-07_rb,0.40583e-07_rb,0.27462e-07_rb, & & 0.23261e-07_rb,0.24790e-07_rb,0.24175e-07_rb,0.34404e-05_rb /) kao(:, 2, 8, 2) = (/ & & 0.46794e-08_rb,0.10207e-06_rb,0.68838e-07_rb,0.41170e-07_rb,0.30068e-07_rb, & & 0.24536e-07_rb,0.27696e-07_rb,0.25318e-07_rb,0.35579e-05_rb /) kao(:, 3, 8, 2) = (/ & & 0.51560e-08_rb,0.10436e-06_rb,0.69782e-07_rb,0.42105e-07_rb,0.32065e-07_rb, & & 0.26776e-07_rb,0.30613e-07_rb,0.26859e-07_rb,0.36807e-05_rb /) kao(:, 4, 8, 2) = (/ & & 0.59944e-08_rb,0.10484e-06_rb,0.71027e-07_rb,0.44319e-07_rb,0.34843e-07_rb, & & 0.29788e-07_rb,0.33876e-07_rb,0.28922e-07_rb,0.37740e-05_rb /) kao(:, 5, 8, 2) = (/ & & 0.64682e-08_rb,0.10541e-06_rb,0.71736e-07_rb,0.46124e-07_rb,0.36934e-07_rb, & & 0.32173e-07_rb,0.36502e-07_rb,0.30991e-07_rb,0.38805e-05_rb /) kao(:, 1, 9, 2) = (/ & & 0.56433e-08_rb,0.13757e-06_rb,0.10641e-06_rb,0.72870e-07_rb,0.43453e-07_rb, & & 0.25530e-07_rb,0.19778e-07_rb,0.25383e-07_rb,0.95912e-05_rb /) kao(:, 2, 9, 2) = (/ & & 0.61882e-08_rb,0.14041e-06_rb,0.11046e-06_rb,0.75424e-07_rb,0.44204e-07_rb, & & 0.28513e-07_rb,0.22344e-07_rb,0.27258e-07_rb,0.98257e-05_rb /) kao(:, 3, 9, 2) = (/ & & 0.68724e-08_rb,0.14355e-06_rb,0.11272e-06_rb,0.76977e-07_rb,0.44934e-07_rb, & & 0.30972e-07_rb,0.24609e-07_rb,0.29074e-07_rb,0.10035e-04_rb /) kao(:, 4, 9, 2) = (/ & & 0.75288e-08_rb,0.14628e-06_rb,0.11397e-06_rb,0.77508e-07_rb,0.45913e-07_rb, & & 0.33498e-07_rb,0.27308e-07_rb,0.31237e-07_rb,0.10206e-04_rb /) kao(:, 5, 9, 2) = (/ & & 0.82361e-08_rb,0.14989e-06_rb,0.11575e-06_rb,0.78052e-07_rb,0.47282e-07_rb, & & 0.34986e-07_rb,0.29571e-07_rb,0.31933e-07_rb,0.10332e-04_rb /) kao(:, 1,10, 2) = (/ & & 0.80705e-08_rb,0.18916e-06_rb,0.16332e-06_rb,0.12182e-06_rb,0.80167e-07_rb, & & 0.44659e-07_rb,0.24027e-07_rb,0.20514e-07_rb,0.18076e-04_rb /) kao(:, 2,10, 2) = (/ & & 0.86522e-08_rb,0.19825e-06_rb,0.16839e-06_rb,0.12817e-06_rb,0.85984e-07_rb, & & 0.48117e-07_rb,0.24937e-07_rb,0.22855e-07_rb,0.18392e-04_rb /) kao(:, 3,10, 2) = (/ & & 0.93838e-08_rb,0.20474e-06_rb,0.17472e-06_rb,0.13185e-06_rb,0.89897e-07_rb, & & 0.50484e-07_rb,0.27069e-07_rb,0.24729e-07_rb,0.18827e-04_rb /) kao(:, 4,10, 2) = (/ & & 0.10442e-07_rb,0.21110e-06_rb,0.17958e-06_rb,0.13546e-06_rb,0.92462e-07_rb, & & 0.51368e-07_rb,0.29958e-07_rb,0.26382e-07_rb,0.19325e-04_rb /) kao(:, 5,10, 2) = (/ & & 0.11203e-07_rb,0.21676e-06_rb,0.18359e-06_rb,0.14012e-06_rb,0.94090e-07_rb, & & 0.51431e-07_rb,0.32637e-07_rb,0.27900e-07_rb,0.19654e-04_rb /) kao(:, 1,11, 2) = (/ & & 0.10898e-07_rb,0.20490e-06_rb,0.23352e-06_rb,0.18592e-06_rb,0.13108e-06_rb, & & 0.82594e-07_rb,0.41478e-07_rb,0.20359e-07_rb,0.24656e-04_rb /) kao(:, 2,11, 2) = (/ & & 0.12100e-07_rb,0.21595e-06_rb,0.24259e-06_rb,0.19598e-06_rb,0.14307e-06_rb, & & 0.90287e-07_rb,0.44897e-07_rb,0.21400e-07_rb,0.25439e-04_rb /) kao(:, 3,11, 2) = (/ & & 0.12997e-07_rb,0.22559e-06_rb,0.25028e-06_rb,0.20624e-06_rb,0.15074e-06_rb, & & 0.95763e-07_rb,0.46972e-07_rb,0.22656e-07_rb,0.26128e-04_rb /) kao(:, 4,11, 2) = (/ & & 0.12774e-07_rb,0.23494e-06_rb,0.26130e-06_rb,0.21398e-06_rb,0.15730e-06_rb, & & 0.98985e-07_rb,0.48309e-07_rb,0.24026e-07_rb,0.26834e-04_rb /) kao(:, 5,11, 2) = (/ & & 0.13184e-07_rb,0.24219e-06_rb,0.26811e-06_rb,0.22059e-06_rb,0.16314e-06_rb, & & 0.10271e-06_rb,0.49802e-07_rb,0.25441e-07_rb,0.27644e-04_rb /) kao(:, 1,12, 2) = (/ & & 0.11394e-07_rb,0.19172e-06_rb,0.27076e-06_rb,0.23579e-06_rb,0.17648e-06_rb, & & 0.11366e-06_rb,0.56463e-07_rb,0.20869e-07_rb,0.27151e-04_rb /) kao(:, 2,12, 2) = (/ & & 0.12908e-07_rb,0.20309e-06_rb,0.28462e-06_rb,0.24753e-06_rb,0.18719e-06_rb, & & 0.12033e-06_rb,0.60157e-07_rb,0.21646e-07_rb,0.27962e-04_rb /) kao(:, 3,12, 2) = (/ & & 0.13752e-07_rb,0.21619e-06_rb,0.29476e-06_rb,0.25594e-06_rb,0.19641e-06_rb, & & 0.12734e-06_rb,0.64272e-07_rb,0.22557e-07_rb,0.28912e-04_rb /) kao(:, 4,12, 2) = (/ & & 0.14906e-07_rb,0.22665e-06_rb,0.30298e-06_rb,0.26272e-06_rb,0.20331e-06_rb, & & 0.13316e-06_rb,0.68243e-07_rb,0.23417e-07_rb,0.29816e-04_rb /) kao(:, 5,12, 2) = (/ & & 0.15969e-07_rb,0.23477e-06_rb,0.31068e-06_rb,0.27029e-06_rb,0.20850e-06_rb, & & 0.13902e-06_rb,0.71857e-07_rb,0.25264e-07_rb,0.30765e-04_rb /) kao(:, 1,13, 2) = (/ & & 0.13593e-07_rb,0.19801e-06_rb,0.26490e-06_rb,0.27826e-06_rb,0.22531e-06_rb, & & 0.15112e-06_rb,0.78691e-07_rb,0.27273e-07_rb,0.28055e-04_rb /) kao(:, 2,13, 2) = (/ & & 0.15426e-07_rb,0.20839e-06_rb,0.27732e-06_rb,0.28785e-06_rb,0.23371e-06_rb, & & 0.16027e-06_rb,0.86131e-07_rb,0.29011e-07_rb,0.29165e-04_rb /) kao(:, 3,13, 2) = (/ & & 0.16638e-07_rb,0.21808e-06_rb,0.28896e-06_rb,0.29666e-06_rb,0.24201e-06_rb, & & 0.16845e-06_rb,0.91791e-07_rb,0.30670e-07_rb,0.30372e-04_rb /) kao(:, 4,13, 2) = (/ & & 0.17929e-07_rb,0.22577e-06_rb,0.29798e-06_rb,0.30533e-06_rb,0.24895e-06_rb, & & 0.17573e-06_rb,0.96085e-07_rb,0.31360e-07_rb,0.31437e-04_rb /) kao(:, 5,13, 2) = (/ & & 0.18861e-07_rb,0.23397e-06_rb,0.30715e-06_rb,0.31382e-06_rb,0.25665e-06_rb, & & 0.18246e-06_rb,0.10017e-06_rb,0.32454e-07_rb,0.32266e-04_rb /) kao(:, 1, 1, 3) = (/ & & 0.39751e-08_rb,0.10094e-06_rb,0.20247e-06_rb,0.30028e-06_rb,0.39102e-06_rb, & & 0.48711e-06_rb,0.59106e-06_rb,0.72709e-06_rb,0.20885e-06_rb /) kao(:, 2, 1, 3) = (/ & & 0.43080e-08_rb,0.10546e-06_rb,0.20982e-06_rb,0.31135e-06_rb,0.40303e-06_rb, & & 0.49632e-06_rb,0.59855e-06_rb,0.74477e-06_rb,0.21012e-06_rb /) kao(:, 3, 1, 3) = (/ & & 0.42986e-08_rb,0.15269e-06_rb,0.29890e-06_rb,0.43493e-06_rb,0.56429e-06_rb, & & 0.69336e-06_rb,0.83181e-06_rb,0.10423e-05_rb,0.36557e-06_rb /) kao(:, 4, 1, 3) = (/ & & 0.43554e-08_rb,0.11271e-06_rb,0.22069e-06_rb,0.32651e-06_rb,0.42391e-06_rb, & & 0.51393e-06_rb,0.61294e-06_rb,0.75229e-06_rb,0.20945e-06_rb /) kao(:, 5, 1, 3) = (/ & & 0.45047e-08_rb,0.11576e-06_rb,0.22657e-06_rb,0.33173e-06_rb,0.43142e-06_rb, & & 0.52151e-06_rb,0.61871e-06_rb,0.74980e-06_rb,0.20891e-06_rb /) kao(:, 1, 2, 3) = (/ & & 0.46065e-08_rb,0.81519e-07_rb,0.15960e-06_rb,0.23610e-06_rb,0.31656e-06_rb, & & 0.39839e-06_rb,0.48591e-06_rb,0.60182e-06_rb,0.18230e-06_rb /) kao(:, 2, 2, 3) = (/ & & 0.46837e-08_rb,0.82106e-07_rb,0.16429e-06_rb,0.24471e-06_rb,0.32626e-06_rb, & & 0.40531e-06_rb,0.49330e-06_rb,0.61810e-06_rb,0.18355e-06_rb /) kao(:, 3, 2, 3) = (/ & & 0.50163e-08_rb,0.12328e-06_rb,0.23602e-06_rb,0.35332e-06_rb,0.46387e-06_rb, & & 0.57515e-06_rb,0.69445e-06_rb,0.88167e-06_rb,0.30546e-06_rb /) kao(:, 4, 2, 3) = (/ & & 0.49809e-08_rb,0.12454e-06_rb,0.23839e-06_rb,0.35429e-06_rb,0.46515e-06_rb, & & 0.57491e-06_rb,0.69031e-06_rb,0.86630e-06_rb,0.29807e-06_rb /) kao(:, 5, 2, 3) = (/ & & 0.51988e-08_rb,0.91291e-07_rb,0.17869e-06_rb,0.26485e-06_rb,0.34907e-06_rb, & & 0.42509e-06_rb,0.50894e-06_rb,0.62361e-06_rb,0.18234e-06_rb /) kao(:, 1, 3, 3) = (/ & & 0.51916e-08_rb,0.88867e-07_rb,0.12220e-06_rb,0.18411e-06_rb,0.24720e-06_rb, & & 0.32303e-06_rb,0.39526e-06_rb,0.49595e-06_rb,0.27125e-06_rb /) kao(:, 2, 3, 3) = (/ & & 0.56319e-08_rb,0.87189e-07_rb,0.12678e-06_rb,0.19176e-06_rb,0.25624e-06_rb, & & 0.32740e-06_rb,0.40564e-06_rb,0.50601e-06_rb,0.28010e-06_rb /) kao(:, 3, 3, 3) = (/ & & 0.59026e-08_rb,0.86017e-07_rb,0.13043e-06_rb,0.19649e-06_rb,0.26497e-06_rb, & & 0.33305e-06_rb,0.40679e-06_rb,0.51963e-06_rb,0.28660e-06_rb /) kao(:, 4, 3, 3) = (/ & & 0.59909e-08_rb,0.10759e-06_rb,0.18790e-06_rb,0.28104e-06_rb,0.37702e-06_rb, & & 0.47222e-06_rb,0.57322e-06_rb,0.72906e-06_rb,0.37657e-06_rb /) kao(:, 5, 3, 3) = (/ & & 0.64422e-08_rb,0.89472e-07_rb,0.13687e-06_rb,0.20453e-06_rb,0.27802e-06_rb, & & 0.34266e-06_rb,0.41565e-06_rb,0.51746e-06_rb,0.29675e-06_rb /) kao(:, 1, 4, 3) = (/ & & 0.62298e-08_rb,0.99509e-07_rb,0.10306e-06_rb,0.14232e-06_rb,0.19390e-06_rb, & & 0.25435e-06_rb,0.31764e-06_rb,0.40578e-06_rb,0.49031e-06_rb /) kao(:, 2, 4, 3) = (/ & & 0.68419e-08_rb,0.10415e-06_rb,0.10349e-06_rb,0.14672e-06_rb,0.19860e-06_rb, & & 0.26012e-06_rb,0.32720e-06_rb,0.41327e-06_rb,0.51522e-06_rb /) kao(:, 3, 4, 3) = (/ & & 0.71418e-08_rb,0.10626e-06_rb,0.10522e-06_rb,0.15175e-06_rb,0.20471e-06_rb, & & 0.26435e-06_rb,0.33148e-06_rb,0.42294e-06_rb,0.53456e-06_rb /) kao(:, 4, 4, 3) = (/ & & 0.72470e-08_rb,0.10891e-06_rb,0.10648e-06_rb,0.15457e-06_rb,0.21007e-06_rb, & & 0.26937e-06_rb,0.33376e-06_rb,0.42939e-06_rb,0.55207e-06_rb /) kao(:, 5, 4, 3) = (/ & & 0.77585e-08_rb,0.12954e-06_rb,0.14999e-06_rb,0.22224e-06_rb,0.29994e-06_rb, & & 0.38053e-06_rb,0.47027e-06_rb,0.60032e-06_rb,0.76592e-06_rb /) kao(:, 1, 5, 3) = (/ & & 0.68852e-08_rb,0.11288e-06_rb,0.11969e-06_rb,0.11689e-06_rb,0.14994e-06_rb, & & 0.19637e-06_rb,0.25309e-06_rb,0.33018e-06_rb,0.84551e-06_rb /) kao(:, 2, 5, 3) = (/ & & 0.75119e-08_rb,0.11838e-06_rb,0.12255e-06_rb,0.11926e-06_rb,0.15341e-06_rb, & & 0.20169e-06_rb,0.26231e-06_rb,0.33745e-06_rb,0.85714e-06_rb /) kao(:, 3, 5, 3) = (/ & & 0.84416e-08_rb,0.12128e-06_rb,0.12324e-06_rb,0.12015e-06_rb,0.15812e-06_rb, & & 0.20463e-06_rb,0.26808e-06_rb,0.34461e-06_rb,0.86734e-06_rb /) kao(:, 4, 5, 3) = (/ & & 0.92293e-08_rb,0.12493e-06_rb,0.12330e-06_rb,0.12093e-06_rb,0.16146e-06_rb, & & 0.20899e-06_rb,0.26904e-06_rb,0.35101e-06_rb,0.88204e-06_rb /) kao(:, 5, 5, 3) = (/ & & 0.10279e-07_rb,0.14631e-06_rb,0.14078e-06_rb,0.17511e-06_rb,0.23546e-06_rb, & & 0.30442e-06_rb,0.38374e-06_rb,0.50000e-06_rb,0.10431e-05_rb /) kao(:, 1, 6, 3) = (/ & & 0.51921e-08_rb,0.14437e-06_rb,0.12917e-06_rb,0.11673e-06_rb,0.12444e-06_rb, & & 0.14966e-06_rb,0.19338e-06_rb,0.26674e-06_rb,0.16987e-05_rb /) kao(:, 2, 6, 3) = (/ & & 0.69052e-08_rb,0.14822e-06_rb,0.13564e-06_rb,0.12080e-06_rb,0.12884e-06_rb, & & 0.15616e-06_rb,0.20083e-06_rb,0.27373e-06_rb,0.17147e-05_rb /) kao(:, 3, 6, 3) = (/ & & 0.93932e-08_rb,0.15309e-06_rb,0.13785e-06_rb,0.12361e-06_rb,0.12904e-06_rb, & & 0.16004e-06_rb,0.20790e-06_rb,0.27928e-06_rb,0.17384e-05_rb /) kao(:, 4, 6, 3) = (/ & & 0.10364e-07_rb,0.15577e-06_rb,0.14281e-06_rb,0.12445e-06_rb,0.13032e-06_rb, & & 0.16178e-06_rb,0.21225e-06_rb,0.28499e-06_rb,0.17733e-05_rb /) kao(:, 5, 6, 3) = (/ & & 0.10950e-07_rb,0.15768e-06_rb,0.14728e-06_rb,0.12674e-06_rb,0.12961e-06_rb, & & 0.16455e-06_rb,0.21080e-06_rb,0.28744e-06_rb,0.17869e-05_rb /) kao(:, 1, 7, 3) = (/ & & 0.51527e-08_rb,0.13331e-06_rb,0.15220e-06_rb,0.13781e-06_rb,0.11791e-06_rb, & & 0.12291e-06_rb,0.14839e-06_rb,0.21430e-06_rb,0.45802e-05_rb /) kao(:, 2, 7, 3) = (/ & & 0.52409e-08_rb,0.14109e-06_rb,0.15809e-06_rb,0.14393e-06_rb,0.12362e-06_rb, & & 0.12831e-06_rb,0.15572e-06_rb,0.22059e-06_rb,0.46088e-05_rb /) kao(:, 3, 7, 3) = (/ & & 0.66901e-08_rb,0.14833e-06_rb,0.16524e-06_rb,0.14893e-06_rb,0.12670e-06_rb, & & 0.13152e-06_rb,0.16110e-06_rb,0.22404e-06_rb,0.46200e-05_rb /) kao(:, 4, 7, 3) = (/ & & 0.90836e-08_rb,0.15267e-06_rb,0.17113e-06_rb,0.15541e-06_rb,0.12966e-06_rb, & & 0.13240e-06_rb,0.16410e-06_rb,0.22868e-06_rb,0.45999e-05_rb /) kao(:, 5, 7, 3) = (/ & & 0.11721e-07_rb,0.15605e-06_rb,0.17580e-06_rb,0.16064e-06_rb,0.13194e-06_rb, & & 0.13127e-06_rb,0.16676e-06_rb,0.23245e-06_rb,0.46103e-05_rb /) kao(:, 1, 8, 3) = (/ & & 0.53770e-08_rb,0.12906e-06_rb,0.19117e-06_rb,0.16928e-06_rb,0.14454e-06_rb, & & 0.11318e-06_rb,0.12091e-06_rb,0.16771e-06_rb,0.10838e-04_rb /) kao(:, 2, 8, 3) = (/ & & 0.71217e-08_rb,0.13171e-06_rb,0.20115e-06_rb,0.17525e-06_rb,0.15189e-06_rb, & & 0.11980e-06_rb,0.12589e-06_rb,0.17247e-06_rb,0.10844e-04_rb /) kao(:, 3, 8, 3) = (/ & & 0.76051e-08_rb,0.13463e-06_rb,0.20837e-06_rb,0.18092e-06_rb,0.15831e-06_rb, & & 0.12491e-06_rb,0.12782e-06_rb,0.17568e-06_rb,0.10855e-04_rb /) kao(:, 4, 8, 3) = (/ & & 0.87276e-08_rb,0.14002e-06_rb,0.21488e-06_rb,0.18616e-06_rb,0.16272e-06_rb, & & 0.12991e-06_rb,0.13139e-06_rb,0.17775e-06_rb,0.10873e-04_rb /) kao(:, 5, 8, 3) = (/ & & 0.98102e-08_rb,0.14390e-06_rb,0.21715e-06_rb,0.19383e-06_rb,0.16843e-06_rb, & & 0.13102e-06_rb,0.13320e-06_rb,0.18001e-06_rb,0.10883e-04_rb /) kao(:, 1, 9, 3) = (/ & & 0.78846e-08_rb,0.14921e-06_rb,0.16266e-06_rb,0.21810e-06_rb,0.17257e-06_rb, & & 0.13914e-06_rb,0.10621e-06_rb,0.13009e-06_rb,0.22193e-04_rb /) kao(:, 2, 9, 3) = (/ & & 0.87670e-08_rb,0.15667e-06_rb,0.17179e-06_rb,0.22870e-06_rb,0.18453e-06_rb, & & 0.14806e-06_rb,0.11198e-06_rb,0.13228e-06_rb,0.22470e-04_rb /) kao(:, 3, 9, 3) = (/ & & 0.94042e-08_rb,0.16331e-06_rb,0.17929e-06_rb,0.23732e-06_rb,0.19309e-06_rb, & & 0.15669e-06_rb,0.11769e-06_rb,0.13462e-06_rb,0.22759e-04_rb /) kao(:, 4, 9, 3) = (/ & & 0.10052e-07_rb,0.16738e-06_rb,0.18654e-06_rb,0.24428e-06_rb,0.19714e-06_rb, & & 0.16469e-06_rb,0.12194e-06_rb,0.13694e-06_rb,0.23037e-04_rb /) kao(:, 5, 9, 3) = (/ & & 0.99609e-08_rb,0.16974e-06_rb,0.19096e-06_rb,0.25212e-06_rb,0.20604e-06_rb, & & 0.17005e-06_rb,0.12529e-06_rb,0.13965e-06_rb,0.23331e-04_rb /) kao(:, 1,10, 3) = (/ & & 0.10600e-07_rb,0.19194e-06_rb,0.19694e-06_rb,0.19228e-06_rb,0.23306e-06_rb, & & 0.18017e-06_rb,0.13563e-06_rb,0.11106e-06_rb,0.57833e-04_rb /) kao(:, 2,10, 3) = (/ & & 0.11513e-07_rb,0.19670e-06_rb,0.20600e-06_rb,0.20153e-06_rb,0.24712e-06_rb, & & 0.19420e-06_rb,0.14374e-06_rb,0.11223e-06_rb,0.59252e-04_rb /) kao(:, 3,10, 3) = (/ & & 0.12267e-07_rb,0.20052e-06_rb,0.21125e-06_rb,0.21502e-06_rb,0.25879e-06_rb, & & 0.20809e-06_rb,0.15257e-06_rb,0.11412e-06_rb,0.60474e-04_rb /) kao(:, 4,10, 3) = (/ & & 0.11377e-07_rb,0.20485e-06_rb,0.21479e-06_rb,0.22527e-06_rb,0.26884e-06_rb, & & 0.21723e-06_rb,0.15872e-06_rb,0.11733e-06_rb,0.61380e-04_rb /) kao(:, 5,10, 3) = (/ & & 0.12141e-07_rb,0.20611e-06_rb,0.22439e-06_rb,0.22986e-06_rb,0.27411e-06_rb, & & 0.22402e-06_rb,0.16342e-06_rb,0.11916e-06_rb,0.62353e-04_rb /) kao(:, 1,11, 3) = (/ & & 0.12251e-07_rb,0.29022e-06_rb,0.24496e-06_rb,0.24059e-06_rb,0.21631e-06_rb, & & 0.23923e-06_rb,0.16597e-06_rb,0.10842e-06_rb,0.80074e-04_rb /) kao(:, 2,11, 3) = (/ & & 0.12224e-07_rb,0.29680e-06_rb,0.25368e-06_rb,0.24691e-06_rb,0.22294e-06_rb, & & 0.24912e-06_rb,0.17747e-06_rb,0.10969e-06_rb,0.81125e-04_rb /) kao(:, 3,11, 3) = (/ & & 0.14264e-07_rb,0.29886e-06_rb,0.26040e-06_rb,0.25256e-06_rb,0.23184e-06_rb, & & 0.25957e-06_rb,0.18845e-06_rb,0.11123e-06_rb,0.82960e-04_rb /) kao(:, 4,11, 3) = (/ & & 0.16608e-07_rb,0.30056e-06_rb,0.26198e-06_rb,0.25724e-06_rb,0.23897e-06_rb, & & 0.26977e-06_rb,0.19716e-06_rb,0.11521e-06_rb,0.84911e-04_rb /) kao(:, 5,11, 3) = (/ & & 0.18982e-07_rb,0.30200e-06_rb,0.26559e-06_rb,0.26090e-06_rb,0.24427e-06_rb, & & 0.27763e-06_rb,0.20825e-06_rb,0.11858e-06_rb,0.86586e-04_rb /) kao(:, 1,12, 3) = (/ & & 0.16186e-07_rb,0.36864e-06_rb,0.27735e-06_rb,0.24475e-06_rb,0.23659e-06_rb, & & 0.20178e-06_rb,0.20651e-06_rb,0.11504e-06_rb,0.90323e-04_rb /) kao(:, 2,12, 3) = (/ & & 0.16900e-07_rb,0.36903e-06_rb,0.27865e-06_rb,0.25015e-06_rb,0.24279e-06_rb, & & 0.21379e-06_rb,0.22149e-06_rb,0.12739e-06_rb,0.92788e-04_rb /) kao(:, 3,12, 3) = (/ & & 0.18900e-07_rb,0.36546e-06_rb,0.28369e-06_rb,0.25919e-06_rb,0.24650e-06_rb, & & 0.22349e-06_rb,0.23741e-06_rb,0.13455e-06_rb,0.94381e-04_rb /) kao(:, 4,12, 3) = (/ & & 0.24666e-07_rb,0.36289e-06_rb,0.28992e-06_rb,0.26755e-06_rb,0.25261e-06_rb, & & 0.23012e-06_rb,0.24862e-06_rb,0.14012e-06_rb,0.95689e-04_rb /) kao(:, 5,12, 3) = (/ & & 0.28047e-07_rb,0.36144e-06_rb,0.29439e-06_rb,0.27280e-06_rb,0.25910e-06_rb, & & 0.23527e-06_rb,0.25804e-06_rb,0.14441e-06_rb,0.97273e-04_rb /) kao(:, 1,13, 3) = (/ & & 0.27099e-07_rb,0.42452e-06_rb,0.36469e-06_rb,0.28012e-06_rb,0.24206e-06_rb, & & 0.21452e-06_rb,0.19737e-06_rb,0.12552e-06_rb,0.93221e-04_rb /) kao(:, 2,13, 3) = (/ & & 0.30641e-07_rb,0.42348e-06_rb,0.36821e-06_rb,0.29049e-06_rb,0.25191e-06_rb, & & 0.22447e-06_rb,0.20459e-06_rb,0.13174e-06_rb,0.95326e-04_rb /) kao(:, 3,13, 3) = (/ & & 0.31538e-07_rb,0.42218e-06_rb,0.36978e-06_rb,0.29801e-06_rb,0.26042e-06_rb, & & 0.23413e-06_rb,0.21354e-06_rb,0.13999e-06_rb,0.97244e-04_rb /) kao(:, 4,13, 3) = (/ & & 0.33087e-07_rb,0.42233e-06_rb,0.36980e-06_rb,0.30223e-06_rb,0.26697e-06_rb, & & 0.24077e-06_rb,0.22289e-06_rb,0.14849e-06_rb,0.99282e-04_rb /) kao(:, 5,13, 3) = (/ & & 0.35771e-07_rb,0.42124e-06_rb,0.36949e-06_rb,0.30814e-06_rb,0.27423e-06_rb, & & 0.24510e-06_rb,0.22998e-06_rb,0.15431e-06_rb,0.10189e-03_rb /) kao(:, 1, 1, 4) = (/ & & 0.60599e-08_rb,0.49839e-06_rb,0.90796e-06_rb,0.12825e-05_rb,0.16387e-05_rb, & & 0.20000e-05_rb,0.24097e-05_rb,0.30198e-05_rb,0.14012e-05_rb /) kao(:, 2, 1, 4) = (/ & & 0.57361e-08_rb,0.51373e-06_rb,0.93344e-06_rb,0.13150e-05_rb,0.16776e-05_rb, & & 0.20412e-05_rb,0.24476e-05_rb,0.30155e-05_rb,0.14079e-05_rb /) kao(:, 3, 1, 4) = (/ & & 0.61895e-08_rb,0.64074e-06_rb,0.11706e-05_rb,0.16523e-05_rb,0.21138e-05_rb, & & 0.25765e-05_rb,0.30714e-05_rb,0.37148e-05_rb,0.20046e-05_rb /) kao(:, 4, 1, 4) = (/ & & 0.63590e-08_rb,0.53918e-06_rb,0.97233e-06_rb,0.13614e-05_rb,0.17274e-05_rb, & & 0.21018e-05_rb,0.24992e-05_rb,0.30391e-05_rb,0.14106e-05_rb /) kao(:, 5, 1, 4) = (/ & & 0.66907e-08_rb,0.54769e-06_rb,0.98459e-06_rb,0.13756e-05_rb,0.17428e-05_rb, & & 0.21216e-05_rb,0.25190e-05_rb,0.30528e-05_rb,0.14057e-05_rb /) kao(:, 1, 2, 4) = (/ & & 0.63247e-08_rb,0.40976e-06_rb,0.75743e-06_rb,0.10729e-05_rb,0.13776e-05_rb, & & 0.16847e-05_rb,0.20386e-05_rb,0.25923e-05_rb,0.11016e-05_rb /) kao(:, 2, 2, 4) = (/ & & 0.71971e-08_rb,0.42277e-06_rb,0.77866e-06_rb,0.11006e-05_rb,0.14075e-05_rb, & & 0.17208e-05_rb,0.20689e-05_rb,0.25842e-05_rb,0.11093e-05_rb /) kao(:, 3, 2, 4) = (/ & & 0.68862e-08_rb,0.54111e-06_rb,0.99924e-06_rb,0.14135e-05_rb,0.18137e-05_rb, & & 0.22190e-05_rb,0.26613e-05_rb,0.32636e-05_rb,0.16377e-05_rb /) kao(:, 4, 2, 4) = (/ & & 0.74570e-08_rb,0.54374e-06_rb,0.10016e-05_rb,0.14142e-05_rb,0.18118e-05_rb, & & 0.22093e-05_rb,0.26451e-05_rb,0.32306e-05_rb,0.16062e-05_rb /) kao(:, 5, 2, 4) = (/ & & 0.76975e-08_rb,0.44890e-06_rb,0.82016e-06_rb,0.11488e-05_rb,0.14591e-05_rb, & & 0.17814e-05_rb,0.21241e-05_rb,0.26089e-05_rb,0.11145e-05_rb /) kao(:, 1, 3, 4) = (/ & & 0.83656e-08_rb,0.31311e-06_rb,0.61949e-06_rb,0.88176e-06_rb,0.11379e-05_rb, & & 0.13977e-05_rb,0.17043e-05_rb,0.22078e-05_rb,0.73836e-06_rb /) kao(:, 2, 3, 4) = (/ & & 0.85171e-08_rb,0.32573e-06_rb,0.63573e-06_rb,0.90517e-06_rb,0.11641e-05_rb, & & 0.14286e-05_rb,0.17247e-05_rb,0.21938e-05_rb,0.74285e-06_rb /) kao(:, 3, 3, 4) = (/ & & 0.78702e-08_rb,0.33673e-06_rb,0.64948e-06_rb,0.92347e-06_rb,0.11844e-05_rb, & & 0.14525e-05_rb,0.17473e-05_rb,0.21823e-05_rb,0.74417e-06_rb /) kao(:, 4, 3, 4) = (/ & & 0.88135e-08_rb,0.44484e-06_rb,0.84006e-06_rb,0.11924e-05_rb,0.15326e-05_rb, & & 0.18766e-05_rb,0.22592e-05_rb,0.27980e-05_rb,0.11629e-05_rb /) kao(:, 5, 3, 4) = (/ & & 0.83594e-08_rb,0.34852e-06_rb,0.67171e-06_rb,0.94786e-06_rb,0.12080e-05_rb, & & 0.14818e-05_rb,0.17721e-05_rb,0.22017e-05_rb,0.74162e-06_rb /) kao(:, 1, 4, 4) = (/ & & 0.82233e-08_rb,0.22714e-06_rb,0.49574e-06_rb,0.71618e-06_rb,0.92897e-06_rb, & & 0.11522e-05_rb,0.14150e-05_rb,0.18749e-05_rb,0.10829e-05_rb /) kao(:, 2, 4, 4) = (/ & & 0.90906e-08_rb,0.23281e-06_rb,0.51082e-06_rb,0.73615e-06_rb,0.95322e-06_rb, & & 0.11749e-05_rb,0.14287e-05_rb,0.18456e-05_rb,0.10964e-05_rb /) kao(:, 3, 4, 4) = (/ & & 0.10403e-07_rb,0.23873e-06_rb,0.52083e-06_rb,0.75142e-06_rb,0.97057e-06_rb, & & 0.11959e-05_rb,0.14456e-05_rb,0.18299e-05_rb,0.11024e-05_rb /) kao(:, 4, 4, 4) = (/ & & 0.11681e-07_rb,0.24287e-06_rb,0.52982e-06_rb,0.76518e-06_rb,0.98418e-06_rb, & & 0.12105e-05_rb,0.14593e-05_rb,0.18314e-05_rb,0.11002e-05_rb /) kao(:, 5, 4, 4) = (/ & & 0.11781e-07_rb,0.32919e-06_rb,0.69041e-06_rb,0.99008e-06_rb,0.12781e-05_rb, & & 0.15684e-05_rb,0.18900e-05_rb,0.23626e-05_rb,0.11507e-05_rb /) kao(:, 1, 5, 4) = (/ & & 0.10746e-07_rb,0.16960e-06_rb,0.36271e-06_rb,0.57393e-06_rb,0.75088e-06_rb, & & 0.94078e-06_rb,0.11700e-05_rb,0.15610e-05_rb,0.23060e-05_rb /) kao(:, 2, 5, 4) = (/ & & 0.12322e-07_rb,0.17145e-06_rb,0.37466e-06_rb,0.58975e-06_rb,0.77156e-06_rb, & & 0.96051e-06_rb,0.11773e-05_rb,0.15431e-05_rb,0.23550e-05_rb /) kao(:, 3, 5, 4) = (/ & & 0.12362e-07_rb,0.17491e-06_rb,0.38517e-06_rb,0.60273e-06_rb,0.78779e-06_rb, & & 0.97831e-06_rb,0.11895e-05_rb,0.15264e-05_rb,0.23946e-05_rb /) kao(:, 4, 5, 4) = (/ & & 0.11932e-07_rb,0.17603e-06_rb,0.39310e-06_rb,0.61276e-06_rb,0.80198e-06_rb, & & 0.99168e-06_rb,0.12014e-05_rb,0.15209e-05_rb,0.24122e-05_rb /) kao(:, 5, 5, 4) = (/ & & 0.12827e-07_rb,0.23797e-06_rb,0.54915e-06_rb,0.81314e-06_rb,0.10605e-05_rb, & & 0.13079e-05_rb,0.15848e-05_rb,0.19982e-05_rb,0.26265e-05_rb /) kao(:, 1, 6, 4) = (/ & & 0.16887e-07_rb,0.16918e-06_rb,0.26182e-06_rb,0.43955e-06_rb,0.59876e-06_rb, & & 0.76220e-06_rb,0.96205e-06_rb,0.12977e-05_rb,0.30196e-05_rb /) kao(:, 2, 6, 4) = (/ & & 0.16463e-07_rb,0.17256e-06_rb,0.26723e-06_rb,0.45266e-06_rb,0.61330e-06_rb, & & 0.77949e-06_rb,0.96881e-06_rb,0.12938e-05_rb,0.31027e-05_rb /) kao(:, 3, 6, 4) = (/ & & 0.14297e-07_rb,0.17174e-06_rb,0.27626e-06_rb,0.46141e-06_rb,0.62873e-06_rb, & & 0.79335e-06_rb,0.97523e-06_rb,0.12716e-05_rb,0.31487e-05_rb /) kao(:, 4, 6, 4) = (/ & & 0.15984e-07_rb,0.17093e-06_rb,0.27951e-06_rb,0.46972e-06_rb,0.64062e-06_rb, & & 0.80616e-06_rb,0.98183e-06_rb,0.12602e-05_rb,0.31591e-05_rb /) kao(:, 5, 6, 4) = (/ & & 0.17832e-07_rb,0.17197e-06_rb,0.28124e-06_rb,0.47610e-06_rb,0.64900e-06_rb, & & 0.81537e-06_rb,0.99403e-06_rb,0.12613e-05_rb,0.32001e-05_rb /) kao(:, 1, 7, 4) = (/ & & 0.19543e-07_rb,0.20424e-06_rb,0.20827e-06_rb,0.30613e-06_rb,0.46038e-06_rb, & & 0.61052e-06_rb,0.78796e-06_rb,0.10769e-05_rb,0.53495e-05_rb /) kao(:, 2, 7, 4) = (/ & & 0.21943e-07_rb,0.20486e-06_rb,0.21292e-06_rb,0.31650e-06_rb,0.47369e-06_rb, & & 0.62546e-06_rb,0.78997e-06_rb,0.10696e-05_rb,0.53612e-05_rb /) kao(:, 3, 7, 4) = (/ & & 0.23096e-07_rb,0.20519e-06_rb,0.21260e-06_rb,0.32419e-06_rb,0.48522e-06_rb, & & 0.63494e-06_rb,0.79556e-06_rb,0.10562e-05_rb,0.54125e-05_rb /) kao(:, 4, 7, 4) = (/ & & 0.23811e-07_rb,0.20761e-06_rb,0.21334e-06_rb,0.32752e-06_rb,0.49467e-06_rb, & & 0.64456e-06_rb,0.80411e-06_rb,0.10435e-05_rb,0.54920e-05_rb /) kao(:, 5, 7, 4) = (/ & & 0.23502e-07_rb,0.20918e-06_rb,0.21430e-06_rb,0.32878e-06_rb,0.50037e-06_rb, & & 0.65413e-06_rb,0.80879e-06_rb,0.10409e-05_rb,0.55076e-05_rb /) kao(:, 1, 8, 4) = (/ & & 0.28818e-07_rb,0.26386e-06_rb,0.23322e-06_rb,0.23394e-06_rb,0.31766e-06_rb, & & 0.47372e-06_rb,0.64268e-06_rb,0.89272e-06_rb,0.10691e-04_rb /) kao(:, 2, 8, 4) = (/ & & 0.30094e-07_rb,0.27235e-06_rb,0.23524e-06_rb,0.24245e-06_rb,0.32636e-06_rb, & & 0.48411e-06_rb,0.63773e-06_rb,0.88040e-06_rb,0.10770e-04_rb /) kao(:, 3, 8, 4) = (/ & & 0.32474e-07_rb,0.27799e-06_rb,0.23717e-06_rb,0.24789e-06_rb,0.33554e-06_rb, & & 0.49304e-06_rb,0.64255e-06_rb,0.87788e-06_rb,0.10799e-04_rb /) kao(:, 4, 8, 4) = (/ & & 0.33631e-07_rb,0.28020e-06_rb,0.23819e-06_rb,0.25000e-06_rb,0.34187e-06_rb, & & 0.49874e-06_rb,0.64803e-06_rb,0.86373e-06_rb,0.10824e-04_rb /) kao(:, 5, 8, 4) = (/ & & 0.34597e-07_rb,0.28107e-06_rb,0.24266e-06_rb,0.24933e-06_rb,0.34607e-06_rb, & & 0.50692e-06_rb,0.65081e-06_rb,0.85686e-06_rb,0.10819e-04_rb /) kao(:, 1, 9, 4) = (/ & & 0.37049e-07_rb,0.33070e-06_rb,0.32147e-06_rb,0.25828e-06_rb,0.24460e-06_rb, & & 0.33057e-06_rb,0.51182e-06_rb,0.72970e-06_rb,0.32667e-04_rb /) kao(:, 2, 9, 4) = (/ & & 0.39634e-07_rb,0.34282e-06_rb,0.32875e-06_rb,0.26785e-06_rb,0.25757e-06_rb, & & 0.33579e-06_rb,0.50462e-06_rb,0.72240e-06_rb,0.32638e-04_rb /) kao(:, 3, 9, 4) = (/ & & 0.42012e-07_rb,0.34998e-06_rb,0.33495e-06_rb,0.27514e-06_rb,0.26581e-06_rb, & & 0.33988e-06_rb,0.50360e-06_rb,0.72105e-06_rb,0.32828e-04_rb /) kao(:, 4, 9, 4) = (/ & & 0.43216e-07_rb,0.35061e-06_rb,0.33953e-06_rb,0.28140e-06_rb,0.27172e-06_rb, & & 0.34266e-06_rb,0.50914e-06_rb,0.70829e-06_rb,0.32970e-04_rb /) kao(:, 5, 9, 4) = (/ & & 0.43838e-07_rb,0.35447e-06_rb,0.34674e-06_rb,0.28252e-06_rb,0.27122e-06_rb, & & 0.34740e-06_rb,0.51058e-06_rb,0.70194e-06_rb,0.33023e-04_rb /) kao(:, 1,10, 4) = (/ & & 0.46492e-07_rb,0.34673e-06_rb,0.43959e-06_rb,0.39620e-06_rb,0.30969e-06_rb, & & 0.25359e-06_rb,0.35579e-06_rb,0.58999e-06_rb,0.75308e-04_rb /) kao(:, 2,10, 4) = (/ & & 0.51642e-07_rb,0.35814e-06_rb,0.45251e-06_rb,0.40694e-06_rb,0.31643e-06_rb, & & 0.25658e-06_rb,0.34700e-06_rb,0.58340e-06_rb,0.75445e-04_rb /) kao(:, 3,10, 4) = (/ & & 0.55139e-07_rb,0.36959e-06_rb,0.46273e-06_rb,0.41592e-06_rb,0.32168e-06_rb, & & 0.26320e-06_rb,0.34598e-06_rb,0.57972e-06_rb,0.75796e-04_rb /) kao(:, 4,10, 4) = (/ & & 0.58094e-07_rb,0.37731e-06_rb,0.47160e-06_rb,0.41969e-06_rb,0.32536e-06_rb, & & 0.27186e-06_rb,0.34692e-06_rb,0.57173e-06_rb,0.76680e-04_rb /) kao(:, 5,10, 4) = (/ & & 0.62665e-07_rb,0.38529e-06_rb,0.47122e-06_rb,0.42322e-06_rb,0.32990e-06_rb, & & 0.28125e-06_rb,0.34920e-06_rb,0.56204e-06_rb,0.77515e-04_rb /) kao(:, 1,11, 4) = (/ & & 0.71997e-07_rb,0.39039e-06_rb,0.48930e-06_rb,0.52037e-06_rb,0.44835e-06_rb, & & 0.32920e-06_rb,0.25424e-06_rb,0.45719e-06_rb,0.97599e-04_rb /) kao(:, 2,11, 4) = (/ & & 0.84174e-07_rb,0.39220e-06_rb,0.49753e-06_rb,0.53466e-06_rb,0.46035e-06_rb, & & 0.34028e-06_rb,0.25580e-06_rb,0.44804e-06_rb,0.98017e-04_rb /) kao(:, 3,11, 4) = (/ & & 0.88241e-07_rb,0.39809e-06_rb,0.50514e-06_rb,0.54464e-06_rb,0.47069e-06_rb, & & 0.34919e-06_rb,0.25830e-06_rb,0.44783e-06_rb,0.97609e-04_rb /) kao(:, 4,11, 4) = (/ & & 0.93462e-07_rb,0.40271e-06_rb,0.51216e-06_rb,0.55531e-06_rb,0.48178e-06_rb, & & 0.35530e-06_rb,0.26505e-06_rb,0.43524e-06_rb,0.97099e-04_rb /) kao(:, 5,11, 4) = (/ & & 0.96966e-07_rb,0.40660e-06_rb,0.51682e-06_rb,0.56367e-06_rb,0.48662e-06_rb, & & 0.35706e-06_rb,0.26903e-06_rb,0.42986e-06_rb,0.97653e-04_rb /) kao(:, 1,12, 4) = (/ & & 0.99102e-07_rb,0.42179e-06_rb,0.46920e-06_rb,0.54974e-06_rb,0.50699e-06_rb, & & 0.41543e-06_rb,0.26692e-06_rb,0.34287e-06_rb,0.10692e-03_rb /) kao(:, 2,12, 4) = (/ & & 0.10220e-06_rb,0.42343e-06_rb,0.48263e-06_rb,0.56179e-06_rb,0.52088e-06_rb, & & 0.42826e-06_rb,0.27416e-06_rb,0.32165e-06_rb,0.10849e-03_rb /) kao(:, 3,12, 4) = (/ & & 0.10736e-06_rb,0.42994e-06_rb,0.49237e-06_rb,0.56848e-06_rb,0.53837e-06_rb, & & 0.43862e-06_rb,0.28070e-06_rb,0.31402e-06_rb,0.10890e-03_rb /) kao(:, 4,12, 4) = (/ & & 0.10535e-06_rb,0.42853e-06_rb,0.49830e-06_rb,0.57259e-06_rb,0.55337e-06_rb, & & 0.45117e-06_rb,0.28964e-06_rb,0.30229e-06_rb,0.11005e-03_rb /) kao(:, 5,12, 4) = (/ & & 0.10635e-06_rb,0.42826e-06_rb,0.50038e-06_rb,0.57688e-06_rb,0.56182e-06_rb, & & 0.45862e-06_rb,0.29473e-06_rb,0.29904e-06_rb,0.11056e-03_rb /) kao(:, 1,13, 4) = (/ & & 0.11521e-06_rb,0.43118e-06_rb,0.49222e-06_rb,0.52624e-06_rb,0.55771e-06_rb, & & 0.47186e-06_rb,0.32691e-06_rb,0.24833e-06_rb,0.10886e-03_rb /) kao(:, 2,13, 4) = (/ & & 0.11730e-06_rb,0.43904e-06_rb,0.49350e-06_rb,0.54164e-06_rb,0.56845e-06_rb, & & 0.49098e-06_rb,0.34261e-06_rb,0.23938e-06_rb,0.11077e-03_rb /) kao(:, 3,13, 4) = (/ & & 0.11952e-06_rb,0.44327e-06_rb,0.50284e-06_rb,0.55816e-06_rb,0.58198e-06_rb, & & 0.50372e-06_rb,0.35861e-06_rb,0.22850e-06_rb,0.11296e-03_rb /) kao(:, 4,13, 4) = (/ & & 0.11965e-06_rb,0.44664e-06_rb,0.51058e-06_rb,0.56661e-06_rb,0.59093e-06_rb, & & 0.51146e-06_rb,0.36596e-06_rb,0.22349e-06_rb,0.11560e-03_rb /) kao(:, 5,13, 4) = (/ & & 0.12171e-06_rb,0.45566e-06_rb,0.52364e-06_rb,0.57439e-06_rb,0.59010e-06_rb, & & 0.52011e-06_rb,0.37200e-06_rb,0.22417e-06_rb,0.11598e-03_rb /) kao(:, 1, 1, 5) = (/ & & 0.64393e-08_rb,0.14477e-05_rb,0.26383e-05_rb,0.37578e-05_rb,0.48497e-05_rb, & & 0.58771e-05_rb,0.69748e-05_rb,0.83337e-05_rb,0.52972e-05_rb /) kao(:, 2, 1, 5) = (/ & & 0.74788e-08_rb,0.14813e-05_rb,0.26820e-05_rb,0.38123e-05_rb,0.49043e-05_rb, & & 0.59719e-05_rb,0.70794e-05_rb,0.84777e-05_rb,0.53686e-05_rb /) kao(:, 3, 1, 5) = (/ & & 0.70698e-08_rb,0.17381e-05_rb,0.31521e-05_rb,0.44815e-05_rb,0.57370e-05_rb, & & 0.69696e-05_rb,0.82426e-05_rb,0.98195e-05_rb,0.67445e-05_rb /) kao(:, 4, 1, 5) = (/ & & 0.75728e-08_rb,0.15363e-05_rb,0.27544e-05_rb,0.38956e-05_rb,0.49855e-05_rb, & & 0.60556e-05_rb,0.72284e-05_rb,0.86770e-05_rb,0.54442e-05_rb /) kao(:, 5, 1, 5) = (/ & & 0.72646e-08_rb,0.15573e-05_rb,0.27840e-05_rb,0.39266e-05_rb,0.50091e-05_rb, & & 0.60781e-05_rb,0.72327e-05_rb,0.87344e-05_rb,0.54537e-05_rb /) kao(:, 1, 2, 5) = (/ & & 0.91682e-08_rb,0.12471e-05_rb,0.22727e-05_rb,0.32462e-05_rb,0.42007e-05_rb, & & 0.51012e-05_rb,0.60761e-05_rb,0.73379e-05_rb,0.44448e-05_rb /) kao(:, 2, 2, 5) = (/ & & 0.78841e-08_rb,0.12745e-05_rb,0.23098e-05_rb,0.32938e-05_rb,0.42384e-05_rb, & & 0.51817e-05_rb,0.61658e-05_rb,0.74615e-05_rb,0.44925e-05_rb /) kao(:, 3, 2, 5) = (/ & & 0.88457e-08_rb,0.15305e-05_rb,0.27824e-05_rb,0.39573e-05_rb,0.50820e-05_rb, & & 0.61863e-05_rb,0.73547e-05_rb,0.88186e-05_rb,0.58192e-05_rb /) kao(:, 4, 2, 5) = (/ & & 0.81699e-08_rb,0.15379e-05_rb,0.27884e-05_rb,0.39554e-05_rb,0.50640e-05_rb, & & 0.61598e-05_rb,0.73260e-05_rb,0.88047e-05_rb,0.57596e-05_rb /) kao(:, 5, 2, 5) = (/ & & 0.81267e-08_rb,0.13345e-05_rb,0.23941e-05_rb,0.33760e-05_rb,0.43121e-05_rb, & & 0.52406e-05_rb,0.62663e-05_rb,0.76657e-05_rb,0.45393e-05_rb /) kao(:, 1, 3, 5) = (/ & & 0.91717e-08_rb,0.10541e-05_rb,0.19313e-05_rb,0.27682e-05_rb,0.35915e-05_rb, & & 0.43666e-05_rb,0.52222e-05_rb,0.63759e-05_rb,0.36110e-05_rb /) kao(:, 2, 3, 5) = (/ & & 0.10331e-07_rb,0.10789e-05_rb,0.19645e-05_rb,0.28075e-05_rb,0.36240e-05_rb, & & 0.44392e-05_rb,0.52990e-05_rb,0.64883e-05_rb,0.36530e-05_rb /) kao(:, 3, 3, 5) = (/ & & 0.12324e-07_rb,0.10988e-05_rb,0.19944e-05_rb,0.28363e-05_rb,0.36532e-05_rb, & & 0.44650e-05_rb,0.53622e-05_rb,0.65761e-05_rb,0.36791e-05_rb /) kao(:, 4, 3, 5) = (/ & & 0.11596e-07_rb,0.13389e-05_rb,0.24365e-05_rb,0.34597e-05_rb,0.44354e-05_rb, & & 0.54167e-05_rb,0.64681e-05_rb,0.78697e-05_rb,0.48568e-05_rb /) kao(:, 5, 3, 5) = (/ & & 0.11476e-07_rb,0.11282e-05_rb,0.20370e-05_rb,0.28768e-05_rb,0.36785e-05_rb, & & 0.44764e-05_rb,0.53828e-05_rb,0.66660e-05_rb,0.36841e-05_rb /) kao(:, 1, 4, 5) = (/ & & 0.12942e-07_rb,0.87057e-06_rb,0.16185e-05_rb,0.23328e-05_rb,0.30327e-05_rb, & & 0.36939e-05_rb,0.44351e-05_rb,0.54720e-05_rb,0.21271e-05_rb /) kao(:, 2, 4, 5) = (/ & & 0.12911e-07_rb,0.89351e-06_rb,0.16491e-05_rb,0.23657e-05_rb,0.30660e-05_rb, & & 0.37589e-05_rb,0.45049e-05_rb,0.55808e-05_rb,0.21315e-05_rb /) kao(:, 3, 4, 5) = (/ & & 0.11919e-07_rb,0.91285e-06_rb,0.16762e-05_rb,0.23907e-05_rb,0.30911e-05_rb, & & 0.37889e-05_rb,0.45584e-05_rb,0.56554e-05_rb,0.21302e-05_rb /) kao(:, 4, 4, 5) = (/ & & 0.12644e-07_rb,0.92680e-06_rb,0.16966e-05_rb,0.24115e-05_rb,0.31023e-05_rb, & & 0.37973e-05_rb,0.46002e-05_rb,0.57029e-05_rb,0.21090e-05_rb /) kao(:, 5, 4, 5) = (/ & & 0.14252e-07_rb,0.11501e-05_rb,0.21042e-05_rb,0.29827e-05_rb,0.38200e-05_rb, & & 0.46680e-05_rb,0.55977e-05_rb,0.69211e-05_rb,0.32123e-05_rb /) kao(:, 1, 5, 5) = (/ & & 0.14457e-07_rb,0.68848e-06_rb,0.13403e-05_rb,0.19448e-05_rb,0.25364e-05_rb, & & 0.30956e-05_rb,0.37236e-05_rb,0.46561e-05_rb,0.23476e-05_rb /) kao(:, 2, 5, 5) = (/ & & 0.13664e-07_rb,0.70724e-06_rb,0.13666e-05_rb,0.19744e-05_rb,0.25701e-05_rb, & & 0.31515e-05_rb,0.37903e-05_rb,0.47386e-05_rb,0.23292e-05_rb /) kao(:, 3, 5, 5) = (/ & & 0.16363e-07_rb,0.72382e-06_rb,0.13894e-05_rb,0.19966e-05_rb,0.25908e-05_rb, & & 0.31942e-05_rb,0.38380e-05_rb,0.48063e-05_rb,0.23210e-05_rb /) kao(:, 4, 5, 5) = (/ & & 0.18854e-07_rb,0.73645e-06_rb,0.14075e-05_rb,0.20143e-05_rb,0.25995e-05_rb, & & 0.31924e-05_rb,0.38751e-05_rb,0.48509e-05_rb,0.23084e-05_rb /) kao(:, 5, 5, 5) = (/ & & 0.19502e-07_rb,0.95711e-06_rb,0.17948e-05_rb,0.25536e-05_rb,0.32756e-05_rb, & & 0.40127e-05_rb,0.48356e-05_rb,0.60502e-05_rb,0.26522e-05_rb /) kao(:, 1, 6, 5) = (/ & & 0.20265e-07_rb,0.45716e-06_rb,0.10840e-05_rb,0.16034e-05_rb,0.20999e-05_rb, & & 0.25681e-05_rb,0.30977e-05_rb,0.39107e-05_rb,0.52450e-05_rb /) kao(:, 2, 6, 5) = (/ & & 0.21598e-07_rb,0.47132e-06_rb,0.11079e-05_rb,0.16263e-05_rb,0.21396e-05_rb, & & 0.26164e-05_rb,0.31577e-05_rb,0.39701e-05_rb,0.52182e-05_rb /) kao(:, 3, 6, 5) = (/ & & 0.24575e-07_rb,0.48601e-06_rb,0.11257e-05_rb,0.16486e-05_rb,0.21513e-05_rb, & & 0.26585e-05_rb,0.32022e-05_rb,0.40354e-05_rb,0.51968e-05_rb /) kao(:, 4, 6, 5) = (/ & & 0.24397e-07_rb,0.49804e-06_rb,0.11416e-05_rb,0.16645e-05_rb,0.21605e-05_rb, & & 0.26639e-05_rb,0.32353e-05_rb,0.40822e-05_rb,0.51575e-05_rb /) kao(:, 5, 6, 5) = (/ & & 0.24456e-07_rb,0.50499e-06_rb,0.11522e-05_rb,0.16738e-05_rb,0.21632e-05_rb, & & 0.26629e-05_rb,0.32463e-05_rb,0.41051e-05_rb,0.51085e-05_rb /) kao(:, 1, 7, 5) = (/ & & 0.28039e-07_rb,0.29800e-06_rb,0.81783e-06_rb,0.13008e-05_rb,0.17226e-05_rb, & & 0.21163e-05_rb,0.25578e-05_rb,0.32519e-05_rb,0.82307e-05_rb /) kao(:, 2, 7, 5) = (/ & & 0.29388e-07_rb,0.30492e-06_rb,0.83771e-06_rb,0.13192e-05_rb,0.17591e-05_rb, & & 0.21563e-05_rb,0.26128e-05_rb,0.33130e-05_rb,0.81908e-05_rb /) kao(:, 3, 7, 5) = (/ & & 0.29556e-07_rb,0.30866e-06_rb,0.85444e-06_rb,0.13376e-05_rb,0.17722e-05_rb, & & 0.21943e-05_rb,0.26541e-05_rb,0.33584e-05_rb,0.81819e-05_rb /) kao(:, 4, 7, 5) = (/ & & 0.26709e-07_rb,0.30951e-06_rb,0.86739e-06_rb,0.13505e-05_rb,0.17805e-05_rb, & & 0.22093e-05_rb,0.26812e-05_rb,0.34009e-05_rb,0.81017e-05_rb /) kao(:, 5, 7, 5) = (/ & & 0.27877e-07_rb,0.31158e-06_rb,0.87645e-06_rb,0.13597e-05_rb,0.17817e-05_rb, & & 0.22083e-05_rb,0.26996e-05_rb,0.34240e-05_rb,0.80774e-05_rb /) kao(:, 1, 8, 5) = (/ & & 0.34498e-07_rb,0.30504e-06_rb,0.50025e-06_rb,0.99104e-06_rb,0.13907e-05_rb, & & 0.17284e-05_rb,0.20950e-05_rb,0.26875e-05_rb,0.12492e-04_rb /) kao(:, 2, 8, 5) = (/ & & 0.34468e-07_rb,0.31253e-06_rb,0.51376e-06_rb,0.10029e-05_rb,0.14233e-05_rb, & & 0.17665e-05_rb,0.21486e-05_rb,0.27439e-05_rb,0.12811e-04_rb /) kao(:, 3, 8, 5) = (/ & & 0.33481e-07_rb,0.31885e-06_rb,0.52532e-06_rb,0.10176e-05_rb,0.14361e-05_rb, & & 0.18000e-05_rb,0.21864e-05_rb,0.27713e-05_rb,0.12979e-04_rb /) kao(:, 4, 8, 5) = (/ & & 0.35023e-07_rb,0.32212e-06_rb,0.53171e-06_rb,0.10292e-05_rb,0.14414e-05_rb, & & 0.18222e-05_rb,0.22113e-05_rb,0.28111e-05_rb,0.13061e-04_rb /) kao(:, 5, 8, 5) = (/ & & 0.38480e-07_rb,0.32386e-06_rb,0.53818e-06_rb,0.10355e-05_rb,0.14400e-05_rb, & & 0.18162e-05_rb,0.22298e-05_rb,0.28367e-05_rb,0.13100e-04_rb /) kao(:, 1, 9, 5) = (/ & & 0.41152e-07_rb,0.31870e-06_rb,0.36402e-06_rb,0.61613e-06_rb,0.10619e-05_rb, & & 0.13940e-05_rb,0.17098e-05_rb,0.22173e-05_rb,0.27198e-04_rb /) kao(:, 2, 9, 5) = (/ & & 0.47020e-07_rb,0.31765e-06_rb,0.37312e-06_rb,0.61961e-06_rb,0.10763e-05_rb, & & 0.14273e-05_rb,0.17555e-05_rb,0.22573e-05_rb,0.28218e-04_rb /) kao(:, 3, 9, 5) = (/ & & 0.48171e-07_rb,0.31526e-06_rb,0.38468e-06_rb,0.62540e-06_rb,0.10803e-05_rb, & & 0.14543e-05_rb,0.17919e-05_rb,0.22822e-05_rb,0.28600e-04_rb /) kao(:, 4, 9, 5) = (/ & & 0.52826e-07_rb,0.32481e-06_rb,0.38733e-06_rb,0.62721e-06_rb,0.10854e-05_rb, & & 0.14750e-05_rb,0.18124e-05_rb,0.23140e-05_rb,0.29051e-04_rb /) kao(:, 5, 9, 5) = (/ & & 0.56456e-07_rb,0.32727e-06_rb,0.38424e-06_rb,0.63178e-06_rb,0.10853e-05_rb, & & 0.14692e-05_rb,0.18309e-05_rb,0.23369e-05_rb,0.29958e-04_rb /) kao(:, 1,10, 5) = (/ & & 0.62033e-07_rb,0.45418e-06_rb,0.43247e-06_rb,0.44775e-06_rb,0.62834e-06_rb, & & 0.10534e-05_rb,0.13865e-05_rb,0.18301e-05_rb,0.47779e-04_rb /) kao(:, 2,10, 5) = (/ & & 0.66259e-07_rb,0.45321e-06_rb,0.43983e-06_rb,0.45223e-06_rb,0.63440e-06_rb, & & 0.10746e-05_rb,0.14253e-05_rb,0.18534e-05_rb,0.48468e-04_rb /) kao(:, 3,10, 5) = (/ & & 0.78966e-07_rb,0.45246e-06_rb,0.44780e-06_rb,0.45868e-06_rb,0.63026e-06_rb, & & 0.10842e-05_rb,0.14519e-05_rb,0.18794e-05_rb,0.49251e-04_rb /) kao(:, 4,10, 5) = (/ & & 0.87881e-07_rb,0.44642e-06_rb,0.45426e-06_rb,0.46583e-06_rb,0.63116e-06_rb, & & 0.10925e-05_rb,0.14710e-05_rb,0.18965e-05_rb,0.49742e-04_rb /) kao(:, 5,10, 5) = (/ & & 0.92572e-07_rb,0.44310e-06_rb,0.45326e-06_rb,0.47005e-06_rb,0.63094e-06_rb, & & 0.10763e-05_rb,0.14843e-05_rb,0.19214e-05_rb,0.50457e-04_rb /) kao(:, 1,11, 5) = (/ & & 0.10522e-06_rb,0.58600e-06_rb,0.57473e-06_rb,0.52150e-06_rb,0.51202e-06_rb, & & 0.62383e-06_rb,0.10987e-05_rb,0.15032e-05_rb,0.50557e-04_rb /) kao(:, 2,11, 5) = (/ & & 0.98332e-07_rb,0.58669e-06_rb,0.57910e-06_rb,0.52997e-06_rb,0.52591e-06_rb, & & 0.62992e-06_rb,0.11144e-05_rb,0.15271e-05_rb,0.52915e-04_rb /) kao(:, 3,11, 5) = (/ & & 0.10383e-06_rb,0.58976e-06_rb,0.58650e-06_rb,0.53573e-06_rb,0.53394e-06_rb, & & 0.63743e-06_rb,0.11251e-05_rb,0.15415e-05_rb,0.55206e-04_rb /) kao(:, 4,11, 5) = (/ & & 0.10626e-06_rb,0.58622e-06_rb,0.58747e-06_rb,0.53868e-06_rb,0.53891e-06_rb, & & 0.62645e-06_rb,0.11296e-05_rb,0.15628e-05_rb,0.58020e-04_rb /) kao(:, 5,11, 5) = (/ & & 0.10795e-06_rb,0.57800e-06_rb,0.58664e-06_rb,0.53883e-06_rb,0.54784e-06_rb, & & 0.62145e-06_rb,0.11279e-05_rb,0.15782e-05_rb,0.60369e-04_rb /) kao(:, 1,12, 5) = (/ & & 0.11905e-06_rb,0.60759e-06_rb,0.68611e-06_rb,0.59318e-06_rb,0.53805e-06_rb, & & 0.44962e-06_rb,0.74828e-06_rb,0.12279e-05_rb,0.57098e-04_rb /) kao(:, 2,12, 5) = (/ & & 0.12660e-06_rb,0.61695e-06_rb,0.68094e-06_rb,0.60079e-06_rb,0.55064e-06_rb, & & 0.44953e-06_rb,0.74858e-06_rb,0.12489e-05_rb,0.55969e-04_rb /) kao(:, 3,12, 5) = (/ & & 0.12824e-06_rb,0.61561e-06_rb,0.67586e-06_rb,0.61662e-06_rb,0.55533e-06_rb, & & 0.46796e-06_rb,0.74406e-06_rb,0.12615e-05_rb,0.57249e-04_rb /) kao(:, 4,12, 5) = (/ & & 0.12834e-06_rb,0.62554e-06_rb,0.67923e-06_rb,0.62343e-06_rb,0.55964e-06_rb, & & 0.48091e-06_rb,0.73622e-06_rb,0.12795e-05_rb,0.58462e-04_rb /) kao(:, 5,12, 5) = (/ & & 0.13022e-06_rb,0.63206e-06_rb,0.68726e-06_rb,0.62663e-06_rb,0.56231e-06_rb, & & 0.48008e-06_rb,0.72942e-06_rb,0.12885e-05_rb,0.57642e-04_rb /) kao(:, 1,13, 5) = (/ & & 0.15325e-06_rb,0.60909e-06_rb,0.76952e-06_rb,0.71232e-06_rb,0.57983e-06_rb, & & 0.50489e-06_rb,0.48627e-06_rb,0.99183e-06_rb,0.58778e-04_rb /) kao(:, 2,13, 5) = (/ & & 0.15519e-06_rb,0.62152e-06_rb,0.78639e-06_rb,0.71888e-06_rb,0.59866e-06_rb, & & 0.50930e-06_rb,0.48247e-06_rb,0.10069e-05_rb,0.57959e-04_rb /) kao(:, 3,13, 5) = (/ & & 0.17242e-06_rb,0.64099e-06_rb,0.78686e-06_rb,0.71502e-06_rb,0.60678e-06_rb, & & 0.51633e-06_rb,0.47220e-06_rb,0.10180e-05_rb,0.56844e-04_rb /) kao(:, 4,13, 5) = (/ & & 0.18585e-06_rb,0.65002e-06_rb,0.78368e-06_rb,0.71421e-06_rb,0.61538e-06_rb, & & 0.52650e-06_rb,0.46857e-06_rb,0.10263e-05_rb,0.55757e-04_rb /) kao(:, 5,13, 5) = (/ & & 0.19235e-06_rb,0.64166e-06_rb,0.76203e-06_rb,0.70622e-06_rb,0.61837e-06_rb, & & 0.53042e-06_rb,0.45529e-06_rb,0.10275e-05_rb,0.55475e-04_rb /) kao(:, 1, 1, 6) = (/ & & 0.95617e-08_rb,0.36774e-05_rb,0.65849e-05_rb,0.92221e-05_rb,0.11700e-04_rb, & & 0.14161e-04_rb,0.16732e-04_rb,0.20350e-04_rb,0.14554e-04_rb /) kao(:, 2, 1, 6) = (/ & & 0.93327e-08_rb,0.37537e-05_rb,0.66916e-05_rb,0.93495e-05_rb,0.11842e-04_rb, & & 0.14289e-04_rb,0.16848e-04_rb,0.20318e-04_rb,0.14747e-04_rb /) kao(:, 3, 1, 6) = (/ & & 0.98298e-08_rb,0.41944e-05_rb,0.75022e-05_rb,0.10503e-04_rb,0.13381e-04_rb, & & 0.16104e-04_rb,0.19004e-04_rb,0.22601e-04_rb,0.17337e-04_rb /) kao(:, 4, 1, 6) = (/ & & 0.92318e-08_rb,0.38872e-05_rb,0.68816e-05_rb,0.95784e-05_rb,0.12112e-04_rb, & & 0.14510e-04_rb,0.17052e-04_rb,0.20522e-04_rb,0.14967e-04_rb /) kao(:, 5, 1, 6) = (/ & & 0.98053e-08_rb,0.39438e-05_rb,0.69574e-05_rb,0.96665e-05_rb,0.12218e-04_rb, & & 0.14607e-04_rb,0.17135e-04_rb,0.20557e-04_rb,0.15005e-04_rb /) kao(:, 1, 2, 6) = (/ & & 0.99669e-08_rb,0.32456e-05_rb,0.58216e-05_rb,0.81575e-05_rb,0.10349e-04_rb, & & 0.12573e-04_rb,0.14901e-04_rb,0.18163e-04_rb,0.12615e-04_rb /) kao(:, 2, 2, 6) = (/ & & 0.12231e-07_rb,0.33138e-05_rb,0.59221e-05_rb,0.82752e-05_rb,0.10501e-04_rb, & & 0.12666e-04_rb,0.15004e-04_rb,0.18147e-04_rb,0.12797e-04_rb /) kao(:, 3, 2, 6) = (/ & & 0.10745e-07_rb,0.37581e-05_rb,0.67327e-05_rb,0.94426e-05_rb,0.12044e-04_rb, & & 0.14533e-04_rb,0.17181e-04_rb,0.20503e-04_rb,0.15464e-04_rb /) kao(:, 4, 2, 6) = (/ & & 0.11723e-07_rb,0.37897e-05_rb,0.67581e-05_rb,0.94584e-05_rb,0.12035e-04_rb, & & 0.14508e-04_rb,0.17115e-04_rb,0.20450e-04_rb,0.15378e-04_rb /) kao(:, 5, 2, 6) = (/ & & 0.10775e-07_rb,0.34864e-05_rb,0.61478e-05_rb,0.85479e-05_rb,0.10823e-04_rb, & & 0.12985e-04_rb,0.15273e-04_rb,0.18381e-04_rb,0.12972e-04_rb /) kao(:, 1, 3, 6) = (/ & & 0.12159e-07_rb,0.28311e-05_rb,0.50923e-05_rb,0.71433e-05_rb,0.90735e-05_rb, & & 0.11042e-04_rb,0.13160e-04_rb,0.16141e-04_rb,0.10790e-04_rb /) kao(:, 2, 3, 6) = (/ & & 0.11403e-07_rb,0.28950e-05_rb,0.51829e-05_rb,0.72481e-05_rb,0.92149e-05_rb, & & 0.11135e-04_rb,0.13267e-04_rb,0.16084e-04_rb,0.10912e-04_rb /) kao(:, 3, 3, 6) = (/ & & 0.12436e-07_rb,0.29531e-05_rb,0.52642e-05_rb,0.73461e-05_rb,0.93337e-05_rb, & & 0.11250e-04_rb,0.13358e-04_rb,0.16208e-04_rb,0.10995e-04_rb /) kao(:, 4, 3, 6) = (/ & & 0.14856e-07_rb,0.33723e-05_rb,0.60342e-05_rb,0.84579e-05_rb,0.10776e-04_rb, & & 0.13025e-04_rb,0.15434e-04_rb,0.18466e-04_rb,0.13550e-04_rb /) kao(:, 5, 3, 6) = (/ & & 0.16537e-07_rb,0.30506e-05_rb,0.53821e-05_rb,0.74897e-05_rb,0.94861e-05_rb, & & 0.11421e-04_rb,0.13503e-04_rb,0.16308e-04_rb,0.11045e-04_rb /) kao(:, 1, 4, 6) = (/ & & 0.13114e-07_rb,0.24467e-05_rb,0.44159e-05_rb,0.61941e-05_rb,0.78845e-05_rb, & & 0.96031e-05_rb,0.11513e-04_rb,0.14234e-04_rb,0.89642e-05_rb /) kao(:, 2, 4, 6) = (/ & & 0.15028e-07_rb,0.25040e-05_rb,0.44954e-05_rb,0.62931e-05_rb,0.80050e-05_rb, & & 0.97056e-05_rb,0.11618e-04_rb,0.14175e-04_rb,0.90802e-05_rb /) kao(:, 3, 4, 6) = (/ & & 0.18213e-07_rb,0.25556e-05_rb,0.45678e-05_rb,0.63789e-05_rb,0.81071e-05_rb, & & 0.98077e-05_rb,0.11694e-04_rb,0.14301e-04_rb,0.91538e-05_rb /) kao(:, 4, 4, 6) = (/ & & 0.19097e-07_rb,0.26037e-05_rb,0.46288e-05_rb,0.64476e-05_rb,0.81897e-05_rb, & & 0.98941e-05_rb,0.11740e-04_rb,0.14344e-04_rb,0.91968e-05_rb /) kao(:, 5, 4, 6) = (/ & & 0.18014e-07_rb,0.29993e-05_rb,0.53622e-05_rb,0.75209e-05_rb,0.95686e-05_rb, & & 0.11571e-04_rb,0.13783e-04_rb,0.16522e-04_rb,0.11644e-04_rb /) kao(:, 1, 5, 6) = (/ & & 0.21237e-07_rb,0.20921e-05_rb,0.37961e-05_rb,0.53264e-05_rb,0.67905e-05_rb, & & 0.82846e-05_rb,0.99803e-05_rb,0.12512e-04_rb,0.44075e-05_rb /) kao(:, 2, 5, 6) = (/ & & 0.23885e-07_rb,0.21444e-05_rb,0.38676e-05_rb,0.54146e-05_rb,0.68931e-05_rb, & & 0.83832e-05_rb,0.10077e-04_rb,0.12417e-04_rb,0.44982e-05_rb /) kao(:, 3, 5, 6) = (/ & & 0.20851e-07_rb,0.21906e-05_rb,0.39301e-05_rb,0.54900e-05_rb,0.69833e-05_rb, & & 0.84513e-05_rb,0.10145e-04_rb,0.12513e-04_rb,0.45299e-05_rb /) kao(:, 4, 5, 6) = (/ & & 0.22487e-07_rb,0.22322e-05_rb,0.39843e-05_rb,0.55506e-05_rb,0.70502e-05_rb, & & 0.85357e-05_rb,0.10189e-04_rb,0.12546e-04_rb,0.45220e-05_rb /) kao(:, 5, 5, 6) = (/ & & 0.23015e-07_rb,0.26442e-05_rb,0.47363e-05_rb,0.66520e-05_rb,0.84676e-05_rb, & & 0.10272e-04_rb,0.12268e-04_rb,0.14801e-04_rb,0.72945e-05_rb /) kao(:, 1, 6, 6) = (/ & & 0.22693e-07_rb,0.17592e-05_rb,0.32289e-05_rb,0.45327e-05_rb,0.57876e-05_rb, & & 0.70822e-05_rb,0.85643e-05_rb,0.10966e-04_rb,0.53375e-05_rb /) kao(:, 2, 6, 6) = (/ & & 0.22407e-07_rb,0.18081e-05_rb,0.32912e-05_rb,0.46136e-05_rb,0.58716e-05_rb, & & 0.71710e-05_rb,0.86530e-05_rb,0.10805e-04_rb,0.53845e-05_rb /) kao(:, 3, 6, 6) = (/ & & 0.22705e-07_rb,0.18504e-05_rb,0.33475e-05_rb,0.46786e-05_rb,0.59585e-05_rb, & & 0.72252e-05_rb,0.87123e-05_rb,0.10876e-04_rb,0.53808e-05_rb /) kao(:, 4, 6, 6) = (/ & & 0.23941e-07_rb,0.18862e-05_rb,0.33938e-05_rb,0.47325e-05_rb,0.60159e-05_rb, & & 0.72910e-05_rb,0.87573e-05_rb,0.10893e-04_rb,0.53357e-05_rb /) kao(:, 5, 6, 6) = (/ & & 0.27004e-07_rb,0.19136e-05_rb,0.34294e-05_rb,0.47766e-05_rb,0.60573e-05_rb, & & 0.73309e-05_rb,0.87892e-05_rb,0.10892e-04_rb,0.52484e-05_rb /) kao(:, 1, 7, 6) = (/ & & 0.27131e-07_rb,0.14236e-05_rb,0.27128e-05_rb,0.38203e-05_rb,0.48870e-05_rb, & & 0.59983e-05_rb,0.72827e-05_rb,0.94729e-05_rb,0.86942e-05_rb /) kao(:, 2, 7, 6) = (/ & & 0.26214e-07_rb,0.14673e-05_rb,0.27677e-05_rb,0.38940e-05_rb,0.49627e-05_rb, & & 0.60727e-05_rb,0.73587e-05_rb,0.93332e-05_rb,0.87651e-05_rb /) kao(:, 3, 7, 6) = (/ & & 0.29249e-07_rb,0.15085e-05_rb,0.28175e-05_rb,0.39503e-05_rb,0.50362e-05_rb, & & 0.61230e-05_rb,0.74095e-05_rb,0.93608e-05_rb,0.87497e-05_rb /) kao(:, 4, 7, 6) = (/ & & 0.35846e-07_rb,0.15423e-05_rb,0.28570e-05_rb,0.39988e-05_rb,0.50875e-05_rb, & & 0.61709e-05_rb,0.74491e-05_rb,0.93691e-05_rb,0.88300e-05_rb /) kao(:, 5, 7, 6) = (/ & & 0.36255e-07_rb,0.15665e-05_rb,0.28868e-05_rb,0.40378e-05_rb,0.51248e-05_rb, & & 0.62083e-05_rb,0.74689e-05_rb,0.93597e-05_rb,0.88065e-05_rb /) kao(:, 1, 8, 6) = (/ & & 0.37619e-07_rb,0.92017e-06_rb,0.22295e-05_rb,0.31821e-05_rb,0.40883e-05_rb, & & 0.50331e-05_rb,0.61447e-05_rb,0.80461e-05_rb,0.15512e-04_rb /) kao(:, 2, 8, 6) = (/ & & 0.43015e-07_rb,0.95048e-06_rb,0.22782e-05_rb,0.32493e-05_rb,0.41585e-05_rb, & & 0.50968e-05_rb,0.61995e-05_rb,0.80232e-05_rb,0.15472e-04_rb /) kao(:, 3, 8, 6) = (/ & & 0.47635e-07_rb,0.97934e-06_rb,0.23207e-05_rb,0.33002e-05_rb,0.42181e-05_rb, & & 0.51430e-05_rb,0.62468e-05_rb,0.79821e-05_rb,0.15652e-04_rb /) kao(:, 4, 8, 6) = (/ & & 0.48140e-07_rb,0.10026e-05_rb,0.23582e-05_rb,0.33416e-05_rb,0.42650e-05_rb, & & 0.51734e-05_rb,0.62779e-05_rb,0.79833e-05_rb,0.15762e-04_rb /) kao(:, 5, 8, 6) = (/ & & 0.45231e-07_rb,0.10212e-05_rb,0.23819e-05_rb,0.33754e-05_rb,0.42991e-05_rb, & & 0.52146e-05_rb,0.62945e-05_rb,0.79701e-05_rb,0.15840e-04_rb /) kao(:, 1, 9, 6) = (/ & & 0.48601e-07_rb,0.49350e-06_rb,0.16585e-05_rb,0.26009e-05_rb,0.33796e-05_rb, & & 0.41888e-05_rb,0.51434e-05_rb,0.67867e-05_rb,0.26875e-04_rb /) kao(:, 2, 9, 6) = (/ & & 0.49825e-07_rb,0.51680e-06_rb,0.16935e-05_rb,0.26607e-05_rb,0.34457e-05_rb, & & 0.42434e-05_rb,0.51839e-05_rb,0.68587e-05_rb,0.27475e-04_rb /) kao(:, 3, 9, 6) = (/ & & 0.52843e-07_rb,0.53573e-06_rb,0.17199e-05_rb,0.27038e-05_rb,0.35027e-05_rb, & & 0.42858e-05_rb,0.52233e-05_rb,0.67410e-05_rb,0.28097e-04_rb /) kao(:, 4, 9, 6) = (/ & & 0.49841e-07_rb,0.54248e-06_rb,0.17493e-05_rb,0.27418e-05_rb,0.35427e-05_rb, & & 0.43127e-05_rb,0.52517e-05_rb,0.67418e-05_rb,0.28632e-04_rb /) kao(:, 5, 9, 6) = (/ & & 0.50649e-07_rb,0.54940e-06_rb,0.17700e-05_rb,0.27695e-05_rb,0.35712e-05_rb, & & 0.43482e-05_rb,0.52645e-05_rb,0.67282e-05_rb,0.28662e-04_rb /) kao(:, 1,10, 6) = (/ & & 0.82685e-07_rb,0.54022e-06_rb,0.87761e-06_rb,0.18752e-05_rb,0.27293e-05_rb, & & 0.34506e-05_rb,0.42821e-05_rb,0.56501e-05_rb,0.44067e-04_rb /) kao(:, 2,10, 6) = (/ & & 0.87011e-07_rb,0.54017e-06_rb,0.89732e-06_rb,0.19208e-05_rb,0.27945e-05_rb, & & 0.35005e-05_rb,0.43124e-05_rb,0.57881e-05_rb,0.45858e-04_rb /) kao(:, 3,10, 6) = (/ & & 0.79909e-07_rb,0.55355e-06_rb,0.90995e-06_rb,0.19451e-05_rb,0.28460e-05_rb, & & 0.35425e-05_rb,0.43438e-05_rb,0.56593e-05_rb,0.45805e-04_rb /) kao(:, 4,10, 6) = (/ & & 0.75533e-07_rb,0.55705e-06_rb,0.92147e-06_rb,0.19661e-05_rb,0.28785e-05_rb, & & 0.35628e-05_rb,0.43635e-05_rb,0.56526e-05_rb,0.46295e-04_rb /) kao(:, 5,10, 6) = (/ & & 0.76631e-07_rb,0.55159e-06_rb,0.93362e-06_rb,0.19832e-05_rb,0.29003e-05_rb, & & 0.35965e-05_rb,0.43731e-05_rb,0.56385e-05_rb,0.46720e-04_rb /) kao(:, 1,11, 6) = (/ & & 0.11164e-06_rb,0.57710e-06_rb,0.71279e-06_rb,0.10003e-05_rb,0.19253e-05_rb, & & 0.28027e-05_rb,0.35523e-05_rb,0.47607e-05_rb,0.51144e-04_rb /) kao(:, 2,11, 6) = (/ & & 0.11484e-06_rb,0.58649e-06_rb,0.71918e-06_rb,0.10167e-05_rb,0.19538e-05_rb, & & 0.28431e-05_rb,0.35713e-05_rb,0.48333e-05_rb,0.49887e-04_rb /) kao(:, 3,11, 6) = (/ & & 0.11442e-06_rb,0.58483e-06_rb,0.70503e-06_rb,0.10320e-05_rb,0.19684e-05_rb, & & 0.28674e-05_rb,0.35911e-05_rb,0.47191e-05_rb,0.50222e-04_rb /) kao(:, 4,11, 6) = (/ & & 0.11737e-06_rb,0.58895e-06_rb,0.70242e-06_rb,0.10442e-05_rb,0.19738e-05_rb, & & 0.28962e-05_rb,0.36035e-05_rb,0.47045e-05_rb,0.48754e-04_rb /) kao(:, 5,11, 6) = (/ & & 0.12314e-06_rb,0.59299e-06_rb,0.70874e-06_rb,0.10470e-05_rb,0.19736e-05_rb, & & 0.29100e-05_rb,0.36075e-05_rb,0.46813e-05_rb,0.45986e-04_rb /) kao(:, 1,12, 6) = (/ & & 0.14446e-06_rb,0.57459e-06_rb,0.72800e-06_rb,0.69912e-06_rb,0.11693e-05_rb, & & 0.21457e-05_rb,0.29151e-05_rb,0.39683e-05_rb,0.42970e-04_rb /) kao(:, 2,12, 6) = (/ & & 0.14738e-06_rb,0.58568e-06_rb,0.75374e-06_rb,0.69814e-06_rb,0.11797e-05_rb, & & 0.21759e-05_rb,0.29287e-05_rb,0.39942e-05_rb,0.41434e-04_rb /) kao(:, 3,12, 6) = (/ & & 0.15006e-06_rb,0.60144e-06_rb,0.75420e-06_rb,0.70559e-06_rb,0.11849e-05_rb, & & 0.21718e-05_rb,0.29383e-05_rb,0.39185e-05_rb,0.42909e-04_rb /) kao(:, 4,12, 6) = (/ & & 0.15745e-06_rb,0.60776e-06_rb,0.75984e-06_rb,0.71270e-06_rb,0.11804e-05_rb, & & 0.21578e-05_rb,0.29477e-05_rb,0.38939e-05_rb,0.41761e-04_rb /) kao(:, 5,12, 6) = (/ & & 0.16583e-06_rb,0.62207e-06_rb,0.74591e-06_rb,0.69746e-06_rb,0.11751e-05_rb, & & 0.21552e-05_rb,0.29514e-05_rb,0.38695e-05_rb,0.45252e-04_rb /) kao(:, 1,13, 6) = (/ & & 0.18492e-06_rb,0.65841e-06_rb,0.74904e-06_rb,0.82698e-06_rb,0.69790e-06_rb, & & 0.13356e-05_rb,0.23333e-05_rb,0.33010e-05_rb,0.43502e-04_rb /) kao(:, 2,13, 6) = (/ & & 0.18447e-06_rb,0.66115e-06_rb,0.74200e-06_rb,0.80748e-06_rb,0.68676e-06_rb, & & 0.13419e-05_rb,0.23369e-05_rb,0.32873e-05_rb,0.44908e-04_rb /) kao(:, 3,13, 6) = (/ & & 0.20107e-06_rb,0.65387e-06_rb,0.73155e-06_rb,0.79291e-06_rb,0.67848e-06_rb, & & 0.13368e-05_rb,0.23434e-05_rb,0.32337e-05_rb,0.47417e-04_rb /) kao(:, 4,13, 6) = (/ & & 0.20493e-06_rb,0.66191e-06_rb,0.72707e-06_rb,0.79839e-06_rb,0.67208e-06_rb, & & 0.13273e-05_rb,0.23466e-05_rb,0.32075e-05_rb,0.48703e-04_rb /) kao(:, 5,13, 6) = (/ & & 0.20003e-06_rb,0.66753e-06_rb,0.73390e-06_rb,0.79794e-06_rb,0.66936e-06_rb, & & 0.13150e-05_rb,0.23558e-05_rb,0.31828e-05_rb,0.50012e-04_rb /) kao(:, 1, 1, 7) = (/ & & 0.45955e-07_rb,0.96988e-05_rb,0.16766e-04_rb,0.23073e-04_rb,0.28829e-04_rb, & & 0.34350e-04_rb,0.39744e-04_rb,0.45071e-04_rb,0.36783e-04_rb /) kao(:, 2, 1, 7) = (/ & & 0.57268e-07_rb,0.98413e-05_rb,0.16970e-04_rb,0.23311e-04_rb,0.29149e-04_rb, & & 0.34726e-04_rb,0.40229e-04_rb,0.45682e-04_rb,0.37190e-04_rb /) kao(:, 3, 1, 7) = (/ & & 0.70060e-07_rb,0.10517e-04_rb,0.18168e-04_rb,0.24965e-04_rb,0.31264e-04_rb, & & 0.37439e-04_rb,0.43299e-04_rb,0.49335e-04_rb,0.41254e-04_rb /) kao(:, 4, 1, 7) = (/ & & 0.84370e-07_rb,0.10120e-04_rb,0.17302e-04_rb,0.23633e-04_rb,0.29544e-04_rb, & & 0.35368e-04_rb,0.40885e-04_rb,0.46535e-04_rb,0.37819e-04_rb /) kao(:, 5, 1, 7) = (/ & & 0.97346e-07_rb,0.10254e-04_rb,0.17458e-04_rb,0.23773e-04_rb,0.29672e-04_rb, & & 0.35542e-04_rb,0.41140e-04_rb,0.46864e-04_rb,0.38054e-04_rb /) kao(:, 1, 2, 7) = (/ & & 0.27937e-07_rb,0.87332e-05_rb,0.15102e-04_rb,0.20785e-04_rb,0.26002e-04_rb, & & 0.30993e-04_rb,0.35918e-04_rb,0.41124e-04_rb,0.32692e-04_rb /) kao(:, 2, 2, 7) = (/ & & 0.34502e-07_rb,0.88655e-05_rb,0.15279e-04_rb,0.20992e-04_rb,0.26281e-04_rb, & & 0.31393e-04_rb,0.36363e-04_rb,0.41768e-04_rb,0.33047e-04_rb /) kao(:, 3, 2, 7) = (/ & & 0.45243e-07_rb,0.95567e-05_rb,0.16535e-04_rb,0.22740e-04_rb,0.28503e-04_rb, & & 0.34161e-04_rb,0.39521e-04_rb,0.45509e-04_rb,0.37184e-04_rb /) kao(:, 4, 2, 7) = (/ & & 0.56029e-07_rb,0.96404e-05_rb,0.16599e-04_rb,0.22759e-04_rb,0.28526e-04_rb, & & 0.34207e-04_rb,0.39586e-04_rb,0.45601e-04_rb,0.37152e-04_rb /) kao(:, 5, 2, 7) = (/ & & 0.67453e-07_rb,0.92372e-05_rb,0.15744e-04_rb,0.21435e-04_rb,0.26769e-04_rb, & & 0.32085e-04_rb,0.37228e-04_rb,0.42908e-04_rb,0.33841e-04_rb /) kao(:, 1, 3, 7) = (/ & & 0.21909e-07_rb,0.77821e-05_rb,0.13457e-04_rb,0.18525e-04_rb,0.23194e-04_rb, & & 0.27662e-04_rb,0.32086e-04_rb,0.37089e-04_rb,0.28700e-04_rb /) kao(:, 2, 3, 7) = (/ & & 0.25816e-07_rb,0.78998e-05_rb,0.13627e-04_rb,0.18723e-04_rb,0.23459e-04_rb, & & 0.28049e-04_rb,0.32494e-04_rb,0.37775e-04_rb,0.29060e-04_rb /) kao(:, 3, 3, 7) = (/ & & 0.28009e-07_rb,0.80177e-05_rb,0.13778e-04_rb,0.18883e-04_rb,0.23652e-04_rb, & & 0.28348e-04_rb,0.32831e-04_rb,0.38183e-04_rb,0.29363e-04_rb /) kao(:, 4, 3, 7) = (/ & & 0.32250e-07_rb,0.87000e-05_rb,0.14997e-04_rb,0.20591e-04_rb,0.25858e-04_rb, & & 0.30984e-04_rb,0.35855e-04_rb,0.41716e-04_rb,0.33352e-04_rb /) kao(:, 5, 3, 7) = (/ & & 0.38565e-07_rb,0.82442e-05_rb,0.14048e-04_rb,0.19147e-04_rb,0.23963e-04_rb, & & 0.28712e-04_rb,0.33322e-04_rb,0.38841e-04_rb,0.29827e-04_rb /) kao(:, 1, 4, 7) = (/ & & 0.27845e-07_rb,0.68782e-05_rb,0.11887e-04_rb,0.16370e-04_rb,0.20522e-04_rb, & & 0.24507e-04_rb,0.28445e-04_rb,0.33146e-04_rb,0.25091e-04_rb /) kao(:, 2, 4, 7) = (/ & & 0.30162e-07_rb,0.69860e-05_rb,0.12053e-04_rb,0.16569e-04_rb,0.20786e-04_rb, & & 0.24863e-04_rb,0.28833e-04_rb,0.33823e-04_rb,0.25439e-04_rb /) kao(:, 3, 4, 7) = (/ & & 0.31547e-07_rb,0.70934e-05_rb,0.12196e-04_rb,0.16734e-04_rb,0.20984e-04_rb, & & 0.25140e-04_rb,0.29167e-04_rb,0.34188e-04_rb,0.25743e-04_rb /) kao(:, 4, 4, 7) = (/ & & 0.30733e-07_rb,0.72009e-05_rb,0.12319e-04_rb,0.16870e-04_rb,0.21150e-04_rb, & & 0.25350e-04_rb,0.29432e-04_rb,0.34551e-04_rb,0.26011e-04_rb /) kao(:, 5, 4, 7) = (/ & & 0.33104e-07_rb,0.78742e-05_rb,0.13511e-04_rb,0.18536e-04_rb,0.23314e-04_rb, & & 0.27934e-04_rb,0.32284e-04_rb,0.37983e-04_rb,0.29911e-04_rb /) kao(:, 1, 5, 7) = (/ & & 0.31453e-07_rb,0.60344e-05_rb,0.10431e-04_rb,0.14360e-04_rb,0.18025e-04_rb, & & 0.21556e-04_rb,0.25057e-04_rb,0.29352e-04_rb,0.21244e-04_rb /) kao(:, 2, 5, 7) = (/ & & 0.32645e-07_rb,0.61373e-05_rb,0.10589e-04_rb,0.14561e-04_rb,0.18288e-04_rb, & & 0.21896e-04_rb,0.25427e-04_rb,0.30041e-04_rb,0.21582e-04_rb /) kao(:, 3, 5, 7) = (/ & & 0.36285e-07_rb,0.62371e-05_rb,0.10724e-04_rb,0.14730e-04_rb,0.18494e-04_rb, & & 0.22175e-04_rb,0.25749e-04_rb,0.30401e-04_rb,0.21875e-04_rb /) kao(:, 4, 5, 7) = (/ & & 0.35840e-07_rb,0.63361e-05_rb,0.10841e-04_rb,0.14872e-04_rb,0.18672e-04_rb, & & 0.22386e-04_rb,0.26001e-04_rb,0.30772e-04_rb,0.22136e-04_rb /) kao(:, 5, 5, 7) = (/ & & 0.34391e-07_rb,0.70384e-05_rb,0.12100e-04_rb,0.16639e-04_rb,0.20967e-04_rb, & & 0.25106e-04_rb,0.29033e-04_rb,0.34382e-04_rb,0.26458e-04_rb /) kao(:, 1, 6, 7) = (/ & & 0.38317e-07_rb,0.52554e-05_rb,0.90847e-05_rb,0.12506e-04_rb,0.15706e-04_rb, & & 0.18802e-04_rb,0.21926e-04_rb,0.25721e-04_rb,0.82786e-05_rb /) kao(:, 2, 6, 7) = (/ & & 0.42993e-07_rb,0.53521e-05_rb,0.92425e-05_rb,0.12708e-04_rb,0.15965e-04_rb, & & 0.19131e-04_rb,0.22269e-04_rb,0.26449e-04_rb,0.85145e-05_rb /) kao(:, 3, 6, 7) = (/ & & 0.43612e-07_rb,0.54474e-05_rb,0.93707e-05_rb,0.12875e-04_rb,0.16176e-04_rb, & & 0.19407e-04_rb,0.22575e-04_rb,0.26830e-04_rb,0.87594e-05_rb /) kao(:, 4, 6, 7) = (/ & & 0.42757e-07_rb,0.55405e-05_rb,0.94823e-05_rb,0.13019e-04_rb,0.16363e-04_rb, & & 0.19625e-04_rb,0.22815e-04_rb,0.27200e-04_rb,0.90170e-05_rb /) kao(:, 5, 6, 7) = (/ & & 0.43664e-07_rb,0.56274e-05_rb,0.95923e-05_rb,0.13140e-04_rb,0.16520e-04_rb, & & 0.19797e-04_rb,0.22995e-04_rb,0.27528e-04_rb,0.91836e-05_rb /) kao(:, 1, 7, 7) = (/ & & 0.39995e-07_rb,0.45414e-05_rb,0.78502e-05_rb,0.10801e-04_rb,0.13562e-04_rb, & & 0.16248e-04_rb,0.19009e-04_rb,0.22439e-04_rb,0.93804e-05_rb /) kao(:, 2, 7, 7) = (/ & & 0.43614e-07_rb,0.46331e-05_rb,0.80059e-05_rb,0.11000e-04_rb,0.13813e-04_rb, & & 0.16577e-04_rb,0.19346e-04_rb,0.23103e-04_rb,0.95334e-05_rb /) kao(:, 3, 7, 7) = (/ & & 0.45687e-07_rb,0.47201e-05_rb,0.81316e-05_rb,0.11167e-04_rb,0.14031e-04_rb, & & 0.16844e-04_rb,0.19646e-04_rb,0.23513e-04_rb,0.96503e-05_rb /) kao(:, 4, 7, 7) = (/ & & 0.48386e-07_rb,0.48081e-05_rb,0.82413e-05_rb,0.11310e-04_rb,0.14223e-04_rb, & & 0.17063e-04_rb,0.19885e-04_rb,0.23881e-04_rb,0.95360e-05_rb /) kao(:, 5, 7, 7) = (/ & & 0.54287e-07_rb,0.48899e-05_rb,0.83473e-05_rb,0.11434e-04_rb,0.14383e-04_rb, & & 0.17240e-04_rb,0.20064e-04_rb,0.24201e-04_rb,0.94267e-05_rb /) kao(:, 1, 8, 7) = (/ & & 0.45720e-07_rb,0.38685e-05_rb,0.67269e-05_rb,0.92537e-05_rb,0.11613e-04_rb, & & 0.13930e-04_rb,0.16333e-04_rb,0.19500e-04_rb,0.15537e-04_rb /) kao(:, 2, 8, 7) = (/ & & 0.46817e-07_rb,0.39568e-05_rb,0.68775e-05_rb,0.94493e-05_rb,0.11857e-04_rb, & & 0.14250e-04_rb,0.16679e-04_rb,0.19983e-04_rb,0.15822e-04_rb /) kao(:, 3, 8, 7) = (/ & & 0.48700e-07_rb,0.40362e-05_rb,0.70012e-05_rb,0.96148e-05_rb,0.12076e-04_rb, & & 0.14508e-04_rb,0.16969e-04_rb,0.20440e-04_rb,0.15878e-04_rb /) kao(:, 4, 8, 7) = (/ & & 0.54460e-07_rb,0.41199e-05_rb,0.71098e-05_rb,0.97580e-05_rb,0.12268e-04_rb, & & 0.14725e-04_rb,0.17206e-04_rb,0.20805e-04_rb,0.16014e-04_rb /) kao(:, 5, 8, 7) = (/ & & 0.59565e-07_rb,0.42000e-05_rb,0.72128e-05_rb,0.98789e-05_rb,0.12424e-04_rb, & & 0.14896e-04_rb,0.17382e-04_rb,0.21113e-04_rb,0.15894e-04_rb /) kao(:, 1, 9, 7) = (/ & & 0.60502e-07_rb,0.31758e-05_rb,0.57011e-05_rb,0.78602e-05_rb,0.98646e-05_rb, & & 0.11842e-04_rb,0.13914e-04_rb,0.16812e-04_rb,0.32738e-04_rb /) kao(:, 2, 9, 7) = (/ & & 0.61920e-07_rb,0.32583e-05_rb,0.58474e-05_rb,0.80501e-05_rb,0.10097e-04_rb, & & 0.12150e-04_rb,0.14260e-04_rb,0.17128e-04_rb,0.32707e-04_rb /) kao(:, 3, 9, 7) = (/ & & 0.66102e-07_rb,0.33410e-05_rb,0.59686e-05_rb,0.82148e-05_rb,0.10310e-04_rb, & & 0.12398e-04_rb,0.14542e-04_rb,0.17650e-04_rb,0.33629e-04_rb /) kao(:, 4, 9, 7) = (/ & & 0.86168e-07_rb,0.34261e-05_rb,0.60763e-05_rb,0.83539e-05_rb,0.10496e-04_rb, & & 0.12604e-04_rb,0.14773e-04_rb,0.17994e-04_rb,0.33878e-04_rb /) kao(:, 5, 9, 7) = (/ & & 0.91586e-07_rb,0.35057e-05_rb,0.61764e-05_rb,0.84703e-05_rb,0.10646e-04_rb, & & 0.12765e-04_rb,0.14939e-04_rb,0.18282e-04_rb,0.33645e-04_rb /) kao(:, 1,10, 7) = (/ & & 0.96997e-07_rb,0.19211e-05_rb,0.47098e-05_rb,0.66155e-05_rb,0.83225e-05_rb, & & 0.10005e-04_rb,0.11773e-04_rb,0.14404e-04_rb,0.53631e-04_rb /) kao(:, 2,10, 7) = (/ & & 0.96064e-07_rb,0.20141e-05_rb,0.48491e-05_rb,0.67941e-05_rb,0.85382e-05_rb, & & 0.10290e-04_rb,0.12102e-04_rb,0.14626e-04_rb,0.54289e-04_rb /) kao(:, 3,10, 7) = (/ & & 0.10431e-06_rb,0.20834e-05_rb,0.49690e-05_rb,0.69520e-05_rb,0.87398e-05_rb, & & 0.10520e-04_rb,0.12369e-04_rb,0.15124e-04_rb,0.55603e-04_rb /) kao(:, 4,10, 7) = (/ & & 0.11432e-06_rb,0.21653e-05_rb,0.50755e-05_rb,0.70852e-05_rb,0.89148e-05_rb, & & 0.10714e-04_rb,0.12591e-04_rb,0.15457e-04_rb,0.56630e-04_rb /) kao(:, 5,10, 7) = (/ & & 0.11074e-06_rb,0.22480e-05_rb,0.51732e-05_rb,0.71951e-05_rb,0.90530e-05_rb, & & 0.10860e-04_rb,0.12745e-04_rb,0.15721e-04_rb,0.54963e-04_rb /) kao(:, 1,11, 7) = (/ & & 0.15854e-06_rb,0.91297e-06_rb,0.32555e-05_rb,0.55113e-05_rb,0.70464e-05_rb, & & 0.85121e-05_rb,0.10027e-04_rb,0.12303e-04_rb,0.52607e-04_rb /) kao(:, 2,11, 7) = (/ & & 0.16751e-06_rb,0.96634e-06_rb,0.33790e-05_rb,0.56722e-05_rb,0.72351e-05_rb, & & 0.87519e-05_rb,0.10311e-04_rb,0.12547e-04_rb,0.52883e-04_rb /) kao(:, 3,11, 7) = (/ & & 0.16741e-06_rb,0.10318e-05_rb,0.35064e-05_rb,0.58058e-05_rb,0.74099e-05_rb, & & 0.89413e-05_rb,0.10546e-04_rb,0.12998e-04_rb,0.52407e-04_rb /) kao(:, 4,11, 7) = (/ & & 0.16708e-06_rb,0.10925e-05_rb,0.36064e-05_rb,0.59145e-05_rb,0.75531e-05_rb, & & 0.90996e-05_rb,0.10715e-04_rb,0.13285e-04_rb,0.53203e-04_rb /) kao(:, 5,11, 7) = (/ & & 0.16578e-06_rb,0.11490e-05_rb,0.36852e-05_rb,0.60104e-05_rb,0.76652e-05_rb, & & 0.92182e-05_rb,0.10838e-04_rb,0.13496e-04_rb,0.54467e-04_rb /) kao(:, 1,12, 7) = (/ & & 0.17287e-06_rb,0.67222e-06_rb,0.20177e-05_rb,0.42045e-05_rb,0.58863e-05_rb, & & 0.71911e-05_rb,0.84904e-05_rb,0.10467e-04_rb,0.53824e-04_rb /) kao(:, 2,12, 7) = (/ & & 0.17534e-06_rb,0.66930e-06_rb,0.20902e-05_rb,0.43510e-05_rb,0.60518e-05_rb, & & 0.73834e-05_rb,0.87285e-05_rb,0.10723e-04_rb,0.57713e-04_rb /) kao(:, 3,12, 7) = (/ & & 0.19862e-06_rb,0.69271e-06_rb,0.21807e-05_rb,0.44473e-05_rb,0.61938e-05_rb, & & 0.75395e-05_rb,0.89230e-05_rb,0.11082e-04_rb,0.58727e-04_rb /) kao(:, 4,12, 7) = (/ & & 0.20481e-06_rb,0.70155e-06_rb,0.22437e-05_rb,0.45330e-05_rb,0.63072e-05_rb, & & 0.76639e-05_rb,0.90515e-05_rb,0.11316e-04_rb,0.62478e-04_rb /) kao(:, 5,12, 7) = (/ & & 0.22362e-06_rb,0.66686e-06_rb,0.23107e-05_rb,0.46277e-05_rb,0.64004e-05_rb, & & 0.77560e-05_rb,0.91460e-05_rb,0.11480e-04_rb,0.61459e-04_rb /) kao(:, 1,13, 7) = (/ & & 0.24394e-06_rb,0.78850e-06_rb,0.10005e-05_rb,0.25869e-05_rb,0.46671e-05_rb, & & 0.60110e-05_rb,0.71462e-05_rb,0.88357e-05_rb,0.59707e-04_rb /) kao(:, 2,13, 7) = (/ & & 0.25387e-06_rb,0.77656e-06_rb,0.10565e-05_rb,0.27093e-05_rb,0.48105e-05_rb, & & 0.61610e-05_rb,0.73436e-05_rb,0.90989e-05_rb,0.60151e-04_rb /) kao(:, 3,13, 7) = (/ & & 0.22260e-06_rb,0.76604e-06_rb,0.11188e-05_rb,0.28168e-05_rb,0.49259e-05_rb, & & 0.62864e-05_rb,0.74912e-05_rb,0.93777e-05_rb,0.58560e-04_rb /) kao(:, 4,13, 7) = (/ & & 0.22499e-06_rb,0.75979e-06_rb,0.11746e-05_rb,0.28869e-05_rb,0.50154e-05_rb, & & 0.63819e-05_rb,0.75933e-05_rb,0.95633e-05_rb,0.61656e-04_rb /) kao(:, 5,13, 7) = (/ & & 0.22527e-06_rb,0.74699e-06_rb,0.12195e-05_rb,0.29526e-05_rb,0.50915e-05_rb, & & 0.64528e-05_rb,0.76669e-05_rb,0.96909e-05_rb,0.60588e-04_rb /) kao(:, 1, 1, 8) = (/ & & 0.29788e-05_rb,0.29380e-04_rb,0.47103e-04_rb,0.62484e-04_rb,0.75923e-04_rb, & & 0.86945e-04_rb,0.96459e-04_rb,0.10727e-03_rb,0.95715e-04_rb /) kao(:, 2, 1, 8) = (/ & & 0.31829e-05_rb,0.29542e-04_rb,0.47406e-04_rb,0.62987e-04_rb,0.76500e-04_rb, & & 0.87575e-04_rb,0.97244e-04_rb,0.10847e-03_rb,0.96769e-04_rb /) kao(:, 3, 1, 8) = (/ & & 0.34017e-05_rb,0.30451e-04_rb,0.49181e-04_rb,0.65673e-04_rb,0.79848e-04_rb, & & 0.91475e-04_rb,0.10206e-03_rb,0.11418e-03_rb,0.10339e-03_rb /) kao(:, 4, 1, 8) = (/ & & 0.36204e-05_rb,0.29858e-04_rb,0.47964e-04_rb,0.63849e-04_rb,0.77416e-04_rb, & & 0.88495e-04_rb,0.98624e-04_rb,0.11030e-03_rb,0.98665e-04_rb /) kao(:, 5, 1, 8) = (/ & & 0.38336e-05_rb,0.30032e-04_rb,0.48176e-04_rb,0.64174e-04_rb,0.77743e-04_rb, & & 0.88899e-04_rb,0.99219e-04_rb,0.11117e-03_rb,0.99410e-04_rb /) kao(:, 1, 2, 8) = (/ & & 0.24422e-05_rb,0.27039e-04_rb,0.43472e-04_rb,0.57657e-04_rb,0.69985e-04_rb, & & 0.80297e-04_rb,0.89716e-04_rb,0.10091e-03_rb,0.87814e-04_rb /) kao(:, 2, 2, 8) = (/ & & 0.26194e-05_rb,0.27224e-04_rb,0.43834e-04_rb,0.58227e-04_rb,0.70564e-04_rb, & & 0.80899e-04_rb,0.90555e-04_rb,0.10201e-03_rb,0.88900e-04_rb /) kao(:, 3, 2, 8) = (/ & & 0.28026e-05_rb,0.28185e-04_rb,0.45675e-04_rb,0.60941e-04_rb,0.73932e-04_rb, & & 0.84933e-04_rb,0.95539e-04_rb,0.10795e-03_rb,0.95932e-04_rb /) kao(:, 4, 2, 8) = (/ & & 0.29807e-05_rb,0.28297e-04_rb,0.45818e-04_rb,0.61151e-04_rb,0.74119e-04_rb, & & 0.85132e-04_rb,0.95905e-04_rb,0.10857e-03_rb,0.96316e-04_rb /) kao(:, 5, 2, 8) = (/ & & 0.31559e-05_rb,0.27777e-04_rb,0.44649e-04_rb,0.59431e-04_rb,0.71821e-04_rb, & & 0.82324e-04_rb,0.92537e-04_rb,0.10487e-03_rb,0.91446e-04_rb /) kao(:, 1, 3, 8) = (/ & & 0.19527e-05_rb,0.24728e-04_rb,0.39864e-04_rb,0.52777e-04_rb,0.63893e-04_rb, & & 0.73441e-04_rb,0.82582e-04_rb,0.93968e-04_rb,0.79571e-04_rb /) kao(:, 2, 3, 8) = (/ & & 0.21028e-05_rb,0.24948e-04_rb,0.40273e-04_rb,0.53366e-04_rb,0.64472e-04_rb, & & 0.74070e-04_rb,0.83496e-04_rb,0.95166e-04_rb,0.80711e-04_rb /) kao(:, 3, 3, 8) = (/ & & 0.22571e-05_rb,0.25146e-04_rb,0.40613e-04_rb,0.53873e-04_rb,0.64998e-04_rb, & & 0.74638e-04_rb,0.84298e-04_rb,0.96249e-04_rb,0.81670e-04_rb /) kao(:, 4, 3, 8) = (/ & & 0.24052e-05_rb,0.26082e-04_rb,0.42367e-04_rb,0.56407e-04_rb,0.68204e-04_rb, & & 0.78600e-04_rb,0.89199e-04_rb,0.10217e-03_rb,0.88502e-04_rb /) kao(:, 5, 3, 8) = (/ & & 0.25493e-05_rb,0.25521e-04_rb,0.41156e-04_rb,0.54597e-04_rb,0.65795e-04_rb, & & 0.75610e-04_rb,0.85600e-04_rb,0.98234e-04_rb,0.83132e-04_rb /) kao(:, 1, 4, 8) = (/ & & 0.15249e-05_rb,0.22458e-04_rb,0.36230e-04_rb,0.47832e-04_rb,0.57788e-04_rb, & & 0.66572e-04_rb,0.75267e-04_rb,0.86613e-04_rb,0.71765e-04_rb /) kao(:, 2, 4, 8) = (/ & & 0.16472e-05_rb,0.22706e-04_rb,0.36674e-04_rb,0.48420e-04_rb,0.58373e-04_rb, & & 0.67233e-04_rb,0.76205e-04_rb,0.87918e-04_rb,0.72872e-04_rb /) kao(:, 3, 4, 8) = (/ & & 0.17727e-05_rb,0.22924e-04_rb,0.37041e-04_rb,0.48925e-04_rb,0.58917e-04_rb, & & 0.67822e-04_rb,0.77056e-04_rb,0.89127e-04_rb,0.73812e-04_rb /) kao(:, 4, 4, 8) = (/ & & 0.18979e-05_rb,0.23116e-04_rb,0.37363e-04_rb,0.49353e-04_rb,0.59386e-04_rb, & & 0.68373e-04_rb,0.77816e-04_rb,0.90208e-04_rb,0.74597e-04_rb /) kao(:, 5, 4, 8) = (/ & & 0.20187e-05_rb,0.24032e-04_rb,0.39090e-04_rb,0.51784e-04_rb,0.62486e-04_rb, & & 0.72274e-04_rb,0.82652e-04_rb,0.95944e-04_rb,0.81360e-04_rb /) kao(:, 1, 5, 8) = (/ & & 0.11616e-05_rb,0.20230e-04_rb,0.32593e-04_rb,0.43015e-04_rb,0.51913e-04_rb, & & 0.59885e-04_rb,0.68041e-04_rb,0.79091e-04_rb,0.64237e-04_rb /) kao(:, 2, 5, 8) = (/ & & 0.12634e-05_rb,0.20493e-04_rb,0.33052e-04_rb,0.43575e-04_rb,0.52485e-04_rb, & & 0.60579e-04_rb,0.68993e-04_rb,0.80447e-04_rb,0.65308e-04_rb /) kao(:, 3, 5, 8) = (/ & & 0.13665e-05_rb,0.20722e-04_rb,0.33449e-04_rb,0.44078e-04_rb,0.53031e-04_rb, & & 0.61206e-04_rb,0.69878e-04_rb,0.81712e-04_rb,0.66219e-04_rb /) kao(:, 4, 5, 8) = (/ & & 0.14654e-05_rb,0.20926e-04_rb,0.33806e-04_rb,0.44507e-04_rb,0.53511e-04_rb, & & 0.61775e-04_rb,0.70644e-04_rb,0.82800e-04_rb,0.67010e-04_rb /) kao(:, 5, 5, 8) = (/ & & 0.15654e-05_rb,0.21919e-04_rb,0.35683e-04_rb,0.47135e-04_rb,0.56892e-04_rb, & & 0.66014e-04_rb,0.75901e-04_rb,0.88948e-04_rb,0.74367e-04_rb /) kao(:, 1, 6, 8) = (/ & & 0.85477e-06_rb,0.18056e-04_rb,0.29058e-04_rb,0.38374e-04_rb,0.46318e-04_rb, & & 0.53503e-04_rb,0.60983e-04_rb,0.71567e-04_rb,0.55220e-04_rb /) kao(:, 2, 6, 8) = (/ & & 0.93399e-06_rb,0.18333e-04_rb,0.29518e-04_rb,0.38924e-04_rb,0.46903e-04_rb, & & 0.54228e-04_rb,0.61990e-04_rb,0.72960e-04_rb,0.56327e-04_rb /) kao(:, 3, 6, 8) = (/ & & 0.10173e-05_rb,0.18568e-04_rb,0.29940e-04_rb,0.39430e-04_rb,0.47457e-04_rb, & & 0.54891e-04_rb,0.62912e-04_rb,0.74219e-04_rb,0.57262e-04_rb /) kao(:, 4, 6, 8) = (/ & & 0.10990e-05_rb,0.18773e-04_rb,0.30321e-04_rb,0.39858e-04_rb,0.47937e-04_rb, & & 0.55463e-04_rb,0.63685e-04_rb,0.75339e-04_rb,0.58060e-04_rb /) kao(:, 5, 6, 8) = (/ & & 0.11736e-05_rb,0.18980e-04_rb,0.30632e-04_rb,0.40210e-04_rb,0.48338e-04_rb, & & 0.55952e-04_rb,0.64349e-04_rb,0.76243e-04_rb,0.58787e-04_rb /) kao(:, 1, 7, 8) = (/ & & 0.60315e-06_rb,0.15982e-04_rb,0.25725e-04_rb,0.33991e-04_rb,0.41066e-04_rb, & & 0.47516e-04_rb,0.54302e-04_rb,0.64196e-04_rb,0.19175e-04_rb /) kao(:, 2, 7, 8) = (/ & & 0.66792e-06_rb,0.16270e-04_rb,0.26184e-04_rb,0.34534e-04_rb,0.41673e-04_rb, & & 0.48253e-04_rb,0.55322e-04_rb,0.65617e-04_rb,0.20214e-04_rb /) kao(:, 3, 7, 8) = (/ & & 0.72908e-06_rb,0.16517e-04_rb,0.26616e-04_rb,0.35037e-04_rb,0.42229e-04_rb, & & 0.48924e-04_rb,0.56239e-04_rb,0.66903e-04_rb,0.21171e-04_rb /) kao(:, 4, 7, 8) = (/ & & 0.78570e-06_rb,0.16735e-04_rb,0.27002e-04_rb,0.35463e-04_rb,0.42700e-04_rb, & & 0.49504e-04_rb,0.57015e-04_rb,0.68011e-04_rb,0.22118e-04_rb /) kao(:, 5, 7, 8) = (/ & & 0.83832e-06_rb,0.16948e-04_rb,0.27325e-04_rb,0.35815e-04_rb,0.43102e-04_rb, & & 0.50003e-04_rb,0.57693e-04_rb,0.68917e-04_rb,0.22989e-04_rb /) kao(:, 1, 8, 8) = (/ & & 0.37835e-06_rb,0.14042e-04_rb,0.22619e-04_rb,0.29906e-04_rb,0.36184e-04_rb, & & 0.41943e-04_rb,0.48058e-04_rb,0.57159e-04_rb,0.15030e-04_rb /) kao(:, 2, 8, 8) = (/ & & 0.42400e-06_rb,0.14336e-04_rb,0.23076e-04_rb,0.30441e-04_rb,0.36790e-04_rb, & & 0.42677e-04_rb,0.49055e-04_rb,0.58574e-04_rb,0.15267e-04_rb /) kao(:, 3, 8, 8) = (/ & & 0.47003e-06_rb,0.14598e-04_rb,0.23503e-04_rb,0.30926e-04_rb,0.37338e-04_rb, & & 0.43345e-04_rb,0.49944e-04_rb,0.59871e-04_rb,0.15168e-04_rb /) kao(:, 4, 8, 8) = (/ & & 0.50983e-06_rb,0.14832e-04_rb,0.23887e-04_rb,0.31342e-04_rb,0.37806e-04_rb, & & 0.43932e-04_rb,0.50714e-04_rb,0.60954e-04_rb,0.15479e-04_rb /) kao(:, 5, 8, 8) = (/ & & 0.55238e-06_rb,0.15050e-04_rb,0.24211e-04_rb,0.31698e-04_rb,0.38215e-04_rb, & & 0.44447e-04_rb,0.51404e-04_rb,0.61843e-04_rb,0.15864e-04_rb /) kao(:, 1, 9, 8) = (/ & & 0.20614e-06_rb,0.12247e-04_rb,0.19755e-04_rb,0.26136e-04_rb,0.31671e-04_rb, & & 0.36795e-04_rb,0.42267e-04_rb,0.50480e-04_rb,0.31415e-04_rb /) kao(:, 2, 9, 8) = (/ & & 0.22820e-06_rb,0.12543e-04_rb,0.20203e-04_rb,0.26660e-04_rb,0.32273e-04_rb, & & 0.37518e-04_rb,0.43228e-04_rb,0.51895e-04_rb,0.32257e-04_rb /) kao(:, 3, 9, 8) = (/ & & 0.25381e-06_rb,0.12814e-04_rb,0.20621e-04_rb,0.27129e-04_rb,0.32814e-04_rb, & & 0.38186e-04_rb,0.44095e-04_rb,0.53151e-04_rb,0.31766e-04_rb /) kao(:, 4, 9, 8) = (/ & & 0.26266e-06_rb,0.13056e-04_rb,0.20991e-04_rb,0.27538e-04_rb,0.33285e-04_rb, & & 0.38781e-04_rb,0.44859e-04_rb,0.54214e-04_rb,0.32184e-04_rb /) kao(:, 5, 9, 8) = (/ & & 0.28878e-06_rb,0.13277e-04_rb,0.21308e-04_rb,0.27899e-04_rb,0.33704e-04_rb, & & 0.39313e-04_rb,0.45556e-04_rb,0.55111e-04_rb,0.32436e-04_rb /) kao(:, 1,10, 8) = (/ & & 0.12421e-06_rb,0.10598e-04_rb,0.17170e-04_rb,0.22745e-04_rb,0.27597e-04_rb, & & 0.32129e-04_rb,0.37024e-04_rb,0.44410e-04_rb,0.36288e-04_rb /) kao(:, 2,10, 8) = (/ & & 0.11833e-06_rb,0.10888e-04_rb,0.17606e-04_rb,0.23251e-04_rb,0.28191e-04_rb, & & 0.32843e-04_rb,0.37957e-04_rb,0.45757e-04_rb,0.36706e-04_rb /) kao(:, 3,10, 8) = (/ & & 0.11564e-06_rb,0.11153e-04_rb,0.18009e-04_rb,0.23706e-04_rb,0.28726e-04_rb, & & 0.33507e-04_rb,0.38804e-04_rb,0.46971e-04_rb,0.39285e-04_rb /) kao(:, 4,10, 8) = (/ & & 0.11888e-06_rb,0.11400e-04_rb,0.18364e-04_rb,0.24104e-04_rb,0.29196e-04_rb, & & 0.34101e-04_rb,0.39555e-04_rb,0.47996e-04_rb,0.37765e-04_rb /) kao(:, 5,10, 8) = (/ & & 0.13250e-06_rb,0.11625e-04_rb,0.18671e-04_rb,0.24463e-04_rb,0.29622e-04_rb, & & 0.34646e-04_rb,0.40249e-04_rb,0.48876e-04_rb,0.41184e-04_rb /) kao(:, 1,11, 8) = (/ & & 0.17958e-06_rb,0.90757e-05_rb,0.15007e-04_rb,0.19889e-04_rb,0.24154e-04_rb, & & 0.28187e-04_rb,0.32636e-04_rb,0.39437e-04_rb,0.34162e-04_rb /) kao(:, 2,11, 8) = (/ & & 0.18139e-06_rb,0.93666e-05_rb,0.15418e-04_rb,0.20361e-04_rb,0.24716e-04_rb, & & 0.28864e-04_rb,0.33507e-04_rb,0.40680e-04_rb,0.35787e-04_rb /) kao(:, 3,11, 8) = (/ & & 0.18275e-06_rb,0.96291e-05_rb,0.15787e-04_rb,0.20786e-04_rb,0.25221e-04_rb, & & 0.29495e-04_rb,0.34295e-04_rb,0.41765e-04_rb,0.33878e-04_rb /) kao(:, 4,11, 8) = (/ & & 0.18574e-06_rb,0.98743e-05_rb,0.16117e-04_rb,0.21165e-04_rb,0.25673e-04_rb, & & 0.30069e-04_rb,0.35015e-04_rb,0.42686e-04_rb,0.32841e-04_rb /) kao(:, 5,11, 8) = (/ & & 0.20082e-06_rb,0.10102e-04_rb,0.16409e-04_rb,0.21512e-04_rb,0.26096e-04_rb, & & 0.30600e-04_rb,0.35678e-04_rb,0.43526e-04_rb,0.33904e-04_rb /) kao(:, 1,12, 8) = (/ & & 0.23860e-06_rb,0.72127e-05_rb,0.13015e-04_rb,0.17297e-04_rb,0.21033e-04_rb, & & 0.24600e-04_rb,0.28604e-04_rb,0.34818e-04_rb,0.40933e-04_rb /) kao(:, 2,12, 8) = (/ & & 0.23391e-06_rb,0.75352e-05_rb,0.13408e-04_rb,0.17740e-04_rb,0.21564e-04_rb, & & 0.25251e-04_rb,0.29426e-04_rb,0.35947e-04_rb,0.39399e-04_rb /) kao(:, 3,12, 8) = (/ & & 0.24701e-06_rb,0.78057e-05_rb,0.13760e-04_rb,0.18144e-04_rb,0.22045e-04_rb, & & 0.25844e-04_rb,0.30162e-04_rb,0.36924e-04_rb,0.38294e-04_rb /) kao(:, 4,12, 8) = (/ & & 0.26761e-06_rb,0.80774e-05_rb,0.14071e-04_rb,0.18509e-04_rb,0.22485e-04_rb, & & 0.26399e-04_rb,0.30850e-04_rb,0.37793e-04_rb,0.37310e-04_rb /) kao(:, 5,12, 8) = (/ & & 0.23665e-06_rb,0.83711e-05_rb,0.14360e-04_rb,0.18850e-04_rb,0.22903e-04_rb, & & 0.26918e-04_rb,0.31485e-04_rb,0.38601e-04_rb,0.34593e-04_rb /) kao(:, 1,13, 8) = (/ & & 0.27521e-06_rb,0.50755e-05_rb,0.11059e-04_rb,0.14942e-04_rb,0.18221e-04_rb, & & 0.21366e-04_rb,0.24941e-04_rb,0.30569e-04_rb,0.35909e-04_rb /) kao(:, 2,13, 8) = (/ & & 0.25317e-06_rb,0.53749e-05_rb,0.11450e-04_rb,0.15364e-04_rb,0.18725e-04_rb, & & 0.21982e-04_rb,0.25707e-04_rb,0.31598e-04_rb,0.37411e-04_rb /) kao(:, 3,13, 8) = (/ & & 0.23895e-06_rb,0.56684e-05_rb,0.11800e-04_rb,0.15745e-04_rb,0.19182e-04_rb, & & 0.22548e-04_rb,0.26403e-04_rb,0.32490e-04_rb,0.35715e-04_rb /) kao(:, 4,13, 8) = (/ & & 0.23323e-06_rb,0.59219e-05_rb,0.12110e-04_rb,0.16104e-04_rb,0.19621e-04_rb, & & 0.23090e-04_rb,0.27069e-04_rb,0.33309e-04_rb,0.26489e-04_rb /) kao(:, 5,13, 8) = (/ & & 0.23115e-06_rb,0.61949e-05_rb,0.12408e-04_rb,0.16438e-04_rb,0.20031e-04_rb, & & 0.23602e-04_rb,0.27683e-04_rb,0.34068e-04_rb,0.26612e-04_rb /) kao(:, 1, 1, 9) = (/ & & 0.91507e-04_rb,0.14710e-03_rb,0.19128e-03_rb,0.22605e-03_rb,0.25532e-03_rb, & & 0.28077e-03_rb,0.30345e-03_rb,0.32646e-03_rb,0.30807e-03_rb /) kao(:, 2, 1, 9) = (/ & & 0.91242e-04_rb,0.14642e-03_rb,0.19074e-03_rb,0.22564e-03_rb,0.25500e-03_rb, & & 0.28086e-03_rb,0.30369e-03_rb,0.32690e-03_rb,0.30957e-03_rb /) kao(:, 3, 1, 9) = (/ & & 0.90877e-04_rb,0.14692e-03_rb,0.19251e-03_rb,0.22869e-03_rb,0.25946e-03_rb, & & 0.28682e-03_rb,0.31087e-03_rb,0.33538e-03_rb,0.32011e-03_rb /) kao(:, 4, 1, 9) = (/ & & 0.90459e-04_rb,0.14494e-03_rb,0.18943e-03_rb,0.22459e-03_rb,0.25465e-03_rb, & & 0.28114e-03_rb,0.30414e-03_rb,0.32755e-03_rb,0.31196e-03_rb /) kao(:, 5, 1, 9) = (/ & & 0.89993e-04_rb,0.14416e-03_rb,0.18875e-03_rb,0.22408e-03_rb,0.25453e-03_rb, & & 0.28137e-03_rb,0.30449e-03_rb,0.32780e-03_rb,0.31307e-03_rb /) kao(:, 1, 2, 9) = (/ & & 0.77262e-04_rb,0.13432e-03_rb,0.17769e-03_rb,0.21240e-03_rb,0.24204e-03_rb, & & 0.26866e-03_rb,0.29235e-03_rb,0.31628e-03_rb,0.29582e-03_rb /) kao(:, 2, 2, 9) = (/ & & 0.77061e-04_rb,0.13375e-03_rb,0.17727e-03_rb,0.21210e-03_rb,0.24206e-03_rb, & & 0.26905e-03_rb,0.29288e-03_rb,0.31707e-03_rb,0.29754e-03_rb /) kao(:, 3, 2, 9) = (/ & & 0.76803e-04_rb,0.13443e-03_rb,0.17926e-03_rb,0.21557e-03_rb,0.24713e-03_rb, & & 0.27557e-03_rb,0.30072e-03_rb,0.32610e-03_rb,0.30880e-03_rb /) kao(:, 4, 2, 9) = (/ & & 0.76502e-04_rb,0.13372e-03_rb,0.17855e-03_rb,0.21503e-03_rb,0.24689e-03_rb, & & 0.27560e-03_rb,0.30084e-03_rb,0.32601e-03_rb,0.30963e-03_rb /) kao(:, 5, 2, 9) = (/ & & 0.76149e-04_rb,0.13198e-03_rb,0.17568e-03_rb,0.21133e-03_rb,0.24254e-03_rb, & & 0.27051e-03_rb,0.29485e-03_rb,0.31890e-03_rb,0.30223e-03_rb /) kao(:, 1, 3, 9) = (/ & & 0.65103e-04_rb,0.12258e-03_rb,0.16452e-03_rb,0.19865e-03_rb,0.22866e-03_rb, & & 0.25591e-03_rb,0.28055e-03_rb,0.30511e-03_rb,0.28178e-03_rb /) kao(:, 2, 3, 9) = (/ & & 0.64961e-04_rb,0.12216e-03_rb,0.16424e-03_rb,0.19863e-03_rb,0.22903e-03_rb, & & 0.25664e-03_rb,0.28152e-03_rb,0.30626e-03_rb,0.28379e-03_rb /) kao(:, 3, 3, 9) = (/ & & 0.64796e-04_rb,0.12170e-03_rb,0.16393e-03_rb,0.19861e-03_rb,0.22948e-03_rb, & & 0.25740e-03_rb,0.28253e-03_rb,0.30727e-03_rb,0.28578e-03_rb /) kao(:, 4, 3, 9) = (/ & & 0.64583e-04_rb,0.12248e-03_rb,0.16600e-03_rb,0.20227e-03_rb,0.23481e-03_rb, & & 0.26421e-03_rb,0.29055e-03_rb,0.31636e-03_rb,0.29736e-03_rb /) kao(:, 5, 3, 9) = (/ & & 0.64341e-04_rb,0.12081e-03_rb,0.16325e-03_rb,0.19869e-03_rb,0.23043e-03_rb, & & 0.25903e-03_rb,0.28445e-03_rb,0.30920e-03_rb,0.28976e-03_rb /) kao(:, 1, 4, 9) = (/ & & 0.54784e-04_rb,0.11174e-03_rb,0.15188e-03_rb,0.18523e-03_rb,0.21503e-03_rb, & & 0.24239e-03_rb,0.26770e-03_rb,0.29311e-03_rb,0.26685e-03_rb /) kao(:, 2, 4, 9) = (/ & & 0.54700e-04_rb,0.11144e-03_rb,0.15177e-03_rb,0.18550e-03_rb,0.21578e-03_rb, & & 0.24348e-03_rb,0.26903e-03_rb,0.29466e-03_rb,0.26928e-03_rb /) kao(:, 3, 4, 9) = (/ & & 0.54592e-04_rb,0.11111e-03_rb,0.15167e-03_rb,0.18578e-03_rb,0.21655e-03_rb, & & 0.24456e-03_rb,0.27029e-03_rb,0.29609e-03_rb,0.27162e-03_rb /) kao(:, 4, 4, 9) = (/ & & 0.54457e-04_rb,0.11078e-03_rb,0.15152e-03_rb,0.18607e-03_rb,0.21728e-03_rb, & & 0.24565e-03_rb,0.27151e-03_rb,0.29746e-03_rb,0.27399e-03_rb /) kao(:, 5, 4, 9) = (/ & & 0.54312e-04_rb,0.11162e-03_rb,0.15369e-03_rb,0.18993e-03_rb,0.22281e-03_rb, & & 0.25263e-03_rb,0.27972e-03_rb,0.30664e-03_rb,0.28593e-03_rb /) kao(:, 1, 5, 9) = (/ & & 0.46088e-04_rb,0.10164e-03_rb,0.13985e-03_rb,0.17192e-03_rb,0.20105e-03_rb, & & 0.22810e-03_rb,0.25365e-03_rb,0.28019e-03_rb,0.25169e-03_rb /) kao(:, 2, 5, 9) = (/ & & 0.46037e-04_rb,0.10150e-03_rb,0.13996e-03_rb,0.17251e-03_rb,0.20208e-03_rb, & & 0.22949e-03_rb,0.25532e-03_rb,0.28211e-03_rb,0.25438e-03_rb /) kao(:, 3, 5, 9) = (/ & & 0.45971e-04_rb,0.10129e-03_rb,0.14008e-03_rb,0.17302e-03_rb,0.20310e-03_rb, & & 0.23085e-03_rb,0.25690e-03_rb,0.28385e-03_rb,0.25702e-03_rb /) kao(:, 4, 5, 9) = (/ & & 0.45890e-04_rb,0.10111e-03_rb,0.14015e-03_rb,0.17355e-03_rb,0.20405e-03_rb, & & 0.23221e-03_rb,0.25843e-03_rb,0.28547e-03_rb,0.25970e-03_rb /) kao(:, 5, 5, 9) = (/ & & 0.45808e-04_rb,0.10210e-03_rb,0.14263e-03_rb,0.17783e-03_rb,0.21010e-03_rb, & & 0.23994e-03_rb,0.26750e-03_rb,0.29545e-03_rb,0.27288e-03_rb /) kao(:, 1, 6, 9) = (/ & & 0.38759e-04_rb,0.92287e-04_rb,0.12830e-03_rb,0.15873e-03_rb,0.18673e-03_rb, & & 0.21305e-03_rb,0.23858e-03_rb,0.26603e-03_rb,0.23576e-03_rb /) kao(:, 2, 6, 9) = (/ & & 0.38742e-04_rb,0.92285e-04_rb,0.12860e-03_rb,0.15956e-03_rb,0.18804e-03_rb, & & 0.21479e-03_rb,0.24061e-03_rb,0.26833e-03_rb,0.23876e-03_rb /) kao(:, 3, 6, 9) = (/ & & 0.38716e-04_rb,0.92248e-04_rb,0.12890e-03_rb,0.16031e-03_rb,0.18934e-03_rb, & & 0.21647e-03_rb,0.24252e-03_rb,0.27042e-03_rb,0.24167e-03_rb /) kao(:, 4, 6, 9) = (/ & & 0.38672e-04_rb,0.92189e-04_rb,0.12914e-03_rb,0.16108e-03_rb,0.19055e-03_rb, & & 0.21815e-03_rb,0.24441e-03_rb,0.27232e-03_rb,0.24468e-03_rb /) kao(:, 5, 6, 9) = (/ & & 0.38631e-04_rb,0.92110e-04_rb,0.12940e-03_rb,0.16181e-03_rb,0.19180e-03_rb, & & 0.21982e-03_rb,0.24634e-03_rb,0.27420e-03_rb,0.24778e-03_rb /) kao(:, 1, 7, 9) = (/ & & 0.32524e-04_rb,0.83578e-04_rb,0.11715e-03_rb,0.14581e-03_rb,0.17242e-03_rb, & & 0.19778e-03_rb,0.22289e-03_rb,0.25099e-03_rb,0.21544e-03_rb /) kao(:, 2, 7, 9) = (/ & & 0.32544e-04_rb,0.83724e-04_rb,0.11765e-03_rb,0.14685e-03_rb,0.17402e-03_rb, & & 0.19984e-03_rb,0.22531e-03_rb,0.25360e-03_rb,0.21897e-03_rb /) kao(:, 3, 7, 9) = (/ & & 0.32541e-04_rb,0.83837e-04_rb,0.11812e-03_rb,0.14785e-03_rb,0.17560e-03_rb, & & 0.20184e-03_rb,0.22764e-03_rb,0.25604e-03_rb,0.22234e-03_rb /) kao(:, 4, 7, 9) = (/ & & 0.32522e-04_rb,0.83911e-04_rb,0.11855e-03_rb,0.14886e-03_rb,0.17710e-03_rb, & & 0.20381e-03_rb,0.22989e-03_rb,0.25831e-03_rb,0.22586e-03_rb /) kao(:, 5, 7, 9) = (/ & & 0.32511e-04_rb,0.83972e-04_rb,0.11899e-03_rb,0.14985e-03_rb,0.17863e-03_rb, & & 0.20577e-03_rb,0.23212e-03_rb,0.26056e-03_rb,0.22930e-03_rb /) kao(:, 1, 8, 9) = (/ & & 0.27162e-04_rb,0.75477e-04_rb,0.10657e-03_rb,0.13337e-03_rb,0.15848e-03_rb, & & 0.18267e-03_rb,0.20707e-03_rb,0.23532e-03_rb,0.10685e-03_rb /) kao(:, 2, 8, 9) = (/ & & 0.27219e-04_rb,0.75747e-04_rb,0.10724e-03_rb,0.13464e-03_rb,0.16036e-03_rb, & & 0.18507e-03_rb,0.20988e-03_rb,0.23834e-03_rb,0.11049e-03_rb /) kao(:, 3, 8, 9) = (/ & & 0.27240e-04_rb,0.75981e-04_rb,0.10788e-03_rb,0.13591e-03_rb,0.16217e-03_rb, & & 0.18731e-03_rb,0.21250e-03_rb,0.24115e-03_rb,0.11463e-03_rb /) kao(:, 4, 8, 9) = (/ & & 0.27241e-04_rb,0.76175e-04_rb,0.10851e-03_rb,0.13715e-03_rb,0.16392e-03_rb, & & 0.18952e-03_rb,0.21504e-03_rb,0.24375e-03_rb,0.11830e-03_rb /) kao(:, 5, 8, 9) = (/ & & 0.27254e-04_rb,0.76338e-04_rb,0.10913e-03_rb,0.13836e-03_rb,0.16569e-03_rb, & & 0.19172e-03_rb,0.21755e-03_rb,0.24638e-03_rb,0.12227e-03_rb /) kao(:, 1, 9, 9) = (/ & & 0.22546e-04_rb,0.67903e-04_rb,0.96628e-04_rb,0.12150e-03_rb,0.14489e-03_rb, & & 0.16757e-03_rb,0.19095e-03_rb,0.21913e-03_rb,0.25626e-04_rb /) kao(:, 2, 9, 9) = (/ & & 0.22635e-04_rb,0.68268e-04_rb,0.97460e-04_rb,0.12301e-03_rb,0.14702e-03_rb, & & 0.17028e-03_rb,0.19411e-03_rb,0.22260e-03_rb,0.25839e-04_rb /) kao(:, 3, 9, 9) = (/ & & 0.22685e-04_rb,0.68616e-04_rb,0.98277e-04_rb,0.12450e-03_rb,0.14909e-03_rb, & & 0.17284e-03_rb,0.19709e-03_rb,0.22578e-03_rb,0.27443e-04_rb /) kao(:, 4, 9, 9) = (/ & & 0.22709e-04_rb,0.68929e-04_rb,0.99095e-04_rb,0.12593e-03_rb,0.15108e-03_rb, & & 0.17530e-03_rb,0.19995e-03_rb,0.22878e-03_rb,0.28531e-04_rb /) kao(:, 5, 9, 9) = (/ & & 0.22740e-04_rb,0.69227e-04_rb,0.99896e-04_rb,0.12734e-03_rb,0.15306e-03_rb, & & 0.17777e-03_rb,0.20277e-03_rb,0.23170e-03_rb,0.28894e-04_rb /) kao(:, 1,10, 9) = (/ & & 0.18403e-04_rb,0.60856e-04_rb,0.87340e-04_rb,0.11017e-03_rb,0.13174e-03_rb, & & 0.15284e-03_rb,0.17492e-03_rb,0.20267e-03_rb,0.31931e-04_rb /) kao(:, 2,10, 9) = (/ & & 0.18527e-04_rb,0.61329e-04_rb,0.88371e-04_rb,0.11191e-03_rb,0.13412e-03_rb, & & 0.15579e-03_rb,0.17838e-03_rb,0.20650e-03_rb,0.29084e-04_rb /) kao(:, 3,10, 9) = (/ & & 0.18600e-04_rb,0.61796e-04_rb,0.89354e-04_rb,0.11363e-03_rb,0.13643e-03_rb, & & 0.15861e-03_rb,0.18170e-03_rb,0.21009e-03_rb,0.27893e-04_rb /) kao(:, 4,10, 9) = (/ & & 0.18642e-04_rb,0.62226e-04_rb,0.90339e-04_rb,0.11526e-03_rb,0.13867e-03_rb, & & 0.16137e-03_rb,0.18486e-03_rb,0.21346e-03_rb,0.33895e-04_rb /) kao(:, 5,10, 9) = (/ & & 0.18688e-04_rb,0.62651e-04_rb,0.91302e-04_rb,0.11690e-03_rb,0.14093e-03_rb, & & 0.16416e-03_rb,0.18804e-03_rb,0.21676e-03_rb,0.31724e-04_rb /) kao(:, 1,11, 9) = (/ & & 0.14636e-04_rb,0.54588e-04_rb,0.79114e-04_rb,0.10030e-03_rb,0.12035e-03_rb, & & 0.14003e-03_rb,0.16089e-03_rb,0.18797e-03_rb,0.24886e-04_rb /) kao(:, 2,11, 9) = (/ & & 0.14721e-04_rb,0.55182e-04_rb,0.80295e-04_rb,0.10221e-03_rb,0.12288e-03_rb, & & 0.14315e-03_rb,0.16455e-03_rb,0.19200e-03_rb,0.28280e-04_rb /) kao(:, 3,11, 9) = (/ & & 0.14784e-04_rb,0.55751e-04_rb,0.81465e-04_rb,0.10405e-03_rb,0.12535e-03_rb, & & 0.14614e-03_rb,0.16802e-03_rb,0.19578e-03_rb,0.31405e-04_rb /) kao(:, 4,11, 9) = (/ & & 0.14831e-04_rb,0.56293e-04_rb,0.82611e-04_rb,0.10589e-03_rb,0.12782e-03_rb, & & 0.14918e-03_rb,0.17147e-03_rb,0.19942e-03_rb,0.34684e-04_rb /) kao(:, 5,11, 9) = (/ & & 0.14856e-04_rb,0.56829e-04_rb,0.83754e-04_rb,0.10776e-03_rb,0.13034e-03_rb, & & 0.15225e-03_rb,0.17499e-03_rb,0.20312e-03_rb,0.30970e-04_rb /) kao(:, 1,12, 9) = (/ & & 0.11572e-04_rb,0.48876e-04_rb,0.71553e-04_rb,0.91191e-04_rb,0.10973e-03_rb, & & 0.12799e-03_rb,0.14756e-03_rb,0.17351e-03_rb,0.30682e-04_rb /) kao(:, 2,12, 9) = (/ & & 0.11642e-04_rb,0.49592e-04_rb,0.72882e-04_rb,0.93233e-04_rb,0.11240e-03_rb, & & 0.13124e-03_rb,0.15132e-03_rb,0.17770e-03_rb,0.31240e-04_rb /) kao(:, 3,12, 9) = (/ & & 0.11629e-04_rb,0.50261e-04_rb,0.74205e-04_rb,0.95210e-04_rb,0.11505e-03_rb, & & 0.13447e-03_rb,0.15502e-03_rb,0.18170e-03_rb,0.31943e-04_rb /) kao(:, 4,12, 9) = (/ & & 0.11633e-04_rb,0.50925e-04_rb,0.75501e-04_rb,0.97246e-04_rb,0.11773e-03_rb, & & 0.13775e-03_rb,0.15878e-03_rb,0.18567e-03_rb,0.23441e-04_rb /) kao(:, 5,12, 9) = (/ & & 0.11677e-04_rb,0.51560e-04_rb,0.76851e-04_rb,0.99310e-04_rb,0.12044e-03_rb, & & 0.14103e-03_rb,0.16255e-03_rb,0.18968e-03_rb,0.23249e-04_rb /) kao(:, 1,13, 9) = (/ & & 0.88185e-05_rb,0.43709e-04_rb,0.64627e-04_rb,0.82824e-04_rb,0.99889e-04_rb, & & 0.11672e-03_rb,0.13488e-03_rb,0.15952e-03_rb,0.30903e-04_rb /) kao(:, 2,13, 9) = (/ & & 0.88986e-05_rb,0.44515e-04_rb,0.66093e-04_rb,0.84980e-04_rb,0.10270e-03_rb, & & 0.12016e-03_rb,0.13885e-03_rb,0.16386e-03_rb,0.25840e-04_rb /) kao(:, 3,13, 9) = (/ & & 0.89568e-05_rb,0.45280e-04_rb,0.67556e-04_rb,0.87134e-04_rb,0.10555e-03_rb, & & 0.12361e-03_rb,0.14282e-03_rb,0.16813e-03_rb,0.26878e-04_rb /) kao(:, 4,13, 9) = (/ & & 0.89829e-05_rb,0.46045e-04_rb,0.69040e-04_rb,0.89346e-04_rb,0.10842e-03_rb, & & 0.12710e-03_rb,0.14682e-03_rb,0.17243e-03_rb,0.28852e-04_rb /) kao(:, 5,13, 9) = (/ & & 0.90413e-05_rb,0.46787e-04_rb,0.70568e-04_rb,0.91561e-04_rb,0.11129e-03_rb, & & 0.13056e-03_rb,0.15080e-03_rb,0.17669e-03_rb,0.28623e-04_rb /) kao(:, 1, 1,10) = (/ & & 0.44112e-03_rb,0.47423e-03_rb,0.54876e-03_rb,0.61567e-03_rb,0.66971e-03_rb, & & 0.71699e-03_rb,0.76347e-03_rb,0.77814e-03_rb,0.77298e-03_rb /) kao(:, 2, 1,10) = (/ & & 0.43794e-03_rb,0.47285e-03_rb,0.54643e-03_rb,0.61370e-03_rb,0.66959e-03_rb, & & 0.71530e-03_rb,0.76226e-03_rb,0.77693e-03_rb,0.76966e-03_rb /) kao(:, 3, 1,10) = (/ & & 0.43480e-03_rb,0.47183e-03_rb,0.54721e-03_rb,0.61831e-03_rb,0.67726e-03_rb, & & 0.72423e-03_rb,0.77288e-03_rb,0.78901e-03_rb,0.78603e-03_rb /) kao(:, 4, 1,10) = (/ & & 0.43220e-03_rb,0.46825e-03_rb,0.54213e-03_rb,0.61349e-03_rb,0.66880e-03_rb, & & 0.71215e-03_rb,0.75938e-03_rb,0.77341e-03_rb,0.76775e-03_rb /) kao(:, 5, 1,10) = (/ & & 0.42987e-03_rb,0.46597e-03_rb,0.54025e-03_rb,0.61237e-03_rb,0.66800e-03_rb, & & 0.70968e-03_rb,0.75599e-03_rb,0.77132e-03_rb,0.76754e-03_rb /) kao(:, 1, 2,10) = (/ & & 0.37934e-03_rb,0.43540e-03_rb,0.51852e-03_rb,0.59327e-03_rb,0.65919e-03_rb, & & 0.71028e-03_rb,0.75523e-03_rb,0.78660e-03_rb,0.77018e-03_rb /) kao(:, 2, 2,10) = (/ & & 0.37616e-03_rb,0.43418e-03_rb,0.51743e-03_rb,0.59232e-03_rb,0.65869e-03_rb, & & 0.70879e-03_rb,0.75385e-03_rb,0.78506e-03_rb,0.76914e-03_rb /) kao(:, 3, 2,10) = (/ & & 0.37285e-03_rb,0.43338e-03_rb,0.51992e-03_rb,0.59796e-03_rb,0.66588e-03_rb, & & 0.71863e-03_rb,0.76525e-03_rb,0.79746e-03_rb,0.78726e-03_rb /) kao(:, 4, 2,10) = (/ & & 0.36993e-03_rb,0.43092e-03_rb,0.51858e-03_rb,0.59729e-03_rb,0.66425e-03_rb, & & 0.71582e-03_rb,0.76129e-03_rb,0.79428e-03_rb,0.78557e-03_rb /) kao(:, 5, 2,10) = (/ & & 0.36795e-03_rb,0.42667e-03_rb,0.51498e-03_rb,0.59125e-03_rb,0.65451e-03_rb, & & 0.70295e-03_rb,0.74646e-03_rb,0.77706e-03_rb,0.76846e-03_rb /) kao(:, 1, 3,10) = (/ & & 0.32398e-03_rb,0.39840e-03_rb,0.48910e-03_rb,0.57202e-03_rb,0.64247e-03_rb, & & 0.69920e-03_rb,0.74272e-03_rb,0.78560e-03_rb,0.76158e-03_rb /) kao(:, 2, 3,10) = (/ & & 0.32107e-03_rb,0.39683e-03_rb,0.48877e-03_rb,0.57106e-03_rb,0.64200e-03_rb, & & 0.69780e-03_rb,0.74068e-03_rb,0.78389e-03_rb,0.76255e-03_rb /) kao(:, 3, 3,10) = (/ & & 0.31808e-03_rb,0.39502e-03_rb,0.48851e-03_rb,0.57104e-03_rb,0.64052e-03_rb, & & 0.69677e-03_rb,0.73846e-03_rb,0.78156e-03_rb,0.76341e-03_rb /) kao(:, 4, 3,10) = (/ & & 0.31534e-03_rb,0.39419e-03_rb,0.49223e-03_rb,0.57621e-03_rb,0.64746e-03_rb, & & 0.70569e-03_rb,0.74986e-03_rb,0.79350e-03_rb,0.78192e-03_rb /) kao(:, 5, 3,10) = (/ & & 0.31343e-03_rb,0.39031e-03_rb,0.48789e-03_rb,0.56911e-03_rb,0.63804e-03_rb, & & 0.69322e-03_rb,0.73529e-03_rb,0.77554e-03_rb,0.76249e-03_rb /) kao(:, 1, 4,10) = (/ & & 0.27516e-03_rb,0.36405e-03_rb,0.46107e-03_rb,0.54790e-03_rb,0.62253e-03_rb, & & 0.68384e-03_rb,0.73057e-03_rb,0.77856e-03_rb,0.74793e-03_rb /) kao(:, 2, 4,10) = (/ & & 0.27272e-03_rb,0.36262e-03_rb,0.46080e-03_rb,0.54700e-03_rb,0.62201e-03_rb, & & 0.68300e-03_rb,0.72976e-03_rb,0.77591e-03_rb,0.74919e-03_rb /) kao(:, 3, 4,10) = (/ & & 0.26991e-03_rb,0.36139e-03_rb,0.46064e-03_rb,0.54673e-03_rb,0.62063e-03_rb, & & 0.68269e-03_rb,0.72862e-03_rb,0.77298e-03_rb,0.75070e-03_rb /) kao(:, 4, 4,10) = (/ & & 0.26757e-03_rb,0.35993e-03_rb,0.46053e-03_rb,0.54625e-03_rb,0.61982e-03_rb, & & 0.68167e-03_rb,0.72799e-03_rb,0.77005e-03_rb,0.75046e-03_rb /) kao(:, 5, 4,10) = (/ & & 0.26556e-03_rb,0.36025e-03_rb,0.46433e-03_rb,0.55132e-03_rb,0.62683e-03_rb, & & 0.69143e-03_rb,0.74137e-03_rb,0.78366e-03_rb,0.76845e-03_rb /) kao(:, 1, 5,10) = (/ & & 0.23277e-03_rb,0.33279e-03_rb,0.43313e-03_rb,0.52236e-03_rb,0.59970e-03_rb, & & 0.66464e-03_rb,0.71686e-03_rb,0.76626e-03_rb,0.72457e-03_rb /) kao(:, 2, 5,10) = (/ & & 0.23078e-03_rb,0.33167e-03_rb,0.43303e-03_rb,0.52181e-03_rb,0.60054e-03_rb, & & 0.66529e-03_rb,0.71807e-03_rb,0.76458e-03_rb,0.72852e-03_rb /) kao(:, 3, 5,10) = (/ & & 0.22839e-03_rb,0.33111e-03_rb,0.43245e-03_rb,0.52229e-03_rb,0.60068e-03_rb, & & 0.66640e-03_rb,0.71880e-03_rb,0.76367e-03_rb,0.73165e-03_rb /) kao(:, 4, 5,10) = (/ & & 0.22634e-03_rb,0.33010e-03_rb,0.43234e-03_rb,0.52220e-03_rb,0.60179e-03_rb, & & 0.66699e-03_rb,0.71996e-03_rb,0.76305e-03_rb,0.73316e-03_rb /) kao(:, 5, 5,10) = (/ & & 0.22442e-03_rb,0.33158e-03_rb,0.43680e-03_rb,0.52864e-03_rb,0.61018e-03_rb, & & 0.67770e-03_rb,0.73371e-03_rb,0.78031e-03_rb,0.75138e-03_rb /) kao(:, 1, 6,10) = (/ & & 0.19685e-03_rb,0.30442e-03_rb,0.40547e-03_rb,0.49610e-03_rb,0.57453e-03_rb, & & 0.64299e-03_rb,0.69899e-03_rb,0.74954e-03_rb,0.69460e-03_rb /) kao(:, 2, 6,10) = (/ & & 0.19517e-03_rb,0.30338e-03_rb,0.40585e-03_rb,0.49683e-03_rb,0.57671e-03_rb, & & 0.64425e-03_rb,0.70130e-03_rb,0.75004e-03_rb,0.70036e-03_rb /) kao(:, 3, 6,10) = (/ & & 0.19324e-03_rb,0.30268e-03_rb,0.40573e-03_rb,0.49834e-03_rb,0.57803e-03_rb, & & 0.64627e-03_rb,0.70310e-03_rb,0.75130e-03_rb,0.70596e-03_rb /) kao(:, 4, 6,10) = (/ & & 0.19132e-03_rb,0.30224e-03_rb,0.40644e-03_rb,0.49947e-03_rb,0.58014e-03_rb, & & 0.64741e-03_rb,0.70472e-03_rb,0.75293e-03_rb,0.70917e-03_rb /) kao(:, 5, 6,10) = (/ & & 0.18952e-03_rb,0.30177e-03_rb,0.40672e-03_rb,0.50101e-03_rb,0.58137e-03_rb, & & 0.64847e-03_rb,0.70602e-03_rb,0.75537e-03_rb,0.71121e-03_rb /) kao(:, 1, 7,10) = (/ & & 0.16684e-03_rb,0.27825e-03_rb,0.37860e-03_rb,0.46883e-03_rb,0.54680e-03_rb, & & 0.61510e-03_rb,0.67386e-03_rb,0.72824e-03_rb,0.66391e-03_rb /) kao(:, 2, 7,10) = (/ & & 0.16553e-03_rb,0.27719e-03_rb,0.37963e-03_rb,0.47077e-03_rb,0.54985e-03_rb, & & 0.61768e-03_rb,0.67717e-03_rb,0.73093e-03_rb,0.67156e-03_rb /) kao(:, 3, 7,10) = (/ & & 0.16397e-03_rb,0.27663e-03_rb,0.38054e-03_rb,0.47308e-03_rb,0.55166e-03_rb, & & 0.62067e-03_rb,0.67975e-03_rb,0.73342e-03_rb,0.67787e-03_rb /) kao(:, 4, 7,10) = (/ & & 0.16246e-03_rb,0.27634e-03_rb,0.38198e-03_rb,0.47489e-03_rb,0.55414e-03_rb, & & 0.62280e-03_rb,0.68232e-03_rb,0.73600e-03_rb,0.68175e-03_rb /) kao(:, 5, 7,10) = (/ & & 0.16089e-03_rb,0.27624e-03_rb,0.38314e-03_rb,0.47665e-03_rb,0.55585e-03_rb, & & 0.62443e-03_rb,0.68436e-03_rb,0.73852e-03_rb,0.68559e-03_rb /) kao(:, 1, 8,10) = (/ & & 0.14215e-03_rb,0.25407e-03_rb,0.35215e-03_rb,0.43863e-03_rb,0.51443e-03_rb, & & 0.58154e-03_rb,0.64180e-03_rb,0.70004e-03_rb,0.62276e-03_rb /) kao(:, 2, 8,10) = (/ & & 0.14104e-03_rb,0.25332e-03_rb,0.35394e-03_rb,0.44179e-03_rb,0.51810e-03_rb, & & 0.58508e-03_rb,0.64584e-03_rb,0.70407e-03_rb,0.63285e-03_rb /) kao(:, 3, 8,10) = (/ & & 0.13977e-03_rb,0.25313e-03_rb,0.35560e-03_rb,0.44458e-03_rb,0.52101e-03_rb, & & 0.58953e-03_rb,0.65037e-03_rb,0.70785e-03_rb,0.64108e-03_rb /) kao(:, 4, 8,10) = (/ & & 0.13869e-03_rb,0.25332e-03_rb,0.35744e-03_rb,0.44722e-03_rb,0.52464e-03_rb, & & 0.59336e-03_rb,0.65468e-03_rb,0.71201e-03_rb,0.64611e-03_rb /) kao(:, 5, 8,10) = (/ & & 0.13742e-03_rb,0.25367e-03_rb,0.35927e-03_rb,0.44959e-03_rb,0.52752e-03_rb, & & 0.59656e-03_rb,0.65824e-03_rb,0.71554e-03_rb,0.65066e-03_rb /) kao(:, 1, 9,10) = (/ & & 0.12109e-03_rb,0.23210e-03_rb,0.32446e-03_rb,0.40715e-03_rb,0.48065e-03_rb, & & 0.54715e-03_rb,0.60775e-03_rb,0.66825e-03_rb,0.18336e-04_rb /) kao(:, 2, 9,10) = (/ & & 0.12018e-03_rb,0.23207e-03_rb,0.32699e-03_rb,0.41058e-03_rb,0.48505e-03_rb, & & 0.55180e-03_rb,0.61323e-03_rb,0.67309e-03_rb,0.24327e-04_rb /) kao(:, 3, 9,10) = (/ & & 0.11917e-03_rb,0.23229e-03_rb,0.32956e-03_rb,0.41390e-03_rb,0.48910e-03_rb, & & 0.55710e-03_rb,0.61911e-03_rb,0.67851e-03_rb,0.23065e-04_rb /) kao(:, 4, 9,10) = (/ & & 0.11843e-03_rb,0.23292e-03_rb,0.33197e-03_rb,0.41764e-03_rb,0.49354e-03_rb, & & 0.56238e-03_rb,0.62497e-03_rb,0.68395e-03_rb,0.23680e-04_rb /) kao(:, 5, 9,10) = (/ & & 0.11748e-03_rb,0.23365e-03_rb,0.33458e-03_rb,0.42109e-03_rb,0.49774e-03_rb, & & 0.56667e-03_rb,0.62987e-03_rb,0.68909e-03_rb,0.25905e-04_rb /) kao(:, 1,10,10) = (/ & & 0.10273e-03_rb,0.21204e-03_rb,0.29794e-03_rb,0.37761e-03_rb,0.44937e-03_rb, & & 0.51495e-03_rb,0.57567e-03_rb,0.63761e-03_rb,0.19724e-04_rb /) kao(:, 2,10,10) = (/ & & 0.10190e-03_rb,0.21272e-03_rb,0.30059e-03_rb,0.38150e-03_rb,0.45434e-03_rb, & & 0.52089e-03_rb,0.58270e-03_rb,0.64346e-03_rb,0.24197e-04_rb /) kao(:, 3,10,10) = (/ & & 0.10112e-03_rb,0.21334e-03_rb,0.30377e-03_rb,0.38507e-03_rb,0.45917e-03_rb, & & 0.52739e-03_rb,0.58976e-03_rb,0.64941e-03_rb,0.34326e-04_rb /) kao(:, 4,10,10) = (/ & & 0.10061e-03_rb,0.21443e-03_rb,0.30659e-03_rb,0.38965e-03_rb,0.46453e-03_rb, & & 0.53354e-03_rb,0.59675e-03_rb,0.65639e-03_rb,0.33702e-04_rb /) kao(:, 5,10,10) = (/ & & 0.99890e-04_rb,0.21543e-03_rb,0.30998e-03_rb,0.39375e-03_rb,0.46925e-03_rb, & & 0.53804e-03_rb,0.60223e-03_rb,0.66255e-03_rb,0.31412e-04_rb /) kao(:, 1,11,10) = (/ & & 0.86338e-04_rb,0.19398e-03_rb,0.27516e-03_rb,0.35204e-03_rb,0.42116e-03_rb, & & 0.48556e-03_rb,0.54615e-03_rb,0.60927e-03_rb,0.19945e-04_rb /) kao(:, 2,11,10) = (/ & & 0.85730e-04_rb,0.19502e-03_rb,0.27834e-03_rb,0.35636e-03_rb,0.42792e-03_rb, & & 0.49403e-03_rb,0.55597e-03_rb,0.61737e-03_rb,0.90093e-05_rb /) kao(:, 3,11,10) = (/ & & 0.85275e-04_rb,0.19618e-03_rb,0.28168e-03_rb,0.36165e-03_rb,0.43438e-03_rb, & & 0.50224e-03_rb,0.56492e-03_rb,0.62614e-03_rb,0.37496e-04_rb /) kao(:, 4,11,10) = (/ & & 0.84865e-04_rb,0.19761e-03_rb,0.28526e-03_rb,0.36657e-03_rb,0.44042e-03_rb, & & 0.50863e-03_rb,0.57263e-03_rb,0.63413e-03_rb,0.15044e-04_rb /) kao(:, 5,11,10) = (/ & & 0.84443e-04_rb,0.19914e-03_rb,0.28886e-03_rb,0.37069e-03_rb,0.44492e-03_rb, & & 0.51377e-03_rb,0.57803e-03_rb,0.63993e-03_rb,0.48683e-04_rb /) kao(:, 1,12,10) = (/ & & 0.72237e-04_rb,0.17794e-03_rb,0.25491e-03_rb,0.32737e-03_rb,0.39376e-03_rb, & & 0.45690e-03_rb,0.51684e-03_rb,0.58057e-03_rb,0.10800e-04_rb /) kao(:, 2,12,10) = (/ & & 0.71846e-04_rb,0.17916e-03_rb,0.25896e-03_rb,0.33355e-03_rb,0.40234e-03_rb, & & 0.46708e-03_rb,0.52856e-03_rb,0.59174e-03_rb,0.37304e-04_rb /) kao(:, 3,12,10) = (/ & & 0.71641e-04_rb,0.18095e-03_rb,0.26291e-03_rb,0.34013e-03_rb,0.41022e-03_rb, & & 0.47645e-03_rb,0.53911e-03_rb,0.60240e-03_rb,0.20066e-04_rb /) kao(:, 4,12,10) = (/ & & 0.71337e-04_rb,0.18255e-03_rb,0.26698e-03_rb,0.34557e-03_rb,0.41722e-03_rb, & & 0.48390e-03_rb,0.54753e-03_rb,0.61134e-03_rb,0.20267e-04_rb /) kao(:, 5,12,10) = (/ & & 0.71187e-04_rb,0.18456e-03_rb,0.27032e-03_rb,0.35012e-03_rb,0.42265e-03_rb, & & 0.49079e-03_rb,0.55462e-03_rb,0.61760e-03_rb,0.29175e-04_rb /) kao(:, 1,13,10) = (/ & & 0.60308e-04_rb,0.16344e-03_rb,0.23674e-03_rb,0.30451e-03_rb,0.36859e-03_rb, & & 0.42973e-03_rb,0.48896e-03_rb,0.55265e-03_rb,0.35870e-04_rb /) kao(:, 2,13,10) = (/ & & 0.60075e-04_rb,0.16518e-03_rb,0.24182e-03_rb,0.31202e-03_rb,0.37817e-03_rb, & & 0.44097e-03_rb,0.50163e-03_rb,0.56563e-03_rb,0.24717e-04_rb /) kao(:, 3,13,10) = (/ & & 0.59963e-04_rb,0.16736e-03_rb,0.24636e-03_rb,0.31956e-03_rb,0.38717e-03_rb, & & 0.45122e-03_rb,0.51282e-03_rb,0.57786e-03_rb,0.24967e-04_rb /) kao(:, 4,13,10) = (/ & & 0.59808e-04_rb,0.16950e-03_rb,0.25081e-03_rb,0.32559e-03_rb,0.39488e-03_rb, & & 0.45992e-03_rb,0.52243e-03_rb,0.58716e-03_rb,0.25073e-04_rb /) kao(:, 5,13,10) = (/ & & 0.59738e-04_rb,0.17182e-03_rb,0.25430e-03_rb,0.33121e-03_rb,0.40220e-03_rb, & & 0.46925e-03_rb,0.53224e-03_rb,0.59573e-03_rb,0.14031e-04_rb /) kao(:, 1, 1,11) = (/ & & 0.79109e-03_rb,0.77354e-03_rb,0.84795e-03_rb,0.91837e-03_rb,0.98287e-03_rb, & & 0.10467e-02_rb,0.10876e-02_rb,0.10899e-02_rb,0.10918e-02_rb /) kao(:, 2, 1,11) = (/ & & 0.79035e-03_rb,0.76999e-03_rb,0.84502e-03_rb,0.91315e-03_rb,0.97569e-03_rb, & & 0.10420e-02_rb,0.10843e-02_rb,0.10840e-02_rb,0.10904e-02_rb /) kao(:, 3, 1,11) = (/ & & 0.79094e-03_rb,0.76969e-03_rb,0.84501e-03_rb,0.91212e-03_rb,0.97616e-03_rb, & & 0.10502e-02_rb,0.10978e-02_rb,0.10968e-02_rb,0.11098e-02_rb /) kao(:, 4, 1,11) = (/ & & 0.79012e-03_rb,0.76698e-03_rb,0.84052e-03_rb,0.90224e-03_rb,0.96448e-03_rb, & & 0.10367e-02_rb,0.10810e-02_rb,0.10798e-02_rb,0.10838e-02_rb /) kao(:, 5, 1,11) = (/ & & 0.78840e-03_rb,0.76416e-03_rb,0.83816e-03_rb,0.89971e-03_rb,0.96199e-03_rb, & & 0.10344e-02_rb,0.10796e-02_rb,0.10773e-02_rb,0.10800e-02_rb /) kao(:, 1, 2,11) = (/ & & 0.69789e-03_rb,0.72093e-03_rb,0.81475e-03_rb,0.89922e-03_rb,0.96655e-03_rb, & & 0.10286e-02_rb,0.10852e-02_rb,0.10968e-02_rb,0.10998e-02_rb /) kao(:, 2, 2,11) = (/ & & 0.69799e-03_rb,0.71831e-03_rb,0.81026e-03_rb,0.89390e-03_rb,0.96162e-03_rb, & & 0.10278e-02_rb,0.10853e-02_rb,0.10953e-02_rb,0.10980e-02_rb /) kao(:, 3, 2,11) = (/ & & 0.69849e-03_rb,0.71872e-03_rb,0.81039e-03_rb,0.89368e-03_rb,0.96713e-03_rb, & & 0.10387e-02_rb,0.11003e-02_rb,0.11139e-02_rb,0.11199e-02_rb /) kao(:, 4, 2,11) = (/ & & 0.69786e-03_rb,0.71702e-03_rb,0.80831e-03_rb,0.88926e-03_rb,0.96426e-03_rb, & & 0.10353e-02_rb,0.10976e-02_rb,0.11107e-02_rb,0.11152e-02_rb /) kao(:, 5, 2,11) = (/ & & 0.69639e-03_rb,0.71420e-03_rb,0.80246e-03_rb,0.88289e-03_rb,0.95515e-03_rb, & & 0.10226e-02_rb,0.10812e-02_rb,0.10915e-02_rb,0.10904e-02_rb /) kao(:, 1, 3,11) = (/ & & 0.60717e-03_rb,0.66595e-03_rb,0.77916e-03_rb,0.87509e-03_rb,0.95372e-03_rb, & & 0.10167e-02_rb,0.10820e-02_rb,0.11070e-02_rb,0.11005e-02_rb /) kao(:, 2, 3,11) = (/ & & 0.60740e-03_rb,0.66447e-03_rb,0.77425e-03_rb,0.87078e-03_rb,0.95087e-03_rb, & & 0.10164e-02_rb,0.10820e-02_rb,0.11070e-02_rb,0.10996e-02_rb /) kao(:, 3, 3,11) = (/ & & 0.60743e-03_rb,0.66421e-03_rb,0.77076e-03_rb,0.86668e-03_rb,0.94936e-03_rb, & & 0.10146e-02_rb,0.10809e-02_rb,0.11066e-02_rb,0.10979e-02_rb /) kao(:, 4, 3,11) = (/ & & 0.60721e-03_rb,0.66487e-03_rb,0.77207e-03_rb,0.87093e-03_rb,0.95679e-03_rb, & & 0.10247e-02_rb,0.10950e-02_rb,0.11248e-02_rb,0.11171e-02_rb /) kao(:, 5, 3,11) = (/ & & 0.60632e-03_rb,0.66259e-03_rb,0.76645e-03_rb,0.86469e-03_rb,0.94611e-03_rb, & & 0.10116e-02_rb,0.10778e-02_rb,0.11040e-02_rb,0.10953e-02_rb /) kao(:, 1, 4,11) = (/ & & 0.52196e-03_rb,0.61309e-03_rb,0.74127e-03_rb,0.84825e-03_rb,0.93805e-03_rb, & & 0.10078e-02_rb,0.10732e-02_rb,0.11156e-02_rb,0.10964e-02_rb /) kao(:, 2, 4,11) = (/ & & 0.52205e-03_rb,0.61209e-03_rb,0.73709e-03_rb,0.84586e-03_rb,0.93585e-03_rb, & & 0.10074e-02_rb,0.10727e-02_rb,0.11168e-02_rb,0.10976e-02_rb /) kao(:, 3, 4,11) = (/ & & 0.52218e-03_rb,0.61175e-03_rb,0.73426e-03_rb,0.84316e-03_rb,0.93485e-03_rb, & & 0.10055e-02_rb,0.10718e-02_rb,0.11162e-02_rb,0.10985e-02_rb /) kao(:, 4, 4,11) = (/ & & 0.52176e-03_rb,0.61131e-03_rb,0.73315e-03_rb,0.84162e-03_rb,0.93319e-03_rb, & & 0.10035e-02_rb,0.10709e-02_rb,0.11149e-02_rb,0.11000e-02_rb /) kao(:, 5, 4,11) = (/ & & 0.52100e-03_rb,0.61215e-03_rb,0.73639e-03_rb,0.84868e-03_rb,0.94102e-03_rb, & & 0.10132e-02_rb,0.10822e-02_rb,0.11303e-02_rb,0.11192e-02_rb /) kao(:, 1, 5,11) = (/ & & 0.44537e-03_rb,0.56415e-03_rb,0.70334e-03_rb,0.81986e-03_rb,0.91737e-03_rb, & & 0.99505e-03_rb,0.10590e-02_rb,0.11155e-02_rb,0.10855e-02_rb /) kao(:, 2, 5,11) = (/ & & 0.44499e-03_rb,0.56304e-03_rb,0.70021e-03_rb,0.81824e-03_rb,0.91496e-03_rb, & & 0.99465e-03_rb,0.10577e-02_rb,0.11163e-02_rb,0.10886e-02_rb /) kao(:, 3, 5,11) = (/ & & 0.44481e-03_rb,0.56231e-03_rb,0.69884e-03_rb,0.81557e-03_rb,0.91387e-03_rb, & & 0.99269e-03_rb,0.10566e-02_rb,0.11154e-02_rb,0.10925e-02_rb /) kao(:, 4, 5,11) = (/ & & 0.44459e-03_rb,0.56155e-03_rb,0.69827e-03_rb,0.81462e-03_rb,0.91145e-03_rb, & & 0.99105e-03_rb,0.10558e-02_rb,0.11141e-02_rb,0.10950e-02_rb /) kao(:, 5, 5,11) = (/ & & 0.44401e-03_rb,0.56266e-03_rb,0.70342e-03_rb,0.82262e-03_rb,0.92017e-03_rb, & & 0.10017e-02_rb,0.10686e-02_rb,0.11300e-02_rb,0.11166e-02_rb /) kao(:, 1, 6,11) = (/ & & 0.37714e-03_rb,0.51787e-03_rb,0.66544e-03_rb,0.78793e-03_rb,0.89178e-03_rb, & & 0.97506e-03_rb,0.10421e-02_rb,0.11072e-02_rb,0.10679e-02_rb /) kao(:, 2, 6,11) = (/ & & 0.37645e-03_rb,0.51719e-03_rb,0.66329e-03_rb,0.78619e-03_rb,0.88946e-03_rb, & & 0.97613e-03_rb,0.10421e-02_rb,0.11076e-02_rb,0.10727e-02_rb /) kao(:, 3, 6,11) = (/ & & 0.37621e-03_rb,0.51663e-03_rb,0.66248e-03_rb,0.78421e-03_rb,0.88840e-03_rb, & & 0.97530e-03_rb,0.10423e-02_rb,0.11074e-02_rb,0.10773e-02_rb /) kao(:, 4, 6,11) = (/ & & 0.37625e-03_rb,0.51591e-03_rb,0.66198e-03_rb,0.78342e-03_rb,0.88665e-03_rb, & & 0.97510e-03_rb,0.10427e-02_rb,0.11065e-02_rb,0.10807e-02_rb /) kao(:, 5, 6,11) = (/ & & 0.37578e-03_rb,0.51583e-03_rb,0.66231e-03_rb,0.78322e-03_rb,0.88597e-03_rb, & & 0.97458e-03_rb,0.10416e-02_rb,0.11045e-02_rb,0.10828e-02_rb /) kao(:, 1, 7,11) = (/ & & 0.31849e-03_rb,0.47598e-03_rb,0.62784e-03_rb,0.75245e-03_rb,0.86097e-03_rb, & & 0.95037e-03_rb,0.10228e-02_rb,0.10907e-02_rb,0.10381e-02_rb /) kao(:, 2, 7,11) = (/ & & 0.31748e-03_rb,0.47565e-03_rb,0.62625e-03_rb,0.75127e-03_rb,0.86016e-03_rb, & & 0.95292e-03_rb,0.10249e-02_rb,0.10924e-02_rb,0.10446e-02_rb /) kao(:, 3, 7,11) = (/ & & 0.31709e-03_rb,0.47527e-03_rb,0.62527e-03_rb,0.75044e-03_rb,0.86086e-03_rb, & & 0.95398e-03_rb,0.10272e-02_rb,0.10943e-02_rb,0.10513e-02_rb /) kao(:, 4, 7,11) = (/ & & 0.31690e-03_rb,0.47506e-03_rb,0.62534e-03_rb,0.75023e-03_rb,0.86098e-03_rb, & & 0.95576e-03_rb,0.10298e-02_rb,0.10956e-02_rb,0.10570e-02_rb /) kao(:, 5, 7,11) = (/ & & 0.31661e-03_rb,0.47556e-03_rb,0.62564e-03_rb,0.75129e-03_rb,0.86194e-03_rb, & & 0.95752e-03_rb,0.10312e-02_rb,0.10967e-02_rb,0.10605e-02_rb /) kao(:, 1, 8,11) = (/ & & 0.26920e-03_rb,0.43740e-03_rb,0.58907e-03_rb,0.71604e-03_rb,0.82585e-03_rb, & & 0.92017e-03_rb,0.99828e-03_rb,0.10677e-02_rb,0.99191e-03_rb /) kao(:, 2, 8,11) = (/ & & 0.26802e-03_rb,0.43738e-03_rb,0.58846e-03_rb,0.71590e-03_rb,0.82753e-03_rb, & & 0.92484e-03_rb,0.10036e-02_rb,0.10726e-02_rb,0.10010e-02_rb /) kao(:, 3, 8,11) = (/ & & 0.26738e-03_rb,0.43742e-03_rb,0.58827e-03_rb,0.71679e-03_rb,0.83051e-03_rb, & & 0.92821e-03_rb,0.10079e-02_rb,0.10772e-02_rb,0.10102e-02_rb /) kao(:, 4, 8,11) = (/ & & 0.26701e-03_rb,0.43751e-03_rb,0.58933e-03_rb,0.71793e-03_rb,0.83304e-03_rb, & & 0.93190e-03_rb,0.10124e-02_rb,0.10810e-02_rb,0.10188e-02_rb /) kao(:, 5, 8,11) = (/ & & 0.26686e-03_rb,0.43824e-03_rb,0.58999e-03_rb,0.72050e-03_rb,0.83607e-03_rb, & & 0.93581e-03_rb,0.10160e-02_rb,0.10848e-02_rb,0.10263e-02_rb /) kao(:, 1, 9,11) = (/ & & 0.22904e-03_rb,0.40123e-03_rb,0.55115e-03_rb,0.67712e-03_rb,0.78732e-03_rb, & & 0.88313e-03_rb,0.96568e-03_rb,0.10387e-02_rb,0.14403e-04_rb /) kao(:, 2, 9,11) = (/ & & 0.22775e-03_rb,0.40129e-03_rb,0.55155e-03_rb,0.67918e-03_rb,0.79168e-03_rb, & & 0.89045e-03_rb,0.97356e-03_rb,0.10468e-02_rb,0.17396e-04_rb /) kao(:, 3, 9,11) = (/ & & 0.22691e-03_rb,0.40187e-03_rb,0.55239e-03_rb,0.68238e-03_rb,0.79664e-03_rb, & & 0.89641e-03_rb,0.98013e-03_rb,0.10538e-02_rb,0.17983e-04_rb /) kao(:, 4, 9,11) = (/ & & 0.22637e-03_rb,0.40220e-03_rb,0.55452e-03_rb,0.68525e-03_rb,0.80145e-03_rb, & & 0.90223e-03_rb,0.98673e-03_rb,0.10599e-02_rb,0.14884e-04_rb /) kao(:, 5, 9,11) = (/ & & 0.22595e-03_rb,0.40316e-03_rb,0.55613e-03_rb,0.68950e-03_rb,0.80623e-03_rb, & & 0.90849e-03_rb,0.99244e-03_rb,0.10655e-02_rb,0.19485e-04_rb /) kao(:, 1,10,11) = (/ & & 0.19610e-03_rb,0.36707e-03_rb,0.51305e-03_rb,0.63612e-03_rb,0.74337e-03_rb, & & 0.83875e-03_rb,0.92458e-03_rb,0.10007e-02_rb,0.30583e-04_rb /) kao(:, 2,10,11) = (/ & & 0.19499e-03_rb,0.36759e-03_rb,0.51501e-03_rb,0.64066e-03_rb,0.75082e-03_rb, & & 0.84853e-03_rb,0.93443e-03_rb,0.10117e-02_rb,0.20484e-04_rb /) kao(:, 3,10,11) = (/ & & 0.19427e-03_rb,0.36886e-03_rb,0.51745e-03_rb,0.64625e-03_rb,0.75815e-03_rb, & & 0.85733e-03_rb,0.94303e-03_rb,0.10217e-02_rb,0.20784e-04_rb /) kao(:, 4,10,11) = (/ & & 0.19367e-03_rb,0.36958e-03_rb,0.52106e-03_rb,0.65093e-03_rb,0.76545e-03_rb, & & 0.86571e-03_rb,0.95244e-03_rb,0.10301e-02_rb,0.30511e-04_rb /) kao(:, 5,10,11) = (/ & & 0.19319e-03_rb,0.37098e-03_rb,0.52409e-03_rb,0.65675e-03_rb,0.77258e-03_rb, & & 0.87491e-03_rb,0.96110e-03_rb,0.10378e-02_rb,0.19883e-04_rb /) kao(:, 1,11,11) = (/ & & 0.16767e-03_rb,0.33624e-03_rb,0.47635e-03_rb,0.59543e-03_rb,0.70301e-03_rb, & & 0.79872e-03_rb,0.88652e-03_rb,0.96550e-03_rb,0.27483e-04_rb /) kao(:, 2,11,11) = (/ & & 0.16687e-03_rb,0.33764e-03_rb,0.48055e-03_rb,0.60283e-03_rb,0.71186e-03_rb, & & 0.80978e-03_rb,0.89673e-03_rb,0.97758e-03_rb,0.20639e-04_rb /) kao(:, 3,11,11) = (/ & & 0.16664e-03_rb,0.33942e-03_rb,0.48524e-03_rb,0.60962e-03_rb,0.72075e-03_rb, & & 0.81953e-03_rb,0.90753e-03_rb,0.98729e-03_rb,0.27689e-04_rb /) kao(:, 4,11,11) = (/ & & 0.16611e-03_rb,0.34104e-03_rb,0.48994e-03_rb,0.61708e-03_rb,0.72992e-03_rb, & & 0.83047e-03_rb,0.91898e-03_rb,0.99769e-03_rb,0.13719e-04_rb /) kao(:, 5,11,11) = (/ & & 0.16596e-03_rb,0.34313e-03_rb,0.49467e-03_rb,0.62538e-03_rb,0.73960e-03_rb, & & 0.84171e-03_rb,0.92999e-03_rb,0.10075e-02_rb,0.27137e-04_rb /) kao(:, 1,12,11) = (/ & & 0.14282e-03_rb,0.30890e-03_rb,0.44183e-03_rb,0.55831e-03_rb,0.66503e-03_rb, & & 0.76077e-03_rb,0.84890e-03_rb,0.93128e-03_rb,0.21228e-04_rb /) kao(:, 2,12,11) = (/ & & 0.14255e-03_rb,0.31125e-03_rb,0.44731e-03_rb,0.56685e-03_rb,0.67491e-03_rb, & & 0.77277e-03_rb,0.86092e-03_rb,0.94274e-03_rb,0.32331e-04_rb /) kao(:, 3,12,11) = (/ & & 0.14244e-03_rb,0.31334e-03_rb,0.45354e-03_rb,0.57479e-03_rb,0.68552e-03_rb, & & 0.78420e-03_rb,0.87396e-03_rb,0.95434e-03_rb,0.19978e-06_rb /) kao(:, 4,12,11) = (/ & & 0.14239e-03_rb,0.31614e-03_rb,0.45984e-03_rb,0.58419e-03_rb,0.69607e-03_rb, & & 0.79750e-03_rb,0.88765e-03_rb,0.96637e-03_rb,0.21475e-04_rb /) kao(:, 5,12,11) = (/ & & 0.14252e-03_rb,0.31876e-03_rb,0.46658e-03_rb,0.59385e-03_rb,0.70775e-03_rb, & & 0.80986e-03_rb,0.90037e-03_rb,0.97814e-03_rb,0.21476e-04_rb /) kao(:, 1,13,11) = (/ & & 0.12125e-03_rb,0.28444e-03_rb,0.41080e-03_rb,0.52444e-03_rb,0.62932e-03_rb, & & 0.72481e-03_rb,0.81245e-03_rb,0.89716e-03_rb,0.27405e-04_rb /) kao(:, 2,13,11) = (/ & & 0.12138e-03_rb,0.28788e-03_rb,0.41712e-03_rb,0.53396e-03_rb,0.64078e-03_rb, & & 0.73819e-03_rb,0.82737e-03_rb,0.91020e-03_rb,0.13699e-04_rb /) kao(:, 3,13,11) = (/ & & 0.12142e-03_rb,0.29086e-03_rb,0.42441e-03_rb,0.54338e-03_rb,0.65260e-03_rb, & & 0.75224e-03_rb,0.84352e-03_rb,0.92398e-03_rb,0.13820e-04_rb /) kao(:, 4,13,11) = (/ & & 0.12174e-03_rb,0.29430e-03_rb,0.43176e-03_rb,0.55440e-03_rb,0.66546e-03_rb, & & 0.76738e-03_rb,0.85914e-03_rb,0.93821e-03_rb,0.26505e-06_rb /) kao(:, 5,13,11) = (/ & & 0.12197e-03_rb,0.29750e-03_rb,0.43989e-03_rb,0.56500e-03_rb,0.67844e-03_rb, & & 0.78071e-03_rb,0.87280e-03_rb,0.95108e-03_rb,0.33764e-06_rb /) kao(:, 1, 1,12) = (/ & & 0.15537e-02_rb,0.13818e-02_rb,0.14273e-02_rb,0.15055e-02_rb,0.15786e-02_rb, & & 0.16339e-02_rb,0.16467e-02_rb,0.15800e-02_rb,0.16050e-02_rb /) kao(:, 2, 1,12) = (/ & & 0.15485e-02_rb,0.13765e-02_rb,0.14181e-02_rb,0.14978e-02_rb,0.15727e-02_rb, & & 0.16256e-02_rb,0.16371e-02_rb,0.15728e-02_rb,0.16005e-02_rb /) kao(:, 3, 1,12) = (/ & & 0.15437e-02_rb,0.13722e-02_rb,0.14122e-02_rb,0.14971e-02_rb,0.15752e-02_rb, & & 0.16261e-02_rb,0.16396e-02_rb,0.15797e-02_rb,0.16209e-02_rb /) kao(:, 4, 1,12) = (/ & & 0.15424e-02_rb,0.13691e-02_rb,0.14015e-02_rb,0.14839e-02_rb,0.15593e-02_rb, & & 0.16040e-02_rb,0.16150e-02_rb,0.15487e-02_rb,0.15957e-02_rb /) kao(:, 5, 1,12) = (/ & & 0.15425e-02_rb,0.13681e-02_rb,0.13961e-02_rb,0.14766e-02_rb,0.15502e-02_rb, & & 0.15943e-02_rb,0.16046e-02_rb,0.15376e-02_rb,0.15923e-02_rb /) kao(:, 1, 2,12) = (/ & & 0.14274e-02_rb,0.13101e-02_rb,0.13901e-02_rb,0.14665e-02_rb,0.15597e-02_rb, & & 0.16365e-02_rb,0.16682e-02_rb,0.16286e-02_rb,0.16381e-02_rb /) kao(:, 2, 2,12) = (/ & & 0.14223e-02_rb,0.13039e-02_rb,0.13828e-02_rb,0.14629e-02_rb,0.15522e-02_rb, & & 0.16256e-02_rb,0.16567e-02_rb,0.16183e-02_rb,0.16362e-02_rb /) kao(:, 3, 2,12) = (/ & & 0.14195e-02_rb,0.12999e-02_rb,0.13791e-02_rb,0.14641e-02_rb,0.15538e-02_rb, & & 0.16259e-02_rb,0.16605e-02_rb,0.16235e-02_rb,0.16585e-02_rb /) kao(:, 4, 2,12) = (/ & & 0.14181e-02_rb,0.12958e-02_rb,0.13726e-02_rb,0.14576e-02_rb,0.15447e-02_rb, & & 0.16149e-02_rb,0.16487e-02_rb,0.16101e-02_rb,0.16540e-02_rb /) kao(:, 5, 2,12) = (/ & & 0.14191e-02_rb,0.12933e-02_rb,0.13650e-02_rb,0.14448e-02_rb,0.15270e-02_rb, & & 0.15959e-02_rb,0.16273e-02_rb,0.15850e-02_rb,0.16279e-02_rb /) kao(:, 1, 3,12) = (/ & & 0.12975e-02_rb,0.12495e-02_rb,0.13516e-02_rb,0.14440e-02_rb,0.15390e-02_rb, & & 0.16298e-02_rb,0.16807e-02_rb,0.16634e-02_rb,0.16697e-02_rb /) kao(:, 2, 3,12) = (/ & & 0.12938e-02_rb,0.12434e-02_rb,0.13457e-02_rb,0.14406e-02_rb,0.15301e-02_rb, & & 0.16196e-02_rb,0.16709e-02_rb,0.16534e-02_rb,0.16671e-02_rb /) kao(:, 3, 3,12) = (/ & & 0.12920e-02_rb,0.12378e-02_rb,0.13412e-02_rb,0.14340e-02_rb,0.15221e-02_rb, & & 0.16094e-02_rb,0.16610e-02_rb,0.16426e-02_rb,0.16655e-02_rb /) kao(:, 4, 3,12) = (/ & & 0.12905e-02_rb,0.12343e-02_rb,0.13399e-02_rb,0.14335e-02_rb,0.15224e-02_rb, & & 0.16137e-02_rb,0.16692e-02_rb,0.16519e-02_rb,0.16891e-02_rb /) kao(:, 5, 3,12) = (/ & & 0.12916e-02_rb,0.12305e-02_rb,0.13333e-02_rb,0.14197e-02_rb,0.15049e-02_rb, & & 0.15945e-02_rb,0.16481e-02_rb,0.16282e-02_rb,0.16593e-02_rb /) kao(:, 1, 4,12) = (/ & & 0.11586e-02_rb,0.11791e-02_rb,0.13059e-02_rb,0.14246e-02_rb,0.15191e-02_rb, & & 0.16155e-02_rb,0.16888e-02_rb,0.16884e-02_rb,0.16900e-02_rb /) kao(:, 2, 4,12) = (/ & & 0.11563e-02_rb,0.11735e-02_rb,0.13020e-02_rb,0.14191e-02_rb,0.15117e-02_rb, & & 0.16067e-02_rb,0.16804e-02_rb,0.16804e-02_rb,0.16885e-02_rb /) kao(:, 3, 4,12) = (/ & & 0.11547e-02_rb,0.11684e-02_rb,0.12989e-02_rb,0.14121e-02_rb,0.15049e-02_rb, & & 0.15986e-02_rb,0.16736e-02_rb,0.16742e-02_rb,0.16864e-02_rb /) kao(:, 4, 4,12) = (/ & & 0.11549e-02_rb,0.11640e-02_rb,0.12947e-02_rb,0.14053e-02_rb,0.14971e-02_rb, & & 0.15940e-02_rb,0.16690e-02_rb,0.16701e-02_rb,0.16826e-02_rb /) kao(:, 5, 4,12) = (/ & & 0.11568e-02_rb,0.11629e-02_rb,0.12947e-02_rb,0.14048e-02_rb,0.15017e-02_rb, & & 0.16054e-02_rb,0.16836e-02_rb,0.16886e-02_rb,0.17044e-02_rb /) kao(:, 1, 5,12) = (/ & & 0.10197e-02_rb,0.11002e-02_rb,0.12563e-02_rb,0.13948e-02_rb,0.15048e-02_rb, & & 0.16026e-02_rb,0.16898e-02_rb,0.17082e-02_rb,0.17013e-02_rb /) kao(:, 2, 5,12) = (/ & & 0.10187e-02_rb,0.10963e-02_rb,0.12532e-02_rb,0.13909e-02_rb,0.14993e-02_rb, & & 0.15953e-02_rb,0.16843e-02_rb,0.17040e-02_rb,0.16991e-02_rb /) kao(:, 3, 5,12) = (/ & & 0.10179e-02_rb,0.10925e-02_rb,0.12502e-02_rb,0.13858e-02_rb,0.14932e-02_rb, & & 0.15900e-02_rb,0.16803e-02_rb,0.17019e-02_rb,0.16952e-02_rb /) kao(:, 4, 5,12) = (/ & & 0.10188e-02_rb,0.10896e-02_rb,0.12461e-02_rb,0.13806e-02_rb,0.14878e-02_rb, & & 0.15873e-02_rb,0.16767e-02_rb,0.17001e-02_rb,0.16925e-02_rb /) kao(:, 5, 5,12) = (/ & & 0.10211e-02_rb,0.10901e-02_rb,0.12464e-02_rb,0.13834e-02_rb,0.14970e-02_rb, & & 0.16026e-02_rb,0.16952e-02_rb,0.17210e-02_rb,0.17180e-02_rb /) kao(:, 1, 6,12) = (/ & & 0.88455e-03_rb,0.10185e-02_rb,0.12021e-02_rb,0.13605e-02_rb,0.14894e-02_rb, & & 0.15922e-02_rb,0.16870e-02_rb,0.17277e-02_rb,0.17006e-02_rb /) kao(:, 2, 6,12) = (/ & & 0.88487e-03_rb,0.10158e-02_rb,0.12001e-02_rb,0.13587e-02_rb,0.14854e-02_rb, & & 0.15856e-02_rb,0.16819e-02_rb,0.17253e-02_rb,0.17001e-02_rb /) kao(:, 3, 6,12) = (/ & & 0.88512e-03_rb,0.10136e-02_rb,0.11981e-02_rb,0.13544e-02_rb,0.14820e-02_rb, & & 0.15811e-02_rb,0.16785e-02_rb,0.17233e-02_rb,0.16989e-02_rb /) kao(:, 4, 6,12) = (/ & & 0.88698e-03_rb,0.10127e-02_rb,0.11948e-02_rb,0.13505e-02_rb,0.14784e-02_rb, & & 0.15789e-02_rb,0.16749e-02_rb,0.17211e-02_rb,0.16988e-02_rb /) kao(:, 5, 6,12) = (/ & & 0.88923e-03_rb,0.10128e-02_rb,0.11919e-02_rb,0.13468e-02_rb,0.14756e-02_rb, & & 0.15764e-02_rb,0.16734e-02_rb,0.17190e-02_rb,0.16990e-02_rb /) kao(:, 1, 7,12) = (/ & & 0.75937e-03_rb,0.93876e-03_rb,0.11443e-02_rb,0.13228e-02_rb,0.14681e-02_rb, & & 0.15807e-02_rb,0.16771e-02_rb,0.17403e-02_rb,0.16920e-02_rb /) kao(:, 2, 7,12) = (/ & & 0.75998e-03_rb,0.93770e-03_rb,0.11447e-02_rb,0.13222e-02_rb,0.14656e-02_rb, & & 0.15751e-02_rb,0.16722e-02_rb,0.17374e-02_rb,0.16943e-02_rb /) kao(:, 3, 7,12) = (/ & & 0.76057e-03_rb,0.93698e-03_rb,0.11442e-02_rb,0.13192e-02_rb,0.14630e-02_rb, & & 0.15711e-02_rb,0.16684e-02_rb,0.17351e-02_rb,0.16966e-02_rb /) kao(:, 4, 7,12) = (/ & & 0.76306e-03_rb,0.93700e-03_rb,0.11417e-02_rb,0.13175e-02_rb,0.14605e-02_rb, & & 0.15679e-02_rb,0.16649e-02_rb,0.17327e-02_rb,0.16998e-02_rb /) kao(:, 5, 7,12) = (/ & & 0.76563e-03_rb,0.93740e-03_rb,0.11401e-02_rb,0.13155e-02_rb,0.14583e-02_rb, & & 0.15655e-02_rb,0.16637e-02_rb,0.17306e-02_rb,0.17045e-02_rb /) kao(:, 1, 8,12) = (/ & & 0.64586e-03_rb,0.86421e-03_rb,0.10884e-02_rb,0.12806e-02_rb,0.14383e-02_rb, & & 0.15636e-02_rb,0.16605e-02_rb,0.17434e-02_rb,0.16711e-02_rb /) kao(:, 2, 8,12) = (/ & & 0.64665e-03_rb,0.86473e-03_rb,0.10896e-02_rb,0.12820e-02_rb,0.14363e-02_rb, & & 0.15592e-02_rb,0.16561e-02_rb,0.17403e-02_rb,0.16771e-02_rb /) kao(:, 3, 8,12) = (/ & & 0.64816e-03_rb,0.86506e-03_rb,0.10903e-02_rb,0.12802e-02_rb,0.14357e-02_rb, & & 0.15554e-02_rb,0.16529e-02_rb,0.17367e-02_rb,0.16846e-02_rb /) kao(:, 4, 8,12) = (/ & & 0.65115e-03_rb,0.86561e-03_rb,0.10893e-02_rb,0.12797e-02_rb,0.14336e-02_rb, & & 0.15533e-02_rb,0.16505e-02_rb,0.17349e-02_rb,0.16920e-02_rb /) kao(:, 5, 8,12) = (/ & & 0.65335e-03_rb,0.86692e-03_rb,0.10897e-02_rb,0.12788e-02_rb,0.14323e-02_rb, & & 0.15519e-02_rb,0.16494e-02_rb,0.17328e-02_rb,0.17005e-02_rb /) kao(:, 1, 9,12) = (/ & & 0.54495e-03_rb,0.79374e-03_rb,0.10331e-02_rb,0.12325e-02_rb,0.13999e-02_rb, & & 0.15343e-02_rb,0.16359e-02_rb,0.17304e-02_rb,0.88289e-03_rb /) kao(:, 2, 9,12) = (/ & & 0.54631e-03_rb,0.79621e-03_rb,0.10351e-02_rb,0.12356e-02_rb,0.13999e-02_rb, & & 0.15332e-02_rb,0.16343e-02_rb,0.17287e-02_rb,0.90009e-03_rb /) kao(:, 3, 9,12) = (/ & & 0.54838e-03_rb,0.79738e-03_rb,0.10366e-02_rb,0.12358e-02_rb,0.14008e-02_rb, & & 0.15312e-02_rb,0.16325e-02_rb,0.17267e-02_rb,0.91715e-03_rb /) kao(:, 4, 9,12) = (/ & & 0.55103e-03_rb,0.79925e-03_rb,0.10373e-02_rb,0.12370e-02_rb,0.14003e-02_rb, & & 0.15313e-02_rb,0.16317e-02_rb,0.17265e-02_rb,0.93948e-03_rb /) kao(:, 5, 9,12) = (/ & & 0.55358e-03_rb,0.80158e-03_rb,0.10391e-02_rb,0.12370e-02_rb,0.14008e-02_rb, & & 0.15320e-02_rb,0.16328e-02_rb,0.17271e-02_rb,0.97099e-03_rb /) kao(:, 1,10,12) = (/ & & 0.45828e-03_rb,0.73128e-03_rb,0.97725e-03_rb,0.11801e-02_rb,0.13541e-02_rb, & & 0.14966e-02_rb,0.16059e-02_rb,0.17081e-02_rb,0.25261e-04_rb /) kao(:, 2,10,12) = (/ & & 0.45994e-03_rb,0.73433e-03_rb,0.98047e-03_rb,0.11852e-02_rb,0.13571e-02_rb, & & 0.14993e-02_rb,0.16071e-02_rb,0.17093e-02_rb,0.32778e-04_rb /) kao(:, 3,10,12) = (/ & & 0.46172e-03_rb,0.73698e-03_rb,0.98332e-03_rb,0.11877e-02_rb,0.13607e-02_rb, & & 0.15001e-02_rb,0.16089e-02_rb,0.17098e-02_rb,0.30108e-04_rb /) kao(:, 4,10,12) = (/ & & 0.46419e-03_rb,0.73967e-03_rb,0.98568e-03_rb,0.11903e-02_rb,0.13620e-02_rb, & & 0.15042e-02_rb,0.16117e-02_rb,0.17131e-02_rb,0.14814e-04_rb /) kao(:, 5,10,12) = (/ & & 0.46710e-03_rb,0.74287e-03_rb,0.98852e-03_rb,0.11927e-02_rb,0.13653e-02_rb, & & 0.15080e-02_rb,0.16153e-02_rb,0.17174e-02_rb,0.18206e-04_rb /) kao(:, 1,11,12) = (/ & & 0.38711e-03_rb,0.67660e-03_rb,0.92352e-03_rb,0.11285e-02_rb,0.13042e-02_rb, & & 0.14533e-02_rb,0.15680e-02_rb,0.16768e-02_rb,0.35375e-04_rb /) kao(:, 2,11,12) = (/ & & 0.38827e-03_rb,0.68076e-03_rb,0.92811e-03_rb,0.11355e-02_rb,0.13110e-02_rb, & & 0.14578e-02_rb,0.15732e-02_rb,0.16802e-02_rb,0.17785e-04_rb /) kao(:, 3,11,12) = (/ & & 0.39017e-03_rb,0.68339e-03_rb,0.93243e-03_rb,0.11404e-02_rb,0.13179e-02_rb, & & 0.14648e-02_rb,0.15809e-02_rb,0.16870e-02_rb,0.17310e-04_rb /) kao(:, 4,11,12) = (/ & & 0.39259e-03_rb,0.68706e-03_rb,0.93609e-03_rb,0.11451e-02_rb,0.13243e-02_rb, & & 0.14746e-02_rb,0.15892e-02_rb,0.16958e-02_rb,0.17795e-04_rb /) kao(:, 5,11,12) = (/ & & 0.39544e-03_rb,0.69011e-03_rb,0.94016e-03_rb,0.11496e-02_rb,0.13318e-02_rb, & & 0.14825e-02_rb,0.15980e-02_rb,0.17052e-02_rb,0.87581e-05_rb /) kao(:, 1,12,12) = (/ & & 0.32882e-03_rb,0.62658e-03_rb,0.87124e-03_rb,0.10770e-02_rb,0.12526e-02_rb, & & 0.14042e-02_rb,0.15246e-02_rb,0.16367e-02_rb,0.13823e-04_rb /) kao(:, 2,12,12) = (/ & & 0.33008e-03_rb,0.63068e-03_rb,0.87790e-03_rb,0.10857e-02_rb,0.12638e-02_rb, & & 0.14155e-02_rb,0.15376e-02_rb,0.16473e-02_rb,0.27356e-04_rb /) kao(:, 3,12,12) = (/ & & 0.33191e-03_rb,0.63479e-03_rb,0.88401e-03_rb,0.10939e-02_rb,0.12749e-02_rb, & & 0.14298e-02_rb,0.15521e-02_rb,0.16615e-02_rb,0.26924e-04_rb /) kao(:, 4,12,12) = (/ & & 0.33384e-03_rb,0.63914e-03_rb,0.88945e-03_rb,0.11023e-02_rb,0.12871e-02_rb, & & 0.14439e-02_rb,0.15651e-02_rb,0.16755e-02_rb,0.13486e-04_rb /) kao(:, 5,12,12) = (/ & & 0.33630e-03_rb,0.64288e-03_rb,0.89554e-03_rb,0.11106e-02_rb,0.12985e-02_rb, & & 0.14567e-02_rb,0.15792e-02_rb,0.16910e-02_rb,0.54470e-04_rb /) kao(:, 1,13,12) = (/ & & 0.28179e-03_rb,0.58039e-03_rb,0.82131e-03_rb,0.10258e-02_rb,0.12001e-02_rb, & & 0.13522e-02_rb,0.14762e-02_rb,0.15892e-02_rb,0.17365e-04_rb /) kao(:, 2,13,12) = (/ & & 0.28322e-03_rb,0.58517e-03_rb,0.83048e-03_rb,0.10376e-02_rb,0.12180e-02_rb, & & 0.13721e-02_rb,0.14980e-02_rb,0.16092e-02_rb,0.19167e-10_rb /) kao(:, 3,13,12) = (/ & & 0.28449e-03_rb,0.59004e-03_rb,0.83867e-03_rb,0.10495e-02_rb,0.12349e-02_rb, & & 0.13937e-02_rb,0.15189e-02_rb,0.16302e-02_rb,0.17686e-04_rb /) kao(:, 4,13,12) = (/ & & 0.28623e-03_rb,0.59506e-03_rb,0.84661e-03_rb,0.10616e-02_rb,0.12511e-02_rb, & & 0.14124e-02_rb,0.15380e-02_rb,0.16505e-02_rb,0.27174e-10_rb /) kao(:, 5,13,12) = (/ & & 0.28834e-03_rb,0.60000e-03_rb,0.85510e-03_rb,0.10735e-02_rb,0.12664e-02_rb, & & 0.14298e-02_rb,0.15583e-02_rb,0.16724e-02_rb,0.30930e-10_rb /) kao(:, 1, 1,13) = (/ & & 0.39229e-02_rb,0.34326e-02_rb,0.30162e-02_rb,0.28699e-02_rb,0.28381e-02_rb, & & 0.27734e-02_rb,0.26260e-02_rb,0.23062e-02_rb,0.25522e-02_rb /) kao(:, 2, 1,13) = (/ & & 0.39213e-02_rb,0.34310e-02_rb,0.30108e-02_rb,0.28565e-02_rb,0.28216e-02_rb, & & 0.27552e-02_rb,0.26075e-02_rb,0.22956e-02_rb,0.25296e-02_rb /) kao(:, 3, 1,13) = (/ & & 0.39180e-02_rb,0.34283e-02_rb,0.30095e-02_rb,0.28490e-02_rb,0.28140e-02_rb, & & 0.27516e-02_rb,0.26057e-02_rb,0.23031e-02_rb,0.25320e-02_rb /) kao(:, 4, 1,13) = (/ & & 0.39161e-02_rb,0.34265e-02_rb,0.30039e-02_rb,0.28320e-02_rb,0.27864e-02_rb, & & 0.27263e-02_rb,0.25779e-02_rb,0.22767e-02_rb,0.24834e-02_rb /) kao(:, 5, 1,13) = (/ & & 0.39129e-02_rb,0.34239e-02_rb,0.29985e-02_rb,0.28202e-02_rb,0.27725e-02_rb, & & 0.27107e-02_rb,0.25647e-02_rb,0.22654e-02_rb,0.24632e-02_rb /) kao(:, 1, 2,13) = (/ & & 0.35717e-02_rb,0.31250e-02_rb,0.28583e-02_rb,0.28716e-02_rb,0.28885e-02_rb, & & 0.28569e-02_rb,0.27419e-02_rb,0.24528e-02_rb,0.26589e-02_rb /) kao(:, 2, 2,13) = (/ & & 0.35704e-02_rb,0.31241e-02_rb,0.28509e-02_rb,0.28521e-02_rb,0.28717e-02_rb, & & 0.28411e-02_rb,0.27277e-02_rb,0.24440e-02_rb,0.26352e-02_rb /) kao(:, 3, 2,13) = (/ & & 0.35692e-02_rb,0.31228e-02_rb,0.28479e-02_rb,0.28438e-02_rb,0.28636e-02_rb, & & 0.28419e-02_rb,0.27327e-02_rb,0.24542e-02_rb,0.26382e-02_rb /) kao(:, 4, 2,13) = (/ & & 0.35651e-02_rb,0.31194e-02_rb,0.28382e-02_rb,0.28288e-02_rb,0.28472e-02_rb, & & 0.28288e-02_rb,0.27211e-02_rb,0.24428e-02_rb,0.26140e-02_rb /) kao(:, 5, 2,13) = (/ & & 0.35614e-02_rb,0.31162e-02_rb,0.28280e-02_rb,0.28080e-02_rb,0.28270e-02_rb, & & 0.28018e-02_rb,0.26919e-02_rb,0.24122e-02_rb,0.25721e-02_rb /) kao(:, 1, 3,13) = (/ & & 0.32370e-02_rb,0.28408e-02_rb,0.27429e-02_rb,0.28459e-02_rb,0.29107e-02_rb, & & 0.29163e-02_rb,0.28452e-02_rb,0.26013e-02_rb,0.27589e-02_rb /) kao(:, 2, 3,13) = (/ & & 0.32378e-02_rb,0.28409e-02_rb,0.27346e-02_rb,0.28282e-02_rb,0.28967e-02_rb, & & 0.29036e-02_rb,0.28357e-02_rb,0.25912e-02_rb,0.27381e-02_rb /) kao(:, 3, 3,13) = (/ & & 0.32344e-02_rb,0.28366e-02_rb,0.27224e-02_rb,0.28159e-02_rb,0.28824e-02_rb, & & 0.28940e-02_rb,0.28268e-02_rb,0.25801e-02_rb,0.27164e-02_rb /) kao(:, 4, 3,13) = (/ & & 0.32328e-02_rb,0.28349e-02_rb,0.27139e-02_rb,0.28071e-02_rb,0.28820e-02_rb, & & 0.28985e-02_rb,0.28328e-02_rb,0.25870e-02_rb,0.27280e-02_rb /) kao(:, 5, 3,13) = (/ & & 0.32337e-02_rb,0.28348e-02_rb,0.27027e-02_rb,0.27877e-02_rb,0.28613e-02_rb, & & 0.28723e-02_rb,0.28004e-02_rb,0.25498e-02_rb,0.26848e-02_rb /) kao(:, 1, 4,13) = (/ & & 0.29442e-02_rb,0.26158e-02_rb,0.26686e-02_rb,0.28002e-02_rb,0.29074e-02_rb, & & 0.29569e-02_rb,0.29354e-02_rb,0.27381e-02_rb,0.28491e-02_rb /) kao(:, 2, 4,13) = (/ & & 0.29416e-02_rb,0.26110e-02_rb,0.26570e-02_rb,0.27866e-02_rb,0.28959e-02_rb, & & 0.29477e-02_rb,0.29295e-02_rb,0.27262e-02_rb,0.28287e-02_rb /) kao(:, 3, 4,13) = (/ & & 0.29392e-02_rb,0.26064e-02_rb,0.26421e-02_rb,0.27765e-02_rb,0.28845e-02_rb, & & 0.29406e-02_rb,0.29202e-02_rb,0.27107e-02_rb,0.28099e-02_rb /) kao(:, 4, 4,13) = (/ & & 0.29406e-02_rb,0.26055e-02_rb,0.26309e-02_rb,0.27645e-02_rb,0.28769e-02_rb, & & 0.29312e-02_rb,0.29057e-02_rb,0.26928e-02_rb,0.27972e-02_rb /) kao(:, 5, 4,13) = (/ & & 0.29379e-02_rb,0.26016e-02_rb,0.26230e-02_rb,0.27605e-02_rb,0.28772e-02_rb, & & 0.29338e-02_rb,0.29114e-02_rb,0.26956e-02_rb,0.28225e-02_rb /) kao(:, 1, 5,13) = (/ & & 0.26861e-02_rb,0.24510e-02_rb,0.26014e-02_rb,0.27478e-02_rb,0.28811e-02_rb, & & 0.29878e-02_rb,0.30091e-02_rb,0.28610e-02_rb,0.29320e-02_rb /) kao(:, 2, 5,13) = (/ & & 0.26822e-02_rb,0.24426e-02_rb,0.25898e-02_rb,0.27369e-02_rb,0.28725e-02_rb, & & 0.29815e-02_rb,0.30039e-02_rb,0.28485e-02_rb,0.29157e-02_rb /) kao(:, 3, 5,13) = (/ & & 0.26829e-02_rb,0.24377e-02_rb,0.25766e-02_rb,0.27289e-02_rb,0.28648e-02_rb, & & 0.29741e-02_rb,0.29940e-02_rb,0.28292e-02_rb,0.29014e-02_rb /) kao(:, 4, 5,13) = (/ & & 0.26816e-02_rb,0.24329e-02_rb,0.25674e-02_rb,0.27192e-02_rb,0.28602e-02_rb, & & 0.29643e-02_rb,0.29808e-02_rb,0.28105e-02_rb,0.28911e-02_rb /) kao(:, 5, 5,13) = (/ & & 0.26776e-02_rb,0.24242e-02_rb,0.25584e-02_rb,0.27174e-02_rb,0.28631e-02_rb, & & 0.29690e-02_rb,0.29916e-02_rb,0.28176e-02_rb,0.29253e-02_rb /) kao(:, 1, 6,13) = (/ & & 0.24590e-02_rb,0.23376e-02_rb,0.25355e-02_rb,0.26945e-02_rb,0.28553e-02_rb, & & 0.29996e-02_rb,0.30574e-02_rb,0.29544e-02_rb,0.30033e-02_rb /) kao(:, 2, 6,13) = (/ & & 0.24565e-02_rb,0.23281e-02_rb,0.25242e-02_rb,0.26862e-02_rb,0.28495e-02_rb, & & 0.29966e-02_rb,0.30559e-02_rb,0.29459e-02_rb,0.29901e-02_rb /) kao(:, 3, 6,13) = (/ & & 0.24594e-02_rb,0.23224e-02_rb,0.25135e-02_rb,0.26796e-02_rb,0.28441e-02_rb, & & 0.29914e-02_rb,0.30494e-02_rb,0.29315e-02_rb,0.29796e-02_rb /) kao(:, 4, 6,13) = (/ & & 0.24561e-02_rb,0.23120e-02_rb,0.25070e-02_rb,0.26723e-02_rb,0.28398e-02_rb, & & 0.29830e-02_rb,0.30431e-02_rb,0.29165e-02_rb,0.29718e-02_rb /) kao(:, 5, 6,13) = (/ & & 0.24544e-02_rb,0.23009e-02_rb,0.24971e-02_rb,0.26678e-02_rb,0.28335e-02_rb, & & 0.29758e-02_rb,0.30342e-02_rb,0.29019e-02_rb,0.29654e-02_rb /) kao(:, 1, 7,13) = (/ & & 0.22277e-02_rb,0.22296e-02_rb,0.24669e-02_rb,0.26497e-02_rb,0.28285e-02_rb, & & 0.29885e-02_rb,0.30855e-02_rb,0.30292e-02_rb,0.30616e-02_rb /) kao(:, 2, 7,13) = (/ & & 0.22293e-02_rb,0.22219e-02_rb,0.24569e-02_rb,0.26437e-02_rb,0.28247e-02_rb, & & 0.29924e-02_rb,0.30879e-02_rb,0.30266e-02_rb,0.30510e-02_rb /) kao(:, 3, 7,13) = (/ & & 0.22351e-02_rb,0.22176e-02_rb,0.24495e-02_rb,0.26382e-02_rb,0.28222e-02_rb, & & 0.29913e-02_rb,0.30877e-02_rb,0.30175e-02_rb,0.30415e-02_rb /) kao(:, 4, 7,13) = (/ & & 0.22344e-02_rb,0.22079e-02_rb,0.24453e-02_rb,0.26324e-02_rb,0.28192e-02_rb, & & 0.29887e-02_rb,0.30862e-02_rb,0.30074e-02_rb,0.30342e-02_rb /) kao(:, 5, 7,13) = (/ & & 0.22361e-02_rb,0.21982e-02_rb,0.24378e-02_rb,0.26291e-02_rb,0.28143e-02_rb, & & 0.29850e-02_rb,0.30822e-02_rb,0.29969e-02_rb,0.30270e-02_rb /) kao(:, 1, 8,13) = (/ & & 0.19878e-02_rb,0.21080e-02_rb,0.23886e-02_rb,0.26087e-02_rb,0.27952e-02_rb, & & 0.29676e-02_rb,0.31003e-02_rb,0.30904e-02_rb,0.31018e-02_rb /) kao(:, 2, 8,13) = (/ & & 0.19936e-02_rb,0.21034e-02_rb,0.23825e-02_rb,0.26049e-02_rb,0.27978e-02_rb, & & 0.29755e-02_rb,0.31107e-02_rb,0.30954e-02_rb,0.30940e-02_rb /) kao(:, 3, 8,13) = (/ & & 0.20012e-02_rb,0.21016e-02_rb,0.23778e-02_rb,0.26010e-02_rb,0.27982e-02_rb, & & 0.29815e-02_rb,0.31166e-02_rb,0.30929e-02_rb,0.30865e-02_rb /) kao(:, 4, 8,13) = (/ & & 0.20034e-02_rb,0.20960e-02_rb,0.23764e-02_rb,0.25979e-02_rb,0.27992e-02_rb, & & 0.29823e-02_rb,0.31192e-02_rb,0.30868e-02_rb,0.30812e-02_rb /) kao(:, 5, 8,13) = (/ & & 0.20095e-02_rb,0.20891e-02_rb,0.23711e-02_rb,0.25960e-02_rb,0.27964e-02_rb, & & 0.29828e-02_rb,0.31181e-02_rb,0.30806e-02_rb,0.30733e-02_rb /) kao(:, 1, 9,13) = (/ & & 0.17523e-02_rb,0.19789e-02_rb,0.23024e-02_rb,0.25572e-02_rb,0.27629e-02_rb, & & 0.29479e-02_rb,0.31085e-02_rb,0.31444e-02_rb,0.30417e-02_rb /) kao(:, 2, 9,13) = (/ & & 0.17607e-02_rb,0.19777e-02_rb,0.23013e-02_rb,0.25587e-02_rb,0.27691e-02_rb, & & 0.29613e-02_rb,0.31227e-02_rb,0.31535e-02_rb,0.30346e-02_rb /) kao(:, 3, 9,13) = (/ & & 0.17693e-02_rb,0.19800e-02_rb,0.23011e-02_rb,0.25605e-02_rb,0.27739e-02_rb, & & 0.29714e-02_rb,0.31329e-02_rb,0.31549e-02_rb,0.30299e-02_rb /) kao(:, 4, 9,13) = (/ & & 0.17751e-02_rb,0.19773e-02_rb,0.23025e-02_rb,0.25606e-02_rb,0.27770e-02_rb, & & 0.29770e-02_rb,0.31405e-02_rb,0.31532e-02_rb,0.30280e-02_rb /) kao(:, 5, 9,13) = (/ & & 0.17845e-02_rb,0.19738e-02_rb,0.23006e-02_rb,0.25633e-02_rb,0.27766e-02_rb, & & 0.29802e-02_rb,0.31452e-02_rb,0.31517e-02_rb,0.30317e-02_rb /) kao(:, 1,10,13) = (/ & & 0.15244e-02_rb,0.18437e-02_rb,0.22100e-02_rb,0.24972e-02_rb,0.27331e-02_rb, & & 0.29304e-02_rb,0.31059e-02_rb,0.31844e-02_rb,0.23817e-04_rb /) kao(:, 2,10,13) = (/ & & 0.15360e-02_rb,0.18467e-02_rb,0.22145e-02_rb,0.25068e-02_rb,0.27437e-02_rb, & & 0.29473e-02_rb,0.31260e-02_rb,0.31986e-02_rb,0.12454e-04_rb /) kao(:, 3,10,13) = (/ & & 0.15476e-02_rb,0.18512e-02_rb,0.22181e-02_rb,0.25119e-02_rb,0.27538e-02_rb, & & 0.29593e-02_rb,0.31389e-02_rb,0.32042e-02_rb,0.30814e-04_rb /) kao(:, 4,10,13) = (/ & & 0.15571e-02_rb,0.18528e-02_rb,0.22235e-02_rb,0.25174e-02_rb,0.27591e-02_rb, & & 0.29666e-02_rb,0.31497e-02_rb,0.32063e-02_rb,0.11698e-04_rb /) kao(:, 5,10,13) = (/ & & 0.15695e-02_rb,0.18534e-02_rb,0.22262e-02_rb,0.25236e-02_rb,0.27611e-02_rb, & & 0.29733e-02_rb,0.31600e-02_rb,0.32093e-02_rb,0.22330e-04_rb /) kao(:, 1,11,13) = (/ & & 0.13188e-02_rb,0.17123e-02_rb,0.21150e-02_rb,0.24398e-02_rb,0.27060e-02_rb, & & 0.29190e-02_rb,0.31061e-02_rb,0.32197e-02_rb,0.11689e-04_rb /) kao(:, 2,11,13) = (/ & & 0.13341e-02_rb,0.17189e-02_rb,0.21240e-02_rb,0.24532e-02_rb,0.27222e-02_rb, & & 0.29371e-02_rb,0.31262e-02_rb,0.32338e-02_rb,0.11845e-04_rb /) kao(:, 3,11,13) = (/ & & 0.13447e-02_rb,0.17274e-02_rb,0.21339e-02_rb,0.24651e-02_rb,0.27343e-02_rb, & & 0.29498e-02_rb,0.31430e-02_rb,0.32440e-02_rb,0.24255e-04_rb /) kao(:, 4,11,13) = (/ & & 0.13578e-02_rb,0.17324e-02_rb,0.21454e-02_rb,0.24765e-02_rb,0.27400e-02_rb, & & 0.29585e-02_rb,0.31579e-02_rb,0.32502e-02_rb,0.35648e-04_rb /) kao(:, 5,11,13) = (/ & & 0.13715e-02_rb,0.17394e-02_rb,0.21518e-02_rb,0.24842e-02_rb,0.27436e-02_rb, & & 0.29689e-02_rb,0.31719e-02_rb,0.32570e-02_rb,0.48216e-04_rb /) kao(:, 1,12,13) = (/ & & 0.11367e-02_rb,0.15942e-02_rb,0.20255e-02_rb,0.23827e-02_rb,0.26757e-02_rb, & & 0.29001e-02_rb,0.30944e-02_rb,0.32386e-02_rb,0.48616e-12_rb /) kao(:, 2,12,13) = (/ & & 0.11495e-02_rb,0.16057e-02_rb,0.20405e-02_rb,0.24019e-02_rb,0.26965e-02_rb, & & 0.29177e-02_rb,0.31160e-02_rb,0.32553e-02_rb,0.63803e-12_rb /) kao(:, 3,12,13) = (/ & & 0.11626e-02_rb,0.16147e-02_rb,0.20558e-02_rb,0.24193e-02_rb,0.27102e-02_rb, & & 0.29330e-02_rb,0.31363e-02_rb,0.32673e-02_rb,0.18451e-04_rb /) kao(:, 4,12,13) = (/ & & 0.11784e-02_rb,0.16224e-02_rb,0.20681e-02_rb,0.24334e-02_rb,0.27187e-02_rb, & & 0.29473e-02_rb,0.31560e-02_rb,0.32789e-02_rb,0.93725e-12_rb /) kao(:, 5,12,13) = (/ & & 0.11935e-02_rb,0.16327e-02_rb,0.20790e-02_rb,0.24438e-02_rb,0.27275e-02_rb, & & 0.29614e-02_rb,0.31756e-02_rb,0.32901e-02_rb,0.36773e-04_rb /) kao(:, 1,13,13) = (/ & & 0.97386e-03_rb,0.14865e-02_rb,0.19422e-02_rb,0.23265e-02_rb,0.26377e-02_rb, & & 0.28742e-02_rb,0.30758e-02_rb,0.32440e-02_rb,0.42838e-12_rb /) kao(:, 2,13,13) = (/ & & 0.98704e-03_rb,0.15018e-02_rb,0.19617e-02_rb,0.23518e-02_rb,0.26608e-02_rb, & & 0.28955e-02_rb,0.31025e-02_rb,0.32660e-02_rb,0.54956e-12_rb /) kao(:, 3,13,13) = (/ & & 0.10034e-02_rb,0.15127e-02_rb,0.19822e-02_rb,0.23722e-02_rb,0.26791e-02_rb, & & 0.29131e-02_rb,0.31272e-02_rb,0.32827e-02_rb,0.68281e-12_rb /) kao(:, 4,13,13) = (/ & & 0.10185e-02_rb,0.15248e-02_rb,0.19990e-02_rb,0.23896e-02_rb,0.26942e-02_rb, & & 0.29331e-02_rb,0.31525e-02_rb,0.33003e-02_rb,0.47348e-04_rb /) kao(:, 5,13,13) = (/ & & 0.10353e-02_rb,0.15370e-02_rb,0.20122e-02_rb,0.24032e-02_rb,0.27096e-02_rb, & & 0.29526e-02_rb,0.31774e-02_rb,0.33154e-02_rb,0.94094e-12_rb /) kao(:, 1, 1,14) = (/ & & 0.11127e-01_rb,0.97365e-02_rb,0.83450e-02_rb,0.69546e-02_rb,0.57518e-02_rb, & & 0.48972e-02_rb,0.42517e-02_rb,0.34771e-02_rb,0.44616e-02_rb /) kao(:, 2, 1,14) = (/ & & 0.11168e-01_rb,0.97719e-02_rb,0.83762e-02_rb,0.69801e-02_rb,0.57613e-02_rb, & & 0.48914e-02_rb,0.42324e-02_rb,0.34356e-02_rb,0.44183e-02_rb /) kao(:, 3, 1,14) = (/ & & 0.11206e-01_rb,0.98061e-02_rb,0.84051e-02_rb,0.70040e-02_rb,0.57786e-02_rb, & & 0.48973e-02_rb,0.42300e-02_rb,0.34167e-02_rb,0.44088e-02_rb /) kao(:, 4, 1,14) = (/ & & 0.11230e-01_rb,0.98265e-02_rb,0.84228e-02_rb,0.70190e-02_rb,0.57794e-02_rb, & & 0.48702e-02_rb,0.41927e-02_rb,0.33658e-02_rb,0.43365e-02_rb /) kao(:, 5, 1,14) = (/ & & 0.11247e-01_rb,0.98411e-02_rb,0.84348e-02_rb,0.70292e-02_rb,0.57800e-02_rb, & & 0.48600e-02_rb,0.41735e-02_rb,0.33367e-02_rb,0.43003e-02_rb /) kao(:, 1, 2,14) = (/ & & 0.11360e-01_rb,0.99403e-02_rb,0.85204e-02_rb,0.71449e-02_rb,0.60754e-02_rb, & & 0.53678e-02_rb,0.47333e-02_rb,0.38804e-02_rb,0.48459e-02_rb /) kao(:, 2, 2,14) = (/ & & 0.11402e-01_rb,0.99768e-02_rb,0.85517e-02_rb,0.71687e-02_rb,0.60816e-02_rb, & & 0.53522e-02_rb,0.47062e-02_rb,0.38343e-02_rb,0.48034e-02_rb /) kao(:, 3, 2,14) = (/ & & 0.11432e-01_rb,0.10003e-01_rb,0.85744e-02_rb,0.71872e-02_rb,0.60934e-02_rb, & & 0.53498e-02_rb,0.46968e-02_rb,0.38177e-02_rb,0.48004e-02_rb /) kao(:, 4, 2,14) = (/ & & 0.11460e-01_rb,0.10028e-01_rb,0.85956e-02_rb,0.72000e-02_rb,0.60909e-02_rb, & & 0.53282e-02_rb,0.46686e-02_rb,0.37852e-02_rb,0.47598e-02_rb /) kao(:, 5, 2,14) = (/ & & 0.11484e-01_rb,0.10049e-01_rb,0.86132e-02_rb,0.72108e-02_rb,0.60794e-02_rb, & & 0.52951e-02_rb,0.46284e-02_rb,0.37347e-02_rb,0.46895e-02_rb /) kao(:, 1, 3,14) = (/ & & 0.11375e-01_rb,0.99535e-02_rb,0.85318e-02_rb,0.72748e-02_rb,0.63965e-02_rb, & & 0.58374e-02_rb,0.52215e-02_rb,0.43002e-02_rb,0.52258e-02_rb /) kao(:, 2, 3,14) = (/ & & 0.11412e-01_rb,0.99855e-02_rb,0.85592e-02_rb,0.72909e-02_rb,0.63926e-02_rb, & & 0.58142e-02_rb,0.51838e-02_rb,0.42530e-02_rb,0.51857e-02_rb /) kao(:, 3, 3,14) = (/ & & 0.11451e-01_rb,0.10019e-01_rb,0.85873e-02_rb,0.73027e-02_rb,0.63856e-02_rb, & & 0.57886e-02_rb,0.51485e-02_rb,0.42153e-02_rb,0.51479e-02_rb /) kao(:, 4, 3,14) = (/ & & 0.11483e-01_rb,0.10047e-01_rb,0.86122e-02_rb,0.73190e-02_rb,0.63840e-02_rb, & & 0.57742e-02_rb,0.51342e-02_rb,0.42027e-02_rb,0.51482e-02_rb /) kao(:, 5, 3,14) = (/ & & 0.11512e-01_rb,0.10073e-01_rb,0.86339e-02_rb,0.73301e-02_rb,0.63706e-02_rb, & & 0.57344e-02_rb,0.50899e-02_rb,0.41496e-02_rb,0.50782e-02_rb /) kao(:, 1, 4,14) = (/ & & 0.11149e-01_rb,0.97560e-02_rb,0.83906e-02_rb,0.73568e-02_rb,0.67050e-02_rb, & & 0.62789e-02_rb,0.56809e-02_rb,0.47244e-02_rb,0.55742e-02_rb /) kao(:, 2, 4,14) = (/ & & 0.11201e-01_rb,0.98016e-02_rb,0.84237e-02_rb,0.73684e-02_rb,0.66927e-02_rb, & & 0.62506e-02_rb,0.56398e-02_rb,0.46775e-02_rb,0.55381e-02_rb /) kao(:, 3, 4,14) = (/ & & 0.11250e-01_rb,0.98437e-02_rb,0.84576e-02_rb,0.73794e-02_rb,0.66793e-02_rb, & & 0.62192e-02_rb,0.56018e-02_rb,0.46402e-02_rb,0.55028e-02_rb /) kao(:, 4, 4,14) = (/ & & 0.11293e-01_rb,0.98814e-02_rb,0.84883e-02_rb,0.73928e-02_rb,0.66658e-02_rb, & & 0.61879e-02_rb,0.55699e-02_rb,0.46073e-02_rb,0.54669e-02_rb /) kao(:, 5, 4,14) = (/ & & 0.11341e-01_rb,0.99237e-02_rb,0.85206e-02_rb,0.74085e-02_rb,0.66636e-02_rb, & & 0.61710e-02_rb,0.55548e-02_rb,0.45934e-02_rb,0.54646e-02_rb /) kao(:, 1, 5,14) = (/ & & 0.10704e-01_rb,0.93660e-02_rb,0.81568e-02_rb,0.74021e-02_rb,0.69945e-02_rb, & & 0.66654e-02_rb,0.61172e-02_rb,0.51470e-02_rb,0.58967e-02_rb /) kao(:, 2, 5,14) = (/ & & 0.10771e-01_rb,0.94250e-02_rb,0.81953e-02_rb,0.74101e-02_rb,0.69769e-02_rb, & & 0.66347e-02_rb,0.60743e-02_rb,0.50992e-02_rb,0.58616e-02_rb /) kao(:, 3, 5,14) = (/ & & 0.10834e-01_rb,0.94795e-02_rb,0.82348e-02_rb,0.74202e-02_rb,0.69586e-02_rb, & & 0.66047e-02_rb,0.60376e-02_rb,0.50623e-02_rb,0.58279e-02_rb /) kao(:, 4, 5,14) = (/ & & 0.10899e-01_rb,0.95365e-02_rb,0.82726e-02_rb,0.74343e-02_rb,0.69400e-02_rb, & & 0.65760e-02_rb,0.60076e-02_rb,0.50289e-02_rb,0.57953e-02_rb /) kao(:, 5, 5,14) = (/ & & 0.10965e-01_rb,0.95941e-02_rb,0.83123e-02_rb,0.74464e-02_rb,0.69292e-02_rb, & & 0.65626e-02_rb,0.59940e-02_rb,0.50178e-02_rb,0.57938e-02_rb /) kao(:, 1, 6,14) = (/ & & 0.10078e-01_rb,0.88178e-02_rb,0.78666e-02_rb,0.74112e-02_rb,0.72308e-02_rb, & & 0.70100e-02_rb,0.65312e-02_rb,0.55779e-02_rb,0.62140e-02_rb /) kao(:, 2, 6,14) = (/ & & 0.10161e-01_rb,0.88906e-02_rb,0.79113e-02_rb,0.74185e-02_rb,0.72160e-02_rb, & & 0.69843e-02_rb,0.64888e-02_rb,0.55247e-02_rb,0.61818e-02_rb /) kao(:, 3, 6,14) = (/ & & 0.10243e-01_rb,0.89616e-02_rb,0.79583e-02_rb,0.74318e-02_rb,0.71999e-02_rb, & & 0.69579e-02_rb,0.64523e-02_rb,0.54833e-02_rb,0.61492e-02_rb /) kao(:, 4, 6,14) = (/ & & 0.10327e-01_rb,0.90374e-02_rb,0.79989e-02_rb,0.74443e-02_rb,0.71832e-02_rb, & & 0.69350e-02_rb,0.64210e-02_rb,0.54479e-02_rb,0.61172e-02_rb /) kao(:, 5, 6,14) = (/ & & 0.10409e-01_rb,0.91075e-02_rb,0.80421e-02_rb,0.74489e-02_rb,0.71645e-02_rb, & & 0.69118e-02_rb,0.63952e-02_rb,0.54129e-02_rb,0.60849e-02_rb /) kao(:, 1, 7,14) = (/ & & 0.93799e-02_rb,0.82246e-02_rb,0.75645e-02_rb,0.73983e-02_rb,0.74124e-02_rb, & & 0.73054e-02_rb,0.69103e-02_rb,0.59986e-02_rb,0.65205e-02_rb /) kao(:, 2, 7,14) = (/ & & 0.94746e-02_rb,0.83048e-02_rb,0.76105e-02_rb,0.74041e-02_rb,0.74008e-02_rb, & & 0.72835e-02_rb,0.68745e-02_rb,0.59435e-02_rb,0.64911e-02_rb /) kao(:, 3, 7,14) = (/ & & 0.95665e-02_rb,0.83814e-02_rb,0.76560e-02_rb,0.74150e-02_rb,0.73885e-02_rb, & & 0.72645e-02_rb,0.68399e-02_rb,0.59000e-02_rb,0.64612e-02_rb /) kao(:, 4, 7,14) = (/ & & 0.96610e-02_rb,0.84615e-02_rb,0.76953e-02_rb,0.74218e-02_rb,0.73786e-02_rb, & & 0.72467e-02_rb,0.68110e-02_rb,0.58618e-02_rb,0.64309e-02_rb /) kao(:, 5, 7,14) = (/ & & 0.97576e-02_rb,0.85445e-02_rb,0.77428e-02_rb,0.74271e-02_rb,0.73666e-02_rb, & & 0.72295e-02_rb,0.67856e-02_rb,0.58248e-02_rb,0.64018e-02_rb /) kao(:, 1, 8,14) = (/ & & 0.86695e-02_rb,0.76539e-02_rb,0.72832e-02_rb,0.73811e-02_rb,0.75539e-02_rb, & & 0.75395e-02_rb,0.72391e-02_rb,0.63979e-02_rb,0.68067e-02_rb /) kao(:, 2, 8,14) = (/ & & 0.87714e-02_rb,0.77350e-02_rb,0.73260e-02_rb,0.73889e-02_rb,0.75481e-02_rb, & & 0.75307e-02_rb,0.72059e-02_rb,0.63386e-02_rb,0.67797e-02_rb /) kao(:, 3, 8,14) = (/ & & 0.88648e-02_rb,0.78065e-02_rb,0.73635e-02_rb,0.73928e-02_rb,0.75428e-02_rb, & & 0.75176e-02_rb,0.71786e-02_rb,0.62948e-02_rb,0.67512e-02_rb /) kao(:, 4, 8,14) = (/ & & 0.89696e-02_rb,0.78903e-02_rb,0.74008e-02_rb,0.73947e-02_rb,0.75364e-02_rb, & & 0.75091e-02_rb,0.71562e-02_rb,0.62573e-02_rb,0.67249e-02_rb /) kao(:, 5, 8,14) = (/ & & 0.90827e-02_rb,0.79827e-02_rb,0.74524e-02_rb,0.74004e-02_rb,0.75307e-02_rb, & & 0.75004e-02_rb,0.71406e-02_rb,0.62196e-02_rb,0.66995e-02_rb /) kao(:, 1, 9,14) = (/ & & 0.79522e-02_rb,0.71197e-02_rb,0.70358e-02_rb,0.73522e-02_rb,0.76328e-02_rb, & & 0.77097e-02_rb,0.75175e-02_rb,0.67703e-02_rb,0.70524e-02_rb /) kao(:, 2, 9,14) = (/ & & 0.80598e-02_rb,0.71969e-02_rb,0.70715e-02_rb,0.73653e-02_rb,0.76374e-02_rb, & & 0.77113e-02_rb,0.74908e-02_rb,0.67151e-02_rb,0.70338e-02_rb /) kao(:, 3, 9,14) = (/ & & 0.81632e-02_rb,0.72678e-02_rb,0.71027e-02_rb,0.73712e-02_rb,0.76458e-02_rb, & & 0.77123e-02_rb,0.74742e-02_rb,0.66728e-02_rb,0.70182e-02_rb /) kao(:, 4, 9,14) = (/ & & 0.82823e-02_rb,0.73561e-02_rb,0.71392e-02_rb,0.73768e-02_rb,0.76576e-02_rb, & & 0.77143e-02_rb,0.74622e-02_rb,0.66357e-02_rb,0.69991e-02_rb /) kao(:, 5, 9,14) = (/ & & 0.84105e-02_rb,0.74558e-02_rb,0.71910e-02_rb,0.73874e-02_rb,0.76648e-02_rb, & & 0.77180e-02_rb,0.74509e-02_rb,0.65977e-02_rb,0.69736e-02_rb /) kao(:, 1,10,14) = (/ & & 0.72630e-02_rb,0.66377e-02_rb,0.68373e-02_rb,0.72984e-02_rb,0.76509e-02_rb, & & 0.78294e-02_rb,0.77460e-02_rb,0.71207e-02_rb,0.20344e-04_rb /) kao(:, 2,10,14) = (/ & & 0.73671e-02_rb,0.67055e-02_rb,0.68587e-02_rb,0.73198e-02_rb,0.76710e-02_rb, & & 0.78437e-02_rb,0.77323e-02_rb,0.70655e-02_rb,0.20564e-04_rb /) kao(:, 3,10,14) = (/ & & 0.74810e-02_rb,0.67793e-02_rb,0.68858e-02_rb,0.73353e-02_rb,0.76947e-02_rb, & & 0.78590e-02_rb,0.77307e-02_rb,0.70272e-02_rb,0.37563e-05_rb /) kao(:, 4,10,14) = (/ & & 0.76171e-02_rb,0.68754e-02_rb,0.69230e-02_rb,0.73502e-02_rb,0.77241e-02_rb, & & 0.78765e-02_rb,0.77271e-02_rb,0.69915e-02_rb,0.47236e-05_rb /) kao(:, 5,10,14) = (/ & & 0.77608e-02_rb,0.69811e-02_rb,0.69732e-02_rb,0.73676e-02_rb,0.77455e-02_rb, & & 0.78941e-02_rb,0.77236e-02_rb,0.69531e-02_rb,0.26047e-04_rb /) kao(:, 1,11,14) = (/ & & 0.66493e-02_rb,0.62366e-02_rb,0.66807e-02_rb,0.72344e-02_rb,0.76404e-02_rb, & & 0.79217e-02_rb,0.79405e-02_rb,0.74097e-02_rb,0.00000e+00_rb /) kao(:, 2,11,14) = (/ & & 0.67616e-02_rb,0.63044e-02_rb,0.67053e-02_rb,0.72656e-02_rb,0.76819e-02_rb, & & 0.79515e-02_rb,0.79506e-02_rb,0.73718e-02_rb,0.18408e-04_rb /) kao(:, 3,11,14) = (/ & & 0.69005e-02_rb,0.63894e-02_rb,0.67349e-02_rb,0.72931e-02_rb,0.77291e-02_rb, & & 0.79845e-02_rb,0.79576e-02_rb,0.73388e-02_rb,0.37607e-04_rb /) kao(:, 4,11,14) = (/ & & 0.70530e-02_rb,0.64912e-02_rb,0.67712e-02_rb,0.73223e-02_rb,0.77726e-02_rb, & & 0.80170e-02_rb,0.79618e-02_rb,0.73054e-02_rb,0.56367e-04_rb /) kao(:, 5,11,14) = (/ & & 0.72039e-02_rb,0.65911e-02_rb,0.68118e-02_rb,0.73572e-02_rb,0.78096e-02_rb, & & 0.80477e-02_rb,0.79648e-02_rb,0.72708e-02_rb,0.00000e+00_rb /) kao(:, 1,12,14) = (/ & & 0.60858e-02_rb,0.58916e-02_rb,0.65335e-02_rb,0.71525e-02_rb,0.76284e-02_rb, & & 0.80006e-02_rb,0.81294e-02_rb,0.76675e-02_rb,0.58588e-04_rb /) kao(:, 2,12,14) = (/ & & 0.62191e-02_rb,0.59612e-02_rb,0.65675e-02_rb,0.71998e-02_rb,0.76898e-02_rb, & & 0.80500e-02_rb,0.81534e-02_rb,0.76479e-02_rb,0.00000e+00_rb /) kao(:, 3,12,14) = (/ & & 0.63725e-02_rb,0.60546e-02_rb,0.66095e-02_rb,0.72445e-02_rb,0.77558e-02_rb, & & 0.80973e-02_rb,0.81695e-02_rb,0.76255e-02_rb,0.29841e-04_rb /) kao(:, 4,12,14) = (/ & & 0.65241e-02_rb,0.61494e-02_rb,0.66519e-02_rb,0.72916e-02_rb,0.78126e-02_rb, & & 0.81445e-02_rb,0.81839e-02_rb,0.75955e-02_rb,0.00000e+00_rb /) kao(:, 5,12,14) = (/ & & 0.66908e-02_rb,0.62534e-02_rb,0.66904e-02_rb,0.73429e-02_rb,0.78615e-02_rb, & & 0.81879e-02_rb,0.81898e-02_rb,0.75652e-02_rb,0.00000e+00_rb /) kao(:, 1,13,14) = (/ & & 0.55891e-02_rb,0.56116e-02_rb,0.63936e-02_rb,0.70621e-02_rb,0.76241e-02_rb, & & 0.80837e-02_rb,0.82964e-02_rb,0.79007e-02_rb,0.00000e+00_rb /) kao(:, 2,13,14) = (/ & & 0.57354e-02_rb,0.56825e-02_rb,0.64439e-02_rb,0.71280e-02_rb,0.77039e-02_rb, & & 0.81460e-02_rb,0.83322e-02_rb,0.78896e-02_rb,0.38090e-04_rb /) kao(:, 3,13,14) = (/ & & 0.58847e-02_rb,0.57651e-02_rb,0.64971e-02_rb,0.71963e-02_rb,0.77792e-02_rb, & & 0.82047e-02_rb,0.83632e-02_rb,0.78746e-02_rb,0.00000e+00_rb /) kao(:, 4,13,14) = (/ & & 0.60503e-02_rb,0.58579e-02_rb,0.65448e-02_rb,0.72663e-02_rb,0.78467e-02_rb, & & 0.82617e-02_rb,0.83886e-02_rb,0.78555e-02_rb,0.00000e+00_rb /) kao(:, 5,13,14) = (/ & & 0.62326e-02_rb,0.59678e-02_rb,0.65939e-02_rb,0.73313e-02_rb,0.79071e-02_rb, & & 0.83133e-02_rb,0.83975e-02_rb,0.78294e-02_rb,0.00000e+00_rb /) kao(:, 1, 1,15) = (/ & & 0.22784e-01_rb,0.19937e-01_rb,0.17089e-01_rb,0.14240e-01_rb,0.11393e-01_rb, & & 0.85439e-02_rb,0.62360e-02_rb,0.50515e-02_rb,0.76952e-02_rb /) kao(:, 2, 1,15) = (/ & & 0.22781e-01_rb,0.19933e-01_rb,0.17085e-01_rb,0.14238e-01_rb,0.11390e-01_rb, & & 0.85426e-02_rb,0.62118e-02_rb,0.49990e-02_rb,0.75953e-02_rb /) kao(:, 3, 1,15) = (/ & & 0.22781e-01_rb,0.19934e-01_rb,0.17086e-01_rb,0.14239e-01_rb,0.11390e-01_rb, & & 0.85428e-02_rb,0.62149e-02_rb,0.49913e-02_rb,0.75531e-02_rb /) kao(:, 4, 1,15) = (/ & & 0.22807e-01_rb,0.19955e-01_rb,0.17104e-01_rb,0.14253e-01_rb,0.11403e-01_rb, & & 0.85521e-02_rb,0.61662e-02_rb,0.48921e-02_rb,0.74213e-02_rb /) kao(:, 5, 1,15) = (/ & & 0.22846e-01_rb,0.19991e-01_rb,0.17134e-01_rb,0.14278e-01_rb,0.11422e-01_rb, & & 0.85672e-02_rb,0.61477e-02_rb,0.48442e-02_rb,0.73437e-02_rb /) kao(:, 1, 2,15) = (/ & & 0.25963e-01_rb,0.22716e-01_rb,0.19471e-01_rb,0.16227e-01_rb,0.12981e-01_rb, & & 0.97432e-02_rb,0.72799e-02_rb,0.58913e-02_rb,0.89930e-02_rb /) kao(:, 2, 2,15) = (/ & & 0.25957e-01_rb,0.22712e-01_rb,0.19468e-01_rb,0.16223e-01_rb,0.12978e-01_rb, & & 0.97376e-02_rb,0.72409e-02_rb,0.58243e-02_rb,0.88738e-02_rb /) kao(:, 3, 2,15) = (/ & & 0.25967e-01_rb,0.22721e-01_rb,0.19475e-01_rb,0.16229e-01_rb,0.12984e-01_rb, & & 0.97376e-02_rb,0.72294e-02_rb,0.57970e-02_rb,0.88082e-02_rb /) kao(:, 4, 2,15) = (/ & & 0.25991e-01_rb,0.22741e-01_rb,0.19493e-01_rb,0.16243e-01_rb,0.12995e-01_rb, & & 0.97464e-02_rb,0.71939e-02_rb,0.57194e-02_rb,0.86974e-02_rb /) kao(:, 5, 2,15) = (/ & & 0.26012e-01_rb,0.22759e-01_rb,0.19508e-01_rb,0.16256e-01_rb,0.13005e-01_rb, & & 0.97539e-02_rb,0.71378e-02_rb,0.56167e-02_rb,0.85506e-02_rb /) kao(:, 1, 3,15) = (/ & & 0.29273e-01_rb,0.25614e-01_rb,0.21954e-01_rb,0.18296e-01_rb,0.14638e-01_rb, & & 0.11059e-01_rb,0.84536e-02_rb,0.68488e-02_rb,0.10453e-01_rb /) kao(:, 2, 3,15) = (/ & & 0.29273e-01_rb,0.25613e-01_rb,0.21954e-01_rb,0.18296e-01_rb,0.14636e-01_rb, & & 0.11040e-01_rb,0.84006e-02_rb,0.67671e-02_rb,0.10308e-01_rb /) kao(:, 3, 3,15) = (/ & & 0.29281e-01_rb,0.25620e-01_rb,0.21957e-01_rb,0.18299e-01_rb,0.14639e-01_rb, & & 0.11029e-01_rb,0.83532e-02_rb,0.66803e-02_rb,0.10170e-01_rb /) kao(:, 4, 3,15) = (/ & & 0.29284e-01_rb,0.25622e-01_rb,0.21963e-01_rb,0.18303e-01_rb,0.14642e-01_rb, & & 0.11027e-01_rb,0.83265e-02_rb,0.66328e-02_rb,0.10072e-01_rb /) kao(:, 5, 3,15) = (/ & & 0.29273e-01_rb,0.25615e-01_rb,0.21955e-01_rb,0.18297e-01_rb,0.14636e-01_rb, & & 0.11016e-01_rb,0.82524e-02_rb,0.65141e-02_rb,0.98927e-02_rb /) kao(:, 1, 4,15) = (/ & & 0.32689e-01_rb,0.28601e-01_rb,0.24517e-01_rb,0.20431e-01_rb,0.16343e-01_rb, & & 0.12498e-01_rb,0.97860e-02_rb,0.79359e-02_rb,0.11964e-01_rb /) kao(:, 2, 4,15) = (/ & & 0.32673e-01_rb,0.28590e-01_rb,0.24505e-01_rb,0.20420e-01_rb,0.16336e-01_rb, & & 0.12462e-01_rb,0.97090e-02_rb,0.78356e-02_rb,0.11793e-01_rb /) kao(:, 3, 4,15) = (/ & & 0.32657e-01_rb,0.28575e-01_rb,0.24494e-01_rb,0.20410e-01_rb,0.16330e-01_rb, & & 0.12434e-01_rb,0.96384e-02_rb,0.77321e-02_rb,0.11625e-01_rb /) kao(:, 4, 4,15) = (/ & & 0.32631e-01_rb,0.28553e-01_rb,0.24473e-01_rb,0.20396e-01_rb,0.16316e-01_rb, & & 0.12404e-01_rb,0.95671e-02_rb,0.76286e-02_rb,0.11457e-01_rb /) kao(:, 5, 4,15) = (/ & & 0.32595e-01_rb,0.28521e-01_rb,0.24445e-01_rb,0.20372e-01_rb,0.16297e-01_rb, & & 0.12376e-01_rb,0.95137e-02_rb,0.75694e-02_rb,0.11318e-01_rb /) kao(:, 1, 5,15) = (/ & & 0.36129e-01_rb,0.31613e-01_rb,0.27097e-01_rb,0.22582e-01_rb,0.18065e-01_rb, & & 0.14059e-01_rb,0.11253e-01_rb,0.91497e-02_rb,0.13513e-01_rb /) kao(:, 2, 5,15) = (/ & & 0.36091e-01_rb,0.31580e-01_rb,0.27068e-01_rb,0.22557e-01_rb,0.18046e-01_rb, & & 0.13996e-01_rb,0.11159e-01_rb,0.90273e-02_rb,0.13314e-01_rb /) kao(:, 3, 5,15) = (/ & & 0.36050e-01_rb,0.31543e-01_rb,0.27038e-01_rb,0.22530e-01_rb,0.18025e-01_rb, & & 0.13938e-01_rb,0.11057e-01_rb,0.89022e-02_rb,0.13117e-01_rb /) kao(:, 4, 5,15) = (/ & & 0.35994e-01_rb,0.31496e-01_rb,0.26994e-01_rb,0.22495e-01_rb,0.17996e-01_rb, & & 0.13877e-01_rb,0.10953e-01_rb,0.87755e-02_rb,0.12914e-01_rb /) kao(:, 5, 5,15) = (/ & & 0.35944e-01_rb,0.31450e-01_rb,0.26957e-01_rb,0.22466e-01_rb,0.17973e-01_rb, & & 0.13819e-01_rb,0.10863e-01_rb,0.86942e-02_rb,0.12744e-01_rb /) kao(:, 1, 6,15) = (/ & & 0.39506e-01_rb,0.34566e-01_rb,0.29627e-01_rb,0.24691e-01_rb,0.19819e-01_rb, & & 0.15734e-01_rb,0.12852e-01_rb,0.10482e-01_rb,0.15100e-01_rb /) kao(:, 2, 6,15) = (/ & & 0.39438e-01_rb,0.34510e-01_rb,0.29581e-01_rb,0.24651e-01_rb,0.19767e-01_rb, & & 0.15626e-01_rb,0.12723e-01_rb,0.10339e-01_rb,0.14869e-01_rb /) kao(:, 3, 6,15) = (/ & & 0.39363e-01_rb,0.34443e-01_rb,0.29524e-01_rb,0.24601e-01_rb,0.19714e-01_rb, & & 0.15531e-01_rb,0.12593e-01_rb,0.10189e-01_rb,0.14636e-01_rb /) kao(:, 4, 6,15) = (/ & & 0.39295e-01_rb,0.34380e-01_rb,0.29468e-01_rb,0.24559e-01_rb,0.19663e-01_rb, & & 0.15432e-01_rb,0.12453e-01_rb,0.10038e-01_rb,0.14402e-01_rb /) kao(:, 5, 6,15) = (/ & & 0.39232e-01_rb,0.34326e-01_rb,0.29423e-01_rb,0.24518e-01_rb,0.19622e-01_rb, & & 0.15336e-01_rb,0.12308e-01_rb,0.98939e-02_rb,0.14172e-01_rb /) kao(:, 1, 7,15) = (/ & & 0.42642e-01_rb,0.37314e-01_rb,0.31983e-01_rb,0.26652e-01_rb,0.21609e-01_rb, & & 0.17542e-01_rb,0.14584e-01_rb,0.11924e-01_rb,0.16714e-01_rb /) kao(:, 2, 7,15) = (/ & & 0.42588e-01_rb,0.37267e-01_rb,0.31942e-01_rb,0.26620e-01_rb,0.21537e-01_rb, & & 0.17385e-01_rb,0.14405e-01_rb,0.11750e-01_rb,0.16453e-01_rb /) kao(:, 3, 7,15) = (/ & & 0.42519e-01_rb,0.37203e-01_rb,0.31888e-01_rb,0.26575e-01_rb,0.21450e-01_rb, & & 0.17237e-01_rb,0.14233e-01_rb,0.11569e-01_rb,0.16190e-01_rb /) kao(:, 4, 7,15) = (/ & & 0.42450e-01_rb,0.37145e-01_rb,0.31837e-01_rb,0.26531e-01_rb,0.21364e-01_rb, & & 0.17089e-01_rb,0.14051e-01_rb,0.11390e-01_rb,0.15924e-01_rb /) kao(:, 5, 7,15) = (/ & & 0.42372e-01_rb,0.37075e-01_rb,0.31780e-01_rb,0.26482e-01_rb,0.21293e-01_rb, & & 0.16947e-01_rb,0.13866e-01_rb,0.11216e-01_rb,0.15662e-01_rb /) kao(:, 1, 8,15) = (/ & & 0.45438e-01_rb,0.39757e-01_rb,0.34077e-01_rb,0.28427e-01_rb,0.23418e-01_rb, & & 0.19456e-01_rb,0.16427e-01_rb,0.13456e-01_rb,0.18359e-01_rb /) kao(:, 2, 8,15) = (/ & & 0.45420e-01_rb,0.39742e-01_rb,0.34065e-01_rb,0.28396e-01_rb,0.23308e-01_rb, & & 0.19242e-01_rb,0.16196e-01_rb,0.13253e-01_rb,0.18076e-01_rb /) kao(:, 3, 8,15) = (/ & & 0.45404e-01_rb,0.39728e-01_rb,0.34054e-01_rb,0.28379e-01_rb,0.23190e-01_rb, & & 0.19044e-01_rb,0.15968e-01_rb,0.13036e-01_rb,0.17789e-01_rb /) kao(:, 4, 8,15) = (/ & & 0.45355e-01_rb,0.39684e-01_rb,0.34015e-01_rb,0.28348e-01_rb,0.23074e-01_rb, & & 0.18841e-01_rb,0.15735e-01_rb,0.12818e-01_rb,0.17487e-01_rb /) kao(:, 5, 8,15) = (/ & & 0.45268e-01_rb,0.39604e-01_rb,0.33951e-01_rb,0.28294e-01_rb,0.22964e-01_rb, & & 0.18639e-01_rb,0.15495e-01_rb,0.12608e-01_rb,0.17187e-01_rb /) kao(:, 1, 9,15) = (/ & & 0.47828e-01_rb,0.41848e-01_rb,0.35870e-01_rb,0.30096e-01_rb,0.25238e-01_rb, & & 0.21453e-01_rb,0.18348e-01_rb,0.15048e-01_rb,0.20030e-01_rb /) kao(:, 2, 9,15) = (/ & & 0.47883e-01_rb,0.41899e-01_rb,0.35911e-01_rb,0.30061e-01_rb,0.25102e-01_rb, & & 0.21178e-01_rb,0.18071e-01_rb,0.14812e-01_rb,0.19720e-01_rb /) kao(:, 3, 9,15) = (/ & & 0.47917e-01_rb,0.41930e-01_rb,0.35941e-01_rb,0.30033e-01_rb,0.24934e-01_rb, & & 0.20917e-01_rb,0.17786e-01_rb,0.14566e-01_rb,0.19396e-01_rb /) kao(:, 4, 9,15) = (/ & & 0.47914e-01_rb,0.41927e-01_rb,0.35936e-01_rb,0.29997e-01_rb,0.24771e-01_rb, & & 0.20657e-01_rb,0.17491e-01_rb,0.14311e-01_rb,0.19056e-01_rb /) kao(:, 5, 9,15) = (/ & & 0.47853e-01_rb,0.41872e-01_rb,0.35889e-01_rb,0.29935e-01_rb,0.24616e-01_rb, & & 0.20393e-01_rb,0.17196e-01_rb,0.14061e-01_rb,0.18721e-01_rb /) kao(:, 1,10,15) = (/ & & 0.49786e-01_rb,0.43562e-01_rb,0.37346e-01_rb,0.31673e-01_rb,0.27058e-01_rb, & & 0.23446e-01_rb,0.20298e-01_rb,0.16634e-01_rb,0.20401e-01_rb /) kao(:, 2,10,15) = (/ & & 0.49957e-01_rb,0.43713e-01_rb,0.37470e-01_rb,0.31624e-01_rb,0.26879e-01_rb, & & 0.23121e-01_rb,0.19962e-01_rb,0.16379e-01_rb,0.19980e-01_rb /) kao(:, 3,10,15) = (/ & & 0.50073e-01_rb,0.43811e-01_rb,0.37553e-01_rb,0.31591e-01_rb,0.26668e-01_rb, & & 0.22810e-01_rb,0.19616e-01_rb,0.16101e-01_rb,0.19150e-01_rb /) kao(:, 4,10,15) = (/ & & 0.50104e-01_rb,0.43839e-01_rb,0.37576e-01_rb,0.31542e-01_rb,0.26451e-01_rb, & & 0.22487e-01_rb,0.19263e-01_rb,0.15810e-01_rb,0.18309e-01_rb /) kao(:, 5,10,15) = (/ & & 0.50083e-01_rb,0.43821e-01_rb,0.37560e-01_rb,0.31463e-01_rb,0.26247e-01_rb, & & 0.22153e-01_rb,0.18906e-01_rb,0.15516e-01_rb,0.17790e-01_rb /) kao(:, 1,11,15) = (/ & & 0.51449e-01_rb,0.45016e-01_rb,0.38642e-01_rb,0.33136e-01_rb,0.28759e-01_rb, & & 0.25254e-01_rb,0.22053e-01_rb,0.18120e-01_rb,0.53897e-02_rb /) kao(:, 2,11,15) = (/ & & 0.51718e-01_rb,0.45255e-01_rb,0.38815e-01_rb,0.33090e-01_rb,0.28517e-01_rb, & & 0.24894e-01_rb,0.21659e-01_rb,0.17825e-01_rb,0.47196e-02_rb /) kao(:, 3,11,15) = (/ & & 0.51885e-01_rb,0.45397e-01_rb,0.38919e-01_rb,0.33034e-01_rb,0.28248e-01_rb, & & 0.24520e-01_rb,0.21252e-01_rb,0.17499e-01_rb,0.36639e-02_rb /) kao(:, 4,11,15) = (/ & & 0.51965e-01_rb,0.45468e-01_rb,0.38969e-01_rb,0.32946e-01_rb,0.27987e-01_rb, & & 0.24125e-01_rb,0.20834e-01_rb,0.17164e-01_rb,0.30436e-02_rb /) kao(:, 5,11,15) = (/ & & 0.52007e-01_rb,0.45508e-01_rb,0.39008e-01_rb,0.32828e-01_rb,0.27732e-01_rb, & & 0.23720e-01_rb,0.20415e-01_rb,0.16822e-01_rb,0.23024e-02_rb /) kao(:, 1,12,15) = (/ & & 0.52772e-01_rb,0.46179e-01_rb,0.39786e-01_rb,0.34518e-01_rb,0.30341e-01_rb, & & 0.26996e-01_rb,0.23719e-01_rb,0.19625e-01_rb,0.00000e+00_rb /) kao(:, 2,12,15) = (/ & & 0.53131e-01_rb,0.46489e-01_rb,0.39976e-01_rb,0.34451e-01_rb,0.30050e-01_rb, & & 0.26583e-01_rb,0.23271e-01_rb,0.19259e-01_rb,0.79250e-04_rb /) kao(:, 3,12,15) = (/ & & 0.53372e-01_rb,0.46707e-01_rb,0.40090e-01_rb,0.34369e-01_rb,0.29734e-01_rb, & & 0.26140e-01_rb,0.22802e-01_rb,0.18870e-01_rb,0.00000e+00_rb /) kao(:, 4,12,15) = (/ & & 0.53549e-01_rb,0.46855e-01_rb,0.40175e-01_rb,0.34238e-01_rb,0.29424e-01_rb, & & 0.25661e-01_rb,0.22318e-01_rb,0.18486e-01_rb,0.00000e+00_rb /) kao(:, 5,12,15) = (/ & & 0.53641e-01_rb,0.46944e-01_rb,0.40238e-01_rb,0.34087e-01_rb,0.29108e-01_rb, & & 0.25184e-01_rb,0.21836e-01_rb,0.18091e-01_rb,0.00000e+00_rb /) kao(:, 1,13,15) = (/ & & 0.53794e-01_rb,0.47070e-01_rb,0.40802e-01_rb,0.35804e-01_rb,0.31808e-01_rb, & & 0.28611e-01_rb,0.25317e-01_rb,0.21103e-01_rb,0.00000e+00_rb /) kao(:, 2,13,15) = (/ & & 0.54248e-01_rb,0.47468e-01_rb,0.40994e-01_rb,0.35717e-01_rb,0.31468e-01_rb, & & 0.28147e-01_rb,0.24800e-01_rb,0.20666e-01_rb,0.99549e-04_rb /) kao(:, 3,13,15) = (/ & & 0.54616e-01_rb,0.47795e-01_rb,0.41127e-01_rb,0.35591e-01_rb,0.31112e-01_rb, & & 0.27634e-01_rb,0.24251e-01_rb,0.20223e-01_rb,0.00000e+00_rb /) kao(:, 4,13,15) = (/ & & 0.54881e-01_rb,0.48017e-01_rb,0.41234e-01_rb,0.35410e-01_rb,0.30749e-01_rb, & & 0.27090e-01_rb,0.23692e-01_rb,0.19766e-01_rb,0.00000e+00_rb /) kao(:, 5,13,15) = (/ & & 0.55030e-01_rb,0.48150e-01_rb,0.41295e-01_rb,0.35229e-01_rb,0.30369e-01_rb, & & 0.26544e-01_rb,0.23150e-01_rb,0.19313e-01_rb,0.00000e+00_rb /) kao(:, 1, 1,16) = (/ & & 0.31412e-01_rb,0.27484e-01_rb,0.23556e-01_rb,0.19630e-01_rb,0.15703e-01_rb, & & 0.11777e-01_rb,0.78503e-02_rb,0.63859e-02_rb,0.10546e-01_rb /) kao(:, 2, 1,16) = (/ & & 0.31306e-01_rb,0.27393e-01_rb,0.23480e-01_rb,0.19566e-01_rb,0.15652e-01_rb, & & 0.11737e-01_rb,0.78244e-02_rb,0.64039e-02_rb,0.10543e-01_rb /) kao(:, 3, 1,16) = (/ & & 0.31189e-01_rb,0.27291e-01_rb,0.23390e-01_rb,0.19492e-01_rb,0.15594e-01_rb, & & 0.11694e-01_rb,0.77949e-02_rb,0.65607e-02_rb,0.10621e-01_rb /) kao(:, 4, 1,16) = (/ & & 0.31060e-01_rb,0.27175e-01_rb,0.23293e-01_rb,0.19412e-01_rb,0.15526e-01_rb, & & 0.11645e-01_rb,0.77621e-02_rb,0.64197e-02_rb,0.10470e-01_rb /) kao(:, 5, 1,16) = (/ & & 0.30934e-01_rb,0.27069e-01_rb,0.23201e-01_rb,0.19334e-01_rb,0.15466e-01_rb, & & 0.11599e-01_rb,0.77309e-02_rb,0.64181e-02_rb,0.10407e-01_rb /) kao(:, 1, 2,16) = (/ & & 0.37345e-01_rb,0.32673e-01_rb,0.28007e-01_rb,0.23341e-01_rb,0.18670e-01_rb, & & 0.14002e-01_rb,0.93330e-02_rb,0.76035e-02_rb,0.12759e-01_rb /) kao(:, 2, 2,16) = (/ & & 0.37160e-01_rb,0.32513e-01_rb,0.27871e-01_rb,0.23225e-01_rb,0.18579e-01_rb, & & 0.13933e-01_rb,0.92868e-02_rb,0.75902e-02_rb,0.12702e-01_rb /) kao(:, 3, 2,16) = (/ & & 0.36977e-01_rb,0.32353e-01_rb,0.27732e-01_rb,0.23111e-01_rb,0.18487e-01_rb, & & 0.13864e-01_rb,0.92415e-02_rb,0.77168e-02_rb,0.12729e-01_rb /) kao(:, 4, 2,16) = (/ & & 0.36807e-01_rb,0.32204e-01_rb,0.27602e-01_rb,0.23002e-01_rb,0.18402e-01_rb, & & 0.13798e-01_rb,0.91981e-02_rb,0.77023e-02_rb,0.12641e-01_rb /) kao(:, 5, 2,16) = (/ & & 0.36620e-01_rb,0.32046e-01_rb,0.27465e-01_rb,0.22887e-01_rb,0.18309e-01_rb, & & 0.13731e-01_rb,0.91527e-02_rb,0.75684e-02_rb,0.12457e-01_rb /) kao(:, 1, 3,16) = (/ & & 0.44232e-01_rb,0.38700e-01_rb,0.33173e-01_rb,0.27644e-01_rb,0.22114e-01_rb, & & 0.16581e-01_rb,0.11054e-01_rb,0.91028e-02_rb,0.15510e-01_rb /) kao(:, 2, 3,16) = (/ & & 0.43957e-01_rb,0.38463e-01_rb,0.32969e-01_rb,0.27474e-01_rb,0.21977e-01_rb, & & 0.16483e-01_rb,0.10987e-01_rb,0.90298e-02_rb,0.15354e-01_rb /) kao(:, 3, 3,16) = (/ & & 0.43680e-01_rb,0.38217e-01_rb,0.32756e-01_rb,0.27297e-01_rb,0.21838e-01_rb, & & 0.16376e-01_rb,0.10918e-01_rb,0.89896e-02_rb,0.15195e-01_rb /) kao(:, 4, 3,16) = (/ & & 0.43409e-01_rb,0.37982e-01_rb,0.32556e-01_rb,0.27128e-01_rb,0.21703e-01_rb, & & 0.16277e-01_rb,0.10849e-01_rb,0.90630e-02_rb,0.15090e-01_rb /) kao(:, 5, 3,16) = (/ & & 0.43148e-01_rb,0.37757e-01_rb,0.32362e-01_rb,0.26967e-01_rb,0.21574e-01_rb, & & 0.16179e-01_rb,0.10784e-01_rb,0.89323e-02_rb,0.14861e-01_rb /) kao(:, 1, 4,16) = (/ & & 0.52173e-01_rb,0.45650e-01_rb,0.39129e-01_rb,0.32609e-01_rb,0.26084e-01_rb, & & 0.19564e-01_rb,0.13063e-01_rb,0.10928e-01_rb,0.18665e-01_rb /) kao(:, 2, 4,16) = (/ & & 0.51767e-01_rb,0.45298e-01_rb,0.38824e-01_rb,0.32358e-01_rb,0.25882e-01_rb, & & 0.19411e-01_rb,0.12948e-01_rb,0.10795e-01_rb,0.18386e-01_rb /) kao(:, 3, 4,16) = (/ & & 0.51358e-01_rb,0.44935e-01_rb,0.38514e-01_rb,0.32093e-01_rb,0.25677e-01_rb, & & 0.19255e-01_rb,0.12843e-01_rb,0.10694e-01_rb,0.18120e-01_rb /) kao(:, 4, 4,16) = (/ & & 0.50955e-01_rb,0.44587e-01_rb,0.38218e-01_rb,0.31847e-01_rb,0.25475e-01_rb, & & 0.19107e-01_rb,0.12737e-01_rb,0.10607e-01_rb,0.17851e-01_rb /) kao(:, 5, 4,16) = (/ & & 0.50544e-01_rb,0.44227e-01_rb,0.37909e-01_rb,0.31588e-01_rb,0.25270e-01_rb, & & 0.18952e-01_rb,0.12634e-01_rb,0.10599e-01_rb,0.17618e-01_rb /) kao(:, 1, 5,16) = (/ & & 0.61214e-01_rb,0.53565e-01_rb,0.45917e-01_rb,0.38262e-01_rb,0.30607e-01_rb, & & 0.22954e-01_rb,0.15462e-01_rb,0.13125e-01_rb,0.22278e-01_rb /) kao(:, 2, 5,16) = (/ & & 0.60651e-01_rb,0.53068e-01_rb,0.45484e-01_rb,0.37903e-01_rb,0.30322e-01_rb, & & 0.22741e-01_rb,0.15244e-01_rb,0.12927e-01_rb,0.21870e-01_rb /) kao(:, 3, 5,16) = (/ & & 0.60040e-01_rb,0.52533e-01_rb,0.45028e-01_rb,0.37524e-01_rb,0.30019e-01_rb, & & 0.22514e-01_rb,0.15074e-01_rb,0.12758e-01_rb,0.21465e-01_rb /) kao(:, 4, 5,16) = (/ & & 0.59437e-01_rb,0.52006e-01_rb,0.44573e-01_rb,0.37145e-01_rb,0.29715e-01_rb, & & 0.22286e-01_rb,0.14911e-01_rb,0.12602e-01_rb,0.21062e-01_rb /) kao(:, 5, 5,16) = (/ & & 0.58809e-01_rb,0.51461e-01_rb,0.44106e-01_rb,0.36755e-01_rb,0.29405e-01_rb, & & 0.22053e-01_rb,0.14746e-01_rb,0.12499e-01_rb,0.20685e-01_rb /) kao(:, 1, 6,16) = (/ & & 0.71375e-01_rb,0.62451e-01_rb,0.53529e-01_rb,0.44607e-01_rb,0.35687e-01_rb, & & 0.26759e-01_rb,0.18273e-01_rb,0.15758e-01_rb,0.26378e-01_rb /) kao(:, 2, 6,16) = (/ & & 0.70571e-01_rb,0.61748e-01_rb,0.52933e-01_rb,0.44107e-01_rb,0.35285e-01_rb, & & 0.26462e-01_rb,0.17959e-01_rb,0.15470e-01_rb,0.25822e-01_rb /) kao(:, 3, 6,16) = (/ & & 0.69734e-01_rb,0.61022e-01_rb,0.52301e-01_rb,0.43583e-01_rb,0.34867e-01_rb, & & 0.26147e-01_rb,0.17660e-01_rb,0.15207e-01_rb,0.25265e-01_rb /) kao(:, 4, 6,16) = (/ & & 0.68870e-01_rb,0.60256e-01_rb,0.51654e-01_rb,0.43043e-01_rb,0.34432e-01_rb, & & 0.25826e-01_rb,0.17391e-01_rb,0.14968e-01_rb,0.24710e-01_rb /) kao(:, 5, 6,16) = (/ & & 0.67988e-01_rb,0.59482e-01_rb,0.50988e-01_rb,0.42488e-01_rb,0.33987e-01_rb, & & 0.25491e-01_rb,0.17159e-01_rb,0.14740e-01_rb,0.24148e-01_rb /) kao(:, 1, 7,16) = (/ & & 0.82705e-01_rb,0.72369e-01_rb,0.62031e-01_rb,0.51694e-01_rb,0.41353e-01_rb, & & 0.31012e-01_rb,0.21511e-01_rb,0.18843e-01_rb,0.31008e-01_rb /) kao(:, 2, 7,16) = (/ & & 0.81487e-01_rb,0.71304e-01_rb,0.61113e-01_rb,0.50924e-01_rb,0.40740e-01_rb, & & 0.30554e-01_rb,0.21074e-01_rb,0.18457e-01_rb,0.30235e-01_rb /) kao(:, 3, 7,16) = (/ & & 0.80318e-01_rb,0.70281e-01_rb,0.60235e-01_rb,0.50200e-01_rb,0.40157e-01_rb, & & 0.30117e-01_rb,0.20636e-01_rb,0.18102e-01_rb,0.29494e-01_rb /) kao(:, 4, 7,16) = (/ & & 0.79154e-01_rb,0.69255e-01_rb,0.59365e-01_rb,0.49470e-01_rb,0.39576e-01_rb, & & 0.29680e-01_rb,0.20228e-01_rb,0.17748e-01_rb,0.28759e-01_rb /) kao(:, 5, 7,16) = (/ & & 0.77937e-01_rb,0.68190e-01_rb,0.58450e-01_rb,0.48707e-01_rb,0.38965e-01_rb, & & 0.29223e-01_rb,0.19858e-01_rb,0.17406e-01_rb,0.28017e-01_rb /) kao(:, 1, 8,16) = (/ & & 0.95173e-01_rb,0.83270e-01_rb,0.71377e-01_rb,0.59480e-01_rb,0.47582e-01_rb, & & 0.35684e-01_rb,0.25169e-01_rb,0.22449e-01_rb,0.36274e-01_rb /) kao(:, 2, 8,16) = (/ & & 0.93409e-01_rb,0.81740e-01_rb,0.70058e-01_rb,0.58384e-01_rb,0.46709e-01_rb, & & 0.35028e-01_rb,0.24581e-01_rb,0.21893e-01_rb,0.35207e-01_rb /) kao(:, 3, 8,16) = (/ & & 0.91737e-01_rb,0.80263e-01_rb,0.68796e-01_rb,0.57330e-01_rb,0.45863e-01_rb, & & 0.34396e-01_rb,0.23987e-01_rb,0.21409e-01_rb,0.34174e-01_rb /) kao(:, 4, 8,16) = (/ & & 0.90113e-01_rb,0.78852e-01_rb,0.67585e-01_rb,0.56324e-01_rb,0.45060e-01_rb, & & 0.33794e-01_rb,0.23415e-01_rb,0.20940e-01_rb,0.33185e-01_rb /) kao(:, 5, 8,16) = (/ & & 0.88500e-01_rb,0.77445e-01_rb,0.66378e-01_rb,0.55317e-01_rb,0.44252e-01_rb, & & 0.33190e-01_rb,0.22890e-01_rb,0.20471e-01_rb,0.32236e-01_rb /) kao(:, 1, 9,16) = (/ & & 0.10878e+00_rb,0.95186e-01_rb,0.81587e-01_rb,0.67986e-01_rb,0.54386e-01_rb, & & 0.40792e-01_rb,0.29314e-01_rb,0.26669e-01_rb,0.42265e-01_rb /) kao(:, 2, 9,16) = (/ & & 0.10631e+00_rb,0.93021e-01_rb,0.79732e-01_rb,0.66444e-01_rb,0.53150e-01_rb, & & 0.39864e-01_rb,0.28508e-01_rb,0.25873e-01_rb,0.40792e-01_rb /) kao(:, 3, 9,16) = (/ & & 0.10400e+00_rb,0.91002e-01_rb,0.78003e-01_rb,0.64997e-01_rb,0.51997e-01_rb, & & 0.39001e-01_rb,0.27707e-01_rb,0.25186e-01_rb,0.39383e-01_rb /) kao(:, 4, 9,16) = (/ & & 0.10173e+00_rb,0.89018e-01_rb,0.76292e-01_rb,0.63582e-01_rb,0.50863e-01_rb, & & 0.38144e-01_rb,0.26926e-01_rb,0.24532e-01_rb,0.38084e-01_rb /) kao(:, 5, 9,16) = (/ & & 0.99555e-01_rb,0.87113e-01_rb,0.74666e-01_rb,0.62221e-01_rb,0.49774e-01_rb, & & 0.37334e-01_rb,0.26211e-01_rb,0.23902e-01_rb,0.36825e-01_rb /) kao(:, 1,10,16) = (/ & & 0.12320e+00_rb,0.10779e+00_rb,0.92400e-01_rb,0.76993e-01_rb,0.61601e-01_rb, & & 0.46197e-01_rb,0.33879e-01_rb,0.31475e-01_rb,0.48792e-01_rb /) kao(:, 2,10,16) = (/ & & 0.11986e+00_rb,0.10487e+00_rb,0.89890e-01_rb,0.74910e-01_rb,0.59927e-01_rb, & & 0.44946e-01_rb,0.32786e-01_rb,0.30373e-01_rb,0.46838e-01_rb /) kao(:, 3,10,16) = (/ & & 0.11671e+00_rb,0.10212e+00_rb,0.87531e-01_rb,0.72938e-01_rb,0.58350e-01_rb, & & 0.43767e-01_rb,0.31728e-01_rb,0.29415e-01_rb,0.45011e-01_rb /) kao(:, 4,10,16) = (/ & & 0.11373e+00_rb,0.99514e-01_rb,0.85291e-01_rb,0.71084e-01_rb,0.56859e-01_rb, & & 0.42648e-01_rb,0.30712e-01_rb,0.28518e-01_rb,0.43306e-01_rb /) kao(:, 5,10,16) = (/ & & 0.11086e+00_rb,0.97005e-01_rb,0.83130e-01_rb,0.69287e-01_rb,0.55428e-01_rb, & & 0.41573e-01_rb,0.29748e-01_rb,0.27669e-01_rb,0.41673e-01_rb /) kao(:, 1,11,16) = (/ & & 0.13635e+00_rb,0.11930e+00_rb,0.10226e+00_rb,0.85213e-01_rb,0.68170e-01_rb, & & 0.51126e-01_rb,0.38257e-01_rb,0.36212e-01_rb,0.54706e-01_rb /) kao(:, 2,11,16) = (/ & & 0.13203e+00_rb,0.11554e+00_rb,0.99030e-01_rb,0.82523e-01_rb,0.66019e-01_rb, & & 0.49513e-01_rb,0.36799e-01_rb,0.34833e-01_rb,0.52312e-01_rb /) kao(:, 3,11,16) = (/ & & 0.12805e+00_rb,0.11203e+00_rb,0.96022e-01_rb,0.80023e-01_rb,0.64019e-01_rb, & & 0.48015e-01_rb,0.35435e-01_rb,0.33591e-01_rb,0.50057e-01_rb /) kao(:, 4,11,16) = (/ & & 0.12432e+00_rb,0.10877e+00_rb,0.93237e-01_rb,0.77695e-01_rb,0.62158e-01_rb, & & 0.46618e-01_rb,0.34181e-01_rb,0.32427e-01_rb,0.47918e-01_rb /) kao(:, 5,11,16) = (/ & & 0.12077e+00_rb,0.10567e+00_rb,0.90572e-01_rb,0.75471e-01_rb,0.60381e-01_rb, & & 0.45284e-01_rb,0.32973e-01_rb,0.31331e-01_rb,0.45895e-01_rb /) kao(:, 1,12,16) = (/ & & 0.14909e+00_rb,0.13045e+00_rb,0.11182e+00_rb,0.93176e-01_rb,0.74537e-01_rb, & & 0.55927e-01_rb,0.42736e-01_rb,0.41194e-01_rb,0.43864e-01_rb /) kao(:, 2,12,16) = (/ & & 0.14380e+00_rb,0.12582e+00_rb,0.10785e+00_rb,0.89883e-01_rb,0.71900e-01_rb, & & 0.53925e-01_rb,0.40874e-01_rb,0.39509e-01_rb,0.34410e-01_rb /) kao(:, 3,12,16) = (/ & & 0.13887e+00_rb,0.12152e+00_rb,0.10414e+00_rb,0.86796e-01_rb,0.69431e-01_rb, & & 0.52073e-01_rb,0.39165e-01_rb,0.37950e-01_rb,0.27228e-01_rb /) kao(:, 4,12,16) = (/ & & 0.13436e+00_rb,0.11758e+00_rb,0.10078e+00_rb,0.83978e-01_rb,0.67186e-01_rb, & & 0.50383e-01_rb,0.37599e-01_rb,0.36473e-01_rb,0.23165e-01_rb /) kao(:, 5,12,16) = (/ & & 0.13007e+00_rb,0.11382e+00_rb,0.97560e-01_rb,0.81293e-01_rb,0.65042e-01_rb, & & 0.48775e-01_rb,0.36131e-01_rb,0.35083e-01_rb,0.14412e-01_rb /) kao(:, 1,13,16) = (/ & & 0.16113e+00_rb,0.14100e+00_rb,0.12085e+00_rb,0.10071e+00_rb,0.80563e-01_rb, & & 0.60580e-01_rb,0.47246e-01_rb,0.46365e-01_rb,0.26456e-01_rb /) kao(:, 2,13,16) = (/ & & 0.15486e+00_rb,0.13550e+00_rb,0.11616e+00_rb,0.96791e-01_rb,0.77431e-01_rb, & & 0.58082e-01_rb,0.44915e-01_rb,0.44314e-01_rb,0.19340e-01_rb /) kao(:, 3,13,16) = (/ & & 0.14906e+00_rb,0.13042e+00_rb,0.11179e+00_rb,0.93156e-01_rb,0.74526e-01_rb, & & 0.55893e-01_rb,0.42831e-01_rb,0.42380e-01_rb,0.11993e-01_rb /) kao(:, 4,13,16) = (/ & & 0.14369e+00_rb,0.12574e+00_rb,0.10777e+00_rb,0.89817e-01_rb,0.71849e-01_rb, & & 0.53884e-01_rb,0.40915e-01_rb,0.40556e-01_rb,0.50486e-02_rb /) kao(:, 5,13,16) = (/ & & 0.13868e+00_rb,0.12134e+00_rb,0.10400e+00_rb,0.86669e-01_rb,0.69338e-01_rb, & & 0.52006e-01_rb,0.39136e-01_rb,0.38851e-01_rb,0.00000e+00_rb /) ! ----------------------------------------------------------------- ! The array KBO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels < ~100mb and temperatures. The first ! index in the array, JT, which runs from 1 to 5, corresponds to ! different temperatures. More specifically, JT = 3 means that the ! data are for the reference temperature TREF for this pressure ! level, JT = 2 refers to the temperature TREF-15, JT = 1 is for ! TREF-30, JT = 4 is for TREF+15, and JT = 5 is for TREF+30. ! The second index, JP, runs from 13 to 59 and refers to the JPth ! reference pressure level (see taumol.f for the value of these ! pressure levels in mb). The third index, IG, goes from 1 to 16, ! and tells us which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kbo(:,13, 1) = (/ & & 0.12158e-08_rb,0.13238e-08_rb,0.15146e-08_rb,0.16862e-08_rb,0.18609e-08_rb /) kbo(:,14, 1) = (/ & & 0.16931e-08_rb,0.20047e-08_rb,0.23006e-08_rb,0.25636e-08_rb,0.28912e-08_rb /) kbo(:,15, 1) = (/ & & 0.31521e-08_rb,0.36963e-08_rb,0.41550e-08_rb,0.46365e-08_rb,0.50834e-08_rb /) kbo(:,16, 1) = (/ & & 0.46152e-08_rb,0.50173e-08_rb,0.55381e-08_rb,0.60748e-08_rb,0.66355e-08_rb /) kbo(:,17, 1) = (/ & & 0.62662e-08_rb,0.67518e-08_rb,0.71765e-08_rb,0.80302e-08_rb,0.89056e-08_rb /) kbo(:,18, 1) = (/ & & 0.81764e-08_rb,0.91818e-08_rb,0.10385e-07_rb,0.11708e-07_rb,0.12536e-07_rb /) kbo(:,19, 1) = (/ & & 0.12946e-07_rb,0.13631e-07_rb,0.14453e-07_rb,0.15133e-07_rb,0.15911e-07_rb /) kbo(:,20, 1) = (/ & & 0.15868e-07_rb,0.16654e-07_rb,0.17281e-07_rb,0.17857e-07_rb,0.18383e-07_rb /) kbo(:,21, 1) = (/ & & 0.18151e-07_rb,0.19056e-07_rb,0.20057e-07_rb,0.20708e-07_rb,0.21229e-07_rb /) kbo(:,22, 1) = (/ & & 0.20234e-07_rb,0.21482e-07_rb,0.22599e-07_rb,0.23778e-07_rb,0.25115e-07_rb /) kbo(:,23, 1) = (/ & & 0.23827e-07_rb,0.25405e-07_rb,0.26545e-07_rb,0.27716e-07_rb,0.28422e-07_rb /) kbo(:,24, 1) = (/ & & 0.27638e-07_rb,0.28518e-07_rb,0.29101e-07_rb,0.29639e-07_rb,0.30077e-07_rb /) kbo(:,25, 1) = (/ & & 0.28942e-07_rb,0.29436e-07_rb,0.29831e-07_rb,0.30066e-07_rb,0.30242e-07_rb /) kbo(:,26, 1) = (/ & & 0.28774e-07_rb,0.29004e-07_rb,0.29272e-07_rb,0.29431e-07_rb,0.29616e-07_rb /) kbo(:,27, 1) = (/ & & 0.27317e-07_rb,0.27462e-07_rb,0.27698e-07_rb,0.27835e-07_rb,0.27843e-07_rb /) kbo(:,28, 1) = (/ & & 0.25463e-07_rb,0.25523e-07_rb,0.25678e-07_rb,0.25658e-07_rb,0.25687e-07_rb /) kbo(:,29, 1) = (/ & & 0.22603e-07_rb,0.22672e-07_rb,0.22704e-07_rb,0.22668e-07_rb,0.22698e-07_rb /) kbo(:,30, 1) = (/ & & 0.19657e-07_rb,0.19747e-07_rb,0.19687e-07_rb,0.19659e-07_rb,0.19680e-07_rb /) kbo(:,31, 1) = (/ & & 0.16553e-07_rb,0.16571e-07_rb,0.16522e-07_rb,0.16545e-07_rb,0.16563e-07_rb /) kbo(:,32, 1) = (/ & & 0.13867e-07_rb,0.13795e-07_rb,0.13808e-07_rb,0.13815e-07_rb,0.13799e-07_rb /) kbo(:,33, 1) = (/ & & 0.11414e-07_rb,0.11409e-07_rb,0.11395e-07_rb,0.11384e-07_rb,0.11416e-07_rb /) kbo(:,34, 1) = (/ & & 0.95639e-08_rb,0.95514e-08_rb,0.95251e-08_rb,0.95607e-08_rb,0.95767e-08_rb /) kbo(:,35, 1) = (/ & & 0.80018e-08_rb,0.79882e-08_rb,0.79720e-08_rb,0.79934e-08_rb,0.79942e-08_rb /) kbo(:,36, 1) = (/ & & 0.67279e-08_rb,0.67135e-08_rb,0.67089e-08_rb,0.67131e-08_rb,0.67290e-08_rb /) kbo(:,37, 1) = (/ & & 0.57292e-08_rb,0.57278e-08_rb,0.57247e-08_rb,0.57298e-08_rb,0.57269e-08_rb /) kbo(:,38, 1) = (/ & & 0.48406e-08_rb,0.48461e-08_rb,0.48394e-08_rb,0.48468e-08_rb,0.48401e-08_rb /) kbo(:,39, 1) = (/ & & 0.40368e-08_rb,0.40419e-08_rb,0.40353e-08_rb,0.40432e-08_rb,0.40267e-08_rb /) kbo(:,40, 1) = (/ & & 0.34875e-08_rb,0.34931e-08_rb,0.34872e-08_rb,0.34940e-08_rb,0.34782e-08_rb /) kbo(:,41, 1) = (/ & & 0.30195e-08_rb,0.30243e-08_rb,0.30129e-08_rb,0.30148e-08_rb,0.30016e-08_rb /) kbo(:,42, 1) = (/ & & 0.25993e-08_rb,0.25924e-08_rb,0.25861e-08_rb,0.25841e-08_rb,0.25734e-08_rb /) kbo(:,43, 1) = (/ & & 0.22290e-08_rb,0.22166e-08_rb,0.22080e-08_rb,0.22067e-08_rb,0.21992e-08_rb /) kbo(:,44, 1) = (/ & & 0.18916e-08_rb,0.18847e-08_rb,0.18733e-08_rb,0.18685e-08_rb,0.18685e-08_rb /) kbo(:,45, 1) = (/ & & 0.15840e-08_rb,0.15787e-08_rb,0.15719e-08_rb,0.15641e-08_rb,0.15644e-08_rb /) kbo(:,46, 1) = (/ & & 0.13197e-08_rb,0.13138e-08_rb,0.13098e-08_rb,0.13024e-08_rb,0.13049e-08_rb /) kbo(:,47, 1) = (/ & & 0.11052e-08_rb,0.11003e-08_rb,0.10954e-08_rb,0.10927e-08_rb,0.10941e-08_rb /) kbo(:,48, 1) = (/ & & 0.91115e-09_rb,0.90837e-09_rb,0.90520e-09_rb,0.90009e-09_rb,0.90047e-09_rb /) kbo(:,49, 1) = (/ & & 0.73101e-09_rb,0.73246e-09_rb,0.73006e-09_rb,0.72687e-09_rb,0.72508e-09_rb /) kbo(:,50, 1) = (/ & & 0.60565e-09_rb,0.60526e-09_rb,0.60121e-09_rb,0.60117e-09_rb,0.60056e-09_rb /) kbo(:,51, 1) = (/ & & 0.50736e-09_rb,0.50750e-09_rb,0.50421e-09_rb,0.50378e-09_rb,0.50259e-09_rb /) kbo(:,52, 1) = (/ & & 0.41843e-09_rb,0.41856e-09_rb,0.41499e-09_rb,0.41535e-09_rb,0.41353e-09_rb /) kbo(:,53, 1) = (/ & & 0.33766e-09_rb,0.33794e-09_rb,0.33511e-09_rb,0.33405e-09_rb,0.33405e-09_rb /) kbo(:,54, 1) = (/ & & 0.29473e-09_rb,0.29448e-09_rb,0.29284e-09_rb,0.29146e-09_rb,0.29053e-09_rb /) kbo(:,55, 1) = (/ & & 0.26948e-09_rb,0.27034e-09_rb,0.27016e-09_rb,0.26799e-09_rb,0.26580e-09_rb /) kbo(:,56, 1) = (/ & & 0.24773e-09_rb,0.24784e-09_rb,0.24734e-09_rb,0.24436e-09_rb,0.24377e-09_rb /) kbo(:,57, 1) = (/ & & 0.22707e-09_rb,0.22765e-09_rb,0.22683e-09_rb,0.22503e-09_rb,0.22447e-09_rb /) kbo(:,58, 1) = (/ & & 0.21180e-09_rb,0.21264e-09_rb,0.21254e-09_rb,0.21338e-09_rb,0.21089e-09_rb /) kbo(:,59, 1) = (/ & & 0.22898e-09_rb,0.23089e-09_rb,0.23471e-09_rb,0.23606e-09_rb,0.23388e-09_rb /) kbo(:,13, 2) = (/ & & 0.18001e-08_rb,0.19945e-08_rb,0.21612e-08_rb,0.23316e-08_rb,0.25983e-08_rb /) kbo(:,14, 2) = (/ & & 0.39853e-08_rb,0.42632e-08_rb,0.44602e-08_rb,0.46784e-08_rb,0.48071e-08_rb /) kbo(:,15, 2) = (/ & & 0.60848e-08_rb,0.61494e-08_rb,0.61069e-08_rb,0.61295e-08_rb,0.65707e-08_rb /) kbo(:,16, 2) = (/ & & 0.75494e-08_rb,0.85999e-08_rb,0.91057e-08_rb,0.10175e-07_rb,0.10943e-07_rb /) kbo(:,17, 2) = (/ & & 0.12037e-07_rb,0.12753e-07_rb,0.13314e-07_rb,0.13239e-07_rb,0.13306e-07_rb /) kbo(:,18, 2) = (/ & & 0.15519e-07_rb,0.15517e-07_rb,0.15097e-07_rb,0.14435e-07_rb,0.13983e-07_rb /) kbo(:,19, 2) = (/ & & 0.16420e-07_rb,0.17025e-07_rb,0.17639e-07_rb,0.17633e-07_rb,0.17513e-07_rb /) kbo(:,20, 2) = (/ & & 0.18021e-07_rb,0.19301e-07_rb,0.20621e-07_rb,0.22238e-07_rb,0.23351e-07_rb /) kbo(:,21, 2) = (/ & & 0.22378e-07_rb,0.23582e-07_rb,0.24409e-07_rb,0.24915e-07_rb,0.25516e-07_rb /) kbo(:,22, 2) = (/ & & 0.24712e-07_rb,0.24864e-07_rb,0.24556e-07_rb,0.23953e-07_rb,0.23424e-07_rb /) kbo(:,23, 2) = (/ & & 0.22545e-07_rb,0.22002e-07_rb,0.21325e-07_rb,0.20492e-07_rb,0.20022e-07_rb /) kbo(:,24, 2) = (/ & & 0.18798e-07_rb,0.18566e-07_rb,0.18366e-07_rb,0.18099e-07_rb,0.17971e-07_rb /) kbo(:,25, 2) = (/ & & 0.16773e-07_rb,0.16803e-07_rb,0.16541e-07_rb,0.16450e-07_rb,0.16482e-07_rb /) kbo(:,26, 2) = (/ & & 0.15222e-07_rb,0.15398e-07_rb,0.15177e-07_rb,0.15147e-07_rb,0.14951e-07_rb /) kbo(:,27, 2) = (/ & & 0.13792e-07_rb,0.13944e-07_rb,0.13534e-07_rb,0.13546e-07_rb,0.13516e-07_rb /) kbo(:,28, 2) = (/ & & 0.12157e-07_rb,0.12221e-07_rb,0.11930e-07_rb,0.12115e-07_rb,0.12027e-07_rb /) kbo(:,29, 2) = (/ & & 0.10487e-07_rb,0.10393e-07_rb,0.10366e-07_rb,0.10455e-07_rb,0.10269e-07_rb /) kbo(:,30, 2) = (/ & & 0.90084e-08_rb,0.88590e-08_rb,0.90055e-08_rb,0.88655e-08_rb,0.87392e-08_rb /) kbo(:,31, 2) = (/ & & 0.74765e-08_rb,0.74889e-08_rb,0.73915e-08_rb,0.73289e-08_rb,0.72219e-08_rb /) kbo(:,32, 2) = (/ & & 0.62311e-08_rb,0.62461e-08_rb,0.61378e-08_rb,0.59795e-08_rb,0.60309e-08_rb /) kbo(:,33, 2) = (/ & & 0.51421e-08_rb,0.50519e-08_rb,0.50031e-08_rb,0.49630e-08_rb,0.49489e-08_rb /) kbo(:,34, 2) = (/ & & 0.42880e-08_rb,0.42042e-08_rb,0.41366e-08_rb,0.41198e-08_rb,0.41265e-08_rb /) kbo(:,35, 2) = (/ & & 0.35718e-08_rb,0.34728e-08_rb,0.34599e-08_rb,0.34385e-08_rb,0.34695e-08_rb /) kbo(:,36, 2) = (/ & & 0.29713e-08_rb,0.29023e-08_rb,0.28707e-08_rb,0.28790e-08_rb,0.28873e-08_rb /) kbo(:,37, 2) = (/ & & 0.25246e-08_rb,0.24463e-08_rb,0.24323e-08_rb,0.24308e-08_rb,0.24753e-08_rb /) kbo(:,38, 2) = (/ & & 0.21159e-08_rb,0.20527e-08_rb,0.20532e-08_rb,0.20325e-08_rb,0.20615e-08_rb /) kbo(:,39, 2) = (/ & & 0.17631e-08_rb,0.17097e-08_rb,0.17043e-08_rb,0.16987e-08_rb,0.17298e-08_rb /) kbo(:,40, 2) = (/ & & 0.15260e-08_rb,0.14757e-08_rb,0.14566e-08_rb,0.14513e-08_rb,0.14651e-08_rb /) kbo(:,41, 2) = (/ & & 0.13009e-08_rb,0.12457e-08_rb,0.12523e-08_rb,0.12490e-08_rb,0.12671e-08_rb /) kbo(:,42, 2) = (/ & & 0.10990e-08_rb,0.10789e-08_rb,0.10741e-08_rb,0.10762e-08_rb,0.10873e-08_rb /) kbo(:,43, 2) = (/ & & 0.94313e-09_rb,0.92236e-09_rb,0.92369e-09_rb,0.91495e-09_rb,0.92405e-09_rb /) kbo(:,44, 2) = (/ & & 0.80746e-09_rb,0.78453e-09_rb,0.77646e-09_rb,0.77477e-09_rb,0.77888e-09_rb /) kbo(:,45, 2) = (/ & & 0.67944e-09_rb,0.66381e-09_rb,0.65747e-09_rb,0.65286e-09_rb,0.65668e-09_rb /) kbo(:,46, 2) = (/ & & 0.56677e-09_rb,0.55682e-09_rb,0.54825e-09_rb,0.54623e-09_rb,0.54843e-09_rb /) kbo(:,47, 2) = (/ & & 0.47375e-09_rb,0.47120e-09_rb,0.45836e-09_rb,0.45709e-09_rb,0.45689e-09_rb /) kbo(:,48, 2) = (/ & & 0.39797e-09_rb,0.39204e-09_rb,0.37735e-09_rb,0.37505e-09_rb,0.37687e-09_rb /) kbo(:,49, 2) = (/ & & 0.32772e-09_rb,0.31857e-09_rb,0.30808e-09_rb,0.30232e-09_rb,0.30140e-09_rb /) kbo(:,50, 2) = (/ & & 0.27300e-09_rb,0.26581e-09_rb,0.26125e-09_rb,0.24922e-09_rb,0.25029e-09_rb /) kbo(:,51, 2) = (/ & & 0.23073e-09_rb,0.22159e-09_rb,0.21979e-09_rb,0.20969e-09_rb,0.21117e-09_rb /) kbo(:,52, 2) = (/ & & 0.18868e-09_rb,0.18466e-09_rb,0.18517e-09_rb,0.17470e-09_rb,0.17469e-09_rb /) kbo(:,53, 2) = (/ & & 0.15290e-09_rb,0.14970e-09_rb,0.15032e-09_rb,0.14201e-09_rb,0.14053e-09_rb /) kbo(:,54, 2) = (/ & & 0.13616e-09_rb,0.13340e-09_rb,0.13256e-09_rb,0.12713e-09_rb,0.12621e-09_rb /) kbo(:,55, 2) = (/ & & 0.12605e-09_rb,0.12524e-09_rb,0.12106e-09_rb,0.11994e-09_rb,0.11735e-09_rb /) kbo(:,56, 2) = (/ & & 0.11625e-09_rb,0.11350e-09_rb,0.11287e-09_rb,0.11534e-09_rb,0.10942e-09_rb /) kbo(:,57, 2) = (/ & & 0.10168e-09_rb,0.10628e-09_rb,0.10684e-09_rb,0.10799e-09_rb,0.10313e-09_rb /) kbo(:,58, 2) = (/ & & 0.92659e-10_rb,0.10050e-09_rb,0.10168e-09_rb,0.97877e-10_rb,0.97971e-10_rb /) kbo(:,59, 2) = (/ & & 0.10198e-09_rb,0.11632e-09_rb,0.11127e-09_rb,0.10947e-09_rb,0.11000e-09_rb /) kbo(:,13, 3) = (/ & & 0.33788e-08_rb,0.38685e-08_rb,0.40059e-08_rb,0.41301e-08_rb,0.43316e-08_rb /) kbo(:,14, 3) = (/ & & 0.54022e-08_rb,0.55644e-08_rb,0.55814e-08_rb,0.55195e-08_rb,0.57708e-08_rb /) kbo(:,15, 3) = (/ & & 0.95769e-08_rb,0.10205e-07_rb,0.12445e-07_rb,0.13419e-07_rb,0.13357e-07_rb /) kbo(:,16, 3) = (/ & & 0.17233e-07_rb,0.16177e-07_rb,0.16092e-07_rb,0.15590e-07_rb,0.15068e-07_rb /) kbo(:,17, 3) = (/ & & 0.19731e-07_rb,0.19947e-07_rb,0.20278e-07_rb,0.20235e-07_rb,0.20699e-07_rb /) kbo(:,18, 3) = (/ & & 0.23168e-07_rb,0.23970e-07_rb,0.25507e-07_rb,0.27034e-07_rb,0.29135e-07_rb /) kbo(:,19, 3) = (/ & & 0.33749e-07_rb,0.35374e-07_rb,0.37333e-07_rb,0.38730e-07_rb,0.39816e-07_rb /) kbo(:,20, 3) = (/ & & 0.39844e-07_rb,0.39698e-07_rb,0.39651e-07_rb,0.38618e-07_rb,0.37699e-07_rb /) kbo(:,21, 3) = (/ & & 0.37013e-07_rb,0.35923e-07_rb,0.35560e-07_rb,0.35217e-07_rb,0.34594e-07_rb /) kbo(:,22, 3) = (/ & & 0.32381e-07_rb,0.31844e-07_rb,0.32272e-07_rb,0.32430e-07_rb,0.31922e-07_rb /) kbo(:,23, 3) = (/ & & 0.29924e-07_rb,0.29834e-07_rb,0.30537e-07_rb,0.30494e-07_rb,0.30313e-07_rb /) kbo(:,24, 3) = (/ & & 0.27849e-07_rb,0.28147e-07_rb,0.29005e-07_rb,0.29081e-07_rb,0.28673e-07_rb /) kbo(:,25, 3) = (/ & & 0.25534e-07_rb,0.25854e-07_rb,0.26978e-07_rb,0.27173e-07_rb,0.27116e-07_rb /) kbo(:,26, 3) = (/ & & 0.23413e-07_rb,0.24124e-07_rb,0.25341e-07_rb,0.25322e-07_rb,0.25266e-07_rb /) kbo(:,27, 3) = (/ & & 0.21218e-07_rb,0.22105e-07_rb,0.23470e-07_rb,0.23280e-07_rb,0.23250e-07_rb /) kbo(:,28, 3) = (/ & & 0.19002e-07_rb,0.20309e-07_rb,0.21106e-07_rb,0.20908e-07_rb,0.21199e-07_rb /) kbo(:,29, 3) = (/ & & 0.16901e-07_rb,0.18244e-07_rb,0.18426e-07_rb,0.18398e-07_rb,0.18708e-07_rb /) kbo(:,30, 3) = (/ & & 0.15065e-07_rb,0.15814e-07_rb,0.15711e-07_rb,0.16012e-07_rb,0.16145e-07_rb /) kbo(:,31, 3) = (/ & & 0.13100e-07_rb,0.13194e-07_rb,0.13385e-07_rb,0.13455e-07_rb,0.13435e-07_rb /) kbo(:,32, 3) = (/ & & 0.10972e-07_rb,0.10986e-07_rb,0.11085e-07_rb,0.11182e-07_rb,0.11030e-07_rb /) kbo(:,33, 3) = (/ & & 0.90750e-08_rb,0.90832e-08_rb,0.91769e-08_rb,0.89877e-08_rb,0.89513e-08_rb /) kbo(:,34, 3) = (/ & & 0.75008e-08_rb,0.76569e-08_rb,0.76237e-08_rb,0.74547e-08_rb,0.74719e-08_rb /) kbo(:,35, 3) = (/ & & 0.63063e-08_rb,0.64050e-08_rb,0.62067e-08_rb,0.61836e-08_rb,0.61775e-08_rb /) kbo(:,36, 3) = (/ & & 0.53250e-08_rb,0.52712e-08_rb,0.52454e-08_rb,0.51153e-08_rb,0.51657e-08_rb /) kbo(:,37, 3) = (/ & & 0.45450e-08_rb,0.45358e-08_rb,0.44274e-08_rb,0.43893e-08_rb,0.43616e-08_rb /) kbo(:,38, 3) = (/ & & 0.38039e-08_rb,0.38254e-08_rb,0.37172e-08_rb,0.37203e-08_rb,0.37278e-08_rb /) kbo(:,39, 3) = (/ & & 0.31821e-08_rb,0.31632e-08_rb,0.30774e-08_rb,0.30626e-08_rb,0.30979e-08_rb /) kbo(:,40, 3) = (/ & & 0.27339e-08_rb,0.27443e-08_rb,0.26754e-08_rb,0.26505e-08_rb,0.27022e-08_rb /) kbo(:,41, 3) = (/ & & 0.23939e-08_rb,0.24228e-08_rb,0.23415e-08_rb,0.23287e-08_rb,0.23327e-08_rb /) kbo(:,42, 3) = (/ & & 0.20895e-08_rb,0.20874e-08_rb,0.20298e-08_rb,0.20180e-08_rb,0.19876e-08_rb /) kbo(:,43, 3) = (/ & & 0.17869e-08_rb,0.17800e-08_rb,0.17392e-08_rb,0.17376e-08_rb,0.16927e-08_rb /) kbo(:,44, 3) = (/ & & 0.15169e-08_rb,0.15335e-08_rb,0.14778e-08_rb,0.14668e-08_rb,0.14407e-08_rb /) kbo(:,45, 3) = (/ & & 0.12692e-08_rb,0.12902e-08_rb,0.12439e-08_rb,0.12324e-08_rb,0.11996e-08_rb /) kbo(:,46, 3) = (/ & & 0.10611e-08_rb,0.10656e-08_rb,0.10472e-08_rb,0.10282e-08_rb,0.10015e-08_rb /) kbo(:,47, 3) = (/ & & 0.90394e-09_rb,0.88143e-09_rb,0.87958e-09_rb,0.84984e-09_rb,0.85121e-09_rb /) kbo(:,48, 3) = (/ & & 0.73451e-09_rb,0.71978e-09_rb,0.73014e-09_rb,0.70436e-09_rb,0.69840e-09_rb /) kbo(:,49, 3) = (/ & & 0.58678e-09_rb,0.58259e-09_rb,0.58316e-09_rb,0.55960e-09_rb,0.56079e-09_rb /) kbo(:,50, 3) = (/ & & 0.48502e-09_rb,0.47984e-09_rb,0.48693e-09_rb,0.47265e-09_rb,0.46016e-09_rb /) kbo(:,51, 3) = (/ & & 0.40704e-09_rb,0.40367e-09_rb,0.41046e-09_rb,0.39764e-09_rb,0.38714e-09_rb /) kbo(:,52, 3) = (/ & & 0.33771e-09_rb,0.33070e-09_rb,0.32984e-09_rb,0.33231e-09_rb,0.32299e-09_rb /) kbo(:,53, 3) = (/ & & 0.27062e-09_rb,0.27028e-09_rb,0.26516e-09_rb,0.26816e-09_rb,0.25661e-09_rb /) kbo(:,54, 3) = (/ & & 0.23501e-09_rb,0.23579e-09_rb,0.23460e-09_rb,0.23532e-09_rb,0.22777e-09_rb /) kbo(:,55, 3) = (/ & & 0.20561e-09_rb,0.21843e-09_rb,0.22171e-09_rb,0.22358e-09_rb,0.21702e-09_rb /) kbo(:,56, 3) = (/ & & 0.18557e-09_rb,0.20864e-09_rb,0.21196e-09_rb,0.20646e-09_rb,0.20759e-09_rb /) kbo(:,57, 3) = (/ & & 0.17099e-09_rb,0.19489e-09_rb,0.19486e-09_rb,0.19102e-09_rb,0.19124e-09_rb /) kbo(:,58, 3) = (/ & & 0.16535e-09_rb,0.16955e-09_rb,0.18769e-09_rb,0.18586e-09_rb,0.18358e-09_rb /) kbo(:,59, 3) = (/ & & 0.18472e-09_rb,0.17614e-09_rb,0.20835e-09_rb,0.19900e-09_rb,0.17587e-09_rb /) kbo(:,13, 4) = (/ & & 0.14276e-07_rb,0.14530e-07_rb,0.14762e-07_rb,0.14823e-07_rb,0.15070e-07_rb /) kbo(:,14, 4) = (/ & & 0.22710e-07_rb,0.23419e-07_rb,0.26577e-07_rb,0.28008e-07_rb,0.28298e-07_rb /) kbo(:,15, 4) = (/ & & 0.40218e-07_rb,0.40306e-07_rb,0.38786e-07_rb,0.38421e-07_rb,0.37982e-07_rb /) kbo(:,16, 4) = (/ & & 0.46010e-07_rb,0.46709e-07_rb,0.48658e-07_rb,0.49166e-07_rb,0.49018e-07_rb /) kbo(:,17, 4) = (/ & & 0.57896e-07_rb,0.59606e-07_rb,0.62582e-07_rb,0.65981e-07_rb,0.66467e-07_rb /) kbo(:,18, 4) = (/ & & 0.74731e-07_rb,0.75116e-07_rb,0.75181e-07_rb,0.74922e-07_rb,0.73535e-07_rb /) kbo(:,19, 4) = (/ & & 0.76222e-07_rb,0.73788e-07_rb,0.71345e-07_rb,0.70864e-07_rb,0.69839e-07_rb /) kbo(:,20, 4) = (/ & & 0.69638e-07_rb,0.67680e-07_rb,0.66694e-07_rb,0.67021e-07_rb,0.67066e-07_rb /) kbo(:,21, 4) = (/ & & 0.65779e-07_rb,0.64200e-07_rb,0.63508e-07_rb,0.64106e-07_rb,0.64461e-07_rb /) kbo(:,22, 4) = (/ & & 0.61488e-07_rb,0.60248e-07_rb,0.59719e-07_rb,0.60704e-07_rb,0.61392e-07_rb /) kbo(:,23, 4) = (/ & & 0.56738e-07_rb,0.55143e-07_rb,0.55071e-07_rb,0.56796e-07_rb,0.58031e-07_rb /) kbo(:,24, 4) = (/ & & 0.53299e-07_rb,0.52091e-07_rb,0.52308e-07_rb,0.54157e-07_rb,0.55094e-07_rb /) kbo(:,25, 4) = (/ & & 0.49763e-07_rb,0.48954e-07_rb,0.49068e-07_rb,0.51533e-07_rb,0.52367e-07_rb /) kbo(:,26, 4) = (/ & & 0.46006e-07_rb,0.45410e-07_rb,0.45860e-07_rb,0.48840e-07_rb,0.49788e-07_rb /) kbo(:,27, 4) = (/ & & 0.42208e-07_rb,0.41876e-07_rb,0.43006e-07_rb,0.46350e-07_rb,0.47032e-07_rb /) kbo(:,28, 4) = (/ & & 0.38508e-07_rb,0.38430e-07_rb,0.40481e-07_rb,0.43465e-07_rb,0.43170e-07_rb /) kbo(:,29, 4) = (/ & & 0.33913e-07_rb,0.34466e-07_rb,0.37202e-07_rb,0.38288e-07_rb,0.38327e-07_rb /) kbo(:,30, 4) = (/ & & 0.29454e-07_rb,0.30842e-07_rb,0.33204e-07_rb,0.33354e-07_rb,0.33727e-07_rb /) kbo(:,31, 4) = (/ & & 0.25253e-07_rb,0.27183e-07_rb,0.28228e-07_rb,0.27946e-07_rb,0.28495e-07_rb /) kbo(:,32, 4) = (/ & & 0.21784e-07_rb,0.23351e-07_rb,0.23372e-07_rb,0.23449e-07_rb,0.23246e-07_rb /) kbo(:,33, 4) = (/ & & 0.18910e-07_rb,0.19134e-07_rb,0.18984e-07_rb,0.19294e-07_rb,0.18955e-07_rb /) kbo(:,34, 4) = (/ & & 0.15933e-07_rb,0.15755e-07_rb,0.16059e-07_rb,0.15913e-07_rb,0.15386e-07_rb /) kbo(:,35, 4) = (/ & & 0.13356e-07_rb,0.13247e-07_rb,0.13429e-07_rb,0.13202e-07_rb,0.12675e-07_rb /) kbo(:,36, 4) = (/ & & 0.11207e-07_rb,0.11196e-07_rb,0.11048e-07_rb,0.10870e-07_rb,0.10431e-07_rb /) kbo(:,37, 4) = (/ & & 0.95811e-08_rb,0.94647e-08_rb,0.93875e-08_rb,0.90968e-08_rb,0.88553e-08_rb /) kbo(:,38, 4) = (/ & & 0.81243e-08_rb,0.80255e-08_rb,0.78559e-08_rb,0.75538e-08_rb,0.74057e-08_rb /) kbo(:,39, 4) = (/ & & 0.66871e-08_rb,0.66553e-08_rb,0.65003e-08_rb,0.62809e-08_rb,0.60862e-08_rb /) kbo(:,40, 4) = (/ & & 0.58254e-08_rb,0.57657e-08_rb,0.56185e-08_rb,0.54242e-08_rb,0.52135e-08_rb /) kbo(:,41, 4) = (/ & & 0.50967e-08_rb,0.50027e-08_rb,0.48304e-08_rb,0.46813e-08_rb,0.44864e-08_rb /) kbo(:,42, 4) = (/ & & 0.43731e-08_rb,0.43157e-08_rb,0.41432e-08_rb,0.39968e-08_rb,0.38854e-08_rb /) kbo(:,43, 4) = (/ & & 0.37430e-08_rb,0.37088e-08_rb,0.35491e-08_rb,0.34012e-08_rb,0.33022e-08_rb /) kbo(:,44, 4) = (/ & & 0.32207e-08_rb,0.31034e-08_rb,0.30690e-08_rb,0.29015e-08_rb,0.27644e-08_rb /) kbo(:,45, 4) = (/ & & 0.27111e-08_rb,0.25582e-08_rb,0.26092e-08_rb,0.24352e-08_rb,0.23234e-08_rb /) kbo(:,46, 4) = (/ & & 0.22675e-08_rb,0.21455e-08_rb,0.21930e-08_rb,0.20490e-08_rb,0.19277e-08_rb /) kbo(:,47, 4) = (/ & & 0.18722e-08_rb,0.18163e-08_rb,0.18222e-08_rb,0.17256e-08_rb,0.16025e-08_rb /) kbo(:,48, 4) = (/ & & 0.15670e-08_rb,0.15133e-08_rb,0.14751e-08_rb,0.14433e-08_rb,0.13269e-08_rb /) kbo(:,49, 4) = (/ & & 0.12576e-08_rb,0.12106e-08_rb,0.11779e-08_rb,0.11664e-08_rb,0.10722e-08_rb /) kbo(:,50, 4) = (/ & & 0.10308e-08_rb,0.10019e-08_rb,0.98151e-09_rb,0.96758e-09_rb,0.89739e-09_rb /) kbo(:,51, 4) = (/ & & 0.84050e-09_rb,0.85047e-09_rb,0.83131e-09_rb,0.81346e-09_rb,0.77303e-09_rb /) kbo(:,52, 4) = (/ & & 0.67669e-09_rb,0.70190e-09_rb,0.68695e-09_rb,0.66858e-09_rb,0.63719e-09_rb /) kbo(:,53, 4) = (/ & & 0.52755e-09_rb,0.56097e-09_rb,0.54716e-09_rb,0.53877e-09_rb,0.51047e-09_rb /) kbo(:,54, 4) = (/ & & 0.44864e-09_rb,0.48984e-09_rb,0.48831e-09_rb,0.46728e-09_rb,0.45462e-09_rb /) kbo(:,55, 4) = (/ & & 0.40938e-09_rb,0.45501e-09_rb,0.45212e-09_rb,0.43586e-09_rb,0.42245e-09_rb /) kbo(:,56, 4) = (/ & & 0.38293e-09_rb,0.40217e-09_rb,0.41760e-09_rb,0.39645e-09_rb,0.38652e-09_rb /) kbo(:,57, 4) = (/ & & 0.35808e-09_rb,0.34306e-09_rb,0.38440e-09_rb,0.37442e-09_rb,0.33472e-09_rb /) kbo(:,58, 4) = (/ & & 0.33278e-09_rb,0.31839e-09_rb,0.35327e-09_rb,0.33061e-09_rb,0.29093e-09_rb /) kbo(:,59, 4) = (/ & & 0.32589e-09_rb,0.30766e-09_rb,0.30185e-09_rb,0.35182e-09_rb,0.34474e-09_rb /) kbo(:,13, 5) = (/ & & 0.19090e-07_rb,0.19323e-07_rb,0.21491e-07_rb,0.23162e-07_rb,0.23970e-07_rb /) kbo(:,14, 5) = (/ & & 0.37888e-07_rb,0.37108e-07_rb,0.33727e-07_rb,0.34146e-07_rb,0.33930e-07_rb /) kbo(:,15, 5) = (/ & & 0.46395e-07_rb,0.47265e-07_rb,0.48201e-07_rb,0.50512e-07_rb,0.51101e-07_rb /) kbo(:,16, 5) = (/ & & 0.60743e-07_rb,0.64371e-07_rb,0.67862e-07_rb,0.71479e-07_rb,0.74200e-07_rb /) kbo(:,17, 5) = (/ & & 0.79052e-07_rb,0.79011e-07_rb,0.77558e-07_rb,0.75900e-07_rb,0.76450e-07_rb /) kbo(:,18, 5) = (/ & & 0.75325e-07_rb,0.74009e-07_rb,0.72866e-07_rb,0.72803e-07_rb,0.73869e-07_rb /) kbo(:,19, 5) = (/ & & 0.74009e-07_rb,0.74054e-07_rb,0.73970e-07_rb,0.73800e-07_rb,0.75638e-07_rb /) kbo(:,20, 5) = (/ & & 0.73077e-07_rb,0.73306e-07_rb,0.72248e-07_rb,0.73120e-07_rb,0.74630e-07_rb /) kbo(:,21, 5) = (/ & & 0.68928e-07_rb,0.70100e-07_rb,0.69203e-07_rb,0.69478e-07_rb,0.71860e-07_rb /) kbo(:,22, 5) = (/ & & 0.65324e-07_rb,0.66570e-07_rb,0.66457e-07_rb,0.66345e-07_rb,0.68314e-07_rb /) kbo(:,23, 5) = (/ & & 0.62411e-07_rb,0.63996e-07_rb,0.63443e-07_rb,0.63576e-07_rb,0.65766e-07_rb /) kbo(:,24, 5) = (/ & & 0.60058e-07_rb,0.60956e-07_rb,0.60176e-07_rb,0.60222e-07_rb,0.63287e-07_rb /) kbo(:,25, 5) = (/ & & 0.57223e-07_rb,0.58225e-07_rb,0.58348e-07_rb,0.58584e-07_rb,0.61933e-07_rb /) kbo(:,26, 5) = (/ & & 0.55089e-07_rb,0.55723e-07_rb,0.55839e-07_rb,0.56337e-07_rb,0.60335e-07_rb /) kbo(:,27, 5) = (/ & & 0.52294e-07_rb,0.51745e-07_rb,0.52750e-07_rb,0.52701e-07_rb,0.57676e-07_rb /) kbo(:,28, 5) = (/ & & 0.48915e-07_rb,0.48234e-07_rb,0.48708e-07_rb,0.49873e-07_rb,0.54442e-07_rb /) kbo(:,29, 5) = (/ & & 0.43357e-07_rb,0.43230e-07_rb,0.43679e-07_rb,0.47285e-07_rb,0.49519e-07_rb /) kbo(:,30, 5) = (/ & & 0.37379e-07_rb,0.38427e-07_rb,0.39703e-07_rb,0.43492e-07_rb,0.43278e-07_rb /) kbo(:,31, 5) = (/ & & 0.31354e-07_rb,0.32238e-07_rb,0.35376e-07_rb,0.37358e-07_rb,0.37130e-07_rb /) kbo(:,32, 5) = (/ & & 0.26553e-07_rb,0.27801e-07_rb,0.30978e-07_rb,0.30698e-07_rb,0.31234e-07_rb /) kbo(:,33, 5) = (/ & & 0.21542e-07_rb,0.24274e-07_rb,0.24944e-07_rb,0.25194e-07_rb,0.25415e-07_rb /) kbo(:,34, 5) = (/ & & 0.19097e-07_rb,0.20582e-07_rb,0.20324e-07_rb,0.21006e-07_rb,0.20944e-07_rb /) kbo(:,35, 5) = (/ & & 0.16377e-07_rb,0.16881e-07_rb,0.16957e-07_rb,0.16743e-07_rb,0.16958e-07_rb /) kbo(:,36, 5) = (/ & & 0.13727e-07_rb,0.13834e-07_rb,0.13766e-07_rb,0.13776e-07_rb,0.13546e-07_rb /) kbo(:,37, 5) = (/ & & 0.11550e-07_rb,0.11601e-07_rb,0.11757e-07_rb,0.11723e-07_rb,0.11413e-07_rb /) kbo(:,38, 5) = (/ & & 0.98076e-08_rb,0.96320e-08_rb,0.10028e-07_rb,0.98197e-08_rb,0.91408e-08_rb /) kbo(:,39, 5) = (/ & & 0.80861e-08_rb,0.80113e-08_rb,0.81586e-08_rb,0.80121e-08_rb,0.75021e-08_rb /) kbo(:,40, 5) = (/ & & 0.70348e-08_rb,0.69980e-08_rb,0.71058e-08_rb,0.69171e-08_rb,0.64103e-08_rb /) kbo(:,41, 5) = (/ & & 0.61395e-08_rb,0.60379e-08_rb,0.61651e-08_rb,0.59006e-08_rb,0.54433e-08_rb /) kbo(:,42, 5) = (/ & & 0.51740e-08_rb,0.51391e-08_rb,0.53717e-08_rb,0.50506e-08_rb,0.46901e-08_rb /) kbo(:,43, 5) = (/ & & 0.44374e-08_rb,0.44002e-08_rb,0.45405e-08_rb,0.42888e-08_rb,0.39390e-08_rb /) kbo(:,44, 5) = (/ & & 0.36635e-08_rb,0.37555e-08_rb,0.37320e-08_rb,0.35598e-08_rb,0.33280e-08_rb /) kbo(:,45, 5) = (/ & & 0.30833e-08_rb,0.31320e-08_rb,0.30264e-08_rb,0.29827e-08_rb,0.28298e-08_rb /) kbo(:,46, 5) = (/ & & 0.25366e-08_rb,0.26077e-08_rb,0.24905e-08_rb,0.24281e-08_rb,0.22727e-08_rb /) kbo(:,47, 5) = (/ & & 0.20576e-08_rb,0.22029e-08_rb,0.20905e-08_rb,0.21040e-08_rb,0.19027e-08_rb /) kbo(:,48, 5) = (/ & & 0.16047e-08_rb,0.18190e-08_rb,0.17008e-08_rb,0.17298e-08_rb,0.16059e-08_rb /) kbo(:,49, 5) = (/ & & 0.12276e-08_rb,0.14135e-08_rb,0.13565e-08_rb,0.13704e-08_rb,0.13029e-08_rb /) kbo(:,50, 5) = (/ & & 0.98291e-09_rb,0.11837e-08_rb,0.11000e-08_rb,0.11342e-08_rb,0.10621e-08_rb /) kbo(:,51, 5) = (/ & & 0.79374e-09_rb,0.97756e-09_rb,0.90252e-09_rb,0.90527e-09_rb,0.86815e-09_rb /) kbo(:,52, 5) = (/ & & 0.64781e-09_rb,0.78454e-09_rb,0.75690e-09_rb,0.74124e-09_rb,0.73195e-09_rb /) kbo(:,53, 5) = (/ & & 0.51536e-09_rb,0.61158e-09_rb,0.60936e-09_rb,0.59007e-09_rb,0.58458e-09_rb /) kbo(:,54, 5) = (/ & & 0.46178e-09_rb,0.51944e-09_rb,0.52167e-09_rb,0.53965e-09_rb,0.50524e-09_rb /) kbo(:,55, 5) = (/ & & 0.44467e-09_rb,0.42857e-09_rb,0.50799e-09_rb,0.47528e-09_rb,0.43900e-09_rb /) kbo(:,56, 5) = (/ & & 0.39667e-09_rb,0.37862e-09_rb,0.45808e-09_rb,0.43270e-09_rb,0.38817e-09_rb /) kbo(:,57, 5) = (/ & & 0.35926e-09_rb,0.35410e-09_rb,0.38962e-09_rb,0.37502e-09_rb,0.40935e-09_rb /) kbo(:,58, 5) = (/ & & 0.31517e-09_rb,0.32964e-09_rb,0.29323e-09_rb,0.39945e-09_rb,0.40389e-09_rb /) kbo(:,59, 5) = (/ & & 0.36198e-09_rb,0.38633e-09_rb,0.41096e-09_rb,0.53914e-09_rb,0.57631e-09_rb /) kbo(:,13, 6) = (/ & & 0.23095e-07_rb,0.23025e-07_rb,0.25126e-07_rb,0.25618e-07_rb,0.24969e-07_rb /) kbo(:,14, 6) = (/ & & 0.31573e-07_rb,0.32360e-07_rb,0.33220e-07_rb,0.32611e-07_rb,0.32150e-07_rb /) kbo(:,15, 6) = (/ & & 0.45219e-07_rb,0.45787e-07_rb,0.47088e-07_rb,0.49543e-07_rb,0.54072e-07_rb /) kbo(:,16, 6) = (/ & & 0.65293e-07_rb,0.67448e-07_rb,0.64557e-07_rb,0.63976e-07_rb,0.64905e-07_rb /) kbo(:,17, 6) = (/ & & 0.64862e-07_rb,0.63259e-07_rb,0.62851e-07_rb,0.62500e-07_rb,0.63112e-07_rb /) kbo(:,18, 6) = (/ & & 0.61849e-07_rb,0.62108e-07_rb,0.60565e-07_rb,0.60920e-07_rb,0.61810e-07_rb /) kbo(:,19, 6) = (/ & & 0.63930e-07_rb,0.63195e-07_rb,0.62478e-07_rb,0.62282e-07_rb,0.62250e-07_rb /) kbo(:,20, 6) = (/ & & 0.60100e-07_rb,0.60269e-07_rb,0.59919e-07_rb,0.57578e-07_rb,0.57933e-07_rb /) kbo(:,21, 6) = (/ & & 0.56465e-07_rb,0.56674e-07_rb,0.56992e-07_rb,0.55969e-07_rb,0.54719e-07_rb /) kbo(:,22, 6) = (/ & & 0.54280e-07_rb,0.53760e-07_rb,0.52615e-07_rb,0.52261e-07_rb,0.51523e-07_rb /) kbo(:,23, 6) = (/ & & 0.49921e-07_rb,0.49472e-07_rb,0.49168e-07_rb,0.47959e-07_rb,0.47449e-07_rb /) kbo(:,24, 6) = (/ & & 0.45803e-07_rb,0.46271e-07_rb,0.46322e-07_rb,0.46536e-07_rb,0.46494e-07_rb /) kbo(:,25, 6) = (/ & & 0.43723e-07_rb,0.44225e-07_rb,0.44324e-07_rb,0.43726e-07_rb,0.43579e-07_rb /) kbo(:,26, 6) = (/ & & 0.41617e-07_rb,0.42588e-07_rb,0.42306e-07_rb,0.41086e-07_rb,0.41943e-07_rb /) kbo(:,27, 6) = (/ & & 0.38855e-07_rb,0.40231e-07_rb,0.39090e-07_rb,0.39461e-07_rb,0.39072e-07_rb /) kbo(:,28, 6) = (/ & & 0.35912e-07_rb,0.36691e-07_rb,0.35670e-07_rb,0.35644e-07_rb,0.38295e-07_rb /) kbo(:,29, 6) = (/ & & 0.33357e-07_rb,0.33134e-07_rb,0.32394e-07_rb,0.32909e-07_rb,0.36234e-07_rb /) kbo(:,30, 6) = (/ & & 0.30529e-07_rb,0.29196e-07_rb,0.29147e-07_rb,0.30292e-07_rb,0.33912e-07_rb /) kbo(:,31, 6) = (/ & & 0.27228e-07_rb,0.27081e-07_rb,0.26630e-07_rb,0.30010e-07_rb,0.28781e-07_rb /) kbo(:,32, 6) = (/ & & 0.24109e-07_rb,0.24388e-07_rb,0.25546e-07_rb,0.26823e-07_rb,0.26681e-07_rb /) kbo(:,33, 6) = (/ & & 0.21402e-07_rb,0.22303e-07_rb,0.24668e-07_rb,0.24556e-07_rb,0.24369e-07_rb /) kbo(:,34, 6) = (/ & & 0.18136e-07_rb,0.20944e-07_rb,0.21211e-07_rb,0.21286e-07_rb,0.21648e-07_rb /) kbo(:,35, 6) = (/ & & 0.16306e-07_rb,0.17531e-07_rb,0.17744e-07_rb,0.18061e-07_rb,0.18282e-07_rb /) kbo(:,36, 6) = (/ & & 0.13873e-07_rb,0.14963e-07_rb,0.15398e-07_rb,0.15527e-07_rb,0.15391e-07_rb /) kbo(:,37, 6) = (/ & & 0.11948e-07_rb,0.12614e-07_rb,0.12946e-07_rb,0.12916e-07_rb,0.13085e-07_rb /) kbo(:,38, 6) = (/ & & 0.98235e-08_rb,0.10612e-07_rb,0.10029e-07_rb,0.10618e-07_rb,0.10860e-07_rb /) kbo(:,39, 6) = (/ & & 0.81514e-08_rb,0.84716e-08_rb,0.81123e-08_rb,0.83644e-08_rb,0.81668e-08_rb /) kbo(:,40, 6) = (/ & & 0.68179e-08_rb,0.69030e-08_rb,0.69393e-08_rb,0.69969e-08_rb,0.71027e-08_rb /) kbo(:,41, 6) = (/ & & 0.59350e-08_rb,0.60668e-08_rb,0.59026e-08_rb,0.60181e-08_rb,0.60779e-08_rb /) kbo(:,42, 6) = (/ & & 0.51181e-08_rb,0.52127e-08_rb,0.48788e-08_rb,0.51397e-08_rb,0.50230e-08_rb /) kbo(:,43, 6) = (/ & & 0.42653e-08_rb,0.44600e-08_rb,0.41100e-08_rb,0.44735e-08_rb,0.42607e-08_rb /) kbo(:,44, 6) = (/ & & 0.34724e-08_rb,0.37628e-08_rb,0.35340e-08_rb,0.38309e-08_rb,0.36188e-08_rb /) kbo(:,45, 6) = (/ & & 0.27994e-08_rb,0.31690e-08_rb,0.28599e-08_rb,0.30290e-08_rb,0.27730e-08_rb /) kbo(:,46, 6) = (/ & & 0.22089e-08_rb,0.25761e-08_rb,0.23856e-08_rb,0.24874e-08_rb,0.23603e-08_rb /) kbo(:,47, 6) = (/ & & 0.18078e-08_rb,0.20304e-08_rb,0.19457e-08_rb,0.19366e-08_rb,0.19286e-08_rb /) kbo(:,48, 6) = (/ & & 0.14716e-08_rb,0.15703e-08_rb,0.17393e-08_rb,0.14836e-08_rb,0.15316e-08_rb /) kbo(:,49, 6) = (/ & & 0.11334e-08_rb,0.12901e-08_rb,0.13556e-08_rb,0.11610e-08_rb,0.11617e-08_rb /) kbo(:,50, 6) = (/ & & 0.90881e-09_rb,0.10323e-08_rb,0.11378e-08_rb,0.95509e-09_rb,0.96291e-09_rb /) kbo(:,51, 6) = (/ & & 0.76751e-09_rb,0.81710e-09_rb,0.97432e-09_rb,0.82408e-09_rb,0.81205e-09_rb /) kbo(:,52, 6) = (/ & & 0.62668e-09_rb,0.66223e-09_rb,0.76870e-09_rb,0.68347e-09_rb,0.65771e-09_rb /) kbo(:,53, 6) = (/ & & 0.50547e-09_rb,0.49991e-09_rb,0.61494e-09_rb,0.55640e-09_rb,0.52803e-09_rb /) kbo(:,54, 6) = (/ & & 0.42841e-09_rb,0.42678e-09_rb,0.51796e-09_rb,0.46340e-09_rb,0.44830e-09_rb /) kbo(:,55, 6) = (/ & & 0.40234e-09_rb,0.40065e-09_rb,0.45944e-09_rb,0.42252e-09_rb,0.44365e-09_rb /) kbo(:,56, 6) = (/ & & 0.36764e-09_rb,0.35937e-09_rb,0.36570e-09_rb,0.44631e-09_rb,0.45684e-09_rb /) kbo(:,57, 6) = (/ & & 0.33321e-09_rb,0.29808e-09_rb,0.31056e-09_rb,0.44585e-09_rb,0.41122e-09_rb /) kbo(:,58, 6) = (/ & & 0.31198e-09_rb,0.29542e-09_rb,0.33327e-09_rb,0.43871e-09_rb,0.45291e-09_rb /) kbo(:,59, 6) = (/ & & 0.38710e-09_rb,0.42412e-09_rb,0.44197e-09_rb,0.49964e-09_rb,0.70387e-09_rb /) kbo(:,13, 7) = (/ & & 0.30377e-07_rb,0.31586e-07_rb,0.27647e-07_rb,0.27937e-07_rb,0.28036e-07_rb /) kbo(:,14, 7) = (/ & & 0.37766e-07_rb,0.39819e-07_rb,0.39822e-07_rb,0.40069e-07_rb,0.42091e-07_rb /) kbo(:,15, 7) = (/ & & 0.57996e-07_rb,0.64474e-07_rb,0.69368e-07_rb,0.70909e-07_rb,0.70748e-07_rb /) kbo(:,16, 7) = (/ & & 0.73220e-07_rb,0.70124e-07_rb,0.69135e-07_rb,0.68058e-07_rb,0.66524e-07_rb /) kbo(:,17, 7) = (/ & & 0.66529e-07_rb,0.66306e-07_rb,0.63797e-07_rb,0.63551e-07_rb,0.63462e-07_rb /) kbo(:,18, 7) = (/ & & 0.66492e-07_rb,0.65156e-07_rb,0.66323e-07_rb,0.64485e-07_rb,0.63285e-07_rb /) kbo(:,19, 7) = (/ & & 0.62980e-07_rb,0.62900e-07_rb,0.62718e-07_rb,0.61114e-07_rb,0.59765e-07_rb /) kbo(:,20, 7) = (/ & & 0.59754e-07_rb,0.58066e-07_rb,0.59540e-07_rb,0.58926e-07_rb,0.57835e-07_rb /) kbo(:,21, 7) = (/ & & 0.57368e-07_rb,0.55161e-07_rb,0.55685e-07_rb,0.55360e-07_rb,0.53982e-07_rb /) kbo(:,22, 7) = (/ & & 0.51435e-07_rb,0.49998e-07_rb,0.50952e-07_rb,0.50442e-07_rb,0.49717e-07_rb /) kbo(:,23, 7) = (/ & & 0.47663e-07_rb,0.46845e-07_rb,0.47849e-07_rb,0.48876e-07_rb,0.48885e-07_rb /) kbo(:,24, 7) = (/ & & 0.47926e-07_rb,0.45619e-07_rb,0.45793e-07_rb,0.46467e-07_rb,0.45938e-07_rb /) kbo(:,25, 7) = (/ & & 0.44687e-07_rb,0.43904e-07_rb,0.44284e-07_rb,0.44176e-07_rb,0.45520e-07_rb /) kbo(:,26, 7) = (/ & & 0.42751e-07_rb,0.41938e-07_rb,0.42889e-07_rb,0.42927e-07_rb,0.43868e-07_rb /) kbo(:,27, 7) = (/ & & 0.40180e-07_rb,0.40529e-07_rb,0.40621e-07_rb,0.40949e-07_rb,0.41005e-07_rb /) kbo(:,28, 7) = (/ & & 0.35890e-07_rb,0.36716e-07_rb,0.37875e-07_rb,0.38308e-07_rb,0.37626e-07_rb /) kbo(:,29, 7) = (/ & & 0.31499e-07_rb,0.33284e-07_rb,0.32725e-07_rb,0.32493e-07_rb,0.35018e-07_rb /) kbo(:,30, 7) = (/ & & 0.29364e-07_rb,0.28675e-07_rb,0.28942e-07_rb,0.28761e-07_rb,0.33960e-07_rb /) kbo(:,31, 7) = (/ & & 0.25558e-07_rb,0.23679e-07_rb,0.24292e-07_rb,0.26053e-07_rb,0.29211e-07_rb /) kbo(:,32, 7) = (/ & & 0.20860e-07_rb,0.21491e-07_rb,0.20910e-07_rb,0.25598e-07_rb,0.24209e-07_rb /) kbo(:,33, 7) = (/ & & 0.18874e-07_rb,0.18554e-07_rb,0.21206e-07_rb,0.20708e-07_rb,0.21100e-07_rb /) kbo(:,34, 7) = (/ & & 0.18632e-07_rb,0.18625e-07_rb,0.20707e-07_rb,0.19570e-07_rb,0.18956e-07_rb /) kbo(:,35, 7) = (/ & & 0.15958e-07_rb,0.19141e-07_rb,0.19004e-07_rb,0.19249e-07_rb,0.17793e-07_rb /) kbo(:,36, 7) = (/ & & 0.14552e-07_rb,0.16561e-07_rb,0.16607e-07_rb,0.16784e-07_rb,0.16326e-07_rb /) kbo(:,37, 7) = (/ & & 0.13127e-07_rb,0.14300e-07_rb,0.14021e-07_rb,0.14385e-07_rb,0.13328e-07_rb /) kbo(:,38, 7) = (/ & & 0.11514e-07_rb,0.12356e-07_rb,0.12677e-07_rb,0.12181e-07_rb,0.11774e-07_rb /) kbo(:,39, 7) = (/ & & 0.93434e-08_rb,0.10196e-07_rb,0.10605e-07_rb,0.10201e-07_rb,0.10584e-07_rb /) kbo(:,40, 7) = (/ & & 0.81790e-08_rb,0.89000e-08_rb,0.85315e-08_rb,0.89663e-08_rb,0.91635e-08_rb /) kbo(:,41, 7) = (/ & & 0.65541e-08_rb,0.74884e-08_rb,0.72364e-08_rb,0.72692e-08_rb,0.75649e-08_rb /) kbo(:,42, 7) = (/ & & 0.54665e-08_rb,0.61796e-08_rb,0.61564e-08_rb,0.61304e-08_rb,0.64285e-08_rb /) kbo(:,43, 7) = (/ & & 0.43531e-08_rb,0.47798e-08_rb,0.51393e-08_rb,0.49135e-08_rb,0.53520e-08_rb /) kbo(:,44, 7) = (/ & & 0.35872e-08_rb,0.38233e-08_rb,0.42659e-08_rb,0.39384e-08_rb,0.44541e-08_rb /) kbo(:,45, 7) = (/ & & 0.28156e-08_rb,0.32775e-08_rb,0.36262e-08_rb,0.32518e-08_rb,0.36805e-08_rb /) kbo(:,46, 7) = (/ & & 0.23879e-08_rb,0.26299e-08_rb,0.28972e-08_rb,0.27379e-08_rb,0.30333e-08_rb /) kbo(:,47, 7) = (/ & & 0.19282e-08_rb,0.22066e-08_rb,0.23812e-08_rb,0.23512e-08_rb,0.23794e-08_rb /) kbo(:,48, 7) = (/ & & 0.15092e-08_rb,0.18255e-08_rb,0.17414e-08_rb,0.19322e-08_rb,0.19399e-08_rb /) kbo(:,49, 7) = (/ & & 0.11905e-08_rb,0.13964e-08_rb,0.14306e-08_rb,0.14791e-08_rb,0.14939e-08_rb /) kbo(:,50, 7) = (/ & & 0.98537e-09_rb,0.10687e-08_rb,0.11753e-08_rb,0.11334e-08_rb,0.13178e-08_rb /) kbo(:,51, 7) = (/ & & 0.84255e-09_rb,0.88069e-09_rb,0.95073e-09_rb,0.92632e-09_rb,0.10457e-08_rb /) kbo(:,52, 7) = (/ & & 0.68238e-09_rb,0.70376e-09_rb,0.74795e-09_rb,0.75152e-09_rb,0.78131e-09_rb /) kbo(:,53, 7) = (/ & & 0.56271e-09_rb,0.58527e-09_rb,0.61397e-09_rb,0.56343e-09_rb,0.61138e-09_rb /) kbo(:,54, 7) = (/ & & 0.52493e-09_rb,0.46040e-09_rb,0.53769e-09_rb,0.51459e-09_rb,0.52912e-09_rb /) kbo(:,55, 7) = (/ & & 0.40372e-09_rb,0.38720e-09_rb,0.40004e-09_rb,0.56294e-09_rb,0.55844e-09_rb /) kbo(:,56, 7) = (/ & & 0.37372e-09_rb,0.35358e-09_rb,0.39920e-09_rb,0.52819e-09_rb,0.50147e-09_rb /) kbo(:,57, 7) = (/ & & 0.31149e-09_rb,0.39454e-09_rb,0.38951e-09_rb,0.52086e-09_rb,0.54542e-09_rb /) kbo(:,58, 7) = (/ & & 0.30564e-09_rb,0.36251e-09_rb,0.38551e-09_rb,0.43845e-09_rb,0.61772e-09_rb /) kbo(:,59, 7) = (/ & & 0.46934e-09_rb,0.57639e-09_rb,0.58591e-09_rb,0.63021e-09_rb,0.71158e-09_rb /) kbo(:,13, 8) = (/ & & 0.34320e-07_rb,0.31607e-07_rb,0.29840e-07_rb,0.29114e-07_rb,0.28831e-07_rb /) kbo(:,14, 8) = (/ & & 0.38157e-07_rb,0.37907e-07_rb,0.40351e-07_rb,0.45015e-07_rb,0.44786e-07_rb /) kbo(:,15, 8) = (/ & & 0.71231e-07_rb,0.71647e-07_rb,0.71034e-07_rb,0.71647e-07_rb,0.71755e-07_rb /) kbo(:,16, 8) = (/ & & 0.72049e-07_rb,0.69075e-07_rb,0.67707e-07_rb,0.67019e-07_rb,0.66780e-07_rb /) kbo(:,17, 8) = (/ & & 0.69751e-07_rb,0.66211e-07_rb,0.66017e-07_rb,0.63095e-07_rb,0.63343e-07_rb /) kbo(:,18, 8) = (/ & & 0.67728e-07_rb,0.66581e-07_rb,0.64787e-07_rb,0.62981e-07_rb,0.62245e-07_rb /) kbo(:,19, 8) = (/ & & 0.65864e-07_rb,0.63789e-07_rb,0.62712e-07_rb,0.62065e-07_rb,0.61005e-07_rb /) kbo(:,20, 8) = (/ & & 0.61816e-07_rb,0.63755e-07_rb,0.63424e-07_rb,0.61945e-07_rb,0.58720e-07_rb /) kbo(:,21, 8) = (/ & & 0.59112e-07_rb,0.58061e-07_rb,0.57019e-07_rb,0.54795e-07_rb,0.56069e-07_rb /) kbo(:,22, 8) = (/ & & 0.56217e-07_rb,0.53887e-07_rb,0.54812e-07_rb,0.52500e-07_rb,0.53303e-07_rb /) kbo(:,23, 8) = (/ & & 0.54428e-07_rb,0.52930e-07_rb,0.53278e-07_rb,0.52797e-07_rb,0.51840e-07_rb /) kbo(:,24, 8) = (/ & & 0.51236e-07_rb,0.52532e-07_rb,0.53348e-07_rb,0.51715e-07_rb,0.53224e-07_rb /) kbo(:,25, 8) = (/ & & 0.49989e-07_rb,0.50872e-07_rb,0.49932e-07_rb,0.52702e-07_rb,0.51493e-07_rb /) kbo(:,26, 8) = (/ & & 0.49845e-07_rb,0.48733e-07_rb,0.48348e-07_rb,0.51346e-07_rb,0.51109e-07_rb /) kbo(:,27, 8) = (/ & & 0.43883e-07_rb,0.43853e-07_rb,0.46523e-07_rb,0.47281e-07_rb,0.47292e-07_rb /) kbo(:,28, 8) = (/ & & 0.41424e-07_rb,0.42057e-07_rb,0.43773e-07_rb,0.43422e-07_rb,0.41438e-07_rb /) kbo(:,29, 8) = (/ & & 0.37736e-07_rb,0.34915e-07_rb,0.37971e-07_rb,0.38437e-07_rb,0.38122e-07_rb /) kbo(:,30, 8) = (/ & & 0.30209e-07_rb,0.32936e-07_rb,0.31853e-07_rb,0.30285e-07_rb,0.31746e-07_rb /) kbo(:,31, 8) = (/ & & 0.25886e-07_rb,0.26990e-07_rb,0.27039e-07_rb,0.26019e-07_rb,0.34246e-07_rb /) kbo(:,32, 8) = (/ & & 0.24750e-07_rb,0.20653e-07_rb,0.21921e-07_rb,0.25087e-07_rb,0.25874e-07_rb /) kbo(:,33, 8) = (/ & & 0.19410e-07_rb,0.18820e-07_rb,0.18768e-07_rb,0.23223e-07_rb,0.20942e-07_rb /) kbo(:,34, 8) = (/ & & 0.16037e-07_rb,0.16060e-07_rb,0.19012e-07_rb,0.17686e-07_rb,0.18319e-07_rb /) kbo(:,35, 8) = (/ & & 0.16085e-07_rb,0.15072e-07_rb,0.16472e-07_rb,0.15719e-07_rb,0.16406e-07_rb /) kbo(:,36, 8) = (/ & & 0.15014e-07_rb,0.17144e-07_rb,0.16353e-07_rb,0.15223e-07_rb,0.14884e-07_rb /) kbo(:,37, 8) = (/ & & 0.12909e-07_rb,0.15628e-07_rb,0.16086e-07_rb,0.15318e-07_rb,0.15605e-07_rb /) kbo(:,38, 8) = (/ & & 0.11803e-07_rb,0.12970e-07_rb,0.13587e-07_rb,0.13257e-07_rb,0.13920e-07_rb /) kbo(:,39, 8) = (/ & & 0.10299e-07_rb,0.10951e-07_rb,0.11006e-07_rb,0.11507e-07_rb,0.10553e-07_rb /) kbo(:,40, 8) = (/ & & 0.87605e-08_rb,0.10094e-07_rb,0.10641e-07_rb,0.94199e-08_rb,0.97115e-08_rb /) kbo(:,41, 8) = (/ & & 0.69747e-08_rb,0.82105e-08_rb,0.93516e-08_rb,0.90234e-08_rb,0.91657e-08_rb /) kbo(:,42, 8) = (/ & & 0.60201e-08_rb,0.73523e-08_rb,0.76249e-08_rb,0.76962e-08_rb,0.80489e-08_rb /) kbo(:,43, 8) = (/ & & 0.50249e-08_rb,0.64035e-08_rb,0.62997e-08_rb,0.63745e-08_rb,0.65773e-08_rb /) kbo(:,44, 8) = (/ & & 0.43021e-08_rb,0.55682e-08_rb,0.52391e-08_rb,0.55432e-08_rb,0.53417e-08_rb /) kbo(:,45, 8) = (/ & & 0.34659e-08_rb,0.41011e-08_rb,0.41998e-08_rb,0.45328e-08_rb,0.45452e-08_rb /) kbo(:,46, 8) = (/ & & 0.26629e-08_rb,0.30573e-08_rb,0.34050e-08_rb,0.36018e-08_rb,0.38146e-08_rb /) kbo(:,47, 8) = (/ & & 0.20352e-08_rb,0.25120e-08_rb,0.29668e-08_rb,0.27818e-08_rb,0.34015e-08_rb /) kbo(:,48, 8) = (/ & & 0.16537e-08_rb,0.17568e-08_rb,0.23894e-08_rb,0.22154e-08_rb,0.25802e-08_rb /) kbo(:,49, 8) = (/ & & 0.13981e-08_rb,0.14349e-08_rb,0.17246e-08_rb,0.17767e-08_rb,0.19090e-08_rb /) kbo(:,50, 8) = (/ & & 0.10918e-08_rb,0.11356e-08_rb,0.12258e-08_rb,0.14996e-08_rb,0.12493e-08_rb /) kbo(:,51, 8) = (/ & & 0.96204e-09_rb,0.88786e-09_rb,0.10061e-08_rb,0.12415e-08_rb,0.10774e-08_rb /) kbo(:,52, 8) = (/ & & 0.79848e-09_rb,0.70289e-09_rb,0.84515e-09_rb,0.10143e-08_rb,0.85552e-09_rb /) kbo(:,53, 8) = (/ & & 0.60435e-09_rb,0.54746e-09_rb,0.63806e-09_rb,0.74615e-09_rb,0.64507e-09_rb /) kbo(:,54, 8) = (/ & & 0.47378e-09_rb,0.48059e-09_rb,0.54886e-09_rb,0.73215e-09_rb,0.65721e-09_rb /) kbo(:,55, 8) = (/ & & 0.45346e-09_rb,0.46291e-09_rb,0.55380e-09_rb,0.67829e-09_rb,0.56756e-09_rb /) kbo(:,56, 8) = (/ & & 0.43938e-09_rb,0.46043e-09_rb,0.50980e-09_rb,0.62685e-09_rb,0.70094e-09_rb /) kbo(:,57, 8) = (/ & & 0.42587e-09_rb,0.43184e-09_rb,0.47819e-09_rb,0.57152e-09_rb,0.76528e-09_rb /) kbo(:,58, 8) = (/ & & 0.47403e-09_rb,0.46387e-09_rb,0.50904e-09_rb,0.58886e-09_rb,0.70162e-09_rb /) kbo(:,59, 8) = (/ & & 0.54448e-09_rb,0.50172e-09_rb,0.65155e-09_rb,0.65748e-09_rb,0.98321e-09_rb /) kbo(:,13, 9) = (/ & & 0.10995e-05_rb,0.11095e-05_rb,0.11168e-05_rb,0.11200e-05_rb,0.11274e-05_rb /) kbo(:,14, 9) = (/ & & 0.73340e-06_rb,0.73567e-06_rb,0.73740e-06_rb,0.73330e-06_rb,0.73919e-06_rb /) kbo(:,15, 9) = (/ & & 0.32510e-06_rb,0.31252e-06_rb,0.30243e-06_rb,0.29146e-06_rb,0.28830e-06_rb /) kbo(:,16, 9) = (/ & & 0.61567e-07_rb,0.60590e-07_rb,0.61057e-07_rb,0.58821e-07_rb,0.58536e-07_rb /) kbo(:,17, 9) = (/ & & 0.60009e-07_rb,0.60924e-07_rb,0.61205e-07_rb,0.63591e-07_rb,0.59950e-07_rb /) kbo(:,18, 9) = (/ & & 0.61458e-07_rb,0.61692e-07_rb,0.60339e-07_rb,0.59878e-07_rb,0.58575e-07_rb /) kbo(:,19, 9) = (/ & & 0.57878e-07_rb,0.60299e-07_rb,0.60236e-07_rb,0.59512e-07_rb,0.58126e-07_rb /) kbo(:,20, 9) = (/ & & 0.58329e-07_rb,0.57451e-07_rb,0.54760e-07_rb,0.57082e-07_rb,0.56805e-07_rb /) kbo(:,21, 9) = (/ & & 0.53092e-07_rb,0.51700e-07_rb,0.51833e-07_rb,0.52853e-07_rb,0.52467e-07_rb /) kbo(:,22, 9) = (/ & & 0.47591e-07_rb,0.51357e-07_rb,0.49075e-07_rb,0.53548e-07_rb,0.55924e-07_rb /) kbo(:,23, 9) = (/ & & 0.49724e-07_rb,0.51803e-07_rb,0.51793e-07_rb,0.49922e-07_rb,0.52665e-07_rb /) kbo(:,24, 9) = (/ & & 0.47737e-07_rb,0.49279e-07_rb,0.51207e-07_rb,0.49000e-07_rb,0.51613e-07_rb /) kbo(:,25, 9) = (/ & & 0.49014e-07_rb,0.50174e-07_rb,0.54886e-07_rb,0.47520e-07_rb,0.49798e-07_rb /) kbo(:,26, 9) = (/ & & 0.42783e-07_rb,0.51200e-07_rb,0.50600e-07_rb,0.47620e-07_rb,0.43709e-07_rb /) kbo(:,27, 9) = (/ & & 0.42685e-07_rb,0.50611e-07_rb,0.42800e-07_rb,0.43026e-07_rb,0.46518e-07_rb /) kbo(:,28, 9) = (/ & & 0.40023e-07_rb,0.44433e-07_rb,0.38380e-07_rb,0.40945e-07_rb,0.42005e-07_rb /) kbo(:,29, 9) = (/ & & 0.34641e-07_rb,0.38943e-07_rb,0.36153e-07_rb,0.36773e-07_rb,0.32051e-07_rb /) kbo(:,30, 9) = (/ & & 0.31936e-07_rb,0.28774e-07_rb,0.32629e-07_rb,0.32074e-07_rb,0.31547e-07_rb /) kbo(:,31, 9) = (/ & & 0.25468e-07_rb,0.25946e-07_rb,0.23671e-07_rb,0.23770e-07_rb,0.28704e-07_rb /) kbo(:,32, 9) = (/ & & 0.18317e-07_rb,0.22069e-07_rb,0.20055e-07_rb,0.21665e-07_rb,0.25653e-07_rb /) kbo(:,33, 9) = (/ & & 0.18319e-07_rb,0.17920e-07_rb,0.16523e-07_rb,0.20049e-07_rb,0.19951e-07_rb /) kbo(:,34, 9) = (/ & & 0.15127e-07_rb,0.13546e-07_rb,0.16257e-07_rb,0.16818e-07_rb,0.15661e-07_rb /) kbo(:,35, 9) = (/ & & 0.12192e-07_rb,0.13829e-07_rb,0.15792e-07_rb,0.15440e-07_rb,0.14596e-07_rb /) kbo(:,36, 9) = (/ & & 0.11593e-07_rb,0.10509e-07_rb,0.13211e-07_rb,0.13026e-07_rb,0.13917e-07_rb /) kbo(:,37, 9) = (/ & & 0.12302e-07_rb,0.13196e-07_rb,0.12558e-07_rb,0.11760e-07_rb,0.12490e-07_rb /) kbo(:,38, 9) = (/ & & 0.10116e-07_rb,0.12498e-07_rb,0.12546e-07_rb,0.12890e-07_rb,0.12908e-07_rb /) kbo(:,39, 9) = (/ & & 0.88258e-08_rb,0.10400e-07_rb,0.11293e-07_rb,0.11361e-07_rb,0.11468e-07_rb /) kbo(:,40, 9) = (/ & & 0.70753e-08_rb,0.81481e-08_rb,0.94292e-08_rb,0.10943e-07_rb,0.90300e-08_rb /) kbo(:,41, 9) = (/ & & 0.71994e-08_rb,0.84394e-08_rb,0.89108e-08_rb,0.89407e-08_rb,0.87875e-08_rb /) kbo(:,42, 9) = (/ & & 0.55536e-08_rb,0.66846e-08_rb,0.83965e-08_rb,0.80560e-08_rb,0.79305e-08_rb /) kbo(:,43, 9) = (/ & & 0.50223e-08_rb,0.59958e-08_rb,0.69583e-08_rb,0.70648e-08_rb,0.76990e-08_rb /) kbo(:,44, 9) = (/ & & 0.40990e-08_rb,0.43884e-08_rb,0.50706e-08_rb,0.56081e-08_rb,0.62414e-08_rb /) kbo(:,45, 9) = (/ & & 0.35590e-08_rb,0.38731e-08_rb,0.41923e-08_rb,0.44278e-08_rb,0.44950e-08_rb /) kbo(:,46, 9) = (/ & & 0.26814e-08_rb,0.33691e-08_rb,0.34101e-08_rb,0.34324e-08_rb,0.35321e-08_rb /) kbo(:,47, 9) = (/ & & 0.21424e-08_rb,0.21249e-08_rb,0.27532e-08_rb,0.28475e-08_rb,0.25748e-08_rb /) kbo(:,48, 9) = (/ & & 0.16514e-08_rb,0.18931e-08_rb,0.22507e-08_rb,0.22575e-08_rb,0.21238e-08_rb /) kbo(:,49, 9) = (/ & & 0.12235e-08_rb,0.12503e-08_rb,0.16643e-08_rb,0.16742e-08_rb,0.16438e-08_rb /) kbo(:,50, 9) = (/ & & 0.11340e-08_rb,0.11248e-08_rb,0.13120e-08_rb,0.13854e-08_rb,0.13503e-08_rb /) kbo(:,51, 9) = (/ & & 0.79176e-09_rb,0.91681e-09_rb,0.99908e-09_rb,0.13532e-08_rb,0.10405e-08_rb /) kbo(:,52, 9) = (/ & & 0.64785e-09_rb,0.57185e-09_rb,0.84784e-09_rb,0.90912e-09_rb,0.87721e-09_rb /) kbo(:,53, 9) = (/ & & 0.51330e-09_rb,0.43209e-09_rb,0.61659e-09_rb,0.79798e-09_rb,0.65017e-09_rb /) kbo(:,54, 9) = (/ & & 0.40227e-09_rb,0.45562e-09_rb,0.54691e-09_rb,0.63160e-09_rb,0.62902e-09_rb /) kbo(:,55, 9) = (/ & & 0.44280e-09_rb,0.43833e-09_rb,0.48132e-09_rb,0.55748e-09_rb,0.72672e-09_rb /) kbo(:,56, 9) = (/ & & 0.33767e-09_rb,0.43448e-09_rb,0.42774e-09_rb,0.52401e-09_rb,0.66273e-09_rb /) kbo(:,57, 9) = (/ & & 0.40113e-09_rb,0.38794e-09_rb,0.46286e-09_rb,0.57261e-09_rb,0.60773e-09_rb /) kbo(:,58, 9) = (/ & & 0.36624e-09_rb,0.52965e-09_rb,0.49530e-09_rb,0.54114e-09_rb,0.65708e-09_rb /) kbo(:,59, 9) = (/ & & 0.52598e-09_rb,0.55940e-09_rb,0.70094e-09_rb,0.71749e-09_rb,0.81086e-09_rb /) kbo(:,13,10) = (/ & & 0.75197e-05_rb,0.74908e-05_rb,0.74768e-05_rb,0.74579e-05_rb,0.74485e-05_rb /) kbo(:,14,10) = (/ & & 0.62427e-05_rb,0.62400e-05_rb,0.62314e-05_rb,0.62357e-05_rb,0.62230e-05_rb /) kbo(:,15,10) = (/ & & 0.51235e-05_rb,0.51220e-05_rb,0.51270e-05_rb,0.51388e-05_rb,0.51377e-05_rb /) kbo(:,16,10) = (/ & & 0.36653e-05_rb,0.36812e-05_rb,0.36844e-05_rb,0.36893e-05_rb,0.37175e-05_rb /) kbo(:,17,10) = (/ & & 0.10067e-05_rb,0.10571e-05_rb,0.10948e-05_rb,0.11331e-05_rb,0.11791e-05_rb /) kbo(:,18,10) = (/ & & 0.37963e-07_rb,0.35028e-07_rb,0.38085e-07_rb,0.36252e-07_rb,0.39741e-07_rb /) kbo(:,19,10) = (/ & & 0.58861e-07_rb,0.39909e-07_rb,0.43872e-07_rb,0.52963e-07_rb,0.37762e-07_rb /) kbo(:,20,10) = (/ & & 0.65438e-07_rb,0.43429e-07_rb,0.52709e-07_rb,0.35811e-07_rb,0.59833e-07_rb /) kbo(:,21,10) = (/ & & 0.50452e-07_rb,0.50995e-07_rb,0.40371e-07_rb,0.51145e-07_rb,0.52725e-07_rb /) kbo(:,22,10) = (/ & & 0.42139e-07_rb,0.45011e-07_rb,0.61867e-07_rb,0.41292e-07_rb,0.37916e-07_rb /) kbo(:,23,10) = (/ & & 0.30176e-07_rb,0.29856e-07_rb,0.39637e-07_rb,0.38957e-07_rb,0.64896e-07_rb /) kbo(:,24,10) = (/ & & 0.36010e-07_rb,0.42155e-07_rb,0.32787e-07_rb,0.46750e-07_rb,0.46940e-07_rb /) kbo(:,25,10) = (/ & & 0.34802e-07_rb,0.41607e-07_rb,0.40854e-07_rb,0.61643e-07_rb,0.53762e-07_rb /) kbo(:,26,10) = (/ & & 0.41295e-07_rb,0.39697e-07_rb,0.46005e-07_rb,0.46334e-07_rb,0.53334e-07_rb /) kbo(:,27,10) = (/ & & 0.61711e-07_rb,0.29641e-07_rb,0.51823e-07_rb,0.42625e-07_rb,0.36336e-07_rb /) kbo(:,28,10) = (/ & & 0.45196e-07_rb,0.56637e-07_rb,0.31716e-07_rb,0.38569e-07_rb,0.45693e-07_rb /) kbo(:,29,10) = (/ & & 0.47349e-07_rb,0.38492e-07_rb,0.26330e-07_rb,0.30953e-07_rb,0.33330e-07_rb /) kbo(:,30,10) = (/ & & 0.20700e-07_rb,0.24999e-07_rb,0.19626e-07_rb,0.33645e-07_rb,0.21883e-07_rb /) kbo(:,31,10) = (/ & & 0.31879e-07_rb,0.26245e-07_rb,0.28697e-07_rb,0.26867e-07_rb,0.26801e-07_rb /) kbo(:,32,10) = (/ & & 0.29616e-07_rb,0.18927e-07_rb,0.18903e-07_rb,0.14917e-07_rb,0.25602e-07_rb /) kbo(:,33,10) = (/ & & 0.22437e-07_rb,0.26260e-07_rb,0.17262e-07_rb,0.13354e-07_rb,0.18413e-07_rb /) kbo(:,34,10) = (/ & & 0.15957e-07_rb,0.11226e-07_rb,0.16852e-07_rb,0.11987e-07_rb,0.14358e-07_rb /) kbo(:,35,10) = (/ & & 0.11233e-07_rb,0.90736e-08_rb,0.13960e-07_rb,0.76472e-08_rb,0.11733e-07_rb /) kbo(:,36,10) = (/ & & 0.13919e-07_rb,0.10081e-07_rb,0.10035e-07_rb,0.10345e-07_rb,0.10622e-07_rb /) kbo(:,37,10) = (/ & & 0.76780e-08_rb,0.12331e-07_rb,0.10794e-07_rb,0.16023e-07_rb,0.11524e-07_rb /) kbo(:,38,10) = (/ & & 0.65416e-08_rb,0.97484e-08_rb,0.12132e-07_rb,0.10472e-07_rb,0.11363e-07_rb /) kbo(:,39,10) = (/ & & 0.78511e-08_rb,0.70392e-08_rb,0.91444e-08_rb,0.84352e-08_rb,0.95946e-08_rb /) kbo(:,40,10) = (/ & & 0.81878e-08_rb,0.94957e-08_rb,0.84996e-08_rb,0.11246e-07_rb,0.13024e-07_rb /) kbo(:,41,10) = (/ & & 0.65901e-08_rb,0.80717e-08_rb,0.78357e-08_rb,0.67309e-08_rb,0.85966e-08_rb /) kbo(:,42,10) = (/ & & 0.64210e-08_rb,0.59979e-08_rb,0.56936e-08_rb,0.70018e-08_rb,0.70433e-08_rb /) kbo(:,43,10) = (/ & & 0.40388e-08_rb,0.71452e-08_rb,0.63548e-08_rb,0.84902e-08_rb,0.75828e-08_rb /) kbo(:,44,10) = (/ & & 0.39142e-08_rb,0.55915e-08_rb,0.49863e-08_rb,0.52254e-08_rb,0.62790e-08_rb /) kbo(:,45,10) = (/ & & 0.42931e-08_rb,0.31608e-08_rb,0.46572e-08_rb,0.47490e-08_rb,0.59912e-08_rb /) kbo(:,46,10) = (/ & & 0.38722e-08_rb,0.16146e-08_rb,0.40010e-08_rb,0.24242e-08_rb,0.45711e-08_rb /) kbo(:,47,10) = (/ & & 0.14942e-08_rb,0.28671e-08_rb,0.27168e-08_rb,0.40090e-08_rb,0.42343e-08_rb /) kbo(:,48,10) = (/ & & 0.11911e-08_rb,0.13582e-08_rb,0.26580e-08_rb,0.29275e-08_rb,0.17855e-08_rb /) kbo(:,49,10) = (/ & & 0.14130e-08_rb,0.10553e-08_rb,0.10543e-08_rb,0.11428e-08_rb,0.14141e-08_rb /) kbo(:,50,10) = (/ & & 0.12182e-08_rb,0.14973e-08_rb,0.13182e-08_rb,0.84197e-09_rb,0.12115e-08_rb /) kbo(:,51,10) = (/ & & 0.81227e-09_rb,0.90496e-09_rb,0.77903e-09_rb,0.83007e-09_rb,0.86051e-09_rb /) kbo(:,52,10) = (/ & & 0.96715e-09_rb,0.52504e-09_rb,0.42702e-09_rb,0.99435e-09_rb,0.91829e-09_rb /) kbo(:,53,10) = (/ & & 0.37232e-09_rb,0.22359e-09_rb,0.89279e-09_rb,0.85173e-09_rb,0.51790e-09_rb /) kbo(:,54,10) = (/ & & 0.34402e-09_rb,0.40116e-09_rb,0.54696e-09_rb,0.50848e-09_rb,0.53123e-09_rb /) kbo(:,55,10) = (/ & & 0.66100e-09_rb,0.65370e-09_rb,0.58427e-09_rb,0.74840e-09_rb,0.49778e-09_rb /) kbo(:,56,10) = (/ & & 0.43138e-09_rb,0.39155e-09_rb,0.52944e-09_rb,0.58374e-09_rb,0.77481e-09_rb /) kbo(:,57,10) = (/ & & 0.48190e-09_rb,0.37726e-09_rb,0.54783e-09_rb,0.43462e-09_rb,0.46295e-09_rb /) kbo(:,58,10) = (/ & & 0.42276e-09_rb,0.62831e-09_rb,0.68493e-09_rb,0.49089e-09_rb,0.43799e-09_rb /) kbo(:,59,10) = (/ & & 0.37023e-09_rb,0.90764e-09_rb,0.36527e-09_rb,0.99235e-09_rb,0.10719e-08_rb /) kbo(:,13,11) = (/ & & 0.15119e-04_rb,0.15135e-04_rb,0.15140e-04_rb,0.15181e-04_rb,0.15209e-04_rb /) kbo(:,14,11) = (/ & & 0.12807e-04_rb,0.12837e-04_rb,0.12873e-04_rb,0.12938e-04_rb,0.12999e-04_rb /) kbo(:,15,11) = (/ & & 0.10789e-04_rb,0.10839e-04_rb,0.10921e-04_rb,0.10986e-04_rb,0.11078e-04_rb /) kbo(:,16,11) = (/ & & 0.90472e-05_rb,0.91077e-05_rb,0.91930e-05_rb,0.92812e-05_rb,0.93959e-05_rb /) kbo(:,17,11) = (/ & & 0.74085e-05_rb,0.75116e-05_rb,0.76103e-05_rb,0.77238e-05_rb,0.78364e-05_rb /) kbo(:,18,11) = (/ & & 0.47863e-05_rb,0.49607e-05_rb,0.51634e-05_rb,0.53824e-05_rb,0.55724e-05_rb /) kbo(:,19,11) = (/ & & 0.17849e-05_rb,0.19797e-05_rb,0.21641e-05_rb,0.23597e-05_rb,0.26015e-05_rb /) kbo(:,20,11) = (/ & & 0.14011e-06_rb,0.26424e-06_rb,0.39902e-06_rb,0.56382e-06_rb,0.75666e-06_rb /) kbo(:,21,11) = (/ & & 0.32681e-07_rb,0.30855e-07_rb,0.23688e-07_rb,0.28954e-07_rb,0.30262e-07_rb /) kbo(:,22,11) = (/ & & 0.39000e-07_rb,0.34641e-07_rb,0.36220e-07_rb,0.29230e-07_rb,0.25365e-07_rb /) kbo(:,23,11) = (/ & & 0.39936e-07_rb,0.40586e-07_rb,0.26460e-07_rb,0.13886e-07_rb,0.18108e-07_rb /) kbo(:,24,11) = (/ & & 0.34546e-07_rb,0.30818e-07_rb,0.33243e-07_rb,0.31408e-07_rb,0.37755e-07_rb /) kbo(:,25,11) = (/ & & 0.36078e-07_rb,0.45586e-07_rb,0.18117e-07_rb,0.20176e-07_rb,0.46256e-07_rb /) kbo(:,26,11) = (/ & & 0.61382e-07_rb,0.31185e-07_rb,0.38578e-07_rb,0.18908e-07_rb,0.43919e-07_rb /) kbo(:,27,11) = (/ & & 0.37585e-07_rb,0.28323e-07_rb,0.45638e-07_rb,0.34261e-07_rb,0.26227e-07_rb /) kbo(:,28,11) = (/ & & 0.41226e-07_rb,0.24793e-07_rb,0.23296e-07_rb,0.20952e-07_rb,0.27899e-07_rb /) kbo(:,29,11) = (/ & & 0.21318e-07_rb,0.23768e-07_rb,0.39220e-07_rb,0.28896e-07_rb,0.15703e-07_rb /) kbo(:,30,11) = (/ & & 0.25522e-07_rb,0.29485e-07_rb,0.39326e-07_rb,0.29293e-07_rb,0.36529e-07_rb /) kbo(:,31,11) = (/ & & 0.14494e-07_rb,0.25417e-07_rb,0.13732e-07_rb,0.97827e-08_rb,0.20014e-07_rb /) kbo(:,32,11) = (/ & & 0.14101e-07_rb,0.26239e-07_rb,0.22312e-07_rb,0.10163e-07_rb,0.17547e-07_rb /) kbo(:,33,11) = (/ & & 0.17347e-07_rb,0.17261e-07_rb,0.13014e-07_rb,0.21130e-07_rb,0.31576e-08_rb /) kbo(:,34,11) = (/ & & 0.11923e-07_rb,0.13818e-07_rb,0.14692e-07_rb,0.14120e-07_rb,0.12000e-07_rb /) kbo(:,35,11) = (/ & & 0.86917e-08_rb,0.10083e-07_rb,0.11872e-07_rb,0.58578e-08_rb,0.13194e-07_rb /) kbo(:,36,11) = (/ & & 0.74538e-08_rb,0.94606e-08_rb,0.85633e-08_rb,0.15394e-07_rb,0.81997e-08_rb /) kbo(:,37,11) = (/ & & 0.59982e-08_rb,0.58805e-08_rb,0.92255e-08_rb,0.69472e-08_rb,0.63632e-08_rb /) kbo(:,38,11) = (/ & & 0.75481e-08_rb,0.82094e-08_rb,0.10405e-07_rb,0.62921e-08_rb,0.70021e-08_rb /) kbo(:,39,11) = (/ & & 0.65770e-08_rb,0.73715e-08_rb,0.70899e-08_rb,0.49884e-08_rb,0.73567e-08_rb /) kbo(:,40,11) = (/ & & 0.62200e-08_rb,0.79227e-08_rb,0.65710e-08_rb,0.35793e-08_rb,0.48653e-08_rb /) kbo(:,41,11) = (/ & & 0.67810e-08_rb,0.64933e-08_rb,0.26651e-08_rb,0.71067e-08_rb,0.42136e-08_rb /) kbo(:,42,11) = (/ & & 0.32351e-08_rb,0.79993e-08_rb,0.25727e-08_rb,0.70581e-08_rb,0.58932e-08_rb /) kbo(:,43,11) = (/ & & 0.54331e-08_rb,0.21653e-08_rb,0.69372e-08_rb,0.30142e-08_rb,0.23071e-07_rb /) kbo(:,44,11) = (/ & & 0.26834e-08_rb,0.43047e-08_rb,0.44246e-08_rb,0.29474e-08_rb,0.52315e-07_rb /) kbo(:,45,11) = (/ & & 0.22521e-08_rb,0.21920e-08_rb,0.35952e-08_rb,0.29799e-08_rb,0.81164e-07_rb /) kbo(:,46,11) = (/ & & 0.28580e-08_rb,0.12605e-08_rb,0.64390e-09_rb,0.24255e-07_rb,0.96879e-07_rb /) kbo(:,47,11) = (/ & & 0.13005e-08_rb,0.17967e-08_rb,0.21618e-08_rb,0.30225e-07_rb,0.10319e-06_rb /) kbo(:,48,11) = (/ & & 0.13676e-08_rb,0.96043e-09_rb,0.14275e-08_rb,0.39735e-07_rb,0.11261e-06_rb /) kbo(:,49,11) = (/ & & 0.79619e-09_rb,0.85338e-09_rb,0.14300e-08_rb,0.51821e-07_rb,0.12169e-06_rb /) kbo(:,50,11) = (/ & & 0.49284e-09_rb,0.21801e-09_rb,0.75017e-08_rb,0.50308e-07_rb,0.11953e-06_rb /) kbo(:,51,11) = (/ & & 0.51956e-09_rb,0.59927e-09_rb,0.87276e-08_rb,0.45028e-07_rb,0.11141e-06_rb /) kbo(:,52,11) = (/ & & 0.35814e-09_rb,0.78982e-09_rb,0.10205e-07_rb,0.45574e-07_rb,0.10332e-06_rb /) kbo(:,53,11) = (/ & & 0.69729e-09_rb,0.23757e-09_rb,0.11741e-07_rb,0.45086e-07_rb,0.98023e-07_rb /) kbo(:,54,11) = (/ & & 0.38203e-09_rb,0.28792e-09_rb,0.72239e-08_rb,0.35770e-07_rb,0.80771e-07_rb /) kbo(:,55,11) = (/ & & 0.33870e-09_rb,0.39698e-09_rb,0.15883e-08_rb,0.22568e-07_rb,0.61465e-07_rb /) kbo(:,56,11) = (/ & & 0.50424e-09_rb,0.25383e-09_rb,0.46226e-09_rb,0.12214e-07_rb,0.43776e-07_rb /) kbo(:,57,11) = (/ & & 0.18824e-09_rb,0.14340e-09_rb,0.96547e-10_rb,0.36771e-08_rb,0.28437e-07_rb /) kbo(:,58,11) = (/ & & 0.53960e-09_rb,0.71198e-09_rb,0.40290e-09_rb,0.38600e-09_rb,0.14449e-07_rb /) kbo(:,59,11) = (/ & & 0.64570e-09_rb,0.80856e-09_rb,0.54439e-09_rb,0.66021e-09_rb,0.28306e-09_rb /) kbo(:,13,12) = (/ & & 0.35137e-04_rb,0.35315e-04_rb,0.35473e-04_rb,0.35691e-04_rb,0.35953e-04_rb /) kbo(:,14,12) = (/ & & 0.30387e-04_rb,0.30535e-04_rb,0.30693e-04_rb,0.30906e-04_rb,0.31121e-04_rb /) kbo(:,15,12) = (/ & & 0.26404e-04_rb,0.26560e-04_rb,0.26776e-04_rb,0.26963e-04_rb,0.27157e-04_rb /) kbo(:,16,12) = (/ & & 0.22908e-04_rb,0.23161e-04_rb,0.23420e-04_rb,0.23636e-04_rb,0.23864e-04_rb /) kbo(:,17,12) = (/ & & 0.19849e-04_rb,0.20170e-04_rb,0.20453e-04_rb,0.20723e-04_rb,0.21011e-04_rb /) kbo(:,18,12) = (/ & & 0.17158e-04_rb,0.17516e-04_rb,0.17820e-04_rb,0.18149e-04_rb,0.18467e-04_rb /) kbo(:,19,12) = (/ & & 0.14706e-04_rb,0.15074e-04_rb,0.15426e-04_rb,0.15809e-04_rb,0.16128e-04_rb /) kbo(:,20,12) = (/ & & 0.12200e-04_rb,0.12654e-04_rb,0.13122e-04_rb,0.13561e-04_rb,0.13942e-04_rb /) kbo(:,21,12) = (/ & & 0.88744e-05_rb,0.95294e-05_rb,0.10194e-04_rb,0.10811e-04_rb,0.11447e-04_rb /) kbo(:,22,12) = (/ & & 0.63063e-05_rb,0.69160e-05_rb,0.75170e-05_rb,0.81696e-05_rb,0.87829e-05_rb /) kbo(:,23,12) = (/ & & 0.42549e-05_rb,0.48576e-05_rb,0.54224e-05_rb,0.60649e-05_rb,0.65852e-05_rb /) kbo(:,24,12) = (/ & & 0.26155e-05_rb,0.31537e-05_rb,0.36816e-05_rb,0.42795e-05_rb,0.47356e-05_rb /) kbo(:,25,12) = (/ & & 0.14576e-05_rb,0.18762e-05_rb,0.23875e-05_rb,0.29308e-05_rb,0.33846e-05_rb /) kbo(:,26,12) = (/ & & 0.67369e-06_rb,0.10096e-05_rb,0.14730e-05_rb,0.19592e-05_rb,0.24356e-05_rb /) kbo(:,27,12) = (/ & & 0.27240e-06_rb,0.59733e-06_rb,0.98553e-06_rb,0.13968e-05_rb,0.18466e-05_rb /) kbo(:,28,12) = (/ & & 0.81179e-07_rb,0.35063e-06_rb,0.74692e-06_rb,0.11081e-05_rb,0.15613e-05_rb /) kbo(:,29,12) = (/ & & 0.94800e-07_rb,0.40513e-06_rb,0.73547e-06_rb,0.10914e-05_rb,0.16188e-05_rb /) kbo(:,30,12) = (/ & & 0.19045e-06_rb,0.51192e-06_rb,0.80594e-06_rb,0.12694e-05_rb,0.16954e-05_rb /) kbo(:,31,12) = (/ & & 0.38493e-06_rb,0.71230e-06_rb,0.11392e-05_rb,0.15875e-05_rb,0.20565e-05_rb /) kbo(:,32,12) = (/ & & 0.61444e-06_rb,0.97779e-06_rb,0.14257e-05_rb,0.18883e-05_rb,0.26649e-05_rb /) kbo(:,33,12) = (/ & & 0.84230e-06_rb,0.12390e-05_rb,0.17304e-05_rb,0.23322e-05_rb,0.32859e-05_rb /) kbo(:,34,12) = (/ & & 0.10458e-05_rb,0.14709e-05_rb,0.19634e-05_rb,0.28004e-05_rb,0.37724e-05_rb /) kbo(:,35,12) = (/ & & 0.11901e-05_rb,0.16306e-05_rb,0.22411e-05_rb,0.31089e-05_rb,0.41007e-05_rb /) kbo(:,36,12) = (/ & & 0.12859e-05_rb,0.17604e-05_rb,0.24414e-05_rb,0.32964e-05_rb,0.43267e-05_rb /) kbo(:,37,12) = (/ & & 0.13015e-05_rb,0.17577e-05_rb,0.24562e-05_rb,0.33117e-05_rb,0.43238e-05_rb /) kbo(:,38,12) = (/ & & 0.13522e-05_rb,0.18247e-05_rb,0.25116e-05_rb,0.33483e-05_rb,0.43352e-05_rb /) kbo(:,39,12) = (/ & & 0.14322e-05_rb,0.19336e-05_rb,0.26107e-05_rb,0.34258e-05_rb,0.44158e-05_rb /) kbo(:,40,12) = (/ & & 0.14006e-05_rb,0.18728e-05_rb,0.25304e-05_rb,0.33179e-05_rb,0.42738e-05_rb /) kbo(:,41,12) = (/ & & 0.13551e-05_rb,0.18012e-05_rb,0.24357e-05_rb,0.32084e-05_rb,0.41141e-05_rb /) kbo(:,42,12) = (/ & & 0.13297e-05_rb,0.17512e-05_rb,0.23561e-05_rb,0.30946e-05_rb,0.39665e-05_rb /) kbo(:,43,12) = (/ & & 0.12687e-05_rb,0.16768e-05_rb,0.22464e-05_rb,0.29540e-05_rb,0.37527e-05_rb /) kbo(:,44,12) = (/ & & 0.12099e-05_rb,0.15968e-05_rb,0.21385e-05_rb,0.28006e-05_rb,0.35240e-05_rb /) kbo(:,45,12) = (/ & & 0.11534e-05_rb,0.15243e-05_rb,0.20279e-05_rb,0.26581e-05_rb,0.33062e-05_rb /) kbo(:,46,12) = (/ & & 0.10898e-05_rb,0.14434e-05_rb,0.19097e-05_rb,0.24739e-05_rb,0.30807e-05_rb /) kbo(:,47,12) = (/ & & 0.10111e-05_rb,0.13412e-05_rb,0.17607e-05_rb,0.22724e-05_rb,0.28391e-05_rb /) kbo(:,48,12) = (/ & & 0.92540e-06_rb,0.12447e-05_rb,0.16295e-05_rb,0.20863e-05_rb,0.26097e-05_rb /) kbo(:,49,12) = (/ & & 0.84684e-06_rb,0.11506e-05_rb,0.15141e-05_rb,0.19160e-05_rb,0.23957e-05_rb /) kbo(:,50,12) = (/ & & 0.76391e-06_rb,0.10519e-05_rb,0.13910e-05_rb,0.17635e-05_rb,0.22060e-05_rb /) kbo(:,51,12) = (/ & & 0.68139e-06_rb,0.95640e-06_rb,0.12771e-05_rb,0.16252e-05_rb,0.20363e-05_rb /) kbo(:,52,12) = (/ & & 0.60392e-06_rb,0.86706e-06_rb,0.11671e-05_rb,0.14940e-05_rb,0.18793e-05_rb /) kbo(:,53,12) = (/ & & 0.53856e-06_rb,0.78259e-06_rb,0.10620e-05_rb,0.13737e-05_rb,0.17330e-05_rb /) kbo(:,54,12) = (/ & & 0.46919e-06_rb,0.69589e-06_rb,0.96582e-06_rb,0.12666e-05_rb,0.16070e-05_rb /) kbo(:,55,12) = (/ & & 0.40013e-06_rb,0.61215e-06_rb,0.87450e-06_rb,0.11663e-05_rb,0.14929e-05_rb /) kbo(:,56,12) = (/ & & 0.33987e-06_rb,0.53286e-06_rb,0.78520e-06_rb,0.10697e-05_rb,0.13857e-05_rb /) kbo(:,57,12) = (/ & & 0.28415e-06_rb,0.45936e-06_rb,0.69784e-06_rb,0.97544e-06_rb,0.12829e-05_rb /) kbo(:,58,12) = (/ & & 0.23457e-06_rb,0.39019e-06_rb,0.61528e-06_rb,0.88439e-06_rb,0.11866e-05_rb /) kbo(:,59,12) = (/ & & 0.19576e-06_rb,0.34385e-06_rb,0.56055e-06_rb,0.82347e-06_rb,0.11274e-05_rb /) kbo(:,13,13) = (/ & & 0.12143e-03_rb,0.12308e-03_rb,0.12512e-03_rb,0.12699e-03_rb,0.12910e-03_rb /) kbo(:,14,13) = (/ & & 0.10385e-03_rb,0.10569e-03_rb,0.10770e-03_rb,0.10972e-03_rb,0.11214e-03_rb /) kbo(:,15,13) = (/ & & 0.88944e-04_rb,0.90837e-04_rb,0.92688e-04_rb,0.94910e-04_rb,0.97472e-04_rb /) kbo(:,16,13) = (/ & & 0.76542e-04_rb,0.78268e-04_rb,0.80179e-04_rb,0.82469e-04_rb,0.84734e-04_rb /) kbo(:,17,13) = (/ & & 0.66332e-04_rb,0.67885e-04_rb,0.69742e-04_rb,0.71831e-04_rb,0.74034e-04_rb /) kbo(:,18,13) = (/ & & 0.57811e-04_rb,0.59251e-04_rb,0.61096e-04_rb,0.62954e-04_rb,0.65175e-04_rb /) kbo(:,19,13) = (/ & & 0.50669e-04_rb,0.52124e-04_rb,0.53790e-04_rb,0.55608e-04_rb,0.57861e-04_rb /) kbo(:,20,13) = (/ & & 0.44810e-04_rb,0.46258e-04_rb,0.47774e-04_rb,0.49573e-04_rb,0.51715e-04_rb /) kbo(:,21,13) = (/ & & 0.40009e-04_rb,0.41361e-04_rb,0.42755e-04_rb,0.44560e-04_rb,0.46559e-04_rb /) kbo(:,22,13) = (/ & & 0.36116e-04_rb,0.37297e-04_rb,0.38718e-04_rb,0.40472e-04_rb,0.42441e-04_rb /) kbo(:,23,13) = (/ & & 0.32736e-04_rb,0.33861e-04_rb,0.35361e-04_rb,0.37075e-04_rb,0.39134e-04_rb /) kbo(:,24,13) = (/ & & 0.29883e-04_rb,0.31056e-04_rb,0.32552e-04_rb,0.34296e-04_rb,0.36499e-04_rb /) kbo(:,25,13) = (/ & & 0.27373e-04_rb,0.28693e-04_rb,0.30179e-04_rb,0.32033e-04_rb,0.34358e-04_rb /) kbo(:,26,13) = (/ & & 0.25273e-04_rb,0.26749e-04_rb,0.28306e-04_rb,0.30341e-04_rb,0.32793e-04_rb /) kbo(:,27,13) = (/ & & 0.23652e-04_rb,0.25175e-04_rb,0.26905e-04_rb,0.29145e-04_rb,0.31814e-04_rb /) kbo(:,28,13) = (/ & & 0.22453e-04_rb,0.24077e-04_rb,0.26031e-04_rb,0.28419e-04_rb,0.31259e-04_rb /) kbo(:,29,13) = (/ & & 0.21794e-04_rb,0.23553e-04_rb,0.25672e-04_rb,0.28266e-04_rb,0.31243e-04_rb /) kbo(:,30,13) = (/ & & 0.21501e-04_rb,0.23414e-04_rb,0.25687e-04_rb,0.28389e-04_rb,0.31547e-04_rb /) kbo(:,31,13) = (/ & & 0.21532e-04_rb,0.23577e-04_rb,0.25947e-04_rb,0.28793e-04_rb,0.32070e-04_rb /) kbo(:,32,13) = (/ & & 0.21702e-04_rb,0.23850e-04_rb,0.26365e-04_rb,0.29337e-04_rb,0.32730e-04_rb /) kbo(:,33,13) = (/ & & 0.21999e-04_rb,0.24243e-04_rb,0.26895e-04_rb,0.29970e-04_rb,0.33492e-04_rb /) kbo(:,34,13) = (/ & & 0.22272e-04_rb,0.24615e-04_rb,0.27365e-04_rb,0.30535e-04_rb,0.34149e-04_rb /) kbo(:,35,13) = (/ & & 0.22408e-04_rb,0.24786e-04_rb,0.27609e-04_rb,0.30838e-04_rb,0.34518e-04_rb /) kbo(:,36,13) = (/ & & 0.22324e-04_rb,0.24717e-04_rb,0.27535e-04_rb,0.30781e-04_rb,0.34466e-04_rb /) kbo(:,37,13) = (/ & & 0.21914e-04_rb,0.24278e-04_rb,0.27037e-04_rb,0.30223e-04_rb,0.33847e-04_rb /) kbo(:,38,13) = (/ & & 0.21518e-04_rb,0.23846e-04_rb,0.26529e-04_rb,0.29664e-04_rb,0.33219e-04_rb /) kbo(:,39,13) = (/ & & 0.21138e-04_rb,0.23443e-04_rb,0.26064e-04_rb,0.29132e-04_rb,0.32628e-04_rb /) kbo(:,40,13) = (/ & & 0.20535e-04_rb,0.22813e-04_rb,0.25328e-04_rb,0.28289e-04_rb,0.31682e-04_rb /) kbo(:,41,13) = (/ & & 0.19918e-04_rb,0.22174e-04_rb,0.24598e-04_rb,0.27447e-04_rb,0.30722e-04_rb /) kbo(:,42,13) = (/ & & 0.19309e-04_rb,0.21550e-04_rb,0.23909e-04_rb,0.26639e-04_rb,0.29801e-04_rb /) kbo(:,43,13) = (/ & & 0.18566e-04_rb,0.20812e-04_rb,0.23112e-04_rb,0.25700e-04_rb,0.28732e-04_rb /) kbo(:,44,13) = (/ & & 0.17767e-04_rb,0.20035e-04_rb,0.22299e-04_rb,0.24756e-04_rb,0.27639e-04_rb /) kbo(:,45,13) = (/ & & 0.16962e-04_rb,0.19260e-04_rb,0.21500e-04_rb,0.23864e-04_rb,0.26597e-04_rb /) kbo(:,46,13) = (/ & & 0.16086e-04_rb,0.18421e-04_rb,0.20671e-04_rb,0.22972e-04_rb,0.25545e-04_rb /) kbo(:,47,13) = (/ & & 0.15115e-04_rb,0.17481e-04_rb,0.19766e-04_rb,0.22019e-04_rb,0.24442e-04_rb /) kbo(:,48,13) = (/ & & 0.14158e-04_rb,0.16526e-04_rb,0.18843e-04_rb,0.21088e-04_rb,0.23419e-04_rb /) kbo(:,49,13) = (/ & & 0.13195e-04_rb,0.15552e-04_rb,0.17911e-04_rb,0.20179e-04_rb,0.22454e-04_rb /) kbo(:,50,13) = (/ & & 0.12314e-04_rb,0.14653e-04_rb,0.17032e-04_rb,0.19326e-04_rb,0.21576e-04_rb /) kbo(:,51,13) = (/ & & 0.11480e-04_rb,0.13788e-04_rb,0.16154e-04_rb,0.18484e-04_rb,0.20739e-04_rb /) kbo(:,52,13) = (/ & & 0.10629e-04_rb,0.12922e-04_rb,0.15279e-04_rb,0.17642e-04_rb,0.19921e-04_rb /) kbo(:,53,13) = (/ & & 0.97710e-05_rb,0.12082e-04_rb,0.14410e-04_rb,0.16788e-04_rb,0.19091e-04_rb /) kbo(:,54,13) = (/ & & 0.90074e-05_rb,0.11316e-04_rb,0.13617e-04_rb,0.15981e-04_rb,0.18321e-04_rb /) kbo(:,55,13) = (/ & & 0.83042e-05_rb,0.10569e-04_rb,0.12859e-04_rb,0.15214e-04_rb,0.17581e-04_rb /) kbo(:,56,13) = (/ & & 0.76202e-05_rb,0.98296e-05_rb,0.12125e-04_rb,0.14457e-04_rb,0.16835e-04_rb /) kbo(:,57,13) = (/ & & 0.69561e-05_rb,0.91024e-05_rb,0.11398e-04_rb,0.13700e-04_rb,0.16068e-04_rb /) kbo(:,58,13) = (/ & & 0.63426e-05_rb,0.84347e-05_rb,0.10695e-04_rb,0.12984e-04_rb,0.15340e-04_rb /) kbo(:,59,13) = (/ & & 0.61056e-05_rb,0.81719e-05_rb,0.10410e-04_rb,0.12698e-04_rb,0.15054e-04_rb /) kbo(:,13,14) = (/ & & 0.69692e-03_rb,0.71516e-03_rb,0.73378e-03_rb,0.75443e-03_rb,0.77716e-03_rb /) kbo(:,14,14) = (/ & & 0.64436e-03_rb,0.66211e-03_rb,0.68199e-03_rb,0.70460e-03_rb,0.72891e-03_rb /) kbo(:,15,14) = (/ & & 0.59775e-03_rb,0.61618e-03_rb,0.63785e-03_rb,0.66198e-03_rb,0.68803e-03_rb /) kbo(:,16,14) = (/ & & 0.55668e-03_rb,0.57752e-03_rb,0.60052e-03_rb,0.62615e-03_rb,0.65391e-03_rb /) kbo(:,17,14) = (/ & & 0.52104e-03_rb,0.54458e-03_rb,0.56934e-03_rb,0.59627e-03_rb,0.62539e-03_rb /) kbo(:,18,14) = (/ & & 0.49086e-03_rb,0.51685e-03_rb,0.54337e-03_rb,0.57147e-03_rb,0.60182e-03_rb /) kbo(:,19,14) = (/ & & 0.46544e-03_rb,0.49373e-03_rb,0.52192e-03_rb,0.55124e-03_rb,0.58277e-03_rb /) kbo(:,20,14) = (/ & & 0.44496e-03_rb,0.47526e-03_rb,0.50494e-03_rb,0.53564e-03_rb,0.56857e-03_rb /) kbo(:,21,14) = (/ & & 0.42855e-03_rb,0.46070e-03_rb,0.49202e-03_rb,0.52375e-03_rb,0.55795e-03_rb /) kbo(:,22,14) = (/ & & 0.41783e-03_rb,0.45160e-03_rb,0.48421e-03_rb,0.51739e-03_rb,0.55269e-03_rb /) kbo(:,23,14) = (/ & & 0.41085e-03_rb,0.44564e-03_rb,0.47947e-03_rb,0.51389e-03_rb,0.55016e-03_rb /) kbo(:,24,14) = (/ & & 0.40699e-03_rb,0.44263e-03_rb,0.47766e-03_rb,0.51290e-03_rb,0.55008e-03_rb /) kbo(:,25,14) = (/ & & 0.40592e-03_rb,0.44215e-03_rb,0.47812e-03_rb,0.51419e-03_rb,0.55216e-03_rb /) kbo(:,26,14) = (/ & & 0.40741e-03_rb,0.44425e-03_rb,0.48085e-03_rb,0.51770e-03_rb,0.55654e-03_rb /) kbo(:,27,14) = (/ & & 0.41074e-03_rb,0.44811e-03_rb,0.48506e-03_rb,0.52264e-03_rb,0.56211e-03_rb /) kbo(:,28,14) = (/ & & 0.41538e-03_rb,0.45333e-03_rb,0.49042e-03_rb,0.52868e-03_rb,0.56877e-03_rb /) kbo(:,29,14) = (/ & & 0.42139e-03_rb,0.45956e-03_rb,0.49700e-03_rb,0.53588e-03_rb,0.57647e-03_rb /) kbo(:,30,14) = (/ & & 0.42836e-03_rb,0.46659e-03_rb,0.50435e-03_rb,0.54377e-03_rb,0.58489e-03_rb /) kbo(:,31,14) = (/ & & 0.43618e-03_rb,0.47431e-03_rb,0.51248e-03_rb,0.55256e-03_rb,0.59401e-03_rb /) kbo(:,32,14) = (/ & & 0.44466e-03_rb,0.48256e-03_rb,0.52138e-03_rb,0.56187e-03_rb,0.60364e-03_rb /) kbo(:,33,14) = (/ & & 0.45349e-03_rb,0.49137e-03_rb,0.53076e-03_rb,0.57166e-03_rb,0.61359e-03_rb /) kbo(:,34,14) = (/ & & 0.46108e-03_rb,0.49922e-03_rb,0.53902e-03_rb,0.58028e-03_rb,0.62237e-03_rb /) kbo(:,35,14) = (/ & & 0.46528e-03_rb,0.50354e-03_rb,0.54368e-03_rb,0.58501e-03_rb,0.62724e-03_rb /) kbo(:,36,14) = (/ & & 0.46539e-03_rb,0.50375e-03_rb,0.54391e-03_rb,0.58538e-03_rb,0.62763e-03_rb /) kbo(:,37,14) = (/ & & 0.45984e-03_rb,0.49817e-03_rb,0.53806e-03_rb,0.57948e-03_rb,0.62153e-03_rb /) kbo(:,38,14) = (/ & & 0.45408e-03_rb,0.49229e-03_rb,0.53205e-03_rb,0.57322e-03_rb,0.61533e-03_rb /) kbo(:,39,14) = (/ & & 0.44837e-03_rb,0.48652e-03_rb,0.52604e-03_rb,0.56712e-03_rb,0.60916e-03_rb /) kbo(:,40,14) = (/ & & 0.43865e-03_rb,0.47705e-03_rb,0.51607e-03_rb,0.55678e-03_rb,0.59870e-03_rb /) kbo(:,41,14) = (/ & & 0.42850e-03_rb,0.46708e-03_rb,0.50578e-03_rb,0.54611e-03_rb,0.58790e-03_rb /) kbo(:,42,14) = (/ & & 0.41832e-03_rb,0.45718e-03_rb,0.49552e-03_rb,0.53551e-03_rb,0.57688e-03_rb /) kbo(:,43,14) = (/ & & 0.40611e-03_rb,0.44501e-03_rb,0.48328e-03_rb,0.52271e-03_rb,0.56375e-03_rb /) kbo(:,44,14) = (/ & & 0.39281e-03_rb,0.43169e-03_rb,0.47025e-03_rb,0.50904e-03_rb,0.54960e-03_rb /) kbo(:,45,14) = (/ & & 0.37939e-03_rb,0.41841e-03_rb,0.45722e-03_rb,0.49565e-03_rb,0.53564e-03_rb /) kbo(:,46,14) = (/ & & 0.36481e-03_rb,0.40443e-03_rb,0.44334e-03_rb,0.48171e-03_rb,0.52104e-03_rb /) kbo(:,47,14) = (/ & & 0.34813e-03_rb,0.38867e-03_rb,0.42754e-03_rb,0.46626e-03_rb,0.50489e-03_rb /) kbo(:,48,14) = (/ & & 0.33101e-03_rb,0.37257e-03_rb,0.41188e-03_rb,0.45078e-03_rb,0.48906e-03_rb /) kbo(:,49,14) = (/ & & 0.31369e-03_rb,0.35613e-03_rb,0.39621e-03_rb,0.43508e-03_rb,0.47354e-03_rb /) kbo(:,50,14) = (/ & & 0.29739e-03_rb,0.34030e-03_rb,0.38132e-03_rb,0.42035e-03_rb,0.45918e-03_rb /) kbo(:,51,14) = (/ & & 0.28140e-03_rb,0.32461e-03_rb,0.36662e-03_rb,0.40619e-03_rb,0.44511e-03_rb /) kbo(:,52,14) = (/ & & 0.26563e-03_rb,0.30898e-03_rb,0.35161e-03_rb,0.39193e-03_rb,0.43080e-03_rb /) kbo(:,53,14) = (/ & & 0.24997e-03_rb,0.29311e-03_rb,0.33618e-03_rb,0.37741e-03_rb,0.41655e-03_rb /) kbo(:,54,14) = (/ & & 0.23534e-03_rb,0.27846e-03_rb,0.32175e-03_rb,0.36391e-03_rb,0.40359e-03_rb /) kbo(:,55,14) = (/ & & 0.22140e-03_rb,0.26468e-03_rb,0.30799e-03_rb,0.35062e-03_rb,0.39107e-03_rb /) kbo(:,56,14) = (/ & & 0.20748e-03_rb,0.25097e-03_rb,0.29409e-03_rb,0.33714e-03_rb,0.37835e-03_rb /) kbo(:,57,14) = (/ & & 0.19363e-03_rb,0.23702e-03_rb,0.28013e-03_rb,0.32339e-03_rb,0.36545e-03_rb /) kbo(:,58,14) = (/ & & 0.18066e-03_rb,0.22379e-03_rb,0.26710e-03_rb,0.31040e-03_rb,0.35295e-03_rb /) kbo(:,59,14) = (/ & & 0.17550e-03_rb,0.21855e-03_rb,0.26188e-03_rb,0.30515e-03_rb,0.34793e-03_rb /) kbo(:,13,15) = (/ & & 0.67077e-02_rb,0.67643e-02_rb,0.68102e-02_rb,0.68432e-02_rb,0.68617e-02_rb /) kbo(:,14,15) = (/ & & 0.68112e-02_rb,0.68842e-02_rb,0.69413e-02_rb,0.69806e-02_rb,0.70063e-02_rb /) kbo(:,15,15) = (/ & & 0.68961e-02_rb,0.69833e-02_rb,0.70488e-02_rb,0.70965e-02_rb,0.71269e-02_rb /) kbo(:,16,15) = (/ & & 0.69706e-02_rb,0.70648e-02_rb,0.71387e-02_rb,0.71925e-02_rb,0.72279e-02_rb /) kbo(:,17,15) = (/ & & 0.70342e-02_rb,0.71339e-02_rb,0.72130e-02_rb,0.72737e-02_rb,0.73138e-02_rb /) kbo(:,18,15) = (/ & & 0.70890e-02_rb,0.71933e-02_rb,0.72776e-02_rb,0.73426e-02_rb,0.73856e-02_rb /) kbo(:,19,15) = (/ & & 0.71380e-02_rb,0.72441e-02_rb,0.73326e-02_rb,0.74006e-02_rb,0.74464e-02_rb /) kbo(:,20,15) = (/ & & 0.71838e-02_rb,0.72907e-02_rb,0.73816e-02_rb,0.74514e-02_rb,0.74969e-02_rb /) kbo(:,21,15) = (/ & & 0.72239e-02_rb,0.73326e-02_rb,0.74235e-02_rb,0.74941e-02_rb,0.75405e-02_rb /) kbo(:,22,15) = (/ & & 0.72699e-02_rb,0.73767e-02_rb,0.74650e-02_rb,0.75340e-02_rb,0.75785e-02_rb /) kbo(:,23,15) = (/ & & 0.73111e-02_rb,0.74172e-02_rb,0.75033e-02_rb,0.75687e-02_rb,0.76113e-02_rb /) kbo(:,24,15) = (/ & & 0.73510e-02_rb,0.74537e-02_rb,0.75371e-02_rb,0.76008e-02_rb,0.76395e-02_rb /) kbo(:,25,15) = (/ & & 0.73875e-02_rb,0.74885e-02_rb,0.75684e-02_rb,0.76282e-02_rb,0.76634e-02_rb /) kbo(:,26,15) = (/ & & 0.74256e-02_rb,0.75226e-02_rb,0.75985e-02_rb,0.76530e-02_rb,0.76835e-02_rb /) kbo(:,27,15) = (/ & & 0.74605e-02_rb,0.75517e-02_rb,0.76248e-02_rb,0.76742e-02_rb,0.77008e-02_rb /) kbo(:,28,15) = (/ & & 0.74927e-02_rb,0.75800e-02_rb,0.76483e-02_rb,0.76927e-02_rb,0.77139e-02_rb /) kbo(:,29,15) = (/ & & 0.75244e-02_rb,0.76057e-02_rb,0.76690e-02_rb,0.77086e-02_rb,0.77249e-02_rb /) kbo(:,30,15) = (/ & & 0.75518e-02_rb,0.76303e-02_rb,0.76877e-02_rb,0.77209e-02_rb,0.77334e-02_rb /) kbo(:,31,15) = (/ & & 0.75781e-02_rb,0.76519e-02_rb,0.77036e-02_rb,0.77320e-02_rb,0.77395e-02_rb /) kbo(:,32,15) = (/ & & 0.76025e-02_rb,0.76727e-02_rb,0.77178e-02_rb,0.77409e-02_rb,0.77439e-02_rb /) kbo(:,33,15) = (/ & & 0.76266e-02_rb,0.76908e-02_rb,0.77289e-02_rb,0.77461e-02_rb,0.77464e-02_rb /) kbo(:,34,15) = (/ & & 0.76450e-02_rb,0.77038e-02_rb,0.77387e-02_rb,0.77507e-02_rb,0.77465e-02_rb /) kbo(:,35,15) = (/ & & 0.76558e-02_rb,0.77117e-02_rb,0.77433e-02_rb,0.77536e-02_rb,0.77475e-02_rb /) kbo(:,36,15) = (/ & & 0.76587e-02_rb,0.77150e-02_rb,0.77452e-02_rb,0.77564e-02_rb,0.77495e-02_rb /) kbo(:,37,15) = (/ & & 0.76522e-02_rb,0.77109e-02_rb,0.77439e-02_rb,0.77579e-02_rb,0.77534e-02_rb /) kbo(:,38,15) = (/ & & 0.76429e-02_rb,0.77056e-02_rb,0.77426e-02_rb,0.77582e-02_rb,0.77560e-02_rb /) kbo(:,39,15) = (/ & & 0.76339e-02_rb,0.76993e-02_rb,0.77402e-02_rb,0.77587e-02_rb,0.77588e-02_rb /) kbo(:,40,15) = (/ & & 0.76166e-02_rb,0.76865e-02_rb,0.77335e-02_rb,0.77564e-02_rb,0.77613e-02_rb /) kbo(:,41,15) = (/ & & 0.75961e-02_rb,0.76706e-02_rb,0.77239e-02_rb,0.77534e-02_rb,0.77621e-02_rb /) kbo(:,42,15) = (/ & & 0.75752e-02_rb,0.76537e-02_rb,0.77143e-02_rb,0.77487e-02_rb,0.77622e-02_rb /) kbo(:,43,15) = (/ & & 0.75459e-02_rb,0.76317e-02_rb,0.76988e-02_rb,0.77406e-02_rb,0.77602e-02_rb /) kbo(:,44,15) = (/ & & 0.75134e-02_rb,0.76061e-02_rb,0.76788e-02_rb,0.77299e-02_rb,0.77567e-02_rb /) kbo(:,45,15) = (/ & & 0.74772e-02_rb,0.75773e-02_rb,0.76562e-02_rb,0.77161e-02_rb,0.77502e-02_rb /) kbo(:,46,15) = (/ & & 0.74372e-02_rb,0.75438e-02_rb,0.76298e-02_rb,0.76975e-02_rb,0.77405e-02_rb /) kbo(:,47,15) = (/ & & 0.73875e-02_rb,0.75032e-02_rb,0.75980e-02_rb,0.76724e-02_rb,0.77261e-02_rb /) kbo(:,48,15) = (/ & & 0.73358e-02_rb,0.74597e-02_rb,0.75632e-02_rb,0.76453e-02_rb,0.77080e-02_rb /) kbo(:,49,15) = (/ & & 0.72811e-02_rb,0.74117e-02_rb,0.75238e-02_rb,0.76147e-02_rb,0.76865e-02_rb /) kbo(:,50,15) = (/ & & 0.72248e-02_rb,0.73656e-02_rb,0.74842e-02_rb,0.75831e-02_rb,0.76614e-02_rb /) kbo(:,51,15) = (/ & & 0.71662e-02_rb,0.73174e-02_rb,0.74427e-02_rb,0.75493e-02_rb,0.76342e-02_rb /) kbo(:,52,15) = (/ & & 0.71006e-02_rb,0.72655e-02_rb,0.73997e-02_rb,0.75133e-02_rb,0.76064e-02_rb /) kbo(:,53,15) = (/ & & 0.70300e-02_rb,0.72101e-02_rb,0.73531e-02_rb,0.74734e-02_rb,0.75745e-02_rb /) kbo(:,54,15) = (/ & & 0.69596e-02_rb,0.71548e-02_rb,0.73082e-02_rb,0.74357e-02_rb,0.75431e-02_rb /) kbo(:,55,15) = (/ & & 0.68873e-02_rb,0.70968e-02_rb,0.72620e-02_rb,0.73967e-02_rb,0.75110e-02_rb /) kbo(:,56,15) = (/ & & 0.68089e-02_rb,0.70345e-02_rb,0.72141e-02_rb,0.73575e-02_rb,0.74766e-02_rb /) kbo(:,57,15) = (/ & & 0.67241e-02_rb,0.69678e-02_rb,0.71623e-02_rb,0.73141e-02_rb,0.74401e-02_rb /) kbo(:,58,15) = (/ & & 0.66371e-02_rb,0.69009e-02_rb,0.71063e-02_rb,0.72699e-02_rb,0.74044e-02_rb /) kbo(:,59,15) = (/ & & 0.66009e-02_rb,0.68723e-02_rb,0.70852e-02_rb,0.72532e-02_rb,0.73888e-02_rb /) kbo(:,13,16) = (/ & & 0.20091e-01_rb,0.19310e-01_rb,0.18586e-01_rb,0.17917e-01_rb,0.17293e-01_rb /) kbo(:,14,16) = (/ & & 0.21405e-01_rb,0.20507e-01_rb,0.19679e-01_rb,0.18912e-01_rb,0.18201e-01_rb /) kbo(:,15,16) = (/ & & 0.22567e-01_rb,0.21555e-01_rb,0.20633e-01_rb,0.19775e-01_rb,0.18992e-01_rb /) kbo(:,16,16) = (/ & & 0.23562e-01_rb,0.22456e-01_rb,0.21445e-01_rb,0.20508e-01_rb,0.19661e-01_rb /) kbo(:,17,16) = (/ & & 0.24411e-01_rb,0.23217e-01_rb,0.22126e-01_rb,0.21126e-01_rb,0.20220e-01_rb /) kbo(:,18,16) = (/ & & 0.25116e-01_rb,0.23847e-01_rb,0.22688e-01_rb,0.21635e-01_rb,0.20680e-01_rb /) kbo(:,19,16) = (/ & & 0.25693e-01_rb,0.24361e-01_rb,0.23149e-01_rb,0.22047e-01_rb,0.21053e-01_rb /) kbo(:,20,16) = (/ & & 0.26126e-01_rb,0.24747e-01_rb,0.23489e-01_rb,0.22355e-01_rb,0.21332e-01_rb /) kbo(:,21,16) = (/ & & 0.26457e-01_rb,0.25034e-01_rb,0.23751e-01_rb,0.22588e-01_rb,0.21537e-01_rb /) kbo(:,22,16) = (/ & & 0.26586e-01_rb,0.25153e-01_rb,0.23857e-01_rb,0.22677e-01_rb,0.21621e-01_rb /) kbo(:,23,16) = (/ & & 0.26640e-01_rb,0.25191e-01_rb,0.23890e-01_rb,0.22706e-01_rb,0.21649e-01_rb /) kbo(:,24,16) = (/ & & 0.26616e-01_rb,0.25160e-01_rb,0.23861e-01_rb,0.22680e-01_rb,0.21622e-01_rb /) kbo(:,25,16) = (/ & & 0.26518e-01_rb,0.25075e-01_rb,0.23777e-01_rb,0.22603e-01_rb,0.21555e-01_rb /) kbo(:,26,16) = (/ & & 0.26348e-01_rb,0.24922e-01_rb,0.23637e-01_rb,0.22478e-01_rb,0.21437e-01_rb /) kbo(:,27,16) = (/ & & 0.26138e-01_rb,0.24737e-01_rb,0.23465e-01_rb,0.22328e-01_rb,0.21299e-01_rb /) kbo(:,28,16) = (/ & & 0.25904e-01_rb,0.24526e-01_rb,0.23272e-01_rb,0.22156e-01_rb,0.21140e-01_rb /) kbo(:,29,16) = (/ & & 0.25645e-01_rb,0.24289e-01_rb,0.23059e-01_rb,0.21960e-01_rb,0.20965e-01_rb /) kbo(:,30,16) = (/ & & 0.25364e-01_rb,0.24034e-01_rb,0.22831e-01_rb,0.21758e-01_rb,0.20776e-01_rb /) kbo(:,31,16) = (/ & & 0.25075e-01_rb,0.23766e-01_rb,0.22595e-01_rb,0.21541e-01_rb,0.20581e-01_rb /) kbo(:,32,16) = (/ & & 0.24769e-01_rb,0.23490e-01_rb,0.22348e-01_rb,0.21316e-01_rb,0.20377e-01_rb /) kbo(:,33,16) = (/ & & 0.24460e-01_rb,0.23211e-01_rb,0.22098e-01_rb,0.21090e-01_rb,0.20170e-01_rb /) kbo(:,34,16) = (/ & & 0.24193e-01_rb,0.22975e-01_rb,0.21887e-01_rb,0.20894e-01_rb,0.19994e-01_rb /) kbo(:,35,16) = (/ & & 0.24050e-01_rb,0.22849e-01_rb,0.21770e-01_rb,0.20789e-01_rb,0.19901e-01_rb /) kbo(:,36,16) = (/ & & 0.24043e-01_rb,0.22842e-01_rb,0.21764e-01_rb,0.20784e-01_rb,0.19894e-01_rb /) kbo(:,37,16) = (/ & & 0.24229e-01_rb,0.23006e-01_rb,0.21915e-01_rb,0.20918e-01_rb,0.20018e-01_rb /) kbo(:,38,16) = (/ & & 0.24421e-01_rb,0.23180e-01_rb,0.22070e-01_rb,0.21062e-01_rb,0.20144e-01_rb /) kbo(:,39,16) = (/ & & 0.24617e-01_rb,0.23352e-01_rb,0.22226e-01_rb,0.21205e-01_rb,0.20274e-01_rb /) kbo(:,40,16) = (/ & & 0.24953e-01_rb,0.23654e-01_rb,0.22496e-01_rb,0.21449e-01_rb,0.20495e-01_rb /) kbo(:,41,16) = (/ & & 0.25312e-01_rb,0.23980e-01_rb,0.22786e-01_rb,0.21712e-01_rb,0.20738e-01_rb /) kbo(:,42,16) = (/ & & 0.25679e-01_rb,0.24315e-01_rb,0.23082e-01_rb,0.21982e-01_rb,0.20981e-01_rb /) kbo(:,43,16) = (/ & & 0.26140e-01_rb,0.24730e-01_rb,0.23454e-01_rb,0.22317e-01_rb,0.21287e-01_rb /) kbo(:,44,16) = (/ & & 0.26653e-01_rb,0.25200e-01_rb,0.23871e-01_rb,0.22691e-01_rb,0.21628e-01_rb /) kbo(:,45,16) = (/ & & 0.27190e-01_rb,0.25674e-01_rb,0.24311e-01_rb,0.23078e-01_rb,0.21977e-01_rb /) kbo(:,46,16) = (/ & & 0.27783e-01_rb,0.26205e-01_rb,0.24787e-01_rb,0.23504e-01_rb,0.22362e-01_rb /) kbo(:,47,16) = (/ & & 0.28471e-01_rb,0.26819e-01_rb,0.25343e-01_rb,0.24006e-01_rb,0.22809e-01_rb /) kbo(:,48,16) = (/ & & 0.29185e-01_rb,0.27464e-01_rb,0.25918e-01_rb,0.24532e-01_rb,0.23275e-01_rb /) kbo(:,49,16) = (/ & & 0.29935e-01_rb,0.28138e-01_rb,0.26520e-01_rb,0.25074e-01_rb,0.23762e-01_rb /) kbo(:,50,16) = (/ & & 0.30661e-01_rb,0.28793e-01_rb,0.27111e-01_rb,0.25603e-01_rb,0.24243e-01_rb /) kbo(:,51,16) = (/ & & 0.31401e-01_rb,0.29455e-01_rb,0.27706e-01_rb,0.26135e-01_rb,0.24726e-01_rb /) kbo(:,52,16) = (/ & & 0.32182e-01_rb,0.30140e-01_rb,0.28322e-01_rb,0.26686e-01_rb,0.25224e-01_rb /) kbo(:,53,16) = (/ & & 0.33002e-01_rb,0.30856e-01_rb,0.28966e-01_rb,0.27268e-01_rb,0.25738e-01_rb /) kbo(:,54,16) = (/ & & 0.33792e-01_rb,0.31541e-01_rb,0.29577e-01_rb,0.27816e-01_rb,0.26234e-01_rb /) kbo(:,55,16) = (/ & & 0.34581e-01_rb,0.32233e-01_rb,0.30182e-01_rb,0.28363e-01_rb,0.26721e-01_rb /) kbo(:,56,16) = (/ & & 0.35416e-01_rb,0.32947e-01_rb,0.30807e-01_rb,0.28926e-01_rb,0.27227e-01_rb /) kbo(:,57,16) = (/ & & 0.36291e-01_rb,0.33701e-01_rb,0.31460e-01_rb,0.29510e-01_rb,0.27750e-01_rb /) kbo(:,58,16) = (/ & & 0.37161e-01_rb,0.34436e-01_rb,0.32106e-01_rb,0.30077e-01_rb,0.28264e-01_rb /) kbo(:,59,16) = (/ & & 0.37521e-01_rb,0.34750e-01_rb,0.32373e-01_rb,0.30309e-01_rb,0.28477e-01_rb /) ! ----------------------------------------------------------------- forrefo(:, 1) = (/ 0.515619e-08_rb, 0.131078e-06_rb, 0.349038e-06_rb /) forrefo(:, 2) = (/ 0.329605e-07_rb, 0.430497e-06_rb, 0.458569e-05_rb /) forrefo(:, 3) = (/ 0.188244e-06_rb, 0.792931e-06_rb, 0.267176e-05_rb /) forrefo(:, 4) = (/ 0.611237e-06_rb, 0.798868e-06_rb, 0.411583e-06_rb /) forrefo(:, 5) = (/ 0.111903e-05_rb, 0.914895e-06_rb, 0.444828e-06_rb /) forrefo(:, 6) = (/ 0.235399e-05_rb, 0.269099e-05_rb, 0.739855e-06_rb /) forrefo(:, 7) = (/ 0.400131e-05_rb, 0.378135e-05_rb, 0.231265e-06_rb /) forrefo(:, 8) = (/ 0.464257e-05_rb, 0.371927e-05_rb, 0.460611e-06_rb /) forrefo(:, 9) = (/ 0.476792e-05_rb, 0.311841e-05_rb, 0.934811e-06_rb /) forrefo(:,10) = (/ 0.555683e-05_rb, 0.238129e-05_rb, 0.400334e-07_rb /) forrefo(:,11) = (/ 0.569068e-05_rb, 0.196039e-05_rb, 0.374476e-07_rb /) forrefo(:,12) = (/ 0.554154e-05_rb, 0.131724e-05_rb, 0.399720e-07_rb /) forrefo(:,13) = (/ 0.462684e-05_rb, 0.238826e-07_rb, 0.325793e-07_rb /) forrefo(:,14) = (/ 0.808644e-06_rb, 0.105126e-11_rb, 0.148691e-07_rb /) forrefo(:,15) = (/ 0.865024e-12_rb, 0.822434e-12_rb, 0.825756e-12_rb /) forrefo(:,16) = (/ 0.945747e-12_rb, 0.802065e-12_rb, 0.724732e-12_rb /) ! ----------------------------------------------------------------- ! The array SELFREFO contains the coefficient of the water vapor ! self-continuum (including the energy term). The first index ! refers to temperature in 7.2 degree increments. For instance, ! JT = 1 refers to a temperature of 245.6, JT = 2 refers to 252.8, ! etc. The second index runs over the g-channel (1 to 16). selfrefo(:, 1) = (/ & & 0.637755e-05_rb, 0.403921e-05_rb, 0.255823e-05_rb, 0.162025e-05_rb, 0.102618e-05_rb, & & 0.649930e-06_rb, 0.411632e-06_rb, 0.260707e-06_rb, 0.165118e-06_rb, 0.104577e-06_rb /) selfrefo(:, 2) = (/ & & 0.180887e-04_rb, 0.108890e-04_rb, 0.655493e-05_rb, 0.394592e-05_rb, 0.237536e-05_rb, & & 0.142991e-05_rb, 0.860774e-06_rb, 0.518167e-06_rb, 0.311925e-06_rb, 0.187772e-06_rb /) selfrefo(:, 3) = (/ & & 0.212261e-04_rb, 0.150697e-04_rb, 0.106989e-04_rb, 0.759581e-05_rb, 0.539274e-05_rb, & & 0.382864e-05_rb, 0.271819e-05_rb, 0.192981e-05_rb, 0.137009e-05_rb, 0.972711e-06_rb /) selfrefo(:, 4) = (/ & & 0.132497e-04_rb, 0.118071e-04_rb, 0.105216e-04_rb, 0.937599e-05_rb, 0.835516e-05_rb, & & 0.744547e-05_rb, 0.663482e-05_rb, 0.591243e-05_rb, 0.526870e-05_rb, 0.469506e-05_rb /) selfrefo(:, 5) = (/ & & 0.124069e-04_rb, 0.120785e-04_rb, 0.117589e-04_rb, 0.114477e-04_rb, 0.111447e-04_rb, & & 0.108498e-04_rb, 0.105626e-04_rb, 0.102831e-04_rb, 0.100109e-04_rb, 0.974601e-05_rb /) selfrefo(:, 6) = (/ & & 0.411994e-04_rb, 0.372560e-04_rb, 0.336901e-04_rb, 0.304654e-04_rb, 0.275494e-04_rb, & & 0.249126e-04_rb, 0.225281e-04_rb, 0.203718e-04_rb, 0.184219e-04_rb, 0.166587e-04_rb /) selfrefo(:, 7) = (/ & & 0.537376e-04_rb, 0.501002e-04_rb, 0.467090e-04_rb, 0.435473e-04_rb, 0.405996e-04_rb, & & 0.378515e-04_rb, 0.352893e-04_rb, 0.329006e-04_rb, 0.306736e-04_rb, 0.285974e-04_rb /) selfrefo(:, 8) = (/ & & 0.494279e-04_rb, 0.475365e-04_rb, 0.457175e-04_rb, 0.439681e-04_rb, 0.422857e-04_rb, & & 0.406676e-04_rb, 0.391114e-04_rb, 0.376148e-04_rb, 0.361755e-04_rb, 0.347912e-04_rb /) selfrefo(:, 9) = (/ & & 0.377444e-04_rb, 0.378199e-04_rb, 0.378956e-04_rb, 0.379715e-04_rb, 0.380475e-04_rb, & & 0.381236e-04_rb, 0.381999e-04_rb, 0.382763e-04_rb, 0.383529e-04_rb, 0.384297e-04_rb /) selfrefo(:,10) = (/ & & 0.245916e-04_rb, 0.267183e-04_rb, 0.290289e-04_rb, 0.315394e-04_rb, 0.342669e-04_rb, & & 0.372304e-04_rb, 0.404501e-04_rb, 0.439483e-04_rb, 0.477490e-04_rb, 0.518784e-04_rb /) selfrefo(:,11) = (/ & & 0.186528e-04_rb, 0.211417e-04_rb, 0.239628e-04_rb, 0.271603e-04_rb, 0.307845e-04_rb, & & 0.348923e-04_rb, 0.395482e-04_rb, 0.448254e-04_rb, 0.508068e-04_rb, 0.575863e-04_rb /) selfrefo(:,12) = (/ & & 0.109896e-04_rb, 0.133794e-04_rb, 0.162890e-04_rb, 0.198312e-04_rb, 0.241438e-04_rb, & & 0.293942e-04_rb, 0.357864e-04_rb, 0.435686e-04_rb, 0.530432e-04_rb, 0.645781e-04_rb /) selfrefo(:,13) = (/ & & 0.183885e-06_rb, 0.391019e-06_rb, 0.831472e-06_rb, 0.176806e-05_rb, 0.375966e-05_rb, & & 0.799463e-05_rb, 0.170000e-04_rb, 0.361492e-04_rb, 0.768686e-04_rb, 0.163455e-03_rb /) selfrefo(:,14) = (/ & & 0.466057e-07_rb, 0.937419e-07_rb, 0.188551e-06_rb, 0.379248e-06_rb, 0.762813e-06_rb, & & 0.153431e-05_rb, 0.308608e-05_rb, 0.620729e-05_rb, 0.124852e-04_rb, 0.251126e-04_rb /) selfrefo(:,15) = (/ & & 0.248961e-06_rb, 0.216780e-06_rb, 0.188758e-06_rb, 0.164358e-06_rb, 0.143113e-06_rb, & & 0.124613e-06_rb, 0.108505e-06_rb, 0.944795e-07_rb, 0.822667e-07_rb, 0.716326e-07_rb /) selfrefo(:,16) = (/ & & 0.252246e-06_rb, 0.220335e-06_rb, 0.192462e-06_rb, 0.168114e-06_rb, 0.146847e-06_rb, & & 0.128270e-06_rb, 0.112043e-06_rb, 0.978688e-07_rb, 0.854878e-07_rb, 0.746731e-07_rb /) end subroutine sw_kgb24 ! ************************************************************************** subroutine sw_kgb25 ! ************************************************************************** use parkind, only : im => kind_im, rb => kind_rb use rrsw_kg25, only : kao, sfluxrefo, & raylo, abso3ao, abso3bo implicit none save ! Kurucz solar source function sfluxrefo(:) = (/ & & 42.6858_rb , 45.7720_rb, 44.9872_rb, 45.9662_rb , & & 46.5458_rb , 41.6926_rb, 32.2893_rb, 24.0928_rb , & & 16.7686_rb , 1.86048_rb, 1.54057_rb, 1.23503_rb , & & 0.915085_rb,0.590099_rb,0.218622_rb, 3.21287e-02_rb /) ! Rayleigh extinction coefficient at v = 2925 cm-1. raylo(:) = (/ & & 9.81132e-07_rb,8.25605e-07_rb,6.71302e-07_rb,5.53556e-07_rb, & & 3.97383e-07_rb,3.68206e-07_rb,4.42379e-07_rb,4.57799e-07_rb, & & 4.22683e-07_rb,3.87113e-07_rb,3.79810e-07_rb,3.63192e-07_rb, & & 3.51921e-07_rb,3.34231e-07_rb,3.34294e-07_rb,3.32673e-07_rb /) abso3ao(:) = (/ & & 2.32664e-02_rb,5.76154e-02_rb,0.125389_rb,0.250158_rb, & & 0.378756_rb ,0.402196_rb ,0.352026_rb,0.352036_rb, & & 0.386253_rb ,0.414598_rb ,0.420079_rb,0.435471_rb, & & 0.445487_rb ,0.459549_rb ,0.452920_rb,0.456838_rb /) abso3bo(:) = (/ & & 1.76917e-02_rb,4.64185e-02_rb,1.03640e-01_rb,0.189469_rb, & & 0.303858_rb ,0.400248_rb ,0.447357_rb ,0.470009_rb, & & 0.498673_rb ,0.515696_rb ,0.517053_rb ,0.517930_rb, & & 0.518345_rb ,0.524952_rb ,0.508244_rb ,0.468981_rb /) ! ------------------------------------------------------------------ ! The array KAO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels> ~100mb, temperatures, and binary ! species parameters (see taumol.f for definition). The first ! index in the array, JS, runs from 1 to 9, and corresponds to ! different values of the binary species parameter. For instance, ! JS=1 refers to dry air, JS = 2 corresponds to the paramter value 1/8, ! JS = 3 corresponds to the parameter value 2/8, etc. The second index ! in the array, JT, which runs from 1 to 5, corresponds to different ! temperatures. More specifically, JT = 3 means that the data are for ! the reference temperature TREF for this pressure level, JT = 2 refers ! to TREF-15, JT = 1 is for TREF-30, JT = 4 is for TREF+15, and JT = 5 ! is for TREF+30. The third index, JP, runs from 1 to 13 and refers ! to the JPth reference pressure level (see taumol.f for these levels ! in mb). The fourth index, IG, goes from 1 to 16, and indicates ! which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kao(:, 1, 1) = (/ & & 0.16461e-08_rb,0.16782e-08_rb,0.19339e-08_rb,0.17100e-08_rb,0.17045e-08_rb /) kao(:, 2, 1) = (/ & & 0.28759e-08_rb,0.29469e-08_rb,0.33789e-08_rb,0.34357e-08_rb,0.28833e-08_rb /) kao(:, 3, 1) = (/ & & 0.55148e-08_rb,0.54808e-08_rb,0.54190e-08_rb,0.68260e-08_rb,0.51972e-08_rb /) kao(:, 4, 1) = (/ & & 0.95336e-08_rb,0.94552e-08_rb,0.93001e-08_rb,0.90961e-08_rb,0.14451e-07_rb /) kao(:, 5, 1) = (/ & & 0.14930e-07_rb,0.14736e-07_rb,0.14432e-07_rb,0.14074e-07_rb,0.24102e-07_rb /) kao(:, 6, 1) = (/ & & 0.22770e-07_rb,0.22301e-07_rb,0.21778e-07_rb,0.21194e-07_rb,0.20569e-07_rb /) kao(:, 7, 1) = (/ & & 0.34699e-07_rb,0.33951e-07_rb,0.33124e-07_rb,0.32144e-07_rb,0.31220e-07_rb /) kao(:, 8, 1) = (/ & & 0.62339e-07_rb,0.60405e-07_rb,0.59548e-07_rb,0.58214e-07_rb,0.56977e-07_rb /) kao(:, 9, 1) = (/ & & 0.17411e-06_rb,0.17654e-06_rb,0.18315e-06_rb,0.18100e-06_rb,0.17839e-06_rb /) kao(:,10, 1) = (/ & & 0.23526e-06_rb,0.22729e-06_rb,0.21947e-06_rb,0.21188e-06_rb,0.20454e-06_rb /) kao(:,11, 1) = (/ & & 0.23535e-06_rb,0.22737e-06_rb,0.21956e-06_rb,0.21196e-06_rb,0.20461e-06_rb /) kao(:,12, 1) = (/ & & 0.23539e-06_rb,0.22740e-06_rb,0.21959e-06_rb,0.21199e-06_rb,0.20465e-06_rb /) kao(:,13, 1) = (/ & & 0.23543e-06_rb,0.22744e-06_rb,0.21962e-06_rb,0.21202e-06_rb,0.20467e-06_rb /) kao(:, 1, 2) = (/ & & 0.62912e-08_rb,0.61559e-08_rb,0.84640e-08_rb,0.59240e-08_rb,0.58217e-08_rb /) kao(:, 2, 2) = (/ & & 0.83749e-08_rb,0.80756e-08_rb,0.11623e-07_rb,0.11272e-07_rb,0.73636e-08_rb /) kao(:, 3, 2) = (/ & & 0.13304e-07_rb,0.12795e-07_rb,0.12343e-07_rb,0.21235e-07_rb,0.11577e-07_rb /) kao(:, 4, 2) = (/ & & 0.20704e-07_rb,0.19736e-07_rb,0.18900e-07_rb,0.18228e-07_rb,0.31601e-07_rb /) kao(:, 5, 2) = (/ & & 0.31149e-07_rb,0.29669e-07_rb,0.28318e-07_rb,0.27101e-07_rb,0.49649e-07_rb /) kao(:, 6, 2) = (/ & & 0.45713e-07_rb,0.43519e-07_rb,0.41488e-07_rb,0.39918e-07_rb,0.38291e-07_rb /) kao(:, 7, 2) = (/ & & 0.77265e-07_rb,0.73848e-07_rb,0.70437e-07_rb,0.67945e-07_rb,0.66127e-07_rb /) kao(:, 8, 2) = (/ & & 0.15754e-06_rb,0.15664e-06_rb,0.15378e-06_rb,0.15027e-06_rb,0.14633e-06_rb /) kao(:, 9, 2) = (/ & & 0.16439e-06_rb,0.14678e-06_rb,0.12610e-06_rb,0.11532e-06_rb,0.10591e-06_rb /) kao(:,10, 2) = (/ & & 0.14366e-06_rb,0.13506e-06_rb,0.12583e-06_rb,0.11774e-06_rb,0.11011e-06_rb /) kao(:,11, 2) = (/ & & 0.14521e-06_rb,0.13766e-06_rb,0.13072e-06_rb,0.12218e-06_rb,0.11400e-06_rb /) kao(:,12, 2) = (/ & & 0.14524e-06_rb,0.13769e-06_rb,0.13074e-06_rb,0.12241e-06_rb,0.11552e-06_rb /) kao(:,13, 2) = (/ & & 0.14525e-06_rb,0.13770e-06_rb,0.13075e-06_rb,0.12252e-06_rb,0.11553e-06_rb /) kao(:, 1, 3) = (/ & & 0.14060e-07_rb,0.13587e-07_rb,0.24644e-07_rb,0.12716e-07_rb,0.12367e-07_rb /) kao(:, 2, 3) = (/ & & 0.17055e-07_rb,0.16577e-07_rb,0.32443e-07_rb,0.31273e-07_rb,0.15381e-07_rb /) kao(:, 3, 3) = (/ & & 0.25414e-07_rb,0.24672e-07_rb,0.23874e-07_rb,0.47281e-07_rb,0.22346e-07_rb /) kao(:, 4, 3) = (/ & & 0.39536e-07_rb,0.38124e-07_rb,0.36836e-07_rb,0.35587e-07_rb,0.72260e-07_rb /) kao(:, 5, 3) = (/ & & 0.59488e-07_rb,0.57630e-07_rb,0.55623e-07_rb,0.53878e-07_rb,0.11230e-06_rb /) kao(:, 6, 3) = (/ & & 0.99996e-07_rb,0.96206e-07_rb,0.93184e-07_rb,0.90812e-07_rb,0.89206e-07_rb /) kao(:, 7, 3) = (/ & & 0.17678e-06_rb,0.17554e-06_rb,0.17358e-06_rb,0.17091e-06_rb,0.16830e-06_rb /) kao(:, 8, 3) = (/ & & 0.18672e-06_rb,0.17850e-06_rb,0.16967e-06_rb,0.16275e-06_rb,0.15875e-06_rb /) kao(:, 9, 3) = (/ & & 0.13558e-06_rb,0.13493e-06_rb,0.13633e-06_rb,0.13799e-06_rb,0.13932e-06_rb /) kao(:,10, 3) = (/ & & 0.18883e-06_rb,0.20452e-06_rb,0.22206e-06_rb,0.24347e-06_rb,0.26091e-06_rb /) kao(:,11, 3) = (/ & & 0.21296e-06_rb,0.23580e-06_rb,0.26439e-06_rb,0.30148e-06_rb,0.34942e-06_rb /) kao(:,12, 3) = (/ & & 0.22072e-06_rb,0.25535e-06_rb,0.28661e-06_rb,0.34814e-06_rb,0.39337e-06_rb /) kao(:,13, 3) = (/ & & 0.22515e-06_rb,0.26161e-06_rb,0.30833e-06_rb,0.36527e-06_rb,0.40123e-06_rb /) kao(:, 1, 4) = (/ & & 0.32735e-07_rb,0.31345e-07_rb,0.58846e-07_rb,0.28258e-07_rb,0.27022e-07_rb /) kao(:, 2, 4) = (/ & & 0.37754e-07_rb,0.36873e-07_rb,0.82776e-07_rb,0.80947e-07_rb,0.35190e-07_rb /) kao(:, 3, 4) = (/ & & 0.76368e-07_rb,0.75292e-07_rb,0.74075e-07_rb,0.10820e-06_rb,0.73183e-07_rb /) kao(:, 4, 4) = (/ & & 0.16392e-06_rb,0.16130e-06_rb,0.15926e-06_rb,0.15700e-06_rb,0.22041e-06_rb /) kao(:, 5, 4) = (/ & & 0.29704e-06_rb,0.28924e-06_rb,0.28301e-06_rb,0.27633e-06_rb,0.42284e-06_rb /) kao(:, 6, 4) = (/ & & 0.48466e-06_rb,0.47240e-06_rb,0.46143e-06_rb,0.45012e-06_rb,0.43867e-06_rb /) kao(:, 7, 4) = (/ & & 0.71637e-06_rb,0.69847e-06_rb,0.67384e-06_rb,0.65368e-06_rb,0.63375e-06_rb /) kao(:, 8, 4) = (/ & & 0.11904e-05_rb,0.11714e-05_rb,0.11524e-05_rb,0.11354e-05_rb,0.11172e-05_rb /) kao(:, 9, 4) = (/ & & 0.21976e-05_rb,0.21606e-05_rb,0.21332e-05_rb,0.20944e-05_rb,0.20536e-05_rb /) kao(:,10, 4) = (/ & & 0.21713e-05_rb,0.21144e-05_rb,0.20553e-05_rb,0.19901e-05_rb,0.19286e-05_rb /) kao(:,11, 4) = (/ & & 0.21443e-05_rb,0.20785e-05_rb,0.20048e-05_rb,0.19232e-05_rb,0.18295e-05_rb /) kao(:,12, 4) = (/ & & 0.21363e-05_rb,0.20578e-05_rb,0.19811e-05_rb,0.18729e-05_rb,0.17807e-05_rb /) kao(:,13, 4) = (/ & & 0.21319e-05_rb,0.20513e-05_rb,0.19580e-05_rb,0.18546e-05_rb,0.17725e-05_rb /) kao(:, 1, 5) = (/ & & 0.36050e-07_rb,0.36125e-07_rb,0.46253e-07_rb,0.37280e-07_rb,0.37359e-07_rb /) kao(:, 2, 5) = (/ & & 0.65102e-07_rb,0.64266e-07_rb,0.68896e-07_rb,0.65925e-07_rb,0.61190e-07_rb /) kao(:, 3, 5) = (/ & & 0.12173e-06_rb,0.11889e-06_rb,0.11625e-06_rb,0.17574e-06_rb,0.10921e-06_rb /) kao(:, 4, 5) = (/ & & 0.20555e-06_rb,0.19853e-06_rb,0.19068e-06_rb,0.18313e-06_rb,0.30241e-06_rb /) kao(:, 5, 5) = (/ & & 0.30900e-06_rb,0.29996e-06_rb,0.28857e-06_rb,0.27772e-06_rb,0.51631e-06_rb /) kao(:, 6, 5) = (/ & & 0.43774e-06_rb,0.42465e-06_rb,0.40920e-06_rb,0.39315e-06_rb,0.37901e-06_rb /) kao(:, 7, 5) = (/ & & 0.63869e-06_rb,0.61654e-06_rb,0.60324e-06_rb,0.58966e-06_rb,0.57948e-06_rb /) kao(:, 8, 5) = (/ & & 0.98362e-06_rb,0.96271e-06_rb,0.94180e-06_rb,0.92206e-06_rb,0.91105e-06_rb /) kao(:, 9, 5) = (/ & & 0.12061e-05_rb,0.11895e-05_rb,0.11564e-05_rb,0.11296e-05_rb,0.11110e-05_rb /) kao(:,10, 5) = (/ & & 0.12958e-05_rb,0.12694e-05_rb,0.12425e-05_rb,0.12153e-05_rb,0.11880e-05_rb /) kao(:,11, 5) = (/ & & 0.12962e-05_rb,0.12698e-05_rb,0.12429e-05_rb,0.12156e-05_rb,0.11883e-05_rb /) kao(:,12, 5) = (/ & & 0.12964e-05_rb,0.12701e-05_rb,0.12431e-05_rb,0.12158e-05_rb,0.11885e-05_rb /) kao(:,13, 5) = (/ & & 0.12966e-05_rb,0.12702e-05_rb,0.12433e-05_rb,0.12160e-05_rb,0.11886e-05_rb /) kao(:, 1, 6) = (/ & & 0.73925e-07_rb,0.70231e-07_rb,0.21454e-06_rb,0.63477e-07_rb,0.60912e-07_rb /) kao(:, 2, 6) = (/ & & 0.67794e-07_rb,0.65807e-07_rb,0.13854e-06_rb,0.13061e-06_rb,0.59361e-07_rb /) kao(:, 3, 6) = (/ & & 0.98353e-07_rb,0.95275e-07_rb,0.92426e-07_rb,0.15768e-06_rb,0.87986e-07_rb /) kao(:, 4, 6) = (/ & & 0.15855e-06_rb,0.15394e-06_rb,0.14948e-06_rb,0.14655e-06_rb,0.23172e-06_rb /) kao(:, 5, 6) = (/ & & 0.27764e-06_rb,0.26941e-06_rb,0.26299e-06_rb,0.25975e-06_rb,0.40526e-06_rb /) kao(:, 6, 6) = (/ & & 0.45469e-06_rb,0.44417e-06_rb,0.43276e-06_rb,0.42440e-06_rb,0.41489e-06_rb /) kao(:, 7, 6) = (/ & & 0.71540e-06_rb,0.71291e-06_rb,0.70656e-06_rb,0.69823e-06_rb,0.68342e-06_rb /) kao(:, 8, 6) = (/ & & 0.79651e-06_rb,0.79807e-06_rb,0.80621e-06_rb,0.80941e-06_rb,0.79835e-06_rb /) kao(:, 9, 6) = (/ & & 0.18716e-06_rb,0.16713e-06_rb,0.14725e-06_rb,0.13728e-06_rb,0.11763e-06_rb /) kao(:,10, 6) = (/ & & 0.92638e-07_rb,0.86207e-07_rb,0.80877e-07_rb,0.70432e-07_rb,0.64517e-07_rb /) kao(:,11, 6) = (/ & & 0.13396e-06_rb,0.12820e-06_rb,0.12387e-06_rb,0.10427e-06_rb,0.94091e-07_rb /) kao(:,12, 6) = (/ & & 0.14877e-06_rb,0.14827e-06_rb,0.14350e-06_rb,0.12154e-06_rb,0.10552e-06_rb /) kao(:,13, 6) = (/ & & 0.15437e-06_rb,0.15323e-06_rb,0.14992e-06_rb,0.12715e-06_rb,0.10933e-06_rb /) kao(:, 1, 7) = (/ & & 0.72717e-06_rb,0.70656e-06_rb,0.13933e-05_rb,0.66449e-06_rb,0.64269e-06_rb /) kao(:, 2, 7) = (/ & & 0.52595e-06_rb,0.50791e-06_rb,0.11171e-05_rb,0.10538e-05_rb,0.45644e-06_rb /) kao(:, 3, 7) = (/ & & 0.29919e-06_rb,0.29227e-06_rb,0.28284e-06_rb,0.65215e-06_rb,0.26347e-06_rb /) kao(:, 4, 7) = (/ & & 0.27961e-06_rb,0.27579e-06_rb,0.27068e-06_rb,0.26343e-06_rb,0.41265e-06_rb /) kao(:, 5, 7) = (/ & & 0.37031e-06_rb,0.36318e-06_rb,0.35475e-06_rb,0.34488e-06_rb,0.53740e-06_rb /) kao(:, 6, 7) = (/ & & 0.53195e-06_rb,0.52692e-06_rb,0.52224e-06_rb,0.51934e-06_rb,0.51146e-06_rb /) kao(:, 7, 7) = (/ & & 0.83043e-06_rb,0.84552e-06_rb,0.84833e-06_rb,0.82800e-06_rb,0.80930e-06_rb /) kao(:, 8, 7) = (/ & & 0.14910e-05_rb,0.15179e-05_rb,0.15248e-05_rb,0.15091e-05_rb,0.14853e-05_rb /) kao(:, 9, 7) = (/ & & 0.37340e-05_rb,0.37823e-05_rb,0.38311e-05_rb,0.38453e-05_rb,0.38567e-05_rb /) kao(:,10, 7) = (/ & & 0.86791e-05_rb,0.89697e-05_rb,0.92118e-05_rb,0.93991e-05_rb,0.95564e-05_rb /) kao(:,11, 7) = (/ & & 0.11878e-04_rb,0.12201e-04_rb,0.12588e-04_rb,0.12897e-04_rb,0.13151e-04_rb /) kao(:,12, 7) = (/ & & 0.13192e-04_rb,0.13732e-04_rb,0.14137e-04_rb,0.14465e-04_rb,0.14643e-04_rb /) kao(:,13, 7) = (/ & & 0.13716e-04_rb,0.14229e-04_rb,0.14617e-04_rb,0.14944e-04_rb,0.15182e-04_rb /) kao(:, 1, 8) = (/ & & 0.39538e-05_rb,0.38949e-05_rb,0.56188e-05_rb,0.37475e-05_rb,0.36648e-05_rb /) kao(:, 2, 8) = (/ & & 0.34231e-05_rb,0.33633e-05_rb,0.51877e-05_rb,0.50048e-05_rb,0.31425e-05_rb /) kao(:, 3, 8) = (/ & & 0.28073e-05_rb,0.27497e-05_rb,0.26875e-05_rb,0.44405e-05_rb,0.25492e-05_rb /) kao(:, 4, 8) = (/ & & 0.19229e-05_rb,0.18818e-05_rb,0.18382e-05_rb,0.17896e-05_rb,0.33073e-05_rb /) kao(:, 5, 8) = (/ & & 0.11453e-05_rb,0.11293e-05_rb,0.11095e-05_rb,0.10866e-05_rb,0.19344e-05_rb /) kao(:, 6, 8) = (/ & & 0.14565e-05_rb,0.14517e-05_rb,0.14369e-05_rb,0.14141e-05_rb,0.13944e-05_rb /) kao(:, 7, 8) = (/ & & 0.23228e-05_rb,0.22753e-05_rb,0.22395e-05_rb,0.22124e-05_rb,0.21731e-05_rb /) kao(:, 8, 8) = (/ & & 0.34877e-05_rb,0.34362e-05_rb,0.33796e-05_rb,0.33389e-05_rb,0.32924e-05_rb /) kao(:, 9, 8) = (/ & & 0.63448e-05_rb,0.63701e-05_rb,0.63619e-05_rb,0.62632e-05_rb,0.61645e-05_rb /) kao(:,10, 8) = (/ & & 0.12155e-04_rb,0.11880e-04_rb,0.11762e-04_rb,0.11759e-04_rb,0.11651e-04_rb /) kao(:,11, 8) = (/ & & 0.14093e-04_rb,0.13835e-04_rb,0.13547e-04_rb,0.13205e-04_rb,0.12690e-04_rb /) kao(:,12, 8) = (/ & & 0.14428e-04_rb,0.14056e-04_rb,0.13932e-04_rb,0.13396e-04_rb,0.12885e-04_rb /) kao(:,13, 8) = (/ & & 0.15229e-04_rb,0.14534e-04_rb,0.13849e-04_rb,0.13292e-04_rb,0.12704e-04_rb /) kao(:, 1, 9) = (/ & & 0.19250e-04_rb,0.19148e-04_rb,0.21702e-04_rb,0.18906e-04_rb,0.18761e-04_rb /) kao(:, 2, 9) = (/ & & 0.18132e-04_rb,0.18040e-04_rb,0.20884e-04_rb,0.20523e-04_rb,0.17656e-04_rb /) kao(:, 3, 9) = (/ & & 0.16928e-04_rb,0.16843e-04_rb,0.16742e-04_rb,0.19715e-04_rb,0.16470e-04_rb /) kao(:, 4, 9) = (/ & & 0.15526e-04_rb,0.15463e-04_rb,0.15377e-04_rb,0.15268e-04_rb,0.18367e-04_rb /) kao(:, 5, 9) = (/ & & 0.13545e-04_rb,0.13511e-04_rb,0.13455e-04_rb,0.13362e-04_rb,0.16722e-04_rb /) kao(:, 6, 9) = (/ & & 0.97183e-05_rb,0.97218e-05_rb,0.97084e-05_rb,0.96717e-05_rb,0.96030e-05_rb /) kao(:, 7, 9) = (/ & & 0.50307e-05_rb,0.50984e-05_rb,0.51628e-05_rb,0.52093e-05_rb,0.52354e-05_rb /) kao(:, 8, 9) = (/ & & 0.45837e-05_rb,0.45939e-05_rb,0.45938e-05_rb,0.45639e-05_rb,0.45109e-05_rb /) kao(:, 9, 9) = (/ & & 0.12254e-04_rb,0.12319e-04_rb,0.12397e-04_rb,0.12584e-04_rb,0.12620e-04_rb /) kao(:,10, 9) = (/ & & 0.21545e-04_rb,0.21836e-04_rb,0.21718e-04_rb,0.21511e-04_rb,0.21211e-04_rb /) kao(:,11, 9) = (/ & & 0.20079e-04_rb,0.19539e-04_rb,0.18859e-04_rb,0.18393e-04_rb,0.18181e-04_rb /) kao(:,12, 9) = (/ & & 0.17115e-04_rb,0.16357e-04_rb,0.15410e-04_rb,0.15220e-04_rb,0.15207e-04_rb /) kao(:,13, 9) = (/ & & 0.14935e-04_rb,0.14679e-04_rb,0.14593e-04_rb,0.14448e-04_rb,0.14436e-04_rb /) kao(:, 1,10) = (/ & & 0.53569e-04_rb,0.53042e-04_rb,0.55454e-04_rb,0.52098e-04_rb,0.51678e-04_rb /) kao(:, 2,10) = (/ & & 0.52196e-04_rb,0.51739e-04_rb,0.54777e-04_rb,0.54075e-04_rb,0.50624e-04_rb /) kao(:, 3,10) = (/ & & 0.50339e-04_rb,0.50046e-04_rb,0.49769e-04_rb,0.53168e-04_rb,0.49370e-04_rb /) kao(:, 4,10) = (/ & & 0.48505e-04_rb,0.48316e-04_rb,0.48143e-04_rb,0.47993e-04_rb,0.51621e-04_rb /) kao(:, 5,10) = (/ & & 0.46313e-04_rb,0.46267e-04_rb,0.46119e-04_rb,0.46064e-04_rb,0.50279e-04_rb /) kao(:, 6,10) = (/ & & 0.42662e-04_rb,0.42818e-04_rb,0.42935e-04_rb,0.43007e-04_rb,0.43099e-04_rb /) kao(:, 7,10) = (/ & & 0.35762e-04_rb,0.36149e-04_rb,0.36450e-04_rb,0.36639e-04_rb,0.36887e-04_rb /) kao(:, 8,10) = (/ & & 0.13516e-05_rb,0.18607e-05_rb,0.23061e-05_rb,0.27339e-05_rb,0.36516e-05_rb /) kao(:, 9,10) = (/ & & 0.36432e-05_rb,0.40739e-05_rb,0.43830e-05_rb,0.41136e-05_rb,0.43128e-05_rb /) kao(:,10,10) = (/ & & 0.62049e-05_rb,0.69116e-05_rb,0.73244e-05_rb,0.65087e-05_rb,0.78951e-05_rb /) kao(:,11,10) = (/ & & 0.32156e-05_rb,0.38834e-05_rb,0.41231e-05_rb,0.43386e-05_rb,0.43405e-05_rb /) kao(:,12,10) = (/ & & 0.22152e-05_rb,0.26754e-05_rb,0.31971e-05_rb,0.34911e-05_rb,0.37935e-05_rb /) kao(:,13,10) = (/ & & 0.19792e-05_rb,0.26543e-05_rb,0.31511e-05_rb,0.34597e-05_rb,0.40624e-05_rb /) kao(:, 1,11) = (/ & & 0.75384e-04_rb,0.75103e-04_rb,0.77406e-04_rb,0.74222e-04_rb,0.73734e-04_rb /) kao(:, 2,11) = (/ & & 0.75458e-04_rb,0.75244e-04_rb,0.77778e-04_rb,0.77018e-04_rb,0.73942e-04_rb /) kao(:, 3,11) = (/ & & 0.75023e-04_rb,0.74844e-04_rb,0.74477e-04_rb,0.77271e-04_rb,0.73633e-04_rb /) kao(:, 4,11) = (/ & & 0.73633e-04_rb,0.73539e-04_rb,0.73257e-04_rb,0.72934e-04_rb,0.76232e-04_rb /) kao(:, 5,11) = (/ & & 0.71348e-04_rb,0.71322e-04_rb,0.71227e-04_rb,0.71069e-04_rb,0.75258e-04_rb /) kao(:, 6,11) = (/ & & 0.67784e-04_rb,0.67873e-04_rb,0.67974e-04_rb,0.67924e-04_rb,0.67903e-04_rb /) kao(:, 7,11) = (/ & & 0.61855e-04_rb,0.61922e-04_rb,0.61973e-04_rb,0.62206e-04_rb,0.62496e-04_rb /) kao(:, 8,11) = (/ & & 0.36622e-04_rb,0.37413e-04_rb,0.38740e-04_rb,0.40550e-04_rb,0.41833e-04_rb /) kao(:, 9,11) = (/ & & 0.28544e-05_rb,0.28831e-05_rb,0.31445e-05_rb,0.32900e-05_rb,0.27967e-05_rb /) kao(:,10,11) = (/ & & 0.53755e-05_rb,0.42123e-05_rb,0.51154e-05_rb,0.63481e-05_rb,0.54219e-05_rb /) kao(:,11,11) = (/ & & 0.12605e-05_rb,0.14078e-05_rb,0.19167e-05_rb,0.23729e-05_rb,0.30161e-05_rb /) kao(:,12,11) = (/ & & 0.11370e-05_rb,0.91524e-06_rb,0.11150e-05_rb,0.14746e-05_rb,0.20128e-05_rb /) kao(:,13,11) = (/ & & 0.10511e-05_rb,0.10014e-05_rb,0.11405e-05_rb,0.13852e-05_rb,0.15576e-05_rb /) kao(:, 1,12) = (/ & & 0.11184e-03_rb,0.11117e-03_rb,0.11327e-03_rb,0.10989e-03_rb,0.10910e-03_rb /) kao(:, 2,12) = (/ & & 0.11379e-03_rb,0.11322e-03_rb,0.11555e-03_rb,0.11462e-03_rb,0.11135e-03_rb /) kao(:, 3,12) = (/ & & 0.11508e-03_rb,0.11459e-03_rb,0.11421e-03_rb,0.11671e-03_rb,0.11339e-03_rb /) kao(:, 4,12) = (/ & & 0.11596e-03_rb,0.11563e-03_rb,0.11538e-03_rb,0.11511e-03_rb,0.11770e-03_rb /) kao(:, 5,12) = (/ & & 0.11597e-03_rb,0.11581e-03_rb,0.11569e-03_rb,0.11553e-03_rb,0.11890e-03_rb /) kao(:, 6,12) = (/ & & 0.11443e-03_rb,0.11445e-03_rb,0.11443e-03_rb,0.11443e-03_rb,0.11438e-03_rb /) kao(:, 7,12) = (/ & & 0.10852e-03_rb,0.10888e-03_rb,0.10912e-03_rb,0.10934e-03_rb,0.10942e-03_rb /) kao(:, 8,12) = (/ & & 0.93194e-04_rb,0.94766e-04_rb,0.95355e-04_rb,0.95090e-04_rb,0.94926e-04_rb /) kao(:, 9,12) = (/ & & 0.11836e-05_rb,0.16115e-05_rb,0.12883e-05_rb,0.14202e-05_rb,0.16541e-05_rb /) kao(:,10,12) = (/ & & 0.18748e-05_rb,0.34401e-05_rb,0.39984e-05_rb,0.44576e-05_rb,0.33683e-05_rb /) kao(:,11,12) = (/ & & 0.29890e-06_rb,0.48741e-06_rb,0.66276e-06_rb,0.99698e-06_rb,0.19230e-05_rb /) kao(:,12,12) = (/ & & 0.15034e-06_rb,0.39966e-06_rb,0.56523e-06_rb,0.70494e-06_rb,0.10046e-05_rb /) kao(:,13,12) = (/ & & 0.15016e-06_rb,0.25751e-06_rb,0.48928e-06_rb,0.63534e-06_rb,0.93575e-06_rb /) kao(:, 1,13) = (/ & & 0.17305e-03_rb,0.17234e-03_rb,0.17389e-03_rb,0.17055e-03_rb,0.16974e-03_rb /) kao(:, 2,13) = (/ & & 0.18170e-03_rb,0.18075e-03_rb,0.18265e-03_rb,0.18138e-03_rb,0.17772e-03_rb /) kao(:, 3,13) = (/ & & 0.18990e-03_rb,0.18892e-03_rb,0.18776e-03_rb,0.18950e-03_rb,0.18494e-03_rb /) kao(:, 4,13) = (/ & & 0.19649e-03_rb,0.19552e-03_rb,0.19424e-03_rb,0.19281e-03_rb,0.19464e-03_rb /) kao(:, 5,13) = (/ & & 0.20197e-03_rb,0.20109e-03_rb,0.19993e-03_rb,0.19856e-03_rb,0.20092e-03_rb /) kao(:, 6,13) = (/ & & 0.20595e-03_rb,0.20549e-03_rb,0.20452e-03_rb,0.20331e-03_rb,0.20199e-03_rb /) kao(:, 7,13) = (/ & & 0.20703e-03_rb,0.20710e-03_rb,0.20649e-03_rb,0.20552e-03_rb,0.20428e-03_rb /) kao(:, 8,13) = (/ & & 0.19874e-03_rb,0.19767e-03_rb,0.19696e-03_rb,0.19655e-03_rb,0.19591e-03_rb /) kao(:, 9,13) = (/ & & 0.20434e-04_rb,0.23398e-04_rb,0.27400e-04_rb,0.32409e-04_rb,0.38451e-04_rb /) kao(:,10,13) = (/ & & 0.18617e-05_rb,0.99513e-06_rb,0.10554e-05_rb,0.16516e-05_rb,0.37792e-05_rb /) kao(:,11,13) = (/ & & 0.12517e-06_rb,0.29518e-06_rb,0.77058e-06_rb,0.11660e-05_rb,0.15349e-05_rb /) kao(:,12,13) = (/ & & 0.12734e-06_rb,0.36524e-06_rb,0.66699e-06_rb,0.10362e-05_rb,0.14158e-05_rb /) kao(:,13,13) = (/ & & 0.12431e-06_rb,0.39389e-06_rb,0.67331e-06_rb,0.10292e-05_rb,0.14448e-05_rb /) kao(:, 1,14) = (/ & & 0.29365e-03_rb,0.29046e-03_rb,0.29008e-03_rb,0.28509e-03_rb,0.28286e-03_rb /) kao(:, 2,14) = (/ & & 0.31990e-03_rb,0.31668e-03_rb,0.31617e-03_rb,0.31332e-03_rb,0.30885e-03_rb /) kao(:, 3,14) = (/ & & 0.34787e-03_rb,0.34432e-03_rb,0.34112e-03_rb,0.34052e-03_rb,0.33589e-03_rb /) kao(:, 4,14) = (/ & & 0.37401e-03_rb,0.37027e-03_rb,0.36696e-03_rb,0.36394e-03_rb,0.36355e-03_rb /) kao(:, 5,14) = (/ & & 0.39840e-03_rb,0.39446e-03_rb,0.39082e-03_rb,0.38763e-03_rb,0.38760e-03_rb /) kao(:, 6,14) = (/ & & 0.42165e-03_rb,0.41729e-03_rb,0.41335e-03_rb,0.41006e-03_rb,0.40721e-03_rb /) kao(:, 7,14) = (/ & & 0.44257e-03_rb,0.43782e-03_rb,0.43364e-03_rb,0.43014e-03_rb,0.42736e-03_rb /) kao(:, 8,14) = (/ & & 0.45299e-03_rb,0.44953e-03_rb,0.44586e-03_rb,0.44260e-03_rb,0.44006e-03_rb /) kao(:, 9,14) = (/ & & 0.40190e-03_rb,0.39751e-03_rb,0.39238e-03_rb,0.38812e-03_rb,0.38612e-03_rb /) kao(:,10,14) = (/ & & 0.64278e-05_rb,0.18248e-05_rb,0.16996e-05_rb,0.31086e-06_rb,0.16836e-06_rb /) kao(:,11,14) = (/ & & 0.14350e-05_rb,0.94778e-06_rb,0.41349e-06_rb,0.20817e-06_rb,0.20238e-06_rb /) kao(:,12,14) = (/ & & 0.16805e-05_rb,0.15323e-05_rb,0.62348e-06_rb,0.99743e-07_rb,0.12977e-06_rb /) kao(:,13,14) = (/ & & 0.16858e-05_rb,0.17103e-05_rb,0.80574e-06_rb,0.15825e-06_rb,0.15032e-06_rb /) kao(:, 1,15) = (/ & & 0.52181e-03_rb,0.51578e-03_rb,0.51251e-03_rb,0.50356e-03_rb,0.49731e-03_rb /) kao(:, 2,15) = (/ & & 0.59491e-03_rb,0.58822e-03_rb,0.58413e-03_rb,0.57646e-03_rb,0.56692e-03_rb /) kao(:, 3,15) = (/ & & 0.67653e-03_rb,0.66881e-03_rb,0.66126e-03_rb,0.65540e-03_rb,0.64461e-03_rb /) kao(:, 4,15) = (/ & & 0.76388e-03_rb,0.75456e-03_rb,0.74556e-03_rb,0.73649e-03_rb,0.72840e-03_rb /) kao(:, 5,15) = (/ & & 0.85507e-03_rb,0.84417e-03_rb,0.83378e-03_rb,0.82338e-03_rb,0.81349e-03_rb /) kao(:, 6,15) = (/ & & 0.95034e-03_rb,0.93798e-03_rb,0.92553e-03_rb,0.91287e-03_rb,0.89957e-03_rb /) kao(:, 7,15) = (/ & & 0.10496e-02_rb,0.10352e-02_rb,0.10206e-02_rb,0.10054e-02_rb,0.98958e-03_rb /) kao(:, 8,15) = (/ & & 0.11507e-02_rb,0.11337e-02_rb,0.11169e-02_rb,0.10991e-02_rb,0.10806e-02_rb /) kao(:, 9,15) = (/ & & 0.12408e-02_rb,0.12207e-02_rb,0.11996e-02_rb,0.11773e-02_rb,0.11531e-02_rb /) kao(:,10,15) = (/ & & 0.12042e-03_rb,0.11501e-03_rb,0.11424e-03_rb,0.11450e-03_rb,0.13219e-03_rb /) kao(:,11,15) = (/ & & 0.68914e-06_rb,0.83960e-06_rb,0.74591e-06_rb,0.18660e-05_rb,0.32503e-05_rb /) kao(:,12,15) = (/ & & 0.35963e-07_rb,0.46256e-06_rb,0.56223e-06_rb,0.98816e-06_rb,0.92366e-06_rb /) kao(:,13,15) = (/ & & 0.36605e-07_rb,0.56591e-06_rb,0.84008e-06_rb,0.86042e-06_rb,0.68452e-06_rb /) kao(:, 1,16) = (/ & & 0.76517e-03_rb,0.75944e-03_rb,0.76010e-03_rb,0.76100e-03_rb,0.76498e-03_rb /) kao(:, 2,16) = (/ & & 0.92375e-03_rb,0.91357e-03_rb,0.90997e-03_rb,0.90997e-03_rb,0.90993e-03_rb /) kao(:, 3,16) = (/ & & 0.11142e-02_rb,0.10974e-02_rb,0.10835e-02_rb,0.10789e-02_rb,0.10748e-02_rb /) kao(:, 4,16) = (/ & & 0.13278e-02_rb,0.13025e-02_rb,0.12802e-02_rb,0.12631e-02_rb,0.12539e-02_rb /) kao(:, 5,16) = (/ & & 0.15712e-02_rb,0.15343e-02_rb,0.15017e-02_rb,0.14713e-02_rb,0.14497e-02_rb /) kao(:, 6,16) = (/ & & 0.18525e-02_rb,0.17982e-02_rb,0.17525e-02_rb,0.17101e-02_rb,0.16714e-02_rb /) kao(:, 7,16) = (/ & & 0.21731e-02_rb,0.20986e-02_rb,0.20340e-02_rb,0.19757e-02_rb,0.19210e-02_rb /) kao(:, 8,16) = (/ & & 0.25325e-02_rb,0.24346e-02_rb,0.23473e-02_rb,0.22687e-02_rb,0.21950e-02_rb /) kao(:, 9,16) = (/ & & 0.29269e-02_rb,0.28006e-02_rb,0.26863e-02_rb,0.25805e-02_rb,0.24878e-02_rb /) kao(:,10,16) = (/ & & 0.29442e-02_rb,0.27008e-02_rb,0.23913e-02_rb,0.21437e-02_rb,0.18865e-02_rb /) kao(:,11,16) = (/ & & 0.23220e-05_rb,0.22310e-04_rb,0.48349e-04_rb,0.67183e-04_rb,0.88908e-04_rb /) kao(:,12,16) = (/ & & 0.22857e-05_rb,0.11848e-04_rb,0.42066e-04_rb,0.67613e-04_rb,0.86033e-04_rb /) kao(:,13,16) = (/ & & 0.22823e-05_rb,0.69105e-05_rb,0.36212e-04_rb,0.66247e-04_rb,0.85488e-04_rb /) end subroutine sw_kgb25 ! ************************************************************************** subroutine sw_kgb26 ! ************************************************************************** use parkind, only : im => kind_im, rb => kind_rb use rrsw_kg26, only : sfluxrefo, raylo implicit none save ! Kurucz solar source function sfluxrefo(:) = (/ & ! & 129.462_rb, 15*0._rb /) & 29.0079_rb, 28.4088_rb, 20.3099_rb, 13.0283_rb & &, 11.8619_rb, 9.95840_rb, 6.68696_rb, 5.38987_rb & &, 3.49829_rb, 0.407693_rb, 0.299027_rb, 0.236827_rb & &, 0.188502_rb, 0.163489_rb, 4.64335e-02_rb, 2.72662e-03_rb /) ! Rayleigh extinction coefficient at all v raylo(:) = (/ & & 1.21263e-06_rb,1.43428e-06_rb,1.67677e-06_rb,1.93255e-06_rb & &, 2.19177e-06_rb,2.44195e-06_rb,2.66926e-06_rb,2.85990e-06_rb & &, 3.00380e-06_rb,3.06996e-06_rb,3.08184e-06_rb,3.09172e-06_rb & &, 3.09938e-06_rb,3.10456e-06_rb,3.10727e-06_rb,3.10818e-06_rb /) end subroutine sw_kgb26 ! ************************************************************************** subroutine sw_kgb27 ! ************************************************************************** use parkind, only : im => kind_im, rb => kind_rb use rrsw_kg27, only : kao, kbo, sfluxrefo, raylo implicit none save ! Kurucz solar source function ! The following values were obtained using the "low resolution" ! version of the Kurucz solar source function. For unknown reasons, ! the total irradiance in this band differs from the corresponding ! total in the "high-resolution" version of the Kurucz function. ! Therefore, these values are scaled later by the factor SCALEKUR. sfluxrefo(:) = (/ & & 14.0526_rb , 11.4794_rb , 8.72590_rb , 5.56966_rb , & & 3.80927_rb , 1.57690_rb , 1.15099_rb , 1.10012_rb , & & 0.658212_rb , 5.86859e-02_rb, 5.56186e-02_rb, 4.68040e-02_rb, & & 3.64897e-02_rb, 3.58053e-02_rb, 1.38130e-02_rb, 1.90193e-03_rb /) ! Rayleigh extinction coefficient at v = 2925 cm-1. raylo(:) = (/ & & 3.44534e-06_rb,4.14480e-06_rb,4.95069e-06_rb,5.81204e-06_rb, & & 6.69748e-06_rb,7.56488e-06_rb,8.36344e-06_rb,9.04135e-06_rb, & & 9.58324e-06_rb,9.81542e-06_rb,9.75119e-06_rb,9.74533e-06_rb, & & 9.74139e-06_rb,9.73525e-06_rb,9.73577e-06_rb,9.73618e-06_rb /) ! ------------------------------------------------------------------ ! The array KAO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels> ~100mb, temperatures, and binary ! species parameters (see taumol.f for definition). The first ! index in the array, JS, runs from 1 to 9, and corresponds to ! different values of the binary species parameter. For instance, ! JS=1 refers to dry air, JS = 2 corresponds to the paramter value 1/8, ! JS = 3 corresponds to the parameter value 2/8, etc. The second index ! in the array, JT, which runs from 1 to 5, corresponds to different ! temperatures. More specifically, JT = 3 means that the data are for ! the reference temperature TREF for this pressure level, JT = 2 refers ! to TREF-15, JT = 1 is for TREF-30, JT = 4 is for TREF+15, and JT = 5 ! is for TREF+30. The third index, JP, runs from 1 to 13 and refers ! to the JPth reference pressure level (see taumol.f for these levels ! in mb). The fourth index, IG, goes from 1 to 16, and indicates ! which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kao(:, 1, 1) = (/ & & 0.22907e+00_rb,0.25625e+00_rb,0.28779e+00_rb,0.32376e+00_rb,0.36426e+00_rb /) kao(:, 2, 1) = (/ & & 0.21913e+00_rb,0.24445e+00_rb,0.27422e+00_rb,0.30832e+00_rb,0.34694e+00_rb /) kao(:, 3, 1) = (/ & & 0.20602e+00_rb,0.22864e+00_rb,0.25574e+00_rb,0.28721e+00_rb,0.32310e+00_rb /) kao(:, 4, 1) = (/ & & 0.19379e+00_rb,0.21352e+00_rb,0.23771e+00_rb,0.26643e+00_rb,0.29940e+00_rb /) kao(:, 5, 1) = (/ & & 0.18369e+00_rb,0.20061e+00_rb,0.22200e+00_rb,0.24786e+00_rb,0.27816e+00_rb /) kao(:, 6, 1) = (/ & & 0.17517e+00_rb,0.18920e+00_rb,0.20771e+00_rb,0.23069e+00_rb,0.25817e+00_rb /) kao(:, 7, 1) = (/ & & 0.16888e+00_rb,0.17988e+00_rb,0.19559e+00_rb,0.21577e+00_rb,0.24042e+00_rb /) kao(:, 8, 1) = (/ & & 0.16442e+00_rb,0.17273e+00_rb,0.18565e+00_rb,0.20315e+00_rb,0.22512e+00_rb /) kao(:, 9, 1) = (/ & & 0.16159e+00_rb,0.16738e+00_rb,0.17752e+00_rb,0.19242e+00_rb,0.21179e+00_rb /) kao(:,10, 1) = (/ & & 0.16037e+00_rb,0.16402e+00_rb,0.17204e+00_rb,0.18463e+00_rb,0.20183e+00_rb /) kao(:,11, 1) = (/ & & 0.16036e+00_rb,0.16399e+00_rb,0.17198e+00_rb,0.18455e+00_rb,0.20173e+00_rb /) kao(:,12, 1) = (/ & & 0.16036e+00_rb,0.16399e+00_rb,0.17198e+00_rb,0.18455e+00_rb,0.20173e+00_rb /) kao(:,13, 1) = (/ & & 0.16036e+00_rb,0.16399e+00_rb,0.17198e+00_rb,0.18455e+00_rb,0.20173e+00_rb /) kao(:, 1, 2) = (/ & & 0.20716e+01_rb,0.21925e+01_rb,0.23327e+01_rb,0.24921e+01_rb,0.26726e+01_rb /) kao(:, 2, 2) = (/ & & 0.20272e+01_rb,0.21401e+01_rb,0.22723e+01_rb,0.24238e+01_rb,0.25950e+01_rb /) kao(:, 3, 2) = (/ & & 0.19684e+01_rb,0.20697e+01_rb,0.21902e+01_rb,0.23301e+01_rb,0.24892e+01_rb /) kao(:, 4, 2) = (/ & & 0.19133e+01_rb,0.20021e+01_rb,0.21101e+01_rb,0.22375e+01_rb,0.23842e+01_rb /) kao(:, 5, 2) = (/ & & 0.18673e+01_rb,0.19441e+01_rb,0.20400e+01_rb,0.21553e+01_rb,0.22898e+01_rb /) kao(:, 6, 2) = (/ & & 0.18277e+01_rb,0.18925e+01_rb,0.19760e+01_rb,0.20788e+01_rb,0.22009e+01_rb /) kao(:, 7, 2) = (/ & & 0.17963e+01_rb,0.18497e+01_rb,0.19214e+01_rb,0.20121e+01_rb,0.21222e+01_rb /) kao(:, 8, 2) = (/ & & 0.17749e+01_rb,0.18156e+01_rb,0.18763e+01_rb,0.19555e+01_rb,0.20540e+01_rb /) kao(:, 9, 2) = (/ & & 0.17600e+01_rb,0.17885e+01_rb,0.18388e+01_rb,0.19071e+01_rb,0.19943e+01_rb /) kao(:,10, 2) = (/ & & 0.17526e+01_rb,0.17729e+01_rb,0.18121e+01_rb,0.18716e+01_rb,0.19496e+01_rb /) kao(:,11, 2) = (/ & & 0.17525e+01_rb,0.17727e+01_rb,0.18119e+01_rb,0.18712e+01_rb,0.19491e+01_rb /) kao(:,12, 2) = (/ & & 0.17525e+01_rb,0.17727e+01_rb,0.18119e+01_rb,0.18712e+01_rb,0.19491e+01_rb /) kao(:,13, 2) = (/ & & 0.17525e+01_rb,0.17727e+01_rb,0.18119e+01_rb,0.18712e+01_rb,0.19491e+01_rb /) kao(:, 1, 3) = (/ & & 0.12189e+02_rb,0.12619e+02_rb,0.13110e+02_rb,0.13663e+02_rb,0.14275e+02_rb /) kao(:, 2, 3) = (/ & & 0.12030e+02_rb,0.12434e+02_rb,0.12899e+02_rb,0.13427e+02_rb,0.14015e+02_rb /) kao(:, 3, 3) = (/ & & 0.11816e+02_rb,0.12183e+02_rb,0.12611e+02_rb,0.13101e+02_rb,0.13653e+02_rb /) kao(:, 4, 3) = (/ & & 0.11611e+02_rb,0.11938e+02_rb,0.12327e+02_rb,0.12777e+02_rb,0.13289e+02_rb /) kao(:, 5, 3) = (/ & & 0.11437e+02_rb,0.11726e+02_rb,0.12076e+02_rb,0.12488e+02_rb,0.12961e+02_rb /) kao(:, 6, 3) = (/ & & 0.11284e+02_rb,0.11533e+02_rb,0.11843e+02_rb,0.12215e+02_rb,0.12649e+02_rb /) kao(:, 7, 3) = (/ & & 0.11160e+02_rb,0.11370e+02_rb,0.11641e+02_rb,0.11975e+02_rb,0.12370e+02_rb /) kao(:, 8, 3) = (/ & & 0.11063e+02_rb,0.11237e+02_rb,0.11471e+02_rb,0.11768e+02_rb,0.12126e+02_rb /) kao(:, 9, 3) = (/ & & 0.10990e+02_rb,0.11129e+02_rb,0.11327e+02_rb,0.11588e+02_rb,0.11910e+02_rb /) kao(:,10, 3) = (/ & & 0.10945e+02_rb,0.11053e+02_rb,0.11223e+02_rb,0.11454e+02_rb,0.11746e+02_rb /) kao(:,11, 3) = (/ & & 0.10945e+02_rb,0.11052e+02_rb,0.11222e+02_rb,0.11452e+02_rb,0.11744e+02_rb /) kao(:,12, 3) = (/ & & 0.10945e+02_rb,0.11052e+02_rb,0.11222e+02_rb,0.11452e+02_rb,0.11744e+02_rb /) kao(:,13, 3) = (/ & & 0.10945e+02_rb,0.11052e+02_rb,0.11222e+02_rb,0.11452e+02_rb,0.11744e+02_rb /) kao(:, 1, 4) = (/ & & 0.55057e+02_rb,0.56143e+02_rb,0.57364e+02_rb,0.58719e+02_rb,0.60208e+02_rb /) kao(:, 2, 4) = (/ & & 0.54647e+02_rb,0.55677e+02_rb,0.56842e+02_rb,0.58142e+02_rb,0.59575e+02_rb /) kao(:, 3, 4) = (/ & & 0.54090e+02_rb,0.55039e+02_rb,0.56123e+02_rb,0.57342e+02_rb,0.58694e+02_rb /) kao(:, 4, 4) = (/ & & 0.53548e+02_rb,0.54410e+02_rb,0.55408e+02_rb,0.56539e+02_rb,0.57805e+02_rb /) kao(:, 5, 4) = (/ & & 0.53074e+02_rb,0.53853e+02_rb,0.54766e+02_rb,0.55813e+02_rb,0.56995e+02_rb /) kao(:, 6, 4) = (/ & & 0.52644e+02_rb,0.53336e+02_rb,0.54162e+02_rb,0.55123e+02_rb,0.56218e+02_rb /) kao(:, 7, 4) = (/ & & 0.52279e+02_rb,0.52887e+02_rb,0.53629e+02_rb,0.54505e+02_rb,0.55516e+02_rb /) kao(:, 8, 4) = (/ & & 0.51979e+02_rb,0.52507e+02_rb,0.53168e+02_rb,0.53965e+02_rb,0.54895e+02_rb /) kao(:, 9, 4) = (/ & & 0.51734e+02_rb,0.52183e+02_rb,0.52767e+02_rb,0.53485e+02_rb,0.54337e+02_rb /) kao(:,10, 4) = (/ & & 0.51565e+02_rb,0.51948e+02_rb,0.52467e+02_rb,0.53120e+02_rb,0.53907e+02_rb /) kao(:,11, 4) = (/ & & 0.51563e+02_rb,0.51946e+02_rb,0.52464e+02_rb,0.53116e+02_rb,0.53902e+02_rb /) kao(:,12, 4) = (/ & & 0.51563e+02_rb,0.51946e+02_rb,0.52464e+02_rb,0.53116e+02_rb,0.53902e+02_rb /) kao(:,13, 4) = (/ & & 0.51563e+02_rb,0.51946e+02_rb,0.52464e+02_rb,0.53116e+02_rb,0.53902e+02_rb /) kao(:, 1, 5) = (/ & & 0.17794e+03_rb,0.17973e+03_rb,0.18164e+03_rb,0.18366e+03_rb,0.18581e+03_rb /) kao(:, 2, 5) = (/ & & 0.17724e+03_rb,0.17898e+03_rb,0.18083e+03_rb,0.18281e+03_rb,0.18491e+03_rb /) kao(:, 3, 5) = (/ & & 0.17624e+03_rb,0.17791e+03_rb,0.17970e+03_rb,0.18160e+03_rb,0.18363e+03_rb /) kao(:, 4, 5) = (/ & & 0.17523e+03_rb,0.17682e+03_rb,0.17853e+03_rb,0.18036e+03_rb,0.18231e+03_rb /) kao(:, 5, 5) = (/ & & 0.17429e+03_rb,0.17581e+03_rb,0.17744e+03_rb,0.17920e+03_rb,0.18107e+03_rb /) kao(:, 6, 5) = (/ & & 0.17338e+03_rb,0.17482e+03_rb,0.17638e+03_rb,0.17805e+03_rb,0.17985e+03_rb /) kao(:, 7, 5) = (/ & & 0.17253e+03_rb,0.17390e+03_rb,0.17539e+03_rb,0.17699e+03_rb,0.17871e+03_rb /) kao(:, 8, 5) = (/ & & 0.17177e+03_rb,0.17307e+03_rb,0.17448e+03_rb,0.17601e+03_rb,0.17767e+03_rb /) kao(:, 9, 5) = (/ & & 0.17107e+03_rb,0.17230e+03_rb,0.17364e+03_rb,0.17511e+03_rb,0.17669e+03_rb /) kao(:,10, 5) = (/ & & 0.17052e+03_rb,0.17169e+03_rb,0.17298e+03_rb,0.17438e+03_rb,0.17591e+03_rb /) kao(:,11, 5) = (/ & & 0.17051e+03_rb,0.17168e+03_rb,0.17297e+03_rb,0.17437e+03_rb,0.17590e+03_rb /) kao(:,12, 5) = (/ & & 0.17051e+03_rb,0.17168e+03_rb,0.17297e+03_rb,0.17437e+03_rb,0.17590e+03_rb /) kao(:,13, 5) = (/ & & 0.17051e+03_rb,0.17168e+03_rb,0.17297e+03_rb,0.17437e+03_rb,0.17590e+03_rb /) kao(:, 1, 6) = (/ & & 0.37680e+05_rb,0.36801e+05_rb,0.36011e+05_rb,0.35298e+05_rb,0.34715e+05_rb /) kao(:, 2, 6) = (/ & & 0.39286e+03_rb,0.39463e+03_rb,0.39616e+03_rb,0.39748e+03_rb,0.39858e+03_rb /) kao(:, 3, 6) = (/ & & 0.39169e+03_rb,0.39359e+03_rb,0.39526e+03_rb,0.39671e+03_rb,0.39794e+03_rb /) kao(:, 4, 6) = (/ & & 0.39034e+03_rb,0.39239e+03_rb,0.39421e+03_rb,0.39580e+03_rb,0.39717e+03_rb /) kao(:, 5, 6) = (/ & & 0.38895e+03_rb,0.39113e+03_rb,0.39309e+03_rb,0.39483e+03_rb,0.39634e+03_rb /) kao(:, 6, 6) = (/ & & 0.38742e+03_rb,0.38975e+03_rb,0.39185e+03_rb,0.39373e+03_rb,0.39539e+03_rb /) kao(:, 7, 6) = (/ & & 0.38585e+03_rb,0.38832e+03_rb,0.39056e+03_rb,0.39258e+03_rb,0.39438e+03_rb /) kao(:, 8, 6) = (/ & & 0.38426e+03_rb,0.38686e+03_rb,0.38924e+03_rb,0.39140e+03_rb,0.39333e+03_rb /) kao(:, 9, 6) = (/ & & 0.38264e+03_rb,0.38538e+03_rb,0.38789e+03_rb,0.39017e+03_rb,0.39223e+03_rb /) kao(:,10, 6) = (/ & & 0.38123e+03_rb,0.38408e+03_rb,0.38670e+03_rb,0.38909e+03_rb,0.39126e+03_rb /) kao(:,11, 6) = (/ & & 0.38122e+03_rb,0.38406e+03_rb,0.38668e+03_rb,0.38908e+03_rb,0.39125e+03_rb /) kao(:,12, 6) = (/ & & 0.38122e+03_rb,0.38406e+03_rb,0.38668e+03_rb,0.38908e+03_rb,0.39125e+03_rb /) kao(:,13, 6) = (/ & & 0.38122e+03_rb,0.38406e+03_rb,0.38668e+03_rb,0.38908e+03_rb,0.39125e+03_rb /) kao(:, 1, 7) = (/ & & 0.18202e+07_rb,0.17771e+07_rb,0.17382e+07_rb,0.17034e+07_rb,0.16716e+07_rb /) kao(:, 2, 7) = (/ & & 0.63027e+03_rb,0.63194e+03_rb,0.63388e+03_rb,0.63607e+03_rb,0.63849e+03_rb /) kao(:, 3, 7) = (/ & & 0.62938e+03_rb,0.63090e+03_rb,0.63268e+03_rb,0.63472e+03_rb,0.63701e+03_rb /) kao(:, 4, 7) = (/ & & 0.62853e+03_rb,0.62989e+03_rb,0.63150e+03_rb,0.63337e+03_rb,0.63550e+03_rb /) kao(:, 5, 7) = (/ & & 0.62781e+03_rb,0.62901e+03_rb,0.63046e+03_rb,0.63217e+03_rb,0.63413e+03_rb /) kao(:, 6, 7) = (/ & & 0.62717e+03_rb,0.62821e+03_rb,0.62950e+03_rb,0.63104e+03_rb,0.63283e+03_rb /) kao(:, 7, 7) = (/ & & 0.62666e+03_rb,0.62753e+03_rb,0.62867e+03_rb,0.63005e+03_rb,0.63168e+03_rb /) kao(:, 8, 7) = (/ & & 0.62627e+03_rb,0.62698e+03_rb,0.62795e+03_rb,0.62919e+03_rb,0.63067e+03_rb /) kao(:, 9, 7) = (/ & & 0.62600e+03_rb,0.62653e+03_rb,0.62735e+03_rb,0.62844e+03_rb,0.62978e+03_rb /) kao(:,10, 7) = (/ & & 0.62583e+03_rb,0.62624e+03_rb,0.62692e+03_rb,0.62788e+03_rb,0.62910e+03_rb /) kao(:,11, 7) = (/ & & 0.62583e+03_rb,0.62623e+03_rb,0.62691e+03_rb,0.62787e+03_rb,0.62909e+03_rb /) kao(:,12, 7) = (/ & & 0.62583e+03_rb,0.62623e+03_rb,0.62691e+03_rb,0.62787e+03_rb,0.62909e+03_rb /) kao(:,13, 7) = (/ & & 0.62583e+03_rb,0.62623e+03_rb,0.62691e+03_rb,0.62787e+03_rb,0.62909e+03_rb /) kao(:, 1, 8) = (/ & & 0.55488e+07_rb,0.54180e+07_rb,0.53005e+07_rb,0.51943e+07_rb,0.50978e+07_rb /) kao(:, 2, 8) = (/ & & 0.82143e+03_rb,0.82232e+03_rb,0.82327e+03_rb,0.82429e+03_rb,0.82541e+03_rb /) kao(:, 3, 8) = (/ & & 0.82092e+03_rb,0.82177e+03_rb,0.82269e+03_rb,0.82366e+03_rb,0.82472e+03_rb /) kao(:, 4, 8) = (/ & & 0.82041e+03_rb,0.82121e+03_rb,0.82209e+03_rb,0.82303e+03_rb,0.82402e+03_rb /) kao(:, 5, 8) = (/ & & 0.81996e+03_rb,0.82070e+03_rb,0.82152e+03_rb,0.82243e+03_rb,0.82339e+03_rb /) kao(:, 6, 8) = (/ & & 0.81952e+03_rb,0.82021e+03_rb,0.82098e+03_rb,0.82184e+03_rb,0.82277e+03_rb /) kao(:, 7, 8) = (/ & & 0.81917e+03_rb,0.81977e+03_rb,0.82048e+03_rb,0.82129e+03_rb,0.82218e+03_rb /) kao(:, 8, 8) = (/ & & 0.81881e+03_rb,0.81938e+03_rb,0.82004e+03_rb,0.82080e+03_rb,0.82163e+03_rb /) kao(:, 9, 8) = (/ & & 0.81846e+03_rb,0.81906e+03_rb,0.81965e+03_rb,0.82035e+03_rb,0.82114e+03_rb /) kao(:,10, 8) = (/ & & 0.81821e+03_rb,0.81877e+03_rb,0.81934e+03_rb,0.82000e+03_rb,0.82074e+03_rb /) kao(:,11, 8) = (/ & & 0.81821e+03_rb,0.81877e+03_rb,0.81934e+03_rb,0.81999e+03_rb,0.82074e+03_rb /) kao(:,12, 8) = (/ & & 0.81821e+03_rb,0.81877e+03_rb,0.81934e+03_rb,0.81999e+03_rb,0.82074e+03_rb /) kao(:,13, 8) = (/ & & 0.81821e+03_rb,0.81877e+03_rb,0.81935e+03_rb,0.81999e+03_rb,0.82074e+03_rb /) kao(:, 1, 9) = (/ & & 0.10204e+08_rb,0.99477e+07_rb,0.97209e+07_rb,0.95103e+07_rb,0.92960e+07_rb /) kao(:, 2, 9) = (/ & & 0.95102e+03_rb,0.95144e+03_rb,0.95133e+03_rb,0.95066e+03_rb,0.94964e+03_rb /) kao(:, 3, 9) = (/ & & 0.95048e+03_rb,0.95118e+03_rb,0.95136e+03_rb,0.95103e+03_rb,0.95020e+03_rb /) kao(:, 4, 9) = (/ & & 0.94969e+03_rb,0.95077e+03_rb,0.95126e+03_rb,0.95124e+03_rb,0.95074e+03_rb /) kao(:, 5, 9) = (/ & & 0.94872e+03_rb,0.95015e+03_rb,0.95101e+03_rb,0.95129e+03_rb,0.95105e+03_rb /) kao(:, 6, 9) = (/ & & 0.94752e+03_rb,0.94929e+03_rb,0.95052e+03_rb,0.95116e+03_rb,0.95126e+03_rb /) kao(:, 7, 9) = (/ & & 0.94612e+03_rb,0.94825e+03_rb,0.94981e+03_rb,0.95083e+03_rb,0.95126e+03_rb /) kao(:, 8, 9) = (/ & & 0.94461e+03_rb,0.94704e+03_rb,0.94894e+03_rb,0.95029e+03_rb,0.95107e+03_rb /) kao(:, 9, 9) = (/ & & 0.94291e+03_rb,0.94567e+03_rb,0.94791e+03_rb,0.94957e+03_rb,0.95069e+03_rb /) kao(:,10, 9) = (/ & & 0.94135e+03_rb,0.94441e+03_rb,0.94689e+03_rb,0.94884e+03_rb,0.95022e+03_rb /) kao(:,11, 9) = (/ & & 0.94133e+03_rb,0.94440e+03_rb,0.94688e+03_rb,0.94883e+03_rb,0.95021e+03_rb /) kao(:,12, 9) = (/ & & 0.94133e+03_rb,0.94438e+03_rb,0.94688e+03_rb,0.94883e+03_rb,0.95021e+03_rb /) kao(:,13, 9) = (/ & & 0.94133e+03_rb,0.94438e+03_rb,0.94687e+03_rb,0.94883e+03_rb,0.95021e+03_rb /) kao(:, 1,10) = (/ & & 0.12764e+08_rb,0.12408e+08_rb,0.12012e+08_rb,0.11438e+08_rb,0.11217e+08_rb /) kao(:, 2,10) = (/ & & 0.99589e+03_rb,0.99493e+03_rb,0.99263e+03_rb,0.98974e+03_rb,0.98742e+03_rb /) kao(:, 3,10) = (/ & & 0.99532e+03_rb,0.99571e+03_rb,0.99447e+03_rb,0.99207e+03_rb,0.98779e+03_rb /) kao(:, 4,10) = (/ & & 0.99446e+03_rb,0.99559e+03_rb,0.99536e+03_rb,0.99386e+03_rb,0.99088e+03_rb /) kao(:, 5,10) = (/ & & 0.99288e+03_rb,0.99493e+03_rb,0.99558e+03_rb,0.99487e+03_rb,0.99336e+03_rb /) kao(:, 6,10) = (/ & & 0.99069e+03_rb,0.99366e+03_rb,0.99519e+03_rb,0.99534e+03_rb,0.99428e+03_rb /) kao(:, 7,10) = (/ & & 0.98811e+03_rb,0.99191e+03_rb,0.99430e+03_rb,0.99510e+03_rb,0.99504e+03_rb /) kao(:, 8,10) = (/ & & 0.98531e+03_rb,0.98996e+03_rb,0.99300e+03_rb,0.99479e+03_rb,0.99513e+03_rb /) kao(:, 9,10) = (/ & & 0.98264e+03_rb,0.98737e+03_rb,0.99138e+03_rb,0.99390e+03_rb,0.99503e+03_rb /) kao(:,10,10) = (/ & & 0.98010e+03_rb,0.98517e+03_rb,0.98974e+03_rb,0.99281e+03_rb,0.99470e+03_rb /) kao(:,11,10) = (/ & & 0.98010e+03_rb,0.98509e+03_rb,0.98985e+03_rb,0.99280e+03_rb,0.99468e+03_rb /) kao(:,12,10) = (/ & & 0.98035e+03_rb,0.98524e+03_rb,0.98973e+03_rb,0.99279e+03_rb,0.99468e+03_rb /) kao(:,13,10) = (/ & & 0.98012e+03_rb,0.98526e+03_rb,0.98973e+03_rb,0.99279e+03_rb,0.99468e+03_rb /) kao(:, 1,11) = (/ & & 0.12266e+08_rb,0.12000e+08_rb,0.11724e+08_rb,0.11828e+08_rb,0.11523e+08_rb /) kao(:, 2,11) = (/ & & 0.10001e+04_rb,0.99984e+03_rb,0.99745e+03_rb,0.99535e+03_rb,0.98599e+03_rb /) kao(:, 3,11) = (/ & & 0.99963e+03_rb,0.99927e+03_rb,0.99848e+03_rb,0.99596e+03_rb,0.99390e+03_rb /) kao(:, 4,11) = (/ & & 0.99904e+03_rb,0.99942e+03_rb,0.99870e+03_rb,0.99747e+03_rb,0.99542e+03_rb /) kao(:, 5,11) = (/ & & 0.99826e+03_rb,0.99927e+03_rb,0.99919e+03_rb,0.99821e+03_rb,0.99627e+03_rb /) kao(:, 6,11) = (/ & & 0.99730e+03_rb,0.99882e+03_rb,0.99938e+03_rb,0.99902e+03_rb,0.99764e+03_rb /) kao(:, 7,11) = (/ & & 0.99551e+03_rb,0.99810e+03_rb,0.99919e+03_rb,0.99961e+03_rb,0.99863e+03_rb /) kao(:, 8,11) = (/ & & 0.99324e+03_rb,0.99688e+03_rb,0.99871e+03_rb,0.99940e+03_rb,0.99942e+03_rb /) kao(:, 9,11) = (/ & & 0.99058e+03_rb,0.99489e+03_rb,0.99773e+03_rb,0.99912e+03_rb,0.99954e+03_rb /) kao(:,10,11) = (/ & & 0.98802e+03_rb,0.99297e+03_rb,0.99656e+03_rb,0.99861e+03_rb,0.99937e+03_rb /) kao(:,11,11) = (/ & & 0.98800e+03_rb,0.99310e+03_rb,0.99655e+03_rb,0.99860e+03_rb,0.99936e+03_rb /) kao(:,12,11) = (/ & & 0.98771e+03_rb,0.99296e+03_rb,0.99669e+03_rb,0.99859e+03_rb,0.99936e+03_rb /) kao(:,13,11) = (/ & & 0.98800e+03_rb,0.99296e+03_rb,0.99655e+03_rb,0.99859e+03_rb,0.99936e+03_rb /) kao(:, 1,12) = (/ & & 0.12503e+08_rb,0.11946e+08_rb,0.11557e+08_rb,0.11503e+08_rb,0.11901e+08_rb /) kao(:, 2,12) = (/ & & 0.10015e+04_rb,0.10004e+04_rb,0.99932e+03_rb,0.99373e+03_rb,0.98591e+03_rb /) kao(:, 3,12) = (/ & & 0.10024e+04_rb,0.10021e+04_rb,0.10003e+04_rb,0.99817e+03_rb,0.99146e+03_rb /) kao(:, 4,12) = (/ & & 0.10022e+04_rb,0.10027e+04_rb,0.10021e+04_rb,0.99956e+03_rb,0.99610e+03_rb /) kao(:, 5,12) = (/ & & 0.10024e+04_rb,0.10024e+04_rb,0.10028e+04_rb,0.10015e+04_rb,0.99826e+03_rb /) kao(:, 6,12) = (/ & & 0.10017e+04_rb,0.10025e+04_rb,0.10025e+04_rb,0.10023e+04_rb,0.10008e+04_rb /) kao(:, 7,12) = (/ & & 0.10005e+04_rb,0.10020e+04_rb,0.10028e+04_rb,0.10028e+04_rb,0.10019e+04_rb /) kao(:, 8,12) = (/ & & 0.10000e+04_rb,0.10010e+04_rb,0.10024e+04_rb,0.10029e+04_rb,0.10023e+04_rb /) kao(:, 9,12) = (/ & & 0.99906e+03_rb,0.10004e+04_rb,0.10018e+04_rb,0.10029e+04_rb,0.10028e+04_rb /) kao(:,10,12) = (/ & & 0.99791e+03_rb,0.99989e+03_rb,0.10010e+04_rb,0.10024e+04_rb,0.10031e+04_rb /) kao(:,11,12) = (/ & & 0.99769e+03_rb,0.99967e+03_rb,0.10008e+04_rb,0.10024e+04_rb,0.10029e+04_rb /) kao(:,12,12) = (/ & & 0.99787e+03_rb,0.99985e+03_rb,0.10008e+04_rb,0.10025e+04_rb,0.10029e+04_rb /) kao(:,13,12) = (/ & & 0.99768e+03_rb,0.99984e+03_rb,0.10012e+04_rb,0.10026e+04_rb,0.10029e+04_rb /) kao(:, 1,13) = (/ & & 0.12359e+08_rb,0.12469e+08_rb,0.12868e+08_rb,0.12776e+08_rb,0.12590e+08_rb /) kao(:, 2,13) = (/ & & 0.10045e+04_rb,0.10033e+04_rb,0.99840e+03_rb,0.99184e+03_rb,0.98861e+03_rb /) kao(:, 3,13) = (/ & & 0.10050e+04_rb,0.10041e+04_rb,0.10024e+04_rb,0.99701e+03_rb,0.99083e+03_rb /) kao(:, 4,13) = (/ & & 0.10053e+04_rb,0.10043e+04_rb,0.10035e+04_rb,0.10017e+04_rb,0.99538e+03_rb /) kao(:, 5,13) = (/ & & 0.10048e+04_rb,0.10056e+04_rb,0.10038e+04_rb,0.10026e+04_rb,0.10008e+04_rb /) kao(:, 6,13) = (/ & & 0.10042e+04_rb,0.10054e+04_rb,0.10054e+04_rb,0.10039e+04_rb,0.10017e+04_rb /) kao(:, 7,13) = (/ & & 0.10029e+04_rb,0.10046e+04_rb,0.10055e+04_rb,0.10046e+04_rb,0.10033e+04_rb /) kao(:, 8,13) = (/ & & 0.10002e+04_rb,0.10039e+04_rb,0.10051e+04_rb,0.10054e+04_rb,0.10046e+04_rb /) kao(:, 9,13) = (/ & & 0.99825e+03_rb,0.10019e+04_rb,0.10043e+04_rb,0.10051e+04_rb,0.10052e+04_rb /) kao(:,10,13) = (/ & & 0.99595e+03_rb,0.99983e+03_rb,0.10034e+04_rb,0.10050e+04_rb,0.10051e+04_rb /) kao(:,11,13) = (/ & & 0.99621e+03_rb,0.99979e+03_rb,0.10034e+04_rb,0.10050e+04_rb,0.10054e+04_rb /) kao(:,12,13) = (/ & & 0.99597e+03_rb,0.99979e+03_rb,0.10031e+04_rb,0.10047e+04_rb,0.10054e+04_rb /) kao(:,13,13) = (/ & & 0.99623e+03_rb,0.99978e+03_rb,0.10031e+04_rb,0.10047e+04_rb,0.10054e+04_rb /) kao(:, 1,14) = (/ & & 0.13636e+08_rb,0.13818e+08_rb,0.13518e+08_rb,0.13266e+08_rb,0.13048e+08_rb /) kao(:, 2,14) = (/ & & 0.10049e+04_rb,0.99946e+03_rb,0.99774e+03_rb,0.99774e+03_rb,0.99771e+03_rb /) kao(:, 3,14) = (/ & & 0.10051e+04_rb,0.10068e+04_rb,0.10007e+04_rb,0.99775e+03_rb,0.99778e+03_rb /) kao(:, 4,14) = (/ & & 0.10071e+04_rb,0.10061e+04_rb,0.10050e+04_rb,0.10005e+04_rb,0.99776e+03_rb /) kao(:, 5,14) = (/ & & 0.10067e+04_rb,0.10072e+04_rb,0.10061e+04_rb,0.10044e+04_rb,0.99972e+03_rb /) kao(:, 6,14) = (/ & & 0.10049e+04_rb,0.10070e+04_rb,0.10074e+04_rb,0.10057e+04_rb,0.10037e+04_rb /) kao(:, 7,14) = (/ & & 0.10033e+04_rb,0.10063e+04_rb,0.10072e+04_rb,0.10067e+04_rb,0.10050e+04_rb /) kao(:, 8,14) = (/ & & 0.10025e+04_rb,0.10048e+04_rb,0.10068e+04_rb,0.10071e+04_rb,0.10062e+04_rb /) kao(:, 9,14) = (/ & & 0.99880e+03_rb,0.10031e+04_rb,0.10060e+04_rb,0.10071e+04_rb,0.10069e+04_rb /) kao(:,10,14) = (/ & & 0.99610e+03_rb,0.10023e+04_rb,0.10047e+04_rb,0.10067e+04_rb,0.10072e+04_rb /) kao(:,11,14) = (/ & & 0.99601e+03_rb,0.10023e+04_rb,0.10047e+04_rb,0.10067e+04_rb,0.10072e+04_rb /) kao(:,12,14) = (/ & & 0.99598e+03_rb,0.10023e+04_rb,0.10051e+04_rb,0.10067e+04_rb,0.10076e+04_rb /) kao(:,13,14) = (/ & & 0.99596e+03_rb,0.10027e+04_rb,0.10047e+04_rb,0.10067e+04_rb,0.10072e+04_rb /) kao(:, 1,15) = (/ & & 0.14285e+08_rb,0.13947e+08_rb,0.13644e+08_rb,0.13317e+08_rb,0.13015e+08_rb /) kao(:, 2,15) = (/ & & 0.99932e+03_rb,0.10011e+04_rb,0.10018e+04_rb,0.10007e+04_rb,0.99706e+03_rb /) kao(:, 3,15) = (/ & & 0.10097e+04_rb,0.99743e+03_rb,0.10015e+04_rb,0.10018e+04_rb,0.99920e+03_rb /) kao(:, 4,15) = (/ & & 0.10099e+04_rb,0.10076e+04_rb,0.10030e+04_rb,0.10017e+04_rb,0.10013e+04_rb /) kao(:, 5,15) = (/ & & 0.10075e+04_rb,0.10079e+04_rb,0.10073e+04_rb,0.10035e+04_rb,0.10018e+04_rb /) kao(:, 6,15) = (/ & & 0.10068e+04_rb,0.10088e+04_rb,0.10068e+04_rb,0.10090e+04_rb,0.10033e+04_rb /) kao(:, 7,15) = (/ & & 0.10057e+04_rb,0.10073e+04_rb,0.10090e+04_rb,0.10087e+04_rb,0.10062e+04_rb /) kao(:, 8,15) = (/ & & 0.10010e+04_rb,0.10054e+04_rb,0.10076e+04_rb,0.10079e+04_rb,0.10072e+04_rb /) kao(:, 9,15) = (/ & & 0.99853e+03_rb,0.10054e+04_rb,0.10071e+04_rb,0.10079e+04_rb,0.10078e+04_rb /) kao(:,10,15) = (/ & & 0.99742e+03_rb,0.10007e+04_rb,0.10064e+04_rb,0.10076e+04_rb,0.10080e+04_rb /) kao(:,11,15) = (/ & & 0.99635e+03_rb,0.10006e+04_rb,0.10064e+04_rb,0.10087e+04_rb,0.10090e+04_rb /) kao(:,12,15) = (/ & & 0.99635e+03_rb,0.10006e+04_rb,0.10064e+04_rb,0.10087e+04_rb,0.10069e+04_rb /) kao(:,13,15) = (/ & & 0.99635e+03_rb,0.99960e+03_rb,0.10064e+04_rb,0.10076e+04_rb,0.10080e+04_rb /) kao(:, 1,16) = (/ & & 0.14326e+08_rb,0.13988e+08_rb,0.13684e+08_rb,0.13409e+08_rb,0.13021e+08_rb /) kao(:, 2,16) = (/ & & 0.10008e+04_rb,0.10027e+04_rb,0.10036e+04_rb,0.10037e+04_rb,0.99673e+03_rb /) kao(:, 3,16) = (/ & & 0.99286e+03_rb,0.10016e+04_rb,0.10031e+04_rb,0.10038e+04_rb,0.10035e+04_rb /) kao(:, 4,16) = (/ & & 0.99278e+03_rb,0.10078e+04_rb,0.10023e+04_rb,0.10035e+04_rb,0.10038e+04_rb /) kao(:, 5,16) = (/ & & 0.10074e+04_rb,0.10079e+04_rb,0.10075e+04_rb,0.10028e+04_rb,0.10037e+04_rb /) kao(:, 6,16) = (/ & & 0.10069e+04_rb,0.10002e+04_rb,0.10079e+04_rb,0.99212e+03_rb,0.10032e+04_rb /) kao(:, 7,16) = (/ & & 0.10060e+04_rb,0.10072e+04_rb,0.10004e+04_rb,0.10003e+04_rb,0.10063e+04_rb /) kao(:, 8,16) = (/ & & 0.10009e+04_rb,0.10066e+04_rb,0.10075e+04_rb,0.10080e+04_rb,0.10074e+04_rb /) kao(:, 9,16) = (/ & & 0.99860e+03_rb,0.10057e+04_rb,0.10071e+04_rb,0.10078e+04_rb,0.10079e+04_rb /) kao(:,10,16) = (/ & & 0.98908e+03_rb,0.10006e+04_rb,0.10065e+04_rb,0.10075e+04_rb,0.10080e+04_rb /) kao(:,11,16) = (/ & & 0.99644e+03_rb,0.10006e+04_rb,0.10065e+04_rb,0.10000e+04_rb,0.10005e+04_rb /) kao(:,12,16) = (/ & & 0.99644e+03_rb,0.10006e+04_rb,0.10065e+04_rb,0.10000e+04_rb,0.10080e+04_rb /) kao(:,13,16) = (/ & & 0.99644e+03_rb,0.10006e+04_rb,0.10065e+04_rb,0.10075e+04_rb,0.10080e+04_rb /) ! ----------------------------------------------------------------- ! The array KBO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels < ~100mb and temperatures. The first ! index in the array, JT, which runs from 1 to 5, corresponds to ! different temperatures. More specifically, JT = 3 means that the ! data are for the reference temperature TREF for this pressure ! level, JT = 2 refers to the temperature TREF-15, JT = 1 is for ! TREF-30, JT = 4 is for TREF+15, and JT = 5 is for TREF+30. ! The second index, JP, runs from 13 to 59 and refers to the JPth ! reference pressure level (see taumol.f for the value of these ! pressure levels in mb). The third index, IG, goes from 1 to 16, ! and tells us which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kbo(:,13, 1) = (/ & & 0.16036e+00_rb,0.16399e+00_rb,0.17198e+00_rb,0.18455e+00_rb,0.20173e+00_rb /) kbo(:,14, 1) = (/ & & 0.16050e+00_rb,0.16454e+00_rb,0.17292e+00_rb,0.18592e+00_rb,0.20351e+00_rb /) kbo(:,15, 1) = (/ & & 0.16071e+00_rb,0.16519e+00_rb,0.17400e+00_rb,0.18750e+00_rb,0.20554e+00_rb /) kbo(:,16, 1) = (/ & & 0.16098e+00_rb,0.16593e+00_rb,0.17517e+00_rb,0.18921e+00_rb,0.20772e+00_rb /) kbo(:,17, 1) = (/ & & 0.16129e+00_rb,0.16670e+00_rb,0.17642e+00_rb,0.19093e+00_rb,0.20991e+00_rb /) kbo(:,18, 1) = (/ & & 0.16164e+00_rb,0.16750e+00_rb,0.17771e+00_rb,0.19267e+00_rb,0.21211e+00_rb /) kbo(:,19, 1) = (/ & & 0.16203e+00_rb,0.16832e+00_rb,0.17901e+00_rb,0.19443e+00_rb,0.21431e+00_rb /) kbo(:,20, 1) = (/ & & 0.16255e+00_rb,0.16934e+00_rb,0.18059e+00_rb,0.19653e+00_rb,0.21694e+00_rb /) kbo(:,21, 1) = (/ & & 0.16313e+00_rb,0.17044e+00_rb,0.18225e+00_rb,0.19873e+00_rb,0.21967e+00_rb /) kbo(:,22, 1) = (/ & & 0.16416e+00_rb,0.17227e+00_rb,0.18498e+00_rb,0.20229e+00_rb,0.22406e+00_rb /) kbo(:,23, 1) = (/ & & 0.16539e+00_rb,0.17431e+00_rb,0.18796e+00_rb,0.20612e+00_rb,0.22875e+00_rb /) kbo(:,24, 1) = (/ & & 0.16684e+00_rb,0.17666e+00_rb,0.19125e+00_rb,0.21032e+00_rb,0.23385e+00_rb /) kbo(:,25, 1) = (/ & & 0.16856e+00_rb,0.17939e+00_rb,0.19493e+00_rb,0.21495e+00_rb,0.23943e+00_rb /) kbo(:,26, 1) = (/ & & 0.17067e+00_rb,0.18260e+00_rb,0.19919e+00_rb,0.22024e+00_rb,0.24578e+00_rb /) kbo(:,27, 1) = (/ & & 0.17306e+00_rb,0.18613e+00_rb,0.20377e+00_rb,0.22588e+00_rb,0.25248e+00_rb /) kbo(:,28, 1) = (/ & & 0.17570e+00_rb,0.18994e+00_rb,0.20865e+00_rb,0.23184e+00_rb,0.25952e+00_rb /) kbo(:,29, 1) = (/ & & 0.17882e+00_rb,0.19417e+00_rb,0.21399e+00_rb,0.23828e+00_rb,0.26708e+00_rb /) kbo(:,30, 1) = (/ & & 0.18223e+00_rb,0.19870e+00_rb,0.21964e+00_rb,0.24505e+00_rb,0.27492e+00_rb /) kbo(:,31, 1) = (/ & & 0.18602e+00_rb,0.20364e+00_rb,0.22572e+00_rb,0.25229e+00_rb,0.28325e+00_rb /) kbo(:,32, 1) = (/ & & 0.19018e+00_rb,0.20895e+00_rb,0.23219e+00_rb,0.25994e+00_rb,0.29200e+00_rb /) kbo(:,33, 1) = (/ & & 0.19466e+00_rb,0.21461e+00_rb,0.23902e+00_rb,0.26795e+00_rb,0.30114e+00_rb /) kbo(:,34, 1) = (/ & & 0.19880e+00_rb,0.21976e+00_rb,0.24520e+00_rb,0.27509e+00_rb,0.30932e+00_rb /) kbo(:,35, 1) = (/ & & 0.20129e+00_rb,0.22283e+00_rb,0.24886e+00_rb,0.27931e+00_rb,0.31412e+00_rb /) kbo(:,36, 1) = (/ & & 0.20170e+00_rb,0.22334e+00_rb,0.24946e+00_rb,0.28000e+00_rb,0.31492e+00_rb /) kbo(:,37, 1) = (/ & & 0.19920e+00_rb,0.22026e+00_rb,0.24579e+00_rb,0.27578e+00_rb,0.31010e+00_rb /) kbo(:,38, 1) = (/ & & 0.19662e+00_rb,0.21706e+00_rb,0.24197e+00_rb,0.27135e+00_rb,0.30504e+00_rb /) kbo(:,39, 1) = (/ & & 0.19414e+00_rb,0.21396e+00_rb,0.23824e+00_rb,0.26704e+00_rb,0.30010e+00_rb /) kbo(:,40, 1) = (/ & & 0.19003e+00_rb,0.20877e+00_rb,0.23197e+00_rb,0.25968e+00_rb,0.29171e+00_rb /) kbo(:,41, 1) = (/ & & 0.18597e+00_rb,0.20357e+00_rb,0.22564e+00_rb,0.25219e+00_rb,0.28314e+00_rb /) kbo(:,42, 1) = (/ & & 0.18220e+00_rb,0.19865e+00_rb,0.21958e+00_rb,0.24498e+00_rb,0.27484e+00_rb /) kbo(:,43, 1) = (/ & & 0.17798e+00_rb,0.19304e+00_rb,0.21257e+00_rb,0.23657e+00_rb,0.26510e+00_rb /) kbo(:,44, 1) = (/ & & 0.17397e+00_rb,0.18746e+00_rb,0.20548e+00_rb,0.22798e+00_rb,0.25496e+00_rb /) kbo(:,45, 1) = (/ & & 0.17053e+00_rb,0.18239e+00_rb,0.19890e+00_rb,0.21989e+00_rb,0.24535e+00_rb /) kbo(:,46, 1) = (/ & & 0.16739e+00_rb,0.17754e+00_rb,0.19245e+00_rb,0.21183e+00_rb,0.23568e+00_rb /) kbo(:,47, 1) = (/ & & 0.16454e+00_rb,0.17292e+00_rb,0.18592e+00_rb,0.20351e+00_rb,0.22556e+00_rb /) kbo(:,48, 1) = (/ & & 0.16239e+00_rb,0.16903e+00_rb,0.18011e+00_rb,0.19590e+00_rb,0.21615e+00_rb /) kbo(:,49, 1) = (/ & & 0.16095e+00_rb,0.16584e+00_rb,0.17504e+00_rb,0.18902e+00_rb,0.20747e+00_rb /) kbo(:,50, 1) = (/ & & 0.16025e+00_rb,0.16348e+00_rb,0.17109e+00_rb,0.18322e+00_rb,0.20000e+00_rb /) kbo(:,51, 1) = (/ & & 0.16021e+00_rb,0.16179e+00_rb,0.16781e+00_rb,0.17821e+00_rb,0.19335e+00_rb /) kbo(:,52, 1) = (/ & & 0.16078e+00_rb,0.16068e+00_rb,0.16511e+00_rb,0.17387e+00_rb,0.18731e+00_rb /) kbo(:,53, 1) = (/ & & 0.16197e+00_rb,0.16018e+00_rb,0.16299e+00_rb,0.17017e+00_rb,0.18186e+00_rb /) kbo(:,54, 1) = (/ & & 0.16362e+00_rb,0.16026e+00_rb,0.16155e+00_rb,0.16729e+00_rb,0.17738e+00_rb /) kbo(:,55, 1) = (/ & & 0.16570e+00_rb,0.16083e+00_rb,0.16064e+00_rb,0.16498e+00_rb,0.17365e+00_rb /) kbo(:,56, 1) = (/ & & 0.16825e+00_rb,0.16187e+00_rb,0.16020e+00_rb,0.16311e+00_rb,0.17041e+00_rb /) kbo(:,57, 1) = (/ & & 0.17129e+00_rb,0.16340e+00_rb,0.16023e+00_rb,0.16169e+00_rb,0.16761e+00_rb /) kbo(:,58, 1) = (/ & & 0.17462e+00_rb,0.16529e+00_rb,0.16069e+00_rb,0.16077e+00_rb,0.16535e+00_rb /) kbo(:,59, 1) = (/ & & 0.17607e+00_rb,0.16617e+00_rb,0.16100e+00_rb,0.16051e+00_rb,0.16456e+00_rb /) kbo(:,13, 2) = (/ & & 0.17525e+01_rb,0.17727e+01_rb,0.18119e+01_rb,0.18712e+01_rb,0.19491e+01_rb /) kbo(:,14, 2) = (/ & & 0.17536e+01_rb,0.17755e+01_rb,0.18165e+01_rb,0.18775e+01_rb,0.19571e+01_rb /) kbo(:,15, 2) = (/ & & 0.17549e+01_rb,0.17787e+01_rb,0.18219e+01_rb,0.18847e+01_rb,0.19662e+01_rb /) kbo(:,16, 2) = (/ & & 0.17565e+01_rb,0.17819e+01_rb,0.18278e+01_rb,0.18925e+01_rb,0.19761e+01_rb /) kbo(:,17, 2) = (/ & & 0.17583e+01_rb,0.17850e+01_rb,0.18336e+01_rb,0.19003e+01_rb,0.19859e+01_rb /) kbo(:,18, 2) = (/ & & 0.17603e+01_rb,0.17891e+01_rb,0.18396e+01_rb,0.19082e+01_rb,0.19957e+01_rb /) kbo(:,19, 2) = (/ & & 0.17624e+01_rb,0.17934e+01_rb,0.18457e+01_rb,0.19162e+01_rb,0.20056e+01_rb /) kbo(:,20, 2) = (/ & & 0.17652e+01_rb,0.17986e+01_rb,0.18530e+01_rb,0.19257e+01_rb,0.20174e+01_rb /) kbo(:,21, 2) = (/ & & 0.17683e+01_rb,0.18042e+01_rb,0.18607e+01_rb,0.19356e+01_rb,0.20296e+01_rb /) kbo(:,22, 2) = (/ & & 0.17736e+01_rb,0.18133e+01_rb,0.18732e+01_rb,0.19516e+01_rb,0.20492e+01_rb /) kbo(:,23, 2) = (/ & & 0.17796e+01_rb,0.18234e+01_rb,0.18868e+01_rb,0.19689e+01_rb,0.20702e+01_rb /) kbo(:,24, 2) = (/ & & 0.17857e+01_rb,0.18347e+01_rb,0.19018e+01_rb,0.19877e+01_rb,0.20929e+01_rb /) kbo(:,25, 2) = (/ & & 0.17946e+01_rb,0.18475e+01_rb,0.19185e+01_rb,0.20085e+01_rb,0.21178e+01_rb /) kbo(:,26, 2) = (/ & & 0.18053e+01_rb,0.18623e+01_rb,0.19377e+01_rb,0.20322e+01_rb,0.21460e+01_rb /) kbo(:,27, 2) = (/ & & 0.18172e+01_rb,0.18785e+01_rb,0.19583e+01_rb,0.20574e+01_rb,0.21757e+01_rb /) kbo(:,28, 2) = (/ & & 0.18303e+01_rb,0.18959e+01_rb,0.19802e+01_rb,0.20839e+01_rb,0.22069e+01_rb /) kbo(:,29, 2) = (/ & & 0.18448e+01_rb,0.19150e+01_rb,0.20042e+01_rb,0.21126e+01_rb,0.22404e+01_rb /) kbo(:,30, 2) = (/ & & 0.18606e+01_rb,0.19355e+01_rb,0.20295e+01_rb,0.21428e+01_rb,0.22754e+01_rb /) kbo(:,31, 2) = (/ & & 0.18780e+01_rb,0.19577e+01_rb,0.20566e+01_rb,0.21749e+01_rb,0.23125e+01_rb /) kbo(:,32, 2) = (/ & & 0.18969e+01_rb,0.19816e+01_rb,0.20855e+01_rb,0.22088e+01_rb,0.23514e+01_rb /) kbo(:,33, 2) = (/ & & 0.19172e+01_rb,0.20069e+01_rb,0.21160e+01_rb,0.22443e+01_rb,0.23920e+01_rb /) kbo(:,34, 2) = (/ & & 0.19359e+01_rb,0.20300e+01_rb,0.21434e+01_rb,0.22762e+01_rb,0.24282e+01_rb /) kbo(:,35, 2) = (/ & & 0.19471e+01_rb,0.20437e+01_rb,0.21597e+01_rb,0.22949e+01_rb,0.24495e+01_rb /) kbo(:,36, 2) = (/ & & 0.19490e+01_rb,0.20460e+01_rb,0.21624e+01_rb,0.22980e+01_rb,0.24530e+01_rb /) kbo(:,37, 2) = (/ & & 0.19377e+01_rb,0.20322e+01_rb,0.21461e+01_rb,0.22792e+01_rb,0.24317e+01_rb /) kbo(:,38, 2) = (/ & & 0.19261e+01_rb,0.20179e+01_rb,0.21291e+01_rb,0.22595e+01_rb,0.24093e+01_rb /) kbo(:,39, 2) = (/ & & 0.19149e+01_rb,0.20040e+01_rb,0.21125e+01_rb,0.22402e+01_rb,0.23873e+01_rb /) kbo(:,40, 2) = (/ & & 0.18963e+01_rb,0.19807e+01_rb,0.20845e+01_rb,0.22076e+01_rb,0.23501e+01_rb /) kbo(:,41, 2) = (/ & & 0.18778e+01_rb,0.19574e+01_rb,0.20563e+01_rb,0.21745e+01_rb,0.23120e+01_rb /) kbo(:,42, 2) = (/ & & 0.18604e+01_rb,0.19352e+01_rb,0.20292e+01_rb,0.21425e+01_rb,0.22750e+01_rb /) kbo(:,43, 2) = (/ & & 0.18409e+01_rb,0.19099e+01_rb,0.19978e+01_rb,0.21050e+01_rb,0.22315e+01_rb /) kbo(:,44, 2) = (/ & & 0.18217e+01_rb,0.18845e+01_rb,0.19660e+01_rb,0.20667e+01_rb,0.21867e+01_rb /) kbo(:,45, 2) = (/ & & 0.18046e+01_rb,0.18613e+01_rb,0.19364e+01_rb,0.20306e+01_rb,0.21441e+01_rb /) kbo(:,46, 2) = (/ & & 0.17886e+01_rb,0.18389e+01_rb,0.19072e+01_rb,0.19945e+01_rb,0.21011e+01_rb /) kbo(:,47, 2) = (/ & & 0.17755e+01_rb,0.18165e+01_rb,0.18775e+01_rb,0.19571e+01_rb,0.20559e+01_rb /) kbo(:,48, 2) = (/ & & 0.17644e+01_rb,0.17970e+01_rb,0.18508e+01_rb,0.19228e+01_rb,0.20139e+01_rb /) kbo(:,49, 2) = (/ & & 0.17563e+01_rb,0.17816e+01_rb,0.18271e+01_rb,0.18916e+01_rb,0.19749e+01_rb /) kbo(:,50, 2) = (/ & & 0.17517e+01_rb,0.17702e+01_rb,0.18074e+01_rb,0.18651e+01_rb,0.19413e+01_rb /) kbo(:,51, 2) = (/ & & 0.17504e+01_rb,0.17611e+01_rb,0.17908e+01_rb,0.18420e+01_rb,0.19113e+01_rb /) kbo(:,52, 2) = (/ & & 0.17523e+01_rb,0.17547e+01_rb,0.17783e+01_rb,0.18212e+01_rb,0.18839e+01_rb /) kbo(:,53, 2) = (/ & & 0.17566e+01_rb,0.17510e+01_rb,0.17675e+01_rb,0.18028e+01_rb,0.18589e+01_rb /) kbo(:,54, 2) = (/ & & 0.17623e+01_rb,0.17507e+01_rb,0.17598e+01_rb,0.17881e+01_rb,0.18381e+01_rb /) kbo(:,55, 2) = (/ & & 0.17691e+01_rb,0.17524e+01_rb,0.17544e+01_rb,0.17777e+01_rb,0.18201e+01_rb /) kbo(:,56, 2) = (/ & & 0.17776e+01_rb,0.17562e+01_rb,0.17512e+01_rb,0.17682e+01_rb,0.18040e+01_rb /) kbo(:,57, 2) = (/ & & 0.17881e+01_rb,0.17616e+01_rb,0.17505e+01_rb,0.17606e+01_rb,0.17897e+01_rb /) kbo(:,58, 2) = (/ & & 0.17996e+01_rb,0.17678e+01_rb,0.17520e+01_rb,0.17552e+01_rb,0.17794e+01_rb /) kbo(:,59, 2) = (/ & & 0.18045e+01_rb,0.17707e+01_rb,0.17530e+01_rb,0.17536e+01_rb,0.17756e+01_rb /) kbo(:,13, 3) = (/ & & 0.10945e+02_rb,0.11052e+02_rb,0.11222e+02_rb,0.11452e+02_rb,0.11744e+02_rb /) kbo(:,14, 3) = (/ & & 0.10952e+02_rb,0.11065e+02_rb,0.11240e+02_rb,0.11476e+02_rb,0.11774e+02_rb /) kbo(:,15, 3) = (/ & & 0.10961e+02_rb,0.11080e+02_rb,0.11261e+02_rb,0.11503e+02_rb,0.11807e+02_rb /) kbo(:,16, 3) = (/ & & 0.10971e+02_rb,0.11097e+02_rb,0.11284e+02_rb,0.11533e+02_rb,0.11844e+02_rb /) kbo(:,17, 3) = (/ & & 0.10981e+02_rb,0.11115e+02_rb,0.11307e+02_rb,0.11562e+02_rb,0.11879e+02_rb /) kbo(:,18, 3) = (/ & & 0.10992e+02_rb,0.11132e+02_rb,0.11331e+02_rb,0.11592e+02_rb,0.11915e+02_rb /) kbo(:,19, 3) = (/ & & 0.11003e+02_rb,0.11149e+02_rb,0.11354e+02_rb,0.11622e+02_rb,0.11951e+02_rb /) kbo(:,20, 3) = (/ & & 0.11017e+02_rb,0.11170e+02_rb,0.11382e+02_rb,0.11657e+02_rb,0.11994e+02_rb /) kbo(:,21, 3) = (/ & & 0.11031e+02_rb,0.11192e+02_rb,0.11412e+02_rb,0.11694e+02_rb,0.12038e+02_rb /) kbo(:,22, 3) = (/ & & 0.11056e+02_rb,0.11228e+02_rb,0.11460e+02_rb,0.11754e+02_rb,0.12109e+02_rb /) kbo(:,23, 3) = (/ & & 0.11085e+02_rb,0.11267e+02_rb,0.11511e+02_rb,0.11817e+02_rb,0.12184e+02_rb /) kbo(:,24, 3) = (/ & & 0.11118e+02_rb,0.11312e+02_rb,0.11568e+02_rb,0.11886e+02_rb,0.12266e+02_rb /) kbo(:,25, 3) = (/ & & 0.11154e+02_rb,0.11361e+02_rb,0.11630e+02_rb,0.11962e+02_rb,0.12354e+02_rb /) kbo(:,26, 3) = (/ & & 0.11196e+02_rb,0.11418e+02_rb,0.11702e+02_rb,0.12048e+02_rb,0.12455e+02_rb /) kbo(:,27, 3) = (/ & & 0.11243e+02_rb,0.11480e+02_rb,0.11778e+02_rb,0.12138e+02_rb,0.12560e+02_rb /) kbo(:,28, 3) = (/ & & 0.11294e+02_rb,0.11545e+02_rb,0.11859e+02_rb,0.12234e+02_rb,0.12670e+02_rb /) kbo(:,29, 3) = (/ & & 0.11351e+02_rb,0.11617e+02_rb,0.11946e+02_rb,0.12336e+02_rb,0.12788e+02_rb /) kbo(:,30, 3) = (/ & & 0.11411e+02_rb,0.11694e+02_rb,0.12038e+02_rb,0.12443e+02_rb,0.12910e+02_rb /) kbo(:,31, 3) = (/ & & 0.11478e+02_rb,0.11776e+02_rb,0.12136e+02_rb,0.12557e+02_rb,0.13040e+02_rb /) kbo(:,32, 3) = (/ & & 0.11549e+02_rb,0.11864e+02_rb,0.12239e+02_rb,0.12677e+02_rb,0.13175e+02_rb /) kbo(:,33, 3) = (/ & & 0.11626e+02_rb,0.11956e+02_rb,0.12348e+02_rb,0.12801e+02_rb,0.13316e+02_rb /) kbo(:,34, 3) = (/ & & 0.11695e+02_rb,0.12040e+02_rb,0.12446e+02_rb,0.12913e+02_rb,0.13442e+02_rb /) kbo(:,35, 3) = (/ & & 0.11737e+02_rb,0.12089e+02_rb,0.12503e+02_rb,0.12979e+02_rb,0.13515e+02_rb /) kbo(:,36, 3) = (/ & & 0.11744e+02_rb,0.12098e+02_rb,0.12513e+02_rb,0.12989e+02_rb,0.13528e+02_rb /) kbo(:,37, 3) = (/ & & 0.11702e+02_rb,0.12048e+02_rb,0.12455e+02_rb,0.12924e+02_rb,0.13454e+02_rb /) kbo(:,38, 3) = (/ & & 0.11659e+02_rb,0.11996e+02_rb,0.12395e+02_rb,0.12855e+02_rb,0.13376e+02_rb /) kbo(:,39, 3) = (/ & & 0.11617e+02_rb,0.11946e+02_rb,0.12336e+02_rb,0.12787e+02_rb,0.13300e+02_rb /) kbo(:,40, 3) = (/ & & 0.11547e+02_rb,0.11861e+02_rb,0.12236e+02_rb,0.12673e+02_rb,0.13171e+02_rb /) kbo(:,41, 3) = (/ & & 0.11477e+02_rb,0.11775e+02_rb,0.12134e+02_rb,0.12555e+02_rb,0.13038e+02_rb /) kbo(:,42, 3) = (/ & & 0.11411e+02_rb,0.11693e+02_rb,0.12037e+02_rb,0.12442e+02_rb,0.12909e+02_rb /) kbo(:,43, 3) = (/ & & 0.11335e+02_rb,0.11598e+02_rb,0.11923e+02_rb,0.12309e+02_rb,0.12757e+02_rb /) kbo(:,44, 3) = (/ & & 0.11261e+02_rb,0.11503e+02_rb,0.11807e+02_rb,0.12172e+02_rb,0.12599e+02_rb /) kbo(:,45, 3) = (/ & & 0.11193e+02_rb,0.11414e+02_rb,0.11697e+02_rb,0.12042e+02_rb,0.12448e+02_rb /) kbo(:,46, 3) = (/ & & 0.11129e+02_rb,0.11328e+02_rb,0.11588e+02_rb,0.11911e+02_rb,0.12295e+02_rb /) kbo(:,47, 3) = (/ & & 0.11065e+02_rb,0.11240e+02_rb,0.11476e+02_rb,0.11774e+02_rb,0.12133e+02_rb /) kbo(:,48, 3) = (/ & & 0.11012e+02_rb,0.11163e+02_rb,0.11374e+02_rb,0.11647e+02_rb,0.11981e+02_rb /) kbo(:,49, 3) = (/ & & 0.10969e+02_rb,0.11095e+02_rb,0.11282e+02_rb,0.11530e+02_rb,0.11839e+02_rb /) kbo(:,50, 3) = (/ & & 0.10938e+02_rb,0.11040e+02_rb,0.11204e+02_rb,0.11429e+02_rb,0.11715e+02_rb /) kbo(:,51, 3) = (/ & & 0.10916e+02_rb,0.10996e+02_rb,0.11138e+02_rb,0.11340e+02_rb,0.11604e+02_rb /) kbo(:,52, 3) = (/ & & 0.10900e+02_rb,0.10960e+02_rb,0.11079e+02_rb,0.11259e+02_rb,0.11500e+02_rb /) kbo(:,53, 3) = (/ & & 0.10894e+02_rb,0.10932e+02_rb,0.11028e+02_rb,0.11186e+02_rb,0.11405e+02_rb /) kbo(:,54, 3) = (/ & & 0.10895e+02_rb,0.10912e+02_rb,0.10989e+02_rb,0.11127e+02_rb,0.11325e+02_rb /) kbo(:,55, 3) = (/ & & 0.10903e+02_rb,0.10900e+02_rb,0.10958e+02_rb,0.11075e+02_rb,0.11255e+02_rb /) kbo(:,56, 3) = (/ & & 0.10921e+02_rb,0.10894e+02_rb,0.10933e+02_rb,0.11031e+02_rb,0.11191e+02_rb /) kbo(:,57, 3) = (/ & & 0.10944e+02_rb,0.10894e+02_rb,0.10914e+02_rb,0.10993e+02_rb,0.11134e+02_rb /) kbo(:,58, 3) = (/ & & 0.10972e+02_rb,0.10901e+02_rb,0.10902e+02_rb,0.10963e+02_rb,0.11084e+02_rb /) kbo(:,59, 3) = (/ & & 0.10984e+02_rb,0.10906e+02_rb,0.10898e+02_rb,0.10952e+02_rb,0.11066e+02_rb /) kbo(:,13, 4) = (/ & & 0.51563e+02_rb,0.51946e+02_rb,0.52464e+02_rb,0.53116e+02_rb,0.53902e+02_rb /) kbo(:,14, 4) = (/ & & 0.51593e+02_rb,0.51987e+02_rb,0.52517e+02_rb,0.53182e+02_rb,0.53980e+02_rb /) kbo(:,15, 4) = (/ & & 0.51626e+02_rb,0.52035e+02_rb,0.52579e+02_rb,0.53256e+02_rb,0.54069e+02_rb /) kbo(:,16, 4) = (/ & & 0.51664e+02_rb,0.52087e+02_rb,0.52644e+02_rb,0.53337e+02_rb,0.54163e+02_rb /) kbo(:,17, 4) = (/ & & 0.51701e+02_rb,0.52138e+02_rb,0.52710e+02_rb,0.53416e+02_rb,0.54257e+02_rb /) kbo(:,18, 4) = (/ & & 0.51740e+02_rb,0.52191e+02_rb,0.52776e+02_rb,0.53496e+02_rb,0.54351e+02_rb /) kbo(:,19, 4) = (/ & & 0.51779e+02_rb,0.52244e+02_rb,0.52843e+02_rb,0.53576e+02_rb,0.54444e+02_rb /) kbo(:,20, 4) = (/ & & 0.51827e+02_rb,0.52307e+02_rb,0.52922e+02_rb,0.53671e+02_rb,0.54555e+02_rb /) kbo(:,21, 4) = (/ & & 0.51877e+02_rb,0.52373e+02_rb,0.53004e+02_rb,0.53770e+02_rb,0.54669e+02_rb /) kbo(:,22, 4) = (/ & & 0.51959e+02_rb,0.52481e+02_rb,0.53136e+02_rb,0.53927e+02_rb,0.54851e+02_rb /) kbo(:,23, 4) = (/ & & 0.52049e+02_rb,0.52596e+02_rb,0.53278e+02_rb,0.54094e+02_rb,0.55044e+02_rb /) kbo(:,24, 4) = (/ & & 0.52148e+02_rb,0.52723e+02_rb,0.53431e+02_rb,0.54274e+02_rb,0.55252e+02_rb /) kbo(:,25, 4) = (/ & & 0.52259e+02_rb,0.52862e+02_rb,0.53599e+02_rb,0.54471e+02_rb,0.55477e+02_rb /) kbo(:,26, 4) = (/ & & 0.52387e+02_rb,0.53022e+02_rb,0.53790e+02_rb,0.54693e+02_rb,0.55730e+02_rb /) kbo(:,27, 4) = (/ & & 0.52525e+02_rb,0.53191e+02_rb,0.53992e+02_rb,0.54926e+02_rb,0.55995e+02_rb /) kbo(:,28, 4) = (/ & & 0.52672e+02_rb,0.53371e+02_rb,0.54203e+02_rb,0.55170e+02_rb,0.56271e+02_rb /) kbo(:,29, 4) = (/ & & 0.52833e+02_rb,0.53565e+02_rb,0.54430e+02_rb,0.55430e+02_rb,0.56565e+02_rb /) kbo(:,30, 4) = (/ & & 0.53003e+02_rb,0.53768e+02_rb,0.54668e+02_rb,0.55702e+02_rb,0.56870e+02_rb /) kbo(:,31, 4) = (/ & & 0.53186e+02_rb,0.53986e+02_rb,0.54920e+02_rb,0.55988e+02_rb,0.57190e+02_rb /) kbo(:,32, 4) = (/ & & 0.53381e+02_rb,0.54216e+02_rb,0.55184e+02_rb,0.56287e+02_rb,0.57525e+02_rb /) kbo(:,33, 4) = (/ & & 0.53587e+02_rb,0.54457e+02_rb,0.55460e+02_rb,0.56599e+02_rb,0.57871e+02_rb /) kbo(:,34, 4) = (/ & & 0.53773e+02_rb,0.54673e+02_rb,0.55707e+02_rb,0.56876e+02_rb,0.58179e+02_rb /) kbo(:,35, 4) = (/ & & 0.53883e+02_rb,0.54800e+02_rb,0.55852e+02_rb,0.57039e+02_rb,0.58359e+02_rb /) kbo(:,36, 4) = (/ & & 0.53901e+02_rb,0.54822e+02_rb,0.55876e+02_rb,0.57066e+02_rb,0.58389e+02_rb /) kbo(:,37, 4) = (/ & & 0.53791e+02_rb,0.54694e+02_rb,0.55731e+02_rb,0.56903e+02_rb,0.58208e+02_rb /) kbo(:,38, 4) = (/ & & 0.53676e+02_rb,0.54560e+02_rb,0.55578e+02_rb,0.56731e+02_rb,0.58018e+02_rb /) kbo(:,39, 4) = (/ & & 0.53563e+02_rb,0.54429e+02_rb,0.55429e+02_rb,0.56563e+02_rb,0.57832e+02_rb /) kbo(:,40, 4) = (/ & & 0.53375e+02_rb,0.54208e+02_rb,0.55175e+02_rb,0.56277e+02_rb,0.57513e+02_rb /) kbo(:,41, 4) = (/ & & 0.53184e+02_rb,0.53983e+02_rb,0.54916e+02_rb,0.55984e+02_rb,0.57186e+02_rb /) kbo(:,42, 4) = (/ & & 0.53001e+02_rb,0.53766e+02_rb,0.54665e+02_rb,0.55699e+02_rb,0.56866e+02_rb /) kbo(:,43, 4) = (/ & & 0.52790e+02_rb,0.53513e+02_rb,0.54370e+02_rb,0.55362e+02_rb,0.56488e+02_rb /) kbo(:,44, 4) = (/ & & 0.52577e+02_rb,0.53254e+02_rb,0.54066e+02_rb,0.55012e+02_rb,0.56093e+02_rb /) kbo(:,45, 4) = (/ & & 0.52379e+02_rb,0.53011e+02_rb,0.53777e+02_rb,0.54678e+02_rb,0.55713e+02_rb /) kbo(:,46, 4) = (/ & & 0.52184e+02_rb,0.52768e+02_rb,0.53486e+02_rb,0.54339e+02_rb,0.55326e+02_rb /) kbo(:,47, 4) = (/ & & 0.51987e+02_rb,0.52517e+02_rb,0.53182e+02_rb,0.53980e+02_rb,0.54913e+02_rb /) kbo(:,48, 4) = (/ & & 0.51812e+02_rb,0.52288e+02_rb,0.52898e+02_rb,0.53643e+02_rb,0.54522e+02_rb /) kbo(:,49, 4) = (/ & & 0.51659e+02_rb,0.52081e+02_rb,0.52637e+02_rb,0.53327e+02_rb,0.54152e+02_rb /) kbo(:,50, 4) = (/ & & 0.51535e+02_rb,0.51906e+02_rb,0.52412e+02_rb,0.53052e+02_rb,0.53826e+02_rb /) kbo(:,51, 4) = (/ & & 0.51433e+02_rb,0.51755e+02_rb,0.52211e+02_rb,0.52802e+02_rb,0.53527e+02_rb /) kbo(:,52, 4) = (/ & & 0.51349e+02_rb,0.51622e+02_rb,0.52029e+02_rb,0.52571e+02_rb,0.53247e+02_rb /) kbo(:,53, 4) = (/ & & 0.51285e+02_rb,0.51507e+02_rb,0.51865e+02_rb,0.52358e+02_rb,0.52985e+02_rb /) kbo(:,54, 4) = (/ & & 0.51240e+02_rb,0.51417e+02_rb,0.51730e+02_rb,0.52178e+02_rb,0.52760e+02_rb /) kbo(:,55, 4) = (/ & & 0.51211e+02_rb,0.51346e+02_rb,0.51615e+02_rb,0.52020e+02_rb,0.52559e+02_rb /) kbo(:,56, 4) = (/ & & 0.51194e+02_rb,0.51288e+02_rb,0.51514e+02_rb,0.51875e+02_rb,0.52371e+02_rb /) kbo(:,57, 4) = (/ & & 0.51190e+02_rb,0.51245e+02_rb,0.51426e+02_rb,0.51746e+02_rb,0.52198e+02_rb /) kbo(:,58, 4) = (/ & & 0.51200e+02_rb,0.51216e+02_rb,0.51357e+02_rb,0.51635e+02_rb,0.52046e+02_rb /) kbo(:,59, 4) = (/ & & 0.51207e+02_rb,0.51207e+02_rb,0.51333e+02_rb,0.51594e+02_rb,0.51989e+02_rb /) kbo(:,13, 5) = (/ & & 0.17051e+03_rb,0.17168e+03_rb,0.17297e+03_rb,0.17437e+03_rb,0.17590e+03_rb /) kbo(:,14, 5) = (/ & & 0.17061e+03_rb,0.17179e+03_rb,0.17309e+03_rb,0.17451e+03_rb,0.17604e+03_rb /) kbo(:,15, 5) = (/ & & 0.17073e+03_rb,0.17192e+03_rb,0.17323e+03_rb,0.17466e+03_rb,0.17621e+03_rb /) kbo(:,16, 5) = (/ & & 0.17085e+03_rb,0.17205e+03_rb,0.17338e+03_rb,0.17482e+03_rb,0.17638e+03_rb /) kbo(:,17, 5) = (/ & & 0.17097e+03_rb,0.17218e+03_rb,0.17352e+03_rb,0.17497e+03_rb,0.17655e+03_rb /) kbo(:,18, 5) = (/ & & 0.17109e+03_rb,0.17232e+03_rb,0.17366e+03_rb,0.17513e+03_rb,0.17671e+03_rb /) kbo(:,19, 5) = (/ & & 0.17121e+03_rb,0.17245e+03_rb,0.17381e+03_rb,0.17528e+03_rb,0.17688e+03_rb /) kbo(:,20, 5) = (/ & & 0.17134e+03_rb,0.17260e+03_rb,0.17397e+03_rb,0.17547e+03_rb,0.17708e+03_rb /) kbo(:,21, 5) = (/ & & 0.17149e+03_rb,0.17276e+03_rb,0.17415e+03_rb,0.17565e+03_rb,0.17728e+03_rb /) kbo(:,22, 5) = (/ & & 0.17172e+03_rb,0.17301e+03_rb,0.17442e+03_rb,0.17594e+03_rb,0.17759e+03_rb /) kbo(:,23, 5) = (/ & & 0.17195e+03_rb,0.17327e+03_rb,0.17470e+03_rb,0.17625e+03_rb,0.17792e+03_rb /) kbo(:,24, 5) = (/ & & 0.17221e+03_rb,0.17355e+03_rb,0.17500e+03_rb,0.17658e+03_rb,0.17827e+03_rb /) kbo(:,25, 5) = (/ & & 0.17248e+03_rb,0.17385e+03_rb,0.17533e+03_rb,0.17693e+03_rb,0.17865e+03_rb /) kbo(:,26, 5) = (/ & & 0.17279e+03_rb,0.17418e+03_rb,0.17569e+03_rb,0.17732e+03_rb,0.17906e+03_rb /) kbo(:,27, 5) = (/ & & 0.17311e+03_rb,0.17453e+03_rb,0.17606e+03_rb,0.17772e+03_rb,0.17949e+03_rb /) kbo(:,28, 5) = (/ & & 0.17344e+03_rb,0.17488e+03_rb,0.17645e+03_rb,0.17813e+03_rb,0.17994e+03_rb /) kbo(:,29, 5) = (/ & & 0.17379e+03_rb,0.17526e+03_rb,0.17686e+03_rb,0.17857e+03_rb,0.18040e+03_rb /) kbo(:,30, 5) = (/ & & 0.17414e+03_rb,0.17565e+03_rb,0.17727e+03_rb,0.17902e+03_rb,0.18088e+03_rb /) kbo(:,31, 5) = (/ & & 0.17452e+03_rb,0.17605e+03_rb,0.17771e+03_rb,0.17948e+03_rb,0.18137e+03_rb /) kbo(:,32, 5) = (/ & & 0.17491e+03_rb,0.17647e+03_rb,0.17816e+03_rb,0.17996e+03_rb,0.18188e+03_rb /) kbo(:,33, 5) = (/ & & 0.17531e+03_rb,0.17690e+03_rb,0.17862e+03_rb,0.18045e+03_rb,0.18241e+03_rb /) kbo(:,34, 5) = (/ & & 0.17566e+03_rb,0.17728e+03_rb,0.17903e+03_rb,0.18089e+03_rb,0.18287e+03_rb /) kbo(:,35, 5) = (/ & & 0.17586e+03_rb,0.17750e+03_rb,0.17926e+03_rb,0.18114e+03_rb,0.18313e+03_rb /) kbo(:,36, 5) = (/ & & 0.17590e+03_rb,0.17754e+03_rb,0.17930e+03_rb,0.18118e+03_rb,0.18318e+03_rb /) kbo(:,37, 5) = (/ & & 0.17569e+03_rb,0.17732e+03_rb,0.17906e+03_rb,0.18093e+03_rb,0.18291e+03_rb /) kbo(:,38, 5) = (/ & & 0.17547e+03_rb,0.17708e+03_rb,0.17881e+03_rb,0.18066e+03_rb,0.18263e+03_rb /) kbo(:,39, 5) = (/ & & 0.17526e+03_rb,0.17685e+03_rb,0.17857e+03_rb,0.18040e+03_rb,0.18235e+03_rb /) kbo(:,40, 5) = (/ & & 0.17489e+03_rb,0.17646e+03_rb,0.17814e+03_rb,0.17995e+03_rb,0.18187e+03_rb /) kbo(:,41, 5) = (/ & & 0.17451e+03_rb,0.17605e+03_rb,0.17770e+03_rb,0.17948e+03_rb,0.18137e+03_rb /) kbo(:,42, 5) = (/ & & 0.17414e+03_rb,0.17565e+03_rb,0.17727e+03_rb,0.17901e+03_rb,0.18087e+03_rb /) kbo(:,43, 5) = (/ & & 0.17369e+03_rb,0.17516e+03_rb,0.17675e+03_rb,0.17846e+03_rb,0.18028e+03_rb /) kbo(:,44, 5) = (/ & & 0.17323e+03_rb,0.17465e+03_rb,0.17620e+03_rb,0.17787e+03_rb,0.17965e+03_rb /) kbo(:,45, 5) = (/ & & 0.17277e+03_rb,0.17416e+03_rb,0.17567e+03_rb,0.17729e+03_rb,0.17904e+03_rb /) kbo(:,46, 5) = (/ & & 0.17230e+03_rb,0.17365e+03_rb,0.17511e+03_rb,0.17669e+03_rb,0.17840e+03_rb /) kbo(:,47, 5) = (/ & & 0.17179e+03_rb,0.17309e+03_rb,0.17451e+03_rb,0.17604e+03_rb,0.17770e+03_rb /) kbo(:,48, 5) = (/ & & 0.17130e+03_rb,0.17255e+03_rb,0.17392e+03_rb,0.17541e+03_rb,0.17702e+03_rb /) kbo(:,49, 5) = (/ & & 0.17083e+03_rb,0.17204e+03_rb,0.17336e+03_rb,0.17480e+03_rb,0.17636e+03_rb /) kbo(:,50, 5) = (/ & & 0.17041e+03_rb,0.17157e+03_rb,0.17285e+03_rb,0.17424e+03_rb,0.17576e+03_rb /) kbo(:,51, 5) = (/ & & 0.17002e+03_rb,0.17113e+03_rb,0.17237e+03_rb,0.17372e+03_rb,0.17519e+03_rb /) kbo(:,52, 5) = (/ & & 0.16964e+03_rb,0.17071e+03_rb,0.17190e+03_rb,0.17321e+03_rb,0.17464e+03_rb /) kbo(:,53, 5) = (/ & & 0.16927e+03_rb,0.17031e+03_rb,0.17145e+03_rb,0.17272e+03_rb,0.17411e+03_rb /) kbo(:,54, 5) = (/ & & 0.16896e+03_rb,0.16995e+03_rb,0.17106e+03_rb,0.17228e+03_rb,0.17363e+03_rb /) kbo(:,55, 5) = (/ & & 0.16866e+03_rb,0.16962e+03_rb,0.17069e+03_rb,0.17188e+03_rb,0.17318e+03_rb /) kbo(:,56, 5) = (/ & & 0.16839e+03_rb,0.16930e+03_rb,0.17033e+03_rb,0.17148e+03_rb,0.17275e+03_rb /) kbo(:,57, 5) = (/ & & 0.16812e+03_rb,0.16899e+03_rb,0.16999e+03_rb,0.17110e+03_rb,0.17233e+03_rb /) kbo(:,58, 5) = (/ & & 0.16788e+03_rb,0.16871e+03_rb,0.16968e+03_rb,0.17075e+03_rb,0.17195e+03_rb /) kbo(:,59, 5) = (/ & & 0.16779e+03_rb,0.16861e+03_rb,0.16955e+03_rb,0.17062e+03_rb,0.17180e+03_rb /) kbo(:,13, 6) = (/ & & 0.38122e+03_rb,0.38406e+03_rb,0.38668e+03_rb,0.38908e+03_rb,0.39125e+03_rb /) kbo(:,14, 6) = (/ & & 0.38148e+03_rb,0.38431e+03_rb,0.38691e+03_rb,0.38929e+03_rb,0.39144e+03_rb /) kbo(:,15, 6) = (/ & & 0.38178e+03_rb,0.38458e+03_rb,0.38716e+03_rb,0.38951e+03_rb,0.39164e+03_rb /) kbo(:,16, 6) = (/ & & 0.38209e+03_rb,0.38487e+03_rb,0.38742e+03_rb,0.38975e+03_rb,0.39186e+03_rb /) kbo(:,17, 6) = (/ & & 0.38239e+03_rb,0.38514e+03_rb,0.38767e+03_rb,0.38998e+03_rb,0.39206e+03_rb /) kbo(:,18, 6) = (/ & & 0.38268e+03_rb,0.38541e+03_rb,0.38792e+03_rb,0.39020e+03_rb,0.39226e+03_rb /) kbo(:,19, 6) = (/ & & 0.38297e+03_rb,0.38568e+03_rb,0.38816e+03_rb,0.39042e+03_rb,0.39246e+03_rb /) kbo(:,20, 6) = (/ & & 0.38330e+03_rb,0.38598e+03_rb,0.38844e+03_rb,0.39067e+03_rb,0.39268e+03_rb /) kbo(:,21, 6) = (/ & & 0.38363e+03_rb,0.38629e+03_rb,0.38872e+03_rb,0.39092e+03_rb,0.39291e+03_rb /) kbo(:,22, 6) = (/ & & 0.38414e+03_rb,0.38675e+03_rb,0.38914e+03_rb,0.39131e+03_rb,0.39325e+03_rb /) kbo(:,23, 6) = (/ & & 0.38466e+03_rb,0.38723e+03_rb,0.38958e+03_rb,0.39170e+03_rb,0.39360e+03_rb /) kbo(:,24, 6) = (/ & & 0.38520e+03_rb,0.38772e+03_rb,0.39002e+03_rb,0.39210e+03_rb,0.39395e+03_rb /) kbo(:,25, 6) = (/ & & 0.38575e+03_rb,0.38823e+03_rb,0.39048e+03_rb,0.39251e+03_rb,0.39432e+03_rb /) kbo(:,26, 6) = (/ & & 0.38635e+03_rb,0.38877e+03_rb,0.39098e+03_rb,0.39295e+03_rb,0.39470e+03_rb /) kbo(:,27, 6) = (/ & & 0.38694e+03_rb,0.38932e+03_rb,0.39146e+03_rb,0.39339e+03_rb,0.39509e+03_rb /) kbo(:,28, 6) = (/ & & 0.38753e+03_rb,0.38985e+03_rb,0.39194e+03_rb,0.39381e+03_rb,0.39546e+03_rb /) kbo(:,29, 6) = (/ & & 0.38813e+03_rb,0.39039e+03_rb,0.39243e+03_rb,0.39424e+03_rb,0.39583e+03_rb /) kbo(:,30, 6) = (/ & & 0.38871e+03_rb,0.39092e+03_rb,0.39290e+03_rb,0.39466e+03_rb,0.39620e+03_rb /) kbo(:,31, 6) = (/ & & 0.38930e+03_rb,0.39145e+03_rb,0.39338e+03_rb,0.39508e+03_rb,0.39655e+03_rb /) kbo(:,32, 6) = (/ & & 0.38988e+03_rb,0.39197e+03_rb,0.39384e+03_rb,0.39548e+03_rb,0.39690e+03_rb /) kbo(:,33, 6) = (/ & & 0.39045e+03_rb,0.39248e+03_rb,0.39429e+03_rb,0.39587e+03_rb,0.39723e+03_rb /) kbo(:,34, 6) = (/ & & 0.39093e+03_rb,0.39291e+03_rb,0.39467e+03_rb,0.39620e+03_rb,0.39751e+03_rb /) kbo(:,35, 6) = (/ & & 0.39120e+03_rb,0.39316e+03_rb,0.39488e+03_rb,0.39639e+03_rb,0.39766e+03_rb /) kbo(:,36, 6) = (/ & & 0.39125e+03_rb,0.39320e+03_rb,0.39492e+03_rb,0.39642e+03_rb,0.39769e+03_rb /) kbo(:,37, 6) = (/ & & 0.39098e+03_rb,0.39295e+03_rb,0.39471e+03_rb,0.39623e+03_rb,0.39754e+03_rb /) kbo(:,38, 6) = (/ & & 0.39068e+03_rb,0.39269e+03_rb,0.39447e+03_rb,0.39603e+03_rb,0.39737e+03_rb /) kbo(:,39, 6) = (/ & & 0.39039e+03_rb,0.39243e+03_rb,0.39424e+03_rb,0.39583e+03_rb,0.39720e+03_rb /) kbo(:,40, 6) = (/ & & 0.38986e+03_rb,0.39196e+03_rb,0.39382e+03_rb,0.39547e+03_rb,0.39689e+03_rb /) kbo(:,41, 6) = (/ & & 0.38929e+03_rb,0.39144e+03_rb,0.39337e+03_rb,0.39507e+03_rb,0.39655e+03_rb /) kbo(:,42, 6) = (/ & & 0.38871e+03_rb,0.39092e+03_rb,0.39290e+03_rb,0.39466e+03_rb,0.39619e+03_rb /) kbo(:,43, 6) = (/ & & 0.38797e+03_rb,0.39025e+03_rb,0.39230e+03_rb,0.39413e+03_rb,0.39574e+03_rb /) kbo(:,44, 6) = (/ & & 0.38715e+03_rb,0.38951e+03_rb,0.39164e+03_rb,0.39354e+03_rb,0.39522e+03_rb /) kbo(:,45, 6) = (/ & & 0.38631e+03_rb,0.38874e+03_rb,0.39094e+03_rb,0.39292e+03_rb,0.39468e+03_rb /) kbo(:,46, 6) = (/ & & 0.38538e+03_rb,0.38789e+03_rb,0.39018e+03_rb,0.39224e+03_rb,0.39407e+03_rb /) kbo(:,47, 6) = (/ & & 0.38431e+03_rb,0.38691e+03_rb,0.38929e+03_rb,0.39144e+03_rb,0.39336e+03_rb /) kbo(:,48, 6) = (/ & & 0.38320e+03_rb,0.38589e+03_rb,0.38836e+03_rb,0.39060e+03_rb,0.39262e+03_rb /) kbo(:,49, 6) = (/ & & 0.38206e+03_rb,0.38484e+03_rb,0.38739e+03_rb,0.38972e+03_rb,0.39183e+03_rb /) kbo(:,50, 6) = (/ & & 0.38095e+03_rb,0.38382e+03_rb,0.38646e+03_rb,0.38887e+03_rb,0.39106e+03_rb /) kbo(:,51, 6) = (/ & & 0.37985e+03_rb,0.38279e+03_rb,0.38552e+03_rb,0.38802e+03_rb,0.39029e+03_rb /) kbo(:,52, 6) = (/ & & 0.37873e+03_rb,0.38175e+03_rb,0.38455e+03_rb,0.38713e+03_rb,0.38949e+03_rb /) kbo(:,53, 6) = (/ & & 0.37762e+03_rb,0.38067e+03_rb,0.38355e+03_rb,0.38621e+03_rb,0.38865e+03_rb /) kbo(:,54, 6) = (/ & & 0.37661e+03_rb,0.37965e+03_rb,0.38261e+03_rb,0.38535e+03_rb,0.38786e+03_rb /) kbo(:,55, 6) = (/ & & 0.37559e+03_rb,0.37867e+03_rb,0.38169e+03_rb,0.38450e+03_rb,0.38708e+03_rb /) kbo(:,56, 6) = (/ & & 0.37459e+03_rb,0.37768e+03_rb,0.38074e+03_rb,0.38362e+03_rb,0.38628e+03_rb /) kbo(:,57, 6) = (/ & & 0.37353e+03_rb,0.37673e+03_rb,0.37977e+03_rb,0.38272e+03_rb,0.38545e+03_rb /) kbo(:,58, 6) = (/ & & 0.37251e+03_rb,0.37577e+03_rb,0.37885e+03_rb,0.38185e+03_rb,0.38465e+03_rb /) kbo(:,59, 6) = (/ & & 0.37212e+03_rb,0.37539e+03_rb,0.37847e+03_rb,0.38150e+03_rb,0.38432e+03_rb /) kbo(:,13, 7) = (/ & & 0.62583e+03_rb,0.62623e+03_rb,0.62691e+03_rb,0.62787e+03_rb,0.62909e+03_rb /) kbo(:,14, 7) = (/ & & 0.62586e+03_rb,0.62628e+03_rb,0.62699e+03_rb,0.62797e+03_rb,0.62921e+03_rb /) kbo(:,15, 7) = (/ & & 0.62589e+03_rb,0.62634e+03_rb,0.62708e+03_rb,0.62809e+03_rb,0.62935e+03_rb /) kbo(:,16, 7) = (/ & & 0.62593e+03_rb,0.62640e+03_rb,0.62717e+03_rb,0.62821e+03_rb,0.62950e+03_rb /) kbo(:,17, 7) = (/ & & 0.62597e+03_rb,0.62647e+03_rb,0.62727e+03_rb,0.62833e+03_rb,0.62965e+03_rb /) kbo(:,18, 7) = (/ & & 0.62601e+03_rb,0.62654e+03_rb,0.62737e+03_rb,0.62846e+03_rb,0.62980e+03_rb /) kbo(:,19, 7) = (/ & & 0.62605e+03_rb,0.62661e+03_rb,0.62746e+03_rb,0.62858e+03_rb,0.62995e+03_rb /) kbo(:,20, 7) = (/ & & 0.62610e+03_rb,0.62670e+03_rb,0.62758e+03_rb,0.62873e+03_rb,0.63012e+03_rb /) kbo(:,21, 7) = (/ & & 0.62615e+03_rb,0.62679e+03_rb,0.62770e+03_rb,0.62888e+03_rb,0.63031e+03_rb /) kbo(:,22, 7) = (/ & & 0.62625e+03_rb,0.62694e+03_rb,0.62790e+03_rb,0.62913e+03_rb,0.63060e+03_rb /) kbo(:,23, 7) = (/ & & 0.62636e+03_rb,0.62710e+03_rb,0.62812e+03_rb,0.62939e+03_rb,0.63091e+03_rb /) kbo(:,24, 7) = (/ & & 0.62648e+03_rb,0.62729e+03_rb,0.62835e+03_rb,0.62968e+03_rb,0.63125e+03_rb /) kbo(:,25, 7) = (/ & & 0.62663e+03_rb,0.62749e+03_rb,0.62861e+03_rb,0.62999e+03_rb,0.63162e+03_rb /) kbo(:,26, 7) = (/ & & 0.62681e+03_rb,0.62773e+03_rb,0.62891e+03_rb,0.63035e+03_rb,0.63203e+03_rb /) kbo(:,27, 7) = (/ & & 0.62700e+03_rb,0.62799e+03_rb,0.62923e+03_rb,0.63072e+03_rb,0.63247e+03_rb /) kbo(:,28, 7) = (/ & & 0.62721e+03_rb,0.62826e+03_rb,0.62956e+03_rb,0.63112e+03_rb,0.63292e+03_rb /) kbo(:,29, 7) = (/ & & 0.62745e+03_rb,0.62856e+03_rb,0.62993e+03_rb,0.63154e+03_rb,0.63341e+03_rb /) kbo(:,30, 7) = (/ & & 0.62770e+03_rb,0.62888e+03_rb,0.63031e+03_rb,0.63198e+03_rb,0.63392e+03_rb /) kbo(:,31, 7) = (/ & & 0.62798e+03_rb,0.62922e+03_rb,0.63071e+03_rb,0.63245e+03_rb,0.63446e+03_rb /) kbo(:,32, 7) = (/ & & 0.62828e+03_rb,0.62958e+03_rb,0.63114e+03_rb,0.63295e+03_rb,0.63503e+03_rb /) kbo(:,33, 7) = (/ & & 0.62860e+03_rb,0.62997e+03_rb,0.63159e+03_rb,0.63347e+03_rb,0.63562e+03_rb /) kbo(:,34, 7) = (/ & & 0.62889e+03_rb,0.63031e+03_rb,0.63199e+03_rb,0.63393e+03_rb,0.63614e+03_rb /) kbo(:,35, 7) = (/ & & 0.62906e+03_rb,0.63052e+03_rb,0.63223e+03_rb,0.63421e+03_rb,0.63644e+03_rb /) kbo(:,36, 7) = (/ & & 0.62909e+03_rb,0.63055e+03_rb,0.63227e+03_rb,0.63425e+03_rb,0.63649e+03_rb /) kbo(:,37, 7) = (/ & & 0.62891e+03_rb,0.63035e+03_rb,0.63203e+03_rb,0.63397e+03_rb,0.63619e+03_rb /) kbo(:,38, 7) = (/ & & 0.62873e+03_rb,0.63013e+03_rb,0.63178e+03_rb,0.63369e+03_rb,0.63586e+03_rb /) kbo(:,39, 7) = (/ & & 0.62856e+03_rb,0.62992e+03_rb,0.63154e+03_rb,0.63341e+03_rb,0.63555e+03_rb /) kbo(:,40, 7) = (/ & & 0.62827e+03_rb,0.62957e+03_rb,0.63113e+03_rb,0.63293e+03_rb,0.63501e+03_rb /) kbo(:,41, 7) = (/ & & 0.62798e+03_rb,0.62922e+03_rb,0.63071e+03_rb,0.63245e+03_rb,0.63445e+03_rb /) kbo(:,42, 7) = (/ & & 0.62770e+03_rb,0.62887e+03_rb,0.63030e+03_rb,0.63198e+03_rb,0.63391e+03_rb /) kbo(:,43, 7) = (/ & & 0.62739e+03_rb,0.62848e+03_rb,0.62983e+03_rb,0.63143e+03_rb,0.63328e+03_rb /) kbo(:,44, 7) = (/ & & 0.62708e+03_rb,0.62808e+03_rb,0.62935e+03_rb,0.63086e+03_rb,0.63263e+03_rb /) kbo(:,45, 7) = (/ & & 0.62679e+03_rb,0.62771e+03_rb,0.62889e+03_rb,0.63032e+03_rb,0.63200e+03_rb /) kbo(:,46, 7) = (/ & & 0.62653e+03_rb,0.62735e+03_rb,0.62844e+03_rb,0.62978e+03_rb,0.63137e+03_rb /) kbo(:,47, 7) = (/ & & 0.62629e+03_rb,0.62699e+03_rb,0.62797e+03_rb,0.62921e+03_rb,0.63070e+03_rb /) kbo(:,48, 7) = (/ & & 0.62608e+03_rb,0.62667e+03_rb,0.62755e+03_rb,0.62868e+03_rb,0.63007e+03_rb /) kbo(:,49, 7) = (/ & & 0.62592e+03_rb,0.62640e+03_rb,0.62716e+03_rb,0.62820e+03_rb,0.62948e+03_rb /) kbo(:,50, 7) = (/ & & 0.62580e+03_rb,0.62619e+03_rb,0.62684e+03_rb,0.62778e+03_rb,0.62897e+03_rb /) kbo(:,51, 7) = (/ & & 0.62580e+03_rb,0.62602e+03_rb,0.62657e+03_rb,0.62741e+03_rb,0.62850e+03_rb /) kbo(:,52, 7) = (/ & & 0.62578e+03_rb,0.62589e+03_rb,0.62633e+03_rb,0.62707e+03_rb,0.62807e+03_rb /) kbo(:,53, 7) = (/ & & 0.62574e+03_rb,0.62578e+03_rb,0.62614e+03_rb,0.62677e+03_rb,0.62768e+03_rb /) kbo(:,54, 7) = (/ & & 0.62576e+03_rb,0.62580e+03_rb,0.62600e+03_rb,0.62652e+03_rb,0.62734e+03_rb /) kbo(:,55, 7) = (/ & & 0.62585e+03_rb,0.62578e+03_rb,0.62588e+03_rb,0.62632e+03_rb,0.62705e+03_rb /) kbo(:,56, 7) = (/ & & 0.62587e+03_rb,0.62576e+03_rb,0.62579e+03_rb,0.62615e+03_rb,0.62678e+03_rb /) kbo(:,57, 7) = (/ & & 0.62591e+03_rb,0.62574e+03_rb,0.62580e+03_rb,0.62601e+03_rb,0.62655e+03_rb /) kbo(:,58, 7) = (/ & & 0.62591e+03_rb,0.62583e+03_rb,0.62578e+03_rb,0.62590e+03_rb,0.62636e+03_rb /) kbo(:,59, 7) = (/ & & 0.62590e+03_rb,0.62586e+03_rb,0.62578e+03_rb,0.62586e+03_rb,0.62628e+03_rb /) kbo(:,13, 8) = (/ & & 0.81821e+03_rb,0.81877e+03_rb,0.81935e+03_rb,0.81999e+03_rb,0.82074e+03_rb /) kbo(:,14, 8) = (/ & & 0.81826e+03_rb,0.81882e+03_rb,0.81939e+03_rb,0.82006e+03_rb,0.82081e+03_rb /) kbo(:,15, 8) = (/ & & 0.81831e+03_rb,0.81888e+03_rb,0.81946e+03_rb,0.82012e+03_rb,0.82089e+03_rb /) kbo(:,16, 8) = (/ & & 0.81836e+03_rb,0.81895e+03_rb,0.81952e+03_rb,0.82021e+03_rb,0.82098e+03_rb /) kbo(:,17, 8) = (/ & & 0.81842e+03_rb,0.81901e+03_rb,0.81959e+03_rb,0.82028e+03_rb,0.82106e+03_rb /) kbo(:,18, 8) = (/ & & 0.81847e+03_rb,0.81907e+03_rb,0.81965e+03_rb,0.82036e+03_rb,0.82116e+03_rb /) kbo(:,19, 8) = (/ & & 0.81853e+03_rb,0.81913e+03_rb,0.81972e+03_rb,0.82043e+03_rb,0.82123e+03_rb /) kbo(:,20, 8) = (/ & & 0.81860e+03_rb,0.81919e+03_rb,0.81980e+03_rb,0.82052e+03_rb,0.82133e+03_rb /) kbo(:,21, 8) = (/ & & 0.81868e+03_rb,0.81925e+03_rb,0.81988e+03_rb,0.82061e+03_rb,0.82143e+03_rb /) kbo(:,22, 8) = (/ & & 0.81879e+03_rb,0.81936e+03_rb,0.82001e+03_rb,0.82076e+03_rb,0.82160e+03_rb /) kbo(:,23, 8) = (/ & & 0.81889e+03_rb,0.81947e+03_rb,0.82015e+03_rb,0.82091e+03_rb,0.82177e+03_rb /) kbo(:,24, 8) = (/ & & 0.81902e+03_rb,0.81960e+03_rb,0.82030e+03_rb,0.82108e+03_rb,0.82195e+03_rb /) kbo(:,25, 8) = (/ & & 0.81914e+03_rb,0.81974e+03_rb,0.82046e+03_rb,0.82126e+03_rb,0.82214e+03_rb /) kbo(:,26, 8) = (/ & & 0.81927e+03_rb,0.81990e+03_rb,0.82063e+03_rb,0.82145e+03_rb,0.82236e+03_rb /) kbo(:,27, 8) = (/ & & 0.81941e+03_rb,0.82006e+03_rb,0.82082e+03_rb,0.82166e+03_rb,0.82258e+03_rb /) kbo(:,28, 8) = (/ & & 0.81957e+03_rb,0.82024e+03_rb,0.82101e+03_rb,0.82188e+03_rb,0.82281e+03_rb /) kbo(:,29, 8) = (/ & & 0.81971e+03_rb,0.82042e+03_rb,0.82122e+03_rb,0.82210e+03_rb,0.82305e+03_rb /) kbo(:,30, 8) = (/ & & 0.81988e+03_rb,0.82061e+03_rb,0.82143e+03_rb,0.82233e+03_rb,0.82330e+03_rb /) kbo(:,31, 8) = (/ & & 0.82006e+03_rb,0.82081e+03_rb,0.82166e+03_rb,0.82258e+03_rb,0.82355e+03_rb /) kbo(:,32, 8) = (/ & & 0.82025e+03_rb,0.82103e+03_rb,0.82189e+03_rb,0.82283e+03_rb,0.82380e+03_rb /) kbo(:,33, 8) = (/ & & 0.82044e+03_rb,0.82124e+03_rb,0.82213e+03_rb,0.82308e+03_rb,0.82408e+03_rb /) kbo(:,34, 8) = (/ & & 0.82062e+03_rb,0.82144e+03_rb,0.82234e+03_rb,0.82330e+03_rb,0.82432e+03_rb /) kbo(:,35, 8) = (/ & & 0.82072e+03_rb,0.82155e+03_rb,0.82246e+03_rb,0.82342e+03_rb,0.82446e+03_rb /) kbo(:,36, 8) = (/ & & 0.82074e+03_rb,0.82157e+03_rb,0.82248e+03_rb,0.82345e+03_rb,0.82448e+03_rb /) kbo(:,37, 8) = (/ & & 0.82063e+03_rb,0.82146e+03_rb,0.82236e+03_rb,0.82332e+03_rb,0.82434e+03_rb /) kbo(:,38, 8) = (/ & & 0.82053e+03_rb,0.82134e+03_rb,0.82223e+03_rb,0.82319e+03_rb,0.82419e+03_rb /) kbo(:,39, 8) = (/ & & 0.82042e+03_rb,0.82122e+03_rb,0.82210e+03_rb,0.82305e+03_rb,0.82405e+03_rb /) kbo(:,40, 8) = (/ & & 0.82024e+03_rb,0.82102e+03_rb,0.82188e+03_rb,0.82282e+03_rb,0.82380e+03_rb /) kbo(:,41, 8) = (/ & & 0.82006e+03_rb,0.82081e+03_rb,0.82165e+03_rb,0.82257e+03_rb,0.82354e+03_rb /) kbo(:,42, 8) = (/ & & 0.81988e+03_rb,0.82061e+03_rb,0.82143e+03_rb,0.82233e+03_rb,0.82329e+03_rb /) kbo(:,43, 8) = (/ & & 0.81967e+03_rb,0.82037e+03_rb,0.82117e+03_rb,0.82204e+03_rb,0.82299e+03_rb /) kbo(:,44, 8) = (/ & & 0.81946e+03_rb,0.82013e+03_rb,0.82089e+03_rb,0.82174e+03_rb,0.82267e+03_rb /) kbo(:,45, 8) = (/ & & 0.81926e+03_rb,0.81989e+03_rb,0.82062e+03_rb,0.82144e+03_rb,0.82234e+03_rb /) kbo(:,46, 8) = (/ & & 0.81907e+03_rb,0.81965e+03_rb,0.82034e+03_rb,0.82114e+03_rb,0.82201e+03_rb /) kbo(:,47, 8) = (/ & & 0.81882e+03_rb,0.81939e+03_rb,0.82006e+03_rb,0.82081e+03_rb,0.82165e+03_rb /) kbo(:,48, 8) = (/ & & 0.81858e+03_rb,0.81917e+03_rb,0.81978e+03_rb,0.82050e+03_rb,0.82130e+03_rb /) kbo(:,49, 8) = (/ & & 0.81836e+03_rb,0.81894e+03_rb,0.81953e+03_rb,0.82019e+03_rb,0.82097e+03_rb /) kbo(:,50, 8) = (/ & & 0.81817e+03_rb,0.81871e+03_rb,0.81929e+03_rb,0.81993e+03_rb,0.82067e+03_rb /) kbo(:,51, 8) = (/ & & 0.81790e+03_rb,0.81850e+03_rb,0.81910e+03_rb,0.81967e+03_rb,0.82039e+03_rb /) kbo(:,52, 8) = (/ & & 0.81779e+03_rb,0.81830e+03_rb,0.81888e+03_rb,0.81945e+03_rb,0.82012e+03_rb /) kbo(:,53, 8) = (/ & & 0.81766e+03_rb,0.81812e+03_rb,0.81866e+03_rb,0.81924e+03_rb,0.81986e+03_rb /) kbo(:,54, 8) = (/ & & 0.81744e+03_rb,0.81785e+03_rb,0.81846e+03_rb,0.81906e+03_rb,0.81964e+03_rb /) kbo(:,55, 8) = (/ & & 0.81733e+03_rb,0.81777e+03_rb,0.81829e+03_rb,0.81886e+03_rb,0.81944e+03_rb /) kbo(:,56, 8) = (/ & & 0.81741e+03_rb,0.81767e+03_rb,0.81813e+03_rb,0.81867e+03_rb,0.81925e+03_rb /) kbo(:,57, 8) = (/ & & 0.81785e+03_rb,0.81749e+03_rb,0.81788e+03_rb,0.81848e+03_rb,0.81908e+03_rb /) kbo(:,58, 8) = (/ & & 0.81817e+03_rb,0.81731e+03_rb,0.81779e+03_rb,0.81832e+03_rb,0.81889e+03_rb /) kbo(:,59, 8) = (/ & & 0.81824e+03_rb,0.81736e+03_rb,0.81776e+03_rb,0.81826e+03_rb,0.81883e+03_rb /) kbo(:,13, 9) = (/ & & 0.94133e+03_rb,0.94438e+03_rb,0.94687e+03_rb,0.94883e+03_rb,0.95021e+03_rb /) kbo(:,14, 9) = (/ & & 0.94163e+03_rb,0.94463e+03_rb,0.94708e+03_rb,0.94898e+03_rb,0.95031e+03_rb /) kbo(:,15, 9) = (/ & & 0.94195e+03_rb,0.94490e+03_rb,0.94731e+03_rb,0.94914e+03_rb,0.95042e+03_rb /) kbo(:,16, 9) = (/ & & 0.94229e+03_rb,0.94518e+03_rb,0.94753e+03_rb,0.94930e+03_rb,0.95052e+03_rb /) kbo(:,17, 9) = (/ & & 0.94262e+03_rb,0.94544e+03_rb,0.94774e+03_rb,0.94946e+03_rb,0.95061e+03_rb /) kbo(:,18, 9) = (/ & & 0.94293e+03_rb,0.94570e+03_rb,0.94795e+03_rb,0.94960e+03_rb,0.95069e+03_rb /) kbo(:,19, 9) = (/ & & 0.94323e+03_rb,0.94595e+03_rb,0.94814e+03_rb,0.94974e+03_rb,0.95078e+03_rb /) kbo(:,20, 9) = (/ & & 0.94357e+03_rb,0.94624e+03_rb,0.94835e+03_rb,0.94989e+03_rb,0.95087e+03_rb /) kbo(:,21, 9) = (/ & & 0.94393e+03_rb,0.94654e+03_rb,0.94857e+03_rb,0.95003e+03_rb,0.95096e+03_rb /) kbo(:,22, 9) = (/ & & 0.94445e+03_rb,0.94695e+03_rb,0.94888e+03_rb,0.95025e+03_rb,0.95105e+03_rb /) kbo(:,23, 9) = (/ & & 0.94499e+03_rb,0.94737e+03_rb,0.94919e+03_rb,0.95045e+03_rb,0.95113e+03_rb /) kbo(:,24, 9) = (/ & & 0.94549e+03_rb,0.94778e+03_rb,0.94948e+03_rb,0.95063e+03_rb,0.95120e+03_rb /) kbo(:,25, 9) = (/ & & 0.94602e+03_rb,0.94819e+03_rb,0.94978e+03_rb,0.95082e+03_rb,0.95125e+03_rb /) kbo(:,26, 9) = (/ & & 0.94658e+03_rb,0.94861e+03_rb,0.95006e+03_rb,0.95096e+03_rb,0.95127e+03_rb /) kbo(:,27, 9) = (/ & & 0.94710e+03_rb,0.94900e+03_rb,0.95033e+03_rb,0.95109e+03_rb,0.95126e+03_rb /) kbo(:,28, 9) = (/ & & 0.94759e+03_rb,0.94937e+03_rb,0.95056e+03_rb,0.95118e+03_rb,0.95123e+03_rb /) kbo(:,29, 9) = (/ & & 0.94811e+03_rb,0.94973e+03_rb,0.95077e+03_rb,0.95124e+03_rb,0.95116e+03_rb /) kbo(:,30, 9) = (/ & & 0.94856e+03_rb,0.95003e+03_rb,0.95095e+03_rb,0.95127e+03_rb,0.95105e+03_rb /) kbo(:,31, 9) = (/ & & 0.94901e+03_rb,0.95032e+03_rb,0.95108e+03_rb,0.95127e+03_rb,0.95090e+03_rb /) kbo(:,32, 9) = (/ & & 0.94939e+03_rb,0.95057e+03_rb,0.95118e+03_rb,0.95121e+03_rb,0.95071e+03_rb /) kbo(:,33, 9) = (/ & & 0.94975e+03_rb,0.95079e+03_rb,0.95125e+03_rb,0.95115e+03_rb,0.95050e+03_rb /) kbo(:,34, 9) = (/ & & 0.95004e+03_rb,0.95095e+03_rb,0.95128e+03_rb,0.95105e+03_rb,0.95030e+03_rb /) kbo(:,35, 9) = (/ & & 0.95020e+03_rb,0.95102e+03_rb,0.95127e+03_rb,0.95098e+03_rb,0.95016e+03_rb /) kbo(:,36, 9) = (/ & & 0.95021e+03_rb,0.95103e+03_rb,0.95127e+03_rb,0.95096e+03_rb,0.95023e+03_rb /) kbo(:,37, 9) = (/ & & 0.95006e+03_rb,0.95096e+03_rb,0.95127e+03_rb,0.95104e+03_rb,0.95027e+03_rb /) kbo(:,38, 9) = (/ & & 0.94990e+03_rb,0.95087e+03_rb,0.95126e+03_rb,0.95110e+03_rb,0.95040e+03_rb /) kbo(:,39, 9) = (/ & & 0.94972e+03_rb,0.95077e+03_rb,0.95124e+03_rb,0.95117e+03_rb,0.95053e+03_rb /) kbo(:,40, 9) = (/ & & 0.94939e+03_rb,0.95057e+03_rb,0.95118e+03_rb,0.95123e+03_rb,0.95072e+03_rb /) kbo(:,41, 9) = (/ & & 0.94899e+03_rb,0.95032e+03_rb,0.95108e+03_rb,0.95127e+03_rb,0.95090e+03_rb /) kbo(:,42, 9) = (/ & & 0.94856e+03_rb,0.95004e+03_rb,0.95094e+03_rb,0.95127e+03_rb,0.95105e+03_rb /) kbo(:,43, 9) = (/ & & 0.94799e+03_rb,0.94963e+03_rb,0.95073e+03_rb,0.95123e+03_rb,0.95118e+03_rb /) kbo(:,44, 9) = (/ & & 0.94729e+03_rb,0.94914e+03_rb,0.95041e+03_rb,0.95112e+03_rb,0.95126e+03_rb /) kbo(:,45, 9) = (/ & & 0.94655e+03_rb,0.94858e+03_rb,0.95004e+03_rb,0.95095e+03_rb,0.95127e+03_rb /) kbo(:,46, 9) = (/ & & 0.94568e+03_rb,0.94792e+03_rb,0.94958e+03_rb,0.95070e+03_rb,0.95122e+03_rb /) kbo(:,47, 9) = (/ & & 0.94463e+03_rb,0.94708e+03_rb,0.94898e+03_rb,0.95031e+03_rb,0.95108e+03_rb /) kbo(:,48, 9) = (/ & & 0.94348e+03_rb,0.94616e+03_rb,0.94829e+03_rb,0.94984e+03_rb,0.95084e+03_rb /) kbo(:,49, 9) = (/ & & 0.94226e+03_rb,0.94515e+03_rb,0.94748e+03_rb,0.94928e+03_rb,0.95051e+03_rb /) kbo(:,50, 9) = (/ & & 0.94103e+03_rb,0.94413e+03_rb,0.94669e+03_rb,0.94868e+03_rb,0.95011e+03_rb /) kbo(:,51, 9) = (/ & & 0.93978e+03_rb,0.94307e+03_rb,0.94580e+03_rb,0.94802e+03_rb,0.94965e+03_rb /) kbo(:,52, 9) = (/ & & 0.93828e+03_rb,0.94192e+03_rb,0.94488e+03_rb,0.94728e+03_rb,0.94912e+03_rb /) kbo(:,53, 9) = (/ & & 0.93678e+03_rb,0.94072e+03_rb,0.94388e+03_rb,0.94646e+03_rb,0.94851e+03_rb /) kbo(:,54, 9) = (/ & & 0.93537e+03_rb,0.93955e+03_rb,0.94287e+03_rb,0.94565e+03_rb,0.94789e+03_rb /) kbo(:,55, 9) = (/ & & 0.93380e+03_rb,0.93820e+03_rb,0.94186e+03_rb,0.94483e+03_rb,0.94722e+03_rb /) kbo(:,56, 9) = (/ & & 0.93205e+03_rb,0.93688e+03_rb,0.94080e+03_rb,0.94394e+03_rb,0.94652e+03_rb /) kbo(:,57, 9) = (/ & & 0.92997e+03_rb,0.93554e+03_rb,0.93969e+03_rb,0.94299e+03_rb,0.94574e+03_rb /) kbo(:,58, 9) = (/ & & 0.92808e+03_rb,0.93414e+03_rb,0.93844e+03_rb,0.94204e+03_rb,0.94498e+03_rb /) kbo(:,59, 9) = (/ & & 0.92793e+03_rb,0.93341e+03_rb,0.93792e+03_rb,0.94165e+03_rb,0.94465e+03_rb /) kbo(:,13,10) = (/ & & 0.98036e+03_rb,0.98526e+03_rb,0.98973e+03_rb,0.99279e+03_rb,0.99468e+03_rb /) kbo(:,14,10) = (/ & & 0.98067e+03_rb,0.98568e+03_rb,0.99005e+03_rb,0.99301e+03_rb,0.99477e+03_rb /) kbo(:,15,10) = (/ & & 0.98125e+03_rb,0.98614e+03_rb,0.99040e+03_rb,0.99324e+03_rb,0.99485e+03_rb /) kbo(:,16,10) = (/ & & 0.98185e+03_rb,0.98662e+03_rb,0.99076e+03_rb,0.99348e+03_rb,0.99493e+03_rb /) kbo(:,17,10) = (/ & & 0.98242e+03_rb,0.98721e+03_rb,0.99109e+03_rb,0.99369e+03_rb,0.99498e+03_rb /) kbo(:,18,10) = (/ & & 0.98296e+03_rb,0.98755e+03_rb,0.99141e+03_rb,0.99390e+03_rb,0.99502e+03_rb /) kbo(:,19,10) = (/ & & 0.98350e+03_rb,0.98800e+03_rb,0.99172e+03_rb,0.99408e+03_rb,0.99505e+03_rb /) kbo(:,20,10) = (/ & & 0.98411e+03_rb,0.98852e+03_rb,0.99205e+03_rb,0.99428e+03_rb,0.99507e+03_rb /) kbo(:,21,10) = (/ & & 0.98464e+03_rb,0.98894e+03_rb,0.99238e+03_rb,0.99447e+03_rb,0.99496e+03_rb /) kbo(:,22,10) = (/ & & 0.98547e+03_rb,0.98983e+03_rb,0.99286e+03_rb,0.99470e+03_rb,0.99509e+03_rb /) kbo(:,23,10) = (/ & & 0.98617e+03_rb,0.99062e+03_rb,0.99331e+03_rb,0.99487e+03_rb,0.99508e+03_rb /) kbo(:,24,10) = (/ & & 0.98718e+03_rb,0.99115e+03_rb,0.99373e+03_rb,0.99499e+03_rb,0.99503e+03_rb /) kbo(:,25,10) = (/ & & 0.98813e+03_rb,0.99180e+03_rb,0.99413e+03_rb,0.99494e+03_rb,0.99492e+03_rb /) kbo(:,26,10) = (/ & & 0.98918e+03_rb,0.99244e+03_rb,0.99450e+03_rb,0.99508e+03_rb,0.99475e+03_rb /) kbo(:,27,10) = (/ & & 0.99010e+03_rb,0.99304e+03_rb,0.99478e+03_rb,0.99509e+03_rb,0.99499e+03_rb /) kbo(:,28,10) = (/ & & 0.99090e+03_rb,0.99357e+03_rb,0.99495e+03_rb,0.99505e+03_rb,0.99433e+03_rb /) kbo(:,29,10) = (/ & & 0.99167e+03_rb,0.99393e+03_rb,0.99505e+03_rb,0.99495e+03_rb,0.99385e+03_rb /) kbo(:,30,10) = (/ & & 0.99249e+03_rb,0.99447e+03_rb,0.99508e+03_rb,0.99477e+03_rb,0.99348e+03_rb /) kbo(:,31,10) = (/ & & 0.99290e+03_rb,0.99477e+03_rb,0.99509e+03_rb,0.99452e+03_rb,0.99326e+03_rb /) kbo(:,32,10) = (/ & & 0.99360e+03_rb,0.99496e+03_rb,0.99505e+03_rb,0.99419e+03_rb,0.99287e+03_rb /) kbo(:,33,10) = (/ & & 0.99410e+03_rb,0.99506e+03_rb,0.99493e+03_rb,0.99381e+03_rb,0.99210e+03_rb /) kbo(:,34,10) = (/ & & 0.99447e+03_rb,0.99508e+03_rb,0.99465e+03_rb,0.99347e+03_rb,0.99121e+03_rb /) kbo(:,35,10) = (/ & & 0.99453e+03_rb,0.99509e+03_rb,0.99465e+03_rb,0.99330e+03_rb,0.99083e+03_rb /) kbo(:,36,10) = (/ & & 0.99467e+03_rb,0.99509e+03_rb,0.99463e+03_rb,0.99327e+03_rb,0.98992e+03_rb /) kbo(:,37,10) = (/ & & 0.99451e+03_rb,0.99508e+03_rb,0.99475e+03_rb,0.99344e+03_rb,0.99124e+03_rb /) kbo(:,38,10) = (/ & & 0.99429e+03_rb,0.99507e+03_rb,0.99486e+03_rb,0.99365e+03_rb,0.99174e+03_rb /) kbo(:,39,10) = (/ & & 0.99405e+03_rb,0.99505e+03_rb,0.99495e+03_rb,0.99373e+03_rb,0.99219e+03_rb /) kbo(:,40,10) = (/ & & 0.99347e+03_rb,0.99496e+03_rb,0.99505e+03_rb,0.99420e+03_rb,0.99289e+03_rb /) kbo(:,41,10) = (/ & & 0.99302e+03_rb,0.99477e+03_rb,0.99509e+03_rb,0.99452e+03_rb,0.99315e+03_rb /) kbo(:,42,10) = (/ & & 0.99237e+03_rb,0.99435e+03_rb,0.99508e+03_rb,0.99477e+03_rb,0.99348e+03_rb /) kbo(:,43,10) = (/ & & 0.99148e+03_rb,0.99394e+03_rb,0.99491e+03_rb,0.99498e+03_rb,0.99395e+03_rb /) kbo(:,44,10) = (/ & & 0.99040e+03_rb,0.99324e+03_rb,0.99485e+03_rb,0.99508e+03_rb,0.99453e+03_rb /) kbo(:,45,10) = (/ & & 0.98910e+03_rb,0.99241e+03_rb,0.99449e+03_rb,0.99508e+03_rb,0.99476e+03_rb /) kbo(:,46,10) = (/ & & 0.98735e+03_rb,0.99138e+03_rb,0.99388e+03_rb,0.99490e+03_rb,0.99500e+03_rb /) kbo(:,47,10) = (/ & & 0.98565e+03_rb,0.99006e+03_rb,0.99301e+03_rb,0.99477e+03_rb,0.99509e+03_rb /) kbo(:,48,10) = (/ & & 0.98383e+03_rb,0.98834e+03_rb,0.99196e+03_rb,0.99423e+03_rb,0.99507e+03_rb /) kbo(:,49,10) = (/ & & 0.98174e+03_rb,0.98651e+03_rb,0.99073e+03_rb,0.99346e+03_rb,0.99492e+03_rb /) kbo(:,50,10) = (/ & & 0.97955e+03_rb,0.98480e+03_rb,0.98924e+03_rb,0.99257e+03_rb,0.99470e+03_rb /) kbo(:,51,10) = (/ & & 0.97755e+03_rb,0.98298e+03_rb,0.98767e+03_rb,0.99154e+03_rb,0.99399e+03_rb /) kbo(:,52,10) = (/ & & 0.97554e+03_rb,0.98111e+03_rb,0.98597e+03_rb,0.99036e+03_rb,0.99323e+03_rb /) kbo(:,53,10) = (/ & & 0.97320e+03_rb,0.97892e+03_rb,0.98413e+03_rb,0.98888e+03_rb,0.99232e+03_rb /) kbo(:,54,10) = (/ & & 0.97086e+03_rb,0.97720e+03_rb,0.98263e+03_rb,0.98733e+03_rb,0.99135e+03_rb /) kbo(:,55,10) = (/ & & 0.96881e+03_rb,0.97539e+03_rb,0.98096e+03_rb,0.98583e+03_rb,0.99029e+03_rb /) kbo(:,56,10) = (/ & & 0.96735e+03_rb,0.97336e+03_rb,0.97906e+03_rb,0.98435e+03_rb,0.98900e+03_rb /) kbo(:,57,10) = (/ & & 0.96407e+03_rb,0.97115e+03_rb,0.97740e+03_rb,0.98282e+03_rb,0.98752e+03_rb /) kbo(:,58,10) = (/ & & 0.96154e+03_rb,0.96893e+03_rb,0.97574e+03_rb,0.98129e+03_rb,0.98611e+03_rb /) kbo(:,59,10) = (/ & & 0.95571e+03_rb,0.96861e+03_rb,0.97503e+03_rb,0.98063e+03_rb,0.98557e+03_rb /) kbo(:,13,11) = (/ & & 0.98771e+03_rb,0.99296e+03_rb,0.99655e+03_rb,0.99859e+03_rb,0.99936e+03_rb /) kbo(:,14,11) = (/ & & 0.98850e+03_rb,0.99335e+03_rb,0.99679e+03_rb,0.99871e+03_rb,0.99939e+03_rb /) kbo(:,15,11) = (/ & & 0.98905e+03_rb,0.99377e+03_rb,0.99705e+03_rb,0.99882e+03_rb,0.99942e+03_rb /) kbo(:,16,11) = (/ & & 0.98962e+03_rb,0.99419e+03_rb,0.99730e+03_rb,0.99893e+03_rb,0.99945e+03_rb /) kbo(:,17,11) = (/ & & 0.99016e+03_rb,0.99444e+03_rb,0.99754e+03_rb,0.99903e+03_rb,0.99947e+03_rb /) kbo(:,18,11) = (/ & & 0.99067e+03_rb,0.99497e+03_rb,0.99775e+03_rb,0.99911e+03_rb,0.99948e+03_rb /) kbo(:,19,11) = (/ & & 0.99117e+03_rb,0.99532e+03_rb,0.99795e+03_rb,0.99918e+03_rb,0.99949e+03_rb /) kbo(:,20,11) = (/ & & 0.99173e+03_rb,0.99572e+03_rb,0.99816e+03_rb,0.99924e+03_rb,0.99949e+03_rb /) kbo(:,21,11) = (/ & & 0.99228e+03_rb,0.99610e+03_rb,0.99835e+03_rb,0.99929e+03_rb,0.99946e+03_rb /) kbo(:,22,11) = (/ & & 0.99309e+03_rb,0.99663e+03_rb,0.99862e+03_rb,0.99936e+03_rb,0.99953e+03_rb /) kbo(:,23,11) = (/ & & 0.99388e+03_rb,0.99698e+03_rb,0.99900e+03_rb,0.99942e+03_rb,0.99925e+03_rb /) kbo(:,24,11) = (/ & & 0.99466e+03_rb,0.99758e+03_rb,0.99904e+03_rb,0.99947e+03_rb,0.99905e+03_rb /) kbo(:,25,11) = (/ & & 0.99542e+03_rb,0.99800e+03_rb,0.99919e+03_rb,0.99963e+03_rb,0.99878e+03_rb /) kbo(:,26,11) = (/ & & 0.99618e+03_rb,0.99839e+03_rb,0.99930e+03_rb,0.99945e+03_rb,0.99847e+03_rb /) kbo(:,27,11) = (/ & & 0.99683e+03_rb,0.99872e+03_rb,0.99939e+03_rb,0.99934e+03_rb,0.99751e+03_rb /) kbo(:,28,11) = (/ & & 0.99741e+03_rb,0.99897e+03_rb,0.99946e+03_rb,0.99913e+03_rb,0.99749e+03_rb /) kbo(:,29,11) = (/ & & 0.99792e+03_rb,0.99917e+03_rb,0.99949e+03_rb,0.99884e+03_rb,0.99707e+03_rb /) kbo(:,30,11) = (/ & & 0.99821e+03_rb,0.99929e+03_rb,0.99946e+03_rb,0.99850e+03_rb,0.99637e+03_rb /) kbo(:,31,11) = (/ & & 0.99871e+03_rb,0.99938e+03_rb,0.99949e+03_rb,0.99810e+03_rb,0.99532e+03_rb /) kbo(:,32,11) = (/ & & 0.99899e+03_rb,0.99961e+03_rb,0.99926e+03_rb,0.99761e+03_rb,0.99460e+03_rb /) kbo(:,33,11) = (/ & & 0.99918e+03_rb,0.99949e+03_rb,0.99880e+03_rb,0.99700e+03_rb,0.99413e+03_rb /) kbo(:,34,11) = (/ & & 0.99929e+03_rb,0.99946e+03_rb,0.99850e+03_rb,0.99635e+03_rb,0.99329e+03_rb /) kbo(:,35,11) = (/ & & 0.99934e+03_rb,0.99941e+03_rb,0.99830e+03_rb,0.99590e+03_rb,0.99292e+03_rb /) kbo(:,36,11) = (/ & & 0.99935e+03_rb,0.99940e+03_rb,0.99826e+03_rb,0.99583e+03_rb,0.99287e+03_rb /) kbo(:,37,11) = (/ & & 0.99930e+03_rb,0.99946e+03_rb,0.99846e+03_rb,0.99628e+03_rb,0.99327e+03_rb /) kbo(:,38,11) = (/ & & 0.99924e+03_rb,0.99949e+03_rb,0.99866e+03_rb,0.99670e+03_rb,0.99350e+03_rb /) kbo(:,39,11) = (/ & & 0.99917e+03_rb,0.99949e+03_rb,0.99899e+03_rb,0.99707e+03_rb,0.99451e+03_rb /) kbo(:,40,11) = (/ & & 0.99898e+03_rb,0.99946e+03_rb,0.99913e+03_rb,0.99777e+03_rb,0.99505e+03_rb /) kbo(:,41,11) = (/ & & 0.99871e+03_rb,0.99939e+03_rb,0.99935e+03_rb,0.99810e+03_rb,0.99546e+03_rb /) kbo(:,42,11) = (/ & & 0.99835e+03_rb,0.99929e+03_rb,0.99947e+03_rb,0.99851e+03_rb,0.99637e+03_rb /) kbo(:,43,11) = (/ & & 0.99780e+03_rb,0.99913e+03_rb,0.99949e+03_rb,0.99893e+03_rb,0.99722e+03_rb /) kbo(:,44,11) = (/ & & 0.99704e+03_rb,0.99882e+03_rb,0.99942e+03_rb,0.99928e+03_rb,0.99778e+03_rb /) kbo(:,45,11) = (/ & & 0.99613e+03_rb,0.99837e+03_rb,0.99930e+03_rb,0.99947e+03_rb,0.99849e+03_rb /) kbo(:,46,11) = (/ & & 0.99492e+03_rb,0.99787e+03_rb,0.99911e+03_rb,0.99949e+03_rb,0.99897e+03_rb /) kbo(:,47,11) = (/ & & 0.99335e+03_rb,0.99679e+03_rb,0.99871e+03_rb,0.99939e+03_rb,0.99936e+03_rb /) kbo(:,48,11) = (/ & & 0.99156e+03_rb,0.99560e+03_rb,0.99810e+03_rb,0.99923e+03_rb,0.99951e+03_rb /) kbo(:,49,11) = (/ & & 0.98955e+03_rb,0.99414e+03_rb,0.99727e+03_rb,0.99894e+03_rb,0.99946e+03_rb /) kbo(:,50,11) = (/ & & 0.98749e+03_rb,0.99256e+03_rb,0.99630e+03_rb,0.99847e+03_rb,0.99918e+03_rb /) kbo(:,51,11) = (/ & & 0.98496e+03_rb,0.99085e+03_rb,0.99509e+03_rb,0.99784e+03_rb,0.99916e+03_rb /) kbo(:,52,11) = (/ & & 0.98304e+03_rb,0.98897e+03_rb,0.99370e+03_rb,0.99701e+03_rb,0.99883e+03_rb /) kbo(:,53,11) = (/ & & 0.98104e+03_rb,0.98693e+03_rb,0.99213e+03_rb,0.99600e+03_rb,0.99833e+03_rb /) kbo(:,54,11) = (/ & & 0.97906e+03_rb,0.98440e+03_rb,0.99053e+03_rb,0.99485e+03_rb,0.99771e+03_rb /) kbo(:,55,11) = (/ & & 0.97789e+03_rb,0.98286e+03_rb,0.98886e+03_rb,0.99361e+03_rb,0.99696e+03_rb /) kbo(:,56,11) = (/ & & 0.97514e+03_rb,0.98117e+03_rb,0.98708e+03_rb,0.99224e+03_rb,0.99622e+03_rb /) kbo(:,57,11) = (/ & & 0.97242e+03_rb,0.97945e+03_rb,0.98472e+03_rb,0.99072e+03_rb,0.99500e+03_rb /) kbo(:,58,11) = (/ & & 0.96969e+03_rb,0.97814e+03_rb,0.98316e+03_rb,0.98916e+03_rb,0.99384e+03_rb /) kbo(:,59,11) = (/ & & 0.96859e+03_rb,0.97725e+03_rb,0.98261e+03_rb,0.98851e+03_rb,0.99335e+03_rb /) kbo(:,13,12) = (/ & & 0.99768e+03_rb,0.99984e+03_rb,0.10010e+04_rb,0.10024e+04_rb,0.10029e+04_rb /) kbo(:,14,12) = (/ & & 0.99795e+03_rb,0.99992e+03_rb,0.10011e+04_rb,0.10025e+04_rb,0.10029e+04_rb /) kbo(:,15,12) = (/ & & 0.99880e+03_rb,0.99996e+03_rb,0.10013e+04_rb,0.10026e+04_rb,0.10031e+04_rb /) kbo(:,16,12) = (/ & & 0.99852e+03_rb,0.10003e+04_rb,0.10015e+04_rb,0.10028e+04_rb,0.10029e+04_rb /) kbo(:,17,12) = (/ & & 0.99876e+03_rb,0.10000e+04_rb,0.10016e+04_rb,0.10027e+04_rb,0.10029e+04_rb /) kbo(:,18,12) = (/ & & 0.99898e+03_rb,0.10001e+04_rb,0.10018e+04_rb,0.10028e+04_rb,0.10028e+04_rb /) kbo(:,19,12) = (/ & & 0.99918e+03_rb,0.10003e+04_rb,0.10021e+04_rb,0.10028e+04_rb,0.10028e+04_rb /) kbo(:,20,12) = (/ & & 0.99940e+03_rb,0.10005e+04_rb,0.10026e+04_rb,0.10029e+04_rb,0.10031e+04_rb /) kbo(:,21,12) = (/ & & 0.99959e+03_rb,0.10007e+04_rb,0.10022e+04_rb,0.10029e+04_rb,0.10026e+04_rb /) kbo(:,22,12) = (/ & & 0.99984e+03_rb,0.10010e+04_rb,0.10024e+04_rb,0.10030e+04_rb,0.10023e+04_rb /) kbo(:,23,12) = (/ & & 0.99996e+03_rb,0.10013e+04_rb,0.10024e+04_rb,0.10029e+04_rb,0.10025e+04_rb /) kbo(:,24,12) = (/ & & 0.10000e+04_rb,0.10016e+04_rb,0.10029e+04_rb,0.10029e+04_rb,0.10023e+04_rb /) kbo(:,25,12) = (/ & & 0.10003e+04_rb,0.10023e+04_rb,0.10029e+04_rb,0.10026e+04_rb,0.10019e+04_rb /) kbo(:,26,12) = (/ & & 0.10007e+04_rb,0.10022e+04_rb,0.10029e+04_rb,0.10026e+04_rb,0.10015e+04_rb /) kbo(:,27,12) = (/ & & 0.10012e+04_rb,0.10025e+04_rb,0.10031e+04_rb,0.10024e+04_rb,0.10010e+04_rb /) kbo(:,28,12) = (/ & & 0.10015e+04_rb,0.10027e+04_rb,0.10029e+04_rb,0.10022e+04_rb,0.10005e+04_rb /) kbo(:,29,12) = (/ & & 0.10019e+04_rb,0.10028e+04_rb,0.10028e+04_rb,0.10019e+04_rb,0.99992e+03_rb /) kbo(:,30,12) = (/ & & 0.10022e+04_rb,0.10029e+04_rb,0.10026e+04_rb,0.10017e+04_rb,0.99965e+03_rb /) kbo(:,31,12) = (/ & & 0.10025e+04_rb,0.10030e+04_rb,0.10022e+04_rb,0.10011e+04_rb,0.99843e+03_rb /) kbo(:,32,12) = (/ & & 0.10027e+04_rb,0.10029e+04_rb,0.10020e+04_rb,0.10007e+04_rb,0.99748e+03_rb /) kbo(:,33,12) = (/ & & 0.10029e+04_rb,0.10028e+04_rb,0.10021e+04_rb,0.10000e+04_rb,0.99658e+03_rb /) kbo(:,34,12) = (/ & & 0.10031e+04_rb,0.10026e+04_rb,0.10017e+04_rb,0.99945e+03_rb,0.99563e+03_rb /) kbo(:,35,12) = (/ & & 0.10030e+04_rb,0.10025e+04_rb,0.10031e+04_rb,0.99888e+03_rb,0.99496e+03_rb /) kbo(:,36,12) = (/ & & 0.10030e+04_rb,0.10025e+04_rb,0.10020e+04_rb,0.99880e+03_rb,0.99482e+03_rb /) kbo(:,37,12) = (/ & & 0.10029e+04_rb,0.10026e+04_rb,0.10015e+04_rb,0.99939e+03_rb,0.99547e+03_rb /) kbo(:,38,12) = (/ & & 0.10029e+04_rb,0.10027e+04_rb,0.10017e+04_rb,0.99958e+03_rb,0.99634e+03_rb /) kbo(:,39,12) = (/ & & 0.10028e+04_rb,0.10028e+04_rb,0.10017e+04_rb,0.99993e+03_rb,0.99613e+03_rb /) kbo(:,40,12) = (/ & & 0.10027e+04_rb,0.10029e+04_rb,0.10022e+04_rb,0.10003e+04_rb,0.99696e+03_rb /) kbo(:,41,12) = (/ & & 0.10027e+04_rb,0.10029e+04_rb,0.10024e+04_rb,0.10013e+04_rb,0.99857e+03_rb /) kbo(:,42,12) = (/ & & 0.10022e+04_rb,0.10029e+04_rb,0.10028e+04_rb,0.10021e+04_rb,0.99929e+03_rb /) kbo(:,43,12) = (/ & & 0.10018e+04_rb,0.10028e+04_rb,0.10028e+04_rb,0.10020e+04_rb,0.10001e+04_rb /) kbo(:,44,12) = (/ & & 0.10013e+04_rb,0.10026e+04_rb,0.10029e+04_rb,0.10023e+04_rb,0.10016e+04_rb /) kbo(:,45,12) = (/ & & 0.10007e+04_rb,0.10022e+04_rb,0.10029e+04_rb,0.10026e+04_rb,0.10015e+04_rb /) kbo(:,46,12) = (/ & & 0.10014e+04_rb,0.10016e+04_rb,0.10028e+04_rb,0.10028e+04_rb,0.10020e+04_rb /) kbo(:,47,12) = (/ & & 0.99993e+03_rb,0.10012e+04_rb,0.10025e+04_rb,0.10029e+04_rb,0.10024e+04_rb /) kbo(:,48,12) = (/ & & 0.99937e+03_rb,0.10005e+04_rb,0.10022e+04_rb,0.10029e+04_rb,0.10027e+04_rb /) kbo(:,49,12) = (/ & & 0.99853e+03_rb,0.10002e+04_rb,0.10015e+04_rb,0.10026e+04_rb,0.10029e+04_rb /) kbo(:,50,12) = (/ & & 0.99741e+03_rb,0.99993e+03_rb,0.10008e+04_rb,0.10023e+04_rb,0.10029e+04_rb /) kbo(:,51,12) = (/ & & 0.99665e+03_rb,0.99912e+03_rb,0.10002e+04_rb,0.10018e+04_rb,0.10028e+04_rb /) kbo(:,52,12) = (/ & & 0.99385e+03_rb,0.99826e+03_rb,0.10000e+04_rb,0.10013e+04_rb,0.10025e+04_rb /) kbo(:,53,12) = (/ & & 0.99099e+03_rb,0.99714e+03_rb,0.99965e+03_rb,0.10007e+04_rb,0.10022e+04_rb /) kbo(:,54,12) = (/ & & 0.98826e+03_rb,0.99612e+03_rb,0.99903e+03_rb,0.10002e+04_rb,0.10018e+04_rb /) kbo(:,55,12) = (/ & & 0.98397e+03_rb,0.99379e+03_rb,0.99822e+03_rb,0.10000e+04_rb,0.10013e+04_rb /) kbo(:,56,12) = (/ & & 0.98006e+03_rb,0.99120e+03_rb,0.99722e+03_rb,0.99969e+03_rb,0.10006e+04_rb /) kbo(:,57,12) = (/ & & 0.97631e+03_rb,0.98840e+03_rb,0.99624e+03_rb,0.99911e+03_rb,0.10002e+04_rb /) kbo(:,58,12) = (/ & & 0.97279e+03_rb,0.98508e+03_rb,0.99422e+03_rb,0.99838e+03_rb,0.10001e+04_rb /) kbo(:,59,12) = (/ & & 0.97171e+03_rb,0.98327e+03_rb,0.99315e+03_rb,0.99818e+03_rb,0.99997e+03_rb /) kbo(:,13,13) = (/ & & 0.99623e+03_rb,0.99978e+03_rb,0.10034e+04_rb,0.10050e+04_rb,0.10054e+04_rb /) kbo(:,14,13) = (/ & & 0.99674e+03_rb,0.10002e+04_rb,0.10034e+04_rb,0.10050e+04_rb,0.10053e+04_rb /) kbo(:,15,13) = (/ & & 0.99652e+03_rb,0.10007e+04_rb,0.10036e+04_rb,0.10051e+04_rb,0.10051e+04_rb /) kbo(:,16,13) = (/ & & 0.99785e+03_rb,0.10007e+04_rb,0.10039e+04_rb,0.10049e+04_rb,0.10053e+04_rb /) kbo(:,17,13) = (/ & & 0.99816e+03_rb,0.10017e+04_rb,0.10043e+04_rb,0.10052e+04_rb,0.10052e+04_rb /) kbo(:,18,13) = (/ & & 0.99792e+03_rb,0.10021e+04_rb,0.10042e+04_rb,0.10053e+04_rb,0.10051e+04_rb /) kbo(:,19,13) = (/ & & 0.99826e+03_rb,0.10023e+04_rb,0.10042e+04_rb,0.10053e+04_rb,0.10051e+04_rb /) kbo(:,20,13) = (/ & & 0.99869e+03_rb,0.10028e+04_rb,0.10038e+04_rb,0.10053e+04_rb,0.10044e+04_rb /) kbo(:,21,13) = (/ & & 0.99914e+03_rb,0.10028e+04_rb,0.10048e+04_rb,0.10054e+04_rb,0.10048e+04_rb /) kbo(:,22,13) = (/ & & 0.99989e+03_rb,0.10035e+04_rb,0.10050e+04_rb,0.10053e+04_rb,0.10046e+04_rb /) kbo(:,23,13) = (/ & & 0.10011e+04_rb,0.10037e+04_rb,0.10051e+04_rb,0.10053e+04_rb,0.10041e+04_rb /) kbo(:,24,13) = (/ & & 0.10018e+04_rb,0.10041e+04_rb,0.10050e+04_rb,0.10052e+04_rb,0.10037e+04_rb /) kbo(:,25,13) = (/ & & 0.10026e+04_rb,0.10040e+04_rb,0.10056e+04_rb,0.10050e+04_rb,0.10036e+04_rb /) kbo(:,26,13) = (/ & & 0.10031e+04_rb,0.10048e+04_rb,0.10054e+04_rb,0.10050e+04_rb,0.10030e+04_rb /) kbo(:,27,13) = (/ & & 0.10047e+04_rb,0.10050e+04_rb,0.10051e+04_rb,0.10045e+04_rb,0.10025e+04_rb /) kbo(:,28,13) = (/ & & 0.10039e+04_rb,0.10052e+04_rb,0.10052e+04_rb,0.10041e+04_rb,0.10018e+04_rb /) kbo(:,29,13) = (/ & & 0.10044e+04_rb,0.10053e+04_rb,0.10051e+04_rb,0.10037e+04_rb,0.10011e+04_rb /) kbo(:,30,13) = (/ & & 0.10048e+04_rb,0.10054e+04_rb,0.10048e+04_rb,0.10029e+04_rb,0.99977e+03_rb /) kbo(:,31,13) = (/ & & 0.10050e+04_rb,0.10053e+04_rb,0.10045e+04_rb,0.10025e+04_rb,0.99968e+03_rb /) kbo(:,32,13) = (/ & & 0.10052e+04_rb,0.10050e+04_rb,0.10041e+04_rb,0.10015e+04_rb,0.99880e+03_rb /) kbo(:,33,13) = (/ & & 0.10053e+04_rb,0.10050e+04_rb,0.10033e+04_rb,0.10008e+04_rb,0.99675e+03_rb /) kbo(:,34,13) = (/ & & 0.10051e+04_rb,0.10048e+04_rb,0.10028e+04_rb,0.10000e+04_rb,0.99529e+03_rb /) kbo(:,35,13) = (/ & & 0.10054e+04_rb,0.10047e+04_rb,0.10003e+04_rb,0.99992e+03_rb,0.99481e+03_rb /) kbo(:,36,13) = (/ & & 0.10054e+04_rb,0.10046e+04_rb,0.10017e+04_rb,0.99987e+03_rb,0.99445e+03_rb /) kbo(:,37,13) = (/ & & 0.10054e+04_rb,0.10048e+04_rb,0.10030e+04_rb,0.99995e+03_rb,0.99517e+03_rb /) kbo(:,38,13) = (/ & & 0.10054e+04_rb,0.10049e+04_rb,0.10034e+04_rb,0.10006e+04_rb,0.99603e+03_rb /) kbo(:,39,13) = (/ & & 0.10053e+04_rb,0.10051e+04_rb,0.10037e+04_rb,0.10011e+04_rb,0.99693e+03_rb /) kbo(:,40,13) = (/ & & 0.10052e+04_rb,0.10052e+04_rb,0.10041e+04_rb,0.10018e+04_rb,0.99860e+03_rb /) kbo(:,41,13) = (/ & & 0.10048e+04_rb,0.10053e+04_rb,0.10045e+04_rb,0.10023e+04_rb,0.99951e+03_rb /) kbo(:,42,13) = (/ & & 0.10048e+04_rb,0.10054e+04_rb,0.10046e+04_rb,0.10024e+04_rb,0.10003e+04_rb /) kbo(:,43,13) = (/ & & 0.10043e+04_rb,0.10053e+04_rb,0.10051e+04_rb,0.10038e+04_rb,0.10013e+04_rb /) kbo(:,44,13) = (/ & & 0.10036e+04_rb,0.10051e+04_rb,0.10053e+04_rb,0.10044e+04_rb,0.10012e+04_rb /) kbo(:,45,13) = (/ & & 0.10028e+04_rb,0.10048e+04_rb,0.10054e+04_rb,0.10048e+04_rb,0.10031e+04_rb /) kbo(:,46,13) = (/ & & 0.10008e+04_rb,0.10042e+04_rb,0.10053e+04_rb,0.10052e+04_rb,0.10038e+04_rb /) kbo(:,47,13) = (/ & & 0.10002e+04_rb,0.10039e+04_rb,0.10050e+04_rb,0.10053e+04_rb,0.10045e+04_rb /) kbo(:,48,13) = (/ & & 0.99859e+03_rb,0.10025e+04_rb,0.10043e+04_rb,0.10054e+04_rb,0.10050e+04_rb /) kbo(:,49,13) = (/ & & 0.99776e+03_rb,0.10009e+04_rb,0.10041e+04_rb,0.10052e+04_rb,0.10053e+04_rb /) kbo(:,50,13) = (/ & & 0.99565e+03_rb,0.99944e+03_rb,0.10034e+04_rb,0.10049e+04_rb,0.10054e+04_rb /) kbo(:,51,13) = (/ & & 0.99271e+03_rb,0.99811e+03_rb,0.10022e+04_rb,0.10043e+04_rb,0.10053e+04_rb /) kbo(:,52,13) = (/ & & 0.99056e+03_rb,0.99717e+03_rb,0.10006e+04_rb,0.10036e+04_rb,0.10051e+04_rb /) kbo(:,53,13) = (/ & & 0.98830e+03_rb,0.99502e+03_rb,0.99909e+03_rb,0.10028e+04_rb,0.10048e+04_rb /) kbo(:,54,13) = (/ & & 0.98610e+03_rb,0.99275e+03_rb,0.99821e+03_rb,0.10021e+04_rb,0.10042e+04_rb /) kbo(:,55,13) = (/ & & 0.98386e+03_rb,0.99045e+03_rb,0.99729e+03_rb,0.10008e+04_rb,0.10038e+04_rb /) kbo(:,56,13) = (/ & & 0.98150e+03_rb,0.98846e+03_rb,0.99517e+03_rb,0.99919e+03_rb,0.10028e+04_rb /) kbo(:,57,13) = (/ & & 0.97902e+03_rb,0.98636e+03_rb,0.99303e+03_rb,0.99832e+03_rb,0.10022e+04_rb /) kbo(:,58,13) = (/ & & 0.97656e+03_rb,0.98426e+03_rb,0.99079e+03_rb,0.99735e+03_rb,0.10008e+04_rb /) kbo(:,59,13) = (/ & & 0.97503e+03_rb,0.98337e+03_rb,0.99004e+03_rb,0.99647e+03_rb,0.10002e+04_rb /) kbo(:,13,14) = (/ & & 0.99596e+03_rb,0.10023e+04_rb,0.10047e+04_rb,0.10067e+04_rb,0.10072e+04_rb /) kbo(:,14,14) = (/ & & 0.99625e+03_rb,0.10024e+04_rb,0.10052e+04_rb,0.10068e+04_rb,0.10071e+04_rb /) kbo(:,15,14) = (/ & & 0.99662e+03_rb,0.10025e+04_rb,0.10054e+04_rb,0.10069e+04_rb,0.10071e+04_rb /) kbo(:,16,14) = (/ & & 0.99703e+03_rb,0.10026e+04_rb,0.10056e+04_rb,0.10070e+04_rb,0.10070e+04_rb /) kbo(:,17,14) = (/ & & 0.99784e+03_rb,0.10032e+04_rb,0.10054e+04_rb,0.10071e+04_rb,0.10070e+04_rb /) kbo(:,18,14) = (/ & & 0.99947e+03_rb,0.10032e+04_rb,0.10060e+04_rb,0.10071e+04_rb,0.10069e+04_rb /) kbo(:,19,14) = (/ & & 0.10001e+04_rb,0.10036e+04_rb,0.10062e+04_rb,0.10071e+04_rb,0.10068e+04_rb /) kbo(:,20,14) = (/ & & 0.10009e+04_rb,0.10037e+04_rb,0.10064e+04_rb,0.10076e+04_rb,0.10067e+04_rb /) kbo(:,21,14) = (/ & & 0.10015e+04_rb,0.10046e+04_rb,0.10065e+04_rb,0.10072e+04_rb,0.10065e+04_rb /) kbo(:,22,14) = (/ & & 0.10023e+04_rb,0.10047e+04_rb,0.10068e+04_rb,0.10071e+04_rb,0.10063e+04_rb /) kbo(:,23,14) = (/ & & 0.10021e+04_rb,0.10055e+04_rb,0.10069e+04_rb,0.10071e+04_rb,0.10060e+04_rb /) kbo(:,24,14) = (/ & & 0.10028e+04_rb,0.10059e+04_rb,0.10071e+04_rb,0.10069e+04_rb,0.10057e+04_rb /) kbo(:,25,14) = (/ & & 0.10033e+04_rb,0.10062e+04_rb,0.10068e+04_rb,0.10068e+04_rb,0.10052e+04_rb /) kbo(:,26,14) = (/ & & 0.10043e+04_rb,0.10066e+04_rb,0.10072e+04_rb,0.10061e+04_rb,0.10047e+04_rb /) kbo(:,27,14) = (/ & & 0.10033e+04_rb,0.10068e+04_rb,0.10071e+04_rb,0.10062e+04_rb,0.10042e+04_rb /) kbo(:,28,14) = (/ & & 0.10057e+04_rb,0.10070e+04_rb,0.10070e+04_rb,0.10058e+04_rb,0.10036e+04_rb /) kbo(:,29,14) = (/ & & 0.10062e+04_rb,0.10075e+04_rb,0.10068e+04_rb,0.10053e+04_rb,0.10030e+04_rb /) kbo(:,30,14) = (/ & & 0.10065e+04_rb,0.10072e+04_rb,0.10069e+04_rb,0.10048e+04_rb,0.10022e+04_rb /) kbo(:,31,14) = (/ & & 0.10068e+04_rb,0.10071e+04_rb,0.10062e+04_rb,0.10042e+04_rb,0.10014e+04_rb /) kbo(:,32,14) = (/ & & 0.10070e+04_rb,0.10070e+04_rb,0.10058e+04_rb,0.10035e+04_rb,0.99925e+03_rb /) kbo(:,33,14) = (/ & & 0.10071e+04_rb,0.10068e+04_rb,0.10053e+04_rb,0.10029e+04_rb,0.99808e+03_rb /) kbo(:,34,14) = (/ & & 0.10072e+04_rb,0.10065e+04_rb,0.10048e+04_rb,0.10021e+04_rb,0.99788e+03_rb /) kbo(:,35,14) = (/ & & 0.10072e+04_rb,0.10064e+04_rb,0.10045e+04_rb,0.10016e+04_rb,0.99700e+03_rb /) kbo(:,36,14) = (/ & & 0.10072e+04_rb,0.10063e+04_rb,0.10044e+04_rb,0.10015e+04_rb,0.99731e+03_rb /) kbo(:,37,14) = (/ & & 0.10072e+04_rb,0.10065e+04_rb,0.10047e+04_rb,0.10021e+04_rb,0.99778e+03_rb /) kbo(:,38,14) = (/ & & 0.10072e+04_rb,0.10067e+04_rb,0.10050e+04_rb,0.10026e+04_rb,0.99820e+03_rb /) kbo(:,39,14) = (/ & & 0.10071e+04_rb,0.10068e+04_rb,0.10053e+04_rb,0.10030e+04_rb,0.99855e+03_rb /) kbo(:,40,14) = (/ & & 0.10070e+04_rb,0.10070e+04_rb,0.10058e+04_rb,0.10036e+04_rb,0.99965e+03_rb /) kbo(:,41,14) = (/ & & 0.10068e+04_rb,0.10071e+04_rb,0.10062e+04_rb,0.10042e+04_rb,0.10010e+04_rb /) kbo(:,42,14) = (/ & & 0.10065e+04_rb,0.10072e+04_rb,0.10065e+04_rb,0.10048e+04_rb,0.10022e+04_rb /) kbo(:,43,14) = (/ & & 0.10061e+04_rb,0.10071e+04_rb,0.10069e+04_rb,0.10055e+04_rb,0.10031e+04_rb /) kbo(:,44,14) = (/ & & 0.10054e+04_rb,0.10069e+04_rb,0.10071e+04_rb,0.10061e+04_rb,0.10039e+04_rb /) kbo(:,45,14) = (/ & & 0.10046e+04_rb,0.10066e+04_rb,0.10072e+04_rb,0.10065e+04_rb,0.10048e+04_rb /) kbo(:,46,14) = (/ & & 0.10023e+04_rb,0.10060e+04_rb,0.10075e+04_rb,0.10069e+04_rb,0.10055e+04_rb /) kbo(:,47,14) = (/ & & 0.10024e+04_rb,0.10044e+04_rb,0.10068e+04_rb,0.10071e+04_rb,0.10062e+04_rb /) kbo(:,48,14) = (/ & & 0.10006e+04_rb,0.10039e+04_rb,0.10063e+04_rb,0.10072e+04_rb,0.10067e+04_rb /) kbo(:,49,14) = (/ & & 0.99705e+03_rb,0.10026e+04_rb,0.10052e+04_rb,0.10070e+04_rb,0.10070e+04_rb /) kbo(:,50,14) = (/ & & 0.99574e+03_rb,0.10014e+04_rb,0.10040e+04_rb,0.10066e+04_rb,0.10072e+04_rb /) kbo(:,51,14) = (/ & & 0.99447e+03_rb,0.99966e+03_rb,0.10033e+04_rb,0.10065e+04_rb,0.10071e+04_rb /) kbo(:,52,14) = (/ & & 0.99299e+03_rb,0.99670e+03_rb,0.10025e+04_rb,0.10054e+04_rb,0.10069e+04_rb /) kbo(:,53,14) = (/ & & 0.99138e+03_rb,0.99552e+03_rb,0.10013e+04_rb,0.10044e+04_rb,0.10065e+04_rb /) kbo(:,54,14) = (/ & & 0.98979e+03_rb,0.99462e+03_rb,0.99874e+03_rb,0.10030e+04_rb,0.10060e+04_rb /) kbo(:,55,14) = (/ & & 0.98814e+03_rb,0.99291e+03_rb,0.99630e+03_rb,0.10029e+04_rb,0.10050e+04_rb /) kbo(:,56,14) = (/ & & 0.98639e+03_rb,0.99150e+03_rb,0.99562e+03_rb,0.10014e+04_rb,0.10045e+04_rb /) kbo(:,57,14) = (/ & & 0.98454e+03_rb,0.98998e+03_rb,0.99438e+03_rb,0.99904e+03_rb,0.10032e+04_rb /) kbo(:,58,14) = (/ & & 0.98268e+03_rb,0.98844e+03_rb,0.99315e+03_rb,0.99688e+03_rb,0.10025e+04_rb /) kbo(:,59,14) = (/ & & 0.98190e+03_rb,0.98779e+03_rb,0.99262e+03_rb,0.99638e+03_rb,0.10024e+04_rb /) kbo(:,13,15) = (/ & & 0.99739e+03_rb,0.10017e+04_rb,0.10064e+04_rb,0.10076e+04_rb,0.10080e+04_rb /) kbo(:,14,15) = (/ & & 0.99781e+03_rb,0.10021e+04_rb,0.10065e+04_rb,0.10077e+04_rb,0.10090e+04_rb /) kbo(:,15,15) = (/ & & 0.99827e+03_rb,0.10029e+04_rb,0.10067e+04_rb,0.10077e+04_rb,0.10079e+04_rb /) kbo(:,16,15) = (/ & & 0.99875e+03_rb,0.10040e+04_rb,0.10068e+04_rb,0.10078e+04_rb,0.10089e+04_rb /) kbo(:,17,15) = (/ & & 0.99816e+03_rb,0.10041e+04_rb,0.10080e+04_rb,0.10079e+04_rb,0.10078e+04_rb /) kbo(:,18,15) = (/ & & 0.99861e+03_rb,0.10065e+04_rb,0.10071e+04_rb,0.10090e+04_rb,0.10078e+04_rb /) kbo(:,19,15) = (/ & & 0.10001e+04_rb,0.10056e+04_rb,0.10072e+04_rb,0.10079e+04_rb,0.10077e+04_rb /) kbo(:,20,15) = (/ & & 0.99952e+03_rb,0.10059e+04_rb,0.10074e+04_rb,0.10090e+04_rb,0.10087e+04_rb /) kbo(:,21,15) = (/ & & 0.10000e+04_rb,0.10061e+04_rb,0.10085e+04_rb,0.10080e+04_rb,0.10085e+04_rb /) kbo(:,22,15) = (/ & & 0.10012e+04_rb,0.10064e+04_rb,0.10076e+04_rb,0.10090e+04_rb,0.10073e+04_rb /) kbo(:,23,15) = (/ & & 0.10032e+04_rb,0.10067e+04_rb,0.10088e+04_rb,0.10079e+04_rb,0.10070e+04_rb /) kbo(:,24,15) = (/ & & 0.10052e+04_rb,0.10070e+04_rb,0.10079e+04_rb,0.10089e+04_rb,0.10067e+04_rb /) kbo(:,25,15) = (/ & & 0.10057e+04_rb,0.10083e+04_rb,0.10079e+04_rb,0.10098e+04_rb,0.10062e+04_rb /) kbo(:,26,15) = (/ & & 0.10061e+04_rb,0.10085e+04_rb,0.10080e+04_rb,0.10075e+04_rb,0.10068e+04_rb /) kbo(:,27,15) = (/ & & 0.10066e+04_rb,0.10087e+04_rb,0.10111e+04_rb,0.10072e+04_rb,0.10051e+04_rb /) kbo(:,28,15) = (/ & & 0.10069e+04_rb,0.10089e+04_rb,0.10079e+04_rb,0.10068e+04_rb,0.10054e+04_rb /) kbo(:,29,15) = (/ & & 0.10072e+04_rb,0.10069e+04_rb,0.10077e+04_rb,0.10063e+04_rb,0.10034e+04_rb /) kbo(:,30,15) = (/ & & 0.10075e+04_rb,0.10111e+04_rb,0.10075e+04_rb,0.10068e+04_rb,0.10088e+04_rb /) kbo(:,31,15) = (/ & & 0.10077e+04_rb,0.10080e+04_rb,0.10072e+04_rb,0.10061e+04_rb,0.10007e+04_rb /) kbo(:,32,15) = (/ & & 0.10078e+04_rb,0.10089e+04_rb,0.10068e+04_rb,0.10043e+04_rb,0.10013e+04_rb /) kbo(:,33,15) = (/ & & 0.10079e+04_rb,0.10077e+04_rb,0.10063e+04_rb,0.10044e+04_rb,0.10009e+04_rb /) kbo(:,34,15) = (/ & & 0.10090e+04_rb,0.10075e+04_rb,0.10058e+04_rb,0.10025e+04_rb,0.10002e+04_rb /) kbo(:,35,15) = (/ & & 0.10080e+04_rb,0.10073e+04_rb,0.10054e+04_rb,0.10021e+04_rb,0.99972e+03_rb /) kbo(:,36,15) = (/ & & 0.10090e+04_rb,0.10073e+04_rb,0.10054e+04_rb,0.10020e+04_rb,0.99964e+03_rb /) kbo(:,37,15) = (/ & & 0.10080e+04_rb,0.10075e+04_rb,0.10057e+04_rb,0.10024e+04_rb,0.10001e+04_rb /) kbo(:,38,15) = (/ & & 0.10090e+04_rb,0.10076e+04_rb,0.10060e+04_rb,0.10040e+04_rb,0.10006e+04_rb /) kbo(:,39,15) = (/ & & 0.10079e+04_rb,0.10077e+04_rb,0.10063e+04_rb,0.10034e+04_rb,0.10010e+04_rb /) kbo(:,40,15) = (/ & & 0.10089e+04_rb,0.10089e+04_rb,0.10068e+04_rb,0.10054e+04_rb,0.10014e+04_rb /) kbo(:,41,15) = (/ & & 0.10087e+04_rb,0.10090e+04_rb,0.10082e+04_rb,0.10051e+04_rb,0.10018e+04_rb /) kbo(:,42,15) = (/ & & 0.10085e+04_rb,0.10090e+04_rb,0.10075e+04_rb,0.10058e+04_rb,0.10025e+04_rb /) kbo(:,43,15) = (/ & & 0.10071e+04_rb,0.10079e+04_rb,0.10078e+04_rb,0.10086e+04_rb,0.10037e+04_rb /) kbo(:,44,15) = (/ & & 0.10067e+04_rb,0.10088e+04_rb,0.10079e+04_rb,0.10071e+04_rb,0.10048e+04_rb /) kbo(:,45,15) = (/ & & 0.10061e+04_rb,0.10075e+04_rb,0.10090e+04_rb,0.10096e+04_rb,0.10057e+04_rb /) kbo(:,46,15) = (/ & & 0.10054e+04_rb,0.10071e+04_rb,0.10068e+04_rb,0.10078e+04_rb,0.10065e+04_rb /) kbo(:,47,15) = (/ & & 0.10020e+04_rb,0.10065e+04_rb,0.10087e+04_rb,0.10079e+04_rb,0.10093e+04_rb /) kbo(:,48,15) = (/ & & 0.99938e+03_rb,0.10058e+04_rb,0.10073e+04_rb,0.10079e+04_rb,0.10087e+04_rb /) kbo(:,49,15) = (/ & & 0.99869e+03_rb,0.10038e+04_rb,0.10079e+04_rb,0.10099e+04_rb,0.10089e+04_rb /) kbo(:,50,15) = (/ & & 0.99593e+03_rb,0.10003e+04_rb,0.10062e+04_rb,0.10075e+04_rb,0.10090e+04_rb /) kbo(:,51,15) = (/ & & 0.99417e+03_rb,0.99877e+03_rb,0.10055e+04_rb,0.10061e+04_rb,0.10090e+04_rb /) kbo(:,52,15) = (/ & & 0.99334e+03_rb,0.99717e+03_rb,0.10030e+04_rb,0.10077e+04_rb,0.10077e+04_rb /) kbo(:,53,15) = (/ & & 0.99034e+03_rb,0.99548e+03_rb,0.99989e+03_rb,0.10071e+04_rb,0.10085e+04_rb /) kbo(:,54,15) = (/ & & 0.98844e+03_rb,0.99385e+03_rb,0.99849e+03_rb,0.10064e+04_rb,0.10081e+04_rb /) kbo(:,55,15) = (/ & & 0.98654e+03_rb,0.99323e+03_rb,0.99708e+03_rb,0.10005e+04_rb,0.10066e+04_rb /) kbo(:,56,15) = (/ & & 0.98558e+03_rb,0.99048e+03_rb,0.99560e+03_rb,0.99999e+03_rb,0.10071e+04_rb /) kbo(:,57,15) = (/ & & 0.98349e+03_rb,0.98867e+03_rb,0.99404e+03_rb,0.99866e+03_rb,0.10054e+04_rb /) kbo(:,58,15) = (/ & & 0.98039e+03_rb,0.98688e+03_rb,0.99250e+03_rb,0.99837e+03_rb,0.10028e+04_rb /) kbo(:,59,15) = (/ & & 0.97954e+03_rb,0.98614e+03_rb,0.99186e+03_rb,0.99679e+03_rb,0.10019e+04_rb /) kbo(:,13,16) = (/ & & 0.98905e+03_rb,0.99319e+03_rb,0.10065e+04_rb,0.10075e+04_rb,0.10080e+04_rb /) kbo(:,14,16) = (/ & & 0.98947e+03_rb,0.10009e+04_rb,0.10067e+04_rb,0.10076e+04_rb,0.10005e+04_rb /) kbo(:,15,16) = (/ & & 0.98993e+03_rb,0.10052e+04_rb,0.10068e+04_rb,0.10076e+04_rb,0.10080e+04_rb /) kbo(:,16,16) = (/ & & 0.99040e+03_rb,0.10054e+04_rb,0.10069e+04_rb,0.10077e+04_rb,0.10005e+04_rb /) kbo(:,17,16) = (/ & & 0.99823e+03_rb,0.10056e+04_rb,0.99955e+03_rb,0.10078e+04_rb,0.10080e+04_rb /) kbo(:,18,16) = (/ & & 0.99867e+03_rb,0.99832e+03_rb,0.10071e+04_rb,0.10003e+04_rb,0.10079e+04_rb /) kbo(:,19,16) = (/ & & 0.99168e+03_rb,0.10059e+04_rb,0.10072e+04_rb,0.10078e+04_rb,0.10079e+04_rb /) kbo(:,20,16) = (/ & & 0.99955e+03_rb,0.10061e+04_rb,0.10073e+04_rb,0.99297e+03_rb,0.10003e+04_rb /) kbo(:,21,16) = (/ & & 0.10000e+04_rb,0.10063e+04_rb,0.99994e+03_rb,0.10079e+04_rb,0.10002e+04_rb /) kbo(:,22,16) = (/ & & 0.10007e+04_rb,0.10066e+04_rb,0.10075e+04_rb,0.10005e+04_rb,0.10075e+04_rb /) kbo(:,23,16) = (/ & & 0.10052e+04_rb,0.10068e+04_rb,0.10002e+04_rb,0.10080e+04_rb,0.10072e+04_rb /) kbo(:,24,16) = (/ & & 0.10056e+04_rb,0.10070e+04_rb,0.10078e+04_rb,0.10005e+04_rb,0.10068e+04_rb /) kbo(:,25,16) = (/ & & 0.10060e+04_rb,0.99977e+03_rb,0.10079e+04_rb,0.99294e+03_rb,0.10064e+04_rb /) kbo(:,26,16) = (/ & & 0.10064e+04_rb,0.99996e+03_rb,0.10080e+04_rb,0.10077e+04_rb,0.99839e+03_rb /) kbo(:,27,16) = (/ & & 0.10067e+04_rb,0.10001e+04_rb,0.98561e+03_rb,0.10074e+04_rb,0.10052e+04_rb /) kbo(:,28,16) = (/ & & 0.10069e+04_rb,0.10003e+04_rb,0.10080e+04_rb,0.10070e+04_rb,0.99700e+03_rb /) kbo(:,29,16) = (/ & & 0.10072e+04_rb,0.10078e+04_rb,0.10079e+04_rb,0.10065e+04_rb,0.10036e+04_rb /) kbo(:,30,16) = (/ & & 0.10074e+04_rb,0.98555e+03_rb,0.10002e+04_rb,0.99845e+03_rb,0.95900e+03_rb /) kbo(:,31,16) = (/ & & 0.10076e+04_rb,0.10080e+04_rb,0.10074e+04_rb,0.99776e+03_rb,0.10037e+04_rb /) kbo(:,32,16) = (/ & & 0.10077e+04_rb,0.10005e+04_rb,0.10070e+04_rb,0.10044e+04_rb,0.10038e+04_rb /) kbo(:,33,16) = (/ & & 0.10079e+04_rb,0.10079e+04_rb,0.10064e+04_rb,0.99602e+03_rb,0.10038e+04_rb /) kbo(:,34,16) = (/ & & 0.10005e+04_rb,0.10077e+04_rb,0.10059e+04_rb,0.10036e+04_rb,0.10037e+04_rb /) kbo(:,35,16) = (/ & & 0.10080e+04_rb,0.10075e+04_rb,0.10055e+04_rb,0.10037e+04_rb,0.10036e+04_rb /) kbo(:,36,16) = (/ & & 0.10005e+04_rb,0.10075e+04_rb,0.10055e+04_rb,0.10037e+04_rb,0.10036e+04_rb /) kbo(:,37,16) = (/ & & 0.10080e+04_rb,0.10077e+04_rb,0.10058e+04_rb,0.10037e+04_rb,0.10037e+04_rb /) kbo(:,38,16) = (/ & & 0.10004e+04_rb,0.10078e+04_rb,0.10062e+04_rb,0.99569e+03_rb,0.10037e+04_rb /) kbo(:,39,16) = (/ & & 0.10078e+04_rb,0.10079e+04_rb,0.10065e+04_rb,0.10036e+04_rb,0.10038e+04_rb /) kbo(:,40,16) = (/ & & 0.10003e+04_rb,0.10005e+04_rb,0.10070e+04_rb,0.99698e+03_rb,0.10038e+04_rb /) kbo(:,41,16) = (/ & & 0.10001e+04_rb,0.10005e+04_rb,0.99992e+03_rb,0.10052e+04_rb,0.10037e+04_rb /) kbo(:,42,16) = (/ & & 0.99994e+03_rb,0.10005e+04_rb,0.10077e+04_rb,0.10059e+04_rb,0.10036e+04_rb /) kbo(:,43,16) = (/ & & 0.10071e+04_rb,0.10078e+04_rb,0.10079e+04_rb,0.99172e+03_rb,0.10038e+04_rb /) kbo(:,44,16) = (/ & & 0.10068e+04_rb,0.10002e+04_rb,0.10080e+04_rb,0.10072e+04_rb,0.10049e+04_rb /) kbo(:,45,16) = (/ & & 0.10063e+04_rb,0.10074e+04_rb,0.10005e+04_rb,0.99276e+03_rb,0.10059e+04_rb /) kbo(:,46,16) = (/ & & 0.10057e+04_rb,0.10071e+04_rb,0.10078e+04_rb,0.10079e+04_rb,0.10067e+04_rb /) kbo(:,47,16) = (/ & & 0.10009e+04_rb,0.10067e+04_rb,0.10001e+04_rb,0.10080e+04_rb,0.99247e+03_rb /) kbo(:,48,16) = (/ & & 0.99941e+03_rb,0.10061e+04_rb,0.10073e+04_rb,0.10079e+04_rb,0.10004e+04_rb /) kbo(:,49,16) = (/ & & 0.99034e+03_rb,0.10054e+04_rb,0.99943e+03_rb,0.99276e+03_rb,0.10005e+04_rb /) kbo(:,50,16) = (/ & & 0.99601e+03_rb,0.10003e+04_rb,0.10064e+04_rb,0.10074e+04_rb,0.10005e+04_rb /) kbo(:,51,16) = (/ & & 0.99422e+03_rb,0.99882e+03_rb,0.10058e+04_rb,0.10071e+04_rb,0.10003e+04_rb /) kbo(:,52,16) = (/ & & 0.98496e+03_rb,0.99726e+03_rb,0.10013e+04_rb,0.99930e+03_rb,0.10076e+04_rb /) kbo(:,53,16) = (/ & & 0.99030e+03_rb,0.99555e+03_rb,0.99990e+03_rb,0.99882e+03_rb,0.99991e+03_rb /) kbo(:,54,16) = (/ & & 0.98836e+03_rb,0.98653e+03_rb,0.99856e+03_rb,0.99827e+03_rb,0.99962e+03_rb /) kbo(:,55,16) = (/ & & 0.98643e+03_rb,0.98485e+03_rb,0.99716e+03_rb,0.10012e+04_rb,0.10067e+04_rb /) kbo(:,56,16) = (/ & & 0.97714e+03_rb,0.99044e+03_rb,0.99567e+03_rb,0.99999e+03_rb,0.99885e+03_rb /) kbo(:,57,16) = (/ & & 0.97511e+03_rb,0.98860e+03_rb,0.99409e+03_rb,0.99872e+03_rb,0.10058e+04_rb /) kbo(:,58,16) = (/ & & 0.98036e+03_rb,0.98678e+03_rb,0.99251e+03_rb,0.99003e+03_rb,0.10052e+04_rb /) kbo(:,59,16) = (/ & & 0.97953e+03_rb,0.98603e+03_rb,0.99185e+03_rb,0.99687e+03_rb,0.10009e+04_rb /) end subroutine sw_kgb27 ! ************************************************************************** subroutine sw_kgb28 ! ************************************************************************** use parkind, only : im => kind_im, rb => kind_rb use rrsw_kg28, only : kao, kbo, sfluxrefo, rayl implicit none save ! Kurucz solar source function sfluxrefo(:,1) = (/ & & 1.06156_rb , 0.599910_rb , 0.422462_rb , 0.400077_rb , & & 0.282221_rb , 0.187893_rb , 6.77357e-02_rb, 3.04572e-02_rb, & & 2.00442e-02_rb, 2.30786e-03_rb, 2.08824e-03_rb, 1.42604e-03_rb, & & 9.67384e-04_rb, 6.35362e-04_rb, 1.47727e-04_rb, 6.87639e-06_rb /) sfluxrefo(:,2) = (/ & & 1.07598_rb , 0.585099_rb , 0.422852_rb , 0.400077_rb , & & 0.282221_rb , 0.187893_rb , 6.69686e-02_rb, 3.09070e-02_rb, & & 2.02400e-02_rb, 2.47760e-03_rb, 1.89411e-03_rb, 1.41122e-03_rb, & & 1.12449e-03_rb, 5.73505e-04_rb, 2.04160e-04_rb, 1.58371e-05_rb /) sfluxrefo(:,3) = (/ & & 0.461647_rb , 0.406113_rb , 0.332506_rb , 0.307508_rb , & & 0.211167_rb , 0.235457_rb , 0.495886_rb , 0.363921_rb , & & 0.192700_rb , 2.04678e-02_rb, 1.55407e-02_rb, 1.03882e-02_rb, & & 1.10778e-02_rb, 1.00504e-02_rb, 4.93497e-03_rb, 5.73410e-04_rb /) sfluxrefo(:,4) = (/ & & 0.132669_rb , 0.175058_rb , 0.359263_rb , 0.388142_rb , & & 0.350359_rb , 0.475892_rb , 0.489593_rb , 0.408437_rb , & & 0.221049_rb , 1.94514e-02_rb, 1.54848e-02_rb, 1.44999e-02_rb, & & 1.44568e-02_rb, 1.00527e-02_rb, 4.95897e-03_rb, 5.73327e-04_rb /) sfluxrefo(:,5) = (/ & & 7.54800e-02_rb, 0.232246_rb , 0.359263_rb , 0.388142_rb , & & 0.350359_rb , 0.426317_rb , 0.493485_rb , 0.432016_rb , & & 0.239203_rb , 1.74951e-02_rb, 1.74477e-02_rb, 1.83566e-02_rb, & & 1.44818e-02_rb, 1.01048e-02_rb, 4.97487e-03_rb, 5.66831e-04_rb /) ! Rayleigh extinction coefficient at v = ????? cm-1. rayl = 2.02e-05_rb ! ------------------------------------------------------------------ ! The array KAO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels> ~100mb, temperatures, and binary ! species parameters (see taumol.f for definition). The first ! index in the array, JS, runs from 1 to 9, and corresponds to ! different values of the binary species parameter. For instance, ! JS=1 refers to dry air, JS = 2 corresponds to the paramter value 1/8, ! JS = 3 corresponds to the parameter value 2/8, etc. The second index ! in the array, JT, which runs from 1 to 5, corresponds to different ! temperatures. More specifically, JT = 3 means that the data are for ! the reference temperature TREF for this pressure level, JT = 2 refers ! to TREF-15, JT = 1 is for TREF-30, JT = 4 is for TREF+15, and JT = 5 ! is for TREF+30. The third index, JP, runs from 1 to 13 and refers ! to the JPth reference pressure level (see taumol.f for these levels ! in mb). The fourth index, IG, goes from 1 to 16, and indicates ! which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kao(:, 1, 1, 1) = (/ & & 0.46447e+02_rb,0.18001e+03_rb,0.31338e+03_rb,0.44652e+03_rb,0.54636e+03_rb, & & 0.54173e+03_rb,0.45707e+03_rb,0.27363e+03_rb,0.35000e+02_rb /) kao(:, 2, 1, 1) = (/ & & 0.45270e+02_rb,0.17886e+03_rb,0.31225e+03_rb,0.44541e+03_rb,0.54177e+03_rb, & & 0.53436e+03_rb,0.44932e+03_rb,0.26748e+03_rb,0.35000e+02_rb /) kao(:, 3, 1, 1) = (/ & & 0.44214e+02_rb,0.17776e+03_rb,0.31115e+03_rb,0.44427e+03_rb,0.53733e+03_rb, & & 0.52756e+03_rb,0.44224e+03_rb,0.26195e+03_rb,0.35000e+02_rb /) kao(:, 4, 1, 1) = (/ & & 0.43259e+02_rb,0.17673e+03_rb,0.31005e+03_rb,0.44305e+03_rb,0.53298e+03_rb, & & 0.52129e+03_rb,0.43574e+03_rb,0.25696e+03_rb,0.35000e+02_rb /) kao(:, 5, 1, 1) = (/ & & 0.42393e+02_rb,0.17575e+03_rb,0.30896e+03_rb,0.44173e+03_rb,0.52883e+03_rb, & & 0.51548e+03_rb,0.42976e+03_rb,0.25242e+03_rb,0.35000e+02_rb /) kao(:, 1, 2, 1) = (/ & & 0.42908e+02_rb,0.17695e+03_rb,0.31077e+03_rb,0.44434e+03_rb,0.53161e+03_rb, & & 0.51895e+03_rb,0.43332e+03_rb,0.25512e+03_rb,0.35000e+02_rb /) kao(:, 2, 2, 1) = (/ & & 0.41899e+02_rb,0.17596e+03_rb,0.30980e+03_rb,0.44336e+03_rb,0.52686e+03_rb, & & 0.51213e+03_rb,0.42632e+03_rb,0.24984e+03_rb,0.35000e+02_rb /) kao(:, 3, 2, 1) = (/ & & 0.40995e+02_rb,0.17502e+03_rb,0.30884e+03_rb,0.44232e+03_rb,0.52230e+03_rb, & & 0.50592e+03_rb,0.41995e+03_rb,0.24511e+03_rb,0.35000e+02_rb /) kao(:, 4, 2, 1) = (/ & & 0.40181e+02_rb,0.17412e+03_rb,0.30788e+03_rb,0.44119e+03_rb,0.51785e+03_rb, & & 0.50025e+03_rb,0.41414e+03_rb,0.24085e+03_rb,0.35000e+02_rb /) kao(:, 5, 2, 1) = (/ & & 0.39443e+02_rb,0.17326e+03_rb,0.30691e+03_rb,0.43992e+03_rb,0.51364e+03_rb, & & 0.49503e+03_rb,0.40882e+03_rb,0.23699e+03_rb,0.35000e+02_rb /) kao(:, 1, 3, 1) = (/ & & 0.40126e+02_rb,0.17457e+03_rb,0.30876e+03_rb,0.44248e+03_rb,0.51755e+03_rb, & & 0.49986e+03_rb,0.41375e+03_rb,0.24056e+03_rb,0.35000e+02_rb /) kao(:, 2, 3, 1) = (/ & & 0.39240e+02_rb,0.17370e+03_rb,0.30792e+03_rb,0.44146e+03_rb,0.51254e+03_rb, & & 0.49358e+03_rb,0.40735e+03_rb,0.23593e+03_rb,0.35000e+02_rb /) kao(:, 3, 3, 1) = (/ & & 0.38450e+02_rb,0.17288e+03_rb,0.30708e+03_rb,0.44031e+03_rb,0.50793e+03_rb, & & 0.48786e+03_rb,0.40155e+03_rb,0.23179e+03_rb,0.35000e+02_rb /) kao(:, 4, 3, 1) = (/ & & 0.37740e+02_rb,0.17210e+03_rb,0.30624e+03_rb,0.43908e+03_rb,0.50368e+03_rb, & & 0.48264e+03_rb,0.39629e+03_rb,0.22808e+03_rb,0.35000e+02_rb /) kao(:, 5, 3, 1) = (/ & & 0.37099e+02_rb,0.17134e+03_rb,0.30539e+03_rb,0.43781e+03_rb,0.49975e+03_rb, & & 0.47787e+03_rb,0.39149e+03_rb,0.22473e+03_rb,0.35000e+02_rb /) kao(:, 1, 4, 1) = (/ & & 0.37818e+02_rb,0.17258e+03_rb,0.30708e+03_rb,0.43967e+03_rb,0.50412e+03_rb, & & 0.48321e+03_rb,0.39687e+03_rb,0.22848e+03_rb,0.35000e+02_rb /) kao(:, 2, 4, 1) = (/ & & 0.37034e+02_rb,0.17183e+03_rb,0.30636e+03_rb,0.43833e+03_rb,0.49935e+03_rb, & & 0.47738e+03_rb,0.39100e+03_rb,0.22439e+03_rb,0.35000e+02_rb /) kao(:, 3, 4, 1) = (/ & & 0.36338e+02_rb,0.17111e+03_rb,0.30564e+03_rb,0.43700e+03_rb,0.49496e+03_rb, & & 0.47212e+03_rb,0.38572e+03_rb,0.22075e+03_rb,0.35000e+02_rb /) kao(:, 4, 4, 1) = (/ & & 0.35716e+02_rb,0.17043e+03_rb,0.30491e+03_rb,0.43569e+03_rb,0.49094e+03_rb, & & 0.46732e+03_rb,0.38094e+03_rb,0.21749e+03_rb,0.35000e+02_rb /) kao(:, 5, 4, 1) = (/ & & 0.35156e+02_rb,0.16977e+03_rb,0.30416e+03_rb,0.43437e+03_rb,0.48726e+03_rb, & & 0.46294e+03_rb,0.37660e+03_rb,0.21456e+03_rb,0.35000e+02_rb /) kao(:, 1, 5, 1) = (/ & & 0.35857e+02_rb,0.17089e+03_rb,0.30563e+03_rb,0.43619e+03_rb,0.49186e+03_rb, & & 0.46841e+03_rb,0.38202e+03_rb,0.21822e+03_rb,0.35000e+02_rb /) kao(:, 2, 5, 1) = (/ & & 0.35163e+02_rb,0.17023e+03_rb,0.30502e+03_rb,0.43478e+03_rb,0.48731e+03_rb, & & 0.46300e+03_rb,0.37666e+03_rb,0.21460e+03_rb,0.35000e+02_rb /) kao(:, 3, 5, 1) = (/ & & 0.34550e+02_rb,0.16961e+03_rb,0.30441e+03_rb,0.43332e+03_rb,0.48321e+03_rb, & & 0.45813e+03_rb,0.37186e+03_rb,0.21139e+03_rb,0.35000e+02_rb /) kao(:, 4, 5, 1) = (/ & & 0.34004e+02_rb,0.16902e+03_rb,0.30378e+03_rb,0.43194e+03_rb,0.47950e+03_rb, & & 0.45375e+03_rb,0.36755e+03_rb,0.20853e+03_rb,0.35000e+02_rb /) kao(:, 5, 5, 1) = (/ & & 0.33514e+02_rb,0.16844e+03_rb,0.30312e+03_rb,0.43058e+03_rb,0.47611e+03_rb, & & 0.44977e+03_rb,0.36365e+03_rb,0.20597e+03_rb,0.35000e+02_rb /) kao(:, 1, 6, 1) = (/ & & 0.34212e+02_rb,0.16946e+03_rb,0.30440e+03_rb,0.43247e+03_rb,0.48092e+03_rb, & & 0.45542e+03_rb,0.36920e+03_rb,0.20962e+03_rb,0.35000e+02_rb /) kao(:, 2, 6, 1) = (/ & & 0.33595e+02_rb,0.16889e+03_rb,0.30389e+03_rb,0.43093e+03_rb,0.47667e+03_rb, & & 0.45043e+03_rb,0.36430e+03_rb,0.20639e+03_rb,0.35000e+02_rb /) kao(:, 3, 6, 1) = (/ & & 0.33052e+02_rb,0.16835e+03_rb,0.30337e+03_rb,0.42946e+03_rb,0.47287e+03_rb, & & 0.44599e+03_rb,0.35993e+03_rb,0.20355e+03_rb,0.35000e+02_rb /) kao(:, 4, 6, 1) = (/ & & 0.32571e+02_rb,0.16784e+03_rb,0.30283e+03_rb,0.42807e+03_rb,0.46947e+03_rb, & & 0.44201e+03_rb,0.35602e+03_rb,0.20103e+03_rb,0.35000e+02_rb /) kao(:, 5, 6, 1) = (/ & & 0.32141e+02_rb,0.16733e+03_rb,0.30227e+03_rb,0.42674e+03_rb,0.46640e+03_rb, & & 0.43842e+03_rb,0.35250e+03_rb,0.19879e+03_rb,0.35000e+02_rb /) kao(:, 1, 7, 1) = (/ & & 0.32812e+02_rb,0.16823e+03_rb,0.30334e+03_rb,0.42859e+03_rb,0.47118e+03_rb, & & 0.44401e+03_rb,0.35799e+03_rb,0.20230e+03_rb,0.35000e+02_rb /) kao(:, 2, 7, 1) = (/ & & 0.32263e+02_rb,0.16774e+03_rb,0.30291e+03_rb,0.42708e+03_rb,0.46727e+03_rb, & & 0.43944e+03_rb,0.35350e+03_rb,0.19942e+03_rb,0.35000e+02_rb /) kao(:, 3, 7, 1) = (/ & & 0.31782e+02_rb,0.16728e+03_rb,0.30248e+03_rb,0.42558e+03_rb,0.46381e+03_rb, & & 0.43539e+03_rb,0.34954e+03_rb,0.19691e+03_rb,0.35000e+02_rb /) kao(:, 4, 7, 1) = (/ & & 0.31357e+02_rb,0.16683e+03_rb,0.30203e+03_rb,0.42413e+03_rb,0.46069e+03_rb, & & 0.43177e+03_rb,0.34599e+03_rb,0.19468e+03_rb,0.35000e+02_rb /) kao(:, 5, 7, 1) = (/ & & 0.30980e+02_rb,0.16640e+03_rb,0.30154e+03_rb,0.42276e+03_rb,0.45787e+03_rb, & & 0.42852e+03_rb,0.34280e+03_rb,0.19271e+03_rb,0.35000e+02_rb /) kao(:, 1, 8, 1) = (/ & & 0.31614e+02_rb,0.16716e+03_rb,0.30239e+03_rb,0.42473e+03_rb,0.46259e+03_rb, & & 0.43397e+03_rb,0.34814e+03_rb,0.19603e+03_rb,0.35000e+02_rb /) kao(:, 2, 8, 1) = (/ & & 0.31125e+02_rb,0.16674e+03_rb,0.30206e+03_rb,0.42311e+03_rb,0.45896e+03_rb, & & 0.42978e+03_rb,0.34403e+03_rb,0.19347e+03_rb,0.35000e+02_rb /) kao(:, 3, 8, 1) = (/ & & 0.30699e+02_rb,0.16635e+03_rb,0.30170e+03_rb,0.42163e+03_rb,0.45573e+03_rb, & & 0.42608e+03_rb,0.34039e+03_rb,0.19124e+03_rb,0.35000e+02_rb /) kao(:, 4, 8, 1) = (/ & & 0.30325e+02_rb,0.16597e+03_rb,0.30133e+03_rb,0.42027e+03_rb,0.45286e+03_rb, & & 0.42281e+03_rb,0.33716e+03_rb,0.18928e+03_rb,0.35000e+02_rb /) kao(:, 5, 8, 1) = (/ & & 0.29993e+02_rb,0.16559e+03_rb,0.30092e+03_rb,0.41901e+03_rb,0.45030e+03_rb, & & 0.41988e+03_rb,0.33427e+03_rb,0.18755e+03_rb,0.35000e+02_rb /) kao(:, 1, 9, 1) = (/ & & 0.30594e+02_rb,0.16624e+03_rb,0.30156e+03_rb,0.42087e+03_rb,0.45493e+03_rb, & & 0.42517e+03_rb,0.33949e+03_rb,0.19069e+03_rb,0.35000e+02_rb /) kao(:, 2, 9, 1) = (/ & & 0.30158e+02_rb,0.16589e+03_rb,0.30131e+03_rb,0.41937e+03_rb,0.45157e+03_rb, & & 0.42134e+03_rb,0.33570e+03_rb,0.18841e+03_rb,0.35000e+02_rb /) kao(:, 3, 9, 1) = (/ & & 0.29780e+02_rb,0.16556e+03_rb,0.30103e+03_rb,0.41800e+03_rb,0.44864e+03_rb, & & 0.41799e+03_rb,0.33239e+03_rb,0.18643e+03_rb,0.35000e+02_rb /) kao(:, 4, 9, 1) = (/ & & 0.29450e+02_rb,0.16523e+03_rb,0.30072e+03_rb,0.41674e+03_rb,0.44606e+03_rb, & & 0.41504e+03_rb,0.32946e+03_rb,0.18471e+03_rb,0.35000e+02_rb /) kao(:, 5, 9, 1) = (/ & & 0.29159e+02_rb,0.16491e+03_rb,0.30039e+03_rb,0.41557e+03_rb,0.44377e+03_rb, & & 0.41242e+03_rb,0.32686e+03_rb,0.18318e+03_rb,0.35000e+02_rb /) kao(:, 1,10, 1) = (/ & & 0.29691e+02_rb,0.16541e+03_rb,0.30081e+03_rb,0.41722e+03_rb,0.44795e+03_rb, & & 0.41720e+03_rb,0.33160e+03_rb,0.18597e+03_rb,0.35000e+02_rb /) kao(:, 2,10, 1) = (/ & & 0.29307e+02_rb,0.16512e+03_rb,0.30063e+03_rb,0.41581e+03_rb,0.44493e+03_rb, & & 0.41375e+03_rb,0.32818e+03_rb,0.18396e+03_rb,0.35000e+02_rb /) kao(:, 3,10, 1) = (/ & & 0.28975e+02_rb,0.16485e+03_rb,0.30042e+03_rb,0.41454e+03_rb,0.44231e+03_rb, & & 0.41076e+03_rb,0.32520e+03_rb,0.18222e+03_rb,0.35000e+02_rb /) kao(:, 4,10, 1) = (/ & & 0.28687e+02_rb,0.16458e+03_rb,0.30018e+03_rb,0.41340e+03_rb,0.44002e+03_rb, & & 0.40814e+03_rb,0.32259e+03_rb,0.18071e+03_rb,0.35000e+02_rb /) kao(:, 5,10, 1) = (/ & & 0.28434e+02_rb,0.16431e+03_rb,0.29989e+03_rb,0.41235e+03_rb,0.43799e+03_rb, & & 0.40583e+03_rb,0.32028e+03_rb,0.17939e+03_rb,0.35000e+02_rb /) kao(:, 1,11, 1) = (/ & & 0.28760e+02_rb,0.16459e+03_rb,0.30010e+03_rb,0.41321e+03_rb,0.44060e+03_rb, & & 0.40880e+03_rb,0.32325e+03_rb,0.18109e+03_rb,0.35000e+02_rb /) kao(:, 2,11, 1) = (/ & & 0.28444e+02_rb,0.16436e+03_rb,0.29997e+03_rb,0.41200e+03_rb,0.43807e+03_rb, & & 0.40592e+03_rb,0.32038e+03_rb,0.17944e+03_rb,0.35000e+02_rb /) kao(:, 3,11, 1) = (/ & & 0.28173e+02_rb,0.16414e+03_rb,0.29981e+03_rb,0.41092e+03_rb,0.43587e+03_rb, & & 0.40342e+03_rb,0.31788e+03_rb,0.17802e+03_rb,0.35000e+02_rb /) kao(:, 4,11, 1) = (/ & & 0.27937e+02_rb,0.16392e+03_rb,0.29960e+03_rb,0.40994e+03_rb,0.43395e+03_rb, & & 0.40124e+03_rb,0.31570e+03_rb,0.17679e+03_rb,0.35000e+02_rb /) kao(:, 5,11, 1) = (/ & & 0.27730e+02_rb,0.16369e+03_rb,0.29936e+03_rb,0.40905e+03_rb,0.43224e+03_rb, & & 0.39931e+03_rb,0.31377e+03_rb,0.17571e+03_rb,0.35000e+02_rb /) kao(:, 1,12, 1) = (/ & & 0.27995e+02_rb,0.16391e+03_rb,0.29951e+03_rb,0.40970e+03_rb,0.43443e+03_rb, & & 0.40178e+03_rb,0.31624e+03_rb,0.17709e+03_rb,0.35000e+02_rb /) kao(:, 2,12, 1) = (/ & & 0.27737e+02_rb,0.16374e+03_rb,0.29943e+03_rb,0.40869e+03_rb,0.43230e+03_rb, & & 0.39938e+03_rb,0.31384e+03_rb,0.17574e+03_rb,0.35000e+02_rb /) kao(:, 3,12, 1) = (/ & & 0.27515e+02_rb,0.16356e+03_rb,0.29930e+03_rb,0.40779e+03_rb,0.43046e+03_rb, & & 0.39730e+03_rb,0.31176e+03_rb,0.17458e+03_rb,0.35000e+02_rb /) kao(:, 4,12, 1) = (/ & & 0.27322e+02_rb,0.16338e+03_rb,0.29913e+03_rb,0.40697e+03_rb,0.42883e+03_rb, & & 0.39548e+03_rb,0.30994e+03_rb,0.17357e+03_rb,0.35000e+02_rb /) kao(:, 5,12, 1) = (/ & & 0.27152e+02_rb,0.16318e+03_rb,0.29892e+03_rb,0.40622e+03_rb,0.42740e+03_rb, & & 0.39387e+03_rb,0.30834e+03_rb,0.17268e+03_rb,0.35000e+02_rb /) kao(:, 1,13, 1) = (/ & & 0.27369e+02_rb,0.16336e+03_rb,0.29903e+03_rb,0.40671e+03_rb,0.42924e+03_rb, & & 0.39593e+03_rb,0.31039e+03_rb,0.17382e+03_rb,0.35000e+02_rb /) kao(:, 2,13, 1) = (/ & & 0.27158e+02_rb,0.16323e+03_rb,0.29898e+03_rb,0.40587e+03_rb,0.42745e+03_rb, & & 0.39393e+03_rb,0.30840e+03_rb,0.17271e+03_rb,0.35000e+02_rb /) kao(:, 3,13, 1) = (/ & & 0.26976e+02_rb,0.16309e+03_rb,0.29889e+03_rb,0.40513e+03_rb,0.42590e+03_rb, & & 0.39221e+03_rb,0.30667e+03_rb,0.17176e+03_rb,0.35000e+02_rb /) kao(:, 4,13, 1) = (/ & & 0.26818e+02_rb,0.16293e+03_rb,0.29875e+03_rb,0.40445e+03_rb,0.42455e+03_rb, & & 0.39070e+03_rb,0.30516e+03_rb,0.17093e+03_rb,0.35000e+02_rb /) kao(:, 5,13, 1) = (/ & & 0.26679e+02_rb,0.16276e+03_rb,0.29855e+03_rb,0.40381e+03_rb,0.42335e+03_rb, & & 0.38937e+03_rb,0.30384e+03_rb,0.17021e+03_rb,0.35000e+02_rb /) kao(:, 1, 1, 2) = (/ & & 0.17271e+03_rb,0.27646e+03_rb,0.38039e+03_rb,0.48420e+03_rb,0.56932e+03_rb, & & 0.57534e+03_rb,0.47873e+03_rb,0.28147e+03_rb,0.71840e+02_rb /) kao(:, 2, 1, 2) = (/ & & 0.16834e+03_rb,0.27246e+03_rb,0.37678e+03_rb,0.48091e+03_rb,0.56471e+03_rb, & & 0.56734e+03_rb,0.47005e+03_rb,0.27593e+03_rb,0.71840e+02_rb /) kao(:, 3, 1, 2) = (/ & & 0.16441e+03_rb,0.26883e+03_rb,0.37341e+03_rb,0.47777e+03_rb,0.56037e+03_rb, & & 0.56003e+03_rb,0.46210e+03_rb,0.27096e+03_rb,0.71840e+02_rb /) kao(:, 4, 1, 2) = (/ & & 0.16086e+03_rb,0.26548e+03_rb,0.37025e+03_rb,0.47479e+03_rb,0.55629e+03_rb, & & 0.55327e+03_rb,0.45481e+03_rb,0.26647e+03_rb,0.71840e+02_rb /) kao(:, 5, 1, 2) = (/ & & 0.15764e+03_rb,0.26237e+03_rb,0.36725e+03_rb,0.47195e+03_rb,0.55235e+03_rb, & & 0.54701e+03_rb,0.44810e+03_rb,0.26239e+03_rb,0.71840e+02_rb /) kao(:, 1, 2, 2) = (/ & & 0.15955e+03_rb,0.26500e+03_rb,0.37067e+03_rb,0.47595e+03_rb,0.55480e+03_rb, & & 0.55074e+03_rb,0.45210e+03_rb,0.26482e+03_rb,0.71840e+02_rb /) kao(:, 2, 2, 2) = (/ & & 0.15580e+03_rb,0.26157e+03_rb,0.36756e+03_rb,0.47303e+03_rb,0.55028e+03_rb, & & 0.54339e+03_rb,0.44423e+03_rb,0.26007e+03_rb,0.71840e+02_rb /) kao(:, 3, 2, 2) = (/ & & 0.15244e+03_rb,0.25844e+03_rb,0.36465e+03_rb,0.47023e+03_rb,0.54619e+03_rb, & & 0.53664e+03_rb,0.43708e+03_rb,0.25581e+03_rb,0.71840e+02_rb /) kao(:, 4, 2, 2) = (/ & & 0.14941e+03_rb,0.25556e+03_rb,0.36191e+03_rb,0.46753e+03_rb,0.54253e+03_rb, & & 0.53041e+03_rb,0.43052e+03_rb,0.25198e+03_rb,0.71840e+02_rb /) kao(:, 5, 2, 2) = (/ & & 0.14667e+03_rb,0.25289e+03_rb,0.35930e+03_rb,0.46494e+03_rb,0.53908e+03_rb, & & 0.52470e+03_rb,0.42448e+03_rb,0.24851e+03_rb,0.71840e+02_rb /) kao(:, 1, 3, 2) = (/ & & 0.14921e+03_rb,0.25601e+03_rb,0.36308e+03_rb,0.46872e+03_rb,0.54234e+03_rb, & & 0.52999e+03_rb,0.43007e+03_rb,0.25172e+03_rb,0.71840e+02_rb /) kao(:, 2, 3, 2) = (/ & & 0.14591e+03_rb,0.25301e+03_rb,0.36036e+03_rb,0.46599e+03_rb,0.53834e+03_rb, & & 0.52313e+03_rb,0.42280e+03_rb,0.24755e+03_rb,0.71840e+02_rb /) kao(:, 3, 3, 2) = (/ & & 0.14297e+03_rb,0.25028e+03_rb,0.35782e+03_rb,0.46350e+03_rb,0.53459e+03_rb, & & 0.51696e+03_rb,0.41619e+03_rb,0.24383e+03_rb,0.71840e+02_rb /) kao(:, 4, 3, 2) = (/ & & 0.14033e+03_rb,0.24777e+03_rb,0.35542e+03_rb,0.46116e+03_rb,0.53100e+03_rb, & & 0.51122e+03_rb,0.41016e+03_rb,0.24049e+03_rb,0.71840e+02_rb /) kao(:, 5, 3, 2) = (/ & & 0.13795e+03_rb,0.24544e+03_rb,0.35313e+03_rb,0.45882e+03_rb,0.52751e+03_rb, & & 0.50591e+03_rb,0.40463e+03_rb,0.23747e+03_rb,0.71840e+02_rb /) kao(:, 1, 4, 2) = (/ & & 0.14062e+03_rb,0.24856e+03_rb,0.35678e+03_rb,0.46260e+03_rb,0.53137e+03_rb, & & 0.51186e+03_rb,0.41082e+03_rb,0.24086e+03_rb,0.71840e+02_rb /) kao(:, 2, 4, 2) = (/ & & 0.13771e+03_rb,0.24592e+03_rb,0.35440e+03_rb,0.46020e+03_rb,0.52732e+03_rb, & & 0.50537e+03_rb,0.40407e+03_rb,0.23717e+03_rb,0.71840e+02_rb /) kao(:, 3, 4, 2) = (/ & & 0.13512e+03_rb,0.24353e+03_rb,0.35219e+03_rb,0.45796e+03_rb,0.52348e+03_rb, & & 0.49954e+03_rb,0.39798e+03_rb,0.23389e+03_rb,0.71840e+02_rb /) kao(:, 4, 4, 2) = (/ & & 0.13281e+03_rb,0.24133e+03_rb,0.35008e+03_rb,0.45583e+03_rb,0.51985e+03_rb, & & 0.49431e+03_rb,0.39246e+03_rb,0.23096e+03_rb,0.71840e+02_rb /) kao(:, 5, 4, 2) = (/ & & 0.13073e+03_rb,0.23928e+03_rb,0.34807e+03_rb,0.45378e+03_rb,0.51643e+03_rb, & & 0.48957e+03_rb,0.38745e+03_rb,0.22833e+03_rb,0.71840e+02_rb /) kao(:, 1, 5, 2) = (/ & & 0.13333e+03_rb,0.24222e+03_rb,0.35141e+03_rb,0.45702e+03_rb,0.52057e+03_rb, & & 0.49550e+03_rb,0.39372e+03_rb,0.23163e+03_rb,0.71840e+02_rb /) kao(:, 2, 5, 2) = (/ & & 0.13075e+03_rb,0.23990e+03_rb,0.34934e+03_rb,0.45476e+03_rb,0.51651e+03_rb, & & 0.48963e+03_rb,0.38752e+03_rb,0.22836e+03_rb,0.71840e+02_rb /) kao(:, 3, 5, 2) = (/ & & 0.12847e+03_rb,0.23780e+03_rb,0.34741e+03_rb,0.45266e+03_rb,0.51271e+03_rb, & & 0.48438e+03_rb,0.38196e+03_rb,0.22548e+03_rb,0.71840e+02_rb /) kao(:, 4, 5, 2) = (/ & & 0.12644e+03_rb,0.23588e+03_rb,0.34557e+03_rb,0.45066e+03_rb,0.50911e+03_rb, & & 0.47962e+03_rb,0.37696e+03_rb,0.22291e+03_rb,0.71840e+02_rb /) kao(:, 5, 5, 2) = (/ & & 0.12462e+03_rb,0.23409e+03_rb,0.34381e+03_rb,0.44874e+03_rb,0.50570e+03_rb, & & 0.47526e+03_rb,0.37245e+03_rb,0.22060e+03_rb,0.71840e+02_rb /) kao(:, 1, 6, 2) = (/ & & 0.12722e+03_rb,0.23690e+03_rb,0.34688e+03_rb,0.45177e+03_rb,0.51032e+03_rb, & & 0.48144e+03_rb,0.37887e+03_rb,0.22389e+03_rb,0.71840e+02_rb /) kao(:, 2, 6, 2) = (/ & & 0.12492e+03_rb,0.23485e+03_rb,0.34508e+03_rb,0.44967e+03_rb,0.50620e+03_rb, & & 0.47598e+03_rb,0.37319e+03_rb,0.22098e+03_rb,0.71840e+02_rb /) kao(:, 3, 6, 2) = (/ & & 0.12290e+03_rb,0.23301e+03_rb,0.34340e+03_rb,0.44769e+03_rb,0.50242e+03_rb, & & 0.47108e+03_rb,0.36815e+03_rb,0.21843e+03_rb,0.71840e+02_rb /) kao(:, 4, 6, 2) = (/ & & 0.12111e+03_rb,0.23132e+03_rb,0.34180e+03_rb,0.44582e+03_rb,0.49894e+03_rb, & & 0.46668e+03_rb,0.36363e+03_rb,0.21616e+03_rb,0.71840e+02_rb /) kao(:, 5, 6, 2) = (/ & & 0.11952e+03_rb,0.22976e+03_rb,0.34026e+03_rb,0.44407e+03_rb,0.49574e+03_rb, & & 0.46270e+03_rb,0.35956e+03_rb,0.21414e+03_rb,0.71840e+02_rb /) kao(:, 1, 7, 2) = (/ & & 0.12201e+03_rb,0.23235e+03_rb,0.34300e+03_rb,0.44700e+03_rb,0.50054e+03_rb, & & 0.46889e+03_rb,0.36590e+03_rb,0.21730e+03_rb,0.71840e+02_rb /) kao(:, 2, 7, 2) = (/ & & 0.11997e+03_rb,0.23055e+03_rb,0.34145e+03_rb,0.44492e+03_rb,0.49657e+03_rb, & & 0.46383e+03_rb,0.36071e+03_rb,0.21471e+03_rb,0.71840e+02_rb /) kao(:, 3, 7, 2) = (/ & & 0.11818e+03_rb,0.22894e+03_rb,0.33999e+03_rb,0.44309e+03_rb,0.49292e+03_rb, & & 0.45934e+03_rb,0.35613e+03_rb,0.21245e+03_rb,0.71840e+02_rb /) kao(:, 4, 7, 2) = (/ & & 0.11660e+03_rb,0.22746e+03_rb,0.33859e+03_rb,0.44146e+03_rb,0.48959e+03_rb, & & 0.45533e+03_rb,0.35208e+03_rb,0.21045e+03_rb,0.71840e+02_rb /) kao(:, 5, 7, 2) = (/ & & 0.11520e+03_rb,0.22609e+03_rb,0.33724e+03_rb,0.43996e+03_rb,0.48657e+03_rb, & & 0.45175e+03_rb,0.34847e+03_rb,0.20867e+03_rb,0.71840e+02_rb /) kao(:, 1, 8, 2) = (/ & & 0.11756e+03_rb,0.22844e+03_rb,0.33965e+03_rb,0.44261e+03_rb,0.49147e+03_rb, & & 0.45776e+03_rb,0.35454e+03_rb,0.21166e+03_rb,0.71840e+02_rb /) kao(:, 2, 8, 2) = (/ & & 0.11574e+03_rb,0.22687e+03_rb,0.33830e+03_rb,0.44082e+03_rb,0.48767e+03_rb, & & 0.45313e+03_rb,0.34986e+03_rb,0.20936e+03_rb,0.71840e+02_rb /) kao(:, 3, 8, 2) = (/ & & 0.11415e+03_rb,0.22546e+03_rb,0.33704e+03_rb,0.43915e+03_rb,0.48429e+03_rb, & & 0.44908e+03_rb,0.34579e+03_rb,0.20735e+03_rb,0.71840e+02_rb /) kao(:, 4, 8, 2) = (/ & & 0.11276e+03_rb,0.22417e+03_rb,0.33584e+03_rb,0.43758e+03_rb,0.48126e+03_rb, & & 0.44549e+03_rb,0.34220e+03_rb,0.20559e+03_rb,0.71840e+02_rb /) kao(:, 5, 8, 2) = (/ & & 0.11153e+03_rb,0.22298e+03_rb,0.33466e+03_rb,0.43617e+03_rb,0.47855e+03_rb, & & 0.44228e+03_rb,0.33902e+03_rb,0.20403e+03_rb,0.71840e+02_rb /) kao(:, 1, 9, 2) = (/ & & 0.11376e+03_rb,0.22510e+03_rb,0.33674e+03_rb,0.43882e+03_rb,0.48336e+03_rb, & & 0.44807e+03_rb,0.34479e+03_rb,0.20686e+03_rb,0.71840e+02_rb /) kao(:, 2, 9, 2) = (/ & & 0.11214e+03_rb,0.22372e+03_rb,0.33559e+03_rb,0.43706e+03_rb,0.47989e+03_rb, & & 0.44388e+03_rb,0.34060e+03_rb,0.20480e+03_rb,0.71840e+02_rb /) kao(:, 3, 9, 2) = (/ & & 0.11074e+03_rb,0.22250e+03_rb,0.33451e+03_rb,0.43547e+03_rb,0.47679e+03_rb, & & 0.44020e+03_rb,0.33697e+03_rb,0.20303e+03_rb,0.71840e+02_rb /) kao(:, 4, 9, 2) = (/ & & 0.10951e+03_rb,0.22138e+03_rb,0.33348e+03_rb,0.43404e+03_rb,0.47404e+03_rb, & & 0.43694e+03_rb,0.33379e+03_rb,0.20147e+03_rb,0.71840e+02_rb /) kao(:, 5, 9, 2) = (/ & & 0.10843e+03_rb,0.22034e+03_rb,0.33246e+03_rb,0.43277e+03_rb,0.47159e+03_rb, & & 0.43405e+03_rb,0.33096e+03_rb,0.20010e+03_rb,0.71840e+02_rb /) kao(:, 1,10, 2) = (/ & & 0.11041e+03_rb,0.22214e+03_rb,0.33414e+03_rb,0.43517e+03_rb,0.47604e+03_rb, & & 0.43932e+03_rb,0.33611e+03_rb,0.20261e+03_rb,0.71840e+02_rb /) kao(:, 2,10, 2) = (/ & & 0.10898e+03_rb,0.22095e+03_rb,0.33317e+03_rb,0.43358e+03_rb,0.47283e+03_rb, & & 0.43552e+03_rb,0.33239e+03_rb,0.20080e+03_rb,0.71840e+02_rb /) kao(:, 3,10, 2) = (/ & & 0.10774e+03_rb,0.21989e+03_rb,0.33226e+03_rb,0.43213e+03_rb,0.47002e+03_rb, & & 0.43222e+03_rb,0.32917e+03_rb,0.19924e+03_rb,0.71840e+02_rb /) kao(:, 4,10, 2) = (/ & & 0.10667e+03_rb,0.21893e+03_rb,0.33139e+03_rb,0.43083e+03_rb,0.46753e+03_rb, & & 0.42932e+03_rb,0.32634e+03_rb,0.19788e+03_rb,0.71840e+02_rb /) kao(:, 5,10, 2) = (/ & & 0.10573e+03_rb,0.21803e+03_rb,0.33053e+03_rb,0.42965e+03_rb,0.46532e+03_rb, & & 0.42677e+03_rb,0.32386e+03_rb,0.19669e+03_rb,0.71840e+02_rb /) kao(:, 1,11, 2) = (/ & & 0.10694e+03_rb,0.21911e+03_rb,0.33152e+03_rb,0.43127e+03_rb,0.46816e+03_rb, & & 0.43005e+03_rb,0.32706e+03_rb,0.19822e+03_rb,0.71840e+02_rb /) kao(:, 2,11, 2) = (/ & & 0.10577e+03_rb,0.21815e+03_rb,0.33074e+03_rb,0.42984e+03_rb,0.46541e+03_rb, & & 0.42687e+03_rb,0.32396e+03_rb,0.19674e+03_rb,0.71840e+02_rb /) kao(:, 3,11, 2) = (/ & & 0.10476e+03_rb,0.21728e+03_rb,0.33000e+03_rb,0.42855e+03_rb,0.46301e+03_rb, & & 0.42411e+03_rb,0.32130e+03_rb,0.19546e+03_rb,0.71840e+02_rb /) kao(:, 4,11, 2) = (/ & & 0.10388e+03_rb,0.21649e+03_rb,0.32928e+03_rb,0.42741e+03_rb,0.46089e+03_rb, & & 0.42169e+03_rb,0.31897e+03_rb,0.19435e+03_rb,0.71840e+02_rb /) kao(:, 5,11, 2) = (/ & & 0.10311e+03_rb,0.21575e+03_rb,0.32855e+03_rb,0.42639e+03_rb,0.45902e+03_rb, & & 0.41954e+03_rb,0.31692e+03_rb,0.19338e+03_rb,0.71840e+02_rb /) kao(:, 1,12, 2) = (/ & & 0.10410e+03_rb,0.21663e+03_rb,0.32937e+03_rb,0.42778e+03_rb,0.46141e+03_rb, & & 0.42229e+03_rb,0.31955e+03_rb,0.19463e+03_rb,0.71840e+02_rb /) kao(:, 2,12, 2) = (/ & & 0.10314e+03_rb,0.21585e+03_rb,0.32875e+03_rb,0.42654e+03_rb,0.45909e+03_rb, & & 0.41961e+03_rb,0.31700e+03_rb,0.19341e+03_rb,0.71840e+02_rb /) kao(:, 3,12, 2) = (/ & & 0.10231e+03_rb,0.21515e+03_rb,0.32815e+03_rb,0.42544e+03_rb,0.45707e+03_rb, & & 0.41729e+03_rb,0.31480e+03_rb,0.19236e+03_rb,0.71840e+02_rb /) kao(:, 4,12, 2) = (/ & & 0.10159e+03_rb,0.21449e+03_rb,0.32754e+03_rb,0.42445e+03_rb,0.45532e+03_rb, & & 0.41526e+03_rb,0.31288e+03_rb,0.19145e+03_rb,0.71840e+02_rb /) kao(:, 5,12, 2) = (/ & & 0.10096e+03_rb,0.21387e+03_rb,0.32692e+03_rb,0.42356e+03_rb,0.45377e+03_rb, & & 0.41347e+03_rb,0.31119e+03_rb,0.19066e+03_rb,0.71840e+02_rb /) kao(:, 1,13, 2) = (/ & & 0.10177e+03_rb,0.21460e+03_rb,0.32761e+03_rb,0.42475e+03_rb,0.45575e+03_rb, & & 0.41576e+03_rb,0.31335e+03_rb,0.19168e+03_rb,0.71840e+02_rb /) kao(:, 2,13, 2) = (/ & & 0.10099e+03_rb,0.21397e+03_rb,0.32712e+03_rb,0.42368e+03_rb,0.45383e+03_rb, & & 0.41353e+03_rb,0.31125e+03_rb,0.19068e+03_rb,0.71840e+02_rb /) kao(:, 3,13, 2) = (/ & & 0.10031e+03_rb,0.21340e+03_rb,0.32663e+03_rb,0.42272e+03_rb,0.45216e+03_rb, & & 0.41160e+03_rb,0.30943e+03_rb,0.18983e+03_rb,0.71840e+02_rb /) kao(:, 4,13, 2) = (/ & & 0.99720e+02_rb,0.21286e+03_rb,0.32612e+03_rb,0.42187e+03_rb,0.45071e+03_rb, & & 0.40991e+03_rb,0.30785e+03_rb,0.18908e+03_rb,0.71840e+02_rb /) kao(:, 5,13, 2) = (/ & & 0.99204e+02_rb,0.21233e+03_rb,0.32558e+03_rb,0.42112e+03_rb,0.44942e+03_rb, & & 0.40842e+03_rb,0.30646e+03_rb,0.18843e+03_rb,0.71840e+02_rb /) kao(:, 1, 1, 3) = (/ & & 0.44909e+03_rb,0.47445e+03_rb,0.49981e+03_rb,0.52556e+03_rb,0.59352e+03_rb, & & 0.63011e+03_rb,0.50440e+03_rb,0.31793e+03_rb,0.17829e+03_rb /) kao(:, 2, 1, 3) = (/ & & 0.43771e+03_rb,0.46449e+03_rb,0.49128e+03_rb,0.51852e+03_rb,0.58982e+03_rb, & & 0.62155e+03_rb,0.49364e+03_rb,0.31383e+03_rb,0.17829e+03_rb /) kao(:, 3, 1, 3) = (/ & & 0.42749e+03_rb,0.45555e+03_rb,0.48362e+03_rb,0.51220e+03_rb,0.58623e+03_rb, & & 0.61324e+03_rb,0.48379e+03_rb,0.31014e+03_rb,0.17829e+03_rb /) kao(:, 4, 1, 3) = (/ & & 0.41826e+03_rb,0.44748e+03_rb,0.47670e+03_rb,0.50650e+03_rb,0.58281e+03_rb, & & 0.60555e+03_rb,0.47483e+03_rb,0.30681e+03_rb,0.17829e+03_rb /) kao(:, 5, 1, 3) = (/ & & 0.40989e+03_rb,0.44015e+03_rb,0.47042e+03_rb,0.50132e+03_rb,0.57944e+03_rb, & & 0.59846e+03_rb,0.46657e+03_rb,0.30379e+03_rb,0.17829e+03_rb /) kao(:, 1, 2, 3) = (/ & & 0.41487e+03_rb,0.44451e+03_rb,0.47415e+03_rb,0.50447e+03_rb,0.58410e+03_rb, & & 0.60269e+03_rb,0.47150e+03_rb,0.30559e+03_rb,0.17829e+03_rb /) kao(:, 2, 2, 3) = (/ & & 0.40511e+03_rb,0.43597e+03_rb,0.46683e+03_rb,0.49854e+03_rb,0.58056e+03_rb, & & 0.59434e+03_rb,0.46181e+03_rb,0.30207e+03_rb,0.17829e+03_rb /) kao(:, 3, 2, 3) = (/ & & 0.39637e+03_rb,0.42832e+03_rb,0.46028e+03_rb,0.49326e+03_rb,0.57701e+03_rb, & & 0.58648e+03_rb,0.45298e+03_rb,0.29892e+03_rb,0.17829e+03_rb /) kao(:, 4, 2, 3) = (/ & & 0.38850e+03_rb,0.42143e+03_rb,0.45437e+03_rb,0.48855e+03_rb,0.57350e+03_rb, & & 0.57914e+03_rb,0.44500e+03_rb,0.29608e+03_rb,0.17829e+03_rb /) kao(:, 5, 2, 3) = (/ & & 0.38136e+03_rb,0.41519e+03_rb,0.44902e+03_rb,0.48433e+03_rb,0.57004e+03_rb, & & 0.57245e+03_rb,0.43774e+03_rb,0.29351e+03_rb,0.17829e+03_rb /) kao(:, 1, 3, 3) = (/ & & 0.38797e+03_rb,0.42097e+03_rb,0.45397e+03_rb,0.48897e+03_rb,0.57508e+03_rb, & & 0.57865e+03_rb,0.44446e+03_rb,0.29589e+03_rb,0.17829e+03_rb /) kao(:, 2, 3, 3) = (/ & & 0.37940e+03_rb,0.41348e+03_rb,0.44755e+03_rb,0.48416e+03_rb,0.57138e+03_rb, & & 0.57059e+03_rb,0.43573e+03_rb,0.29280e+03_rb,0.17829e+03_rb /) kao(:, 3, 3, 3) = (/ & & 0.37176e+03_rb,0.40679e+03_rb,0.44182e+03_rb,0.47985e+03_rb,0.56781e+03_rb, & & 0.56324e+03_rb,0.42791e+03_rb,0.29005e+03_rb,0.17829e+03_rb /) kao(:, 4, 3, 3) = (/ & & 0.36490e+03_rb,0.40078e+03_rb,0.43667e+03_rb,0.47599e+03_rb,0.56436e+03_rb, & & 0.55656e+03_rb,0.42088e+03_rb,0.28757e+03_rb,0.17829e+03_rb /) kao(:, 5, 3, 3) = (/ & & 0.35870e+03_rb,0.39536e+03_rb,0.43202e+03_rb,0.47253e+03_rb,0.56109e+03_rb, & & 0.55041e+03_rb,0.41448e+03_rb,0.28534e+03_rb,0.17829e+03_rb /) kao(:, 1, 4, 3) = (/ & & 0.36565e+03_rb,0.40144e+03_rb,0.43723e+03_rb,0.47759e+03_rb,0.56581e+03_rb, & & 0.55729e+03_rb,0.42164e+03_rb,0.28784e+03_rb,0.17829e+03_rb /) kao(:, 2, 4, 3) = (/ & & 0.35808e+03_rb,0.39482e+03_rb,0.43155e+03_rb,0.47386e+03_rb,0.56215e+03_rb, & & 0.54978e+03_rb,0.41381e+03_rb,0.28511e+03_rb,0.17829e+03_rb /) kao(:, 3, 4, 3) = (/ & & 0.35135e+03_rb,0.38893e+03_rb,0.42651e+03_rb,0.47052e+03_rb,0.55875e+03_rb, & & 0.54295e+03_rb,0.40683e+03_rb,0.28269e+03_rb,0.17829e+03_rb /) kao(:, 4, 4, 3) = (/ & & 0.34533e+03_rb,0.38366e+03_rb,0.42199e+03_rb,0.46746e+03_rb,0.55555e+03_rb, & & 0.53669e+03_rb,0.40055e+03_rb,0.28052e+03_rb,0.17829e+03_rb /) kao(:, 5, 4, 3) = (/ & & 0.33991e+03_rb,0.37892e+03_rb,0.41793e+03_rb,0.46467e+03_rb,0.55244e+03_rb, & & 0.53093e+03_rb,0.39488e+03_rb,0.27856e+03_rb,0.17829e+03_rb /) kao(:, 1, 5, 3) = (/ & & 0.34669e+03_rb,0.38485e+03_rb,0.42301e+03_rb,0.46943e+03_rb,0.55667e+03_rb, & & 0.53812e+03_rb,0.40197e+03_rb,0.28101e+03_rb,0.17829e+03_rb /) kao(:, 2, 5, 3) = (/ & & 0.33999e+03_rb,0.37899e+03_rb,0.41799e+03_rb,0.46662e+03_rb,0.55311e+03_rb, & & 0.53101e+03_rb,0.39496e+03_rb,0.27859e+03_rb,0.17829e+03_rb /) kao(:, 3, 5, 3) = (/ & & 0.33406e+03_rb,0.37380e+03_rb,0.41354e+03_rb,0.46416e+03_rb,0.54976e+03_rb, & & 0.52459e+03_rb,0.38873e+03_rb,0.27645e+03_rb,0.17829e+03_rb /) kao(:, 4, 5, 3) = (/ & & 0.32878e+03_rb,0.36918e+03_rb,0.40958e+03_rb,0.46185e+03_rb,0.54671e+03_rb, & & 0.51881e+03_rb,0.38326e+03_rb,0.27455e+03_rb,0.17829e+03_rb /) kao(:, 5, 5, 3) = (/ & & 0.32404e+03_rb,0.36503e+03_rb,0.40603e+03_rb,0.45969e+03_rb,0.54395e+03_rb, & & 0.51356e+03_rb,0.37844e+03_rb,0.27284e+03_rb,0.17829e+03_rb /) kao(:, 1, 6, 3) = (/ & & 0.33079e+03_rb,0.37094e+03_rb,0.41109e+03_rb,0.46395e+03_rb,0.54790e+03_rb, & & 0.52101e+03_rb,0.38534e+03_rb,0.27527e+03_rb,0.17829e+03_rb /) kao(:, 2, 6, 3) = (/ & & 0.32482e+03_rb,0.36572e+03_rb,0.40662e+03_rb,0.46188e+03_rb,0.54448e+03_rb, & & 0.51443e+03_rb,0.37923e+03_rb,0.27312e+03_rb,0.17829e+03_rb /) kao(:, 3, 6, 3) = (/ & & 0.31958e+03_rb,0.36113e+03_rb,0.40268e+03_rb,0.45998e+03_rb,0.54143e+03_rb, & & 0.50857e+03_rb,0.37397e+03_rb,0.27123e+03_rb,0.17829e+03_rb /) kao(:, 4, 6, 3) = (/ & & 0.31492e+03_rb,0.35705e+03_rb,0.39919e+03_rb,0.45816e+03_rb,0.53866e+03_rb, & & 0.50335e+03_rb,0.36939e+03_rb,0.26955e+03_rb,0.17829e+03_rb /) kao(:, 5, 6, 3) = (/ & & 0.31076e+03_rb,0.35342e+03_rb,0.39607e+03_rb,0.45638e+03_rb,0.53611e+03_rb, & & 0.49868e+03_rb,0.36537e+03_rb,0.26805e+03_rb,0.17829e+03_rb /) kao(:, 1, 7, 3) = (/ & & 0.31725e+03_rb,0.35910e+03_rb,0.40094e+03_rb,0.45992e+03_rb,0.53978e+03_rb, & & 0.50597e+03_rb,0.37168e+03_rb,0.27039e+03_rb,0.17829e+03_rb /) kao(:, 2, 7, 3) = (/ & & 0.31194e+03_rb,0.35445e+03_rb,0.39695e+03_rb,0.45835e+03_rb,0.53664e+03_rb, & & 0.50000e+03_rb,0.36650e+03_rb,0.26848e+03_rb,0.17829e+03_rb /) kao(:, 3, 7, 3) = (/ & & 0.30729e+03_rb,0.35038e+03_rb,0.39347e+03_rb,0.45686e+03_rb,0.53383e+03_rb, & & 0.49465e+03_rb,0.36205e+03_rb,0.26680e+03_rb,0.17829e+03_rb /) kao(:, 4, 7, 3) = (/ & & 0.30318e+03_rb,0.34679e+03_rb,0.39040e+03_rb,0.45536e+03_rb,0.53125e+03_rb, & & 0.48979e+03_rb,0.35818e+03_rb,0.26532e+03_rb,0.17829e+03_rb /) kao(:, 5, 7, 3) = (/ & & 0.29953e+03_rb,0.34359e+03_rb,0.38767e+03_rb,0.45383e+03_rb,0.52882e+03_rb, & & 0.48543e+03_rb,0.35479e+03_rb,0.26401e+03_rb,0.17829e+03_rb /) kao(:, 1, 8, 3) = (/ & & 0.30567e+03_rb,0.34896e+03_rb,0.39226e+03_rb,0.45673e+03_rb,0.53243e+03_rb, & & 0.49274e+03_rb,0.36052e+03_rb,0.26622e+03_rb,0.17829e+03_rb /) kao(:, 2, 8, 3) = (/ & & 0.30094e+03_rb,0.34482e+03_rb,0.38872e+03_rb,0.45541e+03_rb,0.52945e+03_rb, & & 0.48711e+03_rb,0.35609e+03_rb,0.26451e+03_rb,0.17829e+03_rb /) kao(:, 3, 8, 3) = (/ & & 0.29682e+03_rb,0.34122e+03_rb,0.38564e+03_rb,0.45413e+03_rb,0.52674e+03_rb, & & 0.48217e+03_rb,0.35231e+03_rb,0.26303e+03_rb,0.17829e+03_rb /) kao(:, 4, 8, 3) = (/ & & 0.29320e+03_rb,0.33805e+03_rb,0.38294e+03_rb,0.45285e+03_rb,0.52426e+03_rb, & & 0.47779e+03_rb,0.34904e+03_rb,0.26172e+03_rb,0.17829e+03_rb /) kao(:, 5, 8, 3) = (/ & & 0.29000e+03_rb,0.33525e+03_rb,0.38055e+03_rb,0.45152e+03_rb,0.52191e+03_rb, & & 0.47388e+03_rb,0.34618e+03_rb,0.26057e+03_rb,0.17829e+03_rb /) kao(:, 1, 9, 3) = (/ & & 0.29581e+03_rb,0.34033e+03_rb,0.38489e+03_rb,0.45387e+03_rb,0.52555e+03_rb, & & 0.48095e+03_rb,0.35139e+03_rb,0.26266e+03_rb,0.17829e+03_rb /) kao(:, 2, 9, 3) = (/ & & 0.29159e+03_rb,0.33664e+03_rb,0.38173e+03_rb,0.45277e+03_rb,0.52268e+03_rb, & & 0.47582e+03_rb,0.34759e+03_rb,0.26114e+03_rb,0.17829e+03_rb /) kao(:, 3, 9, 3) = (/ & & 0.28794e+03_rb,0.33344e+03_rb,0.37901e+03_rb,0.45167e+03_rb,0.52008e+03_rb, & & 0.47135e+03_rb,0.34436e+03_rb,0.25982e+03_rb,0.17829e+03_rb /) kao(:, 4, 9, 3) = (/ & & 0.28475e+03_rb,0.33065e+03_rb,0.37663e+03_rb,0.45055e+03_rb,0.51765e+03_rb, & & 0.46738e+03_rb,0.34157e+03_rb,0.25867e+03_rb,0.17829e+03_rb /) kao(:, 5, 9, 3) = (/ & & 0.28193e+03_rb,0.32819e+03_rb,0.37453e+03_rb,0.44937e+03_rb,0.51538e+03_rb, & & 0.46382e+03_rb,0.33916e+03_rb,0.25766e+03_rb,0.17829e+03_rb /) kao(:, 1,10, 3) = (/ & & 0.28708e+03_rb,0.33269e+03_rb,0.37836e+03_rb,0.45121e+03_rb,0.51885e+03_rb, & & 0.47029e+03_rb,0.34361e+03_rb,0.25951e+03_rb,0.17829e+03_rb /) kao(:, 2,10, 3) = (/ & & 0.28336e+03_rb,0.32944e+03_rb,0.37559e+03_rb,0.45027e+03_rb,0.51611e+03_rb, & & 0.46563e+03_rb,0.34037e+03_rb,0.25817e+03_rb,0.17829e+03_rb /) kao(:, 3,10, 3) = (/ & & 0.28016e+03_rb,0.32664e+03_rb,0.37320e+03_rb,0.44932e+03_rb,0.51361e+03_rb, & & 0.46153e+03_rb,0.33765e+03_rb,0.25702e+03_rb,0.17829e+03_rb /) kao(:, 4,10, 3) = (/ & & 0.27737e+03_rb,0.32420e+03_rb,0.37112e+03_rb,0.44835e+03_rb,0.51133e+03_rb, & & 0.45793e+03_rb,0.33532e+03_rb,0.25601e+03_rb,0.17829e+03_rb /) kao(:, 5,10, 3) = (/ & & 0.27492e+03_rb,0.32206e+03_rb,0.36930e+03_rb,0.44735e+03_rb,0.50922e+03_rb, & & 0.45473e+03_rb,0.33330e+03_rb,0.25513e+03_rb,0.17829e+03_rb /) kao(:, 1,11, 3) = (/ & & 0.27807e+03_rb,0.32481e+03_rb,0.37164e+03_rb,0.44842e+03_rb,0.51141e+03_rb, & & 0.45884e+03_rb,0.33590e+03_rb,0.25627e+03_rb,0.17829e+03_rb /) kao(:, 2,11, 3) = (/ & & 0.27502e+03_rb,0.32214e+03_rb,0.36937e+03_rb,0.44764e+03_rb,0.50894e+03_rb, & & 0.45486e+03_rb,0.33338e+03_rb,0.25517e+03_rb,0.17829e+03_rb /) kao(:, 3,11, 3) = (/ & & 0.27240e+03_rb,0.31985e+03_rb,0.36742e+03_rb,0.44685e+03_rb,0.50671e+03_rb, & & 0.45139e+03_rb,0.33123e+03_rb,0.25422e+03_rb,0.17829e+03_rb /) kao(:, 4,11, 3) = (/ & & 0.27012e+03_rb,0.31785e+03_rb,0.36572e+03_rb,0.44602e+03_rb,0.50464e+03_rb, & & 0.44836e+03_rb,0.32939e+03_rb,0.25340e+03_rb,0.17829e+03_rb /) kao(:, 5,11, 3) = (/ & & 0.26811e+03_rb,0.31610e+03_rb,0.36422e+03_rb,0.44514e+03_rb,0.50273e+03_rb, & & 0.44569e+03_rb,0.32779e+03_rb,0.25268e+03_rb,0.17829e+03_rb /) kao(:, 1,12, 3) = (/ & & 0.27068e+03_rb,0.31834e+03_rb,0.36613e+03_rb,0.44605e+03_rb,0.50476e+03_rb, & & 0.44911e+03_rb,0.32983e+03_rb,0.25360e+03_rb,0.17829e+03_rb /) kao(:, 2,12, 3) = (/ & & 0.26818e+03_rb,0.31616e+03_rb,0.36428e+03_rb,0.44539e+03_rb,0.50255e+03_rb, & & 0.44579e+03_rb,0.32784e+03_rb,0.25270e+03_rb,0.17829e+03_rb /) kao(:, 3,12, 3) = (/ & & 0.26603e+03_rb,0.31428e+03_rb,0.36268e+03_rb,0.44471e+03_rb,0.50054e+03_rb, & & 0.44293e+03_rb,0.32614e+03_rb,0.25193e+03_rb,0.17829e+03_rb /) kao(:, 4,12, 3) = (/ & & 0.26417e+03_rb,0.31264e+03_rb,0.36129e+03_rb,0.44399e+03_rb,0.49874e+03_rb, & & 0.44043e+03_rb,0.32468e+03_rb,0.25125e+03_rb,0.17829e+03_rb /) kao(:, 5,12, 3) = (/ & & 0.26252e+03_rb,0.31121e+03_rb,0.36005e+03_rb,0.44322e+03_rb,0.49710e+03_rb, & & 0.43824e+03_rb,0.32341e+03_rb,0.25066e+03_rb,0.17829e+03_rb /) kao(:, 1,13, 3) = (/ & & 0.26463e+03_rb,0.31305e+03_rb,0.36163e+03_rb,0.44400e+03_rb,0.49889e+03_rb, & & 0.44105e+03_rb,0.32504e+03_rb,0.25142e+03_rb,0.17829e+03_rb /) kao(:, 2,13, 3) = (/ & & 0.26258e+03_rb,0.31126e+03_rb,0.36010e+03_rb,0.44348e+03_rb,0.49698e+03_rb, & & 0.43831e+03_rb,0.32345e+03_rb,0.25068e+03_rb,0.17829e+03_rb /) kao(:, 3,13, 3) = (/ & & 0.26082e+03_rb,0.30972e+03_rb,0.35880e+03_rb,0.44291e+03_rb,0.49519e+03_rb, & & 0.43595e+03_rb,0.32210e+03_rb,0.25005e+03_rb,0.17829e+03_rb /) kao(:, 4,13, 3) = (/ & & 0.25929e+03_rb,0.30838e+03_rb,0.35766e+03_rb,0.44229e+03_rb,0.49360e+03_rb, & & 0.43388e+03_rb,0.32093e+03_rb,0.24950e+03_rb,0.17829e+03_rb /) kao(:, 5,13, 3) = (/ & & 0.25795e+03_rb,0.30721e+03_rb,0.35666e+03_rb,0.44160e+03_rb,0.49217e+03_rb, & & 0.43204e+03_rb,0.31991e+03_rb,0.24901e+03_rb,0.17829e+03_rb /) kao(:, 1, 1, 4) = (/ & & 0.86913e+03_rb,0.80389e+03_rb,0.73864e+03_rb,0.67339e+03_rb,0.62239e+03_rb, & & 0.67741e+03_rb,0.51596e+03_rb,0.43641e+03_rb,0.38437e+03_rb /) kao(:, 2, 1, 4) = (/ & & 0.84711e+03_rb,0.78462e+03_rb,0.72212e+03_rb,0.65963e+03_rb,0.61530e+03_rb, & & 0.66963e+03_rb,0.50564e+03_rb,0.43387e+03_rb,0.38437e+03_rb /) kao(:, 3, 1, 4) = (/ & & 0.82734e+03_rb,0.76731e+03_rb,0.70729e+03_rb,0.64727e+03_rb,0.60932e+03_rb, & & 0.66251e+03_rb,0.49688e+03_rb,0.43160e+03_rb,0.38437e+03_rb /) kao(:, 4, 1, 4) = (/ & & 0.80948e+03_rb,0.75169e+03_rb,0.69390e+03_rb,0.63611e+03_rb,0.60420e+03_rb, & & 0.65531e+03_rb,0.48930e+03_rb,0.42954e+03_rb,0.38437e+03_rb /) kao(:, 5, 1, 4) = (/ & & 0.79327e+03_rb,0.73751e+03_rb,0.68174e+03_rb,0.62598e+03_rb,0.59980e+03_rb, & & 0.64776e+03_rb,0.48275e+03_rb,0.42767e+03_rb,0.38437e+03_rb /) kao(:, 1, 2, 4) = (/ & & 0.80291e+03_rb,0.74594e+03_rb,0.68897e+03_rb,0.63200e+03_rb,0.60547e+03_rb, & & 0.65273e+03_rb,0.48660e+03_rb,0.42878e+03_rb,0.38437e+03_rb /) kao(:, 2, 2, 4) = (/ & & 0.78403e+03_rb,0.72942e+03_rb,0.67481e+03_rb,0.62020e+03_rb,0.60133e+03_rb, & & 0.64384e+03_rb,0.47915e+03_rb,0.42661e+03_rb,0.38437e+03_rb /) kao(:, 3, 2, 4) = (/ & & 0.76711e+03_rb,0.71462e+03_rb,0.66212e+03_rb,0.60962e+03_rb,0.59788e+03_rb, & & 0.63506e+03_rb,0.47284e+03_rb,0.42466e+03_rb,0.38437e+03_rb /) kao(:, 4, 2, 4) = (/ & & 0.75187e+03_rb,0.70128e+03_rb,0.65069e+03_rb,0.60010e+03_rb,0.59472e+03_rb, & & 0.62679e+03_rb,0.46742e+03_rb,0.42291e+03_rb,0.38437e+03_rb /) kao(:, 5, 2, 4) = (/ & & 0.73807e+03_rb,0.68920e+03_rb,0.64034e+03_rb,0.59147e+03_rb,0.59165e+03_rb, & & 0.61864e+03_rb,0.46272e+03_rb,0.42132e+03_rb,0.38437e+03_rb /) kao(:, 1, 3, 4) = (/ & & 0.75084e+03_rb,0.70038e+03_rb,0.64992e+03_rb,0.59946e+03_rb,0.59732e+03_rb, & & 0.62621e+03_rb,0.46707e+03_rb,0.42279e+03_rb,0.38437e+03_rb /) kao(:, 2, 3, 4) = (/ & & 0.73427e+03_rb,0.68588e+03_rb,0.63749e+03_rb,0.58910e+03_rb,0.59435e+03_rb, & & 0.61627e+03_rb,0.46147e+03_rb,0.42088e+03_rb,0.38437e+03_rb /) kao(:, 3, 3, 4) = (/ & & 0.71948e+03_rb,0.67294e+03_rb,0.62640e+03_rb,0.57986e+03_rb,0.59145e+03_rb, & & 0.60690e+03_rb,0.45675e+03_rb,0.41918e+03_rb,0.38437e+03_rb /) kao(:, 4, 3, 4) = (/ & & 0.70620e+03_rb,0.66132e+03_rb,0.61644e+03_rb,0.57156e+03_rb,0.58863e+03_rb, & & 0.59842e+03_rb,0.45269e+03_rb,0.41765e+03_rb,0.38437e+03_rb /) kao(:, 5, 3, 4) = (/ & & 0.69421e+03_rb,0.65083e+03_rb,0.60744e+03_rb,0.56406e+03_rb,0.58580e+03_rb, & & 0.59032e+03_rb,0.44923e+03_rb,0.41627e+03_rb,0.38437e+03_rb /) kao(:, 1, 4, 4) = (/ & & 0.70765e+03_rb,0.66259e+03_rb,0.61753e+03_rb,0.57246e+03_rb,0.59114e+03_rb, & & 0.59936e+03_rb,0.45313e+03_rb,0.41781e+03_rb,0.38437e+03_rb /) kao(:, 2, 4, 4) = (/ & & 0.69300e+03_rb,0.64977e+03_rb,0.60654e+03_rb,0.56330e+03_rb,0.58834e+03_rb, & & 0.58949e+03_rb,0.44892e+03_rb,0.41613e+03_rb,0.38437e+03_rb /) kao(:, 3, 4, 4) = (/ & & 0.67997e+03_rb,0.63837e+03_rb,0.59677e+03_rb,0.55516e+03_rb,0.58563e+03_rb, & & 0.58057e+03_rb,0.44538e+03_rb,0.41463e+03_rb,0.38437e+03_rb /) kao(:, 4, 4, 4) = (/ & & 0.66833e+03_rb,0.62818e+03_rb,0.58803e+03_rb,0.54788e+03_rb,0.58292e+03_rb, & & 0.57257e+03_rb,0.44238e+03_rb,0.41329e+03_rb,0.38437e+03_rb /) kao(:, 5, 4, 4) = (/ & & 0.65784e+03_rb,0.61901e+03_rb,0.58017e+03_rb,0.54133e+03_rb,0.58031e+03_rb, & & 0.56522e+03_rb,0.43982e+03_rb,0.41208e+03_rb,0.38437e+03_rb /) kao(:, 1, 5, 4) = (/ & & 0.67096e+03_rb,0.63048e+03_rb,0.59001e+03_rb,0.54953e+03_rb,0.58521e+03_rb, & & 0.57438e+03_rb,0.44304e+03_rb,0.41359e+03_rb,0.38437e+03_rb /) kao(:, 2, 5, 4) = (/ & & 0.65799e+03_rb,0.61913e+03_rb,0.58028e+03_rb,0.54142e+03_rb,0.58256e+03_rb, & & 0.56532e+03_rb,0.43984e+03_rb,0.41210e+03_rb,0.38437e+03_rb /) kao(:, 3, 5, 4) = (/ & & 0.64651e+03_rb,0.60909e+03_rb,0.57167e+03_rb,0.53427e+03_rb,0.57997e+03_rb, & & 0.55705e+03_rb,0.43718e+03_rb,0.41077e+03_rb,0.38437e+03_rb /) kao(:, 4, 5, 4) = (/ & & 0.63629e+03_rb,0.60015e+03_rb,0.56401e+03_rb,0.52793e+03_rb,0.57742e+03_rb, & & 0.54959e+03_rb,0.43482e+03_rb,0.40960e+03_rb,0.38437e+03_rb /) kao(:, 5, 5, 4) = (/ & & 0.62713e+03_rb,0.59213e+03_rb,0.55713e+03_rb,0.52227e+03_rb,0.57480e+03_rb, & & 0.54282e+03_rb,0.43271e+03_rb,0.40854e+03_rb,0.38437e+03_rb /) kao(:, 1, 6, 4) = (/ & & 0.64019e+03_rb,0.60356e+03_rb,0.56693e+03_rb,0.53034e+03_rb,0.57955e+03_rb, & & 0.55244e+03_rb,0.43572e+03_rb,0.41005e+03_rb,0.38437e+03_rb /) kao(:, 2, 6, 4) = (/ & & 0.62864e+03_rb,0.59346e+03_rb,0.55827e+03_rb,0.52321e+03_rb,0.57700e+03_rb, & & 0.54395e+03_rb,0.43306e+03_rb,0.40872e+03_rb,0.38437e+03_rb /) kao(:, 3, 6, 4) = (/ & & 0.61849e+03_rb,0.58457e+03_rb,0.55065e+03_rb,0.51703e+03_rb,0.57439e+03_rb, & & 0.53634e+03_rb,0.43072e+03_rb,0.40755e+03_rb,0.38437e+03_rb /) kao(:, 4, 6, 4) = (/ & & 0.60948e+03_rb,0.57669e+03_rb,0.54390e+03_rb,0.51158e+03_rb,0.57170e+03_rb, & & 0.52946e+03_rb,0.42865e+03_rb,0.40651e+03_rb,0.38437e+03_rb /) kao(:, 5, 6, 4) = (/ & & 0.60143e+03_rb,0.56965e+03_rb,0.53786e+03_rb,0.50675e+03_rb,0.56897e+03_rb, & & 0.52321e+03_rb,0.42679e+03_rb,0.40558e+03_rb,0.38437e+03_rb /) kao(:, 1, 7, 4) = (/ & & 0.61399e+03_rb,0.58064e+03_rb,0.54728e+03_rb,0.51440e+03_rb,0.57380e+03_rb, & & 0.53292e+03_rb,0.42969e+03_rb,0.40703e+03_rb,0.38437e+03_rb /) kao(:, 2, 7, 4) = (/ & & 0.60371e+03_rb,0.57164e+03_rb,0.53957e+03_rb,0.50828e+03_rb,0.57103e+03_rb, & & 0.52498e+03_rb,0.42732e+03_rb,0.40585e+03_rb,0.38437e+03_rb /) kao(:, 3, 7, 4) = (/ & & 0.59471e+03_rb,0.56376e+03_rb,0.53282e+03_rb,0.50302e+03_rb,0.56836e+03_rb, & & 0.51802e+03_rb,0.42525e+03_rb,0.40481e+03_rb,0.38437e+03_rb /) kao(:, 4, 7, 4) = (/ & & 0.58676e+03_rb,0.55681e+03_rb,0.52686e+03_rb,0.49842e+03_rb,0.56580e+03_rb, & & 0.51197e+03_rb,0.42342e+03_rb,0.40389e+03_rb,0.38437e+03_rb /) kao(:, 5, 7, 4) = (/ & & 0.57970e+03_rb,0.55063e+03_rb,0.52156e+03_rb,0.49437e+03_rb,0.56333e+03_rb, & & 0.50656e+03_rb,0.42179e+03_rb,0.40308e+03_rb,0.38437e+03_rb /) kao(:, 1, 8, 4) = (/ & & 0.59158e+03_rb,0.56102e+03_rb,0.53047e+03_rb,0.50136e+03_rb,0.56762e+03_rb, & & 0.51564e+03_rb,0.42452e+03_rb,0.40445e+03_rb,0.38437e+03_rb /) kao(:, 2, 8, 4) = (/ & & 0.58242e+03_rb,0.55301e+03_rb,0.52360e+03_rb,0.49623e+03_rb,0.56499e+03_rb, & & 0.50866e+03_rb,0.42242e+03_rb,0.40339e+03_rb,0.38437e+03_rb /) kao(:, 3, 8, 4) = (/ & & 0.57445e+03_rb,0.54604e+03_rb,0.51762e+03_rb,0.49188e+03_rb,0.56245e+03_rb, & & 0.50238e+03_rb,0.42058e+03_rb,0.40248e+03_rb,0.38437e+03_rb /) kao(:, 4, 8, 4) = (/ & & 0.56745e+03_rb,0.53991e+03_rb,0.51237e+03_rb,0.48811e+03_rb,0.55998e+03_rb, & & 0.49675e+03_rb,0.41897e+03_rb,0.40167e+03_rb,0.38437e+03_rb /) kao(:, 5, 8, 4) = (/ & & 0.56125e+03_rb,0.53448e+03_rb,0.50772e+03_rb,0.48477e+03_rb,0.55757e+03_rb, & & 0.49178e+03_rb,0.41754e+03_rb,0.40096e+03_rb,0.38437e+03_rb /) kao(:, 1, 9, 4) = (/ & & 0.57249e+03_rb,0.54432e+03_rb,0.51615e+03_rb,0.49103e+03_rb,0.56159e+03_rb, & & 0.50080e+03_rb,0.42013e+03_rb,0.40225e+03_rb,0.38437e+03_rb /) kao(:, 2, 9, 4) = (/ & & 0.56432e+03_rb,0.53718e+03_rb,0.51003e+03_rb,0.48678e+03_rb,0.55899e+03_rb, & & 0.49424e+03_rb,0.41825e+03_rb,0.40131e+03_rb,0.38437e+03_rb /) kao(:, 3, 9, 4) = (/ & & 0.55726e+03_rb,0.53099e+03_rb,0.50473e+03_rb,0.48321e+03_rb,0.55650e+03_rb, & & 0.48858e+03_rb,0.41662e+03_rb,0.40050e+03_rb,0.38437e+03_rb /) kao(:, 4, 9, 4) = (/ & & 0.55108e+03_rb,0.52559e+03_rb,0.50010e+03_rb,0.48011e+03_rb,0.55416e+03_rb, & & 0.48367e+03_rb,0.41520e+03_rb,0.39978e+03_rb,0.38437e+03_rb /) kao(:, 5, 9, 4) = (/ & & 0.54564e+03_rb,0.52083e+03_rb,0.49601e+03_rb,0.47737e+03_rb,0.55194e+03_rb, & & 0.47938e+03_rb,0.41394e+03_rb,0.39916e+03_rb,0.38437e+03_rb /) kao(:, 1,10, 4) = (/ & & 0.55559e+03_rb,0.52954e+03_rb,0.50348e+03_rb,0.48256e+03_rb,0.55544e+03_rb, & & 0.48725e+03_rb,0.41624e+03_rb,0.40030e+03_rb,0.38437e+03_rb /) kao(:, 2,10, 4) = (/ & & 0.54839e+03_rb,0.52324e+03_rb,0.49808e+03_rb,0.47910e+03_rb,0.55295e+03_rb, & & 0.48155e+03_rb,0.41458e+03_rb,0.39948e+03_rb,0.38437e+03_rb /) kao(:, 3,10, 4) = (/ & & 0.54220e+03_rb,0.51781e+03_rb,0.49343e+03_rb,0.47621e+03_rb,0.55067e+03_rb, & & 0.47667e+03_rb,0.41315e+03_rb,0.39876e+03_rb,0.38437e+03_rb /) kao(:, 4,10, 4) = (/ & & 0.53680e+03_rb,0.51310e+03_rb,0.48939e+03_rb,0.47371e+03_rb,0.54855e+03_rb, & & 0.47238e+03_rb,0.41191e+03_rb,0.39814e+03_rb,0.38437e+03_rb /) kao(:, 5,10, 4) = (/ & & 0.53207e+03_rb,0.50895e+03_rb,0.48584e+03_rb,0.47148e+03_rb,0.54655e+03_rb, & & 0.46857e+03_rb,0.41082e+03_rb,0.39760e+03_rb,0.38437e+03_rb /) kao(:, 1,11, 4) = (/ & & 0.53816e+03_rb,0.51428e+03_rb,0.49041e+03_rb,0.47455e+03_rb,0.54857e+03_rb, & & 0.47346e+03_rb,0.41222e+03_rb,0.39830e+03_rb,0.38437e+03_rb /) kao(:, 2,11, 4) = (/ & & 0.53226e+03_rb,0.50912e+03_rb,0.48598e+03_rb,0.47200e+03_rb,0.54640e+03_rb, & & 0.46874e+03_rb,0.41086e+03_rb,0.39762e+03_rb,0.38437e+03_rb /) kao(:, 3,11, 4) = (/ & & 0.52718e+03_rb,0.50468e+03_rb,0.48217e+03_rb,0.46982e+03_rb,0.54436e+03_rb, & & 0.46486e+03_rb,0.40969e+03_rb,0.39703e+03_rb,0.38437e+03_rb /) kao(:, 4,11, 4) = (/ & & 0.52277e+03_rb,0.50081e+03_rb,0.47886e+03_rb,0.46790e+03_rb,0.54248e+03_rb, & & 0.46109e+03_rb,0.40868e+03_rb,0.39652e+03_rb,0.38437e+03_rb /) kao(:, 5,11, 4) = (/ & & 0.51889e+03_rb,0.49742e+03_rb,0.47595e+03_rb,0.46618e+03_rb,0.54076e+03_rb, & & 0.45793e+03_rb,0.40778e+03_rb,0.39608e+03_rb,0.38437e+03_rb /) kao(:, 1,12, 4) = (/ & & 0.52385e+03_rb,0.50177e+03_rb,0.47968e+03_rb,0.46863e+03_rb,0.54244e+03_rb, & & 0.46202e+03_rb,0.40893e+03_rb,0.39665e+03_rb,0.38437e+03_rb /) kao(:, 2,12, 4) = (/ & & 0.51902e+03_rb,0.49754e+03_rb,0.47606e+03_rb,0.46673e+03_rb,0.54050e+03_rb, & & 0.45805e+03_rb,0.40782e+03_rb,0.39609e+03_rb,0.38437e+03_rb /) kao(:, 3,12, 4) = (/ & & 0.51487e+03_rb,0.49390e+03_rb,0.47294e+03_rb,0.46509e+03_rb,0.53868e+03_rb, & & 0.45465e+03_rb,0.40686e+03_rb,0.39561e+03_rb,0.38437e+03_rb /) kao(:, 4,12, 4) = (/ & & 0.51125e+03_rb,0.49074e+03_rb,0.47022e+03_rb,0.46362e+03_rb,0.53703e+03_rb, & & 0.45171e+03_rb,0.40602e+03_rb,0.39520e+03_rb,0.38437e+03_rb /) kao(:, 5,12, 4) = (/ & & 0.50807e+03_rb,0.48796e+03_rb,0.46784e+03_rb,0.46227e+03_rb,0.53558e+03_rb, & & 0.44916e+03_rb,0.40529e+03_rb,0.39483e+03_rb,0.38437e+03_rb /) kao(:, 1,13, 4) = (/ & & 0.51214e+03_rb,0.49152e+03_rb,0.47089e+03_rb,0.46425e+03_rb,0.53698e+03_rb, & & 0.45243e+03_rb,0.40623e+03_rb,0.39530e+03_rb,0.38437e+03_rb /) kao(:, 2,13, 4) = (/ & & 0.50819e+03_rb,0.48806e+03_rb,0.46793e+03_rb,0.46281e+03_rb,0.53522e+03_rb, & & 0.44925e+03_rb,0.40532e+03_rb,0.39485e+03_rb,0.38437e+03_rb /) kao(:, 3,13, 4) = (/ & & 0.50478e+03_rb,0.48508e+03_rb,0.46537e+03_rb,0.46157e+03_rb,0.53378e+03_rb, & & 0.44654e+03_rb,0.40453e+03_rb,0.39445e+03_rb,0.38437e+03_rb /) kao(:, 4,13, 4) = (/ & & 0.50182e+03_rb,0.48249e+03_rb,0.46315e+03_rb,0.46044e+03_rb,0.53251e+03_rb, & & 0.44422e+03_rb,0.40385e+03_rb,0.39411e+03_rb,0.38437e+03_rb /) kao(:, 5,13, 4) = (/ & & 0.49922e+03_rb,0.48021e+03_rb,0.46120e+03_rb,0.45936e+03_rb,0.53137e+03_rb, & & 0.44221e+03_rb,0.40325e+03_rb,0.39381e+03_rb,0.38437e+03_rb /) kao(:, 1, 1, 5) = (/ & & 0.13243e+04_rb,0.11799e+04_rb,0.10354e+04_rb,0.89093e+03_rb,0.74647e+03_rb, & & 0.71044e+03_rb,0.61021e+03_rb,0.64069e+03_rb,0.67118e+03_rb /) kao(:, 2, 1, 5) = (/ & & 0.12908e+04_rb,0.11505e+04_rb,0.10102e+04_rb,0.86996e+03_rb,0.72969e+03_rb, & & 0.70292e+03_rb,0.60750e+03_rb,0.63934e+03_rb,0.67118e+03_rb /) kao(:, 3, 1, 5) = (/ & & 0.12606e+04_rb,0.11241e+04_rb,0.98763e+03_rb,0.85113e+03_rb,0.71463e+03_rb, & & 0.69451e+03_rb,0.60507e+03_rb,0.63812e+03_rb,0.67118e+03_rb /) kao(:, 4, 1, 5) = (/ & & 0.12334e+04_rb,0.11003e+04_rb,0.96722e+03_rb,0.83412e+03_rb,0.70102e+03_rb, & & 0.68564e+03_rb,0.60287e+03_rb,0.63703e+03_rb,0.67118e+03_rb /) kao(:, 5, 1, 5) = (/ & & 0.12087e+04_rb,0.10787e+04_rb,0.94870e+03_rb,0.81869e+03_rb,0.68867e+03_rb, & & 0.67724e+03_rb,0.60088e+03_rb,0.63603e+03_rb,0.67118e+03_rb /) kao(:, 1, 2, 5) = (/ & & 0.12234e+04_rb,0.10916e+04_rb,0.95972e+03_rb,0.82787e+03_rb,0.69602e+03_rb, & & 0.68345e+03_rb,0.60207e+03_rb,0.63662e+03_rb,0.67118e+03_rb /) kao(:, 2, 2, 5) = (/ & & 0.11946e+04_rb,0.10664e+04_rb,0.93814e+03_rb,0.80988e+03_rb,0.68163e+03_rb, & & 0.67225e+03_rb,0.59975e+03_rb,0.63546e+03_rb,0.67118e+03_rb /) kao(:, 3, 2, 5) = (/ & & 0.11689e+04_rb,0.10438e+04_rb,0.91881e+03_rb,0.79377e+03_rb,0.66882e+03_rb, & & 0.66165e+03_rb,0.59767e+03_rb,0.63442e+03_rb,0.67118e+03_rb /) kao(:, 4, 2, 5) = (/ & & 0.11456e+04_rb,0.10235e+04_rb,0.90139e+03_rb,0.77926e+03_rb,0.65759e+03_rb, & & 0.65058e+03_rb,0.59579e+03_rb,0.63348e+03_rb,0.67118e+03_rb /) kao(:, 5, 2, 5) = (/ & & 0.11246e+04_rb,0.10051e+04_rb,0.88561e+03_rb,0.76611e+03_rb,0.64778e+03_rb, & & 0.64016e+03_rb,0.59410e+03_rb,0.63264e+03_rb,0.67118e+03_rb /) kao(:, 1, 3, 5) = (/ & & 0.11441e+04_rb,0.10221e+04_rb,0.90021e+03_rb,0.77828e+03_rb,0.65728e+03_rb, & & 0.64981e+03_rb,0.59567e+03_rb,0.63342e+03_rb,0.67118e+03_rb /) kao(:, 2, 3, 5) = (/ & & 0.11188e+04_rb,0.10001e+04_rb,0.88128e+03_rb,0.76250e+03_rb,0.64582e+03_rb, & & 0.63739e+03_rb,0.59363e+03_rb,0.63240e+03_rb,0.67118e+03_rb /) kao(:, 3, 3, 5) = (/ & & 0.10963e+04_rb,0.98033e+03_rb,0.86437e+03_rb,0.74841e+03_rb,0.63611e+03_rb, & & 0.62581e+03_rb,0.59181e+03_rb,0.63149e+03_rb,0.67118e+03_rb /) kao(:, 4, 3, 5) = (/ & & 0.10761e+04_rb,0.96263e+03_rb,0.84920e+03_rb,0.73577e+03_rb,0.62780e+03_rb, & & 0.61513e+03_rb,0.59018e+03_rb,0.63068e+03_rb,0.67118e+03_rb /) kao(:, 5, 3, 5) = (/ & & 0.10578e+04_rb,0.94664e+03_rb,0.83549e+03_rb,0.72435e+03_rb,0.62066e+03_rb, & & 0.60588e+03_rb,0.58871e+03_rb,0.62994e+03_rb,0.67118e+03_rb /) kao(:, 1, 4, 5) = (/ & & 0.10783e+04_rb,0.96456e+03_rb,0.85086e+03_rb,0.73715e+03_rb,0.62971e+03_rb, & & 0.61628e+03_rb,0.59036e+03_rb,0.63077e+03_rb,0.67118e+03_rb /) kao(:, 2, 4, 5) = (/ & & 0.10559e+04_rb,0.94502e+03_rb,0.83411e+03_rb,0.72319e+03_rb,0.62145e+03_rb, & & 0.60490e+03_rb,0.58856e+03_rb,0.62987e+03_rb,0.67118e+03_rb /) kao(:, 3, 4, 5) = (/ & & 0.10361e+04_rb,0.92766e+03_rb,0.81923e+03_rb,0.71079e+03_rb,0.61457e+03_rb, & & 0.59452e+03_rb,0.58696e+03_rb,0.62907e+03_rb,0.67118e+03_rb /) kao(:, 4, 4, 5) = (/ & & 0.10183e+04_rb,0.91213e+03_rb,0.80591e+03_rb,0.69970e+03_rb,0.60876e+03_rb, & & 0.58559e+03_rb,0.58552e+03_rb,0.62835e+03_rb,0.67118e+03_rb /) kao(:, 5, 4, 5) = (/ & & 0.10024e+04_rb,0.89816e+03_rb,0.79394e+03_rb,0.68972e+03_rb,0.60374e+03_rb, & & 0.57800e+03_rb,0.58424e+03_rb,0.62771e+03_rb,0.67118e+03_rb /) kao(:, 1, 5, 5) = (/ & & 0.10224e+04_rb,0.91564e+03_rb,0.80892e+03_rb,0.70221e+03_rb,0.61144e+03_rb, & & 0.58757e+03_rb,0.58585e+03_rb,0.62851e+03_rb,0.67118e+03_rb /) kao(:, 2, 5, 5) = (/ & & 0.10026e+04_rb,0.89835e+03_rb,0.79410e+03_rb,0.68985e+03_rb,0.60588e+03_rb, & & 0.57810e+03_rb,0.58425e+03_rb,0.62772e+03_rb,0.67118e+03_rb /) kao(:, 3, 5, 5) = (/ & & 0.98511e+03_rb,0.88305e+03_rb,0.78099e+03_rb,0.67893e+03_rb,0.60138e+03_rb, & & 0.57034e+03_rb,0.58284e+03_rb,0.62701e+03_rb,0.67118e+03_rb /) kao(:, 4, 5, 5) = (/ & & 0.96954e+03_rb,0.86942e+03_rb,0.76931e+03_rb,0.66919e+03_rb,0.59759e+03_rb, & & 0.56378e+03_rb,0.58159e+03_rb,0.62638e+03_rb,0.67118e+03_rb /) kao(:, 5, 5, 5) = (/ & & 0.95557e+03_rb,0.85720e+03_rb,0.75883e+03_rb,0.66046e+03_rb,0.59436e+03_rb, & & 0.55823e+03_rb,0.58046e+03_rb,0.62582e+03_rb,0.67118e+03_rb /) kao(:, 1, 6, 5) = (/ & & 0.97547e+03_rb,0.87461e+03_rb,0.77376e+03_rb,0.67290e+03_rb,0.60045e+03_rb, & & 0.56624e+03_rb,0.58207e+03_rb,0.62662e+03_rb,0.67118e+03_rb /) kao(:, 2, 6, 5) = (/ & & 0.95788e+03_rb,0.85922e+03_rb,0.76057e+03_rb,0.66191e+03_rb,0.59710e+03_rb, & & 0.55912e+03_rb,0.58065e+03_rb,0.62591e+03_rb,0.67118e+03_rb /) kao(:, 3, 6, 5) = (/ & & 0.94241e+03_rb,0.84568e+03_rb,0.74896e+03_rb,0.65223e+03_rb,0.59434e+03_rb, & & 0.55328e+03_rb,0.57940e+03_rb,0.62529e+03_rb,0.67118e+03_rb /) kao(:, 4, 6, 5) = (/ & & 0.92868e+03_rb,0.83367e+03_rb,0.73866e+03_rb,0.64365e+03_rb,0.59182e+03_rb, & & 0.54839e+03_rb,0.57829e+03_rb,0.62473e+03_rb,0.67118e+03_rb /) kao(:, 5, 6, 5) = (/ & & 0.91642e+03_rb,0.82295e+03_rb,0.72947e+03_rb,0.63599e+03_rb,0.58948e+03_rb, & & 0.54428e+03_rb,0.57730e+03_rb,0.62424e+03_rb,0.67118e+03_rb /) kao(:, 1, 7, 5) = (/ & & 0.93556e+03_rb,0.83969e+03_rb,0.74382e+03_rb,0.64795e+03_rb,0.59420e+03_rb, & & 0.55081e+03_rb,0.57885e+03_rb,0.62501e+03_rb,0.67118e+03_rb /) kao(:, 2, 7, 5) = (/ & & 0.91989e+03_rb,0.82598e+03_rb,0.73207e+03_rb,0.63816e+03_rb,0.59179e+03_rb, & & 0.54542e+03_rb,0.57758e+03_rb,0.62438e+03_rb,0.67118e+03_rb /) kao(:, 3, 7, 5) = (/ & & 0.90618e+03_rb,0.81398e+03_rb,0.72179e+03_rb,0.62959e+03_rb,0.58955e+03_rb, & & 0.54102e+03_rb,0.57648e+03_rb,0.62383e+03_rb,0.67118e+03_rb /) kao(:, 4, 7, 5) = (/ & & 0.89407e+03_rb,0.80339e+03_rb,0.71271e+03_rb,0.62202e+03_rb,0.58737e+03_rb, & & 0.53729e+03_rb,0.57550e+03_rb,0.62334e+03_rb,0.67118e+03_rb /) kao(:, 5, 7, 5) = (/ & & 0.88331e+03_rb,0.79397e+03_rb,0.70463e+03_rb,0.61530e+03_rb,0.58524e+03_rb, & & 0.53413e+03_rb,0.57463e+03_rb,0.62290e+03_rb,0.67118e+03_rb /) kao(:, 1, 8, 5) = (/ & & 0.90140e+03_rb,0.80981e+03_rb,0.71821e+03_rb,0.62661e+03_rb,0.58941e+03_rb, & & 0.53953e+03_rb,0.57609e+03_rb,0.62363e+03_rb,0.67118e+03_rb /) kao(:, 2, 8, 5) = (/ & & 0.88745e+03_rb,0.79760e+03_rb,0.70774e+03_rb,0.61789e+03_rb,0.58727e+03_rb, & & 0.53533e+03_rb,0.57497e+03_rb,0.62307e+03_rb,0.67118e+03_rb /) kao(:, 3, 8, 5) = (/ & & 0.87531e+03_rb,0.78697e+03_rb,0.69863e+03_rb,0.61030e+03_rb,0.58522e+03_rb, & & 0.53203e+03_rb,0.57399e+03_rb,0.62258e+03_rb,0.67118e+03_rb /) kao(:, 4, 8, 5) = (/ & & 0.86464e+03_rb,0.77763e+03_rb,0.69063e+03_rb,0.60363e+03_rb,0.58317e+03_rb, & & 0.52938e+03_rb,0.57313e+03_rb,0.62215e+03_rb,0.67118e+03_rb /) kao(:, 5, 8, 5) = (/ & & 0.85519e+03_rb,0.76937e+03_rb,0.68354e+03_rb,0.59772e+03_rb,0.58120e+03_rb, & & 0.52712e+03_rb,0.57236e+03_rb,0.62177e+03_rb,0.67118e+03_rb /) kao(:, 1, 9, 5) = (/ & & 0.87232e+03_rb,0.78435e+03_rb,0.69639e+03_rb,0.60843e+03_rb,0.58508e+03_rb, & & 0.53128e+03_rb,0.57375e+03_rb,0.62246e+03_rb,0.67118e+03_rb /) kao(:, 2, 9, 5) = (/ & & 0.85988e+03_rb,0.77347e+03_rb,0.68706e+03_rb,0.60065e+03_rb,0.58302e+03_rb, & & 0.52823e+03_rb,0.57274e+03_rb,0.62196e+03_rb,0.67118e+03_rb /) kao(:, 3, 9, 5) = (/ & & 0.84911e+03_rb,0.76405e+03_rb,0.67898e+03_rb,0.59392e+03_rb,0.58102e+03_rb, & & 0.52572e+03_rb,0.57187e+03_rb,0.62153e+03_rb,0.67118e+03_rb /) kao(:, 4, 9, 5) = (/ & & 0.83970e+03_rb,0.75581e+03_rb,0.67193e+03_rb,0.58804e+03_rb,0.57906e+03_rb, & & 0.52364e+03_rb,0.57111e+03_rb,0.62115e+03_rb,0.67118e+03_rb /) kao(:, 5, 9, 5) = (/ & & 0.83140e+03_rb,0.74855e+03_rb,0.66571e+03_rb,0.58286e+03_rb,0.57713e+03_rb, & & 0.52190e+03_rb,0.57045e+03_rb,0.62081e+03_rb,0.67118e+03_rb /) kao(:, 1,10, 5) = (/ & & 0.84657e+03_rb,0.76183e+03_rb,0.67708e+03_rb,0.59234e+03_rb,0.58061e+03_rb, & & 0.52515e+03_rb,0.57167e+03_rb,0.62142e+03_rb,0.67118e+03_rb /) kao(:, 2,10, 5) = (/ & & 0.83560e+03_rb,0.75223e+03_rb,0.66886e+03_rb,0.58548e+03_rb,0.57865e+03_rb, & & 0.52276e+03_rb,0.57078e+03_rb,0.62098e+03_rb,0.67118e+03_rb /) kao(:, 3,10, 5) = (/ & & 0.82616e+03_rb,0.74397e+03_rb,0.66177e+03_rb,0.57958e+03_rb,0.57663e+03_rb, & & 0.52085e+03_rb,0.57002e+03_rb,0.62060e+03_rb,0.67118e+03_rb /) kao(:, 4,10, 5) = (/ & & 0.81794e+03_rb,0.73678e+03_rb,0.65561e+03_rb,0.57444e+03_rb,0.57466e+03_rb, & & 0.51933e+03_rb,0.56936e+03_rb,0.62027e+03_rb,0.67118e+03_rb /) kao(:, 5,10, 5) = (/ & & 0.81073e+03_rb,0.73047e+03_rb,0.65020e+03_rb,0.56994e+03_rb,0.57276e+03_rb, & & 0.51811e+03_rb,0.56878e+03_rb,0.61998e+03_rb,0.67118e+03_rb /) kao(:, 1,11, 5) = (/ & & 0.82001e+03_rb,0.73859e+03_rb,0.65716e+03_rb,0.57574e+03_rb,0.57531e+03_rb, & & 0.51970e+03_rb,0.56953e+03_rb,0.62035e+03_rb,0.67118e+03_rb /) kao(:, 2,11, 5) = (/ & & 0.81102e+03_rb,0.73072e+03_rb,0.65042e+03_rb,0.57012e+03_rb,0.57326e+03_rb, & & 0.51814e+03_rb,0.56880e+03_rb,0.61999e+03_rb,0.67118e+03_rb /) kao(:, 3,11, 5) = (/ & & 0.80328e+03_rb,0.72395e+03_rb,0.64462e+03_rb,0.56528e+03_rb,0.57135e+03_rb, & & 0.51670e+03_rb,0.56818e+03_rb,0.61968e+03_rb,0.67118e+03_rb /) kao(:, 4,11, 5) = (/ & & 0.79655e+03_rb,0.71806e+03_rb,0.63957e+03_rb,0.56108e+03_rb,0.56956e+03_rb, & & 0.51595e+03_rb,0.56763e+03_rb,0.61941e+03_rb,0.67118e+03_rb /) kao(:, 5,11, 5) = (/ & & 0.79064e+03_rb,0.71289e+03_rb,0.63514e+03_rb,0.55738e+03_rb,0.56781e+03_rb, & & 0.51517e+03_rb,0.56716e+03_rb,0.61917e+03_rb,0.67118e+03_rb /) kao(:, 1,12, 5) = (/ & & 0.79821e+03_rb,0.71951e+03_rb,0.64081e+03_rb,0.56211e+03_rb,0.57002e+03_rb, & & 0.51613e+03_rb,0.56777e+03_rb,0.61947e+03_rb,0.67118e+03_rb /) kao(:, 2,12, 5) = (/ & & 0.79085e+03_rb,0.71307e+03_rb,0.63529e+03_rb,0.55751e+03_rb,0.56813e+03_rb, & & 0.51519e+03_rb,0.56717e+03_rb,0.61918e+03_rb,0.67118e+03_rb /) kao(:, 3,12, 5) = (/ & & 0.78452e+03_rb,0.70753e+03_rb,0.63054e+03_rb,0.55355e+03_rb,0.56648e+03_rb, & & 0.51441e+03_rb,0.56666e+03_rb,0.61892e+03_rb,0.67118e+03_rb /) kao(:, 4,12, 5) = (/ & & 0.77901e+03_rb,0.70271e+03_rb,0.62641e+03_rb,0.55011e+03_rb,0.56489e+03_rb, & & 0.51374e+03_rb,0.56622e+03_rb,0.61870e+03_rb,0.67118e+03_rb /) kao(:, 5,12, 5) = (/ & & 0.77417e+03_rb,0.69847e+03_rb,0.62278e+03_rb,0.54708e+03_rb,0.56325e+03_rb, & & 0.51315e+03_rb,0.56583e+03_rb,0.61850e+03_rb,0.67118e+03_rb /) kao(:, 1,13, 5) = (/ & & 0.78036e+03_rb,0.70389e+03_rb,0.62743e+03_rb,0.55096e+03_rb,0.56495e+03_rb, & & 0.51390e+03_rb,0.56633e+03_rb,0.61875e+03_rb,0.67118e+03_rb /) kao(:, 2,13, 5) = (/ & & 0.77434e+03_rb,0.69862e+03_rb,0.62291e+03_rb,0.54719e+03_rb,0.56343e+03_rb, & & 0.51318e+03_rb,0.56584e+03_rb,0.61851e+03_rb,0.67118e+03_rb /) kao(:, 3,13, 5) = (/ & & 0.76915e+03_rb,0.69408e+03_rb,0.61902e+03_rb,0.54395e+03_rb,0.56189e+03_rb, & & 0.51255e+03_rb,0.56542e+03_rb,0.61830e+03_rb,0.67118e+03_rb /) kao(:, 4,13, 5) = (/ & & 0.76464e+03_rb,0.69014e+03_rb,0.61563e+03_rb,0.54113e+03_rb,0.56027e+03_rb, & & 0.51200e+03_rb,0.56506e+03_rb,0.61812e+03_rb,0.67118e+03_rb /) kao(:, 5,13, 5) = (/ & & 0.76068e+03_rb,0.68667e+03_rb,0.61266e+03_rb,0.53865e+03_rb,0.55865e+03_rb, & & 0.51152e+03_rb,0.56474e+03_rb,0.61796e+03_rb,0.67118e+03_rb /) kao(:, 1, 1, 6) = (/ & & 0.16832e+04_rb,0.14832e+04_rb,0.12833e+04_rb,0.10834e+04_rb,0.88343e+03_rb, & & 0.73047e+03_rb,0.75923e+03_rb,0.85568e+03_rb,0.94989e+03_rb /) kao(:, 2, 1, 6) = (/ & & 0.16405e+04_rb,0.14459e+04_rb,0.12513e+04_rb,0.10567e+04_rb,0.86211e+03_rb, & & 0.72257e+03_rb,0.75791e+03_rb,0.85457e+03_rb,0.94915e+03_rb /) kao(:, 3, 1, 6) = (/ & & 0.16022e+04_rb,0.14124e+04_rb,0.12226e+04_rb,0.10328e+04_rb,0.84296e+03_rb, & & 0.71182e+03_rb,0.75643e+03_rb,0.85315e+03_rb,0.94805e+03_rb /) kao(:, 4, 1, 6) = (/ & & 0.15677e+04_rb,0.13822e+04_rb,0.11967e+04_rb,0.10112e+04_rb,0.82566e+03_rb, & & 0.70003e+03_rb,0.75475e+03_rb,0.85145e+03_rb,0.94659e+03_rb /) kao(:, 5, 1, 6) = (/ & & 0.15363e+04_rb,0.13547e+04_rb,0.11731e+04_rb,0.99155e+03_rb,0.80997e+03_rb, & & 0.68802e+03_rb,0.75277e+03_rb,0.84941e+03_rb,0.94478e+03_rb /) kao(:, 1, 2, 6) = (/ & & 0.15549e+04_rb,0.13710e+04_rb,0.11871e+04_rb,0.10032e+04_rb,0.81930e+03_rb, & & 0.69644e+03_rb,0.75599e+03_rb,0.85402e+03_rb,0.95009e+03_rb /) kao(:, 2, 2, 6) = (/ & & 0.15184e+04_rb,0.13390e+04_rb,0.11597e+04_rb,0.98036e+03_rb,0.80102e+03_rb, & & 0.68214e+03_rb,0.75486e+03_rb,0.85308e+03_rb,0.94950e+03_rb /) kao(:, 3, 2, 6) = (/ & & 0.14856e+04_rb,0.13104e+04_rb,0.11351e+04_rb,0.95988e+03_rb,0.78464e+03_rb, & & 0.67032e+03_rb,0.75359e+03_rb,0.85186e+03_rb,0.94855e+03_rb /) kao(:, 4, 2, 6) = (/ & & 0.14561e+04_rb,0.12845e+04_rb,0.11130e+04_rb,0.94143e+03_rb,0.76988e+03_rb, & & 0.66240e+03_rb,0.75215e+03_rb,0.85037e+03_rb,0.94724e+03_rb /) kao(:, 5, 2, 6) = (/ & & 0.14294e+04_rb,0.12611e+04_rb,0.10929e+04_rb,0.92472e+03_rb,0.75651e+03_rb, & & 0.65660e+03_rb,0.75042e+03_rb,0.84857e+03_rb,0.94557e+03_rb /) kao(:, 1, 3, 6) = (/ & & 0.14541e+04_rb,0.12828e+04_rb,0.11115e+04_rb,0.94019e+03_rb,0.76889e+03_rb, & & 0.66226e+03_rb,0.75340e+03_rb,0.85268e+03_rb,0.95029e+03_rb /) kao(:, 2, 3, 6) = (/ & & 0.14220e+04_rb,0.12547e+04_rb,0.10874e+04_rb,0.92013e+03_rb,0.75284e+03_rb, & & 0.65611e+03_rb,0.75249e+03_rb,0.85200e+03_rb,0.94990e+03_rb /) kao(:, 3, 3, 6) = (/ & & 0.13934e+04_rb,0.12297e+04_rb,0.10659e+04_rb,0.90223e+03_rb,0.73852e+03_rb, & & 0.65222e+03_rb,0.75143e+03_rb,0.85101e+03_rb,0.94916e+03_rb /) kao(:, 4, 3, 6) = (/ & & 0.13676e+04_rb,0.12071e+04_rb,0.10467e+04_rb,0.88615e+03_rb,0.72566e+03_rb, & & 0.64945e+03_rb,0.75024e+03_rb,0.84977e+03_rb,0.94807e+03_rb /) kao(:, 5, 3, 6) = (/ & & 0.13444e+04_rb,0.11868e+04_rb,0.10292e+04_rb,0.87164e+03_rb,0.71405e+03_rb, & & 0.64733e+03_rb,0.74880e+03_rb,0.84822e+03_rb,0.94662e+03_rb /) kao(:, 1, 4, 6) = (/ & & 0.13705e+04_rb,0.12096e+04_rb,0.10488e+04_rb,0.88791e+03_rb,0.72707e+03_rb, & & 0.64976e+03_rb,0.75119e+03_rb,0.85151e+03_rb,0.95037e+03_rb /) kao(:, 2, 4, 6) = (/ & & 0.13421e+04_rb,0.11848e+04_rb,0.10275e+04_rb,0.87017e+03_rb,0.71287e+03_rb, & & 0.64785e+03_rb,0.75047e+03_rb,0.85104e+03_rb,0.95019e+03_rb /) kao(:, 3, 4, 6) = (/ & & 0.13169e+04_rb,0.11627e+04_rb,0.10086e+04_rb,0.85441e+03_rb,0.70026e+03_rb, & & 0.64696e+03_rb,0.74964e+03_rb,0.85031e+03_rb,0.94968e+03_rb /) kao(:, 4, 4, 6) = (/ & & 0.12943e+04_rb,0.11430e+04_rb,0.99164e+03_rb,0.84031e+03_rb,0.68898e+03_rb, & & 0.64601e+03_rb,0.74865e+03_rb,0.84930e+03_rb,0.94882e+03_rb /) kao(:, 5, 4, 6) = (/ & & 0.12740e+04_rb,0.11252e+04_rb,0.97642e+03_rb,0.82763e+03_rb,0.67884e+03_rb, & & 0.64496e+03_rb,0.74747e+03_rb,0.84802e+03_rb,0.94760e+03_rb /) kao(:, 1, 5, 6) = (/ & & 0.12994e+04_rb,0.11474e+04_rb,0.99546e+03_rb,0.84350e+03_rb,0.69153e+03_rb, & & 0.64599e+03_rb,0.74922e+03_rb,0.85040e+03_rb,0.95032e+03_rb /) kao(:, 2, 5, 6) = (/ & & 0.12743e+04_rb,0.11254e+04_rb,0.97662e+03_rb,0.82780e+03_rb,0.67897e+03_rb, & & 0.64529e+03_rb,0.74869e+03_rb,0.85015e+03_rb,0.95034e+03_rb /) kao(:, 3, 5, 6) = (/ & & 0.12521e+04_rb,0.11060e+04_rb,0.95996e+03_rb,0.81391e+03_rb,0.66786e+03_rb, & & 0.64458e+03_rb,0.74805e+03_rb,0.84965e+03_rb,0.95004e+03_rb /) kao(:, 4, 5, 6) = (/ & & 0.12323e+04_rb,0.10887e+04_rb,0.94511e+03_rb,0.80154e+03_rb,0.65797e+03_rb, & & 0.64380e+03_rb,0.74727e+03_rb,0.84886e+03_rb,0.94940e+03_rb /) kao(:, 5, 5, 6) = (/ & & 0.12145e+04_rb,0.10732e+04_rb,0.93180e+03_rb,0.79045e+03_rb,0.64909e+03_rb, & & 0.64294e+03_rb,0.74629e+03_rb,0.84781e+03_rb,0.94841e+03_rb /) kao(:, 1, 6, 6) = (/ & & 0.12398e+04_rb,0.10953e+04_rb,0.95077e+03_rb,0.80625e+03_rb,0.66174e+03_rb, & & 0.64362e+03_rb,0.74747e+03_rb,0.84935e+03_rb,0.95014e+03_rb /) kao(:, 2, 6, 6) = (/ & & 0.12174e+04_rb,0.10757e+04_rb,0.93400e+03_rb,0.79228e+03_rb,0.65056e+03_rb, & & 0.64308e+03_rb,0.74712e+03_rb,0.84932e+03_rb,0.95036e+03_rb /) kao(:, 3, 6, 6) = (/ & & 0.11978e+04_rb,0.10585e+04_rb,0.91925e+03_rb,0.77999e+03_rb,0.64087e+03_rb, & & 0.64253e+03_rb,0.74666e+03_rb,0.84902e+03_rb,0.95027e+03_rb /) kao(:, 4, 6, 6) = (/ & & 0.11803e+04_rb,0.10432e+04_rb,0.90616e+03_rb,0.76908e+03_rb,0.63262e+03_rb, & & 0.64192e+03_rb,0.74606e+03_rb,0.84847e+03_rb,0.94985e+03_rb /) kao(:, 5, 6, 6) = (/ & & 0.11647e+04_rb,0.10296e+04_rb,0.89448e+03_rb,0.75935e+03_rb,0.62549e+03_rb, & & 0.64122e+03_rb,0.74529e+03_rb,0.84763e+03_rb,0.94909e+03_rb /) kao(:, 1, 7, 6) = (/ & & 0.11891e+04_rb,0.10509e+04_rb,0.91272e+03_rb,0.77455e+03_rb,0.63693e+03_rb, & & 0.64154e+03_rb,0.74584e+03_rb,0.84830e+03_rb,0.94975e+03_rb /) kao(:, 2, 7, 6) = (/ & & 0.11692e+04_rb,0.10335e+04_rb,0.89779e+03_rb,0.76210e+03_rb,0.62795e+03_rb, & & 0.64115e+03_rb,0.74575e+03_rb,0.84848e+03_rb,0.95025e+03_rb /) kao(:, 3, 7, 6) = (/ & & 0.11517e+04_rb,0.10182e+04_rb,0.88471e+03_rb,0.75121e+03_rb,0.62051e+03_rb, & & 0.64074e+03_rb,0.74542e+03_rb,0.84840e+03_rb,0.95037e+03_rb /) kao(:, 4, 7, 6) = (/ & & 0.11363e+04_rb,0.10048e+04_rb,0.87317e+03_rb,0.74159e+03_rb,0.61432e+03_rb, & & 0.64028e+03_rb,0.74499e+03_rb,0.84806e+03_rb,0.95015e+03_rb /) kao(:, 5, 7, 6) = (/ & & 0.11227e+04_rb,0.99279e+03_rb,0.86291e+03_rb,0.73304e+03_rb,0.60908e+03_rb, & & 0.63974e+03_rb,0.74440e+03_rb,0.84744e+03_rb,0.94961e+03_rb /) kao(:, 1, 8, 6) = (/ & & 0.11457e+04_rb,0.10129e+04_rb,0.88017e+03_rb,0.74742e+03_rb,0.61848e+03_rb, & & 0.63968e+03_rb,0.74433e+03_rb,0.84725e+03_rb,0.94927e+03_rb /) kao(:, 2, 8, 6) = (/ & & 0.11279e+04_rb,0.99740e+03_rb,0.86687e+03_rb,0.73633e+03_rb,0.61183e+03_rb, & & 0.63944e+03_rb,0.74439e+03_rb,0.84765e+03_rb,0.94999e+03_rb /) kao(:, 3, 8, 6) = (/ & & 0.11125e+04_rb,0.98389e+03_rb,0.85529e+03_rb,0.72668e+03_rb,0.60652e+03_rb, & & 0.63917e+03_rb,0.74428e+03_rb,0.84777e+03_rb,0.95034e+03_rb /) kao(:, 4, 8, 6) = (/ & & 0.10989e+04_rb,0.97202e+03_rb,0.84512e+03_rb,0.71821e+03_rb,0.60224e+03_rb, & & 0.63885e+03_rb,0.74401e+03_rb,0.84763e+03_rb,0.95032e+03_rb /) kao(:, 5, 8, 6) = (/ & & 0.10869e+04_rb,0.96152e+03_rb,0.83611e+03_rb,0.71070e+03_rb,0.59867e+03_rb, & & 0.63844e+03_rb,0.74359e+03_rb,0.84721e+03_rb,0.94997e+03_rb /) kao(:, 1, 9, 6) = (/ & & 0.11087e+04_rb,0.98057e+03_rb,0.85244e+03_rb,0.72431e+03_rb,0.60583e+03_rb, & & 0.63802e+03_rb,0.74290e+03_rb,0.84619e+03_rb,0.94868e+03_rb /) kao(:, 2, 9, 6) = (/ & & 0.10929e+04_rb,0.96673e+03_rb,0.84058e+03_rb,0.71443e+03_rb,0.60128e+03_rb, & & 0.63792e+03_rb,0.74318e+03_rb,0.84681e+03_rb,0.94962e+03_rb /) kao(:, 3, 9, 6) = (/ & & 0.10792e+04_rb,0.95475e+03_rb,0.83031e+03_rb,0.70587e+03_rb,0.59784e+03_rb, & & 0.63778e+03_rb,0.74323e+03_rb,0.84713e+03_rb,0.95019e+03_rb /) kao(:, 4, 9, 6) = (/ & & 0.10672e+04_rb,0.94429e+03_rb,0.82134e+03_rb,0.69840e+03_rb,0.59517e+03_rb, & & 0.63759e+03_rb,0.74313e+03_rb,0.84718e+03_rb,0.95037e+03_rb /) kao(:, 5, 9, 6) = (/ & & 0.10567e+04_rb,0.93506e+03_rb,0.81344e+03_rb,0.69181e+03_rb,0.59278e+03_rb, & & 0.63730e+03_rb,0.74285e+03_rb,0.84695e+03_rb,0.95021e+03_rb /) kao(:, 1,10, 6) = (/ & & 0.10760e+04_rb,0.95193e+03_rb,0.82790e+03_rb,0.70386e+03_rb,0.59768e+03_rb, & & 0.63651e+03_rb,0.74157e+03_rb,0.84519e+03_rb,0.94809e+03_rb /) kao(:, 2,10, 6) = (/ & & 0.10620e+04_rb,0.93974e+03_rb,0.81744e+03_rb,0.69515e+03_rb,0.59477e+03_rb, & & 0.63656e+03_rb,0.74203e+03_rb,0.84600e+03_rb,0.94921e+03_rb /) kao(:, 3,10, 6) = (/ & & 0.10500e+04_rb,0.92923e+03_rb,0.80844e+03_rb,0.68764e+03_rb,0.59242e+03_rb, & & 0.63654e+03_rb,0.74226e+03_rb,0.84650e+03_rb,0.94996e+03_rb /) kao(:, 4,10, 6) = (/ & & 0.10396e+04_rb,0.92010e+03_rb,0.80061e+03_rb,0.68112e+03_rb,0.59042e+03_rb, & & 0.63645e+03_rb,0.74230e+03_rb,0.84672e+03_rb,0.95033e+03_rb /) kao(:, 5,10, 6) = (/ & & 0.10304e+04_rb,0.91207e+03_rb,0.79373e+03_rb,0.67539e+03_rb,0.58849e+03_rb, & & 0.63628e+03_rb,0.74216e+03_rb,0.84665e+03_rb,0.95033e+03_rb /) kao(:, 1,11, 6) = (/ & & 0.10422e+04_rb,0.92239e+03_rb,0.80258e+03_rb,0.68276e+03_rb,0.59118e+03_rb, & & 0.63525e+03_rb,0.74065e+03_rb,0.84470e+03_rb,0.94808e+03_rb /) kao(:, 2,11, 6) = (/ & & 0.10308e+04_rb,0.91240e+03_rb,0.79401e+03_rb,0.67562e+03_rb,0.58920e+03_rb, & & 0.63540e+03_rb,0.74118e+03_rb,0.84554e+03_rb,0.94920e+03_rb /) kao(:, 3,11, 6) = (/ & & 0.10210e+04_rb,0.90379e+03_rb,0.78663e+03_rb,0.66947e+03_rb,0.58737e+03_rb, & & 0.63545e+03_rb,0.74147e+03_rb,0.84609e+03_rb,0.94995e+03_rb /) kao(:, 4,11, 6) = (/ & & 0.10124e+04_rb,0.89631e+03_rb,0.78022e+03_rb,0.66413e+03_rb,0.58569e+03_rb, & & 0.63543e+03_rb,0.74156e+03_rb,0.84634e+03_rb,0.95033e+03_rb /) kao(:, 5,11, 6) = (/ & & 0.10049e+04_rb,0.88974e+03_rb,0.77458e+03_rb,0.65943e+03_rb,0.58398e+03_rb, & & 0.63532e+03_rb,0.74146e+03_rb,0.84628e+03_rb,0.95033e+03_rb /) kao(:, 1,12, 6) = (/ & & 0.10145e+04_rb,0.89815e+03_rb,0.78180e+03_rb,0.66544e+03_rb,0.58616e+03_rb, & & 0.63421e+03_rb,0.73990e+03_rb,0.84430e+03_rb,0.94808e+03_rb /) kao(:, 2,12, 6) = (/ & & 0.10052e+04_rb,0.88997e+03_rb,0.77478e+03_rb,0.65960e+03_rb,0.58451e+03_rb, & & 0.63444e+03_rb,0.74048e+03_rb,0.84518e+03_rb,0.94921e+03_rb /) kao(:, 3,12, 6) = (/ & & 0.99710e+03_rb,0.88292e+03_rb,0.76874e+03_rb,0.65457e+03_rb,0.58265e+03_rb, & & 0.63457e+03_rb,0.74082e+03_rb,0.84574e+03_rb,0.94995e+03_rb /) kao(:, 4,12, 6) = (/ & & 0.99010e+03_rb,0.87679e+03_rb,0.76349e+03_rb,0.65019e+03_rb,0.58054e+03_rb, & & 0.63460e+03_rb,0.74095e+03_rb,0.84600e+03_rb,0.95033e+03_rb /) kao(:, 5,12, 6) = (/ & & 0.98395e+03_rb,0.87141e+03_rb,0.75888e+03_rb,0.64634e+03_rb,0.57844e+03_rb, & & 0.63453e+03_rb,0.74089e+03_rb,0.84598e+03_rb,0.95033e+03_rb /) kao(:, 1,13, 6) = (/ & & 0.99182e+03_rb,0.87830e+03_rb,0.76478e+03_rb,0.65127e+03_rb,0.58122e+03_rb, & & 0.63336e+03_rb,0.73928e+03_rb,0.84397e+03_rb,0.94808e+03_rb /) kao(:, 2,13, 6) = (/ & & 0.98416e+03_rb,0.87160e+03_rb,0.75904e+03_rb,0.64648e+03_rb,0.57888e+03_rb, & & 0.63366e+03_rb,0.73991e+03_rb,0.84487e+03_rb,0.94921e+03_rb /) kao(:, 3,13, 6) = (/ & & 0.97757e+03_rb,0.86583e+03_rb,0.75410e+03_rb,0.64236e+03_rb,0.57650e+03_rb, & & 0.63384e+03_rb,0.74029e+03_rb,0.84546e+03_rb,0.94996e+03_rb /) kao(:, 4,13, 6) = (/ & & 0.97184e+03_rb,0.86082e+03_rb,0.74980e+03_rb,0.63878e+03_rb,0.57428e+03_rb, & & 0.63391e+03_rb,0.74045e+03_rb,0.84574e+03_rb,0.95033e+03_rb /) kao(:, 5,13, 6) = (/ & & 0.96680e+03_rb,0.85641e+03_rb,0.74602e+03_rb,0.63563e+03_rb,0.57218e+03_rb, & & 0.63388e+03_rb,0.74043e+03_rb,0.84574e+03_rb,0.95033e+03_rb /) kao(:, 1, 1, 7) = (/ & & 0.18845e+04_rb,0.16548e+04_rb,0.14251e+04_rb,0.11953e+04_rb,0.96557e+03_rb, & & 0.74301e+03_rb,0.82697e+03_rb,0.94964e+03_rb,0.10740e+04_rb /) kao(:, 2, 1, 7) = (/ & & 0.18367e+04_rb,0.16130e+04_rb,0.13892e+04_rb,0.11655e+04_rb,0.94169e+03_rb, & & 0.73101e+03_rb,0.82533e+03_rb,0.94833e+03_rb,0.10730e+04_rb /) kao(:, 3, 1, 7) = (/ & & 0.17938e+04_rb,0.15755e+04_rb,0.13571e+04_rb,0.11387e+04_rb,0.92025e+03_rb, & & 0.71894e+03_rb,0.82353e+03_rb,0.94679e+03_rb,0.10715e+04_rb /) kao(:, 4, 1, 7) = (/ & & 0.17551e+04_rb,0.15416e+04_rb,0.13280e+04_rb,0.11145e+04_rb,0.90089e+03_rb, & & 0.70691e+03_rb,0.82149e+03_rb,0.94487e+03_rb,0.10696e+04_rb /) kao(:, 5, 1, 7) = (/ & & 0.17200e+04_rb,0.15108e+04_rb,0.13017e+04_rb,0.10925e+04_rb,0.88332e+03_rb, & & 0.69946e+03_rb,0.81920e+03_rb,0.94260e+03_rb,0.10672e+04_rb /) kao(:, 1, 2, 7) = (/ & & 0.17409e+04_rb,0.15291e+04_rb,0.13174e+04_rb,0.11056e+04_rb,0.89377e+03_rb, & & 0.70556e+03_rb,0.82545e+03_rb,0.94918e+03_rb,0.10743e+04_rb /) kao(:, 2, 2, 7) = (/ & & 0.16999e+04_rb,0.14933e+04_rb,0.12867e+04_rb,0.10800e+04_rb,0.87329e+03_rb, & & 0.70177e+03_rb,0.82404e+03_rb,0.94806e+03_rb,0.10734e+04_rb /) kao(:, 3, 2, 7) = (/ & & 0.16632e+04_rb,0.14612e+04_rb,0.12591e+04_rb,0.10571e+04_rb,0.85495e+03_rb, & & 0.69985e+03_rb,0.82245e+03_rb,0.94668e+03_rb,0.10721e+04_rb /) kao(:, 4, 2, 7) = (/ & & 0.16302e+04_rb,0.14323e+04_rb,0.12344e+04_rb,0.10364e+04_rb,0.83842e+03_rb, & & 0.69778e+03_rb,0.82061e+03_rb,0.94495e+03_rb,0.10705e+04_rb /) kao(:, 5, 2, 7) = (/ & & 0.16003e+04_rb,0.14061e+04_rb,0.12119e+04_rb,0.10177e+04_rb,0.82345e+03_rb, & & 0.69549e+03_rb,0.81853e+03_rb,0.94286e+03_rb,0.10683e+04_rb /) kao(:, 1, 3, 7) = (/ & & 0.16280e+04_rb,0.14303e+04_rb,0.12327e+04_rb,0.10350e+04_rb,0.83731e+03_rb, & & 0.70164e+03_rb,0.82440e+03_rb,0.94900e+03_rb,0.10748e+04_rb /) kao(:, 2, 3, 7) = (/ & & 0.15920e+04_rb,0.13989e+04_rb,0.12057e+04_rb,0.10126e+04_rb,0.81934e+03_rb, & & 0.70016e+03_rb,0.82323e+03_rb,0.94804e+03_rb,0.10740e+04_rb /) kao(:, 3, 3, 7) = (/ & & 0.15600e+04_rb,0.13708e+04_rb,0.11817e+04_rb,0.99252e+03_rb,0.80330e+03_rb, & & 0.69850e+03_rb,0.82187e+03_rb,0.94688e+03_rb,0.10730e+04_rb /) kao(:, 4, 3, 7) = (/ & & 0.15312e+04_rb,0.13457e+04_rb,0.11601e+04_rb,0.97452e+03_rb,0.78890e+03_rb, & & 0.69669e+03_rb,0.82029e+03_rb,0.94542e+03_rb,0.10716e+04_rb /) kao(:, 5, 3, 7) = (/ & & 0.15052e+04_rb,0.13229e+04_rb,0.11406e+04_rb,0.95827e+03_rb,0.77590e+03_rb, & & 0.69468e+03_rb,0.81844e+03_rb,0.94358e+03_rb,0.10697e+04_rb /) kao(:, 1, 4, 7) = (/ & & 0.15343e+04_rb,0.13484e+04_rb,0.11625e+04_rb,0.97650e+03_rb,0.79047e+03_rb, & & 0.70005e+03_rb,0.82352e+03_rb,0.94883e+03_rb,0.10751e+04_rb /) kao(:, 2, 4, 7) = (/ & & 0.15026e+04_rb,0.13206e+04_rb,0.11386e+04_rb,0.95663e+03_rb,0.77458e+03_rb, & & 0.69884e+03_rb,0.82260e+03_rb,0.94808e+03_rb,0.10745e+04_rb /) kao(:, 3, 4, 7) = (/ & & 0.14743e+04_rb,0.12959e+04_rb,0.11175e+04_rb,0.93898e+03_rb,0.76046e+03_rb, & & 0.69743e+03_rb,0.82145e+03_rb,0.94711e+03_rb,0.10737e+04_rb /) kao(:, 4, 4, 7) = (/ & & 0.14491e+04_rb,0.12738e+04_rb,0.10985e+04_rb,0.92319e+03_rb,0.74783e+03_rb, & & 0.69586e+03_rb,0.82010e+03_rb,0.94588e+03_rb,0.10725e+04_rb /) kao(:, 5, 4, 7) = (/ & & 0.14263e+04_rb,0.12539e+04_rb,0.10815e+04_rb,0.90900e+03_rb,0.73646e+03_rb, & & 0.69412e+03_rb,0.81852e+03_rb,0.94430e+03_rb,0.10710e+04_rb /) kao(:, 1, 5, 7) = (/ & & 0.14548e+04_rb,0.12788e+04_rb,0.11028e+04_rb,0.92676e+03_rb,0.75068e+03_rb, & & 0.69862e+03_rb,0.82271e+03_rb,0.94860e+03_rb,0.10753e+04_rb /) kao(:, 2, 5, 7) = (/ & & 0.14266e+04_rb,0.12542e+04_rb,0.10817e+04_rb,0.90918e+03_rb,0.73662e+03_rb, & & 0.69765e+03_rb,0.82202e+03_rb,0.94804e+03_rb,0.10749e+04_rb /) kao(:, 3, 5, 7) = (/ & & 0.14018e+04_rb,0.12324e+04_rb,0.10630e+04_rb,0.89363e+03_rb,0.72418e+03_rb, & & 0.69649e+03_rb,0.82110e+03_rb,0.94729e+03_rb,0.10743e+04_rb /) kao(:, 4, 5, 7) = (/ & & 0.13796e+04_rb,0.12130e+04_rb,0.10464e+04_rb,0.87978e+03_rb,0.71309e+03_rb, & & 0.69515e+03_rb,0.81992e+03_rb,0.94623e+03_rb,0.10733e+04_rb /) kao(:, 5, 5, 7) = (/ & & 0.13597e+04_rb,0.11956e+04_rb,0.10315e+04_rb,0.86737e+03_rb,0.70315e+03_rb, & & 0.69363e+03_rb,0.81858e+03_rb,0.94492e+03_rb,0.10720e+04_rb /) kao(:, 1, 6, 7) = (/ & & 0.13881e+04_rb,0.12204e+04_rb,0.10528e+04_rb,0.88506e+03_rb,0.71732e+03_rb, & & 0.69732e+03_rb,0.82195e+03_rb,0.94833e+03_rb,0.10753e+04_rb /) kao(:, 2, 6, 7) = (/ & & 0.13630e+04_rb,0.11985e+04_rb,0.10340e+04_rb,0.86942e+03_rb,0.70480e+03_rb, & & 0.69661e+03_rb,0.82150e+03_rb,0.94796e+03_rb,0.10752e+04_rb /) kao(:, 3, 6, 7) = (/ & & 0.13410e+04_rb,0.11792e+04_rb,0.10175e+04_rb,0.85565e+03_rb,0.69378e+03_rb, & & 0.69568e+03_rb,0.82079e+03_rb,0.94739e+03_rb,0.10747e+04_rb /) kao(:, 4, 6, 7) = (/ & & 0.13215e+04_rb,0.11622e+04_rb,0.10028e+04_rb,0.84344e+03_rb,0.68401e+03_rb, & & 0.69456e+03_rb,0.81984e+03_rb,0.94655e+03_rb,0.10740e+04_rb /) kao(:, 5, 6, 7) = (/ & & 0.13040e+04_rb,0.11469e+04_rb,0.98973e+03_rb,0.83254e+03_rb,0.67529e+03_rb, & & 0.69326e+03_rb,0.81868e+03_rb,0.94544e+03_rb,0.10729e+04_rb /) kao(:, 1, 7, 7) = (/ & & 0.13313e+04_rb,0.11707e+04_rb,0.10101e+04_rb,0.84956e+03_rb,0.68891e+03_rb, & & 0.69611e+03_rb,0.82122e+03_rb,0.94800e+03_rb,0.10754e+04_rb /) kao(:, 2, 7, 7) = (/ & & 0.13090e+04_rb,0.11512e+04_rb,0.99343e+03_rb,0.83562e+03_rb,0.67776e+03_rb, & & 0.69564e+03_rb,0.82091e+03_rb,0.94785e+03_rb,0.10753e+04_rb /) kao(:, 3, 7, 7) = (/ & & 0.12894e+04_rb,0.11341e+04_rb,0.97879e+03_rb,0.82342e+03_rb,0.66800e+03_rb, & & 0.69494e+03_rb,0.82048e+03_rb,0.94742e+03_rb,0.10750e+04_rb /) kao(:, 4, 7, 7) = (/ & & 0.12722e+04_rb,0.11191e+04_rb,0.96587e+03_rb,0.81266e+03_rb,0.65938e+03_rb, & & 0.69403e+03_rb,0.81973e+03_rb,0.94677e+03_rb,0.10745e+04_rb /) kao(:, 5, 7, 7) = (/ & & 0.12569e+04_rb,0.11057e+04_rb,0.95438e+03_rb,0.80308e+03_rb,0.65172e+03_rb, & & 0.69293e+03_rb,0.81874e+03_rb,0.94587e+03_rb,0.10736e+04_rb /) kao(:, 1, 8, 7) = (/ & & 0.12827e+04_rb,0.11282e+04_rb,0.97371e+03_rb,0.81918e+03_rb,0.66460e+03_rb, & & 0.69497e+03_rb,0.82050e+03_rb,0.94762e+03_rb,0.10753e+04_rb /) kao(:, 2, 8, 7) = (/ & & 0.12628e+04_rb,0.11108e+04_rb,0.95881e+03_rb,0.80678e+03_rb,0.65467e+03_rb, & & 0.69473e+03_rb,0.82044e+03_rb,0.94765e+03_rb,0.10754e+04_rb /) kao(:, 3, 8, 7) = (/ & & 0.12455e+04_rb,0.10957e+04_rb,0.94585e+03_rb,0.79597e+03_rb,0.64602e+03_rb, & & 0.69425e+03_rb,0.82014e+03_rb,0.94746e+03_rb,0.10752e+04_rb /) kao(:, 4, 8, 7) = (/ & & 0.12303e+04_rb,0.10824e+04_rb,0.93446e+03_rb,0.78648e+03_rb,0.63843e+03_rb, & & 0.69354e+03_rb,0.81959e+03_rb,0.94691e+03_rb,0.10748e+04_rb /) kao(:, 5, 8, 7) = (/ & & 0.12169e+04_rb,0.10706e+04_rb,0.92437e+03_rb,0.77807e+03_rb,0.63171e+03_rb, & & 0.69262e+03_rb,0.81878e+03_rb,0.94618e+03_rb,0.10741e+04_rb /) kao(:, 1, 9, 7) = (/ & & 0.12413e+04_rb,0.10920e+04_rb,0.94266e+03_rb,0.79331e+03_rb,0.64390e+03_rb, & & 0.69387e+03_rb,0.81977e+03_rb,0.94713e+03_rb,0.10750e+04_rb /) kao(:, 2, 9, 7) = (/ & & 0.12236e+04_rb,0.10765e+04_rb,0.92938e+03_rb,0.78225e+03_rb,0.63504e+03_rb, & & 0.69385e+03_rb,0.81989e+03_rb,0.94741e+03_rb,0.10753e+04_rb /) kao(:, 3, 9, 7) = (/ & & 0.12082e+04_rb,0.10631e+04_rb,0.91789e+03_rb,0.77267e+03_rb,0.62738e+03_rb, & & 0.69359e+03_rb,0.81979e+03_rb,0.94732e+03_rb,0.10754e+04_rb /) kao(:, 4, 9, 7) = (/ & & 0.11949e+04_rb,0.10514e+04_rb,0.90785e+03_rb,0.76430e+03_rb,0.62068e+03_rb, & & 0.69307e+03_rb,0.81942e+03_rb,0.94698e+03_rb,0.10751e+04_rb /) kao(:, 5, 9, 7) = (/ & & 0.11831e+04_rb,0.10410e+04_rb,0.89899e+03_rb,0.75692e+03_rb,0.61500e+03_rb, & & 0.69235e+03_rb,0.81879e+03_rb,0.94641e+03_rb,0.10746e+04_rb /) kao(:, 1,10, 7) = (/ & & 0.12046e+04_rb,0.10599e+04_rb,0.91518e+03_rb,0.77041e+03_rb,0.62557e+03_rb, & & 0.69285e+03_rb,0.81909e+03_rb,0.94663e+03_rb,0.10746e+04_rb /) kao(:, 2,10, 7) = (/ & & 0.11890e+04_rb,0.10463e+04_rb,0.90347e+03_rb,0.76066e+03_rb,0.61799e+03_rb, & & 0.69301e+03_rb,0.81937e+03_rb,0.94709e+03_rb,0.10752e+04_rb /) kao(:, 3,10, 7) = (/ & & 0.11756e+04_rb,0.10345e+04_rb,0.89339e+03_rb,0.75225e+03_rb,0.61189e+03_rb, & & 0.69293e+03_rb,0.81942e+03_rb,0.94719e+03_rb,0.10754e+04_rb /) kao(:, 4,10, 7) = (/ & & 0.11639e+04_rb,0.10243e+04_rb,0.88463e+03_rb,0.74495e+03_rb,0.60683e+03_rb, & & 0.69260e+03_rb,0.81922e+03_rb,0.94698e+03_rb,0.10753e+04_rb /) kao(:, 5,10, 7) = (/ & & 0.11536e+04_rb,0.10153e+04_rb,0.87693e+03_rb,0.73853e+03_rb,0.60268e+03_rb, & & 0.69203e+03_rb,0.81871e+03_rb,0.94653e+03_rb,0.10749e+04_rb /) kao(:, 1,11, 7) = (/ & & 0.11668e+04_rb,0.10268e+04_rb,0.88684e+03_rb,0.74678e+03_rb,0.60837e+03_rb, & & 0.69208e+03_rb,0.81864e+03_rb,0.94642e+03_rb,0.10746e+04_rb /) kao(:, 2,11, 7) = (/ & & 0.11540e+04_rb,0.10157e+04_rb,0.87724e+03_rb,0.73879e+03_rb,0.60335e+03_rb, & & 0.69229e+03_rb,0.81896e+03_rb,0.94691e+03_rb,0.10752e+04_rb /) kao(:, 3,11, 7) = (/ & & 0.11430e+04_rb,0.10060e+04_rb,0.86898e+03_rb,0.73191e+03_rb,0.59939e+03_rb, & & 0.69226e+03_rb,0.81904e+03_rb,0.94700e+03_rb,0.10754e+04_rb /) kao(:, 4,11, 7) = (/ & & 0.11335e+04_rb,0.99764e+03_rb,0.86180e+03_rb,0.72592e+03_rb,0.59585e+03_rb, & & 0.69198e+03_rb,0.81884e+03_rb,0.94679e+03_rb,0.10753e+04_rb /) kao(:, 5,11, 7) = (/ & & 0.11251e+04_rb,0.99028e+03_rb,0.85549e+03_rb,0.72067e+03_rb,0.59286e+03_rb, & & 0.69146e+03_rb,0.81839e+03_rb,0.94639e+03_rb,0.10749e+04_rb /) kao(:, 1,12, 7) = (/ & & 0.11358e+04_rb,0.99970e+03_rb,0.86357e+03_rb,0.72739e+03_rb,0.59707e+03_rb, & & 0.69145e+03_rb,0.81829e+03_rb,0.94626e+03_rb,0.10746e+04_rb /) kao(:, 2,12, 7) = (/ & & 0.11253e+04_rb,0.99054e+03_rb,0.85571e+03_rb,0.72085e+03_rb,0.59339e+03_rb, & & 0.69172e+03_rb,0.81863e+03_rb,0.94675e+03_rb,0.10752e+04_rb /) kao(:, 3,12, 7) = (/ & & 0.11163e+04_rb,0.98265e+03_rb,0.84895e+03_rb,0.71521e+03_rb,0.59030e+03_rb, & & 0.69172e+03_rb,0.81873e+03_rb,0.94686e+03_rb,0.10754e+04_rb /) kao(:, 4,12, 7) = (/ & & 0.11085e+04_rb,0.97579e+03_rb,0.84307e+03_rb,0.71031e+03_rb,0.58782e+03_rb, & & 0.69148e+03_rb,0.81855e+03_rb,0.94672e+03_rb,0.10753e+04_rb /) kao(:, 5,12, 7) = (/ & & 0.11016e+04_rb,0.96977e+03_rb,0.83790e+03_rb,0.70601e+03_rb,0.58538e+03_rb, & & 0.69099e+03_rb,0.81812e+03_rb,0.94628e+03_rb,0.10749e+04_rb /) kao(:, 1,13, 7) = (/ & & 0.11104e+04_rb,0.97748e+03_rb,0.84452e+03_rb,0.71152e+03_rb,0.58852e+03_rb, & & 0.69093e+03_rb,0.81799e+03_rb,0.94612e+03_rb,0.10746e+04_rb /) kao(:, 2,13, 7) = (/ & & 0.11018e+04_rb,0.96998e+03_rb,0.83809e+03_rb,0.70616e+03_rb,0.58570e+03_rb, & & 0.69123e+03_rb,0.81841e+03_rb,0.94664e+03_rb,0.10752e+04_rb /) kao(:, 3,13, 7) = (/ & & 0.10945e+04_rb,0.96352e+03_rb,0.83255e+03_rb,0.70155e+03_rb,0.58307e+03_rb, & & 0.69128e+03_rb,0.81849e+03_rb,0.94675e+03_rb,0.10754e+04_rb /) kao(:, 4,13, 7) = (/ & & 0.10880e+04_rb,0.95790e+03_rb,0.82774e+03_rb,0.69753e+03_rb,0.58045e+03_rb, & & 0.69107e+03_rb,0.81832e+03_rb,0.94657e+03_rb,0.10753e+04_rb /) kao(:, 5,13, 7) = (/ & & 0.10824e+04_rb,0.95297e+03_rb,0.82351e+03_rb,0.69401e+03_rb,0.57806e+03_rb, & & 0.69061e+03_rb,0.81788e+03_rb,0.94614e+03_rb,0.10749e+04_rb /) kao(:, 1, 1, 8) = (/ & & 0.19433e+04_rb,0.17047e+04_rb,0.14661e+04_rb,0.12275e+04_rb,0.98902e+03_rb, & & 0.75120e+03_rb,0.85754e+03_rb,0.98845e+03_rb,0.11206e+04_rb /) kao(:, 2, 1, 8) = (/ & & 0.18941e+04_rb,0.16616e+04_rb,0.14292e+04_rb,0.11968e+04_rb,0.96439e+03_rb, & & 0.73548e+03_rb,0.85594e+03_rb,0.98707e+03_rb,0.11193e+04_rb /) kao(:, 3, 1, 8) = (/ & & 0.18499e+04_rb,0.16229e+04_rb,0.13960e+04_rb,0.11691e+04_rb,0.94229e+03_rb, & & 0.72448e+03_rb,0.85413e+03_rb,0.98549e+03_rb,0.11177e+04_rb /) kao(:, 4, 1, 8) = (/ & & 0.18099e+04_rb,0.15880e+04_rb,0.13661e+04_rb,0.11442e+04_rb,0.92233e+03_rb, & & 0.72225e+03_rb,0.85214e+03_rb,0.98373e+03_rb,0.11158e+04_rb /) kao(:, 5, 1, 8) = (/ & & 0.17737e+04_rb,0.15563e+04_rb,0.13389e+04_rb,0.11215e+04_rb,0.90421e+03_rb, & & 0.72001e+03_rb,0.85005e+03_rb,0.98175e+03_rb,0.11138e+04_rb /) kao(:, 1, 2, 8) = (/ & & 0.17953e+04_rb,0.15751e+04_rb,0.13551e+04_rb,0.11350e+04_rb,0.91499e+03_rb, & & 0.72569e+03_rb,0.85649e+03_rb,0.98821e+03_rb,0.11210e+04_rb /) kao(:, 2, 2, 8) = (/ & & 0.17530e+04_rb,0.15382e+04_rb,0.13234e+04_rb,0.11086e+04_rb,0.89388e+03_rb, & & 0.72424e+03_rb,0.85509e+03_rb,0.98698e+03_rb,0.11198e+04_rb /) kao(:, 3, 2, 8) = (/ & & 0.17152e+04_rb,0.15051e+04_rb,0.12950e+04_rb,0.10850e+04_rb,0.87497e+03_rb, & & 0.72267e+03_rb,0.85348e+03_rb,0.98553e+03_rb,0.11184e+04_rb /) kao(:, 4, 2, 8) = (/ & & 0.16811e+04_rb,0.14753e+04_rb,0.12695e+04_rb,0.10637e+04_rb,0.85793e+03_rb, & & 0.72084e+03_rb,0.85163e+03_rb,0.98389e+03_rb,0.11166e+04_rb /) kao(:, 5, 2, 8) = (/ & & 0.16502e+04_rb,0.14483e+04_rb,0.12463e+04_rb,0.10444e+04_rb,0.84250e+03_rb, & & 0.71877e+03_rb,0.84969e+03_rb,0.98204e+03_rb,0.11147e+04_rb /) kao(:, 1, 3, 8) = (/ & & 0.16788e+04_rb,0.14733e+04_rb,0.12678e+04_rb,0.10623e+04_rb,0.85679e+03_rb, & & 0.72434e+03_rb,0.85588e+03_rb,0.98822e+03_rb,0.11216e+04_rb /) kao(:, 2, 3, 8) = (/ & & 0.16418e+04_rb,0.14409e+04_rb,0.12400e+04_rb,0.10391e+04_rb,0.83827e+03_rb, & & 0.72306e+03_rb,0.85466e+03_rb,0.98716e+03_rb,0.11206e+04_rb /) kao(:, 3, 3, 8) = (/ & & 0.16087e+04_rb,0.14119e+04_rb,0.12152e+04_rb,0.10184e+04_rb,0.82172e+03_rb, & & 0.72165e+03_rb,0.85327e+03_rb,0.98590e+03_rb,0.11193e+04_rb /) kao(:, 4, 3, 8) = (/ & & 0.15790e+04_rb,0.13859e+04_rb,0.11929e+04_rb,0.99988e+03_rb,0.80688e+03_rb, & & 0.72007e+03_rb,0.85161e+03_rb,0.98438e+03_rb,0.11177e+04_rb /) kao(:, 5, 3, 8) = (/ & & 0.15522e+04_rb,0.13625e+04_rb,0.11728e+04_rb,0.98311e+03_rb,0.79349e+03_rb, & & 0.71824e+03_rb,0.84982e+03_rb,0.98270e+03_rb,0.11159e+04_rb /) kao(:, 1, 4, 8) = (/ & & 0.15823e+04_rb,0.13888e+04_rb,0.11953e+04_rb,0.10019e+04_rb,0.80851e+03_rb, & & 0.72326e+03_rb,0.85540e+03_rb,0.98823e+03_rb,0.11221e+04_rb /) kao(:, 2, 4, 8) = (/ & & 0.15495e+04_rb,0.13601e+04_rb,0.11708e+04_rb,0.98142e+03_rb,0.79213e+03_rb, & & 0.72214e+03_rb,0.85436e+03_rb,0.98737e+03_rb,0.11213e+04_rb /) kao(:, 3, 4, 8) = (/ & & 0.15204e+04_rb,0.13346e+04_rb,0.11489e+04_rb,0.96322e+03_rb,0.77758e+03_rb, & & 0.72091e+03_rb,0.85317e+03_rb,0.98628e+03_rb,0.11202e+04_rb /) kao(:, 4, 4, 8) = (/ & & 0.14943e+04_rb,0.13118e+04_rb,0.11294e+04_rb,0.94694e+03_rb,0.76455e+03_rb, & & 0.71952e+03_rb,0.85175e+03_rb,0.98496e+03_rb,0.11188e+04_rb /) kao(:, 5, 4, 8) = (/ & & 0.14709e+04_rb,0.12913e+04_rb,0.11118e+04_rb,0.93229e+03_rb,0.75284e+03_rb, & & 0.71792e+03_rb,0.85010e+03_rb,0.98342e+03_rb,0.11171e+04_rb /) kao(:, 1, 5, 8) = (/ & & 0.15002e+04_rb,0.13170e+04_rb,0.11338e+04_rb,0.95063e+03_rb,0.76749e+03_rb, & & 0.72234e+03_rb,0.85495e+03_rb,0.98821e+03_rb,0.11224e+04_rb /) kao(:, 2, 5, 8) = (/ & & 0.14712e+04_rb,0.12916e+04_rb,0.11120e+04_rb,0.93250e+03_rb,0.75300e+03_rb, & & 0.72139e+03_rb,0.85409e+03_rb,0.98753e+03_rb,0.11218e+04_rb /) kao(:, 3, 5, 8) = (/ & & 0.14456e+04_rb,0.12692e+04_rb,0.10928e+04_rb,0.91647e+03_rb,0.74017e+03_rb, & & 0.72031e+03_rb,0.85307e+03_rb,0.98657e+03_rb,0.11209e+04_rb /) kao(:, 4, 5, 8) = (/ & & 0.14227e+04_rb,0.12492e+04_rb,0.10757e+04_rb,0.90219e+03_rb,0.72875e+03_rb, & & 0.71909e+03_rb,0.85186e+03_rb,0.98546e+03_rb,0.11197e+04_rb /) kao(:, 5, 5, 8) = (/ & & 0.14022e+04_rb,0.12312e+04_rb,0.10603e+04_rb,0.88937e+03_rb,0.71851e+03_rb, & & 0.71769e+03_rb,0.85037e+03_rb,0.98406e+03_rb,0.11182e+04_rb /) kao(:, 1, 6, 8) = (/ & & 0.14314e+04_rb,0.12568e+04_rb,0.10822e+04_rb,0.90763e+03_rb,0.73310e+03_rb, & & 0.72155e+03_rb,0.85452e+03_rb,0.98813e+03_rb,0.11226e+04_rb /) kao(:, 2, 6, 8) = (/ & & 0.14056e+04_rb,0.12342e+04_rb,0.10628e+04_rb,0.89150e+03_rb,0.72020e+03_rb, & & 0.72077e+03_rb,0.85386e+03_rb,0.98765e+03_rb,0.11222e+04_rb /) kao(:, 3, 6, 8) = (/ & & 0.13829e+04_rb,0.12143e+04_rb,0.10458e+04_rb,0.87730e+03_rb,0.70887e+03_rb, & & 0.71986e+03_rb,0.85300e+03_rb,0.98688e+03_rb,0.11215e+04_rb /) kao(:, 4, 6, 8) = (/ & & 0.13627e+04_rb,0.11967e+04_rb,0.10307e+04_rb,0.86473e+03_rb,0.69880e+03_rb, & & 0.71879e+03_rb,0.85197e+03_rb,0.98590e+03_rb,0.11205e+04_rb /) kao(:, 5, 6, 8) = (/ & & 0.13448e+04_rb,0.11810e+04_rb,0.10172e+04_rb,0.85348e+03_rb,0.68979e+03_rb, & & 0.71757e+03_rb,0.85073e+03_rb,0.98469e+03_rb,0.11192e+04_rb /) kao(:, 1, 7, 8) = (/ & & 0.13728e+04_rb,0.12055e+04_rb,0.10383e+04_rb,0.87102e+03_rb,0.70382e+03_rb, & & 0.72081e+03_rb,0.85410e+03_rb,0.98799e+03_rb,0.11227e+04_rb /) kao(:, 2, 7, 8) = (/ & & 0.13499e+04_rb,0.11854e+04_rb,0.10210e+04_rb,0.85666e+03_rb,0.69233e+03_rb, & & 0.72022e+03_rb,0.85362e+03_rb,0.98768e+03_rb,0.11225e+04_rb /) kao(:, 3, 7, 8) = (/ & & 0.13297e+04_rb,0.11678e+04_rb,0.10059e+04_rb,0.84408e+03_rb,0.68228e+03_rb, & & 0.71945e+03_rb,0.85293e+03_rb,0.98711e+03_rb,0.11220e+04_rb /) kao(:, 4, 7, 8) = (/ & & 0.13120e+04_rb,0.11523e+04_rb,0.99261e+03_rb,0.83298e+03_rb,0.67339e+03_rb, & & 0.71854e+03_rb,0.85205e+03_rb,0.98632e+03_rb,0.11212e+04_rb /) kao(:, 5, 7, 8) = (/ & & 0.12962e+04_rb,0.11384e+04_rb,0.98077e+03_rb,0.82312e+03_rb,0.66550e+03_rb, & & 0.71746e+03_rb,0.85098e+03_rb,0.98523e+03_rb,0.11200e+04_rb /) kao(:, 1, 8, 8) = (/ & & 0.13227e+04_rb,0.11617e+04_rb,0.10007e+04_rb,0.83971e+03_rb,0.67877e+03_rb, & & 0.72007e+03_rb,0.85366e+03_rb,0.98779e+03_rb,0.11227e+04_rb /) kao(:, 2, 8, 8) = (/ & & 0.13022e+04_rb,0.11438e+04_rb,0.98533e+03_rb,0.82690e+03_rb,0.66854e+03_rb, & & 0.71969e+03_rb,0.85334e+03_rb,0.98763e+03_rb,0.11227e+04_rb /) kao(:, 3, 8, 8) = (/ & & 0.12844e+04_rb,0.11282e+04_rb,0.97196e+03_rb,0.81577e+03_rb,0.65963e+03_rb, & & 0.71908e+03_rb,0.85283e+03_rb,0.98717e+03_rb,0.11223e+04_rb /) kao(:, 4, 8, 8) = (/ & & 0.12688e+04_rb,0.11145e+04_rb,0.96023e+03_rb,0.80599e+03_rb,0.65182e+03_rb, & & 0.71830e+03_rb,0.85210e+03_rb,0.98659e+03_rb,0.11217e+04_rb /) kao(:, 5, 8, 8) = (/ & & 0.12549e+04_rb,0.11024e+04_rb,0.94982e+03_rb,0.79733e+03_rb,0.64488e+03_rb, & & 0.71736e+03_rb,0.85118e+03_rb,0.98569e+03_rb,0.11208e+04_rb /) kao(:, 1, 9, 8) = (/ & & 0.12800e+04_rb,0.11244e+04_rb,0.96868e+03_rb,0.81302e+03_rb,0.65744e+03_rb, & & 0.71936e+03_rb,0.85323e+03_rb,0.98761e+03_rb,0.11226e+04_rb /) kao(:, 2, 9, 8) = (/ & & 0.12618e+04_rb,0.11084e+04_rb,0.95498e+03_rb,0.80161e+03_rb,0.64832e+03_rb, & & 0.71916e+03_rb,0.85306e+03_rb,0.98751e+03_rb,0.11227e+04_rb /) kao(:, 3, 9, 8) = (/ & & 0.12460e+04_rb,0.10945e+04_rb,0.94313e+03_rb,0.79175e+03_rb,0.64042e+03_rb, & & 0.71874e+03_rb,0.85269e+03_rb,0.98731e+03_rb,0.11226e+04_rb /) kao(:, 4, 9, 8) = (/ & & 0.12322e+04_rb,0.10825e+04_rb,0.93277e+03_rb,0.78311e+03_rb,0.63351e+03_rb, & & 0.71809e+03_rb,0.85213e+03_rb,0.98681e+03_rb,0.11221e+04_rb /) kao(:, 5, 9, 8) = (/ & & 0.12200e+04_rb,0.10718e+04_rb,0.92365e+03_rb,0.77552e+03_rb,0.62743e+03_rb, & & 0.71728e+03_rb,0.85134e+03_rb,0.98607e+03_rb,0.11214e+04_rb /) kao(:, 1,10, 8) = (/ & & 0.12423e+04_rb,0.10913e+04_rb,0.94034e+03_rb,0.78942e+03_rb,0.63856e+03_rb, & & 0.71867e+03_rb,0.85279e+03_rb,0.98738e+03_rb,0.11225e+04_rb /) kao(:, 2,10, 8) = (/ & & 0.12262e+04_rb,0.10772e+04_rb,0.92827e+03_rb,0.77936e+03_rb,0.63052e+03_rb, & & 0.71863e+03_rb,0.85274e+03_rb,0.98738e+03_rb,0.11227e+04_rb /) kao(:, 3,10, 8) = (/ & & 0.12123e+04_rb,0.10651e+04_rb,0.91788e+03_rb,0.77071e+03_rb,0.62359e+03_rb, & & 0.71835e+03_rb,0.85251e+03_rb,0.98725e+03_rb,0.11227e+04_rb /) kao(:, 4,10, 8) = (/ & & 0.12002e+04_rb,0.10545e+04_rb,0.90884e+03_rb,0.76317e+03_rb,0.61756e+03_rb, & & 0.71785e+03_rb,0.85203e+03_rb,0.98691e+03_rb,0.11224e+04_rb /) kao(:, 5,10, 8) = (/ & & 0.11897e+04_rb,0.10453e+04_rb,0.90090e+03_rb,0.75655e+03_rb,0.61227e+03_rb, & & 0.71716e+03_rb,0.85141e+03_rb,0.98631e+03_rb,0.11218e+04_rb /) kao(:, 1,11, 8) = (/ & & 0.12033e+04_rb,0.10572e+04_rb,0.91110e+03_rb,0.76506e+03_rb,0.61908e+03_rb, & & 0.71809e+03_rb,0.85242e+03_rb,0.98721e+03_rb,0.11225e+04_rb /) kao(:, 2,11, 8) = (/ & & 0.11901e+04_rb,0.10456e+04_rb,0.90123e+03_rb,0.75682e+03_rb,0.61248e+03_rb, & & 0.71809e+03_rb,0.85240e+03_rb,0.98723e+03_rb,0.11226e+04_rb /) kao(:, 3,11, 8) = (/ & & 0.11788e+04_rb,0.10357e+04_rb,0.89271e+03_rb,0.74972e+03_rb,0.60692e+03_rb, & & 0.71785e+03_rb,0.85217e+03_rb,0.98712e+03_rb,0.11227e+04_rb /) kao(:, 4,11, 8) = (/ & & 0.11689e+04_rb,0.10271e+04_rb,0.88529e+03_rb,0.74355e+03_rb,0.60253e+03_rb, & & 0.71738e+03_rb,0.85177e+03_rb,0.98681e+03_rb,0.11224e+04_rb /) kao(:, 5,11, 8) = (/ & & 0.11602e+04_rb,0.10195e+04_rb,0.87880e+03_rb,0.73813e+03_rb,0.59855e+03_rb, & & 0.71672e+03_rb,0.85114e+03_rb,0.98618e+03_rb,0.11218e+04_rb /) kao(:, 1,12, 8) = (/ & & 0.11713e+04_rb,0.10292e+04_rb,0.88712e+03_rb,0.74507e+03_rb,0.60379e+03_rb, & & 0.71766e+03_rb,0.85212e+03_rb,0.98706e+03_rb,0.11225e+04_rb /) kao(:, 2,12, 8) = (/ & & 0.11605e+04_rb,0.10197e+04_rb,0.87902e+03_rb,0.73833e+03_rb,0.59891e+03_rb, & & 0.71764e+03_rb,0.85212e+03_rb,0.98710e+03_rb,0.11227e+04_rb /) kao(:, 3,12, 8) = (/ & & 0.11512e+04_rb,0.10116e+04_rb,0.87205e+03_rb,0.73251e+03_rb,0.59502e+03_rb, & & 0.71744e+03_rb,0.85192e+03_rb,0.98700e+03_rb,0.11227e+04_rb /) kao(:, 4,12, 8) = (/ & & 0.11431e+04_rb,0.10045e+04_rb,0.86598e+03_rb,0.72746e+03_rb,0.59151e+03_rb, & & 0.71699e+03_rb,0.85153e+03_rb,0.98663e+03_rb,0.11224e+04_rb /) kao(:, 5,12, 8) = (/ & & 0.11360e+04_rb,0.99832e+03_rb,0.86067e+03_rb,0.72302e+03_rb,0.58868e+03_rb, & & 0.71636e+03_rb,0.85092e+03_rb,0.98606e+03_rb,0.11218e+04_rb /) kao(:, 1,13, 8) = (/ & & 0.11451e+04_rb,0.10063e+04_rb,0.86748e+03_rb,0.72871e+03_rb,0.59258e+03_rb, & & 0.71726e+03_rb,0.85187e+03_rb,0.98696e+03_rb,0.11225e+04_rb /) kao(:, 2,13, 8) = (/ & & 0.11363e+04_rb,0.99855e+03_rb,0.86085e+03_rb,0.72320e+03_rb,0.58896e+03_rb, & & 0.71729e+03_rb,0.85183e+03_rb,0.98699e+03_rb,0.11227e+04_rb /) kao(:, 3,13, 8) = (/ & & 0.11287e+04_rb,0.99189e+03_rb,0.85515e+03_rb,0.71842e+03_rb,0.58585e+03_rb, & & 0.71710e+03_rb,0.85169e+03_rb,0.98691e+03_rb,0.11227e+04_rb /) kao(:, 4,13, 8) = (/ & & 0.11220e+04_rb,0.98609e+03_rb,0.85017e+03_rb,0.71429e+03_rb,0.58380e+03_rb, & & 0.71668e+03_rb,0.85133e+03_rb,0.98660e+03_rb,0.11224e+04_rb /) kao(:, 5,13, 8) = (/ & & 0.11162e+04_rb,0.98101e+03_rb,0.84582e+03_rb,0.71065e+03_rb,0.58234e+03_rb, & & 0.71606e+03_rb,0.85074e+03_rb,0.98601e+03_rb,0.11218e+04_rb /) kao(:, 1, 1, 9) = (/ & & 0.19571e+04_rb,0.17167e+04_rb,0.14761e+04_rb,0.12357e+04_rb,0.99528e+03_rb, & & 0.75488e+03_rb,0.87315e+03_rb,0.10086e+04_rb,0.11441e+04_rb /) kao(:, 2, 1, 9) = (/ & & 0.19076e+04_rb,0.16733e+04_rb,0.14390e+04_rb,0.12047e+04_rb,0.97044e+03_rb, & & 0.73841e+03_rb,0.87146e+03_rb,0.10070e+04_rb,0.11425e+04_rb /) kao(:, 3, 1, 9) = (/ & & 0.18630e+04_rb,0.16343e+04_rb,0.14056e+04_rb,0.11769e+04_rb,0.94822e+03_rb, & & 0.73460e+03_rb,0.86967e+03_rb,0.10052e+04_rb,0.11407e+04_rb /) kao(:, 4, 1, 9) = (/ & & 0.18229e+04_rb,0.15991e+04_rb,0.13754e+04_rb,0.11517e+04_rb,0.92811e+03_rb, & & 0.73269e+03_rb,0.86788e+03_rb,0.10033e+04_rb,0.11387e+04_rb /) kao(:, 5, 1, 9) = (/ & & 0.17864e+04_rb,0.15672e+04_rb,0.13481e+04_rb,0.11289e+04_rb,0.90984e+03_rb, & & 0.73091e+03_rb,0.86616e+03_rb,0.10016e+04_rb,0.11368e+04_rb /) kao(:, 1, 2, 9) = (/ & & 0.18080e+04_rb,0.15862e+04_rb,0.13643e+04_rb,0.11425e+04_rb,0.92072e+03_rb, & & 0.73694e+03_rb,0.87246e+03_rb,0.10086e+04_rb,0.11448e+04_rb /) kao(:, 2, 2, 9) = (/ & & 0.17655e+04_rb,0.15491e+04_rb,0.13324e+04_rb,0.11159e+04_rb,0.89943e+03_rb, & & 0.73525e+03_rb,0.87092e+03_rb,0.10070e+04_rb,0.11432e+04_rb /) kao(:, 3, 2, 9) = (/ & & 0.17274e+04_rb,0.15157e+04_rb,0.13039e+04_rb,0.10921e+04_rb,0.88039e+03_rb, & & 0.73343e+03_rb,0.86922e+03_rb,0.10053e+04_rb,0.11415e+04_rb /) kao(:, 4, 2, 9) = (/ & & 0.16931e+04_rb,0.14856e+04_rb,0.12781e+04_rb,0.10706e+04_rb,0.86326e+03_rb, & & 0.73166e+03_rb,0.86752e+03_rb,0.10036e+04_rb,0.11395e+04_rb /) kao(:, 5, 2, 9) = (/ & & 0.16621e+04_rb,0.14584e+04_rb,0.12549e+04_rb,0.10512e+04_rb,0.84768e+03_rb, & & 0.73000e+03_rb,0.86583e+03_rb,0.10018e+04_rb,0.11376e+04_rb /) kao(:, 1, 3, 9) = (/ & & 0.16908e+04_rb,0.14837e+04_rb,0.12764e+04_rb,0.10692e+04_rb,0.86209e+03_rb, & & 0.73591e+03_rb,0.87213e+03_rb,0.10088e+04_rb,0.11456e+04_rb /) kao(:, 2, 3, 9) = (/ & & 0.16535e+04_rb,0.14509e+04_rb,0.12484e+04_rb,0.10459e+04_rb,0.84339e+03_rb, & & 0.73450e+03_rb,0.87080e+03_rb,0.10075e+04_rb,0.11442e+04_rb /) kao(:, 3, 3, 9) = (/ & & 0.16202e+04_rb,0.14218e+04_rb,0.12234e+04_rb,0.10251e+04_rb,0.82680e+03_rb, & & 0.73291e+03_rb,0.86926e+03_rb,0.10059e+04_rb,0.11426e+04_rb /) kao(:, 4, 3, 9) = (/ & & 0.15902e+04_rb,0.13956e+04_rb,0.12011e+04_rb,0.10064e+04_rb,0.81183e+03_rb, & & 0.73120e+03_rb,0.86761e+03_rb,0.10042e+04_rb,0.11407e+04_rb /) kao(:, 5, 3, 9) = (/ & & 0.15632e+04_rb,0.13720e+04_rb,0.11808e+04_rb,0.98952e+03_rb,0.79832e+03_rb, & & 0.72957e+03_rb,0.86594e+03_rb,0.10024e+04_rb,0.11387e+04_rb /) kao(:, 1, 4, 9) = (/ & & 0.15935e+04_rb,0.13985e+04_rb,0.12035e+04_rb,0.10084e+04_rb,0.81344e+03_rb, & & 0.73513e+03_rb,0.87195e+03_rb,0.10092e+04_rb,0.11463e+04_rb /) kao(:, 2, 4, 9) = (/ & & 0.15605e+04_rb,0.13697e+04_rb,0.11787e+04_rb,0.98782e+03_rb,0.79694e+03_rb, & & 0.73394e+03_rb,0.87080e+03_rb,0.10079e+04_rb,0.11451e+04_rb /) kao(:, 3, 4, 9) = (/ & & 0.15313e+04_rb,0.13439e+04_rb,0.11567e+04_rb,0.96950e+03_rb,0.78229e+03_rb, & & 0.73257e+03_rb,0.86942e+03_rb,0.10065e+04_rb,0.11436e+04_rb /) kao(:, 4, 4, 9) = (/ & & 0.15050e+04_rb,0.13210e+04_rb,0.11371e+04_rb,0.95308e+03_rb,0.76922e+03_rb, & & 0.73104e+03_rb,0.86787e+03_rb,0.10049e+04_rb,0.11419e+04_rb /) kao(:, 5, 4, 9) = (/ & & 0.14814e+04_rb,0.13003e+04_rb,0.11193e+04_rb,0.93833e+03_rb,0.75745e+03_rb, & & 0.72946e+03_rb,0.86622e+03_rb,0.10032e+04_rb,0.11400e+04_rb /) kao(:, 1, 5, 9) = (/ & & 0.15109e+04_rb,0.13262e+04_rb,0.11415e+04_rb,0.95685e+03_rb,0.77217e+03_rb, & & 0.73443e+03_rb,0.87177e+03_rb,0.10094e+04_rb,0.11470e+04_rb /) kao(:, 2, 5, 9) = (/ & & 0.14817e+04_rb,0.13007e+04_rb,0.11196e+04_rb,0.93852e+03_rb,0.75755e+03_rb, & & 0.73343e+03_rb,0.87078e+03_rb,0.10083e+04_rb,0.11459e+04_rb /) kao(:, 3, 5, 9) = (/ & & 0.14559e+04_rb,0.12780e+04_rb,0.11003e+04_rb,0.92240e+03_rb,0.74463e+03_rb, & & 0.73229e+03_rb,0.86958e+03_rb,0.10071e+04_rb,0.11446e+04_rb /) kao(:, 4, 5, 9) = (/ & & 0.14329e+04_rb,0.12579e+04_rb,0.10829e+04_rb,0.90802e+03_rb,0.73310e+03_rb, & & 0.73095e+03_rb,0.86817e+03_rb,0.10056e+04_rb,0.11430e+04_rb /) kao(:, 5, 5, 9) = (/ & & 0.14122e+04_rb,0.12398e+04_rb,0.10675e+04_rb,0.89511e+03_rb,0.72281e+03_rb, & & 0.72946e+03_rb,0.86664e+03_rb,0.10039e+04_rb,0.11412e+04_rb /) kao(:, 1, 6, 9) = (/ & & 0.14417e+04_rb,0.12655e+04_rb,0.10896e+04_rb,0.91348e+03_rb,0.73747e+03_rb, & & 0.73386e+03_rb,0.87165e+03_rb,0.10096e+04_rb,0.11475e+04_rb /) kao(:, 2, 6, 9) = (/ & & 0.14156e+04_rb,0.12429e+04_rb,0.10700e+04_rb,0.89725e+03_rb,0.72457e+03_rb, & & 0.73304e+03_rb,0.87078e+03_rb,0.10087e+04_rb,0.11466e+04_rb /) kao(:, 3, 6, 9) = (/ & & 0.13928e+04_rb,0.12228e+04_rb,0.10529e+04_rb,0.88300e+03_rb,0.71308e+03_rb, & & 0.73207e+03_rb,0.86977e+03_rb,0.10076e+04_rb,0.11455e+04_rb /) kao(:, 4, 6, 9) = (/ & & 0.13725e+04_rb,0.12051e+04_rb,0.10377e+04_rb,0.87029e+03_rb,0.70290e+03_rb, & & 0.73093e+03_rb,0.86853e+03_rb,0.10063e+04_rb,0.11441e+04_rb /) kao(:, 5, 6, 9) = (/ & & 0.13544e+04_rb,0.11892e+04_rb,0.10241e+04_rb,0.85897e+03_rb,0.69390e+03_rb, & & 0.72961e+03_rb,0.86706e+03_rb,0.10048e+04_rb,0.11424e+04_rb /) kao(:, 1, 7, 9) = (/ & & 0.13826e+04_rb,0.12140e+04_rb,0.10453e+04_rb,0.87664e+03_rb,0.70803e+03_rb, & & 0.73339e+03_rb,0.87155e+03_rb,0.10098e+04_rb,0.11480e+04_rb /) kao(:, 2, 7, 9) = (/ & & 0.13594e+04_rb,0.11937e+04_rb,0.10279e+04_rb,0.86216e+03_rb,0.69645e+03_rb, & & 0.73269e+03_rb,0.87079e+03_rb,0.10090e+04_rb,0.11472e+04_rb /) kao(:, 3, 7, 9) = (/ & & 0.13392e+04_rb,0.11759e+04_rb,0.10127e+04_rb,0.84953e+03_rb,0.68632e+03_rb, & & 0.73188e+03_rb,0.86990e+03_rb,0.10081e+04_rb,0.11462e+04_rb /) kao(:, 4, 7, 9) = (/ & & 0.13213e+04_rb,0.11603e+04_rb,0.99928e+03_rb,0.83829e+03_rb,0.67737e+03_rb, & & 0.73090e+03_rb,0.86884e+03_rb,0.10069e+04_rb,0.11450e+04_rb /) kao(:, 5, 7, 9) = (/ & & 0.13054e+04_rb,0.11464e+04_rb,0.98739e+03_rb,0.82837e+03_rb,0.66946e+03_rb, & & 0.72975e+03_rb,0.86756e+03_rb,0.10055e+04_rb,0.11435e+04_rb /) kao(:, 1, 8, 9) = (/ & & 0.13322e+04_rb,0.11698e+04_rb,0.10074e+04_rb,0.84511e+03_rb,0.68280e+03_rb, & & 0.73302e+03_rb,0.87145e+03_rb,0.10099e+04_rb,0.11483e+04_rb /) kao(:, 2, 8, 9) = (/ & & 0.13116e+04_rb,0.11517e+04_rb,0.99199e+03_rb,0.83221e+03_rb,0.67250e+03_rb, & & 0.73244e+03_rb,0.87079e+03_rb,0.10093e+04_rb,0.11477e+04_rb /) kao(:, 3, 8, 9) = (/ & & 0.12937e+04_rb,0.11360e+04_rb,0.97848e+03_rb,0.82097e+03_rb,0.66349e+03_rb, & & 0.73170e+03_rb,0.87002e+03_rb,0.10085e+04_rb,0.11469e+04_rb /) kao(:, 4, 8, 9) = (/ & & 0.12778e+04_rb,0.11223e+04_rb,0.96666e+03_rb,0.81113e+03_rb,0.65562e+03_rb, & & 0.73087e+03_rb,0.86909e+03_rb,0.10075e+04_rb,0.11458e+04_rb /) kao(:, 5, 8, 9) = (/ & & 0.12639e+04_rb,0.11101e+04_rb,0.95620e+03_rb,0.80244e+03_rb,0.64865e+03_rb, & & 0.72985e+03_rb,0.86796e+03_rb,0.10062e+04_rb,0.11444e+04_rb /) kao(:, 1, 9, 9) = (/ & & 0.12892e+04_rb,0.11322e+04_rb,0.97520e+03_rb,0.81821e+03_rb,0.66134e+03_rb, & & 0.73274e+03_rb,0.87135e+03_rb,0.10099e+04_rb,0.11485e+04_rb /) kao(:, 2, 9, 9) = (/ & & 0.12708e+04_rb,0.11161e+04_rb,0.96140e+03_rb,0.80674e+03_rb,0.65213e+03_rb, & & 0.73213e+03_rb,0.87079e+03_rb,0.10095e+04_rb,0.11481e+04_rb /) kao(:, 3, 9, 9) = (/ & & 0.12548e+04_rb,0.11022e+04_rb,0.94949e+03_rb,0.79681e+03_rb,0.64421e+03_rb, & & 0.73152e+03_rb,0.87011e+03_rb,0.10088e+04_rb,0.11474e+04_rb /) kao(:, 4, 9, 9) = (/ & & 0.12410e+04_rb,0.10900e+04_rb,0.93905e+03_rb,0.78808e+03_rb,0.63726e+03_rb, & & 0.73083e+03_rb,0.86928e+03_rb,0.10079e+04_rb,0.11464e+04_rb /) kao(:, 5, 9, 9) = (/ & & 0.12287e+04_rb,0.10793e+04_rb,0.92981e+03_rb,0.78042e+03_rb,0.63106e+03_rb, & & 0.72995e+03_rb,0.86831e+03_rb,0.10068e+04_rb,0.11452e+04_rb /) kao(:, 1,10, 9) = (/ & & 0.12511e+04_rb,0.10989e+04_rb,0.94665e+03_rb,0.79449e+03_rb,0.64227e+03_rb, & & 0.73248e+03_rb,0.87121e+03_rb,0.10099e+04_rb,0.11487e+04_rb /) kao(:, 2,10, 9) = (/ & & 0.12350e+04_rb,0.10848e+04_rb,0.93449e+03_rb,0.78435e+03_rb,0.63416e+03_rb, & & 0.73188e+03_rb,0.87073e+03_rb,0.10095e+04_rb,0.11483e+04_rb /) kao(:, 3,10, 9) = (/ & & 0.12209e+04_rb,0.10725e+04_rb,0.92407e+03_rb,0.77565e+03_rb,0.62724e+03_rb, & & 0.73132e+03_rb,0.87012e+03_rb,0.10091e+04_rb,0.11477e+04_rb /) kao(:, 4,10, 9) = (/ & & 0.12088e+04_rb,0.10618e+04_rb,0.91493e+03_rb,0.76801e+03_rb,0.62113e+03_rb, & & 0.73072e+03_rb,0.86943e+03_rb,0.10082e+04_rb,0.11469e+04_rb /) kao(:, 5,10, 9) = (/ & & 0.11981e+04_rb,0.10526e+04_rb,0.90691e+03_rb,0.76134e+03_rb,0.61583e+03_rb, & & 0.72997e+03_rb,0.86853e+03_rb,0.10072e+04_rb,0.11458e+04_rb /) kao(:, 1,11, 9) = (/ & & 0.12119e+04_rb,0.10646e+04_rb,0.91723e+03_rb,0.76995e+03_rb,0.62265e+03_rb, & & 0.73201e+03_rb,0.87093e+03_rb,0.10098e+04_rb,0.11487e+04_rb /) kao(:, 2,11, 9) = (/ & & 0.11986e+04_rb,0.10529e+04_rb,0.90727e+03_rb,0.76161e+03_rb,0.61603e+03_rb, & & 0.73147e+03_rb,0.87046e+03_rb,0.10094e+04_rb,0.11483e+04_rb /) kao(:, 3,11, 9) = (/ & & 0.11871e+04_rb,0.10429e+04_rb,0.89865e+03_rb,0.75449e+03_rb,0.61031e+03_rb, & & 0.73094e+03_rb,0.86988e+03_rb,0.10088e+04_rb,0.11477e+04_rb /) kao(:, 4,11, 9) = (/ & & 0.11772e+04_rb,0.10342e+04_rb,0.89122e+03_rb,0.74824e+03_rb,0.60537e+03_rb, & & 0.73035e+03_rb,0.86918e+03_rb,0.10081e+04_rb,0.11469e+04_rb /) kao(:, 5,11, 9) = (/ & & 0.11684e+04_rb,0.10265e+04_rb,0.88467e+03_rb,0.74278e+03_rb,0.60127e+03_rb, & & 0.72963e+03_rb,0.86831e+03_rb,0.10071e+04_rb,0.11458e+04_rb /) kao(:, 1,12, 9) = (/ & & 0.11796e+04_rb,0.10363e+04_rb,0.89308e+03_rb,0.74980e+03_rb,0.60664e+03_rb, & & 0.73158e+03_rb,0.87066e+03_rb,0.10097e+04_rb,0.11487e+04_rb /) kao(:, 2,12, 9) = (/ & & 0.11688e+04_rb,0.10268e+04_rb,0.88492e+03_rb,0.74297e+03_rb,0.60173e+03_rb, & & 0.73111e+03_rb,0.87023e+03_rb,0.10093e+04_rb,0.11483e+04_rb /) kao(:, 3,12, 9) = (/ & & 0.11594e+04_rb,0.10186e+04_rb,0.87787e+03_rb,0.73715e+03_rb,0.59711e+03_rb, & & 0.73061e+03_rb,0.86968e+03_rb,0.10088e+04_rb,0.11478e+04_rb /) kao(:, 4,12, 9) = (/ & & 0.11512e+04_rb,0.10115e+04_rb,0.87180e+03_rb,0.73203e+03_rb,0.59373e+03_rb, & & 0.73004e+03_rb,0.86900e+03_rb,0.10080e+04_rb,0.11469e+04_rb /) kao(:, 5,12, 9) = (/ & & 0.11441e+04_rb,0.10053e+04_rb,0.86640e+03_rb,0.72756e+03_rb,0.59149e+03_rb, & & 0.72934e+03_rb,0.86813e+03_rb,0.10070e+04_rb,0.11458e+04_rb /) kao(:, 1,13, 9) = (/ & & 0.11533e+04_rb,0.10132e+04_rb,0.87330e+03_rb,0.73334e+03_rb,0.59476e+03_rb, & & 0.73130e+03_rb,0.87046e+03_rb,0.10096e+04_rb,0.11487e+04_rb /) kao(:, 2,13, 9) = (/ & & 0.11444e+04_rb,0.10055e+04_rb,0.86659e+03_rb,0.72770e+03_rb,0.59240e+03_rb, & & 0.73084e+03_rb,0.87005e+03_rb,0.10092e+04_rb,0.11483e+04_rb /) kao(:, 3,13, 9) = (/ & & 0.11367e+04_rb,0.99882e+03_rb,0.86084e+03_rb,0.72297e+03_rb,0.59186e+03_rb, & & 0.73036e+03_rb,0.86950e+03_rb,0.10087e+04_rb,0.11478e+04_rb /) kao(:, 4,13, 9) = (/ & & 0.11300e+04_rb,0.99294e+03_rb,0.85585e+03_rb,0.71880e+03_rb,0.59143e+03_rb, & & 0.72979e+03_rb,0.86883e+03_rb,0.10079e+04_rb,0.11469e+04_rb /) kao(:, 5,13, 9) = (/ & & 0.11242e+04_rb,0.98788e+03_rb,0.85146e+03_rb,0.71512e+03_rb,0.59082e+03_rb, & & 0.72910e+03_rb,0.86797e+03_rb,0.10069e+04_rb,0.11459e+04_rb /) kao(:, 1, 1,10) = (/ & & 0.19609e+04_rb,0.17196e+04_rb,0.14787e+04_rb,0.12373e+04_rb,0.99636e+03_rb, & & 0.75577e+03_rb,0.88158e+03_rb,0.10175e+04_rb,0.11538e+04_rb /) kao(:, 2, 1,10) = (/ & & 0.19102e+04_rb,0.16765e+04_rb,0.14403e+04_rb,0.12063e+04_rb,0.97232e+03_rb, & & 0.74406e+03_rb,0.87986e+03_rb,0.10152e+04_rb,0.11513e+04_rb /) kao(:, 3, 1,10) = (/ & & 0.18658e+04_rb,0.16364e+04_rb,0.14075e+04_rb,0.11783e+04_rb,0.94916e+03_rb, & & 0.74249e+03_rb,0.87815e+03_rb,0.10135e+04_rb,0.11491e+04_rb /) kao(:, 4, 1,10) = (/ & & 0.18250e+04_rb,0.16014e+04_rb,0.13778e+04_rb,0.11533e+04_rb,0.92945e+03_rb, & & 0.74050e+03_rb,0.87640e+03_rb,0.10114e+04_rb,0.11477e+04_rb /) kao(:, 5, 1,10) = (/ & & 0.17888e+04_rb,0.15692e+04_rb,0.13504e+04_rb,0.11313e+04_rb,0.91134e+03_rb, & & 0.73837e+03_rb,0.87432e+03_rb,0.10096e+04_rb,0.11467e+04_rb /) kao(:, 1, 2,10) = (/ & & 0.18108e+04_rb,0.15879e+04_rb,0.13673e+04_rb,0.11437e+04_rb,0.92213e+03_rb, & & 0.74428e+03_rb,0.88077e+03_rb,0.10175e+04_rb,0.11547e+04_rb /) kao(:, 2, 2,10) = (/ & & 0.17684e+04_rb,0.15508e+04_rb,0.13352e+04_rb,0.11178e+04_rb,0.90099e+03_rb, & & 0.74265e+03_rb,0.87920e+03_rb,0.10158e+04_rb,0.11521e+04_rb /) kao(:, 3, 2,10) = (/ & & 0.17293e+04_rb,0.15183e+04_rb,0.13063e+04_rb,0.10931e+04_rb,0.88199e+03_rb, & & 0.74117e+03_rb,0.87755e+03_rb,0.10136e+04_rb,0.11500e+04_rb /) kao(:, 4, 2,10) = (/ & & 0.16960e+04_rb,0.14887e+04_rb,0.12799e+04_rb,0.10727e+04_rb,0.86433e+03_rb, & & 0.73957e+03_rb,0.87577e+03_rb,0.10116e+04_rb,0.11482e+04_rb /) kao(:, 5, 2,10) = (/ & & 0.16637e+04_rb,0.14607e+04_rb,0.12562e+04_rb,0.10527e+04_rb,0.84877e+03_rb, & & 0.73748e+03_rb,0.87409e+03_rb,0.10096e+04_rb,0.11470e+04_rb /) kao(:, 1, 3,10) = (/ & & 0.16939e+04_rb,0.14847e+04_rb,0.12786e+04_rb,0.10705e+04_rb,0.86372e+03_rb, & & 0.74343e+03_rb,0.88064e+03_rb,0.10178e+04_rb,0.11559e+04_rb /) kao(:, 2, 3,10) = (/ & & 0.16557e+04_rb,0.14542e+04_rb,0.12503e+04_rb,0.10478e+04_rb,0.84533e+03_rb, & & 0.74182e+03_rb,0.87906e+03_rb,0.10163e+04_rb,0.11537e+04_rb /) kao(:, 3, 3,10) = (/ & & 0.16218e+04_rb,0.14239e+04_rb,0.12249e+04_rb,0.10266e+04_rb,0.82819e+03_rb, & & 0.74031e+03_rb,0.87730e+03_rb,0.10137e+04_rb,0.11513e+04_rb /) kao(:, 4, 3,10) = (/ & & 0.15929e+04_rb,0.13992e+04_rb,0.12027e+04_rb,0.10077e+04_rb,0.81299e+03_rb, & & 0.73896e+03_rb,0.87590e+03_rb,0.10123e+04_rb,0.11493e+04_rb /) kao(:, 5, 3,10) = (/ & & 0.15654e+04_rb,0.13740e+04_rb,0.11824e+04_rb,0.99136e+03_rb,0.79933e+03_rb, & & 0.73740e+03_rb,0.87406e+03_rb,0.10104e+04_rb,0.11477e+04_rb /) kao(:, 1, 4,10) = (/ & & 0.15959e+04_rb,0.14010e+04_rb,0.12054e+04_rb,0.10100e+04_rb,0.81522e+03_rb, & & 0.74271e+03_rb,0.88040e+03_rb,0.10180e+04_rb,0.11570e+04_rb /) kao(:, 2, 4,10) = (/ & & 0.15637e+04_rb,0.13710e+04_rb,0.11804e+04_rb,0.98920e+03_rb,0.79803e+03_rb, & & 0.74139e+03_rb,0.87903e+03_rb,0.10168e+04_rb,0.11552e+04_rb /) kao(:, 3, 4,10) = (/ & & 0.15330e+04_rb,0.13459e+04_rb,0.11594e+04_rb,0.97120e+03_rb,0.78314e+03_rb, & & 0.74000e+03_rb,0.87753e+03_rb,0.10151e+04_rb,0.11528e+04_rb /) kao(:, 4, 4,10) = (/ & & 0.15077e+04_rb,0.13229e+04_rb,0.11386e+04_rb,0.95486e+03_rb,0.77029e+03_rb, & & 0.73854e+03_rb,0.87600e+03_rb,0.10131e+04_rb,0.11506e+04_rb /) kao(:, 5, 4,10) = (/ & & 0.14835e+04_rb,0.13025e+04_rb,0.11209e+04_rb,0.94000e+03_rb,0.75786e+03_rb, & & 0.73717e+03_rb,0.87438e+03_rb,0.10111e+04_rb,0.11486e+04_rb /) kao(:, 1, 5,10) = (/ & & 0.15126e+04_rb,0.13285e+04_rb,0.11431e+04_rb,0.95745e+03_rb,0.77284e+03_rb, & & 0.74220e+03_rb,0.88024e+03_rb,0.10187e+04_rb,0.11578e+04_rb /) kao(:, 2, 5,10) = (/ & & 0.14829e+04_rb,0.13024e+04_rb,0.11209e+04_rb,0.94020e+03_rb,0.75863e+03_rb, & & 0.74099e+03_rb,0.87909e+03_rb,0.10174e+04_rb,0.11564e+04_rb /) kao(:, 3, 5,10) = (/ & & 0.14582e+04_rb,0.12806e+04_rb,0.11014e+04_rb,0.92377e+03_rb,0.74596e+03_rb, & & 0.73960e+03_rb,0.87772e+03_rb,0.10159e+04_rb,0.11544e+04_rb /) kao(:, 4, 5,10) = (/ & & 0.14345e+04_rb,0.12594e+04_rb,0.10847e+04_rb,0.90887e+03_rb,0.73410e+03_rb, & & 0.73828e+03_rb,0.87622e+03_rb,0.10139e+04_rb,0.11518e+04_rb /) kao(:, 5, 5,10) = (/ & & 0.14140e+04_rb,0.12418e+04_rb,0.10683e+04_rb,0.89661e+03_rb,0.72364e+03_rb, & & 0.73696e+03_rb,0.87469e+03_rb,0.10119e+04_rb,0.11501e+04_rb /) kao(:, 1, 6,10) = (/ & & 0.14435e+04_rb,0.12676e+04_rb,0.10914e+04_rb,0.91493e+03_rb,0.73889e+03_rb, & & 0.74179e+03_rb,0.88024e+03_rb,0.10190e+04_rb,0.11586e+04_rb /) kao(:, 2, 6,10) = (/ & & 0.14184e+04_rb,0.12443e+04_rb,0.10722e+04_rb,0.89834e+03_rb,0.72535e+03_rb, & & 0.74069e+03_rb,0.87922e+03_rb,0.10178e+04_rb,0.11574e+04_rb /) kao(:, 3, 6,10) = (/ & & 0.13949e+04_rb,0.12245e+04_rb,0.10548e+04_rb,0.88411e+03_rb,0.71441e+03_rb, & & 0.73951e+03_rb,0.87792e+03_rb,0.10164e+04_rb,0.11554e+04_rb /) kao(:, 4, 6,10) = (/ & & 0.13745e+04_rb,0.12070e+04_rb,0.10388e+04_rb,0.87157e+03_rb,0.70381e+03_rb, & & 0.73817e+03_rb,0.87654e+03_rb,0.10150e+04_rb,0.11533e+04_rb /) kao(:, 5, 6,10) = (/ & & 0.13558e+04_rb,0.11909e+04_rb,0.10253e+04_rb,0.86039e+03_rb,0.69505e+03_rb, & & 0.73669e+03_rb,0.87508e+03_rb,0.10128e+04_rb,0.11510e+04_rb /) kao(:, 1, 7,10) = (/ & & 0.13849e+04_rb,0.12154e+04_rb,0.10465e+04_rb,0.87809e+03_rb,0.70922e+03_rb, & & 0.74150e+03_rb,0.88017e+03_rb,0.10197e+04_rb,0.11599e+04_rb /) kao(:, 2, 7,10) = (/ & & 0.13622e+04_rb,0.11954e+04_rb,0.10296e+04_rb,0.86328e+03_rb,0.69750e+03_rb, & & 0.74031e+03_rb,0.87926e+03_rb,0.10184e+04_rb,0.11581e+04_rb /) kao(:, 3, 7,10) = (/ & & 0.13407e+04_rb,0.11775e+04_rb,0.10144e+04_rb,0.85098e+03_rb,0.68710e+03_rb, & & 0.73933e+03_rb,0.87824e+03_rb,0.10171e+04_rb,0.11568e+04_rb /) kao(:, 4, 7,10) = (/ & & 0.13234e+04_rb,0.11620e+04_rb,0.10006e+04_rb,0.83940e+03_rb,0.67808e+03_rb, & & 0.73818e+03_rb,0.87693e+03_rb,0.10157e+04_rb,0.11549e+04_rb /) kao(:, 5, 7,10) = (/ & & 0.13077e+04_rb,0.11481e+04_rb,0.98850e+03_rb,0.82952e+03_rb,0.66976e+03_rb, & & 0.73685e+03_rb,0.87533e+03_rb,0.10140e+04_rb,0.11525e+04_rb /) kao(:, 1, 8,10) = (/ & & 0.13336e+04_rb,0.11711e+04_rb,0.10088e+04_rb,0.84626e+03_rb,0.68382e+03_rb, & & 0.74131e+03_rb,0.88025e+03_rb,0.10205e+04_rb,0.11609e+04_rb /) kao(:, 2, 8,10) = (/ & & 0.13133e+04_rb,0.11535e+04_rb,0.99382e+03_rb,0.83328e+03_rb,0.67355e+03_rb, & & 0.73954e+03_rb,0.87931e+03_rb,0.10187e+04_rb,0.11591e+04_rb /) kao(:, 3, 8,10) = (/ & & 0.12952e+04_rb,0.11377e+04_rb,0.97980e+03_rb,0.82257e+03_rb,0.66450e+03_rb, & & 0.73910e+03_rb,0.87831e+03_rb,0.10177e+04_rb,0.11576e+04_rb /) kao(:, 4, 8,10) = (/ & & 0.12798e+04_rb,0.11238e+04_rb,0.96848e+03_rb,0.81189e+03_rb,0.65672e+03_rb, & & 0.73820e+03_rb,0.87729e+03_rb,0.10162e+04_rb,0.11560e+04_rb /) kao(:, 5, 8,10) = (/ & & 0.12652e+04_rb,0.11115e+04_rb,0.95739e+03_rb,0.80373e+03_rb,0.64938e+03_rb, & & 0.73712e+03_rb,0.87584e+03_rb,0.10149e+04_rb,0.11541e+04_rb /) kao(:, 1, 9,10) = (/ & & 0.12921e+04_rb,0.11338e+04_rb,0.97649e+03_rb,0.81965e+03_rb,0.66193e+03_rb, & & 0.74117e+03_rb,0.88056e+03_rb,0.10212e+04_rb,0.11621e+04_rb /) kao(:, 2, 9,10) = (/ & & 0.12725e+04_rb,0.11175e+04_rb,0.96294e+03_rb,0.80792e+03_rb,0.65314e+03_rb, & & 0.74018e+03_rb,0.87944e+03_rb,0.10196e+04_rb,0.11602e+04_rb /) kao(:, 3, 9,10) = (/ & & 0.12569e+04_rb,0.11032e+04_rb,0.95038e+03_rb,0.79825e+03_rb,0.64471e+03_rb, & & 0.73910e+03_rb,0.87852e+03_rb,0.10181e+04_rb,0.11585e+04_rb /) kao(:, 4, 9,10) = (/ & & 0.12428e+04_rb,0.10914e+04_rb,0.94028e+03_rb,0.78940e+03_rb,0.63769e+03_rb, & & 0.73816e+03_rb,0.87758e+03_rb,0.10170e+04_rb,0.11569e+04_rb /) kao(:, 5, 9,10) = (/ & & 0.12310e+04_rb,0.10815e+04_rb,0.93149e+03_rb,0.78151e+03_rb,0.63218e+03_rb, & & 0.73726e+03_rb,0.87637e+03_rb,0.10156e+04_rb,0.11553e+04_rb /) kao(:, 1,10,10) = (/ & & 0.12531e+04_rb,0.11009e+04_rb,0.94808e+03_rb,0.79569e+03_rb,0.64353e+03_rb, & & 0.74092e+03_rb,0.88101e+03_rb,0.10222e+04_rb,0.11631e+04_rb /) kao(:, 2,10,10) = (/ & & 0.12357e+04_rb,0.10861e+04_rb,0.93599e+03_rb,0.78490e+03_rb,0.63564e+03_rb, & & 0.74008e+03_rb,0.87961e+03_rb,0.10203e+04_rb,0.11613e+04_rb /) kao(:, 3,10,10) = (/ & & 0.12227e+04_rb,0.10738e+04_rb,0.92501e+03_rb,0.77680e+03_rb,0.62842e+03_rb, & & 0.73914e+03_rb,0.87860e+03_rb,0.10179e+04_rb,0.11592e+04_rb /) kao(:, 4,10,10) = (/ & & 0.12109e+04_rb,0.10632e+04_rb,0.91605e+03_rb,0.76920e+03_rb,0.62177e+03_rb, & & 0.73819e+03_rb,0.87758e+03_rb,0.10174e+04_rb,0.11577e+04_rb /) kao(:, 5,10,10) = (/ & & 0.11998e+04_rb,0.10537e+04_rb,0.90813e+03_rb,0.76232e+03_rb,0.61616e+03_rb, & & 0.73732e+03_rb,0.87676e+03_rb,0.10162e+04_rb,0.11563e+04_rb /) kao(:, 1,11,10) = (/ & & 0.12137e+04_rb,0.10654e+04_rb,0.91884e+03_rb,0.77105e+03_rb,0.62358e+03_rb, & & 0.74042e+03_rb,0.88057e+03_rb,0.10221e+04_rb,0.11630e+04_rb /) kao(:, 2,11,10) = (/ & & 0.11999e+04_rb,0.10545e+04_rb,0.90854e+03_rb,0.76253e+03_rb,0.61715e+03_rb, & & 0.73961e+03_rb,0.87932e+03_rb,0.10201e+04_rb,0.11611e+04_rb /) kao(:, 3,11,10) = (/ & & 0.11890e+04_rb,0.10445e+04_rb,0.90019e+03_rb,0.75537e+03_rb,0.61109e+03_rb, & & 0.73864e+03_rb,0.87832e+03_rb,0.10186e+04_rb,0.11592e+04_rb /) kao(:, 4,11,10) = (/ & & 0.11789e+04_rb,0.10359e+04_rb,0.89280e+03_rb,0.74928e+03_rb,0.60622e+03_rb, & & 0.73779e+03_rb,0.87747e+03_rb,0.10172e+04_rb,0.11577e+04_rb /) kao(:, 5,11,10) = (/ & & 0.11709e+04_rb,0.10287e+04_rb,0.88607e+03_rb,0.74401e+03_rb,0.60247e+03_rb, & & 0.73688e+03_rb,0.87644e+03_rb,0.10160e+04_rb,0.11563e+04_rb /) kao(:, 1,12,10) = (/ & & 0.11820e+04_rb,0.10383e+04_rb,0.89456e+03_rb,0.75081e+03_rb,0.60714e+03_rb, & & 0.74001e+03_rb,0.88049e+03_rb,0.10220e+04_rb,0.11631e+04_rb /) kao(:, 2,12,10) = (/ & & 0.11713e+04_rb,0.10290e+04_rb,0.88623e+03_rb,0.74407e+03_rb,0.60058e+03_rb, & & 0.73921e+03_rb,0.87901e+03_rb,0.10201e+04_rb,0.11611e+04_rb /) kao(:, 3,12,10) = (/ & & 0.11605e+04_rb,0.10200e+04_rb,0.87951e+03_rb,0.73788e+03_rb,0.59769e+03_rb, & & 0.73835e+03_rb,0.87808e+03_rb,0.10182e+04_rb,0.11591e+04_rb /) kao(:, 4,12,10) = (/ & & 0.11533e+04_rb,0.10132e+04_rb,0.87284e+03_rb,0.73305e+03_rb,0.59795e+03_rb, & & 0.73753e+03_rb,0.87718e+03_rb,0.10171e+04_rb,0.11577e+04_rb /) kao(:, 5,12,10) = (/ & & 0.11467e+04_rb,0.10071e+04_rb,0.86739e+03_rb,0.72890e+03_rb,0.59711e+03_rb, & & 0.73664e+03_rb,0.87623e+03_rb,0.10159e+04_rb,0.11563e+04_rb /) kao(:, 1,13,10) = (/ & & 0.11553e+04_rb,0.10149e+04_rb,0.87419e+03_rb,0.73470e+03_rb,0.59975e+03_rb, & & 0.73968e+03_rb,0.88029e+03_rb,0.10219e+04_rb,0.11630e+04_rb /) kao(:, 2,13,10) = (/ & & 0.11455e+04_rb,0.10072e+04_rb,0.86782e+03_rb,0.72873e+03_rb,0.59921e+03_rb, & & 0.73889e+03_rb,0.87889e+03_rb,0.10200e+04_rb,0.11611e+04_rb /) kao(:, 3,13,10) = (/ & & 0.11380e+04_rb,0.10000e+04_rb,0.86190e+03_rb,0.72452e+03_rb,0.59831e+03_rb, & & 0.73799e+03_rb,0.87789e+03_rb,0.10182e+04_rb,0.11592e+04_rb /) kao(:, 4,13,10) = (/ & & 0.11318e+04_rb,0.99472e+03_rb,0.85697e+03_rb,0.71950e+03_rb,0.59744e+03_rb, & & 0.73726e+03_rb,0.87708e+03_rb,0.10170e+04_rb,0.11577e+04_rb /) kao(:, 5,13,10) = (/ & & 0.11253e+04_rb,0.98825e+03_rb,0.85273e+03_rb,0.71635e+03_rb,0.59683e+03_rb, & & 0.73639e+03_rb,0.87606e+03_rb,0.10160e+04_rb,0.11562e+04_rb /) kao(:, 1, 1,11) = (/ & & 0.19598e+04_rb,0.17186e+04_rb,0.14777e+04_rb,0.12380e+04_rb,0.99729e+03_rb, & & 0.75567e+03_rb,0.88469e+03_rb,0.10202e+04_rb,0.11560e+04_rb /) kao(:, 2, 1,11) = (/ & & 0.19102e+04_rb,0.16743e+04_rb,0.14414e+04_rb,0.12066e+04_rb,0.97117e+03_rb, & & 0.74679e+03_rb,0.88252e+03_rb,0.10178e+04_rb,0.11544e+04_rb /) kao(:, 3, 1,11) = (/ & & 0.18656e+04_rb,0.16383e+04_rb,0.14073e+04_rb,0.11791e+04_rb,0.94951e+03_rb, & & 0.74505e+03_rb,0.88029e+03_rb,0.10159e+04_rb,0.11530e+04_rb /) kao(:, 4, 1,11) = (/ & & 0.18261e+04_rb,0.16025e+04_rb,0.13782e+04_rb,0.11540e+04_rb,0.92917e+03_rb, & & 0.74299e+03_rb,0.87816e+03_rb,0.10141e+04_rb,0.11522e+04_rb /) kao(:, 5, 1,11) = (/ & & 0.17888e+04_rb,0.15710e+04_rb,0.13500e+04_rb,0.11298e+04_rb,0.91140e+03_rb, & & 0.74109e+03_rb,0.87588e+03_rb,0.10122e+04_rb,0.11510e+04_rb /) kao(:, 1, 2,11) = (/ & & 0.18117e+04_rb,0.15887e+04_rb,0.13651e+04_rb,0.11459e+04_rb,0.92177e+03_rb, & & 0.74731e+03_rb,0.88412e+03_rb,0.10203e+04_rb,0.11568e+04_rb /) kao(:, 2, 2,11) = (/ & & 0.17673e+04_rb,0.15512e+04_rb,0.13335e+04_rb,0.11174e+04_rb,0.90028e+03_rb, & & 0.74546e+03_rb,0.88203e+03_rb,0.10179e+04_rb,0.11551e+04_rb /) kao(:, 3, 2,11) = (/ & & 0.17317e+04_rb,0.15193e+04_rb,0.13050e+04_rb,0.10955e+04_rb,0.88112e+03_rb, & & 0.74378e+03_rb,0.87978e+03_rb,0.10161e+04_rb,0.11535e+04_rb /) kao(:, 4, 2,11) = (/ & & 0.16956e+04_rb,0.14873e+04_rb,0.12805e+04_rb,0.10729e+04_rb,0.86470e+03_rb, & & 0.74189e+03_rb,0.87768e+03_rb,0.10142e+04_rb,0.11524e+04_rb /) kao(:, 5, 2,11) = (/ & & 0.16657e+04_rb,0.14596e+04_rb,0.12568e+04_rb,0.10531e+04_rb,0.84904e+03_rb, & & 0.73979e+03_rb,0.87528e+03_rb,0.10122e+04_rb,0.11511e+04_rb /) kao(:, 1, 3,11) = (/ & & 0.16927e+04_rb,0.14859e+04_rb,0.12782e+04_rb,0.10724e+04_rb,0.86335e+03_rb, & & 0.74646e+03_rb,0.88392e+03_rb,0.10211e+04_rb,0.11579e+04_rb /) kao(:, 2, 3,11) = (/ & & 0.16581e+04_rb,0.14524e+04_rb,0.12540e+04_rb,0.10466e+04_rb,0.84448e+03_rb, & & 0.74471e+03_rb,0.88205e+03_rb,0.10189e+04_rb,0.11562e+04_rb /) kao(:, 3, 3,11) = (/ & & 0.16261e+04_rb,0.14229e+04_rb,0.12269e+04_rb,0.10264e+04_rb,0.82790e+03_rb, & & 0.74305e+03_rb,0.87988e+03_rb,0.10167e+04_rb,0.11544e+04_rb /) kao(:, 4, 3,11) = (/ & & 0.15929e+04_rb,0.13986e+04_rb,0.12038e+04_rb,0.10084e+04_rb,0.81266e+03_rb, & & 0.74160e+03_rb,0.87767e+03_rb,0.10148e+04_rb,0.11530e+04_rb /) kao(:, 5, 3,11) = (/ & & 0.15661e+04_rb,0.13746e+04_rb,0.11837e+04_rb,0.99103e+03_rb,0.79967e+03_rb, & & 0.73929e+03_rb,0.87586e+03_rb,0.10132e+04_rb,0.11521e+04_rb /) kao(:, 1, 4,11) = (/ & & 0.15973e+04_rb,0.14004e+04_rb,0.12065e+04_rb,0.10106e+04_rb,0.81385e+03_rb, & & 0.74599e+03_rb,0.88404e+03_rb,0.10218e+04_rb,0.11590e+04_rb /) kao(:, 2, 4,11) = (/ & & 0.15637e+04_rb,0.13722e+04_rb,0.11812e+04_rb,0.98900e+03_rb,0.79856e+03_rb, & & 0.74428e+03_rb,0.88217e+03_rb,0.10197e+04_rb,0.11572e+04_rb /) kao(:, 3, 4,11) = (/ & & 0.15340e+04_rb,0.13469e+04_rb,0.11576e+04_rb,0.97012e+03_rb,0.78412e+03_rb, & & 0.74257e+03_rb,0.88022e+03_rb,0.10176e+04_rb,0.11556e+04_rb /) kao(:, 4, 4,11) = (/ & & 0.15085e+04_rb,0.13226e+04_rb,0.11393e+04_rb,0.95486e+03_rb,0.76980e+03_rb, & & 0.74114e+03_rb,0.87815e+03_rb,0.10155e+04_rb,0.11538e+04_rb /) kao(:, 5, 4,11) = (/ & & 0.14836e+04_rb,0.13020e+04_rb,0.11212e+04_rb,0.93957e+03_rb,0.75824e+03_rb, & & 0.73939e+03_rb,0.87630e+03_rb,0.10138e+04_rb,0.11526e+04_rb /) kao(:, 1, 5,11) = (/ & & 0.15143e+04_rb,0.13286e+04_rb,0.11431e+04_rb,0.95847e+03_rb,0.77403e+03_rb, & & 0.74572e+03_rb,0.88418e+03_rb,0.10223e+04_rb,0.11603e+04_rb /) kao(:, 2, 5,11) = (/ & & 0.14842e+04_rb,0.13025e+04_rb,0.11230e+04_rb,0.94028e+03_rb,0.75881e+03_rb, & & 0.74405e+03_rb,0.88254e+03_rb,0.10205e+04_rb,0.11584e+04_rb /) kao(:, 3, 5,11) = (/ & & 0.14577e+04_rb,0.12799e+04_rb,0.11020e+04_rb,0.92340e+03_rb,0.74531e+03_rb, & & 0.74244e+03_rb,0.88060e+03_rb,0.10185e+04_rb,0.11566e+04_rb /) kao(:, 4, 5,11) = (/ & & 0.14365e+04_rb,0.12603e+04_rb,0.10859e+04_rb,0.90939e+03_rb,0.73467e+03_rb, & & 0.74090e+03_rb,0.87865e+03_rb,0.10164e+04_rb,0.11549e+04_rb /) kao(:, 5, 5,11) = (/ & & 0.14147e+04_rb,0.12422e+04_rb,0.10695e+04_rb,0.89657e+03_rb,0.72409e+03_rb, & & 0.73938e+03_rb,0.87659e+03_rb,0.10145e+04_rb,0.11530e+04_rb /) kao(:, 1, 6,11) = (/ & & 0.14426e+04_rb,0.12686e+04_rb,0.10911e+04_rb,0.91528e+03_rb,0.73914e+03_rb, & & 0.74563e+03_rb,0.88436e+03_rb,0.10228e+04_rb,0.11615e+04_rb /) kao(:, 2, 6,11) = (/ & & 0.14171e+04_rb,0.12457e+04_rb,0.10728e+04_rb,0.89861e+03_rb,0.72517e+03_rb, & & 0.74402e+03_rb,0.88280e+03_rb,0.10215e+04_rb,0.11596e+04_rb /) kao(:, 3, 6,11) = (/ & & 0.13943e+04_rb,0.12252e+04_rb,0.10539e+04_rb,0.88362e+03_rb,0.71333e+03_rb, & & 0.74243e+03_rb,0.88117e+03_rb,0.10194e+04_rb,0.11577e+04_rb /) kao(:, 4, 6,11) = (/ & & 0.13749e+04_rb,0.12056e+04_rb,0.10405e+04_rb,0.87188e+03_rb,0.70449e+03_rb, & & 0.74089e+03_rb,0.87923e+03_rb,0.10173e+04_rb,0.11560e+04_rb /) kao(:, 5, 6,11) = (/ & & 0.13580e+04_rb,0.11907e+04_rb,0.10258e+04_rb,0.85998e+03_rb,0.69473e+03_rb, & & 0.73937e+03_rb,0.87727e+03_rb,0.10154e+04_rb,0.11543e+04_rb /) kao(:, 1, 7,11) = (/ & & 0.13844e+04_rb,0.12166e+04_rb,0.10469e+04_rb,0.87815e+03_rb,0.70873e+03_rb, & & 0.74560e+03_rb,0.88449e+03_rb,0.10233e+04_rb,0.11626e+04_rb /) kao(:, 2, 7,11) = (/ & & 0.13610e+04_rb,0.11962e+04_rb,0.10291e+04_rb,0.86318e+03_rb,0.69730e+03_rb, & & 0.74409e+03_rb,0.88322e+03_rb,0.10221e+04_rb,0.11608e+04_rb /) kao(:, 3, 7,11) = (/ & & 0.13413e+04_rb,0.11786e+04_rb,0.10145e+04_rb,0.85031e+03_rb,0.68760e+03_rb, & & 0.74253e+03_rb,0.88154e+03_rb,0.10203e+04_rb,0.11589e+04_rb /) kao(:, 4, 7,11) = (/ & & 0.13235e+04_rb,0.11630e+04_rb,0.10007e+04_rb,0.84004e+03_rb,0.67864e+03_rb, & & 0.74101e+03_rb,0.87982e+03_rb,0.10185e+04_rb,0.11572e+04_rb /) kao(:, 5, 7,11) = (/ & & 0.13063e+04_rb,0.11482e+04_rb,0.98932e+03_rb,0.82998e+03_rb,0.67037e+03_rb, & & 0.73955e+03_rb,0.87796e+03_rb,0.10167e+04_rb,0.11554e+04_rb /) kao(:, 1, 8,11) = (/ & & 0.13361e+04_rb,0.11714e+04_rb,0.10092e+04_rb,0.84627e+03_rb,0.68340e+03_rb, & & 0.74540e+03_rb,0.88457e+03_rb,0.10236e+04_rb,0.11638e+04_rb /) kao(:, 2, 8,11) = (/ & & 0.13143e+04_rb,0.11537e+04_rb,0.99295e+03_rb,0.83355e+03_rb,0.67330e+03_rb, & & 0.74420e+03_rb,0.88339e+03_rb,0.10225e+04_rb,0.11619e+04_rb /) kao(:, 3, 8,11) = (/ & & 0.12952e+04_rb,0.11377e+04_rb,0.98075e+03_rb,0.82213e+03_rb,0.66496e+03_rb, & & 0.74271e+03_rb,0.88199e+03_rb,0.10211e+04_rb,0.11601e+04_rb /) kao(:, 4, 8,11) = (/ & & 0.12808e+04_rb,0.11242e+04_rb,0.96858e+03_rb,0.81350e+03_rb,0.65663e+03_rb, & & 0.74121e+03_rb,0.88037e+03_rb,0.10192e+04_rb,0.11582e+04_rb /) kao(:, 5, 8,11) = (/ & & 0.12664e+04_rb,0.11113e+04_rb,0.95757e+03_rb,0.80317e+03_rb,0.64978e+03_rb, & & 0.73975e+03_rb,0.87862e+03_rb,0.10173e+04_rb,0.11564e+04_rb /) kao(:, 1, 9,11) = (/ & & 0.12911e+04_rb,0.11331e+04_rb,0.97754e+03_rb,0.81972e+03_rb,0.66210e+03_rb, & & 0.74501e+03_rb,0.88462e+03_rb,0.10244e+04_rb,0.11652e+04_rb /) kao(:, 2, 9,11) = (/ & & 0.12743e+04_rb,0.11193e+04_rb,0.96288e+03_rb,0.80865e+03_rb,0.65325e+03_rb, & & 0.74437e+03_rb,0.88360e+03_rb,0.10230e+04_rb,0.11629e+04_rb /) kao(:, 3, 9,11) = (/ & & 0.12573e+04_rb,0.11051e+04_rb,0.95155e+03_rb,0.79729e+03_rb,0.64451e+03_rb, & & 0.74294e+03_rb,0.88237e+03_rb,0.10218e+04_rb,0.11610e+04_rb /) kao(:, 4, 9,11) = (/ & & 0.12441e+04_rb,0.10920e+04_rb,0.94089e+03_rb,0.78911e+03_rb,0.63797e+03_rb, & & 0.74148e+03_rb,0.88091e+03_rb,0.10202e+04_rb,0.11593e+04_rb /) kao(:, 5, 9,11) = (/ & & 0.12297e+04_rb,0.10813e+04_rb,0.93127e+03_rb,0.78127e+03_rb,0.63265e+03_rb, & & 0.74003e+03_rb,0.87926e+03_rb,0.10184e+04_rb,0.11573e+04_rb /) kao(:, 1,10,11) = (/ & & 0.12530e+04_rb,0.11001e+04_rb,0.94821e+03_rb,0.79486e+03_rb,0.64277e+03_rb, & & 0.74454e+03_rb,0.88447e+03_rb,0.10249e+04_rb,0.11664e+04_rb /) kao(:, 2,10,11) = (/ & & 0.12387e+04_rb,0.10865e+04_rb,0.93685e+03_rb,0.78643e+03_rb,0.63425e+03_rb, & & 0.74423e+03_rb,0.88371e+03_rb,0.10234e+04_rb,0.11637e+04_rb /) kao(:, 3,10,11) = (/ & & 0.12243e+04_rb,0.10744e+04_rb,0.92585e+03_rb,0.77676e+03_rb,0.62740e+03_rb, & & 0.74307e+03_rb,0.88260e+03_rb,0.10221e+04_rb,0.11620e+04_rb /) kao(:, 4,10,11) = (/ & & 0.12107e+04_rb,0.10640e+04_rb,0.91623e+03_rb,0.76957e+03_rb,0.62235e+03_rb, & & 0.74168e+03_rb,0.88129e+03_rb,0.10208e+04_rb,0.11602e+04_rb /) kao(:, 5,10,11) = (/ & & 0.12010e+04_rb,0.10536e+04_rb,0.90891e+03_rb,0.76248e+03_rb,0.61761e+03_rb, & & 0.74025e+03_rb,0.87965e+03_rb,0.10191e+04_rb,0.11583e+04_rb /) kao(:, 1,11,11) = (/ & & 0.12140e+04_rb,0.10672e+04_rb,0.91852e+03_rb,0.77048e+03_rb,0.62320e+03_rb, & & 0.74401e+03_rb,0.88413e+03_rb,0.10249e+04_rb,0.11664e+04_rb /) kao(:, 2,11,11) = (/ & & 0.12007e+04_rb,0.10549e+04_rb,0.90904e+03_rb,0.76333e+03_rb,0.61635e+03_rb, & & 0.74367e+03_rb,0.88337e+03_rb,0.10233e+04_rb,0.11639e+04_rb /) kao(:, 3,11,11) = (/ & & 0.11891e+04_rb,0.10458e+04_rb,0.90055e+03_rb,0.75543e+03_rb,0.61123e+03_rb, & & 0.74262e+03_rb,0.88229e+03_rb,0.10219e+04_rb,0.11620e+04_rb /) kao(:, 4,11,11) = (/ & & 0.11794e+04_rb,0.10371e+04_rb,0.89190e+03_rb,0.74912e+03_rb,0.60572e+03_rb, & & 0.74128e+03_rb,0.88110e+03_rb,0.10207e+04_rb,0.11602e+04_rb /) kao(:, 5,11,11) = (/ & & 0.11697e+04_rb,0.10285e+04_rb,0.88631e+03_rb,0.74374e+03_rb,0.60062e+03_rb, & & 0.73987e+03_rb,0.87958e+03_rb,0.10191e+04_rb,0.11583e+04_rb /) kao(:, 1,12,11) = (/ & & 0.11829e+04_rb,0.10373e+04_rb,0.89433e+03_rb,0.75107e+03_rb,0.60775e+03_rb, & & 0.74357e+03_rb,0.88385e+03_rb,0.10247e+04_rb,0.11664e+04_rb /) kao(:, 2,12,11) = (/ & & 0.11707e+04_rb,0.10276e+04_rb,0.88712e+03_rb,0.74426e+03_rb,0.60163e+03_rb, & & 0.74327e+03_rb,0.88309e+03_rb,0.10231e+04_rb,0.11639e+04_rb /) kao(:, 3,12,11) = (/ & & 0.11629e+04_rb,0.10211e+04_rb,0.88018e+03_rb,0.73831e+03_rb,0.60184e+03_rb, & & 0.74224e+03_rb,0.88203e+03_rb,0.10219e+04_rb,0.11620e+04_rb /) kao(:, 4,12,11) = (/ & & 0.11538e+04_rb,0.10126e+04_rb,0.87253e+03_rb,0.73377e+03_rb,0.60080e+03_rb, & & 0.74101e+03_rb,0.88067e+03_rb,0.10205e+04_rb,0.11602e+04_rb /) kao(:, 5,12,11) = (/ & & 0.11449e+04_rb,0.10062e+04_rb,0.86764e+03_rb,0.72842e+03_rb,0.59975e+03_rb, & & 0.73955e+03_rb,0.87926e+03_rb,0.10190e+04_rb,0.11583e+04_rb /) kao(:, 1,13,11) = (/ & & 0.11561e+04_rb,0.10152e+04_rb,0.87509e+03_rb,0.73383e+03_rb,0.60253e+03_rb, & & 0.74321e+03_rb,0.88362e+03_rb,0.10246e+04_rb,0.11664e+04_rb /) kao(:, 2,13,11) = (/ & & 0.11468e+04_rb,0.10069e+04_rb,0.86783e+03_rb,0.72921e+03_rb,0.60211e+03_rb, & & 0.74294e+03_rb,0.88286e+03_rb,0.10230e+04_rb,0.11639e+04_rb /) kao(:, 3,13,11) = (/ & & 0.11390e+04_rb,0.10001e+04_rb,0.86301e+03_rb,0.72323e+03_rb,0.60140e+03_rb, & & 0.74194e+03_rb,0.88181e+03_rb,0.10218e+04_rb,0.11621e+04_rb /) kao(:, 4,13,11) = (/ & & 0.11313e+04_rb,0.99361e+03_rb,0.85706e+03_rb,0.72032e+03_rb,0.60042e+03_rb, & & 0.74065e+03_rb,0.88048e+03_rb,0.10204e+04_rb,0.11602e+04_rb /) kao(:, 5,13,11) = (/ & & 0.11266e+04_rb,0.99042e+03_rb,0.85257e+03_rb,0.71548e+03_rb,0.59931e+03_rb, & & 0.73930e+03_rb,0.87908e+03_rb,0.10187e+04_rb,0.11583e+04_rb /) kao(:, 1, 1,12) = (/ & & 0.19596e+04_rb,0.17200e+04_rb,0.14802e+04_rb,0.12370e+04_rb,0.99641e+03_rb, & & 0.75556e+03_rb,0.88658e+03_rb,0.10236e+04_rb,0.11622e+04_rb /) kao(:, 2, 1,12) = (/ & & 0.19107e+04_rb,0.16797e+04_rb,0.14463e+04_rb,0.12083e+04_rb,0.97440e+03_rb, & & 0.74935e+03_rb,0.88455e+03_rb,0.10223e+04_rb,0.11611e+04_rb /) kao(:, 3, 1,12) = (/ & & 0.18687e+04_rb,0.16368e+04_rb,0.14091e+04_rb,0.11809e+04_rb,0.95100e+03_rb, & & 0.74626e+03_rb,0.88278e+03_rb,0.10214e+04_rb,0.11600e+04_rb /) kao(:, 4, 1,12) = (/ & & 0.18274e+04_rb,0.15998e+04_rb,0.13805e+04_rb,0.11544e+04_rb,0.92955e+03_rb, & & 0.74432e+03_rb,0.88029e+03_rb,0.10193e+04_rb,0.11572e+04_rb /) kao(:, 5, 1,12) = (/ & & 0.17908e+04_rb,0.15685e+04_rb,0.13492e+04_rb,0.11303e+04_rb,0.91228e+03_rb, & & 0.74183e+03_rb,0.87814e+03_rb,0.10165e+04_rb,0.11551e+04_rb /) kao(:, 1, 2,12) = (/ & & 0.18091e+04_rb,0.15890e+04_rb,0.13701e+04_rb,0.11447e+04_rb,0.92240e+03_rb, & & 0.75031e+03_rb,0.88580e+03_rb,0.10236e+04_rb,0.11628e+04_rb /) kao(:, 2, 2,12) = (/ & & 0.17702e+04_rb,0.15507e+04_rb,0.13346e+04_rb,0.11179e+04_rb,0.90072e+03_rb, & & 0.74790e+03_rb,0.88384e+03_rb,0.10222e+04_rb,0.11616e+04_rb /) kao(:, 3, 2,12) = (/ & & 0.17282e+04_rb,0.15159e+04_rb,0.13066e+04_rb,0.10967e+04_rb,0.88274e+03_rb, & & 0.74530e+03_rb,0.88241e+03_rb,0.10213e+04_rb,0.11606e+04_rb /) kao(:, 4, 2,12) = (/ & & 0.16964e+04_rb,0.14887e+04_rb,0.12816e+04_rb,0.10711e+04_rb,0.86387e+03_rb, & & 0.74308e+03_rb,0.88064e+03_rb,0.10199e+04_rb,0.11593e+04_rb /) kao(:, 5, 2,12) = (/ & & 0.16664e+04_rb,0.14634e+04_rb,0.12570e+04_rb,0.10541e+04_rb,0.84878e+03_rb, & & 0.74105e+03_rb,0.87802e+03_rb,0.10170e+04_rb,0.11559e+04_rb /) kao(:, 1, 3,12) = (/ & & 0.16969e+04_rb,0.14893e+04_rb,0.12806e+04_rb,0.10686e+04_rb,0.86200e+03_rb, & & 0.74953e+03_rb,0.88586e+03_rb,0.10239e+04_rb,0.11637e+04_rb /) kao(:, 2, 3,12) = (/ & & 0.16530e+04_rb,0.14535e+04_rb,0.12505e+04_rb,0.10502e+04_rb,0.84485e+03_rb, & & 0.74734e+03_rb,0.88380e+03_rb,0.10224e+04_rb,0.11623e+04_rb /) kao(:, 3, 3,12) = (/ & & 0.16258e+04_rb,0.14316e+04_rb,0.12308e+04_rb,0.10274e+04_rb,0.82737e+03_rb, & & 0.74498e+03_rb,0.88220e+03_rb,0.10214e+04_rb,0.11612e+04_rb /) kao(:, 4, 3,12) = (/ & & 0.15947e+04_rb,0.13987e+04_rb,0.12036e+04_rb,0.10100e+04_rb,0.81398e+03_rb, & & 0.74250e+03_rb,0.88073e+03_rb,0.10203e+04_rb,0.11601e+04_rb /) kao(:, 5, 3,12) = (/ & & 0.15659e+04_rb,0.13745e+04_rb,0.11827e+04_rb,0.99357e+03_rb,0.79945e+03_rb, & & 0.74072e+03_rb,0.87844e+03_rb,0.10192e+04_rb,0.11574e+04_rb /) kao(:, 1, 4,12) = (/ & & 0.15993e+04_rb,0.14029e+04_rb,0.12034e+04_rb,0.10105e+04_rb,0.81494e+03_rb, & & 0.74898e+03_rb,0.88604e+03_rb,0.10246e+04_rb,0.11648e+04_rb /) kao(:, 2, 4,12) = (/ & & 0.15603e+04_rb,0.13717e+04_rb,0.11803e+04_rb,0.99158e+03_rb,0.79797e+03_rb, & & 0.74702e+03_rb,0.88413e+03_rb,0.10230e+04_rb,0.11631e+04_rb /) kao(:, 3, 4,12) = (/ & & 0.15363e+04_rb,0.13460e+04_rb,0.11581e+04_rb,0.97158e+03_rb,0.78286e+03_rb, & & 0.74488e+03_rb,0.88249e+03_rb,0.10215e+04_rb,0.11618e+04_rb /) kao(:, 4, 4,12) = (/ & & 0.15069e+04_rb,0.13248e+04_rb,0.11397e+04_rb,0.95515e+03_rb,0.77185e+03_rb, & & 0.74259e+03_rb,0.88086e+03_rb,0.10207e+04_rb,0.11608e+04_rb /) kao(:, 5, 4,12) = (/ & & 0.14842e+04_rb,0.13030e+04_rb,0.11201e+04_rb,0.94205e+03_rb,0.75928e+03_rb, & & 0.74072e+03_rb,0.87912e+03_rb,0.10193e+04_rb,0.11593e+04_rb /) kao(:, 1, 5,12) = (/ & & 0.15161e+04_rb,0.13293e+04_rb,0.11434e+04_rb,0.96071e+03_rb,0.77366e+03_rb, & & 0.74856e+03_rb,0.88634e+03_rb,0.10256e+04_rb,0.11660e+04_rb /) kao(:, 2, 5,12) = (/ & & 0.14862e+04_rb,0.13039e+04_rb,0.11202e+04_rb,0.93927e+03_rb,0.75808e+03_rb, & & 0.74678e+03_rb,0.88432e+03_rb,0.10237e+04_rb,0.11641e+04_rb /) kao(:, 3, 5,12) = (/ & & 0.14569e+04_rb,0.12812e+04_rb,0.11040e+04_rb,0.92477e+03_rb,0.74608e+03_rb, & & 0.74483e+03_rb,0.88267e+03_rb,0.10221e+04_rb,0.11626e+04_rb /) kao(:, 4, 5,12) = (/ & & 0.14370e+04_rb,0.12601e+04_rb,0.10866e+04_rb,0.91322e+03_rb,0.73546e+03_rb, & & 0.74282e+03_rb,0.88106e+03_rb,0.10210e+04_rb,0.11614e+04_rb /) kao(:, 5, 5,12) = (/ & & 0.14157e+04_rb,0.12432e+04_rb,0.10692e+04_rb,0.89766e+03_rb,0.72371e+03_rb, & & 0.74075e+03_rb,0.87977e+03_rb,0.10201e+04_rb,0.11604e+04_rb /) kao(:, 1, 6,12) = (/ & & 0.14446e+04_rb,0.12668e+04_rb,0.10902e+04_rb,0.91458e+03_rb,0.73853e+03_rb, & & 0.74800e+03_rb,0.88683e+03_rb,0.10267e+04_rb,0.11674e+04_rb /) kao(:, 2, 6,12) = (/ & & 0.14180e+04_rb,0.12442e+04_rb,0.10729e+04_rb,0.90054e+03_rb,0.72712e+03_rb, & & 0.74664e+03_rb,0.88490e+03_rb,0.10243e+04_rb,0.11653e+04_rb /) kao(:, 3, 6,12) = (/ & & 0.13970e+04_rb,0.12338e+04_rb,0.10562e+04_rb,0.88644e+03_rb,0.71466e+03_rb, & & 0.74490e+03_rb,0.88299e+03_rb,0.10228e+04_rb,0.11635e+04_rb /) kao(:, 4, 6,12) = (/ & & 0.13772e+04_rb,0.12092e+04_rb,0.10403e+04_rb,0.87191e+03_rb,0.70566e+03_rb, & & 0.74297e+03_rb,0.88145e+03_rb,0.10214e+04_rb,0.11622e+04_rb /) kao(:, 5, 6,12) = (/ & & 0.13536e+04_rb,0.11933e+04_rb,0.10279e+04_rb,0.85985e+03_rb,0.69532e+03_rb, & & 0.74091e+03_rb,0.88002e+03_rb,0.10207e+04_rb,0.11611e+04_rb /) kao(:, 1, 7,12) = (/ & & 0.13872e+04_rb,0.12173e+04_rb,0.10473e+04_rb,0.87779e+03_rb,0.70929e+03_rb, & & 0.74753e+03_rb,0.88739e+03_rb,0.10279e+04_rb,0.11686e+04_rb /) kao(:, 2, 7,12) = (/ & & 0.13614e+04_rb,0.11960e+04_rb,0.10302e+04_rb,0.86342e+03_rb,0.69779e+03_rb, & & 0.74649e+03_rb,0.88535e+03_rb,0.10254e+04_rb,0.11666e+04_rb /) kao(:, 3, 7,12) = (/ & & 0.13423e+04_rb,0.11779e+04_rb,0.10152e+04_rb,0.85120e+03_rb,0.68669e+03_rb, & & 0.74500e+03_rb,0.88364e+03_rb,0.10236e+04_rb,0.11646e+04_rb /) kao(:, 4, 7,12) = (/ & & 0.13222e+04_rb,0.11614e+04_rb,0.10027e+04_rb,0.84138e+03_rb,0.67980e+03_rb, & & 0.74324e+03_rb,0.88194e+03_rb,0.10219e+04_rb,0.11628e+04_rb /) kao(:, 5, 7,12) = (/ & & 0.13077e+04_rb,0.11487e+04_rb,0.98870e+03_rb,0.82923e+03_rb,0.67117e+03_rb, & & 0.74131e+03_rb,0.88052e+03_rb,0.10200e+04_rb,0.11617e+04_rb /) kao(:, 1, 8,12) = (/ & & 0.13318e+04_rb,0.11751e+04_rb,0.10116e+04_rb,0.84760e+03_rb,0.68552e+03_rb, & & 0.74755e+03_rb,0.88764e+03_rb,0.10284e+04_rb,0.11697e+04_rb /) kao(:, 2, 8,12) = (/ & & 0.13123e+04_rb,0.11533e+04_rb,0.99316e+03_rb,0.83364e+03_rb,0.67452e+03_rb, & & 0.74634e+03_rb,0.88623e+03_rb,0.10267e+04_rb,0.11679e+04_rb /) kao(:, 3, 8,12) = (/ & & 0.12963e+04_rb,0.11395e+04_rb,0.98036e+03_rb,0.82206e+03_rb,0.66378e+03_rb, & & 0.74528e+03_rb,0.88422e+03_rb,0.10245e+04_rb,0.11657e+04_rb /) kao(:, 4, 8,12) = (/ & & 0.12799e+04_rb,0.11235e+04_rb,0.96838e+03_rb,0.81175e+03_rb,0.65688e+03_rb, & & 0.74350e+03_rb,0.88249e+03_rb,0.10227e+04_rb,0.11639e+04_rb /) kao(:, 5, 8,12) = (/ & & 0.12649e+04_rb,0.11128e+04_rb,0.95762e+03_rb,0.80323e+03_rb,0.64917e+03_rb, & & 0.74172e+03_rb,0.88089e+03_rb,0.10213e+04_rb,0.11624e+04_rb /) kao(:, 1, 9,12) = (/ & & 0.12892e+04_rb,0.11353e+04_rb,0.97529e+03_rb,0.81997e+03_rb,0.66439e+03_rb, & & 0.74689e+03_rb,0.88774e+03_rb,0.10288e+04_rb,0.11703e+04_rb /) kao(:, 2, 9,12) = (/ & & 0.12710e+04_rb,0.11179e+04_rb,0.96230e+03_rb,0.80757e+03_rb,0.65174e+03_rb, & & 0.74606e+03_rb,0.88671e+03_rb,0.10277e+04_rb,0.11691e+04_rb /) kao(:, 3, 9,12) = (/ & & 0.12556e+04_rb,0.11026e+04_rb,0.95506e+03_rb,0.79904e+03_rb,0.64512e+03_rb, & & 0.74525e+03_rb,0.88489e+03_rb,0.10254e+04_rb,0.11669e+04_rb /) kao(:, 4, 9,12) = (/ & & 0.12434e+04_rb,0.10930e+04_rb,0.94625e+03_rb,0.79326e+03_rb,0.63956e+03_rb, & & 0.74375e+03_rb,0.88308e+03_rb,0.10236e+04_rb,0.11649e+04_rb /) kao(:, 5, 9,12) = (/ & & 0.12362e+04_rb,0.10807e+04_rb,0.93519e+03_rb,0.78318e+03_rb,0.63176e+03_rb, & & 0.74222e+03_rb,0.88144e+03_rb,0.10218e+04_rb,0.11632e+04_rb /) kao(:, 1,10,12) = (/ & & 0.12560e+04_rb,0.11008e+04_rb,0.94819e+03_rb,0.79713e+03_rb,0.64289e+03_rb, & & 0.74662e+03_rb,0.88790e+03_rb,0.10293e+04_rb,0.11710e+04_rb /) kao(:, 2,10,12) = (/ & & 0.12370e+04_rb,0.10868e+04_rb,0.93614e+03_rb,0.78750e+03_rb,0.63591e+03_rb, & & 0.74589e+03_rb,0.88689e+03_rb,0.10281e+04_rb,0.11697e+04_rb /) kao(:, 3,10,12) = (/ & & 0.12228e+04_rb,0.10745e+04_rb,0.92565e+03_rb,0.77586e+03_rb,0.63013e+03_rb, & & 0.74525e+03_rb,0.88546e+03_rb,0.10265e+04_rb,0.11680e+04_rb /) kao(:, 4,10,12) = (/ & & 0.12130e+04_rb,0.10629e+04_rb,0.91805e+03_rb,0.77218e+03_rb,0.62214e+03_rb, & & 0.74398e+03_rb,0.88360e+03_rb,0.10243e+04_rb,0.11659e+04_rb /) kao(:, 5,10,12) = (/ & & 0.11990e+04_rb,0.10561e+04_rb,0.90990e+03_rb,0.76234e+03_rb,0.61782e+03_rb, & & 0.74238e+03_rb,0.88192e+03_rb,0.10225e+04_rb,0.11640e+04_rb /) kao(:, 1,11,12) = (/ & & 0.12160e+04_rb,0.10660e+04_rb,0.91756e+03_rb,0.77092e+03_rb,0.62410e+03_rb, & & 0.74614e+03_rb,0.88758e+03_rb,0.10288e+04_rb,0.11712e+04_rb /) kao(:, 2,11,12) = (/ & & 0.12001e+04_rb,0.10573e+04_rb,0.90897e+03_rb,0.76187e+03_rb,0.61778e+03_rb, & & 0.74563e+03_rb,0.88659e+03_rb,0.10280e+04_rb,0.11697e+04_rb /) kao(:, 3,11,12) = (/ & & 0.11883e+04_rb,0.10436e+04_rb,0.89901e+03_rb,0.75711e+03_rb,0.61087e+03_rb, & & 0.74468e+03_rb,0.88519e+03_rb,0.10264e+04_rb,0.11680e+04_rb /) kao(:, 4,11,12) = (/ & & 0.11791e+04_rb,0.10338e+04_rb,0.89462e+03_rb,0.74974e+03_rb,0.60740e+03_rb, & & 0.74372e+03_rb,0.88322e+03_rb,0.10242e+04_rb,0.11659e+04_rb /) kao(:, 5,11,12) = (/ & & 0.11736e+04_rb,0.10284e+04_rb,0.88610e+03_rb,0.74386e+03_rb,0.60256e+03_rb, & & 0.74204e+03_rb,0.88156e+03_rb,0.10223e+04_rb,0.11640e+04_rb /) kao(:, 1,12,12) = (/ & & 0.11783e+04_rb,0.10408e+04_rb,0.89462e+03_rb,0.75034e+03_rb,0.60838e+03_rb, & & 0.74575e+03_rb,0.88732e+03_rb,0.10288e+04_rb,0.11710e+04_rb /) kao(:, 2,12,12) = (/ & & 0.11693e+04_rb,0.10333e+04_rb,0.88486e+03_rb,0.74467e+03_rb,0.60420e+03_rb, & & 0.74514e+03_rb,0.88635e+03_rb,0.10279e+04_rb,0.11697e+04_rb /) kao(:, 3,12,12) = (/ & & 0.11597e+04_rb,0.10197e+04_rb,0.87845e+03_rb,0.73901e+03_rb,0.60371e+03_rb, & & 0.74440e+03_rb,0.88495e+03_rb,0.10263e+04_rb,0.11680e+04_rb /) kao(:, 4,12,12) = (/ & & 0.11554e+04_rb,0.10154e+04_rb,0.87390e+03_rb,0.73209e+03_rb,0.60310e+03_rb, & & 0.74343e+03_rb,0.88312e+03_rb,0.10241e+04_rb,0.11659e+04_rb /) kao(:, 5,12,12) = (/ & & 0.11463e+04_rb,0.10081e+04_rb,0.86768e+03_rb,0.73113e+03_rb,0.60226e+03_rb, & & 0.74178e+03_rb,0.88148e+03_rb,0.10222e+04_rb,0.11640e+04_rb /) kao(:, 1,13,12) = (/ & & 0.11576e+04_rb,0.10172e+04_rb,0.87697e+03_rb,0.73496e+03_rb,0.60442e+03_rb, & & 0.74542e+03_rb,0.88710e+03_rb,0.10287e+04_rb,0.11710e+04_rb /) kao(:, 2,13,12) = (/ & & 0.11489e+04_rb,0.10121e+04_rb,0.86787e+03_rb,0.73038e+03_rb,0.60369e+03_rb, & & 0.74483e+03_rb,0.88615e+03_rb,0.10278e+04_rb,0.11697e+04_rb /) kao(:, 3,13,12) = (/ & & 0.11408e+04_rb,0.10003e+04_rb,0.86069e+03_rb,0.72468e+03_rb,0.60332e+03_rb, & & 0.74398e+03_rb,0.88477e+03_rb,0.10262e+04_rb,0.11679e+04_rb /) kao(:, 4,13,12) = (/ & & 0.11353e+04_rb,0.99812e+03_rb,0.85805e+03_rb,0.72010e+03_rb,0.60276e+03_rb, & & 0.74301e+03_rb,0.88294e+03_rb,0.10240e+04_rb,0.11659e+04_rb /) kao(:, 5,13,12) = (/ & & 0.11276e+04_rb,0.99093e+03_rb,0.85424e+03_rb,0.71851e+03_rb,0.60186e+03_rb, & & 0.74137e+03_rb,0.88131e+03_rb,0.10223e+04_rb,0.11640e+04_rb /) kao(:, 1, 1,13) = (/ & & 0.19698e+04_rb,0.17183e+04_rb,0.14812e+04_rb,0.12476e+04_rb,0.10057e+04_rb, & & 0.76142e+03_rb,0.89076e+03_rb,0.10305e+04_rb,0.11701e+04_rb /) kao(:, 2, 1,13) = (/ & & 0.19138e+04_rb,0.16790e+04_rb,0.14471e+04_rb,0.12079e+04_rb,0.97024e+03_rb, & & 0.74958e+03_rb,0.88854e+03_rb,0.10281e+04_rb,0.11676e+04_rb /) kao(:, 3, 1,13) = (/ & & 0.18656e+04_rb,0.16362e+04_rb,0.14072e+04_rb,0.11764e+04_rb,0.95368e+03_rb, & & 0.74756e+03_rb,0.88578e+03_rb,0.10247e+04_rb,0.11642e+04_rb /) kao(:, 4, 1,13) = (/ & & 0.18274e+04_rb,0.16076e+04_rb,0.13744e+04_rb,0.11522e+04_rb,0.93101e+03_rb, & & 0.74489e+03_rb,0.88368e+03_rb,0.10224e+04_rb,0.11624e+04_rb /) kao(:, 5, 1,13) = (/ & & 0.18123e+04_rb,0.15711e+04_rb,0.13539e+04_rb,0.11391e+04_rb,0.91271e+03_rb, & & 0.74309e+03_rb,0.88194e+03_rb,0.10210e+04_rb,0.11601e+04_rb /) kao(:, 1, 2,13) = (/ & & 0.18136e+04_rb,0.16074e+04_rb,0.13682e+04_rb,0.11455e+04_rb,0.92152e+03_rb, & & 0.75090e+03_rb,0.89044e+03_rb,0.10309e+04_rb,0.11711e+04_rb /) kao(:, 2, 2,13) = (/ & & 0.17663e+04_rb,0.15639e+04_rb,0.13412e+04_rb,0.11338e+04_rb,0.90565e+03_rb, & & 0.74892e+03_rb,0.88842e+03_rb,0.10286e+04_rb,0.11690e+04_rb /) kao(:, 3, 2,13) = (/ & & 0.17473e+04_rb,0.15168e+04_rb,0.13179e+04_rb,0.10933e+04_rb,0.88564e+03_rb, & & 0.74657e+03_rb,0.88587e+03_rb,0.10277e+04_rb,0.11659e+04_rb /) kao(:, 4, 2,13) = (/ & & 0.16935e+04_rb,0.14940e+04_rb,0.12866e+04_rb,0.10771e+04_rb,0.86513e+03_rb, & & 0.74388e+03_rb,0.88292e+03_rb,0.10226e+04_rb,0.11621e+04_rb /) kao(:, 5, 2,13) = (/ & & 0.16796e+04_rb,0.14587e+04_rb,0.12610e+04_rb,0.10625e+04_rb,0.85051e+03_rb, & & 0.74222e+03_rb,0.88187e+03_rb,0.10215e+04_rb,0.11614e+04_rb /) kao(:, 1, 3,13) = (/ & & 0.16915e+04_rb,0.14853e+04_rb,0.12759e+04_rb,0.10742e+04_rb,0.87078e+03_rb, & & 0.75040e+03_rb,0.89056e+03_rb,0.10314e+04_rb,0.11723e+04_rb /) kao(:, 2, 3,13) = (/ & & 0.16685e+04_rb,0.14695e+04_rb,0.12569e+04_rb,0.10522e+04_rb,0.84369e+03_rb, & & 0.74849e+03_rb,0.88875e+03_rb,0.10295e+04_rb,0.11702e+04_rb /) kao(:, 3, 3,13) = (/ & & 0.16315e+04_rb,0.14234e+04_rb,0.12207e+04_rb,0.10278e+04_rb,0.83542e+03_rb, & & 0.74665e+03_rb,0.88665e+03_rb,0.10272e+04_rb,0.11677e+04_rb /) kao(:, 4, 3,13) = (/ & & 0.15936e+04_rb,0.13973e+04_rb,0.11983e+04_rb,0.10068e+04_rb,0.81253e+03_rb, & & 0.74392e+03_rb,0.88383e+03_rb,0.10241e+04_rb,0.11643e+04_rb /) kao(:, 5, 3,13) = (/ & & 0.15704e+04_rb,0.13749e+04_rb,0.11794e+04_rb,0.99081e+03_rb,0.79887e+03_rb, & & 0.74214e+03_rb,0.88216e+03_rb,0.10204e+04_rb,0.11625e+04_rb /) kao(:, 1, 4,13) = (/ & & 0.16005e+04_rb,0.14146e+04_rb,0.12141e+04_rb,0.10096e+04_rb,0.81830e+03_rb, & & 0.74981e+03_rb,0.89073e+03_rb,0.10323e+04_rb,0.11736e+04_rb /) kao(:, 2, 4,13) = (/ & & 0.15697e+04_rb,0.13709e+04_rb,0.11792e+04_rb,0.98706e+03_rb,0.80274e+03_rb, & & 0.74843e+03_rb,0.88917e+03_rb,0.10304e+04_rb,0.11716e+04_rb /) kao(:, 3, 4,13) = (/ & & 0.15342e+04_rb,0.13528e+04_rb,0.11633e+04_rb,0.97494e+03_rb,0.78298e+03_rb, & & 0.74655e+03_rb,0.88714e+03_rb,0.10283e+04_rb,0.11694e+04_rb /) kao(:, 4, 4,13) = (/ & & 0.15079e+04_rb,0.13273e+04_rb,0.11368e+04_rb,0.95326e+03_rb,0.76898e+03_rb, & & 0.74477e+03_rb,0.88522e+03_rb,0.10258e+04_rb,0.11666e+04_rb /) kao(:, 5, 4,13) = (/ & & 0.14904e+04_rb,0.13050e+04_rb,0.11274e+04_rb,0.94133e+03_rb,0.75918e+03_rb, & & 0.74185e+03_rb,0.88236e+03_rb,0.10229e+04_rb,0.11634e+04_rb /) kao(:, 1, 5,13) = (/ & & 0.15223e+04_rb,0.13292e+04_rb,0.11458e+04_rb,0.96632e+03_rb,0.77253e+03_rb, & & 0.74931e+03_rb,0.89080e+03_rb,0.10327e+04_rb,0.11744e+04_rb /) kao(:, 2, 5,13) = (/ & & 0.14887e+04_rb,0.13100e+04_rb,0.11308e+04_rb,0.95564e+03_rb,0.76318e+03_rb, & & 0.74814e+03_rb,0.88953e+03_rb,0.10311e+04_rb,0.11728e+04_rb /) kao(:, 3, 5,13) = (/ & & 0.14666e+04_rb,0.12805e+04_rb,0.10990e+04_rb,0.92585e+03_rb,0.74527e+03_rb, & & 0.74662e+03_rb,0.88788e+03_rb,0.10293e+04_rb,0.11708e+04_rb /) kao(:, 4, 5,13) = (/ & & 0.14380e+04_rb,0.12615e+04_rb,0.10805e+04_rb,0.91192e+03_rb,0.73306e+03_rb, & & 0.74471e+03_rb,0.88594e+03_rb,0.10272e+04_rb,0.11684e+04_rb /) kao(:, 5, 5,13) = (/ & & 0.14117e+04_rb,0.12389e+04_rb,0.10707e+04_rb,0.89863e+03_rb,0.72872e+03_rb, & & 0.74254e+03_rb,0.88356e+03_rb,0.10243e+04_rb,0.11652e+04_rb /) kao(:, 1, 6,13) = (/ & & 0.14428e+04_rb,0.12661e+04_rb,0.10990e+04_rb,0.91605e+03_rb,0.74645e+03_rb, & & 0.74914e+03_rb,0.89068e+03_rb,0.10327e+04_rb,0.11747e+04_rb /) kao(:, 2, 6,13) = (/ & & 0.14277e+04_rb,0.12454e+04_rb,0.10670e+04_rb,0.90364e+03_rb,0.72758e+03_rb, & & 0.74802e+03_rb,0.88983e+03_rb,0.10318e+04_rb,0.11738e+04_rb /) kao(:, 3, 6,13) = (/ & & 0.14072e+04_rb,0.12244e+04_rb,0.10539e+04_rb,0.88576e+03_rb,0.71342e+03_rb, & & 0.74674e+03_rb,0.88844e+03_rb,0.10303e+04_rb,0.11723e+04_rb /) kao(:, 4, 6,13) = (/ & & 0.13764e+04_rb,0.12101e+04_rb,0.10371e+04_rb,0.87173e+03_rb,0.70565e+03_rb, & & 0.74519e+03_rb,0.88672e+03_rb,0.10284e+04_rb,0.11700e+04_rb /) kao(:, 5, 6,13) = (/ & & 0.13559e+04_rb,0.11928e+04_rb,0.10275e+04_rb,0.87202e+03_rb,0.69916e+03_rb, & & 0.74337e+03_rb,0.88468e+03_rb,0.10257e+04_rb,0.11677e+04_rb /) kao(:, 1, 7,13) = (/ & & 0.13816e+04_rb,0.12181e+04_rb,0.10498e+04_rb,0.87727e+03_rb,0.70862e+03_rb, & & 0.74879e+03_rb,0.89032e+03_rb,0.10324e+04_rb,0.11748e+04_rb /) kao(:, 2, 7,13) = (/ & & 0.13746e+04_rb,0.12007e+04_rb,0.10368e+04_rb,0.86700e+03_rb,0.69742e+03_rb, & & 0.74791e+03_rb,0.88998e+03_rb,0.10322e+04_rb,0.11745e+04_rb /) kao(:, 3, 7,13) = (/ & & 0.13471e+04_rb,0.11822e+04_rb,0.10118e+04_rb,0.85187e+03_rb,0.69076e+03_rb, & & 0.74684e+03_rb,0.88891e+03_rb,0.10311e+04_rb,0.11732e+04_rb /) kao(:, 4, 7,13) = (/ & & 0.13306e+04_rb,0.11625e+04_rb,0.10055e+04_rb,0.83687e+03_rb,0.67946e+03_rb, & & 0.74564e+03_rb,0.88741e+03_rb,0.10294e+04_rb,0.11714e+04_rb /) kao(:, 5, 7,13) = (/ & & 0.13072e+04_rb,0.11462e+04_rb,0.98997e+03_rb,0.82975e+03_rb,0.67148e+03_rb, & & 0.74390e+03_rb,0.88544e+03_rb,0.10275e+04_rb,0.11691e+04_rb /) kao(:, 1, 8,13) = (/ & & 0.13342e+04_rb,0.11738e+04_rb,0.10072e+04_rb,0.84777e+03_rb,0.68336e+03_rb, & & 0.74810e+03_rb,0.89032e+03_rb,0.10328e+04_rb,0.11753e+04_rb /) kao(:, 2, 8,13) = (/ & & 0.13170e+04_rb,0.11565e+04_rb,0.99551e+03_rb,0.83812e+03_rb,0.67873e+03_rb, & & 0.74767e+03_rb,0.88984e+03_rb,0.10325e+04_rb,0.11747e+04_rb /) kao(:, 3, 8,13) = (/ & & 0.12961e+04_rb,0.11348e+04_rb,0.98531e+03_rb,0.82142e+03_rb,0.66767e+03_rb, & & 0.74660e+03_rb,0.88923e+03_rb,0.10317e+04_rb,0.11741e+04_rb /) kao(:, 4, 8,13) = (/ & & 0.12863e+04_rb,0.11324e+04_rb,0.96704e+03_rb,0.81553e+03_rb,0.65703e+03_rb, & & 0.74590e+03_rb,0.88815e+03_rb,0.10305e+04_rb,0.11725e+04_rb /) kao(:, 5, 8,13) = (/ & & 0.12689e+04_rb,0.11113e+04_rb,0.96142e+03_rb,0.81188e+03_rb,0.65150e+03_rb, & & 0.74435e+03_rb,0.88637e+03_rb,0.10284e+04_rb,0.11705e+04_rb /) kao(:, 1, 9,13) = (/ & & 0.12929e+04_rb,0.11420e+04_rb,0.97941e+03_rb,0.82358e+03_rb,0.66259e+03_rb, & & 0.74862e+03_rb,0.89046e+03_rb,0.10332e+04_rb,0.11761e+04_rb /) kao(:, 2, 9,13) = (/ & & 0.12739e+04_rb,0.11222e+04_rb,0.96918e+03_rb,0.81141e+03_rb,0.65436e+03_rb, & & 0.74747e+03_rb,0.88962e+03_rb,0.10323e+04_rb,0.11749e+04_rb /) kao(:, 3, 9,13) = (/ & & 0.12674e+04_rb,0.11070e+04_rb,0.94554e+03_rb,0.79811e+03_rb,0.64989e+03_rb, & & 0.74671e+03_rb,0.88937e+03_rb,0.10320e+04_rb,0.11746e+04_rb /) kao(:, 4, 9,13) = (/ & & 0.12536e+04_rb,0.10974e+04_rb,0.93180e+03_rb,0.78881e+03_rb,0.64048e+03_rb, & & 0.74596e+03_rb,0.88846e+03_rb,0.10310e+04_rb,0.11735e+04_rb /) kao(:, 5, 9,13) = (/ & & 0.12304e+04_rb,0.10931e+04_rb,0.92897e+03_rb,0.78158e+03_rb,0.63657e+03_rb, & & 0.74461e+03_rb,0.88706e+03_rb,0.10294e+04_rb,0.11717e+04_rb /) kao(:, 1,10,13) = (/ & & 0.12516e+04_rb,0.11039e+04_rb,0.96641e+03_rb,0.80204e+03_rb,0.64728e+03_rb, & & 0.74871e+03_rb,0.89043e+03_rb,0.10331e+04_rb,0.11761e+04_rb /) kao(:, 2,10,13) = (/ & & 0.12445e+04_rb,0.10951e+04_rb,0.94205e+03_rb,0.78296e+03_rb,0.63684e+03_rb, & & 0.74738e+03_rb,0.88974e+03_rb,0.10326e+04_rb,0.11754e+04_rb /) kao(:, 3,10,13) = (/ & & 0.12212e+04_rb,0.10830e+04_rb,0.92907e+03_rb,0.78344e+03_rb,0.62583e+03_rb, & & 0.74649e+03_rb,0.88924e+03_rb,0.10320e+04_rb,0.11747e+04_rb /) kao(:, 4,10,13) = (/ & & 0.12116e+04_rb,0.10675e+04_rb,0.91424e+03_rb,0.76668e+03_rb,0.62374e+03_rb, & & 0.74589e+03_rb,0.88889e+03_rb,0.10314e+04_rb,0.11741e+04_rb /) kao(:, 5,10,13) = (/ & & 0.12052e+04_rb,0.10532e+04_rb,0.90488e+03_rb,0.76246e+03_rb,0.61399e+03_rb, & & 0.74500e+03_rb,0.88754e+03_rb,0.10301e+04_rb,0.11727e+04_rb /) kao(:, 1,11,13) = (/ & & 0.12119e+04_rb,0.10670e+04_rb,0.92549e+03_rb,0.77292e+03_rb,0.62469e+03_rb, & & 0.74822e+03_rb,0.89015e+03_rb,0.10331e+04_rb,0.11759e+04_rb /) kao(:, 2,11,13) = (/ & & 0.12040e+04_rb,0.10529e+04_rb,0.90947e+03_rb,0.76631e+03_rb,0.61756e+03_rb, & & 0.74680e+03_rb,0.88950e+03_rb,0.10325e+04_rb,0.11754e+04_rb /) kao(:, 3,11,13) = (/ & & 0.11932e+04_rb,0.10470e+04_rb,0.90374e+03_rb,0.75316e+03_rb,0.61137e+03_rb, & & 0.74625e+03_rb,0.88901e+03_rb,0.10319e+04_rb,0.11747e+04_rb /) kao(:, 4,11,13) = (/ & & 0.11901e+04_rb,0.10395e+04_rb,0.89205e+03_rb,0.75483e+03_rb,0.60707e+03_rb, & & 0.74529e+03_rb,0.88868e+03_rb,0.10313e+04_rb,0.11742e+04_rb /) kao(:, 5,11,13) = (/ & & 0.11740e+04_rb,0.10262e+04_rb,0.88782e+03_rb,0.74555e+03_rb,0.60321e+03_rb, & & 0.74456e+03_rb,0.88735e+03_rb,0.10302e+04_rb,0.11727e+04_rb /) kao(:, 1,12,13) = (/ & & 0.11952e+04_rb,0.10387e+04_rb,0.90464e+03_rb,0.75031e+03_rb,0.60579e+03_rb, & & 0.74809e+03_rb,0.88993e+03_rb,0.10330e+04_rb,0.11761e+04_rb /) kao(:, 2,12,13) = (/ & & 0.11767e+04_rb,0.10280e+04_rb,0.89305e+03_rb,0.74295e+03_rb,0.60520e+03_rb, & & 0.74658e+03_rb,0.88930e+03_rb,0.10324e+04_rb,0.11754e+04_rb /) kao(:, 3,12,13) = (/ & & 0.11638e+04_rb,0.10252e+04_rb,0.88200e+03_rb,0.74209e+03_rb,0.60448e+03_rb, & & 0.74580e+03_rb,0.88883e+03_rb,0.10318e+04_rb,0.11747e+04_rb /) kao(:, 4,12,13) = (/ & & 0.11608e+04_rb,0.10182e+04_rb,0.87717e+03_rb,0.73339e+03_rb,0.60384e+03_rb, & & 0.74474e+03_rb,0.88834e+03_rb,0.10314e+04_rb,0.11742e+04_rb /) kao(:, 5,12,13) = (/ & & 0.11455e+04_rb,0.10085e+04_rb,0.86868e+03_rb,0.72782e+03_rb,0.60261e+03_rb, & & 0.74417e+03_rb,0.88752e+03_rb,0.10299e+04_rb,0.11727e+04_rb /) kao(:, 1,13,13) = (/ & & 0.11538e+04_rb,0.10104e+04_rb,0.87836e+03_rb,0.74181e+03_rb,0.60545e+03_rb, & & 0.74747e+03_rb,0.88975e+03_rb,0.10329e+04_rb,0.11763e+04_rb /) kao(:, 2,13,13) = (/ & & 0.11412e+04_rb,0.10013e+04_rb,0.88484e+03_rb,0.73153e+03_rb,0.60489e+03_rb, & & 0.74629e+03_rb,0.88914e+03_rb,0.10323e+04_rb,0.11754e+04_rb /) kao(:, 3,13,13) = (/ & & 0.11370e+04_rb,0.10022e+04_rb,0.86246e+03_rb,0.73215e+03_rb,0.60419e+03_rb, & & 0.74569e+03_rb,0.88867e+03_rb,0.10317e+04_rb,0.11747e+04_rb /) kao(:, 4,13,13) = (/ & & 0.11288e+04_rb,0.99109e+03_rb,0.86549e+03_rb,0.72280e+03_rb,0.60356e+03_rb, & & 0.74480e+03_rb,0.88820e+03_rb,0.10312e+04_rb,0.11742e+04_rb /) kao(:, 5,13,13) = (/ & & 0.11445e+04_rb,0.99099e+03_rb,0.85129e+03_rb,0.71952e+03_rb,0.60234e+03_rb, & & 0.74410e+03_rb,0.88705e+03_rb,0.10299e+04_rb,0.11727e+04_rb /) kao(:, 1, 1,14) = (/ & & 0.20185e+04_rb,0.18044e+04_rb,0.14758e+04_rb,0.13047e+04_rb,0.10029e+04_rb, & & 0.77460e+03_rb,0.89226e+03_rb,0.10322e+04_rb,0.11721e+04_rb /) kao(:, 2, 1,14) = (/ & & 0.19173e+04_rb,0.17154e+04_rb,0.14467e+04_rb,0.12101e+04_rb,0.99594e+03_rb, & & 0.75026e+03_rb,0.88974e+03_rb,0.10295e+04_rb,0.11713e+04_rb /) kao(:, 3, 1,14) = (/ & & 0.19468e+04_rb,0.16851e+04_rb,0.14136e+04_rb,0.12474e+04_rb,0.94959e+03_rb, & & 0.74773e+03_rb,0.88696e+03_rb,0.10271e+04_rb,0.11663e+04_rb /) kao(:, 4, 1,14) = (/ & & 0.18423e+04_rb,0.16214e+04_rb,0.13991e+04_rb,0.11633e+04_rb,0.94698e+03_rb, & & 0.74507e+03_rb,0.88457e+03_rb,0.10239e+04_rb,0.11632e+04_rb /) kao(:, 5, 1,14) = (/ & & 0.17538e+04_rb,0.16376e+04_rb,0.13645e+04_rb,0.11303e+04_rb,0.98877e+03_rb, & & 0.74430e+03_rb,0.88372e+03_rb,0.10232e+04_rb,0.11626e+04_rb /) kao(:, 1, 2,14) = (/ & & 0.18551e+04_rb,0.16163e+04_rb,0.13640e+04_rb,0.12440e+04_rb,0.97095e+03_rb, & & 0.75153e+03_rb,0.89202e+03_rb,0.10323e+04_rb,0.11731e+04_rb /) kao(:, 2, 2,14) = (/ & & 0.18136e+04_rb,0.16209e+04_rb,0.13887e+04_rb,0.11127e+04_rb,0.90845e+03_rb, & & 0.74936e+03_rb,0.88974e+03_rb,0.10301e+04_rb,0.11702e+04_rb /) kao(:, 3, 2,14) = (/ & & 0.17918e+04_rb,0.15931e+04_rb,0.13282e+04_rb,0.11266e+04_rb,0.93052e+03_rb, & & 0.74732e+03_rb,0.88725e+03_rb,0.10243e+04_rb,0.11672e+04_rb /) kao(:, 4, 2,14) = (/ & & 0.17507e+04_rb,0.14791e+04_rb,0.12865e+04_rb,0.10818e+04_rb,0.87901e+03_rb, & & 0.74478e+03_rb,0.88467e+03_rb,0.10246e+04_rb,0.11645e+04_rb /) kao(:, 5, 2,14) = (/ & & 0.16872e+04_rb,0.14818e+04_rb,0.12871e+04_rb,0.10513e+04_rb,0.88744e+03_rb, & & 0.74325e+03_rb,0.88337e+03_rb,0.10230e+04_rb,0.11625e+04_rb /) kao(:, 1, 3,14) = (/ & & 0.16919e+04_rb,0.15533e+04_rb,0.13337e+04_rb,0.10831e+04_rb,0.86308e+03_rb, & & 0.75085e+03_rb,0.89217e+03_rb,0.10333e+04_rb,0.11744e+04_rb /) kao(:, 2, 3,14) = (/ & & 0.17034e+04_rb,0.15495e+04_rb,0.12643e+04_rb,0.11407e+04_rb,0.84365e+03_rb, & & 0.74929e+03_rb,0.89025e+03_rb,0.10312e+04_rb,0.11722e+04_rb /) kao(:, 3, 3,14) = (/ & & 0.16844e+04_rb,0.14282e+04_rb,0.12585e+04_rb,0.10790e+04_rb,0.84114e+03_rb, & & 0.74691e+03_rb,0.88785e+03_rb,0.10286e+04_rb,0.11700e+04_rb /) kao(:, 4, 3,14) = (/ & & 0.16791e+04_rb,0.14180e+04_rb,0.12209e+04_rb,0.10441e+04_rb,0.85899e+03_rb, & & 0.74519e+03_rb,0.88544e+03_rb,0.10259e+04_rb,0.11667e+04_rb /) kao(:, 5, 3,14) = (/ & & 0.16063e+04_rb,0.13774e+04_rb,0.12181e+04_rb,0.10006e+04_rb,0.82020e+03_rb, & & 0.74245e+03_rb,0.88287e+03_rb,0.10231e+04_rb,0.11633e+04_rb /) kao(:, 1, 4,14) = (/ & & 0.15960e+04_rb,0.13846e+04_rb,0.12078e+04_rb,0.10284e+04_rb,0.81079e+03_rb, & & 0.75078e+03_rb,0.89233e+03_rb,0.10336e+04_rb,0.11751e+04_rb /) kao(:, 2, 4,14) = (/ & & 0.16237e+04_rb,0.13919e+04_rb,0.11906e+04_rb,0.10115e+04_rb,0.83009e+03_rb, & & 0.74909e+03_rb,0.89076e+03_rb,0.10322e+04_rb,0.11737e+04_rb /) kao(:, 3, 4,14) = (/ & & 0.16136e+04_rb,0.13698e+04_rb,0.12046e+04_rb,0.98839e+03_rb,0.80997e+03_rb, & & 0.74745e+03_rb,0.88871e+03_rb,0.10300e+04_rb,0.11712e+04_rb /) kao(:, 4, 4,14) = (/ & & 0.15739e+04_rb,0.13753e+04_rb,0.11394e+04_rb,0.97871e+03_rb,0.77029e+03_rb, & & 0.74770e+03_rb,0.88627e+03_rb,0.10279e+04_rb,0.11682e+04_rb /) kao(:, 5, 4,14) = (/ & & 0.14863e+04_rb,0.13334e+04_rb,0.11445e+04_rb,0.95775e+03_rb,0.78998e+03_rb, & & 0.74317e+03_rb,0.88387e+03_rb,0.10246e+04_rb,0.11653e+04_rb /) kao(:, 1, 5,14) = (/ & & 0.15101e+04_rb,0.14006e+04_rb,0.11513e+04_rb,0.96783e+03_rb,0.79581e+03_rb, & & 0.75045e+03_rb,0.89239e+03_rb,0.10340e+04_rb,0.11759e+04_rb /) kao(:, 2, 5,14) = (/ & & 0.15461e+04_rb,0.13003e+04_rb,0.11685e+04_rb,0.92112e+03_rb,0.77517e+03_rb, & & 0.74927e+03_rb,0.89114e+03_rb,0.10330e+04_rb,0.11749e+04_rb /) kao(:, 3, 5,14) = (/ & & 0.14676e+04_rb,0.12966e+04_rb,0.11042e+04_rb,0.93875e+03_rb,0.79645e+03_rb, & & 0.74772e+03_rb,0.88943e+03_rb,0.10311e+04_rb,0.11729e+04_rb /) kao(:, 4, 5,14) = (/ & & 0.14571e+04_rb,0.12955e+04_rb,0.11734e+04_rb,0.89731e+03_rb,0.76986e+03_rb, & & 0.74578e+03_rb,0.88723e+03_rb,0.10287e+04_rb,0.11702e+04_rb /) kao(:, 5, 5,14) = (/ & & 0.14311e+04_rb,0.13054e+04_rb,0.10738e+04_rb,0.10079e+04_rb,0.72704e+03_rb, & & 0.74437e+03_rb,0.88461e+03_rb,0.10260e+04_rb,0.11675e+04_rb /) kao(:, 1, 6,14) = (/ & & 0.14715e+04_rb,0.12798e+04_rb,0.11182e+04_rb,0.92160e+03_rb,0.75379e+03_rb, & & 0.75023e+03_rb,0.89251e+03_rb,0.10348e+04_rb,0.11771e+04_rb /) kao(:, 2, 6,14) = (/ & & 0.14479e+04_rb,0.12414e+04_rb,0.11222e+04_rb,0.91289e+03_rb,0.75013e+03_rb, & & 0.74921e+03_rb,0.89141e+03_rb,0.10336e+04_rb,0.11758e+04_rb /) kao(:, 3, 6,14) = (/ & & 0.14270e+04_rb,0.12651e+04_rb,0.10793e+04_rb,0.91215e+03_rb,0.74649e+03_rb, & & 0.74796e+03_rb,0.89005e+03_rb,0.10321e+04_rb,0.11739e+04_rb /) kao(:, 4, 6,14) = (/ & & 0.14058e+04_rb,0.12702e+04_rb,0.11005e+04_rb,0.93809e+03_rb,0.69854e+03_rb, & & 0.74632e+03_rb,0.88820e+03_rb,0.10301e+04_rb,0.11720e+04_rb /) kao(:, 5, 6,14) = (/ & & 0.14048e+04_rb,0.12100e+04_rb,0.10413e+04_rb,0.84934e+03_rb,0.69794e+03_rb, & & 0.74429e+03_rb,0.88588e+03_rb,0.10284e+04_rb,0.11701e+04_rb /) kao(:, 1, 7,14) = (/ & & 0.14325e+04_rb,0.12413e+04_rb,0.10595e+04_rb,0.88906e+03_rb,0.71717e+03_rb, & & 0.75037e+03_rb,0.89273e+03_rb,0.10353e+04_rb,0.11779e+04_rb /) kao(:, 2, 7,14) = (/ & & 0.13620e+04_rb,0.12089e+04_rb,0.10598e+04_rb,0.89550e+03_rb,0.73134e+03_rb, & & 0.74911e+03_rb,0.89161e+03_rb,0.10341e+04_rb,0.11766e+04_rb /) kao(:, 3, 7,14) = (/ & & 0.13346e+04_rb,0.12111e+04_rb,0.10262e+04_rb,0.84775e+03_rb,0.68161e+03_rb, & & 0.74811e+03_rb,0.89050e+03_rb,0.10329e+04_rb,0.11753e+04_rb /) kao(:, 4, 7,14) = (/ & & 0.13132e+04_rb,0.11998e+04_rb,0.99757e+03_rb,0.86083e+03_rb,0.70251e+03_rb, & & 0.74653e+03_rb,0.88899e+03_rb,0.10312e+04_rb,0.11735e+04_rb /) kao(:, 5, 7,14) = (/ & & 0.13232e+04_rb,0.11634e+04_rb,0.10230e+04_rb,0.84353e+03_rb,0.68339e+03_rb, & & 0.74500e+03_rb,0.88698e+03_rb,0.10287e+04_rb,0.11709e+04_rb /) kao(:, 1, 8,14) = (/ & & 0.13366e+04_rb,0.11630e+04_rb,0.10188e+04_rb,0.86405e+03_rb,0.71800e+03_rb, & & 0.75008e+03_rb,0.89285e+03_rb,0.10357e+04_rb,0.11785e+04_rb /) kao(:, 2, 8,14) = (/ & & 0.13647e+04_rb,0.11518e+04_rb,0.10110e+04_rb,0.84719e+03_rb,0.67819e+03_rb, & & 0.74911e+03_rb,0.89187e+03_rb,0.10343e+04_rb,0.11777e+04_rb /) kao(:, 3, 8,14) = (/ & & 0.13128e+04_rb,0.11472e+04_rb,0.99038e+03_rb,0.82656e+03_rb,0.66483e+03_rb, & & 0.74815e+03_rb,0.89080e+03_rb,0.10335e+04_rb,0.11761e+04_rb /) kao(:, 4, 8,14) = (/ & & 0.12817e+04_rb,0.11127e+04_rb,0.10092e+04_rb,0.82047e+03_rb,0.65442e+03_rb, & & 0.74685e+03_rb,0.88933e+03_rb,0.10318e+04_rb,0.11746e+04_rb /) kao(:, 5, 8,14) = (/ & & 0.13162e+04_rb,0.11356e+04_rb,0.98305e+03_rb,0.84668e+03_rb,0.66544e+03_rb, & & 0.74558e+03_rb,0.88790e+03_rb,0.10302e+04_rb,0.11725e+04_rb /) kao(:, 1, 9,14) = (/ & & 0.13174e+04_rb,0.11399e+04_rb,0.97696e+03_rb,0.84117e+03_rb,0.66145e+03_rb, & & 0.75011e+03_rb,0.89307e+03_rb,0.10362e+04_rb,0.11789e+04_rb /) kao(:, 2, 9,14) = (/ & & 0.13196e+04_rb,0.11310e+04_rb,0.99094e+03_rb,0.80674e+03_rb,0.67265e+03_rb, & & 0.74915e+03_rb,0.89213e+03_rb,0.10351e+04_rb,0.11781e+04_rb /) kao(:, 3, 9,14) = (/ & & 0.12950e+04_rb,0.10983e+04_rb,0.10229e+04_rb,0.86051e+03_rb,0.66007e+03_rb, & & 0.74819e+03_rb,0.89107e+03_rb,0.10339e+04_rb,0.11768e+04_rb /) kao(:, 4, 9,14) = (/ & & 0.12605e+04_rb,0.10785e+04_rb,0.10061e+04_rb,0.79531e+03_rb,0.63414e+03_rb, & & 0.74728e+03_rb,0.89004e+03_rb,0.10328e+04_rb,0.11756e+04_rb /) kao(:, 5, 9,14) = (/ & & 0.12553e+04_rb,0.10628e+04_rb,0.94908e+03_rb,0.82074e+03_rb,0.64983e+03_rb, & & 0.74606e+03_rb,0.88866e+03_rb,0.10313e+04_rb,0.11739e+04_rb /) kao(:, 1,10,14) = (/ & & 0.13413e+04_rb,0.11632e+04_rb,0.10048e+04_rb,0.80476e+03_rb,0.65189e+03_rb, & & 0.75022e+03_rb,0.89354e+03_rb,0.10369e+04_rb,0.11806e+04_rb /) kao(:, 2,10,14) = (/ & & 0.12838e+04_rb,0.11017e+04_rb,0.10173e+04_rb,0.85213e+03_rb,0.64367e+03_rb, & & 0.74909e+03_rb,0.89223e+03_rb,0.10354e+04_rb,0.11786e+04_rb /) kao(:, 3,10,14) = (/ & & 0.12657e+04_rb,0.11229e+04_rb,0.92134e+03_rb,0.80214e+03_rb,0.64195e+03_rb, & & 0.74870e+03_rb,0.89159e+03_rb,0.10344e+04_rb,0.11778e+04_rb /) kao(:, 4,10,14) = (/ & & 0.12310e+04_rb,0.10594e+04_rb,0.92792e+03_rb,0.78251e+03_rb,0.62401e+03_rb, & & 0.74734e+03_rb,0.89003e+03_rb,0.10332e+04_rb,0.11762e+04_rb /) kao(:, 5,10,14) = (/ & & 0.12088e+04_rb,0.10663e+04_rb,0.92275e+03_rb,0.77707e+03_rb,0.64354e+03_rb, & & 0.74634e+03_rb,0.88914e+03_rb,0.10320e+04_rb,0.11748e+04_rb /) kao(:, 1,11,14) = (/ & & 0.12205e+04_rb,0.10982e+04_rb,0.93349e+03_rb,0.79899e+03_rb,0.64961e+03_rb, & & 0.74981e+03_rb,0.89329e+03_rb,0.10368e+04_rb,0.11803e+04_rb /) kao(:, 2,11,14) = (/ & & 0.12266e+04_rb,0.10977e+04_rb,0.90836e+03_rb,0.76723e+03_rb,0.61851e+03_rb, & & 0.74871e+03_rb,0.89199e+03_rb,0.10353e+04_rb,0.11786e+04_rb /) kao(:, 3,11,14) = (/ & & 0.11876e+04_rb,0.10750e+04_rb,0.92258e+03_rb,0.76849e+03_rb,0.61349e+03_rb, & & 0.74902e+03_rb,0.89163e+03_rb,0.10343e+04_rb,0.11775e+04_rb /) kao(:, 4,11,14) = (/ & & 0.12363e+04_rb,0.10327e+04_rb,0.91965e+03_rb,0.74736e+03_rb,0.60206e+03_rb, & & 0.74703e+03_rb,0.88982e+03_rb,0.10331e+04_rb,0.11762e+04_rb /) kao(:, 5,11,14) = (/ & & 0.11827e+04_rb,0.10266e+04_rb,0.89018e+03_rb,0.76668e+03_rb,0.60360e+03_rb, & & 0.74604e+03_rb,0.88895e+03_rb,0.10316e+04_rb,0.11748e+04_rb /) kao(:, 1,12,14) = (/ & & 0.11808e+04_rb,0.10792e+04_rb,0.88334e+03_rb,0.76947e+03_rb,0.60663e+03_rb, & & 0.74904e+03_rb,0.89307e+03_rb,0.10367e+04_rb,0.11803e+04_rb /) kao(:, 2,12,14) = (/ & & 0.12120e+04_rb,0.10402e+04_rb,0.92096e+03_rb,0.78880e+03_rb,0.60609e+03_rb, & & 0.74841e+03_rb,0.89179e+03_rb,0.10352e+04_rb,0.11786e+04_rb /) kao(:, 3,12,14) = (/ & & 0.12016e+04_rb,0.10899e+04_rb,0.90018e+03_rb,0.73017e+03_rb,0.60527e+03_rb, & & 0.75028e+03_rb,0.89119e+03_rb,0.10342e+04_rb,0.11778e+04_rb /) kao(:, 4,12,14) = (/ & & 0.11901e+04_rb,0.10101e+04_rb,0.88929e+03_rb,0.75342e+03_rb,0.60426e+03_rb, & & 0.74677e+03_rb,0.88991e+03_rb,0.10327e+04_rb,0.11762e+04_rb /) kao(:, 5,12,14) = (/ & & 0.12404e+04_rb,0.10285e+04_rb,0.87283e+03_rb,0.77029e+03_rb,0.60316e+03_rb, & & 0.74579e+03_rb,0.88852e+03_rb,0.10318e+04_rb,0.11748e+04_rb /) kao(:, 1,13,14) = (/ & & 0.11819e+04_rb,0.10465e+04_rb,0.87588e+03_rb,0.72550e+03_rb,0.60649e+03_rb, & & 0.74922e+03_rb,0.89289e+03_rb,0.10366e+04_rb,0.11799e+04_rb /) kao(:, 2,13,14) = (/ & & 0.11759e+04_rb,0.10245e+04_rb,0.86816e+03_rb,0.77411e+03_rb,0.60565e+03_rb, & & 0.74816e+03_rb,0.89163e+03_rb,0.10351e+04_rb,0.11786e+04_rb /) kao(:, 3,13,14) = (/ & & 0.11354e+04_rb,0.10124e+04_rb,0.96299e+03_rb,0.72358e+03_rb,0.60486e+03_rb, & & 0.74851e+03_rb,0.89156e+03_rb,0.10341e+04_rb,0.11778e+04_rb /) kao(:, 4,13,14) = (/ & & 0.11811e+04_rb,0.10736e+04_rb,0.85638e+03_rb,0.74549e+03_rb,0.60366e+03_rb, & & 0.74655e+03_rb,0.88977e+03_rb,0.10330e+04_rb,0.11762e+04_rb /) kao(:, 5,13,14) = (/ & & 0.11332e+04_rb,0.99282e+03_rb,0.87259e+03_rb,0.77082e+03_rb,0.60280e+03_rb, & & 0.74559e+03_rb,0.88865e+03_rb,0.10317e+04_rb,0.11748e+04_rb /) kao(:, 1, 1,15) = (/ & & 0.19847e+04_rb,0.16615e+04_rb,0.16299e+04_rb,0.11466e+04_rb,0.10123e+04_rb, & & 0.72871e+03_rb,0.89405e+03_rb,0.10334e+04_rb,0.11734e+04_rb /) kao(:, 2, 1,15) = (/ & & 0.18867e+04_rb,0.16470e+04_rb,0.14051e+04_rb,0.12848e+04_rb,0.91870e+03_rb, & & 0.75104e+03_rb,0.89013e+03_rb,0.10307e+04_rb,0.11650e+04_rb /) kao(:, 3, 1,15) = (/ & & 0.17405e+04_rb,0.16240e+04_rb,0.14364e+04_rb,0.10773e+04_rb,0.10008e+04_rb, & & 0.74790e+03_rb,0.89023e+03_rb,0.10382e+04_rb,0.11720e+04_rb /) kao(:, 4, 1,15) = (/ & & 0.19099e+04_rb,0.16930e+04_rb,0.14454e+04_rb,0.12410e+04_rb,0.95925e+03_rb, & & 0.74605e+03_rb,0.88544e+03_rb,0.10248e+04_rb,0.11651e+04_rb /) kao(:, 5, 1,15) = (/ & & 0.19738e+04_rb,0.13892e+04_rb,0.14377e+04_rb,0.12129e+04_rb,0.77083e+03_rb, & & 0.74496e+03_rb,0.88458e+03_rb,0.10242e+04_rb,0.11638e+04_rb /) kao(:, 1, 2,15) = (/ & & 0.18788e+04_rb,0.15414e+04_rb,0.14391e+04_rb,0.94831e+03_rb,0.88384e+03_rb, & & 0.75320e+03_rb,0.89399e+03_rb,0.10340e+04_rb,0.11746e+04_rb /) kao(:, 2, 2,15) = (/ & & 0.16660e+04_rb,0.14507e+04_rb,0.12145e+04_rb,0.11753e+04_rb,0.91977e+03_rb, & & 0.75003e+03_rb,0.89113e+03_rb,0.10308e+04_rb,0.11712e+04_rb /) kao(:, 3, 2,15) = (/ & & 0.15746e+04_rb,0.14551e+04_rb,0.13375e+04_rb,0.10698e+04_rb,0.76931e+03_rb, & & 0.74657e+03_rb,0.88729e+03_rb,0.10267e+04_rb,0.11695e+04_rb /) kao(:, 4, 2,15) = (/ & & 0.16772e+04_rb,0.16415e+04_rb,0.13391e+04_rb,0.10287e+04_rb,0.88207e+03_rb, & & 0.74593e+03_rb,0.88530e+03_rb,0.10252e+04_rb,0.11661e+04_rb /) kao(:, 5, 2,15) = (/ & & 0.16581e+04_rb,0.15452e+04_rb,0.12479e+04_rb,0.10067e+04_rb,0.83698e+03_rb, & & 0.74419e+03_rb,0.88279e+03_rb,0.10234e+04_rb,0.11634e+04_rb /) kao(:, 1, 3,15) = (/ & & 0.17888e+04_rb,0.13395e+04_rb,0.12224e+04_rb,0.11479e+04_rb,0.91734e+03_rb, & & 0.75291e+03_rb,0.89358e+03_rb,0.10348e+04_rb,0.11761e+04_rb /) kao(:, 2, 3,15) = (/ & & 0.16146e+04_rb,0.11805e+04_rb,0.12709e+04_rb,0.85911e+03_rb,0.90210e+03_rb, & & 0.75028e+03_rb,0.89203e+03_rb,0.10324e+04_rb,0.11734e+04_rb /) kao(:, 3, 3,15) = (/ & & 0.14717e+04_rb,0.15353e+04_rb,0.12224e+04_rb,0.96001e+03_rb,0.77554e+03_rb, & & 0.74753e+03_rb,0.88823e+03_rb,0.10297e+04_rb,0.11678e+04_rb /) kao(:, 4, 3,15) = (/ & & 0.15479e+04_rb,0.14535e+04_rb,0.11756e+04_rb,0.99609e+03_rb,0.71892e+03_rb, & & 0.74634e+03_rb,0.88703e+03_rb,0.10366e+04_rb,0.11684e+04_rb /) kao(:, 5, 3,15) = (/ & & 0.15155e+04_rb,0.14515e+04_rb,0.11733e+04_rb,0.10638e+04_rb,0.80510e+03_rb, & & 0.74461e+03_rb,0.88580e+03_rb,0.10240e+04_rb,0.11652e+04_rb /) kao(:, 1, 4,15) = (/ & & 0.15848e+04_rb,0.14083e+04_rb,0.12006e+04_rb,0.10439e+04_rb,0.81336e+03_rb, & & 0.75201e+03_rb,0.89444e+03_rb,0.10363e+04_rb,0.11781e+04_rb /) kao(:, 2, 4,15) = (/ & & 0.13736e+04_rb,0.13760e+04_rb,0.12165e+04_rb,0.94289e+03_rb,0.75006e+03_rb, & & 0.75167e+03_rb,0.89210e+03_rb,0.10337e+04_rb,0.11753e+04_rb /) kao(:, 3, 4,15) = (/ & & 0.14353e+04_rb,0.13702e+04_rb,0.10217e+04_rb,0.10119e+04_rb,0.72585e+03_rb, & & 0.74883e+03_rb,0.88956e+03_rb,0.10325e+04_rb,0.11731e+04_rb /) kao(:, 4, 4,15) = (/ & & 0.14295e+04_rb,0.12548e+04_rb,0.12198e+04_rb,0.96945e+03_rb,0.84557e+03_rb, & & 0.73846e+03_rb,0.88641e+03_rb,0.10258e+04_rb,0.11703e+04_rb /) kao(:, 5, 4,15) = (/ & & 0.15742e+04_rb,0.13268e+04_rb,0.10395e+04_rb,0.90301e+03_rb,0.67604e+03_rb, & & 0.74473e+03_rb,0.88569e+03_rb,0.10266e+04_rb,0.11676e+04_rb /) kao(:, 1, 5,15) = (/ & & 0.15038e+04_rb,0.11787e+04_rb,0.11191e+04_rb,0.96573e+03_rb,0.74364e+03_rb, & & 0.75161e+03_rb,0.89373e+03_rb,0.10358e+04_rb,0.11780e+04_rb /) kao(:, 2, 5,15) = (/ & & 0.12972e+04_rb,0.14157e+04_rb,0.10073e+04_rb,0.10120e+04_rb,0.78829e+03_rb, & & 0.75051e+03_rb,0.89254e+03_rb,0.10346e+04_rb,0.11785e+04_rb /) kao(:, 3, 5,15) = (/ & & 0.15562e+04_rb,0.12980e+04_rb,0.11053e+04_rb,0.96784e+03_rb,0.68156e+03_rb, & & 0.74938e+03_rb,0.89063e+03_rb,0.10325e+04_rb,0.11743e+04_rb /) kao(:, 4, 5,15) = (/ & & 0.15203e+04_rb,0.12953e+04_rb,0.96757e+03_rb,0.95061e+03_rb,0.68480e+03_rb, & & 0.74750e+03_rb,0.88780e+03_rb,0.10293e+04_rb,0.11708e+04_rb /) kao(:, 5, 5,15) = (/ & & 0.14730e+04_rb,0.11456e+04_rb,0.11151e+04_rb,0.68408e+03_rb,0.76176e+03_rb, & & 0.75307e+03_rb,0.89322e+03_rb,0.10317e+04_rb,0.11682e+04_rb /) kao(:, 1, 6,15) = (/ & & 0.15240e+04_rb,0.12794e+04_rb,0.10826e+04_rb,0.93131e+03_rb,0.69525e+03_rb, & & 0.75122e+03_rb,0.89364e+03_rb,0.10361e+04_rb,0.11785e+04_rb /) kao(:, 2, 6,15) = (/ & & 0.13735e+04_rb,0.12837e+04_rb,0.10725e+04_rb,0.91616e+03_rb,0.69548e+03_rb, & & 0.75041e+03_rb,0.89279e+03_rb,0.10360e+04_rb,0.11776e+04_rb /) kao(:, 3, 6,15) = (/ & & 0.14287e+04_rb,0.11366e+04_rb,0.10240e+04_rb,0.87529e+03_rb,0.70795e+03_rb, & & 0.75034e+03_rb,0.89142e+03_rb,0.10337e+04_rb,0.11759e+04_rb /) kao(:, 4, 6,15) = (/ & & 0.12768e+04_rb,0.11078e+04_rb,0.98805e+03_rb,0.76254e+03_rb,0.77383e+03_rb, & & 0.74782e+03_rb,0.88921e+03_rb,0.10312e+04_rb,0.11732e+04_rb /) kao(:, 5, 6,15) = (/ & & 0.13045e+04_rb,0.12087e+04_rb,0.10585e+04_rb,0.89185e+03_rb,0.69378e+03_rb, & & 0.74461e+03_rb,0.88618e+03_rb,0.10253e+04_rb,0.11684e+04_rb /) kao(:, 1, 7,15) = (/ & & 0.13068e+04_rb,0.11778e+04_rb,0.10485e+04_rb,0.87245e+03_rb,0.70237e+03_rb, & & 0.75029e+03_rb,0.89358e+03_rb,0.10363e+04_rb,0.11790e+04_rb /) kao(:, 2, 7,15) = (/ & & 0.13988e+04_rb,0.11525e+04_rb,0.98924e+03_rb,0.83779e+03_rb,0.64617e+03_rb, & & 0.75022e+03_rb,0.89357e+03_rb,0.10355e+04_rb,0.11782e+04_rb /) kao(:, 3, 7,15) = (/ & & 0.14294e+04_rb,0.11695e+04_rb,0.10182e+04_rb,0.91196e+03_rb,0.69696e+03_rb, & & 0.74932e+03_rb,0.89330e+03_rb,0.10353e+04_rb,0.11780e+04_rb /) kao(:, 4, 7,15) = (/ & & 0.14082e+04_rb,0.10640e+04_rb,0.10540e+04_rb,0.79295e+03_rb,0.62688e+03_rb, & & 0.74789e+03_rb,0.89097e+03_rb,0.10327e+04_rb,0.11750e+04_rb /) kao(:, 5, 7,15) = (/ & & 0.13514e+04_rb,0.12038e+04_rb,0.10012e+04_rb,0.83544e+03_rb,0.67927e+03_rb, & & 0.74629e+03_rb,0.88843e+03_rb,0.10298e+04_rb,0.11718e+04_rb /) kao(:, 1, 8,15) = (/ & & 0.14761e+04_rb,0.12412e+04_rb,0.10429e+04_rb,0.84370e+03_rb,0.62388e+03_rb, & & 0.75133e+03_rb,0.89371e+03_rb,0.10367e+04_rb,0.11796e+04_rb /) kao(:, 2, 8,15) = (/ & & 0.12119e+04_rb,0.11409e+04_rb,0.10121e+04_rb,0.85755e+03_rb,0.70976e+03_rb, & & 0.74998e+03_rb,0.89216e+03_rb,0.10357e+04_rb,0.11786e+04_rb /) kao(:, 3, 8,15) = (/ & & 0.12581e+04_rb,0.11663e+04_rb,0.10198e+04_rb,0.88649e+03_rb,0.69509e+03_rb, & & 0.74932e+03_rb,0.89355e+03_rb,0.10350e+04_rb,0.11787e+04_rb /) kao(:, 4, 8,15) = (/ & & 0.12478e+04_rb,0.12066e+04_rb,0.87201e+03_rb,0.84155e+03_rb,0.70223e+03_rb, & & 0.74886e+03_rb,0.89098e+03_rb,0.10337e+04_rb,0.11764e+04_rb /) kao(:, 5, 8,15) = (/ & & 0.12322e+04_rb,0.11048e+04_rb,0.93070e+03_rb,0.68296e+03_rb,0.66022e+03_rb, & & 0.74776e+03_rb,0.88972e+03_rb,0.10315e+04_rb,0.11748e+04_rb /) kao(:, 1, 9,15) = (/ & & 0.13164e+04_rb,0.12093e+04_rb,0.10729e+04_rb,0.80022e+03_rb,0.68605e+03_rb, & & 0.75075e+03_rb,0.89396e+03_rb,0.10372e+04_rb,0.11804e+04_rb /) kao(:, 2, 9,15) = (/ & & 0.12738e+04_rb,0.11851e+04_rb,0.88381e+03_rb,0.85846e+03_rb,0.65813e+03_rb, & & 0.74985e+03_rb,0.89295e+03_rb,0.10369e+04_rb,0.11792e+04_rb /) kao(:, 3, 9,15) = (/ & & 0.12657e+04_rb,0.12031e+04_rb,0.79849e+03_rb,0.64636e+03_rb,0.60824e+03_rb, & & 0.74924e+03_rb,0.89227e+03_rb,0.10353e+04_rb,0.11783e+04_rb /) kao(:, 4, 9,15) = (/ & & 0.12866e+04_rb,0.11531e+04_rb,0.85958e+03_rb,0.76890e+03_rb,0.66204e+03_rb, & & 0.74965e+03_rb,0.89143e+03_rb,0.10344e+04_rb,0.11773e+04_rb /) kao(:, 5, 9,15) = (/ & & 0.11604e+04_rb,0.11730e+04_rb,0.87009e+03_rb,0.73148e+03_rb,0.58106e+03_rb, & & 0.74723e+03_rb,0.88998e+03_rb,0.10327e+04_rb,0.11755e+04_rb /) kao(:, 1,10,15) = (/ & & 0.11188e+04_rb,0.99215e+03_rb,0.73460e+03_rb,0.83046e+03_rb,0.68844e+03_rb, & & 0.75085e+03_rb,0.89429e+03_rb,0.10377e+04_rb,0.11803e+04_rb /) kao(:, 2,10,15) = (/ & & 0.12059e+04_rb,0.10804e+04_rb,0.70761e+03_rb,0.65712e+03_rb,0.66535e+03_rb, & & 0.74980e+03_rb,0.89311e+03_rb,0.10364e+04_rb,0.11807e+04_rb /) kao(:, 3,10,15) = (/ & & 0.11817e+04_rb,0.10195e+04_rb,0.95365e+03_rb,0.71601e+03_rb,0.59959e+03_rb, & & 0.74791e+03_rb,0.89228e+03_rb,0.10355e+04_rb,0.11778e+04_rb /) kao(:, 4,10,15) = (/ & & 0.11350e+04_rb,0.11533e+04_rb,0.91058e+03_rb,0.81845e+03_rb,0.64874e+03_rb, & & 0.74908e+03_rb,0.89233e+03_rb,0.10356e+04_rb,0.11779e+04_rb /) kao(:, 5,10,15) = (/ & & 0.12000e+04_rb,0.10896e+04_rb,0.93671e+03_rb,0.81314e+03_rb,0.60750e+03_rb, & & 0.74754e+03_rb,0.89053e+03_rb,0.10335e+04_rb,0.11765e+04_rb /) kao(:, 1,11,15) = (/ & & 0.12887e+04_rb,0.10795e+04_rb,0.92507e+03_rb,0.76020e+03_rb,0.61621e+03_rb, & & 0.75046e+03_rb,0.89404e+03_rb,0.10376e+04_rb,0.11812e+04_rb /) kao(:, 2,11,15) = (/ & & 0.11864e+04_rb,0.99352e+03_rb,0.96688e+03_rb,0.81999e+03_rb,0.65449e+03_rb, & & 0.74944e+03_rb,0.89287e+03_rb,0.10363e+04_rb,0.11797e+04_rb /) kao(:, 3,11,15) = (/ & & 0.11946e+04_rb,0.10069e+04_rb,0.91904e+03_rb,0.81170e+03_rb,0.65606e+03_rb, & & 0.74582e+03_rb,0.89066e+03_rb,0.10354e+04_rb,0.11787e+04_rb /) kao(:, 4,11,15) = (/ & & 0.10269e+04_rb,0.10463e+04_rb,0.82697e+03_rb,0.81731e+03_rb,0.61185e+03_rb, & & 0.74876e+03_rb,0.89142e+03_rb,0.10347e+04_rb,0.11779e+04_rb /) kao(:, 5,11,15) = (/ & & 0.11483e+04_rb,0.10490e+04_rb,0.91718e+03_rb,0.72295e+03_rb,0.60510e+03_rb, & & 0.74783e+03_rb,0.89173e+03_rb,0.10334e+04_rb,0.11765e+04_rb /) kao(:, 1,12,15) = (/ & & 0.12157e+04_rb,0.94948e+03_rb,0.89441e+03_rb,0.76380e+03_rb,0.60866e+03_rb, & & 0.75013e+03_rb,0.89382e+03_rb,0.10375e+04_rb,0.11812e+04_rb /) kao(:, 2,12,15) = (/ & & 0.10470e+04_rb,0.10059e+04_rb,0.83704e+03_rb,0.70161e+03_rb,0.60721e+03_rb, & & 0.74914e+03_rb,0.89267e+03_rb,0.10370e+04_rb,0.11807e+04_rb /) kao(:, 3,12,15) = (/ & & 0.10541e+04_rb,0.86865e+03_rb,0.86614e+03_rb,0.79420e+03_rb,0.60576e+03_rb, & & 0.74144e+03_rb,0.89117e+03_rb,0.10353e+04_rb,0.11778e+04_rb /) kao(:, 4,12,15) = (/ & & 0.11152e+04_rb,0.10946e+04_rb,0.91200e+03_rb,0.75719e+03_rb,0.60459e+03_rb, & & 0.74791e+03_rb,0.89124e+03_rb,0.10346e+04_rb,0.11788e+04_rb /) kao(:, 5,12,15) = (/ & & 0.10232e+04_rb,0.97767e+03_rb,0.95862e+03_rb,0.62268e+03_rb,0.60382e+03_rb, & & 0.74758e+03_rb,0.88947e+03_rb,0.10333e+04_rb,0.11765e+04_rb /) kao(:, 1,13,15) = (/ & & 0.11027e+04_rb,0.93786e+03_rb,0.84040e+03_rb,0.77686e+03_rb,0.60858e+03_rb, & & 0.74987e+03_rb,0.89364e+03_rb,0.10374e+04_rb,0.11812e+04_rb /) kao(:, 2,13,15) = (/ & & 0.10816e+04_rb,0.10747e+04_rb,0.88690e+03_rb,0.66213e+03_rb,0.60670e+03_rb, & & 0.74889e+03_rb,0.89251e+03_rb,0.10369e+04_rb,0.11797e+04_rb /) kao(:, 3,13,15) = (/ & & 0.11963e+04_rb,0.98701e+03_rb,0.69767e+03_rb,0.73646e+03_rb,0.60528e+03_rb, & & 0.74531e+03_rb,0.88962e+03_rb,0.10352e+04_rb,0.11778e+04_rb /) kao(:, 4,13,15) = (/ & & 0.10530e+04_rb,0.78530e+03_rb,0.91477e+03_rb,0.71026e+03_rb,0.60430e+03_rb, & & 0.74770e+03_rb,0.89110e+03_rb,0.10345e+04_rb,0.11779e+04_rb /) kao(:, 5,13,15) = (/ & & 0.11409e+04_rb,0.10574e+04_rb,0.83207e+03_rb,0.61034e+03_rb,0.60355e+03_rb, & & 0.74679e+03_rb,0.89073e+03_rb,0.10333e+04_rb,0.11765e+04_rb /) kao(:, 1, 1,16) = (/ & & 0.34848e+03_rb,0.49670e+03_rb,0.29569e+03_rb,0.31627e+03_rb,0.46514e+03_rb, & & 0.42834e+03_rb,0.88848e+03_rb,0.10335e+04_rb,0.11735e+04_rb /) kao(:, 2, 1,16) = (/ & & 0.18044e+04_rb,0.87518e+03_rb,0.11930e+04_rb,0.45580e+03_rb,0.83690e+03_rb, & & 0.74631e+03_rb,0.89022e+03_rb,0.10242e+04_rb,0.11632e+04_rb /) kao(:, 3, 1,16) = (/ & & 0.11196e+04_rb,0.73658e+03_rb,0.10480e+04_rb,0.53695e+03_rb,0.39566e+03_rb, & & 0.74377e+03_rb,0.86775e+03_rb,0.94144e+03_rb,0.11277e+04_rb /) kao(:, 4, 1,16) = (/ & & 0.72013e+03_rb,0.40040e+03_rb,0.39030e+03_rb,0.31401e+03_rb,0.31498e+03_rb, & & 0.74613e+03_rb,0.88553e+03_rb,0.10249e+04_rb,0.11579e+04_rb /) kao(:, 5, 1,16) = (/ & & 0.34789e+03_rb,0.14911e+04_rb,0.33003e+03_rb,0.29522e+03_rb,0.31385e+03_rb, & & 0.74516e+03_rb,0.88480e+03_rb,0.10244e+04_rb,0.11641e+04_rb /) kao(:, 1, 2,16) = (/ & & 0.41247e+03_rb,0.81197e+03_rb,0.68322e+03_rb,0.50855e+03_rb,0.24076e+03_rb, & & 0.74851e+03_rb,0.88842e+03_rb,0.10341e+04_rb,0.11748e+04_rb /) kao(:, 2, 2,16) = (/ & & 0.16209e+04_rb,0.56884e+03_rb,0.94156e+03_rb,0.29182e+03_rb,0.46039e+03_rb, & & 0.75011e+03_rb,0.88557e+03_rb,0.10309e+04_rb,0.11714e+04_rb /) kao(:, 3, 2,16) = (/ & & 0.11534e+04_rb,0.51443e+03_rb,0.23941e+03_rb,0.44358e+03_rb,0.58779e+03_rb, & & 0.74720e+03_rb,0.88237e+03_rb,0.10275e+04_rb,0.11547e+04_rb /) kao(:, 4, 2,16) = (/ & & 0.78193e+03_rb,0.30585e+03_rb,0.42670e+03_rb,0.10365e+04_rb,0.43225e+03_rb, & & 0.74126e+03_rb,0.88535e+03_rb,0.10253e+04_rb,0.11588e+04_rb /) kao(:, 5, 2,16) = (/ & & 0.67509e+03_rb,0.40574e+03_rb,0.57252e+03_rb,0.10353e+04_rb,0.15564e+03_rb, & & 0.73954e+03_rb,0.88360e+03_rb,0.10236e+04_rb,0.11636e+04_rb /) kao(:, 1, 3,16) = (/ & & 0.91257e+03_rb,0.11144e+04_rb,0.54685e+03_rb,0.19037e+03_rb,0.25900e+03_rb, & & 0.74823e+03_rb,0.89369e+03_rb,0.10350e+04_rb,0.11762e+04_rb /) kao(:, 2, 3,16) = (/ & & 0.67162e+03_rb,0.10092e+04_rb,0.40983e+03_rb,0.37826e+03_rb,0.42702e+03_rb, & & 0.75035e+03_rb,0.88647e+03_rb,0.10325e+04_rb,0.11736e+04_rb /) kao(:, 3, 3,16) = (/ & & 0.94657e+03_rb,0.26107e+03_rb,0.43567e+03_rb,0.41065e+03_rb,0.70838e+03_rb, & & 0.74760e+03_rb,0.88832e+03_rb,0.10233e+04_rb,0.11698e+04_rb /) kao(:, 4, 3,16) = (/ & & 0.10618e+03_rb,0.45040e+03_rb,0.10291e+04_rb,0.30237e+03_rb,0.57813e+03_rb, & & 0.73277e+03_rb,0.87582e+03_rb,0.95203e+03_rb,0.11472e+04_rb /) kao(:, 5, 3,16) = (/ & & 0.96551e+03_rb,0.68706e+03_rb,0.56500e+03_rb,0.14865e+03_rb,0.35532e+03_rb, & & 0.73527e+03_rb,0.86908e+03_rb,0.10241e+04_rb,0.11579e+04_rb /) kao(:, 1, 4,16) = (/ & & 0.13211e+04_rb,0.11050e+04_rb,0.91067e+03_rb,0.34788e+03_rb,0.76485e+03_rb, & & 0.75213e+03_rb,0.88892e+03_rb,0.10299e+04_rb,0.11709e+04_rb /) kao(:, 2, 4,16) = (/ & & 0.15543e+04_rb,0.92211e+03_rb,0.72798e+03_rb,0.86839e+03_rb,0.36802e+03_rb, & & 0.74223e+03_rb,0.89219e+03_rb,0.10338e+04_rb,0.11754e+04_rb /) kao(:, 3, 4,16) = (/ & & 0.53676e+03_rb,0.46363e+03_rb,0.10941e+04_rb,0.19958e+03_rb,0.68767e+03_rb, & & 0.74416e+03_rb,0.88965e+03_rb,0.10195e+04_rb,0.11658e+04_rb /) kao(:, 4, 4,16) = (/ & & 0.66992e+03_rb,0.61007e+03_rb,0.50612e+03_rb,0.34999e+03_rb,0.19685e+03_rb, & & 0.74139e+03_rb,0.88155e+03_rb,0.10274e+04_rb,0.11555e+04_rb /) kao(:, 5, 4,16) = (/ & & 0.55226e+03_rb,0.42689e+03_rb,0.10712e+04_rb,0.69959e+03_rb,0.69105e+03_rb, & & 0.73534e+03_rb,0.87452e+03_rb,0.10137e+04_rb,0.11529e+04_rb /) kao(:, 1, 5,16) = (/ & & 0.11854e+04_rb,0.90025e+03_rb,0.10734e+04_rb,0.36732e+03_rb,0.51551e+03_rb, & & 0.75181e+03_rb,0.89397e+03_rb,0.10361e+04_rb,0.11783e+04_rb /) kao(:, 2, 5,16) = (/ & & 0.13933e+04_rb,0.23882e+03_rb,0.71015e+03_rb,0.29765e+03_rb,0.88507e+02_rb, & & 0.75060e+03_rb,0.89266e+03_rb,0.10347e+04_rb,0.11637e+04_rb /) kao(:, 3, 5,16) = (/ & & 0.30783e+03_rb,0.72533e+03_rb,0.99782e+03_rb,0.22581e+03_rb,0.21957e+03_rb, & & 0.74471e+03_rb,0.89072e+03_rb,0.10326e+04_rb,0.11744e+04_rb /) kao(:, 4, 5,16) = (/ & & 0.12756e+03_rb,0.23797e+03_rb,0.16871e+03_rb,0.60625e+03_rb,0.35893e+03_rb, & & 0.73811e+03_rb,0.88789e+03_rb,0.10294e+04_rb,0.11709e+04_rb /) kao(:, 5, 5,16) = (/ & & 0.67577e+03_rb,0.67606e+03_rb,0.57612e+03_rb,0.15439e+03_rb,0.22922e+03_rb, & & 0.66526e+03_rb,0.82593e+03_rb,0.98621e+03_rb,0.11543e+04_rb /) kao(:, 1, 6,16) = (/ & & 0.35294e+03_rb,0.92951e+03_rb,0.39404e+03_rb,0.59466e+03_rb,0.46365e+03_rb, & & 0.75155e+03_rb,0.89403e+03_rb,0.10365e+04_rb,0.11790e+04_rb /) kao(:, 2, 6,16) = (/ & & 0.83494e+03_rb,0.91972e+03_rb,0.83351e+02_rb,0.26459e+03_rb,0.33053e+03_rb, & & 0.75056e+03_rb,0.89298e+03_rb,0.10296e+04_rb,0.11778e+04_rb /) kao(:, 3, 6,16) = (/ & & 0.77495e+02_rb,0.67358e+03_rb,0.71470e+03_rb,0.28985e+03_rb,0.12695e+03_rb, & & 0.74093e+03_rb,0.89153e+03_rb,0.10338e+04_rb,0.11761e+04_rb /) kao(:, 4, 6,16) = (/ & & 0.12524e+04_rb,0.52300e+03_rb,0.17321e+03_rb,0.31958e+03_rb,0.15643e+03_rb, & & 0.74316e+03_rb,0.88930e+03_rb,0.10313e+04_rb,0.11733e+04_rb /) kao(:, 5, 6,16) = (/ & & 0.79880e+03_rb,0.54259e+03_rb,0.31909e+03_rb,0.47791e+03_rb,0.45938e+03_rb, & & 0.74468e+03_rb,0.88626e+03_rb,0.10278e+04_rb,0.11499e+04_rb /) kao(:, 1, 7,16) = (/ & & 0.10078e+04_rb,0.83081e+03_rb,0.68047e+03_rb,0.68284e+03_rb,0.57904e+03_rb, & & 0.75128e+03_rb,0.89403e+03_rb,0.10368e+04_rb,0.11795e+04_rb /) kao(:, 2, 7,16) = (/ & & 0.67323e+03_rb,0.10228e+04_rb,0.49758e+03_rb,0.33578e+03_rb,0.38746e+03_rb, & & 0.75047e+03_rb,0.88822e+03_rb,0.10359e+04_rb,0.11786e+04_rb /) kao(:, 3, 7,16) = (/ & & 0.60358e+03_rb,0.41876e+03_rb,0.74942e+03_rb,0.38757e+03_rb,0.61092e+03_rb, & & 0.74943e+03_rb,0.88213e+03_rb,0.10289e+04_rb,0.11707e+04_rb /) kao(:, 4, 7,16) = (/ & & 0.69109e+03_rb,0.11040e+04_rb,0.46705e+03_rb,0.74628e+03_rb,0.47483e+03_rb, & & 0.74797e+03_rb,0.88542e+03_rb,0.10328e+04_rb,0.11752e+04_rb /) kao(:, 5, 7,16) = (/ & & 0.68277e+03_rb,0.46564e+03_rb,0.19228e+03_rb,0.48854e+03_rb,0.28304e+03_rb, & & 0.74163e+03_rb,0.88289e+03_rb,0.10299e+04_rb,0.11719e+04_rb /) kao(:, 1, 8,16) = (/ & & 0.26685e+03_rb,0.60532e+03_rb,0.51009e+03_rb,0.40907e+03_rb,0.39126e+03_rb, & & 0.74682e+03_rb,0.89396e+03_rb,0.10369e+04_rb,0.11799e+04_rb /) kao(:, 2, 8,16) = (/ & & 0.94869e+03_rb,0.11471e+04_rb,0.44706e+03_rb,0.23151e+03_rb,0.93532e+02_rb, & & 0.75035e+03_rb,0.89331e+03_rb,0.10363e+04_rb,0.11727e+04_rb /) kao(:, 3, 8,16) = (/ & & 0.11588e+04_rb,0.74588e+03_rb,0.28311e+03_rb,0.27864e+03_rb,0.32853e+03_rb, & & 0.74950e+03_rb,0.88246e+03_rb,0.10352e+04_rb,0.11716e+04_rb /) kao(:, 4, 8,16) = (/ & & 0.11874e+04_rb,0.47456e+03_rb,0.83368e+03_rb,0.31591e+03_rb,0.30274e+03_rb, & & 0.74421e+03_rb,0.89109e+03_rb,0.10338e+04_rb,0.11765e+04_rb /) kao(:, 5, 8,16) = (/ & & 0.45710e+03_rb,0.66086e+03_rb,0.55863e+03_rb,0.58037e+03_rb,0.20569e+03_rb, & & 0.73836e+03_rb,0.88417e+03_rb,0.10316e+04_rb,0.11675e+04_rb /) kao(:, 1, 9,16) = (/ & & 0.55233e+03_rb,0.18269e+03_rb,0.18991e+03_rb,0.35964e+03_rb,0.38998e+03_rb, & & 0.75089e+03_rb,0.89415e+03_rb,0.10374e+04_rb,0.11807e+04_rb /) kao(:, 2, 9,16) = (/ & & 0.31819e+03_rb,0.14904e+03_rb,0.79703e+03_rb,0.32317e+03_rb,0.20679e+03_rb, & & 0.75021e+03_rb,0.89337e+03_rb,0.10308e+04_rb,0.11797e+04_rb /) kao(:, 3, 9,16) = (/ & & 0.16059e+03_rb,0.37409e+03_rb,0.62337e+03_rb,0.62951e+03_rb,0.47662e+03_rb, & & 0.74953e+03_rb,0.89262e+03_rb,0.10357e+04_rb,0.11788e+04_rb /) kao(:, 4, 9,16) = (/ & & 0.15191e+03_rb,0.63681e+03_rb,0.25601e+03_rb,0.65772e+03_rb,0.38994e+03_rb, & & 0.74029e+03_rb,0.89158e+03_rb,0.10346e+04_rb,0.11775e+04_rb /) kao(:, 5, 9,16) = (/ & & 0.10392e+04_rb,0.33629e+03_rb,0.90538e+03_rb,0.33435e+03_rb,0.46694e+03_rb, & & 0.74731e+03_rb,0.89008e+03_rb,0.10329e+04_rb,0.11756e+04_rb /) kao(:, 1,10,16) = (/ & & 0.43161e+03_rb,0.53194e+03_rb,0.82168e+03_rb,0.11050e+03_rb,0.32159e+02_rb, & & 0.75101e+03_rb,0.89450e+03_rb,0.10380e+04_rb,0.11815e+04_rb /) kao(:, 2,10,16) = (/ & & 0.23362e+03_rb,0.50697e+03_rb,0.75913e+03_rb,0.37965e+03_rb,0.15877e+03_rb, & & 0.75002e+03_rb,0.89333e+03_rb,0.10366e+04_rb,0.11734e+04_rb /) kao(:, 3,10,16) = (/ & & 0.66577e+03_rb,0.22676e+03_rb,0.63752e+03_rb,0.50488e+03_rb,0.52339e+03_rb, & & 0.74947e+03_rb,0.88778e+03_rb,0.10360e+04_rb,0.11793e+04_rb /) kao(:, 4,10,16) = (/ & & 0.12040e+04_rb,0.37222e+03_rb,0.71269e+03_rb,0.68368e+02_rb,0.31445e+03_rb, & & 0.74453e+03_rb,0.88691e+03_rb,0.10293e+04_rb,0.11782e+04_rb /) kao(:, 5,10,16) = (/ & & 0.85334e+03_rb,0.50951e+03_rb,0.43397e+03_rb,0.11861e+03_rb,0.15074e+03_rb, & & 0.74764e+03_rb,0.89065e+03_rb,0.10337e+04_rb,0.11767e+04_rb /) kao(:, 1,11,16) = (/ & & 0.45853e+03_rb,0.29024e+03_rb,0.38275e+03_rb,0.26130e+03_rb,0.12124e+03_rb, & & 0.75062e+03_rb,0.89424e+03_rb,0.10379e+04_rb,0.11815e+04_rb /) kao(:, 2,11,16) = (/ & & 0.66691e+03_rb,0.55656e+03_rb,0.39879e+03_rb,0.16526e+03_rb,0.24675e+03_rb, & & 0.74965e+03_rb,0.89309e+03_rb,0.10365e+04_rb,0.11800e+04_rb /) kao(:, 3,11,16) = (/ & & 0.10239e+04_rb,0.60930e+03_rb,0.22001e+03_rb,0.10914e+03_rb,0.22748e+03_rb, & & 0.74913e+03_rb,0.89251e+03_rb,0.10359e+04_rb,0.11793e+04_rb /) kao(:, 4,11,16) = (/ & & 0.80567e+03_rb,0.90344e+03_rb,0.77356e+03_rb,0.12489e+03_rb,0.55902e+03_rb, & & 0.74421e+03_rb,0.89165e+03_rb,0.10349e+04_rb,0.11782e+04_rb /) kao(:, 5,11,16) = (/ & & 0.80619e+03_rb,0.87963e+03_rb,0.47254e+03_rb,0.39261e+03_rb,0.59752e+03_rb, & & 0.74319e+03_rb,0.88056e+03_rb,0.10336e+04_rb,0.11767e+04_rb /) kao(:, 1,12,16) = (/ & & 0.54479e+03_rb,0.73809e+03_rb,0.74534e+03_rb,0.30870e+03_rb,0.60893e+03_rb, & & 0.75030e+03_rb,0.89402e+03_rb,0.10378e+04_rb,0.11815e+04_rb /) kao(:, 2,12,16) = (/ & & 0.10600e+04_rb,0.76559e+03_rb,0.34957e+03_rb,0.18602e+03_rb,0.60736e+03_rb, & & 0.74935e+03_rb,0.89289e+03_rb,0.10307e+04_rb,0.11734e+04_rb /) kao(:, 3,12,16) = (/ & & 0.10515e+04_rb,0.60079e+03_rb,0.43472e+03_rb,0.33220e+03_rb,0.60582e+03_rb, & & 0.74885e+03_rb,0.89233e+03_rb,0.10358e+04_rb,0.11793e+04_rb /) kao(:, 4,12,16) = (/ & & 0.32670e+03_rb,0.23075e+03_rb,0.13581e+03_rb,0.17106e+03_rb,0.60474e+03_rb, & & 0.74811e+03_rb,0.89148e+03_rb,0.10348e+04_rb,0.11717e+04_rb /) kao(:, 5,12,16) = (/ & & 0.20371e+03_rb,0.68798e+03_rb,0.91592e+02_rb,0.60316e+03_rb,0.60390e+03_rb, & & 0.74294e+03_rb,0.89029e+03_rb,0.10335e+04_rb,0.11767e+04_rb /) kao(:, 1,13,16) = (/ & & 0.85988e+03_rb,0.94717e+03_rb,0.84544e+03_rb,0.31415e+03_rb,0.60500e+03_rb, & & 0.75003e+03_rb,0.89385e+03_rb,0.10377e+04_rb,0.11815e+04_rb /) kao(:, 2,13,16) = (/ & & 0.10379e+04_rb,0.11189e+03_rb,0.20733e+03_rb,0.17410e+03_rb,0.60685e+03_rb, & & 0.74910e+03_rb,0.89272e+03_rb,0.10306e+04_rb,0.11800e+04_rb /) kao(:, 3,13,16) = (/ & & 0.70206e+03_rb,0.77801e+03_rb,0.11974e+03_rb,0.34591e+03_rb,0.60534e+03_rb, & & 0.74861e+03_rb,0.89217e+03_rb,0.10357e+04_rb,0.11793e+04_rb /) kao(:, 4,13,16) = (/ & & 0.69165e+03_rb,0.93369e+03_rb,0.16190e+03_rb,0.16396e+03_rb,0.60445e+03_rb, & & 0.74789e+03_rb,0.89133e+03_rb,0.10348e+04_rb,0.11782e+04_rb /) kao(:, 5,13,16) = (/ & & 0.20016e+03_rb,0.25832e+03_rb,0.57797e+03_rb,0.24270e+03_rb,0.60363e+03_rb, & & 0.74689e+03_rb,0.88521e+03_rb,0.10334e+04_rb,0.11767e+04_rb /) ! ----------------------------------------------------------------- ! The array KBO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels < ~100mb and temperatures. The first ! index in the array, JT, which runs from 1 to 5, corresponds to ! different temperatures. More specifically, JT = 3 means that the ! data are for the reference temperature TREF for this pressure ! level, JT = 2 refers to the temperature TREF-15, JT = 1 is for ! TREF-30, JT = 4 is for TREF+15, and JT = 5 is for TREF+30. ! The second index, JP, runs from 13 to 59 and refers to the JPth ! reference pressure level (see taumol.f for the value of these ! pressure levels in mb). The third index, IG, goes from 1 to 16, ! and tells us which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kbo(:, 1,13, 1) = (/ & & 0.27369e+02_rb,0.29903e+03_rb,0.42924e+03_rb,0.31039e+03_rb,0.35000e+02_rb /) kbo(:, 2,13, 1) = (/ & & 0.27158e+02_rb,0.29898e+03_rb,0.42745e+03_rb,0.30840e+03_rb,0.35000e+02_rb /) kbo(:, 3,13, 1) = (/ & & 0.26976e+02_rb,0.29889e+03_rb,0.42590e+03_rb,0.30668e+03_rb,0.35000e+02_rb /) kbo(:, 4,13, 1) = (/ & & 0.26818e+02_rb,0.29875e+03_rb,0.42455e+03_rb,0.30517e+03_rb,0.35000e+02_rb /) kbo(:, 5,13, 1) = (/ & & 0.26679e+02_rb,0.29855e+03_rb,0.42335e+03_rb,0.30384e+03_rb,0.35000e+02_rb /) kbo(:, 1,14, 1) = (/ & & 0.26840e+02_rb,0.29863e+03_rb,0.42474e+03_rb,0.30538e+03_rb,0.35000e+02_rb /) kbo(:, 2,14, 1) = (/ & & 0.26669e+02_rb,0.29862e+03_rb,0.42327e+03_rb,0.30375e+03_rb,0.35000e+02_rb /) kbo(:, 3,14, 1) = (/ & & 0.26522e+02_rb,0.29854e+03_rb,0.42199e+03_rb,0.30234e+03_rb,0.35000e+02_rb /) kbo(:, 4,14, 1) = (/ & & 0.26394e+02_rb,0.29842e+03_rb,0.42088e+03_rb,0.30111e+03_rb,0.35000e+02_rb /) kbo(:, 5,14, 1) = (/ & & 0.26282e+02_rb,0.29824e+03_rb,0.41990e+03_rb,0.30002e+03_rb,0.35000e+02_rb /) kbo(:, 1,15, 1) = (/ & & 0.26408e+02_rb,0.29831e+03_rb,0.42100e+03_rb,0.30124e+03_rb,0.35000e+02_rb /) kbo(:, 2,15, 1) = (/ & & 0.26271e+02_rb,0.29832e+03_rb,0.41980e+03_rb,0.29991e+03_rb,0.35000e+02_rb /) kbo(:, 3,15, 1) = (/ & & 0.26152e+02_rb,0.29826e+03_rb,0.41876e+03_rb,0.29877e+03_rb,0.35000e+02_rb /) kbo(:, 4,15, 1) = (/ & & 0.26049e+02_rb,0.29814e+03_rb,0.41785e+03_rb,0.29776e+03_rb,0.35000e+02_rb /) kbo(:, 5,15, 1) = (/ & & 0.25958e+02_rb,0.29797e+03_rb,0.41705e+03_rb,0.29688e+03_rb,0.35000e+02_rb /) kbo(:, 1,16, 1) = (/ & & 0.26057e+02_rb,0.29806e+03_rb,0.41793e+03_rb,0.29784e+03_rb,0.35000e+02_rb /) kbo(:, 2,16, 1) = (/ & & 0.25946e+02_rb,0.29807e+03_rb,0.41695e+03_rb,0.29676e+03_rb,0.35000e+02_rb /) kbo(:, 3,16, 1) = (/ & & 0.25851e+02_rb,0.29803e+03_rb,0.41610e+03_rb,0.29583e+03_rb,0.35000e+02_rb /) kbo(:, 4,16, 1) = (/ & & 0.25767e+02_rb,0.29792e+03_rb,0.41536e+03_rb,0.29502e+03_rb,0.35000e+02_rb /) kbo(:, 5,16, 1) = (/ & & 0.25694e+02_rb,0.29776e+03_rb,0.41470e+03_rb,0.29430e+03_rb,0.35000e+02_rb /) kbo(:, 1,17, 1) = (/ & & 0.25772e+02_rb,0.29785e+03_rb,0.41540e+03_rb,0.29506e+03_rb,0.35000e+02_rb /) kbo(:, 2,17, 1) = (/ & & 0.25683e+02_rb,0.29787e+03_rb,0.41460e+03_rb,0.29419e+03_rb,0.35000e+02_rb /) kbo(:, 3,17, 1) = (/ & & 0.25606e+02_rb,0.29784e+03_rb,0.41391e+03_rb,0.29343e+03_rb,0.35000e+02_rb /) kbo(:, 4,17, 1) = (/ & & 0.25538e+02_rb,0.29774e+03_rb,0.41331e+03_rb,0.29277e+03_rb,0.35000e+02_rb /) kbo(:, 5,17, 1) = (/ & & 0.25479e+02_rb,0.29758e+03_rb,0.41278e+03_rb,0.29219e+03_rb,0.35000e+02_rb /) kbo(:, 1,18, 1) = (/ & & 0.25541e+02_rb,0.29768e+03_rb,0.41334e+03_rb,0.29280e+03_rb,0.35000e+02_rb /) kbo(:, 2,18, 1) = (/ & & 0.25469e+02_rb,0.29772e+03_rb,0.41269e+03_rb,0.29209e+03_rb,0.35000e+02_rb /) kbo(:, 3,18, 1) = (/ & & 0.25407e+02_rb,0.29768e+03_rb,0.41213e+03_rb,0.29147e+03_rb,0.35000e+02_rb /) kbo(:, 4,18, 1) = (/ & & 0.25353e+02_rb,0.29758e+03_rb,0.41163e+03_rb,0.29094e+03_rb,0.35000e+02_rb /) kbo(:, 5,18, 1) = (/ & & 0.25305e+02_rb,0.29743e+03_rb,0.41120e+03_rb,0.29046e+03_rb,0.35000e+02_rb /) kbo(:, 1,19, 1) = (/ & & 0.25354e+02_rb,0.29755e+03_rb,0.41165e+03_rb,0.29095e+03_rb,0.35000e+02_rb /) kbo(:, 2,19, 1) = (/ & & 0.25296e+02_rb,0.29758e+03_rb,0.41112e+03_rb,0.29037e+03_rb,0.35000e+02_rb /) kbo(:, 3,19, 1) = (/ & & 0.25245e+02_rb,0.29755e+03_rb,0.41067e+03_rb,0.28988e+03_rb,0.35000e+02_rb /) kbo(:, 4,19, 1) = (/ & & 0.25201e+02_rb,0.29746e+03_rb,0.41027e+03_rb,0.28944e+03_rb,0.35000e+02_rb /) kbo(:, 5,19, 1) = (/ & & 0.25163e+02_rb,0.29730e+03_rb,0.40991e+03_rb,0.28905e+03_rb,0.35000e+02_rb /) kbo(:, 1,20, 1) = (/ & & 0.25201e+02_rb,0.29744e+03_rb,0.41026e+03_rb,0.28943e+03_rb,0.35000e+02_rb /) kbo(:, 2,20, 1) = (/ & & 0.25154e+02_rb,0.29748e+03_rb,0.40984e+03_rb,0.28897e+03_rb,0.35000e+02_rb /) kbo(:, 3,20, 1) = (/ & & 0.25113e+02_rb,0.29745e+03_rb,0.40947e+03_rb,0.28856e+03_rb,0.35000e+02_rb /) kbo(:, 4,20, 1) = (/ & & 0.25078e+02_rb,0.29735e+03_rb,0.40914e+03_rb,0.28821e+03_rb,0.35000e+02_rb /) kbo(:, 5,20, 1) = (/ & & 0.25047e+02_rb,0.29719e+03_rb,0.40886e+03_rb,0.28790e+03_rb,0.35000e+02_rb /) kbo(:, 1,21, 1) = (/ & & 0.25076e+02_rb,0.29736e+03_rb,0.40913e+03_rb,0.28819e+03_rb,0.35000e+02_rb /) kbo(:, 2,21, 1) = (/ & & 0.25039e+02_rb,0.29739e+03_rb,0.40879e+03_rb,0.28782e+03_rb,0.35000e+02_rb /) kbo(:, 3,21, 1) = (/ & & 0.25006e+02_rb,0.29736e+03_rb,0.40849e+03_rb,0.28749e+03_rb,0.35000e+02_rb /) kbo(:, 4,21, 1) = (/ & & 0.24978e+02_rb,0.29726e+03_rb,0.40823e+03_rb,0.28722e+03_rb,0.35000e+02_rb /) kbo(:, 5,21, 1) = (/ & & 0.24952e+02_rb,0.29710e+03_rb,0.40800e+03_rb,0.28695e+03_rb,0.35000e+02_rb /) kbo(:, 1,22, 1) = (/ & & 0.24973e+02_rb,0.29729e+03_rb,0.40819e+03_rb,0.28717e+03_rb,0.35000e+02_rb /) kbo(:, 2,22, 1) = (/ & & 0.24944e+02_rb,0.29732e+03_rb,0.40792e+03_rb,0.28687e+03_rb,0.35000e+02_rb /) kbo(:, 3,22, 1) = (/ & & 0.24917e+02_rb,0.29728e+03_rb,0.40768e+03_rb,0.28661e+03_rb,0.35000e+02_rb /) kbo(:, 4,22, 1) = (/ & & 0.24895e+02_rb,0.29717e+03_rb,0.40747e+03_rb,0.28638e+03_rb,0.35000e+02_rb /) kbo(:, 5,22, 1) = (/ & & 0.24874e+02_rb,0.29700e+03_rb,0.40728e+03_rb,0.28618e+03_rb,0.35000e+02_rb /) kbo(:, 1,23, 1) = (/ & & 0.24890e+02_rb,0.29724e+03_rb,0.40743e+03_rb,0.28634e+03_rb,0.35000e+02_rb /) kbo(:, 2,23, 1) = (/ & & 0.24866e+02_rb,0.29726e+03_rb,0.40721e+03_rb,0.28610e+03_rb,0.35000e+02_rb /) kbo(:, 3,23, 1) = (/ & & 0.24846e+02_rb,0.29721e+03_rb,0.40702e+03_rb,0.28589e+03_rb,0.35000e+02_rb /) kbo(:, 4,23, 1) = (/ & & 0.24827e+02_rb,0.29710e+03_rb,0.40685e+03_rb,0.28571e+03_rb,0.35000e+02_rb /) kbo(:, 5,23, 1) = (/ & & 0.24811e+02_rb,0.29692e+03_rb,0.40671e+03_rb,0.28554e+03_rb,0.35000e+02_rb /) kbo(:, 1,24, 1) = (/ & & 0.24823e+02_rb,0.29721e+03_rb,0.40681e+03_rb,0.28566e+03_rb,0.35000e+02_rb /) kbo(:, 2,24, 1) = (/ & & 0.24804e+02_rb,0.29721e+03_rb,0.40664e+03_rb,0.28547e+03_rb,0.35000e+02_rb /) kbo(:, 3,24, 1) = (/ & & 0.24787e+02_rb,0.29715e+03_rb,0.40649e+03_rb,0.28530e+03_rb,0.35000e+02_rb /) kbo(:, 4,24, 1) = (/ & & 0.24773e+02_rb,0.29703e+03_rb,0.40635e+03_rb,0.28516e+03_rb,0.35000e+02_rb /) kbo(:, 5,24, 1) = (/ & & 0.24760e+02_rb,0.29684e+03_rb,0.40623e+03_rb,0.28503e+03_rb,0.35000e+02_rb /) kbo(:, 1,25, 1) = (/ & & 0.24769e+02_rb,0.29717e+03_rb,0.40631e+03_rb,0.28511e+03_rb,0.35000e+02_rb /) kbo(:, 2,25, 1) = (/ & & 0.24753e+02_rb,0.29717e+03_rb,0.40618e+03_rb,0.28496e+03_rb,0.35000e+02_rb /) kbo(:, 3,25, 1) = (/ & & 0.24740e+02_rb,0.29710e+03_rb,0.40606e+03_rb,0.28483e+03_rb,0.35000e+02_rb /) kbo(:, 4,25, 1) = (/ & & 0.24729e+02_rb,0.29696e+03_rb,0.40595e+03_rb,0.28472e+03_rb,0.35000e+02_rb /) kbo(:, 5,25, 1) = (/ & & 0.24718e+02_rb,0.29676e+03_rb,0.40585e+03_rb,0.28462e+03_rb,0.35000e+02_rb /) kbo(:, 1,26, 1) = (/ & & 0.24724e+02_rb,0.29715e+03_rb,0.40591e+03_rb,0.28467e+03_rb,0.35000e+02_rb /) kbo(:, 2,26, 1) = (/ & & 0.24712e+02_rb,0.29713e+03_rb,0.40580e+03_rb,0.28456e+03_rb,0.35000e+02_rb /) kbo(:, 3,26, 1) = (/ & & 0.24702e+02_rb,0.29704e+03_rb,0.40570e+03_rb,0.28445e+03_rb,0.35000e+02_rb /) kbo(:, 4,26, 1) = (/ & & 0.24693e+02_rb,0.29689e+03_rb,0.40562e+03_rb,0.28435e+03_rb,0.35000e+02_rb /) kbo(:, 5,26, 1) = (/ & & 0.24684e+02_rb,0.29668e+03_rb,0.40554e+03_rb,0.28427e+03_rb,0.35000e+02_rb /) kbo(:, 1,27, 1) = (/ & & 0.24689e+02_rb,0.29713e+03_rb,0.40558e+03_rb,0.28431e+03_rb,0.35000e+02_rb /) kbo(:, 2,27, 1) = (/ & & 0.24679e+02_rb,0.29709e+03_rb,0.40550e+03_rb,0.28422e+03_rb,0.35000e+02_rb /) kbo(:, 3,27, 1) = (/ & & 0.24671e+02_rb,0.29699e+03_rb,0.40542e+03_rb,0.28423e+03_rb,0.35000e+02_rb /) kbo(:, 4,27, 1) = (/ & & 0.24664e+02_rb,0.29683e+03_rb,0.40535e+03_rb,0.28405e+03_rb,0.35000e+02_rb /) kbo(:, 5,27, 1) = (/ & & 0.24657e+02_rb,0.29660e+03_rb,0.40529e+03_rb,0.28399e+03_rb,0.35000e+02_rb /) kbo(:, 1,28, 1) = (/ & & 0.24660e+02_rb,0.29710e+03_rb,0.40532e+03_rb,0.28404e+03_rb,0.35000e+02_rb /) kbo(:, 2,28, 1) = (/ & & 0.24653e+02_rb,0.29706e+03_rb,0.40525e+03_rb,0.28395e+03_rb,0.35000e+02_rb /) kbo(:, 3,28, 1) = (/ & & 0.24646e+02_rb,0.29694e+03_rb,0.40519e+03_rb,0.28389e+03_rb,0.35000e+02_rb /) kbo(:, 4,28, 1) = (/ & & 0.24640e+02_rb,0.29676e+03_rb,0.40514e+03_rb,0.28383e+03_rb,0.35000e+02_rb /) kbo(:, 5,28, 1) = (/ & & 0.24635e+02_rb,0.29651e+03_rb,0.40509e+03_rb,0.28376e+03_rb,0.35000e+02_rb /) kbo(:, 1,29, 1) = (/ & & 0.24637e+02_rb,0.29708e+03_rb,0.40511e+03_rb,0.28380e+03_rb,0.35000e+02_rb /) kbo(:, 2,29, 1) = (/ & & 0.24631e+02_rb,0.29702e+03_rb,0.40505e+03_rb,0.28374e+03_rb,0.35000e+02_rb /) kbo(:, 3,29, 1) = (/ & & 0.24626e+02_rb,0.29689e+03_rb,0.40500e+03_rb,0.28368e+03_rb,0.35000e+02_rb /) kbo(:, 4,29, 1) = (/ & & 0.24621e+02_rb,0.29669e+03_rb,0.40496e+03_rb,0.28364e+03_rb,0.35000e+02_rb /) kbo(:, 5,29, 1) = (/ & & 0.24617e+02_rb,0.29643e+03_rb,0.40492e+03_rb,0.28359e+03_rb,0.35000e+02_rb /) kbo(:, 1,30, 1) = (/ & & 0.24619e+02_rb,0.29706e+03_rb,0.40494e+03_rb,0.28360e+03_rb,0.35000e+02_rb /) kbo(:, 2,30, 1) = (/ & & 0.24614e+02_rb,0.29698e+03_rb,0.40489e+03_rb,0.28355e+03_rb,0.35000e+02_rb /) kbo(:, 3,30, 1) = (/ & & 0.24610e+02_rb,0.29683e+03_rb,0.40485e+03_rb,0.28351e+03_rb,0.35000e+02_rb /) kbo(:, 4,30, 1) = (/ & & 0.24606e+02_rb,0.29662e+03_rb,0.40482e+03_rb,0.28347e+03_rb,0.35000e+02_rb /) kbo(:, 5,30, 1) = (/ & & 0.24603e+02_rb,0.29634e+03_rb,0.40479e+03_rb,0.28344e+03_rb,0.35000e+02_rb /) kbo(:, 1,31, 1) = (/ & & 0.24604e+02_rb,0.29704e+03_rb,0.40480e+03_rb,0.28345e+03_rb,0.35000e+02_rb /) kbo(:, 2,31, 1) = (/ & & 0.24600e+02_rb,0.29694e+03_rb,0.40477e+03_rb,0.28341e+03_rb,0.35000e+02_rb /) kbo(:, 3,31, 1) = (/ & & 0.24597e+02_rb,0.29678e+03_rb,0.40473e+03_rb,0.28338e+03_rb,0.35000e+02_rb /) kbo(:, 4,31, 1) = (/ & & 0.24594e+02_rb,0.29655e+03_rb,0.40471e+03_rb,0.28336e+03_rb,0.35000e+02_rb /) kbo(:, 5,31, 1) = (/ & & 0.24591e+02_rb,0.29625e+03_rb,0.40468e+03_rb,0.28332e+03_rb,0.35000e+02_rb /) kbo(:, 1,32, 1) = (/ & & 0.24592e+02_rb,0.29701e+03_rb,0.40469e+03_rb,0.28333e+03_rb,0.35000e+02_rb /) kbo(:, 2,32, 1) = (/ & & 0.24589e+02_rb,0.29689e+03_rb,0.40466e+03_rb,0.28330e+03_rb,0.35000e+02_rb /) kbo(:, 3,32, 1) = (/ & & 0.24586e+02_rb,0.29672e+03_rb,0.40464e+03_rb,0.28328e+03_rb,0.35000e+02_rb /) kbo(:, 4,32, 1) = (/ & & 0.24584e+02_rb,0.29647e+03_rb,0.40461e+03_rb,0.28324e+03_rb,0.35000e+02_rb /) kbo(:, 5,32, 1) = (/ & & 0.24582e+02_rb,0.29615e+03_rb,0.40459e+03_rb,0.28325e+03_rb,0.35000e+02_rb /) kbo(:, 1,33, 1) = (/ & & 0.24582e+02_rb,0.29698e+03_rb,0.40460e+03_rb,0.28323e+03_rb,0.35000e+02_rb /) kbo(:, 2,33, 1) = (/ & & 0.24580e+02_rb,0.29685e+03_rb,0.40458e+03_rb,0.28321e+03_rb,0.35000e+02_rb /) kbo(:, 3,33, 1) = (/ & & 0.24578e+02_rb,0.29665e+03_rb,0.40456e+03_rb,0.28318e+03_rb,0.35000e+02_rb /) kbo(:, 4,33, 1) = (/ & & 0.24576e+02_rb,0.29639e+03_rb,0.40454e+03_rb,0.28317e+03_rb,0.35000e+02_rb /) kbo(:, 5,33, 1) = (/ & & 0.24574e+02_rb,0.29605e+03_rb,0.40452e+03_rb,0.28315e+03_rb,0.35000e+02_rb /) kbo(:, 1,34, 1) = (/ & & 0.24574e+02_rb,0.29695e+03_rb,0.40453e+03_rb,0.28315e+03_rb,0.35000e+02_rb /) kbo(:, 2,34, 1) = (/ & & 0.24572e+02_rb,0.29680e+03_rb,0.40451e+03_rb,0.28313e+03_rb,0.35000e+02_rb /) kbo(:, 3,34, 1) = (/ & & 0.24571e+02_rb,0.29659e+03_rb,0.40449e+03_rb,0.28312e+03_rb,0.35000e+02_rb /) kbo(:, 4,34, 1) = (/ & & 0.24569e+02_rb,0.29631e+03_rb,0.40448e+03_rb,0.28310e+03_rb,0.35000e+02_rb /) kbo(:, 5,34, 1) = (/ & & 0.24568e+02_rb,0.29596e+03_rb,0.40447e+03_rb,0.28308e+03_rb,0.35000e+02_rb /) kbo(:, 1,35, 1) = (/ & & 0.24568e+02_rb,0.29693e+03_rb,0.40447e+03_rb,0.28309e+03_rb,0.35000e+02_rb /) kbo(:, 2,35, 1) = (/ & & 0.24567e+02_rb,0.29678e+03_rb,0.40446e+03_rb,0.28308e+03_rb,0.35000e+02_rb /) kbo(:, 3,35, 1) = (/ & & 0.24565e+02_rb,0.29656e+03_rb,0.40444e+03_rb,0.28306e+03_rb,0.35000e+02_rb /) kbo(:, 4,35, 1) = (/ & & 0.24564e+02_rb,0.29627e+03_rb,0.40443e+03_rb,0.28305e+03_rb,0.35000e+02_rb /) kbo(:, 5,35, 1) = (/ & & 0.24563e+02_rb,0.29590e+03_rb,0.40442e+03_rb,0.28304e+03_rb,0.35000e+02_rb /) kbo(:, 1,36, 1) = (/ & & 0.24563e+02_rb,0.29692e+03_rb,0.40443e+03_rb,0.28305e+03_rb,0.35000e+02_rb /) kbo(:, 2,36, 1) = (/ & & 0.24562e+02_rb,0.29677e+03_rb,0.40442e+03_rb,0.28304e+03_rb,0.35000e+02_rb /) kbo(:, 3,36, 1) = (/ & & 0.24561e+02_rb,0.29655e+03_rb,0.40440e+03_rb,0.28301e+03_rb,0.35000e+02_rb /) kbo(:, 4,36, 1) = (/ & & 0.24560e+02_rb,0.29626e+03_rb,0.40440e+03_rb,0.28302e+03_rb,0.35000e+02_rb /) kbo(:, 5,36, 1) = (/ & & 0.24559e+02_rb,0.29589e+03_rb,0.40439e+03_rb,0.28301e+03_rb,0.35000e+02_rb /) kbo(:, 1,37, 1) = (/ & & 0.24560e+02_rb,0.29693e+03_rb,0.40439e+03_rb,0.28301e+03_rb,0.35000e+02_rb /) kbo(:, 2,37, 1) = (/ & & 0.24559e+02_rb,0.29679e+03_rb,0.40438e+03_rb,0.28299e+03_rb,0.35000e+02_rb /) kbo(:, 3,37, 1) = (/ & & 0.24558e+02_rb,0.29658e+03_rb,0.40437e+03_rb,0.28299e+03_rb,0.35000e+02_rb /) kbo(:, 4,37, 1) = (/ & & 0.24557e+02_rb,0.29630e+03_rb,0.40437e+03_rb,0.28297e+03_rb,0.35000e+02_rb /) kbo(:, 5,37, 1) = (/ & & 0.24556e+02_rb,0.29594e+03_rb,0.40436e+03_rb,0.28297e+03_rb,0.35000e+02_rb /) kbo(:, 1,38, 1) = (/ & & 0.24557e+02_rb,0.29695e+03_rb,0.40436e+03_rb,0.28297e+03_rb,0.35000e+02_rb /) kbo(:, 2,38, 1) = (/ & & 0.24556e+02_rb,0.29681e+03_rb,0.40436e+03_rb,0.28296e+03_rb,0.35000e+02_rb /) kbo(:, 3,38, 1) = (/ & & 0.24555e+02_rb,0.29661e+03_rb,0.40435e+03_rb,0.28297e+03_rb,0.35000e+02_rb /) kbo(:, 4,38, 1) = (/ & & 0.24554e+02_rb,0.29634e+03_rb,0.40434e+03_rb,0.28296e+03_rb,0.35000e+02_rb /) kbo(:, 5,38, 1) = (/ & & 0.24554e+02_rb,0.29599e+03_rb,0.40434e+03_rb,0.28294e+03_rb,0.35000e+02_rb /) kbo(:, 1,39, 1) = (/ & & 0.24554e+02_rb,0.29696e+03_rb,0.40434e+03_rb,0.28295e+03_rb,0.35000e+02_rb /) kbo(:, 2,39, 1) = (/ & & 0.24553e+02_rb,0.29683e+03_rb,0.40433e+03_rb,0.28294e+03_rb,0.35000e+02_rb /) kbo(:, 3,39, 1) = (/ & & 0.24553e+02_rb,0.29664e+03_rb,0.40433e+03_rb,0.28293e+03_rb,0.35000e+02_rb /) kbo(:, 4,39, 1) = (/ & & 0.24552e+02_rb,0.29638e+03_rb,0.40432e+03_rb,0.28292e+03_rb,0.35000e+02_rb /) kbo(:, 5,39, 1) = (/ & & 0.24552e+02_rb,0.29604e+03_rb,0.40432e+03_rb,0.28292e+03_rb,0.35000e+02_rb /) kbo(:, 1,40, 1) = (/ & & 0.24552e+02_rb,0.29698e+03_rb,0.40432e+03_rb,0.28292e+03_rb,0.35000e+02_rb /) kbo(:, 2,40, 1) = (/ & & 0.24551e+02_rb,0.29687e+03_rb,0.40432e+03_rb,0.28293e+03_rb,0.35000e+02_rb /) kbo(:, 3,40, 1) = (/ & & 0.24551e+02_rb,0.29669e+03_rb,0.40431e+03_rb,0.28292e+03_rb,0.35000e+02_rb /) kbo(:, 4,40, 1) = (/ & & 0.24550e+02_rb,0.29645e+03_rb,0.40431e+03_rb,0.28291e+03_rb,0.35000e+02_rb /) kbo(:, 5,40, 1) = (/ & & 0.24550e+02_rb,0.29613e+03_rb,0.40430e+03_rb,0.28291e+03_rb,0.35000e+02_rb /) kbo(:, 1,41, 1) = (/ & & 0.24550e+02_rb,0.29699e+03_rb,0.40431e+03_rb,0.28290e+03_rb,0.35000e+02_rb /) kbo(:, 2,41, 1) = (/ & & 0.24550e+02_rb,0.29690e+03_rb,0.40430e+03_rb,0.28291e+03_rb,0.35000e+02_rb /) kbo(:, 3,41, 1) = (/ & & 0.24549e+02_rb,0.29674e+03_rb,0.40430e+03_rb,0.28289e+03_rb,0.35000e+02_rb /) kbo(:, 4,41, 1) = (/ & & 0.24549e+02_rb,0.29651e+03_rb,0.40429e+03_rb,0.28290e+03_rb,0.35000e+02_rb /) kbo(:, 5,41, 1) = (/ & & 0.24549e+02_rb,0.29622e+03_rb,0.40429e+03_rb,0.28289e+03_rb,0.35000e+02_rb /) kbo(:, 1,42, 1) = (/ & & 0.24549e+02_rb,0.29700e+03_rb,0.40429e+03_rb,0.28289e+03_rb,0.35000e+02_rb /) kbo(:, 2,42, 1) = (/ & & 0.24549e+02_rb,0.29693e+03_rb,0.40429e+03_rb,0.28289e+03_rb,0.35000e+02_rb /) kbo(:, 3,42, 1) = (/ & & 0.24548e+02_rb,0.29679e+03_rb,0.40429e+03_rb,0.28289e+03_rb,0.35000e+02_rb /) kbo(:, 4,42, 1) = (/ & & 0.24548e+02_rb,0.29658e+03_rb,0.40428e+03_rb,0.28289e+03_rb,0.35000e+02_rb /) kbo(:, 5,42, 1) = (/ & & 0.24547e+02_rb,0.29630e+03_rb,0.40428e+03_rb,0.28288e+03_rb,0.35000e+02_rb /) kbo(:, 1,43, 1) = (/ & & 0.24548e+02_rb,0.29701e+03_rb,0.40428e+03_rb,0.28288e+03_rb,0.35000e+02_rb /) kbo(:, 2,43, 1) = (/ & & 0.24547e+02_rb,0.29696e+03_rb,0.40428e+03_rb,0.28288e+03_rb,0.35000e+02_rb /) kbo(:, 3,43, 1) = (/ & & 0.24547e+02_rb,0.29684e+03_rb,0.40428e+03_rb,0.28288e+03_rb,0.35000e+02_rb /) kbo(:, 4,43, 1) = (/ & & 0.24547e+02_rb,0.29665e+03_rb,0.40427e+03_rb,0.28288e+03_rb,0.35000e+02_rb /) kbo(:, 5,43, 1) = (/ & & 0.24547e+02_rb,0.29639e+03_rb,0.40427e+03_rb,0.28288e+03_rb,0.35000e+02_rb /) kbo(:, 1,44, 1) = (/ & & 0.24547e+02_rb,0.29702e+03_rb,0.40427e+03_rb,0.28287e+03_rb,0.35000e+02_rb /) kbo(:, 2,44, 1) = (/ & & 0.24547e+02_rb,0.29698e+03_rb,0.40427e+03_rb,0.28287e+03_rb,0.35000e+02_rb /) kbo(:, 3,44, 1) = (/ & & 0.24546e+02_rb,0.29688e+03_rb,0.40427e+03_rb,0.28287e+03_rb,0.35000e+02_rb /) kbo(:, 4,44, 1) = (/ & & 0.24546e+02_rb,0.29672e+03_rb,0.40427e+03_rb,0.28287e+03_rb,0.35000e+02_rb /) kbo(:, 5,44, 1) = (/ & & 0.24546e+02_rb,0.29649e+03_rb,0.40426e+03_rb,0.28286e+03_rb,0.35000e+02_rb /) kbo(:, 1,45, 1) = (/ & & 0.24546e+02_rb,0.29701e+03_rb,0.40427e+03_rb,0.28287e+03_rb,0.35000e+02_rb /) kbo(:, 2,45, 1) = (/ & & 0.24546e+02_rb,0.29700e+03_rb,0.40426e+03_rb,0.28287e+03_rb,0.35000e+02_rb /) kbo(:, 3,45, 1) = (/ & & 0.24546e+02_rb,0.29692e+03_rb,0.40426e+03_rb,0.28286e+03_rb,0.35000e+02_rb /) kbo(:, 4,45, 1) = (/ & & 0.24545e+02_rb,0.29678e+03_rb,0.40426e+03_rb,0.28286e+03_rb,0.35000e+02_rb /) kbo(:, 5,45, 1) = (/ & & 0.24545e+02_rb,0.29657e+03_rb,0.40426e+03_rb,0.28286e+03_rb,0.35000e+02_rb /) kbo(:, 1,46, 1) = (/ & & 0.24545e+02_rb,0.29699e+03_rb,0.40426e+03_rb,0.28287e+03_rb,0.35000e+02_rb /) kbo(:, 2,46, 1) = (/ & & 0.24545e+02_rb,0.29701e+03_rb,0.40426e+03_rb,0.28285e+03_rb,0.35000e+02_rb /) kbo(:, 3,46, 1) = (/ & & 0.24545e+02_rb,0.29696e+03_rb,0.40426e+03_rb,0.28286e+03_rb,0.35000e+02_rb /) kbo(:, 4,46, 1) = (/ & & 0.24545e+02_rb,0.29684e+03_rb,0.40425e+03_rb,0.28285e+03_rb,0.35000e+02_rb /) kbo(:, 5,46, 1) = (/ & & 0.24545e+02_rb,0.29665e+03_rb,0.40425e+03_rb,0.28285e+03_rb,0.35000e+02_rb /) kbo(:, 1,47, 1) = (/ & & 0.24545e+02_rb,0.29696e+03_rb,0.40425e+03_rb,0.28285e+03_rb,0.35000e+02_rb /) kbo(:, 2,47, 1) = (/ & & 0.24545e+02_rb,0.29701e+03_rb,0.40425e+03_rb,0.28286e+03_rb,0.35000e+02_rb /) kbo(:, 3,47, 1) = (/ & & 0.24544e+02_rb,0.29699e+03_rb,0.40425e+03_rb,0.28285e+03_rb,0.35000e+02_rb /) kbo(:, 4,47, 1) = (/ & & 0.24544e+02_rb,0.29690e+03_rb,0.40425e+03_rb,0.28285e+03_rb,0.35000e+02_rb /) kbo(:, 5,47, 1) = (/ & & 0.24544e+02_rb,0.29674e+03_rb,0.40425e+03_rb,0.28286e+03_rb,0.35000e+02_rb /) kbo(:, 1,48, 1) = (/ & & 0.24544e+02_rb,0.29691e+03_rb,0.40425e+03_rb,0.28286e+03_rb,0.35000e+02_rb /) kbo(:, 2,48, 1) = (/ & & 0.24544e+02_rb,0.29700e+03_rb,0.40425e+03_rb,0.28285e+03_rb,0.35000e+02_rb /) kbo(:, 3,48, 1) = (/ & & 0.24544e+02_rb,0.29701e+03_rb,0.40425e+03_rb,0.28284e+03_rb,0.35000e+02_rb /) kbo(:, 4,48, 1) = (/ & & 0.24544e+02_rb,0.29694e+03_rb,0.40425e+03_rb,0.28285e+03_rb,0.35000e+02_rb /) kbo(:, 5,48, 1) = (/ & & 0.24544e+02_rb,0.29681e+03_rb,0.40425e+03_rb,0.28284e+03_rb,0.35000e+02_rb /) kbo(:, 1,49, 1) = (/ & & 0.24544e+02_rb,0.29685e+03_rb,0.40425e+03_rb,0.28284e+03_rb,0.35000e+02_rb /) kbo(:, 2,49, 1) = (/ & & 0.24544e+02_rb,0.29698e+03_rb,0.40425e+03_rb,0.28284e+03_rb,0.35000e+02_rb /) kbo(:, 3,49, 1) = (/ & & 0.24544e+02_rb,0.29701e+03_rb,0.40424e+03_rb,0.28284e+03_rb,0.35000e+02_rb /) kbo(:, 4,49, 1) = (/ & & 0.24544e+02_rb,0.29697e+03_rb,0.40424e+03_rb,0.28285e+03_rb,0.35000e+02_rb /) kbo(:, 5,49, 1) = (/ & & 0.24544e+02_rb,0.29687e+03_rb,0.40424e+03_rb,0.28284e+03_rb,0.35000e+02_rb /) kbo(:, 1,50, 1) = (/ & & 0.24544e+02_rb,0.29678e+03_rb,0.40424e+03_rb,0.28284e+03_rb,0.35000e+02_rb /) kbo(:, 2,50, 1) = (/ & & 0.24544e+02_rb,0.29694e+03_rb,0.40424e+03_rb,0.28284e+03_rb,0.35000e+02_rb /) kbo(:, 3,50, 1) = (/ & & 0.24543e+02_rb,0.29701e+03_rb,0.40424e+03_rb,0.28284e+03_rb,0.35000e+02_rb /) kbo(:, 4,50, 1) = (/ & & 0.24543e+02_rb,0.29700e+03_rb,0.40424e+03_rb,0.28284e+03_rb,0.35000e+02_rb /) kbo(:, 5,50, 1) = (/ & & 0.24543e+02_rb,0.29692e+03_rb,0.40424e+03_rb,0.28284e+03_rb,0.35000e+02_rb /) kbo(:, 1,51, 1) = (/ & & 0.24543e+02_rb,0.29670e+03_rb,0.40424e+03_rb,0.28284e+03_rb,0.35000e+02_rb /) kbo(:, 2,51, 1) = (/ & & 0.24543e+02_rb,0.29689e+03_rb,0.40424e+03_rb,0.28284e+03_rb,0.35000e+02_rb /) kbo(:, 3,51, 1) = (/ & & 0.24543e+02_rb,0.29699e+03_rb,0.40424e+03_rb,0.28284e+03_rb,0.35000e+02_rb /) kbo(:, 4,51, 1) = (/ & & 0.24543e+02_rb,0.29701e+03_rb,0.40424e+03_rb,0.28284e+03_rb,0.35000e+02_rb /) kbo(:, 5,51, 1) = (/ & & 0.24543e+02_rb,0.29695e+03_rb,0.40424e+03_rb,0.28284e+03_rb,0.35000e+02_rb /) kbo(:, 1,52, 1) = (/ & & 0.24543e+02_rb,0.29660e+03_rb,0.40424e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 2,52, 1) = (/ & & 0.24543e+02_rb,0.29684e+03_rb,0.40424e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 3,52, 1) = (/ & & 0.24543e+02_rb,0.29697e+03_rb,0.40424e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 4,52, 1) = (/ & & 0.24543e+02_rb,0.29701e+03_rb,0.40424e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 5,52, 1) = (/ & & 0.24543e+02_rb,0.29698e+03_rb,0.40424e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 1,53, 1) = (/ & & 0.24543e+02_rb,0.29648e+03_rb,0.40424e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 2,53, 1) = (/ & & 0.24543e+02_rb,0.29676e+03_rb,0.40424e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 3,53, 1) = (/ & & 0.24543e+02_rb,0.29693e+03_rb,0.40424e+03_rb,0.28284e+03_rb,0.35000e+02_rb /) kbo(:, 4,53, 1) = (/ & & 0.24543e+02_rb,0.29701e+03_rb,0.40424e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 5,53, 1) = (/ & & 0.24543e+02_rb,0.29700e+03_rb,0.40424e+03_rb,0.28284e+03_rb,0.35000e+02_rb /) kbo(:, 1,54, 1) = (/ & & 0.24543e+02_rb,0.29635e+03_rb,0.40424e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 2,54, 1) = (/ & & 0.24543e+02_rb,0.29668e+03_rb,0.40424e+03_rb,0.28284e+03_rb,0.35000e+02_rb /) kbo(:, 3,54, 1) = (/ & & 0.24543e+02_rb,0.29688e+03_rb,0.40424e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 4,54, 1) = (/ & & 0.24543e+02_rb,0.29699e+03_rb,0.40423e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 5,54, 1) = (/ & & 0.24543e+02_rb,0.29701e+03_rb,0.40423e+03_rb,0.28285e+03_rb,0.35000e+02_rb /) kbo(:, 1,55, 1) = (/ & & 0.24543e+02_rb,0.29622e+03_rb,0.40424e+03_rb,0.28285e+03_rb,0.35000e+02_rb /) kbo(:, 2,55, 1) = (/ & & 0.24543e+02_rb,0.29659e+03_rb,0.40423e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 3,55, 1) = (/ & & 0.24543e+02_rb,0.29683e+03_rb,0.40423e+03_rb,0.28284e+03_rb,0.35000e+02_rb /) kbo(:, 4,55, 1) = (/ & & 0.24543e+02_rb,0.29696e+03_rb,0.40423e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 5,55, 1) = (/ & & 0.24543e+02_rb,0.29701e+03_rb,0.40423e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 1,56, 1) = (/ & & 0.24543e+02_rb,0.29607e+03_rb,0.40423e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 2,56, 1) = (/ & & 0.24543e+02_rb,0.29649e+03_rb,0.40423e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 3,56, 1) = (/ & & 0.24543e+02_rb,0.29676e+03_rb,0.40423e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 4,56, 1) = (/ & & 0.24542e+02_rb,0.29693e+03_rb,0.40423e+03_rb,0.28282e+03_rb,0.35000e+02_rb /) kbo(:, 5,56, 1) = (/ & & 0.24542e+02_rb,0.29700e+03_rb,0.40423e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 1,57, 1) = (/ & & 0.24543e+02_rb,0.29591e+03_rb,0.40423e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 2,57, 1) = (/ & & 0.24542e+02_rb,0.29637e+03_rb,0.40423e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 3,57, 1) = (/ & & 0.24542e+02_rb,0.29669e+03_rb,0.40423e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 4,57, 1) = (/ & & 0.24542e+02_rb,0.29689e+03_rb,0.40423e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 5,57, 1) = (/ & & 0.24542e+02_rb,0.29699e+03_rb,0.40423e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 1,58, 1) = (/ & & 0.24542e+02_rb,0.29574e+03_rb,0.40423e+03_rb,0.28282e+03_rb,0.35000e+02_rb /) kbo(:, 2,58, 1) = (/ & & 0.24542e+02_rb,0.29624e+03_rb,0.40423e+03_rb,0.28282e+03_rb,0.35000e+02_rb /) kbo(:, 3,58, 1) = (/ & & 0.24542e+02_rb,0.29660e+03_rb,0.40423e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 4,58, 1) = (/ & & 0.24542e+02_rb,0.29684e+03_rb,0.40423e+03_rb,0.28284e+03_rb,0.35000e+02_rb /) kbo(:, 5,58, 1) = (/ & & 0.24542e+02_rb,0.29697e+03_rb,0.40423e+03_rb,0.28282e+03_rb,0.35000e+02_rb /) kbo(:, 1,59, 1) = (/ & & 0.24542e+02_rb,0.29566e+03_rb,0.40423e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 2,59, 1) = (/ & & 0.24542e+02_rb,0.29619e+03_rb,0.40423e+03_rb,0.28282e+03_rb,0.35000e+02_rb /) kbo(:, 3,59, 1) = (/ & & 0.24542e+02_rb,0.29657e+03_rb,0.40423e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 4,59, 1) = (/ & & 0.24542e+02_rb,0.29682e+03_rb,0.40423e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 5,59, 1) = (/ & & 0.24542e+02_rb,0.29696e+03_rb,0.40423e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 1,13, 2) = (/ & & 0.10177e+03_rb,0.32761e+03_rb,0.45575e+03_rb,0.31335e+03_rb,0.71839e+02_rb /) kbo(:, 2,13, 2) = (/ & & 0.10099e+03_rb,0.32713e+03_rb,0.45383e+03_rb,0.31125e+03_rb,0.71839e+02_rb /) kbo(:, 3,13, 2) = (/ & & 0.10031e+03_rb,0.32663e+03_rb,0.45216e+03_rb,0.30943e+03_rb,0.71839e+02_rb /) kbo(:, 4,13, 2) = (/ & & 0.99721e+02_rb,0.32612e+03_rb,0.45071e+03_rb,0.30785e+03_rb,0.71839e+02_rb /) kbo(:, 5,13, 2) = (/ & & 0.99204e+02_rb,0.32558e+03_rb,0.44942e+03_rb,0.30646e+03_rb,0.71839e+02_rb /) kbo(:, 1,14, 2) = (/ & & 0.99803e+02_rb,0.32613e+03_rb,0.45091e+03_rb,0.30807e+03_rb,0.71839e+02_rb /) kbo(:, 2,14, 2) = (/ & & 0.99169e+02_rb,0.32574e+03_rb,0.44934e+03_rb,0.30636e+03_rb,0.71839e+02_rb /) kbo(:, 3,14, 2) = (/ & & 0.98622e+02_rb,0.32534e+03_rb,0.44797e+03_rb,0.30489e+03_rb,0.71839e+02_rb /) kbo(:, 4,14, 2) = (/ & & 0.98146e+02_rb,0.32491e+03_rb,0.44677e+03_rb,0.30362e+03_rb,0.71839e+02_rb /) kbo(:, 5,14, 2) = (/ & & 0.97728e+02_rb,0.32444e+03_rb,0.44571e+03_rb,0.30248e+03_rb,0.71839e+02_rb /) kbo(:, 1,15, 2) = (/ & & 0.98198e+02_rb,0.32493e+03_rb,0.44690e+03_rb,0.30375e+03_rb,0.71839e+02_rb /) kbo(:, 2,15, 2) = (/ & & 0.97687e+02_rb,0.32462e+03_rb,0.44560e+03_rb,0.30237e+03_rb,0.71839e+02_rb /) kbo(:, 3,15, 2) = (/ & & 0.97245e+02_rb,0.32429e+03_rb,0.44448e+03_rb,0.30119e+03_rb,0.71839e+02_rb /) kbo(:, 4,15, 2) = (/ & & 0.96861e+02_rb,0.32392e+03_rb,0.44350e+03_rb,0.30014e+03_rb,0.71839e+02_rb /) kbo(:, 5,15, 2) = (/ & & 0.96523e+02_rb,0.32350e+03_rb,0.44263e+03_rb,0.29923e+03_rb,0.71839e+02_rb /) kbo(:, 1,16, 2) = (/ & & 0.96892e+02_rb,0.32395e+03_rb,0.44358e+03_rb,0.30023e+03_rb,0.71839e+02_rb /) kbo(:, 2,16, 2) = (/ & & 0.96480e+02_rb,0.32371e+03_rb,0.44252e+03_rb,0.29912e+03_rb,0.71839e+02_rb /) kbo(:, 3,16, 2) = (/ & & 0.96125e+02_rb,0.32343e+03_rb,0.44161e+03_rb,0.29817e+03_rb,0.71839e+02_rb /) kbo(:, 4,16, 2) = (/ & & 0.95814e+02_rb,0.32311e+03_rb,0.44081e+03_rb,0.29733e+03_rb,0.71839e+02_rb /) kbo(:, 5,16, 2) = (/ & & 0.95541e+02_rb,0.32273e+03_rb,0.44010e+03_rb,0.29661e+03_rb,0.71839e+02_rb /) kbo(:, 1,17, 2) = (/ & & 0.95833e+02_rb,0.32316e+03_rb,0.44086e+03_rb,0.29737e+03_rb,0.71839e+02_rb /) kbo(:, 2,17, 2) = (/ & & 0.95501e+02_rb,0.32297e+03_rb,0.44000e+03_rb,0.29648e+03_rb,0.71839e+02_rb /) kbo(:, 3,17, 2) = (/ & & 0.95214e+02_rb,0.32274e+03_rb,0.43925e+03_rb,0.29569e+03_rb,0.71839e+02_rb /) kbo(:, 4,17, 2) = (/ & & 0.94964e+02_rb,0.32245e+03_rb,0.43860e+03_rb,0.29502e+03_rb,0.71839e+02_rb /) kbo(:, 5,17, 2) = (/ & & 0.94743e+02_rb,0.32210e+03_rb,0.43803e+03_rb,0.29442e+03_rb,0.71839e+02_rb /) kbo(:, 1,18, 2) = (/ & & 0.94974e+02_rb,0.32251e+03_rb,0.43863e+03_rb,0.29504e+03_rb,0.71839e+02_rb /) kbo(:, 2,18, 2) = (/ & & 0.94707e+02_rb,0.32236e+03_rb,0.43793e+03_rb,0.29432e+03_rb,0.71839e+02_rb /) kbo(:, 3,18, 2) = (/ & & 0.94475e+02_rb,0.32217e+03_rb,0.43733e+03_rb,0.29369e+03_rb,0.71839e+02_rb /) kbo(:, 4,18, 2) = (/ & & 0.94272e+02_rb,0.32191e+03_rb,0.43680e+03_rb,0.29315e+03_rb,0.71839e+02_rb /) kbo(:, 5,18, 2) = (/ & & 0.94094e+02_rb,0.32158e+03_rb,0.43633e+03_rb,0.29267e+03_rb,0.71839e+02_rb /) kbo(:, 1,19, 2) = (/ & & 0.94277e+02_rb,0.32199e+03_rb,0.43681e+03_rb,0.29316e+03_rb,0.71839e+02_rb /) kbo(:, 2,19, 2) = (/ & & 0.94061e+02_rb,0.32187e+03_rb,0.43624e+03_rb,0.29258e+03_rb,0.71839e+02_rb /) kbo(:, 3,19, 2) = (/ & & 0.93874e+02_rb,0.32170e+03_rb,0.43575e+03_rb,0.29207e+03_rb,0.71839e+02_rb /) kbo(:, 4,19, 2) = (/ & & 0.93711e+02_rb,0.32146e+03_rb,0.43532e+03_rb,0.29164e+03_rb,0.71839e+02_rb /) kbo(:, 5,19, 2) = (/ & & 0.93566e+02_rb,0.32115e+03_rb,0.43494e+03_rb,0.29125e+03_rb,0.71839e+02_rb /) kbo(:, 1,20, 2) = (/ & & 0.93708e+02_rb,0.32157e+03_rb,0.43531e+03_rb,0.29163e+03_rb,0.71839e+02_rb /) kbo(:, 2,20, 2) = (/ & & 0.93534e+02_rb,0.32147e+03_rb,0.43485e+03_rb,0.29117e+03_rb,0.71839e+02_rb /) kbo(:, 3,20, 2) = (/ & & 0.93383e+02_rb,0.32132e+03_rb,0.43445e+03_rb,0.29076e+03_rb,0.71839e+02_rb /) kbo(:, 4,20, 2) = (/ & & 0.93251e+02_rb,0.32109e+03_rb,0.43411e+03_rb,0.29041e+03_rb,0.71839e+02_rb /) kbo(:, 5,20, 2) = (/ & & 0.93135e+02_rb,0.32079e+03_rb,0.43380e+03_rb,0.29010e+03_rb,0.71839e+02_rb /) kbo(:, 1,21, 2) = (/ & & 0.93246e+02_rb,0.32122e+03_rb,0.43409e+03_rb,0.29040e+03_rb,0.71839e+02_rb /) kbo(:, 2,21, 2) = (/ & & 0.93106e+02_rb,0.32114e+03_rb,0.43372e+03_rb,0.29003e+03_rb,0.71839e+02_rb /) kbo(:, 3,21, 2) = (/ & & 0.92985e+02_rb,0.32100e+03_rb,0.43340e+03_rb,0.28970e+03_rb,0.71839e+02_rb /) kbo(:, 4,21, 2) = (/ & & 0.92878e+02_rb,0.32079e+03_rb,0.43311e+03_rb,0.28941e+03_rb,0.71839e+02_rb /) kbo(:, 5,21, 2) = (/ & & 0.92784e+02_rb,0.32049e+03_rb,0.43286e+03_rb,0.28917e+03_rb,0.71839e+02_rb /) kbo(:, 1,22, 2) = (/ & & 0.92863e+02_rb,0.32094e+03_rb,0.43307e+03_rb,0.28938e+03_rb,0.71839e+02_rb /) kbo(:, 2,22, 2) = (/ & & 0.92751e+02_rb,0.32087e+03_rb,0.43278e+03_rb,0.28908e+03_rb,0.71839e+02_rb /) kbo(:, 3,22, 2) = (/ & & 0.92655e+02_rb,0.32073e+03_rb,0.43252e+03_rb,0.28882e+03_rb,0.71839e+02_rb /) kbo(:, 4,22, 2) = (/ & & 0.92569e+02_rb,0.32051e+03_rb,0.43229e+03_rb,0.28860e+03_rb,0.71839e+02_rb /) kbo(:, 5,22, 2) = (/ & & 0.92494e+02_rb,0.32022e+03_rb,0.43209e+03_rb,0.28840e+03_rb,0.71839e+02_rb /) kbo(:, 1,23, 2) = (/ & & 0.92553e+02_rb,0.32072e+03_rb,0.43225e+03_rb,0.28855e+03_rb,0.71839e+02_rb /) kbo(:, 2,23, 2) = (/ & & 0.92465e+02_rb,0.32064e+03_rb,0.43201e+03_rb,0.28832e+03_rb,0.71839e+02_rb /) kbo(:, 3,23, 2) = (/ & & 0.92387e+02_rb,0.32050e+03_rb,0.43180e+03_rb,0.28811e+03_rb,0.71839e+02_rb /) kbo(:, 4,23, 2) = (/ & & 0.92319e+02_rb,0.32029e+03_rb,0.43162e+03_rb,0.28793e+03_rb,0.71839e+02_rb /) kbo(:, 5,23, 2) = (/ & & 0.92259e+02_rb,0.31998e+03_rb,0.43146e+03_rb,0.28778e+03_rb,0.71839e+02_rb /) kbo(:, 1,24, 2) = (/ & & 0.92303e+02_rb,0.32053e+03_rb,0.43158e+03_rb,0.28789e+03_rb,0.71839e+02_rb /) kbo(:, 2,24, 2) = (/ & & 0.92233e+02_rb,0.32046e+03_rb,0.43139e+03_rb,0.28770e+03_rb,0.71839e+02_rb /) kbo(:, 3,24, 2) = (/ & & 0.92171e+02_rb,0.32031e+03_rb,0.43122e+03_rb,0.28754e+03_rb,0.71839e+02_rb /) kbo(:, 4,24, 2) = (/ & & 0.92117e+02_rb,0.32009e+03_rb,0.43108e+03_rb,0.28740e+03_rb,0.71839e+02_rb /) kbo(:, 5,24, 2) = (/ & & 0.92068e+02_rb,0.31978e+03_rb,0.43095e+03_rb,0.28727e+03_rb,0.71839e+02_rb /) kbo(:, 1,25, 2) = (/ & & 0.92101e+02_rb,0.32038e+03_rb,0.43103e+03_rb,0.28736e+03_rb,0.71839e+02_rb /) kbo(:, 2,25, 2) = (/ & & 0.92045e+02_rb,0.32030e+03_rb,0.43088e+03_rb,0.28721e+03_rb,0.71839e+02_rb /) kbo(:, 3,25, 2) = (/ & & 0.91996e+02_rb,0.32015e+03_rb,0.43075e+03_rb,0.28708e+03_rb,0.71839e+02_rb /) kbo(:, 4,25, 2) = (/ & & 0.91952e+02_rb,0.31991e+03_rb,0.43064e+03_rb,0.28696e+03_rb,0.71839e+02_rb /) kbo(:, 5,25, 2) = (/ & & 0.91914e+02_rb,0.31959e+03_rb,0.43053e+03_rb,0.28684e+03_rb,0.71839e+02_rb /) kbo(:, 1,26, 2) = (/ & & 0.91937e+02_rb,0.32025e+03_rb,0.43059e+03_rb,0.28693e+03_rb,0.71839e+02_rb /) kbo(:, 2,26, 2) = (/ & & 0.91892e+02_rb,0.32016e+03_rb,0.43047e+03_rb,0.28680e+03_rb,0.71839e+02_rb /) kbo(:, 3,26, 2) = (/ & & 0.91853e+02_rb,0.32000e+03_rb,0.43037e+03_rb,0.28670e+03_rb,0.71839e+02_rb /) kbo(:, 4,26, 2) = (/ & & 0.91819e+02_rb,0.31975e+03_rb,0.43028e+03_rb,0.28661e+03_rb,0.71839e+02_rb /) kbo(:, 5,26, 2) = (/ & & 0.91788e+02_rb,0.31942e+03_rb,0.43019e+03_rb,0.28653e+03_rb,0.71839e+02_rb /) kbo(:, 1,27, 2) = (/ & & 0.91805e+02_rb,0.32015e+03_rb,0.43024e+03_rb,0.28658e+03_rb,0.71839e+02_rb /) kbo(:, 2,27, 2) = (/ & & 0.91770e+02_rb,0.32005e+03_rb,0.43014e+03_rb,0.28648e+03_rb,0.71839e+02_rb /) kbo(:, 3,27, 2) = (/ & & 0.91738e+02_rb,0.31986e+03_rb,0.43006e+03_rb,0.28630e+03_rb,0.71839e+02_rb /) kbo(:, 4,27, 2) = (/ & & 0.91711e+02_rb,0.31960e+03_rb,0.42998e+03_rb,0.28633e+03_rb,0.71839e+02_rb /) kbo(:, 5,27, 2) = (/ & & 0.91687e+02_rb,0.31925e+03_rb,0.42992e+03_rb,0.28626e+03_rb,0.71839e+02_rb /) kbo(:, 1,28, 2) = (/ & & 0.91698e+02_rb,0.32005e+03_rb,0.42995e+03_rb,0.28628e+03_rb,0.71839e+02_rb /) kbo(:, 2,28, 2) = (/ & & 0.91670e+02_rb,0.31994e+03_rb,0.42987e+03_rb,0.28622e+03_rb,0.71839e+02_rb /) kbo(:, 3,28, 2) = (/ & & 0.91646e+02_rb,0.31974e+03_rb,0.42981e+03_rb,0.28615e+03_rb,0.71839e+02_rb /) kbo(:, 4,28, 2) = (/ & & 0.91624e+02_rb,0.31946e+03_rb,0.42975e+03_rb,0.28609e+03_rb,0.71839e+02_rb /) kbo(:, 5,28, 2) = (/ & & 0.91604e+02_rb,0.31910e+03_rb,0.42970e+03_rb,0.28605e+03_rb,0.71839e+02_rb /) kbo(:, 1,29, 2) = (/ & & 0.91613e+02_rb,0.31997e+03_rb,0.42972e+03_rb,0.28605e+03_rb,0.71839e+02_rb /) kbo(:, 2,29, 2) = (/ & & 0.91591e+02_rb,0.31984e+03_rb,0.42966e+03_rb,0.28600e+03_rb,0.71839e+02_rb /) kbo(:, 3,29, 2) = (/ & & 0.91571e+02_rb,0.31963e+03_rb,0.42960e+03_rb,0.28595e+03_rb,0.71839e+02_rb /) kbo(:, 4,29, 2) = (/ & & 0.91554e+02_rb,0.31933e+03_rb,0.42956e+03_rb,0.28590e+03_rb,0.71839e+02_rb /) kbo(:, 5,29, 2) = (/ & & 0.91538e+02_rb,0.31895e+03_rb,0.42952e+03_rb,0.28586e+03_rb,0.71839e+02_rb /) kbo(:, 1,30, 2) = (/ & & 0.91544e+02_rb,0.31990e+03_rb,0.42953e+03_rb,0.28589e+03_rb,0.71839e+02_rb /) kbo(:, 2,30, 2) = (/ & & 0.91526e+02_rb,0.31975e+03_rb,0.42948e+03_rb,0.28584e+03_rb,0.71839e+02_rb /) kbo(:, 3,30, 2) = (/ & & 0.91511e+02_rb,0.31952e+03_rb,0.42944e+03_rb,0.28580e+03_rb,0.71839e+02_rb /) kbo(:, 4,30, 2) = (/ & & 0.91497e+02_rb,0.31920e+03_rb,0.42940e+03_rb,0.28577e+03_rb,0.71839e+02_rb /) kbo(:, 5,30, 2) = (/ & & 0.91484e+02_rb,0.31880e+03_rb,0.42937e+03_rb,0.28573e+03_rb,0.71839e+02_rb /) kbo(:, 1,31, 2) = (/ & & 0.91488e+02_rb,0.31983e+03_rb,0.42938e+03_rb,0.28574e+03_rb,0.71839e+02_rb /) kbo(:, 2,31, 2) = (/ & & 0.91474e+02_rb,0.31966e+03_rb,0.42934e+03_rb,0.28571e+03_rb,0.71839e+02_rb /) kbo(:, 3,31, 2) = (/ & & 0.91462e+02_rb,0.31941e+03_rb,0.42931e+03_rb,0.28567e+03_rb,0.71839e+02_rb /) kbo(:, 4,31, 2) = (/ & & 0.91451e+02_rb,0.31908e+03_rb,0.42928e+03_rb,0.28564e+03_rb,0.71839e+02_rb /) kbo(:, 5,31, 2) = (/ & & 0.91441e+02_rb,0.31866e+03_rb,0.42925e+03_rb,0.28562e+03_rb,0.71839e+02_rb /) kbo(:, 1,32, 2) = (/ & & 0.91443e+02_rb,0.31976e+03_rb,0.42926e+03_rb,0.28562e+03_rb,0.71839e+02_rb /) kbo(:, 2,32, 2) = (/ & & 0.91432e+02_rb,0.31958e+03_rb,0.42923e+03_rb,0.28559e+03_rb,0.71839e+02_rb /) kbo(:, 3,32, 2) = (/ & & 0.91423e+02_rb,0.31930e+03_rb,0.42920e+03_rb,0.28557e+03_rb,0.71839e+02_rb /) kbo(:, 4,32, 2) = (/ & & 0.91414e+02_rb,0.31895e+03_rb,0.42918e+03_rb,0.28555e+03_rb,0.71839e+02_rb /) kbo(:, 5,32, 2) = (/ & & 0.91406e+02_rb,0.31851e+03_rb,0.42916e+03_rb,0.28551e+03_rb,0.71839e+02_rb /) kbo(:, 1,33, 2) = (/ & & 0.91407e+02_rb,0.31970e+03_rb,0.42916e+03_rb,0.28553e+03_rb,0.71839e+02_rb /) kbo(:, 2,33, 2) = (/ & & 0.91399e+02_rb,0.31949e+03_rb,0.42914e+03_rb,0.28551e+03_rb,0.71839e+02_rb /) kbo(:, 3,33, 2) = (/ & & 0.91391e+02_rb,0.31920e+03_rb,0.42912e+03_rb,0.28549e+03_rb,0.71839e+02_rb /) kbo(:, 4,33, 2) = (/ & & 0.91384e+02_rb,0.31882e+03_rb,0.42910e+03_rb,0.28547e+03_rb,0.71839e+02_rb /) kbo(:, 5,33, 2) = (/ & & 0.91378e+02_rb,0.31837e+03_rb,0.42908e+03_rb,0.28546e+03_rb,0.71839e+02_rb /) kbo(:, 1,34, 2) = (/ & & 0.91379e+02_rb,0.31964e+03_rb,0.42908e+03_rb,0.28546e+03_rb,0.71839e+02_rb /) kbo(:, 2,34, 2) = (/ & & 0.91372e+02_rb,0.31941e+03_rb,0.42906e+03_rb,0.28544e+03_rb,0.71839e+02_rb /) kbo(:, 3,34, 2) = (/ & & 0.91365e+02_rb,0.31910e+03_rb,0.42905e+03_rb,0.28542e+03_rb,0.71839e+02_rb /) kbo(:, 4,34, 2) = (/ & & 0.91360e+02_rb,0.31871e+03_rb,0.42903e+03_rb,0.28541e+03_rb,0.71839e+02_rb /) kbo(:, 5,34, 2) = (/ & & 0.91355e+02_rb,0.31824e+03_rb,0.42902e+03_rb,0.28540e+03_rb,0.71839e+02_rb /) kbo(:, 1,35, 2) = (/ & & 0.91356e+02_rb,0.31960e+03_rb,0.42902e+03_rb,0.28539e+03_rb,0.71839e+02_rb /) kbo(:, 2,35, 2) = (/ & & 0.91350e+02_rb,0.31936e+03_rb,0.42901e+03_rb,0.28538e+03_rb,0.71839e+02_rb /) kbo(:, 3,35, 2) = (/ & & 0.91345e+02_rb,0.31904e+03_rb,0.42899e+03_rb,0.28537e+03_rb,0.71839e+02_rb /) kbo(:, 4,35, 2) = (/ & & 0.91341e+02_rb,0.31863e+03_rb,0.42898e+03_rb,0.28535e+03_rb,0.71839e+02_rb /) kbo(:, 5,35, 2) = (/ & & 0.91337e+02_rb,0.31816e+03_rb,0.42897e+03_rb,0.28535e+03_rb,0.71839e+02_rb /) kbo(:, 1,36, 2) = (/ & & 0.91338e+02_rb,0.31958e+03_rb,0.42897e+03_rb,0.28535e+03_rb,0.71839e+02_rb /) kbo(:, 2,36, 2) = (/ & & 0.91334e+02_rb,0.31934e+03_rb,0.42896e+03_rb,0.28533e+03_rb,0.71839e+02_rb /) kbo(:, 3,36, 2) = (/ & & 0.91330e+02_rb,0.31902e+03_rb,0.42895e+03_rb,0.28533e+03_rb,0.71839e+02_rb /) kbo(:, 4,36, 2) = (/ & & 0.91326e+02_rb,0.31862e+03_rb,0.42894e+03_rb,0.28530e+03_rb,0.71839e+02_rb /) kbo(:, 5,36, 2) = (/ & & 0.91323e+02_rb,0.31814e+03_rb,0.42893e+03_rb,0.28530e+03_rb,0.71839e+02_rb /) kbo(:, 1,37, 2) = (/ & & 0.91324e+02_rb,0.31959e+03_rb,0.42894e+03_rb,0.28531e+03_rb,0.71839e+02_rb /) kbo(:, 2,37, 2) = (/ & & 0.91320e+02_rb,0.31937e+03_rb,0.42893e+03_rb,0.28530e+03_rb,0.71839e+02_rb /) kbo(:, 3,37, 2) = (/ & & 0.91317e+02_rb,0.31906e+03_rb,0.42892e+03_rb,0.28529e+03_rb,0.71839e+02_rb /) kbo(:, 4,37, 2) = (/ & & 0.91314e+02_rb,0.31866e+03_rb,0.42891e+03_rb,0.28529e+03_rb,0.71839e+02_rb /) kbo(:, 5,37, 2) = (/ & & 0.91311e+02_rb,0.31819e+03_rb,0.42890e+03_rb,0.28527e+03_rb,0.71839e+02_rb /) kbo(:, 1,38, 2) = (/ & & 0.91313e+02_rb,0.31961e+03_rb,0.42890e+03_rb,0.28528e+03_rb,0.71839e+02_rb /) kbo(:, 2,38, 2) = (/ & & 0.91310e+02_rb,0.31939e+03_rb,0.42890e+03_rb,0.28528e+03_rb,0.71839e+02_rb /) kbo(:, 3,38, 2) = (/ & & 0.91307e+02_rb,0.31910e+03_rb,0.42889e+03_rb,0.28526e+03_rb,0.71839e+02_rb /) kbo(:, 4,38, 2) = (/ & & 0.91304e+02_rb,0.31871e+03_rb,0.42888e+03_rb,0.28525e+03_rb,0.71839e+02_rb /) kbo(:, 5,38, 2) = (/ & & 0.91302e+02_rb,0.31826e+03_rb,0.42888e+03_rb,0.28525e+03_rb,0.71839e+02_rb /) kbo(:, 1,39, 2) = (/ & & 0.91303e+02_rb,0.31962e+03_rb,0.42888e+03_rb,0.28525e+03_rb,0.71839e+02_rb /) kbo(:, 2,39, 2) = (/ & & 0.91301e+02_rb,0.31942e+03_rb,0.42887e+03_rb,0.28525e+03_rb,0.71839e+02_rb /) kbo(:, 3,39, 2) = (/ & & 0.91298e+02_rb,0.31914e+03_rb,0.42886e+03_rb,0.28525e+03_rb,0.71839e+02_rb /) kbo(:, 4,39, 2) = (/ & & 0.91296e+02_rb,0.31877e+03_rb,0.42886e+03_rb,0.28524e+03_rb,0.71839e+02_rb /) kbo(:, 5,39, 2) = (/ & & 0.91294e+02_rb,0.31832e+03_rb,0.42885e+03_rb,0.28523e+03_rb,0.71839e+02_rb /) kbo(:, 1,40, 2) = (/ & & 0.91296e+02_rb,0.31965e+03_rb,0.42886e+03_rb,0.28524e+03_rb,0.71839e+02_rb /) kbo(:, 2,40, 2) = (/ & & 0.91293e+02_rb,0.31947e+03_rb,0.42885e+03_rb,0.28522e+03_rb,0.71839e+02_rb /) kbo(:, 3,40, 2) = (/ & & 0.91292e+02_rb,0.31921e+03_rb,0.42885e+03_rb,0.28522e+03_rb,0.71839e+02_rb /) kbo(:, 4,40, 2) = (/ & & 0.91290e+02_rb,0.31886e+03_rb,0.42884e+03_rb,0.28522e+03_rb,0.71839e+02_rb /) kbo(:, 5,40, 2) = (/ & & 0.91288e+02_rb,0.31843e+03_rb,0.42884e+03_rb,0.28521e+03_rb,0.71839e+02_rb /) kbo(:, 1,41, 2) = (/ & & 0.91289e+02_rb,0.31968e+03_rb,0.42884e+03_rb,0.28523e+03_rb,0.71839e+02_rb /) kbo(:, 2,41, 2) = (/ & & 0.91288e+02_rb,0.31952e+03_rb,0.42884e+03_rb,0.28521e+03_rb,0.71839e+02_rb /) kbo(:, 3,41, 2) = (/ & & 0.91286e+02_rb,0.31928e+03_rb,0.42883e+03_rb,0.28522e+03_rb,0.71839e+02_rb /) kbo(:, 4,41, 2) = (/ & & 0.91284e+02_rb,0.31895e+03_rb,0.42883e+03_rb,0.28521e+03_rb,0.71839e+02_rb /) kbo(:, 5,41, 2) = (/ & & 0.91283e+02_rb,0.31854e+03_rb,0.42882e+03_rb,0.28521e+03_rb,0.71839e+02_rb /) kbo(:, 1,42, 2) = (/ & & 0.91284e+02_rb,0.31970e+03_rb,0.42883e+03_rb,0.28521e+03_rb,0.71839e+02_rb /) kbo(:, 2,42, 2) = (/ & & 0.91283e+02_rb,0.31957e+03_rb,0.42882e+03_rb,0.28521e+03_rb,0.71839e+02_rb /) kbo(:, 3,42, 2) = (/ & & 0.91281e+02_rb,0.31934e+03_rb,0.42882e+03_rb,0.28520e+03_rb,0.71839e+02_rb /) kbo(:, 4,42, 2) = (/ & & 0.91280e+02_rb,0.31904e+03_rb,0.42882e+03_rb,0.28519e+03_rb,0.71839e+02_rb /) kbo(:, 5,42, 2) = (/ & & 0.91279e+02_rb,0.31865e+03_rb,0.42881e+03_rb,0.28520e+03_rb,0.71839e+02_rb /) kbo(:, 1,43, 2) = (/ & & 0.91280e+02_rb,0.31972e+03_rb,0.42882e+03_rb,0.28520e+03_rb,0.71839e+02_rb /) kbo(:, 2,43, 2) = (/ & & 0.91279e+02_rb,0.31961e+03_rb,0.42881e+03_rb,0.28520e+03_rb,0.71839e+02_rb /) kbo(:, 3,43, 2) = (/ & & 0.91277e+02_rb,0.31942e+03_rb,0.42881e+03_rb,0.28519e+03_rb,0.71839e+02_rb /) kbo(:, 4,43, 2) = (/ & & 0.91276e+02_rb,0.31914e+03_rb,0.42881e+03_rb,0.28518e+03_rb,0.71839e+02_rb /) kbo(:, 5,43, 2) = (/ & & 0.91275e+02_rb,0.31878e+03_rb,0.42880e+03_rb,0.28518e+03_rb,0.71839e+02_rb /) kbo(:, 1,44, 2) = (/ & & 0.91276e+02_rb,0.31974e+03_rb,0.42881e+03_rb,0.28519e+03_rb,0.71839e+02_rb /) kbo(:, 2,44, 2) = (/ & & 0.91275e+02_rb,0.31966e+03_rb,0.42880e+03_rb,0.28519e+03_rb,0.71839e+02_rb /) kbo(:, 3,44, 2) = (/ & & 0.91274e+02_rb,0.31949e+03_rb,0.42880e+03_rb,0.28518e+03_rb,0.71839e+02_rb /) kbo(:, 4,44, 2) = (/ & & 0.91273e+02_rb,0.31924e+03_rb,0.42880e+03_rb,0.28518e+03_rb,0.71839e+02_rb /) kbo(:, 5,44, 2) = (/ & & 0.91273e+02_rb,0.31890e+03_rb,0.42880e+03_rb,0.28518e+03_rb,0.71839e+02_rb /) kbo(:, 1,45, 2) = (/ & & 0.91274e+02_rb,0.31974e+03_rb,0.42880e+03_rb,0.28518e+03_rb,0.71839e+02_rb /) kbo(:, 2,45, 2) = (/ & & 0.91273e+02_rb,0.31969e+03_rb,0.42880e+03_rb,0.28517e+03_rb,0.71839e+02_rb /) kbo(:, 3,45, 2) = (/ & & 0.91272e+02_rb,0.31955e+03_rb,0.42879e+03_rb,0.28518e+03_rb,0.71839e+02_rb /) kbo(:, 4,45, 2) = (/ & & 0.91271e+02_rb,0.31933e+03_rb,0.42879e+03_rb,0.28517e+03_rb,0.71839e+02_rb /) kbo(:, 5,45, 2) = (/ & & 0.91270e+02_rb,0.31903e+03_rb,0.42879e+03_rb,0.28517e+03_rb,0.71839e+02_rb /) kbo(:, 1,46, 2) = (/ & & 0.91271e+02_rb,0.31974e+03_rb,0.42879e+03_rb,0.28516e+03_rb,0.71839e+02_rb /) kbo(:, 2,46, 2) = (/ & & 0.91270e+02_rb,0.31972e+03_rb,0.42879e+03_rb,0.28517e+03_rb,0.71839e+02_rb /) kbo(:, 3,46, 2) = (/ & & 0.91270e+02_rb,0.31961e+03_rb,0.42879e+03_rb,0.28517e+03_rb,0.71839e+02_rb /) kbo(:, 4,46, 2) = (/ & & 0.91269e+02_rb,0.31942e+03_rb,0.42879e+03_rb,0.28517e+03_rb,0.71839e+02_rb /) kbo(:, 5,46, 2) = (/ & & 0.91268e+02_rb,0.31914e+03_rb,0.42878e+03_rb,0.28516e+03_rb,0.71839e+02_rb /) kbo(:, 1,47, 2) = (/ & & 0.91269e+02_rb,0.31973e+03_rb,0.42879e+03_rb,0.28517e+03_rb,0.71839e+02_rb /) kbo(:, 2,47, 2) = (/ & & 0.91268e+02_rb,0.31974e+03_rb,0.42878e+03_rb,0.28516e+03_rb,0.71839e+02_rb /) kbo(:, 3,47, 2) = (/ & & 0.91268e+02_rb,0.31966e+03_rb,0.42878e+03_rb,0.28516e+03_rb,0.71839e+02_rb /) kbo(:, 4,47, 2) = (/ & & 0.91267e+02_rb,0.31951e+03_rb,0.42878e+03_rb,0.28516e+03_rb,0.71839e+02_rb /) kbo(:, 5,47, 2) = (/ & & 0.91267e+02_rb,0.31926e+03_rb,0.42878e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 1,48, 2) = (/ & & 0.91267e+02_rb,0.31970e+03_rb,0.42878e+03_rb,0.28516e+03_rb,0.71839e+02_rb /) kbo(:, 2,48, 2) = (/ & & 0.91267e+02_rb,0.31974e+03_rb,0.42878e+03_rb,0.28516e+03_rb,0.71839e+02_rb /) kbo(:, 3,48, 2) = (/ & & 0.91266e+02_rb,0.31970e+03_rb,0.42878e+03_rb,0.28517e+03_rb,0.71839e+02_rb /) kbo(:, 4,48, 2) = (/ & & 0.91266e+02_rb,0.31958e+03_rb,0.42878e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 5,48, 2) = (/ & & 0.91265e+02_rb,0.31937e+03_rb,0.42878e+03_rb,0.28516e+03_rb,0.71839e+02_rb /) kbo(:, 1,49, 2) = (/ & & 0.91266e+02_rb,0.31966e+03_rb,0.42878e+03_rb,0.28516e+03_rb,0.71839e+02_rb /) kbo(:, 2,49, 2) = (/ & & 0.91265e+02_rb,0.31973e+03_rb,0.42878e+03_rb,0.28516e+03_rb,0.71839e+02_rb /) kbo(:, 3,49, 2) = (/ & & 0.91265e+02_rb,0.31973e+03_rb,0.42877e+03_rb,0.28516e+03_rb,0.71839e+02_rb /) kbo(:, 4,49, 2) = (/ & & 0.91265e+02_rb,0.31964e+03_rb,0.42878e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 5,49, 2) = (/ & & 0.91264e+02_rb,0.31946e+03_rb,0.42877e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 1,50, 2) = (/ & & 0.91265e+02_rb,0.31962e+03_rb,0.42877e+03_rb,0.28516e+03_rb,0.71839e+02_rb /) kbo(:, 2,50, 2) = (/ & & 0.91264e+02_rb,0.31972e+03_rb,0.42877e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 3,50, 2) = (/ & & 0.91264e+02_rb,0.31974e+03_rb,0.42877e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 4,50, 2) = (/ & & 0.91264e+02_rb,0.31968e+03_rb,0.42877e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 5,50, 2) = (/ & & 0.91263e+02_rb,0.31954e+03_rb,0.42877e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 1,51, 2) = (/ & & 0.91264e+02_rb,0.31958e+03_rb,0.42877e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 2,51, 2) = (/ & & 0.91263e+02_rb,0.31969e+03_rb,0.42877e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 3,51, 2) = (/ & & 0.91263e+02_rb,0.31974e+03_rb,0.42877e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 4,51, 2) = (/ & & 0.91263e+02_rb,0.31971e+03_rb,0.42877e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 5,51, 2) = (/ & & 0.91262e+02_rb,0.31960e+03_rb,0.42877e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 1,52, 2) = (/ & & 0.91263e+02_rb,0.31953e+03_rb,0.42877e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 2,52, 2) = (/ & & 0.91263e+02_rb,0.31965e+03_rb,0.42877e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 3,52, 2) = (/ & & 0.91262e+02_rb,0.31973e+03_rb,0.42877e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 4,52, 2) = (/ & & 0.91262e+02_rb,0.31973e+03_rb,0.42877e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 5,52, 2) = (/ & & 0.91262e+02_rb,0.31965e+03_rb,0.42877e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 1,53, 2) = (/ & & 0.91262e+02_rb,0.31948e+03_rb,0.42877e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 2,53, 2) = (/ & & 0.91262e+02_rb,0.31961e+03_rb,0.42877e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 3,53, 2) = (/ & & 0.91262e+02_rb,0.31971e+03_rb,0.42877e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 4,53, 2) = (/ & & 0.91261e+02_rb,0.31974e+03_rb,0.42876e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 5,53, 2) = (/ & & 0.91261e+02_rb,0.31969e+03_rb,0.42876e+03_rb,0.28514e+03_rb,0.71839e+02_rb /) kbo(:, 1,54, 2) = (/ & & 0.91262e+02_rb,0.31942e+03_rb,0.42877e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 2,54, 2) = (/ & & 0.91261e+02_rb,0.31957e+03_rb,0.42877e+03_rb,0.28514e+03_rb,0.71839e+02_rb /) kbo(:, 3,54, 2) = (/ & & 0.91261e+02_rb,0.31968e+03_rb,0.42876e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 4,54, 2) = (/ & & 0.91261e+02_rb,0.31973e+03_rb,0.42876e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 5,54, 2) = (/ & & 0.91261e+02_rb,0.31971e+03_rb,0.42876e+03_rb,0.28513e+03_rb,0.71839e+02_rb /) kbo(:, 1,55, 2) = (/ & & 0.91261e+02_rb,0.31937e+03_rb,0.42876e+03_rb,0.28513e+03_rb,0.71839e+02_rb /) kbo(:, 2,55, 2) = (/ & & 0.91261e+02_rb,0.31953e+03_rb,0.42876e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 3,55, 2) = (/ & & 0.91261e+02_rb,0.31965e+03_rb,0.42876e+03_rb,0.28513e+03_rb,0.71839e+02_rb /) kbo(:, 4,55, 2) = (/ & & 0.91261e+02_rb,0.31973e+03_rb,0.42876e+03_rb,0.28514e+03_rb,0.71839e+02_rb /) kbo(:, 5,55, 2) = (/ & & 0.91260e+02_rb,0.31973e+03_rb,0.42876e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 1,56, 2) = (/ & & 0.91261e+02_rb,0.31932e+03_rb,0.42876e+03_rb,0.28514e+03_rb,0.71839e+02_rb /) kbo(:, 2,56, 2) = (/ & & 0.91260e+02_rb,0.31947e+03_rb,0.42876e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 3,56, 2) = (/ & & 0.91260e+02_rb,0.31961e+03_rb,0.42876e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 4,56, 2) = (/ & & 0.91260e+02_rb,0.31971e+03_rb,0.42876e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 5,56, 2) = (/ & & 0.91260e+02_rb,0.31974e+03_rb,0.42876e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 1,57, 2) = (/ & & 0.91260e+02_rb,0.31927e+03_rb,0.42876e+03_rb,0.28514e+03_rb,0.71839e+02_rb /) kbo(:, 2,57, 2) = (/ & & 0.91260e+02_rb,0.31943e+03_rb,0.42876e+03_rb,0.28514e+03_rb,0.71839e+02_rb /) kbo(:, 3,57, 2) = (/ & & 0.91260e+02_rb,0.31957e+03_rb,0.42876e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 4,57, 2) = (/ & & 0.91260e+02_rb,0.31968e+03_rb,0.42876e+03_rb,0.28514e+03_rb,0.71839e+02_rb /) kbo(:, 5,57, 2) = (/ & & 0.91260e+02_rb,0.31974e+03_rb,0.42876e+03_rb,0.28514e+03_rb,0.71839e+02_rb /) kbo(:, 1,58, 2) = (/ & & 0.91260e+02_rb,0.31922e+03_rb,0.42876e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 2,58, 2) = (/ & & 0.91260e+02_rb,0.31938e+03_rb,0.42876e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 3,58, 2) = (/ & & 0.91260e+02_rb,0.31953e+03_rb,0.42876e+03_rb,0.28514e+03_rb,0.71839e+02_rb /) kbo(:, 4,58, 2) = (/ & & 0.91260e+02_rb,0.31965e+03_rb,0.42876e+03_rb,0.28513e+03_rb,0.71839e+02_rb /) kbo(:, 5,58, 2) = (/ & & 0.91260e+02_rb,0.31973e+03_rb,0.42876e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 1,59, 2) = (/ & & 0.91260e+02_rb,0.31920e+03_rb,0.42876e+03_rb,0.28514e+03_rb,0.71839e+02_rb /) kbo(:, 2,59, 2) = (/ & & 0.91260e+02_rb,0.31936e+03_rb,0.42876e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 3,59, 2) = (/ & & 0.91259e+02_rb,0.31952e+03_rb,0.42876e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 4,59, 2) = (/ & & 0.91259e+02_rb,0.31964e+03_rb,0.42876e+03_rb,0.28514e+03_rb,0.71839e+02_rb /) kbo(:, 5,59, 2) = (/ & & 0.91259e+02_rb,0.31972e+03_rb,0.42876e+03_rb,0.28514e+03_rb,0.71839e+02_rb /) kbo(:, 1,13, 3) = (/ & & 0.26463e+03_rb,0.36163e+03_rb,0.49889e+03_rb,0.32504e+03_rb,0.17829e+03_rb /) kbo(:, 2,13, 3) = (/ & & 0.26258e+03_rb,0.36010e+03_rb,0.49695e+03_rb,0.32345e+03_rb,0.17829e+03_rb /) kbo(:, 3,13, 3) = (/ & & 0.26083e+03_rb,0.35879e+03_rb,0.49519e+03_rb,0.32209e+03_rb,0.17829e+03_rb /) kbo(:, 4,13, 3) = (/ & & 0.25930e+03_rb,0.35766e+03_rb,0.49360e+03_rb,0.32093e+03_rb,0.17829e+03_rb /) kbo(:, 5,13, 3) = (/ & & 0.25795e+03_rb,0.35666e+03_rb,0.49217e+03_rb,0.31991e+03_rb,0.17829e+03_rb /) kbo(:, 1,14, 3) = (/ & & 0.25951e+03_rb,0.35782e+03_rb,0.49358e+03_rb,0.32109e+03_rb,0.17829e+03_rb /) kbo(:, 2,14, 3) = (/ & & 0.25786e+03_rb,0.35659e+03_rb,0.49191e+03_rb,0.31984e+03_rb,0.17829e+03_rb /) kbo(:, 3,14, 3) = (/ & & 0.25644e+03_rb,0.35554e+03_rb,0.49043e+03_rb,0.31877e+03_rb,0.17829e+03_rb /) kbo(:, 4,14, 3) = (/ & & 0.25520e+03_rb,0.35461e+03_rb,0.48912e+03_rb,0.31784e+03_rb,0.17829e+03_rb /) kbo(:, 5,14, 3) = (/ & & 0.25411e+03_rb,0.35381e+03_rb,0.48795e+03_rb,0.31704e+03_rb,0.17829e+03_rb /) kbo(:, 1,15, 3) = (/ & & 0.25534e+03_rb,0.35471e+03_rb,0.48908e+03_rb,0.31794e+03_rb,0.17829e+03_rb /) kbo(:, 2,15, 3) = (/ & & 0.25401e+03_rb,0.35373e+03_rb,0.48771e+03_rb,0.31695e+03_rb,0.17829e+03_rb /) kbo(:, 3,15, 3) = (/ & & 0.25286e+03_rb,0.35287e+03_rb,0.48651e+03_rb,0.31610e+03_rb,0.17829e+03_rb /) kbo(:, 4,15, 3) = (/ & & 0.25186e+03_rb,0.35213e+03_rb,0.48543e+03_rb,0.31537e+03_rb,0.17829e+03_rb /) kbo(:, 5,15, 3) = (/ & & 0.25098e+03_rb,0.35147e+03_rb,0.48447e+03_rb,0.31472e+03_rb,0.17829e+03_rb /) kbo(:, 1,16, 3) = (/ & & 0.25194e+03_rb,0.35219e+03_rb,0.48538e+03_rb,0.31543e+03_rb,0.17829e+03_rb /) kbo(:, 2,16, 3) = (/ & & 0.25087e+03_rb,0.35140e+03_rb,0.48427e+03_rb,0.31463e+03_rb,0.17829e+03_rb /) kbo(:, 3,16, 3) = (/ & & 0.24994e+03_rb,0.35071e+03_rb,0.48328e+03_rb,0.31395e+03_rb,0.17829e+03_rb /) kbo(:, 4,16, 3) = (/ & & 0.24914e+03_rb,0.35011e+03_rb,0.48239e+03_rb,0.31337e+03_rb,0.17829e+03_rb /) kbo(:, 5,16, 3) = (/ & & 0.24843e+03_rb,0.34958e+03_rb,0.48159e+03_rb,0.31282e+03_rb,0.17829e+03_rb /) kbo(:, 1,17, 3) = (/ & & 0.24919e+03_rb,0.35014e+03_rb,0.48236e+03_rb,0.31341e+03_rb,0.17829e+03_rb /) kbo(:, 2,17, 3) = (/ & & 0.24832e+03_rb,0.34950e+03_rb,0.48145e+03_rb,0.31278e+03_rb,0.17829e+03_rb /) kbo(:, 3,17, 3) = (/ & & 0.24758e+03_rb,0.34895e+03_rb,0.48063e+03_rb,0.31225e+03_rb,0.17829e+03_rb /) kbo(:, 4,17, 3) = (/ & & 0.24693e+03_rb,0.34847e+03_rb,0.47989e+03_rb,0.31178e+03_rb,0.17829e+03_rb /) kbo(:, 5,17, 3) = (/ & & 0.24635e+03_rb,0.34804e+03_rb,0.47924e+03_rb,0.31137e+03_rb,0.17829e+03_rb /) kbo(:, 1,18, 3) = (/ & & 0.24695e+03_rb,0.34848e+03_rb,0.47988e+03_rb,0.31180e+03_rb,0.17829e+03_rb /) kbo(:, 2,18, 3) = (/ & & 0.24626e+03_rb,0.34797e+03_rb,0.47913e+03_rb,0.31130e+03_rb,0.17829e+03_rb /) kbo(:, 3,18, 3) = (/ & & 0.24565e+03_rb,0.34752e+03_rb,0.47845e+03_rb,0.31086e+03_rb,0.17829e+03_rb /) kbo(:, 4,18, 3) = (/ & & 0.24513e+03_rb,0.34713e+03_rb,0.47784e+03_rb,0.31048e+03_rb,0.17829e+03_rb /) kbo(:, 5,18, 3) = (/ & & 0.24466e+03_rb,0.34679e+03_rb,0.47731e+03_rb,0.31015e+03_rb,0.17829e+03_rb /) kbo(:, 1,19, 3) = (/ & & 0.24514e+03_rb,0.34714e+03_rb,0.47784e+03_rb,0.31049e+03_rb,0.17829e+03_rb /) kbo(:, 2,19, 3) = (/ & & 0.24458e+03_rb,0.34672e+03_rb,0.47721e+03_rb,0.31009e+03_rb,0.17829e+03_rb /) kbo(:, 3,19, 3) = (/ & & 0.24409e+03_rb,0.34636e+03_rb,0.47665e+03_rb,0.30974e+03_rb,0.17829e+03_rb /) kbo(:, 4,19, 3) = (/ & & 0.24367e+03_rb,0.34605e+03_rb,0.47616e+03_rb,0.30943e+03_rb,0.17829e+03_rb /) kbo(:, 5,19, 3) = (/ & & 0.24329e+03_rb,0.34577e+03_rb,0.47573e+03_rb,0.30916e+03_rb,0.17829e+03_rb /) kbo(:, 1,20, 3) = (/ & & 0.24366e+03_rb,0.34604e+03_rb,0.47615e+03_rb,0.30943e+03_rb,0.17829e+03_rb /) kbo(:, 2,20, 3) = (/ & & 0.24321e+03_rb,0.34571e+03_rb,0.47563e+03_rb,0.30910e+03_rb,0.17829e+03_rb /) kbo(:, 3,20, 3) = (/ & & 0.24282e+03_rb,0.34542e+03_rb,0.47518e+03_rb,0.30882e+03_rb,0.17829e+03_rb /) kbo(:, 4,20, 3) = (/ & & 0.24247e+03_rb,0.34516e+03_rb,0.47478e+03_rb,0.30857e+03_rb,0.17829e+03_rb /) kbo(:, 5,20, 3) = (/ & & 0.24217e+03_rb,0.34494e+03_rb,0.47443e+03_rb,0.30835e+03_rb,0.17829e+03_rb /) kbo(:, 1,21, 3) = (/ & & 0.24246e+03_rb,0.34515e+03_rb,0.47476e+03_rb,0.30856e+03_rb,0.17829e+03_rb /) kbo(:, 2,21, 3) = (/ & & 0.24210e+03_rb,0.34488e+03_rb,0.47434e+03_rb,0.30830e+03_rb,0.17829e+03_rb /) kbo(:, 3,21, 3) = (/ & & 0.24178e+03_rb,0.34465e+03_rb,0.47397e+03_rb,0.30807e+03_rb,0.17829e+03_rb /) kbo(:, 4,21, 3) = (/ & & 0.24150e+03_rb,0.34444e+03_rb,0.47364e+03_rb,0.30787e+03_rb,0.17829e+03_rb /) kbo(:, 5,21, 3) = (/ & & 0.24126e+03_rb,0.34426e+03_rb,0.47341e+03_rb,0.30769e+03_rb,0.17829e+03_rb /) kbo(:, 1,22, 3) = (/ & & 0.24146e+03_rb,0.34441e+03_rb,0.47360e+03_rb,0.30784e+03_rb,0.17829e+03_rb /) kbo(:, 2,22, 3) = (/ & & 0.24117e+03_rb,0.34420e+03_rb,0.47327e+03_rb,0.30763e+03_rb,0.17829e+03_rb /) kbo(:, 3,22, 3) = (/ & & 0.24092e+03_rb,0.34401e+03_rb,0.47296e+03_rb,0.30745e+03_rb,0.17829e+03_rb /) kbo(:, 4,22, 3) = (/ & & 0.24070e+03_rb,0.34385e+03_rb,0.47270e+03_rb,0.30729e+03_rb,0.17829e+03_rb /) kbo(:, 5,22, 3) = (/ & & 0.24050e+03_rb,0.34370e+03_rb,0.47246e+03_rb,0.30715e+03_rb,0.17829e+03_rb /) kbo(:, 1,23, 3) = (/ & & 0.24066e+03_rb,0.34382e+03_rb,0.47265e+03_rb,0.30726e+03_rb,0.17829e+03_rb /) kbo(:, 2,23, 3) = (/ & & 0.24043e+03_rb,0.34365e+03_rb,0.47237e+03_rb,0.30709e+03_rb,0.17829e+03_rb /) kbo(:, 3,23, 3) = (/ & & 0.24023e+03_rb,0.34350e+03_rb,0.47213e+03_rb,0.30695e+03_rb,0.17829e+03_rb /) kbo(:, 4,23, 3) = (/ & & 0.24005e+03_rb,0.34336e+03_rb,0.47191e+03_rb,0.30682e+03_rb,0.17829e+03_rb /) kbo(:, 5,23, 3) = (/ & & 0.23989e+03_rb,0.34325e+03_rb,0.47173e+03_rb,0.30671e+03_rb,0.17829e+03_rb /) kbo(:, 1,24, 3) = (/ & & 0.24001e+03_rb,0.34333e+03_rb,0.47187e+03_rb,0.30679e+03_rb,0.17829e+03_rb /) kbo(:, 2,24, 3) = (/ & & 0.23982e+03_rb,0.34320e+03_rb,0.47164e+03_rb,0.30666e+03_rb,0.17829e+03_rb /) kbo(:, 3,24, 3) = (/ & & 0.23966e+03_rb,0.34308e+03_rb,0.47145e+03_rb,0.30654e+03_rb,0.17829e+03_rb /) kbo(:, 4,24, 3) = (/ & & 0.23952e+03_rb,0.34297e+03_rb,0.47128e+03_rb,0.30644e+03_rb,0.17829e+03_rb /) kbo(:, 5,24, 3) = (/ & & 0.23940e+03_rb,0.34288e+03_rb,0.47113e+03_rb,0.30635e+03_rb,0.17829e+03_rb /) kbo(:, 1,25, 3) = (/ & & 0.23948e+03_rb,0.34294e+03_rb,0.47124e+03_rb,0.30641e+03_rb,0.17829e+03_rb /) kbo(:, 2,25, 3) = (/ & & 0.23934e+03_rb,0.34284e+03_rb,0.47105e+03_rb,0.30631e+03_rb,0.17829e+03_rb /) kbo(:, 3,25, 3) = (/ & & 0.23921e+03_rb,0.34274e+03_rb,0.47089e+03_rb,0.30622e+03_rb,0.17829e+03_rb /) kbo(:, 4,25, 3) = (/ & & 0.23910e+03_rb,0.34266e+03_rb,0.47075e+03_rb,0.30613e+03_rb,0.17829e+03_rb /) kbo(:, 5,25, 3) = (/ & & 0.23900e+03_rb,0.34258e+03_rb,0.47063e+03_rb,0.30606e+03_rb,0.17829e+03_rb /) kbo(:, 1,26, 3) = (/ & & 0.23906e+03_rb,0.34263e+03_rb,0.47070e+03_rb,0.30610e+03_rb,0.17829e+03_rb /) kbo(:, 2,26, 3) = (/ & & 0.23894e+03_rb,0.34254e+03_rb,0.47056e+03_rb,0.30602e+03_rb,0.17829e+03_rb /) kbo(:, 3,26, 3) = (/ & & 0.23884e+03_rb,0.34247e+03_rb,0.47044e+03_rb,0.30595e+03_rb,0.17829e+03_rb /) kbo(:, 4,26, 3) = (/ & & 0.23875e+03_rb,0.34240e+03_rb,0.47033e+03_rb,0.30588e+03_rb,0.17829e+03_rb /) kbo(:, 5,26, 3) = (/ & & 0.23867e+03_rb,0.34234e+03_rb,0.47023e+03_rb,0.30583e+03_rb,0.17829e+03_rb /) kbo(:, 1,27, 3) = (/ & & 0.23871e+03_rb,0.34237e+03_rb,0.47028e+03_rb,0.30586e+03_rb,0.17829e+03_rb /) kbo(:, 2,27, 3) = (/ & & 0.23862e+03_rb,0.34230e+03_rb,0.47017e+03_rb,0.30579e+03_rb,0.17829e+03_rb /) kbo(:, 3,27, 3) = (/ & & 0.23854e+03_rb,0.34225e+03_rb,0.47007e+03_rb,0.30573e+03_rb,0.17829e+03_rb /) kbo(:, 4,27, 3) = (/ & & 0.23847e+03_rb,0.34219e+03_rb,0.46998e+03_rb,0.30568e+03_rb,0.17829e+03_rb /) kbo(:, 5,27, 3) = (/ & & 0.23840e+03_rb,0.34214e+03_rb,0.46990e+03_rb,0.30564e+03_rb,0.17829e+03_rb /) kbo(:, 1,28, 3) = (/ & & 0.23844e+03_rb,0.34217e+03_rb,0.46994e+03_rb,0.30566e+03_rb,0.17829e+03_rb /) kbo(:, 2,28, 3) = (/ & & 0.23836e+03_rb,0.34211e+03_rb,0.46985e+03_rb,0.30561e+03_rb,0.17829e+03_rb /) kbo(:, 3,28, 3) = (/ & & 0.23830e+03_rb,0.34207e+03_rb,0.46977e+03_rb,0.30556e+03_rb,0.17829e+03_rb /) kbo(:, 4,28, 3) = (/ & & 0.23824e+03_rb,0.34202e+03_rb,0.46970e+03_rb,0.30552e+03_rb,0.17829e+03_rb /) kbo(:, 5,28, 3) = (/ & & 0.23819e+03_rb,0.34198e+03_rb,0.46964e+03_rb,0.30548e+03_rb,0.17829e+03_rb /) kbo(:, 1,29, 3) = (/ & & 0.23821e+03_rb,0.34200e+03_rb,0.46966e+03_rb,0.30550e+03_rb,0.17829e+03_rb /) kbo(:, 2,29, 3) = (/ & & 0.23815e+03_rb,0.34196e+03_rb,0.46959e+03_rb,0.30546e+03_rb,0.17829e+03_rb /) kbo(:, 3,29, 3) = (/ & & 0.23810e+03_rb,0.34192e+03_rb,0.46953e+03_rb,0.30542e+03_rb,0.17829e+03_rb /) kbo(:, 4,29, 3) = (/ & & 0.23806e+03_rb,0.34189e+03_rb,0.46948e+03_rb,0.30539e+03_rb,0.17829e+03_rb /) kbo(:, 5,29, 3) = (/ & & 0.23802e+03_rb,0.34185e+03_rb,0.46942e+03_rb,0.30536e+03_rb,0.17829e+03_rb /) kbo(:, 1,30, 3) = (/ & & 0.23803e+03_rb,0.34187e+03_rb,0.46944e+03_rb,0.30537e+03_rb,0.17829e+03_rb /) kbo(:, 2,30, 3) = (/ & & 0.23799e+03_rb,0.34184e+03_rb,0.46939e+03_rb,0.30533e+03_rb,0.17829e+03_rb /) kbo(:, 3,30, 3) = (/ & & 0.23795e+03_rb,0.34180e+03_rb,0.46934e+03_rb,0.30531e+03_rb,0.17829e+03_rb /) kbo(:, 4,30, 3) = (/ & & 0.23791e+03_rb,0.34178e+03_rb,0.46929e+03_rb,0.30528e+03_rb,0.17829e+03_rb /) kbo(:, 5,30, 3) = (/ & & 0.23788e+03_rb,0.34175e+03_rb,0.46925e+03_rb,0.30526e+03_rb,0.17829e+03_rb /) kbo(:, 1,31, 3) = (/ & & 0.23789e+03_rb,0.34176e+03_rb,0.46926e+03_rb,0.30526e+03_rb,0.17829e+03_rb /) kbo(:, 2,31, 3) = (/ & & 0.23785e+03_rb,0.34173e+03_rb,0.46922e+03_rb,0.30524e+03_rb,0.17829e+03_rb /) kbo(:, 3,31, 3) = (/ & & 0.23782e+03_rb,0.34171e+03_rb,0.46918e+03_rb,0.30521e+03_rb,0.17829e+03_rb /) kbo(:, 4,31, 3) = (/ & & 0.23779e+03_rb,0.34169e+03_rb,0.46914e+03_rb,0.30519e+03_rb,0.17829e+03_rb /) kbo(:, 5,31, 3) = (/ & & 0.23777e+03_rb,0.34167e+03_rb,0.46911e+03_rb,0.30518e+03_rb,0.17829e+03_rb /) kbo(:, 1,32, 3) = (/ & & 0.23777e+03_rb,0.34168e+03_rb,0.46912e+03_rb,0.30518e+03_rb,0.17829e+03_rb /) kbo(:, 2,32, 3) = (/ & & 0.23774e+03_rb,0.34166e+03_rb,0.46908e+03_rb,0.30516e+03_rb,0.17829e+03_rb /) kbo(:, 3,32, 3) = (/ & & 0.23772e+03_rb,0.34163e+03_rb,0.46905e+03_rb,0.30514e+03_rb,0.17829e+03_rb /) kbo(:, 4,32, 3) = (/ & & 0.23770e+03_rb,0.34162e+03_rb,0.46902e+03_rb,0.30512e+03_rb,0.17829e+03_rb /) kbo(:, 5,32, 3) = (/ & & 0.23767e+03_rb,0.34160e+03_rb,0.46900e+03_rb,0.30511e+03_rb,0.17829e+03_rb /) kbo(:, 1,33, 3) = (/ & & 0.23768e+03_rb,0.34161e+03_rb,0.46900e+03_rb,0.30511e+03_rb,0.17829e+03_rb /) kbo(:, 2,33, 3) = (/ & & 0.23766e+03_rb,0.34159e+03_rb,0.46897e+03_rb,0.30510e+03_rb,0.17829e+03_rb /) kbo(:, 3,33, 3) = (/ & & 0.23764e+03_rb,0.34157e+03_rb,0.46895e+03_rb,0.30508e+03_rb,0.17829e+03_rb /) kbo(:, 4,33, 3) = (/ & & 0.23762e+03_rb,0.34156e+03_rb,0.46893e+03_rb,0.30507e+03_rb,0.17829e+03_rb /) kbo(:, 5,33, 3) = (/ & & 0.23760e+03_rb,0.34154e+03_rb,0.46891e+03_rb,0.30506e+03_rb,0.17829e+03_rb /) kbo(:, 1,34, 3) = (/ & & 0.23760e+03_rb,0.34155e+03_rb,0.46891e+03_rb,0.30506e+03_rb,0.17829e+03_rb /) kbo(:, 2,34, 3) = (/ & & 0.23759e+03_rb,0.34154e+03_rb,0.46889e+03_rb,0.30505e+03_rb,0.17829e+03_rb /) kbo(:, 3,34, 3) = (/ & & 0.23757e+03_rb,0.34152e+03_rb,0.46887e+03_rb,0.30503e+03_rb,0.17829e+03_rb /) kbo(:, 4,34, 3) = (/ & & 0.23756e+03_rb,0.34151e+03_rb,0.46885e+03_rb,0.30502e+03_rb,0.17829e+03_rb /) kbo(:, 5,34, 3) = (/ & & 0.23754e+03_rb,0.34150e+03_rb,0.46883e+03_rb,0.30501e+03_rb,0.17829e+03_rb /) kbo(:, 1,35, 3) = (/ & & 0.23755e+03_rb,0.34151e+03_rb,0.46884e+03_rb,0.30502e+03_rb,0.17829e+03_rb /) kbo(:, 2,35, 3) = (/ & & 0.23753e+03_rb,0.34150e+03_rb,0.46882e+03_rb,0.30501e+03_rb,0.17829e+03_rb /) kbo(:, 3,35, 3) = (/ & & 0.23752e+03_rb,0.34148e+03_rb,0.46880e+03_rb,0.30500e+03_rb,0.17829e+03_rb /) kbo(:, 4,35, 3) = (/ & & 0.23751e+03_rb,0.34147e+03_rb,0.46879e+03_rb,0.30499e+03_rb,0.17829e+03_rb /) kbo(:, 5,35, 3) = (/ & & 0.23750e+03_rb,0.34146e+03_rb,0.46878e+03_rb,0.30498e+03_rb,0.17829e+03_rb /) kbo(:, 1,36, 3) = (/ & & 0.23750e+03_rb,0.34147e+03_rb,0.46878e+03_rb,0.30498e+03_rb,0.17829e+03_rb /) kbo(:, 2,36, 3) = (/ & & 0.23749e+03_rb,0.34146e+03_rb,0.46877e+03_rb,0.30497e+03_rb,0.17829e+03_rb /) kbo(:, 3,36, 3) = (/ & & 0.23748e+03_rb,0.34145e+03_rb,0.46875e+03_rb,0.30497e+03_rb,0.17829e+03_rb /) kbo(:, 4,36, 3) = (/ & & 0.23747e+03_rb,0.34144e+03_rb,0.46874e+03_rb,0.30496e+03_rb,0.17829e+03_rb /) kbo(:, 5,36, 3) = (/ & & 0.23746e+03_rb,0.34144e+03_rb,0.46873e+03_rb,0.30495e+03_rb,0.17829e+03_rb /) kbo(:, 1,37, 3) = (/ & & 0.23746e+03_rb,0.34145e+03_rb,0.46874e+03_rb,0.30496e+03_rb,0.17829e+03_rb /) kbo(:, 2,37, 3) = (/ & & 0.23745e+03_rb,0.34144e+03_rb,0.46872e+03_rb,0.30495e+03_rb,0.17829e+03_rb /) kbo(:, 3,37, 3) = (/ & & 0.23744e+03_rb,0.34143e+03_rb,0.46871e+03_rb,0.30494e+03_rb,0.17829e+03_rb /) kbo(:, 4,37, 3) = (/ & & 0.23744e+03_rb,0.34142e+03_rb,0.46870e+03_rb,0.30494e+03_rb,0.17829e+03_rb /) kbo(:, 5,37, 3) = (/ & & 0.23743e+03_rb,0.34141e+03_rb,0.46869e+03_rb,0.30493e+03_rb,0.17829e+03_rb /) kbo(:, 1,38, 3) = (/ & & 0.23743e+03_rb,0.34143e+03_rb,0.46870e+03_rb,0.30493e+03_rb,0.17829e+03_rb /) kbo(:, 2,38, 3) = (/ & & 0.23742e+03_rb,0.34142e+03_rb,0.46869e+03_rb,0.30493e+03_rb,0.17829e+03_rb /) kbo(:, 3,38, 3) = (/ & & 0.23742e+03_rb,0.34141e+03_rb,0.46868e+03_rb,0.30492e+03_rb,0.17829e+03_rb /) kbo(:, 4,38, 3) = (/ & & 0.23741e+03_rb,0.34140e+03_rb,0.46867e+03_rb,0.30492e+03_rb,0.17829e+03_rb /) kbo(:, 5,38, 3) = (/ & & 0.23740e+03_rb,0.34140e+03_rb,0.46866e+03_rb,0.30491e+03_rb,0.17829e+03_rb /) kbo(:, 1,39, 3) = (/ & & 0.23741e+03_rb,0.34141e+03_rb,0.46867e+03_rb,0.30492e+03_rb,0.17829e+03_rb /) kbo(:, 2,39, 3) = (/ & & 0.23740e+03_rb,0.34140e+03_rb,0.46866e+03_rb,0.30491e+03_rb,0.17829e+03_rb /) kbo(:, 3,39, 3) = (/ & & 0.23739e+03_rb,0.34139e+03_rb,0.46865e+03_rb,0.30491e+03_rb,0.17829e+03_rb /) kbo(:, 4,39, 3) = (/ & & 0.23739e+03_rb,0.34139e+03_rb,0.46865e+03_rb,0.30490e+03_rb,0.17829e+03_rb /) kbo(:, 5,39, 3) = (/ & & 0.23738e+03_rb,0.34138e+03_rb,0.46864e+03_rb,0.30490e+03_rb,0.17829e+03_rb /) kbo(:, 1,40, 3) = (/ & & 0.23739e+03_rb,0.34139e+03_rb,0.46864e+03_rb,0.30490e+03_rb,0.17829e+03_rb /) kbo(:, 2,40, 3) = (/ & & 0.23738e+03_rb,0.34139e+03_rb,0.46864e+03_rb,0.30490e+03_rb,0.17829e+03_rb /) kbo(:, 3,40, 3) = (/ & & 0.23738e+03_rb,0.34138e+03_rb,0.46863e+03_rb,0.30489e+03_rb,0.17829e+03_rb /) kbo(:, 4,40, 3) = (/ & & 0.23737e+03_rb,0.34138e+03_rb,0.46862e+03_rb,0.30489e+03_rb,0.17829e+03_rb /) kbo(:, 5,40, 3) = (/ & & 0.23737e+03_rb,0.34137e+03_rb,0.46862e+03_rb,0.30489e+03_rb,0.17829e+03_rb /) kbo(:, 1,41, 3) = (/ & & 0.23737e+03_rb,0.34138e+03_rb,0.46862e+03_rb,0.30489e+03_rb,0.17829e+03_rb /) kbo(:, 2,41, 3) = (/ & & 0.23737e+03_rb,0.34138e+03_rb,0.46862e+03_rb,0.30489e+03_rb,0.17829e+03_rb /) kbo(:, 3,41, 3) = (/ & & 0.23736e+03_rb,0.34137e+03_rb,0.46861e+03_rb,0.30488e+03_rb,0.17829e+03_rb /) kbo(:, 4,41, 3) = (/ & & 0.23736e+03_rb,0.34137e+03_rb,0.46861e+03_rb,0.30488e+03_rb,0.17829e+03_rb /) kbo(:, 5,41, 3) = (/ & & 0.23736e+03_rb,0.34136e+03_rb,0.46860e+03_rb,0.30488e+03_rb,0.17829e+03_rb /) kbo(:, 1,42, 3) = (/ & & 0.23736e+03_rb,0.34137e+03_rb,0.46861e+03_rb,0.30488e+03_rb,0.17829e+03_rb /) kbo(:, 2,42, 3) = (/ & & 0.23735e+03_rb,0.34137e+03_rb,0.46860e+03_rb,0.30488e+03_rb,0.17829e+03_rb /) kbo(:, 3,42, 3) = (/ & & 0.23735e+03_rb,0.34136e+03_rb,0.46860e+03_rb,0.30488e+03_rb,0.17829e+03_rb /) kbo(:, 4,42, 3) = (/ & & 0.23735e+03_rb,0.34136e+03_rb,0.46859e+03_rb,0.30487e+03_rb,0.17829e+03_rb /) kbo(:, 5,42, 3) = (/ & & 0.23734e+03_rb,0.34135e+03_rb,0.46859e+03_rb,0.30487e+03_rb,0.17829e+03_rb /) kbo(:, 1,43, 3) = (/ & & 0.23735e+03_rb,0.34136e+03_rb,0.46859e+03_rb,0.30487e+03_rb,0.17829e+03_rb /) kbo(:, 2,43, 3) = (/ & & 0.23734e+03_rb,0.34136e+03_rb,0.46859e+03_rb,0.30487e+03_rb,0.17829e+03_rb /) kbo(:, 3,43, 3) = (/ & & 0.23734e+03_rb,0.34136e+03_rb,0.46858e+03_rb,0.30487e+03_rb,0.17829e+03_rb /) kbo(:, 4,43, 3) = (/ & & 0.23734e+03_rb,0.34135e+03_rb,0.46858e+03_rb,0.30487e+03_rb,0.17829e+03_rb /) kbo(:, 5,43, 3) = (/ & & 0.23734e+03_rb,0.34135e+03_rb,0.46858e+03_rb,0.30486e+03_rb,0.17829e+03_rb /) kbo(:, 1,44, 3) = (/ & & 0.23734e+03_rb,0.34136e+03_rb,0.46858e+03_rb,0.30487e+03_rb,0.17829e+03_rb /) kbo(:, 2,44, 3) = (/ & & 0.23734e+03_rb,0.34135e+03_rb,0.46858e+03_rb,0.30486e+03_rb,0.17829e+03_rb /) kbo(:, 3,44, 3) = (/ & & 0.23733e+03_rb,0.34135e+03_rb,0.46857e+03_rb,0.30486e+03_rb,0.17829e+03_rb /) kbo(:, 4,44, 3) = (/ & & 0.23733e+03_rb,0.34135e+03_rb,0.46857e+03_rb,0.30486e+03_rb,0.17829e+03_rb /) kbo(:, 5,44, 3) = (/ & & 0.23733e+03_rb,0.34134e+03_rb,0.46857e+03_rb,0.30486e+03_rb,0.17829e+03_rb /) kbo(:, 1,45, 3) = (/ & & 0.23733e+03_rb,0.34135e+03_rb,0.46857e+03_rb,0.30486e+03_rb,0.17829e+03_rb /) kbo(:, 2,45, 3) = (/ & & 0.23733e+03_rb,0.34135e+03_rb,0.46857e+03_rb,0.30486e+03_rb,0.17829e+03_rb /) kbo(:, 3,45, 3) = (/ & & 0.23733e+03_rb,0.34135e+03_rb,0.46857e+03_rb,0.30486e+03_rb,0.17829e+03_rb /) kbo(:, 4,45, 3) = (/ & & 0.23732e+03_rb,0.34134e+03_rb,0.46856e+03_rb,0.30486e+03_rb,0.17829e+03_rb /) kbo(:, 5,45, 3) = (/ & & 0.23732e+03_rb,0.34134e+03_rb,0.46856e+03_rb,0.30486e+03_rb,0.17829e+03_rb /) kbo(:, 1,46, 3) = (/ & & 0.23732e+03_rb,0.34135e+03_rb,0.46856e+03_rb,0.30486e+03_rb,0.17829e+03_rb /) kbo(:, 2,46, 3) = (/ & & 0.23732e+03_rb,0.34134e+03_rb,0.46856e+03_rb,0.30486e+03_rb,0.17829e+03_rb /) kbo(:, 3,46, 3) = (/ & & 0.23732e+03_rb,0.34134e+03_rb,0.46856e+03_rb,0.30485e+03_rb,0.17829e+03_rb /) kbo(:, 4,46, 3) = (/ & & 0.23732e+03_rb,0.34134e+03_rb,0.46856e+03_rb,0.30485e+03_rb,0.17829e+03_rb /) kbo(:, 5,46, 3) = (/ & & 0.23732e+03_rb,0.34134e+03_rb,0.46856e+03_rb,0.30485e+03_rb,0.17829e+03_rb /) kbo(:, 1,47, 3) = (/ & & 0.23732e+03_rb,0.34135e+03_rb,0.46856e+03_rb,0.30485e+03_rb,0.17829e+03_rb /) kbo(:, 2,47, 3) = (/ & & 0.23732e+03_rb,0.34134e+03_rb,0.46856e+03_rb,0.30485e+03_rb,0.17829e+03_rb /) kbo(:, 3,47, 3) = (/ & & 0.23732e+03_rb,0.34134e+03_rb,0.46855e+03_rb,0.30485e+03_rb,0.17829e+03_rb /) kbo(:, 4,47, 3) = (/ & & 0.23731e+03_rb,0.34134e+03_rb,0.46855e+03_rb,0.30485e+03_rb,0.17829e+03_rb /) kbo(:, 5,47, 3) = (/ & & 0.23731e+03_rb,0.34133e+03_rb,0.46855e+03_rb,0.30485e+03_rb,0.17829e+03_rb /) kbo(:, 1,48, 3) = (/ & & 0.23731e+03_rb,0.34135e+03_rb,0.46855e+03_rb,0.30485e+03_rb,0.17829e+03_rb /) kbo(:, 2,48, 3) = (/ & & 0.23731e+03_rb,0.34134e+03_rb,0.46855e+03_rb,0.30485e+03_rb,0.17829e+03_rb /) kbo(:, 3,48, 3) = (/ & & 0.23731e+03_rb,0.34134e+03_rb,0.46855e+03_rb,0.30485e+03_rb,0.17829e+03_rb /) kbo(:, 4,48, 3) = (/ & & 0.23731e+03_rb,0.34134e+03_rb,0.46855e+03_rb,0.30485e+03_rb,0.17829e+03_rb /) kbo(:, 5,48, 3) = (/ & & 0.23731e+03_rb,0.34133e+03_rb,0.46855e+03_rb,0.30485e+03_rb,0.17829e+03_rb /) kbo(:, 1,49, 3) = (/ & & 0.23731e+03_rb,0.34135e+03_rb,0.46855e+03_rb,0.30485e+03_rb,0.17829e+03_rb /) kbo(:, 2,49, 3) = (/ & & 0.23731e+03_rb,0.34134e+03_rb,0.46855e+03_rb,0.30485e+03_rb,0.17829e+03_rb /) kbo(:, 3,49, 3) = (/ & & 0.23731e+03_rb,0.34133e+03_rb,0.46854e+03_rb,0.30485e+03_rb,0.17829e+03_rb /) kbo(:, 4,49, 3) = (/ & & 0.23731e+03_rb,0.34133e+03_rb,0.46854e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 5,49, 3) = (/ & & 0.23731e+03_rb,0.34133e+03_rb,0.46854e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 1,50, 3) = (/ & & 0.23731e+03_rb,0.34136e+03_rb,0.46854e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 2,50, 3) = (/ & & 0.23731e+03_rb,0.34134e+03_rb,0.46854e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 3,50, 3) = (/ & & 0.23731e+03_rb,0.34133e+03_rb,0.46854e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 4,50, 3) = (/ & & 0.23730e+03_rb,0.34133e+03_rb,0.46854e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 5,50, 3) = (/ & & 0.23730e+03_rb,0.34133e+03_rb,0.46854e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 1,51, 3) = (/ & & 0.23731e+03_rb,0.34136e+03_rb,0.46854e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 2,51, 3) = (/ & & 0.23730e+03_rb,0.34134e+03_rb,0.46854e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 3,51, 3) = (/ & & 0.23730e+03_rb,0.34133e+03_rb,0.46854e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 4,51, 3) = (/ & & 0.23730e+03_rb,0.34133e+03_rb,0.46854e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 5,51, 3) = (/ & & 0.23730e+03_rb,0.34133e+03_rb,0.46854e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 1,52, 3) = (/ & & 0.23730e+03_rb,0.34136e+03_rb,0.46852e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 2,52, 3) = (/ & & 0.23730e+03_rb,0.34135e+03_rb,0.46854e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 3,52, 3) = (/ & & 0.23730e+03_rb,0.34133e+03_rb,0.46854e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 4,52, 3) = (/ & & 0.23730e+03_rb,0.34132e+03_rb,0.46854e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 5,52, 3) = (/ & & 0.23730e+03_rb,0.34133e+03_rb,0.46853e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 1,53, 3) = (/ & & 0.23730e+03_rb,0.34137e+03_rb,0.46851e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 2,53, 3) = (/ & & 0.23730e+03_rb,0.34135e+03_rb,0.46853e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 3,53, 3) = (/ & & 0.23730e+03_rb,0.34134e+03_rb,0.46853e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 4,53, 3) = (/ & & 0.23730e+03_rb,0.34133e+03_rb,0.46853e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 5,53, 3) = (/ & & 0.23730e+03_rb,0.34133e+03_rb,0.46853e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 1,54, 3) = (/ & & 0.23730e+03_rb,0.34137e+03_rb,0.46849e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 2,54, 3) = (/ & & 0.23730e+03_rb,0.34136e+03_rb,0.46852e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 3,54, 3) = (/ & & 0.23730e+03_rb,0.34134e+03_rb,0.46853e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 4,54, 3) = (/ & & 0.23730e+03_rb,0.34133e+03_rb,0.46853e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 5,54, 3) = (/ & & 0.23730e+03_rb,0.34132e+03_rb,0.46853e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 1,55, 3) = (/ & & 0.23730e+03_rb,0.34138e+03_rb,0.46847e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 2,55, 3) = (/ & & 0.23730e+03_rb,0.34136e+03_rb,0.46852e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 3,55, 3) = (/ & & 0.23730e+03_rb,0.34134e+03_rb,0.46853e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 4,55, 3) = (/ & & 0.23730e+03_rb,0.34133e+03_rb,0.46853e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 5,55, 3) = (/ & & 0.23730e+03_rb,0.34132e+03_rb,0.46853e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 1,56, 3) = (/ & & 0.23730e+03_rb,0.34139e+03_rb,0.46844e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 2,56, 3) = (/ & & 0.23730e+03_rb,0.34137e+03_rb,0.46850e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 3,56, 3) = (/ & & 0.23730e+03_rb,0.34135e+03_rb,0.46853e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 4,56, 3) = (/ & & 0.23730e+03_rb,0.34133e+03_rb,0.46853e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 5,56, 3) = (/ & & 0.23730e+03_rb,0.34133e+03_rb,0.46853e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 1,57, 3) = (/ & & 0.23730e+03_rb,0.34140e+03_rb,0.46840e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 2,57, 3) = (/ & & 0.23730e+03_rb,0.34137e+03_rb,0.46849e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 3,57, 3) = (/ & & 0.23730e+03_rb,0.34135e+03_rb,0.46852e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 4,57, 3) = (/ & & 0.23730e+03_rb,0.34134e+03_rb,0.46853e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 5,57, 3) = (/ & & 0.23729e+03_rb,0.34132e+03_rb,0.46853e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 1,58, 3) = (/ & & 0.23730e+03_rb,0.34140e+03_rb,0.46837e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 2,58, 3) = (/ & & 0.23729e+03_rb,0.34138e+03_rb,0.46847e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 3,58, 3) = (/ & & 0.23729e+03_rb,0.34136e+03_rb,0.46851e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 4,58, 3) = (/ & & 0.23729e+03_rb,0.34134e+03_rb,0.46853e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 5,58, 3) = (/ & & 0.23729e+03_rb,0.34133e+03_rb,0.46853e+03_rb,0.30483e+03_rb,0.17829e+03_rb /) kbo(:, 1,59, 3) = (/ & & 0.23729e+03_rb,0.34141e+03_rb,0.46835e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 2,59, 3) = (/ & & 0.23729e+03_rb,0.34138e+03_rb,0.46846e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 3,59, 3) = (/ & & 0.23729e+03_rb,0.34136e+03_rb,0.46851e+03_rb,0.30483e+03_rb,0.17829e+03_rb /) kbo(:, 4,59, 3) = (/ & & 0.23729e+03_rb,0.34134e+03_rb,0.46853e+03_rb,0.30483e+03_rb,0.17829e+03_rb /) kbo(:, 5,59, 3) = (/ & & 0.23729e+03_rb,0.34133e+03_rb,0.46853e+03_rb,0.30483e+03_rb,0.17829e+03_rb /) kbo(:, 1,13, 4) = (/ & & 0.51214e+03_rb,0.47089e+03_rb,0.53698e+03_rb,0.40623e+03_rb,0.38437e+03_rb /) kbo(:, 2,13, 4) = (/ & & 0.50819e+03_rb,0.46793e+03_rb,0.53525e+03_rb,0.40532e+03_rb,0.38437e+03_rb /) kbo(:, 3,13, 4) = (/ & & 0.50478e+03_rb,0.46537e+03_rb,0.53379e+03_rb,0.40453e+03_rb,0.38437e+03_rb /) kbo(:, 4,13, 4) = (/ & & 0.50182e+03_rb,0.46315e+03_rb,0.53251e+03_rb,0.40385e+03_rb,0.38437e+03_rb /) kbo(:, 5,13, 4) = (/ & & 0.49922e+03_rb,0.46120e+03_rb,0.53137e+03_rb,0.40325e+03_rb,0.38437e+03_rb /) kbo(:, 1,14, 4) = (/ & & 0.50224e+03_rb,0.46346e+03_rb,0.53224e+03_rb,0.40395e+03_rb,0.38437e+03_rb /) kbo(:, 2,14, 4) = (/ & & 0.49905e+03_rb,0.46107e+03_rb,0.53090e+03_rb,0.40321e+03_rb,0.38437e+03_rb /) kbo(:, 3,14, 4) = (/ & & 0.49629e+03_rb,0.45901e+03_rb,0.52974e+03_rb,0.40258e+03_rb,0.38437e+03_rb /) kbo(:, 4,14, 4) = (/ & & 0.49390e+03_rb,0.45721e+03_rb,0.52871e+03_rb,0.40203e+03_rb,0.38437e+03_rb /) kbo(:, 5,14, 4) = (/ & & 0.49179e+03_rb,0.45563e+03_rb,0.52774e+03_rb,0.40154e+03_rb,0.38437e+03_rb /) kbo(:, 1,15, 4) = (/ & & 0.49416e+03_rb,0.45741e+03_rb,0.52835e+03_rb,0.40209e+03_rb,0.38437e+03_rb /) kbo(:, 2,15, 4) = (/ & & 0.49159e+03_rb,0.45548e+03_rb,0.52725e+03_rb,0.40149e+03_rb,0.38437e+03_rb /) kbo(:, 3,15, 4) = (/ & & 0.48937e+03_rb,0.45381e+03_rb,0.52626e+03_rb,0.40098e+03_rb,0.38437e+03_rb /) kbo(:, 4,15, 4) = (/ & & 0.48743e+03_rb,0.45236e+03_rb,0.52534e+03_rb,0.40054e+03_rb,0.38437e+03_rb /) kbo(:, 5,15, 4) = (/ & & 0.48573e+03_rb,0.45108e+03_rb,0.52448e+03_rb,0.40015e+03_rb,0.38437e+03_rb /) kbo(:, 1,16, 4) = (/ & & 0.48759e+03_rb,0.45248e+03_rb,0.52492e+03_rb,0.40057e+03_rb,0.38437e+03_rb /) kbo(:, 2,16, 4) = (/ & & 0.48552e+03_rb,0.45092e+03_rb,0.52397e+03_rb,0.40010e+03_rb,0.38437e+03_rb /) kbo(:, 3,16, 4) = (/ & & 0.48373e+03_rb,0.44958e+03_rb,0.52310e+03_rb,0.39968e+03_rb,0.38437e+03_rb /) kbo(:, 4,16, 4) = (/ & & 0.48216e+03_rb,0.44841e+03_rb,0.52232e+03_rb,0.39932e+03_rb,0.38437e+03_rb /) kbo(:, 5,16, 4) = (/ & & 0.48079e+03_rb,0.44738e+03_rb,0.52159e+03_rb,0.39901e+03_rb,0.38437e+03_rb /) kbo(:, 1,17, 4) = (/ & & 0.48226e+03_rb,0.44848e+03_rb,0.52188e+03_rb,0.39935e+03_rb,0.38437e+03_rb /) kbo(:, 2,17, 4) = (/ & & 0.48059e+03_rb,0.44723e+03_rb,0.52110e+03_rb,0.39896e+03_rb,0.38437e+03_rb /) kbo(:, 3,17, 4) = (/ & & 0.47915e+03_rb,0.44615e+03_rb,0.52038e+03_rb,0.39863e+03_rb,0.38437e+03_rb /) kbo(:, 4,17, 4) = (/ & & 0.47788e+03_rb,0.44520e+03_rb,0.51974e+03_rb,0.39834e+03_rb,0.38437e+03_rb /) kbo(:, 5,17, 4) = (/ & & 0.47677e+03_rb,0.44437e+03_rb,0.51913e+03_rb,0.39808e+03_rb,0.38437e+03_rb /) kbo(:, 1,18, 4) = (/ & & 0.47794e+03_rb,0.44524e+03_rb,0.51928e+03_rb,0.39835e+03_rb,0.38437e+03_rb /) kbo(:, 2,18, 4) = (/ & & 0.47659e+03_rb,0.44423e+03_rb,0.51865e+03_rb,0.39804e+03_rb,0.38437e+03_rb /) kbo(:, 3,18, 4) = (/ & & 0.47542e+03_rb,0.44336e+03_rb,0.51808e+03_rb,0.39777e+03_rb,0.38437e+03_rb /) kbo(:, 4,18, 4) = (/ & & 0.47441e+03_rb,0.44259e+03_rb,0.51755e+03_rb,0.39754e+03_rb,0.38437e+03_rb /) kbo(:, 5,18, 4) = (/ & & 0.47351e+03_rb,0.44192e+03_rb,0.51705e+03_rb,0.39733e+03_rb,0.38437e+03_rb /) kbo(:, 1,19, 4) = (/ & & 0.47443e+03_rb,0.44261e+03_rb,0.51710e+03_rb,0.39754e+03_rb,0.38437e+03_rb /) kbo(:, 2,19, 4) = (/ & & 0.47334e+03_rb,0.44179e+03_rb,0.51660e+03_rb,0.39729e+03_rb,0.38437e+03_rb /) kbo(:, 3,19, 4) = (/ & & 0.47240e+03_rb,0.44109e+03_rb,0.51615e+03_rb,0.39708e+03_rb,0.38437e+03_rb /) kbo(:, 4,19, 4) = (/ & & 0.47158e+03_rb,0.44047e+03_rb,0.51573e+03_rb,0.39689e+03_rb,0.38437e+03_rb /) kbo(:, 5,19, 4) = (/ & & 0.47085e+03_rb,0.43993e+03_rb,0.51533e+03_rb,0.39672e+03_rb,0.38437e+03_rb /) kbo(:, 1,20, 4) = (/ & & 0.47156e+03_rb,0.44046e+03_rb,0.51527e+03_rb,0.39688e+03_rb,0.38437e+03_rb /) kbo(:, 2,20, 4) = (/ & & 0.47069e+03_rb,0.43980e+03_rb,0.51490e+03_rb,0.39668e+03_rb,0.38437e+03_rb /) kbo(:, 3,20, 4) = (/ & & 0.46993e+03_rb,0.43924e+03_rb,0.51455e+03_rb,0.39651e+03_rb,0.38437e+03_rb /) kbo(:, 4,20, 4) = (/ & & 0.46927e+03_rb,0.43874e+03_rb,0.51422e+03_rb,0.39635e+03_rb,0.38437e+03_rb /) kbo(:, 5,20, 4) = (/ & & 0.46868e+03_rb,0.43830e+03_rb,0.51389e+03_rb,0.39622e+03_rb,0.38437e+03_rb /) kbo(:, 1,21, 4) = (/ & & 0.46924e+03_rb,0.43872e+03_rb,0.51377e+03_rb,0.39635e+03_rb,0.38437e+03_rb /) kbo(:, 2,21, 4) = (/ & & 0.46853e+03_rb,0.43819e+03_rb,0.51350e+03_rb,0.39619e+03_rb,0.38437e+03_rb /) kbo(:, 3,21, 4) = (/ & & 0.46792e+03_rb,0.43773e+03_rb,0.51323e+03_rb,0.39604e+03_rb,0.38437e+03_rb /) kbo(:, 4,21, 4) = (/ & & 0.46739e+03_rb,0.43733e+03_rb,0.51296e+03_rb,0.39592e+03_rb,0.38437e+03_rb /) kbo(:, 5,21, 4) = (/ & & 0.46692e+03_rb,0.43697e+03_rb,0.51263e+03_rb,0.39581e+03_rb,0.38437e+03_rb /) kbo(:, 1,22, 4) = (/ & & 0.46731e+03_rb,0.43727e+03_rb,0.51254e+03_rb,0.39590e+03_rb,0.38437e+03_rb /) kbo(:, 2,22, 4) = (/ & & 0.46675e+03_rb,0.43685e+03_rb,0.51231e+03_rb,0.39577e+03_rb,0.38437e+03_rb /) kbo(:, 3,22, 4) = (/ & & 0.46626e+03_rb,0.43648e+03_rb,0.51212e+03_rb,0.39566e+03_rb,0.38437e+03_rb /) kbo(:, 4,22, 4) = (/ & & 0.46584e+03_rb,0.43616e+03_rb,0.51190e+03_rb,0.39556e+03_rb,0.38437e+03_rb /) kbo(:, 5,22, 4) = (/ & & 0.46546e+03_rb,0.43588e+03_rb,0.51168e+03_rb,0.39548e+03_rb,0.38437e+03_rb /) kbo(:, 1,23, 4) = (/ & & 0.46575e+03_rb,0.43610e+03_rb,0.51153e+03_rb,0.39554e+03_rb,0.38437e+03_rb /) kbo(:, 2,23, 4) = (/ & & 0.46531e+03_rb,0.43577e+03_rb,0.51138e+03_rb,0.39544e+03_rb,0.38437e+03_rb /) kbo(:, 3,23, 4) = (/ & & 0.46492e+03_rb,0.43548e+03_rb,0.51122e+03_rb,0.39535e+03_rb,0.38437e+03_rb /) kbo(:, 4,23, 4) = (/ & & 0.46458e+03_rb,0.43522e+03_rb,0.51104e+03_rb,0.39527e+03_rb,0.38437e+03_rb /) kbo(:, 5,23, 4) = (/ & & 0.46427e+03_rb,0.43499e+03_rb,0.51086e+03_rb,0.39520e+03_rb,0.38437e+03_rb /) kbo(:, 1,24, 4) = (/ & & 0.46450e+03_rb,0.43516e+03_rb,0.51071e+03_rb,0.39525e+03_rb,0.38437e+03_rb /) kbo(:, 2,24, 4) = (/ & & 0.46414e+03_rb,0.43489e+03_rb,0.51060e+03_rb,0.39517e+03_rb,0.38437e+03_rb /) kbo(:, 3,24, 4) = (/ & & 0.46383e+03_rb,0.43466e+03_rb,0.51047e+03_rb,0.39510e+03_rb,0.38437e+03_rb /) kbo(:, 4,24, 4) = (/ & & 0.46356e+03_rb,0.43445e+03_rb,0.51033e+03_rb,0.39504e+03_rb,0.38437e+03_rb /) kbo(:, 5,24, 4) = (/ & & 0.46331e+03_rb,0.43427e+03_rb,0.51019e+03_rb,0.39498e+03_rb,0.38437e+03_rb /) kbo(:, 1,25, 4) = (/ & & 0.46348e+03_rb,0.43439e+03_rb,0.51003e+03_rb,0.39502e+03_rb,0.38437e+03_rb /) kbo(:, 2,25, 4) = (/ & & 0.46319e+03_rb,0.43418e+03_rb,0.50997e+03_rb,0.39496e+03_rb,0.38437e+03_rb /) kbo(:, 3,25, 4) = (/ & & 0.46295e+03_rb,0.43400e+03_rb,0.50987e+03_rb,0.39490e+03_rb,0.38437e+03_rb /) kbo(:, 4,25, 4) = (/ & & 0.46273e+03_rb,0.43383e+03_rb,0.50976e+03_rb,0.39485e+03_rb,0.38437e+03_rb /) kbo(:, 5,25, 4) = (/ & & 0.46254e+03_rb,0.43369e+03_rb,0.50965e+03_rb,0.39480e+03_rb,0.38437e+03_rb /) kbo(:, 1,26, 4) = (/ & & 0.46265e+03_rb,0.43378e+03_rb,0.50951e+03_rb,0.39483e+03_rb,0.38437e+03_rb /) kbo(:, 2,26, 4) = (/ & & 0.46243e+03_rb,0.43361e+03_rb,0.50946e+03_rb,0.39478e+03_rb,0.38437e+03_rb /) kbo(:, 3,26, 4) = (/ & & 0.46223e+03_rb,0.43346e+03_rb,0.50938e+03_rb,0.39473e+03_rb,0.38437e+03_rb /) kbo(:, 4,26, 4) = (/ & & 0.46206e+03_rb,0.43333e+03_rb,0.50930e+03_rb,0.39469e+03_rb,0.38437e+03_rb /) kbo(:, 5,26, 4) = (/ & & 0.46190e+03_rb,0.43321e+03_rb,0.50921e+03_rb,0.39466e+03_rb,0.38437e+03_rb /) kbo(:, 1,27, 4) = (/ & & 0.46199e+03_rb,0.43328e+03_rb,0.50908e+03_rb,0.39468e+03_rb,0.38437e+03_rb /) kbo(:, 2,27, 4) = (/ & & 0.46181e+03_rb,0.43314e+03_rb,0.50904e+03_rb,0.39464e+03_rb,0.38437e+03_rb /) kbo(:, 3,27, 4) = (/ & & 0.46165e+03_rb,0.43303e+03_rb,0.50899e+03_rb,0.39460e+03_rb,0.38437e+03_rb /) kbo(:, 4,27, 4) = (/ & & 0.46152e+03_rb,0.43292e+03_rb,0.50892e+03_rb,0.39457e+03_rb,0.38437e+03_rb /) kbo(:, 5,27, 4) = (/ & & 0.46139e+03_rb,0.43283e+03_rb,0.50885e+03_rb,0.39454e+03_rb,0.38437e+03_rb /) kbo(:, 1,28, 4) = (/ & & 0.46145e+03_rb,0.43288e+03_rb,0.50873e+03_rb,0.39455e+03_rb,0.38437e+03_rb /) kbo(:, 2,28, 4) = (/ & & 0.46131e+03_rb,0.43277e+03_rb,0.50871e+03_rb,0.39452e+03_rb,0.38437e+03_rb /) kbo(:, 3,28, 4) = (/ & & 0.46119e+03_rb,0.43268e+03_rb,0.50867e+03_rb,0.39449e+03_rb,0.38437e+03_rb /) kbo(:, 4,28, 4) = (/ & & 0.46108e+03_rb,0.43259e+03_rb,0.50862e+03_rb,0.39447e+03_rb,0.38437e+03_rb /) kbo(:, 5,28, 4) = (/ & & 0.46098e+03_rb,0.43252e+03_rb,0.50856e+03_rb,0.39445e+03_rb,0.38437e+03_rb /) kbo(:, 1,29, 4) = (/ & & 0.46102e+03_rb,0.43255e+03_rb,0.50845e+03_rb,0.39445e+03_rb,0.38437e+03_rb /) kbo(:, 2,29, 4) = (/ & & 0.46091e+03_rb,0.43247e+03_rb,0.50844e+03_rb,0.39443e+03_rb,0.38437e+03_rb /) kbo(:, 3,29, 4) = (/ & & 0.46081e+03_rb,0.43239e+03_rb,0.50842e+03_rb,0.39441e+03_rb,0.38437e+03_rb /) kbo(:, 4,29, 4) = (/ & & 0.46072e+03_rb,0.43233e+03_rb,0.50837e+03_rb,0.39439e+03_rb,0.38437e+03_rb /) kbo(:, 5,29, 4) = (/ & & 0.46064e+03_rb,0.43227e+03_rb,0.50832e+03_rb,0.39437e+03_rb,0.38437e+03_rb /) kbo(:, 1,30, 4) = (/ & & 0.46067e+03_rb,0.43229e+03_rb,0.50823e+03_rb,0.39437e+03_rb,0.38437e+03_rb /) kbo(:, 2,30, 4) = (/ & & 0.46058e+03_rb,0.43223e+03_rb,0.50823e+03_rb,0.39435e+03_rb,0.38437e+03_rb /) kbo(:, 3,30, 4) = (/ & & 0.46051e+03_rb,0.43217e+03_rb,0.50821e+03_rb,0.39434e+03_rb,0.38437e+03_rb /) kbo(:, 4,30, 4) = (/ & & 0.46044e+03_rb,0.43211e+03_rb,0.50818e+03_rb,0.39432e+03_rb,0.38437e+03_rb /) kbo(:, 5,30, 4) = (/ & & 0.46037e+03_rb,0.43207e+03_rb,0.50813e+03_rb,0.39431e+03_rb,0.38437e+03_rb /) kbo(:, 1,31, 4) = (/ & & 0.46039e+03_rb,0.43208e+03_rb,0.50805e+03_rb,0.39431e+03_rb,0.38437e+03_rb /) kbo(:, 2,31, 4) = (/ & & 0.46032e+03_rb,0.43203e+03_rb,0.50805e+03_rb,0.39429e+03_rb,0.38437e+03_rb /) kbo(:, 3,31, 4) = (/ & & 0.46026e+03_rb,0.43198e+03_rb,0.50804e+03_rb,0.39428e+03_rb,0.38437e+03_rb /) kbo(:, 4,31, 4) = (/ & & 0.46021e+03_rb,0.43194e+03_rb,0.50801e+03_rb,0.39427e+03_rb,0.38437e+03_rb /) kbo(:, 5,31, 4) = (/ & & 0.46016e+03_rb,0.43190e+03_rb,0.50797e+03_rb,0.39426e+03_rb,0.38437e+03_rb /) kbo(:, 1,32, 4) = (/ & & 0.46017e+03_rb,0.43191e+03_rb,0.50790e+03_rb,0.39426e+03_rb,0.38437e+03_rb /) kbo(:, 2,32, 4) = (/ & & 0.46011e+03_rb,0.43187e+03_rb,0.50792e+03_rb,0.39425e+03_rb,0.38437e+03_rb /) kbo(:, 3,32, 4) = (/ & & 0.46006e+03_rb,0.43183e+03_rb,0.50791e+03_rb,0.39423e+03_rb,0.38437e+03_rb /) kbo(:, 4,32, 4) = (/ & & 0.46002e+03_rb,0.43180e+03_rb,0.50788e+03_rb,0.39422e+03_rb,0.38437e+03_rb /) kbo(:, 5,32, 4) = (/ & & 0.45998e+03_rb,0.43177e+03_rb,0.50784e+03_rb,0.39421e+03_rb,0.38437e+03_rb /) kbo(:, 1,33, 4) = (/ & & 0.45999e+03_rb,0.43178e+03_rb,0.50779e+03_rb,0.39422e+03_rb,0.38437e+03_rb /) kbo(:, 2,33, 4) = (/ & & 0.45994e+03_rb,0.43174e+03_rb,0.50781e+03_rb,0.39421e+03_rb,0.38437e+03_rb /) kbo(:, 3,33, 4) = (/ & & 0.45990e+03_rb,0.43171e+03_rb,0.50780e+03_rb,0.39420e+03_rb,0.38437e+03_rb /) kbo(:, 4,33, 4) = (/ & & 0.45987e+03_rb,0.43169e+03_rb,0.50777e+03_rb,0.39419e+03_rb,0.38437e+03_rb /) kbo(:, 5,33, 4) = (/ & & 0.45984e+03_rb,0.43166e+03_rb,0.50773e+03_rb,0.39418e+03_rb,0.38437e+03_rb /) kbo(:, 1,34, 4) = (/ & & 0.45984e+03_rb,0.43167e+03_rb,0.50770e+03_rb,0.39418e+03_rb,0.38437e+03_rb /) kbo(:, 2,34, 4) = (/ & & 0.45981e+03_rb,0.43164e+03_rb,0.50772e+03_rb,0.39418e+03_rb,0.38437e+03_rb /) kbo(:, 3,34, 4) = (/ & & 0.45978e+03_rb,0.43162e+03_rb,0.50771e+03_rb,0.39417e+03_rb,0.38437e+03_rb /) kbo(:, 4,34, 4) = (/ & & 0.45975e+03_rb,0.43160e+03_rb,0.50768e+03_rb,0.39416e+03_rb,0.38437e+03_rb /) kbo(:, 5,34, 4) = (/ & & 0.45972e+03_rb,0.43158e+03_rb,0.50764e+03_rb,0.39416e+03_rb,0.38437e+03_rb /) kbo(:, 1,35, 4) = (/ & & 0.45973e+03_rb,0.43158e+03_rb,0.50763e+03_rb,0.39416e+03_rb,0.38437e+03_rb /) kbo(:, 2,35, 4) = (/ & & 0.45970e+03_rb,0.43156e+03_rb,0.50764e+03_rb,0.39415e+03_rb,0.38437e+03_rb /) kbo(:, 3,35, 4) = (/ & & 0.45968e+03_rb,0.43154e+03_rb,0.50764e+03_rb,0.39414e+03_rb,0.38437e+03_rb /) kbo(:, 4,35, 4) = (/ & & 0.45965e+03_rb,0.43153e+03_rb,0.50761e+03_rb,0.39414e+03_rb,0.38437e+03_rb /) kbo(:, 5,35, 4) = (/ & & 0.45963e+03_rb,0.43151e+03_rb,0.50757e+03_rb,0.39413e+03_rb,0.38437e+03_rb /) kbo(:, 1,36, 4) = (/ & & 0.45964e+03_rb,0.43152e+03_rb,0.50757e+03_rb,0.39414e+03_rb,0.38437e+03_rb /) kbo(:, 2,36, 4) = (/ & & 0.45962e+03_rb,0.43150e+03_rb,0.50758e+03_rb,0.39413e+03_rb,0.38437e+03_rb /) kbo(:, 3,36, 4) = (/ & & 0.45960e+03_rb,0.43148e+03_rb,0.50758e+03_rb,0.39413e+03_rb,0.38437e+03_rb /) kbo(:, 4,36, 4) = (/ & & 0.45958e+03_rb,0.43147e+03_rb,0.50756e+03_rb,0.39412e+03_rb,0.38437e+03_rb /) kbo(:, 5,36, 4) = (/ & & 0.45956e+03_rb,0.43146e+03_rb,0.50752e+03_rb,0.39412e+03_rb,0.38437e+03_rb /) kbo(:, 1,37, 4) = (/ & & 0.45957e+03_rb,0.43146e+03_rb,0.50751e+03_rb,0.39412e+03_rb,0.38437e+03_rb /) kbo(:, 2,37, 4) = (/ & & 0.45955e+03_rb,0.43145e+03_rb,0.50753e+03_rb,0.39412e+03_rb,0.38437e+03_rb /) kbo(:, 3,37, 4) = (/ & & 0.45953e+03_rb,0.43144e+03_rb,0.50754e+03_rb,0.39411e+03_rb,0.38437e+03_rb /) kbo(:, 4,37, 4) = (/ & & 0.45952e+03_rb,0.43142e+03_rb,0.50752e+03_rb,0.39411e+03_rb,0.38437e+03_rb /) kbo(:, 5,37, 4) = (/ & & 0.45950e+03_rb,0.43141e+03_rb,0.50748e+03_rb,0.39411e+03_rb,0.38437e+03_rb /) kbo(:, 1,38, 4) = (/ & & 0.45951e+03_rb,0.43142e+03_rb,0.50746e+03_rb,0.39411e+03_rb,0.38437e+03_rb /) kbo(:, 2,38, 4) = (/ & & 0.45950e+03_rb,0.43141e+03_rb,0.50749e+03_rb,0.39410e+03_rb,0.38437e+03_rb /) kbo(:, 3,38, 4) = (/ & & 0.45948e+03_rb,0.43140e+03_rb,0.50750e+03_rb,0.39410e+03_rb,0.38437e+03_rb /) kbo(:, 4,38, 4) = (/ & & 0.45947e+03_rb,0.43139e+03_rb,0.50749e+03_rb,0.39410e+03_rb,0.38437e+03_rb /) kbo(:, 5,38, 4) = (/ & & 0.45946e+03_rb,0.43138e+03_rb,0.50745e+03_rb,0.39409e+03_rb,0.38437e+03_rb /) kbo(:, 1,39, 4) = (/ & & 0.45946e+03_rb,0.43138e+03_rb,0.50742e+03_rb,0.39410e+03_rb,0.38437e+03_rb /) kbo(:, 2,39, 4) = (/ & & 0.45945e+03_rb,0.43137e+03_rb,0.50746e+03_rb,0.39409e+03_rb,0.38437e+03_rb /) kbo(:, 3,39, 4) = (/ & & 0.45944e+03_rb,0.43137e+03_rb,0.50747e+03_rb,0.39409e+03_rb,0.38437e+03_rb /) kbo(:, 4,39, 4) = (/ & & 0.45943e+03_rb,0.43136e+03_rb,0.50746e+03_rb,0.39409e+03_rb,0.38437e+03_rb /) kbo(:, 5,39, 4) = (/ & & 0.45942e+03_rb,0.43135e+03_rb,0.50743e+03_rb,0.39409e+03_rb,0.38437e+03_rb /) kbo(:, 1,40, 4) = (/ & & 0.45943e+03_rb,0.43136e+03_rb,0.50738e+03_rb,0.39409e+03_rb,0.38437e+03_rb /) kbo(:, 2,40, 4) = (/ & & 0.45941e+03_rb,0.43135e+03_rb,0.50742e+03_rb,0.39408e+03_rb,0.38437e+03_rb /) kbo(:, 3,40, 4) = (/ & & 0.45940e+03_rb,0.43134e+03_rb,0.50744e+03_rb,0.39408e+03_rb,0.38437e+03_rb /) kbo(:, 4,40, 4) = (/ & & 0.45940e+03_rb,0.43133e+03_rb,0.50744e+03_rb,0.39408e+03_rb,0.38437e+03_rb /) kbo(:, 5,40, 4) = (/ & & 0.45939e+03_rb,0.43133e+03_rb,0.50742e+03_rb,0.39408e+03_rb,0.38437e+03_rb /) kbo(:, 1,41, 4) = (/ & & 0.45939e+03_rb,0.43133e+03_rb,0.50734e+03_rb,0.39408e+03_rb,0.38437e+03_rb /) kbo(:, 2,41, 4) = (/ & & 0.45938e+03_rb,0.43133e+03_rb,0.50739e+03_rb,0.39408e+03_rb,0.38437e+03_rb /) kbo(:, 3,41, 4) = (/ & & 0.45938e+03_rb,0.43132e+03_rb,0.50742e+03_rb,0.39408e+03_rb,0.38437e+03_rb /) kbo(:, 4,41, 4) = (/ & & 0.45937e+03_rb,0.43131e+03_rb,0.50742e+03_rb,0.39407e+03_rb,0.38437e+03_rb /) kbo(:, 5,41, 4) = (/ & & 0.45936e+03_rb,0.43131e+03_rb,0.50741e+03_rb,0.39407e+03_rb,0.38437e+03_rb /) kbo(:, 1,42, 4) = (/ & & 0.45937e+03_rb,0.43131e+03_rb,0.50731e+03_rb,0.39407e+03_rb,0.38437e+03_rb /) kbo(:, 2,42, 4) = (/ & & 0.45936e+03_rb,0.43131e+03_rb,0.50736e+03_rb,0.39407e+03_rb,0.38437e+03_rb /) kbo(:, 3,42, 4) = (/ & & 0.45935e+03_rb,0.43130e+03_rb,0.50739e+03_rb,0.39407e+03_rb,0.38437e+03_rb /) kbo(:, 4,42, 4) = (/ & & 0.45935e+03_rb,0.43130e+03_rb,0.50741e+03_rb,0.39407e+03_rb,0.38437e+03_rb /) kbo(:, 5,42, 4) = (/ & & 0.45934e+03_rb,0.43129e+03_rb,0.50740e+03_rb,0.39407e+03_rb,0.38437e+03_rb /) kbo(:, 1,43, 4) = (/ & & 0.45935e+03_rb,0.43130e+03_rb,0.50727e+03_rb,0.39407e+03_rb,0.38437e+03_rb /) kbo(:, 2,43, 4) = (/ & & 0.45934e+03_rb,0.43129e+03_rb,0.50733e+03_rb,0.39407e+03_rb,0.38437e+03_rb /) kbo(:, 3,43, 4) = (/ & & 0.45933e+03_rb,0.43129e+03_rb,0.50737e+03_rb,0.39407e+03_rb,0.38437e+03_rb /) kbo(:, 4,43, 4) = (/ & & 0.45933e+03_rb,0.43128e+03_rb,0.50739e+03_rb,0.39406e+03_rb,0.38437e+03_rb /) kbo(:, 5,43, 4) = (/ & & 0.45932e+03_rb,0.43128e+03_rb,0.50739e+03_rb,0.39406e+03_rb,0.38437e+03_rb /) kbo(:, 1,44, 4) = (/ & & 0.45933e+03_rb,0.43128e+03_rb,0.50723e+03_rb,0.39406e+03_rb,0.38437e+03_rb /) kbo(:, 2,44, 4) = (/ & & 0.45932e+03_rb,0.43128e+03_rb,0.50730e+03_rb,0.39406e+03_rb,0.38437e+03_rb /) kbo(:, 3,44, 4) = (/ & & 0.45932e+03_rb,0.43128e+03_rb,0.50735e+03_rb,0.39406e+03_rb,0.38437e+03_rb /) kbo(:, 4,44, 4) = (/ & & 0.45931e+03_rb,0.43127e+03_rb,0.50737e+03_rb,0.39406e+03_rb,0.38437e+03_rb /) kbo(:, 5,44, 4) = (/ & & 0.45931e+03_rb,0.43127e+03_rb,0.50738e+03_rb,0.39406e+03_rb,0.38437e+03_rb /) kbo(:, 1,45, 4) = (/ & & 0.45931e+03_rb,0.43127e+03_rb,0.50718e+03_rb,0.39406e+03_rb,0.38437e+03_rb /) kbo(:, 2,45, 4) = (/ & & 0.45931e+03_rb,0.43127e+03_rb,0.50727e+03_rb,0.39406e+03_rb,0.38437e+03_rb /) kbo(:, 3,45, 4) = (/ & & 0.45930e+03_rb,0.43127e+03_rb,0.50732e+03_rb,0.39406e+03_rb,0.38437e+03_rb /) kbo(:, 4,45, 4) = (/ & & 0.45930e+03_rb,0.43126e+03_rb,0.50736e+03_rb,0.39406e+03_rb,0.38437e+03_rb /) kbo(:, 5,45, 4) = (/ & & 0.45930e+03_rb,0.43126e+03_rb,0.50737e+03_rb,0.39406e+03_rb,0.38437e+03_rb /) kbo(:, 1,46, 4) = (/ & & 0.45930e+03_rb,0.43126e+03_rb,0.50714e+03_rb,0.39406e+03_rb,0.38437e+03_rb /) kbo(:, 2,46, 4) = (/ & & 0.45930e+03_rb,0.43126e+03_rb,0.50723e+03_rb,0.39406e+03_rb,0.38437e+03_rb /) kbo(:, 3,46, 4) = (/ & & 0.45929e+03_rb,0.43126e+03_rb,0.50730e+03_rb,0.39406e+03_rb,0.38437e+03_rb /) kbo(:, 4,46, 4) = (/ & & 0.45929e+03_rb,0.43125e+03_rb,0.50734e+03_rb,0.39406e+03_rb,0.38437e+03_rb /) kbo(:, 5,46, 4) = (/ & & 0.45929e+03_rb,0.43125e+03_rb,0.50736e+03_rb,0.39406e+03_rb,0.38437e+03_rb /) kbo(:, 1,47, 4) = (/ & & 0.45929e+03_rb,0.43126e+03_rb,0.50708e+03_rb,0.39406e+03_rb,0.38437e+03_rb /) kbo(:, 2,47, 4) = (/ & & 0.45929e+03_rb,0.43125e+03_rb,0.50719e+03_rb,0.39406e+03_rb,0.38437e+03_rb /) kbo(:, 3,47, 4) = (/ & & 0.45928e+03_rb,0.43125e+03_rb,0.50727e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 4,47, 4) = (/ & & 0.45928e+03_rb,0.43125e+03_rb,0.50732e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 5,47, 4) = (/ & & 0.45928e+03_rb,0.43125e+03_rb,0.50735e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 1,48, 4) = (/ & & 0.45928e+03_rb,0.43125e+03_rb,0.50701e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 2,48, 4) = (/ & & 0.45928e+03_rb,0.43125e+03_rb,0.50714e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 3,48, 4) = (/ & & 0.45928e+03_rb,0.43124e+03_rb,0.50723e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 4,48, 4) = (/ & & 0.45927e+03_rb,0.43124e+03_rb,0.50729e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 5,48, 4) = (/ & & 0.45927e+03_rb,0.43124e+03_rb,0.50733e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 1,49, 4) = (/ & & 0.45928e+03_rb,0.43124e+03_rb,0.50694e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 2,49, 4) = (/ & & 0.45927e+03_rb,0.43124e+03_rb,0.50709e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 3,49, 4) = (/ & & 0.45927e+03_rb,0.43124e+03_rb,0.50720e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 4,49, 4) = (/ & & 0.45927e+03_rb,0.43124e+03_rb,0.50727e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 5,49, 4) = (/ & & 0.45927e+03_rb,0.43124e+03_rb,0.50732e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 1,50, 4) = (/ & & 0.45927e+03_rb,0.43124e+03_rb,0.50686e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 2,50, 4) = (/ & & 0.45927e+03_rb,0.43124e+03_rb,0.50704e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 3,50, 4) = (/ & & 0.45927e+03_rb,0.43124e+03_rb,0.50716e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 4,50, 4) = (/ & & 0.45926e+03_rb,0.43123e+03_rb,0.50724e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 5,50, 4) = (/ & & 0.45926e+03_rb,0.43123e+03_rb,0.50730e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 1,51, 4) = (/ & & 0.45926e+03_rb,0.43124e+03_rb,0.50679e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 2,51, 4) = (/ & & 0.45926e+03_rb,0.43123e+03_rb,0.50697e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 3,51, 4) = (/ & & 0.45926e+03_rb,0.43123e+03_rb,0.50711e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 4,51, 4) = (/ & & 0.45926e+03_rb,0.43123e+03_rb,0.50721e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 5,51, 4) = (/ & & 0.45926e+03_rb,0.43123e+03_rb,0.50728e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 1,52, 4) = (/ & & 0.45926e+03_rb,0.43123e+03_rb,0.50671e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 2,52, 4) = (/ & & 0.45926e+03_rb,0.43123e+03_rb,0.50691e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 3,52, 4) = (/ & & 0.45926e+03_rb,0.43123e+03_rb,0.50707e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 4,52, 4) = (/ & & 0.45926e+03_rb,0.43123e+03_rb,0.50718e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 5,52, 4) = (/ & & 0.45925e+03_rb,0.43123e+03_rb,0.50725e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 1,53, 4) = (/ & & 0.45926e+03_rb,0.43123e+03_rb,0.50663e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 2,53, 4) = (/ & & 0.45926e+03_rb,0.43123e+03_rb,0.50684e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 3,53, 4) = (/ & & 0.45925e+03_rb,0.43123e+03_rb,0.50701e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 4,53, 4) = (/ & & 0.45925e+03_rb,0.43123e+03_rb,0.50714e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 5,53, 4) = (/ & & 0.45925e+03_rb,0.43123e+03_rb,0.50722e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 1,54, 4) = (/ & & 0.45925e+03_rb,0.43123e+03_rb,0.50655e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 2,54, 4) = (/ & & 0.45925e+03_rb,0.43123e+03_rb,0.50677e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 3,54, 4) = (/ & & 0.45925e+03_rb,0.43123e+03_rb,0.50696e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 4,54, 4) = (/ & & 0.45925e+03_rb,0.43122e+03_rb,0.50710e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 5,54, 4) = (/ & & 0.45925e+03_rb,0.43122e+03_rb,0.50720e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 1,55, 4) = (/ & & 0.45925e+03_rb,0.43123e+03_rb,0.50647e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 2,55, 4) = (/ & & 0.45925e+03_rb,0.43122e+03_rb,0.50670e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 3,55, 4) = (/ & & 0.45925e+03_rb,0.43122e+03_rb,0.50690e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 4,55, 4) = (/ & & 0.45925e+03_rb,0.43122e+03_rb,0.50706e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 5,55, 4) = (/ & & 0.45925e+03_rb,0.43122e+03_rb,0.50717e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 1,56, 4) = (/ & & 0.45925e+03_rb,0.43122e+03_rb,0.50640e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 2,56, 4) = (/ & & 0.45925e+03_rb,0.43122e+03_rb,0.50663e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 3,56, 4) = (/ & & 0.45925e+03_rb,0.43122e+03_rb,0.50683e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 4,56, 4) = (/ & & 0.45925e+03_rb,0.43122e+03_rb,0.50701e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 5,56, 4) = (/ & & 0.45925e+03_rb,0.43122e+03_rb,0.50714e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 1,57, 4) = (/ & & 0.45925e+03_rb,0.43122e+03_rb,0.50632e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 2,57, 4) = (/ & & 0.45925e+03_rb,0.43122e+03_rb,0.50656e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 3,57, 4) = (/ & & 0.45925e+03_rb,0.43122e+03_rb,0.50677e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 4,57, 4) = (/ & & 0.45925e+03_rb,0.43122e+03_rb,0.50696e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 5,57, 4) = (/ & & 0.45924e+03_rb,0.43122e+03_rb,0.50710e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 1,58, 4) = (/ & & 0.45925e+03_rb,0.43122e+03_rb,0.50624e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 2,58, 4) = (/ & & 0.45925e+03_rb,0.43122e+03_rb,0.50648e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 3,58, 4) = (/ & & 0.45924e+03_rb,0.43122e+03_rb,0.50671e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 4,58, 4) = (/ & & 0.45924e+03_rb,0.43122e+03_rb,0.50690e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 5,58, 4) = (/ & & 0.45924e+03_rb,0.43122e+03_rb,0.50706e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 1,59, 4) = (/ & & 0.45924e+03_rb,0.43122e+03_rb,0.50622e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 2,59, 4) = (/ & & 0.45924e+03_rb,0.43122e+03_rb,0.50645e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 3,59, 4) = (/ & & 0.45924e+03_rb,0.43122e+03_rb,0.50668e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 4,59, 4) = (/ & & 0.45924e+03_rb,0.43122e+03_rb,0.50688e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 5,59, 4) = (/ & & 0.45924e+03_rb,0.43122e+03_rb,0.50704e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 1,13, 5) = (/ & & 0.78037e+03_rb,0.62743e+03_rb,0.56495e+03_rb,0.56633e+03_rb,0.67117e+03_rb /) kbo(:, 2,13, 5) = (/ & & 0.77434e+03_rb,0.62291e+03_rb,0.56343e+03_rb,0.56584e+03_rb,0.67117e+03_rb /) kbo(:, 3,13, 5) = (/ & & 0.76915e+03_rb,0.61902e+03_rb,0.56189e+03_rb,0.56542e+03_rb,0.67117e+03_rb /) kbo(:, 4,13, 5) = (/ & & 0.76464e+03_rb,0.61563e+03_rb,0.56027e+03_rb,0.56506e+03_rb,0.67117e+03_rb /) kbo(:, 5,13, 5) = (/ & & 0.76068e+03_rb,0.61266e+03_rb,0.55865e+03_rb,0.56474e+03_rb,0.67117e+03_rb /) kbo(:, 1,14, 5) = (/ & & 0.76527e+03_rb,0.61611e+03_rb,0.56011e+03_rb,0.56511e+03_rb,0.67117e+03_rb /) kbo(:, 2,14, 5) = (/ & & 0.76041e+03_rb,0.61246e+03_rb,0.55859e+03_rb,0.56472e+03_rb,0.67117e+03_rb /) kbo(:, 3,14, 5) = (/ & & 0.75622e+03_rb,0.60932e+03_rb,0.55696e+03_rb,0.56438e+03_rb,0.67117e+03_rb /) kbo(:, 4,14, 5) = (/ & & 0.75257e+03_rb,0.60658e+03_rb,0.55539e+03_rb,0.56408e+03_rb,0.67117e+03_rb /) kbo(:, 5,14, 5) = (/ & & 0.74936e+03_rb,0.60417e+03_rb,0.55391e+03_rb,0.56383e+03_rb,0.67117e+03_rb /) kbo(:, 1,15, 5) = (/ & & 0.75296e+03_rb,0.60688e+03_rb,0.55521e+03_rb,0.56412e+03_rb,0.67117e+03_rb /) kbo(:, 2,15, 5) = (/ & & 0.74904e+03_rb,0.60394e+03_rb,0.55372e+03_rb,0.56380e+03_rb,0.67117e+03_rb /) kbo(:, 3,15, 5) = (/ & & 0.74566e+03_rb,0.60140e+03_rb,0.55235e+03_rb,0.56353e+03_rb,0.67117e+03_rb /) kbo(:, 4,15, 5) = (/ & & 0.74271e+03_rb,0.59919e+03_rb,0.55103e+03_rb,0.56329e+03_rb,0.67117e+03_rb /) kbo(:, 5,15, 5) = (/ & & 0.74012e+03_rb,0.59724e+03_rb,0.54977e+03_rb,0.56308e+03_rb,0.67117e+03_rb /) kbo(:, 1,16, 5) = (/ & & 0.74295e+03_rb,0.59937e+03_rb,0.55079e+03_rb,0.56331e+03_rb,0.67117e+03_rb /) kbo(:, 2,16, 5) = (/ & & 0.73979e+03_rb,0.59700e+03_rb,0.54953e+03_rb,0.56305e+03_rb,0.67117e+03_rb /) kbo(:, 3,16, 5) = (/ & & 0.73707e+03_rb,0.59495e+03_rb,0.54828e+03_rb,0.56283e+03_rb,0.67117e+03_rb /) kbo(:, 4,16, 5) = (/ & & 0.73469e+03_rb,0.59317e+03_rb,0.54708e+03_rb,0.56264e+03_rb,0.67117e+03_rb /) kbo(:, 5,16, 5) = (/ & & 0.73259e+03_rb,0.59160e+03_rb,0.54600e+03_rb,0.56247e+03_rb,0.67117e+03_rb /) kbo(:, 1,17, 5) = (/ & & 0.73483e+03_rb,0.59328e+03_rb,0.54695e+03_rb,0.56265e+03_rb,0.67117e+03_rb /) kbo(:, 2,17, 5) = (/ & & 0.73229e+03_rb,0.59137e+03_rb,0.54572e+03_rb,0.56245e+03_rb,0.67117e+03_rb /) kbo(:, 3,17, 5) = (/ & & 0.73009e+03_rb,0.58972e+03_rb,0.54462e+03_rb,0.56227e+03_rb,0.67117e+03_rb /) kbo(:, 4,17, 5) = (/ & & 0.72817e+03_rb,0.58828e+03_rb,0.54366e+03_rb,0.56212e+03_rb,0.67117e+03_rb /) kbo(:, 5,17, 5) = (/ & & 0.72647e+03_rb,0.58701e+03_rb,0.54281e+03_rb,0.56198e+03_rb,0.67117e+03_rb /) kbo(:, 1,18, 5) = (/ & & 0.72825e+03_rb,0.58834e+03_rb,0.54354e+03_rb,0.56212e+03_rb,0.67117e+03_rb /) kbo(:, 2,18, 5) = (/ & & 0.72619e+03_rb,0.58680e+03_rb,0.54253e+03_rb,0.56196e+03_rb,0.67117e+03_rb /) kbo(:, 3,18, 5) = (/ & & 0.72442e+03_rb,0.58547e+03_rb,0.54166e+03_rb,0.56181e+03_rb,0.67117e+03_rb /) kbo(:, 4,18, 5) = (/ & & 0.72286e+03_rb,0.58430e+03_rb,0.54091e+03_rb,0.56169e+03_rb,0.67117e+03_rb /) kbo(:, 5,18, 5) = (/ & & 0.72150e+03_rb,0.58328e+03_rb,0.54024e+03_rb,0.56158e+03_rb,0.67117e+03_rb /) kbo(:, 1,19, 5) = (/ & & 0.72290e+03_rb,0.58433e+03_rb,0.54075e+03_rb,0.56169e+03_rb,0.67117e+03_rb /) kbo(:, 2,19, 5) = (/ & & 0.72124e+03_rb,0.58309e+03_rb,0.53996e+03_rb,0.56156e+03_rb,0.67117e+03_rb /) kbo(:, 3,19, 5) = (/ & & 0.71981e+03_rb,0.58201e+03_rb,0.53928e+03_rb,0.56144e+03_rb,0.67117e+03_rb /) kbo(:, 4,19, 5) = (/ & & 0.71856e+03_rb,0.58107e+03_rb,0.53868e+03_rb,0.56134e+03_rb,0.67117e+03_rb /) kbo(:, 5,19, 5) = (/ & & 0.71745e+03_rb,0.58024e+03_rb,0.53816e+03_rb,0.56125e+03_rb,0.67117e+03_rb /) kbo(:, 1,20, 5) = (/ & & 0.71853e+03_rb,0.58105e+03_rb,0.53849e+03_rb,0.56134e+03_rb,0.67117e+03_rb /) kbo(:, 2,20, 5) = (/ & & 0.71720e+03_rb,0.58006e+03_rb,0.53788e+03_rb,0.56123e+03_rb,0.67117e+03_rb /) kbo(:, 3,20, 5) = (/ & & 0.71605e+03_rb,0.57919e+03_rb,0.53734e+03_rb,0.56114e+03_rb,0.67117e+03_rb /) kbo(:, 4,20, 5) = (/ & & 0.71504e+03_rb,0.57843e+03_rb,0.53687e+03_rb,0.56106e+03_rb,0.67117e+03_rb /) kbo(:, 5,20, 5) = (/ & & 0.71414e+03_rb,0.57776e+03_rb,0.53643e+03_rb,0.56098e+03_rb,0.67117e+03_rb /) kbo(:, 1,21, 5) = (/ & & 0.71499e+03_rb,0.57840e+03_rb,0.53667e+03_rb,0.56105e+03_rb,0.67117e+03_rb /) kbo(:, 2,21, 5) = (/ & & 0.71392e+03_rb,0.57759e+03_rb,0.53620e+03_rb,0.56097e+03_rb,0.67117e+03_rb /) kbo(:, 3,21, 5) = (/ & & 0.71299e+03_rb,0.57690e+03_rb,0.53578e+03_rb,0.56089e+03_rb,0.67117e+03_rb /) kbo(:, 4,21, 5) = (/ & & 0.71217e+03_rb,0.57628e+03_rb,0.53541e+03_rb,0.56083e+03_rb,0.67117e+03_rb /) kbo(:, 5,21, 5) = (/ & & 0.71145e+03_rb,0.57574e+03_rb,0.53506e+03_rb,0.56077e+03_rb,0.67117e+03_rb /) kbo(:, 1,22, 5) = (/ & & 0.71206e+03_rb,0.57620e+03_rb,0.53519e+03_rb,0.56082e+03_rb,0.67117e+03_rb /) kbo(:, 2,22, 5) = (/ & & 0.71120e+03_rb,0.57555e+03_rb,0.53482e+03_rb,0.56075e+03_rb,0.67117e+03_rb /) kbo(:, 3,22, 5) = (/ & & 0.71046e+03_rb,0.57500e+03_rb,0.53450e+03_rb,0.56069e+03_rb,0.67117e+03_rb /) kbo(:, 4,22, 5) = (/ & & 0.70981e+03_rb,0.57451e+03_rb,0.53420e+03_rb,0.56064e+03_rb,0.67117e+03_rb /) kbo(:, 5,22, 5) = (/ & & 0.70923e+03_rb,0.57408e+03_rb,0.53390e+03_rb,0.56059e+03_rb,0.67117e+03_rb /) kbo(:, 1,23, 5) = (/ & & 0.70968e+03_rb,0.57442e+03_rb,0.53396e+03_rb,0.56063e+03_rb,0.67117e+03_rb /) kbo(:, 2,23, 5) = (/ & & 0.70900e+03_rb,0.57391e+03_rb,0.53367e+03_rb,0.56057e+03_rb,0.67117e+03_rb /) kbo(:, 3,23, 5) = (/ & & 0.70841e+03_rb,0.57346e+03_rb,0.53341e+03_rb,0.56052e+03_rb,0.67117e+03_rb /) kbo(:, 4,23, 5) = (/ & & 0.70789e+03_rb,0.57307e+03_rb,0.53316e+03_rb,0.56048e+03_rb,0.67117e+03_rb /) kbo(:, 5,23, 5) = (/ & & 0.70743e+03_rb,0.57272e+03_rb,0.53290e+03_rb,0.56044e+03_rb,0.67117e+03_rb /) kbo(:, 1,24, 5) = (/ & & 0.70776e+03_rb,0.57298e+03_rb,0.53293e+03_rb,0.56047e+03_rb,0.67117e+03_rb /) kbo(:, 2,24, 5) = (/ & & 0.70722e+03_rb,0.57257e+03_rb,0.53269e+03_rb,0.56043e+03_rb,0.67117e+03_rb /) kbo(:, 3,24, 5) = (/ & & 0.70675e+03_rb,0.57222e+03_rb,0.53248e+03_rb,0.56039e+03_rb,0.67117e+03_rb /) kbo(:, 4,24, 5) = (/ & & 0.70633e+03_rb,0.57190e+03_rb,0.53228e+03_rb,0.56036e+03_rb,0.67117e+03_rb /) kbo(:, 5,24, 5) = (/ & & 0.70596e+03_rb,0.57163e+03_rb,0.53207e+03_rb,0.56033e+03_rb,0.67117e+03_rb /) kbo(:, 1,25, 5) = (/ & & 0.70621e+03_rb,0.57181e+03_rb,0.53206e+03_rb,0.56035e+03_rb,0.67117e+03_rb /) kbo(:, 2,25, 5) = (/ & & 0.70578e+03_rb,0.57149e+03_rb,0.53188e+03_rb,0.56031e+03_rb,0.67117e+03_rb /) kbo(:, 3,25, 5) = (/ & & 0.70541e+03_rb,0.57121e+03_rb,0.53172e+03_rb,0.56028e+03_rb,0.67117e+03_rb /) kbo(:, 4,25, 5) = (/ & & 0.70507e+03_rb,0.57096e+03_rb,0.53156e+03_rb,0.56025e+03_rb,0.67117e+03_rb /) kbo(:, 5,25, 5) = (/ & & 0.70478e+03_rb,0.57074e+03_rb,0.53138e+03_rb,0.56023e+03_rb,0.67117e+03_rb /) kbo(:, 1,26, 5) = (/ & & 0.70496e+03_rb,0.57087e+03_rb,0.53135e+03_rb,0.56024e+03_rb,0.67117e+03_rb /) kbo(:, 2,26, 5) = (/ & & 0.70461e+03_rb,0.57061e+03_rb,0.53122e+03_rb,0.56022e+03_rb,0.67117e+03_rb /) kbo(:, 3,26, 5) = (/ & & 0.70432e+03_rb,0.57039e+03_rb,0.53110e+03_rb,0.56019e+03_rb,0.67117e+03_rb /) kbo(:, 4,26, 5) = (/ & & 0.70405e+03_rb,0.57019e+03_rb,0.53097e+03_rb,0.56017e+03_rb,0.67117e+03_rb /) kbo(:, 5,26, 5) = (/ & & 0.70382e+03_rb,0.57001e+03_rb,0.53082e+03_rb,0.56015e+03_rb,0.67117e+03_rb /) kbo(:, 1,27, 5) = (/ & & 0.70394e+03_rb,0.57011e+03_rb,0.53077e+03_rb,0.56016e+03_rb,0.67117e+03_rb /) kbo(:, 2,27, 5) = (/ & & 0.70367e+03_rb,0.56991e+03_rb,0.53069e+03_rb,0.56014e+03_rb,0.67117e+03_rb /) kbo(:, 3,27, 5) = (/ & & 0.70343e+03_rb,0.56973e+03_rb,0.53060e+03_rb,0.56012e+03_rb,0.67117e+03_rb /) kbo(:, 4,27, 5) = (/ & & 0.70322e+03_rb,0.56957e+03_rb,0.53049e+03_rb,0.56010e+03_rb,0.67117e+03_rb /) kbo(:, 5,27, 5) = (/ & & 0.70304e+03_rb,0.56943e+03_rb,0.53036e+03_rb,0.56009e+03_rb,0.67117e+03_rb /) kbo(:, 1,28, 5) = (/ & & 0.70313e+03_rb,0.56950e+03_rb,0.53032e+03_rb,0.56010e+03_rb,0.67117e+03_rb /) kbo(:, 2,28, 5) = (/ & & 0.70291e+03_rb,0.56934e+03_rb,0.53026e+03_rb,0.56008e+03_rb,0.67117e+03_rb /) kbo(:, 3,28, 5) = (/ & & 0.70272e+03_rb,0.56920e+03_rb,0.53019e+03_rb,0.56006e+03_rb,0.67117e+03_rb /) kbo(:, 4,28, 5) = (/ & & 0.70256e+03_rb,0.56907e+03_rb,0.53010e+03_rb,0.56005e+03_rb,0.67117e+03_rb /) kbo(:, 5,28, 5) = (/ & & 0.70241e+03_rb,0.56896e+03_rb,0.52998e+03_rb,0.56004e+03_rb,0.67117e+03_rb /) kbo(:, 1,29, 5) = (/ & & 0.70247e+03_rb,0.56901e+03_rb,0.52995e+03_rb,0.56004e+03_rb,0.67117e+03_rb /) kbo(:, 2,29, 5) = (/ & & 0.70230e+03_rb,0.56888e+03_rb,0.52991e+03_rb,0.56003e+03_rb,0.67117e+03_rb /) kbo(:, 3,29, 5) = (/ & & 0.70215e+03_rb,0.56877e+03_rb,0.52985e+03_rb,0.56002e+03_rb,0.67117e+03_rb /) kbo(:, 4,29, 5) = (/ & & 0.70202e+03_rb,0.56867e+03_rb,0.52978e+03_rb,0.56001e+03_rb,0.67117e+03_rb /) kbo(:, 5,29, 5) = (/ & & 0.70190e+03_rb,0.56858e+03_rb,0.52967e+03_rb,0.56000e+03_rb,0.67117e+03_rb /) kbo(:, 1,30, 5) = (/ & & 0.70194e+03_rb,0.56861e+03_rb,0.52966e+03_rb,0.56000e+03_rb,0.67117e+03_rb /) kbo(:, 2,30, 5) = (/ & & 0.70181e+03_rb,0.56851e+03_rb,0.52963e+03_rb,0.55999e+03_rb,0.67117e+03_rb /) kbo(:, 3,30, 5) = (/ & & 0.70169e+03_rb,0.56842e+03_rb,0.52958e+03_rb,0.55998e+03_rb,0.67117e+03_rb /) kbo(:, 4,30, 5) = (/ & & 0.70158e+03_rb,0.56834e+03_rb,0.52951e+03_rb,0.55997e+03_rb,0.67117e+03_rb /) kbo(:, 5,30, 5) = (/ & & 0.70149e+03_rb,0.56827e+03_rb,0.52941e+03_rb,0.55996e+03_rb,0.67117e+03_rb /) kbo(:, 1,31, 5) = (/ & & 0.70151e+03_rb,0.56829e+03_rb,0.52942e+03_rb,0.55997e+03_rb,0.67117e+03_rb /) kbo(:, 2,31, 5) = (/ & & 0.70141e+03_rb,0.56821e+03_rb,0.52941e+03_rb,0.55996e+03_rb,0.67117e+03_rb /) kbo(:, 3,31, 5) = (/ & & 0.70131e+03_rb,0.56814e+03_rb,0.52936e+03_rb,0.55995e+03_rb,0.67117e+03_rb /) kbo(:, 4,31, 5) = (/ & & 0.70123e+03_rb,0.56807e+03_rb,0.52930e+03_rb,0.55994e+03_rb,0.67117e+03_rb /) kbo(:, 5,31, 5) = (/ & & 0.70115e+03_rb,0.56802e+03_rb,0.52920e+03_rb,0.55994e+03_rb,0.67117e+03_rb /) kbo(:, 1,32, 5) = (/ & & 0.70117e+03_rb,0.56803e+03_rb,0.52924e+03_rb,0.55994e+03_rb,0.67117e+03_rb /) kbo(:, 2,32, 5) = (/ & & 0.70109e+03_rb,0.56797e+03_rb,0.52922e+03_rb,0.55993e+03_rb,0.67117e+03_rb /) kbo(:, 3,32, 5) = (/ & & 0.70101e+03_rb,0.56791e+03_rb,0.52919e+03_rb,0.55993e+03_rb,0.67117e+03_rb /) kbo(:, 4,32, 5) = (/ & & 0.70094e+03_rb,0.56786e+03_rb,0.52912e+03_rb,0.55992e+03_rb,0.67117e+03_rb /) kbo(:, 5,32, 5) = (/ & & 0.70088e+03_rb,0.56782e+03_rb,0.52902e+03_rb,0.55992e+03_rb,0.67117e+03_rb /) kbo(:, 1,33, 5) = (/ & & 0.70090e+03_rb,0.56782e+03_rb,0.52908e+03_rb,0.55992e+03_rb,0.67117e+03_rb /) kbo(:, 2,33, 5) = (/ & & 0.70083e+03_rb,0.56777e+03_rb,0.52907e+03_rb,0.55991e+03_rb,0.67117e+03_rb /) kbo(:, 3,33, 5) = (/ & & 0.70077e+03_rb,0.56773e+03_rb,0.52904e+03_rb,0.55991e+03_rb,0.67117e+03_rb /) kbo(:, 4,33, 5) = (/ & & 0.70072e+03_rb,0.56769e+03_rb,0.52897e+03_rb,0.55990e+03_rb,0.67117e+03_rb /) kbo(:, 5,33, 5) = (/ & & 0.70067e+03_rb,0.56765e+03_rb,0.52887e+03_rb,0.55990e+03_rb,0.67117e+03_rb /) kbo(:, 1,34, 5) = (/ & & 0.70068e+03_rb,0.56766e+03_rb,0.52896e+03_rb,0.55990e+03_rb,0.67117e+03_rb /) kbo(:, 2,34, 5) = (/ & & 0.70062e+03_rb,0.56762e+03_rb,0.52895e+03_rb,0.55989e+03_rb,0.67117e+03_rb /) kbo(:, 3,34, 5) = (/ & & 0.70057e+03_rb,0.56758e+03_rb,0.52892e+03_rb,0.55989e+03_rb,0.67117e+03_rb /) kbo(:, 4,34, 5) = (/ & & 0.70053e+03_rb,0.56755e+03_rb,0.52885e+03_rb,0.55989e+03_rb,0.67117e+03_rb /) kbo(:, 5,34, 5) = (/ & & 0.70049e+03_rb,0.56752e+03_rb,0.52874e+03_rb,0.55988e+03_rb,0.67117e+03_rb /) kbo(:, 1,35, 5) = (/ & & 0.70050e+03_rb,0.56753e+03_rb,0.52886e+03_rb,0.55988e+03_rb,0.67117e+03_rb /) kbo(:, 2,35, 5) = (/ & & 0.70046e+03_rb,0.56750e+03_rb,0.52885e+03_rb,0.55988e+03_rb,0.67117e+03_rb /) kbo(:, 3,35, 5) = (/ & & 0.70042e+03_rb,0.56747e+03_rb,0.52883e+03_rb,0.55988e+03_rb,0.67117e+03_rb /) kbo(:, 4,35, 5) = (/ & & 0.70039e+03_rb,0.56744e+03_rb,0.52876e+03_rb,0.55988e+03_rb,0.67117e+03_rb /) kbo(:, 5,35, 5) = (/ & & 0.70035e+03_rb,0.56742e+03_rb,0.52864e+03_rb,0.55987e+03_rb,0.67117e+03_rb /) kbo(:, 1,36, 5) = (/ & & 0.70037e+03_rb,0.56743e+03_rb,0.52877e+03_rb,0.55987e+03_rb,0.67117e+03_rb /) kbo(:, 2,36, 5) = (/ & & 0.70033e+03_rb,0.56740e+03_rb,0.52878e+03_rb,0.55987e+03_rb,0.67117e+03_rb /) kbo(:, 3,36, 5) = (/ & & 0.70030e+03_rb,0.56738e+03_rb,0.52875e+03_rb,0.55987e+03_rb,0.67117e+03_rb /) kbo(:, 4,36, 5) = (/ & & 0.70027e+03_rb,0.56736e+03_rb,0.52869e+03_rb,0.55987e+03_rb,0.67117e+03_rb /) kbo(:, 5,36, 5) = (/ & & 0.70025e+03_rb,0.56734e+03_rb,0.52857e+03_rb,0.55986e+03_rb,0.67117e+03_rb /) kbo(:, 1,37, 5) = (/ & & 0.70026e+03_rb,0.56735e+03_rb,0.52870e+03_rb,0.55986e+03_rb,0.67117e+03_rb /) kbo(:, 2,37, 5) = (/ & & 0.70023e+03_rb,0.56733e+03_rb,0.52872e+03_rb,0.55986e+03_rb,0.67117e+03_rb /) kbo(:, 3,37, 5) = (/ & & 0.70020e+03_rb,0.56731e+03_rb,0.52870e+03_rb,0.55986e+03_rb,0.67117e+03_rb /) kbo(:, 4,37, 5) = (/ & & 0.70018e+03_rb,0.56729e+03_rb,0.52864e+03_rb,0.55986e+03_rb,0.67117e+03_rb /) kbo(:, 5,37, 5) = (/ & & 0.70016e+03_rb,0.56727e+03_rb,0.52854e+03_rb,0.55986e+03_rb,0.67117e+03_rb /) kbo(:, 1,38, 5) = (/ & & 0.70017e+03_rb,0.56728e+03_rb,0.52864e+03_rb,0.55986e+03_rb,0.67117e+03_rb /) kbo(:, 2,38, 5) = (/ & & 0.70015e+03_rb,0.56726e+03_rb,0.52866e+03_rb,0.55986e+03_rb,0.67117e+03_rb /) kbo(:, 3,38, 5) = (/ & & 0.70012e+03_rb,0.56725e+03_rb,0.52866e+03_rb,0.55985e+03_rb,0.67117e+03_rb /) kbo(:, 4,38, 5) = (/ & & 0.70010e+03_rb,0.56723e+03_rb,0.52860e+03_rb,0.55985e+03_rb,0.67117e+03_rb /) kbo(:, 5,38, 5) = (/ & & 0.70009e+03_rb,0.56722e+03_rb,0.52852e+03_rb,0.55985e+03_rb,0.67117e+03_rb /) kbo(:, 1,39, 5) = (/ & & 0.70010e+03_rb,0.56723e+03_rb,0.52860e+03_rb,0.55985e+03_rb,0.67117e+03_rb /) kbo(:, 2,39, 5) = (/ & & 0.70008e+03_rb,0.56721e+03_rb,0.52862e+03_rb,0.55985e+03_rb,0.67117e+03_rb /) kbo(:, 3,39, 5) = (/ & & 0.70006e+03_rb,0.56720e+03_rb,0.52861e+03_rb,0.55985e+03_rb,0.67117e+03_rb /) kbo(:, 4,39, 5) = (/ & & 0.70004e+03_rb,0.56719e+03_rb,0.52858e+03_rb,0.55985e+03_rb,0.67117e+03_rb /) kbo(:, 5,39, 5) = (/ & & 0.70003e+03_rb,0.56717e+03_rb,0.52850e+03_rb,0.55985e+03_rb,0.67117e+03_rb /) kbo(:, 1,40, 5) = (/ & & 0.70004e+03_rb,0.56718e+03_rb,0.52855e+03_rb,0.55985e+03_rb,0.67117e+03_rb /) kbo(:, 2,40, 5) = (/ & & 0.70002e+03_rb,0.56717e+03_rb,0.52858e+03_rb,0.55985e+03_rb,0.67117e+03_rb /) kbo(:, 3,40, 5) = (/ & & 0.70001e+03_rb,0.56716e+03_rb,0.52859e+03_rb,0.55984e+03_rb,0.67117e+03_rb /) kbo(:, 4,40, 5) = (/ & & 0.69999e+03_rb,0.56715e+03_rb,0.52856e+03_rb,0.55984e+03_rb,0.67117e+03_rb /) kbo(:, 5,40, 5) = (/ & & 0.69998e+03_rb,0.56714e+03_rb,0.52849e+03_rb,0.55984e+03_rb,0.67117e+03_rb /) kbo(:, 1,41, 5) = (/ & & 0.69999e+03_rb,0.56715e+03_rb,0.52850e+03_rb,0.55984e+03_rb,0.67117e+03_rb /) kbo(:, 2,41, 5) = (/ & & 0.69998e+03_rb,0.56714e+03_rb,0.52854e+03_rb,0.55984e+03_rb,0.67117e+03_rb /) kbo(:, 3,41, 5) = (/ & & 0.69996e+03_rb,0.56713e+03_rb,0.52856e+03_rb,0.55984e+03_rb,0.67117e+03_rb /) kbo(:, 4,41, 5) = (/ & & 0.69995e+03_rb,0.56712e+03_rb,0.52854e+03_rb,0.55984e+03_rb,0.67117e+03_rb /) kbo(:, 5,41, 5) = (/ & & 0.69994e+03_rb,0.56711e+03_rb,0.52848e+03_rb,0.55984e+03_rb,0.67117e+03_rb /) kbo(:, 1,42, 5) = (/ & & 0.69995e+03_rb,0.56712e+03_rb,0.52846e+03_rb,0.55984e+03_rb,0.67117e+03_rb /) kbo(:, 2,42, 5) = (/ & & 0.69994e+03_rb,0.56711e+03_rb,0.52851e+03_rb,0.55984e+03_rb,0.67117e+03_rb /) kbo(:, 3,42, 5) = (/ & & 0.69993e+03_rb,0.56710e+03_rb,0.52853e+03_rb,0.55984e+03_rb,0.67117e+03_rb /) kbo(:, 4,42, 5) = (/ & & 0.69992e+03_rb,0.56709e+03_rb,0.52853e+03_rb,0.55984e+03_rb,0.67117e+03_rb /) kbo(:, 5,42, 5) = (/ & & 0.69991e+03_rb,0.56709e+03_rb,0.52848e+03_rb,0.55984e+03_rb,0.67117e+03_rb /) kbo(:, 1,43, 5) = (/ & & 0.69992e+03_rb,0.56709e+03_rb,0.52843e+03_rb,0.55984e+03_rb,0.67117e+03_rb /) kbo(:, 2,43, 5) = (/ & & 0.69991e+03_rb,0.56708e+03_rb,0.52848e+03_rb,0.55984e+03_rb,0.67117e+03_rb /) kbo(:, 3,43, 5) = (/ & & 0.69990e+03_rb,0.56708e+03_rb,0.52851e+03_rb,0.55984e+03_rb,0.67117e+03_rb /) kbo(:, 4,43, 5) = (/ & & 0.69989e+03_rb,0.56707e+03_rb,0.52851e+03_rb,0.55984e+03_rb,0.67117e+03_rb /) kbo(:, 5,43, 5) = (/ & & 0.69988e+03_rb,0.56707e+03_rb,0.52848e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 1,44, 5) = (/ & & 0.69989e+03_rb,0.56707e+03_rb,0.52838e+03_rb,0.55984e+03_rb,0.67117e+03_rb /) kbo(:, 2,44, 5) = (/ & & 0.69988e+03_rb,0.56707e+03_rb,0.52844e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 3,44, 5) = (/ & & 0.69988e+03_rb,0.56706e+03_rb,0.52848e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 4,44, 5) = (/ & & 0.69987e+03_rb,0.56705e+03_rb,0.52850e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 5,44, 5) = (/ & & 0.69986e+03_rb,0.56705e+03_rb,0.52849e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 1,45, 5) = (/ & & 0.69987e+03_rb,0.56706e+03_rb,0.52834e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 2,45, 5) = (/ & & 0.69986e+03_rb,0.56705e+03_rb,0.52841e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 3,45, 5) = (/ & & 0.69986e+03_rb,0.56704e+03_rb,0.52846e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 4,45, 5) = (/ & & 0.69985e+03_rb,0.56704e+03_rb,0.52848e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 5,45, 5) = (/ & & 0.69984e+03_rb,0.56704e+03_rb,0.52848e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 1,46, 5) = (/ & & 0.69985e+03_rb,0.56704e+03_rb,0.52830e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 2,46, 5) = (/ & & 0.69984e+03_rb,0.56704e+03_rb,0.52837e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 3,46, 5) = (/ & & 0.69984e+03_rb,0.56703e+03_rb,0.52843e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 4,46, 5) = (/ & & 0.69983e+03_rb,0.56703e+03_rb,0.52847e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 5,46, 5) = (/ & & 0.69983e+03_rb,0.56703e+03_rb,0.52848e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 1,47, 5) = (/ & & 0.69984e+03_rb,0.56703e+03_rb,0.52826e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 2,47, 5) = (/ & & 0.69983e+03_rb,0.56703e+03_rb,0.52834e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 3,47, 5) = (/ & & 0.69982e+03_rb,0.56702e+03_rb,0.52840e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 4,47, 5) = (/ & & 0.69982e+03_rb,0.56702e+03_rb,0.52845e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 5,47, 5) = (/ & & 0.69982e+03_rb,0.56702e+03_rb,0.52847e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 1,48, 5) = (/ & & 0.69982e+03_rb,0.56702e+03_rb,0.52821e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 2,48, 5) = (/ & & 0.69982e+03_rb,0.56702e+03_rb,0.52830e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 3,48, 5) = (/ & & 0.69981e+03_rb,0.56701e+03_rb,0.52837e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 4,48, 5) = (/ & & 0.69981e+03_rb,0.56701e+03_rb,0.52842e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 5,48, 5) = (/ & & 0.69981e+03_rb,0.56701e+03_rb,0.52845e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 1,49, 5) = (/ & & 0.69981e+03_rb,0.56701e+03_rb,0.52817e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 2,49, 5) = (/ & & 0.69981e+03_rb,0.56701e+03_rb,0.52825e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 3,49, 5) = (/ & & 0.69980e+03_rb,0.56701e+03_rb,0.52833e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 4,49, 5) = (/ & & 0.69980e+03_rb,0.56700e+03_rb,0.52840e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 5,49, 5) = (/ & & 0.69980e+03_rb,0.56700e+03_rb,0.52844e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 1,50, 5) = (/ & & 0.69980e+03_rb,0.56701e+03_rb,0.52812e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 2,50, 5) = (/ & & 0.69980e+03_rb,0.56700e+03_rb,0.52821e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 3,50, 5) = (/ & & 0.69980e+03_rb,0.56700e+03_rb,0.52830e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 4,50, 5) = (/ & & 0.69979e+03_rb,0.56700e+03_rb,0.52837e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 5,50, 5) = (/ & & 0.69979e+03_rb,0.56700e+03_rb,0.52842e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 1,51, 5) = (/ & & 0.69979e+03_rb,0.56700e+03_rb,0.52807e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 2,51, 5) = (/ & & 0.69979e+03_rb,0.56700e+03_rb,0.52818e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 3,51, 5) = (/ & & 0.69979e+03_rb,0.56699e+03_rb,0.52827e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 4,51, 5) = (/ & & 0.69979e+03_rb,0.56699e+03_rb,0.52834e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 5,51, 5) = (/ & & 0.69978e+03_rb,0.56699e+03_rb,0.52841e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 1,52, 5) = (/ & & 0.69979e+03_rb,0.56699e+03_rb,0.52802e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 2,52, 5) = (/ & & 0.69979e+03_rb,0.56699e+03_rb,0.52814e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 3,52, 5) = (/ & & 0.69978e+03_rb,0.56699e+03_rb,0.52823e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 4,52, 5) = (/ & & 0.69978e+03_rb,0.56699e+03_rb,0.52831e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 5,52, 5) = (/ & & 0.69978e+03_rb,0.56699e+03_rb,0.52838e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 1,53, 5) = (/ & & 0.69978e+03_rb,0.56699e+03_rb,0.52798e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 2,53, 5) = (/ & & 0.69978e+03_rb,0.56699e+03_rb,0.52809e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 3,53, 5) = (/ & & 0.69978e+03_rb,0.56699e+03_rb,0.52820e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 4,53, 5) = (/ & & 0.69978e+03_rb,0.56699e+03_rb,0.52828e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 5,53, 5) = (/ & & 0.69977e+03_rb,0.56698e+03_rb,0.52836e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 1,54, 5) = (/ & & 0.69978e+03_rb,0.56699e+03_rb,0.52794e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 2,54, 5) = (/ & & 0.69978e+03_rb,0.56699e+03_rb,0.52804e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 3,54, 5) = (/ & & 0.69977e+03_rb,0.56698e+03_rb,0.52816e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 4,54, 5) = (/ & & 0.69977e+03_rb,0.56698e+03_rb,0.52825e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 5,54, 5) = (/ & & 0.69977e+03_rb,0.56698e+03_rb,0.52833e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 1,55, 5) = (/ & & 0.69977e+03_rb,0.56698e+03_rb,0.52790e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 2,55, 5) = (/ & & 0.69977e+03_rb,0.56698e+03_rb,0.52801e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 3,55, 5) = (/ & & 0.69977e+03_rb,0.56698e+03_rb,0.52812e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 4,55, 5) = (/ & & 0.69977e+03_rb,0.56698e+03_rb,0.52822e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 5,55, 5) = (/ & & 0.69977e+03_rb,0.56698e+03_rb,0.52830e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 1,56, 5) = (/ & & 0.69977e+03_rb,0.56698e+03_rb,0.52786e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 2,56, 5) = (/ & & 0.69977e+03_rb,0.56698e+03_rb,0.52797e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 3,56, 5) = (/ & & 0.69977e+03_rb,0.56698e+03_rb,0.52808e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 4,56, 5) = (/ & & 0.69977e+03_rb,0.56698e+03_rb,0.52819e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 5,56, 5) = (/ & & 0.69977e+03_rb,0.56698e+03_rb,0.52827e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 1,57, 5) = (/ & & 0.69977e+03_rb,0.56698e+03_rb,0.52781e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 2,57, 5) = (/ & & 0.69977e+03_rb,0.56698e+03_rb,0.52794e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 3,57, 5) = (/ & & 0.69977e+03_rb,0.56698e+03_rb,0.52805e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 4,57, 5) = (/ & & 0.69976e+03_rb,0.56698e+03_rb,0.52815e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 5,57, 5) = (/ & & 0.69976e+03_rb,0.56698e+03_rb,0.52825e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 1,58, 5) = (/ & & 0.69977e+03_rb,0.56698e+03_rb,0.52777e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 2,58, 5) = (/ & & 0.69976e+03_rb,0.56698e+03_rb,0.52790e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 3,58, 5) = (/ & & 0.69976e+03_rb,0.56698e+03_rb,0.52801e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 4,58, 5) = (/ & & 0.69976e+03_rb,0.56698e+03_rb,0.52812e+03_rb,0.55982e+03_rb,0.67117e+03_rb /) kbo(:, 5,58, 5) = (/ & & 0.69976e+03_rb,0.56697e+03_rb,0.52822e+03_rb,0.55982e+03_rb,0.67117e+03_rb /) kbo(:, 1,59, 5) = (/ & & 0.69976e+03_rb,0.56698e+03_rb,0.52775e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 2,59, 5) = (/ & & 0.69976e+03_rb,0.56698e+03_rb,0.52788e+03_rb,0.55982e+03_rb,0.67117e+03_rb /) kbo(:, 3,59, 5) = (/ & & 0.69976e+03_rb,0.56697e+03_rb,0.52801e+03_rb,0.55982e+03_rb,0.67117e+03_rb /) kbo(:, 4,59, 5) = (/ & & 0.69976e+03_rb,0.56697e+03_rb,0.52811e+03_rb,0.55982e+03_rb,0.67117e+03_rb /) kbo(:, 5,59, 5) = (/ & & 0.69976e+03_rb,0.56697e+03_rb,0.52821e+03_rb,0.55982e+03_rb,0.67117e+03_rb /) kbo(:, 1,13, 6) = (/ & & 0.99182e+03_rb,0.76479e+03_rb,0.58123e+03_rb,0.73928e+03_rb,0.94808e+03_rb /) kbo(:, 2,13, 6) = (/ & & 0.98417e+03_rb,0.75904e+03_rb,0.57888e+03_rb,0.73991e+03_rb,0.94920e+03_rb /) kbo(:, 3,13, 6) = (/ & & 0.97757e+03_rb,0.75410e+03_rb,0.57650e+03_rb,0.74029e+03_rb,0.94995e+03_rb /) kbo(:, 4,13, 6) = (/ & & 0.97184e+03_rb,0.74980e+03_rb,0.57428e+03_rb,0.74046e+03_rb,0.95033e+03_rb /) kbo(:, 5,13, 6) = (/ & & 0.96680e+03_rb,0.74602e+03_rb,0.57217e+03_rb,0.74043e+03_rb,0.95033e+03_rb /) kbo(:, 1,14, 6) = (/ & & 0.97264e+03_rb,0.75040e+03_rb,0.57482e+03_rb,0.73884e+03_rb,0.94820e+03_rb /) kbo(:, 2,14, 6) = (/ & & 0.96646e+03_rb,0.74576e+03_rb,0.57229e+03_rb,0.73949e+03_rb,0.94928e+03_rb /) kbo(:, 3,14, 6) = (/ & & 0.96113e+03_rb,0.74177e+03_rb,0.57016e+03_rb,0.73988e+03_rb,0.95000e+03_rb /) kbo(:, 4,14, 6) = (/ & & 0.95649e+03_rb,0.73829e+03_rb,0.56822e+03_rb,0.74006e+03_rb,0.95035e+03_rb /) kbo(:, 5,14, 6) = (/ & & 0.95242e+03_rb,0.73523e+03_rb,0.56635e+03_rb,0.74003e+03_rb,0.95032e+03_rb /) kbo(:, 1,15, 6) = (/ & & 0.95700e+03_rb,0.73867e+03_rb,0.56844e+03_rb,0.73851e+03_rb,0.94832e+03_rb /) kbo(:, 2,15, 6) = (/ & & 0.95201e+03_rb,0.73493e+03_rb,0.56632e+03_rb,0.73916e+03_rb,0.94937e+03_rb /) kbo(:, 3,15, 6) = (/ & & 0.94772e+03_rb,0.73170e+03_rb,0.56426e+03_rb,0.73956e+03_rb,0.95005e+03_rb /) kbo(:, 4,15, 6) = (/ & & 0.94397e+03_rb,0.72889e+03_rb,0.56242e+03_rb,0.73973e+03_rb,0.95035e+03_rb /) kbo(:, 5,15, 6) = (/ & & 0.94067e+03_rb,0.72642e+03_rb,0.56076e+03_rb,0.73970e+03_rb,0.95029e+03_rb /) kbo(:, 1,16, 6) = (/ & & 0.94427e+03_rb,0.72912e+03_rb,0.56257e+03_rb,0.73826e+03_rb,0.94846e+03_rb /) kbo(:, 2,16, 6) = (/ & & 0.94026e+03_rb,0.72611e+03_rb,0.56064e+03_rb,0.73891e+03_rb,0.94946e+03_rb /) kbo(:, 3,16, 6) = (/ & & 0.93679e+03_rb,0.72351e+03_rb,0.55906e+03_rb,0.73929e+03_rb,0.95011e+03_rb /) kbo(:, 4,16, 6) = (/ & & 0.93377e+03_rb,0.72124e+03_rb,0.55770e+03_rb,0.73948e+03_rb,0.95036e+03_rb /) kbo(:, 5,16, 6) = (/ & & 0.93110e+03_rb,0.71925e+03_rb,0.55641e+03_rb,0.73943e+03_rb,0.95027e+03_rb /) kbo(:, 1,17, 6) = (/ & & 0.93395e+03_rb,0.72138e+03_rb,0.55755e+03_rb,0.73807e+03_rb,0.94857e+03_rb /) kbo(:, 2,17, 6) = (/ & & 0.93072e+03_rb,0.71896e+03_rb,0.55622e+03_rb,0.73871e+03_rb,0.94955e+03_rb /) kbo(:, 3,17, 6) = (/ & & 0.92792e+03_rb,0.71686e+03_rb,0.55497e+03_rb,0.73909e+03_rb,0.95015e+03_rb /) kbo(:, 4,17, 6) = (/ & & 0.92548e+03_rb,0.71503e+03_rb,0.55372e+03_rb,0.73925e+03_rb,0.95038e+03_rb /) kbo(:, 5,17, 6) = (/ & & 0.92333e+03_rb,0.71341e+03_rb,0.55252e+03_rb,0.73921e+03_rb,0.95024e+03_rb /) kbo(:, 1,18, 6) = (/ & & 0.92558e+03_rb,0.71510e+03_rb,0.55360e+03_rb,0.73792e+03_rb,0.94869e+03_rb /) kbo(:, 2,18, 6) = (/ & & 0.92297e+03_rb,0.71315e+03_rb,0.55237e+03_rb,0.73856e+03_rb,0.94963e+03_rb /) kbo(:, 3,18, 6) = (/ & & 0.92072e+03_rb,0.71146e+03_rb,0.55114e+03_rb,0.73892e+03_rb,0.95019e+03_rb /) kbo(:, 4,18, 6) = (/ & & 0.91874e+03_rb,0.70998e+03_rb,0.55001e+03_rb,0.73908e+03_rb,0.95037e+03_rb /) kbo(:, 5,18, 6) = (/ & & 0.91700e+03_rb,0.70867e+03_rb,0.54903e+03_rb,0.73903e+03_rb,0.95021e+03_rb /) kbo(:, 1,19, 6) = (/ & & 0.91879e+03_rb,0.71001e+03_rb,0.55004e+03_rb,0.73782e+03_rb,0.94880e+03_rb /) kbo(:, 2,19, 6) = (/ & & 0.91668e+03_rb,0.70843e+03_rb,0.54889e+03_rb,0.73844e+03_rb,0.94970e+03_rb /) kbo(:, 3,19, 6) = (/ & & 0.91486e+03_rb,0.70706e+03_rb,0.54830e+03_rb,0.73880e+03_rb,0.95023e+03_rb /) kbo(:, 4,19, 6) = (/ & & 0.91327e+03_rb,0.70587e+03_rb,0.54705e+03_rb,0.73894e+03_rb,0.95037e+03_rb /) kbo(:, 5,19, 6) = (/ & & 0.91186e+03_rb,0.70481e+03_rb,0.54615e+03_rb,0.73887e+03_rb,0.95019e+03_rb /) kbo(:, 1,20, 6) = (/ & & 0.91324e+03_rb,0.70585e+03_rb,0.54718e+03_rb,0.73776e+03_rb,0.94893e+03_rb /) kbo(:, 2,20, 6) = (/ & & 0.91155e+03_rb,0.70458e+03_rb,0.54599e+03_rb,0.73835e+03_rb,0.94979e+03_rb /) kbo(:, 3,20, 6) = (/ & & 0.91008e+03_rb,0.70348e+03_rb,0.54519e+03_rb,0.73870e+03_rb,0.95026e+03_rb /) kbo(:, 4,20, 6) = (/ & & 0.90879e+03_rb,0.70251e+03_rb,0.54450e+03_rb,0.73882e+03_rb,0.95036e+03_rb /) kbo(:, 5,20, 6) = (/ & & 0.90766e+03_rb,0.70166e+03_rb,0.54390e+03_rb,0.73874e+03_rb,0.95013e+03_rb /) kbo(:, 1,21, 6) = (/ & & 0.90874e+03_rb,0.70247e+03_rb,0.54444e+03_rb,0.73773e+03_rb,0.94905e+03_rb /) kbo(:, 2,21, 6) = (/ & & 0.90737e+03_rb,0.70145e+03_rb,0.54370e+03_rb,0.73831e+03_rb,0.94986e+03_rb /) kbo(:, 3,21, 6) = (/ & & 0.90619e+03_rb,0.70056e+03_rb,0.54308e+03_rb,0.73862e+03_rb,0.95029e+03_rb /) kbo(:, 4,21, 6) = (/ & & 0.90515e+03_rb,0.69978e+03_rb,0.54255e+03_rb,0.73872e+03_rb,0.95035e+03_rb /) kbo(:, 5,21, 6) = (/ & & 0.90424e+03_rb,0.69910e+03_rb,0.54208e+03_rb,0.73862e+03_rb,0.95008e+03_rb /) kbo(:, 1,22, 6) = (/ & & 0.90500e+03_rb,0.69967e+03_rb,0.54240e+03_rb,0.73776e+03_rb,0.94923e+03_rb /) kbo(:, 2,22, 6) = (/ & & 0.90392e+03_rb,0.69886e+03_rb,0.54185e+03_rb,0.73829e+03_rb,0.94997e+03_rb /) kbo(:, 3,22, 6) = (/ & & 0.90297e+03_rb,0.69815e+03_rb,0.54138e+03_rb,0.73857e+03_rb,0.95033e+03_rb /) kbo(:, 4,22, 6) = (/ & & 0.90215e+03_rb,0.69753e+03_rb,0.54099e+03_rb,0.73864e+03_rb,0.95033e+03_rb /) kbo(:, 5,22, 6) = (/ & & 0.90141e+03_rb,0.69698e+03_rb,0.54066e+03_rb,0.73851e+03_rb,0.94999e+03_rb /) kbo(:, 1,23, 6) = (/ & & 0.90199e+03_rb,0.69741e+03_rb,0.54083e+03_rb,0.73780e+03_rb,0.94940e+03_rb /) kbo(:, 2,23, 6) = (/ & & 0.90112e+03_rb,0.69676e+03_rb,0.54044e+03_rb,0.73828e+03_rb,0.95007e+03_rb /) kbo(:, 3,23, 6) = (/ & & 0.90037e+03_rb,0.69620e+03_rb,0.54010e+03_rb,0.73854e+03_rb,0.95036e+03_rb /) kbo(:, 4,23, 6) = (/ & & 0.89971e+03_rb,0.69570e+03_rb,0.53983e+03_rb,0.73858e+03_rb,0.95029e+03_rb /) kbo(:, 5,23, 6) = (/ & & 0.89912e+03_rb,0.69526e+03_rb,0.53959e+03_rb,0.73840e+03_rb,0.94989e+03_rb /) kbo(:, 1,24, 6) = (/ & & 0.89955e+03_rb,0.69558e+03_rb,0.53965e+03_rb,0.73787e+03_rb,0.94957e+03_rb /) kbo(:, 2,24, 6) = (/ & & 0.89886e+03_rb,0.69507e+03_rb,0.53937e+03_rb,0.73829e+03_rb,0.95016e+03_rb /) kbo(:, 3,24, 6) = (/ & & 0.89826e+03_rb,0.69461e+03_rb,0.53914e+03_rb,0.73851e+03_rb,0.95038e+03_rb /) kbo(:, 4,24, 6) = (/ & & 0.89773e+03_rb,0.69422e+03_rb,0.53895e+03_rb,0.73850e+03_rb,0.95023e+03_rb /) kbo(:, 5,24, 6) = (/ & & 0.89726e+03_rb,0.69387e+03_rb,0.53876e+03_rb,0.73829e+03_rb,0.94977e+03_rb /) kbo(:, 1,25, 6) = (/ & & 0.89758e+03_rb,0.69410e+03_rb,0.53876e+03_rb,0.73792e+03_rb,0.94973e+03_rb /) kbo(:, 2,25, 6) = (/ & & 0.89703e+03_rb,0.69369e+03_rb,0.53857e+03_rb,0.73831e+03_rb,0.95024e+03_rb /) kbo(:, 3,25, 6) = (/ & & 0.89655e+03_rb,0.69333e+03_rb,0.53841e+03_rb,0.73848e+03_rb,0.95037e+03_rb /) kbo(:, 4,25, 6) = (/ & & 0.89613e+03_rb,0.69302e+03_rb,0.53826e+03_rb,0.73843e+03_rb,0.95016e+03_rb /) kbo(:, 5,25, 6) = (/ & & 0.89576e+03_rb,0.69273e+03_rb,0.53811e+03_rb,0.73818e+03_rb,0.94963e+03_rb /) kbo(:, 1,26, 6) = (/ & & 0.89598e+03_rb,0.69290e+03_rb,0.53808e+03_rb,0.73799e+03_rb,0.94987e+03_rb /) kbo(:, 2,26, 6) = (/ & & 0.89555e+03_rb,0.69258e+03_rb,0.53794e+03_rb,0.73834e+03_rb,0.95030e+03_rb /) kbo(:, 3,26, 6) = (/ & & 0.89517e+03_rb,0.69229e+03_rb,0.53782e+03_rb,0.73845e+03_rb,0.95035e+03_rb /) kbo(:, 4,26, 6) = (/ & & 0.89483e+03_rb,0.69204e+03_rb,0.53770e+03_rb,0.73836e+03_rb,0.95007e+03_rb /) kbo(:, 5,26, 6) = (/ & & 0.89453e+03_rb,0.69182e+03_rb,0.53759e+03_rb,0.73806e+03_rb,0.94946e+03_rb /) kbo(:, 1,27, 6) = (/ & & 0.89469e+03_rb,0.69194e+03_rb,0.53754e+03_rb,0.73806e+03_rb,0.95001e+03_rb /) kbo(:, 2,27, 6) = (/ & & 0.89435e+03_rb,0.69168e+03_rb,0.53744e+03_rb,0.73835e+03_rb,0.95034e+03_rb /) kbo(:, 3,27, 6) = (/ & & 0.89405e+03_rb,0.69145e+03_rb,0.53736e+03_rb,0.73843e+03_rb,0.95031e+03_rb /) kbo(:, 4,27, 6) = (/ & & 0.89378e+03_rb,0.69125e+03_rb,0.53727e+03_rb,0.73828e+03_rb,0.94995e+03_rb /) kbo(:, 5,27, 6) = (/ & & 0.89354e+03_rb,0.69107e+03_rb,0.53717e+03_rb,0.73792e+03_rb,0.94926e+03_rb /) kbo(:, 1,28, 6) = (/ & & 0.89366e+03_rb,0.69116e+03_rb,0.53711e+03_rb,0.73814e+03_rb,0.95012e+03_rb /) kbo(:, 2,28, 6) = (/ & & 0.89338e+03_rb,0.69096e+03_rb,0.53705e+03_rb,0.73836e+03_rb,0.95037e+03_rb /) kbo(:, 3,28, 6) = (/ & & 0.89314e+03_rb,0.69078e+03_rb,0.53699e+03_rb,0.73838e+03_rb,0.95026e+03_rb /) kbo(:, 4,28, 6) = (/ & & 0.89293e+03_rb,0.69062e+03_rb,0.53692e+03_rb,0.73819e+03_rb,0.94982e+03_rb /) kbo(:, 5,28, 6) = (/ & & 0.89274e+03_rb,0.69047e+03_rb,0.53684e+03_rb,0.73778e+03_rb,0.94904e+03_rb /) kbo(:, 1,29, 6) = (/ & & 0.89282e+03_rb,0.69053e+03_rb,0.53678e+03_rb,0.73818e+03_rb,0.95022e+03_rb /) kbo(:, 2,29, 6) = (/ & & 0.89261e+03_rb,0.69037e+03_rb,0.53674e+03_rb,0.73837e+03_rb,0.95037e+03_rb /) kbo(:, 3,29, 6) = (/ & & 0.89241e+03_rb,0.69023e+03_rb,0.53670e+03_rb,0.73834e+03_rb,0.95018e+03_rb /) kbo(:, 4,29, 6) = (/ & & 0.89224e+03_rb,0.69010e+03_rb,0.53663e+03_rb,0.73810e+03_rb,0.94966e+03_rb /) kbo(:, 5,29, 6) = (/ & & 0.89209e+03_rb,0.68999e+03_rb,0.53656e+03_rb,0.73762e+03_rb,0.94880e+03_rb /) kbo(:, 1,30, 6) = (/ & & 0.89215e+03_rb,0.69003e+03_rb,0.53652e+03_rb,0.73823e+03_rb,0.95029e+03_rb /) kbo(:, 2,30, 6) = (/ & & 0.89198e+03_rb,0.68990e+03_rb,0.53650e+03_rb,0.73836e+03_rb,0.95035e+03_rb /) kbo(:, 3,30, 6) = (/ & & 0.89183e+03_rb,0.68979e+03_rb,0.53646e+03_rb,0.73828e+03_rb,0.95008e+03_rb /) kbo(:, 4,30, 6) = (/ & & 0.89169e+03_rb,0.68969e+03_rb,0.53641e+03_rb,0.73798e+03_rb,0.94948e+03_rb /) kbo(:, 5,30, 6) = (/ & & 0.89157e+03_rb,0.68960e+03_rb,0.53634e+03_rb,0.73744e+03_rb,0.94852e+03_rb /) kbo(:, 1,31, 6) = (/ & & 0.89161e+03_rb,0.68962e+03_rb,0.53631e+03_rb,0.73827e+03_rb,0.95034e+03_rb /) kbo(:, 2,31, 6) = (/ & & 0.89147e+03_rb,0.68952e+03_rb,0.53629e+03_rb,0.73835e+03_rb,0.95031e+03_rb /) kbo(:, 3,31, 6) = (/ & & 0.89135e+03_rb,0.68943e+03_rb,0.53627e+03_rb,0.73821e+03_rb,0.94996e+03_rb /) kbo(:, 4,31, 6) = (/ & & 0.89124e+03_rb,0.68935e+03_rb,0.53622e+03_rb,0.73786e+03_rb,0.94927e+03_rb /) kbo(:, 5,31, 6) = (/ & & 0.89115e+03_rb,0.68928e+03_rb,0.53615e+03_rb,0.73725e+03_rb,0.94822e+03_rb /) kbo(:, 1,32, 6) = (/ & & 0.89117e+03_rb,0.68930e+03_rb,0.53614e+03_rb,0.73830e+03_rb,0.95037e+03_rb /) kbo(:, 2,32, 6) = (/ & & 0.89106e+03_rb,0.68922e+03_rb,0.53614e+03_rb,0.73833e+03_rb,0.95025e+03_rb /) kbo(:, 3,32, 6) = (/ & & 0.89097e+03_rb,0.68914e+03_rb,0.53611e+03_rb,0.73813e+03_rb,0.94981e+03_rb /) kbo(:, 4,32, 6) = (/ & & 0.89088e+03_rb,0.68908e+03_rb,0.53608e+03_rb,0.73772e+03_rb,0.94903e+03_rb /) kbo(:, 5,32, 6) = (/ & & 0.89081e+03_rb,0.68902e+03_rb,0.53600e+03_rb,0.73703e+03_rb,0.94789e+03_rb /) kbo(:, 1,33, 6) = (/ & & 0.89082e+03_rb,0.68903e+03_rb,0.53602e+03_rb,0.73832e+03_rb,0.95037e+03_rb /) kbo(:, 2,33, 6) = (/ & & 0.89073e+03_rb,0.68897e+03_rb,0.53601e+03_rb,0.73829e+03_rb,0.95017e+03_rb /) kbo(:, 3,33, 6) = (/ & & 0.89066e+03_rb,0.68891e+03_rb,0.53599e+03_rb,0.73804e+03_rb,0.94964e+03_rb /) kbo(:, 4,33, 6) = (/ & & 0.89059e+03_rb,0.68886e+03_rb,0.53595e+03_rb,0.73756e+03_rb,0.94877e+03_rb /) kbo(:, 5,33, 6) = (/ & & 0.89053e+03_rb,0.68882e+03_rb,0.53586e+03_rb,0.73678e+03_rb,0.94753e+03_rb /) kbo(:, 1,34, 6) = (/ & & 0.89054e+03_rb,0.68882e+03_rb,0.53592e+03_rb,0.73832e+03_rb,0.95035e+03_rb /) kbo(:, 2,34, 6) = (/ & & 0.89047e+03_rb,0.68877e+03_rb,0.53592e+03_rb,0.73824e+03_rb,0.95008e+03_rb /) kbo(:, 3,34, 6) = (/ & & 0.89041e+03_rb,0.68873e+03_rb,0.53589e+03_rb,0.73795e+03_rb,0.94947e+03_rb /) kbo(:, 4,34, 6) = (/ & & 0.89036e+03_rb,0.68869e+03_rb,0.53584e+03_rb,0.73741e+03_rb,0.94852e+03_rb /) kbo(:, 5,34, 6) = (/ & & 0.89031e+03_rb,0.68865e+03_rb,0.53575e+03_rb,0.73655e+03_rb,0.94719e+03_rb /) kbo(:, 1,35, 6) = (/ & & 0.89032e+03_rb,0.68866e+03_rb,0.53584e+03_rb,0.73832e+03_rb,0.95034e+03_rb /) kbo(:, 2,35, 6) = (/ & & 0.89027e+03_rb,0.68862e+03_rb,0.53584e+03_rb,0.73821e+03_rb,0.95002e+03_rb /) kbo(:, 3,35, 6) = (/ & & 0.89022e+03_rb,0.68858e+03_rb,0.53581e+03_rb,0.73788e+03_rb,0.94937e+03_rb /) kbo(:, 4,35, 6) = (/ & & 0.89017e+03_rb,0.68855e+03_rb,0.53576e+03_rb,0.73731e+03_rb,0.94836e+03_rb /) kbo(:, 5,35, 6) = (/ & & 0.89013e+03_rb,0.68852e+03_rb,0.53567e+03_rb,0.73640e+03_rb,0.94700e+03_rb /) kbo(:, 1,36, 6) = (/ & & 0.89015e+03_rb,0.68853e+03_rb,0.53577e+03_rb,0.73831e+03_rb,0.95033e+03_rb /) kbo(:, 2,36, 6) = (/ & & 0.89010e+03_rb,0.68849e+03_rb,0.53577e+03_rb,0.73820e+03_rb,0.95001e+03_rb /) kbo(:, 3,36, 6) = (/ & & 0.89006e+03_rb,0.68846e+03_rb,0.53575e+03_rb,0.73787e+03_rb,0.94935e+03_rb /) kbo(:, 4,36, 6) = (/ & & 0.89003e+03_rb,0.68844e+03_rb,0.53570e+03_rb,0.73729e+03_rb,0.94834e+03_rb /) kbo(:, 5,36, 6) = (/ & & 0.88999e+03_rb,0.68841e+03_rb,0.53561e+03_rb,0.73637e+03_rb,0.94696e+03_rb /) kbo(:, 1,37, 6) = (/ & & 0.89001e+03_rb,0.68843e+03_rb,0.53571e+03_rb,0.73831e+03_rb,0.95036e+03_rb /) kbo(:, 2,37, 6) = (/ & & 0.88997e+03_rb,0.68840e+03_rb,0.53572e+03_rb,0.73823e+03_rb,0.95007e+03_rb /) kbo(:, 3,37, 6) = (/ & & 0.88994e+03_rb,0.68837e+03_rb,0.53570e+03_rb,0.73792e+03_rb,0.94946e+03_rb /) kbo(:, 4,37, 6) = (/ & & 0.88991e+03_rb,0.68835e+03_rb,0.53566e+03_rb,0.73738e+03_rb,0.94849e+03_rb /) kbo(:, 5,37, 6) = (/ & & 0.88988e+03_rb,0.68833e+03_rb,0.53557e+03_rb,0.73651e+03_rb,0.94716e+03_rb /) kbo(:, 1,38, 6) = (/ & & 0.88990e+03_rb,0.68834e+03_rb,0.53566e+03_rb,0.73830e+03_rb,0.95036e+03_rb /) kbo(:, 2,38, 6) = (/ & & 0.88987e+03_rb,0.68832e+03_rb,0.53568e+03_rb,0.73825e+03_rb,0.95013e+03_rb /) kbo(:, 3,38, 6) = (/ & & 0.88984e+03_rb,0.68830e+03_rb,0.53566e+03_rb,0.73798e+03_rb,0.94957e+03_rb /) kbo(:, 4,38, 6) = (/ & & 0.88982e+03_rb,0.68828e+03_rb,0.53563e+03_rb,0.73747e+03_rb,0.94865e+03_rb /) kbo(:, 5,38, 6) = (/ & & 0.88979e+03_rb,0.68826e+03_rb,0.53555e+03_rb,0.73665e+03_rb,0.94737e+03_rb /) kbo(:, 1,39, 6) = (/ & & 0.88981e+03_rb,0.68827e+03_rb,0.53562e+03_rb,0.73829e+03_rb,0.95037e+03_rb /) kbo(:, 2,39, 6) = (/ & & 0.88978e+03_rb,0.68825e+03_rb,0.53564e+03_rb,0.73826e+03_rb,0.95018e+03_rb /) kbo(:, 3,39, 6) = (/ & & 0.88976e+03_rb,0.68824e+03_rb,0.53563e+03_rb,0.73803e+03_rb,0.94966e+03_rb /) kbo(:, 4,39, 6) = (/ & & 0.88974e+03_rb,0.68822e+03_rb,0.53560e+03_rb,0.73755e+03_rb,0.94880e+03_rb /) kbo(:, 5,39, 6) = (/ & & 0.88972e+03_rb,0.68821e+03_rb,0.53553e+03_rb,0.73679e+03_rb,0.94757e+03_rb /) kbo(:, 1,40, 6) = (/ & & 0.88973e+03_rb,0.68822e+03_rb,0.53558e+03_rb,0.73826e+03_rb,0.95037e+03_rb /) kbo(:, 2,40, 6) = (/ & & 0.88971e+03_rb,0.68820e+03_rb,0.53561e+03_rb,0.73829e+03_rb,0.95026e+03_rb /) kbo(:, 3,40, 6) = (/ & & 0.88969e+03_rb,0.68819e+03_rb,0.53561e+03_rb,0.73810e+03_rb,0.94982e+03_rb /) kbo(:, 4,40, 6) = (/ & & 0.88967e+03_rb,0.68817e+03_rb,0.53559e+03_rb,0.73769e+03_rb,0.94904e+03_rb /) kbo(:, 5,40, 6) = (/ & & 0.88966e+03_rb,0.68816e+03_rb,0.53553e+03_rb,0.73700e+03_rb,0.94790e+03_rb /) kbo(:, 1,41, 6) = (/ & & 0.88967e+03_rb,0.68817e+03_rb,0.53555e+03_rb,0.73822e+03_rb,0.95035e+03_rb /) kbo(:, 2,41, 6) = (/ & & 0.88965e+03_rb,0.68816e+03_rb,0.53558e+03_rb,0.73830e+03_rb,0.95031e+03_rb /) kbo(:, 3,41, 6) = (/ & & 0.88964e+03_rb,0.68815e+03_rb,0.53559e+03_rb,0.73817e+03_rb,0.94996e+03_rb /) kbo(:, 4,41, 6) = (/ & & 0.88962e+03_rb,0.68813e+03_rb,0.53558e+03_rb,0.73782e+03_rb,0.94927e+03_rb /) kbo(:, 5,41, 6) = (/ & & 0.88961e+03_rb,0.68812e+03_rb,0.53553e+03_rb,0.73722e+03_rb,0.94822e+03_rb /) kbo(:, 1,42, 6) = (/ & & 0.88962e+03_rb,0.68813e+03_rb,0.53551e+03_rb,0.73816e+03_rb,0.95029e+03_rb /) kbo(:, 2,42, 6) = (/ & & 0.88960e+03_rb,0.68812e+03_rb,0.53555e+03_rb,0.73830e+03_rb,0.95035e+03_rb /) kbo(:, 3,42, 6) = (/ & & 0.88959e+03_rb,0.68811e+03_rb,0.53557e+03_rb,0.73822e+03_rb,0.95008e+03_rb /) kbo(:, 4,42, 6) = (/ & & 0.88958e+03_rb,0.68810e+03_rb,0.53556e+03_rb,0.73793e+03_rb,0.94948e+03_rb /) kbo(:, 5,42, 6) = (/ & & 0.88957e+03_rb,0.68809e+03_rb,0.53553e+03_rb,0.73739e+03_rb,0.94853e+03_rb /) kbo(:, 1,43, 6) = (/ & & 0.88958e+03_rb,0.68810e+03_rb,0.53547e+03_rb,0.73807e+03_rb,0.95020e+03_rb /) kbo(:, 2,43, 6) = (/ & & 0.88957e+03_rb,0.68809e+03_rb,0.53552e+03_rb,0.73828e+03_rb,0.95037e+03_rb /) kbo(:, 3,43, 6) = (/ & & 0.88955e+03_rb,0.68808e+03_rb,0.53555e+03_rb,0.73826e+03_rb,0.95020e+03_rb /) kbo(:, 4,43, 6) = (/ & & 0.88954e+03_rb,0.68808e+03_rb,0.53555e+03_rb,0.73804e+03_rb,0.94970e+03_rb /) kbo(:, 5,43, 6) = (/ & & 0.88953e+03_rb,0.68807e+03_rb,0.53553e+03_rb,0.73758e+03_rb,0.94886e+03_rb /) kbo(:, 1,44, 6) = (/ & & 0.88954e+03_rb,0.68808e+03_rb,0.53544e+03_rb,0.73795e+03_rb,0.95005e+03_rb /) kbo(:, 2,44, 6) = (/ & & 0.88953e+03_rb,0.68807e+03_rb,0.53549e+03_rb,0.73823e+03_rb,0.95035e+03_rb /) kbo(:, 3,44, 6) = (/ & & 0.88952e+03_rb,0.68806e+03_rb,0.53553e+03_rb,0.73829e+03_rb,0.95030e+03_rb /) kbo(:, 4,44, 6) = (/ & & 0.88951e+03_rb,0.68805e+03_rb,0.53554e+03_rb,0.73815e+03_rb,0.94991e+03_rb /) kbo(:, 5,44, 6) = (/ & & 0.88951e+03_rb,0.68805e+03_rb,0.53553e+03_rb,0.73776e+03_rb,0.94919e+03_rb /) kbo(:, 1,45, 6) = (/ & & 0.88952e+03_rb,0.68806e+03_rb,0.53540e+03_rb,0.73782e+03_rb,0.94987e+03_rb /) kbo(:, 2,45, 6) = (/ & & 0.88951e+03_rb,0.68805e+03_rb,0.53547e+03_rb,0.73816e+03_rb,0.95030e+03_rb /) kbo(:, 3,45, 6) = (/ & & 0.88950e+03_rb,0.68804e+03_rb,0.53551e+03_rb,0.73830e+03_rb,0.95035e+03_rb /) kbo(:, 4,45, 6) = (/ & & 0.88949e+03_rb,0.68804e+03_rb,0.53553e+03_rb,0.73821e+03_rb,0.95008e+03_rb /) kbo(:, 5,45, 6) = (/ & & 0.88948e+03_rb,0.68803e+03_rb,0.53553e+03_rb,0.73792e+03_rb,0.94947e+03_rb /) kbo(:, 1,46, 6) = (/ & & 0.88949e+03_rb,0.68804e+03_rb,0.53537e+03_rb,0.73763e+03_rb,0.94962e+03_rb /) kbo(:, 2,46, 6) = (/ & & 0.88948e+03_rb,0.68803e+03_rb,0.53544e+03_rb,0.73806e+03_rb,0.95019e+03_rb /) kbo(:, 3,46, 6) = (/ & & 0.88948e+03_rb,0.68803e+03_rb,0.53549e+03_rb,0.73827e+03_rb,0.95037e+03_rb /) kbo(:, 4,46, 6) = (/ & & 0.88947e+03_rb,0.68802e+03_rb,0.53552e+03_rb,0.73827e+03_rb,0.95021e+03_rb /) kbo(:, 5,46, 6) = (/ & & 0.88946e+03_rb,0.68802e+03_rb,0.53552e+03_rb,0.73805e+03_rb,0.94973e+03_rb /) kbo(:, 1,47, 6) = (/ & & 0.88947e+03_rb,0.68802e+03_rb,0.53531e+03_rb,0.73737e+03_rb,0.94929e+03_rb /) kbo(:, 2,47, 6) = (/ & & 0.88947e+03_rb,0.68802e+03_rb,0.53539e+03_rb,0.73792e+03_rb,0.95000e+03_rb /) kbo(:, 3,47, 6) = (/ & & 0.88946e+03_rb,0.68801e+03_rb,0.53546e+03_rb,0.73821e+03_rb,0.95034e+03_rb /) kbo(:, 4,47, 6) = (/ & & 0.88945e+03_rb,0.68801e+03_rb,0.53550e+03_rb,0.73829e+03_rb,0.95032e+03_rb /) kbo(:, 5,47, 6) = (/ & & 0.88945e+03_rb,0.68800e+03_rb,0.53551e+03_rb,0.73816e+03_rb,0.94996e+03_rb /) kbo(:, 1,48, 6) = (/ & & 0.88946e+03_rb,0.68801e+03_rb,0.53528e+03_rb,0.73708e+03_rb,0.94889e+03_rb /) kbo(:, 2,48, 6) = (/ & & 0.88945e+03_rb,0.68801e+03_rb,0.53536e+03_rb,0.73773e+03_rb,0.94976e+03_rb /) kbo(:, 3,48, 6) = (/ & & 0.88944e+03_rb,0.68800e+03_rb,0.53543e+03_rb,0.73812e+03_rb,0.95025e+03_rb /) kbo(:, 4,48, 6) = (/ & & 0.88944e+03_rb,0.68800e+03_rb,0.53548e+03_rb,0.73829e+03_rb,0.95037e+03_rb /) kbo(:, 5,48, 6) = (/ & & 0.88944e+03_rb,0.68800e+03_rb,0.53551e+03_rb,0.73824e+03_rb,0.95014e+03_rb /) kbo(:, 1,49, 6) = (/ & & 0.88944e+03_rb,0.68800e+03_rb,0.53524e+03_rb,0.73674e+03_rb,0.94844e+03_rb /) kbo(:, 2,49, 6) = (/ & & 0.88944e+03_rb,0.68800e+03_rb,0.53533e+03_rb,0.73750e+03_rb,0.94945e+03_rb /) kbo(:, 3,49, 6) = (/ & & 0.88943e+03_rb,0.68799e+03_rb,0.53540e+03_rb,0.73799e+03_rb,0.95016e+03_rb /) kbo(:, 4,49, 6) = (/ & & 0.88943e+03_rb,0.68799e+03_rb,0.53546e+03_rb,0.73825e+03_rb,0.95036e+03_rb /) kbo(:, 5,49, 6) = (/ & & 0.88942e+03_rb,0.68799e+03_rb,0.53549e+03_rb,0.73828e+03_rb,0.95027e+03_rb /) kbo(:, 1,50, 6) = (/ & & 0.88943e+03_rb,0.68799e+03_rb,0.53521e+03_rb,0.73638e+03_rb,0.94796e+03_rb /) kbo(:, 2,50, 6) = (/ & & 0.88943e+03_rb,0.68799e+03_rb,0.53529e+03_rb,0.73724e+03_rb,0.94911e+03_rb /) kbo(:, 3,50, 6) = (/ & & 0.88942e+03_rb,0.68798e+03_rb,0.53537e+03_rb,0.73783e+03_rb,0.94990e+03_rb /) kbo(:, 4,50, 6) = (/ & & 0.88942e+03_rb,0.68798e+03_rb,0.53544e+03_rb,0.73817e+03_rb,0.95031e+03_rb /) kbo(:, 5,50, 6) = (/ & & 0.88942e+03_rb,0.68798e+03_rb,0.53548e+03_rb,0.73829e+03_rb,0.95034e+03_rb /) kbo(:, 1,51, 6) = (/ & & 0.88942e+03_rb,0.68798e+03_rb,0.53518e+03_rb,0.73600e+03_rb,0.94745e+03_rb /) kbo(:, 2,51, 6) = (/ & & 0.88942e+03_rb,0.68798e+03_rb,0.53525e+03_rb,0.73696e+03_rb,0.94873e+03_rb /) kbo(:, 3,51, 6) = (/ & & 0.88941e+03_rb,0.68798e+03_rb,0.53533e+03_rb,0.73765e+03_rb,0.94966e+03_rb /) kbo(:, 4,51, 6) = (/ & & 0.88941e+03_rb,0.68798e+03_rb,0.53541e+03_rb,0.73807e+03_rb,0.95020e+03_rb /) kbo(:, 5,51, 6) = (/ & & 0.88941e+03_rb,0.68797e+03_rb,0.53546e+03_rb,0.73827e+03_rb,0.95037e+03_rb /) kbo(:, 1,52, 6) = (/ & & 0.88941e+03_rb,0.68798e+03_rb,0.53513e+03_rb,0.73556e+03_rb,0.94688e+03_rb /) kbo(:, 2,52, 6) = (/ & & 0.88941e+03_rb,0.68798e+03_rb,0.53522e+03_rb,0.73664e+03_rb,0.94831e+03_rb /) kbo(:, 3,52, 6) = (/ & & 0.88941e+03_rb,0.68797e+03_rb,0.53531e+03_rb,0.73743e+03_rb,0.94936e+03_rb /) kbo(:, 4,52, 6) = (/ & & 0.88940e+03_rb,0.68797e+03_rb,0.53538e+03_rb,0.73795e+03_rb,0.95005e+03_rb /) kbo(:, 5,52, 6) = (/ & & 0.88940e+03_rb,0.68797e+03_rb,0.53545e+03_rb,0.73822e+03_rb,0.95036e+03_rb /) kbo(:, 1,53, 6) = (/ & & 0.88941e+03_rb,0.68797e+03_rb,0.53507e+03_rb,0.73509e+03_rb,0.94627e+03_rb /) kbo(:, 2,53, 6) = (/ & & 0.88940e+03_rb,0.68797e+03_rb,0.53519e+03_rb,0.73629e+03_rb,0.94784e+03_rb /) kbo(:, 3,53, 6) = (/ & & 0.88940e+03_rb,0.68797e+03_rb,0.53527e+03_rb,0.73717e+03_rb,0.94902e+03_rb /) kbo(:, 4,53, 6) = (/ & & 0.88940e+03_rb,0.68797e+03_rb,0.53535e+03_rb,0.73779e+03_rb,0.94984e+03_rb /) kbo(:, 5,53, 6) = (/ & & 0.88940e+03_rb,0.68797e+03_rb,0.53542e+03_rb,0.73815e+03_rb,0.95029e+03_rb /) kbo(:, 1,54, 6) = (/ & & 0.88940e+03_rb,0.68797e+03_rb,0.53502e+03_rb,0.73463e+03_rb,0.94566e+03_rb /) kbo(:, 2,54, 6) = (/ & & 0.88940e+03_rb,0.68797e+03_rb,0.53516e+03_rb,0.73592e+03_rb,0.94735e+03_rb /) kbo(:, 3,54, 6) = (/ & & 0.88940e+03_rb,0.68796e+03_rb,0.53524e+03_rb,0.73691e+03_rb,0.94866e+03_rb /) kbo(:, 4,54, 6) = (/ & & 0.88939e+03_rb,0.68796e+03_rb,0.53533e+03_rb,0.73761e+03_rb,0.94961e+03_rb /) kbo(:, 5,54, 6) = (/ & & 0.88939e+03_rb,0.68796e+03_rb,0.53539e+03_rb,0.73805e+03_rb,0.95018e+03_rb /) kbo(:, 1,55, 6) = (/ & & 0.88940e+03_rb,0.68796e+03_rb,0.53495e+03_rb,0.73415e+03_rb,0.94503e+03_rb /) kbo(:, 2,55, 6) = (/ & & 0.88939e+03_rb,0.68796e+03_rb,0.53513e+03_rb,0.73554e+03_rb,0.94685e+03_rb /) kbo(:, 3,55, 6) = (/ & & 0.88939e+03_rb,0.68796e+03_rb,0.53521e+03_rb,0.73662e+03_rb,0.94828e+03_rb /) kbo(:, 4,55, 6) = (/ & & 0.88939e+03_rb,0.68796e+03_rb,0.53530e+03_rb,0.73742e+03_rb,0.94934e+03_rb /) kbo(:, 5,55, 6) = (/ & & 0.88939e+03_rb,0.68796e+03_rb,0.53537e+03_rb,0.73794e+03_rb,0.95004e+03_rb /) kbo(:, 1,56, 6) = (/ & & 0.88939e+03_rb,0.68796e+03_rb,0.53489e+03_rb,0.73364e+03_rb,0.94437e+03_rb /) kbo(:, 2,56, 6) = (/ & & 0.88939e+03_rb,0.68796e+03_rb,0.53507e+03_rb,0.73512e+03_rb,0.94631e+03_rb /) kbo(:, 3,56, 6) = (/ & & 0.88939e+03_rb,0.68796e+03_rb,0.53519e+03_rb,0.73631e+03_rb,0.94787e+03_rb /) kbo(:, 4,56, 6) = (/ & & 0.88939e+03_rb,0.68796e+03_rb,0.53527e+03_rb,0.73719e+03_rb,0.94904e+03_rb /) kbo(:, 5,56, 6) = (/ & & 0.88938e+03_rb,0.68796e+03_rb,0.53535e+03_rb,0.73780e+03_rb,0.94987e+03_rb /) kbo(:, 1,57, 6) = (/ & & 0.88939e+03_rb,0.68796e+03_rb,0.53481e+03_rb,0.73310e+03_rb,0.94366e+03_rb /) kbo(:, 2,57, 6) = (/ & & 0.88939e+03_rb,0.68796e+03_rb,0.53502e+03_rb,0.73469e+03_rb,0.94573e+03_rb /) kbo(:, 3,57, 6) = (/ & & 0.88938e+03_rb,0.68796e+03_rb,0.53516e+03_rb,0.73597e+03_rb,0.94741e+03_rb /) kbo(:, 4,57, 6) = (/ & & 0.88938e+03_rb,0.68796e+03_rb,0.53524e+03_rb,0.73694e+03_rb,0.94871e+03_rb /) kbo(:, 5,57, 6) = (/ & & 0.88938e+03_rb,0.68795e+03_rb,0.53532e+03_rb,0.73764e+03_rb,0.94964e+03_rb /) kbo(:, 1,58, 6) = (/ & & 0.88938e+03_rb,0.68796e+03_rb,0.53474e+03_rb,0.73255e+03_rb,0.94296e+03_rb /) kbo(:, 2,58, 6) = (/ & & 0.88938e+03_rb,0.68796e+03_rb,0.53496e+03_rb,0.73423e+03_rb,0.94515e+03_rb /) kbo(:, 3,58, 6) = (/ & & 0.88938e+03_rb,0.68795e+03_rb,0.53512e+03_rb,0.73561e+03_rb,0.94695e+03_rb /) kbo(:, 4,58, 6) = (/ & & 0.88938e+03_rb,0.68795e+03_rb,0.53522e+03_rb,0.73667e+03_rb,0.94836e+03_rb /) kbo(:, 5,58, 6) = (/ & & 0.88938e+03_rb,0.68795e+03_rb,0.53530e+03_rb,0.73745e+03_rb,0.94939e+03_rb /) kbo(:, 1,59, 6) = (/ & & 0.88938e+03_rb,0.68795e+03_rb,0.53470e+03_rb,0.73233e+03_rb,0.94266e+03_rb /) kbo(:, 2,59, 6) = (/ & & 0.88938e+03_rb,0.68795e+03_rb,0.53494e+03_rb,0.73405e+03_rb,0.94490e+03_rb /) kbo(:, 3,59, 6) = (/ & & 0.88938e+03_rb,0.68795e+03_rb,0.53510e+03_rb,0.73546e+03_rb,0.94675e+03_rb /) kbo(:, 4,59, 6) = (/ & & 0.88938e+03_rb,0.68795e+03_rb,0.53521e+03_rb,0.73657e+03_rb,0.94820e+03_rb /) kbo(:, 5,59, 6) = (/ & & 0.88938e+03_rb,0.68795e+03_rb,0.53529e+03_rb,0.73737e+03_rb,0.94929e+03_rb /) kbo(:, 1,13, 7) = (/ & & 0.11104e+04_rb,0.84453e+03_rb,0.58852e+03_rb,0.81799e+03_rb,0.10746e+04_rb /) kbo(:, 2,13, 7) = (/ & & 0.11019e+04_rb,0.83810e+03_rb,0.58572e+03_rb,0.81836e+03_rb,0.10752e+04_rb /) kbo(:, 3,13, 7) = (/ & & 0.10945e+04_rb,0.83257e+03_rb,0.58306e+03_rb,0.81848e+03_rb,0.10754e+04_rb /) kbo(:, 4,13, 7) = (/ & & 0.10881e+04_rb,0.82775e+03_rb,0.58047e+03_rb,0.81831e+03_rb,0.10753e+04_rb /) kbo(:, 5,13, 7) = (/ & & 0.10824e+04_rb,0.82352e+03_rb,0.57809e+03_rb,0.81788e+03_rb,0.10749e+04_rb /) kbo(:, 1,14, 7) = (/ & & 0.10890e+04_rb,0.82842e+03_rb,0.58087e+03_rb,0.81780e+03_rb,0.10747e+04_rb /) kbo(:, 2,14, 7) = (/ & & 0.10820e+04_rb,0.82323e+03_rb,0.57803e+03_rb,0.81816e+03_rb,0.10753e+04_rb /) kbo(:, 3,14, 7) = (/ & & 0.10761e+04_rb,0.81875e+03_rb,0.57524e+03_rb,0.81827e+03_rb,0.10754e+04_rb /) kbo(:, 4,14, 7) = (/ & & 0.10709e+04_rb,0.81486e+03_rb,0.57281e+03_rb,0.81809e+03_rb,0.10752e+04_rb /) kbo(:, 5,14, 7) = (/ & & 0.10663e+04_rb,0.81144e+03_rb,0.57087e+03_rb,0.81766e+03_rb,0.10748e+04_rb /) kbo(:, 1,15, 7) = (/ & & 0.10714e+04_rb,0.81529e+03_rb,0.57324e+03_rb,0.81765e+03_rb,0.10748e+04_rb /) kbo(:, 2,15, 7) = (/ & & 0.10659e+04_rb,0.81110e+03_rb,0.57094e+03_rb,0.81800e+03_rb,0.10753e+04_rb /) kbo(:, 3,15, 7) = (/ & & 0.10611e+04_rb,0.80749e+03_rb,0.56926e+03_rb,0.81809e+03_rb,0.10754e+04_rb /) kbo(:, 4,15, 7) = (/ & & 0.10569e+04_rb,0.80434e+03_rb,0.56791e+03_rb,0.81790e+03_rb,0.10752e+04_rb /) kbo(:, 5,15, 7) = (/ & & 0.10532e+04_rb,0.80157e+03_rb,0.56672e+03_rb,0.81746e+03_rb,0.10748e+04_rb /) kbo(:, 1,16, 7) = (/ & & 0.10572e+04_rb,0.80460e+03_rb,0.56822e+03_rb,0.81755e+03_rb,0.10748e+04_rb /) kbo(:, 2,16, 7) = (/ & & 0.10527e+04_rb,0.80122e+03_rb,0.56701e+03_rb,0.81788e+03_rb,0.10753e+04_rb /) kbo(:, 3,16, 7) = (/ & & 0.10488e+04_rb,0.79831e+03_rb,0.56599e+03_rb,0.81796e+03_rb,0.10754e+04_rb /) kbo(:, 4,16, 7) = (/ & & 0.10454e+04_rb,0.79577e+03_rb,0.56505e+03_rb,0.81773e+03_rb,0.10752e+04_rb /) kbo(:, 5,16, 7) = (/ & & 0.10425e+04_rb,0.79354e+03_rb,0.56418e+03_rb,0.81728e+03_rb,0.10747e+04_rb /) kbo(:, 1,17, 7) = (/ & & 0.10456e+04_rb,0.79593e+03_rb,0.56540e+03_rb,0.81747e+03_rb,0.10749e+04_rb /) kbo(:, 2,17, 7) = (/ & & 0.10420e+04_rb,0.79321e+03_rb,0.56464e+03_rb,0.81778e+03_rb,0.10753e+04_rb /) kbo(:, 3,17, 7) = (/ & & 0.10389e+04_rb,0.79086e+03_rb,0.56406e+03_rb,0.81783e+03_rb,0.10754e+04_rb /) kbo(:, 4,17, 7) = (/ & & 0.10362e+04_rb,0.78881e+03_rb,0.56355e+03_rb,0.81761e+03_rb,0.10751e+04_rb /) kbo(:, 5,17, 7) = (/ & & 0.10337e+04_rb,0.78701e+03_rb,0.56298e+03_rb,0.81712e+03_rb,0.10746e+04_rb /) kbo(:, 1,18, 7) = (/ & & 0.10363e+04_rb,0.78890e+03_rb,0.56372e+03_rb,0.81741e+03_rb,0.10750e+04_rb /) kbo(:, 2,18, 7) = (/ & & 0.10334e+04_rb,0.78671e+03_rb,0.56351e+03_rb,0.81771e+03_rb,0.10753e+04_rb /) kbo(:, 3,18, 7) = (/ & & 0.10308e+04_rb,0.78481e+03_rb,0.56335e+03_rb,0.81775e+03_rb,0.10754e+04_rb /) kbo(:, 4,18, 7) = (/ & & 0.10286e+04_rb,0.78316e+03_rb,0.56306e+03_rb,0.81749e+03_rb,0.10751e+04_rb /) kbo(:, 5,18, 7) = (/ & & 0.10267e+04_rb,0.78170e+03_rb,0.56253e+03_rb,0.81698e+03_rb,0.10746e+04_rb /) kbo(:, 1,19, 7) = (/ & & 0.10287e+04_rb,0.78319e+03_rb,0.56306e+03_rb,0.81737e+03_rb,0.10751e+04_rb /) kbo(:, 2,19, 7) = (/ & & 0.10263e+04_rb,0.78143e+03_rb,0.56317e+03_rb,0.81766e+03_rb,0.10754e+04_rb /) kbo(:, 3,19, 7) = (/ & & 0.10243e+04_rb,0.77990e+03_rb,0.56256e+03_rb,0.81764e+03_rb,0.10753e+04_rb /) kbo(:, 4,19, 7) = (/ & & 0.10225e+04_rb,0.77856e+03_rb,0.56270e+03_rb,0.81737e+03_rb,0.10751e+04_rb /) kbo(:, 5,19, 7) = (/ & & 0.10209e+04_rb,0.77738e+03_rb,0.56230e+03_rb,0.81685e+03_rb,0.10745e+04_rb /) kbo(:, 1,20, 7) = (/ & & 0.10225e+04_rb,0.77853e+03_rb,0.56258e+03_rb,0.81735e+03_rb,0.10751e+04_rb /) kbo(:, 2,20, 7) = (/ & & 0.10206e+04_rb,0.77711e+03_rb,0.56304e+03_rb,0.81761e+03_rb,0.10754e+04_rb /) kbo(:, 3,20, 7) = (/ & & 0.10189e+04_rb,0.77589e+03_rb,0.56295e+03_rb,0.81757e+03_rb,0.10753e+04_rb /) kbo(:, 4,20, 7) = (/ & & 0.10175e+04_rb,0.77480e+03_rb,0.56264e+03_rb,0.81728e+03_rb,0.10750e+04_rb /) kbo(:, 5,20, 7) = (/ & & 0.10162e+04_rb,0.77385e+03_rb,0.56211e+03_rb,0.81672e+03_rb,0.10744e+04_rb /) kbo(:, 1,21, 7) = (/ & & 0.10174e+04_rb,0.77475e+03_rb,0.56279e+03_rb,0.81734e+03_rb,0.10752e+04_rb /) kbo(:, 2,21, 7) = (/ & & 0.10159e+04_rb,0.77361e+03_rb,0.56292e+03_rb,0.81756e+03_rb,0.10754e+04_rb /) kbo(:, 3,21, 7) = (/ & & 0.10146e+04_rb,0.77262e+03_rb,0.56281e+03_rb,0.81751e+03_rb,0.10753e+04_rb /) kbo(:, 4,21, 7) = (/ & & 0.10134e+04_rb,0.77175e+03_rb,0.56248e+03_rb,0.81718e+03_rb,0.10750e+04_rb /) kbo(:, 5,21, 7) = (/ & & 0.10124e+04_rb,0.77098e+03_rb,0.56193e+03_rb,0.81661e+03_rb,0.10743e+04_rb /) kbo(:, 1,22, 7) = (/ & & 0.10132e+04_rb,0.77163e+03_rb,0.56273e+03_rb,0.81736e+03_rb,0.10752e+04_rb /) kbo(:, 2,22, 7) = (/ & & 0.10120e+04_rb,0.77071e+03_rb,0.56281e+03_rb,0.81753e+03_rb,0.10754e+04_rb /) kbo(:, 3,22, 7) = (/ & & 0.10110e+04_rb,0.76992e+03_rb,0.56267e+03_rb,0.81743e+03_rb,0.10753e+04_rb /) kbo(:, 4,22, 7) = (/ & & 0.10100e+04_rb,0.76922e+03_rb,0.56230e+03_rb,0.81706e+03_rb,0.10749e+04_rb /) kbo(:, 5,22, 7) = (/ & & 0.10092e+04_rb,0.76860e+03_rb,0.56172e+03_rb,0.81643e+03_rb,0.10742e+04_rb /) kbo(:, 1,23, 7) = (/ & & 0.10099e+04_rb,0.76909e+03_rb,0.56267e+03_rb,0.81738e+03_rb,0.10753e+04_rb /) kbo(:, 2,23, 7) = (/ & & 0.10089e+04_rb,0.76836e+03_rb,0.56273e+03_rb,0.81751e+03_rb,0.10754e+04_rb /) kbo(:, 3,23, 7) = (/ & & 0.10080e+04_rb,0.76773e+03_rb,0.56254e+03_rb,0.81734e+03_rb,0.10752e+04_rb /) kbo(:, 4,23, 7) = (/ & & 0.10073e+04_rb,0.76717e+03_rb,0.56214e+03_rb,0.81691e+03_rb,0.10748e+04_rb /) kbo(:, 5,23, 7) = (/ & & 0.10067e+04_rb,0.76668e+03_rb,0.56152e+03_rb,0.81625e+03_rb,0.10740e+04_rb /) kbo(:, 1,24, 7) = (/ & & 0.10071e+04_rb,0.76704e+03_rb,0.56263e+03_rb,0.81739e+03_rb,0.10753e+04_rb /) kbo(:, 2,24, 7) = (/ & & 0.10064e+04_rb,0.76647e+03_rb,0.56264e+03_rb,0.81747e+03_rb,0.10754e+04_rb /) kbo(:, 3,24, 7) = (/ & & 0.10057e+04_rb,0.76596e+03_rb,0.56242e+03_rb,0.81725e+03_rb,0.10751e+04_rb /) kbo(:, 4,24, 7) = (/ & & 0.10051e+04_rb,0.76551e+03_rb,0.56198e+03_rb,0.81678e+03_rb,0.10746e+04_rb /) kbo(:, 5,24, 7) = (/ & & 0.10046e+04_rb,0.76512e+03_rb,0.56132e+03_rb,0.81606e+03_rb,0.10738e+04_rb /) kbo(:, 1,25, 7) = (/ & & 0.10049e+04_rb,0.76538e+03_rb,0.56260e+03_rb,0.81741e+03_rb,0.10754e+04_rb /) kbo(:, 2,25, 7) = (/ & & 0.10043e+04_rb,0.76492e+03_rb,0.56256e+03_rb,0.81742e+03_rb,0.10753e+04_rb /) kbo(:, 3,25, 7) = (/ & & 0.10038e+04_rb,0.76453e+03_rb,0.56229e+03_rb,0.81717e+03_rb,0.10750e+04_rb /) kbo(:, 4,25, 7) = (/ & & 0.10033e+04_rb,0.76417e+03_rb,0.56181e+03_rb,0.81663e+03_rb,0.10745e+04_rb /) kbo(:, 5,25, 7) = (/ & & 0.10029e+04_rb,0.76385e+03_rb,0.56111e+03_rb,0.81585e+03_rb,0.10736e+04_rb /) kbo(:, 1,26, 7) = (/ & & 0.10031e+04_rb,0.76404e+03_rb,0.56257e+03_rb,0.81743e+03_rb,0.10754e+04_rb /) kbo(:, 2,26, 7) = (/ & & 0.10026e+04_rb,0.76368e+03_rb,0.56248e+03_rb,0.81736e+03_rb,0.10753e+04_rb /) kbo(:, 3,26, 7) = (/ & & 0.10022e+04_rb,0.76336e+03_rb,0.56216e+03_rb,0.81707e+03_rb,0.10749e+04_rb /) kbo(:, 4,26, 7) = (/ & & 0.10018e+04_rb,0.76308e+03_rb,0.56163e+03_rb,0.81645e+03_rb,0.10743e+04_rb /) kbo(:, 5,26, 7) = (/ & & 0.10015e+04_rb,0.76282e+03_rb,0.56088e+03_rb,0.81561e+03_rb,0.10734e+04_rb /) kbo(:, 1,27, 7) = (/ & & 0.10017e+04_rb,0.76296e+03_rb,0.56253e+03_rb,0.81743e+03_rb,0.10754e+04_rb /) kbo(:, 2,27, 7) = (/ & & 0.10013e+04_rb,0.76268e+03_rb,0.56239e+03_rb,0.81730e+03_rb,0.10752e+04_rb /) kbo(:, 3,27, 7) = (/ & & 0.10010e+04_rb,0.76242e+03_rb,0.56202e+03_rb,0.81696e+03_rb,0.10748e+04_rb /) kbo(:, 4,27, 7) = (/ & & 0.10007e+04_rb,0.76220e+03_rb,0.56144e+03_rb,0.81630e+03_rb,0.10741e+04_rb /) kbo(:, 5,27, 7) = (/ & & 0.10004e+04_rb,0.76200e+03_rb,0.56064e+03_rb,0.81536e+03_rb,0.10731e+04_rb /) kbo(:, 1,28, 7) = (/ & & 0.10005e+04_rb,0.76209e+03_rb,0.56249e+03_rb,0.81738e+03_rb,0.10754e+04_rb /) kbo(:, 2,28, 7) = (/ & & 0.10002e+04_rb,0.76186e+03_rb,0.56229e+03_rb,0.81724e+03_rb,0.10752e+04_rb /) kbo(:, 3,28, 7) = (/ & & 0.99995e+03_rb,0.76166e+03_rb,0.56188e+03_rb,0.81687e+03_rb,0.10747e+04_rb /) kbo(:, 4,28, 7) = (/ & & 0.99971e+03_rb,0.76148e+03_rb,0.56124e+03_rb,0.81607e+03_rb,0.10739e+04_rb /) kbo(:, 5,28, 7) = (/ & & 0.99950e+03_rb,0.76132e+03_rb,0.56040e+03_rb,0.81510e+03_rb,0.10728e+04_rb /) kbo(:, 1,29, 7) = (/ & & 0.99960e+03_rb,0.76139e+03_rb,0.56244e+03_rb,0.81739e+03_rb,0.10753e+04_rb /) kbo(:, 2,29, 7) = (/ & & 0.99935e+03_rb,0.76121e+03_rb,0.56219e+03_rb,0.81712e+03_rb,0.10751e+04_rb /) kbo(:, 3,29, 7) = (/ & & 0.99914e+03_rb,0.76105e+03_rb,0.56172e+03_rb,0.81663e+03_rb,0.10745e+04_rb /) kbo(:, 4,29, 7) = (/ & & 0.99895e+03_rb,0.76091e+03_rb,0.56103e+03_rb,0.81584e+03_rb,0.10737e+04_rb /) kbo(:, 5,29, 7) = (/ & & 0.99878e+03_rb,0.76078e+03_rb,0.56014e+03_rb,0.81482e+03_rb,0.10725e+04_rb /) kbo(:, 1,30, 7) = (/ & & 0.99885e+03_rb,0.76083e+03_rb,0.56238e+03_rb,0.81733e+03_rb,0.10753e+04_rb /) kbo(:, 2,30, 7) = (/ & & 0.99865e+03_rb,0.76069e+03_rb,0.56207e+03_rb,0.81703e+03_rb,0.10750e+04_rb /) kbo(:, 3,30, 7) = (/ & & 0.99848e+03_rb,0.76055e+03_rb,0.56155e+03_rb,0.81643e+03_rb,0.10743e+04_rb /) kbo(:, 4,30, 7) = (/ & & 0.99833e+03_rb,0.76044e+03_rb,0.56081e+03_rb,0.81561e+03_rb,0.10734e+04_rb /) kbo(:, 5,30, 7) = (/ & & 0.99819e+03_rb,0.76034e+03_rb,0.55986e+03_rb,0.81451e+03_rb,0.10721e+04_rb /) kbo(:, 1,31, 7) = (/ & & 0.99824e+03_rb,0.76037e+03_rb,0.56231e+03_rb,0.81727e+03_rb,0.10752e+04_rb /) kbo(:, 2,31, 7) = (/ & & 0.99808e+03_rb,0.76026e+03_rb,0.56195e+03_rb,0.81690e+03_rb,0.10748e+04_rb /) kbo(:, 3,31, 7) = (/ & & 0.99794e+03_rb,0.76015e+03_rb,0.56137e+03_rb,0.81625e+03_rb,0.10741e+04_rb /) kbo(:, 4,31, 7) = (/ & & 0.99782e+03_rb,0.76006e+03_rb,0.56058e+03_rb,0.81535e+03_rb,0.10731e+04_rb /) kbo(:, 5,31, 7) = (/ & & 0.99772e+03_rb,0.75998e+03_rb,0.55958e+03_rb,0.81419e+03_rb,0.10717e+04_rb /) kbo(:, 1,32, 7) = (/ & & 0.99774e+03_rb,0.76000e+03_rb,0.56222e+03_rb,0.81719e+03_rb,0.10752e+04_rb /) kbo(:, 2,32, 7) = (/ & & 0.99763e+03_rb,0.75991e+03_rb,0.56181e+03_rb,0.81675e+03_rb,0.10747e+04_rb /) kbo(:, 3,32, 7) = (/ & & 0.99752e+03_rb,0.75984e+03_rb,0.56117e+03_rb,0.81604e+03_rb,0.10739e+04_rb /) kbo(:, 4,32, 7) = (/ & & 0.99742e+03_rb,0.75976e+03_rb,0.56033e+03_rb,0.81507e+03_rb,0.10728e+04_rb /) kbo(:, 5,32, 7) = (/ & & 0.99733e+03_rb,0.75970e+03_rb,0.55927e+03_rb,0.81384e+03_rb,0.10713e+04_rb /) kbo(:, 1,33, 7) = (/ & & 0.99735e+03_rb,0.75971e+03_rb,0.56212e+03_rb,0.81709e+03_rb,0.10751e+04_rb /) kbo(:, 2,33, 7) = (/ & & 0.99725e+03_rb,0.75964e+03_rb,0.56165e+03_rb,0.81658e+03_rb,0.10745e+04_rb /) kbo(:, 3,33, 7) = (/ & & 0.99717e+03_rb,0.75957e+03_rb,0.56096e+03_rb,0.81581e+03_rb,0.10736e+04_rb /) kbo(:, 4,33, 7) = (/ & & 0.99709e+03_rb,0.75952e+03_rb,0.56006e+03_rb,0.81477e+03_rb,0.10724e+04_rb /) kbo(:, 5,33, 7) = (/ & & 0.99703e+03_rb,0.75946e+03_rb,0.55896e+03_rb,0.81347e+03_rb,0.10709e+04_rb /) kbo(:, 1,34, 7) = (/ & & 0.99704e+03_rb,0.75947e+03_rb,0.56203e+03_rb,0.81702e+03_rb,0.10750e+04_rb /) kbo(:, 2,34, 7) = (/ & & 0.99696e+03_rb,0.75942e+03_rb,0.56151e+03_rb,0.81642e+03_rb,0.10743e+04_rb /) kbo(:, 3,34, 7) = (/ & & 0.99689e+03_rb,0.75937e+03_rb,0.56077e+03_rb,0.81558e+03_rb,0.10734e+04_rb /) kbo(:, 4,34, 7) = (/ & & 0.99683e+03_rb,0.75932e+03_rb,0.55982e+03_rb,0.81449e+03_rb,0.10721e+04_rb /) kbo(:, 5,34, 7) = (/ & & 0.99678e+03_rb,0.75928e+03_rb,0.55868e+03_rb,0.81314e+03_rb,0.10704e+04_rb /) kbo(:, 1,35, 7) = (/ & & 0.99679e+03_rb,0.75929e+03_rb,0.56197e+03_rb,0.81693e+03_rb,0.10749e+04_rb /) kbo(:, 2,35, 7) = (/ & & 0.99673e+03_rb,0.75925e+03_rb,0.56142e+03_rb,0.81633e+03_rb,0.10742e+04_rb /) kbo(:, 3,35, 7) = (/ & & 0.99667e+03_rb,0.75920e+03_rb,0.56065e+03_rb,0.81545e+03_rb,0.10733e+04_rb /) kbo(:, 4,35, 7) = (/ & & 0.99663e+03_rb,0.75916e+03_rb,0.55968e+03_rb,0.81434e+03_rb,0.10719e+04_rb /) kbo(:, 5,35, 7) = (/ & & 0.99658e+03_rb,0.75913e+03_rb,0.55851e+03_rb,0.81294e+03_rb,0.10702e+04_rb /) kbo(:, 1,36, 7) = (/ & & 0.99660e+03_rb,0.75914e+03_rb,0.56195e+03_rb,0.81692e+03_rb,0.10749e+04_rb /) kbo(:, 2,36, 7) = (/ & & 0.99655e+03_rb,0.75911e+03_rb,0.56140e+03_rb,0.81631e+03_rb,0.10742e+04_rb /) kbo(:, 3,36, 7) = (/ & & 0.99650e+03_rb,0.75907e+03_rb,0.56063e+03_rb,0.81543e+03_rb,0.10732e+04_rb /) kbo(:, 4,36, 7) = (/ & & 0.99646e+03_rb,0.75904e+03_rb,0.55965e+03_rb,0.81430e+03_rb,0.10719e+04_rb /) kbo(:, 5,36, 7) = (/ & & 0.99642e+03_rb,0.75901e+03_rb,0.55848e+03_rb,0.81290e+03_rb,0.10702e+04_rb /) kbo(:, 1,37, 7) = (/ & & 0.99645e+03_rb,0.75903e+03_rb,0.56200e+03_rb,0.81697e+03_rb,0.10749e+04_rb /) kbo(:, 2,37, 7) = (/ & & 0.99640e+03_rb,0.75900e+03_rb,0.56148e+03_rb,0.81640e+03_rb,0.10743e+04_rb /) kbo(:, 3,37, 7) = (/ & & 0.99636e+03_rb,0.75897e+03_rb,0.56074e+03_rb,0.81556e+03_rb,0.10734e+04_rb /) kbo(:, 4,37, 7) = (/ & & 0.99633e+03_rb,0.75894e+03_rb,0.55979e+03_rb,0.81446e+03_rb,0.10721e+04_rb /) kbo(:, 5,37, 7) = (/ & & 0.99630e+03_rb,0.75892e+03_rb,0.55864e+03_rb,0.81313e+03_rb,0.10704e+04_rb /) kbo(:, 1,38, 7) = (/ & & 0.99632e+03_rb,0.75894e+03_rb,0.56206e+03_rb,0.81703e+03_rb,0.10750e+04_rb /) kbo(:, 2,38, 7) = (/ & & 0.99628e+03_rb,0.75891e+03_rb,0.56157e+03_rb,0.81650e+03_rb,0.10744e+04_rb /) kbo(:, 3,38, 7) = (/ & & 0.99625e+03_rb,0.75889e+03_rb,0.56085e+03_rb,0.81569e+03_rb,0.10735e+04_rb /) kbo(:, 4,38, 7) = (/ & & 0.99623e+03_rb,0.75887e+03_rb,0.55993e+03_rb,0.81464e+03_rb,0.10723e+04_rb /) kbo(:, 5,38, 7) = (/ & & 0.99620e+03_rb,0.75885e+03_rb,0.55881e+03_rb,0.81331e+03_rb,0.10707e+04_rb /) kbo(:, 1,39, 7) = (/ & & 0.99622e+03_rb,0.75886e+03_rb,0.56210e+03_rb,0.81708e+03_rb,0.10751e+04_rb /) kbo(:, 2,39, 7) = (/ & & 0.99619e+03_rb,0.75884e+03_rb,0.56164e+03_rb,0.81666e+03_rb,0.10745e+04_rb /) kbo(:, 3,39, 7) = (/ & & 0.99617e+03_rb,0.75882e+03_rb,0.56096e+03_rb,0.81582e+03_rb,0.10737e+04_rb /) kbo(:, 4,39, 7) = (/ & & 0.99614e+03_rb,0.75880e+03_rb,0.56007e+03_rb,0.81479e+03_rb,0.10725e+04_rb /) kbo(:, 5,39, 7) = (/ & & 0.99612e+03_rb,0.75878e+03_rb,0.55897e+03_rb,0.81351e+03_rb,0.10709e+04_rb /) kbo(:, 1,40, 7) = (/ & & 0.99613e+03_rb,0.75880e+03_rb,0.56218e+03_rb,0.81716e+03_rb,0.10752e+04_rb /) kbo(:, 2,40, 7) = (/ & & 0.99611e+03_rb,0.75878e+03_rb,0.56177e+03_rb,0.81672e+03_rb,0.10747e+04_rb /) kbo(:, 3,40, 7) = (/ & & 0.99609e+03_rb,0.75876e+03_rb,0.56114e+03_rb,0.81603e+03_rb,0.10739e+04_rb /) kbo(:, 4,40, 7) = (/ & & 0.99607e+03_rb,0.75875e+03_rb,0.56030e+03_rb,0.81506e+03_rb,0.10728e+04_rb /) kbo(:, 5,40, 7) = (/ & & 0.99605e+03_rb,0.75874e+03_rb,0.55925e+03_rb,0.81383e+03_rb,0.10713e+04_rb /) kbo(:, 1,41, 7) = (/ & & 0.99606e+03_rb,0.75874e+03_rb,0.56225e+03_rb,0.81724e+03_rb,0.10752e+04_rb /) kbo(:, 2,41, 7) = (/ & & 0.99604e+03_rb,0.75873e+03_rb,0.56189e+03_rb,0.81688e+03_rb,0.10748e+04_rb /) kbo(:, 3,41, 7) = (/ & & 0.99602e+03_rb,0.75871e+03_rb,0.56132e+03_rb,0.81623e+03_rb,0.10741e+04_rb /) kbo(:, 4,41, 7) = (/ & & 0.99601e+03_rb,0.75870e+03_rb,0.56053e+03_rb,0.81532e+03_rb,0.10731e+04_rb /) kbo(:, 5,41, 7) = (/ & & 0.99600e+03_rb,0.75869e+03_rb,0.55954e+03_rb,0.81416e+03_rb,0.10717e+04_rb /) kbo(:, 1,42, 7) = (/ & & 0.99601e+03_rb,0.75870e+03_rb,0.56231e+03_rb,0.81730e+03_rb,0.10753e+04_rb /) kbo(:, 2,42, 7) = (/ & & 0.99599e+03_rb,0.75869e+03_rb,0.56200e+03_rb,0.81698e+03_rb,0.10750e+04_rb /) kbo(:, 3,42, 7) = (/ & & 0.99597e+03_rb,0.75868e+03_rb,0.56149e+03_rb,0.81641e+03_rb,0.10743e+04_rb /) kbo(:, 4,42, 7) = (/ & & 0.99596e+03_rb,0.75867e+03_rb,0.56075e+03_rb,0.81559e+03_rb,0.10734e+04_rb /) kbo(:, 5,42, 7) = (/ & & 0.99595e+03_rb,0.75866e+03_rb,0.55981e+03_rb,0.81449e+03_rb,0.10721e+04_rb /) kbo(:, 1,43, 7) = (/ & & 0.99596e+03_rb,0.75867e+03_rb,0.56235e+03_rb,0.81734e+03_rb,0.10754e+04_rb /) kbo(:, 2,43, 7) = (/ & & 0.99595e+03_rb,0.75866e+03_rb,0.56212e+03_rb,0.81712e+03_rb,0.10751e+04_rb /) kbo(:, 3,43, 7) = (/ & & 0.99594e+03_rb,0.75865e+03_rb,0.56167e+03_rb,0.81662e+03_rb,0.10746e+04_rb /) kbo(:, 4,43, 7) = (/ & & 0.99592e+03_rb,0.75864e+03_rb,0.56100e+03_rb,0.81588e+03_rb,0.10737e+04_rb /) kbo(:, 5,43, 7) = (/ & & 0.99591e+03_rb,0.75863e+03_rb,0.56012e+03_rb,0.81487e+03_rb,0.10726e+04_rb /) kbo(:, 1,44, 7) = (/ & & 0.99592e+03_rb,0.75864e+03_rb,0.56237e+03_rb,0.81736e+03_rb,0.10754e+04_rb /) kbo(:, 2,44, 7) = (/ & & 0.99591e+03_rb,0.75863e+03_rb,0.56222e+03_rb,0.81722e+03_rb,0.10752e+04_rb /) kbo(:, 3,44, 7) = (/ & & 0.99591e+03_rb,0.75862e+03_rb,0.56184e+03_rb,0.81680e+03_rb,0.10748e+04_rb /) kbo(:, 4,44, 7) = (/ & & 0.99589e+03_rb,0.75861e+03_rb,0.56125e+03_rb,0.81614e+03_rb,0.10741e+04_rb /) kbo(:, 5,44, 7) = (/ & & 0.99588e+03_rb,0.75861e+03_rb,0.56044e+03_rb,0.81523e+03_rb,0.10730e+04_rb /) kbo(:, 1,45, 7) = (/ & & 0.99589e+03_rb,0.75861e+03_rb,0.56237e+03_rb,0.81733e+03_rb,0.10754e+04_rb /) kbo(:, 2,45, 7) = (/ & & 0.99588e+03_rb,0.75861e+03_rb,0.56230e+03_rb,0.81729e+03_rb,0.10753e+04_rb /) kbo(:, 3,45, 7) = (/ & & 0.99587e+03_rb,0.75860e+03_rb,0.56199e+03_rb,0.81699e+03_rb,0.10750e+04_rb /) kbo(:, 4,45, 7) = (/ & & 0.99586e+03_rb,0.75859e+03_rb,0.56147e+03_rb,0.81641e+03_rb,0.10743e+04_rb /) kbo(:, 5,45, 7) = (/ & & 0.99585e+03_rb,0.75859e+03_rb,0.56074e+03_rb,0.81557e+03_rb,0.10734e+04_rb /) kbo(:, 1,46, 7) = (/ & & 0.99586e+03_rb,0.75859e+03_rb,0.56233e+03_rb,0.81728e+03_rb,0.10753e+04_rb /) kbo(:, 2,46, 7) = (/ & & 0.99585e+03_rb,0.75859e+03_rb,0.56235e+03_rb,0.81734e+03_rb,0.10754e+04_rb /) kbo(:, 3,46, 7) = (/ & & 0.99585e+03_rb,0.75858e+03_rb,0.56213e+03_rb,0.81712e+03_rb,0.10751e+04_rb /) kbo(:, 4,46, 7) = (/ & & 0.99584e+03_rb,0.75858e+03_rb,0.56169e+03_rb,0.81663e+03_rb,0.10746e+04_rb /) kbo(:, 5,46, 7) = (/ & & 0.99583e+03_rb,0.75858e+03_rb,0.56103e+03_rb,0.81590e+03_rb,0.10738e+04_rb /) kbo(:, 1,47, 7) = (/ & & 0.99585e+03_rb,0.75858e+03_rb,0.56226e+03_rb,0.81718e+03_rb,0.10753e+04_rb /) kbo(:, 2,47, 7) = (/ & & 0.99583e+03_rb,0.75857e+03_rb,0.56237e+03_rb,0.81736e+03_rb,0.10754e+04_rb /) kbo(:, 3,47, 7) = (/ & & 0.99583e+03_rb,0.75857e+03_rb,0.56224e+03_rb,0.81723e+03_rb,0.10752e+04_rb /) kbo(:, 4,47, 7) = (/ & & 0.99582e+03_rb,0.75856e+03_rb,0.56189e+03_rb,0.81686e+03_rb,0.10748e+04_rb /) kbo(:, 5,47, 7) = (/ & & 0.99581e+03_rb,0.75856e+03_rb,0.56132e+03_rb,0.81626e+03_rb,0.10741e+04_rb /) kbo(:, 1,48, 7) = (/ & & 0.99582e+03_rb,0.75856e+03_rb,0.56215e+03_rb,0.81703e+03_rb,0.10751e+04_rb /) kbo(:, 2,48, 7) = (/ & & 0.99582e+03_rb,0.75856e+03_rb,0.56235e+03_rb,0.81732e+03_rb,0.10754e+04_rb /) kbo(:, 3,48, 7) = (/ & & 0.99581e+03_rb,0.75855e+03_rb,0.56232e+03_rb,0.81733e+03_rb,0.10753e+04_rb /) kbo(:, 4,48, 7) = (/ & & 0.99580e+03_rb,0.75855e+03_rb,0.56206e+03_rb,0.81704e+03_rb,0.10750e+04_rb /) kbo(:, 5,48, 7) = (/ & & 0.99580e+03_rb,0.75855e+03_rb,0.56157e+03_rb,0.81651e+03_rb,0.10744e+04_rb /) kbo(:, 1,49, 7) = (/ & & 0.99581e+03_rb,0.75855e+03_rb,0.56199e+03_rb,0.81684e+03_rb,0.10748e+04_rb /) kbo(:, 2,49, 7) = (/ & & 0.99580e+03_rb,0.75855e+03_rb,0.56230e+03_rb,0.81724e+03_rb,0.10753e+04_rb /) kbo(:, 3,49, 7) = (/ & & 0.99580e+03_rb,0.75854e+03_rb,0.56236e+03_rb,0.81736e+03_rb,0.10753e+04_rb /) kbo(:, 4,49, 7) = (/ & & 0.99579e+03_rb,0.75854e+03_rb,0.56219e+03_rb,0.81718e+03_rb,0.10752e+04_rb /) kbo(:, 5,49, 7) = (/ & & 0.99579e+03_rb,0.75854e+03_rb,0.56179e+03_rb,0.81678e+03_rb,0.10747e+04_rb /) kbo(:, 1,50, 7) = (/ & & 0.99579e+03_rb,0.75854e+03_rb,0.56180e+03_rb,0.81662e+03_rb,0.10745e+04_rb /) kbo(:, 2,50, 7) = (/ & & 0.99579e+03_rb,0.75854e+03_rb,0.56221e+03_rb,0.81713e+03_rb,0.10752e+04_rb /) kbo(:, 3,50, 7) = (/ & & 0.99579e+03_rb,0.75854e+03_rb,0.56237e+03_rb,0.81735e+03_rb,0.10754e+04_rb /) kbo(:, 4,50, 7) = (/ & & 0.99579e+03_rb,0.75854e+03_rb,0.56228e+03_rb,0.81728e+03_rb,0.10753e+04_rb /) kbo(:, 5,50, 7) = (/ & & 0.99578e+03_rb,0.75853e+03_rb,0.56197e+03_rb,0.81695e+03_rb,0.10749e+04_rb /) kbo(:, 1,51, 7) = (/ & & 0.99578e+03_rb,0.75853e+03_rb,0.56158e+03_rb,0.81637e+03_rb,0.10741e+04_rb /) kbo(:, 2,51, 7) = (/ & & 0.99578e+03_rb,0.75853e+03_rb,0.56209e+03_rb,0.81697e+03_rb,0.10750e+04_rb /) kbo(:, 3,51, 7) = (/ & & 0.99578e+03_rb,0.75853e+03_rb,0.56234e+03_rb,0.81729e+03_rb,0.10753e+04_rb /) kbo(:, 4,51, 7) = (/ & & 0.99578e+03_rb,0.75853e+03_rb,0.56234e+03_rb,0.81734e+03_rb,0.10754e+04_rb /) kbo(:, 5,51, 7) = (/ & & 0.99577e+03_rb,0.75852e+03_rb,0.56211e+03_rb,0.81712e+03_rb,0.10751e+04_rb /) kbo(:, 1,52, 7) = (/ & & 0.99577e+03_rb,0.75853e+03_rb,0.56131e+03_rb,0.81608e+03_rb,0.10737e+04_rb /) kbo(:, 2,52, 7) = (/ & & 0.99577e+03_rb,0.75852e+03_rb,0.56194e+03_rb,0.81678e+03_rb,0.10748e+04_rb /) kbo(:, 3,52, 7) = (/ & & 0.99577e+03_rb,0.75852e+03_rb,0.56228e+03_rb,0.81721e+03_rb,0.10753e+04_rb /) kbo(:, 4,52, 7) = (/ & & 0.99577e+03_rb,0.75852e+03_rb,0.56237e+03_rb,0.81738e+03_rb,0.10754e+04_rb /) kbo(:, 5,52, 7) = (/ & & 0.99576e+03_rb,0.75852e+03_rb,0.56222e+03_rb,0.81722e+03_rb,0.10752e+04_rb /) kbo(:, 1,53, 7) = (/ & & 0.99577e+03_rb,0.75852e+03_rb,0.56102e+03_rb,0.81574e+03_rb,0.10731e+04_rb /) kbo(:, 2,53, 7) = (/ & & 0.99576e+03_rb,0.75852e+03_rb,0.56174e+03_rb,0.81656e+03_rb,0.10744e+04_rb /) kbo(:, 3,53, 7) = (/ & & 0.99576e+03_rb,0.75852e+03_rb,0.56218e+03_rb,0.81709e+03_rb,0.10752e+04_rb /) kbo(:, 4,53, 7) = (/ & & 0.99576e+03_rb,0.75851e+03_rb,0.56236e+03_rb,0.81734e+03_rb,0.10754e+04_rb /) kbo(:, 5,53, 7) = (/ & & 0.99576e+03_rb,0.75852e+03_rb,0.56230e+03_rb,0.81736e+03_rb,0.10753e+04_rb /) kbo(:, 1,54, 7) = (/ & & 0.99576e+03_rb,0.75852e+03_rb,0.56072e+03_rb,0.81536e+03_rb,0.10726e+04_rb /) kbo(:, 2,54, 7) = (/ & & 0.99576e+03_rb,0.75851e+03_rb,0.56153e+03_rb,0.81633e+03_rb,0.10740e+04_rb /) kbo(:, 3,54, 7) = (/ & & 0.99575e+03_rb,0.75851e+03_rb,0.56207e+03_rb,0.81694e+03_rb,0.10750e+04_rb /) kbo(:, 4,54, 7) = (/ & & 0.99575e+03_rb,0.75851e+03_rb,0.56233e+03_rb,0.81728e+03_rb,0.10753e+04_rb /) kbo(:, 5,54, 7) = (/ & & 0.99576e+03_rb,0.75851e+03_rb,0.56235e+03_rb,0.81734e+03_rb,0.10754e+04_rb /) kbo(:, 1,55, 7) = (/ & & 0.99575e+03_rb,0.75851e+03_rb,0.56039e+03_rb,0.81495e+03_rb,0.10720e+04_rb /) kbo(:, 2,55, 7) = (/ & & 0.99575e+03_rb,0.75851e+03_rb,0.56128e+03_rb,0.81606e+03_rb,0.10736e+04_rb /) kbo(:, 3,55, 7) = (/ & & 0.99575e+03_rb,0.75851e+03_rb,0.56193e+03_rb,0.81677e+03_rb,0.10747e+04_rb /) kbo(:, 4,55, 7) = (/ & & 0.99575e+03_rb,0.75851e+03_rb,0.56227e+03_rb,0.81720e+03_rb,0.10753e+04_rb /) kbo(:, 5,55, 7) = (/ & & 0.99575e+03_rb,0.75851e+03_rb,0.56237e+03_rb,0.81736e+03_rb,0.10754e+04_rb /) kbo(:, 1,56, 7) = (/ & & 0.99575e+03_rb,0.75851e+03_rb,0.56002e+03_rb,0.81448e+03_rb,0.10713e+04_rb /) kbo(:, 2,56, 7) = (/ & & 0.99575e+03_rb,0.75851e+03_rb,0.56104e+03_rb,0.81576e+03_rb,0.10732e+04_rb /) kbo(:, 3,56, 7) = (/ & & 0.99575e+03_rb,0.75851e+03_rb,0.56175e+03_rb,0.81659e+03_rb,0.10744e+04_rb /) kbo(:, 4,56, 7) = (/ & & 0.99574e+03_rb,0.75850e+03_rb,0.56219e+03_rb,0.81709e+03_rb,0.10752e+04_rb /) kbo(:, 5,56, 7) = (/ & & 0.99574e+03_rb,0.75850e+03_rb,0.56236e+03_rb,0.81734e+03_rb,0.10754e+04_rb /) kbo(:, 1,57, 7) = (/ & & 0.99575e+03_rb,0.75851e+03_rb,0.55963e+03_rb,0.81395e+03_rb,0.10705e+04_rb /) kbo(:, 2,57, 7) = (/ & & 0.99574e+03_rb,0.75850e+03_rb,0.56076e+03_rb,0.81540e+03_rb,0.10727e+04_rb /) kbo(:, 3,57, 7) = (/ & & 0.99574e+03_rb,0.75850e+03_rb,0.56157e+03_rb,0.81635e+03_rb,0.10741e+04_rb /) kbo(:, 4,57, 7) = (/ & & 0.99574e+03_rb,0.75850e+03_rb,0.56208e+03_rb,0.81696e+03_rb,0.10750e+04_rb /) kbo(:, 5,57, 7) = (/ & & 0.99574e+03_rb,0.75850e+03_rb,0.56234e+03_rb,0.81729e+03_rb,0.10754e+04_rb /) kbo(:, 1,58, 7) = (/ & & 0.99575e+03_rb,0.75850e+03_rb,0.55922e+03_rb,0.81340e+03_rb,0.10697e+04_rb /) kbo(:, 2,58, 7) = (/ & & 0.99574e+03_rb,0.75850e+03_rb,0.56044e+03_rb,0.81503e+03_rb,0.10721e+04_rb /) kbo(:, 3,58, 7) = (/ & & 0.99574e+03_rb,0.75851e+03_rb,0.56134e+03_rb,0.81611e+03_rb,0.10737e+04_rb /) kbo(:, 4,58, 7) = (/ & & 0.99574e+03_rb,0.75851e+03_rb,0.56195e+03_rb,0.81681e+03_rb,0.10748e+04_rb /) kbo(:, 5,58, 7) = (/ & & 0.99574e+03_rb,0.75850e+03_rb,0.56228e+03_rb,0.81722e+03_rb,0.10753e+04_rb /) kbo(:, 1,59, 7) = (/ & & 0.99575e+03_rb,0.75850e+03_rb,0.55905e+03_rb,0.81317e+03_rb,0.10694e+04_rb /) kbo(:, 2,59, 7) = (/ & & 0.99574e+03_rb,0.75850e+03_rb,0.56032e+03_rb,0.81485e+03_rb,0.10718e+04_rb /) kbo(:, 3,59, 7) = (/ & & 0.99574e+03_rb,0.75850e+03_rb,0.56125e+03_rb,0.81601e+03_rb,0.10735e+04_rb /) kbo(:, 4,59, 7) = (/ & & 0.99574e+03_rb,0.75850e+03_rb,0.56189e+03_rb,0.81673e+03_rb,0.10747e+04_rb /) kbo(:, 5,59, 7) = (/ & & 0.99573e+03_rb,0.75850e+03_rb,0.56225e+03_rb,0.81718e+03_rb,0.10753e+04_rb /) kbo(:, 1,13, 8) = (/ & & 0.11451e+04_rb,0.86748e+03_rb,0.59259e+03_rb,0.85187e+03_rb,0.11225e+04_rb /) kbo(:, 2,13, 8) = (/ & & 0.11363e+04_rb,0.86085e+03_rb,0.58896e+03_rb,0.85188e+03_rb,0.11226e+04_rb /) kbo(:, 3,13, 8) = (/ & & 0.11286e+04_rb,0.85515e+03_rb,0.58586e+03_rb,0.85170e+03_rb,0.11227e+04_rb /) kbo(:, 4,13, 8) = (/ & & 0.11220e+04_rb,0.85016e+03_rb,0.58378e+03_rb,0.85132e+03_rb,0.11224e+04_rb /) kbo(:, 5,13, 8) = (/ & & 0.11162e+04_rb,0.84582e+03_rb,0.58229e+03_rb,0.85074e+03_rb,0.11218e+04_rb /) kbo(:, 1,14, 8) = (/ & & 0.11230e+04_rb,0.85087e+03_rb,0.58392e+03_rb,0.85168e+03_rb,0.11225e+04_rb /) kbo(:, 2,14, 8) = (/ & & 0.11158e+04_rb,0.84552e+03_rb,0.58280e+03_rb,0.85169e+03_rb,0.11227e+04_rb /) kbo(:, 3,14, 8) = (/ & & 0.11097e+04_rb,0.84090e+03_rb,0.58233e+03_rb,0.85151e+03_rb,0.11227e+04_rb /) kbo(:, 4,14, 8) = (/ & & 0.11043e+04_rb,0.83689e+03_rb,0.58194e+03_rb,0.85113e+03_rb,0.11223e+04_rb /) kbo(:, 5,14, 8) = (/ & & 0.10996e+04_rb,0.83336e+03_rb,0.58140e+03_rb,0.85052e+03_rb,0.11217e+04_rb /) kbo(:, 1,15, 8) = (/ & & 0.11049e+04_rb,0.83731e+03_rb,0.58207e+03_rb,0.85153e+03_rb,0.11225e+04_rb /) kbo(:, 2,15, 8) = (/ & & 0.10991e+04_rb,0.83301e+03_rb,0.58217e+03_rb,0.85153e+03_rb,0.11227e+04_rb /) kbo(:, 3,15, 8) = (/ & & 0.10942e+04_rb,0.82928e+03_rb,0.58200e+03_rb,0.85134e+03_rb,0.11226e+04_rb /) kbo(:, 4,15, 8) = (/ & & 0.10899e+04_rb,0.82605e+03_rb,0.58161e+03_rb,0.85094e+03_rb,0.11223e+04_rb /) kbo(:, 5,15, 8) = (/ & & 0.10860e+04_rb,0.82320e+03_rb,0.58108e+03_rb,0.85034e+03_rb,0.11216e+04_rb /) kbo(:, 1,16, 8) = (/ & & 0.10902e+04_rb,0.82630e+03_rb,0.58181e+03_rb,0.85141e+03_rb,0.11225e+04_rb /) kbo(:, 2,16, 8) = (/ & & 0.10856e+04_rb,0.82283e+03_rb,0.58190e+03_rb,0.85139e+03_rb,0.11227e+04_rb /) kbo(:, 3,16, 8) = (/ & & 0.10816e+04_rb,0.81983e+03_rb,0.58172e+03_rb,0.85119e+03_rb,0.11226e+04_rb /) kbo(:, 4,16, 8) = (/ & & 0.10781e+04_rb,0.81721e+03_rb,0.58133e+03_rb,0.85078e+03_rb,0.11222e+04_rb /) kbo(:, 5,16, 8) = (/ & & 0.10750e+04_rb,0.81491e+03_rb,0.58080e+03_rb,0.85015e+03_rb,0.11215e+04_rb /) kbo(:, 1,17, 8) = (/ & & 0.10783e+04_rb,0.81738e+03_rb,0.58160e+03_rb,0.85131e+03_rb,0.11225e+04_rb /) kbo(:, 2,17, 8) = (/ & & 0.10746e+04_rb,0.81457e+03_rb,0.58168e+03_rb,0.85129e+03_rb,0.11227e+04_rb /) kbo(:, 3,17, 8) = (/ & & 0.10713e+04_rb,0.81215e+03_rb,0.58149e+03_rb,0.85108e+03_rb,0.11226e+04_rb /) kbo(:, 4,17, 8) = (/ & & 0.10685e+04_rb,0.81004e+03_rb,0.58109e+03_rb,0.85064e+03_rb,0.11222e+04_rb /) kbo(:, 5,17, 8) = (/ & & 0.10660e+04_rb,0.80818e+03_rb,0.58056e+03_rb,0.85000e+03_rb,0.11214e+04_rb /) kbo(:, 1,18, 8) = (/ & & 0.10686e+04_rb,0.81013e+03_rb,0.58144e+03_rb,0.85124e+03_rb,0.11225e+04_rb /) kbo(:, 2,18, 8) = (/ & & 0.10656e+04_rb,0.80786e+03_rb,0.58150e+03_rb,0.85119e+03_rb,0.11227e+04_rb /) kbo(:, 3,18, 8) = (/ & & 0.10630e+04_rb,0.80591e+03_rb,0.58129e+03_rb,0.85095e+03_rb,0.11226e+04_rb /) kbo(:, 4,18, 8) = (/ & & 0.10607e+04_rb,0.80419e+03_rb,0.58089e+03_rb,0.85052e+03_rb,0.11221e+04_rb /) kbo(:, 5,18, 8) = (/ & & 0.10587e+04_rb,0.80269e+03_rb,0.58036e+03_rb,0.84984e+03_rb,0.11213e+04_rb /) kbo(:, 1,19, 8) = (/ & & 0.10608e+04_rb,0.80424e+03_rb,0.58130e+03_rb,0.85117e+03_rb,0.11226e+04_rb /) kbo(:, 2,19, 8) = (/ & & 0.10584e+04_rb,0.80242e+03_rb,0.58135e+03_rb,0.85109e+03_rb,0.11227e+04_rb /) kbo(:, 3,19, 8) = (/ & & 0.10562e+04_rb,0.80084e+03_rb,0.58113e+03_rb,0.85087e+03_rb,0.11225e+04_rb /) kbo(:, 4,19, 8) = (/ & & 0.10544e+04_rb,0.79946e+03_rb,0.58072e+03_rb,0.85040e+03_rb,0.11220e+04_rb /) kbo(:, 5,19, 8) = (/ & & 0.10528e+04_rb,0.79825e+03_rb,0.58019e+03_rb,0.84971e+03_rb,0.11212e+04_rb /) kbo(:, 1,20, 8) = (/ & & 0.10544e+04_rb,0.79943e+03_rb,0.58120e+03_rb,0.85111e+03_rb,0.11226e+04_rb /) kbo(:, 2,20, 8) = (/ & & 0.10524e+04_rb,0.79797e+03_rb,0.58122e+03_rb,0.85103e+03_rb,0.11227e+04_rb /) kbo(:, 3,20, 8) = (/ & & 0.10507e+04_rb,0.79669e+03_rb,0.58098e+03_rb,0.85078e+03_rb,0.11225e+04_rb /) kbo(:, 4,20, 8) = (/ & & 0.10492e+04_rb,0.79558e+03_rb,0.58056e+03_rb,0.85028e+03_rb,0.11220e+04_rb /) kbo(:, 5,20, 8) = (/ & & 0.10479e+04_rb,0.79460e+03_rb,0.58002e+03_rb,0.84958e+03_rb,0.11211e+04_rb /) kbo(:, 1,21, 8) = (/ & & 0.10492e+04_rb,0.79553e+03_rb,0.58112e+03_rb,0.85107e+03_rb,0.11227e+04_rb /) kbo(:, 2,21, 8) = (/ & & 0.10476e+04_rb,0.79436e+03_rb,0.58112e+03_rb,0.85096e+03_rb,0.11227e+04_rb /) kbo(:, 3,21, 8) = (/ & & 0.10462e+04_rb,0.79334e+03_rb,0.58085e+03_rb,0.85069e+03_rb,0.11224e+04_rb /) kbo(:, 4,21, 8) = (/ & & 0.10450e+04_rb,0.79243e+03_rb,0.58042e+03_rb,0.85021e+03_rb,0.11219e+04_rb /) kbo(:, 5,21, 8) = (/ & & 0.10440e+04_rb,0.79165e+03_rb,0.57987e+03_rb,0.84945e+03_rb,0.11210e+04_rb /) kbo(:, 1,22, 8) = (/ & & 0.10449e+04_rb,0.79230e+03_rb,0.58106e+03_rb,0.85103e+03_rb,0.11226e+04_rb /) kbo(:, 2,22, 8) = (/ & & 0.10436e+04_rb,0.79136e+03_rb,0.58100e+03_rb,0.85090e+03_rb,0.11227e+04_rb /) kbo(:, 3,22, 8) = (/ & & 0.10425e+04_rb,0.79054e+03_rb,0.58071e+03_rb,0.85058e+03_rb,0.11224e+04_rb /) kbo(:, 4,22, 8) = (/ & & 0.10416e+04_rb,0.78983e+03_rb,0.58026e+03_rb,0.85002e+03_rb,0.11217e+04_rb /) kbo(:, 5,22, 8) = (/ & & 0.10407e+04_rb,0.78921e+03_rb,0.57969e+03_rb,0.84925e+03_rb,0.11208e+04_rb /) kbo(:, 1,23, 8) = (/ & & 0.10414e+04_rb,0.78969e+03_rb,0.58100e+03_rb,0.85099e+03_rb,0.11227e+04_rb /) kbo(:, 2,23, 8) = (/ & & 0.10404e+04_rb,0.78894e+03_rb,0.58090e+03_rb,0.85083e+03_rb,0.11226e+04_rb /) kbo(:, 3,23, 8) = (/ & & 0.10395e+04_rb,0.78829e+03_rb,0.58058e+03_rb,0.85047e+03_rb,0.11223e+04_rb /) kbo(:, 4,23, 8) = (/ & & 0.10387e+04_rb,0.78772e+03_rb,0.58011e+03_rb,0.84989e+03_rb,0.11216e+04_rb /) kbo(:, 5,23, 8) = (/ & & 0.10381e+04_rb,0.78721e+03_rb,0.57952e+03_rb,0.84905e+03_rb,0.11206e+04_rb /) kbo(:, 1,24, 8) = (/ & & 0.10386e+04_rb,0.78759e+03_rb,0.58095e+03_rb,0.85095e+03_rb,0.11227e+04_rb /) kbo(:, 2,24, 8) = (/ & & 0.10378e+04_rb,0.78698e+03_rb,0.58081e+03_rb,0.85075e+03_rb,0.11226e+04_rb /) kbo(:, 3,24, 8) = (/ & & 0.10371e+04_rb,0.78646e+03_rb,0.58046e+03_rb,0.85035e+03_rb,0.11222e+04_rb /) kbo(:, 4,24, 8) = (/ & & 0.10365e+04_rb,0.78601e+03_rb,0.57995e+03_rb,0.84971e+03_rb,0.11214e+04_rb /) kbo(:, 5,24, 8) = (/ & & 0.10359e+04_rb,0.78561e+03_rb,0.57934e+03_rb,0.84885e+03_rb,0.11203e+04_rb /) kbo(:, 1,25, 8) = (/ & & 0.10363e+04_rb,0.78588e+03_rb,0.58090e+03_rb,0.85090e+03_rb,0.11227e+04_rb /) kbo(:, 2,25, 8) = (/ & & 0.10357e+04_rb,0.78541e+03_rb,0.58070e+03_rb,0.85067e+03_rb,0.11225e+04_rb /) kbo(:, 3,25, 8) = (/ & & 0.10351e+04_rb,0.78498e+03_rb,0.58032e+03_rb,0.85020e+03_rb,0.11220e+04_rb /) kbo(:, 4,25, 8) = (/ & & 0.10346e+04_rb,0.78461e+03_rb,0.57980e+03_rb,0.84953e+03_rb,0.11212e+04_rb /) kbo(:, 5,25, 8) = (/ & & 0.10342e+04_rb,0.78430e+03_rb,0.57916e+03_rb,0.84863e+03_rb,0.11201e+04_rb /) kbo(:, 1,26, 8) = (/ & & 0.10345e+04_rb,0.78450e+03_rb,0.58084e+03_rb,0.85084e+03_rb,0.11227e+04_rb /) kbo(:, 2,26, 8) = (/ & & 0.10339e+04_rb,0.78411e+03_rb,0.58059e+03_rb,0.85057e+03_rb,0.11224e+04_rb /) kbo(:, 3,26, 8) = (/ & & 0.10335e+04_rb,0.78378e+03_rb,0.58018e+03_rb,0.85004e+03_rb,0.11219e+04_rb /) kbo(:, 4,26, 8) = (/ & & 0.10331e+04_rb,0.78349e+03_rb,0.57964e+03_rb,0.84934e+03_rb,0.11210e+04_rb /) kbo(:, 5,26, 8) = (/ & & 0.10328e+04_rb,0.78323e+03_rb,0.57897e+03_rb,0.84838e+03_rb,0.11198e+04_rb /) kbo(:, 1,27, 8) = (/ & & 0.10329e+04_rb,0.78338e+03_rb,0.58078e+03_rb,0.85078e+03_rb,0.11227e+04_rb /) kbo(:, 2,27, 8) = (/ & & 0.10326e+04_rb,0.78307e+03_rb,0.58048e+03_rb,0.85045e+03_rb,0.11223e+04_rb /) kbo(:, 3,27, 8) = (/ & & 0.10322e+04_rb,0.78282e+03_rb,0.58003e+03_rb,0.84982e+03_rb,0.11217e+04_rb /) kbo(:, 4,27, 8) = (/ & & 0.10319e+04_rb,0.78258e+03_rb,0.57947e+03_rb,0.84907e+03_rb,0.11207e+04_rb /) kbo(:, 5,27, 8) = (/ & & 0.10316e+04_rb,0.78237e+03_rb,0.57877e+03_rb,0.84811e+03_rb,0.11194e+04_rb /) kbo(:, 1,28, 8) = (/ & & 0.10318e+04_rb,0.78248e+03_rb,0.58069e+03_rb,0.85072e+03_rb,0.11226e+04_rb /) kbo(:, 2,28, 8) = (/ & & 0.10314e+04_rb,0.78225e+03_rb,0.58037e+03_rb,0.85030e+03_rb,0.11222e+04_rb /) kbo(:, 3,28, 8) = (/ & & 0.10312e+04_rb,0.78205e+03_rb,0.57989e+03_rb,0.84960e+03_rb,0.11215e+04_rb /) kbo(:, 4,28, 8) = (/ & & 0.10309e+04_rb,0.78185e+03_rb,0.57929e+03_rb,0.84888e+03_rb,0.11204e+04_rb /) kbo(:, 5,28, 8) = (/ & & 0.10307e+04_rb,0.78168e+03_rb,0.57856e+03_rb,0.84784e+03_rb,0.11191e+04_rb /) kbo(:, 1,29, 8) = (/ & & 0.10308e+04_rb,0.78175e+03_rb,0.58061e+03_rb,0.85062e+03_rb,0.11225e+04_rb /) kbo(:, 2,29, 8) = (/ & & 0.10305e+04_rb,0.78157e+03_rb,0.58024e+03_rb,0.85019e+03_rb,0.11221e+04_rb /) kbo(:, 3,29, 8) = (/ & & 0.10303e+04_rb,0.78140e+03_rb,0.57974e+03_rb,0.84950e+03_rb,0.11213e+04_rb /) kbo(:, 4,29, 8) = (/ & & 0.10301e+04_rb,0.78126e+03_rb,0.57911e+03_rb,0.84863e+03_rb,0.11201e+04_rb /) kbo(:, 5,29, 8) = (/ & & 0.10300e+04_rb,0.78112e+03_rb,0.57834e+03_rb,0.84752e+03_rb,0.11188e+04_rb /) kbo(:, 1,30, 8) = (/ & & 0.10300e+04_rb,0.78117e+03_rb,0.58052e+03_rb,0.85055e+03_rb,0.11224e+04_rb /) kbo(:, 2,30, 8) = (/ & & 0.10298e+04_rb,0.78102e+03_rb,0.58011e+03_rb,0.85001e+03_rb,0.11219e+04_rb /) kbo(:, 3,30, 8) = (/ & & 0.10296e+04_rb,0.78089e+03_rb,0.57958e+03_rb,0.84932e+03_rb,0.11210e+04_rb /) kbo(:, 4,30, 8) = (/ & & 0.10295e+04_rb,0.78077e+03_rb,0.57892e+03_rb,0.84838e+03_rb,0.11198e+04_rb /) kbo(:, 5,30, 8) = (/ & & 0.10294e+04_rb,0.78066e+03_rb,0.57811e+03_rb,0.84720e+03_rb,0.11184e+04_rb /) kbo(:, 1,31, 8) = (/ & & 0.10294e+04_rb,0.78070e+03_rb,0.58042e+03_rb,0.85041e+03_rb,0.11223e+04_rb /) kbo(:, 2,31, 8) = (/ & & 0.10292e+04_rb,0.78058e+03_rb,0.57998e+03_rb,0.84985e+03_rb,0.11217e+04_rb /) kbo(:, 3,31, 8) = (/ & & 0.10291e+04_rb,0.78049e+03_rb,0.57941e+03_rb,0.84908e+03_rb,0.11207e+04_rb /) kbo(:, 4,31, 8) = (/ & & 0.10290e+04_rb,0.78039e+03_rb,0.57872e+03_rb,0.84808e+03_rb,0.11195e+04_rb /) kbo(:, 5,31, 8) = (/ & & 0.10289e+04_rb,0.78030e+03_rb,0.57786e+03_rb,0.84686e+03_rb,0.11179e+04_rb /) kbo(:, 1,32, 8) = (/ & & 0.10289e+04_rb,0.78033e+03_rb,0.58031e+03_rb,0.85030e+03_rb,0.11222e+04_rb /) kbo(:, 2,32, 8) = (/ & & 0.10288e+04_rb,0.78024e+03_rb,0.57984e+03_rb,0.84967e+03_rb,0.11215e+04_rb /) kbo(:, 3,32, 8) = (/ & & 0.10287e+04_rb,0.78016e+03_rb,0.57924e+03_rb,0.84884e+03_rb,0.11204e+04_rb /) kbo(:, 4,32, 8) = (/ & & 0.10286e+04_rb,0.78009e+03_rb,0.57851e+03_rb,0.84778e+03_rb,0.11191e+04_rb /) kbo(:, 5,32, 8) = (/ & & 0.10285e+04_rb,0.78000e+03_rb,0.57759e+03_rb,0.84651e+03_rb,0.11175e+04_rb /) kbo(:, 1,33, 8) = (/ & & 0.10285e+04_rb,0.78003e+03_rb,0.58019e+03_rb,0.85016e+03_rb,0.11220e+04_rb /) kbo(:, 2,33, 8) = (/ & & 0.10284e+04_rb,0.77995e+03_rb,0.57968e+03_rb,0.84947e+03_rb,0.11212e+04_rb /) kbo(:, 3,33, 8) = (/ & & 0.10283e+04_rb,0.77988e+03_rb,0.57905e+03_rb,0.84858e+03_rb,0.11201e+04_rb /) kbo(:, 4,33, 8) = (/ & & 0.10282e+04_rb,0.77982e+03_rb,0.57829e+03_rb,0.84747e+03_rb,0.11187e+04_rb /) kbo(:, 5,33, 8) = (/ & & 0.10282e+04_rb,0.77978e+03_rb,0.57730e+03_rb,0.84615e+03_rb,0.11170e+04_rb /) kbo(:, 1,34, 8) = (/ & & 0.10282e+04_rb,0.77978e+03_rb,0.58008e+03_rb,0.84998e+03_rb,0.11219e+04_rb /) kbo(:, 2,34, 8) = (/ & & 0.10281e+04_rb,0.77972e+03_rb,0.57954e+03_rb,0.84930e+03_rb,0.11210e+04_rb /) kbo(:, 3,34, 8) = (/ & & 0.10280e+04_rb,0.77967e+03_rb,0.57889e+03_rb,0.84836e+03_rb,0.11198e+04_rb /) kbo(:, 4,34, 8) = (/ & & 0.10280e+04_rb,0.77962e+03_rb,0.57808e+03_rb,0.84718e+03_rb,0.11184e+04_rb /) kbo(:, 5,34, 8) = (/ & & 0.10279e+04_rb,0.77958e+03_rb,0.57705e+03_rb,0.84582e+03_rb,0.11166e+04_rb /) kbo(:, 1,35, 8) = (/ & & 0.10279e+04_rb,0.77958e+03_rb,0.58001e+03_rb,0.84995e+03_rb,0.11218e+04_rb /) kbo(:, 2,35, 8) = (/ & & 0.10278e+04_rb,0.77953e+03_rb,0.57946e+03_rb,0.84916e+03_rb,0.11209e+04_rb /) kbo(:, 3,35, 8) = (/ & & 0.10278e+04_rb,0.77951e+03_rb,0.57880e+03_rb,0.84823e+03_rb,0.11196e+04_rb /) kbo(:, 4,35, 8) = (/ & & 0.10277e+04_rb,0.77946e+03_rb,0.57796e+03_rb,0.84701e+03_rb,0.11181e+04_rb /) kbo(:, 5,35, 8) = (/ & & 0.10277e+04_rb,0.77943e+03_rb,0.57689e+03_rb,0.84563e+03_rb,0.11163e+04_rb /) kbo(:, 1,36, 8) = (/ & & 0.10277e+04_rb,0.77944e+03_rb,0.58000e+03_rb,0.84992e+03_rb,0.11218e+04_rb /) kbo(:, 2,36, 8) = (/ & & 0.10277e+04_rb,0.77940e+03_rb,0.57944e+03_rb,0.84917e+03_rb,0.11208e+04_rb /) kbo(:, 3,36, 8) = (/ & & 0.10276e+04_rb,0.77936e+03_rb,0.57877e+03_rb,0.84819e+03_rb,0.11196e+04_rb /) kbo(:, 4,36, 8) = (/ & & 0.10276e+04_rb,0.77933e+03_rb,0.57793e+03_rb,0.84697e+03_rb,0.11181e+04_rb /) kbo(:, 5,36, 8) = (/ & & 0.10275e+04_rb,0.77931e+03_rb,0.57686e+03_rb,0.84561e+03_rb,0.11162e+04_rb /) kbo(:, 1,37, 8) = (/ & & 0.10275e+04_rb,0.77932e+03_rb,0.58006e+03_rb,0.85002e+03_rb,0.11219e+04_rb /) kbo(:, 2,37, 8) = (/ & & 0.10275e+04_rb,0.77929e+03_rb,0.57952e+03_rb,0.84927e+03_rb,0.11210e+04_rb /) kbo(:, 3,37, 8) = (/ & & 0.10275e+04_rb,0.77926e+03_rb,0.57886e+03_rb,0.84832e+03_rb,0.11198e+04_rb /) kbo(:, 4,37, 8) = (/ & & 0.10274e+04_rb,0.77924e+03_rb,0.57805e+03_rb,0.84715e+03_rb,0.11183e+04_rb /) kbo(:, 5,37, 8) = (/ & & 0.10274e+04_rb,0.77921e+03_rb,0.57701e+03_rb,0.84575e+03_rb,0.11165e+04_rb /) kbo(:, 1,38, 8) = (/ & & 0.10274e+04_rb,0.77922e+03_rb,0.58012e+03_rb,0.85009e+03_rb,0.11220e+04_rb /) kbo(:, 2,38, 8) = (/ & & 0.10274e+04_rb,0.77920e+03_rb,0.57959e+03_rb,0.84938e+03_rb,0.11211e+04_rb /) kbo(:, 3,38, 8) = (/ & & 0.10274e+04_rb,0.77918e+03_rb,0.57896e+03_rb,0.84848e+03_rb,0.11200e+04_rb /) kbo(:, 4,38, 8) = (/ & & 0.10273e+04_rb,0.77915e+03_rb,0.57818e+03_rb,0.84731e+03_rb,0.11185e+04_rb /) kbo(:, 5,38, 8) = (/ & & 0.10273e+04_rb,0.77912e+03_rb,0.57716e+03_rb,0.84599e+03_rb,0.11168e+04_rb /) kbo(:, 1,39, 8) = (/ & & 0.10273e+04_rb,0.77914e+03_rb,0.58018e+03_rb,0.85016e+03_rb,0.11221e+04_rb /) kbo(:, 2,39, 8) = (/ & & 0.10273e+04_rb,0.77912e+03_rb,0.57968e+03_rb,0.84939e+03_rb,0.11213e+04_rb /) kbo(:, 3,39, 8) = (/ & & 0.10273e+04_rb,0.77911e+03_rb,0.57905e+03_rb,0.84861e+03_rb,0.11201e+04_rb /) kbo(:, 4,39, 8) = (/ & & 0.10272e+04_rb,0.77910e+03_rb,0.57829e+03_rb,0.84750e+03_rb,0.11187e+04_rb /) kbo(:, 5,39, 8) = (/ & & 0.10272e+04_rb,0.77907e+03_rb,0.57732e+03_rb,0.84617e+03_rb,0.11171e+04_rb /) kbo(:, 1,40, 8) = (/ & & 0.10272e+04_rb,0.77908e+03_rb,0.58028e+03_rb,0.85029e+03_rb,0.11222e+04_rb /) kbo(:, 2,40, 8) = (/ & & 0.10272e+04_rb,0.77906e+03_rb,0.57981e+03_rb,0.84968e+03_rb,0.11215e+04_rb /) kbo(:, 3,40, 8) = (/ & & 0.10272e+04_rb,0.77904e+03_rb,0.57922e+03_rb,0.84885e+03_rb,0.11204e+04_rb /) kbo(:, 4,40, 8) = (/ & & 0.10272e+04_rb,0.77904e+03_rb,0.57849e+03_rb,0.84779e+03_rb,0.11191e+04_rb /) kbo(:, 5,40, 8) = (/ & & 0.10272e+04_rb,0.77901e+03_rb,0.57757e+03_rb,0.84651e+03_rb,0.11176e+04_rb /) kbo(:, 1,41, 8) = (/ & & 0.10272e+04_rb,0.77903e+03_rb,0.58037e+03_rb,0.85041e+03_rb,0.11224e+04_rb /) kbo(:, 2,41, 8) = (/ & & 0.10272e+04_rb,0.77902e+03_rb,0.57994e+03_rb,0.84983e+03_rb,0.11217e+04_rb /) kbo(:, 3,41, 8) = (/ & & 0.10271e+04_rb,0.77900e+03_rb,0.57937e+03_rb,0.84906e+03_rb,0.11207e+04_rb /) kbo(:, 4,41, 8) = (/ & & 0.10271e+04_rb,0.77898e+03_rb,0.57870e+03_rb,0.84808e+03_rb,0.11195e+04_rb /) kbo(:, 5,41, 8) = (/ & & 0.10271e+04_rb,0.77898e+03_rb,0.57782e+03_rb,0.84685e+03_rb,0.11180e+04_rb /) kbo(:, 1,42, 8) = (/ & & 0.10271e+04_rb,0.77900e+03_rb,0.58046e+03_rb,0.85051e+03_rb,0.11225e+04_rb /) kbo(:, 2,42, 8) = (/ & & 0.10271e+04_rb,0.77898e+03_rb,0.58006e+03_rb,0.85002e+03_rb,0.11219e+04_rb /) kbo(:, 3,42, 8) = (/ & & 0.10271e+04_rb,0.77896e+03_rb,0.57953e+03_rb,0.84930e+03_rb,0.11210e+04_rb /) kbo(:, 4,42, 8) = (/ & & 0.10271e+04_rb,0.77895e+03_rb,0.57888e+03_rb,0.84835e+03_rb,0.11198e+04_rb /) kbo(:, 5,42, 8) = (/ & & 0.10270e+04_rb,0.77894e+03_rb,0.57806e+03_rb,0.84718e+03_rb,0.11184e+04_rb /) kbo(:, 1,43, 8) = (/ & & 0.10271e+04_rb,0.77895e+03_rb,0.58056e+03_rb,0.85062e+03_rb,0.11226e+04_rb /) kbo(:, 2,43, 8) = (/ & & 0.10270e+04_rb,0.77895e+03_rb,0.58020e+03_rb,0.85017e+03_rb,0.11221e+04_rb /) kbo(:, 3,43, 8) = (/ & & 0.10270e+04_rb,0.77892e+03_rb,0.57970e+03_rb,0.84954e+03_rb,0.11213e+04_rb /) kbo(:, 4,43, 8) = (/ & & 0.10270e+04_rb,0.77892e+03_rb,0.57909e+03_rb,0.84866e+03_rb,0.11202e+04_rb /) kbo(:, 5,43, 8) = (/ & & 0.10270e+04_rb,0.77891e+03_rb,0.57834e+03_rb,0.84756e+03_rb,0.11188e+04_rb /) kbo(:, 1,44, 8) = (/ & & 0.10270e+04_rb,0.77892e+03_rb,0.58064e+03_rb,0.85071e+03_rb,0.11226e+04_rb /) kbo(:, 2,44, 8) = (/ & & 0.10270e+04_rb,0.77891e+03_rb,0.58034e+03_rb,0.85036e+03_rb,0.11223e+04_rb /) kbo(:, 3,44, 8) = (/ & & 0.10270e+04_rb,0.77891e+03_rb,0.57988e+03_rb,0.84979e+03_rb,0.11216e+04_rb /) kbo(:, 4,44, 8) = (/ & & 0.10270e+04_rb,0.77890e+03_rb,0.57931e+03_rb,0.84899e+03_rb,0.11206e+04_rb /) kbo(:, 5,44, 8) = (/ & & 0.10270e+04_rb,0.77888e+03_rb,0.57861e+03_rb,0.84797e+03_rb,0.11193e+04_rb /) kbo(:, 1,45, 8) = (/ & & 0.10270e+04_rb,0.77889e+03_rb,0.58069e+03_rb,0.85078e+03_rb,0.11227e+04_rb /) kbo(:, 2,45, 8) = (/ & & 0.10270e+04_rb,0.77888e+03_rb,0.58047e+03_rb,0.85051e+03_rb,0.11224e+04_rb /) kbo(:, 3,45, 8) = (/ & & 0.10270e+04_rb,0.77888e+03_rb,0.58005e+03_rb,0.84999e+03_rb,0.11219e+04_rb /) kbo(:, 4,45, 8) = (/ & & 0.10270e+04_rb,0.77888e+03_rb,0.57952e+03_rb,0.84927e+03_rb,0.11210e+04_rb /) kbo(:, 5,45, 8) = (/ & & 0.10269e+04_rb,0.77886e+03_rb,0.57890e+03_rb,0.84837e+03_rb,0.11198e+04_rb /) kbo(:, 1,46, 8) = (/ & & 0.10270e+04_rb,0.77887e+03_rb,0.58072e+03_rb,0.85082e+03_rb,0.11227e+04_rb /) kbo(:, 2,46, 8) = (/ & & 0.10270e+04_rb,0.77886e+03_rb,0.58056e+03_rb,0.85063e+03_rb,0.11226e+04_rb /) kbo(:, 3,46, 8) = (/ & & 0.10269e+04_rb,0.77886e+03_rb,0.58022e+03_rb,0.85021e+03_rb,0.11221e+04_rb /) kbo(:, 4,46, 8) = (/ & & 0.10270e+04_rb,0.77885e+03_rb,0.57972e+03_rb,0.84957e+03_rb,0.11213e+04_rb /) kbo(:, 5,46, 8) = (/ & & 0.10269e+04_rb,0.77884e+03_rb,0.57911e+03_rb,0.84871e+03_rb,0.11203e+04_rb /) kbo(:, 1,47, 8) = (/ & & 0.10269e+04_rb,0.77885e+03_rb,0.58070e+03_rb,0.85086e+03_rb,0.11227e+04_rb /) kbo(:, 2,47, 8) = (/ & & 0.10269e+04_rb,0.77886e+03_rb,0.58066e+03_rb,0.85073e+03_rb,0.11227e+04_rb /) kbo(:, 3,47, 8) = (/ & & 0.10269e+04_rb,0.77885e+03_rb,0.58037e+03_rb,0.85041e+03_rb,0.11223e+04_rb /) kbo(:, 4,47, 8) = (/ & & 0.10269e+04_rb,0.77884e+03_rb,0.57993e+03_rb,0.84985e+03_rb,0.11217e+04_rb /) kbo(:, 5,47, 8) = (/ & & 0.10269e+04_rb,0.77883e+03_rb,0.57937e+03_rb,0.84903e+03_rb,0.11207e+04_rb /) kbo(:, 1,48, 8) = (/ & & 0.10269e+04_rb,0.77884e+03_rb,0.58064e+03_rb,0.85086e+03_rb,0.11226e+04_rb /) kbo(:, 2,48, 8) = (/ & & 0.10269e+04_rb,0.77883e+03_rb,0.58071e+03_rb,0.85080e+03_rb,0.11227e+04_rb /) kbo(:, 3,48, 8) = (/ & & 0.10269e+04_rb,0.77883e+03_rb,0.58051e+03_rb,0.85055e+03_rb,0.11225e+04_rb /) kbo(:, 4,48, 8) = (/ & & 0.10269e+04_rb,0.77883e+03_rb,0.58013e+03_rb,0.85010e+03_rb,0.11220e+04_rb /) kbo(:, 5,48, 8) = (/ & & 0.10269e+04_rb,0.77883e+03_rb,0.57961e+03_rb,0.84941e+03_rb,0.11212e+04_rb /) kbo(:, 1,49, 8) = (/ & & 0.10269e+04_rb,0.77884e+03_rb,0.58054e+03_rb,0.85082e+03_rb,0.11225e+04_rb /) kbo(:, 2,49, 8) = (/ & & 0.10269e+04_rb,0.77882e+03_rb,0.58072e+03_rb,0.85085e+03_rb,0.11227e+04_rb /) kbo(:, 3,49, 8) = (/ & & 0.10269e+04_rb,0.77883e+03_rb,0.58061e+03_rb,0.85068e+03_rb,0.11226e+04_rb /) kbo(:, 4,49, 8) = (/ & & 0.10269e+04_rb,0.77882e+03_rb,0.58029e+03_rb,0.85032e+03_rb,0.11222e+04_rb /) kbo(:, 5,49, 8) = (/ & & 0.10269e+04_rb,0.77881e+03_rb,0.57983e+03_rb,0.84969e+03_rb,0.11215e+04_rb /) kbo(:, 1,50, 8) = (/ & & 0.10269e+04_rb,0.77883e+03_rb,0.58042e+03_rb,0.85074e+03_rb,0.11224e+04_rb /) kbo(:, 2,50, 8) = (/ & & 0.10269e+04_rb,0.77881e+03_rb,0.58068e+03_rb,0.85085e+03_rb,0.11226e+04_rb /) kbo(:, 3,50, 8) = (/ & & 0.10269e+04_rb,0.77882e+03_rb,0.58069e+03_rb,0.85077e+03_rb,0.11227e+04_rb /) kbo(:, 4,50, 8) = (/ & & 0.10269e+04_rb,0.77880e+03_rb,0.58043e+03_rb,0.85048e+03_rb,0.11224e+04_rb /) kbo(:, 5,50, 8) = (/ & & 0.10269e+04_rb,0.77880e+03_rb,0.58002e+03_rb,0.84997e+03_rb,0.11218e+04_rb /) kbo(:, 1,51, 8) = (/ & & 0.10269e+04_rb,0.77881e+03_rb,0.58027e+03_rb,0.85064e+03_rb,0.11224e+04_rb /) kbo(:, 2,51, 8) = (/ & & 0.10269e+04_rb,0.77882e+03_rb,0.58061e+03_rb,0.85085e+03_rb,0.11226e+04_rb /) kbo(:, 3,51, 8) = (/ & & 0.10269e+04_rb,0.77880e+03_rb,0.58071e+03_rb,0.85082e+03_rb,0.11227e+04_rb /) kbo(:, 4,51, 8) = (/ & & 0.10269e+04_rb,0.77880e+03_rb,0.58055e+03_rb,0.85061e+03_rb,0.11226e+04_rb /) kbo(:, 5,51, 8) = (/ & & 0.10269e+04_rb,0.77881e+03_rb,0.58020e+03_rb,0.85015e+03_rb,0.11221e+04_rb /) kbo(:, 1,52, 8) = (/ & & 0.10269e+04_rb,0.77880e+03_rb,0.58011e+03_rb,0.85051e+03_rb,0.11222e+04_rb /) kbo(:, 2,52, 8) = (/ & & 0.10269e+04_rb,0.77880e+03_rb,0.58051e+03_rb,0.85080e+03_rb,0.11225e+04_rb /) kbo(:, 3,52, 8) = (/ & & 0.10269e+04_rb,0.77880e+03_rb,0.58071e+03_rb,0.85085e+03_rb,0.11227e+04_rb /) kbo(:, 4,52, 8) = (/ & & 0.10268e+04_rb,0.77879e+03_rb,0.58064e+03_rb,0.85068e+03_rb,0.11226e+04_rb /) kbo(:, 5,52, 8) = (/ & & 0.10268e+04_rb,0.77879e+03_rb,0.58034e+03_rb,0.85037e+03_rb,0.11223e+04_rb /) kbo(:, 1,53, 8) = (/ & & 0.10269e+04_rb,0.77880e+03_rb,0.57994e+03_rb,0.85036e+03_rb,0.11220e+04_rb /) kbo(:, 2,53, 8) = (/ & & 0.10269e+04_rb,0.77879e+03_rb,0.58038e+03_rb,0.85072e+03_rb,0.11224e+04_rb /) kbo(:, 3,53, 8) = (/ & & 0.10268e+04_rb,0.77879e+03_rb,0.58066e+03_rb,0.85087e+03_rb,0.11226e+04_rb /) kbo(:, 4,53, 8) = (/ & & 0.10269e+04_rb,0.77880e+03_rb,0.58069e+03_rb,0.85078e+03_rb,0.11227e+04_rb /) kbo(:, 5,53, 8) = (/ & & 0.10268e+04_rb,0.77878e+03_rb,0.58047e+03_rb,0.85044e+03_rb,0.11225e+04_rb /) kbo(:, 1,54, 8) = (/ & & 0.10268e+04_rb,0.77879e+03_rb,0.57977e+03_rb,0.85022e+03_rb,0.11219e+04_rb /) kbo(:, 2,54, 8) = (/ & & 0.10269e+04_rb,0.77879e+03_rb,0.58026e+03_rb,0.85061e+03_rb,0.11223e+04_rb /) kbo(:, 3,54, 8) = (/ & & 0.10268e+04_rb,0.77881e+03_rb,0.58060e+03_rb,0.85084e+03_rb,0.11226e+04_rb /) kbo(:, 4,54, 8) = (/ & & 0.10268e+04_rb,0.77879e+03_rb,0.58072e+03_rb,0.85083e+03_rb,0.11227e+04_rb /) kbo(:, 5,54, 8) = (/ & & 0.10268e+04_rb,0.77878e+03_rb,0.58058e+03_rb,0.85063e+03_rb,0.11226e+04_rb /) kbo(:, 1,55, 8) = (/ & & 0.10268e+04_rb,0.77879e+03_rb,0.57962e+03_rb,0.85008e+03_rb,0.11217e+04_rb /) kbo(:, 2,55, 8) = (/ & & 0.10268e+04_rb,0.77878e+03_rb,0.58011e+03_rb,0.85050e+03_rb,0.11222e+04_rb /) kbo(:, 3,55, 8) = (/ & & 0.10268e+04_rb,0.77879e+03_rb,0.58050e+03_rb,0.85080e+03_rb,0.11225e+04_rb /) kbo(:, 4,55, 8) = (/ & & 0.10268e+04_rb,0.77880e+03_rb,0.58071e+03_rb,0.85085e+03_rb,0.11226e+04_rb /) kbo(:, 5,55, 8) = (/ & & 0.10268e+04_rb,0.77878e+03_rb,0.58064e+03_rb,0.85072e+03_rb,0.11226e+04_rb /) kbo(:, 1,56, 8) = (/ & & 0.10268e+04_rb,0.77878e+03_rb,0.57945e+03_rb,0.84993e+03_rb,0.11216e+04_rb /) kbo(:, 2,56, 8) = (/ & & 0.10268e+04_rb,0.77877e+03_rb,0.57995e+03_rb,0.85037e+03_rb,0.11220e+04_rb /) kbo(:, 3,56, 8) = (/ & & 0.10268e+04_rb,0.77877e+03_rb,0.58039e+03_rb,0.85071e+03_rb,0.11224e+04_rb /) kbo(:, 4,56, 8) = (/ & & 0.10268e+04_rb,0.77878e+03_rb,0.58067e+03_rb,0.85086e+03_rb,0.11226e+04_rb /) kbo(:, 5,56, 8) = (/ & & 0.10268e+04_rb,0.77878e+03_rb,0.58069e+03_rb,0.85078e+03_rb,0.11227e+04_rb /) kbo(:, 1,57, 8) = (/ & & 0.10268e+04_rb,0.77879e+03_rb,0.57927e+03_rb,0.84978e+03_rb,0.11215e+04_rb /) kbo(:, 2,57, 8) = (/ & & 0.10268e+04_rb,0.77878e+03_rb,0.57979e+03_rb,0.85024e+03_rb,0.11219e+04_rb /) kbo(:, 3,57, 8) = (/ & & 0.10268e+04_rb,0.77878e+03_rb,0.58025e+03_rb,0.85063e+03_rb,0.11223e+04_rb /) kbo(:, 4,57, 8) = (/ & & 0.10268e+04_rb,0.77878e+03_rb,0.58060e+03_rb,0.85084e+03_rb,0.11226e+04_rb /) kbo(:, 5,57, 8) = (/ & & 0.10268e+04_rb,0.77878e+03_rb,0.58071e+03_rb,0.85083e+03_rb,0.11227e+04_rb /) kbo(:, 1,58, 8) = (/ & & 0.10268e+04_rb,0.77878e+03_rb,0.57911e+03_rb,0.84962e+03_rb,0.11212e+04_rb /) kbo(:, 2,58, 8) = (/ & & 0.10268e+04_rb,0.77878e+03_rb,0.57964e+03_rb,0.85010e+03_rb,0.11218e+04_rb /) kbo(:, 3,58, 8) = (/ & & 0.10268e+04_rb,0.77877e+03_rb,0.58013e+03_rb,0.85053e+03_rb,0.11222e+04_rb /) kbo(:, 4,58, 8) = (/ & & 0.10268e+04_rb,0.77877e+03_rb,0.58052e+03_rb,0.85080e+03_rb,0.11225e+04_rb /) kbo(:, 5,58, 8) = (/ & & 0.10268e+04_rb,0.77879e+03_rb,0.58071e+03_rb,0.85085e+03_rb,0.11227e+04_rb /) kbo(:, 1,59, 8) = (/ & & 0.10268e+04_rb,0.77878e+03_rb,0.57904e+03_rb,0.84955e+03_rb,0.11212e+04_rb /) kbo(:, 2,59, 8) = (/ & & 0.10268e+04_rb,0.77877e+03_rb,0.57958e+03_rb,0.85006e+03_rb,0.11217e+04_rb /) kbo(:, 3,59, 8) = (/ & & 0.10268e+04_rb,0.77877e+03_rb,0.58007e+03_rb,0.85048e+03_rb,0.11222e+04_rb /) kbo(:, 4,59, 8) = (/ & & 0.10268e+04_rb,0.77878e+03_rb,0.58048e+03_rb,0.85078e+03_rb,0.11225e+04_rb /) kbo(:, 5,59, 8) = (/ & & 0.10268e+04_rb,0.77877e+03_rb,0.58070e+03_rb,0.85086e+03_rb,0.11227e+04_rb /) kbo(:, 1,13, 9) = (/ & & 0.11533e+04_rb,0.87327e+03_rb,0.59473e+03_rb,0.87046e+03_rb,0.11487e+04_rb /) kbo(:, 2,13, 9) = (/ & & 0.11444e+04_rb,0.86660e+03_rb,0.59240e+03_rb,0.87005e+03_rb,0.11483e+04_rb /) kbo(:, 3,13, 9) = (/ & & 0.11367e+04_rb,0.86090e+03_rb,0.59185e+03_rb,0.86950e+03_rb,0.11478e+04_rb /) kbo(:, 4,13, 9) = (/ & & 0.11301e+04_rb,0.85587e+03_rb,0.59143e+03_rb,0.86883e+03_rb,0.11469e+04_rb /) kbo(:, 5,13, 9) = (/ & & 0.11242e+04_rb,0.85148e+03_rb,0.59084e+03_rb,0.86797e+03_rb,0.11458e+04_rb /) kbo(:, 1,14, 9) = (/ & & 0.11310e+04_rb,0.85656e+03_rb,0.59238e+03_rb,0.87026e+03_rb,0.11487e+04_rb /) kbo(:, 2,14, 9) = (/ & & 0.11238e+04_rb,0.85118e+03_rb,0.59190e+03_rb,0.86988e+03_rb,0.11483e+04_rb /) kbo(:, 3,14, 9) = (/ & & 0.11176e+04_rb,0.84654e+03_rb,0.59149e+03_rb,0.86931e+03_rb,0.11477e+04_rb /) kbo(:, 4,14, 9) = (/ & & 0.11122e+04_rb,0.84248e+03_rb,0.59105e+03_rb,0.86863e+03_rb,0.11468e+04_rb /) kbo(:, 5,14, 9) = (/ & & 0.11074e+04_rb,0.83890e+03_rb,0.59046e+03_rb,0.86777e+03_rb,0.11457e+04_rb /) kbo(:, 1,15, 9) = (/ & & 0.11128e+04_rb,0.84292e+03_rb,0.59202e+03_rb,0.87009e+03_rb,0.11486e+04_rb /) kbo(:, 2,15, 9) = (/ & & 0.11070e+04_rb,0.83857e+03_rb,0.59157e+03_rb,0.86969e+03_rb,0.11482e+04_rb /) kbo(:, 3,15, 9) = (/ & & 0.11020e+04_rb,0.83480e+03_rb,0.59118e+03_rb,0.86913e+03_rb,0.11476e+04_rb /) kbo(:, 4,15, 9) = (/ & & 0.10976e+04_rb,0.83151e+03_rb,0.59076e+03_rb,0.86843e+03_rb,0.11467e+04_rb /) kbo(:, 5,15, 9) = (/ & & 0.10938e+04_rb,0.82865e+03_rb,0.59015e+03_rb,0.86756e+03_rb,0.11457e+04_rb /) kbo(:, 1,16, 9) = (/ & & 0.10980e+04_rb,0.83182e+03_rb,0.59172e+03_rb,0.86994e+03_rb,0.11486e+04_rb /) kbo(:, 2,16, 9) = (/ & & 0.10933e+04_rb,0.82831e+03_rb,0.59129e+03_rb,0.86966e+03_rb,0.11482e+04_rb /) kbo(:, 3,16, 9) = (/ & & 0.10893e+04_rb,0.82527e+03_rb,0.59092e+03_rb,0.86898e+03_rb,0.11475e+04_rb /) kbo(:, 4,16, 9) = (/ & & 0.10858e+04_rb,0.82261e+03_rb,0.59049e+03_rb,0.86826e+03_rb,0.11466e+04_rb /) kbo(:, 5,16, 9) = (/ & & 0.10827e+04_rb,0.82037e+03_rb,0.58989e+03_rb,0.86738e+03_rb,0.11455e+04_rb /) kbo(:, 1,17, 9) = (/ & & 0.10860e+04_rb,0.82280e+03_rb,0.59147e+03_rb,0.86983e+03_rb,0.11485e+04_rb /) kbo(:, 2,17, 9) = (/ & & 0.10822e+04_rb,0.81997e+03_rb,0.59107e+03_rb,0.86941e+03_rb,0.11481e+04_rb /) kbo(:, 3,17, 9) = (/ & & 0.10790e+04_rb,0.81753e+03_rb,0.59070e+03_rb,0.86883e+03_rb,0.11474e+04_rb /) kbo(:, 4,17, 9) = (/ & & 0.10761e+04_rb,0.81539e+03_rb,0.59027e+03_rb,0.86811e+03_rb,0.11465e+04_rb /) kbo(:, 5,17, 9) = (/ & & 0.10736e+04_rb,0.81353e+03_rb,0.58965e+03_rb,0.86721e+03_rb,0.11454e+04_rb /) kbo(:, 1,18, 9) = (/ & & 0.10762e+04_rb,0.81555e+03_rb,0.59126e+03_rb,0.86969e+03_rb,0.11485e+04_rb /) kbo(:, 2,18, 9) = (/ & & 0.10732e+04_rb,0.81322e+03_rb,0.59088e+03_rb,0.86928e+03_rb,0.11481e+04_rb /) kbo(:, 3,18, 9) = (/ & & 0.10706e+04_rb,0.81128e+03_rb,0.59052e+03_rb,0.86870e+03_rb,0.11474e+04_rb /) kbo(:, 4,18, 9) = (/ & & 0.10683e+04_rb,0.80956e+03_rb,0.59008e+03_rb,0.86800e+03_rb,0.11464e+04_rb /) kbo(:, 5,18, 9) = (/ & & 0.10663e+04_rb,0.80808e+03_rb,0.58945e+03_rb,0.86705e+03_rb,0.11452e+04_rb /) kbo(:, 1,19, 9) = (/ & & 0.10684e+04_rb,0.80963e+03_rb,0.59108e+03_rb,0.86962e+03_rb,0.11485e+04_rb /) kbo(:, 2,19, 9) = (/ & & 0.10659e+04_rb,0.80774e+03_rb,0.59072e+03_rb,0.86917e+03_rb,0.11480e+04_rb /) kbo(:, 3,19, 9) = (/ & & 0.10638e+04_rb,0.80613e+03_rb,0.59038e+03_rb,0.86858e+03_rb,0.11473e+04_rb /) kbo(:, 4,19, 9) = (/ & & 0.10619e+04_rb,0.80481e+03_rb,0.58991e+03_rb,0.86784e+03_rb,0.11463e+04_rb /) kbo(:, 5,19, 9) = (/ & & 0.10603e+04_rb,0.80353e+03_rb,0.58926e+03_rb,0.86690e+03_rb,0.11451e+04_rb /) kbo(:, 1,20, 9) = (/ & & 0.10619e+04_rb,0.80474e+03_rb,0.59092e+03_rb,0.86952e+03_rb,0.11484e+04_rb /) kbo(:, 2,20, 9) = (/ & & 0.10599e+04_rb,0.80326e+03_rb,0.59057e+03_rb,0.86907e+03_rb,0.11479e+04_rb /) kbo(:, 3,20, 9) = (/ & & 0.10582e+04_rb,0.80198e+03_rb,0.59022e+03_rb,0.86845e+03_rb,0.11472e+04_rb /) kbo(:, 4,20, 9) = (/ & & 0.10567e+04_rb,0.80089e+03_rb,0.58976e+03_rb,0.86771e+03_rb,0.11462e+04_rb /) kbo(:, 5,20, 9) = (/ & & 0.10554e+04_rb,0.79986e+03_rb,0.58910e+03_rb,0.86674e+03_rb,0.11449e+04_rb /) kbo(:, 1,21, 9) = (/ & & 0.10567e+04_rb,0.80080e+03_rb,0.59079e+03_rb,0.86945e+03_rb,0.11483e+04_rb /) kbo(:, 2,21, 9) = (/ & & 0.10550e+04_rb,0.79960e+03_rb,0.59045e+03_rb,0.86897e+03_rb,0.11478e+04_rb /) kbo(:, 3,21, 9) = (/ & & 0.10537e+04_rb,0.79858e+03_rb,0.59010e+03_rb,0.86836e+03_rb,0.11471e+04_rb /) kbo(:, 4,21, 9) = (/ & & 0.10525e+04_rb,0.79770e+03_rb,0.58962e+03_rb,0.86752e+03_rb,0.11460e+04_rb /) kbo(:, 5,21, 9) = (/ & & 0.10514e+04_rb,0.79685e+03_rb,0.58893e+03_rb,0.86654e+03_rb,0.11447e+04_rb /) kbo(:, 1,22, 9) = (/ & & 0.10523e+04_rb,0.79754e+03_rb,0.59066e+03_rb,0.86933e+03_rb,0.11483e+04_rb /) kbo(:, 2,22, 9) = (/ & & 0.10510e+04_rb,0.79661e+03_rb,0.59033e+03_rb,0.86884e+03_rb,0.11477e+04_rb /) kbo(:, 3,22, 9) = (/ & & 0.10500e+04_rb,0.79577e+03_rb,0.58997e+03_rb,0.86819e+03_rb,0.11469e+04_rb /) kbo(:, 4,22, 9) = (/ & & 0.10490e+04_rb,0.79506e+03_rb,0.58945e+03_rb,0.86737e+03_rb,0.11458e+04_rb /) kbo(:, 5,22, 9) = (/ & & 0.10482e+04_rb,0.79443e+03_rb,0.58872e+03_rb,0.86635e+03_rb,0.11444e+04_rb /) kbo(:, 1,23, 9) = (/ & & 0.10488e+04_rb,0.79491e+03_rb,0.59053e+03_rb,0.86922e+03_rb,0.11482e+04_rb /) kbo(:, 2,23, 9) = (/ & & 0.10478e+04_rb,0.79417e+03_rb,0.59023e+03_rb,0.86872e+03_rb,0.11476e+04_rb /) kbo(:, 3,23, 9) = (/ & & 0.10469e+04_rb,0.79351e+03_rb,0.58983e+03_rb,0.86802e+03_rb,0.11467e+04_rb /) kbo(:, 4,23, 9) = (/ & & 0.10461e+04_rb,0.79293e+03_rb,0.58929e+03_rb,0.86717e+03_rb,0.11456e+04_rb /) kbo(:, 5,23, 9) = (/ & & 0.10455e+04_rb,0.79241e+03_rb,0.58851e+03_rb,0.86610e+03_rb,0.11442e+04_rb /) kbo(:, 1,24, 9) = (/ & & 0.10460e+04_rb,0.79285e+03_rb,0.59042e+03_rb,0.86910e+03_rb,0.11481e+04_rb /) kbo(:, 2,24, 9) = (/ & & 0.10452e+04_rb,0.79220e+03_rb,0.59009e+03_rb,0.86856e+03_rb,0.11474e+04_rb /) kbo(:, 3,24, 9) = (/ & & 0.10445e+04_rb,0.79170e+03_rb,0.58968e+03_rb,0.86785e+03_rb,0.11465e+04_rb /) kbo(:, 4,24, 9) = (/ & & 0.10439e+04_rb,0.79123e+03_rb,0.58911e+03_rb,0.86698e+03_rb,0.11453e+04_rb /) kbo(:, 5,24, 9) = (/ & & 0.10433e+04_rb,0.79086e+03_rb,0.58830e+03_rb,0.86584e+03_rb,0.11439e+04_rb /) kbo(:, 1,25, 9) = (/ & & 0.10438e+04_rb,0.79109e+03_rb,0.59032e+03_rb,0.86899e+03_rb,0.11480e+04_rb /) kbo(:, 2,25, 9) = (/ & & 0.10430e+04_rb,0.79059e+03_rb,0.58999e+03_rb,0.86841e+03_rb,0.11473e+04_rb /) kbo(:, 3,25, 9) = (/ & & 0.10425e+04_rb,0.79018e+03_rb,0.58955e+03_rb,0.86768e+03_rb,0.11463e+04_rb /) kbo(:, 4,25, 9) = (/ & & 0.10420e+04_rb,0.78985e+03_rb,0.58893e+03_rb,0.86674e+03_rb,0.11450e+04_rb /) kbo(:, 5,25, 9) = (/ & & 0.10416e+04_rb,0.78947e+03_rb,0.58810e+03_rb,0.86557e+03_rb,0.11436e+04_rb /) kbo(:, 1,26, 9) = (/ & & 0.10418e+04_rb,0.78966e+03_rb,0.59022e+03_rb,0.86886e+03_rb,0.11478e+04_rb /) kbo(:, 2,26, 9) = (/ & & 0.10414e+04_rb,0.78932e+03_rb,0.58989e+03_rb,0.86824e+03_rb,0.11471e+04_rb /) kbo(:, 3,26, 9) = (/ & & 0.10409e+04_rb,0.78898e+03_rb,0.58940e+03_rb,0.86743e+03_rb,0.11460e+04_rb /) kbo(:, 4,26, 9) = (/ & & 0.10405e+04_rb,0.78870e+03_rb,0.58873e+03_rb,0.86647e+03_rb,0.11447e+04_rb /) kbo(:, 5,26, 9) = (/ & & 0.10401e+04_rb,0.78842e+03_rb,0.58782e+03_rb,0.86527e+03_rb,0.11432e+04_rb /) kbo(:, 1,27, 9) = (/ & & 0.10403e+04_rb,0.78855e+03_rb,0.59012e+03_rb,0.86872e+03_rb,0.11477e+04_rb /) kbo(:, 2,27, 9) = (/ & & 0.10399e+04_rb,0.78827e+03_rb,0.58977e+03_rb,0.86806e+03_rb,0.11468e+04_rb /) kbo(:, 3,27, 9) = (/ & & 0.10396e+04_rb,0.78799e+03_rb,0.58924e+03_rb,0.86723e+03_rb,0.11458e+04_rb /) kbo(:, 4,27, 9) = (/ & & 0.10392e+04_rb,0.78776e+03_rb,0.58850e+03_rb,0.86619e+03_rb,0.11444e+04_rb /) kbo(:, 5,27, 9) = (/ & & 0.10390e+04_rb,0.78757e+03_rb,0.58756e+03_rb,0.86495e+03_rb,0.11428e+04_rb /) kbo(:, 1,28, 9) = (/ & & 0.10391e+04_rb,0.78770e+03_rb,0.59002e+03_rb,0.86856e+03_rb,0.11475e+04_rb /) kbo(:, 2,28, 9) = (/ & & 0.10388e+04_rb,0.78747e+03_rb,0.58964e+03_rb,0.86790e+03_rb,0.11466e+04_rb /) kbo(:, 3,28, 9) = (/ & & 0.10385e+04_rb,0.78719e+03_rb,0.58908e+03_rb,0.86701e+03_rb,0.11455e+04_rb /) kbo(:, 4,28, 9) = (/ & & 0.10383e+04_rb,0.78704e+03_rb,0.58829e+03_rb,0.86590e+03_rb,0.11440e+04_rb /) kbo(:, 5,28, 9) = (/ & & 0.10381e+04_rb,0.78687e+03_rb,0.58729e+03_rb,0.86461e+03_rb,0.11423e+04_rb /) kbo(:, 1,29, 9) = (/ & & 0.10382e+04_rb,0.78694e+03_rb,0.58994e+03_rb,0.86841e+03_rb,0.11473e+04_rb /) kbo(:, 2,29, 9) = (/ & & 0.10379e+04_rb,0.78677e+03_rb,0.58950e+03_rb,0.86767e+03_rb,0.11463e+04_rb /) kbo(:, 3,29, 9) = (/ & & 0.10377e+04_rb,0.78658e+03_rb,0.58888e+03_rb,0.86674e+03_rb,0.11451e+04_rb /) kbo(:, 4,29, 9) = (/ & & 0.10375e+04_rb,0.78645e+03_rb,0.58805e+03_rb,0.86559e+03_rb,0.11436e+04_rb /) kbo(:, 5,29, 9) = (/ & & 0.10374e+04_rb,0.78628e+03_rb,0.58702e+03_rb,0.86429e+03_rb,0.11419e+04_rb /) kbo(:, 1,30, 9) = (/ & & 0.10373e+04_rb,0.78632e+03_rb,0.58983e+03_rb,0.86822e+03_rb,0.11471e+04_rb /) kbo(:, 2,30, 9) = (/ & & 0.10371e+04_rb,0.78619e+03_rb,0.58935e+03_rb,0.86746e+03_rb,0.11460e+04_rb /) kbo(:, 3,30, 9) = (/ & & 0.10370e+04_rb,0.78613e+03_rb,0.58869e+03_rb,0.86647e+03_rb,0.11448e+04_rb /) kbo(:, 4,30, 9) = (/ & & 0.10369e+04_rb,0.78594e+03_rb,0.58779e+03_rb,0.86529e+03_rb,0.11432e+04_rb /) kbo(:, 5,30, 9) = (/ & & 0.10367e+04_rb,0.78585e+03_rb,0.58673e+03_rb,0.86393e+03_rb,0.11414e+04_rb /) kbo(:, 1,31, 9) = (/ & & 0.10367e+04_rb,0.78588e+03_rb,0.58971e+03_rb,0.86804e+03_rb,0.11468e+04_rb /) kbo(:, 2,31, 9) = (/ & & 0.10365e+04_rb,0.78574e+03_rb,0.58919e+03_rb,0.86720e+03_rb,0.11457e+04_rb /) kbo(:, 3,31, 9) = (/ & & 0.10364e+04_rb,0.78562e+03_rb,0.58847e+03_rb,0.86618e+03_rb,0.11443e+04_rb /) kbo(:, 4,31, 9) = (/ & & 0.10363e+04_rb,0.78557e+03_rb,0.58752e+03_rb,0.86495e+03_rb,0.11427e+04_rb /) kbo(:, 5,31, 9) = (/ & & 0.10362e+04_rb,0.78546e+03_rb,0.58644e+03_rb,0.86356e+03_rb,0.11409e+04_rb /) kbo(:, 1,32, 9) = (/ & & 0.10362e+04_rb,0.78556e+03_rb,0.58958e+03_rb,0.86784e+03_rb,0.11466e+04_rb /) kbo(:, 2,32, 9) = (/ & & 0.10361e+04_rb,0.78539e+03_rb,0.58901e+03_rb,0.86697e+03_rb,0.11454e+04_rb /) kbo(:, 3,32, 9) = (/ & & 0.10360e+04_rb,0.78539e+03_rb,0.58824e+03_rb,0.86587e+03_rb,0.11440e+04_rb /) kbo(:, 4,32, 9) = (/ & & 0.10359e+04_rb,0.78525e+03_rb,0.58724e+03_rb,0.86459e+03_rb,0.11423e+04_rb /) kbo(:, 5,32, 9) = (/ & & 0.10358e+04_rb,0.78516e+03_rb,0.58615e+03_rb,0.86318e+03_rb,0.11404e+04_rb /) kbo(:, 1,33, 9) = (/ & & 0.10358e+04_rb,0.78520e+03_rb,0.58945e+03_rb,0.86763e+03_rb,0.11463e+04_rb /) kbo(:, 2,33, 9) = (/ & & 0.10357e+04_rb,0.78510e+03_rb,0.58883e+03_rb,0.86670e+03_rb,0.11450e+04_rb /) kbo(:, 3,33, 9) = (/ & & 0.10356e+04_rb,0.78504e+03_rb,0.58799e+03_rb,0.86554e+03_rb,0.11435e+04_rb /) kbo(:, 4,33, 9) = (/ & & 0.10356e+04_rb,0.78500e+03_rb,0.58695e+03_rb,0.86422e+03_rb,0.11418e+04_rb /) kbo(:, 5,33, 9) = (/ & & 0.10355e+04_rb,0.78493e+03_rb,0.58586e+03_rb,0.86281e+03_rb,0.11399e+04_rb /) kbo(:, 1,34, 9) = (/ & & 0.10355e+04_rb,0.78495e+03_rb,0.58932e+03_rb,0.86743e+03_rb,0.11460e+04_rb /) kbo(:, 2,34, 9) = (/ & & 0.10354e+04_rb,0.78487e+03_rb,0.58865e+03_rb,0.86644e+03_rb,0.11447e+04_rb /) kbo(:, 3,34, 9) = (/ & & 0.10354e+04_rb,0.78485e+03_rb,0.58776e+03_rb,0.86524e+03_rb,0.11432e+04_rb /) kbo(:, 4,34, 9) = (/ & & 0.10353e+04_rb,0.78479e+03_rb,0.58670e+03_rb,0.86390e+03_rb,0.11414e+04_rb /) kbo(:, 5,34, 9) = (/ & & 0.10352e+04_rb,0.78474e+03_rb,0.58560e+03_rb,0.86249e+03_rb,0.11395e+04_rb /) kbo(:, 1,35, 9) = (/ & & 0.10352e+04_rb,0.78478e+03_rb,0.58924e+03_rb,0.86731e+03_rb,0.11459e+04_rb /) kbo(:, 2,35, 9) = (/ & & 0.10352e+04_rb,0.78472e+03_rb,0.58855e+03_rb,0.86632e+03_rb,0.11445e+04_rb /) kbo(:, 3,35, 9) = (/ & & 0.10351e+04_rb,0.78465e+03_rb,0.58761e+03_rb,0.86508e+03_rb,0.11430e+04_rb /) kbo(:, 4,35, 9) = (/ & & 0.10350e+04_rb,0.78465e+03_rb,0.58655e+03_rb,0.86369e+03_rb,0.11412e+04_rb /) kbo(:, 5,35, 9) = (/ & & 0.10350e+04_rb,0.78456e+03_rb,0.58545e+03_rb,0.86237e+03_rb,0.11393e+04_rb /) kbo(:, 1,36, 9) = (/ & & 0.10350e+04_rb,0.78465e+03_rb,0.58922e+03_rb,0.86729e+03_rb,0.11458e+04_rb /) kbo(:, 2,36, 9) = (/ & & 0.10350e+04_rb,0.78456e+03_rb,0.58852e+03_rb,0.86627e+03_rb,0.11445e+04_rb /) kbo(:, 3,36, 9) = (/ & & 0.10350e+04_rb,0.78452e+03_rb,0.58759e+03_rb,0.86505e+03_rb,0.11429e+04_rb /) kbo(:, 4,36, 9) = (/ & & 0.10349e+04_rb,0.78450e+03_rb,0.58651e+03_rb,0.86369e+03_rb,0.11411e+04_rb /) kbo(:, 5,36, 9) = (/ & & 0.10348e+04_rb,0.78444e+03_rb,0.58544e+03_rb,0.86227e+03_rb,0.11392e+04_rb /) kbo(:, 1,37, 9) = (/ & & 0.10349e+04_rb,0.78446e+03_rb,0.58930e+03_rb,0.86738e+03_rb,0.11460e+04_rb /) kbo(:, 2,37, 9) = (/ & & 0.10348e+04_rb,0.78444e+03_rb,0.58863e+03_rb,0.86642e+03_rb,0.11447e+04_rb /) kbo(:, 3,37, 9) = (/ & & 0.10348e+04_rb,0.78441e+03_rb,0.58773e+03_rb,0.86522e+03_rb,0.11432e+04_rb /) kbo(:, 4,37, 9) = (/ & & 0.10348e+04_rb,0.78439e+03_rb,0.58667e+03_rb,0.86387e+03_rb,0.11414e+04_rb /) kbo(:, 5,37, 9) = (/ & & 0.10347e+04_rb,0.78436e+03_rb,0.58559e+03_rb,0.86245e+03_rb,0.11394e+04_rb /) kbo(:, 1,38, 9) = (/ & & 0.10348e+04_rb,0.78440e+03_rb,0.58936e+03_rb,0.86753e+03_rb,0.11462e+04_rb /) kbo(:, 2,38, 9) = (/ & & 0.10347e+04_rb,0.78434e+03_rb,0.58873e+03_rb,0.86658e+03_rb,0.11449e+04_rb /) kbo(:, 3,38, 9) = (/ & & 0.10347e+04_rb,0.78432e+03_rb,0.58786e+03_rb,0.86537e+03_rb,0.11434e+04_rb /) kbo(:, 4,38, 9) = (/ & & 0.10346e+04_rb,0.78431e+03_rb,0.58681e+03_rb,0.86407e+03_rb,0.11416e+04_rb /) kbo(:, 5,38, 9) = (/ & & 0.10347e+04_rb,0.78428e+03_rb,0.58573e+03_rb,0.86265e+03_rb,0.11397e+04_rb /) kbo(:, 1,39, 9) = (/ & & 0.10347e+04_rb,0.78431e+03_rb,0.58943e+03_rb,0.86764e+03_rb,0.11463e+04_rb /) kbo(:, 2,39, 9) = (/ & & 0.10346e+04_rb,0.78431e+03_rb,0.58882e+03_rb,0.86672e+03_rb,0.11451e+04_rb /) kbo(:, 3,39, 9) = (/ & & 0.10346e+04_rb,0.78424e+03_rb,0.58800e+03_rb,0.86557e+03_rb,0.11436e+04_rb /) kbo(:, 4,39, 9) = (/ & & 0.10346e+04_rb,0.78421e+03_rb,0.58697e+03_rb,0.86426e+03_rb,0.11419e+04_rb /) kbo(:, 5,39, 9) = (/ & & 0.10346e+04_rb,0.78429e+03_rb,0.58587e+03_rb,0.86284e+03_rb,0.11400e+04_rb /) kbo(:, 1,40, 9) = (/ & & 0.10346e+04_rb,0.78426e+03_rb,0.58957e+03_rb,0.86785e+03_rb,0.11466e+04_rb /) kbo(:, 2,40, 9) = (/ & & 0.10345e+04_rb,0.78427e+03_rb,0.58899e+03_rb,0.86697e+03_rb,0.11454e+04_rb /) kbo(:, 3,40, 9) = (/ & & 0.10345e+04_rb,0.78422e+03_rb,0.58822e+03_rb,0.86585e+03_rb,0.11440e+04_rb /) kbo(:, 4,40, 9) = (/ & & 0.10345e+04_rb,0.78421e+03_rb,0.58723e+03_rb,0.86460e+03_rb,0.11423e+04_rb /) kbo(:, 5,40, 9) = (/ & & 0.10344e+04_rb,0.78416e+03_rb,0.58614e+03_rb,0.86319e+03_rb,0.11403e+04_rb /) kbo(:, 1,41, 9) = (/ & & 0.10345e+04_rb,0.78421e+03_rb,0.58967e+03_rb,0.86804e+03_rb,0.11468e+04_rb /) kbo(:, 2,41, 9) = (/ & & 0.10345e+04_rb,0.78418e+03_rb,0.58916e+03_rb,0.86720e+03_rb,0.11457e+04_rb /) kbo(:, 3,41, 9) = (/ & & 0.10344e+04_rb,0.78415e+03_rb,0.58844e+03_rb,0.86618e+03_rb,0.11444e+04_rb /) kbo(:, 4,41, 9) = (/ & & 0.10344e+04_rb,0.78413e+03_rb,0.58748e+03_rb,0.86492e+03_rb,0.11428e+04_rb /) kbo(:, 5,41, 9) = (/ & & 0.10344e+04_rb,0.78411e+03_rb,0.58642e+03_rb,0.86355e+03_rb,0.11409e+04_rb /) kbo(:, 1,42, 9) = (/ & & 0.10345e+04_rb,0.78414e+03_rb,0.58976e+03_rb,0.86830e+03_rb,0.11471e+04_rb /) kbo(:, 2,42, 9) = (/ & & 0.10344e+04_rb,0.78417e+03_rb,0.58930e+03_rb,0.86744e+03_rb,0.11460e+04_rb /) kbo(:, 3,42, 9) = (/ & & 0.10344e+04_rb,0.78411e+03_rb,0.58863e+03_rb,0.86645e+03_rb,0.11448e+04_rb /) kbo(:, 4,42, 9) = (/ & & 0.10344e+04_rb,0.78409e+03_rb,0.58775e+03_rb,0.86525e+03_rb,0.11432e+04_rb /) kbo(:, 5,42, 9) = (/ & & 0.10344e+04_rb,0.78408e+03_rb,0.58670e+03_rb,0.86391e+03_rb,0.11414e+04_rb /) kbo(:, 1,43, 9) = (/ & & 0.10344e+04_rb,0.78410e+03_rb,0.58987e+03_rb,0.86842e+03_rb,0.11473e+04_rb /) kbo(:, 2,43, 9) = (/ & & 0.10344e+04_rb,0.78408e+03_rb,0.58947e+03_rb,0.86769e+03_rb,0.11464e+04_rb /) kbo(:, 3,43, 9) = (/ & & 0.10344e+04_rb,0.78409e+03_rb,0.58887e+03_rb,0.86678e+03_rb,0.11452e+04_rb /) kbo(:, 4,43, 9) = (/ & & 0.10344e+04_rb,0.78410e+03_rb,0.58806e+03_rb,0.86567e+03_rb,0.11437e+04_rb /) kbo(:, 5,43, 9) = (/ & & 0.10343e+04_rb,0.78406e+03_rb,0.58704e+03_rb,0.86435e+03_rb,0.11420e+04_rb /) kbo(:, 1,44, 9) = (/ & & 0.10344e+04_rb,0.78409e+03_rb,0.58998e+03_rb,0.86862e+03_rb,0.11476e+04_rb /) kbo(:, 2,44, 9) = (/ & & 0.10343e+04_rb,0.78407e+03_rb,0.58962e+03_rb,0.86796e+03_rb,0.11467e+04_rb /) kbo(:, 3,44, 9) = (/ & & 0.10343e+04_rb,0.78406e+03_rb,0.58910e+03_rb,0.86711e+03_rb,0.11456e+04_rb /) kbo(:, 4,44, 9) = (/ & & 0.10343e+04_rb,0.78403e+03_rb,0.58835e+03_rb,0.86607e+03_rb,0.11442e+04_rb /) kbo(:, 5,44, 9) = (/ & & 0.10343e+04_rb,0.78403e+03_rb,0.58738e+03_rb,0.86483e+03_rb,0.11426e+04_rb /) kbo(:, 1,45, 9) = (/ & & 0.10343e+04_rb,0.78404e+03_rb,0.59009e+03_rb,0.86881e+03_rb,0.11478e+04_rb /) kbo(:, 2,45, 9) = (/ & & 0.10343e+04_rb,0.78405e+03_rb,0.58975e+03_rb,0.86821e+03_rb,0.11471e+04_rb /) kbo(:, 3,45, 9) = (/ & & 0.10343e+04_rb,0.78404e+03_rb,0.58930e+03_rb,0.86741e+03_rb,0.11460e+04_rb /) kbo(:, 4,45, 9) = (/ & & 0.10342e+04_rb,0.78400e+03_rb,0.58862e+03_rb,0.86644e+03_rb,0.11447e+04_rb /) kbo(:, 5,45, 9) = (/ & & 0.10343e+04_rb,0.78402e+03_rb,0.58769e+03_rb,0.86520e+03_rb,0.11432e+04_rb /) kbo(:, 1,46, 9) = (/ & & 0.10343e+04_rb,0.78403e+03_rb,0.59019e+03_rb,0.86899e+03_rb,0.11481e+04_rb /) kbo(:, 2,46, 9) = (/ & & 0.10343e+04_rb,0.78403e+03_rb,0.58989e+03_rb,0.86845e+03_rb,0.11474e+04_rb /) kbo(:, 3,46, 9) = (/ & & 0.10343e+04_rb,0.78403e+03_rb,0.58947e+03_rb,0.86773e+03_rb,0.11464e+04_rb /) kbo(:, 4,46, 9) = (/ & & 0.10342e+04_rb,0.78401e+03_rb,0.58890e+03_rb,0.86681e+03_rb,0.11452e+04_rb /) kbo(:, 5,46, 9) = (/ & & 0.10343e+04_rb,0.78405e+03_rb,0.58808e+03_rb,0.86568e+03_rb,0.11438e+04_rb /) kbo(:, 1,47, 9) = (/ & & 0.10343e+04_rb,0.78401e+03_rb,0.59032e+03_rb,0.86917e+03_rb,0.11483e+04_rb /) kbo(:, 2,47, 9) = (/ & & 0.10342e+04_rb,0.78398e+03_rb,0.59001e+03_rb,0.86868e+03_rb,0.11477e+04_rb /) kbo(:, 3,47, 9) = (/ & & 0.10342e+04_rb,0.78398e+03_rb,0.58967e+03_rb,0.86807e+03_rb,0.11468e+04_rb /) kbo(:, 4,47, 9) = (/ & & 0.10343e+04_rb,0.78397e+03_rb,0.58916e+03_rb,0.86720e+03_rb,0.11457e+04_rb /) kbo(:, 5,47, 9) = (/ & & 0.10342e+04_rb,0.78399e+03_rb,0.58844e+03_rb,0.86618e+03_rb,0.11444e+04_rb /) kbo(:, 1,48, 9) = (/ & & 0.10342e+04_rb,0.78399e+03_rb,0.59046e+03_rb,0.86932e+03_rb,0.11485e+04_rb /) kbo(:, 2,48, 9) = (/ & & 0.10343e+04_rb,0.78398e+03_rb,0.59013e+03_rb,0.86890e+03_rb,0.11480e+04_rb /) kbo(:, 3,48, 9) = (/ & & 0.10342e+04_rb,0.78402e+03_rb,0.58982e+03_rb,0.86829e+03_rb,0.11472e+04_rb /) kbo(:, 4,48, 9) = (/ & & 0.10342e+04_rb,0.78396e+03_rb,0.58938e+03_rb,0.86756e+03_rb,0.11462e+04_rb /) kbo(:, 5,48, 9) = (/ & & 0.10342e+04_rb,0.78400e+03_rb,0.58875e+03_rb,0.86661e+03_rb,0.11449e+04_rb /) kbo(:, 1,49, 9) = (/ & & 0.10343e+04_rb,0.78402e+03_rb,0.59060e+03_rb,0.86945e+03_rb,0.11486e+04_rb /) kbo(:, 2,49, 9) = (/ & & 0.10342e+04_rb,0.78398e+03_rb,0.59025e+03_rb,0.86908e+03_rb,0.11482e+04_rb /) kbo(:, 3,49, 9) = (/ & & 0.10342e+04_rb,0.78399e+03_rb,0.58995e+03_rb,0.86856e+03_rb,0.11475e+04_rb /) kbo(:, 4,49, 9) = (/ & & 0.10342e+04_rb,0.78399e+03_rb,0.58958e+03_rb,0.86790e+03_rb,0.11466e+04_rb /) kbo(:, 5,49, 9) = (/ & & 0.10342e+04_rb,0.78398e+03_rb,0.58903e+03_rb,0.86700e+03_rb,0.11455e+04_rb /) kbo(:, 1,50, 9) = (/ & & 0.10343e+04_rb,0.78395e+03_rb,0.59074e+03_rb,0.86956e+03_rb,0.11487e+04_rb /) kbo(:, 2,50, 9) = (/ & & 0.10342e+04_rb,0.78399e+03_rb,0.59038e+03_rb,0.86924e+03_rb,0.11483e+04_rb /) kbo(:, 3,50, 9) = (/ & & 0.10342e+04_rb,0.78394e+03_rb,0.59006e+03_rb,0.86878e+03_rb,0.11478e+04_rb /) kbo(:, 4,50, 9) = (/ & & 0.10342e+04_rb,0.78399e+03_rb,0.58974e+03_rb,0.86817e+03_rb,0.11470e+04_rb /) kbo(:, 5,50, 9) = (/ & & 0.10342e+04_rb,0.78395e+03_rb,0.58927e+03_rb,0.86736e+03_rb,0.11460e+04_rb /) kbo(:, 1,51, 9) = (/ & & 0.10342e+04_rb,0.78399e+03_rb,0.59088e+03_rb,0.86965e+03_rb,0.11488e+04_rb /) kbo(:, 2,51, 9) = (/ & & 0.10342e+04_rb,0.78393e+03_rb,0.59051e+03_rb,0.86937e+03_rb,0.11485e+04_rb /) kbo(:, 3,51, 9) = (/ & & 0.10342e+04_rb,0.78400e+03_rb,0.59018e+03_rb,0.86897e+03_rb,0.11480e+04_rb /) kbo(:, 4,51, 9) = (/ & & 0.10342e+04_rb,0.78396e+03_rb,0.58987e+03_rb,0.86840e+03_rb,0.11473e+04_rb /) kbo(:, 5,51, 9) = (/ & & 0.10342e+04_rb,0.78396e+03_rb,0.58946e+03_rb,0.86768e+03_rb,0.11464e+04_rb /) kbo(:, 1,52, 9) = (/ & & 0.10342e+04_rb,0.78395e+03_rb,0.59100e+03_rb,0.86971e+03_rb,0.11490e+04_rb /) kbo(:, 2,52, 9) = (/ & & 0.10342e+04_rb,0.78394e+03_rb,0.59064e+03_rb,0.86949e+03_rb,0.11486e+04_rb /) kbo(:, 3,52, 9) = (/ & & 0.10342e+04_rb,0.78395e+03_rb,0.59029e+03_rb,0.86915e+03_rb,0.11482e+04_rb /) kbo(:, 4,52, 9) = (/ & & 0.10342e+04_rb,0.78394e+03_rb,0.58998e+03_rb,0.86864e+03_rb,0.11476e+04_rb /) kbo(:, 5,52, 9) = (/ & & 0.10342e+04_rb,0.78395e+03_rb,0.58963e+03_rb,0.86796e+03_rb,0.11468e+04_rb /) kbo(:, 1,53, 9) = (/ & & 0.10342e+04_rb,0.78397e+03_rb,0.59111e+03_rb,0.86975e+03_rb,0.11490e+04_rb /) kbo(:, 2,53, 9) = (/ & & 0.10342e+04_rb,0.78394e+03_rb,0.59078e+03_rb,0.86960e+03_rb,0.11488e+04_rb /) kbo(:, 3,53, 9) = (/ & & 0.10342e+04_rb,0.78396e+03_rb,0.59041e+03_rb,0.86926e+03_rb,0.11484e+04_rb /) kbo(:, 4,53, 9) = (/ & & 0.10341e+04_rb,0.78393e+03_rb,0.59010e+03_rb,0.86884e+03_rb,0.11479e+04_rb /) kbo(:, 5,53, 9) = (/ & & 0.10342e+04_rb,0.78395e+03_rb,0.58977e+03_rb,0.86822e+03_rb,0.11471e+04_rb /) kbo(:, 1,54, 9) = (/ & & 0.10343e+04_rb,0.78394e+03_rb,0.59121e+03_rb,0.86979e+03_rb,0.11491e+04_rb /) kbo(:, 2,54, 9) = (/ & & 0.10341e+04_rb,0.78399e+03_rb,0.59088e+03_rb,0.86966e+03_rb,0.11489e+04_rb /) kbo(:, 3,54, 9) = (/ & & 0.10341e+04_rb,0.78394e+03_rb,0.59052e+03_rb,0.86939e+03_rb,0.11485e+04_rb /) kbo(:, 4,54, 9) = (/ & & 0.10341e+04_rb,0.78394e+03_rb,0.59020e+03_rb,0.86900e+03_rb,0.11481e+04_rb /) kbo(:, 5,54, 9) = (/ & & 0.10342e+04_rb,0.78395e+03_rb,0.58987e+03_rb,0.86845e+03_rb,0.11474e+04_rb /) kbo(:, 1,55, 9) = (/ & & 0.10342e+04_rb,0.78396e+03_rb,0.59130e+03_rb,0.86983e+03_rb,0.11491e+04_rb /) kbo(:, 2,55, 9) = (/ & & 0.10341e+04_rb,0.78393e+03_rb,0.59100e+03_rb,0.86971e+03_rb,0.11490e+04_rb /) kbo(:, 3,55, 9) = (/ & & 0.10342e+04_rb,0.78393e+03_rb,0.59065e+03_rb,0.86949e+03_rb,0.11486e+04_rb /) kbo(:, 4,55, 9) = (/ & & 0.10342e+04_rb,0.78395e+03_rb,0.59029e+03_rb,0.86914e+03_rb,0.11483e+04_rb /) kbo(:, 5,55, 9) = (/ & & 0.10341e+04_rb,0.78393e+03_rb,0.59000e+03_rb,0.86864e+03_rb,0.11477e+04_rb /) kbo(:, 1,56, 9) = (/ & & 0.10342e+04_rb,0.78393e+03_rb,0.59137e+03_rb,0.86987e+03_rb,0.11492e+04_rb /) kbo(:, 2,56, 9) = (/ & & 0.10342e+04_rb,0.78395e+03_rb,0.59111e+03_rb,0.86975e+03_rb,0.11490e+04_rb /) kbo(:, 3,56, 9) = (/ & & 0.10342e+04_rb,0.78392e+03_rb,0.59077e+03_rb,0.86958e+03_rb,0.11488e+04_rb /) kbo(:, 4,56, 9) = (/ & & 0.10342e+04_rb,0.78393e+03_rb,0.59040e+03_rb,0.86926e+03_rb,0.11484e+04_rb /) kbo(:, 5,56, 9) = (/ & & 0.10341e+04_rb,0.78393e+03_rb,0.59009e+03_rb,0.86883e+03_rb,0.11479e+04_rb /) kbo(:, 1,57, 9) = (/ & & 0.10342e+04_rb,0.78396e+03_rb,0.59143e+03_rb,0.86993e+03_rb,0.11492e+04_rb /) kbo(:, 2,57, 9) = (/ & & 0.10342e+04_rb,0.78392e+03_rb,0.59122e+03_rb,0.86979e+03_rb,0.11491e+04_rb /) kbo(:, 3,57, 9) = (/ & & 0.10342e+04_rb,0.78392e+03_rb,0.59089e+03_rb,0.86966e+03_rb,0.11489e+04_rb /) kbo(:, 4,57, 9) = (/ & & 0.10341e+04_rb,0.78395e+03_rb,0.59052e+03_rb,0.86938e+03_rb,0.11485e+04_rb /) kbo(:, 5,57, 9) = (/ & & 0.10341e+04_rb,0.78393e+03_rb,0.59018e+03_rb,0.86897e+03_rb,0.11481e+04_rb /) kbo(:, 1,58, 9) = (/ & & 0.10341e+04_rb,0.78395e+03_rb,0.59147e+03_rb,0.86996e+03_rb,0.11493e+04_rb /) kbo(:, 2,58, 9) = (/ & & 0.10341e+04_rb,0.78397e+03_rb,0.59129e+03_rb,0.86982e+03_rb,0.11491e+04_rb /) kbo(:, 3,58, 9) = (/ & & 0.10341e+04_rb,0.78393e+03_rb,0.59099e+03_rb,0.86970e+03_rb,0.11489e+04_rb /) kbo(:, 4,58, 9) = (/ & & 0.10342e+04_rb,0.78397e+03_rb,0.59063e+03_rb,0.86948e+03_rb,0.11486e+04_rb /) kbo(:, 5,58, 9) = (/ & & 0.10342e+04_rb,0.78390e+03_rb,0.59028e+03_rb,0.86913e+03_rb,0.11482e+04_rb /) kbo(:, 1,59, 9) = (/ & & 0.10342e+04_rb,0.78393e+03_rb,0.59148e+03_rb,0.86998e+03_rb,0.11494e+04_rb /) kbo(:, 2,59, 9) = (/ & & 0.10342e+04_rb,0.78396e+03_rb,0.59132e+03_rb,0.86982e+03_rb,0.11492e+04_rb /) kbo(:, 3,59, 9) = (/ & & 0.10342e+04_rb,0.78393e+03_rb,0.59103e+03_rb,0.86972e+03_rb,0.11490e+04_rb /) kbo(:, 4,59, 9) = (/ & & 0.10341e+04_rb,0.78394e+03_rb,0.59067e+03_rb,0.86951e+03_rb,0.11487e+04_rb /) kbo(:, 5,59, 9) = (/ & & 0.10341e+04_rb,0.78397e+03_rb,0.59032e+03_rb,0.86918e+03_rb,0.11483e+04_rb /) kbo(:, 1,13,10) = (/ & & 0.11544e+04_rb,0.87486e+03_rb,0.59975e+03_rb,0.88029e+03_rb,0.11631e+04_rb /) kbo(:, 2,13,10) = (/ & & 0.11458e+04_rb,0.86752e+03_rb,0.59921e+03_rb,0.87889e+03_rb,0.11611e+04_rb /) kbo(:, 3,13,10) = (/ & & 0.11380e+04_rb,0.86177e+03_rb,0.59836e+03_rb,0.87789e+03_rb,0.11592e+04_rb /) kbo(:, 4,13,10) = (/ & & 0.11310e+04_rb,0.85697e+03_rb,0.59745e+03_rb,0.87697e+03_rb,0.11577e+04_rb /) kbo(:, 5,13,10) = (/ & & 0.11259e+04_rb,0.85279e+03_rb,0.59663e+03_rb,0.87606e+03_rb,0.11564e+04_rb /) kbo(:, 1,14,10) = (/ & & 0.11329e+04_rb,0.85757e+03_rb,0.59935e+03_rb,0.88000e+03_rb,0.11630e+04_rb /) kbo(:, 2,14,10) = (/ & & 0.11257e+04_rb,0.85228e+03_rb,0.59878e+03_rb,0.87841e+03_rb,0.11609e+04_rb /) kbo(:, 3,14,10) = (/ & & 0.11201e+04_rb,0.84731e+03_rb,0.59797e+03_rb,0.87766e+03_rb,0.11591e+04_rb /) kbo(:, 4,14,10) = (/ & & 0.11140e+04_rb,0.84389e+03_rb,0.59731e+03_rb,0.87707e+03_rb,0.11577e+04_rb /) kbo(:, 5,14,10) = (/ & & 0.11094e+04_rb,0.84001e+03_rb,0.59642e+03_rb,0.87571e+03_rb,0.11561e+04_rb /) kbo(:, 1,15,10) = (/ & & 0.11142e+04_rb,0.84370e+03_rb,0.59900e+03_rb,0.87973e+03_rb,0.11627e+04_rb /) kbo(:, 2,15,10) = (/ & & 0.11097e+04_rb,0.84029e+03_rb,0.59841e+03_rb,0.87827e+03_rb,0.11607e+04_rb /) kbo(:, 3,15,10) = (/ & & 0.11039e+04_rb,0.83570e+03_rb,0.59763e+03_rb,0.87745e+03_rb,0.11587e+04_rb /) kbo(:, 4,15,10) = (/ & & 0.10995e+04_rb,0.83295e+03_rb,0.59685e+03_rb,0.87664e+03_rb,0.11574e+04_rb /) kbo(:, 5,15,10) = (/ & & 0.10956e+04_rb,0.82966e+03_rb,0.59611e+03_rb,0.87548e+03_rb,0.11555e+04_rb /) kbo(:, 1,16,10) = (/ & & 0.11006e+04_rb,0.83290e+03_rb,0.59871e+03_rb,0.87947e+03_rb,0.11625e+04_rb /) kbo(:, 2,16,10) = (/ & & 0.10967e+04_rb,0.82960e+03_rb,0.59809e+03_rb,0.87696e+03_rb,0.11605e+04_rb /) kbo(:, 3,16,10) = (/ & & 0.10908e+04_rb,0.82627e+03_rb,0.59735e+03_rb,0.87716e+03_rb,0.11587e+04_rb /) kbo(:, 4,16,10) = (/ & & 0.10878e+04_rb,0.82496e+03_rb,0.59665e+03_rb,0.87645e+03_rb,0.11573e+04_rb /) kbo(:, 5,16,10) = (/ & & 0.10846e+04_rb,0.82140e+03_rb,0.59584e+03_rb,0.87537e+03_rb,0.11556e+04_rb /) kbo(:, 1,17,10) = (/ & & 0.10872e+04_rb,0.82399e+03_rb,0.59847e+03_rb,0.87912e+03_rb,0.11623e+04_rb /) kbo(:, 2,17,10) = (/ & & 0.10836e+04_rb,0.82137e+03_rb,0.59782e+03_rb,0.87785e+03_rb,0.11604e+04_rb /) kbo(:, 3,17,10) = (/ & & 0.10806e+04_rb,0.81903e+03_rb,0.59710e+03_rb,0.87700e+03_rb,0.11586e+04_rb /) kbo(:, 4,17,10) = (/ & & 0.10781e+04_rb,0.81649e+03_rb,0.59641e+03_rb,0.87627e+03_rb,0.11571e+04_rb /) kbo(:, 5,17,10) = (/ & & 0.10750e+04_rb,0.81461e+03_rb,0.59560e+03_rb,0.87517e+03_rb,0.11554e+04_rb /) kbo(:, 1,18,10) = (/ & & 0.10783e+04_rb,0.81627e+03_rb,0.59826e+03_rb,0.87902e+03_rb,0.11620e+04_rb /) kbo(:, 2,18,10) = (/ & & 0.10752e+04_rb,0.81450e+03_rb,0.59759e+03_rb,0.87778e+03_rb,0.11602e+04_rb /) kbo(:, 3,18,10) = (/ & & 0.10718e+04_rb,0.81284e+03_rb,0.59689e+03_rb,0.87707e+03_rb,0.11584e+04_rb /) kbo(:, 4,18,10) = (/ & & 0.10695e+04_rb,0.81051e+03_rb,0.59620e+03_rb,0.87578e+03_rb,0.11570e+04_rb /) kbo(:, 5,18,10) = (/ & & 0.10675e+04_rb,0.80859e+03_rb,0.59539e+03_rb,0.87498e+03_rb,0.11554e+04_rb /) kbo(:, 1,19,10) = (/ & & 0.10693e+04_rb,0.81014e+03_rb,0.59808e+03_rb,0.87871e+03_rb,0.11618e+04_rb /) kbo(:, 2,19,10) = (/ & & 0.10674e+04_rb,0.80961e+03_rb,0.59739e+03_rb,0.87763e+03_rb,0.11601e+04_rb /) kbo(:, 3,19,10) = (/ & & 0.10651e+04_rb,0.80782e+03_rb,0.59664e+03_rb,0.87683e+03_rb,0.11582e+04_rb /) kbo(:, 4,19,10) = (/ & & 0.10639e+04_rb,0.80562e+03_rb,0.59610e+03_rb,0.87595e+03_rb,0.11569e+04_rb /) kbo(:, 5,19,10) = (/ & & 0.10620e+04_rb,0.80440e+03_rb,0.59520e+03_rb,0.87481e+03_rb,0.11551e+04_rb /) kbo(:, 1,20,10) = (/ & & 0.10633e+04_rb,0.80580e+03_rb,0.59791e+03_rb,0.87862e+03_rb,0.11616e+04_rb /) kbo(:, 2,20,10) = (/ & & 0.10619e+04_rb,0.80442e+03_rb,0.59720e+03_rb,0.87747e+03_rb,0.11598e+04_rb /) kbo(:, 3,20,10) = (/ & & 0.10607e+04_rb,0.80344e+03_rb,0.59654e+03_rb,0.87680e+03_rb,0.11581e+04_rb /) kbo(:, 4,20,10) = (/ & & 0.10584e+04_rb,0.80182e+03_rb,0.59585e+03_rb,0.87568e+03_rb,0.11568e+04_rb /) kbo(:, 5,20,10) = (/ & & 0.10568e+04_rb,0.80142e+03_rb,0.59502e+03_rb,0.87461e+03_rb,0.11549e+04_rb /) kbo(:, 1,21,10) = (/ & & 0.10577e+04_rb,0.80247e+03_rb,0.59775e+03_rb,0.87831e+03_rb,0.11614e+04_rb /) kbo(:, 2,21,10) = (/ & & 0.10572e+04_rb,0.80108e+03_rb,0.59703e+03_rb,0.87733e+03_rb,0.11595e+04_rb /) kbo(:, 3,21,10) = (/ & & 0.10551e+04_rb,0.79955e+03_rb,0.59639e+03_rb,0.87689e+03_rb,0.11579e+04_rb /) kbo(:, 4,21,10) = (/ & & 0.10548e+04_rb,0.79914e+03_rb,0.59569e+03_rb,0.87563e+03_rb,0.11565e+04_rb /) kbo(:, 5,21,10) = (/ & & 0.10533e+04_rb,0.79794e+03_rb,0.59484e+03_rb,0.87454e+03_rb,0.11546e+04_rb /) kbo(:, 1,22,10) = (/ & & 0.10544e+04_rb,0.79901e+03_rb,0.59755e+03_rb,0.87816e+03_rb,0.11610e+04_rb /) kbo(:, 2,22,10) = (/ & & 0.10524e+04_rb,0.79865e+03_rb,0.59692e+03_rb,0.87715e+03_rb,0.11592e+04_rb /) kbo(:, 3,22,10) = (/ & & 0.10518e+04_rb,0.79733e+03_rb,0.59621e+03_rb,0.87638e+03_rb,0.11576e+04_rb /) kbo(:, 4,22,10) = (/ & & 0.10503e+04_rb,0.79602e+03_rb,0.59549e+03_rb,0.87540e+03_rb,0.11562e+04_rb /) kbo(:, 5,22,10) = (/ & & 0.10497e+04_rb,0.79577e+03_rb,0.59455e+03_rb,0.87415e+03_rb,0.11542e+04_rb /) kbo(:, 1,23,10) = (/ & & 0.10504e+04_rb,0.79618e+03_rb,0.59736e+03_rb,0.87790e+03_rb,0.11608e+04_rb /) kbo(:, 2,23,10) = (/ & & 0.10488e+04_rb,0.79542e+03_rb,0.59652e+03_rb,0.87687e+03_rb,0.11588e+04_rb /) kbo(:, 3,23,10) = (/ & & 0.10489e+04_rb,0.79466e+03_rb,0.59603e+03_rb,0.87619e+03_rb,0.11574e+04_rb /) kbo(:, 4,23,10) = (/ & & 0.10477e+04_rb,0.79399e+03_rb,0.59528e+03_rb,0.87505e+03_rb,0.11559e+04_rb /) kbo(:, 5,23,10) = (/ & & 0.10468e+04_rb,0.79357e+03_rb,0.59440e+03_rb,0.87388e+03_rb,0.11537e+04_rb /) kbo(:, 1,24,10) = (/ & & 0.10475e+04_rb,0.79355e+03_rb,0.59716e+03_rb,0.87766e+03_rb,0.11603e+04_rb /) kbo(:, 2,24,10) = (/ & & 0.10471e+04_rb,0.79325e+03_rb,0.59650e+03_rb,0.87681e+03_rb,0.11585e+04_rb /) kbo(:, 3,24,10) = (/ & & 0.10463e+04_rb,0.79243e+03_rb,0.59586e+03_rb,0.87587e+03_rb,0.11571e+04_rb /) kbo(:, 4,24,10) = (/ & & 0.10454e+04_rb,0.79206e+03_rb,0.59508e+03_rb,0.87468e+03_rb,0.11555e+04_rb /) kbo(:, 5,24,10) = (/ & & 0.10455e+04_rb,0.79146e+03_rb,0.59426e+03_rb,0.87360e+03_rb,0.11532e+04_rb /) kbo(:, 1,25,10) = (/ & & 0.10443e+04_rb,0.79222e+03_rb,0.59698e+03_rb,0.87742e+03_rb,0.11598e+04_rb /) kbo(:, 2,25,10) = (/ & & 0.10446e+04_rb,0.79165e+03_rb,0.59633e+03_rb,0.87696e+03_rb,0.11582e+04_rb /) kbo(:, 3,25,10) = (/ & & 0.10440e+04_rb,0.79123e+03_rb,0.59567e+03_rb,0.87565e+03_rb,0.11568e+04_rb /) kbo(:, 4,25,10) = (/ & & 0.10433e+04_rb,0.79106e+03_rb,0.59487e+03_rb,0.87451e+03_rb,0.11551e+04_rb /) kbo(:, 5,25,10) = (/ & & 0.10423e+04_rb,0.79063e+03_rb,0.59375e+03_rb,0.87329e+03_rb,0.11525e+04_rb /) kbo(:, 1,26,10) = (/ & & 0.10431e+04_rb,0.79112e+03_rb,0.59671e+03_rb,0.87720e+03_rb,0.11595e+04_rb /) kbo(:, 2,26,10) = (/ & & 0.10430e+04_rb,0.79016e+03_rb,0.59608e+03_rb,0.87633e+03_rb,0.11579e+04_rb /) kbo(:, 3,26,10) = (/ & & 0.10422e+04_rb,0.78992e+03_rb,0.59547e+03_rb,0.87551e+03_rb,0.11565e+04_rb /) kbo(:, 4,26,10) = (/ & & 0.10418e+04_rb,0.78943e+03_rb,0.59456e+03_rb,0.87419e+03_rb,0.11545e+04_rb /) kbo(:, 5,26,10) = (/ & & 0.10417e+04_rb,0.78966e+03_rb,0.59375e+03_rb,0.87285e+03_rb,0.11523e+04_rb /) kbo(:, 1,27,10) = (/ & & 0.10421e+04_rb,0.78970e+03_rb,0.59653e+03_rb,0.87700e+03_rb,0.11589e+04_rb /) kbo(:, 2,27,10) = (/ & & 0.10419e+04_rb,0.78911e+03_rb,0.59591e+03_rb,0.87623e+03_rb,0.11575e+04_rb /) kbo(:, 3,27,10) = (/ & & 0.10414e+04_rb,0.78914e+03_rb,0.59527e+03_rb,0.87524e+03_rb,0.11555e+04_rb /) kbo(:, 4,27,10) = (/ & & 0.10412e+04_rb,0.78891e+03_rb,0.59440e+03_rb,0.87398e+03_rb,0.11540e+04_rb /) kbo(:, 5,27,10) = (/ & & 0.10400e+04_rb,0.78850e+03_rb,0.59354e+03_rb,0.87262e+03_rb,0.11516e+04_rb /) kbo(:, 1,28,10) = (/ & & 0.10402e+04_rb,0.78860e+03_rb,0.59644e+03_rb,0.87682e+03_rb,0.11586e+04_rb /) kbo(:, 2,28,10) = (/ & & 0.10405e+04_rb,0.78788e+03_rb,0.59574e+03_rb,0.87579e+03_rb,0.11571e+04_rb /) kbo(:, 3,28,10) = (/ & & 0.10403e+04_rb,0.78855e+03_rb,0.59498e+03_rb,0.87473e+03_rb,0.11552e+04_rb /) kbo(:, 4,28,10) = (/ & & 0.10397e+04_rb,0.78826e+03_rb,0.59417e+03_rb,0.87377e+03_rb,0.11534e+04_rb /) kbo(:, 5,28,10) = (/ & & 0.10396e+04_rb,0.78810e+03_rb,0.59333e+03_rb,0.87227e+03_rb,0.11511e+04_rb /) kbo(:, 1,29,10) = (/ & & 0.10391e+04_rb,0.78797e+03_rb,0.59612e+03_rb,0.87685e+03_rb,0.11584e+04_rb /) kbo(:, 2,29,10) = (/ & & 0.10393e+04_rb,0.78808e+03_rb,0.59562e+03_rb,0.87577e+03_rb,0.11569e+04_rb /) kbo(:, 3,29,10) = (/ & & 0.10401e+04_rb,0.78791e+03_rb,0.59476e+03_rb,0.87463e+03_rb,0.11550e+04_rb /) kbo(:, 4,29,10) = (/ & & 0.10388e+04_rb,0.78727e+03_rb,0.59387e+03_rb,0.87332e+03_rb,0.11526e+04_rb /) kbo(:, 5,29,10) = (/ & & 0.10383e+04_rb,0.78753e+03_rb,0.59306e+03_rb,0.87189e+03_rb,0.11504e+04_rb /) kbo(:, 1,30,10) = (/ & & 0.10398e+04_rb,0.78748e+03_rb,0.59603e+03_rb,0.87643e+03_rb,0.11579e+04_rb /) kbo(:, 2,30,10) = (/ & & 0.10387e+04_rb,0.78733e+03_rb,0.59550e+03_rb,0.87550e+03_rb,0.11567e+04_rb /) kbo(:, 3,30,10) = (/ & & 0.10384e+04_rb,0.78700e+03_rb,0.59460e+03_rb,0.87431e+03_rb,0.11543e+04_rb /) kbo(:, 4,30,10) = (/ & & 0.10381e+04_rb,0.78738e+03_rb,0.59372e+03_rb,0.87275e+03_rb,0.11522e+04_rb /) kbo(:, 5,30,10) = (/ & & 0.10382e+04_rb,0.78707e+03_rb,0.59292e+03_rb,0.87137e+03_rb,0.11500e+04_rb /) kbo(:, 1,31,10) = (/ & & 0.10388e+04_rb,0.78740e+03_rb,0.59593e+03_rb,0.87621e+03_rb,0.11575e+04_rb /) kbo(:, 2,31,10) = (/ & & 0.10385e+04_rb,0.78757e+03_rb,0.59522e+03_rb,0.87522e+03_rb,0.11561e+04_rb /) kbo(:, 3,31,10) = (/ & & 0.10386e+04_rb,0.78718e+03_rb,0.59436e+03_rb,0.87397e+03_rb,0.11540e+04_rb /) kbo(:, 4,31,10) = (/ & & 0.10377e+04_rb,0.78650e+03_rb,0.59350e+03_rb,0.87250e+03_rb,0.11516e+04_rb /) kbo(:, 5,31,10) = (/ & & 0.10376e+04_rb,0.78651e+03_rb,0.59269e+03_rb,0.87108e+03_rb,0.11495e+04_rb /) kbo(:, 1,32,10) = (/ & & 0.10383e+04_rb,0.78682e+03_rb,0.59576e+03_rb,0.87597e+03_rb,0.11572e+04_rb /) kbo(:, 2,32,10) = (/ & & 0.10383e+04_rb,0.78712e+03_rb,0.59500e+03_rb,0.87480e+03_rb,0.11556e+04_rb /) kbo(:, 3,32,10) = (/ & & 0.10381e+04_rb,0.78606e+03_rb,0.59405e+03_rb,0.87362e+03_rb,0.11534e+04_rb /) kbo(:, 4,32,10) = (/ & & 0.10372e+04_rb,0.78628e+03_rb,0.59329e+03_rb,0.87223e+03_rb,0.11510e+04_rb /) kbo(:, 5,32,10) = (/ & & 0.10377e+04_rb,0.78690e+03_rb,0.59245e+03_rb,0.87068e+03_rb,0.11490e+04_rb /) kbo(:, 1,33,10) = (/ & & 0.10380e+04_rb,0.78593e+03_rb,0.59549e+03_rb,0.87572e+03_rb,0.11567e+04_rb /) kbo(:, 2,33,10) = (/ & & 0.10375e+04_rb,0.78654e+03_rb,0.59477e+03_rb,0.87458e+03_rb,0.11551e+04_rb /) kbo(:, 3,33,10) = (/ & & 0.10374e+04_rb,0.78686e+03_rb,0.59389e+03_rb,0.87337e+03_rb,0.11527e+04_rb /) kbo(:, 4,33,10) = (/ & & 0.10366e+04_rb,0.78593e+03_rb,0.59308e+03_rb,0.87194e+03_rb,0.11506e+04_rb /) kbo(:, 5,33,10) = (/ & & 0.10369e+04_rb,0.78626e+03_rb,0.59219e+03_rb,0.87038e+03_rb,0.11486e+04_rb /) kbo(:, 1,34,10) = (/ & & 0.10373e+04_rb,0.78657e+03_rb,0.59539e+03_rb,0.87559e+03_rb,0.11565e+04_rb /) kbo(:, 2,34,10) = (/ & & 0.10370e+04_rb,0.78641e+03_rb,0.59464e+03_rb,0.87429e+03_rb,0.11546e+04_rb /) kbo(:, 3,34,10) = (/ & & 0.10370e+04_rb,0.78587e+03_rb,0.59369e+03_rb,0.87295e+03_rb,0.11522e+04_rb /) kbo(:, 4,34,10) = (/ & & 0.10371e+04_rb,0.78562e+03_rb,0.59289e+03_rb,0.87146e+03_rb,0.11500e+04_rb /) kbo(:, 5,34,10) = (/ & & 0.10372e+04_rb,0.78597e+03_rb,0.59202e+03_rb,0.86991e+03_rb,0.11482e+04_rb /) kbo(:, 1,35,10) = (/ & & 0.10364e+04_rb,0.78559e+03_rb,0.59529e+03_rb,0.87523e+03_rb,0.11563e+04_rb /) kbo(:, 2,35,10) = (/ & & 0.10362e+04_rb,0.78545e+03_rb,0.59445e+03_rb,0.87400e+03_rb,0.11543e+04_rb /) kbo(:, 3,35,10) = (/ & & 0.10372e+04_rb,0.78599e+03_rb,0.59365e+03_rb,0.87265e+03_rb,0.11519e+04_rb /) kbo(:, 4,35,10) = (/ & & 0.10370e+04_rb,0.78527e+03_rb,0.59278e+03_rb,0.87136e+03_rb,0.11496e+04_rb /) kbo(:, 5,35,10) = (/ & & 0.10363e+04_rb,0.78582e+03_rb,0.59179e+03_rb,0.86905e+03_rb,0.11477e+04_rb /) kbo(:, 1,36,10) = (/ & & 0.10368e+04_rb,0.78515e+03_rb,0.59520e+03_rb,0.87532e+03_rb,0.11563e+04_rb /) kbo(:, 2,36,10) = (/ & & 0.10358e+04_rb,0.78589e+03_rb,0.59443e+03_rb,0.87419e+03_rb,0.11542e+04_rb /) kbo(:, 3,36,10) = (/ & & 0.10361e+04_rb,0.78556e+03_rb,0.59355e+03_rb,0.87273e+03_rb,0.11517e+04_rb /) kbo(:, 4,36,10) = (/ & & 0.10361e+04_rb,0.78543e+03_rb,0.59275e+03_rb,0.87122e+03_rb,0.11497e+04_rb /) kbo(:, 5,36,10) = (/ & & 0.10368e+04_rb,0.78570e+03_rb,0.59176e+03_rb,0.86999e+03_rb,0.11477e+04_rb /) kbo(:, 1,37,10) = (/ & & 0.10363e+04_rb,0.78591e+03_rb,0.59537e+03_rb,0.87546e+03_rb,0.11565e+04_rb /) kbo(:, 2,37,10) = (/ & & 0.10360e+04_rb,0.78548e+03_rb,0.59454e+03_rb,0.87425e+03_rb,0.11545e+04_rb /) kbo(:, 3,37,10) = (/ & & 0.10362e+04_rb,0.78546e+03_rb,0.59366e+03_rb,0.87291e+03_rb,0.11521e+04_rb /) kbo(:, 4,37,10) = (/ & & 0.10364e+04_rb,0.78543e+03_rb,0.59286e+03_rb,0.87142e+03_rb,0.11500e+04_rb /) kbo(:, 5,37,10) = (/ & & 0.10360e+04_rb,0.78560e+03_rb,0.59177e+03_rb,0.86987e+03_rb,0.11482e+04_rb /) kbo(:, 1,38,10) = (/ & & 0.10362e+04_rb,0.78542e+03_rb,0.59547e+03_rb,0.87560e+03_rb,0.11567e+04_rb /) kbo(:, 2,38,10) = (/ & & 0.10357e+04_rb,0.78588e+03_rb,0.59466e+03_rb,0.87433e+03_rb,0.11549e+04_rb /) kbo(:, 3,38,10) = (/ & & 0.10370e+04_rb,0.78605e+03_rb,0.59385e+03_rb,0.87310e+03_rb,0.11524e+04_rb /) kbo(:, 4,38,10) = (/ & & 0.10362e+04_rb,0.78574e+03_rb,0.59297e+03_rb,0.87186e+03_rb,0.11501e+04_rb /) kbo(:, 5,38,10) = (/ & & 0.10364e+04_rb,0.78533e+03_rb,0.59199e+03_rb,0.87009e+03_rb,0.11482e+04_rb /) kbo(:, 1,39,10) = (/ & & 0.10359e+04_rb,0.78514e+03_rb,0.59557e+03_rb,0.87574e+03_rb,0.11567e+04_rb /) kbo(:, 2,39,10) = (/ & & 0.10371e+04_rb,0.78541e+03_rb,0.59478e+03_rb,0.87461e+03_rb,0.11552e+04_rb /) kbo(:, 3,39,10) = (/ & & 0.10366e+04_rb,0.78569e+03_rb,0.59382e+03_rb,0.87329e+03_rb,0.11528e+04_rb /) kbo(:, 4,39,10) = (/ & & 0.10359e+04_rb,0.78528e+03_rb,0.59308e+03_rb,0.87198e+03_rb,0.11506e+04_rb /) kbo(:, 5,39,10) = (/ & & 0.10356e+04_rb,0.78487e+03_rb,0.59220e+03_rb,0.87042e+03_rb,0.11486e+04_rb /) kbo(:, 1,40,10) = (/ & & 0.10357e+04_rb,0.78518e+03_rb,0.59566e+03_rb,0.87586e+03_rb,0.11569e+04_rb /) kbo(:, 2,40,10) = (/ & & 0.10357e+04_rb,0.78506e+03_rb,0.59498e+03_rb,0.87480e+03_rb,0.11555e+04_rb /) kbo(:, 3,40,10) = (/ & & 0.10366e+04_rb,0.78504e+03_rb,0.59396e+03_rb,0.87362e+03_rb,0.11534e+04_rb /) kbo(:, 4,40,10) = (/ & & 0.10363e+04_rb,0.78503e+03_rb,0.59319e+03_rb,0.87212e+03_rb,0.11511e+04_rb /) kbo(:, 5,40,10) = (/ & & 0.10363e+04_rb,0.78540e+03_rb,0.59243e+03_rb,0.87078e+03_rb,0.11490e+04_rb /) kbo(:, 1,41,10) = (/ & & 0.10363e+04_rb,0.78503e+03_rb,0.59590e+03_rb,0.87608e+03_rb,0.11576e+04_rb /) kbo(:, 2,41,10) = (/ & & 0.10356e+04_rb,0.78491e+03_rb,0.59519e+03_rb,0.87520e+03_rb,0.11561e+04_rb /) kbo(:, 3,41,10) = (/ & & 0.10364e+04_rb,0.78558e+03_rb,0.59433e+03_rb,0.87384e+03_rb,0.11540e+04_rb /) kbo(:, 4,41,10) = (/ & & 0.10357e+04_rb,0.78518e+03_rb,0.59354e+03_rb,0.87259e+03_rb,0.11516e+04_rb /) kbo(:, 5,41,10) = (/ & & 0.10360e+04_rb,0.78526e+03_rb,0.59259e+03_rb,0.87107e+03_rb,0.11495e+04_rb /) kbo(:, 1,42,10) = (/ & & 0.10360e+04_rb,0.78488e+03_rb,0.59605e+03_rb,0.87553e+03_rb,0.11576e+04_rb /) kbo(:, 2,42,10) = (/ & & 0.10363e+04_rb,0.78507e+03_rb,0.59538e+03_rb,0.87537e+03_rb,0.11565e+04_rb /) kbo(:, 3,42,10) = (/ & & 0.10362e+04_rb,0.78535e+03_rb,0.59456e+03_rb,0.87429e+03_rb,0.11545e+04_rb /) kbo(:, 4,42,10) = (/ & & 0.10361e+04_rb,0.78514e+03_rb,0.59368e+03_rb,0.87295e+03_rb,0.11522e+04_rb /) kbo(:, 5,42,10) = (/ & & 0.10360e+04_rb,0.78523e+03_rb,0.59281e+03_rb,0.87146e+03_rb,0.11502e+04_rb /) kbo(:, 1,43,10) = (/ & & 0.10359e+04_rb,0.78504e+03_rb,0.59624e+03_rb,0.87675e+03_rb,0.11584e+04_rb /) kbo(:, 2,43,10) = (/ & & 0.10355e+04_rb,0.78552e+03_rb,0.59568e+03_rb,0.87580e+03_rb,0.11570e+04_rb /) kbo(:, 3,43,10) = (/ & & 0.10354e+04_rb,0.78512e+03_rb,0.59483e+03_rb,0.87469e+03_rb,0.11553e+04_rb /) kbo(:, 4,43,10) = (/ & & 0.10354e+04_rb,0.78569e+03_rb,0.59395e+03_rb,0.87316e+03_rb,0.11531e+04_rb /) kbo(:, 5,43,10) = (/ & & 0.10359e+04_rb,0.78598e+03_rb,0.59313e+03_rb,0.87186e+03_rb,0.11507e+04_rb /) kbo(:, 1,44,10) = (/ & & 0.10359e+04_rb,0.78521e+03_rb,0.59645e+03_rb,0.87700e+03_rb,0.11590e+04_rb /) kbo(:, 2,44,10) = (/ & & 0.10361e+04_rb,0.78510e+03_rb,0.59583e+03_rb,0.87611e+03_rb,0.11574e+04_rb /) kbo(:, 3,44,10) = (/ & & 0.10368e+04_rb,0.78519e+03_rb,0.59511e+03_rb,0.87509e+03_rb,0.11561e+04_rb /) kbo(:, 4,44,10) = (/ & & 0.10360e+04_rb,0.78508e+03_rb,0.59424e+03_rb,0.87372e+03_rb,0.11538e+04_rb /) kbo(:, 5,44,10) = (/ & & 0.10356e+04_rb,0.78537e+03_rb,0.59339e+03_rb,0.87213e+03_rb,0.11514e+04_rb /) kbo(:, 1,45,10) = (/ & & 0.10357e+04_rb,0.78557e+03_rb,0.59666e+03_rb,0.87715e+03_rb,0.11597e+04_rb /) kbo(:, 2,45,10) = (/ & & 0.10356e+04_rb,0.78527e+03_rb,0.59604e+03_rb,0.87639e+03_rb,0.11579e+04_rb /) kbo(:, 3,45,10) = (/ & & 0.10360e+04_rb,0.78546e+03_rb,0.59537e+03_rb,0.87547e+03_rb,0.11565e+04_rb /) kbo(:, 4,45,10) = (/ & & 0.10361e+04_rb,0.78506e+03_rb,0.59454e+03_rb,0.87427e+03_rb,0.11544e+04_rb /) kbo(:, 5,45,10) = (/ & & 0.10353e+04_rb,0.78535e+03_rb,0.59366e+03_rb,0.87293e+03_rb,0.11520e+04_rb /) kbo(:, 1,46,10) = (/ & & 0.10358e+04_rb,0.78506e+03_rb,0.59691e+03_rb,0.87749e+03_rb,0.11602e+04_rb /) kbo(:, 2,46,10) = (/ & & 0.10353e+04_rb,0.78486e+03_rb,0.59626e+03_rb,0.87678e+03_rb,0.11584e+04_rb /) kbo(:, 3,46,10) = (/ & & 0.10353e+04_rb,0.78495e+03_rb,0.59563e+03_rb,0.87572e+03_rb,0.11570e+04_rb /) kbo(:, 4,46,10) = (/ & & 0.10363e+04_rb,0.78534e+03_rb,0.59478e+03_rb,0.87473e+03_rb,0.11554e+04_rb /) kbo(:, 5,46,10) = (/ & & 0.10355e+04_rb,0.78455e+03_rb,0.59398e+03_rb,0.87342e+03_rb,0.11530e+04_rb /) kbo(:, 1,47,10) = (/ & & 0.10357e+04_rb,0.78544e+03_rb,0.59719e+03_rb,0.87795e+03_rb,0.11609e+04_rb /) kbo(:, 2,47,10) = (/ & & 0.10355e+04_rb,0.78533e+03_rb,0.59651e+03_rb,0.87696e+03_rb,0.11589e+04_rb /) kbo(:, 3,47,10) = (/ & & 0.10358e+04_rb,0.78543e+03_rb,0.59590e+03_rb,0.87576e+03_rb,0.11576e+04_rb /) kbo(:, 4,47,10) = (/ & & 0.10351e+04_rb,0.78562e+03_rb,0.59519e+03_rb,0.87521e+03_rb,0.11561e+04_rb /) kbo(:, 5,47,10) = (/ & & 0.10359e+04_rb,0.78571e+03_rb,0.59433e+03_rb,0.87385e+03_rb,0.11540e+04_rb /) kbo(:, 1,48,10) = (/ & & 0.10363e+04_rb,0.78513e+03_rb,0.59744e+03_rb,0.87846e+03_rb,0.11618e+04_rb /) kbo(:, 2,48,10) = (/ & & 0.10360e+04_rb,0.78532e+03_rb,0.59677e+03_rb,0.87730e+03_rb,0.11598e+04_rb /) kbo(:, 3,48,10) = (/ & & 0.10365e+04_rb,0.78483e+03_rb,0.59614e+03_rb,0.87707e+03_rb,0.11581e+04_rb /) kbo(:, 4,48,10) = (/ & & 0.10355e+04_rb,0.78521e+03_rb,0.59549e+03_rb,0.87564e+03_rb,0.11567e+04_rb /) kbo(:, 5,48,10) = (/ & & 0.10355e+04_rb,0.78531e+03_rb,0.59469e+03_rb,0.87448e+03_rb,0.11550e+04_rb /) kbo(:, 1,49,10) = (/ & & 0.10351e+04_rb,0.78492e+03_rb,0.59768e+03_rb,0.87902e+03_rb,0.11625e+04_rb /) kbo(:, 2,49,10) = (/ & & 0.10355e+04_rb,0.78541e+03_rb,0.59705e+03_rb,0.87772e+03_rb,0.11606e+04_rb /) kbo(:, 3,49,10) = (/ & & 0.10352e+04_rb,0.78472e+03_rb,0.59639e+03_rb,0.87682e+03_rb,0.11587e+04_rb /) kbo(:, 4,49,10) = (/ & & 0.10356e+04_rb,0.78511e+03_rb,0.59577e+03_rb,0.87591e+03_rb,0.11574e+04_rb /) kbo(:, 5,49,10) = (/ & & 0.10352e+04_rb,0.78501e+03_rb,0.59510e+03_rb,0.87498e+03_rb,0.11558e+04_rb /) kbo(:, 1,50,10) = (/ & & 0.10361e+04_rb,0.78540e+03_rb,0.59770e+03_rb,0.87956e+03_rb,0.11633e+04_rb /) kbo(:, 2,50,10) = (/ & & 0.10357e+04_rb,0.78530e+03_rb,0.59731e+03_rb,0.87817e+03_rb,0.11612e+04_rb /) kbo(:, 3,50,10) = (/ & & 0.10365e+04_rb,0.78510e+03_rb,0.59662e+03_rb,0.87710e+03_rb,0.11596e+04_rb /) kbo(:, 4,50,10) = (/ & & 0.10365e+04_rb,0.78510e+03_rb,0.59601e+03_rb,0.87645e+03_rb,0.11578e+04_rb /) kbo(:, 5,50,10) = (/ & & 0.10352e+04_rb,0.78588e+03_rb,0.59525e+03_rb,0.87541e+03_rb,0.11564e+04_rb /) kbo(:, 1,51,10) = (/ & & 0.10356e+04_rb,0.78490e+03_rb,0.59781e+03_rb,0.88010e+03_rb,0.11639e+04_rb /) kbo(:, 2,51,10) = (/ & & 0.10356e+04_rb,0.78539e+03_rb,0.59751e+03_rb,0.87866e+03_rb,0.11620e+04_rb /) kbo(:, 3,51,10) = (/ & & 0.10359e+04_rb,0.78461e+03_rb,0.59687e+03_rb,0.87744e+03_rb,0.11601e+04_rb /) kbo(:, 4,51,10) = (/ & & 0.10352e+04_rb,0.78519e+03_rb,0.59623e+03_rb,0.87674e+03_rb,0.11583e+04_rb /) kbo(:, 5,51,10) = (/ & & 0.10356e+04_rb,0.78470e+03_rb,0.59552e+03_rb,0.87578e+03_rb,0.11569e+04_rb /) kbo(:, 1,52,10) = (/ & & 0.10352e+04_rb,0.78509e+03_rb,0.59800e+03_rb,0.88094e+03_rb,0.11643e+04_rb /) kbo(:, 2,52,10) = (/ & & 0.10355e+04_rb,0.78528e+03_rb,0.59763e+03_rb,0.87918e+03_rb,0.11627e+04_rb /) kbo(:, 3,52,10) = (/ & & 0.10361e+04_rb,0.78479e+03_rb,0.59712e+03_rb,0.87762e+03_rb,0.11608e+04_rb /) kbo(:, 4,52,10) = (/ & & 0.10358e+04_rb,0.78528e+03_rb,0.59645e+03_rb,0.87678e+03_rb,0.11589e+04_rb /) kbo(:, 5,52,10) = (/ & & 0.10355e+04_rb,0.78528e+03_rb,0.59584e+03_rb,0.87612e+03_rb,0.11573e+04_rb /) kbo(:, 1,53,10) = (/ & & 0.10357e+04_rb,0.78528e+03_rb,0.59832e+03_rb,0.88148e+03_rb,0.11650e+04_rb /) kbo(:, 2,53,10) = (/ & & 0.10357e+04_rb,0.78596e+03_rb,0.59772e+03_rb,0.87969e+03_rb,0.11634e+04_rb /) kbo(:, 3,53,10) = (/ & & 0.10361e+04_rb,0.78547e+03_rb,0.59737e+03_rb,0.87830e+03_rb,0.11614e+04_rb /) kbo(:, 4,53,10) = (/ & & 0.10362e+04_rb,0.78537e+03_rb,0.59668e+03_rb,0.87707e+03_rb,0.11596e+04_rb /) kbo(:, 5,53,10) = (/ & & 0.10356e+04_rb,0.78498e+03_rb,0.59606e+03_rb,0.87642e+03_rb,0.11578e+04_rb /) kbo(:, 1,54,10) = (/ & & 0.10351e+04_rb,0.78567e+03_rb,0.59851e+03_rb,0.88199e+03_rb,0.11656e+04_rb /) kbo(:, 2,54,10) = (/ & & 0.10366e+04_rb,0.78518e+03_rb,0.59776e+03_rb,0.88021e+03_rb,0.11638e+04_rb /) kbo(:, 3,54,10) = (/ & & 0.10364e+04_rb,0.78478e+03_rb,0.59753e+03_rb,0.87875e+03_rb,0.11621e+04_rb /) kbo(:, 4,54,10) = (/ & & 0.10356e+04_rb,0.78498e+03_rb,0.59692e+03_rb,0.87751e+03_rb,0.11602e+04_rb /) kbo(:, 5,54,10) = (/ & & 0.10362e+04_rb,0.78527e+03_rb,0.59627e+03_rb,0.87657e+03_rb,0.11584e+04_rb /) kbo(:, 1,55,10) = (/ & & 0.10355e+04_rb,0.78488e+03_rb,0.59876e+03_rb,0.88250e+03_rb,0.11663e+04_rb /) kbo(:, 2,55,10) = (/ & & 0.10362e+04_rb,0.78527e+03_rb,0.59801e+03_rb,0.88087e+03_rb,0.11643e+04_rb /) kbo(:, 3,55,10) = (/ & & 0.10356e+04_rb,0.78507e+03_rb,0.59764e+03_rb,0.87920e+03_rb,0.11628e+04_rb /) kbo(:, 4,55,10) = (/ & & 0.10353e+04_rb,0.78488e+03_rb,0.59714e+03_rb,0.87787e+03_rb,0.11606e+04_rb /) kbo(:, 5,55,10) = (/ & & 0.10356e+04_rb,0.78488e+03_rb,0.59639e+03_rb,0.87691e+03_rb,0.11585e+04_rb /) kbo(:, 1,56,10) = (/ & & 0.10353e+04_rb,0.78537e+03_rb,0.59904e+03_rb,0.88318e+03_rb,0.11672e+04_rb /) kbo(:, 2,56,10) = (/ & & 0.10354e+04_rb,0.78497e+03_rb,0.59830e+03_rb,0.88144e+03_rb,0.11649e+04_rb /) kbo(:, 3,56,10) = (/ & & 0.10361e+04_rb,0.78536e+03_rb,0.59771e+03_rb,0.87966e+03_rb,0.11634e+04_rb /) kbo(:, 4,56,10) = (/ & & 0.10357e+04_rb,0.78497e+03_rb,0.59736e+03_rb,0.87826e+03_rb,0.11615e+04_rb /) kbo(:, 5,56,10) = (/ & & 0.10353e+04_rb,0.78478e+03_rb,0.59667e+03_rb,0.87705e+03_rb,0.11595e+04_rb /) kbo(:, 1,57,10) = (/ & & 0.10358e+04_rb,0.78458e+03_rb,0.59927e+03_rb,0.88350e+03_rb,0.11679e+04_rb /) kbo(:, 2,57,10) = (/ & & 0.10352e+04_rb,0.78536e+03_rb,0.59840e+03_rb,0.88193e+03_rb,0.11656e+04_rb /) kbo(:, 3,57,10) = (/ & & 0.10352e+04_rb,0.78526e+03_rb,0.59782e+03_rb,0.88003e+03_rb,0.11638e+04_rb /) kbo(:, 4,57,10) = (/ & & 0.10358e+04_rb,0.78497e+03_rb,0.59751e+03_rb,0.87869e+03_rb,0.11622e+04_rb /) kbo(:, 5,57,10) = (/ & & 0.10360e+04_rb,0.78497e+03_rb,0.59689e+03_rb,0.87746e+03_rb,0.11601e+04_rb /) kbo(:, 1,58,10) = (/ & & 0.10358e+04_rb,0.78468e+03_rb,0.59969e+03_rb,0.88402e+03_rb,0.11685e+04_rb /) kbo(:, 2,58,10) = (/ & & 0.10357e+04_rb,0.78458e+03_rb,0.59873e+03_rb,0.88241e+03_rb,0.11662e+04_rb /) kbo(:, 3,58,10) = (/ & & 0.10358e+04_rb,0.78526e+03_rb,0.59797e+03_rb,0.88085e+03_rb,0.11642e+04_rb /) kbo(:, 4,58,10) = (/ & & 0.10356e+04_rb,0.78487e+03_rb,0.59762e+03_rb,0.87912e+03_rb,0.11626e+04_rb /) kbo(:, 5,58,10) = (/ & & 0.10357e+04_rb,0.78565e+03_rb,0.59710e+03_rb,0.87769e+03_rb,0.11608e+04_rb /) kbo(:, 1,59,10) = (/ & & 0.10360e+04_rb,0.78507e+03_rb,0.59979e+03_rb,0.88416e+03_rb,0.11687e+04_rb /) kbo(:, 2,59,10) = (/ & & 0.10357e+04_rb,0.78477e+03_rb,0.59879e+03_rb,0.88260e+03_rb,0.11665e+04_rb /) kbo(:, 3,59,10) = (/ & & 0.10350e+04_rb,0.78526e+03_rb,0.59804e+03_rb,0.88100e+03_rb,0.11644e+04_rb /) kbo(:, 4,59,10) = (/ & & 0.10357e+04_rb,0.78467e+03_rb,0.59773e+03_rb,0.87930e+03_rb,0.11629e+04_rb /) kbo(:, 5,59,10) = (/ & & 0.10358e+04_rb,0.78457e+03_rb,0.59718e+03_rb,0.87783e+03_rb,0.11609e+04_rb /) kbo(:, 1,13,11) = (/ & & 0.11563e+04_rb,0.87491e+03_rb,0.60253e+03_rb,0.88362e+03_rb,0.11664e+04_rb /) kbo(:, 2,13,11) = (/ & & 0.11454e+04_rb,0.86861e+03_rb,0.60211e+03_rb,0.88300e+03_rb,0.11639e+04_rb /) kbo(:, 3,13,11) = (/ & & 0.11392e+04_rb,0.86181e+03_rb,0.60140e+03_rb,0.88181e+03_rb,0.11620e+04_rb /) kbo(:, 4,13,11) = (/ & & 0.11315e+04_rb,0.85680e+03_rb,0.60042e+03_rb,0.88057e+03_rb,0.11602e+04_rb /) kbo(:, 5,13,11) = (/ & & 0.11273e+04_rb,0.85330e+03_rb,0.59929e+03_rb,0.87908e+03_rb,0.11581e+04_rb /) kbo(:, 1,14,11) = (/ & & 0.11333e+04_rb,0.85776e+03_rb,0.60215e+03_rb,0.88338e+03_rb,0.11660e+04_rb /) kbo(:, 2,14,11) = (/ & & 0.11256e+04_rb,0.85211e+03_rb,0.60176e+03_rb,0.88258e+03_rb,0.11637e+04_rb /) kbo(:, 3,14,11) = (/ & & 0.11185e+04_rb,0.84809e+03_rb,0.60101e+03_rb,0.88154e+03_rb,0.11618e+04_rb /) kbo(:, 4,14,11) = (/ & & 0.11137e+04_rb,0.84328e+03_rb,0.59992e+03_rb,0.87989e+03_rb,0.11599e+04_rb /) kbo(:, 5,14,11) = (/ & & 0.11092e+04_rb,0.83997e+03_rb,0.59898e+03_rb,0.87879e+03_rb,0.11581e+04_rb /) kbo(:, 1,15,11) = (/ & & 0.11149e+04_rb,0.84435e+03_rb,0.60192e+03_rb,0.88317e+03_rb,0.11660e+04_rb /) kbo(:, 2,15,11) = (/ & & 0.11071e+04_rb,0.83899e+03_rb,0.60145e+03_rb,0.88233e+03_rb,0.11635e+04_rb /) kbo(:, 3,15,11) = (/ & & 0.11058e+04_rb,0.83612e+03_rb,0.60066e+03_rb,0.88128e+03_rb,0.11617e+04_rb /) kbo(:, 4,15,11) = (/ & & 0.10996e+04_rb,0.83410e+03_rb,0.59965e+03_rb,0.88002e+03_rb,0.11599e+04_rb /) kbo(:, 5,15,11) = (/ & & 0.10957e+04_rb,0.83022e+03_rb,0.59863e+03_rb,0.87850e+03_rb,0.11578e+04_rb /) kbo(:, 1,16,11) = (/ & & 0.10993e+04_rb,0.83361e+03_rb,0.60157e+03_rb,0.88298e+03_rb,0.11657e+04_rb /) kbo(:, 2,16,11) = (/ & & 0.10933e+04_rb,0.82961e+03_rb,0.60127e+03_rb,0.88210e+03_rb,0.11633e+04_rb /) kbo(:, 3,16,11) = (/ & & 0.10924e+04_rb,0.82745e+03_rb,0.60035e+03_rb,0.88104e+03_rb,0.11615e+04_rb /) kbo(:, 4,16,11) = (/ & & 0.10885e+04_rb,0.82319e+03_rb,0.59934e+03_rb,0.87977e+03_rb,0.11597e+04_rb /) kbo(:, 5,16,11) = (/ & & 0.10838e+04_rb,0.82062e+03_rb,0.59823e+03_rb,0.87823e+03_rb,0.11577e+04_rb /) kbo(:, 1,17,11) = (/ & & 0.10881e+04_rb,0.82385e+03_rb,0.60135e+03_rb,0.88282e+03_rb,0.11656e+04_rb /) kbo(:, 2,17,11) = (/ & & 0.10840e+04_rb,0.82201e+03_rb,0.60094e+03_rb,0.88190e+03_rb,0.11631e+04_rb /) kbo(:, 3,17,11) = (/ & & 0.10809e+04_rb,0.81908e+03_rb,0.60007e+03_rb,0.88083e+03_rb,0.11613e+04_rb /) kbo(:, 4,17,11) = (/ & & 0.10772e+04_rb,0.81792e+03_rb,0.59907e+03_rb,0.87953e+03_rb,0.11595e+04_rb /) kbo(:, 5,17,11) = (/ & & 0.10760e+04_rb,0.81580e+03_rb,0.59806e+03_rb,0.87798e+03_rb,0.11575e+04_rb /) kbo(:, 1,18,11) = (/ & & 0.10780e+04_rb,0.81679e+03_rb,0.60116e+03_rb,0.88267e+03_rb,0.11653e+04_rb /) kbo(:, 2,18,11) = (/ & & 0.10749e+04_rb,0.81512e+03_rb,0.60072e+03_rb,0.88171e+03_rb,0.11629e+04_rb /) kbo(:, 3,18,11) = (/ & & 0.10728e+04_rb,0.81180e+03_rb,0.59983e+03_rb,0.88050e+03_rb,0.11611e+04_rb /) kbo(:, 4,18,11) = (/ & & 0.10707e+04_rb,0.81081e+03_rb,0.59883e+03_rb,0.87944e+03_rb,0.11593e+04_rb /) kbo(:, 5,18,11) = (/ & & 0.10678e+04_rb,0.80905e+03_rb,0.59782e+03_rb,0.87775e+03_rb,0.11574e+04_rb /) kbo(:, 1,19,11) = (/ & & 0.10696e+04_rb,0.81122e+03_rb,0.60101e+03_rb,0.88252e+03_rb,0.11649e+04_rb /) kbo(:, 2,19,11) = (/ & & 0.10692e+04_rb,0.80792e+03_rb,0.60053e+03_rb,0.88155e+03_rb,0.11625e+04_rb /) kbo(:, 3,19,11) = (/ & & 0.10653e+04_rb,0.80791e+03_rb,0.59962e+03_rb,0.88058e+03_rb,0.11609e+04_rb /) kbo(:, 4,19,11) = (/ & & 0.10635e+04_rb,0.80651e+03_rb,0.59853e+03_rb,0.87910e+03_rb,0.11591e+04_rb /) kbo(:, 5,19,11) = (/ & & 0.10626e+04_rb,0.80552e+03_rb,0.59761e+03_rb,0.87753e+03_rb,0.11572e+04_rb /) kbo(:, 1,20,11) = (/ & & 0.10638e+04_rb,0.80613e+03_rb,0.60096e+03_rb,0.88236e+03_rb,0.11646e+04_rb /) kbo(:, 2,20,11) = (/ & & 0.10623e+04_rb,0.80416e+03_rb,0.60035e+03_rb,0.88137e+03_rb,0.11625e+04_rb /) kbo(:, 3,20,11) = (/ & & 0.10590e+04_rb,0.80264e+03_rb,0.59950e+03_rb,0.88013e+03_rb,0.11607e+04_rb /) kbo(:, 4,20,11) = (/ & & 0.10603e+04_rb,0.80308e+03_rb,0.59841e+03_rb,0.87915e+03_rb,0.11587e+04_rb /) kbo(:, 5,20,11) = (/ & & 0.10573e+04_rb,0.80101e+03_rb,0.59740e+03_rb,0.87729e+03_rb,0.11568e+04_rb /) kbo(:, 1,21,11) = (/ & & 0.10580e+04_rb,0.80255e+03_rb,0.60075e+03_rb,0.88233e+03_rb,0.11643e+04_rb /) kbo(:, 2,21,11) = (/ & & 0.10580e+04_rb,0.80172e+03_rb,0.60017e+03_rb,0.88121e+03_rb,0.11623e+04_rb /) kbo(:, 3,21,11) = (/ & & 0.10551e+04_rb,0.80129e+03_rb,0.59922e+03_rb,0.87954e+03_rb,0.11605e+04_rb /) kbo(:, 4,21,11) = (/ & & 0.10544e+04_rb,0.79894e+03_rb,0.59822e+03_rb,0.87866e+03_rb,0.11586e+04_rb /) kbo(:, 5,21,11) = (/ & & 0.10531e+04_rb,0.79850e+03_rb,0.59721e+03_rb,0.87693e+03_rb,0.11568e+04_rb /) kbo(:, 1,22,11) = (/ & & 0.10535e+04_rb,0.79809e+03_rb,0.60064e+03_rb,0.88198e+03_rb,0.11639e+04_rb /) kbo(:, 2,22,11) = (/ & & 0.10534e+04_rb,0.79679e+03_rb,0.59986e+03_rb,0.88098e+03_rb,0.11619e+04_rb /) kbo(:, 3,22,11) = (/ & & 0.10517e+04_rb,0.79764e+03_rb,0.59897e+03_rb,0.87993e+03_rb,0.11602e+04_rb /) kbo(:, 4,22,11) = (/ & & 0.10510e+04_rb,0.79739e+03_rb,0.59797e+03_rb,0.87835e+03_rb,0.11582e+04_rb /) kbo(:, 5,22,11) = (/ & & 0.10492e+04_rb,0.79579e+03_rb,0.59697e+03_rb,0.87672e+03_rb,0.11565e+04_rb /) kbo(:, 1,23,11) = (/ & & 0.10516e+04_rb,0.79606e+03_rb,0.60095e+03_rb,0.88176e+03_rb,0.11633e+04_rb /) kbo(:, 2,23,11) = (/ & & 0.10497e+04_rb,0.79542e+03_rb,0.59972e+03_rb,0.88074e+03_rb,0.11616e+04_rb /) kbo(:, 3,23,11) = (/ & & 0.10482e+04_rb,0.79453e+03_rb,0.59873e+03_rb,0.87952e+03_rb,0.11598e+04_rb /) kbo(:, 4,23,11) = (/ & & 0.10486e+04_rb,0.79431e+03_rb,0.59782e+03_rb,0.87802e+03_rb,0.11579e+04_rb /) kbo(:, 5,23,11) = (/ & & 0.10473e+04_rb,0.79522e+03_rb,0.59672e+03_rb,0.87637e+03_rb,0.11562e+04_rb /) kbo(:, 1,24,11) = (/ & & 0.10467e+04_rb,0.79476e+03_rb,0.60034e+03_rb,0.88154e+03_rb,0.11630e+04_rb /) kbo(:, 2,24,11) = (/ & & 0.10461e+04_rb,0.79357e+03_rb,0.59948e+03_rb,0.88049e+03_rb,0.11613e+04_rb /) kbo(:, 3,24,11) = (/ & & 0.10460e+04_rb,0.79280e+03_rb,0.59849e+03_rb,0.87921e+03_rb,0.11596e+04_rb /) kbo(:, 4,24,11) = (/ & & 0.10457e+04_rb,0.79222e+03_rb,0.59749e+03_rb,0.87768e+03_rb,0.11575e+04_rb /) kbo(:, 5,24,11) = (/ & & 0.10450e+04_rb,0.79193e+03_rb,0.59639e+03_rb,0.87600e+03_rb,0.11558e+04_rb /) kbo(:, 1,25,11) = (/ & & 0.10463e+04_rb,0.79209e+03_rb,0.60015e+03_rb,0.88131e+03_rb,0.11626e+04_rb /) kbo(:, 2,25,11) = (/ & & 0.10455e+04_rb,0.79185e+03_rb,0.59924e+03_rb,0.87983e+03_rb,0.11609e+04_rb /) kbo(:, 3,25,11) = (/ & & 0.10450e+04_rb,0.79214e+03_rb,0.59824e+03_rb,0.87889e+03_rb,0.11590e+04_rb /) kbo(:, 4,25,11) = (/ & & 0.10445e+04_rb,0.79118e+03_rb,0.59725e+03_rb,0.87732e+03_rb,0.11571e+04_rb /) kbo(:, 5,25,11) = (/ & & 0.10428e+04_rb,0.79168e+03_rb,0.59624e+03_rb,0.87561e+03_rb,0.11555e+04_rb /) kbo(:, 1,26,11) = (/ & & 0.10437e+04_rb,0.79093e+03_rb,0.59993e+03_rb,0.88106e+03_rb,0.11624e+04_rb /) kbo(:, 2,26,11) = (/ & & 0.10430e+04_rb,0.79091e+03_rb,0.59898e+03_rb,0.87993e+03_rb,0.11605e+04_rb /) kbo(:, 3,26,11) = (/ & & 0.10430e+04_rb,0.79069e+03_rb,0.59808e+03_rb,0.87852e+03_rb,0.11586e+04_rb /) kbo(:, 4,26,11) = (/ & & 0.10425e+04_rb,0.79087e+03_rb,0.59699e+03_rb,0.87692e+03_rb,0.11569e+04_rb /) kbo(:, 5,26,11) = (/ & & 0.10414e+04_rb,0.78954e+03_rb,0.59598e+03_rb,0.87517e+03_rb,0.11547e+04_rb /) kbo(:, 1,27,11) = (/ & & 0.10423e+04_rb,0.79028e+03_rb,0.59970e+03_rb,0.88080e+03_rb,0.11616e+04_rb /) kbo(:, 2,27,11) = (/ & & 0.10415e+04_rb,0.78939e+03_rb,0.59872e+03_rb,0.87961e+03_rb,0.11600e+04_rb /) kbo(:, 3,27,11) = (/ & & 0.10419e+04_rb,0.78972e+03_rb,0.59773e+03_rb,0.87814e+03_rb,0.11581e+04_rb /) kbo(:, 4,27,11) = (/ & & 0.10405e+04_rb,0.78901e+03_rb,0.59673e+03_rb,0.87651e+03_rb,0.11564e+04_rb /) kbo(:, 5,27,11) = (/ & & 0.10410e+04_rb,0.78880e+03_rb,0.59572e+03_rb,0.87471e+03_rb,0.11546e+04_rb /) kbo(:, 1,28,11) = (/ & & 0.10411e+04_rb,0.78831e+03_rb,0.59945e+03_rb,0.88052e+03_rb,0.11614e+04_rb /) kbo(:, 2,28,11) = (/ & & 0.10402e+04_rb,0.78866e+03_rb,0.59846e+03_rb,0.87954e+03_rb,0.11596e+04_rb /) kbo(:, 3,28,11) = (/ & & 0.10401e+04_rb,0.78798e+03_rb,0.59747e+03_rb,0.87776e+03_rb,0.11577e+04_rb /) kbo(:, 4,28,11) = (/ & & 0.10407e+04_rb,0.78779e+03_rb,0.59647e+03_rb,0.87596e+03_rb,0.11560e+04_rb /) kbo(:, 5,28,11) = (/ & & 0.10407e+04_rb,0.78751e+03_rb,0.59548e+03_rb,0.87425e+03_rb,0.11542e+04_rb /) kbo(:, 1,29,11) = (/ & & 0.10408e+04_rb,0.78876e+03_rb,0.59920e+03_rb,0.87983e+03_rb,0.11608e+04_rb /) kbo(:, 2,29,11) = (/ & & 0.10408e+04_rb,0.78834e+03_rb,0.59820e+03_rb,0.87891e+03_rb,0.11591e+04_rb /) kbo(:, 3,29,11) = (/ & & 0.10387e+04_rb,0.78864e+03_rb,0.59721e+03_rb,0.87735e+03_rb,0.11572e+04_rb /) kbo(:, 4,29,11) = (/ & & 0.10384e+04_rb,0.78778e+03_rb,0.59621e+03_rb,0.87578e+03_rb,0.11555e+04_rb /) kbo(:, 5,29,11) = (/ & & 0.10412e+04_rb,0.78824e+03_rb,0.59524e+03_rb,0.87368e+03_rb,0.11538e+04_rb /) kbo(:, 1,30,11) = (/ & & 0.10383e+04_rb,0.78758e+03_rb,0.59894e+03_rb,0.87992e+03_rb,0.11605e+04_rb /) kbo(:, 2,30,11) = (/ & & 0.10390e+04_rb,0.78755e+03_rb,0.59785e+03_rb,0.87840e+03_rb,0.11584e+04_rb /) kbo(:, 3,30,11) = (/ & & 0.10391e+04_rb,0.78813e+03_rb,0.59695e+03_rb,0.87693e+03_rb,0.11568e+04_rb /) kbo(:, 4,30,11) = (/ & & 0.10384e+04_rb,0.78683e+03_rb,0.59594e+03_rb,0.87519e+03_rb,0.11551e+04_rb /) kbo(:, 5,30,11) = (/ & & 0.10388e+04_rb,0.78660e+03_rb,0.59501e+03_rb,0.87341e+03_rb,0.11534e+04_rb /) kbo(:, 1,31,11) = (/ & & 0.10376e+04_rb,0.78640e+03_rb,0.59867e+03_rb,0.87959e+03_rb,0.11601e+04_rb /) kbo(:, 2,31,11) = (/ & & 0.10381e+04_rb,0.78687e+03_rb,0.59768e+03_rb,0.87813e+03_rb,0.11581e+04_rb /) kbo(:, 3,31,11) = (/ & & 0.10369e+04_rb,0.78736e+03_rb,0.59668e+03_rb,0.87650e+03_rb,0.11564e+04_rb /) kbo(:, 4,31,11) = (/ & & 0.10380e+04_rb,0.78738e+03_rb,0.59577e+03_rb,0.87483e+03_rb,0.11546e+04_rb /) kbo(:, 5,31,11) = (/ & & 0.10391e+04_rb,0.78671e+03_rb,0.59479e+03_rb,0.87299e+03_rb,0.11532e+04_rb /) kbo(:, 1,32,11) = (/ & & 0.10371e+04_rb,0.78531e+03_rb,0.59840e+03_rb,0.87936e+03_rb,0.11596e+04_rb /) kbo(:, 2,32,11) = (/ & & 0.10383e+04_rb,0.78734e+03_rb,0.59742e+03_rb,0.87771e+03_rb,0.11576e+04_rb /) kbo(:, 3,32,11) = (/ & & 0.10363e+04_rb,0.78691e+03_rb,0.59641e+03_rb,0.87605e+03_rb,0.11559e+04_rb /) kbo(:, 4,32,11) = (/ & & 0.10373e+04_rb,0.78648e+03_rb,0.59543e+03_rb,0.87420e+03_rb,0.11542e+04_rb /) kbo(:, 5,32,11) = (/ & & 0.10376e+04_rb,0.78617e+03_rb,0.59455e+03_rb,0.87256e+03_rb,0.11529e+04_rb /) kbo(:, 1,33,11) = (/ & & 0.10366e+04_rb,0.78725e+03_rb,0.59814e+03_rb,0.87885e+03_rb,0.11591e+04_rb /) kbo(:, 2,33,11) = (/ & & 0.10366e+04_rb,0.78694e+03_rb,0.59715e+03_rb,0.87729e+03_rb,0.11572e+04_rb /) kbo(:, 3,33,11) = (/ & & 0.10365e+04_rb,0.78534e+03_rb,0.59614e+03_rb,0.87545e+03_rb,0.11555e+04_rb /) kbo(:, 4,33,11) = (/ & & 0.10377e+04_rb,0.78705e+03_rb,0.59518e+03_rb,0.87362e+03_rb,0.11536e+04_rb /) kbo(:, 5,33,11) = (/ & & 0.10381e+04_rb,0.78546e+03_rb,0.59428e+03_rb,0.87201e+03_rb,0.11526e+04_rb /) kbo(:, 1,34,11) = (/ & & 0.10370e+04_rb,0.78547e+03_rb,0.59791e+03_rb,0.87837e+03_rb,0.11586e+04_rb /) kbo(:, 2,34,11) = (/ & & 0.10369e+04_rb,0.78635e+03_rb,0.59683e+03_rb,0.87691e+03_rb,0.11568e+04_rb /) kbo(:, 3,34,11) = (/ & & 0.10373e+04_rb,0.78607e+03_rb,0.59591e+03_rb,0.87516e+03_rb,0.11551e+04_rb /) kbo(:, 4,34,11) = (/ & & 0.10371e+04_rb,0.78696e+03_rb,0.59498e+03_rb,0.87338e+03_rb,0.11534e+04_rb /) kbo(:, 5,34,11) = (/ & & 0.10366e+04_rb,0.78538e+03_rb,0.59374e+03_rb,0.87179e+03_rb,0.11524e+04_rb /) kbo(:, 1,35,11) = (/ & & 0.10371e+04_rb,0.78681e+03_rb,0.59778e+03_rb,0.87830e+03_rb,0.11583e+04_rb /) kbo(:, 2,35,11) = (/ & & 0.10367e+04_rb,0.78665e+03_rb,0.59678e+03_rb,0.87669e+03_rb,0.11566e+04_rb /) kbo(:, 3,35,11) = (/ & & 0.10363e+04_rb,0.78613e+03_rb,0.59569e+03_rb,0.87491e+03_rb,0.11549e+04_rb /) kbo(:, 4,35,11) = (/ & & 0.10364e+04_rb,0.78668e+03_rb,0.59487e+03_rb,0.87304e+03_rb,0.11533e+04_rb /) kbo(:, 5,35,11) = (/ & & 0.10370e+04_rb,0.78641e+03_rb,0.59363e+03_rb,0.87159e+03_rb,0.11523e+04_rb /) kbo(:, 1,36,11) = (/ & & 0.10366e+04_rb,0.78595e+03_rb,0.59775e+03_rb,0.87827e+03_rb,0.11583e+04_rb /) kbo(:, 2,36,11) = (/ & & 0.10367e+04_rb,0.78568e+03_rb,0.59676e+03_rb,0.87652e+03_rb,0.11565e+04_rb /) kbo(:, 3,36,11) = (/ & & 0.10363e+04_rb,0.78600e+03_rb,0.59575e+03_rb,0.87487e+03_rb,0.11548e+04_rb /) kbo(:, 4,36,11) = (/ & & 0.10370e+04_rb,0.78596e+03_rb,0.59503e+03_rb,0.87314e+03_rb,0.11533e+04_rb /) kbo(:, 5,36,11) = (/ & & 0.10356e+04_rb,0.78546e+03_rb,0.59359e+03_rb,0.87116e+03_rb,0.11523e+04_rb /) kbo(:, 1,37,11) = (/ & & 0.10367e+04_rb,0.78524e+03_rb,0.59788e+03_rb,0.87847e+03_rb,0.11586e+04_rb /) kbo(:, 2,37,11) = (/ & & 0.10373e+04_rb,0.78580e+03_rb,0.59689e+03_rb,0.87687e+03_rb,0.11567e+04_rb /) kbo(:, 3,37,11) = (/ & & 0.10369e+04_rb,0.78554e+03_rb,0.59588e+03_rb,0.87512e+03_rb,0.11550e+04_rb /) kbo(:, 4,37,11) = (/ & & 0.10372e+04_rb,0.78551e+03_rb,0.59495e+03_rb,0.87335e+03_rb,0.11534e+04_rb /) kbo(:, 5,37,11) = (/ & & 0.10364e+04_rb,0.78631e+03_rb,0.59378e+03_rb,0.87175e+03_rb,0.11524e+04_rb /) kbo(:, 1,38,11) = (/ & & 0.10372e+04_rb,0.78574e+03_rb,0.59801e+03_rb,0.87867e+03_rb,0.11588e+04_rb /) kbo(:, 2,38,11) = (/ & & 0.10364e+04_rb,0.78476e+03_rb,0.59702e+03_rb,0.87710e+03_rb,0.11570e+04_rb /) kbo(:, 3,38,11) = (/ & & 0.10351e+04_rb,0.78521e+03_rb,0.59593e+03_rb,0.87537e+03_rb,0.11553e+04_rb /) kbo(:, 4,38,11) = (/ & & 0.10362e+04_rb,0.78507e+03_rb,0.59507e+03_rb,0.87344e+03_rb,0.11536e+04_rb /) kbo(:, 5,38,11) = (/ & & 0.10371e+04_rb,0.78635e+03_rb,0.59400e+03_rb,0.87197e+03_rb,0.11525e+04_rb /) kbo(:, 1,39,11) = (/ & & 0.10359e+04_rb,0.78601e+03_rb,0.59815e+03_rb,0.87888e+03_rb,0.11591e+04_rb /) kbo(:, 2,39,11) = (/ & & 0.10375e+04_rb,0.78669e+03_rb,0.59716e+03_rb,0.87732e+03_rb,0.11572e+04_rb /) kbo(:, 3,39,11) = (/ & & 0.10350e+04_rb,0.78597e+03_rb,0.59615e+03_rb,0.87562e+03_rb,0.11555e+04_rb /) kbo(:, 4,39,11) = (/ & & 0.10366e+04_rb,0.78524e+03_rb,0.59519e+03_rb,0.87365e+03_rb,0.11538e+04_rb /) kbo(:, 5,39,11) = (/ & & 0.10373e+04_rb,0.78605e+03_rb,0.59422e+03_rb,0.87205e+03_rb,0.11526e+04_rb /) kbo(:, 1,40,11) = (/ & & 0.10361e+04_rb,0.78559e+03_rb,0.59838e+03_rb,0.87949e+03_rb,0.11596e+04_rb /) kbo(:, 2,40,11) = (/ & & 0.10364e+04_rb,0.78533e+03_rb,0.59740e+03_rb,0.87771e+03_rb,0.11576e+04_rb /) kbo(:, 3,40,11) = (/ & & 0.10357e+04_rb,0.78567e+03_rb,0.59640e+03_rb,0.87605e+03_rb,0.11559e+04_rb /) kbo(:, 4,40,11) = (/ & & 0.10354e+04_rb,0.78518e+03_rb,0.59541e+03_rb,0.87434e+03_rb,0.11542e+04_rb /) kbo(:, 5,40,11) = (/ & & 0.10361e+04_rb,0.78553e+03_rb,0.59453e+03_rb,0.87244e+03_rb,0.11529e+04_rb /) kbo(:, 1,41,11) = (/ & & 0.10352e+04_rb,0.78554e+03_rb,0.59863e+03_rb,0.87958e+03_rb,0.11601e+04_rb /) kbo(:, 2,41,11) = (/ & & 0.10361e+04_rb,0.78611e+03_rb,0.59765e+03_rb,0.87811e+03_rb,0.11581e+04_rb /) kbo(:, 3,41,11) = (/ & & 0.10357e+04_rb,0.78586e+03_rb,0.59665e+03_rb,0.87648e+03_rb,0.11564e+04_rb /) kbo(:, 4,41,11) = (/ & & 0.10369e+04_rb,0.78632e+03_rb,0.59556e+03_rb,0.87469e+03_rb,0.11547e+04_rb /) kbo(:, 5,41,11) = (/ & & 0.10372e+04_rb,0.78631e+03_rb,0.59476e+03_rb,0.87298e+03_rb,0.11532e+04_rb /) kbo(:, 1,42,11) = (/ & & 0.10352e+04_rb,0.78620e+03_rb,0.59889e+03_rb,0.87990e+03_rb,0.11605e+04_rb /) kbo(:, 2,42,11) = (/ & & 0.10362e+04_rb,0.78666e+03_rb,0.59790e+03_rb,0.87851e+03_rb,0.11586e+04_rb /) kbo(:, 3,42,11) = (/ & & 0.10358e+04_rb,0.78476e+03_rb,0.59691e+03_rb,0.87691e+03_rb,0.11568e+04_rb /) kbo(:, 4,42,11) = (/ & & 0.10367e+04_rb,0.78534e+03_rb,0.59590e+03_rb,0.87517e+03_rb,0.11551e+04_rb /) kbo(:, 5,42,11) = (/ & & 0.10374e+04_rb,0.78497e+03_rb,0.59497e+03_rb,0.87339e+03_rb,0.11533e+04_rb /) kbo(:, 1,43,11) = (/ & & 0.10357e+04_rb,0.78569e+03_rb,0.59919e+03_rb,0.88014e+03_rb,0.11611e+04_rb /) kbo(:, 2,43,11) = (/ & & 0.10384e+04_rb,0.78603e+03_rb,0.59811e+03_rb,0.87910e+03_rb,0.11592e+04_rb /) kbo(:, 3,43,11) = (/ & & 0.10376e+04_rb,0.78685e+03_rb,0.59731e+03_rb,0.87742e+03_rb,0.11573e+04_rb /) kbo(:, 4,43,11) = (/ & & 0.10368e+04_rb,0.78484e+03_rb,0.59612e+03_rb,0.87573e+03_rb,0.11555e+04_rb /) kbo(:, 5,43,11) = (/ & & 0.10371e+04_rb,0.78612e+03_rb,0.59525e+03_rb,0.87389e+03_rb,0.11539e+04_rb /) kbo(:, 1,44,11) = (/ & & 0.10362e+04_rb,0.78531e+03_rb,0.59952e+03_rb,0.88052e+03_rb,0.11615e+04_rb /) kbo(:, 2,44,11) = (/ & & 0.10357e+04_rb,0.78506e+03_rb,0.59854e+03_rb,0.87945e+03_rb,0.11599e+04_rb /) kbo(:, 3,44,11) = (/ & & 0.10347e+04_rb,0.78494e+03_rb,0.59755e+03_rb,0.87796e+03_rb,0.11576e+04_rb /) kbo(:, 4,44,11) = (/ & & 0.10360e+04_rb,0.78599e+03_rb,0.59655e+03_rb,0.87632e+03_rb,0.11562e+04_rb /) kbo(:, 5,44,11) = (/ & & 0.10364e+04_rb,0.78610e+03_rb,0.59556e+03_rb,0.87451e+03_rb,0.11545e+04_rb /) kbo(:, 1,45,11) = (/ & & 0.10355e+04_rb,0.78552e+03_rb,0.59982e+03_rb,0.88100e+03_rb,0.11621e+04_rb /) kbo(:, 2,45,11) = (/ & & 0.10357e+04_rb,0.78527e+03_rb,0.59887e+03_rb,0.87975e+03_rb,0.11605e+04_rb /) kbo(:, 3,45,11) = (/ & & 0.10358e+04_rb,0.78432e+03_rb,0.59788e+03_rb,0.87848e+03_rb,0.11586e+04_rb /) kbo(:, 4,45,11) = (/ & & 0.10358e+04_rb,0.78597e+03_rb,0.59689e+03_rb,0.87689e+03_rb,0.11568e+04_rb /) kbo(:, 5,45,11) = (/ & & 0.10353e+04_rb,0.78525e+03_rb,0.59589e+03_rb,0.87514e+03_rb,0.11551e+04_rb /) kbo(:, 1,46,11) = (/ & & 0.10358e+04_rb,0.78503e+03_rb,0.60010e+03_rb,0.88136e+03_rb,0.11629e+04_rb /) kbo(:, 2,46,11) = (/ & & 0.10366e+04_rb,0.78667e+03_rb,0.59923e+03_rb,0.88004e+03_rb,0.11611e+04_rb /) kbo(:, 3,46,11) = (/ & & 0.10372e+04_rb,0.78560e+03_rb,0.59824e+03_rb,0.87915e+03_rb,0.11593e+04_rb /) kbo(:, 4,46,11) = (/ & & 0.10348e+04_rb,0.78513e+03_rb,0.59725e+03_rb,0.87748e+03_rb,0.11574e+04_rb /) kbo(:, 5,46,11) = (/ & & 0.10372e+04_rb,0.78595e+03_rb,0.59625e+03_rb,0.87592e+03_rb,0.11557e+04_rb /) kbo(:, 1,47,11) = (/ & & 0.10352e+04_rb,0.78466e+03_rb,0.60059e+03_rb,0.88175e+03_rb,0.11637e+04_rb /) kbo(:, 2,47,11) = (/ & & 0.10362e+04_rb,0.78477e+03_rb,0.59970e+03_rb,0.88075e+03_rb,0.11618e+04_rb /) kbo(:, 3,47,11) = (/ & & 0.10362e+04_rb,0.78559e+03_rb,0.59863e+03_rb,0.87958e+03_rb,0.11601e+04_rb /) kbo(:, 4,47,11) = (/ & & 0.10356e+04_rb,0.78476e+03_rb,0.59765e+03_rb,0.87812e+03_rb,0.11581e+04_rb /) kbo(:, 5,47,11) = (/ & & 0.10361e+04_rb,0.78428e+03_rb,0.59665e+03_rb,0.87649e+03_rb,0.11564e+04_rb /) kbo(:, 1,48,11) = (/ & & 0.10354e+04_rb,0.78500e+03_rb,0.60042e+03_rb,0.88214e+03_rb,0.11645e+04_rb /) kbo(:, 2,48,11) = (/ & & 0.10348e+04_rb,0.78582e+03_rb,0.59995e+03_rb,0.88117e+03_rb,0.11625e+04_rb /) kbo(:, 3,48,11) = (/ & & 0.10353e+04_rb,0.78569e+03_rb,0.59903e+03_rb,0.87942e+03_rb,0.11608e+04_rb /) kbo(:, 4,48,11) = (/ & & 0.10359e+04_rb,0.78569e+03_rb,0.59804e+03_rb,0.87873e+03_rb,0.11589e+04_rb /) kbo(:, 5,48,11) = (/ & & 0.10354e+04_rb,0.78509e+03_rb,0.59705e+03_rb,0.87716e+03_rb,0.11570e+04_rb /) kbo(:, 1,49,11) = (/ & & 0.10362e+04_rb,0.78463e+03_rb,0.60042e+03_rb,0.88242e+03_rb,0.11657e+04_rb /) kbo(:, 2,49,11) = (/ & & 0.10367e+04_rb,0.78580e+03_rb,0.60023e+03_rb,0.88156e+03_rb,0.11633e+04_rb /) kbo(:, 3,49,11) = (/ & & 0.10373e+04_rb,0.78533e+03_rb,0.59942e+03_rb,0.88054e+03_rb,0.11615e+04_rb /) kbo(:, 4,49,11) = (/ & & 0.10373e+04_rb,0.78462e+03_rb,0.59844e+03_rb,0.87918e+03_rb,0.11595e+04_rb /) kbo(:, 5,49,11) = (/ & & 0.10370e+04_rb,0.78532e+03_rb,0.59736e+03_rb,0.87781e+03_rb,0.11578e+04_rb /) kbo(:, 1,50,11) = (/ & & 0.10356e+04_rb,0.78474e+03_rb,0.60056e+03_rb,0.88267e+03_rb,0.11666e+04_rb /) kbo(:, 2,50,11) = (/ & & 0.10370e+04_rb,0.78497e+03_rb,0.60046e+03_rb,0.88192e+03_rb,0.11642e+04_rb /) kbo(:, 3,50,11) = (/ & & 0.10348e+04_rb,0.78508e+03_rb,0.59977e+03_rb,0.88094e+03_rb,0.11634e+04_rb /) kbo(:, 4,50,11) = (/ & & 0.10352e+04_rb,0.78473e+03_rb,0.59881e+03_rb,0.87954e+03_rb,0.11604e+04_rb /) kbo(:, 5,50,11) = (/ & & 0.10360e+04_rb,0.78437e+03_rb,0.59782e+03_rb,0.87840e+03_rb,0.11585e+04_rb /) kbo(:, 1,51,11) = (/ & & 0.10365e+04_rb,0.78532e+03_rb,0.60054e+03_rb,0.88306e+03_rb,0.11674e+04_rb /) kbo(:, 2,51,11) = (/ & & 0.10360e+04_rb,0.78555e+03_rb,0.60046e+03_rb,0.88226e+03_rb,0.11651e+04_rb /) kbo(:, 3,51,11) = (/ & & 0.10359e+04_rb,0.78508e+03_rb,0.60006e+03_rb,0.88131e+03_rb,0.11628e+04_rb /) kbo(:, 4,51,11) = (/ & & 0.10359e+04_rb,0.78554e+03_rb,0.59917e+03_rb,0.88011e+03_rb,0.11610e+04_rb /) kbo(:, 5,51,11) = (/ & & 0.10363e+04_rb,0.78507e+03_rb,0.59818e+03_rb,0.87894e+03_rb,0.11592e+04_rb /) kbo(:, 1,52,11) = (/ & & 0.10357e+04_rb,0.78531e+03_rb,0.60048e+03_rb,0.88333e+03_rb,0.11687e+04_rb /) kbo(:, 2,52,11) = (/ & & 0.10368e+04_rb,0.78554e+03_rb,0.60053e+03_rb,0.88249e+03_rb,0.11660e+04_rb /) kbo(:, 3,52,11) = (/ & & 0.10362e+04_rb,0.78601e+03_rb,0.60037e+03_rb,0.88166e+03_rb,0.11635e+04_rb /) kbo(:, 4,52,11) = (/ & & 0.10354e+04_rb,0.78507e+03_rb,0.59952e+03_rb,0.88066e+03_rb,0.11617e+04_rb /) kbo(:, 5,52,11) = (/ & & 0.10363e+04_rb,0.78565e+03_rb,0.59854e+03_rb,0.87959e+03_rb,0.11599e+04_rb /) kbo(:, 1,53,11) = (/ & & 0.10366e+04_rb,0.78460e+03_rb,0.60030e+03_rb,0.88415e+03_rb,0.11699e+04_rb /) kbo(:, 2,53,11) = (/ & & 0.10366e+04_rb,0.78400e+03_rb,0.60056e+03_rb,0.88262e+03_rb,0.11668e+04_rb /) kbo(:, 3,53,11) = (/ & & 0.10358e+04_rb,0.78459e+03_rb,0.60039e+03_rb,0.88202e+03_rb,0.11644e+04_rb /) kbo(:, 4,53,11) = (/ & & 0.10348e+04_rb,0.78471e+03_rb,0.59985e+03_rb,0.88104e+03_rb,0.11623e+04_rb /) kbo(:, 5,53,11) = (/ & & 0.10366e+04_rb,0.78577e+03_rb,0.59891e+03_rb,0.87992e+03_rb,0.11606e+04_rb /) kbo(:, 1,54,11) = (/ & & 0.10355e+04_rb,0.78471e+03_rb,0.60033e+03_rb,0.88501e+03_rb,0.11708e+04_rb /) kbo(:, 2,54,11) = (/ & & 0.10360e+04_rb,0.78494e+03_rb,0.60053e+03_rb,0.88313e+03_rb,0.11678e+04_rb /) kbo(:, 3,54,11) = (/ & & 0.10360e+04_rb,0.78671e+03_rb,0.60047e+03_rb,0.88230e+03_rb,0.11652e+04_rb /) kbo(:, 4,54,11) = (/ & & 0.10355e+04_rb,0.78588e+03_rb,0.60010e+03_rb,0.88137e+03_rb,0.11629e+04_rb /) kbo(:, 5,54,11) = (/ & & 0.10357e+04_rb,0.78517e+03_rb,0.59924e+03_rb,0.88032e+03_rb,0.11612e+04_rb /) kbo(:, 1,55,11) = (/ & & 0.10357e+04_rb,0.78506e+03_rb,0.60035e+03_rb,0.88567e+03_rb,0.11714e+04_rb /) kbo(:, 2,55,11) = (/ & & 0.10357e+04_rb,0.78518e+03_rb,0.60047e+03_rb,0.88349e+03_rb,0.11688e+04_rb /) kbo(:, 3,55,11) = (/ & & 0.10361e+04_rb,0.78517e+03_rb,0.60053e+03_rb,0.88250e+03_rb,0.11660e+04_rb /) kbo(:, 4,55,11) = (/ & & 0.10357e+04_rb,0.78529e+03_rb,0.60029e+03_rb,0.88168e+03_rb,0.11636e+04_rb /) kbo(:, 5,55,11) = (/ & & 0.10360e+04_rb,0.78529e+03_rb,0.59954e+03_rb,0.88068e+03_rb,0.11617e+04_rb /) kbo(:, 1,56,11) = (/ & & 0.10361e+04_rb,0.78494e+03_rb,0.60049e+03_rb,0.88607e+03_rb,0.11718e+04_rb /) kbo(:, 2,56,11) = (/ & & 0.10360e+04_rb,0.78482e+03_rb,0.60030e+03_rb,0.88410e+03_rb,0.11698e+04_rb /) kbo(:, 3,56,11) = (/ & & 0.10354e+04_rb,0.78493e+03_rb,0.60056e+03_rb,0.88273e+03_rb,0.11667e+04_rb /) kbo(:, 4,56,11) = (/ & & 0.10357e+04_rb,0.78552e+03_rb,0.60038e+03_rb,0.88199e+03_rb,0.11645e+04_rb /) kbo(:, 5,56,11) = (/ & & 0.10357e+04_rb,0.78517e+03_rb,0.59983e+03_rb,0.88101e+03_rb,0.11624e+04_rb /) kbo(:, 1,57,11) = (/ & & 0.10357e+04_rb,0.78588e+03_rb,0.60099e+03_rb,0.88686e+03_rb,0.11725e+04_rb /) kbo(:, 2,57,11) = (/ & & 0.10366e+04_rb,0.78458e+03_rb,0.60033e+03_rb,0.88491e+03_rb,0.11707e+04_rb /) kbo(:, 3,57,11) = (/ & & 0.10366e+04_rb,0.78481e+03_rb,0.60053e+03_rb,0.88335e+03_rb,0.11676e+04_rb /) kbo(:, 4,57,11) = (/ & & 0.10358e+04_rb,0.78611e+03_rb,0.60046e+03_rb,0.88227e+03_rb,0.11650e+04_rb /) kbo(:, 5,57,11) = (/ & & 0.10355e+04_rb,0.78599e+03_rb,0.60008e+03_rb,0.88133e+03_rb,0.11630e+04_rb /) kbo(:, 1,58,11) = (/ & & 0.10363e+04_rb,0.78576e+03_rb,0.60143e+03_rb,0.88764e+03_rb,0.11733e+04_rb /) kbo(:, 2,58,11) = (/ & & 0.10354e+04_rb,0.78611e+03_rb,0.60042e+03_rb,0.88557e+03_rb,0.11713e+04_rb /) kbo(:, 3,58,11) = (/ & & 0.10363e+04_rb,0.78576e+03_rb,0.60048e+03_rb,0.88329e+03_rb,0.11686e+04_rb /) kbo(:, 4,58,11) = (/ & & 0.10364e+04_rb,0.78505e+03_rb,0.60052e+03_rb,0.88247e+03_rb,0.11659e+04_rb /) kbo(:, 5,58,11) = (/ & & 0.10357e+04_rb,0.78552e+03_rb,0.60026e+03_rb,0.88163e+03_rb,0.11633e+04_rb /) kbo(:, 1,59,11) = (/ & & 0.10354e+04_rb,0.78634e+03_rb,0.60176e+03_rb,0.88797e+03_rb,0.11736e+04_rb /) kbo(:, 2,59,11) = (/ & & 0.10350e+04_rb,0.78505e+03_rb,0.60038e+03_rb,0.88577e+03_rb,0.11715e+04_rb /) kbo(:, 3,59,11) = (/ & & 0.10360e+04_rb,0.78469e+03_rb,0.60046e+03_rb,0.88358e+03_rb,0.11703e+04_rb /) kbo(:, 4,59,11) = (/ & & 0.10357e+04_rb,0.78493e+03_rb,0.60045e+03_rb,0.88254e+03_rb,0.11662e+04_rb /) kbo(:, 5,59,11) = (/ & & 0.10366e+04_rb,0.78516e+03_rb,0.60041e+03_rb,0.88174e+03_rb,0.11637e+04_rb /) kbo(:, 1,13,12) = (/ & & 0.11535e+04_rb,0.87955e+03_rb,0.60434e+03_rb,0.88744e+03_rb,0.11710e+04_rb /) kbo(:, 2,13,12) = (/ & & 0.11485e+04_rb,0.86886e+03_rb,0.60369e+03_rb,0.88598e+03_rb,0.11697e+04_rb /) kbo(:, 3,13,12) = (/ & & 0.11395e+04_rb,0.86441e+03_rb,0.60332e+03_rb,0.88477e+03_rb,0.11680e+04_rb /) kbo(:, 4,13,12) = (/ & & 0.11350e+04_rb,0.86216e+03_rb,0.60276e+03_rb,0.88294e+03_rb,0.11659e+04_rb /) kbo(:, 5,13,12) = (/ & & 0.11237e+04_rb,0.85514e+03_rb,0.60186e+03_rb,0.88131e+03_rb,0.11640e+04_rb /) kbo(:, 1,14,12) = (/ & & 0.11312e+04_rb,0.85960e+03_rb,0.60391e+03_rb,0.88683e+03_rb,0.11708e+04_rb /) kbo(:, 2,14,12) = (/ & & 0.11248e+04_rb,0.85192e+03_rb,0.60329e+03_rb,0.88591e+03_rb,0.11696e+04_rb /) kbo(:, 3,14,12) = (/ & & 0.11210e+04_rb,0.84824e+03_rb,0.60297e+03_rb,0.88444e+03_rb,0.11678e+04_rb /) kbo(:, 4,14,12) = (/ & & 0.11139e+04_rb,0.84322e+03_rb,0.60241e+03_rb,0.88264e+03_rb,0.11657e+04_rb /) kbo(:, 5,14,12) = (/ & & 0.11123e+04_rb,0.84158e+03_rb,0.60150e+03_rb,0.88104e+03_rb,0.11639e+04_rb /) kbo(:, 1,15,12) = (/ & & 0.11159e+04_rb,0.84414e+03_rb,0.60344e+03_rb,0.88657e+03_rb,0.11715e+04_rb /) kbo(:, 2,15,12) = (/ & & 0.11106e+04_rb,0.84043e+03_rb,0.60296e+03_rb,0.88568e+03_rb,0.11695e+04_rb /) kbo(:, 3,15,12) = (/ & & 0.11018e+04_rb,0.83588e+03_rb,0.60268e+03_rb,0.88413e+03_rb,0.11676e+04_rb /) kbo(:, 4,15,12) = (/ & & 0.10976e+04_rb,0.83213e+03_rb,0.60210e+03_rb,0.88235e+03_rb,0.11655e+04_rb /) kbo(:, 5,15,12) = (/ & & 0.10965e+04_rb,0.83273e+03_rb,0.60128e+03_rb,0.88077e+03_rb,0.11639e+04_rb /) kbo(:, 1,16,12) = (/ & & 0.11003e+04_rb,0.83414e+03_rb,0.60325e+03_rb,0.88634e+03_rb,0.11705e+04_rb /) kbo(:, 2,16,12) = (/ & & 0.10991e+04_rb,0.82921e+03_rb,0.60259e+03_rb,0.88546e+03_rb,0.11694e+04_rb /) kbo(:, 3,16,12) = (/ & & 0.10955e+04_rb,0.82665e+03_rb,0.60243e+03_rb,0.88384e+03_rb,0.11674e+04_rb /) kbo(:, 4,16,12) = (/ & & 0.10851e+04_rb,0.82401e+03_rb,0.60183e+03_rb,0.88207e+03_rb,0.11653e+04_rb /) kbo(:, 5,16,12) = (/ & & 0.10849e+04_rb,0.82356e+03_rb,0.60085e+03_rb,0.88053e+03_rb,0.11635e+04_rb /) kbo(:, 1,17,12) = (/ & & 0.10876e+04_rb,0.82527e+03_rb,0.60299e+03_rb,0.88614e+03_rb,0.11702e+04_rb /) kbo(:, 2,17,12) = (/ & & 0.10859e+04_rb,0.82135e+03_rb,0.60250e+03_rb,0.88526e+03_rb,0.11692e+04_rb /) kbo(:, 3,17,12) = (/ & & 0.10841e+04_rb,0.81891e+03_rb,0.60222e+03_rb,0.88356e+03_rb,0.11671e+04_rb /) kbo(:, 4,17,12) = (/ & & 0.10784e+04_rb,0.81708e+03_rb,0.60159e+03_rb,0.88183e+03_rb,0.11651e+04_rb /) kbo(:, 5,17,12) = (/ & & 0.10763e+04_rb,0.81350e+03_rb,0.60170e+03_rb,0.88030e+03_rb,0.11634e+04_rb /) kbo(:, 1,18,12) = (/ & & 0.10781e+04_rb,0.81748e+03_rb,0.60276e+03_rb,0.88597e+03_rb,0.11700e+04_rb /) kbo(:, 2,18,12) = (/ & & 0.10771e+04_rb,0.81396e+03_rb,0.60232e+03_rb,0.88573e+03_rb,0.11691e+04_rb /) kbo(:, 3,18,12) = (/ & & 0.10718e+04_rb,0.81415e+03_rb,0.60204e+03_rb,0.88331e+03_rb,0.11669e+04_rb /) kbo(:, 4,18,12) = (/ & & 0.10689e+04_rb,0.81027e+03_rb,0.60137e+03_rb,0.88144e+03_rb,0.11649e+04_rb /) kbo(:, 5,18,12) = (/ & & 0.10691e+04_rb,0.80937e+03_rb,0.60029e+03_rb,0.88009e+03_rb,0.11632e+04_rb /) kbo(:, 1,19,12) = (/ & & 0.10732e+04_rb,0.81093e+03_rb,0.60257e+03_rb,0.88582e+03_rb,0.11702e+04_rb /) kbo(:, 2,19,12) = (/ & & 0.10665e+04_rb,0.81093e+03_rb,0.60218e+03_rb,0.88486e+03_rb,0.11689e+04_rb /) kbo(:, 3,19,12) = (/ & & 0.10668e+04_rb,0.80596e+03_rb,0.60188e+03_rb,0.88291e+03_rb,0.11667e+04_rb /) kbo(:, 4,19,12) = (/ & & 0.10625e+04_rb,0.80871e+03_rb,0.60129e+03_rb,0.88139e+03_rb,0.11647e+04_rb /) kbo(:, 5,19,12) = (/ & & 0.10641e+04_rb,0.80549e+03_rb,0.60005e+03_rb,0.87990e+03_rb,0.11631e+04_rb /) kbo(:, 1,20,12) = (/ & & 0.10655e+04_rb,0.80608e+03_rb,0.60228e+03_rb,0.88568e+03_rb,0.11700e+04_rb /) kbo(:, 2,20,12) = (/ & & 0.10621e+04_rb,0.80582e+03_rb,0.60205e+03_rb,0.88462e+03_rb,0.11686e+04_rb /) kbo(:, 3,20,12) = (/ & & 0.10596e+04_rb,0.80439e+03_rb,0.60161e+03_rb,0.88282e+03_rb,0.11664e+04_rb /) kbo(:, 4,20,12) = (/ & & 0.10569e+04_rb,0.80052e+03_rb,0.60133e+03_rb,0.88084e+03_rb,0.11645e+04_rb /) kbo(:, 5,20,12) = (/ & & 0.10576e+04_rb,0.80029e+03_rb,0.59980e+03_rb,0.87969e+03_rb,0.11629e+04_rb /) kbo(:, 1,21,12) = (/ & & 0.10601e+04_rb,0.80047e+03_rb,0.60235e+03_rb,0.88539e+03_rb,0.11699e+04_rb /) kbo(:, 2,21,12) = (/ & & 0.10553e+04_rb,0.80126e+03_rb,0.60195e+03_rb,0.88437e+03_rb,0.11684e+04_rb /) kbo(:, 3,21,12) = (/ & & 0.10581e+04_rb,0.79916e+03_rb,0.60159e+03_rb,0.88257e+03_rb,0.11662e+04_rb /) kbo(:, 4,21,12) = (/ & & 0.10523e+04_rb,0.79871e+03_rb,0.60090e+03_rb,0.88096e+03_rb,0.11643e+04_rb /) kbo(:, 5,21,12) = (/ & & 0.10536e+04_rb,0.79852e+03_rb,0.59957e+03_rb,0.87950e+03_rb,0.11627e+04_rb /) kbo(:, 1,22,12) = (/ & & 0.10543e+04_rb,0.79995e+03_rb,0.60207e+03_rb,0.88538e+03_rb,0.11697e+04_rb /) kbo(:, 2,22,12) = (/ & & 0.10531e+04_rb,0.79794e+03_rb,0.60195e+03_rb,0.88401e+03_rb,0.11680e+04_rb /) kbo(:, 3,22,12) = (/ & & 0.10510e+04_rb,0.79590e+03_rb,0.60141e+03_rb,0.88205e+03_rb,0.11658e+04_rb /) kbo(:, 4,22,12) = (/ & & 0.10516e+04_rb,0.79518e+03_rb,0.60121e+03_rb,0.88065e+03_rb,0.11640e+04_rb /) kbo(:, 5,22,12) = (/ & & 0.10507e+04_rb,0.79514e+03_rb,0.59925e+03_rb,0.87922e+03_rb,0.11625e+04_rb /) kbo(:, 1,23,12) = (/ & & 0.10496e+04_rb,0.79686e+03_rb,0.60138e+03_rb,0.88518e+03_rb,0.11695e+04_rb /) kbo(:, 2,23,12) = (/ & & 0.10500e+04_rb,0.79504e+03_rb,0.60174e+03_rb,0.88363e+03_rb,0.11675e+04_rb /) kbo(:, 3,23,12) = (/ & & 0.10497e+04_rb,0.79559e+03_rb,0.60122e+03_rb,0.88187e+03_rb,0.11654e+04_rb /) kbo(:, 4,23,12) = (/ & & 0.10478e+04_rb,0.79456e+03_rb,0.60013e+03_rb,0.88034e+03_rb,0.11637e+04_rb /) kbo(:, 5,23,12) = (/ & & 0.10481e+04_rb,0.79269e+03_rb,0.59893e+03_rb,0.87894e+03_rb,0.11623e+04_rb /) kbo(:, 1,24,12) = (/ & & 0.10504e+04_rb,0.79322e+03_rb,0.60186e+03_rb,0.88494e+03_rb,0.11692e+04_rb /) kbo(:, 2,24,12) = (/ & & 0.10474e+04_rb,0.79292e+03_rb,0.60174e+03_rb,0.88325e+03_rb,0.11671e+04_rb /) kbo(:, 3,24,12) = (/ & & 0.10457e+04_rb,0.79315e+03_rb,0.60103e+03_rb,0.88153e+03_rb,0.11648e+04_rb /) kbo(:, 4,24,12) = (/ & & 0.10462e+04_rb,0.79329e+03_rb,0.59996e+03_rb,0.88003e+03_rb,0.11633e+04_rb /) kbo(:, 5,24,12) = (/ & & 0.10477e+04_rb,0.79348e+03_rb,0.59860e+03_rb,0.87867e+03_rb,0.11620e+04_rb /) kbo(:, 1,25,12) = (/ & & 0.10437e+04_rb,0.79315e+03_rb,0.60179e+03_rb,0.88497e+03_rb,0.11688e+04_rb /) kbo(:, 2,25,12) = (/ & & 0.10446e+04_rb,0.79177e+03_rb,0.60151e+03_rb,0.88285e+03_rb,0.11666e+04_rb /) kbo(:, 3,25,12) = (/ & & 0.10443e+04_rb,0.79105e+03_rb,0.60081e+03_rb,0.88119e+03_rb,0.11647e+04_rb /) kbo(:, 4,25,12) = (/ & & 0.10440e+04_rb,0.79204e+03_rb,0.59965e+03_rb,0.87971e+03_rb,0.11630e+04_rb /) kbo(:, 5,25,12) = (/ & & 0.10441e+04_rb,0.79141e+03_rb,0.59825e+03_rb,0.87840e+03_rb,0.11618e+04_rb /) kbo(:, 1,26,12) = (/ & & 0.10444e+04_rb,0.79040e+03_rb,0.60171e+03_rb,0.88422e+03_rb,0.11681e+04_rb /) kbo(:, 2,26,12) = (/ & & 0.10415e+04_rb,0.78987e+03_rb,0.60136e+03_rb,0.88243e+03_rb,0.11661e+04_rb /) kbo(:, 3,26,12) = (/ & & 0.10417e+04_rb,0.79014e+03_rb,0.60043e+03_rb,0.88082e+03_rb,0.11642e+04_rb /) kbo(:, 4,26,12) = (/ & & 0.10442e+04_rb,0.78985e+03_rb,0.59932e+03_rb,0.87937e+03_rb,0.11625e+04_rb /) kbo(:, 5,26,12) = (/ & & 0.10421e+04_rb,0.79004e+03_rb,0.59787e+03_rb,0.87814e+03_rb,0.11615e+04_rb /) kbo(:, 1,27,12) = (/ & & 0.10431e+04_rb,0.78868e+03_rb,0.60163e+03_rb,0.88378e+03_rb,0.11678e+04_rb /) kbo(:, 2,27,12) = (/ & & 0.10423e+04_rb,0.79138e+03_rb,0.60118e+03_rb,0.88201e+03_rb,0.11657e+04_rb /) kbo(:, 3,27,12) = (/ & & 0.10404e+04_rb,0.78916e+03_rb,0.60037e+03_rb,0.88046e+03_rb,0.11638e+04_rb /) kbo(:, 4,27,12) = (/ & & 0.10405e+04_rb,0.78893e+03_rb,0.59897e+03_rb,0.87905e+03_rb,0.11624e+04_rb /) kbo(:, 5,27,12) = (/ & & 0.10396e+04_rb,0.78917e+03_rb,0.59748e+03_rb,0.87790e+03_rb,0.11613e+04_rb /) kbo(:, 1,28,12) = (/ & & 0.10409e+04_rb,0.79152e+03_rb,0.60155e+03_rb,0.88334e+03_rb,0.11673e+04_rb /) kbo(:, 2,28,12) = (/ & & 0.10439e+04_rb,0.78963e+03_rb,0.60099e+03_rb,0.88127e+03_rb,0.11652e+04_rb /) kbo(:, 3,28,12) = (/ & & 0.10423e+04_rb,0.78823e+03_rb,0.60006e+03_rb,0.88010e+03_rb,0.11635e+04_rb /) kbo(:, 4,28,12) = (/ & & 0.10442e+04_rb,0.78834e+03_rb,0.59861e+03_rb,0.87873e+03_rb,0.11621e+04_rb /) kbo(:, 5,28,12) = (/ & & 0.10392e+04_rb,0.79042e+03_rb,0.59708e+03_rb,0.87768e+03_rb,0.11610e+04_rb /) kbo(:, 1,29,12) = (/ & & 0.10405e+04_rb,0.79019e+03_rb,0.60167e+03_rb,0.88289e+03_rb,0.11667e+04_rb /) kbo(:, 2,29,12) = (/ & & 0.10432e+04_rb,0.78865e+03_rb,0.60111e+03_rb,0.88122e+03_rb,0.11647e+04_rb /) kbo(:, 3,29,12) = (/ & & 0.10406e+04_rb,0.78834e+03_rb,0.59962e+03_rb,0.87974e+03_rb,0.11631e+04_rb /) kbo(:, 4,29,12) = (/ & & 0.10397e+04_rb,0.78909e+03_rb,0.59824e+03_rb,0.87826e+03_rb,0.11618e+04_rb /) kbo(:, 5,29,12) = (/ & & 0.10387e+04_rb,0.78925e+03_rb,0.59665e+03_rb,0.87746e+03_rb,0.11608e+04_rb /) kbo(:, 1,30,12) = (/ & & 0.10411e+04_rb,0.78840e+03_rb,0.60130e+03_rb,0.88244e+03_rb,0.11662e+04_rb /) kbo(:, 2,30,12) = (/ & & 0.10395e+04_rb,0.79020e+03_rb,0.60051e+03_rb,0.88083e+03_rb,0.11643e+04_rb /) kbo(:, 3,30,12) = (/ & & 0.10384e+04_rb,0.78543e+03_rb,0.59928e+03_rb,0.87938e+03_rb,0.11627e+04_rb /) kbo(:, 4,30,12) = (/ & & 0.10394e+04_rb,0.78756e+03_rb,0.59785e+03_rb,0.87814e+03_rb,0.11615e+04_rb /) kbo(:, 5,30,12) = (/ & & 0.10383e+04_rb,0.78820e+03_rb,0.59620e+03_rb,0.87743e+03_rb,0.11605e+04_rb /) kbo(:, 1,31,12) = (/ & & 0.10385e+04_rb,0.78703e+03_rb,0.60113e+03_rb,0.88199e+03_rb,0.11657e+04_rb /) kbo(:, 2,31,12) = (/ & & 0.10401e+04_rb,0.79050e+03_rb,0.60021e+03_rb,0.88045e+03_rb,0.11639e+04_rb /) kbo(:, 3,31,12) = (/ & & 0.10412e+04_rb,0.78681e+03_rb,0.59892e+03_rb,0.87903e+03_rb,0.11624e+04_rb /) kbo(:, 4,31,12) = (/ & & 0.10385e+04_rb,0.78582e+03_rb,0.59732e+03_rb,0.87772e+03_rb,0.11613e+04_rb /) kbo(:, 5,31,12) = (/ & & 0.10372e+04_rb,0.78947e+03_rb,0.59573e+03_rb,0.87705e+03_rb,0.11602e+04_rb /) kbo(:, 1,32,12) = (/ & & 0.10378e+04_rb,0.78710e+03_rb,0.60105e+03_rb,0.88140e+03_rb,0.11652e+04_rb /) kbo(:, 2,32,12) = (/ & & 0.10375e+04_rb,0.78506e+03_rb,0.59989e+03_rb,0.88006e+03_rb,0.11634e+04_rb /) kbo(:, 3,32,12) = (/ & & 0.10409e+04_rb,0.78648e+03_rb,0.59855e+03_rb,0.87869e+03_rb,0.11621e+04_rb /) kbo(:, 4,32,12) = (/ & & 0.10389e+04_rb,0.78640e+03_rb,0.59701e+03_rb,0.87765e+03_rb,0.11610e+04_rb /) kbo(:, 5,32,12) = (/ & & 0.10378e+04_rb,0.78589e+03_rb,0.59527e+03_rb,0.87675e+03_rb,0.11598e+04_rb /) kbo(:, 1,33,12) = (/ & & 0.10380e+04_rb,0.78620e+03_rb,0.60093e+03_rb,0.88116e+03_rb,0.11647e+04_rb /) kbo(:, 2,33,12) = (/ & & 0.10383e+04_rb,0.78582e+03_rb,0.59966e+03_rb,0.87968e+03_rb,0.11631e+04_rb /) kbo(:, 3,33,12) = (/ & & 0.10388e+04_rb,0.78740e+03_rb,0.59816e+03_rb,0.87838e+03_rb,0.11618e+04_rb /) kbo(:, 4,33,12) = (/ & & 0.10367e+04_rb,0.78734e+03_rb,0.59657e+03_rb,0.87743e+03_rb,0.11608e+04_rb /) kbo(:, 5,33,12) = (/ & & 0.10382e+04_rb,0.78803e+03_rb,0.59484e+03_rb,0.87630e+03_rb,0.11592e+04_rb /) kbo(:, 1,34,12) = (/ & & 0.10390e+04_rb,0.78774e+03_rb,0.60058e+03_rb,0.88098e+03_rb,0.11643e+04_rb /) kbo(:, 2,34,12) = (/ & & 0.10374e+04_rb,0.78664e+03_rb,0.59936e+03_rb,0.87936e+03_rb,0.11627e+04_rb /) kbo(:, 3,34,12) = (/ & & 0.10352e+04_rb,0.78733e+03_rb,0.59781e+03_rb,0.87813e+03_rb,0.11615e+04_rb /) kbo(:, 4,34,12) = (/ & & 0.10386e+04_rb,0.78609e+03_rb,0.59617e+03_rb,0.87742e+03_rb,0.11605e+04_rb /) kbo(:, 5,34,12) = (/ & & 0.10400e+04_rb,0.78709e+03_rb,0.59476e+03_rb,0.87581e+03_rb,0.11592e+04_rb /) kbo(:, 1,35,12) = (/ & & 0.10374e+04_rb,0.78486e+03_rb,0.60032e+03_rb,0.88061e+03_rb,0.11641e+04_rb /) kbo(:, 2,35,12) = (/ & & 0.10385e+04_rb,0.78482e+03_rb,0.59906e+03_rb,0.87918e+03_rb,0.11626e+04_rb /) kbo(:, 3,35,12) = (/ & & 0.10371e+04_rb,0.78627e+03_rb,0.59760e+03_rb,0.87799e+03_rb,0.11614e+04_rb /) kbo(:, 4,35,12) = (/ & & 0.10378e+04_rb,0.78697e+03_rb,0.59593e+03_rb,0.87715e+03_rb,0.11604e+04_rb /) kbo(:, 5,35,12) = (/ & & 0.10370e+04_rb,0.78545e+03_rb,0.59500e+03_rb,0.87549e+03_rb,0.11592e+04_rb /) kbo(:, 1,36,12) = (/ & & 0.10362e+04_rb,0.78845e+03_rb,0.60029e+03_rb,0.88058e+03_rb,0.11640e+04_rb /) kbo(:, 2,36,12) = (/ & & 0.10379e+04_rb,0.78676e+03_rb,0.59903e+03_rb,0.87915e+03_rb,0.11625e+04_rb /) kbo(:, 3,36,12) = (/ & & 0.10369e+04_rb,0.78598e+03_rb,0.59768e+03_rb,0.87797e+03_rb,0.11614e+04_rb /) kbo(:, 4,36,12) = (/ & & 0.10369e+04_rb,0.78595e+03_rb,0.59566e+03_rb,0.87713e+03_rb,0.11604e+04_rb /) kbo(:, 5,36,12) = (/ & & 0.10368e+04_rb,0.78548e+03_rb,0.59464e+03_rb,0.87594e+03_rb,0.11600e+04_rb /) kbo(:, 1,37,12) = (/ & & 0.10374e+04_rb,0.78579e+03_rb,0.60055e+03_rb,0.88077e+03_rb,0.11642e+04_rb /) kbo(:, 2,37,12) = (/ & & 0.10362e+04_rb,0.78844e+03_rb,0.59921e+03_rb,0.87933e+03_rb,0.11627e+04_rb /) kbo(:, 3,37,12) = (/ & & 0.10360e+04_rb,0.78603e+03_rb,0.59777e+03_rb,0.87810e+03_rb,0.11615e+04_rb /) kbo(:, 4,37,12) = (/ & & 0.10367e+04_rb,0.78734e+03_rb,0.59623e+03_rb,0.87723e+03_rb,0.11605e+04_rb /) kbo(:, 5,37,12) = (/ & & 0.10361e+04_rb,0.78702e+03_rb,0.59474e+03_rb,0.87592e+03_rb,0.11587e+04_rb /) kbo(:, 1,38,12) = (/ & & 0.10367e+04_rb,0.78778e+03_rb,0.60058e+03_rb,0.88098e+03_rb,0.11645e+04_rb /) kbo(:, 2,38,12) = (/ & & 0.10387e+04_rb,0.78865e+03_rb,0.59939e+03_rb,0.87952e+03_rb,0.11629e+04_rb /) kbo(:, 3,38,12) = (/ & & 0.10363e+04_rb,0.78758e+03_rb,0.59820e+03_rb,0.87825e+03_rb,0.11617e+04_rb /) kbo(:, 4,38,12) = (/ & & 0.10372e+04_rb,0.78786e+03_rb,0.59636e+03_rb,0.87717e+03_rb,0.11609e+04_rb /) kbo(:, 5,38,12) = (/ & & 0.10362e+04_rb,0.78470e+03_rb,0.59485e+03_rb,0.87657e+03_rb,0.11589e+04_rb /) kbo(:, 1,39,12) = (/ & & 0.10374e+04_rb,0.78680e+03_rb,0.60094e+03_rb,0.88119e+03_rb,0.11647e+04_rb /) kbo(:, 2,39,12) = (/ & & 0.10352e+04_rb,0.78618e+03_rb,0.60014e+03_rb,0.87971e+03_rb,0.11631e+04_rb /) kbo(:, 3,39,12) = (/ & & 0.10401e+04_rb,0.78497e+03_rb,0.59818e+03_rb,0.87840e+03_rb,0.11618e+04_rb /) kbo(:, 4,39,12) = (/ & & 0.10369e+04_rb,0.78868e+03_rb,0.59660e+03_rb,0.87744e+03_rb,0.11608e+04_rb /) kbo(:, 5,39,12) = (/ & & 0.10353e+04_rb,0.78494e+03_rb,0.59497e+03_rb,0.87635e+03_rb,0.11593e+04_rb /) kbo(:, 1,40,12) = (/ & & 0.10385e+04_rb,0.78584e+03_rb,0.60091e+03_rb,0.88123e+03_rb,0.11652e+04_rb /) kbo(:, 2,40,12) = (/ & & 0.10387e+04_rb,0.78568e+03_rb,0.59987e+03_rb,0.88006e+03_rb,0.11635e+04_rb /) kbo(:, 3,40,12) = (/ & & 0.10371e+04_rb,0.78626e+03_rb,0.59853e+03_rb,0.87869e+03_rb,0.11621e+04_rb /) kbo(:, 4,40,12) = (/ & & 0.10386e+04_rb,0.78684e+03_rb,0.59700e+03_rb,0.87748e+03_rb,0.11610e+04_rb /) kbo(:, 5,40,12) = (/ & & 0.10362e+04_rb,0.78503e+03_rb,0.59526e+03_rb,0.87692e+03_rb,0.11598e+04_rb /) kbo(:, 1,41,12) = (/ & & 0.10384e+04_rb,0.78504e+03_rb,0.60109e+03_rb,0.88198e+03_rb,0.11657e+04_rb /) kbo(:, 2,41,12) = (/ & & 0.10360e+04_rb,0.78533e+03_rb,0.60017e+03_rb,0.88043e+03_rb,0.11639e+04_rb /) kbo(:, 3,41,12) = (/ & & 0.10374e+04_rb,0.78412e+03_rb,0.59889e+03_rb,0.87902e+03_rb,0.11624e+04_rb /) kbo(:, 4,41,12) = (/ & & 0.10350e+04_rb,0.78545e+03_rb,0.59741e+03_rb,0.87788e+03_rb,0.11613e+04_rb /) kbo(:, 5,41,12) = (/ & & 0.10385e+04_rb,0.78529e+03_rb,0.59570e+03_rb,0.87704e+03_rb,0.11607e+04_rb /) kbo(:, 1,42,12) = (/ & & 0.10370e+04_rb,0.78560e+03_rb,0.60125e+03_rb,0.88242e+03_rb,0.11662e+04_rb /) kbo(:, 2,42,12) = (/ & & 0.10383e+04_rb,0.78469e+03_rb,0.60057e+03_rb,0.88081e+03_rb,0.11643e+04_rb /) kbo(:, 3,42,12) = (/ & & 0.10368e+04_rb,0.78617e+03_rb,0.59924e+03_rb,0.87937e+03_rb,0.11627e+04_rb /) kbo(:, 4,42,12) = (/ & & 0.10362e+04_rb,0.78586e+03_rb,0.59780e+03_rb,0.87813e+03_rb,0.11615e+04_rb /) kbo(:, 5,42,12) = (/ & & 0.10350e+04_rb,0.78958e+03_rb,0.59616e+03_rb,0.87725e+03_rb,0.11605e+04_rb /) kbo(:, 1,43,12) = (/ & & 0.10375e+04_rb,0.78586e+03_rb,0.60140e+03_rb,0.88280e+03_rb,0.11669e+04_rb /) kbo(:, 2,43,12) = (/ & & 0.10344e+04_rb,0.78615e+03_rb,0.60088e+03_rb,0.88112e+03_rb,0.11651e+04_rb /) kbo(:, 3,43,12) = (/ & & 0.10344e+04_rb,0.78345e+03_rb,0.59953e+03_rb,0.87980e+03_rb,0.11632e+04_rb /) kbo(:, 4,43,12) = (/ & & 0.10347e+04_rb,0.78777e+03_rb,0.59827e+03_rb,0.87847e+03_rb,0.11619e+04_rb /) kbo(:, 5,43,12) = (/ & & 0.10355e+04_rb,0.78627e+03_rb,0.59681e+03_rb,0.87766e+03_rb,0.11609e+04_rb /) kbo(:, 1,44,12) = (/ & & 0.10355e+04_rb,0.78449e+03_rb,0.60162e+03_rb,0.88358e+03_rb,0.11676e+04_rb /) kbo(:, 2,44,12) = (/ & & 0.10359e+04_rb,0.78627e+03_rb,0.60103e+03_rb,0.88182e+03_rb,0.11655e+04_rb /) kbo(:, 3,44,12) = (/ & & 0.10377e+04_rb,0.78715e+03_rb,0.60005e+03_rb,0.88029e+03_rb,0.11637e+04_rb /) kbo(:, 4,44,12) = (/ & & 0.10378e+04_rb,0.78625e+03_rb,0.59875e+03_rb,0.87890e+03_rb,0.11623e+04_rb /) kbo(:, 5,44,12) = (/ & & 0.10374e+04_rb,0.78401e+03_rb,0.59725e+03_rb,0.87779e+03_rb,0.11612e+04_rb /) kbo(:, 1,45,12) = (/ & & 0.10390e+04_rb,0.78655e+03_rb,0.60158e+03_rb,0.88419e+03_rb,0.11684e+04_rb /) kbo(:, 2,45,12) = (/ & & 0.10396e+04_rb,0.78684e+03_rb,0.60124e+03_rb,0.88239e+03_rb,0.11662e+04_rb /) kbo(:, 3,45,12) = (/ & & 0.10355e+04_rb,0.78758e+03_rb,0.60044e+03_rb,0.88079e+03_rb,0.11643e+04_rb /) kbo(:, 4,45,12) = (/ & & 0.10368e+04_rb,0.78548e+03_rb,0.59922e+03_rb,0.87935e+03_rb,0.11627e+04_rb /) kbo(:, 5,45,12) = (/ & & 0.10360e+04_rb,0.78578e+03_rb,0.59778e+03_rb,0.87811e+03_rb,0.11615e+04_rb /) kbo(:, 1,46,12) = (/ & & 0.10390e+04_rb,0.78534e+03_rb,0.60165e+03_rb,0.88476e+03_rb,0.11691e+04_rb /) kbo(:, 2,46,12) = (/ & & 0.10368e+04_rb,0.78339e+03_rb,0.60141e+03_rb,0.88303e+03_rb,0.11669e+04_rb /) kbo(:, 3,46,12) = (/ & & 0.10364e+04_rb,0.78696e+03_rb,0.60079e+03_rb,0.88117e+03_rb,0.11649e+04_rb /) kbo(:, 4,46,12) = (/ & & 0.10407e+04_rb,0.78666e+03_rb,0.59968e+03_rb,0.87985e+03_rb,0.11632e+04_rb /) kbo(:, 5,46,12) = (/ & & 0.10344e+04_rb,0.78501e+03_rb,0.59832e+03_rb,0.87835e+03_rb,0.11619e+04_rb /) kbo(:, 1,47,12) = (/ & & 0.10372e+04_rb,0.78547e+03_rb,0.60140e+03_rb,0.88518e+03_rb,0.11696e+04_rb /) kbo(:, 2,47,12) = (/ & & 0.10368e+04_rb,0.78740e+03_rb,0.60142e+03_rb,0.88376e+03_rb,0.11678e+04_rb /) kbo(:, 3,47,12) = (/ & & 0.10360e+04_rb,0.78411e+03_rb,0.60109e+03_rb,0.88198e+03_rb,0.11657e+04_rb /) kbo(:, 4,47,12) = (/ & & 0.10358e+04_rb,0.78709e+03_rb,0.60017e+03_rb,0.88044e+03_rb,0.11639e+04_rb /) kbo(:, 5,47,12) = (/ & & 0.10354e+04_rb,0.78664e+03_rb,0.59889e+03_rb,0.87902e+03_rb,0.11624e+04_rb /) kbo(:, 1,48,12) = (/ & & 0.10362e+04_rb,0.78680e+03_rb,0.60195e+03_rb,0.88548e+03_rb,0.11701e+04_rb /) kbo(:, 2,48,12) = (/ & & 0.10362e+04_rb,0.78545e+03_rb,0.60161e+03_rb,0.88447e+03_rb,0.11687e+04_rb /) kbo(:, 3,48,12) = (/ & & 0.10378e+04_rb,0.78604e+03_rb,0.60144e+03_rb,0.88268e+03_rb,0.11665e+04_rb /) kbo(:, 4,48,12) = (/ & & 0.10382e+04_rb,0.78544e+03_rb,0.60061e+03_rb,0.88104e+03_rb,0.11646e+04_rb /) kbo(:, 5,48,12) = (/ & & 0.10364e+04_rb,0.78424e+03_rb,0.59943e+03_rb,0.87957e+03_rb,0.11630e+04_rb /) kbo(:, 1,49,12) = (/ & & 0.10370e+04_rb,0.78693e+03_rb,0.60225e+03_rb,0.88600e+03_rb,0.11705e+04_rb /) kbo(:, 2,49,12) = (/ & & 0.10356e+04_rb,0.78469e+03_rb,0.60169e+03_rb,0.88499e+03_rb,0.11694e+04_rb /) kbo(:, 3,49,12) = (/ & & 0.10350e+04_rb,0.78588e+03_rb,0.60148e+03_rb,0.88340e+03_rb,0.11674e+04_rb /) kbo(:, 4,49,12) = (/ & & 0.10352e+04_rb,0.78677e+03_rb,0.60095e+03_rb,0.88166e+03_rb,0.11653e+04_rb /) kbo(:, 5,49,12) = (/ & & 0.10356e+04_rb,0.78647e+03_rb,0.59993e+03_rb,0.88015e+03_rb,0.11636e+04_rb /) kbo(:, 1,50,12) = (/ & & 0.10356e+04_rb,0.78558e+03_rb,0.60226e+03_rb,0.88620e+03_rb,0.11712e+04_rb /) kbo(:, 2,50,12) = (/ & & 0.10346e+04_rb,0.78796e+03_rb,0.60171e+03_rb,0.88533e+03_rb,0.11698e+04_rb /) kbo(:, 3,50,12) = (/ & & 0.10366e+04_rb,0.78751e+03_rb,0.60168e+03_rb,0.88408e+03_rb,0.11667e+04_rb /) kbo(:, 4,50,12) = (/ & & 0.10366e+04_rb,0.78646e+03_rb,0.60132e+03_rb,0.88229e+03_rb,0.11661e+04_rb /) kbo(:, 5,50,12) = (/ & & 0.10393e+04_rb,0.78616e+03_rb,0.60083e+03_rb,0.88070e+03_rb,0.11642e+04_rb /) kbo(:, 1,51,12) = (/ & & 0.10356e+04_rb,0.78468e+03_rb,0.60241e+03_rb,0.88644e+03_rb,0.11719e+04_rb /) kbo(:, 2,51,12) = (/ & & 0.10368e+04_rb,0.78423e+03_rb,0.60203e+03_rb,0.88559e+03_rb,0.11702e+04_rb /) kbo(:, 3,51,12) = (/ & & 0.10356e+04_rb,0.78586e+03_rb,0.60163e+03_rb,0.88469e+03_rb,0.11690e+04_rb /) kbo(:, 4,51,12) = (/ & & 0.10358e+04_rb,0.78601e+03_rb,0.60139e+03_rb,0.88294e+03_rb,0.11668e+04_rb /) kbo(:, 5,51,12) = (/ & & 0.10379e+04_rb,0.78646e+03_rb,0.60074e+03_rb,0.88126e+03_rb,0.11648e+04_rb /) kbo(:, 1,52,12) = (/ & & 0.10383e+04_rb,0.78512e+03_rb,0.60257e+03_rb,0.88672e+03_rb,0.11727e+04_rb /) kbo(:, 2,52,12) = (/ & & 0.10350e+04_rb,0.78646e+03_rb,0.60217e+03_rb,0.88594e+03_rb,0.11707e+04_rb /) kbo(:, 3,52,12) = (/ & & 0.10358e+04_rb,0.78466e+03_rb,0.60160e+03_rb,0.88510e+03_rb,0.11695e+04_rb /) kbo(:, 4,52,12) = (/ & & 0.10356e+04_rb,0.78511e+03_rb,0.60151e+03_rb,0.88359e+03_rb,0.11676e+04_rb /) kbo(:, 5,52,12) = (/ & & 0.10365e+04_rb,0.78541e+03_rb,0.60103e+03_rb,0.88167e+03_rb,0.11655e+04_rb /) kbo(:, 1,53,12) = (/ & & 0.10352e+04_rb,0.78496e+03_rb,0.60273e+03_rb,0.88710e+03_rb,0.11735e+04_rb /) kbo(:, 2,53,12) = (/ & & 0.10359e+04_rb,0.78600e+03_rb,0.60229e+03_rb,0.88628e+03_rb,0.11714e+04_rb /) kbo(:, 3,53,12) = (/ & & 0.10369e+04_rb,0.78526e+03_rb,0.60188e+03_rb,0.88540e+03_rb,0.11699e+04_rb /) kbo(:, 4,53,12) = (/ & & 0.10383e+04_rb,0.78660e+03_rb,0.60159e+03_rb,0.88425e+03_rb,0.11685e+04_rb /) kbo(:, 5,53,12) = (/ & & 0.10373e+04_rb,0.78555e+03_rb,0.60126e+03_rb,0.88246e+03_rb,0.11663e+04_rb /) kbo(:, 1,54,12) = (/ & & 0.10367e+04_rb,0.78451e+03_rb,0.60297e+03_rb,0.88752e+03_rb,0.11746e+04_rb /) kbo(:, 2,54,12) = (/ & & 0.10355e+04_rb,0.78600e+03_rb,0.60244e+03_rb,0.88648e+03_rb,0.11721e+04_rb /) kbo(:, 3,54,12) = (/ & & 0.10348e+04_rb,0.78301e+03_rb,0.60206e+03_rb,0.88564e+03_rb,0.11703e+04_rb /) kbo(:, 4,54,12) = (/ & & 0.10395e+04_rb,0.78629e+03_rb,0.60165e+03_rb,0.88477e+03_rb,0.11691e+04_rb /) kbo(:, 5,54,12) = (/ & & 0.10361e+04_rb,0.78420e+03_rb,0.60141e+03_rb,0.88305e+03_rb,0.11670e+04_rb /) kbo(:, 1,55,12) = (/ & & 0.10361e+04_rb,0.78555e+03_rb,0.60296e+03_rb,0.88822e+03_rb,0.11760e+04_rb /) kbo(:, 2,55,12) = (/ & & 0.10355e+04_rb,0.78495e+03_rb,0.60258e+03_rb,0.88674e+03_rb,0.11727e+04_rb /) kbo(:, 3,55,12) = (/ & & 0.10349e+04_rb,0.78525e+03_rb,0.60217e+03_rb,0.88596e+03_rb,0.11709e+04_rb /) kbo(:, 4,55,12) = (/ & & 0.10361e+04_rb,0.78465e+03_rb,0.60184e+03_rb,0.88512e+03_rb,0.11696e+04_rb /) kbo(:, 5,55,12) = (/ & & 0.10363e+04_rb,0.78599e+03_rb,0.60163e+03_rb,0.88363e+03_rb,0.11677e+04_rb /) kbo(:, 1,56,12) = (/ & & 0.10361e+04_rb,0.78599e+03_rb,0.60309e+03_rb,0.88918e+03_rb,0.11774e+04_rb /) kbo(:, 2,56,12) = (/ & & 0.10391e+04_rb,0.78674e+03_rb,0.60272e+03_rb,0.88707e+03_rb,0.11734e+04_rb /) kbo(:, 3,56,12) = (/ & & 0.10363e+04_rb,0.78584e+03_rb,0.60228e+03_rb,0.88626e+03_rb,0.11716e+04_rb /) kbo(:, 4,56,12) = (/ & & 0.10369e+04_rb,0.78509e+03_rb,0.60186e+03_rb,0.88538e+03_rb,0.11695e+04_rb /) kbo(:, 5,56,12) = (/ & & 0.10363e+04_rb,0.78554e+03_rb,0.60158e+03_rb,0.88421e+03_rb,0.11682e+04_rb /) kbo(:, 1,57,12) = (/ & & 0.10381e+04_rb,0.78509e+03_rb,0.60327e+03_rb,0.89026e+03_rb,0.11789e+04_rb /) kbo(:, 2,57,12) = (/ & & 0.10344e+04_rb,0.78852e+03_rb,0.60284e+03_rb,0.88747e+03_rb,0.11744e+04_rb /) kbo(:, 3,57,12) = (/ & & 0.10369e+04_rb,0.78509e+03_rb,0.60242e+03_rb,0.88612e+03_rb,0.11720e+04_rb /) kbo(:, 4,57,12) = (/ & & 0.10393e+04_rb,0.78330e+03_rb,0.60216e+03_rb,0.88561e+03_rb,0.11703e+04_rb /) kbo(:, 5,57,12) = (/ & & 0.10365e+04_rb,0.78494e+03_rb,0.60164e+03_rb,0.88472e+03_rb,0.11688e+04_rb /) kbo(:, 1,58,12) = (/ & & 0.10353e+04_rb,0.78509e+03_rb,0.60357e+03_rb,0.89125e+03_rb,0.11802e+04_rb /) kbo(:, 2,58,12) = (/ & & 0.10371e+04_rb,0.78524e+03_rb,0.60283e+03_rb,0.88807e+03_rb,0.11757e+04_rb /) kbo(:, 3,58,12) = (/ & & 0.10365e+04_rb,0.78718e+03_rb,0.60278e+03_rb,0.88669e+03_rb,0.11726e+04_rb /) kbo(:, 4,58,12) = (/ & & 0.10349e+04_rb,0.78673e+03_rb,0.60216e+03_rb,0.88590e+03_rb,0.11708e+04_rb /) kbo(:, 5,58,12) = (/ & & 0.10365e+04_rb,0.78389e+03_rb,0.60170e+03_rb,0.88506e+03_rb,0.11695e+04_rb /) kbo(:, 1,59,12) = (/ & & 0.10365e+04_rb,0.78390e+03_rb,0.60373e+03_rb,0.89165e+03_rb,0.11808e+04_rb /) kbo(:, 2,59,12) = (/ & & 0.10369e+04_rb,0.78479e+03_rb,0.60298e+03_rb,0.88840e+03_rb,0.11763e+04_rb /) kbo(:, 3,59,12) = (/ & & 0.10357e+04_rb,0.78703e+03_rb,0.60261e+03_rb,0.88680e+03_rb,0.11713e+04_rb /) kbo(:, 4,59,12) = (/ & & 0.10363e+04_rb,0.78509e+03_rb,0.60219e+03_rb,0.88602e+03_rb,0.11708e+04_rb /) kbo(:, 5,59,12) = (/ & & 0.10365e+04_rb,0.78479e+03_rb,0.60174e+03_rb,0.88517e+03_rb,0.11696e+04_rb /) kbo(:, 1,13,13) = (/ & & 0.11661e+04_rb,0.87073e+03_rb,0.60556e+03_rb,0.88929e+03_rb,0.11761e+04_rb /) kbo(:, 2,13,13) = (/ & & 0.11527e+04_rb,0.87014e+03_rb,0.60489e+03_rb,0.88914e+03_rb,0.11754e+04_rb /) kbo(:, 3,13,13) = (/ & & 0.11423e+04_rb,0.85968e+03_rb,0.60419e+03_rb,0.88867e+03_rb,0.11747e+04_rb /) kbo(:, 4,13,13) = (/ & & 0.11371e+04_rb,0.85890e+03_rb,0.60344e+03_rb,0.88820e+03_rb,0.11742e+04_rb /) kbo(:, 5,13,13) = (/ & & 0.11390e+04_rb,0.85008e+03_rb,0.60234e+03_rb,0.88705e+03_rb,0.11727e+04_rb /) kbo(:, 1,14,13) = (/ & & 0.11362e+04_rb,0.85805e+03_rb,0.60511e+03_rb,0.88957e+03_rb,0.11761e+04_rb /) kbo(:, 2,14,13) = (/ & & 0.11276e+04_rb,0.85398e+03_rb,0.60448e+03_rb,0.88893e+03_rb,0.11753e+04_rb /) kbo(:, 3,14,13) = (/ & & 0.11208e+04_rb,0.84888e+03_rb,0.60397e+03_rb,0.88854e+03_rb,0.11747e+04_rb /) kbo(:, 4,14,13) = (/ & & 0.11194e+04_rb,0.85006e+03_rb,0.60305e+03_rb,0.88823e+03_rb,0.11740e+04_rb /) kbo(:, 5,14,13) = (/ & & 0.11083e+04_rb,0.84212e+03_rb,0.60191e+03_rb,0.88682e+03_rb,0.11725e+04_rb /) kbo(:, 1,15,13) = (/ & & 0.11142e+04_rb,0.84766e+03_rb,0.60488e+03_rb,0.88941e+03_rb,0.11748e+04_rb /) kbo(:, 2,15,13) = (/ & & 0.11176e+04_rb,0.84112e+03_rb,0.60414e+03_rb,0.88873e+03_rb,0.11752e+04_rb /) kbo(:, 3,15,13) = (/ & & 0.11051e+04_rb,0.84191e+03_rb,0.60348e+03_rb,0.88843e+03_rb,0.11747e+04_rb /) kbo(:, 4,15,13) = (/ & & 0.11036e+04_rb,0.83753e+03_rb,0.60270e+03_rb,0.88781e+03_rb,0.11739e+04_rb /) kbo(:, 5,15,13) = (/ & & 0.10935e+04_rb,0.82883e+03_rb,0.60139e+03_rb,0.88658e+03_rb,0.11723e+04_rb /) kbo(:, 1,16,13) = (/ & & 0.11074e+04_rb,0.83456e+03_rb,0.60440e+03_rb,0.88927e+03_rb,0.11760e+04_rb /) kbo(:, 2,16,13) = (/ & & 0.11018e+04_rb,0.83298e+03_rb,0.60385e+03_rb,0.88856e+03_rb,0.11751e+04_rb /) kbo(:, 3,16,13) = (/ & & 0.10859e+04_rb,0.83101e+03_rb,0.60319e+03_rb,0.88832e+03_rb,0.11747e+04_rb /) kbo(:, 4,16,13) = (/ & & 0.10925e+04_rb,0.82836e+03_rb,0.60254e+03_rb,0.88762e+03_rb,0.11738e+04_rb /) kbo(:, 5,16,13) = (/ & & 0.10900e+04_rb,0.82283e+03_rb,0.60124e+03_rb,0.88636e+03_rb,0.11721e+04_rb /) kbo(:, 1,17,13) = (/ & & 0.10953e+04_rb,0.82596e+03_rb,0.60413e+03_rb,0.88915e+03_rb,0.11759e+04_rb /) kbo(:, 2,17,13) = (/ & & 0.10864e+04_rb,0.82504e+03_rb,0.60360e+03_rb,0.88842e+03_rb,0.11750e+04_rb /) kbo(:, 3,17,13) = (/ & & 0.10812e+04_rb,0.81898e+03_rb,0.60295e+03_rb,0.88822e+03_rb,0.11746e+04_rb /) kbo(:, 4,17,13) = (/ & & 0.10806e+04_rb,0.81706e+03_rb,0.60242e+03_rb,0.88745e+03_rb,0.11736e+04_rb /) kbo(:, 5,17,13) = (/ & & 0.10764e+04_rb,0.81771e+03_rb,0.59943e+03_rb,0.88638e+03_rb,0.11722e+04_rb /) kbo(:, 1,18,13) = (/ & & 0.10787e+04_rb,0.82265e+03_rb,0.60390e+03_rb,0.88903e+03_rb,0.11759e+04_rb /) kbo(:, 2,18,13) = (/ & & 0.10743e+04_rb,0.81466e+03_rb,0.60339e+03_rb,0.88738e+03_rb,0.11749e+04_rb /) kbo(:, 3,18,13) = (/ & & 0.10792e+04_rb,0.81648e+03_rb,0.60273e+03_rb,0.88812e+03_rb,0.11749e+04_rb /) kbo(:, 4,18,13) = (/ & & 0.10724e+04_rb,0.81516e+03_rb,0.60185e+03_rb,0.88728e+03_rb,0.11735e+04_rb /) kbo(:, 5,18,13) = (/ & & 0.10737e+04_rb,0.81301e+03_rb,0.60092e+03_rb,0.88618e+03_rb,0.11717e+04_rb /) kbo(:, 1,19,13) = (/ & & 0.10778e+04_rb,0.81646e+03_rb,0.60388e+03_rb,0.88893e+03_rb,0.11758e+04_rb /) kbo(:, 2,19,13) = (/ & & 0.10709e+04_rb,0.81021e+03_rb,0.60321e+03_rb,0.88822e+03_rb,0.11748e+04_rb /) kbo(:, 3,19,13) = (/ & & 0.10651e+04_rb,0.80945e+03_rb,0.60254e+03_rb,0.88803e+03_rb,0.11745e+04_rb /) kbo(:, 4,19,13) = (/ & & 0.10677e+04_rb,0.80743e+03_rb,0.60147e+03_rb,0.88735e+03_rb,0.11733e+04_rb /) kbo(:, 5,19,13) = (/ & & 0.10575e+04_rb,0.80245e+03_rb,0.60072e+03_rb,0.88575e+03_rb,0.11721e+04_rb /) kbo(:, 1,20,13) = (/ & & 0.10622e+04_rb,0.81096e+03_rb,0.60356e+03_rb,0.88881e+03_rb,0.11757e+04_rb /) kbo(:, 2,20,13) = (/ & & 0.10607e+04_rb,0.80739e+03_rb,0.60305e+03_rb,0.88816e+03_rb,0.11748e+04_rb /) kbo(:, 3,20,13) = (/ & & 0.10623e+04_rb,0.80381e+03_rb,0.60252e+03_rb,0.88792e+03_rb,0.11744e+04_rb /) kbo(:, 4,20,13) = (/ & & 0.10570e+04_rb,0.80456e+03_rb,0.60093e+03_rb,0.88695e+03_rb,0.11731e+04_rb /) kbo(:, 5,20,13) = (/ & & 0.10628e+04_rb,0.80481e+03_rb,0.60051e+03_rb,0.88554e+03_rb,0.11713e+04_rb /) kbo(:, 1,21,13) = (/ & & 0.10564e+04_rb,0.80721e+03_rb,0.60326e+03_rb,0.88869e+03_rb,0.11756e+04_rb /) kbo(:, 2,21,13) = (/ & & 0.10630e+04_rb,0.79813e+03_rb,0.60290e+03_rb,0.88813e+03_rb,0.11748e+04_rb /) kbo(:, 3,21,13) = (/ & & 0.10553e+04_rb,0.80228e+03_rb,0.60219e+03_rb,0.88781e+03_rb,0.11743e+04_rb /) kbo(:, 4,21,13) = (/ & & 0.10544e+04_rb,0.79888e+03_rb,0.60136e+03_rb,0.88677e+03_rb,0.11729e+04_rb /) kbo(:, 5,21,13) = (/ & & 0.10596e+04_rb,0.81049e+03_rb,0.60032e+03_rb,0.88532e+03_rb,0.11710e+04_rb /) kbo(:, 1,22,13) = (/ & & 0.10550e+04_rb,0.80310e+03_rb,0.60326e+03_rb,0.88850e+03_rb,0.11754e+04_rb /) kbo(:, 2,22,13) = (/ & & 0.10516e+04_rb,0.80380e+03_rb,0.60256e+03_rb,0.88810e+03_rb,0.11747e+04_rb /) kbo(:, 3,22,13) = (/ & & 0.10562e+04_rb,0.80152e+03_rb,0.60229e+03_rb,0.88764e+03_rb,0.11741e+04_rb /) kbo(:, 4,22,13) = (/ & & 0.10509e+04_rb,0.80224e+03_rb,0.60002e+03_rb,0.88651e+03_rb,0.11726e+04_rb /) kbo(:, 5,22,13) = (/ & & 0.10563e+04_rb,0.79871e+03_rb,0.59990e+03_rb,0.88500e+03_rb,0.11706e+04_rb /) kbo(:, 1,23,13) = (/ & & 0.10567e+04_rb,0.79860e+03_rb,0.60326e+03_rb,0.88832e+03_rb,0.11752e+04_rb /) kbo(:, 2,23,13) = (/ & & 0.10532e+04_rb,0.79557e+03_rb,0.60254e+03_rb,0.88806e+03_rb,0.11747e+04_rb /) kbo(:, 3,23,13) = (/ & & 0.10534e+04_rb,0.79512e+03_rb,0.60237e+03_rb,0.88744e+03_rb,0.11739e+04_rb /) kbo(:, 4,23,13) = (/ & & 0.10472e+04_rb,0.79721e+03_rb,0.60072e+03_rb,0.88622e+03_rb,0.11723e+04_rb /) kbo(:, 5,23,13) = (/ & & 0.10509e+04_rb,0.79423e+03_rb,0.59964e+03_rb,0.88466e+03_rb,0.11702e+04_rb /) kbo(:, 1,24,13) = (/ & & 0.10549e+04_rb,0.79502e+03_rb,0.60296e+03_rb,0.88817e+03_rb,0.11750e+04_rb /) kbo(:, 2,24,13) = (/ & & 0.10498e+04_rb,0.80428e+03_rb,0.60221e+03_rb,0.88799e+03_rb,0.11746e+04_rb /) kbo(:, 3,24,13) = (/ & & 0.10553e+04_rb,0.79369e+03_rb,0.60149e+03_rb,0.88721e+03_rb,0.11736e+04_rb /) kbo(:, 4,24,13) = (/ & & 0.10517e+04_rb,0.79240e+03_rb,0.60048e+03_rb,0.88592e+03_rb,0.11719e+04_rb /) kbo(:, 5,24,13) = (/ & & 0.10493e+04_rb,0.79281e+03_rb,0.59936e+03_rb,0.88429e+03_rb,0.11697e+04_rb /) kbo(:, 1,25,13) = (/ & & 0.10472e+04_rb,0.79884e+03_rb,0.60281e+03_rb,0.88760e+03_rb,0.11748e+04_rb /) kbo(:, 2,25,13) = (/ & & 0.10433e+04_rb,0.79261e+03_rb,0.60217e+03_rb,0.88787e+03_rb,0.11745e+04_rb /) kbo(:, 3,25,13) = (/ & & 0.10495e+04_rb,0.79568e+03_rb,0.60138e+03_rb,0.88696e+03_rb,0.11733e+04_rb /) kbo(:, 4,25,13) = (/ & & 0.10412e+04_rb,0.79264e+03_rb,0.60023e+03_rb,0.88559e+03_rb,0.11715e+04_rb /) kbo(:, 5,25,13) = (/ & & 0.10432e+04_rb,0.79682e+03_rb,0.59908e+03_rb,0.88390e+03_rb,0.11692e+04_rb /) kbo(:, 1,26,13) = (/ & & 0.10426e+04_rb,0.79538e+03_rb,0.60266e+03_rb,0.88804e+03_rb,0.11748e+04_rb /) kbo(:, 2,26,13) = (/ & & 0.10459e+04_rb,0.79909e+03_rb,0.60196e+03_rb,0.88771e+03_rb,0.11743e+04_rb /) kbo(:, 3,26,13) = (/ & & 0.10455e+04_rb,0.79078e+03_rb,0.60113e+03_rb,0.88666e+03_rb,0.11729e+04_rb /) kbo(:, 4,26,13) = (/ & & 0.10380e+04_rb,0.79069e+03_rb,0.60011e+03_rb,0.88521e+03_rb,0.11710e+04_rb /) kbo(:, 5,26,13) = (/ & & 0.10428e+04_rb,0.79124e+03_rb,0.59892e+03_rb,0.88345e+03_rb,0.11686e+04_rb /) kbo(:, 1,27,13) = (/ & & 0.10409e+04_rb,0.79057e+03_rb,0.60249e+03_rb,0.88802e+03_rb,0.11747e+04_rb /) kbo(:, 2,27,13) = (/ & & 0.10432e+04_rb,0.78863e+03_rb,0.60172e+03_rb,0.88750e+03_rb,0.11740e+04_rb /) kbo(:, 3,27,13) = (/ & & 0.10404e+04_rb,0.79041e+03_rb,0.60057e+03_rb,0.88634e+03_rb,0.11728e+04_rb /) kbo(:, 4,27,13) = (/ & & 0.10425e+04_rb,0.78854e+03_rb,0.59967e+03_rb,0.88481e+03_rb,0.11704e+04_rb /) kbo(:, 5,27,13) = (/ & & 0.10492e+04_rb,0.78874e+03_rb,0.59843e+03_rb,0.88297e+03_rb,0.11680e+04_rb /) kbo(:, 1,28,13) = (/ & & 0.10434e+04_rb,0.79273e+03_rb,0.60231e+03_rb,0.88820e+03_rb,0.11747e+04_rb /) kbo(:, 2,28,13) = (/ & & 0.10472e+04_rb,0.78799e+03_rb,0.60162e+03_rb,0.88726e+03_rb,0.11737e+04_rb /) kbo(:, 3,28,13) = (/ & & 0.10366e+04_rb,0.79125e+03_rb,0.60032e+03_rb,0.88600e+03_rb,0.11720e+04_rb /) kbo(:, 4,28,13) = (/ & & 0.10345e+04_rb,0.78841e+03_rb,0.59938e+03_rb,0.88440e+03_rb,0.11699e+04_rb /) kbo(:, 5,28,13) = (/ & & 0.10534e+04_rb,0.78866e+03_rb,0.59808e+03_rb,0.88245e+03_rb,0.11673e+04_rb /) kbo(:, 1,29,13) = (/ & & 0.10524e+04_rb,0.78934e+03_rb,0.60181e+03_rb,0.88786e+03_rb,0.11745e+04_rb /) kbo(:, 2,29,13) = (/ & & 0.10481e+04_rb,0.78588e+03_rb,0.60321e+03_rb,0.88698e+03_rb,0.11734e+04_rb /) kbo(:, 3,29,13) = (/ & & 0.10466e+04_rb,0.79266e+03_rb,0.60021e+03_rb,0.88562e+03_rb,0.11715e+04_rb /) kbo(:, 4,29,13) = (/ & & 0.10466e+04_rb,0.79965e+03_rb,0.59906e+03_rb,0.88395e+03_rb,0.11693e+04_rb /) kbo(:, 5,29,13) = (/ & & 0.10459e+04_rb,0.78993e+03_rb,0.59799e+03_rb,0.88185e+03_rb,0.11668e+04_rb /) kbo(:, 1,30,13) = (/ & & 0.10360e+04_rb,0.78916e+03_rb,0.60191e+03_rb,0.88770e+03_rb,0.11743e+04_rb /) kbo(:, 2,30,13) = (/ & & 0.10409e+04_rb,0.78411e+03_rb,0.60093e+03_rb,0.88667e+03_rb,0.11729e+04_rb /) kbo(:, 3,30,13) = (/ & & 0.10391e+04_rb,0.79193e+03_rb,0.59993e+03_rb,0.88546e+03_rb,0.11710e+04_rb /) kbo(:, 4,30,13) = (/ & & 0.10409e+04_rb,0.78876e+03_rb,0.59874e+03_rb,0.88348e+03_rb,0.11687e+04_rb /) kbo(:, 5,30,13) = (/ & & 0.10396e+04_rb,0.78722e+03_rb,0.59722e+03_rb,0.88117e+03_rb,0.11665e+04_rb /) kbo(:, 1,31,13) = (/ & & 0.10394e+04_rb,0.79419e+03_rb,0.60167e+03_rb,0.88749e+03_rb,0.11740e+04_rb /) kbo(:, 2,31,13) = (/ & & 0.10363e+04_rb,0.79203e+03_rb,0.60068e+03_rb,0.88633e+03_rb,0.11725e+04_rb /) kbo(:, 3,31,13) = (/ & & 0.10437e+04_rb,0.78663e+03_rb,0.59963e+03_rb,0.88481e+03_rb,0.11705e+04_rb /) kbo(:, 4,31,13) = (/ & & 0.10406e+04_rb,0.79000e+03_rb,0.59839e+03_rb,0.88297e+03_rb,0.11680e+04_rb /) kbo(:, 5,31,13) = (/ & & 0.10413e+04_rb,0.79093e+03_rb,0.59674e+03_rb,0.88044e+03_rb,0.11650e+04_rb /) kbo(:, 1,32,13) = (/ & & 0.10440e+04_rb,0.79014e+03_rb,0.60327e+03_rb,0.88723e+03_rb,0.11737e+04_rb /) kbo(:, 2,32,13) = (/ & & 0.10391e+04_rb,0.79106e+03_rb,0.60042e+03_rb,0.88596e+03_rb,0.11720e+04_rb /) kbo(:, 3,32,13) = (/ & & 0.10467e+04_rb,0.78955e+03_rb,0.59932e+03_rb,0.88436e+03_rb,0.11699e+04_rb /) kbo(:, 4,32,13) = (/ & & 0.10407e+04_rb,0.79722e+03_rb,0.59818e+03_rb,0.88241e+03_rb,0.11673e+04_rb /) kbo(:, 5,32,13) = (/ & & 0.10382e+04_rb,0.78961e+03_rb,0.59626e+03_rb,0.87980e+03_rb,0.11639e+04_rb /) kbo(:, 1,33,13) = (/ & & 0.10522e+04_rb,0.78494e+03_rb,0.60081e+03_rb,0.88693e+03_rb,0.11733e+04_rb /) kbo(:, 2,33,13) = (/ & & 0.10373e+04_rb,0.79220e+03_rb,0.59999e+03_rb,0.88557e+03_rb,0.11715e+04_rb /) kbo(:, 3,33,13) = (/ & & 0.10359e+04_rb,0.78622e+03_rb,0.59900e+03_rb,0.88389e+03_rb,0.11695e+04_rb /) kbo(:, 4,33,13) = (/ & & 0.10377e+04_rb,0.78474e+03_rb,0.59760e+03_rb,0.88177e+03_rb,0.11667e+04_rb /) kbo(:, 5,33,13) = (/ & & 0.10406e+04_rb,0.78876e+03_rb,0.59580e+03_rb,0.87933e+03_rb,0.11633e+04_rb /) kbo(:, 1,34,13) = (/ & & 0.10360e+04_rb,0.79366e+03_rb,0.60074e+03_rb,0.88666e+03_rb,0.11729e+04_rb /) kbo(:, 2,34,13) = (/ & & 0.10445e+04_rb,0.78362e+03_rb,0.59974e+03_rb,0.88521e+03_rb,0.11710e+04_rb /) kbo(:, 3,34,13) = (/ & & 0.10445e+04_rb,0.78784e+03_rb,0.59871e+03_rb,0.88346e+03_rb,0.11687e+04_rb /) kbo(:, 4,34,13) = (/ & & 0.10420e+04_rb,0.78840e+03_rb,0.59718e+03_rb,0.88091e+03_rb,0.11665e+04_rb /) kbo(:, 5,34,13) = (/ & & 0.10384e+04_rb,0.79182e+03_rb,0.59540e+03_rb,0.87927e+03_rb,0.11620e+04_rb /) kbo(:, 1,35,13) = (/ & & 0.10422e+04_rb,0.79326e+03_rb,0.60077e+03_rb,0.88648e+03_rb,0.11727e+04_rb /) kbo(:, 2,35,13) = (/ & & 0.10360e+04_rb,0.79158e+03_rb,0.59975e+03_rb,0.88500e+03_rb,0.11707e+04_rb /) kbo(:, 3,35,13) = (/ & & 0.10370e+04_rb,0.78869e+03_rb,0.59854e+03_rb,0.88320e+03_rb,0.11683e+04_rb /) kbo(:, 4,35,13) = (/ & & 0.10364e+04_rb,0.79354e+03_rb,0.59694e+03_rb,0.88077e+03_rb,0.11651e+04_rb /) kbo(:, 5,35,13) = (/ & & 0.10369e+04_rb,0.78943e+03_rb,0.59473e+03_rb,0.87892e+03_rb,0.11616e+04_rb /) kbo(:, 1,36,13) = (/ & & 0.10401e+04_rb,0.78191e+03_rb,0.60075e+03_rb,0.88645e+03_rb,0.11727e+04_rb /) kbo(:, 2,36,13) = (/ & & 0.10371e+04_rb,0.78614e+03_rb,0.59972e+03_rb,0.88519e+03_rb,0.11707e+04_rb /) kbo(:, 3,36,13) = (/ & & 0.10392e+04_rb,0.78550e+03_rb,0.59835e+03_rb,0.88339e+03_rb,0.11683e+04_rb /) kbo(:, 4,36,13) = (/ & & 0.10378e+04_rb,0.78649e+03_rb,0.59690e+03_rb,0.88071e+03_rb,0.11650e+04_rb /) kbo(:, 5,36,13) = (/ & & 0.10389e+04_rb,0.79012e+03_rb,0.59516e+03_rb,0.87821e+03_rb,0.11604e+04_rb /) kbo(:, 1,37,13) = (/ & & 0.10397e+04_rb,0.78790e+03_rb,0.60071e+03_rb,0.88662e+03_rb,0.11729e+04_rb /) kbo(:, 2,37,13) = (/ & & 0.10413e+04_rb,0.78135e+03_rb,0.59986e+03_rb,0.88540e+03_rb,0.11710e+04_rb /) kbo(:, 3,37,13) = (/ & & 0.10434e+04_rb,0.78885e+03_rb,0.59867e+03_rb,0.88341e+03_rb,0.11686e+04_rb /) kbo(:, 4,37,13) = (/ & & 0.10382e+04_rb,0.79636e+03_rb,0.59698e+03_rb,0.88108e+03_rb,0.11655e+04_rb /) kbo(:, 5,37,13) = (/ & & 0.10369e+04_rb,0.78656e+03_rb,0.59536e+03_rb,0.87879e+03_rb,0.11626e+04_rb /) kbo(:, 1,38,13) = (/ & & 0.10433e+04_rb,0.78475e+03_rb,0.60099e+03_rb,0.88680e+03_rb,0.11731e+04_rb /) kbo(:, 2,38,13) = (/ & & 0.10422e+04_rb,0.78187e+03_rb,0.60001e+03_rb,0.88539e+03_rb,0.11713e+04_rb /) kbo(:, 3,38,13) = (/ & & 0.10376e+04_rb,0.78470e+03_rb,0.59854e+03_rb,0.88368e+03_rb,0.11690e+04_rb /) kbo(:, 4,38,13) = (/ & & 0.10379e+04_rb,0.78467e+03_rb,0.59739e+03_rb,0.88147e+03_rb,0.11660e+04_rb /) kbo(:, 5,38,13) = (/ & & 0.10346e+04_rb,0.79279e+03_rb,0.59559e+03_rb,0.87849e+03_rb,0.11631e+04_rb /) kbo(:, 1,39,13) = (/ & & 0.10564e+04_rb,0.79016e+03_rb,0.60113e+03_rb,0.88696e+03_rb,0.11734e+04_rb /) kbo(:, 2,39,13) = (/ & & 0.10405e+04_rb,0.78139e+03_rb,0.59938e+03_rb,0.88561e+03_rb,0.11715e+04_rb /) kbo(:, 3,39,13) = (/ & & 0.10386e+04_rb,0.79256e+03_rb,0.59902e+03_rb,0.88393e+03_rb,0.11693e+04_rb /) kbo(:, 4,39,13) = (/ & & 0.10351e+04_rb,0.78501e+03_rb,0.59779e+03_rb,0.88184e+03_rb,0.11668e+04_rb /) kbo(:, 5,39,13) = (/ & & 0.10353e+04_rb,0.78561e+03_rb,0.59583e+03_rb,0.87937e+03_rb,0.11634e+04_rb /) kbo(:, 1,40,13) = (/ & & 0.10351e+04_rb,0.78501e+03_rb,0.60325e+03_rb,0.88723e+03_rb,0.11737e+04_rb /) kbo(:, 2,40,13) = (/ & & 0.10332e+04_rb,0.78519e+03_rb,0.60040e+03_rb,0.88596e+03_rb,0.11720e+04_rb /) kbo(:, 3,40,13) = (/ & & 0.10393e+04_rb,0.78843e+03_rb,0.59931e+03_rb,0.88436e+03_rb,0.11699e+04_rb /) kbo(:, 4,40,13) = (/ & & 0.10339e+04_rb,0.78821e+03_rb,0.59801e+03_rb,0.88242e+03_rb,0.11676e+04_rb /) kbo(:, 5,40,13) = (/ & & 0.10476e+04_rb,0.78616e+03_rb,0.59626e+03_rb,0.87958e+03_rb,0.11639e+04_rb /) kbo(:, 1,41,13) = (/ & & 0.10420e+04_rb,0.78658e+03_rb,0.60226e+03_rb,0.88748e+03_rb,0.11740e+04_rb /) kbo(:, 2,41,13) = (/ & & 0.10471e+04_rb,0.78433e+03_rb,0.60065e+03_rb,0.88632e+03_rb,0.11725e+04_rb /) kbo(:, 3,41,13) = (/ & & 0.10385e+04_rb,0.78777e+03_rb,0.59960e+03_rb,0.88480e+03_rb,0.11705e+04_rb /) kbo(:, 4,41,13) = (/ & & 0.10374e+04_rb,0.79305e+03_rb,0.59837e+03_rb,0.88319e+03_rb,0.11680e+04_rb /) kbo(:, 5,41,13) = (/ & & 0.10341e+04_rb,0.79121e+03_rb,0.59671e+03_rb,0.88067e+03_rb,0.11641e+04_rb /) kbo(:, 1,42,13) = (/ & & 0.10427e+04_rb,0.78654e+03_rb,0.60202e+03_rb,0.88768e+03_rb,0.11743e+04_rb /) kbo(:, 2,42,13) = (/ & & 0.10376e+04_rb,0.78774e+03_rb,0.60073e+03_rb,0.88666e+03_rb,0.11730e+04_rb /) kbo(:, 3,42,13) = (/ & & 0.10387e+04_rb,0.78631e+03_rb,0.59989e+03_rb,0.88522e+03_rb,0.11710e+04_rb /) kbo(:, 4,42,13) = (/ & & 0.10432e+04_rb,0.79240e+03_rb,0.59870e+03_rb,0.88347e+03_rb,0.11690e+04_rb /) kbo(:, 5,42,13) = (/ & & 0.10408e+04_rb,0.78283e+03_rb,0.59718e+03_rb,0.88116e+03_rb,0.11677e+04_rb /) kbo(:, 1,43,13) = (/ & & 0.10384e+04_rb,0.78732e+03_rb,0.60211e+03_rb,0.88787e+03_rb,0.11746e+04_rb /) kbo(:, 2,43,13) = (/ & & 0.10392e+04_rb,0.79483e+03_rb,0.60103e+03_rb,0.88703e+03_rb,0.11735e+04_rb /) kbo(:, 3,43,13) = (/ & & 0.10435e+04_rb,0.79279e+03_rb,0.60022e+03_rb,0.88570e+03_rb,0.11717e+04_rb /) kbo(:, 4,43,13) = (/ & & 0.10453e+04_rb,0.78261e+03_rb,0.59909e+03_rb,0.88405e+03_rb,0.11698e+04_rb /) kbo(:, 5,43,13) = (/ & & 0.10349e+04_rb,0.78239e+03_rb,0.59773e+03_rb,0.88200e+03_rb,0.11670e+04_rb /) kbo(:, 1,44,13) = (/ & & 0.10376e+04_rb,0.78973e+03_rb,0.60218e+03_rb,0.88797e+03_rb,0.11747e+04_rb /) kbo(:, 2,44,13) = (/ & & 0.10357e+04_rb,0.79073e+03_rb,0.60154e+03_rb,0.88738e+03_rb,0.11742e+04_rb /) kbo(:, 3,44,13) = (/ & & 0.10381e+04_rb,0.78584e+03_rb,0.60056e+03_rb,0.88619e+03_rb,0.11723e+04_rb /) kbo(:, 4,44,13) = (/ & & 0.10410e+04_rb,0.78726e+03_rb,0.59965e+03_rb,0.88464e+03_rb,0.11703e+04_rb /) kbo(:, 5,44,13) = (/ & & 0.10370e+04_rb,0.78461e+03_rb,0.59824e+03_rb,0.88299e+03_rb,0.11677e+04_rb /) kbo(:, 1,45,13) = (/ & & 0.10383e+04_rb,0.78177e+03_rb,0.60254e+03_rb,0.88799e+03_rb,0.11748e+04_rb /) kbo(:, 2,45,13) = (/ & & 0.10337e+04_rb,0.78400e+03_rb,0.60200e+03_rb,0.88790e+03_rb,0.11743e+04_rb /) kbo(:, 3,45,13) = (/ & & 0.10407e+04_rb,0.78928e+03_rb,0.60087e+03_rb,0.88664e+03_rb,0.11732e+04_rb /) kbo(:, 4,45,13) = (/ & & 0.10410e+04_rb,0.79578e+03_rb,0.59987e+03_rb,0.88519e+03_rb,0.11713e+04_rb /) kbo(:, 5,45,13) = (/ & & 0.10369e+04_rb,0.78337e+03_rb,0.59884e+03_rb,0.88344e+03_rb,0.11687e+04_rb /) kbo(:, 1,46,13) = (/ & & 0.10415e+04_rb,0.79090e+03_rb,0.60272e+03_rb,0.88805e+03_rb,0.11749e+04_rb /) kbo(:, 2,46,13) = (/ & & 0.10332e+04_rb,0.79374e+03_rb,0.60213e+03_rb,0.88788e+03_rb,0.11746e+04_rb /) kbo(:, 3,46,13) = (/ & & 0.10495e+04_rb,0.78743e+03_rb,0.60122e+03_rb,0.88707e+03_rb,0.11738e+04_rb /) kbo(:, 4,46,13) = (/ & & 0.10359e+04_rb,0.78275e+03_rb,0.60025e+03_rb,0.88575e+03_rb,0.11717e+04_rb /) kbo(:, 5,46,13) = (/ & & 0.10407e+04_rb,0.79210e+03_rb,0.59913e+03_rb,0.88411e+03_rb,0.11695e+04_rb /) kbo(:, 1,47,13) = (/ & & 0.10396e+04_rb,0.78478e+03_rb,0.60291e+03_rb,0.88833e+03_rb,0.11753e+04_rb /) kbo(:, 2,47,13) = (/ & & 0.10391e+04_rb,0.78254e+03_rb,0.60239e+03_rb,0.88798e+03_rb,0.11747e+04_rb /) kbo(:, 3,47,13) = (/ & & 0.10358e+04_rb,0.79087e+03_rb,0.60194e+03_rb,0.88748e+03_rb,0.11740e+04_rb /) kbo(:, 4,47,13) = (/ & & 0.10382e+04_rb,0.78212e+03_rb,0.60065e+03_rb,0.88632e+03_rb,0.11725e+04_rb /) kbo(:, 5,47,13) = (/ & & 0.10417e+04_rb,0.78639e+03_rb,0.59976e+03_rb,0.88480e+03_rb,0.11705e+04_rb /) kbo(:, 1,48,13) = (/ & & 0.10401e+04_rb,0.78456e+03_rb,0.60307e+03_rb,0.88865e+03_rb,0.11757e+04_rb /) kbo(:, 2,48,13) = (/ & & 0.10385e+04_rb,0.78639e+03_rb,0.60262e+03_rb,0.88799e+03_rb,0.11748e+04_rb /) kbo(:, 3,48,13) = (/ & & 0.10377e+04_rb,0.78374e+03_rb,0.60183e+03_rb,0.88778e+03_rb,0.11745e+04_rb /) kbo(:, 4,48,13) = (/ & & 0.10347e+04_rb,0.78455e+03_rb,0.60102e+03_rb,0.88707e+03_rb,0.11732e+04_rb /) kbo(:, 5,48,13) = (/ & & 0.10420e+04_rb,0.79085e+03_rb,0.60005e+03_rb,0.88545e+03_rb,0.11713e+04_rb /) kbo(:, 1,49,13) = (/ & & 0.10372e+04_rb,0.78740e+03_rb,0.60317e+03_rb,0.88862e+03_rb,0.11760e+04_rb /) kbo(:, 2,49,13) = (/ & & 0.10417e+04_rb,0.78862e+03_rb,0.60282e+03_rb,0.88818e+03_rb,0.11751e+04_rb /) kbo(:, 3,49,13) = (/ & & 0.10345e+04_rb,0.78780e+03_rb,0.60227e+03_rb,0.88818e+03_rb,0.11747e+04_rb /) kbo(:, 4,49,13) = (/ & & 0.10406e+04_rb,0.78617e+03_rb,0.60221e+03_rb,0.88729e+03_rb,0.11738e+04_rb /) kbo(:, 5,49,13) = (/ & & 0.10382e+04_rb,0.79023e+03_rb,0.60061e+03_rb,0.88605e+03_rb,0.11721e+04_rb /) kbo(:, 1,50,13) = (/ & & 0.10347e+04_rb,0.79207e+03_rb,0.60367e+03_rb,0.88900e+03_rb,0.11761e+04_rb /) kbo(:, 2,50,13) = (/ & & 0.10350e+04_rb,0.78739e+03_rb,0.60298e+03_rb,0.88872e+03_rb,0.11755e+04_rb /) kbo(:, 3,50,13) = (/ & & 0.10353e+04_rb,0.78433e+03_rb,0.60234e+03_rb,0.88799e+03_rb,0.11744e+04_rb /) kbo(:, 4,50,13) = (/ & & 0.10489e+04_rb,0.79267e+03_rb,0.60164e+03_rb,0.88763e+03_rb,0.11743e+04_rb /) kbo(:, 5,50,13) = (/ & & 0.10406e+04_rb,0.78514e+03_rb,0.60019e+03_rb,0.88656e+03_rb,0.11728e+04_rb /) kbo(:, 1,51,13) = (/ & & 0.10345e+04_rb,0.78799e+03_rb,0.60398e+03_rb,0.88932e+03_rb,0.11765e+04_rb /) kbo(:, 2,51,13) = (/ & & 0.10401e+04_rb,0.78697e+03_rb,0.60314e+03_rb,0.88874e+03_rb,0.11758e+04_rb /) kbo(:, 3,51,13) = (/ & & 0.10366e+04_rb,0.78656e+03_rb,0.60285e+03_rb,0.88803e+03_rb,0.11749e+04_rb /) kbo(:, 4,51,13) = (/ & & 0.10374e+04_rb,0.78473e+03_rb,0.60240e+03_rb,0.88809e+03_rb,0.11746e+04_rb /) kbo(:, 5,51,13) = (/ & & 0.10390e+04_rb,0.78920e+03_rb,0.60116e+03_rb,0.88701e+03_rb,0.11734e+04_rb /) kbo(:, 1,52,13) = (/ & & 0.10369e+04_rb,0.78758e+03_rb,0.60425e+03_rb,0.88974e+03_rb,0.11770e+04_rb /) kbo(:, 2,52,13) = (/ & & 0.10369e+04_rb,0.78229e+03_rb,0.60357e+03_rb,0.88889e+03_rb,0.11760e+04_rb /) kbo(:, 3,52,13) = (/ & & 0.10371e+04_rb,0.78737e+03_rb,0.60287e+03_rb,0.88826e+03_rb,0.11752e+04_rb /) kbo(:, 4,52,13) = (/ & & 0.10414e+04_rb,0.78574e+03_rb,0.60234e+03_rb,0.88797e+03_rb,0.11747e+04_rb /) kbo(:, 5,52,13) = (/ & & 0.10377e+04_rb,0.78696e+03_rb,0.60170e+03_rb,0.88739e+03_rb,0.11739e+04_rb /) kbo(:, 1,53,13) = (/ & & 0.10446e+04_rb,0.78533e+03_rb,0.60451e+03_rb,0.89022e+03_rb,0.11778e+04_rb /) kbo(:, 2,53,13) = (/ & & 0.10366e+04_rb,0.78675e+03_rb,0.60391e+03_rb,0.88907e+03_rb,0.11762e+04_rb /) kbo(:, 3,53,13) = (/ & & 0.10339e+04_rb,0.78472e+03_rb,0.60302e+03_rb,0.88857e+03_rb,0.11756e+04_rb /) kbo(:, 4,53,13) = (/ & & 0.10347e+04_rb,0.78858e+03_rb,0.60271e+03_rb,0.88799e+03_rb,0.11748e+04_rb /) kbo(:, 5,53,13) = (/ & & 0.10414e+04_rb,0.78370e+03_rb,0.60188e+03_rb,0.88770e+03_rb,0.11743e+04_rb /) kbo(:, 1,54,13) = (/ & & 0.10366e+04_rb,0.78980e+03_rb,0.60463e+03_rb,0.89072e+03_rb,0.11788e+04_rb /) kbo(:, 2,54,13) = (/ & & 0.10376e+04_rb,0.78289e+03_rb,0.60402e+03_rb,0.88939e+03_rb,0.11765e+04_rb /) kbo(:, 3,54,13) = (/ & & 0.10387e+04_rb,0.78695e+03_rb,0.60318e+03_rb,0.88877e+03_rb,0.11759e+04_rb /) kbo(:, 4,54,13) = (/ & & 0.10435e+04_rb,0.78370e+03_rb,0.60273e+03_rb,0.88806e+03_rb,0.11749e+04_rb /) kbo(:, 5,54,13) = (/ & & 0.10492e+04_rb,0.79000e+03_rb,0.60214e+03_rb,0.88789e+03_rb,0.11746e+04_rb /) kbo(:, 1,55,13) = (/ & & 0.10395e+04_rb,0.78654e+03_rb,0.60524e+03_rb,0.89136e+03_rb,0.11799e+04_rb /) kbo(:, 2,55,13) = (/ & & 0.10379e+04_rb,0.78553e+03_rb,0.60426e+03_rb,0.88977e+03_rb,0.11770e+04_rb /) kbo(:, 3,55,13) = (/ & & 0.10376e+04_rb,0.78959e+03_rb,0.60343e+03_rb,0.88890e+03_rb,0.11757e+04_rb /) kbo(:, 4,55,13) = (/ & & 0.10360e+04_rb,0.78634e+03_rb,0.60272e+03_rb,0.88828e+03_rb,0.11752e+04_rb /) kbo(:, 5,55,13) = (/ & & 0.10355e+04_rb,0.78796e+03_rb,0.60219e+03_rb,0.88821e+03_rb,0.11747e+04_rb /) kbo(:, 1,56,13) = (/ & & 0.10500e+04_rb,0.78471e+03_rb,0.60540e+03_rb,0.89210e+03_rb,0.11812e+04_rb /) kbo(:, 2,56,13) = (/ & & 0.10441e+04_rb,0.78735e+03_rb,0.60449e+03_rb,0.89019e+03_rb,0.11777e+04_rb /) kbo(:, 3,56,13) = (/ & & 0.10382e+04_rb,0.78755e+03_rb,0.60374e+03_rb,0.88905e+03_rb,0.11759e+04_rb /) kbo(:, 4,56,13) = (/ & & 0.10470e+04_rb,0.78715e+03_rb,0.60301e+03_rb,0.88855e+03_rb,0.11756e+04_rb /) kbo(:, 5,56,13) = (/ & & 0.10358e+04_rb,0.78674e+03_rb,0.60270e+03_rb,0.88799e+03_rb,0.11748e+04_rb /) kbo(:, 1,57,13) = (/ & & 0.10339e+04_rb,0.78715e+03_rb,0.60588e+03_rb,0.89295e+03_rb,0.11828e+04_rb /) kbo(:, 2,57,13) = (/ & & 0.10441e+04_rb,0.78267e+03_rb,0.60475e+03_rb,0.89065e+03_rb,0.11787e+04_rb /) kbo(:, 3,57,13) = (/ & & 0.10435e+04_rb,0.78938e+03_rb,0.60399e+03_rb,0.88934e+03_rb,0.11765e+04_rb /) kbo(:, 4,57,13) = (/ & & 0.10392e+04_rb,0.79203e+03_rb,0.60300e+03_rb,0.88875e+03_rb,0.11758e+04_rb /) kbo(:, 5,57,13) = (/ & & 0.10360e+04_rb,0.78491e+03_rb,0.60271e+03_rb,0.88827e+03_rb,0.11749e+04_rb /) kbo(:, 1,58,13) = (/ & & 0.10392e+04_rb,0.78430e+03_rb,0.60601e+03_rb,0.89398e+03_rb,0.11847e+04_rb /) kbo(:, 2,58,13) = (/ & & 0.10363e+04_rb,0.78694e+03_rb,0.60503e+03_rb,0.89124e+03_rb,0.11797e+04_rb /) kbo(:, 3,58,13) = (/ & & 0.10360e+04_rb,0.78084e+03_rb,0.60391e+03_rb,0.88970e+03_rb,0.11769e+04_rb /) kbo(:, 4,58,13) = (/ & & 0.10459e+04_rb,0.78267e+03_rb,0.60338e+03_rb,0.88888e+03_rb,0.11757e+04_rb /) kbo(:, 5,58,13) = (/ & & 0.10368e+04_rb,0.79101e+03_rb,0.60285e+03_rb,0.88823e+03_rb,0.11752e+04_rb /) kbo(:, 1,59,13) = (/ & & 0.10403e+04_rb,0.78613e+03_rb,0.60612e+03_rb,0.89444e+03_rb,0.11849e+04_rb /) kbo(:, 2,59,13) = (/ & & 0.10349e+04_rb,0.78531e+03_rb,0.60514e+03_rb,0.89150e+03_rb,0.11802e+04_rb /) kbo(:, 3,59,13) = (/ & & 0.10360e+04_rb,0.78470e+03_rb,0.60447e+03_rb,0.88985e+03_rb,0.11771e+04_rb /) kbo(:, 4,59,13) = (/ & & 0.10411e+04_rb,0.78531e+03_rb,0.60349e+03_rb,0.88892e+03_rb,0.11761e+04_rb /) kbo(:, 5,59,13) = (/ & & 0.10355e+04_rb,0.78795e+03_rb,0.60275e+03_rb,0.88833e+03_rb,0.11753e+04_rb /) kbo(:, 1,13,14) = (/ & & 0.12194e+04_rb,0.91192e+03_rb,0.60649e+03_rb,0.89289e+03_rb,0.11803e+04_rb /) kbo(:, 2,13,14) = (/ & & 0.11340e+04_rb,0.93388e+03_rb,0.60565e+03_rb,0.89163e+03_rb,0.11786e+04_rb /) kbo(:, 3,13,14) = (/ & & 0.11287e+04_rb,0.93154e+03_rb,0.60510e+03_rb,0.89077e+03_rb,0.11775e+04_rb /) kbo(:, 4,13,14) = (/ & & 0.11571e+04_rb,0.89198e+03_rb,0.60383e+03_rb,0.88977e+03_rb,0.11762e+04_rb /) kbo(:, 5,13,14) = (/ & & 0.11232e+04_rb,0.85932e+03_rb,0.60280e+03_rb,0.88865e+03_rb,0.11748e+04_rb /) kbo(:, 1,14,14) = (/ & & 0.11313e+04_rb,0.85574e+03_rb,0.60604e+03_rb,0.89259e+03_rb,0.11800e+04_rb /) kbo(:, 2,14,14) = (/ & & 0.11392e+04_rb,0.85278e+03_rb,0.60523e+03_rb,0.89143e+03_rb,0.11785e+04_rb /) kbo(:, 3,14,14) = (/ & & 0.11402e+04_rb,0.86846e+03_rb,0.60420e+03_rb,0.89055e+03_rb,0.11774e+04_rb /) kbo(:, 4,14,14) = (/ & & 0.11058e+04_rb,0.85128e+03_rb,0.60339e+03_rb,0.88920e+03_rb,0.11761e+04_rb /) kbo(:, 5,14,14) = (/ & & 0.11286e+04_rb,0.84325e+03_rb,0.60241e+03_rb,0.88842e+03_rb,0.11746e+04_rb /) kbo(:, 1,15,14) = (/ & & 0.11349e+04_rb,0.84417e+03_rb,0.60541e+03_rb,0.89231e+03_rb,0.11798e+04_rb /) kbo(:, 2,15,14) = (/ & & 0.11015e+04_rb,0.88045e+03_rb,0.60487e+03_rb,0.89125e+03_rb,0.11784e+04_rb /) kbo(:, 3,15,14) = (/ & & 0.11261e+04_rb,0.83776e+03_rb,0.60408e+03_rb,0.89034e+03_rb,0.11772e+04_rb /) kbo(:, 4,15,14) = (/ & & 0.10962e+04_rb,0.86597e+03_rb,0.60302e+03_rb,0.88937e+03_rb,0.11760e+04_rb /) kbo(:, 5,15,14) = (/ & & 0.10995e+04_rb,0.86095e+03_rb,0.60207e+03_rb,0.88855e+03_rb,0.11740e+04_rb /) kbo(:, 1,16,14) = (/ & & 0.11556e+04_rb,0.89943e+03_rb,0.60533e+03_rb,0.89241e+03_rb,0.11796e+04_rb /) kbo(:, 2,16,14) = (/ & & 0.10928e+04_rb,0.87845e+03_rb,0.60456e+03_rb,0.89108e+03_rb,0.11783e+04_rb /) kbo(:, 3,16,14) = (/ & & 0.11526e+04_rb,0.84568e+03_rb,0.60375e+03_rb,0.89014e+03_rb,0.11771e+04_rb /) kbo(:, 4,16,14) = (/ & & 0.11224e+04_rb,0.82958e+03_rb,0.60245e+03_rb,0.88919e+03_rb,0.11758e+04_rb /) kbo(:, 5,16,14) = (/ & & 0.11104e+04_rb,0.83492e+03_rb,0.60177e+03_rb,0.88796e+03_rb,0.11747e+04_rb /) kbo(:, 1,17,14) = (/ & & 0.11093e+04_rb,0.86391e+03_rb,0.60505e+03_rb,0.89183e+03_rb,0.11794e+04_rb /) kbo(:, 2,17,14) = (/ & & 0.10879e+04_rb,0.83992e+03_rb,0.60455e+03_rb,0.89093e+03_rb,0.11782e+04_rb /) kbo(:, 3,17,14) = (/ & & 0.11180e+04_rb,0.83675e+03_rb,0.60345e+03_rb,0.88997e+03_rb,0.11769e+04_rb /) kbo(:, 4,17,14) = (/ & & 0.11203e+04_rb,0.81299e+03_rb,0.60195e+03_rb,0.88902e+03_rb,0.11757e+04_rb /) kbo(:, 5,17,14) = (/ & & 0.10902e+04_rb,0.84755e+03_rb,0.60151e+03_rb,0.88739e+03_rb,0.11736e+04_rb /) kbo(:, 1,18,14) = (/ & & 0.10889e+04_rb,0.82171e+03_rb,0.60482e+03_rb,0.89199e+03_rb,0.11792e+04_rb /) kbo(:, 2,18,14) = (/ & & 0.10836e+04_rb,0.85518e+03_rb,0.60408e+03_rb,0.89079e+03_rb,0.11781e+04_rb /) kbo(:, 3,18,14) = (/ & & 0.10919e+04_rb,0.82437e+03_rb,0.60318e+03_rb,0.88981e+03_rb,0.11763e+04_rb /) kbo(:, 4,18,14) = (/ & & 0.11143e+04_rb,0.86811e+03_rb,0.60223e+03_rb,0.88886e+03_rb,0.11755e+04_rb /) kbo(:, 5,18,14) = (/ & & 0.10618e+04_rb,0.80694e+03_rb,0.60104e+03_rb,0.88718e+03_rb,0.11738e+04_rb /) kbo(:, 1,19,14) = (/ & & 0.10700e+04_rb,0.81179e+03_rb,0.60437e+03_rb,0.89145e+03_rb,0.11790e+04_rb /) kbo(:, 2,19,14) = (/ & & 0.11096e+04_rb,0.84185e+03_rb,0.60389e+03_rb,0.89066e+03_rb,0.11785e+04_rb /) kbo(:, 3,19,14) = (/ & & 0.10919e+04_rb,0.82575e+03_rb,0.60295e+03_rb,0.89004e+03_rb,0.11767e+04_rb /) kbo(:, 4,19,14) = (/ & & 0.10874e+04_rb,0.81974e+03_rb,0.60205e+03_rb,0.88835e+03_rb,0.11754e+04_rb /) kbo(:, 5,19,14) = (/ & & 0.11077e+04_rb,0.86723e+03_rb,0.60084e+03_rb,0.88734e+03_rb,0.11727e+04_rb /) kbo(:, 1,20,14) = (/ & & 0.10813e+04_rb,0.82037e+03_rb,0.60443e+03_rb,0.89128e+03_rb,0.11789e+04_rb /) kbo(:, 2,20,14) = (/ & & 0.10944e+04_rb,0.83718e+03_rb,0.60369e+03_rb,0.89052e+03_rb,0.11778e+04_rb /) kbo(:, 3,20,14) = (/ & & 0.10922e+04_rb,0.81527e+03_rb,0.60248e+03_rb,0.88953e+03_rb,0.11765e+04_rb /) kbo(:, 4,20,14) = (/ & & 0.10962e+04_rb,0.82815e+03_rb,0.60188e+03_rb,0.88854e+03_rb,0.11752e+04_rb /) kbo(:, 5,20,14) = (/ & & 0.10768e+04_rb,0.81150e+03_rb,0.60064e+03_rb,0.88711e+03_rb,0.11734e+04_rb /) kbo(:, 1,21,14) = (/ & & 0.10919e+04_rb,0.79941e+03_rb,0.60426e+03_rb,0.89114e+03_rb,0.11787e+04_rb /) kbo(:, 2,21,14) = (/ & & 0.10481e+04_rb,0.83111e+03_rb,0.60351e+03_rb,0.89037e+03_rb,0.11777e+04_rb /) kbo(:, 3,21,14) = (/ & & 0.10716e+04_rb,0.81475e+03_rb,0.60253e+03_rb,0.88975e+03_rb,0.11764e+04_rb /) kbo(:, 4,21,14) = (/ & & 0.11197e+04_rb,0.80344e+03_rb,0.60123e+03_rb,0.88837e+03_rb,0.11750e+04_rb /) kbo(:, 5,21,14) = (/ & & 0.10436e+04_rb,0.80977e+03_rb,0.60045e+03_rb,0.88688e+03_rb,0.11731e+04_rb /) kbo(:, 1,22,14) = (/ & & 0.11028e+04_rb,0.82019e+03_rb,0.60406e+03_rb,0.89099e+03_rb,0.11785e+04_rb /) kbo(:, 2,22,14) = (/ & & 0.10664e+04_rb,0.84127e+03_rb,0.60327e+03_rb,0.89089e+03_rb,0.11775e+04_rb /) kbo(:, 3,22,14) = (/ & & 0.10764e+04_rb,0.83101e+03_rb,0.60182e+03_rb,0.88920e+03_rb,0.11762e+04_rb /) kbo(:, 4,22,14) = (/ & & 0.10955e+04_rb,0.82928e+03_rb,0.60175e+03_rb,0.88811e+03_rb,0.11747e+04_rb /) kbo(:, 5,22,14) = (/ & & 0.10429e+04_rb,0.82150e+03_rb,0.60042e+03_rb,0.88653e+03_rb,0.11726e+04_rb /) kbo(:, 1,23,14) = (/ & & 0.10449e+04_rb,0.79677e+03_rb,0.60363e+03_rb,0.89084e+03_rb,0.11784e+04_rb /) kbo(:, 2,23,14) = (/ & & 0.10443e+04_rb,0.81477e+03_rb,0.60352e+03_rb,0.88994e+03_rb,0.11772e+04_rb /) kbo(:, 3,23,14) = (/ & & 0.10490e+04_rb,0.84026e+03_rb,0.60112e+03_rb,0.88900e+03_rb,0.11759e+04_rb /) kbo(:, 4,23,14) = (/ & & 0.10652e+04_rb,0.80737e+03_rb,0.60128e+03_rb,0.88783e+03_rb,0.11744e+04_rb /) kbo(:, 5,23,14) = (/ & & 0.10777e+04_rb,0.80975e+03_rb,0.60014e+03_rb,0.88615e+03_rb,0.11722e+04_rb /) kbo(:, 1,24,14) = (/ & & 0.10587e+04_rb,0.83370e+03_rb,0.60369e+03_rb,0.89067e+03_rb,0.11782e+04_rb /) kbo(:, 2,24,14) = (/ & & 0.10413e+04_rb,0.79049e+03_rb,0.60278e+03_rb,0.88972e+03_rb,0.11769e+04_rb /) kbo(:, 3,24,14) = (/ & & 0.10508e+04_rb,0.83928e+03_rb,0.60192e+03_rb,0.88879e+03_rb,0.11757e+04_rb /) kbo(:, 4,24,14) = (/ & & 0.10667e+04_rb,0.80304e+03_rb,0.60105e+03_rb,0.88752e+03_rb,0.11740e+04_rb /) kbo(:, 5,24,14) = (/ & & 0.10776e+04_rb,0.78685e+03_rb,0.59985e+03_rb,0.88574e+03_rb,0.11716e+04_rb /) kbo(:, 1,25,14) = (/ & & 0.10559e+04_rb,0.78648e+03_rb,0.60348e+03_rb,0.89048e+03_rb,0.11779e+04_rb /) kbo(:, 2,25,14) = (/ & & 0.10600e+04_rb,0.81980e+03_rb,0.60253e+03_rb,0.88951e+03_rb,0.11766e+04_rb /) kbo(:, 3,25,14) = (/ & & 0.10484e+04_rb,0.79331e+03_rb,0.60149e+03_rb,0.88854e+03_rb,0.11754e+04_rb /) kbo(:, 4,25,14) = (/ & & 0.11000e+04_rb,0.80548e+03_rb,0.60080e+03_rb,0.88717e+03_rb,0.11735e+04_rb /) kbo(:, 5,25,14) = (/ & & 0.11165e+04_rb,0.79968e+03_rb,0.59952e+03_rb,0.88528e+03_rb,0.11711e+04_rb /) kbo(:, 1,26,14) = (/ & & 0.10604e+04_rb,0.79570e+03_rb,0.60325e+03_rb,0.89026e+03_rb,0.11777e+04_rb /) kbo(:, 2,26,14) = (/ & & 0.10870e+04_rb,0.78311e+03_rb,0.60230e+03_rb,0.88929e+03_rb,0.11764e+04_rb /) kbo(:, 3,26,14) = (/ & & 0.10476e+04_rb,0.79338e+03_rb,0.60128e+03_rb,0.88826e+03_rb,0.11750e+04_rb /) kbo(:, 4,26,14) = (/ & & 0.10459e+04_rb,0.80175e+03_rb,0.60027e+03_rb,0.88677e+03_rb,0.11730e+04_rb /) kbo(:, 5,26,14) = (/ & & 0.10485e+04_rb,0.81112e+03_rb,0.59892e+03_rb,0.88476e+03_rb,0.11704e+04_rb /) kbo(:, 1,27,14) = (/ & & 0.10458e+04_rb,0.79457e+03_rb,0.60301e+03_rb,0.89001e+03_rb,0.11773e+04_rb /) kbo(:, 2,27,14) = (/ & & 0.10576e+04_rb,0.79170e+03_rb,0.60208e+03_rb,0.88906e+03_rb,0.11761e+04_rb /) kbo(:, 3,27,14) = (/ & & 0.10632e+04_rb,0.79464e+03_rb,0.60130e+03_rb,0.88794e+03_rb,0.11741e+04_rb /) kbo(:, 4,27,14) = (/ & & 0.10506e+04_rb,0.80916e+03_rb,0.60021e+03_rb,0.88633e+03_rb,0.11725e+04_rb /) kbo(:, 5,27,14) = (/ & & 0.10406e+04_rb,0.79035e+03_rb,0.59878e+03_rb,0.88422e+03_rb,0.11697e+04_rb /) kbo(:, 1,28,14) = (/ & & 0.10390e+04_rb,0.79142e+03_rb,0.60274e+03_rb,0.88940e+03_rb,0.11770e+04_rb /) kbo(:, 2,28,14) = (/ & & 0.10793e+04_rb,0.84664e+03_rb,0.60165e+03_rb,0.88883e+03_rb,0.11758e+04_rb /) kbo(:, 3,28,14) = (/ & & 0.10389e+04_rb,0.81244e+03_rb,0.60106e+03_rb,0.88760e+03_rb,0.11741e+04_rb /) kbo(:, 4,28,14) = (/ & & 0.10910e+04_rb,0.82250e+03_rb,0.59988e+03_rb,0.88586e+03_rb,0.11718e+04_rb /) kbo(:, 5,28,14) = (/ & & 0.10984e+04_rb,0.79766e+03_rb,0.59863e+03_rb,0.88510e+03_rb,0.11689e+04_rb /) kbo(:, 1,29,14) = (/ & & 0.10453e+04_rb,0.79421e+03_rb,0.60249e+03_rb,0.88988e+03_rb,0.11767e+04_rb /) kbo(:, 2,29,14) = (/ & & 0.10759e+04_rb,0.85231e+03_rb,0.59780e+03_rb,0.88856e+03_rb,0.11754e+04_rb /) kbo(:, 3,29,14) = (/ & & 0.10355e+04_rb,0.83260e+03_rb,0.60079e+03_rb,0.88721e+03_rb,0.11736e+04_rb /) kbo(:, 4,29,14) = (/ & & 0.10260e+04_rb,0.78313e+03_rb,0.59953e+03_rb,0.88535e+03_rb,0.11712e+04_rb /) kbo(:, 5,29,14) = (/ & & 0.10495e+04_rb,0.79101e+03_rb,0.59751e+03_rb,0.88309e+03_rb,0.11682e+04_rb /) kbo(:, 1,30,14) = (/ & & 0.10479e+04_rb,0.78753e+03_rb,0.60225e+03_rb,0.88928e+03_rb,0.11764e+04_rb /) kbo(:, 2,30,14) = (/ & & 0.10451e+04_rb,0.80563e+03_rb,0.60150e+03_rb,0.88827e+03_rb,0.11750e+04_rb /) kbo(:, 3,30,14) = (/ & & 0.10758e+04_rb,0.79525e+03_rb,0.60050e+03_rb,0.88643e+03_rb,0.11731e+04_rb /) kbo(:, 4,30,14) = (/ & & 0.10781e+04_rb,0.79929e+03_rb,0.59916e+03_rb,0.88480e+03_rb,0.11705e+04_rb /) kbo(:, 5,30,14) = (/ & & 0.10459e+04_rb,0.81358e+03_rb,0.59790e+03_rb,0.88220e+03_rb,0.11665e+04_rb /) kbo(:, 1,31,14) = (/ & & 0.10607e+04_rb,0.80146e+03_rb,0.60204e+03_rb,0.88905e+03_rb,0.11761e+04_rb /) kbo(:, 2,31,14) = (/ & & 0.10395e+04_rb,0.78822e+03_rb,0.60127e+03_rb,0.88793e+03_rb,0.11746e+04_rb /) kbo(:, 3,31,14) = (/ & & 0.10321e+04_rb,0.80923e+03_rb,0.60018e+03_rb,0.88632e+03_rb,0.11725e+04_rb /) kbo(:, 4,31,14) = (/ & & 0.11042e+04_rb,0.80049e+03_rb,0.59875e+03_rb,0.88457e+03_rb,0.11697e+04_rb /) kbo(:, 5,31,14) = (/ & & 0.10581e+04_rb,0.80105e+03_rb,0.59750e+03_rb,0.88200e+03_rb,0.11672e+04_rb /) kbo(:, 1,32,14) = (/ & & 0.10889e+04_rb,0.84488e+03_rb,0.59867e+03_rb,0.88880e+03_rb,0.11757e+04_rb /) kbo(:, 2,32,14) = (/ & & 0.10428e+04_rb,0.79586e+03_rb,0.60101e+03_rb,0.88756e+03_rb,0.11741e+04_rb /) kbo(:, 3,32,14) = (/ & & 0.10671e+04_rb,0.82487e+03_rb,0.59984e+03_rb,0.88582e+03_rb,0.11718e+04_rb /) kbo(:, 4,32,14) = (/ & & 0.10426e+04_rb,0.83726e+03_rb,0.59809e+03_rb,0.88469e+03_rb,0.11694e+04_rb /) kbo(:, 5,32,14) = (/ & & 0.10522e+04_rb,0.80937e+03_rb,0.59684e+03_rb,0.88175e+03_rb,0.11659e+04_rb /) kbo(:, 1,33,14) = (/ & & 0.10391e+04_rb,0.79980e+03_rb,0.60166e+03_rb,0.88852e+03_rb,0.11754e+04_rb /) kbo(:, 2,33,14) = (/ & & 0.10719e+04_rb,0.78917e+03_rb,0.60073e+03_rb,0.88751e+03_rb,0.11736e+04_rb /) kbo(:, 3,33,14) = (/ & & 0.10389e+04_rb,0.82235e+03_rb,0.59947e+03_rb,0.88564e+03_rb,0.11706e+04_rb /) kbo(:, 4,33,14) = (/ & & 0.10819e+04_rb,0.81877e+03_rb,0.59794e+03_rb,0.88337e+03_rb,0.11676e+04_rb /) kbo(:, 5,33,14) = (/ & & 0.10266e+04_rb,0.78772e+03_rb,0.59642e+03_rb,0.88112e+03_rb,0.11651e+04_rb /) kbo(:, 1,34,14) = (/ & & 0.10675e+04_rb,0.78932e+03_rb,0.60147e+03_rb,0.88789e+03_rb,0.11750e+04_rb /) kbo(:, 2,34,14) = (/ & & 0.10375e+04_rb,0.79310e+03_rb,0.60047e+03_rb,0.88677e+03_rb,0.11731e+04_rb /) kbo(:, 3,34,14) = (/ & & 0.10378e+04_rb,0.82372e+03_rb,0.59913e+03_rb,0.88478e+03_rb,0.11704e+04_rb /) kbo(:, 4,34,14) = (/ & & 0.10677e+04_rb,0.78757e+03_rb,0.59836e+03_rb,0.88254e+03_rb,0.11660e+04_rb /) kbo(:, 5,34,14) = (/ & & 0.10419e+04_rb,0.77666e+03_rb,0.59604e+03_rb,0.87984e+03_rb,0.11644e+04_rb /) kbo(:, 1,35,14) = (/ & & 0.10613e+04_rb,0.80031e+03_rb,0.60136e+03_rb,0.88808e+03_rb,0.11748e+04_rb /) kbo(:, 2,35,14) = (/ & & 0.11118e+04_rb,0.80250e+03_rb,0.60031e+03_rb,0.88654e+03_rb,0.11732e+04_rb /) kbo(:, 3,35,14) = (/ & & 0.10759e+04_rb,0.83185e+03_rb,0.59892e+03_rb,0.88448e+03_rb,0.11701e+04_rb /) kbo(:, 4,35,14) = (/ & & 0.11049e+04_rb,0.77622e+03_rb,0.59743e+03_rb,0.88477e+03_rb,0.11680e+04_rb /) kbo(:, 5,35,14) = (/ & & 0.10459e+04_rb,0.78322e+03_rb,0.59581e+03_rb,0.87986e+03_rb,0.11634e+04_rb /) kbo(:, 1,36,14) = (/ & & 0.10396e+04_rb,0.79026e+03_rb,0.60134e+03_rb,0.88805e+03_rb,0.11748e+04_rb /) kbo(:, 2,36,14) = (/ & & 0.10471e+04_rb,0.80778e+03_rb,0.60028e+03_rb,0.88614e+03_rb,0.11727e+04_rb /) kbo(:, 3,36,14) = (/ & & 0.10450e+04_rb,0.79912e+03_rb,0.59889e+03_rb,0.88407e+03_rb,0.11700e+04_rb /) kbo(:, 4,36,14) = (/ & & 0.10626e+04_rb,0.80803e+03_rb,0.59740e+03_rb,0.88257e+03_rb,0.11756e+04_rb /) kbo(:, 5,36,14) = (/ & & 0.10609e+04_rb,0.81056e+03_rb,0.59577e+03_rb,0.87981e+03_rb,0.11634e+04_rb /) kbo(:, 1,37,14) = (/ & & 0.10479e+04_rb,0.79014e+03_rb,0.60145e+03_rb,0.88822e+03_rb,0.11750e+04_rb /) kbo(:, 2,37,14) = (/ & & 0.10744e+04_rb,0.81437e+03_rb,0.60044e+03_rb,0.88637e+03_rb,0.11730e+04_rb /) kbo(:, 3,37,14) = (/ & & 0.10335e+04_rb,0.79550e+03_rb,0.59909e+03_rb,0.88473e+03_rb,0.11704e+04_rb /) kbo(:, 4,37,14) = (/ & & 0.10410e+04_rb,0.77504e+03_rb,0.59808e+03_rb,0.88321e+03_rb,0.11674e+04_rb /) kbo(:, 5,37,14) = (/ & & 0.10557e+04_rb,0.79226e+03_rb,0.59599e+03_rb,0.88014e+03_rb,0.11643e+04_rb /) kbo(:, 1,38,14) = (/ & & 0.10418e+04_rb,0.80249e+03_rb,0.60156e+03_rb,0.88838e+03_rb,0.11752e+04_rb /) kbo(:, 2,38,14) = (/ & & 0.10220e+04_rb,0.82577e+03_rb,0.60060e+03_rb,0.88697e+03_rb,0.11733e+04_rb /) kbo(:, 3,38,14) = (/ & & 0.10502e+04_rb,0.80915e+03_rb,0.59929e+03_rb,0.88503e+03_rb,0.11708e+04_rb /) kbo(:, 4,38,14) = (/ & & 0.10497e+04_rb,0.81774e+03_rb,0.59826e+03_rb,0.88277e+03_rb,0.11673e+04_rb /) kbo(:, 5,38,14) = (/ & & 0.10771e+04_rb,0.81134e+03_rb,0.59623e+03_rb,0.88049e+03_rb,0.11648e+04_rb /) kbo(:, 1,39,14) = (/ & & 0.10165e+04_rb,0.77782e+03_rb,0.60118e+03_rb,0.88854e+03_rb,0.11754e+04_rb /) kbo(:, 2,39,14) = (/ & & 0.10531e+04_rb,0.80302e+03_rb,0.60075e+03_rb,0.88719e+03_rb,0.11736e+04_rb /) kbo(:, 3,39,14) = (/ & & 0.10758e+04_rb,0.78257e+03_rb,0.59949e+03_rb,0.88533e+03_rb,0.11712e+04_rb /) kbo(:, 4,39,14) = (/ & & 0.10568e+04_rb,0.79852e+03_rb,0.59772e+03_rb,0.88307e+03_rb,0.11677e+04_rb /) kbo(:, 5,39,14) = (/ & & 0.11120e+04_rb,0.79275e+03_rb,0.59645e+03_rb,0.88083e+03_rb,0.11652e+04_rb /) kbo(:, 1,40,14) = (/ & & 0.10416e+04_rb,0.79660e+03_rb,0.59890e+03_rb,0.88879e+03_rb,0.11758e+04_rb /) kbo(:, 2,40,14) = (/ & & 0.10391e+04_rb,0.79051e+03_rb,0.60100e+03_rb,0.88756e+03_rb,0.11741e+04_rb /) kbo(:, 3,40,14) = (/ & & 0.10420e+04_rb,0.78155e+03_rb,0.59983e+03_rb,0.88583e+03_rb,0.11718e+04_rb /) kbo(:, 4,40,14) = (/ & & 0.10496e+04_rb,0.79527e+03_rb,0.59833e+03_rb,0.88434e+03_rb,0.11689e+04_rb /) kbo(:, 5,40,14) = (/ & & 0.10264e+04_rb,0.78919e+03_rb,0.59684e+03_rb,0.88140e+03_rb,0.11660e+04_rb /) kbo(:, 1,41,14) = (/ & & 0.10689e+04_rb,0.80516e+03_rb,0.60103e+03_rb,0.88904e+03_rb,0.11761e+04_rb /) kbo(:, 2,41,14) = (/ & & 0.10416e+04_rb,0.82239e+03_rb,0.60124e+03_rb,0.88792e+03_rb,0.11746e+04_rb /) kbo(:, 3,41,14) = (/ & & 0.10563e+04_rb,0.81535e+03_rb,0.60016e+03_rb,0.88632e+03_rb,0.11725e+04_rb /) kbo(:, 4,41,14) = (/ & & 0.10676e+04_rb,0.82044e+03_rb,0.59873e+03_rb,0.88421e+03_rb,0.11697e+04_rb /) kbo(:, 5,41,14) = (/ & & 0.10596e+04_rb,0.78372e+03_rb,0.59724e+03_rb,0.88164e+03_rb,0.11672e+04_rb /) kbo(:, 1,42,14) = (/ & & 0.10655e+04_rb,0.80320e+03_rb,0.60196e+03_rb,0.88927e+03_rb,0.11764e+04_rb /) kbo(:, 2,42,14) = (/ & & 0.10714e+04_rb,0.78435e+03_rb,0.60147e+03_rb,0.88825e+03_rb,0.11750e+04_rb /) kbo(:, 3,42,14) = (/ & & 0.10516e+04_rb,0.79392e+03_rb,0.60071e+03_rb,0.88678e+03_rb,0.11731e+04_rb /) kbo(:, 4,42,14) = (/ & & 0.10516e+04_rb,0.77763e+03_rb,0.59913e+03_rb,0.88479e+03_rb,0.11700e+04_rb /) kbo(:, 5,42,14) = (/ & & 0.10486e+04_rb,0.79390e+03_rb,0.59811e+03_rb,0.88255e+03_rb,0.11641e+04_rb /) kbo(:, 1,43,14) = (/ & & 0.10979e+04_rb,0.83796e+03_rb,0.60248e+03_rb,0.88955e+03_rb,0.11768e+04_rb /) kbo(:, 2,43,14) = (/ & & 0.11147e+04_rb,0.76548e+03_rb,0.60171e+03_rb,0.88861e+03_rb,0.11750e+04_rb /) kbo(:, 3,43,14) = (/ & & 0.10326e+04_rb,0.79357e+03_rb,0.60081e+03_rb,0.88729e+03_rb,0.11738e+04_rb /) kbo(:, 4,43,14) = (/ & & 0.10439e+04_rb,0.86155e+03_rb,0.59958e+03_rb,0.88546e+03_rb,0.11709e+04_rb /) kbo(:, 5,43,14) = (/ & & 0.10945e+04_rb,0.81749e+03_rb,0.59781e+03_rb,0.88321e+03_rb,0.11679e+04_rb /) kbo(:, 1,44,14) = (/ & & 0.10684e+04_rb,0.83027e+03_rb,0.60306e+03_rb,0.88988e+03_rb,0.11772e+04_rb /) kbo(:, 2,44,14) = (/ & & 0.10549e+04_rb,0.78589e+03_rb,0.60194e+03_rb,0.88895e+03_rb,0.11755e+04_rb /) kbo(:, 3,44,14) = (/ & & 0.10654e+04_rb,0.79705e+03_rb,0.60140e+03_rb,0.88779e+03_rb,0.11744e+04_rb /) kbo(:, 4,44,14) = (/ & & 0.10595e+04_rb,0.79130e+03_rb,0.59979e+03_rb,0.88614e+03_rb,0.11722e+04_rb /) kbo(:, 5,44,14) = (/ & & 0.10477e+04_rb,0.80597e+03_rb,0.59858e+03_rb,0.88363e+03_rb,0.11704e+04_rb /) kbo(:, 1,45,14) = (/ & & 0.10873e+04_rb,0.79417e+03_rb,0.60313e+03_rb,0.89023e+03_rb,0.11777e+04_rb /) kbo(:, 2,45,14) = (/ & & 0.10616e+04_rb,0.78299e+03_rb,0.60195e+03_rb,0.88889e+03_rb,0.11764e+04_rb /) kbo(:, 3,45,14) = (/ & & 0.10452e+04_rb,0.80979e+03_rb,0.60145e+03_rb,0.88823e+03_rb,0.11745e+04_rb /) kbo(:, 4,45,14) = (/ & & 0.10957e+04_rb,0.80372e+03_rb,0.60045e+03_rb,0.88675e+03_rb,0.11726e+04_rb /) kbo(:, 5,45,14) = (/ & & 0.10725e+04_rb,0.79223e+03_rb,0.59886e+03_rb,0.88476e+03_rb,0.11704e+04_rb /) kbo(:, 1,46,14) = (/ & & 0.10477e+04_rb,0.79958e+03_rb,0.60344e+03_rb,0.89054e+03_rb,0.11781e+04_rb /) kbo(:, 2,46,14) = (/ & & 0.10873e+04_rb,0.80021e+03_rb,0.60251e+03_rb,0.88958e+03_rb,0.11768e+04_rb /) kbo(:, 3,46,14) = (/ & & 0.10228e+04_rb,0.78903e+03_rb,0.60173e+03_rb,0.88864e+03_rb,0.11751e+04_rb /) kbo(:, 4,46,14) = (/ & & 0.10295e+04_rb,0.83052e+03_rb,0.60085e+03_rb,0.88734e+03_rb,0.11738e+04_rb /) kbo(:, 5,46,14) = (/ & & 0.10527e+04_rb,0.80434e+03_rb,0.59963e+03_rb,0.88553e+03_rb,0.11714e+04_rb /) kbo(:, 1,47,14) = (/ & & 0.10317e+04_rb,0.78934e+03_rb,0.60373e+03_rb,0.89119e+03_rb,0.11785e+04_rb /) kbo(:, 2,47,14) = (/ & & 0.10325e+04_rb,0.79125e+03_rb,0.60291e+03_rb,0.88999e+03_rb,0.11778e+04_rb /) kbo(:, 3,47,14) = (/ & & 0.10417e+04_rb,0.79891e+03_rb,0.60152e+03_rb,0.88904e+03_rb,0.11761e+04_rb /) kbo(:, 4,47,14) = (/ & & 0.10561e+04_rb,0.78901e+03_rb,0.60124e+03_rb,0.88793e+03_rb,0.11746e+04_rb /) kbo(:, 5,47,14) = (/ & & 0.10468e+04_rb,0.79347e+03_rb,0.59991e+03_rb,0.88632e+03_rb,0.11725e+04_rb /) kbo(:, 1,48,14) = (/ & & 0.10540e+04_rb,0.78901e+03_rb,0.60401e+03_rb,0.89113e+03_rb,0.11789e+04_rb /) kbo(:, 2,48,14) = (/ & & 0.10320e+04_rb,0.80975e+03_rb,0.60327e+03_rb,0.89037e+03_rb,0.11779e+04_rb /) kbo(:, 3,48,14) = (/ & & 0.10535e+04_rb,0.79283e+03_rb,0.60233e+03_rb,0.88940e+03_rb,0.11766e+04_rb /) kbo(:, 4,48,14) = (/ & & 0.10485e+04_rb,0.81102e+03_rb,0.60158e+03_rb,0.88807e+03_rb,0.11753e+04_rb /) kbo(:, 5,48,14) = (/ & & 0.10337e+04_rb,0.82793e+03_rb,0.60064e+03_rb,0.88703e+03_rb,0.11734e+04_rb /) kbo(:, 1,49,14) = (/ & & 0.10304e+04_rb,0.83177e+03_rb,0.60454e+03_rb,0.89164e+03_rb,0.11796e+04_rb /) kbo(:, 2,49,14) = (/ & & 0.10417e+04_rb,0.78580e+03_rb,0.60359e+03_rb,0.89069e+03_rb,0.11783e+04_rb /) kbo(:, 3,49,14) = (/ & & 0.10725e+04_rb,0.82186e+03_rb,0.60271e+03_rb,0.88942e+03_rb,0.11771e+04_rb /) kbo(:, 4,49,14) = (/ & & 0.10362e+04_rb,0.80207e+03_rb,0.60065e+03_rb,0.88885e+03_rb,0.11758e+04_rb /) kbo(:, 5,49,14) = (/ & & 0.10383e+04_rb,0.79856e+03_rb,0.60081e+03_rb,0.88765e+03_rb,0.11743e+04_rb /) kbo(:, 1,50,14) = (/ & & 0.10581e+04_rb,0.78356e+03_rb,0.60457e+03_rb,0.89226e+03_rb,0.11805e+04_rb /) kbo(:, 2,50,14) = (/ & & 0.10447e+04_rb,0.80207e+03_rb,0.60385e+03_rb,0.89058e+03_rb,0.11786e+04_rb /) kbo(:, 3,50,14) = (/ & & 0.10788e+04_rb,0.82154e+03_rb,0.60308e+03_rb,0.89017e+03_rb,0.11776e+04_rb /) kbo(:, 4,50,14) = (/ & & 0.10695e+04_rb,0.79696e+03_rb,0.60214e+03_rb,0.88920e+03_rb,0.11763e+04_rb /) kbo(:, 5,50,14) = (/ & & 0.10859e+04_rb,0.79983e+03_rb,0.60140e+03_rb,0.88816e+03_rb,0.11749e+04_rb /) kbo(:, 1,51,14) = (/ & & 0.10459e+04_rb,0.79632e+03_rb,0.60498e+03_rb,0.89284e+03_rb,0.11812e+04_rb /) kbo(:, 2,51,14) = (/ & & 0.10371e+04_rb,0.78419e+03_rb,0.60411e+03_rb,0.89166e+03_rb,0.11796e+04_rb /) kbo(:, 3,51,14) = (/ & & 0.10657e+04_rb,0.82185e+03_rb,0.60315e+03_rb,0.89049e+03_rb,0.11780e+04_rb /) kbo(:, 4,51,14) = (/ & & 0.10396e+04_rb,0.78418e+03_rb,0.60197e+03_rb,0.88917e+03_rb,0.11768e+04_rb /) kbo(:, 5,51,14) = (/ & & 0.10354e+04_rb,0.78290e+03_rb,0.60169e+03_rb,0.88859e+03_rb,0.11755e+04_rb /) kbo(:, 1,52,14) = (/ & & 0.10434e+04_rb,0.78546e+03_rb,0.60574e+03_rb,0.89370e+03_rb,0.11824e+04_rb /) kbo(:, 2,52,14) = (/ & & 0.10665e+04_rb,0.78610e+03_rb,0.60413e+03_rb,0.89180e+03_rb,0.11798e+04_rb /) kbo(:, 3,52,14) = (/ & & 0.10821e+04_rb,0.78641e+03_rb,0.60367e+03_rb,0.89113e+03_rb,0.11784e+04_rb /) kbo(:, 4,52,14) = (/ & & 0.10514e+04_rb,0.79279e+03_rb,0.60282e+03_rb,0.88989e+03_rb,0.11772e+04_rb /) kbo(:, 5,52,14) = (/ & & 0.10408e+04_rb,0.77939e+03_rb,0.60170e+03_rb,0.88895e+03_rb,0.11760e+04_rb /) kbo(:, 1,53,14) = (/ & & 0.10497e+04_rb,0.80875e+03_rb,0.60601e+03_rb,0.89382e+03_rb,0.11825e+04_rb /) kbo(:, 2,53,14) = (/ & & 0.10514e+04_rb,0.81226e+03_rb,0.60441e+03_rb,0.89243e+03_rb,0.11807e+04_rb /) kbo(:, 3,53,14) = (/ & & 0.11137e+04_rb,0.80237e+03_rb,0.60392e+03_rb,0.89101e+03_rb,0.11787e+04_rb /) kbo(:, 4,53,14) = (/ & & 0.10661e+04_rb,0.79885e+03_rb,0.60292e+03_rb,0.89026e+03_rb,0.11777e+04_rb /) kbo(:, 5,53,14) = (/ & & 0.10324e+04_rb,0.82343e+03_rb,0.60222e+03_rb,0.88929e+03_rb,0.11764e+04_rb /) kbo(:, 1,54,14) = (/ & & 0.10594e+04_rb,0.86492e+03_rb,0.60646e+03_rb,0.89428e+03_rb,0.11831e+04_rb /) kbo(:, 2,54,14) = (/ & & 0.10303e+04_rb,0.85949e+03_rb,0.60506e+03_rb,0.89294e+03_rb,0.11813e+04_rb /) kbo(:, 3,54,14) = (/ & & 0.10905e+04_rb,0.84800e+03_rb,0.60416e+03_rb,0.89138e+03_rb,0.11793e+04_rb /) kbo(:, 4,54,14) = (/ & & 0.10438e+04_rb,0.78736e+03_rb,0.60344e+03_rb,0.89055e+03_rb,0.11781e+04_rb /) kbo(:, 5,54,14) = (/ & & 0.10324e+04_rb,0.83619e+03_rb,0.60252e+03_rb,0.88959e+03_rb,0.11768e+04_rb /) kbo(:, 1,55,14) = (/ & & 0.10463e+04_rb,0.78385e+03_rb,0.60663e+03_rb,0.89475e+03_rb,0.11838e+04_rb /) kbo(:, 2,55,14) = (/ & & 0.10543e+04_rb,0.79119e+03_rb,0.60552e+03_rb,0.89337e+03_rb,0.11824e+04_rb /) kbo(:, 3,55,14) = (/ & & 0.10391e+04_rb,0.80395e+03_rb,0.60439e+03_rb,0.89183e+03_rb,0.11799e+04_rb /) kbo(:, 4,55,14) = (/ & & 0.10421e+04_rb,0.79916e+03_rb,0.60368e+03_rb,0.89078e+03_rb,0.11784e+04_rb /) kbo(:, 5,55,14) = (/ & & 0.10909e+04_rb,0.78448e+03_rb,0.60284e+03_rb,0.88955e+03_rb,0.11777e+04_rb /) kbo(:, 1,56,14) = (/ & & 0.10143e+04_rb,0.81481e+03_rb,0.60727e+03_rb,0.89531e+03_rb,0.11848e+04_rb /) kbo(:, 2,56,14) = (/ & & 0.10240e+04_rb,0.81034e+03_rb,0.60598e+03_rb,0.89378e+03_rb,0.11825e+04_rb /) kbo(:, 3,56,14) = (/ & & 0.10324e+04_rb,0.78927e+03_rb,0.60463e+03_rb,0.89238e+03_rb,0.11806e+04_rb /) kbo(:, 4,56,14) = (/ & & 0.10273e+04_rb,0.78959e+03_rb,0.60390e+03_rb,0.89099e+03_rb,0.11787e+04_rb /) kbo(:, 5,56,14) = (/ & & 0.10404e+04_rb,0.80937e+03_rb,0.60290e+03_rb,0.89024e+03_rb,0.11777e+04_rb /) kbo(:, 1,57,14) = (/ & & 0.10408e+04_rb,0.79150e+03_rb,0.60742e+03_rb,0.89593e+03_rb,0.11860e+04_rb /) kbo(:, 2,57,14) = (/ & & 0.10640e+04_rb,0.82150e+03_rb,0.60641e+03_rb,0.89422e+03_rb,0.11831e+04_rb /) kbo(:, 3,57,14) = (/ & & 0.10551e+04_rb,0.79661e+03_rb,0.60501e+03_rb,0.89288e+03_rb,0.11813e+04_rb /) kbo(:, 4,57,14) = (/ & & 0.10817e+04_rb,0.79118e+03_rb,0.60413e+03_rb,0.89133e+03_rb,0.11792e+04_rb /) kbo(:, 5,57,14) = (/ & & 0.10370e+04_rb,0.79629e+03_rb,0.60341e+03_rb,0.89015e+03_rb,0.11781e+04_rb /) kbo(:, 1,58,14) = (/ & & 0.10442e+04_rb,0.84033e+03_rb,0.60809e+03_rb,0.89672e+03_rb,0.11869e+04_rb /) kbo(:, 2,58,14) = (/ & & 0.10934e+04_rb,0.79820e+03_rb,0.60680e+03_rb,0.89466e+03_rb,0.11837e+04_rb /) kbo(:, 3,58,14) = (/ & & 0.10657e+04_rb,0.80043e+03_rb,0.60544e+03_rb,0.89329e+03_rb,0.11818e+04_rb /) kbo(:, 4,58,14) = (/ & & 0.10223e+04_rb,0.78480e+03_rb,0.60435e+03_rb,0.89175e+03_rb,0.11798e+04_rb /) kbo(:, 5,58,14) = (/ & & 0.10438e+04_rb,0.81735e+03_rb,0.60364e+03_rb,0.89074e+03_rb,0.11789e+04_rb /) kbo(:, 1,59,14) = (/ & & 0.10513e+04_rb,0.80331e+03_rb,0.60826e+03_rb,0.89709e+03_rb,0.11883e+04_rb /) kbo(:, 2,59,14) = (/ & & 0.10429e+04_rb,0.81799e+03_rb,0.60696e+03_rb,0.89486e+03_rb,0.11840e+04_rb /) kbo(:, 3,59,14) = (/ & & 0.10400e+04_rb,0.80905e+03_rb,0.60537e+03_rb,0.89345e+03_rb,0.11830e+04_rb /) kbo(:, 4,59,14) = (/ & & 0.10488e+04_rb,0.79628e+03_rb,0.60443e+03_rb,0.89194e+03_rb,0.11800e+04_rb /) kbo(:, 5,59,14) = (/ & & 0.10795e+04_rb,0.78415e+03_rb,0.60372e+03_rb,0.89082e+03_rb,0.11785e+04_rb /) kbo(:, 1,13,15) = (/ & & 0.98934e+03_rb,0.75572e+03_rb,0.60810e+03_rb,0.89364e+03_rb,0.11812e+04_rb /) kbo(:, 2,13,15) = (/ & & 0.12809e+04_rb,0.72091e+03_rb,0.60670e+03_rb,0.89251e+03_rb,0.11797e+04_rb /) kbo(:, 3,13,15) = (/ & & 0.11704e+04_rb,0.77844e+03_rb,0.60529e+03_rb,0.89171e+03_rb,0.11787e+04_rb /) kbo(:, 4,13,15) = (/ & & 0.11159e+04_rb,0.83495e+03_rb,0.60430e+03_rb,0.89110e+03_rb,0.11779e+04_rb /) kbo(:, 5,13,15) = (/ & & 0.11939e+04_rb,0.93553e+03_rb,0.60355e+03_rb,0.89003e+03_rb,0.11765e+04_rb /) kbo(:, 1,14,15) = (/ & & 0.11963e+04_rb,0.95315e+03_rb,0.60753e+03_rb,0.89338e+03_rb,0.11810e+04_rb /) kbo(:, 2,14,15) = (/ & & 0.11729e+04_rb,0.92141e+03_rb,0.60616e+03_rb,0.89229e+03_rb,0.11796e+04_rb /) kbo(:, 3,14,15) = (/ & & 0.11471e+04_rb,0.85602e+03_rb,0.60478e+03_rb,0.89154e+03_rb,0.11786e+04_rb /) kbo(:, 4,14,15) = (/ & & 0.11824e+04_rb,0.88196e+03_rb,0.60401e+03_rb,0.89091e+03_rb,0.11778e+04_rb /) kbo(:, 5,14,15) = (/ & & 0.11271e+04_rb,0.87462e+03_rb,0.60324e+03_rb,0.89075e+03_rb,0.11763e+04_rb /) kbo(:, 1,15,15) = (/ & & 0.10604e+04_rb,0.90519e+03_rb,0.60703e+03_rb,0.89409e+03_rb,0.11809e+04_rb /) kbo(:, 2,15,15) = (/ & & 0.11577e+04_rb,0.75557e+03_rb,0.60568e+03_rb,0.89209e+03_rb,0.11795e+04_rb /) kbo(:, 3,15,15) = (/ & & 0.11406e+04_rb,0.81803e+03_rb,0.60438e+03_rb,0.89138e+03_rb,0.11785e+04_rb /) kbo(:, 4,15,15) = (/ & & 0.11847e+04_rb,0.71960e+03_rb,0.60376e+03_rb,0.89073e+03_rb,0.11790e+04_rb /) kbo(:, 5,15,15) = (/ & & 0.11179e+04_rb,0.81112e+03_rb,0.60296e+03_rb,0.88859e+03_rb,0.11787e+04_rb /) kbo(:, 1,16,15) = (/ & & 0.10356e+04_rb,0.71983e+03_rb,0.60659e+03_rb,0.89194e+03_rb,0.11820e+04_rb /) kbo(:, 2,16,15) = (/ & & 0.11364e+04_rb,0.76870e+03_rb,0.60526e+03_rb,0.89190e+03_rb,0.11794e+04_rb /) kbo(:, 3,16,15) = (/ & & 0.96034e+03_rb,0.83277e+03_rb,0.60407e+03_rb,0.89124e+03_rb,0.11785e+04_rb /) kbo(:, 4,16,15) = (/ & & 0.10077e+04_rb,0.87988e+03_rb,0.60354e+03_rb,0.89055e+03_rb,0.11776e+04_rb /) kbo(:, 5,16,15) = (/ & & 0.10422e+04_rb,0.83397e+03_rb,0.60335e+03_rb,0.88931e+03_rb,0.11759e+04_rb /) kbo(:, 1,17,15) = (/ & & 0.10091e+04_rb,0.77782e+03_rb,0.60621e+03_rb,0.89269e+03_rb,0.11805e+04_rb /) kbo(:, 2,17,15) = (/ & & 0.11716e+04_rb,0.80971e+03_rb,0.60425e+03_rb,0.89175e+03_rb,0.11793e+04_rb /) kbo(:, 3,17,15) = (/ & & 0.10550e+04_rb,0.78786e+03_rb,0.60385e+03_rb,0.89112e+03_rb,0.11784e+04_rb /) kbo(:, 4,17,15) = (/ & & 0.99990e+03_rb,0.88096e+03_rb,0.60335e+03_rb,0.89039e+03_rb,0.11774e+04_rb /) kbo(:, 5,17,15) = (/ & & 0.11263e+04_rb,0.73127e+03_rb,0.60311e+03_rb,0.88908e+03_rb,0.11770e+04_rb /) kbo(:, 1,18,15) = (/ & & 0.11151e+04_rb,0.85991e+03_rb,0.60588e+03_rb,0.89155e+03_rb,0.11804e+04_rb /) kbo(:, 2,18,15) = (/ & & 0.10413e+04_rb,0.70815e+03_rb,0.60458e+03_rb,0.89161e+03_rb,0.11791e+04_rb /) kbo(:, 3,18,15) = (/ & & 0.11058e+04_rb,0.82037e+03_rb,0.60370e+03_rb,0.89101e+03_rb,0.11783e+04_rb /) kbo(:, 4,18,15) = (/ & & 0.10134e+04_rb,0.64109e+03_rb,0.60383e+03_rb,0.89024e+03_rb,0.11786e+04_rb /) kbo(:, 5,18,15) = (/ & & 0.11497e+04_rb,0.88170e+03_rb,0.60224e+03_rb,0.88981e+03_rb,0.11767e+04_rb /) kbo(:, 1,19,15) = (/ & & 0.10261e+04_rb,0.82130e+03_rb,0.60625e+03_rb,0.89236e+03_rb,0.11802e+04_rb /) kbo(:, 2,19,15) = (/ & & 0.10077e+04_rb,0.78017e+03_rb,0.60431e+03_rb,0.89148e+03_rb,0.11778e+04_rb /) kbo(:, 3,19,15) = (/ & & 0.10505e+04_rb,0.75163e+03_rb,0.60422e+03_rb,0.88995e+03_rb,0.11782e+04_rb /) kbo(:, 4,19,15) = (/ & & 0.10498e+04_rb,0.84163e+03_rb,0.60302e+03_rb,0.89009e+03_rb,0.11772e+04_rb /) kbo(:, 5,19,15) = (/ & & 0.94853e+03_rb,0.71012e+03_rb,0.60269e+03_rb,0.88958e+03_rb,0.11765e+04_rb /) kbo(:, 1,20,15) = (/ & & 0.11198e+04_rb,0.83291e+03_rb,0.60532e+03_rb,0.89221e+03_rb,0.11814e+04_rb /) kbo(:, 2,20,15) = (/ & & 0.10146e+04_rb,0.70988e+03_rb,0.60473e+03_rb,0.89136e+03_rb,0.11789e+04_rb /) kbo(:, 3,20,15) = (/ & & 0.98440e+03_rb,0.83872e+03_rb,0.60345e+03_rb,0.89080e+03_rb,0.11781e+04_rb /) kbo(:, 4,20,15) = (/ & & 0.10595e+04_rb,0.75621e+03_rb,0.60286e+03_rb,0.88992e+03_rb,0.11770e+04_rb /) kbo(:, 5,20,15) = (/ & & 0.10274e+04_rb,0.81836e+03_rb,0.60247e+03_rb,0.88836e+03_rb,0.11749e+04_rb /) kbo(:, 1,21,15) = (/ & & 0.10788e+04_rb,0.78645e+03_rb,0.60506e+03_rb,0.89207e+03_rb,0.11799e+04_rb /) kbo(:, 2,21,15) = (/ & & 0.10852e+04_rb,0.74295e+03_rb,0.60386e+03_rb,0.89125e+03_rb,0.11788e+04_rb /) kbo(:, 3,21,15) = (/ & & 0.10428e+04_rb,0.82396e+03_rb,0.60333e+03_rb,0.88973e+03_rb,0.11780e+04_rb /) kbo(:, 4,21,15) = (/ & & 0.10018e+04_rb,0.87387e+03_rb,0.60336e+03_rb,0.89071e+03_rb,0.11768e+04_rb /) kbo(:, 5,21,15) = (/ & & 0.11155e+04_rb,0.79293e+03_rb,0.60225e+03_rb,0.88809e+03_rb,0.11746e+04_rb /) kbo(:, 1,22,15) = (/ & & 0.10301e+04_rb,0.79445e+03_rb,0.60539e+03_rb,0.89186e+03_rb,0.11797e+04_rb /) kbo(:, 2,22,15) = (/ & & 0.11174e+04_rb,0.68851e+03_rb,0.60364e+03_rb,0.88919e+03_rb,0.11787e+04_rb /) kbo(:, 3,22,15) = (/ & & 0.10845e+04_rb,0.72821e+03_rb,0.60320e+03_rb,0.89053e+03_rb,0.11779e+04_rb /) kbo(:, 4,22,15) = (/ & & 0.94182e+03_rb,0.74129e+03_rb,0.60185e+03_rb,0.88948e+03_rb,0.11777e+04_rb /) kbo(:, 5,22,15) = (/ & & 0.11256e+04_rb,0.74069e+03_rb,0.60323e+03_rb,0.88766e+03_rb,0.11740e+04_rb /) kbo(:, 1,23,15) = (/ & & 0.11218e+04_rb,0.85968e+03_rb,0.60443e+03_rb,0.89167e+03_rb,0.11795e+04_rb /) kbo(:, 2,23,15) = (/ & & 0.10449e+04_rb,0.80739e+03_rb,0.60218e+03_rb,0.89100e+03_rb,0.11785e+04_rb /) kbo(:, 3,23,15) = (/ & & 0.11277e+04_rb,0.69098e+03_rb,0.60306e+03_rb,0.89036e+03_rb,0.11777e+04_rb /) kbo(:, 4,23,15) = (/ & & 0.10580e+04_rb,0.81384e+03_rb,0.60228e+03_rb,0.88919e+03_rb,0.11761e+04_rb /) kbo(:, 5,23,15) = (/ & & 0.10279e+04_rb,0.82530e+03_rb,0.60094e+03_rb,0.88718e+03_rb,0.11734e+04_rb /) kbo(:, 1,24,15) = (/ & & 0.10227e+04_rb,0.68179e+03_rb,0.60412e+03_rb,0.89149e+03_rb,0.11792e+04_rb /) kbo(:, 2,24,15) = (/ & & 0.11518e+04_rb,0.80624e+03_rb,0.60338e+03_rb,0.89088e+03_rb,0.11784e+04_rb /) kbo(:, 3,24,15) = (/ & & 0.10788e+04_rb,0.70820e+03_rb,0.60290e+03_rb,0.89016e+03_rb,0.11787e+04_rb /) kbo(:, 4,24,15) = (/ & & 0.10466e+04_rb,0.82233e+03_rb,0.60268e+03_rb,0.88884e+03_rb,0.11757e+04_rb /) kbo(:, 5,24,15) = (/ & & 0.10066e+04_rb,0.82618e+03_rb,0.60057e+03_rb,0.88665e+03_rb,0.11740e+04_rb /) kbo(:, 1,25,15) = (/ & & 0.10780e+04_rb,0.80937e+03_rb,0.60386e+03_rb,0.89131e+03_rb,0.11790e+04_rb /) kbo(:, 2,25,15) = (/ & & 0.10199e+04_rb,0.81059e+03_rb,0.60327e+03_rb,0.89075e+03_rb,0.11782e+04_rb /) kbo(:, 3,25,15) = (/ & & 0.11207e+04_rb,0.80162e+03_rb,0.60338e+03_rb,0.88992e+03_rb,0.11771e+04_rb /) kbo(:, 4,25,15) = (/ & & 0.97495e+03_rb,0.78589e+03_rb,0.60305e+03_rb,0.88845e+03_rb,0.11751e+04_rb /) kbo(:, 5,25,15) = (/ & & 0.95428e+03_rb,0.80945e+03_rb,0.60015e+03_rb,0.88605e+03_rb,0.11720e+04_rb /) kbo(:, 1,26,15) = (/ & & 0.10862e+04_rb,0.78235e+03_rb,0.60361e+03_rb,0.89115e+03_rb,0.11801e+04_rb /) kbo(:, 2,26,15) = (/ & & 0.91581e+03_rb,0.82546e+03_rb,0.60381e+03_rb,0.89059e+03_rb,0.11780e+04_rb /) kbo(:, 3,26,15) = (/ & & 0.10920e+04_rb,0.84813e+03_rb,0.60253e+03_rb,0.88964e+03_rb,0.11767e+04_rb /) kbo(:, 4,26,15) = (/ & & 0.11174e+04_rb,0.83078e+03_rb,0.60207e+03_rb,0.88892e+03_rb,0.11745e+04_rb /) kbo(:, 5,26,15) = (/ & & 0.11159e+04_rb,0.75128e+03_rb,0.59967e+03_rb,0.88536e+03_rb,0.11723e+04_rb /) kbo(:, 1,27,15) = (/ & & 0.10835e+04_rb,0.80424e+03_rb,0.60343e+03_rb,0.89101e+03_rb,0.11786e+04_rb /) kbo(:, 2,27,15) = (/ & & 0.10910e+04_rb,0.86525e+03_rb,0.60302e+03_rb,0.89041e+03_rb,0.11778e+04_rb /) kbo(:, 3,27,15) = (/ & & 0.10210e+04_rb,0.77642e+03_rb,0.60231e+03_rb,0.89027e+03_rb,0.11763e+04_rb /) kbo(:, 4,27,15) = (/ & & 0.10645e+04_rb,0.80598e+03_rb,0.60105e+03_rb,0.88742e+03_rb,0.11751e+04_rb /) kbo(:, 5,27,15) = (/ & & 0.10451e+04_rb,0.82023e+03_rb,0.59981e+03_rb,0.88559e+03_rb,0.11701e+04_rb /) kbo(:, 1,28,15) = (/ & & 0.10856e+04_rb,0.83991e+03_rb,0.60332e+03_rb,0.89088e+03_rb,0.11784e+04_rb /) kbo(:, 2,28,15) = (/ & & 0.93268e+03_rb,0.70779e+03_rb,0.60288e+03_rb,0.89019e+03_rb,0.11788e+04_rb /) kbo(:, 3,28,15) = (/ & & 0.11243e+04_rb,0.76544e+03_rb,0.60205e+03_rb,0.88894e+03_rb,0.11758e+04_rb /) kbo(:, 4,28,15) = (/ & & 0.10096e+04_rb,0.72189e+03_rb,0.60064e+03_rb,0.88682e+03_rb,0.11730e+04_rb /) kbo(:, 5,28,15) = (/ & & 0.88490e+03_rb,0.83821e+03_rb,0.59801e+03_rb,0.88198e+03_rb,0.11692e+04_rb /) kbo(:, 1,29,15) = (/ & & 0.10218e+04_rb,0.78897e+03_rb,0.60322e+03_rb,0.88978e+03_rb,0.11783e+04_rb /) kbo(:, 2,29,15) = (/ & & 0.97223e+03_rb,0.70803e+03_rb,0.60270e+03_rb,0.88994e+03_rb,0.11772e+04_rb /) kbo(:, 3,29,15) = (/ & & 0.10729e+04_rb,0.71638e+03_rb,0.60175e+03_rb,0.88850e+03_rb,0.11752e+04_rb /) kbo(:, 4,29,15) = (/ & & 0.10369e+04_rb,0.79357e+03_rb,0.60017e+03_rb,0.88614e+03_rb,0.11734e+04_rb /) kbo(:, 5,29,15) = (/ & & 0.10748e+04_rb,0.83591e+03_rb,0.59814e+03_rb,0.88321e+03_rb,0.11671e+04_rb /) kbo(:, 1,30,15) = (/ & & 0.10681e+04_rb,0.78838e+03_rb,0.60311e+03_rb,0.89058e+03_rb,0.11780e+04_rb /) kbo(:, 2,30,15) = (/ & & 0.10690e+04_rb,0.81372e+03_rb,0.60250e+03_rb,0.88965e+03_rb,0.11768e+04_rb /) kbo(:, 3,30,15) = (/ & & 0.10330e+04_rb,0.79065e+03_rb,0.60271e+03_rb,0.88800e+03_rb,0.11759e+04_rb /) kbo(:, 4,30,15) = (/ & & 0.99812e+03_rb,0.80751e+03_rb,0.60032e+03_rb,0.88541e+03_rb,0.11712e+04_rb /) kbo(:, 5,30,15) = (/ & & 0.10394e+04_rb,0.71741e+03_rb,0.59705e+03_rb,0.88643e+03_rb,0.11676e+04_rb /) kbo(:, 1,31,15) = (/ & & 0.10025e+04_rb,0.73187e+03_rb,0.60298e+03_rb,0.89039e+03_rb,0.11778e+04_rb /) kbo(:, 2,31,15) = (/ & & 0.11099e+04_rb,0.74280e+03_rb,0.60227e+03_rb,0.88930e+03_rb,0.11763e+04_rb /) kbo(:, 3,31,15) = (/ & & 0.10884e+04_rb,0.79617e+03_rb,0.60102e+03_rb,0.88838e+03_rb,0.11738e+04_rb /) kbo(:, 4,31,15) = (/ & & 0.90245e+03_rb,0.76637e+03_rb,0.59915e+03_rb,0.88368e+03_rb,0.11701e+04_rb /) kbo(:, 5,31,15) = (/ & & 0.10031e+04_rb,0.78751e+03_rb,0.59673e+03_rb,0.89640e+03_rb,0.11644e+04_rb /) kbo(:, 1,32,15) = (/ & & 0.87663e+03_rb,0.68400e+03_rb,0.60283e+03_rb,0.89016e+03_rb,0.11775e+04_rb /) kbo(:, 2,32,15) = (/ & & 0.10467e+04_rb,0.83071e+03_rb,0.60330e+03_rb,0.88890e+03_rb,0.11758e+04_rb /) kbo(:, 3,32,15) = (/ & & 0.97045e+03_rb,0.72881e+03_rb,0.60123e+03_rb,0.88677e+03_rb,0.11730e+04_rb /) kbo(:, 4,32,15) = (/ & & 0.11080e+04_rb,0.69141e+03_rb,0.59860e+03_rb,0.88193e+03_rb,0.11679e+04_rb /) kbo(:, 5,32,15) = (/ & & 0.10206e+04_rb,0.73037e+03_rb,0.59837e+03_rb,0.88358e+03_rb,0.11726e+04_rb /) kbo(:, 1,33,15) = (/ & & 0.10520e+04_rb,0.78807e+03_rb,0.60265e+03_rb,0.89086e+03_rb,0.11771e+04_rb /) kbo(:, 2,33,15) = (/ & & 0.98139e+03_rb,0.81175e+03_rb,0.60169e+03_rb,0.88843e+03_rb,0.11752e+04_rb /) kbo(:, 3,33,15) = (/ & & 0.11223e+04_rb,0.75994e+03_rb,0.60074e+03_rb,0.88510e+03_rb,0.11720e+04_rb /) kbo(:, 4,33,15) = (/ & & 0.10271e+04_rb,0.75564e+03_rb,0.59806e+03_rb,0.88218e+03_rb,0.11708e+04_rb /) kbo(:, 5,33,15) = (/ & & 0.10438e+04_rb,0.78527e+03_rb,0.59677e+03_rb,0.88217e+03_rb,0.11682e+04_rb /) kbo(:, 1,34,15) = (/ & & 0.10293e+04_rb,0.82175e+03_rb,0.60313e+03_rb,0.88963e+03_rb,0.11768e+04_rb /) kbo(:, 2,34,15) = (/ & & 0.11086e+04_rb,0.80472e+03_rb,0.60138e+03_rb,0.88797e+03_rb,0.11746e+04_rb /) kbo(:, 3,34,15) = (/ & & 0.10235e+04_rb,0.72497e+03_rb,0.60029e+03_rb,0.88634e+03_rb,0.11724e+04_rb /) kbo(:, 4,34,15) = (/ & & 0.10022e+04_rb,0.79360e+03_rb,0.59703e+03_rb,0.88927e+03_rb,0.11777e+04_rb /) kbo(:, 5,34,15) = (/ & & 0.11107e+04_rb,0.84019e+03_rb,0.59650e+03_rb,0.88082e+03_rb,0.11651e+04_rb /) kbo(:, 1,35,15) = (/ & & 0.10782e+04_rb,0.81052e+03_rb,0.60236e+03_rb,0.89138e+03_rb,0.11766e+04_rb /) kbo(:, 2,35,15) = (/ & & 0.89922e+03_rb,0.74859e+03_rb,0.60119e+03_rb,0.88769e+03_rb,0.11729e+04_rb /) kbo(:, 3,35,15) = (/ & & 0.10088e+04_rb,0.71209e+03_rb,0.59938e+03_rb,0.88499e+03_rb,0.11706e+04_rb /) kbo(:, 4,35,15) = (/ & & 0.96175e+03_rb,0.77055e+03_rb,0.60072e+03_rb,0.87852e+03_rb,0.11710e+04_rb /) kbo(:, 5,35,15) = (/ & & 0.10310e+04_rb,0.84426e+03_rb,0.59635e+03_rb,0.88059e+03_rb,0.11648e+04_rb /) kbo(:, 1,36,15) = (/ & & 0.10188e+04_rb,0.85190e+03_rb,0.60234e+03_rb,0.88943e+03_rb,0.11765e+04_rb /) kbo(:, 2,36,15) = (/ & & 0.10154e+04_rb,0.76964e+03_rb,0.60245e+03_rb,0.88859e+03_rb,0.11741e+04_rb /) kbo(:, 3,36,15) = (/ & & 0.10902e+04_rb,0.77130e+03_rb,0.59998e+03_rb,0.88588e+03_rb,0.11705e+04_rb /) kbo(:, 4,36,15) = (/ & & 0.98172e+03_rb,0.79246e+03_rb,0.59876e+03_rb,0.89371e+03_rb,0.11495e+04_rb /) kbo(:, 5,36,15) = (/ & & 0.10409e+04_rb,0.75260e+03_rb,0.59632e+03_rb,0.88055e+03_rb,0.11660e+04_rb /) kbo(:, 1,37,15) = (/ & & 0.10398e+04_rb,0.81024e+03_rb,0.60310e+03_rb,0.88960e+03_rb,0.11767e+04_rb /) kbo(:, 2,37,15) = (/ & & 0.94253e+03_rb,0.72207e+03_rb,0.60199e+03_rb,0.88792e+03_rb,0.11745e+04_rb /) kbo(:, 3,37,15) = (/ & & 0.11326e+04_rb,0.78984e+03_rb,0.60024e+03_rb,0.88532e+03_rb,0.11710e+04_rb /) kbo(:, 4,37,15) = (/ & & 0.10789e+04_rb,0.84320e+03_rb,0.59634e+03_rb,0.88350e+03_rb,0.11688e+04_rb /) kbo(:, 5,37,15) = (/ & & 0.10084e+04_rb,0.82623e+03_rb,0.59647e+03_rb,0.88078e+03_rb,0.11651e+04_rb /) kbo(:, 1,38,15) = (/ & & 0.99835e+03_rb,0.77031e+03_rb,0.60321e+03_rb,0.88977e+03_rb,0.11782e+04_rb /) kbo(:, 2,38,15) = (/ & & 0.11135e+04_rb,0.73046e+03_rb,0.60283e+03_rb,0.88917e+03_rb,0.11749e+04_rb /) kbo(:, 3,38,15) = (/ & & 0.10419e+04_rb,0.72620e+03_rb,0.59987e+03_rb,0.88669e+03_rb,0.11716e+04_rb /) kbo(:, 4,38,15) = (/ & & 0.10631e+04_rb,0.75245e+03_rb,0.59721e+03_rb,0.88572e+03_rb,0.11692e+04_rb /) kbo(:, 5,38,15) = (/ & & 0.10228e+04_rb,0.73209e+03_rb,0.59792e+03_rb,0.88102e+03_rb,0.11654e+04_rb /) kbo(:, 1,39,15) = (/ & & 0.10910e+04_rb,0.86853e+03_rb,0.60266e+03_rb,0.88992e+03_rb,0.11772e+04_rb /) kbo(:, 2,39,15) = (/ & & 0.10519e+04_rb,0.73802e+03_rb,0.60236e+03_rb,0.88944e+03_rb,0.11753e+04_rb /) kbo(:, 3,39,15) = (/ & & 0.90206e+03_rb,0.82442e+03_rb,0.60079e+03_rb,0.88708e+03_rb,0.11721e+04_rb /) kbo(:, 4,39,15) = (/ & & 0.10954e+04_rb,0.83033e+03_rb,0.59811e+03_rb,0.88319e+03_rb,0.11696e+04_rb /) kbo(:, 5,39,15) = (/ & & 0.92773e+03_rb,0.79134e+03_rb,0.59808e+03_rb,0.88316e+03_rb,0.11657e+04_rb /) kbo(:, 1,40,15) = (/ & & 0.10887e+04_rb,0.78119e+03_rb,0.60281e+03_rb,0.89016e+03_rb,0.11775e+04_rb /) kbo(:, 2,40,15) = (/ & & 0.10361e+04_rb,0.78964e+03_rb,0.60199e+03_rb,0.88890e+03_rb,0.11758e+04_rb /) kbo(:, 3,40,15) = (/ & & 0.10674e+04_rb,0.81250e+03_rb,0.60058e+03_rb,0.88678e+03_rb,0.11730e+04_rb /) kbo(:, 4,40,15) = (/ & & 0.11076e+04_rb,0.76250e+03_rb,0.59989e+03_rb,0.88480e+03_rb,0.11679e+04_rb /) kbo(:, 5,40,15) = (/ & & 0.11154e+04_rb,0.83280e+03_rb,0.59900e+03_rb,0.88168e+03_rb,0.11814e+04_rb /) kbo(:, 1,41,15) = (/ & & 0.10350e+04_rb,0.79893e+03_rb,0.60296e+03_rb,0.89038e+03_rb,0.11778e+04_rb /) kbo(:, 2,41,15) = (/ & & 0.10104e+04_rb,0.69640e+03_rb,0.60225e+03_rb,0.88929e+03_rb,0.11763e+04_rb /) kbo(:, 3,41,15) = (/ & & 0.10193e+04_rb,0.78110e+03_rb,0.60100e+03_rb,0.88741e+03_rb,0.11751e+04_rb /) kbo(:, 4,41,15) = (/ & & 0.10785e+04_rb,0.73450e+03_rb,0.59977e+03_rb,0.88368e+03_rb,0.11701e+04_rb /) kbo(:, 5,41,15) = (/ & & 0.96003e+03_rb,0.80480e+03_rb,0.59865e+03_rb,0.90400e+03_rb,0.11833e+04_rb /) kbo(:, 1,42,15) = (/ & & 0.97569e+03_rb,0.77685e+03_rb,0.60307e+03_rb,0.89056e+03_rb,0.11793e+04_rb /) kbo(:, 2,42,15) = (/ & & 0.98796e+03_rb,0.83953e+03_rb,0.60247e+03_rb,0.88963e+03_rb,0.11768e+04_rb /) kbo(:, 3,42,15) = (/ & & 0.10852e+04_rb,0.82427e+03_rb,0.60332e+03_rb,0.88798e+03_rb,0.11746e+04_rb /) kbo(:, 4,42,15) = (/ & & 0.10360e+04_rb,0.83188e+03_rb,0.59965e+03_rb,0.88636e+03_rb,0.11712e+04_rb /) kbo(:, 5,42,15) = (/ & & 0.10125e+04_rb,0.74885e+03_rb,0.59702e+03_rb,0.88356e+03_rb,0.11676e+04_rb /) kbo(:, 1,43,15) = (/ & & 0.91082e+03_rb,0.72514e+03_rb,0.60320e+03_rb,0.89075e+03_rb,0.11796e+04_rb /) kbo(:, 2,43,15) = (/ & & 0.82029e+03_rb,0.80137e+03_rb,0.60335e+03_rb,0.88998e+03_rb,0.11773e+04_rb /) kbo(:, 3,43,15) = (/ & & 0.11298e+04_rb,0.78950e+03_rb,0.60243e+03_rb,0.88859e+03_rb,0.11754e+04_rb /) kbo(:, 4,43,15) = (/ & & 0.10717e+04_rb,0.65904e+03_rb,0.60090e+03_rb,0.88726e+03_rb,0.11724e+04_rb /) kbo(:, 5,43,15) = (/ & & 0.89290e+03_rb,0.78779e+03_rb,0.59823e+03_rb,0.88240e+03_rb,0.11774e+04_rb /) kbo(:, 1,44,15) = (/ & & 0.10292e+04_rb,0.72935e+03_rb,0.60266e+03_rb,0.89093e+03_rb,0.11785e+04_rb /) kbo(:, 2,44,15) = (/ & & 0.10616e+04_rb,0.76323e+03_rb,0.60355e+03_rb,0.89030e+03_rb,0.11790e+04_rb /) kbo(:, 3,44,15) = (/ & & 0.10058e+04_rb,0.82082e+03_rb,0.60215e+03_rb,0.88915e+03_rb,0.11762e+04_rb /) kbo(:, 4,44,15) = (/ & & 0.96216e+03_rb,0.76914e+03_rb,0.60084e+03_rb,0.88814e+03_rb,0.11735e+04_rb /) kbo(:, 5,44,15) = (/ & & 0.10069e+04_rb,0.76998e+03_rb,0.59893e+03_rb,0.88624e+03_rb,0.11672e+04_rb /) kbo(:, 1,45,15) = (/ & & 0.92082e+03_rb,0.79879e+03_rb,0.60350e+03_rb,0.89110e+03_rb,0.11788e+04_rb /) kbo(:, 2,45,15) = (/ & & 0.96551e+03_rb,0.79963e+03_rb,0.60307e+03_rb,0.89055e+03_rb,0.11780e+04_rb /) kbo(:, 3,45,15) = (/ & & 0.10337e+04_rb,0.76320e+03_rb,0.60246e+03_rb,0.88962e+03_rb,0.11768e+04_rb /) kbo(:, 4,45,15) = (/ & & 0.97219e+03_rb,0.72677e+03_rb,0.60201e+03_rb,0.88795e+03_rb,0.11746e+04_rb /) kbo(:, 5,45,15) = (/ & & 0.10146e+04_rb,0.80892e+03_rb,0.59962e+03_rb,0.88632e+03_rb,0.11711e+04_rb /) kbo(:, 1,46,15) = (/ & & 0.10772e+04_rb,0.81655e+03_rb,0.60383e+03_rb,0.89135e+03_rb,0.11792e+04_rb /) kbo(:, 2,46,15) = (/ & & 0.98671e+03_rb,0.73523e+03_rb,0.60321e+03_rb,0.89077e+03_rb,0.11796e+04_rb /) kbo(:, 3,46,15) = (/ & & 0.10348e+04_rb,0.84026e+03_rb,0.60272e+03_rb,0.89002e+03_rb,0.11773e+04_rb /) kbo(:, 4,46,15) = (/ & & 0.11018e+04_rb,0.66661e+03_rb,0.60312e+03_rb,0.88865e+03_rb,0.11755e+04_rb /) kbo(:, 5,46,15) = (/ & & 0.10012e+04_rb,0.71404e+03_rb,0.60161e+03_rb,0.88639e+03_rb,0.11725e+04_rb /) kbo(:, 1,47,15) = (/ & & 0.10560e+04_rb,0.78520e+03_rb,0.60429e+03_rb,0.89072e+03_rb,0.11796e+04_rb /) kbo(:, 2,47,15) = (/ & & 0.10627e+04_rb,0.82754e+03_rb,0.60335e+03_rb,0.89097e+03_rb,0.11773e+04_rb /) kbo(:, 3,47,15) = (/ & & 0.10705e+04_rb,0.76570e+03_rb,0.60295e+03_rb,0.89038e+03_rb,0.11791e+04_rb /) kbo(:, 4,47,15) = (/ & & 0.11051e+04_rb,0.83346e+03_rb,0.60225e+03_rb,0.89026e+03_rb,0.11789e+04_rb /) kbo(:, 5,47,15) = (/ & & 0.10627e+04_rb,0.79957e+03_rb,0.60100e+03_rb,0.88742e+03_rb,0.11738e+04_rb /) kbo(:, 1,48,15) = (/ & & 0.10526e+04_rb,0.83431e+03_rb,0.60478e+03_rb,0.89205e+03_rb,0.11801e+04_rb /) kbo(:, 2,48,15) = (/ & & 0.11375e+04_rb,0.74537e+03_rb,0.60363e+03_rb,0.89121e+03_rb,0.11790e+04_rb /) kbo(:, 3,48,15) = (/ & & 0.10571e+04_rb,0.77077e+03_rb,0.60313e+03_rb,0.89066e+03_rb,0.11782e+04_rb /) kbo(:, 4,48,15) = (/ & & 0.10694e+04_rb,0.73604e+03_rb,0.60258e+03_rb,0.88981e+03_rb,0.11770e+04_rb /) kbo(:, 5,48,15) = (/ & & 0.11062e+04_rb,0.66828e+03_rb,0.60158e+03_rb,0.88925e+03_rb,0.11750e+04_rb /) kbo(:, 1,49,15) = (/ & & 0.10727e+04_rb,0.73859e+03_rb,0.60462e+03_rb,0.89249e+03_rb,0.11807e+04_rb /) kbo(:, 2,49,15) = (/ & & 0.11006e+04_rb,0.84446e+03_rb,0.60404e+03_rb,0.89152e+03_rb,0.11794e+04_rb /) kbo(:, 3,49,15) = (/ & & 0.96096e+03_rb,0.73858e+03_rb,0.60393e+03_rb,0.89088e+03_rb,0.11785e+04_rb /) kbo(:, 4,49,15) = (/ & & 0.11140e+04_rb,0.80464e+03_rb,0.60285e+03_rb,0.89021e+03_rb,0.11776e+04_rb /) kbo(:, 5,49,15) = (/ & & 0.10928e+04_rb,0.75297e+03_rb,0.60205e+03_rb,0.88996e+03_rb,0.11760e+04_rb /) kbo(:, 1,50,15) = (/ & & 0.10626e+04_rb,0.84953e+03_rb,0.60572e+03_rb,0.89295e+03_rb,0.11814e+04_rb /) kbo(:, 2,50,15) = (/ & & 0.11017e+04_rb,0.71824e+03_rb,0.60451e+03_rb,0.89185e+03_rb,0.11811e+04_rb /) kbo(:, 3,50,15) = (/ & & 0.10336e+04_rb,0.71570e+03_rb,0.60345e+03_rb,0.89107e+03_rb,0.11800e+04_rb /) kbo(:, 4,50,15) = (/ & & 0.95200e+03_rb,0.76482e+03_rb,0.60304e+03_rb,0.89051e+03_rb,0.11793e+04_rb /) kbo(:, 5,50,15) = (/ & & 0.96988e+03_rb,0.83512e+03_rb,0.60306e+03_rb,0.88954e+03_rb,0.11767e+04_rb /) kbo(:, 1,51,15) = (/ & & 0.11017e+04_rb,0.77329e+03_rb,0.60615e+03_rb,0.89371e+03_rb,0.11825e+04_rb /) kbo(:, 2,51,15) = (/ & & 0.10950e+04_rb,0.81479e+03_rb,0.60496e+03_rb,0.89123e+03_rb,0.11790e+04_rb /) kbo(:, 3,51,15) = (/ & & 0.99893e+03_rb,0.69452e+03_rb,0.60377e+03_rb,0.89131e+03_rb,0.11791e+04_rb /) kbo(:, 4,51,15) = (/ & & 0.10704e+04_rb,0.82834e+03_rb,0.60319e+03_rb,0.89074e+03_rb,0.11783e+04_rb /) kbo(:, 5,51,15) = (/ & & 0.10391e+04_rb,0.80716e+03_rb,0.60333e+03_rb,0.89092e+03_rb,0.11772e+04_rb /) kbo(:, 1,52,15) = (/ & & 0.10358e+04_rb,0.83681e+03_rb,0.60593e+03_rb,0.89390e+03_rb,0.11828e+04_rb /) kbo(:, 2,52,15) = (/ & & 0.95423e+03_rb,0.78599e+03_rb,0.60540e+03_rb,0.89262e+03_rb,0.11809e+04_rb /) kbo(:, 3,52,15) = (/ & & 0.98439e+03_rb,0.83257e+03_rb,0.60417e+03_rb,0.89064e+03_rb,0.11795e+04_rb /) kbo(:, 4,52,15) = (/ & & 0.10548e+04_rb,0.77074e+03_rb,0.60331e+03_rb,0.89093e+03_rb,0.11786e+04_rb /) kbo(:, 5,52,15) = (/ & & 0.10358e+04_rb,0.81478e+03_rb,0.60291e+03_rb,0.89030e+03_rb,0.11777e+04_rb /) kbo(:, 1,53,15) = (/ & & 0.96204e+03_rb,0.74448e+03_rb,0.60716e+03_rb,0.89629e+03_rb,0.11860e+04_rb /) kbo(:, 2,53,15) = (/ & & 0.10872e+04_rb,0.75126e+03_rb,0.60583e+03_rb,0.89310e+03_rb,0.11816e+04_rb /) kbo(:, 3,53,15) = (/ & & 0.90617e+03_rb,0.75210e+03_rb,0.60463e+03_rb,0.89194e+03_rb,0.11800e+04_rb /) kbo(:, 4,53,15) = (/ & & 0.97991e+03_rb,0.76565e+03_rb,0.60352e+03_rb,0.89113e+03_rb,0.11788e+04_rb /) kbo(:, 5,53,15) = (/ & & 0.10425e+04_rb,0.76988e+03_rb,0.60308e+03_rb,0.89058e+03_rb,0.11793e+04_rb /) kbo(:, 1,54,15) = (/ & & 0.10112e+04_rb,0.55645e+03_rb,0.60785e+03_rb,0.89766e+03_rb,0.11878e+04_rb /) kbo(:, 2,54,15) = (/ & & 0.10637e+04_rb,0.66232e+03_rb,0.60623e+03_rb,0.89389e+03_rb,0.11827e+04_rb /) kbo(:, 3,54,15) = (/ & & 0.88717e+03_rb,0.63014e+03_rb,0.60503e+03_rb,0.89226e+03_rb,0.11804e+04_rb /) kbo(:, 4,54,15) = (/ & & 0.10369e+04_rb,0.84103e+03_rb,0.60384e+03_rb,0.89232e+03_rb,0.11792e+04_rb /) kbo(:, 5,54,15) = (/ & & 0.10000e+04_rb,0.70043e+03_rb,0.60321e+03_rb,0.89174e+03_rb,0.11783e+04_rb /) kbo(:, 1,55,15) = (/ & & 0.10615e+04_rb,0.77920e+03_rb,0.60858e+03_rb,0.89903e+03_rb,0.11896e+04_rb /) kbo(:, 2,55,15) = (/ & & 0.10425e+04_rb,0.78513e+03_rb,0.60661e+03_rb,0.89494e+03_rb,0.11829e+04_rb /) kbo(:, 3,55,15) = (/ & & 0.10916e+04_rb,0.73854e+03_rb,0.60542e+03_rb,0.89361e+03_rb,0.11809e+04_rb /) kbo(:, 4,55,15) = (/ & & 0.10715e+04_rb,0.78936e+03_rb,0.60420e+03_rb,0.89162e+03_rb,0.11795e+04_rb /) kbo(:, 5,55,15) = (/ & & 0.96091e+03_rb,0.82578e+03_rb,0.60397e+03_rb,0.89094e+03_rb,0.11773e+04_rb /) kbo(:, 1,56,15) = (/ & & 0.10458e+04_rb,0.77242e+03_rb,0.60942e+03_rb,0.90044e+03_rb,0.11915e+04_rb /) kbo(:, 2,56,15) = (/ & & 0.11062e+04_rb,0.77581e+03_rb,0.60712e+03_rb,0.89619e+03_rb,0.11859e+04_rb /) kbo(:, 3,56,15) = (/ & & 0.10883e+04_rb,0.80121e+03_rb,0.60580e+03_rb,0.89306e+03_rb,0.11815e+04_rb /) kbo(:, 4,56,15) = (/ & & 0.10726e+04_rb,0.82069e+03_rb,0.60459e+03_rb,0.89192e+03_rb,0.11799e+04_rb /) kbo(:, 5,56,15) = (/ & & 0.11263e+04_rb,0.78597e+03_rb,0.60416e+03_rb,0.89111e+03_rb,0.11788e+04_rb /) kbo(:, 1,57,15) = (/ & & 0.11095e+04_rb,0.76988e+03_rb,0.61034e+03_rb,0.90190e+03_rb,0.11935e+04_rb /) kbo(:, 2,57,15) = (/ & & 0.97543e+03_rb,0.72583e+03_rb,0.60777e+03_rb,0.89749e+03_rb,0.11876e+04_rb /) kbo(:, 3,57,15) = (/ & & 0.98548e+03_rb,0.78597e+03_rb,0.60618e+03_rb,0.89378e+03_rb,0.11826e+04_rb /) kbo(:, 4,57,15) = (/ & & 0.98213e+03_rb,0.81053e+03_rb,0.60499e+03_rb,0.89222e+03_rb,0.11804e+04_rb /) kbo(:, 5,57,15) = (/ & & 0.10760e+04_rb,0.81137e+03_rb,0.60380e+03_rb,0.89133e+03_rb,0.11791e+04_rb /) kbo(:, 1,58,15) = (/ & & 0.10034e+04_rb,0.71059e+03_rb,0.61128e+03_rb,0.90333e+03_rb,0.11954e+04_rb /) kbo(:, 2,58,15) = (/ & & 0.97431e+03_rb,0.80290e+03_rb,0.60845e+03_rb,0.89878e+03_rb,0.11893e+04_rb /) kbo(:, 3,58,15) = (/ & & 0.95308e+03_rb,0.77157e+03_rb,0.60654e+03_rb,0.89474e+03_rb,0.11839e+04_rb /) kbo(:, 4,58,15) = (/ & & 0.10737e+04_rb,0.87404e+03_rb,0.60535e+03_rb,0.89257e+03_rb,0.11808e+04_rb /) kbo(:, 5,58,15) = (/ & & 0.10626e+04_rb,0.67671e+03_rb,0.60413e+03_rb,0.89157e+03_rb,0.11782e+04_rb /) kbo(:, 1,59,15) = (/ & & 0.98325e+03_rb,0.78258e+03_rb,0.61167e+03_rb,0.90392e+03_rb,0.11962e+04_rb /) kbo(:, 2,59,15) = (/ & & 0.10481e+04_rb,0.74785e+03_rb,0.60874e+03_rb,0.89931e+03_rb,0.11900e+04_rb /) kbo(:, 3,59,15) = (/ & & 0.11151e+04_rb,0.73006e+03_rb,0.60669e+03_rb,0.89518e+03_rb,0.11820e+04_rb /) kbo(:, 4,59,15) = (/ & & 0.10425e+04_rb,0.79358e+03_rb,0.60550e+03_rb,0.89369e+03_rb,0.11810e+04_rb /) kbo(:, 5,59,15) = (/ & & 0.97877e+03_rb,0.79866e+03_rb,0.60428e+03_rb,0.89168e+03_rb,0.11796e+04_rb /) kbo(:, 1,13,16) = (/ & & 0.75523e+03_rb,0.86786e+03_rb,0.60838e+03_rb,0.89385e+03_rb,0.11815e+04_rb /) kbo(:, 2,13,16) = (/ & & 0.10580e+03_rb,0.52074e+03_rb,0.60685e+03_rb,0.89272e+03_rb,0.11800e+04_rb /) kbo(:, 3,13,16) = (/ & & 0.88450e+03_rb,0.99478e+02_rb,0.60069e+03_rb,0.89217e+03_rb,0.11793e+04_rb /) kbo(:, 4,13,16) = (/ & & 0.47883e+03_rb,0.85714e+02_rb,0.60445e+03_rb,0.89133e+03_rb,0.11782e+04_rb /) kbo(:, 5,13,16) = (/ & & 0.30313e+03_rb,0.39357e+02_rb,0.60363e+03_rb,0.89015e+03_rb,0.11767e+04_rb /) kbo(:, 1,14,16) = (/ & & 0.59250e+03_rb,0.12538e+03_rb,0.60779e+03_rb,0.89359e+03_rb,0.11813e+04_rb /) kbo(:, 2,14,16) = (/ & & 0.45021e+03_rb,0.30819e+03_rb,0.60630e+03_rb,0.89255e+03_rb,0.11799e+04_rb /) kbo(:, 3,14,16) = (/ & & 0.38746e+03_rb,0.31955e+03_rb,0.60482e+03_rb,0.89198e+03_rb,0.11792e+04_rb /) kbo(:, 4,14,16) = (/ & & 0.59123e+03_rb,0.24014e+03_rb,0.60415e+03_rb,0.89112e+03_rb,0.11781e+04_rb /) kbo(:, 5,14,16) = (/ & & 0.47780e+03_rb,0.41362e+03_rb,0.60332e+03_rb,0.88306e+03_rb,0.11765e+04_rb /) kbo(:, 1,15,16) = (/ & & 0.10202e+04_rb,0.29221e+03_rb,0.60727e+03_rb,0.88647e+03_rb,0.11812e+04_rb /) kbo(:, 2,15,16) = (/ & & 0.55435e+03_rb,0.58788e+03_rb,0.60581e+03_rb,0.89239e+03_rb,0.11799e+04_rb /) kbo(:, 3,15,16) = (/ & & 0.31413e+03_rb,0.75889e+03_rb,0.60450e+03_rb,0.89181e+03_rb,0.11791e+04_rb /) kbo(:, 4,15,16) = (/ & & 0.41436e+03_rb,0.80717e+03_rb,0.60389e+03_rb,0.89092e+03_rb,0.11689e+04_rb /) kbo(:, 5,15,16) = (/ & & 0.84269e+03_rb,0.27451e+03_rb,0.60303e+03_rb,0.88966e+03_rb,0.11582e+04_rb /) kbo(:, 1,16,16) = (/ & & 0.19456e+03_rb,0.24351e+03_rb,0.60682e+03_rb,0.89311e+03_rb,0.11719e+04_rb /) kbo(:, 2,16,16) = (/ & & 0.43800e+03_rb,0.21696e+03_rb,0.60538e+03_rb,0.89225e+03_rb,0.11798e+04_rb /) kbo(:, 3,16,16) = (/ & & 0.73851e+03_rb,0.22888e+03_rb,0.60428e+03_rb,0.89164e+03_rb,0.11790e+04_rb /) kbo(:, 4,16,16) = (/ & & 0.83650e+03_rb,0.13309e+03_rb,0.60366e+03_rb,0.89073e+03_rb,0.11778e+04_rb /) kbo(:, 5,16,16) = (/ & & 0.65895e+03_rb,0.36022e+03_rb,0.59813e+03_rb,0.88942e+03_rb,0.11670e+04_rb /) kbo(:, 1,17,16) = (/ & & 0.97890e+03_rb,0.27257e+03_rb,0.60643e+03_rb,0.89290e+03_rb,0.11808e+04_rb /) kbo(:, 2,17,16) = (/ & & 0.21678e+03_rb,0.36639e+03_rb,0.60501e+03_rb,0.89213e+03_rb,0.11797e+04_rb /) kbo(:, 3,17,16) = (/ & & 0.36576e+03_rb,0.64243e+03_rb,0.60409e+03_rb,0.89150e+03_rb,0.11789e+04_rb /) kbo(:, 4,17,16) = (/ & & 0.71301e+03_rb,0.32666e+03_rb,0.60345e+03_rb,0.89056e+03_rb,0.11777e+04_rb /) kbo(:, 5,17,16) = (/ & & 0.30605e+03_rb,0.68315e+03_rb,0.59789e+03_rb,0.88918e+03_rb,0.11668e+04_rb /) kbo(:, 1,18,16) = (/ & & 0.52238e+03_rb,0.17591e+03_rb,0.60609e+03_rb,0.89271e+03_rb,0.11807e+04_rb /) kbo(:, 2,18,16) = (/ & & 0.10253e+04_rb,0.75807e+03_rb,0.60468e+03_rb,0.89202e+03_rb,0.11797e+04_rb /) kbo(:, 3,18,16) = (/ & & 0.23095e+03_rb,0.31874e+03_rb,0.60392e+03_rb,0.89136e+03_rb,0.11788e+04_rb /) kbo(:, 4,18,16) = (/ & & 0.55144e+03_rb,0.80452e+03_rb,0.59863e+03_rb,0.89039e+03_rb,0.11685e+04_rb /) kbo(:, 5,18,16) = (/ & & 0.36145e+03_rb,0.21165e+03_rb,0.60231e+03_rb,0.88211e+03_rb,0.11666e+04_rb /) kbo(:, 1,19,16) = (/ & & 0.10124e+04_rb,0.51143e+03_rb,0.60113e+03_rb,0.89253e+03_rb,0.11805e+04_rb /) kbo(:, 2,19,16) = (/ & & 0.54199e+03_rb,0.26758e+03_rb,0.60439e+03_rb,0.89192e+03_rb,0.11796e+04_rb /) kbo(:, 3,19,16) = (/ & & 0.61467e+03_rb,0.78253e+03_rb,0.59913e+03_rb,0.89123e+03_rb,0.11787e+04_rb /) kbo(:, 4,19,16) = (/ & & 0.58906e+03_rb,0.74398e+02_rb,0.60311e+03_rb,0.89023e+03_rb,0.11774e+04_rb /) kbo(:, 5,19,16) = (/ & & 0.98025e+03_rb,0.28476e+03_rb,0.59747e+03_rb,0.88189e+03_rb,0.11663e+04_rb /) kbo(:, 1,20,16) = (/ & & 0.25361e+03_rb,0.16739e+03_rb,0.60550e+03_rb,0.89234e+03_rb,0.11712e+04_rb /) kbo(:, 2,20,16) = (/ & & 0.70227e+03_rb,0.71784e+03_rb,0.59948e+03_rb,0.89182e+03_rb,0.11795e+04_rb /) kbo(:, 3,20,16) = (/ & & 0.89681e+03_rb,0.24714e+03_rb,0.60364e+03_rb,0.89109e+03_rb,0.11786e+04_rb /) kbo(:, 4,20,16) = (/ & & 0.30123e+03_rb,0.54911e+03_rb,0.60295e+03_rb,0.89006e+03_rb,0.11772e+04_rb /) kbo(:, 5,20,16) = (/ & & 0.68301e+03_rb,0.36973e+03_rb,0.59725e+03_rb,0.88846e+03_rb,0.11750e+04_rb /) kbo(:, 1,21,16) = (/ & & 0.25236e+03_rb,0.80202e+03_rb,0.60523e+03_rb,0.89218e+03_rb,0.11801e+04_rb /) kbo(:, 2,21,16) = (/ & & 0.77221e+03_rb,0.62834e+03_rb,0.60401e+03_rb,0.89171e+03_rb,0.11794e+04_rb /) kbo(:, 3,21,16) = (/ & & 0.70626e+03_rb,0.20918e+03_rb,0.60351e+03_rb,0.89096e+03_rb,0.11784e+04_rb /) kbo(:, 4,21,16) = (/ & & 0.16217e+03_rb,0.14134e+03_rb,0.59816e+03_rb,0.88303e+03_rb,0.11770e+04_rb /) kbo(:, 5,21,16) = (/ & & 0.51843e+03_rb,0.20259e+03_rb,0.59703e+03_rb,0.88818e+03_rb,0.11747e+04_rb /) kbo(:, 1,22,16) = (/ & & 0.21890e+03_rb,0.24577e+03_rb,0.60023e+03_rb,0.89209e+03_rb,0.11799e+04_rb /) kbo(:, 2,22,16) = (/ & & 0.30771e+03_rb,0.55233e+03_rb,0.60388e+03_rb,0.89157e+03_rb,0.11793e+04_rb /) kbo(:, 3,22,16) = (/ & & 0.17796e+03_rb,0.48432e+03_rb,0.60334e+03_rb,0.89076e+03_rb,0.11782e+04_rb /) kbo(:, 4,22,16) = (/ & & 0.88899e+03_rb,0.36751e+03_rb,0.60258e+03_rb,0.88960e+03_rb,0.11676e+04_rb /) kbo(:, 5,22,16) = (/ & & 0.37953e+03_rb,0.56918e+03_rb,0.58746e+03_rb,0.88775e+03_rb,0.11742e+04_rb /) kbo(:, 1,23,16) = (/ & & 0.42018e+03_rb,0.21434e+03_rb,0.60456e+03_rb,0.89198e+03_rb,0.11798e+04_rb /) kbo(:, 2,23,16) = (/ & & 0.10252e+04_rb,0.32427e+03_rb,0.60375e+03_rb,0.89142e+03_rb,0.11791e+04_rb /) kbo(:, 3,23,16) = (/ & & 0.25811e+03_rb,0.61743e+03_rb,0.60318e+03_rb,0.89055e+03_rb,0.11779e+04_rb /) kbo(:, 4,23,16) = (/ & & 0.60449e+03_rb,0.28100e+03_rb,0.60235e+03_rb,0.88930e+03_rb,0.11762e+04_rb /) kbo(:, 5,23,16) = (/ & & 0.43495e+03_rb,0.18925e+03_rb,0.60100e+03_rb,0.88727e+03_rb,0.11735e+04_rb /) kbo(:, 1,24,16) = (/ & & 0.68497e+03_rb,0.77568e+03_rb,0.60423e+03_rb,0.89188e+03_rb,0.11797e+04_rb /) kbo(:, 2,24,16) = (/ & & 0.27378e+03_rb,0.43332e+03_rb,0.60362e+03_rb,0.89125e+03_rb,0.11789e+04_rb /) kbo(:, 3,24,16) = (/ & & 0.44258e+03_rb,0.48182e+03_rb,0.60301e+03_rb,0.89032e+03_rb,0.11686e+04_rb /) kbo(:, 4,24,16) = (/ & & 0.38603e+03_rb,0.34135e+03_rb,0.59747e+03_rb,0.88895e+03_rb,0.11758e+04_rb /) kbo(:, 5,24,16) = (/ & & 0.39386e+03_rb,0.54222e+03_rb,0.60062e+03_rb,0.88674e+03_rb,0.11638e+04_rb /) kbo(:, 1,25,16) = (/ & & 0.55482e+03_rb,0.53022e+03_rb,0.60394e+03_rb,0.89175e+03_rb,0.11796e+04_rb /) kbo(:, 2,25,16) = (/ & & 0.90002e+03_rb,0.91361e+02_rb,0.60348e+03_rb,0.89107e+03_rb,0.11787e+04_rb /) kbo(:, 3,25,16) = (/ & & 0.17670e+03_rb,0.51744e+03_rb,0.59819e+03_rb,0.89007e+03_rb,0.11773e+04_rb /) kbo(:, 4,25,16) = (/ & & 0.44153e+03_rb,0.41376e+03_rb,0.59256e+03_rb,0.88854e+03_rb,0.11753e+04_rb /) kbo(:, 5,25,16) = (/ & & 0.24073e+03_rb,0.21288e+03_rb,0.60020e+03_rb,0.88614e+03_rb,0.11721e+04_rb /) kbo(:, 1,26,16) = (/ & & 0.37725e+03_rb,0.61445e+03_rb,0.60383e+03_rb,0.89161e+03_rb,0.11703e+04_rb /) kbo(:, 2,26,16) = (/ & & 0.10269e+04_rb,0.42565e+03_rb,0.59868e+03_rb,0.89085e+03_rb,0.11784e+04_rb /) kbo(:, 3,26,16) = (/ & & 0.49719e+03_rb,0.26744e+03_rb,0.60261e+03_rb,0.88977e+03_rb,0.11769e+04_rb /) kbo(:, 4,26,16) = (/ & & 0.41684e+03_rb,0.19443e+03_rb,0.59685e+03_rb,0.88123e+03_rb,0.11746e+04_rb /) kbo(:, 5,26,16) = (/ & & 0.32855e+03_rb,0.57095e+03_rb,0.59973e+03_rb,0.88545e+03_rb,0.11622e+04_rb /) kbo(:, 1,27,16) = (/ & & 0.60914e+03_rb,0.57105e+03_rb,0.60371e+03_rb,0.89145e+03_rb,0.11792e+04_rb /) kbo(:, 2,27,16) = (/ & & 0.26439e+03_rb,0.15182e+03_rb,0.60316e+03_rb,0.89062e+03_rb,0.11781e+04_rb /) kbo(:, 3,27,16) = (/ & & 0.73685e+03_rb,0.69813e+03_rb,0.60238e+03_rb,0.88259e+03_rb,0.11765e+04_rb /) kbo(:, 4,27,16) = (/ & & 0.64054e+03_rb,0.28524e+03_rb,0.60110e+03_rb,0.88751e+03_rb,0.11649e+04_rb /) kbo(:, 5,27,16) = (/ & & 0.75244e+03_rb,0.50359e+03_rb,0.59461e+03_rb,0.87791e+03_rb,0.11702e+04_rb /) kbo(:, 1,28,16) = (/ & & 0.64046e+03_rb,0.15170e+03_rb,0.60358e+03_rb,0.89127e+03_rb,0.11790e+04_rb /) kbo(:, 2,28,16) = (/ & & 0.70429e+03_rb,0.23052e+03_rb,0.60299e+03_rb,0.89037e+03_rb,0.11687e+04_rb /) kbo(:, 3,28,16) = (/ & & 0.44006e+03_rb,0.41240e+03_rb,0.60212e+03_rb,0.88904e+03_rb,0.11760e+04_rb /) kbo(:, 4,28,16) = (/ & & 0.22398e+03_rb,0.59419e+03_rb,0.60069e+03_rb,0.88691e+03_rb,0.11731e+04_rb /) kbo(:, 5,28,16) = (/ & & 0.55183e+03_rb,0.13336e+03_rb,0.59871e+03_rb,0.87038e+03_rb,0.11692e+04_rb /) kbo(:, 1,29,16) = (/ & & 0.59987e+03_rb,0.49106e+03_rb,0.60344e+03_rb,0.89107e+03_rb,0.11787e+04_rb /) kbo(:, 2,29,16) = (/ & & 0.34384e+03_rb,0.96976e+02_rb,0.60280e+03_rb,0.89009e+03_rb,0.11774e+04_rb /) kbo(:, 3,29,16) = (/ & & 0.54363e+03_rb,0.20603e+03_rb,0.60181e+03_rb,0.88860e+03_rb,0.11754e+04_rb /) kbo(:, 4,29,16) = (/ & & 0.10391e+04_rb,0.38775e+03_rb,0.60023e+03_rb,0.88623e+03_rb,0.11632e+04_rb /) kbo(:, 5,29,16) = (/ & & 0.22377e+03_rb,0.17567e+03_rb,0.59820e+03_rb,0.88324e+03_rb,0.11684e+04_rb /) kbo(:, 1,30,16) = (/ & & 0.63138e+03_rb,0.68455e+03_rb,0.60329e+03_rb,0.89085e+03_rb,0.11784e+04_rb /) kbo(:, 2,30,16) = (/ & & 0.58332e+03_rb,0.21199e+03_rb,0.60259e+03_rb,0.88978e+03_rb,0.11770e+04_rb /) kbo(:, 3,30,16) = (/ & & 0.33555e+03_rb,0.46024e+03_rb,0.59221e+03_rb,0.88809e+03_rb,0.11657e+04_rb /) kbo(:, 4,30,16) = (/ & & 0.44733e+03_rb,0.32696e+03_rb,0.59512e+03_rb,0.88550e+03_rb,0.11713e+04_rb /) kbo(:, 5,30,16) = (/ & & 0.79071e+03_rb,0.72043e+03_rb,0.59773e+03_rb,0.85548e+03_rb,0.11586e+04_rb /) kbo(:, 1,31,16) = (/ & & 0.81471e+03_rb,0.68414e+03_rb,0.60312e+03_rb,0.89060e+03_rb,0.11781e+04_rb /) kbo(:, 2,31,16) = (/ & & 0.44722e+03_rb,0.73246e+03_rb,0.60235e+03_rb,0.88942e+03_rb,0.11765e+04_rb /) kbo(:, 3,31,16) = (/ & & 0.48709e+03_rb,0.24210e+03_rb,0.60108e+03_rb,0.88068e+03_rb,0.11739e+04_rb /) kbo(:, 4,31,16) = (/ & & 0.63873e+03_rb,0.56888e+03_rb,0.59920e+03_rb,0.88472e+03_rb,0.11702e+04_rb /) kbo(:, 5,31,16) = (/ & & 0.72647e+03_rb,0.26020e+03_rb,0.59739e+03_rb,0.78035e+03_rb,0.11669e+04_rb /) kbo(:, 1,32,16) = (/ & & 0.10219e+04_rb,0.29652e+03_rb,0.60294e+03_rb,0.89034e+03_rb,0.11777e+04_rb /) kbo(:, 2,32,16) = (/ & & 0.75833e+03_rb,0.13311e+03_rb,0.59281e+03_rb,0.88900e+03_rb,0.11759e+04_rb /) kbo(:, 3,32,16) = (/ & & 0.54275e+03_rb,0.31460e+03_rb,0.59602e+03_rb,0.88686e+03_rb,0.11731e+04_rb /) kbo(:, 4,32,16) = (/ & & 0.28731e+03_rb,0.15124e+03_rb,0.59865e+03_rb,0.87712e+03_rb,0.11692e+04_rb /) kbo(:, 5,32,16) = (/ & & 0.79004e+03_rb,0.63514e+03_rb,0.58791e+03_rb,0.86135e+03_rb,0.11214e+04_rb /) kbo(:, 1,33,16) = (/ & & 0.42295e+03_rb,0.52022e+03_rb,0.60275e+03_rb,0.88319e+03_rb,0.11773e+04_rb /) kbo(:, 2,33,16) = (/ & & 0.72614e+03_rb,0.33266e+03_rb,0.60175e+03_rb,0.88169e+03_rb,0.11753e+04_rb /) kbo(:, 3,33,16) = (/ & & 0.36703e+03_rb,0.22982e+03_rb,0.59554e+03_rb,0.88614e+03_rb,0.11721e+04_rb /) kbo(:, 4,33,16) = (/ & & 0.23137e+03_rb,0.32656e+03_rb,0.59813e+03_rb,0.88315e+03_rb,0.11503e+04_rb /) kbo(:, 5,33,16) = (/ & & 0.98125e+03_rb,0.60471e+03_rb,0.59681e+03_rb,0.86770e+03_rb,0.11478e+04_rb /) kbo(:, 1,34,16) = (/ & & 0.44676e+03_rb,0.16327e+03_rb,0.59792e+03_rb,0.88976e+03_rb,0.11770e+04_rb /) kbo(:, 2,34,16) = (/ & & 0.27122e+03_rb,0.52002e+03_rb,0.60144e+03_rb,0.88807e+03_rb,0.11747e+04_rb /) kbo(:, 3,34,16) = (/ & & 0.89338e+03_rb,0.37487e+03_rb,0.59509e+03_rb,0.87866e+03_rb,0.11622e+04_rb /) kbo(:, 4,34,16) = (/ & & 0.43071e+03_rb,0.56832e+03_rb,0.58850e+03_rb,0.83509e+03_rb,0.10958e+04_rb /) kbo(:, 5,34,16) = (/ & & 0.20737e+03_rb,0.35064e+03_rb,0.59655e+03_rb,0.88088e+03_rb,0.11652e+04_rb /) kbo(:, 1,35,16) = (/ & & 0.79758e+02_rb,0.10278e+03_rb,0.60244e+03_rb,0.87589e+03_rb,0.11767e+04_rb /) kbo(:, 2,35,16) = (/ & & 0.52637e+03_rb,0.56826e+03_rb,0.60124e+03_rb,0.88778e+03_rb,0.11743e+04_rb /) kbo(:, 3,35,16) = (/ & & 0.43064e+03_rb,0.29620e+03_rb,0.59943e+03_rb,0.88508e+03_rb,0.11707e+04_rb /) kbo(:, 4,35,16) = (/ & & 0.21531e+03_rb,0.74954e+03_rb,0.57453e+03_rb,0.86197e+03_rb,0.11223e+04_rb /) kbo(:, 5,35,16) = (/ & & 0.85323e+03_rb,0.27200e+03_rb,0.59640e+03_rb,0.88066e+03_rb,0.11649e+04_rb /) kbo(:, 1,36,16) = (/ & & 0.99678e+03_rb,0.21760e+03_rb,0.60242e+03_rb,0.88955e+03_rb,0.11767e+04_rb /) kbo(:, 2,36,16) = (/ & & 0.90902e+03_rb,0.40496e+03_rb,0.59196e+03_rb,0.88090e+03_rb,0.11742e+04_rb /) kbo(:, 3,36,16) = (/ & & 0.38273e+03_rb,0.60439e+03_rb,0.59478e+03_rb,0.87820e+03_rb,0.11706e+04_rb /) kbo(:, 4,36,16) = (/ & & 0.84516e+03_rb,0.25383e+03_rb,0.58829e+03_rb,0.79406e+03_rb,0.11312e+04_rb /) kbo(:, 5,36,16) = (/ & & 0.45445e+03_rb,0.41700e+03_rb,0.59637e+03_rb,0.88062e+03_rb,0.11559e+04_rb /) kbo(:, 1,37,16) = (/ & & 0.62987e+03_rb,0.44723e+03_rb,0.59790e+03_rb,0.88973e+03_rb,0.11769e+04_rb /) kbo(:, 2,37,16) = (/ & & 0.80524e+03_rb,0.68894e+03_rb,0.59677e+03_rb,0.88802e+03_rb,0.11746e+04_rb /) kbo(:, 3,37,16) = (/ & & 0.18337e+03_rb,0.45323e+03_rb,0.59504e+03_rb,0.88541e+03_rb,0.11712e+04_rb /) kbo(:, 4,37,16) = (/ & & 0.50224e+03_rb,0.16920e+03_rb,0.59765e+03_rb,0.86220e+03_rb,0.11586e+04_rb /) kbo(:, 5,37,16) = (/ & & 0.85299e+03_rb,0.22358e+03_rb,0.59652e+03_rb,0.88084e+03_rb,0.11652e+04_rb /) kbo(:, 1,38,16) = (/ & & 0.91678e+03_rb,0.47738e+03_rb,0.59801e+03_rb,0.88990e+03_rb,0.11681e+04_rb /) kbo(:, 2,38,16) = (/ & & 0.47033e+03_rb,0.39881e+03_rb,0.59234e+03_rb,0.88147e+03_rb,0.11750e+04_rb /) kbo(:, 3,38,16) = (/ & & 0.69352e+03_rb,0.66467e+03_rb,0.59993e+03_rb,0.87901e+03_rb,0.11717e+04_rb /) kbo(:, 4,38,16) = (/ & & 0.48625e+03_rb,0.32628e+03_rb,0.59330e+03_rb,0.86251e+03_rb,0.11590e+04_rb /) kbo(:, 5,38,16) = (/ & & 0.31087e+03_rb,0.44108e+03_rb,0.58749e+03_rb,0.88107e+03_rb,0.11655e+04_rb /) kbo(:, 1,39,16) = (/ & & 0.35870e+03_rb,0.11480e+03_rb,0.60275e+03_rb,0.89007e+03_rb,0.11774e+04_rb /) kbo(:, 2,39,16) = (/ & & 0.37464e+03_rb,0.78547e+03_rb,0.59714e+03_rb,0.88174e+03_rb,0.11754e+04_rb /) kbo(:, 3,39,16) = (/ & & 0.10123e+04_rb,0.30814e+03_rb,0.59558e+03_rb,0.87940e+03_rb,0.11722e+04_rb /) kbo(:, 4,39,16) = (/ & & 0.17535e+03_rb,0.96668e+02_rb,0.59817e+03_rb,0.88323e+03_rb,0.11594e+04_rb /) kbo(:, 5,39,16) = (/ & & 0.36664e+03_rb,0.56187e+03_rb,0.58764e+03_rb,0.86774e+03_rb,0.11658e+04_rb /) kbo(:, 1,40,16) = (/ & & 0.48620e+03_rb,0.57396e+03_rb,0.60293e+03_rb,0.89033e+03_rb,0.11777e+04_rb /) kbo(:, 2,40,16) = (/ & & 0.94847e+03_rb,0.62832e+03_rb,0.60206e+03_rb,0.88901e+03_rb,0.11760e+04_rb /) kbo(:, 3,40,16) = (/ & & 0.54197e+03_rb,0.51352e+03_rb,0.60063e+03_rb,0.88687e+03_rb,0.11731e+04_rb /) kbo(:, 4,40,16) = (/ & & 0.21519e+03_rb,0.61017e+03_rb,0.58944e+03_rb,0.86354e+03_rb,0.11692e+04_rb /) kbo(:, 5,40,16) = (/ & & 0.27098e+03_rb,0.33831e+03_rb,0.58331e+03_rb,0.88170e+03_rb,0.10587e+04_rb /) kbo(:, 1,41,16) = (/ & & 0.14346e+03_rb,0.26582e+03_rb,0.60309e+03_rb,0.89059e+03_rb,0.11781e+04_rb /) kbo(:, 2,41,16) = (/ & & 0.76510e+03_rb,0.70682e+03_rb,0.60232e+03_rb,0.88941e+03_rb,0.11765e+04_rb /) kbo(:, 3,41,16) = (/ & & 0.62163e+03_rb,0.16311e+03_rb,0.60105e+03_rb,0.88750e+03_rb,0.11649e+04_rb /) kbo(:, 4,41,16) = (/ & & 0.87665e+02_rb,0.19331e+03_rb,0.59457e+03_rb,0.88472e+03_rb,0.11703e+04_rb /) kbo(:, 5,41,16) = (/ & & 0.10041e+04_rb,0.44098e+03_rb,0.58818e+03_rb,0.72606e+03_rb,0.10412e+04_rb /) kbo(:, 1,42,16) = (/ & & 0.66944e+03_rb,0.41079e+03_rb,0.60325e+03_rb,0.89083e+03_rb,0.11693e+04_rb /) kbo(:, 2,42,16) = (/ & & 0.51801e+03_rb,0.25976e+03_rb,0.60255e+03_rb,0.88976e+03_rb,0.11770e+04_rb /) kbo(:, 3,42,16) = (/ & & 0.23111e+03_rb,0.27788e+03_rb,0.58293e+03_rb,0.88808e+03_rb,0.11747e+04_rb /) kbo(:, 4,42,16) = (/ & & 0.44627e+03_rb,0.35036e+03_rb,0.59971e+03_rb,0.87868e+03_rb,0.11713e+04_rb /) kbo(:, 5,42,16) = (/ & & 0.75706e+03_rb,0.77924e+03_rb,0.59310e+03_rb,0.87584e+03_rb,0.11676e+04_rb /) kbo(:, 1,43,16) = (/ & & 0.60566e+03_rb,0.10873e+03_rb,0.60342e+03_rb,0.89110e+03_rb,0.11697e+04_rb /) kbo(:, 2,43,16) = (/ & & 0.92441e+03_rb,0.64634e+03_rb,0.59816e+03_rb,0.89014e+03_rb,0.11775e+04_rb /) kbo(:, 3,43,16) = (/ & & 0.18329e+03_rb,0.35035e+03_rb,0.59722e+03_rb,0.88869e+03_rb,0.11755e+04_rb /) kbo(:, 4,43,16) = (/ & & 0.34266e+03_rb,0.17517e+03_rb,0.59569e+03_rb,0.87957e+03_rb,0.11725e+04_rb /) kbo(:, 5,43,16) = (/ & & 0.92438e+03_rb,0.90606e+02_rb,0.59829e+03_rb,0.88341e+03_rb,0.11057e+04_rb /) kbo(:, 1,44,16) = (/ & & 0.38251e+03_rb,0.19934e+03_rb,0.60359e+03_rb,0.89135e+03_rb,0.11791e+04_rb /) kbo(:, 2,44,16) = (/ & & 0.48609e+03_rb,0.71881e+03_rb,0.59839e+03_rb,0.89050e+03_rb,0.11689e+04_rb /) kbo(:, 3,44,16) = (/ & & 0.54984e+03_rb,0.19933e+03_rb,0.59759e+03_rb,0.88926e+03_rb,0.11763e+04_rb /) kbo(:, 4,44,16) = (/ & & 0.85264e+03_rb,0.64027e+03_rb,0.60090e+03_rb,0.88045e+03_rb,0.11736e+04_rb /) kbo(:, 5,44,16) = (/ & & 0.88451e+03_rb,0.49530e+03_rb,0.59898e+03_rb,0.87082e+03_rb,0.11699e+04_rb /) kbo(:, 1,45,16) = (/ & & 0.66936e+03_rb,0.51946e+03_rb,0.60373e+03_rb,0.89157e+03_rb,0.11794e+04_rb /) kbo(:, 2,45,16) = (/ & & 0.95622e+03_rb,0.66442e+03_rb,0.60324e+03_rb,0.89082e+03_rb,0.11784e+04_rb /) kbo(:, 3,45,16) = (/ & & 0.70122e+03_rb,0.25973e+03_rb,0.60254e+03_rb,0.88974e+03_rb,0.11769e+04_rb /) kbo(:, 4,45,16) = (/ & & 0.13546e+03_rb,0.47717e+03_rb,0.59679e+03_rb,0.88805e+03_rb,0.11747e+04_rb /) kbo(:, 5,45,16) = (/ & & 0.44623e+03_rb,0.47716e+03_rb,0.59968e+03_rb,0.87864e+03_rb,0.11712e+04_rb /) kbo(:, 1,46,16) = (/ & & 0.16734e+03_rb,0.11476e+03_rb,0.60389e+03_rb,0.89176e+03_rb,0.11797e+04_rb /) kbo(:, 2,46,16) = (/ & & 0.41435e+03_rb,0.59796e+03_rb,0.60344e+03_rb,0.89112e+03_rb,0.11697e+04_rb /) kbo(:, 3,46,16) = (/ & & 0.78886e+03_rb,0.13892e+03_rb,0.60282e+03_rb,0.89018e+03_rb,0.11775e+04_rb /) kbo(:, 4,46,16) = (/ & & 0.48606e+03_rb,0.76103e+03_rb,0.59263e+03_rb,0.88876e+03_rb,0.11756e+04_rb /) kbo(:, 5,46,16) = (/ & & 0.77291e+03_rb,0.68855e+03_rb,0.59113e+03_rb,0.88648e+03_rb,0.11726e+04_rb /) kbo(:, 1,47,16) = (/ & & 0.80479e+03_rb,0.70064e+03_rb,0.60443e+03_rb,0.89194e+03_rb,0.11799e+04_rb /) kbo(:, 2,47,16) = (/ & & 0.74901e+03_rb,0.35032e+03_rb,0.60363e+03_rb,0.89142e+03_rb,0.11792e+04_rb /) kbo(:, 3,47,16) = (/ & & 0.62948e+03_rb,0.48923e+03_rb,0.60309e+03_rb,0.89059e+03_rb,0.11690e+04_rb /) kbo(:, 4,47,16) = (/ & & 0.87648e+02_rb,0.36239e+03_rb,0.60232e+03_rb,0.88257e+03_rb,0.11584e+04_rb /) kbo(:, 5,47,16) = (/ & & 0.44621e+03_rb,0.42279e+03_rb,0.60106e+03_rb,0.88751e+03_rb,0.11740e+04_rb /) kbo(:, 1,48,16) = (/ & & 0.39044e+03_rb,0.31407e+03_rb,0.60497e+03_rb,0.89220e+03_rb,0.11803e+04_rb /) kbo(:, 2,48,16) = (/ & & 0.28685e+03_rb,0.50131e+03_rb,0.60379e+03_rb,0.89166e+03_rb,0.11795e+04_rb /) kbo(:, 3,48,16) = (/ & & 0.38246e+03_rb,0.70665e+03_rb,0.60333e+03_rb,0.89096e+03_rb,0.11786e+04_rb /) kbo(:, 4,48,16) = (/ & & 0.47011e+03_rb,0.61002e+03_rb,0.60267e+03_rb,0.88995e+03_rb,0.11772e+04_rb /) kbo(:, 5,48,16) = (/ & & 0.36652e+03_rb,0.63417e+03_rb,0.60164e+03_rb,0.88155e+03_rb,0.11751e+04_rb /) kbo(:, 1,49,16) = (/ & & 0.76492e+03_rb,0.96636e+02_rb,0.60550e+03_rb,0.89270e+03_rb,0.11810e+04_rb /) kbo(:, 2,49,16) = (/ & & 0.23107e+03_rb,0.19931e+03_rb,0.60416e+03_rb,0.89186e+03_rb,0.11798e+04_rb /) kbo(:, 3,49,16) = (/ & & 0.86850e+03_rb,0.30199e+03_rb,0.59890e+03_rb,0.89128e+03_rb,0.11790e+04_rb /) kbo(:, 4,49,16) = (/ & & 0.27091e+03_rb,0.22951e+03_rb,0.60296e+03_rb,0.89040e+03_rb,0.11778e+04_rb /) kbo(:, 5,49,16) = (/ & & 0.45416e+03_rb,0.53149e+03_rb,0.60212e+03_rb,0.88227e+03_rb,0.11761e+04_rb /) kbo(:, 1,50,16) = (/ & & 0.39042e+03_rb,0.12079e+03_rb,0.60601e+03_rb,0.89316e+03_rb,0.11816e+04_rb /) kbo(:, 2,50,16) = (/ & & 0.38245e+03_rb,0.73080e+03_rb,0.60467e+03_rb,0.89201e+03_rb,0.11709e+04_rb /) kbo(:, 3,50,16) = (/ & & 0.19919e+03_rb,0.50733e+03_rb,0.60370e+03_rb,0.89153e+03_rb,0.11703e+04_rb /) kbo(:, 4,50,16) = (/ & & 0.52587e+03_rb,0.41673e+03_rb,0.60320e+03_rb,0.89076e+03_rb,0.11693e+04_rb /) kbo(:, 5,50,16) = (/ & & 0.25497e+03_rb,0.90594e+02_rb,0.59785e+03_rb,0.88966e+03_rb,0.11768e+04_rb /) kbo(:, 1,51,16) = (/ & & 0.35058e+03_rb,0.56772e+03_rb,0.60650e+03_rb,0.89405e+03_rb,0.11830e+04_rb /) kbo(:, 2,51,16) = (/ & & 0.39839e+03_rb,0.52545e+03_rb,0.60516e+03_rb,0.89238e+03_rb,0.11806e+04_rb /) kbo(:, 3,51,16) = (/ & & 0.69319e+03_rb,0.65831e+03_rb,0.60384e+03_rb,0.89174e+03_rb,0.11796e+04_rb /) kbo(:, 4,51,16) = (/ & & 0.66132e+03_rb,0.42881e+03_rb,0.60341e+03_rb,0.89108e+03_rb,0.11788e+04_rb /) kbo(:, 5,51,16) = (/ & & 0.80473e+03_rb,0.49524e+03_rb,0.59814e+03_rb,0.88327e+03_rb,0.11775e+04_rb /) kbo(:, 1,52,16) = (/ & & 0.75693e+03_rb,0.32010e+03_rb,0.60698e+03_rb,0.89551e+03_rb,0.11849e+04_rb /) kbo(:, 2,52,16) = (/ & & 0.98002e+03_rb,0.74890e+03_rb,0.60565e+03_rb,0.89283e+03_rb,0.11812e+04_rb /) kbo(:, 3,52,16) = (/ & & 0.42228e+03_rb,0.32613e+03_rb,0.60430e+03_rb,0.89190e+03_rb,0.11799e+04_rb /) kbo(:, 4,52,16) = (/ & & 0.43025e+03_rb,0.70662e+03_rb,0.60359e+03_rb,0.89136e+03_rb,0.11791e+04_rb /) kbo(:, 5,52,16) = (/ & & 0.81269e+03_rb,0.56167e+03_rb,0.60303e+03_rb,0.89051e+03_rb,0.11780e+04_rb /) kbo(:, 1,53,16) = (/ & & 0.98002e+03_rb,0.61603e+03_rb,0.60747e+03_rb,0.89705e+03_rb,0.11870e+04_rb /) kbo(:, 2,53,16) = (/ & & 0.28683e+03_rb,0.42277e+03_rb,0.60613e+03_rb,0.89328e+03_rb,0.11818e+04_rb /) kbo(:, 3,53,16) = (/ & & 0.45415e+03_rb,0.68246e+03_rb,0.60479e+03_rb,0.89204e+03_rb,0.11801e+04_rb /) kbo(:, 4,53,16) = (/ & & 0.78879e+03_rb,0.48920e+03_rb,0.60374e+03_rb,0.89159e+03_rb,0.11794e+04_rb /) kbo(:, 5,53,16) = (/ & & 0.76488e+03_rb,0.14495e+03_rb,0.60326e+03_rb,0.89085e+03_rb,0.11694e+04_rb /) kbo(:, 1,54,16) = (/ & & 0.67724e+03_rb,0.76701e+03_rb,0.60808e+03_rb,0.89852e+03_rb,0.11890e+04_rb /) kbo(:, 2,54,16) = (/ & & 0.81269e+03_rb,0.24762e+03_rb,0.60658e+03_rb,0.89430e+03_rb,0.11833e+04_rb /) kbo(:, 3,54,16) = (/ & & 0.94813e+03_rb,0.63414e+03_rb,0.60524e+03_rb,0.89246e+03_rb,0.11807e+04_rb /) kbo(:, 4,54,16) = (/ & & 0.49398e+03_rb,0.28989e+03_rb,0.60390e+03_rb,0.88491e+03_rb,0.11797e+04_rb /) kbo(:, 5,54,16) = (/ & & 0.89236e+03_rb,0.27781e+03_rb,0.60344e+03_rb,0.88428e+03_rb,0.11788e+04_rb /) kbo(:, 1,55,16) = (/ & & 0.52586e+03_rb,0.77305e+03_rb,0.60906e+03_rb,0.89999e+03_rb,0.11909e+04_rb /) kbo(:, 2,55,16) = (/ & & 0.54179e+03_rb,0.64018e+03_rb,0.60701e+03_rb,0.89560e+03_rb,0.11851e+04_rb /) kbo(:, 3,55,16) = (/ & & 0.50992e+03_rb,0.60394e+03_rb,0.60567e+03_rb,0.88598e+03_rb,0.11812e+04_rb /) kbo(:, 4,55,16) = (/ & & 0.63740e+03_rb,0.44088e+03_rb,0.60433e+03_rb,0.89191e+03_rb,0.11799e+04_rb /) kbo(:, 5,55,16) = (/ & & 0.49398e+03_rb,0.37444e+03_rb,0.59895e+03_rb,0.89137e+03_rb,0.11791e+04_rb /) kbo(:, 1,56,16) = (/ & & 0.90829e+03_rb,0.27177e+03_rb,0.61007e+03_rb,0.90151e+03_rb,0.11929e+04_rb /) kbo(:, 2,56,16) = (/ & & 0.35854e+03_rb,0.24158e+03_rb,0.60744e+03_rb,0.89694e+03_rb,0.11869e+04_rb /) kbo(:, 3,56,16) = (/ & & 0.59756e+03_rb,0.47107e+03_rb,0.60610e+03_rb,0.89325e+03_rb,0.11817e+04_rb /) kbo(:, 4,56,16) = (/ & & 0.52585e+03_rb,0.35632e+03_rb,0.60476e+03_rb,0.89203e+03_rb,0.11801e+04_rb /) kbo(:, 5,56,16) = (/ & & 0.27886e+03_rb,0.24761e+03_rb,0.59909e+03_rb,0.89157e+03_rb,0.11794e+04_rb /) kbo(:, 1,57,16) = (/ & & 0.34260e+03_rb,0.66433e+03_rb,0.61112e+03_rb,0.90308e+03_rb,0.11950e+04_rb /) kbo(:, 2,57,16) = (/ & & 0.66130e+03_rb,0.45295e+03_rb,0.60796e+03_rb,0.89834e+03_rb,0.11887e+04_rb /) kbo(:, 3,57,16) = (/ & & 0.69317e+03_rb,0.42880e+03_rb,0.60653e+03_rb,0.89415e+03_rb,0.11831e+04_rb /) kbo(:, 4,57,16) = (/ & & 0.27089e+03_rb,0.28385e+03_rb,0.60519e+03_rb,0.89241e+03_rb,0.11806e+04_rb /) kbo(:, 5,57,16) = (/ & & 0.66926e+03_rb,0.34424e+03_rb,0.60385e+03_rb,0.89175e+03_rb,0.11797e+04_rb /) kbo(:, 1,58,16) = (/ & & 0.96406e+03_rb,0.25365e+03_rb,0.61214e+03_rb,0.90462e+03_rb,0.11971e+04_rb /) kbo(:, 2,58,16) = (/ & & 0.31073e+03_rb,0.28385e+03_rb,0.60888e+03_rb,0.89972e+03_rb,0.11906e+04_rb /) kbo(:, 3,58,16) = (/ & & 0.96405e+03_rb,0.57374e+03_rb,0.60693e+03_rb,0.89536e+03_rb,0.11848e+04_rb /) kbo(:, 4,58,16) = (/ & & 0.69316e+03_rb,0.13891e+03_rb,0.60560e+03_rb,0.89278e+03_rb,0.11811e+04_rb /) kbo(:, 5,58,16) = (/ & & 0.59755e+03_rb,0.75492e+03_rb,0.60426e+03_rb,0.89189e+03_rb,0.11798e+04_rb /) kbo(:, 1,59,16) = (/ & & 0.92422e+03_rb,0.39860e+03_rb,0.61256e+03_rb,0.90525e+03_rb,0.11979e+04_rb /) kbo(:, 2,59,16) = (/ & & 0.78877e+03_rb,0.42275e+03_rb,0.60926e+03_rb,0.90029e+03_rb,0.11913e+04_rb /) kbo(:, 3,59,16) = (/ & & 0.35853e+03_rb,0.65225e+03_rb,0.60710e+03_rb,0.89586e+03_rb,0.11854e+04_rb /) kbo(:, 4,59,16) = (/ & & 0.54975e+03_rb,0.50730e+03_rb,0.60576e+03_rb,0.88606e+03_rb,0.11813e+04_rb /) kbo(:, 5,59,16) = (/ & & 0.52585e+03_rb,0.62205e+03_rb,0.60442e+03_rb,0.89194e+03_rb,0.11799e+04_rb /) end subroutine sw_kgb28 ! ************************************************************************** subroutine sw_kgb29 ! ************************************************************************** use parkind, only : im => kind_im, rb => kind_rb use rrsw_kg29, only : kao, kbo, selfrefo, forrefo, sfluxrefo, & absh2oo, absco2o, rayl implicit none save ! Kurucz solar source function sfluxrefo(:) = (/ & & 1.32880_rb , 2.14018_rb , 1.97612_rb , 1.79000_rb , & & 1.51242_rb , 1.22977_rb , 1.06052_rb , 0.800996_rb , & & 0.748053_rb , 8.64369e-02_rb, 7.10675e-02_rb, 5.62425e-02_rb, & & 4.46988e-02_rb, 3.07441e-02_rb, 1.16728e-02_rb, 1.65573e-03_rb /) absco2o(:) = (/ & & 2.90073e-06_rb, 2.12382e-05_rb, 1.03032e-04_rb, 1.86481e-04_rb, & & 4.31997e-04_rb, 6.08238e-04_rb, 2.17603e-03_rb, 4.64479e-02_rb, & & 2.96956_rb , 14.9569_rb , 28.4831_rb , 61.3998_rb , & & 164.129_rb , 832.282_rb , 4995.02_rb , 12678.1_rb /) absh2oo(:) = (/ & & 2.99508e-04_rb, 3.95012e-03_rb, 1.49316e-02_rb, 3.24384e-02_rb, & & 6.92879e-02_rb, 0.123523_rb , 0.360985_rb , 1.86434_rb , & & 10.38157_rb , 0.214129_rb , 0.213914_rb , 0.212781_rb , & & 0.215562_rb , 0.218087_rb , 0.220918_rb , 0.218546_rb /) ! Rayleigh extinction coefficient at v = 2200 cm-1. rayl = 9.30e-11_rb ! ------------------------------------------------------------------ ! The array KAO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels> ~100mb, temperatures, and binary ! species parameters (see taumol.f for definition). The first ! index in the array, JS, runs from 1 to 9, and corresponds to ! different values of the binary species parameter. For instance, ! JS=1 refers to dry air, JS = 2 corresponds to the paramter value 1/8, ! JS = 3 corresponds to the parameter value 2/8, etc. The second index ! in the array, JT, which runs from 1 to 5, corresponds to different ! temperatures. More specifically, JT = 3 means that the data are for ! the reference temperature TREF for this pressure level, JT = 2 refers ! to TREF-15, JT = 1 is for TREF-30, JT = 4 is for TREF+15, and JT = 5 ! is for TREF+30. The third index, JP, runs from 1 to 13 and refers ! to the JPth reference pressure level (see taumol.f for these levels ! in mb). The fourth index, IG, goes from 1 to 16, and indicates ! which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kao(:, 1, 1) = (/ & & 0.11565e-03_rb,0.10123e-03_rb,0.90804e-04_rb,0.82282e-04_rb,0.71083e-04_rb /) kao(:, 2, 1) = (/ & & 0.96434e-04_rb,0.82830e-04_rb,0.72366e-04_rb,0.61803e-04_rb,0.52497e-04_rb /) kao(:, 3, 1) = (/ & & 0.64539e-04_rb,0.56659e-04_rb,0.46605e-04_rb,0.39815e-04_rb,0.37118e-04_rb /) kao(:, 4, 1) = (/ & & 0.34417e-04_rb,0.27113e-04_rb,0.25362e-04_rb,0.30345e-04_rb,0.36275e-04_rb /) kao(:, 5, 1) = (/ & & 0.12260e-04_rb,0.15856e-04_rb,0.20834e-04_rb,0.27363e-04_rb,0.36114e-04_rb /) kao(:, 6, 1) = (/ & & 0.10221e-04_rb,0.14598e-04_rb,0.19695e-04_rb,0.25976e-04_rb,0.33702e-04_rb /) kao(:, 7, 1) = (/ & & 0.97563e-05_rb,0.13809e-04_rb,0.20231e-04_rb,0.27238e-04_rb,0.36110e-04_rb /) kao(:, 8, 1) = (/ & & 0.14062e-04_rb,0.19587e-04_rb,0.27069e-04_rb,0.36937e-04_rb,0.49415e-04_rb /) kao(:, 9, 1) = (/ & & 0.36371e-04_rb,0.48122e-04_rb,0.61586e-04_rb,0.77647e-04_rb,0.99897e-04_rb /) kao(:,10, 1) = (/ & & 0.99203e-04_rb,0.12842e-03_rb,0.16588e-03_rb,0.20834e-03_rb,0.26000e-03_rb /) kao(:,11, 1) = (/ & & 0.13233e-03_rb,0.17318e-03_rb,0.22059e-03_rb,0.28904e-03_rb,0.36062e-03_rb /) kao(:,12, 1) = (/ & & 0.13379e-03_rb,0.17484e-03_rb,0.23687e-03_rb,0.30286e-03_rb,0.37504e-03_rb /) kao(:,13, 1) = (/ & & 0.11740e-03_rb,0.15667e-03_rb,0.20962e-03_rb,0.26768e-03_rb,0.33485e-03_rb /) kao(:, 1, 2) = (/ & & 0.10246e-03_rb,0.10450e-03_rb,0.97383e-04_rb,0.96398e-04_rb,0.10549e-03_rb /) kao(:, 2, 2) = (/ & & 0.10589e-03_rb,0.10240e-03_rb,0.95801e-04_rb,0.98509e-04_rb,0.11993e-03_rb /) kao(:, 3, 2) = (/ & & 0.94054e-04_rb,0.87009e-04_rb,0.10941e-03_rb,0.13486e-03_rb,0.15918e-03_rb /) kao(:, 4, 2) = (/ & & 0.11883e-03_rb,0.14236e-03_rb,0.16636e-03_rb,0.18235e-03_rb,0.19785e-03_rb /) kao(:, 5, 2) = (/ & & 0.17800e-03_rb,0.19347e-03_rb,0.20977e-03_rb,0.22730e-03_rb,0.25111e-03_rb /) kao(:, 6, 2) = (/ & & 0.22243e-03_rb,0.24157e-03_rb,0.26567e-03_rb,0.28549e-03_rb,0.30723e-03_rb /) kao(:, 7, 2) = (/ & & 0.29248e-03_rb,0.32242e-03_rb,0.34635e-03_rb,0.37915e-03_rb,0.40803e-03_rb /) kao(:, 8, 2) = (/ & & 0.43386e-03_rb,0.48611e-03_rb,0.52681e-03_rb,0.56812e-03_rb,0.60642e-03_rb /) kao(:, 9, 2) = (/ & & 0.89109e-03_rb,0.10345e-02_rb,0.11794e-02_rb,0.13045e-02_rb,0.14303e-02_rb /) kao(:,10, 2) = (/ & & 0.21538e-02_rb,0.24459e-02_rb,0.27329e-02_rb,0.30932e-02_rb,0.35253e-02_rb /) kao(:,11, 2) = (/ & & 0.29272e-02_rb,0.32676e-02_rb,0.36353e-02_rb,0.40062e-02_rb,0.45441e-02_rb /) kao(:,12, 2) = (/ & & 0.30762e-02_rb,0.34365e-02_rb,0.38146e-02_rb,0.41556e-02_rb,0.47164e-02_rb /) kao(:,13, 2) = (/ & & 0.27808e-02_rb,0.31114e-02_rb,0.34383e-02_rb,0.37954e-02_rb,0.42576e-02_rb /) kao(:, 1, 3) = (/ & & 0.24042e-03_rb,0.32719e-03_rb,0.44370e-03_rb,0.56836e-03_rb,0.70357e-03_rb /) kao(:, 2, 3) = (/ & & 0.23303e-03_rb,0.31901e-03_rb,0.41926e-03_rb,0.52400e-03_rb,0.62365e-03_rb /) kao(:, 3, 3) = (/ & & 0.35050e-03_rb,0.42158e-03_rb,0.47490e-03_rb,0.53390e-03_rb,0.60411e-03_rb /) kao(:, 4, 3) = (/ & & 0.49954e-03_rb,0.53067e-03_rb,0.56338e-03_rb,0.60859e-03_rb,0.66569e-03_rb /) kao(:, 5, 3) = (/ & & 0.66908e-03_rb,0.69727e-03_rb,0.72898e-03_rb,0.76756e-03_rb,0.80358e-03_rb /) kao(:, 6, 3) = (/ & & 0.88634e-03_rb,0.92853e-03_rb,0.96856e-03_rb,0.10101e-02_rb,0.10556e-02_rb /) kao(:, 7, 3) = (/ & & 0.11659e-02_rb,0.12355e-02_rb,0.13238e-02_rb,0.13889e-02_rb,0.14491e-02_rb /) kao(:, 8, 3) = (/ & & 0.17485e-02_rb,0.18223e-02_rb,0.19411e-02_rb,0.20705e-02_rb,0.22025e-02_rb /) kao(:, 9, 3) = (/ & & 0.42442e-02_rb,0.43561e-02_rb,0.45061e-02_rb,0.47505e-02_rb,0.50358e-02_rb /) kao(:,10, 3) = (/ & & 0.10940e-01_rb,0.11499e-01_rb,0.11906e-01_rb,0.12570e-01_rb,0.12803e-01_rb /) kao(:,11, 3) = (/ & & 0.14287e-01_rb,0.15010e-01_rb,0.15581e-01_rb,0.16054e-01_rb,0.16609e-01_rb /) kao(:,12, 3) = (/ & & 0.14856e-01_rb,0.15546e-01_rb,0.16074e-01_rb,0.16478e-01_rb,0.17057e-01_rb /) kao(:,13, 3) = (/ & & 0.13257e-01_rb,0.13834e-01_rb,0.14155e-01_rb,0.14723e-01_rb,0.15095e-01_rb /) kao(:, 1, 4) = (/ & & 0.24391e-02_rb,0.28720e-02_rb,0.33497e-02_rb,0.38926e-02_rb,0.45054e-02_rb /) kao(:, 2, 4) = (/ & & 0.22506e-02_rb,0.26004e-02_rb,0.30002e-02_rb,0.34490e-02_rb,0.39579e-02_rb /) kao(:, 3, 4) = (/ & & 0.22153e-02_rb,0.25711e-02_rb,0.29320e-02_rb,0.33330e-02_rb,0.37728e-02_rb /) kao(:, 4, 4) = (/ & & 0.22483e-02_rb,0.25445e-02_rb,0.28745e-02_rb,0.32484e-02_rb,0.36554e-02_rb /) kao(:, 5, 4) = (/ & & 0.23388e-02_rb,0.25985e-02_rb,0.28914e-02_rb,0.32377e-02_rb,0.36113e-02_rb /) kao(:, 6, 4) = (/ & & 0.24669e-02_rb,0.26579e-02_rb,0.28834e-02_rb,0.31538e-02_rb,0.34593e-02_rb /) kao(:, 7, 4) = (/ & & 0.32536e-02_rb,0.33413e-02_rb,0.34375e-02_rb,0.35905e-02_rb,0.38010e-02_rb /) kao(:, 8, 4) = (/ & & 0.51228e-02_rb,0.51967e-02_rb,0.52820e-02_rb,0.53446e-02_rb,0.53797e-02_rb /) kao(:, 9, 4) = (/ & & 0.13029e-01_rb,0.13065e-01_rb,0.12891e-01_rb,0.12848e-01_rb,0.12777e-01_rb /) kao(:,10, 4) = (/ & & 0.29911e-01_rb,0.30117e-01_rb,0.28340e-01_rb,0.27321e-01_rb,0.27485e-01_rb /) kao(:,11, 4) = (/ & & 0.36663e-01_rb,0.36877e-01_rb,0.34688e-01_rb,0.33004e-01_rb,0.32437e-01_rb /) kao(:,12, 4) = (/ & & 0.37282e-01_rb,0.37775e-01_rb,0.34910e-01_rb,0.33463e-01_rb,0.33074e-01_rb /) kao(:,13, 4) = (/ & & 0.33412e-01_rb,0.32961e-01_rb,0.30323e-01_rb,0.29437e-01_rb,0.29572e-01_rb /) kao(:, 1, 5) = (/ & & 0.20792e-01_rb,0.22727e-01_rb,0.25207e-01_rb,0.27650e-01_rb,0.29866e-01_rb /) kao(:, 2, 5) = (/ & & 0.17515e-01_rb,0.19421e-01_rb,0.21509e-01_rb,0.23389e-01_rb,0.25418e-01_rb /) kao(:, 3, 5) = (/ & & 0.14912e-01_rb,0.16535e-01_rb,0.18159e-01_rb,0.19873e-01_rb,0.21718e-01_rb /) kao(:, 4, 5) = (/ & & 0.13498e-01_rb,0.14786e-01_rb,0.16253e-01_rb,0.17812e-01_rb,0.19494e-01_rb /) kao(:, 5, 5) = (/ & & 0.12840e-01_rb,0.13983e-01_rb,0.15257e-01_rb,0.16617e-01_rb,0.18015e-01_rb /) kao(:, 6, 5) = (/ & & 0.12557e-01_rb,0.13714e-01_rb,0.14939e-01_rb,0.16145e-01_rb,0.17356e-01_rb /) kao(:, 7, 5) = (/ & & 0.11839e-01_rb,0.12951e-01_rb,0.14090e-01_rb,0.15237e-01_rb,0.16396e-01_rb /) kao(:, 8, 5) = (/ & & 0.13190e-01_rb,0.13998e-01_rb,0.14783e-01_rb,0.15641e-01_rb,0.16632e-01_rb /) kao(:, 9, 5) = (/ & & 0.24479e-01_rb,0.24660e-01_rb,0.25206e-01_rb,0.25571e-01_rb,0.26098e-01_rb /) kao(:,10, 5) = (/ & & 0.62373e-01_rb,0.60241e-01_rb,0.61372e-01_rb,0.61530e-01_rb,0.60978e-01_rb /) kao(:,11, 5) = (/ & & 0.76394e-01_rb,0.73727e-01_rb,0.74701e-01_rb,0.75649e-01_rb,0.75608e-01_rb /) kao(:,12, 5) = (/ & & 0.76656e-01_rb,0.73608e-01_rb,0.75610e-01_rb,0.76362e-01_rb,0.76033e-01_rb /) kao(:,13, 5) = (/ & & 0.66025e-01_rb,0.64890e-01_rb,0.66873e-01_rb,0.66992e-01_rb,0.66685e-01_rb /) kao(:, 1, 6) = (/ & & 0.99799e-01_rb,0.10479e+00_rb,0.10918e+00_rb,0.11347e+00_rb,0.11767e+00_rb /) kao(:, 2, 6) = (/ & & 0.87946e-01_rb,0.91820e-01_rb,0.95208e-01_rb,0.99071e-01_rb,0.10286e+00_rb /) kao(:, 3, 6) = (/ & & 0.76753e-01_rb,0.80377e-01_rb,0.84204e-01_rb,0.87924e-01_rb,0.91370e-01_rb /) kao(:, 4, 6) = (/ & & 0.67002e-01_rb,0.70630e-01_rb,0.73736e-01_rb,0.76764e-01_rb,0.79671e-01_rb /) kao(:, 5, 6) = (/ & & 0.58933e-01_rb,0.61857e-01_rb,0.64756e-01_rb,0.67323e-01_rb,0.69871e-01_rb /) kao(:, 6, 6) = (/ & & 0.53143e-01_rb,0.55386e-01_rb,0.57507e-01_rb,0.59715e-01_rb,0.62263e-01_rb /) kao(:, 7, 6) = (/ & & 0.50856e-01_rb,0.52603e-01_rb,0.54414e-01_rb,0.56230e-01_rb,0.58483e-01_rb /) kao(:, 8, 6) = (/ & & 0.50528e-01_rb,0.52598e-01_rb,0.54634e-01_rb,0.56710e-01_rb,0.58872e-01_rb /) kao(:, 9, 6) = (/ & & 0.64616e-01_rb,0.65915e-01_rb,0.67210e-01_rb,0.68742e-01_rb,0.70092e-01_rb /) kao(:,10, 6) = (/ & & 0.11509e+00_rb,0.11448e+00_rb,0.11368e+00_rb,0.11348e+00_rb,0.11401e+00_rb /) kao(:,11, 6) = (/ & & 0.14266e+00_rb,0.13997e+00_rb,0.13810e+00_rb,0.13688e+00_rb,0.13622e+00_rb /) kao(:,12, 6) = (/ & & 0.14464e+00_rb,0.14198e+00_rb,0.13915e+00_rb,0.13789e+00_rb,0.13781e+00_rb /) kao(:,13, 6) = (/ & & 0.12550e+00_rb,0.12328e+00_rb,0.12173e+00_rb,0.12127e+00_rb,0.12078e+00_rb /) kao(:, 1, 7) = (/ & & 0.30825e+00_rb,0.31119e+00_rb,0.31335e+00_rb,0.31641e+00_rb,0.32024e+00_rb /) kao(:, 2, 7) = (/ & & 0.28100e+00_rb,0.28660e+00_rb,0.29192e+00_rb,0.29680e+00_rb,0.30014e+00_rb /) kao(:, 3, 7) = (/ & & 0.26374e+00_rb,0.27129e+00_rb,0.27887e+00_rb,0.28626e+00_rb,0.29478e+00_rb /) kao(:, 4, 7) = (/ & & 0.24539e+00_rb,0.25325e+00_rb,0.26070e+00_rb,0.26955e+00_rb,0.27794e+00_rb /) kao(:, 5, 7) = (/ & & 0.21737e+00_rb,0.22642e+00_rb,0.23531e+00_rb,0.24408e+00_rb,0.25322e+00_rb /) kao(:, 6, 7) = (/ & & 0.19066e+00_rb,0.19913e+00_rb,0.20834e+00_rb,0.21782e+00_rb,0.22698e+00_rb /) kao(:, 7, 7) = (/ & & 0.17386e+00_rb,0.18325e+00_rb,0.19211e+00_rb,0.20024e+00_rb,0.20881e+00_rb /) kao(:, 8, 7) = (/ & & 0.17625e+00_rb,0.18236e+00_rb,0.18905e+00_rb,0.19574e+00_rb,0.20193e+00_rb /) kao(:, 9, 7) = (/ & & 0.21820e+00_rb,0.22416e+00_rb,0.22986e+00_rb,0.23737e+00_rb,0.24518e+00_rb /) kao(:,10, 7) = (/ & & 0.33529e+00_rb,0.34302e+00_rb,0.35397e+00_rb,0.36397e+00_rb,0.37339e+00_rb /) kao(:,11, 7) = (/ & & 0.38474e+00_rb,0.39863e+00_rb,0.41168e+00_rb,0.42115e+00_rb,0.42917e+00_rb /) kao(:,12, 7) = (/ & & 0.38499e+00_rb,0.39580e+00_rb,0.40497e+00_rb,0.41279e+00_rb,0.42045e+00_rb /) kao(:,13, 7) = (/ & & 0.34291e+00_rb,0.35180e+00_rb,0.35970e+00_rb,0.36697e+00_rb,0.37460e+00_rb /) kao(:, 1, 8) = (/ & & 0.87131e+00_rb,0.87876e+00_rb,0.88509e+00_rb,0.89061e+00_rb,0.89432e+00_rb /) kao(:, 2, 8) = (/ & & 0.78963e+00_rb,0.79236e+00_rb,0.79978e+00_rb,0.80959e+00_rb,0.82163e+00_rb /) kao(:, 3, 8) = (/ & & 0.82479e+00_rb,0.82842e+00_rb,0.83069e+00_rb,0.83679e+00_rb,0.84334e+00_rb /) kao(:, 4, 8) = (/ & & 0.90877e+00_rb,0.91962e+00_rb,0.92466e+00_rb,0.93139e+00_rb,0.93904e+00_rb /) kao(:, 5, 8) = (/ & & 0.97131e+00_rb,0.99301e+00_rb,0.10095e+01_rb,0.10270e+01_rb,0.10371e+01_rb /) kao(:, 6, 8) = (/ & & 0.96984e+00_rb,0.10040e+01_rb,0.10393e+01_rb,0.10670e+01_rb,0.10990e+01_rb /) kao(:, 7, 8) = (/ & & 0.95686e+00_rb,0.10029e+01_rb,0.10449e+01_rb,0.10923e+01_rb,0.11334e+01_rb /) kao(:, 8, 8) = (/ & & 0.97227e+00_rb,0.10380e+01_rb,0.11014e+01_rb,0.11624e+01_rb,0.12218e+01_rb /) kao(:, 9, 8) = (/ & & 0.12290e+01_rb,0.13071e+01_rb,0.14005e+01_rb,0.15005e+01_rb,0.15980e+01_rb /) kao(:,10, 8) = (/ & & 0.17996e+01_rb,0.19304e+01_rb,0.20752e+01_rb,0.22219e+01_rb,0.23814e+01_rb /) kao(:,11, 8) = (/ & & 0.19289e+01_rb,0.20656e+01_rb,0.22166e+01_rb,0.23715e+01_rb,0.25386e+01_rb /) kao(:,12, 8) = (/ & & 0.18429e+01_rb,0.19765e+01_rb,0.21175e+01_rb,0.22722e+01_rb,0.24239e+01_rb /) kao(:,13, 8) = (/ & & 0.16420e+01_rb,0.17464e+01_rb,0.18635e+01_rb,0.19773e+01_rb,0.21012e+01_rb /) kao(:, 1, 9) = (/ & & 0.39892e+01_rb,0.40153e+01_rb,0.40324e+01_rb,0.40465e+01_rb,0.40524e+01_rb /) kao(:, 2, 9) = (/ & & 0.38871e+01_rb,0.39035e+01_rb,0.39123e+01_rb,0.39056e+01_rb,0.38966e+01_rb /) kao(:, 3, 9) = (/ & & 0.37883e+01_rb,0.37950e+01_rb,0.38080e+01_rb,0.37991e+01_rb,0.37826e+01_rb /) kao(:, 4, 9) = (/ & & 0.37778e+01_rb,0.37663e+01_rb,0.37745e+01_rb,0.37709e+01_rb,0.37556e+01_rb /) kao(:, 5, 9) = (/ & & 0.38757e+01_rb,0.38404e+01_rb,0.38539e+01_rb,0.39228e+01_rb,0.39777e+01_rb /) kao(:, 6, 9) = (/ & & 0.40990e+01_rb,0.41407e+01_rb,0.41745e+01_rb,0.42258e+01_rb,0.42574e+01_rb /) kao(:, 7, 9) = (/ & & 0.46288e+01_rb,0.46726e+01_rb,0.47096e+01_rb,0.47165e+01_rb,0.47374e+01_rb /) kao(:, 8, 9) = (/ & & 0.58432e+01_rb,0.58474e+01_rb,0.58608e+01_rb,0.58935e+01_rb,0.59261e+01_rb /) kao(:, 9, 9) = (/ & & 0.88685e+01_rb,0.88567e+01_rb,0.88137e+01_rb,0.87653e+01_rb,0.87262e+01_rb /) kao(:,10, 9) = (/ & & 0.10455e+02_rb,0.10242e+02_rb,0.10004e+02_rb,0.97643e+01_rb,0.95067e+01_rb /) kao(:,11, 9) = (/ & & 0.10240e+02_rb,0.99968e+01_rb,0.97347e+01_rb,0.94750e+01_rb,0.92006e+01_rb /) kao(:,12, 9) = (/ & & 0.10401e+02_rb,0.10165e+02_rb,0.99240e+01_rb,0.96656e+01_rb,0.94112e+01_rb /) kao(:,13, 9) = (/ & & 0.10764e+02_rb,0.10580e+02_rb,0.10381e+02_rb,0.10188e+02_rb,0.99802e+01_rb /) kao(:, 1,10) = (/ & & 0.10712e+02_rb,0.10575e+02_rb,0.10581e+02_rb,0.10556e+02_rb,0.10575e+02_rb /) kao(:, 2,10) = (/ & & 0.11144e+02_rb,0.11109e+02_rb,0.11034e+02_rb,0.11107e+02_rb,0.11138e+02_rb /) kao(:, 3,10) = (/ & & 0.12257e+02_rb,0.12112e+02_rb,0.11992e+02_rb,0.11951e+02_rb,0.12031e+02_rb /) kao(:, 4,10) = (/ & & 0.13040e+02_rb,0.13085e+02_rb,0.12882e+02_rb,0.12756e+02_rb,0.12737e+02_rb /) kao(:, 5,10) = (/ & & 0.13809e+02_rb,0.13771e+02_rb,0.13452e+02_rb,0.12567e+02_rb,0.12086e+02_rb /) kao(:, 6,10) = (/ & & 0.14608e+02_rb,0.13942e+02_rb,0.13365e+02_rb,0.13494e+02_rb,0.13762e+02_rb /) kao(:, 7,10) = (/ & & 0.14665e+02_rb,0.14685e+02_rb,0.15121e+02_rb,0.15602e+02_rb,0.15768e+02_rb /) kao(:, 8,10) = (/ & & 0.15612e+02_rb,0.16507e+02_rb,0.16644e+02_rb,0.16706e+02_rb,0.16696e+02_rb /) kao(:, 9,10) = (/ & & 0.15405e+02_rb,0.15874e+02_rb,0.16716e+02_rb,0.17957e+02_rb,0.17859e+02_rb /) kao(:,10,10) = (/ & & 0.19406e+00_rb,0.17932e+00_rb,0.16660e+00_rb,0.15558e+00_rb,0.14589e+00_rb /) kao(:,11,10) = (/ & & 0.27650e+00_rb,0.25556e+00_rb,0.23727e+00_rb,0.22182e+00_rb,0.20805e+00_rb /) kao(:,12,10) = (/ & & 0.29298e+00_rb,0.27044e+00_rb,0.25162e+00_rb,0.23497e+00_rb,0.22076e+00_rb /) kao(:,13,10) = (/ & & 0.24883e+00_rb,0.22985e+00_rb,0.21413e+00_rb,0.20012e+00_rb,0.18795e+00_rb /) kao(:, 1,11) = (/ & & 0.13650e+02_rb,0.13767e+02_rb,0.13771e+02_rb,0.13650e+02_rb,0.13663e+02_rb /) kao(:, 2,11) = (/ & & 0.15146e+02_rb,0.15253e+02_rb,0.15272e+02_rb,0.15152e+02_rb,0.15138e+02_rb /) kao(:, 3,11) = (/ & & 0.16834e+02_rb,0.17107e+02_rb,0.17158e+02_rb,0.17187e+02_rb,0.17057e+02_rb /) kao(:, 4,11) = (/ & & 0.19191e+02_rb,0.19144e+02_rb,0.19155e+02_rb,0.19247e+02_rb,0.19292e+02_rb /) kao(:, 5,11) = (/ & & 0.20953e+02_rb,0.21248e+02_rb,0.21186e+02_rb,0.21027e+02_rb,0.20703e+02_rb /) kao(:, 6,11) = (/ & & 0.22592e+02_rb,0.22192e+02_rb,0.22056e+02_rb,0.20972e+02_rb,0.19910e+02_rb /) kao(:, 7,11) = (/ & & 0.24652e+02_rb,0.23679e+02_rb,0.22339e+02_rb,0.21302e+02_rb,0.21697e+02_rb /) kao(:, 8,11) = (/ & & 0.22508e+02_rb,0.20438e+02_rb,0.20163e+02_rb,0.20628e+02_rb,0.20954e+02_rb /) kao(:, 9,11) = (/ & & 0.10264e+02_rb,0.85820e+01_rb,0.65270e+01_rb,0.38883e+01_rb,0.27974e+01_rb /) kao(:,10,11) = (/ & & 0.19324e+00_rb,0.17913e+00_rb,0.16619e+00_rb,0.15516e+00_rb,0.14524e+00_rb /) kao(:,11,11) = (/ & & 0.27573e+00_rb,0.25425e+00_rb,0.23627e+00_rb,0.22036e+00_rb,0.20639e+00_rb /) kao(:,12,11) = (/ & & 0.29224e+00_rb,0.26998e+00_rb,0.25055e+00_rb,0.23380e+00_rb,0.21908e+00_rb /) kao(:,13,11) = (/ & & 0.24964e+00_rb,0.23056e+00_rb,0.21391e+00_rb,0.19980e+00_rb,0.18698e+00_rb /) kao(:, 1,12) = (/ & & 0.17721e+02_rb,0.17805e+02_rb,0.17752e+02_rb,0.17857e+02_rb,0.17872e+02_rb /) kao(:, 2,12) = (/ & & 0.20222e+02_rb,0.20161e+02_rb,0.20267e+02_rb,0.20335e+02_rb,0.20254e+02_rb /) kao(:, 3,12) = (/ & & 0.23717e+02_rb,0.23414e+02_rb,0.23571e+02_rb,0.23552e+02_rb,0.23687e+02_rb /) kao(:, 4,12) = (/ & & 0.26876e+02_rb,0.26972e+02_rb,0.27155e+02_rb,0.26947e+02_rb,0.27025e+02_rb /) kao(:, 5,12) = (/ & & 0.30213e+02_rb,0.29978e+02_rb,0.30226e+02_rb,0.30477e+02_rb,0.30329e+02_rb /) kao(:, 6,12) = (/ & & 0.33660e+02_rb,0.33482e+02_rb,0.33159e+02_rb,0.32959e+02_rb,0.32299e+02_rb /) kao(:, 7,12) = (/ & & 0.35893e+02_rb,0.35649e+02_rb,0.35067e+02_rb,0.34565e+02_rb,0.32437e+02_rb /) kao(:, 8,12) = (/ & & 0.33426e+02_rb,0.33323e+02_rb,0.31984e+02_rb,0.29587e+02_rb,0.27505e+02_rb /) kao(:, 9,12) = (/ & & 0.46633e-01_rb,0.43205e-01_rb,0.40562e-01_rb,0.38133e-01_rb,0.35900e-01_rb /) kao(:,10,12) = (/ & & 0.19421e+00_rb,0.18024e+00_rb,0.16872e+00_rb,0.15815e+00_rb,0.14837e+00_rb /) kao(:,11,12) = (/ & & 0.27315e+00_rb,0.25480e+00_rb,0.23771e+00_rb,0.22191e+00_rb,0.20780e+00_rb /) kao(:,12,12) = (/ & & 0.29027e+00_rb,0.26969e+00_rb,0.25017e+00_rb,0.23314e+00_rb,0.21774e+00_rb /) kao(:,13,12) = (/ & & 0.24833e+00_rb,0.22943e+00_rb,0.21278e+00_rb,0.19800e+00_rb,0.18543e+00_rb /) kao(:, 1,13) = (/ & & 0.29672e+02_rb,0.29291e+02_rb,0.29191e+02_rb,0.29170e+02_rb,0.29116e+02_rb /) kao(:, 2,13) = (/ & & 0.24713e+02_rb,0.24965e+02_rb,0.25039e+02_rb,0.25355e+02_rb,0.25650e+02_rb /) kao(:, 3,13) = (/ & & 0.30510e+02_rb,0.31166e+02_rb,0.30663e+02_rb,0.31021e+02_rb,0.30901e+02_rb /) kao(:, 4,13) = (/ & & 0.38695e+02_rb,0.38922e+02_rb,0.38741e+02_rb,0.39204e+02_rb,0.38826e+02_rb /) kao(:, 5,13) = (/ & & 0.45118e+02_rb,0.44337e+02_rb,0.43664e+02_rb,0.43267e+02_rb,0.43524e+02_rb /) kao(:, 6,13) = (/ & & 0.34652e+02_rb,0.35182e+02_rb,0.35339e+02_rb,0.35340e+02_rb,0.35899e+02_rb /) kao(:, 7,13) = (/ & & 0.18801e+02_rb,0.18598e+02_rb,0.18855e+02_rb,0.18819e+02_rb,0.19052e+02_rb /) kao(:, 8,13) = (/ & & 0.12297e-01_rb,0.11425e-01_rb,0.10670e-01_rb,0.99994e-02_rb,0.94139e-02_rb /) kao(:, 9,13) = (/ & & 0.46821e-01_rb,0.43361e-01_rb,0.40368e-01_rb,0.37752e-01_rb,0.35493e-01_rb /) kao(:,10,13) = (/ & & 0.19817e+00_rb,0.18303e+00_rb,0.17002e+00_rb,0.15883e+00_rb,0.14933e+00_rb /) kao(:,11,13) = (/ & & 0.28145e+00_rb,0.25995e+00_rb,0.24181e+00_rb,0.22660e+00_rb,0.21326e+00_rb /) kao(:,12,13) = (/ & & 0.29510e+00_rb,0.27294e+00_rb,0.25519e+00_rb,0.23947e+00_rb,0.22551e+00_rb /) kao(:,13,13) = (/ & & 0.24830e+00_rb,0.23074e+00_rb,0.21556e+00_rb,0.20226e+00_rb,0.19029e+00_rb /) kao(:, 1,14) = (/ & & 0.47168e+02_rb,0.46890e+02_rb,0.46612e+02_rb,0.46353e+02_rb,0.46088e+02_rb /) kao(:, 2,14) = (/ & & 0.47771e+02_rb,0.46980e+02_rb,0.46445e+02_rb,0.45828e+02_rb,0.45437e+02_rb /) kao(:, 3,14) = (/ & & 0.42946e+02_rb,0.42652e+02_rb,0.43791e+02_rb,0.43237e+02_rb,0.44104e+02_rb /) kao(:, 4,14) = (/ & & 0.30957e+02_rb,0.30098e+02_rb,0.30055e+02_rb,0.29555e+02_rb,0.29902e+02_rb /) kao(:, 5,14) = (/ & & 0.28397e+01_rb,0.38572e+01_rb,0.42906e+01_rb,0.47091e+01_rb,0.48135e+01_rb /) kao(:, 6,14) = (/ & & 0.36978e-02_rb,0.34591e-02_rb,0.32524e-02_rb,0.30649e-02_rb,0.29018e-02_rb /) kao(:, 7,14) = (/ & & 0.61733e-02_rb,0.57589e-02_rb,0.53925e-02_rb,0.50742e-02_rb,0.47835e-02_rb /) kao(:, 8,14) = (/ & & 0.12390e-01_rb,0.11526e-01_rb,0.10766e-01_rb,0.10096e-01_rb,0.95010e-02_rb /) kao(:, 9,14) = (/ & & 0.47105e-01_rb,0.43648e-01_rb,0.40665e-01_rb,0.38054e-01_rb,0.35722e-01_rb /) kao(:,10,14) = (/ & & 0.19915e+00_rb,0.18412e+00_rb,0.17099e+00_rb,0.15957e+00_rb,0.14948e+00_rb /) kao(:,11,14) = (/ & & 0.28280e+00_rb,0.26124e+00_rb,0.24266e+00_rb,0.22645e+00_rb,0.21214e+00_rb /) kao(:,12,14) = (/ & & 0.29891e+00_rb,0.27613e+00_rb,0.25648e+00_rb,0.23927e+00_rb,0.22423e+00_rb /) kao(:,13,14) = (/ & & 0.25421e+00_rb,0.23484e+00_rb,0.21809e+00_rb,0.20347e+00_rb,0.19057e+00_rb /) kao(:, 1,15) = (/ & & 0.64994e+02_rb,0.64283e+02_rb,0.63755e+02_rb,0.63407e+02_rb,0.63287e+02_rb /) kao(:, 2,15) = (/ & & 0.78266e+02_rb,0.77364e+02_rb,0.76722e+02_rb,0.76285e+02_rb,0.75992e+02_rb /) kao(:, 3,15) = (/ & & 0.41710e+02_rb,0.38379e+02_rb,0.35076e+02_rb,0.35418e+02_rb,0.33306e+02_rb /) kao(:, 4,15) = (/ & & 0.14170e-02_rb,0.13401e-02_rb,0.12716e-02_rb,0.12073e-02_rb,0.11535e-02_rb /) kao(:, 5,15) = (/ & & 0.23659e-02_rb,0.22261e-02_rb,0.21042e-02_rb,0.19950e-02_rb,0.18970e-02_rb /) kao(:, 6,15) = (/ & & 0.37432e-02_rb,0.35105e-02_rb,0.33006e-02_rb,0.31222e-02_rb,0.29521e-02_rb /) kao(:, 7,15) = (/ & & 0.62408e-02_rb,0.58258e-02_rb,0.54782e-02_rb,0.51594e-02_rb,0.48767e-02_rb /) kao(:, 8,15) = (/ & & 0.12522e-01_rb,0.11652e-01_rb,0.10922e-01_rb,0.10265e-01_rb,0.96672e-02_rb /) kao(:, 9,15) = (/ & & 0.47545e-01_rb,0.44152e-01_rb,0.41251e-01_rb,0.38666e-01_rb,0.36358e-01_rb /) kao(:,10,15) = (/ & & 0.20097e+00_rb,0.18592e+00_rb,0.17341e+00_rb,0.16203e+00_rb,0.15235e+00_rb /) kao(:,11,15) = (/ & & 0.28499e+00_rb,0.26428e+00_rb,0.24585e+00_rb,0.22980e+00_rb,0.21575e+00_rb /) kao(:,12,15) = (/ & & 0.30172e+00_rb,0.27929e+00_rb,0.25980e+00_rb,0.24306e+00_rb,0.22789e+00_rb /) kao(:,13,15) = (/ & & 0.25655e+00_rb,0.23731e+00_rb,0.22092e+00_rb,0.20639e+00_rb,0.19367e+00_rb /) kao(:, 1,16) = (/ & & 0.80810e+02_rb,0.81099e+02_rb,0.81190e+02_rb,0.81107e+02_rb,0.80989e+02_rb /) kao(:, 2,16) = (/ & & 0.99319e+02_rb,0.99708e+02_rb,0.99822e+02_rb,0.99871e+02_rb,0.99993e+02_rb /) kao(:, 3,16) = (/ & & 0.46927e+02_rb,0.54316e+02_rb,0.57355e+02_rb,0.53715e+02_rb,0.52802e+02_rb /) kao(:, 4,16) = (/ & & 0.12802e-02_rb,0.12027e-02_rb,0.11386e-02_rb,0.10866e-02_rb,0.10525e-02_rb /) kao(:, 5,16) = (/ & & 0.21675e-02_rb,0.20715e-02_rb,0.19422e-02_rb,0.18402e-02_rb,0.17681e-02_rb /) kao(:, 6,16) = (/ & & 0.34707e-02_rb,0.32796e-02_rb,0.30986e-02_rb,0.29246e-02_rb,0.28034e-02_rb /) kao(:, 7,16) = (/ & & 0.58659e-02_rb,0.55310e-02_rb,0.51820e-02_rb,0.48829e-02_rb,0.46784e-02_rb /) kao(:, 8,16) = (/ & & 0.11875e-01_rb,0.11183e-01_rb,0.10438e-01_rb,0.98038e-02_rb,0.93665e-02_rb /) kao(:, 9,16) = (/ & & 0.45519e-01_rb,0.42850e-01_rb,0.39715e-01_rb,0.37447e-01_rb,0.35369e-01_rb /) kao(:,10,16) = (/ & & 0.19392e+00_rb,0.18108e+00_rb,0.16817e+00_rb,0.15883e+00_rb,0.14864e+00_rb /) kao(:,11,16) = (/ & & 0.27830e+00_rb,0.25715e+00_rb,0.24100e+00_rb,0.22595e+00_rb,0.21321e+00_rb /) kao(:,12,16) = (/ & & 0.29533e+00_rb,0.27422e+00_rb,0.25636e+00_rb,0.23936e+00_rb,0.22658e+00_rb /) kao(:,13,16) = (/ & & 0.25310e+00_rb,0.23535e+00_rb,0.21855e+00_rb,0.20552e+00_rb,0.19293e+00_rb /) ! ----------------------------------------------------------------- ! The array KBO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels < ~100mb and temperatures. The first ! index in the array, JT, which runs from 1 to 5, corresponds to ! different temperatures. More specifically, JT = 3 means that the ! data are for the reference temperature TREF for this pressure ! level, JT = 2 refers to the temperature TREF-15, JT = 1 is for ! TREF-30, JT = 4 is for TREF+15, and JT = 5 is for TREF+30. ! The second index, JP, runs from 13 to 59 and refers to the JPth ! reference pressure level (see taumol.f for the value of these ! pressure levels in mb). The third index, IG, goes from 1 to 16, ! and tells us which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kbo(:,13, 1) = (/ & & 0.18379e-05_rb,0.23296e-05_rb,0.29007e-05_rb,0.35902e-05_rb,0.43437e-05_rb /) kbo(:,14, 1) = (/ & & 0.15919e-05_rb,0.19832e-05_rb,0.24720e-05_rb,0.30683e-05_rb,0.37253e-05_rb /) kbo(:,15, 1) = (/ & & 0.13850e-05_rb,0.17115e-05_rb,0.21225e-05_rb,0.26292e-05_rb,0.31945e-05_rb /) kbo(:,16, 1) = (/ & & 0.11896e-05_rb,0.14680e-05_rb,0.18142e-05_rb,0.22537e-05_rb,0.27284e-05_rb /) kbo(:,17, 1) = (/ & & 0.10228e-05_rb,0.12597e-05_rb,0.15532e-05_rb,0.19272e-05_rb,0.23163e-05_rb /) kbo(:,18, 1) = (/ & & 0.88243e-06_rb,0.10835e-05_rb,0.13316e-05_rb,0.16603e-05_rb,0.19808e-05_rb /) kbo(:,19, 1) = (/ & & 0.75677e-06_rb,0.92925e-06_rb,0.11401e-05_rb,0.14107e-05_rb,0.16901e-05_rb /) kbo(:,20, 1) = (/ & & 0.64614e-06_rb,0.79361e-06_rb,0.97353e-06_rb,0.11964e-05_rb,0.14414e-05_rb /) kbo(:,21, 1) = (/ & & 0.55323e-06_rb,0.67580e-06_rb,0.82647e-06_rb,0.10137e-05_rb,0.12318e-05_rb /) kbo(:,22, 1) = (/ & & 0.47719e-06_rb,0.58149e-06_rb,0.71060e-06_rb,0.87005e-06_rb,0.10605e-05_rb /) kbo(:,23, 1) = (/ & & 0.41128e-06_rb,0.50080e-06_rb,0.61104e-06_rb,0.75347e-06_rb,0.91200e-06_rb /) kbo(:,24, 1) = (/ & & 0.35306e-06_rb,0.42860e-06_rb,0.52320e-06_rb,0.65156e-06_rb,0.78122e-06_rb /) kbo(:,25, 1) = (/ & & 0.30363e-06_rb,0.36731e-06_rb,0.44673e-06_rb,0.56097e-06_rb,0.66791e-06_rb /) kbo(:,26, 1) = (/ & & 0.26073e-06_rb,0.31537e-06_rb,0.38738e-06_rb,0.48210e-06_rb,0.57382e-06_rb /) kbo(:,27, 1) = (/ & & 0.22303e-06_rb,0.26986e-06_rb,0.33628e-06_rb,0.41161e-06_rb,0.48722e-06_rb /) kbo(:,28, 1) = (/ & & 0.18954e-06_rb,0.22952e-06_rb,0.28797e-06_rb,0.35166e-06_rb,0.41440e-06_rb /) kbo(:,29, 1) = (/ & & 0.16106e-06_rb,0.19430e-06_rb,0.24661e-06_rb,0.29815e-06_rb,0.35151e-06_rb /) kbo(:,30, 1) = (/ & & 0.13630e-06_rb,0.16528e-06_rb,0.20922e-06_rb,0.25193e-06_rb,0.29913e-06_rb /) kbo(:,31, 1) = (/ & & 0.11504e-06_rb,0.14276e-06_rb,0.17807e-06_rb,0.21482e-06_rb,0.25451e-06_rb /) kbo(:,32, 1) = (/ & & 0.96980e-07_rb,0.12215e-06_rb,0.15159e-06_rb,0.18179e-06_rb,0.21515e-06_rb /) kbo(:,33, 1) = (/ & & 0.81598e-07_rb,0.10315e-06_rb,0.12730e-06_rb,0.15190e-06_rb,0.18093e-06_rb /) kbo(:,34, 1) = (/ & & 0.67700e-07_rb,0.85970e-07_rb,0.10559e-06_rb,0.12608e-06_rb,0.15006e-06_rb /) kbo(:,35, 1) = (/ & & 0.55177e-07_rb,0.69519e-07_rb,0.85967e-07_rb,0.10223e-06_rb,0.12147e-06_rb /) kbo(:,36, 1) = (/ & & 0.43924e-07_rb,0.54395e-07_rb,0.67998e-07_rb,0.81142e-07_rb,0.95717e-07_rb /) kbo(:,37, 1) = (/ & & 0.34469e-07_rb,0.41036e-07_rb,0.52575e-07_rb,0.63117e-07_rb,0.74301e-07_rb /) kbo(:,38, 1) = (/ & & 0.26777e-07_rb,0.31734e-07_rb,0.40555e-07_rb,0.49032e-07_rb,0.57653e-07_rb /) kbo(:,39, 1) = (/ & & 0.20670e-07_rb,0.24721e-07_rb,0.30685e-07_rb,0.37873e-07_rb,0.44555e-07_rb /) kbo(:,40, 1) = (/ & & 0.15860e-07_rb,0.19032e-07_rb,0.22612e-07_rb,0.28845e-07_rb,0.34246e-07_rb /) kbo(:,41, 1) = (/ & & 0.12129e-07_rb,0.14603e-07_rb,0.17357e-07_rb,0.21851e-07_rb,0.26346e-07_rb /) kbo(:,42, 1) = (/ & & 0.92319e-08_rb,0.11199e-07_rb,0.13365e-07_rb,0.16174e-07_rb,0.20019e-07_rb /) kbo(:,43, 1) = (/ & & 0.69289e-08_rb,0.84537e-08_rb,0.10159e-07_rb,0.11992e-07_rb,0.14940e-07_rb /) kbo(:,44, 1) = (/ & & 0.51546e-08_rb,0.63380e-08_rb,0.76593e-08_rb,0.90562e-08_rb,0.10716e-07_rb /) kbo(:,45, 1) = (/ & & 0.38335e-08_rb,0.47085e-08_rb,0.57219e-08_rb,0.68148e-08_rb,0.79518e-08_rb /) kbo(:,46, 1) = (/ & & 0.28583e-08_rb,0.34724e-08_rb,0.42447e-08_rb,0.50888e-08_rb,0.59494e-08_rb /) kbo(:,47, 1) = (/ & & 0.20945e-08_rb,0.25418e-08_rb,0.31058e-08_rb,0.37494e-08_rb,0.44274e-08_rb /) kbo(:,48, 1) = (/ & & 0.15164e-08_rb,0.18560e-08_rb,0.22628e-08_rb,0.27371e-08_rb,0.32773e-08_rb /) kbo(:,49, 1) = (/ & & 0.10916e-08_rb,0.13465e-08_rb,0.16387e-08_rb,0.19740e-08_rb,0.23865e-08_rb /) kbo(:,50, 1) = (/ & & 0.78324e-09_rb,0.98361e-09_rb,0.11977e-08_rb,0.14517e-08_rb,0.17457e-08_rb /) kbo(:,51, 1) = (/ & & 0.57263e-09_rb,0.71786e-09_rb,0.87689e-09_rb,0.10705e-08_rb,0.12881e-08_rb /) kbo(:,52, 1) = (/ & & 0.41574e-09_rb,0.51264e-09_rb,0.64152e-09_rb,0.78315e-09_rb,0.94705e-09_rb /) kbo(:,53, 1) = (/ & & 0.29940e-09_rb,0.36836e-09_rb,0.45886e-09_rb,0.56405e-09_rb,0.69166e-09_rb /) kbo(:,54, 1) = (/ & & 0.22617e-09_rb,0.27395e-09_rb,0.33754e-09_rb,0.42095e-09_rb,0.51544e-09_rb /) kbo(:,55, 1) = (/ & & 0.17483e-09_rb,0.20845e-09_rb,0.25546e-09_rb,0.31817e-09_rb,0.39119e-09_rb /) kbo(:,56, 1) = (/ & & 0.13496e-09_rb,0.15930e-09_rb,0.19380e-09_rb,0.23861e-09_rb,0.29770e-09_rb /) kbo(:,57, 1) = (/ & & 0.10406e-09_rb,0.12247e-09_rb,0.14749e-09_rb,0.18078e-09_rb,0.22597e-09_rb /) kbo(:,58, 1) = (/ & & 0.81345e-10_rb,0.94816e-10_rb,0.11329e-09_rb,0.13832e-09_rb,0.17161e-09_rb /) kbo(:,59, 1) = (/ & & 0.67159e-10_rb,0.78312e-10_rb,0.94745e-10_rb,0.11544e-09_rb,0.14442e-09_rb /) kbo(:,13, 2) = (/ & & 0.16654e-04_rb,0.18728e-04_rb,0.21238e-04_rb,0.24491e-04_rb,0.29038e-04_rb /) kbo(:,14, 2) = (/ & & 0.15636e-04_rb,0.17574e-04_rb,0.19918e-04_rb,0.23671e-04_rb,0.27237e-04_rb /) kbo(:,15, 2) = (/ & & 0.14853e-04_rb,0.16629e-04_rb,0.19700e-04_rb,0.22604e-04_rb,0.25586e-04_rb /) kbo(:,16, 2) = (/ & & 0.13519e-04_rb,0.15923e-04_rb,0.18289e-04_rb,0.20530e-04_rb,0.22799e-04_rb /) kbo(:,17, 2) = (/ & & 0.12411e-04_rb,0.14439e-04_rb,0.16431e-04_rb,0.18235e-04_rb,0.20109e-04_rb /) kbo(:,18, 2) = (/ & & 0.11267e-04_rb,0.12880e-04_rb,0.14429e-04_rb,0.16005e-04_rb,0.17538e-04_rb /) kbo(:,19, 2) = (/ & & 0.10025e-04_rb,0.11332e-04_rb,0.12550e-04_rb,0.13853e-04_rb,0.15103e-04_rb /) kbo(:,20, 2) = (/ & & 0.86342e-05_rb,0.97455e-05_rb,0.10778e-04_rb,0.11898e-04_rb,0.12789e-04_rb /) kbo(:,21, 2) = (/ & & 0.74004e-05_rb,0.83107e-05_rb,0.91633e-05_rb,0.10071e-04_rb,0.10674e-04_rb /) kbo(:,22, 2) = (/ & & 0.63700e-05_rb,0.70549e-05_rb,0.78271e-05_rb,0.85170e-05_rb,0.90022e-05_rb /) kbo(:,23, 2) = (/ & & 0.54404e-05_rb,0.60156e-05_rb,0.66393e-05_rb,0.71320e-05_rb,0.75007e-05_rb /) kbo(:,24, 2) = (/ & & 0.45997e-05_rb,0.50718e-05_rb,0.55713e-05_rb,0.59455e-05_rb,0.62118e-05_rb /) kbo(:,25, 2) = (/ & & 0.38745e-05_rb,0.42617e-05_rb,0.46479e-05_rb,0.49297e-05_rb,0.51638e-05_rb /) kbo(:,26, 2) = (/ & & 0.32488e-05_rb,0.35592e-05_rb,0.38685e-05_rb,0.40759e-05_rb,0.43092e-05_rb /) kbo(:,27, 2) = (/ & & 0.26995e-05_rb,0.29601e-05_rb,0.32065e-05_rb,0.33666e-05_rb,0.35609e-05_rb /) kbo(:,28, 2) = (/ & & 0.22359e-05_rb,0.24429e-05_rb,0.26408e-05_rb,0.27752e-05_rb,0.29293e-05_rb /) kbo(:,29, 2) = (/ & & 0.18487e-05_rb,0.20089e-05_rb,0.21668e-05_rb,0.22793e-05_rb,0.24029e-05_rb /) kbo(:,30, 2) = (/ & & 0.15291e-05_rb,0.16589e-05_rb,0.17733e-05_rb,0.18706e-05_rb,0.19584e-05_rb /) kbo(:,31, 2) = (/ & & 0.12554e-05_rb,0.13589e-05_rb,0.14436e-05_rb,0.15195e-05_rb,0.15928e-05_rb /) kbo(:,32, 2) = (/ & & 0.10248e-05_rb,0.11046e-05_rb,0.11716e-05_rb,0.12288e-05_rb,0.12916e-05_rb /) kbo(:,33, 2) = (/ & & 0.83272e-06_rb,0.89120e-06_rb,0.95036e-06_rb,0.99040e-06_rb,0.10409e-05_rb /) kbo(:,34, 2) = (/ & & 0.67518e-06_rb,0.72097e-06_rb,0.76854e-06_rb,0.80246e-06_rb,0.83912e-06_rb /) kbo(:,35, 2) = (/ & & 0.53577e-06_rb,0.57870e-06_rb,0.61715e-06_rb,0.64987e-06_rb,0.67220e-06_rb /) kbo(:,36, 2) = (/ & & 0.42402e-06_rb,0.45825e-06_rb,0.49307e-06_rb,0.52005e-06_rb,0.54029e-06_rb /) kbo(:,37, 2) = (/ & & 0.33419e-06_rb,0.36213e-06_rb,0.38911e-06_rb,0.41359e-06_rb,0.43177e-06_rb /) kbo(:,38, 2) = (/ & & 0.26240e-06_rb,0.28355e-06_rb,0.30530e-06_rb,0.32881e-06_rb,0.34617e-06_rb /) kbo(:,39, 2) = (/ & & 0.20468e-06_rb,0.22245e-06_rb,0.23980e-06_rb,0.25776e-06_rb,0.27424e-06_rb /) kbo(:,40, 2) = (/ & & 0.16070e-06_rb,0.17478e-06_rb,0.18856e-06_rb,0.20230e-06_rb,0.21801e-06_rb /) kbo(:,41, 2) = (/ & & 0.12583e-06_rb,0.13680e-06_rb,0.14851e-06_rb,0.15917e-06_rb,0.17184e-06_rb /) kbo(:,42, 2) = (/ & & 0.98494e-07_rb,0.10639e-06_rb,0.11634e-06_rb,0.12500e-06_rb,0.13490e-06_rb /) kbo(:,43, 2) = (/ & & 0.75196e-07_rb,0.82809e-07_rb,0.90095e-07_rb,0.97952e-07_rb,0.10509e-06_rb /) kbo(:,44, 2) = (/ & & 0.57305e-07_rb,0.63787e-07_rb,0.69227e-07_rb,0.75635e-07_rb,0.81687e-07_rb /) kbo(:,45, 2) = (/ & & 0.42965e-07_rb,0.48245e-07_rb,0.53346e-07_rb,0.58061e-07_rb,0.63120e-07_rb /) kbo(:,46, 2) = (/ & & 0.31048e-07_rb,0.36457e-07_rb,0.40514e-07_rb,0.44557e-07_rb,0.48550e-07_rb /) kbo(:,47, 2) = (/ & & 0.23094e-07_rb,0.26356e-07_rb,0.30443e-07_rb,0.33954e-07_rb,0.36789e-07_rb /) kbo(:,48, 2) = (/ & & 0.16858e-07_rb,0.19402e-07_rb,0.22449e-07_rb,0.25401e-07_rb,0.28254e-07_rb /) kbo(:,49, 2) = (/ & & 0.11413e-07_rb,0.14055e-07_rb,0.16046e-07_rb,0.18927e-07_rb,0.21080e-07_rb /) kbo(:,50, 2) = (/ & & 0.78650e-08_rb,0.99879e-08_rb,0.11846e-07_rb,0.13654e-07_rb,0.15871e-07_rb /) kbo(:,51, 2) = (/ & & 0.55417e-08_rb,0.68977e-08_rb,0.87006e-08_rb,0.10108e-07_rb,0.11829e-07_rb /) kbo(:,52, 2) = (/ & & 0.39143e-08_rb,0.48025e-08_rb,0.60180e-08_rb,0.73762e-08_rb,0.85851e-08_rb /) kbo(:,53, 2) = (/ & & 0.27637e-08_rb,0.33397e-08_rb,0.41996e-08_rb,0.52787e-08_rb,0.62923e-08_rb /) kbo(:,54, 2) = (/ & & 0.19691e-08_rb,0.24529e-08_rb,0.30071e-08_rb,0.38041e-08_rb,0.46981e-08_rb /) kbo(:,55, 2) = (/ & & 0.13034e-08_rb,0.18257e-08_rb,0.22359e-08_rb,0.28210e-08_rb,0.35386e-08_rb /) kbo(:,56, 2) = (/ & & 0.10026e-08_rb,0.13422e-08_rb,0.16687e-08_rb,0.20793e-08_rb,0.26054e-08_rb /) kbo(:,57, 2) = (/ & & 0.77730e-09_rb,0.91190e-09_rb,0.12468e-08_rb,0.15302e-08_rb,0.19418e-08_rb /) kbo(:,58, 2) = (/ & & 0.60359e-09_rb,0.67848e-09_rb,0.92414e-09_rb,0.11511e-08_rb,0.14401e-08_rb /) kbo(:,59, 2) = (/ & & 0.50441e-09_rb,0.56797e-09_rb,0.77369e-09_rb,0.95612e-09_rb,0.11957e-08_rb /) kbo(:,13, 3) = (/ & & 0.98124e-04_rb,0.10149e-03_rb,0.10303e-03_rb,0.10669e-03_rb,0.10870e-03_rb /) kbo(:,14, 3) = (/ & & 0.88110e-04_rb,0.89730e-04_rb,0.90679e-04_rb,0.91892e-04_rb,0.91413e-04_rb /) kbo(:,15, 3) = (/ & & 0.78555e-04_rb,0.78633e-04_rb,0.79145e-04_rb,0.77689e-04_rb,0.77791e-04_rb /) kbo(:,16, 3) = (/ & & 0.67245e-04_rb,0.67743e-04_rb,0.66690e-04_rb,0.65765e-04_rb,0.65950e-04_rb /) kbo(:,17, 3) = (/ & & 0.57553e-04_rb,0.57490e-04_rb,0.56012e-04_rb,0.55634e-04_rb,0.56016e-04_rb /) kbo(:,18, 3) = (/ & & 0.49729e-04_rb,0.48302e-04_rb,0.47418e-04_rb,0.47262e-04_rb,0.47732e-04_rb /) kbo(:,19, 3) = (/ & & 0.42101e-04_rb,0.40906e-04_rb,0.40541e-04_rb,0.40229e-04_rb,0.40671e-04_rb /) kbo(:,20, 3) = (/ & & 0.35046e-04_rb,0.34193e-04_rb,0.34032e-04_rb,0.33881e-04_rb,0.34691e-04_rb /) kbo(:,21, 3) = (/ & & 0.29192e-04_rb,0.28813e-04_rb,0.28525e-04_rb,0.28485e-04_rb,0.29764e-04_rb /) kbo(:,22, 3) = (/ & & 0.24212e-04_rb,0.23970e-04_rb,0.23804e-04_rb,0.23947e-04_rb,0.24310e-04_rb /) kbo(:,23, 3) = (/ & & 0.20167e-04_rb,0.19961e-04_rb,0.19837e-04_rb,0.20528e-04_rb,0.19887e-04_rb /) kbo(:,24, 3) = (/ & & 0.16817e-04_rb,0.16624e-04_rb,0.16525e-04_rb,0.17263e-04_rb,0.16481e-04_rb /) kbo(:,25, 3) = (/ & & 0.13896e-04_rb,0.13806e-04_rb,0.13810e-04_rb,0.14348e-04_rb,0.13634e-04_rb /) kbo(:,26, 3) = (/ & & 0.11515e-04_rb,0.11474e-04_rb,0.11553e-04_rb,0.11705e-04_rb,0.11167e-04_rb /) kbo(:,27, 3) = (/ & & 0.95004e-05_rb,0.94543e-05_rb,0.95650e-05_rb,0.95316e-05_rb,0.91651e-05_rb /) kbo(:,28, 3) = (/ & & 0.78135e-05_rb,0.77862e-05_rb,0.78715e-05_rb,0.77825e-05_rb,0.74877e-05_rb /) kbo(:,29, 3) = (/ & & 0.63615e-05_rb,0.63601e-05_rb,0.64198e-05_rb,0.63507e-05_rb,0.61200e-05_rb /) kbo(:,30, 3) = (/ & & 0.51738e-05_rb,0.51781e-05_rb,0.52250e-05_rb,0.51709e-05_rb,0.50243e-05_rb /) kbo(:,31, 3) = (/ & & 0.41825e-05_rb,0.42240e-05_rb,0.42510e-05_rb,0.42241e-05_rb,0.41058e-05_rb /) kbo(:,32, 3) = (/ & & 0.34024e-05_rb,0.34302e-05_rb,0.34514e-05_rb,0.34436e-05_rb,0.33474e-05_rb /) kbo(:,33, 3) = (/ & & 0.27510e-05_rb,0.27828e-05_rb,0.28059e-05_rb,0.28125e-05_rb,0.27394e-05_rb /) kbo(:,34, 3) = (/ & & 0.22195e-05_rb,0.22517e-05_rb,0.22743e-05_rb,0.22728e-05_rb,0.22254e-05_rb /) kbo(:,35, 3) = (/ & & 0.18029e-05_rb,0.18238e-05_rb,0.18432e-05_rb,0.18461e-05_rb,0.18241e-05_rb /) kbo(:,36, 3) = (/ & & 0.14477e-05_rb,0.14734e-05_rb,0.14936e-05_rb,0.15116e-05_rb,0.14874e-05_rb /) kbo(:,37, 3) = (/ & & 0.11637e-05_rb,0.11929e-05_rb,0.12098e-05_rb,0.12265e-05_rb,0.12076e-05_rb /) kbo(:,38, 3) = (/ & & 0.93292e-06_rb,0.96246e-06_rb,0.98169e-06_rb,0.99435e-06_rb,0.98749e-06_rb /) kbo(:,39, 3) = (/ & & 0.74927e-06_rb,0.76742e-06_rb,0.79020e-06_rb,0.80604e-06_rb,0.81415e-06_rb /) kbo(:,40, 3) = (/ & & 0.60479e-06_rb,0.61743e-06_rb,0.63973e-06_rb,0.65295e-06_rb,0.66261e-06_rb /) kbo(:,41, 3) = (/ & & 0.48450e-06_rb,0.49742e-06_rb,0.51366e-06_rb,0.52876e-06_rb,0.53813e-06_rb /) kbo(:,42, 3) = (/ & & 0.38298e-06_rb,0.40088e-06_rb,0.41192e-06_rb,0.42651e-06_rb,0.43595e-06_rb /) kbo(:,43, 3) = (/ & & 0.30310e-06_rb,0.31905e-06_rb,0.32907e-06_rb,0.34154e-06_rb,0.35007e-06_rb /) kbo(:,44, 3) = (/ & & 0.23745e-06_rb,0.25035e-06_rb,0.26224e-06_rb,0.27145e-06_rb,0.28146e-06_rb /) kbo(:,45, 3) = (/ & & 0.18653e-06_rb,0.19510e-06_rb,0.20644e-06_rb,0.21510e-06_rb,0.22354e-06_rb /) kbo(:,46, 3) = (/ & & 0.14759e-06_rb,0.15322e-06_rb,0.16145e-06_rb,0.17034e-06_rb,0.17744e-06_rb /) kbo(:,47, 3) = (/ & & 0.11410e-06_rb,0.12007e-06_rb,0.12507e-06_rb,0.13237e-06_rb,0.13995e-06_rb /) kbo(:,48, 3) = (/ & & 0.88327e-07_rb,0.93967e-07_rb,0.97683e-07_rb,0.10257e-06_rb,0.10921e-06_rb /) kbo(:,49, 3) = (/ & & 0.66715e-07_rb,0.72172e-07_rb,0.76442e-07_rb,0.79214e-07_rb,0.84006e-07_rb /) kbo(:,50, 3) = (/ & & 0.51458e-07_rb,0.55761e-07_rb,0.59239e-07_rb,0.62292e-07_rb,0.64470e-07_rb /) kbo(:,51, 3) = (/ & & 0.39957e-07_rb,0.42400e-07_rb,0.45870e-07_rb,0.48592e-07_rb,0.50287e-07_rb /) kbo(:,52, 3) = (/ & & 0.31150e-07_rb,0.32725e-07_rb,0.35598e-07_rb,0.37633e-07_rb,0.39607e-07_rb /) kbo(:,53, 3) = (/ & & 0.23783e-07_rb,0.25415e-07_rb,0.26634e-07_rb,0.28885e-07_rb,0.30620e-07_rb /) kbo(:,54, 3) = (/ & & 0.18531e-07_rb,0.19938e-07_rb,0.20988e-07_rb,0.22678e-07_rb,0.23867e-07_rb /) kbo(:,55, 3) = (/ & & 0.14810e-07_rb,0.15772e-07_rb,0.16651e-07_rb,0.17727e-07_rb,0.18861e-07_rb /) kbo(:,56, 3) = (/ & & 0.11652e-07_rb,0.12557e-07_rb,0.13319e-07_rb,0.13930e-07_rb,0.15077e-07_rb /) kbo(:,57, 3) = (/ & & 0.91523e-08_rb,0.99835e-08_rb,0.10603e-07_rb,0.11081e-07_rb,0.11999e-07_rb /) kbo(:,58, 3) = (/ & & 0.72383e-08_rb,0.79060e-08_rb,0.84489e-08_rb,0.88615e-08_rb,0.94456e-08_rb /) kbo(:,59, 3) = (/ & & 0.60315e-08_rb,0.65931e-08_rb,0.71001e-08_rb,0.74012e-08_rb,0.78761e-08_rb /) kbo(:,13, 4) = (/ & & 0.21882e-03_rb,0.20968e-03_rb,0.18648e-03_rb,0.17505e-03_rb,0.17320e-03_rb /) kbo(:,14, 4) = (/ & & 0.19140e-03_rb,0.17026e-03_rb,0.15903e-03_rb,0.15552e-03_rb,0.16009e-03_rb /) kbo(:,15, 4) = (/ & & 0.16003e-03_rb,0.14531e-03_rb,0.14007e-03_rb,0.14511e-03_rb,0.14619e-03_rb /) kbo(:,16, 4) = (/ & & 0.13387e-03_rb,0.12423e-03_rb,0.12444e-03_rb,0.12743e-03_rb,0.12749e-03_rb /) kbo(:,17, 4) = (/ & & 0.11266e-03_rb,0.10780e-03_rb,0.11110e-03_rb,0.11051e-03_rb,0.11075e-03_rb /) kbo(:,18, 4) = (/ & & 0.96156e-04_rb,0.95617e-04_rb,0.96775e-04_rb,0.96220e-04_rb,0.96078e-04_rb /) kbo(:,19, 4) = (/ & & 0.82712e-04_rb,0.82946e-04_rb,0.83265e-04_rb,0.82827e-04_rb,0.82044e-04_rb /) kbo(:,20, 4) = (/ & & 0.71080e-04_rb,0.71167e-04_rb,0.71040e-04_rb,0.70443e-04_rb,0.69069e-04_rb /) kbo(:,21, 4) = (/ & & 0.60110e-04_rb,0.60836e-04_rb,0.59994e-04_rb,0.58992e-04_rb,0.57237e-04_rb /) kbo(:,22, 4) = (/ & & 0.50688e-04_rb,0.51296e-04_rb,0.50271e-04_rb,0.48889e-04_rb,0.48471e-04_rb /) kbo(:,23, 4) = (/ & & 0.42706e-04_rb,0.42628e-04_rb,0.41764e-04_rb,0.39999e-04_rb,0.40893e-04_rb /) kbo(:,24, 4) = (/ & & 0.35803e-04_rb,0.35316e-04_rb,0.34535e-04_rb,0.33229e-04_rb,0.34127e-04_rb /) kbo(:,25, 4) = (/ & & 0.29906e-04_rb,0.29201e-04_rb,0.28336e-04_rb,0.27455e-04_rb,0.28044e-04_rb /) kbo(:,26, 4) = (/ & & 0.24659e-04_rb,0.23926e-04_rb,0.23159e-04_rb,0.22827e-04_rb,0.23266e-04_rb /) kbo(:,27, 4) = (/ & & 0.20221e-04_rb,0.19578e-04_rb,0.18838e-04_rb,0.18853e-04_rb,0.19067e-04_rb /) kbo(:,28, 4) = (/ & & 0.16345e-04_rb,0.15913e-04_rb,0.15327e-04_rb,0.15412e-04_rb,0.15560e-04_rb /) kbo(:,29, 4) = (/ & & 0.13195e-04_rb,0.12870e-04_rb,0.12430e-04_rb,0.12518e-04_rb,0.12639e-04_rb /) kbo(:,30, 4) = (/ & & 0.10622e-04_rb,0.10384e-04_rb,0.10068e-04_rb,0.10151e-04_rb,0.10256e-04_rb /) kbo(:,31, 4) = (/ & & 0.85785e-05_rb,0.83523e-05_rb,0.81227e-05_rb,0.81998e-05_rb,0.83313e-05_rb /) kbo(:,32, 4) = (/ & & 0.69114e-05_rb,0.67093e-05_rb,0.65758e-05_rb,0.66222e-05_rb,0.67679e-05_rb /) kbo(:,33, 4) = (/ & & 0.55456e-05_rb,0.54342e-05_rb,0.53229e-05_rb,0.53610e-05_rb,0.54819e-05_rb /) kbo(:,34, 4) = (/ & & 0.44461e-05_rb,0.43891e-05_rb,0.43112e-05_rb,0.43632e-05_rb,0.44560e-05_rb /) kbo(:,35, 4) = (/ & & 0.35725e-05_rb,0.35192e-05_rb,0.34703e-05_rb,0.35075e-05_rb,0.35919e-05_rb /) kbo(:,36, 4) = (/ & & 0.28842e-05_rb,0.28362e-05_rb,0.28143e-05_rb,0.28097e-05_rb,0.29057e-05_rb /) kbo(:,37, 4) = (/ & & 0.23374e-05_rb,0.22987e-05_rb,0.22934e-05_rb,0.22812e-05_rb,0.23451e-05_rb /) kbo(:,38, 4) = (/ & & 0.18966e-05_rb,0.18679e-05_rb,0.18613e-05_rb,0.18437e-05_rb,0.18894e-05_rb /) kbo(:,39, 4) = (/ & & 0.15300e-05_rb,0.15180e-05_rb,0.15096e-05_rb,0.14915e-05_rb,0.15107e-05_rb /) kbo(:,40, 4) = (/ & & 0.12426e-05_rb,0.12357e-05_rb,0.12171e-05_rb,0.12170e-05_rb,0.12227e-05_rb /) kbo(:,41, 4) = (/ & & 0.10102e-05_rb,0.10077e-05_rb,0.98593e-06_rb,0.98478e-06_rb,0.99213e-06_rb /) kbo(:,42, 4) = (/ & & 0.82201e-06_rb,0.81050e-06_rb,0.80313e-06_rb,0.80181e-06_rb,0.80361e-06_rb /) kbo(:,43, 4) = (/ & & 0.67318e-06_rb,0.65347e-06_rb,0.65478e-06_rb,0.64360e-06_rb,0.64722e-06_rb /) kbo(:,44, 4) = (/ & & 0.55598e-06_rb,0.53355e-06_rb,0.52778e-06_rb,0.52097e-06_rb,0.51997e-06_rb /) kbo(:,45, 4) = (/ & & 0.46157e-06_rb,0.43457e-06_rb,0.42412e-06_rb,0.42137e-06_rb,0.41750e-06_rb /) kbo(:,46, 4) = (/ & & 0.39156e-06_rb,0.35690e-06_rb,0.34498e-06_rb,0.33995e-06_rb,0.33614e-06_rb /) kbo(:,47, 4) = (/ & & 0.33392e-06_rb,0.29746e-06_rb,0.28074e-06_rb,0.27344e-06_rb,0.27079e-06_rb /) kbo(:,48, 4) = (/ & & 0.27066e-06_rb,0.25369e-06_rb,0.23115e-06_rb,0.22213e-06_rb,0.21766e-06_rb /) kbo(:,49, 4) = (/ & & 0.22198e-06_rb,0.21395e-06_rb,0.19274e-06_rb,0.18040e-06_rb,0.17542e-06_rb /) kbo(:,50, 4) = (/ & & 0.18070e-06_rb,0.17367e-06_rb,0.16473e-06_rb,0.14916e-06_rb,0.14306e-06_rb /) kbo(:,51, 4) = (/ & & 0.14595e-06_rb,0.14287e-06_rb,0.13847e-06_rb,0.12418e-06_rb,0.11697e-06_rb /) kbo(:,52, 4) = (/ & & 0.11819e-06_rb,0.11588e-06_rb,0.11225e-06_rb,0.10604e-06_rb,0.96269e-07_rb /) kbo(:,53, 4) = (/ & & 0.95028e-07_rb,0.93094e-07_rb,0.91303e-07_rb,0.88900e-07_rb,0.80262e-07_rb /) kbo(:,54, 4) = (/ & & 0.77005e-07_rb,0.76238e-07_rb,0.74228e-07_rb,0.72526e-07_rb,0.67965e-07_rb /) kbo(:,55, 4) = (/ & & 0.62979e-07_rb,0.62692e-07_rb,0.60930e-07_rb,0.59579e-07_rb,0.57700e-07_rb /) kbo(:,56, 4) = (/ & & 0.51571e-07_rb,0.51196e-07_rb,0.50031e-07_rb,0.48916e-07_rb,0.48127e-07_rb /) kbo(:,57, 4) = (/ & & 0.42602e-07_rb,0.41678e-07_rb,0.41006e-07_rb,0.39709e-07_rb,0.39283e-07_rb /) kbo(:,58, 4) = (/ & & 0.35155e-07_rb,0.34052e-07_rb,0.33561e-07_rb,0.32395e-07_rb,0.32057e-07_rb /) kbo(:,59, 4) = (/ & & 0.29318e-07_rb,0.28516e-07_rb,0.28097e-07_rb,0.26888e-07_rb,0.26840e-07_rb /) kbo(:,13, 5) = (/ & & 0.43718e-03_rb,0.42279e-03_rb,0.43200e-03_rb,0.42910e-03_rb,0.42775e-03_rb /) kbo(:,14, 5) = (/ & & 0.37902e-03_rb,0.38090e-03_rb,0.38058e-03_rb,0.37637e-03_rb,0.36798e-03_rb /) kbo(:,15, 5) = (/ & & 0.33222e-03_rb,0.33597e-03_rb,0.33205e-03_rb,0.32000e-03_rb,0.31310e-03_rb /) kbo(:,16, 5) = (/ & & 0.28736e-03_rb,0.28700e-03_rb,0.27853e-03_rb,0.26891e-03_rb,0.26391e-03_rb /) kbo(:,17, 5) = (/ & & 0.24534e-03_rb,0.24098e-03_rb,0.23072e-03_rb,0.22519e-03_rb,0.22013e-03_rb /) kbo(:,18, 5) = (/ & & 0.20645e-03_rb,0.20019e-03_rb,0.19266e-03_rb,0.18716e-03_rb,0.18139e-03_rb /) kbo(:,19, 5) = (/ & & 0.17271e-03_rb,0.16642e-03_rb,0.16064e-03_rb,0.15556e-03_rb,0.14951e-03_rb /) kbo(:,20, 5) = (/ & & 0.14266e-03_rb,0.13766e-03_rb,0.13239e-03_rb,0.12767e-03_rb,0.12305e-03_rb /) kbo(:,21, 5) = (/ & & 0.11797e-03_rb,0.11256e-03_rb,0.10880e-03_rb,0.10424e-03_rb,0.10062e-03_rb /) kbo(:,22, 5) = (/ & & 0.97085e-04_rb,0.92101e-04_rb,0.88420e-04_rb,0.85535e-04_rb,0.82201e-04_rb /) kbo(:,23, 5) = (/ & & 0.79380e-04_rb,0.75312e-04_rb,0.72177e-04_rb,0.69710e-04_rb,0.66966e-04_rb /) kbo(:,24, 5) = (/ & & 0.64591e-04_rb,0.61520e-04_rb,0.58891e-04_rb,0.56626e-04_rb,0.54603e-04_rb /) kbo(:,25, 5) = (/ & & 0.52423e-04_rb,0.49934e-04_rb,0.48122e-04_rb,0.46331e-04_rb,0.44875e-04_rb /) kbo(:,26, 5) = (/ & & 0.42528e-04_rb,0.40739e-04_rb,0.39218e-04_rb,0.37806e-04_rb,0.36631e-04_rb /) kbo(:,27, 5) = (/ & & 0.34453e-04_rb,0.33104e-04_rb,0.32009e-04_rb,0.30764e-04_rb,0.30000e-04_rb /) kbo(:,28, 5) = (/ & & 0.28076e-04_rb,0.26948e-04_rb,0.26097e-04_rb,0.25065e-04_rb,0.24596e-04_rb /) kbo(:,29, 5) = (/ & & 0.22814e-04_rb,0.21902e-04_rb,0.21222e-04_rb,0.20350e-04_rb,0.20152e-04_rb /) kbo(:,30, 5) = (/ & & 0.18551e-04_rb,0.17731e-04_rb,0.17162e-04_rb,0.16614e-04_rb,0.16461e-04_rb /) kbo(:,31, 5) = (/ & & 0.15020e-04_rb,0.14383e-04_rb,0.13922e-04_rb,0.13548e-04_rb,0.13388e-04_rb /) kbo(:,32, 5) = (/ & & 0.12091e-04_rb,0.11653e-04_rb,0.11308e-04_rb,0.11033e-04_rb,0.10954e-04_rb /) kbo(:,33, 5) = (/ & & 0.97901e-05_rb,0.93570e-05_rb,0.91428e-05_rb,0.89594e-05_rb,0.89614e-05_rb /) kbo(:,34, 5) = (/ & & 0.79439e-05_rb,0.76095e-05_rb,0.74365e-05_rb,0.73099e-05_rb,0.73269e-05_rb /) kbo(:,35, 5) = (/ & & 0.64505e-05_rb,0.62326e-05_rb,0.60921e-05_rb,0.59939e-05_rb,0.59799e-05_rb /) kbo(:,36, 5) = (/ & & 0.52745e-05_rb,0.51017e-05_rb,0.49658e-05_rb,0.48988e-05_rb,0.48773e-05_rb /) kbo(:,37, 5) = (/ & & 0.43522e-05_rb,0.42053e-05_rb,0.40681e-05_rb,0.40176e-05_rb,0.40058e-05_rb /) kbo(:,38, 5) = (/ & & 0.35676e-05_rb,0.34559e-05_rb,0.33446e-05_rb,0.33017e-05_rb,0.32771e-05_rb /) kbo(:,39, 5) = (/ & & 0.29238e-05_rb,0.28445e-05_rb,0.27512e-05_rb,0.27095e-05_rb,0.26825e-05_rb /) kbo(:,40, 5) = (/ & & 0.23985e-05_rb,0.23437e-05_rb,0.22756e-05_rb,0.22251e-05_rb,0.22009e-05_rb /) kbo(:,41, 5) = (/ & & 0.19763e-05_rb,0.19311e-05_rb,0.18886e-05_rb,0.18370e-05_rb,0.18072e-05_rb /) kbo(:,42, 5) = (/ & & 0.16256e-05_rb,0.15918e-05_rb,0.15558e-05_rb,0.15108e-05_rb,0.14861e-05_rb /) kbo(:,43, 5) = (/ & & 0.13290e-05_rb,0.13116e-05_rb,0.12833e-05_rb,0.12550e-05_rb,0.12262e-05_rb /) kbo(:,44, 5) = (/ & & 0.10777e-05_rb,0.10760e-05_rb,0.10566e-05_rb,0.10365e-05_rb,0.10136e-05_rb /) kbo(:,45, 5) = (/ & & 0.86690e-06_rb,0.87981e-06_rb,0.87044e-06_rb,0.85428e-06_rb,0.83627e-06_rb /) kbo(:,46, 5) = (/ & & 0.68706e-06_rb,0.71088e-06_rb,0.70939e-06_rb,0.70110e-06_rb,0.69032e-06_rb /) kbo(:,47, 5) = (/ & & 0.54665e-06_rb,0.56934e-06_rb,0.58033e-06_rb,0.57830e-06_rb,0.57105e-06_rb /) kbo(:,48, 5) = (/ & & 0.44874e-06_rb,0.44653e-06_rb,0.46650e-06_rb,0.47090e-06_rb,0.46732e-06_rb /) kbo(:,49, 5) = (/ & & 0.36869e-06_rb,0.35456e-06_rb,0.36842e-06_rb,0.37978e-06_rb,0.38217e-06_rb /) kbo(:,50, 5) = (/ & & 0.30489e-06_rb,0.29229e-06_rb,0.29104e-06_rb,0.30430e-06_rb,0.31068e-06_rb /) kbo(:,51, 5) = (/ & & 0.25290e-06_rb,0.24012e-06_rb,0.23271e-06_rb,0.24366e-06_rb,0.25149e-06_rb /) kbo(:,52, 5) = (/ & & 0.21148e-06_rb,0.19715e-06_rb,0.19121e-06_rb,0.19177e-06_rb,0.20148e-06_rb /) kbo(:,53, 5) = (/ & & 0.17334e-06_rb,0.16335e-06_rb,0.15574e-06_rb,0.15266e-06_rb,0.15921e-06_rb /) kbo(:,54, 5) = (/ & & 0.14189e-06_rb,0.13650e-06_rb,0.12781e-06_rb,0.12535e-06_rb,0.12749e-06_rb /) kbo(:,55, 5) = (/ & & 0.11763e-06_rb,0.11398e-06_rb,0.10627e-06_rb,0.10373e-06_rb,0.10268e-06_rb /) kbo(:,56, 5) = (/ & & 0.98316e-07_rb,0.94892e-07_rb,0.88799e-07_rb,0.85036e-07_rb,0.83393e-07_rb /) kbo(:,57, 5) = (/ & & 0.83049e-07_rb,0.78499e-07_rb,0.74140e-07_rb,0.70137e-07_rb,0.68774e-07_rb /) kbo(:,58, 5) = (/ & & 0.71768e-07_rb,0.64682e-07_rb,0.62012e-07_rb,0.58149e-07_rb,0.57037e-07_rb /) kbo(:,59, 5) = (/ & & 0.60166e-07_rb,0.54824e-07_rb,0.52042e-07_rb,0.49198e-07_rb,0.47862e-07_rb /) kbo(:,13, 6) = (/ & & 0.71254e-03_rb,0.65708e-03_rb,0.60824e-03_rb,0.57965e-03_rb,0.55389e-03_rb /) kbo(:,14, 6) = (/ & & 0.58852e-03_rb,0.54811e-03_rb,0.51125e-03_rb,0.48557e-03_rb,0.47730e-03_rb /) kbo(:,15, 6) = (/ & & 0.50599e-03_rb,0.46869e-03_rb,0.44362e-03_rb,0.43503e-03_rb,0.43705e-03_rb /) kbo(:,16, 6) = (/ & & 0.43493e-03_rb,0.40996e-03_rb,0.39680e-03_rb,0.39623e-03_rb,0.40784e-03_rb /) kbo(:,17, 6) = (/ & & 0.38028e-03_rb,0.36175e-03_rb,0.35696e-03_rb,0.36547e-03_rb,0.38127e-03_rb /) kbo(:,18, 6) = (/ & & 0.33113e-03_rb,0.32205e-03_rb,0.32458e-03_rb,0.33502e-03_rb,0.35577e-03_rb /) kbo(:,19, 6) = (/ & & 0.28886e-03_rb,0.29134e-03_rb,0.29799e-03_rb,0.31134e-03_rb,0.33676e-03_rb /) kbo(:,20, 6) = (/ & & 0.25113e-03_rb,0.25555e-03_rb,0.26535e-03_rb,0.28470e-03_rb,0.30677e-03_rb /) kbo(:,21, 6) = (/ & & 0.21640e-03_rb,0.22152e-03_rb,0.23323e-03_rb,0.25467e-03_rb,0.27764e-03_rb /) kbo(:,22, 6) = (/ & & 0.18601e-03_rb,0.19217e-03_rb,0.20696e-03_rb,0.22593e-03_rb,0.24729e-03_rb /) kbo(:,23, 6) = (/ & & 0.15978e-03_rb,0.16833e-03_rb,0.18229e-03_rb,0.19994e-03_rb,0.21913e-03_rb /) kbo(:,24, 6) = (/ & & 0.13748e-03_rb,0.14696e-03_rb,0.16025e-03_rb,0.17620e-03_rb,0.19459e-03_rb /) kbo(:,25, 6) = (/ & & 0.11841e-03_rb,0.12828e-03_rb,0.13998e-03_rb,0.15487e-03_rb,0.17174e-03_rb /) kbo(:,26, 6) = (/ & & 0.10209e-03_rb,0.11175e-03_rb,0.12193e-03_rb,0.13590e-03_rb,0.15125e-03_rb /) kbo(:,27, 6) = (/ & & 0.87003e-04_rb,0.95681e-04_rb,0.10499e-03_rb,0.11744e-03_rb,0.13086e-03_rb /) kbo(:,28, 6) = (/ & & 0.73110e-04_rb,0.80653e-04_rb,0.89103e-04_rb,0.99988e-04_rb,0.11120e-03_rb /) kbo(:,29, 6) = (/ & & 0.60620e-04_rb,0.66736e-04_rb,0.74222e-04_rb,0.82863e-04_rb,0.92471e-04_rb /) kbo(:,30, 6) = (/ & & 0.49831e-04_rb,0.54602e-04_rb,0.61288e-04_rb,0.68281e-04_rb,0.75599e-04_rb /) kbo(:,31, 6) = (/ & & 0.40315e-04_rb,0.44435e-04_rb,0.49703e-04_rb,0.55140e-04_rb,0.60140e-04_rb /) kbo(:,32, 6) = (/ & & 0.32490e-04_rb,0.36020e-04_rb,0.39894e-04_rb,0.44068e-04_rb,0.48080e-04_rb /) kbo(:,33, 6) = (/ & & 0.26085e-04_rb,0.29063e-04_rb,0.32003e-04_rb,0.35074e-04_rb,0.38662e-04_rb /) kbo(:,34, 6) = (/ & & 0.21201e-04_rb,0.23256e-04_rb,0.25636e-04_rb,0.28140e-04_rb,0.31273e-04_rb /) kbo(:,35, 6) = (/ & & 0.17022e-04_rb,0.18534e-04_rb,0.20322e-04_rb,0.22464e-04_rb,0.25109e-04_rb /) kbo(:,36, 6) = (/ & & 0.13427e-04_rb,0.14606e-04_rb,0.16055e-04_rb,0.17783e-04_rb,0.19877e-04_rb /) kbo(:,37, 6) = (/ & & 0.10630e-04_rb,0.11559e-04_rb,0.12731e-04_rb,0.14118e-04_rb,0.15831e-04_rb /) kbo(:,38, 6) = (/ & & 0.84365e-05_rb,0.91300e-05_rb,0.10077e-04_rb,0.11171e-04_rb,0.12568e-04_rb /) kbo(:,39, 6) = (/ & & 0.66762e-05_rb,0.71770e-05_rb,0.79359e-05_rb,0.88044e-05_rb,0.99043e-05_rb /) kbo(:,40, 6) = (/ & & 0.53561e-05_rb,0.57216e-05_rb,0.63210e-05_rb,0.70080e-05_rb,0.79213e-05_rb /) kbo(:,41, 6) = (/ & & 0.42954e-05_rb,0.45692e-05_rb,0.50356e-05_rb,0.56102e-05_rb,0.63394e-05_rb /) kbo(:,42, 6) = (/ & & 0.34409e-05_rb,0.36788e-05_rb,0.40124e-05_rb,0.44898e-05_rb,0.50645e-05_rb /) kbo(:,43, 6) = (/ & & 0.27453e-05_rb,0.29361e-05_rb,0.31651e-05_rb,0.35498e-05_rb,0.40058e-05_rb /) kbo(:,44, 6) = (/ & & 0.21863e-05_rb,0.23320e-05_rb,0.24965e-05_rb,0.27915e-05_rb,0.31593e-05_rb /) kbo(:,45, 6) = (/ & & 0.17409e-05_rb,0.18472e-05_rb,0.19801e-05_rb,0.21812e-05_rb,0.24741e-05_rb /) kbo(:,46, 6) = (/ & & 0.13903e-05_rb,0.14639e-05_rb,0.15660e-05_rb,0.17042e-05_rb,0.19243e-05_rb /) kbo(:,47, 6) = (/ & & 0.11229e-05_rb,0.11661e-05_rb,0.12377e-05_rb,0.13335e-05_rb,0.14898e-05_rb /) kbo(:,48, 6) = (/ & & 0.90528e-06_rb,0.92962e-06_rb,0.97799e-06_rb,0.10483e-05_rb,0.11575e-05_rb /) kbo(:,49, 6) = (/ & & 0.72877e-06_rb,0.74278e-06_rb,0.77380e-06_rb,0.82564e-06_rb,0.89736e-06_rb /) kbo(:,50, 6) = (/ & & 0.59358e-06_rb,0.59955e-06_rb,0.62170e-06_rb,0.65720e-06_rb,0.70771e-06_rb /) kbo(:,51, 6) = (/ & & 0.48783e-06_rb,0.48769e-06_rb,0.50300e-06_rb,0.52655e-06_rb,0.56377e-06_rb /) kbo(:,52, 6) = (/ & & 0.39834e-06_rb,0.39922e-06_rb,0.40604e-06_rb,0.42316e-06_rb,0.45057e-06_rb /) kbo(:,53, 6) = (/ & & 0.33019e-06_rb,0.32505e-06_rb,0.33011e-06_rb,0.33917e-06_rb,0.35858e-06_rb /) kbo(:,54, 6) = (/ & & 0.27829e-06_rb,0.26763e-06_rb,0.27219e-06_rb,0.27714e-06_rb,0.29159e-06_rb /) kbo(:,55, 6) = (/ & & 0.23259e-06_rb,0.22250e-06_rb,0.22510e-06_rb,0.22855e-06_rb,0.23937e-06_rb /) kbo(:,56, 6) = (/ & & 0.19401e-06_rb,0.18605e-06_rb,0.18566e-06_rb,0.18937e-06_rb,0.19605e-06_rb /) kbo(:,57, 6) = (/ & & 0.15908e-06_rb,0.15649e-06_rb,0.15396e-06_rb,0.15754e-06_rb,0.16039e-06_rb /) kbo(:,58, 6) = (/ & & 0.12892e-06_rb,0.13132e-06_rb,0.12793e-06_rb,0.13093e-06_rb,0.13273e-06_rb /) kbo(:,59, 6) = (/ & & 0.11177e-06_rb,0.11165e-06_rb,0.10875e-06_rb,0.11132e-06_rb,0.11431e-06_rb /) kbo(:,13, 7) = (/ & & 0.19357e-02_rb,0.20341e-02_rb,0.21760e-02_rb,0.22982e-02_rb,0.24550e-02_rb /) kbo(:,14, 7) = (/ & & 0.20343e-02_rb,0.21709e-02_rb,0.23192e-02_rb,0.24854e-02_rb,0.27026e-02_rb /) kbo(:,15, 7) = (/ & & 0.21108e-02_rb,0.23009e-02_rb,0.25488e-02_rb,0.28048e-02_rb,0.30159e-02_rb /) kbo(:,16, 7) = (/ & & 0.21016e-02_rb,0.23581e-02_rb,0.25958e-02_rb,0.28093e-02_rb,0.29839e-02_rb /) kbo(:,17, 7) = (/ & & 0.21350e-02_rb,0.23722e-02_rb,0.25718e-02_rb,0.27703e-02_rb,0.30036e-02_rb /) kbo(:,18, 7) = (/ & & 0.21493e-02_rb,0.23550e-02_rb,0.25593e-02_rb,0.27827e-02_rb,0.29722e-02_rb /) kbo(:,19, 7) = (/ & & 0.21677e-02_rb,0.23602e-02_rb,0.25446e-02_rb,0.27267e-02_rb,0.29542e-02_rb /) kbo(:,20, 7) = (/ & & 0.21009e-02_rb,0.22669e-02_rb,0.24261e-02_rb,0.26095e-02_rb,0.28436e-02_rb /) kbo(:,21, 7) = (/ & & 0.19811e-02_rb,0.21249e-02_rb,0.22790e-02_rb,0.24716e-02_rb,0.26844e-02_rb /) kbo(:,22, 7) = (/ & & 0.18393e-02_rb,0.19585e-02_rb,0.21127e-02_rb,0.22962e-02_rb,0.25211e-02_rb /) kbo(:,23, 7) = (/ & & 0.16905e-02_rb,0.18032e-02_rb,0.19594e-02_rb,0.21280e-02_rb,0.23466e-02_rb /) kbo(:,24, 7) = (/ & & 0.15327e-02_rb,0.16542e-02_rb,0.18047e-02_rb,0.19642e-02_rb,0.21591e-02_rb /) kbo(:,25, 7) = (/ & & 0.13831e-02_rb,0.14932e-02_rb,0.16391e-02_rb,0.17921e-02_rb,0.19606e-02_rb /) kbo(:,26, 7) = (/ & & 0.12298e-02_rb,0.13325e-02_rb,0.14676e-02_rb,0.16086e-02_rb,0.17628e-02_rb /) kbo(:,27, 7) = (/ & & 0.10692e-02_rb,0.11652e-02_rb,0.12858e-02_rb,0.14124e-02_rb,0.15514e-02_rb /) kbo(:,28, 7) = (/ & & 0.91706e-03_rb,0.10034e-02_rb,0.11100e-02_rb,0.12231e-02_rb,0.13481e-02_rb /) kbo(:,29, 7) = (/ & & 0.76824e-03_rb,0.84492e-03_rb,0.93654e-03_rb,0.10377e-02_rb,0.11448e-02_rb /) kbo(:,30, 7) = (/ & & 0.63841e-03_rb,0.70573e-03_rb,0.78553e-03_rb,0.87197e-03_rb,0.96607e-03_rb /) kbo(:,31, 7) = (/ & & 0.51979e-03_rb,0.58056e-03_rb,0.64728e-03_rb,0.71891e-03_rb,0.80875e-03_rb /) kbo(:,32, 7) = (/ & & 0.42659e-03_rb,0.47686e-03_rb,0.53347e-03_rb,0.60016e-03_rb,0.67592e-03_rb /) kbo(:,33, 7) = (/ & & 0.34820e-03_rb,0.39030e-03_rb,0.44004e-03_rb,0.49875e-03_rb,0.56492e-03_rb /) kbo(:,34, 7) = (/ & & 0.28753e-03_rb,0.32477e-03_rb,0.36831e-03_rb,0.41989e-03_rb,0.47708e-03_rb /) kbo(:,35, 7) = (/ & & 0.23568e-03_rb,0.26716e-03_rb,0.30618e-03_rb,0.35062e-03_rb,0.39934e-03_rb /) kbo(:,36, 7) = (/ & & 0.19116e-03_rb,0.21863e-03_rb,0.25180e-03_rb,0.28983e-03_rb,0.33082e-03_rb /) kbo(:,37, 7) = (/ & & 0.15437e-03_rb,0.17829e-03_rb,0.20646e-03_rb,0.23900e-03_rb,0.27320e-03_rb /) kbo(:,38, 7) = (/ & & 0.12397e-03_rb,0.14462e-03_rb,0.16847e-03_rb,0.19621e-03_rb,0.22528e-03_rb /) kbo(:,39, 7) = (/ & & 0.98930e-04_rb,0.11647e-03_rb,0.13711e-03_rb,0.16057e-03_rb,0.18549e-03_rb /) kbo(:,40, 7) = (/ & & 0.79845e-04_rb,0.94437e-04_rb,0.11202e-03_rb,0.13217e-03_rb,0.15346e-03_rb /) kbo(:,41, 7) = (/ & & 0.64260e-04_rb,0.76439e-04_rb,0.91253e-04_rb,0.10837e-03_rb,0.12691e-03_rb /) kbo(:,42, 7) = (/ & & 0.51561e-04_rb,0.61686e-04_rb,0.74044e-04_rb,0.88504e-04_rb,0.10431e-03_rb /) kbo(:,43, 7) = (/ & & 0.40906e-04_rb,0.49267e-04_rb,0.59361e-04_rb,0.71417e-04_rb,0.84751e-04_rb /) kbo(:,44, 7) = (/ & & 0.32247e-04_rb,0.38955e-04_rb,0.47246e-04_rb,0.57199e-04_rb,0.68540e-04_rb /) kbo(:,45, 7) = (/ & & 0.25243e-04_rb,0.30790e-04_rb,0.37490e-04_rb,0.45754e-04_rb,0.55394e-04_rb /) kbo(:,46, 7) = (/ & & 0.19604e-04_rb,0.24131e-04_rb,0.29598e-04_rb,0.36431e-04_rb,0.44419e-04_rb /) kbo(:,47, 7) = (/ & & 0.15116e-04_rb,0.18785e-04_rb,0.23180e-04_rb,0.28780e-04_rb,0.35381e-04_rb /) kbo(:,48, 7) = (/ & & 0.11550e-04_rb,0.14451e-04_rb,0.18039e-04_rb,0.22545e-04_rb,0.28005e-04_rb /) kbo(:,49, 7) = (/ & & 0.87452e-05_rb,0.10992e-04_rb,0.13863e-04_rb,0.17498e-04_rb,0.21949e-04_rb /) kbo(:,50, 7) = (/ & & 0.66768e-05_rb,0.84974e-05_rb,0.10835e-04_rb,0.13777e-04_rb,0.17448e-04_rb /) kbo(:,51, 7) = (/ & & 0.51359e-05_rb,0.66277e-05_rb,0.85196e-05_rb,0.10905e-04_rb,0.13933e-04_rb /) kbo(:,52, 7) = (/ & & 0.38737e-05_rb,0.51001e-05_rb,0.66347e-05_rb,0.85842e-05_rb,0.11033e-04_rb /) kbo(:,53, 7) = (/ & & 0.28793e-05_rb,0.38820e-05_rb,0.50987e-05_rb,0.66800e-05_rb,0.86846e-05_rb /) kbo(:,54, 7) = (/ & & 0.22250e-05_rb,0.30528e-05_rb,0.40721e-05_rb,0.53813e-05_rb,0.70529e-05_rb /) kbo(:,55, 7) = (/ & & 0.17548e-05_rb,0.24455e-05_rb,0.32962e-05_rb,0.43877e-05_rb,0.58071e-05_rb /) kbo(:,56, 7) = (/ & & 0.13740e-05_rb,0.19413e-05_rb,0.26523e-05_rb,0.35566e-05_rb,0.47512e-05_rb /) kbo(:,57, 7) = (/ & & 0.10745e-05_rb,0.15242e-05_rb,0.21190e-05_rb,0.28679e-05_rb,0.38612e-05_rb /) kbo(:,58, 7) = (/ & & 0.84271e-06_rb,0.12117e-05_rb,0.17039e-05_rb,0.23246e-05_rb,0.31564e-05_rb /) kbo(:,59, 7) = (/ & & 0.75625e-06_rb,0.11002e-05_rb,0.15376e-05_rb,0.20855e-05_rb,0.28548e-05_rb /) kbo(:,13, 8) = (/ & & 0.41133e-01_rb,0.43585e-01_rb,0.46448e-01_rb,0.50156e-01_rb,0.54607e-01_rb /) kbo(:,14, 8) = (/ & & 0.39162e-01_rb,0.41636e-01_rb,0.44649e-01_rb,0.48118e-01_rb,0.52078e-01_rb /) kbo(:,15, 8) = (/ & & 0.37770e-01_rb,0.40048e-01_rb,0.43090e-01_rb,0.46524e-01_rb,0.50698e-01_rb /) kbo(:,16, 8) = (/ & & 0.35235e-01_rb,0.37712e-01_rb,0.40429e-01_rb,0.44092e-01_rb,0.48470e-01_rb /) kbo(:,17, 8) = (/ & & 0.32748e-01_rb,0.35232e-01_rb,0.38049e-01_rb,0.41536e-01_rb,0.45596e-01_rb /) kbo(:,18, 8) = (/ & & 0.30656e-01_rb,0.33078e-01_rb,0.36084e-01_rb,0.39403e-01_rb,0.43319e-01_rb /) kbo(:,19, 8) = (/ & & 0.28887e-01_rb,0.31462e-01_rb,0.34348e-01_rb,0.37660e-01_rb,0.41532e-01_rb /) kbo(:,20, 8) = (/ & & 0.26521e-01_rb,0.29153e-01_rb,0.32006e-01_rb,0.35368e-01_rb,0.39083e-01_rb /) kbo(:,21, 8) = (/ & & 0.23988e-01_rb,0.26537e-01_rb,0.29508e-01_rb,0.32666e-01_rb,0.36356e-01_rb /) kbo(:,22, 8) = (/ & & 0.21655e-01_rb,0.24205e-01_rb,0.27193e-01_rb,0.30346e-01_rb,0.33820e-01_rb /) kbo(:,23, 8) = (/ & & 0.19724e-01_rb,0.22257e-01_rb,0.25021e-01_rb,0.27997e-01_rb,0.31309e-01_rb /) kbo(:,24, 8) = (/ & & 0.18094e-01_rb,0.20464e-01_rb,0.23167e-01_rb,0.26069e-01_rb,0.29357e-01_rb /) kbo(:,25, 8) = (/ & & 0.16666e-01_rb,0.18896e-01_rb,0.21422e-01_rb,0.24282e-01_rb,0.27401e-01_rb /) kbo(:,26, 8) = (/ & & 0.15252e-01_rb,0.17451e-01_rb,0.19828e-01_rb,0.22565e-01_rb,0.25604e-01_rb /) kbo(:,27, 8) = (/ & & 0.13902e-01_rb,0.15940e-01_rb,0.18143e-01_rb,0.20720e-01_rb,0.23727e-01_rb /) kbo(:,28, 8) = (/ & & 0.12642e-01_rb,0.14401e-01_rb,0.16467e-01_rb,0.18975e-01_rb,0.21740e-01_rb /) kbo(:,29, 8) = (/ & & 0.11177e-01_rb,0.12765e-01_rb,0.14750e-01_rb,0.16957e-01_rb,0.19575e-01_rb /) kbo(:,30, 8) = (/ & & 0.97810e-02_rb,0.11281e-01_rb,0.13066e-01_rb,0.15112e-01_rb,0.17581e-01_rb /) kbo(:,31, 8) = (/ & & 0.84562e-02_rb,0.98553e-02_rb,0.11427e-01_rb,0.13312e-01_rb,0.15536e-01_rb /) kbo(:,32, 8) = (/ & & 0.73434e-02_rb,0.85939e-02_rb,0.10020e-01_rb,0.11770e-01_rb,0.13758e-01_rb /) kbo(:,33, 8) = (/ & & 0.63801e-02_rb,0.74957e-02_rb,0.87874e-02_rb,0.10375e-01_rb,0.12145e-01_rb /) kbo(:,34, 8) = (/ & & 0.56002e-02_rb,0.65926e-02_rb,0.77964e-02_rb,0.92186e-02_rb,0.10768e-01_rb /) kbo(:,35, 8) = (/ & & 0.48489e-02_rb,0.57164e-02_rb,0.68333e-02_rb,0.80886e-02_rb,0.94500e-02_rb /) kbo(:,36, 8) = (/ & & 0.41428e-02_rb,0.49220e-02_rb,0.58884e-02_rb,0.69905e-02_rb,0.81862e-02_rb /) kbo(:,37, 8) = (/ & & 0.34967e-02_rb,0.41841e-02_rb,0.50244e-02_rb,0.59657e-02_rb,0.70167e-02_rb /) kbo(:,38, 8) = (/ & & 0.29333e-02_rb,0.35364e-02_rb,0.42644e-02_rb,0.50719e-02_rb,0.59938e-02_rb /) kbo(:,39, 8) = (/ & & 0.24443e-02_rb,0.29647e-02_rb,0.35953e-02_rb,0.42898e-02_rb,0.50972e-02_rb /) kbo(:,40, 8) = (/ & & 0.20439e-02_rb,0.25046e-02_rb,0.30512e-02_rb,0.36459e-02_rb,0.43466e-02_rb /) kbo(:,41, 8) = (/ & & 0.17068e-02_rb,0.21107e-02_rb,0.25838e-02_rb,0.30959e-02_rb,0.36971e-02_rb /) kbo(:,42, 8) = (/ & & 0.14199e-02_rb,0.17705e-02_rb,0.21755e-02_rb,0.26204e-02_rb,0.31356e-02_rb /) kbo(:,43, 8) = (/ & & 0.11616e-02_rb,0.14584e-02_rb,0.18069e-02_rb,0.21876e-02_rb,0.26286e-02_rb /) kbo(:,44, 8) = (/ & & 0.93807e-03_rb,0.11864e-02_rb,0.14851e-02_rb,0.18080e-02_rb,0.21849e-02_rb /) kbo(:,45, 8) = (/ & & 0.75026e-03_rb,0.95460e-03_rb,0.12092e-02_rb,0.14831e-02_rb,0.18037e-02_rb /) kbo(:,46, 8) = (/ & & 0.59319e-03_rb,0.76134e-03_rb,0.97292e-03_rb,0.12059e-02_rb,0.14787e-02_rb /) kbo(:,47, 8) = (/ & & 0.46546e-03_rb,0.60113e-03_rb,0.77762e-03_rb,0.97379e-03_rb,0.12030e-02_rb /) kbo(:,48, 8) = (/ & & 0.36131e-03_rb,0.46999e-03_rb,0.61292e-03_rb,0.77778e-03_rb,0.96667e-03_rb /) kbo(:,49, 8) = (/ & & 0.27490e-03_rb,0.36153e-03_rb,0.47561e-03_rb,0.61173e-03_rb,0.76634e-03_rb /) kbo(:,50, 8) = (/ & & 0.21403e-03_rb,0.28416e-03_rb,0.37592e-03_rb,0.48994e-03_rb,0.61812e-03_rb /) kbo(:,51, 8) = (/ & & 0.16745e-03_rb,0.22425e-03_rb,0.29943e-03_rb,0.39474e-03_rb,0.50310e-03_rb /) kbo(:,52, 8) = (/ & & 0.12927e-03_rb,0.17496e-03_rb,0.23541e-03_rb,0.31434e-03_rb,0.40442e-03_rb /) kbo(:,53, 8) = (/ & & 0.98512e-04_rb,0.13503e-03_rb,0.18276e-03_rb,0.24681e-03_rb,0.32086e-03_rb /) kbo(:,54, 8) = (/ & & 0.78150e-04_rb,0.10819e-03_rb,0.14843e-03_rb,0.20243e-03_rb,0.26646e-03_rb /) kbo(:,55, 8) = (/ & & 0.63455e-04_rb,0.88570e-04_rb,0.12297e-03_rb,0.17015e-03_rb,0.22626e-03_rb /) kbo(:,56, 8) = (/ & & 0.51095e-04_rb,0.72223e-04_rb,0.10144e-03_rb,0.14188e-03_rb,0.19132e-03_rb /) kbo(:,57, 8) = (/ & & 0.40866e-04_rb,0.58631e-04_rb,0.83096e-04_rb,0.11753e-03_rb,0.16055e-03_rb /) kbo(:,58, 8) = (/ & & 0.32890e-04_rb,0.47893e-04_rb,0.68644e-04_rb,0.98156e-04_rb,0.13564e-03_rb /) kbo(:,59, 8) = (/ & & 0.29702e-04_rb,0.43928e-04_rb,0.64217e-04_rb,0.92621e-04_rb,0.12965e-03_rb /) kbo(:,13, 9) = (/ & & 0.27690e+01_rb,0.28644e+01_rb,0.29696e+01_rb,0.30850e+01_rb,0.32162e+01_rb /) kbo(:,14, 9) = (/ & & 0.23162e+01_rb,0.23973e+01_rb,0.24876e+01_rb,0.25913e+01_rb,0.27107e+01_rb /) kbo(:,15, 9) = (/ & & 0.19377e+01_rb,0.20096e+01_rb,0.20909e+01_rb,0.21846e+01_rb,0.22904e+01_rb /) kbo(:,16, 9) = (/ & & 0.16221e+01_rb,0.16854e+01_rb,0.17596e+01_rb,0.18440e+01_rb,0.19374e+01_rb /) kbo(:,17, 9) = (/ & & 0.13581e+01_rb,0.14147e+01_rb,0.14813e+01_rb,0.15562e+01_rb,0.16364e+01_rb /) kbo(:,18, 9) = (/ & & 0.11494e+01_rb,0.11995e+01_rb,0.12558e+01_rb,0.13168e+01_rb,0.13828e+01_rb /) kbo(:,19, 9) = (/ & & 0.99857e+00_rb,0.10422e+01_rb,0.10890e+01_rb,0.11391e+01_rb,0.11917e+01_rb /) kbo(:,20, 9) = (/ & & 0.86585e+00_rb,0.90292e+00_rb,0.94341e+00_rb,0.98616e+00_rb,0.10332e+01_rb /) kbo(:,21, 9) = (/ & & 0.74752e+00_rb,0.77983e+00_rb,0.81433e+00_rb,0.85283e+00_rb,0.89462e+00_rb /) kbo(:,22, 9) = (/ & & 0.64494e+00_rb,0.67286e+00_rb,0.70277e+00_rb,0.73658e+00_rb,0.77352e+00_rb /) kbo(:,23, 9) = (/ & & 0.55485e+00_rb,0.57897e+00_rb,0.60654e+00_rb,0.63699e+00_rb,0.66979e+00_rb /) kbo(:,24, 9) = (/ & & 0.47664e+00_rb,0.49869e+00_rb,0.52329e+00_rb,0.54973e+00_rb,0.57955e+00_rb /) kbo(:,25, 9) = (/ & & 0.41114e+00_rb,0.42988e+00_rb,0.45044e+00_rb,0.47447e+00_rb,0.50163e+00_rb /) kbo(:,26, 9) = (/ & & 0.35513e+00_rb,0.37142e+00_rb,0.38942e+00_rb,0.41045e+00_rb,0.43493e+00_rb /) kbo(:,27, 9) = (/ & & 0.30546e+00_rb,0.31995e+00_rb,0.33673e+00_rb,0.35597e+00_rb,0.37742e+00_rb /) kbo(:,28, 9) = (/ & & 0.26188e+00_rb,0.27552e+00_rb,0.29117e+00_rb,0.30879e+00_rb,0.32839e+00_rb /) kbo(:,29, 9) = (/ & & 0.22377e+00_rb,0.23654e+00_rb,0.25102e+00_rb,0.26735e+00_rb,0.28587e+00_rb /) kbo(:,30, 9) = (/ & & 0.19129e+00_rb,0.20332e+00_rb,0.21691e+00_rb,0.23233e+00_rb,0.24924e+00_rb /) kbo(:,31, 9) = (/ & & 0.16347e+00_rb,0.17463e+00_rb,0.18745e+00_rb,0.20165e+00_rb,0.21712e+00_rb /) kbo(:,32, 9) = (/ & & 0.14037e+00_rb,0.15075e+00_rb,0.16282e+00_rb,0.17567e+00_rb,0.18973e+00_rb /) kbo(:,33, 9) = (/ & & 0.12095e+00_rb,0.13081e+00_rb,0.14161e+00_rb,0.15337e+00_rb,0.16632e+00_rb /) kbo(:,34, 9) = (/ & & 0.10468e+00_rb,0.11371e+00_rb,0.12351e+00_rb,0.13423e+00_rb,0.14632e+00_rb /) kbo(:,35, 9) = (/ & & 0.90259e-01_rb,0.98421e-01_rb,0.10717e+00_rb,0.11695e+00_rb,0.12831e+00_rb /) kbo(:,36, 9) = (/ & & 0.77272e-01_rb,0.84599e-01_rb,0.92464e-01_rb,0.10140e+00_rb,0.11193e+00_rb /) kbo(:,37, 9) = (/ & & 0.65606e-01_rb,0.72029e-01_rb,0.79063e-01_rb,0.87174e-01_rb,0.96643e-01_rb /) kbo(:,38, 9) = (/ & & 0.55528e-01_rb,0.61268e-01_rb,0.67613e-01_rb,0.74898e-01_rb,0.83456e-01_rb /) kbo(:,39, 9) = (/ & & 0.46985e-01_rb,0.52085e-01_rb,0.57765e-01_rb,0.64303e-01_rb,0.72021e-01_rb /) kbo(:,40, 9) = (/ & & 0.39626e-01_rb,0.44094e-01_rb,0.49150e-01_rb,0.55005e-01_rb,0.61884e-01_rb /) kbo(:,41, 9) = (/ & & 0.33376e-01_rb,0.37326e-01_rb,0.41783e-01_rb,0.46997e-01_rb,0.53158e-01_rb /) kbo(:,42, 9) = (/ & & 0.28074e-01_rb,0.31535e-01_rb,0.35493e-01_rb,0.40112e-01_rb,0.45645e-01_rb /) kbo(:,43, 9) = (/ & & 0.23419e-01_rb,0.26419e-01_rb,0.29889e-01_rb,0.33982e-01_rb,0.38867e-01_rb /) kbo(:,44, 9) = (/ & & 0.19437e-01_rb,0.22035e-01_rb,0.25042e-01_rb,0.28622e-01_rb,0.32930e-01_rb /) kbo(:,45, 9) = (/ & & 0.16083e-01_rb,0.18329e-01_rb,0.20937e-01_rb,0.24027e-01_rb,0.27786e-01_rb /) kbo(:,46, 9) = (/ & & 0.13236e-01_rb,0.15146e-01_rb,0.17420e-01_rb,0.20094e-01_rb,0.23328e-01_rb /) kbo(:,47, 9) = (/ & & 0.10820e-01_rb,0.12455e-01_rb,0.14377e-01_rb,0.16656e-01_rb,0.19464e-01_rb /) kbo(:,48, 9) = (/ & & 0.88043e-02_rb,0.10190e-01_rb,0.11813e-01_rb,0.13745e-01_rb,0.16141e-01_rb /) kbo(:,49, 9) = (/ & & 0.71234e-02_rb,0.82775e-02_rb,0.96453e-02_rb,0.11284e-01_rb,0.13310e-01_rb /) kbo(:,50, 9) = (/ & & 0.58127e-02_rb,0.67802e-02_rb,0.79379e-02_rb,0.93254e-02_rb,0.11078e-01_rb /) kbo(:,51, 9) = (/ & & 0.47494e-02_rb,0.55659e-02_rb,0.65602e-02_rb,0.77407e-02_rb,0.92288e-02_rb /) kbo(:,52, 9) = (/ & & 0.38618e-02_rb,0.45424e-02_rb,0.53925e-02_rb,0.64011e-02_rb,0.76645e-02_rb /) kbo(:,53, 9) = (/ & & 0.31264e-02_rb,0.36823e-02_rb,0.43952e-02_rb,0.52615e-02_rb,0.63311e-02_rb /) kbo(:,54, 9) = (/ & & 0.25794e-02_rb,0.30481e-02_rb,0.36548e-02_rb,0.44037e-02_rb,0.53380e-02_rb /) kbo(:,55, 9) = (/ & & 0.21508e-02_rb,0.25472e-02_rb,0.30665e-02_rb,0.37188e-02_rb,0.45472e-02_rb /) kbo(:,56, 9) = (/ & & 0.17938e-02_rb,0.21263e-02_rb,0.25713e-02_rb,0.31411e-02_rb,0.38667e-02_rb /) kbo(:,57, 9) = (/ & & 0.14949e-02_rb,0.17755e-02_rb,0.21510e-02_rb,0.26439e-02_rb,0.32830e-02_rb /) kbo(:,58, 9) = (/ & & 0.12521e-02_rb,0.14938e-02_rb,0.18137e-02_rb,0.22426e-02_rb,0.28028e-02_rb /) kbo(:,59, 9) = (/ & & 0.11302e-02_rb,0.13552e-02_rb,0.16582e-02_rb,0.20691e-02_rb,0.26051e-02_rb /) kbo(:,13,10) = (/ & & 0.14370e+02_rb,0.14649e+02_rb,0.14957e+02_rb,0.15296e+02_rb,0.15663e+02_rb /) kbo(:,14,10) = (/ & & 0.12178e+02_rb,0.12411e+02_rb,0.12682e+02_rb,0.12978e+02_rb,0.13316e+02_rb /) kbo(:,15,10) = (/ & & 0.10211e+02_rb,0.10402e+02_rb,0.10625e+02_rb,0.10894e+02_rb,0.11239e+02_rb /) kbo(:,16,10) = (/ & & 0.85974e+01_rb,0.87539e+01_rb,0.89410e+01_rb,0.91849e+01_rb,0.95108e+01_rb /) kbo(:,17,10) = (/ & & 0.72440e+01_rb,0.73858e+01_rb,0.75683e+01_rb,0.78199e+01_rb,0.81516e+01_rb /) kbo(:,18,10) = (/ & & 0.59680e+01_rb,0.61054e+01_rb,0.63108e+01_rb,0.66074e+01_rb,0.69367e+01_rb /) kbo(:,19,10) = (/ & & 0.47759e+01_rb,0.49000e+01_rb,0.51125e+01_rb,0.53858e+01_rb,0.56972e+01_rb /) kbo(:,20,10) = (/ & & 0.40682e+01_rb,0.42060e+01_rb,0.43988e+01_rb,0.46035e+01_rb,0.48052e+01_rb /) kbo(:,21,10) = (/ & & 0.35226e+01_rb,0.36715e+01_rb,0.38357e+01_rb,0.40017e+01_rb,0.41636e+01_rb /) kbo(:,22,10) = (/ & & 0.30730e+01_rb,0.32059e+01_rb,0.33607e+01_rb,0.35055e+01_rb,0.36621e+01_rb /) kbo(:,23,10) = (/ & & 0.26688e+01_rb,0.27999e+01_rb,0.29296e+01_rb,0.30668e+01_rb,0.32115e+01_rb /) kbo(:,24,10) = (/ & & 0.23228e+01_rb,0.24338e+01_rb,0.25510e+01_rb,0.26866e+01_rb,0.28223e+01_rb /) kbo(:,25,10) = (/ & & 0.19964e+01_rb,0.21083e+01_rb,0.22332e+01_rb,0.23566e+01_rb,0.24845e+01_rb /) kbo(:,26,10) = (/ & & 0.17097e+01_rb,0.18190e+01_rb,0.19420e+01_rb,0.20663e+01_rb,0.21952e+01_rb /) kbo(:,27,10) = (/ & & 0.14729e+01_rb,0.15741e+01_rb,0.16825e+01_rb,0.17963e+01_rb,0.19295e+01_rb /) kbo(:,28,10) = (/ & & 0.12788e+01_rb,0.13609e+01_rb,0.14562e+01_rb,0.15668e+01_rb,0.17032e+01_rb /) kbo(:,29,10) = (/ & & 0.11113e+01_rb,0.11813e+01_rb,0.12669e+01_rb,0.13763e+01_rb,0.15012e+01_rb /) kbo(:,30,10) = (/ & & 0.96661e+00_rb,0.10287e+01_rb,0.11081e+01_rb,0.12093e+01_rb,0.13273e+01_rb /) kbo(:,31,10) = (/ & & 0.83795e+00_rb,0.89792e+00_rb,0.97327e+00_rb,0.10727e+01_rb,0.11828e+01_rb /) kbo(:,32,10) = (/ & & 0.72634e+00_rb,0.78480e+00_rb,0.86071e+00_rb,0.95503e+00_rb,0.10615e+01_rb /) kbo(:,33,10) = (/ & & 0.63134e+00_rb,0.68789e+00_rb,0.76628e+00_rb,0.85854e+00_rb,0.96370e+00_rb /) kbo(:,34,10) = (/ & & 0.55172e+00_rb,0.60863e+00_rb,0.68672e+00_rb,0.77637e+00_rb,0.87664e+00_rb /) kbo(:,35,10) = (/ & & 0.48039e+00_rb,0.53701e+00_rb,0.61125e+00_rb,0.69795e+00_rb,0.79084e+00_rb /) kbo(:,36,10) = (/ & & 0.41819e+00_rb,0.47188e+00_rb,0.54096e+00_rb,0.62096e+00_rb,0.70693e+00_rb /) kbo(:,37,10) = (/ & & 0.36050e+00_rb,0.40906e+00_rb,0.47069e+00_rb,0.54184e+00_rb,0.62144e+00_rb /) kbo(:,38,10) = (/ & & 0.31156e+00_rb,0.35409e+00_rb,0.40958e+00_rb,0.47371e+00_rb,0.54611e+00_rb /) kbo(:,39,10) = (/ & & 0.26782e+00_rb,0.30677e+00_rb,0.35645e+00_rb,0.41535e+00_rb,0.48073e+00_rb /) kbo(:,40,10) = (/ & & 0.23006e+00_rb,0.26273e+00_rb,0.30670e+00_rb,0.35934e+00_rb,0.41871e+00_rb /) kbo(:,41,10) = (/ & & 0.19681e+00_rb,0.22601e+00_rb,0.26383e+00_rb,0.31041e+00_rb,0.36443e+00_rb /) kbo(:,42,10) = (/ & & 0.16794e+00_rb,0.19457e+00_rb,0.22757e+00_rb,0.26875e+00_rb,0.31708e+00_rb /) kbo(:,43,10) = (/ & & 0.14222e+00_rb,0.16606e+00_rb,0.19480e+00_rb,0.23049e+00_rb,0.27422e+00_rb /) kbo(:,44,10) = (/ & & 0.11907e+00_rb,0.14059e+00_rb,0.16567e+00_rb,0.19741e+00_rb,0.23557e+00_rb /) kbo(:,45,10) = (/ & & 0.99508e-01_rb,0.11792e+00_rb,0.14029e+00_rb,0.16912e+00_rb,0.20294e+00_rb /) kbo(:,46,10) = (/ & & 0.82787e-01_rb,0.98729e-01_rb,0.11783e+00_rb,0.14344e+00_rb,0.17433e+00_rb /) kbo(:,47,10) = (/ & & 0.68205e-01_rb,0.81739e-01_rb,0.98558e-01_rb,0.12017e+00_rb,0.14798e+00_rb /) kbo(:,48,10) = (/ & & 0.55907e-01_rb,0.67050e-01_rb,0.81465e-01_rb,0.10030e+00_rb,0.12506e+00_rb /) kbo(:,49,10) = (/ & & 0.45682e-01_rb,0.54871e-01_rb,0.66950e-01_rb,0.83270e-01_rb,0.10500e+00_rb /) kbo(:,50,10) = (/ & & 0.37515e-01_rb,0.45259e-01_rb,0.55584e-01_rb,0.69475e-01_rb,0.88432e-01_rb /) kbo(:,51,10) = (/ & & 0.31052e-01_rb,0.37347e-01_rb,0.46136e-01_rb,0.58029e-01_rb,0.74379e-01_rb /) kbo(:,52,10) = (/ & & 0.25697e-01_rb,0.30758e-01_rb,0.38027e-01_rb,0.48169e-01_rb,0.62340e-01_rb /) kbo(:,53,10) = (/ & & 0.21053e-01_rb,0.25282e-01_rb,0.31221e-01_rb,0.39765e-01_rb,0.52061e-01_rb /) kbo(:,54,10) = (/ & & 0.17506e-01_rb,0.21171e-01_rb,0.26181e-01_rb,0.33450e-01_rb,0.43837e-01_rb /) kbo(:,55,10) = (/ & & 0.14733e-01_rb,0.17912e-01_rb,0.22352e-01_rb,0.28517e-01_rb,0.37310e-01_rb /) kbo(:,56,10) = (/ & & 0.12382e-01_rb,0.15138e-01_rb,0.19031e-01_rb,0.24337e-01_rb,0.31780e-01_rb /) kbo(:,57,10) = (/ & & 0.10363e-01_rb,0.12802e-01_rb,0.16188e-01_rb,0.20731e-01_rb,0.27252e-01_rb /) kbo(:,58,10) = (/ & & 0.87632e-02_rb,0.10863e-01_rb,0.13823e-01_rb,0.17907e-01_rb,0.23570e-01_rb /) kbo(:,59,10) = (/ & & 0.79477e-02_rb,0.99708e-02_rb,0.12797e-01_rb,0.16832e-01_rb,0.22384e-01_rb /) kbo(:,13,11) = (/ & & 0.27028e+02_rb,0.27753e+02_rb,0.28483e+02_rb,0.29219e+02_rb,0.29909e+02_rb /) kbo(:,14,11) = (/ & & 0.23419e+02_rb,0.24025e+02_rb,0.24638e+02_rb,0.25228e+02_rb,0.25789e+02_rb /) kbo(:,15,11) = (/ & & 0.20150e+02_rb,0.20660e+02_rb,0.21151e+02_rb,0.21642e+02_rb,0.22118e+02_rb /) kbo(:,16,11) = (/ & & 0.17107e+02_rb,0.17510e+02_rb,0.17925e+02_rb,0.18355e+02_rb,0.18823e+02_rb /) kbo(:,17,11) = (/ & & 0.14361e+02_rb,0.14686e+02_rb,0.15035e+02_rb,0.15422e+02_rb,0.15903e+02_rb /) kbo(:,18,11) = (/ & & 0.12138e+02_rb,0.12397e+02_rb,0.12696e+02_rb,0.13058e+02_rb,0.13553e+02_rb /) kbo(:,19,11) = (/ & & 0.10135e+02_rb,0.10395e+02_rb,0.10708e+02_rb,0.11115e+02_rb,0.11638e+02_rb /) kbo(:,20,11) = (/ & & 0.81786e+01_rb,0.84190e+01_rb,0.87492e+01_rb,0.92221e+01_rb,0.97673e+01_rb /) kbo(:,21,11) = (/ & & 0.68203e+01_rb,0.70074e+01_rb,0.73249e+01_rb,0.77062e+01_rb,0.81227e+01_rb /) kbo(:,22,11) = (/ & & 0.58880e+01_rb,0.61142e+01_rb,0.64089e+01_rb,0.67273e+01_rb,0.70540e+01_rb /) kbo(:,23,11) = (/ & & 0.51482e+01_rb,0.53972e+01_rb,0.56613e+01_rb,0.59190e+01_rb,0.62039e+01_rb /) kbo(:,24,11) = (/ & & 0.45460e+01_rb,0.47798e+01_rb,0.50055e+01_rb,0.52340e+01_rb,0.54793e+01_rb /) kbo(:,25,11) = (/ & & 0.40038e+01_rb,0.42162e+01_rb,0.44356e+01_rb,0.46519e+01_rb,0.48861e+01_rb /) kbo(:,26,11) = (/ & & 0.35330e+01_rb,0.37282e+01_rb,0.39261e+01_rb,0.41342e+01_rb,0.43614e+01_rb /) kbo(:,27,11) = (/ & & 0.30918e+01_rb,0.32790e+01_rb,0.34783e+01_rb,0.36774e+01_rb,0.38933e+01_rb /) kbo(:,28,11) = (/ & & 0.27019e+01_rb,0.28880e+01_rb,0.30842e+01_rb,0.32755e+01_rb,0.34826e+01_rb /) kbo(:,29,11) = (/ & & 0.23567e+01_rb,0.25399e+01_rb,0.27237e+01_rb,0.29118e+01_rb,0.31184e+01_rb /) kbo(:,30,11) = (/ & & 0.20673e+01_rb,0.22421e+01_rb,0.24146e+01_rb,0.26001e+01_rb,0.28136e+01_rb /) kbo(:,31,11) = (/ & & 0.18233e+01_rb,0.19796e+01_rb,0.21491e+01_rb,0.23275e+01_rb,0.25391e+01_rb /) kbo(:,32,11) = (/ & & 0.16164e+01_rb,0.17629e+01_rb,0.19137e+01_rb,0.20921e+01_rb,0.23020e+01_rb /) kbo(:,33,11) = (/ & & 0.14325e+01_rb,0.15691e+01_rb,0.17171e+01_rb,0.18965e+01_rb,0.20991e+01_rb /) kbo(:,34,11) = (/ & & 0.12711e+01_rb,0.14025e+01_rb,0.15514e+01_rb,0.17231e+01_rb,0.19204e+01_rb /) kbo(:,35,11) = (/ & & 0.11251e+01_rb,0.12478e+01_rb,0.13948e+01_rb,0.15591e+01_rb,0.17428e+01_rb /) kbo(:,36,11) = (/ & & 0.98734e+00_rb,0.11026e+01_rb,0.12425e+01_rb,0.13991e+01_rb,0.15730e+01_rb /) kbo(:,37,11) = (/ & & 0.85152e+00_rb,0.96327e+00_rb,0.10911e+01_rb,0.12398e+01_rb,0.14045e+01_rb /) kbo(:,38,11) = (/ & & 0.73399e+00_rb,0.83942e+00_rb,0.95984e+00_rb,0.10967e+01_rb,0.12526e+01_rb /) kbo(:,39,11) = (/ & & 0.63468e+00_rb,0.73175e+00_rb,0.84488e+00_rb,0.97279e+00_rb,0.11163e+01_rb /) kbo(:,40,11) = (/ & & 0.54166e+00_rb,0.63099e+00_rb,0.73459e+00_rb,0.85525e+00_rb,0.98986e+00_rb /) kbo(:,41,11) = (/ & & 0.46341e+00_rb,0.54185e+00_rb,0.63786e+00_rb,0.75041e+00_rb,0.87557e+00_rb /) kbo(:,42,11) = (/ & & 0.39710e+00_rb,0.46604e+00_rb,0.55335e+00_rb,0.65788e+00_rb,0.77518e+00_rb /) kbo(:,43,11) = (/ & & 0.33809e+00_rb,0.39845e+00_rb,0.47656e+00_rb,0.56991e+00_rb,0.67763e+00_rb /) kbo(:,44,11) = (/ & & 0.28738e+00_rb,0.33811e+00_rb,0.40783e+00_rb,0.49238e+00_rb,0.58805e+00_rb /) kbo(:,45,11) = (/ & & 0.24372e+00_rb,0.28787e+00_rb,0.34858e+00_rb,0.42338e+00_rb,0.51131e+00_rb /) kbo(:,46,11) = (/ & & 0.20655e+00_rb,0.24407e+00_rb,0.29751e+00_rb,0.36239e+00_rb,0.44206e+00_rb /) kbo(:,47,11) = (/ & & 0.17359e+00_rb,0.20653e+00_rb,0.25158e+00_rb,0.30900e+00_rb,0.37888e+00_rb /) kbo(:,48,11) = (/ & & 0.14508e+00_rb,0.17395e+00_rb,0.21335e+00_rb,0.26232e+00_rb,0.32328e+00_rb /) kbo(:,49,11) = (/ & & 0.12016e+00_rb,0.14523e+00_rb,0.17928e+00_rb,0.22128e+00_rb,0.27412e+00_rb /) kbo(:,50,11) = (/ & & 0.99920e-01_rb,0.12218e+00_rb,0.15097e+00_rb,0.18907e+00_rb,0.23575e+00_rb /) kbo(:,51,11) = (/ & & 0.82909e-01_rb,0.10226e+00_rb,0.12737e+00_rb,0.16132e+00_rb,0.20378e+00_rb /) kbo(:,52,11) = (/ & & 0.68577e-01_rb,0.85131e-01_rb,0.10673e+00_rb,0.13644e+00_rb,0.17453e+00_rb /) kbo(:,53,11) = (/ & & 0.56302e-01_rb,0.70491e-01_rb,0.88684e-01_rb,0.11469e+00_rb,0.14786e+00_rb /) kbo(:,54,11) = (/ & & 0.47171e-01_rb,0.59185e-01_rb,0.74877e-01_rb,0.97387e-01_rb,0.12762e+00_rb /) kbo(:,55,11) = (/ & & 0.40028e-01_rb,0.50199e-01_rb,0.63960e-01_rb,0.83211e-01_rb,0.11104e+00_rb /) kbo(:,56,11) = (/ & & 0.33854e-01_rb,0.42508e-01_rb,0.54649e-01_rb,0.71262e-01_rb,0.95596e-01_rb /) kbo(:,57,11) = (/ & & 0.28590e-01_rb,0.36142e-01_rb,0.46409e-01_rb,0.61269e-01_rb,0.82012e-01_rb /) kbo(:,58,11) = (/ & & 0.24352e-01_rb,0.30934e-01_rb,0.39697e-01_rb,0.52483e-01_rb,0.71167e-01_rb /) kbo(:,59,11) = (/ & & 0.22598e-01_rb,0.29152e-01_rb,0.37468e-01_rb,0.48573e-01_rb,0.66434e-01_rb /) kbo(:,13,12) = (/ & & 0.57172e+02_rb,0.59297e+02_rb,0.61400e+02_rb,0.63512e+02_rb,0.65627e+02_rb /) kbo(:,14,12) = (/ & & 0.50361e+02_rb,0.52086e+02_rb,0.53828e+02_rb,0.55595e+02_rb,0.57346e+02_rb /) kbo(:,15,12) = (/ & & 0.44078e+02_rb,0.45453e+02_rb,0.46902e+02_rb,0.48347e+02_rb,0.49789e+02_rb /) kbo(:,16,12) = (/ & & 0.38395e+02_rb,0.39554e+02_rb,0.40754e+02_rb,0.41955e+02_rb,0.43150e+02_rb /) kbo(:,17,12) = (/ & & 0.33363e+02_rb,0.34355e+02_rb,0.35352e+02_rb,0.36337e+02_rb,0.37312e+02_rb /) kbo(:,18,12) = (/ & & 0.28599e+02_rb,0.29463e+02_rb,0.30307e+02_rb,0.31155e+02_rb,0.32043e+02_rb /) kbo(:,19,12) = (/ & & 0.24284e+02_rb,0.24982e+02_rb,0.25685e+02_rb,0.26424e+02_rb,0.27289e+02_rb /) kbo(:,20,12) = (/ & & 0.20576e+02_rb,0.21117e+02_rb,0.21693e+02_rb,0.22370e+02_rb,0.23304e+02_rb /) kbo(:,21,12) = (/ & & 0.17126e+02_rb,0.17629e+02_rb,0.18193e+02_rb,0.18968e+02_rb,0.20012e+02_rb /) kbo(:,22,12) = (/ & & 0.14084e+02_rb,0.14526e+02_rb,0.15112e+02_rb,0.15986e+02_rb,0.17086e+02_rb /) kbo(:,23,12) = (/ & & 0.11727e+02_rb,0.12073e+02_rb,0.12663e+02_rb,0.13546e+02_rb,0.14594e+02_rb /) kbo(:,24,12) = (/ & & 0.10116e+02_rb,0.10483e+02_rb,0.11087e+02_rb,0.11839e+02_rb,0.12630e+02_rb /) kbo(:,25,12) = (/ & & 0.89362e+01_rb,0.93748e+01_rb,0.99578e+01_rb,0.10576e+02_rb,0.11263e+02_rb /) kbo(:,26,12) = (/ & & 0.79574e+01_rb,0.84325e+01_rb,0.89960e+01_rb,0.95862e+01_rb,0.10135e+02_rb /) kbo(:,27,12) = (/ & & 0.71290e+01_rb,0.76343e+01_rb,0.81343e+01_rb,0.86609e+01_rb,0.91441e+01_rb /) kbo(:,28,12) = (/ & & 0.64441e+01_rb,0.69081e+01_rb,0.73340e+01_rb,0.77892e+01_rb,0.82579e+01_rb /) kbo(:,29,12) = (/ & & 0.57859e+01_rb,0.61904e+01_rb,0.65762e+01_rb,0.69937e+01_rb,0.74255e+01_rb /) kbo(:,30,12) = (/ & & 0.51602e+01_rb,0.55338e+01_rb,0.58953e+01_rb,0.62766e+01_rb,0.66823e+01_rb /) kbo(:,31,12) = (/ & & 0.45943e+01_rb,0.49270e+01_rb,0.52739e+01_rb,0.56298e+01_rb,0.60118e+01_rb /) kbo(:,32,12) = (/ & & 0.40881e+01_rb,0.44095e+01_rb,0.47450e+01_rb,0.50839e+01_rb,0.54488e+01_rb /) kbo(:,33,12) = (/ & & 0.36534e+01_rb,0.39549e+01_rb,0.42670e+01_rb,0.46043e+01_rb,0.49743e+01_rb /) kbo(:,34,12) = (/ & & 0.32874e+01_rb,0.35667e+01_rb,0.38571e+01_rb,0.41872e+01_rb,0.45862e+01_rb /) kbo(:,35,12) = (/ & & 0.29379e+01_rb,0.31963e+01_rb,0.34845e+01_rb,0.38151e+01_rb,0.42290e+01_rb /) kbo(:,36,12) = (/ & & 0.26101e+01_rb,0.28628e+01_rb,0.31405e+01_rb,0.34760e+01_rb,0.38927e+01_rb /) kbo(:,37,12) = (/ & & 0.23047e+01_rb,0.25368e+01_rb,0.28124e+01_rb,0.31292e+01_rb,0.35310e+01_rb /) kbo(:,38,12) = (/ & & 0.20413e+01_rb,0.22603e+01_rb,0.25129e+01_rb,0.28252e+01_rb,0.32149e+01_rb /) kbo(:,39,12) = (/ & & 0.18040e+01_rb,0.20133e+01_rb,0.22565e+01_rb,0.25571e+01_rb,0.29423e+01_rb /) kbo(:,40,12) = (/ & & 0.15898e+01_rb,0.17862e+01_rb,0.20189e+01_rb,0.22992e+01_rb,0.26576e+01_rb /) kbo(:,41,12) = (/ & & 0.14002e+01_rb,0.15861e+01_rb,0.18008e+01_rb,0.20620e+01_rb,0.24028e+01_rb /) kbo(:,42,12) = (/ & & 0.12302e+01_rb,0.14049e+01_rb,0.16015e+01_rb,0.18444e+01_rb,0.21658e+01_rb /) kbo(:,43,12) = (/ & & 0.10668e+01_rb,0.12258e+01_rb,0.14101e+01_rb,0.16347e+01_rb,0.19297e+01_rb /) kbo(:,44,12) = (/ & & 0.91800e+00_rb,0.10642e+01_rb,0.12324e+01_rb,0.14347e+01_rb,0.17074e+01_rb /) kbo(:,45,12) = (/ & & 0.78687e+00_rb,0.91967e+00_rb,0.10737e+01_rb,0.12598e+01_rb,0.15049e+01_rb /) kbo(:,46,12) = (/ & & 0.67148e+00_rb,0.79041e+00_rb,0.92761e+00_rb,0.10973e+01_rb,0.13177e+01_rb /) kbo(:,47,12) = (/ & & 0.57045e+00_rb,0.67640e+00_rb,0.80034e+00_rb,0.94779e+00_rb,0.11432e+01_rb /) kbo(:,48,12) = (/ & & 0.48142e+00_rb,0.57646e+00_rb,0.68676e+00_rb,0.82116e+00_rb,0.98898e+00_rb /) kbo(:,49,12) = (/ & & 0.40194e+00_rb,0.48757e+00_rb,0.58498e+00_rb,0.70838e+00_rb,0.85881e+00_rb /) kbo(:,50,12) = (/ & & 0.34095e+00_rb,0.41499e+00_rb,0.50425e+00_rb,0.61464e+00_rb,0.75451e+00_rb /) kbo(:,51,12) = (/ & & 0.29038e+00_rb,0.35608e+00_rb,0.43553e+00_rb,0.53422e+00_rb,0.66315e+00_rb /) kbo(:,52,12) = (/ & & 0.24615e+00_rb,0.30360e+00_rb,0.37359e+00_rb,0.46378e+00_rb,0.57808e+00_rb /) kbo(:,53,12) = (/ & & 0.20660e+00_rb,0.25764e+00_rb,0.31993e+00_rb,0.39869e+00_rb,0.50232e+00_rb /) kbo(:,54,12) = (/ & & 0.17518e+00_rb,0.22280e+00_rb,0.27852e+00_rb,0.34881e+00_rb,0.44243e+00_rb /) kbo(:,55,12) = (/ & & 0.14906e+00_rb,0.19392e+00_rb,0.24538e+00_rb,0.31045e+00_rb,0.39204e+00_rb /) kbo(:,56,12) = (/ & & 0.12564e+00_rb,0.16748e+00_rb,0.21535e+00_rb,0.27386e+00_rb,0.34816e+00_rb /) kbo(:,57,12) = (/ & & 0.10489e+00_rb,0.14334e+00_rb,0.18902e+00_rb,0.24147e+00_rb,0.30976e+00_rb /) kbo(:,58,12) = (/ & & 0.88415e-01_rb,0.12250e+00_rb,0.16566e+00_rb,0.21499e+00_rb,0.27515e+00_rb /) kbo(:,59,12) = (/ & & 0.80710e-01_rb,0.11375e+00_rb,0.15629e+00_rb,0.20737e+00_rb,0.26838e+00_rb /) kbo(:,13,13) = (/ & & 0.16465e+03_rb,0.16298e+03_rb,0.16413e+03_rb,0.16796e+03_rb,0.17425e+03_rb /) kbo(:,14,13) = (/ & & 0.14134e+03_rb,0.14223e+03_rb,0.14584e+03_rb,0.15183e+03_rb,0.15823e+03_rb /) kbo(:,15,13) = (/ & & 0.12334e+03_rb,0.12642e+03_rb,0.13170e+03_rb,0.13719e+03_rb,0.14248e+03_rb /) kbo(:,16,13) = (/ & & 0.10903e+03_rb,0.11350e+03_rb,0.11825e+03_rb,0.12284e+03_rb,0.12720e+03_rb /) kbo(:,17,13) = (/ & & 0.96744e+02_rb,0.10077e+03_rb,0.10473e+03_rb,0.10856e+03_rb,0.11225e+03_rb /) kbo(:,18,13) = (/ & & 0.85368e+02_rb,0.88669e+02_rb,0.91934e+02_rb,0.95127e+02_rb,0.98216e+02_rb /) kbo(:,19,13) = (/ & & 0.74865e+02_rb,0.77560e+02_rb,0.80263e+02_rb,0.82912e+02_rb,0.85499e+02_rb /) kbo(:,20,13) = (/ & & 0.65304e+02_rb,0.67588e+02_rb,0.69849e+02_rb,0.72099e+02_rb,0.74316e+02_rb /) kbo(:,21,13) = (/ & & 0.56704e+02_rb,0.58616e+02_rb,0.60541e+02_rb,0.62457e+02_rb,0.64444e+02_rb /) kbo(:,22,13) = (/ & & 0.49099e+02_rb,0.50788e+02_rb,0.52451e+02_rb,0.54119e+02_rb,0.55970e+02_rb /) kbo(:,23,13) = (/ & & 0.42076e+02_rb,0.43646e+02_rb,0.45230e+02_rb,0.46888e+02_rb,0.48798e+02_rb /) kbo(:,24,13) = (/ & & 0.35457e+02_rb,0.36904e+02_rb,0.38447e+02_rb,0.40262e+02_rb,0.42565e+02_rb /) kbo(:,25,13) = (/ & & 0.29832e+02_rb,0.31036e+02_rb,0.32508e+02_rb,0.34502e+02_rb,0.36979e+02_rb /) kbo(:,26,13) = (/ & & 0.25205e+02_rb,0.26348e+02_rb,0.27792e+02_rb,0.29788e+02_rb,0.32459e+02_rb /) kbo(:,27,13) = (/ & & 0.21486e+02_rb,0.22586e+02_rb,0.24162e+02_rb,0.26260e+02_rb,0.28944e+02_rb /) kbo(:,28,13) = (/ & & 0.18712e+02_rb,0.19693e+02_rb,0.21370e+02_rb,0.23591e+02_rb,0.26158e+02_rb /) kbo(:,29,13) = (/ & & 0.16630e+02_rb,0.17716e+02_rb,0.19369e+02_rb,0.21565e+02_rb,0.24102e+02_rb /) kbo(:,30,13) = (/ & & 0.14923e+02_rb,0.16119e+02_rb,0.17783e+02_rb,0.19989e+02_rb,0.22379e+02_rb /) kbo(:,31,13) = (/ & & 0.13532e+02_rb,0.14853e+02_rb,0.16576e+02_rb,0.18745e+02_rb,0.21084e+02_rb /) kbo(:,32,13) = (/ & & 0.12453e+02_rb,0.13784e+02_rb,0.15587e+02_rb,0.17718e+02_rb,0.20022e+02_rb /) kbo(:,33,13) = (/ & & 0.11580e+02_rb,0.13038e+02_rb,0.14851e+02_rb,0.16892e+02_rb,0.19192e+02_rb /) kbo(:,34,13) = (/ & & 0.10820e+02_rb,0.12376e+02_rb,0.14134e+02_rb,0.16152e+02_rb,0.18402e+02_rb /) kbo(:,35,13) = (/ & & 0.10116e+02_rb,0.11686e+02_rb,0.13402e+02_rb,0.15346e+02_rb,0.17556e+02_rb /) kbo(:,36,13) = (/ & & 0.93933e+01_rb,0.10910e+02_rb,0.12572e+02_rb,0.14432e+02_rb,0.16536e+02_rb /) kbo(:,37,13) = (/ & & 0.85160e+01_rb,0.99755e+01_rb,0.11554e+02_rb,0.13358e+02_rb,0.15350e+02_rb /) kbo(:,38,13) = (/ & & 0.77505e+01_rb,0.91225e+01_rb,0.10670e+02_rb,0.12380e+02_rb,0.14273e+02_rb /) kbo(:,39,13) = (/ & & 0.70897e+01_rb,0.83885e+01_rb,0.98694e+01_rb,0.11502e+02_rb,0.13343e+02_rb /) kbo(:,40,13) = (/ & & 0.63295e+01_rb,0.75506e+01_rb,0.89466e+01_rb,0.10495e+02_rb,0.12287e+02_rb /) kbo(:,41,13) = (/ & & 0.56302e+01_rb,0.67988e+01_rb,0.80957e+01_rb,0.96013e+01_rb,0.11280e+02_rb /) kbo(:,42,13) = (/ & & 0.50234e+01_rb,0.61071e+01_rb,0.73389e+01_rb,0.87816e+01_rb,0.10380e+02_rb /) kbo(:,43,13) = (/ & & 0.44225e+01_rb,0.54282e+01_rb,0.65963e+01_rb,0.79433e+01_rb,0.94666e+01_rb /) kbo(:,44,13) = (/ & & 0.38558e+01_rb,0.47912e+01_rb,0.58905e+01_rb,0.71478e+01_rb,0.86145e+01_rb /) kbo(:,45,13) = (/ & & 0.33575e+01_rb,0.42351e+01_rb,0.52475e+01_rb,0.64292e+01_rb,0.78296e+01_rb /) kbo(:,46,13) = (/ & & 0.29053e+01_rb,0.37074e+01_rb,0.46432e+01_rb,0.57484e+01_rb,0.70674e+01_rb /) kbo(:,47,13) = (/ & & 0.24706e+01_rb,0.31851e+01_rb,0.40524e+01_rb,0.50837e+01_rb,0.62990e+01_rb /) kbo(:,48,13) = (/ & & 0.20907e+01_rb,0.27320e+01_rb,0.35232e+01_rb,0.44689e+01_rb,0.55998e+01_rb /) kbo(:,49,13) = (/ & & 0.17652e+01_rb,0.23397e+01_rb,0.30525e+01_rb,0.39130e+01_rb,0.49641e+01_rb /) kbo(:,50,13) = (/ & & 0.14980e+01_rb,0.19995e+01_rb,0.26386e+01_rb,0.34309e+01_rb,0.43930e+01_rb /) kbo(:,51,13) = (/ & & 0.12883e+01_rb,0.17229e+01_rb,0.22808e+01_rb,0.30058e+01_rb,0.38921e+01_rb /) kbo(:,52,13) = (/ & & 0.11032e+01_rb,0.14878e+01_rb,0.19945e+01_rb,0.26225e+01_rb,0.34327e+01_rb /) kbo(:,53,13) = (/ & & 0.94256e+00_rb,0.12803e+01_rb,0.17436e+01_rb,0.23095e+01_rb,0.30258e+01_rb /) kbo(:,54,13) = (/ & & 0.80847e+00_rb,0.11045e+01_rb,0.15250e+01_rb,0.20573e+01_rb,0.27048e+01_rb /) kbo(:,55,13) = (/ & & 0.69972e+00_rb,0.95008e+00_rb,0.13215e+01_rb,0.18178e+01_rb,0.24326e+01_rb /) kbo(:,56,13) = (/ & & 0.60659e+00_rb,0.81298e+00_rb,0.11430e+01_rb,0.15925e+01_rb,0.21783e+01_rb /) kbo(:,57,13) = (/ & & 0.52664e+00_rb,0.69670e+00_rb,0.97998e+00_rb,0.13891e+01_rb,0.19333e+01_rb /) kbo(:,58,13) = (/ & & 0.45985e+00_rb,0.60682e+00_rb,0.84337e+00_rb,0.12113e+01_rb,0.17188e+01_rb /) kbo(:,59,13) = (/ & & 0.43853e+00_rb,0.57879e+00_rb,0.79018e+00_rb,0.11130e+01_rb,0.16039e+01_rb /) kbo(:,13,14) = (/ & & 0.86016e+03_rb,0.84626e+03_rb,0.83228e+03_rb,0.81817e+03_rb,0.80450e+03_rb /) kbo(:,14,14) = (/ & & 0.75981e+03_rb,0.74663e+03_rb,0.73345e+03_rb,0.72104e+03_rb,0.71224e+03_rb /) kbo(:,15,14) = (/ & & 0.66201e+03_rb,0.64993e+03_rb,0.63891e+03_rb,0.63210e+03_rb,0.62978e+03_rb /) kbo(:,16,14) = (/ & & 0.57014e+03_rb,0.56027e+03_rb,0.55466e+03_rb,0.55378e+03_rb,0.55721e+03_rb /) kbo(:,17,14) = (/ & & 0.48861e+03_rb,0.48354e+03_rb,0.48324e+03_rb,0.48760e+03_rb,0.49602e+03_rb /) kbo(:,18,14) = (/ & & 0.41987e+03_rb,0.41964e+03_rb,0.42411e+03_rb,0.43291e+03_rb,0.44575e+03_rb /) kbo(:,19,14) = (/ & & 0.36303e+03_rb,0.36702e+03_rb,0.37556e+03_rb,0.38834e+03_rb,0.40471e+03_rb /) kbo(:,20,14) = (/ & & 0.31651e+03_rb,0.32421e+03_rb,0.33627e+03_rb,0.35219e+03_rb,0.37072e+03_rb /) kbo(:,21,14) = (/ & & 0.27867e+03_rb,0.28947e+03_rb,0.30434e+03_rb,0.32131e+03_rb,0.33823e+03_rb /) kbo(:,22,14) = (/ & & 0.24916e+03_rb,0.26251e+03_rb,0.27768e+03_rb,0.29296e+03_rb,0.30844e+03_rb /) kbo(:,23,14) = (/ & & 0.22571e+03_rb,0.23932e+03_rb,0.25291e+03_rb,0.26670e+03_rb,0.28069e+03_rb /) kbo(:,24,14) = (/ & & 0.20503e+03_rb,0.21765e+03_rb,0.23029e+03_rb,0.24291e+03_rb,0.25575e+03_rb /) kbo(:,25,14) = (/ & & 0.18574e+03_rb,0.19763e+03_rb,0.20960e+03_rb,0.22151e+03_rb,0.23356e+03_rb /) kbo(:,26,14) = (/ & & 0.16825e+03_rb,0.17945e+03_rb,0.19085e+03_rb,0.20242e+03_rb,0.21406e+03_rb /) kbo(:,27,14) = (/ & & 0.15254e+03_rb,0.16311e+03_rb,0.17402e+03_rb,0.18521e+03_rb,0.19696e+03_rb /) kbo(:,28,14) = (/ & & 0.13815e+03_rb,0.14857e+03_rb,0.15913e+03_rb,0.17022e+03_rb,0.18238e+03_rb /) kbo(:,29,14) = (/ & & 0.12560e+03_rb,0.13571e+03_rb,0.14630e+03_rb,0.15763e+03_rb,0.17019e+03_rb /) kbo(:,30,14) = (/ & & 0.11497e+03_rb,0.12476e+03_rb,0.13550e+03_rb,0.14719e+03_rb,0.16044e+03_rb /) kbo(:,31,14) = (/ & & 0.10602e+03_rb,0.11577e+03_rb,0.12671e+03_rb,0.13889e+03_rb,0.15289e+03_rb /) kbo(:,32,14) = (/ & & 0.98519e+02_rb,0.10855e+03_rb,0.11978e+03_rb,0.13265e+03_rb,0.14744e+03_rb /) kbo(:,33,14) = (/ & & 0.92517e+02_rb,0.10274e+03_rb,0.11452e+03_rb,0.12822e+03_rb,0.14389e+03_rb /) kbo(:,34,14) = (/ & & 0.87441e+02_rb,0.97936e+02_rb,0.11044e+03_rb,0.12495e+03_rb,0.14148e+03_rb /) kbo(:,35,14) = (/ & & 0.82499e+02_rb,0.93333e+02_rb,0.10635e+03_rb,0.12151e+03_rb,0.13874e+03_rb /) kbo(:,36,14) = (/ & & 0.77442e+02_rb,0.88493e+02_rb,0.10184e+03_rb,0.11740e+03_rb,0.13513e+03_rb /) kbo(:,37,14) = (/ & & 0.71771e+02_rb,0.82731e+02_rb,0.96032e+02_rb,0.11158e+03_rb,0.12941e+03_rb /) kbo(:,38,14) = (/ & & 0.66727e+02_rb,0.77610e+02_rb,0.90795e+02_rb,0.10632e+03_rb,0.12415e+03_rb /) kbo(:,39,14) = (/ & & 0.62339e+02_rb,0.73113e+02_rb,0.86200e+02_rb,0.10167e+03_rb,0.11942e+03_rb /) kbo(:,40,14) = (/ & & 0.57601e+02_rb,0.67999e+02_rb,0.80724e+02_rb,0.95858e+02_rb,0.11323e+03_rb /) kbo(:,41,14) = (/ & & 0.53285e+02_rb,0.63203e+02_rb,0.75577e+02_rb,0.90242e+02_rb,0.10726e+03_rb /) kbo(:,42,14) = (/ & & 0.49392e+02_rb,0.58908e+02_rb,0.70834e+02_rb,0.85045e+02_rb,0.10163e+03_rb /) kbo(:,43,14) = (/ & & 0.45446e+02_rb,0.54452e+02_rb,0.65751e+02_rb,0.79402e+02_rb,0.95397e+02_rb /) kbo(:,44,14) = (/ & & 0.41620e+02_rb,0.50184e+02_rb,0.60777e+02_rb,0.73786e+02_rb,0.89076e+02_rb /) kbo(:,45,14) = (/ & & 0.38059e+02_rb,0.46282e+02_rb,0.56226e+02_rb,0.68539e+02_rb,0.83136e+02_rb /) kbo(:,46,14) = (/ & & 0.34554e+02_rb,0.42501e+02_rb,0.51829e+02_rb,0.63383e+02_rb,0.77220e+02_rb /) kbo(:,47,14) = (/ & & 0.31009e+02_rb,0.38610e+02_rb,0.47385e+02_rb,0.58058e+02_rb,0.71080e+02_rb /) kbo(:,48,14) = (/ & & 0.27715e+02_rb,0.34934e+02_rb,0.43319e+02_rb,0.53190e+02_rb,0.65347e+02_rb /) kbo(:,49,14) = (/ & & 0.24658e+02_rb,0.31478e+02_rb,0.39500e+02_rb,0.48743e+02_rb,0.59997e+02_rb /) kbo(:,50,14) = (/ & & 0.22034e+02_rb,0.28437e+02_rb,0.36093e+02_rb,0.44894e+02_rb,0.55346e+02_rb /) kbo(:,51,14) = (/ & & 0.19684e+02_rb,0.25626e+02_rb,0.32937e+02_rb,0.41385e+02_rb,0.51154e+02_rb /) kbo(:,52,14) = (/ & & 0.17504e+02_rb,0.22995e+02_rb,0.29925e+02_rb,0.38057e+02_rb,0.47307e+02_rb /) kbo(:,53,14) = (/ & & 0.15552e+02_rb,0.20544e+02_rb,0.27079e+02_rb,0.34832e+02_rb,0.43722e+02_rb /) kbo(:,54,14) = (/ & & 0.13886e+02_rb,0.18476e+02_rb,0.24607e+02_rb,0.31966e+02_rb,0.40540e+02_rb /) kbo(:,55,14) = (/ & & 0.12396e+02_rb,0.16681e+02_rb,0.22385e+02_rb,0.29384e+02_rb,0.37592e+02_rb /) kbo(:,56,14) = (/ & & 0.11028e+02_rb,0.15006e+02_rb,0.20297e+02_rb,0.26955e+02_rb,0.34780e+02_rb /) kbo(:,57,14) = (/ & & 0.97493e+01_rb,0.13452e+02_rb,0.18354e+02_rb,0.24644e+02_rb,0.32099e+02_rb /) kbo(:,58,14) = (/ & & 0.86411e+01_rb,0.12068e+02_rb,0.16627e+02_rb,0.22569e+02_rb,0.29684e+02_rb /) kbo(:,59,14) = (/ & & 0.80894e+01_rb,0.11449e+02_rb,0.15905e+02_rb,0.21753e+02_rb,0.28728e+02_rb /) kbo(:,13,15) = (/ & & 0.50046e+04_rb,0.50034e+04_rb,0.49950e+04_rb,0.49781e+04_rb,0.49542e+04_rb /) kbo(:,14,15) = (/ & & 0.51812e+04_rb,0.51738e+04_rb,0.51582e+04_rb,0.51357e+04_rb,0.51054e+04_rb /) kbo(:,15,15) = (/ & & 0.52793e+04_rb,0.52645e+04_rb,0.52450e+04_rb,0.52172e+04_rb,0.51836e+04_rb /) kbo(:,16,15) = (/ & & 0.53001e+04_rb,0.52818e+04_rb,0.52568e+04_rb,0.52274e+04_rb,0.51924e+04_rb /) kbo(:,17,15) = (/ & & 0.52448e+04_rb,0.52242e+04_rb,0.52004e+04_rb,0.51715e+04_rb,0.51377e+04_rb /) kbo(:,18,15) = (/ & & 0.51200e+04_rb,0.51031e+04_rb,0.50817e+04_rb,0.50571e+04_rb,0.50308e+04_rb /) kbo(:,19,15) = (/ & & 0.49389e+04_rb,0.49284e+04_rb,0.49153e+04_rb,0.49007e+04_rb,0.48819e+04_rb /) kbo(:,20,15) = (/ & & 0.47181e+04_rb,0.47168e+04_rb,0.47163e+04_rb,0.47129e+04_rb,0.47111e+04_rb /) kbo(:,21,15) = (/ & & 0.44718e+04_rb,0.44865e+04_rb,0.44990e+04_rb,0.45153e+04_rb,0.45403e+04_rb /) kbo(:,22,15) = (/ & & 0.42192e+04_rb,0.42497e+04_rb,0.42861e+04_rb,0.43316e+04_rb,0.43809e+04_rb /) kbo(:,23,15) = (/ & & 0.39727e+04_rb,0.40275e+04_rb,0.40936e+04_rb,0.41646e+04_rb,0.42404e+04_rb /) kbo(:,24,15) = (/ & & 0.37507e+04_rb,0.38336e+04_rb,0.39239e+04_rb,0.40206e+04_rb,0.41209e+04_rb /) kbo(:,25,15) = (/ & & 0.35606e+04_rb,0.36694e+04_rb,0.37826e+04_rb,0.39026e+04_rb,0.40244e+04_rb /) kbo(:,26,15) = (/ & & 0.34043e+04_rb,0.35364e+04_rb,0.36731e+04_rb,0.38130e+04_rb,0.39519e+04_rb /) kbo(:,27,15) = (/ & & 0.32803e+04_rb,0.34346e+04_rb,0.35912e+04_rb,0.37476e+04_rb,0.39014e+04_rb /) kbo(:,28,15) = (/ & & 0.31876e+04_rb,0.33610e+04_rb,0.35344e+04_rb,0.37042e+04_rb,0.38699e+04_rb /) kbo(:,29,15) = (/ & & 0.31239e+04_rb,0.33137e+04_rb,0.34995e+04_rb,0.36813e+04_rb,0.38573e+04_rb /) kbo(:,30,15) = (/ & & 0.30850e+04_rb,0.32872e+04_rb,0.34837e+04_rb,0.36745e+04_rb,0.38591e+04_rb /) kbo(:,31,15) = (/ & & 0.30674e+04_rb,0.32795e+04_rb,0.34848e+04_rb,0.36826e+04_rb,0.38724e+04_rb /) kbo(:,32,15) = (/ & & 0.30683e+04_rb,0.32879e+04_rb,0.34990e+04_rb,0.37022e+04_rb,0.38953e+04_rb /) kbo(:,33,15) = (/ & & 0.30831e+04_rb,0.33087e+04_rb,0.35243e+04_rb,0.37303e+04_rb,0.39250e+04_rb /) kbo(:,34,15) = (/ & & 0.31017e+04_rb,0.33308e+04_rb,0.35496e+04_rb,0.37580e+04_rb,0.39527e+04_rb /) kbo(:,35,15) = (/ & & 0.31057e+04_rb,0.33387e+04_rb,0.35601e+04_rb,0.37700e+04_rb,0.39654e+04_rb /) kbo(:,36,15) = (/ & & 0.30895e+04_rb,0.33260e+04_rb,0.35504e+04_rb,0.37630e+04_rb,0.39606e+04_rb /) kbo(:,37,15) = (/ & & 0.30400e+04_rb,0.32811e+04_rb,0.35096e+04_rb,0.37263e+04_rb,0.39277e+04_rb /) kbo(:,38,15) = (/ & & 0.29913e+04_rb,0.32361e+04_rb,0.34690e+04_rb,0.36890e+04_rb,0.38942e+04_rb /) kbo(:,39,15) = (/ & & 0.29441e+04_rb,0.31926e+04_rb,0.34294e+04_rb,0.36526e+04_rb,0.38612e+04_rb /) kbo(:,40,15) = (/ & & 0.28722e+04_rb,0.31254e+04_rb,0.33667e+04_rb,0.35943e+04_rb,0.38073e+04_rb /) kbo(:,41,15) = (/ & & 0.27971e+04_rb,0.30548e+04_rb,0.33004e+04_rb,0.35326e+04_rb,0.37505e+04_rb /) kbo(:,42,15) = (/ & & 0.27226e+04_rb,0.29837e+04_rb,0.32336e+04_rb,0.34701e+04_rb,0.36925e+04_rb /) kbo(:,43,15) = (/ & & 0.26332e+04_rb,0.28981e+04_rb,0.31525e+04_rb,0.33944e+04_rb,0.36223e+04_rb /) kbo(:,44,15) = (/ & & 0.25372e+04_rb,0.28050e+04_rb,0.30643e+04_rb,0.33114e+04_rb,0.35441e+04_rb /) kbo(:,45,15) = (/ & & 0.24417e+04_rb,0.27113e+04_rb,0.29748e+04_rb,0.32268e+04_rb,0.34651e+04_rb /) kbo(:,46,15) = (/ & & 0.23395e+04_rb,0.26115e+04_rb,0.28783e+04_rb,0.31351e+04_rb,0.33792e+04_rb /) kbo(:,47,15) = (/ & & 0.22243e+04_rb,0.24998e+04_rb,0.27694e+04_rb,0.30313e+04_rb,0.32810e+04_rb /) kbo(:,48,15) = (/ & & 0.21083e+04_rb,0.23877e+04_rb,0.26592e+04_rb,0.29257e+04_rb,0.31803e+04_rb /) kbo(:,49,15) = (/ & & 0.19925e+04_rb,0.22741e+04_rb,0.25488e+04_rb,0.28180e+04_rb,0.30783e+04_rb /) kbo(:,50,15) = (/ & & 0.18841e+04_rb,0.21666e+04_rb,0.24447e+04_rb,0.27159e+04_rb,0.29806e+04_rb /) kbo(:,51,15) = (/ & & 0.17798e+04_rb,0.20618e+04_rb,0.23428e+04_rb,0.26160e+04_rb,0.28839e+04_rb /) kbo(:,52,15) = (/ & & 0.16762e+04_rb,0.19574e+04_rb,0.22398e+04_rb,0.25156e+04_rb,0.27862e+04_rb /) kbo(:,53,15) = (/ & & 0.15731e+04_rb,0.18530e+04_rb,0.21358e+04_rb,0.24152e+04_rb,0.26872e+04_rb /) kbo(:,54,15) = (/ & & 0.14802e+04_rb,0.17581e+04_rb,0.20401e+04_rb,0.23219e+04_rb,0.25956e+04_rb /) kbo(:,55,15) = (/ & & 0.13915e+04_rb,0.16675e+04_rb,0.19488e+04_rb,0.22318e+04_rb,0.25080e+04_rb /) kbo(:,56,15) = (/ & & 0.13039e+04_rb,0.15778e+04_rb,0.18577e+04_rb,0.21406e+04_rb,0.24200e+04_rb /) kbo(:,57,15) = (/ & & 0.12167e+04_rb,0.14890e+04_rb,0.17672e+04_rb,0.20493e+04_rb,0.23313e+04_rb /) kbo(:,58,15) = (/ & & 0.11349e+04_rb,0.14057e+04_rb,0.16818e+04_rb,0.19631e+04_rb,0.22464e+04_rb /) kbo(:,59,15) = (/ & & 0.11025e+04_rb,0.13721e+04_rb,0.16476e+04_rb,0.19283e+04_rb,0.22117e+04_rb /) kbo(:,13,16) = (/ & & 0.12492e+05_rb,0.12602e+05_rb,0.12678e+05_rb,0.12730e+05_rb,0.12749e+05_rb /) kbo(:,14,16) = (/ & & 0.14696e+05_rb,0.14792e+05_rb,0.14862e+05_rb,0.14890e+05_rb,0.14889e+05_rb /) kbo(:,15,16) = (/ & & 0.17153e+05_rb,0.17242e+05_rb,0.17275e+05_rb,0.17274e+05_rb,0.17231e+05_rb /) kbo(:,16,16) = (/ & & 0.19843e+05_rb,0.19894e+05_rb,0.19898e+05_rb,0.19845e+05_rb,0.19747e+05_rb /) kbo(:,17,16) = (/ & & 0.22727e+05_rb,0.22731e+05_rb,0.22667e+05_rb,0.22551e+05_rb,0.22386e+05_rb /) kbo(:,18,16) = (/ & & 0.25761e+05_rb,0.25684e+05_rb,0.25544e+05_rb,0.25342e+05_rb,0.25070e+05_rb /) kbo(:,19,16) = (/ & & 0.28878e+05_rb,0.28701e+05_rb,0.28454e+05_rb,0.28131e+05_rb,0.27759e+05_rb /) kbo(:,20,16) = (/ & & 0.31981e+05_rb,0.31695e+05_rb,0.31314e+05_rb,0.30871e+05_rb,0.30360e+05_rb /) kbo(:,21,16) = (/ & & 0.35017e+05_rb,0.34575e+05_rb,0.34064e+05_rb,0.33480e+05_rb,0.32821e+05_rb /) kbo(:,22,16) = (/ & & 0.37854e+05_rb,0.37264e+05_rb,0.36589e+05_rb,0.35840e+05_rb,0.35046e+05_rb /) kbo(:,23,16) = (/ & & 0.40473e+05_rb,0.39710e+05_rb,0.38862e+05_rb,0.37967e+05_rb,0.37023e+05_rb /) kbo(:,24,16) = (/ & & 0.42796e+05_rb,0.41864e+05_rb,0.40869e+05_rb,0.39817e+05_rb,0.38718e+05_rb /) kbo(:,25,16) = (/ & & 0.44813e+05_rb,0.43719e+05_rb,0.42578e+05_rb,0.41380e+05_rb,0.40143e+05_rb /) kbo(:,26,16) = (/ & & 0.46504e+05_rb,0.45263e+05_rb,0.43973e+05_rb,0.42641e+05_rb,0.41294e+05_rb /) kbo(:,27,16) = (/ & & 0.47893e+05_rb,0.46507e+05_rb,0.45087e+05_rb,0.43647e+05_rb,0.42197e+05_rb /) kbo(:,28,16) = (/ & & 0.48993e+05_rb,0.47480e+05_rb,0.45952e+05_rb,0.44417e+05_rb,0.42878e+05_rb /) kbo(:,29,16) = (/ & & 0.49823e+05_rb,0.48206e+05_rb,0.46588e+05_rb,0.44969e+05_rb,0.43353e+05_rb /) kbo(:,30,16) = (/ & & 0.50415e+05_rb,0.48716e+05_rb,0.47025e+05_rb,0.45339e+05_rb,0.43659e+05_rb /) kbo(:,31,16) = (/ & & 0.50811e+05_rb,0.49042e+05_rb,0.47288e+05_rb,0.45543e+05_rb,0.43813e+05_rb /) kbo(:,32,16) = (/ & & 0.51032e+05_rb,0.49203e+05_rb,0.47400e+05_rb,0.45610e+05_rb,0.43841e+05_rb /) kbo(:,33,16) = (/ & & 0.51107e+05_rb,0.49234e+05_rb,0.47393e+05_rb,0.45565e+05_rb,0.43775e+05_rb /) kbo(:,34,16) = (/ & & 0.51130e+05_rb,0.49228e+05_rb,0.47350e+05_rb,0.45497e+05_rb,0.43688e+05_rb /) kbo(:,35,16) = (/ & & 0.51256e+05_rb,0.49316e+05_rb,0.47413e+05_rb,0.45540e+05_rb,0.43711e+05_rb /) kbo(:,36,16) = (/ & & 0.51519e+05_rb,0.49555e+05_rb,0.47626e+05_rb,0.45731e+05_rb,0.43885e+05_rb /) kbo(:,37,16) = (/ & & 0.52034e+05_rb,0.50041e+05_rb,0.48090e+05_rb,0.46168e+05_rb,0.44302e+05_rb /) kbo(:,38,16) = (/ & & 0.52529e+05_rb,0.50511e+05_rb,0.48535e+05_rb,0.46595e+05_rb,0.44706e+05_rb /) kbo(:,39,16) = (/ & & 0.52985e+05_rb,0.50952e+05_rb,0.48954e+05_rb,0.46996e+05_rb,0.45085e+05_rb /) kbo(:,40,16) = (/ & & 0.53633e+05_rb,0.51575e+05_rb,0.49556e+05_rb,0.47578e+05_rb,0.45648e+05_rb /) kbo(:,41,16) = (/ & & 0.54289e+05_rb,0.52211e+05_rb,0.50171e+05_rb,0.48171e+05_rb,0.46220e+05_rb /) kbo(:,42,16) = (/ & & 0.54932e+05_rb,0.52836e+05_rb,0.50778e+05_rb,0.48759e+05_rb,0.46785e+05_rb /) kbo(:,43,16) = (/ & & 0.55673e+05_rb,0.53569e+05_rb,0.51488e+05_rb,0.49449e+05_rb,0.47456e+05_rb /) kbo(:,44,16) = (/ & & 0.56461e+05_rb,0.54346e+05_rb,0.52247e+05_rb,0.50190e+05_rb,0.48178e+05_rb /) kbo(:,45,16) = (/ & & 0.57241e+05_rb,0.55121e+05_rb,0.53007e+05_rb,0.50929e+05_rb,0.48897e+05_rb /) kbo(:,46,16) = (/ & & 0.58063e+05_rb,0.55933e+05_rb,0.53806e+05_rb,0.51710e+05_rb,0.49656e+05_rb /) kbo(:,47,16) = (/ & & 0.58978e+05_rb,0.56828e+05_rb,0.54697e+05_rb,0.52582e+05_rb,0.50505e+05_rb /) kbo(:,48,16) = (/ & & 0.59891e+05_rb,0.57720e+05_rb,0.55586e+05_rb,0.53459e+05_rb,0.51367e+05_rb /) kbo(:,49,16) = (/ & & 0.60795e+05_rb,0.58621e+05_rb,0.56472e+05_rb,0.54336e+05_rb,0.52224e+05_rb /) kbo(:,50,16) = (/ & & 0.61639e+05_rb,0.59466e+05_rb,0.57298e+05_rb,0.55162e+05_rb,0.53034e+05_rb /) kbo(:,51,16) = (/ & & 0.62447e+05_rb,0.60284e+05_rb,0.58110e+05_rb,0.55961e+05_rb,0.53824e+05_rb /) kbo(:,52,16) = (/ & & 0.63240e+05_rb,0.61098e+05_rb,0.58916e+05_rb,0.56760e+05_rb,0.54612e+05_rb /) kbo(:,53,16) = (/ & & 0.64030e+05_rb,0.61903e+05_rb,0.59727e+05_rb,0.57558e+05_rb,0.55411e+05_rb /) kbo(:,54,16) = (/ & & 0.64735e+05_rb,0.62637e+05_rb,0.60471e+05_rb,0.58287e+05_rb,0.56138e+05_rb /) kbo(:,55,16) = (/ & & 0.65407e+05_rb,0.63332e+05_rb,0.61181e+05_rb,0.59003e+05_rb,0.56834e+05_rb /) kbo(:,56,16) = (/ & & 0.66069e+05_rb,0.64015e+05_rb,0.61881e+05_rb,0.59702e+05_rb,0.57529e+05_rb /) kbo(:,57,16) = (/ & & 0.66725e+05_rb,0.64683e+05_rb,0.62576e+05_rb,0.60411e+05_rb,0.58225e+05_rb /) kbo(:,58,16) = (/ & & 0.67327e+05_rb,0.65315e+05_rb,0.63232e+05_rb,0.61078e+05_rb,0.58891e+05_rb /) kbo(:,59,16) = (/ & & 0.67577e+05_rb,0.65572e+05_rb,0.63496e+05_rb,0.61349e+05_rb,0.59161e+05_rb /) ! ----------------------------------------------------------------- forrefo(:, 1) = (/ 0.299818e-05_rb, 0.209282e-05_rb, 0.988353e-04_rb, 0.632178e-03_rb /) forrefo(:, 2) = (/ 0.633648e-05_rb, 0.509214e-04_rb, 0.650535e-03_rb, 0.264019e-02_rb /) forrefo(:, 3) = (/ 0.636782e-04_rb, 0.136577e-03_rb, 0.166500e-02_rb, 0.750821e-02_rb /) forrefo(:, 4) = (/ 0.472314e-03_rb, 0.988296e-03_rb, 0.585751e-02_rb, 0.187352e-01_rb /) forrefo(:, 5) = (/ 0.558635e-02_rb, 0.856489e-02_rb, 0.157438e-01_rb, 0.181471e-01_rb /) forrefo(:, 6) = (/ 0.217395e-01_rb, 0.229156e-01_rb, 0.230125e-01_rb, 0.143821e-01_rb /) forrefo(:, 7) = (/ 0.277222e-01_rb, 0.299252e-01_rb, 0.208929e-01_rb, 0.826748e-02_rb /) forrefo(:, 8) = (/ 0.252119e-01_rb, 0.262911e-01_rb, 0.187663e-01_rb, 0.417110e-02_rb /) forrefo(:, 9) = (/ 0.304941e-01_rb, 0.175545e-01_rb, 0.971224e-02_rb, 0.142023e-02_rb /) forrefo(:,10) = (/ 0.327200e-01_rb, 0.215788e-01_rb, 0.346831e-02_rb, 0.157989e-02_rb /) forrefo(:,11) = (/ 0.324955e-01_rb, 0.228571e-01_rb, 0.171749e-02_rb, 0.226853e-02_rb /) forrefo(:,12) = (/ 0.326588e-01_rb, 0.198544e-01_rb, 0.532339e-06_rb, 0.279086e-02_rb /) forrefo(:,13) = (/ 0.345157e-01_rb, 0.168679e-01_rb, 0.505361e-06_rb, 0.276647e-02_rb /) forrefo(:,14) = (/ 0.448765e-01_rb, 0.123791e-02_rb, 0.488367e-06_rb, 0.122245e-02_rb /) forrefo(:,15) = (/ 0.486925e-01_rb, 0.464371e-06_rb, 0.464241e-06_rb, 0.753846e-06_rb /) forrefo(:,16) = (/ 0.530511e-01_rb, 0.376234e-06_rb, 0.409824e-06_rb, 0.470650e-06_rb /) ! ----------------------------------------------------------------- ! The array SELFREFO contains the coefficient of the water vapor ! self-continuum (including the energy term). The first index ! refers to temperature in 7.2 degree increments. For instance, ! JT = 1 refers to a temperature of 245.6, JT = 2 refers to 252.8, ! etc. The second index runs over the g-channel (1 to 16). selfrefo(:, 1) = (/ & & 0.118069e+00_rb, 0.713523e-01_rb, 0.431199e-01_rb, 0.260584e-01_rb, 0.157477e-01_rb, & & 0.951675e-02_rb, 0.575121e-02_rb, 0.347560e-02_rb, 0.210039e-02_rb, 0.126932e-02_rb /) selfrefo(:, 2) = (/ & & 0.137081e-01_rb, 0.139046e-01_rb, 0.141040e-01_rb, 0.143061e-01_rb, 0.145112e-01_rb, & & 0.147193e-01_rb, 0.149303e-01_rb, 0.151443e-01_rb, 0.153614e-01_rb, 0.155816e-01_rb /) selfrefo(:, 3) = (/ & & 0.166575e-01_rb, 0.164916e-01_rb, 0.163273e-01_rb, 0.161647e-01_rb, 0.160037e-01_rb, & & 0.158443e-01_rb, 0.156864e-01_rb, 0.155302e-01_rb, 0.153755e-01_rb, 0.152224e-01_rb /) selfrefo(:, 4) = (/ & & 0.597379e-01_rb, 0.509517e-01_rb, 0.434579e-01_rb, 0.370662e-01_rb, 0.316145e-01_rb, & & 0.269647e-01_rb, 0.229988e-01_rb, 0.196162e-01_rb, 0.167311e-01_rb, 0.142703e-01_rb /) selfrefo(:, 5) = (/ & & 0.227517e+00_rb, 0.198401e+00_rb, 0.173011e+00_rb, 0.150870e+00_rb, 0.131563e+00_rb, & & 0.114726e+00_rb, 0.100044e+00_rb, 0.872415e-01_rb, 0.760769e-01_rb, 0.663411e-01_rb /) selfrefo(:, 6) = (/ & & 0.453235e+00_rb, 0.414848e+00_rb, 0.379712e+00_rb, 0.347552e+00_rb, 0.318116e+00_rb, & & 0.291173e+00_rb, 0.266512e+00_rb, 0.243940e+00_rb, 0.223279e+00_rb, 0.204368e+00_rb /) selfrefo(:, 7) = (/ & & 0.569263e+00_rb, 0.516415e+00_rb, 0.468473e+00_rb, 0.424982e+00_rb, 0.385528e+00_rb, & & 0.349737e+00_rb, 0.317269e+00_rb, 0.287815e+00_rb, 0.261095e+00_rb, 0.236856e+00_rb /) selfrefo(:, 8) = (/ & & 0.490314e+00_rb, 0.448042e+00_rb, 0.409413e+00_rb, 0.374116e+00_rb, 0.341861e+00_rb, & & 0.312387e+00_rb, 0.285455e+00_rb, 0.260844e+00_rb, 0.238355e+00_rb, 0.217805e+00_rb /) selfrefo(:, 9) = (/ & & 0.258162e+00_rb, 0.265085e+00_rb, 0.272193e+00_rb, 0.279493e+00_rb, 0.286988e+00_rb, & & 0.294684e+00_rb, 0.302586e+00_rb, 0.310701e+00_rb, 0.319033e+00_rb, 0.327588e+00_rb /) selfrefo(:,10) = (/ & & 0.332019e+00_rb, 0.331902e+00_rb, 0.331784e+00_rb, 0.331666e+00_rb, 0.331549e+00_rb, & & 0.331431e+00_rb, 0.331314e+00_rb, 0.331197e+00_rb, 0.331079e+00_rb, 0.330962e+00_rb /) selfrefo(:,11) = (/ & & 0.357523e+00_rb, 0.353154e+00_rb, 0.348839e+00_rb, 0.344576e+00_rb, 0.340366e+00_rb, & & 0.336207e+00_rb, 0.332099e+00_rb, 0.328041e+00_rb, 0.324032e+00_rb, 0.320073e+00_rb /) selfrefo(:,12) = (/ & & 0.294662e+00_rb, 0.299043e+00_rb, 0.303488e+00_rb, 0.308000e+00_rb, 0.312579e+00_rb, & & 0.317226e+00_rb, 0.321941e+00_rb, 0.326727e+00_rb, 0.331585e+00_rb, 0.336514e+00_rb /) selfrefo(:,13) = (/ & & 0.227445e+00_rb, 0.241545e+00_rb, 0.256519e+00_rb, 0.272422e+00_rb, 0.289311e+00_rb, & & 0.307247e+00_rb, 0.326294e+00_rb, 0.346523e+00_rb, 0.368005e+00_rb, 0.390820e+00_rb /) selfrefo(:,14) = (/ & & 0.616203e-02_rb, 0.113523e-01_rb, 0.209144e-01_rb, 0.385307e-01_rb, 0.709852e-01_rb, & & 0.130776e+00_rb, 0.240929e+00_rb, 0.443865e+00_rb, 0.817733e+00_rb, 0.150651e+01_rb /) selfrefo(:,15) = (/ & & 0.279552e-03_rb, 0.808472e-03_rb, 0.233812e-02_rb, 0.676192e-02_rb, 0.195557e-01_rb, & & 0.565555e-01_rb, 0.163560e+00_rb, 0.473020e+00_rb, 0.136799e+01_rb, 0.395626e+01_rb /) selfrefo(:,16) = (/ & & 0.261006e-03_rb, 0.771043e-03_rb, 0.227776e-02_rb, 0.672879e-02_rb, 0.198777e-01_rb, & & 0.587212e-01_rb, 0.173470e+00_rb, 0.512452e+00_rb, 0.151385e+01_rb, 0.447209e+01_rb /) end subroutine sw_kgb29 ! path: $Source: /storm/rc1/cvsroot/rc/rrtmg_sw/src/rrtmg_sw_reftra.f90,v $ ! author: $Author: mike $ ! revision: $Revision: 1.5 $ ! created: $Date: 2009/05/22 22:22:22 $ module rrtmg_sw_reftra ! -------------------------------------------------------------------------- ! | | ! | Copyright 2002-2009, Atmospheric & Environmental Research, Inc. (AER). | ! | This software may be used, copied, or redistributed as long as it is | ! | not sold and this copyright notice is reproduced on each copy made. | ! | This model is provided as is without any express or implied warranties. | ! | (http://www.rtweb.aer.com/) | ! | | ! -------------------------------------------------------------------------- ! ------- Modules ------- use parkind, only : im => kind_im, rb => kind_rb use rrsw_tbl, only : tblint, bpade, od_lo, exp_tbl use rrsw_vsn, only : hvrrft, hnamrft implicit none contains ! -------------------------------------------------------------------- subroutine reftra_sw(nlayers, lrtchk, pgg, prmuz, ptau, pw, & pref, prefd, ptra, ptrad) ! -------------------------------------------------------------------- ! Purpose: computes the reflectivity and transmissivity of a clear or ! cloudy layer using a choice of various approximations. ! ! Interface: *rrtmg_sw_reftra* is called by *rrtmg_sw_spcvrt* ! ! Description: ! explicit arguments : ! -------------------- ! inputs ! ------ ! lrtchk = .t. for all layers in clear profile ! lrtchk = .t. for cloudy layers in cloud profile ! = .f. for clear layers in cloud profile ! pgg = assymetry factor ! prmuz = cosine solar zenith angle ! ptau = optical thickness ! pw = single scattering albedo ! ! outputs ! ------- ! pref : collimated beam reflectivity ! prefd : diffuse beam reflectivity ! ptra : collimated beam transmissivity ! ptrad : diffuse beam transmissivity ! ! ! Method: ! ------- ! standard delta-eddington, p.i.f.m., or d.o.m. layer calculations. ! kmodts = 1 eddington (joseph et al., 1976) ! = 2 pifm (zdunkowski et al., 1980) ! = 3 discrete ordinates (liou, 1973) ! ! ! Modifications: ! -------------- ! Original: J-JMorcrette, ECMWF, Feb 2003 ! Revised for F90 reformatting: MJIacono, AER, Jul 2006 ! Revised to add exponential lookup table: MJIacono, AER, Aug 2007 ! ! ------------------------------------------------------------------ ! ------- Declarations ------ ! ------- Input ------- integer(kind=im), intent(in) :: nlayers logical, intent(in) :: lrtchk(:) ! Logical flag for reflectivity and ! and transmissivity calculation; ! Dimensions: (nlayers) real(kind=rb), intent(in) :: pgg(:) ! asymmetry parameter ! Dimensions: (nlayers) real(kind=rb), intent(in) :: ptau(:) ! optical depth ! Dimensions: (nlayers) real(kind=rb), intent(in) :: pw(:) ! single scattering albedo ! Dimensions: (nlayers) real(kind=rb), intent(in) :: prmuz ! cosine of solar zenith angle ! ------- Output ------- real(kind=rb), intent(inout) :: pref(:) ! direct beam reflectivity ! Dimensions: (nlayers+1) real(kind=rb), intent(inout) :: prefd(:) ! diffuse beam reflectivity ! Dimensions: (nlayers+1) real(kind=rb), intent(inout) :: ptra(:) ! direct beam transmissivity ! Dimensions: (nlayers+1) real(kind=rb), intent(inout) :: ptrad(:) ! diffuse beam transmissivity ! Dimensions: (nlayers+1) ! ------- Local ------- integer(kind=im) :: jk, jl, kmodts integer(kind=im) :: itind real(kind=rb) :: tblind real(kind=rb) :: za, za1, za2 real(kind=rb) :: zbeta, zdend, zdenr, zdent real(kind=rb) :: ze1, ze2, zem1, zem2, zemm, zep1, zep2 real(kind=rb) :: zg, zg3, zgamma1, zgamma2, zgamma3, zgamma4, zgt real(kind=rb) :: zr1, zr2, zr3, zr4, zr5 real(kind=rb) :: zrk, zrk2, zrkg, zrm1, zrp, zrp1, zrpp real(kind=rb) :: zsr3, zt1, zt2, zt3, zt4, zt5, zto1 real(kind=rb) :: zw, zwcrit, zwo real(kind=rb), parameter :: eps = 1.e-08_rb ! ------------------------------------------------------------------ ! Initialize hvrrft = '$Revision: 1.5 $' zsr3=sqrt(3._rb) zwcrit=0.9999995_rb kmodts=2 do jk=1, nlayers if (.not.lrtchk(jk)) then pref(jk) =0._rb ptra(jk) =1._rb prefd(jk)=0._rb ptrad(jk)=1._rb else zto1=ptau(jk) zw =pw(jk) zg =pgg(jk) ! General two-stream expressions zg3= 3._rb * zg if (kmodts == 1) then zgamma1= (7._rb - zw * (4._rb + zg3)) * 0.25_rb zgamma2=-(1._rb - zw * (4._rb - zg3)) * 0.25_rb zgamma3= (2._rb - zg3 * prmuz ) * 0.25_rb else if (kmodts == 2) then zgamma1= (8._rb - zw * (5._rb + zg3)) * 0.25_rb zgamma2= 3._rb *(zw * (1._rb - zg )) * 0.25_rb zgamma3= (2._rb - zg3 * prmuz ) * 0.25_rb else if (kmodts == 3) then zgamma1= zsr3 * (2._rb - zw * (1._rb + zg)) * 0.5_rb zgamma2= zsr3 * zw * (1._rb - zg ) * 0.5_rb zgamma3= (1._rb - zsr3 * zg * prmuz ) * 0.5_rb end if zgamma4= 1._rb - zgamma3 ! Recompute original s.s.a. to test for conservative solution zwo= zw / (1._rb - (1._rb - zw) * (zg / (1._rb - zg))**2) if (zwo >= zwcrit) then ! Conservative scattering za = zgamma1 * prmuz za1 = za - zgamma3 zgt = zgamma1 * zto1 ! Homogeneous reflectance and transmittance, ! collimated beam ze1 = min ( zto1 / prmuz , 500._rb) ! ze2 = exp( -ze1 ) ! Use exponential lookup table for transmittance, or expansion of ! exponential for low tau if (ze1 .le. od_lo) then ze2 = 1._rb - ze1 + 0.5_rb * ze1 * ze1 else tblind = ze1 / (bpade + ze1) itind = tblint * tblind + 0.5_rb ze2 = exp_tbl(itind) endif ! pref(jk) = (zgt - za1 * (1._rb - ze2)) / (1._rb + zgt) ptra(jk) = 1._rb - pref(jk) ! isotropic incidence prefd(jk) = zgt / (1._rb + zgt) ptrad(jk) = 1._rb - prefd(jk) ! This is applied for consistency between total (delta-scaled) and direct (unscaled) ! calculations at very low optical depths (tau < 1.e-4) when the exponential lookup ! table returns a transmittance of 1.0. if (ze2 .eq. 1.0_rb) then pref(jk) = 0.0_rb ptra(jk) = 1.0_rb prefd(jk) = 0.0_rb ptrad(jk) = 1.0_rb endif else ! Non-conservative scattering za1 = zgamma1 * zgamma4 + zgamma2 * zgamma3 za2 = zgamma1 * zgamma3 + zgamma2 * zgamma4 zrk = sqrt ( zgamma1**2 - zgamma2**2) zrp = zrk * prmuz zrp1 = 1._rb + zrp zrm1 = 1._rb - zrp zrk2 = 2._rb * zrk zrpp = 1._rb - zrp*zrp zrkg = zrk + zgamma1 zr1 = zrm1 * (za2 + zrk * zgamma3) zr2 = zrp1 * (za2 - zrk * zgamma3) zr3 = zrk2 * (zgamma3 - za2 * prmuz ) zr4 = zrpp * zrkg zr5 = zrpp * (zrk - zgamma1) zt1 = zrp1 * (za1 + zrk * zgamma4) zt2 = zrm1 * (za1 - zrk * zgamma4) zt3 = zrk2 * (zgamma4 + za1 * prmuz ) zt4 = zr4 zt5 = zr5 ! mji - reformulated code to avoid potential floating point exceptions ! zbeta = - zr5 / zr4 zbeta = (zgamma1 - zrk) / zrkg !! ! Homogeneous reflectance and transmittance ze1 = min ( zrk * zto1, 500._rb) ze2 = min ( zto1 / prmuz , 500._rb) ! ! Original ! zep1 = exp( ze1 ) ! zem1 = exp(-ze1 ) ! zep2 = exp( ze2 ) ! zem2 = exp(-ze2 ) ! ! Revised original, to reduce exponentials ! zep1 = exp( ze1 ) ! zem1 = 1._rb / zep1 ! zep2 = exp( ze2 ) ! zem2 = 1._rb / zep2 ! ! Use exponential lookup table for transmittance, or expansion of ! exponential for low tau if (ze1 .le. od_lo) then zem1 = 1._rb - ze1 + 0.5_rb * ze1 * ze1 zep1 = 1._rb / zem1 else tblind = ze1 / (bpade + ze1) itind = tblint * tblind + 0.5_rb zem1 = exp_tbl(itind) zep1 = 1._rb / zem1 endif if (ze2 .le. od_lo) then zem2 = 1._rb - ze2 + 0.5_rb * ze2 * ze2 zep2 = 1._rb / zem2 else tblind = ze2 / (bpade + ze2) itind = tblint * tblind + 0.5_rb zem2 = exp_tbl(itind) zep2 = 1._rb / zem2 endif ! collimated beam ! mji - reformulated code to avoid potential floating point exceptions ! zdenr = zr4*zep1 + zr5*zem1 ! pref(jk) = zw * (zr1*zep1 - zr2*zem1 - zr3*zem2) / zdenr ! zdent = zt4*zep1 + zt5*zem1 ! ptra(jk) = zem2 - zem2 * zw * (zt1*zep1 - zt2*zem1 - zt3*zep2) / zdent zdenr = zr4*zep1 + zr5*zem1 zdent = zt4*zep1 + zt5*zem1 if (zdenr .ge. -eps .and. zdenr .le. eps) then pref(jk) = eps ptra(jk) = zem2 else pref(jk) = zw * (zr1*zep1 - zr2*zem1 - zr3*zem2) / zdenr ptra(jk) = zem2 - zem2 * zw * (zt1*zep1 - zt2*zem1 - zt3*zep2) / zdent endif !! ! diffuse beam zemm = zem1*zem1 zdend = 1._rb / ( (1._rb - zbeta*zemm ) * zrkg) prefd(jk) = zgamma2 * (1._rb - zemm) * zdend ptrad(jk) = zrk2*zem1*zdend endif endif enddo end subroutine reftra_sw end module rrtmg_sw_reftra ! path: $Source: /storm/rc1/cvsroot/rc/rrtmg_sw/src/rrtmg_sw_setcoef.f90,v $ ! author: $Author: mike $ ! revision: $Revision: 1.4 $ ! created: $Date: 2009/05/22 22:22:22 $ module rrtmg_sw_setcoef ! -------------------------------------------------------------------------- ! | | ! | Copyright 2002-2009, Atmospheric & Environmental Research, Inc. (AER). | ! | This software may be used, copied, or redistributed as long as it is | ! | not sold and this copyright notice is reproduced on each copy made. | ! | This model is provided as is without any express or implied warranties. | ! | (http://www.rtweb.aer.com/) | ! | | ! -------------------------------------------------------------------------- ! ------- Modules ------- use parkind, only : im => kind_im, rb => kind_rb use parrrsw, only : mxmol use rrsw_ref, only : pref, preflog, tref use rrsw_vsn, only : hvrset, hnamset implicit none contains !---------------------------------------------------------------------------- subroutine setcoef_sw(nlayers, pavel, tavel, pz, tz, tbound, coldry, wkl, & laytrop, layswtch, laylow, jp, jt, jt1, & co2mult, colch4, colco2, colh2o, colmol, coln2o, & colo2, colo3, fac00, fac01, fac10, fac11, & selffac, selffrac, indself, forfac, forfrac, indfor) !---------------------------------------------------------------------------- ! ! Purpose: For a given atmosphere, calculate the indices and ! fractions related to the pressure and temperature interpolations. ! Modifications: ! Original: J. Delamere, AER, Inc. (version 2.5, 02/04/01) ! Revised: Rewritten and adapted to ECMWF F90, JJMorcrette 030224 ! Revised: For uniform rrtmg formatting, MJIacono, Jul 2006 ! ------ Declarations ------- ! ----- Input ----- integer(kind=im), intent(in) :: nlayers ! total number of layers real(kind=rb), intent(in) :: pavel(:) ! layer pressures (mb) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: tavel(:) ! layer temperatures (K) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: pz(0:) ! level (interface) pressures (hPa, mb) ! Dimensions: (0:nlayers) real(kind=rb), intent(in) :: tz(0:) ! level (interface) temperatures (K) ! Dimensions: (0:nlayers) real(kind=rb), intent(in) :: tbound ! surface temperature (K) real(kind=rb), intent(in) :: coldry(:) ! dry air column density (mol/cm2) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: wkl(:,:) ! molecular amounts (mol/cm-2) ! Dimensions: (mxmol,nlayers) ! ----- Output ----- integer(kind=im), intent(out) :: laytrop ! tropopause layer index integer(kind=im), intent(out) :: layswtch ! integer(kind=im), intent(out) :: laylow ! integer(kind=im), intent(out) :: jp(:) ! ! Dimensions: (nlayers) integer(kind=im), intent(out) :: jt(:) ! ! Dimensions: (nlayers) integer(kind=im), intent(out) :: jt1(:) ! ! Dimensions: (nlayers) real(kind=rb), intent(out) :: colh2o(:) ! column amount (h2o) ! Dimensions: (nlayers) real(kind=rb), intent(out) :: colco2(:) ! column amount (co2) ! Dimensions: (nlayers) real(kind=rb), intent(out) :: colo3(:) ! column amount (o3) ! Dimensions: (nlayers) real(kind=rb), intent(out) :: coln2o(:) ! column amount (n2o) ! Dimensions: (nlayers) real(kind=rb), intent(out) :: colch4(:) ! column amount (ch4) ! Dimensions: (nlayers) real(kind=rb), intent(out) :: colo2(:) ! column amount (o2) ! Dimensions: (nlayers) real(kind=rb), intent(out) :: colmol(:) ! ! Dimensions: (nlayers) real(kind=rb), intent(out) :: co2mult(:) ! ! Dimensions: (nlayers) integer(kind=im), intent(out) :: indself(:) ! Dimensions: (nlayers) integer(kind=im), intent(out) :: indfor(:) ! Dimensions: (nlayers) real(kind=rb), intent(out) :: selffac(:) ! Dimensions: (nlayers) real(kind=rb), intent(out) :: selffrac(:) ! Dimensions: (nlayers) real(kind=rb), intent(out) :: forfac(:) ! Dimensions: (nlayers) real(kind=rb), intent(out) :: forfrac(:) ! Dimensions: (nlayers) real(kind=rb), intent(out) :: & ! fac00(:), fac01(:), & ! Dimensions: (nlayers) fac10(:), fac11(:) ! ----- Local ----- integer(kind=im) :: indbound integer(kind=im) :: indlev0 integer(kind=im) :: lay integer(kind=im) :: jp1 real(kind=rb) :: stpfac real(kind=rb) :: tbndfrac real(kind=rb) :: t0frac real(kind=rb) :: plog real(kind=rb) :: fp real(kind=rb) :: ft real(kind=rb) :: ft1 real(kind=rb) :: water real(kind=rb) :: scalefac real(kind=rb) :: factor real(kind=rb) :: co2reg real(kind=rb) :: compfp ! Initializations stpfac = 296._rb/1013._rb indbound = tbound - 159._rb tbndfrac = tbound - int(tbound) indlev0 = tz(0) - 159._rb t0frac = tz(0) - int(tz(0)) laytrop = 0 layswtch = 0 laylow = 0 ! Begin layer loop do lay = 1, nlayers ! Find the two reference pressures on either side of the ! layer pressure. Store them in JP and JP1. Store in FP the ! fraction of the difference (in ln(pressure)) between these ! two values that the layer pressure lies. plog = log(pavel(lay)) jp(lay) = int(36._rb - 5*(plog+0.04_rb)) if (jp(lay) .lt. 1) then jp(lay) = 1 elseif (jp(lay) .gt. 58) then jp(lay) = 58 endif jp1 = jp(lay) + 1 fp = 5._rb * (preflog(jp(lay)) - plog) ! Determine, for each reference pressure (JP and JP1), which ! reference temperature (these are different for each ! reference pressure) is nearest the layer temperature but does ! not exceed it. Store these indices in JT and JT1, resp. ! Store in FT (resp. FT1) the fraction of the way between JT ! (JT1) and the next highest reference temperature that the ! layer temperature falls. jt(lay) = int(3._rb + (tavel(lay)-tref(jp(lay)))/15._rb) if (jt(lay) .lt. 1) then jt(lay) = 1 elseif (jt(lay) .gt. 4) then jt(lay) = 4 endif ft = ((tavel(lay)-tref(jp(lay)))/15._rb) - float(jt(lay)-3) jt1(lay) = int(3._rb + (tavel(lay)-tref(jp1))/15._rb) if (jt1(lay) .lt. 1) then jt1(lay) = 1 elseif (jt1(lay) .gt. 4) then jt1(lay) = 4 endif ft1 = ((tavel(lay)-tref(jp1))/15._rb) - float(jt1(lay)-3) water = wkl(1,lay)/coldry(lay) scalefac = pavel(lay) * stpfac / tavel(lay) ! If the pressure is less than ~100mb, perform a different ! set of species interpolations. if (plog .le. 4.56_rb) go to 5300 laytrop = laytrop + 1 if (plog .ge. 6.62_rb) laylow = laylow + 1 ! Set up factors needed to separately include the water vapor ! foreign-continuum in the calculation of absorption coefficient. forfac(lay) = scalefac / (1.+water) factor = (332.0_rb-tavel(lay))/36.0_rb indfor(lay) = min(2, max(1, int(factor))) forfrac(lay) = factor - float(indfor(lay)) ! Set up factors needed to separately include the water vapor ! self-continuum in the calculation of absorption coefficient. selffac(lay) = water * forfac(lay) factor = (tavel(lay)-188.0_rb)/7.2_rb indself(lay) = min(9, max(1, int(factor)-7)) selffrac(lay) = factor - float(indself(lay) + 7) ! Calculate needed column amounts. colh2o(lay) = 1.e-20_rb * wkl(1,lay) colco2(lay) = 1.e-20_rb * wkl(2,lay) colo3(lay) = 1.e-20_rb * wkl(3,lay) ! colo3(lay) = 0._rb ! colo3(lay) = colo3(lay)/1.16_rb coln2o(lay) = 1.e-20_rb * wkl(4,lay) colch4(lay) = 1.e-20_rb * wkl(6,lay) colo2(lay) = 1.e-20_rb * wkl(7,lay) colmol(lay) = 1.e-20_rb * coldry(lay) + colh2o(lay) ! colco2(lay) = 0._rb ! colo3(lay) = 0._rb ! coln2o(lay) = 0._rb ! colch4(lay) = 0._rb ! colo2(lay) = 0._rb ! colmol(lay) = 0._rb if (colco2(lay) .eq. 0._rb) colco2(lay) = 1.e-32_rb * coldry(lay) if (coln2o(lay) .eq. 0._rb) coln2o(lay) = 1.e-32_rb * coldry(lay) if (colch4(lay) .eq. 0._rb) colch4(lay) = 1.e-32_rb * coldry(lay) if (colo2(lay) .eq. 0._rb) colo2(lay) = 1.e-32_rb * coldry(lay) ! Using E = 1334.2 cm-1. co2reg = 3.55e-24_rb * coldry(lay) co2mult(lay)= (colco2(lay) - co2reg) * & 272.63_rb*exp(-1919.4_rb/tavel(lay))/(8.7604e-4_rb*tavel(lay)) goto 5400 ! Above laytrop. 5300 continue ! Set up factors needed to separately include the water vapor ! foreign-continuum in the calculation of absorption coefficient. forfac(lay) = scalefac / (1.+water) factor = (tavel(lay)-188.0_rb)/36.0_rb indfor(lay) = 3 forfrac(lay) = factor - 1.0_rb ! Calculate needed column amounts. colh2o(lay) = 1.e-20_rb * wkl(1,lay) colco2(lay) = 1.e-20_rb * wkl(2,lay) colo3(lay) = 1.e-20_rb * wkl(3,lay) coln2o(lay) = 1.e-20_rb * wkl(4,lay) colch4(lay) = 1.e-20_rb * wkl(6,lay) colo2(lay) = 1.e-20_rb * wkl(7,lay) colmol(lay) = 1.e-20_rb * coldry(lay) + colh2o(lay) if (colco2(lay) .eq. 0._rb) colco2(lay) = 1.e-32_rb * coldry(lay) if (coln2o(lay) .eq. 0._rb) coln2o(lay) = 1.e-32_rb * coldry(lay) if (colch4(lay) .eq. 0._rb) colch4(lay) = 1.e-32_rb * coldry(lay) if (colo2(lay) .eq. 0._rb) colo2(lay) = 1.e-32_rb * coldry(lay) co2reg = 3.55e-24_rb * coldry(lay) co2mult(lay)= (colco2(lay) - co2reg) * & 272.63_rb*exp(-1919.4_rb/tavel(lay))/(8.7604e-4_rb*tavel(lay)) selffac(lay) = 0._rb selffrac(lay)= 0._rb indself(lay) = 0 5400 continue ! We have now isolated the layer ln pressure and temperature, ! between two reference pressures and two reference temperatures ! (for each reference pressure). We multiply the pressure ! fraction FP with the appropriate temperature fractions to get ! the factors that will be needed for the interpolation that yields ! the optical depths (performed in routines TAUGBn for band n). compfp = 1._rb - fp fac10(lay) = compfp * ft fac00(lay) = compfp * (1._rb - ft) fac11(lay) = fp * ft1 fac01(lay) = fp * (1._rb - ft1) ! End layer loop enddo end subroutine setcoef_sw !*************************************************************************** subroutine swatmref !*************************************************************************** save ! These pressures are chosen such that the ln of the first pressure ! has only a few non-zero digits (i.e. ln(PREF(1)) = 6.96000) and ! each subsequent ln(pressure) differs from the previous one by 0.2. pref(:) = (/ & 1.05363e+03_rb,8.62642e+02_rb,7.06272e+02_rb,5.78246e+02_rb,4.73428e+02_rb, & 3.87610e+02_rb,3.17348e+02_rb,2.59823e+02_rb,2.12725e+02_rb,1.74164e+02_rb, & 1.42594e+02_rb,1.16746e+02_rb,9.55835e+01_rb,7.82571e+01_rb,6.40715e+01_rb, & 5.24573e+01_rb,4.29484e+01_rb,3.51632e+01_rb,2.87892e+01_rb,2.35706e+01_rb, & 1.92980e+01_rb,1.57998e+01_rb,1.29358e+01_rb,1.05910e+01_rb,8.67114e+00_rb, & 7.09933e+00_rb,5.81244e+00_rb,4.75882e+00_rb,3.89619e+00_rb,3.18993e+00_rb, & 2.61170e+00_rb,2.13828e+00_rb,1.75067e+00_rb,1.43333e+00_rb,1.17351e+00_rb, & 9.60789e-01_rb,7.86628e-01_rb,6.44036e-01_rb,5.27292e-01_rb,4.31710e-01_rb, & 3.53455e-01_rb,2.89384e-01_rb,2.36928e-01_rb,1.93980e-01_rb,1.58817e-01_rb, & 1.30029e-01_rb,1.06458e-01_rb,8.71608e-02_rb,7.13612e-02_rb,5.84256e-02_rb, & 4.78349e-02_rb,3.91639e-02_rb,3.20647e-02_rb,2.62523e-02_rb,2.14936e-02_rb, & 1.75975e-02_rb,1.44076e-02_rb,1.17959e-02_rb,9.65769e-03_rb /) preflog(:) = (/ & 6.9600e+00_rb, 6.7600e+00_rb, 6.5600e+00_rb, 6.3600e+00_rb, 6.1600e+00_rb, & 5.9600e+00_rb, 5.7600e+00_rb, 5.5600e+00_rb, 5.3600e+00_rb, 5.1600e+00_rb, & 4.9600e+00_rb, 4.7600e+00_rb, 4.5600e+00_rb, 4.3600e+00_rb, 4.1600e+00_rb, & 3.9600e+00_rb, 3.7600e+00_rb, 3.5600e+00_rb, 3.3600e+00_rb, 3.1600e+00_rb, & 2.9600e+00_rb, 2.7600e+00_rb, 2.5600e+00_rb, 2.3600e+00_rb, 2.1600e+00_rb, & 1.9600e+00_rb, 1.7600e+00_rb, 1.5600e+00_rb, 1.3600e+00_rb, 1.1600e+00_rb, & 9.6000e-01_rb, 7.6000e-01_rb, 5.6000e-01_rb, 3.6000e-01_rb, 1.6000e-01_rb, & -4.0000e-02_rb,-2.4000e-01_rb,-4.4000e-01_rb,-6.4000e-01_rb,-8.4000e-01_rb, & -1.0400e+00_rb,-1.2400e+00_rb,-1.4400e+00_rb,-1.6400e+00_rb,-1.8400e+00_rb, & -2.0400e+00_rb,-2.2400e+00_rb,-2.4400e+00_rb,-2.6400e+00_rb,-2.8400e+00_rb, & -3.0400e+00_rb,-3.2400e+00_rb,-3.4400e+00_rb,-3.6400e+00_rb,-3.8400e+00_rb, & -4.0400e+00_rb,-4.2400e+00_rb,-4.4400e+00_rb,-4.6400e+00_rb /) ! These are the temperatures associated with the respective ! pressures for the MLS standard atmosphere. tref(:) = (/ & 2.9420e+02_rb, 2.8799e+02_rb, 2.7894e+02_rb, 2.6925e+02_rb, 2.5983e+02_rb, & 2.5017e+02_rb, 2.4077e+02_rb, 2.3179e+02_rb, 2.2306e+02_rb, 2.1578e+02_rb, & 2.1570e+02_rb, 2.1570e+02_rb, 2.1570e+02_rb, 2.1706e+02_rb, 2.1858e+02_rb, & 2.2018e+02_rb, 2.2174e+02_rb, 2.2328e+02_rb, 2.2479e+02_rb, 2.2655e+02_rb, & 2.2834e+02_rb, 2.3113e+02_rb, 2.3401e+02_rb, 2.3703e+02_rb, 2.4022e+02_rb, & 2.4371e+02_rb, 2.4726e+02_rb, 2.5085e+02_rb, 2.5457e+02_rb, 2.5832e+02_rb, & 2.6216e+02_rb, 2.6606e+02_rb, 2.6999e+02_rb, 2.7340e+02_rb, 2.7536e+02_rb, & 2.7568e+02_rb, 2.7372e+02_rb, 2.7163e+02_rb, 2.6955e+02_rb, 2.6593e+02_rb, & 2.6211e+02_rb, 2.5828e+02_rb, 2.5360e+02_rb, 2.4854e+02_rb, 2.4348e+02_rb, & 2.3809e+02_rb, 2.3206e+02_rb, 2.2603e+02_rb, 2.2000e+02_rb, 2.1435e+02_rb, & 2.0887e+02_rb, 2.0340e+02_rb, 1.9792e+02_rb, 1.9290e+02_rb, 1.8809e+02_rb, & 1.8329e+02_rb, 1.7849e+02_rb, 1.7394e+02_rb, 1.7212e+02_rb /) end subroutine swatmref end module rrtmg_sw_setcoef ! path: $Source: /storm/rc1/cvsroot/rc/rrtmg_sw/src/rrtmg_sw_taumol.f90,v $ ! author: $Author: mike $ ! revision: $Revision: 1.5 $ ! created: $Date: 2009/05/22 22:22:22 $ module rrtmg_sw_taumol ! -------------------------------------------------------------------------- ! | | ! | Copyright 2002-2009, Atmospheric & Environmental Research, Inc. (AER). | ! | This software may be used, copied, or redistributed as long as it is | ! | not sold and this copyright notice is reproduced on each copy made. | ! | This model is provided as is without any express or implied warranties. | ! | (http://www.rtweb.aer.com/) | ! | | ! -------------------------------------------------------------------------- ! ------- Modules ------- use parkind, only : im => kind_im, rb => kind_rb ! use parrrsw, only : mg, jpband, nbndsw, ngptsw use rrsw_con, only: oneminus use rrsw_wvn, only: nspa, nspb use rrsw_vsn, only: hvrtau, hnamtau implicit none contains !---------------------------------------------------------------------------- subroutine taumol_sw(nlayers, & colh2o, colco2, colch4, colo2, colo3, colmol, & laytrop, jp, jt, jt1, & fac00, fac01, fac10, fac11, & selffac, selffrac, indself, forfac, forfrac, indfor, & sfluxzen, taug, taur) !---------------------------------------------------------------------------- ! ****************************************************************************** ! * * ! * Optical depths developed for the * ! * * ! * RAPID RADIATIVE TRANSFER MODEL (RRTM) * ! * * ! * * ! * ATMOSPHERIC AND ENVIRONMENTAL RESEARCH, INC. * ! * 131 HARTWELL AVENUE * ! * LEXINGTON, MA 02421 * ! * * ! * * ! * ELI J. MLAWER * ! * JENNIFER DELAMERE * ! * STEVEN J. TAUBMAN * ! * SHEPARD A. CLOUGH * ! * * ! * * ! * * ! * * ! * email: mlawer@aer.com * ! * email: jdelamer@aer.com * ! * * ! * The authors wish to acknowledge the contributions of the * ! * following people: Patrick D. Brown, Michael J. Iacono, * ! * Ronald E. Farren, Luke Chen, Robert Bergstrom. * ! * * ! ****************************************************************************** ! * TAUMOL * ! * * ! * This file contains the subroutines TAUGBn (where n goes from * ! * 1 to 28). TAUGBn calculates the optical depths and Planck fractions * ! * per g-value and layer for band n. * ! * * ! * Output: optical depths (unitless) * ! * fractions needed to compute Planck functions at every layer * ! * and g-value * ! * * ! * COMMON /TAUGCOM/ TAUG(MXLAY,MG) * ! * COMMON /PLANKG/ FRACS(MXLAY,MG) * ! * * ! * Input * ! * * ! * PARAMETER (MG=16, MXLAY=203, NBANDS=14) * ! * * ! * COMMON /FEATURES/ NG(NBANDS),NSPA(NBANDS),NSPB(NBANDS) * ! * COMMON /PRECISE/ ONEMINUS * ! * COMMON /PROFILE/ NLAYERS,PAVEL(MXLAY),TAVEL(MXLAY), * ! * & PZ(0:MXLAY),TZ(0:MXLAY),TBOUND * ! * COMMON /PROFDATA/ LAYTROP,LAYSWTCH,LAYLOW, * ! * & COLH2O(MXLAY),COLCO2(MXLAY), * ! * & COLO3(MXLAY),COLN2O(MXLAY),COLCH4(MXLAY), * ! * & COLO2(MXLAY),CO2MULT(MXLAY) * ! * COMMON /INTFAC/ FAC00(MXLAY),FAC01(MXLAY), * ! * & FAC10(MXLAY),FAC11(MXLAY) * ! * COMMON /INTIND/ JP(MXLAY),JT(MXLAY),JT1(MXLAY) * ! * COMMON /SELF/ SELFFAC(MXLAY), SELFFRAC(MXLAY), INDSELF(MXLAY) * ! * * ! * Description: * ! * NG(IBAND) - number of g-values in band IBAND * ! * NSPA(IBAND) - for the lower atmosphere, the number of reference * ! * atmospheres that are stored for band IBAND per * ! * pressure level and temperature. Each of these * ! * atmospheres has different relative amounts of the * ! * key species for the band (i.e. different binary * ! * species parameters). * ! * NSPB(IBAND) - same for upper atmosphere * ! * ONEMINUS - since problems are caused in some cases by interpolation * ! * parameters equal to or greater than 1, for these cases * ! * these parameters are set to this value, slightly < 1. * ! * PAVEL - layer pressures (mb) * ! * TAVEL - layer temperatures (degrees K) * ! * PZ - level pressures (mb) * ! * TZ - level temperatures (degrees K) * ! * LAYTROP - layer at which switch is made from one combination of * ! * key species to another * ! * COLH2O, COLCO2, COLO3, COLN2O, COLCH4 - column amounts of water * ! * vapor,carbon dioxide, ozone, nitrous ozide, methane, * ! * respectively (molecules/cm**2) * ! * CO2MULT - for bands in which carbon dioxide is implemented as a * ! * trace species, this is the factor used to multiply the * ! * band's average CO2 absorption coefficient to get the added * ! * contribution to the optical depth relative to 355 ppm. * ! * FACij(LAY) - for layer LAY, these are factors that are needed to * ! * compute the interpolation factors that multiply the * ! * appropriate reference k-values. A value of 0 (1) for * ! * i,j indicates that the corresponding factor multiplies * ! * reference k-value for the lower (higher) of the two * ! * appropriate temperatures, and altitudes, respectively. * ! * JP - the index of the lower (in altitude) of the two appropriate * ! * reference pressure levels needed for interpolation * ! * JT, JT1 - the indices of the lower of the two appropriate reference * ! * temperatures needed for interpolation (for pressure * ! * levels JP and JP+1, respectively) * ! * SELFFAC - scale factor needed to water vapor self-continuum, equals * ! * (water vapor density)/(atmospheric density at 296K and * ! * 1013 mb) * ! * SELFFRAC - factor needed for temperature interpolation of reference * ! * water vapor self-continuum data * ! * INDSELF - index of the lower of the two appropriate reference * ! * temperatures needed for the self-continuum interpolation * ! * * ! * Data input * ! * COMMON /Kn/ KA(NSPA(n),5,13,MG), KB(NSPB(n),5,13:59,MG), SELFREF(10,MG) * ! * (note: n is the band number) * ! * * ! * Description: * ! * KA - k-values for low reference atmospheres (no water vapor * ! * self-continuum) (units: cm**2/molecule) * ! * KB - k-values for high reference atmospheres (all sources) * ! * (units: cm**2/molecule) * ! * SELFREF - k-values for water vapor self-continuum for reference * ! * atmospheres (used below LAYTROP) * ! * (units: cm**2/molecule) * ! * * ! * DIMENSION ABSA(65*NSPA(n),MG), ABSB(235*NSPB(n),MG) * ! * EQUIVALENCE (KA,ABSA),(KB,ABSB) * ! * * ! ***************************************************************************** ! ! Modifications ! ! Revised: Adapted to F90 coding, J.-J.Morcrette, ECMWF, Feb 2003 ! Revised: Modified for g-point reduction, MJIacono, AER, Dec 2003 ! Revised: Reformatted for consistency with rrtmg_lw, MJIacono, AER, Jul 2006 ! ! ------- Declarations ------- ! ----- Input ----- integer(kind=im), intent(in) :: nlayers ! total number of layers integer(kind=im), intent(in) :: laytrop ! tropopause layer index integer(kind=im), intent(in) :: jp(:) ! ! Dimensions: (nlayers) integer(kind=im), intent(in) :: jt(:) ! ! Dimensions: (nlayers) integer(kind=im), intent(in) :: jt1(:) ! ! Dimensions: (nlayers) real(kind=rb), intent(in) :: colh2o(:) ! column amount (h2o) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: colco2(:) ! column amount (co2) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: colo3(:) ! column amount (o3) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: colch4(:) ! column amount (ch4) ! Dimensions: (nlayers) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: colo2(:) ! column amount (o2) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: colmol(:) ! ! Dimensions: (nlayers) integer(kind=im), intent(in) :: indself(:) ! Dimensions: (nlayers) integer(kind=im), intent(in) :: indfor(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: selffac(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: selffrac(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: forfac(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: forfrac(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: & ! fac00(:), fac01(:), & ! Dimensions: (nlayers) fac10(:), fac11(:) ! ----- Output ----- real(kind=rb), intent(out) :: sfluxzen(:) ! solar source function ! Dimensions: (ngptsw) real(kind=rb), intent(out) :: taug(:,:) ! gaseous optical depth ! Dimensions: (nlayers,ngptsw) real(kind=rb), intent(out) :: taur(:,:) ! Rayleigh ! Dimensions: (nlayers,ngptsw) ! real(kind=rb), intent(out) :: ssa(:,:) ! single scattering albedo (inactive) ! Dimensions: (nlayers,ngptsw) hvrtau = '$Revision: 1.5 $' ! Calculate gaseous optical depth and planck fractions for each spectral band. call taumol16 call taumol17 call taumol18 call taumol19 call taumol20 call taumol21 call taumol22 call taumol23 call taumol24 call taumol25 call taumol26 call taumol27 call taumol28 call taumol29 !------------- contains !------------- !---------------------------------------------------------------------------- subroutine taumol16 !---------------------------------------------------------------------------- ! ! band 16: 2600-3250 cm-1 (low - h2o,ch4; high - ch4) ! !---------------------------------------------------------------------------- ! ------- Modules ------- use parrrsw, only : ng16 use rrsw_kg16, only : absa, ka, absb, kb, forref, selfref, & sfluxref, rayl ! ------- Declarations ------- ! Local integer(kind=im) :: ig, ind0, ind1, inds, indf, js, lay, laysolfr, & layreffr real(kind=rb) :: fac000, fac001, fac010, fac011, fac100, fac101, & fac110, fac111, fs, speccomb, specmult, specparm, & tauray, strrat1 ! Compute the optical depth by interpolating in ln(pressure), ! temperature, and appropriate species. Below LAYTROP, the water ! vapor self-continuum is interpolated (in temperature) separately. strrat1 = 252.131_rb layreffr = 18 ! Lower atmosphere loop do lay = 1, laytrop speccomb = colh2o(lay) + strrat1*colch4(lay) specparm = colh2o(lay)/speccomb if (specparm .ge. oneminus) specparm = oneminus specmult = 8._rb*(specparm) js = 1 + int(specmult) fs = mod(specmult, 1._rb ) fac000 = (1._rb - fs) * fac00(lay) fac010 = (1._rb - fs) * fac10(lay) fac100 = fs * fac00(lay) fac110 = fs * fac10(lay) fac001 = (1._rb - fs) * fac01(lay) fac011 = (1._rb - fs) * fac11(lay) fac101 = fs * fac01(lay) fac111 = fs * fac11(lay) ind0 = ((jp(lay)-1)*5+(jt(lay)-1))*nspa(16) + js ind1 = (jp(lay)*5+(jt1(lay)-1))*nspa(16) + js inds = indself(lay) indf = indfor(lay) tauray = colmol(lay) * rayl do ig = 1, ng16 taug(lay,ig) = speccomb * & (fac000 * absa(ind0 ,ig) + & fac100 * absa(ind0 +1,ig) + & fac010 * absa(ind0 +9,ig) + & fac110 * absa(ind0+10,ig) + & fac001 * absa(ind1 ,ig) + & fac101 * absa(ind1 +1,ig) + & fac011 * absa(ind1 +9,ig) + & fac111 * absa(ind1+10,ig)) + & colh2o(lay) * & (selffac(lay) * (selfref(inds,ig) + & selffrac(lay) * & (selfref(inds+1,ig) - selfref(inds,ig))) + & forfac(lay) * (forref(indf,ig) + & forfrac(lay) * & (forref(indf+1,ig) - forref(indf,ig)))) ! ssa(lay,ig) = tauray/taug(lay,ig) taur(lay,ig) = tauray enddo enddo laysolfr = nlayers ! Upper atmosphere loop do lay = laytrop+1, nlayers if (jp(lay-1) .lt. layreffr .and. jp(lay) .ge. layreffr) & laysolfr = lay ind0 = ((jp(lay)-13)*5+(jt(lay)-1))*nspb(16) + 1 ind1 = ((jp(lay)-12)*5+(jt1(lay)-1))*nspb(16) + 1 tauray = colmol(lay) * rayl do ig = 1, ng16 taug(lay,ig) = colch4(lay) * & (fac00(lay) * absb(ind0 ,ig) + & fac10(lay) * absb(ind0+1,ig) + & fac01(lay) * absb(ind1 ,ig) + & fac11(lay) * absb(ind1+1,ig)) ! ssa(lay,ig) = tauray/taug(lay,ig) if (lay .eq. laysolfr) sfluxzen(ig) = sfluxref(ig) taur(lay,ig) = tauray enddo enddo end subroutine taumol16 !---------------------------------------------------------------------------- subroutine taumol17 !---------------------------------------------------------------------------- ! ! band 17: 3250-4000 cm-1 (low - h2o,co2; high - h2o,co2) ! !---------------------------------------------------------------------------- ! ------- Modules ------- use parrrsw, only : ng17, ngs16 use rrsw_kg17, only : absa, ka, absb, kb, forref, selfref, & sfluxref, rayl ! ------- Declarations ------- ! Local integer(kind=im) :: ig, ind0, ind1, inds, indf, js, lay, laysolfr, & layreffr real(kind=rb) :: fac000, fac001, fac010, fac011, fac100, fac101, & fac110, fac111, fs, speccomb, specmult, specparm, & tauray, strrat ! Compute the optical depth by interpolating in ln(pressure), ! temperature, and appropriate species. Below LAYTROP, the water ! vapor self-continuum is interpolated (in temperature) separately. strrat = 0.364641_rb layreffr = 30 ! Lower atmosphere loop do lay = 1, laytrop speccomb = colh2o(lay) + strrat*colco2(lay) specparm = colh2o(lay)/speccomb if (specparm .ge. oneminus) specparm = oneminus specmult = 8._rb*(specparm) js = 1 + int(specmult) fs = mod(specmult, 1._rb ) fac000 = (1._rb - fs) * fac00(lay) fac010 = (1._rb - fs) * fac10(lay) fac100 = fs * fac00(lay) fac110 = fs * fac10(lay) fac001 = (1._rb - fs) * fac01(lay) fac011 = (1._rb - fs) * fac11(lay) fac101 = fs * fac01(lay) fac111 = fs * fac11(lay) ind0 = ((jp(lay)-1)*5+(jt(lay)-1))*nspa(17) + js ind1 = (jp(lay)*5+(jt1(lay)-1))*nspa(17) + js inds = indself(lay) indf = indfor(lay) tauray = colmol(lay) * rayl do ig = 1, ng17 taug(lay,ngs16+ig) = speccomb * & (fac000 * absa(ind0,ig) + & fac100 * absa(ind0+1,ig) + & fac010 * absa(ind0+9,ig) + & fac110 * absa(ind0+10,ig) + & fac001 * absa(ind1,ig) + & fac101 * absa(ind1+1,ig) + & fac011 * absa(ind1+9,ig) + & fac111 * absa(ind1+10,ig)) + & colh2o(lay) * & (selffac(lay) * (selfref(inds,ig) + & selffrac(lay) * & (selfref(inds+1,ig) - selfref(inds,ig))) + & forfac(lay) * (forref(indf,ig) + & forfrac(lay) * & (forref(indf+1,ig) - forref(indf,ig)))) ! ssa(lay,ngs16+ig) = tauray/taug(lay,ngs16+ig) taur(lay,ngs16+ig) = tauray enddo enddo laysolfr = nlayers ! Upper atmosphere loop do lay = laytrop+1, nlayers if (jp(lay-1) .lt. layreffr .and. jp(lay) .ge. layreffr) & laysolfr = lay speccomb = colh2o(lay) + strrat*colco2(lay) specparm = colh2o(lay)/speccomb if (specparm .ge. oneminus) specparm = oneminus specmult = 4._rb*(specparm) js = 1 + int(specmult) fs = mod(specmult, 1._rb ) fac000 = (1._rb - fs) * fac00(lay) fac010 = (1._rb - fs) * fac10(lay) fac100 = fs * fac00(lay) fac110 = fs * fac10(lay) fac001 = (1._rb - fs) * fac01(lay) fac011 = (1._rb - fs) * fac11(lay) fac101 = fs * fac01(lay) fac111 = fs * fac11(lay) ind0 = ((jp(lay)-13)*5+(jt(lay)-1))*nspb(17) + js ind1 = ((jp(lay)-12)*5+(jt1(lay)-1))*nspb(17) + js indf = indfor(lay) tauray = colmol(lay) * rayl do ig = 1, ng17 taug(lay,ngs16+ig) = speccomb * & (fac000 * absb(ind0,ig) + & fac100 * absb(ind0+1,ig) + & fac010 * absb(ind0+5,ig) + & fac110 * absb(ind0+6,ig) + & fac001 * absb(ind1,ig) + & fac101 * absb(ind1+1,ig) + & fac011 * absb(ind1+5,ig) + & fac111 * absb(ind1+6,ig)) + & colh2o(lay) * & forfac(lay) * (forref(indf,ig) + & forfrac(lay) * & (forref(indf+1,ig) - forref(indf,ig))) ! ssa(lay,ngs16+ig) = tauray/taug(lay,ngs16+ig) if (lay .eq. laysolfr) sfluxzen(ngs16+ig) = sfluxref(ig,js) & + fs * (sfluxref(ig,js+1) - sfluxref(ig,js)) taur(lay,ngs16+ig) = tauray enddo enddo end subroutine taumol17 !---------------------------------------------------------------------------- subroutine taumol18 !---------------------------------------------------------------------------- ! ! band 18: 4000-4650 cm-1 (low - h2o,ch4; high - ch4) ! !---------------------------------------------------------------------------- ! ------- Modules ------- use parrrsw, only : ng18, ngs17 use rrsw_kg18, only : absa, ka, absb, kb, forref, selfref, & sfluxref, rayl ! ------- Declarations ------- ! Local integer(kind=im) :: ig, ind0, ind1, inds, indf, js, lay, laysolfr, & layreffr real(kind=rb) :: fac000, fac001, fac010, fac011, fac100, fac101, & fac110, fac111, fs, speccomb, specmult, specparm, & tauray, strrat ! Compute the optical depth by interpolating in ln(pressure), ! temperature, and appropriate species. Below LAYTROP, the water ! vapor self-continuum is interpolated (in temperature) separately. strrat = 38.9589_rb layreffr = 6 laysolfr = laytrop ! Lower atmosphere loop do lay = 1, laytrop if (jp(lay) .lt. layreffr .and. jp(lay+1) .ge. layreffr) & laysolfr = min(lay+1,laytrop) speccomb = colh2o(lay) + strrat*colch4(lay) specparm = colh2o(lay)/speccomb if (specparm .ge. oneminus) specparm = oneminus specmult = 8._rb*(specparm) js = 1 + int(specmult) fs = mod(specmult, 1._rb ) fac000 = (1._rb - fs) * fac00(lay) fac010 = (1._rb - fs) * fac10(lay) fac100 = fs * fac00(lay) fac110 = fs * fac10(lay) fac001 = (1._rb - fs) * fac01(lay) fac011 = (1._rb - fs) * fac11(lay) fac101 = fs * fac01(lay) fac111 = fs * fac11(lay) ind0 = ((jp(lay)-1)*5+(jt(lay)-1))*nspa(18) + js ind1 = (jp(lay)*5+(jt1(lay)-1))*nspa(18) + js inds = indself(lay) indf = indfor(lay) tauray = colmol(lay) * rayl do ig = 1, ng18 taug(lay,ngs17+ig) = speccomb * & (fac000 * absa(ind0,ig) + & fac100 * absa(ind0+1,ig) + & fac010 * absa(ind0+9,ig) + & fac110 * absa(ind0+10,ig) + & fac001 * absa(ind1,ig) + & fac101 * absa(ind1+1,ig) + & fac011 * absa(ind1+9,ig) + & fac111 * absa(ind1+10,ig)) + & colh2o(lay) * & (selffac(lay) * (selfref(inds,ig) + & selffrac(lay) * & (selfref(inds+1,ig) - selfref(inds,ig))) + & forfac(lay) * (forref(indf,ig) + & forfrac(lay) * & (forref(indf+1,ig) - forref(indf,ig)))) ! ssa(lay,ngs17+ig) = tauray/taug(lay,ngs17+ig) if (lay .eq. laysolfr) sfluxzen(ngs17+ig) = sfluxref(ig,js) & + fs * (sfluxref(ig,js+1) - sfluxref(ig,js)) taur(lay,ngs17+ig) = tauray enddo enddo ! Upper atmosphere loop do lay = laytrop+1, nlayers ind0 = ((jp(lay)-13)*5+(jt(lay)-1))*nspb(18) + 1 ind1 = ((jp(lay)-12)*5+(jt1(lay)-1))*nspb(18) + 1 tauray = colmol(lay) * rayl do ig = 1, ng18 taug(lay,ngs17+ig) = colch4(lay) * & (fac00(lay) * absb(ind0,ig) + & fac10(lay) * absb(ind0+1,ig) + & fac01(lay) * absb(ind1,ig) + & fac11(lay) * absb(ind1+1,ig)) ! ssa(lay,ngs17+ig) = tauray/taug(lay,ngs17+ig) taur(lay,ngs17+ig) = tauray enddo enddo end subroutine taumol18 !---------------------------------------------------------------------------- subroutine taumol19 !---------------------------------------------------------------------------- ! ! band 19: 4650-5150 cm-1 (low - h2o,co2; high - co2) ! !---------------------------------------------------------------------------- ! ------- Modules ------- use parrrsw, only : ng19, ngs18 use rrsw_kg19, only : absa, ka, absb, kb, forref, selfref, & sfluxref, rayl ! ------- Declarations ------- ! Local integer(kind=im) :: ig, ind0, ind1, inds, indf, js, lay, laysolfr, & layreffr real(kind=rb) :: fac000, fac001, fac010, fac011, fac100, fac101, & fac110, fac111, fs, speccomb, specmult, specparm, & tauray, strrat ! Compute the optical depth by interpolating in ln(pressure), ! temperature, and appropriate species. Below LAYTROP, the water ! vapor self-continuum is interpolated (in temperature) separately. strrat = 5.49281_rb layreffr = 3 laysolfr = laytrop ! Lower atmosphere loop do lay = 1, laytrop if (jp(lay) .lt. layreffr .and. jp(lay+1) .ge. layreffr) & laysolfr = min(lay+1,laytrop) speccomb = colh2o(lay) + strrat*colco2(lay) specparm = colh2o(lay)/speccomb if (specparm .ge. oneminus) specparm = oneminus specmult = 8._rb*(specparm) js = 1 + int(specmult) fs = mod(specmult, 1._rb ) fac000 = (1._rb - fs) * fac00(lay) fac010 = (1._rb - fs) * fac10(lay) fac100 = fs * fac00(lay) fac110 = fs * fac10(lay) fac001 = (1._rb - fs) * fac01(lay) fac011 = (1._rb - fs) * fac11(lay) fac101 = fs * fac01(lay) fac111 = fs * fac11(lay) ind0 = ((jp(lay)-1)*5+(jt(lay)-1))*nspa(19) + js ind1 = (jp(lay)*5+(jt1(lay)-1))*nspa(19) + js inds = indself(lay) indf = indfor(lay) tauray = colmol(lay) * rayl do ig = 1 , ng19 taug(lay,ngs18+ig) = speccomb * & (fac000 * absa(ind0,ig) + & fac100 * absa(ind0+1,ig) + & fac010 * absa(ind0+9,ig) + & fac110 * absa(ind0+10,ig) + & fac001 * absa(ind1,ig) + & fac101 * absa(ind1+1,ig) + & fac011 * absa(ind1+9,ig) + & fac111 * absa(ind1+10,ig)) + & colh2o(lay) * & (selffac(lay) * (selfref(inds,ig) + & selffrac(lay) * & (selfref(inds+1,ig) - selfref(inds,ig))) + & forfac(lay) * (forref(indf,ig) + & forfrac(lay) * & (forref(indf+1,ig) - forref(indf,ig)))) ! ssa(lay,ngs18+ig) = tauray/taug(lay,ngs18+ig) if (lay .eq. laysolfr) sfluxzen(ngs18+ig) = sfluxref(ig,js) & + fs * (sfluxref(ig,js+1) - sfluxref(ig,js)) taur(lay,ngs18+ig) = tauray enddo enddo ! Upper atmosphere loop do lay = laytrop+1, nlayers ind0 = ((jp(lay)-13)*5+(jt(lay)-1))*nspb(19) + 1 ind1 = ((jp(lay)-12)*5+(jt1(lay)-1))*nspb(19) + 1 tauray = colmol(lay) * rayl do ig = 1 , ng19 taug(lay,ngs18+ig) = colco2(lay) * & (fac00(lay) * absb(ind0,ig) + & fac10(lay) * absb(ind0+1,ig) + & fac01(lay) * absb(ind1,ig) + & fac11(lay) * absb(ind1+1,ig)) ! ssa(lay,ngs18+ig) = tauray/taug(lay,ngs18+ig) taur(lay,ngs18+ig) = tauray enddo enddo end subroutine taumol19 !---------------------------------------------------------------------------- subroutine taumol20 !---------------------------------------------------------------------------- ! ! band 20: 5150-6150 cm-1 (low - h2o; high - h2o) ! !---------------------------------------------------------------------------- ! ------- Modules ------- use parrrsw, only : ng20, ngs19 use rrsw_kg20, only : absa, ka, absb, kb, forref, selfref, & sfluxref, absch4, rayl implicit none ! ------- Declarations ------- ! Local integer(kind=im) :: ig, ind0, ind1, inds, indf, js, lay, laysolfr, & layreffr real(kind=rb) :: fac000, fac001, fac010, fac011, fac100, fac101, & fac110, fac111, fs, speccomb, specmult, specparm, & tauray ! Compute the optical depth by interpolating in ln(pressure), ! temperature, and appropriate species. Below LAYTROP, the water ! vapor self-continuum is interpolated (in temperature) separately. layreffr = 3 laysolfr = laytrop ! Lower atmosphere loop do lay = 1, laytrop if (jp(lay) .lt. layreffr .and. jp(lay+1) .ge. layreffr) & laysolfr = min(lay+1,laytrop) ind0 = ((jp(lay)-1)*5+(jt(lay)-1))*nspa(20) + 1 ind1 = (jp(lay)*5+(jt1(lay)-1))*nspa(20) + 1 inds = indself(lay) indf = indfor(lay) tauray = colmol(lay) * rayl do ig = 1, ng20 taug(lay,ngs19+ig) = colh2o(lay) * & ((fac00(lay) * absa(ind0,ig) + & fac10(lay) * absa(ind0+1,ig) + & fac01(lay) * absa(ind1,ig) + & fac11(lay) * absa(ind1+1,ig)) + & selffac(lay) * (selfref(inds,ig) + & selffrac(lay) * & (selfref(inds+1,ig) - selfref(inds,ig))) + & forfac(lay) * (forref(indf,ig) + & forfrac(lay) * & (forref(indf+1,ig) - forref(indf,ig)))) & + colch4(lay) * absch4(ig) ! ssa(lay,ngs19+ig) = tauray/taug(lay,ngs19+ig) taur(lay,ngs19+ig) = tauray if (lay .eq. laysolfr) sfluxzen(ngs19+ig) = sfluxref(ig) enddo enddo ! Upper atmosphere loop do lay = laytrop+1, nlayers ind0 = ((jp(lay)-13)*5+(jt(lay)-1))*nspb(20) + 1 ind1 = ((jp(lay)-12)*5+(jt1(lay)-1))*nspb(20) + 1 indf = indfor(lay) tauray = colmol(lay) * rayl do ig = 1, ng20 taug(lay,ngs19+ig) = colh2o(lay) * & (fac00(lay) * absb(ind0,ig) + & fac10(lay) * absb(ind0+1,ig) + & fac01(lay) * absb(ind1,ig) + & fac11(lay) * absb(ind1+1,ig) + & forfac(lay) * (forref(indf,ig) + & forfrac(lay) * & (forref(indf+1,ig) - forref(indf,ig)))) + & colch4(lay) * absch4(ig) ! ssa(lay,ngs19+ig) = tauray/taug(lay,ngs19+ig) taur(lay,ngs19+ig) = tauray enddo enddo end subroutine taumol20 !---------------------------------------------------------------------------- subroutine taumol21 !---------------------------------------------------------------------------- ! ! band 21: 6150-7700 cm-1 (low - h2o,co2; high - h2o,co2) ! !---------------------------------------------------------------------------- ! ------- Modules ------- use parrrsw, only : ng21, ngs20 use rrsw_kg21, only : absa, ka, absb, kb, forref, selfref, & sfluxref, rayl ! ------- Declarations ------- ! Local integer(kind=im) :: ig, ind0, ind1, inds, indf, js, lay, laysolfr, & layreffr real(kind=rb) :: fac000, fac001, fac010, fac011, fac100, fac101, & fac110, fac111, fs, speccomb, specmult, specparm, & tauray, strrat ! Compute the optical depth by interpolating in ln(pressure), ! temperature, and appropriate species. Below LAYTROP, the water ! vapor self-continuum is interpolated (in temperature) separately. strrat = 0.0045321_rb layreffr = 8 laysolfr = laytrop ! Lower atmosphere loop do lay = 1, laytrop if (jp(lay) .lt. layreffr .and. jp(lay+1) .ge. layreffr) & laysolfr = min(lay+1,laytrop) speccomb = colh2o(lay) + strrat*colco2(lay) specparm = colh2o(lay)/speccomb if (specparm .ge. oneminus) specparm = oneminus specmult = 8._rb*(specparm) js = 1 + int(specmult) fs = mod(specmult, 1._rb ) fac000 = (1._rb - fs) * fac00(lay) fac010 = (1._rb - fs) * fac10(lay) fac100 = fs * fac00(lay) fac110 = fs * fac10(lay) fac001 = (1._rb - fs) * fac01(lay) fac011 = (1._rb - fs) * fac11(lay) fac101 = fs * fac01(lay) fac111 = fs * fac11(lay) ind0 = ((jp(lay)-1)*5+(jt(lay)-1))*nspa(21) + js ind1 = (jp(lay)*5+(jt1(lay)-1))*nspa(21) + js inds = indself(lay) indf = indfor(lay) tauray = colmol(lay) * rayl do ig = 1, ng21 taug(lay,ngs20+ig) = speccomb * & (fac000 * absa(ind0,ig) + & fac100 * absa(ind0+1,ig) + & fac010 * absa(ind0+9,ig) + & fac110 * absa(ind0+10,ig) + & fac001 * absa(ind1,ig) + & fac101 * absa(ind1+1,ig) + & fac011 * absa(ind1+9,ig) + & fac111 * absa(ind1+10,ig)) + & colh2o(lay) * & (selffac(lay) * (selfref(inds,ig) + & selffrac(lay) * & (selfref(inds+1,ig) - selfref(inds,ig))) + & forfac(lay) * (forref(indf,ig) + & forfrac(lay) * & (forref(indf+1,ig) - forref(indf,ig)))) ! ssa(lay,ngs20+ig) = tauray/taug(lay,ngs20+ig) if (lay .eq. laysolfr) sfluxzen(ngs20+ig) = sfluxref(ig,js) & + fs * (sfluxref(ig,js+1) - sfluxref(ig,js)) taur(lay,ngs20+ig) = tauray enddo enddo ! Upper atmosphere loop do lay = laytrop+1, nlayers speccomb = colh2o(lay) + strrat*colco2(lay) specparm = colh2o(lay)/speccomb if (specparm .ge. oneminus) specparm = oneminus specmult = 4._rb*(specparm) js = 1 + int(specmult) fs = mod(specmult, 1._rb ) fac000 = (1._rb - fs) * fac00(lay) fac010 = (1._rb - fs) * fac10(lay) fac100 = fs * fac00(lay) fac110 = fs * fac10(lay) fac001 = (1._rb - fs) * fac01(lay) fac011 = (1._rb - fs) * fac11(lay) fac101 = fs * fac01(lay) fac111 = fs * fac11(lay) ind0 = ((jp(lay)-13)*5+(jt(lay)-1))*nspb(21) + js ind1 = ((jp(lay)-12)*5+(jt1(lay)-1))*nspb(21) + js indf = indfor(lay) tauray = colmol(lay) * rayl do ig = 1, ng21 taug(lay,ngs20+ig) = speccomb * & (fac000 * absb(ind0,ig) + & fac100 * absb(ind0+1,ig) + & fac010 * absb(ind0+5,ig) + & fac110 * absb(ind0+6,ig) + & fac001 * absb(ind1,ig) + & fac101 * absb(ind1+1,ig) + & fac011 * absb(ind1+5,ig) + & fac111 * absb(ind1+6,ig)) + & colh2o(lay) * & forfac(lay) * (forref(indf,ig) + & forfrac(lay) * & (forref(indf+1,ig) - forref(indf,ig))) ! ssa(lay,ngs20+ig) = tauray/taug(lay,ngs20+ig) taur(lay,ngs20+ig) = tauray enddo enddo end subroutine taumol21 !---------------------------------------------------------------------------- subroutine taumol22 !---------------------------------------------------------------------------- ! ! band 22: 7700-8050 cm-1 (low - h2o,o2; high - o2) ! !---------------------------------------------------------------------------- ! ------- Modules ------- use parrrsw, only : ng22, ngs21 use rrsw_kg22, only : absa, ka, absb, kb, forref, selfref, & sfluxref, rayl ! ------- Declarations ------- ! Local integer(kind=im) :: ig, ind0, ind1, inds, indf, js, lay, laysolfr, & layreffr real(kind=rb) :: fac000, fac001, fac010, fac011, fac100, fac101, & fac110, fac111, fs, speccomb, specmult, specparm, & tauray, o2adj, o2cont, strrat ! The following factor is the ratio of total O2 band intensity (lines ! and Mate continuum) to O2 band intensity (line only). It is needed ! to adjust the optical depths since the k's include only lines. o2adj = 1.6_rb ! Compute the optical depth by interpolating in ln(pressure), ! temperature, and appropriate species. Below LAYTROP, the water ! vapor self-continuum is interpolated (in temperature) separately. strrat = 0.022708_rb layreffr = 2 laysolfr = laytrop ! Lower atmosphere loop do lay = 1, laytrop if (jp(lay) .lt. layreffr .and. jp(lay+1) .ge. layreffr) & laysolfr = min(lay+1,laytrop) o2cont = 4.35e-4_rb*colo2(lay)/(350.0_rb*2.0_rb) speccomb = colh2o(lay) + o2adj*strrat*colo2(lay) specparm = colh2o(lay)/speccomb if (specparm .ge. oneminus) specparm = oneminus specmult = 8._rb*(specparm) ! odadj = specparm + o2adj * (1._rb - specparm) js = 1 + int(specmult) fs = mod(specmult, 1._rb ) fac000 = (1._rb - fs) * fac00(lay) fac010 = (1._rb - fs) * fac10(lay) fac100 = fs * fac00(lay) fac110 = fs * fac10(lay) fac001 = (1._rb - fs) * fac01(lay) fac011 = (1._rb - fs) * fac11(lay) fac101 = fs * fac01(lay) fac111 = fs * fac11(lay) ind0 = ((jp(lay)-1)*5+(jt(lay)-1))*nspa(22) + js ind1 = (jp(lay)*5+(jt1(lay)-1))*nspa(22) + js inds = indself(lay) indf = indfor(lay) tauray = colmol(lay) * rayl do ig = 1, ng22 taug(lay,ngs21+ig) = speccomb * & (fac000 * absa(ind0,ig) + & fac100 * absa(ind0+1,ig) + & fac010 * absa(ind0+9,ig) + & fac110 * absa(ind0+10,ig) + & fac001 * absa(ind1,ig) + & fac101 * absa(ind1+1,ig) + & fac011 * absa(ind1+9,ig) + & fac111 * absa(ind1+10,ig)) + & colh2o(lay) * & (selffac(lay) * (selfref(inds,ig) + & selffrac(lay) * & (selfref(inds+1,ig) - selfref(inds,ig))) + & forfac(lay) * (forref(indf,ig) + & forfrac(lay) * & (forref(indf+1,ig) - forref(indf,ig)))) & + o2cont ! ssa(lay,ngs21+ig) = tauray/taug(lay,ngs21+ig) if (lay .eq. laysolfr) sfluxzen(ngs21+ig) = sfluxref(ig,js) & + fs * (sfluxref(ig,js+1) - sfluxref(ig,js)) taur(lay,ngs21+ig) = tauray enddo enddo ! Upper atmosphere loop do lay = laytrop+1, nlayers o2cont = 4.35e-4_rb*colo2(lay)/(350.0_rb*2.0_rb) ind0 = ((jp(lay)-13)*5+(jt(lay)-1))*nspb(22) + 1 ind1 = ((jp(lay)-12)*5+(jt1(lay)-1))*nspb(22) + 1 tauray = colmol(lay) * rayl do ig = 1, ng22 taug(lay,ngs21+ig) = colo2(lay) * o2adj * & (fac00(lay) * absb(ind0,ig) + & fac10(lay) * absb(ind0+1,ig) + & fac01(lay) * absb(ind1,ig) + & fac11(lay) * absb(ind1+1,ig)) + & o2cont ! ssa(lay,ngs21+ig) = tauray/taug(lay,ngs21+ig) taur(lay,ngs21+ig) = tauray enddo enddo end subroutine taumol22 !---------------------------------------------------------------------------- subroutine taumol23 !---------------------------------------------------------------------------- ! ! band 23: 8050-12850 cm-1 (low - h2o; high - nothing) ! !---------------------------------------------------------------------------- ! ------- Modules ------- use parrrsw, only : ng23, ngs22 use rrsw_kg23, only : absa, ka, forref, selfref, & sfluxref, rayl ! ------- Declarations ------- ! Local integer(kind=im) :: ig, ind0, ind1, inds, indf, js, lay, laysolfr, & layreffr real(kind=rb) :: fac000, fac001, fac010, fac011, fac100, fac101, & fac110, fac111, fs, speccomb, specmult, specparm, & tauray, givfac ! Average Giver et al. correction factor for this band. givfac = 1.029_rb ! Compute the optical depth by interpolating in ln(pressure), ! temperature, and appropriate species. Below LAYTROP, the water ! vapor self-continuum is interpolated (in temperature) separately. layreffr = 6 laysolfr = laytrop ! Lower atmosphere loop do lay = 1, laytrop if (jp(lay) .lt. layreffr .and. jp(lay+1) .ge. layreffr) & laysolfr = min(lay+1,laytrop) ind0 = ((jp(lay)-1)*5+(jt(lay)-1))*nspa(23) + 1 ind1 = (jp(lay)*5+(jt1(lay)-1))*nspa(23) + 1 inds = indself(lay) indf = indfor(lay) do ig = 1, ng23 tauray = colmol(lay) * rayl(ig) taug(lay,ngs22+ig) = colh2o(lay) * & (givfac * (fac00(lay) * absa(ind0,ig) + & fac10(lay) * absa(ind0+1,ig) + & fac01(lay) * absa(ind1,ig) + & fac11(lay) * absa(ind1+1,ig)) + & selffac(lay) * (selfref(inds,ig) + & selffrac(lay) * & (selfref(inds+1,ig) - selfref(inds,ig))) + & forfac(lay) * (forref(indf,ig) + & forfrac(lay) * & (forref(indf+1,ig) - forref(indf,ig)))) ! ssa(lay,ngs22+ig) = tauray/taug(lay,ngs22+ig) if (lay .eq. laysolfr) sfluxzen(ngs22+ig) = sfluxref(ig) taur(lay,ngs22+ig) = tauray enddo enddo ! Upper atmosphere loop do lay = laytrop+1, nlayers do ig = 1, ng23 ! taug(lay,ngs22+ig) = colmol(lay) * rayl(ig) ! ssa(lay,ngs22+ig) = 1.0_rb taug(lay,ngs22+ig) = 0._rb taur(lay,ngs22+ig) = colmol(lay) * rayl(ig) enddo enddo end subroutine taumol23 !---------------------------------------------------------------------------- subroutine taumol24 !---------------------------------------------------------------------------- ! ! band 24: 12850-16000 cm-1 (low - h2o,o2; high - o2) ! !---------------------------------------------------------------------------- ! ------- Modules ------- use parrrsw, only : ng24, ngs23 use rrsw_kg24, only : absa, ka, absb, kb, forref, selfref, & sfluxref, abso3a, abso3b, rayla, raylb ! ------- Declarations ------- ! Local integer(kind=im) :: ig, ind0, ind1, inds, indf, js, lay, laysolfr, & layreffr real(kind=rb) :: fac000, fac001, fac010, fac011, fac100, fac101, & fac110, fac111, fs, speccomb, specmult, specparm, & tauray, strrat ! Compute the optical depth by interpolating in ln(pressure), ! temperature, and appropriate species. Below LAYTROP, the water ! vapor self-continuum is interpolated (in temperature) separately. strrat = 0.124692_rb layreffr = 1 laysolfr = laytrop ! Lower atmosphere loop do lay = 1, laytrop if (jp(lay) .lt. layreffr .and. jp(lay+1) .ge. layreffr) & laysolfr = min(lay+1,laytrop) speccomb = colh2o(lay) + strrat*colo2(lay) specparm = colh2o(lay)/speccomb if (specparm .ge. oneminus) specparm = oneminus specmult = 8._rb*(specparm) js = 1 + int(specmult) fs = mod(specmult, 1._rb ) fac000 = (1._rb - fs) * fac00(lay) fac010 = (1._rb - fs) * fac10(lay) fac100 = fs * fac00(lay) fac110 = fs * fac10(lay) fac001 = (1._rb - fs) * fac01(lay) fac011 = (1._rb - fs) * fac11(lay) fac101 = fs * fac01(lay) fac111 = fs * fac11(lay) ind0 = ((jp(lay)-1)*5+(jt(lay)-1))*nspa(24) + js ind1 = (jp(lay)*5+(jt1(lay)-1))*nspa(24) + js inds = indself(lay) indf = indfor(lay) do ig = 1, ng24 tauray = colmol(lay) * (rayla(ig,js) + & fs * (rayla(ig,js+1) - rayla(ig,js))) taug(lay,ngs23+ig) = speccomb * & (fac000 * absa(ind0,ig) + & fac100 * absa(ind0+1,ig) + & fac010 * absa(ind0+9,ig) + & fac110 * absa(ind0+10,ig) + & fac001 * absa(ind1,ig) + & fac101 * absa(ind1+1,ig) + & fac011 * absa(ind1+9,ig) + & fac111 * absa(ind1+10,ig)) + & colo3(lay) * abso3a(ig) + & colh2o(lay) * & (selffac(lay) * (selfref(inds,ig) + & selffrac(lay) * & (selfref(inds+1,ig) - selfref(inds,ig))) + & forfac(lay) * (forref(indf,ig) + & forfrac(lay) * & (forref(indf+1,ig) - forref(indf,ig)))) ! ssa(lay,ngs23+ig) = tauray/taug(lay,ngs23+ig) if (lay .eq. laysolfr) sfluxzen(ngs23+ig) = sfluxref(ig,js) & + fs * (sfluxref(ig,js+1) - sfluxref(ig,js)) taur(lay,ngs23+ig) = tauray enddo enddo ! Upper atmosphere loop do lay = laytrop+1, nlayers ind0 = ((jp(lay)-13)*5+(jt(lay)-1))*nspb(24) + 1 ind1 = ((jp(lay)-12)*5+(jt1(lay)-1))*nspb(24) + 1 do ig = 1, ng24 tauray = colmol(lay) * raylb(ig) taug(lay,ngs23+ig) = colo2(lay) * & (fac00(lay) * absb(ind0,ig) + & fac10(lay) * absb(ind0+1,ig) + & fac01(lay) * absb(ind1,ig) + & fac11(lay) * absb(ind1+1,ig)) + & colo3(lay) * abso3b(ig) ! ssa(lay,ngs23+ig) = tauray/taug(lay,ngs23+ig) taur(lay,ngs23+ig) = tauray enddo enddo end subroutine taumol24 !---------------------------------------------------------------------------- subroutine taumol25 !---------------------------------------------------------------------------- ! ! band 25: 16000-22650 cm-1 (low - h2o; high - nothing) ! !---------------------------------------------------------------------------- ! ------- Modules ------- use parrrsw, only : ng25, ngs24 use rrsw_kg25, only : absa, ka, & sfluxref, abso3a, abso3b, rayl ! ------- Declarations ------- ! Local integer(kind=im) :: ig, ind0, ind1, inds, indf, js, lay, laysolfr, & layreffr real(kind=rb) :: fac000, fac001, fac010, fac011, fac100, fac101, & fac110, fac111, fs, speccomb, specmult, specparm, & tauray ! Compute the optical depth by interpolating in ln(pressure), ! temperature, and appropriate species. Below LAYTROP, the water ! vapor self-continuum is interpolated (in temperature) separately. layreffr = 2 laysolfr = laytrop ! Lower atmosphere loop do lay = 1, laytrop if (jp(lay) .lt. layreffr .and. jp(lay+1) .ge. layreffr) & laysolfr = min(lay+1,laytrop) ind0 = ((jp(lay)-1)*5+(jt(lay)-1))*nspa(25) + 1 ind1 = (jp(lay)*5+(jt1(lay)-1))*nspa(25) + 1 do ig = 1, ng25 tauray = colmol(lay) * rayl(ig) taug(lay,ngs24+ig) = colh2o(lay) * & (fac00(lay) * absa(ind0,ig) + & fac10(lay) * absa(ind0+1,ig) + & fac01(lay) * absa(ind1,ig) + & fac11(lay) * absa(ind1+1,ig)) + & colo3(lay) * abso3a(ig) ! ssa(lay,ngs24+ig) = tauray/taug(lay,ngs24+ig) if (lay .eq. laysolfr) sfluxzen(ngs24+ig) = sfluxref(ig) taur(lay,ngs24+ig) = tauray enddo enddo ! Upper atmosphere loop do lay = laytrop+1, nlayers do ig = 1, ng25 tauray = colmol(lay) * rayl(ig) taug(lay,ngs24+ig) = colo3(lay) * abso3b(ig) ! ssa(lay,ngs24+ig) = tauray/taug(lay,ngs24+ig) taur(lay,ngs24+ig) = tauray enddo enddo end subroutine taumol25 !---------------------------------------------------------------------------- subroutine taumol26 !---------------------------------------------------------------------------- ! ! band 26: 22650-29000 cm-1 (low - nothing; high - nothing) ! !---------------------------------------------------------------------------- ! ------- Modules ------- use parrrsw, only : ng26, ngs25 use rrsw_kg26, only : sfluxref, rayl ! ------- Declarations ------- ! Local integer(kind=im) :: ig, ind0, ind1, inds, indf, js, lay, laysolfr real(kind=rb) :: fac000, fac001, fac010, fac011, fac100, fac101, & fac110, fac111, fs, speccomb, specmult, specparm, & tauray ! Compute the optical depth by interpolating in ln(pressure), ! temperature, and appropriate species. Below LAYTROP, the water ! vapor self-continuum is interpolated (in temperature) separately. laysolfr = laytrop ! Lower atmosphere loop do lay = 1, laytrop do ig = 1, ng26 ! taug(lay,ngs25+ig) = colmol(lay) * rayl(ig) ! ssa(lay,ngs25+ig) = 1.0_rb if (lay .eq. laysolfr) sfluxzen(ngs25+ig) = sfluxref(ig) taug(lay,ngs25+ig) = 0._rb taur(lay,ngs25+ig) = colmol(lay) * rayl(ig) enddo enddo ! Upper atmosphere loop do lay = laytrop+1, nlayers do ig = 1, ng26 ! taug(lay,ngs25+ig) = colmol(lay) * rayl(ig) ! ssa(lay,ngs25+ig) = 1.0_rb taug(lay,ngs25+ig) = 0._rb taur(lay,ngs25+ig) = colmol(lay) * rayl(ig) enddo enddo end subroutine taumol26 !---------------------------------------------------------------------------- subroutine taumol27 !---------------------------------------------------------------------------- ! ! band 27: 29000-38000 cm-1 (low - o3; high - o3) ! !---------------------------------------------------------------------------- ! ------- Modules ------- use parrrsw, only : ng27, ngs26 use rrsw_kg27, only : absa, ka, absb, kb, sfluxref, rayl ! ------- Declarations ------- ! Local integer(kind=im) :: ig, ind0, ind1, inds, indf, js, lay, laysolfr, & layreffr real(kind=rb) :: fac000, fac001, fac010, fac011, fac100, fac101, & fac110, fac111, fs, speccomb, specmult, specparm, & tauray, scalekur ! Kurucz solar source function ! The values in sfluxref were obtained using the "low resolution" ! version of the Kurucz solar source function. For unknown reasons, ! the total irradiance in this band differs from the corresponding ! total in the "high-resolution" version of the Kurucz function. ! Therefore, these values are scaled below by the factor SCALEKUR. scalekur = 50.15_rb/48.37_rb ! Compute the optical depth by interpolating in ln(pressure), ! temperature, and appropriate species. Below LAYTROP, the water ! vapor self-continuum is interpolated (in temperature) separately. layreffr = 32 ! Lower atmosphere loop do lay = 1, laytrop ind0 = ((jp(lay)-1)*5+(jt(lay)-1))*nspa(27) + 1 ind1 = (jp(lay)*5+(jt1(lay)-1))*nspa(27) + 1 do ig = 1, ng27 tauray = colmol(lay) * rayl(ig) taug(lay,ngs26+ig) = colo3(lay) * & (fac00(lay) * absa(ind0,ig) + & fac10(lay) * absa(ind0+1,ig) + & fac01(lay) * absa(ind1,ig) + & fac11(lay) * absa(ind1+1,ig)) ! ssa(lay,ngs26+ig) = tauray/taug(lay,ngs26+ig) taur(lay,ngs26+ig) = tauray enddo enddo laysolfr = nlayers ! Upper atmosphere loop do lay = laytrop+1, nlayers if (jp(lay-1) .lt. layreffr .and. jp(lay) .ge. layreffr) & laysolfr = lay ind0 = ((jp(lay)-13)*5+(jt(lay)-1))*nspb(27) + 1 ind1 = ((jp(lay)-12)*5+(jt1(lay)-1))*nspb(27) + 1 do ig = 1, ng27 tauray = colmol(lay) * rayl(ig) taug(lay,ngs26+ig) = colo3(lay) * & (fac00(lay) * absb(ind0,ig) + & fac10(lay) * absb(ind0+1,ig) + & fac01(lay) * absb(ind1,ig) + & fac11(lay) * absb(ind1+1,ig)) ! ssa(lay,ngs26+ig) = tauray/taug(lay,ngs26+ig) if (lay.eq.laysolfr) sfluxzen(ngs26+ig) = scalekur * sfluxref(ig) taur(lay,ngs26+ig) = tauray enddo enddo end subroutine taumol27 !---------------------------------------------------------------------------- subroutine taumol28 !---------------------------------------------------------------------------- ! ! band 28: 38000-50000 cm-1 (low - o3,o2; high - o3,o2) ! !---------------------------------------------------------------------------- ! ------- Modules ------- use parrrsw, only : ng28, ngs27 use rrsw_kg28, only : absa, ka, absb, kb, sfluxref, rayl ! ------- Declarations ------- ! Local integer(kind=im) :: ig, ind0, ind1, inds, indf, js, lay, laysolfr, & layreffr real(kind=rb) :: fac000, fac001, fac010, fac011, fac100, fac101, & fac110, fac111, fs, speccomb, specmult, specparm, & tauray, strrat ! Compute the optical depth by interpolating in ln(pressure), ! temperature, and appropriate species. Below LAYTROP, the water ! vapor self-continuum is interpolated (in temperature) separately. strrat = 6.67029e-07_rb layreffr = 58 ! Lower atmosphere loop do lay = 1, laytrop speccomb = colo3(lay) + strrat*colo2(lay) specparm = colo3(lay)/speccomb if (specparm .ge. oneminus) specparm = oneminus specmult = 8._rb*(specparm) js = 1 + int(specmult) fs = mod(specmult, 1._rb ) fac000 = (1._rb - fs) * fac00(lay) fac010 = (1._rb - fs) * fac10(lay) fac100 = fs * fac00(lay) fac110 = fs * fac10(lay) fac001 = (1._rb - fs) * fac01(lay) fac011 = (1._rb - fs) * fac11(lay) fac101 = fs * fac01(lay) fac111 = fs * fac11(lay) ind0 = ((jp(lay)-1)*5+(jt(lay)-1))*nspa(28) + js ind1 = (jp(lay)*5+(jt1(lay)-1))*nspa(28) + js tauray = colmol(lay) * rayl do ig = 1, ng28 taug(lay,ngs27+ig) = speccomb * & (fac000 * absa(ind0,ig) + & fac100 * absa(ind0+1,ig) + & fac010 * absa(ind0+9,ig) + & fac110 * absa(ind0+10,ig) + & fac001 * absa(ind1,ig) + & fac101 * absa(ind1+1,ig) + & fac011 * absa(ind1+9,ig) + & fac111 * absa(ind1+10,ig)) ! ssa(lay,ngs27+ig) = tauray/taug(lay,ngs27+ig) taur(lay,ngs27+ig) = tauray enddo enddo laysolfr = nlayers ! Upper atmosphere loop do lay = laytrop+1, nlayers if (jp(lay-1) .lt. layreffr .and. jp(lay) .ge. layreffr) & laysolfr = lay speccomb = colo3(lay) + strrat*colo2(lay) specparm = colo3(lay)/speccomb if (specparm .ge. oneminus) specparm = oneminus specmult = 4._rb*(specparm) js = 1 + int(specmult) fs = mod(specmult, 1._rb ) fac000 = (1._rb - fs) * fac00(lay) fac010 = (1._rb - fs) * fac10(lay) fac100 = fs * fac00(lay) fac110 = fs * fac10(lay) fac001 = (1._rb - fs) * fac01(lay) fac011 = (1._rb - fs) * fac11(lay) fac101 = fs * fac01(lay) fac111 = fs * fac11(lay) ind0 = ((jp(lay)-13)*5+(jt(lay)-1))*nspb(28) + js ind1 = ((jp(lay)-12)*5+(jt1(lay)-1))*nspb(28) + js tauray = colmol(lay) * rayl do ig = 1, ng28 taug(lay,ngs27+ig) = speccomb * & (fac000 * absb(ind0,ig) + & fac100 * absb(ind0+1,ig) + & fac010 * absb(ind0+5,ig) + & fac110 * absb(ind0+6,ig) + & fac001 * absb(ind1,ig) + & fac101 * absb(ind1+1,ig) + & fac011 * absb(ind1+5,ig) + & fac111 * absb(ind1+6,ig)) ! ssa(lay,ngs27+ig) = tauray/taug(lay,ngs27+ig) if (lay .eq. laysolfr) sfluxzen(ngs27+ig) = sfluxref(ig,js) & + fs * (sfluxref(ig,js+1) - sfluxref(ig,js)) taur(lay,ngs27+ig) = tauray enddo enddo end subroutine taumol28 !---------------------------------------------------------------------------- subroutine taumol29 !---------------------------------------------------------------------------- ! ! band 29: 820-2600 cm-1 (low - h2o; high - co2) ! !---------------------------------------------------------------------------- ! ------- Modules ------- use parrrsw, only : ng29, ngs28 use rrsw_kg29, only : absa, ka, absb, kb, forref, selfref, & sfluxref, absh2o, absco2, rayl ! ------- Declarations ------- ! Local integer(kind=im) :: ig, ind0, ind1, inds, indf, js, lay, laysolfr, & layreffr real(kind=rb) :: fac000, fac001, fac010, fac011, fac100, fac101, & fac110, fac111, fs, speccomb, specmult, specparm, & tauray ! Compute the optical depth by interpolating in ln(pressure), ! temperature, and appropriate species. Below LAYTROP, the water ! vapor self-continuum is interpolated (in temperature) separately. layreffr = 49 ! Lower atmosphere loop do lay = 1, laytrop ind0 = ((jp(lay)-1)*5+(jt(lay)-1))*nspa(29) + 1 ind1 = (jp(lay)*5+(jt1(lay)-1))*nspa(29) + 1 inds = indself(lay) indf = indfor(lay) tauray = colmol(lay) * rayl do ig = 1, ng29 taug(lay,ngs28+ig) = colh2o(lay) * & ((fac00(lay) * absa(ind0,ig) + & fac10(lay) * absa(ind0+1,ig) + & fac01(lay) * absa(ind1,ig) + & fac11(lay) * absa(ind1+1,ig)) + & selffac(lay) * (selfref(inds,ig) + & selffrac(lay) * & (selfref(inds+1,ig) - selfref(inds,ig))) + & forfac(lay) * (forref(indf,ig) + & forfrac(lay) * & (forref(indf+1,ig) - forref(indf,ig)))) & + colco2(lay) * absco2(ig) ! ssa(lay,ngs28+ig) = tauray/taug(lay,ngs28+ig) taur(lay,ngs28+ig) = tauray enddo enddo laysolfr = nlayers ! Upper atmosphere loop do lay = laytrop+1, nlayers if (jp(lay-1) .lt. layreffr .and. jp(lay) .ge. layreffr) & laysolfr = lay ind0 = ((jp(lay)-13)*5+(jt(lay)-1))*nspb(29) + 1 ind1 = ((jp(lay)-12)*5+(jt1(lay)-1))*nspb(29) + 1 tauray = colmol(lay) * rayl do ig = 1, ng29 taug(lay,ngs28+ig) = colco2(lay) * & (fac00(lay) * absb(ind0,ig) + & fac10(lay) * absb(ind0+1,ig) + & fac01(lay) * absb(ind1,ig) + & fac11(lay) * absb(ind1+1,ig)) & + colh2o(lay) * absh2o(ig) ! ssa(lay,ngs28+ig) = tauray/taug(lay,ngs28+ig) if (lay .eq. laysolfr) sfluxzen(ngs28+ig) = sfluxref(ig) taur(lay,ngs28+ig) = tauray enddo enddo end subroutine taumol29 end subroutine taumol_sw end module rrtmg_sw_taumol ! path: $Source: /storm/rc1/cvsroot/rc/rrtmg_sw/src/rrtmg_sw_vrtqdr.f90,v $ ! author: $Author: mike $ ! revision: $Revision: 1.4 $ ! created: $Date: 2009/05/22 22:22:22 $ ! module rrtmg_sw_vrtqdr ! -------------------------------------------------------------------------- ! | | ! | Copyright 2002-2009, Atmospheric & Environmental Research, Inc. (AER). | ! | This software may be used, copied, or redistributed as long as it is | ! | not sold and this copyright notice is reproduced on each copy made. | ! | This model is provided as is without any express or implied warranties. | ! | (http://www.rtweb.aer.com/) | ! | | ! -------------------------------------------------------------------------- ! ------- Modules ------- use parkind, only: im => kind_im, rb => kind_rb ! use parrrsw, only: ngptsw implicit none contains ! -------------------------------------------------------------------------- subroutine vrtqdr_sw(klev, kw, & pref, prefd, ptra, ptrad, & pdbt, prdnd, prup, prupd, ptdbt, & pfd, pfu) ! -------------------------------------------------------------------------- ! Purpose: This routine performs the vertical quadrature integration ! ! Interface: *vrtqdr_sw* is called from *spcvrt_sw* and *spcvmc_sw* ! ! Modifications. ! ! Original: H. Barker ! Revision: Integrated with rrtmg_sw, J.-J. Morcrette, ECMWF, Oct 2002 ! Revision: Reformatted for consistency with rrtmg_lw: MJIacono, AER, Jul 2006 ! !----------------------------------------------------------------------- ! ------- Declarations ------- ! Input integer(kind=im), intent (in) :: klev ! number of model layers integer(kind=im), intent (in) :: kw ! g-point index real(kind=rb), intent(in) :: pref(:) ! direct beam reflectivity ! Dimensions: (nlayers+1) real(kind=rb), intent(in) :: prefd(:) ! diffuse beam reflectivity ! Dimensions: (nlayers+1) real(kind=rb), intent(in) :: ptra(:) ! direct beam transmissivity ! Dimensions: (nlayers+1) real(kind=rb), intent(in) :: ptrad(:) ! diffuse beam transmissivity ! Dimensions: (nlayers+1) real(kind=rb), intent(in) :: pdbt(:) ! Dimensions: (nlayers+1) real(kind=rb), intent(in) :: ptdbt(:) ! Dimensions: (nlayers+1) real(kind=rb), intent(inout) :: prdnd(:) ! Dimensions: (nlayers+1) real(kind=rb), intent(inout) :: prup(:) ! Dimensions: (nlayers+1) real(kind=rb), intent(inout) :: prupd(:) ! Dimensions: (nlayers+1) ! Output real(kind=rb), intent(out) :: pfd(:,:) ! downwelling flux (W/m2) ! Dimensions: (nlayers+1,ngptsw) ! unadjusted for earth/sun distance or zenith angle real(kind=rb), intent(out) :: pfu(:,:) ! upwelling flux (W/m2) ! Dimensions: (nlayers+1,ngptsw) ! unadjusted for earth/sun distance or zenith angle ! Local integer(kind=im) :: ikp, ikx, jk real(kind=rb) :: zreflect real(kind=rb) :: ztdn(klev+1) ! Definitions ! ! pref(jk) direct reflectance ! prefd(jk) diffuse reflectance ! ptra(jk) direct transmittance ! ptrad(jk) diffuse transmittance ! ! pdbt(jk) layer mean direct beam transmittance ! ptdbt(jk) total direct beam transmittance at levels ! !----------------------------------------------------------------------------- ! Link lowest layer with surface zreflect = 1._rb / (1._rb - prefd(klev+1) * prefd(klev)) prup(klev) = pref(klev) + (ptrad(klev) * & ((ptra(klev) - pdbt(klev)) * prefd(klev+1) + & pdbt(klev) * pref(klev+1))) * zreflect prupd(klev) = prefd(klev) + ptrad(klev) * ptrad(klev) * & prefd(klev+1) * zreflect ! Pass from bottom to top do jk = 1,klev-1 ikp = klev+1-jk ikx = ikp-1 zreflect = 1._rb / (1._rb -prupd(ikp) * prefd(ikx)) prup(ikx) = pref(ikx) + (ptrad(ikx) * & ((ptra(ikx) - pdbt(ikx)) * prupd(ikp) + & pdbt(ikx) * prup(ikp))) * zreflect prupd(ikx) = prefd(ikx) + ptrad(ikx) * ptrad(ikx) * & prupd(ikp) * zreflect enddo ! Upper boundary conditions ztdn(1) = 1._rb prdnd(1) = 0._rb ztdn(2) = ptra(1) prdnd(2) = prefd(1) ! Pass from top to bottom do jk = 2,klev ikp = jk+1 zreflect = 1._rb / (1._rb - prefd(jk) * prdnd(jk)) ztdn(ikp) = ptdbt(jk) * ptra(jk) + & (ptrad(jk) * ((ztdn(jk) - ptdbt(jk)) + & ptdbt(jk) * pref(jk) * prdnd(jk))) * zreflect prdnd(ikp) = prefd(jk) + ptrad(jk) * ptrad(jk) * & prdnd(jk) * zreflect enddo ! Up and down-welling fluxes at levels do jk = 1,klev+1 zreflect = 1._rb / (1._rb - prdnd(jk) * prupd(jk)) pfu(jk,kw) = (ptdbt(jk) * prup(jk) + & (ztdn(jk) - ptdbt(jk)) * prupd(jk)) * zreflect pfd(jk,kw) = ptdbt(jk) + (ztdn(jk) - ptdbt(jk)+ & ptdbt(jk) * prup(jk) * prdnd(jk)) * zreflect enddo end subroutine vrtqdr_sw end module rrtmg_sw_vrtqdr ! path: $Source: /storm/rc1/cvsroot/rc/rrtmg_sw/src/rrtmg_sw_spcvrt.f90,v $ ! author: $Author: mike $ ! revision: $Revision: 1.5 $ ! created: $Date: 2009/05/22 22:22:22 $ module rrtmg_sw_spcvrt ! -------------------------------------------------------------------------- ! | | ! | Copyright 2002-2009, Atmospheric & Environmental Research, Inc. (AER). | ! | This software may be used, copied, or redistributed as long as it is | ! | not sold and this copyright notice is reproduced on each copy made. | ! | This model is provided as is without any express or implied warranties. | ! | (http://www.rtweb.aer.com/) | ! | | ! -------------------------------------------------------------------------- ! ------- Modules ------- use parkind, only : im => kind_im, rb => kind_rb use parrrsw, only : nbndsw, ngptsw, mxmol, jpband use rrsw_tbl, only : tblint, bpade, od_lo, exp_tbl use rrsw_vsn, only : hvrspv, hnamspv use rrsw_wvn, only : ngc, ngs use rrtmg_sw_reftra, only: reftra_sw use rrtmg_sw_taumol, only: taumol_sw use rrtmg_sw_vrtqdr, only: vrtqdr_sw implicit none contains ! --------------------------------------------------------------------------- subroutine spcvrt_sw & (nlayers, istart, iend, icpr, idelm, iout, & pavel, tavel, pz, tz, tbound, palbd, palbp, & pclfr, ptauc, pasyc, pomgc, ptaucorig, & ptaua, pasya, pomga, prmu0, coldry, wkl, adjflux, & laytrop, layswtch, laylow, jp, jt, jt1, & co2mult, colch4, colco2, colh2o, colmol, coln2o, colo2, colo3, & fac00, fac01, fac10, fac11, & selffac, selffrac, indself, forfac, forfrac, indfor, & pbbfd, pbbfu, pbbcd, pbbcu, puvfd, puvcd, pnifd, pnicd, & pbbfddir, pbbcddir, puvfddir, puvcddir, pnifddir, pnicddir) ! --------------------------------------------------------------------------- ! ! Purpose: Contains spectral loop to compute the shortwave radiative fluxes, ! using the two-stream method of H. Barker. ! ! Interface: *spcvrt_sw* is called from *rrtmg_sw.F90* or rrtmg_sw.1col.F90* ! ! Method: ! Adapted from two-stream model of H. Barker; ! Two-stream model options (selected with kmodts in rrtmg_sw_reftra.F90): ! 1: Eddington, 2: PIFM, Zdunkowski et al., 3: discret ordinates ! ! Modifications: ! ! Original: H. Barker ! Revision: Merge with RRTMG_SW: J.-J.Morcrette, ECMWF, Feb 2003 ! Revision: Add adjustment for Earth/Sun distance : MJIacono, AER, Oct 2003 ! Revision: Bug fix for use of PALBP and PALBD: MJIacono, AER, Nov 2003 ! Revision: Bug fix to apply delta scaling to clear sky: AER, Dec 2004 ! Revision: Code modified so that delta scaling is not done in cloudy profiles ! if routine cldprop is used; delta scaling can be applied by swithcing ! code below if cldprop is not used to get cloud properties. ! AER, Jan 2005 ! Revision: Uniform formatting for RRTMG: MJIacono, AER, Jul 2006 ! Revision: Use exponential lookup table for transmittance: MJIacono, AER, ! Aug 2007 ! ! ------------------------------------------------------------------ ! ------- Declarations ------ ! -------- Input ------- integer(kind=im), intent(in) :: nlayers integer(kind=im), intent(in) :: istart integer(kind=im), intent(in) :: iend integer(kind=im), intent(in) :: icpr integer(kind=im), intent(in) :: idelm ! delta-m scaling flag ! [0 = direct and diffuse fluxes are unscaled] ! [1 = direct and diffuse fluxes are scaled] integer(kind=im), intent(in) :: iout integer(kind=im), intent(in) :: laytrop integer(kind=im), intent(in) :: layswtch integer(kind=im), intent(in) :: laylow integer(kind=im), intent(in) :: indfor(:) ! Dimensions: (nlayers) integer(kind=im), intent(in) :: indself(:) ! Dimensions: (nlayers) integer(kind=im), intent(in) :: jp(:) ! Dimensions: (nlayers) integer(kind=im), intent(in) :: jt(:) ! Dimensions: (nlayers) integer(kind=im), intent(in) :: jt1(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: pavel(:) ! layer pressure (hPa, mb) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: tavel(:) ! layer temperature (K) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: pz(0:) ! level (interface) pressure (hPa, mb) ! Dimensions: (0:nlayers) real(kind=rb), intent(in) :: tz(0:) ! level temperatures (hPa, mb) ! Dimensions: (0:nlayers) real(kind=rb), intent(in) :: tbound ! surface temperature (K) real(kind=rb), intent(in) :: wkl(:,:) ! molecular amounts (mol/cm2) ! Dimensions: (mxmol,nlayers) real(kind=rb), intent(in) :: coldry(:) ! dry air column density (mol/cm2) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: colmol(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: adjflux(:) ! Earth/Sun distance adjustment ! Dimensions: (jpband) real(kind=rb), intent(in) :: palbd(:) ! surface albedo (diffuse) ! Dimensions: (nbndsw) real(kind=rb), intent(in) :: palbp(:) ! surface albedo (direct) ! Dimensions: (nbndsw) real(kind=rb), intent(in) :: prmu0 ! cosine of solar zenith angle real(kind=rb), intent(in) :: pclfr(:) ! cloud fraction ! Dimensions: (nlayers) real(kind=rb), intent(in) :: ptauc(:,:) ! cloud optical depth ! Dimensions: (nlayers,nbndsw) real(kind=rb), intent(in) :: pasyc(:,:) ! cloud asymmetry parameter ! Dimensions: (nlayers,nbndsw) real(kind=rb), intent(in) :: pomgc(:,:) ! cloud single scattering albedo ! Dimensions: (nlayers,nbndsw) real(kind=rb), intent(in) :: ptaucorig(:,:) ! cloud optical depth, non-delta scaled ! Dimensions: (nlayers,nbndsw) real(kind=rb), intent(in) :: ptaua(:,:) ! aerosol optical depth ! Dimensions: (nlayers,nbndsw) real(kind=rb), intent(in) :: pasya(:,:) ! aerosol asymmetry parameter ! Dimensions: (nlayers,nbndsw) real(kind=rb), intent(in) :: pomga(:,:) ! aerosol single scattering albedo ! Dimensions: (nlayers,nbndsw) real(kind=rb), intent(in) :: colh2o(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: colco2(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: colch4(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: co2mult(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: colo3(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: colo2(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: coln2o(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: forfac(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: forfrac(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: selffac(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: selffrac(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: fac00(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: fac01(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: fac10(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: fac11(:) ! Dimensions: (nlayers) ! ------- Output ------- ! All Dimensions: (nlayers+1) real(kind=rb), intent(out) :: pbbcd(:) real(kind=rb), intent(out) :: pbbcu(:) real(kind=rb), intent(out) :: pbbfd(:) real(kind=rb), intent(out) :: pbbfu(:) real(kind=rb), intent(out) :: pbbfddir(:) real(kind=rb), intent(out) :: pbbcddir(:) real(kind=rb), intent(out) :: puvcd(:) real(kind=rb), intent(out) :: puvfd(:) real(kind=rb), intent(out) :: puvcddir(:) real(kind=rb), intent(out) :: puvfddir(:) real(kind=rb), intent(out) :: pnicd(:) real(kind=rb), intent(out) :: pnifd(:) real(kind=rb), intent(out) :: pnicddir(:) real(kind=rb), intent(out) :: pnifddir(:) ! Output - inactive ! All Dimensions: (nlayers+1) ! real(kind=rb), intent(out) :: puvcu(:) ! real(kind=rb), intent(out) :: puvfu(:) ! real(kind=rb), intent(out) :: pnicu(:) ! real(kind=rb), intent(out) :: pnifu(:) ! real(kind=rb), intent(out) :: pvscd(:) ! real(kind=rb), intent(out) :: pvscu(:) ! real(kind=rb), intent(out) :: pvsfd(:) ! real(kind=rb), intent(out) :: pvsfu(:) ! ------- Local ------- logical :: lrtchkclr(nlayers),lrtchkcld(nlayers) integer(kind=im) :: klev integer(kind=im) :: ib1, ib2, ibm, igt, ikl, ikp, ikx integer(kind=im) :: iw, jb, jg, jl, jk ! integer(kind=im), parameter :: nuv = ?? ! integer(kind=im), parameter :: nvs = ?? integer(kind=im) :: itind real(kind=rb) :: tblind, ze1 real(kind=rb) :: zclear, zcloud real(kind=rb) :: zdbt(nlayers+1), zdbt_nodel(nlayers+1) real(kind=rb) :: zgc(nlayers), zgcc(nlayers), zgco(nlayers) real(kind=rb) :: zomc(nlayers), zomcc(nlayers), zomco(nlayers) real(kind=rb) :: zrdnd(nlayers+1), zrdndc(nlayers+1) real(kind=rb) :: zref(nlayers+1), zrefc(nlayers+1), zrefo(nlayers+1) real(kind=rb) :: zrefd(nlayers+1), zrefdc(nlayers+1), zrefdo(nlayers+1) real(kind=rb) :: zrup(nlayers+1), zrupd(nlayers+1) real(kind=rb) :: zrupc(nlayers+1), zrupdc(nlayers+1) real(kind=rb) :: zs1(nlayers+1) real(kind=rb) :: ztauc(nlayers), ztauo(nlayers) real(kind=rb) :: ztdn(nlayers+1), ztdnd(nlayers+1), ztdbt(nlayers+1) real(kind=rb) :: ztoc(nlayers), ztor(nlayers) real(kind=rb) :: ztra(nlayers+1), ztrac(nlayers+1), ztrao(nlayers+1) real(kind=rb) :: ztrad(nlayers+1), ztradc(nlayers+1), ztrado(nlayers+1) real(kind=rb) :: zdbtc(nlayers+1), ztdbtc(nlayers+1) real(kind=rb) :: zincflx(ngptsw), zdbtc_nodel(nlayers+1) real(kind=rb) :: ztdbt_nodel(nlayers+1), ztdbtc_nodel(nlayers+1) real(kind=rb) :: zdbtmc, zdbtmo, zf, zgw, zreflect real(kind=rb) :: zwf, tauorig, repclc ! real(kind=rb) :: zincflux ! inactive ! Arrays from rrtmg_sw_taumoln routines ! real(kind=rb) :: ztaug(nlayers,16), ztaur(nlayers,16) ! real(kind=rb) :: zsflxzen(16) real(kind=rb) :: ztaug(nlayers,ngptsw), ztaur(nlayers,ngptsw) real(kind=rb) :: zsflxzen(ngptsw) ! Arrays from rrtmg_sw_vrtqdr routine real(kind=rb) :: zcd(nlayers+1,ngptsw), zcu(nlayers+1,ngptsw) real(kind=rb) :: zfd(nlayers+1,ngptsw), zfu(nlayers+1,ngptsw) ! Inactive arrays ! real(kind=rb) :: zbbcd(nlayers+1), zbbcu(nlayers+1) ! real(kind=rb) :: zbbfd(nlayers+1), zbbfu(nlayers+1) ! real(kind=rb) :: zbbfddir(nlayers+1), zbbcddir(nlayers+1) ! ------------------------------------------------------------------ ! Initializations ib1 = istart ib2 = iend klev = nlayers iw = 0 repclc = 1.e-12_rb ! zincflux = 0.0_rb do jk=1,klev+1 pbbcd(jk)=0._rb pbbcu(jk)=0._rb pbbfd(jk)=0._rb pbbfu(jk)=0._rb pbbcddir(jk)=0._rb pbbfddir(jk)=0._rb puvcd(jk)=0._rb puvfd(jk)=0._rb puvcddir(jk)=0._rb puvfddir(jk)=0._rb pnicd(jk)=0._rb pnifd(jk)=0._rb pnicddir(jk)=0._rb pnifddir(jk)=0._rb enddo ! Calculate the optical depths for gaseous absorption and Rayleigh scattering call taumol_sw(klev, & colh2o, colco2, colch4, colo2, colo3, colmol, & laytrop, jp, jt, jt1, & fac00, fac01, fac10, fac11, & selffac, selffrac, indself, forfac, forfrac, indfor, & zsflxzen, ztaug, ztaur) ! Top of shortwave spectral band loop, jb = 16 -> 29; ibm = 1 -> 14 do jb = ib1, ib2 ibm = jb-15 igt = ngc(ibm) ! Reinitialize g-point counter for each band if output for each band is requested. if (iout.gt.0.and.ibm.ge.2) iw = ngs(ibm-1) ! do jk=1,klev+1 ! zbbcd(jk)=0.0_rb ! zbbcu(jk)=0.0_rb ! zbbfd(jk)=0.0_rb ! zbbfu(jk)=0.0_rb ! enddo ! Top of g-point interval loop within each band (iw is cumulative counter) do jg = 1,igt iw = iw+1 ! Apply adjustments for correct Earth/Sun distance and zenith angle to incoming solar flux zincflx(iw) = adjflux(jb) * zsflxzen(iw) * prmu0 ! zincflux = zincflux + adjflux(jb) * zsflxzen(iw) * prmu0 ! inactive ! Compute layer reflectances and transmittances for direct and diffuse sources, ! first clear then cloudy ! zrefc(jk) direct albedo for clear ! zrefo(jk) direct albedo for cloud ! zrefdc(jk) diffuse albedo for clear ! zrefdo(jk) diffuse albedo for cloud ! ztrac(jk) direct transmittance for clear ! ztrao(jk) direct transmittance for cloudy ! ztradc(jk) diffuse transmittance for clear ! ztrado(jk) diffuse transmittance for cloudy ! ! zref(jk) direct reflectance ! zrefd(jk) diffuse reflectance ! ztra(jk) direct transmittance ! ztrad(jk) diffuse transmittance ! ! zdbtc(jk) clear direct beam transmittance ! zdbto(jk) cloudy direct beam transmittance ! zdbt(jk) layer mean direct beam transmittance ! ztdbt(jk) total direct beam transmittance at levels ! Clear-sky ! TOA direct beam ztdbtc(1)=1.0_rb ztdbtc_nodel(1)=1.0_rb ! Surface values zdbtc(klev+1) =0.0_rb ztrac(klev+1) =0.0_rb ztradc(klev+1)=0.0_rb zrefc(klev+1) =palbp(ibm) zrefdc(klev+1)=palbd(ibm) zrupc(klev+1) =palbp(ibm) zrupdc(klev+1)=palbd(ibm) ! Cloudy-sky ! Surface values ztrao(klev+1) =0.0_rb ztrado(klev+1)=0.0_rb zrefo(klev+1) =palbp(ibm) zrefdo(klev+1)=palbd(ibm) ! Total sky ! TOA direct beam ztdbt(1)=1.0_rb ztdbt_nodel(1)=1.0_rb ! Surface values zdbt(klev+1) =0.0_rb ztra(klev+1) =0.0_rb ztrad(klev+1)=0.0_rb zref(klev+1) =palbp(ibm) zrefd(klev+1)=palbd(ibm) zrup(klev+1) =palbp(ibm) zrupd(klev+1)=palbd(ibm) ! Top of layer loop do jk=1,klev ! Note: two-stream calculations proceed from top to bottom; ! RRTMG_SW quantities are given bottom to top and are reversed here ikl=klev+1-jk ! Set logical flag to do REFTRA calculation ! Do REFTRA for all clear layers lrtchkclr(jk)=.true. ! Do REFTRA only for cloudy layers in profile, since already done for clear layers lrtchkcld(jk)=.false. lrtchkcld(jk)=(pclfr(ikl) > repclc) ! Clear-sky optical parameters - this section inactive ! Original ! ztauc(jk) = ztaur(ikl,iw) + ztaug(ikl,iw) ! zomcc(jk) = ztaur(ikl,iw) / ztauc(jk) ! zgcc(jk) = 0.0001_rb ! Total sky optical parameters ! ztauo(jk) = ztaur(ikl,iw) + ztaug(ikl,iw) + ptauc(ikl,ibm) ! zomco(jk) = ptauc(ikl,ibm) * pomgc(ikl,ibm) + ztaur(ikl,iw) ! zgco (jk) = (ptauc(ikl,ibm) * pomgc(ikl,ibm) * pasyc(ikl,ibm) + & ! ztaur(ikl,iw) * 0.0001_rb) / zomco(jk) ! zomco(jk) = zomco(jk) / ztauo(jk) ! Clear-sky optical parameters including aerosols ztauc(jk) = ztaur(ikl,iw) + ztaug(ikl,iw) + ptaua(ikl,ibm) zomcc(jk) = ztaur(ikl,iw) * 1.0_rb + ptaua(ikl,ibm) * pomga(ikl,ibm) zgcc(jk) = pasya(ikl,ibm) * pomga(ikl,ibm) * ptaua(ikl,ibm) / zomcc(jk) zomcc(jk) = zomcc(jk) / ztauc(jk) ! Pre-delta-scaling clear and cloudy direct beam transmittance (must use 'orig', unscaled cloud OD) ! \/\/\/ This block of code is only needed for unscaled direct beam calculation if (idelm .eq. 0) then ! zclear = 1.0_rb - pclfr(ikl) zcloud = pclfr(ikl) ! Clear ! zdbtmc = exp(-ztauc(jk) / prmu0) ! Use exponential lookup table for transmittance, or expansion of exponential for low tau ze1 = ztauc(jk) / prmu0 if (ze1 .le. od_lo) then zdbtmc = 1._rb - ze1 + 0.5_rb * ze1 * ze1 else tblind = ze1 / (bpade + ze1) itind = tblint * tblind + 0.5_rb zdbtmc = exp_tbl(itind) endif zdbtc_nodel(jk) = zdbtmc ztdbtc_nodel(jk+1) = zdbtc_nodel(jk) * ztdbtc_nodel(jk) ! Clear + Cloud tauorig = ztauc(jk) + ptaucorig(ikl,ibm) ! zdbtmo = exp(-tauorig / prmu0) ! Use exponential lookup table for transmittance, or expansion of exponential for low tau ze1 = tauorig / prmu0 if (ze1 .le. od_lo) then zdbtmo = 1._rb - ze1 + 0.5_rb * ze1 * ze1 else tblind = ze1 / (bpade + ze1) itind = tblint * tblind + 0.5_rb zdbtmo = exp_tbl(itind) endif zdbt_nodel(jk) = zclear * zdbtmc + zcloud * zdbtmo ztdbt_nodel(jk+1) = zdbt_nodel(jk) * ztdbt_nodel(jk) endif ! /\/\/\ Above code only needed for unscaled direct beam calculation ! Delta scaling - clear zf = zgcc(jk) * zgcc(jk) zwf = zomcc(jk) * zf ztauc(jk) = (1.0_rb - zwf) * ztauc(jk) zomcc(jk) = (zomcc(jk) - zwf) / (1.0_rb - zwf) zgcc (jk) = (zgcc(jk) - zf) / (1.0_rb - zf) ! Total sky optical parameters (cloud properties already delta-scaled) ! Use this code if cloud properties are derived in rrtmg_sw_cldprop if (icpr .ge. 1) then ztauo(jk) = ztauc(jk) + ptauc(ikl,ibm) zomco(jk) = ztauc(jk) * zomcc(jk) + ptauc(ikl,ibm) * pomgc(ikl,ibm) zgco (jk) = (ptauc(ikl,ibm) * pomgc(ikl,ibm) * pasyc(ikl,ibm) + & ztauc(jk) * zomcc(jk) * zgcc(jk)) / zomco(jk) zomco(jk) = zomco(jk) / ztauo(jk) ! Total sky optical parameters (if cloud properties not delta scaled) ! Use this code if cloud properties are not derived in rrtmg_sw_cldprop elseif (icpr .eq. 0) then ztauo(jk) = ztaur(ikl,iw) + ztaug(ikl,iw) + ptaua(ikl,ibm) + ptauc(ikl,ibm) zomco(jk) = ptaua(ikl,ibm) * pomga(ikl,ibm) + ptauc(ikl,ibm) * pomgc(ikl,ibm) + & ztaur(ikl,iw) * 1.0_rb zgco (jk) = (ptauc(ikl,ibm) * pomgc(ikl,ibm) * pasyc(ikl,ibm) + & ptaua(ikl,ibm)*pomga(ikl,ibm)*pasya(ikl,ibm)) / zomco(jk) zomco(jk) = zomco(jk) / ztauo(jk) ! Delta scaling - clouds ! Use only if subroutine rrtmg_sw_cldprop is not used to get cloud properties and to apply delta scaling zf = zgco(jk) * zgco(jk) zwf = zomco(jk) * zf ztauo(jk) = (1._rb - zwf) * ztauo(jk) zomco(jk) = (zomco(jk) - zwf) / (1.0_rb - zwf) zgco (jk) = (zgco(jk) - zf) / (1.0_rb - zf) endif ! End of layer loop enddo ! Clear sky reflectivities call reftra_sw (klev, & lrtchkclr, zgcc, prmu0, ztauc, zomcc, & zrefc, zrefdc, ztrac, ztradc) ! Total sky reflectivities call reftra_sw (klev, & lrtchkcld, zgco, prmu0, ztauo, zomco, & zrefo, zrefdo, ztrao, ztrado) do jk=1,klev ! Combine clear and cloudy contributions for total sky ikl = klev+1-jk zclear = 1.0_rb - pclfr(ikl) zcloud = pclfr(ikl) zref(jk) = zclear*zrefc(jk) + zcloud*zrefo(jk) zrefd(jk)= zclear*zrefdc(jk) + zcloud*zrefdo(jk) ztra(jk) = zclear*ztrac(jk) + zcloud*ztrao(jk) ztrad(jk)= zclear*ztradc(jk) + zcloud*ztrado(jk) ! Direct beam transmittance ! Clear ! zdbtmc = exp(-ztauc(jk) / prmu0) ! Use exponential lookup table for transmittance, or expansion of ! exponential for low tau ze1 = ztauc(jk) / prmu0 if (ze1 .le. od_lo) then zdbtmc = 1._rb - ze1 + 0.5_rb * ze1 * ze1 else tblind = ze1 / (bpade + ze1) itind = tblint * tblind + 0.5_rb zdbtmc = exp_tbl(itind) endif zdbtc(jk) = zdbtmc ztdbtc(jk+1) = zdbtc(jk)*ztdbtc(jk) ! Clear + Cloud ! zdbtmo = exp(-ztauo(jk) / prmu0) ! Use exponential lookup table for transmittance, or expansion of ! exponential for low tau ze1 = ztauo(jk) / prmu0 if (ze1 .le. od_lo) then zdbtmo = 1._rb - ze1 + 0.5_rb * ze1 * ze1 else tblind = ze1 / (bpade + ze1) itind = tblint * tblind + 0.5_rb zdbtmo = exp_tbl(itind) endif zdbt(jk) = zclear*zdbtmc + zcloud*zdbtmo ztdbt(jk+1) = zdbt(jk)*ztdbt(jk) enddo ! Vertical quadrature for clear-sky fluxes call vrtqdr_sw (klev, iw, & zrefc, zrefdc, ztrac, ztradc, & zdbtc, zrdndc, zrupc, zrupdc, ztdbtc, & zcd, zcu) ! Vertical quadrature for cloudy fluxes call vrtqdr_sw (klev, iw, & zref, zrefd, ztra, ztrad, & zdbt, zrdnd, zrup, zrupd, ztdbt, & zfd, zfu) ! Upwelling and downwelling fluxes at levels ! Two-stream calculations go from top to bottom; ! layer indexing is reversed to go bottom to top for output arrays do jk=1,klev+1 ikl=klev+2-jk ! Accumulate spectral fluxes over bands - inactive ! zbbfu(ikl) = zbbfu(ikl) + zincflx(iw)*zfu(jk,iw) ! zbbfd(ikl) = zbbfd(ikl) + zincflx(iw)*zfd(jk,iw) ! zbbcu(ikl) = zbbcu(ikl) + zincflx(iw)*zcu(jk,iw) ! zbbcd(ikl) = zbbcd(ikl) + zincflx(iw)*zcd(jk,iw) ! zbbfddir(ikl) = zbbfddir(ikl) + zincflx(iw)*ztdbt_nodel(jk) ! zbbcddir(ikl) = zbbcddir(ikl) + zincflx(iw)*ztdbtc_nodel(jk) ! Accumulate spectral fluxes over whole spectrum pbbfu(ikl) = pbbfu(ikl) + zincflx(iw)*zfu(jk,iw) pbbfd(ikl) = pbbfd(ikl) + zincflx(iw)*zfd(jk,iw) pbbcu(ikl) = pbbcu(ikl) + zincflx(iw)*zcu(jk,iw) pbbcd(ikl) = pbbcd(ikl) + zincflx(iw)*zcd(jk,iw) if (idelm .eq. 0) then pbbfddir(ikl) = pbbfddir(ikl) + zincflx(iw)*ztdbt_nodel(jk) pbbcddir(ikl) = pbbcddir(ikl) + zincflx(iw)*ztdbtc_nodel(jk) elseif (idelm .eq. 1) then pbbfddir(ikl) = pbbfddir(ikl) + zincflx(iw)*ztdbt(jk) pbbcddir(ikl) = pbbcddir(ikl) + zincflx(iw)*ztdbtc(jk) endif ! Accumulate direct fluxes for UV/visible bands if (ibm >= 10 .and. ibm <= 13) then puvcd(ikl) = puvcd(ikl) + zincflx(iw)*zcd(jk,iw) puvfd(ikl) = puvfd(ikl) + zincflx(iw)*zfd(jk,iw) if (idelm .eq. 0) then puvfddir(ikl) = puvfddir(ikl) + zincflx(iw)*ztdbt_nodel(jk) puvcddir(ikl) = puvcddir(ikl) + zincflx(iw)*ztdbtc_nodel(jk) elseif (idelm .eq. 1) then puvfddir(ikl) = puvfddir(ikl) + zincflx(iw)*ztdbt(jk) puvcddir(ikl) = puvcddir(ikl) + zincflx(iw)*ztdbtc(jk) endif ! Accumulate direct fluxes for near-IR bands else if (ibm == 14 .or. ibm <= 9) then pnicd(ikl) = pnicd(ikl) + zincflx(iw)*zcd(jk,iw) pnifd(ikl) = pnifd(ikl) + zincflx(iw)*zfd(jk,iw) if (idelm .eq. 0) then pnifddir(ikl) = pnifddir(ikl) + zincflx(iw)*ztdbt_nodel(jk) pnicddir(ikl) = pnicddir(ikl) + zincflx(iw)*ztdbtc_nodel(jk) elseif (idelm .eq. 1) then pnifddir(ikl) = pnifddir(ikl) + zincflx(iw)*ztdbt(jk) pnicddir(ikl) = pnicddir(ikl) + zincflx(iw)*ztdbtc(jk) endif endif enddo ! End loop on jg, g-point interval enddo ! End loop on jb, spectral band enddo end subroutine spcvrt_sw end module rrtmg_sw_spcvrt ! path: $Source: /storm/rc1/cvsroot/rc/rrtmg_sw/src/rrtmg_sw_spcvmc.f90,v $ ! author: $Author: mike $ ! revision: $Revision: 1.5 $ ! created: $Date: 2009/05/22 22:22:22 $ module rrtmg_sw_spcvmc ! -------------------------------------------------------------------------- ! | | ! | Copyright 2002-2009, Atmospheric & Environmental Research, Inc. (AER). | ! | This software may be used, copied, or redistributed as long as it is | ! | not sold and this copyright notice is reproduced on each copy made. | ! | This model is provided as is without any express or implied warranties. | ! | (http://www.rtweb.aer.com/) | ! | | ! -------------------------------------------------------------------------- ! ------- Modules ------- use parkind, only : im => kind_im, rb => kind_rb use parrrsw, only : nbndsw, ngptsw, mxmol, jpband use rrsw_tbl, only : tblint, bpade, od_lo, exp_tbl use rrsw_vsn, only : hvrspc, hnamspc use rrsw_wvn, only : ngc, ngs use rrtmg_sw_reftra, only: reftra_sw use rrtmg_sw_taumol, only: taumol_sw use rrtmg_sw_vrtqdr, only: vrtqdr_sw implicit none contains ! --------------------------------------------------------------------------- subroutine spcvmc_sw & (nlayers, istart, iend, icpr, idelm, iout, & pavel, tavel, pz, tz, tbound, palbd, palbp, & pcldfmc, ptaucmc, pasycmc, pomgcmc, ptaormc, & ptaua, pasya, pomga, prmu0, coldry, wkl, adjflux, & laytrop, layswtch, laylow, jp, jt, jt1, & co2mult, colch4, colco2, colh2o, colmol, coln2o, colo2, colo3, & fac00, fac01, fac10, fac11, & selffac, selffrac, indself, forfac, forfrac, indfor, & pbbfd, pbbfu, pbbcd, pbbcu, puvfd, puvcd, pnifd, pnicd, & pbbfddir, pbbcddir, puvfddir, puvcddir, pnifddir, pnicddir) ! --------------------------------------------------------------------------- ! ! Purpose: Contains spectral loop to compute the shortwave radiative fluxes, ! using the two-stream method of H. Barker and McICA, the Monte-Carlo ! Independent Column Approximation, for the representation of ! sub-grid cloud variability (i.e. cloud overlap). ! ! Interface: *spcvmc_sw* is called from *rrtmg_sw.F90* or rrtmg_sw.1col.F90* ! ! Method: ! Adapted from two-stream model of H. Barker; ! Two-stream model options (selected with kmodts in rrtmg_sw_reftra.F90): ! 1: Eddington, 2: PIFM, Zdunkowski et al., 3: discret ordinates ! ! Modifications: ! ! Original: H. Barker ! Revision: Merge with RRTMG_SW: J.-J.Morcrette, ECMWF, Feb 2003 ! Revision: Add adjustment for Earth/Sun distance : MJIacono, AER, Oct 2003 ! Revision: Bug fix for use of PALBP and PALBD: MJIacono, AER, Nov 2003 ! Revision: Bug fix to apply delta scaling to clear sky: AER, Dec 2004 ! Revision: Code modified so that delta scaling is not done in cloudy profiles ! if routine cldprop is used; delta scaling can be applied by swithcing ! code below if cldprop is not used to get cloud properties. ! AER, Jan 2005 ! Revision: Modified to use McICA: MJIacono, AER, Nov 2005 ! Revision: Uniform formatting for RRTMG: MJIacono, AER, Jul 2006 ! Revision: Use exponential lookup table for transmittance: MJIacono, AER, ! Aug 2007 ! ! ------------------------------------------------------------------ ! ------- Declarations ------ ! ------- Input ------- integer(kind=im), intent(in) :: nlayers integer(kind=im), intent(in) :: istart integer(kind=im), intent(in) :: iend integer(kind=im), intent(in) :: icpr integer(kind=im), intent(in) :: idelm ! delta-m scaling flag ! [0 = direct and diffuse fluxes are unscaled] ! [1 = direct and diffuse fluxes are scaled] integer(kind=im), intent(in) :: iout integer(kind=im), intent(in) :: laytrop integer(kind=im), intent(in) :: layswtch integer(kind=im), intent(in) :: laylow integer(kind=im), intent(in) :: indfor(:) ! Dimensions: (nlayers) integer(kind=im), intent(in) :: indself(:) ! Dimensions: (nlayers) integer(kind=im), intent(in) :: jp(:) ! Dimensions: (nlayers) integer(kind=im), intent(in) :: jt(:) ! Dimensions: (nlayers) integer(kind=im), intent(in) :: jt1(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: pavel(:) ! layer pressure (hPa, mb) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: tavel(:) ! layer temperature (K) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: pz(0:) ! level (interface) pressure (hPa, mb) ! Dimensions: (0:nlayers) real(kind=rb), intent(in) :: tz(0:) ! level temperatures (hPa, mb) ! Dimensions: (0:nlayers) real(kind=rb), intent(in) :: tbound ! surface temperature (K) real(kind=rb), intent(in) :: wkl(:,:) ! molecular amounts (mol/cm2) ! Dimensions: (mxmol,nlayers) real(kind=rb), intent(in) :: coldry(:) ! dry air column density (mol/cm2) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: colmol(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: adjflux(:) ! Earth/Sun distance adjustment ! Dimensions: (jpband) real(kind=rb), intent(in) :: palbd(:) ! surface albedo (diffuse) ! Dimensions: (nbndsw) real(kind=rb), intent(in) :: palbp(:) ! surface albedo (direct) ! Dimensions: (nbndsw) real(kind=rb), intent(in) :: prmu0 ! cosine of solar zenith angle real(kind=rb), intent(in) :: pcldfmc(:,:) ! cloud fraction [mcica] ! Dimensions: (nlayers,ngptsw) real(kind=rb), intent(in) :: ptaucmc(:,:) ! cloud optical depth [mcica] ! Dimensions: (nlayers,ngptsw) real(kind=rb), intent(in) :: pasycmc(:,:) ! cloud asymmetry parameter [mcica] ! Dimensions: (nlayers,ngptsw) real(kind=rb), intent(in) :: pomgcmc(:,:) ! cloud single scattering albedo [mcica] ! Dimensions: (nlayers,ngptsw) real(kind=rb), intent(in) :: ptaormc(:,:) ! cloud optical depth, non-delta scaled [mcica] ! Dimensions: (nlayers,ngptsw) real(kind=rb), intent(in) :: ptaua(:,:) ! aerosol optical depth ! Dimensions: (nlayers,nbndsw) real(kind=rb), intent(in) :: pasya(:,:) ! aerosol asymmetry parameter ! Dimensions: (nlayers,nbndsw) real(kind=rb), intent(in) :: pomga(:,:) ! aerosol single scattering albedo ! Dimensions: (nlayers,nbndsw) real(kind=rb), intent(in) :: colh2o(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: colco2(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: colch4(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: co2mult(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: colo3(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: colo2(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: coln2o(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: forfac(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: forfrac(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: selffac(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: selffrac(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: fac00(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: fac01(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: fac10(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: fac11(:) ! Dimensions: (nlayers) ! ------- Output ------- ! All Dimensions: (nlayers+1) real(kind=rb), intent(out) :: pbbcd(:) real(kind=rb), intent(out) :: pbbcu(:) real(kind=rb), intent(out) :: pbbfd(:) real(kind=rb), intent(out) :: pbbfu(:) real(kind=rb), intent(out) :: pbbfddir(:) real(kind=rb), intent(out) :: pbbcddir(:) real(kind=rb), intent(out) :: puvcd(:) real(kind=rb), intent(out) :: puvfd(:) real(kind=rb), intent(out) :: puvcddir(:) real(kind=rb), intent(out) :: puvfddir(:) real(kind=rb), intent(out) :: pnicd(:) real(kind=rb), intent(out) :: pnifd(:) real(kind=rb), intent(out) :: pnicddir(:) real(kind=rb), intent(out) :: pnifddir(:) ! Output - inactive ! All Dimensions: (nlayers+1) ! real(kind=rb), intent(out) :: puvcu(:) ! real(kind=rb), intent(out) :: puvfu(:) ! real(kind=rb), intent(out) :: pnicu(:) ! real(kind=rb), intent(out) :: pnifu(:) ! real(kind=rb), intent(out) :: pvscd(:) ! real(kind=rb), intent(out) :: pvscu(:) ! real(kind=rb), intent(out) :: pvsfd(:) ! real(kind=rb), intent(out) :: pvsfu(:) ! ------- Local ------- logical :: lrtchkclr(nlayers),lrtchkcld(nlayers) integer(kind=im) :: klev integer(kind=im) :: ib1, ib2, ibm, igt, ikl, ikp, ikx integer(kind=im) :: iw, jb, jg, jl, jk ! integer(kind=im), parameter :: nuv = ?? ! integer(kind=im), parameter :: nvs = ?? integer(kind=im) :: itind real(kind=rb) :: tblind, ze1 real(kind=rb) :: zclear, zcloud real(kind=rb) :: zdbt(nlayers+1), zdbt_nodel(nlayers+1) real(kind=rb) :: zgc(nlayers), zgcc(nlayers), zgco(nlayers) real(kind=rb) :: zomc(nlayers), zomcc(nlayers), zomco(nlayers) real(kind=rb) :: zrdnd(nlayers+1), zrdndc(nlayers+1) real(kind=rb) :: zref(nlayers+1), zrefc(nlayers+1), zrefo(nlayers+1) real(kind=rb) :: zrefd(nlayers+1), zrefdc(nlayers+1), zrefdo(nlayers+1) real(kind=rb) :: zrup(nlayers+1), zrupd(nlayers+1) real(kind=rb) :: zrupc(nlayers+1), zrupdc(nlayers+1) real(kind=rb) :: zs1(nlayers+1) real(kind=rb) :: ztauc(nlayers), ztauo(nlayers) real(kind=rb) :: ztdn(nlayers+1), ztdnd(nlayers+1), ztdbt(nlayers+1) real(kind=rb) :: ztoc(nlayers), ztor(nlayers) real(kind=rb) :: ztra(nlayers+1), ztrac(nlayers+1), ztrao(nlayers+1) real(kind=rb) :: ztrad(nlayers+1), ztradc(nlayers+1), ztrado(nlayers+1) real(kind=rb) :: zdbtc(nlayers+1), ztdbtc(nlayers+1) real(kind=rb) :: zincflx(ngptsw), zdbtc_nodel(nlayers+1) real(kind=rb) :: ztdbt_nodel(nlayers+1), ztdbtc_nodel(nlayers+1) real(kind=rb) :: zdbtmc, zdbtmo, zf, zgw, zreflect real(kind=rb) :: zwf, tauorig, repclc ! real(kind=rb) :: zincflux ! inactive ! Arrays from rrtmg_sw_taumoln routines ! real(kind=rb) :: ztaug(nlayers,16), ztaur(nlayers,16) ! real(kind=rb) :: zsflxzen(16) real(kind=rb) :: ztaug(nlayers,ngptsw), ztaur(nlayers,ngptsw) real(kind=rb) :: zsflxzen(ngptsw) ! Arrays from rrtmg_sw_vrtqdr routine real(kind=rb) :: zcd(nlayers+1,ngptsw), zcu(nlayers+1,ngptsw) real(kind=rb) :: zfd(nlayers+1,ngptsw), zfu(nlayers+1,ngptsw) ! Inactive arrays ! real(kind=rb) :: zbbcd(nlayers+1), zbbcu(nlayers+1) ! real(kind=rb) :: zbbfd(nlayers+1), zbbfu(nlayers+1) ! real(kind=rb) :: zbbfddir(nlayers+1), zbbcddir(nlayers+1) ! ------------------------------------------------------------------ ! Initializations ib1 = istart ib2 = iend klev = nlayers iw = 0 repclc = 1.e-12_rb ! zincflux = 0.0_rb do jk=1,klev+1 pbbcd(jk)=0._rb pbbcu(jk)=0._rb pbbfd(jk)=0._rb pbbfu(jk)=0._rb pbbcddir(jk)=0._rb pbbfddir(jk)=0._rb puvcd(jk)=0._rb puvfd(jk)=0._rb puvcddir(jk)=0._rb puvfddir(jk)=0._rb pnicd(jk)=0._rb pnifd(jk)=0._rb pnicddir(jk)=0._rb pnifddir(jk)=0._rb enddo ! Calculate the optical depths for gaseous absorption and Rayleigh scattering call taumol_sw(klev, & colh2o, colco2, colch4, colo2, colo3, colmol, & laytrop, jp, jt, jt1, & fac00, fac01, fac10, fac11, & selffac, selffrac, indself, forfac, forfrac, indfor, & zsflxzen, ztaug, ztaur) ! Top of shortwave spectral band loop, jb = 16 -> 29; ibm = 1 -> 14 do jb = ib1, ib2 ibm = jb-15 igt = ngc(ibm) ! Reinitialize g-point counter for each band if output for each band is requested. if (iout.gt.0.and.ibm.ge.2) iw = ngs(ibm-1) ! do jk=1,klev+1 ! zbbcd(jk)=0.0_rb ! zbbcu(jk)=0.0_rb ! zbbfd(jk)=0.0_rb ! zbbfu(jk)=0.0_rb ! enddo ! Top of g-point interval loop within each band (iw is cumulative counter) do jg = 1,igt iw = iw+1 ! Apply adjustment for correct Earth/Sun distance and zenith angle to incoming solar flux zincflx(iw) = adjflux(jb) * zsflxzen(iw) * prmu0 ! zincflux = zincflux + adjflux(jb) * zsflxzen(iw) * prmu0 ! inactive ! Compute layer reflectances and transmittances for direct and diffuse sources, ! first clear then cloudy ! zrefc(jk) direct albedo for clear ! zrefo(jk) direct albedo for cloud ! zrefdc(jk) diffuse albedo for clear ! zrefdo(jk) diffuse albedo for cloud ! ztrac(jk) direct transmittance for clear ! ztrao(jk) direct transmittance for cloudy ! ztradc(jk) diffuse transmittance for clear ! ztrado(jk) diffuse transmittance for cloudy ! ! zref(jk) direct reflectance ! zrefd(jk) diffuse reflectance ! ztra(jk) direct transmittance ! ztrad(jk) diffuse transmittance ! ! zdbtc(jk) clear direct beam transmittance ! zdbto(jk) cloudy direct beam transmittance ! zdbt(jk) layer mean direct beam transmittance ! ztdbt(jk) total direct beam transmittance at levels ! Clear-sky ! TOA direct beam ztdbtc(1)=1.0_rb ztdbtc_nodel(1)=1.0_rb ! Surface values zdbtc(klev+1) =0.0_rb ztrac(klev+1) =0.0_rb ztradc(klev+1)=0.0_rb zrefc(klev+1) =palbp(ibm) zrefdc(klev+1)=palbd(ibm) zrupc(klev+1) =palbp(ibm) zrupdc(klev+1)=palbd(ibm) ! Cloudy-sky ! Surface values ztrao(klev+1) =0.0_rb ztrado(klev+1)=0.0_rb zrefo(klev+1) =palbp(ibm) zrefdo(klev+1)=palbd(ibm) ! Total sky ! TOA direct beam ztdbt(1)=1.0_rb ztdbt_nodel(1)=1.0_rb ! Surface values zdbt(klev+1) =0.0_rb ztra(klev+1) =0.0_rb ztrad(klev+1)=0.0_rb zref(klev+1) =palbp(ibm) zrefd(klev+1)=palbd(ibm) zrup(klev+1) =palbp(ibm) zrupd(klev+1)=palbd(ibm) ! Top of layer loop do jk=1,klev ! Note: two-stream calculations proceed from top to bottom; ! RRTMG_SW quantities are given bottom to top and are reversed here ikl=klev+1-jk ! Set logical flag to do REFTRA calculation ! Do REFTRA for all clear layers lrtchkclr(jk)=.true. ! Do REFTRA only for cloudy layers in profile, since already done for clear layers lrtchkcld(jk)=.false. lrtchkcld(jk)=(pcldfmc(ikl,iw) > repclc) ! Clear-sky optical parameters - this section inactive ! Original ! ztauc(jk) = ztaur(ikl,iw) + ztaug(ikl,iw) ! zomcc(jk) = ztaur(ikl,iw) / ztauc(jk) ! zgcc(jk) = 0.0001_rb ! Total sky optical parameters ! ztauo(jk) = ztaur(ikl,iw) + ztaug(ikl,iw) + ptaucmc(ikl,iw) ! zomco(jk) = ptaucmc(ikl,iw) * pomgcmc(ikl,iw) + ztaur(ikl,iw) ! zgco (jk) = (ptaucmc(ikl,iw) * pomgcmc(ikl,iw) * pasycmc(ikl,iw) + & ! ztaur(ikl,iw) * 0.0001_rb) / zomco(jk) ! zomco(jk) = zomco(jk) / ztauo(jk) ! Clear-sky optical parameters including aerosols ztauc(jk) = ztaur(ikl,iw) + ztaug(ikl,iw) + ptaua(ikl,ibm) zomcc(jk) = ztaur(ikl,iw) * 1.0_rb + ptaua(ikl,ibm) * pomga(ikl,ibm) zgcc(jk) = pasya(ikl,ibm) * pomga(ikl,ibm) * ptaua(ikl,ibm) / zomcc(jk) zomcc(jk) = zomcc(jk) / ztauc(jk) ! Pre-delta-scaling clear and cloudy direct beam transmittance (must use 'orig', unscaled cloud OD) ! \/\/\/ This block of code is only needed for unscaled direct beam calculation if (idelm .eq. 0) then ! zclear = 1.0_rb - pcldfmc(ikl,iw) zcloud = pcldfmc(ikl,iw) ! Clear ! zdbtmc = exp(-ztauc(jk) / prmu0) ! Use exponential lookup table for transmittance, or expansion of exponential for low tau ze1 = ztauc(jk) / prmu0 if (ze1 .le. od_lo) then zdbtmc = 1._rb - ze1 + 0.5_rb * ze1 * ze1 else tblind = ze1 / (bpade + ze1) itind = tblint * tblind + 0.5_rb zdbtmc = exp_tbl(itind) endif zdbtc_nodel(jk) = zdbtmc ztdbtc_nodel(jk+1) = zdbtc_nodel(jk) * ztdbtc_nodel(jk) ! Clear + Cloud tauorig = ztauc(jk) + ptaormc(ikl,iw) ! zdbtmo = exp(-tauorig / prmu0) ! Use exponential lookup table for transmittance, or expansion of exponential for low tau ze1 = tauorig / prmu0 if (ze1 .le. od_lo) then zdbtmo = 1._rb - ze1 + 0.5_rb * ze1 * ze1 else tblind = ze1 / (bpade + ze1) itind = tblint * tblind + 0.5_rb zdbtmo = exp_tbl(itind) endif zdbt_nodel(jk) = zclear*zdbtmc + zcloud*zdbtmo ztdbt_nodel(jk+1) = zdbt_nodel(jk) * ztdbt_nodel(jk) endif ! /\/\/\ Above code only needed for unscaled direct beam calculation ! Delta scaling - clear zf = zgcc(jk) * zgcc(jk) zwf = zomcc(jk) * zf ztauc(jk) = (1.0_rb - zwf) * ztauc(jk) zomcc(jk) = (zomcc(jk) - zwf) / (1.0_rb - zwf) zgcc (jk) = (zgcc(jk) - zf) / (1.0_rb - zf) ! Total sky optical parameters (cloud properties already delta-scaled) ! Use this code if cloud properties are derived in rrtmg_sw_cldprop if (icpr .ge. 1) then ztauo(jk) = ztauc(jk) + ptaucmc(ikl,iw) zomco(jk) = ztauc(jk) * zomcc(jk) + ptaucmc(ikl,iw) * pomgcmc(ikl,iw) zgco (jk) = (ptaucmc(ikl,iw) * pomgcmc(ikl,iw) * pasycmc(ikl,iw) + & ztauc(jk) * zomcc(jk) * zgcc(jk)) / zomco(jk) zomco(jk) = zomco(jk) / ztauo(jk) ! Total sky optical parameters (if cloud properties not delta scaled) ! Use this code if cloud properties are not derived in rrtmg_sw_cldprop elseif (icpr .eq. 0) then ztauo(jk) = ztaur(ikl,iw) + ztaug(ikl,iw) + ptaua(ikl,ibm) + ptaucmc(ikl,iw) zomco(jk) = ptaua(ikl,ibm) * pomga(ikl,ibm) + ptaucmc(ikl,iw) * pomgcmc(ikl,iw) + & ztaur(ikl,iw) * 1.0_rb zgco (jk) = (ptaucmc(ikl,iw) * pomgcmc(ikl,iw) * pasycmc(ikl,iw) + & ptaua(ikl,ibm)*pomga(ikl,ibm)*pasya(ikl,ibm)) / zomco(jk) zomco(jk) = zomco(jk) / ztauo(jk) ! Delta scaling - clouds ! Use only if subroutine rrtmg_sw_cldprop is not used to get cloud properties and to apply delta scaling zf = zgco(jk) * zgco(jk) zwf = zomco(jk) * zf ztauo(jk) = (1._rb - zwf) * ztauo(jk) zomco(jk) = (zomco(jk) - zwf) / (1.0_rb - zwf) zgco (jk) = (zgco(jk) - zf) / (1.0_rb - zf) endif ! End of layer loop enddo ! Clear sky reflectivities call reftra_sw (klev, & lrtchkclr, zgcc, prmu0, ztauc, zomcc, & zrefc, zrefdc, ztrac, ztradc) ! Total sky reflectivities call reftra_sw (klev, & lrtchkcld, zgco, prmu0, ztauo, zomco, & zrefo, zrefdo, ztrao, ztrado) do jk=1,klev ! Combine clear and cloudy contributions for total sky ikl = klev+1-jk zclear = 1.0_rb - pcldfmc(ikl,iw) zcloud = pcldfmc(ikl,iw) zref(jk) = zclear*zrefc(jk) + zcloud*zrefo(jk) zrefd(jk)= zclear*zrefdc(jk) + zcloud*zrefdo(jk) ztra(jk) = zclear*ztrac(jk) + zcloud*ztrao(jk) ztrad(jk)= zclear*ztradc(jk) + zcloud*ztrado(jk) ! Direct beam transmittance ! Clear ! zdbtmc = exp(-ztauc(jk) / prmu0) ! Use exponential lookup table for transmittance, or expansion of ! exponential for low tau ze1 = ztauc(jk) / prmu0 if (ze1 .le. od_lo) then zdbtmc = 1._rb - ze1 + 0.5_rb * ze1 * ze1 else tblind = ze1 / (bpade + ze1) itind = tblint * tblind + 0.5_rb zdbtmc = exp_tbl(itind) endif zdbtc(jk) = zdbtmc ztdbtc(jk+1) = zdbtc(jk)*ztdbtc(jk) ! Clear + Cloud ! zdbtmo = exp(-ztauo(jk) / prmu0) ! Use exponential lookup table for transmittance, or expansion of ! exponential for low tau ze1 = ztauo(jk) / prmu0 if (ze1 .le. od_lo) then zdbtmo = 1._rb - ze1 + 0.5_rb * ze1 * ze1 else tblind = ze1 / (bpade + ze1) itind = tblint * tblind + 0.5_rb zdbtmo = exp_tbl(itind) endif zdbt(jk) = zclear*zdbtmc + zcloud*zdbtmo ztdbt(jk+1) = zdbt(jk)*ztdbt(jk) enddo ! Vertical quadrature for clear-sky fluxes call vrtqdr_sw(klev, iw, & zrefc, zrefdc, ztrac, ztradc, & zdbtc, zrdndc, zrupc, zrupdc, ztdbtc, & zcd, zcu) ! Vertical quadrature for cloudy fluxes call vrtqdr_sw(klev, iw, & zref, zrefd, ztra, ztrad, & zdbt, zrdnd, zrup, zrupd, ztdbt, & zfd, zfu) ! Upwelling and downwelling fluxes at levels ! Two-stream calculations go from top to bottom; ! layer indexing is reversed to go bottom to top for output arrays do jk=1,klev+1 ikl=klev+2-jk ! Accumulate spectral fluxes over bands - inactive ! zbbfu(ikl) = zbbfu(ikl) + zincflx(iw)*zfu(jk,iw) ! zbbfd(ikl) = zbbfd(ikl) + zincflx(iw)*zfd(jk,iw) ! zbbcu(ikl) = zbbcu(ikl) + zincflx(iw)*zcu(jk,iw) ! zbbcd(ikl) = zbbcd(ikl) + zincflx(iw)*zcd(jk,iw) ! zbbfddir(ikl) = zbbfddir(ikl) + zincflx(iw)*ztdbt_nodel(jk) ! zbbcddir(ikl) = zbbcddir(ikl) + zincflx(iw)*ztdbtc_nodel(jk) ! Accumulate spectral fluxes over whole spectrum pbbfu(ikl) = pbbfu(ikl) + zincflx(iw)*zfu(jk,iw) pbbfd(ikl) = pbbfd(ikl) + zincflx(iw)*zfd(jk,iw) pbbcu(ikl) = pbbcu(ikl) + zincflx(iw)*zcu(jk,iw) pbbcd(ikl) = pbbcd(ikl) + zincflx(iw)*zcd(jk,iw) if (idelm .eq. 0) then pbbfddir(ikl) = pbbfddir(ikl) + zincflx(iw)*ztdbt_nodel(jk) pbbcddir(ikl) = pbbcddir(ikl) + zincflx(iw)*ztdbtc_nodel(jk) elseif (idelm .eq. 1) then pbbfddir(ikl) = pbbfddir(ikl) + zincflx(iw)*ztdbt(jk) pbbcddir(ikl) = pbbcddir(ikl) + zincflx(iw)*ztdbtc(jk) endif ! Accumulate direct fluxes for UV/visible bands if (ibm >= 10 .and. ibm <= 13) then puvcd(ikl) = puvcd(ikl) + zincflx(iw)*zcd(jk,iw) puvfd(ikl) = puvfd(ikl) + zincflx(iw)*zfd(jk,iw) if (idelm .eq. 0) then puvfddir(ikl) = puvfddir(ikl) + zincflx(iw)*ztdbt_nodel(jk) puvcddir(ikl) = puvcddir(ikl) + zincflx(iw)*ztdbtc_nodel(jk) elseif (idelm .eq. 1) then puvfddir(ikl) = puvfddir(ikl) + zincflx(iw)*ztdbt(jk) puvcddir(ikl) = puvcddir(ikl) + zincflx(iw)*ztdbtc(jk) endif ! Accumulate direct fluxes for near-IR bands else if (ibm == 14 .or. ibm <= 9) then pnicd(ikl) = pnicd(ikl) + zincflx(iw)*zcd(jk,iw) pnifd(ikl) = pnifd(ikl) + zincflx(iw)*zfd(jk,iw) if (idelm .eq. 0) then pnifddir(ikl) = pnifddir(ikl) + zincflx(iw)*ztdbt_nodel(jk) pnicddir(ikl) = pnicddir(ikl) + zincflx(iw)*ztdbtc_nodel(jk) elseif (idelm .eq. 1) then pnifddir(ikl) = pnifddir(ikl) + zincflx(iw)*ztdbt(jk) pnicddir(ikl) = pnicddir(ikl) + zincflx(iw)*ztdbtc(jk) endif endif enddo ! End loop on jg, g-point interval enddo ! End loop on jb, spectral band enddo end subroutine spcvmc_sw end module rrtmg_sw_spcvmc ! path: $Source: /storm/rc1/cvsroot/rc/rrtmg_sw/src/mcica_random_numbers.f90,v $ ! author: $Author: mike $ ! revision: $Revision: 1.3 $ ! created: $Date: 2008/08/29 17:59:07 $ ! ! Fortran-95 implementation of the Mersenne Twister 19937, following ! the C implementation described below (code mt19937ar-cok.c, dated 2002/2/10), ! adapted cosmetically by making the names more general. ! Users must declare one or more variables of type randomNumberSequence in the calling ! procedure which are then initialized using a required seed. If the ! variable is not initialized the random numbers will all be 0. ! For example: ! program testRandoms ! use RandomNumbers ! type(randomNumberSequence) :: randomNumbers ! integer :: i ! ! randomNumbers = new_RandomNumberSequence(seed = 100) ! do i = 1, 10 ! print ('(f12.10, 2x)'), getRandomReal(randomNumbers) ! end do ! end program testRandoms ! ! Fortran-95 implementation by ! Robert Pincus ! NOAA-CIRES Climate Diagnostics Center ! Boulder, CO 80305 ! email: Robert.Pincus@colorado.edu ! ! This documentation in the original C program reads: ! ------------------------------------------------------------- ! A C-program for MT19937, with initialization improved 2002/2/10. ! Coded by Takuji Nishimura and Makoto Matsumoto. ! This is a faster version by taking Shawn Cokus's optimization, ! Matthe Bellew's simplification, Isaku Wada's real version. ! ! Before using, initialize the state by using init_genrand(seed) ! or init_by_array(init_key, key_length). ! ! Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, ! All rights reserved. ! ! Redistribution and use in source and binary forms, with or without ! modification, are permitted provided that the following conditions ! are met: ! ! 1. Redistributions of source code must retain the above copyright ! notice, this list of conditions and the following disclaimer. ! ! 2. Redistributions in binary form must reproduce the above copyright ! notice, this list of conditions and the following disclaimer in the ! documentation and/or other materials provided with the distribution. ! ! 3. The names of its contributors may not be used to endorse or promote ! products derived from this software without specific prior written ! permission. ! ! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ! "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ! LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ! A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR ! CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, ! EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, ! PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR ! PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF ! LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING ! NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS ! SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ! ! ! Any feedback is very welcome. ! http://www.math.keio.ac.jp/matumoto/emt.html ! email: matumoto@math.keio.ac.jp ! ------------------------------------------------------------- module MersenneTwister ! ------------------------------------------------------------- use parkind, only : im => kind_im, rb => kind_rb implicit none private ! Algorithm parameters ! ------- ! Period parameters integer(kind=im), parameter :: blockSize = 624, & M = 397, & MATRIX_A = -1727483681, & ! constant vector a (0x9908b0dfUL) UMASK = -2147483648, & ! most significant w-r bits (0x80000000UL) LMASK = 2147483647 ! least significant r bits (0x7fffffffUL) ! Tempering parameters integer(kind=im), parameter :: TMASKB= -1658038656, & ! (0x9d2c5680UL) TMASKC= -272236544 ! (0xefc60000UL) ! ------- ! The type containing the state variable type randomNumberSequence integer(kind=im) :: currentElement ! = blockSize integer(kind=im), dimension(0:blockSize -1) :: state ! = 0 end type randomNumberSequence interface new_RandomNumberSequence module procedure initialize_scalar, initialize_vector end interface new_RandomNumberSequence public :: randomNumberSequence public :: new_RandomNumberSequence, finalize_RandomNumberSequence, & getRandomInt, getRandomPositiveInt, getRandomReal ! ------------------------------------------------------------- contains ! ------------------------------------------------------------- ! Private functions ! --------------------------- function mixbits(u, v) integer(kind=im), intent( in) :: u, v integer(kind=im) :: mixbits mixbits = ior(iand(u, UMASK), iand(v, LMASK)) end function mixbits ! --------------------------- function twist(u, v) integer(kind=im), intent( in) :: u, v integer(kind=im) :: twist ! Local variable integer(kind=im), parameter, dimension(0:1) :: t_matrix = (/ 0_im, MATRIX_A /) twist = ieor(ishft(mixbits(u, v), -1_im), t_matrix(iand(v, 1_im))) twist = ieor(ishft(mixbits(u, v), -1_im), t_matrix(iand(v, 1_im))) end function twist ! --------------------------- subroutine nextState(twister) type(randomNumberSequence), intent(inout) :: twister ! Local variables integer(kind=im) :: k do k = 0, blockSize - M - 1 twister%state(k) = ieor(twister%state(k + M), & twist(twister%state(k), twister%state(k + 1_im))) end do do k = blockSize - M, blockSize - 2 twister%state(k) = ieor(twister%state(k + M - blockSize), & twist(twister%state(k), twister%state(k + 1_im))) end do twister%state(blockSize - 1_im) = ieor(twister%state(M - 1_im), & twist(twister%state(blockSize - 1_im), twister%state(0_im))) twister%currentElement = 0_im end subroutine nextState ! --------------------------- elemental function temper(y) integer(kind=im), intent(in) :: y integer(kind=im) :: temper integer(kind=im) :: x ! Tempering x = ieor(y, ishft(y, -11)) x = ieor(x, iand(ishft(x, 7), TMASKB)) x = ieor(x, iand(ishft(x, 15), TMASKC)) temper = ieor(x, ishft(x, -18)) end function temper ! ------------------------------------------------------------- ! Public (but hidden) functions ! -------------------- function initialize_scalar(seed) result(twister) integer(kind=im), intent(in ) :: seed type(randomNumberSequence) :: twister integer(kind=im) :: i ! See Knuth TAOCP Vol2. 3rd Ed. P.106 for multiplier. In the previous versions, ! MSBs of the seed affect only MSBs of the array state[]. ! 2002/01/09 modified by Makoto Matsumoto twister%state(0) = iand(seed, -1_im) do i = 1, blockSize - 1 ! ubound(twister%state) twister%state(i) = 1812433253_im * ieor(twister%state(i-1), & ishft(twister%state(i-1), -30_im)) + i twister%state(i) = iand(twister%state(i), -1_im) ! for >32 bit machines end do twister%currentElement = blockSize end function initialize_scalar ! ------------------------------------------------------------- function initialize_vector(seed) result(twister) integer(kind=im), dimension(0:), intent(in) :: seed type(randomNumberSequence) :: twister integer(kind=im) :: i, j, k, nFirstLoop, nWraps nWraps = 0 twister = initialize_scalar(19650218_im) nFirstLoop = max(blockSize, size(seed)) do k = 1, nFirstLoop i = mod(k + nWraps, blockSize) j = mod(k - 1, size(seed)) if(i == 0) then twister%state(i) = twister%state(blockSize - 1) twister%state(1) = ieor(twister%state(1), & ieor(twister%state(1-1), & ishft(twister%state(1-1), -30_im)) * 1664525_im) + & seed(j) + j ! Non-linear twister%state(i) = iand(twister%state(i), -1_im) ! for >32 bit machines nWraps = nWraps + 1 else twister%state(i) = ieor(twister%state(i), & ieor(twister%state(i-1), & ishft(twister%state(i-1), -30_im)) * 1664525_im) + & seed(j) + j ! Non-linear twister%state(i) = iand(twister%state(i), -1_im) ! for >32 bit machines end if end do ! ! Walk through the state array, beginning where we left off in the block above ! do i = mod(nFirstLoop, blockSize) + nWraps + 1, blockSize - 1 twister%state(i) = ieor(twister%state(i), & ieor(twister%state(i-1), & ishft(twister%state(i-1), -30_im)) * 1566083941_im) - i ! Non-linear twister%state(i) = iand(twister%state(i), -1_im) ! for >32 bit machines end do twister%state(0) = twister%state(blockSize - 1) do i = 1, mod(nFirstLoop, blockSize) + nWraps twister%state(i) = ieor(twister%state(i), & ieor(twister%state(i-1), & ishft(twister%state(i-1), -30_im)) * 1566083941_im) - i ! Non-linear twister%state(i) = iand(twister%state(i), -1_im) ! for >32 bit machines end do twister%state(0) = UMASK twister%currentElement = blockSize end function initialize_vector ! ------------------------------------------------------------- ! Public functions ! -------------------- function getRandomInt(twister) type(randomNumberSequence), intent(inout) :: twister integer(kind=im) :: getRandomInt ! Generate a random integer on the interval [0,0xffffffff] ! Equivalent to genrand_int32 in the C code. ! Fortran doesn't have a type that's unsigned like C does, ! so this is integers in the range -2**31 - 2**31 ! All functions for getting random numbers call this one, ! then manipulate the result if(twister%currentElement >= blockSize) call nextState(twister) getRandomInt = temper(twister%state(twister%currentElement)) twister%currentElement = twister%currentElement + 1 end function getRandomInt ! -------------------- function getRandomPositiveInt(twister) type(randomNumberSequence), intent(inout) :: twister integer(kind=im) :: getRandomPositiveInt ! Generate a random integer on the interval [0,0x7fffffff] ! or [0,2**31] ! Equivalent to genrand_int31 in the C code. ! Local integers integer(kind=im) :: localInt localInt = getRandomInt(twister) getRandomPositiveInt = ishft(localInt, -1) end function getRandomPositiveInt ! -------------------- !! mji - modified Jan 2007, double converted to rrtmg real kind type function getRandomReal(twister) type(randomNumberSequence), intent(inout) :: twister ! double precision :: getRandomReal real(kind=rb) :: getRandomReal ! Generate a random number on [0,1] ! Equivalent to genrand_real1 in the C code ! The result is stored as double precision but has 32 bit resolution integer(kind=im) :: localInt localInt = getRandomInt(twister) if(localInt < 0) then ! getRandomReal = dble(localInt + 2.0d0**32)/(2.0d0**32 - 1.0d0) getRandomReal = (localInt + 2.0**32_rb)/(2.0**32_rb - 1.0_rb) else ! getRandomReal = dble(localInt )/(2.0d0**32 - 1.0d0) getRandomReal = (localInt )/(2.0**32_rb - 1.0_rb) end if end function getRandomReal ! -------------------- subroutine finalize_RandomNumberSequence(twister) type(randomNumberSequence), intent(inout) :: twister twister%currentElement = blockSize twister%state(:) = 0_im end subroutine finalize_RandomNumberSequence ! -------------------- end module MersenneTwister module mcica_random_numbers ! Generic module to wrap random number generators. ! The module defines a type that identifies the particular stream of random ! numbers, and has procedures for initializing it and getting real numbers ! in the range 0 to 1. ! This version uses the Mersenne Twister to generate random numbers on [0, 1]. ! use MersenneTwister, only: randomNumberSequence, & ! The random number engine. new_RandomNumberSequence, getRandomReal !! mji !! use time_manager_mod, only: time_type, get_date use parkind, only : im => kind_im, rb => kind_rb implicit none private type randomNumberStream type(randomNumberSequence) :: theNumbers end type randomNumberStream interface getRandomNumbers module procedure getRandomNumber_Scalar, getRandomNumber_1D, getRandomNumber_2D end interface getRandomNumbers interface initializeRandomNumberStream module procedure initializeRandomNumberStream_S, initializeRandomNumberStream_V end interface initializeRandomNumberStream public :: randomNumberStream, & initializeRandomNumberStream, getRandomNumbers !! mji !! initializeRandomNumberStream, getRandomNumbers, & !! constructSeed contains ! --------------------------------------------------------- ! Initialization ! --------------------------------------------------------- function initializeRandomNumberStream_S(seed) result(new) integer(kind=im), intent( in) :: seed type(randomNumberStream) :: new new%theNumbers = new_RandomNumberSequence(seed) end function initializeRandomNumberStream_S ! --------------------------------------------------------- function initializeRandomNumberStream_V(seed) result(new) integer(kind=im), dimension(:), intent( in) :: seed type(randomNumberStream) :: new new%theNumbers = new_RandomNumberSequence(seed) end function initializeRandomNumberStream_V ! --------------------------------------------------------- ! Procedures for drawing random numbers ! --------------------------------------------------------- subroutine getRandomNumber_Scalar(stream, number) type(randomNumberStream), intent(inout) :: stream real(kind=rb), intent( out) :: number number = getRandomReal(stream%theNumbers) end subroutine getRandomNumber_Scalar ! --------------------------------------------------------- subroutine getRandomNumber_1D(stream, numbers) type(randomNumberStream), intent(inout) :: stream real(kind=rb), dimension(:), intent( out) :: numbers ! Local variables integer(kind=im) :: i do i = 1, size(numbers) numbers(i) = getRandomReal(stream%theNumbers) end do end subroutine getRandomNumber_1D ! --------------------------------------------------------- subroutine getRandomNumber_2D(stream, numbers) type(randomNumberStream), intent(inout) :: stream real(kind=rb), dimension(:, :), intent( out) :: numbers ! Local variables integer(kind=im) :: i do i = 1, size(numbers, 2) call getRandomNumber_1D(stream, numbers(:, i)) end do end subroutine getRandomNumber_2D ! mji ! ! --------------------------------------------------------- ! ! Constructing a unique seed from grid cell index and model date/time ! ! Once we have the GFDL stuff we'll add the year, month, day, hour, minute ! ! --------------------------------------------------------- ! function constructSeed(i, j, time) result(seed) ! integer(kind=im), intent( in) :: i, j ! type(time_type), intent( in) :: time ! integer(kind=im), dimension(8) :: seed ! ! ! Local variables ! integer(kind=im) :: year, month, day, hour, minute, second ! ! ! call get_date(time, year, month, day, hour, minute, second) ! seed = (/ i, j, year, month, day, hour, minute, second /) ! end function constructSeed end module mcica_random_numbers ! path: $Source: /storm/rc1/cvsroot/rc/rrtmg_sw/src/mcica_subcol_gen_sw.f90,v $ ! author: $Author: mike $ ! revision: $Revision: 1.7 $ ! created: $Date: 2009/05/22 22:22:21 $ ! module mcica_subcol_gen_sw ! -------------------------------------------------------------------------- ! | | ! | Copyright 2006-2009, Atmospheric & Environmental Research, Inc. (AER). | ! | This software may be used, copied, or redistributed as long as it is | ! | not sold and this copyright notice is reproduced on each copy made. | ! | This model is provided as is without any express or implied warranties. | ! | (http://www.rtweb.aer.com/) | ! | | ! -------------------------------------------------------------------------- ! Purpose: Create McICA stochastic arrays for cloud physical or optical properties. ! Two options are possible: ! 1) Input cloud physical properties: cloud fraction, ice and liquid water ! paths, ice fraction, and particle sizes. Output will be stochastic ! arrays of these variables. (inflag = 1) ! 2) Input cloud optical properties directly: cloud optical depth, single ! scattering albedo and asymmetry parameter. Output will be stochastic ! arrays of these variables. (inflag = 0) ! --------- Modules ---------- use parkind, only : im => kind_im, rb => kind_rb use parrrsw, only : nbndsw, ngptsw use rrsw_con, only: grav use rrsw_wvn, only: ngb use rrsw_vsn implicit none ! public interfaces/functions/subroutines public :: mcica_subcol_sw, generate_stochastic_clouds_sw contains !------------------------------------------------------------------ ! Public subroutines !------------------------------------------------------------------ subroutine mcica_subcol_sw(iplon, ncol, nlay, icld, permuteseed, irng, play, & cldfrac, ciwp, clwp, rei, rel, tauc, ssac, asmc, fsfc, & cldfmcl, ciwpmcl, clwpmcl, reicmcl, relqmcl, & taucmcl, ssacmcl, asmcmcl, fsfcmcl) ! ----- Input ----- ! Control integer(kind=im), intent(in) :: iplon ! column/longitude dimension integer(kind=im), intent(in) :: ncol ! number of columns integer(kind=im), intent(in) :: nlay ! number of model layers integer(kind=im), intent(in) :: icld ! clear/cloud, cloud overlap flag integer(kind=im), intent(in) :: permuteseed ! if the cloud generator is called multiple times, ! permute the seed between each call; ! between calls for LW and SW, recommended ! permuteseed differs by 'ngpt' integer(kind=im), intent(inout) :: irng ! flag for random number generator ! 0 = kissvec ! 1 = Mersenne Twister ! Atmosphere real(kind=rb), intent(in) :: play(:,:) ! layer pressures (mb) ! Dimensions: (ncol,nlay) ! Atmosphere/clouds - cldprop real(kind=rb), intent(in) :: cldfrac(:,:) ! layer cloud fraction ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: tauc(:,:,:) ! in-cloud optical depth ! Dimensions: (nbndsw,ncol,nlay) real(kind=rb), intent(in) :: ssac(:,:,:) ! in-cloud single scattering albedo (non-delta scaled) ! Dimensions: (nbndsw,ncol,nlay) real(kind=rb), intent(in) :: asmc(:,:,:) ! in-cloud asymmetry parameter (non-delta scaled) ! Dimensions: (nbndsw,ncol,nlay) real(kind=rb), intent(in) :: fsfc(:,:,:) ! in-cloud forward scattering fraction (non-delta scaled) ! Dimensions: (nbndsw,ncol,nlay) real(kind=rb), intent(in) :: ciwp(:,:) ! in-cloud ice water path ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: clwp(:,:) ! in-cloud liquid water path ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: rei(:,:) ! cloud ice particle size ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: rel(:,:) ! cloud liquid particle size ! Dimensions: (ncol,nlay) ! ----- Output ----- ! Atmosphere/clouds - cldprmc [mcica] real(kind=rb), intent(out) :: cldfmcl(:,:,:) ! cloud fraction [mcica] ! Dimensions: (ngptsw,ncol,nlay) real(kind=rb), intent(out) :: ciwpmcl(:,:,:) ! in-cloud ice water path [mcica] ! Dimensions: (ngptsw,ncol,nlay) real(kind=rb), intent(out) :: clwpmcl(:,:,:) ! in-cloud liquid water path [mcica] ! Dimensions: (ngptsw,ncol,nlay) real(kind=rb), intent(out) :: relqmcl(:,:) ! liquid particle size (microns) ! Dimensions: (ncol,nlay) real(kind=rb), intent(out) :: reicmcl(:,:) ! ice partcle size (microns) ! Dimensions: (ncol,nlay) real(kind=rb), intent(out) :: taucmcl(:,:,:) ! in-cloud optical depth [mcica] ! Dimensions: (ngptsw,ncol,nlay) real(kind=rb), intent(out) :: ssacmcl(:,:,:) ! in-cloud single scattering albedo [mcica] ! Dimensions: (ngptsw,ncol,nlay) real(kind=rb), intent(out) :: asmcmcl(:,:,:) ! in-cloud asymmetry parameter [mcica] ! Dimensions: (ngptsw,ncol,nlay) real(kind=rb), intent(out) :: fsfcmcl(:,:,:) ! in-cloud forward scattering fraction [mcica] ! Dimensions: (ngptsw,ncol,nlay) ! ----- Local ----- ! Stochastic cloud generator variables [mcica] integer(kind=im), parameter :: nsubcsw = ngptsw ! number of sub-columns (g-point intervals) integer(kind=im) :: ilev ! loop index real(kind=rb) :: pmid(ncol,nlay) ! layer pressures (Pa) ! real(kind=rb) :: pdel(ncol,nlay) ! layer pressure thickness (Pa) ! real(kind=rb) :: qi(ncol,nlay) ! ice water (specific humidity) ! real(kind=rb) :: ql(ncol,nlay) ! liq water (specific humidity) ! Return if clear sky; or stop if icld out of range if (icld.eq.0) return if (icld.lt.0.or.icld.gt.3) then stop 'MCICA_SUBCOL: INVALID ICLD' endif ! NOTE: For GCM mode, permuteseed must be offset between LW and SW by at least number of subcolumns ! Pass particle sizes to new arrays, no subcolumns for these properties yet ! Convert pressures from mb to Pa reicmcl(:ncol,:nlay) = rei(:ncol,:nlay) relqmcl(:ncol,:nlay) = rel(:ncol,:nlay) pmid(:ncol,:nlay) = play(:ncol,:nlay)*1.e2_rb ! Convert input ice and liquid cloud water paths to specific humidity ice and liquid components ! cwp = (q * pdel * 1000.) / gravit) ! = (kg/kg * kg m-1 s-2 *1000.) / m s-2 ! = (g m-2) ! ! q = (cwp * gravit) / (pdel *1000.) ! = (g m-2 * m s-2) / (kg m-1 s-2 * 1000.) ! = kg/kg ! do ilev = 1, nlay ! qi(ilev) = (ciwp(ilev) * grav) / (pdel(ilev) * 1000._rb) ! ql(ilev) = (clwp(ilev) * grav) / (pdel(ilev) * 1000._rb) ! enddo ! Generate the stochastic subcolumns of cloud optical properties for the shortwave; call generate_stochastic_clouds_sw (ncol, nlay, nsubcsw, icld, irng, pmid, cldfrac, clwp, ciwp, & tauc, ssac, asmc, fsfc, cldfmcl, clwpmcl, ciwpmcl, & taucmcl, ssacmcl, asmcmcl, fsfcmcl, permuteseed) end subroutine mcica_subcol_sw !------------------------------------------------------------------------------------------------- subroutine generate_stochastic_clouds_sw(ncol, nlay, nsubcol, icld, irng, pmid, cld, clwp, ciwp, & tauc, ssac, asmc, fsfc, cld_stoch, clwp_stoch, ciwp_stoch, & tauc_stoch, ssac_stoch, asmc_stoch, fsfc_stoch, changeSeed) !------------------------------------------------------------------------------------------------- !---------------------------------------------------------------------------------------------------------------- ! --------------------- ! Contact: Cecile Hannay (hannay@ucar.edu) ! ! Original code: Based on Raisanen et al., QJRMS, 2004. ! ! Modifications: Generalized for use with RRTMG and added Mersenne Twister as the default ! random number generator, which can be changed to the optional kissvec random number generator ! with flag 'irng'. Some extra functionality has been commented or removed. ! Michael J. Iacono, AER, Inc., February 2007 ! ! Given a profile of cloud fraction, cloud water and cloud ice, we produce a set of subcolumns. ! Each layer within each subcolumn is homogeneous, with cloud fraction equal to zero or one ! and uniform cloud liquid and cloud ice concentration. ! The ensemble as a whole reproduces the probability function of cloud liquid and ice within each layer ! and obeys an overlap assumption in the vertical. ! ! Overlap assumption: ! The cloud are consistent with 4 overlap assumptions: random, maximum, maximum-random and exponential. ! The default option is maximum-random (option 3) ! The options are: 1=random overlap, 2=max/random, 3=maximum overlap, 4=exponential overlap ! This is set with the variable "overlap" !mji - Exponential overlap option (overlap=4) has been deactivated in this version ! The exponential overlap uses also a length scale, Zo. (real, parameter :: Zo = 2500. ) ! ! Seed: ! If the stochastic cloud generator is called several times during the same timestep, ! one should change the seed between the call to insure that the subcolumns are different. ! This is done by changing the argument 'changeSeed' ! For example, if one wants to create a set of columns for the shortwave and another set for the longwave , ! use 'changeSeed = 1' for the first call and'changeSeed = 2' for the second call ! ! PDF assumption: ! We can use arbitrary complicated PDFS. ! In the present version, we produce homogeneuous clouds (the simplest case). ! Future developments include using the PDF scheme of Ben Johnson. ! ! History file: ! Option to add diagnostics variables in the history file. (using FINCL in the namelist) ! nsubcol = number of subcolumns ! overlap = overlap type (1-3) ! Zo = length scale ! CLOUD_S = mean of the subcolumn cloud fraction ('_S" means Stochastic) ! CLDLIQ_S = mean of the subcolumn cloud water ! CLDICE_S = mean of the subcolumn cloud ice ! ! Note: ! Here: we force that the cloud condensate to be consistent with the cloud fraction ! i.e we only have cloud condensate when the cell is cloudy. ! In CAM: The cloud condensate and the cloud fraction are obtained from 2 different equations ! and the 2 quantities can be inconsistent (i.e. CAM can produce cloud fraction ! without cloud condensate or the opposite). !--------------------------------------------------------------------------------------------------------------- use mcica_random_numbers ! The Mersenne Twister random number engine use MersenneTwister, only: randomNumberSequence, & new_RandomNumberSequence, getRandomReal type(randomNumberSequence) :: randomNumbers ! -- Arguments integer(kind=im), intent(in) :: ncol ! number of layers integer(kind=im), intent(in) :: nlay ! number of layers integer(kind=im), intent(in) :: icld ! clear/cloud, cloud overlap flag integer(kind=im), intent(inout) :: irng ! flag for random number generator ! 0 = kissvec ! 1 = Mersenne Twister integer(kind=im), intent(in) :: nsubcol ! number of sub-columns (g-point intervals) integer(kind=im), optional, intent(in) :: changeSeed ! allows permuting seed ! Column state (cloud fraction, cloud water, cloud ice) + variables needed to read physics state real(kind=rb), intent(in) :: pmid(:,:) ! layer pressure (Pa) ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: cld(:,:) ! cloud fraction ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: clwp(:,:) ! in-cloud liquid water path (g/m2) ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: ciwp(:,:) ! in-cloud ice water path (g/m2) ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: tauc(:,:,:) ! in-cloud optical depth (non-delta scaled) ! Dimensions: (nbndsw,ncol,nlay) real(kind=rb), intent(in) :: ssac(:,:,:) ! in-cloud single scattering albedo (non-delta scaled) ! Dimensions: (nbndsw,ncol,nlay) real(kind=rb), intent(in) :: asmc(:,:,:) ! in-cloud asymmetry parameter (non-delta scaled) ! Dimensions: (nbndsw,ncol,nlay) real(kind=rb), intent(in) :: fsfc(:,:,:) ! in-cloud forward scattering fraction (non-delta scaled) ! Dimensions: (nbndsw,ncol,nlay) real(kind=rb), intent(out) :: cld_stoch(:,:,:) ! subcolumn cloud fraction ! Dimensions: (ngptsw,ncol,nlay) real(kind=rb), intent(out) :: clwp_stoch(:,:,:) ! subcolumn in-cloud liquid water path ! Dimensions: (ngptsw,ncol,nlay) real(kind=rb), intent(out) :: ciwp_stoch(:,:,:) ! subcolumn in-cloud ice water path ! Dimensions: (ngptsw,ncol,nlay) real(kind=rb), intent(out) :: tauc_stoch(:,:,:) ! subcolumn in-cloud optical depth ! Dimensions: (ngptsw,ncol,nlay) real(kind=rb), intent(out) :: ssac_stoch(:,:,:) ! subcolumn in-cloud single scattering albedo ! Dimensions: (ngptsw,ncol,nlay) real(kind=rb), intent(out) :: asmc_stoch(:,:,:) ! subcolumn in-cloud asymmetry parameter ! Dimensions: (ngptsw,ncol,nlay) real(kind=rb), intent(out) :: fsfc_stoch(:,:,:) ! subcolumn in-cloud forward scattering fraction ! Dimensions: (ngptsw,ncol,nlay) ! -- Local variables real(kind=rb) :: cldf(ncol,nlay) ! cloud fraction ! Dimensions: (ncol,nlay) ! Mean over the subcolumns (cloud fraction, cloud water , cloud ice) - inactive ! real(kind=rb) :: mean_cld_stoch(ncol,nlay) ! cloud fraction ! real(kind=rb) :: mean_clwp_stoch(ncol,nlay) ! cloud water ! real(kind=rb) :: mean_ciwp_stoch(ncol,nlay) ! cloud ice ! real(kind=rb) :: mean_tauc_stoch(ncol,nlay) ! cloud optical depth ! real(kind=rb) :: mean_ssac_stoch(ncol,nlay) ! cloud single scattering albedo ! real(kind=rb) :: mean_asmc_stoch(ncol,nlay) ! cloud asymmetry parameter ! real(kind=rb) :: mean_fsfc_stoch(ncol,nlay) ! cloud forward scattering fraction ! Set overlap integer(kind=im) :: overlap ! 1 = random overlap, 2 = maximum/random, ! 3 = maximum overlap, ! real(kind=rb), parameter :: Zo = 2500._rb ! length scale (m) ! real(kind=rb) :: zm(ncon,nlay) ! Height of midpoints (above surface) ! real(kind=rb), dimension(nlay) :: alpha=0.0_rb ! overlap parameter ! Constants (min value for cloud fraction and cloud water and ice) real(kind=rb), parameter :: cldmin = 1.0e-20_rb ! min cloud fraction ! real(kind=rb), parameter :: qmin = 1.0e-10_rb ! min cloud water and cloud ice (not used) ! Variables related to random number and seed real(kind=rb), dimension(nsubcol, ncol, nlay) :: CDF, CDF2 ! random numbers integer(kind=im), dimension(ncol) :: seed1, seed2, seed3, seed4 ! seed to create random number real(kind=rb), dimension(ncol) :: rand_num ! random number (kissvec) integer(kind=im) :: iseed ! seed to create random number (Mersenne Twister) real(kind=rb) :: rand_num_mt ! random number (Mersenne Twister) ! Flag to identify cloud fraction in subcolumns logical, dimension(nsubcol, ncol, nlay) :: isCloudy ! flag that says whether a gridbox is cloudy ! Indices integer(kind=im) :: ilev, isubcol, i, n, ngbm ! indices !------------------------------------------------------------------------------------------ ! Check that irng is in bounds; if not, set to default if (irng .ne. 0) irng = 1 ! Pass input cloud overlap setting to local variable overlap = icld ! Ensure that cloud fractions are in bounds do ilev = 1, nlay do i = 1, ncol cldf(i,ilev) = cld(i,ilev) if (cldf(i,ilev) < cldmin) then cldf(i,ilev) = 0._rb endif enddo enddo ! ----- Create seed -------- ! Advance randum number generator by changeseed values if (irng.eq.0) then ! For kissvec, create a seed that depends on the state of the columns. Maybe not the best way, but it works. ! Must use pmid from bottom four layers. do i=1,ncol if (pmid(i,1).lt.pmid(i,2)) then stop 'MCICA_SUBCOL: KISSVEC SEED GENERATOR REQUIRES PMID FROM BOTTOM FOUR LAYERS.' endif seed1(i) = (pmid(i,1) - int(pmid(i,1))) * 1000000000_im seed2(i) = (pmid(i,2) - int(pmid(i,2))) * 1000000000_im seed3(i) = (pmid(i,3) - int(pmid(i,3))) * 1000000000_im seed4(i) = (pmid(i,4) - int(pmid(i,4))) * 1000000000_im enddo do i=1,changeSeed call kissvec(seed1, seed2, seed3, seed4, rand_num) enddo elseif (irng.eq.1) then randomNumbers = new_RandomNumberSequence(seed = changeSeed) endif ! ------ Apply overlap assumption -------- ! generate the random numbers select case (overlap) case(1) ! Random overlap ! i) pick a random value at every level if (irng.eq.0) then do isubcol = 1,nsubcol do ilev = 1,nlay call kissvec(seed1, seed2, seed3, seed4, rand_num) CDF(isubcol,:,ilev) = rand_num enddo enddo elseif (irng.eq.1) then do isubcol = 1, nsubcol do i = 1, ncol do ilev = 1, nlay rand_num_mt = getRandomReal(randomNumbers) CDF(isubcol,i,ilev) = rand_num_mt enddo enddo enddo endif case(2) ! Maximum-Random overlap ! i) pick a random number for top layer. ! ii) walk down the column: ! - if the layer above is cloudy, we use the same random number than in the layer above ! - if the layer above is clear, we use a new random number if (irng.eq.0) then do isubcol = 1,nsubcol do ilev = 1,nlay call kissvec(seed1, seed2, seed3, seed4, rand_num) CDF(isubcol,:,ilev) = rand_num enddo enddo elseif (irng.eq.1) then do isubcol = 1, nsubcol do i = 1, ncol do ilev = 1, nlay rand_num_mt = getRandomReal(randomNumbers) CDF(isubcol,i,ilev) = rand_num_mt enddo enddo enddo endif do ilev = 2,nlay do i = 1, ncol do isubcol = 1, nsubcol if (CDF(isubcol, i, ilev-1) > 1._rb - cldf(i,ilev-1) ) then CDF(isubcol,i,ilev) = CDF(isubcol,i,ilev-1) else CDF(isubcol,i,ilev) = CDF(isubcol,i,ilev) * (1._rb - cldf(i,ilev-1)) endif enddo enddo enddo case(3) ! Maximum overlap ! i) pick same random numebr at every level if (irng.eq.0) then do isubcol = 1,nsubcol call kissvec(seed1, seed2, seed3, seed4, rand_num) do ilev = 1,nlay CDF(isubcol,:,ilev) = rand_num enddo enddo elseif (irng.eq.1) then do isubcol = 1, nsubcol do i = 1, ncol rand_num_mt = getRandomReal(randomNumbers) do ilev = 1, nlay CDF(isubcol,i,ilev) = rand_num_mt enddo enddo enddo endif ! case(4) - inactive ! ! Exponential overlap: weighting between maximum and random overlap increases with the distance. ! ! The random numbers for exponential overlap verify: ! ! j=1 RAN(j)=RND1 ! ! j>1 if RND1 < alpha(j,j-1) => RAN(j) = RAN(j-1) ! ! RAN(j) = RND2 ! ! alpha is obtained from the equation ! ! alpha = exp(- (Zi-Zj-1)/Zo) where Zo is a characteristic length scale ! ! compute alpha ! zm = state%zm ! alpha(:, 1) = 0._rb ! do ilev = 2,nlay ! alpha(:, ilev) = exp( -( zm (:, ilev-1) - zm (:, ilev)) / Zo) ! end do ! ! generate 2 streams of random numbers ! do isubcol = 1,nsubcol ! do ilev = 1,nlay ! call kissvec(seed1, seed2, seed3, seed4, rand_num) ! CDF(isubcol, :, ilev) = rand_num ! call kissvec(seed1, seed2, seed3, seed4, rand_num) ! CDF2(isubcol, :, ilev) = rand_num ! end do ! end do ! ! generate random numbers ! do ilev = 2,nlay ! where (CDF2(:, :, ilev) < spread(alpha (:,ilev), dim=1, nCopies=nsubcol) ) ! CDF(:,:,ilev) = CDF(:,:,ilev-1) ! end where ! end do end select ! -- generate subcolumns for homogeneous clouds ----- do ilev = 1, nlay isCloudy(:,:,ilev) = (CDF(:,:,ilev) >= 1._rb - spread(cldf(:,ilev), dim=1, nCopies=nsubcol) ) enddo ! where the subcolumn is cloudy, the subcolumn cloud fraction is 1; ! where the subcolumn is not cloudy, the subcolumn cloud fraction is 0; ! where there is a cloud, define the subcolumn cloud properties, ! otherwise set these to zero ngbm = ngb(1) - 1 do ilev = 1,nlay do i = 1, ncol do isubcol = 1, nsubcol if ( iscloudy(isubcol,i,ilev) ) then cld_stoch(isubcol,i,ilev) = 1._rb clwp_stoch(isubcol,i,ilev) = clwp(i,ilev) ciwp_stoch(isubcol,i,ilev) = ciwp(i,ilev) n = ngb(isubcol) - ngbm tauc_stoch(isubcol,i,ilev) = tauc(n,i,ilev) ssac_stoch(isubcol,i,ilev) = ssac(n,i,ilev) asmc_stoch(isubcol,i,ilev) = asmc(n,i,ilev) fsfc_stoch(isubcol,i,ilev) = fsfc(n,i,ilev) else cld_stoch(isubcol,i,ilev) = 0._rb clwp_stoch(isubcol,i,ilev) = 0._rb ciwp_stoch(isubcol,i,ilev) = 0._rb tauc_stoch(isubcol,i,ilev) = 0._rb ssac_stoch(isubcol,i,ilev) = 1._rb asmc_stoch(isubcol,i,ilev) = 0._rb fsfc_stoch(isubcol,i,ilev) = 0._rb endif enddo enddo enddo ! -- compute the means of the subcolumns --- ! mean_cld_stoch(:,:) = 0._rb ! mean_clwp_stoch(:,:) = 0._rb ! mean_ciwp_stoch(:,:) = 0._rb ! mean_tauc_stoch(:,:) = 0._rb ! mean_ssac_stoch(:,:) = 0._rb ! mean_asmc_stoch(:,:) = 0._rb ! mean_fsfc_stoch(:,:) = 0._rb ! do i = 1, nsubcol ! mean_cld_stoch(:,:) = cld_stoch(i,:,:) + mean_cld_stoch(:,:) ! mean_clwp_stoch(:,:) = clwp_stoch( i,:,:) + mean_clwp_stoch(:,:) ! mean_ciwp_stoch(:,:) = ciwp_stoch( i,:,:) + mean_ciwp_stoch(:,:) ! mean_tauc_stoch(:,:) = tauc_stoch( i,:,:) + mean_tauc_stoch(:,:) ! mean_ssac_stoch(:,:) = ssac_stoch( i,:,:) + mean_ssac_stoch(:,:) ! mean_asmc_stoch(:,:) = asmc_stoch( i,:,:) + mean_asmc_stoch(:,:) ! mean_fsfc_stoch(:,:) = fsfc_stoch( i,:,:) + mean_fsfc_stoch(:,:) ! end do ! mean_cld_stoch(:,:) = mean_cld_stoch(:,:) / nsubcol ! mean_clwp_stoch(:,:) = mean_clwp_stoch(:,:) / nsubcol ! mean_ciwp_stoch(:,:) = mean_ciwp_stoch(:,:) / nsubcol ! mean_tauc_stoch(:,:) = mean_tauc_stoch(:,:) / nsubcol ! mean_ssac_stoch(:,:) = mean_ssac_stoch(:,:) / nsubcol ! mean_asmc_stoch(:,:) = mean_asmc_stoch(:,:) / nsubcol ! mean_fsfc_stoch(:,:) = mean_fsfc_stoch(:,:) / nsubcol end subroutine generate_stochastic_clouds_sw !-------------------------------------------------------------------------------------------------- subroutine kissvec(seed1,seed2,seed3,seed4,ran_arr) !-------------------------------------------------------------------------------------------------- ! public domain code ! made available from http://www.fortran.com/ ! downloaded by pjr on 03/16/04 for NCAR CAM ! converted to vector form, functions inlined by pjr,mvr on 05/10/2004 ! The KISS (Keep It Simple Stupid) random number generator. Combines: ! (1) The congruential generator x(n)=69069*x(n-1)+1327217885, period 2^32. ! (2) A 3-shift shift-register generator, period 2^32-1, ! (3) Two 16-bit multiply-with-carry generators, period 597273182964842497>2^59 ! Overall period>2^123; ! real(kind=rb), dimension(:), intent(inout) :: ran_arr integer(kind=im), dimension(:), intent(inout) :: seed1,seed2,seed3,seed4 integer(kind=im) :: i,sz,kiss integer(kind=im) :: m, k, n ! inline function m(k, n) = ieor (k, ishft (k, n) ) sz = size(ran_arr) do i = 1, sz seed1(i) = 69069_im * seed1(i) + 1327217885_im seed2(i) = m (m (m (seed2(i), 13_im), - 17_im), 5_im) seed3(i) = 18000_im * iand (seed3(i), 65535_im) + ishft (seed3(i), - 16_im) seed4(i) = 30903_im * iand (seed4(i), 65535_im) + ishft (seed4(i), - 16_im) kiss = seed1(i) + seed2(i) + ishft (seed3(i), 16_im) + seed4(i) ran_arr(i) = kiss*2.328306e-10_rb + 0.5_rb end do end subroutine kissvec end module mcica_subcol_gen_sw ! path: $Source: /storm/rc1/cvsroot/rc/rrtmg_sw/src/rrtmg_sw_init.f90,v $ ! author: $Author: mike $ ! revision: $Revision: 1.5 $ ! created: $Date: 2009/05/22 22:22:22 $ module rrtmg_sw_init ! -------------------------------------------------------------------------- ! | | ! | Copyright 2002-2009, Atmospheric & Environmental Research, Inc. (AER). | ! | This software may be used, copied, or redistributed as long as it is | ! | not sold and this copyright notice is reproduced on each copy made. | ! | This model is provided as is without any express or implied warranties. | ! | (http://www.rtweb.aer.com/) | ! | | ! -------------------------------------------------------------------------- ! ------- Modules ------- use parkind, only : im => kind_im, rb => kind_rb use rrsw_wvn use rrtmg_sw_setcoef, only: swatmref implicit none contains ! ************************************************************************** subroutine rrtmg_sw_ini(cpdair) ! ************************************************************************** ! ! Original version: Michael J. Iacono; February, 2004 ! Revision for F90 formatting: M. J. Iacono, July, 2006 ! ! This subroutine performs calculations necessary for the initialization ! of the shortwave model. Lookup tables are computed for use in the SW ! radiative transfer, and input absorption coefficient data for each ! spectral band are reduced from 224 g-point intervals to 112. ! ************************************************************************** use parrrsw, only : mg, nbndsw, ngptsw use rrsw_tbl, only: ntbl, tblint, pade, bpade, tau_tbl, exp_tbl use rrsw_vsn, only: hvrini, hnamini real(kind=rb), intent(in) :: cpdair ! Specific heat capacity of dry air ! at constant pressure at 273 K ! (J kg-1 K-1) ! ------- Local ------- integer(kind=im) :: ibnd, igc, ig, ind, ipr integer(kind=im) :: igcsm, iprsm integer(kind=im) :: itr real(kind=rb) :: wtsum, wtsm(mg) real(kind=rb) :: tfn real(kind=rb), parameter :: expeps = 1.e-20_rb ! Smallest value for exponential table ! ------- Definitions ------- ! Arrays for 10000-point look-up tables: ! TAU_TBL Clear-sky optical depth ! EXP_TBL Exponential lookup table for transmittance ! PADE Pade approximation constant (= 0.278) ! BPADE Inverse of the Pade approximation constant ! hvrini = '$Revision: 1.5 $' ! Initialize model data call swdatinit(cpdair) call swcmbdat ! g-point interval reduction data call swaerpr ! aerosol optical properties call swcldpr ! cloud optical properties call swatmref ! reference MLS profile call sw_kgb16 ! molecular absorption coefficients call sw_kgb17 call sw_kgb18 call sw_kgb19 call sw_kgb20 call sw_kgb21 call sw_kgb22 call sw_kgb23 call sw_kgb24 call sw_kgb25 call sw_kgb26 call sw_kgb27 call sw_kgb28 call sw_kgb29 ! Define exponential lookup tables for transmittance. Tau is ! computed as a function of the tau transition function, and transmittance ! is calculated as a function of tau. All tables are computed at intervals ! of 0.0001. The inverse of the constant used in the Pade approximation to ! the tau transition function is set to bpade. exp_tbl(0) = 1.0_rb exp_tbl(ntbl) = expeps bpade = 1.0_rb / pade do itr = 1, ntbl-1 tfn = float(itr) / float(ntbl) tau_tbl = bpade * tfn / (1._rb - tfn) exp_tbl(itr) = exp(-tau_tbl) if (exp_tbl(itr) .le. expeps) exp_tbl(itr) = expeps enddo ! Perform g-point reduction from 16 per band (224 total points) to ! a band dependent number (112 total points) for all absorption ! coefficient input data and Planck fraction input data. ! Compute relative weighting for new g-point combinations. igcsm = 0 do ibnd = 1,nbndsw iprsm = 0 if (ngc(ibnd).lt.mg) then do igc = 1,ngc(ibnd) igcsm = igcsm + 1 wtsum = 0. do ipr = 1, ngn(igcsm) iprsm = iprsm + 1 wtsum = wtsum + wt(iprsm) enddo wtsm(igc) = wtsum enddo do ig = 1, ng(ibnd+15) ind = (ibnd-1)*mg + ig rwgt(ind) = wt(ig)/wtsm(ngm(ind)) enddo else do ig = 1, ng(ibnd+15) igcsm = igcsm + 1 ind = (ibnd-1)*mg + ig rwgt(ind) = 1.0_rb enddo endif enddo ! Reduce g-points for absorption coefficient data in each LW spectral band. call cmbgb16s call cmbgb17 call cmbgb18 call cmbgb19 call cmbgb20 call cmbgb21 call cmbgb22 call cmbgb23 call cmbgb24 call cmbgb25 call cmbgb26 call cmbgb27 call cmbgb28 call cmbgb29 end subroutine rrtmg_sw_ini !*************************************************************************** subroutine swdatinit(cpdair) !*************************************************************************** ! --------- Modules ---------- use rrsw_con, only: heatfac, grav, planck, boltz, & clight, avogad, alosmt, gascon, radcn1, radcn2, & sbcnst, secdy use rrsw_vsn save real(kind=rb), intent(in) :: cpdair ! Specific heat capacity of dry air ! at constant pressure at 273 K ! (J kg-1 K-1) ! Shortwave spectral band limits (wavenumbers) wavenum1(:) = (/2600._rb, 3250._rb, 4000._rb, 4650._rb, 5150._rb, 6150._rb, 7700._rb, & 8050._rb,12850._rb,16000._rb,22650._rb,29000._rb,38000._rb, 820._rb/) wavenum2(:) = (/3250._rb, 4000._rb, 4650._rb, 5150._rb, 6150._rb, 7700._rb, 8050._rb, & 12850._rb,16000._rb,22650._rb,29000._rb,38000._rb,50000._rb, 2600._rb/) delwave(:) = (/ 650._rb, 750._rb, 650._rb, 500._rb, 1000._rb, 1550._rb, 350._rb, & 4800._rb, 3150._rb, 6650._rb, 6350._rb, 9000._rb,12000._rb, 1780._rb/) ! Spectral band information ng(:) = (/16,16,16,16,16,16,16,16,16,16,16,16,16,16/) nspa(:) = (/9,9,9,9,1,9,9,1,9,1,0,1,9,1/) nspb(:) = (/1,5,1,1,1,5,1,0,1,0,0,1,5,1/) ! Fundamental physical constants from NIST 2002 grav = 9.8066_rb ! Acceleration of gravity ! (m s-2) planck = 6.62606876e-27_rb ! Planck constant ! (ergs s; g cm2 s-1) boltz = 1.3806503e-16_rb ! Boltzmann constant ! (ergs K-1; g cm2 s-2 K-1) clight = 2.99792458e+10_rb ! Speed of light in a vacuum ! (cm s-1) avogad = 6.02214199e+23_rb ! Avogadro constant ! (mol-1) alosmt = 2.6867775e+19_rb ! Loschmidt constant ! (cm-3) gascon = 8.31447200e+07_rb ! Molar gas constant ! (ergs mol-1 K-1) radcn1 = 1.191042772e-12_rb ! First radiation constant ! (W cm2 sr-1) radcn2 = 1.4387752_rb ! Second radiation constant ! (cm K) sbcnst = 5.670400e-04_rb ! Stefan-Boltzmann constant ! (W cm-2 K-4) secdy = 8.6400e4_rb ! Number of seconds per day ! (s d-1) ! ! units are generally cgs ! ! The first and second radiation constants are taken from NIST. ! They were previously obtained from the relations: ! radcn1 = 2.*planck*clight*clight*1.e-07 ! radcn2 = planck*clight/boltz ! Heatfac is the factor by which delta-flux / delta-pressure is ! multiplied, with flux in W/m-2 and pressure in mbar, to get ! the heating rate in units of degrees/day. It is equal to: ! Original value: ! (g)x(#sec/day)x(1e-5)/(specific heat of air at const. p) ! Here, cpdair (1.004) is in units of J g-1 K-1, and the ! constant (1.e-5) converts mb to Pa and g-1 to kg-1. ! = (9.8066)(86400)(1e-5)/(1.004) ! heatfac = 8.4391_rb ! ! Modified value for consistency with CAM3: ! (g)x(#sec/day)x(1e-5)/(specific heat of air at const. p) ! Here, cpdair (1.00464) is in units of J g-1 K-1, and the ! constant (1.e-5) converts mb to Pa and g-1 to kg-1. ! = (9.80616)(86400)(1e-5)/(1.00464) ! heatfac = 8.43339130434_rb ! ! Calculated value (from constants above and input cpdair) ! (grav) x (#sec/day) / (specific heat of dry air at const. p x 1.e2) ! Here, cpdair is in units of J kg-1 K-1, and the constant (1.e2) ! converts mb to Pa when heatfac is multiplied by W m-2 mb-1. heatfac = grav * secdy / (cpdair * 1.e2_rb) end subroutine swdatinit !*************************************************************************** subroutine swcmbdat !*************************************************************************** save ! ------- Definitions ------- ! Arrays for the g-point reduction from 224 to 112 for the 16 LW bands: ! This mapping from 224 to 112 points has been carefully selected to ! minimize the effect on the resulting fluxes and cooling rates, and ! caution should be used if the mapping is modified. The full 224 ! g-point set can be restored with ngpt=224, ngc=16*16, ngn=224*1., etc. ! ngpt The total number of new g-points ! ngc The number of new g-points in each band ! ngs The cumulative sum of new g-points for each band ! ngm The index of each new g-point relative to the original ! 16 g-points for each band. ! ngn The number of original g-points that are combined to make ! each new g-point in each band. ! ngb The band index for each new g-point. ! wt RRTM weights for 16 g-points. ! Use this set for 112 quadrature point (g-point) model ! ------- Data statements ------- ngc(:) = (/ 6,12, 8, 8,10,10, 2,10, 8, 6, 6, 8, 6,12 /) ngs(:) = (/ 6,18,26,34,44,54,56,66,74,80,86,94,100,112 /) ngm(:) = (/ 1,1,2,2,3,3,4,4,5,5,5,5,6,6,6,6, & ! band 16 1,2,3,4,5,6,6,7,8,8,9,10,10,11,12,12, & ! band 17 1,2,3,4,5,5,6,6,7,7,7,7,8,8,8,8, & ! band 18 1,2,3,4,5,5,6,6,7,7,7,7,8,8,8,8, & ! band 19 1,2,3,4,5,6,7,8,9,9,10,10,10,10,10,10, & ! band 20 1,2,3,4,5,6,7,8,9,9,10,10,10,10,10,10, & ! band 21 1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2, & ! band 22 1,1,2,2,3,4,5,6,7,8,9,9,10,10,10,10, & ! band 23 1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8, & ! band 24 1,2,3,3,4,4,5,5,5,5,6,6,6,6,6,6, & ! band 25 1,2,3,3,4,4,5,5,5,5,6,6,6,6,6,6, & ! band 26 1,2,3,4,5,6,7,7,7,7,8,8,8,8,8,8, & ! band 27 1,2,3,3,4,4,5,5,5,5,6,6,6,6,6,6, & ! band 28 1,2,3,4,5,5,6,6,7,7,8,8,9,10,11,12 /) ! band 29 ngn(:) = (/ 2,2,2,2,4,4, & ! band 16 1,1,1,1,1,2,1,2,1,2,1,2, & ! band 17 1,1,1,1,2,2,4,4, & ! band 18 1,1,1,1,2,2,4,4, & ! band 19 1,1,1,1,1,1,1,1,2,6, & ! band 20 1,1,1,1,1,1,1,1,2,6, & ! band 21 8,8, & ! band 22 2,2,1,1,1,1,1,1,2,4, & ! band 23 2,2,2,2,2,2,2,2, & ! band 24 1,1,2,2,4,6, & ! band 25 1,1,2,2,4,6, & ! band 26 1,1,1,1,1,1,4,6, & ! band 27 1,1,2,2,4,6, & ! band 28 1,1,1,1,2,2,2,2,1,1,1,1 /) ! band 29 ngb(:) = (/ 16,16,16,16,16,16, & ! band 16 17,17,17,17,17,17,17,17,17,17,17,17, & ! band 17 18,18,18,18,18,18,18,18, & ! band 18 19,19,19,19,19,19,19,19, & ! band 19 20,20,20,20,20,20,20,20,20,20, & ! band 20 21,21,21,21,21,21,21,21,21,21, & ! band 21 22,22, & ! band 22 23,23,23,23,23,23,23,23,23,23, & ! band 23 24,24,24,24,24,24,24,24, & ! band 24 25,25,25,25,25,25, & ! band 25 26,26,26,26,26,26, & ! band 26 27,27,27,27,27,27,27,27, & ! band 27 28,28,28,28,28,28, & ! band 28 29,29,29,29,29,29,29,29,29,29,29,29 /) ! band 29 ! Use this set for full 224 quadrature point (g-point) model ! ------- Data statements ------- ! ngc(:) = (/ 16,16,16,16,16,16,16,16,16,16,16,16,16,16 /) ! ngs(:) = (/ 16,32,48,64,80,96,112,128,144,160,176,192,208,224 /) ! ngm(:) = (/ 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, & ! band 16 ! 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, & ! band 17 ! 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, & ! band 18 ! 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, & ! band 19 ! 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, & ! band 20 ! 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, & ! band 21 ! 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, & ! band 22 ! 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, & ! band 23 ! 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, & ! band 24 ! 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, & ! band 25 ! 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, & ! band 26 ! 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, & ! band 27 ! 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, & ! band 28 ! 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 /) ! band 29 ! ngn(:) = (/ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, & ! band 16 ! 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, & ! band 17 ! 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, & ! band 18 ! 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, & ! band 19 ! 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, & ! band 20 ! 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, & ! band 21 ! 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, & ! band 22 ! 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, & ! band 23 ! 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, & ! band 24 ! 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, & ! band 25 ! 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, & ! band 26 ! 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, & ! band 27 ! 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, & ! band 28 ! 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 /) ! band 29 ! ngb(:) = (/ 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, & ! band 16 ! 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, & ! band 17 ! 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, & ! band 18 ! 19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19, & ! band 19 ! 20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20, & ! band 20 ! 21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21, & ! band 21 ! 22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22, & ! band 22 ! 23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23, & ! band 23 ! 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, & ! band 24 ! 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25, & ! band 25 ! 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26, & ! band 26 ! 27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27, & ! band 27 ! 28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28, & ! band 28 ! 29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29 /) ! band 29 wt(:) = (/ 0.1527534276_rb, 0.1491729617_rb, 0.1420961469_rb, & 0.1316886544_rb, 0.1181945205_rb, 0.1019300893_rb, & 0.0832767040_rb, 0.0626720116_rb, 0.0424925000_rb, & 0.0046269894_rb, 0.0038279891_rb, 0.0030260086_rb, & 0.0022199750_rb, 0.0014140010_rb, 0.0005330000_rb, & 0.0000750000_rb /) end subroutine swcmbdat !*************************************************************************** subroutine swaerpr !*************************************************************************** ! Purpose: Define spectral aerosol properties for six ECMWF aerosol types ! as used in the ECMWF IFS model (see module rrsw_aer.F90 for details) ! ! Original: Defined for rrtmg_sw 14 spectral bands, JJMorcrette, ECMWF Feb 2003 ! Revision: Reformatted for consistency with rrtmg_lw, MJIacono, AER, Jul 2006 use rrsw_aer, only : rsrtaua, rsrpiza, rsrasya save rsrtaua( 1, :) = (/ & 0.10849_rb, 0.66699_rb, 0.65255_rb, 0.11600_rb, 0.06529_rb, 0.04468_rb/) rsrtaua( 2, :) = (/ & 0.10849_rb, 0.66699_rb, 0.65255_rb, 0.11600_rb, 0.06529_rb, 0.04468_rb/) rsrtaua( 3, :) = (/ & 0.20543_rb, 0.84642_rb, 0.84958_rb, 0.21673_rb, 0.28270_rb, 0.10915_rb/) rsrtaua( 4, :) = (/ & 0.20543_rb, 0.84642_rb, 0.84958_rb, 0.21673_rb, 0.28270_rb, 0.10915_rb/) rsrtaua( 5, :) = (/ & 0.20543_rb, 0.84642_rb, 0.84958_rb, 0.21673_rb, 0.28270_rb, 0.10915_rb/) rsrtaua( 6, :) = (/ & 0.20543_rb, 0.84642_rb, 0.84958_rb, 0.21673_rb, 0.28270_rb, 0.10915_rb/) rsrtaua( 7, :) = (/ & 0.20543_rb, 0.84642_rb, 0.84958_rb, 0.21673_rb, 0.28270_rb, 0.10915_rb/) rsrtaua( 8, :) = (/ & 0.52838_rb, 0.93285_rb, 0.93449_rb, 0.53078_rb, 0.67148_rb, 0.46608_rb/) rsrtaua( 9, :) = (/ & 0.52838_rb, 0.93285_rb, 0.93449_rb, 0.53078_rb, 0.67148_rb, 0.46608_rb/) rsrtaua(10, :) = (/ & 1.69446_rb, 1.11855_rb, 1.09212_rb, 1.72145_rb, 1.03858_rb, 1.12044_rb/) rsrtaua(11, :) = (/ & 1.69446_rb, 1.11855_rb, 1.09212_rb, 1.72145_rb, 1.03858_rb, 1.12044_rb/) rsrtaua(12, :) = (/ & 1.69446_rb, 1.11855_rb, 1.09212_rb, 1.72145_rb, 1.03858_rb, 1.12044_rb/) rsrtaua(13, :) = (/ & 1.69446_rb, 1.11855_rb, 1.09212_rb, 1.72145_rb, 1.03858_rb, 1.12044_rb/) rsrtaua(14, :) = (/ & 0.10849_rb, 0.66699_rb, 0.65255_rb, 0.11600_rb, 0.06529_rb, 0.04468_rb/) rsrpiza( 1, :) = (/ & .5230504_rb, .7868518_rb, .8531531_rb, .4048149_rb, .8748231_rb, .2355667_rb/) rsrpiza( 2, :) = (/ & .5230504_rb, .7868518_rb, .8531531_rb, .4048149_rb, .8748231_rb, .2355667_rb/) rsrpiza( 3, :) = (/ & .8287144_rb, .9949396_rb, .9279543_rb, .6765051_rb, .9467578_rb, .9955938_rb/) rsrpiza( 4, :) = (/ & .8287144_rb, .9949396_rb, .9279543_rb, .6765051_rb, .9467578_rb, .9955938_rb/) rsrpiza( 5, :) = (/ & .8287144_rb, .9949396_rb, .9279543_rb, .6765051_rb, .9467578_rb, .9955938_rb/) rsrpiza( 6, :) = (/ & .8287144_rb, .9949396_rb, .9279543_rb, .6765051_rb, .9467578_rb, .9955938_rb/) rsrpiza( 7, :) = (/ & .8287144_rb, .9949396_rb, .9279543_rb, .6765051_rb, .9467578_rb, .9955938_rb/) rsrpiza( 8, :) = (/ & .8970131_rb, .9984940_rb, .9245594_rb, .7768385_rb, .9532763_rb, .9999999_rb/) rsrpiza( 9, :) = (/ & .8970131_rb, .9984940_rb, .9245594_rb, .7768385_rb, .9532763_rb, .9999999_rb/) rsrpiza(10, :) = (/ & .9148907_rb, .9956173_rb, .7504584_rb, .8131335_rb, .9401905_rb, .9999999_rb/) rsrpiza(11, :) = (/ & .9148907_rb, .9956173_rb, .7504584_rb, .8131335_rb, .9401905_rb, .9999999_rb/) rsrpiza(12, :) = (/ & .9148907_rb, .9956173_rb, .7504584_rb, .8131335_rb, .9401905_rb, .9999999_rb/) rsrpiza(13, :) = (/ & .9148907_rb, .9956173_rb, .7504584_rb, .8131335_rb, .9401905_rb, .9999999_rb/) rsrpiza(14, :) = (/ & .5230504_rb, .7868518_rb, .8531531_rb, .4048149_rb, .8748231_rb, .2355667_rb/) rsrasya( 1, :) = (/ & 0.700610_rb, 0.818871_rb, 0.702399_rb, 0.689886_rb, .4629866_rb, .1907639_rb/) rsrasya( 2, :) = (/ & 0.700610_rb, 0.818871_rb, 0.702399_rb, 0.689886_rb, .4629866_rb, .1907639_rb/) rsrasya( 3, :) = (/ & 0.636342_rb, 0.802467_rb, 0.691305_rb, 0.627497_rb, .6105750_rb, .4760794_rb/) rsrasya( 4, :) = (/ & 0.636342_rb, 0.802467_rb, 0.691305_rb, 0.627497_rb, .6105750_rb, .4760794_rb/) rsrasya( 5, :) = (/ & 0.636342_rb, 0.802467_rb, 0.691305_rb, 0.627497_rb, .6105750_rb, .4760794_rb/) rsrasya( 6, :) = (/ & 0.636342_rb, 0.802467_rb, 0.691305_rb, 0.627497_rb, .6105750_rb, .4760794_rb/) rsrasya( 7, :) = (/ & 0.636342_rb, 0.802467_rb, 0.691305_rb, 0.627497_rb, .6105750_rb, .4760794_rb/) rsrasya( 8, :) = (/ & 0.668431_rb, 0.788530_rb, 0.698682_rb, 0.657422_rb, .6735182_rb, .6519706_rb/) rsrasya( 9, :) = (/ & 0.668431_rb, 0.788530_rb, 0.698682_rb, 0.657422_rb, .6735182_rb, .6519706_rb/) rsrasya(10, :) = (/ & 0.729019_rb, 0.803129_rb, 0.784592_rb, 0.712208_rb, .7008249_rb, .7270548_rb/) rsrasya(11, :) = (/ & 0.729019_rb, 0.803129_rb, 0.784592_rb, 0.712208_rb, .7008249_rb, .7270548_rb/) rsrasya(12, :) = (/ & 0.729019_rb, 0.803129_rb, 0.784592_rb, 0.712208_rb, .7008249_rb, .7270548_rb/) rsrasya(13, :) = (/ & 0.729019_rb, 0.803129_rb, 0.784592_rb, 0.712208_rb, .7008249_rb, .7270548_rb/) rsrasya(14, :) = (/ & 0.700610_rb, 0.818871_rb, 0.702399_rb, 0.689886_rb, .4629866_rb, .1907639_rb/) end subroutine swaerpr !*************************************************************************** subroutine cmbgb16s !*************************************************************************** ! ! Original version: MJIacono; July 1998 ! Revision for RRTM_SW: MJIacono; November 2002 ! Revision for RRTMG_SW: MJIacono; December 2003 ! Revision for F90 reformatting: MJIacono; July 2006 ! ! The subroutines CMBGB16->CMBGB29 input the absorption coefficient ! data for each band, which are defined for 16 g-points and 14 spectral ! bands. The data are combined with appropriate weighting following the ! g-point mapping arrays specified in RRTMG_SW_INIT. Solar source ! function data in array SFLUXREF are combined without weighting. All ! g-point reduced data are put into new arrays for use in RRTMG_SW. ! ! band 16: 2600-3250 cm-1 (low key- h2o,ch4; high key - ch4) ! !----------------------------------------------------------------------- use rrsw_kg16, only : kao, kbo, selfrefo, forrefo, sfluxrefo, & absa, ka, absb, kb, selfref, forref, sfluxref ! ------- Local ------- integer(kind=im) :: jn, jt, jp, igc, ipr, iprsm real(kind=rb) :: sumk, sumf do jn = 1,9 do jt = 1,5 do jp = 1,13 iprsm = 0 do igc = 1,ngc(1) sumk = 0. do ipr = 1, ngn(igc) iprsm = iprsm + 1 sumk = sumk + kao(jn,jt,jp,iprsm)*rwgt(iprsm) enddo ka(jn,jt,jp,igc) = sumk enddo enddo enddo enddo do jt = 1,5 do jp = 13,59 iprsm = 0 do igc = 1,ngc(1) sumk = 0. do ipr = 1, ngn(igc) iprsm = iprsm + 1 sumk = sumk + kbo(jt,jp,iprsm)*rwgt(iprsm) enddo kb(jt,jp,igc) = sumk enddo enddo enddo do jt = 1,10 iprsm = 0 do igc = 1,ngc(1) sumk = 0. do ipr = 1, ngn(igc) iprsm = iprsm + 1 sumk = sumk + selfrefo(jt,iprsm)*rwgt(iprsm) enddo selfref(jt,igc) = sumk enddo enddo do jt = 1,3 iprsm = 0 do igc = 1,ngc(1) sumk = 0. do ipr = 1, ngn(igc) iprsm = iprsm + 1 sumk = sumk + forrefo(jt,iprsm)*rwgt(iprsm) enddo forref(jt,igc) = sumk enddo enddo iprsm = 0 do igc = 1,ngc(1) sumf = 0. do ipr = 1, ngn(igc) iprsm = iprsm + 1 sumf = sumf + sfluxrefo(iprsm) enddo sfluxref(igc) = sumf enddo end subroutine cmbgb16s !*************************************************************************** subroutine cmbgb17 !*************************************************************************** ! ! band 17: 3250-4000 cm-1 (low - h2o,co2; high - h2o,co2) !----------------------------------------------------------------------- use rrsw_kg17, only : kao, kbo, selfrefo, forrefo, sfluxrefo, & absa, ka, absb, kb, selfref, forref, sfluxref ! ------- Local ------- integer(kind=im) :: jn, jt, jp, igc, ipr, iprsm real(kind=rb) :: sumk, sumf do jn = 1,9 do jt = 1,5 do jp = 1,13 iprsm = 0 do igc = 1,ngc(2) sumk = 0. do ipr = 1, ngn(ngs(1)+igc) iprsm = iprsm + 1 sumk = sumk + kao(jn,jt,jp,iprsm)*rwgt(iprsm+16) enddo ka(jn,jt,jp,igc) = sumk enddo enddo enddo enddo do jn = 1,5 do jt = 1,5 do jp = 13,59 iprsm = 0 do igc = 1,ngc(2) sumk = 0. do ipr = 1, ngn(ngs(1)+igc) iprsm = iprsm + 1 sumk = sumk + kbo(jn,jt,jp,iprsm)*rwgt(iprsm+16) enddo kb(jn,jt,jp,igc) = sumk enddo enddo enddo enddo do jt = 1,10 iprsm = 0 do igc = 1,ngc(2) sumk = 0. do ipr = 1, ngn(ngs(1)+igc) iprsm = iprsm + 1 sumk = sumk + selfrefo(jt,iprsm)*rwgt(iprsm+16) enddo selfref(jt,igc) = sumk enddo enddo do jt = 1,4 iprsm = 0 do igc = 1,ngc(2) sumk = 0. do ipr = 1, ngn(ngs(1)+igc) iprsm = iprsm + 1 sumk = sumk + forrefo(jt,iprsm)*rwgt(iprsm+16) enddo forref(jt,igc) = sumk enddo enddo do jp = 1,5 iprsm = 0 do igc = 1,ngc(2) sumf = 0. do ipr = 1, ngn(ngs(1)+igc) iprsm = iprsm + 1 sumf = sumf + sfluxrefo(iprsm,jp) enddo sfluxref(igc,jp) = sumf enddo enddo end subroutine cmbgb17 !*************************************************************************** subroutine cmbgb18 !*************************************************************************** ! ! band 18: 4000-4650 cm-1 (low - h2o,ch4; high - ch4) !----------------------------------------------------------------------- use rrsw_kg18, only : kao, kbo, selfrefo, forrefo, sfluxrefo, & absa, ka, absb, kb, selfref, forref, sfluxref ! ------- Local ------- integer(kind=im) :: jn, jt, jp, igc, ipr, iprsm real(kind=rb) :: sumk, sumf do jn = 1,9 do jt = 1,5 do jp = 1,13 iprsm = 0 do igc = 1,ngc(3) sumk = 0. do ipr = 1, ngn(ngs(2)+igc) iprsm = iprsm + 1 sumk = sumk + kao(jn,jt,jp,iprsm)*rwgt(iprsm+32) enddo ka(jn,jt,jp,igc) = sumk enddo enddo enddo enddo do jt = 1,5 do jp = 13,59 iprsm = 0 do igc = 1,ngc(3) sumk = 0. do ipr = 1, ngn(ngs(2)+igc) iprsm = iprsm + 1 sumk = sumk + kbo(jt,jp,iprsm)*rwgt(iprsm+32) enddo kb(jt,jp,igc) = sumk enddo enddo enddo do jt = 1,10 iprsm = 0 do igc = 1,ngc(3) sumk = 0. do ipr = 1, ngn(ngs(2)+igc) iprsm = iprsm + 1 sumk = sumk + selfrefo(jt,iprsm)*rwgt(iprsm+32) enddo selfref(jt,igc) = sumk enddo enddo do jt = 1,3 iprsm = 0 do igc = 1,ngc(3) sumk = 0. do ipr = 1, ngn(ngs(2)+igc) iprsm = iprsm + 1 sumk = sumk + forrefo(jt,iprsm)*rwgt(iprsm+32) enddo forref(jt,igc) = sumk enddo enddo do jp = 1,9 iprsm = 0 do igc = 1,ngc(3) sumf = 0. do ipr = 1, ngn(ngs(2)+igc) iprsm = iprsm + 1 sumf = sumf + sfluxrefo(iprsm,jp) enddo sfluxref(igc,jp) = sumf enddo enddo end subroutine cmbgb18 !*************************************************************************** subroutine cmbgb19 !*************************************************************************** ! ! band 19: 4650-5150 cm-1 (low - h2o,co2; high - co2) !----------------------------------------------------------------------- use rrsw_kg19, only : kao, kbo, selfrefo, forrefo, sfluxrefo, & absa, ka, absb, kb, selfref, forref, sfluxref ! ------- Local ------- integer(kind=im) :: jn, jt, jp, igc, ipr, iprsm real(kind=rb) :: sumk, sumf do jn = 1,9 do jt = 1,5 do jp = 1,13 iprsm = 0 do igc = 1,ngc(4) sumk = 0. do ipr = 1, ngn(ngs(3)+igc) iprsm = iprsm + 1 sumk = sumk + kao(jn,jt,jp,iprsm)*rwgt(iprsm+48) enddo ka(jn,jt,jp,igc) = sumk enddo enddo enddo enddo do jt = 1,5 do jp = 13,59 iprsm = 0 do igc = 1,ngc(4) sumk = 0. do ipr = 1, ngn(ngs(3)+igc) iprsm = iprsm + 1 sumk = sumk + kbo(jt,jp,iprsm)*rwgt(iprsm+48) enddo kb(jt,jp,igc) = sumk enddo enddo enddo do jt = 1,10 iprsm = 0 do igc = 1,ngc(4) sumk = 0. do ipr = 1, ngn(ngs(3)+igc) iprsm = iprsm + 1 sumk = sumk + selfrefo(jt,iprsm)*rwgt(iprsm+48) enddo selfref(jt,igc) = sumk enddo enddo do jt = 1,3 iprsm = 0 do igc = 1,ngc(4) sumk = 0. do ipr = 1, ngn(ngs(3)+igc) iprsm = iprsm + 1 sumk = sumk + forrefo(jt,iprsm)*rwgt(iprsm+48) enddo forref(jt,igc) = sumk enddo enddo do jp = 1,9 iprsm = 0 do igc = 1,ngc(4) sumf = 0. do ipr = 1, ngn(ngs(3)+igc) iprsm = iprsm + 1 sumf = sumf + sfluxrefo(iprsm,jp) enddo sfluxref(igc,jp) = sumf enddo enddo end subroutine cmbgb19 !*************************************************************************** subroutine cmbgb20 !*************************************************************************** ! ! band 20: 5150-6150 cm-1 (low - h2o; high - h2o) !----------------------------------------------------------------------- use rrsw_kg20, only : kao, kbo, selfrefo, forrefo, sfluxrefo, absch4o, & absa, ka, absb, kb, selfref, forref, sfluxref, absch4 ! ------- Local ------- integer(kind=im) :: jt, jp, igc, ipr, iprsm real(kind=rb) :: sumk, sumf1, sumf2 do jt = 1,5 do jp = 1,13 iprsm = 0 do igc = 1,ngc(5) sumk = 0. do ipr = 1, ngn(ngs(4)+igc) iprsm = iprsm + 1 sumk = sumk + kao(jt,jp,iprsm)*rwgt(iprsm+64) enddo ka(jt,jp,igc) = sumk enddo enddo do jp = 13,59 iprsm = 0 do igc = 1,ngc(5) sumk = 0. do ipr = 1, ngn(ngs(4)+igc) iprsm = iprsm + 1 sumk = sumk + kbo(jt,jp,iprsm)*rwgt(iprsm+64) enddo kb(jt,jp,igc) = sumk enddo enddo enddo do jt = 1,10 iprsm = 0 do igc = 1,ngc(5) sumk = 0. do ipr = 1, ngn(ngs(4)+igc) iprsm = iprsm + 1 sumk = sumk + selfrefo(jt,iprsm)*rwgt(iprsm+64) enddo selfref(jt,igc) = sumk enddo enddo do jt = 1,4 iprsm = 0 do igc = 1,ngc(5) sumk = 0. do ipr = 1, ngn(ngs(4)+igc) iprsm = iprsm + 1 sumk = sumk + forrefo(jt,iprsm)*rwgt(iprsm+64) enddo forref(jt,igc) = sumk enddo enddo iprsm = 0 do igc = 1,ngc(5) sumf1 = 0. sumf2 = 0. do ipr = 1, ngn(ngs(4)+igc) iprsm = iprsm + 1 sumf1 = sumf1 + sfluxrefo(iprsm) sumf2 = sumf2 + absch4o(iprsm)*rwgt(iprsm+64) enddo sfluxref(igc) = sumf1 absch4(igc) = sumf2 enddo end subroutine cmbgb20 !*************************************************************************** subroutine cmbgb21 !*************************************************************************** ! ! band 21: 6150-7700 cm-1 (low - h2o,co2; high - h2o,co2) !----------------------------------------------------------------------- use rrsw_kg21, only : kao, kbo, selfrefo, forrefo, sfluxrefo, & absa, ka, absb, kb, selfref, forref, sfluxref ! ------- Local ------- integer(kind=im) :: jn, jt, jp, igc, ipr, iprsm real(kind=rb) :: sumk, sumf do jn = 1,9 do jt = 1,5 do jp = 1,13 iprsm = 0 do igc = 1,ngc(6) sumk = 0. do ipr = 1, ngn(ngs(5)+igc) iprsm = iprsm + 1 sumk = sumk + kao(jn,jt,jp,iprsm)*rwgt(iprsm+80) enddo ka(jn,jt,jp,igc) = sumk enddo enddo enddo enddo do jn = 1,5 do jt = 1,5 do jp = 13,59 iprsm = 0 do igc = 1,ngc(6) sumk = 0. do ipr = 1, ngn(ngs(5)+igc) iprsm = iprsm + 1 sumk = sumk + kbo(jn,jt,jp,iprsm)*rwgt(iprsm+80) enddo kb(jn,jt,jp,igc) = sumk enddo enddo enddo enddo do jt = 1,10 iprsm = 0 do igc = 1,ngc(6) sumk = 0. do ipr = 1, ngn(ngs(5)+igc) iprsm = iprsm + 1 sumk = sumk + selfrefo(jt,iprsm)*rwgt(iprsm+80) enddo selfref(jt,igc) = sumk enddo enddo do jt = 1,4 iprsm = 0 do igc = 1,ngc(6) sumk = 0. do ipr = 1, ngn(ngs(5)+igc) iprsm = iprsm + 1 sumk = sumk + forrefo(jt,iprsm)*rwgt(iprsm+80) enddo forref(jt,igc) = sumk enddo enddo do jp = 1,9 iprsm = 0 do igc = 1,ngc(6) sumf = 0. do ipr = 1, ngn(ngs(5)+igc) iprsm = iprsm + 1 sumf = sumf + sfluxrefo(iprsm,jp) enddo sfluxref(igc,jp) = sumf enddo enddo end subroutine cmbgb21 !*************************************************************************** subroutine cmbgb22 !*************************************************************************** ! ! band 22: 7700-8050 cm-1 (low - h2o,o2; high - o2) !----------------------------------------------------------------------- use rrsw_kg22, only : kao, kbo, selfrefo, forrefo, sfluxrefo, & absa, ka, absb, kb, selfref, forref, sfluxref ! ------- Local ------- integer(kind=im) :: jn, jt, jp, igc, ipr, iprsm real(kind=rb) :: sumk, sumf do jn = 1,9 do jt = 1,5 do jp = 1,13 iprsm = 0 do igc = 1,ngc(7) sumk = 0. do ipr = 1, ngn(ngs(6)+igc) iprsm = iprsm + 1 sumk = sumk + kao(jn,jt,jp,iprsm)*rwgt(iprsm+96) enddo ka(jn,jt,jp,igc) = sumk enddo enddo enddo enddo do jt = 1,5 do jp = 13,59 iprsm = 0 do igc = 1,ngc(7) sumk = 0. do ipr = 1, ngn(ngs(6)+igc) iprsm = iprsm + 1 sumk = sumk + kbo(jt,jp,iprsm)*rwgt(iprsm+96) enddo kb(jt,jp,igc) = sumk enddo enddo enddo do jt = 1,10 iprsm = 0 do igc = 1,ngc(7) sumk = 0. do ipr = 1, ngn(ngs(6)+igc) iprsm = iprsm + 1 sumk = sumk + selfrefo(jt,iprsm)*rwgt(iprsm+96) enddo selfref(jt,igc) = sumk enddo enddo do jt = 1,3 iprsm = 0 do igc = 1,ngc(7) sumk = 0. do ipr = 1, ngn(ngs(6)+igc) iprsm = iprsm + 1 sumk = sumk + forrefo(jt,iprsm)*rwgt(iprsm+96) enddo forref(jt,igc) = sumk enddo enddo do jp = 1,9 iprsm = 0 do igc = 1,ngc(7) sumf = 0. do ipr = 1, ngn(ngs(6)+igc) iprsm = iprsm + 1 sumf = sumf + sfluxrefo(iprsm,jp) enddo sfluxref(igc,jp) = sumf enddo enddo end subroutine cmbgb22 !*************************************************************************** subroutine cmbgb23 !*************************************************************************** ! ! band 23: 8050-12850 cm-1 (low - h2o; high - nothing) !----------------------------------------------------------------------- use rrsw_kg23, only : kao, selfrefo, forrefo, sfluxrefo, raylo, & absa, ka, selfref, forref, sfluxref, rayl ! ------- Local ------- integer(kind=im) :: jt, jp, igc, ipr, iprsm real(kind=rb) :: sumk, sumf1, sumf2 do jt = 1,5 do jp = 1,13 iprsm = 0 do igc = 1,ngc(8) sumk = 0. do ipr = 1, ngn(ngs(7)+igc) iprsm = iprsm + 1 sumk = sumk + kao(jt,jp,iprsm)*rwgt(iprsm+112) enddo ka(jt,jp,igc) = sumk enddo enddo enddo do jt = 1,10 iprsm = 0 do igc = 1,ngc(8) sumk = 0. do ipr = 1, ngn(ngs(7)+igc) iprsm = iprsm + 1 sumk = sumk + selfrefo(jt,iprsm)*rwgt(iprsm+112) enddo selfref(jt,igc) = sumk enddo enddo do jt = 1,3 iprsm = 0 do igc = 1,ngc(8) sumk = 0. do ipr = 1, ngn(ngs(7)+igc) iprsm = iprsm + 1 sumk = sumk + forrefo(jt,iprsm)*rwgt(iprsm+112) enddo forref(jt,igc) = sumk enddo enddo iprsm = 0 do igc = 1,ngc(8) sumf1 = 0. sumf2 = 0. do ipr = 1, ngn(ngs(7)+igc) iprsm = iprsm + 1 sumf1 = sumf1 + sfluxrefo(iprsm) sumf2 = sumf2 + raylo(iprsm)*rwgt(iprsm+112) enddo sfluxref(igc) = sumf1 rayl(igc) = sumf2 enddo end subroutine cmbgb23 !*************************************************************************** subroutine cmbgb24 !*************************************************************************** ! ! band 24: 12850-16000 cm-1 (low - h2o,o2; high - o2) !----------------------------------------------------------------------- use rrsw_kg24, only : kao, kbo, selfrefo, forrefo, sfluxrefo, & abso3ao, abso3bo, raylao, raylbo, & absa, ka, absb, kb, selfref, forref, sfluxref, & abso3a, abso3b, rayla, raylb ! ------- Local ------- integer(kind=im) :: jn, jt, jp, igc, ipr, iprsm real(kind=rb) :: sumk, sumf1, sumf2, sumf3 do jn = 1,9 do jt = 1,5 do jp = 1,13 iprsm = 0 do igc = 1,ngc(9) sumk = 0. do ipr = 1, ngn(ngs(8)+igc) iprsm = iprsm + 1 sumk = sumk + kao(jn,jt,jp,iprsm)*rwgt(iprsm+128) enddo ka(jn,jt,jp,igc) = sumk enddo enddo enddo enddo do jt = 1,5 do jp = 13,59 iprsm = 0 do igc = 1,ngc(9) sumk = 0. do ipr = 1, ngn(ngs(8)+igc) iprsm = iprsm + 1 sumk = sumk + kbo(jt,jp,iprsm)*rwgt(iprsm+128) enddo kb(jt,jp,igc) = sumk enddo enddo enddo do jt = 1,10 iprsm = 0 do igc = 1,ngc(9) sumk = 0. do ipr = 1, ngn(ngs(8)+igc) iprsm = iprsm + 1 sumk = sumk + selfrefo(jt,iprsm)*rwgt(iprsm+128) enddo selfref(jt,igc) = sumk enddo enddo do jt = 1,3 iprsm = 0 do igc = 1,ngc(9) sumk = 0. do ipr = 1, ngn(ngs(8)+igc) iprsm = iprsm + 1 sumk = sumk + forrefo(jt,iprsm)*rwgt(iprsm+128) enddo forref(jt,igc) = sumk enddo enddo iprsm = 0 do igc = 1,ngc(9) sumf1 = 0. sumf2 = 0. sumf3 = 0. do ipr = 1, ngn(ngs(8)+igc) iprsm = iprsm + 1 sumf1 = sumf1 + raylbo(iprsm)*rwgt(iprsm+128) sumf2 = sumf2 + abso3ao(iprsm)*rwgt(iprsm+128) sumf3 = sumf3 + abso3bo(iprsm)*rwgt(iprsm+128) enddo raylb(igc) = sumf1 abso3a(igc) = sumf2 abso3b(igc) = sumf3 enddo do jp = 1,9 iprsm = 0 do igc = 1,ngc(9) sumf1 = 0. sumf2 = 0. do ipr = 1, ngn(ngs(8)+igc) iprsm = iprsm + 1 sumf1 = sumf1 + sfluxrefo(iprsm,jp) sumf2 = sumf2 + raylao(iprsm,jp)*rwgt(iprsm+128) enddo sfluxref(igc,jp) = sumf1 rayla(igc,jp) = sumf2 enddo enddo end subroutine cmbgb24 !*************************************************************************** subroutine cmbgb25 !*************************************************************************** ! ! band 25: 16000-22650 cm-1 (low - h2o; high - nothing) !----------------------------------------------------------------------- use rrsw_kg25, only : kao, sfluxrefo, & abso3ao, abso3bo, raylo, & absa, ka, sfluxref, & abso3a, abso3b, rayl ! ------- Local ------- integer(kind=im) :: jt, jp, igc, ipr, iprsm real(kind=rb) :: sumk, sumf1, sumf2, sumf3, sumf4 do jt = 1,5 do jp = 1,13 iprsm = 0 do igc = 1,ngc(10) sumk = 0. do ipr = 1, ngn(ngs(9)+igc) iprsm = iprsm + 1 sumk = sumk + kao(jt,jp,iprsm)*rwgt(iprsm+144) enddo ka(jt,jp,igc) = sumk enddo enddo enddo iprsm = 0 do igc = 1,ngc(10) sumf1 = 0. sumf2 = 0. sumf3 = 0. sumf4 = 0. do ipr = 1, ngn(ngs(9)+igc) iprsm = iprsm + 1 sumf1 = sumf1 + sfluxrefo(iprsm) sumf2 = sumf2 + abso3ao(iprsm)*rwgt(iprsm+144) sumf3 = sumf3 + abso3bo(iprsm)*rwgt(iprsm+144) sumf4 = sumf4 + raylo(iprsm)*rwgt(iprsm+144) enddo sfluxref(igc) = sumf1 abso3a(igc) = sumf2 abso3b(igc) = sumf3 rayl(igc) = sumf4 enddo end subroutine cmbgb25 !*************************************************************************** subroutine cmbgb26 !*************************************************************************** ! ! band 26: 22650-29000 cm-1 (low - nothing; high - nothing) !----------------------------------------------------------------------- use rrsw_kg26, only : sfluxrefo, raylo, & sfluxref, rayl ! ------- Local ------- integer(kind=im) :: igc, ipr, iprsm real(kind=rb) :: sumf1, sumf2 iprsm = 0 do igc = 1,ngc(11) sumf1 = 0. sumf2 = 0. do ipr = 1, ngn(ngs(10)+igc) iprsm = iprsm + 1 sumf1 = sumf1 + raylo(iprsm)*rwgt(iprsm+160) sumf2 = sumf2 + sfluxrefo(iprsm) enddo rayl(igc) = sumf1 sfluxref(igc) = sumf2 enddo end subroutine cmbgb26 !*************************************************************************** subroutine cmbgb27 !*************************************************************************** ! ! band 27: 29000-38000 cm-1 (low - o3; high - o3) !----------------------------------------------------------------------- use rrsw_kg27, only : kao, kbo, sfluxrefo, raylo, & absa, ka, absb, kb, sfluxref, rayl ! ------- Local ------- integer(kind=im) :: jt, jp, igc, ipr, iprsm real(kind=rb) :: sumk, sumf1, sumf2 do jt = 1,5 do jp = 1,13 iprsm = 0 do igc = 1,ngc(12) sumk = 0. do ipr = 1, ngn(ngs(11)+igc) iprsm = iprsm + 1 sumk = sumk + kao(jt,jp,iprsm)*rwgt(iprsm+176) enddo ka(jt,jp,igc) = sumk enddo enddo do jp = 13,59 iprsm = 0 do igc = 1,ngc(12) sumk = 0. do ipr = 1, ngn(ngs(11)+igc) iprsm = iprsm + 1 sumk = sumk + kbo(jt,jp,iprsm)*rwgt(iprsm+176) enddo kb(jt,jp,igc) = sumk enddo enddo enddo iprsm = 0 do igc = 1,ngc(12) sumf1 = 0. sumf2 = 0. do ipr = 1, ngn(ngs(11)+igc) iprsm = iprsm + 1 sumf1 = sumf1 + sfluxrefo(iprsm) sumf2 = sumf2 + raylo(iprsm)*rwgt(iprsm+176) enddo sfluxref(igc) = sumf1 rayl(igc) = sumf2 enddo end subroutine cmbgb27 !*************************************************************************** subroutine cmbgb28 !*************************************************************************** ! ! band 28: 38000-50000 cm-1 (low - o3,o2; high - o3,o2) !----------------------------------------------------------------------- use rrsw_kg28, only : kao, kbo, sfluxrefo, & absa, ka, absb, kb, sfluxref ! ------- Local ------- integer(kind=im) :: jn, jt, jp, igc, ipr, iprsm real(kind=rb) :: sumk, sumf do jn = 1,9 do jt = 1,5 do jp = 1,13 iprsm = 0 do igc = 1,ngc(13) sumk = 0. do ipr = 1, ngn(ngs(12)+igc) iprsm = iprsm + 1 sumk = sumk + kao(jn,jt,jp,iprsm)*rwgt(iprsm+192) enddo ka(jn,jt,jp,igc) = sumk enddo enddo enddo enddo do jn = 1,5 do jt = 1,5 do jp = 13,59 iprsm = 0 do igc = 1,ngc(13) sumk = 0. do ipr = 1, ngn(ngs(12)+igc) iprsm = iprsm + 1 sumk = sumk + kbo(jn,jt,jp,iprsm)*rwgt(iprsm+192) enddo kb(jn,jt,jp,igc) = sumk enddo enddo enddo enddo do jp = 1,5 iprsm = 0 do igc = 1,ngc(13) sumf = 0. do ipr = 1, ngn(ngs(12)+igc) iprsm = iprsm + 1 sumf = sumf + sfluxrefo(iprsm,jp) enddo sfluxref(igc,jp) = sumf enddo enddo end subroutine cmbgb28 !*************************************************************************** subroutine cmbgb29 !*************************************************************************** ! ! band 29: 820-2600 cm-1 (low - h2o; high - co2) !----------------------------------------------------------------------- use rrsw_kg29, only : kao, kbo, selfrefo, forrefo, sfluxrefo, & absh2oo, absco2o, & absa, ka, absb, kb, selfref, forref, sfluxref, & absh2o, absco2 ! ------- Local ------- integer(kind=im) :: jt, jp, igc, ipr, iprsm real(kind=rb) :: sumk, sumf1, sumf2, sumf3 do jt = 1,5 do jp = 1,13 iprsm = 0 do igc = 1,ngc(14) sumk = 0. do ipr = 1, ngn(ngs(13)+igc) iprsm = iprsm + 1 sumk = sumk + kao(jt,jp,iprsm)*rwgt(iprsm+208) enddo ka(jt,jp,igc) = sumk enddo enddo do jp = 13,59 iprsm = 0 do igc = 1,ngc(14) sumk = 0. do ipr = 1, ngn(ngs(13)+igc) iprsm = iprsm + 1 sumk = sumk + kbo(jt,jp,iprsm)*rwgt(iprsm+208) enddo kb(jt,jp,igc) = sumk enddo enddo enddo do jt = 1,10 iprsm = 0 do igc = 1,ngc(14) sumk = 0. do ipr = 1, ngn(ngs(13)+igc) iprsm = iprsm + 1 sumk = sumk + selfrefo(jt,iprsm)*rwgt(iprsm+208) enddo selfref(jt,igc) = sumk enddo enddo do jt = 1,4 iprsm = 0 do igc = 1,ngc(14) sumk = 0. do ipr = 1, ngn(ngs(13)+igc) iprsm = iprsm + 1 sumk = sumk + forrefo(jt,iprsm)*rwgt(iprsm+208) enddo forref(jt,igc) = sumk enddo enddo iprsm = 0 do igc = 1,ngc(14) sumf1 = 0. sumf2 = 0. sumf3 = 0. do ipr = 1, ngn(ngs(13)+igc) iprsm = iprsm + 1 sumf1 = sumf1 + sfluxrefo(iprsm) sumf2 = sumf2 + absco2o(iprsm)*rwgt(iprsm+208) sumf3 = sumf3 + absh2oo(iprsm)*rwgt(iprsm+208) enddo sfluxref(igc) = sumf1 absco2(igc) = sumf2 absh2o(igc) = sumf3 enddo end subroutine cmbgb29 !*********************************************************************** subroutine swcldpr !*********************************************************************** ! Purpose: Define cloud extinction coefficient, single scattering albedo ! and asymmetry parameter data. ! ! ------- Modules ------- use rrsw_cld, only : extliq1, ssaliq1, asyliq1, & extice2, ssaice2, asyice2, & extice3, ssaice3, asyice3, fdlice3, & abari, bbari, cbari, dbari, ebari, fbari save !----------------------------------------------------------------------- ! ! Explanation of the method for each value of INFLAG. A value of ! 0 for INFLAG do not distingish being liquid and ice clouds. ! INFLAG = 2 does distinguish between liquid and ice clouds, and ! requires further user input to specify the method to be used to ! compute the aborption due to each. ! INFLAG = 0: For each cloudy layer, the cloud fraction, the cloud optical ! depth, the cloud single-scattering albedo, and the ! moments of the phase function (0:NSTREAM). Note ! that these values are delta-m scaled within this ! subroutine. ! INFLAG = 2: For each cloudy layer, the cloud fraction, cloud ! water path (g/m2), and cloud ice fraction are input. ! ICEFLAG = 2: The ice effective radius (microns) is input and the ! optical properties due to ice clouds are computed from ! the optical properties stored in the RT code, STREAMER v3.0 ! (Reference: Key. J., Streamer User's Guide, Cooperative ! Institute for Meteorological Satellite Studies, 2001, 96 pp.). ! Valid range of values for re are between 5.0 and ! 131.0 micron. ! This version uses Ebert and Curry, JGR, (1992) method for ! ice particles larger than 131.0 microns. ! ICEFLAG = 3: The ice generalized effective size (dge) is input ! and the optical depths, single-scattering albedo, ! and phase function moments are calculated as in ! Q. Fu, J. Climate, (1996). Q. Fu provided high resolution ! tables which were appropriately averaged for the ! bands in RRTM_SW. Linear interpolation is used to ! get the coefficients from the stored tables. ! Valid range of values for dge are between 5.0 and ! 140.0 micron. ! This version uses Ebert and Curry, JGR, (1992) method for ! ice particles larger than 140.0 microns. ! LIQFLAG = 1: The water droplet effective radius (microns) is input ! and the optical depths due to water clouds are computed ! as in Hu and Stamnes, J., Clim., 6, 728-742, (1993). ! The values for absorption coefficients appropriate for ! the spectral bands in RRTM have been obtained for a ! range of effective radii by an averaging procedure ! based on the work of J. Pinto (private communication). ! Linear interpolation is used to get the absorption ! coefficients for the input effective radius. ! ! ------------------------------------------------------------------ ! Everything below is for INFLAG = 2. ! Coefficients for Ebert and Curry method abari(:) = (/ & & 3.448e-03_rb,3.448e-03_rb,3.448e-03_rb,3.448e-03_rb,3.448e-03_rb /) bbari(:) = (/ & & 2.431e+00_rb,2.431e+00_rb,2.431e+00_rb,2.431e+00_rb,2.431e+00_rb /) cbari(:) = (/ & & 1.000e-05_rb,1.100e-04_rb,1.240e-02_rb,3.779e-02_rb,4.666e-01_rb /) dbari(:) = (/ & & 0.000e+00_rb,1.405e-05_rb,6.867e-04_rb,1.284e-03_rb,2.050e-05_rb /) ebari(:) = (/ & & 7.661e-01_rb,7.730e-01_rb,7.865e-01_rb,8.172e-01_rb,9.595e-01_rb /) fbari(:) = (/ & & 5.851e-04_rb,5.665e-04_rb,7.204e-04_rb,7.463e-04_rb,1.076e-04_rb /) ! Extinction coefficient extliq1(:, 16) = (/ & & 8.981463e-01_rb,6.317895e-01_rb,4.557508e-01_rb,3.481624e-01_rb,2.797950e-01_rb,& & 2.342753e-01_rb,2.026934e-01_rb,1.800102e-01_rb,1.632408e-01_rb,1.505384e-01_rb,& & 1.354524e-01_rb,1.246520e-01_rb,1.154342e-01_rb,1.074756e-01_rb,1.005353e-01_rb,& & 9.442987e-02_rb,8.901760e-02_rb,8.418693e-02_rb,7.984904e-02_rb,7.593229e-02_rb,& & 7.237827e-02_rb,6.913887e-02_rb,6.617415e-02_rb,6.345061e-02_rb,6.094001e-02_rb,& & 5.861834e-02_rb,5.646506e-02_rb,5.446250e-02_rb,5.249596e-02_rb,5.081114e-02_rb,& & 4.922243e-02_rb,4.772189e-02_rb,4.630243e-02_rb,4.495766e-02_rb,4.368189e-02_rb,& & 4.246995e-02_rb,4.131720e-02_rb,4.021941e-02_rb,3.917276e-02_rb,3.817376e-02_rb,& & 3.721926e-02_rb,3.630635e-02_rb,3.543237e-02_rb,3.459491e-02_rb,3.379171e-02_rb,& & 3.302073e-02_rb,3.228007e-02_rb,3.156798e-02_rb,3.088284e-02_rb,3.022315e-02_rb,& & 2.958753e-02_rb,2.897468e-02_rb,2.838340e-02_rb,2.781258e-02_rb,2.726117e-02_rb,& & 2.672821e-02_rb,2.621278e-02_rb,2.5714e-02_rb /) extliq1(:, 17) = (/ & & 8.293797e-01_rb,6.048371e-01_rb,4.465706e-01_rb,3.460387e-01_rb,2.800064e-01_rb,& & 2.346584e-01_rb,2.022399e-01_rb,1.782626e-01_rb,1.600153e-01_rb,1.457903e-01_rb,& & 1.334061e-01_rb,1.228548e-01_rb,1.138396e-01_rb,1.060486e-01_rb,9.924856e-02_rb,& & 9.326208e-02_rb,8.795158e-02_rb,8.320883e-02_rb,7.894750e-02_rb,7.509792e-02_rb,& & 7.160323e-02_rb,6.841653e-02_rb,6.549889e-02_rb,6.281763e-02_rb,6.034516e-02_rb,& & 5.805802e-02_rb,5.593615e-02_rb,5.396226e-02_rb,5.202302e-02_rb,5.036246e-02_rb,& & 4.879606e-02_rb,4.731610e-02_rb,4.591565e-02_rb,4.458852e-02_rb,4.332912e-02_rb,& & 4.213243e-02_rb,4.099390e-02_rb,3.990941e-02_rb,3.887522e-02_rb,3.788792e-02_rb,& & 3.694440e-02_rb,3.604183e-02_rb,3.517760e-02_rb,3.434934e-02_rb,3.355485e-02_rb,& & 3.279211e-02_rb,3.205925e-02_rb,3.135458e-02_rb,3.067648e-02_rb,3.002349e-02_rb,& & 2.939425e-02_rb,2.878748e-02_rb,2.820200e-02_rb,2.763673e-02_rb,2.709062e-02_rb,& & 2.656272e-02_rb,2.605214e-02_rb,2.5558e-02_rb /) extliq1(:, 18) = (/ & & 9.193685e-01_rb,6.128292e-01_rb,4.344150e-01_rb,3.303048e-01_rb,2.659500e-01_rb,& & 2.239727e-01_rb,1.953457e-01_rb,1.751012e-01_rb,1.603515e-01_rb,1.493360e-01_rb,& & 1.323791e-01_rb,1.219335e-01_rb,1.130076e-01_rb,1.052926e-01_rb,9.855839e-02_rb,& & 9.262925e-02_rb,8.736918e-02_rb,8.267112e-02_rb,7.844965e-02_rb,7.463585e-02_rb,& & 7.117343e-02_rb,6.801601e-02_rb,6.512503e-02_rb,6.246815e-02_rb,6.001806e-02_rb,& & 5.775154e-02_rb,5.564872e-02_rb,5.369250e-02_rb,5.176284e-02_rb,5.011536e-02_rb,& & 4.856099e-02_rb,4.709211e-02_rb,4.570193e-02_rb,4.438430e-02_rb,4.313375e-02_rb,& & 4.194529e-02_rb,4.081443e-02_rb,3.973712e-02_rb,3.870966e-02_rb,3.772866e-02_rb,& & 3.679108e-02_rb,3.589409e-02_rb,3.503514e-02_rb,3.421185e-02_rb,3.342206e-02_rb,& & 3.266377e-02_rb,3.193513e-02_rb,3.123447e-02_rb,3.056018e-02_rb,2.991081e-02_rb,& & 2.928502e-02_rb,2.868154e-02_rb,2.809920e-02_rb,2.753692e-02_rb,2.699367e-02_rb,& & 2.646852e-02_rb,2.596057e-02_rb,2.5469e-02_rb /) extliq1(:, 19) = (/ & & 9.136931e-01_rb,5.743244e-01_rb,4.080708e-01_rb,3.150572e-01_rb,2.577261e-01_rb,& & 2.197900e-01_rb,1.933037e-01_rb,1.740212e-01_rb,1.595056e-01_rb,1.482756e-01_rb,& & 1.312164e-01_rb,1.209246e-01_rb,1.121227e-01_rb,1.045095e-01_rb,9.785967e-02_rb,& & 9.200149e-02_rb,8.680170e-02_rb,8.215531e-02_rb,7.797850e-02_rb,7.420361e-02_rb,& & 7.077530e-02_rb,6.764798e-02_rb,6.478369e-02_rb,6.215063e-02_rb,5.972189e-02_rb,& & 5.747458e-02_rb,5.538913e-02_rb,5.344866e-02_rb,5.153216e-02_rb,4.989745e-02_rb,& & 4.835476e-02_rb,4.689661e-02_rb,4.551629e-02_rb,4.420777e-02_rb,4.296563e-02_rb,& & 4.178497e-02_rb,4.066137e-02_rb,3.959081e-02_rb,3.856963e-02_rb,3.759452e-02_rb,& & 3.666244e-02_rb,3.577061e-02_rb,3.491650e-02_rb,3.409777e-02_rb,3.331227e-02_rb,& & 3.255803e-02_rb,3.183322e-02_rb,3.113617e-02_rb,3.046530e-02_rb,2.981918e-02_rb,& & 2.919646e-02_rb,2.859591e-02_rb,2.801635e-02_rb,2.745671e-02_rb,2.691599e-02_rb,& & 2.639324e-02_rb,2.588759e-02_rb,2.5398e-02_rb /) extliq1(:, 20) = (/ & & 8.447548e-01_rb,5.326840e-01_rb,3.921523e-01_rb,3.119082e-01_rb,2.597055e-01_rb,& & 2.228737e-01_rb,1.954157e-01_rb,1.741155e-01_rb,1.570881e-01_rb,1.431520e-01_rb,& & 1.302034e-01_rb,1.200491e-01_rb,1.113571e-01_rb,1.038330e-01_rb,9.725657e-02_rb,& & 9.145949e-02_rb,8.631112e-02_rb,8.170840e-02_rb,7.756901e-02_rb,7.382641e-02_rb,& & 7.042616e-02_rb,6.732338e-02_rb,6.448069e-02_rb,6.186672e-02_rb,5.945494e-02_rb,& & 5.722277e-02_rb,5.515089e-02_rb,5.322262e-02_rb,5.132153e-02_rb,4.969799e-02_rb,& & 4.816556e-02_rb,4.671686e-02_rb,4.534525e-02_rb,4.404480e-02_rb,4.281014e-02_rb,& & 4.163643e-02_rb,4.051930e-02_rb,3.945479e-02_rb,3.843927e-02_rb,3.746945e-02_rb,& & 3.654234e-02_rb,3.565518e-02_rb,3.480547e-02_rb,3.399088e-02_rb,3.320930e-02_rb,& & 3.245876e-02_rb,3.173745e-02_rb,3.104371e-02_rb,3.037600e-02_rb,2.973287e-02_rb,& & 2.911300e-02_rb,2.851516e-02_rb,2.793818e-02_rb,2.738101e-02_rb,2.684264e-02_rb,& & 2.632214e-02_rb,2.581863e-02_rb,2.5331e-02_rb /) extliq1(:, 21) = (/ & & 7.727642e-01_rb,5.034865e-01_rb,3.808673e-01_rb,3.080333e-01_rb,2.586453e-01_rb,& & 2.224989e-01_rb,1.947060e-01_rb,1.725821e-01_rb,1.545096e-01_rb,1.394456e-01_rb,& & 1.288683e-01_rb,1.188852e-01_rb,1.103317e-01_rb,1.029214e-01_rb,9.643967e-02_rb,& & 9.072239e-02_rb,8.564194e-02_rb,8.109758e-02_rb,7.700875e-02_rb,7.331026e-02_rb,& & 6.994879e-02_rb,6.688028e-02_rb,6.406807e-02_rb,6.148133e-02_rb,5.909400e-02_rb,& & 5.688388e-02_rb,5.483197e-02_rb,5.292185e-02_rb,5.103763e-02_rb,4.942905e-02_rb,& & 4.791039e-02_rb,4.647438e-02_rb,4.511453e-02_rb,4.382497e-02_rb,4.260043e-02_rb,& & 4.143616e-02_rb,4.032784e-02_rb,3.927155e-02_rb,3.826375e-02_rb,3.730117e-02_rb,& & 3.638087e-02_rb,3.550013e-02_rb,3.465646e-02_rb,3.384759e-02_rb,3.307141e-02_rb,& & 3.232598e-02_rb,3.160953e-02_rb,3.092040e-02_rb,3.025706e-02_rb,2.961810e-02_rb,& & 2.900220e-02_rb,2.840814e-02_rb,2.783478e-02_rb,2.728106e-02_rb,2.674599e-02_rb,& & 2.622864e-02_rb,2.572816e-02_rb,2.5244e-02_rb /) extliq1(:, 22) = (/ & & 7.416833e-01_rb,4.959591e-01_rb,3.775057e-01_rb,3.056353e-01_rb,2.565943e-01_rb,& & 2.206935e-01_rb,1.931479e-01_rb,1.712860e-01_rb,1.534837e-01_rb,1.386906e-01_rb,& & 1.281198e-01_rb,1.182344e-01_rb,1.097595e-01_rb,1.024137e-01_rb,9.598552e-02_rb,& & 9.031320e-02_rb,8.527093e-02_rb,8.075927e-02_rb,7.669869e-02_rb,7.302481e-02_rb,& & 6.968491e-02_rb,6.663542e-02_rb,6.384008e-02_rb,6.126838e-02_rb,5.889452e-02_rb,& & 5.669654e-02_rb,5.465558e-02_rb,5.275540e-02_rb,5.087937e-02_rb,4.927904e-02_rb,& & 4.776796e-02_rb,4.633895e-02_rb,4.498557e-02_rb,4.370202e-02_rb,4.248306e-02_rb,& & 4.132399e-02_rb,4.022052e-02_rb,3.916878e-02_rb,3.816523e-02_rb,3.720665e-02_rb,& & 3.629011e-02_rb,3.541290e-02_rb,3.457257e-02_rb,3.376685e-02_rb,3.299365e-02_rb,& & 3.225105e-02_rb,3.153728e-02_rb,3.085069e-02_rb,3.018977e-02_rb,2.955310e-02_rb,& & 2.893940e-02_rb,2.834742e-02_rb,2.777606e-02_rb,2.722424e-02_rb,2.669099e-02_rb,& & 2.617539e-02_rb,2.567658e-02_rb,2.5194e-02_rb /) extliq1(:, 23) = (/ & & 7.058580e-01_rb,4.866573e-01_rb,3.712238e-01_rb,2.998638e-01_rb,2.513441e-01_rb,& & 2.161972e-01_rb,1.895576e-01_rb,1.686669e-01_rb,1.518437e-01_rb,1.380046e-01_rb,& & 1.267564e-01_rb,1.170399e-01_rb,1.087026e-01_rb,1.014704e-01_rb,9.513729e-02_rb,& & 8.954555e-02_rb,8.457221e-02_rb,8.012009e-02_rb,7.611136e-02_rb,7.248294e-02_rb,& & 6.918317e-02_rb,6.616934e-02_rb,6.340584e-02_rb,6.086273e-02_rb,5.851465e-02_rb,& & 5.634001e-02_rb,5.432027e-02_rb,5.243946e-02_rb,5.058070e-02_rb,4.899628e-02_rb,& & 4.749975e-02_rb,4.608411e-02_rb,4.474303e-02_rb,4.347082e-02_rb,4.226237e-02_rb,& & 4.111303e-02_rb,4.001861e-02_rb,3.897528e-02_rb,3.797959e-02_rb,3.702835e-02_rb,& & 3.611867e-02_rb,3.524791e-02_rb,3.441364e-02_rb,3.361360e-02_rb,3.284577e-02_rb,& & 3.210823e-02_rb,3.139923e-02_rb,3.071716e-02_rb,3.006052e-02_rb,2.942791e-02_rb,& & 2.881806e-02_rb,2.822974e-02_rb,2.766185e-02_rb,2.711335e-02_rb,2.658326e-02_rb,& & 2.607066e-02_rb,2.557473e-02_rb,2.5095e-02_rb /) extliq1(:, 24) = (/ & & 6.822779e-01_rb,4.750373e-01_rb,3.634834e-01_rb,2.940726e-01_rb,2.468060e-01_rb,& & 2.125768e-01_rb,1.866586e-01_rb,1.663588e-01_rb,1.500326e-01_rb,1.366192e-01_rb,& & 1.253472e-01_rb,1.158052e-01_rb,1.076101e-01_rb,1.004954e-01_rb,9.426089e-02_rb,& & 8.875268e-02_rb,8.385090e-02_rb,7.946063e-02_rb,7.550578e-02_rb,7.192466e-02_rb,& & 6.866669e-02_rb,6.569001e-02_rb,6.295971e-02_rb,6.044642e-02_rb,5.812526e-02_rb,& & 5.597500e-02_rb,5.397746e-02_rb,5.211690e-02_rb,5.027505e-02_rb,4.870703e-02_rb,& & 4.722555e-02_rb,4.582373e-02_rb,4.449540e-02_rb,4.323497e-02_rb,4.203742e-02_rb,& & 4.089821e-02_rb,3.981321e-02_rb,3.877867e-02_rb,3.779118e-02_rb,3.684762e-02_rb,& & 3.594514e-02_rb,3.508114e-02_rb,3.425322e-02_rb,3.345917e-02_rb,3.269698e-02_rb,& & 3.196477e-02_rb,3.126082e-02_rb,3.058352e-02_rb,2.993141e-02_rb,2.930310e-02_rb,& & 2.869732e-02_rb,2.811289e-02_rb,2.754869e-02_rb,2.700371e-02_rb,2.647698e-02_rb,& & 2.596760e-02_rb,2.547473e-02_rb,2.4998e-02_rb /) extliq1(:, 25) = (/ & & 6.666233e-01_rb,4.662044e-01_rb,3.579517e-01_rb,2.902984e-01_rb,2.440475e-01_rb,& & 2.104431e-01_rb,1.849277e-01_rb,1.648970e-01_rb,1.487555e-01_rb,1.354714e-01_rb,& & 1.244173e-01_rb,1.149913e-01_rb,1.068903e-01_rb,9.985323e-02_rb,9.368351e-02_rb,& & 8.823009e-02_rb,8.337507e-02_rb,7.902511e-02_rb,7.510529e-02_rb,7.155482e-02_rb,& & 6.832386e-02_rb,6.537113e-02_rb,6.266218e-02_rb,6.016802e-02_rb,5.786408e-02_rb,& & 5.572939e-02_rb,5.374598e-02_rb,5.189830e-02_rb,5.006825e-02_rb,4.851081e-02_rb,& & 4.703906e-02_rb,4.564623e-02_rb,4.432621e-02_rb,4.307349e-02_rb,4.188312e-02_rb,& & 4.075060e-02_rb,3.967183e-02_rb,3.864313e-02_rb,3.766111e-02_rb,3.672269e-02_rb,& & 3.582505e-02_rb,3.496559e-02_rb,3.414196e-02_rb,3.335198e-02_rb,3.259362e-02_rb,& & 3.186505e-02_rb,3.116454e-02_rb,3.049052e-02_rb,2.984152e-02_rb,2.921617e-02_rb,& & 2.861322e-02_rb,2.803148e-02_rb,2.746986e-02_rb,2.692733e-02_rb,2.640295e-02_rb,& & 2.589582e-02_rb,2.540510e-02_rb,2.4930e-02_rb /) extliq1(:, 26) = (/ & & 6.535669e-01_rb,4.585865e-01_rb,3.529226e-01_rb,2.867245e-01_rb,2.413848e-01_rb,& & 2.083956e-01_rb,1.833191e-01_rb,1.636150e-01_rb,1.477247e-01_rb,1.346392e-01_rb,& & 1.236449e-01_rb,1.143095e-01_rb,1.062828e-01_rb,9.930773e-02_rb,9.319029e-02_rb,& & 8.778150e-02_rb,8.296497e-02_rb,7.864847e-02_rb,7.475799e-02_rb,7.123343e-02_rb,& & 6.802549e-02_rb,6.509332e-02_rb,6.240285e-02_rb,5.992538e-02_rb,5.763657e-02_rb,& & 5.551566e-02_rb,5.354483e-02_rb,5.170870e-02_rb,4.988866e-02_rb,4.834061e-02_rb,& & 4.687751e-02_rb,4.549264e-02_rb,4.417999e-02_rb,4.293410e-02_rb,4.175006e-02_rb,& & 4.062344e-02_rb,3.955019e-02_rb,3.852663e-02_rb,3.754943e-02_rb,3.661553e-02_rb,& & 3.572214e-02_rb,3.486669e-02_rb,3.404683e-02_rb,3.326040e-02_rb,3.250542e-02_rb,& & 3.178003e-02_rb,3.108254e-02_rb,3.041139e-02_rb,2.976511e-02_rb,2.914235e-02_rb,& & 2.854187e-02_rb,2.796247e-02_rb,2.740309e-02_rb,2.686271e-02_rb,2.634038e-02_rb,& & 2.583520e-02_rb,2.534636e-02_rb,2.4873e-02_rb /) extliq1(:, 27) = (/ & & 6.448790e-01_rb,4.541425e-01_rb,3.503348e-01_rb,2.850494e-01_rb,2.401966e-01_rb,& & 2.074811e-01_rb,1.825631e-01_rb,1.629515e-01_rb,1.471142e-01_rb,1.340574e-01_rb,& & 1.231462e-01_rb,1.138628e-01_rb,1.058802e-01_rb,9.894286e-02_rb,9.285818e-02_rb,& & 8.747802e-02_rb,8.268676e-02_rb,7.839271e-02_rb,7.452230e-02_rb,7.101580e-02_rb,& & 6.782418e-02_rb,6.490685e-02_rb,6.222991e-02_rb,5.976484e-02_rb,5.748742e-02_rb,& & 5.537703e-02_rb,5.341593e-02_rb,5.158883e-02_rb,4.977355e-02_rb,4.823172e-02_rb,& & 4.677430e-02_rb,4.539465e-02_rb,4.408680e-02_rb,4.284533e-02_rb,4.166539e-02_rb,& & 4.054257e-02_rb,3.947283e-02_rb,3.845256e-02_rb,3.747842e-02_rb,3.654737e-02_rb,& & 3.565665e-02_rb,3.480370e-02_rb,3.398620e-02_rb,3.320198e-02_rb,3.244908e-02_rb,& & 3.172566e-02_rb,3.103002e-02_rb,3.036062e-02_rb,2.971600e-02_rb,2.909482e-02_rb,& & 2.849582e-02_rb,2.791785e-02_rb,2.735982e-02_rb,2.682072e-02_rb,2.629960e-02_rb,& & 2.579559e-02_rb,2.530786e-02_rb,2.4836e-02_rb /) extliq1(:, 28) = (/ & & 6.422688e-01_rb,4.528453e-01_rb,3.497232e-01_rb,2.847724e-01_rb,2.400815e-01_rb,& & 2.074403e-01_rb,1.825502e-01_rb,1.629415e-01_rb,1.470934e-01_rb,1.340183e-01_rb,& & 1.230935e-01_rb,1.138049e-01_rb,1.058201e-01_rb,9.888245e-02_rb,9.279878e-02_rb,& & 8.742053e-02_rb,8.263175e-02_rb,7.834058e-02_rb,7.447327e-02_rb,7.097000e-02_rb,& & 6.778167e-02_rb,6.486765e-02_rb,6.219400e-02_rb,5.973215e-02_rb,5.745790e-02_rb,& & 5.535059e-02_rb,5.339250e-02_rb,5.156831e-02_rb,4.975308e-02_rb,4.821235e-02_rb,& & 4.675596e-02_rb,4.537727e-02_rb,4.407030e-02_rb,4.282968e-02_rb,4.165053e-02_rb,& & 4.052845e-02_rb,3.945941e-02_rb,3.843980e-02_rb,3.746628e-02_rb,3.653583e-02_rb,& & 3.564567e-02_rb,3.479326e-02_rb,3.397626e-02_rb,3.319253e-02_rb,3.244008e-02_rb,& & 3.171711e-02_rb,3.102189e-02_rb,3.035289e-02_rb,2.970866e-02_rb,2.908784e-02_rb,& & 2.848920e-02_rb,2.791156e-02_rb,2.735385e-02_rb,2.681507e-02_rb,2.629425e-02_rb,& & 2.579053e-02_rb,2.530308e-02_rb,2.4831e-02_rb /) extliq1(:, 29) = (/ & & 4.614710e-01_rb,4.556116e-01_rb,4.056568e-01_rb,3.529833e-01_rb,3.060334e-01_rb,& & 2.658127e-01_rb,2.316095e-01_rb,2.024325e-01_rb,1.773749e-01_rb,1.556867e-01_rb,& & 1.455558e-01_rb,1.332882e-01_rb,1.229052e-01_rb,1.140067e-01_rb,1.062981e-01_rb,& & 9.955703e-02_rb,9.361333e-02_rb,8.833420e-02_rb,8.361467e-02_rb,7.937071e-02_rb,& & 7.553420e-02_rb,7.204942e-02_rb,6.887031e-02_rb,6.595851e-02_rb,6.328178e-02_rb,& & 6.081286e-02_rb,5.852854e-02_rb,5.640892e-02_rb,5.431269e-02_rb,5.252561e-02_rb,& & 5.084345e-02_rb,4.925727e-02_rb,4.775910e-02_rb,4.634182e-02_rb,4.499907e-02_rb,& & 4.372512e-02_rb,4.251484e-02_rb,4.136357e-02_rb,4.026710e-02_rb,3.922162e-02_rb,& & 3.822365e-02_rb,3.727004e-02_rb,3.635790e-02_rb,3.548457e-02_rb,3.464764e-02_rb,& & 3.384488e-02_rb,3.307424e-02_rb,3.233384e-02_rb,3.162192e-02_rb,3.093688e-02_rb,& & 3.027723e-02_rb,2.964158e-02_rb,2.902864e-02_rb,2.843722e-02_rb,2.786621e-02_rb,& & 2.731457e-02_rb,2.678133e-02_rb,2.6266e-02_rb /) ! Single scattering albedo ssaliq1(:, 16) = (/ & & 8.143821e-01_rb,7.836739e-01_rb,7.550722e-01_rb,7.306269e-01_rb,7.105612e-01_rb,& & 6.946649e-01_rb,6.825556e-01_rb,6.737762e-01_rb,6.678448e-01_rb,6.642830e-01_rb,& & 6.679741e-01_rb,6.584607e-01_rb,6.505598e-01_rb,6.440951e-01_rb,6.388901e-01_rb,& & 6.347689e-01_rb,6.315549e-01_rb,6.290718e-01_rb,6.271432e-01_rb,6.255928e-01_rb,& & 6.242441e-01_rb,6.229207e-01_rb,6.214464e-01_rb,6.196445e-01_rb,6.173388e-01_rb,& & 6.143527e-01_rb,6.105099e-01_rb,6.056339e-01_rb,6.108290e-01_rb,6.073939e-01_rb,& & 6.043073e-01_rb,6.015473e-01_rb,5.990913e-01_rb,5.969173e-01_rb,5.950028e-01_rb,& & 5.933257e-01_rb,5.918636e-01_rb,5.905944e-01_rb,5.894957e-01_rb,5.885453e-01_rb,& & 5.877209e-01_rb,5.870003e-01_rb,5.863611e-01_rb,5.857811e-01_rb,5.852381e-01_rb,& & 5.847098e-01_rb,5.841738e-01_rb,5.836081e-01_rb,5.829901e-01_rb,5.822979e-01_rb,& & 5.815089e-01_rb,5.806011e-01_rb,5.795521e-01_rb,5.783396e-01_rb,5.769413e-01_rb,& & 5.753351e-01_rb,5.734986e-01_rb,5.7141e-01_rb /) ssaliq1(:, 17) = (/ & & 8.165821e-01_rb,8.002015e-01_rb,7.816921e-01_rb,7.634131e-01_rb,7.463721e-01_rb,& & 7.312469e-01_rb,7.185883e-01_rb,7.088975e-01_rb,7.026671e-01_rb,7.004020e-01_rb,& & 7.042138e-01_rb,6.960930e-01_rb,6.894243e-01_rb,6.840459e-01_rb,6.797957e-01_rb,& & 6.765119e-01_rb,6.740325e-01_rb,6.721955e-01_rb,6.708391e-01_rb,6.698013e-01_rb,& & 6.689201e-01_rb,6.680339e-01_rb,6.669805e-01_rb,6.655982e-01_rb,6.637250e-01_rb,& & 6.611992e-01_rb,6.578588e-01_rb,6.535420e-01_rb,6.584449e-01_rb,6.553992e-01_rb,& & 6.526547e-01_rb,6.501917e-01_rb,6.479905e-01_rb,6.460313e-01_rb,6.442945e-01_rb,& & 6.427605e-01_rb,6.414094e-01_rb,6.402217e-01_rb,6.391775e-01_rb,6.382573e-01_rb,& & 6.374413e-01_rb,6.367099e-01_rb,6.360433e-01_rb,6.354218e-01_rb,6.348257e-01_rb,& & 6.342355e-01_rb,6.336313e-01_rb,6.329935e-01_rb,6.323023e-01_rb,6.315383e-01_rb,& & 6.306814e-01_rb,6.297122e-01_rb,6.286110e-01_rb,6.273579e-01_rb,6.259333e-01_rb,& & 6.243176e-01_rb,6.224910e-01_rb,6.2043e-01_rb /) ssaliq1(:, 18) = (/ & & 9.900163e-01_rb,9.854307e-01_rb,9.797730e-01_rb,9.733113e-01_rb,9.664245e-01_rb,& & 9.594976e-01_rb,9.529055e-01_rb,9.470112e-01_rb,9.421695e-01_rb,9.387304e-01_rb,& & 9.344918e-01_rb,9.305302e-01_rb,9.267048e-01_rb,9.230072e-01_rb,9.194289e-01_rb,& & 9.159616e-01_rb,9.125968e-01_rb,9.093260e-01_rb,9.061409e-01_rb,9.030330e-01_rb,& & 8.999940e-01_rb,8.970154e-01_rb,8.940888e-01_rb,8.912058e-01_rb,8.883579e-01_rb,& & 8.855368e-01_rb,8.827341e-01_rb,8.799413e-01_rb,8.777423e-01_rb,8.749566e-01_rb,& & 8.722298e-01_rb,8.695605e-01_rb,8.669469e-01_rb,8.643875e-01_rb,8.618806e-01_rb,& & 8.594246e-01_rb,8.570179e-01_rb,8.546589e-01_rb,8.523459e-01_rb,8.500773e-01_rb,& & 8.478516e-01_rb,8.456670e-01_rb,8.435219e-01_rb,8.414148e-01_rb,8.393439e-01_rb,& & 8.373078e-01_rb,8.353047e-01_rb,8.333330e-01_rb,8.313911e-01_rb,8.294774e-01_rb,& & 8.275904e-01_rb,8.257282e-01_rb,8.238893e-01_rb,8.220721e-01_rb,8.202751e-01_rb,& & 8.184965e-01_rb,8.167346e-01_rb,8.1499e-01_rb /) ssaliq1(:, 19) = (/ & & 9.999916e-01_rb,9.987396e-01_rb,9.966900e-01_rb,9.950738e-01_rb,9.937531e-01_rb,& & 9.925912e-01_rb,9.914525e-01_rb,9.902018e-01_rb,9.887046e-01_rb,9.868263e-01_rb,& & 9.849039e-01_rb,9.832372e-01_rb,9.815265e-01_rb,9.797770e-01_rb,9.779940e-01_rb,& & 9.761827e-01_rb,9.743481e-01_rb,9.724955e-01_rb,9.706303e-01_rb,9.687575e-01_rb,& & 9.668823e-01_rb,9.650100e-01_rb,9.631457e-01_rb,9.612947e-01_rb,9.594622e-01_rb,& & 9.576534e-01_rb,9.558734e-01_rb,9.541275e-01_rb,9.522059e-01_rb,9.504258e-01_rb,& & 9.486459e-01_rb,9.468676e-01_rb,9.450921e-01_rb,9.433208e-01_rb,9.415548e-01_rb,& & 9.397955e-01_rb,9.380441e-01_rb,9.363022e-01_rb,9.345706e-01_rb,9.328510e-01_rb,& & 9.311445e-01_rb,9.294524e-01_rb,9.277761e-01_rb,9.261167e-01_rb,9.244755e-01_rb,& & 9.228540e-01_rb,9.212534e-01_rb,9.196748e-01_rb,9.181197e-01_rb,9.165894e-01_rb,& & 9.150851e-01_rb,9.136080e-01_rb,9.121596e-01_rb,9.107410e-01_rb,9.093536e-01_rb,& & 9.079987e-01_rb,9.066775e-01_rb,9.0539e-01_rb /) ssaliq1(:, 20) = (/ & & 9.979493e-01_rb,9.964113e-01_rb,9.950014e-01_rb,9.937045e-01_rb,9.924964e-01_rb,& & 9.913546e-01_rb,9.902575e-01_rb,9.891843e-01_rb,9.881136e-01_rb,9.870238e-01_rb,& & 9.859934e-01_rb,9.849372e-01_rb,9.838873e-01_rb,9.828434e-01_rb,9.818052e-01_rb,& & 9.807725e-01_rb,9.797450e-01_rb,9.787225e-01_rb,9.777047e-01_rb,9.766914e-01_rb,& & 9.756823e-01_rb,9.746771e-01_rb,9.736756e-01_rb,9.726775e-01_rb,9.716827e-01_rb,& & 9.706907e-01_rb,9.697014e-01_rb,9.687145e-01_rb,9.678060e-01_rb,9.668108e-01_rb,& & 9.658218e-01_rb,9.648391e-01_rb,9.638629e-01_rb,9.628936e-01_rb,9.619313e-01_rb,& & 9.609763e-01_rb,9.600287e-01_rb,9.590888e-01_rb,9.581569e-01_rb,9.572330e-01_rb,& & 9.563176e-01_rb,9.554108e-01_rb,9.545128e-01_rb,9.536239e-01_rb,9.527443e-01_rb,& & 9.518741e-01_rb,9.510137e-01_rb,9.501633e-01_rb,9.493230e-01_rb,9.484931e-01_rb,& & 9.476740e-01_rb,9.468656e-01_rb,9.460683e-01_rb,9.452824e-01_rb,9.445080e-01_rb,& & 9.437454e-01_rb,9.429948e-01_rb,9.4226e-01_rb /) ssaliq1(:, 21) = (/ & & 9.988742e-01_rb,9.982668e-01_rb,9.976935e-01_rb,9.971497e-01_rb,9.966314e-01_rb,& & 9.961344e-01_rb,9.956545e-01_rb,9.951873e-01_rb,9.947286e-01_rb,9.942741e-01_rb,& & 9.938457e-01_rb,9.933947e-01_rb,9.929473e-01_rb,9.925032e-01_rb,9.920621e-01_rb,& & 9.916237e-01_rb,9.911875e-01_rb,9.907534e-01_rb,9.903209e-01_rb,9.898898e-01_rb,& & 9.894597e-01_rb,9.890304e-01_rb,9.886015e-01_rb,9.881726e-01_rb,9.877435e-01_rb,& & 9.873138e-01_rb,9.868833e-01_rb,9.864516e-01_rb,9.860698e-01_rb,9.856317e-01_rb,& & 9.851957e-01_rb,9.847618e-01_rb,9.843302e-01_rb,9.839008e-01_rb,9.834739e-01_rb,& & 9.830494e-01_rb,9.826275e-01_rb,9.822083e-01_rb,9.817918e-01_rb,9.813782e-01_rb,& & 9.809675e-01_rb,9.805598e-01_rb,9.801552e-01_rb,9.797538e-01_rb,9.793556e-01_rb,& & 9.789608e-01_rb,9.785695e-01_rb,9.781817e-01_rb,9.777975e-01_rb,9.774171e-01_rb,& & 9.770404e-01_rb,9.766676e-01_rb,9.762988e-01_rb,9.759340e-01_rb,9.755733e-01_rb,& & 9.752169e-01_rb,9.748649e-01_rb,9.7452e-01_rb /) ssaliq1(:, 22) = (/ & & 9.994441e-01_rb,9.991608e-01_rb,9.988949e-01_rb,9.986439e-01_rb,9.984054e-01_rb,& & 9.981768e-01_rb,9.979557e-01_rb,9.977396e-01_rb,9.975258e-01_rb,9.973120e-01_rb,& & 9.971011e-01_rb,9.968852e-01_rb,9.966708e-01_rb,9.964578e-01_rb,9.962462e-01_rb,& & 9.960357e-01_rb,9.958264e-01_rb,9.956181e-01_rb,9.954108e-01_rb,9.952043e-01_rb,& & 9.949987e-01_rb,9.947937e-01_rb,9.945892e-01_rb,9.943853e-01_rb,9.941818e-01_rb,& & 9.939786e-01_rb,9.937757e-01_rb,9.935728e-01_rb,9.933922e-01_rb,9.931825e-01_rb,& & 9.929739e-01_rb,9.927661e-01_rb,9.925592e-01_rb,9.923534e-01_rb,9.921485e-01_rb,& & 9.919447e-01_rb,9.917421e-01_rb,9.915406e-01_rb,9.913403e-01_rb,9.911412e-01_rb,& & 9.909435e-01_rb,9.907470e-01_rb,9.905519e-01_rb,9.903581e-01_rb,9.901659e-01_rb,& & 9.899751e-01_rb,9.897858e-01_rb,9.895981e-01_rb,9.894120e-01_rb,9.892276e-01_rb,& & 9.890447e-01_rb,9.888637e-01_rb,9.886845e-01_rb,9.885070e-01_rb,9.883314e-01_rb,& & 9.881576e-01_rb,9.879859e-01_rb,9.8782e-01_rb /) ssaliq1(:, 23) = (/ & & 9.999138e-01_rb,9.998730e-01_rb,9.998338e-01_rb,9.997965e-01_rb,9.997609e-01_rb,& & 9.997270e-01_rb,9.996944e-01_rb,9.996629e-01_rb,9.996321e-01_rb,9.996016e-01_rb,& & 9.995690e-01_rb,9.995372e-01_rb,9.995057e-01_rb,9.994744e-01_rb,9.994433e-01_rb,& & 9.994124e-01_rb,9.993817e-01_rb,9.993510e-01_rb,9.993206e-01_rb,9.992903e-01_rb,& & 9.992600e-01_rb,9.992299e-01_rb,9.991998e-01_rb,9.991698e-01_rb,9.991398e-01_rb,& & 9.991098e-01_rb,9.990799e-01_rb,9.990499e-01_rb,9.990231e-01_rb,9.989920e-01_rb,& & 9.989611e-01_rb,9.989302e-01_rb,9.988996e-01_rb,9.988690e-01_rb,9.988386e-01_rb,& & 9.988084e-01_rb,9.987783e-01_rb,9.987485e-01_rb,9.987187e-01_rb,9.986891e-01_rb,& & 9.986598e-01_rb,9.986306e-01_rb,9.986017e-01_rb,9.985729e-01_rb,9.985443e-01_rb,& & 9.985160e-01_rb,9.984879e-01_rb,9.984600e-01_rb,9.984324e-01_rb,9.984050e-01_rb,& & 9.983778e-01_rb,9.983509e-01_rb,9.983243e-01_rb,9.982980e-01_rb,9.982719e-01_rb,& & 9.982461e-01_rb,9.982206e-01_rb,9.9820e-01_rb /) ssaliq1(:, 24) = (/ & & 9.999985e-01_rb,9.999979e-01_rb,9.999972e-01_rb,9.999966e-01_rb,9.999961e-01_rb,& & 9.999955e-01_rb,9.999950e-01_rb,9.999944e-01_rb,9.999938e-01_rb,9.999933e-01_rb,& & 9.999927e-01_rb,9.999921e-01_rb,9.999915e-01_rb,9.999910e-01_rb,9.999904e-01_rb,& & 9.999899e-01_rb,9.999893e-01_rb,9.999888e-01_rb,9.999882e-01_rb,9.999877e-01_rb,& & 9.999871e-01_rb,9.999866e-01_rb,9.999861e-01_rb,9.999855e-01_rb,9.999850e-01_rb,& & 9.999844e-01_rb,9.999839e-01_rb,9.999833e-01_rb,9.999828e-01_rb,9.999823e-01_rb,& & 9.999817e-01_rb,9.999812e-01_rb,9.999807e-01_rb,9.999801e-01_rb,9.999796e-01_rb,& & 9.999791e-01_rb,9.999786e-01_rb,9.999781e-01_rb,9.999776e-01_rb,9.999770e-01_rb,& & 9.999765e-01_rb,9.999761e-01_rb,9.999756e-01_rb,9.999751e-01_rb,9.999746e-01_rb,& & 9.999741e-01_rb,9.999736e-01_rb,9.999732e-01_rb,9.999727e-01_rb,9.999722e-01_rb,& & 9.999718e-01_rb,9.999713e-01_rb,9.999709e-01_rb,9.999705e-01_rb,9.999701e-01_rb,& & 9.999697e-01_rb,9.999692e-01_rb,9.9997e-01_rb /) ssaliq1(:, 25) = (/ & & 9.999999e-01_rb,9.999998e-01_rb,9.999997e-01_rb,9.999997e-01_rb,9.999997e-01_rb,& & 9.999996e-01_rb,9.999996e-01_rb,9.999995e-01_rb,9.999995e-01_rb,9.999994e-01_rb,& & 9.999994e-01_rb,9.999993e-01_rb,9.999993e-01_rb,9.999992e-01_rb,9.999992e-01_rb,& & 9.999991e-01_rb,9.999991e-01_rb,9.999991e-01_rb,9.999990e-01_rb,9.999989e-01_rb,& & 9.999989e-01_rb,9.999989e-01_rb,9.999988e-01_rb,9.999988e-01_rb,9.999987e-01_rb,& & 9.999987e-01_rb,9.999986e-01_rb,9.999986e-01_rb,9.999985e-01_rb,9.999985e-01_rb,& & 9.999984e-01_rb,9.999984e-01_rb,9.999984e-01_rb,9.999983e-01_rb,9.999983e-01_rb,& & 9.999982e-01_rb,9.999982e-01_rb,9.999982e-01_rb,9.999981e-01_rb,9.999980e-01_rb,& & 9.999980e-01_rb,9.999980e-01_rb,9.999979e-01_rb,9.999979e-01_rb,9.999978e-01_rb,& & 9.999978e-01_rb,9.999977e-01_rb,9.999977e-01_rb,9.999977e-01_rb,9.999976e-01_rb,& & 9.999976e-01_rb,9.999975e-01_rb,9.999975e-01_rb,9.999974e-01_rb,9.999974e-01_rb,& & 9.999974e-01_rb,9.999973e-01_rb,1.0000e+00_rb /) ssaliq1(:, 26) = (/ & & 9.999997e-01_rb,9.999995e-01_rb,9.999993e-01_rb,9.999992e-01_rb,9.999990e-01_rb,& & 9.999989e-01_rb,9.999988e-01_rb,9.999987e-01_rb,9.999986e-01_rb,9.999985e-01_rb,& & 9.999984e-01_rb,9.999983e-01_rb,9.999982e-01_rb,9.999981e-01_rb,9.999980e-01_rb,& & 9.999978e-01_rb,9.999977e-01_rb,9.999976e-01_rb,9.999975e-01_rb,9.999974e-01_rb,& & 9.999973e-01_rb,9.999972e-01_rb,9.999970e-01_rb,9.999969e-01_rb,9.999968e-01_rb,& & 9.999967e-01_rb,9.999966e-01_rb,9.999965e-01_rb,9.999964e-01_rb,9.999963e-01_rb,& & 9.999962e-01_rb,9.999961e-01_rb,9.999959e-01_rb,9.999958e-01_rb,9.999957e-01_rb,& & 9.999956e-01_rb,9.999955e-01_rb,9.999954e-01_rb,9.999953e-01_rb,9.999952e-01_rb,& & 9.999951e-01_rb,9.999949e-01_rb,9.999949e-01_rb,9.999947e-01_rb,9.999946e-01_rb,& & 9.999945e-01_rb,9.999944e-01_rb,9.999943e-01_rb,9.999942e-01_rb,9.999941e-01_rb,& & 9.999940e-01_rb,9.999939e-01_rb,9.999938e-01_rb,9.999937e-01_rb,9.999936e-01_rb,& & 9.999935e-01_rb,9.999934e-01_rb,9.9999e-01_rb /) ssaliq1(:, 27) = (/ & & 9.999984e-01_rb,9.999976e-01_rb,9.999969e-01_rb,9.999962e-01_rb,9.999956e-01_rb,& & 9.999950e-01_rb,9.999945e-01_rb,9.999940e-01_rb,9.999935e-01_rb,9.999931e-01_rb,& & 9.999926e-01_rb,9.999920e-01_rb,9.999914e-01_rb,9.999908e-01_rb,9.999903e-01_rb,& & 9.999897e-01_rb,9.999891e-01_rb,9.999886e-01_rb,9.999880e-01_rb,9.999874e-01_rb,& & 9.999868e-01_rb,9.999863e-01_rb,9.999857e-01_rb,9.999851e-01_rb,9.999846e-01_rb,& & 9.999840e-01_rb,9.999835e-01_rb,9.999829e-01_rb,9.999824e-01_rb,9.999818e-01_rb,& & 9.999812e-01_rb,9.999806e-01_rb,9.999800e-01_rb,9.999795e-01_rb,9.999789e-01_rb,& & 9.999783e-01_rb,9.999778e-01_rb,9.999773e-01_rb,9.999767e-01_rb,9.999761e-01_rb,& & 9.999756e-01_rb,9.999750e-01_rb,9.999745e-01_rb,9.999739e-01_rb,9.999734e-01_rb,& & 9.999729e-01_rb,9.999723e-01_rb,9.999718e-01_rb,9.999713e-01_rb,9.999708e-01_rb,& & 9.999703e-01_rb,9.999697e-01_rb,9.999692e-01_rb,9.999687e-01_rb,9.999683e-01_rb,& & 9.999678e-01_rb,9.999673e-01_rb,9.9997e-01_rb /) ssaliq1(:, 28) = (/ & & 9.999981e-01_rb,9.999973e-01_rb,9.999965e-01_rb,9.999958e-01_rb,9.999951e-01_rb,& & 9.999943e-01_rb,9.999937e-01_rb,9.999930e-01_rb,9.999924e-01_rb,9.999918e-01_rb,& & 9.999912e-01_rb,9.999905e-01_rb,9.999897e-01_rb,9.999890e-01_rb,9.999883e-01_rb,& & 9.999876e-01_rb,9.999869e-01_rb,9.999862e-01_rb,9.999855e-01_rb,9.999847e-01_rb,& & 9.999840e-01_rb,9.999834e-01_rb,9.999827e-01_rb,9.999819e-01_rb,9.999812e-01_rb,& & 9.999805e-01_rb,9.999799e-01_rb,9.999791e-01_rb,9.999785e-01_rb,9.999778e-01_rb,& & 9.999771e-01_rb,9.999764e-01_rb,9.999757e-01_rb,9.999750e-01_rb,9.999743e-01_rb,& & 9.999736e-01_rb,9.999729e-01_rb,9.999722e-01_rb,9.999715e-01_rb,9.999709e-01_rb,& & 9.999701e-01_rb,9.999695e-01_rb,9.999688e-01_rb,9.999682e-01_rb,9.999675e-01_rb,& & 9.999669e-01_rb,9.999662e-01_rb,9.999655e-01_rb,9.999649e-01_rb,9.999642e-01_rb,& & 9.999636e-01_rb,9.999630e-01_rb,9.999624e-01_rb,9.999618e-01_rb,9.999612e-01_rb,& & 9.999606e-01_rb,9.999600e-01_rb,9.9996e-01_rb /) ssaliq1(:, 29) = (/ & & 8.505737e-01_rb,8.465102e-01_rb,8.394829e-01_rb,8.279508e-01_rb,8.110806e-01_rb,& & 7.900397e-01_rb,7.669615e-01_rb,7.444422e-01_rb,7.253055e-01_rb,7.124831e-01_rb,& & 7.016434e-01_rb,6.885485e-01_rb,6.767340e-01_rb,6.661029e-01_rb,6.565577e-01_rb,& & 6.480013e-01_rb,6.403373e-01_rb,6.334697e-01_rb,6.273034e-01_rb,6.217440e-01_rb,& & 6.166983e-01_rb,6.120740e-01_rb,6.077796e-01_rb,6.037249e-01_rb,5.998207e-01_rb,& & 5.959788e-01_rb,5.921123e-01_rb,5.881354e-01_rb,5.891285e-01_rb,5.851143e-01_rb,& & 5.814653e-01_rb,5.781606e-01_rb,5.751792e-01_rb,5.724998e-01_rb,5.701016e-01_rb,& & 5.679634e-01_rb,5.660642e-01_rb,5.643829e-01_rb,5.628984e-01_rb,5.615898e-01_rb,& & 5.604359e-01_rb,5.594158e-01_rb,5.585083e-01_rb,5.576924e-01_rb,5.569470e-01_rb,& & 5.562512e-01_rb,5.555838e-01_rb,5.549239e-01_rb,5.542503e-01_rb,5.535420e-01_rb,& & 5.527781e-01_rb,5.519374e-01_rb,5.509989e-01_rb,5.499417e-01_rb,5.487445e-01_rb,& & 5.473865e-01_rb,5.458466e-01_rb,5.4410e-01_rb /) ! asymmetry parameter asyliq1(:, 16) = (/ & & 8.133297e-01_rb,8.133528e-01_rb,8.173865e-01_rb,8.243205e-01_rb,8.333063e-01_rb,& & 8.436317e-01_rb,8.546611e-01_rb,8.657934e-01_rb,8.764345e-01_rb,8.859837e-01_rb,& & 8.627394e-01_rb,8.824569e-01_rb,8.976887e-01_rb,9.089541e-01_rb,9.167699e-01_rb,& & 9.216517e-01_rb,9.241147e-01_rb,9.246743e-01_rb,9.238469e-01_rb,9.221504e-01_rb,& & 9.201045e-01_rb,9.182299e-01_rb,9.170491e-01_rb,9.170862e-01_rb,9.188653e-01_rb,& & 9.229111e-01_rb,9.297468e-01_rb,9.398950e-01_rb,9.203269e-01_rb,9.260693e-01_rb,& & 9.309373e-01_rb,9.349918e-01_rb,9.382935e-01_rb,9.409030e-01_rb,9.428809e-01_rb,& & 9.442881e-01_rb,9.451851e-01_rb,9.456331e-01_rb,9.456926e-01_rb,9.454247e-01_rb,& & 9.448902e-01_rb,9.441503e-01_rb,9.432661e-01_rb,9.422987e-01_rb,9.413094e-01_rb,& & 9.403594e-01_rb,9.395102e-01_rb,9.388230e-01_rb,9.383594e-01_rb,9.381810e-01_rb,& & 9.383489e-01_rb,9.389251e-01_rb,9.399707e-01_rb,9.415475e-01_rb,9.437167e-01_rb,& & 9.465399e-01_rb,9.500786e-01_rb,9.5439e-01_rb /) asyliq1(:, 17) = (/ & & 8.794448e-01_rb,8.819306e-01_rb,8.837667e-01_rb,8.853832e-01_rb,8.871010e-01_rb,& & 8.892675e-01_rb,8.922584e-01_rb,8.964666e-01_rb,9.022940e-01_rb,9.101456e-01_rb,& & 8.839999e-01_rb,9.035610e-01_rb,9.184568e-01_rb,9.292315e-01_rb,9.364282e-01_rb,& & 9.405887e-01_rb,9.422554e-01_rb,9.419703e-01_rb,9.402759e-01_rb,9.377159e-01_rb,& & 9.348345e-01_rb,9.321769e-01_rb,9.302888e-01_rb,9.297166e-01_rb,9.310075e-01_rb,& & 9.347080e-01_rb,9.413643e-01_rb,9.515216e-01_rb,9.306286e-01_rb,9.361781e-01_rb,& & 9.408374e-01_rb,9.446692e-01_rb,9.477363e-01_rb,9.501013e-01_rb,9.518268e-01_rb,& & 9.529756e-01_rb,9.536105e-01_rb,9.537938e-01_rb,9.535886e-01_rb,9.530574e-01_rb,& & 9.522633e-01_rb,9.512688e-01_rb,9.501370e-01_rb,9.489306e-01_rb,9.477126e-01_rb,& & 9.465459e-01_rb,9.454934e-01_rb,9.446183e-01_rb,9.439833e-01_rb,9.436519e-01_rb,& & 9.436866e-01_rb,9.441508e-01_rb,9.451073e-01_rb,9.466195e-01_rb,9.487501e-01_rb,& & 9.515621e-01_rb,9.551185e-01_rb,9.5948e-01_rb /) asyliq1(:, 18) = (/ & & 8.478817e-01_rb,8.269312e-01_rb,8.161352e-01_rb,8.135960e-01_rb,8.173586e-01_rb,& & 8.254167e-01_rb,8.357072e-01_rb,8.461167e-01_rb,8.544952e-01_rb,8.586776e-01_rb,& & 8.335562e-01_rb,8.524273e-01_rb,8.669052e-01_rb,8.775014e-01_rb,8.847277e-01_rb,& & 8.890958e-01_rb,8.911173e-01_rb,8.913038e-01_rb,8.901669e-01_rb,8.882182e-01_rb,& & 8.859692e-01_rb,8.839315e-01_rb,8.826164e-01_rb,8.825356e-01_rb,8.842004e-01_rb,& & 8.881223e-01_rb,8.948131e-01_rb,9.047837e-01_rb,8.855951e-01_rb,8.911796e-01_rb,& & 8.959229e-01_rb,8.998837e-01_rb,9.031209e-01_rb,9.056939e-01_rb,9.076609e-01_rb,& & 9.090812e-01_rb,9.100134e-01_rb,9.105167e-01_rb,9.106496e-01_rb,9.104712e-01_rb,& & 9.100404e-01_rb,9.094159e-01_rb,9.086568e-01_rb,9.078218e-01_rb,9.069697e-01_rb,& & 9.061595e-01_rb,9.054499e-01_rb,9.048999e-01_rb,9.045683e-01_rb,9.045142e-01_rb,& & 9.047962e-01_rb,9.054730e-01_rb,9.066037e-01_rb,9.082472e-01_rb,9.104623e-01_rb,& & 9.133079e-01_rb,9.168427e-01_rb,9.2113e-01_rb /) asyliq1(:, 19) = (/ & & 8.216697e-01_rb,7.982871e-01_rb,7.891147e-01_rb,7.909083e-01_rb,8.003833e-01_rb,& & 8.142516e-01_rb,8.292290e-01_rb,8.420356e-01_rb,8.493945e-01_rb,8.480316e-01_rb,& & 8.212381e-01_rb,8.394984e-01_rb,8.534095e-01_rb,8.634813e-01_rb,8.702242e-01_rb,& & 8.741483e-01_rb,8.757638e-01_rb,8.755808e-01_rb,8.741095e-01_rb,8.718604e-01_rb,& & 8.693433e-01_rb,8.670686e-01_rb,8.655464e-01_rb,8.652872e-01_rb,8.668006e-01_rb,& & 8.705973e-01_rb,8.771874e-01_rb,8.870809e-01_rb,8.678284e-01_rb,8.732315e-01_rb,& & 8.778084e-01_rb,8.816166e-01_rb,8.847146e-01_rb,8.871603e-01_rb,8.890116e-01_rb,& & 8.903266e-01_rb,8.911632e-01_rb,8.915796e-01_rb,8.916337e-01_rb,8.913834e-01_rb,& & 8.908869e-01_rb,8.902022e-01_rb,8.893873e-01_rb,8.885001e-01_rb,8.875986e-01_rb,& & 8.867411e-01_rb,8.859852e-01_rb,8.853891e-01_rb,8.850111e-01_rb,8.849089e-01_rb,& & 8.851405e-01_rb,8.857639e-01_rb,8.868372e-01_rb,8.884185e-01_rb,8.905656e-01_rb,& & 8.933368e-01_rb,8.967899e-01_rb,9.0098e-01_rb /) asyliq1(:, 20) = (/ & & 8.063610e-01_rb,7.938147e-01_rb,7.921304e-01_rb,7.985092e-01_rb,8.101339e-01_rb,& & 8.242175e-01_rb,8.379913e-01_rb,8.486920e-01_rb,8.535547e-01_rb,8.498083e-01_rb,& & 8.224849e-01_rb,8.405509e-01_rb,8.542436e-01_rb,8.640770e-01_rb,8.705653e-01_rb,& & 8.742227e-01_rb,8.755630e-01_rb,8.751004e-01_rb,8.733491e-01_rb,8.708231e-01_rb,& & 8.680365e-01_rb,8.655035e-01_rb,8.637381e-01_rb,8.632544e-01_rb,8.645665e-01_rb,& & 8.681885e-01_rb,8.746346e-01_rb,8.844188e-01_rb,8.648180e-01_rb,8.700563e-01_rb,& & 8.744672e-01_rb,8.781087e-01_rb,8.810393e-01_rb,8.833174e-01_rb,8.850011e-01_rb,& & 8.861485e-01_rb,8.868183e-01_rb,8.870687e-01_rb,8.869579e-01_rb,8.865441e-01_rb,& & 8.858857e-01_rb,8.850412e-01_rb,8.840686e-01_rb,8.830263e-01_rb,8.819726e-01_rb,& & 8.809658e-01_rb,8.800642e-01_rb,8.793260e-01_rb,8.788099e-01_rb,8.785737e-01_rb,& & 8.786758e-01_rb,8.791746e-01_rb,8.801283e-01_rb,8.815955e-01_rb,8.836340e-01_rb,& & 8.863024e-01_rb,8.896592e-01_rb,8.9376e-01_rb /) asyliq1(:, 21) = (/ & & 7.885899e-01_rb,7.937172e-01_rb,8.020658e-01_rb,8.123971e-01_rb,8.235502e-01_rb,& & 8.343776e-01_rb,8.437336e-01_rb,8.504711e-01_rb,8.534421e-01_rb,8.514978e-01_rb,& & 8.238888e-01_rb,8.417463e-01_rb,8.552057e-01_rb,8.647853e-01_rb,8.710038e-01_rb,& & 8.743798e-01_rb,8.754319e-01_rb,8.746786e-01_rb,8.726386e-01_rb,8.698303e-01_rb,& & 8.667724e-01_rb,8.639836e-01_rb,8.619823e-01_rb,8.612870e-01_rb,8.624165e-01_rb,& & 8.658893e-01_rb,8.722241e-01_rb,8.819394e-01_rb,8.620216e-01_rb,8.671239e-01_rb,& & 8.713983e-01_rb,8.749032e-01_rb,8.776970e-01_rb,8.798385e-01_rb,8.813860e-01_rb,& & 8.823980e-01_rb,8.829332e-01_rb,8.830500e-01_rb,8.828068e-01_rb,8.822623e-01_rb,& & 8.814750e-01_rb,8.805031e-01_rb,8.794056e-01_rb,8.782407e-01_rb,8.770672e-01_rb,& & 8.759432e-01_rb,8.749275e-01_rb,8.740784e-01_rb,8.734547e-01_rb,8.731146e-01_rb,& & 8.731170e-01_rb,8.735199e-01_rb,8.743823e-01_rb,8.757625e-01_rb,8.777191e-01_rb,& & 8.803105e-01_rb,8.835953e-01_rb,8.8763e-01_rb /) asyliq1(:, 22) = (/ & & 7.811516e-01_rb,7.962229e-01_rb,8.096199e-01_rb,8.212996e-01_rb,8.312212e-01_rb,& & 8.393430e-01_rb,8.456236e-01_rb,8.500214e-01_rb,8.524950e-01_rb,8.530031e-01_rb,& & 8.251485e-01_rb,8.429043e-01_rb,8.562461e-01_rb,8.656954e-01_rb,8.717737e-01_rb,& & 8.750020e-01_rb,8.759022e-01_rb,8.749953e-01_rb,8.728027e-01_rb,8.698461e-01_rb,& & 8.666466e-01_rb,8.637257e-01_rb,8.616047e-01_rb,8.608051e-01_rb,8.618483e-01_rb,& & 8.652557e-01_rb,8.715487e-01_rb,8.812485e-01_rb,8.611645e-01_rb,8.662052e-01_rb,& & 8.704173e-01_rb,8.738594e-01_rb,8.765901e-01_rb,8.786678e-01_rb,8.801517e-01_rb,& & 8.810999e-01_rb,8.815713e-01_rb,8.816246e-01_rb,8.813185e-01_rb,8.807114e-01_rb,& & 8.798621e-01_rb,8.788290e-01_rb,8.776713e-01_rb,8.764470e-01_rb,8.752152e-01_rb,& & 8.740343e-01_rb,8.729631e-01_rb,8.720602e-01_rb,8.713842e-01_rb,8.709936e-01_rb,& & 8.709475e-01_rb,8.713041e-01_rb,8.721221e-01_rb,8.734602e-01_rb,8.753774e-01_rb,& & 8.779319e-01_rb,8.811825e-01_rb,8.8519e-01_rb /) asyliq1(:, 23) = (/ & & 7.865744e-01_rb,8.093340e-01_rb,8.257596e-01_rb,8.369940e-01_rb,8.441574e-01_rb,& & 8.483602e-01_rb,8.507096e-01_rb,8.523139e-01_rb,8.542834e-01_rb,8.577321e-01_rb,& & 8.288960e-01_rb,8.465308e-01_rb,8.597175e-01_rb,8.689830e-01_rb,8.748542e-01_rb,& & 8.778584e-01_rb,8.785222e-01_rb,8.773728e-01_rb,8.749370e-01_rb,8.717419e-01_rb,& & 8.683145e-01_rb,8.651816e-01_rb,8.628704e-01_rb,8.619077e-01_rb,8.628205e-01_rb,& & 8.661356e-01_rb,8.723803e-01_rb,8.820815e-01_rb,8.616715e-01_rb,8.666389e-01_rb,& & 8.707753e-01_rb,8.741398e-01_rb,8.767912e-01_rb,8.787885e-01_rb,8.801908e-01_rb,& & 8.810570e-01_rb,8.814460e-01_rb,8.814167e-01_rb,8.810283e-01_rb,8.803395e-01_rb,& & 8.794095e-01_rb,8.782971e-01_rb,8.770613e-01_rb,8.757610e-01_rb,8.744553e-01_rb,& & 8.732031e-01_rb,8.720634e-01_rb,8.710951e-01_rb,8.703572e-01_rb,8.699086e-01_rb,& & 8.698084e-01_rb,8.701155e-01_rb,8.708887e-01_rb,8.721872e-01_rb,8.740698e-01_rb,& & 8.765957e-01_rb,8.798235e-01_rb,8.8381e-01_rb /) asyliq1(:, 24) = (/ & & 8.069513e-01_rb,8.262939e-01_rb,8.398241e-01_rb,8.486352e-01_rb,8.538213e-01_rb,& & 8.564743e-01_rb,8.576854e-01_rb,8.585455e-01_rb,8.601452e-01_rb,8.635755e-01_rb,& & 8.337383e-01_rb,8.512655e-01_rb,8.643049e-01_rb,8.733896e-01_rb,8.790535e-01_rb,& & 8.818295e-01_rb,8.822518e-01_rb,8.808533e-01_rb,8.781676e-01_rb,8.747284e-01_rb,& & 8.710690e-01_rb,8.677229e-01_rb,8.652236e-01_rb,8.641047e-01_rb,8.648993e-01_rb,& & 8.681413e-01_rb,8.743640e-01_rb,8.841007e-01_rb,8.633558e-01_rb,8.682719e-01_rb,& & 8.723543e-01_rb,8.756621e-01_rb,8.782547e-01_rb,8.801915e-01_rb,8.815318e-01_rb,& & 8.823347e-01_rb,8.826598e-01_rb,8.825663e-01_rb,8.821135e-01_rb,8.813608e-01_rb,& & 8.803674e-01_rb,8.791928e-01_rb,8.778960e-01_rb,8.765366e-01_rb,8.751738e-01_rb,& & 8.738670e-01_rb,8.726755e-01_rb,8.716585e-01_rb,8.708755e-01_rb,8.703856e-01_rb,& & 8.702483e-01_rb,8.705229e-01_rb,8.712687e-01_rb,8.725448e-01_rb,8.744109e-01_rb,& & 8.769260e-01_rb,8.801496e-01_rb,8.8414e-01_rb /) asyliq1(:, 25) = (/ & & 8.252182e-01_rb,8.379244e-01_rb,8.471709e-01_rb,8.535760e-01_rb,8.577540e-01_rb,& & 8.603183e-01_rb,8.618820e-01_rb,8.630578e-01_rb,8.644587e-01_rb,8.666970e-01_rb,& & 8.362159e-01_rb,8.536817e-01_rb,8.666387e-01_rb,8.756240e-01_rb,8.811746e-01_rb,& & 8.838273e-01_rb,8.841191e-01_rb,8.825871e-01_rb,8.797681e-01_rb,8.761992e-01_rb,& & 8.724174e-01_rb,8.689593e-01_rb,8.663623e-01_rb,8.651632e-01_rb,8.658988e-01_rb,& & 8.691064e-01_rb,8.753226e-01_rb,8.850847e-01_rb,8.641620e-01_rb,8.690500e-01_rb,& & 8.731026e-01_rb,8.763795e-01_rb,8.789400e-01_rb,8.808438e-01_rb,8.821503e-01_rb,& & 8.829191e-01_rb,8.832095e-01_rb,8.830813e-01_rb,8.825938e-01_rb,8.818064e-01_rb,& & 8.807787e-01_rb,8.795704e-01_rb,8.782408e-01_rb,8.768493e-01_rb,8.754557e-01_rb,& & 8.741193e-01_rb,8.728995e-01_rb,8.718561e-01_rb,8.710484e-01_rb,8.705360e-01_rb,& & 8.703782e-01_rb,8.706347e-01_rb,8.713650e-01_rb,8.726285e-01_rb,8.744849e-01_rb,& & 8.769933e-01_rb,8.802136e-01_rb,8.8421e-01_rb /) asyliq1(:, 26) = (/ & & 8.370583e-01_rb,8.467920e-01_rb,8.537769e-01_rb,8.585136e-01_rb,8.615034e-01_rb,& & 8.632474e-01_rb,8.642468e-01_rb,8.650026e-01_rb,8.660161e-01_rb,8.677882e-01_rb,& & 8.369760e-01_rb,8.543821e-01_rb,8.672699e-01_rb,8.761782e-01_rb,8.816454e-01_rb,& & 8.842103e-01_rb,8.844114e-01_rb,8.827872e-01_rb,8.798766e-01_rb,8.762179e-01_rb,& & 8.723500e-01_rb,8.688112e-01_rb,8.661403e-01_rb,8.648758e-01_rb,8.655563e-01_rb,& & 8.687206e-01_rb,8.749072e-01_rb,8.846546e-01_rb,8.636289e-01_rb,8.684849e-01_rb,& & 8.725054e-01_rb,8.757501e-01_rb,8.782785e-01_rb,8.801503e-01_rb,8.814249e-01_rb,& & 8.821620e-01_rb,8.824211e-01_rb,8.822620e-01_rb,8.817440e-01_rb,8.809268e-01_rb,& & 8.798699e-01_rb,8.786330e-01_rb,8.772756e-01_rb,8.758572e-01_rb,8.744374e-01_rb,& & 8.730760e-01_rb,8.718323e-01_rb,8.707660e-01_rb,8.699366e-01_rb,8.694039e-01_rb,& & 8.692271e-01_rb,8.694661e-01_rb,8.701803e-01_rb,8.714293e-01_rb,8.732727e-01_rb,& & 8.757702e-01_rb,8.789811e-01_rb,8.8297e-01_rb /) asyliq1(:, 27) = (/ & & 8.430819e-01_rb,8.510060e-01_rb,8.567270e-01_rb,8.606533e-01_rb,8.631934e-01_rb,& & 8.647554e-01_rb,8.657471e-01_rb,8.665760e-01_rb,8.676496e-01_rb,8.693754e-01_rb,& & 8.384298e-01_rb,8.557913e-01_rb,8.686214e-01_rb,8.774605e-01_rb,8.828495e-01_rb,& & 8.853287e-01_rb,8.854393e-01_rb,8.837215e-01_rb,8.807161e-01_rb,8.769639e-01_rb,& & 8.730053e-01_rb,8.693812e-01_rb,8.666321e-01_rb,8.652988e-01_rb,8.659219e-01_rb,& & 8.690419e-01_rb,8.751999e-01_rb,8.849360e-01_rb,8.638013e-01_rb,8.686371e-01_rb,& & 8.726369e-01_rb,8.758605e-01_rb,8.783674e-01_rb,8.802176e-01_rb,8.814705e-01_rb,& & 8.821859e-01_rb,8.824234e-01_rb,8.822429e-01_rb,8.817038e-01_rb,8.808658e-01_rb,& & 8.797887e-01_rb,8.785323e-01_rb,8.771560e-01_rb,8.757196e-01_rb,8.742828e-01_rb,& & 8.729052e-01_rb,8.716467e-01_rb,8.705666e-01_rb,8.697250e-01_rb,8.691812e-01_rb,& & 8.689950e-01_rb,8.692264e-01_rb,8.699346e-01_rb,8.711795e-01_rb,8.730209e-01_rb,& & 8.755181e-01_rb,8.787312e-01_rb,8.8272e-01_rb /) asyliq1(:, 28) = (/ & & 8.452284e-01_rb,8.522700e-01_rb,8.572973e-01_rb,8.607031e-01_rb,8.628802e-01_rb,& & 8.642215e-01_rb,8.651198e-01_rb,8.659679e-01_rb,8.671588e-01_rb,8.690853e-01_rb,& & 8.383803e-01_rb,8.557485e-01_rb,8.685851e-01_rb,8.774303e-01_rb,8.828245e-01_rb,& & 8.853077e-01_rb,8.854207e-01_rb,8.837034e-01_rb,8.806962e-01_rb,8.769398e-01_rb,& & 8.729740e-01_rb,8.693393e-01_rb,8.665761e-01_rb,8.652247e-01_rb,8.658253e-01_rb,& & 8.689182e-01_rb,8.750438e-01_rb,8.847424e-01_rb,8.636140e-01_rb,8.684449e-01_rb,& & 8.724400e-01_rb,8.756589e-01_rb,8.781613e-01_rb,8.800072e-01_rb,8.812559e-01_rb,& & 8.819671e-01_rb,8.822007e-01_rb,8.820165e-01_rb,8.814737e-01_rb,8.806322e-01_rb,& & 8.795518e-01_rb,8.782923e-01_rb,8.769129e-01_rb,8.754737e-01_rb,8.740342e-01_rb,& & 8.726542e-01_rb,8.713934e-01_rb,8.703111e-01_rb,8.694677e-01_rb,8.689222e-01_rb,& & 8.687344e-01_rb,8.689646e-01_rb,8.696715e-01_rb,8.709156e-01_rb,8.727563e-01_rb,& & 8.752531e-01_rb,8.784659e-01_rb,8.8245e-01_rb /) asyliq1(:, 29) = (/ & & 7.800869e-01_rb,8.091120e-01_rb,8.325369e-01_rb,8.466266e-01_rb,8.515495e-01_rb,& & 8.499371e-01_rb,8.456203e-01_rb,8.430521e-01_rb,8.470286e-01_rb,8.625431e-01_rb,& & 8.402261e-01_rb,8.610822e-01_rb,8.776608e-01_rb,8.904485e-01_rb,8.999294e-01_rb,& & 9.065860e-01_rb,9.108995e-01_rb,9.133503e-01_rb,9.144187e-01_rb,9.145855e-01_rb,& & 9.143320e-01_rb,9.141402e-01_rb,9.144933e-01_rb,9.158754e-01_rb,9.187716e-01_rb,& & 9.236677e-01_rb,9.310503e-01_rb,9.414058e-01_rb,9.239108e-01_rb,9.300719e-01_rb,& & 9.353612e-01_rb,9.398378e-01_rb,9.435609e-01_rb,9.465895e-01_rb,9.489829e-01_rb,& & 9.508000e-01_rb,9.521002e-01_rb,9.529424e-01_rb,9.533860e-01_rb,9.534902e-01_rb,& & 9.533143e-01_rb,9.529177e-01_rb,9.523596e-01_rb,9.516997e-01_rb,9.509973e-01_rb,& & 9.503121e-01_rb,9.497037e-01_rb,9.492317e-01_rb,9.489558e-01_rb,9.489356e-01_rb,& & 9.492311e-01_rb,9.499019e-01_rb,9.510077e-01_rb,9.526084e-01_rb,9.547636e-01_rb,& & 9.575331e-01_rb,9.609766e-01_rb,9.6515e-01_rb /) ! Spherical Ice Particle Parameterization ! extinction units (ext coef/iwc): [(m^-1)/(g m^-3)] extice2(:, 16) = (/ & ! band 16 & 4.101824e-01_rb,2.435514e-01_rb,1.713697e-01_rb,1.314865e-01_rb,1.063406e-01_rb,& & 8.910701e-02_rb,7.659480e-02_rb,6.711784e-02_rb,5.970353e-02_rb,5.375249e-02_rb,& & 4.887577e-02_rb,4.481025e-02_rb,4.137171e-02_rb,3.842744e-02_rb,3.587948e-02_rb,& & 3.365396e-02_rb,3.169419e-02_rb,2.995593e-02_rb,2.840419e-02_rb,2.701091e-02_rb,& & 2.575336e-02_rb,2.461293e-02_rb,2.357423e-02_rb,2.262443e-02_rb,2.175276e-02_rb,& & 2.095012e-02_rb,2.020875e-02_rb,1.952199e-02_rb,1.888412e-02_rb,1.829018e-02_rb,& & 1.773586e-02_rb,1.721738e-02_rb,1.673144e-02_rb,1.627510e-02_rb,1.584579e-02_rb,& & 1.544122e-02_rb,1.505934e-02_rb,1.469833e-02_rb,1.435654e-02_rb,1.403251e-02_rb,& & 1.372492e-02_rb,1.343255e-02_rb,1.315433e-02_rb /) extice2(:, 17) = (/ & ! band 17 & 3.836650e-01_rb,2.304055e-01_rb,1.637265e-01_rb,1.266681e-01_rb,1.031602e-01_rb,& & 8.695191e-02_rb,7.511544e-02_rb,6.610009e-02_rb,5.900909e-02_rb,5.328833e-02_rb,& & 4.857728e-02_rb,4.463133e-02_rb,4.127880e-02_rb,3.839567e-02_rb,3.589013e-02_rb,& & 3.369280e-02_rb,3.175027e-02_rb,3.002079e-02_rb,2.847121e-02_rb,2.707493e-02_rb,& & 2.581031e-02_rb,2.465962e-02_rb,2.360815e-02_rb,2.264363e-02_rb,2.175571e-02_rb,& & 2.093563e-02_rb,2.017592e-02_rb,1.947015e-02_rb,1.881278e-02_rb,1.819901e-02_rb,& & 1.762463e-02_rb,1.708598e-02_rb,1.657982e-02_rb,1.610330e-02_rb,1.565390e-02_rb,& & 1.522937e-02_rb,1.482768e-02_rb,1.444706e-02_rb,1.408588e-02_rb,1.374270e-02_rb,& & 1.341619e-02_rb,1.310517e-02_rb,1.280857e-02_rb /) extice2(:, 18) = (/ & ! band 18 & 4.152673e-01_rb,2.436816e-01_rb,1.702243e-01_rb,1.299704e-01_rb,1.047528e-01_rb,& & 8.756039e-02_rb,7.513327e-02_rb,6.575690e-02_rb,5.844616e-02_rb,5.259609e-02_rb,& & 4.781531e-02_rb,4.383980e-02_rb,4.048517e-02_rb,3.761891e-02_rb,3.514342e-02_rb,& & 3.298525e-02_rb,3.108814e-02_rb,2.940825e-02_rb,2.791096e-02_rb,2.656858e-02_rb,& & 2.535869e-02_rb,2.426297e-02_rb,2.326627e-02_rb,2.235602e-02_rb,2.152164e-02_rb,& & 2.075420e-02_rb,2.004613e-02_rb,1.939091e-02_rb,1.878296e-02_rb,1.821744e-02_rb,& & 1.769015e-02_rb,1.719741e-02_rb,1.673600e-02_rb,1.630308e-02_rb,1.589615e-02_rb,& & 1.551298e-02_rb,1.515159e-02_rb,1.481021e-02_rb,1.448726e-02_rb,1.418131e-02_rb,& & 1.389109e-02_rb,1.361544e-02_rb,1.335330e-02_rb /) extice2(:, 19) = (/ & ! band 19 & 3.873250e-01_rb,2.331609e-01_rb,1.655002e-01_rb,1.277753e-01_rb,1.038247e-01_rb,& & 8.731780e-02_rb,7.527638e-02_rb,6.611873e-02_rb,5.892850e-02_rb,5.313885e-02_rb,& & 4.838068e-02_rb,4.440356e-02_rb,4.103167e-02_rb,3.813804e-02_rb,3.562870e-02_rb,& & 3.343269e-02_rb,3.149539e-02_rb,2.977414e-02_rb,2.823510e-02_rb,2.685112e-02_rb,& & 2.560015e-02_rb,2.446411e-02_rb,2.342805e-02_rb,2.247948e-02_rb,2.160789e-02_rb,& & 2.080438e-02_rb,2.006139e-02_rb,1.937238e-02_rb,1.873177e-02_rb,1.813469e-02_rb,& & 1.757689e-02_rb,1.705468e-02_rb,1.656479e-02_rb,1.610435e-02_rb,1.567081e-02_rb,& & 1.526192e-02_rb,1.487565e-02_rb,1.451020e-02_rb,1.416396e-02_rb,1.383546e-02_rb,& & 1.352339e-02_rb,1.322657e-02_rb,1.294392e-02_rb /) extice2(:, 20) = (/ & ! band 20 & 3.784280e-01_rb,2.291396e-01_rb,1.632551e-01_rb,1.263775e-01_rb,1.028944e-01_rb,& & 8.666975e-02_rb,7.480952e-02_rb,6.577335e-02_rb,5.866714e-02_rb,5.293694e-02_rb,& & 4.822153e-02_rb,4.427547e-02_rb,4.092626e-02_rb,3.804918e-02_rb,3.555184e-02_rb,& & 3.336440e-02_rb,3.143307e-02_rb,2.971577e-02_rb,2.817912e-02_rb,2.679632e-02_rb,& & 2.554558e-02_rb,2.440903e-02_rb,2.337187e-02_rb,2.242173e-02_rb,2.154821e-02_rb,& & 2.074249e-02_rb,1.999706e-02_rb,1.930546e-02_rb,1.866212e-02_rb,1.806221e-02_rb,& & 1.750152e-02_rb,1.697637e-02_rb,1.648352e-02_rb,1.602010e-02_rb,1.558358e-02_rb,& & 1.517172e-02_rb,1.478250e-02_rb,1.441413e-02_rb,1.406498e-02_rb,1.373362e-02_rb,& & 1.341872e-02_rb,1.311911e-02_rb,1.283371e-02_rb /) extice2(:, 21) = (/ & ! band 21 & 3.719909e-01_rb,2.259490e-01_rb,1.613144e-01_rb,1.250648e-01_rb,1.019462e-01_rb,& & 8.595358e-02_rb,7.425064e-02_rb,6.532618e-02_rb,5.830218e-02_rb,5.263421e-02_rb,& & 4.796697e-02_rb,4.405891e-02_rb,4.074013e-02_rb,3.788776e-02_rb,3.541071e-02_rb,& & 3.324008e-02_rb,3.132280e-02_rb,2.961733e-02_rb,2.809071e-02_rb,2.671645e-02_rb,& & 2.547302e-02_rb,2.434276e-02_rb,2.331102e-02_rb,2.236558e-02_rb,2.149614e-02_rb,& & 2.069397e-02_rb,1.995163e-02_rb,1.926272e-02_rb,1.862174e-02_rb,1.802389e-02_rb,& & 1.746500e-02_rb,1.694142e-02_rb,1.644994e-02_rb,1.598772e-02_rb,1.555225e-02_rb,& & 1.514129e-02_rb,1.475286e-02_rb,1.438515e-02_rb,1.403659e-02_rb,1.370572e-02_rb,& & 1.339124e-02_rb,1.309197e-02_rb,1.280685e-02_rb /) extice2(:, 22) = (/ & ! band 22 & 3.713158e-01_rb,2.253816e-01_rb,1.608461e-01_rb,1.246718e-01_rb,1.016109e-01_rb,& & 8.566332e-02_rb,7.399666e-02_rb,6.510199e-02_rb,5.810290e-02_rb,5.245608e-02_rb,& & 4.780702e-02_rb,4.391478e-02_rb,4.060989e-02_rb,3.776982e-02_rb,3.530374e-02_rb,& & 3.314296e-02_rb,3.123458e-02_rb,2.953719e-02_rb,2.801794e-02_rb,2.665043e-02_rb,& & 2.541321e-02_rb,2.428868e-02_rb,2.326224e-02_rb,2.232173e-02_rb,2.145688e-02_rb,& & 2.065899e-02_rb,1.992067e-02_rb,1.923552e-02_rb,1.859808e-02_rb,1.800356e-02_rb,& & 1.744782e-02_rb,1.692721e-02_rb,1.643855e-02_rb,1.597900e-02_rb,1.554606e-02_rb,& & 1.513751e-02_rb,1.475137e-02_rb,1.438586e-02_rb,1.403938e-02_rb,1.371050e-02_rb,& & 1.339793e-02_rb,1.310050e-02_rb,1.281713e-02_rb /) extice2(:, 23) = (/ & ! band 23 & 3.605883e-01_rb,2.204388e-01_rb,1.580431e-01_rb,1.229033e-01_rb,1.004203e-01_rb,& & 8.482616e-02_rb,7.338941e-02_rb,6.465105e-02_rb,5.776176e-02_rb,5.219398e-02_rb,& & 4.760288e-02_rb,4.375369e-02_rb,4.048111e-02_rb,3.766539e-02_rb,3.521771e-02_rb,& & 3.307079e-02_rb,3.117277e-02_rb,2.948303e-02_rb,2.796929e-02_rb,2.660560e-02_rb,& & 2.537086e-02_rb,2.424772e-02_rb,2.322182e-02_rb,2.228114e-02_rb,2.141556e-02_rb,& & 2.061649e-02_rb,1.987661e-02_rb,1.918962e-02_rb,1.855009e-02_rb,1.795330e-02_rb,& & 1.739514e-02_rb,1.687199e-02_rb,1.638069e-02_rb,1.591845e-02_rb,1.548276e-02_rb,& & 1.507143e-02_rb,1.468249e-02_rb,1.431416e-02_rb,1.396486e-02_rb,1.363318e-02_rb,& & 1.331781e-02_rb,1.301759e-02_rb,1.273147e-02_rb /) extice2(:, 24) = (/ & ! band 24 & 3.527890e-01_rb,2.168469e-01_rb,1.560090e-01_rb,1.216216e-01_rb,9.955787e-02_rb,& & 8.421942e-02_rb,7.294827e-02_rb,6.432192e-02_rb,5.751081e-02_rb,5.199888e-02_rb,& & 4.744835e-02_rb,4.362899e-02_rb,4.037847e-02_rb,3.757910e-02_rb,3.514351e-02_rb,& & 3.300546e-02_rb,3.111382e-02_rb,2.942853e-02_rb,2.791775e-02_rb,2.655584e-02_rb,& & 2.532195e-02_rb,2.419892e-02_rb,2.317255e-02_rb,2.223092e-02_rb,2.136402e-02_rb,& & 2.056334e-02_rb,1.982160e-02_rb,1.913258e-02_rb,1.849087e-02_rb,1.789178e-02_rb,& & 1.733124e-02_rb,1.680565e-02_rb,1.631187e-02_rb,1.584711e-02_rb,1.540889e-02_rb,& & 1.499502e-02_rb,1.460354e-02_rb,1.423269e-02_rb,1.388088e-02_rb,1.354670e-02_rb,& & 1.322887e-02_rb,1.292620e-02_rb,1.263767e-02_rb /) extice2(:, 25) = (/ & ! band 25 & 3.477874e-01_rb,2.143515e-01_rb,1.544887e-01_rb,1.205942e-01_rb,9.881779e-02_rb,& & 8.366261e-02_rb,7.251586e-02_rb,6.397790e-02_rb,5.723183e-02_rb,5.176908e-02_rb,& & 4.725658e-02_rb,4.346715e-02_rb,4.024055e-02_rb,3.746055e-02_rb,3.504080e-02_rb,& & 3.291583e-02_rb,3.103507e-02_rb,2.935891e-02_rb,2.785582e-02_rb,2.650042e-02_rb,& & 2.527206e-02_rb,2.415376e-02_rb,2.313142e-02_rb,2.219326e-02_rb,2.132934e-02_rb,& & 2.053122e-02_rb,1.979169e-02_rb,1.910456e-02_rb,1.846448e-02_rb,1.786680e-02_rb,& & 1.730745e-02_rb,1.678289e-02_rb,1.628998e-02_rb,1.582595e-02_rb,1.538835e-02_rb,& & 1.497499e-02_rb,1.458393e-02_rb,1.421341e-02_rb,1.386187e-02_rb,1.352788e-02_rb,& & 1.321019e-02_rb,1.290762e-02_rb,1.261913e-02_rb /) extice2(:, 26) = (/ & ! band 26 & 3.453721e-01_rb,2.130744e-01_rb,1.536698e-01_rb,1.200140e-01_rb,9.838078e-02_rb,& & 8.331940e-02_rb,7.223803e-02_rb,6.374775e-02_rb,5.703770e-02_rb,5.160290e-02_rb,& & 4.711259e-02_rb,4.334110e-02_rb,4.012923e-02_rb,3.736150e-02_rb,3.495208e-02_rb,& & 3.283589e-02_rb,3.096267e-02_rb,2.929302e-02_rb,2.779560e-02_rb,2.644517e-02_rb,& & 2.522119e-02_rb,2.410677e-02_rb,2.308788e-02_rb,2.215281e-02_rb,2.129165e-02_rb,& & 2.049602e-02_rb,1.975874e-02_rb,1.907365e-02_rb,1.843542e-02_rb,1.783943e-02_rb,& & 1.728162e-02_rb,1.675847e-02_rb,1.626685e-02_rb,1.580401e-02_rb,1.536750e-02_rb,& & 1.495515e-02_rb,1.456502e-02_rb,1.419537e-02_rb,1.384463e-02_rb,1.351139e-02_rb,& & 1.319438e-02_rb,1.289246e-02_rb,1.260456e-02_rb /) extice2(:, 27) = (/ & ! band 27 & 3.417883e-01_rb,2.113379e-01_rb,1.526395e-01_rb,1.193347e-01_rb,9.790253e-02_rb,& & 8.296715e-02_rb,7.196979e-02_rb,6.353806e-02_rb,5.687024e-02_rb,5.146670e-02_rb,& & 4.700001e-02_rb,4.324667e-02_rb,4.004894e-02_rb,3.729233e-02_rb,3.489172e-02_rb,& & 3.278257e-02_rb,3.091499e-02_rb,2.924987e-02_rb,2.775609e-02_rb,2.640859e-02_rb,& & 2.518695e-02_rb,2.407439e-02_rb,2.305697e-02_rb,2.212303e-02_rb,2.126273e-02_rb,& & 2.046774e-02_rb,1.973090e-02_rb,1.904610e-02_rb,1.840801e-02_rb,1.781204e-02_rb,& & 1.725417e-02_rb,1.673086e-02_rb,1.623902e-02_rb,1.577590e-02_rb,1.533906e-02_rb,& & 1.492634e-02_rb,1.453580e-02_rb,1.416571e-02_rb,1.381450e-02_rb,1.348078e-02_rb,& & 1.316327e-02_rb,1.286082e-02_rb,1.257240e-02_rb /) extice2(:, 28) = (/ & ! band 28 & 3.416111e-01_rb,2.114124e-01_rb,1.527734e-01_rb,1.194809e-01_rb,9.804612e-02_rb,& & 8.310287e-02_rb,7.209595e-02_rb,6.365442e-02_rb,5.697710e-02_rb,5.156460e-02_rb,& & 4.708957e-02_rb,4.332850e-02_rb,4.012361e-02_rb,3.736037e-02_rb,3.495364e-02_rb,& & 3.283879e-02_rb,3.096593e-02_rb,2.929589e-02_rb,2.779751e-02_rb,2.644571e-02_rb,& & 2.522004e-02_rb,2.410369e-02_rb,2.308271e-02_rb,2.214542e-02_rb,2.128195e-02_rb,& & 2.048396e-02_rb,1.974429e-02_rb,1.905679e-02_rb,1.841614e-02_rb,1.781774e-02_rb,& & 1.725754e-02_rb,1.673203e-02_rb,1.623807e-02_rb,1.577293e-02_rb,1.533416e-02_rb,& & 1.491958e-02_rb,1.452727e-02_rb,1.415547e-02_rb,1.380262e-02_rb,1.346732e-02_rb,& & 1.314830e-02_rb,1.284439e-02_rb,1.255456e-02_rb /) extice2(:, 29) = (/ & ! band 29 & 4.196611e-01_rb,2.493642e-01_rb,1.761261e-01_rb,1.357197e-01_rb,1.102161e-01_rb,& & 9.269376e-02_rb,7.992985e-02_rb,7.022538e-02_rb,6.260168e-02_rb,5.645603e-02_rb,& & 5.139732e-02_rb,4.716088e-02_rb,4.356133e-02_rb,4.046498e-02_rb,3.777303e-02_rb,& & 3.541094e-02_rb,3.332137e-02_rb,3.145954e-02_rb,2.978998e-02_rb,2.828419e-02_rb,& & 2.691905e-02_rb,2.567559e-02_rb,2.453811e-02_rb,2.349350e-02_rb,2.253072e-02_rb,& & 2.164042e-02_rb,2.081464e-02_rb,2.004652e-02_rb,1.933015e-02_rb,1.866041e-02_rb,& & 1.803283e-02_rb,1.744348e-02_rb,1.688894e-02_rb,1.636616e-02_rb,1.587244e-02_rb,& & 1.540539e-02_rb,1.496287e-02_rb,1.454295e-02_rb,1.414392e-02_rb,1.376423e-02_rb,& & 1.340247e-02_rb,1.305739e-02_rb,1.272784e-02_rb /) ! single-scattering albedo: unitless ssaice2(:, 16) = (/ & ! band 16 & 6.630615e-01_rb,6.451169e-01_rb,6.333696e-01_rb,6.246927e-01_rb,6.178420e-01_rb,& & 6.121976e-01_rb,6.074069e-01_rb,6.032505e-01_rb,5.995830e-01_rb,5.963030e-01_rb,& & 5.933372e-01_rb,5.906311e-01_rb,5.881427e-01_rb,5.858395e-01_rb,5.836955e-01_rb,& & 5.816896e-01_rb,5.798046e-01_rb,5.780264e-01_rb,5.763429e-01_rb,5.747441e-01_rb,& & 5.732213e-01_rb,5.717672e-01_rb,5.703754e-01_rb,5.690403e-01_rb,5.677571e-01_rb,& & 5.665215e-01_rb,5.653297e-01_rb,5.641782e-01_rb,5.630643e-01_rb,5.619850e-01_rb,& & 5.609381e-01_rb,5.599214e-01_rb,5.589328e-01_rb,5.579707e-01_rb,5.570333e-01_rb,& & 5.561193e-01_rb,5.552272e-01_rb,5.543558e-01_rb,5.535041e-01_rb,5.526708e-01_rb,& & 5.518551e-01_rb,5.510561e-01_rb,5.502729e-01_rb /) ssaice2(:, 17) = (/ & ! band 17 & 7.689749e-01_rb,7.398171e-01_rb,7.205819e-01_rb,7.065690e-01_rb,6.956928e-01_rb,& & 6.868989e-01_rb,6.795813e-01_rb,6.733606e-01_rb,6.679838e-01_rb,6.632742e-01_rb,& & 6.591036e-01_rb,6.553766e-01_rb,6.520197e-01_rb,6.489757e-01_rb,6.461991e-01_rb,& & 6.436531e-01_rb,6.413075e-01_rb,6.391375e-01_rb,6.371221e-01_rb,6.352438e-01_rb,& & 6.334876e-01_rb,6.318406e-01_rb,6.302918e-01_rb,6.288315e-01_rb,6.274512e-01_rb,& & 6.261436e-01_rb,6.249022e-01_rb,6.237211e-01_rb,6.225953e-01_rb,6.215201e-01_rb,& & 6.204914e-01_rb,6.195055e-01_rb,6.185592e-01_rb,6.176492e-01_rb,6.167730e-01_rb,& & 6.159280e-01_rb,6.151120e-01_rb,6.143228e-01_rb,6.135587e-01_rb,6.128177e-01_rb,& & 6.120984e-01_rb,6.113993e-01_rb,6.107189e-01_rb /) ssaice2(:, 18) = (/ & ! band 18 & 9.956167e-01_rb,9.814770e-01_rb,9.716104e-01_rb,9.639746e-01_rb,9.577179e-01_rb,& & 9.524010e-01_rb,9.477672e-01_rb,9.436527e-01_rb,9.399467e-01_rb,9.365708e-01_rb,& & 9.334672e-01_rb,9.305921e-01_rb,9.279118e-01_rb,9.253993e-01_rb,9.230330e-01_rb,& & 9.207954e-01_rb,9.186719e-01_rb,9.166501e-01_rb,9.147199e-01_rb,9.128722e-01_rb,& & 9.110997e-01_rb,9.093956e-01_rb,9.077544e-01_rb,9.061708e-01_rb,9.046406e-01_rb,& & 9.031598e-01_rb,9.017248e-01_rb,9.003326e-01_rb,8.989804e-01_rb,8.976655e-01_rb,& & 8.963857e-01_rb,8.951389e-01_rb,8.939233e-01_rb,8.927370e-01_rb,8.915785e-01_rb,& & 8.904464e-01_rb,8.893392e-01_rb,8.882559e-01_rb,8.871951e-01_rb,8.861559e-01_rb,& & 8.851373e-01_rb,8.841383e-01_rb,8.831581e-01_rb /) ssaice2(:, 19) = (/ & ! band 19 & 9.723177e-01_rb,9.452119e-01_rb,9.267592e-01_rb,9.127393e-01_rb,9.014238e-01_rb,& & 8.919334e-01_rb,8.837584e-01_rb,8.765773e-01_rb,8.701736e-01_rb,8.643950e-01_rb,& & 8.591299e-01_rb,8.542942e-01_rb,8.498230e-01_rb,8.456651e-01_rb,8.417794e-01_rb,& & 8.381324e-01_rb,8.346964e-01_rb,8.314484e-01_rb,8.283687e-01_rb,8.254408e-01_rb,& & 8.226505e-01_rb,8.199854e-01_rb,8.174348e-01_rb,8.149891e-01_rb,8.126403e-01_rb,& & 8.103808e-01_rb,8.082041e-01_rb,8.061044e-01_rb,8.040765e-01_rb,8.021156e-01_rb,& & 8.002174e-01_rb,7.983781e-01_rb,7.965941e-01_rb,7.948622e-01_rb,7.931795e-01_rb,& & 7.915432e-01_rb,7.899508e-01_rb,7.884002e-01_rb,7.868891e-01_rb,7.854156e-01_rb,& & 7.839779e-01_rb,7.825742e-01_rb,7.812031e-01_rb /) ssaice2(:, 20) = (/ & ! band 20 & 9.933294e-01_rb,9.860917e-01_rb,9.811564e-01_rb,9.774008e-01_rb,9.743652e-01_rb,& & 9.718155e-01_rb,9.696159e-01_rb,9.676810e-01_rb,9.659531e-01_rb,9.643915e-01_rb,& & 9.629667e-01_rb,9.616561e-01_rb,9.604426e-01_rb,9.593125e-01_rb,9.582548e-01_rb,& & 9.572607e-01_rb,9.563227e-01_rb,9.554347e-01_rb,9.545915e-01_rb,9.537888e-01_rb,& & 9.530226e-01_rb,9.522898e-01_rb,9.515874e-01_rb,9.509130e-01_rb,9.502643e-01_rb,& & 9.496394e-01_rb,9.490366e-01_rb,9.484542e-01_rb,9.478910e-01_rb,9.473456e-01_rb,& & 9.468169e-01_rb,9.463039e-01_rb,9.458056e-01_rb,9.453212e-01_rb,9.448499e-01_rb,& & 9.443910e-01_rb,9.439438e-01_rb,9.435077e-01_rb,9.430821e-01_rb,9.426666e-01_rb,& & 9.422607e-01_rb,9.418638e-01_rb,9.414756e-01_rb /) ssaice2(:, 21) = (/ & ! band 21 & 9.900787e-01_rb,9.828880e-01_rb,9.779258e-01_rb,9.741173e-01_rb,9.710184e-01_rb,& & 9.684012e-01_rb,9.661332e-01_rb,9.641301e-01_rb,9.623352e-01_rb,9.607083e-01_rb,& & 9.592198e-01_rb,9.578474e-01_rb,9.565739e-01_rb,9.553856e-01_rb,9.542715e-01_rb,& & 9.532226e-01_rb,9.522314e-01_rb,9.512919e-01_rb,9.503986e-01_rb,9.495472e-01_rb,& & 9.487337e-01_rb,9.479549e-01_rb,9.472077e-01_rb,9.464897e-01_rb,9.457985e-01_rb,& & 9.451322e-01_rb,9.444890e-01_rb,9.438673e-01_rb,9.432656e-01_rb,9.426826e-01_rb,& & 9.421173e-01_rb,9.415684e-01_rb,9.410351e-01_rb,9.405164e-01_rb,9.400115e-01_rb,& & 9.395198e-01_rb,9.390404e-01_rb,9.385728e-01_rb,9.381164e-01_rb,9.376707e-01_rb,& & 9.372350e-01_rb,9.368091e-01_rb,9.363923e-01_rb /) ssaice2(:, 22) = (/ & ! band 22 & 9.986793e-01_rb,9.985239e-01_rb,9.983911e-01_rb,9.982715e-01_rb,9.981606e-01_rb,& & 9.980562e-01_rb,9.979567e-01_rb,9.978613e-01_rb,9.977691e-01_rb,9.976798e-01_rb,& & 9.975929e-01_rb,9.975081e-01_rb,9.974251e-01_rb,9.973438e-01_rb,9.972640e-01_rb,& & 9.971855e-01_rb,9.971083e-01_rb,9.970322e-01_rb,9.969571e-01_rb,9.968830e-01_rb,& & 9.968099e-01_rb,9.967375e-01_rb,9.966660e-01_rb,9.965951e-01_rb,9.965250e-01_rb,& & 9.964555e-01_rb,9.963867e-01_rb,9.963185e-01_rb,9.962508e-01_rb,9.961836e-01_rb,& & 9.961170e-01_rb,9.960508e-01_rb,9.959851e-01_rb,9.959198e-01_rb,9.958550e-01_rb,& & 9.957906e-01_rb,9.957266e-01_rb,9.956629e-01_rb,9.955997e-01_rb,9.955367e-01_rb,& & 9.954742e-01_rb,9.954119e-01_rb,9.953500e-01_rb /) ssaice2(:, 23) = (/ & ! band 23 & 9.997944e-01_rb,9.997791e-01_rb,9.997664e-01_rb,9.997547e-01_rb,9.997436e-01_rb,& & 9.997327e-01_rb,9.997219e-01_rb,9.997110e-01_rb,9.996999e-01_rb,9.996886e-01_rb,& & 9.996771e-01_rb,9.996653e-01_rb,9.996533e-01_rb,9.996409e-01_rb,9.996282e-01_rb,& & 9.996152e-01_rb,9.996019e-01_rb,9.995883e-01_rb,9.995743e-01_rb,9.995599e-01_rb,& & 9.995453e-01_rb,9.995302e-01_rb,9.995149e-01_rb,9.994992e-01_rb,9.994831e-01_rb,& & 9.994667e-01_rb,9.994500e-01_rb,9.994329e-01_rb,9.994154e-01_rb,9.993976e-01_rb,& & 9.993795e-01_rb,9.993610e-01_rb,9.993422e-01_rb,9.993230e-01_rb,9.993035e-01_rb,& & 9.992837e-01_rb,9.992635e-01_rb,9.992429e-01_rb,9.992221e-01_rb,9.992008e-01_rb,& & 9.991793e-01_rb,9.991574e-01_rb,9.991352e-01_rb /) ssaice2(:, 24) = (/ & ! band 24 & 9.999949e-01_rb,9.999947e-01_rb,9.999943e-01_rb,9.999939e-01_rb,9.999934e-01_rb,& & 9.999927e-01_rb,9.999920e-01_rb,9.999913e-01_rb,9.999904e-01_rb,9.999895e-01_rb,& & 9.999885e-01_rb,9.999874e-01_rb,9.999863e-01_rb,9.999851e-01_rb,9.999838e-01_rb,& & 9.999824e-01_rb,9.999810e-01_rb,9.999795e-01_rb,9.999780e-01_rb,9.999764e-01_rb,& & 9.999747e-01_rb,9.999729e-01_rb,9.999711e-01_rb,9.999692e-01_rb,9.999673e-01_rb,& & 9.999653e-01_rb,9.999632e-01_rb,9.999611e-01_rb,9.999589e-01_rb,9.999566e-01_rb,& & 9.999543e-01_rb,9.999519e-01_rb,9.999495e-01_rb,9.999470e-01_rb,9.999444e-01_rb,& & 9.999418e-01_rb,9.999392e-01_rb,9.999364e-01_rb,9.999336e-01_rb,9.999308e-01_rb,& & 9.999279e-01_rb,9.999249e-01_rb,9.999219e-01_rb /) ssaice2(:, 25) = (/ & ! band 25 & 9.999997e-01_rb,9.999997e-01_rb,9.999997e-01_rb,9.999996e-01_rb,9.999996e-01_rb,& & 9.999995e-01_rb,9.999994e-01_rb,9.999993e-01_rb,9.999993e-01_rb,9.999992e-01_rb,& & 9.999991e-01_rb,9.999989e-01_rb,9.999988e-01_rb,9.999987e-01_rb,9.999986e-01_rb,& & 9.999984e-01_rb,9.999983e-01_rb,9.999981e-01_rb,9.999980e-01_rb,9.999978e-01_rb,& & 9.999976e-01_rb,9.999974e-01_rb,9.999972e-01_rb,9.999971e-01_rb,9.999969e-01_rb,& & 9.999966e-01_rb,9.999964e-01_rb,9.999962e-01_rb,9.999960e-01_rb,9.999957e-01_rb,& & 9.999955e-01_rb,9.999953e-01_rb,9.999950e-01_rb,9.999947e-01_rb,9.999945e-01_rb,& & 9.999942e-01_rb,9.999939e-01_rb,9.999936e-01_rb,9.999934e-01_rb,9.999931e-01_rb,& & 9.999928e-01_rb,9.999925e-01_rb,9.999921e-01_rb /) ssaice2(:, 26) = (/ & ! band 26 & 9.999997e-01_rb,9.999996e-01_rb,9.999996e-01_rb,9.999995e-01_rb,9.999994e-01_rb,& & 9.999993e-01_rb,9.999992e-01_rb,9.999991e-01_rb,9.999990e-01_rb,9.999989e-01_rb,& & 9.999987e-01_rb,9.999986e-01_rb,9.999984e-01_rb,9.999982e-01_rb,9.999980e-01_rb,& & 9.999978e-01_rb,9.999976e-01_rb,9.999974e-01_rb,9.999972e-01_rb,9.999970e-01_rb,& & 9.999967e-01_rb,9.999965e-01_rb,9.999962e-01_rb,9.999959e-01_rb,9.999956e-01_rb,& & 9.999954e-01_rb,9.999951e-01_rb,9.999947e-01_rb,9.999944e-01_rb,9.999941e-01_rb,& & 9.999938e-01_rb,9.999934e-01_rb,9.999931e-01_rb,9.999927e-01_rb,9.999923e-01_rb,& & 9.999920e-01_rb,9.999916e-01_rb,9.999912e-01_rb,9.999908e-01_rb,9.999904e-01_rb,& & 9.999899e-01_rb,9.999895e-01_rb,9.999891e-01_rb /) ssaice2(:, 27) = (/ & ! band 27 & 9.999987e-01_rb,9.999987e-01_rb,9.999985e-01_rb,9.999984e-01_rb,9.999982e-01_rb,& & 9.999980e-01_rb,9.999978e-01_rb,9.999976e-01_rb,9.999973e-01_rb,9.999970e-01_rb,& & 9.999967e-01_rb,9.999964e-01_rb,9.999960e-01_rb,9.999956e-01_rb,9.999952e-01_rb,& & 9.999948e-01_rb,9.999944e-01_rb,9.999939e-01_rb,9.999934e-01_rb,9.999929e-01_rb,& & 9.999924e-01_rb,9.999918e-01_rb,9.999913e-01_rb,9.999907e-01_rb,9.999901e-01_rb,& & 9.999894e-01_rb,9.999888e-01_rb,9.999881e-01_rb,9.999874e-01_rb,9.999867e-01_rb,& & 9.999860e-01_rb,9.999853e-01_rb,9.999845e-01_rb,9.999837e-01_rb,9.999829e-01_rb,& & 9.999821e-01_rb,9.999813e-01_rb,9.999804e-01_rb,9.999796e-01_rb,9.999787e-01_rb,& & 9.999778e-01_rb,9.999768e-01_rb,9.999759e-01_rb /) ssaice2(:, 28) = (/ & ! band 28 & 9.999989e-01_rb,9.999989e-01_rb,9.999987e-01_rb,9.999986e-01_rb,9.999984e-01_rb,& & 9.999982e-01_rb,9.999980e-01_rb,9.999978e-01_rb,9.999975e-01_rb,9.999972e-01_rb,& & 9.999969e-01_rb,9.999966e-01_rb,9.999962e-01_rb,9.999958e-01_rb,9.999954e-01_rb,& & 9.999950e-01_rb,9.999945e-01_rb,9.999941e-01_rb,9.999936e-01_rb,9.999931e-01_rb,& & 9.999925e-01_rb,9.999920e-01_rb,9.999914e-01_rb,9.999908e-01_rb,9.999902e-01_rb,& & 9.999896e-01_rb,9.999889e-01_rb,9.999883e-01_rb,9.999876e-01_rb,9.999869e-01_rb,& & 9.999861e-01_rb,9.999854e-01_rb,9.999846e-01_rb,9.999838e-01_rb,9.999830e-01_rb,& & 9.999822e-01_rb,9.999814e-01_rb,9.999805e-01_rb,9.999796e-01_rb,9.999787e-01_rb,& & 9.999778e-01_rb,9.999769e-01_rb,9.999759e-01_rb /) ssaice2(:, 29) = (/ & ! band 29 & 7.042143e-01_rb,6.691161e-01_rb,6.463240e-01_rb,6.296590e-01_rb,6.166381e-01_rb,& & 6.060183e-01_rb,5.970908e-01_rb,5.894144e-01_rb,5.826968e-01_rb,5.767343e-01_rb,& & 5.713804e-01_rb,5.665256e-01_rb,5.620867e-01_rb,5.579987e-01_rb,5.542101e-01_rb,& & 5.506794e-01_rb,5.473727e-01_rb,5.442620e-01_rb,5.413239e-01_rb,5.385389e-01_rb,& & 5.358901e-01_rb,5.333633e-01_rb,5.309460e-01_rb,5.286277e-01_rb,5.263988e-01_rb,& & 5.242512e-01_rb,5.221777e-01_rb,5.201719e-01_rb,5.182280e-01_rb,5.163410e-01_rb,& & 5.145062e-01_rb,5.127197e-01_rb,5.109776e-01_rb,5.092766e-01_rb,5.076137e-01_rb,& & 5.059860e-01_rb,5.043911e-01_rb,5.028266e-01_rb,5.012904e-01_rb,4.997805e-01_rb,& & 4.982951e-01_rb,4.968326e-01_rb,4.953913e-01_rb /) ! asymmetry factor: unitless asyice2(:, 16) = (/ & ! band 16 & 7.946655e-01_rb,8.547685e-01_rb,8.806016e-01_rb,8.949880e-01_rb,9.041676e-01_rb,& & 9.105399e-01_rb,9.152249e-01_rb,9.188160e-01_rb,9.216573e-01_rb,9.239620e-01_rb,& & 9.258695e-01_rb,9.274745e-01_rb,9.288441e-01_rb,9.300267e-01_rb,9.310584e-01_rb,& & 9.319665e-01_rb,9.327721e-01_rb,9.334918e-01_rb,9.341387e-01_rb,9.347236e-01_rb,& & 9.352551e-01_rb,9.357402e-01_rb,9.361850e-01_rb,9.365942e-01_rb,9.369722e-01_rb,& & 9.373225e-01_rb,9.376481e-01_rb,9.379516e-01_rb,9.382352e-01_rb,9.385010e-01_rb,& & 9.387505e-01_rb,9.389854e-01_rb,9.392070e-01_rb,9.394163e-01_rb,9.396145e-01_rb,& & 9.398024e-01_rb,9.399809e-01_rb,9.401508e-01_rb,9.403126e-01_rb,9.404670e-01_rb,& & 9.406144e-01_rb,9.407555e-01_rb,9.408906e-01_rb /) asyice2(:, 17) = (/ & ! band 17 & 9.078091e-01_rb,9.195850e-01_rb,9.267250e-01_rb,9.317083e-01_rb,9.354632e-01_rb,& & 9.384323e-01_rb,9.408597e-01_rb,9.428935e-01_rb,9.446301e-01_rb,9.461351e-01_rb,& & 9.474555e-01_rb,9.486259e-01_rb,9.496722e-01_rb,9.506146e-01_rb,9.514688e-01_rb,& & 9.522476e-01_rb,9.529612e-01_rb,9.536181e-01_rb,9.542251e-01_rb,9.547883e-01_rb,& & 9.553124e-01_rb,9.558019e-01_rb,9.562601e-01_rb,9.566904e-01_rb,9.570953e-01_rb,& & 9.574773e-01_rb,9.578385e-01_rb,9.581806e-01_rb,9.585054e-01_rb,9.588142e-01_rb,& & 9.591083e-01_rb,9.593888e-01_rb,9.596569e-01_rb,9.599135e-01_rb,9.601593e-01_rb,& & 9.603952e-01_rb,9.606219e-01_rb,9.608399e-01_rb,9.610499e-01_rb,9.612523e-01_rb,& & 9.614477e-01_rb,9.616365e-01_rb,9.618192e-01_rb /) asyice2(:, 18) = (/ & ! band 18 & 8.322045e-01_rb,8.528693e-01_rb,8.648167e-01_rb,8.729163e-01_rb,8.789054e-01_rb,& & 8.835845e-01_rb,8.873819e-01_rb,8.905511e-01_rb,8.932532e-01_rb,8.955965e-01_rb,& & 8.976567e-01_rb,8.994887e-01_rb,9.011334e-01_rb,9.026221e-01_rb,9.039791e-01_rb,& & 9.052237e-01_rb,9.063715e-01_rb,9.074349e-01_rb,9.084245e-01_rb,9.093489e-01_rb,& & 9.102154e-01_rb,9.110303e-01_rb,9.117987e-01_rb,9.125253e-01_rb,9.132140e-01_rb,& & 9.138682e-01_rb,9.144910e-01_rb,9.150850e-01_rb,9.156524e-01_rb,9.161955e-01_rb,& & 9.167160e-01_rb,9.172157e-01_rb,9.176959e-01_rb,9.181581e-01_rb,9.186034e-01_rb,& & 9.190330e-01_rb,9.194478e-01_rb,9.198488e-01_rb,9.202368e-01_rb,9.206126e-01_rb,& & 9.209768e-01_rb,9.213301e-01_rb,9.216731e-01_rb /) asyice2(:, 19) = (/ & ! band 19 & 8.116560e-01_rb,8.488278e-01_rb,8.674331e-01_rb,8.788148e-01_rb,8.865810e-01_rb,& & 8.922595e-01_rb,8.966149e-01_rb,9.000747e-01_rb,9.028980e-01_rb,9.052513e-01_rb,& & 9.072468e-01_rb,9.089632e-01_rb,9.104574e-01_rb,9.117713e-01_rb,9.129371e-01_rb,& & 9.139793e-01_rb,9.149174e-01_rb,9.157668e-01_rb,9.165400e-01_rb,9.172473e-01_rb,& & 9.178970e-01_rb,9.184962e-01_rb,9.190508e-01_rb,9.195658e-01_rb,9.200455e-01_rb,& & 9.204935e-01_rb,9.209130e-01_rb,9.213067e-01_rb,9.216771e-01_rb,9.220262e-01_rb,& & 9.223560e-01_rb,9.226680e-01_rb,9.229636e-01_rb,9.232443e-01_rb,9.235112e-01_rb,& & 9.237652e-01_rb,9.240074e-01_rb,9.242385e-01_rb,9.244594e-01_rb,9.246708e-01_rb,& & 9.248733e-01_rb,9.250674e-01_rb,9.252536e-01_rb /) asyice2(:, 20) = (/ & ! band 20 & 8.047113e-01_rb,8.402864e-01_rb,8.570332e-01_rb,8.668455e-01_rb,8.733206e-01_rb,& & 8.779272e-01_rb,8.813796e-01_rb,8.840676e-01_rb,8.862225e-01_rb,8.879904e-01_rb,& & 8.894682e-01_rb,8.907228e-01_rb,8.918019e-01_rb,8.927404e-01_rb,8.935645e-01_rb,& & 8.942943e-01_rb,8.949452e-01_rb,8.955296e-01_rb,8.960574e-01_rb,8.965366e-01_rb,& & 8.969736e-01_rb,8.973740e-01_rb,8.977422e-01_rb,8.980820e-01_rb,8.983966e-01_rb,& & 8.986889e-01_rb,8.989611e-01_rb,8.992153e-01_rb,8.994533e-01_rb,8.996766e-01_rb,& & 8.998865e-01_rb,9.000843e-01_rb,9.002709e-01_rb,9.004474e-01_rb,9.006146e-01_rb,& & 9.007731e-01_rb,9.009237e-01_rb,9.010670e-01_rb,9.012034e-01_rb,9.013336e-01_rb,& & 9.014579e-01_rb,9.015767e-01_rb,9.016904e-01_rb /) asyice2(:, 21) = (/ & ! band 21 & 8.179122e-01_rb,8.480726e-01_rb,8.621945e-01_rb,8.704354e-01_rb,8.758555e-01_rb,& & 8.797007e-01_rb,8.825750e-01_rb,8.848078e-01_rb,8.865939e-01_rb,8.880564e-01_rb,& & 8.892765e-01_rb,8.903105e-01_rb,8.911982e-01_rb,8.919689e-01_rb,8.926446e-01_rb,& & 8.932419e-01_rb,8.937738e-01_rb,8.942506e-01_rb,8.946806e-01_rb,8.950702e-01_rb,& & 8.954251e-01_rb,8.957497e-01_rb,8.960477e-01_rb,8.963223e-01_rb,8.965762e-01_rb,& & 8.968116e-01_rb,8.970306e-01_rb,8.972347e-01_rb,8.974255e-01_rb,8.976042e-01_rb,& & 8.977720e-01_rb,8.979298e-01_rb,8.980784e-01_rb,8.982188e-01_rb,8.983515e-01_rb,& & 8.984771e-01_rb,8.985963e-01_rb,8.987095e-01_rb,8.988171e-01_rb,8.989195e-01_rb,& & 8.990172e-01_rb,8.991104e-01_rb,8.991994e-01_rb /) asyice2(:, 22) = (/ & ! band 22 & 8.169789e-01_rb,8.455024e-01_rb,8.586925e-01_rb,8.663283e-01_rb,8.713217e-01_rb,& & 8.748488e-01_rb,8.774765e-01_rb,8.795122e-01_rb,8.811370e-01_rb,8.824649e-01_rb,& & 8.835711e-01_rb,8.845073e-01_rb,8.853103e-01_rb,8.860068e-01_rb,8.866170e-01_rb,& & 8.871560e-01_rb,8.876358e-01_rb,8.880658e-01_rb,8.884533e-01_rb,8.888044e-01_rb,& & 8.891242e-01_rb,8.894166e-01_rb,8.896851e-01_rb,8.899324e-01_rb,8.901612e-01_rb,& & 8.903733e-01_rb,8.905706e-01_rb,8.907545e-01_rb,8.909265e-01_rb,8.910876e-01_rb,& & 8.912388e-01_rb,8.913812e-01_rb,8.915153e-01_rb,8.916419e-01_rb,8.917617e-01_rb,& & 8.918752e-01_rb,8.919829e-01_rb,8.920851e-01_rb,8.921824e-01_rb,8.922751e-01_rb,& & 8.923635e-01_rb,8.924478e-01_rb,8.925284e-01_rb /) asyice2(:, 23) = (/ & ! band 23 & 8.387642e-01_rb,8.569979e-01_rb,8.658630e-01_rb,8.711825e-01_rb,8.747605e-01_rb,& & 8.773472e-01_rb,8.793129e-01_rb,8.808621e-01_rb,8.821179e-01_rb,8.831583e-01_rb,& & 8.840361e-01_rb,8.847875e-01_rb,8.854388e-01_rb,8.860094e-01_rb,8.865138e-01_rb,& & 8.869634e-01_rb,8.873668e-01_rb,8.877310e-01_rb,8.880617e-01_rb,8.883635e-01_rb,& & 8.886401e-01_rb,8.888947e-01_rb,8.891298e-01_rb,8.893477e-01_rb,8.895504e-01_rb,& & 8.897393e-01_rb,8.899159e-01_rb,8.900815e-01_rb,8.902370e-01_rb,8.903833e-01_rb,& & 8.905214e-01_rb,8.906518e-01_rb,8.907753e-01_rb,8.908924e-01_rb,8.910036e-01_rb,& & 8.911094e-01_rb,8.912101e-01_rb,8.913062e-01_rb,8.913979e-01_rb,8.914856e-01_rb,& & 8.915695e-01_rb,8.916498e-01_rb,8.917269e-01_rb /) asyice2(:, 24) = (/ & ! band 24 & 8.522208e-01_rb,8.648132e-01_rb,8.711224e-01_rb,8.749901e-01_rb,8.776354e-01_rb,& & 8.795743e-01_rb,8.810649e-01_rb,8.822518e-01_rb,8.832225e-01_rb,8.840333e-01_rb,& & 8.847224e-01_rb,8.853162e-01_rb,8.858342e-01_rb,8.862906e-01_rb,8.866962e-01_rb,& & 8.870595e-01_rb,8.873871e-01_rb,8.876842e-01_rb,8.879551e-01_rb,8.882032e-01_rb,& & 8.884316e-01_rb,8.886425e-01_rb,8.888380e-01_rb,8.890199e-01_rb,8.891895e-01_rb,& & 8.893481e-01_rb,8.894968e-01_rb,8.896366e-01_rb,8.897683e-01_rb,8.898926e-01_rb,& & 8.900102e-01_rb,8.901215e-01_rb,8.902272e-01_rb,8.903276e-01_rb,8.904232e-01_rb,& & 8.905144e-01_rb,8.906014e-01_rb,8.906845e-01_rb,8.907640e-01_rb,8.908402e-01_rb,& & 8.909132e-01_rb,8.909834e-01_rb,8.910507e-01_rb /) asyice2(:, 25) = (/ & ! band 25 & 8.578202e-01_rb,8.683033e-01_rb,8.735431e-01_rb,8.767488e-01_rb,8.789378e-01_rb,& & 8.805399e-01_rb,8.817701e-01_rb,8.827485e-01_rb,8.835480e-01_rb,8.842152e-01_rb,& & 8.847817e-01_rb,8.852696e-01_rb,8.856949e-01_rb,8.860694e-01_rb,8.864020e-01_rb,& & 8.866997e-01_rb,8.869681e-01_rb,8.872113e-01_rb,8.874330e-01_rb,8.876360e-01_rb,& & 8.878227e-01_rb,8.879951e-01_rb,8.881548e-01_rb,8.883033e-01_rb,8.884418e-01_rb,& & 8.885712e-01_rb,8.886926e-01_rb,8.888066e-01_rb,8.889139e-01_rb,8.890152e-01_rb,& & 8.891110e-01_rb,8.892017e-01_rb,8.892877e-01_rb,8.893695e-01_rb,8.894473e-01_rb,& & 8.895214e-01_rb,8.895921e-01_rb,8.896597e-01_rb,8.897243e-01_rb,8.897862e-01_rb,& & 8.898456e-01_rb,8.899025e-01_rb,8.899572e-01_rb /) asyice2(:, 26) = (/ & ! band 26 & 8.625615e-01_rb,8.713831e-01_rb,8.755799e-01_rb,8.780560e-01_rb,8.796983e-01_rb,& & 8.808714e-01_rb,8.817534e-01_rb,8.824420e-01_rb,8.829953e-01_rb,8.834501e-01_rb,& & 8.838310e-01_rb,8.841549e-01_rb,8.844338e-01_rb,8.846767e-01_rb,8.848902e-01_rb,& & 8.850795e-01_rb,8.852484e-01_rb,8.854002e-01_rb,8.855374e-01_rb,8.856620e-01_rb,& & 8.857758e-01_rb,8.858800e-01_rb,8.859759e-01_rb,8.860644e-01_rb,8.861464e-01_rb,& & 8.862225e-01_rb,8.862935e-01_rb,8.863598e-01_rb,8.864218e-01_rb,8.864800e-01_rb,& & 8.865347e-01_rb,8.865863e-01_rb,8.866349e-01_rb,8.866809e-01_rb,8.867245e-01_rb,& & 8.867658e-01_rb,8.868050e-01_rb,8.868423e-01_rb,8.868778e-01_rb,8.869117e-01_rb,& & 8.869440e-01_rb,8.869749e-01_rb,8.870044e-01_rb /) asyice2(:, 27) = (/ & ! band 27 & 8.587495e-01_rb,8.684764e-01_rb,8.728189e-01_rb,8.752872e-01_rb,8.768846e-01_rb,& & 8.780060e-01_rb,8.788386e-01_rb,8.794824e-01_rb,8.799960e-01_rb,8.804159e-01_rb,& & 8.807660e-01_rb,8.810626e-01_rb,8.813175e-01_rb,8.815390e-01_rb,8.817335e-01_rb,& & 8.819057e-01_rb,8.820593e-01_rb,8.821973e-01_rb,8.823220e-01_rb,8.824353e-01_rb,& & 8.825387e-01_rb,8.826336e-01_rb,8.827209e-01_rb,8.828016e-01_rb,8.828764e-01_rb,& & 8.829459e-01_rb,8.830108e-01_rb,8.830715e-01_rb,8.831283e-01_rb,8.831817e-01_rb,& & 8.832320e-01_rb,8.832795e-01_rb,8.833244e-01_rb,8.833668e-01_rb,8.834071e-01_rb,& & 8.834454e-01_rb,8.834817e-01_rb,8.835164e-01_rb,8.835495e-01_rb,8.835811e-01_rb,& & 8.836113e-01_rb,8.836402e-01_rb,8.836679e-01_rb /) asyice2(:, 28) = (/ & ! band 28 & 8.561110e-01_rb,8.678583e-01_rb,8.727554e-01_rb,8.753892e-01_rb,8.770154e-01_rb,& & 8.781109e-01_rb,8.788949e-01_rb,8.794812e-01_rb,8.799348e-01_rb,8.802952e-01_rb,& & 8.805880e-01_rb,8.808300e-01_rb,8.810331e-01_rb,8.812058e-01_rb,8.813543e-01_rb,& & 8.814832e-01_rb,8.815960e-01_rb,8.816956e-01_rb,8.817839e-01_rb,8.818629e-01_rb,& & 8.819339e-01_rb,8.819979e-01_rb,8.820560e-01_rb,8.821089e-01_rb,8.821573e-01_rb,& & 8.822016e-01_rb,8.822425e-01_rb,8.822801e-01_rb,8.823150e-01_rb,8.823474e-01_rb,& & 8.823775e-01_rb,8.824056e-01_rb,8.824318e-01_rb,8.824564e-01_rb,8.824795e-01_rb,& & 8.825011e-01_rb,8.825215e-01_rb,8.825408e-01_rb,8.825589e-01_rb,8.825761e-01_rb,& & 8.825924e-01_rb,8.826078e-01_rb,8.826224e-01_rb /) asyice2(:, 29) = (/ & ! band 29 & 8.311124e-01_rb,8.688197e-01_rb,8.900274e-01_rb,9.040696e-01_rb,9.142334e-01_rb,& & 9.220181e-01_rb,9.282195e-01_rb,9.333048e-01_rb,9.375689e-01_rb,9.412085e-01_rb,& & 9.443604e-01_rb,9.471230e-01_rb,9.495694e-01_rb,9.517549e-01_rb,9.537224e-01_rb,& & 9.555057e-01_rb,9.571316e-01_rb,9.586222e-01_rb,9.599952e-01_rb,9.612656e-01_rb,& & 9.624458e-01_rb,9.635461e-01_rb,9.645756e-01_rb,9.655418e-01_rb,9.664513e-01_rb,& & 9.673098e-01_rb,9.681222e-01_rb,9.688928e-01_rb,9.696256e-01_rb,9.703237e-01_rb,& & 9.709903e-01_rb,9.716280e-01_rb,9.722391e-01_rb,9.728258e-01_rb,9.733901e-01_rb,& & 9.739336e-01_rb,9.744579e-01_rb,9.749645e-01_rb,9.754546e-01_rb,9.759294e-01_rb,& & 9.763901e-01_rb,9.768376e-01_rb,9.772727e-01_rb /) ! Hexagonal Ice Particle Parameterization ! extinction units (ext coef/iwc): [(m^-1)/(g m^-3)] extice3(:, 16) = (/ & ! band 16 & 5.194013e-01_rb,3.215089e-01_rb,2.327917e-01_rb,1.824424e-01_rb,1.499977e-01_rb,& & 1.273492e-01_rb,1.106421e-01_rb,9.780982e-02_rb,8.764435e-02_rb,7.939266e-02_rb,& & 7.256081e-02_rb,6.681137e-02_rb,6.190600e-02_rb,5.767154e-02_rb,5.397915e-02_rb,& & 5.073102e-02_rb,4.785151e-02_rb,4.528125e-02_rb,4.297296e-02_rb,4.088853e-02_rb,& & 3.899690e-02_rb,3.727251e-02_rb,3.569411e-02_rb,3.424393e-02_rb,3.290694e-02_rb,& & 3.167040e-02_rb,3.052340e-02_rb,2.945654e-02_rb,2.846172e-02_rb,2.753188e-02_rb,& & 2.666085e-02_rb,2.584322e-02_rb,2.507423e-02_rb,2.434967e-02_rb,2.366579e-02_rb,& & 2.301926e-02_rb,2.240711e-02_rb,2.182666e-02_rb,2.127551e-02_rb,2.075150e-02_rb,& & 2.025267e-02_rb,1.977725e-02_rb,1.932364e-02_rb,1.889035e-02_rb,1.847607e-02_rb,& & 1.807956e-02_rb /) extice3(:, 17) = (/ & ! band 17 & 4.901155e-01_rb,3.065286e-01_rb,2.230800e-01_rb,1.753951e-01_rb,1.445402e-01_rb,& & 1.229417e-01_rb,1.069777e-01_rb,9.469760e-02_rb,8.495824e-02_rb,7.704501e-02_rb,& & 7.048834e-02_rb,6.496693e-02_rb,6.025353e-02_rb,5.618286e-02_rb,5.263186e-02_rb,& & 4.950698e-02_rb,4.673585e-02_rb,4.426164e-02_rb,4.203904e-02_rb,4.003153e-02_rb,& & 3.820932e-02_rb,3.654790e-02_rb,3.502688e-02_rb,3.362919e-02_rb,3.234041e-02_rb,& & 3.114829e-02_rb,3.004234e-02_rb,2.901356e-02_rb,2.805413e-02_rb,2.715727e-02_rb,& & 2.631705e-02_rb,2.552828e-02_rb,2.478637e-02_rb,2.408725e-02_rb,2.342734e-02_rb,& & 2.280343e-02_rb,2.221264e-02_rb,2.165242e-02_rb,2.112043e-02_rb,2.061461e-02_rb,& & 2.013308e-02_rb,1.967411e-02_rb,1.923616e-02_rb,1.881783e-02_rb,1.841781e-02_rb,& & 1.803494e-02_rb /) extice3(:, 18) = (/ & ! band 18 & 5.056264e-01_rb,3.160261e-01_rb,2.298442e-01_rb,1.805973e-01_rb,1.487318e-01_rb,& & 1.264258e-01_rb,1.099389e-01_rb,9.725656e-02_rb,8.719819e-02_rb,7.902576e-02_rb,& & 7.225433e-02_rb,6.655206e-02_rb,6.168427e-02_rb,5.748028e-02_rb,5.381296e-02_rb,& & 5.058572e-02_rb,4.772383e-02_rb,4.516857e-02_rb,4.287317e-02_rb,4.079990e-02_rb,& & 3.891801e-02_rb,3.720217e-02_rb,3.563133e-02_rb,3.418786e-02_rb,3.285686e-02_rb,& & 3.162569e-02_rb,3.048352e-02_rb,2.942104e-02_rb,2.843018e-02_rb,2.750395e-02_rb,& & 2.663621e-02_rb,2.582160e-02_rb,2.505539e-02_rb,2.433337e-02_rb,2.365185e-02_rb,& & 2.300750e-02_rb,2.239736e-02_rb,2.181878e-02_rb,2.126937e-02_rb,2.074699e-02_rb,& & 2.024968e-02_rb,1.977567e-02_rb,1.932338e-02_rb,1.889134e-02_rb,1.847823e-02_rb,& & 1.808281e-02_rb /) extice3(:, 19) = (/ & ! band 19 & 4.881605e-01_rb,3.055237e-01_rb,2.225070e-01_rb,1.750688e-01_rb,1.443736e-01_rb,& & 1.228869e-01_rb,1.070054e-01_rb,9.478893e-02_rb,8.509997e-02_rb,7.722769e-02_rb,& & 7.070495e-02_rb,6.521211e-02_rb,6.052311e-02_rb,5.647351e-02_rb,5.294088e-02_rb,& & 4.983217e-02_rb,4.707539e-02_rb,4.461398e-02_rb,4.240288e-02_rb,4.040575e-02_rb,& & 3.859298e-02_rb,3.694016e-02_rb,3.542701e-02_rb,3.403655e-02_rb,3.275444e-02_rb,& & 3.156849e-02_rb,3.046827e-02_rb,2.944481e-02_rb,2.849034e-02_rb,2.759812e-02_rb,& & 2.676226e-02_rb,2.597757e-02_rb,2.523949e-02_rb,2.454400e-02_rb,2.388750e-02_rb,& & 2.326682e-02_rb,2.267909e-02_rb,2.212176e-02_rb,2.159253e-02_rb,2.108933e-02_rb,& & 2.061028e-02_rb,2.015369e-02_rb,1.971801e-02_rb,1.930184e-02_rb,1.890389e-02_rb,& & 1.852300e-02_rb /) extice3(:, 20) = (/ & ! band 20 & 5.103703e-01_rb,3.188144e-01_rb,2.317435e-01_rb,1.819887e-01_rb,1.497944e-01_rb,& & 1.272584e-01_rb,1.106013e-01_rb,9.778822e-02_rb,8.762610e-02_rb,7.936938e-02_rb,& & 7.252809e-02_rb,6.676701e-02_rb,6.184901e-02_rb,5.760165e-02_rb,5.389651e-02_rb,& & 5.063598e-02_rb,4.774457e-02_rb,4.516295e-02_rb,4.284387e-02_rb,4.074922e-02_rb,& & 3.884792e-02_rb,3.711438e-02_rb,3.552734e-02_rb,3.406898e-02_rb,3.272425e-02_rb,& & 3.148038e-02_rb,3.032643e-02_rb,2.925299e-02_rb,2.825191e-02_rb,2.731612e-02_rb,& & 2.643943e-02_rb,2.561642e-02_rb,2.484230e-02_rb,2.411284e-02_rb,2.342429e-02_rb,& & 2.277329e-02_rb,2.215686e-02_rb,2.157231e-02_rb,2.101724e-02_rb,2.048946e-02_rb,& & 1.998702e-02_rb,1.950813e-02_rb,1.905118e-02_rb,1.861468e-02_rb,1.819730e-02_rb,& & 1.779781e-02_rb /) extice3(:, 21) = (/ & ! band 21 & 5.031161e-01_rb,3.144511e-01_rb,2.286942e-01_rb,1.796903e-01_rb,1.479819e-01_rb,& & 1.257860e-01_rb,1.093803e-01_rb,9.676059e-02_rb,8.675183e-02_rb,7.861971e-02_rb,& & 7.188168e-02_rb,6.620754e-02_rb,6.136376e-02_rb,5.718050e-02_rb,5.353127e-02_rb,& & 5.031995e-02_rb,4.747218e-02_rb,4.492952e-02_rb,4.264544e-02_rb,4.058240e-02_rb,& & 3.870979e-02_rb,3.700242e-02_rb,3.543933e-02_rb,3.400297e-02_rb,3.267854e-02_rb,& & 3.145345e-02_rb,3.031691e-02_rb,2.925967e-02_rb,2.827370e-02_rb,2.735203e-02_rb,& & 2.648858e-02_rb,2.567798e-02_rb,2.491555e-02_rb,2.419710e-02_rb,2.351893e-02_rb,& & 2.287776e-02_rb,2.227063e-02_rb,2.169491e-02_rb,2.114821e-02_rb,2.062840e-02_rb,& & 2.013354e-02_rb,1.966188e-02_rb,1.921182e-02_rb,1.878191e-02_rb,1.837083e-02_rb,& & 1.797737e-02_rb /) extice3(:, 22) = (/ & ! band 22 & 4.949453e-01_rb,3.095918e-01_rb,2.253402e-01_rb,1.771964e-01_rb,1.460446e-01_rb,& & 1.242383e-01_rb,1.081206e-01_rb,9.572235e-02_rb,8.588928e-02_rb,7.789990e-02_rb,& & 7.128013e-02_rb,6.570559e-02_rb,6.094684e-02_rb,5.683701e-02_rb,5.325183e-02_rb,& & 5.009688e-02_rb,4.729909e-02_rb,4.480106e-02_rb,4.255708e-02_rb,4.053025e-02_rb,& & 3.869051e-02_rb,3.701310e-02_rb,3.547745e-02_rb,3.406631e-02_rb,3.276512e-02_rb,& & 3.156153e-02_rb,3.044494e-02_rb,2.940626e-02_rb,2.843759e-02_rb,2.753211e-02_rb,& & 2.668381e-02_rb,2.588744e-02_rb,2.513839e-02_rb,2.443255e-02_rb,2.376629e-02_rb,& & 2.313637e-02_rb,2.253990e-02_rb,2.197428e-02_rb,2.143718e-02_rb,2.092649e-02_rb,& & 2.044032e-02_rb,1.997694e-02_rb,1.953478e-02_rb,1.911241e-02_rb,1.870855e-02_rb,& & 1.832199e-02_rb /) extice3(:, 23) = (/ & ! band 23 & 5.052816e-01_rb,3.157665e-01_rb,2.296233e-01_rb,1.803986e-01_rb,1.485473e-01_rb,& & 1.262514e-01_rb,1.097718e-01_rb,9.709524e-02_rb,8.704139e-02_rb,7.887264e-02_rb,& & 7.210424e-02_rb,6.640454e-02_rb,6.153894e-02_rb,5.733683e-02_rb,5.367116e-02_rb,& & 5.044537e-02_rb,4.758477e-02_rb,4.503066e-02_rb,4.273629e-02_rb,4.066395e-02_rb,& & 3.878291e-02_rb,3.706784e-02_rb,3.549771e-02_rb,3.405488e-02_rb,3.272448e-02_rb,& & 3.149387e-02_rb,3.035221e-02_rb,2.929020e-02_rb,2.829979e-02_rb,2.737397e-02_rb,& & 2.650663e-02_rb,2.569238e-02_rb,2.492651e-02_rb,2.420482e-02_rb,2.352361e-02_rb,& & 2.287954e-02_rb,2.226968e-02_rb,2.169136e-02_rb,2.114220e-02_rb,2.062005e-02_rb,& & 2.012296e-02_rb,1.964917e-02_rb,1.919709e-02_rb,1.876524e-02_rb,1.835231e-02_rb,& & 1.795707e-02_rb /) extice3(:, 24) = (/ & ! band 24 & 5.042067e-01_rb,3.151195e-01_rb,2.291708e-01_rb,1.800573e-01_rb,1.482779e-01_rb,& & 1.260324e-01_rb,1.095900e-01_rb,9.694202e-02_rb,8.691087e-02_rb,7.876056e-02_rb,& & 7.200745e-02_rb,6.632062e-02_rb,6.146600e-02_rb,5.727338e-02_rb,5.361599e-02_rb,& & 5.039749e-02_rb,4.754334e-02_rb,4.499500e-02_rb,4.270580e-02_rb,4.063815e-02_rb,& & 3.876135e-02_rb,3.705016e-02_rb,3.548357e-02_rb,3.404400e-02_rb,3.271661e-02_rb,& & 3.148877e-02_rb,3.034969e-02_rb,2.929008e-02_rb,2.830191e-02_rb,2.737818e-02_rb,& & 2.651279e-02_rb,2.570039e-02_rb,2.493624e-02_rb,2.421618e-02_rb,2.353650e-02_rb,& & 2.289390e-02_rb,2.228541e-02_rb,2.170840e-02_rb,2.116048e-02_rb,2.063950e-02_rb,& & 2.014354e-02_rb,1.967082e-02_rb,1.921975e-02_rb,1.878888e-02_rb,1.837688e-02_rb,& & 1.798254e-02_rb /) extice3(:, 25) = (/ & ! band 25 & 5.022507e-01_rb,3.139246e-01_rb,2.283218e-01_rb,1.794059e-01_rb,1.477544e-01_rb,& & 1.255984e-01_rb,1.092222e-01_rb,9.662516e-02_rb,8.663439e-02_rb,7.851688e-02_rb,& & 7.179095e-02_rb,6.612700e-02_rb,6.129193e-02_rb,5.711618e-02_rb,5.347351e-02_rb,& & 5.026796e-02_rb,4.742530e-02_rb,4.488721e-02_rb,4.260724e-02_rb,4.054790e-02_rb,& & 3.867866e-02_rb,3.697435e-02_rb,3.541407e-02_rb,3.398029e-02_rb,3.265824e-02_rb,& & 3.143535e-02_rb,3.030085e-02_rb,2.924551e-02_rb,2.826131e-02_rb,2.734130e-02_rb,& & 2.647939e-02_rb,2.567026e-02_rb,2.490919e-02_rb,2.419203e-02_rb,2.351509e-02_rb,& & 2.287507e-02_rb,2.226903e-02_rb,2.169434e-02_rb,2.114862e-02_rb,2.062975e-02_rb,& & 2.013578e-02_rb,1.966496e-02_rb,1.921571e-02_rb,1.878658e-02_rb,1.837623e-02_rb,& & 1.798348e-02_rb /) extice3(:, 26) = (/ & ! band 26 & 5.068316e-01_rb,3.166869e-01_rb,2.302576e-01_rb,1.808693e-01_rb,1.489122e-01_rb,& & 1.265423e-01_rb,1.100080e-01_rb,9.728926e-02_rb,8.720201e-02_rb,7.900612e-02_rb,& & 7.221524e-02_rb,6.649660e-02_rb,6.161484e-02_rb,5.739877e-02_rb,5.372093e-02_rb,& & 5.048442e-02_rb,4.761431e-02_rb,4.505172e-02_rb,4.274972e-02_rb,4.067050e-02_rb,& & 3.878321e-02_rb,3.706244e-02_rb,3.548710e-02_rb,3.403948e-02_rb,3.270466e-02_rb,& & 3.146995e-02_rb,3.032450e-02_rb,2.925897e-02_rb,2.826527e-02_rb,2.733638e-02_rb,& & 2.646615e-02_rb,2.564920e-02_rb,2.488078e-02_rb,2.415670e-02_rb,2.347322e-02_rb,& & 2.282702e-02_rb,2.221513e-02_rb,2.163489e-02_rb,2.108390e-02_rb,2.056002e-02_rb,& & 2.006128e-02_rb,1.958591e-02_rb,1.913232e-02_rb,1.869904e-02_rb,1.828474e-02_rb,& & 1.788819e-02_rb /) extice3(:, 27) = (/ & ! band 27 & 5.077707e-01_rb,3.172636e-01_rb,2.306695e-01_rb,1.811871e-01_rb,1.491691e-01_rb,& & 1.267565e-01_rb,1.101907e-01_rb,9.744773e-02_rb,8.734125e-02_rb,7.912973e-02_rb,& & 7.232591e-02_rb,6.659637e-02_rb,6.170530e-02_rb,5.748120e-02_rb,5.379634e-02_rb,& & 5.055367e-02_rb,4.767809e-02_rb,4.511061e-02_rb,4.280423e-02_rb,4.072104e-02_rb,& & 3.883015e-02_rb,3.710611e-02_rb,3.552776e-02_rb,3.407738e-02_rb,3.274002e-02_rb,& & 3.150296e-02_rb,3.035532e-02_rb,2.928776e-02_rb,2.829216e-02_rb,2.736150e-02_rb,& & 2.648961e-02_rb,2.567111e-02_rb,2.490123e-02_rb,2.417576e-02_rb,2.349098e-02_rb,& & 2.284354e-02_rb,2.223049e-02_rb,2.164914e-02_rb,2.109711e-02_rb,2.057222e-02_rb,& & 2.007253e-02_rb,1.959626e-02_rb,1.914181e-02_rb,1.870770e-02_rb,1.829261e-02_rb,& & 1.789531e-02_rb /) extice3(:, 28) = (/ & ! band 28 & 5.062281e-01_rb,3.163402e-01_rb,2.300275e-01_rb,1.807060e-01_rb,1.487921e-01_rb,& & 1.264523e-01_rb,1.099403e-01_rb,9.723879e-02_rb,8.716516e-02_rb,7.898034e-02_rb,& & 7.219863e-02_rb,6.648771e-02_rb,6.161254e-02_rb,5.740217e-02_rb,5.372929e-02_rb,& & 5.049716e-02_rb,4.763092e-02_rb,4.507179e-02_rb,4.277290e-02_rb,4.069649e-02_rb,& & 3.881175e-02_rb,3.709331e-02_rb,3.552008e-02_rb,3.407442e-02_rb,3.274141e-02_rb,& & 3.150837e-02_rb,3.036447e-02_rb,2.930037e-02_rb,2.830801e-02_rb,2.738037e-02_rb,& & 2.651132e-02_rb,2.569547e-02_rb,2.492810e-02_rb,2.420499e-02_rb,2.352243e-02_rb,& & 2.287710e-02_rb,2.226604e-02_rb,2.168658e-02_rb,2.113634e-02_rb,2.061316e-02_rb,& & 2.011510e-02_rb,1.964038e-02_rb,1.918740e-02_rb,1.875471e-02_rb,1.834096e-02_rb,& & 1.794495e-02_rb /) extice3(:, 29) = (/ & ! band 29 & 1.338834e-01_rb,1.924912e-01_rb,1.755523e-01_rb,1.534793e-01_rb,1.343937e-01_rb,& & 1.187883e-01_rb,1.060654e-01_rb,9.559106e-02_rb,8.685880e-02_rb,7.948698e-02_rb,& & 7.319086e-02_rb,6.775669e-02_rb,6.302215e-02_rb,5.886236e-02_rb,5.517996e-02_rb,& & 5.189810e-02_rb,4.895539e-02_rb,4.630225e-02_rb,4.389823e-02_rb,4.171002e-02_rb,& & 3.970998e-02_rb,3.787493e-02_rb,3.618537e-02_rb,3.462471e-02_rb,3.317880e-02_rb,& & 3.183547e-02_rb,3.058421e-02_rb,2.941590e-02_rb,2.832256e-02_rb,2.729724e-02_rb,& & 2.633377e-02_rb,2.542675e-02_rb,2.457136e-02_rb,2.376332e-02_rb,2.299882e-02_rb,& & 2.227443e-02_rb,2.158707e-02_rb,2.093400e-02_rb,2.031270e-02_rb,1.972091e-02_rb,& & 1.915659e-02_rb,1.861787e-02_rb,1.810304e-02_rb,1.761055e-02_rb,1.713899e-02_rb,& & 1.668704e-02_rb /) ! single-scattering albedo: unitless ssaice3(:, 16) = (/ & ! band 16 & 6.749442e-01_rb,6.649947e-01_rb,6.565828e-01_rb,6.489928e-01_rb,6.420046e-01_rb,& & 6.355231e-01_rb,6.294964e-01_rb,6.238901e-01_rb,6.186783e-01_rb,6.138395e-01_rb,& & 6.093543e-01_rb,6.052049e-01_rb,6.013742e-01_rb,5.978457e-01_rb,5.946030e-01_rb,& & 5.916302e-01_rb,5.889115e-01_rb,5.864310e-01_rb,5.841731e-01_rb,5.821221e-01_rb,& & 5.802624e-01_rb,5.785785e-01_rb,5.770549e-01_rb,5.756759e-01_rb,5.744262e-01_rb,& & 5.732901e-01_rb,5.722524e-01_rb,5.712974e-01_rb,5.704097e-01_rb,5.695739e-01_rb,& & 5.687747e-01_rb,5.679964e-01_rb,5.672238e-01_rb,5.664415e-01_rb,5.656340e-01_rb,& & 5.647860e-01_rb,5.638821e-01_rb,5.629070e-01_rb,5.618452e-01_rb,5.606815e-01_rb,& & 5.594006e-01_rb,5.579870e-01_rb,5.564255e-01_rb,5.547008e-01_rb,5.527976e-01_rb,& & 5.507005e-01_rb /) ssaice3(:, 17) = (/ & ! band 17 & 7.628550e-01_rb,7.567297e-01_rb,7.508463e-01_rb,7.451972e-01_rb,7.397745e-01_rb,& & 7.345705e-01_rb,7.295775e-01_rb,7.247881e-01_rb,7.201945e-01_rb,7.157894e-01_rb,& & 7.115652e-01_rb,7.075145e-01_rb,7.036300e-01_rb,6.999044e-01_rb,6.963304e-01_rb,& & 6.929007e-01_rb,6.896083e-01_rb,6.864460e-01_rb,6.834067e-01_rb,6.804833e-01_rb,& & 6.776690e-01_rb,6.749567e-01_rb,6.723397e-01_rb,6.698109e-01_rb,6.673637e-01_rb,& & 6.649913e-01_rb,6.626870e-01_rb,6.604441e-01_rb,6.582561e-01_rb,6.561163e-01_rb,& & 6.540182e-01_rb,6.519554e-01_rb,6.499215e-01_rb,6.479099e-01_rb,6.459145e-01_rb,& & 6.439289e-01_rb,6.419468e-01_rb,6.399621e-01_rb,6.379686e-01_rb,6.359601e-01_rb,& & 6.339306e-01_rb,6.318740e-01_rb,6.297845e-01_rb,6.276559e-01_rb,6.254825e-01_rb,& & 6.232583e-01_rb /) ssaice3(:, 18) = (/ & ! band 18 & 9.924147e-01_rb,9.882792e-01_rb,9.842257e-01_rb,9.802522e-01_rb,9.763566e-01_rb,& & 9.725367e-01_rb,9.687905e-01_rb,9.651157e-01_rb,9.615104e-01_rb,9.579725e-01_rb,& & 9.544997e-01_rb,9.510901e-01_rb,9.477416e-01_rb,9.444520e-01_rb,9.412194e-01_rb,& & 9.380415e-01_rb,9.349165e-01_rb,9.318421e-01_rb,9.288164e-01_rb,9.258373e-01_rb,& & 9.229027e-01_rb,9.200106e-01_rb,9.171589e-01_rb,9.143457e-01_rb,9.115688e-01_rb,& & 9.088263e-01_rb,9.061161e-01_rb,9.034362e-01_rb,9.007846e-01_rb,8.981592e-01_rb,& & 8.955581e-01_rb,8.929792e-01_rb,8.904206e-01_rb,8.878803e-01_rb,8.853562e-01_rb,& & 8.828464e-01_rb,8.803488e-01_rb,8.778616e-01_rb,8.753827e-01_rb,8.729102e-01_rb,& & 8.704421e-01_rb,8.679764e-01_rb,8.655112e-01_rb,8.630445e-01_rb,8.605744e-01_rb,& & 8.580989e-01_rb /) ssaice3(:, 19) = (/ & ! band 19 & 9.629413e-01_rb,9.517182e-01_rb,9.409209e-01_rb,9.305366e-01_rb,9.205529e-01_rb,& & 9.109569e-01_rb,9.017362e-01_rb,8.928780e-01_rb,8.843699e-01_rb,8.761992e-01_rb,& & 8.683536e-01_rb,8.608204e-01_rb,8.535873e-01_rb,8.466417e-01_rb,8.399712e-01_rb,& & 8.335635e-01_rb,8.274062e-01_rb,8.214868e-01_rb,8.157932e-01_rb,8.103129e-01_rb,& & 8.050336e-01_rb,7.999432e-01_rb,7.950294e-01_rb,7.902798e-01_rb,7.856825e-01_rb,& & 7.812250e-01_rb,7.768954e-01_rb,7.726815e-01_rb,7.685711e-01_rb,7.645522e-01_rb,& & 7.606126e-01_rb,7.567404e-01_rb,7.529234e-01_rb,7.491498e-01_rb,7.454074e-01_rb,& & 7.416844e-01_rb,7.379688e-01_rb,7.342485e-01_rb,7.305118e-01_rb,7.267468e-01_rb,& & 7.229415e-01_rb,7.190841e-01_rb,7.151628e-01_rb,7.111657e-01_rb,7.070811e-01_rb,& & 7.028972e-01_rb /) ssaice3(:, 20) = (/ & ! band 20 & 9.942270e-01_rb,9.909206e-01_rb,9.876775e-01_rb,9.844960e-01_rb,9.813746e-01_rb,& & 9.783114e-01_rb,9.753049e-01_rb,9.723535e-01_rb,9.694553e-01_rb,9.666088e-01_rb,& & 9.638123e-01_rb,9.610641e-01_rb,9.583626e-01_rb,9.557060e-01_rb,9.530928e-01_rb,& & 9.505211e-01_rb,9.479895e-01_rb,9.454961e-01_rb,9.430393e-01_rb,9.406174e-01_rb,& & 9.382288e-01_rb,9.358717e-01_rb,9.335446e-01_rb,9.312456e-01_rb,9.289731e-01_rb,& & 9.267255e-01_rb,9.245010e-01_rb,9.222980e-01_rb,9.201147e-01_rb,9.179496e-01_rb,& & 9.158008e-01_rb,9.136667e-01_rb,9.115457e-01_rb,9.094359e-01_rb,9.073358e-01_rb,& & 9.052436e-01_rb,9.031577e-01_rb,9.010763e-01_rb,8.989977e-01_rb,8.969203e-01_rb,& & 8.948423e-01_rb,8.927620e-01_rb,8.906778e-01_rb,8.885879e-01_rb,8.864907e-01_rb,& & 8.843843e-01_rb /) ssaice3(:, 21) = (/ & ! band 21 & 9.934014e-01_rb,9.899331e-01_rb,9.865537e-01_rb,9.832610e-01_rb,9.800523e-01_rb,& & 9.769254e-01_rb,9.738777e-01_rb,9.709069e-01_rb,9.680106e-01_rb,9.651862e-01_rb,& & 9.624315e-01_rb,9.597439e-01_rb,9.571212e-01_rb,9.545608e-01_rb,9.520605e-01_rb,& & 9.496177e-01_rb,9.472301e-01_rb,9.448954e-01_rb,9.426111e-01_rb,9.403749e-01_rb,& & 9.381843e-01_rb,9.360370e-01_rb,9.339307e-01_rb,9.318629e-01_rb,9.298313e-01_rb,& & 9.278336e-01_rb,9.258673e-01_rb,9.239302e-01_rb,9.220198e-01_rb,9.201338e-01_rb,& & 9.182700e-01_rb,9.164258e-01_rb,9.145991e-01_rb,9.127874e-01_rb,9.109884e-01_rb,& & 9.091999e-01_rb,9.074194e-01_rb,9.056447e-01_rb,9.038735e-01_rb,9.021033e-01_rb,& & 9.003320e-01_rb,8.985572e-01_rb,8.967766e-01_rb,8.949879e-01_rb,8.931888e-01_rb,& & 8.913770e-01_rb /) ssaice3(:, 22) = (/ & ! band 22 & 9.994833e-01_rb,9.992055e-01_rb,9.989278e-01_rb,9.986500e-01_rb,9.983724e-01_rb,& & 9.980947e-01_rb,9.978172e-01_rb,9.975397e-01_rb,9.972623e-01_rb,9.969849e-01_rb,& & 9.967077e-01_rb,9.964305e-01_rb,9.961535e-01_rb,9.958765e-01_rb,9.955997e-01_rb,& & 9.953230e-01_rb,9.950464e-01_rb,9.947699e-01_rb,9.944936e-01_rb,9.942174e-01_rb,& & 9.939414e-01_rb,9.936656e-01_rb,9.933899e-01_rb,9.931144e-01_rb,9.928390e-01_rb,& & 9.925639e-01_rb,9.922889e-01_rb,9.920141e-01_rb,9.917396e-01_rb,9.914652e-01_rb,& & 9.911911e-01_rb,9.909171e-01_rb,9.906434e-01_rb,9.903700e-01_rb,9.900967e-01_rb,& & 9.898237e-01_rb,9.895510e-01_rb,9.892784e-01_rb,9.890062e-01_rb,9.887342e-01_rb,& & 9.884625e-01_rb,9.881911e-01_rb,9.879199e-01_rb,9.876490e-01_rb,9.873784e-01_rb,& & 9.871081e-01_rb /) ssaice3(:, 23) = (/ & ! band 23 & 9.999343e-01_rb,9.998917e-01_rb,9.998492e-01_rb,9.998067e-01_rb,9.997642e-01_rb,& & 9.997218e-01_rb,9.996795e-01_rb,9.996372e-01_rb,9.995949e-01_rb,9.995528e-01_rb,& & 9.995106e-01_rb,9.994686e-01_rb,9.994265e-01_rb,9.993845e-01_rb,9.993426e-01_rb,& & 9.993007e-01_rb,9.992589e-01_rb,9.992171e-01_rb,9.991754e-01_rb,9.991337e-01_rb,& & 9.990921e-01_rb,9.990505e-01_rb,9.990089e-01_rb,9.989674e-01_rb,9.989260e-01_rb,& & 9.988846e-01_rb,9.988432e-01_rb,9.988019e-01_rb,9.987606e-01_rb,9.987194e-01_rb,& & 9.986782e-01_rb,9.986370e-01_rb,9.985959e-01_rb,9.985549e-01_rb,9.985139e-01_rb,& & 9.984729e-01_rb,9.984319e-01_rb,9.983910e-01_rb,9.983502e-01_rb,9.983094e-01_rb,& & 9.982686e-01_rb,9.982279e-01_rb,9.981872e-01_rb,9.981465e-01_rb,9.981059e-01_rb,& & 9.980653e-01_rb /) ssaice3(:, 24) = (/ & ! band 24 & 9.999978e-01_rb,9.999965e-01_rb,9.999952e-01_rb,9.999939e-01_rb,9.999926e-01_rb,& & 9.999913e-01_rb,9.999900e-01_rb,9.999887e-01_rb,9.999873e-01_rb,9.999860e-01_rb,& & 9.999847e-01_rb,9.999834e-01_rb,9.999821e-01_rb,9.999808e-01_rb,9.999795e-01_rb,& & 9.999782e-01_rb,9.999769e-01_rb,9.999756e-01_rb,9.999743e-01_rb,9.999730e-01_rb,& & 9.999717e-01_rb,9.999704e-01_rb,9.999691e-01_rb,9.999678e-01_rb,9.999665e-01_rb,& & 9.999652e-01_rb,9.999639e-01_rb,9.999626e-01_rb,9.999613e-01_rb,9.999600e-01_rb,& & 9.999587e-01_rb,9.999574e-01_rb,9.999561e-01_rb,9.999548e-01_rb,9.999535e-01_rb,& & 9.999522e-01_rb,9.999509e-01_rb,9.999496e-01_rb,9.999483e-01_rb,9.999470e-01_rb,& & 9.999457e-01_rb,9.999444e-01_rb,9.999431e-01_rb,9.999418e-01_rb,9.999405e-01_rb,& & 9.999392e-01_rb /) ssaice3(:, 25) = (/ & ! band 25 & 9.999994e-01_rb,9.999993e-01_rb,9.999991e-01_rb,9.999990e-01_rb,9.999989e-01_rb,& & 9.999987e-01_rb,9.999986e-01_rb,9.999984e-01_rb,9.999983e-01_rb,9.999982e-01_rb,& & 9.999980e-01_rb,9.999979e-01_rb,9.999977e-01_rb,9.999976e-01_rb,9.999975e-01_rb,& & 9.999973e-01_rb,9.999972e-01_rb,9.999970e-01_rb,9.999969e-01_rb,9.999967e-01_rb,& & 9.999966e-01_rb,9.999965e-01_rb,9.999963e-01_rb,9.999962e-01_rb,9.999960e-01_rb,& & 9.999959e-01_rb,9.999957e-01_rb,9.999956e-01_rb,9.999954e-01_rb,9.999953e-01_rb,& & 9.999952e-01_rb,9.999950e-01_rb,9.999949e-01_rb,9.999947e-01_rb,9.999946e-01_rb,& & 9.999944e-01_rb,9.999943e-01_rb,9.999941e-01_rb,9.999940e-01_rb,9.999939e-01_rb,& & 9.999937e-01_rb,9.999936e-01_rb,9.999934e-01_rb,9.999933e-01_rb,9.999931e-01_rb,& & 9.999930e-01_rb /) ssaice3(:, 26) = (/ & ! band 26 & 9.999997e-01_rb,9.999995e-01_rb,9.999992e-01_rb,9.999990e-01_rb,9.999987e-01_rb,& & 9.999985e-01_rb,9.999983e-01_rb,9.999980e-01_rb,9.999978e-01_rb,9.999976e-01_rb,& & 9.999973e-01_rb,9.999971e-01_rb,9.999969e-01_rb,9.999967e-01_rb,9.999965e-01_rb,& & 9.999963e-01_rb,9.999960e-01_rb,9.999958e-01_rb,9.999956e-01_rb,9.999954e-01_rb,& & 9.999952e-01_rb,9.999950e-01_rb,9.999948e-01_rb,9.999946e-01_rb,9.999944e-01_rb,& & 9.999942e-01_rb,9.999939e-01_rb,9.999937e-01_rb,9.999935e-01_rb,9.999933e-01_rb,& & 9.999931e-01_rb,9.999929e-01_rb,9.999927e-01_rb,9.999925e-01_rb,9.999923e-01_rb,& & 9.999920e-01_rb,9.999918e-01_rb,9.999916e-01_rb,9.999914e-01_rb,9.999911e-01_rb,& & 9.999909e-01_rb,9.999907e-01_rb,9.999905e-01_rb,9.999902e-01_rb,9.999900e-01_rb,& & 9.999897e-01_rb /) ssaice3(:, 27) = (/ & ! band 27 & 9.999991e-01_rb,9.999985e-01_rb,9.999980e-01_rb,9.999974e-01_rb,9.999968e-01_rb,& & 9.999963e-01_rb,9.999957e-01_rb,9.999951e-01_rb,9.999946e-01_rb,9.999940e-01_rb,& & 9.999934e-01_rb,9.999929e-01_rb,9.999923e-01_rb,9.999918e-01_rb,9.999912e-01_rb,& & 9.999907e-01_rb,9.999901e-01_rb,9.999896e-01_rb,9.999891e-01_rb,9.999885e-01_rb,& & 9.999880e-01_rb,9.999874e-01_rb,9.999869e-01_rb,9.999863e-01_rb,9.999858e-01_rb,& & 9.999853e-01_rb,9.999847e-01_rb,9.999842e-01_rb,9.999836e-01_rb,9.999831e-01_rb,& & 9.999826e-01_rb,9.999820e-01_rb,9.999815e-01_rb,9.999809e-01_rb,9.999804e-01_rb,& & 9.999798e-01_rb,9.999793e-01_rb,9.999787e-01_rb,9.999782e-01_rb,9.999776e-01_rb,& & 9.999770e-01_rb,9.999765e-01_rb,9.999759e-01_rb,9.999754e-01_rb,9.999748e-01_rb,& & 9.999742e-01_rb /) ssaice3(:, 28) = (/ & ! band 28 & 9.999975e-01_rb,9.999961e-01_rb,9.999946e-01_rb,9.999931e-01_rb,9.999917e-01_rb,& & 9.999903e-01_rb,9.999888e-01_rb,9.999874e-01_rb,9.999859e-01_rb,9.999845e-01_rb,& & 9.999831e-01_rb,9.999816e-01_rb,9.999802e-01_rb,9.999788e-01_rb,9.999774e-01_rb,& & 9.999759e-01_rb,9.999745e-01_rb,9.999731e-01_rb,9.999717e-01_rb,9.999702e-01_rb,& & 9.999688e-01_rb,9.999674e-01_rb,9.999660e-01_rb,9.999646e-01_rb,9.999631e-01_rb,& & 9.999617e-01_rb,9.999603e-01_rb,9.999589e-01_rb,9.999574e-01_rb,9.999560e-01_rb,& & 9.999546e-01_rb,9.999532e-01_rb,9.999517e-01_rb,9.999503e-01_rb,9.999489e-01_rb,& & 9.999474e-01_rb,9.999460e-01_rb,9.999446e-01_rb,9.999431e-01_rb,9.999417e-01_rb,& & 9.999403e-01_rb,9.999388e-01_rb,9.999374e-01_rb,9.999359e-01_rb,9.999345e-01_rb,& & 9.999330e-01_rb /) ssaice3(:, 29) = (/ & ! band 29 & 4.526500e-01_rb,5.287890e-01_rb,5.410487e-01_rb,5.459865e-01_rb,5.485149e-01_rb,& & 5.498914e-01_rb,5.505895e-01_rb,5.508310e-01_rb,5.507364e-01_rb,5.503793e-01_rb,& & 5.498090e-01_rb,5.490612e-01_rb,5.481637e-01_rb,5.471395e-01_rb,5.460083e-01_rb,& & 5.447878e-01_rb,5.434946e-01_rb,5.421442e-01_rb,5.407514e-01_rb,5.393309e-01_rb,& & 5.378970e-01_rb,5.364641e-01_rb,5.350464e-01_rb,5.336582e-01_rb,5.323140e-01_rb,& & 5.310283e-01_rb,5.298158e-01_rb,5.286914e-01_rb,5.276704e-01_rb,5.267680e-01_rb,& & 5.260000e-01_rb,5.253823e-01_rb,5.249311e-01_rb,5.246629e-01_rb,5.245946e-01_rb,& & 5.247434e-01_rb,5.251268e-01_rb,5.257626e-01_rb,5.266693e-01_rb,5.278653e-01_rb,& & 5.293698e-01_rb,5.312022e-01_rb,5.333823e-01_rb,5.359305e-01_rb,5.388676e-01_rb,& & 5.422146e-01_rb /) ! asymmetry factor: unitless asyice3(:, 16) = (/ & ! band 16 & 8.340752e-01_rb,8.435170e-01_rb,8.517487e-01_rb,8.592064e-01_rb,8.660387e-01_rb,& & 8.723204e-01_rb,8.780997e-01_rb,8.834137e-01_rb,8.882934e-01_rb,8.927662e-01_rb,& & 8.968577e-01_rb,9.005914e-01_rb,9.039899e-01_rb,9.070745e-01_rb,9.098659e-01_rb,& & 9.123836e-01_rb,9.146466e-01_rb,9.166734e-01_rb,9.184817e-01_rb,9.200886e-01_rb,& & 9.215109e-01_rb,9.227648e-01_rb,9.238661e-01_rb,9.248304e-01_rb,9.256727e-01_rb,& & 9.264078e-01_rb,9.270505e-01_rb,9.276150e-01_rb,9.281156e-01_rb,9.285662e-01_rb,& & 9.289806e-01_rb,9.293726e-01_rb,9.297557e-01_rb,9.301435e-01_rb,9.305491e-01_rb,& & 9.309859e-01_rb,9.314671e-01_rb,9.320055e-01_rb,9.326140e-01_rb,9.333053e-01_rb,& & 9.340919e-01_rb,9.349861e-01_rb,9.360000e-01_rb,9.371451e-01_rb,9.384329e-01_rb,& & 9.398744e-01_rb /) asyice3(:, 17) = (/ & ! band 17 & 8.728160e-01_rb,8.777333e-01_rb,8.823754e-01_rb,8.867535e-01_rb,8.908785e-01_rb,& & 8.947611e-01_rb,8.984118e-01_rb,9.018408e-01_rb,9.050582e-01_rb,9.080739e-01_rb,& & 9.108976e-01_rb,9.135388e-01_rb,9.160068e-01_rb,9.183106e-01_rb,9.204595e-01_rb,& & 9.224620e-01_rb,9.243271e-01_rb,9.260632e-01_rb,9.276788e-01_rb,9.291822e-01_rb,& & 9.305817e-01_rb,9.318853e-01_rb,9.331012e-01_rb,9.342372e-01_rb,9.353013e-01_rb,& & 9.363013e-01_rb,9.372450e-01_rb,9.381400e-01_rb,9.389939e-01_rb,9.398145e-01_rb,& & 9.406092e-01_rb,9.413856e-01_rb,9.421511e-01_rb,9.429131e-01_rb,9.436790e-01_rb,& & 9.444561e-01_rb,9.452517e-01_rb,9.460729e-01_rb,9.469270e-01_rb,9.478209e-01_rb,& & 9.487617e-01_rb,9.497562e-01_rb,9.508112e-01_rb,9.519335e-01_rb,9.531294e-01_rb,& & 9.544055e-01_rb /) asyice3(:, 18) = (/ & ! band 18 & 7.897566e-01_rb,7.948704e-01_rb,7.998041e-01_rb,8.045623e-01_rb,8.091495e-01_rb,& & 8.135702e-01_rb,8.178290e-01_rb,8.219305e-01_rb,8.258790e-01_rb,8.296792e-01_rb,& & 8.333355e-01_rb,8.368524e-01_rb,8.402343e-01_rb,8.434856e-01_rb,8.466108e-01_rb,& & 8.496143e-01_rb,8.525004e-01_rb,8.552737e-01_rb,8.579384e-01_rb,8.604990e-01_rb,& & 8.629597e-01_rb,8.653250e-01_rb,8.675992e-01_rb,8.697867e-01_rb,8.718916e-01_rb,& & 8.739185e-01_rb,8.758715e-01_rb,8.777551e-01_rb,8.795734e-01_rb,8.813308e-01_rb,& & 8.830315e-01_rb,8.846799e-01_rb,8.862802e-01_rb,8.878366e-01_rb,8.893534e-01_rb,& & 8.908350e-01_rb,8.922854e-01_rb,8.937090e-01_rb,8.951099e-01_rb,8.964925e-01_rb,& & 8.978609e-01_rb,8.992192e-01_rb,9.005718e-01_rb,9.019229e-01_rb,9.032765e-01_rb,& & 9.046369e-01_rb /) asyice3(:, 19) = (/ & ! band 19 & 7.812615e-01_rb,7.887764e-01_rb,7.959664e-01_rb,8.028413e-01_rb,8.094109e-01_rb,& & 8.156849e-01_rb,8.216730e-01_rb,8.273846e-01_rb,8.328294e-01_rb,8.380166e-01_rb,& & 8.429556e-01_rb,8.476556e-01_rb,8.521258e-01_rb,8.563753e-01_rb,8.604131e-01_rb,& & 8.642481e-01_rb,8.678893e-01_rb,8.713455e-01_rb,8.746254e-01_rb,8.777378e-01_rb,& & 8.806914e-01_rb,8.834948e-01_rb,8.861566e-01_rb,8.886854e-01_rb,8.910897e-01_rb,& & 8.933779e-01_rb,8.955586e-01_rb,8.976402e-01_rb,8.996311e-01_rb,9.015398e-01_rb,& & 9.033745e-01_rb,9.051436e-01_rb,9.068555e-01_rb,9.085185e-01_rb,9.101410e-01_rb,& & 9.117311e-01_rb,9.132972e-01_rb,9.148476e-01_rb,9.163905e-01_rb,9.179340e-01_rb,& & 9.194864e-01_rb,9.210559e-01_rb,9.226505e-01_rb,9.242784e-01_rb,9.259476e-01_rb,& & 9.276661e-01_rb /) asyice3(:, 20) = (/ & ! band 20 & 7.640720e-01_rb,7.691119e-01_rb,7.739941e-01_rb,7.787222e-01_rb,7.832998e-01_rb,& & 7.877304e-01_rb,7.920177e-01_rb,7.961652e-01_rb,8.001765e-01_rb,8.040551e-01_rb,& & 8.078044e-01_rb,8.114280e-01_rb,8.149294e-01_rb,8.183119e-01_rb,8.215791e-01_rb,& & 8.247344e-01_rb,8.277812e-01_rb,8.307229e-01_rb,8.335629e-01_rb,8.363046e-01_rb,& & 8.389514e-01_rb,8.415067e-01_rb,8.439738e-01_rb,8.463560e-01_rb,8.486568e-01_rb,& & 8.508795e-01_rb,8.530274e-01_rb,8.551039e-01_rb,8.571122e-01_rb,8.590558e-01_rb,& & 8.609378e-01_rb,8.627618e-01_rb,8.645309e-01_rb,8.662485e-01_rb,8.679178e-01_rb,& & 8.695423e-01_rb,8.711251e-01_rb,8.726697e-01_rb,8.741792e-01_rb,8.756571e-01_rb,& & 8.771065e-01_rb,8.785307e-01_rb,8.799331e-01_rb,8.813169e-01_rb,8.826854e-01_rb,& & 8.840419e-01_rb /) asyice3(:, 21) = (/ & ! band 21 & 7.602598e-01_rb,7.651572e-01_rb,7.699014e-01_rb,7.744962e-01_rb,7.789452e-01_rb,& & 7.832522e-01_rb,7.874205e-01_rb,7.914538e-01_rb,7.953555e-01_rb,7.991290e-01_rb,& & 8.027777e-01_rb,8.063049e-01_rb,8.097140e-01_rb,8.130081e-01_rb,8.161906e-01_rb,& & 8.192645e-01_rb,8.222331e-01_rb,8.250993e-01_rb,8.278664e-01_rb,8.305374e-01_rb,& & 8.331153e-01_rb,8.356030e-01_rb,8.380037e-01_rb,8.403201e-01_rb,8.425553e-01_rb,& & 8.447121e-01_rb,8.467935e-01_rb,8.488022e-01_rb,8.507412e-01_rb,8.526132e-01_rb,& & 8.544210e-01_rb,8.561675e-01_rb,8.578554e-01_rb,8.594875e-01_rb,8.610665e-01_rb,& & 8.625951e-01_rb,8.640760e-01_rb,8.655119e-01_rb,8.669055e-01_rb,8.682594e-01_rb,& & 8.695763e-01_rb,8.708587e-01_rb,8.721094e-01_rb,8.733308e-01_rb,8.745255e-01_rb,& & 8.756961e-01_rb /) asyice3(:, 22) = (/ & ! band 22 & 7.568957e-01_rb,7.606995e-01_rb,7.644072e-01_rb,7.680204e-01_rb,7.715402e-01_rb,& & 7.749682e-01_rb,7.783057e-01_rb,7.815541e-01_rb,7.847148e-01_rb,7.877892e-01_rb,& & 7.907786e-01_rb,7.936846e-01_rb,7.965084e-01_rb,7.992515e-01_rb,8.019153e-01_rb,& & 8.045011e-01_rb,8.070103e-01_rb,8.094444e-01_rb,8.118048e-01_rb,8.140927e-01_rb,& & 8.163097e-01_rb,8.184571e-01_rb,8.205364e-01_rb,8.225488e-01_rb,8.244958e-01_rb,& & 8.263789e-01_rb,8.281993e-01_rb,8.299586e-01_rb,8.316580e-01_rb,8.332991e-01_rb,& & 8.348831e-01_rb,8.364115e-01_rb,8.378857e-01_rb,8.393071e-01_rb,8.406770e-01_rb,& & 8.419969e-01_rb,8.432682e-01_rb,8.444923e-01_rb,8.456706e-01_rb,8.468044e-01_rb,& & 8.478952e-01_rb,8.489444e-01_rb,8.499533e-01_rb,8.509234e-01_rb,8.518561e-01_rb,& & 8.527528e-01_rb /) asyice3(:, 23) = (/ & ! band 23 & 7.575066e-01_rb,7.606912e-01_rb,7.638236e-01_rb,7.669035e-01_rb,7.699306e-01_rb,& & 7.729046e-01_rb,7.758254e-01_rb,7.786926e-01_rb,7.815060e-01_rb,7.842654e-01_rb,& & 7.869705e-01_rb,7.896211e-01_rb,7.922168e-01_rb,7.947574e-01_rb,7.972428e-01_rb,& & 7.996726e-01_rb,8.020466e-01_rb,8.043646e-01_rb,8.066262e-01_rb,8.088313e-01_rb,& & 8.109796e-01_rb,8.130709e-01_rb,8.151049e-01_rb,8.170814e-01_rb,8.190001e-01_rb,& & 8.208608e-01_rb,8.226632e-01_rb,8.244071e-01_rb,8.260924e-01_rb,8.277186e-01_rb,& & 8.292856e-01_rb,8.307932e-01_rb,8.322411e-01_rb,8.336291e-01_rb,8.349570e-01_rb,& & 8.362244e-01_rb,8.374312e-01_rb,8.385772e-01_rb,8.396621e-01_rb,8.406856e-01_rb,& & 8.416476e-01_rb,8.425479e-01_rb,8.433861e-01_rb,8.441620e-01_rb,8.448755e-01_rb,& & 8.455263e-01_rb /) asyice3(:, 24) = (/ & ! band 24 & 7.568829e-01_rb,7.597947e-01_rb,7.626745e-01_rb,7.655212e-01_rb,7.683337e-01_rb,& & 7.711111e-01_rb,7.738523e-01_rb,7.765565e-01_rb,7.792225e-01_rb,7.818494e-01_rb,& & 7.844362e-01_rb,7.869819e-01_rb,7.894854e-01_rb,7.919459e-01_rb,7.943623e-01_rb,& & 7.967337e-01_rb,7.990590e-01_rb,8.013373e-01_rb,8.035676e-01_rb,8.057488e-01_rb,& & 8.078802e-01_rb,8.099605e-01_rb,8.119890e-01_rb,8.139645e-01_rb,8.158862e-01_rb,& & 8.177530e-01_rb,8.195641e-01_rb,8.213183e-01_rb,8.230149e-01_rb,8.246527e-01_rb,& & 8.262308e-01_rb,8.277483e-01_rb,8.292042e-01_rb,8.305976e-01_rb,8.319275e-01_rb,& & 8.331929e-01_rb,8.343929e-01_rb,8.355265e-01_rb,8.365928e-01_rb,8.375909e-01_rb,& & 8.385197e-01_rb,8.393784e-01_rb,8.401659e-01_rb,8.408815e-01_rb,8.415240e-01_rb,& & 8.420926e-01_rb /) asyice3(:, 25) = (/ & ! band 25 & 7.548616e-01_rb,7.575454e-01_rb,7.602153e-01_rb,7.628696e-01_rb,7.655067e-01_rb,& & 7.681249e-01_rb,7.707225e-01_rb,7.732978e-01_rb,7.758492e-01_rb,7.783750e-01_rb,& & 7.808735e-01_rb,7.833430e-01_rb,7.857819e-01_rb,7.881886e-01_rb,7.905612e-01_rb,& & 7.928983e-01_rb,7.951980e-01_rb,7.974588e-01_rb,7.996789e-01_rb,8.018567e-01_rb,& & 8.039905e-01_rb,8.060787e-01_rb,8.081196e-01_rb,8.101115e-01_rb,8.120527e-01_rb,& & 8.139416e-01_rb,8.157764e-01_rb,8.175557e-01_rb,8.192776e-01_rb,8.209405e-01_rb,& & 8.225427e-01_rb,8.240826e-01_rb,8.255585e-01_rb,8.269688e-01_rb,8.283117e-01_rb,& & 8.295856e-01_rb,8.307889e-01_rb,8.319198e-01_rb,8.329767e-01_rb,8.339579e-01_rb,& & 8.348619e-01_rb,8.356868e-01_rb,8.364311e-01_rb,8.370930e-01_rb,8.376710e-01_rb,& & 8.381633e-01_rb /) asyice3(:, 26) = (/ & ! band 26 & 7.491854e-01_rb,7.518523e-01_rb,7.545089e-01_rb,7.571534e-01_rb,7.597839e-01_rb,& & 7.623987e-01_rb,7.649959e-01_rb,7.675737e-01_rb,7.701303e-01_rb,7.726639e-01_rb,& & 7.751727e-01_rb,7.776548e-01_rb,7.801084e-01_rb,7.825318e-01_rb,7.849230e-01_rb,& & 7.872804e-01_rb,7.896020e-01_rb,7.918862e-01_rb,7.941309e-01_rb,7.963345e-01_rb,& & 7.984951e-01_rb,8.006109e-01_rb,8.026802e-01_rb,8.047009e-01_rb,8.066715e-01_rb,& & 8.085900e-01_rb,8.104546e-01_rb,8.122636e-01_rb,8.140150e-01_rb,8.157072e-01_rb,& & 8.173382e-01_rb,8.189063e-01_rb,8.204096e-01_rb,8.218464e-01_rb,8.232148e-01_rb,& & 8.245130e-01_rb,8.257391e-01_rb,8.268915e-01_rb,8.279682e-01_rb,8.289675e-01_rb,& & 8.298875e-01_rb,8.307264e-01_rb,8.314824e-01_rb,8.321537e-01_rb,8.327385e-01_rb,& & 8.332350e-01_rb /) asyice3(:, 27) = (/ & ! band 27 & 7.397086e-01_rb,7.424069e-01_rb,7.450955e-01_rb,7.477725e-01_rb,7.504362e-01_rb,& & 7.530846e-01_rb,7.557159e-01_rb,7.583283e-01_rb,7.609199e-01_rb,7.634888e-01_rb,& & 7.660332e-01_rb,7.685512e-01_rb,7.710411e-01_rb,7.735009e-01_rb,7.759288e-01_rb,& & 7.783229e-01_rb,7.806814e-01_rb,7.830024e-01_rb,7.852841e-01_rb,7.875246e-01_rb,& & 7.897221e-01_rb,7.918748e-01_rb,7.939807e-01_rb,7.960380e-01_rb,7.980449e-01_rb,& & 7.999995e-01_rb,8.019000e-01_rb,8.037445e-01_rb,8.055311e-01_rb,8.072581e-01_rb,& & 8.089235e-01_rb,8.105255e-01_rb,8.120623e-01_rb,8.135319e-01_rb,8.149326e-01_rb,& & 8.162626e-01_rb,8.175198e-01_rb,8.187025e-01_rb,8.198089e-01_rb,8.208371e-01_rb,& & 8.217852e-01_rb,8.226514e-01_rb,8.234338e-01_rb,8.241306e-01_rb,8.247399e-01_rb,& & 8.252599e-01_rb /) asyice3(:, 28) = (/ & ! band 28 & 7.224533e-01_rb,7.251681e-01_rb,7.278728e-01_rb,7.305654e-01_rb,7.332444e-01_rb,& & 7.359078e-01_rb,7.385539e-01_rb,7.411808e-01_rb,7.437869e-01_rb,7.463702e-01_rb,& & 7.489291e-01_rb,7.514616e-01_rb,7.539661e-01_rb,7.564408e-01_rb,7.588837e-01_rb,& & 7.612933e-01_rb,7.636676e-01_rb,7.660049e-01_rb,7.683034e-01_rb,7.705612e-01_rb,& & 7.727767e-01_rb,7.749480e-01_rb,7.770733e-01_rb,7.791509e-01_rb,7.811789e-01_rb,& & 7.831556e-01_rb,7.850791e-01_rb,7.869478e-01_rb,7.887597e-01_rb,7.905131e-01_rb,& & 7.922062e-01_rb,7.938372e-01_rb,7.954044e-01_rb,7.969059e-01_rb,7.983399e-01_rb,& & 7.997047e-01_rb,8.009985e-01_rb,8.022195e-01_rb,8.033658e-01_rb,8.044357e-01_rb,& & 8.054275e-01_rb,8.063392e-01_rb,8.071692e-01_rb,8.079157e-01_rb,8.085768e-01_rb,& & 8.091507e-01_rb /) asyice3(:, 29) = (/ & ! band 29 & 8.850026e-01_rb,9.005489e-01_rb,9.069242e-01_rb,9.121799e-01_rb,9.168987e-01_rb,& & 9.212259e-01_rb,9.252176e-01_rb,9.289028e-01_rb,9.323000e-01_rb,9.354235e-01_rb,& & 9.382858e-01_rb,9.408985e-01_rb,9.432734e-01_rb,9.454218e-01_rb,9.473557e-01_rb,& & 9.490871e-01_rb,9.506282e-01_rb,9.519917e-01_rb,9.531904e-01_rb,9.542374e-01_rb,& & 9.551461e-01_rb,9.559298e-01_rb,9.566023e-01_rb,9.571775e-01_rb,9.576692e-01_rb,& & 9.580916e-01_rb,9.584589e-01_rb,9.587853e-01_rb,9.590851e-01_rb,9.593729e-01_rb,& & 9.596632e-01_rb,9.599705e-01_rb,9.603096e-01_rb,9.606954e-01_rb,9.611427e-01_rb,& & 9.616667e-01_rb,9.622826e-01_rb,9.630060e-01_rb,9.638524e-01_rb,9.648379e-01_rb,& & 9.659788e-01_rb,9.672916e-01_rb,9.687933e-01_rb,9.705014e-01_rb,9.724337e-01_rb,& & 9.746084e-01_rb /) ! fdelta: unitless fdlice3(:, 16) = (/ & ! band 16 & 4.959277e-02_rb,4.685292e-02_rb,4.426104e-02_rb,4.181231e-02_rb,3.950191e-02_rb,& & 3.732500e-02_rb,3.527675e-02_rb,3.335235e-02_rb,3.154697e-02_rb,2.985578e-02_rb,& & 2.827395e-02_rb,2.679666e-02_rb,2.541909e-02_rb,2.413640e-02_rb,2.294378e-02_rb,& & 2.183639e-02_rb,2.080940e-02_rb,1.985801e-02_rb,1.897736e-02_rb,1.816265e-02_rb,& & 1.740905e-02_rb,1.671172e-02_rb,1.606585e-02_rb,1.546661e-02_rb,1.490917e-02_rb,& & 1.438870e-02_rb,1.390038e-02_rb,1.343939e-02_rb,1.300089e-02_rb,1.258006e-02_rb,& & 1.217208e-02_rb,1.177212e-02_rb,1.137536e-02_rb,1.097696e-02_rb,1.057210e-02_rb,& & 1.015596e-02_rb,9.723704e-03_rb,9.270516e-03_rb,8.791565e-03_rb,8.282026e-03_rb,& & 7.737072e-03_rb,7.151879e-03_rb,6.521619e-03_rb,5.841467e-03_rb,5.106597e-03_rb,& & 4.312183e-03_rb /) fdlice3(:, 17) = (/ & ! band 17 & 5.071224e-02_rb,5.000217e-02_rb,4.933872e-02_rb,4.871992e-02_rb,4.814380e-02_rb,& & 4.760839e-02_rb,4.711170e-02_rb,4.665177e-02_rb,4.622662e-02_rb,4.583426e-02_rb,& & 4.547274e-02_rb,4.514007e-02_rb,4.483428e-02_rb,4.455340e-02_rb,4.429544e-02_rb,& & 4.405844e-02_rb,4.384041e-02_rb,4.363939e-02_rb,4.345340e-02_rb,4.328047e-02_rb,& & 4.311861e-02_rb,4.296586e-02_rb,4.282024e-02_rb,4.267977e-02_rb,4.254248e-02_rb,& & 4.240640e-02_rb,4.226955e-02_rb,4.212995e-02_rb,4.198564e-02_rb,4.183462e-02_rb,& & 4.167494e-02_rb,4.150462e-02_rb,4.132167e-02_rb,4.112413e-02_rb,4.091003e-02_rb,& & 4.067737e-02_rb,4.042420e-02_rb,4.014854e-02_rb,3.984840e-02_rb,3.952183e-02_rb,& & 3.916683e-02_rb,3.878144e-02_rb,3.836368e-02_rb,3.791158e-02_rb,3.742316e-02_rb,& & 3.689645e-02_rb /) fdlice3(:, 18) = (/ & ! band 18 & 1.062938e-01_rb,1.065234e-01_rb,1.067822e-01_rb,1.070682e-01_rb,1.073793e-01_rb,& & 1.077137e-01_rb,1.080693e-01_rb,1.084442e-01_rb,1.088364e-01_rb,1.092439e-01_rb,& & 1.096647e-01_rb,1.100970e-01_rb,1.105387e-01_rb,1.109878e-01_rb,1.114423e-01_rb,& & 1.119004e-01_rb,1.123599e-01_rb,1.128190e-01_rb,1.132757e-01_rb,1.137279e-01_rb,& & 1.141738e-01_rb,1.146113e-01_rb,1.150385e-01_rb,1.154534e-01_rb,1.158540e-01_rb,& & 1.162383e-01_rb,1.166045e-01_rb,1.169504e-01_rb,1.172741e-01_rb,1.175738e-01_rb,& & 1.178472e-01_rb,1.180926e-01_rb,1.183080e-01_rb,1.184913e-01_rb,1.186405e-01_rb,& & 1.187538e-01_rb,1.188291e-01_rb,1.188645e-01_rb,1.188580e-01_rb,1.188076e-01_rb,& & 1.187113e-01_rb,1.185672e-01_rb,1.183733e-01_rb,1.181277e-01_rb,1.178282e-01_rb,& & 1.174731e-01_rb /) fdlice3(:, 19) = (/ & ! band 19 & 1.076195e-01_rb,1.065195e-01_rb,1.054696e-01_rb,1.044673e-01_rb,1.035099e-01_rb,& & 1.025951e-01_rb,1.017203e-01_rb,1.008831e-01_rb,1.000808e-01_rb,9.931116e-02_rb,& & 9.857151e-02_rb,9.785939e-02_rb,9.717230e-02_rb,9.650774e-02_rb,9.586322e-02_rb,& & 9.523623e-02_rb,9.462427e-02_rb,9.402484e-02_rb,9.343544e-02_rb,9.285358e-02_rb,& & 9.227675e-02_rb,9.170245e-02_rb,9.112818e-02_rb,9.055144e-02_rb,8.996974e-02_rb,& & 8.938056e-02_rb,8.878142e-02_rb,8.816981e-02_rb,8.754323e-02_rb,8.689919e-02_rb,& & 8.623517e-02_rb,8.554869e-02_rb,8.483724e-02_rb,8.409832e-02_rb,8.332943e-02_rb,& & 8.252807e-02_rb,8.169175e-02_rb,8.081795e-02_rb,7.990419e-02_rb,7.894796e-02_rb,& & 7.794676e-02_rb,7.689809e-02_rb,7.579945e-02_rb,7.464834e-02_rb,7.344227e-02_rb,& & 7.217872e-02_rb /) fdlice3(:, 20) = (/ & ! band 20 & 1.119014e-01_rb,1.122706e-01_rb,1.126690e-01_rb,1.130947e-01_rb,1.135456e-01_rb,& & 1.140199e-01_rb,1.145154e-01_rb,1.150302e-01_rb,1.155623e-01_rb,1.161096e-01_rb,& & 1.166703e-01_rb,1.172422e-01_rb,1.178233e-01_rb,1.184118e-01_rb,1.190055e-01_rb,& & 1.196025e-01_rb,1.202008e-01_rb,1.207983e-01_rb,1.213931e-01_rb,1.219832e-01_rb,& & 1.225665e-01_rb,1.231411e-01_rb,1.237050e-01_rb,1.242561e-01_rb,1.247926e-01_rb,& & 1.253122e-01_rb,1.258132e-01_rb,1.262934e-01_rb,1.267509e-01_rb,1.271836e-01_rb,& & 1.275896e-01_rb,1.279669e-01_rb,1.283134e-01_rb,1.286272e-01_rb,1.289063e-01_rb,& & 1.291486e-01_rb,1.293522e-01_rb,1.295150e-01_rb,1.296351e-01_rb,1.297104e-01_rb,& & 1.297390e-01_rb,1.297189e-01_rb,1.296480e-01_rb,1.295244e-01_rb,1.293460e-01_rb,& & 1.291109e-01_rb /) fdlice3(:, 21) = (/ & ! band 21 & 1.133298e-01_rb,1.136777e-01_rb,1.140556e-01_rb,1.144615e-01_rb,1.148934e-01_rb,& & 1.153492e-01_rb,1.158269e-01_rb,1.163243e-01_rb,1.168396e-01_rb,1.173706e-01_rb,& & 1.179152e-01_rb,1.184715e-01_rb,1.190374e-01_rb,1.196108e-01_rb,1.201897e-01_rb,& & 1.207720e-01_rb,1.213558e-01_rb,1.219389e-01_rb,1.225194e-01_rb,1.230951e-01_rb,& & 1.236640e-01_rb,1.242241e-01_rb,1.247733e-01_rb,1.253096e-01_rb,1.258309e-01_rb,& & 1.263352e-01_rb,1.268205e-01_rb,1.272847e-01_rb,1.277257e-01_rb,1.281415e-01_rb,& & 1.285300e-01_rb,1.288893e-01_rb,1.292173e-01_rb,1.295118e-01_rb,1.297710e-01_rb,& & 1.299927e-01_rb,1.301748e-01_rb,1.303154e-01_rb,1.304124e-01_rb,1.304637e-01_rb,& & 1.304673e-01_rb,1.304212e-01_rb,1.303233e-01_rb,1.301715e-01_rb,1.299638e-01_rb,& & 1.296983e-01_rb /) fdlice3(:, 22) = (/ & ! band 22 & 1.145360e-01_rb,1.153256e-01_rb,1.161453e-01_rb,1.169929e-01_rb,1.178666e-01_rb,& & 1.187641e-01_rb,1.196835e-01_rb,1.206227e-01_rb,1.215796e-01_rb,1.225522e-01_rb,& & 1.235383e-01_rb,1.245361e-01_rb,1.255433e-01_rb,1.265579e-01_rb,1.275779e-01_rb,& & 1.286011e-01_rb,1.296257e-01_rb,1.306494e-01_rb,1.316703e-01_rb,1.326862e-01_rb,& & 1.336951e-01_rb,1.346950e-01_rb,1.356838e-01_rb,1.366594e-01_rb,1.376198e-01_rb,& & 1.385629e-01_rb,1.394866e-01_rb,1.403889e-01_rb,1.412678e-01_rb,1.421212e-01_rb,& & 1.429469e-01_rb,1.437430e-01_rb,1.445074e-01_rb,1.452381e-01_rb,1.459329e-01_rb,& & 1.465899e-01_rb,1.472069e-01_rb,1.477819e-01_rb,1.483128e-01_rb,1.487976e-01_rb,& & 1.492343e-01_rb,1.496207e-01_rb,1.499548e-01_rb,1.502346e-01_rb,1.504579e-01_rb,& & 1.506227e-01_rb /) fdlice3(:, 23) = (/ & ! band 23 & 1.153263e-01_rb,1.161445e-01_rb,1.169932e-01_rb,1.178703e-01_rb,1.187738e-01_rb,& & 1.197016e-01_rb,1.206516e-01_rb,1.216217e-01_rb,1.226099e-01_rb,1.236141e-01_rb,& & 1.246322e-01_rb,1.256621e-01_rb,1.267017e-01_rb,1.277491e-01_rb,1.288020e-01_rb,& & 1.298584e-01_rb,1.309163e-01_rb,1.319736e-01_rb,1.330281e-01_rb,1.340778e-01_rb,& & 1.351207e-01_rb,1.361546e-01_rb,1.371775e-01_rb,1.381873e-01_rb,1.391820e-01_rb,& & 1.401593e-01_rb,1.411174e-01_rb,1.420540e-01_rb,1.429671e-01_rb,1.438547e-01_rb,& & 1.447146e-01_rb,1.455449e-01_rb,1.463433e-01_rb,1.471078e-01_rb,1.478364e-01_rb,& & 1.485270e-01_rb,1.491774e-01_rb,1.497857e-01_rb,1.503497e-01_rb,1.508674e-01_rb,& & 1.513367e-01_rb,1.517554e-01_rb,1.521216e-01_rb,1.524332e-01_rb,1.526880e-01_rb,& & 1.528840e-01_rb /) fdlice3(:, 24) = (/ & ! band 24 & 1.160842e-01_rb,1.169118e-01_rb,1.177697e-01_rb,1.186556e-01_rb,1.195676e-01_rb,& & 1.205036e-01_rb,1.214616e-01_rb,1.224394e-01_rb,1.234349e-01_rb,1.244463e-01_rb,& & 1.254712e-01_rb,1.265078e-01_rb,1.275539e-01_rb,1.286075e-01_rb,1.296664e-01_rb,& & 1.307287e-01_rb,1.317923e-01_rb,1.328550e-01_rb,1.339149e-01_rb,1.349699e-01_rb,& & 1.360179e-01_rb,1.370567e-01_rb,1.380845e-01_rb,1.390991e-01_rb,1.400984e-01_rb,& & 1.410803e-01_rb,1.420429e-01_rb,1.429840e-01_rb,1.439016e-01_rb,1.447936e-01_rb,& & 1.456579e-01_rb,1.464925e-01_rb,1.472953e-01_rb,1.480642e-01_rb,1.487972e-01_rb,& & 1.494923e-01_rb,1.501472e-01_rb,1.507601e-01_rb,1.513287e-01_rb,1.518511e-01_rb,& & 1.523252e-01_rb,1.527489e-01_rb,1.531201e-01_rb,1.534368e-01_rb,1.536969e-01_rb,& & 1.538984e-01_rb /) fdlice3(:, 25) = (/ & ! band 25 & 1.168725e-01_rb,1.177088e-01_rb,1.185747e-01_rb,1.194680e-01_rb,1.203867e-01_rb,& & 1.213288e-01_rb,1.222923e-01_rb,1.232750e-01_rb,1.242750e-01_rb,1.252903e-01_rb,& & 1.263187e-01_rb,1.273583e-01_rb,1.284069e-01_rb,1.294626e-01_rb,1.305233e-01_rb,& & 1.315870e-01_rb,1.326517e-01_rb,1.337152e-01_rb,1.347756e-01_rb,1.358308e-01_rb,& & 1.368788e-01_rb,1.379175e-01_rb,1.389449e-01_rb,1.399590e-01_rb,1.409577e-01_rb,& & 1.419389e-01_rb,1.429007e-01_rb,1.438410e-01_rb,1.447577e-01_rb,1.456488e-01_rb,& & 1.465123e-01_rb,1.473461e-01_rb,1.481483e-01_rb,1.489166e-01_rb,1.496492e-01_rb,& & 1.503439e-01_rb,1.509988e-01_rb,1.516118e-01_rb,1.521808e-01_rb,1.527038e-01_rb,& & 1.531788e-01_rb,1.536037e-01_rb,1.539764e-01_rb,1.542951e-01_rb,1.545575e-01_rb,& & 1.547617e-01_rb /) fdlice3(:, 26) = (/ & !band 26 & 1.180509e-01_rb,1.189025e-01_rb,1.197820e-01_rb,1.206875e-01_rb,1.216171e-01_rb,& & 1.225687e-01_rb,1.235404e-01_rb,1.245303e-01_rb,1.255363e-01_rb,1.265564e-01_rb,& & 1.275888e-01_rb,1.286313e-01_rb,1.296821e-01_rb,1.307392e-01_rb,1.318006e-01_rb,& & 1.328643e-01_rb,1.339284e-01_rb,1.349908e-01_rb,1.360497e-01_rb,1.371029e-01_rb,& & 1.381486e-01_rb,1.391848e-01_rb,1.402095e-01_rb,1.412208e-01_rb,1.422165e-01_rb,& & 1.431949e-01_rb,1.441539e-01_rb,1.450915e-01_rb,1.460058e-01_rb,1.468947e-01_rb,& & 1.477564e-01_rb,1.485888e-01_rb,1.493900e-01_rb,1.501580e-01_rb,1.508907e-01_rb,& & 1.515864e-01_rb,1.522428e-01_rb,1.528582e-01_rb,1.534305e-01_rb,1.539578e-01_rb,& & 1.544380e-01_rb,1.548692e-01_rb,1.552494e-01_rb,1.555767e-01_rb,1.558490e-01_rb,& & 1.560645e-01_rb /) fdlice3(:, 27) = (/ & ! band 27 & 1.200480e-01_rb,1.209267e-01_rb,1.218304e-01_rb,1.227575e-01_rb,1.237059e-01_rb,& & 1.246739e-01_rb,1.256595e-01_rb,1.266610e-01_rb,1.276765e-01_rb,1.287041e-01_rb,& & 1.297420e-01_rb,1.307883e-01_rb,1.318412e-01_rb,1.328988e-01_rb,1.339593e-01_rb,& & 1.350207e-01_rb,1.360813e-01_rb,1.371393e-01_rb,1.381926e-01_rb,1.392396e-01_rb,& & 1.402783e-01_rb,1.413069e-01_rb,1.423235e-01_rb,1.433263e-01_rb,1.443134e-01_rb,& & 1.452830e-01_rb,1.462332e-01_rb,1.471622e-01_rb,1.480681e-01_rb,1.489490e-01_rb,& & 1.498032e-01_rb,1.506286e-01_rb,1.514236e-01_rb,1.521863e-01_rb,1.529147e-01_rb,& & 1.536070e-01_rb,1.542614e-01_rb,1.548761e-01_rb,1.554491e-01_rb,1.559787e-01_rb,& & 1.564629e-01_rb,1.568999e-01_rb,1.572879e-01_rb,1.576249e-01_rb,1.579093e-01_rb,& & 1.581390e-01_rb /) fdlice3(:, 28) = (/ & ! band 28 & 1.247813e-01_rb,1.256496e-01_rb,1.265417e-01_rb,1.274560e-01_rb,1.283905e-01_rb,& & 1.293436e-01_rb,1.303135e-01_rb,1.312983e-01_rb,1.322964e-01_rb,1.333060e-01_rb,& & 1.343252e-01_rb,1.353523e-01_rb,1.363855e-01_rb,1.374231e-01_rb,1.384632e-01_rb,& & 1.395042e-01_rb,1.405441e-01_rb,1.415813e-01_rb,1.426140e-01_rb,1.436404e-01_rb,& & 1.446587e-01_rb,1.456672e-01_rb,1.466640e-01_rb,1.476475e-01_rb,1.486157e-01_rb,& & 1.495671e-01_rb,1.504997e-01_rb,1.514117e-01_rb,1.523016e-01_rb,1.531673e-01_rb,& & 1.540073e-01_rb,1.548197e-01_rb,1.556026e-01_rb,1.563545e-01_rb,1.570734e-01_rb,& & 1.577576e-01_rb,1.584054e-01_rb,1.590149e-01_rb,1.595843e-01_rb,1.601120e-01_rb,& & 1.605962e-01_rb,1.610349e-01_rb,1.614266e-01_rb,1.617693e-01_rb,1.620614e-01_rb,& & 1.623011e-01_rb /) fdlice3(:, 29) = (/ & ! band 29 & 1.006055e-01_rb,9.549582e-02_rb,9.063960e-02_rb,8.602900e-02_rb,8.165612e-02_rb,& & 7.751308e-02_rb,7.359199e-02_rb,6.988496e-02_rb,6.638412e-02_rb,6.308156e-02_rb,& & 5.996942e-02_rb,5.703979e-02_rb,5.428481e-02_rb,5.169657e-02_rb,4.926719e-02_rb,& & 4.698880e-02_rb,4.485349e-02_rb,4.285339e-02_rb,4.098061e-02_rb,3.922727e-02_rb,& & 3.758547e-02_rb,3.604733e-02_rb,3.460497e-02_rb,3.325051e-02_rb,3.197604e-02_rb,& & 3.077369e-02_rb,2.963558e-02_rb,2.855381e-02_rb,2.752050e-02_rb,2.652776e-02_rb,& & 2.556772e-02_rb,2.463247e-02_rb,2.371415e-02_rb,2.280485e-02_rb,2.189670e-02_rb,& & 2.098180e-02_rb,2.005228e-02_rb,1.910024e-02_rb,1.811781e-02_rb,1.709709e-02_rb,& & 1.603020e-02_rb,1.490925e-02_rb,1.372635e-02_rb,1.247363e-02_rb,1.114319e-02_rb,& & 9.727157e-03_rb /) end subroutine swcldpr end module rrtmg_sw_init #endif ================================================ FILE: APM/apm_rrtmg_sw.F90 ================================================ #ifdef APM !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: rrtmg_sw_GCAPM ! ! !DESCRIPTION: Module rrtmg\_sw\_GCAPM contains variables and routines for ! computing RF. !-- Modified from AER RRTMG_SW for GEOS-Chem-APM ! August 2012: F. Yu, UAlbany !\\ !\\ ! !INTERFACE: ! MODULE rrtmg_sw_GCAPM ! ! !USES: ! ! IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: rrtmg_sw, cldprop_swapm ! path: $Source: /storm/rc1/cvsroot/rc/rrtmg_sw/src/rrtmg_sw.1col.f90,v $ ! author: $Author: mike $ ! revision: $Revision: 1.8 $ ! created: $Date: 2009/05/22 22:22:21 $ ! CONTAINS subroutine rrtmg_sw(II,JJ,IFCS,icld,nlayers,juldat, zenith, & pdp,pavel,tavel,pz,tz,tbound,coldry, wkl, & cldfrac, ciwp, clwp, rei, rel,& SALB,EXT,OMGA,G, & YHTRC,YHTR,YHTRC0,YHTR0, & CST,FST,CSB,FSB,CST0,FST0,CSB0,FSB0, & TEXT, TOMGA, TG, TCST,TCSB,TFST,TFSB) ! -------------------------------------------------------------------------- ! | | ! | Copyright 2002-2009, Atmospheric & Environmental Research, Inc. (AER). | ! | This software may be used, copied, or redistributed as long as it is | ! | not sold and this copyright notice is reproduced on each copy made. | ! | This model is provided as is without any express or implied warranties. | ! | (http://www.rtweb.aer.com/) | ! | | ! -------------------------------------------------------------------------- ! ! **************************************************************************** ! * * ! * RRTMG_SW * ! * * ! * * ! * * ! * a rapid radiative transfer model * ! * for the solar spectral region * ! * for application to general circulation models * ! * * ! * * ! * Atmospheric and Environmental Research, Inc. * ! * 131 Hartwell Avenue * ! * Lexington, MA 02421 * ! * * ! * * ! * Eli J. Mlawer * ! * Jennifer S. Delamere * ! * Michael J. Iacono * ! * Shepard A. Clough * ! * * ! * * ! * * ! * * ! * * ! * * ! * email: miacono@aer.com * ! * email: emlawer@aer.com * ! * email: jdelamer@aer.com * ! * * ! * The authors wish to acknowledge the contributions of the * ! * following people: Steven J. Taubman, Patrick D. Brown, * ! * Ronald E. Farren, Luke Chen, Robert Bergstrom. * ! * * ! **************************************************************************** ! ------- Description ------- ! This program is the driver for RRTMG_SW, the AER SW radiation model for ! application to GCMs, that has been adapted from RRTM_SW for improved ! efficiency and to provide fractional cloudiness and cloud overlap ! capability using McICA. ! This routine ! a) calls RRTMG_SW_INI to initialize data and to perform ! the g-point interval reduction from 224 to 112 ! b) calls READPROF to read in the atmospheric profile; ! all layering in RRTMG is ordered from surface to toa. ! c) calls CLDPROP to set cloud optical depth based on input ! cloud properties, or CLDPRMC to set cloud optical depth ! for McICA ! d) calls SETCOEF to calculate various quantities needed for ! the radiative transfer algorithm ! e) calls SPCVRT to call the two-stream model that in turn ! calls TAUMOL to calculate gaseous optical depths for each ! of the 16 spectral bands and to perform the radiative transfer ! with or without McICA, the Monte-Carlo Independent Column ! Approximation to represent sub-grid scale cloud variability ! f) writes out the calculated fluxes and cooling rates ! ! Two modes of operation are possible: ! The mode is chosen by setting flag imca below. ! ! 1) Standard, single forward model calculation (imca = 0); this is ! valid only for clear sky or fully overcast clouds ! 2) Monte Carlo Independent Column Approximation (McICA, Pincus et al., ! JC, 2003) method is applied to the forward model calculation (imca = 1) ! For single column calculations, this method also requires setting flag ! nmca below to the sample size of the Monte Carlo calculation; ! (nmca = 200 is recommended). This is method is valid for clear sky ! or partial cloud conditions ! ! Two random number generators are available for use when imca = 1 ! This is chosen by setting flag irng below. ! ! 1) KISSVEC (irng = 0) ! 2) Mersenne Twister (irng = 1); the default setting ! ! Two methods of cloud property input are possible: ! Cloud properties can be input in one of two ways (controlled by input ! flags inflag, iceflag and liqflag; see text file rrtmg_sw_instructions ! and subroutine rrtmg_sw_cldprop.f90 for further details): ! ! 1) Input cloud fraction and cloud optical depth directly (inflgsw = 0) ! 2) Input cloud fraction and cloud physical properties (inflgsw = 1 or 2); ! cloud optical properties are calculated by cldprop or cldprmc based ! on input settings of iceflgsw and liqflgsw. Ice particle size provided ! must be appropriately defined for the ice parameterization selected. ! ! Two methods of aerosol property input are possible: ! Aerosol properties can be input in one of two ways (controlled by input ! flag iaer, see text file rrtmg_sw_instructions for further details): ! ! 1) Input aerosol optical depth, single scattering albedo and asymmetry ! parameter directly by layer and spectral band (iaer=10) ! 2) Input aerosol optical depth and 0.55 micron directly by layer and use ! one or more of six ECMWF aerosol types (iaer=6) ! ! ! ------- Modifications ------- ! ! This version of RRTMG_SW has been modified from RRTM_SW to use a reduced ! set of g-point intervals and a two-stream model for application to GCMs. ! !-- Original version (derived from RRTM_SW) ! 2002: AER. Inc. !-- Conversion to F90 formatting; addition of 2-stream radiative transfer ! Feb 2003: J.-J. Morcrette, ECMWF !-- Additional modifications for GCM application ! Aug 2003: M. J. Iacono, AER Inc. !-- Total number of g-points reduced from 224 to 112. Original ! set of 224 can be restored by exchanging code in module parrrsw.f90 ! and in file rrtmg_sw_init.f90. ! Apr 2004: M. J. Iacono, AER, Inc. !-- Modifications to include output for direct and diffuse ! downward fluxes. There are output as "true" fluxes without ! any delta scaling applied. Code can be commented to exclude ! this calculation in source file rrtmg_sw_spcvrt.f90. ! Jan 2005: E. J. Mlawer, M. J. Iacono, AER, Inc. !-- Revised to add McICA capability. ! Nov 2005: M. J. Iacono, AER, Inc. !-- Reformatted for consistency with rrtmg_lw. ! Feb 2007: M. J. Iacono, AER, Inc. !-- Modified to output direct and diffuse fluxes either with or without ! delta scaling based on setting of idelm flag. ! Dec 2008: M. J. Iacono, AER, Inc. !-- Modified for GEOS-Chem-APM ! August 2012: F. Yu, UAlbany ! --------- Modules --------- use parkind, only : im => kind_im, rb => kind_rb use parrrsw, only : mxlay, nbndsw, ngptsw, naerec, nstr, nmol, mxmol, & jpband, jpb1, jpb2 use rrsw_aer, only : rsrtaua, rsrpiza, rsrasya use rrsw_con, only : heatfac, oneminus, pi use rrsw_wvn, only : wavenum1, wavenum2 use rrsw_vsn use mcica_subcol_gen_sw, only: mcica_subcol_sw use rrtmg_sw_cldprop, only: cldprop_sw use rrtmg_sw_cldprmc, only: cldprmc_sw use rrtmg_sw_init, only: rrtmg_sw_ini use rrtmg_sw_setcoef, only: setcoef_sw use rrtmg_sw_spcvrt, only: spcvrt_sw use rrtmg_sw_spcvmc, only: spcvmc_sw implicit none ! ------- Declarations ! ----- Local ----- ! Control integer(kind=im) :: II,JJ integer(kind=im) :: nlayers ! total number of layers integer(kind=im) :: juldat ! total number of layers integer(kind=im) :: istart ! beginning band of calculation integer(kind=im) :: iend ! ending band of calculation integer(kind=im) :: icld ! clear/cloud and cloud overlap flag integer(kind=im) :: icpr ! cldprop/cldprmc use flag integer(kind=im) :: iflag ! control flag integer(kind=im) :: iout ! output option flag integer(kind=im) :: iaer ! aerosol option flag integer(kind=im) :: idelm ! delta-m scaling flag ! [0 = direct and diffuse fluxes are unscaled] ! [1 = direct and diffuse fluxes are scaled] integer(kind=im) :: isccos ! instrumental cosine response flag integer(kind=im) :: i ! layer loop index ! jk integer(kind=im) :: ib,ib1,ib2 ! band loop index ! jsw integer(kind=im) :: ia, ig ! indices integer(kind=im) :: iplon ! column loop index ! jl integer(kind=im) :: permuteseed integer(kind=im) :: imca ! flag for mcica [0=off, 1=on] ! integer(kind=im) :: nmca ! number of mcica samples (mcica mode) integer(kind=im) :: irng ! flag for random number generator ! [0=kissvec, 1=mersenne twister (default)] integer(kind=im), parameter :: ncol = 1 ! total number of columns integer(kind=im) :: iout1, iout2 ! output control flags integer(kind=im) :: indform ! output control flag !Yu+ integer(kind=im) :: IFCS, ITYP integer(kind=im) :: isolvar integer(kind=im), parameter :: NTYP = 5 character page real(kind=rb) :: zepsec, zepzen ! epsilon real(kind=rb) :: zdpgcp ! flux to heating conversion ratio ! Atmosphere real(kind=rb) :: pavel(mxlay) ! layer pressures (mb) real(kind=rb) :: tavel(mxlay) ! layer temperatures (K) real(kind=rb) :: pz(0:mxlay) ! level (interface) pressures (hPa, mb) real(kind=rb) :: tz(0:mxlay) ! level (interface) temperatures (K) real(kind=rb) :: tbound ! surface temperature (K) real(kind=rb) :: pdp(mxlay) ! layer pressure thickness (hPa, mb) real(kind=rb) :: coldry(mxlay) ! real(kind=rb) :: wbrodl(mxlay) ! real(kind=rb) :: wkl(mxmol,mxlay) ! molecular amounts (mole/cm-2) real(kind=rb) :: cossza, zenith ! cosine of solar zenith angle ! real(kind=rb) :: earth_sun ! function for Earth/Sun distance factor real(kind=rb) :: adjflux(jpband) ! adjustment for current Earth/Sun distance real(kind=rb) :: solvar(jpband) ! solar constant scaling factor from rrtmg_sw ! default value of 1368.22 Wm-2 at 1 AU real(kind=rb) :: SALB(nbndsw) ! surface albedo real(kind=rb) :: albdir(nbndsw) ! surface albedo, direct ! zalbp real(kind=rb) :: albdif(nbndsw) ! surface albedo, diffuse ! zalbd real(kind=rb) :: EXT(mxlay,nbndsw) real(kind=rb) :: OMGA(mxlay,nbndsw) real(kind=rb) :: G(mxlay,nbndsw) REAL(kind=rb) :: YHTRC(mxlay),YHTR(mxlay) !heating profiles REAL(kind=rb) :: YHTRC0(mxlay),YHTR0(mxlay) real(kind=rb) :: TEXT(mxlay,nbndsw,NTYP) real(kind=rb) :: TOMGA(mxlay,nbndsw,NTYP) real(kind=rb) :: TG(mxlay,nbndsw,NTYP) real(kind=rb) :: tauaer(mxlay,jpband) ! aerosol optical depth (iaer=10 only) ! (non-delta scaled) real(kind=rb) :: ssaaer(mxlay,jpband) ! aerosol single scattering albedo (iaer=10 only) ! (non-delta scaled) real(kind=rb) :: asmaer(mxlay,jpband) ! aerosol asymmetry parameter (iaer=10 only) ! (non-delta scaled) ! first moment of input phase function real(kind=rb) :: ecaer(mxlay,naerec) ! aerosol optical thickness at 0.55 micron (iaer=6 only) ! (non-delta scaled) ! Atmosphere - setcoef integer(kind=im) :: laytrop ! tropopause layer index integer(kind=im) :: layswtch ! tropopause layer index integer(kind=im) :: laylow ! tropopause layer index integer(kind=im) :: jp(mxlay) ! integer(kind=im) :: jt(mxlay) ! integer(kind=im) :: jt1(mxlay) ! real(kind=rb) :: colh2o(mxlay) ! column amount (h2o) real(kind=rb) :: colco2(mxlay) ! column amount (co2) real(kind=rb) :: colo3(mxlay) ! column amount (o3) real(kind=rb) :: coln2o(mxlay) ! column amount (n2o) real(kind=rb) :: colch4(mxlay) ! column amount (ch4) real(kind=rb) :: colo2(mxlay) ! column amount (o2) real(kind=rb) :: colmol(mxlay) ! column amount real(kind=rb) :: co2mult(mxlay) ! column amount integer(kind=im) :: indself(mxlay) integer(kind=im) :: indfor(mxlay) real(kind=rb) :: selffac(mxlay) real(kind=rb) :: selffrac(mxlay) real(kind=rb) :: forfac(mxlay) real(kind=rb) :: forfrac(mxlay) real(kind=rb) :: & ! fac00(mxlay), fac01(mxlay), & fac10(mxlay), fac11(mxlay) ! Atmosphere/clouds - cldprop integer(kind=im) :: ncbands ! number of cloud spectral bands integer(kind=im) :: inflag ! flag for cloud property method integer(kind=im) :: iceflag ! flag for ice cloud properties integer(kind=im) :: liqflag ! flag for liquid cloud properties real(kind=rb) :: cldfrac(mxlay) ! layer cloud fraction real(kind=rb) :: tauc(nbndsw,mxlay) ! in-cloud optical depth (non-delta scaled) real(kind=rb) :: ssac(nbndsw,mxlay) ! in-cloud single scattering albedo (non-delta scaled) real(kind=rb) :: asmc(nbndsw,mxlay) ! in-cloud asymmetry parameter (non-delta scaled) real(kind=rb) :: fsfc(nbndsw,mxlay) ! in-cloud forward scattering fraction (non-delta scaled) real(kind=rb) :: ciwp(mxlay) ! in-cloud ice water path real(kind=rb) :: clwp(mxlay) ! in-cloud liquid water path real(kind=rb) :: rei(mxlay) ! cloud ice particle effective size (microns) ! specific definition of rei depends on setting of iceflag: ! iceflag = 0: ice effective radius, r_ec, (Ebert and Curry, 1992), ! r_ec must be >= 10.0 microns ! iceflag = 1: ice effective radius, r_ec, (Ebert and Curry, 1992), ! r_ec range is limited to 13.0 to 130.0 microns ! iceflag = 2: ice effective radius, r_k, (Key, Streamer Ref. Manual, 1996) ! r_k range is limited to 5.0 to 131.0 microns ! iceflag = 3: generalized effective size, dge, (Fu, 1996), ! dge range is limited to 5.0 to 140.0 microns ! [dge = 1.0315 * r_ec] real(kind=rb) :: rel(mxlay) ! cloud liquid particle effective radius (microns) real(kind=rb) :: taucloud(mxlay,jpband) ! in-cloud optical depth real(kind=rb) :: taucldorig(mxlay,jpband)! in-cloud optical depth (non-delta scaled) real(kind=rb) :: ssacloud(mxlay,jpband) ! in-cloud single scattering albedo real(kind=rb) :: asmcloud(mxlay,jpband) ! in-cloud asymmetry parameter ! Atmosphere/clouds - cldprmc [mcica] real(kind=rb) :: cldfmc(ngptsw,mxlay) ! cloud fraction [mcica] real(kind=rb) :: ciwpmc(ngptsw,mxlay) ! in-cloud ice water path [mcica] real(kind=rb) :: clwpmc(ngptsw,mxlay) ! in-cloud liquid water path [mcica] real(kind=rb) :: relqmc(mxlay) ! liquid particle effective radius (microns) real(kind=rb) :: reicmc(mxlay) ! ice particle effective radius (microns) real(kind=rb) :: taucmc(ngptsw,mxlay) ! in-cloud optical depth [mcica] real(kind=rb) :: taormc(ngptsw,mxlay) ! unscaled in-cloud optical depth [mcica] real(kind=rb) :: ssacmc(ngptsw,mxlay) ! in-cloud single scattering albedo [mcica] real(kind=rb) :: asmcmc(ngptsw,mxlay) ! in-cloud asymmetry parameter [mcica] real(kind=rb) :: fsfcmc(ngptsw,mxlay) ! in-cloud forward scattering fraction [mcica] ! Atmosphere/clouds/aerosol - spcvrt,spcvmc real(kind=rb) :: ztauc(mxlay,nbndsw) ! cloud optical depth real(kind=rb) :: ztaucorig(mxlay,nbndsw)! unscaled cloud optical depth real(kind=rb) :: zasyc(mxlay,nbndsw) ! cloud asymmetry parameter ! (first moment of phase function) real(kind=rb) :: zomgc(mxlay,nbndsw) ! cloud single scattering albedo real(kind=rb) :: ztaua(mxlay,nbndsw) ! total aerosol optical depth real(kind=rb) :: zasya(mxlay,nbndsw) ! total aerosol asymmetry parameter real(kind=rb) :: zomga(mxlay,nbndsw) ! total aerosol single scattering albedo real(kind=rb) :: zcldfmc(mxlay,ngptsw) ! cloud fraction [mcica] real(kind=rb) :: ztaucmc(mxlay,ngptsw) ! cloud optical depth [mcica] real(kind=rb) :: ztaormc(mxlay,ngptsw) ! unscaled cloud optical depth [mcica] real(kind=rb) :: zasycmc(mxlay,ngptsw) ! cloud asymmetry parameter [mcica] real(kind=rb) :: zomgcmc(mxlay,ngptsw) ! cloud single scattering albedo [mcica] real(kind=rb) :: zbbfu(mxlay+1) ! temporary upward shortwave flux (w/m2) real(kind=rb) :: zbbfd(mxlay+1) ! temporary downward shortwave flux (w/m2) real(kind=rb) :: zbbcu(mxlay+1) ! temporary clear sky upward shortwave flux (w/m2) real(kind=rb) :: zbbcd(mxlay+1) ! temporary clear sky downward shortwave flux (w/m2) real(kind=rb) :: zbbfddir(mxlay+1) ! temporary downward direct shortwave flux (w/m2) real(kind=rb) :: zbbcddir(mxlay+1) ! temporary clear sky downward direct shortwave flux (w/m2) real(kind=rb) :: zuvfd(mxlay+1) ! temporary UV downward shortwave flux (w/m2) real(kind=rb) :: zuvcd(mxlay+1) ! temporary clear sky UV downward shortwave flux (w/m2) real(kind=rb) :: zuvfddir(mxlay+1) ! temporary UV downward direct shortwave flux (w/m2) real(kind=rb) :: zuvcddir(mxlay+1) ! temporary clear sky UV downward direct shortwave flux (w/m2) real(kind=rb) :: znifd(mxlay+1) ! temporary near-IR downward shortwave flux (w/m2) real(kind=rb) :: znicd(mxlay+1) ! temporary clear sky near-IR downward shortwave flux (w/m2) real(kind=rb) :: znifddir(mxlay+1) ! temporary near-IR downward direct shortwave flux (w/m2) real(kind=rb) :: znicddir(mxlay+1) ! temporary clear sky near-IR downward direct shortwave flux (w/m2) ! Parameters real(kind=rb), parameter :: cpdair = 1.004e3_rb ! Specific heat capacity of dry air ! at constant pressure at 273 K (J kg-1 K-1) ! Output real(kind=rb) :: totuflux(0:mxlay) ! upward shortwave flux (w/m2) ! pfup real(kind=rb) :: totdflux(0:mxlay) ! downward shortwave flux (w/m2) ! pfdown real(kind=rb) :: fnet(0:mxlay) ! net shortwave flux (w/m2) ! pfls real(kind=rb) :: htr(0:mxlay) ! shortwave heating rate (k/day) ! pheat real(kind=rb) :: totuclfl(0:mxlay) ! clear sky upward shortwave flux (w/m2) ! pcup real(kind=rb) :: totdclfl(0:mxlay) ! clear sky downward shortwave flux (w/m2) ! pcdown real(kind=rb) :: fnetc(0:mxlay) ! clear sky net shortwave flux (w/m2) ! pfcs real(kind=rb) :: htrc(0:mxlay) ! clear sky shortwave heating rate (k/day) ! pheac real(kind=rb) :: dirdflux(0:mxlay) ! direct downward shortwave flux (w/m2) ! dirdownflux real(kind=rb) :: difdflux(0:mxlay) ! diffuse downward shortwave flux (w/m2) ! difdownflux real(kind=rb) :: dflxuv(0:mxlay) ! Total sky downward shortwave flux, UV/vis ! pfdnuv real(kind=rb) :: dflxir(0:mxlay) ! Total sky downward shortwave flux, near-IR ! pfdnir real(kind=rb) :: dirdnuv(0:mxlay) ! Direct downward shortwave surface flux, UV/vis real(kind=rb) :: difdnuv(0:mxlay) ! Diffuse downward shortwave surface flux, UV/vis real(kind=rb) :: dirdnir(0:mxlay) ! Direct downward shortwave surface flux, near-IR real(kind=rb) :: difdnir(0:mxlay) ! Diffuse downward shortwave surface flux, near-IR ! Output - inactive ! real(kind=rb) :: zuvfu(mxlay+1) ! temporary upward UV shortwave flux (w/m2) ! real(kind=rb) :: zuvfd(mxlay+1) ! temporary downward UV shortwave flux (w/m2) ! real(kind=rb) :: zuvcu(mxlay+1) ! temporary clear sky upward UV shortwave flux (w/m2) ! real(kind=rb) :: zuvcd(mxlay+1) ! temporary clear sky downward UV shortwave flux (w/m2) ! real(kind=rb) :: zvsfu(mxlay+1) ! temporary upward visible shortwave flux (w/m2) ! real(kind=rb) :: zvsfd(mxlay+1) ! temporary downward visible shortwave flux (w/m2) ! real(kind=rb) :: zvscu(mxlay+1) ! temporary clear sky upward visible shortwave flux (w/m2) ! real(kind=rb) :: zvscd(mxlay+1) ! temporary clear sky downward visible shortwave flux (w/m2) ! real(kind=rb) :: znifu(mxlay+1) ! temporary upward near-IR shortwave flux (w/m2) ! real(kind=rb) :: znifd(mxlay+1) ! temporary downward near-IR shortwave flux (w/m2) ! real(kind=rb) :: znicu(mxlay+1) ! temporary clear sky upward near-IR shortwave flux (w/m2) ! real(kind=rb) :: znicd(mxlay+1) ! temporary clear sky downward near-IR shortwave flux (w/m2) !Yu+ real(kind=rb) :: xpavel(ncol,mxlay) ! layer pressures (mb) real(kind=rb) :: xcldfrac(ncol,mxlay) ! layer cloud fraction real(kind=rb) :: xciwp(ncol,mxlay) ! in-cloud ice water path real(kind=rb) :: xclwp(ncol,mxlay) ! in-cloud liquid water path real(kind=rb) :: xrei(ncol,mxlay) ! cloud ice particle effective size (microns) real(kind=rb) :: xrel(ncol,mxlay) ! cloud liquid particle effective radius (microns) real(kind=rb) :: xtauc(nbndsw,ncol,mxlay) ! in-cloud optical depth (non-delta scaled) real(kind=rb) :: xssac(nbndsw,ncol,mxlay) ! in-cloud single scattering albedo (non-delta scaled) real(kind=rb) :: xasmc(nbndsw,ncol,mxlay) ! in-cloud asymmetry parameter (non-delta scaled) real(kind=rb) :: xfsfc(nbndsw,ncol,mxlay) ! in-cloud forward scattering fraction (non-delta scaled) real(kind=rb) :: xcldfmc(ngptsw,ncol,mxlay) ! cloud fraction [mcica] real(kind=rb) :: xciwpmc(ngptsw,ncol,mxlay) ! in-cloud ice water path [mcica] real(kind=rb) :: xclwpmc(ngptsw,ncol,mxlay) ! in-cloud liquid water path [mcica] real(kind=rb) :: xrelqmc(ncol,mxlay) ! liquid particle effective radius (microns) real(kind=rb) :: xreicmc(ncol,mxlay) ! ice particle effective radius (microns) real(kind=rb) :: xtaucmc(ngptsw,ncol,mxlay) ! in-cloud optical depth [mcica] real(kind=rb) :: xssacmc(ngptsw,ncol,mxlay) ! in-cloud single scattering albedo [mcica] real(kind=rb) :: xasmcmc(ngptsw,ncol,mxlay) ! in-cloud asymmetry parameter [mcica] real(kind=rb) :: xfsfcmc(ngptsw,ncol,mxlay) ! in-cloud forward scattering fraction [mcica] real(kind=rb) :: CST,CST0,FST,FST0 real(kind=rb) :: CSB,CSB0,FSB,FSB0 real(kind=rb) :: TCST(NTYP),TCSB(NTYP),TFST(NTYP),TFSB(NTYP) real(kind=rb) :: adjflux_jd LOGICAL, SAVE :: FIRST = .TRUE. !Yu+ ! ! Initializations zepsec = 1.e-06_rb zepzen = 1.e-10_rb oneminus = 1.0_rb - zepsec pi = 2._rb * asin(1._rb) icpr = 0 page = char(12) ! Set imca to select calculation type: ! (read by subroutine readprof from input file INPUT_RRTM): ! imca = 0, use standard forward model calculation (clear and overcast only) ! imca = 1, use McICA for Monte Carlo treatment of sub-grid cloud variability ! (clear, overcast or partial cloud conditions) ! Set irng to select random number generator for McICA (use when imca = 1) ! irng = 0, KISSVEC ! irng = 1, Mersenne Twister ! irng = 0 irng = 1 ! Set icld to select of clear or cloud calculation and cloud overlap method ! (read by subroutine readprof from input file INPUT_RRTM): ! icld = 0, clear only ! icld = 1, with clouds using random cloud overlap (McICA only) ! icld = 2, with clouds using maximum/random cloud overlap (McICA only) ! icld = 3, with clouds using maximum cloud overlap (McICA only) ! Call model and data initialization, compute lookup tables, perform ! reduction of g-points from 224 to 112 for input absorption ! coefficient data and other arrays. ! ! In a GCM this call should be placed in the model initialization ! area, since this has to be called only once. IF(FIRST) THEN IF(nlayers.NE.mxlay) THEN WRITE(6,*)"STOP: layers.NE.mxlay" STOP ENDIF !Luo call rrtmg_sw_ini(cpdair) !Luo WRITE(6,*) "run rrtmg_sw_ini" !Luo FIRST = .FALSE. ENDIF ! This is the main longitude/column loop within rrtmg. ! do iplon = 1, ncol iplon = 1 iout = 0 imca = 1 ! icld = 2 iaer = 10 isccos = 0 idelm = 0 inflag = 2 iceflag = 3 liqflag = 1 isolvar = 0 solvar = 1.0 ib1=16 ib2=29 if (juldat .eq. 0) then adjflux_jd = 1._rb else adjflux_jd = earth_sun (juldat) endif if (isolvar .eq. 0) then do ib = ib1,ib2 adjflux(ib) = adjflux_jd enddo elseif (isolvar .eq. 1) then do ib=ib1,ib2 adjflux(ib) = adjflux_jd * solvar(ib1) enddo elseif (isolvar .eq. 2) then do ib=ib1,ib2 adjflux(ib) = adjflux_jd * solvar(ib) enddo else print *, 'ISOLVAR = ', isolvar, ' NOT A VALID INPUT VALUE' stop endif istart = jpb1 ! jpb1 = 16 iend = jpb2 ! jpb2 = 29 iflag = iout ! Return here for multiple band output 1000 continue if (iflag .gt. 0 .and. iflag .le. jpb2) then istart = iflag iend = iflag endif ! Call sub-colum cloud generator for McICA calculations. tauc = 0. ssac = 1. asmc = 0. fsfc = 0. if (imca.ne.1) then WRITE(6,*)"Need to check value of imca" STOP endif permuteseed = 1 xpavel(1,:)=pavel(:) xcldfrac(1,:)=cldfrac(:) xciwp(1,:)=ciwp(:) xclwp(1,:)=clwp(:) xrei(1,:)=rei(:) xrel(1,:)=rel(:) xtauc(:,1,:)=tauc(:,:) xssac(:,1,:)=ssac(:,:) xasmc(:,1,:)=asmc(:,:) xfsfc(:,1,:)=fsfc(:,:) call mcica_subcol_sw(iplon,ncol, nlayers, icld, permuteseed, irng, xpavel, & xcldfrac, xciwp, xclwp, xrei, xrel, xtauc, xssac, xasmc, xfsfc, & xcldfmc, xciwpmc, xclwpmc, xreicmc, xrelqmc, xtaucmc, & xssacmc, xasmcmc, xfsfcmc) cldfmc(:,:)= xcldfmc(:,1,:) ciwpmc(:,:)=xciwpmc(:,1,:) clwpmc(:,:)= xclwpmc(:,1,:) reicmc(:)= xreicmc(1,:) relqmc(:)= xrelqmc(1,:) taucmc(:,:)=xtaucmc(:,1,:) ssacmc(:,:)=xssacmc(:,1,:) asmcmc(:,:)=xasmcmc(:,1,:) fsfcmc(:,:)=xfsfcmc(:,1,:) ! For cloudy atmosphere, use cldprop to set cloud optical properties based on ! input cloud physical properties. Select method based on choices described ! in cldprop. Cloud fraction, water path, liquid droplet and ice particle ! effective radius must be passed in cldprop. Cloud fraction and cloud ! optical properties are transferred to rrtmg_sw arrays in cldprop. ! Note: Model will be stopped if partial cloud present without McICA. ! If McICA is requested use cloud fraction and cloud physical properties ! generated by sub-column cloud generator above. call cldprmc_sw(nlayers, inflag, iceflag, liqflag, cldfmc, & ciwpmc, clwpmc, reicmc, relqmc, & taormc, taucmc, ssacmc, asmcmc, fsfcmc) icpr = 1 ! Calculate coefficients for the temperature and pressure dependence of the ! molecular absorption coefficients by interpolating data from stored ! reference atmospheres. call setcoef_sw(nlayers, pavel, tavel, pz, tz, tbound, coldry, wkl, & laytrop, layswtch, laylow, jp, jt, jt1, & co2mult, colch4, colco2, colh2o, colmol, coln2o, & colo2, colo3, fac00, fac01, fac10, fac11, & selffac, selffrac, indself, forfac, forfrac, indfor) ! Cosine of the solar zenith angle ! Prevent using value of zero; cossza = zenith if (cossza.eq.0._rb) cossza = zepzen ! Transfer albedo, cloud and aerosol properties into arrays for 2-stream radiative transfer ! Surface albedo and aerosol optical properties do ib=1,nbndsw albdif(ib) = SALB(ib) albdir(ib) = SALB(ib) tauaer(:,ib1-1+ib)=EXT(:,ib) ssaaer(:,ib1-1+ib)=OMGA(:,ib) asmaer(:,ib1-1+ib)=G(:,ib) enddo ! Clouds if (icld.eq.0) then ztauc(:,:) = 0._rb ztaucorig(:,:) = 0._rb zasyc(:,:) = 0._rb zomgc(:,:) = 1._rb zcldfmc(:,:) = 0._rb ztaucmc(:,:) = 0._rb ztaormc(:,:) = 0._rb zasycmc(:,:) = 0._rb zomgcmc(:,:) = 1._rb elseif (icld.ge.1) then if (imca.eq.0) then do i=1,nlayers do ib=1,nbndsw if (cldfrac(i) .ge. zepsec) then ztauc(i,ib) = taucloud(i,jpb1-1+ib) ztaucorig(i,ib) = taucldorig(i,jpb1-1+ib) zasyc(i,ib) = asmcloud(i,jpb1-1+ib) zomgc(i,ib) = ssacloud(i,jpb1-1+ib) endif enddo enddo else do i=1,nlayers do ig=1,ngptsw zcldfmc(i,ig) = cldfmc(ig,i) ztaucmc(i,ig) = taucmc(ig,i) ztaormc(i,ig) = taormc(ig,i) zasycmc(i,ig) = asmcmc(ig,i) zomgcmc(i,ig) = ssacmc(ig,i) enddo enddo endif endif ! Aerosol ! IAER = 0: no aerosols if (iaer.eq.0) then ztaua(:,:) = 0._rb zasya(:,:) = 0._rb zomga(:,:) = 1._rb ! IAER = 6: Use ECMWF six aerosol types. See rrsw_aer.f90 for details. ! Input aerosol optical thickness at 0.55 micron for each aerosol type (ecaer) ! or set manually here for each aerosol and layer. elseif (iaer.eq.6) then ! deleted -- Yu ! IAER=10: Direct specification of aerosol properties from IN_AER_RRTM. elseif (iaer.eq.10) then do i = 1 ,nlayers do ib = 1 ,nbndsw ztaua(i,ib) = tauaer(i,jpb1-1+ib) zasya(i,ib) = asmaer(i,jpb1-1+ib) zomga(i,ib) = ssaaer(i,jpb1-1+ib) enddo enddo endif ! Call the 2-stream radiation transfer model ! total aerosol do i=1,nlayers+1 zbbcu(i) = 0._rb zbbcd(i) = 0._rb zbbfu(i) = 0._rb zbbfd(i) = 0._rb zbbcddir(i) = 0._rb zbbfddir(i) = 0._rb zuvcd(i) = 0._rb zuvfd(i) = 0._rb zuvcddir(i) = 0._rb zuvfddir(i) = 0._rb znicd(i) = 0._rb znifd(i) = 0._rb znicddir(i) = 0._rb znifddir(i) = 0._rb enddo call spcvmc_sw & (nlayers, istart, iend, icpr, idelm, iout, & pavel, tavel, pz, tz, tbound, albdif, albdir, & zcldfmc, ztaucmc, zasycmc, zomgcmc, ztaormc, & ztaua, zasya, zomga, cossza, coldry, wkl, adjflux, & laytrop, layswtch, laylow, jp, jt, jt1, & co2mult, colch4, colco2, colh2o, colmol, coln2o, colo2, colo3, & fac00, fac01, fac10, fac11, & selffac, selffrac, indself, forfac, forfrac, indfor, & zbbfd, zbbfu, zbbcd, zbbcu, zuvfd, zuvcd, znifd, znicd, & zbbfddir, zbbcddir, zuvfddir, zuvcddir, znifddir, znicddir) ! Prepare output up and down, clear and total flux output do i = 1, nlayers+1 totuclfl(i-1) = zbbcu(i) totdclfl(i-1) = zbbcd(i) totuflux(i-1) = zbbfu(i) totdflux(i-1) = zbbfd(i) ! Prepare direct/diffuse flux output dirdflux(i-1) = zbbfddir(i) difdflux(i-1) = totdflux(i-1) - dirdflux(i-1) enddo ! Prepare net clear and total flux output do i = 1, nlayers+1 fnetc(i-1) = totdclfl(i-1) - totuclfl(i-1) fnet(i-1) = totdflux(i-1) - totuflux(i-1) enddo ! Output clear and total heating rates do i = 1, nlayers zdpgcp = heatfac / pdp(i) htrc(i-1) = (fnetc(i) - fnetc(i-1)) * zdpgcp htr(i-1) = (fnet(i) - fnet(i-1)) * zdpgcp enddo htr(nlayers) = 0._rb htrc(nlayers) = 0._rb ! Process output. CST = fnetc(nlayers) FST = fnet(nlayers) CSB = fnetc(0) FSB = fnet(0) do i = 1, nlayers YHTRC(i)=htrc(i-1) YHTR(i)=htr(i-1) enddo ! No aeorsol RF IF(IFCS.GE.1) THEN ztaua(:,:) = 0._rb zasya(:,:) = 0._rb zomga(:,:) = 1._rb do i=1,nlayers+1 zbbcu(i) = 0._rb zbbcd(i) = 0._rb zbbfu(i) = 0._rb zbbfd(i) = 0._rb zbbcddir(i) = 0._rb zbbfddir(i) = 0._rb zuvcd(i) = 0._rb zuvfd(i) = 0._rb zuvcddir(i) = 0._rb zuvfddir(i) = 0._rb znicd(i) = 0._rb znifd(i) = 0._rb znicddir(i) = 0._rb znifddir(i) = 0._rb enddo call spcvmc_sw & (nlayers, istart, iend, icpr, idelm, iout, & pavel, tavel, pz, tz, tbound, albdif, albdir, & zcldfmc, ztaucmc, zasycmc, zomgcmc, ztaormc, & ztaua, zasya, zomga, cossza, coldry, wkl, adjflux, & laytrop, layswtch, laylow, jp, jt, jt1, & co2mult, colch4, colco2, colh2o, colmol, coln2o, colo2, colo3, & fac00, fac01, fac10, fac11, & selffac, selffrac, indself, forfac, forfrac, indfor, & zbbfd, zbbfu, zbbcd, zbbcu, zuvfd, zuvcd, znifd, znicd, & zbbfddir, zbbcddir, zuvfddir, zuvcddir, znifddir, znicddir) ! Prepare output up and down, clear and total flux output do i = 1, nlayers+1 totuclfl(i-1) = zbbcu(i) totdclfl(i-1) = zbbcd(i) totuflux(i-1) = zbbfu(i) totdflux(i-1) = zbbfd(i) ! Prepare direct/diffuse flux output dirdflux(i-1) = zbbfddir(i) difdflux(i-1) = totdflux(i-1) - dirdflux(i-1) enddo ! Prepare net clear and total flux output do i = 1, nlayers+1 fnetc(i-1) = totdclfl(i-1) - totuclfl(i-1) fnet(i-1) = totdflux(i-1) - totuflux(i-1) enddo ! Output clear and total heating rates do i = 1, nlayers zdpgcp = heatfac / pdp(i) htrc(i-1) = (fnetc(i) - fnetc(i-1)) * zdpgcp htr(i-1) = (fnet(i) - fnet(i-1)) * zdpgcp enddo htr(nlayers) = 0._rb htrc(nlayers) = 0._rb ! Process output. CST0 = fnetc(nlayers) FST0 = fnet(nlayers) CSB0 = fnetc(0) FSB0 = fnet(0) do i = 1, nlayers YHTRC0(i)=htrc(i-1) YHTR0(i)=htr(i-1) enddo ENDIF IF(IFCS.EQ.2) THEN ! RF of each type DO ITYP = 1,NTYP ! do i = 1 ,nlayers ! do ib = 1 ,nbndsw ! ztaua(i,ib) = TEXT(i,ib,ITYP) ! zasya(i,ib) = TOMGA(i,ib,ITYP) ! zomga(i,ib) = TG(i,ib,ITYP) ! enddo ! enddo ztaua(:,:) = TEXT(:,:,ITYP) zasya(:,:) = TG(:,:,ITYP) zomga(:,:) = TOMGA(:,:,ITYP) do i=1,nlayers+1 zbbcu(i) = 0._rb zbbcd(i) = 0._rb zbbfu(i) = 0._rb zbbfd(i) = 0._rb zbbcddir(i) = 0._rb zbbfddir(i) = 0._rb zuvcd(i) = 0._rb zuvfd(i) = 0._rb zuvcddir(i) = 0._rb zuvfddir(i) = 0._rb znicd(i) = 0._rb znifd(i) = 0._rb znicddir(i) = 0._rb znifddir(i) = 0._rb enddo call spcvmc_sw & (nlayers, istart, iend, icpr, idelm, iout, & pavel, tavel, pz, tz, tbound, albdif, albdir, & zcldfmc, ztaucmc, zasycmc, zomgcmc, ztaormc, & ztaua, zasya, zomga, cossza, coldry, wkl, adjflux, & laytrop, layswtch, laylow, jp, jt, jt1, & co2mult, colch4, colco2, colh2o, colmol, coln2o, colo2, colo3, & fac00, fac01, fac10, fac11, & selffac, selffrac, indself, forfac, forfrac, indfor, & zbbfd, zbbfu, zbbcd, zbbcu, zuvfd, zuvcd, znifd, znicd, & zbbfddir, zbbcddir, zuvfddir, zuvcddir, znifddir, znicddir) ! Prepare output up and down, clear and total flux output do i = 1, nlayers+1 totuclfl(i-1) = zbbcu(i) totdclfl(i-1) = zbbcd(i) totuflux(i-1) = zbbfu(i) totdflux(i-1) = zbbfd(i) ! Prepare direct/diffuse flux output dirdflux(i-1) = zbbfddir(i) difdflux(i-1) = totdflux(i-1) - dirdflux(i-1) enddo ! Prepare net clear and total flux output do i = 1, nlayers+1 fnetc(i-1) = totdclfl(i-1) - totuclfl(i-1) fnet(i-1) = totdflux(i-1) - totuflux(i-1) enddo ! Output clear and total heating rates do i = 1, nlayers zdpgcp = heatfac / pdp(i) htrc(i-1) = (fnetc(i) - fnetc(i-1)) * zdpgcp htr(i-1) = (fnet(i) - fnet(i-1)) * zdpgcp enddo htr(nlayers) = 0._rb htrc(nlayers) = 0._rb ! Process output. TCST(ITYP) = fnetc(nlayers) TFST(ITYP) = fnet(nlayers) TCSB(ITYP) = fnetc(0) TFSB(ITYP) = fnet(0) ENDDO ENDIF ! if(II.eq.60.and.JJ.eq.33) then ! WRITE(1003,*)'rrtmg_sw' ! do i = 1, nlayers ! WRITE(1003,106)i,EXT(i,6),OMGA(i,6),G(i,6), & ! TEXT(i,6,1),TOMGA(i,6,1),TG(i,6,1) ! enddo ! WRITE(1003,107)'CST,CST0,CST-CST0',CST,CST0,CST-CST0 ! WRITE(1003,107)'FST,FST0,FST-FST0',FST,FST0,FST-FST0 ! WRITE(1003,107)'FST-CST,FST0-CST0',FST-CST,FST0-CST0 ! DO ITYP = 1,NTYP ! WRITE(1003,107)'TFST,FST0,TFST-FST0',TFST(ITYP),FST0, & ! TFST(ITYP)-FST0 ! WRITE(1003,107)'TCST,CST0,TCST-CST0',TCST(ITYP),CST0, & ! TFST(ITYP)-FST0 ! ENDDO ! 106 FORMAT(I3,10(F10.4)) ! 107 FORMAT(A17,2x,10(F10.2)) ! 109 FORMAT(I4,2x,10(F10.3)) ! endif 2000 continue if (iout .ge. 0 .and. iout .le. jpb2) goto 3500 if (iflag .eq. 98) then iflag = jpb1 elseif (iflag .gt. 0 .and. iflag .lt. jpb2) then iflag = iflag + 1 else goto 3500 endif goto 1000 3500 continue ! Output module version numbers 4000 continue ! End longitude/column loop ! enddo 9899 format(1x,'Wavenumbers: ',f6.0,' - ',f6.0,' cm-1, ATM ',i6) 9900 format(1x,'LEVEL PRESSURE UPWARD FLUX DIFDOWN FLUX DIRDOWN FL& &UX DOWNWARD FLUX NET FLUX HEATING RATE') 9901 format(1x,' mb W/m2 W/m2 W/m2& & W/m2 W/m2 degree/day') 9902 format(1x,i3,3x,f11.6,4x,1p,2(g12.6,2x),g13.6,3x,g16.9,0p) 9903 format(a) 9910 format(' Modules and versions used in this calculation:',/,/, & 7(5x,a20,2x,a18,10x,a20,2x,a18,/)) contains !************************************************************************* real(kind=rb) function earth_sun(idn) !************************************************************************* ! ! Purpose: Function to calculate the correction factor of Earth's orbit ! for current day of the year ! idn : Day of the year ! earth_sun : square of the ratio of mean to actual Earth-Sun distance ! ------- Modules ------- use parkind, only : im => kind_im, rb => kind_rb use rrsw_con, only : pi implicit none integer(kind=im), intent(in) :: idn real(kind=rb) :: gamma gamma = 2._rb*pi*(idn-1)/365._rb ! Use Iqbal's equation 1.2.1 earth_sun = 1.000110_rb + .034221_rb * cos(gamma) + .001289_rb * sin(gamma) + & .000719_rb * cos(2._rb*gamma) + .000077_rb * sin(2._rb*gamma) end function earth_sun end subroutine rrtmg_sw ! ---------------------------------------------------------------------------- subroutine cldprop_swapm(nlayers, cldfrac, ciwporg, clwporg, rei, rel, & taucld, taucldl, taucldi, ssacldl, ssacldi) ! ---------------------------------------------------------------------------- use parkind, only : im => kind_im, rb => kind_rb use parrrsw, only : nbndsw, jpband, jpb1, jpb2 use rrsw_cld, only : extliq1, ssaliq1, asyliq1, & extice2, ssaice2, asyice2, & extice3, ssaice3, asyice3, fdlice3, & abari, bbari, cbari, dbari, ebari, fbari use rrsw_wvn, only : wavenum1, wavenum2 use rrsw_vsn, only : hvrcld, hnamcld implicit none ! ---------------------------------------------------------------------------- ! Purpose: Compute the cloud optical properties for each cloudy layer. ! Note: Only inflag = 0 and inflag=2/liqflag=1/iceflag=1,2,3 are available; ! (Hu & Stamnes, Ebert and Curry, Key, and Fu) are implemented. ! ------- Input ------- integer(kind=im), intent(in) :: nlayers ! total number of layers real(kind=rb), intent(in) :: cldfrac(:) ! cloud fraction ! Dimensions: (nlayers) real(kind=rb), intent(in) :: ciwporg(:) ! cloud ice water path ! Dimensions: (nlayers) real(kind=rb), intent(in) :: clwporg(:) ! cloud liquid water path ! Dimensions: (nlayers) real(kind=rb), intent(in) :: rei(:) ! cloud ice particle effective size (microns) ! Dimensions: (nlayers) ! specific definition of rei depends on setting of iceflag: ! iceflag = 0: (inactive) ! ! iceflag = 1: ice effective radius, r_ec, (Ebert and Curry, 1992), ! r_ec range is limited to 13.0 to 130.0 microns ! iceflag = 2: ice effective radius, r_k, (Key, Streamer Ref. Manual, 1996) ! r_k range is limited to 5.0 to 131.0 microns ! iceflag = 3: generalized effective size, dge, (Fu, 1996), ! dge range is limited to 5.0 to 140.0 microns ! [dge = 1.0315 * r_ec] real(kind=rb), intent(in) :: rel(:) ! cloud liquid particle effective radius (microns) ! Dimensions: (nlayers) ! ------- Output ------- real(kind=rb), intent(out) :: taucld(:,:) ! cloud optical depth (non-delta scaled) ! Dimensions: (nlayers,jpband) real(kind=rb), intent(out) :: taucldl(:,:) ! cloud optical depth (non-delta scaled) ! Dimensions: (nlayers,jpband) real(kind=rb), intent(out) :: taucldi(:,:) ! cloud optical depth (non-delta scaled) ! Dimensions: (nlayers,jpband) real(kind=rb), intent(out) :: ssacldl(:,:) real(kind=rb), intent(out) :: ssacldi(:,:) ! ------- Local ------- ! integer(kind=im) :: ncbands integer(kind=im) :: ib, ib1, ib2, lay, istr, index, icx real(kind=rb), parameter :: eps = 1.e-06_rb ! epsilon real(kind=rb), parameter :: cldmin = 1.e-20_rb ! minimum value for cloud quantities real(kind=rb) :: cwp ! total cloud water path real(kind=rb) :: radliq ! cloud liquid droplet radius (microns) real(kind=rb) :: radice ! cloud ice effective size (microns) real(kind=rb) :: factor real(kind=rb) :: fint real(kind=rb) :: tauctot(nlayers) ! band integrated cloud optical depth real(kind=rb) :: taucldorig_a, ssacloud_a, taucloud_a, ffp, ffp1, ffpssa real(kind=rb) :: tauiceorig, scatice, ssaice, tauice, tauliqorig, scatliq, ssaliq, tauliq real(kind=rb) :: fdelta(jpb1:jpb2) real(kind=rb) :: extcoice(jpb1:jpb2), gice(jpb1:jpb2) real(kind=rb) :: ssacoice(jpb1:jpb2), forwice(jpb1:jpb2) real(kind=rb) :: extcoliq(jpb1:jpb2), gliq(jpb1:jpb2) real(kind=rb) :: ssacoliq(jpb1:jpb2), forwliq(jpb1:jpb2) real(kind=rb) :: tauc(nbndsw,nlayers) ! cloud optical depth ! Dimensions: (nbndsw,nlayers) real(kind=rb) :: ssac(nbndsw,nlayers) ! single scattering albedo ! Dimensions: (nbndsw,nlayers) real(kind=rb) :: asmc(nbndsw,nlayers) ! asymmetry parameter ! Dimensions: (nbndsw,nlayers) real(kind=rb) :: fsfc(nbndsw,nlayers) ! forward scattering fraction ! Dimensions: (nbndsw,nlayers) real(kind=rb) :: taucloud(nlayers,jpband) ! cloud optical depth (delta scaled) ! Dimensions: (nlayers,jpband) real(kind=rb) :: ssacloud(nlayers,jpband) ! single scattering albedo (delta scaled) ! Dimensions: (nlayers,jpband) real(kind=rb) :: asmcloud(nlayers,jpband) ! asymmetry parameter (delta scaled) ! Dimensions: (nlayers,jpband) real(kind=rb) :: ciwp(nlayers) ! cloud ice water path ! Dimensions: (nlayers) real(kind=rb) :: clwp(nlayers) ! cloud liquid water path ! Dimensions: (nlayers) integer(kind=im) :: inflag ! see definitions integer(kind=im) :: iceflag ! see definitions integer(kind=im) :: liqflag ! see definitions ! Initialize hvrcld = '$Revision: 1.8 $' inflag = 2 iceflag = 3 liqflag = 1 tauc = 0. ssac = 1. asmc = 0. fsfc = 0. ! ncbands = 29 !ib1 = jpb1 !ib2 = jpb2 ib1 = 23 ib2 = 27 tauctot(:) = 0._rb do lay = 1, nlayers clwp(lay) = clwporg(lay)!/cldfrac(lay) ciwp(lay) = ciwporg(lay)!/cldfrac(lay) do ib = ib1 , ib2 taucld(lay,ib) = 0.0_rb taucldl(lay,ib) = 0.0_rb taucldi(lay,ib) = 0.0_rb ssacldl(lay,ib) = 1.0_rb ssacldi(lay,ib) = 1.0_rb taucloud(lay,ib) = 0.0_rb ssacloud(lay,ib) = 1.0_rb asmcloud(lay,ib) = 0.0_rb tauctot(lay) = tauctot(lay) + tauc(ib-15,lay) enddo enddo ! Main layer loop do lay = 1, nlayers cwp = ciwp(lay) + clwp(lay) if (cldfrac(lay) .ge. cldmin .and. & (cwp .ge. cldmin .or. tauctot(lay) .ge. cldmin)) then ! (inflag=0): Cloud optical properties input directly ! Cloud optical properties already defined in tauc, ssac, asmc are unscaled; ! Apply delta-M scaling here if (inflag .eq. 0) then write(*,*)'Check inflag =', inflag stop do ib = ib1 , ib2 taucldorig_a = tauc(ib-15,lay) ffp = fsfc(ib-15,lay) ffp1 = 1.0_rb - ffp ffpssa = 1.0_rb - ffp * ssac(ib-15,lay) ssacloud_a = ffp1 * ssac(ib-15,lay) / ffpssa taucloud_a = ffpssa * taucldorig_a taucld(lay,ib) = taucldorig_a taucldl(lay,ib) = taucldorig_a taucldi(lay,ib) = 0.d0 ssacloud(lay,ib) = ssacloud_a ssacldl(lay,ib) = ssacloud_a ssacldi(lay,ib) = ssacloud_a taucloud(lay,ib) = taucloud_a asmcloud(lay,ib) = (asmc(ib-15,lay) - ffp) / (ffp1) enddo ! (inflag=2): Separate treatement of ice clouds and water clouds. elseif (inflag .eq. 2) then radice = rei(lay) ! Calculation of absorption coefficients due to ice clouds. if (ciwp(lay) .eq. 0.0_rb) then do ib = ib1 , ib2 extcoice(ib) = 0.0_rb ssacoice(ib) = 0.0_rb gice(ib) = 0.0_rb forwice(ib) = 0.0_rb enddo ! (iceflag = 1): ! Note: This option uses Ebert and Curry approach for all particle sizes similar to ! CAM3 implementation, though this is somewhat ineffective for large ice particles elseif (iceflag .eq. 1) then if (radice .lt. 13.0_rb .or. radice .gt. 130._rb) write(103,*) & 'ICE RADIUS OUT OF BOUNDS' do ib = ib1, ib2 if (wavenum2(ib) .gt. 1.43e04_rb) then icx = 1 elseif (wavenum2(ib) .gt. 7.7e03_rb) then icx = 2 elseif (wavenum2(ib) .gt. 5.3e03_rb) then icx = 3 elseif (wavenum2(ib) .gt. 4.0e03_rb) then icx = 4 elseif (wavenum2(ib) .ge. 2.5e03_rb) then icx = 5 endif extcoice(ib) = abari(icx) + bbari(icx)/radice ssacoice(ib) = 1._rb - cbari(icx) - dbari(icx) * radice !Luotestssacoice(ib) = min(1._rb,ssacoice(ib)) gice(ib) = ebari(icx) + fbari(icx) * radice ! Check to ensure upper limit of gice is within physical limits for large particles if (gice(ib) .ge. 1.0_rb) gice(ib) = 1.0_rb - eps forwice(ib) = gice(ib)*gice(ib) ! Check to ensure all calculated quantities are within physical limits. if (extcoice(ib) .lt. 0.0_rb) write(103,*) 'ICE EXTINCTION LESS THAN 0.0' if (ssacoice(ib) .gt. 1.0_rb) write(103,*) 'ICE SSA GRTR THAN 1.0' if (ssacoice(ib) .lt. 0.0_rb) write(103,*) 'ICE SSA LESS THAN 0.0' if (gice(ib) .gt. 1.0_rb) write(103,*) 'ICE ASYM GRTR THAN 1.0' if (gice(ib) .lt. 0.0_rb) write(103,*) 'ICE ASYM LESS THAN 0.0' enddo ! For iceflag=2 option, ice particle effective radius is limited to 5.0 to 131.0 microns elseif (iceflag .eq. 2) then if (radice .lt. 5.0_rb .or. radice .gt. 131.0_rb) write(103,*) 'ICE RADIUS OUT OF BOUNDS' factor = (radice - 2._rb)/3._rb index = int(factor) if (index .eq. 43) index = 42 fint = factor - float(index) do ib = ib1, ib2 extcoice(ib) = extice2(index,ib) + fint * & (extice2(index+1,ib) - extice2(index,ib)) ssacoice(ib) = ssaice2(index,ib) + fint * & (ssaice2(index+1,ib) - ssaice2(index,ib)) !Luotestssacoice(ib) = min(1._rb,ssacoice(ib)) gice(ib) = asyice2(index,ib) + fint * & (asyice2(index+1,ib) - asyice2(index,ib)) forwice(ib) = gice(ib)*gice(ib) ! Check to ensure all calculated quantities are within physical limits. if (extcoice(ib) .lt. 0.0_rb) write(103,*) 'ICE EXTINCTION LESS THAN 0.0' if (ssacoice(ib) .gt. 1.0_rb) write(103,*) 'ICE SSA GRTR THAN 1.0' if (ssacoice(ib) .lt. 0.0_rb) write(103,*) 'ICE SSA LESS THAN 0.0' if (gice(ib) .gt. 1.0_rb) write(103,*) 'ICE ASYM GRTR THAN 1.0' if (gice(ib) .lt. 0.0_rb) write(103,*) 'ICE ASYM LESS THAN 0.0' enddo ! For iceflag=3 option, ice particle generalized effective size is limited to 5.0 to 140.0 microns elseif (iceflag .eq. 3) then if (radice .lt. 5.0_rb .or. radice .gt. 140.0_rb) write(103,*) 'ICE GENERALIZED EFFECTIVE SIZE OUT OF BOUNDS' factor = (radice - 2._rb)/3._rb index = int(factor) if (index .eq. 46) index = 45 fint = factor - float(index) do ib = ib1 , ib2 extcoice(ib) = extice3(index,ib) + fint * & (extice3(index+1,ib) - extice3(index,ib)) ssacoice(ib) = ssaice3(index,ib) + fint * & (ssaice3(index+1,ib) - ssaice3(index,ib)) !Luotestssacoice(ib) = min(1._rb,ssacoice(ib)) gice(ib) = asyice3(index,ib) + fint * & (asyice3(index+1,ib) - asyice3(index,ib)) fdelta(ib) = fdlice3(index,ib) + fint * & (fdlice3(index+1,ib) - fdlice3(index,ib)) if (fdelta(ib) .lt. 0.0_rb) write(103,*) 'FDELTA LESS THAN 0.0' if (fdelta(ib) .gt. 1.0_rb) write(103,*) 'FDELTA GT THAN 1.0' forwice(ib) = fdelta(ib) + 0.5_rb / ssacoice(ib) ! See Fu 1996 p. 2067 if (forwice(ib) .gt. gice(ib)) forwice(ib) = gice(ib) ! Check to ensure all calculated quantities are within physical limits. if (extcoice(ib) .lt. 0.0_rb) write(103,*) 'ICE EXTINCTION LESS THAN 0.0' if (ssacoice(ib) .gt. 1.0_rb) write(103,*) 'ICE SSA GRTR THAN 1.0' if (ssacoice(ib) .lt. 0.0_rb) write(103,*) 'ICE SSA LESS THAN 0.0' if (gice(ib) .gt. 1.0_rb) write(103,*) 'ICE ASYM GRTR THAN 1.0' if (gice(ib) .lt. 0.0_rb) write(103,*) 'ICE ASYM LESS THAN 0.0' enddo endif ! Calculation of absorption coefficients due to water clouds. if (clwp(lay) .eq. 0.0_rb) then do ib = ib1 , ib2 extcoliq(ib) = 0.0_rb ssacoliq(ib) = 0.0_rb gliq(ib) = 0.0_rb forwliq(ib) = 0.0_rb enddo elseif (liqflag .eq. 1) then radliq = rel(lay) if (radliq .lt. 2.5_rb .or. radliq .gt. 60._rb) write(103,*) & 'LIQUID EFFECTIVE RADIUS OUT OF BOUNDS' index = int(radliq - 1.5_rb) if (index .eq. 0) index = 1 if (index .eq. 58) index = 57 fint = radliq - 1.5_rb - float(index) do ib = ib1 , ib2 extcoliq(ib) = extliq1(index,ib) + fint * & (extliq1(index+1,ib) - extliq1(index,ib)) ssacoliq(ib) = ssaliq1(index,ib) + fint * & (ssaliq1(index+1,ib) - ssaliq1(index,ib)) !Luoif(ib==25)ssacoliq(ib) = min(ssaliq1(index,ib),ssacoliq(ib)) if (fint .lt. 0._rb .and. ssacoliq(ib) .gt. 1._rb) & ssacoliq(ib) = ssaliq1(index,ib) gliq(ib) = asyliq1(index,ib) + fint * & (asyliq1(index+1,ib) - asyliq1(index,ib)) forwliq(ib) = gliq(ib)*gliq(ib) ! Check to ensure all calculated quantities are within physical limits. if (extcoliq(ib) .lt. 0.0_rb) write(103,*) 'LIQUID EXTINCTION LESS THAN 0.0' if (ssacoliq(ib) .gt. 1.0_rb) write(103,*) 'LIQUID SSA GRTR THAN 1.0' if (ssacoliq(ib) .lt. 0.0_rb) write(103,*) 'LIQUID SSA LESS THAN 0.0' if (gliq(ib) .gt. 1.0_rb) write(103,*) 'LIQUID ASYM GRTR THAN 1.0' if (gliq(ib) .lt. 0.0_rb) write(103,*) 'LIQUID ASYM LESS THAN 0.0' enddo endif do ib = ib1 , ib2 tauliqorig = clwp(lay) * extcoliq(ib) tauiceorig = ciwp(lay) * extcoice(ib) ssaliq = ssacoliq(ib) * (1.0_rb - forwliq(ib)) / & (1.0_rb - forwliq(ib) * ssacoliq(ib)) tauliq = (1.0_rb - forwliq(ib) * ssacoliq(ib)) * tauliqorig ssaice = ssacoice(ib) * (1.0_rb - forwice(ib)) / & (1.0_rb - forwice(ib) * ssacoice(ib)) tauice = (1.0_rb - forwice(ib) * ssacoice(ib)) * tauiceorig scatliq = ssaliq * tauliq scatice = ssaice * tauice taucloud(lay,ib) = tauliq + tauice ! Ensure non-zero taucmc and scatice if (taucloud(lay,ib).eq.0.0_rb) taucloud(lay,ib) = cldmin if (scatice.eq.0.0_rb) scatice = cldmin ssacloud(lay,ib) = (scatliq + scatice) / taucloud(lay,ib) if (iceflag .eq. 3) then ! In accordance with the 1996 Fu paper, equation A.3, ! the moments for ice were calculated depending on whether using spheres ! or hexagonal ice crystals. istr = 1 asmcloud(lay,ib) = (1.0_rb/(scatliq+scatice)) * & (scatliq*(gliq(ib)**istr - forwliq(ib)) / & (1.0_rb - forwliq(ib)) + scatice * ((gice(ib)-forwice(ib)) / & (1.0_rb - forwice(ib)))**istr) else ! This code is the standard method for delta-m scaling. istr = 1 asmcloud(lay,ib) = (scatliq * & (gliq(ib)**istr - forwliq(ib)) / & (1.0_rb - forwliq(ib)) + scatice * (gice(ib)**istr - forwice(ib)) / & (1.0_rb - forwice(ib)))/(scatliq + scatice) endif !taucld(lay,ib) = (tauliqorig+tauiceorig) !taucldl(lay,ib) = tauliqorig !taucldi(lay,ib) = tauiceorig taucld(lay,ib) = (tauliqorig+tauiceorig)*(cldfrac(lay)**1.5) taucldl(lay,ib) = tauliqorig*(cldfrac(lay)**1.5) taucldi(lay,ib) = tauiceorig*(cldfrac(lay)**1.5) ssacldl(lay,ib) = min(1.d0,ssaliq) ssacldi(lay,ib) = min(1.d0,ssaice) !ssacldl(lay,ib) = min(1.d0,ssacoliq(ib)) !ssacldi(lay,ib) = min(1.d0,ssacoice(ib)) !taucld(lay,ib) = (tauliqorig+tauiceorig)*cldfrac(lay) !taucldl(lay,ib) = tauliqorig*cldfrac(lay) !taucldi(lay,ib) = tauiceorig*cldfrac(lay) !taucld(lay,ib) = taucloud(lay,ib)*cldfrac(lay) !taucldl(lay,ib) = tauliq*cldfrac(lay) !taucldi(lay,ib) = tauice*cldfrac(lay) enddo endif endif ! End layer loop enddo end subroutine cldprop_swapm !EOC END MODULE rrtmg_sw_GCAPM #endif ================================================ FILE: APM/module_data_mosaic_asect.F90 ================================================ #ifdef APM !********************************************************************************** ! This computer software was prepared by Battelle Memorial Institute, hereinafter ! the Contractor, under Contract No. DE-AC05-76RL0 1830 with the Department of ! Energy (DOE). NEITHER THE GOVERNMENT NOR THE CONTRACTOR MAKES ANY WARRANTY, ! EXPRESS OR IMPLIED, OR ASSUMES ANY LIABILITY FOR THE USE OF THIS SOFTWARE. ! ! MOSAIC module: see module_mosaic_driver.F for references and terms of use !********************************************************************************** module module_data_mosaic_asect implicit none !----------------------------------------------------------------------- ! ! The variables in this module provide a means of organizing and accessing ! aerosol species in the "chem" array by their chemical component, ! size bin (or mode), "type", and "phase" ! ! Their purpose is to allow flexible coding of process modules, ! compared to "hard-coding" using the chem array p_xxx indices ! (e.g., p_so4_a01, p_so4_a02, ...; p_num_a01, ...) ! !----------------------------------------------------------------------- ! ! rce & sg 2004-dec-03 - added phase and type capability, ! which changed this module almost completely ! !----------------------------------------------------------------------- ! ! maxd_atype = maximum allowable number of aerosol types ! maxd_asize = maximum allowable number of aerosol size bins ! maxd_acomp = maximum allowable number of chemical components ! in each aerosol size bin ! maxd_aphase = maximum allowable number of aerosol phases ! (gas, cloud, ice, rain, ...) ! ! ntype_aer = number of aerosol types ! The aerosol type will allow treatment of an externally mixed ! aerosol. The current MOSAIC code has only 1 type, with the implicit ! assumption of internal mixing. Eventually, multiple types ! could treat fresh primary BC/OC, fresh SO4 from nucleation, ! aged BC/OC/SO4/... mixture, soil dust, sea salt, ... ! ! nphase_aer = number of aerosol phases ! ! ai_phase = phase (p) index for interstitial (unactivated) aerosol particles ! cw_phase = phase (p) index for aerosol particles in cloud water ! ci_phase = phase (p) index for aerosol particles in cloud ice ! rn_phase = phase (p) index for aerosol particles in rain ! sn_phase = phase (p) index for aerosol particles in snow ! gr_phase = phase (p) index for aerosol particles in graupel ! [Note: the value of "xx_phase" will be between 1 and nphase_aer ! for phases that are active in a simulation. The others ! will have non-positive values.] ! ! nsize_aer(t) = number of aerosol size bins for aerosol type t ! ! ncomp_aer(t) = number of "regular" chemical components for aerosol type t ! ncomp_plustracer_aer(t) = number of "regular" plus "tracer" ! chemical components for aerosol type t ! [Note: only "regular" components are used for calculating ! aerosol physical (mass, volume) and chemical properties. ! "Tracer" components are optional, and can be used to track source ! regions, source mechanisms, etc.] ! [Note: for aerosol type t, all phases have the same number of size ! bins, and all size bins have the same number of ! both regular and tracer components.] ! ! ntot_maincomp_aer = number of aerosol chemical components defined ! in the "main component list". ! [Note: each aerosol type will use some but not necessarily all ! of the components in the "main component list".] ! ! maincompptr_aer(c,t) = the position/index/i.d. in the ! "main component list" for chemical component c of aerosol type t. ! (1=sulfate, others to be defined by user.) ! ! massptr_aer(c,s,t,p) = the position/index in the chem array for mixing- ! ratio for chemical component c, size bin s, type t, and phase p. ! ! lptr_so4_aer(s,t,p) = the position/index in the chem array for mixing- ! ratio for sulfate for aerosol size bin s, type t, and phase p ! (similar lptr's are defined for no3, cl, msa, co3, ! nh4, na, ca, oin, oc, bc, ...) ! [Note: the massptr_aer allow you to loop over all species of ! an aerosol type. The lptr_so4_aer, etc., allow you to access ! a specific chemical component.] ! ! waterptr_aer(s,t) = the position/index in the chem array for mixing- ! ratio of aerosol water content for size bin s, type t. ! [Note: water content is only carried for the interstitial aerosol ! phase, so there is no p dimension.] ! ! hyswptr_aer(s,t) = the position/index in the chem array for mixing- ! ratio of aerosol "hysteresis water" content for size bin s, type t. ! This is used to determine if aerosol is in the dry or wet state, when ! the ambient RH is between the crystallization and deliquescence RH. ! [Note: hysteresis water content is only carried for the ! interstitial aerosol phase, so there is no p dimension.] ! ! numptr_aer(s,t,p) = the position/index in the chem array for mixing- ! ratio of particle number for size bin s, type t, and phase p. ! ! mprognum_aer(s,t,p) - if positive, number mixing-ratio for size s, type t, ! and phase p will be prognosed. Otherwise, it is diagnosed using ! mass mixing-ratio add assumed/prescribed size. ! ! mixing ratio (moles-water/mole-air) for water ! associated with aerosol size bin s and type t ! ! ! maincompindx_so4_aer = the position/index in the ! "main component list" for sulfate. ! (similar lptr's are defined for no3, cl, msa, co3, ! nh4, na, ca, oin, oc, bc, ...) ! [Note: the maincompindx_xxx_aer are used primarily in ! initialization routines, and generally aren't needed elsewhere.] ! !----------------------------------------------------------------------- ! ! dens_maincomp_aer(mc) = dry density (g/cm^3) of component mc ! of the main component list. ! dens_aer(c,t) = dry density (g/cm^3) of aerosol chemical component ! c of type t ! [Note: dens_aer(c,t) == dens_maincomp_aer(maincompptr_aer(c,t)) ! The dens_maincomp_aer is used in some initialization routines. ! The dens_aer is used in most other places because of convenience.] ! ! mw_maincomp_aer(mc) = molecular weight (g/mole) of component mc ! of the main component list. ! mw_aer(c,t) = molecular weight (g/mole) of aerosol chemical component ! c of type t ! [Note: mw_aer(c,t) == mw_maincomp_aer(maincompptr_aer(c,t)) ] ! ! name_maincomp_aer(mc) = name of component mc of the ! main component list (e.g., "sulfate", "nitrate", ...). ! name_aer(c,t) = molecular weight (g/mole) of aerosol chemical component ! c of type t ! [Note: name_aer(c,t) == name_maincomp_aer(maincompptr_aer(c,t)) ] ! ! hygro_maincomp_aer(mc) = bulk hygroscopicity (--) at dilute conditions ! (RH near 100%) of component mc of the main component list. ! hygro_aer(c,t) = bulk hygroscopicity (--) at dilute conditions ! (RH near 100%) of aerosol chemical component c of type t ! [For definition of bulk hygroscopicity, ! see Abdul-Razzak and Ghan, 2004, J Geophys Res, V105, p. 6837-6844.] ! [Note: hygro_aer(c,t) == hygro_maincomp_aer(maincompptr_aer(c,t)) ] ! !----------------------------------------------------------------------- ! ! volumlo_sect(s,t) = 1-particle volume (cm^3) at lower boundary of section m ! volumhi_sect(s,t) = 1-particle volume (cm^3) at upper boundary of section m ! volumcen_sect(s,t)= 1-particle volume (cm^3) at "center" of section m ! ! dlo_sect(s,t) = 1-particle diameter (cm) at lower boundary of section m ! dhi_sect(s,t) = 1-particle diameter (cm) at upper boundary of section m ! dcen_sect(s,t) = 1-particle diameter (cm) at "center" section m ! ! [Note: the "center" values are defined as follows: ! volumcen_sect == 0.5*(volumlo_sect + volumhi_sect) ! == (pi/6) * (dcen_sect**3) ] ! !----------------------------------------------------------------------- ! ! msectional - if positive, each aerosol size bin is a section. ! if equals 10, use jacobson moving center ! if equals 20, use tzivion mass-number advection ! if zero/negative, each size bin is a mode (aitken, accumulation, ...) ! ! maerosolincw - if positive, both unactivated/interstitial and activated ! aerosol species are simulated. if zero/negative, only the ! unactivated are simulated. [maerosolincw>0 only when cw_phase>0] ! ! maerocoag - if positive, aerosol coagulation is done. ! If zero/negative, it is skipped. ! (This is not yet implemented in WRF-Chem.) ! ! maerchem - if positive, aerosol gas-particle condensation/evaporation ! of inorganic species is done. If zero/negative, it is skipped. ! (This is not yet implemented in WRF-Chem.) ! ! maerchem_boxtest_output - if positive, "boxtest" output is done from ! the aerchemistry routine. If zero/negative, it is skipped. ! (This is not yet implemented in WRF-Chem.) ! ! maeroptical - if positive, aerosol optical properties are calculated. ! If zero/negative, it is skipped. ! (This is not yet implemented in WRF-Chem.) ! !----------------------------------------------------------------------- integer, parameter :: maxd_atype = 1 integer, parameter :: maxd_asize = 8 ! integer, parameter :: maxd_acomp = 120 ! for additional SOA species changed by Manish Shrivastava on 01/25/10 integer, parameter :: maxd_acomp = 400 ! for additional SOA species changed by Manish Shrivastava on 01/25/10 integer, parameter :: maxd_aphase = 2 integer, save :: ai_phase = -999888777 integer, save :: cw_phase = -999888777 integer, save :: ci_phase = -999888777 integer, save :: rn_phase = -999888777 integer, save :: sn_phase = -999888777 integer, save :: gr_phase = -999888777 integer, save :: ntype_aer = 0 ! number of types integer, save :: ntot_maincomp_aer = 0 ! number of main components integer, save :: nphase_aer = 0 ! number of phases integer, save :: & nsize_aer( maxd_atype ), & ! number of size bins ncomp_aer( maxd_atype ), & ! number of chemical components ncomp_plustracer_aer( maxd_atype ), & maincompptr_aer(maxd_acomp, maxd_atype), & ! maincomp index massptr_aer( maxd_acomp, maxd_asize, maxd_atype, maxd_aphase ), & ! index for mixing ratio waterptr_aer( maxd_asize, maxd_atype ), & ! index for aerosol water hyswptr_aer( maxd_asize, maxd_atype ), & numptr_aer( maxd_asize, maxd_atype, maxd_aphase ), & ! index for the number mixing ratio mprognum_aer(maxd_asize,maxd_atype,maxd_aphase) ! these indices give the location in the "maincomp list" of ! the different aerosol chemical (or tracer) components integer, save :: maincompindx_so4_aer = -999888777 integer, save :: maincompindx_no3_aer = -999888777 integer, save :: maincompindx_cl_aer = -999888777 integer, save :: maincompindx_msa_aer = -999888777 integer, save :: maincompindx_co3_aer = -999888777 integer, save :: maincompindx_nh4_aer = -999888777 integer, save :: maincompindx_na_aer = -999888777 integer, save :: maincompindx_ca_aer = -999888777 integer, save :: maincompindx_oin_aer = -999888777 integer, save :: maincompindx_oc_aer = -999888777 integer, save :: maincompindx_bc_aer = -999888777 integer, save :: maincompindx_pcg1_b_c_aer = -999888777 integer, save :: maincompindx_pcg2_b_c_aer = -999888777 integer, save :: maincompindx_pcg3_b_c_aer = -999888777 integer, save :: maincompindx_pcg4_b_c_aer = -999888777 integer, save :: maincompindx_pcg5_b_c_aer = -999888777 integer, save :: maincompindx_pcg6_b_c_aer = -999888777 integer, save :: maincompindx_pcg7_b_c_aer = -999888777 integer, save :: maincompindx_pcg8_b_c_aer = -999888777 integer, save :: maincompindx_pcg9_b_c_aer = -999888777 integer, save :: maincompindx_pcg1_b_o_aer = -999888777 integer, save :: maincompindx_pcg2_b_o_aer = -999888777 integer, save :: maincompindx_pcg3_b_o_aer = -999888777 integer, save :: maincompindx_pcg4_b_o_aer = -999888777 integer, save :: maincompindx_pcg5_b_o_aer = -999888777 integer, save :: maincompindx_pcg6_b_o_aer = -999888777 integer, save :: maincompindx_pcg7_b_o_aer = -999888777 integer, save :: maincompindx_pcg8_b_o_aer = -999888777 integer, save :: maincompindx_pcg9_b_o_aer = -999888777 integer, save :: maincompindx_opcg1_b_c_aer = -999888777 integer, save :: maincompindx_opcg2_b_c_aer = -999888777 integer, save :: maincompindx_opcg3_b_c_aer = -999888777 integer, save :: maincompindx_opcg4_b_c_aer = -999888777 integer, save :: maincompindx_opcg5_b_c_aer = -999888777 integer, save :: maincompindx_opcg6_b_c_aer = -999888777 integer, save :: maincompindx_opcg7_b_c_aer = -999888777 integer, save :: maincompindx_opcg8_b_c_aer = -999888777 integer, save :: maincompindx_opcg1_b_o_aer = -999888777 integer, save :: maincompindx_opcg2_b_o_aer = -999888777 integer, save :: maincompindx_opcg3_b_o_aer = -999888777 integer, save :: maincompindx_opcg4_b_o_aer = -999888777 integer, save :: maincompindx_opcg5_b_o_aer = -999888777 integer, save :: maincompindx_opcg6_b_o_aer = -999888777 integer, save :: maincompindx_opcg7_b_o_aer = -999888777 integer, save :: maincompindx_opcg8_b_o_aer = -999888777 integer, save :: maincompindx_pcg1_f_c_aer = -999888777 integer, save :: maincompindx_pcg2_f_c_aer = -999888777 integer, save :: maincompindx_pcg3_f_c_aer = -999888777 integer, save :: maincompindx_pcg4_f_c_aer = -999888777 integer, save :: maincompindx_pcg5_f_c_aer = -999888777 integer, save :: maincompindx_pcg6_f_c_aer = -999888777 integer, save :: maincompindx_pcg7_f_c_aer = -999888777 integer, save :: maincompindx_pcg8_f_c_aer = -999888777 integer, save :: maincompindx_pcg9_f_c_aer = -999888777 integer, save :: maincompindx_pcg1_f_o_aer = -999888777 integer, save :: maincompindx_pcg2_f_o_aer = -999888777 integer, save :: maincompindx_pcg3_f_o_aer = -999888777 integer, save :: maincompindx_pcg4_f_o_aer = -999888777 integer, save :: maincompindx_pcg5_f_o_aer = -999888777 integer, save :: maincompindx_pcg6_f_o_aer = -999888777 integer, save :: maincompindx_pcg7_f_o_aer = -999888777 integer, save :: maincompindx_pcg8_f_o_aer = -999888777 integer, save :: maincompindx_pcg9_f_o_aer = -999888777 integer, save :: maincompindx_opcg1_f_c_aer = -999888777 integer, save :: maincompindx_opcg2_f_c_aer = -999888777 integer, save :: maincompindx_opcg3_f_c_aer = -999888777 integer, save :: maincompindx_opcg4_f_c_aer = -999888777 integer, save :: maincompindx_opcg5_f_c_aer = -999888777 integer, save :: maincompindx_opcg6_f_c_aer = -999888777 integer, save :: maincompindx_opcg7_f_c_aer = -999888777 integer, save :: maincompindx_opcg8_f_c_aer = -999888777 integer, save :: maincompindx_opcg1_f_o_aer = -999888777 integer, save :: maincompindx_opcg2_f_o_aer = -999888777 integer, save :: maincompindx_opcg3_f_o_aer = -999888777 integer, save :: maincompindx_opcg4_f_o_aer = -999888777 integer, save :: maincompindx_opcg5_f_o_aer = -999888777 integer, save :: maincompindx_opcg6_f_o_aer = -999888777 integer, save :: maincompindx_opcg7_f_o_aer = -999888777 integer, save :: maincompindx_opcg8_f_o_aer = -999888777 integer, save :: maincompindx_smpa_aer = -999888777 integer, save :: maincompindx_smpbb_aer = -999888777 integer, save :: maincompindx_glysoa_r1_aer = -999888777 integer, save :: maincompindx_glysoa_r2_aer = -999888777 integer, save :: maincompindx_glysoa_oh_aer = -999888777 integer, save :: maincompindx_glysoa_nh4_aer = -999888777 integer, save :: maincompindx_glysoa_sfc_aer = -999888777 integer, save :: maincompindx_ant1_c_aer = -999888777 integer, save :: maincompindx_ant2_c_aer = -999888777 integer, save :: maincompindx_ant3_c_aer = -999888777 integer, save :: maincompindx_ant4_c_aer = -999888777 integer, save :: maincompindx_ant1_o_aer = -999888777 integer, save :: maincompindx_ant2_o_aer = -999888777 integer, save :: maincompindx_ant3_o_aer = -999888777 integer, save :: maincompindx_ant4_o_aer = -999888777 integer, save :: maincompindx_biog1_c_aer = -999888777 integer, save :: maincompindx_biog2_c_aer = -999888777 integer, save :: maincompindx_biog3_c_aer = -999888777 integer, save :: maincompindx_biog4_c_aer = -999888777 integer, save :: maincompindx_biog1_o_aer = -999888777 integer, save :: maincompindx_biog2_o_aer = -999888777 integer, save :: maincompindx_biog3_o_aer = -999888777 integer, save :: maincompindx_biog4_o_aer = -999888777 integer, save :: maincompindx_asoaX_aer = -999888777 integer, save :: maincompindx_asoa1_aer = -999888777 integer, save :: maincompindx_asoa2_aer = -999888777 integer, save :: maincompindx_asoa3_aer = -999888777 integer, save :: maincompindx_asoa4_aer = -999888777 integer, save :: maincompindx_bsoaX_aer = -999888777 integer, save :: maincompindx_bsoa1_aer = -999888777 integer, save :: maincompindx_bsoa2_aer = -999888777 integer, save :: maincompindx_bsoa3_aer = -999888777 integer, save :: maincompindx_bsoa4_aer = -999888777 real, save :: & dens_aer( maxd_acomp, maxd_atype ), & dens_maincomp_aer( maxd_acomp ), & mw_maincomp_aer( maxd_acomp ), & mw_aer( maxd_acomp, maxd_atype ), & hygro_maincomp_aer( maxd_acomp ), & hygro_aer( maxd_acomp, maxd_atype ) real, save :: & volumcen_sect( maxd_asize, maxd_atype ), & volumlo_sect( maxd_asize, maxd_atype ), & volumhi_sect( maxd_asize, maxd_atype ), & dcen_sect( maxd_asize, maxd_atype ), & dlo_sect( maxd_asize, maxd_atype ), & dhi_sect( maxd_asize, maxd_atype ), & sigmag_aer(maxd_asize, maxd_atype) real, save :: aersize character*20, save :: & name_maincomp_aer( maxd_acomp ), & name_aer( maxd_acomp, maxd_atype ) integer, save :: & lptr_so4_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_msa_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_no3_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_cl_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_co3_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_nh4_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_na_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_ca_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_oin_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_oc_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_bc_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_pcg1_b_c_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_pcg2_b_c_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_pcg3_b_c_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_pcg4_b_c_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_pcg5_b_c_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_pcg6_b_c_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_pcg7_b_c_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_pcg8_b_c_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_pcg9_b_c_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_pcg1_b_o_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_pcg2_b_o_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_pcg3_b_o_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_pcg4_b_o_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_pcg5_b_o_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_pcg6_b_o_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_pcg7_b_o_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_pcg8_b_o_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_pcg9_b_o_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_opcg1_b_c_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_opcg2_b_c_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_opcg3_b_c_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_opcg4_b_c_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_opcg5_b_c_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_opcg6_b_c_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_opcg7_b_c_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_opcg8_b_c_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_opcg1_b_o_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_opcg2_b_o_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_opcg3_b_o_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_opcg4_b_o_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_opcg5_b_o_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_opcg6_b_o_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_opcg7_b_o_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_opcg8_b_o_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_pcg1_f_c_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_pcg2_f_c_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_pcg3_f_c_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_pcg4_f_c_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_pcg5_f_c_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_pcg6_f_c_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_pcg7_f_c_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_pcg8_f_c_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_pcg9_f_c_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_pcg1_f_o_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_pcg2_f_o_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_pcg3_f_o_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_pcg4_f_o_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_pcg5_f_o_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_pcg6_f_o_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_pcg7_f_o_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_pcg8_f_o_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_pcg9_f_o_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_opcg1_f_c_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_opcg2_f_c_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_opcg3_f_c_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_opcg4_f_c_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_opcg5_f_c_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_opcg6_f_c_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_opcg7_f_c_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_opcg8_f_c_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_opcg1_f_o_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_opcg2_f_o_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_opcg3_f_o_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_opcg4_f_o_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_opcg5_f_o_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_opcg6_f_o_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_opcg7_f_o_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_opcg8_f_o_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_smpa_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_smpbb_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_glysoa_r1_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_glysoa_r2_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_glysoa_oh_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_glysoa_nh4_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_glysoa_sfc_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_ant1_c_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_ant2_c_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_ant3_c_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_ant4_c_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_ant1_o_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_ant2_o_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_ant3_o_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_ant4_o_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_biog1_c_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_biog2_c_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_biog3_c_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_biog4_c_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_biog1_o_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_biog2_o_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_biog3_o_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_biog4_o_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_asoaX_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_asoa1_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_asoa2_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_asoa3_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_asoa4_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_bsoaX_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_bsoa1_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_bsoa2_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_bsoa3_aer(maxd_asize, maxd_atype, maxd_aphase), & lptr_bsoa4_aer(maxd_asize, maxd_atype, maxd_aphase) ! rce 11-sep-2004 - eliminated all of the "..._wrfch" pointers ! so now there is only one set of pointers ("..._amode") ! sg/rce nov-2004 - totally new pointer system - "..._aer" ! molecular weights (g/mol) real, parameter :: mw_so4_aer = 96.066 real, parameter :: mw_no3_aer = 62.007 real, parameter :: mw_cl_aer = 35.450 real, parameter :: mw_msa_aer = 96.109 real, parameter :: mw_co3_aer = 60.007 real, parameter :: mw_nh4_aer = 18.042 real, parameter :: mw_na_aer = 22.990 real, parameter :: mw_ca_aer = 40.080 real, parameter :: mw_oin_aer = 1.0 real, parameter :: mw_oc_aer = 250.0 real, parameter :: mw_bc_aer = 1.0 real, parameter :: mw_water_aer = 18.016 real, parameter :: mw_pcg1_b_c_aer = 250.0 real, parameter :: mw_pcg2_b_c_aer = 250.0 real, parameter :: mw_pcg3_b_c_aer = 250.0 real, parameter :: mw_pcg4_b_c_aer = 250.0 real, parameter :: mw_pcg5_b_c_aer = 250.0 real, parameter :: mw_pcg6_b_c_aer = 250.0 real, parameter :: mw_pcg7_b_c_aer = 250.0 real, parameter :: mw_pcg8_b_c_aer = 250.0 real, parameter :: mw_pcg9_b_c_aer = 250.0 real, parameter :: mw_pcg1_b_o_aer = 250.0 real, parameter :: mw_pcg2_b_o_aer = 250.0 real, parameter :: mw_pcg3_b_o_aer = 250.0 real, parameter :: mw_pcg4_b_o_aer = 250.0 real, parameter :: mw_pcg5_b_o_aer = 250.0 real, parameter :: mw_pcg6_b_o_aer = 250.0 real, parameter :: mw_pcg7_b_o_aer = 250.0 real, parameter :: mw_pcg8_b_o_aer = 250.0 real, parameter :: mw_pcg9_b_o_aer = 250.0 real, parameter :: mw_opcg1_b_c_aer = 250.0 real, parameter :: mw_opcg2_b_c_aer = 250.0 real, parameter :: mw_opcg3_b_c_aer = 250.0 real, parameter :: mw_opcg4_b_c_aer = 250.0 real, parameter :: mw_opcg5_b_c_aer = 250.0 real, parameter :: mw_opcg6_b_c_aer = 250.0 real, parameter :: mw_opcg7_b_c_aer = 250.0 real, parameter :: mw_opcg8_b_c_aer = 250.0 real, parameter :: mw_opcg1_b_o_aer = 250.0 real, parameter :: mw_opcg2_b_o_aer = 250.0 real, parameter :: mw_opcg3_b_o_aer = 250.0 real, parameter :: mw_opcg4_b_o_aer = 250.0 real, parameter :: mw_opcg5_b_o_aer = 250.0 real, parameter :: mw_opcg6_b_o_aer = 250.0 real, parameter :: mw_opcg7_b_o_aer = 250.0 real, parameter :: mw_opcg8_b_o_aer = 250.0 real, parameter :: mw_pcg1_f_c_aer = 250.0 real, parameter :: mw_pcg2_f_c_aer = 250.0 real, parameter :: mw_pcg3_f_c_aer = 250.0 real, parameter :: mw_pcg4_f_c_aer = 250.0 real, parameter :: mw_pcg5_f_c_aer = 250.0 real, parameter :: mw_pcg6_f_c_aer = 250.0 real, parameter :: mw_pcg7_f_c_aer = 250.0 real, parameter :: mw_pcg8_f_c_aer = 250.0 real, parameter :: mw_pcg9_f_c_aer = 250.0 real, parameter :: mw_pcg1_f_o_aer = 250.0 real, parameter :: mw_pcg2_f_o_aer = 250.0 real, parameter :: mw_pcg3_f_o_aer = 250.0 real, parameter :: mw_pcg4_f_o_aer = 250.0 real, parameter :: mw_pcg5_f_o_aer = 250.0 real, parameter :: mw_pcg6_f_o_aer = 250.0 real, parameter :: mw_pcg7_f_o_aer = 250.0 real, parameter :: mw_pcg8_f_o_aer = 250.0 real, parameter :: mw_pcg9_f_o_aer = 250.0 real, parameter :: mw_opcg1_f_c_aer = 250.0 real, parameter :: mw_opcg2_f_c_aer = 250.0 real, parameter :: mw_opcg3_f_c_aer = 250.0 real, parameter :: mw_opcg4_f_c_aer = 250.0 real, parameter :: mw_opcg5_f_c_aer = 250.0 real, parameter :: mw_opcg6_f_c_aer = 250.0 real, parameter :: mw_opcg7_f_c_aer = 250.0 real, parameter :: mw_opcg8_f_c_aer = 250.0 real, parameter :: mw_opcg1_f_o_aer = 250.0 real, parameter :: mw_opcg2_f_o_aer = 250.0 real, parameter :: mw_opcg3_f_o_aer = 250.0 real, parameter :: mw_opcg4_f_o_aer = 250.0 real, parameter :: mw_opcg5_f_o_aer = 250.0 real, parameter :: mw_opcg6_f_o_aer = 250.0 real, parameter :: mw_opcg7_f_o_aer = 250.0 real, parameter :: mw_opcg8_f_o_aer = 250.0 real, parameter :: mw_smpa_aer = 250.0 real, parameter :: mw_smpbb_aer = 250.0 real, parameter :: mw_glysoa_r1_aer = 250.0 real, parameter :: mw_glysoa_r2_aer = 250.0 real, parameter :: mw_glysoa_oh_aer = 250.0 real, parameter :: mw_glysoa_nh4_aer = 250.0 real, parameter :: mw_glysoa_sfc_aer = 250.0 real, parameter :: mw_ant1_c_aer = 250.0 real, parameter :: mw_ant2_c_aer = 250.0 real, parameter :: mw_ant3_c_aer = 250.0 real, parameter :: mw_ant4_c_aer = 250.0 real, parameter :: mw_ant1_o_aer = 250.0 real, parameter :: mw_ant2_o_aer = 250.0 real, parameter :: mw_ant3_o_aer = 250.0 real, parameter :: mw_ant4_o_aer = 250.0 real, parameter :: mw_biog1_c_aer = 250.0 real, parameter :: mw_biog2_c_aer = 250.0 real, parameter :: mw_biog3_c_aer = 250.0 real, parameter :: mw_biog4_c_aer = 250.0 real, parameter :: mw_biog1_o_aer = 250.0 real, parameter :: mw_biog2_o_aer = 250.0 real, parameter :: mw_biog3_o_aer = 250.0 real, parameter :: mw_biog4_o_aer = 250.0 real, parameter :: mw_asoaX_aer = 250.0 real, parameter :: mw_asoa1_aer = 250.0 real, parameter :: mw_asoa2_aer = 250.0 real, parameter :: mw_asoa3_aer = 250.0 real, parameter :: mw_asoa4_aer = 250.0 real, parameter :: mw_bsoaX_aer = 250.0 real, parameter :: mw_bsoa1_aer = 250.0 real, parameter :: mw_bsoa2_aer = 250.0 real, parameter :: mw_bsoa3_aer = 250.0 real, parameter :: mw_bsoa4_aer = 250.0 ! dry densities (g/cm3) real, parameter :: dens_so4_aer = 1.80 real, parameter :: dens_no3_aer = 1.80 real, parameter :: dens_cl_aer = 2.20 real, parameter :: dens_msa_aer = 1.80 real, parameter :: dens_co3_aer = 2.60 real, parameter :: dens_nh4_aer = 1.80 real, parameter :: dens_na_aer = 2.20 real, parameter :: dens_ca_aer = 2.60 real, parameter :: dens_oin_aer = 2.60 real, parameter :: dens_oc_aer = 1.00 real, parameter :: dens_bc_aer = 1.70 real, parameter :: dens_pcg1_b_c_aer = 1.0 real, parameter :: dens_pcg2_b_c_aer = 1.0 real, parameter :: dens_pcg3_b_c_aer = 1.0 real, parameter :: dens_pcg4_b_c_aer = 1.0 real, parameter :: dens_pcg5_b_c_aer = 1.0 real, parameter :: dens_pcg6_b_c_aer = 1.0 real, parameter :: dens_pcg7_b_c_aer = 1.0 real, parameter :: dens_pcg8_b_c_aer = 1.0 real, parameter :: dens_pcg9_b_c_aer = 1.0 real, parameter :: dens_pcg1_b_o_aer = 1.0 real, parameter :: dens_pcg2_b_o_aer = 1.0 real, parameter :: dens_pcg3_b_o_aer = 1.0 real, parameter :: dens_pcg4_b_o_aer = 1.0 real, parameter :: dens_pcg5_b_o_aer = 1.0 real, parameter :: dens_pcg6_b_o_aer = 1.0 real, parameter :: dens_pcg7_b_o_aer = 1.0 real, parameter :: dens_pcg8_b_o_aer = 1.0 real, parameter :: dens_pcg9_b_o_aer = 1.0 real, parameter :: dens_opcg1_b_c_aer = 1.0 real, parameter :: dens_opcg2_b_c_aer = 1.0 real, parameter :: dens_opcg3_b_c_aer = 1.0 real, parameter :: dens_opcg4_b_c_aer = 1.0 real, parameter :: dens_opcg5_b_c_aer = 1.0 real, parameter :: dens_opcg6_b_c_aer = 1.0 real, parameter :: dens_opcg7_b_c_aer = 1.0 real, parameter :: dens_opcg8_b_c_aer = 1.0 real, parameter :: dens_opcg1_b_o_aer = 1.0 real, parameter :: dens_opcg2_b_o_aer = 1.0 real, parameter :: dens_opcg3_b_o_aer = 1.0 real, parameter :: dens_opcg4_b_o_aer = 1.0 real, parameter :: dens_opcg5_b_o_aer = 1.0 real, parameter :: dens_opcg6_b_o_aer = 1.0 real, parameter :: dens_opcg7_b_o_aer = 1.0 real, parameter :: dens_opcg8_b_o_aer = 1.0 real, parameter :: dens_pcg1_f_c_aer = 1.0 real, parameter :: dens_pcg2_f_c_aer = 1.0 real, parameter :: dens_pcg3_f_c_aer = 1.0 real, parameter :: dens_pcg4_f_c_aer = 1.0 real, parameter :: dens_pcg5_f_c_aer = 1.0 real, parameter :: dens_pcg6_f_c_aer = 1.0 real, parameter :: dens_pcg7_f_c_aer = 1.0 real, parameter :: dens_pcg8_f_c_aer = 1.0 real, parameter :: dens_pcg9_f_c_aer = 1.0 real, parameter :: dens_pcg1_f_o_aer = 1.0 real, parameter :: dens_pcg2_f_o_aer = 1.0 real, parameter :: dens_pcg3_f_o_aer = 1.0 real, parameter :: dens_pcg4_f_o_aer = 1.0 real, parameter :: dens_pcg5_f_o_aer = 1.0 real, parameter :: dens_pcg6_f_o_aer = 1.0 real, parameter :: dens_pcg7_f_o_aer = 1.0 real, parameter :: dens_pcg8_f_o_aer = 1.0 real, parameter :: dens_pcg9_f_o_aer = 1.0 real, parameter :: dens_opcg1_f_c_aer = 1.0 real, parameter :: dens_opcg2_f_c_aer = 1.0 real, parameter :: dens_opcg3_f_c_aer = 1.0 real, parameter :: dens_opcg4_f_c_aer = 1.0 real, parameter :: dens_opcg5_f_c_aer = 1.0 real, parameter :: dens_opcg6_f_c_aer = 1.0 real, parameter :: dens_opcg7_f_c_aer = 1.0 real, parameter :: dens_opcg8_f_c_aer = 1.0 real, parameter :: dens_opcg1_f_o_aer = 1.0 real, parameter :: dens_opcg2_f_o_aer = 1.0 real, parameter :: dens_opcg3_f_o_aer = 1.0 real, parameter :: dens_opcg4_f_o_aer = 1.0 real, parameter :: dens_opcg5_f_o_aer = 1.0 real, parameter :: dens_opcg6_f_o_aer = 1.0 real, parameter :: dens_opcg7_f_o_aer = 1.0 real, parameter :: dens_opcg8_f_o_aer = 1.0 real, parameter :: dens_smpa_aer = 1.0 real, parameter :: dens_smpbb_aer = 1.0 real, parameter :: dens_glysoa_r1_aer = 1.0 real, parameter :: dens_glysoa_r2_aer = 1.0 real, parameter :: dens_glysoa_oh_aer = 1.0 real, parameter :: dens_glysoa_nh4_aer = 1.0 real, parameter :: dens_glysoa_sfc_aer = 1.0 real, parameter :: dens_ant1_c_aer = 1.0 real, parameter :: dens_ant2_c_aer = 1.0 real, parameter :: dens_ant3_c_aer = 1.0 real, parameter :: dens_ant4_c_aer = 1.0 real, parameter :: dens_ant1_o_aer = 1.0 real, parameter :: dens_ant2_o_aer = 1.0 real, parameter :: dens_ant3_o_aer = 1.0 real, parameter :: dens_ant4_o_aer = 1.0 real, parameter :: dens_biog1_c_aer = 1.0 real, parameter :: dens_biog2_c_aer = 1.0 real, parameter :: dens_biog3_c_aer = 1.0 real, parameter :: dens_biog4_c_aer = 1.0 real, parameter :: dens_biog1_o_aer = 1.0 real, parameter :: dens_biog2_o_aer = 1.0 real, parameter :: dens_biog3_o_aer = 1.0 real, parameter :: dens_biog4_o_aer = 1.0 ! dens based on Murphy and Pandis, ES&T, 2009 real, parameter :: dens_asoaX_aer = 1.5 real, parameter :: dens_asoa1_aer = 1.5 real, parameter :: dens_asoa2_aer = 1.5 real, parameter :: dens_asoa3_aer = 1.5 real, parameter :: dens_asoa4_aer = 1.5 real, parameter :: dens_bsoaX_aer = 1.5 real, parameter :: dens_bsoa1_aer = 1.5 real, parameter :: dens_bsoa2_aer = 1.5 real, parameter :: dens_bsoa3_aer = 1.5 real, parameter :: dens_bsoa4_aer = 1.5 ! water density (g/cm3) ! real, parameter :: dens_water_asize = 1.0 real, parameter :: dens_water_aer = 1.0 ! hygroscopicities (dimensionless) real, parameter :: hygro_so4_aer = 0.5 real, parameter :: hygro_no3_aer = 0.5 real, parameter :: hygro_ca_aer = 0.1 real, parameter :: hygro_co3_aer = 0.1 real, parameter :: hygro_nh4_aer = 0.5 real, parameter :: hygro_msa_aer = 0.58 real, parameter :: hygro_cl_aer = 1.16 real, parameter :: hygro_na_aer = 1.16 real, parameter :: hygro_oin_aer = 0.14 real, parameter :: hygro_oc_aer = 0.20 real, parameter :: hygro_bc_aer = 1.e-6 real, parameter :: hygro_pcg1_b_c_aer = 0.04 real, parameter :: hygro_pcg2_b_c_aer = 0.04 real, parameter :: hygro_pcg3_b_c_aer = 0.04 real, parameter :: hygro_pcg4_b_c_aer = 0.04 real, parameter :: hygro_pcg5_b_c_aer = 0.04 real, parameter :: hygro_pcg6_b_c_aer = 0.04 real, parameter :: hygro_pcg7_b_c_aer = 0.04 real, parameter :: hygro_pcg8_b_c_aer = 0.04 real, parameter :: hygro_pcg9_b_c_aer = 0.04 real, parameter :: hygro_pcg1_b_o_aer = 0.04 real, parameter :: hygro_pcg2_b_o_aer = 0.04 real, parameter :: hygro_pcg3_b_o_aer = 0.04 real, parameter :: hygro_pcg4_b_o_aer = 0.04 real, parameter :: hygro_pcg5_b_o_aer = 0.04 real, parameter :: hygro_pcg6_b_o_aer = 0.04 real, parameter :: hygro_pcg7_b_o_aer = 0.04 real, parameter :: hygro_pcg8_b_o_aer = 0.04 real, parameter :: hygro_pcg9_b_o_aer = 0.04 real, parameter :: hygro_opcg1_b_c_aer = 0.10 real, parameter :: hygro_opcg2_b_c_aer = 0.10 real, parameter :: hygro_opcg3_b_c_aer = 0.10 real, parameter :: hygro_opcg4_b_c_aer = 0.10 real, parameter :: hygro_opcg5_b_c_aer = 0.10 real, parameter :: hygro_opcg6_b_c_aer = 0.10 real, parameter :: hygro_opcg7_b_c_aer = 0.10 real, parameter :: hygro_opcg8_b_c_aer = 0.10 real, parameter :: hygro_opcg1_b_o_aer = 0.10 real, parameter :: hygro_opcg2_b_o_aer = 0.10 real, parameter :: hygro_opcg3_b_o_aer = 0.10 real, parameter :: hygro_opcg4_b_o_aer = 0.10 real, parameter :: hygro_opcg5_b_o_aer = 0.10 real, parameter :: hygro_opcg6_b_o_aer = 0.10 real, parameter :: hygro_opcg7_b_o_aer = 0.10 real, parameter :: hygro_opcg8_b_o_aer = 0.10 real, parameter :: hygro_pcg1_f_c_aer = 1.0e-6 real, parameter :: hygro_pcg2_f_c_aer = 1.0e-6 real, parameter :: hygro_pcg3_f_c_aer = 1.0e-6 real, parameter :: hygro_pcg4_f_c_aer = 1.0e-6 real, parameter :: hygro_pcg5_f_c_aer = 1.0e-6 real, parameter :: hygro_pcg6_f_c_aer = 1.0e-6 real, parameter :: hygro_pcg7_f_c_aer = 1.0e-6 real, parameter :: hygro_pcg8_f_c_aer = 1.0e-6 real, parameter :: hygro_pcg9_f_c_aer = 1.0e-6 real, parameter :: hygro_pcg1_f_o_aer = 1.0e-6 real, parameter :: hygro_pcg2_f_o_aer = 1.0e-6 real, parameter :: hygro_pcg3_f_o_aer = 1.0e-6 real, parameter :: hygro_pcg4_f_o_aer = 1.0e-6 real, parameter :: hygro_pcg5_f_o_aer = 1.0e-6 real, parameter :: hygro_pcg6_f_o_aer = 1.0e-6 real, parameter :: hygro_pcg7_f_o_aer = 1.0e-6 real, parameter :: hygro_pcg8_f_o_aer = 1.0e-6 real, parameter :: hygro_pcg9_f_o_aer = 1.0e-6 real, parameter :: hygro_opcg1_f_c_aer = 0.10 real, parameter :: hygro_opcg2_f_c_aer = 0.10 real, parameter :: hygro_opcg3_f_c_aer = 0.10 real, parameter :: hygro_opcg4_f_c_aer = 0.10 real, parameter :: hygro_opcg5_f_c_aer = 0.10 real, parameter :: hygro_opcg6_f_c_aer = 0.10 real, parameter :: hygro_opcg7_f_c_aer = 0.10 real, parameter :: hygro_opcg8_f_c_aer = 0.10 real, parameter :: hygro_opcg1_f_o_aer = 0.10 real, parameter :: hygro_opcg2_f_o_aer = 0.10 real, parameter :: hygro_opcg3_f_o_aer = 0.10 real, parameter :: hygro_opcg4_f_o_aer = 0.10 real, parameter :: hygro_opcg5_f_o_aer = 0.10 real, parameter :: hygro_opcg6_f_o_aer = 0.10 real, parameter :: hygro_opcg7_f_o_aer = 0.10 real, parameter :: hygro_opcg8_f_o_aer = 0.10 real, parameter :: hygro_smpa_aer = 0.10 real, parameter :: hygro_smpbb_aer = 0.140 real, parameter :: hygro_glysoa_r1_aer = 0.14 real, parameter :: hygro_glysoa_r2_aer = 0.14 real, parameter :: hygro_glysoa_oh_aer = 0.14 real, parameter :: hygro_glysoa_nh4_aer = 0.14 real, parameter :: hygro_glysoa_sfc_aer = 0.14 real, parameter :: hygro_ant1_c_aer = 0.10 real, parameter :: hygro_ant2_c_aer = 0.10 real, parameter :: hygro_ant3_c_aer = 0.10 real, parameter :: hygro_ant4_c_aer = 0.10 real, parameter :: hygro_ant1_o_aer = 0.10 real, parameter :: hygro_ant2_o_aer = 0.10 real, parameter :: hygro_ant3_o_aer = 0.10 real, parameter :: hygro_ant4_o_aer = 0.10 real, parameter :: hygro_biog1_c_aer = 0.10 real, parameter :: hygro_biog2_c_aer = 0.10 real, parameter :: hygro_biog3_c_aer = 0.10 real, parameter :: hygro_biog4_c_aer = 0.10 real, parameter :: hygro_biog1_o_aer = 0.10 real, parameter :: hygro_biog2_o_aer = 0.10 real, parameter :: hygro_biog3_o_aer = 0.10 real, parameter :: hygro_biog4_o_aer = 0.10 real, parameter :: hygro_asoaX_aer = 0.14 real, parameter :: hygro_asoa1_aer = 0.14 real, parameter :: hygro_asoa2_aer = 0.14 real, parameter :: hygro_asoa3_aer = 0.14 real, parameter :: hygro_asoa4_aer = 0.14 real, parameter :: hygro_bsoaX_aer = 0.14 real, parameter :: hygro_bsoa1_aer = 0.14 real, parameter :: hygro_bsoa2_aer = 0.14 real, parameter :: hygro_bsoa3_aer = 0.14 real, parameter :: hygro_bsoa4_aer = 0.14 integer, save :: & msectional, maerosolincw, & maerocoag, maerchem, maeroptical, maerchem_boxtest_output !----------------------------------------------------------------------- ! the following arrays are used during "column calculations" within ! mosaic modules ! ! aqvoldry_sub(n,k,m) = dry-volume (cm^3-aerosol/mole-air) for mode n, ! layer k, subarea m ! aqmassdry_sub(n,k,m) = dry-mass (g-aerosol/mole-air) for mode n, ... ! adrydens_sub(n,k,m) = dry-density (g-aerosol/cm^3-aerosol) for mode n, ... ! == amassdry_sub/avoldry_sub ! awetdens_sub(n,k,m) = wet-density (g-aerosol/cm^3-aerosol) for mode n, ... ! ! admeandry_sub(n,k,m) = current mean dry-diameter (cm) ! for unactivated aerosol in mode n, layer k, subarea m. ! (Used in sectional code) ! admeanwet_sub(n,k,m) = current mean wet-diameter (cm) ! for unactivated aerosol in mode n, layer k, subarea m. ! (Used in sectional code) ! ! awetdens_sfc(n,i,j) = wet-density for mode n and k=1. This value is ! saved after the second pass thru subr. aerosol_wetsize ! for use in subr. bounds ! admeanwet_sfc(n,i,j) = mean wet-diameter for mode n and k=1. ! This value is saved after the second pass thru ! subr. aerosol_wetsize for use in subr. bounds ! ! ! following are used in aerosol growth routine and are locally ! defined for the current layer (k) and subarea (m) ! drymass_pregrow(n) = dry-mass (g/mole-air) for section n ! before the aerosol growth ! drymass_aftgrow(n) = dry-mass (g/mole-air) for section n ! after the growth but before inter-section transfer ! drydens_pregrow(n) = dry-density (g/cm3) for section n ! before the aerosol growth ! drydens_aftgrow(n) = dry-density (g/cm3) for section n ! after the growth but before inter-section transfer ! !----------------------------------------------------------------------- ! integer, parameter :: imaxd_asize = 78 ! integer, parameter :: jmaxd_asize = 28 integer, parameter :: kmaxd_asize = 100 integer, parameter :: nsubareamaxd_asize = 5 ! rce 22-jul-2006 - added maxd_atype dimension to following 6 arrays ! and changed avoldry_sub,amassdry_sub to aqvoldry_sub,aqmassdry_sub real, save :: aqvoldry_sub( maxd_asize,maxd_atype,kmaxd_asize,nsubareamaxd_asize) real, save :: aqmassdry_sub(maxd_asize,maxd_atype,kmaxd_asize,nsubareamaxd_asize) real, save :: adrydens_sub( maxd_asize,maxd_atype,kmaxd_asize,nsubareamaxd_asize) real, save :: awetdens_sub( maxd_asize,maxd_atype,kmaxd_asize,nsubareamaxd_asize) real, save :: admeandry_sub(maxd_asize,maxd_atype,kmaxd_asize,nsubareamaxd_asize) real, save :: admeanwet_sub(maxd_asize,maxd_atype,kmaxd_asize,nsubareamaxd_asize) ! real, save :: awetdens_sfc(maxd_asize,imaxd_asize,jmaxd_asize) ! real, save :: admeanwet_sfc(maxd_asize,imaxd_asize,jmaxd_asize) real, save :: drymass_pregrow(maxd_asize,maxd_atype) real, save :: drydens_pregrow(maxd_asize,maxd_atype) real, save :: drymass_aftgrow(maxd_asize,maxd_atype) real, save :: drydens_aftgrow(maxd_asize,maxd_atype) ! table lookup of aerosol impaction/interception ! scavenging rates real dlndg_nimptblgrow integer nimptblgrow_mind, nimptblgrow_maxd parameter (nimptblgrow_mind=-7, nimptblgrow_maxd=12) real scavimptblnum(4, nimptblgrow_mind:nimptblgrow_maxd, maxd_asize, maxd_atype), & scavimptblvol(4, nimptblgrow_mind:nimptblgrow_maxd, maxd_asize, maxd_atype) end module module_data_mosaic_asect #endif ================================================ FILE: APM/module_data_mosaic_other.F90 ================================================ #ifdef APM !********************************************************************************** ! This computer software was prepared by Battelle Memorial Institute, hereinafter ! the Contractor, under Contract No. DE-AC05-76RL0 1830 with the Department of ! Energy (DOE). NEITHER THE GOVERNMENT NOR THE CONTRACTOR MAKES ANY WARRANTY, ! EXPRESS OR IMPLIED, OR ASSUMES ANY LIABILITY FOR THE USE OF THIS SOFTWARE. ! ! MOSAIC module: see module_mosaic_driver.F for references and terms of use !********************************************************************************** ! file module_data_mosaic_other.f !----------------------------------------------------------------------- module module_data_mosaic_other ! rce 11-sep-2004 changes ! increased lmaxd,l2maxd ! initialize khno3,...,ktemp,ltot,ltot2 with bogus values; ! added aboxtest_... variables ! no initialization of name() ! rce 06-may-2005 - increased lmaxd from 184 (no cw) to 283 (cw); ! added rcldwtr_sub integer, parameter :: imaxd=1, jmaxd=1, kmaxd=100 integer, parameter :: lmaxd=1200, l2maxd=1200 ! increased from 300 to 400 by Manish Shrivastava on 01/25/10 for additional soa gas species integer, parameter :: nsubareamaxd = 1 ! rce 2005-mar-09 - added k_pegbegin ! k_pegbegin = starting k index for pegasus arrays integer, parameter :: k_pegbegin = 1 integer, save :: khno3 = -999888777 integer, save :: kh2so4 = -999888777 integer, save :: knh3 = -999888777 integer, save :: khcl = -999888777 integer, save :: kn2o5 = -999888777 integer, save :: kclno2 = -999888777 integer, save :: ko3 = -999888777 integer, save :: kh2o = -999888777 integer, save :: ktemp = -999888777 integer, save :: kpcg1_b_c = -999888777 integer, save :: kpcg2_b_c = -999888777 integer, save :: kpcg3_b_c = -999888777 integer, save :: kpcg4_b_c = -999888777 integer, save :: kpcg5_b_c = -999888777 integer, save :: kpcg6_b_c = -999888777 integer, save :: kpcg7_b_c = -999888777 integer, save :: kpcg8_b_c = -999888777 integer, save :: kpcg9_b_c = -999888777 integer, save :: kpcg1_b_o = -999888777 integer, save :: kpcg2_b_o = -999888777 integer, save :: kpcg3_b_o = -999888777 integer, save :: kpcg4_b_o = -999888777 integer, save :: kpcg5_b_o = -999888777 integer, save :: kpcg6_b_o = -999888777 integer, save :: kpcg7_b_o = -999888777 integer, save :: kpcg8_b_o = -999888777 integer, save :: kpcg9_b_o = -999888777 integer, save :: kopcg1_b_c = -999888777 integer, save :: kopcg2_b_c = -999888777 integer, save :: kopcg3_b_c = -999888777 integer, save :: kopcg4_b_c = -999888777 integer, save :: kopcg5_b_c = -999888777 integer, save :: kopcg6_b_c = -999888777 integer, save :: kopcg7_b_c = -999888777 integer, save :: kopcg8_b_c = -999888777 integer, save :: kopcg1_b_o = -999888777 integer, save :: kopcg2_b_o = -999888777 integer, save :: kopcg3_b_o = -999888777 integer, save :: kopcg4_b_o = -999888777 integer, save :: kopcg5_b_o = -999888777 integer, save :: kopcg6_b_o = -999888777 integer, save :: kopcg7_b_o = -999888777 integer, save :: kopcg8_b_o = -999888777 integer, save :: kpcg1_f_c = -999888777 integer, save :: kpcg2_f_c = -999888777 integer, save :: kpcg3_f_c = -999888777 integer, save :: kpcg4_f_c = -999888777 integer, save :: kpcg5_f_c = -999888777 integer, save :: kpcg6_f_c = -999888777 integer, save :: kpcg7_f_c = -999888777 integer, save :: kpcg8_f_c = -999888777 integer, save :: kpcg9_f_c = -999888777 integer, save :: kpcg1_f_o = -999888777 integer, save :: kpcg2_f_o = -999888777 integer, save :: kpcg3_f_o = -999888777 integer, save :: kpcg4_f_o = -999888777 integer, save :: kpcg5_f_o = -999888777 integer, save :: kpcg6_f_o = -999888777 integer, save :: kpcg7_f_o = -999888777 integer, save :: kpcg8_f_o = -999888777 integer, save :: kpcg9_f_o = -999888777 integer, save :: kopcg1_f_c = -999888777 integer, save :: kopcg2_f_c = -999888777 integer, save :: kopcg3_f_c = -999888777 integer, save :: kopcg4_f_c = -999888777 integer, save :: kopcg5_f_c = -999888777 integer, save :: kopcg6_f_c = -999888777 integer, save :: kopcg7_f_c = -999888777 integer, save :: kopcg8_f_c = -999888777 integer, save :: kopcg1_f_o = -999888777 integer, save :: kopcg2_f_o = -999888777 integer, save :: kopcg3_f_o = -999888777 integer, save :: kopcg4_f_o = -999888777 integer, save :: kopcg5_f_o = -999888777 integer, save :: kopcg6_f_o = -999888777 integer, save :: kopcg7_f_o = -999888777 integer, save :: kopcg8_f_o = -999888777 integer, save :: ksmpa = -999888777 integer, save :: ksmpbb = -999888777 integer, save :: kant1_c = -999888777 integer, save :: kant2_c = -999888777 integer, save :: kant3_c = -999888777 integer, save :: kant4_c = -999888777 integer, save :: kant1_o = -999888777 integer, save :: kant2_o = -999888777 integer, save :: kant3_o = -999888777 integer, save :: kant4_o = -999888777 integer, save :: kbiog1_c = -999888777 integer, save :: kbiog2_c = -999888777 integer, save :: kbiog3_c = -999888777 integer, save :: kbiog4_c = -999888777 integer, save :: kbiog1_o = -999888777 integer, save :: kbiog2_o = -999888777 integer, save :: kbiog3_o = -999888777 integer, save :: kbiog4_o = -999888777 integer, save :: kasoaX = -999888777 integer, save :: kasoa1 = -999888777 integer, save :: kasoa2 = -999888777 integer, save :: kasoa3 = -999888777 integer, save :: kasoa4 = -999888777 integer, save :: kbsoaX = -999888777 integer, save :: kbsoa1 = -999888777 integer, save :: kbsoa2 = -999888777 integer, save :: kbsoa3 = -999888777 integer, save :: kbsoa4 = -999888777 integer, save :: kgly = -999888777 ! rce 2005-apr-12 - added for cldchem - kso2, kh2o2, khcho, khcooh, ! koh, kho2, kno3, kno, kno2, khono, kpan, kch3o2, kch3oh, kch3ooh integer, save :: kso2 = -999888777 integer, save :: kh2o2 = -999888777 integer, save :: khcho = -999888777 integer, save :: khcooh = -999888777 integer, save :: koh = -999888777 integer, save :: kho2 = -999888777 integer, save :: kno3 = -999888777 integer, save :: kno = -999888777 integer, save :: kno2 = -999888777 integer, save :: khono = -999888777 integer, save :: kpan = -999888777 integer, save :: kch3o2 = -999888777 integer, save :: kch3oh = -999888777 integer, save :: kch3ooh = -999888777 ! the following values are correct for wrfchem simulations integer, save :: lunerr=6, lunout=6 integer, save :: ltot=+999888777, ltot2=+999888777 integer, save :: itot, jtot, ktot integer, save :: isvode, jsvode, ksvode, msvode integer, save :: iymdcur, ihmscur integer, save :: ncorecnt integer, save :: nsubareas real, parameter :: pi = 3.14159265 real, save :: afracsubarea(kmaxd,nsubareamaxd) real, save :: cairclm(kmaxd) real, save :: ptotclm(kmaxd) real, save :: rclm(kmaxd,l2maxd) real, save :: relhumclm(kmaxd) real, save :: rcldwtr_sub(kmaxd,nsubareamaxd) real, save :: rsub(l2maxd,kmaxd,nsubareamaxd) real, save :: t character(len=20), save :: name(l2maxd) ! control variables for box-model testing ! the following values are correct for wrfchem simulations integer, save :: aboxtest_testmode = 0 integer, save :: aboxtest_units_convert = 1 integer, save :: aboxtest_rh_method = 1 integer, save :: aboxtest_map_method = 1 integer, save :: aboxtest_gases_fixed = 0 real, save :: aboxtest_min_temp = 233.0 real, save :: aboxtest_min_relhum = 0.05 real, save :: aboxtest_max_relhum = 0.98 end module module_data_mosaic_other #endif ================================================ FILE: APM/module_data_mosaic_therm.F90 ================================================ #ifdef APM !************************************************************************ ! This computer software was prepared by Battelle Memorial Institute, ! hereinafter the Contractor, under Contract No. DE-AC05-76RL0 1830 with ! the Department of Energy (DOE). NEITHER THE GOVERNMENT NOR THE ! CONTRACTOR MAKES ANY WARRANTY, EXPRESS OR IMPLIED, OR ASSUMES ANY ! LIABILITY FOR THE USE OF THIS SOFTWARE. ! ! MOSAIC module: see module_mosaic_driver.F for references and terms of ! use !************************************************************************ module module_data_mosaic_therm implicit none ! mosaic.h (mosaic.22.0) ! 30-apr-07 raz - deleted alpha_gas ! 05-feb-07 wig - converted reals to double ! 10-jan-07 raz - compatible with mosaic.21.0 ! 19-dec-05 raz - compatible with mosaic.16.4 ! 27-apr-05 raz - compatible with mosaic.14.3 ! 07-jan-05 raz - updated and cleaned up variable lists ! 08-jul-03 raz - updated many variables ! 07-aug-02 rce - this is rahul's latest version from freshair ! 19-aug-02 raz - declared mass_soluble_a and kg as real ! 07-oct-02 raz - declared zc and za as integer ! 09-oct-02 raz - explicitly declared all variables ! 29-oct-02 raz - defined naercomp as the total number of aerosol compounds !---------------------------------------------------------------------- ! nbin_a_maxd = maximum num of aerosol bins and is used to dimension arrays integer, parameter :: nbin_a_maxd = 8 ! nbin_a = number of bins that are used in a run ! (nbin_a is set at run time, and must be <= nbin_a_maxd) integer, save :: nbin_a = 1 ! mosaic-specific parameters ! Alma added 2 smp species - just before the traditional ant1_c ! SOA is treated using a simplified approach for anthropogenic and biomass burning species based on Hodzic and Jimenez, GMD, 2011 integer ngas_ioa, ngas_soa, ngas_volatile, ngas_het, & naer, naercomp, nelectrolyte, nsalt, & nsoluble, ncation, nanion parameter(ngas_ioa = 5) ! inorganic volatile aerosol species that have a gaseous counterpart ! parameter(ngas_soa = 68+2+16) ! volatile soa species that have a gaseous counterpart ! parameter(ngas_volatile = ngas_ioa + ngas_soa) ! parameter(ngas_het = 2) ! gas species only involved in heterogeneous reactions ! DL - 9/9/2011 ! parameter(naer = 11+68+2+16) ! num of chemical species per bin (inorg + oc + bc + oin + soa) ! parameter(naercomp = 26+68+2+16) ! num of electrolytes + oc, bc, oin, & soa ! 10 new VBS species parameter(ngas_soa = 68+2+16+10) ! volatile soa species that have a gaseous counterpart ! OH and glyoxal at the end parameter(ngas_volatile = ngas_ioa + ngas_soa + 1 + 1) parameter(ngas_het = 2) ! gas species only involved in heterogeneous reactions ! DL - 9/9/2011 ! 5 glyoxal SOA species, 10 VBS species parameter(naer = 11+68+2+16+5+10) ! num of chemical species per bin (inorg + oc + bc + oin + soa) + 5*glysoa + 10*VBS parameter(naercomp = 26+68+2+16+5+10) ! num of electrolytes + oc, bc, oin, & soa + 5*glysoa + 10*VBS parameter(nelectrolyte = 22) ! num of electrolytes parameter(nsalt = 15) ! num of soluble salts parameter(nsoluble = 20) ! num of soluble electrolytes parameter(ncation = 4) ! num of cations parameter(nanion = 5) ! num of anions integer nrxn_aer_gl, nrxn_aer_ll, nrxn_aer_sg, nrxn_aer_sl parameter(nrxn_aer_gl = 4) ! num of gas-liquid equilibria parameter(nrxn_aer_ll = 3) ! num of liquid-liquid equilibria parameter(nrxn_aer_sg = 2) ! num of solid-gas equilibria parameter(nrxn_aer_sl = nsalt)! num of solid-liquid equilibria integer mmodal, msection, & mon, moff, myes, mno parameter(mmodal = 1) ! modal size distribution framework parameter(msection= 2) ! sectional size distribution framework parameter(mon = 1) ! flag: on parameter(moff = 0) ! flag:off parameter(myes = mon) ! flag: yes or true parameter(mno = moff) ! flag: no or false integer jtotal, jsolid, jliquid parameter(jsolid = 1) parameter(jliquid= 2) parameter(jtotal = 3) integer jhyst_lo, jhyst_up parameter(jhyst_lo = 0) ! lower hysteresis leg parameter(jhyst_up = 1) ! upper hysteresis leg integer no_aerosol, all_solid, all_liquid, mixed parameter(no_aerosol = 0) ! flag parameter(all_solid = 1) ! flag parameter(all_liquid = 2) ! flag parameter(mixed = 3) ! flag integer soluble, insoluble parameter(soluble = 1) ! flag parameter(insoluble = 2) ! flag real(kind=8) mass_cutoff parameter(mass_cutoff = 1.d-15) ! ng/m^3 !---------------------------------------------------------------------- ! mosaic species indices ! ! gas integer, save :: & ih2so4_g, ihno3_g, ihcl_g, inh3_g, & imsa_g, in2o5_g, iclno2_g integer, save :: & ipcg1_b_c_g,ipcg2_b_c_g,ipcg3_b_c_g,ipcg4_b_c_g, & ipcg5_b_c_g,ipcg6_b_c_g,ipcg7_b_c_g,ipcg8_b_c_g, & ipcg9_b_c_g,ipcg1_b_o_g,ipcg2_b_o_g,ipcg3_b_o_g, & ipcg4_b_o_g,ipcg5_b_o_g,ipcg6_b_o_g,ipcg7_b_o_g, & ipcg8_b_o_g,ipcg9_b_o_g,iopcg1_b_c_g,iopcg2_b_c_g,& iopcg3_b_c_g, iopcg4_b_c_g,iopcg5_b_c_g,iopcg6_b_c_g,& iopcg7_b_c_g,iopcg8_b_c_g,iopcg1_b_o_g,iopcg2_b_o_g,& iopcg3_b_o_g,iopcg4_b_o_g,iopcg5_b_o_g,iopcg6_b_o_g,& iopcg7_b_o_g,iopcg8_b_o_g,& ipcg1_f_c_g,ipcg2_f_c_g,ipcg3_f_c_g,ipcg4_f_c_g, & ipcg5_f_c_g,ipcg6_f_c_g,ipcg7_f_c_g,ipcg8_f_c_g, & ipcg9_f_c_g,ipcg1_f_o_g,ipcg2_f_o_g,ipcg3_f_o_g, & ipcg4_f_o_g,ipcg5_f_o_g,ipcg6_f_o_g,ipcg7_f_o_g, & ipcg8_f_o_g,ipcg9_f_o_g,iopcg1_f_c_g,iopcg2_f_c_g,& iopcg3_f_c_g, iopcg4_f_c_g,iopcg5_f_c_g,iopcg6_f_c_g,& iopcg7_f_c_g,iopcg8_f_c_g,iopcg1_f_o_g,iopcg2_f_o_g,& iopcg3_f_o_g,iopcg4_f_o_g,iopcg5_f_o_g,iopcg6_f_o_g,& iopcg7_f_o_g,iopcg8_f_o_g,iant1_c_g,iant2_c_g,iant3_c_g, & iant4_c_g,ibiog1_c_g,ibiog2_c_g,ibiog3_c_g,ibiog4_c_g, & iant1_o_g,iant2_o_g,iant3_o_g, & iant4_o_g,ibiog1_o_g,ibiog2_o_g,ibiog3_o_g,ibiog4_o_g, & ismpa_g,ismpbb_g, & iasoaX_g, iasoa1_g, iasoa2_g, iasoa3_g, iasoa4_g, & ibsoaX_g, ibsoa1_g, ibsoa2_g, ibsoa3_g, ibsoa4_g, & igly, iho ! aerosol generic integer, save :: & iso4_a, ino3_a, icl_a, inh4_a, ico3_a, & imsa_a, ina_a, ica_a, ioc_a, ibc_a, & ioin_a integer, save :: & ipcg1_b_c_a,ipcg2_b_c_a,ipcg3_b_c_a,ipcg4_b_c_a, & ipcg5_b_c_a,ipcg6_b_c_a,ipcg7_b_c_a,ipcg8_b_c_a, & ipcg9_b_c_a,ipcg1_b_o_a,ipcg2_b_o_a,ipcg3_b_o_a, & ipcg4_b_o_a,ipcg5_b_o_a,ipcg6_b_o_a,ipcg7_b_o_a, & ipcg8_b_o_a,ipcg9_b_o_a,iopcg1_b_c_a,iopcg2_b_c_a,& iopcg3_b_c_a, iopcg4_b_c_a,iopcg5_b_c_a,iopcg6_b_c_a,& iopcg7_b_c_a,iopcg8_b_c_a,iopcg1_b_o_a,iopcg2_b_o_a,& iopcg3_b_o_a,iopcg4_b_o_a,iopcg5_b_o_a,iopcg6_b_o_a,& iopcg7_b_o_a,iopcg8_b_o_a,& ipcg1_f_c_a,ipcg2_f_c_a,ipcg3_f_c_a,ipcg4_f_c_a, & ipcg5_f_c_a,ipcg6_f_c_a,ipcg7_f_c_a,ipcg8_f_c_a, & ipcg9_f_c_a,ipcg1_f_o_a,ipcg2_f_o_a,ipcg3_f_o_a, & ipcg4_f_o_a,ipcg5_f_o_a,ipcg6_f_o_a,ipcg7_f_o_a, & ipcg8_f_o_a,ipcg9_f_o_a,iopcg1_f_c_a,iopcg2_f_c_a,& iopcg3_f_c_a, iopcg4_f_c_a,iopcg5_f_c_a,iopcg6_f_c_a,& iopcg7_f_c_a,iopcg8_f_c_a,iopcg1_f_o_a,iopcg2_f_o_a,& iopcg3_f_o_a,iopcg4_f_o_a,iopcg5_f_o_a,iopcg6_f_o_a,& iopcg7_f_o_a,iopcg8_f_o_a, & ismpa_a,ismpbb_a, & iglysoa_r1_a, iglysoa_r2_a, iglysoa_oh_a, iglysoa_sfc_a, iglysoa_nh4_a, & iant1_c_a,iant2_c_a,iant3_c_a, & iant4_c_a,ibiog1_c_a,ibiog2_c_a,ibiog3_c_a,ibiog4_c_a, & iant1_o_a,iant2_o_a,iant3_o_a, & iant4_o_a,ibiog1_o_a,ibiog2_o_a,ibiog3_o_a,ibiog4_o_a, & iasoaX_a, iasoa1_a,iasoa2_a,iasoa3_a,iasoa4_a,& ibsoaX_a, ibsoa1_a,ibsoa2_a,ibsoa3_a,ibsoa4_a ! aerosol elecctrolytes/compounds integer, save :: & jnh4so4, jlvcite, jnh4hso4, jnh4no3, jnh4cl, & jna2so4, jna3hso4, jnahso4, jnano3, jnacl, & jcaso4, jcano3, jcacl2, jcaco3, jh2so4, & jhno3, jhcl, jhhso4, & jnh4msa, jnamsa, jcamsa2, jmsa, & joc, jbc, join, jh2o integer, save :: & jpcg1_b_c,jpcg2_b_c,jpcg3_b_c,jpcg4_b_c, & jpcg5_b_c,jpcg6_b_c,jpcg7_b_c,jpcg8_b_c, & jpcg9_b_c,jpcg1_b_o,jpcg2_b_o,jpcg3_b_o, & jpcg4_b_o,jpcg5_b_o,jpcg6_b_o,jpcg7_b_o, & jpcg8_b_o,jpcg9_b_o,jopcg1_b_c,jopcg2_b_c,& jopcg3_b_c, jopcg4_b_c,jopcg5_b_c,jopcg6_b_c,& jopcg7_b_c,jopcg8_b_c,jopcg1_b_o,jopcg2_b_o,& jopcg3_b_o,jopcg4_b_o,jopcg5_b_o,jopcg6_b_o,& jopcg7_b_o,jopcg8_b_o,& jpcg1_f_c,jpcg2_f_c,jpcg3_f_c,jpcg4_f_c, & jpcg5_f_c,jpcg6_f_c,jpcg7_f_c,jpcg8_f_c, & jpcg9_f_c,jpcg1_f_o,jpcg2_f_o,jpcg3_f_o, & jpcg4_f_o,jpcg5_f_o,jpcg6_f_o,jpcg7_f_o, & jpcg8_f_o,jpcg9_f_o,jopcg1_f_c,jopcg2_f_c,& jopcg3_f_c, jopcg4_f_c,jopcg5_f_c,jopcg6_f_c,& jopcg7_f_c,jopcg8_f_c,jopcg1_f_o,jopcg2_f_o,& jopcg3_f_o,jopcg4_f_o,jopcg5_f_o,jopcg6_f_o,& jopcg7_f_o,jopcg8_f_o, & jsmpa,jsmpbb, & jglysoa_r1, jglysoa_r2, jglysoa_oh, jglysoa_sfc, jglysoa_nh4, & jant1_c,jant2_c,jant3_c, & jant4_c,jbiog1_c,jbiog2_c,jbiog3_c,jbiog4_c, & jant1_o,jant2_o,jant3_o, & jant4_o,jbiog1_o,jbiog2_o,jbiog3_o,jbiog4_o, & jasoaX,jasoa1,jasoa2,jasoa3,jasoa4,& jbsoaX,jbsoa1,jbsoa2,jbsoa3,jbsoa4 ! aerosol ions integer, save :: & jc_h, jc_nh4, jc_na, jc_ca, & ja_hso4, ja_so4, ja_no3, ja_cl, ja_msa ! , ja_co3 !---------------------------------------------------------------------- ! mosaic variables integer, save :: & iclm_aer, & ! i-location jclm_aer, & ! j-location kclm_aer, & ! k-location kclm_aer_calcbgn, & ! k-loc for calc. to begin kclm_aer_calcend, & ! k-loc for calc. to end mclm_aer, & ! m-subarea mgas_aer_xfer, & ! flag: mon, moff mdynamic_solver, & ! flag: masteem, masceem msize_framework, & ! flag: mmodal, msectional jaerosolstate(nbin_a_maxd), & ! flag: no_aerosol, all_solid, all_liquid, mixed jphase(nbin_a_maxd), & ! phase index: jtotal, jsolid, jliquid jhyst_leg(nbin_a_maxd), & ! hysteresis leg: jhyst_up, jhyst_lo iprint_input, & ! flag: mon, moff lunerr_aer, & ! ncorecnt_aer, & ! n2o5_flag ! flag to control N2O5 het chem (0=off, 1=no Cl pathway, 2=full) ! NOTE: Some of the following informational output defaults are overridden in ! module_mosaic_driver.F based on the internal MOSAIC debug_level setting. integer, save :: istat_mosaic_fe1 ! "fatal error status" for current problem (grid cell) ! negative value means a fatal error has occured integer, save :: nfe1_mosaic_cur = 0 ! fatal error count for current host-code time step integer, save :: nfe1_mosaic_tot = 0 ! fatal error count for all time steps integer, save :: iprint_mosaic_fe1 = 1 ! turns on/off output of fatal error diagnostics & counts ! if iprint_mosaic_fe1 >= 10, mosaic_aerchem_error_dump ! is called for each fatal error integer, save :: iprint_mosaic_perform_stats = 1 ! turns on/off output of mosaic performance statistics integer, save :: iprint_mosaic_diag1 = 1 ! turns on/off output of other warnings & diagnostics integer, save :: iprint_mosaic_input_ok = 1 ! turns on/off output of mosaic initial values ! when a serious error occurs real(kind=8), save :: & num_a(nbin_a_maxd), & ! #/cc(air) dpgn_a(nbin_a_maxd), & ! cm dp_dry_a(nbin_a_maxd), & ! cm dp_wet_a(nbin_a_maxd), & ! cm area_dry_a(nbin_a_maxd), & ! cm^2/cc(air) area_wet_a(nbin_a_maxd), & ! cm^2/cc(air) mass_dry_salt(nbin_a_maxd), & ! g/cc(air) mass_dry_a(nbin_a_maxd), & ! g/cc(air) mass_wet_a(nbin_a_maxd), & ! g/cc(air) mass_soluble_a(nbin_a_maxd), & ! ng/cc(air) vol_dry_a(nbin_a_maxd), & ! cc/cc(air) vol_wet_a(nbin_a_maxd), & ! cc/cc(air) dens_dry_a(nbin_a_maxd), & ! g/cc dens_wet_a(nbin_a_maxd), & ! g/cc sigmag_a(nbin_a_maxd), & ! - water_a(nbin_a_maxd), & ! kg(water)/m^3(air) water_a_hyst(nbin_a_maxd), & ! kg(water)/m^3(air) hysteresis (at 60% rh) water_a_up(nbin_a_maxd), & ! kg(water)/m^3(air) at 60% rh ph(nbin_a_maxd), & ! ph c_as(nbin_a_maxd), & ! ammonium sulfate concentration (mol/kg water) c_an(nbin_a_maxd), & ! ammonium nitrate concentration (mol/kg water) a_nh4(nbin_a_maxd), & ! ammonium sulfate activity (mol/kg water) aer(naer,3,nbin_a_maxd), & ! nmol/m^3 aer_sum(3,nbin_a_maxd), & ! nmol/m^3 aer_percent(naer,3,nbin_a_maxd), & ! % comp_a(naercomp), & ! g/cc(air) electrolyte(nelectrolyte,3,nbin_a_maxd), & ! nmol/m^3 electrolyte_sum(nelectrolyte,nbin_a_maxd), & ! nmol/m^3 epercent(nelectrolyte,3,nbin_a_maxd), & ! % gas(ngas_volatile+ngas_het), & ! nmol/m^3 ah2o, & ! - ah2o_a(nbin_a_maxd), & ! - dpmv(nbin_a_maxd), & ! volume_a(nbin_a_maxd), & ! volume_bin(nbin_a_maxd), & ! dry volume of one particle kelvin(nbin_a_maxd), & ! kelvin factor kel(ngas_volatile+ngas_het,nbin_a_maxd), & ! kelvin factor for condensing species kelvin_nh4no3, & ! - kelvin_nh4cl, & ! - total_species(ngas_volatile) ! !---------------------------------------------------------------------- ! astem variables integer, save :: & idry_case3a(nbin_a_maxd), & ! mYES, mNO ieqblm_bin(nbin_a_maxd), & ! myes, mno ieqblm_astem, & ! myes, mno ieqblm_soa, & ! mYES, mNO nastem_call, & ! nastem_fail, & ! isteps_astem, & ! nsteps_astem, & ! isteps_SOA, & nsteps_astem_max, & ! nmax_ASTEM, & ! flagsoap(ngas_soa), & ! Added by Manish Shrivastav on 01/11/10 integrate(ngas_volatile,3,nbin_a_maxd) ! mYES, mNO real(kind=8), save :: & po_soa(ngas_volatile), & ! pascal sat_soa(ngas_volatile), & ! nmol/m^3(air) x_soa(naer), & ! soa mole fraction sfc_a(ngas_volatile), & ! nmol/m^3 Heff(ngas_volatile,nbin_a_maxd), & ! kg(ngas_volatile+ngas_het,nbin_a_maxd), & ! 1/s fraceq(ngas_volatile,nbin_a_maxd), & ! 1/s df_gas_s(ngas_volatile,nbin_a_maxd), & ! nmol/m^3 (g-g*) = driving force) df_gas_l(ngas_volatile,nbin_a_maxd), & ! nmol/m^3 (g-g*) = driving force) df_gas_o(ngas_volatile,nbin_a_maxd), & ! nmol/m^3 (G-G*) = driving force) flux_s(ngas_volatile,nbin_a_maxd), & ! nmol/m^3/s flux_l(ngas_volatile,nbin_a_maxd), & ! nmol/m^3/s flux_o(ngas_volatile,nbin_a_maxd), & ! nmol/m^3/s sumkg_h2so4, & ! 1/s sumkg_msa, & ! 1/s sumkg_nh3, & ! 1/s sumkg_hno3, & ! 1/s sumkg_hcl, & ! 1/s sumkg_n2o5, & ! 1/s delta_nh3_max(nbin_a_maxd), & ! nmol/m^3 delta_hno3_max(nbin_a_maxd), & ! nmol/m^3 delta_hcl_max(nbin_a_maxd), & ! nmol/m^3 keq_nh4no3, & ! - keq_nh4cl, & ! - Keq_nh4no3_0, & ! - Keq_nh4cl_0, & ! - volatile_s(ngas_volatile,nbin_a_maxd), & ! nmol/m^3 phi_volatile_s(ngas_volatile,nbin_a_maxd), & ! relative dr. force = (g-g*)/g phi_volatile_l(ngas_volatile,nbin_a_maxd), & ! relative dr. force = (g-g*)/g phi_volatile_o(ngas_volatile,nbin_a_maxd), & ! relative dr. force = (g-g*)/g phi_nh4no3_s, & ! relative dr. force: 0 to 1 phi_nh4cl_s, & ! relative dr. force: 0 to 1 sum_vdf_s(ngas_volatile), & ! (nmol/m^3)^2 sum_vol_s(ngas_volatile), & ! nmol/m^3 sum_bin_s(ngas_volatile), & ! number of bins that have flux_s(iv) < 0 avg_df_gas_s(ngas_volatile), & ! nmol/m^3 h_s_i_m(ngas_volatile,nbin_a_maxd), & ! s alpha_astem, & ! 0.01 to 0.05 rtol_eqb_astem, & ! 0.01 to 0.03 ptol_mol_astem, & ! 0.01 to 1.0 nsteps_astem_avg ! integer, parameter :: glysoa_param_off = 0, & glysoa_param_simple = 1, & glysoa_param_complex = 2 integer, save :: glysoa_param !---------------------------------------------------------------------- ! mesa variables integer, save :: & jsalt_index(nsalt), & jsulf_poor(211), & jsulf_rich(71), & jsalt_present(nsalt), & nmax_mesa, & nmesa_call, & nmesa_fail, & iter_mesa(nbin_a_maxd), & niter_mesa, & niter_mesa_max real(kind=8), save :: & eleliquid(nelectrolyte), & flux_sl(nsalt), & phi_salt(nsalt), & phi_salt_old(nsalt), & phi_bar(nsalt), & alpha_salt(nsalt), & sat_ratio(nsalt), & hsalt(nsalt), & hsalt_max, & frac_salt_liq(nsalt), & frac_salt_solid(nsalt), & growth_factor(nbin_a_maxd), & d_mdrh(63,4), & ! mdrh(t) poly coeffs mdrh(nbin_a_maxd), & mdrh_t(63), & molality0(nelectrolyte), & rtol_mesa, & niter_mesa_avg !---------------------------------------------------------------------- ! mosaic physico-chemical constants character(len=8), save :: & ename(nelectrolyte), & ! electrolyte names aer_name(naer), & ! generic aerosol species name gas_name(ngas_volatile+ngas_het) ! gas species name character(len=6), save :: & phasestate(4) real(kind=8), save :: & t_k, & ! temperature (k) p_atm, & ! pressure (atm) rh_pc, & ! relative humidity (%) cair_mol_cc, & ! air conc in mol/cc cair_mol_m3, & ! air conc in mol/m^3 conv1a, & conv1b, & conv2a, & conv2b, & mw_electrolyte(nelectrolyte), & ! molecular wt of electrolytes mw_aer_mac(naer), & ! molecular wt of generic species mw_comp_a(naercomp), & ! molecular wt of compounds mw_c(ncation), & ! molecular wt of cations mw_a(nanion), & ! molecular wt of anions dens_electrolyte(nelectrolyte), & ! g/cc dens_aer_mac(naer), & ! g/cc dens_comp_a(naercomp), & ! g/cc (density of compounds) partial_molar_vol(ngas_volatile+ngas_het), & ! cc/mol sigma_water, & ! water surface tension (n/m) sigma_soln(nbin_a_maxd), & ! solution surface tension (n/m) keq_gl(nrxn_aer_gl), & ! gas-liq eqblm const keq_ll(nrxn_aer_ll), & ! liq-liq eqblm const keq_sg(nrxn_aer_sg), & ! solid-gas eqbln const keq_sl(nrxn_aer_sl), & ! solid-liq eqblm const kp_nh3, & ! kp_nh4no3, & ! kp_nh4no3_0, & ! kp_nh4cl, & ! kp_nh4cl_0, & ! frac_n2o5_h2o(nbin_a_maxd) ! fraction of N2O5 which reacts with H2O after heterogeneous uptake complex, save :: & ref_index_a(naercomp), & ! refractive index of compounds ri_avg_a(nbin_a_maxd) ! vol avg ref index of bin !---------------------------------------------------------------------- ! mosaic activity coefficient models parameters real(kind=8), save :: & mc(ncation,nbin_a_maxd), & ! mol/kg(water) ma(nanion,nbin_a_maxd), & ! mol/kg(water) msulf, & ! zc(ncation), & ! real charge za(nanion), & ! real charge gam(nelectrolyte,nbin_a_maxd), & gam_ratio(nbin_a_maxd), & log_gamz(nelectrolyte,nelectrolyte), & log_gam(nelectrolyte), & activity(nelectrolyte,nbin_a_maxd), & xeq_a(nanion), & xeq_c(ncation), & na_ma(nanion), & nc_mc(ncation), & a_zsr(6,nelectrolyte), & ! binary molality polynomial coeffs b_zsr(nelectrolyte), & ! binary molality coeff aw_min(nelectrolyte), & ! minimum frh at which molality polynomial can be used b_mtem(6,nelectrolyte,nelectrolyte) ! mtem poly coeffs !---------------------------------------------------------------------- ! mosaic massbalance variables real(kind=8), save :: & tot_so4_in, & tot_no3_in, & tot_cl_in, & tot_nh4_in, & tot_na_in, & tot_ca_in, & tot_so4_out, & tot_no3_out, & tot_cl_out, & tot_nh4_out, & tot_na_out, & tot_ca_out, & diff_so4, & diff_no3, & diff_cl, & diff_nh4, & diff_na, & diff_ca, & reldiff_so4, & reldiff_no3, & reldiff_cl, & reldiff_nh4, & reldiff_na, & reldiff_ca !---------------------------------------------------------------------- end module module_data_mosaic_therm #endif ================================================ FILE: APM/module_mosaic_therm.F90 ================================================ #ifdef APM !************************************************************************ ! This computer software was prepared by Battelle Memorial Institute, ! hereinafter the Contractor, under Contract No. DE-AC05-76RL0 1830 with ! the Department of Energy (DOE). NEITHER THE GOVERNMENT NOR THE ! CONTRACTOR MAKES ANY WARRANTY, EXPRESS OR IMPLIED, OR ASSUMES ANY ! LIABILITY FOR THE USE OF THIS SOFTWARE. ! ! MOSAIC module: see module_mosaic_driver.F for references and terms of ! use !************************************************************************ module module_mosaic_therm use module_data_mosaic_therm implicit none intrinsic max, min PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: mosaic PUBLIC :: load_mosaic_parameters contains !*********************************************************************** ! mosaic (model for simulating aerosol interactions and chemistry) ! ! author: rahul a. zaveri ! update: dec 2004 !----------------------------------------------------------------------- subroutine mosaic(k, m, dtchem,vbs_nbin,& t_kin, p_atmin, rh, cairclmin, gasin, aerin, yh2o, aersizein) use module_data_mosaic_asect use module_data_mosaic_other ! implicit none ! include 'v33com' ! include 'v33com3' ! include 'mosaic.h' ! subr arguments integer k, m,vbs_nbin(1) integer ibin real t_kin,p_atmin,rh,cairclmin,gasin(4),aerin(14),yh2o,aersizein real(kind=8) dtchem ! local variables real(kind=8) dumdum integer iclm_debug, jclm_debug, kclm_debug, ncnt_debug ! data iclm_debug /28/ ! data jclm_debug /1/ ! data kclm_debug /9/ ! data ncnt_debug /6/ iclm_debug=28; jclm_debug=1; kclm_debug=9; ncnt_debug=6 if(iclm_aer .eq. iclm_debug .and. & jclm_aer .eq. jclm_debug .and. & kclm_aer .eq. kclm_debug .and. & ncorecnt_aer .eq. ncnt_debug)then dumdum = 0.0 endif call initialize_mosaic_variables mclm_aer = m kclm_aer = k istat_mosaic_fe1 = 1 n2o5_flag = 1 !---------------------------- t_k = t_kin p_atm = p_atmin aersize=aersizein sigmag_a(1) = 1.8 gas(ih2so4_g)=gasin(1) gas(inh3_g)=gasin(2) gas(ihno3_g)=gasin(3) !gas(inh3_g)=gasin(2)+aerin(2) !gas(ihno3_g)=gasin(3)+aerin(3) aer(inh4_a,jtotal,1)=aerin(2) aer(ino3_a,jtotal,1)=aerin(3) aer(ina_a,jtotal,1)=aerin(4) aer(icl_a,jtotal,1)=aerin(5) gas(ihcl_g)=gasin(4) aer(iso4_a,jtotal,1)=aerin(1) aer(iso4_a,jsolid,1)=aerin(1) ptotclm(k) = p_atm*1.032d6! update pressure = atm relhumclm(k) = rh/100.0 ! fractional rh cairclm(k) = cairclmin ! mol/cc rh_pc = 100.*relhumclm(k) ! rh (%) ah2o = relhumclm(k) ! fractional rh gas=gas*cairclm(k)*1.e15 aer=aer*cairclm(k)*1.e15 call update_thermodynamic_constants(vbs_nbin) ! update t and rh dependent constants call overall_massbal_in ! save input mass over all bins iprint_input = myes ! reset to default call mosaic_dynamic_solver( dtchem,vbs_nbin ) if (istat_mosaic_fe1 .lt. 0) return call overall_massbal_out(0) ! check mass balance after integration if(isteps_astem .ge. nmax_astem)then yh2o = 0. else yh2o = aerosol_water_up(1)! kg(h2o)/m3(air) gasin(2)=gas(inh3_g)/(cairclm(k)*1.e15) gasin(3)=gas(ihno3_g)/(cairclm(k)*1.e15) aerin(2)=aer(inh4_a,jtotal,1)/(cairclm(k)*1.e15) aerin(3)=aer(ino3_a,jtotal,1)/(cairclm(k)*1.e15) aerin(4)=aer(ina_a,jtotal,1)/(cairclm(k)*1.e15) aerin(5)=aer(icl_a,jtotal,1)/(cairclm(k)*1.e15) endif return end subroutine mosaic !*********************************************************************** ! interface to asceem and asteem dynamic gas-particle exchange solvers ! ! author: rahul a. zaveri ! update: jan 2005 !----------------------------------------------------------------------- subroutine mosaic_dynamic_solver( dtchem,vbs_nbin ) ! implicit none ! include 'v33com' ! include 'mosaic.h' ! subr arguments real(kind=8) dtchem ! local variables integer ibin, iv, k, m,vbs_nbin(1) real(kind=8) xt, dumdum ! real(kind=8) aerosol_water_up ! mosaic func ! if(iclm_aer .eq. 21 .and. & ! jclm_aer .eq. 17 .and. & ! kclm_aer .eq. 3 .and. & ! ncorecnt_aer .eq. 4)then ! dumdum = 0.0 ! endif do 500 ibin = 1, nbin_a call check_aerosol_mass(ibin) if(jaerosolstate(ibin) .eq. no_aerosol)goto 500 call conform_electrolytes(jtotal,ibin,xt) ! conforms aer(jtotal) to a valid aerosol call check_aerosol_mass(ibin) ! check mass again after conform_electrolytes if(jaerosolstate(ibin) .eq. no_aerosol)goto 500 ! ignore this bin call conform_aerosol_number(ibin) ! adjusts number conc so that it conforms with bin mass and diameter 500 continue ! box ! call initial_aer_print_box ! box call save_pregrow_props call specialoutaa( iclm_aer, jclm_aer, kclm_aer, 77, & 'after_conform' ) ! !------------------------------------- ! do dynamic gas-aerosol mass transfer if(mgas_aer_xfer .eq. mon)then call astem(dtchem,vbs_nbin) endif !------------------------------------- ! box ! grows or shrinks size depending on mass increase or decrease ! ! do ibin = 1, nbin_a ! if(jaerosolstate(ibin) .ne. no_aerosol)then ! call conform_particle_size(ibin) ! box ! endif ! enddo do 600 ibin = 1, nbin_a if(jaerosolstate(ibin).eq.no_aerosol) goto 600 if(jhyst_leg(ibin) .eq. jhyst_lo)then water_a_hyst(ibin) = 0.0 elseif(jhyst_leg(ibin) .eq. jhyst_up)then water_a_up(ibin) = aerosol_water_up(ibin) ! at 60% rh water_a_hyst(ibin) = water_a_up(ibin) endif call calc_dry_n_wet_aerosol_props(ibin) ! compute final mass and density 600 continue return end subroutine mosaic_dynamic_solver !*********************************************************************** ! intializes all the mosaic variables to zero or their default values. ! ! author: rahul a. zaveri ! update: jun 2003 !----------------------------------------------------------------------- subroutine initialize_mosaic_variables ! implicit none ! include 'mosaic.h' ! local variables integer iaer, ibin, iv, ja, jc, je do iv = 1, ngas_ioa gas(iv) = 0.0 enddo ! initialize to zero do ibin = 1, nbin_a num_a(ibin) = 0.0 mass_dry_a(ibin) = 0.0 mass_soluble_a(ibin) = 0.0 do iaer = 1, naer aer(iaer,jtotal,ibin) = 0.0 aer(iaer,jsolid,ibin) = 0.0 aer(iaer,jliquid,ibin) = 0.0 enddo do je = 1, nelectrolyte electrolyte(je,jtotal,ibin) = 0.0 electrolyte(je,jsolid,ibin) = 0.0 electrolyte(je,jliquid,ibin) = 0.0 epercent(je,jtotal,ibin) = 0.0 ! raz update 11/13/2008 epercent(je,jsolid,ibin) = 0.0 ! raz update 11/13/2008 epercent(je,jliquid,ibin) = 0.0 ! raz update 11/13/2008 activity(je,ibin) = 0.0 gam(je,ibin) = 0.0 enddo gam_ratio(ibin) = 0.0 do iv = 1, ngas_ioa flux_s(iv,ibin) = 0.0 flux_l(iv,ibin) = 0.0 kg(iv,ibin) = 0.0 ! fraceq(iv,ibin) =0.0 phi_volatile_s(iv,ibin) = 0.0 phi_volatile_l(iv,ibin) = 0.0 df_gas_s(iv,ibin) = 0.0 df_gas_l(iv,ibin) = 0.0 volatile_s(iv,ibin) = 0.0 enddo jaerosolstate(ibin) = -1 ! initialize to default value jphase(ibin) = 0 do jc = 1, ncation mc(jc,ibin) = 0.0 enddo do ja = 1, nanion ma(ja,ibin) = 0.0 enddo enddo ! ibin return end subroutine initialize_mosaic_variables subroutine isize_itype_from_ibin( ibin, isize, itype ) ! ! inside of mosaic, the '2d' (isize,itype) indexing is replaced ! by '1d' (ibin) indexing ! this routine gives (isize,itype) corresponding to (ibin) ! use module_data_mosaic_asect use module_data_mosaic_other, only: lunerr ! implicit none ! subr arguments integer ibin, isize, itype ! local variables integer jdum_bin, jdum_size, jdum_type character*80 msg isize = -999888777 itype = -999888777 jdum_bin = 0 do jdum_type = 1, ntype_aer do jdum_size = 1, nsize_aer(jdum_type) jdum_bin = jdum_bin + 1 if (ibin .eq. jdum_bin) then isize = jdum_size itype = jdum_type end if end do end do if (isize .le. 0) then isize = 1 itype = 1 end if return end subroutine isize_itype_from_ibin subroutine overall_massbal_in use module_data_mosaic_asect use module_data_mosaic_other ! implicit none ! include 'mosaic.h' integer ibin tot_so4_in = gas(ih2so4_g) tot_no3_in = gas(ihno3_g) tot_cl_in = gas(ihcl_g) tot_nh4_in = gas(inh3_g) tot_na_in = 0.0 tot_ca_in = 0.0 do ibin = 1, nbin_a tot_so4_in = tot_so4_in + aer(iso4_a,jtotal,ibin) tot_no3_in = tot_no3_in + aer(ino3_a,jtotal,ibin) tot_cl_in = tot_cl_in + aer(icl_a, jtotal,ibin) tot_nh4_in = tot_nh4_in + aer(inh4_a,jtotal,ibin) tot_na_in = tot_na_in + aer(ina_a,jtotal,ibin) tot_ca_in = tot_ca_in + aer(ica_a,jtotal,ibin) enddo total_species(inh3_g) = tot_nh4_in total_species(ihno3_g)= tot_no3_in total_species(ihcl_g) = tot_cl_in return end subroutine overall_massbal_in subroutine overall_massbal_out(mbin) ! implicit none ! include 'v33com' ! include 'v33com3' ! include 'v33com9a' ! include 'v33com9b' ! include 'mosaic.h' ! subr. agrument integer mbin ! local variables integer ibin tot_so4_out = gas(ih2so4_g) tot_no3_out = gas(ihno3_g) tot_cl_out = gas(ihcl_g) tot_nh4_out = gas(inh3_g) tot_na_out = 0.0 tot_ca_out = 0.0 do ibin = 1, nbin_a tot_so4_out = tot_so4_out + aer(iso4_a,jtotal,ibin) tot_no3_out = tot_no3_out + aer(ino3_a,jtotal,ibin) tot_cl_out = tot_cl_out + aer(icl_a,jtotal,ibin) tot_nh4_out = tot_nh4_out + aer(inh4_a,jtotal,ibin) tot_na_out = tot_na_out + aer(ina_a,jtotal,ibin) tot_ca_out = tot_ca_out + aer(ica_a,jtotal,ibin) enddo diff_so4 = tot_so4_out - tot_so4_in diff_no3 = tot_no3_out - tot_no3_in diff_cl = tot_cl_out - tot_cl_in diff_nh4 = tot_nh4_out - tot_nh4_in diff_na = tot_na_out - tot_na_in diff_ca = tot_ca_out - tot_ca_in reldiff_so4 = 0.0 if(tot_so4_in .gt. 1.e-25 .or. tot_so4_out .gt. 1.e-25)then reldiff_so4 = diff_so4/max(tot_so4_in, tot_so4_out) endif reldiff_no3 = 0.0 if(tot_no3_in .gt. 1.e-25 .or. tot_no3_out .gt. 1.e-25)then reldiff_no3 = diff_no3/max(tot_no3_in, tot_no3_out) endif reldiff_cl = 0.0 if(tot_cl_in .gt. 1.e-25 .or. tot_cl_out .gt. 1.e-25)then reldiff_cl = diff_cl/max(tot_cl_in, tot_cl_out) endif reldiff_nh4 = 0.0 if(tot_nh4_in .gt. 1.e-25 .or. tot_nh4_out .gt. 1.e-25)then reldiff_nh4 = diff_nh4/max(tot_nh4_in, tot_nh4_out) endif reldiff_na = 0.0 if(tot_na_in .gt. 1.e-25 .or. tot_na_out .gt. 1.e-25)then reldiff_na = diff_na/max(tot_na_in, tot_na_out) endif reldiff_ca = 0.0 if(tot_ca_in .gt. 1.e-25 .or. tot_ca_out .gt. 1.e-25)then reldiff_ca = diff_ca/max(tot_ca_in, tot_ca_out) endif if( abs(reldiff_so4) .gt. 1.e-4 .or. & abs(reldiff_no3) .gt. 1.e-4 .or. & abs(reldiff_cl) .gt. 1.e-4 .or. & abs(reldiff_nh4) .gt. 1.e-4 .or. & abs(reldiff_na) .gt. 1.e-4 .or. & abs(reldiff_ca) .gt. 1.e-4)then if (iprint_mosaic_diag1 .gt. 0) then if (iprint_input .eq. myes) then write(67,*)'*** mbin = ', mbin, ' isteps = ', isteps_ASTEM write(67,*)'reldiff_so4 = ', reldiff_so4 write(67,*)'reldiff_no3 = ', reldiff_no3 write(67,*)'reldiff_cl = ', reldiff_cl write(67,*)'reldiff_nh4 = ', reldiff_nh4 write(67,*)'reldiff_na = ', reldiff_na write(67,*)'reldiff_ca = ', reldiff_ca call print_input iprint_input = mno endif endif endif return end subroutine overall_massbal_out subroutine print_input use module_data_mosaic_asect use module_data_mosaic_other ! implicit none ! include 'v33com' ! include 'v33com3' ! include 'v33com9a' ! include 'v33com9b' ! include 'mosaic.h' ! subr arguments integer k, m ! local variables integer ibin, iphase, isize, itype integer ipasstmp, luntmp ! check for print_input allowed and not already done if (iprint_mosaic_input_ok .le. 0) return if (iprint_input .ne. myes) return iprint_input = mno k = kclm_aer m = mclm_aer tot_so4_out = gas(ih2so4_g) tot_no3_out = gas(ihno3_g) tot_cl_out = gas(ihcl_g) tot_nh4_out = gas(inh3_g) tot_na_out = 0.0 tot_ca_out = 0.0 do ibin = 1, nbin_a tot_so4_out = tot_so4_out + aer(iso4_a,jtotal,ibin) tot_no3_out = tot_no3_out + aer(ino3_a,jtotal,ibin) tot_cl_out = tot_cl_out + aer(icl_a,jtotal,ibin) tot_nh4_out = tot_nh4_out + aer(inh4_a,jtotal,ibin) tot_na_out = tot_na_out + aer(ina_a,jtotal,ibin) tot_ca_out = tot_ca_out + aer(ica_a,jtotal,ibin) enddo diff_so4 = tot_so4_out - tot_so4_in diff_no3 = tot_no3_out - tot_no3_in diff_cl = tot_cl_out - tot_cl_in diff_nh4 = tot_nh4_out - tot_nh4_in diff_na = tot_na_out - tot_na_in diff_ca = tot_ca_out - tot_ca_in reldiff_so4 = 0.0 if(tot_so4_in .gt. 1.e-25 .or. tot_so4_out .gt. 1.e-25)then reldiff_so4 = diff_so4/max(tot_so4_in, tot_so4_out) endif reldiff_no3 = 0.0 if(tot_no3_in .gt. 1.e-25 .or. tot_no3_out .gt. 1.e-25)then reldiff_no3 = diff_no3/max(tot_no3_in, tot_no3_out) endif reldiff_cl = 0.0 if(tot_cl_in .gt. 1.e-25 .or. tot_cl_out .gt. 1.e-25)then reldiff_cl = diff_cl/max(tot_cl_in, tot_cl_out) endif reldiff_nh4 = 0.0 if(tot_nh4_in .gt. 1.e-25 .or. tot_nh4_out .gt. 1.e-25)then reldiff_nh4 = diff_nh4/max(tot_nh4_in, tot_nh4_out) endif reldiff_na = 0.0 if(tot_na_in .gt. 1.e-25 .or. tot_na_out .gt. 1.e-25)then reldiff_na = diff_na/max(tot_na_in, tot_na_out) endif reldiff_ca = 0.0 if(tot_ca_in .gt. 1.e-25 .or. tot_ca_out .gt. 1.e-25)then reldiff_ca = diff_ca/max(tot_ca_in, tot_ca_out) endif do 2900 ipasstmp = 2, 2 if (ipasstmp .eq. 1) then luntmp = 6 ! write to standard output else luntmp = 67 ! write to fort.67 ! goto 2900 ! skip this endif ! write to monitor screen write(luntmp,*)'+++++++++++++++++++++++++++++++++++++++++' write(luntmp,*)'Check', iprint_mosaic_input_ok, iprint_input, & ncorecnt_aer write(luntmp,*)'relative so4 mass bal = ', reldiff_so4 write(luntmp,*)'relative no3 mass bal = ', reldiff_no3 write(luntmp,*)'relative cl mass bal = ', reldiff_cl write(luntmp,*)'relative nh4 mass bal = ', reldiff_nh4 write(luntmp,*)'relative na mass bal = ', reldiff_na write(luntmp,*)'relative ca mass bal = ', reldiff_ca write(luntmp,*)'inputs:' write(luntmp,*)'t (k), p (atm), rh (%), cair (mol/cc) = ' write(luntmp,44) t_k, p_atm, rh_pc, cairclm(k) write(luntmp,*)'gas h2so4, hno3, hcl, nh3 (mol/mol)' write(luntmp,*)gas(inh3_g),gas(ihno3_g),& aer(iso4_a,jtotal,1),& aer(inh4_a,jtotal,1),aer(ino3_a,jtotal,1) write(luntmp,*)'+++++++++++++++++++++++++++++++++++++++++' 2900 continue 44 format(14e20.10) !c stop return end subroutine print_input !*********************************************************************** ! checks if aerosol mass is too low to be of any significance ! and determine jaerosolstate ! ! author: rahul a. zaveri ! update: jan 2005 !----------------------------------------------------------------------- subroutine check_aerosol_mass(ibin) ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin ! local variables integer iaer real(kind=8) drymass, aer_H mass_dry_a(ibin) = 0.0 aer_H = (2.*aer(iso4_a,jtotal,ibin) + & aer(ino3_a,jtotal,ibin) + & aer(icl_a,jtotal,ibin) + & aer(imsa_a,jtotal,ibin) + & 2.*aer(ico3_a,jtotal,ibin))- & (2.*aer(ica_a,jtotal,ibin) + & aer(ina_a,jtotal,ibin) + & aer(inh4_a,jtotal,ibin)) do iaer = 1, naer mass_dry_a(ibin) = mass_dry_a(ibin) + & aer(iaer,jtotal,ibin)*mw_aer_mac(iaer) ! ng/m^3(air) enddo mass_dry_a(ibin) = mass_dry_a(ibin) + aer_H drymass = mass_dry_a(ibin) ! ng/m^3(air) mass_dry_a(ibin) = mass_dry_a(ibin)*1.e-15 ! g/cc(air) if(drymass .lt. mass_cutoff)then ! bin mass is too small jaerosolstate(ibin) = no_aerosol jphase(ibin) = 0 if(drymass .eq. 0.)num_a(ibin) = 0.0 endif return end subroutine check_aerosol_mass !*********************************************************************** ! checks and conforms number according to the mass and bin size range ! ! author: rahul a. zaveri ! update: jan 2005 !----------------------------------------------------------------------- subroutine conform_aerosol_number(ibin) use module_data_mosaic_asect ! implicit none ! include 'v33com' ! include 'v33com3' ! include 'v33com9a' ! include 'mosaic.h' ! subr arguments integer ibin ! local variables integer je, l, iaer, isize, itype real(kind=8) num_at_dlo, num_at_dhi, numold real(kind=8) aer_H vol_dry_a(ibin) = 0.0 ! initialize to 0.0 if(jaerosolstate(ibin) .eq. no_aerosol) return aer_H = (2.*aer(iso4_a,jtotal,ibin) + & aer(ino3_a,jtotal,ibin) + & aer(icl_a,jtotal,ibin) + & aer(imsa_a,jtotal,ibin) + & 2.*aer(ico3_a,jtotal,ibin))- & (2.*aer(ica_a,jtotal,ibin) + & aer(ina_a,jtotal,ibin) + & aer(inh4_a,jtotal,ibin)) do iaer = 1, naer vol_dry_a(ibin) = vol_dry_a(ibin) + & aer(iaer,jtotal,ibin)*mw_aer_mac(iaer)/dens_aer_mac(iaer) ! ng/m^3(air) enddo vol_dry_a(ibin) = vol_dry_a(ibin) + aer_H vol_dry_a(ibin) = vol_dry_a(ibin)*1.e-15 ! cc(aer)/cc(air) ! conform number call isize_itype_from_ibin( ibin, isize, itype ) !Luo need update aerosol size volumlo_sect(isize,itype)=4.*3.1415926/3.*(aersize*aersize*aersize)*1.e6 volumhi_sect(isize,itype)=4.*3.1415926/3.*(aersize*aersize*aersize)*1.e6 num_at_dlo = vol_dry_a(ibin)/volumlo_sect(isize,itype) num_at_dhi = vol_dry_a(ibin)/volumhi_sect(isize,itype) numold = num_a(ibin) num_a(ibin) = min(num_a(ibin), num_at_dlo) ! #/cc(air) num_a(ibin) = max(num_a(ibin), num_at_dhi) ! #/cc(air) ! if (numold .ne. num_a(ibin)) then ! write(*,*) 'conform number - i, vol, mass, numold/new', ibin, ! & vol_dry_a(ibin), mass_dry_temp, numold, num_a(ibin) ! write(*,*) 'conform i,j,k', iclm_aer, jclm_aer, kclm_aer ! if (nsubareas .gt. 0) then ! write(*,'(a,1pe14.4)') (name(l), rsub(l,kclm_aer,1), l=1,ltot2) ! else ! write(*,'(a,1pe14.4)') (name(l), rclm(kclm_aer,l), l=1,ltot2) ! end if ! stop ! end if return end subroutine conform_aerosol_number !*********************************************************************** ! determines phase state of an aerosol bin. includes kelvin effect. ! ! author: rahul a. zaveri ! update: jan 2005 !----------------------------------------------------------------------- subroutine aerosol_phase_state(ibin) ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin ! local variables integer js, je, iaer, iv, iter_kelvin real(kind=8) ah2o_a_new, rel_err ! real(kind=8) aerosol_water_up, bin_molality ! mosaic func real(kind=8) kelvin_toler, term real(kind=8) aer_H ah2o = rh_pc*0.01 ah2o_a(ibin) = ah2o kelvin(ibin) = 1.0 do iv = 1, ngas_volatile+ngas_het kel(iv,ibin) = 1.0 enddo if(rh_pc .le. 99)then kelvin_toler = 1.e-2 else kelvin_toler = 1.e-6 endif ! calculate dry mass and dry volume of a bin mass_dry_a(ibin) = 0.0 ! initialize to 0.0 vol_dry_a(ibin) = 0.0 ! initialize to 0.0 aer_H = (2.*aer(iso4_a,jtotal,ibin) + & aer(ino3_a,jtotal,ibin) + & aer(icl_a,jtotal,ibin) + & aer(imsa_a,jtotal,ibin) + & 2.*aer(ico3_a,jtotal,ibin))- & (2.*aer(ica_a,jtotal,ibin) + & aer(ina_a,jtotal,ibin) + & aer(inh4_a,jtotal,ibin)) do iaer = 1, naer mass_dry_a(ibin) = mass_dry_a(ibin) + & aer(iaer,jtotal,ibin)*mw_aer_mac(iaer) ! ng/m^3(air) vol_dry_a(ibin) = vol_dry_a(ibin) + & aer(iaer,jtotal,ibin)*mw_aer_mac(iaer)/dens_aer_mac(iaer) ! ncc/m^3(air) enddo mass_dry_a(ibin) = mass_dry_a(ibin) + aer_H vol_dry_a(ibin) = vol_dry_a(ibin) + aer_H mass_dry_a(ibin) = mass_dry_a(ibin)*1.e-15 ! g/cc(air) vol_dry_a(ibin) = vol_dry_a(ibin)*1.e-15 ! cc(aer)/cc(air) or m^3/m^3(air) ! wet mass and wet volume mass_wet_a(ibin) = mass_dry_a(ibin) + water_a(ibin)*1.e-3 ! g/cc(air) vol_wet_a(ibin) = vol_dry_a(ibin) + water_a(ibin)*1.e-3 ! cc(aer)/cc(air) or m^3/m^3(air) water_a_up(ibin) = aerosol_water_up(ibin) ! for hysteresis curve determination iter_kelvin = 0 10 iter_kelvin = iter_kelvin + 1 do je = 1, nelectrolyte molality0(je) = bin_molality(je,ibin) ! compute ah2o dependent binary molalities enddo call mesa(ibin) if(jaerosolstate(ibin) .eq. all_solid)then return endif if (istat_mosaic_fe1 .lt. 0) return ! new wet mass and wet volume mass_wet_a(ibin) = mass_dry_a(ibin) + water_a(ibin)*1.e-3 ! g/cc(air) vol_wet_a(ibin) = vol_dry_a(ibin) + water_a(ibin)*1.e-3 ! cc(aer)/cc(air) or m^3/m^3(air) call calculate_kelvin(ibin) ah2o_a_new = rh_pc*0.01/kelvin(ibin) rel_err = abs( (ah2o_a_new - ah2o_a(ibin))/ah2o_a(ibin)) if(rel_err .gt. kelvin_toler .and. iter_kelvin.le.10)then ah2o_a(ibin) = ah2o_a_new goto 10 endif if(jaerosolstate(ibin) .eq. all_liquid)jhyst_leg(ibin) = jhyst_up ! now compute kelvin effect terms for condensing species (nh3, hno3, and hcl) do iv = 1, ngas_volatile+ngas_het term = 4.*sigma_soln(ibin)*partial_molar_vol(iv)/ & (8.3144e7*T_K*DpmV(ibin)) kel(iv,ibin) = 1. + term*(1. + 0.5*term*(1. + term/3.)) enddo return end subroutine aerosol_phase_state !*********************************************************************** ! computes kelvin effect term (kelvin => 1.0) ! ! author: rahul a. zaveri ! update: jan 2005 !----------------------------------------------------------------------- subroutine calculate_kelvin(ibin) ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin ! local variables real(kind=8) term volume_a(ibin) = vol_wet_a(ibin) ! [cc/cc(air)] dpmv(ibin)=(6.*volume_a(ibin)/(num_a(ibin)*3.1415926))**(1./3.) ! [cm] sigma_soln(ibin) = sigma_water + 49.0*(1. - ah2o_a(ibin)) ! [dyn/cm] term = 72.*sigma_soln(ibin)/(8.3144e7*t_k*dpmv(ibin)) ! [-] ! kelvin(ibin) = exp(term) kelvin(ibin) = 1. + term*(1. + 0.5*term*(1. + term/3.)) return end subroutine calculate_kelvin !*********************************************************************** ! mesa: multicomponent equilibrium solver for aerosols. ! computes equilibrum solid and liquid phases by integrating ! pseudo-transient dissolution and precipitation reactions ! ! author: rahul a. zaveri ! update: jan 2005 !----------------------------------------------------------------------- subroutine mesa(ibin) ! touch ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin ! local variables integer idissolved, j_index, jdum, js, je ! raz update 11/13/2008 real(kind=8) crh, solids, sum_soluble, sum_insoluble, xt ! real(kind=8) aerosol_water ! mosaic func ! real(kind=8) drh_mutual ! mosaic func real(kind=8) h_ion, sum_dum ! raz update 11/13/2008 ! calculate percent composition ! raz update 11/13/2008 sum_dum = 0.0 do je = 1, nelectrolyte sum_dum = sum_dum + electrolyte(je,jtotal,ibin) enddo if(sum_dum .eq. 0.)sum_dum = 1.0 do je = 1, nelectrolyte epercent(je,jtotal,ibin) = 100.*electrolyte(je,jtotal,ibin)/sum_dum enddo call calculate_xt(ibin,jtotal,xt) crh = 0.35 ! raz-30apr07 ! step 1: check if ah2o is below crh (crystallization or efflorescence point) if( (ah2o_a(ibin) .lt. crh) .and. & (xt.gt.1.0 .or. xt.lt.0.) .and. & (epercent(jcano3,jtotal,ibin) .le. ptol_mol_astem) .and. & (epercent(jcacl2,jtotal,ibin) .le. ptol_mol_astem) )then ! raz-30apr07 jaerosolstate(ibin) = all_solid jphase(ibin) = jsolid jhyst_leg(ibin) = jhyst_lo call adjust_solid_aerosol(ibin) return endif ! step 2: check for supersaturation/metastable state if(water_a_hyst(ibin) .gt. 0.5*water_a_up(ibin))then call do_full_deliquescence(ibin) sum_soluble = 0.0 do js = 1, nsoluble sum_soluble = sum_soluble + electrolyte(js,jtotal,ibin) enddo solids = electrolyte(jcaso4,jtotal,ibin) + & electrolyte(jcaco3,jtotal,ibin) + & aer(ioin_a ,jtotal,ibin) if(sum_soluble .lt. 1.e-15 .and. solids .gt. 0.0)then jaerosolstate(ibin) = all_solid ! no soluble material present jphase(ibin) = jsolid call adjust_solid_aerosol(ibin) ! new wet mass and wet volume mass_wet_a(ibin) = mass_dry_a(ibin) + water_a(ibin)*1.e-3 ! g/cc(air) vol_wet_a(ibin) = vol_dry_a(ibin) + water_a(ibin)*1.e-3 ! cc(aer)/cc(air) or m^3/m^3(air) growth_factor(ibin) = mass_wet_a(ibin)/mass_dry_a(ibin) ! mass growth factor return elseif(sum_soluble .gt. 0.0 .and. solids .eq. 0.0)then jaerosolstate(ibin) = all_liquid jhyst_leg(ibin) = jhyst_up jphase(ibin) = jliquid water_a(ibin) = aerosol_water(jtotal,ibin) if(water_a(ibin) .lt. 0.0)then jaerosolstate(ibin) = all_solid ! no soluble material present jphase(ibin) = jsolid jhyst_leg(ibin) = jhyst_lo call adjust_solid_aerosol(ibin) else call adjust_liquid_aerosol(ibin) call compute_activities(ibin) endif ! new wet mass and wet volume mass_wet_a(ibin) = mass_dry_a(ibin) + water_a(ibin)*1.e-3 ! g/cc(air) vol_wet_a(ibin) = vol_dry_a(ibin) + water_a(ibin)*1.e-3 ! cc(aer)/cc(air) or m^3/m^3(air) growth_factor(ibin) = mass_wet_a(ibin)/mass_dry_a(ibin) ! mass growth factor return endif endif ! step 3: diagnose mdrh if(xt .lt. 1. .and. xt .gt. 0. )goto 10 ! excess sulfate domain - no mdrh exists jdum = 0 do js = 1, nsalt jsalt_present(js) = 0 ! default value - salt absent if(epercent(js,jtotal,ibin) .gt. ptol_mol_astem)then jsalt_present(js) = 1 ! salt present jdum = jdum + jsalt_index(js) endif enddo if(jdum .eq. 0)then jaerosolstate(ibin) = all_solid ! no significant soluble material present jphase(ibin) = jsolid call adjust_solid_aerosol(ibin) return endif if(xt .ge. 2.0 .or. xt .lt. 0.0)then j_index = jsulf_poor(jdum) else j_index = jsulf_rich(jdum) endif mdrh(ibin) = mdrh_t(j_index) if(ah2o_a(ibin)*100. .lt. mdrh(ibin)) then jaerosolstate(ibin) = all_solid jphase(ibin) = jsolid jhyst_leg(ibin) = jhyst_lo call adjust_solid_aerosol(ibin) return endif ! step 4: none of the above means it must be sub-saturated or mixed-phase 10 call do_full_deliquescence(ibin) call mesa_ptc(ibin) ! determines jaerosolstate(ibin) if (istat_mosaic_fe1 .lt. 0) return return end subroutine mesa !*********************************************************************** ! this subroutine completely deliquesces an aerosol and partitions ! all the soluble electrolytes into the liquid phase and insoluble ! ones into the solid phase. it also calculates the corresponding ! aer(js,jliquid,ibin) and aer(js,jsolid,ibin) generic species ! concentrations ! ! author: rahul a. zaveri ! update: jan 2005 !----------------------------------------------------------------------- subroutine do_full_deliquescence(ibin) ! touch ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin ! local variables integer js ! partition all electrolytes into liquid phase do js = 1, nelectrolyte electrolyte(js,jsolid,ibin) = 0.0 electrolyte(js,jliquid,ibin) = electrolyte(js,jtotal,ibin) enddo ! ! except these electrolytes, which always remain in the solid phase electrolyte(jcaco3,jsolid,ibin) = electrolyte(jcaco3,jtotal,ibin) electrolyte(jcaso4,jsolid,ibin) = electrolyte(jcaso4,jtotal,ibin) electrolyte(jcaco3,jliquid,ibin)= 0.0 electrolyte(jcaso4,jliquid,ibin)= 0.0 ! partition all the generic aer species into solid and liquid phases ! solid phase aer(iso4_a,jsolid,ibin) = electrolyte(jcaso4,jsolid,ibin) aer(ino3_a,jsolid,ibin) = 0.0 aer(icl_a, jsolid,ibin) = 0.0 aer(inh4_a,jsolid,ibin) = 0.0 aer(ioc_a, jsolid,ibin) = aer(ioc_a,jtotal,ibin) aer(imsa_a,jsolid,ibin) = 0.0 aer(ico3_a,jsolid,ibin) = aer(ico3_a,jtotal,ibin) aer(ina_a, jsolid,ibin) = 0.0 aer(ica_a, jsolid,ibin) = electrolyte(jcaco3,jsolid,ibin) + & electrolyte(jcaso4,jsolid,ibin) aer(ibc_a, jsolid,ibin) = aer(ibc_a,jtotal,ibin) aer(ioin_a,jsolid,ibin) = aer(ioin_a,jtotal,ibin) aer(ipcg1_b_c_a,jsolid,ibin)= aer(ipcg1_b_c_a,jtotal,ibin) aer(ipcg2_b_c_a,jsolid,ibin)= aer(ipcg2_b_c_a,jtotal,ibin) aer(ipcg3_b_c_a,jsolid,ibin)= aer(ipcg3_b_c_a,jtotal,ibin) aer(ipcg4_b_c_a,jsolid,ibin)= aer(ipcg4_b_c_a,jtotal,ibin) aer(ipcg5_b_c_a,jsolid,ibin)= aer(ipcg5_b_c_a,jtotal,ibin) aer(ipcg6_b_c_a,jsolid,ibin)= aer(ipcg6_b_c_a,jtotal,ibin) aer(ipcg7_b_c_a,jsolid,ibin)= aer(ipcg7_b_c_a,jtotal,ibin) aer(ipcg8_b_c_a,jsolid,ibin)= aer(ipcg8_b_c_a,jtotal,ibin) aer(ipcg9_b_c_a,jsolid,ibin)= aer(ipcg9_b_c_a,jtotal,ibin) aer(ipcg1_b_o_a,jsolid,ibin)= aer(ipcg1_b_o_a,jtotal,ibin) aer(ipcg2_b_o_a,jsolid,ibin)= aer(ipcg2_b_o_a,jtotal,ibin) aer(ipcg3_b_o_a,jsolid,ibin)= aer(ipcg3_b_o_a,jtotal,ibin) aer(ipcg4_b_o_a,jsolid,ibin)= aer(ipcg4_b_o_a,jtotal,ibin) aer(ipcg5_b_o_a,jsolid,ibin)= aer(ipcg5_b_o_a,jtotal,ibin) aer(ipcg6_b_o_a,jsolid,ibin)= aer(ipcg6_b_o_a,jtotal,ibin) aer(ipcg7_b_o_a,jsolid,ibin)= aer(ipcg7_b_o_a,jtotal,ibin) aer(ipcg8_b_o_a,jsolid,ibin)= aer(ipcg8_b_o_a,jtotal,ibin) aer(ipcg9_b_o_a,jsolid,ibin)= aer(ipcg9_b_o_a,jtotal,ibin) aer(iopcg1_b_c_a,jsolid,ibin)= aer(iopcg1_b_c_a,jtotal,ibin) aer(iopcg2_b_c_a,jsolid,ibin)= aer(iopcg2_b_c_a,jtotal,ibin) aer(iopcg3_b_c_a,jsolid,ibin)= aer(iopcg3_b_c_a,jtotal,ibin) aer(iopcg4_b_c_a,jsolid,ibin)= aer(iopcg4_b_c_a,jtotal,ibin) aer(iopcg5_b_c_a,jsolid,ibin)= aer(iopcg5_b_c_a,jtotal,ibin) aer(iopcg6_b_c_a,jsolid,ibin)= aer(iopcg6_b_c_a,jtotal,ibin) aer(iopcg7_b_c_a,jsolid,ibin)= aer(iopcg7_b_c_a,jtotal,ibin) aer(iopcg8_b_c_a,jsolid,ibin)= aer(iopcg8_b_c_a,jtotal,ibin) aer(iopcg1_b_o_a,jsolid,ibin)= aer(iopcg1_b_o_a,jtotal,ibin) aer(iopcg2_b_o_a,jsolid,ibin)= aer(iopcg2_b_o_a,jtotal,ibin) aer(iopcg3_b_o_a,jsolid,ibin)= aer(iopcg3_b_o_a,jtotal,ibin) aer(iopcg4_b_o_a,jsolid,ibin)= aer(iopcg4_b_o_a,jtotal,ibin) aer(iopcg5_b_o_a,jsolid,ibin)= aer(iopcg5_b_o_a,jtotal,ibin) aer(iopcg6_b_o_a,jsolid,ibin)= aer(iopcg6_b_o_a,jtotal,ibin) aer(iopcg7_b_o_a,jsolid,ibin)= aer(iopcg7_b_o_a,jtotal,ibin) aer(iopcg8_b_o_a,jsolid,ibin)= aer(iopcg8_b_o_a,jtotal,ibin) aer(ipcg1_f_c_a,jsolid,ibin)= aer(ipcg1_f_c_a,jtotal,ibin) aer(ipcg2_f_c_a,jsolid,ibin)= aer(ipcg2_f_c_a,jtotal,ibin) aer(ipcg3_f_c_a,jsolid,ibin)= aer(ipcg3_f_c_a,jtotal,ibin) aer(ipcg4_f_c_a,jsolid,ibin)= aer(ipcg4_f_c_a,jtotal,ibin) aer(ipcg5_f_c_a,jsolid,ibin)= aer(ipcg5_f_c_a,jtotal,ibin) aer(ipcg6_f_c_a,jsolid,ibin)= aer(ipcg6_f_c_a,jtotal,ibin) aer(ipcg7_f_c_a,jsolid,ibin)= aer(ipcg7_f_c_a,jtotal,ibin) aer(ipcg8_f_c_a,jsolid,ibin)= aer(ipcg8_f_c_a,jtotal,ibin) aer(ipcg9_f_c_a,jsolid,ibin)= aer(ipcg9_f_c_a,jtotal,ibin) aer(ipcg1_f_o_a,jsolid,ibin)= aer(ipcg1_f_o_a,jtotal,ibin) aer(ipcg2_f_o_a,jsolid,ibin)= aer(ipcg2_f_o_a,jtotal,ibin) aer(ipcg3_f_o_a,jsolid,ibin)= aer(ipcg3_f_o_a,jtotal,ibin) aer(ipcg4_f_o_a,jsolid,ibin)= aer(ipcg4_f_o_a,jtotal,ibin) aer(ipcg5_f_o_a,jsolid,ibin)= aer(ipcg5_f_o_a,jtotal,ibin) aer(ipcg6_f_o_a,jsolid,ibin)= aer(ipcg6_f_o_a,jtotal,ibin) aer(ipcg7_f_o_a,jsolid,ibin)= aer(ipcg7_f_o_a,jtotal,ibin) aer(ipcg8_f_o_a,jsolid,ibin)= aer(ipcg8_f_o_a,jtotal,ibin) aer(ipcg9_f_o_a,jsolid,ibin)= aer(ipcg9_f_o_a,jtotal,ibin) aer(iopcg1_f_c_a,jsolid,ibin)= aer(iopcg1_f_c_a,jtotal,ibin) aer(iopcg2_f_c_a,jsolid,ibin)= aer(iopcg2_f_c_a,jtotal,ibin) aer(iopcg3_f_c_a,jsolid,ibin)= aer(iopcg3_f_c_a,jtotal,ibin) aer(iopcg4_f_c_a,jsolid,ibin)= aer(iopcg4_f_c_a,jtotal,ibin) aer(iopcg5_f_c_a,jsolid,ibin)= aer(iopcg5_f_c_a,jtotal,ibin) aer(iopcg6_f_c_a,jsolid,ibin)= aer(iopcg6_f_c_a,jtotal,ibin) aer(iopcg7_f_c_a,jsolid,ibin)= aer(iopcg7_f_c_a,jtotal,ibin) aer(iopcg8_f_c_a,jsolid,ibin)= aer(iopcg8_f_c_a,jtotal,ibin) aer(iopcg1_f_o_a,jsolid,ibin)= aer(iopcg1_f_o_a,jtotal,ibin) aer(iopcg2_f_o_a,jsolid,ibin)= aer(iopcg2_f_o_a,jtotal,ibin) aer(iopcg3_f_o_a,jsolid,ibin)= aer(iopcg3_f_o_a,jtotal,ibin) aer(iopcg4_f_o_a,jsolid,ibin)= aer(iopcg4_f_o_a,jtotal,ibin) aer(iopcg5_f_o_a,jsolid,ibin)= aer(iopcg5_f_o_a,jtotal,ibin) aer(iopcg6_f_o_a,jsolid,ibin)= aer(iopcg6_f_o_a,jtotal,ibin) aer(iopcg7_f_o_a,jsolid,ibin)= aer(iopcg7_f_o_a,jtotal,ibin) aer(iopcg8_f_o_a,jsolid,ibin)= aer(iopcg8_f_o_a,jtotal,ibin) aer(ismpa_a,jsolid,ibin)= aer(ismpa_a,jtotal,ibin) aer(ismpbb_a,jsolid,ibin)= aer(ismpbb_a,jtotal,ibin) aer(iglysoa_r1_a,jsolid,ibin)= aer(iglysoa_r1_a,jtotal,ibin) aer(iglysoa_r2_a,jsolid,ibin)= aer(iglysoa_r2_a,jtotal,ibin) aer(iglysoa_sfc_a,jsolid,ibin)= aer(iglysoa_sfc_a,jtotal,ibin) aer(iglysoa_nh4_a,jsolid,ibin)= aer(iglysoa_nh4_a,jtotal,ibin) aer(iglysoa_oh_a,jsolid,ibin)= aer(iglysoa_oh_a,jtotal,ibin) aer(iant1_c_a,jsolid,ibin)= aer(iant1_c_a,jtotal,ibin) aer(iant2_c_a,jsolid,ibin)= aer(iant2_c_a,jtotal,ibin) aer(iant3_c_a,jsolid,ibin)= aer(iant3_c_a,jtotal,ibin) aer(iant4_c_a,jsolid,ibin)= aer(iant4_c_a,jtotal,ibin) aer(iant1_o_a,jsolid,ibin)= aer(iant1_o_a,jtotal,ibin) aer(iant2_o_a,jsolid,ibin)= aer(iant2_o_a,jtotal,ibin) aer(iant3_o_a,jsolid,ibin)= aer(iant3_o_a,jtotal,ibin) aer(iant4_o_a,jsolid,ibin)= aer(iant4_o_a,jtotal,ibin) aer(ibiog1_c_a,jsolid,ibin)= aer(ibiog1_c_a,jtotal,ibin) aer(ibiog2_c_a,jsolid,ibin)= aer(ibiog2_c_a,jtotal,ibin) aer(ibiog3_c_a,jsolid,ibin)= aer(ibiog3_c_a,jtotal,ibin) aer(ibiog4_c_a,jsolid,ibin)= aer(ibiog4_c_a,jtotal,ibin) aer(ibiog1_o_a,jsolid,ibin)= aer(ibiog1_o_a,jtotal,ibin) aer(ibiog2_o_a,jsolid,ibin)= aer(ibiog2_o_a,jtotal,ibin) aer(ibiog3_o_a,jsolid,ibin)= aer(ibiog3_o_a,jtotal,ibin) aer(ibiog4_o_a,jsolid,ibin)= aer(ibiog4_o_a,jtotal,ibin) aer(iasoaX_a,jsolid,ibin)= aer(iasoaX_a,jtotal,ibin) aer(iasoa1_a,jsolid,ibin)= aer(iasoa1_a,jtotal,ibin) aer(iasoa2_a,jsolid,ibin)= aer(iasoa2_a,jtotal,ibin) aer(iasoa3_a,jsolid,ibin)= aer(iasoa3_a,jtotal,ibin) aer(iasoa4_a,jsolid,ibin)= aer(iasoa4_a,jtotal,ibin) aer(ibsoaX_a,jsolid,ibin)= aer(ibsoaX_a,jtotal,ibin) aer(ibsoa1_a,jsolid,ibin)= aer(ibsoa1_a,jtotal,ibin) aer(ibsoa2_a,jsolid,ibin)= aer(ibsoa2_a,jtotal,ibin) aer(ibsoa3_a,jsolid,ibin)= aer(ibsoa3_a,jtotal,ibin) aer(ibsoa4_a,jsolid,ibin)= aer(ibsoa4_a,jtotal,ibin) ! liquid-phase aer(iso4_a,jliquid,ibin) = aer(iso4_a,jtotal,ibin) - & electrolyte(jcaso4,jsolid,ibin) aer(ino3_a,jliquid,ibin) = aer(ino3_a,jtotal,ibin) aer(icl_a, jliquid,ibin) = aer(icl_a,jtotal,ibin) aer(inh4_a,jliquid,ibin) = aer(inh4_a,jtotal,ibin) aer(ioc_a, jliquid,ibin) = 0.0 aer(imsa_a,jliquid,ibin) = aer(imsa_a,jtotal,ibin) aer(ico3_a,jliquid,ibin) = 0.0 aer(ina_a, jliquid,ibin) = aer(ina_a,jtotal,ibin) aer(ica_a, jliquid,ibin) = electrolyte(jcano3,jtotal,ibin) + & electrolyte(jcacl2,jtotal,ibin) aer(ibc_a, jliquid,ibin) = 0.0 aer(ioin_a,jliquid,ibin) = 0.0 aer(ipcg1_b_c_a,jliquid,ibin)= 0.0 aer(ipcg2_b_c_a,jliquid,ibin)= 0.0 aer(ipcg3_b_c_a,jliquid,ibin)= 0.0 aer(ipcg4_b_c_a,jliquid,ibin)= 0.0 aer(ipcg5_b_c_a,jliquid,ibin)= 0.0 aer(ipcg6_b_c_a,jliquid,ibin)= 0.0 aer(ipcg7_b_c_a,jliquid,ibin)= 0.0 aer(ipcg8_b_c_a,jliquid,ibin)= 0.0 aer(ipcg9_b_c_a,jliquid,ibin)= 0.0 aer(ipcg1_b_o_a,jliquid,ibin)= 0.0 aer(ipcg2_b_o_a,jliquid,ibin)= 0.0 aer(ipcg3_b_o_a,jliquid,ibin)= 0.0 aer(ipcg4_b_o_a,jliquid,ibin)= 0.0 aer(ipcg5_b_o_a,jliquid,ibin)= 0.0 aer(ipcg6_b_o_a,jliquid,ibin)= 0.0 aer(ipcg7_b_o_a,jliquid,ibin)= 0.0 aer(ipcg8_b_o_a,jliquid,ibin)= 0.0 aer(ipcg9_b_o_a,jliquid,ibin)= 0.0 aer(iopcg1_b_c_a,jliquid,ibin)= 0.0 aer(iopcg2_b_c_a,jliquid,ibin)= 0.0 aer(iopcg3_b_c_a,jliquid,ibin)= 0.0 aer(iopcg4_b_c_a,jliquid,ibin)= 0.0 aer(iopcg5_b_c_a,jliquid,ibin)= 0.0 aer(iopcg6_b_c_a,jliquid,ibin)= 0.0 aer(iopcg7_b_c_a,jliquid,ibin)= 0.0 aer(iopcg8_b_c_a,jliquid,ibin)= 0.0 aer(iopcg1_b_o_a,jliquid,ibin)= 0.0 aer(iopcg2_b_o_a,jliquid,ibin)= 0.0 aer(iopcg3_b_o_a,jliquid,ibin)= 0.0 aer(iopcg4_b_o_a,jliquid,ibin)= 0.0 aer(iopcg5_b_o_a,jliquid,ibin)= 0.0 aer(iopcg6_b_o_a,jliquid,ibin)= 0.0 aer(iopcg7_b_o_a,jliquid,ibin)= 0.0 aer(iopcg8_b_o_a,jliquid,ibin)= 0.0 aer(ipcg1_f_c_a,jliquid,ibin)= 0.0 aer(ipcg2_f_c_a,jliquid,ibin)= 0.0 aer(ipcg3_f_c_a,jliquid,ibin)= 0.0 aer(ipcg4_f_c_a,jliquid,ibin)= 0.0 aer(ipcg5_f_c_a,jliquid,ibin)= 0.0 aer(ipcg6_f_c_a,jliquid,ibin)= 0.0 aer(ipcg7_f_c_a,jliquid,ibin)= 0.0 aer(ipcg8_f_c_a,jliquid,ibin)= 0.0 aer(ipcg9_f_c_a,jliquid,ibin)= 0.0 aer(ipcg1_f_o_a,jliquid,ibin)= 0.0 aer(ipcg2_f_o_a,jliquid,ibin)= 0.0 aer(ipcg3_f_o_a,jliquid,ibin)= 0.0 aer(ipcg4_f_o_a,jliquid,ibin)= 0.0 aer(ipcg5_f_o_a,jliquid,ibin)= 0.0 aer(ipcg6_f_o_a,jliquid,ibin)= 0.0 aer(ipcg7_f_o_a,jliquid,ibin)= 0.0 aer(ipcg8_f_o_a,jliquid,ibin)= 0.0 aer(ipcg9_f_o_a,jliquid,ibin)= 0.0 aer(iopcg1_f_c_a,jliquid,ibin)= 0.0 aer(iopcg2_f_c_a,jliquid,ibin)= 0.0 aer(iopcg3_f_c_a,jliquid,ibin)= 0.0 aer(iopcg4_f_c_a,jliquid,ibin)= 0.0 aer(iopcg5_f_c_a,jliquid,ibin)= 0.0 aer(iopcg6_f_c_a,jliquid,ibin)= 0.0 aer(iopcg7_f_c_a,jliquid,ibin)= 0.0 aer(iopcg8_f_c_a,jliquid,ibin)= 0.0 aer(iopcg1_f_o_a,jliquid,ibin)= 0.0 aer(iopcg2_f_o_a,jliquid,ibin)= 0.0 aer(iopcg3_f_o_a,jliquid,ibin)= 0.0 aer(iopcg4_f_o_a,jliquid,ibin)= 0.0 aer(iopcg5_f_o_a,jliquid,ibin)= 0.0 aer(iopcg6_f_o_a,jliquid,ibin)= 0.0 aer(iopcg7_f_o_a,jliquid,ibin)= 0.0 aer(iopcg8_f_o_a,jliquid,ibin)= 0.0 aer(ismpa_a,jliquid,ibin)= 0.0 aer(ismpbb_a,jliquid,ibin)= 0.0 aer(iglysoa_r1_a,jliquid,ibin)= 0.0 aer(iglysoa_r2_a,jliquid,ibin)= 0.0 aer(iglysoa_sfc_a,jliquid,ibin)= 0.0 aer(iglysoa_nh4_a,jliquid,ibin)= 0.0 aer(iglysoa_oh_a,jliquid,ibin)= 0.0 aer(iant1_c_a,jliquid,ibin)= 0.0 aer(iant2_c_a,jliquid,ibin)= 0.0 aer(iant3_c_a,jliquid,ibin)= 0.0 aer(iant4_c_a,jliquid,ibin)= 0.0 aer(iant1_o_a,jliquid,ibin)= 0.0 aer(iant2_o_a,jliquid,ibin)= 0.0 aer(iant3_o_a,jliquid,ibin)= 0.0 aer(iant4_o_a,jliquid,ibin)= 0.0 aer(ibiog1_c_a,jliquid,ibin)= 0.0 aer(ibiog2_c_a,jliquid,ibin)= 0.0 aer(ibiog3_c_a,jliquid,ibin)= 0.0 aer(ibiog4_c_a,jliquid,ibin)= 0.0 aer(ibiog1_o_a,jliquid,ibin)= 0.0 aer(ibiog2_o_a,jliquid,ibin)= 0.0 aer(ibiog3_o_a,jliquid,ibin)= 0.0 aer(ibiog4_o_a,jliquid,ibin)= 0.0 aer(iasoaX_a,jliquid,ibin)= 0.0 aer(iasoa1_a,jliquid,ibin)= 0.0 aer(iasoa2_a,jliquid,ibin)= 0.0 aer(iasoa3_a,jliquid,ibin)= 0.0 aer(iasoa4_a,jliquid,ibin)= 0.0 aer(ibsoaX_a,jliquid,ibin)= 0.0 aer(ibsoa1_a,jliquid,ibin)= 0.0 aer(ibsoa2_a,jliquid,ibin)= 0.0 aer(ibsoa3_a,jliquid,ibin)= 0.0 aer(ibsoa4_a,jliquid,ibin)= 0.0 return end subroutine do_full_deliquescence !*********************************************************************** ! mesa: multicomponent equilibrium solver for aerosol-phase ! computes equilibrum solid and liquid phases by integrating ! pseudo-transient dissolution and precipitation reactions ! ! author: rahul a. zaveri ! update: jan 2005 ! reference: zaveri r.a., r.c. easter, and l.k. peters, jgr, 2005b !----------------------------------------------------------------------- subroutine mesa_ptc(ibin) ! touch ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin ! local variables integer iaer, iconverge, iconverge_flux, iconverge_mass, & idissolved, itdum, js, je, jp ! raz update 11/13/2008 real(kind=8) tau_p(nsalt), tau_d(nsalt) real(kind=8) hsalt_min real(kind=8) phi_prod, alpha_fac, sum_dum ! raz update 11/13/2008 real(kind=8) aer_H ! function ! real(kind=8) aerosol_water ! initialize itdum = 0 ! initialize time hsalt_max = 1.e25 do js = 1, nsalt hsalt(js) = 0.0 sat_ratio(js) = 0.0 phi_salt(js) = 0.0 flux_sl(js) = 0.0 enddo ! calculate percent composition ! raz update 11/13/2008 sum_dum = 0.0 do je = 1, nelectrolyte sum_dum = sum_dum + electrolyte(je,jtotal,ibin) enddo if(sum_dum .eq. 0.)sum_dum = 1.0 do je = 1, nelectrolyte epercent(je,jtotal,ibin) = 100.*electrolyte(je,jtotal,ibin)/sum_dum enddo do js = 1, nsalt jsalt_present(js) = 0 ! default value - salt absent if(epercent(js,jtotal,ibin) .gt. 1.0)then jsalt_present(js) = 1 ! salt present endif enddo mass_dry_a(ibin) = 0.0 aer_H = (2.*aer(iso4_a,jtotal,ibin) + & aer(ino3_a,jtotal,ibin) + & aer(icl_a,jtotal,ibin) + & aer(imsa_a,jtotal,ibin) + & 2.*aer(ico3_a,jtotal,ibin))- & (2.*aer(ica_a,jtotal,ibin) + & aer(ina_a,jtotal,ibin) + & aer(inh4_a,jtotal,ibin)) aer_H = max(aer_H, 0.0d0) ! raz update 11/13/2008 do iaer = 1, naer mass_dry_a(ibin) = mass_dry_a(ibin) + & aer(iaer,jtotal,ibin)*mw_aer_mac(iaer) ! [ng/m^3(air)] vol_dry_a(ibin) = vol_dry_a(ibin) + & aer(iaer,jtotal,ibin)*mw_aer_mac(iaer)/dens_aer_mac(iaer) ! ncc/m^3(air) enddo mass_dry_a(ibin) = mass_dry_a(ibin) + aer_H vol_dry_a(ibin) = vol_dry_a(ibin) + aer_H mass_dry_a(ibin) = mass_dry_a(ibin)*1.e-15 ! [g/cc(air)] vol_dry_a(ibin) = vol_dry_a(ibin)*1.e-15 ! [cc(aer)/cc(air)] mass_dry_salt(ibin) = 0.0 ! soluble salts only do je = 1, nsalt mass_dry_salt(ibin) = mass_dry_salt(ibin) + & electrolyte(je,jtotal,ibin)*mw_electrolyte(je)*1.e-15 ! g/cc(air) enddo nmesa_call = nmesa_call + 1 !----begin pseudo time continuation loop------------------------------- do 500 itdum = 1, nmax_mesa ! compute new salt fluxes call mesa_flux_salt(ibin) if (istat_mosaic_fe1 .lt. 0) return ! check convergence call mesa_convergence_criterion(ibin, & iconverge_mass, & iconverge_flux, & idissolved) if(iconverge_mass .eq. myes)then iter_mesa(ibin) = iter_mesa(ibin) + itdum niter_mesa = niter_mesa + itdum niter_mesa_max = max(niter_mesa_max, itdum) jaerosolstate(ibin) = all_solid call adjust_solid_aerosol(ibin) jhyst_leg(ibin) = jhyst_lo growth_factor(ibin) = 1.0 return elseif(iconverge_flux .eq. myes)then iter_mesa(ibin) = iter_mesa(ibin)+ itdum niter_mesa = niter_mesa + itdum niter_mesa_max = max(niter_mesa_max, itdum) mass_wet_a(ibin) = mass_dry_a(ibin) + water_a(ibin)*1.e-3 ! g/cc(air) vol_wet_a(ibin) = vol_dry_a(ibin) + water_a(ibin)*1.e-3 ! cc(aer)/cc(air) or m^3/m^3(air) growth_factor(ibin) = mass_wet_a(ibin)/mass_dry_a(ibin) ! mass growth factor if(idissolved .eq. myes)then jaerosolstate(ibin) = all_liquid ! jhyst_leg(ibin) = jhyst_up ! do this later (to avoid tripping kelvin iterations) else jaerosolstate(ibin) = mixed jhyst_leg(ibin) = jhyst_lo endif ! calculate epercent(jsolid) composition in mixed-phase aerosol sum_dum = 0.0 jp = jsolid do je = 1, nelectrolyte electrolyte(je,jp,ibin) = max(0.D0,electrolyte(je,jp,ibin)) ! remove -ve sum_dum = sum_dum + electrolyte(je,jp,ibin) enddo electrolyte_sum(jp,ibin) = sum_dum if(sum_dum .eq. 0.)sum_dum = 1.0 do je = 1, nelectrolyte epercent(je,jp,ibin) = 100.*electrolyte(je,jp,ibin)/sum_dum enddo return endif ! calculate hsalt(js) ! time step hsalt_min = 1.e25 do js = 1, nsalt phi_prod = phi_salt(js) * phi_salt_old(js) if(itdum .gt. 1 .and. phi_prod .gt. 0.0)then phi_bar(js) = (abs(phi_salt(js))-abs(phi_salt_old(js)))/ & alpha_salt(js) else phi_bar(js) = 0.0 ! oscillating, or phi_salt and/or phi_salt_old may be zero endif if(phi_bar(js) .lt. 0.0)then ! good. phi getting lower. maybe able to take bigger alphas phi_bar(js) = max(phi_bar(js), -10.0D0) alpha_fac = 3.0*exp(phi_bar(js)) alpha_salt(js) = min(alpha_fac*abs(phi_salt(js)), 0.9D0) elseif(phi_bar(js) .gt. 0.0)then ! bad - phi is getting bigger. so be conservative with alpha alpha_salt(js) = min(abs(phi_salt(js)), 0.5D0) else ! very bad - phi is oscillating. be very conservative alpha_salt(js) = min(abs(phi_salt(js))/3.0, 0.5D0) endif ! alpha_salt(js) = max(alpha_salt(js), 0.01D0) phi_salt_old(js) = phi_salt(js) ! update old array if(flux_sl(js) .gt. 0.)then tau_p(js) = eleliquid(js)/flux_sl(js) ! precipitation time scale if(tau_p(js) .eq. 0.0)then hsalt(js) = 1.e25 flux_sl(js) = 0.0 phi_salt(js)= 0.0 else hsalt(js) = alpha_salt(js)*tau_p(js) endif elseif(flux_sl(js) .lt. 0.)then tau_p(js) = -eleliquid(js)/flux_sl(js) ! precipitation time scale tau_d(js) = -electrolyte(js,jsolid,ibin)/flux_sl(js) ! dissolution time scale if(tau_p(js) .eq. 0.0)then hsalt(js) = alpha_salt(js)*tau_d(js) else hsalt(js) = alpha_salt(js)*min(tau_p(js),tau_d(js)) endif else hsalt(js) = 1.e25 endif hsalt_min = min(hsalt(js), hsalt_min) enddo !--------------------------------- ! integrate electrolyte(solid) do js = 1, nsalt electrolyte(js,jsolid,ibin) = & electrolyte(js,jsolid,ibin) + & hsalt(js) * flux_sl(js) enddo ! compute aer(solid) from electrolyte(solid) call electrolytes_to_ions(jsolid,ibin) ! compute new electrolyte(liquid) from mass balance do iaer = 1, naer aer(iaer,jliquid,ibin) = aer(iaer,jtotal,ibin) - & aer(iaer,jsolid,ibin) enddo !--------------------------------- 500 continue ! end time continuation loop !-------------------------------------------------------------------- nmesa_fail = nmesa_fail + 1 iter_mesa(ibin) = iter_mesa(ibin) + itdum niter_mesa = niter_mesa + itdum jaerosolstate(ibin) = mixed jhyst_leg(ibin) = jhyst_lo mass_wet_a(ibin) = mass_dry_a(ibin) + water_a(ibin)*1.e-3 ! g/cc(air) vol_wet_a(ibin) = vol_dry_a(ibin) + water_a(ibin)*1.e-3 ! cc(aer)/cc(air) or m^3/m^3(air) growth_factor(ibin) = mass_wet_a(ibin)/mass_dry_a(ibin) ! mass growth factor return end subroutine mesa_ptc !*********************************************************************** ! part of mesa: calculates solid-liquid fluxes of soluble salts ! ! author: rahul a. zaveri ! update: jan 2005 !----------------------------------------------------------------------- subroutine mesa_flux_salt(ibin) ! touch ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin ! local variables integer js, je ! raz update 11/13/2008 real(kind=8) xt, calcium, sum_salt, sum_dum ! raz update 11/13/2008 ! compute activities and water content call ions_to_electrolytes(jliquid,ibin,xt) if (istat_mosaic_fe1 .lt. 0) return call compute_activities(ibin) activity(jna3hso4,ibin) = 0.0 if(water_a(ibin) .le. 0.0)then do js = 1, nsalt flux_sl(js) = 0.0 enddo return endif call mesa_estimate_eleliquid(ibin,xt) calcium = aer(ica_a,jliquid,ibin) ! calculate percent composition ! raz update 11/13/2008 sum_dum = 0.0 do je = 1, nelectrolyte sum_dum = sum_dum + electrolyte(je,jliquid,ibin) enddo if(sum_dum .eq. 0.)sum_dum = 1.0 do je = 1, nelectrolyte epercent(je,jliquid,ibin) = 100.*electrolyte(je,jliquid,ibin)/sum_dum enddo ! calculate % electrolyte composition in the solid and liquid phases sum_salt = 0.0 do js = 1, nsalt sum_salt = sum_salt + electrolyte(js,jsolid,ibin) enddo electrolyte_sum(jsolid,ibin) = sum_salt if(sum_salt .eq. 0.0)sum_salt = 1.0 do js = 1, nsalt frac_salt_solid(js) = electrolyte(js,jsolid,ibin)/sum_salt frac_salt_liq(js) = epercent(js,jliquid,ibin)/100. enddo ! compute salt fluxes do js = 1, nsalt ! soluble solid salts ! compute new saturation ratio sat_ratio(js) = activity(js,ibin)/keq_sl(js) ! compute relative driving force phi_salt(js) = (sat_ratio(js) - 1.0)/max(sat_ratio(js),1.0D0) ! check if too little solid-phase salt is trying to dissolve if(sat_ratio(js) .lt. 1.00 .and. & frac_salt_solid(js) .lt. 0.01 .and. & frac_salt_solid(js) .gt. 0.0)then call mesa_dissolve_small_salt(ibin,js) call mesa_estimate_eleliquid(ibin,xt) sat_ratio(js) = activity(js,ibin)/keq_sl(js) endif ! compute flux flux_sl(js) = sat_ratio(js) - 1.0 ! apply heaviside function if( (sat_ratio(js) .lt. 1.0 .and. & electrolyte(js,jsolid,ibin) .eq. 0.0) .or. & (calcium .gt. 0.0 .and. frac_salt_liq(js).lt.0.01).or. & (calcium .gt. 0.0 .and. jsalt_present(js).eq.0) )then flux_sl(js) = 0.0 phi_salt(js)= 0.0 endif enddo ! force cacl2 and cano3 fluxes to zero sat_ratio(jcano3) = 1.0 phi_salt(jcano3) = 0.0 flux_sl(jcano3) = 0.0 sat_ratio(jcacl2) = 1.0 phi_salt(jcacl2) = 0.0 flux_sl(jcacl2) = 0.0 return end subroutine mesa_flux_salt !*********************************************************************** ! part of mesa: calculates liquid electrolytes from ions ! ! notes: ! - this subroutine is to be used for liquid-phase or total-phase only ! - this sub transfers caso4 and caco3 from liquid to solid phase ! ! author: rahul a. zaveri ! update: jan 2005 !----------------------------------------------------------------------- subroutine mesa_estimate_eleliquid(ibin,xt) ! touch ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin, jp real(kind=8) xt ! local variables integer iaer, je, jc, ja, icase real(kind=8) store(naer), sum_dum, sum_naza, sum_nczc, sum_na_nh4, & f_nh4, f_na, xh, xb, xl, xs, xt_d, xna_d, xnh4_d, & xdum, dum, cat_net real(kind=8) nc(ncation), na(nanion) real(kind=8) dum_ca, dum_no3, dum_cl, cano3, cacl2 ! remove negative concentrations, if any do iaer = 1, naer aer(iaer,jliquid,ibin) = max(0.0D0, aer(iaer,jliquid,ibin)) enddo ! calculate sulfate ratio call calculate_xt(ibin,jliquid,xt) if(xt .ge. 2.0 .or. xt.lt.0.)then icase = 1 ! near neutral (acidity is caused by hcl and/or hno3) else icase = 2 ! acidic (acidity is caused by excess so4) endif ! initialize to zero do je = 1, nelectrolyte eleliquid(je) = 0.0 enddo ! !--------------------------------------------------------- ! initialize moles of ions depending on the sulfate domain jp = jliquid if(icase.eq.1)then ! xt >= 2 : sulfate poor domain dum_ca = aer(ica_a,jp,ibin) dum_no3 = aer(ino3_a,jp,ibin) dum_cl = aer(icl_a,jp,ibin) cano3 = min(dum_ca, 0.5*dum_no3) dum_ca = max(0.D0, dum_ca - cano3) dum_no3 = max(0.D0, dum_no3 - 2.*cano3) cacl2 = min(dum_ca, 0.5*dum_cl) dum_ca = max(0.D0, dum_ca - cacl2) dum_cl = max(0.D0, dum_cl - 2.*cacl2) na(ja_hso4)= 0.0 na(ja_so4) = aer(iso4_a,jp,ibin) na(ja_no3) = aer(ino3_a,jp,ibin) na(ja_cl) = aer(icl_a, jp,ibin) na(ja_msa) = aer(imsa_a,jp,ibin) nc(jc_ca) = aer(ica_a, jp,ibin) nc(jc_na) = aer(ina_a, jp,ibin) nc(jc_nh4) = aer(inh4_a,jp,ibin) cat_net = & ( 2.d0*na(ja_so4)+na(ja_no3)+na(ja_cl)+na(ja_msa) ) - & ( nc(jc_h)+2.d0*nc(jc_ca) +nc(jc_nh4)+nc(jc_na) ) if(cat_net .lt. 0.0)then nc(jc_h) = 0.0 else ! cat_net must be 0.0 or positive nc(jc_h) = cat_net endif ! now compute equivalent fractions sum_naza = 0.0 do ja = 1, nanion sum_naza = sum_naza + na(ja)*za(ja) enddo sum_nczc = 0.0 do jc = 1, ncation sum_nczc = sum_nczc + nc(jc)*zc(jc) enddo if(sum_naza .eq. 0. .or. sum_nczc .eq. 0.)then if (iprint_mosaic_diag1 .gt. 0) then write(6,*)'subroutine mesa_estimate_eleliquid' write(6,*)'ionic concentrations are zero' write(6,*)'sum_naza = ', sum_naza write(6,*)'sum_nczc = ', sum_nczc endif return endif do ja = 1, nanion xeq_a(ja) = na(ja)*za(ja)/sum_naza enddo do jc = 1, ncation xeq_c(jc) = nc(jc)*zc(jc)/sum_nczc enddo na_ma(ja_so4) = na(ja_so4) *mw_a(ja_so4) na_ma(ja_no3) = na(ja_no3) *mw_a(ja_no3) na_ma(ja_cl) = na(ja_cl) *mw_a(ja_cl) na_ma(ja_hso4)= na(ja_hso4)*mw_a(ja_hso4) na_Ma(ja_msa) = na(ja_msa) *MW_a(ja_msa) nc_mc(jc_ca) = nc(jc_ca) *mw_c(jc_ca) nc_mc(jc_na) = nc(jc_na) *mw_c(jc_na) nc_mc(jc_nh4) = nc(jc_nh4)*mw_c(jc_nh4) nc_mc(jc_h) = nc(jc_h) *mw_c(jc_h) ! now compute electrolyte moles eleliquid(jna2so4) = (xeq_c(jc_na) *na_ma(ja_so4) + & xeq_a(ja_so4)*nc_mc(jc_na))/ & mw_electrolyte(jna2so4) eleliquid(jnahso4) = (xeq_c(jc_na) *na_ma(ja_hso4) + & xeq_a(ja_hso4)*nc_mc(jc_na))/ & mw_electrolyte(jnahso4) eleliquid(jnamsa) = (xeq_c(jc_na) *na_ma(ja_msa) + & xeq_a(ja_msa)*nc_mc(jc_na))/ & mw_electrolyte(jnamsa) eleliquid(jnano3) = (xeq_c(jc_na) *na_ma(ja_no3) + & xeq_a(ja_no3)*nc_mc(jc_na))/ & mw_electrolyte(jnano3) eleliquid(jnacl) = (xeq_c(jc_na) *na_ma(ja_cl) + & xeq_a(ja_cl) *nc_mc(jc_na))/ & mw_electrolyte(jnacl) eleliquid(jnh4so4) = (xeq_c(jc_nh4)*na_ma(ja_so4) + & xeq_a(ja_so4)*nc_mc(jc_nh4))/ & mw_electrolyte(jnh4so4) eleliquid(jnh4hso4)= (xeq_c(jc_nh4)*na_ma(ja_hso4) + & xeq_a(ja_hso4)*nc_mc(jc_nh4))/ & mw_electrolyte(jnh4hso4) eleliquid(jnh4msa) = (xeq_c(jc_nh4) *na_ma(ja_msa) + & xeq_a(ja_msa)*nc_mc(jc_nh4))/ & mw_electrolyte(jnh4msa) eleliquid(jnh4no3) = (xeq_c(jc_nh4)*na_ma(ja_no3) + & xeq_a(ja_no3)*nc_mc(jc_nh4))/ & mw_electrolyte(jnh4no3) eleliquid(jnh4cl) = (xeq_c(jc_nh4)*na_ma(ja_cl) + & xeq_a(ja_cl) *nc_mc(jc_nh4))/ & mw_electrolyte(jnh4cl) eleliquid(jcano3) = (xeq_c(jc_ca) *na_ma(ja_no3) + & xeq_a(ja_no3)*nc_mc(jc_ca))/ & mw_electrolyte(jcano3) eleliquid(jcamsa2) = (xeq_c(jc_ca) *na_ma(ja_msa) + & xeq_a(ja_msa)*nc_mc(jc_ca))/ & mw_electrolyte(jcamsa2) eleliquid(jcacl2) = (xeq_c(jc_ca) *na_ma(ja_cl) + & xeq_a(ja_cl) *nc_mc(jc_ca))/ & mw_electrolyte(jcacl2) eleliquid(jh2so4) = (xeq_c(jc_h) *na_ma(ja_hso4) + & xeq_a(ja_hso4)*nc_mc(jc_h))/ & mw_electrolyte(jh2so4) eleliquid(jhno3) = (xeq_c(jc_h) *na_ma(ja_no3) + & xeq_a(ja_no3)*nc_mc(jc_h))/ & mw_electrolyte(jhno3) eleliquid(jhcl) = (xeq_c(jc_h) *na_ma(ja_cl) + & xeq_a(ja_cl)*nc_mc(jc_h))/ & mw_electrolyte(jhcl) eleliquid(jmsa) = (xeq_c(jc_h) *na_ma(ja_msa) + & xeq_a(ja_msa)*nc_mc(jc_h))/ & mw_electrolyte(jmsa) !-------------------------------------------------------------------- elseif(icase.eq.2)then ! xt < 2 : sulfate rich domain jp = jliquid store(iso4_a) = aer(iso4_a,jp,ibin) store(imsa_a) = aer(imsa_a,jp,ibin) store(inh4_a) = aer(inh4_a,jp,ibin) store(ina_a) = aer(ina_a, jp,ibin) store(ica_a) = aer(ica_a, jp,ibin) call form_camsa2(store,jp,ibin) sum_na_nh4 = store(ina_a) + store(inh4_a) if(sum_na_nh4 .gt. 0.0)then f_nh4 = store(inh4_a)/sum_na_nh4 f_na = store(ina_a)/sum_na_nh4 else f_nh4 = 0.0 f_na = 0.0 endif ! first form msa electrolytes if(sum_na_nh4 .gt. store(imsa_a))then eleliquid(jnh4msa) = f_nh4*store(imsa_a) eleliquid(jnamsa) = f_na *store(imsa_a) store(inh4_a)= store(inh4_a)-eleliquid(jnh4msa) ! remaining nh4 store(ina_a) = store(ina_a) -eleliquid(jnamsa) ! remaining na else eleliquid(jnh4msa) = store(inh4_a) eleliquid(jnamsa) = store(ina_a) eleliquid(jmsa) = store(imsa_a) - sum_na_nh4 store(inh4_a)= 0.0 ! remaining nh4 store(ina_a) = 0.0 ! remaining na endif if(store(iso4_a).eq.0.0)goto 10 xt_d = xt xna_d = 1. + 0.5*aer(ina_a,jp,ibin)/aer(iso4_a,jp,ibin) xdum = aer(iso4_a,jp,ibin) - aer(inh4_a,jp,ibin) dum = 2.d0*aer(iso4_a,jp,ibin) - aer(ina_a,jp,ibin) if(aer(inh4_a,jp,ibin) .gt. 0.0 .and. dum .gt. 0.0)then xnh4_d = 2.*aer(inh4_a,jp,ibin)/ & (2.*aer(iso4_a,jp,ibin) - aer(ina_a,jp,ibin)) else xnh4_d = 0.0 endif if(aer(inh4_a,jp,ibin) .gt. 0.0)then if(xt_d .ge. xna_d)then eleliquid(jna2so4) = 0.5*aer(ina_a,jp,ibin) if(xnh4_d .ge. 5./3.)then eleliquid(jnh4so4) = 1.5*aer(ina_a,jp,ibin) & - 3.*xdum - aer(inh4_a,jp,ibin) eleliquid(jlvcite) = 2.*xdum + aer(inh4_a,jp,ibin) & - aer(ina_a,jp,ibin) elseif(xnh4_d .ge. 1.5)then eleliquid(jnh4so4) = aer(inh4_a,jp,ibin)/5. eleliquid(jlvcite) = aer(inh4_a,jp,ibin)/5. elseif(xnh4_d .ge. 1.0)then eleliquid(jnh4so4) = aer(inh4_a,jp,ibin)/6. eleliquid(jlvcite) = aer(inh4_a,jp,ibin)/6. eleliquid(jnh4hso4)= aer(inh4_a,jp,ibin)/6. endif elseif(xt_d .gt. 1.0)then eleliquid(jnh4so4) = aer(inh4_a,jp,ibin)/6. eleliquid(jlvcite) = aer(inh4_a,jp,ibin)/6. eleliquid(jnh4hso4) = aer(inh4_a,jp,ibin)/6. eleliquid(jna2so4) = aer(ina_a,jp,ibin)/3. eleliquid(jnahso4) = aer(ina_a,jp,ibin)/3. elseif(xt_d .le. 1.0)then eleliquid(jna2so4) = aer(ina_a,jp,ibin)/4. eleliquid(jnahso4) = aer(ina_a,jp,ibin)/2. eleliquid(jlvcite) = aer(inh4_a,jp,ibin)/6. eleliquid(jnh4hso4) = aer(inh4_a,jp,ibin)/2. endif else if(xt_d .gt. 1.0)then eleliquid(jna2so4) = aer(ina_a,jp,ibin) - aer(iso4_a,jp,ibin) eleliquid(jnahso4) = 2.*aer(iso4_a,jp,ibin) - & aer(ina_a,jp,ibin) else eleliquid(jna2so4) = aer(ina_a,jp,ibin)/4. eleliquid(jnahso4) = aer(ina_a,jp,ibin)/2. endif endif endif !--------------------------------------------------------- 10 return end subroutine mesa_estimate_eleliquid !*********************************************************************** ! part of mesa: completely dissolves small amounts of soluble salts ! ! author: rahul a. zaveri ! update: jan 2005 !----------------------------------------------------------------------- subroutine mesa_dissolve_small_salt(ibin,js) ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin, js, jp jp = jsolid if(js .eq. jnh4so4)then aer(inh4_a,jliquid,ibin) = aer(inh4_a,jliquid,ibin) + & 2.*electrolyte(js,jsolid,ibin) aer(iso4_a,jliquid,ibin) = aer(iso4_a,jliquid,ibin) + & electrolyte(js,jsolid,ibin) electrolyte(js,jsolid,ibin) = 0.0 aer(inh4_a,jp,ibin) = electrolyte(jnh4no3,jp,ibin) + & electrolyte(jnh4cl,jp,ibin) + & 2.*electrolyte(jnh4so4,jp,ibin) + & 3.*electrolyte(jlvcite,jp,ibin) + & electrolyte(jnh4hso4,jp,ibin)+ & electrolyte(jnh4msa,jp,ibin) aer(iso4_a,jp,ibin) = electrolyte(jcaso4,jp,ibin) + & electrolyte(jna2so4,jp,ibin) + & 2.*electrolyte(jna3hso4,jp,ibin)+ & electrolyte(jnahso4,jp,ibin) + & electrolyte(jnh4so4,jp,ibin) + & 2.*electrolyte(jlvcite,jp,ibin) + & electrolyte(jnh4hso4,jp,ibin)+ & electrolyte(jh2so4,jp,ibin) return endif if(js .eq. jlvcite)then aer(inh4_a,jliquid,ibin) = aer(inh4_a,jliquid,ibin) + & 3.*electrolyte(js,jsolid,ibin) aer(iso4_a,jliquid,ibin) = aer(iso4_a,jliquid,ibin) + & 2.*electrolyte(js,jsolid,ibin) electrolyte(js,jsolid,ibin) = 0.0 aer(inh4_a,jp,ibin) = electrolyte(jnh4no3,jp,ibin) + & electrolyte(jnh4cl,jp,ibin) + & 2.*electrolyte(jnh4so4,jp,ibin) + & 3.*electrolyte(jlvcite,jp,ibin) + & electrolyte(jnh4hso4,jp,ibin)+ & electrolyte(jnh4msa,jp,ibin) aer(iso4_a,jp,ibin) = electrolyte(jcaso4,jp,ibin) + & electrolyte(jna2so4,jp,ibin) + & 2.*electrolyte(jna3hso4,jp,ibin)+ & electrolyte(jnahso4,jp,ibin) + & electrolyte(jnh4so4,jp,ibin) + & 2.*electrolyte(jlvcite,jp,ibin) + & electrolyte(jnh4hso4,jp,ibin)+ & electrolyte(jh2so4,jp,ibin) return endif if(js .eq. jnh4hso4)then aer(inh4_a,jliquid,ibin) = aer(inh4_a,jliquid,ibin) + & electrolyte(js,jsolid,ibin) aer(iso4_a,jliquid,ibin) = aer(iso4_a,jliquid,ibin) + & electrolyte(js,jsolid,ibin) electrolyte(js,jsolid,ibin) = 0.0 aer(inh4_a,jp,ibin) = electrolyte(jnh4no3,jp,ibin) + & electrolyte(jnh4cl,jp,ibin) + & 2.*electrolyte(jnh4so4,jp,ibin) + & 3.*electrolyte(jlvcite,jp,ibin) + & electrolyte(jnh4hso4,jp,ibin)+ & electrolyte(jnh4msa,jp,ibin) aer(iso4_a,jp,ibin) = electrolyte(jcaso4,jp,ibin) + & electrolyte(jna2so4,jp,ibin) + & 2.*electrolyte(jna3hso4,jp,ibin)+ & electrolyte(jnahso4,jp,ibin) + & electrolyte(jnh4so4,jp,ibin) + & 2.*electrolyte(jlvcite,jp,ibin) + & electrolyte(jnh4hso4,jp,ibin)+ & electrolyte(jh2so4,jp,ibin) return endif if(js .eq. jna2so4)then aer(ina_a,jliquid,ibin) = aer(ina_a,jliquid,ibin) + & 2.*electrolyte(js,jsolid,ibin) aer(iso4_a,jliquid,ibin) = aer(iso4_a,jliquid,ibin) + & electrolyte(js,jsolid,ibin) electrolyte(js,jsolid,ibin) = 0.0 aer(ina_a,jp,ibin) = electrolyte(jnano3,jp,ibin) + & electrolyte(jnacl,jp,ibin) + & 2.*electrolyte(jna2so4,jp,ibin) + & 3.*electrolyte(jna3hso4,jp,ibin)+ & electrolyte(jnahso4,jp,ibin) + & electrolyte(jnamsa,jp,ibin) aer(iso4_a,jp,ibin) = electrolyte(jcaso4,jp,ibin) + & electrolyte(jna2so4,jp,ibin) + & 2.*electrolyte(jna3hso4,jp,ibin)+ & electrolyte(jnahso4,jp,ibin) + & electrolyte(jnh4so4,jp,ibin) + & 2.*electrolyte(jlvcite,jp,ibin) + & electrolyte(jnh4hso4,jp,ibin)+ & electrolyte(jh2so4,jp,ibin) return endif if(js .eq. jna3hso4)then aer(ina_a,jliquid,ibin) = aer(ina_a,jliquid,ibin) + & 3.*electrolyte(js,jsolid,ibin) aer(iso4_a,jliquid,ibin) = aer(iso4_a,jliquid,ibin) + & 2.*electrolyte(js,jsolid,ibin) electrolyte(js,jsolid,ibin) = 0.0 aer(ina_a,jp,ibin) = electrolyte(jnano3,jp,ibin) + & electrolyte(jnacl,jp,ibin) + & 2.*electrolyte(jna2so4,jp,ibin) + & 3.*electrolyte(jna3hso4,jp,ibin)+ & electrolyte(jnahso4,jp,ibin) + & electrolyte(jnamsa,jp,ibin) aer(iso4_a,jp,ibin) = electrolyte(jcaso4,jp,ibin) + & electrolyte(jna2so4,jp,ibin) + & 2.*electrolyte(jna3hso4,jp,ibin)+ & electrolyte(jnahso4,jp,ibin) + & electrolyte(jnh4so4,jp,ibin) + & 2.*electrolyte(jlvcite,jp,ibin) + & electrolyte(jnh4hso4,jp,ibin)+ & electrolyte(jh2so4,jp,ibin) return endif if(js .eq. jnahso4)then aer(ina_a,jliquid,ibin) = aer(ina_a,jliquid,ibin) + & electrolyte(js,jsolid,ibin) aer(iso4_a,jliquid,ibin) = aer(iso4_a,jliquid,ibin) + & electrolyte(js,jsolid,ibin) electrolyte(js,jsolid,ibin) = 0.0 aer(ina_a,jp,ibin) = electrolyte(jnano3,jp,ibin) + & electrolyte(jnacl,jp,ibin) + & 2.*electrolyte(jna2so4,jp,ibin) + & 3.*electrolyte(jna3hso4,jp,ibin)+ & electrolyte(jnahso4,jp,ibin) + & electrolyte(jnamsa,jp,ibin) aer(iso4_a,jp,ibin) = electrolyte(jcaso4,jp,ibin) + & electrolyte(jna2so4,jp,ibin) + & 2.*electrolyte(jna3hso4,jp,ibin)+ & electrolyte(jnahso4,jp,ibin) + & electrolyte(jnh4so4,jp,ibin) + & 2.*electrolyte(jlvcite,jp,ibin) + & electrolyte(jnh4hso4,jp,ibin)+ & electrolyte(jh2so4,jp,ibin) return endif if(js .eq. jnh4no3)then aer(inh4_a,jliquid,ibin) = aer(inh4_a,jliquid,ibin) + & electrolyte(js,jsolid,ibin) aer(ino3_a,jliquid,ibin) = aer(ino3_a,jliquid,ibin) + & electrolyte(js,jsolid,ibin) electrolyte(js,jsolid,ibin) = 0.0 aer(inh4_a,jp,ibin) = electrolyte(jnh4no3,jp,ibin) + & electrolyte(jnh4cl,jp,ibin) + & 2.*electrolyte(jnh4so4,jp,ibin) + & 3.*electrolyte(jlvcite,jp,ibin) + & electrolyte(jnh4hso4,jp,ibin)+ & electrolyte(jnh4msa,jp,ibin) aer(ino3_a,jp,ibin) = electrolyte(jnano3,jp,ibin) + & 2.*electrolyte(jcano3,jp,ibin) + & electrolyte(jnh4no3,jp,ibin) + & electrolyte(jhno3,jp,ibin) return endif if(js .eq. jnh4cl)then aer(inh4_a,jliquid,ibin) = aer(inh4_a,jliquid,ibin) + & electrolyte(js,jsolid,ibin) aer(icl_a,jliquid,ibin) = aer(icl_a,jliquid,ibin) + & electrolyte(js,jsolid,ibin) electrolyte(js,jsolid,ibin) = 0.0 aer(inh4_a,jp,ibin) = electrolyte(jnh4no3,jp,ibin) + & electrolyte(jnh4cl,jp,ibin) + & 2.*electrolyte(jnh4so4,jp,ibin) + & 3.*electrolyte(jlvcite,jp,ibin) + & electrolyte(jnh4hso4,jp,ibin)+ & electrolyte(jnh4msa,jp,ibin) aer(icl_a,jp,ibin) = electrolyte(jnacl,jp,ibin) + & 2.*electrolyte(jcacl2,jp,ibin) + & electrolyte(jnh4cl,jp,ibin) + & electrolyte(jhcl,jp,ibin) return endif if(js .eq. jnano3)then aer(ina_a,jliquid,ibin) = aer(ina_a,jliquid,ibin) + & electrolyte(js,jsolid,ibin) aer(ino3_a,jliquid,ibin) = aer(ino3_a,jliquid,ibin) + & electrolyte(js,jsolid,ibin) electrolyte(js,jsolid,ibin) = 0.0 aer(ina_a,jp,ibin) = electrolyte(jnano3,jp,ibin) + & electrolyte(jnacl,jp,ibin) + & 2.*electrolyte(jna2so4,jp,ibin) + & 3.*electrolyte(jna3hso4,jp,ibin)+ & electrolyte(jnahso4,jp,ibin) + & electrolyte(jnamsa,jp,ibin) aer(ino3_a,jp,ibin) = electrolyte(jnano3,jp,ibin) + & 2.*electrolyte(jcano3,jp,ibin) + & electrolyte(jnh4no3,jp,ibin) + & electrolyte(jhno3,jp,ibin) return endif if(js .eq. jnacl)then aer(ina_a,jliquid,ibin) = aer(ina_a,jliquid,ibin) + & electrolyte(js,jsolid,ibin) aer(icl_a,jliquid,ibin) = aer(icl_a,jliquid,ibin) + & electrolyte(js,jsolid,ibin) electrolyte(js,jsolid,ibin) = 0.0 aer(ina_a,jp,ibin) = electrolyte(jnano3,jp,ibin) + & electrolyte(jnacl,jp,ibin) + & 2.*electrolyte(jna2so4,jp,ibin) + & 3.*electrolyte(jna3hso4,jp,ibin)+ & electrolyte(jnahso4,jp,ibin) + & electrolyte(jnamsa,jp,ibin) aer(icl_a,jp,ibin) = electrolyte(jnacl,jp,ibin) + & 2.*electrolyte(jcacl2,jp,ibin) + & electrolyte(jnh4cl,jp,ibin) + & electrolyte(jhcl,jp,ibin) return endif if(js .eq. jcano3)then aer(ica_a,jliquid,ibin) = aer(ica_a,jliquid,ibin) + & electrolyte(js,jsolid,ibin) aer(ino3_a,jliquid,ibin) = aer(ino3_a,jliquid,ibin) + & 2.*electrolyte(js,jsolid,ibin) electrolyte(js,jsolid,ibin) = 0.0 aer(ica_a,jp,ibin) = electrolyte(jcaso4,jp,ibin) + & electrolyte(jcano3,jp,ibin) + & electrolyte(jcacl2,jp,ibin) + & electrolyte(jcaco3,jp,ibin) + & electrolyte(jcamsa2,jp,ibin) aer(ino3_a,jp,ibin) = electrolyte(jnano3,jp,ibin) + & 2.*electrolyte(jcano3,jp,ibin) + & electrolyte(jnh4no3,jp,ibin) + & electrolyte(jhno3,jp,ibin) return endif if(js .eq. jcacl2)then aer(ica_a,jliquid,ibin) = aer(ica_a,jliquid,ibin) + & electrolyte(js,jsolid,ibin) aer(icl_a,jliquid,ibin) = aer(icl_a,jliquid,ibin) + & 2.*electrolyte(js,jsolid,ibin) electrolyte(js,jsolid,ibin) = 0.0 aer(ica_a,jp,ibin) = electrolyte(jcaso4,jp,ibin) + & electrolyte(jcano3,jp,ibin) + & electrolyte(jcacl2,jp,ibin) + & electrolyte(jcaco3,jp,ibin) + & electrolyte(jcamsa2,jp,ibin) aer(icl_a,jp,ibin) = electrolyte(jnacl,jp,ibin) + & 2.*electrolyte(jcacl2,jp,ibin) + & electrolyte(jnh4cl,jp,ibin) + & electrolyte(jhcl,jp,ibin) return endif return end subroutine mesa_dissolve_small_salt !*********************************************************************** ! part of mesa: checks mesa convergence ! ! author: rahul a. zaveri ! update: jan 2005 ! Oct 2009: William.Gustafson@pnl.gov - zero salt bug fixed !----------------------------------------------------------------------- subroutine mesa_convergence_criterion(ibin, & ! touch iconverge_mass, & iconverge_flux, & idissolved) ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin, iconverge_mass, iconverge_flux, idissolved ! local variables integer je, js, iaer real(kind=8) mass_solid, mass_solid_salt, frac_solid, xt, h_ion, & crustal_solids, sumflux idissolved = mno ! default = not completely dissolved ! check mass convergence iconverge_mass = mno ! default value = no convergence ! call electrolytes_to_ions(jsolid,ibin) ! mass_solid = 0.0 ! do iaer = 1, naer ! mass_solid = mass_solid + & ! aer(iaer,jsolid,ibin)*mw_aer_mac(iaer)*1.e-15 ! g/cc(air) ! enddo mass_solid_salt = 0.0 do je = 1, nsalt mass_solid_salt = mass_solid_salt + & electrolyte(je,jsolid,ibin)*mw_electrolyte(je)*1.e-15 ! g/cc(air) enddo ! frac_solid = mass_solid/mass_dry_a(ibin) !!$ frac_solid = mass_solid_salt/mass_dry_salt(ibin) !!$ !!$ if(frac_solid .ge. 0.98)then !!$ iconverge_mass = myes !!$ return !!$ endif !beg: Modified above logic to handle zero salts, wig 28-Oct-2009 ! If mass of salts is zero, then this will force jaerosolstate to solid ! in mesa_ptc. if( mass_dry_salt(ibin) < 1e-30 ) then iconverge_mass = myes return else frac_solid = mass_solid_salt/mass_dry_salt(ibin) if(frac_solid .ge. 0.98)then iconverge_mass = myes return endif end if !end wig ! check relative driving force convergence iconverge_flux = myes do js = 1, nsalt if(abs(phi_salt(js)).gt. rtol_mesa)then iconverge_flux = mno return endif enddo ! check if all the fluxes are zero sumflux = 0.0 do js = 1, nsalt sumflux = sumflux + abs(flux_sl(js)) enddo crustal_solids = electrolyte(jcaco3,jsolid,ibin) + & electrolyte(jcaso4,jsolid,ibin) + & aer(ioin_a,jsolid,ibin) if(sumflux .eq. 0.0 .and. crustal_solids .eq. 0.0)then idissolved = myes endif return end subroutine mesa_convergence_criterion !*********************************************************************** ! called when aerosol bin is completely solid. ! ! author: rahul a. zaveri ! update: jan 2005 !----------------------------------------------------------------------- subroutine adjust_solid_aerosol(ibin) ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin ! local variables integer iaer, je jphase(ibin) = jsolid jhyst_leg(ibin) = jhyst_lo ! lower curve water_a(ibin) = 0.0 ! transfer aer(jtotal) to aer(jsolid) do iaer = 1, naer aer(iaer, jsolid, ibin) = aer(iaer,jtotal,ibin) aer(iaer, jliquid,ibin) = 0.0 enddo ! transfer electrolyte(jtotal) to electrolyte(jsolid) do je = 1, nelectrolyte electrolyte(je,jliquid,ibin) = 0.0 epercent(je,jliquid,ibin) = 0.0 electrolyte(je,jsolid,ibin) = electrolyte(je,jtotal,ibin) epercent(je,jsolid,ibin) = epercent(je,jtotal,ibin) enddo ! update aer(jtotal) that may have been affected above aer(inh4_a,jtotal,ibin) = aer(inh4_a,jsolid,ibin) aer(ino3_a,jtotal,ibin) = aer(ino3_a,jsolid,ibin) aer(icl_a,jtotal,ibin) = aer(icl_a,jsolid,ibin) ! update electrolyte(jtotal) do je = 1, nelectrolyte electrolyte(je,jtotal,ibin) = electrolyte(je,jsolid,ibin) epercent(je,jtotal,ibin) = epercent(je,jsolid,ibin) enddo return end subroutine adjust_solid_aerosol !*********************************************************************** ! called when aerosol bin is completely liquid. ! ! author: rahul a. zaveri ! update: jan 2005 !----------------------------------------------------------------------- subroutine adjust_liquid_aerosol(ibin) ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin ! local variables integer je jphase(ibin) = jliquid jhyst_leg(ibin) = jhyst_up ! upper curve ! partition all electrolytes into liquid phase do je = 1, nelectrolyte electrolyte(je,jsolid,ibin) = 0.0 epercent(je,jsolid,ibin) = 0.0 electrolyte(je,jliquid,ibin) = electrolyte(je,jtotal,ibin) epercent(je,jliquid,ibin) = epercent(je,jtotal,ibin) enddo ! except these electrolytes, which always remain in the solid phase electrolyte(jcaco3,jsolid,ibin) = electrolyte(jcaco3,jtotal,ibin) electrolyte(jcaso4,jsolid,ibin) = electrolyte(jcaso4,jtotal,ibin) epercent(jcaco3,jsolid,ibin) = epercent(jcaco3,jtotal,ibin) epercent(jcaso4,jsolid,ibin) = epercent(jcaso4,jtotal,ibin) electrolyte(jcaco3,jliquid,ibin)= 0.0 electrolyte(jcaso4,jliquid,ibin)= 0.0 epercent(jcaco3,jliquid,ibin) = 0.0 epercent(jcaso4,jliquid,ibin) = 0.0 ! partition all the aer species into ! solid phase aer(iso4_a,jsolid,ibin) = electrolyte(jcaso4,jsolid,ibin) aer(ino3_a,jsolid,ibin) = 0.0 aer(icl_a,jsolid,ibin) = 0.0 aer(inh4_a,jsolid,ibin) = 0.0 aer(ioc_a,jsolid,ibin) = aer(ioc_a,jtotal,ibin) aer(imsa_a,jsolid,ibin) = 0.0 aer(ico3_a,jsolid,ibin) = aer(ico3_a,jtotal,ibin) aer(ina_a,jsolid,ibin) = 0.0 aer(ica_a,jsolid,ibin) = electrolyte(jcaco3,jsolid,ibin) + & electrolyte(jcaso4,jsolid,ibin) aer(ibc_a,jsolid,ibin) = aer(ibc_a,jtotal,ibin) aer(ioin_a,jsolid,ibin) = aer(ioin_a,jtotal,ibin) aer(ipcg1_b_c_a,jsolid,ibin)= aer(ipcg1_b_c_a,jtotal,ibin) aer(ipcg2_b_c_a,jsolid,ibin)= aer(ipcg2_b_c_a,jtotal,ibin) aer(ipcg3_b_c_a,jsolid,ibin)= aer(ipcg3_b_c_a,jtotal,ibin) aer(ipcg4_b_c_a,jsolid,ibin)= aer(ipcg4_b_c_a,jtotal,ibin) aer(ipcg5_b_c_a,jsolid,ibin)= aer(ipcg5_b_c_a,jtotal,ibin) aer(ipcg6_b_c_a,jsolid,ibin)= aer(ipcg6_b_c_a,jtotal,ibin) aer(ipcg7_b_c_a,jsolid,ibin)= aer(ipcg7_b_c_a,jtotal,ibin) aer(ipcg8_b_c_a,jsolid,ibin)= aer(ipcg8_b_c_a,jtotal,ibin) aer(ipcg9_b_c_a,jsolid,ibin)= aer(ipcg9_b_c_a,jtotal,ibin) aer(ipcg1_b_o_a,jsolid,ibin)= aer(ipcg1_b_o_a,jtotal,ibin) aer(ipcg2_b_o_a,jsolid,ibin)= aer(ipcg2_b_o_a,jtotal,ibin) aer(ipcg3_b_o_a,jsolid,ibin)= aer(ipcg3_b_o_a,jtotal,ibin) aer(ipcg4_b_o_a,jsolid,ibin)= aer(ipcg4_b_o_a,jtotal,ibin) aer(ipcg5_b_o_a,jsolid,ibin)= aer(ipcg5_b_o_a,jtotal,ibin) aer(ipcg6_b_o_a,jsolid,ibin)= aer(ipcg6_b_o_a,jtotal,ibin) aer(ipcg7_b_o_a,jsolid,ibin)= aer(ipcg7_b_o_a,jtotal,ibin) aer(ipcg8_b_o_a,jsolid,ibin)= aer(ipcg8_b_o_a,jtotal,ibin) aer(ipcg9_b_o_a,jsolid,ibin)= aer(ipcg9_b_o_a,jtotal,ibin) aer(iopcg1_b_c_a,jsolid,ibin)= aer(iopcg1_b_c_a,jtotal,ibin) aer(iopcg2_b_c_a,jsolid,ibin)= aer(iopcg2_b_c_a,jtotal,ibin) aer(iopcg3_b_c_a,jsolid,ibin)= aer(iopcg3_b_c_a,jtotal,ibin) aer(iopcg4_b_c_a,jsolid,ibin)= aer(iopcg4_b_c_a,jtotal,ibin) aer(iopcg5_b_c_a,jsolid,ibin)= aer(iopcg5_b_c_a,jtotal,ibin) aer(iopcg6_b_c_a,jsolid,ibin)= aer(iopcg6_b_c_a,jtotal,ibin) aer(iopcg7_b_c_a,jsolid,ibin)= aer(iopcg7_b_c_a,jtotal,ibin) aer(iopcg8_b_c_a,jsolid,ibin)= aer(iopcg8_b_c_a,jtotal,ibin) aer(iopcg1_b_o_a,jsolid,ibin)= aer(iopcg1_b_o_a,jtotal,ibin) aer(iopcg2_b_o_a,jsolid,ibin)= aer(iopcg2_b_o_a,jtotal,ibin) aer(iopcg3_b_o_a,jsolid,ibin)= aer(iopcg3_b_o_a,jtotal,ibin) aer(iopcg4_b_o_a,jsolid,ibin)= aer(iopcg4_b_o_a,jtotal,ibin) aer(iopcg5_b_o_a,jsolid,ibin)= aer(iopcg5_b_o_a,jtotal,ibin) aer(iopcg6_b_o_a,jsolid,ibin)= aer(iopcg6_b_o_a,jtotal,ibin) aer(iopcg7_b_o_a,jsolid,ibin)= aer(iopcg7_b_o_a,jtotal,ibin) aer(iopcg8_b_o_a,jsolid,ibin)= aer(iopcg8_b_o_a,jtotal,ibin) aer(ipcg1_f_c_a,jsolid,ibin)= aer(ipcg1_f_c_a,jtotal,ibin) aer(ipcg2_f_c_a,jsolid,ibin)= aer(ipcg2_f_c_a,jtotal,ibin) aer(ipcg3_f_c_a,jsolid,ibin)= aer(ipcg3_f_c_a,jtotal,ibin) aer(ipcg4_f_c_a,jsolid,ibin)= aer(ipcg4_f_c_a,jtotal,ibin) aer(ipcg5_f_c_a,jsolid,ibin)= aer(ipcg5_f_c_a,jtotal,ibin) aer(ipcg6_f_c_a,jsolid,ibin)= aer(ipcg6_f_c_a,jtotal,ibin) aer(ipcg7_f_c_a,jsolid,ibin)= aer(ipcg7_f_c_a,jtotal,ibin) aer(ipcg8_f_c_a,jsolid,ibin)= aer(ipcg8_f_c_a,jtotal,ibin) aer(ipcg9_f_c_a,jsolid,ibin)= aer(ipcg9_f_c_a,jtotal,ibin) aer(ipcg1_f_o_a,jsolid,ibin)= aer(ipcg1_f_o_a,jtotal,ibin) aer(ipcg2_f_o_a,jsolid,ibin)= aer(ipcg2_f_o_a,jtotal,ibin) aer(ipcg3_f_o_a,jsolid,ibin)= aer(ipcg3_f_o_a,jtotal,ibin) aer(ipcg4_f_o_a,jsolid,ibin)= aer(ipcg4_f_o_a,jtotal,ibin) aer(ipcg5_f_o_a,jsolid,ibin)= aer(ipcg5_f_o_a,jtotal,ibin) aer(ipcg6_f_o_a,jsolid,ibin)= aer(ipcg6_f_o_a,jtotal,ibin) aer(ipcg7_f_o_a,jsolid,ibin)= aer(ipcg7_f_o_a,jtotal,ibin) aer(ipcg8_f_o_a,jsolid,ibin)= aer(ipcg8_f_o_a,jtotal,ibin) aer(ipcg9_f_o_a,jsolid,ibin)= aer(ipcg9_f_o_a,jtotal,ibin) aer(iopcg1_f_c_a,jsolid,ibin)= aer(iopcg1_f_c_a,jtotal,ibin) aer(iopcg2_f_c_a,jsolid,ibin)= aer(iopcg2_f_c_a,jtotal,ibin) aer(iopcg3_f_c_a,jsolid,ibin)= aer(iopcg3_f_c_a,jtotal,ibin) aer(iopcg4_f_c_a,jsolid,ibin)= aer(iopcg4_f_c_a,jtotal,ibin) aer(iopcg5_f_c_a,jsolid,ibin)= aer(iopcg5_f_c_a,jtotal,ibin) aer(iopcg6_f_c_a,jsolid,ibin)= aer(iopcg6_f_c_a,jtotal,ibin) aer(iopcg7_f_c_a,jsolid,ibin)= aer(iopcg7_f_c_a,jtotal,ibin) aer(iopcg8_f_c_a,jsolid,ibin)= aer(iopcg8_f_c_a,jtotal,ibin) aer(iopcg1_f_o_a,jsolid,ibin)= aer(iopcg1_f_o_a,jtotal,ibin) aer(iopcg2_f_o_a,jsolid,ibin)= aer(iopcg2_f_o_a,jtotal,ibin) aer(iopcg3_f_o_a,jsolid,ibin)= aer(iopcg3_f_o_a,jtotal,ibin) aer(iopcg4_f_o_a,jsolid,ibin)= aer(iopcg4_f_o_a,jtotal,ibin) aer(iopcg5_f_o_a,jsolid,ibin)= aer(iopcg5_f_o_a,jtotal,ibin) aer(iopcg6_f_o_a,jsolid,ibin)= aer(iopcg6_f_o_a,jtotal,ibin) aer(iopcg7_f_o_a,jsolid,ibin)= aer(iopcg7_f_o_a,jtotal,ibin) aer(iopcg8_f_o_a,jsolid,ibin)= aer(iopcg8_f_o_a,jtotal,ibin) aer(ismpa_a,jsolid,ibin)= aer(ismpa_a,jtotal,ibin) aer(ismpbb_a,jsolid,ibin)= aer(ismpbb_a,jtotal,ibin) aer(iglysoa_r1_a,jsolid,ibin)= aer(iglysoa_r1_a,jtotal,ibin) aer(iglysoa_r2_a,jsolid,ibin)= aer(iglysoa_r2_a,jtotal,ibin) aer(iglysoa_sfc_a,jsolid,ibin)= aer(iglysoa_sfc_a,jtotal,ibin) aer(iglysoa_nh4_a,jsolid,ibin)= aer(iglysoa_nh4_a,jtotal,ibin) aer(iglysoa_oh_a,jsolid,ibin)= aer(iglysoa_oh_a,jtotal,ibin) aer(iant1_c_a,jsolid,ibin)= aer(iant1_c_a,jtotal,ibin) aer(iant2_c_a,jsolid,ibin)= aer(iant2_c_a,jtotal,ibin) aer(iant3_c_a,jsolid,ibin)= aer(iant3_c_a,jtotal,ibin) aer(iant4_c_a,jsolid,ibin)= aer(iant4_c_a,jtotal,ibin) aer(iant1_o_a,jsolid,ibin)= aer(iant1_o_a,jtotal,ibin) aer(iant2_o_a,jsolid,ibin)= aer(iant2_o_a,jtotal,ibin) aer(iant3_o_a,jsolid,ibin)= aer(iant3_o_a,jtotal,ibin) aer(iant4_o_a,jsolid,ibin)= aer(iant4_o_a,jtotal,ibin) aer(ibiog1_c_a,jsolid,ibin)= aer(ibiog1_c_a,jtotal,ibin) aer(ibiog2_c_a,jsolid,ibin)= aer(ibiog2_c_a,jtotal,ibin) aer(ibiog3_c_a,jsolid,ibin)= aer(ibiog3_c_a,jtotal,ibin) aer(ibiog4_c_a,jsolid,ibin)= aer(ibiog4_c_a,jtotal,ibin) aer(ibiog1_o_a,jsolid,ibin)= aer(ibiog1_o_a,jtotal,ibin) aer(ibiog2_o_a,jsolid,ibin)= aer(ibiog2_o_a,jtotal,ibin) aer(ibiog3_o_a,jsolid,ibin)= aer(ibiog3_o_a,jtotal,ibin) aer(ibiog4_o_a,jsolid,ibin)= aer(ibiog4_o_a,jtotal,ibin) aer(iasoaX_a,jsolid,ibin)= aer(iasoaX_a,jtotal,ibin) aer(iasoa1_a,jsolid,ibin)= aer(iasoa1_a,jtotal,ibin) aer(iasoa2_a,jsolid,ibin)= aer(iasoa2_a,jtotal,ibin) aer(iasoa3_a,jsolid,ibin)= aer(iasoa3_a,jtotal,ibin) aer(iasoa4_a,jsolid,ibin)= aer(iasoa4_a,jtotal,ibin) aer(ibsoaX_a,jsolid,ibin)= aer(ibsoaX_a,jtotal,ibin) aer(ibsoa1_a,jsolid,ibin)= aer(ibsoa1_a,jtotal,ibin) aer(ibsoa2_a,jsolid,ibin)= aer(ibsoa2_a,jtotal,ibin) aer(ibsoa3_a,jsolid,ibin)= aer(ibsoa3_a,jtotal,ibin) aer(ibsoa4_a,jsolid,ibin)= aer(ibsoa4_a,jtotal,ibin) ! liquid-phase aer(iso4_a,jliquid,ibin) = aer(iso4_a,jtotal,ibin) - & aer(iso4_a,jsolid,ibin) aer(iso4_a,jliquid,ibin) = max(0.D0, aer(iso4_a,jliquid,ibin)) aer(ino3_a,jliquid,ibin) = aer(ino3_a,jtotal,ibin) aer(icl_a,jliquid,ibin) = aer(icl_a,jtotal,ibin) aer(inh4_a,jliquid,ibin) = aer(inh4_a,jtotal,ibin) aer(ioc_a,jliquid,ibin) = 0.0 aer(imsa_a,jliquid,ibin) = aer(imsa_a,jtotal,ibin) aer(ico3_a,jliquid,ibin) = 0.0 aer(ina_a,jliquid,ibin) = aer(ina_a,jtotal,ibin) aer(ica_a,jliquid,ibin) = aer(ica_a,jtotal,ibin) - & aer(ica_a,jsolid,ibin) aer(ica_a,jliquid,ibin) = max(0.D0, aer(ica_a,jliquid,ibin)) aer(ibc_a,jliquid,ibin) = 0.0 aer(ioin_a,jliquid,ibin) = 0.0 aer(ipcg1_b_c_a,jliquid,ibin)= 0.0 aer(ipcg2_b_c_a,jliquid,ibin)= 0.0 aer(ipcg3_b_c_a,jliquid,ibin)= 0.0 aer(ipcg4_b_c_a,jliquid,ibin)= 0.0 aer(ipcg5_b_c_a,jliquid,ibin)= 0.0 aer(ipcg6_b_c_a,jliquid,ibin)= 0.0 aer(ipcg7_b_c_a,jliquid,ibin)= 0.0 aer(ipcg8_b_c_a,jliquid,ibin)= 0.0 aer(ipcg9_b_c_a,jliquid,ibin)= 0.0 aer(ipcg1_b_o_a,jliquid,ibin)= 0.0 aer(ipcg2_b_o_a,jliquid,ibin)= 0.0 aer(ipcg3_b_o_a,jliquid,ibin)= 0.0 aer(ipcg4_b_o_a,jliquid,ibin)= 0.0 aer(ipcg5_b_o_a,jliquid,ibin)= 0.0 aer(ipcg6_b_o_a,jliquid,ibin)= 0.0 aer(ipcg7_b_o_a,jliquid,ibin)= 0.0 aer(ipcg8_b_o_a,jliquid,ibin)= 0.0 aer(ipcg9_b_o_a,jliquid,ibin)= 0.0 aer(iopcg1_b_c_a,jliquid,ibin)= 0.0 aer(iopcg2_b_c_a,jliquid,ibin)= 0.0 aer(iopcg3_b_c_a,jliquid,ibin)= 0.0 aer(iopcg4_b_c_a,jliquid,ibin)= 0.0 aer(iopcg5_b_c_a,jliquid,ibin)= 0.0 aer(iopcg6_b_c_a,jliquid,ibin)= 0.0 aer(iopcg7_b_c_a,jliquid,ibin)= 0.0 aer(iopcg8_b_c_a,jliquid,ibin)= 0.0 aer(iopcg1_b_o_a,jliquid,ibin)= 0.0 aer(iopcg2_b_o_a,jliquid,ibin)= 0.0 aer(iopcg3_b_o_a,jliquid,ibin)= 0.0 aer(iopcg4_b_o_a,jliquid,ibin)= 0.0 aer(iopcg5_b_o_a,jliquid,ibin)= 0.0 aer(iopcg6_b_o_a,jliquid,ibin)= 0.0 aer(iopcg7_b_o_a,jliquid,ibin)= 0.0 aer(iopcg8_b_o_a,jliquid,ibin)= 0.0 aer(ipcg1_f_c_a,jliquid,ibin)= 0.0 aer(ipcg2_f_c_a,jliquid,ibin)= 0.0 aer(ipcg3_f_c_a,jliquid,ibin)= 0.0 aer(ipcg4_f_c_a,jliquid,ibin)= 0.0 aer(ipcg5_f_c_a,jliquid,ibin)= 0.0 aer(ipcg6_f_c_a,jliquid,ibin)= 0.0 aer(ipcg7_f_c_a,jliquid,ibin)= 0.0 aer(ipcg8_f_c_a,jliquid,ibin)= 0.0 aer(ipcg9_f_c_a,jliquid,ibin)= 0.0 aer(ipcg1_f_o_a,jliquid,ibin)= 0.0 aer(ipcg2_f_o_a,jliquid,ibin)= 0.0 aer(ipcg3_f_o_a,jliquid,ibin)= 0.0 aer(ipcg4_f_o_a,jliquid,ibin)= 0.0 aer(ipcg5_f_o_a,jliquid,ibin)= 0.0 aer(ipcg6_f_o_a,jliquid,ibin)= 0.0 aer(ipcg7_f_o_a,jliquid,ibin)= 0.0 aer(ipcg8_f_o_a,jliquid,ibin)= 0.0 aer(ipcg9_f_o_a,jliquid,ibin)= 0.0 aer(iopcg1_f_c_a,jliquid,ibin)= 0.0 aer(iopcg2_f_c_a,jliquid,ibin)= 0.0 aer(iopcg3_f_c_a,jliquid,ibin)= 0.0 aer(iopcg4_f_c_a,jliquid,ibin)= 0.0 aer(iopcg5_f_c_a,jliquid,ibin)= 0.0 aer(iopcg6_f_c_a,jliquid,ibin)= 0.0 aer(iopcg7_f_c_a,jliquid,ibin)= 0.0 aer(iopcg8_f_c_a,jliquid,ibin)= 0.0 aer(iopcg1_f_o_a,jliquid,ibin)= 0.0 aer(iopcg2_f_o_a,jliquid,ibin)= 0.0 aer(iopcg3_f_o_a,jliquid,ibin)= 0.0 aer(iopcg4_f_o_a,jliquid,ibin)= 0.0 aer(iopcg5_f_o_a,jliquid,ibin)= 0.0 aer(iopcg6_f_o_a,jliquid,ibin)= 0.0 aer(iopcg7_f_o_a,jliquid,ibin)= 0.0 aer(iopcg8_f_o_a,jliquid,ibin)= 0.0 aer(ismpa_a,jliquid,ibin)= 0.0 aer(ismpbb_a,jliquid,ibin)= 0.0 aer(iglysoa_r1_a,jliquid,ibin)= 0.0 aer(iglysoa_r2_a,jliquid,ibin)= 0.0 aer(iglysoa_sfc_a,jliquid,ibin)= 0.0 aer(iglysoa_nh4_a,jliquid,ibin)= 0.0 aer(iglysoa_oh_a,jliquid,ibin)= 0.0 aer(iant1_c_a,jliquid,ibin)= 0.0 aer(iant2_c_a,jliquid,ibin)= 0.0 aer(iant3_c_a,jliquid,ibin)= 0.0 aer(iant4_c_a,jliquid,ibin)= 0.0 aer(iant1_o_a,jliquid,ibin)= 0.0 aer(iant2_o_a,jliquid,ibin)= 0.0 aer(iant3_o_a,jliquid,ibin)= 0.0 aer(iant4_o_a,jliquid,ibin)= 0.0 aer(ibiog1_c_a,jliquid,ibin)= 0.0 aer(ibiog2_c_a,jliquid,ibin)= 0.0 aer(ibiog3_c_a,jliquid,ibin)= 0.0 aer(ibiog4_c_a,jliquid,ibin)= 0.0 aer(ibiog1_o_a,jliquid,ibin)= 0.0 aer(ibiog2_o_a,jliquid,ibin)= 0.0 aer(ibiog3_o_a,jliquid,ibin)= 0.0 aer(ibiog4_o_a,jliquid,ibin)= 0.0 aer(iasoaX_a,jliquid,ibin)= 0.0 aer(iasoa1_a,jliquid,ibin)= 0.0 aer(iasoa2_a,jliquid,ibin)= 0.0 aer(iasoa3_a,jliquid,ibin)= 0.0 aer(iasoa4_a,jliquid,ibin)= 0.0 aer(ibsoaX_a,jliquid,ibin)= 0.0 aer(ibsoa1_a,jliquid,ibin)= 0.0 aer(ibsoa2_a,jliquid,ibin)= 0.0 aer(ibsoa3_a,jliquid,ibin)= 0.0 aer(ibsoa4_a,jliquid,ibin)= 0.0 return end subroutine adjust_liquid_aerosol ! end of mesa package !======================================================================= !*********************************************************************** ! ASTEM: Adaptive Step Time-Split Euler Method ! ! author: Rahul A. Zaveri ! update: jan 2007 !----------------------------------------------------------------------- subroutine ASTEM(dtchem,vbs_nbin) !LuoUSE module_mosaic_gly, only : glysoa_complex, glysoa_simple ! implicit none ! include 'chemistry.com' ! include 'mosaic.h' ! subr arguments real(kind=8) dtchem ! local variables integer ibin real(kind=8) dumdum integer vbs_nbin(1) integer start_svoc, Nsoa ! logical first ! save first ! data first/.true./ integer, save :: iclm_debug, jclm_debug, kclm_debug, ncnt_debug data iclm_debug /25/ data jclm_debug /1/ data kclm_debug /9/ data ncnt_debug /2/ if(iclm_aer .eq. iclm_debug .and. & jclm_aer .eq. jclm_debug .and. & kclm_aer .eq. kclm_debug .and. & ncorecnt_aer .eq. ncnt_debug)then dumdum = 0.0 endif ! update ASTEM call counter nASTEM_call = nASTEM_call + 1 ! reset input print flag iprint_input = mYES ! compute aerosol phase state before starting integration do ibin = 1, nbin_a if(jaerosolstate(ibin) .ne. no_aerosol)then call aerosol_phase_state(ibin) if (istat_mosaic_fe1 .lt. 0) return call calc_dry_n_wet_aerosol_props(ibin) endif ! endif ! added by Manish Shrivastav 12/7/09 enddo ! if(first)then ! first=.false. ! call print_aer(0) ! BOX ! endif ! compute new gas-aerosol mass transfer coefficients call aerosolmtc(vbs_nbin) if (istat_mosaic_fe1 .lt. 0) return ! condense h2so4, msa, and nh3 only call ASTEM_non_volatiles(dtchem) ! analytical solution if (istat_mosaic_fe1 .lt. 0) return ! DL - 20/11/2012 - recalculate the mass balance to take account of ! NO3- and Cl- changes from N2O5 het reactions call overall_massbal_in ! save input mass over all bins ! condense inorganic semi-volatile gases hno3, hcl, nh3, and co2 call ASTEM_semi_volatiles(dtchem) ! semi-implicit + explicit euler if (istat_mosaic_fe1 .lt. 0) return !Luoif (glysoa_param == glysoa_param_simple) call glysoa_simple(dtchem) !Luoif (glysoa_param == glysoa_param_complex) call glysoa_complex(dtchem) ! condense secondary organic gases (8 sorgam species) !Luoif (istat_mosaic_fe1 .lt. 0) return !Luostart_svoc = 1 !LuoNsoa = 0 ! simple version, Hodzic and Jimenez, GMD, 2011 !Luoif (vbs_nbin(1).eq.0) then !Luo start_svoc = ismpa_g ! 4-bin version, Knote et al., ACPD, 2014 !Luoelse if (vbs_nbin(1).eq.4) then !Luo start_svoc = iasoaX_g ! 9-bin version !Luoelse !Luo start_svoc = ipcg1_b_c_g ! Nsoa = ngas_volatile-start_svoc !Luoend if !LuoNsoa = ngas_ioa + ngas_soa - start_svoc + 1 !Luocall equilibrium(start_svoc,Nsoa) !!BSINGH (PNNL)- Following 3 lines are commented due to array out of bound error in equilibrium_smp ! !if (vbs_nbin.eq.0) then ! !call equilibrium_smp ! !else ! call equilibrium ! !Bend if ! ! template for error status checking ! if (iprint_mosaic_fe1 .gt. 0) then ! write(6,*)'error in computing dtmax for soa' ! write(6,*)'mosaic fatal error in astem_soa_dtmax' ! stop ! endif ! istat_mosaic_fe1 = -1800 ! return ! endif return end subroutine astem subroutine print_mosaic_stats( iflag1 ) ! implicit none ! include 'mosaic.h' ! subr arguments integer iflag1 ! local variables integer ibin real(kind=8) p_mesa_fails, p_astem_fails, dumcnt if (iflag1 .le. 0) goto 2000 ! print mesa and astem statistics dumcnt = float(max(nmesa_call,1)) p_mesa_fails = 100.*float(nmesa_fail)/dumcnt niter_mesa_avg = float(niter_mesa)/dumcnt dumcnt = float(max(nastem_call,1)) p_astem_fails = 100.*float(nastem_fail)/dumcnt nsteps_astem_avg = float(nsteps_astem)/dumcnt if (iprint_mosaic_perform_stats .gt. 0) then write(6,*)'------------------------------------------------' write(6,*)' astem performance statistics' write(6,*)'number of astem calls=', nastem_call write(6,*)'percent astem fails =', nastem_fail write(6,*)'avg steps per dtchem =', nsteps_astem_avg write(6,*)'max steps per dtchem =', nsteps_astem_max write(6,*)' ' write(6,*)' mesa performance statistics' write(6,*)'number of mesa calls =', nmesa_call write(6,*)'total mesa fails =', nmesa_fail write(6,*)'percent mesa fails =', p_mesa_fails write(6,*)'avg iterations/call =', niter_mesa_avg write(6,*)'max iterations/call =', niter_mesa_max write(6,*)' ' endif if (iprint_mosaic_fe1 .gt. 0) then if ((nfe1_mosaic_cur .gt. 0) .or. & (iprint_mosaic_fe1 .ge. 100)) then write(6,*)'-----------------------------------------' write(6,*)'mosaic failure count (current step) =', & nfe1_mosaic_cur write(6,*)'mosaic failure count (all step tot) =', & nfe1_mosaic_tot write(6,*)' ' endif endif if (nfe1_mosaic_tot .gt. 9999) then write(6,'(a)') "MOSAIC FAILURE COUNT > 9999 -- SOMETHING IS SERIOUSLY WRONG !!!" endif 2000 continue ! reset counters nfe1_mosaic_cur = 0 nmesa_call = 0 nmesa_fail = 0 niter_mesa = 0.0 niter_mesa_max = 0 nastem_call = 0 nastem_fail = 0 nsteps_astem = 0.0 nsteps_astem_max = 0.0 return end subroutine print_mosaic_stats ! Calculates the equilibrium gas-particle partitioning for SOA species subroutine equilibrium(start_ind,N) ! subroutine equilibrium ! This routine was implemented by Manish Shrivastava on 12/24/2009 to do gas-particle partitioning of SOA assuming thermodynamic equilibrium. ! Modified by Alma Hodzic 12/2012 to implement the partitioning for mozart-mosaic species (based on the initial code implemented by Manish Shrivastava and originated from CAMx) ! This would give MOSAIC cpabilities of running both dynamic and equilibrium gas-particle partitioning ! Calls the subroutine soap. Subroutine soap calls subroutine spfcn ! use module_data_mosaic_main ! use module_data_mosaic_aero implicit none real(kind=8), parameter :: tinys=1.0d-15 integer, intent(in) :: start_ind, N ! integer, parameter :: N=ngas_soa !Total number of soa species integer, parameter :: itermax=2000 integer idxfresh(N),idxaged(N) !counter for fresh and aged soa species real(kind=8) :: dq,frqfresh(nbin_a),frqaged(nbin_a) real(kind=8) :: frqtotfresh,frqtotaged,frt real(kind=8) :: xsumfresh(nbin_a),xsumaged(nbin_a) real(kind=8) :: mnkfresh,mxkfresh,mnkaged,mxkaged real betak ! integer :: flagsoap(N) ! flagsoap determines if the species 'i' is fresh (flagsoap(i)=2) or aged(flagsoap(i)=1 real(kind=8) :: Csatfresh(N), Ctotfresh(N) real(kind=8) :: Cgasfresh(N),Caerfresh(N) ! Csat: Saturation conc., Ctot: Total organic mass ! in gas+aerosol phase, Cgas:gas phase, Caer: Particle real(kind=8) :: Csataged(N), Ctotaged(N) real(kind=8) :: Cgasaged(N),Caeraged(N) integer nsolfresh,nsolaged,ntrack,icontfresh,icontaged ! counters corresponding to fresh and aged species for mapping real(kind=8) :: cpxfresh,cpxaged !Moles of pre-existing fresh and aged particle phase organic mass integer ibin,iter ! Bin nos. ! local variables integer iv, jp real(kind=8) :: dum, sum_dum, sum_soa, small_oc ! real, parameter :: tolmin = 1.E-12^M ! real, parameter :: conmin = 1.E-20^M ! real totOA,minitw !total OA in particle phase^M real(kind=8) :: cpx !pre-existing OA umol/m3^M real(kind=8) :: Ctot(N),Caer(N),Cgas(N),Csat(N) real(kind=8) :: Paer(ngas_volatile) integer :: i ! LOGICAL check jp=jtotal iter=0 cpxaged=0.0 cpxfresh=0.0 ! Assume no pres-existing OA forms a solution nsolfresh=0 nsolaged=0 icontfresh=0 icontaged=0 dq=0.0 ! Paer holds the organic aerosol values in each volatility bin (sum of all size bins) do iv=1,ngas_volatile Paer(iv)=0.0 enddo ! Initialize flagsoap do i=1,N flagsoap(i)=1 Ctot(i) = 0.0 Ctotaged(i) = 0.0 Ctotfresh(i) = 0.0 Caer(i) = 0.0 Caeraged(i) = 0.0 Caerfresh(i) = 0.0 Cgas(i) = 0.0 Cgasaged(i) = 0.0 Cgasfresh(i) = 0.0 Csat(i) = 0.0 Csataged(i) = 0.0 Csatfresh(i) = 0.0 enddo ! Calculate Ctot and Paer ! do iv = ipcg1_b_c_g, ngas_volatile ! do iv = start_ind, ngas_ioa + ngas_soa do iv = start_ind, (start_ind + N - 1) total_species(iv) = gas(iv) do ibin = 1, nbin_a total_species(iv) = total_species(iv) + aer(iv,jtotal,ibin) Paer(iv)=Paer(iv)+aer(iv,jtotal,ibin) enddo enddo ! Calculate pre-existing moles of OA (cpx) as sum of all size bins do ibin=1,nbin_a cpxaged= cpxaged+aer(ioc_a,jp,ibin) enddo ! Maps arrays starting from start_ind or ipcg1_b_c_g on to corresponding arrays starting from 1 for just soa species do i=1,N Ctot(i)=total_species(start_ind+i-1) Caer(i)=Paer(start_ind+i-1) Csat(i)=sat_soa(start_ind+i-1) Cgas(i)=gas(start_ind+i-1) enddo ! Initialize mapping array indices do i=1,N idxfresh(i)=0 idxaged(i)=0 enddo ! Seperate the fresh and aged species and treat them as 2 different solutions. Note this approach differes from PMCAMx ! In PMCAMx if flagsoap(i) was set to zero those species were not considered solution forming. do i=1,N flagsoap(i)=1 ! Biomass burning(carbon and oxygen species) +traditional soa species enddo ! do i=1,9 ! flagsoap(i)=1 ! Biomass burning(carbon and oxygen species) +traditional soa species ! enddo ! do i=10,18 ! flagsoap(i)=1 ! Biomass burning(carbon and oxygen species) +traditional soa species ! enddo ! do i=19,26 ! flagsoap(i)=1 ! Biomass burning(carbon and oxygen species) +traditional soa species ! enddo ! do i=27,34 ! flagsoap(i)=1 ! Biomass burning(carbon and oxygen species) +traditional soa species ! enddo ! do i=35,43 ! flagsoap(i)=1 ! Biomass burning(carbon and oxygen species) +traditional soa species ! enddo ! do i=44,52 ! flagsoap(i)=1 ! Biomass burning(carbon and oxygen species) +traditional soa species ! enddo ! do i=53,60 ! flagsoap(i)=1 ! Biomass burning(carbon and oxygen species) +traditional soa species ! enddo ! do i=61,68 ! flagsoap(i)=1 ! Biomass burning(carbon and oxygen species) +traditional soa species ! enddo ! do i=69,84 ! flagsoap(i)=1 !Oxidized fossil oxygen ! enddo do i=1,N if (flagsoap(i).eq.2) then ! fresh primary species forming 1 solution icontfresh=icontfresh+1 ! count the number of fresh species idxfresh(icontfresh) = i !Map the species Csatfresh(icontfresh)=Csat(i) Ctotfresh(icontfresh)=Ctot(i) Caerfresh(icontfresh)=Caer(i) Cgasfresh(icontfresh)=Cgas(i) nsolfresh=nsolfresh+1 elseif (flagsoap(i).eq.1) then ! Aged SOA species forming another solution icontaged=icontaged+1 idxaged(icontaged) = i Csataged(icontaged)=Csat(i) Ctotaged(icontaged)=Ctot(i) Caeraged(icontaged)=Caer(i) Cgasaged(icontaged)=Cgas(i) nsolaged=nsolaged+1 endif enddo ! Caluclate the initial equilibrium partitioning by the bisection method (CMU PMCAMx approach) ! If all fresh abd aged species form a solution ! call soap(ngas_soa,Ctot,Csat,Caer,Cgas,cpx) ! if fresh and aged species form seperate solutions if (nsolfresh.gt.0) call soap(nsolfresh,Ctotfresh, & Csatfresh,Caerfresh,Cgasfresh,cpxfresh) if (nsolaged.gt.0) call soap(nsolaged,Ctotaged, & Csataged,Caeraged,Cgasaged,cpxaged) ! Map the fresh and aged species back into original arrays ! Now assign the equilibrium gas-particle partitioning arrays ntrack=0 do i=1,N ! Map the fresh and aged species back into array from 1 to N after calculating equilibrium if (idxfresh(i).gt.0) then Caer(idxfresh(i))= Caerfresh(i) Cgas(idxfresh(i))= Cgasfresh(i) Ctot(idxfresh(i))= Ctotfresh(i) ntrack=ntrack+1 endif if (idxaged(i).gt.0) then Caer(idxaged(i))= Caeraged(i) Cgas(idxaged(i))= Cgasaged(i) Ctot(idxaged(i))= Ctotaged(i) ntrack=ntrack+1 endif enddo ! Check for total number of species if (ntrack.ne.N) then print *, 'Error in mapping fresh and primary species arrays' stop endif ! From here on distribute the organic aerosol in size bins following Koo et al. 2003 " Integrated approaches to modeling ! the organic and inorganic atmospheric aerosol components" ! The original code from PMCAMx was modified to include 2 solutions for fresh and primary species ! by Manish Shrivastava on 01/11/2010 ! Calculate total organic aerosol OA(in nmoles/m3) in each bin for either of fresh and aged aerosols do ibin=1,nbin_a xsumfresh(ibin)=0.0 xsumaged(ibin)=0.0 xsumaged(ibin)= xsumaged(ibin)+aer(ioc_a,jp,ibin)!Caluclate pre-existing primary in each bin for aged aerosol ! do iv = start_ind, ngas_ioa + ngas_soa do iv = start_ind, (start_ind + N - 1) if (flagsoap(iv-start_ind+1).eq.2) then xsumfresh(ibin)= xsumfresh(ibin)+aer(iv,jtotal,ibin) elseif (flagsoap(iv-start_ind+1).eq.1) then xsumaged(ibin)= xsumaged(ibin)+aer(iv,jtotal,ibin) elseif (flagsoap(iv-start_ind+1).eq.0) then print *, 'Error in mapping flagsoap to start_ind' endif enddo ! do iv = ipcg1_b_c_g, ngas_volatile ! if (flagsoap(iv-ipcg1_b_c_g+1).eq.2) then ! xsumfresh(ibin)= xsumfresh(ibin)+aer(iv,jtotal,ibin) ! elseif (flagsoap(iv-ipcg1_b_c_g+1).eq.1) then ! xsumaged(ibin)= xsumaged(ibin)+aer(iv,jtotal,ibin) ! elseif (flagsoap(iv-ipcg1_b_c_g+1).eq.0) then ! print *, 'Error in mapping flagsoap to ipcg1_b_c_g' ! endif ! enddo ! Give a small non-zero value to xsum if it is zero in the section if (xsumfresh(ibin).eq.0.0) xsumfresh(ibin)=tinys if (xsumaged(ibin).eq.0.0) xsumaged(ibin)=tinys enddo ! Calculate dq as (gas concentration) G(t)-G(t+h): ! Caluclate driving force at previous time step (Cgas,i-XiCsati) for both fresh and aged solutions ! do iv = start_ind, ngas_ioa + ngas_soa do iv = start_ind, (start_ind + N - 1) if (Ctot(iv-start_ind+1).lt.1d-10) goto 120 ! If a given species concentration is too low skip dq=gas(iv)-Cgas(iv-start_ind+1) !Since both fresh and aged species have been remapped to an array going from 1 to N ! do iv = ipcg1_b_c_g, ngas_volatile ! if (Ctot(iv-ipcg1_b_c_g+1).lt.1d-10) goto 120 ! If a given species concentration is too low skip ! dq=gas(iv)-Cgas(iv-ipcg1_b_c_g+1) !Since both fresh and aged species have been remapped to an array going from 1 to N frqtotfresh=0.0d0 frqtotaged=0.0d0 mnkfresh=0.0d0 mnkaged=0.0d0 mxkfresh=0.0d0 mxkaged=0.0d0 do ibin=1,nbin_a ! fraceq(iv,ibin) is calculated as the rate of mass transfer ! The weighting fractions frqfresh(ibin) amd frqaged(ibin) are caluclated assuming mole fractions from previous time step ! This assumtion could be relaxed by iterativetely solving this equation if (flagsoap(iv-start_ind+1).eq.2) then frqfresh(ibin)= kg(iv,ibin)*(gas(iv) & ! replaced fraceq(iv,ibin) by kg(iv,ibin) on 01/19/10 -(aer(iv,jtotal,ibin))/xsumfresh(ibin) & *Csat(iv-start_ind+1)) endif if (flagsoap(iv-start_ind+1).eq.1) then frqaged(ibin)= kg(iv,ibin)*(gas(iv) & ! replaced fraceq(iv,ibin) by kg(iv,ibin) on 01/19/10 -(aer(iv,jtotal,ibin))/xsumaged(ibin) & *Csat(iv-start_ind+1)) endif ! if (flagsoap(iv-ipcg1_b_c_g+1).eq.2) then ! frqfresh(ibin)= kg(iv,ibin)*(gas(iv) & ! replaced fraceq(iv,ibin) by kg(iv,ibin) on 01/19/10 ! -(aer(iv,jtotal,ibin))/xsumfresh(ibin) & ! *Csat(iv-ipcg1_b_c_g+1)) ! endif ! ! if (flagsoap(iv-ipcg1_b_c_g+1).eq.1) then ! frqaged(ibin)= kg(iv,ibin)*(gas(iv) & ! replaced fraceq(iv,ibin) by kg(iv,ibin) on 01/19/10 ! -(aer(iv,jtotal,ibin))/xsumaged(ibin) & ! *Csat(iv-ipcg1_b_c_g+1)) ! endif mnkfresh=min(mnkfresh,frqfresh(ibin)) mnkaged=min(mnkaged,frqaged(ibin)) mxkfresh=max(mxkfresh,frqfresh(ibin)) mxkaged=max(mxkaged,frqaged(ibin)) enddo ! for ibin ! Repeat code from this point on for aged aerosol species if (flagsoap(iv-start_ind+1).eq.2) then ! if (flagsoap(iv-ipcg1_b_c_g+1).eq.2) then ! Condensation is favored in the next time step in this bin if(dq.gt.0.and.mnkfresh.lt.0.and.mxkfresh.gt.0) then do ibin=1,nbin_a frqfresh(ibin)=max(frqfresh(ibin)-mnkfresh,0.0d0) enddo ! evaporation is favored in the next time step in this bin elseif(dq.lt.0.and.mxkfresh.gt.0.and.mnkfresh.lt.0) then do ibin=1,nbin_a frqfresh(ibin)=min(frqfresh(ibin)-mxkfresh,0.0d0) enddo endif do ibin=1,nbin_a frqtotfresh=frqtotfresh+frqfresh(ibin) enddo ! Re-normalize frqfresh(ibin) ! Additional code to check for frqtotfresh and frqtotaged ! Added by Manish Shrivastava on 02/19/2010 do ibin=1,nbin_a frqfresh(ibin)=frqfresh(ibin)/frqtotfresh enddo elseif(flagsoap(iv-start_ind+1).eq.1) then ! elseif(flagsoap(iv-ipcg1_b_c_g+1).eq.1) then if(dq.gt.0.and.mnkaged.lt.0.and.mxkaged.gt.0) then do ibin=1,nbin_a frqaged(ibin)=max(frqaged(ibin)-mnkaged,0.0d0) enddo elseif(dq.lt.0.and.mxkaged.gt.0.and.mnkaged.lt.0) then do ibin=1,nbin_a frqaged(ibin)=min(frqaged(ibin)-mxkaged,0.0d0) enddo endif do ibin=1,nbin_a frqtotaged=frqtotaged+frqaged(ibin) enddo do ibin=1,nbin_a frqaged(ibin)=frqaged(ibin)/frqtotaged enddo endif ! for flagsoap ! Condense all condensing species if(dq.gt.0.0d0) then ! Map the species back into the original MOSAIC arrays do ibin=1,nbin_a if (flagsoap(iv-start_ind+1).eq.2) then aer(iv,jtotal,ibin)= aer(iv,jtotal,ibin)+dq*frqfresh(ibin) endif if (flagsoap(iv-start_ind+1).eq.1) then aer(iv,jtotal,ibin)= aer(iv,jtotal,ibin)+dq*frqaged(ibin) endif enddo ! Set the gas phase species to equilibrium value gas(iv)=Cgas(iv-start_ind+1) ! do ibin=1,nbin_a ! if (flagsoap(iv-ipcg1_b_c_g+1).eq.2) then ! aer(iv,jtotal,ibin)= aer(iv,jtotal,ibin)+dq*frqfresh(ibin) ! endif ! if (flagsoap(iv-ipcg1_b_c_g+1).eq.1) then ! aer(iv,jtotal,ibin)= aer(iv,jtotal,ibin)+dq*frqaged(ibin) ! endif ! enddo !! Set the gas phase species to equilibrium value ! gas(iv)=Cgas(iv-ipcg1_b_c_g+1) ! Evaporate all evaporating species elseif(dq.lt.0.0d0) then iter=0 100 frt=1.0d0 do ibin=1,nbin_a if (flagsoap(iv-start_ind+1).eq.2) then ! if (flagsoap(iv-ipcg1_b_c_g+1).eq.2) then ! Cannot evaporate more than whats in the bin ie ratio (aer(iv,jtotal,ibin)/dq*frqfresh(ibin)) should be less than equal to 1 if(frqfresh(ibin).gt.0.0d0) & frt=MAX(MIN(aer(iv,jtotal,ibin)/abs(-dq*frqfresh(ibin)),frt),0.0d0) ! elseif(flagsoap(iv-ipcg1_b_c_g+1).eq.1) then elseif(flagsoap(iv-start_ind+1).eq.1) then if(frqaged(ibin).gt.0.0d0) & frt=MAX(MIN(aer(iv,jtotal,ibin)/abs(-dq*frqaged(ibin)),frt),0.0d0) endif ! for flagsoap enddo ! for ibin frqtotfresh=0.0d0 frqtotaged=0.0d0 do ibin=1,nbin_a if (flagsoap(iv-start_ind+1).eq.2) then ! if (flagsoap(iv-ipcg1_b_c_g+1).eq.2) then aer(iv,jtotal,ibin)= & ! Since dq is negative this is evaporating aerosols MAX(aer(iv,jtotal,ibin)+frt*dq*frqfresh(ibin),0.0d0) if(aer(iv,jtotal,ibin).lt.tinys) frqfresh(ibin)=0.0d0 frqtotfresh=frqtotfresh+frqfresh(ibin) ! elseif (flagsoap(iv-ipcg1_b_c_g+1).eq.1) then elseif (flagsoap(iv-start_ind+1).eq.1) then aer(iv,jtotal,ibin)= & MAX(aer(iv,jtotal,ibin)+frt*dq*frqaged(ibin),0.0d0) if(aer(iv,jtotal,ibin).lt.tinys) frqaged(ibin)=0.0d0 frqtotaged=frqtotaged+frqaged(ibin) endif ! for flagsoap enddo ! for ibin ! Check if we should evaporate more dq=(1.0d0-frt)*dq ! if (flagsoap(iv-ipcg1_b_c_g+1).eq.2) then if (flagsoap(iv-start_ind+1).eq.2) then if(dq.lt.-1.d-8) then ! check if d-8 is better if(frqtotfresh.gt.tinys) then ! we have sections which are not empty if(iter.le.itermax) then ! check infinite loop iter = iter + 1 do ibin = 1,nbin_a frqfresh(ibin) = frqfresh(ibin) / frqtotfresh enddo ! for ibin goto 100 endif ! for iter endif ! frqtotfresh.gt.tinys endif ! dq.lt.-1.d-7 ! elseif (flagsoap(iv-ipcg1_b_c_g+1).eq.1) then elseif (flagsoap(iv-start_ind+1).eq.1) then if(dq.lt.-1.d-8) then if(frqtotaged.gt.tinys) then ! we have sections which are not empty if(iter.le.itermax) then ! check infinite loop iter = iter + 1 do ibin = 1,nbin_a frqaged(ibin) = frqaged(ibin) / frqtotaged enddo goto 100 endif endif endif ! we need to evaporate more to achieve equilibrium ! but we completely evaporated the species in all sections ! or exceeded itermax endif ! for flagsoap ! now set the gas species concentration conservatively ! gas(iv)=Ctot(iv-ipcg1_b_c_g+1) gas(iv)=Ctot(iv-start_ind+1) do ibin=1,nbin_a gas(iv)=gas(iv)-aer(iv,jtotal,ibin) enddo endif ! if dq.gt.0 120 continue enddo ! for iv=start_ind end subroutine equilibrium !--------------------------------- ! Calculates the equilibrium gas-particle partitioning for SOA species when MOZART_MOSAIC_4BIN_KPP is used ! This routine was modified by Alma Hodzic based on the initial code implemented by Manish Shrivastava and originated from CAMx !++ alma - removed the subroutine equilibrium_smp ! subroutine equilibrium_smp !.. ! end subroutine equilibrium_smp !-- ! This subroutine spfcn calculates the objective function fval to solve gas-particle partitioning of SOA ! Subroutine spfcn is called from within the subroutine soap subroutine spfcn(N,Ctot,Csat,Ca,cpx,tom,fval) ! use module_data_mosaic_main ! use module_data_mosaic_aero implicit none real(kind=8):: Ctot(N),Csat(N),Ca(N),tom,fval,cpx integer i,N fval=0.0 do i=1, N Ca(i)=Ctot(i)*tom/(tom+Csat(i)/1)! Replace the divisor 1 by Molecular Weights if the units for Csat(i) are ug/m3 or ng/m3 fval=fval+Ca(i)/1 ! The divisor is set to 1 as the species are in nmol/m3 enddo fval=fval+cpx-tom return end subroutine spfcn subroutine soap(N,Ctot,Csat,Ca,Cgas,cpx) ! SOAP calculates the gas-partitioning of SOA. Adapted from PMCAMx and uses the bisection approach. ! SOAP calls subroutine spfcn which calculates the objective function for solving gas-particle partitioning ! use module_data_mosaic_main ! use module_data_mosaic_aero real(kind=8), parameter :: xtol = 5.0e-5 real(kind=8):: Ctot(N),Csat(N),cpx,Ca(N),Cgas(N) real(kind=8):: xend,dx,xmid,fend,fmid,sun integer i,N,znum sun=0.0 do i=1,N if (Csat(i).gt.0) then sun=sun+Ctot(i)/Csat(i) !If a species does not exist its Csat is zero else endif enddo if(cpx.lt.1e-9.and.sun.le.1.0) then !if ctots for all species are less than corr. csats and cpre is negligible do i=1,N Cgas(i)=Ctot(i) Ca(i)=0.0 enddo goto 900 endif xend=0.0 do i=1, N xend=xend+Ctot(i)/1 ! Replace the divisor 1 by molecular weight if the units of Ctot(i) are in ng/m3 or ug/m3 enddo xend=xend+cpx ! total number of moles if (xend.gt.1e-10) then call spfcn(N,Ctot,Csat,Ca,cpx,xend,fend) ! Calculates the objective function else ! write (2,*) "Total no of moles less than 1e-10 bypassing soap" goto 100 endif if(abs(fend).le.xtol*xend) goto 99 ! Check for tolerance if (fend.gt.0.0) then ! The objective function is supposed to be less than equal to zero write (2,*) "Error in SOAP" goto 50 endif dx=xend-cpx do znum=1,200 dx=0.5*dx xmid=xend-dx ! Find the midpoint following the bisection approach call spfcn (N,Ctot,Csat,Ca,cpx,xmid,fmid) ! Re-calculate the objective function if(abs(fmid).le.xtol*xmid.or.dx.le.xtol*xmid) goto 100 ! converged if (fmid.lt.0.0) xend=xmid enddo write (2,*) "Error in SOAP" write (2,*) "Error: max number of iterations reached" 50 stop 99 xmid=xend 100 continue do i=1, N Ca(i)=min(Ctot(i), Ca(i)) Cgas(i)=Ctot(i)-Ca(i) enddo 900 continue ! write(2,*) xmid return end subroutine soap !*********************************************************************** ! part of ASTEM: integrates semi-volatile inorganic gases ! ! author: Rahul A. Zaveri ! update: jan 2007 !----------------------------------------------------------------------- subroutine ASTEM_semi_volatiles(dtchem) ! implicit none ! include 'chemistry.com' ! include 'mosaic.h' ! subr arguments real(kind=8) dtchem ! local variables integer ibin, iv, jp real(kind=8) dtmax, t_new, t_old, t_out, xt real(kind=8) sum1, sum2, sum3, sum4, sum4a, sum4b, h_flux_s ! initialize time t_old = 0.0 t_out = dtchem ! reset ASTEM time steps and MESA iterations counters to zero isteps_ASTEM = 0 do ibin = 1, nbin_a iter_MESA(ibin) = 0 enddo !-------------------------------- ! overall integration loop begins over dtchem seconds 10 isteps_ASTEM = isteps_ASTEM + 1 ! compute new fluxes phi_nh4no3_s = 0.0 phi_nh4cl_s = 0.0 ieqblm_ASTEM = mYES ! reset to default do 501 ibin = 1, nbin_a idry_case3a(ibin) = mNO ! reset to default ! default fluxes and other stuff do iv = 1, ngas_ioa sfc_a(iv) = gas(iv) df_gas_s(iv,ibin) = 0.0 df_gas_l(iv,ibin) = 0.0 flux_s(iv,ibin) = 0.0 flux_l(iv,ibin) = 0.0 Heff(iv,ibin) = 0.0 volatile_s(iv,ibin) = 0.0 phi_volatile_s(iv,ibin) = 0.0 phi_volatile_l(iv,ibin) = 0.0 integrate(iv,jsolid,ibin) = mNO ! reset to default integrate(iv,jliquid,ibin) = mNO ! reset to default enddo if(jaerosolstate(ibin) .eq. all_solid)then jphase(ibin) = jsolid call ASTEM_flux_dry(ibin) elseif(jaerosolstate(ibin) .eq. all_liquid)then jphase(ibin) = jliquid call ASTEM_flux_wet(ibin) elseif(jaerosolstate(ibin) .eq. mixed)then if( electrolyte(jnh4no3,jsolid,ibin).gt. 0.0 .or. & electrolyte(jnh4cl, jsolid,ibin).gt. 0.0 )then call ASTEM_flux_mix(ibin) ! jphase(ibin) will be determined in this subr. else jphase(ibin) = jliquid call ASTEM_flux_wet(ibin) endif endif 501 continue if(ieqblm_ASTEM .eq. mYES)goto 30 ! all bins have reached eqblm, so quit. !------------------------- ! calculate maximum possible internal time-step 11 call ASTEM_calculate_dtmax(dtchem, dtmax) t_new = t_old + dtmax ! update time if(t_new .gt. t_out)then ! check if the new time step is too large dtmax = t_out - t_old t_new = t_out*1.01 endif !------------------------------------------ ! do internal time-step (dtmax) integration do 20 iv = 2, 4 sum1 = 0.0 sum2 = 0.0 sum3 = 0.0 sum4 = 0.0 sum4a= 0.0 sum4b= 0.0 do 21 ibin = 1, nbin_a if(jaerosolstate(ibin) .eq. no_aerosol)goto 21 jp = jliquid sum1 = sum1 + aer(iv,jp,ibin)/ & (1. + dtmax*kg(iv,ibin)*Heff(iv,ibin)*integrate(iv,jp,ibin)) sum2 = sum2 + kg(iv,ibin)*integrate(iv,jp,ibin)/ & (1. + dtmax*kg(iv,ibin)*Heff(iv,ibin)*integrate(iv,jp,ibin)) jp = jsolid sum3 = sum3 + aer(iv,jp,ibin) if(flux_s(iv,ibin) .gt. 0.)then h_flux_s = dtmax*flux_s(iv,ibin) sum4a = sum4a + h_flux_s aer(iv,jp,ibin) = aer(iv,jp,ibin) + h_flux_s elseif(flux_s(iv,ibin) .lt. 0.)then h_flux_s = min(h_s_i_m(iv,ibin),dtmax)*flux_s(iv,ibin) sum4b = sum4b + h_flux_s aer(iv,jp,ibin) = aer(iv,jp,ibin) + h_flux_s aer(iv,jp,ibin) = max(aer(iv,jp,ibin), 0.0D0) endif 21 continue sum4 = sum4a + sum4b ! first update gas concentration gas(iv) = (total_species(iv) - (sum1 + sum3 + sum4) )/ & (1. + dtmax*sum2) gas(iv) = max(gas(iv), 0.0D0) ! if(gas(iv) .lt. 0.)write(6,*) gas(iv) ! now update aer concentration in the liquid phase do 22 ibin = 1, nbin_a if(integrate(iv,jliquid,ibin) .eq. mYES)then aer(iv,jliquid,ibin) = & (aer(iv,jliquid,ibin) + dtmax*kg(iv,ibin)*gas(iv))/ & (1. + dtmax*kg(iv,ibin)*Heff(iv,ibin)) endif 22 continue 20 continue !------------------------------------------ ! sub-step integration done !------------------------------------------ ! now update aer(jtotal) and update internal phase equilibrium ! also do integration of species by mass balance if necessary do 40 ibin = 1, nbin_a if(jaerosolstate(ibin) .eq. no_aerosol)goto 40 if(jphase(ibin) .eq. jsolid)then call form_electrolytes(jsolid,ibin,XT) ! degas excess nh3 (if present) elseif(jphase(ibin) .eq. jliquid)then call form_electrolytes(jliquid,ibin,XT) ! degas excess nh3 (if present) elseif(jphase(ibin) .eq. jtotal)then call form_electrolytes(jsolid,ibin,XT) ! degas excess nh3 (if present) call form_electrolytes(jliquid,ibin,XT) ! degas excess nh3 (if present) endif !======================== ! now update jtotal do iv = 2, ngas_ioa aer(iv,jtotal,ibin)=aer(iv,jsolid,ibin)+aer(iv,jliquid,ibin) enddo !======================== call form_electrolytes(jtotal,ibin,XT) ! for MDRH diagnosis ! update internal phase equilibrium if(jhyst_leg(ibin) .eq. jhyst_lo)then call ASTEM_update_phase_eqblm(ibin) else call do_full_deliquescence(ibin) ! simply do liquid <-- total endif 40 continue !------------------------------------------ ! update time t_old = t_new if(isteps_astem .ge. nmax_astem)then nastem_fail = nastem_fail + 1 !Luodebugwrite(6,*)'ASTEM internal steps exceeded', nmax_astem if(iprint_input .eq. mYES)then !write(67,*)'ASTEM internal steps exceeded', nmax_astem !call print_input iprint_input = mNO endif goto 30 elseif(t_new .lt. t_out)then goto 10 endif ! check if end of dtchem reached if(t_new .lt. 0.9999*t_out) goto 10 30 nsteps_astem = nsteps_astem + isteps_astem ! cumulative steps nsteps_astem_max = max(nsteps_astem_max, isteps_astem) ! max steps in a dtchem time-step !================================================ ! end of overall integration loop over dtchem seconds ! call subs to calculate fluxes over mixed-phase particles to update H+ ions, ! which were wiped off during update_phase_eqblm ! do ibin = 1, nbin_a ! ! if(jaerosolstate(ibin) .eq. mixed)then ! if( electrolyte(jnh4no3,jsolid,ibin).gt. 0.0 .or. & ! electrolyte(jnh4cl, jsolid,ibin).gt. 0.0 )then ! call ASTEM_flux_mix(ibin) ! jphase(ibin) will be determined in this subr. ! else ! jphase(ibin) = jliquid ! call ASTEM_flux_wet(ibin) ! endif ! endif ! ! enddo return end subroutine ASTEM_semi_volatiles !*********************************************************************** ! part of ASTEM: computes max time step for gas-aerosol integration ! ! author: Rahul A. Zaveri ! update: jan 2005 !----------------------------------------------------------------------- subroutine ASTEM_calculate_dtmax(dtchem, dtmax) use module_data_mosaic_other, only: lunerr ! implicit none ! include 'mosaic.h' ! subr arguments real(kind=8) dtchem, dtmax ! local variables integer ibin, iv real(kind=8) alpha, h_gas, h_sub_max, & h_gas_i(ngas_ioa), h_gas_l, h_gas_s, & sum_kg_phi, sumflux_s h_sub_max = 100.0 ! sec raz update 4/30/2007 ! gas-side ! solid-phase ! calculate h_gas_i and h_gas_l h_gas_s = 2.e16 do 5 iv = 2, ngas_ioa h_gas_i(iv) = 1.e16 sumflux_s = 0.0 do ibin = 1, nbin_a if(flux_s(iv,ibin) .gt. 0.0)then sumflux_s = sumflux_s + flux_s(iv,ibin) endif enddo if(sumflux_s .gt. 0.0)then h_gas_i(iv) = 0.1*gas(iv)/sumflux_s ! raz-30apr07 h_gas_s = min(h_gas_s, h_gas_i(iv)) endif 5 continue ! liquid-phase ! calculate h_gas_s and h_gas_l h_gas_l = 2.e16 do 6 iv = 2, ngas_ioa h_gas_i(iv) = 1.e16 sum_kg_phi = 0.0 do ibin = 1, nbin_a if(integrate(iv,jliquid,ibin) .eq. mYES)then sum_kg_phi = sum_kg_phi + & abs(phi_volatile_l(iv,ibin))*kg(iv,ibin) endif enddo if(sum_kg_phi .gt. 0.0)then h_gas_i(iv) = alpha_astem/sum_kg_phi h_gas_l = min(h_gas_l, h_gas_i(iv)) endif 6 continue h_gas = min(h_gas_s, h_gas_l) h_gas = min(h_gas, h_sub_max) ! aerosol-side: solid-phase ! first load volatile_solid array do ibin = 1, nbin_a volatile_s(ino3_a,ibin) = electrolyte(jnh4no3,jsolid,ibin) volatile_s(inh4_a,ibin) = electrolyte(jnh4cl,jsolid,ibin) + & electrolyte(jnh4no3,jsolid,ibin) if(idry_case3a(ibin) .eq. mYES)then volatile_s(icl_a,ibin) = aer(icl_a,jsolid,ibin) else volatile_s(icl_a,ibin) = electrolyte(jnh4cl,jsolid,ibin) endif enddo ! next calculate weighted avg_df_gas_s do iv = 2, ngas_ioa sum_bin_s(iv) = 0.0 sum_vdf_s(iv) = 0.0 sum_vol_s(iv) = 0.0 do ibin = 1, nbin_a if(flux_s(iv,ibin) .lt. 0.)then ! aer -> gas sum_bin_s(iv) = sum_bin_s(iv) + 1.0 sum_vdf_s(iv) = sum_vdf_s(iv) + & volatile_s(iv,ibin)*df_gas_s(iv,ibin) sum_vol_s(iv) = sum_vol_s(iv) + volatile_s(iv,ibin) endif enddo if(sum_vol_s(iv) .gt. 0.0)then avg_df_gas_s(iv) = sum_vdf_s(iv)/sum_vol_s(iv) else avg_df_gas_s(iv) = 1.0 ! never used, but set to 1.0 just to be safe endif enddo ! calculate h_s_i_m do 20 ibin = 1, nbin_a if(jaerosolstate(ibin) .eq. no_aerosol) goto 20 do 10 iv = 2, ngas_ioa if(flux_s(iv,ibin) .lt. 0.)then ! aer -> gas alpha = abs(avg_df_gas_s(iv))/ & (volatile_s(iv,ibin)*sum_bin_s(iv)) alpha = min(alpha, 1.0D0) if(idry_case3a(ibin) .eq. mYES)alpha = 1.0D0 h_s_i_m(iv,ibin) = & -alpha*volatile_s(iv,ibin)/flux_s(iv,ibin) endif 10 continue 20 continue dtmax = min(dtchem, h_gas) if(dtmax .eq. 0.0)then write(6,*)' dtmax = ', dtmax write(67,*)' dtmax = ', dtmax call print_input iprint_input = mNO endif return end subroutine astem_calculate_dtmax !*********************************************************************** ! part of ASTEM: updates solid-liquid partitioning after each gas-aerosol ! mass transfer step ! ! author: Rahul A. Zaveri ! update: jan 2005 !----------------------------------------------------------------------- subroutine ASTEM_update_phase_eqblm(ibin) ! TOUCH ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin ! local variables integer jdum, js, j_index, je ! raz update 11/13/2008 real(kind=8) XT, sum_dum ! raz update 11/13/2008 ! calculate percent composition ! raz update 11/13/2008 sum_dum = 0.0 do je = 1, nelectrolyte sum_dum = sum_dum + electrolyte(je,jtotal,ibin) enddo if(sum_dum .eq. 0.)sum_dum = 1.0 do je = 1, nelectrolyte epercent(je,jtotal,ibin) = 100.*electrolyte(je,jtotal,ibin)/sum_dum enddo ! calculate overall sulfate ratio call calculate_XT(ibin,jtotal,XT) ! calc updated XT ! now diagnose MDRH if(XT .lt. 1. .and. XT .gt. 0. )goto 10 ! excess sulfate domain - no MDRH exists jdum = 0 do js = 1, nsalt jsalt_present(js) = 0 ! default value - salt absent if(epercent(js,jtotal,ibin) .gt. ptol_mol_astem)then jsalt_present(js) = 1 ! salt present jdum = jdum + jsalt_index(js) endif enddo if(jdum .eq. 0)then jaerosolstate(ibin) = all_solid ! no significant soluble material present jphase(ibin) = jsolid call adjust_solid_aerosol(ibin) return endif if(XT .ge. 2.0 .or. XT .lt. 0.0)then j_index = jsulf_poor(jdum) else j_index = jsulf_rich(jdum) endif MDRH(ibin) = MDRH_T(j_index) if(aH2O*100. .lt. MDRH(ibin)) then jaerosolstate(ibin) = all_solid jphase(ibin) = jsolid call adjust_solid_aerosol(ibin) return endif ! none of the above means it must be sub-saturated or mixed-phase 10 if(jphase(ibin) .eq. jsolid)then call do_full_deliquescence(ibin) call MESA_PTC(ibin) else call MESA_PTC(ibin) endif return end subroutine ASTEM_update_phase_eqblm !================================================================== ! ! LIQUID PARTICLES ! !*********************************************************************** ! part of ASTEM: computes fluxes over wet aerosols ! ! author: Rahul A. Zaveri ! update: Jan 2007 !----------------------------------------------------------------------- subroutine ASTEM_flux_wet(ibin) use module_data_mosaic_other, only: lunerr ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin ! local variables integer iv, iadjust, iadjust_intermed real(kind=8) xt, g_nh3_hno3, g_nh3_hcl, a_nh4_no3, a_nh4_cl call ions_to_electrolytes(jliquid,ibin,XT) ! for water content calculation call compute_activities(ibin) if(water_a(ibin) .eq. 0.0)then write(6,*)'Water is zero in liquid phase' endif !------------------------------------------------------------------- ! CASE 1: caco3 > 0 absorb acids (and indirectly degas co2) if(electrolyte(jcaco3,jsolid,ibin) .gt. 0.0)then call ASTEM_flux_wet_case1(ibin) return endif !------------------------------------------------------------------- ! CASE 2: Sulfate-Rich Domain if(XT.lt.1.9999 .and. XT.ge.0.)then call ASTEM_flux_wet_case2(ibin) return endif !------------------------------------------------------------------- if( (gas(inh3_g)+aer(inh4_a,jliquid,ibin)) .lt. 1.e-25)goto 10 ! no ammonia in the system !------------------------------------------------------------------- ! CASE 3: nh4no3 and/or nh4cl maybe active ! do some small adjustments (if needed) before deciding case 3 iadjust = mNO ! default iadjust_intermed = mNO ! default ! nh4no3 g_nh3_hno3 = gas(inh3_g)*gas(ihno3_g) a_nh4_no3 = aer(inh4_a,jliquid,ibin)*aer(ino3_a,jliquid,ibin) if(g_nh3_hno3 .gt. 0. .and. a_nh4_no3 .eq. 0.)then call absorb_tiny_nh4no3(ibin) iadjust = mYES iadjust_intermed = mYES endif if(iadjust_intermed .eq. mYES)then call ions_to_electrolytes(jliquid,ibin,XT) ! update after adjustments iadjust_intermed = mNO ! reset endif ! nh4cl g_nh3_hcl = gas(inh3_g)*gas(ihcl_g) a_nh4_cl = aer(inh4_a,jliquid,ibin)*aer(icl_a,jliquid,ibin) if(g_nh3_hcl .gt. 0. .and. a_nh4_cl .eq. 0.)then call absorb_tiny_nh4cl(ibin) iadjust = mYES iadjust_intermed = mYES endif if(iadjust_intermed .eq. mYES)then call ions_to_electrolytes(jliquid,ibin,XT) ! update after adjustments endif if(iadjust .eq. mYES)then call compute_activities(ibin) ! update after adjustments endif ! all adjustments done... !-------- kelvin_nh4no3 = kel(inh3_g,ibin)*kel(ihno3_g,ibin) Keq_nh4no3 = kelvin_nh4no3*activity(jnh4no3,ibin)*Kp_nh4no3 ! = [NH3]s * [HNO3]s kelvin_nh4cl = kel(inh3_g,ibin)*kel(ihcl_g,ibin) Keq_nh4cl = kelvin_nh4cl*activity(jnh4cl,ibin)*Kp_nh4cl ! = [NH3]s * [HCl]s call ASTEM_flux_wet_case3(ibin) return !------------------------------------------------------------------- ! CASE 4: ammonia = 0. hno3 and hcl exchange may happen here ! do small adjustments (if needed) before deciding case 4 10 iadjust = mNO ! default iadjust_intermed = mNO ! default ! hno3 if(gas(ihno3_g).gt.0. .and. aer(ino3_a,jliquid,ibin).eq.0. .and. & aer(icl_a,jliquid,ibin) .gt. 0.0)then call absorb_tiny_hno3(ibin) ! and degas tiny hcl iadjust = mYES iadjust_intermed = mYES endif if(iadjust_intermed .eq. mYES)then call ions_to_electrolytes(jliquid,ibin,XT) ! update after adjustments iadjust_intermed = mNO ! reset endif ! hcl if(gas(ihcl_g).gt.0. .and. aer(icl_a,jliquid,ibin).eq.0. .and. & aer(ino3_a,jliquid,ibin) .gt. 0.0)then call absorb_tiny_hcl(ibin) ! and degas tiny hno3 iadjust = mYES iadjust_intermed = mYES endif if(iadjust_intermed .eq. mYES)then call ions_to_electrolytes(jliquid,ibin,XT) ! update after adjustments endif if(iadjust .eq. mYES)then call compute_activities(ibin) ! update after adjustments endif ! all adjustments done... call ASTEM_flux_wet_case4(ibin) return end subroutine ASTEM_flux_wet !*********************************************************************** ! part of ASTEM: subroutines for flux_wet cases ! ! author: Rahul A. Zaveri ! update: Jan 2007 !----------------------------------------------------------------------- ! CASE 1: CaCO3 > 0 absorb all acids (and indirectly degas co2) subroutine ASTEM_flux_wet_case1(ibin) ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin ! local variables integer iv mc(jc_h,ibin) = sqrt(Keq_ll(3)) ! same as dry case1 if(gas(ihno3_g) .gt. 1.e-5)then sfc_a(ihno3_g) = 0.0 df_gas_s(ihno3_g,ibin) = gas(ihno3_g) phi_volatile_s(ihno3_g,ibin) = 1.0 flux_s(ihno3_g,ibin) = kg(ihno3_g,ibin)*df_gas_s(ihno3_g,ibin) integrate(ihno3_g,jsolid,ibin) = mYES jphase(ibin) = jsolid ieqblm_ASTEM = mNO endif if(gas(ihcl_g) .gt. 1.e-5)then sfc_a(ihcl_g) = 0.0 df_gas_s(ihcl_g,ibin) = gas(ihcl_g) phi_volatile_s(ihcl_g,ibin) = 1.0 flux_s(ihcl_g,ibin) = kg(ihcl_g,ibin)*df_gas_s(ihcl_g,ibin) integrate(ihcl_g,jsolid,ibin) = mYES jphase(ibin) = jsolid ieqblm_ASTEM = mNO endif return end subroutine ASTEM_flux_wet_case1 !-------------------------------------------------------------------- ! CASE 2: Sulfate-Rich Domain subroutine ASTEM_flux_wet_case2(ibin) ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin ! local variables real(kind=8) dum_hno3, dum_hcl, dum_nh3 sfc_a(inh3_g) = kel(inh3_g,ibin)* & gam_ratio(ibin)*mc(jc_nh4,ibin)*Keq_ll(3)/ & (mc(jc_h,ibin)*Keq_ll(2)*Keq_gl(2)) sfc_a(ihno3_g) = kel(ihno3_g,ibin)* & mc(jc_h,ibin)*ma(ja_no3,ibin)*gam(jhno3,ibin)**2/ & Keq_gl(3) sfc_a(ihcl_g) = kel(ihcl_g,ibin)* & mc(jc_h,ibin)*ma(ja_cl,ibin)*gam(jhcl,ibin)**2/ & Keq_gl(4) dum_hno3 = max(sfc_a(ihno3_g), gas(ihno3_g)) dum_hcl = max(sfc_a(ihcl_g), gas(ihcl_g)) dum_nh3 = max(sfc_a(inh3_g), gas(inh3_g)) ! compute relative driving forces if(dum_hno3 .gt. 0.0)then df_gas_l(ihno3_g,ibin) = gas(ihno3_g) - sfc_a(ihno3_g) phi_volatile_l(ihno3_g,ibin)= df_gas_l(ihno3_g,ibin)/dum_hno3 else phi_volatile_l(ihno3_g,ibin)= 0.0 endif if(dum_hcl .gt. 0.0)then df_gas_l(ihcl_g,ibin) = gas(ihcl_g) - sfc_a(ihcl_g) phi_volatile_l(ihcl_g,ibin) = df_gas_l(ihcl_g,ibin)/dum_hcl else phi_volatile_l(ihcl_g,ibin) = 0.0 endif if(dum_nh3 .gt. 0.0)then df_gas_l(inh3_g,ibin) = gas(inh3_g) - sfc_a(inh3_g) phi_volatile_l(inh3_g,ibin) = df_gas_l(inh3_g,ibin)/dum_nh3 else phi_volatile_l(inh3_g,ibin) = 0.0 endif if(phi_volatile_l(ihno3_g,ibin) .le. rtol_eqb_astem .and. & phi_volatile_l(ihcl_g,ibin) .le. rtol_eqb_astem .and. & phi_volatile_l(inh3_g,ibin) .le. rtol_eqb_astem)then return endif ! compute Heff if(dum_hno3 .gt. 0.0)then Heff(ihno3_g,ibin)= & kel(ihno3_g,ibin)*gam(jhno3,ibin)**2*mc(jc_h,ibin)*1.e-9/ & (water_a(ibin)*Keq_gl(3)) integrate(ihno3_g,jliquid,ibin)= mYES ieqblm_ASTEM = mNO endif if(dum_hcl .gt. 0.0)then Heff(ihcl_g,ibin)= & kel(ihcl_g,ibin)*gam(jhcl,ibin)**2*mc(jc_h,ibin)*1.e-9/ & (water_a(ibin)*Keq_gl(4)) integrate(ihcl_g,jliquid,ibin) = mYES ieqblm_ASTEM = mNO endif if(dum_nh3 .gt. 0.0)then Heff(inh3_g,ibin) = & kel(inh3_g,ibin)*gam_ratio(ibin)*1.e-9*Keq_ll(3)/ & (water_a(ibin)*mc(jc_h,ibin)*Keq_ll(2)*Keq_gl(2)) integrate(inh3_g,jliquid,ibin) = mYES ieqblm_ASTEM = mNO endif return end subroutine ASTEM_flux_wet_case2 !--------------------------------------------------------------------- ! CASE 3: nh4no3 and/or nh4cl may be active subroutine ASTEM_flux_wet_case3(ibin) ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin ! local variables real(kind=8) a, b, c, dum_hno3, dum_hcl, dum_nh3 ! function ! real(kind=8) quadratic a = kg(inh3_g,ibin) b = - kg(inh3_g,ibin)*gas(inh3_g) & + kg(ihno3_g,ibin)*gas(ihno3_g) & + kg(ihcl_g,ibin)*gas(ihcl_g) c = -(kg(ihno3_g,ibin)*Keq_nh4no3 + kg(ihcl_g,ibin)*Keq_nh4cl) sfc_a(inh3_g) = quadratic(a,b,c) sfc_a(ihno3_g) = Keq_nh4no3/max(sfc_a(inh3_g),1.D-20) sfc_a(ihcl_g) = Keq_nh4cl/max(sfc_a(inh3_g),1.D-20) ! diagnose mH+ if(sfc_a(ihno3_g).gt.0.0 .and. ma(ja_no3,ibin).gt.0.0)then mc(jc_h,ibin) = Keq_gl(3)*sfc_a(ihno3_g)/ & (kel(ihno3_g,ibin)*gam(jhno3,ibin)**2 * ma(ja_no3,ibin)) elseif(sfc_a(ihcl_g).gt.0.0 .and. ma(ja_cl,ibin).gt.0.0)then mc(jc_h,ibin) = Keq_gl(4)*sfc_a(ihcl_g)/ & (kel(ihcl_g,ibin)*gam(jhcl,ibin)**2 * ma(ja_cl,ibin)) else call equilibrate_acids(ibin) ! hno3 and/or hcl may be > 0 in the gas phase mc(jc_h,ibin) = max(mc(jc_h,ibin), sqrt(Keq_ll(3))) sfc_a(inh3_g) = kel(inh3_g,ibin)* & gam_ratio(ibin)*mc(jc_nh4,ibin)*Keq_ll(3)/ & (mc(jc_h,ibin)*Keq_ll(2)*Keq_gl(2)) sfc_a(ihno3_g) = kel(ihno3_g,ibin)* & mc(jc_h,ibin)*ma(ja_no3,ibin)*gam(jhno3,ibin)**2/ & Keq_gl(3) sfc_a(ihcl_g) = kel(ihcl_g,ibin)* & mc(jc_h,ibin)*ma(ja_cl,ibin)*gam(jhcl,ibin)**2/ & Keq_gl(4) endif dum_hno3 = max(sfc_a(ihno3_g), gas(ihno3_g)) dum_hcl = max(sfc_a(ihcl_g), gas(ihcl_g)) dum_nh3 = max(sfc_a(inh3_g), gas(inh3_g)) ! compute relative driving forces if(dum_hno3 .gt. 0.0)then df_gas_l(ihno3_g,ibin) = gas(ihno3_g) - sfc_a(ihno3_g) phi_volatile_l(ihno3_g,ibin)= df_gas_l(ihno3_g,ibin)/dum_hno3 else phi_volatile_l(ihno3_g,ibin)= 0.0 endif if(dum_hcl .gt. 0.0)then df_gas_l(ihcl_g,ibin) = gas(ihcl_g) - sfc_a(ihcl_g) phi_volatile_l(ihcl_g,ibin) = df_gas_l(ihcl_g,ibin)/dum_hcl else phi_volatile_l(ihcl_g,ibin) = 0.0 endif if(dum_nh3 .gt. 0.0)then df_gas_l(inh3_g,ibin) = gas(inh3_g) - sfc_a(inh3_g) phi_volatile_l(inh3_g,ibin) = df_gas_l(inh3_g,ibin)/dum_nh3 else phi_volatile_l(inh3_g,ibin) = 0.0 endif if(phi_volatile_l(ihno3_g,ibin) .le. rtol_eqb_astem .and. & phi_volatile_l(ihcl_g,ibin) .le. rtol_eqb_astem .and. & phi_volatile_l(inh3_g,ibin) .le. rtol_eqb_astem)then return endif ! compute Heff if(dum_hno3 .gt. 0.0)then Heff(ihno3_g,ibin)= & kel(ihno3_g,ibin)*gam(jhno3,ibin)**2*mc(jc_h,ibin)*1.e-9/ & (water_a(ibin)*Keq_gl(3)) integrate(ihno3_g,jliquid,ibin)= mYES ieqblm_ASTEM = mNO endif if(dum_hcl .gt. 0.0)then Heff(ihcl_g,ibin)= & kel(ihcl_g,ibin)*gam(jhcl,ibin)**2*mc(jc_h,ibin)*1.e-9/ & (water_a(ibin)*Keq_gl(4)) integrate(ihcl_g,jliquid,ibin) = mYES ieqblm_ASTEM = mNO endif if(dum_nh3 .gt. 0.0)then Heff(inh3_g,ibin) = & kel(inh3_g,ibin)*gam_ratio(ibin)*1.e-9*Keq_ll(3)/ & (water_a(ibin)*mc(jc_h,ibin)*Keq_ll(2)*Keq_gl(2)) integrate(inh3_g,jliquid,ibin) = mYES ieqblm_ASTEM = mNO endif return end subroutine ASTEM_flux_wet_case3 !-------------------------------------------------------------------- ! CASE 3a: only NH4NO3 (aq) active subroutine ASTEM_flux_wet_case3a(ibin) ! NH4NO3 (aq) ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin ! local variables real(kind=8) a, b, c, dum_hno3, dum_nh3 ! function ! real(kind=8) quadratic a = kg(inh3_g,ibin) b = - kg(inh3_g,ibin)*gas(inh3_g) & + kg(ihno3_g,ibin)*gas(ihno3_g) c = -(kg(ihno3_g,ibin)*Keq_nh4no3) sfc_a(inh3_g) = quadratic(a,b,c) sfc_a(ihno3_g) = Keq_nh4no3/sfc_a(inh3_g) ! diagnose mH+ if(sfc_a(ihno3_g).gt.0.0 .and. ma(ja_no3,ibin).gt.0.0)then mc(jc_h,ibin) = Keq_gl(3)*sfc_a(ihno3_g)/ & (kel(ihno3_g,ibin)*gam(jhno3,ibin)**2 * ma(ja_no3,ibin)) else mc(jc_h,ibin) = sqrt(Keq_ll(3)) endif ! compute Heff dum_hno3 = max(sfc_a(ihno3_g), gas(ihno3_g)) dum_nh3 = max(sfc_a(inh3_g), gas(inh3_g)) ! compute relative driving forces if(dum_hno3 .gt. 0.0)then df_gas_l(ihno3_g,ibin) = gas(ihno3_g) - sfc_a(ihno3_g) phi_volatile_l(ihno3_g,ibin)= df_gas_l(ihno3_g,ibin)/dum_hno3 else phi_volatile_l(ihno3_g,ibin)= 0.0 endif if(dum_nh3 .gt. 0.0)then df_gas_l(inh3_g,ibin) = gas(inh3_g) - sfc_a(inh3_g) phi_volatile_l(inh3_g,ibin) = df_gas_l(inh3_g,ibin)/dum_nh3 else phi_volatile_l(inh3_g,ibin) = 0.0 endif if(phi_volatile_l(ihno3_g,ibin) .le. rtol_eqb_astem .and. & phi_volatile_l(inh3_g,ibin) .le. rtol_eqb_astem)then return endif ! compute Heff Heff(ihno3_g,ibin)= & kel(ihno3_g,ibin)*gam(jhno3,ibin)**2*mc(jc_h,ibin)*1.e-9/ & (water_a(ibin)*Keq_gl(3)) integrate(ihno3_g,jliquid,ibin)= mYES Heff(inh3_g,ibin) = & kel(inh3_g,ibin)*gam_ratio(ibin)*1.e-9*Keq_ll(3)/ & (water_a(ibin)*mc(jc_h,ibin)*Keq_ll(2)*Keq_gl(2)) integrate(inh3_g,jliquid,ibin) = mYES ieqblm_ASTEM = mNO return end subroutine ASTEM_flux_wet_case3a !-------------------------------------------------------------------- ! CASE 3b: only NH4Cl (aq) active subroutine ASTEM_flux_wet_case3b(ibin) ! NH4Cl (aq) ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin ! local variables real(kind=8) a, b, c, dum_hcl, dum_nh3 ! function ! real(kind=8) quadratic a = kg(inh3_g,ibin) b = - kg(inh3_g,ibin)*gas(inh3_g) & + kg(ihcl_g,ibin)*gas(ihcl_g) c = -(kg(ihcl_g,ibin)*Keq_nh4cl) sfc_a(inh3_g) = quadratic(a,b,c) sfc_a(ihcl_g) = Keq_nh4cl /sfc_a(inh3_g) ! diagnose mH+ if(sfc_a(ihcl_g).gt.0.0 .and. ma(ja_cl,ibin).gt.0.0)then mc(jc_h,ibin) = Keq_gl(4)*sfc_a(ihcl_g)/ & (kel(ihcl_g,ibin)*gam(jhcl,ibin)**2 * ma(ja_cl,ibin)) else mc(jc_h,ibin) = sqrt(Keq_ll(3)) endif ! compute Heff dum_hcl = max(sfc_a(ihcl_g), gas(ihcl_g)) dum_nh3 = max(sfc_a(inh3_g), gas(inh3_g)) ! compute relative driving forces if(dum_hcl .gt. 0.0)then df_gas_l(ihcl_g,ibin) = gas(ihcl_g) - sfc_a(ihcl_g) phi_volatile_l(ihcl_g,ibin) = df_gas_l(ihcl_g,ibin)/dum_hcl else phi_volatile_l(ihcl_g,ibin) = 0.0 endif if(dum_nh3 .gt. 0.0)then df_gas_l(inh3_g,ibin) = gas(inh3_g) - sfc_a(inh3_g) phi_volatile_l(inh3_g,ibin) = df_gas_l(inh3_g,ibin)/dum_nh3 else phi_volatile_l(inh3_g,ibin) = 0.0 endif if(phi_volatile_l(ihcl_g,ibin) .le. rtol_eqb_astem .and. & phi_volatile_l(inh3_g,ibin) .le. rtol_eqb_astem)then return endif ! compute Heff Heff(ihcl_g,ibin)= & kel(ihcl_g,ibin)*gam(jhcl,ibin)**2*mc(jc_h,ibin)*1.e-9/ & (water_a(ibin)*Keq_gl(4)) integrate(ihcl_g,jliquid,ibin) = mYES Heff(inh3_g,ibin) = & kel(inh3_g,ibin)*gam_ratio(ibin)*1.e-9*Keq_ll(3)/ & (water_a(ibin)*mc(jc_h,ibin)*Keq_ll(2)*Keq_gl(2)) integrate(inh3_g,jliquid,ibin) = mYES ieqblm_ASTEM = mNO return end subroutine ASTEM_flux_wet_case3b !----------------------------------------------------------------------- ! CASE 4: NH3 = 0 (in gas and aerosol). hno3 and hcl exchange may happen here subroutine ASTEM_flux_wet_case4(ibin) ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin ! local variables real(kind=8) dum_numer, dum_denom, gas_eqb_ratio, dum_hno3, dum_hcl dum_numer = kel(ihno3_g,ibin)*Keq_gl(4)*ma(ja_no3,ibin)* & gam(jhno3,ibin)**2 dum_denom = kel(ihcl_g,ibin)*Keq_gl(3)*ma(ja_cl ,ibin)* & gam(jhcl,ibin)**2 if(dum_denom .eq. 0.0 .or. dum_numer .eq. 0.0)then mc(jc_h,ibin) = sqrt(Keq_ll(3)) return endif gas_eqb_ratio = dum_numer/dum_denom ! Ce,hno3/Ce,hcl ! compute equilibrium surface concentrations sfc_a(ihcl_g) = & ( kg(ihno3_g,ibin)*gas(ihno3_g)+kg(ihcl_g,ibin)*gas(ihcl_g) )/ & ( kg(ihcl_g,ibin) + gas_eqb_ratio*kg(ihno3_g,ibin) ) sfc_a(ihno3_g)= gas_eqb_ratio*sfc_a(ihcl_g) ! diagnose mH+ if(sfc_a(ihno3_g).gt.0.0 .and. ma(ja_no3,ibin).gt.0.0)then mc(jc_h,ibin) = Keq_gl(3)*sfc_a(ihno3_g)/ & (kel(ihno3_g,ibin)*gam(jhno3,ibin)**2 * ma(ja_no3,ibin)) elseif(sfc_a(ihcl_g).gt.0.0 .and. ma(ja_cl,ibin).gt.0.0)then mc(jc_h,ibin) = Keq_gl(4)*sfc_a(ihcl_g)/ & (kel(ihcl_g,ibin)*gam(jhcl,ibin)**2 * ma(ja_cl,ibin)) else mc(jc_h,ibin) = sqrt(Keq_ll(3)) endif ! compute Heff dum_hno3 = max(sfc_a(ihno3_g), gas(ihno3_g)) ! raz-30apr07 dum_hcl = max(sfc_a(ihcl_g), gas(ihcl_g)) ! raz-30apr07 ! compute relative driving forces if(dum_hno3 .gt. 0.0)then df_gas_l(ihno3_g,ibin) = gas(ihno3_g) - sfc_a(ihno3_g) phi_volatile_l(ihno3_g,ibin)= df_gas_l(ihno3_g,ibin)/dum_hno3 else phi_volatile_l(ihno3_g,ibin)= 0.0 endif if(dum_hcl .gt. 0.0)then df_gas_l(ihcl_g,ibin) = gas(ihcl_g) - sfc_a(ihcl_g) phi_volatile_l(ihcl_g,ibin)= df_gas_l(ihcl_g,ibin)/dum_hcl else phi_volatile_l(ihcl_g,ibin)= 0.0 endif if(phi_volatile_l(ihno3_g,ibin) .le. rtol_eqb_astem .and. & phi_volatile_l(ihcl_g,ibin) .le. rtol_eqb_astem)then return endif ! compute Heff Heff(ihno3_g,ibin)= & kel(ihno3_g,ibin)*gam(jhno3,ibin)**2*mc(jc_h,ibin)*1.e-9/ & (water_a(ibin)*Keq_gl(3)) integrate(ihno3_g,jliquid,ibin)= mYES Heff(ihcl_g,ibin)= & kel(ihcl_g,ibin)*gam(jhcl,ibin)**2*mc(jc_h,ibin)*1.e-9/ & (water_a(ibin)*Keq_gl(4)) integrate(ihcl_g,jliquid,ibin) = mYES ieqblm_ASTEM = mNO return end subroutine ASTEM_flux_wet_case4 !=========================================================== ! ! DRY PARTICLES ! !=========================================================== !*********************************************************************** ! part of ASTEM: computes gas-aerosol fluxes over dry aerosols ! ! author: Rahul A. Zaveri ! update: dec 2006 !----------------------------------------------------------------------- subroutine ASTEM_flux_dry(ibin) ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin ! local variables integer iv real(kind=8) XT, prod_nh4no3, prod_nh4cl, volatile_cl call calculate_XT(ibin,jsolid,XT) !----------------------------------------------------------------- ! CASE 1: caco3 > 0 absorb all acids (and indirectly degas co2) if(electrolyte(jcaco3,jsolid,ibin) .gt. 0.0)then call ASTEM_flux_dry_case1(ibin) return endif !----------------------------------------------------------------- ! CASE 2: Sulfate-Rich Domain if(XT.lt.1.9999 .and. XT.ge.0.)then ! excess sulfate (acidic) call ASTEM_flux_dry_case2(ibin) return endif !------------------------------------------------------------------- ! CASE 3: hno3 and hcl exchange may happen here and nh4cl may form/evaporate volatile_cl = electrolyte(jnacl,jsolid,ibin) + & electrolyte(jcacl2,jsolid,ibin) if(volatile_cl .gt. 0.0 .and. gas(ihno3_g).gt. 0.0 )then call ASTEM_flux_dry_case3a(ibin) Keq_nh4cl_0 = min(Kp_nh4cl_0, Keq_sg(2)) ! raz update 6/25/2008 prod_nh4cl = max( (gas(inh3_g)*gas(ihcl_g)-Keq_nh4cl_0), 0.0d0) + & electrolyte(jnh4cl, jsolid,ibin) ! raz update 6/25/2008 if(prod_nh4cl .gt. 0.0)then call ASTEM_flux_dry_case3b(ibin) endif return endif !----------------------------------------------------------------- ! CASE 4: nh4no3 or nh4cl or both may be active Keq_nh4no3_0 = min(Kp_nh4no3_0, Keq_sg(1)) ! raz update 6/25/2008 Keq_nh4cl_0 = min(Kp_nh4cl_0, Keq_sg(2)) ! raz update 6/25/2008 prod_nh4no3 = max( (gas(inh3_g)*gas(ihno3_g)-Keq_nh4no3_0), 0.0d0) + & electrolyte(jnh4no3,jsolid,ibin) ! raz update 6/25/2008 prod_nh4cl = max( (gas(inh3_g)*gas(ihcl_g) -Keq_nh4cl_0), 0.0d0) + & electrolyte(jnh4cl, jsolid,ibin) ! raz update 6/25/2008 if(prod_nh4no3 .gt. 0.0 .or. prod_nh4cl .gt. 0.0)then call ASTEM_flux_dry_case4(ibin) return endif !----------------------------------------------------------------- return end subroutine ASTEM_flux_dry !---------------------------------------------------------------------- !*********************************************************************** ! part of ASTEM: subroutines for flux_dry cases ! ! author: Rahul A. Zaveri ! update: dec 2006 !----------------------------------------------------------------------- ! CASE 1: caco3 > 0 absorb all acids (and indirectly degas co2) subroutine ASTEM_flux_dry_case1(ibin) ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin if(gas(ihno3_g) .gt. 1.e-5)then sfc_a(ihno3_g) = 0.0 df_gas_s(ihno3_g,ibin) = gas(ihno3_g) phi_volatile_s(ihno3_g,ibin) = 1.0 flux_s(ihno3_g,ibin) = kg(ihno3_g,ibin)*df_gas_s(ihno3_g,ibin) integrate(ihno3_g,jsolid,ibin) = mYES ieqblm_ASTEM = mNO endif if(gas(ihcl_g) .gt. 1.e-5)then sfc_a(ihcl_g) = 0.0 df_gas_s(ihcl_g,ibin) = gas(ihcl_g) phi_volatile_s(ihcl_g,ibin) = 1.0 flux_s(ihcl_g,ibin) = kg(ihcl_g,ibin)*df_gas_s(ihcl_g,ibin) integrate(ihcl_g,jsolid,ibin) = mYES ieqblm_ASTEM = mNO endif return end subroutine ASTEM_flux_dry_case1 !--------------------------------------------------------------------- ! CASE 2: Sulfate-Rich Domain subroutine ASTEM_flux_dry_case2(ibin) ! TOUCH ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin if(gas(inh3_g).gt.1.e-5)then sfc_a(inh3_g) = 0.0 df_gas_s(inh3_g,ibin) = gas(inh3_g) phi_volatile_s(inh3_g,ibin) = 1.0 flux_s(inh3_g,ibin) = kg(inh3_g,ibin)*gas(inh3_g) integrate(inh3_g,jsolid,ibin) = mYES ieqblm_ASTEM = mNO endif return end subroutine ASTEM_flux_dry_case2 !--------------------------------------------------------------------- ! CASE 3a: degas hcl from nacl or cacl2 by flux_s balance with hno3 subroutine ASTEM_flux_dry_case3a(ibin) ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin if(gas(ihno3_g) .gt. 1.e-5)then sfc_a(ihno3_g) = 0.0 sfc_a(ihcl_g) = gas(ihcl_g) + aer(icl_a,jsolid,ibin) df_gas_s(ihno3_g,ibin) = gas(ihno3_g) df_gas_s(ihcl_g,ibin) = -aer(icl_a,jsolid,ibin) flux_s(ihno3_g,ibin) = kg(ihno3_g,ibin)*gas(ihno3_g) flux_s(ihcl_g,ibin) = -flux_s(ihno3_g,ibin) phi_volatile_s(ihno3_g,ibin) = 1.0 phi_volatile_s(ihcl_g,ibin)=df_gas_s(ihcl_g,ibin)/sfc_a(ihcl_g) integrate(ihno3_g,jsolid,ibin) = mYES integrate(ihcl_g,jsolid,ibin) = mYES idry_case3a(ibin) = mYES ieqblm_ASTEM = mNO endif return end subroutine ASTEM_flux_dry_case3a !--------------------------------------------------------------------- ! CASE 3b: nh4cl may form/evaporate here subroutine ASTEM_flux_dry_case3b(ibin) ! TOUCH ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin ! local variables integer iactive_nh4cl, js ! raz update 11/13/2008 real(kind=8) a, b, c, sum_dum ! raz update 11/13/2008 ! function ! real(kind=8) quadratic ! calculate percent composition ! raz update 11/13/2008 sum_dum = 0.0 do js = 1, nsalt sum_dum = sum_dum + electrolyte(js,jsolid,ibin) enddo if(sum_dum .eq. 0.)sum_dum = 1.0 epercent(jnh4cl,jsolid,ibin) = 100.*electrolyte(jnh4cl,jsolid,ibin)/sum_dum !------------------- ! set default values for flags iactive_nh4cl = 1 ! compute relative driving force phi_nh4cl_s = (gas(inh3_g)*gas(ihcl_g) - Keq_sg(2))/ & max(gas(inh3_g)*gas(ihcl_g),Keq_sg(2)) !------------------- ! now determine if nh4cl is active or significant ! nh4cl if( abs(phi_nh4cl_s) .lt. rtol_eqb_ASTEM )then iactive_nh4cl = 0 elseif(gas(inh3_g)*gas(ihcl_g) .lt. Keq_sg(2) .and. & epercent(jnh4cl, jsolid,ibin) .le. ptol_mol_ASTEM)then iactive_nh4cl = 0 if(epercent(jnh4cl, jsolid,ibin) .gt. 0.0)then call degas_solid_nh4cl(ibin) endif endif ! check the outcome if(iactive_nh4cl .eq. 0)return !----------------- ! nh4cl is active a = kg(inh3_g,ibin) b = - kg(inh3_g,ibin)*gas(inh3_g) & + kg(ihcl_g,ibin)*gas(ihcl_g) c = -(kg(ihcl_g,ibin)*Keq_sg(2)) sfc_a(inh3_g) = quadratic(a,b,c) sfc_a(ihcl_g) = Keq_sg(2)/sfc_a(inh3_g) df_gas_s(ihcl_g,ibin) = gas(ihcl_g) - sfc_a(ihcl_g) df_gas_s(inh3_g,ibin) = gas(inh3_g) - sfc_a(inh3_g) flux_s(inh3_g,ibin) = kg(inh3_g,ibin)*df_gas_s(inh3_g,ibin) flux_s(ihcl_g,ibin) = flux_s(ihcl_g,ibin) + flux_s(inh3_g,ibin) phi_volatile_s(inh3_g,ibin) = phi_nh4cl_s if(flux_s(ihcl_g,ibin) .gt. 0.0)then df_gas_s(ihcl_g,ibin) = flux_s(ihcl_g,ibin)/kg(ihcl_g,ibin) ! recompute df_gas phi_volatile_s(ihcl_g,ibin) = phi_nh4cl_s else sfc_a(ihcl_g) = gas(ihcl_g) + aer(icl_a,jsolid,ibin) df_gas_s(ihcl_g,ibin) = -aer(icl_a,jsolid,ibin) phi_volatile_s(ihcl_g,ibin)=df_gas_s(ihcl_g,ibin)/sfc_a(ihcl_g) ! not to be used endif integrate(inh3_g,jsolid,ibin) = mYES integrate(ihcl_g,jsolid,ibin) = mYES ! integrate HCl with explicit euler ieqblm_ASTEM = mNO return end subroutine ASTEM_flux_dry_case3b !--------------------------------------------------------------------- ! Case 4: NH4NO3 and/or NH4Cl may be active subroutine ASTEM_flux_dry_case4(ibin) ! TOUCH ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin ! local variables integer iactive_nh4no3, iactive_nh4cl, iactive, js ! raz update 11/13/2008 real(kind=8) a, b, c, sum_dum ! raz update 11/13/2008 ! function ! real(kind=8) quadratic ! calculate percent composition ! raz update 11/13/2008 sum_dum = 0.0 do js = 1, nsalt sum_dum = sum_dum + electrolyte(js,jsolid,ibin) enddo if(sum_dum .eq. 0.)sum_dum = 1.0 epercent(jnh4no3,jsolid,ibin) = 100.*electrolyte(jnh4no3,jsolid,ibin)/sum_dum epercent(jnh4cl, jsolid,ibin) = 100.*electrolyte(jnh4cl, jsolid,ibin)/sum_dum !------------------- ! set default values for flags iactive_nh4no3 = 1 iactive_nh4cl = 2 ! compute diagnostic products and ratios phi_nh4no3_s = (gas(inh3_g)*gas(ihno3_g) - Keq_sg(1))/ & max(gas(inh3_g)*gas(ihno3_g),Keq_sg(1)) phi_nh4cl_s = (gas(inh3_g)*gas(ihcl_g) - Keq_sg(2))/ & max(gas(inh3_g)*gas(ihcl_g),Keq_sg(2)) !------------------- ! now determine if nh4no3 and/or nh4cl are active or significant ! nh4no3 if( abs(phi_nh4no3_s) .lt. rtol_eqb_ASTEM )then iactive_nh4no3 = 0 elseif(gas(inh3_g)*gas(ihno3_g) .lt. Keq_sg(1) .and. & epercent(jnh4no3,jsolid,ibin) .le. ptol_mol_ASTEM)then iactive_nh4no3 = 0 if(epercent(jnh4no3,jsolid,ibin) .gt. 0.0)then call degas_solid_nh4no3(ibin) endif endif ! nh4cl if( abs(phi_nh4cl_s) .lt. rtol_eqb_ASTEM )then iactive_nh4cl = 0 elseif(gas(inh3_g)*gas(ihcl_g) .lt. Keq_sg(2) .and. & epercent(jnh4cl, jsolid,ibin) .le. ptol_mol_ASTEM)then iactive_nh4cl = 0 if(epercent(jnh4cl, jsolid,ibin) .gt. 0.0)then call degas_solid_nh4cl(ibin) endif endif iactive = iactive_nh4no3 + iactive_nh4cl ! check the outcome if(iactive .eq. 0)return goto (1,2,3),iactive !--------------------------------- ! only nh4no3 solid is active 1 call ASTEM_flux_dry_case4a(ibin) return !----------------- ! only nh4cl solid is active 2 call ASTEM_flux_dry_case4b(ibin) return !----------------- ! both nh4no3 and nh4cl are active 3 call ASTEM_flux_dry_case4ab(ibin) return end subroutine ASTEM_flux_dry_case4 !--------------------------------------------------------------------- ! Case 4a subroutine ASTEM_flux_dry_case4a(ibin) ! NH4NO3 solid ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin ! local variables real(kind=8) a, b, c ! function ! real(kind=8) quadratic a = kg(inh3_g,ibin) b = - kg(inh3_g,ibin)*gas(inh3_g) & + kg(ihno3_g,ibin)*gas(ihno3_g) c = -(kg(ihno3_g,ibin)*Keq_nh4no3_0) ! raz update 6/25/2008 sfc_a(inh3_g) = quadratic(a,b,c) sfc_a(ihno3_g) = Keq_nh4no3_0/sfc_a(inh3_g) ! raz update 6/25/2008 integrate(ihno3_g,jsolid,ibin) = mYES integrate(inh3_g,jsolid,ibin) = mYES df_gas_s(ihno3_g,ibin)=gas(ihno3_g)-sfc_a(ihno3_g) df_gas_s(inh3_g,ibin) =gas(inh3_g) -sfc_a(inh3_g) phi_volatile_s(ihno3_g,ibin)= phi_nh4no3_s phi_volatile_s(inh3_g,ibin) = phi_nh4no3_s flux_s(ihno3_g,ibin) = kg(ihno3_g,ibin)*df_gas_s(ihno3_g,ibin) flux_s(inh3_g,ibin) = flux_s(ihno3_g,ibin) ieqblm_ASTEM = mNO return end subroutine ASTEM_flux_dry_case4a !--------------------------------------------------------- ! Case 4b subroutine ASTEM_flux_dry_case4b(ibin) ! NH4Cl solid ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin ! local variables real(kind=8) a, b, c ! function ! real(kind=8) quadratic a = kg(inh3_g,ibin) b = - kg(inh3_g,ibin)*gas(inh3_g) & + kg(ihcl_g,ibin)*gas(ihcl_g) c = -(kg(ihcl_g,ibin)*Keq_nh4cl_0) ! raz update 6/25/2008 sfc_a(inh3_g) = quadratic(a,b,c) sfc_a(ihcl_g) = Keq_nh4cl_0 /sfc_a(inh3_g) ! raz update 6/25/2008 integrate(ihcl_g,jsolid,ibin) = mYES integrate(inh3_g,jsolid,ibin) = mYES df_gas_s(ihcl_g,ibin) = gas(ihcl_g)-sfc_a(ihcl_g) df_gas_s(inh3_g,ibin) = gas(inh3_g)-sfc_a(inh3_g) phi_volatile_s(ihcl_g,ibin) = phi_nh4cl_s phi_volatile_s(inh3_g,ibin) = phi_nh4cl_s flux_s(ihcl_g,ibin) = kg(ihcl_g,ibin)*df_gas_s(ihcl_g,ibin) flux_s(inh3_g,ibin) = flux_s(ihcl_g,ibin) ieqblm_ASTEM = mNO return end subroutine ASTEM_flux_dry_case4b !------------------------------------------------------------------- ! Case 4ab subroutine ASTEM_flux_dry_case4ab(ibin) ! NH4NO3 + NH4Cl (solid) ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin ! local variables real(kind=8) a, b, c, & flux_nh3_est, flux_nh3_max, ratio_flux ! function ! real(kind=8) quadratic call ASTEM_flux_dry_case4a(ibin) call ASTEM_flux_dry_case4b(ibin) ! estimate nh3 flux and adjust hno3 and/or hcl if necessary flux_nh3_est = flux_s(ihno3_g,ibin)+flux_s(ihcl_g,ibin) flux_nh3_max = kg(inh3_g,ibin)*gas(inh3_g) if(flux_nh3_est .le. flux_nh3_max)then flux_s(inh3_g,ibin) = flux_nh3_est ! all ok - no adjustments needed sfc_a(inh3_g) = gas(inh3_g) - & ! recompute sfc_a(ihno3_g) flux_s(inh3_g,ibin)/kg(inh3_g,ibin) phi_volatile_s(inh3_g,ibin) = max(abs(phi_nh4no3_s), & abs(phi_nh4cl_s)) else ! reduce hno3 and hcl flux_ses as necessary so that nh3 flux_s = flux_s_nh3_max ratio_flux = flux_nh3_max/flux_nh3_est flux_s(inh3_g,ibin) = flux_nh3_max flux_s(ihno3_g,ibin)= flux_s(ihno3_g,ibin)*ratio_flux flux_s(ihcl_g,ibin) = flux_s(ihcl_g,ibin) *ratio_flux sfc_a(inh3_g) = 0.0 sfc_a(ihno3_g)= gas(ihno3_g) - & ! recompute sfc_a(ihno3_g) flux_s(ihno3_g,ibin)/kg(ihno3_g,ibin) sfc_a(ihcl_g) = gas(ihcl_g) - & ! recompute sfc_a(ihcl_g) flux_s(ihcl_g,ibin)/kg(ihcl_g,ibin) df_gas_s(inh3_g,ibin) =gas(inh3_g) -sfc_a(inh3_g) df_gas_s(ihno3_g,ibin)=gas(ihno3_g)-sfc_a(ihno3_g) df_gas_s(ihcl_g,ibin) =gas(ihcl_g) -sfc_a(ihcl_g) phi_volatile_s(inh3_g,ibin) = max(abs(phi_nh4no3_s), & abs(phi_nh4cl_s)) endif ieqblm_ASTEM = mNO return end subroutine ASTEM_flux_dry_case4ab !======================================================================= ! ! MIXED-PHASE PARTICLES ! !*********************************************************************** ! part of ASTEM: computes gas-aerosol fluxes over mixed-phase aerosols ! ! author: Rahul A. Zaveri ! update: apr 2006 !----------------------------------------------------------------------- subroutine ASTEM_flux_mix(ibin) use module_data_mosaic_other, only: lunerr ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin ! local variables integer iv, iadjust, iadjust_intermed, js ! raz update 11/13/2008 real(kind=8) XT, g_nh3_hno3, g_nh3_hcl, & a_nh4_no3, a_nh4_cl, a_no3, a_cl, & prod_nh4no3, prod_nh4cl real(kind=8) volatile_cl, sum_dum ! raz update 11/13/2008 call ions_to_electrolytes(jliquid,ibin,XT) ! for water content calculation call compute_activities(ibin) if(water_a(ibin) .eq. 0.0)then write(6,*)'Water is zero in liquid phase' endif ! calculate percent composition ! raz update 11/13/2008 sum_dum = 0.0 do js = 1, nsalt sum_dum = sum_dum + electrolyte(js,jsolid,ibin) enddo if(sum_dum .eq. 0.)sum_dum = 1.0 epercent(jcaco3,jsolid,ibin) = 100.*electrolyte(jcaco3,jsolid,ibin)/sum_dum ! reset Keq_nh4no3_0 = Keq_sg(1) ! raz update 6/25/2008 Keq_nh4cl_0 = Keq_sg(2) ! raz update 6/25/2008 !----------------------------------------------------------------- ! MIXED CASE 1: caco3 > 0 absorb all acids (and indirectly degas co2) if(epercent(jcaco3,jsolid,ibin) .gt. 0.0)then jphase(ibin) = jliquid call ASTEM_flux_wet_case1(ibin) return endif !----------------------------------------------------------------- ! MIXED CASE 2: Sulfate-Rich Domain if(XT.lt.1.9999 .and. XT.ge.0.)then ! excess sulfate (acidic) jphase(ibin) = jliquid call ASTEM_flux_wet_case2(ibin) return endif !------------------------------------------------------------------- ! MIXED CASE 3: hno3 and hcl exchange may happen here and nh4cl may form/evaporate volatile_cl = electrolyte(jnacl,jsolid,ibin) + & electrolyte(jcacl2,jsolid,ibin) if(volatile_cl .gt. 0.0 .and. gas(ihno3_g).gt. 0.0 )then call ASTEM_flux_dry_case3a(ibin) prod_nh4cl = max( (gas(inh3_g)*gas(ihcl_g)-Keq_sg(2)), 0.0d0) + & electrolyte(jnh4cl, jsolid,ibin) if(prod_nh4cl .gt. 0.0)then call ASTEM_flux_dry_case3b(ibin) endif jphase(ibin) = jsolid return endif !------------------------------------------------------------------- ! MIXED CASE 4: nh4no3 or nh4cl or both may be active if( electrolyte(jnh4no3,jsolid,ibin).gt.0. .and. & electrolyte(jnh4cl,jsolid,ibin) .gt.0. )then jphase(ibin) = jsolid call ASTEM_flux_dry_case4(ibin) if(sfc_a(ihno3_g).gt.0.0 .and. ma(ja_no3,ibin).gt.0.0)then mc(jc_h,ibin) = Keq_gl(3)*sfc_a(ihno3_g)/ & (kel(ihno3_g,ibin)*gam(jhno3,ibin)**2 * ma(ja_no3,ibin)) elseif(sfc_a(ihcl_g).gt.0.0 .and. ma(ja_cl,ibin).gt.0.0)then mc(jc_h,ibin) = Keq_gl(4)*sfc_a(ihcl_g)/ & (kel(ihcl_g,ibin)*gam(jhcl,ibin)**2 * ma(ja_cl,ibin)) else mc(jc_h,ibin) = sqrt(Keq_ll(3)) endif return elseif( electrolyte(jnh4no3,jsolid,ibin).gt.0. )then ! do small adjustments for nh4cl aq g_nh3_hcl= gas(inh3_g)*gas(ihcl_g) a_nh4_cl = aer(inh4_a,jliquid,ibin)*aer(icl_a,jliquid,ibin) iadjust = mNO ! initialize if(g_nh3_hcl .gt. 0.0 .and. a_nh4_cl .eq. 0.0)then call absorb_tiny_nh4cl(ibin) iadjust = mYES elseif(g_nh3_hcl .eq. 0.0 .and. a_nh4_cl .gt. 0.0)then call degas_tiny_nh4cl(ibin) iadjust = mYES endif if(iadjust .eq. mYES)then call ions_to_electrolytes(jliquid,ibin,XT) ! update after adjustments call compute_activities(ibin) ! update after adjustments endif call ASTEM_flux_mix_case4a(ibin) ! nh4no3 solid + nh4cl aq jphase(ibin) = jtotal return elseif( electrolyte(jnh4cl,jsolid,ibin).gt.0.)then ! do small adjustments for nh4no3 aq g_nh3_hno3= gas(inh3_g)*gas(ihno3_g) a_nh4_no3 = aer(inh4_a,jliquid,ibin)*aer(ino3_a,jliquid,ibin) iadjust = mNO ! initialize if(g_nh3_hno3 .gt. 0.0 .and. a_nh4_no3 .eq. 0.0)then call absorb_tiny_nh4no3(ibin) iadjust = mYES elseif(g_nh3_hno3 .eq. 0.0 .and. a_nh4_no3 .gt. 0.0)then call degas_tiny_nh4no3(ibin) iadjust = mYES endif if(iadjust .eq. mYES)then call ions_to_electrolytes(jliquid,ibin,XT) ! update after adjustments call compute_activities(ibin) ! update after adjustments endif kelvin_nh4no3 = kel(inh3_g,ibin)*kel(ihno3_g,ibin) Keq_nh4no3 = kelvin_nh4no3*activity(jnh4no3,ibin)*Kp_nh4no3 ! = [NH3]s * [HNO3]s call ASTEM_flux_mix_case4b(ibin) ! nh4cl solid + nh4no3 aq jphase(ibin) = jtotal return endif !------------------------------------------------------------------- if( (gas(inh3_g)+aer(inh4_a,jliquid,ibin)) .lt. 1.e-25)goto 10 ! no ammonia in the system !------------------------------------------------------------------- ! MIXED CASE 5: liquid nh4no3 and/or nh4cl maybe active ! do some small adjustments (if needed) before deciding case 3 iadjust = mNO ! default iadjust_intermed = mNO ! default ! nh4no3 g_nh3_hno3 = gas(inh3_g)*gas(ihno3_g) a_nh4_no3 = aer(inh4_a,jliquid,ibin)*aer(ino3_a,jliquid,ibin) if(g_nh3_hno3 .gt. 0. .and. a_nh4_no3 .eq. 0.)then call absorb_tiny_nh4no3(ibin) iadjust = mYES iadjust_intermed = mYES endif if(iadjust_intermed .eq. mYES)then call ions_to_electrolytes(jliquid,ibin,XT) ! update after adjustments iadjust_intermed = mNO ! reset endif ! nh4cl g_nh3_hcl = gas(inh3_g)*gas(ihcl_g) a_nh4_cl = aer(inh4_a,jliquid,ibin)*aer(icl_a,jliquid,ibin) if(g_nh3_hcl .gt. 0. .and. a_nh4_cl .eq. 0.)then call absorb_tiny_nh4cl(ibin) iadjust = mYES iadjust_intermed = mYES endif if(iadjust_intermed .eq. mYES)then call ions_to_electrolytes(jliquid,ibin,XT) ! update after adjustments endif if(iadjust .eq. mYES)then call compute_activities(ibin) ! update after adjustments endif ! all adjustments done... !-------- kelvin_nh4no3 = kel(inh3_g,ibin)*kel(ihno3_g,ibin) Keq_nh4no3 = kelvin_nh4no3*activity(jnh4no3,ibin)*Kp_nh4no3 ! = [NH3]s * [HNO3]s kelvin_nh4cl = kel(inh3_g,ibin)*kel(ihcl_g,ibin) Keq_nh4cl = kelvin_nh4cl*activity(jnh4cl,ibin)*Kp_nh4cl ! = [NH3]s * [HCl]s call ASTEM_flux_wet_case3(ibin) jphase(ibin) = jliquid return !------------------------------------------------------------------- ! MIXED CASE 6: ammonia = 0. liquid hno3 and hcl exchange may happen here ! do small adjustments (if needed) before deciding case 4 10 iadjust = mNO ! default iadjust_intermed = mNO ! default ! hno3 if(gas(ihno3_g).gt.0. .and. aer(ino3_a,jliquid,ibin).eq.0. .and. & aer(icl_a,jliquid,ibin) .gt. 0.0)then call absorb_tiny_hno3(ibin) ! and degas tiny hcl iadjust = mYES iadjust_intermed = mYES endif if(iadjust_intermed .eq. mYES)then call ions_to_electrolytes(jliquid,ibin,XT) ! update after adjustments iadjust_intermed = mNO ! reset endif ! hcl if(gas(ihcl_g).gt.0. .and. aer(icl_a,jliquid,ibin) .eq. 0. .and. & aer(ino3_a,jliquid,ibin) .gt. 0.0)then call absorb_tiny_hcl(ibin) ! and degas tiny hno3 iadjust = mYES iadjust_intermed = mYES endif if(iadjust_intermed .eq. mYES)then call ions_to_electrolytes(jliquid,ibin,XT) ! update after adjustments endif if(iadjust .eq. mYES)then call compute_activities(ibin) ! update after adjustments endif ! all adjustments done... call ASTEM_flux_wet_case4(ibin) jphase(ibin) = jliquid return end subroutine ASTEM_flux_mix !---------------------------------------------------------------------- !------------------------------------------------------------------ ! Mix Case 4a: NH4NO3 solid maybe active. NH4Cl aq maybe active subroutine ASTEM_flux_mix_case4a(ibin) ! TOUCH ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin ! local variables integer iactive_nh4no3, iactive_nh4cl, js ! raz update 11/13/2008 real(kind=8) sum_dum ! raz update 11/13/2008 ! set default values for flags iactive_nh4no3 = mYES iactive_nh4cl = mYES ! calculate percent composition ! raz update 11/13/2008 sum_dum = 0.0 do js = 1, nsalt sum_dum = sum_dum + electrolyte(js,jsolid,ibin) enddo if(sum_dum .eq. 0.)sum_dum = 1.0 epercent(jnh4no3,jsolid,ibin) = 100.*electrolyte(jnh4no3,jsolid,ibin)/sum_dum ! nh4no3 (solid) phi_nh4no3_s = (gas(inh3_g)*gas(ihno3_g) - Keq_sg(1))/ & max(gas(inh3_g)*gas(ihno3_g),Keq_sg(1)) ! nh4cl (liquid) kelvin_nh4cl = kel(inh3_g,ibin)*kel(ihcl_g,ibin) Keq_nh4cl = kelvin_nh4cl*activity(jnh4cl,ibin)*Kp_nh4cl ! = [NH3]s * [HCl]s !------------------- ! now determine if nh4no3 and/or nh4cl are active or significant ! nh4no3 solid if( abs(phi_nh4no3_s) .le. rtol_eqb_ASTEM )then iactive_nh4no3 = mNO elseif(gas(inh3_g)*gas(ihno3_g) .lt. Keq_sg(1) .and. & epercent(jnh4no3,jsolid,ibin) .le. ptol_mol_ASTEM)then iactive_nh4no3 = mNO if(epercent(jnh4no3,jsolid,ibin) .gt. 0.0)then call degas_solid_nh4no3(ibin) endif endif ! nh4cl aq if( gas(inh3_g)*gas(ihcl_g).eq.0. .or. Keq_nh4cl.eq.0. )then iactive_nh4cl = mNO endif !--------------------------------- if(iactive_nh4no3 .eq. mYES)then jphase(ibin) = jsolid call ASTEM_flux_dry_case4a(ibin) ! NH4NO3 (solid) if(sfc_a(ihno3_g).gt.0.0 .and. ma(ja_no3,ibin).gt.0.0)then mc(jc_h,ibin) = Keq_gl(3)*sfc_a(ihno3_g)/ & (kel(ihno3_g,ibin)*gam(jhno3,ibin)**2 * ma(ja_no3,ibin)) elseif(sfc_a(ihcl_g).gt.0.0 .and. ma(ja_cl,ibin).gt.0.0)then mc(jc_h,ibin) = Keq_gl(4)*sfc_a(ihcl_g)/ & (kel(ihcl_g,ibin)*gam(jhcl,ibin)**2 * ma(ja_cl,ibin)) else mc(jc_h,ibin) = sqrt(Keq_ll(3)) endif endif if(iactive_nh4cl .eq. mYES)then jphase(ibin) = jliquid call ASTEM_flux_wet_case3b(ibin) ! NH4Cl (liquid) if(sfc_a(ihcl_g).gt.0.0 .and. ma(ja_cl,ibin).gt.0.0)then mc(jc_h,ibin) = Keq_gl(4)*sfc_a(ihcl_g)/ & (kel(ihcl_g,ibin)*gam(jhcl,ibin)**2 * ma(ja_cl,ibin)) else mc(jc_h,ibin) = sqrt(Keq_ll(3)) endif endif if(iactive_nh4cl .eq. mYES .and. iactive_nh4no3 .eq. mYES)then jphase(ibin) = jtotal endif return end subroutine ASTEM_flux_mix_case4a !------------------------------------------------------------------ ! Mix Case 4b: NH4Cl solid maybe active. NH4NO3 aq may or maybe active subroutine ASTEM_flux_mix_case4b(ibin) ! TOUCH ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin ! local variables integer iactive_nh4no3, iactive_nh4cl, js ! raz update 11/13/2008 real(kind=8) sum_dum ! raz update 11/13/2008 ! set default values for flags iactive_nh4cl = mYES iactive_nh4no3 = mYES ! calculate percent composition ! raz update 11/13/2008 sum_dum = 0.0 do js = 1, nsalt sum_dum = sum_dum + electrolyte(js,jsolid,ibin) enddo if(sum_dum .eq. 0.)sum_dum = 1.0 epercent(jnh4cl,jsolid,ibin) = 100.*electrolyte(jnh4cl,jsolid,ibin)/sum_dum ! nh4cl (solid) phi_nh4cl_s = (gas(inh3_g)*gas(ihcl_g) - Keq_sg(2))/ & max(gas(inh3_g)*gas(ihcl_g),Keq_sg(2)) ! nh4no3 (liquid) kelvin_nh4no3 = kel(inh3_g,ibin)*kel(ihno3_g,ibin) Keq_nh4no3 = kelvin_nh4no3*activity(jnh4no3,ibin)*Kp_nh4no3 ! = [NH3]s * [HNO3]s !------------------- ! now determine if nh4no3 and/or nh4cl are active or significant ! nh4cl (solid) if( abs(phi_nh4cl_s) .le. rtol_eqb_ASTEM )then iactive_nh4cl = mNO elseif(gas(inh3_g)*gas(ihcl_g) .lt. Keq_sg(2) .and. & epercent(jnh4cl,jsolid,ibin) .le. ptol_mol_ASTEM)then iactive_nh4cl = mNO if(epercent(jnh4cl,jsolid,ibin) .gt. 0.0)then call degas_solid_nh4cl(ibin) endif endif ! nh4no3 (liquid) if( gas(inh3_g)*gas(ihno3_g).eq.0. .or. Keq_nh4no3.eq.0. )then iactive_nh4no3 = mNO endif !--------------------------------- if(iactive_nh4cl .eq. mYES)then jphase(ibin) = jsolid call ASTEM_flux_dry_case4b(ibin) ! NH4Cl (solid) if(sfc_a(ihcl_g).gt.0.0 .and. ma(ja_cl,ibin).gt.0.0)then mc(jc_h,ibin) = Keq_gl(4)*sfc_a(ihcl_g)/ & (kel(ihcl_g,ibin)*gam(jhcl,ibin)**2 * ma(ja_cl,ibin)) elseif(sfc_a(ihno3_g).gt.0.0 .and. ma(ja_no3,ibin).gt.0.0)then mc(jc_h,ibin) = Keq_gl(3)*sfc_a(ihno3_g)/ & (kel(ihno3_g,ibin)*gam(jhno3,ibin)**2 * ma(ja_no3,ibin)) else mc(jc_h,ibin) = sqrt(Keq_ll(3)) endif endif if(iactive_nh4no3 .eq. mYES)then jphase(ibin) = jliquid call ASTEM_flux_wet_case3a(ibin) ! NH4NO3 (liquid) if(sfc_a(ihno3_g).gt.0.0 .and. ma(ja_no3,ibin).gt.0.0)then mc(jc_h,ibin) = Keq_gl(3)*sfc_a(ihno3_g)/ & (kel(ihno3_g,ibin)*gam(jhno3,ibin)**2 * ma(ja_no3,ibin)) else mc(jc_h,ibin) = sqrt(Keq_ll(3)) endif endif if(iactive_nh4cl .eq. mYES .and. iactive_nh4no3 .eq. mYES)then jphase(ibin) = jtotal endif return end subroutine ASTEM_flux_mix_case4b !*********************************************************************** ! part of ASTEM: condenses h2so4, msa, and nh3 analytically over dtchem [s] ! ! author: Rahul A. Zaveri ! update: jan 2007 !----------------------------------------------------------------------- subroutine ASTEM_non_volatiles(dtchem) ! TOUCH ! implicit none ! include 'mosaic.h' ! subr arguments real(kind=8) dtchem ! local variables integer ibin, iupdate_phase_state real(kind=8) decay_h2so4, decay_msa, & delta_h2so4, delta_tmsa, delta_nh3, delta_hno3, delta_hcl, & delta_so4(nbin_a), delta_msa(nbin_a), & delta_nh4(nbin_a) ! DL (10/7/2012) - move N2O5 het uptake into non-volatile subroutine, so that ! NH3 uptake to balance acid uptake takes place too real(kind=8) :: decay_n2o5, & delta_n2o5, delta_clno2, & delta_no3_rct1(nbin_a), delta_no3_rct2(nbin_a) real(kind=8) XT sumkg_h2so4 = 0.0 sumkg_msa = 0.0 sumkg_nh3 = 0.0 sumkg_hno3 = 0.0 sumkg_hcl = 0.0 do ibin = 1, nbin_a sumkg_h2so4 = sumkg_h2so4 + kg(ih2so4_g,ibin) sumkg_msa = sumkg_msa + kg(imsa_g,ibin) sumkg_nh3 = sumkg_nh3 + kg(inh3_g,ibin) sumkg_hno3 = sumkg_hno3 + kg(ihno3_g,ibin) sumkg_hcl = sumkg_hcl + kg(ihcl_g,ibin) enddo ! DL (10/7/2012) sumkg_n2o5 = 0.0 do ibin = 1, nbin_a sumkg_n2o5 = sumkg_n2o5 + kg(in2o5_g,ibin) enddo !-------------------------------------- ! H2SO4 if(gas(ih2so4_g) .gt. 1.e-14)then ! integrate h2so4 condensation analytically decay_h2so4 = exp(-sumkg_h2so4*dtchem) delta_h2so4 = gas(ih2so4_g)*(1.0 - decay_h2so4) gas(ih2so4_g) = gas(ih2so4_g)*decay_h2so4 ! now distribute delta_h2so4 to each bin and conform the particle (may degas by massbal) do ibin = 1, nbin_a if(jaerosolstate(ibin) .ne. no_aerosol)then delta_so4(ibin) = delta_h2so4*kg(ih2so4_g,ibin)/sumkg_h2so4 aer(iso4_a,jtotal,ibin) = aer(iso4_a,jtotal,ibin) + & delta_so4(ibin) endif enddo else delta_h2so4 = 0.0 do ibin = 1, nbin_a delta_so4(ibin) = 0.0 enddo endif ! h2so4 condensation is now complete !-------------------------------------- ! MSA if(gas(imsa_g) .gt. 1.e-14)then ! integrate msa condensation analytically decay_msa = exp(-sumkg_msa*dtchem) delta_tmsa = gas(imsa_g)*(1.0 - decay_msa) gas(imsa_g) = gas(imsa_g)*decay_msa ! now distribute delta_msa to each bin and conform the particle (may degas by massbal) do ibin = 1, nbin_a if(jaerosolstate(ibin) .ne. no_aerosol)then delta_msa(ibin) = delta_tmsa*kg(imsa_g,ibin)/sumkg_msa aer(imsa_a,jtotal,ibin) = aer(imsa_a,jtotal,ibin) + & delta_msa(ibin) endif enddo else delta_tmsa = 0.0 do ibin = 1, nbin_a delta_msa(ibin) = 0.0 enddo endif ! msa condensation is now complete !------------------------------------- if(n2o5_flag .gt. 0) then ! DL (10/7/2012) moved from separate subroutine into involatile subroutine !-------------------------------------- ! N2O5 uptake, if there is enough gas, and uptake is non-zero ! (currently we only calculate uptake for aqueous particles, ! so in some circumstances we could have aerosol but no reaction) if(gas(in2o5_g) .gt. 1.e-14 .and. sumkg_n2o5 .gt. 0.0)then ! integrate n2o5 condensation analytically decay_n2o5 = exp(-sumkg_n2o5*dtchem) delta_n2o5 = gas(in2o5_g)*(1.0 - decay_n2o5) gas(in2o5_g) = gas(in2o5_g)*decay_n2o5 ! now distribute delta_n2o5 to each bin and conform the particle (may degas by massbal) do ibin = 1, nbin_a if(jaerosolstate(ibin) .ne. no_aerosol)then delta_no3_rct1(ibin) = delta_n2o5*frac_n2o5_h2o(ibin)*kg(in2o5_g,ibin)/sumkg_n2o5 delta_no3_rct2(ibin) = delta_n2o5*(1.0-frac_n2o5_h2o(ibin))*kg(in2o5_g,ibin)/sumkg_n2o5 aer(ino3_a,jtotal,ibin) = aer(ino3_a,jtotal,ibin) + & (2.0*delta_no3_rct1(ibin)+delta_no3_rct2(ibin)) ! check to ensure we don't get negative Cl- concentrations ! - if this will occur then branch the remaining N2O5 to reaction 1 if(aer(icl_a,jtotal,ibin).ge.delta_no3_rct2(ibin))then aer(icl_a,jtotal,ibin) = aer(icl_a,jtotal,ibin) - & delta_no3_rct2(ibin) gas(iclno2_g) = gas(iclno2_g) + & delta_no3_rct2(ibin) else aer(ino3_a,jtotal,ibin) = aer(ino3_a,jtotal,ibin) + & (delta_no3_rct2(ibin)-aer(icl_a,jtotal,ibin)) gas(iclno2_g) = gas(iclno2_g) + & aer(icl_a,jtotal,ibin) ! record the amount of remaining N2O5 which branches to reaction 1 (this is ! for the purposes of determining NH3 uptake later) delta_no3_rct1(ibin) = delta_no3_rct1(ibin) + (delta_no3_rct2(ibin)-aer(icl_a,jtotal,ibin)) delta_no3_rct2(ibin) = aer(icl_a,jtotal,ibin) aer(icl_a,jtotal,ibin) = 0.0 endif endif enddo else delta_n2o5 = 0.0 do ibin = 1, nbin_a delta_no3_rct1(ibin) = 0.0 delta_no3_rct2(ibin) = 0.0 enddo endif else delta_n2o5 = 0.0 ! if we're not using the N2O5 het scheme then set these to zero for ion balance calculations below do ibin = 1, nbin_a delta_no3_rct1(ibin) = 0.0 delta_no3_rct2(ibin) = 0.0 enddo endif ! compute max allowable nh3, hno3, and hcl condensation delta_nh3 = gas(inh3_g) *(1.0 - exp(-sumkg_nh3*dtchem)) delta_hno3= gas(ihno3_g)*(1.0 - exp(-sumkg_hno3*dtchem)) delta_hcl = gas(ihcl_g) *(1.0 - exp(-sumkg_hcl*dtchem)) ! compute max possible nh4 condensation for each bin do ibin = 1, nbin_a if(jaerosolstate(ibin) .ne. no_aerosol)then delta_nh3_max(ibin) = delta_nh3*kg(inh3_g,ibin)/sumkg_nh3 delta_hno3_max(ibin)= delta_hno3*kg(ihno3_g,ibin)/sumkg_hno3 delta_hcl_max(ibin) = delta_hcl*kg(ihcl_g,ibin)/sumkg_hcl endif enddo if(delta_h2so4 .eq. 0.0 .and. delta_tmsa .eq. 0.0 .and. delta_n2o5 .eq. 0.0)then iupdate_phase_state = mNO goto 100 endif ! now condense appropriate amounts of nh3 to each bin do ibin = 1, nbin_a if(epercent(jnacl,jtotal,ibin) .eq. 0.0 .and. & epercent(jcacl2,jtotal,ibin) .eq. 0.0 .and. & epercent(jnano3,jtotal,ibin) .eq. 0.0 .and. & epercent(jcano3,jtotal,ibin) .eq. 0.0 .and. & epercent(jcaco3,jtotal,ibin) .eq. 0.0 .and. & jaerosolstate(ibin) .ne. no_aerosol)then delta_nh4(ibin)=min( (2.*delta_so4(ibin)+delta_msa(ibin)+2.*delta_no3_rct1(ibin)+delta_no3_rct2(ibin)), & delta_nh3_max(ibin) ) aer(inh4_a,jtotal,ibin) = aer(inh4_a,jtotal,ibin) + & ! update aer-phase delta_nh4(ibin) gas(inh3_g) = gas(inh3_g) - delta_nh4(ibin) ! update gas-phase else delta_nh4(ibin) = 0.0 endif enddo iupdate_phase_state = mYES ! recompute phase equilibrium 100 if(iupdate_phase_state .eq. mYES)then do ibin = 1, nbin_a if(jaerosolstate(ibin) .ne. no_aerosol)then call conform_electrolytes(jtotal,ibin,XT) call aerosol_phase_state(ibin) endif enddo endif return end subroutine ASTEM_non_volatiles !*********************************************************************** ! computes mass transfer coefficients for each condensing species for ! all the aerosol bins ! ! author: rahul a. zaveri ! update: jan 2005 !----------------------------------------------------------------------- subroutine aerosolmtc(vbs_nbin) use module_data_mosaic_asect ! implicit none ! include 'v33com9a' ! include 'mosaic.h' ! local variables integer nghq,vbs_nbin(1) integer start_ind parameter (nghq = 2) ! gauss-hermite quadrature order integer ibin, iq, iv real(kind=8) tworootpi, root2, beta parameter (tworootpi = 3.5449077, root2 = 1.4142135, beta = 2.0) real(kind=8) cdum, dp, dp_avg, fkn, kn, lnsg, lndpgn, lndp, speed, & sumghq real(kind=8) xghq(nghq), wghq(nghq) ! quadrature abscissae and weights real(kind=8) mw_vol(ngas_volatile+ngas_het), v_molar(ngas_volatile+ngas_het), & ! mw and molar vols of volatile species freepath(ngas_volatile+ngas_het), accom(ngas_volatile+ngas_het), & dg(ngas_volatile+ngas_het) ! keep local ! real(kind=8) fuchs_sutugin ! mosaic func ! real(kind=8) gas_diffusivity ! mosaic func ! real(kind=8) mean_molecular_speed ! mosaic func ! molecular weights mw_vol(ih2so4_g) = 98.0 mw_vol(ihno3_g) = 63.0 mw_vol(ihcl_g) = 36.5 mw_vol(inh3_g) = 17.0 mw_vol(in2o5_g) = 108.0 mw_vol(iclno2_g) = 81.5 mw_vol(imsa_g) = 96.0 mw_vol(ipcg1_b_c_g) =250.0 mw_vol(ipcg2_b_c_g) =250.0 mw_vol(ipcg3_b_c_g)=250.0 mw_vol(ipcg4_b_c_g)=250.0 mw_vol(ipcg5_b_c_g)=250.0 mw_vol(ipcg6_b_c_g)=250.0 mw_vol(ipcg7_b_c_g)=250.0 mw_vol(ipcg8_b_c_g)=250.0 mw_vol(ipcg9_b_c_g)=250.0 mw_vol(iopcg1_b_c_g)=250.0 mw_vol(iopcg2_b_c_g)=250.0 mw_vol(iopcg3_b_c_g)=250.0 mw_vol(iopcg4_b_c_g)=250.0 mw_vol(iopcg5_b_c_g)=250.0 mw_vol(iopcg6_b_c_g)=250.0 mw_vol(iopcg7_b_c_g)=250.0 mw_vol(iopcg8_b_c_g)=250.0 mw_vol(ipcg1_b_o_g)=250.0 mw_vol(ipcg2_b_o_g)=250.0 mw_vol(ipcg3_b_o_g)=250.0 mw_vol(ipcg4_b_o_g)=250.0 mw_vol(ipcg5_b_o_g)=250.0 mw_vol(ipcg6_b_o_g)=250.0 mw_vol(ipcg7_b_o_g)=250.0 mw_vol(ipcg8_b_o_g)=250.0 mw_vol(ipcg9_b_o_g)=250.0 mw_vol(iopcg1_b_o_g)=250.0 mw_vol(iopcg2_b_o_g)=250.0 mw_vol(iopcg3_b_o_g)=250.0 mw_vol(iopcg4_b_o_g)=250.0 mw_vol(iopcg5_b_o_g)=250.0 mw_vol(iopcg6_b_o_g)=250.0 mw_vol(iopcg7_b_o_g)=250.0 mw_vol(iopcg8_b_o_g)=250.0 mw_vol(ipcg1_f_c_g) =250.0 mw_vol(ipcg2_f_c_g) =250.0 mw_vol(ipcg3_f_c_g)=250.0 mw_vol(ipcg4_f_c_g)=250.0 mw_vol(ipcg5_f_c_g)=250.0 mw_vol(ipcg6_f_c_g)=250.0 mw_vol(ipcg7_f_c_g)=250.0 mw_vol(ipcg8_f_c_g)=250.0 mw_vol(ipcg9_f_c_g)=250.0 mw_vol(iopcg1_f_c_g)=250.0 mw_vol(iopcg2_f_c_g)=250.0 mw_vol(iopcg3_f_c_g)=250.0 mw_vol(iopcg4_f_c_g)=250.0 mw_vol(iopcg5_f_c_g)=250.0 mw_vol(iopcg6_f_c_g)=250.0 mw_vol(iopcg7_f_c_g)=250.0 mw_vol(iopcg8_f_c_g)=250.0 mw_vol(ipcg1_f_o_g)=250.0 mw_vol(ipcg2_f_o_g)=250.0 mw_vol(ipcg3_f_o_g)=250.0 mw_vol(ipcg4_f_o_g)=250.0 mw_vol(ipcg5_f_o_g)=250.0 mw_vol(ipcg6_f_o_g)=250.0 mw_vol(ipcg7_f_o_g)=250.0 mw_vol(ipcg8_f_o_g)=250.0 mw_vol(ipcg9_f_o_g)=250.0 mw_vol(iopcg1_f_o_g)=250.0 mw_vol(iopcg2_f_o_g)=250.0 mw_vol(iopcg3_f_o_g)=250.0 mw_vol(iopcg4_f_o_g)=250.0 mw_vol(iopcg5_f_o_g)=250.0 mw_vol(iopcg6_f_o_g)=250.0 mw_vol(iopcg7_f_o_g)=250.0 mw_vol(iopcg8_f_o_g)=250.0 mw_vol(ismpa_g)=250.0 mw_vol(ismpbb_g)=250.0 mw_vol(igly)=58.0 mw_vol(iho)=17.0 mw_vol(iant1_c_g)=250.0 mw_vol(iant2_c_g)=250.0 mw_vol(iant3_c_g)=250.0 mw_vol(iant4_c_g)=250.0 mw_vol(iant1_o_g)=250.0 mw_vol(iant2_o_g)=250.0 mw_vol(iant3_o_g)=250.0 mw_vol(iant4_o_g)=250.0 mw_vol(ibiog1_c_g)=250.0 mw_vol(ibiog2_c_g)=250.0 mw_vol(ibiog3_c_g)=250.0 mw_vol(ibiog4_c_g)=250.0 mw_vol(ibiog1_o_g)=250.0 mw_vol(ibiog2_o_g)=250.0 mw_vol(ibiog3_o_g)=250.0 mw_vol(ibiog4_o_g)=250.0 mw_vol(iasoaX_g)=250.0 mw_vol(iasoa1_g)=250.0 mw_vol(iasoa2_g)=250.0 mw_vol(iasoa3_g)=250.0 mw_vol(iasoa4_g)=250.0 mw_vol(ibsoaX_g)=250.0 mw_vol(ibsoa1_g)=250.0 mw_vol(ibsoa2_g)=250.0 mw_vol(ibsoa3_g)=250.0 mw_vol(ibsoa4_g)=250.0 v_molar(ih2so4_g)= 42.88 v_molar(ihno3_g) = 24.11 v_molar(ihcl_g) = 21.48 v_molar(inh3_g) = 14.90 v_molar(imsa_g) = 58.00 v_molar(in2o5_g) = 60.40 v_molar(iclno2_g)= 52.70 ! mass accommodation coefficients accom(ih2so4_g) = 0.1 accom(ihno3_g) = 0.1 accom(ihcl_g) = 0.1 accom(inh3_g) = 0.1 accom(in2o5_g) = 0.1 ! dummy variable - will recalc later.. accom(iclno2_g) = 0.1 ! dummy - for convenience of calcs accom(imsa_g) = 0.1 accom(ipcg1_b_c_g) =0.1 accom(ipcg2_b_c_g) =0.1 accom(ipcg3_b_c_g)=0.1 accom(ipcg4_b_c_g)=0.1 accom(ipcg5_b_c_g)=0.1 accom(ipcg6_b_c_g)=0.1 accom(ipcg7_b_c_g)=0.1 accom(ipcg8_b_c_g)=0.1 accom(ipcg9_b_c_g)=0.1 accom(iopcg1_b_c_g)=0.1 accom(iopcg2_b_c_g)=0.1 accom(iopcg3_b_c_g)=0.1 accom(iopcg4_b_c_g)=0.1 accom(iopcg5_b_c_g)=0.1 accom(iopcg6_b_c_g)=0.1 accom(iopcg7_b_c_g)=0.1 accom(iopcg8_b_c_g)=0.1 accom(ipcg1_b_o_g)=0.1 accom(ipcg2_b_o_g)=0.1 accom(ipcg3_b_o_g)=0.1 accom(ipcg4_b_o_g)=0.1 accom(ipcg5_b_o_g)=0.1 accom(ipcg6_b_o_g)=0.1 accom(ipcg7_b_o_g)=0.1 accom(ipcg8_b_o_g)=0.1 accom(ipcg9_b_o_g)=0.1 accom(iopcg1_b_o_g)=0.1 accom(iopcg2_b_o_g)=0.1 accom(iopcg3_b_o_g)=0.1 accom(iopcg4_b_o_g)=0.1 accom(iopcg5_b_o_g)=0.1 accom(iopcg6_b_o_g)=0.1 accom(iopcg7_b_o_g)=0.1 accom(iopcg8_b_o_g)=0.1 accom(ipcg1_f_c_g) =0.1 accom(ipcg2_f_c_g) =0.1 accom(ipcg3_f_c_g)=0.1 accom(ipcg4_f_c_g)=0.1 accom(ipcg5_f_c_g)=0.1 accom(ipcg6_f_c_g)=0.1 accom(ipcg7_f_c_g)=0.1 accom(ipcg8_f_c_g)=0.1 accom(ipcg9_f_c_g)=0.1 accom(iopcg1_f_c_g)=0.1 accom(iopcg2_f_c_g)=0.1 accom(iopcg3_f_c_g)=0.1 accom(iopcg4_f_c_g)=0.1 accom(iopcg5_f_c_g)=0.1 accom(iopcg6_f_c_g)=0.1 accom(iopcg7_f_c_g)=0.1 accom(iopcg8_f_c_g)=0.1 accom(ipcg1_f_o_g)=0.1 accom(ipcg2_f_o_g)=0.1 accom(ipcg3_f_o_g)=0.1 accom(ipcg4_f_o_g)=0.1 accom(ipcg5_f_o_g)=0.1 accom(ipcg6_f_o_g)=0.1 accom(ipcg7_f_o_g)=0.1 accom(ipcg8_f_o_g)=0.1 accom(ipcg9_f_o_g)=0.1 accom(iopcg1_f_o_g)=0.1 accom(iopcg2_f_o_g)=0.1 accom(iopcg3_f_o_g)=0.1 accom(iopcg4_f_o_g)=0.1 accom(iopcg5_f_o_g)=0.1 accom(iopcg6_f_o_g)=0.1 accom(iopcg7_f_o_g)=0.1 accom(iopcg8_f_o_g)=0.1 accom(ismpa_g)=0.1 accom(ismpbb_g)=0.1 ! added glyoxal, but only for completeness - is hopefully never used accom(igly)=0.1 accom(iho)=0.1 accom(iant1_c_g)=0.1 accom(iant2_c_g)=0.1 accom(iant3_c_g)=0.1 accom(iant4_c_g)=0.1 accom(iant1_o_g)=0.1 accom(iant2_o_g)=0.1 accom(iant3_o_g)=0.1 accom(iant4_o_g)=0.1 accom(ibiog1_c_g)=0.1 accom(ibiog2_c_g)=0.1 accom(ibiog3_c_g)=0.1 accom(ibiog4_c_g)=0.1 accom(ibiog1_o_g)=0.1 accom(ibiog2_o_g)=0.1 accom(ibiog3_o_g)=0.1 accom(ibiog4_o_g)=0.1 accom(iasoaX_g)=0.1 accom(iasoa1_g)=0.1 accom(iasoa2_g)=0.1 accom(iasoa3_g)=0.1 accom(iasoa4_g)=0.1 accom(ibsoaX_g)=0.1 accom(ibsoa1_g)=0.1 accom(ibsoa2_g)=0.1 accom(ibsoa3_g)=0.1 accom(ibsoa4_g)=0.1 ! quadrature weights xghq(1) = 0.70710678 xghq(2) = -0.70710678 wghq(1) = 0.88622693 wghq(2) = 0.88622693 ! calculate gas diffusivity and mean free path for condensing gases ! ioa do iv = 1, ngas_ioa speed = mean_molecular_speed(t_k,mw_vol(iv)) ! cm/s dg(iv) = gas_diffusivity(t_k,p_atm,mw_vol(iv),v_molar(iv)) ! cm^2/s freepath(iv) = 3.*dg(iv)/speed ! cm enddo ! soa start_ind = 1 if(vbs_nbin(1) .eq. 0) then start_ind = ismpa_g else if (vbs_nbin(1) .eq. 4) then start_ind = iasoaX_g else start_ind = ipcg1_b_c_g end if !BSINGH(03/10/2015): Added 2 in the following do-loop to accomodate oh and gly species. ! *IMPORTANT*:This is a TEMPORARY fix, we need a better fix for this problem. do iv = start_ind, ngas_ioa + ngas_soa+2 speed = mean_molecular_speed(t_k,mw_vol(iv)) ! cm/s dg(iv) = 0.1 ! cm^2/s (increased from 0.2 to 0.035 by Manish Shrivastava) freepath(iv) = 3.*dg(iv)/speed enddo ! het-rct gases ! DL 9/9/2011 do iv = (ngas_volatile+1), (ngas_volatile+ngas_het) speed = mean_molecular_speed(t_k,mw_vol(iv)) ! cm/s dg(iv) = gas_diffusivity(t_k,p_atm,mw_vol(iv),v_molar(iv)) ! cm^2/s freepath(iv) = 3.*dg(iv)/speed ! cm enddo ! calc mass transfer coefficients for gases over various aerosol bins if (msize_framework .eq. mmodal) then ! for modal approach do 10 ibin = 1, nbin_a if(jaerosolstate(ibin) .eq. no_aerosol)goto 10 call calc_dry_n_wet_aerosol_props(ibin) dpgn_a(ibin) = dp_wet_a(ibin) ! cm lnsg = log(sigmag_a(ibin)) lndpgn = log(dpgn_a(ibin)) cdum = tworootpi*num_a(ibin)* & exp(beta*lndpgn + 0.5*(beta*lnsg)**2) do 20 iv = 1, ngas_volatile + ngas_het if(iv.eq.in2o5_g)then ! recalculate accom coeff for N2O5 ! for each different aerosol composition ! (use total aerosol composition for now) if(n2o5_flag.gt.0)then accom(iv) = acc_n2o5_bert_thorn(water_a(ibin),& aer(ino3_a,jtotal,ibin),& aer(icl_a,jtotal,ibin),& vol_wet_a(ibin)) else accom(iv) = 0.0 endif end if sumghq = 0.0 do 30 iq = 1, nghq ! sum over gauss-hermite quadrature points lndp = lndpgn + beta*lnsg**2 + root2*lnsg*xghq(iq) dp = exp(lndp) kn = 2.*freepath(iv)/dp !Luofkn = fuchs_sutugin(kn,accom(iv)) fkn = fuchs_sutugin(kn,0.1d0) sumghq = sumghq + wghq(iq)*dp*fkn/(dp**beta) 30 continue kg(iv,ibin) = cdum*dg(iv)*sumghq ! 1/s 20 continue if(n2o5_flag.gt.0)then ! calculate the reaction path splitting for ! heterogeneous N2O5 reactions frac_n2o5_h2o(ibin) = split_n2o5_bert_thorn(water_a(ibin),& aer(icl_a,jtotal,ibin),& vol_wet_a(ibin)) else frac_n2o5_h2o(ibin) = 0.0 endif 10 continue elseif(msize_framework .eq. msection)then ! for sectional approach do 11 ibin = 1, nbin_a if(jaerosolstate(ibin) .eq. no_aerosol)goto 11 call calc_dry_n_wet_aerosol_props(ibin) dp_avg = dp_wet_a(ibin) cdum = 6.283185*dp_avg*num_a(ibin) do 21 iv = 1, ngas_volatile+ngas_het if(iv.eq.in2o5_g)then ! recalculate accom coeff for N2O5 ! for each different aerosol composition ! (use total aerosol composition for now) if(n2o5_flag.gt.0)then accom(iv) = acc_n2o5_bert_thorn(water_a(ibin),& aer(ino3_a,jtotal,ibin),& aer(icl_a,jtotal,ibin),& vol_wet_a(ibin)) else accom(iv) = 0.0 end if end if kn = 2.*freepath(iv)/dp_avg !Luofkn = fuchs_sutugin(kn,accom(iv)) fkn = fuchs_sutugin(kn,0.1d0) kg(iv,ibin) = cdum*dg(iv)*fkn ! 1/s!Increased by a factor of 10000 by Manish Shrivastava to force to equilibrium ! fraceq(iv,ibin)=num_a(ibin)*dp_wet_a(ibin)/(kn/accom(iv)+1) 21 continue if(n2o5_flag.gt.0)then ! calculate the reaction path splitting for ! heterogeneous N2O5 reactions frac_n2o5_h2o(ibin) = split_n2o5_bert_thorn(water_a(ibin),& aer(icl_a,jtotal,ibin),& vol_wet_a(ibin)) else frac_n2o5_h2o(ibin) = 0.0 end if 11 continue else if (iprint_mosaic_fe1 .gt. 0) then write(6,*)'error in the choice of msize_framework' write(6,*)'mosaic fatal error in subr. aerosolmtc' endif ! stop istat_mosaic_fe1 = -1900 return endif return end subroutine aerosolmtc !*********************************************************************** ! calculates dry and wet aerosol properties: density, refractive indices ! ! author: rahul a. zaveri ! update: jan 2005 !----------------------------------------------------------------------- subroutine calc_dry_n_wet_aerosol_props(ibin) use module_data_mosaic_asect ! implicit none ! include 'v33com9a' ! include 'mosaic.h' ! subr arguments integer ibin ! local variables integer jc, je, iaer, isize, itype real(kind=8) aer_H complex(kind=8) ri_dum ! calculate dry mass and dry volume of a bin mass_dry_a(ibin) = 0.0 ! initialize to 0.0 vol_dry_a(ibin) = 0.0 ! initialize to 0.0 area_dry_a(ibin) = 0.0 ! initialize to 0.0 if(jaerosolstate(ibin) .ne. no_aerosol)then aer_H = (2.*aer(iso4_a,jtotal,ibin) + & aer(ino3_a,jtotal,ibin) + & aer(icl_a,jtotal,ibin) + & aer(imsa_a,jtotal,ibin) + & 2.*aer(ico3_a,jtotal,ibin))- & (2.*aer(ica_a,jtotal,ibin) + & aer(ina_a,jtotal,ibin) + & aer(inh4_a,jtotal,ibin)) do iaer = 1, naer mass_dry_a(ibin) = mass_dry_a(ibin) + & aer(iaer,jtotal,ibin)*mw_aer_mac(iaer) ! ng/m^3(air) vol_dry_a(ibin) = vol_dry_a(ibin) + & aer(iaer,jtotal,ibin)*mw_aer_mac(iaer)/dens_aer_mac(iaer) ! ncc/m^3(air) enddo mass_dry_a(ibin) = mass_dry_a(ibin) + aer_H vol_dry_a(ibin) = vol_dry_a(ibin) + aer_H mass_dry_a(ibin) = mass_dry_a(ibin)*1.e-15 ! g/cc(air) vol_dry_a(ibin) = vol_dry_a(ibin)*1.e-15 ! cc(aer)/cc(air) ! wet mass and wet volume mass_wet_a(ibin) = mass_dry_a(ibin) + water_a(ibin)*1.e-3 ! g/cc(air) vol_wet_a(ibin) = vol_dry_a(ibin) + water_a(ibin)*1.e-3 ! cc(aer)/cc(air) ! calculate mean dry and wet particle densities dens_dry_a(ibin) = mass_dry_a(ibin)/vol_dry_a(ibin) ! g/cc(aerosol) dens_wet_a(ibin) = mass_wet_a(ibin)/vol_wet_a(ibin) ! g/cc(aerosol) ! calculate mean dry and wet particle surface areas area_dry_a(ibin)= 0.785398*num_a(ibin)*Dp_dry_a(ibin)**2 ! cm^2/cc(air) area_wet_a(ibin)= 0.785398*num_a(ibin)*Dp_wet_a(ibin)**2 ! cm^2/cc(air) ! calculate mean dry and wet particle diameters dp_dry_a(ibin)=(1.90985*vol_dry_a(ibin)/num_a(ibin))**0.3333333 ! cm dp_wet_a(ibin)=(1.90985*vol_wet_a(ibin)/num_a(ibin))**0.3333333 ! cm ! calculate volume average refractive index ! load comp_a array do je = 1, nelectrolyte comp_a(je)=electrolyte(je,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) enddo comp_a(joc) = aer(ioc_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jbc) = aer(ibc_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(join) = aer(ioin_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jpcg1_b_c)= aer(ipcg1_b_c_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jpcg2_b_c)= aer(ipcg2_b_c_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jpcg3_b_c)= aer(ipcg3_b_c_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jpcg4_b_c)= aer(ipcg4_b_c_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jpcg5_b_c)= aer(ipcg5_b_c_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jpcg6_b_c)= aer(ipcg6_b_c_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jpcg7_b_c)= aer(ipcg7_b_c_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jpcg8_b_c)= aer(ipcg8_b_c_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jpcg9_b_c)= aer(ipcg9_b_c_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jopcg1_b_c)= aer(iopcg1_b_c_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jopcg2_b_c)= aer(iopcg2_b_c_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jopcg3_b_c)= aer(iopcg3_b_c_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jopcg4_b_c)= aer(iopcg4_b_c_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jopcg5_b_c)= aer(iopcg5_b_c_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jopcg6_b_c)= aer(iopcg6_b_c_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jopcg7_b_c)= aer(iopcg7_b_c_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jopcg8_b_c)= aer(iopcg8_b_c_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jpcg1_b_o)= aer(ipcg1_b_o_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jpcg2_b_o)= aer(ipcg2_b_o_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jpcg3_b_o)= aer(ipcg3_b_o_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jpcg4_b_o)= aer(ipcg4_b_o_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jpcg5_b_o)= aer(ipcg5_b_o_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jpcg6_b_o)= aer(ipcg6_b_o_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jpcg7_b_o)= aer(ipcg7_b_o_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jpcg8_b_o)= aer(ipcg8_b_o_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jpcg9_b_o)= aer(ipcg9_b_o_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jopcg1_b_o)= aer(iopcg1_b_o_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jopcg2_b_o)= aer(iopcg2_b_o_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jopcg3_b_o)= aer(iopcg3_b_o_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jopcg4_b_o)= aer(iopcg4_b_o_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jopcg5_b_o)= aer(iopcg5_b_o_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jopcg6_b_o)= aer(iopcg6_b_o_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jopcg7_b_o)= aer(iopcg7_b_o_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jopcg8_b_o)= aer(iopcg8_b_o_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jpcg1_f_c)= aer(ipcg1_f_c_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jpcg2_f_c)= aer(ipcg2_f_c_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jpcg3_f_c)= aer(ipcg3_f_c_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jpcg4_f_c)= aer(ipcg4_f_c_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jpcg5_f_c)= aer(ipcg5_f_c_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jpcg6_f_c)= aer(ipcg6_f_c_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jpcg7_f_c)= aer(ipcg7_f_c_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jpcg8_f_c)= aer(ipcg8_f_c_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jpcg9_f_c)= aer(ipcg9_f_c_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jopcg1_f_c)= aer(iopcg1_f_c_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jopcg2_f_c)= aer(iopcg2_f_c_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jopcg3_f_c)= aer(iopcg3_f_c_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jopcg4_f_c)= aer(iopcg4_f_c_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jopcg5_f_c)= aer(iopcg5_f_c_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jopcg6_f_c)= aer(iopcg6_f_c_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jopcg7_f_c)= aer(iopcg7_f_c_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jopcg8_f_c)= aer(iopcg8_f_c_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jpcg1_f_o)= aer(ipcg1_f_o_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jpcg2_f_o)= aer(ipcg2_f_o_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jpcg3_f_o)= aer(ipcg3_f_o_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jpcg4_f_o)= aer(ipcg4_f_o_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jpcg5_f_o)= aer(ipcg5_f_o_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jpcg6_f_o)= aer(ipcg6_f_o_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jpcg7_f_o)= aer(ipcg7_f_o_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jpcg8_f_o)= aer(ipcg8_f_o_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jpcg9_f_o)= aer(ipcg9_f_o_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jopcg1_f_o)= aer(iopcg1_f_o_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jopcg2_f_o)= aer(iopcg2_f_o_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jopcg3_f_o)= aer(iopcg3_f_o_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jopcg4_f_o)= aer(iopcg4_f_o_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jopcg5_f_o)= aer(iopcg5_f_o_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jopcg6_f_o)= aer(iopcg6_f_o_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jopcg7_f_o)= aer(iopcg7_f_o_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jopcg8_f_o)= aer(iopcg8_f_o_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jsmpa)= aer(ismpa_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jsmpbb)= aer(ismpbb_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jglysoa_r1)= aer(iglysoa_r1_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jglysoa_r2)= aer(iglysoa_r2_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jglysoa_sfc)= aer(iglysoa_sfc_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jglysoa_nh4)= aer(iglysoa_nh4_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jglysoa_oh)= aer(iglysoa_oh_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jant1_c)= aer(iant1_c_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jant2_c)= aer(iant2_c_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jant3_c)= aer(iant3_c_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jant4_c)= aer(iant4_c_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jant1_o)= aer(iant1_o_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jant2_o)= aer(iant2_o_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jant3_o)= aer(iant3_o_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jant4_o)= aer(iant4_o_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jbiog1_c)= aer(ibiog1_c_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jbiog2_c)= aer(ibiog2_c_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jbiog3_c)= aer(ibiog3_c_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jbiog4_c)= aer(ibiog4_c_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jbiog1_o)= aer(ibiog1_o_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jbiog2_o)= aer(ibiog2_o_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jbiog3_o)= aer(ibiog3_o_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jbiog4_o)= aer(ibiog4_o_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jasoaX)= aer(iasoaX_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jasoa1)= aer(iasoa1_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jasoa2)= aer(iasoa2_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jasoa3)= aer(iasoa3_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jasoa4)= aer(iasoa4_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jbsoaX)= aer(ibsoaX_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jbsoa1)= aer(ibsoa1_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jbsoa2)= aer(ibsoa2_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jbsoa3)= aer(ibsoa3_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jbsoa4)= aer(ibsoa4_a,jtotal,ibin)*mw_comp_a(je)*1.e-15 ! g/cc(air) comp_a(jh2o) = water_a(ibin)*1.e-3 ! g/cc(air) ri_dum = (0.0,0.0) do jc = 1, naercomp if (dens_comp_a(jc).gt.0) then ri_dum = ri_dum + ref_index_a(jc)*comp_a(jc)/dens_comp_a(jc) endif enddo ri_avg_a(ibin) = ri_dum/vol_wet_a(ibin) else ! use defaults dens_dry_a(ibin) = 1.0 ! g/cc(aerosol) dens_wet_a(ibin) = 1.0 ! g/cc(aerosol) call isize_itype_from_ibin( ibin, isize, itype ) dp_dry_a(ibin) = dcen_sect(isize,itype) ! cm dp_wet_a(ibin) = dcen_sect(isize,itype) ! cm ri_avg_a(ibin) = (1.5,0.0) endif return end subroutine calc_dry_n_wet_aerosol_props !*********************************************************************** ! computes activities ! ! author: rahul a. zaveri ! update: jan 2005 !----------------------------------------------------------------------- subroutine compute_activities(ibin) ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin ! local variables integer jp, ja real(kind=8) xt, xmol(nelectrolyte), sum_elec, dumK, c_bal, a_c real(kind=8) quad, aq, bq, cq, xq, dum ! function ! real(kind=8) aerosol_water water_a(ibin) = aerosol_water(jliquid,ibin) ! kg/m^3(air) if(water_a(ibin) .eq. 0.0)return call calculate_xt(ibin,jliquid,xt) if(xt.gt.2.0 .or. xt.lt.0.)then ! sulfate poor: fully dissociated electrolytes ! anion molalities (mol/kg water) ma(ja_so4,ibin) = 1.e-9*aer(iso4_a,jliquid,ibin)/water_a(ibin) ma(ja_hso4,ibin) = 0.0 ma(ja_no3,ibin) = 1.e-9*aer(ino3_a,jliquid,ibin)/water_a(ibin) ma(ja_cl,ibin) = 1.e-9*aer(icl_a, jliquid,ibin)/water_a(ibin) ma(ja_msa,ibin) = 1.e-9*aer(imsa_a,jliquid,ibin)/water_a(ibin) ! cation molalities (mol/kg water) mc(jc_ca,ibin) = 1.e-9*aer(ica_a, jliquid,ibin)/water_a(ibin) mc(jc_nh4,ibin) = 1.e-9*aer(inh4_a,jliquid,ibin)/water_a(ibin) mc(jc_na,ibin) = 1.e-9*aer(ina_a, jliquid,ibin)/water_a(ibin) a_c = ( 2.d0*ma(ja_so4,ibin)+ & ma(ja_no3,ibin)+ & ma(ja_cl,ibin) + & ma(ja_msa,ibin) ) - & ( 2.d0*mc(jc_ca,ibin) + & mc(jc_nh4,ibin)+ & mc(jc_na,ibin) ) mc(jc_h,ibin) = 0.5*a_c + sqrt(a_c**2 + 4.*Keq_ll(3)) if(mc(jc_h,ibin) .eq. 0.0)then mc(jc_h,ibin) = sqrt(Keq_ll(3)) endif jp = jliquid sum_elec = 2.*electrolyte(jnh4no3,jp,ibin) + & 2.*electrolyte(jnh4cl,jp,ibin) + & 3.*electrolyte(jnh4so4,jp,ibin) + & 3.*electrolyte(jna2so4,jp,ibin) + & 2.*electrolyte(jnano3,jp,ibin) + & 2.*electrolyte(jnacl,jp,ibin) + & 3.*electrolyte(jcano3,jp,ibin) + & 3.*electrolyte(jcacl2,jp,ibin) + & 2.*electrolyte(jhno3,jp,ibin) + & 2.*electrolyte(jhcl,jp,ibin) if(sum_elec .eq. 0.0)then do ja = 1, nelectrolyte gam(ja,ibin) = 1.0 enddo goto 10 endif ! ionic mole fractions xmol(jnh4no3) = 2.*electrolyte(jnh4no3,jp,ibin)/sum_elec xmol(jnh4cl) = 2.*electrolyte(jnh4cl,jp,ibin) /sum_elec xmol(jnh4so4) = 3.*electrolyte(jnh4so4,jp,ibin)/sum_elec xmol(jna2so4) = 3.*electrolyte(jna2so4,jp,ibin)/sum_elec xmol(jnano3) = 2.*electrolyte(jnano3,jp,ibin) /sum_elec xmol(jnacl) = 2.*electrolyte(jnacl,jp,ibin) /sum_elec xmol(jcano3) = 3.*electrolyte(jcano3,jp,ibin) /sum_elec xmol(jcacl2) = 3.*electrolyte(jcacl2,jp,ibin) /sum_elec xmol(jhno3) = 2.*electrolyte(jhno3,jp,ibin) /sum_elec xmol(jhcl) = 2.*electrolyte(jhcl,jp,ibin) /sum_elec ja = jnh4so4 if(xmol(ja).gt.0.0)then log_gam(ja) = xmol(jnh4no3)*log_gamZ(jA,jnh4no3) + & xmol(jnh4cl) *log_gamZ(jA,jnh4cl) + & xmol(jnh4so4)*log_gamZ(jA,jnh4so4) + & xmol(jna2so4)*log_gamZ(jA,jna2so4) + & xmol(jnano3) *log_gamZ(jA,jnano3) + & xmol(jnacl) *log_gamZ(jA,jnacl) + & xmol(jcano3) *log_gamZ(jA,jcano3) + & xmol(jcacl2) *log_gamZ(jA,jcacl2) + & xmol(jhno3) *log_gamZ(jA,jhno3) + & xmol(jhcl) *log_gamZ(jA,jhcl) gam(jA,ibin) = 10.**log_gam(jA) activity(jnh4so4,ibin) = mc(jc_nh4,ibin)**2*ma(ja_so4,ibin)* & gam(jnh4so4,ibin)**3 endif jA = jnh4no3 if(xmol(jA).gt.0.0)then log_gam(jA) = xmol(jnh4no3)*log_gamZ(jA,jnh4no3) + & xmol(jnh4cl) *log_gamZ(jA,jnh4cl) + & xmol(jnh4so4)*log_gamZ(jA,jnh4so4) + & xmol(jna2so4)*log_gamZ(jA,jna2so4) + & xmol(jnano3) *log_gamZ(jA,jnano3) + & xmol(jnacl) *log_gamZ(jA,jnacl) + & xmol(jcano3) *log_gamZ(jA,jcano3) + & xmol(jcacl2) *log_gamZ(jA,jcacl2) + & xmol(jhno3) *log_gamZ(jA,jhno3) + & xmol(jhcl) *log_gamZ(jA,jhcl) gam(jA,ibin) = 10.**log_gam(jA) activity(jnh4no3,ibin) = mc(jc_nh4,ibin)*ma(ja_no3,ibin)* & gam(jnh4no3,ibin)**2 endif jA = jnh4cl if(xmol(jA).gt.0.0)then log_gam(jA) = xmol(jnh4no3)*log_gamZ(jA,jnh4no3) + & xmol(jnh4cl) *log_gamZ(jA,jnh4cl) + & xmol(jnh4so4)*log_gamZ(jA,jnh4so4) + & xmol(jna2so4)*log_gamZ(jA,jna2so4) + & xmol(jnano3) *log_gamZ(jA,jnano3) + & xmol(jnacl) *log_gamZ(jA,jnacl) + & xmol(jcano3) *log_gamZ(jA,jcano3) + & xmol(jcacl2) *log_gamZ(jA,jcacl2) + & xmol(jhno3) *log_gamZ(jA,jhno3) + & xmol(jhcl) *log_gamZ(jA,jhcl) gam(jA,ibin) = 10.**log_gam(jA) activity(jnh4cl,ibin) = mc(jc_nh4,ibin)*ma(ja_cl,ibin)* & gam(jnh4cl,ibin)**2 endif jA = jna2so4 if(xmol(jA).gt.0.0)then log_gam(jA) = xmol(jnh4no3)*log_gamZ(jA,jnh4no3) + & xmol(jnh4cl) *log_gamZ(jA,jnh4cl) + & xmol(jnh4so4)*log_gamZ(jA,jnh4so4) + & xmol(jna2so4)*log_gamZ(jA,jna2so4) + & xmol(jnano3) *log_gamZ(jA,jnano3) + & xmol(jnacl) *log_gamZ(jA,jnacl) + & xmol(jcano3) *log_gamZ(jA,jcano3) + & xmol(jcacl2) *log_gamZ(jA,jcacl2) + & xmol(jhno3) *log_gamZ(jA,jhno3) + & xmol(jhcl) *log_gamZ(jA,jhcl) gam(jA,ibin) = 10.**log_gam(jA) activity(jna2so4,ibin) = mc(jc_na,ibin)**2*ma(ja_so4,ibin)* & gam(jna2so4,ibin)**3 endif jA = jnano3 if(xmol(jA).gt.0.0)then log_gam(jA) = xmol(jnh4no3)*log_gamZ(jA,jnh4no3) + & xmol(jnh4cl) *log_gamZ(jA,jnh4cl) + & xmol(jnh4so4)*log_gamZ(jA,jnh4so4) + & xmol(jna2so4)*log_gamZ(jA,jna2so4) + & xmol(jnano3) *log_gamZ(jA,jnano3) + & xmol(jnacl) *log_gamZ(jA,jnacl) + & xmol(jcano3) *log_gamZ(jA,jcano3) + & xmol(jcacl2) *log_gamZ(jA,jcacl2) + & xmol(jhno3) *log_gamZ(jA,jhno3) + & xmol(jhcl) *log_gamZ(jA,jhcl) gam(jA,ibin) = 10.**log_gam(jA) activity(jnano3,ibin) = mc(jc_na,ibin)*ma(ja_no3,ibin)* & gam(jnano3,ibin)**2 endif jA = jnacl if(xmol(jA).gt.0.0)then log_gam(jA) = xmol(jnh4no3)*log_gamZ(jA,jnh4no3) + & xmol(jnh4cl) *log_gamZ(jA,jnh4cl) + & xmol(jnh4so4)*log_gamZ(jA,jnh4so4) + & xmol(jna2so4)*log_gamZ(jA,jna2so4) + & xmol(jnano3) *log_gamZ(jA,jnano3) + & xmol(jnacl) *log_gamZ(jA,jnacl) + & xmol(jcano3) *log_gamZ(jA,jcano3) + & xmol(jcacl2) *log_gamZ(jA,jcacl2) + & xmol(jhno3) *log_gamZ(jA,jhno3) + & xmol(jhcl) *log_gamZ(jA,jhcl) gam(jA,ibin) = 10.**log_gam(jA) activity(jnacl,ibin) = mc(jc_na,ibin)*ma(ja_cl,ibin)* & gam(jnacl,ibin)**2 endif ! jA = jcano3 ! if(xmol(jA).gt.0.0)then ! gam(jA,ibin) = 1.0 ! activity(jcano3,ibin) = 1.0 ! endif ! jA = jcacl2 ! if(xmol(jA).gt.0.0)then ! gam(jA,ibin) = 1.0 ! activity(jcacl2,ibin) = 1.0 ! endif jA = jcano3 if(xmol(jA).gt.0.0)then log_gam(jA) = xmol(jnh4no3)*log_gamZ(jA,jnh4no3) + & xmol(jnh4cl) *log_gamZ(jA,jnh4cl) + & xmol(jnh4so4)*log_gamZ(jA,jnh4so4) + & xmol(jna2so4)*log_gamZ(jA,jna2so4) + & xmol(jnano3) *log_gamZ(jA,jnano3) + & xmol(jnacl) *log_gamZ(jA,jnacl) + & xmol(jcano3) *log_gamZ(jA,jcano3) + & xmol(jcacl2) *log_gamZ(jA,jcacl2) + & xmol(jhno3) *log_gamZ(jA,jhno3) + & xmol(jhcl) *log_gamZ(jA,jhcl) gam(jA,ibin) = 10.**log_gam(jA) activity(jcano3,ibin) = mc(jc_ca,ibin)*ma(ja_no3,ibin)**2* & gam(jcano3,ibin)**3 endif jA = jcacl2 if(xmol(jA).gt.0.0)then log_gam(jA) = xmol(jnh4no3)*log_gamZ(jA,jnh4no3) + & xmol(jnh4cl) *log_gamZ(jA,jnh4cl) + & xmol(jnh4so4)*log_gamZ(jA,jnh4so4) + & xmol(jna2so4)*log_gamZ(jA,jna2so4) + & xmol(jnano3) *log_gamZ(jA,jnano3) + & xmol(jnacl) *log_gamZ(jA,jnacl) + & xmol(jcano3) *log_gamZ(jA,jcano3) + & xmol(jcacl2) *log_gamZ(jA,jcacl2) + & xmol(jhno3) *log_gamZ(jA,jhno3) + & xmol(jhcl) *log_gamZ(jA,jhcl) gam(jA,ibin) = 10.**log_gam(jA) activity(jcacl2,ibin) = mc(jc_ca,ibin)*ma(ja_cl,ibin)**2* & gam(jcacl2,ibin)**3 endif jA = jhno3 log_gam(jA) = xmol(jnh4no3)*log_gamZ(jA,jnh4no3) + & xmol(jnh4cl) *log_gamZ(jA,jnh4cl) + & xmol(jnh4so4)*log_gamZ(jA,jnh4so4) + & xmol(jna2so4)*log_gamZ(jA,jna2so4) + & xmol(jnano3) *log_gamZ(jA,jnano3) + & xmol(jnacl) *log_gamZ(jA,jnacl) + & xmol(jcano3) *log_gamZ(jA,jcano3) + & xmol(jcacl2) *log_gamZ(jA,jcacl2) + & xmol(jhno3) *log_gamZ(jA,jhno3) + & xmol(jhcl) *log_gamZ(jA,jhcl) gam(jA,ibin) = 10.**log_gam(jA) activity(jhno3,ibin) = mc(jc_h,ibin)*ma(ja_no3,ibin)* & gam(jhno3,ibin)**2 jA = jhcl log_gam(jA) = xmol(jnh4no3)*log_gamZ(jA,jnh4no3) + & xmol(jnh4cl) *log_gamZ(jA,jnh4cl) + & xmol(jnh4so4)*log_gamZ(jA,jnh4so4) + & xmol(jna2so4)*log_gamZ(jA,jna2so4) + & xmol(jnano3) *log_gamZ(jA,jnano3) + & xmol(jnacl) *log_gamZ(jA,jnacl) + & xmol(jcano3) *log_gamZ(jA,jcano3) + & xmol(jcacl2) *log_gamZ(jA,jcacl2) + & xmol(jhno3) *log_gamZ(jA,jhno3) + & xmol(jhcl) *log_gamZ(jA,jhcl) gam(jA,ibin) = 10.**log_gam(jA) activity(jhcl,ibin) = mc(jc_h,ibin)*ma(ja_cl,ibin)* & gam(jhcl,ibin)**2 !---- 10 gam(jlvcite,ibin) = 1.0 gam(jnh4hso4,ibin)= 1.0 gam(jnh4msa,ibin) = 1.0 gam(jna3hso4,ibin) = 1.0 gam(jnahso4,ibin) = 1.0 gam(jnamsa,ibin) = 1.0 gam(jcamsa2,ibin) = 1.0 ! raz-30apr07 activity(jlvcite,ibin) = 0.0 activity(jnh4hso4,ibin)= 0.0 activity(jnh4msa,ibin) = mc(jc_nh4,ibin)*ma(ja_msa,ibin)* & gam(jnh4msa,ibin)**2 activity(jna3hso4,ibin)= 0.0 activity(jnahso4,ibin) = 0.0 activity(jnamsa,ibin) = mc(jc_na,ibin)*ma(ja_msa,ibin)* & ! raz-30apr07 gam(jnamsa,ibin)**2 activity(jcamsa2,ibin) = mc(jc_ca,ibin) * ma(ja_msa,ibin)**2 * & ! raz-30apr07 gam(jcamsa2,ibin)**3 gam_ratio(ibin) = gam(jnh4no3,ibin)**2/gam(jhno3,ibin)**2 else ! SULFATE-RICH: solve for SO4= and HSO4- ions jp = jliquid sum_elec = 3.*electrolyte(jh2so4,jp,ibin) + & 2.*electrolyte(jnh4hso4,jp,ibin) + & 5.*electrolyte(jlvcite,jp,ibin) + & 3.*electrolyte(jnh4so4,jp,ibin) + & 2.*electrolyte(jnahso4,jp,ibin) + & 5.*electrolyte(jna3hso4,jp,ibin) + & 3.*electrolyte(jna2so4,jp,ibin) + & 2.*electrolyte(jhno3,jp,ibin) + & 2.*electrolyte(jhcl,jp,ibin) if(sum_elec .eq. 0.0)then do jA = 1, nelectrolyte gam(jA,ibin) = 1.0 enddo goto 20 endif xmol(jh2so4) = 3.*electrolyte(jh2so4,jp,ibin)/sum_elec xmol(jnh4hso4)= 2.*electrolyte(jnh4hso4,jp,ibin)/sum_elec xmol(jlvcite) = 5.*electrolyte(jlvcite,jp,ibin)/sum_elec xmol(jnh4so4) = 3.*electrolyte(jnh4so4,jp,ibin)/sum_elec xmol(jnahso4) = 2.*electrolyte(jnahso4,jp,ibin)/sum_elec xmol(jna3hso4)= 5.*electrolyte(jna3hso4,jp,ibin)/sum_elec xmol(jna2so4) = 3.*electrolyte(jna2so4,jp,ibin)/sum_elec xmol(jhno3) = 2.*electrolyte(jhno3,jp,ibin)/sum_elec xmol(jhcl) = 2.*electrolyte(jhcl,jp,ibin)/sum_elec ! 2H.SO4 jA = jh2so4 log_gam(jA) = xmol(jh2so4) *log_gamZ(jA,jh2so4) + & xmol(jnh4hso4)*log_gamZ(jA,jnh4hso4)+ & xmol(jlvcite) *log_gamZ(jA,jlvcite) + & xmol(jnh4so4) *log_gamZ(jA,jnh4so4) + & xmol(jnahso4) *log_gamZ(jA,jnahso4) + & xmol(jna3hso4)*log_gamZ(jA,jna3hso4)+ & xmol(jna2so4) *log_gamZ(jA,jna2so4) + & xmol(jhno3) *log_gamZ(jA,jhno3) + & xmol(jhcl) *log_gamZ(jA,jhcl) gam(jA,ibin) = 10.**log_gam(jA) ! H.HSO4 jA = jhhso4 log_gam(jA) = xmol(jh2so4) *log_gamZ(jA,jh2so4) + & xmol(jnh4hso4)*log_gamZ(jA,jnh4hso4)+ & xmol(jlvcite) *log_gamZ(jA,jlvcite) + & xmol(jnh4so4) *log_gamZ(jA,jnh4so4) + & xmol(jnahso4) *log_gamZ(jA,jnahso4) + & xmol(jna3hso4)*log_gamZ(jA,jna3hso4)+ & xmol(jna2so4) *log_gamZ(jA,jna2so4) + & xmol(jhno3) *log_gamZ(jA,jhno3) + & xmol(jhcl) *log_gamZ(jA,jhcl) gam(jA,ibin) = 10.**log_gam(jA) ! NH4HSO4 jA = jnh4hso4 log_gam(jA) = xmol(jh2so4) *log_gamZ(jA,jh2so4) + & xmol(jnh4hso4)*log_gamZ(jA,jnh4hso4)+ & xmol(jlvcite) *log_gamZ(jA,jlvcite) + & xmol(jnh4so4) *log_gamZ(jA,jnh4so4) + & xmol(jnahso4) *log_gamZ(jA,jnahso4) + & xmol(jna3hso4)*log_gamZ(jA,jna3hso4)+ & xmol(jna2so4) *log_gamZ(jA,jna2so4) + & xmol(jhno3) *log_gamZ(jA,jhno3) + & xmol(jhcl) *log_gamZ(jA,jhcl) gam(jA,ibin) = 10.**log_gam(jA) ! LETOVICITE jA = jlvcite log_gam(jA) = xmol(jh2so4) *log_gamZ(jA,jh2so4) + & xmol(jnh4hso4)*log_gamZ(jA,jnh4hso4)+ & xmol(jlvcite) *log_gamZ(jA,jlvcite) + & xmol(jnh4so4) *log_gamZ(jA,jnh4so4) + & xmol(jnahso4) *log_gamZ(jA,jnahso4) + & xmol(jna3hso4)*log_gamZ(jA,jna3hso4)+ & xmol(jna2so4) *log_gamZ(jA,jna2so4) + & xmol(jhno3) *log_gamZ(jA,jhno3) + & xmol(jhcl) *log_gamZ(jA,jhcl) gam(jA,ibin) = 10.**log_gam(jA) ! (NH4)2SO4 jA = jnh4so4 log_gam(jA) = xmol(jh2so4) *log_gamZ(jA,jh2so4) + & xmol(jnh4hso4)*log_gamZ(jA,jnh4hso4)+ & xmol(jlvcite) *log_gamZ(jA,jlvcite) + & xmol(jnh4so4) *log_gamZ(jA,jnh4so4) + & xmol(jnahso4) *log_gamZ(jA,jnahso4) + & xmol(jna3hso4)*log_gamZ(jA,jna3hso4)+ & xmol(jna2so4) *log_gamZ(jA,jna2so4) + & xmol(jhno3) *log_gamZ(jA,jhno3) + & xmol(jhcl) *log_gamZ(jA,jhcl) gam(jA,ibin) = 10.**log_gam(jA) ! NaHSO4 jA = jnahso4 log_gam(jA) = xmol(jh2so4) *log_gamZ(jA,jh2so4) + & xmol(jnh4hso4)*log_gamZ(jA,jnh4hso4)+ & xmol(jlvcite) *log_gamZ(jA,jlvcite) + & xmol(jnh4so4) *log_gamZ(jA,jnh4so4) + & xmol(jnahso4) *log_gamZ(jA,jnahso4) + & xmol(jna3hso4)*log_gamZ(jA,jna3hso4)+ & xmol(jna2so4) *log_gamZ(jA,jna2so4) + & xmol(jhno3) *log_gamZ(jA,jhno3) + & xmol(jhcl) *log_gamZ(jA,jhcl) gam(jA,ibin) = 10.**log_gam(jA) ! Na3H(SO4)2 jA = jna3hso4 ! log_gam(jA) = xmol(jh2so4) *log_gamZ(jA,jh2so4) + & ! xmol(jnh4hso4)*log_gamZ(jA,jnh4hso4)+ & ! xmol(jlvcite) *log_gamZ(jA,jlvcite) + & ! xmol(jnh4so4) *log_gamZ(jA,jnh4so4) + & ! xmol(jnahso4) *log_gamZ(jA,jnahso4) + & ! xmol(jna3hso4)*log_gamZ(jA,jna3hso4)+ & ! xmol(jna2so4) *log_gamZ(jA,jna2so4) + & ! xmol(jhno3) *log_gamZ(jA,jhno3) + & ! xmol(jhcl) *log_gamZ(jA,jhcl) ! gam(jA,ibin) = 10.**log_gam(jA) gam(jA,ibin) = 1.0 ! Na2SO4 jA = jna2so4 log_gam(jA) = xmol(jh2so4) *log_gamZ(jA,jh2so4) + & xmol(jnh4hso4)*log_gamZ(jA,jnh4hso4)+ & xmol(jlvcite) *log_gamZ(jA,jlvcite) + & xmol(jnh4so4) *log_gamZ(jA,jnh4so4) + & xmol(jnahso4) *log_gamZ(jA,jnahso4) + & xmol(jna3hso4)*log_gamZ(jA,jna3hso4)+ & xmol(jna2so4) *log_gamZ(jA,jna2so4) + & xmol(jhno3) *log_gamZ(jA,jhno3) + & xmol(jhcl) *log_gamZ(jA,jhcl) gam(jA,ibin) = 10.**log_gam(jA) ! HNO3 jA = jhno3 log_gam(jA) = xmol(jh2so4) *log_gamZ(jA,jh2so4) + & xmol(jnh4hso4)*log_gamZ(jA,jnh4hso4)+ & xmol(jlvcite) *log_gamZ(jA,jlvcite) + & xmol(jnh4so4) *log_gamZ(jA,jnh4so4) + & xmol(jnahso4) *log_gamZ(jA,jnahso4) + & xmol(jna3hso4)*log_gamZ(jA,jna3hso4)+ & xmol(jna2so4) *log_gamZ(jA,jna2so4) + & xmol(jhno3) *log_gamZ(jA,jhno3) + & xmol(jhcl) *log_gamZ(jA,jhcl) gam(jA,ibin) = 10.**log_gam(jA) ! HCl jA = jhcl log_gam(jA) = xmol(jh2so4) *log_gamZ(jA,jh2so4) + & xmol(jnh4hso4)*log_gamZ(jA,jnh4hso4)+ & xmol(jlvcite) *log_gamZ(jA,jlvcite) + & xmol(jnh4so4) *log_gamZ(jA,jnh4so4) + & xmol(jnahso4) *log_gamZ(jA,jnahso4) + & xmol(jna3hso4)*log_gamZ(jA,jna3hso4)+ & xmol(jna2so4) *log_gamZ(jA,jna2so4) + & xmol(jhno3) *log_gamZ(jA,jhno3) + & xmol(jhcl) *log_gamZ(jA,jhcl) gam(jA,ibin) = 10.**log_gam(jA) 20 gam(jnh4no3,ibin) = 1.0 gam(jnh4cl,ibin) = 1.0 gam(jnano3,ibin) = 1.0 gam(jnacl,ibin) = 1.0 gam(jcano3,ibin) = 1.0 gam(jcacl2,ibin) = 1.0 gam(jnh4msa,ibin) = 1.0 gam(jnamsa,ibin) = 1.0 gam(jcamsa2,ibin) = 1.0 ! raz-30apr07 ! compute equilibrium pH ! cation molalities (mol/kg water) mc(jc_ca,ibin) = 0.0 ! aqueous ca never exists in sulfate rich cases mc(jc_nh4,ibin) = 1.e-9*aer(inh4_a,jliquid,ibin)/water_a(ibin) mc(jc_na,ibin) = 1.e-9*aer(ina_a, jliquid,ibin)/water_a(ibin) ! anion molalities (mol/kg water) mSULF = 1.e-9*aer(iso4_a,jliquid,ibin)/water_a(ibin) ma(ja_hso4,ibin) = 0.0 ma(ja_so4,ibin) = 0.0 ma(ja_no3,ibin) = 1.e-9*aer(ino3_a,jliquid,ibin)/water_a(ibin) ma(ja_cl,ibin) = 1.e-9*aer(icl_a, jliquid,ibin)/water_a(ibin) ma(ja_msa,ibin) = 1.e-9*aer(imsa_a,jliquid,ibin)/water_a(ibin) gam_ratio(ibin) = gam(jnh4hso4,ibin)**2/gam(jhhso4,ibin)**2 dumK = Keq_ll(1)*gam(jhhso4,ibin)**2/gam(jh2so4,ibin)**3 c_bal = mc(jc_nh4,ibin) + mc(jc_na,ibin) + 2.*mc(jc_ca,ibin) & ! raz-30apr07 - ma(ja_no3,ibin) - ma(ja_cl,ibin) - mSULF - ma(ja_msa,ibin) aq = 1.0 bq = dumK + c_bal cq = dumK*(c_bal - mSULF) !--quadratic solution if(bq .ne. 0.0)then xq = 4.*(1./bq)*(cq/bq) else xq = 1.e+6 endif if(abs(xq) .lt. 1.e-6)then dum = xq*(0.5 + xq*(0.125 + xq*0.0625)) quad = (-0.5*bq/aq)*dum if(quad .lt. 0.)then quad = -bq/aq - quad endif else quad = 0.5*(-bq+sqrt(bq*bq - 4.*cq)) endif !--end of quadratic solution mc(jc_h,ibin) = max(quad, 1.D-7) ma(ja_so4,ibin) = mSULF*dumK/(mc(jc_h,ibin) + dumK) ma(ja_hso4,ibin)= mSULF - ma(ja_so4,ibin) activity(jcamsa2,ibin) = mc(jc_ca,ibin) * ma(ja_msa,ibin)**2 * & ! raz-30apr07 gam(jcamsa2,ibin)**3 activity(jnh4so4,ibin) = mc(jc_nh4,ibin)**2*ma(ja_so4,ibin)* & gam(jnh4so4,ibin)**3 activity(jlvcite,ibin) = mc(jc_nh4,ibin)**3*ma(ja_hso4,ibin)* & ma(ja_so4,ibin) * gam(jlvcite,ibin)**5 activity(jnh4hso4,ibin)= mc(jc_nh4,ibin)*ma(ja_hso4,ibin)* & gam(jnh4hso4,ibin)**2 activity(jnh4msa,ibin) = mc(jc_nh4,ibin)*ma(ja_msa,ibin)* & gam(jnh4msa,ibin)**2 activity(jna2so4,ibin) = mc(jc_na,ibin)**2*ma(ja_so4,ibin)* & gam(jna2so4,ibin)**3 activity(jnahso4,ibin) = mc(jc_na,ibin)*ma(ja_hso4,ibin)* & gam(jnahso4,ibin)**2 activity(jnamsa,ibin) = mc(jc_na,ibin)*ma(ja_msa,ibin)* & gam(jnamsa,ibin)**2 ! activity(jna3hso4,ibin)= mc(jc_na,ibin)**3*ma(ja_hso4,ibin)* & ! ma(ja_so4,ibin)*gam(jna3hso4,ibin)**5 activity(jna3hso4,ibin)= 0.0 activity(jhno3,ibin) = mc(jc_h,ibin)*ma(ja_no3,ibin)* & gam(jhno3,ibin)**2 activity(jhcl,ibin) = mc(jc_h,ibin)*ma(ja_cl,ibin)* & gam(jhcl,ibin)**2 activity(jmsa,ibin) = mc(jc_h,ibin)*ma(ja_msa,ibin)* & gam(jmsa,ibin)**2 ! sulfate-poor species activity(jnh4no3,ibin) = 0.0 activity(jnh4cl,ibin) = 0.0 activity(jnano3,ibin) = 0.0 activity(jnacl,ibin) = 0.0 activity(jcano3,ibin) = 0.0 activity(jcacl2,ibin) = 0.0 endif return end subroutine compute_activities !*********************************************************************** ! computes mtem ternary parameters only once per transport time-step ! for a given ah2o (= rh) ! ! author: rahul a. zaveri ! update: jan 2005 ! reference: zaveri, r.a., r.c. easter, and a.s. wexler, ! a new method for multicomponent activity coefficients of electrolytes ! in aqueous atmospheric aerosols, j. geophys. res., 2005. !----------------------------------------------------------------------- subroutine mtem_compute_log_gamz ! implicit none ! include 'mosaic.h' ! local variables integer ja ! functions ! real(kind=8) fnlog_gamz, bin_molality ! sulfate-poor species ja = jhno3 log_gamz(ja,jnh4so4) = fnlog_gamz(ja,jnh4so4) log_gamz(ja,jnh4no3) = fnlog_gamz(ja,jnh4no3) log_gamz(ja,jnh4cl) = fnlog_gamz(ja,jnh4cl) log_gamz(ja,jna2so4) = fnlog_gamz(ja,jna2so4) log_gamz(ja,jnano3) = fnlog_gamz(ja,jnano3) log_gamz(ja,jnacl) = fnlog_gamz(ja,jnacl) log_gamz(ja,jcano3) = fnlog_gamz(ja,jcano3) log_gamz(ja,jcacl2) = fnlog_gamz(ja,jcacl2) log_gamz(ja,jhno3) = fnlog_gamz(ja,jhno3) log_gamz(ja,jhcl) = fnlog_gamz(ja,jhcl) log_gamz(ja,jh2so4) = fnlog_gamz(ja,jh2so4) log_gamz(ja,jnh4hso4)= fnlog_gamz(ja,jnh4hso4) log_gamz(ja,jlvcite) = fnlog_gamz(ja,jlvcite) log_gamz(ja,jnahso4) = fnlog_gamz(ja,jnahso4) log_gamz(ja,jna3hso4)= fnlog_gamz(ja,jna3hso4) ja = jhcl log_gamz(ja,jnh4so4) = fnlog_gamz(ja,jnh4so4) log_gamz(ja,jnh4no3) = fnlog_gamz(ja,jnh4no3) log_gamz(ja,jnh4cl) = fnlog_gamz(ja,jnh4cl) log_gamz(ja,jna2so4) = fnlog_gamz(ja,jna2so4) log_gamz(ja,jnano3) = fnlog_gamz(ja,jnano3) log_gamz(ja,jnacl) = fnlog_gamz(ja,jnacl) log_gamz(ja,jcano3) = fnlog_gamz(ja,jcano3) log_gamz(ja,jcacl2) = fnlog_gamz(ja,jcacl2) log_gamz(ja,jhno3) = fnlog_gamz(ja,jhno3) log_gamz(ja,jhcl) = fnlog_gamz(ja,jhcl) log_gamz(ja,jh2so4) = fnlog_gamz(ja,jh2so4) log_gamz(ja,jnh4hso4)= fnlog_gamz(ja,jnh4hso4) log_gamz(ja,jlvcite) = fnlog_gamz(ja,jlvcite) log_gamz(ja,jnahso4) = fnlog_gamz(ja,jnahso4) log_gamz(ja,jna3hso4)= fnlog_gamz(ja,jna3hso4) ja = jnh4so4 log_gamz(ja,jnh4so4) = fnlog_gamz(ja,jnh4so4) log_gamz(ja,jnh4no3) = fnlog_gamz(ja,jnh4no3) log_gamz(ja,jnh4cl) = fnlog_gamz(ja,jnh4cl) log_gamz(ja,jna2so4) = fnlog_gamz(ja,jna2so4) log_gamz(ja,jnano3) = fnlog_gamz(ja,jnano3) log_gamz(ja,jnacl) = fnlog_gamz(ja,jnacl) log_gamz(ja,jcano3) = fnlog_gamz(ja,jcano3) log_gamz(ja,jcacl2) = fnlog_gamz(ja,jcacl2) log_gamz(ja,jhno3) = fnlog_gamz(ja,jhno3) log_gamz(ja,jhcl) = fnlog_gamz(ja,jhcl) log_gamz(ja,jh2so4) = fnlog_gamz(ja,jh2so4) log_gamz(ja,jnh4hso4)= fnlog_gamz(ja,jnh4hso4) log_gamz(ja,jlvcite) = fnlog_gamz(ja,jlvcite) log_gamz(ja,jnahso4) = fnlog_gamz(ja,jnahso4) log_gamz(ja,jna3hso4)= fnlog_gamz(ja,jna3hso4) ja = jnh4no3 log_gamz(ja,jnh4so4) = fnlog_gamz(ja,jnh4so4) log_gamz(ja,jnh4no3) = fnlog_gamz(ja,jnh4no3) log_gamz(ja,jnh4cl) = fnlog_gamz(ja,jnh4cl) log_gamz(ja,jna2so4) = fnlog_gamz(ja,jna2so4) log_gamz(ja,jnano3) = fnlog_gamz(ja,jnano3) log_gamz(ja,jnacl) = fnlog_gamz(ja,jnacl) log_gamz(ja,jcano3) = fnlog_gamz(ja,jcano3) log_gamz(ja,jcacl2) = fnlog_gamz(ja,jcacl2) log_gamz(ja,jhno3) = fnlog_gamz(ja,jhno3) log_gamz(ja,jhcl) = fnlog_gamz(ja,jhcl) ja = jnh4cl log_gamz(ja,jnh4so4) = fnlog_gamz(ja,jnh4so4) log_gamz(ja,jnh4no3) = fnlog_gamz(ja,jnh4no3) log_gamz(ja,jnh4cl) = fnlog_gamz(ja,jnh4cl) log_gamz(ja,jna2so4) = fnlog_gamz(ja,jna2so4) log_gamz(ja,jnano3) = fnlog_gamz(ja,jnano3) log_gamz(ja,jnacl) = fnlog_gamz(ja,jnacl) log_gamz(ja,jcano3) = fnlog_gamz(ja,jcano3) log_gamz(ja,jcacl2) = fnlog_gamz(ja,jcacl2) log_gamz(ja,jhno3) = fnlog_gamz(ja,jhno3) log_gamz(ja,jhcl) = fnlog_gamz(ja,jhcl) ja = jna2so4 log_gamz(ja,jnh4so4) = fnlog_gamz(ja,jnh4so4) log_gamz(ja,jnh4no3) = fnlog_gamz(ja,jnh4no3) log_gamz(ja,jnh4cl) = fnlog_gamz(ja,jnh4cl) log_gamz(ja,jna2so4) = fnlog_gamz(ja,jna2so4) log_gamz(ja,jnano3) = fnlog_gamz(ja,jnano3) log_gamz(ja,jnacl) = fnlog_gamz(ja,jnacl) log_gamz(ja,jcano3) = fnlog_gamz(ja,jcano3) log_gamz(ja,jcacl2) = fnlog_gamz(ja,jcacl2) log_gamz(ja,jhno3) = fnlog_gamz(ja,jhno3) log_gamz(ja,jhcl) = fnlog_gamz(ja,jhcl) log_gamz(ja,jh2so4) = fnlog_gamz(ja,jh2so4) log_gamz(ja,jnh4hso4)= fnlog_gamz(ja,jnh4hso4) log_gamz(ja,jlvcite) = fnlog_gamz(ja,jlvcite) log_gamz(ja,jnahso4) = fnlog_gamz(ja,jnahso4) log_gamz(ja,jna3hso4)= fnlog_gamz(ja,jna3hso4) ja = jnano3 log_gamz(ja,jnh4so4) = fnlog_gamz(ja,jnh4so4) log_gamz(ja,jnh4no3) = fnlog_gamz(ja,jnh4no3) log_gamz(ja,jnh4cl) = fnlog_gamz(ja,jnh4cl) log_gamz(ja,jna2so4) = fnlog_gamz(ja,jna2so4) log_gamz(ja,jnano3) = fnlog_gamz(ja,jnano3) log_gamz(ja,jnacl) = fnlog_gamz(ja,jnacl) log_gamz(ja,jcano3) = fnlog_gamz(ja,jcano3) log_gamz(ja,jcacl2) = fnlog_gamz(ja,jcacl2) log_gamz(ja,jhno3) = fnlog_gamz(ja,jhno3) log_gamz(ja,jhcl) = fnlog_gamz(ja,jhcl) ja = jnacl log_gamz(ja,jnh4so4) = fnlog_gamz(ja,jnh4so4) log_gamz(ja,jnh4no3) = fnlog_gamz(ja,jnh4no3) log_gamz(ja,jnh4cl) = fnlog_gamz(ja,jnh4cl) log_gamz(ja,jna2so4) = fnlog_gamz(ja,jna2so4) log_gamz(ja,jnano3) = fnlog_gamz(ja,jnano3) log_gamz(ja,jnacl) = fnlog_gamz(ja,jnacl) log_gamz(ja,jcano3) = fnlog_gamz(ja,jcano3) log_gamz(ja,jcacl2) = fnlog_gamz(ja,jcacl2) log_gamz(ja,jhno3) = fnlog_gamz(ja,jhno3) log_gamz(ja,jhcl) = fnlog_gamz(ja,jhcl) ja = jcano3 log_gamz(ja,jnh4so4) = fnlog_gamz(ja,jnh4so4) log_gamz(ja,jnh4no3) = fnlog_gamz(ja,jnh4no3) log_gamz(ja,jnh4cl) = fnlog_gamz(ja,jnh4cl) log_gamz(ja,jna2so4) = fnlog_gamz(ja,jna2so4) log_gamz(ja,jnano3) = fnlog_gamz(ja,jnano3) log_gamz(ja,jnacl) = fnlog_gamz(ja,jnacl) log_gamz(ja,jcano3) = fnlog_gamz(ja,jcano3) log_gamz(ja,jcacl2) = fnlog_gamz(ja,jcacl2) log_gamz(ja,jhno3) = fnlog_gamz(ja,jhno3) log_gamz(ja,jhcl) = fnlog_gamz(ja,jhcl) ja = jcacl2 log_gamz(ja,jnh4so4) = fnlog_gamz(ja,jnh4so4) log_gamz(ja,jnh4no3) = fnlog_gamz(ja,jnh4no3) log_gamz(ja,jnh4cl) = fnlog_gamz(ja,jnh4cl) log_gamz(ja,jna2so4) = fnlog_gamz(ja,jna2so4) log_gamz(ja,jnano3) = fnlog_gamz(ja,jnano3) log_gamz(ja,jnacl) = fnlog_gamz(ja,jnacl) log_gamz(ja,jcano3) = fnlog_gamz(ja,jcano3) log_gamz(ja,jcacl2) = fnlog_gamz(ja,jcacl2) log_gamz(ja,jhno3) = fnlog_gamz(ja,jhno3) log_gamz(ja,jhcl) = fnlog_gamz(ja,jhcl) ! sulfate-rich species ja = jh2so4 log_gamz(ja,jh2so4) = fnlog_gamz(ja,jh2so4) log_gamz(ja,jnh4hso4)= fnlog_gamz(ja,jnh4hso4) log_gamz(ja,jlvcite) = fnlog_gamz(ja,jlvcite) log_gamz(ja,jnh4so4) = fnlog_gamz(ja,jnh4so4) log_gamz(ja,jnahso4) = fnlog_gamz(ja,jnahso4) log_gamz(ja,jna3hso4)= fnlog_gamz(ja,jna3hso4) log_gamz(ja,jna2so4) = fnlog_gamz(ja,jna2so4) log_gamz(ja,jhno3) = fnlog_gamz(ja,jhno3) log_gamz(ja,jhcl) = fnlog_gamz(ja,jhcl) ja = jhhso4 log_gamz(ja,jh2so4) = fnlog_gamz(ja,jh2so4) log_gamz(ja,jnh4hso4)= fnlog_gamz(ja,jnh4hso4) log_gamz(ja,jlvcite) = fnlog_gamz(ja,jlvcite) log_gamz(ja,jnh4so4) = fnlog_gamz(ja,jnh4so4) log_gamz(ja,jnahso4) = fnlog_gamz(ja,jnahso4) log_gamz(ja,jna3hso4)= fnlog_gamz(ja,jna3hso4) log_gamz(ja,jna2so4) = fnlog_gamz(ja,jna2so4) log_gamz(ja,jhno3) = fnlog_gamz(ja,jhno3) log_gamz(ja,jhcl) = fnlog_gamz(ja,jhcl) ja = jnh4hso4 log_gamz(ja,jh2so4) = fnlog_gamz(ja,jh2so4) log_gamz(ja,jnh4hso4)= fnlog_gamz(ja,jnh4hso4) log_gamz(ja,jlvcite) = fnlog_gamz(ja,jlvcite) log_gamz(ja,jnh4so4) = fnlog_gamz(ja,jnh4so4) log_gamz(ja,jnahso4) = fnlog_gamz(ja,jnahso4) log_gamz(ja,jna3hso4)= fnlog_gamz(ja,jna3hso4) log_gamz(ja,jna2so4) = fnlog_gamz(ja,jna2so4) log_gamz(ja,jhno3) = fnlog_gamz(ja,jhno3) log_gamz(ja,jhcl) = fnlog_gamz(ja,jhcl) ja = jlvcite log_gamz(ja,jh2so4) = fnlog_gamz(ja,jh2so4) log_gamz(ja,jnh4hso4)= fnlog_gamz(ja,jnh4hso4) log_gamz(ja,jlvcite) = fnlog_gamz(ja,jlvcite) log_gamz(ja,jnh4so4) = fnlog_gamz(ja,jnh4so4) log_gamz(ja,jnahso4) = fnlog_gamz(ja,jnahso4) log_gamz(ja,jna3hso4)= fnlog_gamz(ja,jna3hso4) log_gamz(ja,jna2so4) = fnlog_gamz(ja,jna2so4) log_gamz(ja,jhno3) = fnlog_gamz(ja,jhno3) log_gamz(ja,jhcl) = fnlog_gamz(ja,jhcl) ja = jnahso4 log_gamz(ja,jh2so4) = fnlog_gamz(ja,jh2so4) log_gamz(ja,jnh4hso4)= fnlog_gamz(ja,jnh4hso4) log_gamz(ja,jlvcite) = fnlog_gamz(ja,jlvcite) log_gamz(ja,jnh4so4) = fnlog_gamz(ja,jnh4so4) log_gamz(ja,jnahso4) = fnlog_gamz(ja,jnahso4) log_gamz(ja,jna3hso4)= fnlog_gamz(ja,jna3hso4) log_gamz(ja,jna2so4) = fnlog_gamz(ja,jna2so4) log_gamz(ja,jhno3) = fnlog_gamz(ja,jhno3) log_gamz(ja,jhcl) = fnlog_gamz(ja,jhcl) ja = jna3hso4 log_gamz(ja,jh2so4) = fnlog_gamz(ja,jh2so4) log_gamz(ja,jnh4hso4)= fnlog_gamz(ja,jnh4hso4) log_gamz(ja,jlvcite) = fnlog_gamz(ja,jlvcite) log_gamz(ja,jnh4so4) = fnlog_gamz(ja,jnh4so4) log_gamz(ja,jnahso4) = fnlog_gamz(ja,jnahso4) log_gamz(ja,jna3hso4)= fnlog_gamz(ja,jna3hso4) log_gamz(ja,jna2so4) = fnlog_gamz(ja,jna2so4) log_gamz(ja,jhno3) = fnlog_gamz(ja,jhno3) log_gamz(ja,jhcl) = fnlog_gamz(ja,jhcl) return end subroutine mtem_compute_log_gamz !*********************************************************************** ! computes sulfate ratio ! ! author: rahul a. zaveri ! update: dec 1999 !----------------------------------------------------------------------- subroutine calculate_xt(ibin,jp,xt) ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin, jp real(kind=8) xt if( (aer(iso4_a,jp,ibin)+aer(imsa_a,jp,ibin)) .gt.0.0)then xt = ( aer(inh4_a,jp,ibin) + & & aer(ina_a,jp,ibin) + & & 2.*aer(ica_a,jp,ibin) )/ & & (aer(iso4_a,jp,ibin)+0.5*aer(imsa_a,jp,ibin)) else xt = -1.0 endif return end subroutine calculate_xt !*********************************************************************** ! computes ions from electrolytes ! ! author: rahul a. zaveri ! update: jan 2005 !----------------------------------------------------------------------- subroutine electrolytes_to_ions(jp,ibin) ! implicit none ! include 'mosaic.h' ! subr arguments integer jp, ibin aer(iso4_a,jp,ibin) = electrolyte(jcaso4,jp,ibin) + & electrolyte(jna2so4,jp,ibin) + & 2.*electrolyte(jna3hso4,jp,ibin)+ & electrolyte(jnahso4,jp,ibin) + & electrolyte(jnh4so4,jp,ibin) + & 2.*electrolyte(jlvcite,jp,ibin) + & electrolyte(jnh4hso4,jp,ibin)+ & electrolyte(jh2so4,jp,ibin) aer(ino3_a,jp,ibin) = electrolyte(jnano3,jp,ibin) + & 2.*electrolyte(jcano3,jp,ibin) + & electrolyte(jnh4no3,jp,ibin) + & electrolyte(jhno3,jp,ibin) aer(icl_a,jp,ibin) = electrolyte(jnacl,jp,ibin) + & 2.*electrolyte(jcacl2,jp,ibin) + & electrolyte(jnh4cl,jp,ibin) + & electrolyte(jhcl,jp,ibin) aer(imsa_a,jp,ibin) = electrolyte(jnh4msa,jp,ibin) + & electrolyte(jnamsa,jp,ibin) + & 2.*electrolyte(jcamsa2,jp,ibin) + & electrolyte(jmsa,jp,ibin) aer(ico3_a,jp,ibin) = electrolyte(jcaco3,jp,ibin) aer(ica_a,jp,ibin) = electrolyte(jcaso4,jp,ibin) + & electrolyte(jcano3,jp,ibin) + & electrolyte(jcacl2,jp,ibin) + & electrolyte(jcaco3,jp,ibin) + & electrolyte(jcamsa2,jp,ibin) aer(ina_a,jp,ibin) = electrolyte(jnano3,jp,ibin) + & electrolyte(jnacl,jp,ibin) + & 2.*electrolyte(jna2so4,jp,ibin) + & 3.*electrolyte(jna3hso4,jp,ibin)+ & electrolyte(jnahso4,jp,ibin) + & electrolyte(jnamsa,jp,ibin) aer(inh4_a,jp,ibin) = electrolyte(jnh4no3,jp,ibin) + & electrolyte(jnh4cl,jp,ibin) + & 2.*electrolyte(jnh4so4,jp,ibin) + & 3.*electrolyte(jlvcite,jp,ibin) + & electrolyte(jnh4hso4,jp,ibin)+ & electrolyte(jnh4msa,jp,ibin) return end subroutine electrolytes_to_ions !*********************************************************************** ! combinatorial method for computing electrolytes from ions ! ! notes: ! - to be used for liquid-phase or total-phase only ! - transfers caso4 and caco3 from liquid to solid phase ! ! author: rahul a. zaveri (based on code provided by a.s. wexler ! update: apr 2005 !----------------------------------------------------------------------- subroutine ions_to_electrolytes(jp,ibin,xt) ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin, jp real(kind=8) xt ! local variables integer iaer, je, jc, ja, icase real(kind=8) store(naer), sum_dum, sum_naza, sum_nczc, sum_na_nh4, & f_nh4, f_na, xh, xb, xl, xs, cat_net, rem_nh4, rem_na real(kind=8) nc(ncation), na(nanion) if(jp .ne. jliquid)then if (iprint_mosaic_fe1 .gt. 0) then write(6,*)' jp must be jliquid' write(6,*)' in ions_to_electrolytes sub' write(6,*)' wrong jp = ', jp write(6,*)' mosaic fatal error in ions_to_electrolytes' endif ! stop istat_mosaic_fe1 = -2000 return endif ! remove negative concentrations, if any do iaer = 1, naer aer(iaer,jp,ibin) = max(0.0D0, aer(iaer,jp,ibin)) enddo ! first transfer caso4 from liquid to solid phase (caco3 should not be present here) store(ica_a) = aer(ica_a, jp,ibin) store(iso4_a) = aer(iso4_a,jp,ibin) call form_caso4(store,jp,ibin) if(jp .eq. jliquid)then ! transfer caso4 from liquid to solid phase aer(ica_a,jliquid,ibin) = aer(ica_a,jliquid,ibin) - & electrolyte(jcaso4,jliquid,ibin) aer(iso4_a,jliquid,ibin)= aer(iso4_a,jliquid,ibin)- & electrolyte(jcaso4,jliquid,ibin) aer(ica_a,jsolid,ibin) = aer(ica_a,jsolid,ibin) + & electrolyte(jcaso4,jliquid,ibin) aer(iso4_a,jsolid,ibin) = aer(iso4_a,jsolid,ibin) + & electrolyte(jcaso4,jliquid,ibin) electrolyte(jcaso4,jsolid,ibin)=electrolyte(jcaso4,jsolid,ibin) & +electrolyte(jcaso4,jliquid,ibin) electrolyte(jcaso4,jliquid,ibin)= 0.0 endif ! calculate sulfate ratio call calculate_xt(ibin,jp,xt) if(xt .ge. 1.9999 .or. xt.lt.0.)then icase = 1 ! near neutral (acidity is caused by hcl and/or hno3) else icase = 2 ! acidic (acidity is caused by excess so4) endif ! initialize to zero do je = 1, nelectrolyte electrolyte(je,jp,ibin) = 0.0 enddo ! !--------------------------------------------------------- ! initialize moles of ions depending on the sulfate domain if(icase.eq.1)then ! xt >= 2 : sulfate poor domain na(ja_hso4)= 0.0 na(ja_so4) = aer(iso4_a,jp,ibin) na(ja_no3) = aer(ino3_a,jp,ibin) na(ja_cl) = aer(icl_a, jp,ibin) na(ja_msa) = aer(imsa_a,jp,ibin) nc(jc_ca) = aer(ica_a, jp,ibin) nc(jc_na) = aer(ina_a, jp,ibin) nc(jc_nh4) = aer(inh4_a,jp,ibin) cat_net =& ( 2.*na(ja_so4)+na(ja_no3)+na(ja_cl)+na(ja_msa) )- & ( 2.*nc(jc_ca) +nc(jc_nh4)+nc(jc_na) ) if(cat_net .lt. 0.0)then nc(jc_h) = 0.0 else ! cat_net must be 0.0 or positive nc(jc_h) = cat_net endif ! now compute equivalent fractions sum_naza = 0.0 do ja = 1, nanion sum_naza = sum_naza + na(ja)*za(ja) enddo sum_nczc = 0.0 do jc = 1, ncation sum_nczc = sum_nczc + nc(jc)*zc(jc) enddo if(sum_naza .eq. 0. .or. sum_nczc .eq. 0.)then if (iprint_mosaic_diag1 .gt. 0) then write(6,*)'mosaic ions_to_electrolytes' write(6,*)'ionic concentrations are zero' write(6,*)'sum_naza = ', sum_naza write(6,*)'sum_nczc = ', sum_nczc endif return endif do ja = 1, nanion xeq_a(ja) = na(ja)*za(ja)/sum_naza enddo do jc = 1, ncation xeq_c(jc) = nc(jc)*zc(jc)/sum_nczc enddo na_ma(ja_so4) = na(ja_so4) *mw_a(ja_so4) na_ma(ja_no3) = na(ja_no3) *mw_a(ja_no3) na_ma(ja_cl) = na(ja_cl) *mw_a(ja_cl) na_ma(ja_msa) = na(ja_msa) *mw_a(ja_msa) na_ma(ja_hso4)= na(ja_hso4)*mw_a(ja_hso4) nc_mc(jc_ca) = nc(jc_ca) *mw_c(jc_ca) nc_mc(jc_na) = nc(jc_na) *mw_c(jc_na) nc_mc(jc_nh4) = nc(jc_nh4)*mw_c(jc_nh4) nc_mc(jc_h) = nc(jc_h) *mw_c(jc_h) ! now compute electrolyte moles if(xeq_c(jc_na) .gt. 0. .and. xeq_a(ja_so4) .gt. 0.)then electrolyte(jna2so4,jp,ibin) = (xeq_c(jc_na) *na_ma(ja_so4) + & xeq_a(ja_so4)*nc_mc(jc_na))/ & mw_electrolyte(jna2so4) endif electrolyte(jnahso4,jp,ibin) = 0.0 if(xeq_c(jc_na) .gt. 0. .and. xeq_a(ja_msa) .gt. 0.)then electrolyte(jnamsa,jp,ibin) = (xeq_c(jc_na) *na_Ma(ja_msa) + & xeq_a(ja_msa)*nc_Mc(jc_na))/ & mw_electrolyte(jnamsa) endif if(xeq_c(jc_na) .gt. 0. .and. xeq_a(ja_no3) .gt. 0.)then electrolyte(jnano3, jp,ibin) = (xeq_c(jc_na) *na_ma(ja_no3) + & xeq_a(ja_no3)*nc_mc(jc_na))/ & mw_electrolyte(jnano3) endif if(xeq_c(jc_na) .gt. 0. .and. xeq_a(ja_cl) .gt. 0.)then electrolyte(jnacl, jp,ibin) = (xeq_c(jc_na) *na_ma(ja_cl) + & xeq_a(ja_cl) *nc_mc(jc_na))/ & mw_electrolyte(jnacl) endif if(xeq_c(jc_nh4) .gt. 0. .and. xeq_a(ja_so4) .gt. 0.)then electrolyte(jnh4so4,jp,ibin) = (xeq_c(jc_nh4)*na_ma(ja_so4) + & xeq_a(ja_so4)*nc_mc(jc_nh4))/ & mw_electrolyte(jnh4so4) endif electrolyte(jnh4hso4,jp,ibin)= 0.0 if(xeq_c(jc_nh4) .gt. 0. .and. xeq_a(ja_msa) .gt. 0.)then electrolyte(jnh4msa,jp,ibin) = (xeq_c(jc_nh4)*na_Ma(ja_msa) + & xeq_a(ja_msa)*nc_Mc(jc_nh4))/ & mw_electrolyte(jnh4msa) endif if(xeq_c(jc_nh4) .gt. 0. .and. xeq_a(ja_no3) .gt. 0.)then electrolyte(jnh4no3,jp,ibin) = (xeq_c(jc_nh4)*na_ma(ja_no3) + & xeq_a(ja_no3)*nc_mc(jc_nh4))/ & mw_electrolyte(jnh4no3) endif if(xeq_c(jc_nh4) .gt. 0. .and. xeq_a(ja_cl) .gt. 0.)then electrolyte(jnh4cl, jp,ibin) = (xeq_c(jc_nh4)*na_ma(ja_cl) + & xeq_a(ja_cl) *nc_mc(jc_nh4))/ & mw_electrolyte(jnh4cl) endif if(xeq_c(jc_ca) .gt. 0. .and. xeq_a(ja_no3) .gt. 0.0)then electrolyte(jcano3, jp,ibin) = (xeq_c(jc_ca) *na_ma(ja_no3) + & xeq_a(ja_no3)*nc_mc(jc_ca))/ & mw_electrolyte(jcano3) endif if(xeq_c(jc_ca) .gt. 0. .and. xeq_a(ja_cl) .gt. 0.)then electrolyte(jcacl2, jp,ibin) = (xeq_c(jc_ca) *na_ma(ja_cl) + & xeq_a(ja_cl) *nc_mc(jc_ca))/ & mw_electrolyte(jcacl2) endif if(xeq_c(jc_ca) .gt. 0. .and. xeq_a(ja_msa) .gt. 0.)then electrolyte(jcamsa2,jp,ibin) = (xeq_c(jc_ca) *na_Ma(ja_msa) + & xeq_a(ja_msa) *nc_Mc(jc_ca))/ & mw_electrolyte(jcamsa2) endif electrolyte(jh2so4, jp,ibin) = 0.0 if(xeq_c(jc_h) .gt. 0. .and. xeq_a(ja_no3) .gt. 0.)then electrolyte(jhno3, jp,ibin) = (xeq_c(jc_h) *na_ma(ja_no3) + & xeq_a(ja_no3)*nc_mc(jc_h))/ & mw_electrolyte(jhno3) endif if(xeq_c(jc_h) .gt. 0. .and. xeq_a(ja_cl) .gt. 0.)then electrolyte(jhcl, jp,ibin) = (xeq_c(jc_h) *na_ma(ja_cl) + & xeq_a(ja_cl)*nc_mc(jc_h))/ & mw_electrolyte(jhcl) endif if(xeq_c(jc_h) .gt. 0. .and. xeq_a(ja_msa) .gt. 0.)then electrolyte(jmsa,jp,ibin) = (xeq_c(jc_h) *na_ma(ja_msa) + & xeq_a(ja_msa)*nc_mc(jc_h))/ & mw_electrolyte(jmsa) endif !-------------------------------------------------------------------- elseif(icase.eq.2)then ! xt < 2 : sulfate rich domain store(imsa_a) = aer(imsa_a,jp,ibin) store(ica_a) = aer(ica_a, jp,ibin) call form_camsa2(store,jp,ibin) sum_na_nh4 = aer(ina_a,jp,ibin) + aer(inh4_a,jp,ibin) if(sum_na_nh4 .gt. 0.0)then f_nh4 = aer(inh4_a,jp,ibin)/sum_na_nh4 f_na = aer(ina_a,jp,ibin)/sum_na_nh4 else f_nh4 = 0.0 f_na = 0.0 endif ! first form msa electrolytes if(sum_na_nh4 .gt. store(imsa_a))then electrolyte(jnamsa,jp,ibin) = f_na *store(imsa_a) electrolyte(jnh4msa,jp,ibin) = f_nh4*store(imsa_a) rem_na = aer(ina_a,jp,ibin) - electrolyte(jnamsa,jp,ibin) ! remaining na rem_nh4= aer(inh4_a,jp,ibin)- electrolyte(jnh4msa,jp,ibin) ! remaining nh4 else electrolyte(jnamsa,jp,ibin) = aer(ina_a,jp,ibin) electrolyte(jnh4msa,jp,ibin) = aer(inh4_a,jp,ibin) electrolyte(jmsa,jp,ibin) = store(imsa_a) - sum_na_nh4 rem_nh4 = 0.0 ! remaining nh4 rem_na = 0.0 ! remaining na endif ! recompute xt if(aer(iso4_a,jp,ibin).gt.0.0)then xt = (rem_nh4 + rem_na)/aer(iso4_a,jp,ibin) else goto 10 endif if(xt .le. 1.0)then ! h2so4 + bisulfate xh = (1.0 - xt) xb = xt electrolyte(jh2so4,jp,ibin) = xh*aer(iso4_a,jp,ibin) electrolyte(jnh4hso4,jp,ibin) = xb*f_nh4*aer(iso4_a,jp,ibin) electrolyte(jnahso4,jp,ibin) = xb*f_na *aer(iso4_a,jp,ibin) elseif(xt .le. 1.5)then ! bisulfate + letovicite xb = 3.0 - 2.0*xt xl = xt - 1.0 electrolyte(jnh4hso4,jp,ibin) = xb*f_nh4*aer(iso4_a,jp,ibin) electrolyte(jnahso4,jp,ibin) = xb*f_na *aer(iso4_a,jp,ibin) electrolyte(jlvcite,jp,ibin) = xl*f_nh4*aer(iso4_a,jp,ibin) electrolyte(jna3hso4,jp,ibin) = xl*f_na *aer(iso4_a,jp,ibin) else ! letovicite + sulfate xl = 2.0 - xt xs = 2.0*xt - 3.0 electrolyte(jlvcite,jp,ibin) = xl*f_nh4*aer(iso4_a,jp,ibin) electrolyte(jna3hso4,jp,ibin) = xl*f_na *aer(iso4_a,jp,ibin) electrolyte(jnh4so4,jp,ibin) = xs*f_nh4*aer(iso4_a,jp,ibin) electrolyte(jna2so4,jp,ibin) = xs*f_na *aer(iso4_a,jp,ibin) endif electrolyte(jhno3,jp,ibin) = aer(ino3_a,jp,ibin) electrolyte(jhcl,jp,ibin) = aer(icl_a,jp,ibin) endif !--------------------------------------------------------- ! ! calculate % composition !! 10 sum_dum = 0.0 !! do je = 1, nelectrolyte !! sum_dum = sum_dum + electrolyte(je,jp,ibin) !! enddo !! !! if(sum_dum .eq. 0.)sum_dum = 1.0 !! electrolyte_sum(jp,ibin) = sum_dum !! !! do je = 1, nelectrolyte !! epercent(je,jp,ibin) = 100.*electrolyte(je,jp,ibin)/sum_dum !! enddo 10 return end subroutine ions_to_electrolytes !*********************************************************************** ! conforms aerosol generic species to a valid electrolyte composition ! ! author: rahul a. zaveri ! update: june 2000 !----------------------------------------------------------------------- subroutine conform_electrolytes(jp,ibin,xt) ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin, jp real(kind=8) xt ! local variables integer i, ixt_case, je real(kind=8) sum_dum, xna_prime, xnh4_prime, xt_prime real(kind=8) store(naer) ! remove negative concentrations, if any do i=1,naer aer(i,jp,ibin) = max(0.0D0, aer(i,jp,ibin)) enddo call calculate_xt(ibin,jp,xt) if(xt .ge. 1.9999 .or. xt.lt.0.)then ixt_case = 1 ! near neutral (acidity is caused by hcl and/or hno3) else ixt_case = 2 ! acidic (acidity is caused by excess so4) endif ! initialize ! ! put total aer(*) into store(*) store(iso4_a) = aer(iso4_a,jp,ibin) store(ino3_a) = aer(ino3_a,jp,ibin) store(icl_a) = aer(icl_a, jp,ibin) store(imsa_a) = aer(imsa_a,jp,ibin) store(ico3_a) = aer(ico3_a,jp,ibin) store(inh4_a) = aer(inh4_a,jp,ibin) store(ina_a) = aer(ina_a, jp,ibin) store(ica_a) = aer(ica_a, jp,ibin) do je=1,nelectrolyte electrolyte(je,jp,ibin) = 0.0 enddo ! !--------------------------------------------------------- ! if(ixt_case.eq.1)then ! xt >= 2 : sulfate deficient call form_caso4(store,jp,ibin) call form_camsa2(store,jp,ibin) call form_na2so4(store,jp,ibin) call form_namsa(store,jp,ibin) call form_cano3(store,jp,ibin) call form_nano3(store,jp,ibin) call form_nacl(store,jp,ibin) call form_cacl2(store,jp,ibin) call form_caco3(store,jp,ibin) call form_nh4so4(store,jp,ibin) call form_nh4msa(store,jp,ibin) call form_nh4no3(store,jp,ibin) call form_nh4cl(store,jp,ibin) call form_msa(store,jp,ibin) call degas_hno3(store,jp,ibin) call degas_hcl(store,jp,ibin) call degas_nh3(store,jp,ibin) elseif(ixt_case.eq.2)then ! xt < 2 : sulfate enough or sulfate excess call form_caso4(store,jp,ibin) call form_camsa2(store,jp,ibin) call form_namsa(store,jp,ibin) call form_nh4msa(store,jp,ibin) call form_msa(store,jp,ibin) if(store(iso4_a).eq.0.0)goto 10 xt_prime =(store(ina_a)+store(inh4_a))/ & store(iso4_a) xna_prime=0.5*store(ina_a)/store(iso4_a) + 1. if(xt_prime.ge.xna_prime)then call form_na2so4(store,jp,ibin) xnh4_prime = 0.0 if(store(iso4_a).gt.1.e-15)then xnh4_prime = store(inh4_a)/store(iso4_a) endif if(xnh4_prime .ge. 1.5)then call form_nh4so4_lvcite(store,jp,ibin) else call form_lvcite_nh4hso4(store,jp,ibin) endif elseif(xt_prime.ge.1.)then call form_nh4hso4(store,jp,ibin) call form_na2so4_nahso4(store,jp,ibin) elseif(xt_prime.lt.1.)then call form_nahso4(store,jp,ibin) call form_nh4hso4(store,jp,ibin) call form_h2so4(store,jp,ibin) endif 10 call degas_hno3(store,jp,ibin) call degas_hcl(store,jp,ibin) call degas_nh3(store,jp,ibin) endif ! case 1, 2 ! re-calculate ions to eliminate round-off errors call electrolytes_to_ions(jp, ibin) !--------------------------------------------------------- ! ! calculate % composition !! sum_dum = 0.0 !! do je = 1, nelectrolyte !! electrolyte(je,jp,ibin) = max(0.D0,electrolyte(je,jp,ibin)) ! remove -ve !! sum_dum = sum_dum + electrolyte(je,jp,ibin) !! enddo !! if(sum_dum .eq. 0.)sum_dum = 1.0 !! electrolyte_sum(jp,ibin) = sum_dum !! do je = 1, nelectrolyte !! epercent(je,jp,ibin) = 100.*electrolyte(je,jp,ibin)/sum_dum !! enddo return end subroutine conform_electrolytes !*********************************************************************** ! forms electrolytes from ions ! ! author: rahul a. zaveri ! update: june 2000 !----------------------------------------------------------------------- subroutine form_electrolytes(jp,ibin,xt) ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin, jp real(kind=8) xt ! local variables integer i, ixt_case, j, je real(kind=8) sum_dum, xna_prime, xnh4_prime, xt_prime real(kind=8) store(naer) ! remove negative concentrations, if any do i=1,naer aer(i,jp,ibin) = max(0.0D0, aer(i,jp,ibin)) enddo call calculate_xt(ibin,jp,xt) if(xt .ge. 1.9999 .or. xt.lt.0.)then ixt_case = 1 ! near neutral (acidity is caused by hcl and/or hno3) else ixt_case = 2 ! acidic (acidity is caused by excess so4) endif ! initialize ! ! put total aer(*) into store(*) store(iso4_a) = aer(iso4_a,jp,ibin) store(ino3_a) = aer(ino3_a,jp,ibin) store(icl_a) = aer(icl_a, jp,ibin) store(imsa_a) = aer(imsa_a,jp,ibin) store(ico3_a) = aer(ico3_a,jp,ibin) store(inh4_a) = aer(inh4_a,jp,ibin) store(ina_a) = aer(ina_a, jp,ibin) store(ica_a) = aer(ica_a, jp,ibin) ! do j=1,nelectrolyte electrolyte(j,jp,ibin) = 0.0 enddo ! !--------------------------------------------------------- ! if(ixt_case.eq.1)then ! xt >= 2 : sulfate deficient call form_caso4(store,jp,ibin) call form_camsa2(store,jp,ibin) call form_na2so4(store,jp,ibin) call form_namsa(store,jp,ibin) call form_cano3(store,jp,ibin) call form_nano3(store,jp,ibin) call form_nacl(store,jp,ibin) call form_cacl2(store,jp,ibin) call form_caco3(store,jp,ibin) call form_nh4so4(store,jp,ibin) call form_nh4msa(store,jp,ibin) call form_nh4no3(store,jp,ibin) call form_nh4cl(store,jp,ibin) call form_msa(store,jp,ibin) if(jp .eq. jsolid)then call degas_hno3(store,jp,ibin) call degas_hcl(store,jp,ibin) call degas_nh3(store,jp,ibin) else call form_hno3(store,jp,ibin) call form_hcl(store,jp,ibin) call degas_nh3(store,jp,ibin) endif elseif(ixt_case.eq.2)then ! xt < 2 : sulfate enough or sulfate excess call form_caso4(store,jp,ibin) call form_camsa2(store,jp,ibin) call form_namsa(store,jp,ibin) call form_nh4msa(store,jp,ibin) call form_msa(store,jp,ibin) if(store(iso4_a).eq.0.0)goto 10 xt_prime =(store(ina_a)+store(inh4_a))/ & store(iso4_a) xna_prime=0.5*store(ina_a)/store(iso4_a) + 1. if(xt_prime.ge.xna_prime)then call form_na2so4(store,jp,ibin) xnh4_prime = 0.0 if(store(iso4_a).gt.1.e-15)then xnh4_prime = store(inh4_a)/store(iso4_a) endif if(xnh4_prime .ge. 1.5)then call form_nh4so4_lvcite(store,jp,ibin) else call form_lvcite_nh4hso4(store,jp,ibin) endif elseif(xt_prime.ge.1.)then call form_nh4hso4(store,jp,ibin) call form_na2so4_nahso4(store,jp,ibin) elseif(xt_prime.lt.1.)then call form_nahso4(store,jp,ibin) call form_nh4hso4(store,jp,ibin) call form_h2so4(store,jp,ibin) endif 10 if(jp .eq. jsolid)then call degas_hno3(store,jp,ibin) call degas_hcl(store,jp,ibin) call degas_nh3(store,jp,ibin) else call form_hno3(store,jp,ibin) call form_hcl(store,jp,ibin) call degas_nh3(store,jp,ibin) endif endif ! case 1, 2 ! re-calculate ions to eliminate round-off errors call electrolytes_to_ions(jp, ibin) !--------------------------------------------------------- ! ! calculate % composition !! sum_dum = 0.0 !! do je = 1, nelectrolyte !! electrolyte(je,jp,ibin) = max(0.D0,electrolyte(je,jp,ibin)) ! remove -ve !! sum_dum = sum_dum + electrolyte(je,jp,ibin) !! enddo !! !! if(sum_dum .eq. 0.)sum_dum = 1.0 !! electrolyte_sum(jp,ibin) = sum_dum !! !! do je = 1, nelectrolyte !! epercent(je,jp,ibin) = 100.*electrolyte(je,jp,ibin)/sum_dum !! enddo return end subroutine form_electrolytes !*********************************************************************** ! electrolyte formation subroutines ! ! author: rahul a. zaveri ! update: june 2000 !----------------------------------------------------------------------- subroutine form_caso4(store,jp,ibin) ! implicit none ! include 'mosaic.h' ! subr arguments integer jp, ibin real(kind=8) store(naer) electrolyte(jcaso4,jp,ibin) = min(store(ica_a),store(iso4_a)) store(ica_a) = store(ica_a) - electrolyte(jcaso4,jp,ibin) store(iso4_a) = store(iso4_a) - electrolyte(jcaso4,jp,ibin) store(ica_a) = max(0.D0, store(ica_a)) store(iso4_a) = max(0.D0, store(iso4_a)) return end subroutine form_caso4 subroutine form_camsa2(store,jp,ibin) ! implicit none ! include 'mosaic.h' ! subr arguments integer jp, ibin real(kind=8) store(naer) electrolyte(jcamsa2,jp,ibin) = min(store(ica_a),0.5*store(imsa_a)) store(ica_a) = store(ica_a) - electrolyte(jcamsa2,jp,ibin) store(imsa_a) = store(imsa_a) - 2.d0*electrolyte(jcamsa2,jp,ibin) store(ica_a) = max(0.D0, store(ica_a)) store(imsa_a) = max(0.D0, store(imsa_a)) return end subroutine form_camsa2 subroutine form_cano3(store,jp,ibin) ! ca(no3)2 ! implicit none ! include 'mosaic.h' ! subr arguments integer jp, ibin real(kind=8) store(naer) electrolyte(jcano3,jp,ibin) = min(store(ica_a),0.5*store(ino3_a)) store(ica_a) = store(ica_a) - electrolyte(jcano3,jp,ibin) store(ino3_a) = store(ino3_a) - 2.*electrolyte(jcano3,jp,ibin) store(ica_a) = max(0.D0, store(ica_a)) store(ino3_a) = max(0.D0, store(ino3_a)) return end subroutine form_cano3 subroutine form_cacl2(store,jp,ibin) ! implicit none ! include 'mosaic.h' ! subr arguments integer jp, ibin real(kind=8) store(naer) electrolyte(jcacl2,jp,ibin) = min(store(ica_a),0.5*store(icl_a)) store(ica_a) = store(ica_a) - electrolyte(jcacl2,jp,ibin) store(icl_a) = store(icl_a) - 2.*electrolyte(jcacl2,jp,ibin) store(ica_a) = max(0.D0, store(ica_a)) store(icl_a) = max(0.D0, store(icl_a)) return end subroutine form_cacl2 subroutine form_caco3(store,jp,ibin) ! implicit none ! include 'mosaic.h' ! subr arguments integer jp, ibin real(kind=8) store(naer) if(jp.eq.jtotal .or. jp.eq.jsolid)then electrolyte(jcaco3,jp,ibin) = store(ica_a) aer(ico3_a,jp,ibin)= electrolyte(jcaco3,jp,ibin) ! force co3 = caco3 store(ica_a) = 0.0 store(ico3_a)= 0.0 endif return end subroutine form_caco3 subroutine form_na2so4(store,jp,ibin) ! implicit none ! include 'mosaic.h' ! subr arguments integer jp, ibin real(kind=8) store(naer) electrolyte(jna2so4,jp,ibin) = min(.5*store(ina_a), & store(iso4_a)) store(ina_a) = store(ina_a) - 2.*electrolyte(jna2so4,jp,ibin) store(iso4_a)= store(iso4_a) - electrolyte(jna2so4,jp,ibin) store(ina_a) = max(0.D0, store(ina_a)) store(iso4_a)= max(0.D0, store(iso4_a)) return end subroutine form_na2so4 subroutine form_nahso4(store,jp,ibin) ! implicit none ! include 'mosaic.h' ! subr arguments integer jp, ibin real(kind=8) store(naer) electrolyte(jnahso4,jp,ibin) = min(store(ina_a), & store(iso4_a)) store(ina_a) = store(ina_a) - electrolyte(jnahso4,jp,ibin) store(iso4_a) = store(iso4_a) - electrolyte(jnahso4,jp,ibin) store(ina_a) = max(0.D0, store(ina_a)) store(iso4_a) = max(0.D0, store(iso4_a)) return end subroutine form_nahso4 subroutine form_namsa(store,jp,ibin) ! implicit none ! include 'mosaic.h' ! subr arguments integer jp, ibin real(kind=8) store(naer) electrolyte(jnamsa,jp,ibin) = min(store(ina_a), & store(imsa_a)) store(ina_a) = store(ina_a) - electrolyte(jnamsa,jp,ibin) store(imsa_a) = store(imsa_a) - electrolyte(jnamsa,jp,ibin) store(ina_a) = max(0.D0, store(ina_a)) store(imsa_a) = max(0.D0, store(imsa_a)) return end subroutine form_namsa subroutine form_nano3(store,jp,ibin) ! implicit none ! include 'mosaic.h' ! subr arguments integer jp, ibin real(kind=8) store(naer) electrolyte(jnano3,jp,ibin)=min(store(ina_a),store(ino3_a)) store(ina_a) = store(ina_a) - electrolyte(jnano3,jp,ibin) store(ino3_a) = store(ino3_a) - electrolyte(jnano3,jp,ibin) store(ina_a) = max(0.D0, store(ina_a)) store(ino3_a) = max(0.D0, store(ino3_a)) return end subroutine form_nano3 subroutine form_nacl(store,jp,ibin) ! implicit none ! include 'mosaic.h' ! subr arguments integer jp, ibin real(kind=8) store(naer) electrolyte(jnacl,jp,ibin) = store(ina_a) store(ina_a) = 0.0 store(icl_a) = store(icl_a) - electrolyte(jnacl,jp,ibin) if(store(icl_a) .lt. 0.)then ! cl deficit in aerosol. take some from gas aer(icl_a,jp,ibin)= aer(icl_a,jp,ibin)- store(icl_a) ! update aer(icl_a) if(jp .ne. jtotal)then aer(icl_a,jtotal,ibin)= aer(icl_a,jliquid,ibin)+ & ! update for jtotal aer(icl_a,jsolid,ibin) endif gas(ihcl_g) = gas(ihcl_g) + store(icl_a) ! update gas(ihcl_g) if(gas(ihcl_g) .lt. 0.0)then total_species(ihcl_g) = total_species(ihcl_g) - gas(ihcl_g) ! update total_species tot_cl_in = tot_cl_in - gas(ihcl_g) ! update tot_cl_in endif gas(ihcl_g) = max(0.D0, gas(ihcl_g)) ! restrict gas(ihcl_g) to >= 0. store(icl_a) = 0. ! force store(icl_a) to 0. endif store(icl_a) = max(0.D0, store(icl_a)) return end subroutine form_nacl subroutine form_nh4so4(store,jp,ibin) ! (nh4)2so4 ! implicit none ! include 'mosaic.h' ! subr arguments integer jp, ibin real(kind=8) store(naer) electrolyte(jnh4so4,jp,ibin)= min(.5*store(inh4_a), & store(iso4_a)) store(inh4_a)= store(inh4_a) - 2.*electrolyte(jnh4so4,jp,ibin) store(iso4_a)= store(iso4_a) - electrolyte(jnh4so4,jp,ibin) store(inh4_a) = max(0.D0, store(inh4_a)) store(iso4_a) = max(0.D0, store(iso4_a)) return end subroutine form_nh4so4 subroutine form_nh4hso4(store,jp,ibin) ! nh4hso4 ! implicit none ! include 'mosaic.h' ! subr arguments integer jp, ibin real(kind=8) store(naer) electrolyte(jnh4hso4,jp,ibin) = min(store(inh4_a), & store(iso4_a)) store(inh4_a)= store(inh4_a) - electrolyte(jnh4hso4,jp,ibin) store(iso4_a)= store(iso4_a) - electrolyte(jnh4hso4,jp,ibin) store(inh4_a) = max(0.D0, store(inh4_a)) store(iso4_a) = max(0.D0, store(iso4_a)) return end subroutine form_nh4hso4 subroutine form_nh4msa(store,jp,ibin) ! implicit none ! include 'mosaic.h' ! subr arguments integer jp, ibin real(kind=8) store(naer) electrolyte(jnh4msa,jp,ibin) = min(store(inh4_a), & store(imsa_a)) store(inh4_a) = store(inh4_a) - electrolyte(jnh4msa,jp,ibin) store(imsa_a) = store(imsa_a) - electrolyte(jnh4msa,jp,ibin) store(inh4_a) = max(0.D0, store(inh4_a)) store(imsa_a) = max(0.D0, store(imsa_a)) return end subroutine form_nh4msa subroutine form_nh4cl(store,jp,ibin) ! implicit none ! include 'mosaic.h' ! subr arguments integer jp, ibin real(kind=8) store(naer) electrolyte(jnh4cl,jp,ibin) = min(store(inh4_a), & store(icl_a)) store(inh4_a) = store(inh4_a) - electrolyte(jnh4cl,jp,ibin) store(icl_a) = store(icl_a) - electrolyte(jnh4cl,jp,ibin) store(inh4_a) = max(0.D0, store(inh4_a)) store(icl_a) = max(0.D0, store(icl_a)) return end subroutine form_nh4cl subroutine form_nh4no3(store,jp,ibin) ! implicit none ! include 'mosaic.h' ! subr arguments integer jp, ibin real(kind=8) store(naer) electrolyte(jnh4no3,jp,ibin) = min(store(inh4_a), & store(ino3_a)) store(inh4_a) = store(inh4_a) - electrolyte(jnh4no3,jp,ibin) store(ino3_a) = store(ino3_a) - electrolyte(jnh4no3,jp,ibin) store(inh4_a) = max(0.D0, store(inh4_a)) store(ino3_a) = max(0.D0, store(ino3_a)) return end subroutine form_nh4no3 subroutine form_nh4so4_lvcite(store,jp,ibin) ! (nh4)2so4 + (nh4)3h(so4)2 ! implicit none ! include 'mosaic.h' ! subr arguments integer jp, ibin real(kind=8) store(naer) electrolyte(jnh4so4,jp,ibin)= 2.*store(inh4_a) - 3.*store(iso4_a) electrolyte(jlvcite,jp,ibin)= 2.*store(iso4_a) - store(inh4_a) electrolyte(jnh4so4,jp,ibin)= max(0.D0, & electrolyte(jnh4so4,jp,ibin)) electrolyte(jlvcite,jp,ibin)= max(0.D0, & electrolyte(jlvcite,jp,ibin)) store(inh4_a) = 0. store(iso4_a) = 0. return end subroutine form_nh4so4_lvcite subroutine form_lvcite_nh4hso4(store,jp,ibin) ! (nh4)3h(so4)2 + nh4hso4 ! implicit none ! include 'mosaic.h' ! subr arguments integer jp, ibin real(kind=8) store(naer) electrolyte(jlvcite,jp,ibin) = store(inh4_a) - store(iso4_a) electrolyte(jnh4hso4,jp,ibin)= 3.*store(iso4_a) - 2.*store(inh4_a) electrolyte(jlvcite,jp,ibin) = max(0.D0, & electrolyte(jlvcite,jp,ibin)) electrolyte(jnh4hso4,jp,ibin)= max(0.D0, & electrolyte(jnh4hso4,jp,ibin)) store(inh4_a) = 0. store(iso4_a) = 0. return end subroutine form_lvcite_nh4hso4 subroutine form_na2so4_nahso4(store,jp,ibin) ! na2so4 + nahso4 ! implicit none ! include 'mosaic.h' ! subr arguments integer jp, ibin real(kind=8) store(naer) electrolyte(jna2so4,jp,ibin)= store(ina_a) - store(iso4_a) electrolyte(jnahso4,jp,ibin)= 2.*store(iso4_a) - store(ina_a) electrolyte(jna2so4,jp,ibin)= max(0.D0, & electrolyte(jna2so4,jp,ibin)) electrolyte(jnahso4,jp,ibin)= max(0.D0, & electrolyte(jnahso4,jp,ibin)) store(ina_a) = 0. store(iso4_a) = 0. ! write(6,*)'na2so4 + nahso4' return end subroutine form_na2so4_nahso4 subroutine form_h2so4(store,jp,ibin) ! implicit none ! include 'mosaic.h' ! subr arguments integer jp, ibin real(kind=8) store(naer) electrolyte(jh2so4,jp,ibin) = max(0.0D0, store(iso4_a)) store(iso4_a) = 0.0 return end subroutine form_h2so4 subroutine form_msa(store,jp,ibin) ! implicit none ! include 'mosaic.h' ! subr arguments integer jp, ibin real(kind=8) store(naer) electrolyte(jmsa,jp,ibin) = max(0.0D0, store(imsa_a)) store(imsa_a) = 0.0 return end subroutine form_msa subroutine form_hno3(store,jp,ibin) ! implicit none ! include 'mosaic.h' ! subr arguments integer jp, ibin real(kind=8) store(naer) electrolyte(jhno3,jp,ibin) = max(0.0D0, store(ino3_a)) store(ino3_a) = 0.0 return end subroutine form_hno3 subroutine form_hcl(store,jp,ibin) ! implicit none ! include 'mosaic.h' ! subr arguments integer jp, ibin real(kind=8) store(naer) electrolyte(jhcl,jp,ibin) = max(0.0D0, store(icl_a)) store(icl_a) = 0.0 return end subroutine form_hcl subroutine degas_hno3(store,jp,ibin) ! implicit none ! include 'mosaic.h' ! subr arguments integer jp, ibin real(kind=8) store(naer) store(ino3_a) = max(0.0D0, store(ino3_a)) gas(ihno3_g) = gas(ihno3_g) + store(ino3_a) aer(ino3_a,jp,ibin) = aer(ino3_a,jp,ibin) - store(ino3_a) aer(ino3_a,jp,ibin) = max(0.0D0,aer(ino3_a,jp,ibin)) ! also do it for jtotal if(jp .ne. jtotal)then aer(ino3_a,jtotal,ibin) = aer(ino3_a,jsolid, ibin) + & aer(ino3_a,jliquid,ibin) endif electrolyte(jhno3,jp,ibin) = 0.0 store(ino3_a) = 0.0 return end subroutine degas_hno3 subroutine degas_hcl(store,jp,ibin) ! implicit none ! include 'mosaic.h' ! subr arguments integer jp, ibin real(kind=8) store(naer) store(icl_a) = max(0.0D0, store(icl_a)) gas(ihcl_g) = gas(ihcl_g) + store(icl_a) aer(icl_a,jp,ibin) = aer(icl_a,jp,ibin) - store(icl_a) aer(icl_a,jp,ibin) = max(0.0D0,aer(icl_a,jp,ibin)) ! also do it for jtotal if(jp .ne. jtotal)then aer(icl_a,jtotal,ibin) = aer(icl_a,jsolid, ibin) + & aer(icl_a,jliquid,ibin) endif electrolyte(jhcl,jp,ibin) = 0.0 store(icl_a) = 0.0 return end subroutine degas_hcl subroutine degas_nh3(store,jp,ibin) ! implicit none ! include 'mosaic.h' ! subr arguments integer jp, ibin real(kind=8) store(naer) store(inh4_a) = max(0.0D0, store(inh4_a)) gas(inh3_g) = gas(inh3_g) + store(inh4_a) aer(inh4_a,jp,ibin) = aer(inh4_a,jp,ibin) - store(inh4_a) aer(inh4_a,jp,ibin) = max(0.0D0,aer(inh4_a,jp,ibin)) ! also do it for jtotal if(jp .ne. jtotal)then aer(inh4_a,jtotal,ibin)= aer(inh4_a,jsolid, ibin) + & aer(inh4_a,jliquid,ibin) endif store(inh4_a) = 0.0 return end subroutine degas_nh3 subroutine degas_acids(jp,ibin,xt) ! implicit none ! include 'mosaic.h' ! subr arguments integer jp, ibin real(kind=8) xt ! local variables real(kind=8) ehno3, ehcl if(jp .ne. jliquid)then if (iprint_mosaic_diag1 .gt. 0) then write(6,*)'mosaic - error in degas_acids' write(6,*)'wrong jp' endif endif ehno3 = electrolyte(jhno3,jp,ibin) ehcl = electrolyte(jhcl,jp,ibin) ! add to gas gas(ihno3_g) = gas(ihno3_g) + ehno3 gas(ihcl_g) = gas(ihcl_g) + ehcl ! remove from aer aer(ino3_a,jp,ibin) = aer(ino3_a,jp,ibin) - ehno3 aer(icl_a, jp,ibin) = aer(icl_a, jp,ibin) - ehcl ! update jtotal aer(ino3_a,jtotal,ibin) = aer(ino3_a,jliquid,ibin) + & aer(ino3_a,jsolid, ibin) aer(icl_a,jtotal,ibin) = aer(icl_a,jliquid,ibin) + & aer(icl_a,jsolid, ibin) electrolyte(jhno3,jp,ibin) = 0.0 electrolyte(jhcl,jp,ibin) = 0.0 return end subroutine degas_acids !*********************************************************************** ! subroutines to evaporate solid volatile species ! ! author: rahul a. zaveri ! update: sep 2004 !----------------------------------------------------------------------- ! ! nh4no3 (solid) subroutine degas_solid_nh4no3(ibin) ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin ! local variables integer jp real(kind=8) a, b, c, xgas, xt ! real(kind=8) quadratic ! mosaic func jp = jsolid a = 1.0 b = gas(inh3_g) + gas(ihno3_g) c = gas(inh3_g)*gas(ihno3_g) - keq_sg(1) xgas = quadratic(a,b,c) if(xgas .ge. electrolyte(jnh4no3,jp,ibin))then ! degas all nh4no3 gas(inh3_g) = gas(inh3_g) + electrolyte(jnh4no3,jp,ibin) gas(ihno3_g)= gas(ihno3_g) + electrolyte(jnh4no3,jp,ibin) aer(inh4_a,jp,ibin) = aer(inh4_a,jp,ibin) - & electrolyte(jnh4no3,jp,ibin) aer(ino3_a,jp,ibin) = aer(ino3_a,jp,ibin) - & electrolyte(jnh4no3,jp,ibin) else ! degas only xgas amount of nh4no3 gas(inh3_g) = gas(inh3_g) + xgas gas(ihno3_g)= gas(ihno3_g) + xgas aer(inh4_a,jp,ibin) = aer(inh4_a,jp,ibin) - xgas aer(ino3_a,jp,ibin) = aer(ino3_a,jp,ibin) - xgas endif ! update jtotal aer(inh4_a,jtotal,ibin) = aer(inh4_a,jsolid,ibin) + & aer(inh4_a,jliquid,ibin) aer(ino3_a,jtotal,ibin) = aer(ino3_a,jsolid,ibin) + & aer(ino3_a,jliquid,ibin) return end subroutine degas_solid_nh4no3 ! nh4cl (solid) subroutine degas_solid_nh4cl(ibin) ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin ! local variables integer jp real(kind=8) a, b, c, xgas, xt ! real(kind=8) quadratic ! mosaic func jp = jsolid a = 1.0 b = gas(inh3_g) + gas(ihcl_g) c = gas(inh3_g)*gas(ihcl_g) - keq_sg(2) xgas = quadratic(a,b,c) if(xgas .ge. electrolyte(jnh4cl,jp,ibin))then ! degas all nh4cl gas(inh3_g) = gas(inh3_g) + electrolyte(jnh4cl,jp,ibin) gas(ihcl_g) = gas(ihcl_g) + electrolyte(jnh4cl,jp,ibin) aer(inh4_a,jp,ibin) = aer(inh4_a,jp,ibin) - & electrolyte(jnh4cl,jp,ibin) aer(icl_a,jp,ibin) = aer(icl_a,jp,ibin) - & electrolyte(jnh4cl,jp,ibin) else ! degas only xgas amount of nh4cl gas(inh3_g) = gas(inh3_g) + xgas gas(ihcl_g) = gas(ihcl_g) + xgas aer(inh4_a,jp,ibin) = aer(inh4_a,jp,ibin) - xgas aer(icl_a,jp,ibin) = aer(icl_a,jp,ibin) - xgas endif ! update jtotal aer(inh4_a,jtotal,ibin) = aer(inh4_a,jsolid,ibin) + & aer(inh4_a,jliquid,ibin) aer(icl_a,jtotal,ibin) = aer(icl_a,jsolid,ibin) + & aer(icl_a,jliquid,ibin) return end subroutine degas_solid_nh4cl !*********************************************************************** ! subroutines to absorb and degas small amounts of volatile species ! ! author: rahul a. zaveri ! update: jun 2002 !----------------------------------------------------------------------- ! ! nh4no3 (liquid) subroutine absorb_tiny_nh4no3(ibin) ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin ! local variables real(kind=8) small_aer, small_gas, small_amt integer je ! raz update 11/13/2008 electrolyte_sum(jtotal,ibin) = 0.0 ! raz update 11/13/2008 do je = 1, nelectrolyte electrolyte_sum(jtotal,ibin) = electrolyte_sum(jtotal,ibin) + & electrolyte(je,jtotal,ibin) enddo small_gas = 0.01 * min(gas(inh3_g), gas(ihno3_g)) small_aer = 0.01 * electrolyte_sum(jtotal,ibin) if(small_aer .eq. 0.0)small_aer = small_gas small_amt = min(small_gas, small_aer) aer(inh4_a,jliquid,ibin) = aer(inh4_a,jliquid,ibin) + small_amt aer(ino3_a,jliquid,ibin) = aer(ino3_a,jliquid,ibin) + small_amt ! update jtotal aer(inh4_a,jtotal,ibin) = aer(inh4_a,jsolid,ibin) + & aer(inh4_a,jliquid,ibin) aer(ino3_a,jtotal,ibin) = aer(ino3_a,jsolid,ibin) + & aer(ino3_a,jliquid,ibin) ! update gas gas(inh3_g) = gas(inh3_g) - small_amt gas(ihno3_g) = gas(ihno3_g) - small_amt return end subroutine absorb_tiny_nh4no3 !-------------------------------------------------------------------- ! nh4cl (liquid) subroutine absorb_tiny_nh4cl(ibin) ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin ! local variables real(kind=8) small_aer, small_gas, small_amt integer je ! raz update 11/13/2008 electrolyte_sum(jtotal,ibin) = 0.0 ! raz update 11/13/2008 do je = 1, nelectrolyte electrolyte_sum(jtotal,ibin) = electrolyte_sum(jtotal,ibin) + & electrolyte(je,jtotal,ibin) enddo small_gas = 0.01 * min(gas(inh3_g), gas(ihcl_g)) small_aer = 0.01 * electrolyte_sum(jtotal,ibin) if(small_aer .eq. 0.0)small_aer = small_gas small_amt = min(small_gas, small_aer) aer(inh4_a,jliquid,ibin) = aer(inh4_a,jliquid,ibin) + small_amt aer(icl_a,jliquid,ibin) = aer(icl_a,jliquid,ibin) + small_amt ! update jtotal aer(inh4_a,jtotal,ibin) = aer(inh4_a,jsolid,ibin) + & aer(inh4_a,jliquid,ibin) aer(icl_a,jtotal,ibin) = aer(icl_a,jsolid,ibin) + & aer(icl_a,jliquid,ibin) ! update gas gas(inh3_g) = gas(inh3_g) - small_amt gas(ihcl_g) = gas(ihcl_g) - small_amt return end subroutine absorb_tiny_nh4cl !-------------------------------------------------------------- ! nh4no3 (liquid) subroutine degas_tiny_nh4no3(ibin) ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin ! local variables real(kind=8) small_amt small_amt = 0.01 * electrolyte(jnh4no3,jliquid,ibin) aer(inh4_a,jliquid,ibin) = aer(inh4_a,jliquid,ibin) - small_amt aer(ino3_a,jliquid,ibin) = aer(ino3_a,jliquid,ibin) - small_amt ! update jtotal aer(inh4_a,jtotal,ibin) = aer(inh4_a,jsolid,ibin) + & aer(inh4_a,jliquid,ibin) aer(ino3_a,jtotal,ibin) = aer(ino3_a,jsolid,ibin) + & aer(ino3_a,jliquid,ibin) ! update gas gas(inh3_g) = gas(inh3_g) + small_amt gas(ihno3_g) = gas(ihno3_g) + small_amt return end subroutine degas_tiny_nh4no3 !-------------------------------------------------------------------- ! liquid nh4cl (liquid) subroutine degas_tiny_nh4cl(ibin) ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin ! local variables real(kind=8) small_amt small_amt = 0.01 * electrolyte(jnh4cl,jliquid,ibin) aer(inh4_a,jliquid,ibin) = aer(inh4_a,jliquid,ibin) - small_amt aer(icl_a,jliquid,ibin) = aer(icl_a,jliquid,ibin) - small_amt ! update jtotal aer(inh4_a,jtotal,ibin) = aer(inh4_a,jsolid,ibin) + & aer(inh4_a,jliquid,ibin) aer(icl_a,jtotal,ibin) = aer(icl_a,jsolid,ibin) + & aer(icl_a,jliquid,ibin) ! update gas gas(inh3_g) = gas(inh3_g) + small_amt gas(ihcl_g) = gas(ihcl_g) + small_amt return end subroutine degas_tiny_nh4cl !-------------------------------------------------------------------- ! hcl (liquid) subroutine absorb_tiny_hcl(ibin) ! and degas tiny hno3 ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin ! local variables real(kind=8) small_aer, small_amt, small_gas small_gas = 0.01 * gas(ihcl_g) small_aer = 0.01 * aer(ino3_a,jliquid,ibin) small_amt = min(small_gas, small_aer) ! absorb tiny hcl aer(icl_a,jliquid,ibin)= aer(icl_a,jliquid,ibin) + small_amt aer(icl_a,jtotal,ibin) = aer(icl_a,jsolid,ibin) + & aer(icl_a,jliquid,ibin) gas(ihcl_g) = gas(ihcl_g) - small_amt ! degas tiny hno3 aer(ino3_a,jliquid,ibin) = aer(ino3_a,jliquid,ibin) - small_amt aer(ino3_a,jtotal,ibin) = aer(ino3_a,jsolid,ibin) + & aer(ino3_a,jliquid,ibin) ! update gas gas(ihno3_g) = gas(ihno3_g) + small_amt return end subroutine absorb_tiny_hcl !-------------------------------------------------------------------- ! hno3 (liquid) subroutine absorb_tiny_hno3(ibin) ! and degas tiny hcl ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin ! local variables real(kind=8) small_aer, small_amt, small_gas small_gas = 0.01 * gas(ihno3_g) small_aer = 0.01 * aer(icl_a,jliquid,ibin) small_amt = min(small_gas, small_aer) ! absorb tiny hno3 aer(ino3_a,jliquid,ibin) = aer(ino3_a,jliquid,ibin) + small_amt aer(ino3_a,jtotal,ibin) = aer(ino3_a,jsolid,ibin) + & aer(ino3_a,jliquid,ibin) gas(ihno3_g) = gas(ihno3_g) - small_amt ! degas tiny hcl aer(icl_a,jliquid,ibin) = aer(icl_a,jliquid,ibin) - small_amt aer(icl_a,jtotal,ibin) = aer(icl_a,jsolid,ibin) + & aer(icl_a,jliquid,ibin) ! update gas gas(ihcl_g) = gas(ihcl_g) + small_amt return end subroutine absorb_tiny_hno3 !*********************************************************************** ! subroutines to equilibrate volatile acids ! ! author: rahul a. zaveri ! update: may 2002 !----------------------------------------------------------------------- subroutine equilibrate_acids(ibin) ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin if(gas(ihcl_g)*gas(ihno3_g) .gt. 0.)then call equilibrate_hcl_and_hno3(ibin) elseif(gas(ihcl_g) .gt. 0.)then call equilibrate_hcl(ibin) elseif(gas(ihno3_g) .gt. 0.)then call equilibrate_hno3(ibin) endif return end subroutine equilibrate_acids ! only hcl subroutine equilibrate_hcl(ibin) ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin ! local variables real(kind=8) a, aerh, aerhso4, aerso4, b, c, dum, kdash_hcl, mh, tcl, & w, xt, z ! real(kind=8) quadratic ! mosaic func aerso4 = ma(ja_so4,ibin)*water_a(ibin)*1.e+9 aerhso4= ma(ja_hso4,ibin)*water_a(ibin)*1.e+9 tcl = aer(icl_a,jliquid,ibin) + gas(ihcl_g) ! nmol/m^3(air) kdash_hcl = keq_gl(4)*1.e+18/gam(jhcl,ibin)**2 ! (nmol^2/kg^2)/(nmol/m^3(air)) z = ( aer(ina_a, jliquid,ibin) + & ! nmol/m^3(air) aer(inh4_a,jliquid,ibin) + & 2.*aer(ica_a, jliquid,ibin) ) - & (2.*aerso4 + & aerhso4 + & aer(ino3_a,jliquid,ibin) ) w = water_a(ibin) ! kg/m^3(air) kdash_hcl = keq_gl(4)*1.e+18/gam(jhcl,ibin)**2 ! (nmol^2/kg^2)/(nmol/m^3(air)) a = 1.0 b = (kdash_hcl*w + z/w)*1.e-9 c = kdash_hcl*(z - tcl)*1.e-18 dum = b*b - 4.*a*c if (dum .lt. 0.) return ! no real root if(c .lt. 0.)then mh = quadratic(a,b,c) ! mol/kg(water) aerh = mh*w*1.e+9 aer(icl_a,jliquid,ibin) = aerh + z else mh = sqrt(keq_ll(3)) endif call form_electrolytes(jliquid,ibin,xt) ! update gas phase concentration gas(ihcl_g) = tcl - aer(icl_a,jliquid,ibin) ! update the following molalities ma(ja_so4,ibin) = 1.e-9*aerso4/water_a(ibin) ma(ja_hso4,ibin) = 1.e-9*aerhso4/water_a(ibin) ma(ja_no3,ibin) = 1.e-9*aer(ino3_a,jliquid,ibin)/water_a(ibin) ma(ja_cl,ibin) = 1.e-9*aer(icl_a, jliquid,ibin)/water_a(ibin) mc(jc_h,ibin) = mh mc(jc_ca,ibin) = 1.e-9*aer(ica_a, jliquid,ibin)/water_a(ibin) mc(jc_nh4,ibin) = 1.e-9*aer(inh4_a,jliquid,ibin)/water_a(ibin) mc(jc_na,ibin) = 1.e-9*aer(ina_a, jliquid,ibin)/water_a(ibin) ! update the following activities activity(jhcl,ibin) = mc(jc_h,ibin) *ma(ja_cl,ibin) * & gam(jhcl,ibin)**2 activity(jhno3,ibin) = mc(jc_h,ibin) *ma(ja_no3,ibin) * & gam(jhno3,ibin)**2 activity(jnh4cl,ibin) = mc(jc_nh4,ibin)*ma(ja_cl,ibin) * & gam(jnh4cl,ibin)**2 ! also update xyz(jtotal) aer(icl_a,jtotal,ibin) = aer(icl_a,jliquid,ibin) + & aer(icl_a,jsolid,ibin) electrolyte(jhcl,jtotal,ibin) = electrolyte(jhcl,jliquid,ibin) return end subroutine equilibrate_hcl ! only hno3 subroutine equilibrate_hno3(ibin) ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin ! local variables real(kind=8) a, aerh, aerhso4, aerso4, b, c, dum, kdash_hno3, mh, & tno3, w, xt, z ! real(kind=8) quadratic ! mosaic func aerso4 = ma(ja_so4,ibin)*water_a(ibin)*1.e+9 aerhso4= ma(ja_hso4,ibin)*water_a(ibin)*1.e+9 tno3 = aer(ino3_a,jliquid,ibin) + gas(ihno3_g) ! nmol/m^3(air) kdash_hno3 = keq_gl(3)*1.e+18/gam(jhno3,ibin)**2 ! (nmol^2/kg^2)/(nmol/m^3(air)) z = ( aer(ina_a, jliquid,ibin) + & ! nmol/m^3(air) aer(inh4_a,jliquid,ibin) + & 2.*aer(ica_a, jliquid,ibin) ) - & (2.*aerso4 + & aerhso4 + & aer(icl_a,jliquid,ibin) ) w = water_a(ibin) ! kg/m^3(air) kdash_hno3 = keq_gl(3)*1.e+18/gam(jhno3,ibin)**2 ! (nmol^2/kg^2)/(nmol/m^3(air)) a = 1.0 b = (kdash_hno3*w + z/w)*1.e-9 c = kdash_hno3*(z - tno3)*1.e-18 dum = b*b - 4.*a*c if (dum .lt. 0.) return ! no real root if(c .lt. 0.)then mh = quadratic(a,b,c) ! mol/kg(water) aerh = mh*w*1.e+9 aer(ino3_a,jliquid,ibin) = aerh + z else mh = sqrt(keq_ll(3)) endif call form_electrolytes(jliquid,ibin,xt) ! update gas phase concentration gas(ihno3_g)= tno3 - aer(ino3_a,jliquid,ibin) ! update the following molalities ma(ja_so4,ibin) = 1.e-9*aerso4/water_a(ibin) ma(ja_hso4,ibin) = 1.e-9*aerhso4/water_a(ibin) ma(ja_no3,ibin) = 1.e-9*aer(ino3_a,jliquid,ibin)/water_a(ibin) ma(ja_cl,ibin) = 1.e-9*aer(icl_a, jliquid,ibin)/water_a(ibin) mc(jc_h,ibin) = mh mc(jc_ca,ibin) = 1.e-9*aer(ica_a, jliquid,ibin)/water_a(ibin) mc(jc_nh4,ibin) = 1.e-9*aer(inh4_a,jliquid,ibin)/water_a(ibin) mc(jc_na,ibin) = 1.e-9*aer(ina_a, jliquid,ibin)/water_a(ibin) ! update the following activities activity(jhcl,ibin) = mc(jc_h,ibin) *ma(ja_cl,ibin) * & gam(jhcl,ibin)**2 activity(jhno3,ibin) = mc(jc_h,ibin) *ma(ja_no3,ibin) * & gam(jhno3,ibin)**2 activity(jnh4no3,ibin) = mc(jc_nh4,ibin)*ma(ja_no3,ibin) * & gam(jnh4no3,ibin)**2 ! also update xyz(jtotal) aer(ino3_a,jtotal,ibin) = aer(ino3_a,jliquid,ibin) + & aer(ino3_a,jsolid,ibin) electrolyte(jhno3,jtotal,ibin) = electrolyte(jhno3,jliquid,ibin) return end subroutine equilibrate_hno3 ! both hcl and hno3 subroutine equilibrate_hcl_and_hno3(ibin) ! implicit none ! include 'mosaic.h' ! subr arguments integer ibin ! local variables real(kind=8) aerh, aerhso4, aerso4, kdash_hcl, kdash_hno3, & mh, p, q, r, tcl, tno3, w, xt, z ! real(kind=8) cubic ! mosaic func aerso4 = ma(ja_so4,ibin)*water_a(ibin)*1.e+9 aerhso4= ma(ja_hso4,ibin)*water_a(ibin)*1.e+9 tcl = aer(icl_a,jliquid,ibin) + gas(ihcl_g) ! nmol/m^3(air) tno3 = aer(ino3_a,jliquid,ibin) + gas(ihno3_g) ! nmol/m^3(air) kdash_hcl = keq_gl(4)*1.e+18/gam(jhcl,ibin)**2 ! (nmol^2/kg^2)/(nmol/m^3(air)) kdash_hno3 = keq_gl(3)*1.e+18/gam(jhno3,ibin)**2 ! (nmol^2/kg^2)/(nmol/m^3(air)) z = ( aer(ina_a, jliquid,ibin) + & ! nmol/m^3(air) aer(inh4_a,jliquid,ibin) + & 2.*aer(ica_a, jliquid,ibin) ) - & (2.*aerso4 + aerhso4 ) w = water_a(ibin) kdash_hcl = keq_gl(4)*1.e+18/gam(jhcl,ibin)**2 ! (nmol^2/kg^2)/(nmol/m^3(air)) kdash_hno3 = keq_gl(3)*1.e+18/gam(jhno3,ibin)**2 ! (nmol^2/kg^2)/(nmol/m^3(air)) p = (z/w + w*(kdash_hcl + kdash_hno3))*1.e-9 q = 1.e-18*kdash_hcl*kdash_hno3*w**2 + & 1.e-18*z*(kdash_hcl + kdash_hno3) - & 1.e-18*kdash_hcl*tcl - & 1.e-18*kdash_hno3*tno3 r = 1.e-18*kdash_hcl*kdash_hno3*w*(z - tcl - tno3)*1.e-9 mh = cubic(p,q,r) if(mh .gt. 0.0)then aerh = mh*w*1.e+9 aer(ino3_a,jliquid,ibin) = kdash_hno3*w*w*tno3/ & (aerh + kdash_hno3*w*w) aer(icl_a, jliquid,ibin) = kdash_hcl*w*w*tcl/ & (aerh + kdash_hcl*w*w) else mh = sqrt(keq_ll(3)) endif call form_electrolytes(jliquid,ibin,xt) ! update gas phase concentration gas(ihno3_g)= tno3 - aer(ino3_a,jliquid,ibin) gas(ihcl_g) = tcl - aer(icl_a,jliquid,ibin) ! update the following molalities ma(ja_so4,ibin) = 1.e-9*aerso4/water_a(ibin) ma(ja_hso4,ibin) = 1.e-9*aerhso4/water_a(ibin) ma(ja_no3,ibin) = 1.e-9*aer(ino3_a,jliquid,ibin)/water_a(ibin) ma(ja_cl,ibin) = 1.e-9*aer(icl_a, jliquid,ibin)/water_a(ibin) mc(jc_h,ibin) = mh mc(jc_ca,ibin) = 1.e-9*aer(ica_a, jliquid,ibin)/water_a(ibin) mc(jc_nh4,ibin) = 1.e-9*aer(inh4_a,jliquid,ibin)/water_a(ibin) mc(jc_na,ibin) = 1.e-9*aer(ina_a, jliquid,ibin)/water_a(ibin) ! update the following activities activity(jhcl,ibin) = mc(jc_h,ibin)*ma(ja_cl,ibin) * & gam(jhcl,ibin)**2 activity(jhno3,ibin) = mc(jc_h,ibin)*ma(ja_no3,ibin) * & gam(jhno3,ibin)**2 activity(jnh4no3,ibin) = mc(jc_nh4,ibin)*ma(ja_no3,ibin)* & gam(jnh4no3,ibin)**2 activity(jnh4cl,ibin) = mc(jc_nh4,ibin)*ma(ja_cl,ibin) * & gam(jnh4cl,ibin)**2 ! also update xyz(jtotal) aer(icl_a,jtotal,ibin) = aer(icl_a,jliquid,ibin) + & aer(icl_a,jsolid,ibin) aer(ino3_a,jtotal,ibin) = aer(ino3_a,jliquid,ibin) + & aer(ino3_a,jsolid,ibin) electrolyte(jhno3,jtotal,ibin) = electrolyte(jhno3,jliquid,ibin) electrolyte(jhcl, jtotal,ibin) = electrolyte(jhcl, jliquid,ibin) return end subroutine equilibrate_hcl_and_hno3 !*********************************************************************** ! called only once per entire simulation to load gas and aerosol ! indices, parameters, physico-chemical constants, polynomial coeffs, etc. ! ! author: rahul a. zaveri ! update: jan 2005 !----------------------------------------------------------------------- subroutine load_mosaic_parameters ! implicit none ! include 'v33com2' ! include 'mosaic.h' ! local variables integer iaer, je, ja, j_index, ibin ! logical first ! save first ! data first/.true./ logical, save :: first = .true. if(first)then first=.false. !---------------------------------------------------------------- ! control settings !msize_framework = msection ! mmodal or msection msize_framework = mmodal ! mmodal or msection mgas_aer_xfer = myes ! myes, mno ! astem parameters nmax_astem = 100 ! max number of time steps in astem alpha_astem = 0.05 ! choose a value between 0.01 and 1.0 ! Changed alpha_astem from 0.5 to 0.05 by Manish Shrivastava on 01/08/2010 rtol_eqb_astem = 0.01 ! equilibrium tolerance in astem ptol_mol_astem = 0.01 ! mol percent tolerance in astem ! mesa parameters nmax_mesa = 80 ! max number of iterations in mesa_ptc rtol_mesa = 0.01 ! mesa equilibrium tolerance !---------------------------------------------------------------- ! ! set gas and aerosol indices ! ! gas (local) ih2so4_g = 1 ! ioa (inorganic aerosol) ihno3_g = 2 ! ioa ihcl_g = 3 ! ioa inh3_g = 4 ! ioa imsa_g = 5 ! ioa ipcg1_b_c_g =6 ipcg2_b_c_g =7 ipcg3_b_c_g =8 ipcg4_b_c_g =9 ipcg5_b_c_g =10 ipcg6_b_c_g =11 ipcg7_b_c_g =12 ipcg8_b_c_g =13 ipcg9_b_c_g =14 ipcg1_b_o_g =15 ipcg2_b_o_g =16 ipcg3_b_o_g =17 ipcg4_b_o_g =18 ipcg5_b_o_g =19 ipcg6_b_o_g =20 ipcg7_b_o_g =21 ipcg8_b_o_g =22 ipcg9_b_o_g =23 iopcg1_b_c_g =24 iopcg2_b_c_g = 25 iopcg3_b_c_g =26 iopcg4_b_c_g =27 iopcg5_b_c_g =28 iopcg6_b_c_g =29 iopcg7_b_c_g =30 iopcg8_b_c_g =31 iopcg1_b_o_g =32 iopcg2_b_o_g =33 iopcg3_b_o_g =34 iopcg4_b_o_g =35 iopcg5_b_o_g =36 iopcg6_b_o_g =37 iopcg7_b_o_g =38 iopcg8_b_o_g =39 ipcg1_f_c_g =40 ipcg2_f_c_g =41 ipcg3_f_c_g =42 ipcg4_f_c_g =43 ipcg5_f_c_g =44 ipcg6_f_c_g =45 ipcg7_f_c_g =46 ipcg8_f_c_g =47 ipcg9_f_c_g =48 ipcg1_f_o_g =49 ipcg2_f_o_g =50 ipcg3_f_o_g =51 ipcg4_f_o_g =52 ipcg5_f_o_g =53 ipcg6_f_o_g =54 ipcg7_f_o_g =55 ipcg8_f_o_g =56 ipcg9_f_o_g =57 iopcg1_f_c_g =58 iopcg2_f_c_g =59 iopcg3_f_c_g =60 iopcg4_f_c_g =61 iopcg5_f_c_g =62 iopcg6_f_c_g =63 iopcg7_f_c_g =64 iopcg8_f_c_g =65 iopcg1_f_o_g =66 iopcg2_f_o_g =67 iopcg3_f_o_g =68 iopcg4_f_o_g =69 iopcg5_f_o_g =70 iopcg6_f_o_g =71 iopcg7_f_o_g =72 iopcg8_f_o_g =73 ismpa_g =74 ismpbb_g =75 iant1_c_g =76 iant2_c_g =77 iant3_c_g =78 iant4_c_g =79 iant1_o_g =80 iant2_o_g =81 iant3_o_g =82 iant4_o_g =83 ibiog1_c_g =84 ibiog2_c_g =85 ibiog3_c_g =86 ibiog4_c_g =87 ibiog1_o_g =88 ibiog2_o_g =89 ibiog3_o_g =90 ibiog4_o_g =91 ! in2o5_g =92 ! ioa --> NO3- ! iclno2_g =93 ! ioa N2O5+Cl- --> ! the order of species is ngas_ioa, then ngas_soa, then the rest... ! for the "equilibrium" routine i*_a and i*_g species ! have to have the same index. iasoaX_g=92 iasoa1_g=93 iasoa2_g=94 iasoa3_g=95 iasoa4_g=96 ibsoaX_g=97 ibsoa1_g=98 ibsoa2_g=99 ibsoa3_g=100 ibsoa4_g=101 ! in2o5_g =102 ! ioa --> NO3- ! iclno2_g =103 ! ioa N2O5+Cl- --> ! igly =104 ! iho =105 igly =102 iho =103 in2o5_g =104 ! ioa --> NO3- iclno2_g =105 ! ioa N2O5+Cl- --> ! ico2_g = 14 ! currently not used ! ! aerosol (local): used for total species iso4_a = 1 ! <-> ih2so4_g ino3_a = 2 ! <-> ihno3_g icl_a = 3 ! <-> ihcl_g inh4_a = 4 ! <-> inh3_g imsa_a = 5 ! <-> imsa_g ipcg1_b_c_a =6 ipcg2_b_c_a =7 ipcg3_b_c_a =8 ipcg4_b_c_a =9 ipcg5_b_c_a =10 ipcg6_b_c_a =11 ipcg7_b_c_a =12 ipcg8_b_c_a =13 ipcg9_b_c_a =14 ipcg1_b_o_a =15 ipcg2_b_o_a =16 ipcg3_b_o_a =17 ipcg4_b_o_a =18 ipcg5_b_o_a =19 ipcg6_b_o_a =20 ipcg7_b_o_a =21 ipcg8_b_o_a =22 ipcg9_b_o_a =23 iopcg1_b_c_a =24 iopcg2_b_c_a = 25 iopcg3_b_c_a =26 iopcg4_b_c_a =27 iopcg5_b_c_a =28 iopcg6_b_c_a =29 iopcg7_b_c_a =30 iopcg8_b_c_a =31 iopcg1_b_o_a =32 iopcg2_b_o_a = 33 iopcg3_b_o_a =34 iopcg4_b_o_a =35 iopcg5_b_o_a =36 iopcg6_b_o_a =37 iopcg7_b_o_a =38 iopcg8_b_o_a =39 ipcg1_f_c_a =40 ipcg2_f_c_a =41 ipcg3_f_c_a =42 ipcg4_f_c_a =43 ipcg5_f_c_a =44 ipcg6_f_c_a =45 ipcg7_f_c_a =46 ipcg8_f_c_a =47 ipcg9_f_c_a =48 ipcg1_f_o_a =49 ipcg2_f_o_a =50 ipcg3_f_o_a =51 ipcg4_f_o_a =52 ipcg5_f_o_a =53 ipcg6_f_o_a =54 ipcg7_f_o_a =55 ipcg8_f_o_a =56 ipcg9_f_o_a =57 iopcg1_f_c_a =58 iopcg2_f_c_a =59 iopcg3_f_c_a =60 iopcg4_f_c_a =61 iopcg5_f_c_a =62 iopcg6_f_c_a =63 iopcg7_f_c_a =64 iopcg8_f_c_a =65 iopcg1_f_o_a =66 iopcg2_f_o_a =67 iopcg3_f_o_a =68 iopcg4_f_o_a =69 iopcg5_f_o_a =70 iopcg6_f_o_a =71 iopcg7_f_o_a =72 iopcg8_f_o_a =73 ismpa_a =74 ismpbb_a =75 iant1_c_a =76 iant2_c_a =77 iant3_c_a =78 iant4_c_a =79 iant1_o_a =80 iant2_o_a =81 iant3_o_a =82 iant4_o_a =83 ibiog1_c_a =84 ibiog2_c_a =85 ibiog3_c_a =86 ibiog4_c_a =87 ibiog1_o_a =88 ibiog2_o_a =89 ibiog3_o_a =90 ibiog4_o_a =91 ! for the "equilibrium" routine, ! i*_g and i*_a species have to have the same index... ! ico3_a = 92 ! <-> ico2_g ! ico3_a was 14 earlier, changed to 82 by Manish Shrivastava ! ina_a = 93 ! ica_a = 94 ! ioin_a = 95 ! ioc_a = 96 ! ibc_a = 97 iasoaX_a=92 iasoa1_a=93 iasoa2_a=94 iasoa3_a=95 iasoa4_a=96 ibsoaX_a=97 ibsoa1_a=98 ibsoa2_a=99 ibsoa3_a=100 ibsoa4_a=101 iglysoa_r1_a = 102 iglysoa_r2_a = 103 iglysoa_sfc_a = 104 iglysoa_nh4_a = 105 iglysoa_oh_a = 106 ico3_a = 107 ! <-> ico2_g ! ico3_a was 14 earlier, changed to 82 by Manish Shrivastava ina_a = 108 ica_a = 109 ioin_a = 110 ioc_a = 111 ibc_a = 112 ! electrolyte indices (used for water content calculations) ! these indices are order sensitive jnh4so4 = 1 ! soluble jlvcite = 2 ! soluble jnh4hso4 = 3 ! soluble jnh4msa = 4 ! soluble new jnh4no3 = 5 ! soluble jnh4cl = 6 ! soluble jna2so4 = 7 ! soluble jna3hso4 = 8 ! soluble jnahso4 = 9 ! soluble jnamsa = 10 ! soluble new jnano3 = 11 ! soluble jnacl = 12 ! soluble jcano3 = 13 ! soluble jcacl2 = 14 ! soluble jcamsa2 = 15 ! soluble new nsalt jh2so4 = 16 ! soluble jmsa = 17 ! soluble new jhno3 = 18 ! soluble jhcl = 19 ! soluble jhhso4 = 20 ! soluble jcaso4 = 21 ! insoluble jcaco3 = 22 ! insoluble joc = 23 ! insoluble - part of naercomp jbc = 24 ! insoluble - part of naercomp join = 25 ! insoluble - part of naercomp jpcg1_b_c =26 jpcg2_b_c =27 jpcg3_b_c =28 jpcg4_b_c =29 jpcg5_b_c =30 jpcg6_b_c =31 jpcg7_b_c =32 jpcg8_b_c =33 jpcg9_b_c =34 jpcg1_b_o =35 jpcg2_b_o =36 jpcg3_b_o =37 jpcg4_b_o =38 jpcg5_b_o =39 jpcg6_b_o =40 jpcg7_b_o =41 jpcg8_b_o =42 jpcg9_b_o =43 jopcg1_b_c =44 jopcg2_b_c =45 jopcg3_b_c =46 jopcg4_b_c =47 jopcg5_b_c =48 jopcg6_b_c =49 jopcg7_b_c =50 jopcg8_b_c =51 jopcg1_b_o =52 jopcg2_b_o =53 jopcg3_b_o =54 jopcg4_b_o =55 jopcg5_b_o =56 jopcg6_b_o =57 jopcg7_b_o =58 jopcg8_b_o =59 jpcg1_f_c =60 jpcg2_f_c =61 jpcg3_f_c =62 jpcg4_f_c =63 jpcg5_f_c =64 jpcg6_f_c =65 jpcg7_f_c =66 jpcg8_f_c =67 jpcg9_f_c =68 jpcg1_f_o =69 jpcg2_f_o =70 jpcg3_f_o =71 jpcg4_f_o =72 jpcg5_f_o =73 jpcg6_f_o =74 jpcg7_f_o =75 jpcg8_f_o =76 jpcg9_f_o =77 jopcg1_f_c =78 jopcg2_f_c =79 jopcg3_f_c =80 jopcg4_f_c =81 jopcg5_f_c =82 jopcg6_f_c =83 jopcg7_f_c =84 jopcg8_f_c =85 jopcg1_f_o =86 jopcg2_f_o =87 jopcg3_f_o =88 jopcg4_f_o =89 jopcg5_f_o =90 jopcg6_f_o =91 jopcg7_f_o =92 jopcg8_f_o =93 jsmpa =94 jsmpbb =95 jant1_c =96 jant2_c =97 jant3_c =98 jant4_c =99 jant1_o =100 jant2_o =101 jant3_o =102 jant4_o =103 jbiog1_c =104 jbiog2_c =105 jbiog3_c =106 jbiog4_c =107 jbiog1_o =108 jbiog2_o =109 jbiog3_o =110 jbiog4_o =111 ! jh2o = 112 ! water - part of naercomp jasoaX=112 jasoa1=113 jasoa2=114 jasoa3=115 jasoa4=116 jbsoaX=117 jbsoa1=118 jbsoa2=119 jbsoa3=120 jbsoa4=121 jglysoa_r1 = 122 jglysoa_r2 = 123 jglysoa_sfc = 124 jglysoa_nh4 = 125 jglysoa_oh = 126 jh2o = 127 ! water - part of naercomp ! local aerosol ions ! cations jc_h = 1 jc_nh4 = 2 jc_na = 3 jc_ca = 4 ! ! anions ja_hso4 = 1 ja_so4 = 2 ja_no3 = 3 ja_cl = 4 ja_msa = 5 ! ja_co3 = 6 !-------------------------------------------------------------------- ! phase state names ! phasestate(no_aerosol) = "NOAERO" ! phasestate(all_solid) = "SOLID " ! phasestate(all_liquid) = "LIQUID" ! phasestate(mixed) = "MIXED " ! names of aer species aer_name(iso4_a) = 'so4' aer_name(ino3_a) = 'no3' aer_name(icl_a) = 'cl ' aer_name(inh4_a) = 'nh4' aer_name(ioc_a) = 'oc ' aer_name(imsa_a) = 'msa' aer_name(ico3_a) = 'co3' aer_name(ina_a) = 'na ' aer_name(ica_a) = 'ca ' aer_name(ibc_a) = 'bc ' aer_name(ioin_a) = 'oin' aer_name(ipcg1_b_c_a)="pcg1_b_c" aer_name(ipcg2_b_c_a)="pcg2_b_c" aer_name(ipcg3_b_c_a)="pcg3_b_c" aer_name(ipcg4_b_c_a)="pcg4_b_c" aer_name(ipcg5_b_c_a)="pcg5_b_c" aer_name(ipcg6_b_c_a)="pcg6_b_c" aer_name(ipcg7_b_c_a)="pcg7_b_c" aer_name(ipcg8_b_c_a)="pcg8_b_c" aer_name(ipcg9_b_c_a)="pcg9_b_c" aer_name(iopcg1_b_c_a)="opcg1_b_c" aer_name(iopcg2_b_c_a)="opcg2_b_c" aer_name(iopcg3_b_c_a)="opcg3_b_c" aer_name(iopcg4_b_c_a)="opcg4_b_c" aer_name(iopcg5_b_c_a)="opcg5_b_c" aer_name(iopcg6_b_c_a)="opcg6_b_c" aer_name(iopcg7_b_c_a)="opcg7_b_c" aer_name(iopcg8_b_c_a)="opcg8_b_c" aer_name(ipcg1_b_o_a)="pcg1_b_o" aer_name(ipcg2_b_o_a)="pcg2_b_o" aer_name(ipcg3_b_o_a)="pcg3_b_o" aer_name(ipcg4_b_o_a)="pcg4_b_o" aer_name(ipcg5_b_o_a)="pcg5_b_o" aer_name(ipcg6_b_o_a)="pcg6_b_o" aer_name(ipcg7_b_o_a)="pcg7_b_o" aer_name(ipcg8_b_o_a)="pcg8_b_o" aer_name(ipcg9_b_o_a)="pcg9_b_o" aer_name(iopcg1_b_o_a)="opcg1_b_o" aer_name(iopcg2_b_o_a)="opcg2_b_o" aer_name(iopcg3_b_o_a)="opcg3_b_o" aer_name(iopcg4_b_o_a)="opcg4_b_o" aer_name(iopcg5_b_o_a)="opcg5_b_o" aer_name(iopcg6_b_o_a)="opcg6_b_o" aer_name(iopcg7_b_o_a)="opcg7_b_o" aer_name(iopcg8_b_o_a)="opcg8_b_o" aer_name(ipcg1_f_c_a)="pcg1_f_c" aer_name(ipcg2_f_c_a)="pcg2_f_c" aer_name(ipcg3_f_c_a)="pcg3_f_c" aer_name(ipcg4_f_c_a)="pcg4_f_c" aer_name(ipcg5_f_c_a)="pcg5_f_c" aer_name(ipcg6_f_c_a)="pcg6_f_c" aer_name(ipcg7_f_c_a)="pcg7_f_c" aer_name(ipcg8_f_c_a)="pcg8_f_c" aer_name(ipcg9_f_c_a)="pcg9_f_c" aer_name(iopcg1_f_c_a)="opcg1_f_c" aer_name(iopcg2_f_c_a)="opcg2_f_c" aer_name(iopcg3_f_c_a)="opcg3_f_c" aer_name(iopcg4_f_c_a)="opcg4_f_c" aer_name(iopcg5_f_c_a)="opcg5_f_c" aer_name(iopcg6_f_c_a)="opcg6_f_c" aer_name(iopcg7_f_c_a)="opcg7_f_c" aer_name(iopcg8_f_c_a)="opcg8_f_c" aer_name(ipcg1_f_o_a)="pcg1_f_o" aer_name(ipcg2_f_o_a)="pcg2_f_o" aer_name(ipcg3_f_o_a)="pcg3_f_o" aer_name(ipcg4_f_o_a)="pcg4_f_o" aer_name(ipcg5_f_o_a)="pcg5_f_o" aer_name(ipcg6_f_o_a)="pcg6_f_o" aer_name(ipcg7_f_o_a)="pcg7_f_o" aer_name(ipcg8_f_o_a)="pcg8_f_o" aer_name(ipcg9_f_o_a)="pcg9_f_o" aer_name(iopcg1_f_o_a)="opcg1_f_o" aer_name(iopcg2_f_o_a)="opcg2_f_o" aer_name(iopcg3_f_o_a)="opcg3_f_o" aer_name(iopcg4_f_o_a)="opcg4_f_o" aer_name(iopcg5_f_o_a)="opcg5_f_o" aer_name(iopcg6_f_o_a)="opcg6_f_o" aer_name(iopcg7_f_o_a)="opcg7_f_o" aer_name(iopcg8_f_o_a)="opcg8_f_o" aer_name(ismpa_a)="smpa" aer_name(ismpbb_a)="smpbb" aer_name(iglysoa_r1_a)="glysoa_r1" aer_name(iglysoa_r2_a)="glysoa_r2" aer_name(iglysoa_sfc_a)="glysoa_sfc" aer_name(iglysoa_nh4_a)="glysoa_nh4" aer_name(iglysoa_oh_a)="glysoa_oh" aer_name(iant1_c_a)="ant1_c" aer_name(iant2_c_a)="ant2_c" aer_name(iant3_c_a)="ant3_c" aer_name(iant4_c_a)="ant4_c" aer_name(iant1_o_a)="ant1_o" aer_name(iant2_o_a)="ant2_o" aer_name(iant3_o_a)="ant3_o" aer_name(iant4_o_a)="ant4_o" aer_name(ibiog1_c_a)="biog1_c" aer_name(ibiog2_c_a)="biog2_c" aer_name(ibiog3_c_a)="biog3_c" aer_name(ibiog4_c_a)="biog4_c" aer_name(ibiog1_o_a)="biog1_o" aer_name(ibiog2_o_a)="biog2_o" aer_name(ibiog3_o_a)="biog3_o" aer_name(ibiog4_o_a)="biog4_o" aer_name(iasoaX_a)="asoaX" aer_name(iasoa1_a)="asoa1" aer_name(iasoa2_a)="asoa2" aer_name(iasoa3_a)="asoa3" aer_name(iasoa4_a)="asoa4" aer_name(ibsoaX_a)="bsoaX" aer_name(ibsoa1_a)="bsoa1" aer_name(ibsoa2_a)="bsoa2" aer_name(ibsoa3_a)="bsoa3" aer_name(ibsoa4_a)="bsoa4" ! names of gas species gas_name(ih2so4_g) = 'h2so4' gas_name(ihno3_g) = 'hno3 ' gas_name(ihcl_g) = 'hcl ' gas_name(inh3_g) = 'nh3 ' gas_name(imsa_g) = "msa " gas_name(ipcg1_b_c_g)="pcg1_b_c" gas_name(ipcg2_b_c_g)="pcg2_b_c" gas_name(ipcg3_b_c_g)="pcg3_b_c" gas_name(ipcg4_b_c_g)="pcg4_b_c" gas_name(ipcg5_b_c_g)="pcg5_b_c" gas_name(ipcg6_b_c_g)="pcg6_b_c" gas_name(ipcg7_b_c_g)="pcg7_b_c" gas_name(ipcg8_b_c_g)="pcg8_b_c" gas_name(ipcg9_b_c_g)="pcg9_b_c" gas_name(iopcg1_b_c_g)="opcg1_b_c" gas_name(iopcg2_b_c_g)="opcg2_b_c" gas_name(iopcg3_b_c_g)="opcg3_b_c" gas_name(iopcg4_b_c_g)="opcg4_b_c" gas_name(iopcg5_b_c_g)="opcg5_b_c" gas_name(iopcg6_b_c_g)="opcg6_b_c" gas_name(iopcg7_b_c_g)="opcg7_b_c" gas_name(iopcg8_b_c_g)="opcg8_b_c" gas_name(ipcg1_b_o_g)="pcg1_b_o" gas_name(ipcg2_b_o_g)="pcg2_b_o" gas_name(ipcg3_b_o_g)="pcg3_b_o" gas_name(ipcg4_b_o_g)="pcg4_b_o" gas_name(ipcg5_b_o_g)="pcg5_b_o" gas_name(ipcg6_b_o_g)="pcg6_b_o" gas_name(ipcg7_b_o_g)="pcg7_b_o" gas_name(ipcg8_b_o_g)="pcg8_b_o" gas_name(ipcg9_b_o_g)="pcg9_b_o" gas_name(iopcg1_b_o_g)="opcg1_b_o" gas_name(iopcg2_b_o_g)="opcg2_b_o" gas_name(iopcg3_b_o_g)="opcg3_b_o" gas_name(iopcg4_b_o_g)="opcg4_b_o" gas_name(iopcg5_b_o_g)="opcg5_b_o" gas_name(iopcg6_b_o_g)="opcg6_b_o" gas_name(iopcg7_b_o_g)="opcg7_b_o" gas_name(iopcg8_b_o_g)="opcg8_b_o" gas_name(ipcg1_f_c_g)="pcg1_f_c" gas_name(ipcg2_f_c_g)="pcg2_f_c" gas_name(ipcg3_f_c_g)="pcg3_f_c" gas_name(ipcg4_f_c_g)="pcg4_f_c" gas_name(ipcg5_f_c_g)="pcg5_f_c" gas_name(ipcg6_f_c_g)="pcg6_f_c" gas_name(ipcg7_f_c_g)="pcg7_f_c" gas_name(ipcg8_f_c_g)="pcg8_f_c" gas_name(ipcg9_f_c_g)="pcg9_f_c" gas_name(iopcg1_f_c_g)="opcg1_f_c" gas_name(iopcg2_f_c_g)="opcg2_f_c" gas_name(iopcg3_f_c_g)="opcg3_f_c" gas_name(iopcg4_f_c_g)="opcg4_f_c" gas_name(iopcg5_f_c_g)="opcg5_f_c" gas_name(iopcg6_f_c_g)="opcg6_f_c" gas_name(iopcg7_f_c_g)="opcg7_f_c" gas_name(iopcg8_f_c_g)="opcg8_f_c" gas_name(ipcg1_f_o_g)="pcg1_f_o" gas_name(ipcg2_f_o_g)="pcg2_f_o" gas_name(ipcg3_f_o_g)="pcg3_f_o" gas_name(ipcg4_f_o_g)="pcg4_f_o" gas_name(ipcg5_f_o_g)="pcg5_f_o" gas_name(ipcg6_f_o_g)="pcg6_f_o" gas_name(ipcg7_f_o_g)="pcg7_f_o" gas_name(ipcg8_f_o_g)="pcg8_f_o" gas_name(ipcg9_f_o_g)="pcg9_f_o" gas_name(iopcg1_f_o_g)="opcg1_f_o" gas_name(iopcg2_f_o_g)="opcg2_f_o" gas_name(iopcg3_f_o_g)="opcg3_f_o" gas_name(iopcg4_f_o_g)="opcg4_f_o" gas_name(iopcg5_f_o_g)="opcg5_f_o" gas_name(iopcg6_f_o_g)="opcg6_f_o" gas_name(iopcg7_f_o_g)="opcg7_f_o" gas_name(iopcg8_f_o_g)="opcg8_f_o" gas_name(ismpa_g)="smpa" gas_name(ismpbb_g)="smpbb" gas_name(iant1_c_g)="ant1_c" gas_name(iant2_c_g)="ant2_c" gas_name(iant3_c_g)="ant3_c" gas_name(iant4_c_g)="ant4_c" gas_name(iant1_o_g)="ant1_o" gas_name(iant2_o_g)="ant2_o" gas_name(iant3_o_g)="ant3_o" gas_name(iant4_o_g)="ant4_o" gas_name(ibiog1_c_g)="biog1_c" gas_name(ibiog2_c_g)="biog2_c" gas_name(ibiog3_c_g)="biog3_c" gas_name(ibiog4_c_g)="biog4_c" gas_name(ibiog1_o_g)="biog1_o" gas_name(ibiog2_o_g)="biog2_o" gas_name(ibiog3_o_g)="biog3_o" gas_name(ibiog4_o_g)="biog4_o" gas_name(in2o5_g) = "n2o5 " gas_name(iclno2_g)= "clno2" gas_name(iasoaX_g)="asoaX" gas_name(iasoa1_g)="asoa1" gas_name(iasoa2_g)="asoa2" gas_name(iasoa3_g)="asoa3" gas_name(iasoa4_g)="asoa4" gas_name(ibsoaX_g)="bsoaX" gas_name(ibsoa1_g)="bsoa1" gas_name(ibsoa2_g)="bsoa2" gas_name(ibsoa3_g)="bsoa3" gas_name(ibsoa4_g)="bsoa4" gas_name(igly)="gly" gas_name(iho)="ho" ! names of electrolytes ename(jnh4so4) = 'amso4' ename(jlvcite) = '(nh4)3h(so4)2' ename(jnh4hso4)= 'nh4hso4' ename(jnh4msa) = "ch3so3nh4" ename(jnh4no3) = 'nh4no3' ename(jnh4cl) = 'nh4cl' ename(jnacl) = 'nacl' ename(jnano3) = 'nano3' ename(jna2so4) = 'na2so4' ename(jna3hso4)= 'na3h(so4)2' ename(jnamsa) = "ch3so3na" ename(jnahso4) = 'nahso4' ename(jcaso4) = 'caso4' ename(jcamsa2) = "(ch3so3)2ca" ename(jcano3) = 'ca(no3)2' ename(jcacl2) = 'cacl2' ename(jcaco3) = 'caco3' ename(jh2so4) = 'h2so4' ename(jhhso4) = 'hhso4' ename(jhno3) = 'hno3' ename(jhcl) = 'hcl' ename(jmsa) = "ch3so3h" ! molecular weights of electrolytes mw_electrolyte(jnh4so4) = 132.0 mw_electrolyte(jlvcite) = 247.0 mw_electrolyte(jnh4hso4)= 115.0 mw_electrolyte(jnh4msa) = 113.0 mw_electrolyte(jnh4no3) = 80.0 mw_electrolyte(jnh4cl) = 53.5 mw_electrolyte(jnacl) = 58.5 mw_electrolyte(jnano3) = 85.0 mw_electrolyte(jna2so4) = 142.0 mw_electrolyte(jna3hso4)= 262.0 mw_electrolyte(jnahso4) = 120.0 mw_electrolyte(jnamsa) = 118.0 mw_electrolyte(jcaso4) = 136.0 mw_electrolyte(jcamsa2) = 230.0 mw_electrolyte(jcano3) = 164.0 mw_electrolyte(jcacl2) = 111.0 mw_electrolyte(jcaco3) = 100.0 mw_electrolyte(jh2so4) = 98.0 mw_electrolyte(jhno3) = 63.0 mw_electrolyte(jhcl) = 36.5 mw_electrolyte(jmsa) = 96.0 ! molecular weights of ions [g/mol] mw_c(jc_h) = 1.0 mw_c(jc_nh4)= 18.0 mw_c(jc_na) = 23.0 mw_c(jc_ca) = 40.0 mw_a(ja_so4) = 96.0 mw_a(ja_hso4)= 97.0 mw_a(ja_no3) = 62.0 mw_a(ja_cl) = 35.5 MW_a(ja_msa) = 95.0 ! magnitude of the charges on ions zc(jc_h) = 1 zc(jc_nh4) = 1 zc(jc_na) = 1 zc(jc_ca) = 2 za(ja_hso4)= 1 za(ja_so4) = 2 za(ja_no3) = 1 za(ja_cl) = 1 za(ja_msa) = 1 ! densities of pure electrolytes in g/cc dens_electrolyte(jnh4so4) = 1.8 dens_electrolyte(jlvcite) = 1.8 dens_electrolyte(jnh4hso4) = 1.8 dens_electrolyte(jnh4msa) = 1.8 ! assumed same as nh4hso4 dens_electrolyte(jnh4no3) = 1.8 dens_electrolyte(jnh4cl) = 1.8 dens_electrolyte(jnacl) = 2.2 dens_electrolyte(jnano3) = 2.2 dens_electrolyte(jna2so4) = 2.2 dens_electrolyte(jna3hso4) = 2.2 dens_electrolyte(jnahso4) = 2.2 dens_electrolyte(jnamsa) = 2.2 ! assumed same as nahso4 dens_electrolyte(jcaso4) = 2.6 dens_electrolyte(jcamsa2) = 2.6 ! assumed same as caso4 dens_electrolyte(jcano3) = 2.6 dens_electrolyte(jcacl2) = 2.6 dens_electrolyte(jcaco3) = 2.6 dens_electrolyte(jh2so4) = 1.8 dens_electrolyte(jhhso4) = 1.8 dens_electrolyte(jhno3) = 1.8 dens_electrolyte(jhcl) = 1.8 dens_electrolyte(jmsa) = 1.8 ! assumed same as h2so4 ! densities of compounds in g/cc dens_comp_a(jnh4so4) = 1.8 dens_comp_a(jlvcite) = 1.8 dens_comp_a(jnh4hso4) = 1.8 dens_comp_a(jnh4msa) = 1.8 ! assumed same as nh4hso4 dens_comp_a(jnh4no3) = 1.7 dens_comp_a(jnh4cl) = 1.5 dens_comp_a(jnacl) = 2.2 dens_comp_a(jnano3) = 2.2 dens_comp_a(jna2so4) = 2.2 dens_comp_a(jna3hso4) = 2.2 dens_comp_a(jnahso4) = 2.2 dens_comp_a(jnamsa) = 2.2 ! assumed same as nahso4 dens_comp_a(jcaso4) = 2.6 dens_comp_a(jcamsa2) = 2.6 ! assumed same as caso4 dens_comp_a(jcano3) = 2.6 dens_comp_a(jcacl2) = 2.6 dens_comp_a(jcaco3) = 2.6 dens_comp_a(jh2so4) = 1.8 dens_comp_a(jhhso4) = 1.8 dens_comp_a(jhno3) = 1.8 dens_comp_a(jhcl) = 1.8 dens_comp_a(jmsa) = 1.8 ! assumed same as h2so4 dens_comp_a(joc) = 1.0 dens_comp_a(jbc) = 1.8 dens_comp_a(join) = 2.6 dens_comp_a(jh2o) = 1.0 dens_comp_a(ipcg1_b_c_a) =1.0 dens_comp_a(ipcg2_b_c_a) =1.0 dens_comp_a(ipcg3_b_c_a)=1.0 dens_comp_a(ipcg4_b_c_a)=1.0 dens_comp_a(ipcg5_b_c_a)=1.0 dens_comp_a(ipcg6_b_c_a)=1.0 dens_comp_a(ipcg7_b_c_a)=1.0 dens_comp_a(ipcg8_b_c_a)=1.0 dens_comp_a(ipcg9_b_c_a)=1.0 dens_comp_a(iopcg1_b_c_a)=1.0 dens_comp_a(iopcg2_b_c_a)=1.0 dens_comp_a(iopcg3_b_c_a)=1.0 dens_comp_a(iopcg4_b_c_a)=1.0 dens_comp_a(iopcg5_b_c_a)=1.0 dens_comp_a(iopcg6_b_c_a)=1.0 dens_comp_a(iopcg7_b_c_a)=1.0 dens_comp_a(iopcg8_b_c_a)=1.0 dens_comp_a(ipcg1_b_o_a)=1.0 dens_comp_a(ipcg2_b_o_a)=1.0 dens_comp_a(ipcg3_b_o_a)=1.0 dens_comp_a(ipcg4_b_o_a)=1.0 dens_comp_a(ipcg5_b_o_a)=1.0 dens_comp_a(ipcg6_b_o_a)=1.0 dens_comp_a(ipcg7_b_o_a)=1.0 dens_comp_a(ipcg8_b_o_a)=1.0 dens_comp_a(ipcg9_b_o_a)=1.0 dens_comp_a(iopcg1_b_o_a)=1.0 dens_comp_a(iopcg2_b_o_a)=1.0 dens_comp_a(iopcg3_b_o_a)=1.0 dens_comp_a(iopcg4_b_o_a)=1.0 dens_comp_a(iopcg5_b_o_a)=1.0 dens_comp_a(iopcg6_b_o_a)=1.0 dens_comp_a(iopcg7_b_o_a)=1.0 dens_comp_a(iopcg8_b_o_a)=1.0 dens_comp_a(ipcg1_f_c_a) =1.0 dens_comp_a(ipcg2_f_c_a) =1.0 dens_comp_a(ipcg3_f_c_a)=1.0 dens_comp_a(ipcg4_f_c_a)=1.0 dens_comp_a(ipcg5_f_c_a)=1.0 dens_comp_a(ipcg6_f_c_a)=1.0 dens_comp_a(ipcg7_f_c_a)=1.0 dens_comp_a(ipcg8_f_c_a)=1.0 dens_comp_a(ipcg9_f_c_a)=1.0 dens_comp_a(iopcg1_f_c_a)=1.0 dens_comp_a(iopcg2_f_c_a)=1.0 dens_comp_a(iopcg3_f_c_a)=1.0 dens_comp_a(iopcg4_f_c_a)=1.0 dens_comp_a(iopcg5_f_c_a)=1.0 dens_comp_a(iopcg6_f_c_a)=1.0 dens_comp_a(iopcg7_f_c_a)=1.0 dens_comp_a(iopcg8_f_c_a)=1.0 dens_comp_a(ipcg1_f_o_a)=1.0 dens_comp_a(ipcg2_f_o_a)=1.0 dens_comp_a(ipcg3_f_o_a)=1.0 dens_comp_a(ipcg4_f_o_a)=1.0 dens_comp_a(ipcg5_f_o_a)=1.0 dens_comp_a(ipcg6_f_o_a)=1.0 dens_comp_a(ipcg7_f_o_a)=1.0 dens_comp_a(ipcg8_f_o_a)=1.0 dens_comp_a(ipcg9_f_o_a)=1.0 dens_comp_a(iopcg1_f_o_a)=1.0 dens_comp_a(iopcg2_f_o_a)=1.0 dens_comp_a(iopcg3_f_o_a)=1.0 dens_comp_a(iopcg4_f_o_a)=1.0 dens_comp_a(iopcg5_f_o_a)=1.0 dens_comp_a(iopcg6_f_o_a)=1.0 dens_comp_a(iopcg7_f_o_a)=1.0 dens_comp_a(iopcg8_f_o_a)=1.0 dens_comp_a(ismpa_a)=1.0 dens_comp_a(ismpbb_a)=1.0 dens_comp_a(iglysoa_r1_a)=1.0 dens_comp_a(iglysoa_r2_a)=1.0 dens_comp_a(iglysoa_sfc_a)=1.0 dens_comp_a(iglysoa_nh4_a)=1.0 dens_comp_a(iglysoa_oh_a)=1.0 dens_comp_a(iant1_c_a)=1.0 dens_comp_a(iant2_c_a)=1.0 dens_comp_a(iant3_c_a)=1.0 dens_comp_a(iant4_c_a)=1.0 dens_comp_a(iant1_o_a)=1.0 dens_comp_a(iant2_o_a)=1.0 dens_comp_a(iant3_o_a)=1.0 dens_comp_a(iant4_o_a)=1.0 dens_comp_a(ibiog1_c_a)=1.0 dens_comp_a(ibiog2_c_a)=1.0 dens_comp_a(ibiog3_c_a)=1.0 dens_comp_a(ibiog4_c_a)=1.0 dens_comp_a(ibiog1_o_a)=1.0 dens_comp_a(ibiog2_o_a)=1.0 dens_comp_a(ibiog3_o_a)=1.0 dens_comp_a(ibiog4_o_a)=1.0 dens_comp_a(iasoaX_a)=1.5 dens_comp_a(iasoa1_a)=1.5 dens_comp_a(iasoa2_a)=1.5 dens_comp_a(iasoa3_a)=1.5 dens_comp_a(iasoa4_a)=1.5 dens_comp_a(ibsoaX_a)=1.5 dens_comp_a(ibsoa1_a)=1.5 dens_comp_a(ibsoa2_a)=1.5 dens_comp_a(ibsoa3_a)=1.5 dens_comp_a(ibsoa4_a)=1.5 ! molecular weights of generic aerosol species mw_aer_mac(iso4_a) = 96.0 mw_aer_mac(ino3_a) = 62.0 mw_aer_mac(icl_a) = 35.5 mw_aer_mac(imsa_a) = 95.0 ! ch3so3 mw_aer_mac(ico3_a) = 60.0 mw_aer_mac(inh4_a) = 18.0 mw_aer_mac(ina_a) = 23.0 mw_aer_mac(ica_a) = 40.0 mw_aer_mac(ioin_a) = 1.0 ! not used mw_aer_mac(ibc_a) = 1.0 ! not used mw_aer_mac(ioc_a) = 250.0 ! 200 assumed for primary organics mw_aer_mac(ipcg1_b_c_a) =250.0 mw_aer_mac(ipcg2_b_c_a) =250.0 mw_aer_mac(ipcg3_b_c_a)=250.0 mw_aer_mac(ipcg4_b_c_a)=250.0 mw_aer_mac(ipcg5_b_c_a)=250.0 mw_aer_mac(ipcg6_b_c_a)=250.0 mw_aer_mac(ipcg7_b_c_a)=250.0 mw_aer_mac(ipcg8_b_c_a)=250.0 mw_aer_mac(ipcg9_b_c_a)=250.0 mw_aer_mac(iopcg1_b_c_a)=250.0 mw_aer_mac(iopcg2_b_c_a)=250.0 mw_aer_mac(iopcg3_b_c_a)=250.0 mw_aer_mac(iopcg4_b_c_a)=250.0 mw_aer_mac(iopcg5_b_c_a)=250.0 mw_aer_mac(iopcg6_b_c_a)=250.0 mw_aer_mac(iopcg7_b_c_a)=250.0 mw_aer_mac(iopcg8_b_c_a)=250.0 mw_aer_mac(ipcg1_b_o_a)=250.0 mw_aer_mac(ipcg2_b_o_a)=250.0 mw_aer_mac(ipcg3_b_o_a)=250.0 mw_aer_mac(ipcg4_b_o_a)=250.0 mw_aer_mac(ipcg5_b_o_a)=250.0 mw_aer_mac(ipcg6_b_o_a)=250.0 mw_aer_mac(ipcg7_b_o_a)=250.0 mw_aer_mac(ipcg8_b_o_a)=250.0 mw_aer_mac(ipcg9_b_o_a)=250.0 mw_aer_mac(iopcg1_b_o_a)=250.0 mw_aer_mac(iopcg2_b_o_a)=250.0 mw_aer_mac(iopcg3_b_o_a)=250.0 mw_aer_mac(iopcg4_b_o_a)=250.0 mw_aer_mac(iopcg5_b_o_a)=250.0 mw_aer_mac(iopcg6_b_o_a)=250.0 mw_aer_mac(iopcg7_b_o_a)=250.0 mw_aer_mac(iopcg8_b_o_a)=250.0 mw_aer_mac(ipcg1_f_c_a) =250.0 mw_aer_mac(ipcg2_f_c_a) =250.0 mw_aer_mac(ipcg3_f_c_a)=250.0 mw_aer_mac(ipcg4_f_c_a)=250.0 mw_aer_mac(ipcg5_f_c_a)=250.0 mw_aer_mac(ipcg6_f_c_a)=250.0 mw_aer_mac(ipcg7_f_c_a)=250.0 mw_aer_mac(ipcg8_f_c_a)=250.0 mw_aer_mac(ipcg9_f_c_a)=250.0 mw_aer_mac(iopcg1_f_c_a)=250.0 mw_aer_mac(iopcg2_f_c_a)=250.0 mw_aer_mac(iopcg3_f_c_a)=250.0 mw_aer_mac(iopcg4_f_c_a)=250.0 mw_aer_mac(iopcg5_f_c_a)=250.0 mw_aer_mac(iopcg6_f_c_a)=250.0 mw_aer_mac(iopcg7_f_c_a)=250.0 mw_aer_mac(iopcg8_f_c_a)=250.0 mw_aer_mac(ipcg1_f_o_a)=250.0 mw_aer_mac(ipcg2_f_o_a)=250.0 mw_aer_mac(ipcg3_f_o_a)=250.0 mw_aer_mac(ipcg4_f_o_a)=250.0 mw_aer_mac(ipcg5_f_o_a)=250.0 mw_aer_mac(ipcg6_f_o_a)=250.0 mw_aer_mac(ipcg7_f_o_a)=250.0 mw_aer_mac(ipcg8_f_o_a)=250.0 mw_aer_mac(ipcg9_f_o_a)=250.0 mw_aer_mac(iopcg1_f_o_a)=250.0 mw_aer_mac(iopcg2_f_o_a)=250.0 mw_aer_mac(iopcg3_f_o_a)=250.0 mw_aer_mac(iopcg4_f_o_a)=250.0 mw_aer_mac(iopcg5_f_o_a)=250.0 mw_aer_mac(iopcg6_f_o_a)=250.0 mw_aer_mac(iopcg7_f_o_a)=250.0 mw_aer_mac(iopcg8_f_o_a)=250.0 mw_aer_mac(ismpa_a) = 250.0 mw_aer_mac(ismpbb_a) = 250.0 mw_aer_mac(iglysoa_r1_a) = 250.0 mw_aer_mac(iglysoa_r2_a) = 250.0 mw_aer_mac(iglysoa_sfc_a) = 250.0 mw_aer_mac(iglysoa_nh4_a) = 250.0 mw_aer_mac(iglysoa_oh_a) = 250.0 mw_aer_mac(iant1_c_a) = 250.0 mw_aer_mac(iant2_c_a) = 250.0 mw_aer_mac(iant3_c_a) = 250.0 mw_aer_mac(iant4_c_a) = 250.0 mw_aer_mac(iant1_o_a) = 250.0 mw_aer_mac(iant2_o_a) = 250.0 mw_aer_mac(iant3_o_a) = 250.0 mw_aer_mac(iant4_o_a) = 250.0 mw_aer_mac(ibiog1_c_a) = 250.0 mw_aer_mac(ibiog2_c_a) = 250.0 mw_aer_mac(ibiog3_c_a) = 250.0 mw_aer_mac(ibiog4_c_a) = 250.0 mw_aer_mac(ibiog1_o_a) = 250.0 mw_aer_mac(ibiog2_o_a) = 250.0 mw_aer_mac(ibiog3_o_a) = 250.0 mw_aer_mac(ibiog4_o_a) = 250.0 mw_aer_mac(iasoaX_a) = 250.0 mw_aer_mac(iasoa1_a) = 250.0 mw_aer_mac(iasoa2_a) = 250.0 mw_aer_mac(iasoa3_a) = 250.0 mw_aer_mac(iasoa4_a) = 250.0 mw_aer_mac(ibsoaX_a) = 250.0 mw_aer_mac(ibsoa1_a) = 250.0 mw_aer_mac(ibsoa2_a) = 250.0 mw_aer_mac(ibsoa3_a) = 250.0 mw_aer_mac(ibsoa4_a) = 250.0 ! molecular weights of compounds mw_comp_a(jnh4so4) = 132.0 mw_comp_a(jlvcite) = 247.0 mw_comp_a(jnh4hso4)= 115.0 mw_comp_a(jnh4msa) = 113.0 mw_comp_a(jnh4no3) = 80.0 mw_comp_a(jnh4cl) = 53.5 mw_comp_a(jnacl) = 58.5 mw_comp_a(jnano3) = 85.0 mw_comp_a(jna2so4) = 142.0 mw_comp_a(jna3hso4)= 262.0 mw_comp_a(jnahso4) = 120.0 mw_comp_a(jnamsa) = 118.0 mw_comp_a(jcaso4) = 136.0 mw_comp_a(jcamsa2) = 230.0 mw_comp_a(jcano3) = 164.0 mw_comp_a(jcacl2) = 111.0 mw_comp_a(jcaco3) = 100.0 mw_comp_a(jh2so4) = 98.0 mw_comp_a(jhhso4) = 98.0 mw_comp_a(jhno3) = 63.0 mw_comp_a(jhcl) = 36.5 mw_comp_a(jmsa) = 96.0 mw_comp_a(joc) = 250.0 mw_comp_a(jbc) = 1.0 mw_comp_a(join) = 1.0 mw_comp_a(jh2o) = 18.0 mw_comp_a(jpcg1_b_c) =250.0 mw_comp_a(jpcg2_b_c) =250.0 mw_comp_a(jpcg3_b_c)=250.0 mw_comp_a(jpcg4_b_c)=250.0 mw_comp_a(jpcg5_b_c)=250.0 mw_comp_a(jpcg6_b_c)=250.0 mw_comp_a(jpcg7_b_c)=250.0 mw_comp_a(jpcg8_b_c)=250.0 mw_comp_a(jpcg9_b_c)=250.0 mw_comp_a(jopcg1_b_c)=250.0 mw_comp_a(jopcg2_b_c)=250.0 mw_comp_a(jopcg3_b_c)=250.0 mw_comp_a(jopcg4_b_c)=250.0 mw_comp_a(jopcg5_b_c)=250.0 mw_comp_a(jopcg6_b_c)=250.0 mw_comp_a(jopcg7_b_c)=250.0 mw_comp_a(jopcg8_b_c)=250.0 mw_comp_a(jpcg1_b_o)=250.0 mw_comp_a(jpcg2_b_o)=250.0 mw_comp_a(jpcg3_b_o)=250.0 mw_comp_a(jpcg4_b_o)=250.0 mw_comp_a(jpcg5_b_o)=250.0 mw_comp_a(jpcg6_b_o)=250.0 mw_comp_a(jpcg7_b_o)=250.0 mw_comp_a(jpcg8_b_o)=250.0 mw_comp_a(jpcg9_b_o)=250.0 mw_comp_a(jopcg1_b_o)=250.0 mw_comp_a(jopcg2_b_o)=250.0 mw_comp_a(jopcg3_b_o)=250.0 mw_comp_a(jopcg4_b_o)=250.0 mw_comp_a(jopcg5_b_o)=250.0 mw_comp_a(jopcg6_b_o)=250.0 mw_comp_a(jopcg7_b_o)=250.0 mw_comp_a(jopcg8_b_o)=250.0 mw_comp_a(jpcg1_f_c) =250.0 mw_comp_a(jpcg2_f_c) =250.0 mw_comp_a(jpcg3_f_c)=250.0 mw_comp_a(jpcg4_f_c)=250.0 mw_comp_a(jpcg5_f_c)=250.0 mw_comp_a(jpcg6_f_c)=250.0 mw_comp_a(jpcg7_f_c)=250.0 mw_comp_a(jpcg8_f_c)=250.0 mw_comp_a(jpcg9_f_c)=250.0 mw_comp_a(jopcg1_f_c)=250.0 mw_comp_a(jopcg2_f_c)=250.0 mw_comp_a(jopcg3_f_c)=250.0 mw_comp_a(jopcg4_f_c)=250.0 mw_comp_a(jopcg5_f_c)=250.0 mw_comp_a(jopcg6_f_c)=250.0 mw_comp_a(jopcg7_f_c)=250.0 mw_comp_a(jopcg8_f_c)=250.0 mw_comp_a(jpcg1_f_o)=250.0 mw_comp_a(jpcg2_f_o)=250.0 mw_comp_a(jpcg3_f_o)=250.0 mw_comp_a(jpcg4_f_o)=250.0 mw_comp_a(jpcg5_f_o)=250.0 mw_comp_a(jpcg6_f_o)=250.0 mw_comp_a(jpcg7_f_o)=250.0 mw_comp_a(jpcg8_f_o)=250.0 mw_comp_a(jpcg9_f_o)=250.0 mw_comp_a(jopcg1_f_o)=250.0 mw_comp_a(jopcg2_f_o)=250.0 mw_comp_a(jopcg3_f_o)=250.0 mw_comp_a(jopcg4_f_o)=250.0 mw_comp_a(jopcg5_f_o)=250.0 mw_comp_a(jopcg6_f_o)=250.0 mw_comp_a(jopcg7_f_o)=250.0 mw_comp_a(jopcg8_f_o)=250.0 mw_comp_a(jsmpa)=250.0 mw_comp_a(jsmpbb)=250.0 mw_comp_a(jglysoa_r1)=250.0 mw_comp_a(jglysoa_r2)=250.0 mw_comp_a(jglysoa_sfc)=250.0 mw_comp_a(jglysoa_nh4)=250.0 mw_comp_a(jglysoa_oh)=250.0 mw_comp_a(jant1_c)=250.0 mw_comp_a(jant2_c)=250.0 mw_comp_a(jant3_c)=250.0 mw_comp_a(jant4_c)=250.0 mw_comp_a(jant1_o)=250.0 mw_comp_a(jant2_o)=250.0 mw_comp_a(jant3_o)=250.0 mw_comp_a(jant4_o)=250.0 mw_comp_a(jbiog1_c)=250.0 mw_comp_a(jbiog2_c)=250.0 mw_comp_a(jbiog3_c)=250.0 mw_comp_a(jbiog4_c)=250.0 mw_comp_a(jbiog1_o)=250.0 mw_comp_a(jbiog2_o)=250.0 mw_comp_a(jbiog3_o)=250.0 mw_comp_a(jbiog4_o)=250.0 mw_comp_a(jasoaX)=250.0 mw_comp_a(jasoa1)=250.0 mw_comp_a(jasoa2)=250.0 mw_comp_a(jasoa3)=250.0 mw_comp_a(jasoa4)=250.0 mw_comp_a(jbsoaX)=250.0 mw_comp_a(jbsoa1)=250.0 mw_comp_a(jbsoa2)=250.0 mw_comp_a(jbsoa3)=250.0 mw_comp_a(jbsoa4)=250.0 ! densities of generic aerosol species dens_aer_mac(iso4_a) = 1.8 ! used dens_aer_mac(ino3_a) = 1.8 ! used dens_aer_mac(icl_a) = 2.2 ! used dens_aer_mac(imsa_a) = 1.8 ! used dens_aer_mac(ico3_a) = 2.6 ! used dens_aer_mac(inh4_a) = 1.8 ! used dens_aer_mac(ina_a) = 2.2 ! used dens_aer_mac(ica_a) = 2.6 ! used dens_aer_mac(ioin_a) = 2.6 ! used dens_aer_mac(ioc_a) = 1.0 ! used dens_aer_mac(ibc_a) = 1.7 ! used dens_aer_mac(ipcg1_b_c_a) =1.0 dens_aer_mac(ipcg2_b_c_a) =1.0 dens_aer_mac(ipcg3_b_c_a)=1.0 dens_aer_mac(ipcg4_b_c_a)=1.0 dens_aer_mac(ipcg5_b_c_a)=1.0 dens_aer_mac(ipcg6_b_c_a)=1.0 dens_aer_mac(ipcg7_b_c_a)=1.0 dens_aer_mac(ipcg8_b_c_a)=1.0 dens_aer_mac(ipcg9_b_c_a)=1.0 dens_aer_mac(iopcg1_b_c_a)=1.0 dens_aer_mac(iopcg2_b_c_a)=1.0 dens_aer_mac(iopcg3_b_c_a)=1.0 dens_aer_mac(iopcg4_b_c_a)=1.0 dens_aer_mac(iopcg5_b_c_a)=1.0 dens_aer_mac(iopcg6_b_c_a)=1.0 dens_aer_mac(iopcg7_b_c_a)=1.0 dens_aer_mac(iopcg8_b_c_a)=1.0 dens_aer_mac(ipcg1_b_o_a)=1.0 dens_aer_mac(ipcg2_b_o_a)=1.0 dens_aer_mac(ipcg3_b_o_a)=1.0 dens_aer_mac(ipcg4_b_o_a)=1.0 dens_aer_mac(ipcg5_b_o_a)=1.0 dens_aer_mac(ipcg6_b_o_a)=1.0 dens_aer_mac(ipcg7_b_o_a)=1.0 dens_aer_mac(ipcg8_b_o_a)=1.0 dens_aer_mac(ipcg9_b_o_a)=1.0 dens_aer_mac(iopcg1_b_o_a)=1.0 dens_aer_mac(iopcg2_b_o_a)=1.0 dens_aer_mac(iopcg3_b_o_a)=1.0 dens_aer_mac(iopcg4_b_o_a)=1.0 dens_aer_mac(iopcg5_b_o_a)=1.0 dens_aer_mac(iopcg6_b_o_a)=1.0 dens_aer_mac(iopcg7_b_o_a)=1.0 dens_aer_mac(iopcg8_b_o_a)=1.0 dens_aer_mac(ipcg1_f_c_a) =1.0 dens_aer_mac(ipcg2_f_c_a) =1.0 dens_aer_mac(ipcg3_f_c_a)=1.0 dens_aer_mac(ipcg4_f_c_a)=1.0 dens_aer_mac(ipcg5_f_c_a)=1.0 dens_aer_mac(ipcg6_f_c_a)=1.0 dens_aer_mac(ipcg7_f_c_a)=1.0 dens_aer_mac(ipcg8_f_c_a)=1.0 dens_aer_mac(ipcg9_f_c_a)=1.0 dens_aer_mac(iopcg1_f_c_a)=1.0 dens_aer_mac(iopcg2_f_c_a)=1.0 dens_aer_mac(iopcg3_f_c_a)=1.0 dens_aer_mac(iopcg4_f_c_a)=1.0 dens_aer_mac(iopcg5_f_c_a)=1.0 dens_aer_mac(iopcg6_f_c_a)=1.0 dens_aer_mac(iopcg7_f_c_a)=1.0 dens_aer_mac(iopcg8_f_c_a)=1.0 dens_aer_mac(ipcg1_f_o_a)=1.0 dens_aer_mac(ipcg2_f_o_a)=1.0 dens_aer_mac(ipcg3_f_o_a)=1.0 dens_aer_mac(ipcg4_f_o_a)=1.0 dens_aer_mac(ipcg5_f_o_a)=1.0 dens_aer_mac(ipcg6_f_o_a)=1.0 dens_aer_mac(ipcg7_f_o_a)=1.0 dens_aer_mac(ipcg8_f_o_a)=1.0 dens_aer_mac(ipcg9_f_o_a)=1.0 dens_aer_mac(iopcg1_f_o_a)=1.0 dens_aer_mac(iopcg2_f_o_a)=1.0 dens_aer_mac(iopcg3_f_o_a)=1.0 dens_aer_mac(iopcg4_f_o_a)=1.0 dens_aer_mac(iopcg5_f_o_a)=1.0 dens_aer_mac(iopcg6_f_o_a)=1.0 dens_aer_mac(iopcg7_f_o_a)=1.0 dens_aer_mac(iopcg8_f_o_a)=1.0 dens_aer_mac(ismpa_a)=1.0 dens_aer_mac(ismpbb_a)=1.0 dens_aer_mac(iglysoa_r1_a)=1.0 dens_aer_mac(iglysoa_r2_a)=1.0 dens_aer_mac(iglysoa_sfc_a)=1.0 dens_aer_mac(iglysoa_nh4_a)=1.0 dens_aer_mac(iglysoa_oh_a)=1.0 dens_aer_mac(iant1_c_a)=1.0 dens_aer_mac(iant2_c_a)=1.0 dens_aer_mac(iant3_c_a)=1.0 dens_aer_mac(iant4_c_a)=1.0 dens_aer_mac(iant1_o_a)=1.0 dens_aer_mac(iant2_o_a)=1.0 dens_aer_mac(iant3_o_a)=1.0 dens_aer_mac(iant4_o_a)=1.0 dens_aer_mac(ibiog1_c_a)=1.0 dens_aer_mac(ibiog2_c_a)=1.0 dens_aer_mac(ibiog3_c_a)=1.0 dens_aer_mac(ibiog4_c_a)=1.0 dens_aer_mac(ibiog1_o_a)=1.0 dens_aer_mac(ibiog2_o_a)=1.0 dens_aer_mac(ibiog3_o_a)=1.0 dens_aer_mac(ibiog4_o_a)=1.0 dens_aer_mac(iasoaX_a)=1.5 dens_aer_mac(iasoa1_a)=1.5 dens_aer_mac(iasoa2_a)=1.5 dens_aer_mac(iasoa3_a)=1.5 dens_aer_mac(iasoa4_a)=1.5 dens_aer_mac(ibsoaX_a)=1.5 dens_aer_mac(ibsoa1_a)=1.5 dens_aer_mac(ibsoa2_a)=1.5 dens_aer_mac(ibsoa3_a)=1.5 dens_aer_mac(ibsoa4_a)=1.5 ! partial molar volumes of condensing species partial_molar_vol(ih2so4_g) = 51.83 partial_molar_vol(ihno3_g) = 31.45 partial_molar_vol(ihcl_g) = 20.96 partial_molar_vol(inh3_g) = 24.03 partial_molar_vol(imsa_g) = 53.33 partial_molar_vol(ipcg1_b_c_g) =250.0 partial_molar_vol(ipcg2_b_c_g) =250.0 partial_molar_vol(ipcg3_b_c_g)=250.0 partial_molar_vol(ipcg4_b_c_g)=250.0 partial_molar_vol(ipcg5_b_c_g)=250.0 partial_molar_vol(ipcg6_b_c_g)=250.0 partial_molar_vol(ipcg7_b_c_g)=250.0 partial_molar_vol(ipcg8_b_c_g)=250.0 partial_molar_vol(ipcg9_b_c_g)=250.0 partial_molar_vol(iopcg1_b_c_g)=250.0 partial_molar_vol(iopcg2_b_c_g)=250.0 partial_molar_vol(iopcg3_b_c_g)=250.0 partial_molar_vol(iopcg4_b_c_g)=250.0 partial_molar_vol(iopcg5_b_c_g)=250.0 partial_molar_vol(iopcg6_b_c_g)=250.0 partial_molar_vol(iopcg7_b_c_g)=250.0 partial_molar_vol(iopcg8_b_c_g)=250.0 partial_molar_vol(ipcg1_b_o_g)=250.0 partial_molar_vol(ipcg2_b_o_g)=250.0 partial_molar_vol(ipcg3_b_o_g)=250.0 partial_molar_vol(ipcg4_b_o_g)=250.0 partial_molar_vol(ipcg5_b_o_g)=250.0 partial_molar_vol(ipcg6_b_o_g)=250.0 partial_molar_vol(ipcg7_b_o_g)=250.0 partial_molar_vol(ipcg8_b_o_g)=250.0 partial_molar_vol(ipcg9_b_o_g)=250.0 partial_molar_vol(iopcg1_b_o_g)=250.0 partial_molar_vol(iopcg2_b_o_g)=250.0 partial_molar_vol(iopcg3_b_o_g)=250.0 partial_molar_vol(iopcg4_b_o_g)=250.0 partial_molar_vol(iopcg5_b_o_g)=250.0 partial_molar_vol(iopcg6_b_o_g)=250.0 partial_molar_vol(iopcg7_b_o_g)=250.0 partial_molar_vol(iopcg8_b_o_g)=250.0 partial_molar_vol(ipcg1_f_c_g) =250.0 partial_molar_vol(ipcg2_f_c_g) =250.0 partial_molar_vol(ipcg3_f_c_g)=250.0 partial_molar_vol(ipcg4_f_c_g)=250.0 partial_molar_vol(ipcg5_f_c_g)=250.0 partial_molar_vol(ipcg6_f_c_g)=250.0 partial_molar_vol(ipcg7_f_c_g)=250.0 partial_molar_vol(ipcg8_f_c_g)=250.0 partial_molar_vol(ipcg9_f_c_g)=250.0 partial_molar_vol(iopcg1_f_c_g)=250.0 partial_molar_vol(iopcg2_f_c_g)=250.0 partial_molar_vol(iopcg3_f_c_g)=250.0 partial_molar_vol(iopcg4_f_c_g)=250.0 partial_molar_vol(iopcg5_f_c_g)=250.0 partial_molar_vol(iopcg6_f_c_g)=250.0 partial_molar_vol(iopcg7_f_c_g)=250.0 partial_molar_vol(iopcg8_f_c_g)=250.0 partial_molar_vol(ipcg1_f_o_g)=250.0 partial_molar_vol(ipcg2_f_o_g)=250.0 partial_molar_vol(ipcg3_f_o_g)=250.0 partial_molar_vol(ipcg4_f_o_g)=250.0 partial_molar_vol(ipcg5_f_o_g)=250.0 partial_molar_vol(ipcg6_f_o_g)=250.0 partial_molar_vol(ipcg7_f_o_g)=250.0 partial_molar_vol(ipcg8_f_o_g)=250.0 partial_molar_vol(ipcg9_f_o_g)=250.0 partial_molar_vol(iopcg1_f_o_g)=250.0 partial_molar_vol(iopcg2_f_o_g)=250.0 partial_molar_vol(iopcg3_f_o_g)=250.0 partial_molar_vol(iopcg4_f_o_g)=250.0 partial_molar_vol(iopcg5_f_o_g)=250.0 partial_molar_vol(iopcg6_f_o_g)=250.0 partial_molar_vol(iopcg7_f_o_g)=250.0 partial_molar_vol(iopcg8_f_o_g)=250.0 partial_molar_vol(ismpa_g)=250.0 partial_molar_vol(ismpbb_g)=250.0 partial_molar_vol(iant1_c_g)=250.0 partial_molar_vol(iant2_c_g)=250.0 partial_molar_vol(iant3_c_g)=250.0 partial_molar_vol(iant4_c_g)=250.0 partial_molar_vol(iant1_o_g)=250.0 partial_molar_vol(iant2_o_g)=250.0 partial_molar_vol(iant3_o_g)=250.0 partial_molar_vol(iant4_o_g)=250.0 partial_molar_vol(ibiog1_c_g)=250.0 partial_molar_vol(ibiog2_c_g)=250.0 partial_molar_vol(ibiog3_c_g)=250.0 partial_molar_vol(ibiog4_c_g)=250.0 partial_molar_vol(ibiog1_o_g)=250.0 partial_molar_vol(ibiog2_o_g)=250.0 partial_molar_vol(ibiog3_o_g)=250.0 partial_molar_vol(ibiog4_o_g)=250.0 partial_molar_vol(in2o5_g) = 200.0 ! assumed... partial_molar_vol(iclno2_g) = 200.0 ! assumed... partial_molar_vol(iasoaX_g)=250.0 partial_molar_vol(iasoa1_g)=250.0 partial_molar_vol(iasoa2_g)=250.0 partial_molar_vol(iasoa3_g)=250.0 partial_molar_vol(iasoa4_g)=250.0 partial_molar_vol(ibsoaX_g)=250.0 partial_molar_vol(ibsoa1_g)=250.0 partial_molar_vol(ibsoa2_g)=250.0 partial_molar_vol(ibsoa3_g)=250.0 partial_molar_vol(ibsoa4_g)=250.0 partial_molar_vol(igly)=58.0 partial_molar_vol(iho)=17.0 ! refractive index ref_index_a(jnh4so4) = cmplx(1.52,0.) ref_index_a(jlvcite) = cmplx(1.50,0.) ref_index_a(jnh4hso4)= cmplx(1.47,0.) ref_index_a(jnh4msa) = cmplx(1.50,0.) ! assumed ref_index_a(jnh4no3) = cmplx(1.50,0.) ref_index_a(jnh4cl) = cmplx(1.50,0.) ref_index_a(jnacl) = cmplx(1.45,0.) ref_index_a(jnano3) = cmplx(1.50,0.) ref_index_a(jna2so4) = cmplx(1.50,0.) ref_index_a(jna3hso4)= cmplx(1.50,0.) ref_index_a(jnahso4) = cmplx(1.50,0.) ref_index_a(jnamsa) = cmplx(1.50,0.) ! assumed ref_index_a(jcaso4) = cmplx(1.56,0.006) ref_index_a(jcamsa2) = cmplx(1.56,0.006) ! assumed ref_index_a(jcano3) = cmplx(1.56,0.006) ref_index_a(jcacl2) = cmplx(1.52,0.006) ref_index_a(jcaco3) = cmplx(1.68,0.006) ref_index_a(jh2so4) = cmplx(1.43,0.) ref_index_a(jhhso4) = cmplx(1.43,0.) ref_index_a(jhno3) = cmplx(1.50,0.) ref_index_a(jhcl) = cmplx(1.50,0.) ref_index_a(jmsa) = cmplx(1.43,0.) ! assumed ref_index_a(joc) = cmplx(1.45,0.) ref_index_a(jbc) = cmplx(1.82,0.74) ref_index_a(join) = cmplx(1.55,0.006) ref_index_a(jh2o) = cmplx(1.33,0.) ! jsalt_index jsalt_index(jnh4so4) = 5 ! as jsalt_index(jlvcite) = 2 ! lv jsalt_index(jnh4hso4)= 1 ! ab jsalt_index(jnh4no3) = 2 ! an jsalt_index(jnh4cl) = 1 ! ac jsalt_index(jna2so4) = 60 ! ss jsalt_index(jnahso4) = 10 ! sb jsalt_index(jnano3) = 40 ! sn jsalt_index(jnacl) = 10 ! sc jsalt_index(jcano3) = 120 ! cn jsalt_index(jcacl2) = 80 ! cc jsalt_index(jnh4msa) = 0 ! AM zero for now jsalt_index(jnamsa) = 0 ! SM zero for now jsalt_index(jcamsa2) = 0 ! CM zero for now ! aerosol indices ! ac = 1, an = 2, as = 5, sc = 10, sn = 40, ss = 60, cc = 80, cn = 120, ! ab = 1, lv = 2, sb = 10 ! ! sulfate-poor domain jsulf_poor(1) = 1 ! ac jsulf_poor(2) = 2 ! an jsulf_poor(5) = 3 ! as jsulf_poor(10) = 4 ! sc jsulf_poor(40) = 5 ! sn jsulf_poor(60) = 6 ! ss jsulf_poor(80) = 7 ! cc jsulf_poor(120) = 8 ! cn jsulf_poor(3) = 9 ! an + ac jsulf_poor(6) = 10 ! as + ac jsulf_poor(7) = 11 ! as + an jsulf_poor(8) = 12 ! as + an + ac jsulf_poor(11) = 13 ! sc + ac jsulf_poor(41) = 14 ! sn + ac jsulf_poor(42) = 15 ! sn + an jsulf_poor(43) = 16 ! sn + an + ac jsulf_poor(50) = 17 ! sn + sc jsulf_poor(51) = 18 ! sn + sc + ac jsulf_poor(61) = 19 ! ss + ac jsulf_poor(62) = 20 ! ss + an jsulf_poor(63) = 21 ! ss + an + ac jsulf_poor(65) = 22 ! ss + as jsulf_poor(66) = 23 ! ss + as + ac jsulf_poor(67) = 24 ! ss + as + an jsulf_poor(68) = 25 ! ss + as + an + ac jsulf_poor(70) = 26 ! ss + sc jsulf_poor(71) = 27 ! ss + sc + ac jsulf_poor(100) = 28 ! ss + sn jsulf_poor(101) = 29 ! ss + sn + ac jsulf_poor(102) = 30 ! ss + sn + an jsulf_poor(103) = 31 ! ss + sn + an + ac jsulf_poor(110) = 32 ! ss + sn + sc jsulf_poor(111) = 33 ! ss + sn + sc + ac jsulf_poor(81) = 34 ! cc + ac jsulf_poor(90) = 35 ! cc + sc jsulf_poor(91) = 36 ! cc + sc + ac jsulf_poor(121) = 37 ! cn + ac jsulf_poor(122) = 38 ! cn + an jsulf_poor(123) = 39 ! cn + an + ac jsulf_poor(130) = 40 ! cn + sc jsulf_poor(131) = 41 ! cn + sc + ac jsulf_poor(160) = 42 ! cn + sn jsulf_poor(161) = 43 ! cn + sn + ac jsulf_poor(162) = 44 ! cn + sn + an jsulf_poor(163) = 45 ! cn + sn + an + ac jsulf_poor(170) = 46 ! cn + sn + sc jsulf_poor(171) = 47 ! cn + sn + sc + ac jsulf_poor(200) = 48 ! cn + cc jsulf_poor(201) = 49 ! cn + cc + ac jsulf_poor(210) = 50 ! cn + cc + sc jsulf_poor(211) = 51 ! cn + cc + sc + ac ! ! sulfate-rich domain jsulf_rich(1) = 52 ! ab jsulf_rich(2) = 53 ! lv jsulf_rich(10) = 54 ! sb jsulf_rich(3) = 55 ! ab + lv jsulf_rich(7) = 56 ! as + lv jsulf_rich(70) = 57 ! ss + sb jsulf_rich(62) = 58 ! ss + lv jsulf_rich(67) = 59 ! ss + as + lv jsulf_rich(61) = 60 ! ss + ab jsulf_rich(63) = 61 ! ss + lv + ab jsulf_rich(11) = 62 ! sb + ab jsulf_rich(71) = 63 ! ss + sb + ab jsulf_rich(5) = 3 ! as jsulf_rich(60) = 6 ! ss jsulf_rich(65) = 22 ! ss + as ! ! polynomial coefficients for binary molality (used in zsr equation) ! ! ! a_zsr for aw < 0.97 ! ! (nh4)2so4 je = jnh4so4 a_zsr(1,je) = 1.30894 a_zsr(2,je) = -7.09922 a_zsr(3,je) = 20.62831 a_zsr(4,je) = -32.19965 a_zsr(5,je) = 25.17026 a_zsr(6,je) = -7.81632 aw_min(je) = 0.1 ! ! (nh4)3h(so4)2 je = jlvcite a_zsr(1,je) = 1.10725 a_zsr(2,je) = -5.17978 a_zsr(3,je) = 12.29534 a_zsr(4,je) = -16.32545 a_zsr(5,je) = 11.29274 a_zsr(6,je) = -3.19164 aw_min(je) = 0.1 ! ! nh4hso4 je = jnh4hso4 a_zsr(1,je) = 1.15510 a_zsr(2,je) = -3.20815 a_zsr(3,je) = 2.71141 a_zsr(4,je) = 2.01155 a_zsr(5,je) = -4.71014 a_zsr(6,je) = 2.04616 aw_min(je) = 0.1 ! ! nh4msa (assumed same as nh4hso4) je = jnh4msa a_zsr(1,je) = 1.15510 a_zsr(2,je) = -3.20815 a_zsr(3,je) = 2.71141 a_zsr(4,je) = 2.01155 a_zsr(5,je) = -4.71014 a_zsr(6,je) = 2.04616 aw_min(je) = 0.1 ! ! nh4no3 je = jnh4no3 a_zsr(1,je) = 0.43507 a_zsr(2,je) = 6.38220 a_zsr(3,je) = -30.19797 a_zsr(4,je) = 53.36470 a_zsr(5,je) = -43.44203 a_zsr(6,je) = 13.46158 aw_min(je) = 0.1 ! ! nh4cl: revised on nov 13, 2003. based on chan and ha (1999) jgr. je = jnh4cl a_zsr(1,je) = 0.45309 a_zsr(2,je) = 2.65606 a_zsr(3,je) = -14.7730 a_zsr(4,je) = 26.2936 a_zsr(5,je) = -20.5735 a_zsr(6,je) = 5.94255 aw_min(je) = 0.1 ! ! nacl je = jnacl a_zsr(1,je) = 0.42922 a_zsr(2,je) = -1.17718 a_zsr(3,je) = 2.80208 a_zsr(4,je) = -4.51097 a_zsr(5,je) = 3.76963 a_zsr(6,je) = -1.31359 aw_min(je) = 0.1 ! ! nano3 je = jnano3 a_zsr(1,je) = 1.34966 a_zsr(2,je) = -5.20116 a_zsr(3,je) = 11.49011 a_zsr(4,je) = -14.41380 a_zsr(5,je) = 9.07037 a_zsr(6,je) = -2.29769 aw_min(je) = 0.1 ! ! na2so4 je = jna2so4 a_zsr(1,je) = 0.39888 a_zsr(2,je) = -1.27150 a_zsr(3,je) = 3.42792 a_zsr(4,je) = -5.92632 a_zsr(5,je) = 5.33351 a_zsr(6,je) = -1.96541 aw_min(je) = 0.1 ! ! na3h(so4)2 added on 1/14/2004 je = jna3hso4 a_zsr(1,je) = 0.31480 a_zsr(2,je) = -1.01087 a_zsr(3,je) = 2.44029 a_zsr(4,je) = -3.66095 a_zsr(5,je) = 2.77632 a_zsr(6,je) = -0.86058 aw_min(je) = 0.1 ! ! nahso4 je = jnahso4 a_zsr(1,je) = 0.62764 a_zsr(2,je) = -1.63520 a_zsr(3,je) = 4.62531 a_zsr(4,je) = -10.06925 a_zsr(5,je) = 10.33547 a_zsr(6,je) = -3.88729 aw_min(je) = 0.1 ! ! namsa (assumed same as nahso4) je = jnamsa a_zsr(1,je) = 0.62764 a_zsr(2,je) = -1.63520 a_zsr(3,je) = 4.62531 a_zsr(4,je) = -10.06925 a_zsr(5,je) = 10.33547 a_zsr(6,je) = -3.88729 aw_min(je) = 0.1 ! ! ca(no3)2 je = jcano3 a_zsr(1,je) = 0.38895 a_zsr(2,je) = -1.16013 a_zsr(3,je) = 2.16819 a_zsr(4,je) = -2.23079 a_zsr(5,je) = 1.00268 a_zsr(6,je) = -0.16923 aw_min(je) = 0.1 ! ! cacl2: kim and seinfeld je = jcacl2 a_zsr(1,je) = 0.29891 a_zsr(2,je) = -1.31104 a_zsr(3,je) = 3.68759 a_zsr(4,je) = -5.81708 a_zsr(5,je) = 4.67520 a_zsr(6,je) = -1.53223 aw_min(je) = 0.1 ! ! h2so4 je = jh2so4 a_zsr(1,je) = 0.32751 a_zsr(2,je) = -1.00692 a_zsr(3,je) = 2.59750 a_zsr(4,je) = -4.40014 a_zsr(5,je) = 3.88212 a_zsr(6,je) = -1.39916 aw_min(je) = 0.1 ! ! msa (assumed same as h2so4) je = jmsa a_zsr(1,je) = 0.32751 a_zsr(2,je) = -1.00692 a_zsr(3,je) = 2.59750 a_zsr(4,je) = -4.40014 a_zsr(5,je) = 3.88212 a_zsr(6,je) = -1.39916 aw_min(je) = 0.1 ! ! hhso4 je = jhhso4 a_zsr(1,je) = 0.32751 a_zsr(2,je) = -1.00692 a_zsr(3,je) = 2.59750 a_zsr(4,je) = -4.40014 a_zsr(5,je) = 3.88212 a_zsr(6,je) = -1.39916 aw_min(je) = 1.0 ! ! hno3 je = jhno3 a_zsr(1,je) = 0.75876 a_zsr(2,je) = -3.31529 a_zsr(3,je) = 9.26392 a_zsr(4,je) = -14.89799 a_zsr(5,je) = 12.08781 a_zsr(6,je) = -3.89958 aw_min(je) = 0.1 ! ! hcl je = jhcl a_zsr(1,je) = 0.31133 a_zsr(2,je) = -0.79688 a_zsr(3,je) = 1.93995 a_zsr(4,je) = -3.31582 a_zsr(5,je) = 2.93513 a_zsr(6,je) = -1.07268 aw_min(je) = 0.1 ! ! caso4 je = jcaso4 a_zsr(1,je) = 0.0 a_zsr(2,je) = 0.0 a_zsr(3,je) = 0.0 a_zsr(4,je) = 0.0 a_zsr(5,je) = 0.0 a_zsr(6,je) = 0.0 aw_min(je) = 1.0 ! ! ca(msa)2 (assumed same as ca(no3)2) je = jcamsa2 a_zsr(1,je) = 0.38895 a_zsr(2,je) = -1.16013 a_zsr(3,je) = 2.16819 a_zsr(4,je) = -2.23079 a_zsr(5,je) = 1.00268 a_zsr(6,je) = -0.16923 aw_min(je) = 0.1 ! ! caco3 je = jcaco3 a_zsr(1,je) = 0.0 a_zsr(2,je) = 0.0 a_zsr(3,je) = 0.0 a_zsr(4,je) = 0.0 a_zsr(5,je) = 0.0 a_zsr(6,je) = 0.0 aw_min(je) = 1.0 !------------------------------------------- ! b_zsr for aw => 0.97 to 0.99999 ! ! (nh4)2so4 b_zsr(jnh4so4) = 28.0811 ! ! (nh4)3h(so4)2 b_zsr(jlvcite) = 14.7178 ! ! nh4hso4 b_zsr(jnh4hso4) = 29.4779 ! ! nh4msa b_zsr(jnh4msa) = 29.4779 ! assumed same as nh4hso4 ! ! nh4no3 b_zsr(jnh4no3) = 33.4049 ! ! nh4cl b_zsr(jnh4cl) = 30.8888 ! ! nacl b_zsr(jnacl) = 29.8375 ! ! nano3 b_zsr(jnano3) = 32.2756 ! ! na2so4 b_zsr(jna2so4) = 27.6889 ! ! na3h(so4)2 b_zsr(jna3hso4) = 14.2184 ! ! nahso4 b_zsr(jnahso4) = 28.3367 ! ! namsa b_zsr(jnamsa) = 28.3367 ! assumed same as nahso4 ! ! ca(no3)2 b_zsr(jcano3) = 18.3661 ! ! cacl2 b_zsr(jcacl2) = 20.8792 ! ! h2so4 b_zsr(jh2so4) = 26.7347 ! ! hhso4 b_zsr(jhhso4) = 26.7347 ! ! hno3 b_zsr(jhno3) = 28.8257 ! ! hcl b_zsr(jhcl) = 27.7108 ! ! msa b_zsr(jmsa) = 26.7347 ! assumed same as h2so4 ! ! caso4 b_zsr(jcaso4) = 0.0 ! ! ca(msa)2 b_zsr(jcamsa2) = 18.3661 ! assumed same as Ca(NO3)2 ! ! caco3 b_zsr(jcaco3) = 0.0 !---------------------------------------------------------------- ! parameters for mtem mixing rule (zaveri, easter, and wexler, 2005) ! log_gamz(ja,je) a in e !---------------------------------------------------------------- ! ! (nh4)2so4 in e ja = jnh4so4 ! in (nh4)2so4 je = jnh4so4 b_mtem(1,ja,je) = -2.94685 b_mtem(2,ja,je) = 17.3328 b_mtem(3,ja,je) = -64.8441 b_mtem(4,ja,je) = 122.7070 b_mtem(5,ja,je) = -114.4373 b_mtem(6,ja,je) = 41.6811 ! in nh4no3 je = jnh4no3 b_mtem(1,ja,je) = -2.7503 b_mtem(2,ja,je) = 4.3806 b_mtem(3,ja,je) = -1.1110 b_mtem(4,ja,je) = -1.7005 b_mtem(5,ja,je) = -4.4207 b_mtem(6,ja,je) = 5.1990 ! in nh4cl (revised on 11/15/2003) je = jnh4cl b_mtem(1,ja,je) = -2.06952 b_mtem(2,ja,je) = 7.1240 b_mtem(3,ja,je) = -24.4274 b_mtem(4,ja,je) = 51.1458 b_mtem(5,ja,je) = -54.2056 b_mtem(6,ja,je) = 22.0606 ! in na2so4 je = jna2so4 b_mtem(1,ja,je) = -2.17361 b_mtem(2,ja,je) = 15.9919 b_mtem(3,ja,je) = -69.0952 b_mtem(4,ja,je) = 139.8860 b_mtem(5,ja,je) = -134.9890 b_mtem(6,ja,je) = 49.8877 ! in nano3 je = jnano3 b_mtem(1,ja,je) = -4.4370 b_mtem(2,ja,je) = 24.0243 b_mtem(3,ja,je) = -76.2437 b_mtem(4,ja,je) = 128.6660 b_mtem(5,ja,je) = -110.0900 b_mtem(6,ja,je) = 37.7414 ! in nacl je = jnacl b_mtem(1,ja,je) = -1.5394 b_mtem(2,ja,je) = 5.8671 b_mtem(3,ja,je) = -22.7726 b_mtem(4,ja,je) = 47.0547 b_mtem(5,ja,je) = -47.8266 b_mtem(6,ja,je) = 18.8489 ! in hno3 je = jhno3 b_mtem(1,ja,je) = -0.35750 b_mtem(2,ja,je) = -3.82466 b_mtem(3,ja,je) = 4.55462 b_mtem(4,ja,je) = 5.05402 b_mtem(5,ja,je) = -14.7476 b_mtem(6,ja,je) = 8.8009 ! in hcl je = jhcl b_mtem(1,ja,je) = -2.15146 b_mtem(2,ja,je) = 5.50205 b_mtem(3,ja,je) = -19.1476 b_mtem(4,ja,je) = 39.1880 b_mtem(5,ja,je) = -39.9460 b_mtem(6,ja,je) = 16.0700 ! in h2so4 je = jh2so4 b_mtem(1,ja,je) = -2.52604 b_mtem(2,ja,je) = 9.76022 b_mtem(3,ja,je) = -35.2540 b_mtem(4,ja,je) = 71.2981 b_mtem(5,ja,je) = -71.8207 b_mtem(6,ja,je) = 28.0758 ! ! in nh4hso4 je = jnh4hso4 b_mtem(1,ja,je) = -4.13219 b_mtem(2,ja,je) = 13.8863 b_mtem(3,ja,je) = -34.5387 b_mtem(4,ja,je) = 56.5012 b_mtem(5,ja,je) = -51.8702 b_mtem(6,ja,je) = 19.6232 ! ! in (nh4)3h(so4)2 je = jlvcite b_mtem(1,ja,je) = -2.53482 b_mtem(2,ja,je) = 12.3333 b_mtem(3,ja,je) = -46.1020 b_mtem(4,ja,je) = 90.4775 b_mtem(5,ja,je) = -88.1254 b_mtem(6,ja,je) = 33.4715 ! ! in nahso4 je = jnahso4 b_mtem(1,ja,je) = -3.23425 b_mtem(2,ja,je) = 18.7842 b_mtem(3,ja,je) = -78.7807 b_mtem(4,ja,je) = 161.517 b_mtem(5,ja,je) = -154.940 b_mtem(6,ja,je) = 56.2252 ! ! in na3h(so4)2 je = jna3hso4 b_mtem(1,ja,je) = -1.25316 b_mtem(2,ja,je) = 7.40960 b_mtem(3,ja,je) = -34.8929 b_mtem(4,ja,je) = 72.8853 b_mtem(5,ja,je) = -72.4503 b_mtem(6,ja,je) = 27.7706 !----------------- ! nh4no3 in e ja = jnh4no3 ! in (nh4)2so4 je = jnh4so4 b_mtem(1,ja,je) = -3.5201 b_mtem(2,ja,je) = 21.6584 b_mtem(3,ja,je) = -72.1499 b_mtem(4,ja,je) = 126.7000 b_mtem(5,ja,je) = -111.4550 b_mtem(6,ja,je) = 38.5677 ! in nh4no3 je = jnh4no3 b_mtem(1,ja,je) = -2.2630 b_mtem(2,ja,je) = -0.1518 b_mtem(3,ja,je) = 17.0898 b_mtem(4,ja,je) = -36.7832 b_mtem(5,ja,je) = 29.8407 b_mtem(6,ja,je) = -7.9314 ! in nh4cl (revised on 11/15/2003) je = jnh4cl b_mtem(1,ja,je) = -1.3851 b_mtem(2,ja,je) = -0.4462 b_mtem(3,ja,je) = 8.4567 b_mtem(4,ja,je) = -11.5988 b_mtem(5,ja,je) = 2.9802 b_mtem(6,ja,je) = 1.8132 ! in na2so4 je = jna2so4 b_mtem(1,ja,je) = -1.7602 b_mtem(2,ja,je) = 10.4044 b_mtem(3,ja,je) = -35.5894 b_mtem(4,ja,je) = 64.3584 b_mtem(5,ja,je) = -57.8931 b_mtem(6,ja,je) = 20.2141 ! in nano3 je = jnano3 b_mtem(1,ja,je) = -3.24346 b_mtem(2,ja,je) = 16.2794 b_mtem(3,ja,je) = -48.7601 b_mtem(4,ja,je) = 79.2246 b_mtem(5,ja,je) = -65.8169 b_mtem(6,ja,je) = 22.1500 ! in nacl je = jnacl b_mtem(1,ja,je) = -1.75658 b_mtem(2,ja,je) = 7.71384 b_mtem(3,ja,je) = -22.7984 b_mtem(4,ja,je) = 39.1532 b_mtem(5,ja,je) = -34.6165 b_mtem(6,ja,je) = 12.1283 ! in ca(no3)2 je = jcano3 b_mtem(1,ja,je) = -0.97178 b_mtem(2,ja,je) = 6.61964 b_mtem(3,ja,je) = -26.2353 b_mtem(4,ja,je) = 50.5259 b_mtem(5,ja,je) = -47.6586 b_mtem(6,ja,je) = 17.5074 ! in cacl2 added on 12/22/2003 je = jcacl2 b_mtem(1,ja,je) = -0.41515 b_mtem(2,ja,je) = 6.44101 b_mtem(3,ja,je) = -26.4473 b_mtem(4,ja,je) = 49.0718 b_mtem(5,ja,je) = -44.2631 b_mtem(6,ja,je) = 15.3771 ! in hno3 je = jhno3 b_mtem(1,ja,je) = -1.20644 b_mtem(2,ja,je) = 5.70117 b_mtem(3,ja,je) = -18.2783 b_mtem(4,ja,je) = 31.7199 b_mtem(5,ja,je) = -27.8703 b_mtem(6,ja,je) = 9.7299 ! in hcl je = jhcl b_mtem(1,ja,je) = -0.680862 b_mtem(2,ja,je) = 3.59456 b_mtem(3,ja,je) = -10.7969 b_mtem(4,ja,je) = 17.8434 b_mtem(5,ja,je) = -15.3165 b_mtem(6,ja,je) = 5.17123 !---------- ! nh4cl in e ja = jnh4cl ! in (nh4)2so4 je = jnh4so4 b_mtem(1,ja,je) = -2.8850 b_mtem(2,ja,je) = 20.6970 b_mtem(3,ja,je) = -70.6810 b_mtem(4,ja,je) = 124.3690 b_mtem(5,ja,je) = -109.2880 b_mtem(6,ja,je) = 37.5831 ! in nh4no3 je = jnh4no3 b_mtem(1,ja,je) = -1.9386 b_mtem(2,ja,je) = 1.3238 b_mtem(3,ja,je) = 11.8500 b_mtem(4,ja,je) = -28.1168 b_mtem(5,ja,je) = 21.8543 b_mtem(6,ja,je) = -5.1671 ! in nh4cl (revised on 11/15/2003) je = jnh4cl b_mtem(1,ja,je) = -0.9559 b_mtem(2,ja,je) = 0.8121 b_mtem(3,ja,je) = 4.3644 b_mtem(4,ja,je) = -8.9258 b_mtem(5,ja,je) = 4.2362 b_mtem(6,ja,je) = 0.2891 ! in na2so4 je = jna2so4 b_mtem(1,ja,je) = 0.0377 b_mtem(2,ja,je) = 6.0752 b_mtem(3,ja,je) = -30.8641 b_mtem(4,ja,je) = 63.3095 b_mtem(5,ja,je) = -61.0070 b_mtem(6,ja,je) = 22.1734 ! in nano3 je = jnano3 b_mtem(1,ja,je) = -1.8336 b_mtem(2,ja,je) = 12.8160 b_mtem(3,ja,je) = -42.3388 b_mtem(4,ja,je) = 71.1816 b_mtem(5,ja,je) = -60.5708 b_mtem(6,ja,je) = 20.5853 ! in nacl je = jnacl b_mtem(1,ja,je) = -0.1429 b_mtem(2,ja,je) = 2.3561 b_mtem(3,ja,je) = -10.4425 b_mtem(4,ja,je) = 20.8951 b_mtem(5,ja,je) = -20.7739 b_mtem(6,ja,je) = 7.9355 ! in ca(no3)2 je = jcano3 b_mtem(1,ja,je) = 0.76235 b_mtem(2,ja,je) = 3.08323 b_mtem(3,ja,je) = -23.6772 b_mtem(4,ja,je) = 53.7415 b_mtem(5,ja,je) = -55.4043 b_mtem(6,ja,je) = 21.2944 ! in cacl2 (revised on 11/27/2003) je = jcacl2 b_mtem(1,ja,je) = 1.13864 b_mtem(2,ja,je) = -0.340539 b_mtem(3,ja,je) = -8.67025 b_mtem(4,ja,je) = 22.8008 b_mtem(5,ja,je) = -24.5181 b_mtem(6,ja,je) = 9.3663 ! in hno3 je = jhno3 b_mtem(1,ja,je) = 2.42532 b_mtem(2,ja,je) = -14.1755 b_mtem(3,ja,je) = 38.804 b_mtem(4,ja,je) = -58.2437 b_mtem(5,ja,je) = 43.5431 b_mtem(6,ja,je) = -12.5824 ! in hcl je = jhcl b_mtem(1,ja,je) = 0.330337 b_mtem(2,ja,je) = 0.0778934 b_mtem(3,ja,je) = -2.30492 b_mtem(4,ja,je) = 4.73003 b_mtem(5,ja,je) = -4.80849 b_mtem(6,ja,je) = 1.78866 !---------- ! na2so4 in e ja = jna2so4 ! in (nh4)2so4 je = jnh4so4 b_mtem(1,ja,je) = -2.6982 b_mtem(2,ja,je) = 22.9875 b_mtem(3,ja,je) = -98.9840 b_mtem(4,ja,je) = 198.0180 b_mtem(5,ja,je) = -188.7270 b_mtem(6,ja,je) = 69.0548 ! in nh4no3 je = jnh4no3 b_mtem(1,ja,je) = -2.4844 b_mtem(2,ja,je) = 6.5420 b_mtem(3,ja,je) = -9.8998 b_mtem(4,ja,je) = 11.3884 b_mtem(5,ja,je) = -13.6842 b_mtem(6,ja,je) = 7.7411 ! in nh4cl (revised on 11/15/2003) je = jnh4cl b_mtem(1,ja,je) = -1.3325 b_mtem(2,ja,je) = 13.0406 b_mtem(3,ja,je) = -56.1935 b_mtem(4,ja,je) = 107.1170 b_mtem(5,ja,je) = -97.3721 b_mtem(6,ja,je) = 34.3763 ! in na2so4 je = jna2so4 b_mtem(1,ja,je) = -1.2832 b_mtem(2,ja,je) = 12.8526 b_mtem(3,ja,je) = -62.2087 b_mtem(4,ja,je) = 130.3876 b_mtem(5,ja,je) = -128.2627 b_mtem(6,ja,je) = 48.0340 ! in nano3 je = jnano3 b_mtem(1,ja,je) = -3.5384 b_mtem(2,ja,je) = 21.3758 b_mtem(3,ja,je) = -70.7638 b_mtem(4,ja,je) = 121.1580 b_mtem(5,ja,je) = -104.6230 b_mtem(6,ja,je) = 36.0557 ! in nacl je = jnacl b_mtem(1,ja,je) = 0.2175 b_mtem(2,ja,je) = -0.5648 b_mtem(3,ja,je) = -8.0288 b_mtem(4,ja,je) = 25.9734 b_mtem(5,ja,je) = -32.3577 b_mtem(6,ja,je) = 14.3924 ! in hno3 je = jhno3 b_mtem(1,ja,je) = -0.309617 b_mtem(2,ja,je) = -1.82899 b_mtem(3,ja,je) = -1.5505 b_mtem(4,ja,je) = 13.3847 b_mtem(5,ja,je) = -20.1284 b_mtem(6,ja,je) = 9.93163 ! in hcl je = jhcl b_mtem(1,ja,je) = -0.259455 b_mtem(2,ja,je) = -0.819366 b_mtem(3,ja,je) = -4.28964 b_mtem(4,ja,je) = 16.4305 b_mtem(5,ja,je) = -21.8546 b_mtem(6,ja,je) = 10.3044 ! in h2so4 je = jh2so4 b_mtem(1,ja,je) = -1.84257 b_mtem(2,ja,je) = 7.85788 b_mtem(3,ja,je) = -29.9275 b_mtem(4,ja,je) = 61.7515 b_mtem(5,ja,je) = -63.2308 b_mtem(6,ja,je) = 24.9542 ! in nh4hso4 je = jnh4hso4 b_mtem(1,ja,je) = -1.05891 b_mtem(2,ja,je) = 2.84831 b_mtem(3,ja,je) = -21.1827 b_mtem(4,ja,je) = 57.5175 b_mtem(5,ja,je) = -64.8120 b_mtem(6,ja,je) = 26.1986 ! in (nh4)3h(so4)2 je = jlvcite b_mtem(1,ja,je) = -1.16584 b_mtem(2,ja,je) = 8.50075 b_mtem(3,ja,je) = -44.3420 b_mtem(4,ja,je) = 97.3974 b_mtem(5,ja,je) = -98.4549 b_mtem(6,ja,je) = 37.6104 ! in nahso4 je = jnahso4 b_mtem(1,ja,je) = -1.95805 b_mtem(2,ja,je) = 6.62417 b_mtem(3,ja,je) = -31.8072 b_mtem(4,ja,je) = 77.8603 b_mtem(5,ja,je) = -84.6458 b_mtem(6,ja,je) = 33.4963 ! in na3h(so4)2 je = jna3hso4 b_mtem(1,ja,je) = -0.36045 b_mtem(2,ja,je) = 3.55223 b_mtem(3,ja,je) = -24.0327 b_mtem(4,ja,je) = 54.4879 b_mtem(5,ja,je) = -56.6531 b_mtem(6,ja,je) = 22.4956 !---------- ! nano3 in e ja = jnano3 ! in (nh4)2so4 je = jnh4so4 b_mtem(1,ja,je) = -2.5888 b_mtem(2,ja,je) = 17.6192 b_mtem(3,ja,je) = -63.2183 b_mtem(4,ja,je) = 115.3520 b_mtem(5,ja,je) = -104.0860 b_mtem(6,ja,je) = 36.7390 ! in nh4no3 je = jnh4no3 b_mtem(1,ja,je) = -2.0669 b_mtem(2,ja,je) = 1.4792 b_mtem(3,ja,je) = 10.5261 b_mtem(4,ja,je) = -27.0987 b_mtem(5,ja,je) = 23.0591 b_mtem(6,ja,je) = -6.0938 ! in nh4cl (revised on 11/15/2003) je = jnh4cl b_mtem(1,ja,je) = -0.8325 b_mtem(2,ja,je) = 3.9933 b_mtem(3,ja,je) = -15.3789 b_mtem(4,ja,je) = 30.4050 b_mtem(5,ja,je) = -29.4204 b_mtem(6,ja,je) = 11.0597 ! in na2so4 je = jna2so4 b_mtem(1,ja,je) = -1.1233 b_mtem(2,ja,je) = 8.3998 b_mtem(3,ja,je) = -31.9002 b_mtem(4,ja,je) = 60.1450 b_mtem(5,ja,je) = -55.5503 b_mtem(6,ja,je) = 19.7757 ! in nano3 je = jnano3 b_mtem(1,ja,je) = -2.5386 b_mtem(2,ja,je) = 13.9039 b_mtem(3,ja,je) = -42.8467 b_mtem(4,ja,je) = 69.7442 b_mtem(5,ja,je) = -57.8988 b_mtem(6,ja,je) = 19.4635 ! in nacl je = jnacl b_mtem(1,ja,je) = -0.4351 b_mtem(2,ja,je) = 2.8311 b_mtem(3,ja,je) = -11.4485 b_mtem(4,ja,je) = 22.7201 b_mtem(5,ja,je) = -22.4228 b_mtem(6,ja,je) = 8.5792 ! in ca(no3)2 je = jcano3 b_mtem(1,ja,je) = -0.72060 b_mtem(2,ja,je) = 5.64915 b_mtem(3,ja,je) = -23.5020 b_mtem(4,ja,je) = 46.0078 b_mtem(5,ja,je) = -43.8075 b_mtem(6,ja,je) = 16.1652 ! in cacl2 je = jcacl2 b_mtem(1,ja,je) = 0.003928 b_mtem(2,ja,je) = 3.54724 b_mtem(3,ja,je) = -18.6057 b_mtem(4,ja,je) = 38.1445 b_mtem(5,ja,je) = -36.7745 b_mtem(6,ja,je) = 13.4529 ! in hno3 je = jhno3 b_mtem(1,ja,je) = -1.1712 b_mtem(2,ja,je) = 7.20907 b_mtem(3,ja,je) = -22.9215 b_mtem(4,ja,je) = 38.1257 b_mtem(5,ja,je) = -32.0759 b_mtem(6,ja,je) = 10.6443 ! in hcl je = jhcl b_mtem(1,ja,je) = 0.738022 b_mtem(2,ja,je) = -1.14313 b_mtem(3,ja,je) = 0.32251 b_mtem(4,ja,je) = 0.838679 b_mtem(5,ja,je) = -1.81747 b_mtem(6,ja,je) = 0.873986 !---------- ! nacl in e ja = jnacl ! in (nh4)2so4 je = jnh4so4 b_mtem(1,ja,je) = -1.9525 b_mtem(2,ja,je) = 16.6433 b_mtem(3,ja,je) = -61.7090 b_mtem(4,ja,je) = 112.9910 b_mtem(5,ja,je) = -101.9370 b_mtem(6,ja,je) = 35.7760 ! in nh4no3 je = jnh4no3 b_mtem(1,ja,je) = -1.7525 b_mtem(2,ja,je) = 3.0713 b_mtem(3,ja,je) = 4.8063 b_mtem(4,ja,je) = -17.5334 b_mtem(5,ja,je) = 14.2872 b_mtem(6,ja,je) = -3.0690 ! in nh4cl (revised on 11/15/2003) je = jnh4cl b_mtem(1,ja,je) = -0.4021 b_mtem(2,ja,je) = 5.2399 b_mtem(3,ja,je) = -19.4278 b_mtem(4,ja,je) = 33.0027 b_mtem(5,ja,je) = -28.1020 b_mtem(6,ja,je) = 9.5159 ! in na2so4 je = jna2so4 b_mtem(1,ja,je) = 0.6692 b_mtem(2,ja,je) = 4.1207 b_mtem(3,ja,je) = -27.3314 b_mtem(4,ja,je) = 59.3112 b_mtem(5,ja,je) = -58.7998 b_mtem(6,ja,je) = 21.7674 ! in nano3 je = jnano3 b_mtem(1,ja,je) = -1.17444 b_mtem(2,ja,je) = 10.9927 b_mtem(3,ja,je) = -38.9013 b_mtem(4,ja,je) = 66.8521 b_mtem(5,ja,je) = -57.6564 b_mtem(6,ja,je) = 19.7296 ! in nacl je = jnacl b_mtem(1,ja,je) = 1.17679 b_mtem(2,ja,je) = -2.5061 b_mtem(3,ja,je) = 0.8508 b_mtem(4,ja,je) = 4.4802 b_mtem(5,ja,je) = -8.4945 b_mtem(6,ja,je) = 4.3182 ! in ca(no3)2 je = jcano3 b_mtem(1,ja,je) = 1.01450 b_mtem(2,ja,je) = 2.10260 b_mtem(3,ja,je) = -20.9036 b_mtem(4,ja,je) = 49.1481 b_mtem(5,ja,je) = -51.4867 b_mtem(6,ja,je) = 19.9301 ! in cacl2 (psc92: revised on 11/27/2003) je = jcacl2 b_mtem(1,ja,je) = 1.55463 b_mtem(2,ja,je) = -3.20122 b_mtem(3,ja,je) = -0.957075 b_mtem(4,ja,je) = 12.103 b_mtem(5,ja,je) = -17.221 b_mtem(6,ja,je) = 7.50264 ! in hno3 je = jhno3 b_mtem(1,ja,je) = 2.46187 b_mtem(2,ja,je) = -12.6845 b_mtem(3,ja,je) = 34.2383 b_mtem(4,ja,je) = -51.9992 b_mtem(5,ja,je) = 39.4934 b_mtem(6,ja,je) = -11.7247 ! in hcl je = jhcl b_mtem(1,ja,je) = 1.74915 b_mtem(2,ja,je) = -4.65768 b_mtem(3,ja,je) = 8.80287 b_mtem(4,ja,je) = -12.2503 b_mtem(5,ja,je) = 8.668751 b_mtem(6,ja,je) = -2.50158 !---------- ! ca(no3)2 in e ja = jcano3 ! in nh4no3 je = jnh4no3 b_mtem(1,ja,je) = -1.86260 b_mtem(2,ja,je) = 11.6178 b_mtem(3,ja,je) = -30.9069 b_mtem(4,ja,je) = 41.7578 b_mtem(5,ja,je) = -33.7338 b_mtem(6,ja,je) = 12.7541 ! in nh4cl (revised on 11/15/2003) je = jnh4cl b_mtem(1,ja,je) = -1.1798 b_mtem(2,ja,je) = 25.9608 b_mtem(3,ja,je) = -98.9373 b_mtem(4,ja,je) = 160.2300 b_mtem(5,ja,je) = -125.9540 b_mtem(6,ja,je) = 39.5130 ! in nano3 je = jnano3 b_mtem(1,ja,je) = -1.44384 b_mtem(2,ja,je) = 13.6044 b_mtem(3,ja,je) = -54.4300 b_mtem(4,ja,je) = 100.582 b_mtem(5,ja,je) = -91.2364 b_mtem(6,ja,je) = 32.5970 ! in nacl je = jnacl b_mtem(1,ja,je) = -0.099114 b_mtem(2,ja,je) = 2.84091 b_mtem(3,ja,je) = -16.9229 b_mtem(4,ja,je) = 37.4839 b_mtem(5,ja,je) = -39.5132 b_mtem(6,ja,je) = 15.8564 ! in ca(no3)2 je = jcano3 b_mtem(1,ja,je) = 0.055116 b_mtem(2,ja,je) = 4.58610 b_mtem(3,ja,je) = -27.6629 b_mtem(4,ja,je) = 60.8288 b_mtem(5,ja,je) = -61.4988 b_mtem(6,ja,je) = 23.3136 ! in cacl2 (psc92: revised on 11/27/2003) je = jcacl2 b_mtem(1,ja,je) = 1.57155 b_mtem(2,ja,je) = -3.18486 b_mtem(3,ja,je) = -3.35758 b_mtem(4,ja,je) = 18.7501 b_mtem(5,ja,je) = -24.5604 b_mtem(6,ja,je) = 10.3798 ! in hno3 je = jhno3 b_mtem(1,ja,je) = 1.04446 b_mtem(2,ja,je) = -3.19066 b_mtem(3,ja,je) = 2.44714 b_mtem(4,ja,je) = 2.07218 b_mtem(5,ja,je) = -6.43949 b_mtem(6,ja,je) = 3.66471 ! in hcl je = jhcl b_mtem(1,ja,je) = 1.05723 b_mtem(2,ja,je) = -1.46826 b_mtem(3,ja,je) = -1.0713 b_mtem(4,ja,je) = 4.64439 b_mtem(5,ja,je) = -6.32402 b_mtem(6,ja,je) = 2.78202 !---------- ! cacl2 in e ja = jcacl2 ! in nh4no3 (psc92: revised on 12/22/2003) je = jnh4no3 b_mtem(1,ja,je) = -1.43626 b_mtem(2,ja,je) = 13.6598 b_mtem(3,ja,je) = -38.2068 b_mtem(4,ja,je) = 53.9057 b_mtem(5,ja,je) = -44.9018 b_mtem(6,ja,je) = 16.6120 ! in nh4cl (psc92: revised on 11/27/2003) je = jnh4cl b_mtem(1,ja,je) = -0.603965 b_mtem(2,ja,je) = 27.6027 b_mtem(3,ja,je) = -104.258 b_mtem(4,ja,je) = 163.553 b_mtem(5,ja,je) = -124.076 b_mtem(6,ja,je) = 37.4153 ! in nano3 (psc92: revised on 12/22/2003) je = jnano3 b_mtem(1,ja,je) = 0.44648 b_mtem(2,ja,je) = 8.8850 b_mtem(3,ja,je) = -45.5232 b_mtem(4,ja,je) = 89.3263 b_mtem(5,ja,je) = -83.8604 b_mtem(6,ja,je) = 30.4069 ! in nacl (psc92: revised on 11/27/2003) je = jnacl b_mtem(1,ja,je) = 1.61927 b_mtem(2,ja,je) = 0.247547 b_mtem(3,ja,je) = -18.1252 b_mtem(4,ja,je) = 45.2479 b_mtem(5,ja,je) = -48.6072 b_mtem(6,ja,je) = 19.2784 ! in ca(no3)2 (psc92: revised on 11/27/2003) je = jcano3 b_mtem(1,ja,je) = 2.36667 b_mtem(2,ja,je) = -0.123309 b_mtem(3,ja,je) = -24.2723 b_mtem(4,ja,je) = 65.1486 b_mtem(5,ja,je) = -71.8504 b_mtem(6,ja,je) = 28.3696 ! in cacl2 (psc92: revised on 11/27/2003) je = jcacl2 b_mtem(1,ja,je) = 3.64023 b_mtem(2,ja,je) = -12.1926 b_mtem(3,ja,je) = 20.2028 b_mtem(4,ja,je) = -16.0056 b_mtem(5,ja,je) = 1.52355 b_mtem(6,ja,je) = 2.44709 ! in hno3 je = jhno3 b_mtem(1,ja,je) = 5.88794 b_mtem(2,ja,je) = -29.7083 b_mtem(3,ja,je) = 78.6309 b_mtem(4,ja,je) = -118.037 b_mtem(5,ja,je) = 88.932 b_mtem(6,ja,je) = -26.1407 ! in hcl je = jhcl b_mtem(1,ja,je) = 2.40628 b_mtem(2,ja,je) = -6.16566 b_mtem(3,ja,je) = 10.2851 b_mtem(4,ja,je) = -12.9035 b_mtem(5,ja,je) = 7.7441 b_mtem(6,ja,je) = -1.74821 !---------- ! hno3 in e ja = jhno3 ! in (nh4)2so4 je = jnh4so4 b_mtem(1,ja,je) = -3.57598 b_mtem(2,ja,je) = 21.5469 b_mtem(3,ja,je) = -77.4111 b_mtem(4,ja,je) = 144.136 b_mtem(5,ja,je) = -132.849 b_mtem(6,ja,je) = 47.9412 ! in nh4no3 je = jnh4no3 b_mtem(1,ja,je) = -2.00209 b_mtem(2,ja,je) = -3.48399 b_mtem(3,ja,je) = 34.9906 b_mtem(4,ja,je) = -68.6653 b_mtem(5,ja,je) = 54.0992 b_mtem(6,ja,je) = -15.1343 ! in nh4cl revised on 12/22/2003 je = jnh4cl b_mtem(1,ja,je) = -0.63790 b_mtem(2,ja,je) = -1.67730 b_mtem(3,ja,je) = 10.1727 b_mtem(4,ja,je) = -14.9097 b_mtem(5,ja,je) = 7.67410 b_mtem(6,ja,je) = -0.79586 ! in nacl je = jnacl b_mtem(1,ja,je) = 1.3446 b_mtem(2,ja,je) = -2.5578 b_mtem(3,ja,je) = 1.3464 b_mtem(4,ja,je) = 2.90537 b_mtem(5,ja,je) = -6.53014 b_mtem(6,ja,je) = 3.31339 ! in nano3 je = jnano3 b_mtem(1,ja,je) = -0.546636 b_mtem(2,ja,je) = 10.3127 b_mtem(3,ja,je) = -39.9603 b_mtem(4,ja,je) = 71.4609 b_mtem(5,ja,je) = -63.4958 b_mtem(6,ja,je) = 22.0679 ! in na2so4 je = jna2so4 b_mtem(1,ja,je) = 1.35059 b_mtem(2,ja,je) = 4.34557 b_mtem(3,ja,je) = -35.8425 b_mtem(4,ja,je) = 80.9868 b_mtem(5,ja,je) = -81.6544 b_mtem(6,ja,je) = 30.4841 ! in ca(no3)2 je = jcano3 b_mtem(1,ja,je) = 0.869414 b_mtem(2,ja,je) = 2.98486 b_mtem(3,ja,je) = -22.255 b_mtem(4,ja,je) = 50.1863 b_mtem(5,ja,je) = -51.214 b_mtem(6,ja,je) = 19.2235 ! in cacl2 (km) revised on 12/22/2003 je = jcacl2 b_mtem(1,ja,je) = 1.42800 b_mtem(2,ja,je) = -1.78959 b_mtem(3,ja,je) = -2.49075 b_mtem(4,ja,je) = 10.1877 b_mtem(5,ja,je) = -12.1948 b_mtem(6,ja,je) = 4.64475 ! in hno3 (added on 12/06/2004) je = jhno3 b_mtem(1,ja,je) = 0.22035 b_mtem(2,ja,je) = 2.94973 b_mtem(3,ja,je) = -12.1469 b_mtem(4,ja,je) = 20.4905 b_mtem(5,ja,je) = -17.3966 b_mtem(6,ja,je) = 5.70779 ! in hcl (added on 12/06/2004) je = jhcl b_mtem(1,ja,je) = 1.55503 b_mtem(2,ja,je) = -3.61226 b_mtem(3,ja,je) = 6.28265 b_mtem(4,ja,je) = -8.69575 b_mtem(5,ja,je) = 6.09372 b_mtem(6,ja,je) = -1.80898 ! in h2so4 je = jh2so4 b_mtem(1,ja,je) = 1.10783 b_mtem(2,ja,je) = -1.3363 b_mtem(3,ja,je) = -1.83525 b_mtem(4,ja,je) = 7.47373 b_mtem(5,ja,je) = -9.72954 b_mtem(6,ja,je) = 4.12248 ! in nh4hso4 je = jnh4hso4 b_mtem(1,ja,je) = -0.851026 b_mtem(2,ja,je) = 12.2515 b_mtem(3,ja,je) = -49.788 b_mtem(4,ja,je) = 91.6215 b_mtem(5,ja,je) = -81.4877 b_mtem(6,ja,je) = 28.0002 ! in (nh4)3h(so4)2 je = jlvcite b_mtem(1,ja,je) = -3.09464 b_mtem(2,ja,je) = 14.9303 b_mtem(3,ja,je) = -43.0454 b_mtem(4,ja,je) = 72.6695 b_mtem(5,ja,je) = -65.2140 b_mtem(6,ja,je) = 23.4814 ! in nahso4 je = jnahso4 b_mtem(1,ja,je) = 1.22973 b_mtem(2,ja,je) = 2.82702 b_mtem(3,ja,je) = -17.5869 b_mtem(4,ja,je) = 28.9564 b_mtem(5,ja,je) = -23.5814 b_mtem(6,ja,je) = 7.91153 ! in na3h(so4)2 je = jna3hso4 b_mtem(1,ja,je) = 1.64773 b_mtem(2,ja,je) = 0.94188 b_mtem(3,ja,je) = -19.1242 b_mtem(4,ja,je) = 46.9887 b_mtem(5,ja,je) = -50.9494 b_mtem(6,ja,je) = 20.2169 !---------- ! hcl in e ja = jhcl ! in (nh4)2so4 je = jnh4so4 b_mtem(1,ja,je) = -2.93783 b_mtem(2,ja,je) = 20.5546 b_mtem(3,ja,je) = -75.8548 b_mtem(4,ja,je) = 141.729 b_mtem(5,ja,je) = -130.697 b_mtem(6,ja,je) = 46.9905 ! in nh4no3 je = jnh4no3 b_mtem(1,ja,je) = -1.69063 b_mtem(2,ja,je) = -1.85303 b_mtem(3,ja,je) = 29.0927 b_mtem(4,ja,je) = -58.7401 b_mtem(5,ja,je) = 44.999 b_mtem(6,ja,je) = -11.9988 ! in nh4cl (revised on 11/15/2003) je = jnh4cl b_mtem(1,ja,je) = -0.2073 b_mtem(2,ja,je) = -0.4322 b_mtem(3,ja,je) = 6.1271 b_mtem(4,ja,je) = -12.3146 b_mtem(5,ja,je) = 8.9919 b_mtem(6,ja,je) = -2.3388 ! in nacl je = jnacl b_mtem(1,ja,je) = 2.95913 b_mtem(2,ja,je) = -7.92254 b_mtem(3,ja,je) = 13.736 b_mtem(4,ja,je) = -15.433 b_mtem(5,ja,je) = 7.40386 b_mtem(6,ja,je) = -0.918641 ! in nano3 je = jnano3 b_mtem(1,ja,je) = 0.893272 b_mtem(2,ja,je) = 6.53768 b_mtem(3,ja,je) = -32.3458 b_mtem(4,ja,je) = 61.2834 b_mtem(5,ja,je) = -56.4446 b_mtem(6,ja,je) = 19.9202 ! in na2so4 je = jna2so4 b_mtem(1,ja,je) = 3.14484 b_mtem(2,ja,je) = 0.077019 b_mtem(3,ja,je) = -31.4199 b_mtem(4,ja,je) = 80.5865 b_mtem(5,ja,je) = -85.392 b_mtem(6,ja,je) = 32.6644 ! in ca(no3)2 je = jcano3 b_mtem(1,ja,je) = 2.60432 b_mtem(2,ja,je) = -0.55909 b_mtem(3,ja,je) = -19.6671 b_mtem(4,ja,je) = 53.3446 b_mtem(5,ja,je) = -58.9076 b_mtem(6,ja,je) = 22.9927 ! in cacl2 (km) revised on 3/13/2003 and again on 11/27/2003 je = jcacl2 b_mtem(1,ja,je) = 2.98036 b_mtem(2,ja,je) = -8.55365 b_mtem(3,ja,je) = 15.2108 b_mtem(4,ja,je) = -15.9359 b_mtem(5,ja,je) = 7.41772 b_mtem(6,ja,je) = -1.32143 ! in hno3 (added on 12/06/2004) je = jhno3 b_mtem(1,ja,je) = 3.8533 b_mtem(2,ja,je) = -16.9427 b_mtem(3,ja,je) = 45.0056 b_mtem(4,ja,je) = -69.6145 b_mtem(5,ja,je) = 54.1491 b_mtem(6,ja,je) = -16.6513 ! in hcl (added on 12/06/2004) je = jhcl b_mtem(1,ja,je) = 2.56665 b_mtem(2,ja,je) = -7.13585 b_mtem(3,ja,je) = 14.8103 b_mtem(4,ja,je) = -21.8881 b_mtem(5,ja,je) = 16.6808 b_mtem(6,ja,je) = -5.22091 ! in h2so4 je = jh2so4 b_mtem(1,ja,je) = 2.50179 b_mtem(2,ja,je) = -6.69364 b_mtem(3,ja,je) = 11.6551 b_mtem(4,ja,je) = -13.6897 b_mtem(5,ja,je) = 7.36796 b_mtem(6,ja,je) = -1.33245 ! in nh4hso4 je = jnh4hso4 b_mtem(1,ja,je) = 0.149955 b_mtem(2,ja,je) = 11.8213 b_mtem(3,ja,je) = -53.9164 b_mtem(4,ja,je) = 101.574 b_mtem(5,ja,je) = -91.4123 b_mtem(6,ja,je) = 31.5487 ! in (nh4)3h(so4)2 je = jlvcite b_mtem(1,ja,je) = -2.36927 b_mtem(2,ja,je) = 14.8359 b_mtem(3,ja,je) = -44.3443 b_mtem(4,ja,je) = 73.6229 b_mtem(5,ja,je) = -65.3366 b_mtem(6,ja,je) = 23.3250 ! in nahso4 je = jnahso4 b_mtem(1,ja,je) = 2.72993 b_mtem(2,ja,je) = -0.23406 b_mtem(3,ja,je) = -10.4103 b_mtem(4,ja,je) = 13.1586 b_mtem(5,ja,je) = -7.79925 b_mtem(6,ja,je) = 2.30843 ! in na3h(so4)2 je = jna3hso4 b_mtem(1,ja,je) = 3.51258 b_mtem(2,ja,je) = -3.95107 b_mtem(3,ja,je) = -11.0175 b_mtem(4,ja,je) = 38.8617 b_mtem(5,ja,je) = -48.1575 b_mtem(6,ja,je) = 20.4717 !---------- ! 2h.so4 in e ja = jh2so4 ! in h2so4 je = jh2so4 b_mtem(1,ja,je) = 0.76734 b_mtem(2,ja,je) = -1.12263 b_mtem(3,ja,je) = -9.08728 b_mtem(4,ja,je) = 30.3836 b_mtem(5,ja,je) = -38.4133 b_mtem(6,ja,je) = 17.0106 ! in nh4hso4 je = jnh4hso4 b_mtem(1,ja,je) = -2.03879 b_mtem(2,ja,je) = 15.7033 b_mtem(3,ja,je) = -58.7363 b_mtem(4,ja,je) = 109.242 b_mtem(5,ja,je) = -102.237 b_mtem(6,ja,je) = 37.5350 ! in (nh4)3h(so4)2 je = jlvcite b_mtem(1,ja,je) = -3.10228 b_mtem(2,ja,je) = 16.6920 b_mtem(3,ja,je) = -59.1522 b_mtem(4,ja,je) = 113.487 b_mtem(5,ja,je) = -110.890 b_mtem(6,ja,je) = 42.4578 ! in (nh4)2so4 je = jnh4so4 b_mtem(1,ja,je) = -3.43885 b_mtem(2,ja,je) = 21.0372 b_mtem(3,ja,je) = -84.7026 b_mtem(4,ja,je) = 165.324 b_mtem(5,ja,je) = -156.101 b_mtem(6,ja,je) = 57.3101 ! in nahso4 je = jnahso4 b_mtem(1,ja,je) = 0.33164 b_mtem(2,ja,je) = 6.55864 b_mtem(3,ja,je) = -33.5876 b_mtem(4,ja,je) = 65.1798 b_mtem(5,ja,je) = -63.2046 b_mtem(6,ja,je) = 24.1783 ! in na3h(so4)2 je = jna3hso4 b_mtem(1,ja,je) = 3.06830 b_mtem(2,ja,je) = -3.18408 b_mtem(3,ja,je) = -19.6332 b_mtem(4,ja,je) = 61.3657 b_mtem(5,ja,je) = -73.4438 b_mtem(6,ja,je) = 31.2334 ! in na2so4 je = jna2so4 b_mtem(1,ja,je) = 2.58649 b_mtem(2,ja,je) = 0.87921 b_mtem(3,ja,je) = -39.3023 b_mtem(4,ja,je) = 101.603 b_mtem(5,ja,je) = -109.469 b_mtem(6,ja,je) = 43.0188 ! in hno3 je = jhno3 b_mtem(1,ja,je) = 1.54587 b_mtem(2,ja,je) = -7.50976 b_mtem(3,ja,je) = 12.8237 b_mtem(4,ja,je) = -10.1452 b_mtem(5,ja,je) = -0.541956 b_mtem(6,ja,je) = 3.34536 ! in hcl je = jhcl b_mtem(1,ja,je) = 0.829757 b_mtem(2,ja,je) = -4.11316 b_mtem(3,ja,je) = 3.67111 b_mtem(4,ja,je) = 3.6833 b_mtem(5,ja,je) = -11.2711 b_mtem(6,ja,je) = 6.71421 !---------- ! h.hso4 in e ja = jhhso4 ! in h2so4 je = jh2so4 b_mtem(1,ja,je) = 2.63953 b_mtem(2,ja,je) = -6.01532 b_mtem(3,ja,je) = 10.0204 b_mtem(4,ja,je) = -12.4840 b_mtem(5,ja,je) = 7.78853 b_mtem(6,ja,je) = -2.12638 ! in nh4hso4 je = jnh4hso4 b_mtem(1,ja,je) = -0.77412 b_mtem(2,ja,je) = 14.1656 b_mtem(3,ja,je) = -53.4087 b_mtem(4,ja,je) = 93.2013 b_mtem(5,ja,je) = -80.5723 b_mtem(6,ja,je) = 27.1577 ! in (nh4)3h(so4)2 je = jlvcite b_mtem(1,ja,je) = -2.98882 b_mtem(2,ja,je) = 14.4436 b_mtem(3,ja,je) = -40.1774 b_mtem(4,ja,je) = 67.5937 b_mtem(5,ja,je) = -61.5040 b_mtem(6,ja,je) = 22.3695 ! in (nh4)2so4 je = jnh4so4 b_mtem(1,ja,je) = -1.15502 b_mtem(2,ja,je) = 8.12309 b_mtem(3,ja,je) = -38.4726 b_mtem(4,ja,je) = 80.8861 b_mtem(5,ja,je) = -80.1644 b_mtem(6,ja,je) = 30.4717 ! in nahso4 je = jnahso4 b_mtem(1,ja,je) = 1.99641 b_mtem(2,ja,je) = -2.96061 b_mtem(3,ja,je) = 5.54778 b_mtem(4,ja,je) = -14.5488 b_mtem(5,ja,je) = 14.8492 b_mtem(6,ja,je) = -5.1389 ! in na3h(so4)2 je = jna3hso4 b_mtem(1,ja,je) = 2.23816 b_mtem(2,ja,je) = -3.20847 b_mtem(3,ja,je) = -4.82853 b_mtem(4,ja,je) = 20.9192 b_mtem(5,ja,je) = -27.2819 b_mtem(6,ja,je) = 11.8655 ! in na2so4 je = jna2so4 b_mtem(1,ja,je) = 2.56907 b_mtem(2,ja,je) = 1.13444 b_mtem(3,ja,je) = -34.6853 b_mtem(4,ja,je) = 87.9775 b_mtem(5,ja,je) = -93.2330 b_mtem(6,ja,je) = 35.9260 ! in hno3 je = jhno3 b_mtem(1,ja,je) = 2.00024 b_mtem(2,ja,je) = -4.80868 b_mtem(3,ja,je) = 8.29222 b_mtem(4,ja,je) = -11.0849 b_mtem(5,ja,je) = 7.51262 b_mtem(6,ja,je) = -2.07654 ! in hcl je = jhcl b_mtem(1,ja,je) = 2.8009 b_mtem(2,ja,je) = -6.98416 b_mtem(3,ja,je) = 14.3146 b_mtem(4,ja,je) = -22.0068 b_mtem(5,ja,je) = 17.5557 b_mtem(6,ja,je) = -5.84917 !---------- ! nh4hso4 in e ja = jnh4hso4 ! in h2so4 je = jh2so4 b_mtem(1,ja,je) = 0.169160 b_mtem(2,ja,je) = 2.15094 b_mtem(3,ja,je) = -9.62904 b_mtem(4,ja,je) = 18.2631 b_mtem(5,ja,je) = -17.3333 b_mtem(6,ja,je) = 6.19835 ! in nh4hso4 je = jnh4hso4 b_mtem(1,ja,je) = -2.34457 b_mtem(2,ja,je) = 12.8035 b_mtem(3,ja,je) = -35.2513 b_mtem(4,ja,je) = 53.6153 b_mtem(5,ja,je) = -42.7655 b_mtem(6,ja,je) = 13.7129 ! in (nh4)3h(so4)2 je = jlvcite b_mtem(1,ja,je) = -2.56109 b_mtem(2,ja,je) = 11.1414 b_mtem(3,ja,je) = -30.2361 b_mtem(4,ja,je) = 50.0320 b_mtem(5,ja,je) = -44.1586 b_mtem(6,ja,je) = 15.5393 ! in (nh4)2so4 je = jnh4so4 b_mtem(1,ja,je) = -0.97315 b_mtem(2,ja,je) = 7.06295 b_mtem(3,ja,je) = -29.3032 b_mtem(4,ja,je) = 57.6101 b_mtem(5,ja,je) = -54.9020 b_mtem(6,ja,je) = 20.2222 ! in nahso4 je = jnahso4 b_mtem(1,ja,je) = -0.44450 b_mtem(2,ja,je) = 3.33451 b_mtem(3,ja,je) = -15.2791 b_mtem(4,ja,je) = 30.1413 b_mtem(5,ja,je) = -26.7710 b_mtem(6,ja,je) = 8.78462 ! in na3h(so4)2 je = jna3hso4 b_mtem(1,ja,je) = -0.99780 b_mtem(2,ja,je) = 4.69200 b_mtem(3,ja,je) = -16.1219 b_mtem(4,ja,je) = 29.3100 b_mtem(5,ja,je) = -26.3383 b_mtem(6,ja,je) = 9.20695 ! in na2so4 je = jna2so4 b_mtem(1,ja,je) = -0.52694 b_mtem(2,ja,je) = 7.02684 b_mtem(3,ja,je) = -33.7508 b_mtem(4,ja,je) = 70.0565 b_mtem(5,ja,je) = -68.3226 b_mtem(6,ja,je) = 25.2692 ! in hno3 je = jhno3 b_mtem(1,ja,je) = 0.572926 b_mtem(2,ja,je) = -2.04791 b_mtem(3,ja,je) = 2.1134 b_mtem(4,ja,je) = 0.246654 b_mtem(5,ja,je) = -3.06019 b_mtem(6,ja,je) = 1.98126 ! in hcl je = jhcl b_mtem(1,ja,je) = 0.56514 b_mtem(2,ja,je) = 0.22287 b_mtem(3,ja,je) = -2.76973 b_mtem(4,ja,je) = 4.54444 b_mtem(5,ja,je) = -3.86549 b_mtem(6,ja,je) = 1.13441 !---------- ! (nh4)3h(so4)2 in e ja = jlvcite ! in h2so4 je = jh2so4 b_mtem(1,ja,je) = -1.44811 b_mtem(2,ja,je) = 6.71815 b_mtem(3,ja,je) = -25.0141 b_mtem(4,ja,je) = 50.1109 b_mtem(5,ja,je) = -50.0561 b_mtem(6,ja,je) = 19.3370 ! in nh4hso4 je = jnh4hso4 b_mtem(1,ja,je) = -3.41707 b_mtem(2,ja,je) = 13.4496 b_mtem(3,ja,je) = -34.8018 b_mtem(4,ja,je) = 55.2987 b_mtem(5,ja,je) = -48.1839 b_mtem(6,ja,je) = 17.2444 ! in (nh4)3h(so4)2 je = jlvcite b_mtem(1,ja,je) = -2.54479 b_mtem(2,ja,je) = 11.8501 b_mtem(3,ja,je) = -39.7286 b_mtem(4,ja,je) = 74.2479 b_mtem(5,ja,je) = -70.4934 b_mtem(6,ja,je) = 26.2836 ! in (nh4)2so4 je = jnh4so4 b_mtem(1,ja,je) = -2.30561 b_mtem(2,ja,je) = 14.5806 b_mtem(3,ja,je) = -55.1238 b_mtem(4,ja,je) = 103.451 b_mtem(5,ja,je) = -95.2571 b_mtem(6,ja,je) = 34.2218 ! in nahso4 je = jnahso4 b_mtem(1,ja,je) = -2.20809 b_mtem(2,ja,je) = 13.6391 b_mtem(3,ja,je) = -57.8246 b_mtem(4,ja,je) = 117.907 b_mtem(5,ja,je) = -112.154 b_mtem(6,ja,je) = 40.3058 ! in na3h(so4)2 je = jna3hso4 b_mtem(1,ja,je) = -1.15099 b_mtem(2,ja,je) = 6.32269 b_mtem(3,ja,je) = -27.3860 b_mtem(4,ja,je) = 55.4592 b_mtem(5,ja,je) = -54.0100 b_mtem(6,ja,je) = 20.3469 ! in na2so4 je = jna2so4 b_mtem(1,ja,je) = -1.15678 b_mtem(2,ja,je) = 8.28718 b_mtem(3,ja,je) = -37.3231 b_mtem(4,ja,je) = 76.6124 b_mtem(5,ja,je) = -74.9307 b_mtem(6,ja,je) = 28.0559 ! in hno3 je = jhno3 b_mtem(1,ja,je) = 0.01502 b_mtem(2,ja,je) = -3.1197 b_mtem(3,ja,je) = 3.61104 b_mtem(4,ja,je) = 3.05196 b_mtem(5,ja,je) = -9.98957 b_mtem(6,ja,je) = 6.04155 ! in hcl je = jhcl b_mtem(1,ja,je) = -1.06477 b_mtem(2,ja,je) = 3.38801 b_mtem(3,ja,je) = -12.5784 b_mtem(4,ja,je) = 25.2823 b_mtem(5,ja,je) = -25.4611 b_mtem(6,ja,je) = 10.0754 !---------- ! nahso4 in e ja = jnahso4 ! in h2so4 je = jh2so4 b_mtem(1,ja,je) = 0.68259 b_mtem(2,ja,je) = 0.71468 b_mtem(3,ja,je) = -5.59003 b_mtem(4,ja,je) = 11.0089 b_mtem(5,ja,je) = -10.7983 b_mtem(6,ja,je) = 3.82335 ! in nh4hso4 je = jnh4hso4 b_mtem(1,ja,je) = -0.03956 b_mtem(2,ja,je) = 4.52828 b_mtem(3,ja,je) = -25.2557 b_mtem(4,ja,je) = 54.4225 b_mtem(5,ja,je) = -52.5105 b_mtem(6,ja,je) = 18.6562 ! in (nh4)3h(so4)2 je = jlvcite b_mtem(1,ja,je) = -1.53503 b_mtem(2,ja,je) = 8.27608 b_mtem(3,ja,je) = -28.9539 b_mtem(4,ja,je) = 55.2876 b_mtem(5,ja,je) = -51.9563 b_mtem(6,ja,je) = 18.6576 ! in (nh4)2so4 je = jnh4so4 b_mtem(1,ja,je) = -0.38793 b_mtem(2,ja,je) = 7.14680 b_mtem(3,ja,je) = -38.7201 b_mtem(4,ja,je) = 84.3965 b_mtem(5,ja,je) = -84.7453 b_mtem(6,ja,je) = 32.1283 ! in nahso4 je = jnahso4 b_mtem(1,ja,je) = -0.41982 b_mtem(2,ja,je) = 4.26491 b_mtem(3,ja,je) = -20.2351 b_mtem(4,ja,je) = 42.6764 b_mtem(5,ja,je) = -40.7503 b_mtem(6,ja,je) = 14.2868 ! in na3h(so4)2 je = jna3hso4 b_mtem(1,ja,je) = -0.32912 b_mtem(2,ja,je) = 1.80808 b_mtem(3,ja,je) = -8.01286 b_mtem(4,ja,je) = 15.5791 b_mtem(5,ja,je) = -14.5494 b_mtem(6,ja,je) = 5.27052 ! in na2so4 je = jna2so4 b_mtem(1,ja,je) = 0.10271 b_mtem(2,ja,je) = 5.09559 b_mtem(3,ja,je) = -30.3295 b_mtem(4,ja,je) = 66.2975 b_mtem(5,ja,je) = -66.3458 b_mtem(6,ja,je) = 24.9443 ! in hno3 je = jhno3 b_mtem(1,ja,je) = 0.608309 b_mtem(2,ja,je) = -0.541905 b_mtem(3,ja,je) = -2.52084 b_mtem(4,ja,je) = 6.63297 b_mtem(5,ja,je) = -7.24599 b_mtem(6,ja,je) = 2.88811 ! in hcl je = jhcl b_mtem(1,ja,je) = 1.98399 b_mtem(2,ja,je) = -4.51562 b_mtem(3,ja,je) = 8.36059 b_mtem(4,ja,je) = -12.4948 b_mtem(5,ja,je) = 9.67514 b_mtem(6,ja,je) = -3.18004 !---------- ! na3h(so4)2 in e ja = jna3hso4 ! in h2so4 je = jh2so4 b_mtem(1,ja,je) = -0.83214 b_mtem(2,ja,je) = 4.99572 b_mtem(3,ja,je) = -20.1697 b_mtem(4,ja,je) = 41.4066 b_mtem(5,ja,je) = -42.2119 b_mtem(6,ja,je) = 16.4855 ! in nh4hso4 je = jnh4hso4 b_mtem(1,ja,je) = -0.65139 b_mtem(2,ja,je) = 3.52300 b_mtem(3,ja,je) = -22.8220 b_mtem(4,ja,je) = 56.2956 b_mtem(5,ja,je) = -59.9028 b_mtem(6,ja,je) = 23.1844 ! in (nh4)3h(so4)2 je = jlvcite b_mtem(1,ja,je) = -1.31331 b_mtem(2,ja,je) = 8.40835 b_mtem(3,ja,je) = -38.1757 b_mtem(4,ja,je) = 80.5312 b_mtem(5,ja,je) = -79.8346 b_mtem(6,ja,je) = 30.0219 ! in (nh4)2so4 je = jnh4so4 b_mtem(1,ja,je) = -1.03054 b_mtem(2,ja,je) = 8.08155 b_mtem(3,ja,je) = -38.1046 b_mtem(4,ja,je) = 78.7168 b_mtem(5,ja,je) = -77.2263 b_mtem(6,ja,je) = 29.1521 ! in nahso4 je = jnahso4 b_mtem(1,ja,je) = -1.90695 b_mtem(2,ja,je) = 11.6241 b_mtem(3,ja,je) = -50.3175 b_mtem(4,ja,je) = 105.884 b_mtem(5,ja,je) = -103.258 b_mtem(6,ja,je) = 37.6588 ! in na3h(so4)2 je = jna3hso4 b_mtem(1,ja,je) = -0.34780 b_mtem(2,ja,je) = 2.85363 b_mtem(3,ja,je) = -17.6224 b_mtem(4,ja,je) = 38.9220 b_mtem(5,ja,je) = -39.8106 b_mtem(6,ja,je) = 15.6055 ! in na2so4 je = jna2so4 b_mtem(1,ja,je) = -0.75230 b_mtem(2,ja,je) = 10.0140 b_mtem(3,ja,je) = -50.5677 b_mtem(4,ja,je) = 106.941 b_mtem(5,ja,je) = -105.534 b_mtem(6,ja,je) = 39.5196 ! in hno3 je = jhno3 b_mtem(1,ja,je) = 0.057456 b_mtem(2,ja,je) = -1.31264 b_mtem(3,ja,je) = -1.94662 b_mtem(4,ja,je) = 10.7024 b_mtem(5,ja,je) = -14.9946 b_mtem(6,ja,je) = 7.12161 ! in hcl je = jhcl b_mtem(1,ja,je) = 0.637894 b_mtem(2,ja,je) = -2.29719 b_mtem(3,ja,je) = 0.765361 b_mtem(4,ja,je) = 4.8748 b_mtem(5,ja,je) = -9.25978 b_mtem(6,ja,je) = 4.91773 ! ! ! !---------------------------------------------------------- ! coefficients for %mdrh(t) = d1 + d2*t + d3*t^2 + d4*t^3 (t in kelvin) ! valid temperature range: 240 - 320 k !---------------------------------------------------------- ! ! sulfate-poor systems ! ac j_index = 1 d_mdrh(j_index,1) = -58.00268351 d_mdrh(j_index,2) = 2.031077573 d_mdrh(j_index,3) = -0.008281218 d_mdrh(j_index,4) = 1.00447e-05 ! an j_index = 2 d_mdrh(j_index,1) = 1039.137773 d_mdrh(j_index,2) = -11.47847095 d_mdrh(j_index,3) = 0.047702786 d_mdrh(j_index,4) = -6.77675e-05 ! as j_index = 3 d_mdrh(j_index,1) = 115.8366357 d_mdrh(j_index,2) = 0.491881663 d_mdrh(j_index,3) = -0.00422807 d_mdrh(j_index,4) = 7.29274e-06 ! sc j_index = 4 d_mdrh(j_index,1) = 253.2424151 d_mdrh(j_index,2) = -1.429957864 d_mdrh(j_index,3) = 0.003727554 d_mdrh(j_index,4) = -3.13037e-06 ! sn j_index = 5 d_mdrh(j_index,1) = -372.4306506 d_mdrh(j_index,2) = 5.3955633 d_mdrh(j_index,3) = -0.019804438 d_mdrh(j_index,4) = 2.25662e-05 ! ss j_index = 6 d_mdrh(j_index,1) = 286.1271416 d_mdrh(j_index,2) = -1.670787758 d_mdrh(j_index,3) = 0.004431373 d_mdrh(j_index,4) = -3.57757e-06 ! cc j_index = 7 d_mdrh(j_index,1) = -1124.07059 d_mdrh(j_index,2) = 14.26364209 d_mdrh(j_index,3) = -0.054816822 d_mdrh(j_index,4) = 6.70107e-05 ! cn j_index = 8 d_mdrh(j_index,1) = 1855.413934 d_mdrh(j_index,2) = -20.29219473 d_mdrh(j_index,3) = 0.07807482 d_mdrh(j_index,4) = -1.017887858e-4 ! an + ac j_index = 9 d_mdrh(j_index,1) = 1761.176886 d_mdrh(j_index,2) = -19.29811062 d_mdrh(j_index,3) = 0.075676987 d_mdrh(j_index,4) = -1.0116959e-4 ! as + ac j_index = 10 d_mdrh(j_index,1) = 122.1074303 d_mdrh(j_index,2) = 0.429692122 d_mdrh(j_index,3) = -0.003928277 d_mdrh(j_index,4) = 6.43275e-06 ! as + an j_index = 11 d_mdrh(j_index,1) = 2424.634678 d_mdrh(j_index,2) = -26.54031307 d_mdrh(j_index,3) = 0.101625387 d_mdrh(j_index,4) = -1.31544547798e-4 ! as + an + ac j_index = 12 d_mdrh(j_index,1) = 2912.082599 d_mdrh(j_index,2) = -31.8894185 d_mdrh(j_index,3) = 0.121185849 d_mdrh(j_index,4) = -1.556534623e-4 ! sc + ac j_index = 13 d_mdrh(j_index,1) = 172.2596493 d_mdrh(j_index,2) = -0.511006195 d_mdrh(j_index,3) = 4.27244597e-4 d_mdrh(j_index,4) = 4.12797e-07 ! sn + ac j_index = 14 d_mdrh(j_index,1) = 1596.184935 d_mdrh(j_index,2) = -16.37945565 d_mdrh(j_index,3) = 0.060281218 d_mdrh(j_index,4) = -7.6161e-05 ! sn + an j_index = 15 d_mdrh(j_index,1) = 1916.072988 d_mdrh(j_index,2) = -20.85594868 d_mdrh(j_index,3) = 0.081140141 d_mdrh(j_index,4) = -1.07954274796e-4 ! sn + an + ac j_index = 16 d_mdrh(j_index,1) = 1467.165935 d_mdrh(j_index,2) = -16.01166196 d_mdrh(j_index,3) = 0.063505582 d_mdrh(j_index,4) = -8.66722e-05 ! sn + sc j_index = 17 d_mdrh(j_index,1) = 158.447059 d_mdrh(j_index,2) = -0.628167358 d_mdrh(j_index,3) = 0.002014448 d_mdrh(j_index,4) = -3.13037e-06 ! sn + sc + ac j_index = 18 d_mdrh(j_index,1) = 1115.892468 d_mdrh(j_index,2) = -11.76936534 d_mdrh(j_index,3) = 0.045577399 d_mdrh(j_index,4) = -6.05779e-05 ! ss + ac j_index = 19 d_mdrh(j_index,1) = 269.5432407 d_mdrh(j_index,2) = -1.319963885 d_mdrh(j_index,3) = 0.002592363 d_mdrh(j_index,4) = -1.44479e-06 ! ss + an j_index = 20 d_mdrh(j_index,1) = 2841.334784 d_mdrh(j_index,2) = -31.1889487 d_mdrh(j_index,3) = 0.118809274 d_mdrh(j_index,4) = -1.53007e-4 ! ss + an + ac j_index = 21 d_mdrh(j_index,1) = 2199.36914 d_mdrh(j_index,2) = -24.11926569 d_mdrh(j_index,3) = 0.092932361 d_mdrh(j_index,4) = -1.21774e-4 ! ss + as j_index = 22 d_mdrh(j_index,1) = 395.0051604 d_mdrh(j_index,2) = -2.521101657 d_mdrh(j_index,3) = 0.006139319 d_mdrh(j_index,4) = -4.43756e-06 ! ss + as + ac j_index = 23 d_mdrh(j_index,1) = 386.5150675 d_mdrh(j_index,2) = -2.4632138 d_mdrh(j_index,3) = 0.006139319 d_mdrh(j_index,4) = -4.98796e-06 ! ss + as + an j_index = 24 d_mdrh(j_index,1) = 3101.538491 d_mdrh(j_index,2) = -34.19978105 d_mdrh(j_index,3) = 0.130118605 d_mdrh(j_index,4) = -1.66873e-4 ! ss + as + an + ac j_index = 25 d_mdrh(j_index,1) = 2307.579403 d_mdrh(j_index,2) = -25.43136774 d_mdrh(j_index,3) = 0.098064728 d_mdrh(j_index,4) = -1.28301e-4 ! ss + sc j_index = 26 d_mdrh(j_index,1) = 291.8309602 d_mdrh(j_index,2) = -1.828912974 d_mdrh(j_index,3) = 0.005053148 d_mdrh(j_index,4) = -4.57516e-06 ! ss + sc + ac j_index = 27 d_mdrh(j_index,1) = 188.3914345 d_mdrh(j_index,2) = -0.631345031 d_mdrh(j_index,3) = 0.000622807 d_mdrh(j_index,4) = 4.47196e-07 ! ss + sn j_index = 28 d_mdrh(j_index,1) = -167.1252839 d_mdrh(j_index,2) = 2.969828002 d_mdrh(j_index,3) = -0.010637255 d_mdrh(j_index,4) = 1.13175e-05 ! ss + sn + ac j_index = 29 d_mdrh(j_index,1) = 1516.782768 d_mdrh(j_index,2) = -15.7922661 d_mdrh(j_index,3) = 0.058942209 d_mdrh(j_index,4) = -7.5301e-05 ! ss + sn + an j_index = 30 d_mdrh(j_index,1) = 1739.963163 d_mdrh(j_index,2) = -19.06576022 d_mdrh(j_index,3) = 0.07454963 d_mdrh(j_index,4) = -9.94302e-05 ! ss + sn + an + ac j_index = 31 d_mdrh(j_index,1) = 2152.104877 d_mdrh(j_index,2) = -23.74998008 d_mdrh(j_index,3) = 0.092256654 d_mdrh(j_index,4) = -1.21953e-4 ! ss + sn + sc j_index = 32 d_mdrh(j_index,1) = 221.9976265 d_mdrh(j_index,2) = -1.311331272 d_mdrh(j_index,3) = 0.004406089 d_mdrh(j_index,4) = -5.88235e-06 ! ss + sn + sc + ac j_index = 33 d_mdrh(j_index,1) = 1205.645615 d_mdrh(j_index,2) = -12.71353459 d_mdrh(j_index,3) = 0.048803922 d_mdrh(j_index,4) = -6.41899e-05 ! cc + ac j_index = 34 d_mdrh(j_index,1) = 506.6737879 d_mdrh(j_index,2) = -3.723520818 d_mdrh(j_index,3) = 0.010814242 d_mdrh(j_index,4) = -1.21087e-05 ! cc + sc j_index = 35 d_mdrh(j_index,1) = -1123.523841 d_mdrh(j_index,2) = 14.08345977 d_mdrh(j_index,3) = -0.053687823 d_mdrh(j_index,4) = 6.52219e-05 ! cc + sc + ac j_index = 36 d_mdrh(j_index,1) = -1159.98607 d_mdrh(j_index,2) = 14.44309169 d_mdrh(j_index,3) = -0.054841073 d_mdrh(j_index,4) = 6.64259e-05 ! cn + ac j_index = 37 d_mdrh(j_index,1) = 756.0747916 d_mdrh(j_index,2) = -8.546826257 d_mdrh(j_index,3) = 0.035798677 d_mdrh(j_index,4) = -5.06629e-05 ! cn + an j_index = 38 d_mdrh(j_index,1) = 338.668191 d_mdrh(j_index,2) = -2.971223403 d_mdrh(j_index,3) = 0.012294866 d_mdrh(j_index,4) = -1.87558e-05 ! cn + an + ac j_index = 39 d_mdrh(j_index,1) = -53.18033508 d_mdrh(j_index,2) = 0.663911748 d_mdrh(j_index,3) = 9.16326e-4 d_mdrh(j_index,4) = -6.70354e-06 ! cn + sc j_index = 40 d_mdrh(j_index,1) = 3623.831129 d_mdrh(j_index,2) = -39.27226457 d_mdrh(j_index,3) = 0.144559515 d_mdrh(j_index,4) = -1.78159e-4 ! cn + sc + ac j_index = 41 d_mdrh(j_index,1) = 3436.656743 d_mdrh(j_index,2) = -37.16192684 d_mdrh(j_index,3) = 0.136641377 d_mdrh(j_index,4) = -1.68262e-4 ! cn + sn j_index = 42 d_mdrh(j_index,1) = 768.608476 d_mdrh(j_index,2) = -8.051517149 d_mdrh(j_index,3) = 0.032342332 d_mdrh(j_index,4) = -4.52224e-05 ! cn + sn + ac j_index = 43 d_mdrh(j_index,1) = 33.58027951 d_mdrh(j_index,2) = -0.308772182 d_mdrh(j_index,3) = 0.004713639 d_mdrh(j_index,4) = -1.19658e-05 ! cn + sn + an j_index = 44 d_mdrh(j_index,1) = 57.80183041 d_mdrh(j_index,2) = 0.215264604 d_mdrh(j_index,3) = 4.11406e-4 d_mdrh(j_index,4) = -4.30702e-06 ! cn + sn + an + ac j_index = 45 d_mdrh(j_index,1) = -234.368984 d_mdrh(j_index,2) = 2.721045204 d_mdrh(j_index,3) = -0.006688341 d_mdrh(j_index,4) = 2.31729e-06 ! cn + sn + sc j_index = 46 d_mdrh(j_index,1) = 3879.080557 d_mdrh(j_index,2) = -42.13562874 d_mdrh(j_index,3) = 0.155235005 d_mdrh(j_index,4) = -1.91387e-4 ! cn + sn + sc + ac j_index = 47 d_mdrh(j_index,1) = 3600.576985 d_mdrh(j_index,2) = -39.0283489 d_mdrh(j_index,3) = 0.143710316 d_mdrh(j_index,4) = -1.77167e-4 ! cn + cc j_index = 48 d_mdrh(j_index,1) = -1009.729826 d_mdrh(j_index,2) = 12.9145339 d_mdrh(j_index,3) = -0.049811146 d_mdrh(j_index,4) = 6.09563e-05 ! cn + cc + ac j_index = 49 d_mdrh(j_index,1) = -577.0919514 d_mdrh(j_index,2) = 8.020324227 d_mdrh(j_index,3) = -0.031469556 d_mdrh(j_index,4) = 3.82181e-05 ! cn + cc + sc j_index = 50 d_mdrh(j_index,1) = -728.9983499 d_mdrh(j_index,2) = 9.849458215 d_mdrh(j_index,3) = -0.03879257 d_mdrh(j_index,4) = 4.78844e-05 ! cn + cc + sc + ac j_index = 51 d_mdrh(j_index,1) = -803.7026845 d_mdrh(j_index,2) = 10.61881494 d_mdrh(j_index,3) = -0.041402993 d_mdrh(j_index,4) = 5.08084e-05 ! ! sulfate-rich systems ! ab j_index = 52 d_mdrh(j_index,1) = -493.6190458 d_mdrh(j_index,2) = 6.747053851 d_mdrh(j_index,3) = -0.026955267 d_mdrh(j_index,4) = 3.45118e-05 ! lv j_index = 53 d_mdrh(j_index,1) = 53.37874093 d_mdrh(j_index,2) = 1.01368249 d_mdrh(j_index,3) = -0.005887513 d_mdrh(j_index,4) = 8.94393e-06 ! sb j_index = 54 d_mdrh(j_index,1) = 206.619047 d_mdrh(j_index,2) = -1.342735684 d_mdrh(j_index,3) = 0.003197691 d_mdrh(j_index,4) = -1.93603e-06 ! ab + lv j_index = 55 d_mdrh(j_index,1) = -493.6190458 d_mdrh(j_index,2) = 6.747053851 d_mdrh(j_index,3) = -0.026955267 d_mdrh(j_index,4) = 3.45118e-05 ! as + lv j_index = 56 d_mdrh(j_index,1) = 53.37874093 d_mdrh(j_index,2) = 1.01368249 d_mdrh(j_index,3) = -0.005887513 d_mdrh(j_index,4) = 8.94393e-06 ! ss + sb j_index = 57 d_mdrh(j_index,1) = 206.619047 d_mdrh(j_index,2) = -1.342735684 d_mdrh(j_index,3) = 0.003197691 d_mdrh(j_index,4) = -1.93603e-06 ! ss + lv j_index = 58 d_mdrh(j_index,1) = 41.7619047 d_mdrh(j_index,2) = 1.303872053 d_mdrh(j_index,3) = -0.007647908 d_mdrh(j_index,4) = 1.17845e-05 ! ss + as + lv j_index = 59 d_mdrh(j_index,1) = 41.7619047 d_mdrh(j_index,2) = 1.303872053 d_mdrh(j_index,3) = -0.007647908 d_mdrh(j_index,4) = 1.17845e-05 ! ss + ab j_index = 60 d_mdrh(j_index,1) = -369.7142842 d_mdrh(j_index,2) = 5.512878771 d_mdrh(j_index,3) = -0.02301948 d_mdrh(j_index,4) = 3.0303e-05 ! ss + lv + ab j_index = 61 d_mdrh(j_index,1) = -369.7142842 d_mdrh(j_index,2) = 5.512878771 d_mdrh(j_index,3) = -0.02301948 d_mdrh(j_index,4) = 3.0303e-05 ! sb + ab j_index = 62 d_mdrh(j_index,1) = -162.8095232 d_mdrh(j_index,2) = 2.399326592 d_mdrh(j_index,3) = -0.009336219 d_mdrh(j_index,4) = 1.17845e-05 ! ss + sb + ab j_index = 63 d_mdrh(j_index,1) = -735.4285689 d_mdrh(j_index,2) = 8.885521857 d_mdrh(j_index,3) = -0.033488456 d_mdrh(j_index,4) = 4.12458e-05 endif ! first return end subroutine load_mosaic_parameters !*********************************************************************** ! updates all temperature dependent thermodynamic parameters ! ! author: rahul a. zaveri ! update: jan 2005 !----------------------------------------------------------------------- subroutine update_thermodynamic_constants(vbs_nbin) ! implicit none ! include 'mosaic.h' ! local variables integer iv, j_index, ibin, je,vbs_nbin(1) integer start_ind real(kind=8) :: tr, rt, term real(kind=8) :: gam_nh4no3_0, gam_nh4cl_0, m_nh4no3_0, m_nh4cl_0 ! raz update 6/25/2008 ! function ! real(kind=8) :: fn_keq, fn_po, drh_mutual, bin_molality, molality_0 tr = 298.15 ! reference temperature rt = 82.056*t_k/(1.e9*1.e6) ! [m^3 atm/nmol] ! gas-liquid keq_gl(1)= 1.0 ! kelvin effect (default) keq_gl(2)= fn_keq(57.64d0 , 13.79d0, -5.39d0,t_k)*rt ! nh3(g) <=> nh3(l) keq_gl(3)= fn_keq(2.63d6, 29.17d0, 16.83d0,t_k)*rt ! hno3(g) <=> no3- + h+ keq_gl(4)= fn_keq(2.00d6, 30.20d0, 19.91d0,t_k)*rt ! hcl(g) <=> cl- + h+ ! liquid-liquid keq_ll(1)= fn_keq(1.0502d-2, 8.85d0, 25.14d0,t_k) ! hso4- <=> so4= + h+ keq_ll(2)= fn_keq(1.805d-5, -1.50d0, 26.92d0,t_k) ! nh3(l) + h2o = nh4+ + oh- keq_ll(3)= fn_keq(1.01d-14,-22.52d0, 26.92d0,t_k) ! h2o(l) <=> h+ + oh- kp_nh3 = keq_ll(3)/(keq_ll(2)*keq_gl(2)) kp_nh4no3= kp_nh3/keq_gl(3) kp_nh4cl = kp_nh3/keq_gl(4) ! solid-gas keq_sg(1)= fn_keq(4.72d-17,-74.38d0,6.12d0,t_k)/rt**2 ! nh4no3<=>nh3(g)+hno3(g) keq_sg(2)= fn_keq(8.43d-17,-71.00d0,2.40d0,t_k)/rt**2 ! nh4cl <=>nh3(g)+hcl(g) ! solid-liquid keq_sl(jnh4so4) = fn_keq(1.040d0,-2.65d0, 38.57d0, t_k) ! amso4(s) = 2nh4+ + so4= keq_sl(jlvcite) = fn_keq(11.8d0, -5.19d0, 54.40d0, t_k) ! lvcite(s)= 3nh4+ + hso4- + so4= keq_sl(jnh4hso4)= fn_keq(117.0d0,-2.87d0, 15.83d0, t_k) ! amhso4(s)= nh4+ + hso4- keq_sl(jnh4msa) = 1.e15 ! NH4MSA(s)= NH4+ + MSA- keq_sl(jnh4no3) = fn_keq(12.21d0,-10.4d0, 17.56d0, t_k) ! nh4no3(s)= nh4+ + no3- keq_sl(jnh4cl) = fn_keq(17.37d0,-6.03d0, 16.92d0, t_k) ! nh4cl(s) = nh4+ + cl- keq_sl(jna2so4) = fn_keq(0.491d0, 0.98d0, 39.75d0, t_k) ! na2so4(s)= 2na+ + so4= keq_sl(jnahso4) = fn_keq(313.0d0, 0.8d0, 14.79d0, t_k) ! nahso4(s)= na+ + hso4- keq_sl(jna3hso4)= 1.e15 ! na3h(so4)2(s) = 2na+ + hso4- + so4= keq_sl(jnamsa) = 1.e15 ! NaMSA(s) = Na+ + MSA- keq_sl(jnano3) = fn_keq(11.95d0,-8.22d0, 16.01d0, t_k) ! nano3(s) = na+ + no3- keq_sl(jnacl) = fn_keq(38.28d0,-1.52d0, 16.89d0, t_k) ! nacl(s) = na+ + cl- keq_sl(jcacl2) = fn_keq(8.0d11,32.84d0,44.79d0, t_k)*1.e5 ! cacl2(s) = ca++ + 2cl- keq_sl(jcano3) = fn_keq(4.31d5, 7.83d0,42.01d0, t_k)*1.e5 ! ca(no3)2(s) = ca++ + 2no3- keq_sl(jcamsa2) = 1.e15 ! CaMSA2(s)= Ca+ + 2MSA- start_ind = 1 if (vbs_nbin(1).eq.0) then start_ind = ismpa_g else if (vbs_nbin(1) .eq. 4) then start_ind = iasoaX_g else start_ind = ipcg1_b_c_g endif do iv = start_ind, ngas_ioa + ngas_soa sat_soa(iv) = 0.0 ! [nmol/m^3(air)] enddo if (vbs_nbin(1).eq.9) then ! vapor pressures of soa species po_soa(ipcg1_b_c_g) = fn_po(9.91d-8, 112.0d0, T_K) ! [Pascal] po_soa(ipcg2_b_c_g) = fn_po(9.91d-7, 106.0d0, T_K) ! [Pascal] po_soa(ipcg3_b_c_g) = fn_po(9.91d-6, 100.0d0, T_K) ! [Pascal] po_soa(ipcg4_b_c_g) = fn_po(9.91d-5, 94.0d0, T_K) ! [Pascal] po_soa(ipcg5_b_c_g) = fn_po(9.91d-4, 88.0d0, T_K) ! [Pascal] po_soa(ipcg6_b_c_g) = fn_po(9.91d-3, 82.0d0, T_K) ! [Pascal] po_soa(ipcg7_b_c_g) = fn_po(9.91d-2, 76.0d0, T_K) ! [Pascal] po_soa(ipcg8_b_c_g) = fn_po(9.91d-1, 70.0d0, T_K) ! [Pascal] po_soa(ipcg9_b_c_g) = fn_po(9.91d0, 64.0d0, T_K) ! [Pascal] po_soa(iopcg1_b_c_g) = fn_po(9.91d-8, 112.0d0, T_K) ! [Pascal] po_soa(iopcg2_b_c_g) = fn_po(9.91d-7, 106.0d0, T_K) ! [Pascal] po_soa(iopcg3_b_c_g) = fn_po(9.91d-6, 100.0d0, T_K) ! [Pascal] po_soa(iopcg4_b_c_g) = fn_po(9.91d-5, 94.0d0, T_K) ! [Pascal] po_soa(iopcg5_b_c_g) = fn_po(9.91d-4, 88.0d0, T_K) ! [Pascal] po_soa(iopcg6_b_c_g) = fn_po(9.91d-3, 82.0d0, T_K) ! [Pascal] po_soa(iopcg7_b_c_g) = fn_po(9.91d-2, 76.0d0, T_K) ! [Pascal] po_soa(iopcg8_b_c_g) = fn_po(9.91d-1, 70.0d0, T_K) ! [Pascal] po_soa(ipcg1_b_o_g) = fn_po(9.91d-8, 112.0d0, T_K) ! [Pascal] po_soa(ipcg2_b_o_g) = fn_po(9.91d-7, 106.0d0, T_K) ! [Pascal] po_soa(ipcg3_b_o_g) = fn_po(9.91d-6, 100.0d0, T_K) ! [Pascal] po_soa(ipcg4_b_o_g) = fn_po(9.91d-5, 94.0d0, T_K) ! [Pascal] po_soa(ipcg5_b_o_g) = fn_po(9.91d-4, 88.0d0, T_K) ! [Pascal] po_soa(ipcg6_b_o_g) = fn_po(9.91d-3, 82.0d0, T_K) ! [Pascal] po_soa(ipcg7_b_o_g) = fn_po(9.91d-2, 76.0d0, T_K) ! [Pascal] po_soa(ipcg8_b_o_g) = fn_po(9.91d-1, 70.0d0, T_K) ! [Pascal] po_soa(ipcg9_b_o_g) = fn_po(9.91d0, 64.0d0, T_K) ! [Pascal] po_soa(iopcg1_b_o_g) = fn_po(9.91d-8, 112.0d0, T_K) ! [Pascal] po_soa(iopcg2_b_o_g) = fn_po(9.91d-7, 106.0d0, T_K) ! [Pascal] po_soa(iopcg3_b_o_g) = fn_po(9.91d-6, 100.0d0, T_K) ! [Pascal] po_soa(iopcg4_b_o_g) = fn_po(9.91d-5, 94.0d0, T_K) ! [Pascal] po_soa(iopcg5_b_o_g) = fn_po(9.91d-4, 88.0d0, T_K) ! [Pascal] po_soa(iopcg6_b_o_g) = fn_po(9.91d-3, 82.0d0, T_K) ! [Pascal] po_soa(iopcg7_b_o_g) = fn_po(9.91d-2, 76.0d0, T_K) ! [Pascal] po_soa(iopcg8_b_o_g) = fn_po(9.91d-1, 70.0d0, T_K) ! [Pascal] po_soa(ipcg1_f_c_g) = fn_po(9.91d-8, 112.0d0, T_K) ! [Pascal] po_soa(ipcg2_f_c_g) = fn_po(9.91d-7, 106.0d0, T_K) ! [Pascal] po_soa(ipcg3_f_c_g) = fn_po(9.91d-6, 100.0d0, T_K) ! [Pascal] po_soa(ipcg4_f_c_g) = fn_po(9.91d-5, 94.0d0, T_K) ! [Pascal] po_soa(ipcg5_f_c_g) = fn_po(9.91d-4, 88.0d0, T_K) ! [Pascal] po_soa(ipcg6_f_c_g) = fn_po(9.91d-3, 82.0d0, T_K) ! [Pascal] po_soa(ipcg7_f_c_g) = fn_po(9.91d-2, 76.0d0, T_K) ! [Pascal] po_soa(ipcg8_f_c_g) = fn_po(9.91d-1, 70.0d0, T_K) ! [Pascal] po_soa(ipcg9_f_c_g) = fn_po(9.91d0, 64.0d0, T_K) ! [Pascal] po_soa(iopcg1_f_c_g) = fn_po(9.91d-8, 112.0d0, T_K) ! [Pascal] po_soa(iopcg2_f_c_g) = fn_po(9.91d-7, 106.0d0, T_K) ! [Pascal] po_soa(iopcg3_f_c_g) = fn_po(9.91d-6, 100.0d0, T_K) ! [Pascal] po_soa(iopcg4_f_c_g) = fn_po(9.91d-5, 94.0d0, T_K) ! [Pascal] po_soa(iopcg5_f_c_g) = fn_po(9.91d-4, 88.0d0, T_K) ! [Pascal] po_soa(iopcg6_f_c_g) = fn_po(9.91d-3, 82.0d0, T_K) ! [Pascal] po_soa(iopcg7_f_c_g) = fn_po(9.91d-2, 76.0d0, T_K) ! [Pascal] po_soa(iopcg8_f_c_g) = fn_po(9.91d-1, 70.0d0, T_K) ! [Pascal] po_soa(ipcg1_f_o_g) = fn_po(9.91d-8, 112.0d0, T_K) ! [Pascal] po_soa(ipcg2_f_o_g) = fn_po(9.91d-7, 106.0d0, T_K) ! [Pascal] po_soa(ipcg3_f_o_g) = fn_po(9.91d-6, 100.0d0, T_K) ! [Pascal] po_soa(ipcg4_f_o_g) = fn_po(9.91d-5, 94.0d0, T_K) ! [Pascal] po_soa(ipcg5_f_o_g) = fn_po(9.91d-4, 88.0d0, T_K) ! [Pascal] po_soa(ipcg6_f_o_g) = fn_po(9.91d-3, 82.0d0, T_K) ! [Pascal] po_soa(ipcg7_f_o_g) = fn_po(9.91d-2, 76.0d0, T_K) ! [Pascal] po_soa(ipcg8_f_o_g) = fn_po(9.91d-1, 70.0d0, T_K) ! [Pascal] po_soa(ipcg9_f_o_g) = fn_po(9.91d0, 64.0d0, T_K) ! [Pascal] po_soa(iopcg1_f_o_g) = fn_po(9.91d-8, 112.0d0, T_K) ! [Pascal] po_soa(iopcg2_f_o_g) = fn_po(9.91d-7, 106.0d0, T_K) ! [Pascal] po_soa(iopcg3_f_o_g) = fn_po(9.91d-6, 100.0d0, T_K) ! [Pascal] po_soa(iopcg4_f_o_g) = fn_po(9.91d-5, 94.0d0, T_K) ! [Pascal] po_soa(iopcg5_f_o_g) = fn_po(9.91d-4, 88.0d0, T_K) ! [Pascal] po_soa(iopcg6_f_o_g) = fn_po(9.91d-3, 82.0d0, T_K) ! [Pascal] po_soa(iopcg7_f_o_g) = fn_po(9.91d-2, 76.0d0, T_K) ! [Pascal] po_soa(iopcg8_f_o_g) = fn_po(9.91d-1, 70.0d0, T_K) ! [Pascal] po_soa(iant1_c_g) = fn_po(9.91d-6, 100.0d0, T_K) ! [Pascal] po_soa(iant2_c_g) = fn_po(9.91d-5, 94.0d0, T_K) ! [Pascal] po_soa(iant3_c_g) = fn_po(9.91d-4, 88.0d0, T_K) ! [Pascal] po_soa(iant4_c_g) = fn_po(9.91d-3, 82.0d0, T_K) ! [Pascal] po_soa(iant1_o_g) = fn_po(9.91d-6, 100.0d0, T_K) ! [Pascal] po_soa(iant2_o_g) = fn_po(9.91d-5, 94.0d0, T_K) ! [Pascal] po_soa(iant3_o_g) = fn_po(9.91d-4, 88.0d0, T_K) ! [Pascal] po_soa(iant4_o_g) = fn_po(9.91d-3, 82.0d0, T_K) ! [Pascal] po_soa(ibiog1_c_g) = fn_po(9.91d-6, 100.0d0, T_K) ! [Pascal] po_soa(ibiog2_c_g) = fn_po(9.91d-5, 94.0d0, T_K) ! [Pascal] po_soa(ibiog3_c_g) = fn_po(9.91d-4, 88.0d0, T_K) ! [Pascal] po_soa(ibiog4_c_g) = fn_po(9.91d-3, 82.0d0, T_K) ! [Pascal] po_soa(ibiog1_o_g) = fn_po(9.91d-6, 100.0d0, T_K) ! [Pascal] po_soa(ibiog2_o_g) = fn_po(9.91d-5, 94.0d0, T_K) ! [Pascal] po_soa(ibiog3_o_g) = fn_po(9.91d-4, 88.0d0, T_K) ! [Pascal] po_soa(ibiog4_o_g) = fn_po(9.91d-3, 82.0d0, T_K) ! [Pascal] endif if (vbs_nbin(1).eq.4) then po_soa(iasoaX_g) = fn_po(9.91d-10, 40.0d0, T_K) ! [Pascal] po_soa(iasoa1_g) = fn_po(9.91d-6, dhr_approx(0.0d0), T_K) ! [Pascal] po_soa(iasoa2_g) = fn_po(9.91d-5, dhr_approx(1.0d0), T_K) ! [Pascal] po_soa(iasoa3_g) = fn_po(9.91d-4, dhr_approx(2.0d0), T_K) ! [Pascal] po_soa(iasoa4_g) = fn_po(9.91d-3, dhr_approx(3.0d0), T_K) ! [Pascal] po_soa(ibsoaX_g) = fn_po(9.91d-10, 40.0d0, T_K) ! [Pascal] po_soa(ibsoa1_g) = fn_po(9.91d-6, dhr_approx(0.0d0), T_K) ! [Pascal] po_soa(ibsoa2_g) = fn_po(9.91d-5, dhr_approx(1.0d0), T_K) ! [Pascal] po_soa(ibsoa3_g) = fn_po(9.91d-4, dhr_approx(2.0d0), T_K) ! [Pascal] po_soa(ibsoa4_g) = fn_po(9.91d-3, dhr_approx(3.0d0), T_K) ! [Pascal] endif if (vbs_nbin(1).eq.2) then po_soa(ipcg1_b_c_g) = fn_po(9.91d-8, 83.0d0, T_K) ! [Pascal] po_soa(ipcg2_b_c_g) = fn_po(9.91d-1, 83.0d0, T_K) ! [Pascal] po_soa(iopcg1_b_c_g) = fn_po(9.91d-8, 83.0d0, T_K) ! [Pascal] po_soa(ipcg1_b_o_g) = fn_po(9.91d-8, 83.0d0, T_K) ! [Pascal] po_soa(ipcg2_b_o_g) = fn_po(9.91d-1, 83.0d0, T_K) ! [Pascal] po_soa(iopcg1_b_o_g) = fn_po(9.91d-8, 83.0d0, T_K) ! [Pascal] po_soa(ipcg1_f_c_g) = fn_po(9.91d-8, 83.0d0, T_K) ! [Pascal] po_soa(ipcg2_f_c_g) = fn_po(9.91d-1, 83.0d0, T_K) ! [Pascal] po_soa(iopcg1_f_c_g) = fn_po(9.91d-8, 83.0d0, T_K) ! [Pascal] po_soa(ipcg1_f_o_g) = fn_po(9.91d-8, 83.0d0, T_K) ! [Pascal] po_soa(ipcg2_f_o_g) = fn_po(9.91d-1, 83.0d0, T_K) ! [Pascal] po_soa(iopcg1_f_o_g) = fn_po(9.91d-8, 83.0d0, T_K) ! [Pascal] po_soa(iant1_c_g) = fn_po(9.91d-6, 83.0d0, T_K) ! [Pascal] po_soa(iant1_o_g) = fn_po(9.91d-6, 83.0d0, T_K) ! [Pascal] po_soa(ibiog1_c_g) = fn_po(9.91d-6, 83.0d0, T_K) ! [Pascal] po_soa(ibiog1_o_g) = fn_po(9.91d-6, 83.0d0, T_K) ! [Pascal] endif if (vbs_nbin(1).eq.0) then po_soa(ismpa_g) = fn_po(9.91d-8, 83.0d0, T_K) ! [Pascal] po_soa(ismpbb_g) = fn_po(9.91d-8, 83.0d0, T_K) ! [Pascal] po_soa(ibiog1_c_g) = fn_po(9.91d-6, 83.0d0, T_K) ! [Pascal] po_soa(ibiog1_o_g) = fn_po(9.91d-6, 83.0d0, T_K) ! [Pascal] endif start_ind = 1 if (vbs_nbin(1).eq.0) then start_ind = ismpa_g else if (vbs_nbin(1).eq.4) then start_ind = iasoaX_g else start_ind = ipcg1_b_c_g end if do iv = start_ind, ngas_ioa + ngas_soa sat_soa(iv) = 1.e9*po_soa(iv)/(8.314*t_k) ! [nmol/m^3(air)] enddo ! water surface tension term = (647.15 - t_k)/647.15 sigma_water = 0.2358*term**1.256 * (1. - 0.625*term) ! surface tension of pure water in n/m ! mdrh(t) do j_index = 1, 63 mdrh_t(j_index) = drh_mutual(j_index) enddo ! rh dependent parameters do ibin = 1, nbin_a ah2o_a(ibin) = ah2o ! initialize enddo call mtem_compute_log_gamz ! function of ah2o and t ! raz update 6/25/2008 - start gam_nh4no3_0 = 10.**log_gamZ(jnh4no3,jnh4no3) gam_nh4cl_0 = 10.**log_gamZ(jnh4cl,jnh4cl) m_nh4no3_0 = molality_0(jnh4no3) m_nh4cl_0 = molality_0(jnh4cl) Kp_nh4no3_0 = Kp_nh4no3*(m_nh4no3_0*gam_nh4no3_0)**2 Kp_nh4cl_0 = Kp_nh4cl *(m_nh4cl_0 *gam_nh4cl_0 )**2 ! raz update 6/25/2008 - end return end subroutine update_thermodynamic_constants ! Function to approximate enthalpy of vaporization for ! semi-volatile organic aerosols as a function of volatility ! from Epstein et al., ES&T, 2010 ! http://pubs.acs.org/doi/abs/10.1021/es902497z real(kind=8) function dhr_approx(log10_Csat_298) real(kind=8), intent(in) :: log10_Csat_298 dhr_approx = -11.0 * log10_Csat_298 + 131.0 ! kJ/mol end function dhr_approx !*********************************************************************** ! functions used in mosaic ! ! author: rahul a. zaveri ! update: jan 2005 !----------------------------------------------------------------------- !---------------------------------------------------------- real(kind=8) function fn_keq(keq_298, a, b, t) ! implicit none ! subr. arguments real(kind=8) keq_298, a, b, t ! local variables real(kind=8) tt tt = 298.15/t fn_keq = keq_298*exp(a*(tt-1.)+b*(1.+log(tt)-tt)) return end function fn_keq !---------------------------------------------------------- !---------------------------------------------------------- real(kind=8) function fn_po(po_298, dh, t) ! touch ! implicit none ! subr. arguments real(kind=8) po_298, dh, t ! local variables fn_po = po_298*exp(-(dh/8.314e-3)*(1./t - 3.354016435e-3)) return end function fn_po !---------------------------------------------------------- !---------------------------------------------------------- real(kind=8) function drh_mutual(j_index) ! implicit none ! include 'mosaic.h' ! subr. arguments integer j_index ! local variables integer j j = j_index if(j_index .eq. 7 .or. j_index .eq. 8 .or. & (j_index.ge. 34 .and. j_index .le. 51))then drh_mutual = 10.0 ! cano3 or cacl2 containing mixtures else drh_mutual = d_mdrh(j,1) + t_k* & (d_mdrh(j,2) + t_k* & (d_mdrh(j,3) + t_k* & d_mdrh(j,4) )) + 1.0 endif return end function drh_mutual !---------------------------------------------------------- !---------------------------------------------------------- ! zsr method at 60% rh ! real(kind=8) function aerosol_water_up(ibin) ! kg (water)/m^3 (air) ! implicit none ! include 'mosaic.h' ! subr. arguments integer ibin ! local variables integer jp, je real(kind=8) dum ! function ! real(kind=8) bin_molality_60 jp = jtotal dum = 0.0 do je = 1, (nsalt+4) ! include hno3 and hcl in water calculation dum = dum + 1.e-9*electrolyte(je,jp,ibin)/bin_molality_60(je) enddo aerosol_water_up = dum return end function aerosol_water_up !---------------------------------------------------------- !---------------------------------------------------------- ! zsr method real(kind=8) function aerosol_water(jp,ibin) ! kg (water)/m^3 (air) ! implicit none ! include 'mosaic.h' ! subr. arguments integer jp, ibin ! local variables integer je real(kind=8) dum ! function ! real(kind=8) bin_molality dum = 0.0 do je = 1, (nsalt+4) ! include hno3 and hcl in water calculation dum = dum + 1.e-9*electrolyte(je,jp,ibin)/bin_molality(je,ibin) enddo aerosol_water = dum if(aerosol_water .le. 0.0)then if (iprint_mosaic_diag1 .gt. 0) then write(6,*)'mosaic aerosol_water - water .le. 0' write(6,*)'iclm jclm ibin jp = ', & iclm_aer, jclm_aer, ibin, jp write(6,*)'ah2o, water = ', ah2o, aerosol_water write(6,*)'dry mass = ', mass_dry_a(ibin) write(6,*)'soluble mass = ', mass_soluble_a(ibin) write(6,*)'number = ', num_a(ibin) do je = 1, nsoluble write(6,44)ename(je), electrolyte(je,jp,ibin) enddo write(6,*)'error in water calculation' write(6,*)'ibin = ', ibin write(6,*)'water content cannot be negative or zero' write(6,*)'setting jaerosolstate to all_solid' stop endif call print_input jaerosolstate(ibin) = all_solid jphase(ibin) = jsolid jhyst_leg(ibin) = jhyst_lo !c write(6,*)'stopping execution in function aerosol_water' !c stop endif 44 format(a7, 2x, e11.3) return end function aerosol_water !---------------------------------------------------------- !---------------------------------------------------------- real(kind=8) function bin_molality(je,ibin) ! implicit none ! include 'mosaic.h' ! subr. arguments integer je, ibin ! local variables real(kind=8) aw, xm aw = max(ah2o_a(ibin), aw_min(je)) aw = min(aw, 0.999999D0) if(aw .lt. 0.97)then xm = a_zsr(1,je) + & aw*(a_zsr(2,je) + & aw*(a_zsr(3,je) + & aw*(a_zsr(4,je) + & aw*(a_zsr(5,je) + & aw* a_zsr(6,je) )))) bin_molality = 55.509*xm/(1. - xm) else bin_molality = -b_zsr(je)*log(aw) endif return end function bin_molality !---------------------------------------------------------- !---------------------------------------------------------- real(kind=8) function bin_molality_60(je) ! implicit none ! include 'mosaic.h' ! subr. arguments integer je ! local variables real(kind=8) aw, xm aw = 0.6 xm = a_zsr(1,je) + aw* & (a_zsr(2,je) + aw* & (a_zsr(3,je) + aw* & (a_zsr(4,je) + aw* & (a_zsr(5,je) + aw* & a_zsr(6,je) )))) bin_molality_60 = 55.509*xm/(1. - xm) return end function bin_molality_60 !---------------------------------------------------------- !---------------------------------------------------------- ! raz update 6/25/2008 - start real(kind=8) function molality_0(je) ! implicit none ! subr. arguments integer je ! local variables real(kind=8) :: aw, xm aw = max(ah2o, aw_min(je)) aw = min(aw, 0.999999d0) if(aw .lt. 0.97)then xm = a_zsr(1,je) + & aw*(a_zsr(2,je) + & aw*(a_zsr(3,je) + & aw*(a_zsr(4,je) + & aw*(a_zsr(5,je) + & aw* a_zsr(6,je) )))) molality_0 = 55.509*xm/(1. - xm) else molality_0 = -b_zsr(je)*log(aw) endif return end function molality_0 ! raz update 6/25/2008 - end !---------------------------------------------------------- !---------------------------------------------------------- real(kind=8) function fnlog_gamz(ja,je) ! ja in je ! implicit none ! include 'mosaic.h' ! subr. arguments integer ja, je ! local variables real(kind=8) aw aw = max(ah2o, aw_min(je)) fnlog_gamz = b_mtem(1,ja,je) + aw* & (b_mtem(2,ja,je) + aw* & (b_mtem(3,ja,je) + aw* & (b_mtem(4,ja,je) + aw* & (b_mtem(5,ja,je) + aw* & b_mtem(6,ja,je) )))) return end function fnlog_gamz !---------------------------------------------------------- !---------------------------------------------------------- real(kind=8) function mean_molecular_speed(t, mw) ! in cm/s ! implicit none ! subr. arguments real(kind=8) t, mw ! t(k) mean_molecular_speed = 1.455e4 * sqrt(t/mw) return end function mean_molecular_speed !---------------------------------------------------------- !---------------------------------------------------------- real(kind=8) function gas_diffusivity(t, p, mw, vm) ! in cm^2/s ! implicit none ! subr. arguments real(kind=8) mw, vm, t, p ! t(k), p(atm) gas_diffusivity = (1.0e-3 * t**1.75 * sqrt(1./mw + 0.035))/ & (p * (vm**0.333333 + 2.7189)**2) return end function gas_diffusivity !---------------------------------------------------------- !---------------------------------------------------------- real(kind=8) function fuchs_sutugin(rkn,a) ! implicit none ! subr. arguments real(kind=8) rkn, a ! local variables real(kind=8) rnum, denom rnum = 0.75*a*(1. + rkn) denom = rkn**2 + rkn + 0.283*rkn*a + 0.75*a fuchs_sutugin = rnum/denom return end function fuchs_sutugin !---------------------------------------------------------- !---------------------------------------------------------- real(kind=8) function acc_n2o5_bert_thorn(mass_h2o,mol_no3,mol_cl,vol) ! Composition dependent mass accommodation coefficient. ! After Bertram and Thornton, ACP, 2009 ! ! acc_N2O5 = A*(b-b*exp(-d*[H2O(l)])) ! * (1-1/(1+(k3'*[H2O(l)]/[NO3-])+(k4'*[Cl-]/[NO3-]))) ! where: ! acc_N2O5 = accommodation coefficient of N2O5 on the aerosol ! A = factor for experimental conditions = 3.2e-8 s ! b = 1.15e6 s^-1 ! d = 1.3e-1 M^-1 ! [H2O(l)] = H2O Molarity ! k3' (=k3/k2b) = 6.0e-2 ! k4' (=k4/k2b) = 29e0 ! [Cl-] = Cl- Molarity ! [NO3-] = NO3- Molarity ! define set factors for scheme real(kind=8), parameter :: A_bt = 3.2e-8 real(kind=8), parameter :: b_bt = 1.15e6 real(kind=8), parameter :: d_bt = 1.3e-1 real(kind=8), parameter :: k3_bt = 6.0e-2 real(kind=8), parameter :: k4_bt = 29e0 ! internal conversion factors real(kind=8), parameter :: nmol_mol = 1e-9 ! convert nmol->mol real(kind=8), parameter :: m3_litre = 1e3 ! convert m3->litre real(kind=8), parameter :: mm_h2o = 18e-3 ! molar mass (kg/mol) ! input variables real(kind=8) :: mass_h2o ! kg(water)/m^3(air) real(kind=8) :: mol_no3 ! nmol/m^3(air?) real(kind=8) :: mol_cl ! nmol/m^3(air?) real(kind=8) :: vol ! cc/cc(air) - wet volume ! internal variables real(kind=8) :: part_step real(kind=8) :: aer_h2o, aer_no3, aer_cl ! molarity - mol/litre(solution) ! extract and convert aerosol data from inputs to Moles/litre(solution) aer_h2o = mass_h2o / (mm_h2o*vol*m3_litre) aer_no3 = mol_no3*nmol_mol / (vol*m3_litre) aer_cl = mol_cl*nmol_mol / (vol*m3_litre) if(n2o5_flag.eq.1)then ! switch off Cl pathway aer_cl = 0.0 end if if(aer_h2o .ne. 0.0)then part_step = b_bt - b_bt * exp(-d_bt*aer_h2o) if(aer_no3 .ne. 0.0)then acc_n2o5_bert_thorn = A_bt * part_step * & (1.0 - 1.0 / ( & 1.0 + & (k3_bt*aer_h2o/aer_no3) + & (k4_bt*aer_cl/aer_no3) & )) else acc_n2o5_bert_thorn = A_bt * part_step endif else ! if no aerosol water then don't take up N2O5 acc_n2o5_bert_thorn = 0.0 endif return end function acc_n2o5_bert_thorn !------------------------------------------------------------- !------------------------------------------------------------- real(kind=8) function split_n2o5_bert_thorn(mass_h2o,mol_cl,vol) ! Hetereogeneous reaction of N2O5 with H2O(l) and Cl-(aq) ! after Bertram and Thornton, ACP, 2009 ! Subroutine for splitting reaction pathways ! ! R3f = 1 / (1+(k4'[Cl-])/(k3'[H2O(l)])) (H2O pathway) ! R4f = 1 / (1+(k3'[H2O(l)])/(k4'[Cl-])) (Cl- pathway) ! where: ! R3f = fraction of N2O5 that reacts with H2O ! R4f = fraction of N2O5 that reacts with Cl- ! [H2O(l)] = H2O Molarity ! [Cl-] = Cl- Molarity ! k3' (=k3/k2b) = 6.0e-2 ! k4' (=k4/k2b) = 29e0 ! ! This function outputs the fraction of N2O5 which reacts ! with H2O ! define parameters for the scheme real(kind=8), parameter :: k3_bt = 6.0e-2 real(kind=8), parameter :: k4_bt = 29e0 ! internal conversion factors real(kind=8), parameter :: nmol_mol = 1e-9 ! convert nmol->mol real(kind=8), parameter :: m3_litre = 1e3 ! convert m3->litre real(kind=8), parameter :: mm_h2o = 18e-3 ! molar mass (kg/mol) ! input variables real(kind=8) :: mass_h2o ! kg(water)/m^3(air) real(kind=8) :: mol_cl ! nmol/m^3(air?) real(kind=8) :: vol ! cc/cc(air) - wet volume ! internal variables real(kind=8) :: part_step real(kind=8) :: aer_h2o, aer_cl ! molarity - mol/litre(solution) ! extract and convert aerosol data from inputs to Moles/litre(solution) aer_h2o = mass_h2o / (mm_h2o*vol*m3_litre) aer_cl = mol_cl*nmol_mol / (vol*m3_litre) if(n2o5_flag.eq.1)then ! switch off Cl pathway aer_cl = 0.0 end if if(aer_h2o .ne. 0.0)then split_n2o5_bert_thorn = 1e0 / & ( 1e0 + (k4_bt*aer_cl)/(k3_bt*aer_h2o) ) else split_n2o5_bert_thorn = 0.0 endif return end function split_n2o5_bert_thorn !------------------------------------------------------------- !---------------------------------------------------------- ! solution to x^3 + px^2 + qx + r = 0 ! real(kind=8) function cubic( p, q, r ) ! implicit none ! subr arguments real(kind=8), intent(in) :: p, q, r ! local variables real(kind=8) a, b, d, m, n, third, y real(kind=8) k, phi, thesign, x(3), duma integer icase, kk third = 1.d0/3.d0 a = (1.d0/3.d0)*((3.d0*q) - (p*p)) b = (1.d0/27.d0)*((2.d0*p*p*p) - (9.d0*p*q) + (27.d0*r)) d = ( ((a*a*a)/27.d0) + ((b*b)/4.d0) ) if(d .gt. 0.)then ! => 1 real and 2 complex roots icase = 1 elseif(d .eq. 0.)then ! => 3 real roots, atleast 2 identical icase = 2 else ! d < 0 => 3 distinct real roots icase = 3 endif goto (1,2,3), icase ! case 1: d > 0 1 thesign = 1. if(b .gt. 0.)then b = -b thesign = -1. endif m = thesign*((-b/2.d0) + (sqrt(d)))**(third) n = thesign*((-b/2.d0) - (sqrt(d)))**(third) cubic = real( (m) + (n) - (p/3.d0) ) return ! case 2: d = 0 2 thesign = 1. if(b .gt. 0.)then b = -b thesign = -1. endif m = thesign*(-b/2.d0)**third n = m x(1) = real( (m) + (n) - (p/3.d0) ) x(2) = real( (-m/2.d0) + (-n/2.d0) - (p/3.d0) ) x(2) = real( (-m/2.d0) + (-n/2.d0) - (p/3.d0) ) cubic = 0. do kk = 1, 3 if(x(kk).gt.cubic) cubic = x(kk) enddo return ! case 3: d < 0 3 if(b.gt.0.)then thesign = -1. elseif(b.lt.0.)then thesign = 1. endif ! rce 18-nov-2004 -- make sure that acos argument is between +/-1.0 ! phi = acos(thesign*sqrt( (b*b/4.d0)/(-a*a*a/27.d0) )) ! radians duma = thesign*sqrt( (b*b/4.d0)/(-a*a*a/27.d0) ) duma = min( duma, +1.0D0 ) duma = max( duma, -1.0D0 ) phi = acos( duma ) ! radians cubic = 0. do kk = 1, 3 k = kk-1 y = 2.*sqrt(-a/3.)*cos(phi + 120.*k*0.017453293) x(kk) = real((y) - (p/3.d0)) if(x(kk).gt.cubic) cubic = x(kk) enddo return end function cubic !---------------------------------------------------------- !---------------------------------------------------------- real(kind=8) function quadratic(a,b,c) ! implicit none ! subr. arguments real(kind=8) a, b, c ! local variables real(kind=8) x, dum, quad1, quad2 if(b .ne. 0.0)then x = 4.*(a/b)*(c/b) else x = 1.e+6 endif if(abs(x) .lt. 1.e-6)then dum = (0.5*x) + & (0.125*x**2) + & (0.0625*x**3) quadratic = (-0.5*b/a)*dum if(quadratic .lt. 0.)then quadratic = -b/a - quadratic endif else quad1 = (-b+sqrt(b*b-4.*a*c))/(2.*a) quad2 = (-b-sqrt(b*b-4.*a*c))/(2.*a) quadratic = max(quad1, quad2) endif return end function quadratic !---------------------------------------------------------- !---------------------------------------------------------- ! currently not used ! two roots of a quadratic equation subroutine quadratix(a,b,c, qx1,qx2) ! implicit none ! subr. arguments real(kind=8) a, b, c, qx1, qx2 ! local variables real(kind=8) x, dum if(b .ne. 0.0)then x = 4.*(a/b)*(c/b) else x = 1.e+6 endif if(abs(x) .lt. 1.e-6)then dum = (0.5*x) + & (0.125*x**2) + & (0.0625*x**3) qx1 = (-0.5*b/a)*dum qx2 = -b/a - qx1 else qx1 = (-b+sqrt(b*b - 4.*a*c))/(2.*a) qx2 = (-b-sqrt(b*b - 4.*a*c))/(2.*a) endif return end subroutine quadratix !===================================================================== !*********************************************************************** ! save aerosol drymass and drydens before aerosol mass transfer is ! calculated this subr is called from within subr mosaic_dynamic_solver, ! after the initial calls to check_aerosol_mass, conform_electrolytes, ! conform_aerosol_number, and aerosol_phase_state, but before the mass ! transfer is calculated ! ! author: richard c. easter !----------------------------------------------------------------------- subroutine save_pregrow_props use module_data_mosaic_asect use module_data_mosaic_other ! implicit none ! include 'v33com' ! include 'v33com9a' ! include 'v33com9b' ! include 'mosaic.h' ! subr arguments (none) ! local variables integer ibin, isize, itype ! air conc in mol/cm^3 cair_mol_cc = cairclm(kclm_aer) ! compute then save drymass and drydens for each bin do ibin = 1, nbin_a call calc_dry_n_wet_aerosol_props( ibin ) call isize_itype_from_ibin( ibin, isize, itype ) drymass_pregrow(isize,itype) = mass_dry_a(ibin)/cair_mol_cc ! g/mol(air) if(jaerosolstate(ibin) .eq. no_aerosol) then drydens_pregrow(isize,itype) = -1. else drydens_pregrow(isize,itype) = dens_dry_a(ibin) ! g/cc end if end do return end subroutine save_pregrow_props !*********************************************************************** ! special output ! ! author: richard c. easter !----------------------------------------------------------------------- subroutine specialoutaa( iclm, jclm, kclm, msub, fromwhere ) ! implicit none integer iclm, jclm, kclm, msub character*(*) fromwhere return end subroutine specialoutaa !*********************************************************************** ! box model test output ! ! author: richard c. easter !----------------------------------------------------------------------- subroutine aerchem_boxtest_output( & iflag, iclm, jclm, kclm, msub, dtchem ) use module_data_mosaic_asect use module_data_mosaic_other ! implicit none ! include 'v33com' ! include 'v33com2' ! include 'v33com9a' integer iflag, iclm, jclm, kclm, msub real(kind=8) dtchem ! local variables integer lun parameter (lun=83) integer, save :: ientryno = -13579 integer icomp, iphase, isize, itype, k, l, m, n real(kind=8) dtchem_sv1 save dtchem_sv1 real(kind=8) rsub_sv1(l2maxd,kmaxd,nsubareamaxd) ! bypass unless maerchem_boxtest_output > 0 if (maerchem_boxtest_output .le. 0) return ! ! *** currently this only works for ntype_aer = 1 ! itype = 1 iphase = ai_phase ! do initial output if (ientryno .ne. -13579) goto 1000 ientryno = +1 write(lun) ltot, ltot2, itot, jtot, ktot write(lun) (name(l), l=1,ltot2) write(lun) maerocoag, maerchem, maeroptical write(lun) msectional, maerosolincw write(lun) nsize_aer(itype), ntot_maincomp_aer do icomp = 1, ntot_maincomp_aer write(lun) & name_maincomp_aer(icomp) write(lun) & dens_maincomp_aer(icomp), mw_maincomp_aer(icomp) end do do isize = 1, nsize_aer(itype) write(lun) & ncomp_plustracer_aer(itype), & ncomp_aer(itype), & waterptr_aer(isize,itype), & numptr_aer(isize,itype,iphase), & mprognum_aer(isize,itype,iphase) write(lun) & ( maincompptr_aer(l,itype), & massptr_aer(l,isize,itype,iphase), & l=1,ncomp_plustracer_aer(itype) ) write(lun) & volumcen_sect(isize,itype), & volumlo_sect(isize,itype), & volumhi_sect(isize,itype), & dcen_sect(isize,itype), & dlo_sect(isize,itype), & dhi_sect(isize,itype) write(lun) & lptr_so4_aer(isize,itype,iphase), & lptr_msa_aer(isize,itype,iphase), & lptr_no3_aer(isize,itype,iphase), & lptr_cl_aer(isize,itype,iphase), & lptr_co3_aer(isize,itype,iphase), & lptr_nh4_aer(isize,itype,iphase), & lptr_na_aer(isize,itype,iphase), & lptr_ca_aer(isize,itype,iphase), & lptr_oin_aer(isize,itype,iphase), & lptr_oc_aer(isize,itype,iphase), & lptr_bc_aer(isize,itype,iphase), & hyswptr_aer(isize,itype) end do ! ! test iflag ! 1000 continue if (iflag .eq. 1) goto 1010 if (iflag .eq. 2) goto 2000 if (iflag .eq. 3) goto 3000 return ! ! iflag=1 -- save initial values ! 1010 continue dtchem_sv1 = dtchem return ! ! iflag=2 -- save intermediate values before doing move_sections ! (this is deactivated for now) ! 2000 continue return ! ! iflag=3 -- do output ! 3000 continue do m = 1, nsubareas do k = 1, ktot write(lun) iymdcur, ihmscur, iclm, jclm, k, m, nsubareas write(lun) t, dtchem_sv1, cairclm(k), relhumclm(k), & ptotclm(k), afracsubarea(k,m) end do end do return end subroutine aerchem_boxtest_output !*********************************************************************** ! 'debugging' output when mosaic encounters 'fatal error' situation ! ! author: richard c. easter !----------------------------------------------------------------------- subroutine mosaic_aerchem_error_dump( istop, ibin, luna, msga ) ! ! dumps current column information when a fatal computational error occurs ! when istop>0, the simulation is halted ! use module_data_mosaic_asect use module_data_mosaic_other ! implicit none ! arguments integer istop, ibin, luna character*(*) msga ! local variables integer icomp, iphase, isize, itype, k, l, lunb, m, n real(kind=8) dtchem_sv1 ! ! *** currently this only works for ntype_aer = 1 ! itype = 1 lunb = luna if (lunb .le. 0) lunb = 6 9000 format( a ) 9010 format( 7i10 ) 9020 format( 3(1pe19.11) ) write(lunb,9000) write(lunb,9000) 'begin mosaic_aerchem_error_dump - msga =' write(lunb,9000) msga return end subroutine mosaic_aerchem_error_dump !----------------------------------------------------------------------- end module module_mosaic_therm #endif ================================================ FILE: AUTHORS.txt ================================================ List of Developers for GEOS-Chem, HEMCO, and Related Software (08 Apr 2026) =============================================================================== ADAMS, Peter AKINJOLE, Samuel ALEXANDER, Becky ALVARADO, Matthew AMOS, Helen ANGOT, Helene AUSMEEL, Stina AUVRAY, Marion BALASUS, Nicholas BARAY, Sabour BARKLEY, Michael BARRET, Steven BARRET, Brice BATES, Kelvin BERTOLACCI, Michael BEY, Isabelle BINDLE, Liam BOERSMA, Folkert BOJJAGANI, Sreekanth BONILLA, Eimy BOVY, Benoit BOWMAN, Kevin BOYS, Brian BRANFORD, Simon BRATTICH, Erika BREIDER, Tom BREWER, Jared BROWNE, Ellie BROWN-STEINER, Benjamin BUKOSA, Beata BUTENHOFF, Christopher CADY-PEREIRA, Karen CAMERON-SMITH, Philip CAMPBELL, Patrick CAO, Guofeng CAO, Hansen CAO, Liangzhong CAO, Yi CAPPS, Shannon CAROUGE, Claire CARTER, Therese (Tess) CAZORLA, Maria CHALIYAKUNNEL, Sreelekha CHAN, Yuk Chun CHAN MILLER, Christopher CHEN, Han CHEN, Jing CHEN, Long CHEN, Qi CHEN, Qianjie CHEN, Xin CHEN, Yang CHOI, Yunsoo CHEN, Zichong CHRISTIAN, Kenneth CLARIZIO, Tessa CLUNE, Tom COOPER, Matt CORBITT, Bess CROFT, Betty CRUZ, Xochitl CURCI, Gabriele DACHS, Jordi DAVILA, Yanko DELWICHE, Kyle DENG, Feng DESOUZA, Priyanka DESSERVETTAZ, Max DEUTSCHER, Nicholas DI PIERRO, Maurizio DLAMINI, Thandolwethu DOMMERGUE, Aurelien DOWNS, Will DRURY, Easan DUNCAN, Bryan EASTHAM, Sebastian ELLIS, Raluca ENBERG, Joseph ESTRADA, Lucas EVANS, Mathew FAIRLIE, T. Duncan FARINA, Sal FAYE, Vivian FEINBERG, Ari FIELD, Brendan FIORE, Arlene FISCHER, Emily FISHER, Jenny FITE, Charley FLEMING, Eric FLO GAYA, Judit FORD, Bonne FRANCIS, Timmy FREESE, Lyssa FRIEDMAN, Carey FRITZ, Thibaud FU, Tzung-May FU, Joshua GANTT, Brett GE, Cui GEDDES, Jeffrey GEYMAN, Benjamin GIANG, Amanda GIANNAKOPOULOS, Christos GOUNIA, Harriet GRAEF, Edward GREENSLADE, Jesse GRIFFITHS, Alan GU, Xiaoguang HAMMER, Melanie HANCOCK, Sarah HASKINS, Jessica HE, Cenlin HE, Jourdan HEALD, Colette HENDERSON, Barron HENZE, Daven HO, Wai-Lo HORDIICHUK, Myroslav HOLMES, Christopher HORNER, Rebekah (Bex) HOROWITZ, Hannah HOSSENI, Zahra HOUGH, Ian HU, Lu HUANG, Jianping HUANG, Jiayue IKEDA, Kohei JACOB, Daniel JACOBSON, Andy JACOBSON, Marc JAEGLE, Lyatt JANSEN, Ruud JIANG, Weiyuan JIANG, Zhe JIN, Lixu JISKRA, Martin JOHNSON, Matthew JONES, Dylan JUNG, Jaegun KASIBHATLA, Prasad HUDMAN KAY, Rynda KELLER, Christoph KELP, Makoto KIKUCHI, Tetsuro KIM, Hyeonmin KIM, Sungshik KITWIROON, Nutthida KODROS, Jack KOO, Jamin KOPACZ, Monika KOPLITZ, Shannon KOUATCHOU, Jules KREMSER, Stefanie LACEY, Forrest LAMENCUSA, Carmen LAMSAL, Lok LAPINA, Kateryna LARSON, Kelsey LARY, David LATIMER, Robyn LE SAGER, Philippe LEE, Chulkyu LEE, Colin LEE, Meemong LEE, Tabitha LEHMANN, Ralph LEIBENSPERGER, Eric LERICHE, Maud LEUNG, Fok-Yan LI, Bengang LI, Chi LI, Ke LI, Qinbin LI, Xianglan LI, Yanshun LIAO, K.J. LIANG, Qing LIAO, Hong LIN, Haipeng LIN, Jintai LIN, Shian-Jiann LINFORD, John LIU, Hongyu LIU, Jane LIU, Junhua LIU, Pengfei LIU, Tina LIU, Yang LIU, Ying LOGAN, Jennifer LOMAN, Matthew LONG, Mike LU, Xiao LUNDGREN, Lizzie LUO, Gan MAASAKKERS, J. D. (Bram) MACFARLANE, Stephen MACINTYRE, Helen MACKENZIE, Dave MAHIEU, Emmanuel MAO, Jingqiu MARAIS, Eloise MARKS, Marguerite MARKUS, Arjen MARTIN, Randall MARVIN, Maggie MAYHEW, Alfred MCDUFFIE, Erin MCGUFFIN, Dana MCLINDEN, Chris MENG, Hongjian MENG, Jun MESKHIDZE, Nicholas MIATSELSKAYA, Natallia MICKLEY, Loretta MILLET, Dylan MING, Kai MOCH, Jonathan MOORE, Neil MOORING, Todd MORENA, Jessica MORIN, Gabriel MORRIS, Eleanor MU, Mingquan MURPHY, Killian MURRAY, Lee NAM, Jun NASSAR, Ray NASSAU, Racine NATHAN, Brian NENES, Athanasios NESSER, Hannah NEVISON, Cynthia NIELSEN, Eric NOTHOLT, Justus O'DELL, Kate OKAMOTO, Sachiko PAGE, Neil PAI, Sidhant PALMER, Paul PARAZOO, Nick PARELLA, Justin PARK, Rokjin PARRINGTON, Mark PAULOT, Fabien PHILIP, Sajeev PICKETT-HEAPS, Christopher PIERCE, Jeff PORTER, Will POUND, Ryan PRATHER, Michael PROTONATARIOU, Anna PUTMAN, Bill PYE, Havala QURESHI, Asif RAMNARINE, Emily RANDERSON, James RANDLES, Cynthia RAVETTA, Francois REINHART, Wes RIDLEY, David RIZZA, Umberto ROTHENBERG, Daniel ROY, Eric SAFIEDDINE, Sarah SANDU, Adrian SANTILLANA, Mauricio SAUVAGE, Bastien SCARPELLI, Tia SCHIFERL, Luke SCHMIDT, Johan SCHULTZ, Martin SCHWANTES, Rebecca SEBASTIANELLI, Paolo SELIN, Noelle SEYMOUR, Michael SHAH, Viral SHAO, Jingyuan SHEN, Lu SHERWEN, Tomas SHUTTER, Joshua SILVA, Sam SINGH, Inderjeet SMITH-DOWNEY, Nicole SOERENSEN, Anne Laerke SOFEN, Eric SONG, Shaojie SONG, Yu SPRACKLEN, Dominick STANEVICH, Ilya STEENROD, Stephen STERN, Rebecca STEVENS, Robin STREETS, David STRODE, Sarah STURM, Obin SU, Flora SULPRIZIO, Melissa SUN, Jordan SUN, Minmin SUNDERLAND, Elsie SUNTHARALINGAM, Parvada SURL, Luke SUSELJ, Kay SUTHERLAND, Bethany SUTO, Kimito SZELAG, Monika TAI, Amos TANG, Yidan TANIMOTO, Hiroshi TANNAHILL, John TAO, Shu THACKRAY, Colin THOMPSON, Matt THONAT, Thibaud TIAN, Rong TOMBROU, Maria TRAVIS, Katherine TRAYANOV, Atanas TRIVITAYANURAK, Win TRUJILLO, Corey TUCCELLA, Paolo TURNER, Alexander TURQUETY, Solene TZOMPA-SOSA, Zitely UNGER, Nadine VAL MARTIN, Maria VAN DONKELAAR, Aaron VAROTSOS, Kostas VINKEN, Geert VITT, Francis VOHRA, Karn WAGSTROM, Kristina WALKER, Thomas WALLWORK, Joe WANG, Daisy WANG, James WANG, Jun WANG, Qiaoqiao WANG, Xiaoli WANG, Xiaolin WANG, Xuan WANG, Yi WANG, Yuhang WANG, Yuting WANG, Yuxuan WANG, Zifa WECHT, Kevin WEIDNER, Richard WEISENSTEIN, Debra WELLS, Kelley WENG, Hongjian WESTERVELT, Dan WHALEY, Cynthia WIEDINMYER, Christine WILD, Oliver WOHLTMANN, Ingo WU, Shiliang XIAO, Yaping XU, Junwei YAN, Yingying YANG, Laura YANNETTI, Matt YANTOSCA, Bob YATTEAU, Jack YUMIMOTO, Keiya YU, Karen YU, Fangqun YU, Xingpei YUE, Xu YUE, Xuyan ZATKO, Maria ZHAI, Shixian ZHAI, Shuting ZHANG, Bingqing ZHANG, Bo ZHANG, Chi ZHANG, Dandan ZHANG, Hongliang ZHANG, Jiawei ZHANG, Li ZHANG, Lin ZHANG, Qiang ZHANG, Yanxu ZHANG, Yuanjian ZHU, Haihui ZHU, Lei ZHU, Liye ZHUANG, Jiawei ZHUANG, Quanlai ZOOGMAN, Peter ================================================ FILE: CHANGELOG.md ================================================ # Changelog This file documents all notable changes to the GEOS-Chem repository starting in version 14.0.0, including all GEOS-Chem Classic and GCHP run directory updates. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [14.7.1] - 2026-04-08 ### Added - Added `HTAP_SHIP` toggle in `HEMCO_Config.rc.carbon` templates for GC-Classic and GCHP - Added routines `Lookup_Grid` and `Register_State_Grid` to `Headers/state_grid_mod.F90` - Added `State_Grid` as an argument to History routines `History_Init`, `History_AddItemToCollection`,`History_NetCdf_Define`, `History_Write`, and `IndexVarList_Create` - Added routine `History_InitCoordVars` to `history_mod.F90` - Added cloud fraction and cloud top pressure to the SatDiagn diagnostic collection - Added new field `Input_Opt%CloudJ_Verbose` - Added `cloud-j:verbose` YAML tag (with default setting `false`) to `geoschem_config.yml` templates for GC-Classic, GCHP, GEOS, CESM, and WRF - Added routine `Print_Species_Global_Mass_From_VVDry` in `GeosUtil/print_mod.F90` - Added build setting `MPI_LOAD_BALANCE` to enable MPI load balancing in chemistry to speed up GCHP runs - Added carbon Jacobian tracer simulation using KPP as a build-time option for use with the Integrated Methane Inversion - Added script within new folder KPP/carbon/util to expand carbon.eqn to include any number of CH4 Jacobian tracers - Added error traps to prevent integration tests and parallel tests from running if a conda environment with netCDF is active - Added GCHP run option in setCommonRunSettings.sh to use ExtData2G - Added ExtData2G yaml configuration file for GCHP transport tracer simulation - Added `${RUNDIR_READ_RESTART_AS_REAL8}` to GEOS-Chem Classic `geoschem_config.yml` template files - Added error trap to routine `Get_GC_Restart` to halt simulations that use `read_restart_as_real8: true` with a reduced vertical grid - Added `State_Met%MaxChemLev` and `State_Met%MaxStratLev` integer fields - Added `Init_MaxChemLev` routine in `GeosUtil/pressure_mod.F90`, called from routine `Init_Pressure` - Added `State_Met` argument to routines `Init_Photolysis`, `Set_Clim_Profiles`, `GC_Init_Extra`, `Init_Pressure`, `Init_Mercury`, `Init_Sulfate` ### Changed - Update termite CH4 emissions to the CAMS-GLOB-TERM_v1.1 product - Updated routine `SAFETY` (in `GeosCore/wetscav_mod.F90`) to reset small or negative values to zero - Moved coordinate variables for GC-Classic History netCDF files from `GeosUtil/grid_registry_mod.F90` to the `State_Grid` object - Changed several `State_Grid` fields from `fp` to `f8` precision. (In practice both are `REAL*8` but this makes it more explicit.) - Moved the population of coordinate variables for History netCDF output from `grid_registry_mod.F90` to `history_mod.F90` (in routine `History_InitCoordVars`) - Updated `run/GCHP/setCommonRunSettings.template` to disable the HEMCO PARANOx extension for C360 or C720 grids - Updated `createRunDir.sh` scripts for GC-Classic and GCHP to turn on offline bulk seasalt emissions and bulk dust emissions in TOMAS simulations - Updated `Interfaces/GCClassic/main.F90` to call`Print_Species_Global_Mass_from_VVDry` (instead of`Print_Species_Global_Mass`) in order to avoid numerical differences when verbose printout is on - Renamed `Carbon` collection to `ProdLoss` collection in GCClassic and GCHP `HISTORY.rc.carbon` templates - Updated GitHub Action `stale@v5` to `stale@v10` in order to avoid deprecation warnings - Moved logic to determine whether we read the restart file as `REAL*8` from `run/shared/setupConfigFiles.sh` to `run/GCClassic/createRunDir.sh` - Simplified the logic where `isGMAO` and `State_Grid%NativeNZ` are computed in `GeosUtil/gc_grid_mod.F90` - Changed definition of `State_Grid%MaxChemLev` and `State_Grid%MaxStratLev` to be the 1 hPa level - Moved `MaxChemLev` and `MaxStratLev` fields from `State_Grid` to `State_Met` - Removed `State_Grid%MaxTropLev` field ### Fixed - Fixed incorrect unit conversion from v/v -> molec/cm3 in `planeflight_mod.F90` - Fixed typo in the call to `Finalize` for the `State_Diag%ProdOCPIfromOCPO` diagnostic array - Fixed a syntax error in mass flux scaling calculation - Fixed an I/O error that caused an infinite loop reading when extra newlines are present at the end of `HISTORY.rc` (GC-Classic only) - Fixed timestep mismatch between GCHP C180 and GCC 0.5x0.625 - Fixed incorrect dust species names in `run/GCClassic/HEMCO_Diagn.rc.templates/HEMCO_Diagn.rc.fullchem.onlineE` - Fixed incorrect extension number for `InvDustL23M` entries in `run/GCHP/HEMCO_Diagn.rc.templates/HEMCO_Diagn.rc.fullchem` ### Removed - Removed `ARCTAS_SHIP`, `CORBETT_SHIP`, `ICOADS_SHIP` from `HEMCO_Config.rc` template files - Retired Fung termite and soil absorption emission options from carbon simulation - Removed `GeosUtil/grid_registry_mod.F90`. - Removed `OHconcAfterChem` from GCClassic and GCHP `HISTORY.rc.carbon` templates, as OH is fixed during the simulation - Removed `State_Grid` argument from `Set_Prof_FJX` routine ## [14.7.0] - 2026-02-05 ### Added - Added entries for FINNv25 biomass burning emissions to template HEMCO configuration files - Added comments to `HEMCO_Diagn.rc` template files instructing users on which ExtNr/Cat/Hier to use for online vs. offline biomass burning emissions - Added subroutine `Print_Species_Global_Mass` to print_mod for use by GC-Classic - Added log print of species global mass at start of each timestep if verbose is true - Added print of global mass computed from restart file values if delta pressure present in restart file - Added operational run scripts for WashU Compute2 - Added the option for LPJ_MERRA2 wetland CH4 emissions in CH4 and carbon simulations - Added GC-Classic config file option to read restart file as `REAL*8` via GEOS-Chem rather than HEMCO - Added new GCHP run-time option in GCHP.rc to print species mass proxy (Species 1 only) to log file from FV3 - Added GEOS-Chem export in GCHP to send restart file (internal state) delta pressures to FV3 for mixing ratio scaling upon start-up - Added chemistry budget diagnostics to GCHP carbon HISTORY.rc - Added IUPAC names for Hg species in `run/shared/species_database.yml` - Added `gc_4x5_merra2_carbon_ch4_straddle_00utc` integraton test which runs across a UTC date boundary - Added statement to zero the `State_Diag%DryDepChm` array in routine `Zero_Diagnostics_StartOfTimestep` - Added clarifying comments in `flexgrid_read_met_mod.F90` for `TS` and `T2M` met fields - Added `&DSTbinproperties` and `&METALSproperties` YAML anchors in `run/shared/species_database.yml` - Added `DustL23M` as HEMCO extension 125 in `HEMCO_Config.rc.aerosol` and `HEMCO_Config.rc.fullchem` templates ### Changed - Replaced comments in template HEMCO configuration files directing users to obsolete wiki documentation with comments directing users to `hemco.readthedocs.io` - Updated `EmisOCS_Bioburn` to `EmisOCS_BiomassBurn` in both GCHP `HEMCO_Diagn.rc.carbon` and `HISTORY.rc.carbon` template files - Updated the ESMF version from 8.4.2 to 8.6.1 in sample environment file `gchp.gcc12_openmpi4_cannon_rocky.env` - Changed call to `Accept_External_Date_Time` to also pass the seconds value, in order to prevent a WRF-GC bug - Removed convective washout for default scheme but keep it for LUO_WETDEP - Adapted Luo2023 WetDep for GF convection - Updated timestep scaling for convective precipitation areal fraction - Wrapped tests for infinity/NaN in `#ifdef DEBUG` blocks in `DO_GF_CLOUD_CONVECTION` - Changed optional argument `Update_Mixing_Ratio` in subroutine `Airqnt` to False by default - Change GC-Classic call to `Airqnt` to only update mixing ratios if advection is turned off - Updated mass flux and courant number import scaling in GCHP for compatibility with horizontal flux regridding in MAPL 2.59 - Updated operational run script sample for WashU Compute1 - Update GCHP AWS EFA operational run script examples to avoid crashes over large core counts - Updated GFEIv3 files to correct issue in original version - Updated `download_data.py` for compatibility with 0.125 x 0.15625 grids plus all pre-defined nested-grids - Restructured `download_data.py` to avoid several instances of repeated code - Changed `read_restart_as_real8` from `false` to `true` in `geoschem_config.yml` for GC-Classic benchmark simulations - Changed the default setting of `read_restart_as_real8` from `false` to `true` in template file `geoschem_config.yml.TransportTracers` - Disable PARANOX extension when using GEOS-Chem Classic 0.25x0.3125 or 0.125x0.15625 grids - Commented out met-fields `PEDGEDRY`, `PFICU`, `PFILSAN`, `PFLCU`, and `PFLLSAN` by default in GC-Classic and GCHP carbon HISTORY.rc, and GC-Classic CH4 HISTORY.rc - Turned on Carbon collection in `HISTORY.rc` for carbon simulations by default - Consolidated Hg species metdata from `run/shared/species_database_hg.yml` into `run/shared/species_database.yml` - Updated `run/shared/download_data.yml` so that aerosol and fullchem simulations will get the restart file from `GEOSCHEM_RESTARTS/GC_14.7.0` - Updated `DST1/DST1/DST3/DST4` to `TDST/DSTbin1/DSTbin2/.../DSTbin7` in `geoschem_config.yml`, `HEMCO_Config.rc`, and `HEMCO_Diagn.rc` template files for aerosol & fullchem simulations - Updated routine `ExtState_SetFields` in `hco_interface_gc_mod.F90` for readability and clarity - Assigned `ExtState%TSKIN` from `State_Met%TS` and `ExtState%T2M` from `State_Met%T2M` in routine `ExtState_SetFields` - Updated dust mass tuning factors for the `DustL23M` extension in `run/GCClassic/createRunDir.sh` and `run/GCHP/setCommonRunSettings.sh.template` - Replaced `id_DST{1..4}` with `id_DSTbin{1..7}` in the `APMidtype` derived type and `APMIDS` object - Replace hardwired values with constant parameters in routine `Aerosol_Conc` (in `GeosCore/aerosol_mod.F90` - Updated species database so that dust species use the anchor `&DSTbin properties` and metals species use `&METALSproperties` - Updated call to `ExtData_Set` in `hco_gc_interface_mod.F90` to accept `ExtState%SNOMAS` - Upated sample carbon simulation restart file to output generated from 10-year simulation ### Fixed - Restored entries for TMB emissions in `HEMCO_Config.rc.fullchem` template files for GCClassic and GCHP - Moved `EmisOCS_Total` to the head of the `EmisOCS` diagnostic entries in the GCHP `HISTORY.rc.carbon` template file - Fixed OM/OC ratio for OCPO in SimpleSOA to be 1.4 instead of 2.1 - Fixed precipitation formation rate unit in Luo2023 convective washout - Fixed bug where species mass in restart file was not conserved in first timestep if run-time meteorology different from restart file meteorology - Fixed parallel errors in `convection_mod.F90` by setting `AER = . TRUE.` and `KIN = .TRUE.` before calling `WASHOUT` - Fixed Hg directional ocean flux diagnostics in the Hg simulation so that they equal net flux - Fixed error where `//` were not being changed to `/` in `download_data.py` - Change precision of area import from GCHP advection from `REAL*4` to native `REAL*8` - Fixed time-range and units for CH4 emission inventories to be consistent with the corresponding netCDF files in ExtData directory for `HEMCO_Config.rc` and `ExtData.rc` - Updated scaling factor ID at 3000 to avoid conflicts with CEDS_01x01 scaling factor enabled in carbon simulation for IMI analytical inversion - Fixed typos in `ind_` variable names in `KPP/carbon/carbon_Funcs.F90` - Fixed typo in GCHP operational run script for Harvard Cannon to properly retrieve the run duration string - Fixed bug in ObsPack to include instantaneously-sampled data whose timestamps are within 1/2 of a model timestep of the end of the day - Fixed out-of-bounds error in `carbon_gases_mod.F90` that is caused by refernencing `OHdiurnalFac` array when it is not defined - Updated routines `Init_State_Chm`, `Init_Mapping_Vectors`, and `MapProdLossSpecies`to accept `TaggedDiag_List` as an argument - Updated routine `MapProdLossSpecies` to test if prod/loss family species or wildcards are scheduled for diagnostic archival before populating mapping arrays - Fixed indexing error in routine `Grav_Settling` (in module `GeosCore/sulfate_mod.F90`), which caused incorrect dry deposition diagnostics for some species - Fixed incorrect met vertical flipping in GCHP for cases where advection and non-advection met are from different sources, e.g. raw versus processed - Fixed several inconsistencies in `species_database.yml` - Fixed typo in GEOS-FP settings file used in GCClassic run directory creation ### Removed - Removed entries for FINN v1.5 biomass burning emissions from template HEMCO configuration files - Removed `Is_Advected` tags from `run/shared/species_database*.yml` template files - Removed GCHP initialization of `State_Met` fields `TropLev`, `BxHeight`, and `DELP_DRY` from restart file values since over-written with values of current meteorology - Removed `OH_PosteriorSF` entry in carbon and CH4 HEMCO_Config.rc since never used - Retired the CO2, CH4, and tagCO simulations. These are now replaced by the carbon simulation, which can be used in joint or single-species mode. - Deleted `co2_mod.F90`, `global_ch4_mod.F90`, and `tagged_co_mod.F90` - Removed commented-out code for tagged Hg species in `state_diag_mod.F90` - Removed extraneous division by `TS_EMIS` in routine `Chem_H2O2` (located in `GeosCore/sulfate_mod.F90`) - Removed `run/shared/species_database_hg.yml` - Removed obsolete metadata for tagged Hg species from `run/shared/species_database.yml` - Removed code to zero `State_DiagDryDepMix` in `Compute_SFlx_For_Vdiff`; these are zeroed previously in `Zero_Diagnostics_StartOfTimestep` - Removed entries for `DustGinoux` and `DustDead` extensions from `HEMCO_Config.rc.aerosol` and `HEMCO_Config.rc.fullchem` templates - Removed `&DST{1,2,3,4}properties` in `run/shared/species_database.yml` - Removed references to `DustDead` and `DustGinoux` HEMCO extensios in template configuration files ## [14.6.3] - 2025-07-28 ### Added - Added error check to exclude sampling ObsPack observations located outside of a nested-grid domain - Added Grell-Freitas convection subroutine for post-GEOS-5.22 (GEOS-IT and GEOS-FP after June 2020) - Added GEOS-IT simulations to use offline emissions generated with GEOS-IT - Added meteorology-specific `OFFLINE_EMISSION_DIR` entries in shared directory for future use and backward compatibility - Added operational run script sample for AWS with EFA-enabled - Added operational run scripts for Harvard Cannon with Intel VTune commands - Added sample environment file for Harvard Cannon with GNU 14.2.0 compilers - Converted `F` in `DO_CONVECTION` from a variable to a pointer, for computational speedup - Changed OpenMP loop scheduling from `DYNAMIC` to `GUIDED` in routine `DO_CONVECTION` - Added `Diagn_APM` routine in `GeosCore/hcoi_gc_diagn_mod.F90` to restore HEMCO manual diagnostics for use w/ APM - Added hidden option to read GC-Classic restart file as real8 locally rather than real4 through HEMCO ### Changed - Updated logic to include ObsPack observations that span UTC date boundaries - Assigned ObsPack averaging interval end times (instead of start times) to the `aveEnd` variable in routine `ObsPack_Write_Output` - Optimized parallel loops in `AIRQNT` routine in `GeosCore/calc_met_mod.F90` - Optimized parallel loops in `VDIFF` routine in `GeosCore/vdiff_mod.F90` - Placed error checks for infinity or NaN in `DO_CONVECTION` in `#ifdef DEBUG` preprocessor blocks - Collapsed several parallel DO loops in `GeosCore/carbon_mod.F90` - Changed met guidance in run directory creation to remove beta for GEOS-IT, make GCHP mass fluxes beta, and improve GEOS-FP warning - Changed path to carbon, CH4, CO2 simulation restart files to `ExtData/GEOSCHEM_RESTARTS/v2025-07` in `download_data.yml` and the GCHP `createRunDir.sh` script ### Fixed - Added missing 3rd element in assigment of `Item%NcChunkSizes` in `History/histitem_mod.F90` - Removed extra unit conversion to mol/mol on 0th hour boundary conditions in `History/history_mod.F90` - Reordered code in `aerosol_mod.F90` and `gc_environment_mod.F90` so that aerosol optics file paths will be printed to the dry-run log file - Fixed wrong mass flux and Courant number import scaling for GCHP runs that read these fields from offline files - Corrected GCHP carbon HISTORY.rc entries for KPPdiags, RxnRates, and RxnConst collections ### Removed - Removed `#ifndef TOMAS` block at the start of the parallel loop in `DO_CONVECTION` - Removed redundant `IF/ELSE` statement in the 2nd parallel loop in routine `AIRQNT` - Removed redundant `ELSE` blocks in `DO_CONVECTION` - Removed redundant `units` variable in routine `AIRQNT` ## [14.6.2] - 2025-06-11 ### Added - Added MCHgMAP geogenic emissions (2010-2020) from Dastoor et al. (2025) - Added MCHgMAP biomass emissions (2010-2020, GFED and FINN) from Dastoor et al. (2025) - Added NCAR Derecho operational example environment file `geoschem.intel24.env` ### Changed - Modified `ObsPack/obspack_mod.F90` to use GEOS-Chem surface geopotential height (`PHIS`) for selecting model layer for comparison to obspack. - Updated NCAR Derecho run script to source the `geoschem.intel24.env` environment file ### Fixed - Restored unit convertion for boundary conditions from mol/mol to kg/kg dry air ### Fixed - Assigned ObsPack averaging interval end times (instead of start times) to the `aveEnd` variable in routine `ObsPack_Write_Output` - Fixed logic in `Obspack_Sample` to include observations whose averaging windows span a UTC date boundary ## [14.6.1] - 2025-05-27 ### Added - Added `#InvCEDSshipALK6`, `#InvCEDS_TMB`, and `#InvCEDSship_TMB` (commented out by default) to `HEMCO_Diagn*` and GCHP `HISTORY.rc.fullchem` files - Added `EmisOCs*` diagnostics to `run/GCHP/HEMCO_Diagn.rc.templates/HEMCO_Diagn.rc.carbon` (these were missing) - Added entry for GFAS methanol for ExtData - Added `RxnConst` and `RxnRates` History collections to `HISTORY.rc.carbon` and `HISTORY.rc.Hg` template files - Added routine `Hg_UpdateKppDiags` to update the `KppDiags` history diagnostic arrays in `mercury_mod.F90` - Added `rrtmg_radiative_transfer_model:aod_wavelength_in_nm` to the GCClassic `geoschem_config.yml.aerosol` template file - Added an error trap in routine `Init_Aerosol` to make sure at least 1 AOD wavelength is selected for fullchem or aerosol-only simulations - Added operational example run script for GEOS-Chem Classic on NCAR Derecho cluster - Added options to run GCHP using C720 mass fluxes or derived winds with 0.25x0.3125 processed files for other meteorology ### Changed - Updated GCHP template files `HEMCO_Diagn.rc.fullchem` and `HISTORY.rc.fullchem` so that the same emission diagnostics are requested in both - Changed `ALD2_PLANTDECAY` emissions category (for GEOS-Chem in NASA-GEOS ESM only) from 3 to 99 to not conflict with the anthropogenic transport sector - Abstracted diagnostic code out of `Chem_Carbon_Gases` and into PRIVATE subroutines in `GeosCore/carbon_gases_mod.F90` - Abstracted diagnostic code out of `ChemMercury` and into PRIVATE subroutines in `GeosCore/mercury_mod.F90` - Modified logic in `Init_State_Diag` so `KppDiags` diagnostic fields can be registered when using fullchem, Hg, or carbon mechanisms - Modified logic in `Init_State_Diag` so that `JValues` and `UVFlux` diagnostic fields can be registered when using fullchem or Hg simulations - Modified `Obspack_Read_Input` routine to look for `middle of the averaging interval` and `midpoint of the averaging interval` in the `time:comment` string - Wrapped several TOMAS print statements in `IF ( Input_Opt%Verbose )` blocks to avoid excessive printout when using GCHP-TOMAS - Changed GCHP recommended GEOS-IT options for meteorology from mass fluxes with raw C180 fields to 3hr winds with processed C180 fields. ### Fixed - Restored the `UVFlux` diagnostic collection to the GCHP `fullchem_alldiags` integration test - Fixed outdated path for GFED4 daily fraction - Fixed entries for GEOS-IT preprocessed cubed-sphere wind in GCHP - Fixed the `KppTime` diagnostic in `Chem_Carbon_Gases`; it was not being updated properly ### Removed - Removed unused run directory creation files for GCHP grid resolutions c24 and c48 - Fixed index-based access of hydrophobic and hydrophilic carbon species in TOMAS. - Fixed the `KppTime` diagnostic in `Chem_Carbon_Gases`; it was not being updated properly - Fixed a bug in GCClassic and GCHP integration test scripts that caused `KppTime` not to be commented out in `fullchem_alldiags` tests - Removed most entries under the `photolysis` section in `geoschem_config.yml.aerosol` template file, as the aerosol-only simulation doesn't call Cloud-J - Removed setting `DELP_DRY` to zero in `hco_utilities_gc_mod.F90` when not found in the restart file to avoid negative concentrations ## [14.6.0] - 2025-04-18 ### Added - Added CEDS 0.1 x 0.1 degree emissions (in `HEMCO/CEDS/v2024-06`) - Added met-field dependent dust tuning factors for GCHP C24 resolution in `setCommonRunSettings.sh`. Others to be added later. - Added placeholder values for dust mass tuning factors in `HEMCO_Config.rc.GEOS` - Added dust scale factors for MERRA-2, GEOS-IT, and GEOS-FP when using USTAR for Dust DEAD extension - Added utility subroutine `Print_Species_Min_Max_Sum` to `print_mod.F90` - Added routine `Set_DryDepVel_Diagnostics` to `hco_interface_gc_mod.F90` - Added dry-run integration tests for selected simulations - Added `State_Diag%SatDiagnPMid` and `State_Diag%Archive_SatDiagnPMid` to save pressure at level midpoints to the `SatDiagn` collection - Added option to run GCClassic nested-grid simulations at 0.125x0.15625 resolution using GEOS-FP derived winds fields generated from c720 mass fluxes archived by GMAO - Added option for South America (SA), Africa (AF), Middle East (ME), Oceania (OC), and Russia (RU) regions to nested-grid simulations in GCClassic's createRunDir.sh - Added updates for compatibility with the Beijing Climate Centre Earth System Model - Added `run/shared/rtd_species_by_simulation.py` script to generate tables of species for each simulation for ReadtheDocs ### Changed - Updated default CEDS from CEDSv2 (0.5 deg x 0.5 de) to new CEDS (0.1 deg x 0.1 deg) - Added the `KPP_INTEGRATOR_AUTOREDUCE` C-preprocessor switch integrator-specific handling - Added code to `KPP/*/CMakeLists.txt` to read the integrator name from the `*.kpp` file - Replaced `GOTO` statements with `IF/THEN/ELSE` blocks in `GeosCore/drydep_mod.F90` - Changed several diagnostic subroutines to expect species concentrations in mol/mol rather than kg/kg - Added precision when registering `State_Met` and `State_Chm` arrays to change output file precision to match precision in the model - Changed GEOS-Chem Classic restart file precision of species concentrations (`State_Chm%SpcRestart`) from `REAL*4` to `REAL*8` to match precision in the model - Moved GEOS-Chem Classic retrieval of restart variable DELPDRY from HEMCO to `GC_Get_Restart` for consistency with handling of all other restart variables - Moved dry dep velocity diagnostic outputs for sea flux and satellite diagnostic species into the `DryDep` collection - Moved computation of the `DryDepVelForAlt1` diagnostic into routine `Set_DryDepVel_Diagnostics` - Updated `run/shared/download_data.yml` to use `--no-sign-request` for S3 downloads via anonymous login - Changed `KPP/CMakeLists.txt` to not call `add_directory(standalone)` unless we have configured with `-DKPPSA=y` - Moved Cloud-J and Fast-JX input directories to Cloud-J and new Fast-JX menus respectively in `geoschem_config.yml` - Updated photolysis and aerosol optics input directories to use new mineral dust values in `FJX_scat-aer.dat` and `dust.dat` based on spheroidal shapes - Set `State_Diag%Archive_SatDiagn` to true if `State_Diag%Archive_SatDiagnPMID` is true - Updated `RxnRates` and `RxnConst` diagnostic fields to use 4-digit reaction numbers. - Rebuilt `fullchem`, `Hg`, `carbon` chemical mechanisms with KPP 3.2.0 - Changed the minimum KPP version to 3.2.0 - Disabled the `KppTime` diagnostic output in the `fullchem_alldiags` integration tests; this will vary from run to run causing difference tests to fail - Updated the `KPP-Standalone` for compatibility with KPP 3.2.0 and to write the proper number of header lines to skip before data begins - Set `use_archived_PCO_from_CH4` and `use_archived_PCO2_from_CO2` to true by default for carbon simulations - Updated CH4 global oil, gas, and coal emissions from GFEIv2 to GFEIv3 - Changed GCHPctmEnv and DYNAMICS diagnostic names in GCHP to include suffix '_R4' ### Fixed - Fixed PDOWN definition to lower rather than upper edge - Moved where prescribed CH4 is applied in GEOS-Chem Classic to after emissions application so that updated PBL heights are used - Moved species concentration unit conversions between mol/mol and kg/kg to start and end of every timestep in GEOS-Chem Classic to remove differences introduced when reading and writing restart files - Fixed bug in restart file entry for `ORVCSESQ` in GEOS-Chem Classic fullchem HEMCO_Config.rc that resulted in initializing to all zeros - Fixed parallelization issue when computing `State_Chm%DryDepNitrogren` used in HEMCO soil NOx extension - Fixed bugs in column mass array affecting budget diagnostics for fixed level and PBL - Updated `SatDiagnColEmis` and `SatDiagnSurfFlux` arrays in `hco_interface_gc_mod.F90`, with `(I,J,S)` instead of `(:,:,S)` - Fixed incorrect description metadata for `FluxHg0FromAirToOcean` and `FluxHg0FromOceanToAir` diagnostics - Placed call to `Convert_Spc_Units` in `main.F90` within an `IF ( notDryrun )` block to avoid executing unit conversions in dryrun simulations - Modified CH4 reservoir timestamps in HEMCO_Config.rc to use months 1-12 to ensure HEMCO recalculates those fields monthly and properly applies the seasonal mask - Fixed path error `download_data.py` when downloading from `geoschem+http` or `nested+http` portals - Retrieve UV flux arrays from Cloud-J used to set UV flux diagnostics - Fixed issue in `download_data.py` that was adding an extra `ExtData` to file paths - Restored `UVFlux` diagnostic output in the `fullchem_alldiags` integration test - Restored convection and ConvertBox unit conversion parallelization to how it was prior to 14.4.0 to fix slowness in TOMAS simulations - Modified the carbon mechanism in KPP to separate tropospheric CH4 loss by OH from CO production by CH4 to remove dependency of CH4 and CO on each other and eliminate differences between CH4/tagCO simulations and the carbon simulation - Renamed several dummy species in the carbon mechanism for clarity - Fixed precision calculations within `co2_mod.F90` and `tagged_co_mod.F90` to eliminate differences with the carbon simulation - Fixed simulation date information printed by metrics.py for GCHP ### Removed - Removed `CEDSv2`, `CEDS_GBDMAPS`, `CEDS_GBDMAPSbyFuelType` emissions entries from HEMCO and ExtData template files - Removed re-evaporation requirement for washout - Removed unused level argument passed to `SOIL_DRYDEP` and `SOIL_WETDEP` - Removed Fast-JX input directory from geoschem_config.yml files except for Hg simulation - Removed `History` attribute from ObsPack output netCDF files; the date info was causing difference tests to fail - Removed unused diagnostics: `Tomas_H2SO4`, `Tomas_COAG`, `Tomas_NUCL`, `Tomas_AQOX`, `Tomas_MNFIX`, `Tomas_SOA` - Removed diurnal cycle factor applied to OH in `KPP/carbon/carbon_Funcs.F90` to eliminate differences between CH4 and carbon simulations. - Removed diurbal cycle factor applied to OH in tagCO simulation for consistency with other carbon species - Removed unused functions from `carbon_get_CO2fromOH_flux` and `carbon_get_FixedOH_Flux` from `KPP/carbon/carbon_Funcs.F90` ## [14.5.3] - 2025-03-04 ### Changed - Changed CESM `HEMCO_Config.rc` to read 3D AEIC emissions every timestep to avoid differences upon restart ## [14.5.2] - 2025-02-12 ### Added - Implemented the Global Rice Patty Inventory (GRPI) for CH4 and carbon simulations to replace EDGAR rice emissions - Added run directory creation for processed cubed-sphere GEOS-IT meteorology - Added GC-Classic and GCHP environment files, build scripts, and run scripts for MSU Orion cluster ### Changed - Updated GC-Classic and GCHP environment files, build scripts, and run scripts for NASA discover cluster - Updated rundir scripts to ask for confirmation before building the KPP-Standalone executable - Updated rundir scripts to print a reminder to compile with `-DKPPSA=y` to build the KPP-Standalone executable - Updated `integrationTestCreate.sh` and `parallelTestCreate.sh` scripts to decline building the KPP-Standalone. ### Fixed - Fixed GCHP refresh time for `CO2_WEEKLY` scale factors so updated daily - Fixed bug in GCHP GEOS-IT run directory using raw lat-lon fields on NASA discover cluster ## [14.5.1] - 2025-01-10 ### Added - Added allocate guards for arrays in `pressure_mod` - Added `State_Diag%SatDiagnEdgeCount` counter for the `SatDiagnEdge` collection - Added `State_Diag%Archive_SatDiagnEdgeCount` field - Added `State_Diag%Archive_SatDiagnEdge` field - Added routine `SatDiagn_or_SatDiagnEdge` in `History/history_utils_mod.F90` - Added error trap in `History/history_mod.F90` to ensure that collection duration is always shorter than frequency - Added KPP standalone interface (archives model state to selected locations) - Added `https://github/geoschem/KPP-Standalone` as a Git submodule - Added comments in `./run/sharedcleanRunDir.sh` describing the `--force` option (i.e. remove files w/o user confirmation) - Specified meteorology source in GCHP geoschem_config.yml - Added Input_Opt logical for whether to reconstruct convective precipitation fluxes rather than use met-fields - Added to run directory creation a warning about convection discontinuity and bug if GEOS-FP meteorology is chosen - Added surface precipitation flux fields as inputs to GCHP - Added Australian Hg emissions for 2000-2019 from MacFarlane et. al. [2022], plus corresponding mask file - Added comments in GEOS-Chem Classic `HISTORY.rc` template files advising users not to change the `BoundaryConditions.frequency` setting - Added `.zenodo.json` for auto-DOI generation upon version releases ### Changed - Renamed `Emiss_Carbon_Gases` to `CO2_Production` in `carbon_gases_mod.F90` - Updated start date and restart file for CO2 and tagCO simulations for consistency with carbon simulations - Allocated `State_Diag%SatDiagnPEDGE` ffield with vertical dimension `State_Grid%NZ+1` - Modified `run/GCClassic/cleanRunDir.sh` to skip removing bpch files, as well as now removing `fort.*` and `OutputDir/*.txt` files - Edited `run/shared/kpp_standalone_interface.yml` to include additional entries under `active cells` and `locations` - Changed doing Linoz and Linearized chemistry messages to print only if verbose - Updated HEMCO subroutine calls for error and log handling changes in HEMCO 3.9.1 - Updated configuration files for using GEOS-Chem 14.5 in CESM - Modified tagCO simulation to use GFED4 biomass burning emissions and GEOS-Chem v5 OH fields for consistency with carbon simulation - Changed integration tests to use Harvard Cannon GNU 12 environment files by default ### Fixed - Added a fix to skip the call to KPP when only CO2 is defined in the carbon simulation - Added fix to turn on ship emissions for CO2 in the carbon simulation - Updated `HEMCO_Config.rc` for carbon simulation to read data based on carbon species used - Fixed entries for CO2 emissions in `ExtData.rc.carbon` - Fixed metals simulation name in config file template comments - Fixed bug in `download_data.py` which caused script to fail if log filename contained uppercase characters. - Fixed the satellite diagnostics counters from being inadvertently being reset - Fixed segmentation fault in qfyaml when running with certain compilers without debug flags on - Fixed errors in adjoint-only code preventing successful adjoint build - Fixed zero convective precipitation and high cloud base in runs using GEOS-FP (>=01Jun2020) or GEOS-IT - Updated GEOS-only code and configuration files for compatibility with GEOS-Chem 14.5 - Fixed missing Is_Advected for TMB in species_database.yml - Fixed typos in `HEMCO_Config.rc` for CH4 simulations causing mobile combustion emissions to be double counted - Fixed handling of FIRST flag in carbon_gases_mod.F to limit log prints to first timestep only - Removed extraneous pressure correction in GCHP carbon simulations by adding 'activate: true' to geoschem_config.yml - Fixed bug in GC-Classic OCS emissions where unit conversion of km2 to m2 occurred twice - Changed dimension of EmisOCS_Total from 3D to 2D since all emissions for all sectors are 2D - Added fixes to only apply archived PCO_CH4 field for carbon simulations with CO only - Reverted CH4 livestock emissions to EDGAR v7 to avoid hotspots and to apply seasonality ### Removed - Removed duplicate `WD_RetFactor` tag for HgClHO2 in `species_database.yml` - Removed error messages in HEMCO interface pointing users to HEMCO log - Removed unused RUNDIR settings for GCHP pressure units and scaling ## [14.5.0] - 2024-11-07 ### Added - Added vectors `State_Chm%KPP_AbsTol` and `State_Chm%KPP_RelTol` - Added setting `KPP_AbsTol` to 1e5 for dummy species in `species_database.yml` and `species_database_hg.yml` - Implemented PPN photolysis from Horner et al (2024) - Added four new species ALK4N1, ALK4N2, ALK4O2, and ALK4P to address issues in ALK4 and R4N2 chemistry following Brewer et al. (2023, JGR) - Added new species ALK4N1 and ALK4N2 to Ox family in KPP - Added Cloud-J input parameters to geoschem_config.yml in new photolysis sub-menu called cloud-j - Added computation of water concentration to use in photolysis for application of UV absorption by water in Cloud-J v8 - Added ACO3, ACR, ACRO2, ALK4N{1,2,O}2, ALK4P, ALK6, APAN, APINN, APINO2, APINP, AROCMCHO, AROMCO3, AROMPN, BPINN, BPINO2, BPINON, BPINOO2, BPINOOH, BPINP, BUTN, BUTO2, C4H6, C96N, C96O2, C9602H, EBZ, GCO3, HACTA, LIMAL, LIMKB, LIMKET, LIMKO2, LIMN, LIMNB, LIMO2H, LIMO3, LIMO3H, LIMPAN, MEKCO3, MEKPN, MYRCO, PHAN, PIN, PINAL, PINO3, PINONIC, PINPAN, R7N{1,2}, R7O2, R7P, RNO3, STYR, TLFUO2, TLFUONE, TMB, ZRO2 to `species_database.yml` following Travis et al. 2024 - Added TSOIL1 field to `State_Met` for use in HEMCO soil NOx extension. This should only be read in when the `UseSoilTemperature` option is true in HEMCO config ### Changed - Copied values from `State_Chm%KPP_AbsTol` to `ATOL` and `State_Chm%KPP_RelTol` to `RTOL` for fullchem and Hg simulations - Introduced seasalt Ca, K, Mg back to aerosol thermodynamics via HETP. - Updated `HEMCO_Config.rc.fullchem` (GCClassic + GCHP) and `ExtData.rc` to add emissons of new species from Travis et al 2023 - Activated the `DryDep` collection for GCClassic & GCHP fullchem benchmarks - Reduced the GCHP `DryDep` collection to only the necessary species for benchmarks - Removed unused `VDIFFAR` routine from `vdiff_mod.F90` - Updated MW for CH4 and OH in `global_ch4_mod.F90` - Added fix to not convert from kg/kg to mol/mol before passing State_Chm to PBL mixing in `vdiff_mod.F90` - Updated GC-Classic and GCHP run scripts and environment files for NASA discover cluster - Updated `GFED4_Climatology` entries to point to the climatology file for 2010-2023 - Moved aerosol optical properties files to a new data directory specified in geoschem_config.yml rather than specifying in photolysis input files - Moved calls to `RD_AOD` and `CALC_AOD` from `Init_Aerosol` rather than `Init_Photolysis` - Updated ResME CH4 reservoir emissions to apply seasonality via mask file - Changed fullchem restart file folder from `GC_14.3.0` to `GC_14.5.0` - Excluded HEMCO interface and ExtState fields from `MODEL_CESM` in `hco_interface_gc_mod.F90` for compatibility with CESM, which runs HEMCO separately ### Fixed - Simplified SOA representations and fixed related AOD and TotalOA/OC calculations in benchmark - Changed mass conservation adjustment in `vdiff_mod.F90` to use a mass tendency with units of `kg species/kg dry air` - Converted the top pressure edge from hPa to Pa in `vdiff_mod.F90` - Updated `Jval_` entries in `run/GCHP/HISTORY.rc.templates/HISTORY.rc.fullchem` - Updated species database Is_Photolysis entries to remove J-value diagnostics with all zeros in full chemistry simulation - Removed EDGAR8_CH4_AWB emissions from CH4 and carbon simulations to avoid double counting with GFED - Fixed formatting error in `.github/workflows/stale.yml` that caused the Mark Stale Issues action not to run - Fixed emissions in GCHP carbon ExtData.rc so that data in molecules/cm2/s are converted to kg/m2/s ### Removed - Removed dry-run checks for files that are no longer needed for Cloud-J v8 from `cldj_interface_mod.F90` ## [14.4.3] - 2024-08-13 ### Added - Added tropopause pressure field in the satellite diagnostic (by @eamarais) - Added ModelEe.2 (GCAP 2.0) simulation to integration tests for GCClassic - Added simulation with all diagnostics on in HISTORY.rc to integration tests for GCClassic (including Planeflight + ObsPack) and GCHP - Added descriptive error message in `Interfaces/GCHP/gchp_historyexportsmod.F90` - Auto-update GCHP HEMCO_Diagn.rc settings at run-time to ensure seasalt, dust, soil NOx, and biogenic emissions match settings in HEMCO_Config.rc ### Fixed - Added brackets around `exempt-issue-labels` list in `.github/workflows/stale.yml` ### Removed - Removed `XNUMOL_H2O2 / CM3PERM3` in routine `Chem_H2O2`, which removes an unnecessary unit conversion for the aerosol-only simulation ## [14.4.2] - 2024-07-24 ### Added - Added number of levels with clouds for photolysis to geoschem_config.yml and Input_Opt to pass to Cloud-J - Added `State_Grid%CPU_Subdomain_ID` and `State_Grid%CPU_Subdomain_FirstID` as "identifier numbers" for multiple instances of GEOS-Chem on one core in WRF and CESM - Added transport tracer run directory option for global half-degree GC-Classic run with GEOS-IT 0.5x0.625 fields ### Changed - Now reset `State_Diag%SatDiagnCount` to zero in routine`History_Write` (instead of in `History_Netcdf_Write`) - Update rundir creation scripts to turn off the MEGAN extension for "standard" fullchem simulations - Updated emissions used in CESM to match standard emissions used in the 14.4 offline model - Disable support For FAST-JX for all simulations except Hg - Only read photolysis data in `Init_Photolysis` in first instance of GEOS-Chem on each PET in CESM as PIO requires it - Replace calls to `GEOS_CHEM_STOP` with calls to `GC_Error` in `planeflight_mod.F90` - Script `test/integration/GCHP/integrationTestExecute.sh` now resets `cap_restart` time to `000000`, to facilitate manual restart ### Fixed - In `Headers/roundoff_mod.F90`, first cast and then only round off if `places > 0` - Typo in `setCommonRunSettings.sh` that made GCHP always choose mass fluxes for meteorology - Fixed bug in # levels with cloud used in photolysis when using GCAP met or CESM - Fixed typos for `SatDiagnEdge` collection in `HISTORY.rc` templates - The `SatDiagnOH` diagnostic now works for the carbon simulation - Restored missing fields for `UVFlux` collection in `run/GCClassic/HISTORY.rc.templates/HISTORY.rc.fullchem` - Comment out `UVFlux` diagnostic in the "alldiags" integration test, there is a floating point error. Look at this later. - Now use SO4 instead of O3 in the GCHP fullchem budget diagnostic (SO4 is soluble, O3 is not) - Convert `UVFlux_Tag_Names` to uppercase in the comparison in `Get_UVFlux_Bin`(located in`Headers/state_diag_mod.F90`) - Fixed typo (missing `_` character) in GCHP `DryDep` collection diagnostic entries - Commented out with `###` emissions diagnostics in the GCHP `HISTORY.rc.fullchem` template that are not present in the corresponding `HEMCO_DIAGN.rc` template ### Removed - Entry `SatDiagnPEDGE` from the `SatDiagn` collection; This needs to go into the `SatDiagnEdge` collection. ## [14.4.1] - 2024-06-28 ### Added - Added initialization of PHOTDELTA in `ucx_h2so4phot` to avoid run-time error in CESM - Added Cloud-J status output and error handling for it ### Changed - Alphabetically sort Complex SOA species into `geoschem_config.yml` in run directory creation - Use hard-coded years for met fields and BC files in `HEMCO_Config.rc` so they are not read hourly - Updated `run/CESM` with alphabetical sorting of species in `geoschem_config.yml` - Added clarifying comments in GCHP configuration files for several settings, particularly related to domain decomposition, mass fluxes, and stretched grid - Added pre-run GCHP configuration checks to `setCommonRunSettings.sh` related to domain decomposition, mass fluxes, and stretched grid. - Changed search criteria for GCHP auto-update of met-field refresh frequency to not rely on presence of `MetDir` symlink in `ExtData.rc` file path ### Fixed - Fixed formatting error in `.github/workflows/stale.yml` that caused the Mark Stale Issues action not to run - Fixed typo `$GCAPVERTRESL` -> `$GCAPVERTRES` in `HEMCO_Config.rc.fullchem` template file - Fixed GCHP `ExtData.rc` entry for lightning climatology files ### Removed - Removed `BudgetWetDep*` entries from simulations with no soluble species in `HISTORY.rc` templates - Disabled `run/CESM` ParaNOx extension by default in `HEMCO_Config.rc` - Removed MPI broadcasts in CESM-only UCX code; MPI broadcast done at coupler level - Remove enabling O-server in GCHP for high core counts ### Fixed - In `Headers/roundoff_mod.F90`, first cast and then only round off if `places > 0` ## [14.4.0] - 2024-05-30 ### Added - Added `SpcConc%Units` for species-specific unit conversion - Diel and day-of-week scale factors for CEDS global base emissions - `Input_Opt%Satellite_CH4_Columns` logical flag; Set this to true if any of AIRS, GOSAT, TCCON observational operators are selected - Add explicit handling of gravitational settling and hygroscopic growth in dry deposition - Added CO2, CO, and OCS single-tracer carbon simulations to the integration tests - Added missing entry in `HEMCO_Config.rc` for natural gas postmeter CH4 emissions in GHGIv2 Express Extension - Added tagged species capability and PM25nit and PM25nh4 diagnostics for GEOS runs - Added `real*4` diagnostics for State_Met logical masks IsWater, IsLand, IsIce, and IsSnow - New parameterization for effective radius of SNA/OM aersols (see PR #2236) - New `CHEM_INPUTS/FAST_JX/v2024-05` and `CHEM_INPUTS/FAST_JX/v2024-05-Hg` folders with updated `org.dat` and `so4.dat` files - Added global continental chlorine (pCl and HCl) emissions - Extended GFED4 emissions through the end of 2023 - Added a parameterization for dry aerosol size (Rg) for SNA and OM aerosols. Updated AOD calculation reflecting varying aerosol size. ### Changed - Updated routines in `GeosUtil/unitconv_mod.F90` for species-specific unit conversion - Halt timers during calls to `Convert_Spc_Units` so as to time unit conversions separately - Streamline `IF` statements for CH4 observational operators in `Interfaces/GCClassic/main.F90` - Disable parallel loop in `Do_Convection` when using TOMAS; it causes unit conversion issues. Revisit later. - Add explicit handling of gravitational settling and hygroscopic growth in dry deposition - Added CO2, CO, and OCS single-tracer carbon simulations to the integration tests - GitHub Action config file `.github/workflows/stale.yml`, which replaces StaleBot - Switch from fixed to monthly timezones, which account for daylight savings time more accurately when computing emissions - Updated NOAA GMD surface CH4 boundary conditions through 2022 - Rename `NITs_Jscale_JHNO3` to `NITs_Jscale` and `NIT_Jscale_JHNO2` to `NIT_Jscale` in `geoschem_config.yml` templates - Updated volcano emissions from GMAO v202005 product to v202401 which extends to the end of 2024 - Use local scale height and level thickness to determine the PBL to determine the PBL top level and PBL pressure thickness - Update drydep mean diameters of aerosols to account for size distribution - Corrected the formula for 1st order heterogeneous chemical loss on stratospheric aerosol for NO2, NO3, and VOC. - Fixed incorrect time refresh entries and other errors in `run/GCHP/ExtData.rc.templates/ExtData.rc.carbon` - Changed time range entries in HEMCO_Config.rc for met, restart, and BC files to use year, month, and day tokens instead of hardcoded range - Renamed `State_Met%FRSNO` and `State_Met%FRLANDIC` to `State_Met%FRSNOW` and `State_Met%FRLANDICE` - Renamed isorropiaII_mod.F90 to aerosol_thermodynamics_mod.F90 - Changed aerosol thermodynamics scheme from ISORROPIA II to HETP for fullchem and APM - Changed input data paths in `run/GEOS` directory to match location change on NASA discover cluster - Use new mask files at 0.1 x 0.1 degree resoluiton for CH4/tagCH4/carbon simulations to avoid I/O bottlenecks - Update config files for CH4/carbon simulations to avoid reading the same variable multiple times - Converted Github issue templates to issue forms using YAML definition files ### Fixed - Corrected the formula for 1st order heterogeneous chemical loss on stratospheric aerosol for NO2, NO3, and VOC. - Use rate-law function `GCARR_ac` for rxns that have Arrhenius `B` parameters that are zero - Now use correct index `WEAEROSOL(I,J,L,2+NDUST)` in routine `Settle_Strat_Aer` of `GeosCore/ucx_mod.F90` - Now get density of BCPI species from the species database in `ucx_mod.F90` - Fix issues that prevented single-species carbon simulations from running in GCHP - Update `HEMCO_Config.rc.carbon` and `ExtData.rc.carbon` templates for consistency - Updated several emissions files for CO and CH4 for COARDS and MAPL compliance - Fixed several issues in GCHP single-species carbon simulation setup scripts - Corrected the formula for 1st order heterogeneous chemical loss on stratospheric aerosol for NO2, NO3, and VOC. - Corrected the formula for 1st order heterogeneous chemical loss on stratospheric aerosol for NO2, NO3, and VOC. - Change restart file time cycle flag from `EFYO` to `CYS` for TOMAS simulations to avoid missing species error. - Now define `REEVAPSO2` in wetscav_mod when units are kg species; this avoids floating-point errors. - Fixed `State_Met%FRSNO` to be fraction of grid box with snow rather than fraction of land with snow - Fixed variable definitions in the `DryDep` collection of `run/GCHP/HISTORY.rc.templates/HISTORY.rc.fullchem` ### Removed - Legacy binary punch diagnostic code contained within `#ifdef BPCH_DIAG` blocks - `IU_BPCH` logical file unit (in `GeosUtil/file_mod.F90`) - Removed tagged CH4 and CO species handling from `carbon_gases_mod.F90` - GitHub config files `.github/stale.yml` and `.github/no-response.yml` - Unused CO2 and carbon simulation options from `geoschem_config.yml` (and from related code in co2_mod.F90). - Removed ISORROPIA - Removed `Begin` array in do_fullchem (declared but not used) - Removed tagCH4 simulation as option - Removed `--request-payer requester` from `run/shared/download_data.py`; the `s3://gcgrid` data is open-source ## [14.3.1] - 2024-04-02 ### Added - Added operational run scripts for the Imperial College London (ICL) cluster - Added new vertical region option to budget diagnostic for fixed bottom and top levels - Added GEOS-IT processed lat-lon fields as a valid option when creating GCHP run directories - Functions `charArr2str` and `str2CharArr` in `Headers/charpak_mod.F90` - Field `State_Diag%Obspack_CharArray` as a 2-D character array - Added util folder in run/CESM to include .cdl file used to generate CESM NetCDF input file for deposition - Add GCClassic operational example environment files for Harvard Cannon - Added new GCHP history collections for advection diagnostics - Added slash in front of names of LUT files read into `photolysis_mod.F90` to avoid needing it in path ### Changed - Updated Harvard Cannon operational run scripts to use `huce_cascade` instead of `huce_intel`; also added `sapphire` - Changed exponent 'e' to 'd' for one entry in KPP to prevent precision error in external models - Changed GCHP sample run scripts to not print script execution commands to log - Changed offline emissions grid resolution templates in config files to be more descriptive - Read `obspack_id` from netCDF files into a character array, then convert to string - Add `#SBATCH -c 1` to GCHP integration test scripts and sample run scripts for Harvard Cannon - In GCC/GCHP integration tests, passing `-s none` will run compile-only tests. Query user to proceed or to exit. - GCC/GCHP integration tests will exit immediately if `scheduler` is omitted. - Now use `raw` instead of `native` in GCHP run directory scripts & templates - Rename env var `RUNDIR_METLIGHTNING_DIR_NATIVE` to `RUNDIR_METLIGHTNING_DIR` - Rename env var `RUNDIR_METLIGHTNING_NATIVE_RES` to `RUNDIR_METLIGHTNING_RES` - Updated config files used in CESM from GEOS-Chem 14.1 to 14.3 - Don't create run directories for integration/parallel tests if invoked with `-t compile` - Refactor integration and parallel test scripts to reduce the number of input arguments - Copy utility scripts that allow you to resubmit failed to integration and parallel test root directories - Update GCHP operational example environment files for Harvard Cannon - Do not run GCClassic integration test compile jobs in the background - Updated integration tests to pass quick option to compile scripts - Removed emissions handling from `global_ch4_mod.F90` and `carbon_gases_mod.F90` and instead apply scale factors to emissions directly in `HEMCO_Config.rc` - Loop over advected species CH4 chemistry routines to allow for multiple CH4 tracers within analytical inversion framework - Updated CH4 global anthropogenic emission inventory from EDGARv7 to EDGARv8 ### Fixed - Fixed unit conversions in GEOS-only code - Fixed GEOS-IT native lat-lon filenames used for clusters other than discover - Fixed offline emission paths set when using GEOS-IT meteorology - Fixed format issue in input_mod RRTMG print statement caught by some compilers - Fixed GEOS-IT SLP and TROPP scaling in pre-processed files used in GCHP - Fixed reading of NEI emissions through HEMCO - Fixed incorrect units metadata for `State_Met%PHIS` - Fixed bug in transport tracer ST80 mask criteria which prevented mask from ever being zero ### Removed - Removed MPI broadcasts in CESM-only photolysis code; will read on all cores - Removed `State_Chm%CH4_EMIS` ## [14.3.0] - 2024-02-07 ### Added - Added capability for TOMAS simulations in GCHP - Added State_Chm%nTomasBins to replace hardcoded bins in TOMAS diagnostics - Added interface to Cloud-J package for computing photolysis rates - Added compile-time option FASTJX to use legacy Fast-JX photolysis instead of Cloud-J - Added new diagnostics OD600 and TCOD600 for 600 nm optical depths (per-level and total column) used for computing J-values in either Fast-JX or Cloud-J - Added GEOS-IT as meteorology option and labeled as beta during run directory creation until full inventory and offline emissions are available. - Added support for running GEOS-Chem on the NASA discover cluster - Added inclusion of c30 restart file in GCHP run directories since c24 and c48 not supported when using GEOS-IT meteorology - Added automatic updating of GCHP lightning climatology in ExtData.rc based on settings in HEMCO_Config.rc - Added two new diagnostics to track number of negative concentrations after first and last KPP integration - Added capability of running GEOS-Chem transport tracer simulation within the GEOS model - Added radiative forcing contributions due to trop-only ozone, CFCs, water vapor, N2O, CO2 and changes in stratosphere to RRTMG - Added computation of radiative forcing at the tropopause to RRTMG - Added option to compute stratospherically-adjusted radiative forcing at the tropopause using RK4 time marching integration with fixed dynamical heating approximation (FDH) - Added experimental option to apply seasonally-evolving fixed dyanmical heating approximation in RRTMG ### Changed - Updated fullchem mechanism following JPL/IUPAC. See `KPP/fullchem/CHANGELOG_fullchem.md` for details. - Reorganized GCHP run directory creation prompts for GEOS-FP native meteorology input - Converted TOMAS bpch diagnostics to netCDF - Now read the Hg restart file from `ExtData/GEOSCHEM_RESTARTS/v2023-12` - Increse requested time limits in GCHP integration tests (compile 2h30m, run 5h) - Changed CO2 concentration used in RRTMG to be modifiable in geoschem_config.yml - Changed water vapor used in RRTMG to match to tracer field at all altitudes - Updated restart file path for GCHP TOMAS simulations - Look for fullchem restarts in the `GEOSCHEM_RESTARTS/GC_14.3.0` folder - Look for fullchem/aerosol boundary conditions in the `HEMCO/SAMPLE_BCs/GC_14.3.0/fullchem` folder ### Fixed - Fixed bug in stratospheric aerosols optical depths passed to Fast-JX - Restored consideration of both isSnow and isIce in dry deposition - Fixed calculation of `FRLAND_NOSNO_NOICE` in `calc_met_mod.F90` - Added missing units in comments of `KPP/fullchem/commonIncludeVars.H` - Use run directory (not absolute path) to determine the executable file name in integration & parallel tests. - Fixed memory leaks in `State_Chm%AerMass` and `State_Chm%Phot` containers - Fixed incorrect time-avaging in RRTMG diagnostics wheres zeros included prior to first RRTMG call - Added fix for runaway HMS chemistry. See `KPP/fullchem/CHANGELOG_fullchem.md` for details. ### Removed - Removed references to unused met-fields RADLWG and LWGNT - Removed inclusion of c360 restart file in GCHP run directories - Reduced timers saved out to essential list used for benchmarking model performance - Removed `State_Chm%Spc_Units`; this is now superseded by `State_Chm%Species(:)%Units` ## [14.2.3] - 2023-12-01 ### Added - GEOS-Chem Classic rundir script `run/GCClassic/setupForRestarts.sh` ### Changed - Added the `-n` aka `--no-bootstrap` option to integration tests to disable bootstrapping missing species in restart files - Use integer parameters for species units instead of strings (for computational efficiency) - Update error message for missing surface CH4 emissions with instructions on how to resolve the problem - Change GCHP grid resolution threshold for lowering timesteps from C180 inclusive to C180 exclusive - Read GEOS-Chem Classic restart file paths from the relevant `download_data.yml` file - Moved aerosol_mod module variables to new State_Chm container called AerMass ### Fixed - Prevent `POAEMISS` from being assigned a value if not allocated (in `carbon_mod.F90`) - Changed incorrect comment about static H2O option in `GeosCore/input_mod.F90` - Fixed typos (`GCClassic` -> `GCHP`) written to GCHP integration test log files - Add fix to properly read GHGI v2 express extension emissions in CH4 and carbon simulations - Move OH perturbation scale factor to outside EMISSIONS logical bracket in HEMCO_Config.rc files for CH4 and carbon simulations ### Removed - Remove definition of METDIR from primary `HEMCO_Config.rc` files to ensure use of the definition in the `HEMCO_Config.rc.*_metfields` files - Removed `State_Chm%Spc_Units` ## [14.2.2] - 2023-10-23 ### Changed - Updated sample restart files for fullchem and TransportTracers simulations to files saved out from the 14.2.0 1-year benchmarks ## [14.2.1] - 2023-10-10 ### Added - Script `test/difference/diffTest.sh`, checks 2 different integration tests for differences - Added GCHP environment file and export/unset env variables in run script for NASA Pleiades cluster `SatDiagnEdge` collection to all GEOS-Chem Classic `HISTORY.rc` templates - Added new GCHP config file ESMF.rc for configuring ESMF logging - Added several new run directory files for use with GEOS-Chem in GEOS - GCClassic integration tests now display proper commit info in `results.compile.log` - Stopped OCEAN_CONC from needlessly being pushed through vertical regridding for Hg simulations - Added warning in GCHP HISTORY.rc about outputting area-dependent variables on custom grids - Added option to use a single advected species in the carbon simulation - Added option to perturb CH4 boundary conditions in CH4 simulation - Added option to perturb OH in CH4 simulation using scale factor in HEMCO_Config.rc ### Changed - Update `DiagnFreq` in GCClassic integration tests to ensure HEMCO diagnostic output - Rename restart files in GCHP integration tests (as we do in non-test runs) - Request 6 hours of execution time for GEOS-Chem Classic integration tests - Invert directory structure where integration and parallel test scripts are stored - Error check to stop run if any `MW_g` values are undefined - Explicitly define tagCH4 simulations in `Input_Opt` rather than basing off of number of advected species - The `fullchem` mechanism must now be built with KPP 3.0.0 or later - Changed the AEIC 2019 monthly climatology specification format in ExtData.rc to match standard convention for climatology - Changed default ESMF logging in GCHP to be ESMF_LOGKIND_NONE (no log) - NetCDF utilities in `NcdfUtil` folder now use the netCDF-F90 API - GEOS-only updates for running GEOS-Chem in GEOS - Boundary conditions for nested-grid simulations are now imposed at every time step instead of 3-hourly - Update `GeosCore/carbon_gases_mod.F90` for consistency with config file updates in PR #1916 - Update MPI usage in CESM-only code to match new conventions in CAM - Updated GEPA inventory to GHGI v2 for CH4 and carbon simulations - Updated integration tests scripts to run on the WashU Compute1 cluster ### Fixed - Add missing mol wt for HgBrO in `run/shared/species_database_hg.yml` - Moved the `EDGAR REF_TRF CH4` emissions to the Oil emissions category so it is superseded by GFEIv2 for carbon simulations. - Prevent `State_Diag%SatDiagnCount` from not being allocated - For satellite diagnostics, do not test for `id_OH` if OH is not a species - Fixed parallelization in Luo wetdep simulations caused by uninitialized variable - Fixed parallelization for Hg0 species in `GeosCore/drydep_mod.F90` - Fixed incorrect time-slice when reading nested-grid boundary conditions - Fixed initialization of advected species missing in GCHP restart file - Fixed comments in `GeosUtil/unitconv_mod.F90` to reflect code implementation - Fixed compilation issues for `KPP/custom`; updated equations in `custom.eqn` - Prevent users from creating GCClassic rundirs at 0.25 x 0.3125 resolution for MERRA-2 met - Added fix to set `RUNDIR_GRID_HALF_POLAR` option for global grids at 0.25x0.3125 or 0.5x0.625 resolutions - Moved `OCEAN_MASK` out of `ExtData.rc.TransportTracers` and into the meteorology template files - Update `ExtData.rc.CO2` to get meteorology entries from template files - Added fix for CH4 analytical inversions to convert the state vector value read from file to the nearest integer before comparing to the `Input_Opt%StateVectorElement` read from geoschem_config.yml ### Removed - Remove references to the obsolete tagged Hg simulation ## [14.2.0] - 2023-10-05 ### Added - Added a printout of GEOS-Chem species and indices - Added `NcdfUtil/README.md` file directing users to look for netCDF utility scripts at https://github.com/geoschem/netcdf-scripts - Restored sink reactions for HOI, IONO, IONO2 (fullchem, custom mechanisms) - S(IV) + HOBr and S(IV) + HOCl reactions to `KPP/fullchem/fullchem.eqn` - Added setting in GCHP setCommonRunSettings.sh to require species in restarts - Added setting in GCHP HISTORY.rc to control whether output can be overwritten - Activated nitrate photolysis - Added `LightingClimatology` option to HEMCO_Config.rc - Added run configuration files for WRF-GC - Added new files `photolysis_mod.F90`, `phot_container_mod.F90`, and `fjx_interface_mod.F90` - Added photolysis toggle in `geoschem_config.yml` and `Input_Opt` variable Do_Photolysis - Added speed of light and Planck's constant to PhysConstants module - Added `GFED4_CLIMATOLOGY` option to HEMCO_Config.rc - Added CH4 emissions from hydroelectric reservoirs to CH4, Carbon, and tagCH4 simulations - Added RxnConst diagnostic for archiving reaction rate constants - Added GCHP run-time option in GCHP.rc to choose dry or total pressure in GCHP advection - Added GCHP run-time option in GCHP.rc to correct native mass fluxes for humidity - Added new tracer_mod.F90 containing subroutines for applying sources and sinks for the TransportTracer simulation - Added new species to the TransportTracer simulation: aoa (replaces CLOCK), aoa_bl, aoa_nh, st80_25 - Added GEOS-IT and GEOSIT as allowable meteorology source options in geoschem_config.yml ### Changed - Most printout has been converted to debug printout (toggled by `debug_printout: true` in `geoschem_config.yml` - `HEMCO_Config.rc` template files now use `Verbose: true` to toggle debug printout - Turn on sea salt debromination via switches in `HEMCO_config.rc` - If KPP integration fails, reset to prior concentrations and set `RSTATE(3) = 0` before retrying - Suppress integration errors after 20 errors have been printed to stdout - Simplified and added comments for bimolecular reactions in clouds in function CloudHet2R - `HEMCO_Config.rc` and `ExtData.rc` templates now point `HEMCO/GFED4/v2023-03` - Updated GCHP carbon simulation Global Cl and P(CO) inputs to use 14.0.0 files - Write GCHP restart files directory to Restarts subdirectory - Rename GCHP mid-run checkpoint files to standard GEOS-Chem restart format - Rules for species in restarts files are now the same in GCHP as in GC-Classic - Moved parts of `CMN_FJX_Mod.F90` not used in original Fast-JX to new container State_Chm%Phot - Restructured photolysis to create generic photolysis module, interface with Fast-JX, and module containing original Fast-JX analogous to Cloud-J - Moved UVFlux diagnostics out of JValues collection and into new collection called UVFlux - In the user registration process: - Now ask for both first and last names of the user - Now state that user registration is needed for GEOS-Chem support - Updated `HEMCO_Config.rc` templates to read HEMCO restarts from the `Restarts` rundir folder - In fullchem simulations, set CO2 to 421 ppm (avg global conc in 2022) everywhere - Updated CH4 simulation to use CH4 loss frequencies from GCClassic 14.0.0 10-year benchmarks instead of GMI - Updated CH4 global anthropogenic emission inventory from EDGARv6 to EDGARv7 - Updated `AUTHORS.txt` for version 14.2.0 - Updated links in `README.md` to point to `http://geos-chem.org` - Changed GCHP default settings to use dry pressure rather than total pressure in advection and correct native mass fluxes for humidity - Updated partitions requested in Harvard run script examples - Change RTOL value from 0.5e-3 back to 0.5e-2 to address model slowdown - Allow the use of OFFLINE_SEASALT for seasalt alkalinity, Cl, and Br in GEOS-Chem within CESM - Renamed TransportTracer species for consistency with GMAO's TR_GridComp - See `KPP/fullchem/CHANGELOG_fullchem.md` for fullchem-mechanism changes - Update template `HEMCO_Config.rc.carbon` files to allow running the carbon simulation with only a single species. ### Fixed - Fixed typo in `GCClassic/createRunDir.sh` preventing benchmark run script from being copied to the run directory - Fixed divide by zero bug in sulfur chemistry introduced in 14.1.0 - Updates for 0.5 x 0.625 degree GCClassic integration & parallel tests - Use `CYS` in `HEMCO_Config.rc` so that missing species in `GC_BCs` will not stop simulations - Tests now run for 20 model minutes instead of an hour - Fixed divide by zero bug in sulfur chemistry introduced in 14.1.0 - Fixed GCHP `HISTORY.rc` issue preventing running with over 3000 cores - Fixed GCHP `ExtData.rc` error in tagged ozone simulation - Fixed GCHP `HISTORY.rc` issue preventing diagnostic file overwrite - Update GCHP interactive run script to fix error handling silent bugs - Rewrote subroutine calls in `carbon_mod.F90` and `seasalt_mod.F90` to prevent array temporaries. - Prevent repeated printing of KPP integrate errors to the stdout stream. - Fixed selection of troposphere-stratosphere boundary in `global_ch4_mod.F90` - Removed operator splitting in CH4 simulation that was biasing diagnostics - Fixed GCHP start and elapsed times in time_mod.F90 to use cap_restart value - Disabled SpeciesConcMND output for benchmark simulations - Exit `Init_Photolysis` before calling `Calc_AOD` when doing dry-run simulations - Make sure `State_Het%f_Alk_SSA` and `State_Het%f_Alk_SSC` are in the range 0..1 - Restore seasalt alkalinity to heterogeneous acid-catalyzed reactions of halogens on seasalt aerosols ### Removed - `Warnings: 1` is now removed from `HEMCO_Config.rc.*` template files - Removed the `NcdfUtil/perl` folder - Removed `X-HRS` output from log file - IONO2 recycling (fullchem, custom mechanisms) - Deleted unused file set_prof_o3.F90 ### Fixed - Fixed entries for CH4 emissions in `HEMCO_Config.rc.carbon` ## [14.1.2] - 2023-10-20 ### Added - CESM-only update: Added option for correctConvUTLS for correcting buildup of soluble tracers in the UT/LS to match CAM-chem behavior ### Changed - CESM-only update: extend existing KppError, KppStop to CESM for model stability - CESM-only update: Removed mpi_bcast in ucx_mod NOXCOEFF_INIT to be handled at coupler level to support spectral-element dynamical core ## [14.1.1] - 2023-03-03 ### Added - New integration test functions in `test/GCClassic/integration` and `test/GCHP/integration` - New parallelization test functions in `test/GCClassic/parallel` - Added `README.md` files for integration and parallelization tests in the `test` folder structure - Added GCHP integration test for the tagO3 simulation - Added GCHP and GCClassic integration tests for the carbon simulation - Integration and parallelization test folders have been separated into subdirectories to minimize clutter. - GEOS-only updates - Add `about` to GitHub issue templates (ensures they will be displayed) - Added `.github/ISSUE_TEMPLATE/config.yml` file w/ Github issue options ### Changed - GCClassic integration tests now use a single set of scripts - GCHP integration tests now use a single set of scripts - Integration test run directories are created with the default names assigned by `createRunDir.sh` - Several bash functions in `test/shared/commonFunctionsForTests.sh` have been combined so that they will work for both GCClassic and GCHP integration tests - `./cleanRunDir.sh` functions now take an argument for non-interactive execution (facilitates integration & parallelization tests) - Moved several module variables from `GeosCore/ucx_mod.F90` to `Headers/state_chm_mod.F90`. This facilitates using GEOS-Chem in CESM. - Time cycle flags EFYO are changed to CYS for all GCClassic integration/parallel tests, and for GCClassic fullchem_benchmarksimulations. - Ask users for the name of their research institution at registration - Ask users for the name of their PI at registration - Do not compile GCHP for tagO3 integration tests; use the default build instead - Moved GC-Classic sample run scripts to operational_examples/harvard_cannon - The GitHub PR template is now named `./github/PULL_REQUEST_TEMPLATE.md` ### Fixed - Fixed bug in where writing species metadata yaml file write was always attempted - Prevent a warning from being generated when compiling `gckpp_Jacobian.F90` - Fixed a bug in routine GET_IJ where X and Y were swapped in an IF comparison. - Fixed bug in GFAS pFe by applying work-around in config files ### Removed - Removed `intTest*_slurm.sh`, `intTest_*lsf.sh`, and `intTest*_interactive.sh` integration test scripts - Removed State_Met%LWI and input meteorology LWI from carbon simulation run config files - Removed function `CLEANUP_UCX`; deallocations are now done in `state_chm_mod.F90` ## [14.1.0] - 2023-02-01 ### Added - Added dry deposition updates to Hg0 from Feinberg22 ESPI publication + AMAP emissions - Added MO2 + NO3 = NO2 + CH2O + HO2 reaction - Added capability to write species metadata to YAML file - Added satellite diagnostic (SatDiagn) collection, to archive several fields within a user-defined local-time interval. CAVEAT: For now, only one local-time interval is permitted. - Added adaptive solver (`rosenbrock_autoreduce`) option for fullchem mechanism - Added entries for BALD, BENZP, BZCO3H, NPHEN to JValues collection in HISTORY.rc for GCHP - Added GCHP run script and environment files for MIT clusters Hex and Svante - Added operational GCHP and GCClassic environment and run scripts for the University of York cluster, Viking - Added tagO3 run directory for GCHP - Added upwards mass flux diagnostic to GCHP History collection LevelEdgeDiags - Added timestep menu to GCHP `geoschem_config.yml` template files - Added HTAPv3 inventory as a global emissions option (off by default) - Added carbon simulation and KPP mechanism for CO-CO2-CH4-OCS - Added GCHP run script and environment file for UCI Australia cluster Gadi - Added GFAS entries in GCHP config file ExtData.rc ### Changed - Moved in-module variables in global_ch4_mod.F90 to State_Chm - Moved in-module variables in hco_interface_gc_mod.F90 to State_Met and State_Chm - Modified SpeciesConc diagnostic to include option to output units in v/v or molec/cm3 - Rebuilt fullchem and Hg mechanisms with KPP 3.0.0 - Changed HEMCO timecycle flag for QFED and offline emissions from EF to EFY - Updated the time refresh settings for `O3_PROD` and `O3_LOSS` in `ExtData.rc.tagO3` to read data on the first of each month. ### Fixed - Fixed sign of Arrhenius "A" coefficient in reaction ETO = HO2 + 2CH2O - Fixed products in HOBr + SO2 and HOCl + SO2 reactions - Changed MW_g value of CH4 from 16.05 to 16.04 - Added "WD_CoarseAer:true" for SO4s and NITs in species_database.yml - Fixed bug in computing State_Met surface type logicals (IsLand, IsWater, etc) - Fixed bug where State_Met%FRSNO (fraction snow) was all zeros in GCHP - Fixed HCFC141b and HCFC142b names in GCHP HISTORY.rc - Fixed list of complex SOA species checked in input_mod.F90 - Now use a string array for reading the list of ObsPack diagnostic species (in `GeosCore/input_mod.F90`) - Fixed bug in logic that caused restart files not to be linked to the Restarts/ folder of the GCHP tagO3 run directory - Fixed timestamp for GCClassic History diagnostic so time-averaged collections match the reference time - Fixed double-titration of seasalt alkalinity - Fixed bug in GFAS pFe by applying work-around in config files ### Removed - Removed LRED_JNO2 and AERO_HG2_PARTITON switches from HEMCO_Config.rc (and related code) ## [14.0.2] - 2022-11-29 ### Fixed - Added fix for writing dry-run header to log file - Updated KPP diagnostics archive flags - Rewrote code to avoid memory leaks (identified by the code sanitizer) - Updated EDGAR v6 CH4 emission files to correct timestamp issue - Updated CH4 Lakes emission files to correct time unit issue - Added fix for CH4_RICE emissions from EDGAR v6 - Fixed indentation error in the `legacy_bpch` section of `geoschem_config.yml` template files - Removed "dry air" from the metadata of fields `State_Met%AIRVOL` and `State_Met%BXHEIGHT` - Applied fixes for CESM runs: Turned off sea salt emissions; Modified time cycle flag for YUAN_MODIS_LAI ### Changed - Updated CESM HISTORY.rc to work with new CESM-GC diagnostics interface - Updated sample fullchem restart files copied to run directories to 14.0.0 10-year benchmark output ### Changed - Use met-field surface type fractions instead of input land-water-ice (LWI) index ### Removed - Removed State_Met%LWI and LWI as a met-field input ## [14.0.1] - 2022-10-31 ### Fixed - Corrected units in metadata for State_Met%AirNumDen and State_Met%PHIS - Fixed file path for AEIC2019_DAILY emissions for aerosol-only simulations - Fixed GCHP bug to populate non-species data in mid-run restart files - Fixed typo preventing ND51 satellite diagnostic from turning on ### Changed - Documented and cleaned up GCHP run script operational examples - Updated README.md and AUTHORS.txt - Set species concentration arrays as pointers to internal state in GCHP - Updated Restart collection in HISTORY.rc to save out BXHEIGHT and TROPLEV for all simulations ## [14.0.0] - 2022-10-25 ### Added - Added user registration with dynamodb database during run directory creation - Added Hg simulation with KPP - Added yaml-format config file geoschem_config.yml which replaces input.geos - Added native GEOS-FP and mass fluxes options to GCHP run directory creation - Added cap_restart file to GCHP run directories to set simulation start time - Added updates for compatibility with CESM, GEOS, and WRF-GC ### Fixed - Fixed missing output boundary conditions on first timestep of run - Added missing entries for POG1, POG2, and pFe to HEMCO_Config.rc - Reverted GC-Classic pressure fixer to v13.3 to fix bug in v13.4 - Fixed dry deposition of methanol over oceans - Fixed issues in creating run directory for GCAP2 - Removed duplicate species for SO4 in aciduptake.eqn - Fixed CEDS_CO2_SHP emissions in HEMCO_Config.rc file for CO2 simulation - Fixed Volcano_Table entry in HEMCO config template for GCHP - Fixed transport tracers simulation in GCHP - Applied fix to avoid divide-by-zero in routine MMR_Compute_FLux - Fixed HEMCO diagnostic counter zero warnings in full chemistry simulation - Fixed bug in totalOC diagnostic - Fixed bugs causing differences when splitting up GC-Classic and GCHP simulations in time - Fixed bug setting GEOS-FP meteorology in GCHP run directories ### Changed - Updated KPP to version 2.5.0 - Updated GCHP run scripts to easily segment runs in time - Changed GCHP restart filename convention to exclude seconds - Updated offline biogenic VOC and soil NOx emissions - Reduced root logging level for MAPL from INFO to WARNING - Changed 4D State_Chm%Species array to vector of 3D concentration arrays - Renamed GCHP config file runConfig.sh to setCommonRunSettings.sh - Moved restart file location in run directory to Restarts subdirectory - Updated sample restart files copied to run directories to 14.0.0 1-year benchmark output ### Removed - Removed TMPU1, SPHU1, PS1_WET, and PS1_DRY from GC-Classic restart file - Removed input.geos; replaced with geoschem_config.yml - Removed HEMCO.log output file; HEMCO log info now sent to main GEOS-Chem log ================================================ FILE: CMakeLists.txt ================================================ # GEOS-Chem repository CMakeLists.txt cmake_minimum_required(VERSION 3.5) #----------------------------------------------------------------------------- # Set policies #----------------------------------------------------------------------------- cmake_policy(SET CMP0054 NEW) cmake_policy(SET CMP0057 NEW) if(POLICY CMP0074) cmake_policy(SET CMP0074 NEW) endif() if(POLICY CMP0079) cmake_policy(SET CMP0079 NEW) endif() # Add GEOS-Chem CMake helpers to MODULE_PATH list(INSERT CMAKE_MODULE_PATH 0 ${CMAKE_CURRENT_SOURCE_DIR}/CMakeScripts) include(GC-Helpers) #----------------------------------------------------------------------------- # Print header #----------------------------------------------------------------------------- get_repo_version(GC_REPO_VERSION ${CMAKE_CURRENT_SOURCE_DIR}) message("=================================================================") message("GEOS-Chem ${PROJECT_VERSION} (science codebase)") message("Current status: ${GC_REPO_VERSION}") message("=================================================================") #----------------------------------------------------------------------------- # Declare the GEOSChemBuildProperties library # # All GEOS-Chem targets depend on this. This is used to control the compiler # options and definitions for GEOS-Chem targets (via inheritance). # # Optionally, super project can define and configure this target. #----------------------------------------------------------------------------- if(NOT TARGET GEOSChemBuildProperties) add_library(GEOSChemBuildProperties INTERFACE) endif() #----------------------------------------------------------------------------- # Add all the subdirectories. # Each subdirectory specifies how it should be built. #----------------------------------------------------------------------------- add_subdirectory(KPP) add_subdirectory(Headers) add_subdirectory(GeosUtil) add_subdirectory(NcdfUtil) add_subdirectory(History) add_subdirectory(ObsPack) add_subdirectory(APM) add_subdirectory(GeosRad) add_subdirectory(GTMM) add_subdirectory(GeosCore) #----------------------------------------------------------------------------- # Build GEOS-Chem Classic driver program (if MODEL_CLASSIC=T) #----------------------------------------------------------------------------- if(MODEL_CLASSIC) add_subdirectory(Interfaces/GCClassic) endif() #----------------------------------------------------------------------------- # Build GCHPctm driver program (if MODEL_GCHPCTM=T) #----------------------------------------------------------------------------- if(MODEL_GCHPCTM) add_subdirectory(Interfaces/GCHP) endif() ================================================ FILE: CMakeScripts/GC-Helpers.cmake ================================================ #[[ stringify_list Stringify a list of strings. Usage: stringify_list( [PRINT] [LINE_LENGTH ] [HIGHLIGHT ...] [JOIN ...] [AFTER] ) Options: PRINT Print the stringified list to console. Highlighted text will also be colorized. LINE_LENGTH When JOINing a list of string, the resulting lines will be limited to characters. The resulting will be a list of lines that can then be JOINed with newlines. HIGHLIGHT A list of keywords to highlight. JOIN A list of tokens that will be used sequentially to join list items. The last token will be used to join all remaining items. AFTER Place the JOIN tokens after the item, rather than before. ]] function(stringify_list LIST) cmake_parse_arguments(BETTER "PRINT;AFTER" "LINE_LENGTH" "HIGHLIGHT;JOIN" ${ARGN} ) if(NOT DEFINED BETTER_LINE_LENGTH) set(BETTER_LINE_LENGTH 1000) # Arbitrary big number endif() set(STR ${${LIST}}) # Limit joined line length if(DEFINED BETTER_JOIN) set(TEMP "") set(CUR_LEN "0") set(JOIN_IDX "0 - 1") list(LENGTH BETTER_JOIN JOIN_LEN) foreach(ITEM ${STR}) # Get the join token math(EXPR JOIN_IDX "${JOIN_IDX} + 1") if(${JOIN_IDX} LESS ${JOIN_LEN}) list(GET BETTER_JOIN "${JOIN_IDX}" JOIN_TOKEN) endif() string(LENGTH "${JOIN_TOKEN}" SEP_LEN) # If a line length was string(LENGTH "${ITEM}" WORD_LEN) math(EXPR POST_LEN "${WORD_LEN} + ${CUR_LEN} + ${SEP_LEN}") if("${POST_LEN}" LESS "${BETTER_LINE_LENGTH}") if(${BETTER_AFTER}) set(TEMP "${TEMP}${ITEM}${JOIN_TOKEN}") else() set(TEMP "${TEMP}${JOIN_TOKEN}${ITEM}") endif() set(CUR_LEN "${POST_LEN}") else() if(${BETTER_AFTER}) set(TEMP "${TEMP};${ITEM}${JOIN_TOKEN}") else() set(TEMP "${TEMP};${JOIN_TOKEN}${ITEM}") endif() set(CUR_LEN "0") math(EXPR CUR_LEN "${SEP_LEN} + ${WORD_LEN}") endif() endforeach() set(STR "${TEMP}") endif() # Highlight selected words if(DEFINED BETTER_HIGHLIGHT) foreach(KEYWORD ${BETTER_HIGHLIGHT}) string(REPLACE "${KEYWORD}" "[${KEYWORD}]" STR "${STR}") endforeach() endif() if(${BETTER_PRINT}) string(ASCII 27 Esc) if(${CMAKE_COLOR_MAKEFILE}) string(REGEX REPLACE "\\[([a-zA-Z0-9_\\.]+)\\]" "${Esc}[32m\\1${Esc}[m" COLORIZED "${STR}") else() set(COLORIZED "${STR}") endif() string(REGEX REPLACE "\n$" "" COLORIZED "${COLORIZED}") message("${COLORIZED}") endif() # Export the new string set(${LIST} "${STR}" PARENT_SCOPE) endfunction() #[[ get_repo_version Variable with name ${VARNAME} gets set to first 7 characters of the hash of the last commit to the repo at ${DIR}. Usage: get_repo_version(VARNAME DIR) ]] macro(get_repo_version VARNAME DIR) execute_process( COMMAND git describe --tags --dirty=.dirty WORKING_DIRECTORY ${DIR} OUTPUT_VARIABLE ${VARNAME} OUTPUT_STRIP_TRAILING_WHITESPACE ) endmacro() function(gc_pretty_print) cmake_parse_arguments(ARGS "IS_BOOLEAN" "VARIABLE;SECTION" "OPTIONS" ${ARGN} ) if(DEFINED ARGS_VARIABLE) if(ARGS_IS_BOOLEAN) set(LOGLINE "ON" "OFF") # Split list with " " stringify_list(LOGLINE JOIN " " LINE_LENGTH 60 ) # Wrap lines stringify_list(LOGLINE JOIN " * ${ARGS_VARIABLE}:\t" "\n ... \t" ) if("${${ARGS_VARIABLE}}") stringify_list(LOGLINE PRINT HIGHLIGHT "ON") else() stringify_list(LOGLINE PRINT HIGHLIGHT "OFF") endif() elseif(DEFINED ARGS_OPTIONS) set(LOGLINE ${ARGS_OPTIONS}) # Split list with " " stringify_list(LOGLINE JOIN " " LINE_LENGTH 60 ) # Wrap lines stringify_list(LOGLINE JOIN " * ${ARGS_VARIABLE}:\t" "\n ... \t" ) stringify_list(LOGLINE PRINT HIGHLIGHT ${${ARGS_VARIABLE}}) else() if(NOT DEFINED ${ARGS_VARIABLE}) set(LOGLINE " ") # special case for empty variable else() set(LOGLINE ${${ARGS_VARIABLE}}) endif() # Split list with " " stringify_list(LOGLINE JOIN " " LINE_LENGTH 60 ) # Wrap lines stringify_list(LOGLINE JOIN " + ${ARGS_VARIABLE}:\t" "\n ... \t" ) stringify_list(LOGLINE PRINT) endif() elseif(DEFINED ARGS_SECTION) message(STATUS "${ARGS_SECTION}:") endif() endfunction() ================================================ FILE: GTMM/.gitignore ================================================ *.[oax] *.mod *.MOD *~* gtmm geos geostomas geosapm *.pp.* *.pdb *.inst.* *.continue.* *.ppk core.* ================================================ FILE: GTMM/CMakeLists.txt ================================================ add_library(Hg STATIC EXCLUDE_FROM_ALL assignAgeClassToRunningPool.F90 assignRanPoolToAgeClass.F90 CasaRegridModule.F90 CleanupCASAarrays.F90 defineArrays.F90 defineConstants.F90 doFPARandLAI.F90 doHerbCarbon.F90 doHerbCarbonHg.F90 doHerbivory.F90 doHgDeposition.F90 doLatitude.F90 doLeafRootShedding.F90 doMaxHg.F90 doNPP.F90 doOptimumTemperature.F90 doPET.F90 dorestart_mod.F90 doSoilMoisture.F90 doTreeCarbon.F90 doTreeCarbonHg.F90 getAgeClassBF.F90 getFireParams.F90 getFuelWood.F90 getSoilMoistParams.F90 getSoilParams.F90 GTMM_coupled.F90 HgOutForGEOS.F90 input_gtmm_mod.F90 loadCASAinput.F90 load_GC_data.F90 loadHgDeposition.F90 organizeAgeClasses.F90 processData.F90 sort_pick_veg.F90 ) target_link_libraries(Hg PUBLIC Headers ) if(${GTMM}) add_executable(gtmm GTMM.F90 ) target_link_libraries(gtmm PUBLIC Hg ) install(TARGETS gtmm RUNTIME DESTINATION ${RUNDIR} ) endif() ================================================ FILE: GTMM/CasaRegridModule.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: CasaRegridModule ! ! !DESCRIPTION: Module CasaRegridModule contains arrays and variables used to ! regrid the GEOS-5 data from 1 x 1 Generic to 2 x 2.5, and 4 x 5 geos grids. !\\ !\\ ! !INTERFACE: ! MODULE CasaRegridModule ! ! !USES: ! USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: regrid1x1to4x5 PUBLIC :: regrid4x5to1x1 PUBLIC :: regrid1x1to2x25 PUBLIC :: regrid2x25to1x1 PUBLIC :: CasaRegridInit ! ! !PUBLIC DATA MEMBERS: ! PUBLIC :: I1x1, J1x1, L1x1 PUBLIC :: I2x25, J2x25, L2x25 PUBLIC :: I4x5, J4x5, L4x5 ! ! !DEFINED PARAMETERS: ! INTEGER, PARAMETER :: I1x1 = 360, J1x1 = 180, L1x1 = 72 INTEGER, PARAMETER :: I2x25 = 144, J2x25 = 91, L2x25 = 72 INTEGER, PARAMETER :: I4x5 = 72, J4x5 = 46, L4x5 = 72 ! ! !PRIVATE TYPES: ! ! Degrees to Radians REAL(fp), PARAMETER :: D2R = 3.141592658979323e+0_fp / 180e+0_fp !--------------------- ! 1 x 1 grid !--------------------- ! Lon edges REAL(fp) :: xedge_1x1( I1x1 + 1 ) ! Lat edges REAL(fp) :: yedge_1x1( J1x1 + 1 ) ! Sine of latitude REAL(fp) :: sine_1x1( J1x1 + 1 ) !--------------------- ! 2 x 2.5 grid !--------------------- ! Longitude edges REAL(fp) :: xedge_2x25( I2x25 + 1 ) ! Latitude edges REAL(fp) :: yedge_2x25( J2x25 + 1 ) ! Latitude edges REAL(fp) :: sine_2x25( J2x25 + 1 ) !--------------------- ! 4 x 5 grid !--------------------- ! Longitude edges REAL(fp) :: xedge_4x5( I4x5 + 1 ) ! Latitude edges REAL(fp) :: yedge_4x5( J4x5 + 1 ) ! Latitude edges REAL(fp) :: sine_4x5( J4x5 + 1 ) ! ! !REMARKS: ! CasaRegridModule uses the regridding software "MAP_A2A" from S-J Lin. ! This is area-preserving mapping. For example, if you have a quantity ! such as kg/m2/s or W/m2, MAP_A2A will multiply by the area on the ! input grid, then regrid, and divide by the area on the output grid, ! such that the total quantity is preserved. ! ! !REVISION HISTORY: ! 14 Jan 2008 - R. Yantosca - Initial version ! (1 ) Modify regriddGeos5To* routines so that if all values are zero, ! then we just fill the output data array with zeros and return. ! This ought to speed up program execution. (bmy, 11/14/06) ! 25 Nov 2014 - M. Yannetti - Added PRECISION_MOD !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: regrid4x5to1x1 ! ! !DESCRIPTION: Subroutine regrid4x5to1x1 is a wrapper for MAP\_A2A, which is ! called to regrid from the GEOS-5 4x5 grid to the GENERIC 1x1 grid. !\\ !\\ ! !INTERFACE: ! SUBROUTINE regrid4x5to1x1( iv, q1, q2 ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: iv REAL(fp), INTENT(IN) :: q1( I4x5, J4x5 ) ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: q2( I1x1, J1x1 ) ! ! !REVISION HISTORY: ! 08 Nov 2006 - R. Yantosca - Initial version !EOP !------------------------------------------------------------------------------ !BOC ! !--------------------------------- ! regridGeos5to1x1 begins here! !--------------------------------- ! If all elements of q1 are zero, then set q2=0 and return IF ( ALL( q1 == 0e+0_fp ) ) THEN q2 = 0e+0_fp RETURN ENDIF ! Call MAP_A2A to do the horizontal regridding CALL map_a2a( I4x5, J4x5, xedge_4x5, sine_4x5, q1, & I1x1, J1x1, xedge_1x1, sine_1x1, q2, 0, iv ) END SUBROUTINE regrid4x5to1x1 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: regrid1x1to4x5 ! ! !DESCRIPTION: Subroutine regrid1x1to4x5 is a wrapper for MAP\_A2A, which is ! called to regrid from the GENERIC 1x1 grid to the GEOS-5 4x5 grid. !\\ !\\ ! !INTERFACE: ! SUBROUTINE regrid1x1to4x5( iv, q1, q2 ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: iv REAL(fp), INTENT(IN) :: q1( I1x1, J1x1 ) ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: q2( I4x5, J4x5 ) ! ! !REVISION HISTORY: ! 08 Nov 2006 - R. Yantosca - Initial version !EOP !------------------------------------------------------------------------------ !BOC ! !--------------------------------- ! regridGeos5to1x1 begins here! !--------------------------------- ! If all elements of q1 are zero, then set q2=0 and return IF ( ALL( q1 == 0e+0_fp ) ) THEN q2 = 0e+0_fp RETURN ENDIF ! Call MAP_A2A to do the horizontal regridding CALL map_a2a( I1x1, J1x1, xedge_1x1, sine_1x1, q1, & I4x5, J4x5, xedge_4x5, sine_4x5, q2, 0, iv ) END SUBROUTINE regrid1x1to4x5 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: regrid2x25to1x1 ! ! !DESCRIPTION: Subroutine regrid2x25to1x1 is a wrapper for MAP\_A2A, which is ! called to regrid from the GENERIC 1x1 grid to the GEOS 2 x 2.5 grid. ! (bmy, 11/8/06) !\\ !\\ ! !INTERFACE ! SUBROUTINE regrid2x25to1x1( iv, q1, q2 ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: iv REAL(fp), INTENT(IN) :: q1( I2x25, J2x25 ) ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: q2( I1x1, J1x1 ) ! ! !REVISION HISTORY: ! 08 Nov 2006 - R. Yantosca - Initial version !EOP !------------------------------------------------------------------------------ !BOC ! !--------------------------------- ! regridGeos5to1x125 begins here! !--------------------------------- ! If all elements of q1 are zero, then set q2=0 and return IF ( ALL( q1 == 0e+0_fp ) ) THEN q2 = 0e+0_fp RETURN ENDIF ! Call MAP_A2A to do the horizontal regridding CALL map_a2a( I2x25, J2x25, xedge_2x25, sine_2x25, q1, & I1x1, J1x1, xedge_1x1, sine_1x1, q2, 0, iv ) END SUBROUTINE regrid2x25to1x1 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: regrid1x1to2x25 ! ! !DESCRIPTION: Subroutine regridGeos5to2x25 is a wrapper for MAP\_A2A, which ! regrids from the GEOS-5 1x1 grid to the GEOS 2 x 2.5 grid. !\\ !\\ ! !INTERFACE: ! SUBROUTINE regrid1x1to2x25( iv, q1, q2 ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: iv REAL(fp), INTENT(IN) :: q1( I1x1, J1x1 ) ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: q2( I2x25, J2x25 ) ! ! !REVISION HISTORY: ! 08 Nov 2006 - R. Yantosca - Initial version !EOP !------------------------------------------------------------------------------ !BOC ! !--------------------------------- ! regridGeos5to2x25 begins here! !--------------------------------- ! If all elements of q1 are zero, then set q2=0 and return IF ( ALL( q1 == 0e+0_fp ) ) THEN q2 = 0e+0_fp RETURN ENDIF ! Call MAP_A2A to do the horizontal regridding CALL map_a2a( I1x1, J1x1, xedge_1x1, sine_1x1, q1, & I2x25, J2x25, xedge_2x25, sine_2x25, q2, 0, iv ) END SUBROUTINE regrid1x1to2x25 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: map_a2a ! ! !DESCRIPTION: Subroutine MAP\_A2A is a orizontal arbitrary grid to arbitrary ! grid conservative high-order mapping regridding routine by S-J Lin. !\\ !\\ ! !INTERFACE: ! SUBROUTINE map_a2a( im, jm, lon1, sin1, q1, & in, jn, lon2, sin2, q2, ig, iv) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: im, jm, in, jn, ig, iv REAL(fp), INTENT(IN) :: lon1(im+1), lon2(in+1) REAL(fp), INTENT(IN) :: sin1(jm+1), sin2(jn+1) REAL(fp), INTENT(IN) :: q1(im,jm) ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: q2(in,jn) ! ! !REVISION HISTORY: ! (1) Original subroutine by S-J Lin. Converted to F90 freeform format ! and inserted into "Geos3RegridModule" by Bob Yantosca (9/21/00) ! (2) Added F90 type declarations to be consistent w/ TypeModule.f90. ! Also updated comments. (bmy, 9/21/00) ! 21 Sep 2000 - R. Yantosca - Initial version !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: i,j,k REAL(fp) :: qtmp(in,jm) !=================================================================== ! MAP_A2A begins here! ! ! Mapping in the E-W direction ! If both grids have the same longitude dimension, don't call XMAP !=================================================================== IF ( im .eq. in ) THEN DO j=1,jm-ig DO i=1,im qtmp(i,j+ig) = q1(i,j+ig) ENDDO ENDDO ELSE CALL xmap(im, jm-ig, lon1, q1(1,1+ig),in, lon2, qtmp(1,1+ig) ) ENDIF !=================================================================== ! Mapping in the N-S direction ! If both grids have the same latitude dimension, don't call YMAP !=================================================================== IF ( jm .eq. jn ) THEN DO j=1,jm-ig DO i=1,in q2(i,j+ig) = qtmp(i,j+ig) ENDDO ENDDO ELSE CALL ymap(in, jm, sin1, qtmp(1,1+ig), jn, sin2, q2(1,1+ig), ig, iv) ENDIF END SUBROUTINE map_a2a !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ymap ! ! !DESCRIPTION: Routine to perform area preserving mapping in N-S from an ! arbitrary resolution to another. !\\ !\\ ! !INTERFACE: ! SUBROUTINE ymap(im, jm, sin1, q1, jn, sin2, q2, ig, iv) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: im ! original E-W dimension INTEGER, INTENT(IN) :: jm ! original N-S dimension INTEGER, INTENT(IN) :: jn ! Target N-S dimension INTEGER, INTENT(IN) :: ig ! ig=0: scalars from SP to NP ! D-grid v-wind is also ig 0 ! ig=1: D-grid u-wind INTEGER, INTENT(IN) :: iv ! iv=0 scalar; iv=1: vector REAL(fp), INTENT(IN) :: sin1(jm+1-ig) ! original southern edge of ! the cell sin(lat1) REAL(fp), INTENT(IN) :: q1(im,jm) ! original data at center of ! the cell REAL(fp), INTENT(IN) :: sin2(jn+1-ig) ! Target cell's southern edge ! sin(lat2) ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: q2(im,jn) ! Mapped data at the ! target resolution ! ! !REMARKS: ! sin1 (1) = -1 must be south pole; sin1(jm+1)=1 must be N pole. ! . ! sin1(1) < sin1(2) < sin1(3) < ... < sin1(jm) < sin1(jm+1) ! sin2(1) < sin2(2) < sin2(3) < ... < sin2(jn) < sin2(jn+1) ! ! !AUTHOR: ! S.-J. Lin ! First version: piece-wise constant mapping ! Apr 1, 2000 ! Last modified: ! ! !REVISION HISTORY: ! 21 Sep 2000 - R. Yantosca - Initial version !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: i, j0, m, mm, j REAL(fp) :: al(im,jm), ar(im,jm), a6(im,jm), dy1(jm) REAL(fp), PARAMETER :: r3 = 1./3., r23 = 2./3. REAL(fp) :: pl, pr, qsum, esl, dy, sum ! YMAP begins here! do j=1,jm-ig dy1(j) = sin1(j+1) - sin1(j) enddo !=============================================================== ! Area preserving mapping !=============================================================== ! Construct subgrid PP distribution call ppm_lat(im, jm, ig, q1, al, ar, a6, 3, iv) do 1000 i=1,im j0 = 1 do 555 j=1,jn-ig do 100 m=j0,jm-ig !========================================================= ! locate the southern edge: sin2(i) !========================================================= if(sin2(j) .ge. sin1(m) .and. sin2(j) .le. sin1(m+1)) then pl = (sin2(j)-sin1(m)) / dy1(m) if(sin2(j+1) .le. sin1(m+1)) then ! entire new cell is within the original cell pr = (sin2(j+1)-sin1(m)) / dy1(m) q2(i,j) = al(i,m) + 0.5e+0_fp*(a6(i,m)+ar(i,m)-al(i,m)) & & *(pr+pl)-a6(i,m)*r3*(pr*(pr+pl)+pl**2) j0 = m goto 555 else ! South most fractional area qsum = (sin1(m+1)-sin2(j))*(al(i,m)+0.5e+0_fp*(a6(i,m)+ & & ar(i,m)-al(i,m))*(1.+pl)-a6(i,m)* & & (r3*(1.+pl*(1.+pl)))) do mm=m+1,jm-ig ! locate the eastern edge: sin2(j+1) if(sin2(j+1) .gt. sin1(mm+1) ) then ! Whole layer qsum = qsum + dy1(mm)*q1(i,mm) else ! North most fractional area dy = sin2(j+1)-sin1(mm) esl = dy / dy1(mm) qsum = qsum + dy*(al(i,mm)+0.5e+0_fp*esl* & & (ar(i,mm)-al(i,mm)+a6(i,mm)*(1.-r23*esl))) j0 = mm goto 123 endif enddo goto 123 endif endif 100 continue 123 q2(i,j) = qsum / ( sin2(j+1) - sin2(j) ) 555 continue 1000 continue !=================================================================== ! Final processing for poles !=================================================================== if ( ig .eq. 0 .and. iv .eq. 0 ) then ! South pole sum = 0. do i=1,im sum = sum + q2(i,1) enddo sum = sum / float(im) do i=1,im q2(i,1) = sum enddo ! North pole: sum = 0. do i=1,im sum = sum + q2(i,jn) enddo sum = sum / float(im) do i=1,im q2(i,jn) = sum enddo endif END SUBROUTINE YMAP !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ppm_lat ! ! !DESCRIPTION: Subroutine PPM\_LAT is called by YMAP. Written by S-J Lin, and ! converted to F90 freeform format by Bob Yantosca. !\\ !\\ ! !INTERFACE: ! SUBROUTINE ppm_lat(im, jm, ig, q, al, ar, a6, jord, iv) ! ! INPUT PARAMETERS: ! INTEGER :: im, jm ! Dimensions INTEGER :: ig INTEGER :: jord INTEGER :: iv ! iv=0 scalar ! iv=1 vector ! ! !INPUT/OUTPUT PARAMETERS: ! REAL(fp) :: q(im,jm-ig) ! ! !OUTPUT PARAMETERS: ! REAL(fp) :: al(im,jm-ig) REAL(fp) :: ar(im,jm-ig) REAL(fp) :: a6(im,jm-ig) ! ! !REVISION HISTORY: ! 21 Sep 2000 - R. Yantosca - Initial version !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) :: dm(im,jm-ig) REAL(fp), PARAMETER :: r3 = 1./3. INTEGER :: i, j, im2, iop, jm1 REAL(fp) :: tmp, qmax, qmin, qop ! PPM_LAT begins here ! Compute dm: linear slope do j=2,jm-1-ig do i=1,im dm(i,j) = 0.25e+0_fp*(q(i,j+1) - q(i,j-1)) qmax = max(q(i,j-1),q(i,j),q(i,j+1)) - q(i,j) qmin = q(i,j) - min(q(i,j-1),q(i,j),q(i,j+1)) dm(i,j) = sign(min(abs(dm(i,j)),qmin,qmax),dm(i,j)) enddo enddo im2 = im/2 jm1 = jm - 1 ! Poles: if (iv .eq. 1 ) then !=============================================================== ! u-wind (ig=1) ! v-wind (ig=0) !=============================================================== ! SP do i=1,im if( i .le. im2) then qop = -q(i+im2,2-ig) else qop = -q(i-im2,2-ig) endif tmp = 0.25e+0_fp*(q(i,2) - qop) qmax = max(q(i,2),q(i,1), qop) - q(i,1) qmin = q(i,1) - min(q(i,2),q(i,1), qop) dm(i,1) = sign(min(abs(tmp),qmax,qmin),tmp) enddo ! NP do i=1,im if( i .le. im2) then qop = -q(i+im2,jm1) else qop = -q(i-im2,jm1) endif tmp = 0.25e+0_fp*(qop - q(i,jm1-ig)) qmax = max(qop,q(i,jm-ig), q(i,jm1-ig)) - q(i,jm-ig) qmin = q(i,jm-ig) - min(qop,q(i,jm-ig), q(i,jm1-ig)) dm(i,jm-ig) = sign(min(abs(tmp),qmax,qmin),tmp) enddo else !=============================================================== ! Scalar: ! This code segment currently works only if ig=0 !=============================================================== ! SP do i=1,im2 tmp = 0.25e+0_fp*(q(i,2)-q(i+im2,2)) qmax = max(q(i,2),q(i,1), q(i+im2,2)) - q(i,1) qmin = q(i,1) - min(q(i,2),q(i,1), q(i+im2,2)) dm(i,1) = sign(min(abs(tmp),qmax,qmin),tmp) enddo do i=im2+1,im dm(i, 1) = - dm(i-im2, 1) enddo ! NP do i=1,im2 tmp = 0.25e+0_fp*(q(i+im2,jm1)-q(i,jm1)) qmax = max(q(i+im2,jm1),q(i,jm), q(i,jm1)) - q(i,jm) qmin = q(i,jm) - min(q(i+im2,jm1),q(i,jm), q(i,jm1)) dm(i,jm) = sign(min(abs(tmp),qmax,qmin),tmp) enddo do i=im2+1,im dm(i,jm) = - dm(i-im2,jm) enddo endif do j=2,jm-ig do i=1,im al(i,j) = 0.5e+0_fp*(q(i,j-1)+q(i,j)) + r3*(dm(i,j-1) - dm(i,j)) enddo enddo do j=1,jm-1-ig do i=1,im ar(i,j) = al(i,j+1) enddo enddo if ( iv .eq. 1 ) then if ( ig .eq. 0 ) then !============================================================ ! Vector: ig=0 !============================================================ do i=1,im2 al(i, 1) = -al(i+im2,2) al(i+im2,1) = -al(i, 2) enddo do i=1,im2 ar(i, jm) = -ar(i+im2,jm1) ar(i+im2,jm) = -ar(i, jm1) enddo else !============================================================ ! ig=1 : SP !============================================================ do i=1,im if( i .le. im2) then iop = i+im2 else iop = i-im2 endif al(i,1) = 0.5e+0_fp*(q(i,1)-q(iop,1)) - r3*(dm(iop,1) + dm(i,1)) enddo !============================================================ ! NP !============================================================ do i=1,im if( i .le. im2) then iop = i+im2 else iop = i-im2 endif ar(i,jm1) = 0.5e+0_fp*(q(i,jm1)-q(iop,jm1)) - & & r3*(dm(iop,jm1) + dm(i,jm1)) enddo endif else ! Scalar (works for ig=0 only): do i=1,im2 al(i, 1) = al(i+im2,2) al(i+im2,1) = al(i, 2) enddo do i=1,im2 ar(i, jm) = ar(i+im2,jm1) ar(i+im2,jm) = ar(i, jm1) enddo endif do j=1,jm-ig do i=1,im a6(i,j) = 3e+0_fp*(q(i,j)+q(i,j) - (al(i,j)+ar(i,j))) enddo call lmppm(dm(1,j), a6(1,j), ar(1,j), al(1,j), q(1,j), im, jord-3) enddo END SUBROUTINE ppm_lat !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: xmap ! ! !DESCRIPTION: Routine to perform area preserving mapping in E-W from an ! arbitrary resolution to another. ! Periodic domain will be assumed, i.e., the eastern wall bounding cell ! im is lon1(im+1) = lon1(1); Note the equal sign is true geographysically. !\\ !\\ ! !INTERFACE: ! SUBROUTINE xmap(im, jm, lon1, q1, in, lon2, q2) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: im ! original E-W dimension INTEGER, INTENT(IN) :: in ! Target E-W dimension INTEGER, INTENT(IN) :: jm ! original N-S dimension REAL(fp), INTENT(IN) :: lon1(im+1) ! original western edge of ! the cell REAL(fp), INTENT(IN) :: q1(im,jm) ! original data at center of ! the cell REAL(fp), INTENT(IN) :: lon2(in+1) ! Target cell's western edge ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: q2(in,jm) ! Mapped data at the ! target resolution ! ! !REVISION HISTORY: ! 21 Sep 2000 - R. Yantosca - Initial version !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: i1, i2, i, i0, m, mm, j REAL(fp) :: qtmp(-im:im+im) REAL(fp) :: al(-im:im+im) REAL(fp) :: ar(-im:im+im) REAL(fp) :: a6(-im:im+im) REAL(fp) :: x1(-im:im+im+1) REAL(fp) :: dx1(-im:im+im) REAL(fp), PARAMETER :: r3 = 1./3., r23 = 2./3. REAL(fp) :: pl, pr, qsum, esl, dx INTEGER :: iord = 3 LOGICAL :: found ! XMAP begins here! do i=1,im+1 x1(i) = lon1(i) enddo do i=1,im dx1(i) = x1(i+1) - x1(i) enddo !=================================================================== ! check to see if ghosting is necessary ! Western edge: !=================================================================== found = .false. i1 = 1 do while ( .not. found ) if( lon2(1) .ge. x1(i1) ) then found = .true. else i1 = i1 - 1 if (i1 .lt. -im) then write(6,*) 'failed in xmap' stop else x1(i1) = x1(i1+1) - dx1(im+i1) dx1(i1) = dx1(im+i1) endif endif enddo !=================================================================== ! Eastern edge: !=================================================================== found = .false. i2 = im+1 do while ( .not. found ) if( lon2(in+1) .le. x1(i2) ) then found = .true. else i2 = i2 + 1 if (i2 .gt. 2*im) then write(6,*) 'failed in xmap' stop else dx1(i2-1) = dx1(i2-1-im) x1(i2) = x1(i2-1) + dx1(i2-1) endif endif enddo !write(6,*) 'i1,i2=',i1,i2 do 1000 j=1,jm !================================================================= ! Area preserving mapping !================================================================ ! Construct subgrid PP distribution call ppm_cycle(im, q1(1,j), al(1), ar(1), a6(1), qtmp(0), iord) ! check to see if ghosting is necessary ! Western edge if ( i1 .le. 0 ) then do i=i1,0 qtmp(i) = qtmp(im+i) al(i) = al(im+i) ar(i) = ar(im+i) a6(i) = a6(im+i) enddo endif ! Eastern edge: if ( i2 .gt. im+1 ) then do i=im+1,i2-1 qtmp(i) = qtmp(i-im) al(i) = al(i-im) ar(i) = ar(i-im) a6(i) = a6(i-im) enddo endif i0 = i1 do 555 i=1,in do 100 m=i0,i2-1 !============================================================= ! locate the western edge: lon2(i) !============================================================= if(lon2(i) .ge. x1(m) .and. lon2(i) .le. x1(m+1)) then pl = (lon2(i)-x1(m)) / dx1(m) if(lon2(i+1) .le. x1(m+1)) then ! entire new grid is within the original grid pr = (lon2(i+1)-x1(m)) / dx1(m) q2(i,j) = al(m) + 0.5e+0_fp*(a6(m)+ar(m)-al(m)) & & *(pr+pl)-a6(m)*r3*(pr*(pr+pl)+pl**2) i0 = m goto 555 else ! Left most fractional area qsum = (x1(m+1)-lon2(i))*(al(m)+0.5e+0_fp*(a6(m)+ & & ar(m)-al(m))*(1.+pl)-a6(m)* & & (r3*(1.+pl*(1.+pl)))) do mm=m+1,i2-1 ! locate the eastern edge: lon2(i+1) if(lon2(i+1) .gt. x1(mm+1) ) then ! Whole layer qsum = qsum + dx1(mm)*qtmp(mm) else ! Right most fractional area dx = lon2(i+1)-x1(mm) esl = dx / dx1(mm) qsum = qsum + dx*(al(mm)+0.5e+0_fp*esl* & & (ar(mm)-al(mm)+a6(mm)*(1.-r23*esl))) i0 = mm goto 123 endif enddo goto 123 endif endif 100 continue 123 q2(i,j) = qsum / ( lon2(i+1) - lon2(i) ) 555 continue 1000 continue END SUBROUTINE xmap !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ppm_cycle ! ! !DESCRIPTION: PPM\_CYCLE is called by XMAP !\\ !\\ ! !INTERFACE: ! subroutine ppm_cycle(im, q, al, ar, a6, p, iord) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: im, iord REAL(fp), INTENT(IN) :: q(1) ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: al(1), ar(1), a6(1), p(0:im+1) ! ! !REVISION HISTORY: ! 21 Sep 2000 - R. Yantosca - Initial version !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) :: dm(0:im), tmp, qmax, qmin INTEGER :: i, lmt REAL(fp), PARAMETER :: r3 = 1./3. ! PPM_CYCLE begins here! p(0) = q(im) do i=1,im p(i) = q(i) enddo p(im+1) = q(1) ! 2nd order slope do i=1,im tmp = 0.25e+0_fp*(p(i+1) - p(i-1)) qmax = max(p(i-1), p(i), p(i+1)) - p(i) qmin = p(i) - min(p(i-1), p(i), p(i+1)) dm(i) = sign(min(abs(tmp),qmax,qmin), tmp) enddo dm(0) = dm(im) do i=1,im al(i) = 0.5e+0_fp*(p(i-1)+p(i)) + (dm(i-1) - dm(i))*r3 enddo do i=1,im-1 ar(i) = al(i+1) enddo ar(im) = al(1) if(iord .le. 6) then do i=1,im a6(i) = 3e+0_fp*(p(i)+p(i) - (al(i)+ar(i))) enddo lmt = iord - 3 if(lmt.le.2) call lmppm(dm(1),a6(1),ar(1),al(1),p(1),im,lmt) else call huynh(im, ar(1), al(1), p(1), a6(1), dm(1)) endif END SUBROUTINE ppm_cycle !EOC !----------------------------------------------------------------------------- ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: lmppm ! ! !DESCRIPTION: Subroutine LMPPM is called by PPM\_CYCLE. !\\ !\\ ! !INTERFACE: ! SUBROUTINE lmppm(dm, a6, ar, al, p, im, lmt) ! ! !INPUT PARAMETERS: ! INTEGER :: im, lmt REAL(fp) :: p(im),dm(im) ! ! !INPUT/OUTPUT PARAMETERS: ! REAL(fp) :: a6(im),ar(im),al(im) ! ! !REMARKS: ! LMT = 0: full monotonicity ! LMT = 1: semi-monotonic constraint (no undershoot) ! LMT = 2: positive-definite constraint ! ! !REVISION HISTORY: ! 21 Sep 2000 - R. Yantosca - Initial version !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: i REAL(fp) :: da1, da2, fmin, a6da REAL(fp), PARAMETER :: r12 = 1.e+0_fp/12.e+0_fp ! LMPPM begins here! if(lmt.eq.0) then ! Full constraint do 100 i=1,im if(dm(i) .eq. 0.) then ar(i) = p(i) al(i) = p(i) a6(i) = 0. else da1 = ar(i) - al(i) da2 = da1**2 a6da = a6(i)*da1 if(a6da .lt. -da2) then a6(i) = 3e+0_fp*(al(i)-p(i)) ar(i) = al(i) - a6(i) elseif(a6da .gt. da2) then a6(i) = 3e+0_fp*(ar(i)-p(i)) al(i) = ar(i) - a6(i) endif endif 100 continue elseif(lmt.eq.1) then ! Semi-monotonic constraint do 150 i=1,im if(abs(ar(i)-al(i)) .ge. -a6(i)) go to 150 if(p(i).lt.ar(i) .and. p(i).lt.al(i)) then ar(i) = p(i) al(i) = p(i) a6(i) = 0e+0_fp elseif(ar(i) .gt. al(i)) then a6(i) = 3e+0_fp*(al(i)-p(i)) ar(i) = al(i) - a6(i) else a6(i) = 3e+0_fp*(ar(i)-p(i)) al(i) = ar(i) - a6(i) endif 150 continue elseif(lmt.eq.2) then ! Positive definite constraint do 250 i=1,im if(abs(ar(i)-al(i)) .ge. -a6(i)) go to 250 fmin = p(i) + 0.25e+0_fp*(ar(i)-al(i))**2/a6(i) + a6(i)*r12 if(fmin.ge.0e+0_fp) go to 250 if(p(i).lt.ar(i) .and. p(i).lt.al(i)) then ar(i) = p(i) al(i) = p(i) a6(i) = 0e+0_fp elseif(ar(i) .gt. al(i)) then a6(i) = 3e+0_fp*(al(i)-p(i)) ar(i) = al(i) - a6(i) else a6(i) = 3e+0_fp*(ar(i)-p(i)) al(i) = ar(i) - a6(i) endif 250 continue endif END SUBROUTINE lmppm !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: huynh ! ! !DESCRIPTION: Subroutine HUYNH enforces Huynh's 2nd constraint in 1D ! periodic domain !\\ !\\ ! !INTERFACE: ! SUBROUTINE huynh(im, ar, al, p, d2, d1) ! ! !INPUT PARAMETERS: ! INTEGER :: im REAL(fp) :: p(im) ! ! !INPUT/OUTPUT PARAMETERS: ! REAL(fp) :: ar(im), al(im), d2(im), d1(im) ! ! !REVISION HISTORY: ! 21 Sep 2000 - R. Yantosca - Initial version !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: i REAL(fp) :: pmp, lac, pmin, pmax !=================================================================== ! HUYNH begins here! ! Compute d1 and d2 !=================================================================== d1(1) = p(1) - p(im) do i=2,im d1(i) = p(i) - p(i-1) enddo do i=1,im-1 d2(i) = d1(i+1) - d1(i) enddo d2(im) = d1(1) - d1(im) !=================================================================== ! Constraint for AR ! i = 1 !=================================================================== pmp = p(1) + 2.0e+0_fp * d1(1) lac = p(1) + 0.5e+0_fp * (d1(1)+d2(im)) + d2(im) pmin = min(p(1), pmp, lac) pmax = max(p(1), pmp, lac) ar(1) = min(pmax, max(ar(1), pmin)) do i=2, im pmp = p(i) + 2.0e+0_fp*d1(i) lac = p(i) + 0.5e+0_fp*(d1(i)+d2(i-1)) + d2(i-1) pmin = min(p(i), pmp, lac) pmax = max(p(i), pmp, lac) ar(i) = min(pmax, max(ar(i), pmin)) enddo !================================================================== ! Constraint for AL !================================================================== do i=1, im-1 pmp = p(i) - 2.0e+0_fp*d1(i+1) lac = p(i) + 0.5e+0_fp*(d2(i+1)-d1(i+1)) + d2(i+1) pmin = min(p(i), pmp, lac) pmax = max(p(i), pmp, lac) al(i) = min(pmax, max(al(i), pmin)) enddo !================================================================== ! i=im !================================================================== i = im pmp = p(im) - 2.0e+0_fp*d1(1) lac = p(im) + 0.5e+0_fp*(d2(1)-d1(1)) + d2(1) pmin = min(p(im), pmp, lac) pmax = max(p(im), pmp, lac) al(im) = min(pmax, max(al(im), pmin)) !================================================================== ! compute A6 (d2) !================================================================== do i=1, im d2(i) = 3e+0_fp*(p(i)+p(i) - (al(i)+ar(i))) enddo END SUBROUTINE huynh !EOC !----------------------------------------------------------------------------- ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: CasaRegridInit ! ! !DESCRIPTION: Subroutine CasaRegridInit initializes the longitude and ! latitude edge arrays for 0.5 x 0.666, 1 x 1.25, 2 x 2.5, and 4 x 5 grids. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CasaRegridInit ! ! !REMARKS: ! Computation is done in REAL(fp) and then casted to REAL*4 in order ! to get correct values for the high-resolution grids. ! ! !REVISION HISTORY: ! 09 Nov 2006- R. Yantosca - Initial version !EOP !----------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, J REAL(fp) :: DI, DJ !----------------------- ! 1 x 1 GENERIC GRID ! edged on -180, -90 !----------------------- ! Size of box DI = 1.00e+0_fp DJ = 1.00e+0_fp ! Lon edges DO I = 0, I1x1 xedge_1x1(I+1) = -180e+0_fp + ( DI * I ) ENDDO ! Lat edges DO J = 0, J1x1 yedge_1x1(J+1) = -90e+0_fp + ( DJ * J ) ENDDO ! Reset poles yedge_1x1(1) = -90e+0_fp yedge_1x1(J1x1+1) = +90e+0_fp ! Sine of latitude edges DO J = 1, J1x1+1 sine_1x1(J) = SIN( yedge_1x1(J) * D2R ) ENDDO !----------------------- ! 2 x 2.5 GEOS Grid ! centered on -180 !----------------------- ! Size of box DI = 2.5e+0_fp DJ = 2.0e+0_fp ! Lon edges DO I = 0, I2x25 xedge_2x25(I+1) = -180e+0_fp - DI/2e+0_fp + ( DI * I ) ENDDO ! Lat edges DO J = 0, J2x25 yedge_2x25(J+1) = -90e+0_fp - DJ/2e+0_fp + ( DJ * J ) ENDDO ! Reset poles yedge_2x25(1) = -90e+0_fp yedge_2x25(J2x25+1) = +90e+0_fp ! Sine of latitude edges DO J = 1, J2x25+1 sine_2x25(J) = SIN( yedge_2x25(J) * D2R ) ENDDO !----------------------- ! 4 x 5 GEOS Grid ! centerd on -180 !----------------------- ! Size of box DI = 5e+0_fp DJ = 4e+0_fp ! Lon edges DO I = 0, I4x5 xedge_4x5(I+1) = -180e+0_fp - DI/2e+0_fp + ( DI * I ) ENDDO ! Lat edges and sine DO J = 0, J4x5 yedge_4x5(J+1) = -90e+0_fp - DJ/2e+0_fp + ( DJ * J ) ENDDO ! Reset poles yedge_4x5(1) = -90e+0_fp yedge_4x5(J4x5+1) = +90e+0_fp ! Sine of latitude edges DO J = 1, J4x5+1 sine_4x5(J) = SIN( yedge_4x5(J) * D2R ) ENDDO END SUBROUTINE CasaRegridInit !EOC END MODULE CasaRegridModule ================================================ FILE: GTMM/CleanupCASAarrays.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: CleanupCASAarrays ! ! !DESCRIPTION: Subroutine CleanupCASAarrays deallocate all allocated arrays ! used for GTMM !\\ !\\ ! !INTERFACE: ! SUBROUTINE CleanupCASAarrays ! ! !USES ! USE defineConstants USE loadCASAinput USE defineArrays implicit none ! ! !REVISION HISTORY: ! !EOP !------------------------------------------------------------------------------ !BOC ! IF (ALLOCATED(clay )) DEALLOCATE(clay) IF (ALLOCATED(silt )) DEALLOCATE(silt) IF (ALLOCATED(sand )) DEALLOCATE(sand) IF (ALLOCATED(litcn )) DEALLOCATE(litcn) IF (ALLOCATED(lignin )) DEALLOCATE(lignin) IF (ALLOCATED(lrage )) DEALLOCATE(lrage) IF (ALLOCATED(woodage )) DEALLOCATE(woodage) IF (ALLOCATED(SMparams )) DEALLOCATE(SMparams) IF (ALLOCATED(last_soilm )) DEALLOCATE(last_soilm) IF (ALLOCATED(PET )) DEALLOCATE(PET) IF (ALLOCATED(AHI )) DEALLOCATE(AHI) IF (ALLOCATED(last_pack )) DEALLOCATE(last_pack) IF (ALLOCATED(spack )) DEALLOCATE (spack) IF (ALLOCATED(bgmoist )) DEALLOCATE(bgmoist) IF (ALLOCATED(NPPmoist )) DEALLOCATE(NPPmoist) IF (ALLOCATED(EET )) DEALLOCATE(EET) IF (ALLOCATED(NPPmoist_temp )) DEALLOCATE(NPPmoist_temp) IF (ALLOCATED(bgmoist_temp )) DEALLOCATE(bgmoist_temp) IF (ALLOCATED(bgmoistpret )) DEALLOCATE(bgmoistpret) IF (ALLOCATED(NPPmoistpret )) DEALLOCATE(NPPmoistpret) IF (ALLOCATED(soilm )) DEALLOCATE(soilm) IF (ALLOCATED(rdr )) DEALLOCATE(rdr) IF (ALLOCATED(current_ppt )) DEALLOCATE(current_ppt) IF (ALLOCATED(eeta )) DEALLOCATE(eeta) IF (ALLOCATED(eetb )) DEALLOCATE(eetb) IF (ALLOCATED(this_soilm )) DEALLOCATE(this_soilm) IF (ALLOCATED(bgratio )) DEALLOCATE(bgratio) IF (ALLOCATED(srmax )) DEALLOCATE(srmax) IF (ALLOCATED(LAImax )) DEALLOCATE(LAImax) IF (ALLOCATED(LAI_temp )) DEALLOCATE(LAI_temp) IF (ALLOCATED(FPAR )) DEALLOCATE(FPAR) IF (ALLOCATED(LAI )) DEALLOCATE(LAI) IF (ALLOCATED(sr )) DEALLOCATE(sr) IF (ALLOCATED(topt )) DEALLOCATE(topt) IF (ALLOCATED(maxlai )) DEALLOCATE(maxlai) IF (ALLOCATED(lais )) DEALLOCATE(lais) IF (ALLOCATED(LTCON )) DEALLOCATE(LTCON) IF (ALLOCATED(LTVAR )) DEALLOCATE(LTVAR) IF (ALLOCATED(abovewoodpool )) DEALLOCATE(abovewoodpool) IF (ALLOCATED(belowwoodpool )) DEALLOCATE(belowwoodpool) IF (ALLOCATED(leafpool )) DEALLOCATE(leafpool) IF (ALLOCATED(frootpool )) DEALLOCATE(frootpool) IF (ALLOCATED(cwdpool )) DEALLOCATE(cwdpool) IF (ALLOCATED(surfstrpool )) DEALLOCATE(surfstrpool) IF (ALLOCATED(surfmetpool )) DEALLOCATE(surfmetpool) IF (ALLOCATED(surfmicpool )) DEALLOCATE(surfmicpool) IF (ALLOCATED(soilstrpool )) DEALLOCATE(soilstrpool) IF (ALLOCATED(soilmetpool )) DEALLOCATE(soilmetpool) IF (ALLOCATED(soilmicpool )) DEALLOCATE(soilmicpool) IF (ALLOCATED(slowpool )) DEALLOCATE(slowpool) IF (ALLOCATED(armoredpool )) DEALLOCATE(armoredpool) IF (ALLOCATED(hleafpool )) DEALLOCATE(hleafpool) IF (ALLOCATED(hfrootpool )) DEALLOCATE(hfrootpool) IF (ALLOCATED(hsurfstrpool )) DEALLOCATE(hsurfstrpool) IF (ALLOCATED(hsurfmetpool )) DEALLOCATE(hsurfmetpool) IF (ALLOCATED(hsurfmicpool )) DEALLOCATE(hsurfmicpool) IF (ALLOCATED(hsoilstrpool )) DEALLOCATE(hsoilstrpool) IF (ALLOCATED(hsoilmetpool )) DEALLOCATE(hsoilmetpool) IF (ALLOCATED(hsoilmicpool )) DEALLOCATE(hsoilmicpool) IF (ALLOCATED(hslowpool )) DEALLOCATE(hslowpool) IF (ALLOCATED(harmoredpool )) DEALLOCATE(harmoredpool) IF (ALLOCATED(max_hg_leaf )) DEALLOCATE(max_hg_leaf) IF (ALLOCATED(max_hg_surfstr )) DEALLOCATE(max_hg_surfstr) IF (ALLOCATED(max_hg_surfmet )) DEALLOCATE(max_hg_surfmet) IF (ALLOCATED(max_hg_surfmic )) DEALLOCATE(max_hg_surfmic) IF (ALLOCATED(max_hg_soilstr )) DEALLOCATE(max_hg_soilstr) IF (ALLOCATED(max_hg_soilmet )) DEALLOCATE(max_hg_soilmet) IF (ALLOCATED(max_hg_soilmic )) DEALLOCATE(max_hg_soilmic) IF (ALLOCATED(max_hg_slow )) DEALLOCATE(max_hg_slow) IF (ALLOCATED(max_hg_armored )) DEALLOCATE(max_hg_armored) IF (ALLOCATED(max_hg_hleaf )) DEALLOCATE(max_hg_hleaf) IF (ALLOCATED(max_hg_hsurfstr )) DEALLOCATE(max_hg_hsurfstr) IF (ALLOCATED(max_hg_hsurfmet )) DEALLOCATE(max_hg_hsurfmet) IF (ALLOCATED(max_hg_hsurfmic )) DEALLOCATE(max_hg_hsurfmic) IF (ALLOCATED(max_hg_hsoilstr )) DEALLOCATE(max_hg_hsoilstr) IF (ALLOCATED(max_hg_hsoilmet )) DEALLOCATE(max_hg_hsoilmet) IF (ALLOCATED(max_hg_hsoilmic )) DEALLOCATE(max_hg_hsoilmic) IF (ALLOCATED(max_hg_hslow )) DEALLOCATE(max_hg_hslow) IF (ALLOCATED(max_hg_harmored )) DEALLOCATE(max_hg_harmored) IF (ALLOCATED(abovewoodpools )) DEALLOCATE(abovewoodpools) IF (ALLOCATED(belowwoodpools )) DEALLOCATE(belowwoodpools) IF (ALLOCATED(leafpools )) DEALLOCATE(leafpools) IF (ALLOCATED(frootpools )) DEALLOCATE(frootpools) IF (ALLOCATED(cwdpools )) DEALLOCATE(cwdpools) IF (ALLOCATED(surfstrpools )) DEALLOCATE(surfstrpools) IF (ALLOCATED(surfmetpools )) DEALLOCATE(surfmetpools) IF (ALLOCATED(surfmicpools )) DEALLOCATE(surfmicpools) IF (ALLOCATED(soilstrpools )) DEALLOCATE(soilstrpools) IF (ALLOCATED(soilmetpools )) DEALLOCATE(soilmetpools) IF (ALLOCATED(soilmicpools )) DEALLOCATE(soilmicpools) IF (ALLOCATED(slowpools )) DEALLOCATE(slowpools) IF (ALLOCATED(armoredpools )) DEALLOCATE(armoredpools) IF (ALLOCATED(hleafpools )) DEALLOCATE(hleafpools) IF (ALLOCATED(hfrootpools )) DEALLOCATE(hfrootpools) IF (ALLOCATED(hsurfstrpools )) DEALLOCATE(hsurfstrpools) IF (ALLOCATED(hsurfmetpools )) DEALLOCATE(hsurfmetpools) IF (ALLOCATED(hsurfmicpools )) DEALLOCATE(hsurfmicpools) IF (ALLOCATED(hsoilstrpools )) DEALLOCATE(hsoilstrpools) IF (ALLOCATED(hsoilmetpools )) DEALLOCATE(hsoilmetpools) IF (ALLOCATED(hsoilmicpools )) DEALLOCATE(hsoilmicpools) IF (ALLOCATED(hslowpools )) DEALLOCATE(hslowpools) IF (ALLOCATED(harmoredpools )) DEALLOCATE(harmoredpools) IF (ALLOCATED(fuelshortage )) DEALLOCATE(fuelshortage) IF (ALLOCATED(LtN )) DEALLOCATE(LtN) IF (ALLOCATED(annK_leaf )) DEALLOCATE(annK_leaf) IF (ALLOCATED(annK_leaf_hg )) DEALLOCATE(annK_leaf_hg) IF (ALLOCATED(annK_wood )) DEALLOCATE(annK_wood) IF (ALLOCATED(annK_froot )) DEALLOCATE(annK_froot) IF (ALLOCATED(K_wood )) DEALLOCATE(K_wood) IF (ALLOCATED(K_froot )) DEALLOCATE(K_froot) IF (ALLOCATED(K_leaf )) DEALLOCATE(K_leaf) IF (ALLOCATED(K_hleaf )) DEALLOCATE(K_hleaf) IF (ALLOCATED(K_hfroot )) DEALLOCATE(K_hfroot) IF (ALLOCATED(K_surfmet )) DEALLOCATE(K_surfmet) IF (ALLOCATED(K_surfstr )) DEALLOCATE(K_surfstr) IF (ALLOCATED(K_soilmet )) DEALLOCATE(K_soilmet) IF (ALLOCATED(K_soilstr )) DEALLOCATE(K_soilstr) IF (ALLOCATED(K_cwd )) DEALLOCATE(K_cwd) IF (ALLOCATED(K_surfmic )) DEALLOCATE(K_surfmic) IF (ALLOCATED(K_soilmic )) DEALLOCATE(K_soilmic) IF (ALLOCATED(K_slow )) DEALLOCATE(K_slow) IF (ALLOCATED(K_armored )) DEALLOCATE(K_armored) IF (ALLOCATED(slitscalar )) DEALLOCATE(slitscalar) IF (ALLOCATED(shlitscalar )) DEALLOCATE(shlitscalar) IF (ALLOCATED(srootlitscalar )) DEALLOCATE(srootlitscalar) IF (ALLOCATED(sabiotic )) DEALLOCATE(sabiotic) IF (ALLOCATED(sabiotsmc )) DEALLOCATE(sabiotsmc) IF (ALLOCATED(sabiotlign )) DEALLOCATE(sabiotlign) IF (ALLOCATED(metabfract )) DEALLOCATE(metabfract) IF (ALLOCATED(structuralLignin )) DEALLOCATE(structuralLignin) IF (ALLOCATED(lignineffect )) DEALLOCATE(lignineffect) IF (ALLOCATED(soilmicDecayFactor )) DEALLOCATE(soilmicDecayFactor) IF (ALLOCATED(slowDecayFactor )) DEALLOCATE(slowDecayFactor) IF (ALLOCATED(armoredDecayFactor )) DEALLOCATE(armoredDecayFactor) IF (ALLOCATED(fid )) DEALLOCATE(fid) IF (ALLOCATED(decayClayFactor )) DEALLOCATE(decayClayFactor) IF (ALLOCATED(eff_soilmic2slow )) DEALLOCATE(eff_soilmic2slow) IF (ALLOCATED(latitude )) DEALLOCATE(latitude) IF (ALLOCATED(latitude1 )) DEALLOCATE(latitude1) IF (ALLOCATED(fuelwooddemand )) DEALLOCATE(fuelwooddemand) IF (ALLOCATED(T1 )) DEALLOCATE(T1) IF (ALLOCATED(T2low )) DEALLOCATE(T2low) IF (ALLOCATED(T2high )) DEALLOCATE(T2high) IF (ALLOCATED(NPPtemp )) DEALLOCATE(NPPtemp) IF (ALLOCATED(IPAR )) DEALLOCATE(IPAR) IF (ALLOCATED(NPP )) DEALLOCATE(NPP) IF (ALLOCATED(epsilona )) DEALLOCATE(epsilona) IF (ALLOCATED(bgtemp )) DEALLOCATE(bgtemp) IF (ALLOCATED(abiotic )) DEALLOCATE(abiotic) IF (ALLOCATED(grass_herbivory )) DEALLOCATE(grass_herbivory) IF (ALLOCATED(trees_herbivory )) DEALLOCATE(trees_herbivory) IF (ALLOCATED(herb_seasonality )) DEALLOCATE(herb_seasonality) IF (ALLOCATED(MINLAI )) DEALLOCATE(MINLAI) IF (ALLOCATED(SUMLAI )) DEALLOCATE(SUMLAI) IF (ALLOCATED(AVELAI )) DEALLOCATE(AVELAI) IF (ALLOCATED(LTVARSUM )) DEALLOCATE(LTVARSUM) IF (ALLOCATED(SUMLAInew )) DEALLOCATE(SUMLAInew) IF (ALLOCATED(litterscalar )) DEALLOCATE(litterscalar) IF (ALLOCATED(hlitterscalar )) DEALLOCATE(hlitterscalar) IF (ALLOCATED(rootlitscalar )) DEALLOCATE(rootlitscalar) IF (ALLOCATED(ccWood )) DEALLOCATE(ccWood) IF (ALLOCATED(ccLeaf )) DEALLOCATE(ccLeaf) IF (ALLOCATED(PET_current )) DEALLOCATE(PET_current) IF (ALLOCATED(CCratio_current )) DEALLOCATE(CCratio_current) IF (ALLOCATED(ccFineLitter )) DEALLOCATE(ccFineLitter) IF (ALLOCATED(ccCWD )) DEALLOCATE(ccCWD) IF (ALLOCATED(CCratio_previous )) DEALLOCATE(CCratio_previous) IF (ALLOCATED(mortality_tree )) DEALLOCATE(mortality_tree) IF (ALLOCATED(mortality_hfroot )) DEALLOCATE(mortality_hfroot) IF (ALLOCATED(leafinput )) DEALLOCATE(leafinput) IF (ALLOCATED(woodinput )) DEALLOCATE(woodinput) IF (ALLOCATED(frootinput )) DEALLOCATE(frootinput) IF (ALLOCATED(herbivory )) DEALLOCATE(herbivory) IF (ALLOCATED(carbonout_leaf )) DEALLOCATE(carbonout_leaf) IF (ALLOCATED(carbonout_abovewood )) DEALLOCATE(carbonout_abovewood) IF (ALLOCATED(carbonout_belowwood )) DEALLOCATE(carbonout_belowwood) IF (ALLOCATED(carbonout_froot )) DEALLOCATE(carbonout_froot) IF (ALLOCATED(carbonout_cwd )) DEALLOCATE(carbonout_cwd) IF (ALLOCATED(carbonout_surfmet )) DEALLOCATE(carbonout_surfmet) IF (ALLOCATED(carbonout_surfstr )) DEALLOCATE(carbonout_surfstr) IF (ALLOCATED(carbonout_soilmet )) DEALLOCATE(carbonout_soilmet) IF (ALLOCATED(carbonout_soilstr )) DEALLOCATE(carbonout_soilstr) IF (ALLOCATED(carbonout_surfmic )) DEALLOCATE(carbonout_surfmic) IF (ALLOCATED(carbonout_soilmic )) DEALLOCATE(carbonout_soilmic) IF (ALLOCATED(carbonout_slow )) DEALLOCATE(carbonout_slow) IF (ALLOCATED(carbonout_armored )) DEALLOCATE(carbonout_armored) IF (ALLOCATED(resppool_surfstr )) DEALLOCATE(resppool_surfstr) IF (ALLOCATED(resppool_surfmet )) DEALLOCATE(resppool_surfmet) IF (ALLOCATED(resppool_surfmic )) DEALLOCATE(resppool_surfmic) IF (ALLOCATED(resppool_soilstr )) DEALLOCATE(resppool_soilstr) IF (ALLOCATED(resppool_soilmet )) DEALLOCATE(resppool_soilmet) IF (ALLOCATED(resppool_soilmic )) DEALLOCATE(resppool_soilmic) IF (ALLOCATED(resppool_slow )) DEALLOCATE(resppool_slow) IF (ALLOCATED(resppool_armored )) DEALLOCATE(resppool_armored) IF (ALLOCATED(resp_surfstr )) DEALLOCATE(resp_surfstr) IF (ALLOCATED(resp_surfmet )) DEALLOCATE(resp_surfmet) IF (ALLOCATED(resp_surfmic )) DEALLOCATE(resp_surfmic) IF (ALLOCATED(resp_soilstr )) DEALLOCATE(resp_soilstr) IF (ALLOCATED(resp_soilmet )) DEALLOCATE(resp_soilmet) IF (ALLOCATED(resp_soilmic )) DEALLOCATE(resp_soilmic) IF (ALLOCATED(resp_slow )) DEALLOCATE(resp_slow) IF (ALLOCATED(resp_armored )) DEALLOCATE(resp_armored) IF (ALLOCATED(temp )) DEALLOCATE(temp) IF (ALLOCATED(combusted_leaf )) DEALLOCATE(combusted_leaf) IF (ALLOCATED(combusted_abovewood )) DEALLOCATE(combusted_abovewood) IF (ALLOCATED(combusted_cwd )) DEALLOCATE(combusted_cwd) IF (ALLOCATED(combusted_surfstr )) DEALLOCATE(combusted_surfstr) IF (ALLOCATED(combusted_surfmet )) DEALLOCATE(combusted_surfmet) IF (ALLOCATED(combusted_surfmic )) DEALLOCATE(combusted_surfmic) IF (ALLOCATED(combusted_soilstr )) DEALLOCATE(combusted_soilstr) IF (ALLOCATED(combusted_soilmet )) DEALLOCATE(combusted_soilmet) IF (ALLOCATED(combusted_soilmic )) DEALLOCATE(combusted_soilmic) IF (ALLOCATED(combusted_slow )) DEALLOCATE(combusted_slow) IF (ALLOCATED(combusted_armored )) DEALLOCATE(combusted_armored) IF (ALLOCATED(combusted_surfmic )) DEALLOCATE(combusted_surfmic) IF (ALLOCATED(nonCombusted_leaf )) DEALLOCATE(nonCombusted_leaf) IF (ALLOCATED(nonCombusted_abovewood)) DEALLOCATE(nonCombusted_abovewood) IF (ALLOCATED(nonCombusted_belowwood)) DEALLOCATE(nonCombusted_belowwood) IF (ALLOCATED(nonCombusted_froot )) DEALLOCATE(nonCombusted_froot) IF (ALLOCATED(fuelwoodout )) DEALLOCATE(fuelwoodout) IF (ALLOCATED(wresp )) DEALLOCATE(wresp) IF (ALLOCATED(wcomb )) DEALLOCATE(wcomb) IF (ALLOCATED(wherb )) DEALLOCATE(wherb) IF (ALLOCATED(wbiof )) DEALLOCATE(wbiof) IF (ALLOCATED(hresp )) DEALLOCATE(hresp) IF (ALLOCATED(hcomb )) DEALLOCATE(hcomb) IF (ALLOCATED(hherb )) DEALLOCATE(hherb) IF (ALLOCATED(ageClassIndex )) DEALLOCATE(ageClassIndex) IF (ALLOCATED(BFallClasses )) DEALLOCATE(BFallClasses) IF (ALLOCATED(BFleftCurrentMonth )) DEALLOCATE(BFleftCurrentMonth) IF (ALLOCATED(BFtemp )) DEALLOCATE(BFtemp) IF (ALLOCATED(ageCurrentClass )) DEALLOCATE(ageCurrentClass) IF (ALLOCATED(ageClassSorted )) DEALLOCATE(ageClassSorted) IF (ALLOCATED(ageClassSortedInd )) DEALLOCATE(ageClassSortedInd) IF (ALLOCATED(tempAge )) DEALLOCATE(tempAge) IF (ALLOCATED(NPPmonthly )) DEALLOCATE(NPPmonthly) IF (ALLOCATED(respmonthly )) DEALLOCATE(respmonthly) IF (ALLOCATED(combmonthly )) DEALLOCATE(combmonthly) IF (ALLOCATED(herbmonthly )) DEALLOCATE(herbmonthly) IF (ALLOCATED(biofmonthly )) DEALLOCATE(biofmonthly) IF (ALLOCATED(respEQ )) DEALLOCATE(respEQ) IF (ALLOCATED(combEQ )) DEALLOCATE(combEQ) IF (ALLOCATED(herbEQ )) DEALLOCATE(herbEQ) IF (ALLOCATED(biofEQ )) DEALLOCATE(biofEQ) IF (ALLOCATED(veg )) DEALLOCATE(veg) IF (ALLOCATED(soiltext )) DEALLOCATE(soiltext) IF (ALLOCATED(fuelneed )) DEALLOCATE(fuelneed) IF (ALLOCATED(popdens )) DEALLOCATE(popdens) IF (ALLOCATED(perc_tree )) DEALLOCATE(perc_tree) IF (ALLOCATED(perc_herb )) DEALLOCATE(perc_herb) IF (ALLOCATED(airt )) DEALLOCATE(airt) IF (ALLOCATED(ppt )) DEALLOCATE(ppt) IF (ALLOCATED(solrad )) DEALLOCATE(solrad) IF (ALLOCATED(NDVI )) DEALLOCATE(NDVI) IF (ALLOCATED(BF )) DEALLOCATE(BF) IF (ALLOCATED(veg1 )) DEALLOCATE(veg1) IF (ALLOCATED(soiltext1 )) DEALLOCATE(soiltext1) IF (ALLOCATED(fuelneed1 )) DEALLOCATE(fuelneed1) IF (ALLOCATED(popdens1 )) DEALLOCATE(popdens1) IF (ALLOCATED(perc_tree1 )) DEALLOCATE(perc_tree1) IF (ALLOCATED(perc_herb1 )) DEALLOCATE(perc_herb1) IF (ALLOCATED(frac_tree )) DEALLOCATE(frac_tree) IF (ALLOCATED(frac_herb )) DEALLOCATE(frac_herb) IF (ALLOCATED(frac_veg )) DEALLOCATE(frac_veg) IF (ALLOCATED(airt1 )) DEALLOCATE(airt1) IF (ALLOCATED(ppt1 )) DEALLOCATE(ppt1) IF (ALLOCATED(ppt_mo )) DEALLOCATE(ppt_mo) IF (ALLOCATED(solrad1 )) DEALLOCATE(solrad1) IF (ALLOCATED(NDVI1 )) DEALLOCATE(NDVI1) IF (ALLOCATED(BF1 )) DEALLOCATE(BF1) IF (ALLOCATED(gridAreaa )) DEALLOCATE(gridAreaa) IF (ALLOCATED(gridAreab )) DEALLOCATE(gridAreab) IF (ALLOCATED(mask2 )) DEALLOCATE(mask2) IF (ALLOCATED(Hg0dry )) DEALLOCATE(Hg0dry) IF (ALLOCATED(HgIIdry )) DEALLOCATE(HgIIdry) IF (ALLOCATED(HgIIwet )) DEALLOCATE(HgIIwet) IF (ALLOCATED(Hg0dry_mo )) DEALLOCATE(Hg0dry_mo) IF (ALLOCATED(HgIIdry_mo )) DEALLOCATE(HgIIdry_mo) IF (ALLOCATED(HgIIwet_mo )) DEALLOCATE(HgIIwet_mo) IF (ALLOCATED(HgP )) DEALLOCATE(HgP) IF (ALLOCATED(HgAq )) DEALLOCATE(HgAq) IF (ALLOCATED(hHgAq )) DEALLOCATE(hHgAq) IF (ALLOCATED(Hg0_surf_leaf )) DEALLOCATE(Hg0_surf_leaf) IF (ALLOCATED(Hg0_surf_soil )) DEALLOCATE(Hg0_surf_soil) IF (ALLOCATED(HgII_surf_leaf )) DEALLOCATE(HgII_surf_leaf) IF (ALLOCATED(HgII_surf_soil )) DEALLOCATE(HgII_surf_soil) IF (ALLOCATED(maxallLAI )) DEALLOCATE(maxallLAI) IF (ALLOCATED(fstom )) DEALLOCATE(fstom) IF (ALLOCATED(fleaf )) DEALLOCATE(fleaf) IF (ALLOCATED(fsoil )) DEALLOCATE(fsoil) IF (ALLOCATED(fsum )) DEALLOCATE(fsum) IF (ALLOCATED(freemitted )) DEALLOCATE(freemitted) IF (ALLOCATED(reemitted )) DEALLOCATE(reemitted) IF (ALLOCATED(temp_hg )) DEALLOCATE(temp_hg) IF (ALLOCATED(photoreduced )) DEALLOCATE(photoreduced) IF (ALLOCATED(maxt )) DEALLOCATE(maxt) IF (ALLOCATED(abovewoodpool_Hg )) DEALLOCATE(abovewoodpool_Hg) IF (ALLOCATED(belowwoodpool_Hg )) DEALLOCATE(belowwoodpool_Hg) IF (ALLOCATED(leafpool_Hg )) DEALLOCATE(leafpool_Hg) IF (ALLOCATED(frootpool_Hg )) DEALLOCATE(frootpool_Hg) IF (ALLOCATED(cwdpool_Hg )) DEALLOCATE(cwdpool_Hg) IF (ALLOCATED(surfstrpool_Hg )) DEALLOCATE(surfstrpool_Hg) IF (ALLOCATED(surfmetpool_Hg )) DEALLOCATE(surfmetpool_Hg) IF (ALLOCATED(surfmicpool_Hg )) DEALLOCATE(surfmicpool_Hg) IF (ALLOCATED(soilstrpool_Hg )) DEALLOCATE(soilstrpool_Hg) IF (ALLOCATED(soilmetpool_Hg )) DEALLOCATE(soilmetpool_Hg) IF (ALLOCATED(soilmicpool_Hg )) DEALLOCATE(soilmicpool_Hg) IF (ALLOCATED(slowpool_Hg )) DEALLOCATE(slowpool_Hg) IF (ALLOCATED(armoredpool_Hg )) DEALLOCATE(armoredpool_Hg) IF (ALLOCATED(hleafpool_Hg )) DEALLOCATE(hleafpool_Hg) IF (ALLOCATED(hfrootpool_Hg )) DEALLOCATE(hfrootpool_Hg) IF (ALLOCATED(hsurfstrpool_Hg )) DEALLOCATE(hsurfstrpool_Hg) IF (ALLOCATED(hsurfmetpool_Hg )) DEALLOCATE(hsurfmetpool_Hg) IF (ALLOCATED(hsurfmicpool_Hg )) DEALLOCATE(hsurfmicpool_Hg) IF (ALLOCATED(hsoilstrpool_Hg )) DEALLOCATE(hsoilstrpool_Hg) IF (ALLOCATED(hsoilmetpool_Hg )) DEALLOCATE(hsoilmetpool_Hg) IF (ALLOCATED(hsoilmicpool_Hg )) DEALLOCATE(hsoilmicpool_Hg) IF (ALLOCATED(hslowpool_Hg )) DEALLOCATE(hslowpool_Hg) IF (ALLOCATED(harmoredpool_Hg )) DEALLOCATE(harmoredpool_Hg) IF (ALLOCATED(hgout_surfmet )) DEALLOCATE(hgout_surfmet) IF (ALLOCATED(hgout_surfstr )) DEALLOCATE(hgout_surfstr) IF (ALLOCATED(hgout_leaf )) DEALLOCATE(hgout_leaf) IF (ALLOCATED(hgout_soilstr )) DEALLOCATE(hgout_soilstr) IF (ALLOCATED(hgout_surfmic )) DEALLOCATE(hgout_surfmic) IF (ALLOCATED(hgout_soilmic )) DEALLOCATE(hgout_soilmic) IF (ALLOCATED(hgout_soilmet )) DEALLOCATE(hgout_soilmet) IF (ALLOCATED(hgout_slow )) DEALLOCATE(hgout_slow) IF (ALLOCATED(hgout_armored )) DEALLOCATE(hgout_armored) IF (ALLOCATED(resppool_surfmet_hg )) DEALLOCATE(resppool_surfmet_hg) IF (ALLOCATED(resppool_surfmic_hg )) DEALLOCATE(resppool_surfmic_hg) IF (ALLOCATED(resppool_soilstr_hg )) DEALLOCATE(resppool_soilstr_hg) IF (ALLOCATED(resppool_surfstr_hg )) DEALLOCATE(resppool_surfstr_hg) IF (ALLOCATED(resppool_soilmic_hg )) DEALLOCATE(resppool_soilmic_hg) IF (ALLOCATED(resppool_soilmet_hg )) DEALLOCATE(resppool_soilmet_hg) IF (ALLOCATED(resppool_slow_hg )) DEALLOCATE(resppool_slow_hg) IF (ALLOCATED(resppool_armored_hg )) DEALLOCATE(resppool_armored_hg) IF (ALLOCATED(resp_surfmet_hg )) DEALLOCATE(resp_surfmet_hg) IF (ALLOCATED(resp_surfmic_hg )) DEALLOCATE(resp_surfmic_hg) IF (ALLOCATED(resp_soilstr_hg )) DEALLOCATE(resp_soilstr_hg) IF (ALLOCATED(resp_surfstr_hg )) DEALLOCATE(resp_surfstr_hg) IF (ALLOCATED(resp_soilmic_hg )) DEALLOCATE(resp_soilmic_hg) IF (ALLOCATED(resp_soilmet_hg )) DEALLOCATE(resp_soilmet_hg) IF (ALLOCATED(resp_slow_hg )) DEALLOCATE(resp_slow_hg) IF (ALLOCATED(resp_armored_hg )) DEALLOCATE(resp_armored_hg) IF (ALLOCATED(combusted_leaf_hg )) DEALLOCATE(combusted_leaf_hg) IF (ALLOCATED(combusted_surfstr_hg )) DEALLOCATE(combusted_surfstr_hg) IF (ALLOCATED(combusted_surfmet_hg )) DEALLOCATE(combusted_surfmet_hg) IF (ALLOCATED(combusted_surfmic_hg )) DEALLOCATE(combusted_surfmic_hg) IF (ALLOCATED(combusted_soilstr_hg )) DEALLOCATE(combusted_soilstr_hg) IF (ALLOCATED(combusted_soilmet_hg )) DEALLOCATE(combusted_soilmet_hg) IF (ALLOCATED(combusted_soilmic_hg )) DEALLOCATE(combusted_soilmic_hg) IF (ALLOCATED(combusted_slow_hg )) DEALLOCATE(combusted_slow_hg) IF (ALLOCATED(combusted_armored_hg )) DEALLOCATE(combusted_armored_hg) IF (ALLOCATED(combusted_surfmic_hg )) DEALLOCATE(combusted_surfmic_hg) IF (ALLOCATED(nonCombusted_leaf_hg )) DEALLOCATE(nonCombusted_leaf_hg) IF (ALLOCATED(fuelwoodout_hg )) DEALLOCATE(fuelwoodout_hg) IF (ALLOCATED(wresp_hg )) DEALLOCATE(wresp_hg) IF (ALLOCATED(wcomb_hg )) DEALLOCATE(wcomb_hg) IF (ALLOCATED(wherb_hg )) DEALLOCATE(wherb_hg) IF (ALLOCATED(wbiof_hg )) DEALLOCATE(wbiof_hg) IF (ALLOCATED(hresp_hg )) DEALLOCATE(hresp_hg) IF (ALLOCATED(hcomb_hg )) DEALLOCATE(hcomb_hg) IF (ALLOCATED(hherb_hg )) DEALLOCATE(hherb_hg) IF (ALLOCATED(veg_burn )) DEALLOCATE(veg_burn) IF (ALLOCATED(NPPmonthly_hg )) DEALLOCATE(NPPmonthly_hg) IF (ALLOCATED(respmonthly_hg )) DEALLOCATE(respmonthly_hg) IF (ALLOCATED(combmonthly_hg )) DEALLOCATE(combmonthly_hg) IF (ALLOCATED(herbmonthly_hg )) DEALLOCATE(herbmonthly_hg) IF (ALLOCATED(biofmonthly_hg )) DEALLOCATE(biofmonthly_hg) IF (ALLOCATED(respEQ_hg )) DEALLOCATE(respEQ_hg) IF (ALLOCATED(combEQ_hg )) DEALLOCATE(combEQ_hg) IF (ALLOCATED(herbEQ_hg )) DEALLOCATE(herbEQ_hg) IF (ALLOCATED(biofEQ_hg )) DEALLOCATE(biofEQ_hg) IF (ALLOCATED(evapEQ_hg )) DEALLOCATE(evapEQ_hg) IF (ALLOCATED(reemitEQ_hg )) DEALLOCATE(reemitEQ_hg) IF (ALLOCATED(photoEQ_hg )) DEALLOCATE(photoEQ_hg) IF (ALLOCATED(leafpoolEQ_hg )) DEALLOCATE(leafpoolEQ_hg) IF (ALLOCATED(Hg0out )) DEALLOCATE(Hg0out) IF (ALLOCATED(slowpoolEQ_hg )) DEALLOCATE(slowpoolEQ_hg) IF (ALLOCATED(armoredpoolEQ_hg )) DEALLOCATE(armoredpoolEQ_hg) IF (ALLOCATED(surfstrpoolEQ_hg )) DEALLOCATE(surfstrpoolEQ_hg) IF (ALLOCATED(soilstrpoolEQ_hg )) DEALLOCATE(soilstrpoolEQ_hg) IF (ALLOCATED(surfmetpoolEQ_hg )) DEALLOCATE(surfmetpoolEQ_hg) IF (ALLOCATED(soilmetpoolEQ_hg )) DEALLOCATE(soilmetpoolEQ_hg) IF (ALLOCATED(surfmicpoolEQ_hg )) DEALLOCATE(surfmicpoolEQ_hg) IF (ALLOCATED(soilmicpoolEQ_hg )) DEALLOCATE(soilmicpoolEQ_hg) IF (ALLOCATED(HgAqEQ_hg )) DEALLOCATE(HgAqEQ_hg) IF (ALLOCATED(reemmonthly_hg )) DEALLOCATE(reemmonthly_hg) IF (ALLOCATED(photmonthly_hg )) DEALLOCATE(photmonthly_hg) IF (ALLOCATED(slowmonthly )) DEALLOCATE(slowmonthly) IF (ALLOCATED(armoredmonthly )) DEALLOCATE(armoredmonthly) IF (ALLOCATED(surfstrmonthly )) DEALLOCATE(surfstrmonthly) IF (ALLOCATED(surfmetmonthly )) DEALLOCATE(surfmetmonthly) IF (ALLOCATED(surfmicmonthly )) DEALLOCATE(surfmicmonthly) IF (ALLOCATED(soilstrmonthly )) DEALLOCATE(soilstrmonthly) IF (ALLOCATED(soilmetmonthly )) DEALLOCATE(soilmetmonthly) IF (ALLOCATED(soilmicmonthly )) DEALLOCATE(soilmicmonthly) IF (ALLOCATED(leafmonthly )) DEALLOCATE(leafmonthly) IF (ALLOCATED(slowmonthly_hg )) DEALLOCATE(slowmonthly_hg) IF (ALLOCATED(armoredmonthly_hg )) DEALLOCATE(armoredmonthly_hg) IF (ALLOCATED(surfstrmonthly_hg )) DEALLOCATE(surfstrmonthly_hg) IF (ALLOCATED(surfmetmonthly_hg )) DEALLOCATE(surfmetmonthly_hg) IF (ALLOCATED(surfmicmonthly_hg )) DEALLOCATE(surfmicmonthly_hg) IF (ALLOCATED(soilstrmonthly_hg )) DEALLOCATE(soilstrmonthly_hg) IF (ALLOCATED(soilmetmonthly_hg )) DEALLOCATE(soilmetmonthly_hg) IF (ALLOCATED(soilmicmonthly_hg )) DEALLOCATE(soilmicmonthly_hg) IF (ALLOCATED(leafmonthly_hg )) DEALLOCATE(leafmonthly_hg) IF (ALLOCATED(leafpoolEQ )) DEALLOCATE(leafpoolEQ) IF (ALLOCATED(slowpoolEQ )) DEALLOCATE(slowpoolEQ) IF (ALLOCATED(armoredpoolEQ )) DEALLOCATE(armoredpoolEQ) IF (ALLOCATED(surfstrpoolEQ )) DEALLOCATE(surfstrpoolEQ) IF (ALLOCATED(soilstrpoolEQ )) DEALLOCATE(soilstrpoolEQ) IF (ALLOCATED(surfmetpoolEQ )) DEALLOCATE(surfmetpoolEQ) IF (ALLOCATED(soilmetpoolEQ )) DEALLOCATE(soilmetpoolEQ) IF (ALLOCATED(surfmicpoolEQ )) DEALLOCATE(surfmicpoolEQ) IF (ALLOCATED(soilmicpoolEQ )) DEALLOCATE(soilmicpoolEQ) IF (ALLOCATED(HgAqmonthly )) DEALLOCATE(HgAqmonthly) IF (ALLOCATED(biomeAnnual_Hg )) DEALLOCATE(biomeAnnual_Hg) IF (ALLOCATED(total_tree_hg )) DEALLOCATE(total_tree_hg) IF (ALLOCATED(total_herb_hg )) DEALLOCATE(total_herb_hg) IF (ALLOCATED(Hg_pool_fluxes1 )) DEALLOCATE(Hg_pool_fluxes1) IF (ALLOCATED(Hg_pool_fluxes2 )) DEALLOCATE(Hg_pool_fluxes2) IF (ALLOCATED(Hg_pool_fluxes3 )) DEALLOCATE(Hg_pool_fluxes3) IF (ALLOCATED(Hg_pool_fluxes4 )) DEALLOCATE(Hg_pool_fluxes4) IF (ALLOCATED(Hg_pool_fluxes5 )) DEALLOCATE(Hg_pool_fluxes5) IF (ALLOCATED(Hg_pool_fluxes6 )) DEALLOCATE(Hg_pool_fluxes6) IF (ALLOCATED(Hg_hpool_fluxes1 )) DEALLOCATE(Hg_hpool_fluxes1) IF (ALLOCATED(Hg_hpool_fluxes2 )) DEALLOCATE(Hg_hpool_fluxes2) IF (ALLOCATED(Hg_hpool_fluxes3 )) DEALLOCATE(Hg_hpool_fluxes3) IF (ALLOCATED(Hg_hpool_fluxes4 )) DEALLOCATE(Hg_hpool_fluxes4) IF (ALLOCATED(Hg_hpool_fluxes5 )) DEALLOCATE(Hg_hpool_fluxes5) IF (ALLOCATED(Hg_hpool_fluxes6 )) DEALLOCATE(Hg_hpool_fluxes6) IF (ALLOCATED(f_carbonout_surfmet )) DEALLOCATE(f_carbonout_surfmet) IF (ALLOCATED(f_carbonout_surfstr )) DEALLOCATE(f_carbonout_surfstr) IF (ALLOCATED(f_carbonout_leaf )) DEALLOCATE(f_carbonout_leaf) IF (ALLOCATED(f_carbonout_soilstr )) DEALLOCATE(f_carbonout_soilstr) IF (ALLOCATED(f_carbonout_surfmic )) DEALLOCATE(f_carbonout_surfmic) IF (ALLOCATED(f_carbonout_soilmic )) DEALLOCATE(f_carbonout_soilmic) IF (ALLOCATED(f_carbonout_slow )) DEALLOCATE(f_carbonout_slow) IF (ALLOCATED(f_carbonout_armored )) DEALLOCATE(f_carbonout_armored) IF (ALLOCATED(f_carbonout_soilmet )) DEALLOCATE(f_carbonout_soilmet) END SUBROUTINE CleanupCASAarrays !EOC ================================================ FILE: GTMM/GTMM.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !PROGRAM: GTMM ! ! !DESCRIPTION: Based on the CASA (Carnegie, Ames, Stanford Approach) ! terrestrial biogeochemical model designed to simulate the terrestrial ! carbon cycle using satellite data !\\ !\\ ! !INTERFACE: ! PROGRAM GTMM ! ! !USES: ! USE defineConstants ! modify defineConstants.f90 to choose ! parameters for your run USE loadCASAinput USE defineArrays USE DORESTART_MOD ! New module to save/read Hg data and ! CASA data for continuation runs and GEOS-CHEM. ! (ccc, 11/3/09) USE INPUT_GTMM_MOD USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE ! ! !AUTHOR: ! !GTMM (Global Terrestrial Mercury Model) Developed by !Nicole Smith-Downey (nicolevdowney@gmail.com) 2006-2009 !See Smith-Downey, Sunderland and Jacob, JGR Biogeosciences, 2009 ! !Based on the CASA (Carnegie, Ames, Stanford Approach) terrestrial !biogeochemical model designed to simulate the terrestrial !carbon cycle using satellite data ! !Original program written by Potter and Randerson !See: Potter, C.S., J.T. Randerson, C.B. Field, P.A. Matson, ! P.M.Vitousek, H.A. Mooney, and S.A. Klooster, 1993. ! Terrestrial ecosystem production: A process model ! based on satellite and surface data. Global ! Biogeochemical Cycles (7) 811-841. ! ! !REVISION HISTORY: ! ! ( 1) Translated into Matlab and accounted for fires by Guido van ! der Werf. !See: van der Werf, G.R., J.T. Randerson, G.J. Collatz and L. ! Giglio, 2003. Carbon emissions from fires in tropical ! and subtropical ecosystems. Global Change Biology 9 ! (4) 547-562. ! ! ( 2) Translated into Fortran90 and added Mercury simulation by ! Nicole Smith Downey - 2006 ! ! ( 3) Main program for offline simulations. Added coupling to GEOS-Chem ! (see GTMM_coupled.f90) (ccc, 7/9/10) ! ( 4) Added capacity to restart runs. (ccc, 7/9/10) ! 25 Nov 2014 - M. Yannetti - Added PRECISION_MOD !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp), DIMENSION(72, 46) :: Hg0reemit ! Dummy array. Used for coupling ! with GC only INTEGER :: year, month, ageClass LOGICAL :: LCPLE=.FALSE. ! Logical to define if we run ! coupled to GEOS-Chem or not ! Leave LCPLE to .FALSE. for the ! stand-alone model. (ccc, 11/2/09) LOGICAL :: FIRST=.TRUE. !---------------------------------------------------------------------------- ! GTMM begins here ! !---------------------------------------------------------------------------- CALL makeCASAarrays !subroutine in defineArrays CALL readCASAparam CALL initialize ! CALL READ_GTMM_INPUT_FILE !read data from input.gtmm (ccc) ! IF ( LRESTART ) FIRST=.FALSE. !<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> print '(a)', '' print '(a)', 'STARTING GTMM...' print '(a)', '' print '(a)', 'Your outputpath is: ', outputpath print '(a)', ' ' print '(a)', 'You have chosen: ' print '(a, i4, a, i4, a)', ' ', rows, ' rows and '& &, columns, ' columns' print '(a, i6, a)', ' ', NPPequilibriumYear, ' years to& & equilibrate Carbon Pools' print '(a, i6, a)', ' ', HgPoolsequilibriumYear, ' years to& & equilibrate carbon/Hg pools' print '(a, i6, a)', ' ', n_age_classes, ' age classes' print '(a,f3.1,a)', ' ', Q10, ' = Q10' print '(a,f3.1,a)', ' ', EMAX, ' = EMAX' print '(a,f3.1,a)', ' ', aboveWoodFraction, ' = aboveWoodFraction' print '(a,f3.1,a)', ' ', herbivoreEff, ' = herbivore efficiency' print '(a,f5.3,a)', ' ', decompHgEff, ' = fraction Hg released during & &decomposition' print '(a)', ' ' !<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> CALL load_data(LCPLE) !subroutine in loadCASAinput.f90 CALL CONV_TO_1D IF (.NOT.LRESTART) THEN ! NPP equilibrium only done for the first run h=1 print *, 'starting spinup to npp equilibirum' ! run NPP to equilibrium DO year=1,NPPequilibriumYear print *, yr DO month=1,12 ! CALL load_data(year, month, LCPLE) !subroutine in loadCASAinput.f90 CALL doLatitude CALL getSoilParams CALL getSoilMoistParams CALL getFuelWood CALL doPET CALL doSoilMoisture CALL doFPARandLAI(FIRST) CALL doOptimumTemperature CALL doNPP CALL doHerbivory CALL doLeafRootShedding CALL getFireParams IF (n_age_classes == 1) THEN CALL doTreeCarbon CALL doHerbCarbon ELSE DO ageClass=1,n_age_classes CALL getAgeClassBF CALL assignAgeClassToRunningPool CALL doTreeCarbon CALL doHerbCarbon CALL assignRanPoolToAgeClass age_class=age_class+1 END DO CALL organizeAgeClasses ENDIF !CALL processData age_class=1 mo=mo+1 END DO mo=1 yr=yr+1 h=h+1 IF (h > 25) THEN h=1 ENDIF FIRST=.FALSE. END DO ! Save values to restart file CALL doSaveCASAforRestart ENDIF IF ( LRESTART ) THEN ! Need to load data from previous run CALL doReadCASAfromRestart ! Read Hg data saved from previous run. (ccc, 11/3/09) CALL doReadHgforGC ENDIF ! run terrestrial mercury age_class=1 mo = 1 DO year=(NPPequilibriumYear+1),(HgPoolsequilibriumYear) print *, yr DO month=1,12 ! CALL load_data(year, month, LCPLE) !subroutine in loadCASAinput.f90 CALL getSoilParams CALL getSoilMoistParams CALL doLatitude CALL getFuelWood CALL doMaxHg CALL loadHgDeposition(LCPLE) CALL doHgDeposition(LCPLE) IF (n_age_classes == 1) THEN CALL doTreeCarbonHg(LCPLE) CALL doHerbCarbonHg(LCPLE) ELSE DO ageClass=1, n_age_classes CALL getAgeClassBF CALL assignAgeClassToRunningPool CALL doTreeCarbonHg(LCPLE) CALL doHerbCarbonHg(LCPLE) CALL assignRanPoolToAgeClass age_class=age_class+1 END DO CALL organizeAgeClasses ENDIF IF (yr == indYear) THEN CALL HgOutForGEOS(LCPLE, Hg0reemit) ENDIF !CALL processData age_class=1 mo=mo+1 END DO mo=1 yr=yr+1 h=h+1 IF (h > 25) THEN h=1 ENDIF END DO ! Save Hg data at equilibrium to use in GEOS-Chem. (ccc, 11/3/09) CALL doSaveHgforGC ! END OF RUN -- DEALLOCATE ALL print *, 'deallocating all arrays' CALL CleanupCASAarrays END PROGRAM GTMM !EOC ================================================ FILE: GTMM/GTMM_coupled.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: GTMM_coupled ! ! !DESCRIPTION: Main subroutine for GTMM when coupled to GEOS-Chem. Replace ! GTMM.f90. !\\ !\\ ! !INTERFACE: ! SUBROUTINE GTMM_coupled(year, month, DD_Hg0, DD_HgII, WD_HgII, & TS, PREACC, RADSWG, Hg0reemit ) ! ! !USES: ! USE defineConstants ! modify defineConstants.f90 to choose ! parameters for your run USE loadCASAinput USE defineArrays USE DORESTART_MOD ! New module to save/read Hg data for ! GEOS-CHEM. (ccc, 11/3/09) USE INPUT_GTMM_MOD USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: DD_Hg0(72, 46), DD_HgII(72, 46), & WD_HgII(72, 46) ! Hg deposition info. REAL(fp), INTENT(IN), DIMENSION(72, 46) :: TS, PREACC, RADSWG !Met field info ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: year, month ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT), DIMENSION(72, 46) :: Hg0reemit ! Reemitted flux, ! output to GEOS-Chem ! ! !REVISION HISTORY: ! 09 Jul 2010 - C. Carouge - First version. Adapted from GTMM.f90 ! 25 Nov 2014 - M. Yannetti - Added PRECISION_MOD !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: ageClass ! Define if we run CASA for carbon equilibre or not. LOGICAL, SAVE :: LEQUIL = .TRUE. LOGICAL :: LCPLE ! Give value to LCPLE LCPLE=.TRUE. CALL readCASAparam CALL makeCASAarrays !subroutine in defineArrays CALL initialize ! CALL READ_GTMM_INPUT_FILE !read data from input.gtmm (ccc) ! !<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> print '(a)', '' print '(a)', 'STARTING GTMM...' print '(a)', '' print '(a)', 'Your outputpath is: ', outputpath print '(a)', ' ' print '(a)', 'You have chosen: ' print '(a, i4, a, i4, a)', ' ', rows, ' rows and '& &, columns, ' columns' print '(a, i6, a)', ' ', NPPequilibriumYear, ' years to& & equilibrate Carbon Pools' print '(a, i6, a)', ' ', HgPoolsequilibriumYear, ' years to& & equilibrate carbon/Hg pools' print '(a, i6, a)', ' ', n_age_classes, ' age classes' print '(a,f3.1,a)', ' ', Q10, ' = Q10' print '(a,f3.1,a)', ' ', EMAX, ' = EMAX' print '(a,f3.1,a)', ' ', aboveWoodFraction, ' = aboveWoodFraction' print '(a,f3.1,a)', ' ', herbivoreEff, ' = herbivore efficiency' print '(a,f5.3,a)', ' ', decompHgEff, ' = fraction Hg released during decomposition' print '(a)', ' ' !<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> CALL doReadCASAfromRestart h=1 ! run terrestrial mercury for the current month only age_class=1 yr = year mo = month print *, year ! CALL load_data(year, month, LCPLE, TS, PREACC, RADSWG) !in loadCASAinput.f90 CALL load_data(LCPLE) !in loadCASAinput.f90 CALL load_GC_data(month, TS, PREACC, RADSWG) CALL CONV_TO_1D CALL getSoilParams CALL getSoilMoistParams CALL doLatitude CALL getFuelWood ! Read Hg data saved from equilibrium run. (ccc, 11/3/09) CALL doReadHgforGC CALL doMaxHg ! We need to pass deposition arrays read by GEOS-Chem (ccc, 9/17/09) CALL loadHgDeposition(LCPLE, DD_Hg0, DD_HgII, WD_HgII) CALL doHgDeposition(LCPLE) IF (n_age_classes .eq. 1) THEN CALL doTreeCarbonHg(LCPLE) CALL doHerbCarbonHg(LCPLE) ELSE DO ageClass=1, n_age_classes CALL getAgeClassBF CALL assignAgeClassToRunningPool CALL doTreeCarbonHg(LCPLE) CALL doHerbCarbonHg(LCPLE) CALL assignRanPoolToAgeClass age_class=age_class+1 END DO CALL organizeAgeClasses ENDIF CALL HgOutForGEOS(LCPLE, Hg0reemit) ! END OF RUN -- DEALLOCATE ALL print *, 'deallocating all arrays' CALL CleanupCASAarrays END SUBROUTINE GTMM_coupled !EOC ================================================ FILE: GTMM/HgOutForGEOS.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: HgOutForGEOS ! ! !DESCRIPTION: Subroutine HgOutForGEOS converts the (n\_veg,1) data to 1x1, ! then to 4x5 grid then writes out the file for use by GEOS-Chem. !\\ !\\ ! !INTERFACE: ! SUBROUTINE HgOutForGEOS(LCPLE, Hg0reemit) ! ! !USES: ! USE defineConstants USE loadCASAinput USE defineArrays USE CasaRegridModule USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: LCPLE ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: Hg0reemit(72, 46) ! ! !REVISION HISTORY: ! 09 Jul 2010 - C. Carouge - Modified to couple with GEOS-Chem ! 25 Nov 2014 - M. Yannetti - Added PRECISION_MOD !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) :: Hg0outGEOS(72,46) REAL(fp) :: Hg0out1x1(360,180) REAL(fp) :: Hg0CombGEOS(72,46) REAL(fp) :: Hg0Comb1x1(360,180) REAL(fp) :: HgPCombGEOS(72,46) REAL(fp) :: HgPComb1x1(360,180) REAL(fp) :: Hg0PhotGEOS(72,46) REAL(fp) :: Hg0Phot1x1(360,180) REAL(fp) :: Hg0VoltGEOS(72,46) REAL(fp) :: Hg0Volt1x1(360,180) REAL(fp) :: Hg0RespGEOS(72,46) REAL(fp) :: Hg0Resp1x1(360,180) REAL(fp) :: LAT_LONG(3,n_veg) REAL(fp) :: pi=3.14159265e+0_fp REAL(fp) :: radius=6378140.00e+0_fp REAL(fp) :: g, a, apixel REAL(fp), dimension(360,180) :: gridAreaf REAL(fp), dimension(72,46) :: gridAreag CHARACTER(LEN=f_len+6) :: filename1 CHARACTER(LEN=f_len_output+9) :: filename2 CHARACTER(3), DIMENSION(12) :: months INTEGER :: j,i, v, w filename1(1:f_len)=filepath filename1(f_len+1:f_len+6)='months' OPEN(UNIT=3, FILE=filename1, FORM='FORMATTED') READ(3,*) months CLOSE(3) filename1(f_len+1:f_len+6)='geosm2' OPEN(UNIT=3, FILE=filename1, FORM='FORMATTED') READ(3,*) gridareag CLOSE(3) !$OMP PARALLEL & !$OMP DEFAULT(SHARED) !$OMP WORKSHARE Hg0out(:,1)=0.0e+0_fp Hg0out(:,1)=(wresp_hg(:,1)*frac_tree(:,1))+ & (hresp_hg(:,1)*frac_herb(:,1))+ & reemitted(:,1)+photoreduced(:,1) !$OMP END WORKSHARE !$OMP END PARALLEL filename1(f_len+1:f_len+6)='latlon' OPEN(UNIT=5, FILE=filename1, FORM='FORMATTED') READ(5,*) LAT_LONG CLOSE(5) ! Initialize arrays to 0. (ccc, 10/21/09) Hg0out1x1 = 0e+0_fp Hg0Phot1x1 = 0e+0_fp Hg0Volt1x1 = 0e+0_fp Hg0Resp1x1 = 0e+0_fp Hg0outGEOS = 0e+0_fp Hg0PhotGEOS = 0e+0_fp Hg0VoltGEOS = 0e+0_fp Hg0RespGEOS = 0e+0_fp !$OMP PARALLEL DO & !$OMP DEFAULT(SHARED) & !$OMP PRIVATE(i, v, w) DO i=1, n_veg v=lat_long(1,i) w=lat_long(2,i) Hg0out1x1(v,w)=Hg0out(i,1) Hg0Phot1x1(v,w)=photoreduced(i,1) Hg0Volt1x1(v,w)=reemitted(i,1) Hg0Resp1x1(v,w)=(wresp_hg(i,1)*frac_tree(i,1))+(hresp_hg(i,1)*frac_herb(i,1)) END DO !$OMP END PARALLEL DO CALL CasaRegridInit CALL regrid1x1to4x5(1, Hg0out1x1, Hg0outGEOS) CALL regrid1x1to4x5(1, Hg0Phot1x1, Hg0PhotGEOS) CALL regrid1x1to4x5(1, Hg0Volt1x1, Hg0VoltGEOS) CALL regrid1x1to4x5(1, Hg0Resp1x1, Hg0RespGEOS) !!CONVERT from g/m2/mo --> kg/s !$OMP PARALLEL DO & !$OMP DEFAULT(SHARED) & !$OMP PRIVATE(i, j) DO j=1, 46 DO i=1, 72 Hg0outGEOS(i,j)=Hg0outGEOS(i,j)*gridAreag(i,j)*(1e+0_fp/1000e+0_fp)* & (1e+0_fp/2629743.8e+0_fp) Hg0PhotGEOS(i,j)=Hg0PhotGEOS(i,j)*gridAreag(i,j)*(1e+0_fp/1000e+0_fp)* & (1e+0_fp/2629743.8e+0_fp) Hg0VoltGEOS(i,j)=Hg0VoltGEOS(i,j)*gridAreag(i,j)*(1e+0_fp/1000e+0_fp)* & (1e+0_fp/2629743.8e+0_fp) Hg0RespGEOS(i,j)=Hg0RespGEOS(i,j)*gridAreag(i,j)*(1e+0_fp/1000e+0_fp)* & (1e+0_fp/2629743.8e+0_fp) END DO END DO !$OMP END PARALLEL DO filename2(1:f_len_output)=outputpath filename2(f_len_output+1:f_len_output+6)='Hg0out' filename2(f_len_output+7:f_len_output+9)=months(mo) ! Output the total Hg0 re-emitted to GEOS-Chem. Hg0reemit=Hg0outGEOS IF ( .NOT. LCPLE ) THEN OPEN(UNIT=5, FILE=filename2) WRITE(5,*) Hg0outGEOS CLOSE(5) filename2(f_len_output+1:f_len_output+6)='Hg0Pht' OPEN(UNIT=5, FILE=filename2) WRITE(5,*) Hg0PhotGEOS CLOSE(5) filename2(f_len_output+1:f_len_output+6)='Hg0Vot' OPEN(UNIT=5, FILE=filename2) WRITE(5,*) Hg0VoltGEOS CLOSE(5) filename2(f_len_output+1:f_len_output+6)='Hg0Res' OPEN(UNIT=5, FILE=filename2) WRITE(5,*) Hg0RespGEOS CLOSE(5) ENDIF !ok, now data has been written out for geoschem END SUBROUTINE HgOutForGEOS !EOC ================================================ FILE: GTMM/assignAgeClassToRunningPool.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: assignAgeClassToRunningPool ! ! !DESCRIPTION: This subroutine ... ! running pool. !\\ !\\ ! !INTERFACE: ! SUBROUTINE assignAgeClassToRunningPool ! ! !USES: ! USE defineConstants USE loadCASAinput USE defineArrays implicit none ! ! !REVISION HISTORY: ! 09 July 2010 - C. Carouge - Add parallelization. !EOP !------------------------------------------------------------------------------ !BOC ! !$OMP PARALLEL & !$OMP DEFAULT(SHARED) !$OMP WORKSHARE abovewoodpool(:,1)=abovewoodpools(:,age_class) belowwoodpool(:,1)=belowwoodpools(:,age_class) leafpool(:,1)=leafpools(:,age_class) frootpool(:,1)=frootpools(:,age_class) cwdpool(:,1)=cwdpools(:,age_class) surfstrpool(:,1)=surfstrpools(:,age_class) surfmetpool(:,1)=surfmetpools(:,age_class) surfmicpool(:,1)=surfmicpools(:,age_class) soilstrpool(:,1)=soilstrpools(:,age_class) soilmetpool(:,1)=soilmetpools(:,age_class) soilmicpool(:,1)=soilmicpools(:,age_class) slowpool(:,1)=slowpools(:,age_class) armoredpool(:,1)=armoredpools(:,age_class) hleafpool(:,1)=hleafpools(:,age_class) hfrootpool(:,1)=hfrootpools(:,age_class) hsurfstrpool(:,1)=hsurfstrpools(:,age_class) hsurfmetpool(:,1)=hsurfmetpools(:,age_class) hsurfmicpool(:,1)=hsurfmicpools(:,age_class) hsoilstrpool(:,1)=hsoilstrpools(:,age_class) hsoilmetpool(:,1)=hsoilmetpools(:,age_class) hsoilmicpool(:,1)=hsoilmicpools(:,age_class) hslowpool(:,1)=hslowpools(:,age_class) harmoredpool(:,1)=harmoredpools(:,age_class) !$OMP END WORKSHARE !$OMP END PARALLEL END SUBROUTINE assignAgeClassToRunningPool !EOC ================================================ FILE: GTMM/assignRanPoolToAgeClass.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: assignRanPoolToAgeClass ! ! !DESCRIPTION: This subroutine ... !\\ !\\ ! !INTERFACE: ! SUBROUTINE assignRanPoolToAgeClass ! ! !USES: ! USE defineConstants USE loadCASAinput USE defineArrays implicit none ! ! !REVISION HISTORY: ! 09 July 2010 - C. Carouge - Add parallelization. ! !EOP !------------------------------------------------------------------------------ !BOC ! !$OMP PARALLEL & !$OMP DEFAULT(SHARED) !$OMP WORKSHARE abovewoodpools(:,age_class)=abovewoodpool(:,1) belowwoodpools(:,age_class)=belowwoodpool(:,1) leafpools(:,age_class)=leafpool(:,1) frootpools(:,age_class)=frootpool(:,1) cwdpools(:,age_class)=cwdpool(:,1) surfstrpools(:,age_class)=surfstrpool(:,1) surfmetpools(:,age_class)=surfmetpool(:,1) surfmicpools(:,age_class)=surfmicpool(:,1) soilstrpools(:,age_class)=soilstrpool(:,1) soilmetpools(:,age_class)=soilmetpool(:,1) soilmicpools(:,age_class)=soilmicpool(:,1) slowpools(:,age_class)=slowpool(:,1) armoredpools(:,age_class)=armoredpool(:,1) hleafpools(:,age_class)=hleafpool(:,1) hfrootpools(:,age_class)=hfrootpool(:,1) hsurfstrpools(:,age_class)=hsurfstrpool(:,1) hsurfmetpools(:,age_class)=hsurfmetpool(:,1) hsurfmicpools(:,age_class)=hsurfmicpool(:,1) hsoilstrpools(:,age_class)=hsoilstrpool(:,1) hsoilmetpools(:,age_class)=hsoilmetpool(:,1) hsoilmicpools(:,age_class)=hsoilmicpool(:,1) hslowpools(:,age_class)=hslowpool(:,1) harmoredpools(:,age_class)=harmoredpool(:,1) !$OMP END WORKSHARE !$OMP END PARALLEL END SUBROUTINE assignRanPoolToAgeClass !EOC ================================================ FILE: GTMM/defineArrays.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: defineArrays ! ! !DESCRIPTION: Module defineArrays defines all allocatable arrays for GTMM !\\ !\\ ! !INTERFACE: ! MODULE defineArrays ! ! !USES: ! USE defineConstants USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE ! ! !PUBLIC DATA MEMBERS: ! ! in getSoilParams CHARACTER(5), dimension(20000) :: years REAL(fp), ALLOCATABLE :: clay(:,:) REAL(fp), ALLOCATABLE :: silt(:,:) REAL(fp), ALLOCATABLE :: sand(:,:) REAL(fp), ALLOCATABLE :: litcn(:,:) REAL(fp), ALLOCATABLE :: lignin(:,:) REAL(fp), ALLOCATABLE :: lrage(:,:) REAL(fp), ALLOCATABLE :: woodage(:,:) !in getSoilMoistureParams REAL(fp), ALLOCATABLE :: SMparams(:,:) REAL(fp), ALLOCATABLE :: last_soilm(:,:) ! in doPET REAL(fp), ALLOCATABLE :: PET(:,:) REAL(fp), ALLOCATABLE :: AHI(:,:) REAL(fp) :: coef(4,12) ! in doSoilMoisture REAL(fp), ALLOCATABLE :: last_pack(:,:) REAL(fp), ALLOCATABLE :: spack(:,:) REAL(fp), ALLOCATABLE :: bgmoist(:,:) REAL(fp), ALLOCATABLE :: NPPmoist(:,:) REAL(fp), ALLOCATABLE :: EET(:,:) REAL(fp), ALLOCATABLE :: NPPmoist_temp(:,:) REAL(fp), ALLOCATABLE :: bgmoist_temp(:,:) REAL(fp), ALLOCATABLE :: bgmoistpret(:,:) REAL(fp), ALLOCATABLE :: NPPmoistpret(:,:) REAL(fp), ALLOCATABLE :: soilm(:,:) REAL(fp), ALLOCATABLE :: rdr(:,:) REAL(fp), ALLOCATABLE :: current_ppt(:,:) REAL(fp), ALLOCATABLE :: eeta(:,:) REAL(fp), ALLOCATABLE :: eetb(:,:) REAL(fp), ALLOCATABLE :: this_soilm(:,:) REAL(fp), ALLOCATABLE :: bgratio(:,:) ! in doFPARandLAI !constraints used to determine the simple ratio for each !grid cell from code written by Sietse Los in Jan 93 REAL(fp) :: SRMAX1 = 4.2448e+0_fp REAL(fp) :: SRMAX2 = 4.5970e+0_fp REAL(fp) :: SRMAX3 = 4.5970e+0_fp REAL(fp) :: SRMAX4 = 4.5970e+0_fp REAL(fp) :: SRMAX5 = 4.5970e+0_fp REAL(fp) :: SRMAX6 = 4.2448e+0_fp REAL(fp) :: SRMAX7 = 3.8387e+0_fp REAL(fp) :: SRMAX8 = 4.5970e+0_fp REAL(fp) :: SRMAX9 = 3.8387e+0_fp REAL(fp) :: SRMAX10 = 3.8387e+0_fp REAL(fp) :: SRMAX11 = 3.8387e+0_fp REAL(fp) :: SRMAX12 = 3.8387e+0_fp REAL(fp) :: SRMIN = 1.0e+0_fp ! for unvegetated land !maximum and minimum possible FPAR REAL(fp) :: FPARMAX=0.9500e+0_fp REAL(fp) :: FPARMIN=0.0000e+0_fp ! changed from original ! code, was 0.0010 !maximum possible LAI for each biome REAL(fp) :: LAIMAX1 = 7.0000e+0_fp REAL(fp) :: LAIMAX2 = 7.0000e+0_fp REAL(fp) :: LAIMAX3 = 7.5000e+0_fp REAL(fp) :: LAIMAX4 = 8.0000e+0_fp REAL(fp) :: LAIMAX5 = 8.0000e+0_fp REAL(fp) :: LAIMAX6 = 5.0000e+0_fp REAL(fp) :: LAIMAX7 = 5.0000e+0_fp REAL(fp) :: LAIMAX8 = 5.0000e+0_fp REAL(fp) :: LAIMAX9 = 5.0000e+0_fp REAL(fp) :: LAIMAX10 = 5.0000e+0_fp REAL(fp) :: LAIMAX11 = 5.0000e+0_fp REAL(fp) :: LAIMAX12 = 6.0000e+0_fp REAL(fp) :: Ae !arrays for later use REAL(fp), ALLOCATABLE :: srmax(:,:) REAL(fp), ALLOCATABLE :: LAImax(:,:) REAL(fp), ALLOCATABLE :: LAI_temp(:,:) REAL(fp), ALLOCATABLE :: FPAR(:,:) REAL(fp), ALLOCATABLE :: LAI(:,:) REAL(fp), ALLOCATABLE :: sr(:,:) !in doOptimumTemperature REAL(fp), ALLOCATABLE :: topt(:,:) REAL(fp), ALLOCATABLE :: maxlai(:,:) REAL(fp), ALLOCATABLE :: lais(:,:) !in doLeafRootShedding REAL(fp), ALLOCATABLE :: LTCON(:,:) REAL(fp), ALLOCATABLE :: LTVAR(:,:) !in doTreeCarbon and doHerbCarbon INTEGER :: n_wood_pools=13 INTEGER :: n_herb_pools=10 !woody pools REAL(fp), ALLOCATABLE :: abovewoodpool(:,:) REAL(fp), ALLOCATABLE :: belowwoodpool(:,:) REAL(fp), ALLOCATABLE :: leafpool(:,:) REAL(fp), ALLOCATABLE :: frootpool(:,:) REAL(fp), ALLOCATABLE :: cwdpool(:,:) REAL(fp), ALLOCATABLE :: surfstrpool(:,:) REAL(fp), ALLOCATABLE :: surfmetpool(:,:) REAL(fp), ALLOCATABLE :: surfmicpool(:,:) REAL(fp), ALLOCATABLE :: soilstrpool(:,:) REAL(fp), ALLOCATABLE :: soilmetpool(:,:) REAL(fp), ALLOCATABLE :: soilmicpool(:,:) REAL(fp), ALLOCATABLE :: slowpool(:,:) REAL(fp), ALLOCATABLE :: armoredpool(:,:) !woody pools Hg REAL(fp), ALLOCATABLE :: abovewoodpool_Hg(:,:) REAL(fp), ALLOCATABLE :: belowwoodpool_Hg(:,:) REAL(fp), ALLOCATABLE :: leafpool_Hg(:,:) REAL(fp), ALLOCATABLE :: frootpool_Hg(:,:) REAL(fp), ALLOCATABLE :: cwdpool_Hg(:,:) REAL(fp), ALLOCATABLE :: surfstrpool_Hg(:,:) REAL(fp), ALLOCATABLE :: surfmetpool_Hg(:,:) REAL(fp), ALLOCATABLE :: surfmicpool_Hg(:,:) REAL(fp), ALLOCATABLE :: soilstrpool_Hg(:,:) REAL(fp), ALLOCATABLE :: soilmetpool_Hg(:,:) REAL(fp), ALLOCATABLE :: soilmicpool_Hg(:,:) REAL(fp), ALLOCATABLE :: slowpool_Hg(:,:) REAL(fp), ALLOCATABLE :: armoredpool_Hg(:,:) REAL(fp), ALLOCATABLE :: total_tree_hg(:,:) !herb pools REAL(fp), ALLOCATABLE :: hleafpool(:,:) REAL(fp), ALLOCATABLE :: hfrootpool(:,:) REAL(fp), ALLOCATABLE :: hsurfstrpool(:,:) REAL(fp), ALLOCATABLE :: hsurfmetpool(:,:) REAL(fp), ALLOCATABLE :: hsurfmicpool(:,:) REAL(fp), ALLOCATABLE :: hsoilstrpool(:,:) REAL(fp), ALLOCATABLE :: hsoilmetpool(:,:) REAL(fp), ALLOCATABLE :: hsoilmicpool(:,:) REAL(fp), ALLOCATABLE :: hslowpool(:,:) REAL(fp), ALLOCATABLE :: harmoredpool(:,:) !herb pools Hg REAL(fp), ALLOCATABLE :: hleafpool_Hg(:,:) REAL(fp), ALLOCATABLE :: hfrootpool_Hg(:,:) REAL(fp), ALLOCATABLE :: hsurfstrpool_Hg(:,:) REAL(fp), ALLOCATABLE :: hsurfmetpool_Hg(:,:) REAL(fp), ALLOCATABLE :: hsurfmicpool_Hg(:,:) REAL(fp), ALLOCATABLE :: hsoilstrpool_Hg(:,:) REAL(fp), ALLOCATABLE :: hsoilmetpool_Hg(:,:) REAL(fp), ALLOCATABLE :: hsoilmicpool_Hg(:,:) REAL(fp), ALLOCATABLE :: hslowpool_Hg(:,:) REAL(fp), ALLOCATABLE :: harmoredpool_Hg(:,:) REAL(fp), ALLOCATABLE :: total_herb_hg(:,:) !max hg woody pool REAL(fp), ALLOCATABLE :: max_hg_leaf(:,:) REAL(fp), ALLOCATABLE :: max_hg_surfstr(:,:) REAL(fp), ALLOCATABLE :: max_hg_surfmet(:,:) REAL(fp), ALLOCATABLE :: max_hg_surfmic(:,:) REAL(fp), ALLOCATABLE :: max_hg_soilstr(:,:) REAL(fp), ALLOCATABLE :: max_hg_soilmet(:,:) REAL(fp), ALLOCATABLE :: max_hg_soilmic(:,:) REAL(fp), ALLOCATABLE :: max_hg_slow(:,:) REAL(fp), ALLOCATABLE :: max_hg_armored(:,:) !max hg herb pools REAL(fp), ALLOCATABLE :: max_hg_hleaf(:,:) REAL(fp), ALLOCATABLE :: max_hg_hsurfstr(:,:) REAL(fp), ALLOCATABLE :: max_hg_hsurfmet(:,:) REAL(fp), ALLOCATABLE :: max_hg_hsurfmic(:,:) REAL(fp), ALLOCATABLE :: max_hg_hsoilstr(:,:) REAL(fp), ALLOCATABLE :: max_hg_hsoilmet(:,:) REAL(fp), ALLOCATABLE :: max_hg_hsoilmic(:,:) REAL(fp), ALLOCATABLE :: max_hg_hslow(:,:) REAL(fp), ALLOCATABLE :: max_hg_harmored(:,:) !woody pools REAL(fp), ALLOCATABLE :: abovewoodpools(:,:) REAL(fp), ALLOCATABLE :: belowwoodpools(:,:) REAL(fp), ALLOCATABLE :: leafpools(:,:) REAL(fp), ALLOCATABLE :: frootpools(:,:) REAL(fp), ALLOCATABLE :: cwdpools(:,:) REAL(fp), ALLOCATABLE :: surfstrpools(:,:) REAL(fp), ALLOCATABLE :: surfmetpools(:,:) REAL(fp), ALLOCATABLE :: surfmicpools(:,:) REAL(fp), ALLOCATABLE :: soilstrpools(:,:) REAL(fp), ALLOCATABLE :: soilmetpools(:,:) REAL(fp), ALLOCATABLE :: soilmicpools(:,:) REAL(fp), ALLOCATABLE :: slowpools(:,:) REAL(fp), ALLOCATABLE :: armoredpools(:,:) !herb poolss REAL(fp), ALLOCATABLE :: hleafpools(:,:) REAL(fp), ALLOCATABLE :: hfrootpools(:,:) REAL(fp), ALLOCATABLE :: hsurfstrpools(:,:) REAL(fp), ALLOCATABLE :: hsurfmetpools(:,:) REAL(fp), ALLOCATABLE :: hsurfmicpools(:,:) REAL(fp), ALLOCATABLE :: hsoilstrpools(:,:) REAL(fp), ALLOCATABLE :: hsoilmetpools(:,:) REAL(fp), ALLOCATABLE :: hsoilmicpools(:,:) REAL(fp), ALLOCATABLE :: hslowpools(:,:) REAL(fp), ALLOCATABLE :: harmoredpools(:,:) REAL(fp), ALLOCATABLE :: fuelshortage(:,:) REAL(fp), ALLOCATABLE :: LtN(:,:) REAL(fp), ALLOCATABLE :: annK_leaf(:,:) REAL(fp), ALLOCATABLE :: annK_leaf_hg(:,:) REAL(fp), ALLOCATABLE :: annK_wood(:,:) REAL(fp), ALLOCATABLE :: annK_froot(:,:) REAL(fp), ALLOCATABLE :: K_wood(:,:) REAL(fp), ALLOCATABLE :: K_froot(:,:) REAL(fp), ALLOCATABLE :: K_leaf(:,:) REAL(fp), ALLOCATABLE :: K_hleaf(:,:) REAL(fp), ALLOCATABLE :: K_hfroot(:,:) REAL(fp), ALLOCATABLE :: K_surfmet(:,:) REAL(fp), ALLOCATABLE :: K_surfstr(:,:) REAL(fp), ALLOCATABLE :: K_soilmet(:,:) REAL(fp), ALLOCATABLE :: K_soilstr(:,:) REAL(fp), ALLOCATABLE :: K_cwd(:,:) REAL(fp), ALLOCATABLE :: K_surfmic(:,:) REAL(fp), ALLOCATABLE :: K_soilmic(:,:) REAL(fp), ALLOCATABLE :: K_slow(:,:) REAL(fp), ALLOCATABLE :: K_armored(:,:) REAL(fp), ALLOCATABLE :: slitscalar(:,:) REAL(fp), ALLOCATABLE :: shlitscalar(:,:) REAL(fp), ALLOCATABLE :: srootlitscalar(:,:) REAL(fp), ALLOCATABLE :: sabiotic(:,:) REAL(fp), ALLOCATABLE :: sabiotsmc(:,:) REAL(fp), ALLOCATABLE :: sabiotlign(:,:) REAL(fp), ALLOCATABLE :: metabfract(:,:) REAL(fp), ALLOCATABLE :: structuralLignin(:,:) REAL(fp), ALLOCATABLE :: lignineffect(:,:) REAL(fp), ALLOCATABLE :: soilmicDecayFactor(:,:) REAL(fp), ALLOCATABLE :: slowDecayFactor(:,:) REAL(fp), ALLOCATABLE :: armoredDecayFactor(:,:) REAL(fp), ALLOCATABLE :: fid(:,:) REAL(fp), ALLOCATABLE :: decayClayFactor(:,:) REAL(fp), ALLOCATABLE :: eff_soilmic2slow(:,:) ! rate constants for pools REAL(fp) :: annK_hleaf=2.000e+0_fp !turnover time for grass leaves REAL(fp) :: annK_hfroot=2.000e+0_fp !turnover time for grass roots REAL(fp) :: annK_surfmet=14.800e+0_fp REAL(fp) :: annK_surfstr=3.900e+0_fp REAL(fp) :: annK_soilmet=18.500e+0_fp REAL(fp) :: annK_soilstr=4.800e+0_fp REAL(fp) :: annK_cwd=0.2500e+0_fp REAL(fp) :: annK_surfmic=6.000e+0_fp REAL(fp) :: annK_soilmic=7.300e+0_fp REAL(fp) :: annK_slow=0.200e+0_fp REAL(fp) :: annK_armored=0.0045e+0_fp REAL(fp) :: annK_hleaf_hg=2.000e+0_fp !turnover time for grass leaves REAL(fp) :: annK_surfmet_hg=14.800e+0_fp REAL(fp) :: annK_surfstr_hg=3.900e+0_fp REAL(fp) :: annK_soilmet_hg=18.500e+0_fp REAL(fp) :: annK_soilstr_hg=4.800e+0_fp REAL(fp) :: annK_surfmic_hg=6.000e+0_fp REAL(fp) :: annK_soilmic_hg=7.300e+0_fp REAL(fp) :: annK_slow_hg=0.200e+0_fp REAL(fp) :: annK_armored_hg=0.0045e+0_fp REAL(fp) :: eff_surfstr2slow=0.700e+0_fp REAL(fp) :: eff_surfstr2surfmic=0.400e+0_fp REAL(fp) :: eff_soilstr2slow=0.700e+0_fp REAL(fp) :: eff_soilstr2soilmic=0.4500e+0_fp REAL(fp) :: eff_cwd2slow=0.700e+0_fp REAL(fp) :: eff_surfmic2slow=0.400e+0_fp REAL(fp) :: eff_surfmet2surfmic=0.400e+0_fp REAL(fp) :: eff_soilmet2soilmic=0.4500e+0_fp REAL(fp) :: eff_slow2soilmic=0.4500e+0_fp REAL(fp) :: eff_armored2soilmic=0.4500e+0_fp REAL(fp) :: woodligninfract=0.400e+0_fp !estimate that lignin content of !wood is 40% REAL(fp), ALLOCATABLE :: latitude(:,:) REAL(fp), ALLOCATABLE :: latitude1(:,:) REAL(fp), ALLOCATABLE :: fuelwooddemand(:,:) !in doNPP REAL(fp), ALLOCATABLE :: T1(:,:) REAL(fp), ALLOCATABLE :: T2low(:,:) REAL(fp), ALLOCATABLE :: T2high(:,:) REAL(fp), ALLOCATABLE :: NPPtemp(:,:) REAL(fp), ALLOCATABLE :: IPAR(:,:) REAL(fp), ALLOCATABLE :: NPP(:,:) REAL(fp), ALLOCATABLE :: epsilona(:,:) REAL(fp), ALLOCATABLE :: bgtemp(:,:) REAL(fp), ALLOCATABLE :: abiotic(:,:) !in doHerbivory REAL(fp), ALLOCATABLE :: grass_herbivory(:,:) REAL(fp), ALLOCATABLE :: trees_herbivory(:,:) REAL(fp), ALLOCATABLE :: herb_seasonality(:,:) !in doLeafRootShedding REAL(fp), ALLOCATABLE :: MINLAI(:,:) REAL(fp), ALLOCATABLE :: SUMLAI(:,:) REAL(fp), ALLOCATABLE :: AVELAI(:,:) REAL(fp), ALLOCATABLE :: LTVARSUM(:,:) REAL(fp), ALLOCATABLE :: SUMLAInew(:,:) REAL(fp), ALLOCATABLE :: litterscalar(:,:) REAL(fp), ALLOCATABLE :: hlitterscalar(:,:) REAL(fp), ALLOCATABLE :: rootlitscalar(:,:) !in getFireParams REAL(fp) :: CC(4,2) REAL(fp), ALLOCATABLE :: ccWood(:,:) REAL(fp), ALLOCATABLE :: ccLeaf(:,:) REAL(fp), ALLOCATABLE :: PET_current(:,:) REAL(fp), ALLOCATABLE :: CCratio_current(:,:) REAL(fp), ALLOCATABLE :: ccFineLitter(:,:) REAL(fp), ALLOCATABLE :: ccCWD(:,:) REAL(fp), ALLOCATABLE :: CCratio_previous(:,:) REAL(fp), ALLOCATABLE :: mortality_tree(:,:) REAL(fp), ALLOCATABLE :: mortality_hfroot(:,:) !in doTreeCarbon and doHerbCarbon REAL(fp), ALLOCATABLE :: leafinput(:,:) REAL(fp), ALLOCATABLE :: woodinput(:,:) REAL(fp), ALLOCATABLE :: frootinput(:,:) REAL(fp), ALLOCATABLE :: herbivory(:,:) REAL(fp), ALLOCATABLE :: carbonout_leaf(:,:) REAL(fp), ALLOCATABLE :: carbonout_abovewood(:,:) REAL(fp), ALLOCATABLE :: carbonout_belowwood(:,:) REAL(fp), ALLOCATABLE :: carbonout_froot(:,:) REAL(fp), ALLOCATABLE :: carbonout_cwd(:,:) REAL(fp), ALLOCATABLE :: carbonout_surfmet(:,:) REAL(fp), ALLOCATABLE :: carbonout_surfstr(:,:) REAL(fp), ALLOCATABLE :: carbonout_soilmet(:,:) REAL(fp), ALLOCATABLE :: carbonout_soilstr(:,:) REAL(fp), ALLOCATABLE :: carbonout_surfmic(:,:) REAL(fp), ALLOCATABLE :: carbonout_soilmic(:,:) REAL(fp), ALLOCATABLE :: carbonout_slow(:,:) REAL(fp), ALLOCATABLE :: carbonout_armored(:,:) REAL(fp), ALLOCATABLE :: hgout_surfmet(:,:) REAL(fp), ALLOCATABLE :: hgout_surfstr(:,:) REAL(fp), ALLOCATABLE :: hgout_leaf(:,:) REAL(fp), ALLOCATABLE :: hgout_soilstr(:,:) REAL(fp), ALLOCATABLE :: hgout_surfmic(:,:) REAL(fp), ALLOCATABLE :: hgout_soilmic(:,:) REAL(fp), ALLOCATABLE :: hgout_slow(:,:) REAL(fp), ALLOCATABLE :: hgout_armored(:,:) REAL(fp), ALLOCATABLE :: hgout_soilmet(:,:) REAL(fp), ALLOCATABLE :: Hg_pool_fluxes1(:,:) REAL(fp), ALLOCATABLE :: Hg_pool_fluxes2(:,:) REAL(fp), ALLOCATABLE :: Hg_pool_fluxes3(:,:) REAL(fp), ALLOCATABLE :: Hg_pool_fluxes4(:,:) REAL(fp), ALLOCATABLE :: Hg_pool_fluxes5(:,:) REAL(fp), ALLOCATABLE :: Hg_pool_fluxes6(:,:) REAL(fp), ALLOCATABLE :: Hg_hpool_fluxes1(:,:) REAL(fp), ALLOCATABLE :: Hg_hpool_fluxes2(:,:) REAL(fp), ALLOCATABLE :: Hg_hpool_fluxes3(:,:) REAL(fp), ALLOCATABLE :: Hg_hpool_fluxes4(:,:) REAL(fp), ALLOCATABLE :: Hg_hpool_fluxes5(:,:) REAL(fp), ALLOCATABLE :: Hg_hpool_fluxes6(:,:) REAL(fp), ALLOCATABLE :: resppool_surfstr_hg(:,:) REAL(fp), ALLOCATABLE :: resppool_surfmet_hg(:,:) REAL(fp), ALLOCATABLE :: resppool_surfmic_hg(:,:) REAL(fp), ALLOCATABLE :: resppool_soilstr_hg(:,:) REAL(fp), ALLOCATABLE :: resppool_soilmic_hg(:,:) REAL(fp), ALLOCATABLE :: resppool_soilmet_hg(:,:) REAL(fp), ALLOCATABLE :: resppool_slow_hg(:,:) REAL(fp), ALLOCATABLE :: resppool_armored_hg(:,:) REAL(fp), ALLOCATABLE :: resp_surfstr_hg(:,:) REAL(fp), ALLOCATABLE :: resp_surfmet_hg(:,:) REAL(fp), ALLOCATABLE :: resp_surfmic_hg(:,:) REAL(fp), ALLOCATABLE :: resp_soilstr_hg(:,:) REAL(fp), ALLOCATABLE :: resp_soilmic_hg(:,:) REAL(fp), ALLOCATABLE :: resp_soilmet_hg(:,:) REAL(fp), ALLOCATABLE :: resp_slow_hg(:,:) REAL(fp), ALLOCATABLE :: resp_armored_hg(:,:) REAL(fp), ALLOCATABLE :: combusted_leaf_hg(:,:) REAL(fp), ALLOCATABLE :: combusted_surfstr_hg(:,:) REAL(fp), ALLOCATABLE :: combusted_surfmet_hg(:,:) REAL(fp), ALLOCATABLE :: combusted_surfmic_hg(:,:) REAL(fp), ALLOCATABLE :: nonCombusted_leaf_hg(:,:) REAL(fp), ALLOCATABLE :: combusted_soilstr_hg(:,:) REAL(fp), ALLOCATABLE :: combusted_soilmet_hg(:,:) REAL(fp), ALLOCATABLE :: combusted_soilmic_hg(:,:) REAL(fp), ALLOCATABLE :: combusted_slow_hg(:,:) REAL(fp), ALLOCATABLE :: combusted_armored_hg(:,:) REAL(fp), ALLOCATABLE :: fuelwoodout_hg(:,:) REAL(fp), ALLOCATABLE :: wresp_hg(:,:) REAL(fp), ALLOCATABLE :: wcomb_hg(:,:) REAL(fp), ALLOCATABLE :: wherb_hg(:,:) REAL(fp), ALLOCATABLE :: wbiof_hg(:,:) REAL(fp), ALLOCATABLE :: hresp_hg(:,:) REAL(fp), ALLOCATABLE :: hcomb_hg(:,:) REAL(fp), ALLOCATABLE :: hherb_hg(:,:) REAL(fp), ALLOCATABLE :: veg_burn(:,:) REAL(fp), ALLOCATABLE :: f_carbonout_surfmet(:,:) REAL(fp), ALLOCATABLE :: f_carbonout_surfstr(:,:) REAL(fp), ALLOCATABLE :: f_carbonout_leaf(:,:) REAL(fp), ALLOCATABLE :: f_carbonout_soilstr(:,:) REAL(fp), ALLOCATABLE :: f_carbonout_surfmic(:,:) REAL(fp), ALLOCATABLE :: f_carbonout_soilmic(:,:) REAL(fp), ALLOCATABLE :: f_carbonout_soilmet(:,:) REAL(fp), ALLOCATABLE :: f_carbonout_slow(:,:) REAL(fp), ALLOCATABLE :: f_carbonout_armored(:,:) REAL(fp), ALLOCATABLE :: resppool_surfstr(:,:) REAL(fp), ALLOCATABLE :: resppool_surfmet(:,:) REAL(fp), ALLOCATABLE :: resppool_surfmic(:,:) REAL(fp), ALLOCATABLE :: resppool_soilstr(:,:) REAL(fp), ALLOCATABLE :: resppool_soilmet(:,:) REAL(fp), ALLOCATABLE :: resppool_soilmic(:,:) REAL(fp), ALLOCATABLE :: resppool_slow(:,:) REAL(fp), ALLOCATABLE :: resppool_armored(:,:) REAL(fp), ALLOCATABLE :: resp_surfstr(:,:) REAL(fp), ALLOCATABLE :: resp_surfmet(:,:) REAL(fp), ALLOCATABLE :: resp_surfmic(:,:) REAL(fp), ALLOCATABLE :: resp_soilstr(:,:) REAL(fp), ALLOCATABLE :: resp_soilmet(:,:) REAL(fp), ALLOCATABLE :: resp_soilmic(:,:) REAL(fp), ALLOCATABLE :: resp_slow(:,:) REAL(fp), ALLOCATABLE :: resp_armored(:,:) REAL(fp), ALLOCATABLE :: temp(:,:) REAL(fp), ALLOCATABLE :: combusted_leaf(:,:) REAL(fp), ALLOCATABLE :: combusted_abovewood(:,:) REAL(fp), ALLOCATABLE :: combusted_cwd(:,:) REAL(fp), ALLOCATABLE :: combusted_surfstr(:,:) REAL(fp), ALLOCATABLE :: combusted_surfmet(:,:) REAL(fp), ALLOCATABLE :: combusted_surfmic(:,:) REAL(fp), ALLOCATABLE :: combusted_soilstr(:,:) REAL(fp), ALLOCATABLE :: combusted_soilmet(:,:) REAL(fp), ALLOCATABLE :: combusted_soilmic(:,:) REAL(fp), ALLOCATABLE :: combusted_slow(:,:) REAL(fp), ALLOCATABLE :: combusted_armored(:,:) REAL(fp), ALLOCATABLE :: nonCombusted_leaf(:,:) REAL(fp), ALLOCATABLE :: nonCombusted_abovewood(:,:) REAL(fp), ALLOCATABLE :: nonCombusted_belowwood(:,:) REAL(fp), ALLOCATABLE :: nonCombusted_froot(:,:) REAL(fp), ALLOCATABLE :: fuelwoodout(:,:) REAL(fp), ALLOCATABLE :: wresp(:,:) REAL(fp), ALLOCATABLE :: wcomb(:,:) REAL(fp), ALLOCATABLE :: wherb(:,:) REAL(fp), ALLOCATABLE :: wbiof(:,:) REAL(fp), ALLOCATABLE :: hresp(:,:) REAL(fp), ALLOCATABLE :: hcomb(:,:) REAL(fp), ALLOCATABLE :: hherb(:,:) !in getAgeClassBF REAL(fp), ALLOCATABLE :: ageClassIndex(:,:) REAL(fp), ALLOCATABLE :: BFallClasses(:,:) REAL(fp), ALLOCATABLE :: BFleftCurrentMonth(:,:) REAL(fp), ALLOCATABLE :: BFtemp(:,:) REAL(fp), ALLOCATABLE :: ageCurrentClass(:,:) !in organizeAgeClasses REAL(fp), ALLOCATABLE :: ageClassSorted(:,:) REAL(fp), ALLOCATABLE :: ageClassSortedInd(:,:) REAL(fp), ALLOCATABLE :: tempAge(:,:) !in processData REAL(fp), ALLOCATABLE :: NPPmonthly(:,:) REAL(fp), ALLOCATABLE :: respmonthly(:,:) REAL(fp), ALLOCATABLE :: combmonthly(:,:) REAL(fp), ALLOCATABLE :: herbmonthly(:,:) REAL(fp), ALLOCATABLE :: biofmonthly(:,:) REAL(fp), ALLOCATABLE :: respEQ(:,:) REAL(fp), ALLOCATABLE :: combEQ(:,:) REAL(fp), ALLOCATABLE :: herbEQ(:,:) REAL(fp), ALLOCATABLE :: biofEQ(:,:) REAL(fp), ALLOCATABLE :: NPPmonthly_hg(:,:) REAL(fp), ALLOCATABLE :: respmonthly_hg(:,:) REAL(fp), ALLOCATABLE :: combmonthly_hg(:,:) REAL(fp), ALLOCATABLE :: herbmonthly_hg(:,:) REAL(fp), ALLOCATABLE :: biofmonthly_hg(:,:) REAL(fp), ALLOCATABLE :: respEQ_hg(:,:) REAL(fp), ALLOCATABLE :: combEQ_hg(:,:) REAL(fp), ALLOCATABLE :: herbEQ_hg(:,:) REAL(fp), ALLOCATABLE :: biofEQ_hg(:,:) REAL(fp), ALLOCATABLE :: evapEQ_hg(:,:) REAL(fp), ALLOCATABLE :: reemitEQ_hg(:,:) REAL(fp), ALLOCATABLE :: photoEQ_hg(:,:) REAL(fp), ALLOCATABLE :: leafpoolEQ_hg(:,:) REAL(fp), ALLOCATABLE :: slowpoolEQ_hg(:,:) REAL(fp), ALLOCATABLE :: armoredpoolEQ_hg(:,:) REAL(fp), ALLOCATABLE :: surfstrpoolEQ_hg(:,:) REAL(fp), ALLOCATABLE :: soilstrpoolEQ_hg(:,:) REAL(fp), ALLOCATABLE :: surfmetpoolEQ_hg(:,:) REAL(fp), ALLOCATABLE :: soilmetpoolEQ_hg(:,:) REAL(fp), ALLOCATABLE :: surfmicpoolEQ_hg(:,:) REAL(fp), ALLOCATABLE :: soilmicpoolEQ_hg(:,:) REAL(fp), ALLOCATABLE :: HgAqEQ_hg(:,:) REAL(fp), ALLOCATABLE :: reemmonthly_hg(:,:) REAL(fp), ALLOCATABLE :: photmonthly_hg(:,:) REAL(fp), ALLOCATABLE :: slowmonthly(:,:) REAL(fp), ALLOCATABLE :: armoredmonthly(:,:) REAL(fp), ALLOCATABLE :: surfstrmonthly(:,:) REAL(fp), ALLOCATABLE :: surfmetmonthly(:,:) REAL(fp), ALLOCATABLE :: surfmicmonthly(:,:) REAL(fp), ALLOCATABLE :: soilstrmonthly(:,:) REAL(fp), ALLOCATABLE :: soilmetmonthly(:,:) REAL(fp), ALLOCATABLE :: soilmicmonthly(:,:) REAL(fp), ALLOCATABLE :: leafmonthly(:,:) REAL(fp), ALLOCATABLE :: slowmonthly_hg(:,:) REAL(fp), ALLOCATABLE :: armoredmonthly_hg(:,:) REAL(fp), ALLOCATABLE :: surfstrmonthly_hg(:,:) REAL(fp), ALLOCATABLE :: surfmetmonthly_hg(:,:) REAL(fp), ALLOCATABLE :: surfmicmonthly_hg(:,:) REAL(fp), ALLOCATABLE :: soilstrmonthly_hg(:,:) REAL(fp), ALLOCATABLE :: soilmetmonthly_hg(:,:) REAL(fp), ALLOCATABLE :: soilmicmonthly_hg(:,:) REAL(fp), ALLOCATABLE :: leafmonthly_hg(:,:) REAL(fp), ALLOCATABLE :: HgAqmonthly(:,:) REAL(fp), ALLOCATABLE :: leafpoolEQ(:,:) REAL(fp), ALLOCATABLE :: slowpoolEQ(:,:) REAL(fp), ALLOCATABLE :: armoredpoolEQ(:,:) REAL(fp), ALLOCATABLE :: surfstrpoolEQ(:,:) REAL(fp), ALLOCATABLE :: soilstrpoolEQ(:,:) REAL(fp), ALLOCATABLE :: surfmetpoolEQ(:,:) REAL(fp), ALLOCATABLE :: soilmetpoolEQ(:,:) REAL(fp), ALLOCATABLE :: surfmicpoolEQ(:,:) REAL(fp), ALLOCATABLE :: soilmicpoolEQ(:,:) REAL(fp), ALLOCATABLE :: biomeAnnual_Hg(:,:) !in doHgDeposition REAL(fp), ALLOCATABLE :: Hg0dry(:,:) REAL(fp), ALLOCATABLE :: HgIIdry(:,:) REAL(fp), ALLOCATABLE :: HgIIwet(:,:) REAL(fp), ALLOCATABLE :: Hg0dry_mo(:,:,:) REAL(fp), ALLOCATABLE :: HgIIdry_mo(:,:,:) REAL(fp), ALLOCATABLE :: HgIIwet_mo(:,:,:) REAL(fp), ALLOCATABLE :: HgP(:,:) REAL(fp), ALLOCATABLE :: HgAq(:,:) REAL(fp), ALLOCATABLE :: hHgAq(:,:) REAL(fp), ALLOCATABLE :: Hg0_surf_leaf(:,:) REAL(fp), ALLOCATABLE :: Hg0_surf_soil(:,:) REAL(fp), ALLOCATABLE :: HgII_surf_leaf(:,:) REAL(fp), ALLOCATABLE :: HgII_surf_soil(:,:) REAL(fp), ALLOCATABLE :: maxallLAI(:) REAL(fp), ALLOCATABLE :: fstom(:,:) REAL(fp), ALLOCATABLE :: fleaf(:,:) REAL(fp), ALLOCATABLE :: fsoil(:,:) REAL(fp), ALLOCATABLE :: fsum(:,:) REAL(fp), ALLOCATABLE :: freemitted(:,:) REAL(fp), ALLOCATABLE :: reemitted(:,:) REAL(fp), ALLOCATABLE :: temp_hg(:,:) REAL(fp), ALLOCATABLE :: photoreduced(:,:) REAL(fp), ALLOCATABLE :: Hg0out(:,:) ! ! !REVISION HISTORY: ! ! 9 July 2010 - C. Carouge - Adapted for coupling with GEOS-Chem and restart ! offline simulations. !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: readCASAparam ! ! !DESCRIPTION: Subroutine readCASAparam reads some input for CASA ! ! !INTERFACE: ! SUBROUTINE readCASAparam ! ! !USES: ! USE defineConstants ! ! !REVISION HISTORY: ! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(len=f_len+8) :: filename integer :: ios !Set array sizes Ae=5.1*(10e+0_fp**14.0e+0_fp) filename(1:f_len)=filepath filename(f_len+1:f_len+8)='coef.csv' open(unit=2, file=filename, form='FORMATTED', iostat=ios) IF (IOS .ne. 0) THEN print '(a)', 'there was an error reading the coef & &file...aborting run' stop ELSE read(2,*) coef close(2) END IF filename(f_len+1:f_len+8)='year.csv' open(unit=2, file=filename, form='FORMATTED', iostat=ios) IF (IOS .ne. 0) THEN print '(a)', 'error reading the years' stop ELSE read(2,*) years close(2) ENDIF END SUBROUTINE READCASAPARAM !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: makeCASAarrays ! ! !DESCRIPTION: Subroutine makeCASAarrays allocate all allocatable arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE makeCASAarrays ! ! !USES: ! USE defineConstants ! ! !REVISION HISTORY: ! !EOP !------------------------------------------------------------------------------ !BOC ! ALLOCATE(clay(n_veg, 1)) ALLOCATE(silt(n_veg, 1)) ALLOCATE(sand(n_veg, 1)) ALLOCATE(litcn(n_veg, 1)) ALLOCATE(lignin(n_veg, 1)) ALLOCATE(lrage(n_veg, 1)) ALLOCATE(woodage(n_veg, 1)) ALLOCATE(SMparams(n_veg, 5)) ALLOCATE(last_soilm(n_veg,1)) ALLOCATE(PET(n_veg, 1)) ALLOCATE(AHI(n_veg, 1)) ALLOCATE(last_pack(n_veg, 1)) ALLOCATE(spack(n_veg, 1)) ALLOCATE(bgmoist(n_veg,12)) ALLOCATE(NPPmoist(n_veg,12)) ALLOCATE(EET(n_veg,1)) ALLOCATE(NPPmoist_temp(n_veg,1)) ALLOCATE(bgmoist_temp(n_veg, 1)) ALLOCATE(bgmoistpret(n_veg,1)) ALLOCATE(NPPmoistpret(n_veg,1)) ALLOCATE(soilm(n_veg, 1)) ALLOCATE(rdr(n_veg, 1)) ALLOCATE(current_ppt(n_veg, 1)) ALLOCATE(eeta(n_veg, 1)) ALLOCATE(eetb(n_veg, 1)) ALLOCATE(this_soilm(n_veg, 1)) ALLOCATE(bgratio(n_veg, 1)) ALLOCATE(srmax(n_veg, 1)) ALLOCATE(LAImax(n_veg, 1)) ALLOCATE(LAI_temp(n_veg, 1)) ALLOCATE(FPAR(n_veg, 12)) ALLOCATE(LAI(n_veg, 12)) ALLOCATE(sr(n_veg, 1)) ALLOCATE(topt(n_veg, 1)) ALLOCATE(maxlai(n_veg, 1)) ALLOCATE(lais(n_veg, 13)) ALLOCATE(LTCON(n_veg, 1)) ALLOCATE(LTVAR(n_veg, 1)) ALLOCATE(abovewoodpool(n_veg, 1)) ALLOCATE(belowwoodpool(n_veg, 1)) ALLOCATE(leafpool(n_veg, 1)) ALLOCATE(frootpool(n_veg, 1)) ALLOCATE(cwdpool(n_veg, 1)) ALLOCATE(surfstrpool(n_veg, 1)) ALLOCATE(surfmetpool(n_veg, 1)) ALLOCATE(surfmicpool(n_veg, 1)) ALLOCATE(soilstrpool(n_veg, 1)) ALLOCATE(soilmetpool(n_veg, 1)) ALLOCATE(soilmicpool(n_veg, 1)) ALLOCATE(slowpool(n_veg, 1)) ALLOCATE(armoredpool(n_veg, 1)) !woody pools Hg ALLOCATE(abovewoodpool_Hg(n_veg, 1)) ALLOCATE(belowwoodpool_Hg(n_veg, 1)) ALLOCATE(leafpool_Hg(n_veg, 1)) ALLOCATE(frootpool_Hg(n_veg, 1)) ALLOCATE(cwdpool_Hg(n_veg, 1)) ALLOCATE(surfstrpool_Hg(n_veg, 1)) ALLOCATE(surfmetpool_Hg(n_veg, 1)) ALLOCATE(surfmicpool_Hg(n_veg, 1)) ALLOCATE(soilstrpool_Hg(n_veg, 1)) ALLOCATE(soilmetpool_Hg(n_veg, 1)) ALLOCATE(soilmicpool_Hg(n_veg, 1)) ALLOCATE(slowpool_Hg(n_veg, 1)) ALLOCATE(armoredpool_Hg(n_veg, 1)) ALLOCATE(total_tree_hg(n_veg, 1)) ALLOCATE(hleafpool(n_veg, 1)) ALLOCATE(hfrootpool(n_veg, 1)) ALLOCATE(hsurfstrpool(n_veg, 1)) ALLOCATE(hsurfmetpool(n_veg, 1)) ALLOCATE(hsurfmicpool(n_veg, 1)) ALLOCATE(hsoilstrpool(n_veg, 1)) ALLOCATE(hsoilmetpool(n_veg, 1)) ALLOCATE(hsoilmicpool(n_veg, 1)) ALLOCATE(hslowpool(n_veg, 1)) ALLOCATE(harmoredpool(n_veg, 1)) !herb pools Hg ALLOCATE(hleafpool_Hg(n_veg, 1)) ALLOCATE(hfrootpool_Hg(n_veg, 1)) ALLOCATE(hsurfstrpool_Hg(n_veg, 1)) ALLOCATE(hsurfmetpool_Hg(n_veg, 1)) ALLOCATE(hsurfmicpool_Hg(n_veg, 1)) ALLOCATE(hsoilstrpool_Hg(n_veg, 1)) ALLOCATE(hsoilmetpool_Hg(n_veg, 1)) ALLOCATE(hsoilmicpool_Hg(n_veg, 1)) ALLOCATE(hslowpool_Hg(n_veg, 1)) ALLOCATE(harmoredpool_Hg(n_veg, 1)) ALLOCATE(total_herb_hg(n_veg, 1)) !max hg woody pool ALLOCATE(max_hg_leaf(n_veg, 1)) ALLOCATE(max_hg_surfstr(n_veg, 1)) ALLOCATE(max_hg_surfmet(n_veg, 1)) ALLOCATE(max_hg_surfmic(n_veg, 1)) ALLOCATE(max_hg_soilstr(n_veg, 1)) ALLOCATE(max_hg_soilmet(n_veg, 1)) ALLOCATE(max_hg_soilmic(n_veg, 1)) ALLOCATE(max_hg_slow(n_veg, 1)) ALLOCATE(max_hg_armored(n_veg, 1)) !max hg herb pools ALLOCATE(max_hg_hleaf(n_veg, 1)) ALLOCATE(max_hg_hsurfstr(n_veg, 1)) ALLOCATE(max_hg_hsurfmet(n_veg, 1)) ALLOCATE(max_hg_hsurfmic(n_veg, 1)) ALLOCATE(max_hg_hsoilstr(n_veg, 1)) ALLOCATE(max_hg_hsoilmet(n_veg, 1)) ALLOCATE(max_hg_hsoilmic(n_veg, 1)) ALLOCATE(max_hg_hslow(n_veg, 1)) ALLOCATE(max_hg_harmored(n_veg, 1)) ALLOCATE(abovewoodpools(n_veg, n_age_classes)) ALLOCATE(belowwoodpools(n_veg, n_age_classes)) ALLOCATE(leafpools(n_veg, n_age_classes)) ALLOCATE(frootpools(n_veg, n_age_classes)) ALLOCATE(cwdpools(n_veg, n_age_classes)) ALLOCATE(surfstrpools(n_veg, n_age_classes)) ALLOCATE(surfmetpools(n_veg, n_age_classes)) ALLOCATE(surfmicpools(n_veg, n_age_classes)) ALLOCATE(soilstrpools(n_veg, n_age_classes)) ALLOCATE(soilmetpools(n_veg, n_age_classes)) ALLOCATE(soilmicpools(n_veg, n_age_classes)) ALLOCATE(slowpools(n_veg, n_age_classes)) ALLOCATE(armoredpools(n_veg, n_age_classes)) ALLOCATE(hleafpools(n_veg, n_age_classes)) ALLOCATE(hfrootpools(n_veg, n_age_classes)) ALLOCATE(hsurfstrpools(n_veg, n_age_classes)) ALLOCATE(hsurfmetpools(n_veg, n_age_classes)) ALLOCATE(hsurfmicpools(n_veg, n_age_classes)) ALLOCATE(hsoilstrpools(n_veg, n_age_classes)) ALLOCATE(hsoilmetpools(n_veg, n_age_classes)) ALLOCATE(hsoilmicpools(n_veg, n_age_classes)) ALLOCATE(hslowpools(n_veg, n_age_classes)) ALLOCATE(harmoredpools(n_veg, n_age_classes)) ALLOCATE(fuelshortage(n_veg, n_age_classes)) ALLOCATE(LtN(n_veg, 1)) ALLOCATE(annK_leaf(n_veg, 1)) ALLOCATE(annK_leaf_hg(n_veg, 1)) ALLOCATE(annK_wood(n_veg, 1)) ALLOCATE(annK_froot(n_veg, 1)) ALLOCATE(K_wood(n_veg, 1)) ALLOCATE(K_froot(n_veg, 1)) ALLOCATE(K_leaf(n_veg,1)) ALLOCATE(K_hleaf(n_veg, 1)) ALLOCATE(K_hfroot(n_veg, 1)) ALLOCATE(K_surfmet(n_veg, 1)) ALLOCATE(K_surfstr(n_veg, 1)) ALLOCATE(K_soilmet(n_veg, 1)) ALLOCATE(K_soilstr(n_veg, 1)) ALLOCATE(K_cwd(n_veg, 1)) ALLOCATE(K_surfmic(n_veg, 1)) ALLOCATE(K_soilmic(n_veg, 1)) ALLOCATE(K_slow(n_veg, 1)) ALLOCATE(K_armored(n_veg, 1)) ALLOCATE(slitscalar(n_veg, 1)) ALLOCATE(shlitscalar(n_veg, 1)) ALLOCATE(srootlitscalar(n_veg, 1)) ALLOCATE(sabiotic(n_veg, 1)) ALLOCATE(sabiotsmc(n_veg, 1)) ALLOCATE(sabiotlign(n_veg, 1)) ALLOCATE(metabfract(n_veg, 1)) ALLOCATE(structuralLignin(n_veg, 1)) ALLOCATE(lignineffect(n_veg, 1)) ALLOCATE(soilmicDecayFactor(n_veg, 1)) ALLOCATE(slowDecayFactor(n_veg, 1)) ALLOCATE(armoredDecayFactor(n_veg, 1)) ALLOCATE(fid(n_veg, 1)) ALLOCATE(decayClayFactor(n_veg, 1)) ALLOCATE(eff_soilmic2slow(n_veg, 1)) ALLOCATE(latitude(columns, rows)) ALLOCATE(latitude1(n_veg, 1)) ALLOCATE(fuelwooddemand(n_veg, 1)) !in doNPP ALLOCATE(T1(n_veg, 1)) ALLOCATE(T2low(n_veg,1)) ALLOCATE(T2high(n_veg, 1)) ALLOCATE(NPPtemp(n_veg, 1)) ALLOCATE(IPAR(n_veg, 1)) ALLOCATE(NPP(n_veg, 12)) ALLOCATE(epsilona(n_veg, 1)) ALLOCATE(bgtemp(n_veg, 12)) ALLOCATE(abiotic(n_veg, 12)) !in doHerbivory ALLOCATE(grass_herbivory(n_veg, 1)) ALLOCATE(trees_herbivory(n_veg, 1)) ALLOCATE(herb_seasonality(n_veg, 12)) !in doLeafRootShedding ALLOCATE(MINLAI(n_veg, 1)) ALLOCATE(SUMLAI(n_veg, 1)) ALLOCATE(AVELAI(n_veg, 1)) ALLOCATE(LTVARSUM(n_veg, 1)) ALLOCATE(SUMLAInew(n_veg, 12)) ALLOCATE(litterscalar(n_veg, 12)) ALLOCATE(hlitterscalar(n_veg, 12)) ALLOCATE(rootlitscalar(n_veg, 12)) !in getFireParams ALLOCATE(ccWood(n_veg, 12)) ALLOCATE(ccLeaf(n_veg, 12)) ALLOCATE(PET_current(n_veg, 1)) ALLOCATE(CCratio_current(n_veg, 1)) ALLOCATE(ccFineLitter(n_veg, 12)) ALLOCATE(ccCWD(n_veg, 12)) ALLOCATE(CCratio_previous(n_veg, 1)) ALLOCATE(mortality_tree(n_veg, 1)) ALLOCATE(mortality_hfroot(n_veg, 1)) CC(1,:)=(/0.200e+0_fp, 0.300e+0_fp/) CC(2,:)=(/0.800e+0_fp, 1.000e+0_fp/) CC(3,:)=(/0.900e+0_fp, 1.000e+0_fp/) CC(4,:)=(/0.200e+0_fp, 0.400e+0_fp/) !in doTreeCarbon ALLOCATE(leafinput(n_veg, 1)) ALLOCATE(woodinput(n_veg, 1)) ALLOCATE(frootinput(n_veg, 1)) ALLOCATE(herbivory(n_veg, 1)) ALLOCATE(carbonout_leaf(n_veg, 1)) ALLOCATE(carbonout_abovewood(n_veg, 1)) ALLOCATE(carbonout_belowwood(n_veg, 1)) ALLOCATE(carbonout_froot(n_veg, 1)) ALLOCATE(carbonout_cwd(n_veg, 1)) ALLOCATE(carbonout_surfmet(n_veg, 1)) ALLOCATE(carbonout_surfstr(n_veg, 1)) ALLOCATE(carbonout_soilmet(n_veg, 1)) ALLOCATE(carbonout_soilstr(n_veg, 1)) ALLOCATE(carbonout_surfmic(n_veg, 1)) ALLOCATE(carbonout_soilmic(n_veg, 1)) ALLOCATE(carbonout_slow(n_veg, 1)) ALLOCATE(carbonout_armored(n_veg, 1)) ALLOCATE(hgout_surfmet(n_veg, 1)) ALLOCATE(hgout_surfstr(n_veg, 1)) ALLOCATE(hgout_leaf(n_veg, 1)) ALLOCATE(hgout_soilstr(n_veg, 1)) ALLOCATE(hgout_surfmic(n_veg, 1)) ALLOCATE(hgout_soilmic(n_veg, 1)) ALLOCATE(hgout_slow(n_veg, 1)) ALLOCATE(hgout_armored(n_veg, 1)) ALLOCATE(hgout_soilmet(n_veg, 1)) ALLOCATE(Hg_pool_fluxes1(n_veg, 12)) ALLOCATE(Hg_pool_fluxes2(n_veg, 12)) ALLOCATE(Hg_pool_fluxes3(n_veg, 12)) ALLOCATE(Hg_pool_fluxes4(n_veg, 12)) ALLOCATE(Hg_pool_fluxes5(n_veg, 12)) ALLOCATE(Hg_pool_fluxes6(n_veg, 12)) ALLOCATE(Hg_hpool_fluxes1(n_veg, 12)) ALLOCATE(Hg_hpool_fluxes2(n_veg, 12)) ALLOCATE(Hg_hpool_fluxes3(n_veg, 12)) ALLOCATE(Hg_hpool_fluxes4(n_veg, 12)) ALLOCATE(Hg_hpool_fluxes5(n_veg, 12)) ALLOCATE(Hg_hpool_fluxes6(n_veg, 12)) ALLOCATE(f_carbonout_surfmet(n_veg, 1)) ALLOCATE(f_carbonout_surfstr(n_veg, 1)) ALLOCATE(f_carbonout_leaf(n_veg, 1)) ALLOCATE(f_carbonout_soilstr(n_veg, 1)) ALLOCATE(f_carbonout_surfmic(n_veg, 1)) ALLOCATE(f_carbonout_soilmic(n_veg, 1)) ALLOCATE(f_carbonout_slow(n_veg, 1)) ALLOCATE(f_carbonout_armored(n_veg, 1)) ALLOCATE(f_carbonout_soilmet(n_veg, 1)) ALLOCATE(resppool_surfstr_hg(n_veg, 1)) ALLOCATE(resppool_surfmet_hg(n_veg, 1)) ALLOCATE(resppool_surfmic_hg(n_veg, 1)) ALLOCATE(resppool_soilstr_hg(n_veg, 1)) ALLOCATE(resppool_soilmic_hg(n_veg, 1)) ALLOCATE(resppool_soilmet_hg(n_veg, 1)) ALLOCATE(resppool_slow_hg(n_veg, 1)) ALLOCATE(resppool_armored_hg(n_veg, 1)) ALLOCATE(resp_surfstr_hg(n_veg, 12)) ALLOCATE(resp_surfmet_hg(n_veg, 12)) ALLOCATE(resp_surfmic_hg(n_veg, 12)) ALLOCATE(resp_soilstr_hg(n_veg, 12)) ALLOCATE(resp_soilmic_hg(n_veg, 12)) ALLOCATE(resp_soilmet_hg(n_veg, 12)) ALLOCATE(resp_slow_hg(n_veg, 12)) ALLOCATE(resp_armored_hg(n_veg, 12)) ALLOCATE(combusted_leaf_hg(n_veg, 1)) ALLOCATE(combusted_surfstr_hg(n_veg, 1)) ALLOCATE(combusted_surfmet_hg(n_veg, 1)) ALLOCATE(combusted_surfmic_hg(n_veg, 1)) ALLOCATE(combusted_soilstr_hg(n_veg, 1)) ALLOCATE(combusted_soilmet_hg(n_veg, 1)) ALLOCATE(combusted_soilmic_hg(n_veg, 1)) ALLOCATE(combusted_slow_hg(n_veg, 1)) ALLOCATE(combusted_armored_hg(n_veg, 1)) ALLOCATE(nonCombusted_leaf_hg(n_veg, 1)) ALLOCATE(fuelwoodout_hg(n_veg, 1)) ALLOCATE(wresp_hg(n_veg, 1)) ALLOCATE(wcomb_hg(n_veg, 1)) ALLOCATE(wherb_hg(n_veg, 1)) ALLOCATE(wbiof_hg(n_veg, 1)) ALLOCATE(hresp_hg(n_veg, 1)) ALLOCATE(hcomb_hg(n_veg, 1)) ALLOCATE(hherb_hg(n_veg, 1)) ALLOCATE(resppool_surfstr(n_veg, 1)) ALLOCATE(resppool_surfmet(n_veg, 1)) ALLOCATE(resppool_surfmic(n_veg, 1)) ALLOCATE(resppool_soilstr(n_veg, 1)) ALLOCATE(resppool_soilmet(n_veg, 1)) ALLOCATE(resppool_soilmic(n_veg, 1)) ALLOCATE(resppool_slow(n_veg, 1)) ALLOCATE(resppool_armored(n_veg, 1)) ALLOCATE(resp_surfstr(n_veg, 12)) ALLOCATE(resp_surfmet(n_veg, 12)) ALLOCATE(resp_surfmic(n_veg, 12)) ALLOCATE(resp_soilstr(n_veg, 12)) ALLOCATE(resp_soilmet(n_veg, 12)) ALLOCATE(resp_soilmic(n_veg, 12)) ALLOCATE(resp_slow(n_veg, 12)) ALLOCATE(resp_armored(n_veg, 12)) ALLOCATE(temp(n_veg, n_age_classes)) ALLOCATE(combusted_leaf(n_veg, 1)) ALLOCATE(combusted_abovewood(n_veg, 1)) ALLOCATE(combusted_cwd(n_veg, 1)) ALLOCATE(combusted_surfstr(n_veg, 1)) ALLOCATE(combusted_surfmet(n_veg, 1)) ALLOCATE(combusted_surfmic(n_veg, 1)) ALLOCATE(combusted_soilstr(n_veg, 1)) ALLOCATE(combusted_soilmet(n_veg, 1)) ALLOCATE(combusted_soilmic(n_veg, 1)) ALLOCATE(combusted_slow(n_veg, 1)) ALLOCATE(combusted_armored(n_veg, 1)) ALLOCATE(nonCombusted_leaf(n_veg, 1)) ALLOCATE(nonCombusted_abovewood(n_veg, 1)) ALLOCATE(nonCombusted_belowwood(n_veg, 1)) ALLOCATE(nonCombusted_froot(n_veg, 1)) ALLOCATE(fuelwoodout(n_veg, n_age_classes)) ALLOCATE(wresp(n_veg, 1)) ALLOCATE(wcomb(n_veg, 1)) ALLOCATE(wherb(n_veg, 1)) ALLOCATE(wbiof(n_veg, 1)) ALLOCATE(hresp(n_veg, 1)) ALLOCATE(hcomb(n_veg, 1)) ALLOCATE(hherb(n_veg, 1)) ALLOCATE(veg_burn(n_veg, 1)) !in getAgeClassBF ALLOCATE(ageClassIndex(n_veg, n_age_classes)) ALLOCATE(BFallClasses(n_veg, 12)) ALLOCATE(BFleftCurrentMonth(n_veg, 1)) ALLOCATE(BFtemp(n_veg, 1)) ALLOCATE(ageCurrentClass(n_veg, 1)) !in organizeAgeClasses ALLOCATE(ageClassSorted(n_veg, n_age_classes)) ALLOCATE(ageClassSortedInd(n_veg, n_age_classes)) ALLOCATE(tempAge(1, n_age_classes)) !in processData ALLOCATE(NPPmonthly(HgPOOLSequilibriumYear, 12)) ALLOCATE(respmonthly(HgPOOLSequilibriumYear, 12)) ALLOCATE(combmonthly(HgPOOLSequilibriumYear, 12)) ALLOCATE(herbmonthly(HgPOOLSequilibriumYear, 12)) ALLOCATE(biofmonthly(HgPOOLSequilibriumYear, 12)) ALLOCATE(respEQ(n_veg, 12)) ALLOCATE(combEQ(n_veg, 12)) ALLOCATE(herbEQ(n_veg, 12)) ALLOCATE(biofEQ(n_veg, 12)) ALLOCATE(NPPmonthly_hg(HgPOOLSequilibriumYear, 12)) ALLOCATE(respmonthly_hg(HgPOOLSequilibriumYear, 12)) ALLOCATE(combmonthly_hg(HgPOOLSequilibriumYear, 12)) ALLOCATE(herbmonthly_hg(HgPOOLSequilibriumYear, 12)) ALLOCATE(biofmonthly_hg(HgPOOLSequilibriumYear, 12)) ALLOCATE(respEQ_hg(n_veg, 12)) ALLOCATE(combEQ_hg(n_veg, 12)) ALLOCATE(herbEQ_hg(n_veg, 12)) ALLOCATE(biofEQ_hg(n_veg, 12)) ALLOCATE(evapEQ_hg(n_veg, 12)) ALLOCATE(reemitEQ_hg(n_veg, 12)) ALLOCATE(photoEQ_hg(n_veg, 12)) ALLOCATE(leafpoolEQ_hg(n_veg, 12)) ALLOCATE(slowpoolEQ_hg(n_veg, 12)) ALLOCATE(armoredpoolEQ_hg(n_veg, 12)) ALLOCATE(surfstrpoolEQ_hg(n_veg, 12)) ALLOCATE(soilstrpoolEQ_hg(n_veg, 12)) ALLOCATE(surfmetpoolEQ_hg(n_veg, 12)) ALLOCATE(soilmetpoolEQ_hg(n_veg, 12)) ALLOCATE(surfmicpoolEQ_hg(n_veg, 12)) ALLOCATE(soilmicpoolEQ_hg(n_veg, 12)) ALLOCATE(HgAqEQ_hg(n_veg, 12)) ALLOCATE(biomeAnnual_Hg(HgPOOLSequilibriumYear, 5)) !in doHgDeposition ALLOCATE(Hg0dry(n_veg, 1)) ALLOCATE(HgIIdry(n_veg, 1)) ALLOCATE(HgIIwet(n_veg, 1)) ALLOCATE(Hg0dry_mo(n_veg, 1, 12)) ALLOCATE(HgIIdry_mo(n_veg, 1, 12)) ALLOCATE(HgIIwet_mo(n_veg, 1, 12)) ALLOCATE(HgP(n_veg, 1)) ALLOCATE(HgAq(n_veg, 1)) ALLOCATE(hHgAq(n_veg, 1)) ALLOCATE(Hg0_surf_leaf(n_veg, 1) ) ALLOCATE(Hg0_surf_soil(n_veg, 1)) ALLOCATE(HgII_surf_leaf(n_veg, 1)) ALLOCATE(HgII_surf_soil(n_veg, 1)) ALLOCATE(maxallLAI(1)) ALLOCATE(fstom(n_veg, 1)) ALLOCATE(fleaf(n_veg, 1)) ALLOCATE(fsoil(n_veg, 1)) ALLOCATE(fsum(n_veg, 1)) ALLOCATE(freemitted(n_veg, 1)) ALLOCATE(reemitted(n_veg, 1)) ALLOCATE(temp_hg(n_veg, 1)) ALLOCATE(photoreduced(n_veg, 1)) ALLOCATE(Hg0out(n_veg,1)) ALLOCATE(reemmonthly_hg(HgPOOLSequilibriumYear, 12)) ALLOCATE(photmonthly_hg(HgPOOLSequilibriumYear, 12)) ALLOCATE(slowmonthly(HgPOOLSequilibriumYear, 12)) ALLOCATE(armoredmonthly(HgPOOLSequilibriumYear, 12)) ALLOCATE(surfstrmonthly(HgPOOLSequilibriumYear, 12)) ALLOCATE(surfmetmonthly(HgPOOLSequilibriumYear, 12)) ALLOCATE(surfmicmonthly(HgPOOLSequilibriumYear, 12)) ALLOCATE(soilstrmonthly(HgPOOLSequilibriumYear, 12)) ALLOCATE(soilmetmonthly(HgPOOLSequilibriumYear, 12)) ALLOCATE(soilmicmonthly(HgPOOLSequilibriumYear, 12)) ALLOCATE(leafmonthly(HgPOOLSequilibriumYear, 12)) ALLOCATE(slowmonthly_hg(HgPOOLSequilibriumYear, 12)) ALLOCATE(armoredmonthly_hg(HgPOOLSequilibriumYear, 12)) ALLOCATE(surfstrmonthly_hg(HgPOOLSequilibriumYear, 12)) ALLOCATE(surfmetmonthly_hg(HgPOOLSequilibriumYear, 12)) ALLOCATE(surfmicmonthly_hg(HgPOOLSequilibriumYear, 12)) ALLOCATE(soilstrmonthly_hg(HgPOOLSequilibriumYear, 12)) ALLOCATE(soilmetmonthly_hg(HgPOOLSequilibriumYear, 12)) ALLOCATE(soilmicmonthly_hg(HgPOOLSequilibriumYear, 12)) ALLOCATE(leafmonthly_hg(HgPOOLSequilibriumYear, 12)) ALLOCATE(leafpoolEQ(n_veg, 12)) ALLOCATE(slowpoolEQ(n_veg, 12)) ALLOCATE(armoredpoolEQ(n_veg, 12)) ALLOCATE(surfstrpoolEQ(n_veg, 12)) ALLOCATE(soilstrpoolEQ(n_veg, 12)) ALLOCATE(surfmetpoolEQ(n_veg, 12)) ALLOCATE(soilmetpoolEQ(n_veg, 12)) ALLOCATE(surfmicpoolEQ(n_veg, 12)) ALLOCATE(soilmicpoolEQ(n_veg, 12)) ALLOCATE(HgAqmonthly(HgPOOLSequilibriumYear,12)) END SUBROUTINE makeCASAarrays !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: initialize ! ! !DESCRIPTION: Subroutine initialize initialize all allocatable arrays to 0 !\\ !\\ ! !INTERFACE: ! SUBROUTINE initialize ! ! !REVISION HISTORY: ! !EOP !------------------------------------------------------------------------------ !BOC ! ! Initialize all arrays to 0. clay = 0.e+0_fp silt = 0.e+0_fp sand = 0.e+0_fp litcn = 0.e+0_fp lignin = 0.e+0_fp lrage = 0.e+0_fp woodage = 0.e+0_fp SMparams = 0.e+0_fp last_soilm = 0.e+0_fp PET = 0.e+0_fp AHI = 0.e+0_fp last_pack = 0.e+0_fp spack = 0.e+0_fp bgmoist = 0.e+0_fp NPPmoist = 0.e+0_fp EET = 0.e+0_fp NPPmoist_temp = 0.e+0_fp bgmoist_temp = 0.e+0_fp bgmoistpret = 0.e+0_fp NPPmoistpret = 0.e+0_fp soilm = 0.e+0_fp rdr = 0.e+0_fp current_ppt = 0.e+0_fp eeta = 0.e+0_fp eetb = 0.e+0_fp this_soilm = 0.e+0_fp bgratio = 0.e+0_fp srmax = 0.e+0_fp LAImax = 0.e+0_fp LAI_temp = 0.e+0_fp FPAR = 0.e+0_fp LAI = 0.e+0_fp sr = 0.e+0_fp topt = 0.e+0_fp maxlai = 0.e+0_fp lais = 0.e+0_fp LTCON = 0.e+0_fp LTVAR = 0.e+0_fp abovewoodpool = 0.e+0_fp belowwoodpool = 0.e+0_fp leafpool = 0.e+0_fp frootpool = 0.e+0_fp cwdpool = 0.e+0_fp surfstrpool = 0.e+0_fp surfmetpool = 0.e+0_fp surfmicpool = 0.e+0_fp soilstrpool = 0.e+0_fp soilmetpool = 0.e+0_fp soilmicpool = 0.e+0_fp slowpool = 0.e+0_fp armoredpool = 0.e+0_fp !woody pools Hg abovewoodpool_Hg = 0.e+0_fp belowwoodpool_Hg = 0.e+0_fp leafpool_Hg = 0.e+0_fp frootpool_Hg = 0.e+0_fp cwdpool_Hg = 0.e+0_fp surfstrpool_Hg = 0.e+0_fp surfmetpool_Hg = 0.e+0_fp surfmicpool_Hg = 0.e+0_fp soilstrpool_Hg = 0.e+0_fp soilmetpool_Hg = 0.e+0_fp soilmicpool_Hg = 0.e+0_fp slowpool_Hg = 0.e+0_fp armoredpool_Hg = 0.e+0_fp total_tree_hg = 0.e+0_fp hleafpool = 0.e+0_fp hfrootpool = 0.e+0_fp hsurfstrpool = 0.e+0_fp hsurfmetpool = 0.e+0_fp hsurfmicpool = 0.e+0_fp hsoilstrpool = 0.e+0_fp hsoilmetpool = 0.e+0_fp hsoilmicpool = 0.e+0_fp hslowpool = 0.e+0_fp harmoredpool = 0.e+0_fp !herb pools Hg hleafpool_Hg = 0.e+0_fp hfrootpool_Hg = 0.e+0_fp hsurfstrpool_Hg = 0.e+0_fp hsurfmetpool_Hg = 0.e+0_fp hsurfmicpool_Hg = 0.e+0_fp hsoilstrpool_Hg = 0.e+0_fp hsoilmetpool_Hg = 0.e+0_fp hsoilmicpool_Hg = 0.e+0_fp hslowpool_Hg = 0.e+0_fp harmoredpool_Hg = 0.e+0_fp total_herb_hg = 0.e+0_fp !max hg woody pool max_hg_leaf = 0.e+0_fp max_hg_surfstr = 0.e+0_fp max_hg_surfmet = 0.e+0_fp max_hg_surfmic = 0.e+0_fp max_hg_soilstr = 0.e+0_fp max_hg_soilmet = 0.e+0_fp max_hg_soilmic = 0.e+0_fp max_hg_slow = 0.e+0_fp max_hg_armored = 0.e+0_fp !max hg herb pools max_hg_hleaf = 0.e+0_fp max_hg_hsurfstr = 0.e+0_fp max_hg_hsurfmet = 0.e+0_fp max_hg_hsurfmic = 0.e+0_fp max_hg_hsoilstr = 0.e+0_fp max_hg_hsoilmet = 0.e+0_fp max_hg_hsoilmic = 0.e+0_fp max_hg_hslow = 0.e+0_fp max_hg_harmored = 0.e+0_fp abovewoodpools = 0.e+0_fp belowwoodpools = 0.e+0_fp leafpools = 0.e+0_fp frootpools = 0.e+0_fp cwdpools = 0.e+0_fp surfstrpools = 0.e+0_fp surfmetpools = 0.e+0_fp surfmicpools = 0.e+0_fp soilstrpools = 0.e+0_fp soilmetpools = 0.e+0_fp soilmicpools = 0.e+0_fp slowpools = 0.e+0_fp armoredpools = 0.e+0_fp hleafpools = 0.e+0_fp hfrootpools = 0.e+0_fp hsurfstrpools = 0.e+0_fp hsurfmetpools = 0.e+0_fp hsurfmicpools = 0.e+0_fp hsoilstrpools = 0.e+0_fp hsoilmetpools = 0.e+0_fp hsoilmicpools = 0.e+0_fp hslowpools = 0.e+0_fp harmoredpools = 0.e+0_fp fuelshortage = 0.e+0_fp LtN = 0.e+0_fp annK_leaf = 0.e+0_fp annK_leaf_hg = 0.e+0_fp annK_wood = 0.e+0_fp annK_froot = 0.e+0_fp K_wood = 0.e+0_fp K_froot = 0.e+0_fp K_leaf = 0.e+0_fp K_hleaf = 0.e+0_fp K_hfroot = 0.e+0_fp K_surfmet = 0.e+0_fp K_surfstr = 0.e+0_fp K_soilmet = 0.e+0_fp K_soilstr = 0.e+0_fp K_cwd = 0.e+0_fp K_surfmic = 0.e+0_fp K_soilmic = 0.e+0_fp K_slow = 0.e+0_fp K_armored = 0.e+0_fp slitscalar = 0.e+0_fp shlitscalar = 0.e+0_fp srootlitscalar = 0.e+0_fp sabiotic = 0.e+0_fp sabiotsmc = 0.e+0_fp sabiotlign = 0.e+0_fp metabfract = 0.e+0_fp structuralLignin = 0.e+0_fp lignineffect = 0.e+0_fp soilmicDecayFactor = 0.e+0_fp slowDecayFactor = 0.e+0_fp armoredDecayFactor = 0.e+0_fp fid = 0.e+0_fp decayClayFactor = 0.e+0_fp eff_soilmic2slow = 0.e+0_fp latitude = 0.e+0_fp latitude1 = 0.e+0_fp fuelwooddemand = 0.e+0_fp !in doNPP T1 = 0.e+0_fp T2low = 0.e+0_fp T2high = 0.e+0_fp NPPtemp = 0.e+0_fp IPAR = 0.e+0_fp NPP = 0.e+0_fp epsilona = 0.e+0_fp bgtemp = 0.e+0_fp abiotic = 0.e+0_fp !in doHerbivory grass_herbivory = 0.e+0_fp trees_herbivory = 0.e+0_fp herb_seasonality = 0.e+0_fp !in doLeafRootShedding MINLAI = 0.e+0_fp SUMLAI = 0.e+0_fp AVELAI = 0.e+0_fp LTVARSUM = 0.e+0_fp SUMLAInew = 0.e+0_fp litterscalar = 0.e+0_fp hlitterscalar = 0.e+0_fp rootlitscalar = 0.e+0_fp !in getFireParams ccWood = 0.e+0_fp ccLeaf = 0.e+0_fp PET_current = 0.e+0_fp CCratio_current = 0.e+0_fp ccFineLitter = 0.e+0_fp ccCWD = 0.e+0_fp CCratio_previous = 0.e+0_fp mortality_tree = 0.e+0_fp mortality_hfroot = 0.e+0_fp !in doTreeCarbon leafinput = 0.e+0_fp woodinput = 0.e+0_fp frootinput = 0.e+0_fp herbivory = 0.e+0_fp carbonout_leaf = 0.e+0_fp carbonout_abovewood = 0.e+0_fp carbonout_belowwood = 0.e+0_fp carbonout_froot = 0.e+0_fp carbonout_cwd = 0.e+0_fp carbonout_surfmet = 0.e+0_fp carbonout_surfstr = 0.e+0_fp carbonout_soilmet = 0.e+0_fp carbonout_soilstr = 0.e+0_fp carbonout_surfmic = 0.e+0_fp carbonout_soilmic = 0.e+0_fp carbonout_slow = 0.e+0_fp carbonout_armored = 0.e+0_fp hgout_surfmet = 0.e+0_fp hgout_surfstr = 0.e+0_fp hgout_leaf = 0.e+0_fp hgout_soilstr = 0.e+0_fp hgout_surfmic = 0.e+0_fp hgout_soilmic = 0.e+0_fp hgout_slow = 0.e+0_fp hgout_armored = 0.e+0_fp hgout_soilmet = 0.e+0_fp Hg_pool_fluxes1 = 0.e+0_fp Hg_pool_fluxes2 = 0.e+0_fp Hg_pool_fluxes3 = 0.e+0_fp Hg_pool_fluxes4 = 0.e+0_fp Hg_pool_fluxes5 = 0.e+0_fp Hg_pool_fluxes6 = 0.e+0_fp Hg_hpool_fluxes1 = 0.e+0_fp Hg_hpool_fluxes2 = 0.e+0_fp Hg_hpool_fluxes3 = 0.e+0_fp Hg_hpool_fluxes4 = 0.e+0_fp Hg_hpool_fluxes5 = 0.e+0_fp Hg_hpool_fluxes6 = 0.e+0_fp f_carbonout_surfmet = 0.e+0_fp f_carbonout_surfstr = 0.e+0_fp f_carbonout_leaf = 0.e+0_fp f_carbonout_soilstr = 0.e+0_fp f_carbonout_surfmic = 0.e+0_fp f_carbonout_soilmic = 0.e+0_fp f_carbonout_slow = 0.e+0_fp f_carbonout_armored = 0.e+0_fp f_carbonout_soilmet = 0.e+0_fp resppool_surfstr_hg = 0.e+0_fp resppool_surfmet_hg = 0.e+0_fp resppool_surfmic_hg = 0.e+0_fp resppool_soilstr_hg = 0.e+0_fp resppool_soilmic_hg = 0.e+0_fp resppool_soilmet_hg = 0.e+0_fp resppool_slow_hg = 0.e+0_fp resppool_armored_hg = 0.e+0_fp resp_surfstr_hg = 0.e+0_fp resp_surfmet_hg = 0.e+0_fp resp_surfmic_hg = 0.e+0_fp resp_soilstr_hg = 0.e+0_fp resp_soilmic_hg = 0.e+0_fp resp_soilmet_hg = 0.e+0_fp resp_slow_hg = 0.e+0_fp resp_armored_hg = 0.e+0_fp combusted_leaf_hg = 0.e+0_fp combusted_surfstr_hg = 0.e+0_fp combusted_surfmet_hg = 0.e+0_fp combusted_surfmic_hg = 0.e+0_fp combusted_soilstr_hg = 0.e+0_fp combusted_soilmet_hg = 0.e+0_fp combusted_soilmic_hg = 0.e+0_fp combusted_slow_hg = 0.e+0_fp combusted_armored_hg = 0.e+0_fp nonCombusted_leaf_hg = 0.e+0_fp fuelwoodout_hg = 0.e+0_fp wresp_hg = 0.e+0_fp wcomb_hg = 0.e+0_fp wherb_hg = 0.e+0_fp wbiof_hg = 0.e+0_fp hresp_hg = 0.e+0_fp hcomb_hg = 0.e+0_fp hherb_hg = 0.e+0_fp resppool_surfstr = 0.e+0_fp resppool_surfmet = 0.e+0_fp resppool_surfmic = 0.e+0_fp resppool_soilstr = 0.e+0_fp resppool_soilmet = 0.e+0_fp resppool_soilmic = 0.e+0_fp resppool_slow = 0.e+0_fp resppool_armored = 0.e+0_fp resp_surfstr = 0.e+0_fp resp_surfmet = 0.e+0_fp resp_surfmic = 0.e+0_fp resp_soilstr = 0.e+0_fp resp_soilmet = 0.e+0_fp resp_soilmic = 0.e+0_fp resp_slow = 0.e+0_fp resp_armored = 0.e+0_fp temp = 0.e+0_fp combusted_leaf = 0.e+0_fp combusted_abovewood = 0.e+0_fp combusted_cwd = 0.e+0_fp combusted_surfstr = 0.e+0_fp combusted_surfmet = 0.e+0_fp combusted_surfmic = 0.e+0_fp combusted_soilstr = 0.e+0_fp combusted_soilmet = 0.e+0_fp combusted_soilmic = 0.e+0_fp combusted_slow = 0.e+0_fp combusted_armored = 0.e+0_fp nonCombusted_leaf = 0.e+0_fp nonCombusted_abovewood = 0.e+0_fp nonCombusted_belowwood = 0.e+0_fp nonCombusted_froot = 0.e+0_fp fuelwoodout = 0.e+0_fp wresp = 0.e+0_fp wcomb = 0.e+0_fp wherb = 0.e+0_fp wbiof = 0.e+0_fp hresp = 0.e+0_fp hcomb = 0.e+0_fp hherb = 0.e+0_fp veg_burn = 0.e+0_fp !in getAgeClassBF ageClassIndex = 0.e+0_fp BFallClasses = 0.e+0_fp BFleftCurrentMonth = 0.e+0_fp BFtemp = 0.e+0_fp ageCurrentClass = 0.e+0_fp !in organizeAgeClasses ageClassSorted = 0.e+0_fp ageClassSortedInd = 0.e+0_fp tempAge = 0.e+0_fp !in processData NPPmonthly = 0.e+0_fp respmonthly = 0.e+0_fp combmonthly = 0.e+0_fp herbmonthly = 0.e+0_fp biofmonthly = 0.e+0_fp respEQ = 0.e+0_fp combEQ = 0.e+0_fp herbEQ = 0.e+0_fp biofEQ = 0.e+0_fp NPPmonthly_hg = 0.e+0_fp respmonthly_hg = 0.e+0_fp combmonthly_hg = 0.e+0_fp herbmonthly_hg = 0.e+0_fp biofmonthly_hg = 0.e+0_fp respEQ_hg = 0.e+0_fp combEQ_hg = 0.e+0_fp herbEQ_hg = 0.e+0_fp biofEQ_hg = 0.e+0_fp evapEQ_hg = 0.e+0_fp reemitEQ_hg = 0.e+0_fp photoEQ_hg = 0.e+0_fp leafpoolEQ_hg = 0.e+0_fp slowpoolEQ_hg = 0.e+0_fp armoredpoolEQ_hg = 0.e+0_fp surfstrpoolEQ_hg = 0.e+0_fp soilstrpoolEQ_hg = 0.e+0_fp surfmetpoolEQ_hg = 0.e+0_fp soilmetpoolEQ_hg = 0.e+0_fp surfmicpoolEQ_hg = 0.e+0_fp soilmicpoolEQ_hg = 0.e+0_fp HgAqEQ_hg = 0.e+0_fp biomeAnnual_Hg = 0.e+0_fp !in doHgDeposition Hg0dry = 0.e+0_fp HgIIdry = 0.e+0_fp HgIIwet = 0.e+0_fp HgP = 0.e+0_fp HgAq = 0.e+0_fp hHgAq = 0.e+0_fp Hg0_surf_leaf = 0.e+0_fp Hg0_surf_soil = 0.e+0_fp HgII_surf_leaf = 0.e+0_fp HgII_surf_soil = 0.e+0_fp maxallLAI = 0.e+0_fp fstom = 0.e+0_fp fleaf = 0.e+0_fp fsoil = 0.e+0_fp fsum = 0.e+0_fp freemitted = 0.e+0_fp reemitted = 0.e+0_fp temp_hg = 0.e+0_fp photoreduced = 0.e+0_fp Hg0out = 0.e+0_fp reemmonthly_hg = 0.e+0_fp photmonthly_hg = 0.e+0_fp slowmonthly = 0.e+0_fp armoredmonthly = 0.e+0_fp surfstrmonthly = 0.e+0_fp surfmetmonthly = 0.e+0_fp surfmicmonthly = 0.e+0_fp soilstrmonthly = 0.e+0_fp soilmetmonthly = 0.e+0_fp soilmicmonthly = 0.e+0_fp leafmonthly = 0.e+0_fp slowmonthly_hg = 0.e+0_fp armoredmonthly_hg = 0.e+0_fp surfstrmonthly_hg = 0.e+0_fp surfmetmonthly_hg = 0.e+0_fp surfmicmonthly_hg = 0.e+0_fp soilstrmonthly_hg = 0.e+0_fp soilmetmonthly_hg = 0.e+0_fp soilmicmonthly_hg = 0.e+0_fp leafmonthly_hg = 0.e+0_fp leafpoolEQ = 0.e+0_fp slowpoolEQ = 0.e+0_fp armoredpoolEQ = 0.e+0_fp surfstrpoolEQ = 0.e+0_fp soilstrpoolEQ = 0.e+0_fp surfmetpoolEQ = 0.e+0_fp soilmetpoolEQ = 0.e+0_fp surfmicpoolEQ = 0.e+0_fp soilmicpoolEQ = 0.e+0_fp HgAqmonthly = 0.e+0_fp END SUBROUTINE initialize END MODULE defineArrays !EOC !------------------------------------------------------------------------------ ================================================ FILE: GTMM/defineConstants.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: defineConstants ! ! !DESCRIPTION: Define some constants for the run, including input and output ! directories. !\\ !\\ ! !INTERFACE: ! MODULE defineConstants ! ! !USES: ! USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE ! ! !REVISION HISTORY: ! 09 Jul 2010 - C. Carouge - Adapted to restart simulations. ! 25 Nov 2014 - M. Yannetti - Added PRECISION_MOD !EOP !------------------------------------------------------------------------------ !BOC ! integer :: rows=180 ! for 1x1 degree integer :: columns=360 ! for 1x1 degree integer :: NPPequilibriumYear !# of iteration years ! necessary to get soil ! moisture (and thus NPP and ! the decay scalars) in ! equilibrium. 3 is ok integer :: HgPoolsequilibriumYear !# of iteration ! years necessary to get Hg ! pools in equilibrium. ! ~30000 years with an ! f_decomp = 0.16, +161 to go ! from preind -> ind integer :: preindYear !last preindustrial year of simulation integer :: indYear ! last industrial year of simulation ! 161 years covering 1840 to 2000 integer :: n_age_classes=1 !# of age classes, set to 1 ! GTMM DOES NOT FULLY SUPPORT ! AGE CLASSES ! SO LEAVE = 1 real(fp) :: number_age_classes=1.000e+0_fp ! real of above real(fp) :: Q10=1.500e+0_fp !effect of temperature on soil fluxes real(fp) :: EMAX=0.700e+0_fp !maximum light use efficiency real(fp) :: aboveWoodFraction=0.7500e+0_fp ! fraction of wood that ! is above ground real(fp) :: herbivoreEff=0.500e+0_fp ! efficiency of herbivory ! (part autotrophic ! respiration, part to ! surface litter pools) real(fp) :: decompHgEff=0.163e+0_fp ! fraction of organic bound ! Hg that is reduced and ! re-emitted integer :: f_len=24 !length of filepath - CHANGE THIS character(len=24) :: filepath='/home/ccarouge/GTM/data/' ! filepath for data used by GTMM model ! if you modify this path, be sure to ! change the length in the character ! declaration integer :: f_len_output=35 !length of the outputpath character(len=35) :: outputpath=& '/home/ccarouge/GTM/output/ifort/v2/' integer :: n_veg=14268 !number of vegetated pixels (non-ice) integer :: h=1 integer :: yr=1 integer :: mo=1 integer :: age_class=1 ! Add restart variable to know if a stand-alone run is a continuation run ! (restart=.true.) or a run starting from beginning (restart=.false.). LOGICAL :: LRESTART CHARACTER(len=255) :: restartfile END MODULE defineConstants !EOC ================================================ FILE: GTMM/doFPARandLAI.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: doFPARandLAI ! ! !DESCRIPTION: This subroutine ... !\\ !\\ ! !INTERFACE: ! SUBROUTINE doFPARandLAI(FIRST) ! ! !USES: ! USE defineConstants USE loadCASAinput USE defineArrays USE PRECISION_MOD ! For GEOS-Chem Precision (fp) implicit none ! ! !INPUT PARAMETERS ! LOGICAL, INTENT(IN) :: FIRST ! ! !REVISION HISTORY: ! 09 Jul 2010 - C. Carouge - Adapted to restart simulations. Parallelization ! 25 Nov 2014 - M. Yannetti - Added PRECISION_MOD !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: i character(len=f_len_output+4) :: filename3 filename3(1:f_len_output)=outputpath !--- Previous to (ccc, 11/4/09) ! IF (yr .eq. 1 .and. mo .eq. 1) THEN IF ( FIRST ) THEN maxallLAI=0.0e+0_fp !$OMP PARALLEL DO & !$OMP DEFAULT(SHARED) & !$OMP PRIVATE(i) DO i=1,n_veg IF (veg1(i,1) .eq. 1) THEN srmax(i,1)=SRMAX1 LAImax(i,1)=LAIMAX1 ENDIF IF (veg1(i,1) .eq. 2) THEN srmax(i,1)=SRMAX2 LAImax(i,1)=LAIMAX2 ENDIF IF (veg1(i,1) .eq. 3) THEN srmax(i,1)=SRMAX3 LAImax(i,1)=LAIMAX3 ENDIF IF (veg1(i,1) .eq. 4) THEN srmax(i,1)=SRMAX4 LAImax(i,1)=LAIMAX4 ENDIF IF (veg1(i,1) .eq. 5) THEN srmax(i,1)=SRMAX5 LAImax(i,1)=LAIMAX5 ENDIF IF (veg1(i,1) .eq. 6) THEN srmax(i,1)=SRMAX6 LAImax(i,1)=LAIMAX6 ENDIF IF (veg1(i,1) .eq. 7) THEN srmax(i,1)=SRMAX7 LAImax(i,1)=LAIMAX7 ENDIF IF (veg1(i,1) .eq. 8) THEN srmax(i,1)=SRMAX8 LAImax(i,1)=LAIMAX8 ENDIF IF (veg1(i,1) .eq. 9) THEN srmax(i,1)=SRMAX9 LAImax(i,1)=LAIMAX9 ENDIF IF (veg1(i,1) .eq. 10) THEN srmax(i,1)=SRMAX10 LAImax(i,1)=LAIMAX10 ENDIF IF (veg1(i,1) .eq. 11) THEN srmax(i,1)=SRMAX11 LAImax(i,1)=LAIMAX11 ENDIF IF (veg1(i,1) .eq. 12) THEN srmax(i,1)=SRMAX12 LAImax(i,1)=LAIMAX12 ENDIF END DO !$OMP END PARALLEL DO END IF !begin to calculate FPAR !$OMP PARALLEL & !$OMP DEFAULT(SHARED) !$OMP WORKSHARE sr(:,1)=(1.000e+0_fp+NDVI1(:,mo))/(1.000e+0_fp-NDVI1(:,mo)) FPAR(:,mo)=(((sr(:,1)-SRMIN)/(srmax(:,1)-SRMIN))*(FPARMAX-FPARMIN))+ & FPARMIN !$OMP END WORKSHARE !!$OMP PARALLEL & !!$OMP DEFAULT(SHARED) !$OMP DO PRIVATE(i) DO i=1,n_veg IF (FPAR(i,mo) .gt. FPARMAX) THEN FPAR(i,mo)=FPARMAX ENDIF IF (FPAR(i,mo) .lt. FPARMIN) THEN FPAR(i,mo)=FPARMIN ENDIF END DO !$OMP END DO ! Begin to calculate LAI !clustered canopies (veg = 4, 5, 9) !$OMP DO PRIVATE(i) DO i=1, n_veg IF (veg1(i,1) .eq. 4 .or. veg1(i,1) .eq. 5 .or. veg1(i,1) .eq.9) THEN LAI_temp(i,1)=LAImax(i,1)*(FPAR(i,mo)/FPARMAX) END IF !mix of clustered and homogeneous canopy IF (veg1(i,1) .eq. 3) THEN LAI_temp(i,1)=(LAImax(i,1)*(log(1e+0_fp-FPAR(i,mo))/ & log(1e+0_fp-FPARMAX)+ & FPAR(i,mo)/FPARMAX))/2e+0_fp ENDIF !homogeneous canopy IF (veg1(i,1) .ne. 3 .and. & veg1(i,1) .ne. 4 .and. & veg1(i,1) .ne. 5 .and. & veg1(i,1) .ne. 9) THEN LAI_temp(i,1)=LAImax(i,1)*(log(1e+0_fp-FPAR(i,mo))/ & log(1e+0_fp-FPARMAX)) ENDIF END DO !$OMP END DO !$OMP DO PRIVATE(i) DO i=1, n_veg IF (LAI_temp(i,1) .lt. 0) THEN LAI_temp(i,1)=0.0e+0_fp ENDIF END DO !$OMP END DO !$OMP END PARALLEL maxallLAI=8.0e+0_fp LAI(:,mo)=LAI_temp(:,1) filename3(f_len_output+1:f_len_output+4)='flai' IF (mo .eq. 12 .and. yr .eq. NPPequilibriumYear ) THEN OPEN(UNIT=4, file=filename3, STATUS="NEW", & FORM="FORMATTED") WRITE(4,FMT="(12F9.2)") LAI CLOSE(4) ENDIF END SUBROUTINE doFPARandLAI !EOC ================================================ FILE: GTMM/doHerbCarbon.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: doHerbCarbon ! ! !DESCRIPTION: This subroutine ... !\\ !\\ ! !INTERFACE: ! SUBROUTINE doHerbCarbon ! ! !USES: ! USE defineConstants USE loadCASAinput USE defineArrays USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE ! ! !REVISION HISTORY: ! 09 Jul 2010 - C. Carouge - Parallelized ! 25 Nov 2014 - M. Yannetti - Added PRECISION_MOD !EOP !------------------------------------------------------------------------------ !BOC ! ! herbaceous vegetation carbon fluxes ! NPP: calculate inputs from NPP to living pools leafinput(:,1)=NPP(:,mo)*0.40e+0_fp ! 40% of NPP is aboveground frootinput(:,1)=NPP(:,mo)*0.60e+0_fp ! 60% of NPP is belowground !$OMP PARALLEL & !$OMP DEFAULT(SHARED) !$OMP WORKSHARE !NPP: transfer NPP into living biomass pools hleafpool(:,1)=hleafpool(:,1)+leafinput(:,1) hfrootpool(:,1)=hfrootpool(:,1)+frootinput(:,1) !HERBIVORY herbivory(:,1)=grass_herbivory(:,1)*herb_seasonality(:,mo) !yearly herbivory * seasonality scalar !in case herbivory exceeds leaf, lower herbivory WHERE (herbivory(:,1) > hleafpool(:,1)) herbivory(:,1)=hleafpool(:,1) END WHERE !deduct herbivory from the leaf pool hleafpool(:,1)=hleafpool(:,1)-herbivory(:,1) carbonout_leaf(:,1)=herbivory(:,1)*(1.00-herbivoreEff) !part of the consumed leaf will be returned as litter herbivory(:,1)=herbivory(:,1)-herbivory(:,1)*(1.00e+0_fp-herbivoreEff) !part of the consumed leaf for maintenance hsurfstrpool(:,1)=hsurfstrpool(:,1)+carbonout_leaf(:,1)* & (1.00e+0_fp-metabfract(:,1)) hsurfmetpool(:,1)=hsurfmetpool(:,1)+carbonout_leaf(:,1)*metabfract(:,1) !DECAY of biomass and litter, each of thes following equations !have the following basic form: !carbon pool size * rate constan * abiotic effect !some may have more terms but all are first order carbonout_leaf(:,1)=hleafpool(:,1)*K_hleaf(:,1)*hlitterscalar(:,mo) carbonout_froot(:,1)=hfrootpool(:,1)*K_hfroot(:,1)*hlitterscalar(:,mo) carbonout_surfmet(:,1)=hsurfmetpool(:,1)*K_surfmet(:,1)*abiotic(:,mo) carbonout_surfstr(:,1)=hsurfstrpool(:,1)*K_surfstr(:,1)*abiotic(:,mo)* & lignineffect(:,1) carbonout_soilmet(:,1)=hsoilmetpool(:,1)*K_soilmet(:,1)*abiotic(:,mo) carbonout_soilstr(:,1)=hsoilstrpool(:,1)*K_soilstr(:,1)*abiotic(:,mo)* & lignineffect(:,1) carbonout_surfmic(:,1)=hsurfmicpool(:,1)*K_surfmic(:,1)*abiotic(:,mo) carbonout_soilmic(:,1)=hsurfmicpool(:,1)*K_soilmic(:,1)*abiotic(:,mo)* & soilmicDecayFactor(:,1) carbonout_slow(:,1)=hslowpool(:,1)*K_slow(:,1)*abiotic(:,mo) carbonout_armored(:,1)=harmoredpool(:,1)*K_armored(:,1)*abiotic(:,mo) !determine inputs into structural and metabolic pools from !decaying living pools hsurfstrpool(:,1)=hsurfstrpool(:,1)+carbonout_leaf(:,1)* & (1.00e+0_fp-metabfract(:,1)) hsoilstrpool(:,1)=hsoilstrpool(:,1)+carbonout_froot(:,1)* & (1.00e+0_fp-metabfract(:,1)) hsurfmetpool(:,1)=hsurfmetpool(:,1)+carbonout_leaf(:,1)*metabfract(:,1) hsoilmetpool(:,1)=hsoilmetpool(:,1)+carbonout_froot(:,1)*metabfract(:,1) hleafpool(:,1)=hleafpool(:,1)-carbonout_leaf(:,1) hfrootpool(:,1)=hfrootpool(:,1)-carbonout_froot(:,1) hsurfstrpool(:,1)=hsurfstrpool(:,1)-carbonout_surfstr(:,1) !empty respiration pools in beginning of month resppool_surfstr(:,1)=resppool_surfstr(:,1)*0.0e+0_fp resppool_surfmet(:,1)=resppool_surfmet(:,1)*0.0e+0_fp resppool_surfmic(:,1)=resppool_surfmic(:,1)*0.0e+0_fp resppool_soilstr(:,1)=resppool_soilstr(:,1)*0.0e+0_fp resppool_soilmet(:,1)=resppool_soilmet(:,1)*0.0e+0_fp resppool_soilmic(:,1)=resppool_soilmic(:,1)*0.0e+0_fp resppool_slow(:,1)=resppool_slow(:,1)*0.0e+0_fp resppool_armored(:,1)=resppool_armored(:,1)*0.0e+0_fp ! respiratory fluxes from every pool temp(:,1)=(carbonout_surfstr(:,1)*structuralLignin(:,1))*eff_surfstr2slow hslowpool(:,1)=hslowpool(:,1)+temp(:,1) resppool_surfstr(:,1)=resppool_surfstr(:,1)+(temp(:,1)/eff_surfstr2slow)* & (1.00e+0_fp-eff_surfstr2slow) temp(:,1)=0.0e+0_fp temp(:,1)=(carbonout_surfstr(:,1)*(1e+0_fp-structuralLignin(:,1)))* & eff_surfstr2surfmic hsurfmicpool(:,1)=hsurfmicpool(:,1)+temp(:,1) resppool_surfstr(:,1)=resppool_surfstr(:,1)+(temp(:,1)/ & eff_surfstr2surfmic)*(1.000e+0_fp-eff_surfstr2surfmic) hsoilstrpool(:,1)=hsoilstrpool(:,1)-carbonout_soilstr(:,1) temp(:,1)=0.0e+0_fp temp(:,1)=carbonout_soilstr(:,1)*structuralLignin(:,1)*eff_soilstr2slow hslowpool(:,1)=hslowpool(:,1)+temp(:,1) resppool_soilstr(:,1)=resppool_soilstr(:,1)+(temp(:,1)/eff_soilstr2slow)* & (1.000e+0_fp-eff_soilstr2slow) temp(:,1)=0.0e+0_fp temp(:,1)=carbonout_soilstr(:,1)*(1-structuralLignin(:,1))* & eff_soilstr2soilmic hsurfmicpool(:,1)=hsurfmicpool(:,1)+temp(:,1) resppool_soilstr(:,1)=resppool_soilstr(:,1)+(temp(:,1)/ & eff_soilstr2soilmic)*(1.000e+0_fp-eff_soilstr2soilmic) temp(:,1)=0.0e+0_fp temp(:,1)=carbonout_surfmet(:,1)*eff_surfmet2surfmic hsurfmetpool(:,1)=hsurfmetpool(:,1)-carbonout_surfmet(:,1) hsurfmicpool(:,1)=hsurfmicpool(:,1)+temp(:,1) resppool_surfmet(:,1)=(temp(:,1)/eff_surfmet2surfmic)* & (1.000e+0_fp-eff_surfmet2surfmic) temp(:,1)=0.0e+0_fp temp(:,1)=carbonout_soilmet(:,1)*eff_soilmet2soilmic hsoilmetpool(:,1)=hsoilmetpool(:,1)-carbonout_soilmet(:,1) hsurfmicpool(:,1)=hsurfmicpool(:,1)+temp(:,1) resppool_soilmet(:,1)=(temp(:,1)/eff_soilmet2soilmic)* & (1.000e+0_fp-eff_soilmet2soilmic) temp(:,1)=0.0e+0_fp temp(:,1)=carbonout_surfmic(:,1)*eff_surfmic2slow hsurfmicpool(:,1)=hsurfmicpool(:,1)-carbonout_surfmic(:,1) hslowpool(:,1)=hslowpool(:,1)+temp(:,1) resppool_surfmic(:,1)=(temp(:,1)/eff_surfmic2slow)* & (1.000e+0_fp-eff_surfmic2slow) resppool_soilmic(:,1)=eff_soilmic2slow(:,1)*carbonout_soilmic(:,1) hsurfmicpool(:,1)=hsurfmicpool(:,1)-carbonout_soilmic(:,1) temp(:,1)=0.0e+0_fp temp(:,1)=carbonout_soilmic(:,1)*(0.003e+0_fp+(0.032e+0_fp*clay(:,1))) harmoredpool(:,1)=harmoredpool(:,1)+temp(:,1) temp(:,1)=carbonout_soilmic(:,1)-temp(:,1)-resppool_soilmic(:,1) hslowpool(:,1)=hslowpool(:,1)+temp(:,1) resppool_slow(:,1)=carbonout_slow(:,1)*(1.000e+0_fp-eff_slow2soilmic) hslowpool(:,1)=hslowpool(:,1)-carbonout_slow(:,1) temp(:,1)=0.0e+0_fp temp(:,1)=carbonout_slow(:,1)*eff_slow2soilmic*decayClayFactor(:,1) harmoredpool(:,1)=harmoredpool(:,1)+temp(:,1) temp(:,1)=carbonout_slow(:,1)-resppool_slow(:,1)-temp(:,1) hsurfmicpool(:,1)=hsurfmicpool(:,1)+temp(:,1) temp(:,1)=0.0e+0_fp temp(:,1)=carbonout_armored(:,1)*eff_armored2soilmic harmoredpool(:,1)=harmoredpool(:,1)-carbonout_armored(:,1) hsurfmicpool(:,1)=hsurfmicpool(:,1)+temp(:,1) resppool_armored(:,1)=(temp(:,1)/eff_armored2soilmic)* & (1.000e+0_fp-eff_armored2soilmic) !FIRES consume part of the pools depending on burned fraction !BF, combustion completeness CC, and tree mortality rate combusted_leaf(:,1)=hleafpool(:,1)*BF1(:,mo)*ccLeaf(:,mo) combusted_surfstr(:,1)=hsurfstrpool(:,1)*BF1(:,mo)*ccFineLitter(:,mo) combusted_surfmet(:,1)=hsurfmetpool(:,1)*BF1(:,mo)*ccFineLitter(:,mo) combusted_surfmic(:,1)=hsurfmicpool(:,1)*BF1(:,mo)*ccFineLitter(:,mo) !adding soil comb combusted_soilstr(:,1)=hsoilstrpool(:,1)*BF1(:,mo)*ccFineLitter(:,mo)*veg_burn(:,1) combusted_soilmet(:,1)=hsoilmetpool(:,1)*BF1(:,mo)*ccFineLitter(:,mo)*veg_burn(:,1) combusted_soilmic(:,1)=hsoilmicpool(:,1)*BF1(:,mo)*ccFineLitter(:,mo)*veg_burn(:,1) combusted_slow(:,1)=hslowpool(:,1)*BF1(:,mo)*ccFineLitter(:,mo)*veg_burn(:,1) combusted_armored(:,1)=harmoredpool(:,1)*BF1(:,mo)*ccFineLitter(:,mo)*veg_burn(:,1) !FIRE: The non-combusted parts nonCombusted_leaf(:,1)=hleafpool(:,1)*BF1(:,mo)*(1.00e+0_fp-ccLeaf(:,mo)) & *mortality_tree(:,1) nonCombusted_froot(:,1)=hfrootpool(:,1)*BF1(:,mo)*mortality_hfroot(:,1) !FIRE flux from non combusted parts to other pools hsurfstrpool(:,1)=hsurfstrpool(:,1)+nonCombusted_leaf(:,1)* & (1.00e+0_fp-metabfract(:,1)) hsurfmetpool(:,1)=hsurfmetpool(:,1)+nonCombusted_leaf(:,1)*metabfract(:,1) hsoilstrpool(:,1)=hsoilstrpool(:,1)+nonCombusted_froot(:,1)* & (1.00e+0_fp-metabfract(:,1)) hsoilmetpool(:,1)=hsoilmetpool(:,1)+nonCombusted_froot(:,1)*metabfract(:,1) !FIRE hleafpool(:,1)=hleafpool(:,1)-combusted_leaf(:,1)-nonCombusted_leaf(:,1) hfrootpool(:,1)=hfrootpool(:,1)-nonCombusted_froot(:,1) hsurfstrpool(:,1)=hsurfstrpool(:,1)-combusted_surfstr(:,1) hsurfmetpool(:,1)=hsurfmetpool(:,1)-combusted_surfmet(:,1) hsurfmicpool(:,1)=hsurfmicpool(:,1)-combusted_surfmic(:,1) !new soil burning hsoilstrpool(:,1)=hsoilstrpool(:,1)-combusted_soilstr(:,1) hsoilmetpool(:,1)=hsoilmetpool(:,1)-combusted_soilmet(:,1) hsoilmicpool(:,1)=hsoilmicpool(:,1)-combusted_soilmic(:,1) hslowpool(:,1)=hslowpool(:,1)-combusted_slow(:,1) harmoredpool(:,1)=harmoredpool(:,1)-combusted_armored(:,1) !$OMP END WORKSHARE !$OMP END PARALLEL !calculate fluxes IF (age_class .eq. 1) THEN hresp(:,1)=0.0e+0_fp hcomb(:,1)=0.0e+0_fp hherb(:,1)=0.0e+0_fp ENDIF IF (n_age_classes .eq. 1) THEN hresp(:,1)=resppool_surfstr(:,1)+resppool_surfmet(:,1)& +resppool_surfmic(:,1)+resppool_soilstr(:,1) & +resppool_soilmet(:,1)+resppool_soilmic(:,1) & +resppool_slow(:,1)+resppool_armored(:,1) hcomb(:,1)=combusted_leaf(:,1)+combusted_surfstr(:,1) & +combusted_surfmet(:,1)+combusted_surfmic(:,1) & +combusted_soilstr(:,1)+combusted_soilmet(:,1) & +combusted_soilmic(:,1)+combusted_slow(:,1) & +combusted_armored(:,1) hherb(:,1)=herbivory(:,1) ELSE IF (age_class .eq. 1) THEN hresp(:,1)=0.0e+0_fp hcomb(:,1)=0.0e+0_fp hherb(:,1)=0.0e+0_fp ENDIF hresp(:,1)=hresp(:,1)+(resppool_surfstr(:,1) & + resppool_surfmet(:,1)+resppool_surfmic(:,1) & + resppool_soilstr(:,1)+resppool_soilmet(:,1) & + resppool_soilmic(:,1)+resppool_slow(:,1) & + resppool_armored(:,1))/number_age_classes hcomb(:,1)=hcomb(:,1)+(combusted_leaf(:,1)+ & +combusted_surfstr(:,1)+combusted_surfmet(:,1)& +combusted_surfmic(:,1))/number_age_classes hherb(:,1)=hherb(:,1)+(herbivory(:,1)/number_age_classes) ENDIF END SUBROUTINE doHerbCarbon !EOC ================================================ FILE: GTMM/doHerbCarbonHg.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: doHerbCarbonHg ! ! !DESCRIPTION: This subroutine ... !\\ !\\ ! !INTERFACE: ! SUBROUTINE doHerbCarbonHg ! ! !USES: ! USE defineConstants USE loadCASAinput USE defineArrays USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE ! ! !REVISION HISTORY ! 09 Jul 2010 - C. Carouge - Parallelization ! 25 Nov 2014 - M. Yannetti - Added PRECISION_MOD !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: i character(len=51) :: filename3 real(fp) :: tempb(n_veg, 1) real(fp) :: tempa(n_veg, 1) real(fp) :: f_temp(n_veg, 1) real(fp) :: resid real(fp) :: allowed, max_test real(fp) :: f_surf_str(n_veg, 1) real(fp) :: f_soil_str(n_veg, 1) real(fp) :: f_surf_met(n_veg, 1) real(fp) :: f_soil_met(n_veg, 1) real(fp) :: f_surf_mic(n_veg, 1) real(fp) :: f_soil_mic(n_veg, 1) real(fp) :: f_armd(n_veg, 1) real(fp) :: f_slow(n_veg, 1) real(fp) :: TotalC(n_veg, 1) real(fp) :: f_hg_emit(n_veg, 1) real(fp) :: surf_str_input(n_veg, 1) real(fp) :: soil_str_input(n_veg, 1) real(fp) :: surf_met_input(n_veg, 1) real(fp) :: soil_met_input(n_veg, 1) real(fp) :: surf_mic_input(n_veg, 1) real(fp) :: soil_mic_input(n_veg, 1) real(fp) :: slow_input(n_veg, 1) real(fp) :: armd_input(n_veg, 1) real(fp) :: max_pools(n_veg,4) real(fp) :: excess(n_veg, 1) filename3(1:47)=outputpath !herbaceous vegetation carbon fluxes !$OMP PARALLEL & !$OMP DEFAULT(SHARED) !$OMP WORKSHARE !NPP: calculate inputs from NPP into living pools leafinput(:,1)=0.0e+0_fp frootinput(:,1)=0.0e+0_fp resid=0.0e+0_fp f_hg_emit(:,1)=decompHgEff leafinput(:,1)=NPP(:,mo)*0.40e+0_fp !40% NPP aboveground frootinput(:,1)=NPP(:,mo)*0.60e+0_fp !60% NPP belowground !NPP: transfer NPP into living biomass pools hleafpool(:,1)=hleafpool(:,1)+leafinput(:,1) hfrootpool(:,1)=hfrootpool(:,1)+frootinput(:,1) !!!!! Transfer wet deposition to carbon pools !!!!! based on relative wt of carbon in each pool TotalC(:,1)=hsoilstrpool(:,1)+hsurfstrpool(:,1) TotalC(:,1)=totalC(:,1)+hslowpool(:,1)+harmoredpool(:,1) f_surf_str(:,1)=0.0e+0_fp f_soil_str(:,1)=0.0e+0_fp f_slow(:,1)=0.0e+0_fp f_armd(:,1)=0.0e+0_fp WHERE (TotalC(:,1) /= 0) f_surf_str(:,1)=hsurfstrpool(:,1) / TotalC(:,1) f_soil_str(:,1)=hsoilstrpool(:,1) / TotalC(:,1) f_slow(:,1)=hslowpool(:,1) / TotalC(:,1) f_armd(:,1)=harmoredpool(:,1) / TotalC(:,1) END WHERE ! assume that Hg binds with equal affinity to all structural carbon ! pools surf_str_input(:,1)=HgIIwet(:,1)*f_surf_str(:,1)!*frac_herb(:,1) soil_str_input(:,1)=HgIIwet(:,1)*f_soil_str(:,1)!*frac_herb(:,1) slow_input(:,1)=HgIIwet(:,1)*f_slow(:,1)!*frac_herb(:,1) armd_input(:,1)=HgIIwet(:,1)*f_armd(:,1)!*frac_herb(:,1) hsurfstrpool_hg(:,1)=hsurfstrpool_Hg(:,1)+surf_str_input(:,1) hsoilstrpool_Hg(:,1)=hsoilstrpool_Hg(:,1)+soil_str_input(:,1) hslowpool_Hg(:,1) =hslowpool_Hg(:,1) +slow_input(:,1) harmoredpool_Hg(:,1)=harmoredpool_Hg(:,1)+armd_input(:,1) !now, if any of the pools exceeds the maximum allowed !pool size, transfer the remainder to other pools !and if all are full, transfer to HgAq pool f_surf_str(:,1)=0.0e+0_fp f_surf_met(:,1)=0.0e+0_fp f_surf_mic(:,1)=0.0e+0_fp f_soil_str(:,1)=0.0e+0_fp f_soil_met(:,1)=0.0e+0_fp f_soil_mic(:,1)=0.0e+0_fp f_slow(:,1)=0.0e+0_fp f_armd(:,1)=0.0e+0_fp surf_str_input(:,1)=0.0e+0_fp soil_str_input(:,1)=0.0e+0_fp surf_met_input(:,1)=0.0e+0_fp soil_met_input(:,1)=0.0e+0_fp surf_mic_input(:,1)=0.0e+0_fp soil_mic_input(:,1)=0.0e+0_fp slow_input(:,1)=0.0e+0_fp armd_input(:,1)=0.00e+0_fp max_pools(:,:)=1.0e+0_fp excess(:,1)=0.0e+0_fp surf_str_input(:,1)=max_hg_hsurfstr(:,1)-hsurfstrpool_Hg(:,1) soil_str_input(:,1)=max_hg_hsoilstr(:,1)-hsoilstrpool_Hg(:,1) slow_input(:,1)=max_hg_hslow(:,1) -hslowpool_Hg(:,1) armd_input(:,1)=max_hg_harmored(:,1)-harmoredpool_Hg(:,1) !$OMP END WORKSHARE !$OMP DO & !$OMP PRIVATE(i, max_test) DO i=1, n_veg IF (surf_str_input(i,1) .lt. 0.0e+0_fp) THEN excess(i,1)=excess(i,1)+surf_str_input(i,1) max_pools(i,1)=0e+0_fp ENDIF IF (soil_str_input(i,1) .lt. 0.0e+0_fp) THEN excess(i,1)=excess(i,1)+soil_str_input(i,1) max_pools(i,2)=0e+0_fp ENDIF IF (slow_input(i,1) .lt. 0.0e+0_fp) THEN excess(i,1)=excess(i,1)+slow_input(i,1) max_pools(i,3)=0e+0_fp ENDIF IF (armd_input(i,1) .lt. 0.0e+0_fp) THEN excess(i,1)=excess(i,1)+armd_input(i,1) max_pools(i,4)=0e+0_fp ENDIF max_test=sum(max_pools(i,:)) IF (excess(i,1) .lt. 0.0e+0_fp .and. max_test .eq. 0e+0_fp) THEN hsurfstrpool_Hg(i,1)=max_hg_hsurfstr(i,1) hsoilstrpool_Hg(i,1)=max_hg_hsoilstr(i,1) hslowpool_Hg(i,1)=max_hg_hslow(i,1) harmoredpool_Hg(i,1)=max_hg_harmored(i,1) hHgAq(i,1)=hHgAq(i,1)+excess(i,1)*(-1.0e+0_fp) excess(i,1)=0.0e+0_fp ELSE IF (excess(i,1) .lt. 0.0e+0_fp .and. max_test .gt. 0e+0_fp) THEN totalC(i,1)=(hsoilstrpool(i,1)*max_pools(i,2))+(hsurfstrpool(i,1)*max_pools(i,1)) totalC(i,1)=totalC(i,1)+(hslowpool(i,1)*max_pools(i,3))+(harmoredpool(i,1)*max_pools(i,4)) IF (totalC(i,1) .ne. 0e+0_fp) THEN f_surf_str(i,1)=(hsurfstrpool(i,1)*max_pools(i,1)) / totalC(i,1) f_soil_str(i,1)=(hsoilstrpool(i,1)*max_pools(i,2)) / totalC(i,1) f_slow(i,1)=(hslowpool(i,1)*max_pools(i,3)) / totalC(i,1) f_armd(i,1)=(harmoredpool(i,1)*max_pools(i,4)) / totalC(i,1) ELSE !if there is no carbon transfer everything to HgAq hHgAq(i,1)=hHgAq(i,1)+excess(i,1)*(-1.0e+0_fp) excess(i,1)=0.0e+0_fp END IF hsurfstrpool_Hg(i,1)=hsurfstrpool_Hg(i,1)+f_surf_str(i,1)*(-1.0e+0_fp)*excess(i,1) hsoilstrpool_Hg(i,1)=hsoilstrpool_Hg(i,1)+f_soil_str(i,1)*(-1.0e+0_fp)*excess(i,1) hslowpool_Hg(i,1)=hslowpool_Hg(i,1)+f_slow(i,1)*(-1.0e+0_fp)*excess(i,1) harmoredpool_Hg(i,1)=harmoredpool_Hg(i,1)+f_armd(i,1)*(-1.0e+0_fp)*excess(i,1) excess(i,1)=0.0e+0_fp ENDIF END DO !$OMP END DO !$OMP WORKSHARE !herbivory herbivory(:,1)=grass_herbivory(:,1)*herb_seasonality(:,mo) !yearly herbivory*seasonality scalar WHERE ( herbivory(:,1) > hleafpool(:,1) ) herbivory(:,1)=hleafpool(:,1) END WHERE WHERE( hleafpool(:,1) /= 0e+0_fp ) f_carbonout_leaf(:,1)=herbivory(:,1)/hleafpool(:,1) ELSEWHERE f_carbonout_leaf(:,1)=0.0e+0_fp END WHERE !deduct herbivory from leafpool hleafpool(:,1)=hleafpool(:,1)-herbivory(:,1) !part of the consumed leaf will be returned as litter carbonout_leaf(:,1)=herbivory(:,1)*(1.000-herbivoreEff) !part of the consumed leaf for maintenance herbivory(:,1)=herbivory(:,1)-herbivory(:,1)*(1.000e+0_fp-herbivoreEff) hsurfstrpool(:,1)=hsurfstrpool(:,1)+carbonout_leaf(:,1)*(1.000e+0_fp-metabfract(:,1)) hsurfmetpool(:,1)=hsurfmetpool(:,1)+carbonout_leaf(:,1)*metabfract(:,1) !all of the consumed Hg returned as litter hgout_leaf(:,1)=hleafpool_hg(:,1)*f_carbonout_leaf(:,1)!*f_hg_emit(:,1) hleafpool_hg(:,1)=hleafpool_hg(:,1)-hgout_leaf(:,1) hsurfstrpool_Hg(:,1)=hsurfstrpool_Hg(:,1)+hgout_leaf(:,1) !DECAY of biomass and litter, each of the following eqns !have the following basic form: !carbon pool size*rate constant *abiotic effect !some may have more terms, but all are first order carbonout_leaf(:,1)=hleafpool(:,1)*K_hleaf(:,1)*hlitterscalar(:,mo) carbonout_froot(:,1)=hfrootpool(:,1)*K_hfroot(:,1)*hlitterscalar(:,mo) carbonout_surfmet(:,1)=hsurfmetpool(:,1)*K_surfmet(:,1)*abiotic(:,mo) carbonout_surfstr(:,1)=hsurfstrpool(:,1)*K_surfstr(:,1)*abiotic(:,mo)*lignineffect(:,1) carbonout_soilmet(:,1)=hsoilmetpool(:,1)*K_soilmet(:,1)*abiotic(:,mo) carbonout_soilstr(:,1)=hsoilstrpool(:,1)*K_soilstr(:,1)*abiotic(:,mo)*lignineffect(:,1) carbonout_surfmic(:,1)=hsurfmicpool(:,1)*K_surfmic(:,1)*abiotic(:,mo) carbonout_soilmic(:,1)=hsoilmicpool(:,1)*K_soilmic(:,1)*abiotic(:,mo)*soilmicDecayFactor(:,1) carbonout_slow(:,1)=hslowpool(:,1)*K_slow(:,1)*abiotic(:,mo) carbonout_armored(:,1)=harmoredpool(:,1)*K_armored(:,1)*abiotic(:,mo) hgout_leaf(:,1)=hleafpool_hg(:,1)*K_hleaf(:,1)*hlitterscalar(:,mo)!*f_hg_emit(:,1)!! hgout_surfmet(:,1)=hsurfmetpool_hg(:,1)*K_surfmet(:,1)*f_hg_emit(:,1)*abiotic(:,mo) hgout_surfmic(:,1)=hsurfmicpool_hg(:,1)*K_surfmic(:,1)*f_hg_emit(:,1)*abiotic(:,mo) hgout_surfstr(:,1)=hsurfstrpool_hg(:,1)*K_surfstr(:,1)*f_hg_emit(:,1)*abiotic(:,mo)*lignineffect(:,1) hgout_soilmet(:,1)=hsoilmetpool_hg(:,1)*K_soilmet(:,1)*f_hg_emit(:,1)*abiotic(:,mo) hgout_soilmic(:,1)=hsoilmicpool_hg(:,1)*K_soilmic(:,1)*f_hg_emit(:,1)*abiotic(:,mo)*soilmicDecayFactor(:,1) hgout_soilstr(:,1)=hsoilstrpool_hg(:,1)*K_soilstr(:,1)*f_hg_emit(:,1)*abiotic(:,mo)*lignineffect(:,1) hgout_slow(:,1) =hslowpool_hg(:,1) *K_slow(:,1)*f_hg_emit(:,1)*abiotic(:,mo) hgout_armored(:,1)=harmoredpool_hg(:,1)*K_armored(:,1)*f_hg_emit(:,1)*abiotic(:,mo) !determine inputs into structural and metabolic pools from !decaying living pools hsurfstrpool(:,1)=hsurfstrpool(:,1)+(carbonout_leaf(:,1))*(1.00-metabfract(:,1)) hsurfstrpool_hg(:,1)=hsurfstrpool_hg(:,1)+(hgout_leaf(:,1)*(1.00-metabfract(:,1))) hsoilstrpool(:,1)=hsoilstrpool(:,1)+(carbonout_froot(:,1))*(1.00-metabfract(:,1)) hsurfmetpool(:,1)=hsurfmetpool(:,1)+(carbonout_leaf(:,1))*metabfract(:,1) hsurfmetpool_hg(:,1)=hsurfmetpool_hg(:,1)+(hgout_leaf(:,1)*metabfract(:,1)) hsoilmetpool(:,1)=hsoilmetpool(:,1)+(carbonout_froot(:,1))*metabfract(:,1) hleafpool(:,1)=hleafpool(:,1)-carbonout_leaf(:,1) hleafpool_hg(:,1)=hleafpool_hg(:,1)-hgout_leaf(:,1) hfrootpool(:,1)=hfrootpool(:,1)-carbonout_froot(:,1) hsurfstrpool(:,1)=hsurfstrpool(:,1)-carbonout_surfstr(:,1) hsurfstrpool_hg(:,1)=hsurfstrpool_hg(:,1)-hgout_surfstr(:,1) !empty respiration pools at the beginning of the month resppool_surfstr(:,1)=0.000e+0_fp resppool_surfmet(:,1)=0.000e+0_fp resppool_surfmic(:,1)=0.000e+0_fp resppool_soilstr(:,1)=0.000e+0_fp resppool_soilmet(:,1)=0.000e+0_fp resppool_soilmic(:,1)=0.000e+0_fp resppool_slow(:,1)=0.000e+0_fp resppool_armored(:,1)=0.000e+0_fp resppool_surfstr_hg(:,1)=0.0e+0_fp resppool_surfmet_hg(:,1)=0.0e+0_fp resppool_surfmic_hg(:,1)=0.0e+0_fp resppool_soilstr_hg(:,1)=0.0e+0_fp resppool_soilmet_hg(:,1)=0.0e+0_fp resppool_soilmic_hg(:,1)=0.0e+0_fp resppool_slow_hg(:,1)=0.0e+0_fp resppool_armored_hg(:,1)=0.0e+0_fp temp(:,1)=0.0e+0_fp tempa(:,1)=0.0e+0_fp tempb(:,1)=0.0e+0_fp f_temp(:,1)=0.0e+0_fp !respiratory fluxes from every pool - temp temp(:,1)=(carbonout_surfstr(:,1)*structuralLignin(:,1))& *eff_surfstr2slow hslowpool(:,1)=hslowpool(:,1)+temp(:,1) resppool_surfstr(:,1)=resppool_surfstr(:,1)+& (temp(:,1)/eff_surfstr2slow)*(1.00e+0_fp-eff_surfstr2slow) WHERE (carbonout_surfstr(:,1) /= 0.0e+0_fp) f_temp(:,1)=temp(:,1)/carbonout_surfstr(:,1) ELSEWHERE f_temp(:,1)=0.0e+0_fp END WHERE hslowpool_hg(:,1)=hslowpool_hg(:,1)+(hgout_surfstr(:,1)*f_temp(:,1)) Hg_pool_fluxes1(:,mo)=Hg_pool_fluxes1(:,mo)+(hgout_surfstr(:,1)*f_temp(:,1)*frac_herb(:,1)) tempa(:,1)=(temp(:,1)/eff_surfstr2slow)*(1-eff_surfstr2slow) f_temp(:,1)=0.0e+0_fp WHERE (carbonout_surfstr(:,1) /= 0.0e+0_fp) f_temp(:,1)=tempa(:,1)/carbonout_surfstr(:,1) ELSEWHERE f_temp(:,1)=0.0e+0_fp END WHERE resppool_surfstr_hg(:,1)=resppool_surfstr_hg(:,1)+(hgout_surfstr(:,1)*f_temp(:,1)) temp(:,1)=0.000e+0_fp tempa(:,1)=0.0e+0_fp f_temp(:,1)=0.0e+0_fp temp(:,1)=(carbonout_surfstr(:,1)*(1.00e+0_fp-structuralLignin(:,1)))*eff_surfstr2surfmic WHERE (carbonout_surfstr(:,1) /= 0.0e+0_fp) f_temp(:,1)=temp(:,1)/carbonout_surfstr(:,1) ELSEWHERE f_temp(:,1)=0.0e+0_fp END WHERE hsurfmicpool(:,1)=hsurfmicpool(:,1)+temp(:,1) hsurfmicpool_hg(:,1)=hsurfmicpool_hg(:,1)+(hgout_surfstr(:,1)*f_temp(:,1)) resppool_surfstr(:,1)=resppool_surfstr(:,1)+(temp(:,1)/eff_surfstr2surfmic)*(1.00-eff_surfstr2surfmic) tempa(:,1)=(temp(:,1)/eff_surfstr2surfmic)*(1-eff_surfstr2surfmic) WHERE (carbonout_surfstr(:,1) /= 0.0e+0_fp) f_temp(:,1)=tempa(:,1)/carbonout_surfstr(:,1) ELSEWHERE f_temp(:,1)=0.0e+0_fp END WHERE resppool_surfstr_hg(:,1)=resppool_surfstr_hg(:,1)+(f_temp(:,1)*hgout_surfstr(:,1)) hsoilstrpool(:,1)=hsoilstrpool(:,1)-carbonout_soilstr(:,1) hsoilstrpool_hg(:,1)=hsoilstrpool_hg(:,1)-hgout_soilstr(:,1) temp(:,1)=0.000e+0_fp tempa(:,1)=0.0e+0_fp f_temp(:,1)=0.0e+0_fp temp(:,1)=carbonout_soilstr(:,1)*structuralLignin(:,1)*eff_soilstr2slow WHERE (carbonout_soilstr(:,1) /= 0.0e+0_fp) f_temp(:,1)=temp(:,1)/carbonout_soilstr(:,1) ELSEWHERE f_temp(:,1)=0.0e+0_fp END WHERE hslowpool(:,1)=hslowpool(:,1)+temp(:,1) hslowpool_hg(:,1)=hslowpool_hg(:,1)+(hgout_soilstr(:,1)*f_temp(:,1)) Hg_pool_fluxes3(:,mo)=Hg_pool_fluxes3(:,mo)+(hgout_soilstr(:,1)*f_temp(:,1)*frac_herb(:,1)) resppool_soilstr(:,1)=resppool_soilstr(:,1)+(temp(:,1)/eff_soilstr2slow)*(1.00-eff_soilstr2slow) tempa(:,1)=(temp(:,1)/eff_soilstr2slow)*(1.0e+0_fp-eff_soilstr2slow) f_temp(:,1)=0.0e+0_fp WHERE (carbonout_soilstr(:,1) /= 0.0e+0_fp) f_temp(:,1)=tempa(:,1)/carbonout_soilstr(:,1) ELSEWHERE f_temp(:,1)=0.0e+0_fp END WHERE resppool_soilstr_hg(:,1)=resppool_soilstr_hg(:,1)+(f_temp(:,1)*hgout_soilstr(:,1)) temp(:,1)=0.0e+0_fp tempa(:,1)=0.0e+0_fp f_temp(:,1)=0.0e+0_fp temp(:,1)=carbonout_soilstr(:,1)*(1.00e+0_fp-structuralLignin(:,1))*eff_soilstr2soilmic WHERE (carbonout_soilstr(:,1) /= 0.0e+0_fp) f_temp(:,1)=temp(:,1)/carbonout_soilstr(:,1) ELSEWHERE f_temp(:,1)=0.0e+0_fp END WHERE hsoilmicpool(:,1)=hsoilmicpool(:,1)+temp(:,1) hsoilmicpool_hg(:,1)=hsoilmicpool_hg(:,1)+(hgout_soilstr(:,1)*f_temp(:,1)) resppool_soilstr(:,1)=resppool_soilstr(:,1)+(temp(:,1)/eff_soilstr2soilmic)*(1.000-eff_soilstr2soilmic) tempa(:,1)=(temp(:,1)/eff_soilstr2soilmic)*(1.00e+0_fp-eff_soilstr2soilmic) WHERE (carbonout_soilstr(:,1) /= 0.0e+0_fp) f_temp(:,1)=tempa(:,1)/carbonout_soilstr(:,1) ELSEWHERE f_temp(:,1)=0.0e+0_fp END WHERE resppool_soilstr_hg(:,1)=resppool_soilstr_hg(:,1)+(f_temp(:,1)*hgout_soilstr(:,1)) temp(:,1)=0.0e+0_fp tempa(:,1)=0.0e+0_fp f_temp(:,1)=0.0e+0_fp temp(:,1)=carbonout_surfmet(:,1)*eff_surfmet2surfmic WHERE (carbonout_surfmet(:,1) /= 0.0e+0_fp) f_temp(:,1)=temp(:,1)/carbonout_surfmet(:,1) ELSEWHERE f_temp(:,1)=0.0e+0_fp END WHERE hsurfmetpool(:,1)=hsurfmetpool(:,1)-carbonout_surfmet(:,1) hsurfmetpool_hg(:,1)=hsurfmetpool_hg(:,1)-hgout_surfmet(:,1) hsurfmicpool(:,1)=hsurfmicpool(:,1)+temp(:,1) hsurfmicpool_hg(:,1)=hsurfmicpool_hg(:,1)+(f_temp(:,1)*hgout_surfmet(:,1)) resppool_surfmet(:,1)=(temp(:,1)/eff_surfmet2surfmic)*(1.00e+0_fp-eff_surfmet2surfmic) tempa(:,1)=(temp(:,1)/eff_surfmet2surfmic)*(1.00e+0_fp-eff_surfmet2surfmic) WHERE (carbonout_surfmet(:,1) /= 0.0e+0_fp) f_temp(:,1)=tempa(:,1)/carbonout_surfmet(:,1) ELSEWHERE f_temp(:,1)=0.0e+0_fp ENDWHERE resppool_surfmet_hg(:,1)=f_temp(:,1)*hgout_surfmet(:,1) temp(:,1)=0.0e+0_fp tempa(:,1)=0.0e+0_fp f_temp(:,1)=0.0e+0_fp temp(:,1)=carbonout_soilmet(:,1)*eff_soilmet2soilmic WHERE (carbonout_soilmet(:,1) /= 0.0e+0_fp) f_temp(:,1)=temp(:,1)/carbonout_soilmet(:,1) ELSEWHERE f_temp(:,1)=0.0e+0_fp END WHERE hsoilmetpool(:,1)=hsoilmetpool(:,1)-carbonout_soilmet(:,1) hsoilmetpool_hg(:,1)=hsoilmetpool_hg(:,1)-hgout_soilmet(:,1) hsoilmicpool(:,1)=hsoilmicpool(:,1)+temp(:,1) hsoilmicpool_hg(:,1)=hsoilmicpool_hg(:,1)+(f_temp(:,1)*hgout_soilmet(:,1)) resppool_soilmet(:,1)=(temp(:,1)/eff_soilmet2soilmic)*(1.00e+0_fp-eff_soilmet2soilmic) tempa(:,1)=(temp(:,1)/eff_surfmic2slow)*(1.0e+0_fp-eff_surfmic2slow) WHERE (carbonout_soilmet(:,1) /= 0.0e+0_fp) f_temp(:,1)=temp(:,1)/carbonout_soilmet(:,1) ELSEWHERE f_temp(:,1)=0.0e+0_fp END WHERE resppool_soilmet_hg(:,1)=hgout_soilmet(:,1)*f_temp(:,1) temp(:,1)=0.0e+0_fp tempa(:,1)=0.0e+0_fp f_temp(:,1)=0.0e+0_fp temp(:,1)=carbonout_surfmic(:,1)*eff_surfmic2slow WHERE (carbonout_surfmic(:,1) /= 0.0e+0_fp) f_temp(:,1)=temp(:,1)/carbonout_surfmic(:,1) ELSEWHERE f_temp(:,1)=0.0e+0_fp END WHERE hsurfmicpool(:,1)=hsurfmicpool(:,1)-carbonout_surfmic(:,1) hsurfmicpool_hg(:,1)=hsurfmicpool_hg(:,1)-hgout_surfmic(:,1) hslowpool(:,1)=hslowpool(:,1)+temp(:,1) hslowpool_hg(:,1)=hslowpool_hg(:,1)+(f_temp(:,1)*hgout_surfmic(:,1)) Hg_pool_fluxes1(:,mo)=Hg_pool_fluxes1(:,mo)+(f_temp(:,1)*hgout_surfmic(:,1)*frac_herb(:,1)) resppool_surfmic(:,1)=(temp(:,1)/eff_surfmic2slow)*(1.00e+0_fp-eff_surfmic2slow) tempa(:,1)=(temp(:,1)/eff_surfmic2slow)*(1.00e+0_fp-eff_surfmic2slow) WHERE (carbonout_surfmic(:,1) /= 0.0e+0_fp) f_temp(:,1)=tempa(:,1)/carbonout_surfmic(:,1) ELSEWHERE f_temp(:,1)=0.0e+0_fp END WHERE resppool_surfmic_hg(:,1)=hgout_surfmic(:,1)*f_temp(:,1) resppool_soilmic(:,1)=eff_soilmic2slow(:,1)*carbonout_soilmic(:,1) WHERE (carbonout_soilmic(:,1) /= 0.0e+0_fp) f_temp(:,1)=resppool_soilmic(:,1)/carbonout_soilmic(:,1) ELSEWHERE f_temp(:,1)=0.0e+0_fp END WHERE resppool_soilmic_hg(:,1)=hgout_soilmic(:,1)*f_temp(:,1) hsoilmicpool(:,1)=hsoilmicpool(:,1)-carbonout_soilmic(:,1) hsoilmicpool_hg(:,1)=hsoilmicpool_hg(:,1)-hgout_soilmic(:,1) temp(:,1)=0.0e+0_fp temp(:,1)=carbonout_soilmic(:,1)*(0.003e+0_fp+(0.032e+0_fp*clay(:,1))) harmoredpool(:,1)=harmoredpool(:,1)+temp(:,1) tempb(:,1)=hgout_soilmic(:,1)*(0.003e+0_fp+(0.032e+0_fp*clay(:,1))) harmoredpool_hg(:,1)=harmoredpool_hg(:,1)+tempb(:,1) Hg_pool_fluxes2(:,mo)=Hg_pool_fluxes2(:,mo)+(tempb(:,1)*frac_herb(:,1)) tempa(:,1)=temp(:,1) temp(:,1)=carbonout_soilmic(:,1)-tempa(:,1)-resppool_soilmic(:,1) hslowpool(:,1)=hslowpool(:,1)+temp(:,1) tempa(:,1)=tempb(:,1) temp(:,1)=hgout_soilmic(:,1)-tempa(:,1)-resppool_soilmic_hg(:,1) hslowpool_hg(:,1)=hslowpool_hg(:,1)+temp(:,1) Hg_pool_fluxes3(:,mo)=Hg_pool_fluxes3(:,mo)+(temp(:,1)*frac_herb(:,1)) resppool_slow(:,1)=carbonout_slow(:,1)*(1.00e+0_fp-eff_slow2soilmic) WHERE (carbonout_slow(:,1) /= 0.0e+0_fp) f_temp(:,1)=resppool_slow(:,1)/carbonout_slow(:,1) ELSEWHERE f_temp(:,1)=0.0e+0_fp END WHERE resppool_slow_hg(:,1)=hgout_slow(:,1)*f_temp(:,1) hslowpool(:,1)=hslowpool(:,1)-carbonout_slow(:,1) hslowpool_hg(:,1)=hslowpool_hg(:,1)-hgout_slow(:,1) temp(:,1)=0.0e+0_fp tempa(:,1)=0.0e+0_fp f_temp(:,1)=0.0e+0_fp temp(:,1)=carbonout_slow(:,1)*eff_slow2soilmic*decayClayFactor(:,1) WHERE (carbonout_slow(:,1) /= 0.0e+0_fp) f_temp(:,1)=temp(:,1)/carbonout_slow(:,1) ELSEWHERE f_temp(:,1)=0.0e+0_fp END WHERE harmoredpool(:,1)=harmoredpool(:,1)+temp(:,1) harmoredpool_hg(:,1)=harmoredpool_hg(:,1)+(f_temp(:,1)*hgout_slow(:,1)) Hg_pool_fluxes4(:,mo)=Hg_pool_fluxes4(:,mo)+(f_temp(:,1)*hgout_slow(:,1)*frac_herb(:,1)) tempa(:,1)=temp(:,1) temp(:,1)=carbonout_slow(:,1)-resppool_slow(:,1)-tempa(:,1) hsoilmicpool(:,1)=hsoilmicpool(:,1)+temp(:,1) tempb(:,1)=f_temp(:,1)*hgout_slow(:,1) temp(:,1)=hgout_slow(:,1)-resppool_slow_hg(:,1)-tempb(:,1) hsoilmicpool_hg(:,1)=hsoilmicpool_hg(:,1)+temp(:,1) Hg_pool_fluxes6(:,mo)=Hg_pool_fluxes6(:,mo)+(temp(:,1)*frac_herb(:,1)) temp(:,1)=0.0e+0_fp tempa(:,1)=0.0e+0_fp tempb(:,1)=0.0e+0_fp f_temp(:,1)=0.0e+0_fp temp(:,1)=carbonout_armored(:,1)*eff_armored2soilmic WHERE (carbonout_armored(:,1) /= 0.0e+0_fp) f_temp(:,1)=temp(:,1)/carbonout_armored(:,1) ELSEWHERE f_temp(:,1)=0.0e+0_fp END WHERE harmoredpool(:,1)=harmoredpool(:,1)-carbonout_armored(:,1) harmoredpool_hg(:,1)=harmoredpool_hg(:,1)-hgout_armored(:,1) hsoilmicpool(:,1)=hsoilmicpool(:,1)+temp(:,1) hsoilmicpool_hg(:,1)=hsoilmicpool_hg(:,1)+(f_temp(:,1)*hgout_armored(:,1)) Hg_pool_fluxes5(:,mo)=Hg_pool_fluxes5(:,mo)+(f_temp(:,1)*hgout_armored(:,1)*frac_herb(:,1)) resppool_armored(:,1)=(temp(:,1)/eff_armored2soilmic)*(1.00e+0_fp-eff_armored2soilmic) resppool_armored_hg(:,1)=hgout_armored(:,1)*(1.0e+0_fp-eff_armored2soilmic) !FIRES consume part of the pools depending on burn fraction !(BF), combustion completeness (CC) and tree mortality rate combusted_leaf(:,1)=hleafpool(:,1)*BF1(:,mo)*ccLeaf(:,mo) combusted_surfstr(:,1)=hsurfstrpool(:,1)*BF1(:,mo)*ccFineLitter(:,mo) combusted_surfmet(:,1)=hsurfmetpool(:,1)*BF1(:,mo)*ccFineLitter(:,mo) combusted_surfmic(:,1)=hsurfmicpool(:,1)*BF1(:,mo)*ccFineLitter(:,mo) combusted_soilstr(:,1)=hsoilstrpool(:,1)*BF1(:,mo)*ccFineLitter(:,mo)*veg_burn(:,1) combusted_soilmet(:,1)=hsoilmetpool(:,1)*BF1(:,mo)*ccFineLitter(:,mo)*veg_burn(:,1) combusted_soilmic(:,1)=hsoilmicpool(:,1)*BF1(:,mo)*ccFineLitter(:,mo)*veg_burn(:,1) combusted_slow(:,1)=hslowpool(:,1)*BF1(:,mo)*ccFineLitter(:,mo)*veg_burn(:,1) combusted_armored(:,1)=harmoredpool(:,1)*BF1(:,mo)*ccFineLitter(:,mo)*veg_burn(:,1) !FIRE: the non combusted parts temp(:,1)=1.00e+0_fp nonCombusted_leaf(:,1)=hleafpool(:,1)*BF1(:,mo)*(temp(:,1)-ccLeaf(:,mo)) nonCombusted_froot(:,1)=hfrootpool(:,1)*BF1(:,mo)*mortality_hfroot(:,1) nonCombusted_leaf_hg(:,1)=0e+0_fp!hleafpool_hg(:,1)*BF1(:,mo)*(temp(:,1)-ccLeaf(:,mo)) !FIRE flux from non combusted parts to other pools hsurfstrpool(:,1)=hsurfstrpool(:,1)+nonCombusted_leaf(:,1)*(1.00e+0_fp-metabfract(:,1)) hsurfmetpool(:,1)=hsurfmetpool(:,1)+nonCombusted_leaf(:,1)*metabfract(:,1) hsoilstrpool(:,1)=hsoilstrpool(:,1)+nonCombusted_froot(:,1)*(1.00e+0_fp-metabfract(:,1)) hsoilmetpool(:,1)=hsoilmetpool(:,1)+(nonCombusted_froot(:,1))*metabfract(:,1) !FIRE !! hleafpool(:,1)=hleafpool(:,1)-combusted_leaf(:,1)-nonCombusted_leaf(:,1) hfrootpool(:,1)=hfrootpool(:,1)-nonCombusted_froot(:,1) hsurfstrpool(:,1)=hsurfstrpool(:,1)-combusted_surfstr(:,1) hsurfmetpool(:,1)=hsurfmetpool(:,1)-combusted_surfmet(:,1) hsurfmicpool(:,1)=hsurfmicpool(:,1)-combusted_surfmic(:,1) !adding in soil pools hsoilstrpool(:,1)=hsoilstrpool(:,1)-combusted_soilstr(:,1) hsoilmetpool(:,1)=hsoilmetpool(:,1)-combusted_soilmet(:,1) hsoilmicpool(:,1)=hsoilmicpool(:,1)-combusted_soilmic(:,1) hslowpool(:,1)=hslowpool(:,1)-combusted_slow(:,1) harmoredpool(:,1)=harmoredpool(:,1)-combusted_armored(:,1) resid=0.0e+0_fp allowed=0.0e+0_fp !$OMP END WORKSHARE !$OMP END PARALLEL !Calculate Fluxes IF (age_class .eq. 1) THEN hresp(:,1)=0.0e+0_fp hcomb(:,1)=0.0e+0_fp hherb(:,1)=0.0e+0_fp hresp_hg(:,1)=0.0e+0_fp hcomb_hg(:,1)=0.0e+0_fp ENDIF IF (n_age_classes .eq. 1) THEN !$OMP PARALLEL & !$OMP DEFAULT(SHARED) !$OMP WORKSHARE hresp(:,1)=resppool_surfstr(:,1)+resppool_surfmet(:,1)& +resppool_surfmic(:,1)+resppool_soilstr(:,1) & +resppool_soilmet(:,1)+resppool_soilmic(:,1) & +resppool_slow(:,1)+resppool_armored(:,1) resp_surfstr(:,mo)=resp_surfstr(:,mo)+resppool_surfstr(:,1)*frac_herb(:,1) resp_surfmet(:,mo)=resp_surfmet(:,mo)+resppool_surfmet(:,1)*frac_herb(:,1) resp_surfmic(:,mo)=resp_surfmic(:,mo)+resppool_surfmic(:,1)*frac_herb(:,1) resp_soilstr(:,mo)=resp_soilstr(:,mo)+resppool_soilstr(:,1)*frac_herb(:,1) resp_soilmet(:,mo)=resp_soilmet(:,mo)+resppool_soilmet(:,1)*frac_herb(:,1) resp_soilmic(:,mo)=resp_soilmic(:,mo)+resppool_soilmic(:,1)*frac_herb(:,1) resp_slow(:,mo)=resp_slow(:,mo)+resppool_slow(:,1)*frac_herb(:,1) resp_armored(:,mo)=resp_armored(:,mo)+resppool_armored(:,1)*frac_herb(:,1) hresp_hg(:,1)=resppool_surfstr_hg(:,1)+resppool_surfmet_hg(:,1)& +resppool_surfmic_hg(:,1)+resppool_soilstr_hg(:,1) & +resppool_soilmet_hg(:,1)+resppool_soilmic_hg(:,1) & +resppool_slow_hg(:,1)+resppool_armored_hg(:,1) resp_surfstr_hg(:,mo)=resp_surfstr_hg(:,mo)+resppool_surfstr_hg(:,1)*frac_herb(:,1) resp_surfmet_hg(:,mo)=resp_surfmet_hg(:,mo)+resppool_surfmet_hg(:,1)*frac_herb(:,1) resp_surfmic_hg(:,mo)=resp_surfmic_hg(:,mo)+resppool_surfmic_hg(:,1)*frac_herb(:,1) resp_soilstr_hg(:,mo)=resp_soilstr_hg(:,mo)+resppool_soilstr_hg(:,1)*frac_herb(:,1) resp_soilmet_hg(:,mo)=resp_soilmet_hg(:,mo)+resppool_soilmet_hg(:,1)*frac_herb(:,1) resp_soilmic_hg(:,mo)=resp_soilmic_hg(:,mo)+resppool_soilmic_hg(:,1)*frac_herb(:,1) resp_slow_hg(:,mo)=resp_slow_hg(:,mo)+resppool_slow_hg(:,1)*frac_herb(:,1) resp_armored_hg(:,mo)=resp_armored_hg(:,mo)+resppool_armored_hg(:,1)*frac_herb(:,1) hcomb(:,1)=combusted_leaf(:,1)+combusted_surfstr(:,1) & +combusted_surfmet(:,1)+combusted_surfmic(:,1) & +combusted_soilstr(:,1)+combusted_soilmet(:,1) & +combusted_soilmic(:,1)+combusted_slow(:,1) & +combusted_armored(:,1) hherb(:,1)=herbivory(:,1) !$OMP END WORKSHARE !$OMP END PARALLEL ELSE IF (age_class .eq. 1) THEN hresp(:,1)=0.0e+0_fp hcomb(:,1)=0.0e+0_fp hherb(:,1)=0.0e+0_fp ENDIF !$OMP PARALLEL & !$OMP DEFAULT(SHARED) !$OMP WORKSHARE hresp(:,1)=hresp(:,1)+(resppool_surfstr(:,1) & +resppool_surfmet(:,1)+resppool_surfmic(:,1) & +resppool_soilstr(:,1)+resppool_soilmet(:,1) & +resppool_soilmic(:,1)+resppool_slow(:,1) & +resppool_armored(:,1))/number_age_classes hcomb(:,1)=hcomb(:,1)+(combusted_leaf(:,1) & +combusted_surfstr(:,1)+combusted_surfmet(:,1)& +combusted_surfmic(:,1))/number_age_classes hherb(:,1)=hherb(:,1)+(herbivory(:,1)/number_age_classes) !$OMP END WORKSHARE !$OMP END PARALLEL ENDIF END SUBROUTINE doHerbCarbonHg !EOC !------------------------------------------------------------------------------ ================================================ FILE: GTMM/doHerbivory.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: doHerbivory ! ! !DESCRIPTION: Subroutine doHerbivory calculate herbivory analog to ! McNaughton (Science, 1989) as fraction of foliage NPP. !\\ !\\ ! !INTERFACE: ! SUBROUTINE doHerbivory ! ! !USES: ! USE defineConstants USE loadCASAinput USE defineArrays USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE ! ! !REMARKS: ! Herbivory analog to McNaughton is computed as: ! . ! log C = 2.04*(log NFP)-4.8 --> C = NFP^2.04*10^(-4.8) ! . ! where C= consumption, NFP = Net foliage production (NPP ! delivered to leaves) units kJ/m2/yr ! ! !REVISION HISTORY: ! 09 Jul 2010 - C. Carouge - Parallelization. ! 25 Nov 2014 - M. Yannetti - Added PRECISION_MOD !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: i REAL(fp) :: herb(n_veg, 1) character(len=f_len_output+4) :: filename3 filename3(1:f_len_output)=outputpath !converting kJ/m2/yr to gC/m2/yr ! !NPP(j/m2/yr)=NPP(gC/m2/yr)*energy content/carbon content !where energy content = 1.6*10^4 !and carbon content = 0.45 ! !so 1 gC/m2/yr = 35.5 kJ/m2/yr !! 1/35.5 = 0.028 ! herb(:,1)=0.0e+0_fp !$OMP PARALLEL DO & !$OMP DEFAULT(SHARED) & !$OMP PRIVATE(i) DO i=1, n_veg herb(i,1)=0.028e+0_fp*(35.5e+0_fp*sum(NPP(i,1:12))/ & 2e+0_fp)**2.04e+0_fp herb(i,1)=herb(i,1)*(10e+0_fp**(-4.8e+0_fp)) grass_herbivory(i,1)=herb(i,1) herb(i,1)=0.0e+0_fp herb(i,1)=0.028e+0_fp*(35.5e+0_fp*sum(NPP(i,1:12))/ & 3e+0_fp)**2.04e+0_fp herb(i,1)=herb(i,1)*(10.00e+0_fp**(-4.8e+0_fp)) trees_herbivory(i,1)=herb(i,1) END DO !$OMP END PARALLEL DO !Seasonality in herbivory is calculated as in Randerson et al !(GBC 1996) scaling linearly with npp (66%) with a non zero !intercept (33%) representing a minimum consumption limit !outside the growing season - scalar is equal for C3 and C4 !NPP herb(1,:)=0.0e+0_fp !$OMP PARALLEL DO & !$OMP DEFAULT(SHARED) & !$OMP PRIVATE(i) DO i=1, n_veg IF (sum(NPP(i,1:12)) .eq. 0e+0_fp) THEN herb(i,1)=(0.08333333333e+0_fp) ELSE herb(i,1)=0.666667e+0_fp*(NPP(i,mo)/sum(NPP(i,1:12)))+ & 0.33333e+0_fp*0.08333e+0_fp END IF END DO !$OMP END PARALLEL DO herb_seasonality(:,mo)=herb(:,1) IF (yr .eq. NPPequilibriumYear .and. mo .eq. 12) THEN filename3(f_len_output+1:f_len_output+4)='fhsn' OPEN(UNIT=4, FILE=filename3, STATUS="NEW", & FORM="FORMATTED") WRITE(4, *) herb_seasonality CLOSE(4) filename3(f_len_output+1:f_len_output+4)='fgrh' OPEN(UNIT=4, FILE=filename3, STATUS="NEW", & FORM="FORMATTED") WRITE(4, *) grass_herbivory CLOSE(4) filename3(f_len_output+1:f_len_output+4)='ftrh' OPEN(UNIT=4, FILE=filename3, STATUS="NEW", & FORM="FORMATTED") WRITE(4, *) trees_herbivory CLOSE(4) ENDIF END SUBROUTINE doHerbivory !EOC ================================================ FILE: GTMM/doHgDeposition.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: doHgDeposition ! ! !DESCRIPTION: This subrouitine ... !\\ !\\ ! !INTERFACE: ! SUBROUTINE doHgDeposition ! ! !USES: ! USE defineConstants USE loadCASAinput USE defineArrays USE PRECISION_MOD ! For GEOS-Chem Precision (fp) implicit none ! ! !REVISION HISTORY: ! 09 Jul 2010 - C. Carouge - Parallelization ! 25 Nov 2014 - M. Yannetti - Added PRECISION_MOD !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) :: photo_frac(n_veg, 1) !!!!! Hg0dry !! 1 - deposited to leaf and soil surfaces !! 2 - directly incorporated into leaf tissue via stomates !! 3 - volatilized as a fxn of temperature !$OMP PARALLEL & !$OMP DEFAULT(SHARED) !$OMP WORKSHARE fstom(:,1)=(LAI(:,mo)/5) ! chosen to match Rea et al seasonal cycle WHERE (fstom(:,1) > 1.0e+0_fp) fstom(:,1)=1.0e+0_fp END WHERE fstom(:,1)=fstom(:,1) fsoil(:,1)=1.00e+0_fp-fstom(:,1) Hg0_surf_soil(:,1)=Hg0_surf_soil(:,1)+(Hg0dry(:,1)*fsoil(:,1)) leafpool_hg(:,1)=leafpool_hg(:,1)+(Hg0dry(:,1)*fstom(:,1)) hleafpool_hg(:,1)=hleafpool_hg(:,1)+(Hg0dry(:,1)*fstom(:,1)) !all elemental hg sitting in surface pools is volatilized each !month freemitted(:,1)=1.0e+0_fp reemitted(:,1)=(freemitted(:,1)*Hg0_surf_soil(:,1)) Hg0_surf_soil(:,1)=Hg0_surf_soil(:,1)-reemitted(:,1) !!! HgII dry !! 1 - deposited to leaf and soil surfaces !! 2 - directly incorporated into leaf tissue via stomates !! 3 - photoreduced as fxn of T and light !! 4 - washed off leaf and soil surfaces and added to HgIIwet ! for 1 same fleaf, fsoil and fstom as for Hg0dry HgII_surf_soil(:,1)=HgII_surf_soil(:,1)+(HgIIdry(:,1)*fsoil(:,1)) leafpool_hg(:,1)=leafpool_hg(:,1)+(HgIIdry(:,1)*fstom(:,1)) hleafpool_hg(:,1)=hleafpool_hg(:,1)+(HgIIdry(:,1)*fstom(:,1)) photo_frac(:,1)=0.667577e+0_fp*(1.0e+0_fp- & exp(solrad1(:,mo)*(-1e+0_fp)*(0.01603e+0_fp))) !photo_frac equation is fit to curve in Rolfhus and Fitzgerald WHERE (photo_frac(:,1) <= 0.0e+0_fp) photo_frac(:,1)=0.0e+0_fp END WHERE photoreduced(:,1)=photo_frac(:,1)*(HgII_surf_soil(:,1)) HgII_surf_soil(:,1)=HgII_surf_soil(:,1)-photoreduced(:,1) !photoreduce some wet deposition temp_hg(:,1)=HgIIwet(:,1)*photo_frac(:,1) photoreduced(:,1)=photoreduced(:,1)+temp_hg(:,1) HgIIwet(:,1)=HgIIwet(:,1)-temp_hg(:,1) WHERE (HgIIwet(:,1) < 0e+0_fp) HgIIwet(:,1)=0.0e+0_fp END WHERE !if there is rain - wash off HgII and add to HgII wet pool WHERE (ppt1(:,mo) > 0e+0_fp .AND. airt1(:,mo) > 0e+0_fp) HgIIwet(:,1)=HgIIwet(:,1)+HgII_surf_soil(:,1) HgII_surf_soil(:,1)=0.0e+0_fp END WHERE !$OMP END WORKSHARE !$OMP END PARALLEL END SUBROUTINE doHgDeposition !EOC ================================================ FILE: GTMM/doLatitude.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: doLatitude ! ! !DESCRIPTION: This subroutine ... !\\ !\\ ! !INTERFACE: ! SUBROUTINE doLatitude ! ! !USES: ! USE defineConstants USE loadCASAinput USE defineArrays USE PRECISION_MOD ! For GEOS-Chem Precision (fp) ! ! !REVISION HISTORY: ! ! 01 Dec 2014 - M. Yannetti - Added PRECISION_MOD !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: i, j REAL(fp) :: startLatitude startLatitude=90.000e+0_fp-(180.000e+0_fp/rows)/2.000e+0_fp DO i=1,rows latitude(:,i)=startLatitude startLatitude=startLatitude-180.000e+0_fp/rows END DO !all latitudes north of 50N become 50, all south of 50S !become -50 DO i=1,rows IF (latitude(1,i) .gt. 50e+0_fp) THEN latitude(1:columns, i)=50e+0_fp ELSE IF (latitude(i,1) .lt. -50e+0_fp) THEN latitude(1:columns, i)=-50e+0_fp ENDIF END DO latitude1=maskfile(latitude, mask2) END SUBROUTINE doLatitude !EOC ================================================ FILE: GTMM/doLeafRootShedding.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: doLeafRootShedding ! ! !DESCRIPTION: \subsection*{Overview} ! Subroutine doLeafRootShedding define the scalars that predict ! the seasonality of leaf shedding and root decay based on changes in LAI ! This needs improvement. ! !\subsection*{References} ! Randerson, Thompson, Malmstrom, Field and Fung 1996, GBC 10(4) p585 !\\ !\\ ! !INTERFACE: ! SUBROUTINE doLeafRootShedding ! ! !USES: ! USE defineConstants USE loadCASAinput USE defineArrays USE PRECISION_MOD ! For GEOS-Chem Precision (fp) implicit none ! ! !REVISION HISTORY: ! 09 Jul 2010 - C. Carouge - Parallelization ! 01 Dec 2014 - M. Yannetti - Added PRECISION_MOD !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: i,j character(len=f_len_output+4) :: filename3 filename3(1:f_len_output)=outputpath MINLAI(:,1)=12.000e+0_fp SUMLAI(:,1)=sum(lais(:,2:13),2) SUMLAInew(:,mo)=SUMLAI(:,1) LTVARSUM(:,1)=0.0e+0_fp DO i=13,2,-1 !$OMP PARALLEL DO & !$OMP DEFAULT(SHARED) & !$OMP PRIVATE(j) DO j=1, n_veg IF (lais(j,i) .gt. lais(j,i-1)) THEN LTVARSUM(j,1)=LTVARSUM(j,1)+(lais(j,i)-lais(j,i-1)) ENDIF IF (lais(j,i) .gt. MAXLAI(j,1)) THEN MAXLAI(j,1)=lais(j,i) ENDIF IF (lais(j,i) .lt. MINLAI(j,1)) THEN MINLAI(j,1)=lais(j,i) ENDIF END DO !$OMP END PARALLEL DO END DO AVELAI(:,1)=SUMLAI(:,1)/12.00000e+0_fp !$OMP PARALLEL DO & !$OMP DEFAULT(SHARED) & !$OMP PRIVATE(i) DO i=1, n_veg IF (AVELAI(i,1) .gt. 0e+0_fp) THEN LTCON(i,1)=MINLAI(i,1)/AVELAI(i,1) ELSE LTCON(i,1)=0.0e+0_fp ENDIF IF (lais(i,2)-lais(i,1) .gt. 0e+0_fp) THEN LTVAR(i,1)=(lais(i,2)-lais(i,1)) ELSE LTVAR(i,1)=0.000e+0_fp ENDIF IF (LTVARSUM(i,1) .gt. 0e+0_fp) THEN litterscalar(i,mo)=(LTCON(i,1)/12.000e+0_fp)+(1.000e+0_fp-LTCON(i,1))*(LTVAR(i,1)/LTVARSUM(i,1)) ELSE litterscalar(i,mo)=0.000e+0_fp ENDIF IF(SUMLAI(i,1) .gt. 0e+0_fp) THEN rootlitscalar(i,mo)=0.7e+0_fp*((litterscalar(i,mo)+LAI(i,mo)/SUMLAI(i,1))/2.000e+0_fp)+(0.3e+0_fp/12.000e+0_fp) ELSE rootlitscalar(i,mo)=0.000e+0_fp ENDIF hlitterscalar(i,mo)=0.500e+0_fp+(0.500e+0_fp-abiotic(i,mo)/2.00e+0_fp) END DO !$OMP END PARALLEL DO IF (yr .eq. NPPequilibriumYear .and. mo .eq. 12) THEN filename3(f_len_output+1:f_len_output+4)='fltc' OPEN(UNIT=4, FILE=filename3, STATUS="NEW", & FORM="FORMATTED") WRITE(4, *) LTCON CLOSE(4) filename3(f_len_output+1:f_len_output+4)='flvr' OPEN(UNIT=4, FILE=filename3, STATUS="NEW", & FORM="FORMATTED") WRITE(4, *) LTVARSUM CLOSE(4) filename3(f_len_output+1:f_len_output+4)='fl_i' OPEN(UNIT=4, FILE=filename3, STATUS="NEW", & FORM="FORMATTED") WRITE(4, FMT="(12F9.2)") LAI CLOSE(4) filename3(f_len_output+1:f_len_output+4)='frls' OPEN(UNIT=4, FILE=filename3, STATUS="NEW", & FORM="FORMATTED") WRITE(4, FMT="(12F9.2)") rootlitscalar CLOSE(4) filename3(f_len_output+1:f_len_output+4)='f_ls' OPEN(UNIT=4, FILE=filename3, STATUS="NEW", & FORM="FORMATTED") WRITE(4, FMT="(12F9.2)") litterscalar CLOSE(4) filename3(f_len_output+1:f_len_output+4)='fhls' OPEN(UNIT=4, FILE=filename3, STATUS="NEW", & FORM="FORMATTED") WRITE(4, FMT="(12F9.2)") hlitterscalar CLOSE(4) filename3(f_len_output+1:f_len_output+4)='fali' OPEN(UNIT=4, FILE=filename3, STATUS="NEW", & FORM="FORMATTED") WRITE(4, *) AVELAI CLOSE(4) ENDIF END SUBROUTINE doLeafRootShedding !EOC ================================================ FILE: GTMM/doMaxHg.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: doMAXHg ! ! !DESCRIPTION: Calculates the maximum mercury storage (gHg/m2) for each soil ! pool !\\ !\\ ! !INTERFACE: ! SUBROUTINE doMAXHg ! ! !USES: ! USE defineConstants USE loadCASAinput USE defineArrays USE PRECISION_MOD ! For GEOS-Chem Precision (fp) implicit none ! ! !REVISION HISTORY: ! 09 Jul 2010 - C. Carouge - Parallelization ! 01 Dec 2014 - M. Yannetti - Added PRECISION_MOD !EOP !------------------------------------------------------------------------------ !BOC ! !$OMP PARALLEL & !$OMP DEFAULT(SHARED) !$OMP WORKSHARE max_hg_leaf(:,1)=0.0248e+0_fp*leafpool(:,1) max_hg_surfstr(:,1)=0.0248e+0_fp*surfstrpool(:,1) max_hg_surfmet(:,1)=0.0248e+0_fp*surfmetpool(:,1) max_hg_surfmic(:,1)=0.0248e+0_fp*surfmicpool(:,1) max_hg_soilstr(:,1)=0.0248e+0_fp*soilstrpool(:,1) max_hg_soilmet(:,1)=0.0248e+0_fp*soilmetpool(:,1) max_hg_soilmic(:,1)=0.0248e+0_fp*soilmicpool(:,1) max_hg_slow(:,1)=0.0248e+0_fp*slowpool(:,1) max_hg_armored(:,1)=0.0248e+0_fp*armoredpool(:,1) max_hg_hleaf(:,1)=0.0248e+0_fp*hleafpool(:,1) max_hg_hsurfstr(:,1)=0.0248e+0_fp*hsurfstrpool(:,1) max_hg_hsurfmet(:,1)=0.0248e+0_fp*hsurfmetpool(:,1) max_hg_hsurfmic(:,1)=0.0248e+0_fp*hsurfmicpool(:,1) max_hg_hsoilstr(:,1)=0.0248e+0_fp*hsoilstrpool(:,1) max_hg_hsoilmet(:,1)=0.0248e+0_fp*hsoilmetpool(:,1) max_hg_hsoilmic(:,1)=0.0248e+0_fp*hsoilmicpool(:,1) max_hg_hslow(:,1)=0.0248e+0_fp*hslowpool(:,1) max_hg_harmored(:,1)=0.0248e+0_fp*harmoredpool(:,1) !$OMP END WORKSHARE !$OMP END PARALLEL END SUBROUTINE doMAXHg !EOC ================================================ FILE: GTMM/doNPP.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: doNPP ! ! !DESCRIPTION: Subroutin doNPP calculate net primary production (NPP) !\\ !\\ ! !INTERFACE: ! SUBROUTINE doNPP ! ! !USES: ! USE defineConstants USE loadCASAinput USE defineArrays USE PRECISION_MOD ! For GEOS-Chem Precision (fp) implicit none ! ! !REVISION HISTORY: ! 09 Jul 2010 - C. Carouge - Parallelization ! 01 Dec 2014 - M. Yannetti - Added PRECISION_MOD !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: i character(len=f_len_output+4) :: filename3 filename3(1:f_len_output)=outputpath !T1 is the temperature effect relating for each site the !optimal temperature for highest NDVI (TOPT) to the temp !considered to be generally the most optimal for !photosynthesis, 20C. T2 is the effect of variable air !temperature throughout the year around TOPT !$OMP PARALLEL & !$OMP DEFAULT(SHARED) !$OMP DO PRIVATE(i) DO i=1, n_veg T1(i,1)=0.800e+0_fp+(0.0200e+0_fp*topt(i,1))-(0.0005e+0_fp & *(topt(i,1)**2.000e+0_fp)) T2low(i,1)=1.00e+0_fp/(1.00e+0_fp+exp(0.200e+0_fp*(topt(i,1) & -10.000e+0_fp-airt1(i,mo)))) T2high(i,1)=1.00e+0_fp/(1.00e+0_fp+exp(0.300e+0_fp*(airt1(i,mo) & -10.000e+0_fp-topt(i,1)))) NPPtemp(i,1)=T1(i,1)*(1.1919e+0_fp*T2low(i,1)*T2high(i,1)) IF (T1(i,1) .lt. 0e+0_fp .or. & T2low(i,1) .lt. 0e+0_fp .or. & T2high(i,1) .lt. 0e+0_fp) THEN NPPtemp(i,1)=0.00e+0_fp ELSE IF (airt1(i,mo) .lt. -10e+0_fp) THEN NPPtemp(i,1)=0.00e+0_fp END IF epsilona(i,1)=EMAX*NPPtemp(i,1)*NPPmoist(i,mo) IPAR(i,1)=FPAR(i,mo)*solrad1(i,mo)*1.3148333e+0_fp !solarconversion NPP(i,mo)=epsilona(i,1)*IPAR(i,1) END DO !$OMP END DO !$OMP WORKSHARE !derive abiotic effect for each timestep in the cycle bgtemp(:,mo)=Q10**((airt1(:,mo)-30.000e+0_fp)/10.000e+0_fp) abiotic(:,mo)=bgmoist(:,mo)*bgtemp(:,mo) WHERE (abiotic(:,mo) > 1e+0_fp) abiotic(:,mo)=1.0e+0_fp END WHERE !$OMP END WORKSHARE !$OMP END PARALLEL IF ( yr == NPPequilibriumYear .AND. mo == 12 ) THEN filename3 = outputpath // 'NPP' OPEN(UNIT=4, FILE=filename3, FORM="FORMATTED", STATUS="NEW") WRITE(4,*) NPP CLOSE(4) filename3(f_len_output+1:f_len_output+4) = 'ABIO' OPEN(UNIT=4, FILE=filename3, FORM="FORMATTED", STATUS="NEW") WRITE(4,*) abiotic CLOSE(4) ENDIF IF (yr .eq. 1 .and. mo .eq. 12) THEN filename3(f_len_output+1:f_len_output+4)='bgtp' OPEN(UNIT=4, FILE=filename3, FORM="FORMATTED",& STATUS="NEW") WRITE(4,*) bgtemp CLOSE(4) ENDIF END SUBROUTINE doNPP !EOC ================================================ FILE: GTMM/doOptimumTemperature.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: doOptimumTemperature ! ! !DESCRIPTION: Defines the optimum temperature; this is the air temperature ! in the month when the LAI is highest !\\ !\\ ! !INTERFACE: ! SUBROUTINE doOptimumTemperature ! ! !USES: ! USE defineConstants USE loadCASAinput USE defineArrays USE PRECISION_MOD ! For GEOS-Chem Precision (fp) implicit none ! ! !REVISION HISTORY: ! 09 Jul 2010 - C. Carouge - Parallelization ! 01 Dec 2014 - M. Yannetti - Added PRECISION_MOD !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: i,j character(len=f_len_output+4) :: filename3 filename3(1:f_len_output)=outputpath !$OMP PARALLEL DO & !$OMP DEFAULT(SHARED) & !$OMP PRIVATE(i) DO i=1, n_veg IF (LAI(i,mo) .ge. maxlai(i,1)) THEN maxlai(i,1)=LAI(i,mo) topt(i,1)=airt1(i,mo) ENDIF IF (topt(i,1) .lt. 0e+0_fp) THEN topt(i,1)=0.00e+0_fp ENDIF IF (yr .eq. 1 .and. mo .eq. 1) THEN DO j=1,13 lais(i,j)=LAI(i,mo) END DO ELSE DO j=13,2,-1 lais(i,j)=lais(i,j-1) END DO END IF END DO !$OMP END PARALLEL DO lais(:,1)=LAI(:,mo) IF (yr .eq. NPPequilibriumYear .and. mo .eq. 12) THEN filename3(f_len_output+1:f_len_output+4)='flis' OPEN(UNIT=4, file=filename3, STATUS="NEW", & FORM="FORMATTED") WRITE(4,FMT="(13F9.2)") lais CLOSE(4) filename3(f_len_output+1:f_len_output+4)='ftop' OPEN(UNIT=4, file=filename3, STATUS="NEW", & FORM="FORMATTED") WRITE(4,*) topt CLOSE(4) ENDIF END SUBROUTINE doOptimumTemperature !EOC ================================================ FILE: GTMM/doPET.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: doPET ! ! !DESCRIPTION: Calculate potential evapotranspiration (PET) and the annual ! heat index (AHI) !\\ !\\ ! !INTERFACE: ! SUBROUTINE doPET ! ! !USES: ! USE defineConstants USE loadCASAinput USE defineArrays USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE ! ! !REVISION HISTORY: ! 09 Jul 2010 - C. Carouge - Parallelization ! 01 Dec 2014 - M. Yannetti - Added PRECISION_MOD !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) :: YVAL=1.514 REAL(fp) :: exps(n_veg, 1) REAL(fp) :: flambda(n_veg, 1) INTEGER :: i IF (yr == 1) THEN !$OMP PARALLEL DO & !$OMP DEFAULT(SHARED) & !$OMP PRIVATE(i) DO i=1,n_veg fid(i,1)=0.000e+0_fp fid(i,1)=airt1(i,mo) IF (fid(i,1) .gt. 0e+0_fp) THEN AHI(i,1)=AHI(i,1)+(fid(i,1)/5.000e+0_fp)**YVAL END IF END DO !$OMP END PARALLEL DO END IF !$OMP PARALLEL DO & !$OMP DEFAULT(SHARED) & !$OMP PRIVATE(i) DO i=1,n_veg !calculates PET from air t, Flabbda and AHI !taken from quantative hydrogeology by Ghislain De Marsily !p 403 exps(i,1)=0.0e+0_fp exps(i,1)=6.75e-7_fp * (AHI(i,1)**3.00e+0_fp) exps(i,1)=exps(i,1)-(7.71e-5_fp * (AHI(i,1)**2.00e+0_fp)) exps(i,1)=exps(i,1)+(1.79e-2_fp * (AHI(i,1))) exps(i,1)=exps(i,1)+0.49239e+0_fp !this equation predicts from the month of the year and !the latitude what flambda shoudl be. The coeffs above !are from a cubic spline flambda(i,1)=0.0e+0_fp flambda(i,1)=coef(1,mo) flambda(i,1)=flambda(i,1)+(coef(2,mo)*latitude1(i,1)) flambda(i,1)=flambda(i,1)+(coef(3,mo)*latitude1(i,1)**2.00e+0_fp) flambda(i,1)=flambda(i,1)+(coef(4,mo)*latitude1(i,1)**3.00e+0_fp) fid(i,1)=0.0e+0_fp IF (AHI(i,1).gt. 0e+0_fp .and. airt1(i,mo) .gt. 0e+0_fp) THEN fid(i,1)=16.000e+0_fp*flambda(i,1) fid(i,1)=fid(i,1)*(10.00e+0_fp*airt1(i,mo)/AHI(i,1))**exps(i,1) ELSE fid(i,1)=0e+0_fp END IF PET(i,1)=0.000e+0_fp PET(i,1)=fid(i,1) fid(i,1)=0.000e+0_fp END DO !$OMP END PARALLEL DO END SUBROUTINE doPET !EOC ================================================ FILE: GTMM/doSoilMoisture.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: doSoilMoisture ! ! !DESCRIPTION: This subroutine ... !\\ !\\ ! !INTERFACE: ! SUBROUTINE doSoilMoisture ! ! !USES: ! USE defineConstants USE loadCASAinput USE defineArrays USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE ! ! !REVISION HISTORY: ! 09 Jul 2010 - C. Carouge - Parallelization ! 01 Dec 2014 - M. Yannetti - Added PRECISION_MOD !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: i CHARACTER(LEN=f_len_output+4) :: filename3 filename3(1:f_len_output)=outputpath !PLAN to have different moisture scalars for grass and trees !$OMP PARALLEL & !$OMP DEFAULT(SHARED) !$OMP DO PRIVATE(i) !relative drying rate (rdr) algorithm DO i=1,n_veg rdr(i,1)=(1+SMparams(i,4))/((1+(SMparams(i,4)*(last_soilm(i,1)& /SMparams(i,2))**SMparams(i,5)))) IF (ppt1(i,mo) .gt. PET(i,1)) THEN rdr(i,1)=1.00e+0_fp ! rdr is 1 if PPT>PET END IF END DO !$OMP END DO !$OMP END PARALLEL IF (mo .eq. 1 .and. yr .eq. 1) THEN last_pack(:,1)=0.000e+0_fp ENDIF !$OMP PARALLEL & !$OMP DEFAULT(SHARED) !$OMP WORKSHARE current_ppt(:,1)=ppt1(:,mo) fid(:,1)=0.0e+0_fp fid(:,1)=last_pack(:,1)+ppt1(:,mo) ! add this month's ppt to last !month's snowpack WHERE (airt1(:,mo) < 0e+0_fp) spack(:,1)=fid(:,1) !snowpack gets last !month's snowpack and current ppt current_ppt(:,1)=0.000e+0_fp !current ppt not avail to plants END WHERE fid(:,1)=current_ppt(:,1)+last_pack(:,1) !add last month's snowpack to this ! months ppt WHERE (airt1(:,mo) >= 0e+0_fp) current_ppt(:,1)=fid(:,1) ! current ppt increases spack(:,1)=0.00e+0_fp ! snowpack is melted END WHERE !begin estimating evapotranspiration and calc new soil moist !if pet exceeds ppt, eet is limited eeta(:,1)=current_ppt(:,1)+((PET(:,1)-current_ppt(:,1))*rdr(:,1)) eetb(:,1)=current_ppt(:,1)+last_soilm(:,1)-SMparams(:,1) !eet is the smallest of eeta and eetb WHERE (eeta(:,1) > eetb(:,1)) EET(:,1)=eetb(:,1) ELSEWHERE EET(:,1)=eeta(:,1) END WHERE !if ppt exceeds pet, eet is not limited WHERE (current_ppt(:,1) >= PET(:,1)) EET(:,1)=PET(:,1) END WHERE this_soilm(:,1)=last_soilm(:,1)+current_ppt(:,1)-EET(:,1) WHERE (this_soilm(:,1) > SMparams(:,2)) ! soil m > runoff this_soilm(:,1)=SMparams(:,2) END WHERE soilm(:,1)=this_soilm(:,1) fid(:,1)=fid(:,1)*0.0e+0_fp ! fid(:,1)=0.500e+0_fp+(0.500e+0_fp*(EET(:,1)/PET(:,1))) WHERE (PET(:,1) > 0e+0_fp) fid(:,1)=0.500e+0_fp+(0.500e+0_fp*(EET(:,1)/PET(:,1))) NPPmoist_temp(:,1)=fid(:,1) END WHERE bgratio(:,1)=(last_soilm(:,1)-SMparams(:,1)) bgratio(:,1)=bgratio(:,1)+current_ppt(:,1) bgratio(:,1)=bgratio(:,1)/PET(:,1) fid(:,1)=fid(:,1)*0.0e+0_fp !$OMP END WORKSHARE !$OMP DO PRIVATE(i) DO i=1, n_veg IF (bgratio(i,1) .ge. 0e+0_fp .and. bgratio(i,1) .lt. 1e+0_fp) & THEN fid(i,1)=0.10e+0_fp+(0.90e+0_fp*bgratio(i,1)) bgmoist_temp(i,1)=fid(i,1) ELSE IF (bgratio(i,1) .ge. 1e+0_fp .and. bgratio(i,1) .le. 2e+0_fp) & THEN bgmoist_temp(i,1)=1.000e+0_fp ELSE IF (bgratio(i,1) .gt. 2e+0_fp .and. bgratio(i,1) .lt. 30e+0_fp) & THEN fid(i,1)=(1+1/28.000e+0_fp)-((0.5e+0_fp/28.000e+0_fp)*bgratio(i,1)) bgmoist_temp(i,1)=fid(i,1) ELSE IF (bgratio(i,1) .gt. 30e+0_fp) THEN bgmoist_temp(i,1)=0.500e+0_fp ENDIF !set up moisture factors for NPP calculation and BG run !in case PET is zero IF (PET(i,1) .le. 0e+0_fp) THEN NPPmoist_temp(i,1)=NPPmoistpret(i,1) bgmoist_temp(i,1)=bgmoistpret(i,1) ENDIF NPPmoist(i,mo)=NPPmoist_temp(i,1) bgmoist(i,mo)=bgmoist_temp(i,1) !set snow pack, soil moisture, bgmoistpret, NPPmoistpret !for next step last_pack(i,1)=spack(i,1) last_soilm(i,1)=soilm(i,1) bgmoistpret(i,1)=bgmoist(i,mo) NPPmoistpret(i,1)=NPPmoist(i,mo) END DO !$OMP END DO !$OMP END PARALLEL END SUBROUTINE doSoilMoisture !EOC ================================================ FILE: GTMM/doTreeCarbon.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: doTreeCarbon ! ! !DESCRIPTION: This subroutine ... !\\ !\\ ! !INTERFACE: ! SUBROUTINE doTreeCarbon ! ! !USES: ! USE defineConstants USE loadCASAinput USE defineArrays USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE ! ! !REVISION HISTORY: ! 09 Jul 2010 - C. Carouge - Parallelization ! 01 Dec 2014 - M. Yannetti - Added PRECISION_MOD !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: i character(len=f_len_output+4) :: filename3 real(fp) :: tempa(n_veg, 1) filename3(1:f_len_output)=outputpath !$OMP PARALLEL WORKSHARE & !$OMP DEFAULT(SHARED) !Woody vegetation carbon fluxes !NPP: calculate inputs from NPP into living pools leafinput(:,1)=0.0e+0_fp woodinput(:,1)=0.0e+0_fp frootinput(:,1)=0.0e+0_fp leafinput(:,1)=NPP(:,mo)/3.000e+0_fp woodinput(:,1)=NPP(:,mo)/3.000e+0_fp frootinput(:,1)=NPP(:,mo)/3.000e+0_fp !NPP: transfer NPP into living biomass pools leafpool(:,1)=leafpool(:,1)+leafinput(:,1) abovewoodpool(:,1)=abovewoodpool(:,1)+woodinput(:,1)*aboveWoodFraction belowwoodpool(:,1)=belowwoodpool(:,1)+woodinput(:,1)*(1.00e+0_fp-aboveWoodFraction) frootpool(:,1)=frootpool(:,1)+frootinput(:,1) !herbivory herbivory(:,1)=trees_herbivory(:,1)*herb_seasonality(:,mo) !yearly herbivory*seasonality scalar !in case herbivory exceeds leaf, lower herbivory WHERE (herbivory(:,1) > leafpool(:,1)) herbivory(:,1)=leafpool(:,1) END WHERE !deduct herbivory from leafpool leafpool(:,1)=leafpool(:,1)-herbivory(:,1) !part of the consumed leaf will be returned as litter carbonout_leaf(:,1)=herbivory(:,1)*(1.000e+0_fp-herbivoreEff) !part of the consumed leaf for maintenance herbivory(:,1)=herbivory(:,1)-herbivory(:,1)*(1.000e+0_fp-herbivoreEff) surfstrpool(:,1)=surfstrpool(:,1)+carbonout_leaf(:,1)*(1.000e+0_fp-metabfract(:,1)) surfmetpool(:,1)=surfmetpool(:,1)+carbonout_leaf(:,1)*metabfract(:,1) !DECAY of biomass and litter, each of the following eqns !have the following basic form: !carbon pool size*rate constant *abiotic effect !some may have more terms, but all are first order carbonout_leaf(:,1)=leafpool(:,1)*annK_leaf(:,1)*litterscalar(:,mo) carbonout_abovewood(:,1)=abovewoodpool(:,1)*K_wood(:,1) carbonout_belowwood(:,1)=belowwoodpool(:,1)*K_wood(:,1) carbonout_froot(:,1)=frootpool(:,1)*annK_froot(:,1)*rootlitscalar(:,mo) carbonout_cwd(:,1)=cwdpool(:,1)*K_cwd(:,1)*abiotic(:,mo) carbonout_surfmet(:,1)=surfmetpool(:,1)*K_surfmet(:,1)*abiotic(:,mo) carbonout_surfstr(:,1)=surfstrpool(:,1)*K_surfstr(:,1)*abiotic(:,mo)*lignineffect(:,1) carbonout_soilmet(:,1)=soilmetpool(:,1)*K_soilmet(:,1)*abiotic(:,mo) carbonout_soilstr(:,1)=soilstrpool(:,1)*K_soilstr(:,1)*abiotic(:,mo)*lignineffect(:,1) carbonout_surfmic(:,1)=surfmicpool(:,1)*K_surfmic(:,1)*abiotic(:,mo) carbonout_soilmic(:,1)=soilmicpool(:,1)*K_soilmic(:,1)*abiotic(:,mo)*soilmicDecayFactor(:,1) carbonout_slow(:,1)=slowpool(:,1)*K_slow(:,1)*abiotic(:,mo) carbonout_armored(:,1)=armoredpool(:,1)*K_armored(:,1)*abiotic(:,mo) !determine inputs into structural and metabolic pools from !decaying living pools surfstrpool(:,1)=surfstrpool(:,1)+(carbonout_leaf(:,1)+& carbonout_cwd(:,1))*(1.00e+0_fp-metabfract(:,1)) soilstrpool(:,1)=soilstrpool(:,1)+(carbonout_froot(:,1)+& carbonout_belowwood(:,1))*(1.00e+0_fp-metabfract(:,1)) surfmetpool(:,1)=surfmetpool(:,1)+(carbonout_leaf(:,1)+& carbonout_cwd(:,1))*metabfract(:,1) soilmetpool(:,1)=soilmetpool(:,1)+(carbonout_froot(:,1)+& carbonout_belowwood(:,1))*metabfract(:,1) cwdpool(:,1)=cwdpool(:,1)+carbonout_abovewood(:,1) leafpool(:,1)=leafpool(:,1)-carbonout_leaf(:,1) abovewoodpool(:,1)=abovewoodpool(:,1)-carbonout_abovewood(:,1) belowwoodpool(:,1)=belowwoodpool(:,1)-carbonout_belowwood(:,1) frootpool(:,1)=frootpool(:,1)-carbonout_froot(:,1) cwdpool(:,1)=cwdpool(:,1)-carbonout_cwd(:,1) surfstrpool(:,1)=surfstrpool(:,1)-carbonout_surfstr(:,1) !empty respiration pools at the beginning of the month resppool_surfstr(:,1)=0.000e+0_fp resppool_surfmet(:,1)=0.000e+0_fp resppool_surfmic(:,1)=0.000e+0_fp resppool_soilstr(:,1)=0.000e+0_fp resppool_soilmet(:,1)=0.000e+0_fp resppool_soilmic(:,1)=0.000e+0_fp resppool_slow(:,1)=0.000e+0_fp resppool_armored(:,1)=0.000e+0_fp !respiratory fluxes from every pool - temp temp(:,1)=(carbonout_surfstr(:,1)*structuralLignin(:,1))& *eff_surfstr2slow slowpool(:,1)=slowpool(:,1)+temp(:,1) resppool_surfstr(:,1)=resppool_surfstr(:,1)+& (temp(:,1)/eff_surfstr2slow)*(1.00e+0_fp-eff_surfstr2slow) temp(:,1)=0.000e+0_fp temp(:,1)=(carbonout_surfstr(:,1)*(1.00e+0_fp-structuralLignin(:,1)))*eff_surfstr2surfmic surfmicpool(:,1)=surfmicpool(:,1)+temp(:,1) resppool_surfstr(:,1)=resppool_surfstr(:,1)+(temp(:,1)/eff_surfstr2surfmic)*(1.00e+0_fp-eff_surfstr2surfmic) soilstrpool(:,1)=soilstrpool(:,1)-carbonout_soilstr(:,1) temp(:,1)=0.000e+0_fp temp(:,1)=carbonout_soilstr(:,1)*structuralLignin(:,1)*eff_soilstr2slow slowpool(:,1)=slowpool(:,1)+temp(:,1) resppool_soilstr(:,1)=resppool_soilstr(:,1)+(temp(:,1)/eff_soilstr2slow)*(1.00-eff_soilstr2slow) temp(:,1)=0.0e+0_fp temp(:,1)=carbonout_soilstr(:,1)*(1.00e+0_fp-structuralLignin(:,1))*eff_soilstr2soilmic soilmicpool(:,1)=soilmicpool(:,1)+temp(:,1) resppool_soilstr(:,1)=resppool_soilstr(:,1)+(temp(:,1)/eff_soilstr2soilmic)*(1.000e+0_fp-eff_soilstr2soilmic) temp(:,1)=0.0e+0_fp temp(:,1)=carbonout_surfmet(:,1)*eff_surfmet2surfmic surfmetpool(:,1)=surfmetpool(:,1)-carbonout_surfmet(:,1) surfmicpool(:,1)=surfmicpool(:,1)+temp(:,1) resppool_surfmet(:,1)=(temp(:,1)/eff_surfmet2surfmic)*(1.00e+0_fp-eff_surfmet2surfmic) temp(:,1)=0.0e+0_fp temp(:,1)=carbonout_soilmet(:,1)*eff_soilmet2soilmic soilmetpool(:,1)=soilmetpool(:,1)-carbonout_soilmet(:,1) soilmicpool(:,1)=soilmicpool(:,1)+temp(:,1) resppool_soilmet(:,1)=(temp(:,1)/eff_soilmet2soilmic)*(1.00e+0_fp-eff_soilmet2soilmic) temp(:,1)=0.0e+0_fp temp(:,1)=carbonout_surfmic(:,1)*eff_surfmic2slow surfmicpool(:,1)=surfmicpool(:,1)-carbonout_surfmic(:,1) slowpool(:,1)=slowpool(:,1)+temp(:,1) resppool_surfmic(:,1)=(temp(:,1)/eff_surfmic2slow)*(1.00e+0_fp-eff_surfmic2slow) resppool_soilmic(:,1)=eff_soilmic2slow(:,1)*carbonout_soilmic(:,1) soilmicpool(:,1)=soilmicpool(:,1)-carbonout_soilmic(:,1) temp(:,1)=0.0e+0_fp temp(:,1)=carbonout_soilmic(:,1)*(0.003e+0_fp+(0.032e+0_fp*clay(:,1))) armoredpool(:,1)=armoredpool(:,1)+temp(:,1) tempa(:,1)=temp(:,1) temp(:,1)=carbonout_soilmic(:,1)-tempa(:,1)-resppool_soilmic(:,1) slowpool(:,1)=slowpool(:,1)+temp(:,1) resppool_slow(:,1)=carbonout_slow(:,1)*(1.00e+0_fp-eff_slow2soilmic) slowpool(:,1)=slowpool(:,1)-carbonout_slow(:,1) temp(:,1)=0.0e+0_fp temp(:,1)=carbonout_slow(:,1)*eff_slow2soilmic*decayClayFactor(:,1) armoredpool(:,1)=armoredpool(:,1)+temp(:,1) tempa(:,1)=temp(:,1) temp(:,1)=carbonout_slow(:,1)-resppool_slow(:,1)-tempa(:,1) soilmicpool(:,1)=soilmicpool(:,1)+temp(:,1) temp(:,1)=0.0e+0_fp temp(:,1)=carbonout_armored(:,1)*eff_armored2soilmic armoredpool(:,1)=armoredpool(:,1)-carbonout_armored(:,1) soilmicpool(:,1)=soilmicpool(:,1)+temp(:,1) resppool_armored(:,1)=(temp(:,1)/eff_armored2soilmic)*(1.00e+0_fp-eff_armored2soilmic) !FIRES consume part of the pools depending on burn fraction !(BF), combustion completeness (CC) and tree mortality rate combusted_leaf(:,1)=leafpool(:,1)*BF1(:,mo)*ccLeaf(:,mo)*mortality_tree(:,1) combusted_abovewood(:,1)=abovewoodpool(:,1)*BF1(:,mo)*ccWood(:,mo)*mortality_tree(:,1) combusted_cwd(:,1)=cwdpool(:,1)*BF1(:,mo)*ccCWD(:,mo) combusted_surfstr(:,1)=surfstrpool(:,1)*BF1(:,mo)*ccFineLitter(:,mo) combusted_surfmet(:,1)=surfmetpool(:,1)*BF1(:,mo)*ccFineLitter(:,mo) combusted_surfmic(:,1)=surfmicpool(:,1)*BF1(:,mo)*ccFineLitter(:,mo) !adding in soil pools combusted_soilstr(:,1)=soilstrpool(:,1)*BF1(:,mo)*ccFineLitter(:,mo)*veg_burn(:,1) combusted_soilmet(:,1)=soilmetpool(:,1)*BF1(:,mo)*ccFineLitter(:,mo)*veg_burn(:,1) combusted_soilmic(:,1)=soilmicpool(:,1)*BF1(:,mo)*ccFineLitter(:,mo)*veg_burn(:,1) combusted_slow(:,1)=slowpool(:,1)*BF1(:,mo)*ccFineLitter(:,mo)*veg_burn(:,1) combusted_armored(:,1)=armoredpool(:,1)*BF1(:,mo)*ccFineLitter(:,mo)*veg_burn(:,1) !FIRE: the non combusted parts temp(:,1)=1.00e+0_fp nonCombusted_leaf(:,1)=leafpool(:,1)*BF1(:,mo)*(temp(:,1)-ccLeaf(:,mo))*mortality_tree(:,1) nonCombusted_abovewood(:,1)=abovewoodpool(:,1)*BF1(:,mo)*(temp(:,1)-ccWood(:,mo))*mortality_tree(:,1) nonCombusted_belowwood(:,1)=belowwoodpool(:,1)*BF1(:,mo)*mortality_tree(:,1) nonCombusted_froot(:,1)=frootpool(:,1)*BF1(:,mo)*mortality_tree(:,1) !FIRE flux from non combusted parts to other pools surfstrpool(:,1)=surfstrpool(:,1)+nonCombusted_leaf(:,1)*(1.00e+0_fp-metabfract(:,1)) surfmetpool(:,1)=surfmetpool(:,1)+nonCombusted_leaf(:,1)*metabfract(:,1) soilstrpool(:,1)=soilstrpool(:,1)+(nonCombusted_froot(:,1)+nonCombusted_belowwood(:,1))*(1.00e+0_fp-metabfract(:,1)) soilmetpool(:,1)=soilmetpool(:,1)+(nonCombusted_froot(:,1)+nonCombusted_belowwood(:,1))*metabfract(:,1) cwdpool(:,1)=cwdpool(:,1)+nonCombusted_abovewood(:,1) !FIRE !! leafpool(:,1)=leafpool(:,1)-combusted_leaf(:,1)-nonCombusted_leaf(:,1) abovewoodpool(:,1)=abovewoodpool(:,1)-combusted_abovewood(:,1)-nonCombusted_abovewood(:,1) belowwoodpool(:,1)=belowwoodpool(:,1)-nonCombusted_belowwood(:,1) frootpool(:,1)=frootpool(:,1)-nonCombusted_froot(:,1) cwdpool(:,1)=cwdpool(:,1)-combusted_cwd(:,1) surfstrpool(:,1)=surfstrpool(:,1)-combusted_surfstr(:,1) surfmetpool(:,1)=surfmetpool(:,1)-combusted_surfmet(:,1) surfmicpool(:,1)=surfmicpool(:,1)-combusted_surfmic(:,1) soilstrpool(:,1)=soilstrpool(:,1)-combusted_soilstr(:,1) soilmetpool(:,1)=soilmetpool(:,1)-combusted_soilmet(:,1) soilmicpool(:,1)=soilmicpool(:,1)-combusted_soilmic(:,1) slowpool(:,1)=slowpool(:,1)-combusted_slow(:,1) armoredpool(:,1)=armoredpool(:,1)-combusted_armored(:,1) !$OMP END PARALLEL WORKSHARE !FUELWOOD COLLECTION IF (n_age_classes .eq. 1) THEN !$OMP PARALLEL DO & !$OMP DEFAULT(SHARED) & !$OMP PRIVATE(i) DO i=1, n_veg !fuelwood demand fuelwoodout(i,1)=fuelwooddemand(i,1)+fuelshortage(i,1) !in case demand exceeds availability IF (fuelwoodout(i,1) .gt. cwdpool(i,1)) THEN fuelwoodout(i,1)=cwdpool(i,1) !demand = avail fuelshortage(i,1)=fuelshortage(i,1)-fuelwoodout(i,1)+cwdpool(i,1) ! and shortage increases END IF !in case availability exceeds demand IF (fuelwoodout(i,1) .lt. cwdpool(i,1)) THEN !shortage decreases fuelshortage(i,1)=fuelshortage(i,1)-cwdpool(i,1)+fuelwoodout(i,1) END IF IF (fuelshortage(i,1) .lt. 0e+0_fp) THEN fuelshortage(i,1)=0.000e+0_fp END IF !fuelwood taken out of cwd pool cwdpool(i,1)=cwdpool(i,1)-fuelwoodout(i,1) END DO !$OMP END PARALLEL DO ELSE !$OMP PARALLEL DO & !$OMP DEFAULT(SHARED) & !$OMP PRIVATE(i) DO i=1, n_veg fuelwoodout(i,1)=fuelwooddemand(i,1) IF (fuelwooddemand(i,1) .gt. cwdpool(i,1)) THEN fuelwoodout(i,1)=cwdpool(i,1) END IF cwdpool(i,1)=cwdpool(i,1)-fuelwoodout(i,1) END DO !$OMP END PARALLEL DO END IF !Calculate Fluxes IF (n_age_classes .eq. 1) THEN !$OMP PARALLEL WORKSHARE & !$OMP DEFAULT(SHARED) wresp(:,1)=resppool_surfstr(:,1)+resppool_surfmet(:,1)& +resppool_surfmic(:,1)+resppool_soilstr(:,1) & +resppool_soilmet(:,1)+resppool_soilmic(:,1) & +resppool_slow(:,1)+resppool_armored(:,1) wcomb(:,1)=combusted_leaf(:,1)+combusted_abovewood(:,1)& +combusted_cwd(:,1)+combusted_surfstr(:,1) & +combusted_surfmet(:,1)+combusted_surfmic(:,1) & +combusted_soilstr(:,1)+combusted_soilmet(:,1) & +combusted_soilmic(:,1)+combusted_slow(:,1) & +combusted_armored(:,1) wherb(:,1)=herbivory(:,1) wbiof(:,1)=fuelwoodout(:,1) !$OMP END PARALLEL WORKSHARE ELSE IF (age_class .eq. 1) THEN wresp(:,1)=0.0e+0_fp wcomb(:,1)=0.0e+0_fp wherb(:,1)=0.0e+0_fp wbiof(:,1)=0.0e+0_fp ENDIF !$OMP PARALLEL WORKSHARE & !$OMP DEFAULT(SHARED) wresp(:,1)=wresp(:,1)+(resppool_surfstr(:,1) & +resppool_surfmet(:,1)+resppool_surfmic(:,1) & +resppool_soilstr(:,1)+resppool_soilmet(:,1) & +resppool_soilmic(:,1)+resppool_slow(:,1) & +resppool_armored(:,1))/number_age_classes wcomb(:,1)=wcomb(:,1)+(combusted_leaf(:,1) & +combusted_abovewood(:,1)+combusted_cwd(:,1) & +combusted_surfstr(:,1)+combusted_surfmet(:,1)& +combusted_surfmic(:,1))/number_age_classes wherb(:,1)=wherb(:,1)+(herbivory(:,1)/number_age_classes) wbiof(:,1)=wbiof(:,1)+(fuelwoodout(:,1)/number_age_classes) !$OMP END PARALLEL WORKSHARE ENDIF END SUBROUTINE doTreeCarbon !EOC ================================================ FILE: GTMM/doTreeCarbonHg.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: doTreeCarbonHg ! ! !DESCRIPTION: This subroutine ... !\\ !\\ ! !INTERFACE: ! SUBROUTINE doTreeCarbonHg ! ! !USES: ! USE defineConstants USE loadCASAinput USE defineArrays USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE ! ! !REVISION HISTORY: ! 09 Jul 2010 - C. Carouge - Adapted for restarting simulations. ! Parallelization ! 01 Dec 2014 - M. Yannetti - Added PRECISION_MOD !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: i character(len=f_len_output+4) :: filename3 real(fp) :: tempb(n_veg, 1) real(fp) :: tempa(n_veg, 1) real(fp) :: f_temp(n_veg, 1) real(fp) :: resid real(fp) :: allowed, max_test real(fp) :: f_surf_str(n_veg, 1) real(fp) :: f_soil_str(n_veg, 1) real(fp) :: f_surf_met(n_veg, 1) real(fp) :: f_soil_met(n_veg, 1) real(fp) :: f_surf_mic(n_veg, 1) real(fp) :: f_soil_mic(n_veg, 1) real(fp) :: f_armd(n_veg, 1) real(fp) :: f_slow(n_veg, 1) real(fp) :: TotalC(n_veg, 1) real(fp) :: f_hg_emit(n_veg, 1) real(fp) :: surf_str_input(n_veg, 1) real(fp) :: soil_str_input(n_veg, 1) real(fp) :: surf_met_input(n_veg, 1) real(fp) :: soil_met_input(n_veg, 1) real(fp) :: surf_mic_input(n_veg, 1) real(fp) :: soil_mic_input(n_veg, 1) real(fp) :: slow_input(n_veg, 1) real(fp) :: armd_input(n_veg, 1) real(fp) :: max_pools(n_veg,4) real(fp) :: excess(n_veg, 1) filename3(1:f_len_output)=outputpath !Woody vegetation carbon fluxes !NPP: calculate inputs from NPP into living pools !$OMP PARALLEL WORKSHARE & !$OMP DEFAULT(SHARED) leafinput(:,1)=0.0e+0_fp woodinput(:,1)=0.0e+0_fp frootinput(:,1)=0.0e+0_fp resid=0.0e+0_fp f_hg_emit(:,1)=decompHgEff leafinput(:,1)=NPP(:,mo)*0.33e+0_fp woodinput(:,1)=NPP(:,mo)*0.33e+0_fp frootinput(:,1)=NPP(:,mo)*0.33e+0_fp !$OMP END PARALLEL WORKSHARE IF (mo .eq. 1) THEN !$OMP PARALLEL WORKSHARE & !$OMP DEFAULT(SHARED) Hg_pool_fluxes1(:,:)=0.0e+0_fp Hg_pool_fluxes2(:,:)=0.0e+0_fp Hg_pool_fluxes3(:,:)=0.0e+0_fp Hg_pool_fluxes4(:,:)=0.0e+0_fp Hg_pool_fluxes5(:,:)=0.0e+0_fp Hg_pool_fluxes6(:,:)=0.0e+0_fp !$OMP END PARALLEL WORKSHARE ENDIF !NPP: transfer NPP into living biomass pools !$OMP PARALLEL DO & !$OMP DEFAULT(SHARED) & !$OMP PRIVATE(i) DO i=1,n_veg leafpool(i,1)=leafpool(i,1)+leafinput(i,1) abovewoodpool(i,1)=abovewoodpool(i,1)+woodinput(i,1)*aboveWoodFraction belowwoodpool(i,1)=belowwoodpool(i,1)+woodinput(i,1)*(1.00e+0_fp-aboveWoodFraction) frootpool(i,1)=frootpool(i,1)+frootinput(i,1) !!!!! Transfer wet deposition to carbon pools !!!!! based on relative wt of carbon in each pool f_surf_str(i,1)=0.0e+0_fp f_surf_met(i,1)=0.0e+0_fp f_surf_mic(i,1)=0.0e+0_fp f_soil_str(i,1)=0.0e+0_fp f_soil_met(i,1)=0.0e+0_fp f_soil_mic(i,1)=0.0e+0_fp f_slow(i,1)=0.0e+0_fp f_armd(i,1)=0.0e+0_fp totalC(i,1)=soilstrpool(i,1)+surfstrpool(i,1) totalC(i,1)=totalC(i,1)+slowpool(i,1)+armoredpool(i,1) IF (totalC(i,1) .ne. 0e+0_fp) THEN f_surf_str(i,1)=surfstrpool(i,1) / totalC(i,1) f_soil_str(i,1)=soilstrpool(i,1) / totalC(i,1) f_slow(i,1)=slowpool(i,1) / totalC(i,1) f_armd(i,1)=armoredpool(i,1) / totalC(i,1) ENDIF !Here I am assuming that Hg binds with equal affinity to !all structural carbon pools surf_str_input(i,1)=HgIIwet(i,1)*f_surf_str(i,1) soil_str_input(i,1)=HgIIwet(i,1)*f_soil_str(i,1) slow_input(i,1)=HgIIwet(i,1)*f_slow(i,1) armd_input(i,1)=HgIIwet(i,1)*f_armd(i,1) surfstrpool_Hg(i,1)=surfstrpool_Hg(i,1)+surf_str_input(i,1) soilstrpool_Hg(i,1)=soilstrpool_Hg(i,1)+soil_str_input(i,1) slowpool_Hg(i,1) =slowpool_Hg(i,1) +slow_input(i,1) armoredpool_Hg(i,1)=armoredpool_Hg(i,1)+armd_input(i,1) !now, if any of the pools exceeds the maximum allowed !pool size, transfer the remainder to other pools !and if all are full, transfer to HgAq pool f_surf_str(i,1)=0.0e+0_fp f_surf_met(i,1)=0.0e+0_fp f_surf_mic(i,1)=0.0e+0_fp f_soil_str(i,1)=0.0e+0_fp f_soil_met(i,1)=0.0e+0_fp f_soil_mic(i,1)=0.0e+0_fp f_slow(i,1)=0.0e+0_fp f_armd(i,1)=0.0e+0_fp surf_str_input(i,1)=0.0e+0_fp soil_str_input(i,1)=0.0e+0_fp surf_met_input(i,1)=0.0e+0_fp soil_met_input(i,1)=0.0e+0_fp surf_mic_input(i,1)=0.0e+0_fp soil_mic_input(i,1)=0.0e+0_fp slow_input(i,1)=0.0e+0_fp armd_input(i,1)=0.00e+0_fp excess(i,1)=0.0e+0_fp surf_str_input(i,1)=max_hg_surfstr(i,1)-surfstrpool_Hg(i,1) soil_str_input(i,1)=max_hg_soilstr(i,1)-soilstrpool_Hg(i,1) slow_input(i,1)=max_hg_slow(i,1) -slowpool_Hg(i,1) armd_input(i,1)=max_hg_armored(i,1)-armoredpool_Hg(i,1) ENDDO !$OMP END PARALLEL DO !$OMP PARALLEL DO & !$OMP DEFAULT(SHARED) & !$OMP PRIVATE(i, max_test) DO i=1, n_veg max_pools(i,:)=1.0e+0_fp IF (surf_str_input(i,1) .lt. 0.0e+0_fp) THEN excess(i,1)=excess(i,1)+surf_str_input(i,1) max_pools(i,1)=0e+0_fp ENDIF IF (soil_str_input(i,1) .lt. 0.0e+0_fp) THEN excess(i,1)=excess(i,1)+soil_str_input(i,1) max_pools(i,2)=0e+0_fp ENDIF IF (slow_input(i,1) .lt. 0.0e+0_fp) THEN excess(i,1)=excess(i,1)+slow_input(i,1) max_pools(i,3)=0e+0_fp ENDIF IF (armd_input(i,1) .lt. 0.0e+0_fp) THEN excess(i,1)=excess(i,1)+armd_input(i,1) max_pools(i,4)=0e+0_fp ENDIF max_test=sum(max_pools(i,:)) IF (excess(i,1) .lt. 0.0e+0_fp .and. max_test .eq. 0e+0_fp) THEN surfstrpool_Hg(i,1)=max_hg_surfstr(i,1) soilstrpool_Hg(i,1)=max_hg_soilstr(i,1) slowpool_Hg(i,1)=max_hg_slow(i,1) armoredpool_Hg(i,1)=max_hg_armored(i,1) HgAq(i,1)=HgAq(i,1)+excess(i,1)*(-1.0e+0_fp) excess(i,1)=0.0e+0_fp ELSE IF (excess(i,1) .lt. 0.0e+0_fp .and. max_test .gt. 0e+0_fp) THEN totalC(i,1)=(soilstrpool(i,1)*max_pools(i,2))+(surfstrpool(i,1)*max_pools(i,1)) totalC(i,1)=totalC(i,1)+(slowpool(i,1)*max_pools(i,3))+(armoredpool(i,1)*max_pools(i,4)) IF (totalC(i,1) .ne. 0e+0_fp) THEN f_surf_str(i,1)=(surfstrpool(i,1)*max_pools(i,1)) / totalC(i,1) f_soil_str(i,1)=(soilstrpool(i,1)*max_pools(i,2)) / totalC(i,1) f_slow(i,1)=(slowpool(i,1)*max_pools(i,3)) / totalC(i,1) f_armd(i,1)=(armoredpool(i,1)*max_pools(i,4)) / totalC(i,1) ELSE !if there is no carbon transfer everything to HgAq HgAq(i,1)=HgAq(i,1)+excess(i,1)*(-1.0e+0_fp) excess(i,1)=0.0e+0_fp END IF surfstrpool_Hg(i,1)=surfstrpool_Hg(i,1)+f_surf_str(i,1)*(-1.0e+0_fp)*excess(i,1) soilstrpool_Hg(i,1)=soilstrpool_Hg(i,1)+f_soil_str(i,1)*(-1.0e+0_fp)*excess(i,1) slowpool_Hg(i,1)=slowpool_Hg(i,1)+f_slow(i,1)*(-1.0e+0_fp)*excess(i,1) armoredpool_Hg(i,1)=armoredpool_Hg(i,1)+f_armd(i,1)*(-1.0e+0_fp)*excess(i,1) excess(i,1)=0.0e+0_fp ENDIF !herbivory herbivory(i,1)=trees_herbivory(i,1)*herb_seasonality(i,mo) !yearly herbivory*seasonality scalar !in case herbivory exceeds leaf, lower herbivory IF (herbivory(i,1) .gt. leafpool(i,1)) THEN herbivory(i,1)=leafpool(i,1) ENDIF !in case herbivory exceeds leaf, lower herbivory IF (leafpool(i,1) .ne. 0.0e+0_fp) THEN f_carbonout_leaf(i,1)=herbivory(i,1)/leafpool(i,1) ELSE f_carbonout_leaf(i,1)=0.0e+0_fp ENDIF !deduct herbivory from leafpool leafpool(i,1)=leafpool(i,1)-herbivory(i,1) !part of the consumed leaf will be returned as litter carbonout_leaf(i,1)=herbivory(i,1)*(1.000e+0_fp-herbivoreEff) !part of the consumed leaf for maintenance herbivory(i,1)=herbivory(i,1)-herbivory(i,1)*(1.000e+0_fp-herbivoreEff) surfstrpool(i,1)=surfstrpool(i,1)+carbonout_leaf(i,1)*(1.000e+0_fp-metabfract(i,1)) surfmetpool(i,1)=surfmetpool(i,1)+carbonout_leaf(i,1)*metabfract(i,1) !all of the Herbivory consumed Hg returned as litter hgout_leaf(i,1)=leafpool_hg(i,1)*f_carbonout_leaf(i,1)!*f_hg_emit(i,1) leafpool_hg(i,1)=leafpool_hg(i,1)-hgout_leaf(i,1) surfstrpool_Hg(i,1)=surfstrpool_Hg(i,1)+hgout_leaf(i,1) !DECAY of biomass and litter, each of the following eqns !have the following basic formi !carbon pool size*rate constant *abiotic effect !some may have more terms, but all are first order carbonout_leaf(i,1)=leafpool(i,1)*annK_leaf(i,1)*litterscalar(i,mo) carbonout_abovewood(i,1)=abovewoodpool(i,1)*K_wood(i,1) carbonout_belowwood(i,1)=belowwoodpool(i,1)*K_wood(i,1) carbonout_froot(i,1)=frootpool(i,1)*annK_froot(i,1)*rootlitscalar(i,mo) carbonout_cwd(i,1)=cwdpool(i,1)*K_cwd(i,1)*abiotic(i,mo) carbonout_surfmet(i,1)=surfmetpool(i,1)*K_surfmet(i,1)*abiotic(i,mo) carbonout_surfstr(i,1)=surfstrpool(i,1)*K_surfstr(i,1)*abiotic(i,mo)*lignineffect(i,1) carbonout_soilmet(i,1)=soilmetpool(i,1)*K_soilmet(i,1)*abiotic(i,mo) carbonout_soilstr(i,1)=soilstrpool(i,1)*K_soilstr(i,1)*abiotic(i,mo)*lignineffect(i,1) carbonout_surfmic(i,1)=surfmicpool(i,1)*K_surfmic(i,1)*abiotic(i,mo) carbonout_soilmic(i,1)=soilmicpool(i,1)*K_soilmic(i,1)*abiotic(i,mo)*soilmicDecayFactor(i,1) carbonout_slow(i,1)=slowpool(i,1)*K_slow(i,1)*abiotic(i,mo) carbonout_armored(i,1)=armoredpool(i,1)*K_armored(i,1)*abiotic(i,mo) hgout_leaf(i,1)=leafpool_hg(i,1)*annK_leaf(i,1)*litterscalar(i,mo)!*f_hg_emit(i,1) hgout_surfmet(i,1)=surfmetpool_hg(i,1)*K_surfmet(i,1)*f_hg_emit(i,1)*abiotic(i,mo) hgout_surfstr(i,1)=surfstrpool_hg(i,1)*K_surfstr(i,1)*f_hg_emit(i,1)*abiotic(i,mo)*lignineffect(i,1) hgout_soilmet(i,1)=soilmetpool_hg(i,1)*K_soilmet(i,1)*f_hg_emit(i,1)*abiotic(i,mo) hgout_soilstr(i,1)=soilstrpool_hg(i,1)*K_soilstr(i,1)*f_hg_emit(i,1)*abiotic(i,mo)*lignineffect(i,1) hgout_surfmic(i,1)=surfmicpool_hg(i,1)*K_surfmic(i,1)*f_hg_emit(i,1)*abiotic(i,mo) hgout_soilmic(i,1)=soilmicpool_hg(i,1)*K_soilmic(i,1)*f_hg_emit(i,1)*abiotic(i,mo)*soilmicDecayFactor(i,1) hgout_slow(i,1)=slowpool_hg(i,1)*K_slow(i,1)*f_hg_emit(i,1)*abiotic(i,mo) hgout_armored(i,1)=armoredpool_hg(i,1)*K_armored(i,1)*f_hg_emit(i,1)*abiotic(i,mo) !determine inputs into structural and metabolic pools from !decaying living pools surfstrpool(i,1)=surfstrpool(i,1)+(carbonout_leaf(i,1)+& carbonout_cwd(i,1))*(1.00e+0_fp-metabfract(i,1)) surfstrpool_hg(i,1)=surfstrpool_hg(i,1)+(hgout_leaf(i,1)*& (1.00e+0_fp-metabfract(i,1))) soilstrpool(i,1)=soilstrpool(i,1)+(carbonout_froot(i,1)+& carbonout_belowwood(i,1))*(1.00e+0_fp-metabfract(i,1)) surfmetpool(i,1)=surfmetpool(i,1)+(carbonout_leaf(i,1)+& carbonout_cwd(i,1))*metabfract(i,1) surfmetpool_hg(i,1)=surfmetpool_hg(i,1)+(hgout_leaf(i,1)*metabfract(i,1)) soilmetpool(i,1)=soilmetpool(i,1)+(carbonout_froot(i,1)+& carbonout_belowwood(i,1))*metabfract(i,1) cwdpool(i,1)=cwdpool(i,1)+carbonout_abovewood(i,1) leafpool(i,1)=leafpool(i,1)-carbonout_leaf(i,1) leafpool_hg(i,1)=leafpool_hg(i,1)-hgout_leaf(i,1) abovewoodpool(i,1)=abovewoodpool(i,1)-carbonout_abovewood(i,1) belowwoodpool(i,1)=belowwoodpool(i,1)-carbonout_belowwood(i,1) frootpool(i,1)=frootpool(i,1)-carbonout_froot(i,1) cwdpool(i,1)=cwdpool(i,1)-carbonout_cwd(i,1) surfstrpool(i,1)=surfstrpool(i,1)-carbonout_surfstr(i,1) surfstrpool_hg(i,1)=surfstrpool_hg(i,1)-hgout_surfstr(i,1) soilstrpool(i,1)=soilstrpool(i,1)-carbonout_soilstr(i,1) soilstrpool_hg(i,1)=soilstrpool_hg(i,1)-hgout_soilstr(i,1) surfmetpool(i,1)=surfmetpool(i,1)-carbonout_surfmet(i,1) surfmetpool_hg(i,1)=surfmetpool_hg(i,1)-hgout_surfmet(i,1) soilmetpool(i,1)=soilmetpool(i,1)-carbonout_soilmet(i,1) soilmetpool_hg(i,1)=soilmetpool_hg(i,1)-hgout_soilmet(i,1) surfmicpool(i,1)=surfmicpool(i,1)-carbonout_surfmic(i,1) surfmicpool_hg(i,1)=surfmicpool_hg(i,1)-hgout_surfmic(i,1) soilmicpool(i,1)=soilmicpool(i,1)-carbonout_soilmic(i,1) soilmicpool_hg(i,1)=soilmicpool_hg(i,1)-hgout_soilmic(i,1) slowpool(i,1)=slowpool(i,1)-carbonout_slow(i,1) slowpool_hg(i,1)=slowpool_hg(i,1)-hgout_slow(i,1) armoredpool(i,1)=armoredpool(i,1)-carbonout_armored(i,1) armoredpool_hg(i,1)=armoredpool_hg(i,1)-hgout_armored(i,1) !empty respiration pools at the beginning of the month resppool_surfstr(i,1)=0.000e+0_fp resppool_surfmet(i,1)=0.000e+0_fp resppool_surfmic(i,1)=0.000e+0_fp resppool_soilstr(i,1)=0.000e+0_fp resppool_soilmet(i,1)=0.000e+0_fp resppool_soilmic(i,1)=0.000e+0_fp resppool_slow(i,1)=0.000e+0_fp resppool_armored(i,1)=0.000e+0_fp resppool_surfstr_hg(i,1)=0.0e+0_fp resppool_surfmet_hg(i,1)=0.0e+0_fp resppool_surfmic_hg(i,1)=0.0e+0_fp resppool_soilstr_hg(i,1)=0.0e+0_fp resppool_soilmet_hg(i,1)=0.0e+0_fp resppool_soilmic_hg(i,1)=0.0e+0_fp resppool_slow_hg(i,1)=0.0e+0_fp resppool_armored_hg(i,1)=0.0e+0_fp temp(i,1)=0.0e+0_fp tempa(i,1)=0.0e+0_fp tempb(i,1)=0.0e+0_fp f_temp(i,1)=0.0e+0_fp !respiratory fluxes from every pool - temp temp(i,1)=(carbonout_surfstr(i,1)*structuralLignin(i,1))& *eff_surfstr2slow slowpool(i,1)=slowpool(i,1)+temp(i,1) resppool_surfstr(i,1)=resppool_surfstr(i,1)+& (temp(i,1)/eff_surfstr2slow)*(1.00e+0_fp-eff_surfstr2slow) tempa(i,1)=(hgout_surfstr(i,1)*structuralLignin(i,1))*eff_surfstr2slow slowpool_hg(i,1)=slowpool_hg(i,1)+tempa(i,1) resppool_surfstr_hg(i,1)=resppool_surfstr_hg(i,1)+(tempa(i,1)/eff_surfstr2slow)*(1e+0_fp-eff_surfstr2slow) Hg_pool_fluxes1(i,mo)=Hg_pool_fluxes1(i,mo)+(tempa(i,1)*frac_tree(i,1)) temp(i,1)=0.000e+0_fp tempa(i,1)=0.0e+0_fp f_temp(i,1)=1.0e+0_fp temp(i,1)=(carbonout_surfstr(i,1)*(f_temp(i,1)-structuralLignin(i,1)))*eff_surfstr2surfmic surfmicpool(i,1)=surfmicpool(i,1)+temp(i,1) resppool_surfstr(i,1)=resppool_surfstr(i,1)+(temp(i,1)/eff_surfstr2surfmic)*(1.00e+0_fp-eff_surfstr2surfmic) tempa(i,1)=(hgout_surfstr(i,1)*(f_temp(i,1)-structuralLignin(i,1)))*eff_surfstr2surfmic surfmicpool_hg(i,1)=surfmicpool_hg(i,1)+tempa(i,1) resppool_surfstr_hg(i,1)=resppool_surfstr_hg(i,1)+(tempa(i,1)/eff_surfstr2surfmic)*(1.0e+0_fp-eff_surfstr2surfmic) temp(i,1)=0.000e+0_fp tempa(i,1)=0.0e+0_fp f_temp(i,1)=1.0e+0_fp temp(i,1)=carbonout_soilstr(i,1)*structuralLignin(i,1)*eff_soilstr2slow slowpool(i,1)=slowpool(i,1)+temp(i,1) resppool_soilstr(i,1)=resppool_soilstr(i,1)+(temp(i,1)/eff_soilstr2slow)*(1.00e+0_fp-eff_soilstr2slow) tempa(i,1)=hgout_soilstr(i,1)*structuralLignin(i,1)*eff_soilstr2slow slowpool_hg(i,1)=slowpool_hg(i,1)+tempa(i,1) resppool_soilstr_hg(i,1)=resppool_soilstr_hg(i,1)+(tempa(i,1)/eff_soilstr2slow)*(1.00e+0_fp-eff_soilstr2slow) Hg_pool_fluxes3(i,mo)=Hg_pool_fluxes3(i,mo)+(tempa(i,1)*frac_tree(i,1)) temp(i,1)=0.0e+0_fp tempa(i,1)=0.0e+0_fp f_temp(i,1)=1.0e+0_fp temp(i,1)=carbonout_soilstr(i,1)*(f_temp(i,1)-structuralLignin(i,1))*eff_soilstr2soilmic soilmicpool(i,1)=soilmicpool(i,1)+temp(i,1) resppool_soilstr(i,1)=resppool_soilstr(i,1)+(temp(i,1)/eff_soilstr2soilmic)*(1.000e+0_fp-eff_soilstr2soilmic) tempa(i,1)=hgout_soilstr(i,1)*(f_temp(i,1)-structuralLignin(i,1))*eff_soilstr2soilmic soilmicpool_hg(i,1)=soilmicpool_hg(i,1)+tempa(i,1) resppool_soilstr_hg(i,1)=resppool_soilstr_hg(i,1)+(tempa(i,1)/eff_soilstr2soilmic)*(1.0e+0_fp-eff_soilstr2soilmic) temp(i,1)=0.0e+0_fp tempa(i,1)=0.0e+0_fp f_temp(i,1)=1.0e+0_fp temp(i,1)=carbonout_surfmet(i,1)*eff_surfmet2surfmic surfmicpool(i,1)=surfmicpool(i,1)+temp(i,1) resppool_surfmet(i,1)=resppool_surfmet(i,1)+(temp(i,1)/eff_surfmet2surfmic)*(1.00e+0_fp-eff_surfmet2surfmic) tempa(i,1)=hgout_surfmet(i,1)*eff_surfmet2surfmic surfmicpool_hg(i,1)=surfmicpool_hg(i,1)+tempa(i,1) resppool_surfmet_hg(i,1)=resppool_surfmet_hg(i,1)+(tempa(i,1)/eff_surfmet2surfmic)*(1.0e+0_fp-eff_surfmet2surfmic) temp(i,1)=0.0e+0_fp tempa(i,1)=0.0e+0_fp f_temp(i,1)=1.0e+0_fp temp(i,1)=carbonout_soilmet(i,1)*eff_soilmet2soilmic soilmicpool(i,1)=soilmicpool(i,1)+temp(i,1) resppool_soilmet(i,1)=resppool_soilmet(i,1)+(temp(i,1)/eff_soilmet2soilmic)*(1.00e+0_fp-eff_soilmet2soilmic) tempa(i,1)=hgout_soilmet(i,1)*eff_soilmet2soilmic soilmicpool_hg(i,1)=soilmicpool_hg(i,1)+tempa(i,1) resppool_soilmet_hg(i,1)=resppool_soilmet_hg(i,1)+(tempa(i,1)/eff_soilmet2soilmic)*(1.00e+0_fp-eff_soilmet2soilmic) temp(i,1)=0.0e+0_fp tempa(i,1)=0.0e+0_fp f_temp(i,1)=1.0e+0_fp temp(i,1)=carbonout_surfmic(i,1)*eff_surfmic2slow slowpool(i,1)=slowpool(i,1)+temp(i,1) resppool_surfmic(i,1)=resppool_surfmic(i,1)+(temp(i,1)/eff_surfmic2slow)*(1.00e+0_fp-eff_surfmic2slow) tempa(i,1)=hgout_surfmic(i,1)*eff_surfmic2slow slowpool_hg(i,1)=slowpool_hg(i,1)+tempa(i,1) resppool_surfmic_hg(i,1)=resppool_surfmic_hg(i,1)+(tempa(i,1)/eff_surfmic2slow)*(1.0e+0_fp-eff_surfmic2slow) resppool_soilmic(i,1)=resppool_soilmic(i,1)+eff_soilmic2slow(i,1)*carbonout_soilmic(i,1) resppool_soilmic_hg(i,1)=resppool_soilmic_hg(i,1)+eff_soilmic2slow(i,1)*hgout_soilmic(i,1) Hg_pool_fluxes1(i,mo)=Hg_pool_fluxes1(i,mo)+(tempa(i,1)*frac_tree(i,1)) temp(i,1)=0.0e+0_fp tempa(i,1)=0.0e+0_fp tempb(i,1)=0.0e+0_fp temp(i,1)=carbonout_soilmic(i,1)*(0.003e+0_fp+(0.032e+0_fp*clay(i,1))) armoredpool(i,1)=armoredpool(i,1)+temp(i,1) tempb(i,1)=hgout_soilmic(i,1)*(0.003e+0_fp+(0.032e+0_fp*clay(i,1))) armoredpool_hg(i,1)=armoredpool_hg(i,1)+tempb(i,1) Hg_pool_fluxes2(i,mo)=Hg_pool_fluxes2(i,mo)+(tempb(i,1)*frac_tree(i,1)) tempa(i,1)=temp(i,1) temp(i,1)=carbonout_soilmic(i,1)-tempa(i,1)-resppool_soilmic(i,1) slowpool(i,1)=slowpool(i,1)+temp(i,1) tempa(i,1)=tempb(i,1) tempb(i,1)=hgout_soilmic(i,1)-tempa(i,1)-resppool_soilmic_hg(i,1) slowpool_hg(i,1)=slowpool_hg(i,1)+tempb(i,1) Hg_pool_fluxes3(i,mo)=Hg_pool_fluxes3(i,mo)+(tempb(i,1)*frac_tree(i,1)) resppool_slow(i,1)=carbonout_slow(i,1)*(1.00e+0_fp-eff_slow2soilmic) resppool_slow_hg(i,1)=hgout_slow(i,1)*(1.00e+0_fp-eff_slow2soilmic) temp(i,1)=0.0e+0_fp tempa(i,1)=0.0e+0_fp f_temp(i,1)=0.0e+0_fp temp(i,1)=carbonout_slow(i,1)*eff_slow2soilmic*decayClayFactor(i,1) armoredpool(i,1)=armoredpool(i,1)+temp(i,1) tempa(i,1)=temp(i,1) temp(i,1)=carbonout_slow(i,1)-resppool_slow(i,1)-tempa(i,1) soilmicpool(i,1)=soilmicpool(i,1)+temp(i,1) temp(i,1)=hgout_slow(i,1)*eff_slow2soilmic*decayClayFactor(i,1) armoredpool_hg(i,1)=armoredpool_hg(i,1)+temp(i,1) Hg_pool_fluxes4(i,mo)=Hg_pool_fluxes4(i,mo)+(temp(i,1)*frac_tree(i,1)) tempa(i,1)=temp(i,1) temp(i,1)=hgout_slow(i,1)-resppool_slow_hg(i,1)-tempa(i,1) soilmicpool_hg(i,1)=soilmicpool_hg(i,1)+temp(i,1) Hg_pool_fluxes6(i,mo)=Hg_pool_fluxes6(i,mo)+(temp(i,1)*frac_tree(i,1)) temp(i,1)=0.0e+0_fp tempa(i,1)=0.0e+0_fp tempb(i,1)=0.0e+0_fp f_temp(i,1)=0.0e+0_fp temp(i,1)=carbonout_armored(i,1)*eff_armored2soilmic soilmicpool(i,1)=soilmicpool(i,1)+temp(i,1) resppool_armored(i,1)=(temp(i,1)/eff_armored2soilmic)*(1.00e+0_fp-eff_armored2soilmic) tempa(i,1)=hgout_armored(i,1)*eff_armored2soilmic soilmicpool_hg(i,1)=soilmicpool_hg(i,1)+tempa(i,1) resppool_armored_hg(i,1)=(tempa(i,1)/eff_armored2soilmic)*(1.00e+0_fp-eff_armored2soilmic) Hg_pool_fluxes5(i,mo)=Hg_pool_fluxes5(i,mo)+(tempa(i,1)*frac_tree(i,1)) !FIRES consume part of the pools depending on burn fraction !(BF), combustion completeness (CC) and tree mortality rate combusted_leaf(i,1)=leafpool(i,1)*BF1(i,mo)*ccLeaf(i,mo)*mortality_tree(i,1) combusted_abovewood(i,1)=abovewoodpool(i,1)*BF1(i,mo)*ccWood(i,mo)*mortality_tree(i,1) combusted_cwd(i,1)=cwdpool(i,1)*BF1(i,mo)*ccCWD(i,mo) combusted_surfstr(i,1)=surfstrpool(i,1)*BF1(i,mo)*ccFineLitter(i,mo) combusted_surfmet(i,1)=surfmetpool(i,1)*BF1(i,mo)*ccFineLitter(i,mo) combusted_surfmic(i,1)=surfmicpool(i,1)*BF1(i,mo)*ccFineLitter(i,mo) !FIREi the non combusted parts temp(i,1)=1.00e+0_fp nonCombusted_leaf(i,1)=leafpool(i,1)*BF1(i,mo)*(temp(i,1)-ccLeaf(i,mo))*mortality_tree(i,1) nonCombusted_abovewood(i,1)=abovewoodpool(i,1)*BF1(i,mo)*(temp(i,1)-ccWood(i,mo))*mortality_tree(i,1) nonCombusted_belowwood(i,1)=belowwoodpool(i,1)*BF1(i,mo)*mortality_tree(i,1) nonCombusted_froot(i,1)=frootpool(i,1)*BF1(i,mo)*mortality_tree(i,1) !FIRE flux from non combusted parts to other pools surfstrpool(i,1)=surfstrpool(i,1)+nonCombusted_leaf(i,1)*(1.00e+0_fp-metabfract(i,1)) surfmetpool(i,1)=surfmetpool(i,1)+nonCombusted_leaf(i,1)*metabfract(i,1) soilstrpool(i,1)=soilstrpool(i,1)+(nonCombusted_froot(i,1)+nonCombusted_belowwood(i,1))*(1.00e+0_fp-metabfract(i,1)) soilmetpool(i,1)=soilmetpool(i,1)+(nonCombusted_froot(i,1)+nonCombusted_belowwood(i,1))*metabfract(i,1) cwdpool(i,1)=cwdpool(i,1)+nonCombusted_abovewood(i,1) !FIRE !! leafpool(i,1)=leafpool(i,1)-combusted_leaf(i,1)-nonCombusted_leaf(i,1) abovewoodpool(i,1)=abovewoodpool(i,1)-combusted_abovewood(i,1)-nonCombusted_abovewood(i,1) belowwoodpool(i,1)=belowwoodpool(i,1)-nonCombusted_belowwood(i,1) frootpool(i,1)=frootpool(i,1)-nonCombusted_froot(i,1) cwdpool(i,1)=cwdpool(i,1)-combusted_cwd(i,1) surfstrpool(i,1)=surfstrpool(i,1)-combusted_surfstr(i,1) surfmetpool(i,1)=surfmetpool(i,1)-combusted_surfmet(i,1) surfmicpool(i,1)=surfmicpool(i,1)-combusted_surfmic(i,1) !adding in soil pools soilstrpool(i,1)=soilstrpool(i,1)-combusted_soilstr(i,1) soilmetpool(i,1)=soilmetpool(i,1)-combusted_soilmet(i,1) soilmicpool(i,1)=soilmicpool(i,1)-combusted_soilmic(i,1) slowpool(i,1)=slowpool(i,1)-combusted_slow(i,1) armoredpool(i,1)=armoredpool(i,1)-combusted_armored(i,1) ENDDO !$OMP END PARALLEL DO !FUELWOOD COLLECTION IF (n_age_classes .eq. 1) THEN !$OMP PARALLEL DO & !$OMP DEFAULT(SHARED) & !$OMP PRIVATE(i) DO i=1, n_veg !fuelwood demand fuelwoodout(i,1)=fuelwooddemand(i,1)+fuelshortage(i,1) !in case demand exceeds availability IF (fuelwoodout(i,1) .gt. cwdpool(i,1)) THEN fuelwoodout(i,1)=cwdpool(i,1) !demand = avail fuelshortage(i,1)=fuelshortage(i,1)-fuelwoodout(i,1)+cwdpool(i,1) ! and shortage increases END IF !in case availability exceeds demand IF (fuelwoodout(i,1) .lt. cwdpool(i,1)) THEN !shortage decreases fuelshortage(i,1)=fuelshortage(i,1)-cwdpool(i,1)+fuelwoodout(i,1) END IF IF (fuelshortage(i,1) .lt. 0e+0_fp) THEN fuelshortage(i,1)=0.000e+0_fp END IF !fuelwood taken out of cwd pool cwdpool(i,1)=cwdpool(i,1)-fuelwoodout(i,1) END DO !$OMP END PARALLEL DO ELSE !$OMP PARALLEL DO & !$OMP DEFAULT(SHARED) & !$OMP PRIVATE(i) DO i=1, n_veg fuelwoodout(i,1)=fuelwooddemand(i,1) IF (fuelwooddemand(i,1) .gt. cwdpool(i,1)) THEN fuelwoodout(i,1)=cwdpool(i,1) END IF cwdpool(i,1)=cwdpool(i,1)-fuelwoodout(i,1) END DO !$OMP END PARALLEL DO END IF resid=0.0e+0_fp allowed=0.0e+0_fp !Calculate Fluxes IF (n_age_classes .eq. 1) THEN IF (mo .eq. 1) THEN !$OMP PARALLEL WORKSHARE & !$OMP DEFAULT(SHARED) resp_surfstr(:,:)=0.0e+0_fp resp_surfmet(:,:)=0.0e+0_fp resp_surfmic(:,:)=0.0e+0_fp resp_soilstr(:,:)=0.0e+0_fp resp_soilmet(:,:)=0.0e+0_fp resp_soilmic(:,:)=0.0e+0_fp resp_slow(:,:)=0.0e+0_fp resp_armored(:,:)=0.0e+0_fp resp_surfstr_hg(:,:)=0.0e+0_fp resp_surfmet_hg(:,:)=0.0e+0_fp resp_surfmic_hg(:,:)=0.0e+0_fp resp_soilstr_hg(:,:)=0.0e+0_fp resp_soilmet_hg(:,:)=0.0e+0_fp resp_soilmic_hg(:,:)=0.0e+0_fp resp_slow_hg(:,:)=0.0e+0_fp resp_armored_hg(:,:)=0.0e+0_fp !$OMP END PARALLEL WORKSHARE ENDIF !$OMP PARALLEL DO & !$OMP DEFAULT(SHARED) & !$OMP PRIVATE(i) DO i=1,n_veg wresp(i,1)=0.0e+0_fp wcomb(i,1)=0.0e+0_fp wherb(i,1)=0.0e+0_fp wbiof(i,1)=0.0e+0_fp wresp_hg(i,1)=0.0e+0_fp wresp(i,1)=resppool_surfstr(i,1)+resppool_surfmet(i,1)& +resppool_surfmic(i,1)+resppool_soilstr(i,1) & +resppool_soilmet(i,1)+resppool_soilmic(i,1) & +resppool_slow(i,1)+resppool_armored(i,1) resp_surfstr(i,mo)=resp_surfstr(i,mo)+resppool_surfstr(i,1)*frac_tree(i,1) resp_surfmet(i,mo)=resp_surfmet(i,mo)+resppool_surfmet(i,1)*frac_tree(i,1) resp_surfmic(i,mo)=resp_surfmic(i,mo)+resppool_surfmic(i,1)*frac_tree(i,1) resp_soilstr(i,mo)=resp_soilstr(i,mo)+resppool_soilstr(i,1)*frac_tree(i,1) resp_soilmet(i,mo)=resp_soilmet(i,mo)+resppool_soilmet(i,1)*frac_tree(i,1) resp_soilmic(i,mo)=resp_soilmic(i,mo)+resppool_soilmic(i,1)*frac_tree(i,1) resp_slow(i,mo)=resp_slow(i,mo)+resppool_slow(i,1)*frac_tree(i,1) resp_armored(i,mo)=resp_armored(i,mo)+resppool_armored(i,1)*frac_tree(i,1) wresp_hg(i,1)=resppool_surfstr_hg(i,1)+resppool_surfmet_hg(i,1)& +resppool_surfmic_hg(i,1)+resppool_soilstr_hg(i,1) & +resppool_soilmet_hg(i,1)+resppool_soilmic_hg(i,1) & +resppool_slow_hg(i,1)+resppool_armored_hg(i,1) resp_surfstr_hg(i,mo)=resp_surfstr_hg(i,mo)+resppool_surfstr_hg(i,1)*frac_tree(i,1) resp_surfmet_hg(i,mo)=resp_surfmet_hg(i,mo)+resppool_surfmet_hg(i,1)*frac_tree(i,1) resp_surfmic_hg(i,mo)=resp_surfmic_hg(i,mo)+resppool_surfmic_hg(i,1)*frac_tree(i,1) resp_soilstr_hg(i,mo)=resp_soilstr_hg(i,mo)+resppool_soilstr_hg(i,1)*frac_tree(i,1) resp_soilmet_hg(i,mo)=resp_soilmet_hg(i,mo)+resppool_soilmet_hg(i,1)*frac_tree(i,1) resp_soilmic_hg(i,mo)=resp_soilmic_hg(i,mo)+resppool_soilmic_hg(i,1)*frac_tree(i,1) resp_slow_hg(i,mo)=resp_slow_hg(i,mo)+resppool_slow_hg(i,1)*frac_tree(i,1) resp_armored_hg(i,mo)=resp_armored_hg(i,mo)+resppool_armored_hg(i,1)*frac_tree(i,1) wcomb(i,1)=combusted_leaf(i,1)+combusted_abovewood(i,1)& +combusted_cwd(i,1)+combusted_surfstr(i,1) & +combusted_surfmet(i,1)+combusted_surfmic(i,1) & +combusted_soilstr(i,1)+combusted_soilmet(i,1) & +combusted_soilmic(i,1)+combusted_slow(i,1) & +combusted_armored(i,1) wherb(i,1)=herbivory(i,1) wbiof(i,1)=fuelwoodout(i,1) ENDDO !$OMP END PARALLEL DO ELSE IF (age_class .eq. 1) THEN wresp(:,1)=0.0e+0_fp wcomb(:,1)=0.0e+0_fp wherb(:,1)=0.0e+0_fp wbiof(:,1)=0.0e+0_fp ENDIF !$OMP PARALLEL WORKSHARE & !$OMP DEFAULT(SHARED) wresp(:,1)=wresp(:,1)+(resppool_surfstr(:,1) & +resppool_surfmet(:,1)+resppool_surfmic(:,1) & +resppool_soilstr(:,1)+resppool_soilmet(:,1) & +resppool_soilmic(:,1)+resppool_slow(:,1) & +resppool_armored(:,1))/number_age_classes wcomb(:,1)=wcomb(:,1)+(combusted_leaf(:,1) & +combusted_abovewood(:,1)+combusted_cwd(:,1) & +combusted_surfstr(:,1)+combusted_surfmet(:,1)& +combusted_surfmic(:,1))/number_age_classes wherb(:,1)=wherb(:,1)+(herbivory(:,1)/number_age_classes) wbiof(:,1)=wbiof(:,1)+(fuelwoodout(:,1)/number_age_classes) !$OMP END PARALLEL WORKSHARE ENDIF END SUBROUTINE doTreeCarbonHg !EOC ================================================ FILE: GTMM/dorestart_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: dorestart_mod ! ! !DESCRIPTION: Module DORESTART\_MOD contains subroutines to save and read ! data created by GTMM and used to restart a stand-alone run or a coupled ! run with GEOS-Chem. ! ! !INTERFACE: ! MODULE DORESTART_MOD ! ! !USES: ! IMPLICIT NONE ! ! !REVISION HISTORY: ! 16 Dec 2009 - C. Carouge - Initial version !EOP !----------------------------------------------------------------------------- !BOC CONTAINS !EOC !----------------------------------------------------------------------------- ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: doSaveHgforGC ! ! !DESCRIPTION: Subroutine doSaveHgforGC saves Hg pools at equilibrium to be ! used when GTMM is coupled to GEOS-Chem. !\\ !\\ ! !INTERFACE: ! SUBROUTINE doSaveHgforGC ! ! !USES: ! USE defineConstants USE defineArrays ! ! !REVISION HISTORY: ! 03 Nov 2009 - C. Carouge - Initial version !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES ! CHARACTER(len=250) :: FILENAME ! Open binary file to write data FILENAME = OUTPUTPATH // 'HgPools' OPEN(UNIT=20, file=FILENAME, STATUS="NEW", FORM="UNFORMATTED") ! Write data to FILENAME WRITE(20) hsurfstrpool_Hg WRITE(20) hsurfmetpool_Hg WRITE(20) hsurfmicpool_Hg WRITE(20) hsoilstrpool_Hg WRITE(20) hsoilmetpool_Hg WRITE(20) hsoilmicpool_Hg WRITE(20) hslowpool_Hg WRITE(20) harmoredpool_Hg WRITE(20) surfstrpool_Hg WRITE(20) surfmetpool_Hg WRITE(20) surfmicpool_Hg WRITE(20) soilstrpool_Hg WRITE(20) soilmetpool_Hg WRITE(20) soilmicpool_Hg WRITE(20) slowpool_Hg WRITE(20) armoredpool_Hg WRITE(20) Hg0_surf_soil WRITE(20) HgII_surf_soil WRITE(20) hleafpool_Hg WRITE(20) leafpool_Hg WRITE(20) leafpool WRITE(20) cwdpool WRITE(20) abovewoodpool WRITE(20) belowwoodpool WRITE(20) frootpool WRITE(20) surfstrpool WRITE(20) surfmetpool WRITE(20) surfmicpool WRITE(20) soilstrpool WRITE(20) soilmetpool WRITE(20) soilmicpool WRITE(20) slowpool WRITE(20) armoredpool WRITE(20) hleafpool WRITE(20) hfrootpool WRITE(20) hsurfstrpool WRITE(20) hsurfmetpool WRITE(20) hsurfmicpool WRITE(20) hsoilstrpool WRITE(20) hsoilmetpool WRITE(20) hsoilmicpool WRITE(20) hslowpool WRITE(20) harmoredpool ! Close file CLOSE(20) END SUBROUTINE doSaveHgforGC !EOC !----------------------------------------------------------------------------- ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !ROUTINE: doReadHgforGC ! ! !DESCRIPTION: Subroutine doReadHgforGC reads Hg pools at equilibrium to ! use them in GTMM when coupled to GEOS-Chem. !\\ !\\ ! !INTERFACE: ! SUBROUTINE doReadHgforGC ! ! !USES: ! USE defineConstants USE defineArrays ! ! !REVISION HISTORY: ! 03 Nov 2009 - C. Carouge - Initial version !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES ! OPEN(UNIT=20, file=RESTARTFILE, STATUS="OLD", FORM="UNFORMATTED") ! Read data to FILENAME READ(20) hsurfstrpool_Hg READ(20) hsurfmetpool_Hg READ(20) hsurfmicpool_Hg READ(20) hsoilstrpool_Hg READ(20) hsoilmetpool_Hg READ(20) hsoilmicpool_Hg READ(20) hslowpool_Hg READ(20) harmoredpool_Hg READ(20) surfstrpool_Hg READ(20) surfmetpool_Hg READ(20) surfmicpool_Hg READ(20) soilstrpool_Hg READ(20) soilmetpool_Hg READ(20) soilmicpool_Hg READ(20) slowpool_Hg READ(20) armoredpool_Hg READ(20) Hg0_surf_soil READ(20) HgII_surf_soil READ(20) hleafpool_Hg READ(20) leafpool_Hg READ(20) leafpool READ(20) cwdpool READ(20) abovewoodpool READ(20) belowwoodpool READ(20) frootpool READ(20) surfstrpool READ(20) surfmetpool READ(20) surfmicpool READ(20) soilstrpool READ(20) soilmetpool READ(20) soilmicpool READ(20) slowpool READ(20) armoredpool READ(20) hleafpool READ(20) hfrootpool READ(20) hsurfstrpool READ(20) hsurfmetpool READ(20) hsurfmicpool READ(20) hsoilstrpool READ(20) hsoilmetpool READ(20) hsoilmicpool READ(20) hslowpool READ(20) harmoredpool ! Close file CLOSE(20) END SUBROUTINE doReadHgforGC !EOC !----------------------------------------------------------------------------- ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !ROUTINE: doSaveCASAforRestart ! ! !DESCRIPTION: Subroutine doSaveCASAforRestart saves CASA values at ! equilibrium to be used when an equilibrium run for GTMM is continued. !\\ !\\ ! !INTERFACE: ! SUBROUTINE doSaveCASAforRestart ! ! !USES: ! USE defineConstants USE defineArrays ! ! !REVISION HISTORY: ! 16 Dec 2009 - C. Carouge - Initial version !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES ! CHARACTER(len=250) :: FILENAME ! Open binary file to write data FILENAME = OUTPUTPATH // 'restart' OPEN(UNIT=20, file=FILENAME, STATUS="NEW", FORM="UNFORMATTED") ! Write data to FILENAME WRITE(20) LAI WRITE(20) herb_seasonality WRITE(20) grass_herbivory WRITE(20) trees_herbivory WRITE(20) rootlitscalar WRITE(20) litterscalar WRITE(20) hlitterscalar WRITE(20) NPP WRITE(20) abiotic WRITE(20) lais WRITE(20) ccWood WRITE(20) ccLeaf WRITE(20) ccFineLitter WRITE(20) ccCwd WRITE(20) PET WRITE(20) CCratio_previous ! Only used if restart the run from the carbon equilibrium year. ! If the mercury equilibrium run is started, use data saved in HgPools WRITE(20) leafpool WRITE(20) surfstrpool WRITE(20) surfmetpool WRITE(20) surfmicpool WRITE(20) soilstrpool WRITE(20) soilmetpool WRITE(20) soilmicpool WRITE(20) slowpool WRITE(20) armoredpool WRITE(20) hleafpool WRITE(20) hsurfstrpool WRITE(20) hsurfmetpool WRITE(20) hsurfmicpool WRITE(20) hsoilstrpool WRITE(20) hsoilmetpool WRITE(20) hsoilmicpool WRITE(20) hslowpool WRITE(20) harmoredpool WRITE(20) abovewoodpool WRITE(20) belowwoodpool WRITE(20) frootpool ! Close file CLOSE(20) END SUBROUTINE doSaveCASAforRestart !EOC !----------------------------------------------------------------------------- ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !ROUTINE: doReadCASAfromRestart ! ! !DESCRIPTION: Subroutine doReadCASAfromRestart reads CASA values at ! equilibrium to be used when an equilibrium run for GTMM is continued. !\\ !\\ ! !INTERFACE: ! SUBROUTINE doReadCASAfromRestart ! ! !USES: ! USE defineConstants USE defineArrays ! ! !REVISION HISTORY: ! 16 Dec 2009 - C. Carouge - Initial version !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES ! CHARACTER(len=250) :: FILENAME ! Open binary file to read data FILENAME = OUTPUTPATH // 'restart' OPEN(UNIT=20, file=FILENAME, STATUS="OLD", FORM="UNFORMATTED") ! Read data to FILENAME READ(20) LAI READ(20) herb_seasonality READ(20) grass_herbivory READ(20) trees_herbivory ! READ(20) LTCON ! READ(20) LTVARSUM READ(20) rootlitscalar READ(20) litterscalar READ(20) hlitterscalar ! READ(20) AVELAI READ(20) NPP READ(20) abiotic READ(20) lais ! READ(20) topt READ(20) ccWood READ(20) ccLeaf READ(20) ccFineLitter READ(20) ccCwd ! READ(20) mortality_tree WRITE(20) PET WRITE(20) CCratio_previous ! Only used if restart from the carbon equilibrium year. Else use the data ! saved in HgPools WRITE(20) leafpool WRITE(20) surfstrpool WRITE(20) surfmetpool WRITE(20) surfmicpool WRITE(20) soilstrpool WRITE(20) soilmetpool WRITE(20) soilmicpool WRITE(20) slowpool WRITE(20) armoredpool WRITE(20) hleafpool WRITE(20) hsurfstrpool WRITE(20) hsurfmetpool WRITE(20) hsurfmicpool WRITE(20) hsoilstrpool WRITE(20) hsoilmetpool WRITE(20) hsoilmicpool WRITE(20) hslowpool WRITE(20) harmoredpool WRITE(20) abovewoodpool WRITE(20) belowwoodpool WRITE(20) frootpool ! Close file CLOSE(20) END SUBROUTINE doReadCASAfromRestart !EOC END MODULE DORESTART_MOD ================================================ FILE: GTMM/getAgeClassBF.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: getAgeClassBF ! ! !DESCRIPTION: Get the burned fraction for the running age class ! The idea is that the oldest part of the gridcell burns first, because ! these parts contain the highest fuel loads !\\ !\\ ! !INTERFACE: ! SUBROUTINE getAgeClassBF ! ! !USES: ! USE defineConstants USE loadCASAinput USE defineArrays USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE ! ! !REVISION HISTORY: ! 09 Jul 2010 - C. Carouge - Parallelization ! 01 Dec 2014 - M. Yannetti - Added PRECISION_MOD !EOP !------------------------------------------------------------------------------ !BOC ! IF (yr .eq. 1 .and. mo .eq. 1 .and. age_class .eq. 1) THEN BFallClasses=BF1 ENDIF IF (age_class .eq. 1) THEN BFleftCurrentMonth(:,1)=BFallClasses(:,mo) !for the first (oldest age class) assign the total !burned area ENDIF !$OMP PARALLEL WORKSHARE & !$OMP DEFAULT(SHARED) BFtemp(:,1)=BFleftCurrentMonth(:,1) !assign current BF WHERE (BFtemp(:,1) > 1e+0_fp/number_age_classes) !check where burned fraction exceeds class size BFtemp(:,1)=1e+0_fp/number_age_classes END WHERE BFleftCurrentMonth(:,1)=BFleftCurrentMonth(:,1)-BFtemp(:,1) !set BF for next age class BFtemp(:,1)=BFtemp(:,1)*number_age_classes !correct for class size ageCurrentClass(:,1)=ageClassIndex(:,age_class) ageCurrentClass(:,1)=ageCurrentClass(:,1)+1 !add age [months] WHERE (BFtemp(:,1) > 0e+0_fp) !check in which gridcells !there was fire ageCurrentClass(:,1)=1.00e+0_fp-BFtemp(:,1) !reset age to 0 (completely burned) or a value !between 0 and 1 (partly burned) END WHERE ageClassIndex(:,age_class)=ageCurrentClass(:,1) BF1(:,mo)=BFtemp(:,1) !$OMP END PARALLEL WORKSHARE END SUBROUTINE getAgeClassBF !EOC ================================================ FILE: GTMM/getFireParams.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: getFireParams ! ! !DESCRIPTION: Calculates combustion completeness (CC, aka combustion ! factor or combustion efficiency. !\\ !\\ ! !INTERFACE: ! SUBROUTINE getFireParams ! ! !USES: ! USE defineConstants USE loadCASAinput USE defineArrays USE PRECISION_MOD ! For GEOS-Chem Precision (fp) implicit none ! ! !REMARKS: ! Fuel is split into live wood, live leaves (inc grass), fine ! litter and coarse litter (cwd) ! . ! min CC max CC fuel type ! CC= [0.2 0.3 live wood ! 0.8 1.0 live leaves ! 0.9 1.0 fine litter ! 0.2, 0.4] coarse litter ! . ! Scaling is as follows: for live material the CC is scaled ! linearly with NPP moisture scalar, dead material is scaled ! using the PPT over PET ratio, with a running mean to ! include some memory, which is greater for CWD ! ! !REVISION HISTORY: ! 09 Jul 2010 - C. Carouge - Parallelization ! 01 Dec 2014 - M. Yannetti - Added PRECISION_MOD !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! integer :: i character(len=f_len_output+4) :: filename3 filename3(1:f_len_output)=outputpath !$OMP PARALLEL & !$OMP DEFAULT(SHARED) !$OMP DO PRIVATE(i) DO i=1, n_veg !biomassCC fid(i,1)=0.0e+0_fp fid(i,1)=2.000e+0_fp*NPPmoist(i,mo)-1.00e+0_fp !NPP moisture scalar runs from !0.5 to 1, corrected to 0-1 fid(i,1)=1.000e+0_fp-fid(i,1) ccWood(i,mo)=CC(1,1)+(CC(1,2)-CC(1,1))*fid(i,1) ccLeaf(i,mo)=CC(2,1)+(CC(2,2)-CC(2,1))*fid(i,1) END DO !$OMP END DO !$OMP WORKSHARE !litter CC PET_current=PET WHERE (PET_current(:,1) == 0e+0_fp) PET_current(:,1)=0.1000e+0_fp !prevents dividing by 0 END WHERE CCratio_current(:,1)=ppt1(:,mo)/PET_current(:,1) WHERE (CCratio_current(:,1) > 1e+0_fp) CCratio_current(:,1)=1.000e+0_fp END WHERE CCratio_current(:,1)=1.000e+0_fp-CCratio_current(:,1) ccFineLitter(:,mo)=0.100e+0_fp*(CC(3,1)+(CC(3,2)-CC(3,1))*CCratio_previous(:,1)) ccFineLitter(:,mo)=ccFineLitter(:,mo)+0.900e+0_fp*(CC(3,1)+(CC(3,2)-CC(3,1))*CCratio_current(:,1)) ccCWD(:,mo)=0.400e+0_fp*(CC(4,1)+(CC(4,2)-CC(4,1))*CCratio_previous(:,1)) ccCWD(:,mo)=ccCWD(:,mo)+0.600e+0_fp*(CC(4,1)+(CC(4,2)-CC(4,1))*CCratio_current(:,1)) CCratio_previous=CCratio_current ! set current PET for next !months run veg_burn(:,1)=0.0e+0_fp !Fire induced mortality rates; in general the mortality rate !in tropical forests is high, esp at the second or third !fire (50-80%) while tree mortality in savannas is very !low as a thin bark and low flames protects trees !(set to 1% in our scheme below) !live wood and tree leaves mortality_tree(:,1)=0.01e+0_fp+(0.59e+0_fp/(1.00e+0_fp+ & exp((60.00e+0_fp-100.00e+0_fp*perc_tree1(:,1))*0.25e+0_fp))) !belowbround herb roots usually survive and dieo only when !the fire is extremely hot mortality_hfroot(:,1)=0.100e+0_fp !$OMP END WORKSHARE !$OMP END PARALLEL IF (yr .eq. NPPequilibriumYear .and. mo .eq. 12) THEN filename3(f_len_output+1:f_len_output+4)='fccw' OPEN(UNIT=4, FILE=filename3, STATUS="NEW", & FORM="FORMATTED") WRITE(4, FMT="(12F9.2)") ccWood CLOSE(4) filename3(f_len_output+1:f_len_output+4)='fccl' OPEN(UNIT=4, FILE=filename3, STATUS="NEW", & FORM="FORMATTED") WRITE(4, FMT="(12F9.2)") ccLeaf CLOSE(4) filename3(f_len_output+1:f_len_output+4)='fcfl' OPEN(UNIT=4, FILE=filename3, STATUS="NEW", & FORM="FORMATTED") WRITE(4, FMT="(12F9.2)") ccFineLitter CLOSE(4) filename3(f_len_output+1:f_len_output+4)='fcwd' OPEN(UNIT=4, FILE=filename3, STATUS="NEW", & FORM="FORMATTED") WRITE(4, FMT="(12F9.2)") ccCwd CLOSE(4) filename3(f_len_output+1:f_len_output+4)='fmor' OPEN(UNIT=4, FILE=filename3, STATUS="NEW", & FORM="FORMATTED") WRITE(4, *) mortality_tree CLOSE(4) ENDIF END SUBROUTINE getFireParams !EOC ================================================ FILE: GTMM/getFuelWood.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: getFuelWood ! ! !DESCRIPTION: This subroutine ... !\\ !\\ ! !INTERFACE: ! SUBROUTINE getFuelWood ! ! !USES: ! USE defineConstants USE loadCASAinput USE defineArrays USE PRECISION_MOD ! For GEOS-Chem Precision (fp) implicit none ! ! !REVISION HISTORY: ! 09 July 2010 - C. Carouge - Parallelization !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES ! REAL(fp) :: perc_treea(n_veg, 1) !$OMP PARALLEL WORKSHARE & !$OMP DEFAULT(SHARED) perc_treea(:,1)=perc_tree1(:,1) WHERE (perc_tree1(:,1) == 0e+0_fp) perc_treea(:,1)=1.000e+0_fp END WHERE fuelwooddemand(:,1)=(1e+0_fp/perc_treea(:,1)) fuelwooddemand(:,1)=fuelwooddemand(:,1)*popdens1(:,1)*& fuelneed1(:,1)/12.000e+0_fp WHERE (perc_tree1(:,1) == 0e+0_fp) fuelwooddemand(:,1)=0e+0_fp END WHERE !$OMP END PARALLEL WORKSHARE END SUBROUTINE getFuelWood !EOC ================================================ FILE: GTMM/getSoilMoistParams.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: getSoilMoistParams ! ! !DESCRIPTION: This subroutine ... !\\ !\\ ! !INTERFACE: ! SUBROUTINE getSoilMoistParams ! ! !USES: ! USE defineConstants USE loadCASAinput USE defineArrays USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE ! ! !REVISION HISTORY: ! 09 Jul 2010 - C. Carouge - Parallelization ! 01 Dec 2014 - M. Yannetti - Added PRECISION_MOD !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES ! REAL(fp) :: wp(n_veg, 1) REAL(fp) :: fc(n_veg, 1) REAL(fp) :: ssc(n_veg, 1) REAL(fp) :: alpha(n_veg, 1) REAL(fp) :: beta(n_veg, 1) REAL(fp) :: text(n_veg, 1) INTEGER :: i, j text=soiltext1 !$OMP PARALLEL DO & !$OMP DEFAULT(SHARED) & !$OMP PRIVATE(i) DO i=1,n_veg IF (soiltext1(i,1) .eq. 7) THEN text(i,1)=6 ENDIF !for grassland biomes (7, 10, 12) IF (veg1(i,1) == 7 .or. veg1(i,1) == 10 .or. veg1(i,1) == 12) THEN IF (text(i,1) == 1) THEN wp(i,1)=129.000e+0_fp fc(i,1)=232.000e+0_fp ssc(i,1)=455.000e+0_fp alpha(i,1)=0.0020e+0_fp beta(i,1)=-6.540e+0_fp ELSE IF (text(i,1) == 2) THEN wp(i,1)=81.000e+0_fp fc(i,1)=202.000e+0_fp ssc(i,1)=394.000e+0_fp alpha(i,1)=0.002e+0_fp beta(i,1)=-5.480e+0_fp ELSE IF (text(i,1) == 3) THEN wp(i,1)=129.000e+0_fp fc(i,1)=232.000e+0_fp ssc(i,1)=455.000e+0_fp alpha(i,1)=0.002e+0_fp beta(i,1)=-6.540e+0_fp ELSE IF (text(i,1) == 4) THEN wp(i,1)=220.000e+0_fp fc(i,1)=393.000e+0_fp ssc(i,1)=642.000e+0_fp alpha(i,1)=0.013e+0_fp beta(i,1)=-6.570e+0_fp ELSE IF (text(i,1) == 5) THEN wp(i,1)=270.000e+0_fp fc(i,1)=405.000e+0_fp ssc(i,1)=527.000e+0_fp alpha(i,1)=0.006e+0_fp beta(i,1)=-9.470e+0_fp ELSE IF (text(i,1) == 6) THEN wp(i,1)=275.000e+0_fp fc(i,1)=363.000e+0_fp ssc(i,1)=387.000e+0_fp alpha(i,1)=0.004e+0_fp beta(i,1)=-13.800e+0_fp END IF ELSE !tree biomes IF (text(i,1) == 1) THEN wp(i,1)=258.000e+0_fp fc(i,1)=463.000e+0_fp ssc(i,1)=909.000e+0_fp alpha(i,1)=0.002e+0_fp beta(i,1)=-6.540e+0_fp ELSE IF (text(i,1) == 2) THEN wp(i,1)=203.000e+0_fp fc(i,1)=506.000e+0_fp ssc(i,1)=984.000e+0_fp alpha(i,1)=0.002e+0_fp beta(i,1)=-5.480e+0_fp ELSE IF (text(i,1) == 3) THEN wp(i,1)=258.000e+0_fp fc(i,1)=463.000e+0_fp ssc(i,1)=909.000e+0_fp alpha(i,1)=0.002e+0_fp beta(i,1)=-6.540e+0_fp ELSE IF (text(i,1) == 4) THEN wp(i,1)=338.000e+0_fp fc(i,1)=604.000e+0_fp ssc(i,1)=987.000e+0_fp alpha(i,1)=0.013e+0_fp beta(i,1)=-6.570e+0_fp ELSE IF (text(i,1) == 5) THEN wp(i,1)=433.000e+0_fp fc(i,1)=647.000e+0_fp ssc(i,1)=843.000e+0_fp alpha(i,1)=0.006e+0_fp beta(i,1)=-9.470e+0_fp ELSE IF (text(i,1) == 6) THEN wp(i,1)=472.000e+0_fp fc(i,1)=622.000e+0_fp ssc(i,1)=663.000e+0_fp alpha(i,1)=0.004e+0_fp beta(i,1)=-13.800e+0_fp END IF END IF SMparams(i,1)=wp(i,1) SMparams(i,2)=fc(i,1) SMparams(i,3)=ssc(i,1) SMparams(i,4)=alpha(i,1) SMparams(i,5)=beta(i,1) last_soilm(i,1)=wp(i,1) !begin soilmoisture set at wilting point END DO !$OMP END PARALLEL DO END SUBROUTINE getSoilMoistParams !EOC ================================================ FILE: GTMM/getSoilParams.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: getSoilParams ! ! !DESCRIPTION: This subroutine ... !\\ !\\ ! !INTERFACE: ! SUBROUTINE getSoilParams ! ! !USES: ! USE defineConstants USE loadCASAinput USE defineArrays USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE ! ! !REVISION HISTORY: ! 09 Jul 2010 - C. Carouge - Parallelization ! 01 Dec 2014 - M. Yannetti - Added PRECISION_MOD !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: i, j character(len=f_len_output+5) :: filename2 character(len=f_len_output+4) :: filename3 filename3(1:f_len_output)=outputpath !soil texture parameters, litter characteristic parameters ! turnover times !$OMP PARALLEL & !$OMP DEFAULT(SHARED) !$OMP DO PRIVATE(i) DO i=1,n_veg IF (soiltext1(i,1) .eq. 1) THEN clay(i,1)=0.200e+0_fp silt(i,1)=0.200e+0_fp sand(i,1)=0.600e+0_fp ELSE IF (soiltext1(i,1) .eq. 2) THEN clay(i,1)=0.090e+0_fp silt(i,1)=0.080e+0_fp sand(i,1)=0.830e+0_fp ELSE IF (soiltext1(i,1) .eq. 3) THEN clay(i,1)=0.200e+0_fp silt(i,1)=0.200e+0_fp sand(i,1)=0.600e+0_fp ELSE IF (soiltext1(i,1) .eq. 4) THEN clay(i,1)=0.300e+0_fp silt(i,1)=0.330e+0_fp sand(i,1)=0.370e+0_fp ELSE IF (soiltext1(i,1) .eq. 5) THEN clay(i,1)=0.480e+0_fp silt(i,1)=0.250e+0_fp sand(i,1)=0.270e+0_fp ELSE IF (soiltext1(i,1) .eq. 6) THEN clay(i,1)=0.670e+0_fp silt(i,1)=0.170e+0_fp sand(i,1)=0.170e+0_fp ELSE IF (soiltext1(i,1) .eq. 7) THEN clay(i,1)=0.200e+0_fp silt(i,1)=0.200e+0_fp sand(i,1)=0.600e+0_fp END IF IF (veg1(i,1) .eq. 1) THEN litcn(i,1) =40.000e+0_fp lignin(i,1)=0.200e+0_fp lrage(i,1)=1.000e+0_fp woodage(i,1)=75.000e+0_fp ELSE IF (veg1(i,1) .eq. 2) THEN litcn(i,1) =50.000e+0_fp lignin(i,1)=0.200e+0_fp lrage(i,1)=1.000e+0_fp woodage(i,1)=75.00e+0_fp ELSE IF (veg1(i,1) .eq. 3) THEN litcn(i,1) =65.000e+0_fp lignin(i,1)=0.220e+0_fp lrage(i,1)=1.000e+0_fp woodage(i,1)=75.000e+0_fp ELSE IF (veg1(i,1) .eq. 4) THEN litcn(i,1) =80.000e+0_fp lignin(i,1)=0.250e+0_fp lrage(i,1)=3.800e+0_fp woodage(i,1)=75.000e+0_fp ELSE IF (veg1(i,1) .eq. 5) THEN litcn(i,1) =50.000e+0_fp lignin(i,1)=0.200e+0_fp lrage(i,1)=1.000e+0_fp woodage(i,1)=75.000e+0_fp ELSE IF (veg1(i,1) .eq. 6) THEN litcn(i,1) =50.000e+0_fp lignin(i,1)=0.150e+0_fp lrage(i,1)=1.000e+0_fp woodage(i,1)=50.000e+0_fp ELSE IF (veg1(i,1) .eq. 7) THEN litcn(i,1) =50.000e+0_fp lignin(i,1)=0.100e+0_fp lrage(i,1)=1.000e+0_fp woodage(i,1)=50.000e+0_fp ELSE IF (veg1(i,1) .eq. 8) THEN! these are made up litcn(i,1) =50.000e+0_fp ! there is no def in lignin(i,1)=0.200e+0_fp ! guido's orig. code lrage(i,1)=1.000e+0_fp ! for veg=8 woodage(i,1)=75.000e+0_fp ELSE IF (veg1(i,1) .eq. 9) THEN litcn(i,1) =65.000e+0_fp lignin(i,1)=0.200e+0_fp lrage(i,1)=1.000e+0_fp woodage(i,1)=50.000e+0_fp ELSE IF (veg1(i,1) .eq. 10) THEN litcn(i,1) =50.000e+0_fp lignin(i,1)=0.150e+0_fp lrage(i,1)=1.000e+0_fp woodage(i,1)=50.000e+0_fp ELSE IF (veg1(i,1) .eq. 11) THEN litcn(i,1) =50.000e+0_fp lignin(i,1)=0.150e+0_fp lrage(i,1)=1.000e+0_fp woodage(i,1)=50.000e+0_fp ELSE IF (veg1(i,1) .eq. 12) THEN litcn(i,1) =40.000e+0_fp lignin(i,1)=0.100e+0_fp lrage(i,1)=1.000e+0_fp woodage(i,1)=50.000e+0_fp END IF END DO !$OMP END DO ! some of these numbers have CHANGED from the ! original CASA according to an extensive ! study done for BIOME-BGC (White, Thornton ! Running and Nemani 2000 Earth Interactions ! 4(3) 1-85. See Guido's original matlab code ! for the original numbers !$OMP WORKSHARE ! calculate lignin to nitrogen ratio LtN(:,1)=(litcn(:,1) * lignin(:,1))/0.45000e+0_fp ! calculate rate constants for each pool annK_leaf(:,1)=1.000e+0_fp/lrage(:,1) annK_wood(:,1)=1.000e+0_fp/woodage(:,1) annK_froot(:,1)=1.000e+0_fp/lrage(:,1) !Scale rate constants to monthly values K_wood(:,1)= 1.000e+0_fp-((exp(-annK_wood(:,1)))**(.08333333e+0_fp)) K_froot(:,1)= 1.000e+0_fp-((exp(-annK_froot(:,1)))**(.08333333e+0_fp)) K_leaf(:,1)= 1.000e+0_fp-((exp(-annK_leaf(:,1)))**(.08333333e+0_fp)) K_hleaf= 1.000e+0_fp-((exp(-annK_hleaf))**(.08333333e+0_fp)) K_hfroot= 1.000e+0_fp-((exp(-annK_hfroot))**(.08333333e+0_fp)) K_surfmet= 1.000e+0_fp-((exp(-annK_surfmet))**(.08333333e+0_fp)) K_surfstr= 1.000e+0_fp-((exp(-annK_surfstr))**(.08333333e+0_fp)) K_soilmet= 1.000e+0_fp-((exp(-annK_soilmet))**(.08333333e+0_fp)) K_soilstr= 1.000e+0_fp-((exp(-annK_soilstr))**(.08333333e+0_fp)) K_cwd= 1.000e+0_fp-((exp(-annK_cwd))**(.08333333e+0_fp)) K_surfmic= 1.000e+0_fp-((exp(-annK_surfmic))**(.08333333e+0_fp)) K_soilmic= 1.000e+0_fp-((exp(-annK_soilmic))**(.08333333e+0_fp)) K_slow= 1.000e+0_fp-((exp(-annK_slow))**(.08333333e+0_fp)) K_armored= 1.000e+0_fp-((exp(-annK_armored))**(.08333333e+0_fp)) !microbial efficiency for arrays (others defined in defineArrays) eff_soilmic2slow(:,1)=0.85e+0_fp-(0.68e+0_fp*(silt(:,1)+clay(:,1))) !determine what fraction of litter will be metabolic metabfract(:,1)=0.85e+0_fp-(0.018e+0_fp*LtN(:,1)) WHERE (metabfract(:,1) < 0e+0_fp) metabfract(:,1) = 0.00e+0_fp END WHERE !get the fraction of carbon in the structural litter pools that !will be from lignin structuralLignin(:,1)=((lignin(:,1)*0.650e+0_fp)/0.450e+0_fp) structuralLignin(:,1)=structuralLignin(:,1)/(1e+0_fp-metabfract(:,1)) lignineffect(:,1)=exp(-3.00e+0_fp*structuralLignin(:,1)) !calculate veg. dependent factors used in belowground model soilmicDecayFactor(:,1)=(1e+0_fp-(0.750e+0_fp*(silt(:,1)+clay(:,1)))) slowDecayFactor(:,1)=1.00e+0_fp armoredDecayFactor(:,1)=1.00e+0_fp !decay is faster in agricultural gridcells WHERE (veg1(:,1) == 12) soilmicDecayFactor(:,1)=soilmicDecayFactor(:,1)*1.25e+0_fp slowDecayFactor(:,1)=slowDecayFactor(:,1)*1.5e+0_fp armoredDecayFactor(:,1)=armoredDecayFactor(:,1)*1.5e+0_fp END WHERE fid(:,1)=0.003e+0_fp-(0.009e+0_fp*clay(:,1)) decayClayFactor(:,1)=fid(:,1) WHERE (fid(:,1) < 0e+0_fp) decayClayFactor(:,1)=0.000e+0_fp END WHERE WHERE (soilmicDecayFactor(:,1) > 1.0e+0_fp) soilmicDecayFactor(:,1)=1.0e+0_fp END WHERE !$OMP END WORKSHARE !$OMP END PARALLEL END SUBROUTINE getSoilParams !EOC ================================================ FILE: GTMM/input_gtmm_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: input_gtmm_mod ! ! !DESCRIPTION: Module INPUT\_GTMM\_MOD contains subroutines to read ! input file for GTMM. !\\ !\\ ! !INTERFACE: ! MODULE INPUT_GTMM_MOD ! ! !USES: ! USE defineConstants USE defineArrays IMPLICIT NONE PRIVATE ! ! !PRIVATE DATA MEMBERS: ! INTEGER, PARAMETER :: FIRSTCOL = 38 INTEGER, PARAMETER :: HEADER = 8 CHARACTER(LEN=255) :: FILENAME = 'input.gtmm' ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: READ_GTMM_INPUT_FILE ! ! !REVISION HISTORY: ! 17 Dec 2009 - C. Carouge - Initial version !EOP !----------------------------------------------------------------------------- !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: read_gtmm_input_file ! ! !DESCRIPTION: Subroutine READ\_GTMM\_INPUT\_FILE reads the input.gtmm file. !\\ !\\ ! !INTERFACE: ! SUBROUTINE READ_GTMM_INPUT_FILE ! ! !REVISION HISTORY: ! 17 Dec 2009 - C. Carouge -- Initial version !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES ! LOGICAL :: EOF INTEGER :: IOS, I, IU_GTMM CHARACTER(LEN=255) :: LINE IU_GTMM=20 ! Open file OPEN( IU_GTMM, FILE=TRIM( FILENAME ), STATUS='OLD', IOSTAT=IOS ) IF ( IOS /= 0 ) THEN print*, 'Problem opening the input file for GTMM' stop ENDIF !Read header DO i=1,HEADER READ(IU_GTMM, '(a)') LINE ENDDO !Read data !Read a line from the file, exit if EOF READ(IU_GTMM,'(a)') LINE !Keep only the data part of the line LINE=LINE(FIRSTCOL:) READ(LINE,*) NPPequilibriumYear !Read a line from the file, exit if EOF READ(IU_GTMM,'(a)') LINE !Keep only the data part of the line LINE=LINE(FIRSTCOL:) READ(LINE,*) HgPoolsequilibriumYear !Initialize indYear too. indYear = HgPoolsequilibriumYear !Read a line from the file, exit if EOF READ(IU_GTMM,'(a)') LINE !Keep only the data part of the line LINE=LINE(FIRSTCOL:) READ(LINE,*) preindYear !Read a line from the file, exit if EOF READ(IU_GTMM,'(a)') LINE !Keep only the data part of the line LINE=LINE(FIRSTCOL:) READ(LINE,*) LRESTART !Read a line from the file, exit if EOF READ(IU_GTMM,'(a)') LINE !Keep only the data part of the line LINE=LINE(FIRSTCOL:) READ(LINE,*) restartfile CLOSE(IU_GTMM) END SUBROUTINE READ_GTMM_INPUT_FILE !EOC END MODULE INPUT_GTMM_MOD ================================================ FILE: GTMM/loadCASAinput.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: loadCASAinput ! ! !DESCRIPTION: Loads input files. !\\ !\\ ! !INTERFACE: ! MODULE loadCASAinput ! ! !USES: ! USE defineConstants USE CasaRegridModule USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE ! ! !PUBLIC DATA MEMBERS: ! !CONTINUOUS FIELD MAPS REAL(fp), ALLOCATABLE :: perc_tree(:,:) REAL(fp), ALLOCATABLE :: perc_herb(:,:) !RESIZED CONTINUOUS FIELD MAPS REAL(fp), ALLOCATABLE :: perc_tree1(:,:) REAL(fp), ALLOCATABLE :: perc_herb1(:,:) REAL(fp), ALLOCATABLE :: frac_tree(:,:) REAL(fp), ALLOCATABLE :: frac_herb(:,:) REAL(fp), ALLOCATABLE :: frac_veg(:,:) !CLIMATE FILES REAL(fp), ALLOCATABLE :: airt(:,:,:) !monthly air temperature REAL(fp), ALLOCATABLE :: ppt(:,:,:) !monthly precipitation REAL(fp), ALLOCATABLE :: solrad(:,:,:) !monthly solar radiation, !Taken from Bishop and Rossow !average 83-99 from Jim Collatz REAL(fp), ALLOCATABLE :: NDVI(:,:,:) !monthly fraction PAR REAL(fp), ALLOCATABLE :: BF(:,:,:) !fraction gridcell tha burns REAL(fp), ALLOCATABLE :: ppt_mo(:,:) !sum of all precip in each mo !RESIZED CLIMATE FILES REAL(fp), ALLOCATABLE :: airt1(:,:) REAL(fp), ALLOCATABLE :: ppt1(:,:) REAL(fp), ALLOCATABLE :: solrad1(:,:) REAL(fp), ALLOCATABLE :: NDVI1(:,:) REAL(fp), ALLOCATABLE :: BF1(:,:) REAL(fp), ALLOCATABLE :: maxt(:,:) REAL(fp), ALLOCATABLE :: mint(:,:) !OTHER FILES REAL(fp), ALLOCATABLE :: soiltext(:,:) ! soil type REAL(fp), ALLOCATABLE :: veg(:,:) ! vegetation map REAL(fp), ALLOCATABLE :: fuelneed(:,:) ! fuelwood needed ! per capita REAL(fp), ALLOCATABLE :: popdens(:,:) ! population density (/m2) REAL(fp), ALLOCATABLE :: gridAreaa(:,:) REAL(fp), ALLOCATABLE :: gridAreab(:,:) !RESIZED OTHER FILES REAL(fp), ALLOCATABLE :: soiltext1(:,:) REAL(fp), ALLOCATABLE :: veg1(:,:) REAL(fp), ALLOCATABLE :: fuelneed1(:,:) REAL(fp), ALLOCATABLE :: popdens1(:,:) REAL(fp), ALLOCATABLE :: mask2(:,:) ! ! !REMARKS: For global studies, these files should be given ! as 180 by 360 matrix for 1x1 degree, 360 by 720 for half by half ! etc. This routine will construct a 'mask' with vegetated gridcells ! and will reshape them into an X by 1 matrix, where X is the total ! number of vegetated grid cells. ! The files which contain monthly varying parameters (i.e. precip) ! should be given as (for 1x1) 180x360x12, and will be reshaped to ! an X by 12 matrix, one column for each month ! ! !REVISION HISTORY: ! 9 July 2010 - C. Carouge - Modified for coupled simulations with GEOS-Chem ! or to restart offline simulations. ! 01 Dec 2014 - M. Yannetti - Added PRECISION_MOD !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: load_data ! ! !DESCRIPTION: Reads input data. !\\ !\\ ! !INTERFACE: ! SUBROUTINE load_data(LCPLE) ! ! !USES: ! USE defineConstants ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: LCPLE ! ! !REVISION HISTORY: ! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! integer :: i, j, k, l, m, n, b, c, ios character(len=f_len+8) :: filename real(fp), dimension(72,46) :: geos real(fp), dimension(columns, rows) :: geos1x1 character(3), dimension(12) :: months ! Months names !<<<<<<<< ALLOCATE ARRAYS >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> IF (.NOT. ALLOCATED(perc_tree) ) & ALLOCATE (perc_tree(columns, rows), stat=ios) IF (.NOT. ALLOCATED(perc_herb) ) & ALLOCATE (perc_herb(columns, rows), stat=ios) IF (.NOT. ALLOCATED(airt) ) & ALLOCATE (airt(columns, rows,12), stat=ios) IF (.NOT. ALLOCATED(ppt) ) & ALLOCATE (ppt(columns, rows,12), stat=ios) IF (.NOT. ALLOCATED(ppt_mo) ) & ALLOCATE (ppt_mo(1,12)) IF (.NOT. ALLOCATED(solrad) ) & ALLOCATE (solrad(columns, rows,12), stat=ios) IF (.NOT. ALLOCATED(NDVI) ) & ALLOCATE (NDVI(columns, rows,12), stat=ios) IF (.NOT. ALLOCATED(BF) ) & ALLOCATE (BF(columns, rows,12), stat=ios) IF (.NOT. ALLOCATED(soiltext) ) & ALLOCATE (soiltext(columns, rows), stat=ios) IF (.NOT. ALLOCATED(veg) ) & ALLOCATE (veg(columns, rows), stat=ios) IF (.NOT. ALLOCATED(fuelneed) ) & ALLOCATE (fuelneed(columns, rows), stat=ios) IF (.NOT. ALLOCATED(popdens) ) & ALLOCATE (popdens(columns, rows), stat=ios) !<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> print*, 'Reading in data arrays' filename(1:f_len)=filepath filename(f_len+1:f_len+8)='mon_.csv' open(unit=2, file=filename, form='FORMATTED', iostat=ios) read(2,*) months close(2) filename(1:f_len)=filepath filename(f_len+1:f_len+8)='perc_tre' open(unit=2, file=filename, form='FORMATTED', iostat=ios) IF (IOS .ne. 0) THEN print '(a)', 'There was an error reading the percent treecover file...& &aborting run' stop ELSE read(2, *) perc_tree close(2) END IF filename(f_len+1:f_len+8)='perc_her' open(unit=2, file=filename, form='FORMATTED', iostat=ios) IF (IOS /= 0) THEN print '(a)', 'There was an error reading the percent herbaceous file...& &aborting run' stop ELSE read(2, *) perc_herb close(2) END IF CALL CasaRegridInit IF ( .NOT. (LCPLE) ) THEN DO i=1,12 filename(f_len+1:f_len+5)='airtg' filename(f_len+6:f_len+8)=months(i) open(unit=2, file=filename, form='FORMATTED', iostat=ios) IF (IOS /= 0) THEN print '(a)', 'There was an error reading the air temp file... & &aborting run' stop ENDIF read(2,*) geos close(2) CALL regrid4x5to1x1(1, geos, geos1x1) airt(:,:,i)=geos1x1 geos(:,:)=0.0e+0_fp geos1x1(:,:)=0.0e+0_fp airt(:,:,i)=airt(:,:,i)-273.15 filename(f_len+1:f_len+5)='pptg_' filename(f_len+6:f_len+8)=months(i) open(unit=2, file=filename, form='FORMATTED', iostat=ios) IF (IOS /= 0) THEN print '(a)', 'There was an error reading the precipitation file...& &aborting run' stop ENDIF read(2,*) geos close(2) CALL regrid4x5to1x1(1, geos, geos1x1) ppt(:,:,i)=geos1x1 geos(:,:)=0.0e+0_fp geos1x1(:,:)=0.0e+0_fp ppt_mo(1,i)=sum(ppt(:,:,i)) filename(f_len+1:f_len+5)='radg_' filename(f_len+6:f_len+8)=months(i) open(unit=2, file=filename, form='FORMATTED', iostat=ios) IF (IOS /= 0) THEN print '(a)', 'There was an error reading the solar radiation file& &...aborting run' stop ENDIF read(2,*) geos close(2) CALL regrid4x5to1x1(1, geos, geos1x1) solrad(:,:,i)=geos1x1 geos(:,:)=0.0e+0_fp geos1x1(:,:)=0.0e+0_fp END DO ENDIF DO i=1,12 filename(f_len+1:f_len+5)='NDVI_' filename(f_len+6:f_len+8)=months(i) open(unit=2, file=filename, form='FORMATTED', iostat=ios) IF (IOS /= 0) THEN print '(a)', 'There was an error reading the NDVI file...& &aborting run' stop ELSE read(2,*) NDVI(:,:,i) close(2) END IF END DO DO i=1,12 filename(f_len+1:f_len+5)='burn_' filename(f_len+6:f_len+8)=months(i) open(unit=2, file=filename, form='FORMATTED', iostat=ios) IF (IOS /= 0) THEN print '(a)', 'There was an error reading the fraction burned file& &...aborting run' stop ELSE read(2,*) BF(:,:,i) close(2) END IF END DO filename(f_len+1:f_len+8)='soiltext' open(unit=2, file=filename, form='FORMATTED', iostat=ios) IF (IOS /= 0) THEN print '(a)', 'There was an error reading the soil texture file...& &aborting run' stop ELSE read(2,*) soiltext close(2) END IF filename(f_len+1:f_len+8)='vegetati' open(unit=2, file=filename, form='FORMATTED', iostat=ios) IF (IOS /= 0) THEN print '(a)', 'There was an error reading the vegetation file...& &aborting run' stop ELSE read(2,*) veg close(2) END IF filename(f_len+1:f_len+8)='fuelneed' open(unit=2, file=filename, form='FORMATTED', iostat=ios) IF (IOS /= 0) THEN print '(a)', 'There was an error reading the needed fuel file...& &aborting run' stop ELSE read(2,*) fuelneed close(2) END IF filename(f_len+1:f_len+8)='popdenst' open(unit=2, file=filename, form='FORMATTED', iostat=ios) IF (IOS /= 0) THEN print '(a)', 'There was an error reading the population density file...& &aborting run' stop ELSE read(2,*) popdens close(2) END IF print *, 'Finished reading in data...now resizing arrays' print *, '' END SUBROUTINE load_data !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: conv_to_1d ! ! !DESCRIPTION: Convert maps into one column with only vegetated grid cells !\\ !\\ ! !INTERFACE: ! SUBROUTINE CONV_TO_1D ! ! !USES: ! USE defineConstants ! ! !REVISION HISTORY: ! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! integer :: i character(len=f_len+8) :: filename real(fp), dimension(columns, rows) :: mask1, dummy real(fp) :: radius=6378140.000e+0_fp !m at equator real(fp) :: pi=3.14159265e+0_fp real(fp) :: g, a, apixel real(fp), dimension(columns, rows) :: gridAreac real(fp) :: testa(180) IF (.NOT. ALLOCATED(mask2) ) ALLOCATE(mask2(columns, rows)) mask1=(perc_tree+perc_herb) mask2=(mask1*veg) !<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> IF (.NOT. ALLOCATED(veg1 ) ) ALLOCATE(veg1(n_veg,1)) IF (.NOT. ALLOCATED(soiltext1 ) ) ALLOCATE(soiltext1(n_veg,1)) IF (.NOT. ALLOCATED(fuelneed1 ) ) ALLOCATE(fuelneed1(n_veg,1)) IF (.NOT. ALLOCATED(popdens1 ) ) ALLOCATE(popdens1(n_veg,1)) IF (.NOT. ALLOCATED(perc_tree1) ) ALLOCATE(perc_tree1(n_veg,1)) IF (.NOT. ALLOCATED(perc_herb1) ) ALLOCATE(perc_herb1(n_veg,1)) IF (.NOT. ALLOCATED(frac_tree ) ) ALLOCATE(frac_tree(n_veg, 1)) IF (.NOT. ALLOCATED(frac_herb ) ) ALLOCATE(frac_herb(n_veg, 1)) IF (.NOT. ALLOCATED(frac_veg ) ) ALLOCATE(frac_veg(n_veg, 1)) IF (.NOT. ALLOCATED(airt1 ) ) ALLOCATE(airt1(n_veg, 12)) IF (.NOT. ALLOCATED(ppt1 ) ) ALLOCATE(ppt1(n_veg, 12)) IF (.NOT. ALLOCATED(solrad1 ) ) ALLOCATE(solrad1(n_veg, 12)) IF (.NOT. ALLOCATED(NDVI1 ) ) ALLOCATE(NDVI1(n_veg, 12)) IF (.NOT. ALLOCATED(BF1 ) ) ALLOCATE(BF1(n_veg, 12)) IF (.NOT. ALLOCATED(gridAreaa ) ) ALLOCATE(gridAreaa(columns, rows)) IF (.NOT. ALLOCATED(gridAreab ) ) ALLOCATE(gridAreab(n_veg,1)) IF (.NOT. ALLOCATED(maxt ) ) ALLOCATE(maxt(n_veg, 1)) IF (.NOT. ALLOCATED(mint ) ) ALLOCATE(mint(n_veg, 1)) veg1 =maskfile(veg, mask2) soiltext1 =maskfile(soiltext, mask2) fuelneed1 =maskfile(fuelneed, mask2) popdens1 =maskfile(popdens, mask2) perc_tree1 =maskfile(perc_tree, mask2) perc_herb1 =maskfile(perc_herb, mask2) airt1 =mask12file(airt, mask2) ppt1 =mask12file(ppt, mask2) solrad1 =mask12file(solrad, mask2) NDVI1 =mask12file(NDVI, mask2) BF1 =mask12file(BF, mask2) !BF1 =BF1*1.10 frac_veg(:,1)=perc_tree1(:,1)+perc_herb1(:,1) DO i=1, n_veg IF (frac_veg(i,1) .gt. 0e+0_fp) THEN frac_tree(i,1)=perc_tree1(i,1)/frac_veg(i,1) frac_herb(i,1)=perc_herb1(i,1)/frac_veg(i,1) ELSE frac_tree(i,1)=0.0e+0_fp frac_herb(i,1)=0.0e+0_fp ENDIF END DO DO i=1, n_veg maxt(i,1)=maxval(airt1(i,:)) mint(i,1)=minval(airt1(i,:)) ! DO j=1, 12 ! IF (BF1(i,j) .gt. 1.0) THEN ! BF1(i,j)=1.0 ! ENDIF ! END DO END DO !makes a grid area map depending on the resolution g=0.0e+0_fp a=90.0e+0_fp DO i=1,rows apixel=2.00e+0_fp*pi*radius apixel=apixel/columns apixel=apixel*apixel g=a*0.0174532925e+0_fp testa(i)=cos(g) gridAreac(:,i)=apixel*abs(testa(i)) a=a-1!(180.0/rows) END DO print *, sum(gridAreac) gridAreab =maskfile(gridAreac, mask2) gridAreaa =gridAreac filename(1:f_len)=filepath filename(f_len+1:f_len+8)='grida1x1' OPEN(UNIT=4, file=filename, FORM='FORMATTED') WRITE(4,FMT="(360E12.5)") gridAreaa CLOSE(4) filename(f_len+1:f_len+8)='gridarea' OPEN(UNIT=4, file=filename, FORM='FORMATTED') WRITE(4,FMT="(1E12.5)") gridAreab CLOSE(4) filename(f_len+1:f_len+8)='mask_veg' OPEN(UNIT=4, file=filename, FORM='FORMATTED') WRITE(4,FMT="(1E12.5)") mask2 CLOSE(4) END SUBROUTINE CONV_TO_1D !EOC !----------------------------------------------------------------------------- ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: maskfile ! ! !DESCRIPTION: This subroutine ... !\\ !\\ ! !INTERFACE: ! function maskfile(dummy,mask3) result (masked_file) ! ! !USES: ! USE defineConstants implicit none ! ! !INPUT PARAMETERS: ! real(fp), dimension(columns, rows) :: dummy, mask3 ! ! !RETURN VALUE: ! real(fp), dimension(n_veg,1) :: masked_file ! ! !REVISION HISTORY: ! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! integer :: a,b,c,g,i,j character(len=f_len_output+3) :: filename3 real(fp), dimension(3,n_veg) :: key filename3(1:f_len_output)=outputpath filename3(f_len_output+1:f_len_output+3)='key' g=1 DO i=1,columns DO j=1,rows IF (mask3(i,j) > 0) THEN masked_file(g,1)=dummy(i,j) key(1,g)=i key(2,g)=j key(3,g)=veg(i,j) g=g+1 END IF END DO END DO OPEN(UNIT=4, file=filename3, FORM='FORMATTED') WRITE(4,FMT="(3F9.2)") key CLOSE(4) end function maskfile !EOC !---------------------------------------------------------------------------- ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: mask12file ! ! !DESCRIPTION: This subroutine ... !\\ !\\ ! !INTERFACE: ! function mask12file(dummy12, mask3) result (masked_12file) ! ! !USES: ! USE defineConstants implicit none ! ! !INPUT PARAMETERS: ! real(fp), dimension(columns, rows, 12) :: dummy12 real(fp), dimension(columns, rows) :: mask3 ! ! !RETURN VALUE: ! real(fp), dimension(n_veg, 12) :: masked_12file ! ! !REVISION HISTORY: ! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! integer :: a, g, i, j, k g=1 DO i=1,columns DO j=1, rows IF (mask3(i,j) .gt. 0e+0_fp) THEN DO k=1,12 ! months masked_12file(g,k)=dummy12(i,j,k) END DO g=g+1 END IF END DO END DO end function mask12file !EOC END MODULE loadCASAinput ================================================ FILE: GTMM/loadHgDeposition.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: loadHgDeposition ! ! !DESCRIPTION: This code reads in output from geos chem 4x5 degree, ! converts it to 1x1 degree, then converts it to (n\_veg,1) for CASA !\\ !\\ ! !INTERFACE: ! SUBROUTINE loadHgDeposition(LCPLE, DD_Hg0, DD_HgII, WD_HgII) ! ! !USES: ! USE defineConstants USE loadCASAinput USE defineArrays USE CasaRegridModule USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: LCPLE REAL(fp), INTENT(IN), OPTIONAL :: DD_Hg0(72, 46), DD_HgII(72, 46) REAL(fp), INTENT(IN), OPTIONAL :: WD_HgII(72, 46) ! ! !REVISION HISTORY: ! 15 Dec 2009 - C. Carouge - Add arguments for coupling with GEOS-Chem ! - Change format of emission years file to ! facilitate restart. ! 01 Dec 2014 - M. Yannetti - Added PRECISION_MOD !EOP !----------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) :: Hg0dryGEOS(72,46) REAL(fp) :: HgIIdryGEOS(72,46) REAL(fp) :: HgIIwetGEOS(72,46) REAL(fp) :: area_pix(72,46) REAL(fp) :: Hg0dry1x1(360,180) REAL(fp) :: HgIIdry1x1(360,180) REAL(fp) :: HgIIwet1x1(360,180) REAL(fp) :: LAT_LONG(3,n_veg) INTEGER :: i, j, ios, v,w, k CHARACTER(LEN=f_len+14) :: filename1 CHARACTER(LEN=f_len+6) :: filename2 CHARACTER(3), DIMENSION(12) :: months INTEGER, DIMENSION(2):: em_years INTEGER :: year CHARACTER(4) :: read_year LOGICAL, SAVE :: FIRST=.TRUE. ! Indicate if we read the data for the first ! time. GTMM offline only. !===================================================================== ! loadHgDepostion begins here ! !===================================================================== filename2(1:f_len)=filepath filename2(f_len+1:f_len+6)='geosm2' OPEN(UNIT=3, FILE=filename2, FORM='FORMATTED',IOSTAT=ios) READ(3,*) area_pix CLOSE(3) filename2(f_len+1:f_len+6)='months' OPEN(UNIT=3, FILE=filename2, FORM='FORMATTED', IOSTAT=ios) READ(3,*) months CLOSE(3) filename2(f_len+1:f_len+6)='emyear' OPEN(UNIT=3, FILE=filename2, FORM='FORMATTED', IOSTAT=ios) READ(3,*) em_years CLOSE(3) IF ( LCPLE ) THEN IF (.NOT.( PRESENT( DD_Hg0 ) )) THEN stop 'Dry deposition of Hg0 is missing' ELSE ! Use deposition from GEOS-Chem Hg0dryGEOS = DD_Hg0 ENDIF IF (.NOT.( PRESENT( DD_HgII ) )) THEN stop 'Dry deposition of HgII is missing' ELSE ! Use deposition from GEOS-Chem HgIIdryGEOS = DD_HgII ENDIF IF (.NOT.( PRESENT( WD_HgII ) )) THEN stop 'Wet deposition of HgII is missing' ELSE ! Use deposition from GEOS-Chem HgIIwetGEOS = WD_HgII ENDIF 100 FORMAT('Warning: Read deposition from archive for: ',a) !convert units !wet dep is in units of kg/s !$OMP PARALLEL DO & !$OMP PRIVATE(i, j) DO i=1,46 DO j=1,72 HgIIwetGEOS(j,i)=HgIIwetGEOS(j,i)/area_pix(j,i) HgIIwetGEOS(j,i)=HgIIwetGEOS(j,i)*1000.0e+0_fp*2629743.83e+0_fp !now in units of g/m2/mo !dry dep is in unitls of molec/cm2/s HgIIdryGEOS(j,i)=(HgIIdryGEOS(j,i)*(10000.0e+0_fp*2629743.83e+0_fp* & 200.59e+0_fp))/(6.022e+23_fp) Hg0dryGEOS(j,i)=(Hg0dryGEOS(j,i)*(10000.0e+0_fp*2629743.83e+0_fp* & 200.59e+0_fp))/(6.022e+23_fp) !now in units of g/m2/mo END DO END DO !$OMP END PARALLEL DO !!!!First step - regrid geos chem 4x5 to 1x1 CALL CasaRegridInit CALL regrid4x5to1x1(1, Hg0dryGEOS, Hg0dry1x1) CALL regrid4x5to1x1(1, HgIIdryGEOS, HgIIdry1x1) CALL regrid4x5to1x1(1, HgIIwetGEOS, HgIIwet1x1) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!Now convert 1x1 to n_veg x1 for use by CASA Hg0dry(:,:)=0.0e+0_fp HgIIdry(:,:)=0.0e+0_fp HgIIwet(:,:)=0.0e+0_fp Hg0dry(:,:) = maskfile(Hg0dry1x1, mask2) HgIIdry(:,:) = maskfile(HgIIdry1x1, mask2) HgIIwet(:,:) = maskfile(HgIIwet1x1, mask2) ELSE ! Find the year for the emissions. (ccc, 12/15/09) IF ( yr <= preindYear ) THEN ! read_year=em_years(1) write(read_year,'(i4)') em_years(1) ELSE year=em_years(1)+yr-preindYear ! Number of years in ! industrialization period year=MIN(year,em_years(2)) write(read_year,'(i4)'), year IF ( mo == 1 ) FIRST = .TRUE. ENDIF IF ( FIRST ) THEN ! Read the full year at once. filename2(1:f_len)=filepath filename2(f_len+1:f_len+6)='latlon' OPEN(UNIT=3, FILE=filename2, FORM='FORMATTED', IOSTAT=ios) READ(3,FMT="(3F9.2)") LAT_LONG CLOSE(3) DO k=1,12 filename1(1:f_len)=filepath filename1(f_len+1:f_len+6)='Hg0dry' filename1(f_len+7:f_len+9)=months(k) !--- Previous to (ccc, 12/15/09) ! filename1(f_len+10:f_len+14)=em_years(yr) filename1(f_len+10:f_len+14)=read_year OPEN(UNIT=3, FILE=filename1, IOSTAT=ios, FORM="FORMATTED") READ(3,FMT="(72E12.5)") Hg0dryGEOS CLOSE(3) filename1(f_len+1:f_len+6)='Hg2dry' OPEN(UNIT=3, FILE=filename1, IOSTAT=ios, FORM="FORMATTED") READ(3,FMT="(72E12.5)") HgIIdryGEOS CLOSE(3) !------------------------------------------------------------------------------ filename1(f_len+1:f_len+6)='Hg2wet' OPEN(UNIT=3, FILE=filename1, IOSTAT=ios, FORM="FORMATTED") READ(3,FMT="(72E12.5)") HgIIwetGEOS CLOSE(3) !convert units !wet dep is in units of kg/s !$OMP PARALLEL DO & !$OMP PRIVATE(i, j) DO i=1,46 DO j=1,72 HgIIwetGEOS(j,i)=HgIIwetGEOS(j,i)/area_pix(j,i) HgIIwetGEOS(j,i)=HgIIwetGEOS(j,i)*1000.0e+0_fp*2629743.83e+0_fp !now in units of g/m2/mo !dry dep is in unitls of molec/cm2/s HgIIdryGEOS(j,i)=(HgIIdryGEOS(j,i)*(10000.0e+0_fp*2629743.83e+0_fp & *200.59e+0_fp))/(6.022e+23_fp) Hg0dryGEOS(j,i)=(Hg0dryGEOS(j,i)*(10000.0e+0_fp*2629743.83e+0_fp & *200.59e+0_fp))/(6.022e+23_fp) !now in units of g/m2/mo END DO END DO !$OMP END PARALLEL DO !!!!First step - regrid geos chem 4x5 to 1x1 CALL CasaRegridInit CALL regrid4x5to1x1(1, Hg0dryGEOS, Hg0dry1x1) CALL regrid4x5to1x1(1, HgIIdryGEOS, HgIIdry1x1) CALL regrid4x5to1x1(1, HgIIwetGEOS, HgIIwet1x1) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!Now convert 1x1 to n_veg x1 for use by CASA Hg0dry_mo(:,:,k)=0.0e+0_fp HgIIdry_mo(:,:,k)=0.0e+0_fp HgIIwet_mo(:,:,k)=0.0e+0_fp Hg0dry_mo(:,:,k) = maskfile(Hg0dry1x1, mask2) HgIIdry_mo(:,:,k) = maskfile(HgIIdry1x1, mask2) HgIIwet_mo(:,:,k) = maskfile(HgIIwet1x1, mask2) ENDDO FIRST = .FALSE. ENDIF ! Store the data for the current month Hg0dry = Hg0dry_mo(:,:,mo) HgIIdry = HgIIdry_mo(:,:,mo) HgIIwet = HgIIwet_mo(:,:,mo) ENDIF END SUBROUTINE loadHgDeposition !EOC ================================================ FILE: GTMM/load_GC_data.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: load_GC_data ! ! !DESCRIPTION: Subroutine load\_GC\_data is only used with GTMM coupled to ! GEOS-Chem. The subroutine regrid the temperature, precipation and ! radiation fields to 1x1. The met fields are read in GTMM\_DR in GEOS\_Chem. !\\ !\\ ! !INTERFACE: ! SUBROUTINE load_GC_data(month, TS, PREACC, RADSWG) ! ! !USES: ! USE defineConstants USE loadCASAinput USE CasaRegridModule USE PRECISION_MOD ! For GEOS-Chem Precision (fp) implicit none ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: month REAL(fp), INTENT(IN), DIMENSION(I4x5, J4x5) :: TS, & PREACC, RADSWG ! ! !REVISION HISTORY: ! 09 Jul 2010 - C. Carouge - Initial version ! 01 Dec 2014 - M. Yannetti - Added PRECISION_MOD !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! real(fp), dimension(columns, rows) :: geos1x1 CALL regrid4x5to1x1(1, TS, geos1x1) airt(:,:,month)=geos1x1 airt(:,:,month)=airt(:,:,month)-273.15e+0_fp CALL regrid4x5to1x1(1, PREACC, geos1x1) ppt(:,:,month)=geos1x1 ppt_mo(1,month)=sum(ppt(:,:,month)) CALL regrid4x5to1x1(1, RADSWG, geos1x1) solrad(:,:,month)=geos1x1 END SUBROUTINE load_GC_data !EOC ================================================ FILE: GTMM/organizeAgeClasses.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: organizeAgeClasses ! ! !DESCRIPTION: This routine reorganizes the pools according to the age ! classes so that the oldest comes first (and will run and burn first) !\\ !\\ ! !INTERFACE: ! SUBROUTINE organizeAgeClasses ! ! !USES: ! USE defineConstants USE loadCASAinput USE defineArrays USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE ! ! !REVISION HISTORY: ! 09 Jul 2010 - C. Carouge - Parallelization ! 01 Dec 2014 - M. Yannetti - Added PRECISION_MOD !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: i, j, k, l REAL(fp) :: g ! !this routine should only be run if the model is run !with ageClasses. When not interested in fires, don't !run the ageclasses ageClassSorted(:,:)=ageClassIndex(:,:) g=1.0e+0_fp DO i=1,n_age_classes ageClassSortedInd(:,i)=g g=g+1 END DO CALL sort_pick_veg(ageClassSorted, ageClassSortedInd) !$OMP PARALLEL DO DEFAULT(SHARED) & !$OMP PRIVATE(i, j, l) DO i=1, n_veg IF (BFallClasses(i,mo) .gt. 0e+0_fp) THEN !things only change if ! there was a fire DO j=1,n_age_classes l=int(ageClassSortedInd(i,j)) tempAge(1,j)=ageClassIndex(i,l) END DO ageClassIndex(i,:)=tempAge(1,:) tempAge=tempAge*0.0e+0_fp !organize woodpools DO j=1,n_age_classes l=int(ageClassSortedInd(i,j)) tempAge(1,j)=abovewoodpools(i,l) END DO abovewoodpools(i,:)=tempAge(1,:) tempAge=tempAge*0.0e+0_fp DO j=1, n_age_classes l=int(ageClassSortedInd(i,j)) tempAge(1,j)=belowwoodpools(i,l) END DO belowwoodpools(i,:)=tempAge(1,:) tempAge=tempAge*0.0e+0_fp DO j=1,n_age_classes l=int(ageClassSortedInd(i,j)) tempAge(1,j)=leafpools(i,l) END DO leafpools(i,:)=tempAge(1,:) tempAge=tempAge*0.0e+0_fp DO j=1,n_age_classes l=int(ageClassSortedInd(i,j)) tempAge(1,j)=frootpools(i,l) END DO frootpools(i,:)=tempAge(1,:) tempAge=tempAge*0.0e+0_fp DO j=1,n_age_classes l=int(ageClassSortedInd(i,j)) tempAge(1,j)=cwdpools(i,l) END DO cwdpools(i,:)=tempAge(1,:) tempAge=tempAge*0.0e+0_fp DO j=1, n_age_classes l=int(ageClassSortedInd(i,j)) tempAge(1,j)=surfstrpools(i,l) END DO surfstrpools(i,:)=tempAge(1,:) tempAge=tempAge*0.0e+0_fp DO j=1, n_age_classes l=int(ageClassSortedInd(i,j)) tempAge(1,j)=surfmetpools(i,l) END DO surfmetpools(i,:)=tempAge(1,:) tempAge=tempAge*0.0e+0_fp DO j=1, n_age_classes l=int(ageClassSortedInd(i,j)) tempAge(1,j)=surfmicpools(i,l) END DO surfmicpools(i,:)=tempAge(1,:) tempAge=tempAge*0.0e+0_fp DO j=1, n_age_classes l=int(ageClassSortedInd(i,j)) tempAge(1,j)=soilstrpools(i,l) END DO soilstrpools(i,:)=tempAge(1,:) tempAge=tempAge*0.0e+0_fp DO j=1, n_age_classes l=int(ageClassSortedInd(i,j)) tempAge(1,j)=soilmetpools(i,l) END DO soilmetpools(i,:)=tempAge(1,:) tempAge=tempAge*0.0e+0_fp DO j=1, n_age_classes l=int(ageClassSortedInd(i,j)) tempAge(1,j)=soilmicpools(i,l) END DO soilmicpools(i,:)=tempAge(1,:) tempAge=tempAge*0.0e+0_fp DO j=1, n_age_classes l=int(ageClassSortedInd(i,j)) tempAge(1,j)=slowpools(i,l) END DO slowpools(i,:)=tempAge(1,:) tempAge=tempAge*0.0e+0_fp DO j=1, n_age_classes l=int(ageClassSortedInd(i,j)) tempAge(1,j)=armoredpools(i,l) END DO armoredpools(i,:)=tempAge(1,:) !organize herbaceous pools tempAge=tempAge*0.0e+0_fp DO j=1,n_age_classes l=int(ageClassSortedInd(i,j)) tempAge(1,j)=hleafpools(i,l) END DO hleafpools(i,:)=tempAge(1,:) tempAge=tempAge*0.0e+0_fp DO j=1,n_age_classes l=int(ageClassSortedInd(i,j)) tempAge(1,j)=hfrootpools(i,l) END DO hfrootpools(i,:)=tempAge(1,:) tempAge=tempAge*0.0e+0_fp DO j=1, n_age_classes l=int(ageClassSortedInd(i,j)) tempAge(1,j)=hsurfstrpools(i,l) END DO hsurfstrpools(i,:)=tempAge(1,:) tempAge=tempAge*0.0e+0_fp DO j=1, n_age_classes l=int(ageClassSortedInd(i,j)) tempAge(1,j)=hsurfmetpools(i,l) END DO hsurfmetpools(i,:)=tempAge(1,:) tempAge=tempAge*0.0e+0_fp DO j=1, n_age_classes l=int(ageClassSortedInd(i,j)) tempAge(1,j)=hsurfmicpools(i,l) END DO hsurfmicpools(i,:)=tempAge(1,:) tempAge=tempAge*0.0e+0_fp DO j=1, n_age_classes l=int(ageClassSortedInd(i,j)) tempAge(1,j)=hsoilstrpools(i,l) END DO hsoilstrpools(i,:)=tempAge(1,:) tempAge=tempAge*0.0e+0_fp DO j=1, n_age_classes l=int(ageClassSortedInd(i,j)) tempAge(1,j)=hsoilmetpools(i,l) END DO hsoilmetpools(i,:)=tempAge(1,:) tempAge=tempAge*0.0e+0_fp DO j=1, n_age_classes l=int(ageClassSortedInd(i,j)) tempAge(1,j)=hsoilmicpools(i,l) END DO hsoilmicpools(i,:)=tempAge(1,:) tempAge=tempAge*0.0e+0_fp DO j=1, n_age_classes l=int(ageClassSortedInd(i,j)) tempAge(1,j)=hslowpools(i,l) END DO hslowpools(i,:)=tempAge(1,:) tempAge=tempAge*0.0e+0_fp DO j=1, n_age_classes l=int(ageClassSortedInd(i,j)) tempAge(1,j)=harmoredpools(i,l) END DO harmoredpools(i,:)=tempAge(1,:) ENDIF END DO !$OMP END PARALLEL DO END SUBROUTINE organizeAgeClasses !EOC ================================================ FILE: GTMM/processData.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: processData ! ! !DESCRIPTION: This subroutine ... !\\ !\\ ! !INTERFACE: ! SUBROUTINE processData ! ! !USES: ! USE defineConstants USE loadCASAinput USE defineArrays USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE ! ! !REVISION HISTORY: ! 09 Jul 2010 - C. Caroauge - Initial version ! 01 Dec 2014 - M. Yannetti - Added PRECISION_MOD !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! integer :: i integer, dimension(26) :: st character(len=f_len_output+14) :: filename1 st(:)=0.0e+0_fp !!!!!monthly sum of total fluxes for all veg. pixels !!!!! UNITS = g NPPmonthly(yr,mo) = SUM(gridAreab(:,1)*(frac_tree(:,1)+frac_herb(:,1))*NPP(:,mo)) respmonthly(yr,mo) = SUM(gridAreab(:,1)*((frac_tree(:,1)*wresp(:,1))+(frac_herb(:,1)*hresp(:,1)))) combmonthly(yr,mo) = SUM(gridAreab(:,1)*((frac_tree(:,1)*wcomb(:,1))+(frac_herb(:,1)*hresp(:,1)))) herbmonthly(yr,mo) = SUM(gridAreab(:,1)*((frac_tree(:,1)*wherb(:,1))+(frac_herb(:,1)*hherb(:,1)))) biofmonthly(yr,mo) = SUM(gridAreab(:,1)*wbiof(:,1)*frac_tree(:,1)) respmonthly_hg(yr,mo)= SUM(gridAreab(:,1)*((frac_tree(:,1)*wresp_hg(:,1))+(frac_herb(:,1)*hresp_hg(:,1)))) combmonthly_hg(yr,mo)=SUM(gridAreab(:,1)*((frac_tree(:,1)*wcomb_hg(:,1))+(frac_herb(:,1)*hcomb_hg(:,1)))) reemmonthly_hg(yr,mo)= SUM(gridAreab(:,1)*reemitted(:,1)) photmonthly_hg(yr,mo)= SUM(gridAreab(:,1)*photoreduced(:,1)) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!monthly fluxes of respiration by each soil class ! these have already been weighted by f_tree and f_herb (see doTreeCarbonHg and doHerbCarbonHg) resp_surfstr(:,mo)=resp_surfstr(:,mo)*gridAreab(:,1) !units = g resp_surfmet(:,mo)=resp_surfmet(:,mo)*gridAreab(:,1) resp_surfmic(:,mo)=resp_surfmic(:,mo)*gridAreab(:,1) resp_soilstr(:,mo)=resp_soilstr(:,mo)*gridAreab(:,1) resp_soilmet(:,mo)=resp_soilmet(:,mo)*gridAreab(:,1) resp_soilmic(:,mo)=resp_soilmic(:,mo)*gridAreab(:,1) resp_slow(:,mo)=resp_slow(:,mo)*gridAreab(:,1) resp_armored(:,mo)=resp_armored(:,mo)*gridAreab(:,1) resp_surfstr_hg(:,mo)=resp_surfstr_hg(:,mo)*gridAreab(:,1) !units = g resp_surfmet_hg(:,mo)=resp_surfmet_hg(:,mo)*gridAreab(:,1) resp_surfmic_hg(:,mo)=resp_surfmic_hg(:,mo)*gridAreab(:,1) resp_soilstr_hg(:,mo)=resp_soilstr_hg(:,mo)*gridAreab(:,1) resp_soilmet_hg(:,mo)=resp_soilmet_hg(:,mo)*gridAreab(:,1) resp_soilmic_hg(:,mo)=resp_soilmic_hg(:,mo)*gridAreab(:,1) resp_slow_hg(:,mo)=resp_slow_hg(:,mo)*gridAreab(:,1) resp_armored_hg(:,mo)=resp_armored_hg(:,mo)*gridAreab(:,1) Hg_pool_fluxes1(:,mo)=Hg_pool_fluxes1(:,mo)*gridAreab(:,1) !units = g Hg_pool_fluxes2(:,mo)=Hg_pool_fluxes2(:,mo)*gridAreab(:,1) !units = g Hg_pool_fluxes3(:,mo)=Hg_pool_fluxes3(:,mo)*gridAreab(:,1) !units = g Hg_pool_fluxes4(:,mo)=Hg_pool_fluxes4(:,mo)*gridAreab(:,1) !units = g Hg_pool_fluxes5(:,mo)=Hg_pool_fluxes5(:,mo)*gridAreab(:,1) !units = g Hg_pool_fluxes6(:,mo)=Hg_pool_fluxes6(:,mo)*gridAreab(:,1) !units = g !!!!!!!!!!Monthly size of pools, units=g slowmonthly(yr,mo) = SUM(gridAreab(:,1)*(frac_tree(:,1)*slowpool(:,1)+frac_herb(:,1)*hslowpool(:,1))) armoredmonthly(yr,mo)= SUM(gridAreab(:,1)*(frac_tree(:,1)*armoredpool(:,1)+frac_herb(:,1)*harmoredpool(:,1))) surfstrmonthly(yr,mo)= SUM(gridAreab(:,1)*(frac_tree(:,1)*surfstrpool(:,1)+frac_herb(:,1)*hsurfstrpool(:,1))) surfmetmonthly(yr,mo)= SUM(gridAreab(:,1)*(frac_tree(:,1)*surfmetpool(:,1)+frac_herb(:,1)*hsurfmetpool(:,1))) surfmicmonthly(yr,mo)= SUM(gridAreab(:,1)*(frac_tree(:,1)*surfmicpool(:,1)+frac_herb(:,1)*hsurfmicpool(:,1))) soilstrmonthly(yr,mo)= SUM(gridAreab(:,1)*(frac_tree(:,1)*soilstrpool(:,1)+frac_herb(:,1)*hsoilstrpool(:,1))) soilmetmonthly(yr,mo)= SUM(gridAreab(:,1)*(frac_tree(:,1)*soilmetpool(:,1)+frac_herb(:,1)*hsoilmetpool(:,1))) soilmicmonthly(yr,mo)= SUM(gridAreab(:,1)*(frac_tree(:,1)*soilmicpool(:,1)+frac_herb(:,1)*hsoilmicpool(:,1))) leafmonthly(yr,mo) = SUM(gridAreab(:,1)*(frac_tree(:,1)*leafpool(:,1)+frac_herb(:,1)*hleafpool(:,1))) !!!!!!!Monthly size of Hg pools, units=g slowmonthly_hg(yr,mo) =SUM(gridAreab(:,1)*(frac_tree(:,1)*slowpool_hg(:,1)& & +frac_herb(:,1)*hslowpool_hg(:,1))) armoredmonthly_hg(yr,mo)=SUM(gridAreab(:,1)*(frac_tree(:,1)*armoredpool_hg(:,1)& & +frac_herb(:,1)*harmoredpool_hg(:,1))) surfstrmonthly_hg(yr,mo)=SUM(gridAreab(:,1)*(frac_tree(:,1)*surfstrpool_hg(:,1)& & +frac_herb(:,1)*hsurfstrpool_hg(:,1))) surfmetmonthly_hg(yr,mo)=SUM(gridAreab(:,1)*(frac_tree(:,1)*surfmetpool_hg(:,1)& & +frac_herb(:,1)*hsurfmetpool_hg(:,1))) surfmicmonthly_hg(yr,mo)=SUM(gridAreab(:,1)*(frac_tree(:,1)*surfmicpool_hg(:,1)& & +frac_herb(:,1)*hsurfmicpool_hg(:,1))) soilstrmonthly_hg(yr,mo)=SUM(gridAreab(:,1)*(frac_tree(:,1)*soilstrpool_hg(:,1)& & +frac_herb(:,1)*hsoilstrpool_hg(:,1))) soilmetmonthly_hg(yr,mo)=SUM(gridAreab(:,1)*(frac_tree(:,1)*soilmetpool_hg(:,1)& & +frac_herb(:,1)*hsoilmetpool_hg(:,1))) soilmicmonthly_hg(yr,mo)= SUM(gridAreab(:,1)*(frac_tree(:,1)*soilmicpool_hg(:,1)& & +frac_herb(:,1)*hsoilmicpool_hg(:,1))) leafmonthly_hg(yr,mo) = SUM(gridAreab(:,1)*(frac_tree(:,1)*leafpool_hg(:,1)& & +frac_herb(:,1)*hleafpool_hg(:,1))) HgAqmonthly(yr,mo) = SUM(gridAreab(:,1)*(frac_tree(:,1)*HgAq(:,1)& & +frac_herb(:,1)*hHgAq(:,1))) total_tree_hg(:,1)=slowpool_hg(:,1)+armoredpool_hg(:,1)+surfstrpool_hg(:,1)& &+surfmetpool_hg(:,1)+surfmicpool_hg(:,1)+soilstrpool_hg(:,1)+soilmetpool_hg(:,1)& &+soilmicpool_hg(:,1) total_herb_hg(:,1)=hslowpool_hg(:,1)+harmoredpool_hg(:,1)+hsurfstrpool_hg(:,1)& &+hsurfmetpool_hg(:,1)+hsurfmicpool_hg(:,1)+hsoilstrpool_hg(:,1)+hsoilmetpool_hg(:,1)& &+hsoilmicpool_hg(:,1) IF (mo .eq. 12) THEN DO i=1, n_veg IF (veg1(i,1) .eq. 1) THEN biomeAnnual_Hg(yr,1)=biomeAnnual_Hg(yr,1)& &+(((frac_tree(i,1)*total_tree_hg(i,1))+(frac_herb(i,1)*total_herb_hg(i,1)))*gridAreab(i,1)) ENDIF IF (veg1(i,1) .eq. 3) THEN biomeAnnual_Hg(yr,2)=biomeAnnual_Hg(yr,2)& &+(((frac_tree(i,1)*total_tree_hg(i,1))+(frac_herb(i,1)*total_herb_hg(i,1)))*gridAreab(i,1)) ENDIF IF (veg1(i,1) .eq. 4) THEN biomeAnnual_Hg(yr,3)=biomeAnnual_Hg(yr,3)& &+(((frac_tree(i,1)*total_tree_hg(i,1))+(frac_herb(i,1)*total_herb_hg(i,1)))*gridAreab(i,1)) ENDIF IF (veg1(i,1) .eq. 6) THEN biomeAnnual_Hg(yr,4)=biomeAnnual_Hg(yr,4)& &+(((frac_tree(i,1)*total_tree_hg(i,1))+(frac_herb(i,1)*total_herb_hg(i,1)))*gridAreab(i,1)) ENDIF IF (veg1(i,1) .eq. 10) THEN biomeAnnual_Hg(yr,5)=biomeAnnual_Hg(yr,5)& &+(((frac_tree(i,1)*total_tree_hg(i,1))+(frac_herb(i,1)*total_herb_hg(i,1)))*gridAreab(i,1)) ENDIF END DO ENDIF IF ((yr .eq. HgPOOLSequilibriumYear) .or. (yr .eq. preindYear) .or. (yr .eq. indYear))THEN !$OMP PARALLEL & !$OMP DEFAULT(SHARED) !$OMP WORKSHARE respEQ(:,mo)=(frac_tree(:,1)*wresp(:,1)+frac_herb(:,1)*hresp(:,1)) combEQ(:,mo)=(frac_tree(:,1)*wcomb(:,1)+frac_herb(:,1)*hcomb(:,1)) herbEQ(:,mo)=(frac_tree(:,1)*wherb(:,1)+frac_herb(:,1)*hherb(:,1)) biofEQ(:,mo)=wbiof(:,1)!*frac_tree(:,1) respEQ_hg(:,mo)=(frac_tree(:,1)*wresp_hg(:,1))+(frac_herb(:,1)*hresp_hg(:,1)) combEQ_hg(:,mo)=(frac_tree(:,1)*wcomb_hg(:,1))+(frac_herb(:,1)*hcomb_hg(:,1)) reemitEQ_hg(:,mo)=reemitted(:,1) photoEQ_hg(:,mo)=photoreduced(:,1) leafpoolEQ(:,mo) =(frac_tree(:,1)*leafpool(:,1)) + (frac_herb(:,1)*hleafpool(:,1)) slowpoolEQ(:,mo) =(frac_tree(:,1)*slowpool(:,1)) + (frac_herb(:,1)*hslowpool(:,1)) armoredpoolEQ(:,mo)=(frac_tree(:,1)*armoredpool(:,1)) + (frac_herb(:,1)*harmoredpool(:,1)) surfstrpoolEQ(:,mo)=(frac_tree(:,1)*surfstrpool(:,1)) + (frac_herb(:,1)*hsurfstrpool(:,1)) soilstrpoolEQ(:,mo)=(frac_tree(:,1)*soilstrpool(:,1)) + (frac_herb(:,1)*hsoilstrpool(:,1)) surfmetpoolEQ(:,mo)=(frac_tree(:,1)*surfmetpool(:,1)) + (frac_herb(:,1)*hsurfmetpool(:,1)) soilmetpoolEQ(:,mo)=(frac_tree(:,1)*soilmetpool(:,1)) + (frac_herb(:,1)*hsoilmetpool(:,1)) surfmicpoolEQ(:,mo)=(frac_tree(:,1)*surfmicpool(:,1)) + (frac_herb(:,1)*hsurfmicpool(:,1)) soilmicpoolEQ(:,mo)=(frac_tree(:,1)*soilmicpool(:,1)) + (frac_herb(:,1)*hsoilmicpool(:,1)) leafpoolEQ_hg(:,mo) =(frac_tree(:,1)*leafpool_Hg(:,1)) + (frac_herb(:,1)*hleafpool_Hg(:,1)) slowpoolEQ_hg(:,mo) =(frac_tree(:,1)*slowpool_Hg(:,1)) + (frac_herb(:,1)*hslowpool_Hg(:,1)) armoredpoolEQ_hg(:,mo)=(frac_tree(:,1)*armoredpool_Hg(:,1)) + (frac_herb(:,1)*harmoredpool_Hg(:,1)) surfstrpoolEQ_hg(:,mo)=(frac_tree(:,1)*surfstrpool_Hg(:,1)) + (frac_herb(:,1)*hsurfstrpool_Hg(:,1)) soilstrpoolEQ_hg(:,mo)=(frac_tree(:,1)*soilstrpool_Hg(:,1)) + (frac_herb(:,1)*hsoilstrpool_Hg(:,1)) surfmetpoolEQ_hg(:,mo)=(frac_tree(:,1)*surfmetpool_Hg(:,1)) + (frac_herb(:,1)*hsurfmetpool_Hg(:,1)) soilmetpoolEQ_hg(:,mo)=(frac_tree(:,1)*soilmetpool_Hg(:,1)) + (frac_herb(:,1)*hsoilmetpool_Hg(:,1)) surfmicpoolEQ_hg(:,mo)=(frac_tree(:,1)*surfmicpool_Hg(:,1)) + (frac_herb(:,1)*hsurfmicpool_Hg(:,1)) soilmicpoolEQ_hg(:,mo)=(frac_tree(:,1)*soilmicpool_Hg(:,1)) + (frac_herb(:,1)*hsoilmicpool_Hg(:,1)) HgAqEQ_hg(:,mo) =(frac_tree(:,1)*HgAq(:,1)) + (frac_herb(:,1)*hHgAq(:,1)) !$OMP END WORKSHARE !$OMP END PARALLEL IF (mo .eq. 12) THEN ! write data to files filename1(1:f_len_output)=outputpath filename1(f_len_output+1:f_len_output+10)='gridareaea' IF (yr .eq. preindYear) THEN filename1(f_len_output+11:f_len_output+14)='_pre' ENDIF IF (yr .eq. HgPoolsequilibriumYear) THEN filename1(f_len_output+11:f_len_output+14)='_pst' ENDIF IF (yr .eq. indYear) THEN filename1(f_len_output+11:f_len_output+14)='_ind' ENDIF OPEN(UNIT=5, file=filename1) WRITE(5,*) gridareab CLOSE(5) filename1(f_len_output+1:f_len_output+10)='leafpoolHg' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) leafpool_Hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='heafpoolHg' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) hleafpool_Hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='slowpoolHg' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) slowpool_Hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='hlowpoolHg' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) hslowpool_Hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='armdpoolHg' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) armoredpool_Hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='hrmdpoolHg' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) harmoredpool_Hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='tUSTpoolHg' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) surfstrpool_Hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='hUSTpoolHg' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) hsurfstrpool_Hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='tOSTpoolHg' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) soilstrpool_Hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='hOSTpoolHg' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) hsoilstrpool_Hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='tUMTpoolHg' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) surfmetpool_Hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='hUMTpoolHg' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) hsurfmetpool_Hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='tOMTpoolHg' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) soilmetpool_Hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='hOMTpoolHg' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) hsoilmetpool_Hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='tUMIpoolHg' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) surfmicpool_Hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='hUMIpoolHg' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) hsurfmicpool_Hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='tOMIpoolHg' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) soilmicpool_Hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='hOMIpoolHg' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) hsoilmicpool_Hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='tHgApoolHg' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) HgAq CLOSE(5) filename1(f_len_output+1:f_len_output+10)='hHgApoolHg' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) hHgAq CLOSE(5) filename1(f_len_output+1:f_len_output+10)='NPPmonthly' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) NPPmonthly CLOSE(5) filename1(f_len_output+1:f_len_output+10)='RESmonthly' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) respmonthly CLOSE(5) filename1(f_len_output+1:f_len_output+10)='COMmonthly' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) combmonthly CLOSE(5) filename1(f_len_output+1:f_len_output+10)='HERmonthly' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) herbmonthly CLOSE(5) filename1(f_len_output+1:f_len_output+10)='BIFmonthly' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) biofmonthly CLOSE(5) filename1(f_len_output+1:f_len_output+10)='RES_Hg_mon' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) respmonthly_hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='COM_Hg_mon' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) combmonthly_hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='REM_Hg_mon' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) reemmonthly_hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='PHT_Hg_mon' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) photmonthly_hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='SLWmonthly' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) slowmonthly CLOSE(5) filename1(f_len_output+1:f_len_output+10)='ARMmonthly' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) armoredmonthly CLOSE(5) filename1(f_len_output+1:f_len_output+10)='USTmonthly' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) surfstrmonthly CLOSE(5) filename1(f_len_output+1:f_len_output+10)='UMEmonthly' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) surfmetmonthly CLOSE(5) filename1(f_len_output+1:f_len_output+10)='UMImonthly' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) surfmicmonthly CLOSE(5) filename1(f_len_output+1:f_len_output+10)='OSTmonthly' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) soilstrmonthly CLOSE(5) filename1(f_len_output+1:f_len_output+10)='OMEmonthly' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) soilmetmonthly CLOSE(5) filename1(f_len_output+1:f_len_output+10)='OMImonthly' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) soilmicmonthly CLOSE(5) filename1(f_len_output+1:f_len_output+10)='LEAmonthly' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) leafmonthly CLOSE(5) filename1(f_len_output+1:f_len_output+10)='SLW_Hg_mon' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) slowmonthly_hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='ARM_Hg_mon' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) armoredmonthly_hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='UST_Hg_mon' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) surfstrmonthly_hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='UME_Hg_mon' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) surfmetmonthly_hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='UMI_Hg_mon' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) surfmicmonthly_hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='OST_Hg_mon' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) soilstrmonthly_hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='OME_Hg_mon' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) soilmetmonthly_hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='OMI_Hg_mon' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) soilmicmonthly_hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='LEA_Hg_mon' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) leafmonthly_hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='HgA_Hg_mon' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) HgAqmonthly CLOSE(5) filename1(f_len_output+1:f_len_output+10)='UST_Hg_res' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) resp_surfstr_hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='UME_Hg_res' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) resp_surfmet_hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='UMI_Hg_res' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) resp_surfmic_hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='OST_Hg_res' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) resp_soilstr_hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='OME_Hg_res' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) resp_soilmet_hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='OMI_Hg_res' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) resp_soilmic_hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='SLW_Hg_res' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) resp_slow_hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='ARM_Hg_res' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) resp_armored_hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='UST_CC_res' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) resp_surfstr CLOSE(5) filename1(f_len_output+1:f_len_output+10)='UME_CC_res' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) resp_surfmet CLOSE(5) filename1(f_len_output+1:f_len_output+10)='UMI_CC_res' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) resp_surfmic CLOSE(5) filename1(f_len_output+1:f_len_output+10)='OST_CC_res' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) resp_soilstr CLOSE(5) filename1(f_len_output+1:f_len_output+10)='OME_CC_res' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) resp_soilmet CLOSE(5) filename1(f_len_output+1:f_len_output+10)='OMI_CC_res' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) resp_soilmic CLOSE(5) filename1(f_len_output+1:f_len_output+10)='SLW_CC_res' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) resp_slow CLOSE(5) filename1(f_len_output+1:f_len_output+10)='ARM_CC_res' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) resp_armored CLOSE(5) filename1(f_len_output+1:f_len_output+10)='RESP_EQ_CC' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) respEQ CLOSE(5) filename1(f_len_output+1:f_len_output+10)='COMB_EQ_CC' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) combEQ CLOSE(5) filename1(f_len_output+1:f_len_output+10)='HERB_EQ_CC' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) herbEQ CLOSE(5) filename1(f_len_output+1:f_len_output+10)='BIOF_EQ_CC' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) biofEQ CLOSE(5) filename1(f_len_output+1:f_len_output+10)='RESP_EQ_Hg' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) respEQ_Hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='COMB_EQ_Hg' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) combEQ_Hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='REEM_EQ_Hg' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) reemitEQ_hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='PHOT_EQ_Hg' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) photoEQ_hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='LEAF_EQ_CC' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) leafpoolEQ CLOSE(5) filename1(f_len_output+1:f_len_output+10)='SLOW_EQ_CC' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) slowpoolEQ CLOSE(5) filename1(f_len_output+1:f_len_output+10)='ARMD_EQ_CC' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) armoredpoolEQ CLOSE(5) filename1(f_len_output+1:f_len_output+10)='UST__EQ_CC' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) surfstrpoolEQ CLOSE(5) filename1(f_len_output+1:f_len_output+10)='OST__EQ_CC' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) soilstrpoolEQ CLOSE(5) filename1(f_len_output+1:f_len_output+10)='UME__EQ_CC' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) surfmetpoolEQ CLOSE(5) filename1(f_len_output+1:f_len_output+10)='OME__EQ_CC' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) soilmetpoolEQ CLOSE(5) filename1(f_len_output+1:f_len_output+10)='UMI__EQ_CC' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) surfmicpoolEQ CLOSE(5) filename1(f_len_output+1:f_len_output+10)='OMI__EQ_CC' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) soilmicpoolEQ CLOSE(5) filename1(f_len_output+1:f_len_output+10)='LEAF_EQ_Hg' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) leafpoolEQ_hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='SLOW_EQ_Hg' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) slowpoolEQ_hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='ARMD_EQ_Hg' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) armoredpoolEQ_hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='UST__EQ_Hg' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) surfstrpoolEQ_hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='OST__EQ_Hg' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) soilstrpoolEQ_Hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='UME__EQ_Hg' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) surfmetpoolEQ_hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='OME__EQ_Hg' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) soilmetpoolEQ_hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='UMI__EQ_Hg' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) surfmicpoolEQ_hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='OMI__EQ_Hg' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) soilmicpoolEQ_hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='HgAq_EQ_Hg' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) HgAqEQ_hg CLOSE(5) filename1(f_len_output+1:f_len_output+10)='Pool1_flux' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) Hg_pool_fluxes1 CLOSE(5) filename1(f_len_output+1:f_len_output+10)='Pool2_flux' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) Hg_pool_fluxes2 CLOSE(5) filename1(f_len_output+1:f_len_output+10)='Pool3_flux' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) Hg_pool_fluxes3 CLOSE(5) filename1(f_len_output+1:f_len_output+10)='Pool4_flux' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) Hg_pool_fluxes4 CLOSE(5) filename1(f_len_output+1:f_len_output+10)='Pool5_flux' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) Hg_pool_fluxes5 CLOSE(5) filename1(f_len_output+1:f_len_output+10)='Pool6_flux' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) Hg_pool_fluxes6 CLOSE(5) filename1(f_len_output+1:f_len_output+10)='biome_an_Hg' OPEN(UNIT=5, file=filename1, STATUS="NEW") WRITE(5,*) biomeAnnual_Hg CLOSE(5) ENDIF ENDIF END SUBROUTINE processData !EOC ================================================ FILE: GTMM/sort_pick_veg.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: sort_pick_veg ! ! !DESCRIPTION: This subroutine ... !\\ !\\ ! !INTERFACE: ! SUBROUTINE sort_pick_veg(arr, ind) ! ! !USES: ! USE defineConstants USE PRECISION_MOD ! For GEOS-Chem Precision (fp) implicit none ! ! !INPUT/OUTPUT PARAMETERS: ! REAL(fp), dimension(n_veg, n_age_classes), intent(INOUT) :: ind REAL(fp), dimension(n_veg, n_age_classes), intent(INOUT) :: arr ! ! !REVISION HISTORY: ! 09 Jul 2010 - C. Carouge - Initial version ! 01 Dec 2014 - M. Yannetti - Added PRECISION_MOD !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: i, j, n, k REAL :: a, b n=size(arr) DO k=1,n_veg DO j=2,n/n_veg a=arr(k,j) b=ind(k,j) DO i=j-1, 1, -1 IF (arr(k,i) >=a) exit arr(k,i+1)=arr(k,i) ind(k,i+1)=ind(k,i) END DO ind(k,i+1)=b arr(k,i+1)=a END DO END DO END SUBROUTINE sort_pick_veg !EOC ================================================ FILE: GeosCore/.cvsignore ================================================ *.a *.mod *.o *.pdf *.ps *.tex H S a.out geos ================================================ FILE: GeosCore/.gitignore ================================================ *.[oax] *.mod *.MOD *~* geos geostomas geosapm *.pp.* *.pdb *.inst.* *.continue.* *.ppk core.* ================================================ FILE: GeosCore/CMakeLists.txt ================================================ # GeosCore/CMakeLists.txt # Add a compilation flag to force REAL to REAL*8 if necessary # only for file tpcore_window_mod.F90 if(${USE_REAL8}) if("${CMAKE_Fortran_COMPILER_ID}" STREQUAL "Intel") set_source_files_properties(tpcore_window_mod.F90 PROPERTIES COMPILE_FLAGS "-r8") elseif("${CMAKE_Fortran_COMPILER_ID}" STREQUAL "GNU") set_source_files_properties(tpcore_window_mod.F90 PROPERTIES COMPILE_FLAGS "-fdefault-real-8 -fdefault-double-8") endif() endif() #----------------------------------------------------------------------------- # Define libGeosCore.a #----------------------------------------------------------------------------- add_library(GeosCore STATIC EXCLUDE_FROM_ALL aero_drydep.F90 aerosol_mod.F90 aerosol_thermodynamics_mod.F90 airs_ch4_mod.F90 calc_met_mod.F90 carbon_mod.F90 carbon_gases_mod.F90 chemistry_mod.F90 cldice_HBrHOBr_rxn.F90 cldj_interface_mod.F90 cleanup.F90 convection_mod.F90 depo_mercury_mod.F90 diagnostics_mod.F90 drydep_mod.F90 dust_mod.F90 emissions_mod.F90 fast_jx_mod.F90 fjx_interface_mod.F90 fullchem_mod.F90 gc_environment_mod.F90 get_ndep_mod.F90 global_br_mod.F90 gosat_ch4_mod.F90 hcoi_gc_diagn_mod.F90 hco_state_gc_mod.F90 hco_interface_gc_mod.F90 hco_utilities_gc_mod.F90 input_mod.F90 kppsa_interface_mod.F90 land_mercury_mod.F90 linear_chem_mod.F90 linoz_mod.F90 mapping_mod.F90 mercury_mod.F90 mixing_mod.F90 modis_lai_mod.F90 ocean_mercury_mod.F90 olson_landmap_mod.F90 pbl_mix_mod.F90 photolysis_mod.F90 pjc_pfix_mod.F90 pjc_pfix_window_mod.F90 planeflight_mod.F90 pops_mod.F90 RnPbBe_mod.F90 rpmares_mod.F90 seasalt_mod.F90 set_global_ch4_mod.F90 sfcvmr_mod.F90 sulfate_mod.F90 tagged_o3_mod.F90 tccon_ch4_mod.F90 toms_mod.F90 tpcore_fvdas_mod.F90 tpcore_window_mod.F90 tracer_mod.F90 transport_mod.F90 ucx_mod.F90 uvalbedo_mod.F90 vdiff_mod.F90 wetscav_mod.F90 YuIMN_Code.F90 # Files only included for special cases $<$:flexgrid_read_mod.F90 get_met_mod.F90 set_boundary_conditions_mod.F90> $<$:rrtmg_rad_transfer_mod.F90> $<$:tomas_mod.F90> $<$:apm_driv_mod.F90> # exchange_mod : TODO ) # Fixes #64: If GCC>=8.0.0 then ocean_mercury_mod.F90 # should be compiled with -O1 if(("${CMAKE_Fortran_COMPILER_ID}" STREQUAL "GNU") AND NOT (CMAKE_Fortran_COMPILER_VERSION VERSION_LESS "8.0.0") AND NOT("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")) set_source_files_properties(ocean_mercury_mod.F90 PROPERTIES COMPILE_FLAGS -O1 ) endif() # Define dependencies for libGeosCore.a target_link_libraries(GeosCore PUBLIC ObsPack History KPP HETP_core $ # link only to avoid gathering the rest of the TURs $<$:APM> # depends on APM iff APM is true $<$:GeosRad> # depends on GeosRad iff RRTMG is true $<$:Hg> # depends on Hg iff GTMM is true ) ================================================ FILE: GeosCore/RnPbBe_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: RnPbBe_mod.F90 ! ! !DESCRIPTION: Module RnPbBe\_MOD contains variables and routines used ! for the Rn222-Pb210-Be7 simulation. (hyl, swu, bmy, 6/14/01, 8/4/06) !\\ !\\ ! !INTERFACE: ! MODULE RnPbBe_MOD ! ! !USES: ! USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: CHEMRnPbBe ! ! !REMARKS: ! References: ! ============================================================================ ! (1 ) Liu,H., D.Jacob, I.Bey, and R.M.Yantosca, Constraints from 210Pb ! and 7Be on wet deposition and transport in a global three-dimensional ! chemical tracer model driven by assimilated meteorological fields, ! JGR, 106, D11, 12,109-12,128, 2001. ! (2 ) Jacob et al.,Evaluation and intercomparison of global atmospheric ! transport models using Rn-222 and other short-lived tracers, ! JGR, 1997 (102):5953-5970 ! (3 ) Dorothy Koch, JGR 101, D13, 18651, 1996. ! (4 ) Lal, D., and B. Peters, Cosmic ray produced radioactivity on the ! Earth. Handbuch der Physik, 46/2, 551-612, edited by K. Sitte, ! Springer-Verlag, New York, 1967. ! (5) GMI tracer suite, https://gmi.gsfc.nasa.gov/uploads/files/gmi_tracersuite.pdf ! (6 ) Koch and Rind, Beryllium 10/beryllium 7 as a tracer of stratospheric ! transport, JGR, 103, D4, 3907-3917, 1998. ! ! !REVISION HISTORY: ! 14 Jun 2001 - H. Liu - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! Species ID flags INTEGER :: id_Rn222 INTEGER :: id_Pb210, id_Pb210s INTEGER :: id_Be7, id_Be7s INTEGER :: id_Be10, id_Be10s ! Exponential terms REAL(fp) :: EXP_Rn, EXP_Pb210, EXP_Be7, EXP_Be10 CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: chemRnPbBe ! ! !DESCRIPTION: Subroutine CHEMRnPbBe performs loss chemistry on Rn222, ! Pb210, Be7, and Be10. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CHEMRnPbBe( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Chm_Mod, ONLY : Ind_ USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_TS_CHEM ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 31 Oct 1999 - H. Liu - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I, J, L, S REAL(fp) :: ADD_Pb210 REAL(fp) :: Decay REAL(fp) :: DTCHEM REAL(fp) :: Pb210_LOST, Pb210s_LOST REAL(fp) :: Be7_LOST, Be7s_LOST REAL(fp) :: Be10_LOST, Be10s_LOST ! SAVEd scalars LOGICAL, SAVE :: FIRSTCHEM = .TRUE. ! Strings CHARACTER(LEN=255) :: ErrMsg CHARACTER(LEN=255) :: ThisLoc ! Arrays REAL(fp) :: Rn_LOST(State_Grid%NX,State_Grid%NY,State_Grid%NZ) ! Pointers TYPE(SpcConc), POINTER :: Spc(:) ! ! !DEFINED PARAMETERS ! ! Ratio of molecular weights of Pb210/Rn222 REAL(fp), PARAMETER :: Pb_Rn_RATIO = 210e+0_fp / 222e+0_fp ! Ln 2 REAL(fp), PARAMETER :: ln2 = 0.693147181E+00_fp ! Half-life in days REAL(fp), PARAMETER :: RnTau = 3.83E+00_fp ! Liu et al. (2001) REAL(fp), PARAMETER :: Pb210Tau = 8.25E+03_fp ! Liu et al. (2001) REAL(fp), PARAMETER :: Be7Tau = 53.3E+00_fp ! Liu et al. (2001) REAL(fp), PARAMETER :: Be10Tau = 5.84E+08_fp ! GMI "tracer" mechanism !================================================================= ! CHEMRnPbBe begins here! !================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at ChemRnPbBe (in module GeosCore/RnPbBe_mod.F90)' ! Chemistry timestep [s] DTCHEM = GET_TS_CHEM() ! Point to the species array Spc => State_Chm%Species !----------------------------------------------------------------- ! Pre-compute exponential terms and do other first-time setup !----------------------------------------------------------------- IF ( FIRSTCHEM ) THEN ! Fraction of Rn222 left after radioactive decay Decay = ln2 / ( RnTau * 24.E+00_fp * 3600.E+00_fp ) EXP_Rn = EXP( -DTCHEM * Decay ) ! Fraction of Pb210 left after radioactive decay !Decay = ln2 / ( PbTau * 24.E+00_fp * 3600.E+00_fp ) EXP_Pb210 = EXP( -DTCHEM * 9.725E-10_fp ) ! Fraction of Be7 left after radioactive decay !Decay = ln2 / ( Be7Tau * 24.E+00_fp * 3600.E+00_fp ) EXP_Be7 = EXP( -DTCHEM * 1.506E-7_fp ) ! Fraction of Be10 left after radioactive decay Decay = ln2 / ( Be10Tau * 24.E+00_fp * 3600.E+00_fp ) EXP_Be10 = EXP( -DTCHEM * Decay ) ! Species ID flags id_Rn222 = Ind_('Rn222' ) id_Pb210 = Ind_('Pb210' ) id_Pb210s = Ind_('Pb210s' ) id_Be7 = Ind_('Be7' ) id_Be7s = Ind_('Be7s' ) id_Be10 = Ind_('Be10' ) id_Be10s = Ind_('Be10s' ) ! Reset FIRSTCHEM flag FIRSTCHEM = .FALSE. ! testing only IF ( Input_Opt%amIRoot ) THEN write(*,*) '' write(*,*) '### GEOS-Chem Radon simulation ###' write(*,*) ' Timestep (secs) : ', DTCHEM write(*,*) ' Rn lifetime (days): ', RnTau write(*,*) ' Rn decadence : ', EXP_Rn write(*,*) '' ENDIF ENDIF !================================================================= ! Radioactive decay of Rn222 !================================================================= ! Make sure Rn222 is a defined species IF ( id_Rn222 > 0 ) THEN !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, S ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Rn_LOST = amount of Rn222 lost to decay [kg] Rn_LOST(I,J,L) = Spc(id_Rn222)%Conc(I,J,L) * ( 1.0_fp - EXP_Rn ) !----------------------------------------------------------- ! HISTORY (aka netCDF diagnostics) ! ! Rn222 lost to radioactive decay !----------------------------------------------------------- ! Units: [kg/s], but consider eventually changing to [kg/m2/s] IF ( State_Diag%Archive_RadDecay ) THEN S = State_Diag%Map_RadDecay%id2slot(id_Rn222) IF ( S > 0 ) THEN State_Diag%RadDecay(I,J,L,S) = Rn_LOST(I,J,L) / DTCHEM ENDIF ENDIF ! Subtract Rn_LOST from Spc [kg] Spc(id_Rn222)%Conc(I,J,L) = Spc(id_Rn222)%Conc(I,J,L) - Rn_LOST(I,J,L) ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDIF !================================================================= ! Radioactive decay of Pb210 !================================================================= ! Make sure Pb210 is a defined species IF ( id_Pb210 > 0 .or. id_Pb210s > 0 ) THEN !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, ADD_Pb210, Pb210_LOST, Pb210s_LOST, S ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! ADD_Pb = Amount of Pb210 gained by decay from Rn222 [kg] ADD_Pb210 = Rn_LOST(I,J,L) * Pb_Rn_RATIO !----------------------------------------------------------- ! HISTORY (aka netCDF diagnostics) ! ! Pb210 emission from Rn222 decay !----------------------------------------------------------- ! Units: [kg/s], but consider eventually changing to [kg/m2/s] IF ( State_Diag%Archive_PbFromRnDecay ) THEN State_Diag%PbFromRnDecay(I,J,L) = ( ADD_Pb210 / DTCHEM ) ENDIF ! Add Pb210 gained by decay from Rn222 into Spc [kg] Spc(id_Pb210)%Conc(I,J,L) = Spc(id_Pb210)%Conc(I,J,L) + ADD_Pb210 ! Update stratospheric Pb210 [kg] IF ( State_Met%InStratosphere(I,J,L) .and. id_Pb210s > 0 ) THEN Spc(id_Pb210s)%Conc(I,J,L) = Spc(id_Pb210s)%Conc(I,J,L) + ADD_Pb210 ENDIF ! Amount of Pb210 lost to radioactive decay [kg] ! NOTE: we've already added in the Pb210 gained from Rn222 Pb210_LOST = Spc(id_Pb210)%Conc(I,J,L) * ( 1.0_fp - EXP_Pb210 ) IF ( id_Pb210s > 0 ) THEN Pb210s_LOST = Spc(id_Pb210s)%Conc(I,J,L) * ( 1.0_fp - EXP_Pb210) ENDIF !----------------------------------------------------------- ! HISTORY (aka netCDF diagnostics) ! ! Pb210 lost to radioactive decay [kg/s] !----------------------------------------------------------- IF ( State_Diag%Archive_RadDecay ) THEN ! Loss of Pb210, full column [kg/s] IF ( id_Pb210 > 0 ) THEN S = State_Diag%Map_RadDecay%id2slot(id_Pb210) IF ( S > 0 ) THEN State_Diag%RadDecay(I,J,L,S) = ( Pb210_LOST / DTCHEM ) ENDIF ENDIF ! Loss of Pb210 produced in stratosphere [kg/s] IF ( id_Pb210s > 0 ) THEN S = State_Diag%Map_RadDecay%id2slot(id_Pb210s) IF ( S > 0 ) THEN State_Diag%RadDecay(I,J,L,S) = ( Pb210s_LOST / DTCHEM ) ENDIF ENDIF ENDIF ! Subtract Pb210 lost to decay from Spc [kg] Spc(id_Pb210)%Conc(I,J,L) = Spc(id_Pb210)%Conc(I,J,L) - Pb210_LOST ! Update stratospheric Pb210 [kg] IF ( id_Pb210s > 0 ) THEN Spc(id_Pb210s)%Conc(I,J,L) = Spc(id_Pb210s)%Conc(I,J,L) - Pb210s_LOST ENDIF ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDIF !================================================================= ! Radioactive decay of Be7 !================================================================= ! Make sure Be7 is a defined species IF ( id_Be7 > 0 .or. id_Be7s > 0 ) THEN !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, Be7_LOST, Be7s_LOST, S ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Amount of Be7 lost to decay [kg] Be7_LOST = Spc(id_Be7)%Conc(I,J,L) * ( 1d0 - EXP_Be7 ) IF ( id_Be7s > 0 ) THEN Be7s_LOST = Spc(id_Be7s)%Conc(I,J,L) * ( 1d0 - EXP_Be7 ) ENDIF !----------------------------------------------------------- ! HISTORY (aka netCDF diagnostics) ! ! Be7 lost to radioactive decay [kg/s] !----------------------------------------------------------- IF ( State_Diag%Archive_RadDecay ) THEN ! Be7 loss [kg/s] IF ( id_Be7 > 0 ) THEN S = State_Diag%Map_RadDecay%id2slot(id_Be7) IF ( S > 0 ) THEN State_Diag%RadDecay(I,J,L,S) = ( Be7_LOST / DTCHEM ) ENDIF ENDIF ! Loss of Be7 produced in stratosphere [kg/s] IF ( id_Be7s > 0 ) THEN S = State_Diag%Map_RadDecay%id2slot(id_Be7s) IF ( S > 0 ) THEN State_Diag%RadDecay(I,J,L,S) = ( Be7s_LOST / DTCHEM ) ENDIF ENDIF ENDIF ! Subtract amount of Be7 lost to decay from Spc [kg] Spc(id_Be7)%Conc(I,J,L) = Spc(id_Be7)%Conc(I,J,L) - Be7_LOST ! Update stratospheric Be7 [kg] IF ( id_Be7s > 0 ) THEN Spc(id_Be7s)%Conc(I,J,L) = Spc(id_Be7s)%Conc(I,J,L) - Be7s_LOST ENDIF ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDIF !================================================================= ! Radioactive decay of Be10 !================================================================= ! Make sure Be10 is a defined species IF ( id_Be10 > 0 .or. id_Be10s > 0 ) THEN !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, Be10_LOST, Be10s_LOST, S ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Amount of Be10 lost to decay [kg] Be10_LOST = Spc(id_Be10)%Conc(I,J,L) * ( 1d0 - EXP_Be10 ) IF ( id_Be10s > 0 ) THEN Be10s_LOST = Spc(id_Be10s)%Conc(I,J,L) * ( 1d0 - EXP_Be10 ) ENDIF !----------------------------------------------------------- ! HISTORY (aka netCDF diagnostics) ! ! Be10 lost to radioactive decay [kg/s] !----------------------------------------------------------- IF ( State_Diag%Archive_RadDecay ) THEN ! Loss of Be10, whole atmosphere [kg/s] IF ( id_Be10 > 0 ) THEN S = State_Diag%Map_RadDecay%id2slot(id_Be10) IF ( S > 0 ) THEN State_Diag%RadDecay(I,J,L,S) = ( Be10_LOST / DTCHEM ) ENDIF ENDIF ! Loss of Be10 produced in stratosphere [kg/s] IF ( id_Be10s > 0 ) THEN S = State_Diag%Map_RadDecay%id2slot(id_Be10s) IF ( S > 0 ) THEN State_Diag%RadDecay(I,J,L,S) = ( Be10s_LOST / DTCHEM) ENDIF ENDIF ENDIF ! Subtract amount of Be10 lost to decay from Spc [kg] Spc(id_Be10)%Conc(I,J,L) = Spc(id_Be10)%Conc(I,J,L) - Be10_LOST ! Update stratospheric Be10 [kg] IF ( id_Be10s > 0 ) THEN Spc(id_Be10s)%Conc(I,J,L) = Spc(id_Be10s)%Conc(I,J,L) - Be10s_LOST ENDIF ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDIF ! Free pointer Spc => NULL() END SUBROUTINE CHEMRnPbBe !EOC END MODULE RnPbBe_MOD ================================================ FILE: GeosCore/YuIMN_Code.F90 ================================================ #if defined ( TOMAS ) !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: yuimn.F90 ! ! !DESCRIPTION: This subroutine is to calculate rates and critical cluster ! properties of ion-mediated nucleation (IMN) from lookup tables ! using multiple-variable interpolation scheme ! WRITTEN by Fangqun Yu, SUNY-Albany, 2006; UPDATED 06/2009 ! Email: yfq@asrc.cestm.albany.edu !\\ !\\ ! !INTERFACE: ! SUBROUTINE YUJIMN(X0,Y0,Z0,U0,V0,XJ0,XI0,XR0,XAMOLF0) ! ! !INPUT PARAMETERS: ! ! X0 = [H2SO4] in #/cm3 (5E5-5E8) ! Y0 = RH in % (0.5-99.5) ! Z0 = T (in K) (190-302) ! U0 = Q = ionization rate (ion-pairs/cm3s) (0, 1.5-60) ! S0 = S = surface area (um2/cm3) (1-1000) REAL*8 X0,Y0,Z0,U0,V0 ! ! !OUTPUT PARAMETERS: ! ! XJ0: Nucleation rate (#/cm3s) ! XI0: Number of H2SO4 molecules in critical cluster ! XR0: Radius of critical cluster (nm) ! XAMOLF0: Critical cluster H2SO4 mole fraction REAL*8 XJ0,XI0,XR0,XAMOLF0 ! ! !REMARKS: ! References: ! 1. Yu, F., Ion-mediated nucleation in the atmosphere: Key controlling ! parameters, implications, and look-up table, J. Geophy. Res., ! ###, 2009. ! 2. Yu, F., From molecular clusters to nanoparticles: Second-generation ! ion-mediated nucleation model, Atmos. Chem. Phys., 6, 5193-5211, 2006. ! 3. Yu, F., and R. P. Turco, Ultrafine aerosol formation via ion-mediated ! nucleation, Geophys. Res. Lett., 27, 883-886, 2000. ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! PARAMETER (MC=31, MRH=51,MT=57, MQ=9, MS=7) COMMON /YYJIMNHT/C(MC),RH(MRH),T(MT),Q(MQ),S(MS), & XJIMN(MC,MRH,MT,MQ,MS), & XISTAR(MC,MRH,MT),XRSTAR(MC,MRH,MT), & XAMOLFSTAR(MC,MRH,MT) ! to avoid the input values to be changed due to out of the range reset X = X0 Y = Y0 Z = Z0 U = U0 V = V0 ! The lookup table should cover almost all possible conditions in ! ambient troposphere. For the extreme conditions that are out of ! the ranges of the lookup table, we either reset the inputed ! parameters in a way that may underestimate the JIMN values or ! set the nucleation rate to 1.E-20 cm-3s-1. IF(X.LT.C(1)) THEN !WRITE(6,10) X, C(1) XJ0 = 1.E-20 XI0 = 100. XR0 = 1.5 XAMOLF0 = 0.5 RETURN ELSEIF(X.GT.C(MC)) THEN !WRITE(6,11) X, C(MC), C(MC) X =C(MC) ENDIF IF(Y.LT.RH(1)) THEN !WRITE(6,12) Y, RH(1) XJ0 = 1.E-20 XI0 = 100. XR0 = 1.5 XAMOLF0 = 0.5 RETURN ELSEIF(Y.GT.RH(MRH)) THEN !WRITE(6,13) Y, RH(MRH), RH(MRH) Y =RH(MRH) ENDIF IF(Z.LT.T(1)) THEN !WRITE(6,14) Z, T(1), T(1) Z =T(1) ELSEIF(Z.GT.T(MT)) THEN !WRITE(6,15) Z, T(MT) XJ0 = 1.E-20 XI0 = 100. XR0 = 1.5 XAMOLF0 = 0.5 RETURN ENDIF IF(U.LT.Q(1)) THEN !WRITE(6,16) U, Q(1) XJ0 = 1.E-20 XI0 = 100. XR0 = 1.5 XAMOLF0 = 0.5 RETURN ELSEIF(U.GT.Q(MQ)) THEN !WRITE(6,17) U, Q(MQ), Q(MQ) U =Q(MQ) ENDIF IF(V.LT.S(1)) THEN !WRITE(6,18) V, S(1), S(1) V =S(1) ELSEIF(V.GT.S(MS)) THEN !WRITE(6,19) V, S(MS) XJ0 = 1.E-20 XI0 = 100. XR0 = 1.5 XAMOLF0 = 0.5 RETURN ENDIF 10 FORMAT("IMN WARNING: INPUTED [H2SO4]=",E9.2,"<",E9.2, & ", set JIMN to 1.E-20 cm-3s-1") 11 FORMAT("IMN WARNING: INPUTED [H2SO4]=",E9.2,">",E9.2, & " set it to ",E9.2) 12 FORMAT("IMN WARNING: INPUTED RH =",F5.1,"% <",F5.1, & "%, set JIMN to 1.E-20 cm-3s-1") 13 FORMAT("IMN WARNING: INPUTED RH =",F5.1,"% >",F5.1, & "% set it to ",F5.1,"%") 14 FORMAT("IMN WARNING: INPUTED T =",F6.1,"K <",F6.1, & "K set it to ",F6.1,"K") 15 FORMAT("IMN WARNING: INPUTED T =",F6.1,"K >",F6.1, & "K, set JIMN to 1.E-20 cm-3s-1") 16 FORMAT("IMN WARNING: INPUTED Q =",F6.1," <",F6.1, & " ion-pair/cm3s , set JIMN to 1.E-20 cm-3s-1") 17 FORMAT("IMN WARNING: INPUTED Q =",F6.1," >",F6.1, & " ion-pair/cm3s set it to ",F6.1) 18 FORMAT("IMN WARNING: INPUTED S =",F6.1," <",F6.1, & " um2/cm3 set it to ",F6.1) 19 FORMAT("IMN WARNING: INPUTED S =",F6.1," >",F6.1, & "um2/cm3, set JIMN to 1.E-20 cm-3s-1") IC1 =MAX0(INT(1.+10.*ALOG10(X/C(1))),1) IC2 = MIN0(IC1 + 1,MC) IF(IC2.EQ.MC) IC1=MC-1 IF(Y.LT.RH(2)) THEN JRH1 = 1. ELSE JRH1 = MAX0(INT((Y-RH(2))/2.+2.),2) ENDIF JRH2 = MIN0(JRH1 + 1,MRH) IF(JRH2.EQ.MRH) JRH1=MRH-1 KT1 = MAX0(INT(Z/2.-94.0),1) KT2 = MIN0(KT1 + 1,MT) IF(KT2.EQ.MT) KT1=MT-1 IQ1 = MAX0(INT(1.+5.*ALOG10(U/Q(1))),1) IQ2 = MIN0(IQ1 + 1,MQ) IF(IQ2.EQ.MQ) IQ1=MQ-1 IF(V.LT.10.0) THEN IS1 =1. ELSE IS1 = MAX0(INT(2.+2.5*ALOG10(V/10.)),2) ENDIF IS2 = MIN0(IS1 + 1,MS) IF(IS2.EQ.MS) IS1=MS-1 dx1 = ALOG10(X/C(IC1)) ! logJ log[H2SO4] interpolation dx2 = ALOG10(C(IC2)/X) dy1 = ALOG10(Y/RH(JRH1)) dy2 = ALOG10(RH(JRH2)/Y) dz1 = Z-T(KT1) dz2 = T(KT2)-Z du1 = U - Q(IQ1) du2 = Q(IQ2) - U dv1 = V- S(IS1) dv2 = S(IS2) - V XJ0 = 0. XI0 = 0. XR0 = 0. XAMOLF0 = 0. VOL = (dx1+dx2)*(dy1+dy2)*(dz1+dz2)*(du1+du2)*(dv1+dv2) VOL3 = (dx1+dx2)*(dy1+dy2)*(dz1+dz2) DO KT = KT1,KT2 IF(KT.EQ.KT1) THEN dz = dz2 ELSE dz = dz1 ENDIF DO JRH = JRH1,JRH2 IF(JRH.EQ.JRH1) THEN dy = dy2 ELSE dy = dy1 ENDIF DO IC = IC1,IC2 IF(IC.EQ.IC1) THEN dx = dx2 ELSE dx = dx1 ENDIF FRACT3 = dx*dy*dz/VOL3 XI0 = XI0 + FRACT3*XISTAR(IC,JRH,KT) XR0 = XR0 + FRACT3*XRSTAR(IC,JRH,KT) XAMOLF0 = XAMOLF0 + FRACT3*XAMOLFSTAR(IC,JRH,KT) DO IS =IS1, IS2 IF(IS.EQ.IS1) THEN dv = dv2 ELSE dv = dv1 ENDIF DO IQ =IQ1, IQ2 IF(IQ.EQ.IQ1) THEN du = du2 ELSE du = du1 ENDIF FRACT = dx*dy*dz*du*dv/VOL XJ0 = XJ0 + FRACT*XJIMN(IC,JRH,KT,IQ,IS) ENDDO ENDDO ENDDO ENDDO ENDDO !Log10J -->J XJ0 = 10.**XJ0 30 FORMAT(I3, I3, I3, I3, I3, 10(1PE10.3)) 20 FORMAT(10(1PE10.3)) RETURN END SUBROUTINE YUJIMN !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: readjimn5d ! ! !DESCRIPTION: WRITTEN by Fangqun Yu, SUNY-Albany, 2006 (Updated, 6/2009) !\\ !\\ ! !INTERFACE: ! SUBROUTINE READJIMN5D( Input_Opt, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! Parameters ! (1 ) MC : NUMBER OF POINTS IN H2SO4 CONCENTRATION DIMENSION ! (2 ) MT : NUMBER OF POINTS IN TEMPERATURE DIMENSION ! (3 ) MRH : NUMBER OF POINTS IN RELATIVE HUMIDITY DIMENSION ! (4 ) MQ : NUMBER OF POINTS IN IONIZATION RATE DIMENSION ! (5 ) MS : NUMBER OF POINTS IN SURFACE AREA DIMENSION ! Arrays ! (6 ) C : VALUES AT POINTS IN H2SO4 CONCENTRATION DIMENSION ! (7 ) T : VALUES AT POINTS IN TEMPERATURE DIMENSION ! (8 ) RH : VALUES AT POINTS IN RELATIVE HUMIDITY DIMENSION ! (9 ) Q : VALUES AT POINTS IN IONIZATION RATE DIMENSION ! (10) S : VALUES AT POINTS IN SURFACE AREA DIMENSION PARAMETER (MC=31, MRH=51,MT=57, MQ=9, MS=7) COMMON /YYJIMNHT/C(MC),RH(MRH),T(MT),Q(MQ),S(MS), & XJIMN(MC,MRH,MT,MQ,MS), & XISTAR(MC,MRH,MT),XRSTAR(MC,MRH,MT), & XAMOLFSTAR(MC,MRH,MT) ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=255) :: DATA_DIR CHARACTER(LEN=255) :: FNAME ! Assume success RC = GC_SUCCESS ! Data directory path in shared disk space where files live DATA_DIR = TRIM( Input_Opt%DATA_DIR ) // 'CHEM_INPUTS/TOMAS_201402/' WRITE(6,*) "Read IMN look-up tables" FNAME = TRIM( DATA_DIR ) // 'YuIMN_J5D.txt' open(31, file=TRIM( FNAME ), form='formatted') FNAME = TRIM( DATA_DIR ) // 'YuIMN_Istar3D.txt' open(32, file=TRIM( FNAME ), form='formatted') FNAME = TRIM( DATA_DIR ) // 'YuIMN_Rstar3D.txt' open(33, file=TRIM( FNAME ), form='formatted') FNAME = TRIM( DATA_DIR ) // 'YuIMN_AMOLF3D.txt' open(34, file=TRIM( FNAME ), form='formatted') FNAME = TRIM( DATA_DIR ) // 'YuIMN_1H2SO4.txt' open(41, file=TRIM( FNAME ), form='formatted') FNAME = TRIM( DATA_DIR ) // 'YuIMN_2RH.txt' open(42, file=TRIM( FNAME ), form='formatted') FNAME = TRIM( DATA_DIR ) // 'YuIMN_3T.txt' open(43, file=TRIM( FNAME ), form='formatted') FNAME = TRIM( DATA_DIR ) // 'YuIMN_4Q.txt' open(44, file=TRIM( FNAME ), form='formatted') FNAME = TRIM( DATA_DIR ) // 'YuIMN_5S.txt' open(45, file=TRIM( FNAME ), form='formatted') READ(41,101)(C(I),I=1,MC) WRITE(6,*)"[H2SO4](I), I=1, ", MC, ":" WRITE(6,100)(C(I),I=1,MC) READ(42,102)(RH(J),J=1,MRH) WRITE(6,*)"RH(I), I=1, ", MRH, ":" WRITE(6,100)(RH(J),J=1,MRH) READ(43,103)(T(IT),IT=1,MT) WRITE(6,*)"T(I), I=1, ", MT, ":" WRITE(6,100)(T(IT),IT=1,MT) READ(44,104)(Q(IQ),IQ=1,MQ) WRITE(6,*)"Q(I), I=1, ", MQ, ":" WRITE(6,100)(Q(IQ),IQ=1,MQ) READ(45,105)(S(IS),IS=1,MS) WRITE(6,*)"S(I), I=1, ", MS, ":" WRITE(6,100)(S(IS),IS=1,MS) ! Use the formula to calculate C and Q to get values with more digits, ! otherwise may cause problem when input C and Q are very close to C(IC),Q(IQ) ! as IC and IQ are decided with formula C(1) = 5.0E5 DO IC = 2, MC C11 = C(IC) RATIO = 10.**(0.1) C(IC) = C(IC-1)*RATIO IF(abs(1.-C11/C(IC)).GT.0.02) THEN write(6,*)"need check JIMN look-up table inputs C" stop ENDIF ENDDO DO IQ = 1, MQ Q11 = Q(IQ) Q(IQ) = 1.5*10.**(0.2*float(IQ-1)) IF(abs(1.-Q11/Q(IQ)).GT.0.02) THEN write(6,*)"need check JIMN look-up table inputs Q" stop ENDIF ENDDO DO IS = 1, MS S11 = S(IS) IF(IS.EQ.1) THEN S(1) =1.0 ELSE S(IS) = 10.*100.**(0.2*float(IS-2)) ENDIF IF(abs(1.-S11/S(IS)).GT.0.02) THEN write(6,*)"need check JIMN look-up table inputs S" stop ENDIF ENDDO ! Formatted 5-D Table DO IS =1, MS DO KT = 1,MT DO JRH = 1,MRH DO IQ =1, MQ READ(31,101)(XJIMN(IC,JRH,KT,IQ,IS),IC = 1,MC) DO IC=1, MC !IF(XJIMN(IC,JRH,KT,IQ,IS).LT.1.E-20) & ! XJIMN(IC,JRH,KT,IQ,IS)=1.E-20 ! Due to high sensitivity of J to key parameters, use logJ ! to interpolate XJIMN(IC,JRH,KT,IQ,IS)=ALOG10(XJIMN(IC,JRH,KT,IQ,IS)) ENDDO ENDDO ENDDO ENDDO ENDDO ! Critical cluster properties depend on T, RH, [H2SO4] only DO IT = 1,MT DO IRH = 1, MRH READ(32,202)(XISTAR(IC,IRH,IT), IC=1,MC) READ(33,203)(XRSTAR(IC,IRH,IT), IC=1,MC) READ(34,204)(XAMOLFSTAR(IC,IRH,IT), IC=1,MC) ENDDO ! RH ENDDO !T CLOSE(31) CLOSE(32) CLOSE(33) CLOSE(34) CLOSE(41) CLOSE(42) CLOSE(43) CLOSE(44) CLOSE(45) 100 FORMAT(100E9.2) 101 FORMAT(31E9.2) ! H2SO4 102 FORMAT(51E9.2) ! RH 103 FORMAT(57E9.2) ! T 104 FORMAT(9E9.2) ! Q 105 FORMAT(7E9.2) ! S !100 FORMAT(100(1PE9.2)) !101 FORMAT(31(1PE9.2)) ! H2SO4 !102 FORMAT(51(1PE9.2)) ! RH !103 FORMAT(57(1PE9.2)) ! T !104 FORMAT(9(1PE9.2)) ! Q !105 FORMAT(7(1PE9.2)) ! S 202 FORMAT(31F5.1) ! Istar 203 FORMAT(31F5.2) ! Rstar 204 FORMAT(31F6.3) ! AMOLF print*,'read Yu inputs' print*,C RETURN END SUBROUTINE READJIMN5D !EOC #endif ================================================ FILE: GeosCore/aero_drydep.F90 ================================================ #ifdef TOMAS !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !ROUTINE: aero_drydep ! ! !DESCRIPTION: Subroutine AERO\_DRYDEP removes size-resolved aerosol number ! and mass by dry deposition. The deposition velocities are calcualted from ! drydep_mod.f and only aerosol number NK01-NK30 are really treated as dry ! depositing species while each of the mass species are depositing accordingly ! with number. !\\ !\\ ! !INTERFACE: ! SUBROUTINE AERO_DRYDEP( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE DUST_MOD, ONLY : SETTLEDUST USE ErrCode_Mod USE ERROR_MOD USE Input_Opt_Mod, ONLY : OptInput USE PhysConstants, ONLY : g0 USE PhysConstants, ONLY : AVO USE PRECISION_MOD USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Chm_Mod, ONLY : Ind_ USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_TS_CHEM USE TOMAS_MOD USE UnitConv_Mod IMPLICIT NONE ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 22 Jul 2007 - Win T. - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! SAVEd scalars LOGICAL, SAVE :: DOSETTLING = .TRUE. LOGICAL, SAVE :: FIRST = .TRUE. INTEGER, SAVE :: H2SO4ID INTEGER, SAVE :: id_H2SO4 INTEGER, SAVE :: id_NK01 ! Scalars INTEGER :: nDryDep, IBINS INTEGER :: I, J, L, AS INTEGER :: N, JC, BIN, ID REAL(fp) :: DTCHEM, AREA_CM2, FLUX, X, Y REAL(fp) :: Y0, RKT, DEN, DP, PDP REAL(fp) :: TEMP, P, CONST, SLIP, VISC REAL(fp) :: DELZ, DELZ1, TOT1, TOT2 ! Strings CHARACTER(LEN=255) :: LOC, MSG ! Arrays REAL(fp) :: TC(State_Grid%NZ) REAL(fp) :: TC0(State_Grid%NZ) REAL(fp) :: VTS(State_Grid%NZ) ! Settling V [m/s] REAL(fp) :: NU0(State_Grid%NX,State_Grid%NY,State_Grid%NZ,State_Chm%nTomasBins) REAL(fp) :: DU0(State_Grid%NX,State_Grid%NY,State_Grid%NZ,State_Chm%nTomasBins) REAL(fp) :: SIZ_DIA(State_Grid%NX,State_Grid%NY,State_Chm%nTomasBins) REAL(fp) :: SIZ_DEN(State_Grid%NX,State_Grid%NY,State_Chm%nTomasBins) REAL(fp) :: X0(State_Chm%nTomasBins,ICOMP-IDIAG+1 ) ! Pointers TYPE(SpcConc), POINTER :: Spc (: ) REAL(fp), POINTER :: BXHEIGHT(:,:,: ) REAL(fp), POINTER :: T (:,:,: ) REAL(fp), POINTER :: DepFreq (:,:,: ) ! IM, JM, nDryDep ! SAVEd arrays INTEGER, SAVE, ALLOCATABLE :: DRYD(:) ! Debug !integer :: ii, jj , ix, jx, bb, ll !data ii,jj, ix, jx, bb, ll /55, 29, 55, 29, 1, 1 / !================================================================= ! AERO_DRYDEP begins here! !================================================================= ! Assume success RC = GC_SUCCESS ! Number of dry-deposited species nDryDep = State_Chm%nDryDep ! Number of bins IBINS = State_Chm%nTomasBins ! Check that species units are in [kg] (ewl, 8/13/15) IF ( .not. Check_Units( State_Chm, & KG_SPECIES, & mapping=State_Chm%Map_Advect ) ) THEN MSG = 'Not all advected species have units of "kg"!' LOC = 'Routine AERO_DRYDEP in GeosCore/aero_drydep.F90' CALL GC_Error( MSG, RC, LOC ) ENDIF ! DTCHEM is the chemistry timestep in seconds DTCHEM = GET_TS_CHEM() ! Initialize pointers Spc => State_Chm%Species BXHEIGHT => State_Met%BXHEIGHT T => State_Met%T DepFreq => State_Chm%DryDepFreq ! First-time setup IF ( FIRST ) THEN ! Define species ID flags id_H2SO4 = Ind_('H2SO4') id_NK01 = Ind_('NK01' ) ! Make sure species are defined IF ( id_H2SO4 < 0 ) THEN MSG = 'H2SO4 is not a defined species!' LOC = 'Routine AERO_DRYDEP in aero_drydep.F' CALL ERROR_STOP( MSG, LOC ) ENDIF IF ( id_NK01 < 0 ) THEN MSG = 'NK01 is not a defined species!' LOC = 'Routine AERO_DRYDEP in aero_drydep.F' CALL ERROR_STOP( MSG, LOC ) ENDIF ALLOCATE( DRYD( State_Chm%nTomasBins ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'DRYD (aero_drydep.F90)' ) DRYD = 0 ! First identify if the size-resolved aerosol species have their ! deposition velocity calculated. ! dryd is an array that keeps the drydep species ID. So if the ! aerosol component has dryd = 0, that means it was not included ! as a dry depositting species. DO BIN = 1, IBINS DO N = 1, nDryDep !just want to match only once (win, 5/24/06) IF ( BIN == 1 .and. & State_Chm%Map_DryDep(N)==id_H2SO4 ) THEN H2SO4ID = N ! Debug !print *, 'DRYDEP Species:',N ENDIF IF ( State_Chm%Map_DryDep(N) == ( id_NK01-1+BIN ) )THEN ! Debug !print *,'Match species:',IDTNK01-1+bin,'Bin',bin DRYD( BIN ) = N GOTO 100 ENDIF ENDDO 100 CONTINUE ENDDO ! Reset first-time falg FIRST = .FALSE. ENDIF ! Debug !print *,'dryd(30)' !print *, dryd(:) !---------- GRAVITATIONAL SETTLING ------------- ! ! First calculate vertical movement and removal by ! gravitational settling ! ! Clarify units: ! ! v_settling = rho * Dp**2 * g * C ! ----------------------------- ! 18 * visc ! [units] ! m/s = kg/m^3 * m^2 * m/s^2 * - ! ----------------------------- ! - * kg/m/s ! ! NOTES: ! (1 ) Pa s = kg/m/s ! (2 ) Slip correction factor is unitless, however, the ! equation from Hinds' Aerosol Technology that is ! a function of P and Dp needs the correct units ! P [=] kPa and Dp [=] um IF ( DOSETTLING ) THEN ! SIZ_DIA [=] m and SIZ_DEN [=] kg/m3 CALL AERO_DIADEN( 1, Input_Opt, State_Chm, State_Grid, State_Met, & State_Diag, SIZ_DIA, SIZ_DEN, RC ) IF ( RC /= GC_SUCCESS ) THEN CALL ERROR_STOP('CALL AERO_DIADEN', 'AERO_DRYDEP in aero_drydep.F') ENDIF !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( BIN, I, J, DP, DEN, CONST, L, P, TEMP ) & !$OMP PRIVATE( PDP, SLIP, VISC, VTS, JC, ID, TC0, TC ) & !$OMP PRIVATE( DELZ, DELZ1, AREA_CM2, TOT1, TOT2, FLUX ) & !$OMP SCHEDULE( DYNAMIC ) DO I = 1, State_Grid%NX DO J = 1, State_Grid%NY DO BIN = 1, IBINS DP = SIZ_DIA(I,J,BIN) * 1.d6 ![=] um DEN = SIZ_DEN(I,J,BIN) ![=] kg/m3 CONST = DEN * (DP*1.d-6)**2.d0 * g0 / 18.d0 ! Debug !IF (i==ix .and. j==jx .and. bin==bb) THRN ! print *, 'L, P, Dp, DEN, SLIP, VISC, VTS(L)' !ENDIF DO L = 1, State_Grid%NZ ! Get P [kPa], T [K], and P*DP ! Use moist pressure for mean free path (ewl, 3/2/2015) P = State_Met%PMID(I,J,L) * 0.1d0 ![=] kPa TEMP = T(I,J,L) ![=] K PDP = P * DP !===================================================== ! # air molecule number density ! num = P * 1d3 * 6.023d23 / (8.314 * Temp) ! ! # gas mean free path ! lamda = 1.d6 / ! & ( 1.41421 * num * 3.141592 * (3.7d-10)**2 ) ! ! # Slip correction ! Slip = 1. + 2. * lamda * (1.257 + 0.4 * ! & exp( -1.1 * Dp / (2. * lamda))) / Dp !===================================================== ! NOTE, Slip correction factor calculations following ! Seinfeld, pp464 which is thought to be more ! accurate but more computation required. !===================================================== ! Slip correction factor as function of (P*dp) SLIP = 1d0 + ( 15.60d0 + 7.0d0 * EXP(-0.059d0*PDP) ) / PDP !===================================================== ! NOTE, Eq) 3.22 pp 50 in Hinds (Aerosol Technology) ! which produce slip correction factor with small ! error compared to the above with less computation. !===================================================== ! Viscosity [Pa s] of air as a function of temp (K) ! Sutherland eqn. (ref. pp 25 in Hinds (Aerosol Technology) VISC = 1.458d-6 * (TEMP)**(1.5d0) / ( TEMP + 110.4d0 ) ! Settling velocity [m/s] VTS(L) = CONST * SLIP / VISC ! Debug !IF (i==ix .and. j==jx .and. bin==bb ) THEN ! print *, L,P, Dp, DEN, SLIP, VISC, VTS(L) !ENDIF ENDDO ! L-loop DO JC = 1, ICOMP-IDIAG+1 ID = id_NK01 - 1 + BIN + ( IBINS * (JC-1) ) ! Debug !IF (i==ix .and. j==jx .and. l==ll) THEN ! write(200,*)'BIN , TC0, TC, , VTS(L), JC=',JC !ENDIF ! Method is to solve bidiagonal matrix ! which is implicit and first order accurate in Z DO L = 1, State_Grid%NZ TC0(L) = Spc(ID)%Conc(I,J,L) TC(L) = TC0(L) ENDDO ! We know the boundary condition at the model top L = State_Met%MaxChemLev DELZ = BXHEIGHT(I,J,L) ![=] meter TC(L) = TC(L) / ( 1.d0 + DTCHEM * VTS(L) / DELZ ) DO L = State_Met%MaxChemLev-1, 1, -1 DELZ = BXHEIGHT(I,J,L) DELZ1 = BXHEIGHT(I,J,L+1) TC(L) = 1.d0 / & ( 1.d0 + DTCHEM * VTS(L) / DELZ ) * & ( TC(L) + DTCHEM * VTS(L+1) / DELZ1 * TC(L+1) ) ENDDO DO L = 1, State_Grid%NZ Spc(ID)%Conc(I,J,L) = TC(L) ! Debug !IF (i==ix .and. j==jx .and. l==ll ) & ! print *, BIN, TC0(L), TC(L), VTS(L) ENDDO ENDDO ! JC-loop ENDDO ! I-loop ENDDO ! J-loop ENDDO ! Bin-loop !$OMP END PARALLEL DO ENDIF ! DOSETTLING ! Dust gravitational settling IF ( .not. DOSETTLING ) THEN CALL SETTLEDUST( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ENDIF !---------- DRY DEPOSITION ---------- ! Initialize array X = 0d0 X0(:,:) = 0d0 ! Loop over chemically-active grid boxes ! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! %%% TEMPORARY FIX: REVERSE ORDER OF LOOPS IN ORDER TO PASS UNIT TESTS %%% ! %%% %%% ! %%% Sal Farina wrote: Change the loop order from LJI to IJL or JIL. %%% ! %%% This will make the MP code add up the diagnostic in the same order %%% ! %%% as SP mode (only the outermost loop gets parallelized). Yes looping%%% ! %%% over LJI should be faster than IJL, but (and correct me if i'm %%% ! %%% wrong) if we are looping over species inside that loop all benefits%%% ! %%% are totally lost anyway. The way Spc / STT is defined, tracerid %%% ! %%% should always be the outermost loop... %%% ! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !$OMP PARALLEL DO & !$OMP PRIVATE( L, J, I, AREA_CM2, RKT, flux, JC, BIN ) & !$OMP PRIVATE( ID, X0, X, Y0, Y ) & !$OMP DEFAULT( SHARED ) & !$OMP SCHEDULE( DYNAMIC ) DO I = 1, State_Grid%NX DO J = 1, State_Grid%NY DO L = 1, State_Met%MaxChemLev ! Initialize for safety's sake AREA_CM2 = 0d0 RKT = 0d0 flux = 0d0 ! Skip non-chemsitry boxes IF ( .not. State_Met%InChemGrid(I,J,L) ) CYCLE ! Save the initial 30-bin number and icomp-1 mass component DO JC = 1, ICOMP-IDIAG+1 DO BIN = 1, IBINS ID = id_NK01 - 1 + BIN + ( IBINS * (JC-1) ) X0(BIN,JC) = Spc(ID)%Conc(I,J,L) ENDDO ENDDO ! Debug !IF (i==ii .and. j==jj .and. L==1) & ! print *,'L Spc(',bb,')%Conc(',I,J,'L) DIF ', & ! 'FLUX AD44' !IF (i==ix .and. j==jx .and. L==1) & ! print *,'L Spc(',bb,')%Conc(',I,J,'L) DIF ', & ! 'FLUX AD44' !ENDIF ! Dry deposit 1 aerosol component at a time, start looping from ! number and then the icomp-1 mass. DO JC = 1, ICOMP-IDIAG+1 DO BIN = 1, IBINS X = 0d0 ID = id_NK01 - 1 + BIN + (( JC-1 )* IBINS) ! ******************************************************************* ! NOTE: I'm not sure if this is now covered by dry-deposition in ! mixing_mod.F90 (ckeller, 3/5/15) ! ******************************************************************* ! RKT is drydep frequency [1/s] -- PBLFRAC accounts for the ! fraction of each vertical level that is located below the PBL top RKT = DepFreq(I,J,DRYD(BIN)) * State_Met%F_UNDER_PBLTOP(I,J,L) !IF (i==ii .and. j==jj .and. L==1) & ! print *,'JC=',JC,'BIN=',BIN,'ID=',ID,'RKT',RKT IF (RKT > 0d0) THEN RKT = RKT * DTCHEM ! Remaining amount after drydep X = X0(BIN,JC)* EXP(-RKT) ELSE X = X0(BIN,JC) ENDIF ! Swap X back into Spc array Spc(ID)%Conc(I,J,L) = X ENDDO ENDDO ! *********************************************************************** ! NOTE: I'm not sure if this is now covered by dry-deposition in ! mixing_mod.F90 (ckeller, 3/5/15) ! *********************************************************************** ! Dry deposit H2SO4 gas (win, 5/24/06) Y0 = Spc(id_H2SO4)%Conc(I,J,L) RKT = DepFreq(I,J,H2SO4ID) * State_Met%F_UNDER_PBLTOP(I,J,L) Y = Y0 * EXP(-RKT) !Swap final H2SO4 back into Spc array Spc(id_H2SO4)%Conc(I,J,L) = Y ENDDO ENDDO ENDDO !$OMP END PARALLEL DO IF ( Input_Opt%Verbose ) PRINT *,'### Finish AERO_DRYDEP' ! Free pointers Spc => NULL() BXHEIGHT => NULL() T => NULL() DepFreq => NULL() ! Check that species units are still in [kg] (ewl, 8/13/15) IF ( .not. Check_Units( State_Chm, & KG_SPECIES, & mapping=State_Chm%Map_Advect ) ) THEN MSG = 'Not all advected species have units "kg"!' LOC = 'Routine AERO_DRYDEP in GeosCore/aero_drydep.F90' CALL GC_Error( MSG, RC, LOC ) ENDIF END SUBROUTINE AERO_DRYDEP !EOC #endif ================================================ FILE: GeosCore/aerosol_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: aerosol_mod.F90 ! ! !DESCRIPTION: Module AEROSOL\_MOD contains variables and routines for ! computing optical properties for aerosols which are needed for both the ! FAST-J photolysis and ND21 optical depth diagnostics. (bmy, 7/20/04, ! 2/10/09) !\\ !\\ ! !INTERFACE: ! MODULE AEROSOL_MOD ! ! !USES: ! USE PRECISION_MOD IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: INIT_AEROSOL PUBLIC :: AEROSOL_CONC PUBLIC :: RDAER PUBLIC :: RD_AOD ! Public for use in legacy FAST-JX initialization PUBLIC :: CALC_AOD ! needed for Hg simulation ! ! !PUBLIC DATA MEMBERS: ! ! Growth factors REAL(fp), PUBLIC :: SIA_GROWTH REAL(fp), PUBLIC :: ORG_GROWTH REAL(fp), PUBLIC :: SSA_GROWTH ! Logical flags LOGICAL, PUBLIC :: IS_OCPI LOGICAL, PUBLIC :: IS_OCPO LOGICAL, PUBLIC :: IS_BC LOGICAL, PUBLIC :: IS_SO4 LOGICAL, PUBLIC :: IS_HMS LOGICAL, PUBLIC :: IS_NH4 LOGICAL, PUBLIC :: IS_NIT LOGICAL, PUBLIC :: IS_DST LOGICAL, PUBLIC :: IS_SAL LOGICAL, PUBLIC :: IS_POA LOGICAL, PUBLIC :: IS_OPOA LOGICAL, PUBLIC :: IS_TSOA LOGICAL, PUBLIC :: IS_ASOA LOGICAL, PUBLIC :: IS_SOAGX LOGICAL, PUBLIC :: IS_SimpleSOA LOGICAL, PUBLIC :: IS_ComplexSOA ! ! !DEFINED PARAMETERS: ! ! For SOAGX, assume the total aerosol mass/glyoxal mass = 1.d0 ! for now (tmf, 1/7/09) REAL(fp), PARAMETER, PUBLIC :: OCFG = 1.e+0_fp ! ! !REMARKS: ! References: ! ============================================================================ ! (1 ) Pye, H.O.T., and J.H. Seinfeld, "A global perspective on aerosol from ! low-volatility organic compounds", Atmos. Chem. & Phys., Vol 10, pp ! 4377-4401, 2010. ! (2 ) Philip, S., R.V. Martin, J.R. Pierce, J.L. Jimenez, Q. Zhang, M.R. ! Canagaratna, D.V. Spracklen, C.R. Nowlan, L.N. Lamsal, M.J. Cooper, and ! N.A. Krotkov, "Spatially and seasonally resolved estimate of the ratio ! of global organic mass to organic carbon", Atmospheric Environment, 87, ! 34-40, doi:10.1016/j.atmosenv.2013.11.065, 2014 ! ! !REVISION HISTORY: ! 20 Jul 2004 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !------------------------------------------------------------------------------ !BOC ! ! !PRIVATE TYPES: ! ! Add tracer ID flags as module variables (bmy, 6/16/16) INTEGER :: id_BCPI, id_BCPO, id_NH4, id_NIT INTEGER :: id_DSTbin1, id_DSTbin2, id_DSTbin3, id_DSTbin4 INTEGER :: id_DSTbin5, id_DSTbin6, id_DSTbin7, id_OCPO INTEGER :: id_OCPI, id_SALA, id_SALC, id_SO4 INTEGER :: id_SO4s, id_NITs, id_NH4s, id_POA1 INTEGER :: id_POA2, id_OPOA1, id_OPOA2, id_TSOA1 INTEGER :: id_TSOA2, id_TSOA3, id_TSOA0, id_ASOAN INTEGER :: id_ASOA1, id_ASOA2, id_ASOA3, id_DUST01 INTEGER :: id_SOAS, id_SALACL, id_HMS, id_SOAGX INTEGER :: id_SOAIE, id_INDIOL, id_LVOCOA ! Index to map between NRHAER and species database hygroscopic species ! NOTE: Increasing value of NRHAER in CMN_SIZE_Mod.F90 (e.g. if there is ! a new hygroscopic species) requires manual update of this mapping ! (ewl, 1/23/17) INTEGER :: Map_NRHAER(5) CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: aerosol_conc ! ! !DESCRIPTION: Subroutine AEROSOL\_CONC computes aerosol concentrations in ! kg/m3 from the tracer mass in kg in the Species array. These are needed to ! compute optical properties for photolysis, for the optical depth diagnostics, ! and for the SOA concentration diagnostics. (bmy, 7/20/04, 2/10/09) !\\ !\\ ! !INTERFACE: ! SUBROUTINE AEROSOL_CONC( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD #if !defined( MODEL_CESM ) && !defined( MODEL_BCC ) USE HCO_State_GC_Mod, ONLY : HcoState USE HCO_Utilities_GC_Mod, ONLY : HCO_GC_EvalFld #endif USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE UnitConv_Mod USE TIME_MOD, ONLY : GET_MONTH USE Timers_Mod, ONLY : Timer_End, Timer_Start ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REVISION HISTORY: ! 20 Jul 2004 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! SAVEd variables LOGICAL, SAVE :: FIRST = .TRUE. ! Non-SAVEd variables INTEGER :: I, J, L, N, NA, ND, K, IBINS INTEGER :: k_SO4 INTEGER :: k_ORG INTEGER :: k_SSA REAL(fp) :: Rad_wet, Rad_dry REAL(fp) :: Rho_wet, Rho_dry REAL(fp) :: REFF ! Logical flags LOGICAL :: LCARB LOGICAL :: LDUST LOGICAL :: LSSALT LOGICAL :: LSULF ! Pointers TYPE(SpcConc), POINTER :: Spc(:) REAL*8, POINTER :: REAA(:,:,:) REAL(fp), POINTER :: AIRVOL(:,:,:) REAL(fp), POINTER :: PMID(:,:,:) REAL(fp), POINTER :: T(:,:,:) REAL(fp), POINTER :: SOILDUST(:,:,:,:) REAL(fp), POINTER :: KG_STRAT_AER(:,:,:,:) ! Other variables INTEGER :: previous_units ! For spatially and seasonally varying OM/OC CHARACTER(LEN=255) :: FIELDNAME INTEGER :: MONTH LOGICAL :: FND ! For errors CHARACTER(LEN=255) :: ThisLoc CHARACTER(LEN=1023) :: ErrMsg ! ! !DEFINED_PARAMETERS ! REAL(fp), PARAMETER :: P_SFC_STP = 1013.25_fp ! hPa REAL(fp), PARAMETER :: T_298_K = 298.0_fp ! K !================================================================= ! AEROSOL_CONC begins here! !================================================================= ! Assume success RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at AEROSOL_CONC (in module GeosCore/aerosol_mod.F90)' ! Copy fields from INPUT_OPT to local variables for use below LCARB = Input_Opt%LCARB LDUST = Input_Opt%LDUST LSSALT = Input_Opt%LSSALT LSULF = Input_Opt%LSULF #ifdef TOMAS ! Number of size bins for TOMAS microphysics IBINS = State_Chm%nTomasBins #endif ! Set pointers REAA => State_Chm%Phot%REAA ! Stop aerosol chem timer (so that unit conv can be timed separately) IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "=> Aerosol chem", RC ) ENDIF ! Convert species to [kg] for this routine CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & new_units = KG_SPECIES, & mapping = State_Chm%Map_Advect, & previous_units = previous_units, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Unit conversion error at start of AEROSOL_CONC!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Start aerosol chem timer again IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "=> Aerosol chem", RC ) ENDIF ! Initialize pointers Spc => State_Chm%Species AIRVOL => State_Met%AIRVOL PMID => State_Met%PMID T => State_Met%T SOILDUST => State_Chm%SoilDust KG_STRAT_AER => State_Chm%KG_AER !================================================================= ! OM/OC ratio ! ! Get spatial and seasonally varying OM/OC from Philip et al. (2014) ! or use default global mean values recommended by Aerosols WG !================================================================= ! Get data for OM/OC for current month from HEMCO MONTH = GET_MONTH() IF ( MONTH == 12 .or. MONTH == 1 .or. MONTH == 2 ) THEN FieldName = 'OMOC_DJF' ELSE IF ( MONTH == 3 .or. MONTH == 4 .or. MONTH == 5 ) THEN FieldName = 'OMOC_MAM' ELSE IF ( MONTH == 6 .or. MONTH == 7 .or. MONTH == 8 ) THEN FieldName = 'OMOC_JJA' ELSE IF ( MONTH == 9 .or. MONTH == 10 .or. MONTH == 11 ) THEN FieldName = 'OMOC_SON' ENDIF IF ( RC /= GC_SUCCESS ) RETURN #if !defined( MODEL_CESM ) && !defined( MODEL_BCC ) CALL HCO_GC_EvalFld( Input_Opt, State_Grid, Trim(FieldName), State_Chm%OMOC, RC, FOUND=FND ) #else FND = .True. RC = GC_SUCCESS #endif IF ( RC == GC_SUCCESS .AND. FND ) THEN ! Set OM/OC using spatially and seasonally varying data from ! Philip et al. (2014) State_Chm%AerMass%OCFPOA(:,:) = State_Chm%OMOC(:,:) ! OM/OC for POA and OCPO State_chm%AerMass%OCFOPOA(:,:) = State_Chm%OMOC(:,:) ! OM/OC for OPOA and OCPI ELSE ! Use default global mean OM/OC recommended by the Aerosols WG State_Chm%AerMass%OCFPOA(:,:) = 1.4e+0_fp ! OM/OC for POA and OCPO State_chm%AerMass%OCFOPOA(:,:) = 2.1e+0_fp ! OM/OC for OPOA and OCPI ENDIF ! Save OM/OC State_Chm%OMOC_POA(:,:) = State_Chm%AerMass%OCFPOA(:,:) State_Chm%OMOC_OPOA(:,:) = State_chm%AerMass%OCFOPOA(:,:) !================================================================= ! Compute growth factors at 35% RH ! ! GF = 1 + [ ( r_wet / r_dry )^3 -1 ] * [ rho_wet / rho_dry ] ! ! and use rho_wet = 1000 kg/m3 !================================================================= IF ( FIRST ) THEN ! Species index of REAA from RD_AOD (in fast_jx_mod.F90) k_SO4 = 1 k_ORG = 3 k_SSA = 4 ! Density of H2O [kg/m3] Rho_wet = 1000e+0_fp ! Growth factor for SO4 + NIT + NH4 Rad_dry = REAA(1,k_SO4,State_Chm%Phot%DRg) ! DRg = 6. choice of dry size doesn't affect volume growth ratio (hzhu) Rad_wet = REAA(1,k_SO4,State_Chm%Phot%DRg) + 35e+0_fp * & ( REAA(2,k_SO4,State_Chm%Phot%DRg) - REAA(1,k_SO4,State_Chm%Phot%DRg) ) / 50e+0_fp Rho_dry = State_Chm%SpcData(id_SO4)%Info%Density SIA_GROWTH = 1 + ( ( ( Rad_wet / Rad_dry ) ** 3 - 1 ) * & ( Rho_wet / Rho_dry ) ) ! Force SIA growth to 1.1 to treat as partially crystalline SIA_GROWTH = 1.1_fp ! Growth factor for OCPI + SOA Rad_dry = REAA(1,k_ORG,State_Chm%Phot%DRg) Rad_wet = REAA(1,k_ORG,State_Chm%Phot%DRg) + 35e+0_fp * & ( REAA(2,k_ORG,State_Chm%Phot%DRg) - REAA(1,k_ORG,State_Chm%Phot%DRg) ) / 50e+0_fp IF ( IS_POA ) THEN Rho_dry = State_Chm%SpcData(id_POA1)%Info%Density ELSE IF ( IS_OCPI ) THEN Rho_dry = State_Chm%SpcData(id_OCPI)%Info%Density ENDIF ORG_GROWTH = 1 + ( ( ( Rad_wet / Rad_dry ) ** 3 - 1 ) * & ( Rho_wet / Rho_dry ) ) ! Growth factor for SALA Rad_dry = REAA(1,k_SSA,State_Chm%Phot%DRg) Rad_wet = REAA(1,k_SSA,State_Chm%Phot%DRg) + 35e+0_fp * & ( REAA(2,k_SSA,State_Chm%Phot%DRg) - REAA(1,k_SSA,State_Chm%Phot%DRg) ) / 50e+0_fp Rho_dry = State_Chm%SpcData(id_SALA)%Info%Density SSA_GROWTH = 1 + ( ( ( Rad_wet / Rad_dry ) ** 3 - 1 ) * & ( Rho_wet / Rho_dry ) ) ! Print values to log file IF ( Input_Opt%Verbose ) THEN WRITE( 6,'(a)') 'Growth factors at 35% RH:' WRITE( 6, 100 ) SIA_GROWTH, ' for SO4, NIT, and NH4' WRITE( 6, 100 ) ORG_GROWTH, ' for OCPI and SOA' WRITE( 6, 100 ) SSA_GROWTH, ' for SALA' 100 FORMAT(F5.2,A) ENDIF ! Reset first-time flag FIRST = .FALSE. ENDIF !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, N, K ) & !$OMP SCHEDULE( DYNAMIC ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX !============================================================== ! S U L F A T E A E R O S O L S ! ! Dump hydrophilic aerosols into one array that will be passed ! to RDAER and then used for heterogeneous chemistry as well ! as photolysis rate calculations interatively. ! ! For the full-chemistry run, If LSULF=F, then we read these ! aerosol data from Mian's simulation. If LSULF=T then we use ! the online tracers. ! ! Now assume that all sulfate, ammonium, and nitrate are ! hydrophilic but sooner or later we can pass only hydrophilic ! aerosols from the thermodynamic calculations for this ! purpose. This dumping should be done before calling INITGAS, ! which converts the unit of Spc from kg/box to molec/cm3. ! ! Units of SO4_NH4_NIT are [kg/m3]. (rjp, bmy, 3/23/03) !============================================================== IF ( LSULF ) THEN ! If we are using the full stratospheric chemistry mechanism, ! stratospheric NH4 is ignored, stratospheric NIT is taken ! as available for NAT formation and stratospheric SO4 is ! taken as sulfuric acid IF ( State_Met%InTroposphere(I,J,L) ) THEN ! Tropospheric - keep as normal ! now including sulfate and nitrate associated with sea-salt ! NOTE: these should be treated as having a sea-salt size ! distribution but are currently simply treated in the same ! way (size and optics) as all other sulfate aerosol (DAR ! 2013) IF ( IS_HMS ) THEN !%%%%% Fullchem simulations: add contribution from HMS State_Chm%AerMass%SO4_NH4_NIT(I,J,L) = ( Spc(id_SO4)%Conc(I,J,L) & + Spc(id_HMS)%Conc(I,J,L) & + Spc(id_NH4)%Conc(I,J,L) & + Spc(id_NIT)%Conc(I,J,L) ) & / AIRVOL(I,J,L) State_Chm%AerMass%HMS(I,J,L) = Spc(id_HMS)%Conc(I,J,L) / AIRVOL(I,J,L) ELSE !%%%%% Aerosol-only simulations: Skip contribution from HMS State_Chm%AerMass%SO4_NH4_NIT(I,J,L) = ( Spc(id_SO4)%Conc(I,J,L) & + Spc(id_NH4)%Conc(I,J,L) & + Spc(id_NIT)%Conc(I,J,L) ) & / AIRVOL(I,J,L) State_Chm%AerMass%HMS(I,J,L) = 0.0_fp ENDIF State_Chm%AerMass%SO4(I,J,L) = Spc(id_SO4)%Conc(I,J,L) / AIRVOL(I,J,L) State_Chm%AerMass%NH4(I,J,L) = Spc(id_NH4)%Conc(I,J,L) / AIRVOL(I,J,L) State_Chm%AerMass%NIT(I,J,L) = Spc(id_NIT)%Conc(I,J,L) / AIRVOL(I,J,L) State_Chm%AerMass%SLA(I,J,L) = 0.0_fp State_Chm%AerMass%SPA(I,J,L) = 0.0_fp ELSE ! Tropospheric sulfate is zero in stratosphere State_Chm%AerMass%SO4_NH4_NIT(I,J,L) = 0.0_fp State_Chm%AerMass%SO4(I,J,L) = 0.0_fp State_Chm%AerMass%HMS(I,J,L) = 0.0_fp ! (jmm, 06/30/18) State_Chm%AerMass%NH4(I,J,L) = 0.0_fp State_Chm%AerMass%NIT(I,J,L) = 0.0_fp State_Chm%AerMass%SLA(I,J,L) = KG_STRAT_AER(I,J,L,1) / AIRVOL(I,J,L) State_Chm%AerMass%SPA(I,J,L) = KG_STRAT_AER(I,J,L,2) / AIRVOL(I,J,L) ENDIF ! Add error check for safe division (bmy, 4/7/15) IF ( State_Chm%AerMass%SO4_NH4_NIT(I,J,L) > 0e+0_fp ) THEN ! Save these fractions for partitioning of optics ! until later when these may be treated independently ! Only use HMS if it is defined (for fullchem sims) IF ( IS_HMS ) THEN State_Chm%AerMass%FRAC_SNA(I,J,L,1) = ( ( Spc(id_SO4)%Conc(I,J,L) + & Spc(id_HMS)%Conc(I,J,L) ) & / AIRVOL(I,J,L) ) & / State_Chm%AerMass%SO4_NH4_NIT(I,J,L) ELSE State_Chm%AerMass%FRAC_SNA(I,J,L,1) = ( Spc(id_SO4)%Conc(I,J,L) / AIRVOL(I,J,L) )& / State_Chm%AerMass%SO4_NH4_NIT(I,J,L) ENDIF State_Chm%AerMass%FRAC_SNA(I,J,L,2) = ( Spc(id_NIT)%Conc(I,J,L) / AIRVOL(I,J,L) ) & / State_Chm%AerMass%SO4_NH4_NIT(I,J,L) State_Chm%AerMass%FRAC_SNA(I,J,L,3) = ( Spc(id_NH4)%Conc(I,J,L) / AIRVOL(I,J,L) ) & / State_Chm%AerMass%SO4_NH4_NIT(I,J,L) ELSE ! If SO4_NH4_NIT(I,J,L) is zero, then avoid a div-by-zero ! error. Set all of these to zero because the division ! cannot be done. State_Chm%AerMass%FRAC_SNA(I,J,L,1) = 0e+0_fp State_Chm%AerMass%FRAC_SNA(I,J,L,2) = 0e+0_fp State_Chm%AerMass%FRAC_SNA(I,J,L,3) = 0e+0_fp ENDIF ENDIF !============================================================== ! C A R B O N & 2 n d A R Y O R G A N I C A E R O S O L S ! ! Compute hydrophilic and hydrophobic BC and OC in [kg/m3] ! Also add online 2ndary organics if necessary !============================================================== IF ( LCARB ) THEN ! Hydrophilic BC [kg/m3] State_Chm%AerMass%BCPI(I,J,L) = Spc(id_BCPI)%Conc(I,J,L) / AIRVOL(I,J,L) ! Hydrophobic BC [kg/m3] State_Chm%AerMass%BCPO(I,J,L) = Spc(id_BCPO)%Conc(I,J,L) / AIRVOL(I,J,L) ! Hydrophobic OC [kg/m3] ! Based on censensus from Aerosol WG, OM/OC ratio is ! 1.4 for POA1/2 in ComplexSOA_SVPOA and OCPO in SimpleSOA ! 2.1 for OPOA1/2 in ComplexSOA_SVPOA and OCPI in SimpleSOA IF ( IS_POA ) THEN State_Chm%AerMass%OCPO(I,J,L) = ( Spc(id_POA1)%Conc(I,J,L) & + Spc(id_POA2)%Conc(I,J,L) ) & * State_Chm%AerMass%OCFPOA(I,J) / AIRVOL(I,J,L) ELSE IF ( IS_OCPO ) THEN State_Chm%AerMass%OCPO(I,J,L) = Spc(id_OCPO)%Conc(I,J,L) & * State_chm%AerMass%OCFPOA(I,J) / AIRVOL(I,J,L) ENDIF ! Hydrophilic OC [kg/m3] IF ( IS_OCPI ) THEN State_Chm%AerMass%OCPI(I,J,L) = Spc(id_OCPI)%Conc(I,J,L) & * State_chm%AerMass%OCFOPOA(I,J) / AIRVOL(I,J,L) ENDIF ! Now avoid division by zero (bmy, 4/20/04) State_Chm%AerMass%BCPI(I,J,L) = MAX( State_Chm%AerMass%BCPI(I,J,L), 1e-35_fp ) State_Chm%AerMass%OCPI(I,J,L) = MAX( State_Chm%AerMass%OCPI(I,J,L), 1e-35_fp ) State_Chm%AerMass%BCPO(I,J,L) = MAX( State_Chm%AerMass%BCPO(I,J,L), 1e-35_fp ) State_Chm%AerMass%OCPO(I,J,L) = MAX( State_Chm%AerMass%OCPO(I,J,L), 1e-35_fp ) ENDIF ! LCARB !=========================================================== ! M I N E R A L D U S T A E R O S O L S ! ! NOTE: We can do better than this! Currently we carry 4 ! dust tracers...but het. chem and fast-j use 7 dust bins ! hardwired from Ginoux. ! ! Now, I apportion the first dust tracer into four smallest ! dust bins equally in mass for het. chem and fast-j. ! ! Maybe we need to think about chaning our fast-j and het. ! chem to use just four dust bins or more flexible ! calculations depending on the number of dust bins. ! (rjp, 03/27/04) ! ! Now splitting mass into bins in fractions derived from ! Highwood et al. (2003). Data is from log-normal fit of ! PCASP measurements of Saharan dust (Solid line in Fig.4b) ! (dar, 04/25/10) [see Ridley et al., 2012, JGR] ! ! Updated for TOMAS (Jeffrey Pierce, 6/17/14) ! ! Now get dust radius from species database (bmy, 3/16/17) !=========================================================== #ifdef TOMAS !----------------------------------------------------------- ! TOMAS simulations only !----------------------------------------------------------- IF ( LDUST ) THEN ! Zero SOILDUST SOILDUST(I,J,L,:) = 0.e0_fp ! Loop over the # of TOMAS dust bins DO K = 1, State_Chm%nTomasBins ! Get the overall species index for species K N = id_DUST01 + K - 1 ! Effective aerosol radius [m] REFF = State_Chm%SpcData(N)%Info%Radius ! Bin #1 IF ( REFF < 0.2e-6_fp ) THEN SOILDUST(I,J,L,1) = SOILDUST(I,J,L,1) & + Spc(N)%Conc(I,J,L) / AIRVOL(I,J,L) ! Bin #2 ELSE IF ( REFF < 0.325e-6_fp ) THEN SOILDUST(I,J,L,2) = SOILDUST(I,J,L,2) & + Spc(N)%Conc(I,J,L) / AIRVOL(I,J,L) ! Bin #3 ELSE IF ( REFF < 0.6e-6_fp ) THEN SOILDUST(I,J,L,3) = SOILDUST(I,J,L,3) & + Spc(N)%Conc(I,J,L) / AIRVOL(I,J,L) ! Bin #4 ELSE IF ( REFF < 1.15e-6_fp ) THEN SOILDUST(I,J,L,4) = SOILDUST(I,J,L,4) & + Spc(N)%Conc(I,J,L) / AIRVOL(I,J,L) ! Bin #5 ELSE IF ( REFF < 2.0e-6_fp ) THEN SOILDUST(I,J,L,5) = SOILDUST(I,J,L,5) & + Spc(N)%Conc(I,J,L) / AIRVOL(I,J,L) ! Bin #6 ELSE IF ( REFF < 3.25e-6_fp ) THEN SOILDUST(I,J,L,6) = SOILDUST(I,J,L,6) & + Spc(N)%Conc(I,J,L) / AIRVOL(I,J,L) ! Bin #7 ELSE SOILDUST(I,J,L,7) = SOILDUST(I,J,L,7) & + Spc(N)%Conc(I,J,L) / AIRVOL(I,J,L) ENDIF ENDDO ENDIF #else !----------------------------------------------------------- ! Preserve original code for non-TOMAS simulations !----------------------------------------------------------- IF ( LDUST ) THEN SOILDUST(I,J,L,1) = Spc(id_DSTbin1)%Conc(I,J,L) / AIRVOL(I,J,L) SOILDUST(I,J,L,2) = Spc(id_DSTbin2)%Conc(I,J,L) / AIRVOL(I,J,L) SOILDUST(I,J,L,3) = Spc(id_DSTbin3)%Conc(I,J,L) / AIRVOL(I,J,L) SOILDUST(I,J,L,4) = Spc(id_DSTbin4)%Conc(I,J,L) / AIRVOL(I,J,L) SOILDUST(I,J,L,5) = Spc(id_DSTbin5)%Conc(I,J,L) / AIRVOL(I,J,L) SOILDUST(I,J,L,6) = Spc(id_DSTbin6)%Conc(I,J,L) / AIRVOL(I,J,L) SOILDUST(I,J,L,7) = Spc(id_DSTbin7)%Conc(I,J,L) / AIRVOL(I,J,L) ENDIF #endif !=========================================================== ! S E A S A L T A E R O S O L S ! ! Compute accumulation & coarse mode concentration [kg/m3] !=========================================================== IF ( LSSALT ) THEN ! Accumulation mode seasalt aerosol [kg/m3] State_Chm%AerMass%SALA(I,J,L) = Spc(id_SALA)%Conc(I,J,L) / AIRVOL(I,J,L) ! Coarse mode seasalt aerosol [kg/m3] State_Chm%AerMass%SALC(I,J,L) = Spc(id_SALC)%Conc(I,J,L) / AIRVOL(I,J,L) ! Fine mode Cl-/sulfate interal mixed [kg/m3] State_Chm%AerMass%ACL(I,J,L) = ( Spc(id_SALACL)%Conc(I,J,L) + & Spc(id_SALA)%Conc(I,J,L)*0.45e0_fp)/AIRVOL(I,J,L) ! Avoid division by zero State_Chm%AerMass%SALA(I,J,L) = MAX( State_Chm%AerMass%SALA(I,J,L), 1e-35_fp ) State_Chm%AerMass%SALC(I,J,L) = MAX( State_Chm%AerMass%SALC(I,J,L), 1e-35_fp ) State_Chm%AerMass%ACL(I,J,L) = MAX( State_Chm%AerMass%ACL(I,J,L), 1e-35_fp ) ENDIF !=========================================================== ! S E C O N D A R Y O R G A N I C A E R O S O L S ! ! Compute SOA concentration [kg/m3] !=========================================================== !-------------------------------------------------------- ! Simple SOA scheme !-------------------------------------------------------- IF ( Is_SimpleSOA ) THEN ! Simple SOA [kg/m3] State_Chm%AerMass%SOAS(I,J,L) = Spc(id_SOAS)%Conc(I,J,L) / AIRVOL(I,J,L) ENDIF !-------------------------------------------------------- ! Complex SOA scheme !-------------------------------------------------------- IF ( Is_ComplexSOA ) THEN ! TSOA (terpene SOA) [kg/m3] IF ( IS_TSOA ) THEN State_Chm%AerMass%TSOA(I,J,L) = ( Spc(id_TSOA1)%Conc(I,J,L) & + Spc(id_TSOA2)%Conc(I,J,L) & + Spc(id_TSOA3)%Conc(I,J,L) & + Spc(id_TSOA0)%Conc(I,J,L) ) & / AIRVOL(I,J,L) ENDIF ! ASOA (benz, tolu, xyle, + NAP/IVOC SOA) [kg/m3] IF ( IS_ASOA ) THEN State_Chm%AerMass%ASOA(I,J,L) = ( Spc(id_ASOAN)%Conc(I,J,L) & + Spc(id_ASOA1)%Conc(I,J,L) & + Spc(id_ASOA2)%Conc(I,J,L) & + Spc(id_ASOA3)%Conc(I,J,L) ) & / AIRVOL(I,J,L) ENDIF ! OPOA [kg/m3] IF ( IS_OPOA ) THEN State_Chm%AerMass%OPOA(I,J,L) = ( Spc(id_OPOA1)%Conc(I,J,L) & + Spc(id_OPOA2)%Conc(I,J,L) ) & * State_chm%AerMass%OCFOPOA(I,J) / AIRVOL(I,J,L) ENDIF ENDIF !------------------------------------------------------- ! Mass loading of isoprene SOA (ISOAAQ) [kg/m3] !------------------------------------------------------- ! Glyoxal IF ( id_SOAGX > 0 ) THEN State_Chm%AerMass%ISOAAQ(I,J,L) = Spc(id_SOAGX)%Conc(I,J,L) / AIRVOL(I,J,L) ENDIF ! IEPOX IF ( id_SOAIE > 0 ) THEN State_Chm%AerMass%ISOAAQ(I,J,L) = State_Chm%AerMass%ISOAAQ(I,J,L) & + Spc(id_SOAIE)%Conc(I,J,L) / AIRVOL(I,J,L) ENDIF !----------------------------------------------------------------------- ! Exclude INDIOL from AOD and aerosol mass calculations. This results in ! lost mass. As noted in Fisher et al. (2016, ACP), this is a source of ! uncertainty and would benefit from an update when more information ! about this process becomes available. (eam, jaf, mps, 3/5/18) !! SOA from alkyl nitrates (some contribution !! from non-isoprene sources) !IF ( id_INDIOL > 0 ) THEN ! State_Chm%AerMass%ISOAAQ(I,J,L) = State_Chm%AerMass%ISOAAQ(I,J,L) + Spc(id_INDIOL)%Conc(I,J,L) / AIRVOL(I,J,L) !ENDIF !----------------------------------------------------------------------- ! SOA from ISOPOOH oxidation product IF ( id_LVOCOA > 0 ) THEN State_Chm%AerMass%ISOAAQ(I,J,L) = State_Chm%AerMass%ISOAAQ(I,J,L) & + Spc(id_LVOCOA)%Conc(I,J,L) / AIRVOL(I,J,L) ENDIF !------------------------------------------------------- ! Hydrophilic primary OC plus SOA [kg/m3]. ! ! We need to multiply by OCF to account for the mass of ! other components which are attached to the OC aerosol. ! (rjp, bmy, 7/15/04) ! ! SOAupdate: use 2.1 (OCFOPOA) (hotp 7/21/10) ! ! sfarina - add SOA-Simplified to primary OC. ! - IDTSOAS is already mass basis, so only apply ! OCFOPOA to IDTOCPI ! ! SOAupdate: Update traditional SOA (hotp 7/21/10) ! for new mtp + isop + lumparomivoc (hotp 5/20/10) ! ! %%% IMPORTANT %%% ! Note that if complex SOA is used then PM2.5 includes all ! the SOA formed in both the Marais et al. and Pye et al. ! schemes and may include some double-counting of isoprene SOA. ! (Aerosol WG) !------------------------------------------------------- ! Use simple SOA by default over complex SOA in calculations IF ( Is_SimpleSOA ) THEN State_Chm%AerMass%OCPISOA(I,J,L) = State_Chm%AerMass%OCPI(I,J,L) + & State_Chm%AerMass%SOAS(I,J,L) ELSEIF ( Is_ComplexSOA ) THEN State_Chm%AerMass%OCPISOA(I,J,L) = State_Chm%AerMass%TSOA(I,J,L) + & State_Chm%AerMass%ASOA(I,J,L) IF ( IS_OCPI ) THEN ! hotp 7/28/10 State_Chm%AerMass%OCPISOA(I,J,L) = State_Chm%AerMass%OCPISOA(I,J,L) + & State_Chm%AerMass%OCPI(I,J,L) ENDIF IF ( IS_OPOA ) THEN ! hotp 7/28/10 State_Chm%AerMass%OCPISOA(I,J,L) = State_Chm%AerMass%OCPISOA(I,J,L) + & State_Chm%AerMass%OPOA(I,J,L) ENDIF ! Add mechanistic isoprene OA (eam, 08/2015) ! Skip adding this for Simple SOA (jaf, clh, bmy, 5/17/18) ! benchmark OCPISOA follows simpleSOA and ! should exculde ISOAAQ to avoid double-counting ! (yuanjianz, 8 Jun 2024) State_Chm%AerMass%OCPISOA(I,J,L) = State_Chm%AerMass%OCPISOA(I,J,L) + State_Chm%AerMass%ISOAAQ(I,J,L) ENDIF ! Now avoid division by zero (bmy, 4/20/04) State_Chm%AerMass%OCPISOA(I,J,L) = MAX( State_Chm%AerMass%OCPISOA(I,J,L), 1e-35_fp ) !=========================================================== ! SOAGX [kg/m3] !=========================================================== IF ( IS_SOAGX ) THEN State_Chm%AerMass%SOAGX(I,J,L) = Spc(id_SOAGX)%Conc(I,J,L) * OCFG / AIRVOL(I,J,L) ENDIF !===================================================================== ! P A R T I C U L A T E M A T T E R ! ! See this documentation for the most up-to-date ! definitions of PM2.5 and PM10 used in GEOS-Chem: ! ! https://geos-chem.readthedocs.io/en/latest/geos-chem-shared-docs/supplemental-guides/pm25-pm10-guide.html !===================================================================== !--------------------------------------------------------------------- ! Particulate matter < 2.5um [kg/m3] ! ! Contribution of primary aerosols ! ! NOTE: The surface PM2.5 dust concentrations are calculated as ! as DSTbin1 + DSTbin2 + DSTbin3 + 0.546 DSTbin4 as described in ! Section 2.5 of https://doi.org/10.5194/gmd-18-6767-2025. !--------------------------------------------------------------------- State_Chm%AerMass%PM25(I,J,L) = & State_Chm%AerMass%NH4(I,J,L) * SIA_GROWTH + & State_Chm%AerMass%NIT(I,J,L) * SIA_GROWTH + & State_Chm%AerMass%SO4(I,J,L) * SIA_GROWTH + & State_Chm%AerMass%HMS(I,J,L) * SIA_GROWTH + & State_Chm%AerMass%BCPI(I,J,L) + & State_Chm%AerMass%BCPO(I,J,L) + & State_Chm%AerMass%OCPO(I,J,L) + & State_Chm%AerMass%SALA(I,J,L) * SSA_GROWTH + & SOILDUST(I,J,L,1) + & SOILDUST(I,J,L,2) + & SOILDUST(I,J,L,3) + & SOILDUST(I,J,L,4) * 0.546_fp ! Only add OCPI to PM2.5 if it's a defined species IF ( Is_OCPI ) THEN State_Chm%AerMass%PM25(I,J,L) = & State_Chm%AerMass%PM25(I,J,L) + & State_Chm%AerMass%OCPI(I,J,L) * ORG_GROWTH ENDIF !--------------------------------------------------------------------- ! Particulate matter < 2.5um [kg/m3] ! ! Contribution of secondary organic aerosols ! ! Include either simple SOA (default) or Complex SOA in PM2.5 ! calculation. In simulations where both Simple SOA and Complex SOA ! species are carried (i.e. "benchmark"), then only the Simple SOA ! will be added to PM2.5 and PM10, in order to avoid double-counting. !--------------------------------------------------------------------- IF ( Is_SimpleSOA ) THEN State_Chm%AerMass%PM25(I,J,L) = & State_Chm%AerMass%PM25(I,J,L) + & ( State_Chm%AerMass%SOAS(I,J,L) * ORG_GROWTH ) ELSE IF ( Is_ComplexSOA ) THEN State_Chm%AerMass%PM25(I,J,L) = & State_Chm%AerMass%PM25(I,J,L) + & State_Chm%AerMass%TSOA(I,J,L) * ORG_GROWTH + & State_Chm%AerMass%ASOA(I,J,L) * ORG_GROWTH + & State_Chm%AerMass%ISOAAQ(I,J,L) * ORG_GROWTH ! Includes SOAGX ! Need to add OPOA to PM2.5 for complexSOA_SVPOA simulations ! -- Maggie Marvin (15 Jul 2020) IF ( Is_OPOA ) THEN State_Chm%AerMass%PM25(I,J,L) = & State_Chm%AerMass%PM25(I,J,L) + & ( State_Chm%AerMass%OPOA(I,J,L) * ORG_GROWTH ) ENDIF ENDIF !--------------------------------------------------------------------- ! Particulate matter < 10um [kg/m3] ! ! PM10 = PM2.5 + contribution of coarse dust and seasalt aerosols ! ! Include the remaining 45.4% of DSTbin4 (that is not already added ! to PM2.5) into PM10. Also include only 15.6% of DSTbin7 in PM10, ! which is the fraction of the (Kok) particle size distribution that ! has an aerodynamic diameter of 10 um or less. ! See https://doi.org/10.5194/gmd-18-6767-2025 for details. !--------------------------------------------------------------------- State_Chm%AerMass%PM10(I,J,L) = & State_Chm%AerMass%PM25(I,J,L) + & SOILDUST(I,J,L,4) * 0.454_fp + & SOILDUST(I,J,L,5) + & SOILDUST(I,J,L,6) + & SOILDUST(I,J,L,7) * 0.156_fp + & State_Chm%AerMass%SALC(I,J,L) * SSA_GROWTH !--------------------------------------------------------------------- ! Apply STP correction factor based on ideal gas law !--------------------------------------------------------------------- State_Chm%AerMass%PM25(I,J,L) = & State_Chm%AerMass%PM25(I,J,L) * & ( P_SFC_STP / PMID(I,J,L) ) * & ( T(I,J,L) / T_298_K ) State_Chm%AerMass%PM10(I,J,L) = & State_Chm%AerMass%PM10(I,J,L) * & ( P_SFC_STP / PMID(I,J,L) ) * & ( T(I,J,L) / T_298_K ) !=========================================================== ! PDER [um] ! (hzhu, 04/05/2024) ! Parameterized dry effective radius for SNA and OM !=========================================================== IF ( State_Chm%AerMass%SO4_NH4_NIT(I,J,L) > 0e+0_fp ) THEN ! dry SNA and OM mass, in unit of ug/m3 State_Chm%AerMass%SNAOM(I,J,L) = ( State_Chm%AerMass%SO4_NH4_NIT(I,J,L) + & State_Chm%AerMass%OCPO(I,J,L) + & State_Chm%AerMass%OCPISOA(I,J,L) ) * 1.0e+9_fp ! ratio between OM and SNA, unitless State_Chm%AerMass%R_OMSNA(I,J,L) = ( State_Chm%AerMass%OCPO(I,J,L) + & State_Chm%AerMass%OCPISOA(I,J,L) ) / & State_Chm%AerMass%SO4_NH4_NIT(I,J,L) ! Parameterized dry effective radius, in unit of um State_Chm%AerMass%PDER(I,J,L) = (exp( 4.36_fp + 0.20_fp*log(State_Chm%AerMass%SNAOM(I,J,L)) + 0.065_fp*log(State_Chm%AerMass%R_OMSNA(I,J,L)) ) *0.001_fp )/0.9_fp ; IF (State_Chm%AerMass%PDER(I,J,L) == 0.0_fp) THEN State_Chm%AerMass%PDER(I,J,L) = 0.005_fp ! give it a small value to avoid divided by 0 ENDIF ELSE State_Chm%AerMass%SNAOM(I,J,L) = 0.0_fp; State_Chm%AerMass%R_OMSNA(I,J,L) = 0.0_fp; State_Chm%AerMass%PDER(I,J,L) = 0.005_fp; ENDIF !=========================================================== #ifdef MODEL_GEOS ! PM2.5 sulfates IF ( State_Diag%Archive_PM25su ) THEN State_Diag%PM25su(I,J,L) & = ( State_Chm%AerMass%SO4(I,J,L) * SIA_GROWTH ) & * ( P_SFC_STP / PMID(I,J,L) ) & * ( T(I,J,L) / T_298_K ) & * 1.0e+9_fp ENDIF ! PM2.5 nitrates IF ( State_Diag%Archive_PM25ni ) THEN State_Diag%PM25ni(I,J,L) & = ( State_Chm%AerMass%NH4(I,J,L) * SIA_GROWTH & + State_Chm%AerMass%NIT(I,J,L) * SIA_GROWTH ) & * ( P_SFC_STP / PMID(I,J,L) ) & * ( T(I,J,L) / T_298_K ) & * 1.0e+9_fp ENDIF ! PM2.5 BC IF ( State_Diag%Archive_PM25bc ) THEN State_Diag%PM25bc(I,J,L) & = ( State_Chm%AerMass%BCPI(I,J,L) & + State_Chm%AerMass%BCPO(I,J,L) ) & * ( P_SFC_STP / PMID(I,J,L) ) & * ( T(I,J,L) / T_298_K ) & * 1.0e+9_fp ENDIF ! PM2.5 OC IF ( State_Diag%Archive_PM25oc ) THEN State_Diag%PM25oc(I,J,L) & = ( State_Chm%AerMass%OCPO(I,J,L) & + State_Chm%AerMass%OCPI(I,J,L) * ORG_GROWTH ) & * ( P_SFC_STD / PMID(I,J,L) ) & * ( T(I,J,L) / T_298_K ) & * 1.0e+9_fp ENDIF ! PM2.5 dust IF ( State_Diag%Archive_PM25du ) THEN State_Diag%PM25du(I,J,L) & = ( SOILDUST(I,J,L,1) & + SOILDUST(I,J,L,2) & + SOILDUST(I,J,L,3) & + SOILDUST(I,J,L,4) * 0.546 ) & * ( P_SFC_STD / PMID(I,J,L) ) & * ( T(I,J,L) / T_298_K ) & * 1.0e+9_fp ENDIF ! PM2.5 sea salt IF ( State_Diag%Archive_PM25ss ) THEN State_Diag%PM25ss(I,J,L) & = ( State_Chm%AerMass%SALA(I,J,L) * SSA_GROWTH ) & * ( P_SFC_STD / PMID(I,J,L) ) & * ( T(I,J,L) / T_298_K ) & * 1.0e+9_fp ENDIF ! PM2.5 SOA IF ( State_Diag%Archive_PM25soa ) THEN State_Diag%PM25soa(I,J,L) & = ( State_Chm%AerMass%TSOA(I,J,L) * ORG_GROWTH & + State_Chm%AerMass%ASOA(I,J,L) * ORG_GROWTH & + State_Chm%AerMass%SOAS(I,J,L) * ORG_GROWTH & + State_Chm%AerMass%ISOAAQ(I,J,L) * ORG_GROWTH ) & * ( P_SFC_STD / PMID(I,J,L) ) & * ( T(I,J,L) / T_298_K ) & * 1.0e+9_fp ENDIF ! PM2.5 nitrate IF ( State_Diag%Archive_PM25nit ) THEN State_Diag%PM25nit(I,J,L) & = ( State_Chm%AerMass%NIT(I,J,L) * SIA_GROWTH ) & * ( P_SFC_STD / PMID(I,J,L) ) & * ( T(I,J,L) / T_298_K ) & * 1.0e+9_fp ENDIF ! PM2.5 ammonium IF ( State_Diag%Archive_PM25nh4 ) THEN State_Diag%PM25nh4(I,J,L) & = ( State_Chm%AerMass%NH4(I,J,L) * SIA_GROWTH ) & * ( P_SFC_STD / PMID(I,J,L) ) & * ( T(I,J,L) / T_298_K ) & * 1.0e+9_fp ENDIF #endif ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ! Stop aerosol chem timer (so that unit conv can be timed separately) IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "=> Aerosol chem", RC ) ENDIF ! Convert species back to original unit CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & mapping = State_Chm%Map_Advect, & new_units = previous_units, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN CALL GC_Error('Unit conversion error', RC, & 'End of AEROSOL_CONC in aerosol_mod.F90') RETURN ENDIF ! Start aerosol chem timer again IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "=> Aerosol chem", RC ) ENDIF ! Free pointers Spc => NULL() REAA => NULL() AIRVOL => NULL() PMID => NULL() T => NULL() SOILDUST => NULL() END SUBROUTINE AEROSOL_CONC !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: rdaer ! ! !DESCRIPTION: Subroutine RDAER reads global aerosol concentrations as ! determined by Mian Chin. Calculates optical depth at each level for ! "set\_prof". Also calculates surface area for heterogeneous chemistry. It ! uses aerosol parameters in FAST-J input file "jv\_spec.dat" for these ! calculations. (rvm, rjp, tdf, bmy, 11/04/01, 7/20/04) !\\ !\\ ! !INTERFACE: ! SUBROUTINE RDAER( Input_Opt, State_Chm, State_Diag, State_Grid, State_Met, & RC, MONTH, YEAR, ODSWITCH ) ! ! !USES: ! USE CMN_SIZE_Mod, ONLY : NAER, NRH, NDUST, NRHAER, NSTRATAER USE ErrCode_Mod USE ERROR_MOD, ONLY : ERROR_STOP, Safe_Div USE Input_Opt_Mod, ONLY : OptInput USE PhysConstants, ONLY : CONSVAP USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : ITS_A_NEW_MONTH USE TIME_MOD, ONLY : SYSTEM_TIMESTAMP USE UCX_MOD, ONLY : GET_STRAT_OPT USE Species_Mod, ONLY : Species IMPLICIT NONE ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object INTEGER, OPTIONAL :: MONTH ! # of current month INTEGER, OPTIONAL :: YEAR ! 4-digit year INTEGER, OPTIONAL :: ODSWITCH ! Logical indicator ! = 0: AOD computed ! at 999 nm ! = 1: AOD computed ! at wavelength set ! in Radiation Menu ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 20 Jul 2004 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! LOGICAL :: FIRST = .TRUE. LOGICAL :: LINTERP CHARACTER(LEN=16) :: STAMP INTEGER :: I, J, L, N, R, IRH, W, IRHN, NA, SpcID, g INTEGER :: AA, IWV, IIWV, NWVS, IR, NRT, S REAL*4 :: TEMP( State_Grid%NX,State_Grid%NY,State_Grid%NZ) REAL(fp) :: TEMP2(State_Grid%NX,State_Grid%NY,State_Grid%NZ) REAL(fp) :: MSDENS(NAER), DRYAREA, VDRY, VH2O REAL(f8) :: XTAU REAL*8 :: BCSCAT_AE !(xnw, 8/24/15) ! Variables for speed diagnostics INTEGER :: ITIMEVALS(8) REAL*8 :: OLDSECS, NEWSECS REAL*8 :: OLDSECST, NEWSECST ! Effective radius at RH bins read in from "FJX_spec.dat" REAL(fp) :: RW(NRH) ! Effective radius at RH after interpolation REAL(fp) :: REFF ! Q at different RH bins read in from "FJX_spec.dat" REAL(fp) :: AW(NRH) REAL(fp) :: QW(NRH) REAL(fp) :: SSW(NRH) REAL(fp) :: ASYW(NRH) REAL(fp) :: AW0 REAL(fp) :: QW0 REAL(fp) :: SSW0 REAL(fp) :: ASYW0 REAL(fp) :: DENOM,NUMER ! Used to interpolate between sizes REAL(fp) :: FRAC ! Change in Q (extinction efficiency) REAL(fp) :: SCALEQ ! Change in Radius with RH REAL(fp) :: SCALER ! Change in SSA with RH REAL(fp) :: SCALESSA ! Change in asym parameter with RH REAL(fp) :: SCALEASY ! Change in Optical properties vs RH REAL(fp) :: SCALEA REAL(fp) :: SCALEOD ! Change in Vol vs RH REAL(fp) :: SCALEVOL ! Convert AbsHum to RelHum REAL(fp) :: TK,CONSEXP,VPRESH2O,RELHUM ! Relative Humidities REAL(fp), SAVE :: RH(NRH) = (/0e+0_fp,0.5e+0_fp, & 0.7e+0_fp,0.8e+0_fp,0.9e+0_fp/) ! Temporary variables REAL(fp) :: RAER, SADSTRAT, RHOSTRAT, XSASTRAT INTEGER :: ISTRAT ! Aqueous aerosol volume (cm3/cm3): REAL(fp) :: TAERVOL ! Local variables for quantities from Input_Opt LOGICAL :: LCARB LOGICAL :: LSSALT LOGICAL :: LSULF LOGICAL :: LSTRATOD LOGICAL :: LRAD LOGICAL :: LBCAE ! (xnw, 8/24/15) REAL(fp) :: GF_RH REAL(fp) :: BCAE_1, BCAE_2 ! Pointers to State_Chm%Phot INTEGER, POINTER :: IWVREQUIRED(:) INTEGER, POINTER :: IWVSELECT (:,:) INTEGER, POINTER :: IRHARR (:,:,:) REAL*8, POINTER :: ACOEF_WV (:) REAL*8, POINTER :: BCOEF_WV (:) REAL*8, POINTER :: REAA (:,:,:) REAL*8, POINTER :: QQAA (:,:,:,:) REAL*8, POINTER :: ALPHAA (:,:,:,:) REAL*8, POINTER :: SSAA (:,:,:,:) REAL*8, POINTER :: ASYMAA (:,:,:,:) REAL*8, POINTER :: ISOPOD (:,:,:,:) REAL*8, POINTER :: ODAER (:,:,:,:,:) #ifdef RRTMG REAL*8, POINTER :: RTODAER (:,:,:,:,:) REAL*8, POINTER :: RTSSAER (:,:,:,:,:) REAL*8, POINTER :: RTASYMAER(:,:,:,:,:) #endif ! Other pointers REAL(fp), POINTER :: BXHEIGHT (:,:,:) REAL(fp), POINTER :: ERADIUS (:,:,:,:) REAL(fp), POINTER :: TAREA (:,:,:,:) REAL(fp), POINTER :: WERADIUS (:,:,:,:) REAL(fp), POINTER :: WTAREA (:,:,:,:) REAL(fp), POINTER :: ACLRADIUS(:,:,:) REAL(fp), POINTER :: ACLAREA (:,:,:) ! For diagnostics LOGICAL :: IsWL1 LOGICAL :: IsWL2 LOGICAL :: IsWL3 LOGICAL :: IsSLA LOGICAL :: IsPSC CHARACTER(LEN=255) :: ErrMsg TYPE(Species), POINTER :: SpcInfo !================================================================= ! RDAER begins here! !================================================================= ! speed diagnostic !CALL DATE_AND_TIME( VALUES=ITIMEVALS ) !OLDSECS=real(ITIMEVALS(5))*3600.0+real(ITIMEVALS(6))*60.0+ & ! real(ITIMEVALS(7))+real(ITIMEVALS(8))/1000.0 ! Assume success RC = GC_SUCCESS ! Copy fields from INPUT_OPT to local variables for use below LCARB = Input_Opt%LCARB LSSALT = Input_Opt%LSSALT LSULF = Input_Opt%LSULF LSTRATOD = Input_Opt%LSTRATOD LRAD = Input_Opt%LRAD LBCAE = Input_Opt%LBCAE !(xnw, 8/24/15) BCAE_1 = Input_Opt%BCAE_1 BCAE_2 = Input_Opt%BCAE_2 ! Initialize pointers IWVREQUIRED => State_Chm%Phot%IWVREQUIRED ! WL indexes for interpolation IWVSELECT => State_Chm%Phot%IWVSELECT ! Indexes of requested WLs IRHARR => State_Chm%Phot%IRHARR ! Relative humidity indexes ACOEF_WV => State_Chm%Phot%ACOEF_WV ! Coeffs for WL interpolation BCOEF_WV => State_Chm%Phot%BCOEF_WV ! Coeffs for WL interpolation REAA => State_Chm%Phot%REAA QQAA => State_Chm%Phot%QQAA ALPHAA => State_Chm%Phot%ALPHAA SSAA => State_Chm%Phot%SSAA ASYMAA => State_Chm%Phot%ASYMAA ISOPOD => State_Chm%Phot%ISOPOD ! Isoprene optical depth ODAER => State_Chm%Phot%ODAER ! Aerosol optical depth #ifdef RRTMG RTODAER => State_Chm%Phot%RTODAER ! Optical dust RTSSAER => State_Chm%Phot%RTSSAER RTASYMAER => State_Chm%Phot%RTASYMAER #endif BXHEIGHT => State_Met%BXHEIGHT ! Grid box height [m] ERADIUS => State_Chm%AeroRadi ! Aerosol Radius [cm] TAREA => State_Chm%AeroArea ! Aerosol Area [cm2/cm3] WERADIUS => State_Chm%WetAeroRadi ! Wet Aerosol Radius [cm] WTAREA => State_Chm%WetAeroArea ! Wet Aerosol Area [cm2/cm3] ACLRADIUS => State_Chm%AClRadi ! Fine Cl- Radius [cm] ACLAREA => State_Chm%AClArea ! Fine Cl- Area [cm2/cm3] !================================================================= ! S U L F A T E A E R O S O L S ! ! If LSULF = TRUE, then take the lumped SO4, NH4, NIT ! concentrations [kg/m3] computed by AEROSOL_CONC, and save ! into WAERSL(:,:,:,1) for use w/ FAST-J and hetchem. This is ! updated every timestep. (For fullchem and offline runs) ! ! If LSULF = FALSE, then read monthly mean offline sulfate aerosol ! concentrations [kg/m3] from disk at the start of each month. ! (For fullchem simulations only) !================================================================= IF ( LSULF ) THEN !----------------------------------- ! Use online aerosol concentrations !----------------------------------- IF ( FIRST ) THEN IF ( Input_Opt%amIRoot .and. Input_Opt%Verbose ) WRITE( 6, 100 ) 100 FORMAT( ' - RDAER: Using online SO4 NH4 NIT!' ) ENDIF !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX State_Chm%AerMass%WAERSL(I,J,L,1) = State_Chm%AerMass%SO4_NH4_NIT(I,J,L) ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDIF !================================================================= ! C A R B O N & 2 n d A R Y O R G A N I C A E R O S O L S ! ! If LCARB = TRUE, then take Hydrophilic OC, Hydrophobic OC, ! Hydropilic BC, and Hydrophobic BC, and 2ndary organic aerosol ! concentrations [kg/m3] that have been computed by AEROSOL_CONC. ! Save these into DAERSL and WAERSL for use w/ FAST-J and hetchem. ! These fields are updated every chemistry timestep. ! (For both fullchem and offline simulations) ! ! If LCARB = FALSE, then read monthly mean carbon aerosol ! concentrations [kg/m3] from disk at the start of each month. ! (For full chemistry simulations only) !================================================================= IF ( LCARB ) THEN !----------------------------------- ! Use online aerosol concentrations !----------------------------------- IF ( FIRST ) THEN IF ( Input_Opt%amIRoot .and. Input_Opt%Verbose ) WRITE( 6, 110 ) 110 FORMAT( ' - RDAER: Using online BCPI OCPI BCPO OCPO!' ) ENDIF !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Hydrophilic BC (a.k.a EC) [kg/m3] State_Chm%AerMass%WAERSL(I,J,L,2) = State_Chm%AerMass%BCPI(I,J,L) ! Hydrophilic OC [kg/m3] State_Chm%AerMass%WAERSL(I,J,L,3) = State_Chm%AerMass%OCPISOA(I,J,L) ! Hydrophobic BC (a.k.a EC) [kg/m3] State_Chm%AerMass%DAERSL(I,J,L,1) = State_Chm%AerMass%BCPO(I,J,L) ! Hydrophobic OC [kg/m3] State_Chm%AerMass%DAERSL(I,J,L,2) = State_Chm%AerMass%OCPO(I,J,L) ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDIF !================================================================= ! S E A S A L T A E R O S O L S ! ! If LSSALT = TRUE, then take accumulation and coarse mode ! seasalt aerosol concentrations [kg/m3] that are passed from ! KPP. Save these into WAERSL for use w/ FAST-J and ! hetchem. These fields are updated every chemistry timestep. ! (For both fullchem and offline simulations) ! ! If LSSALT = FALSE, then read monthly-mean coarse sea-salt ! aerosol concentrations [kg/m3] from the binary punch file. ! Also merge the coarse sea salt aerosols into a combined bin ! rather than carrying them separately. ! (For fullchem simulations only) !================================================================= IF ( LSSALT ) THEN !----------------------------------- ! Use online aerosol concentrations !----------------------------------- IF ( FIRST ) THEN IF ( Input_Opt%amIRoot .and. Input_Opt%Verbose ) THEN WRITE( 6, 120 ) 120 FORMAT( ' - RDAER: Using online SALA SALC' ) ENDIF ENDIF !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Accumulation mode seasalt aerosol [kg/m3] State_Chm%AerMass%WAERSL(I,J,L,4) = State_Chm%AerMass%SALA(I,J,L) ! Coarse mode seasalt aerosol [kg/m3] State_Chm%AerMass%WAERSL(I,J,L,5) = State_Chm%AerMass%SALC(I,J,L) ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDIF ! Transfer stratospheric aerosol data ! SDE 04/17/13 State_Chm%AerMass%WAERSL(:,:,:,NRHAER+1) = State_Chm%AerMass%SLA State_Chm%AerMass%WAERSL(:,:,:,NRHAER+2) = State_Chm%AerMass%SPA !================================================================= ! Calculate optical depth and surface area at each timestep ! to account for the change in relative humidity ! ! For the optical depth calculation, this involves carrying the ! optical depth at each RH as separate aerosols since OPMIE ! treats the phase functions and single scattering albedos ! separately. (An alternative would be to rewrite OPMIE) ! ! Scaling is sufficient for the surface area calculation !================================================================= ! Representative aerosol densities (kg/m3): MSDENS(1) = State_Chm%SpcData(id_SO4)%Info%Density MSDENS(2) = State_Chm%SpcData(id_BCPI)%Info%Density IF ( IS_POA ) THEN MSDENS(3) = State_Chm%SpcData(id_POA1)%Info%Density ELSE IF ( IS_OCPI ) THEN MSDENS(3) = State_Chm%SpcData(id_OCPI)%Info%Density ENDIF MSDENS(4) = State_Chm%SpcData(id_SALA)%Info%Density MSDENS(5) = State_Chm%SpcData(id_SALC)%Info%Density ! These default values unused (actively retrieved from ucx_mod) MSDENS(NRHAER+1) = 1700.0d0 ! SSA/STS MSDENS(NRHAER+2) = 1000.0d0 ! NAT/ice PSC !set default values for RH index array IRHARR(:,:,:)=1 ! Empty ODAER before refilling. This is required to make sure that ! all gridboxes outside the chemistry grid are zero and do not carry ! over values from previous time steps. (ckeller, 10/15/15) ODAER(:,:,:,:,:) = 0.0d0 ! DAR 09/2013 ! There are two ways RDAER can be called: ! (1) When Fast-J requires aerosol optics at 1000nm (ODSWITCH=0) ! (2) Before diags are accumulated, from RECOMPUTE_AOD (ODSWITCH=1) ! for (1) we just need the optics stored at a single wavelength ! not for all user specified wavelengths, hence NWVS=1, IWV=IWV1000 ! for (2) we need to determine if RRTMG is switched on ! if LRAD=true, calculation is over total minus standard wavelengths ! in optics dat files (NWVAA-NWVAA0) ! if LRAD=false, calculation is for the wavelengths required for ! user-requested wavelength output. These are determined in CALC_AOD ! within RD_AOD and stored in IWVREQUIRED. The coefficients to ! interpolate from the LUT wavelengths to the user-requested ! waveelenths (in CALC_AOD) are used here. ! Select number of wavelengths required to loop over IF (ODSWITCH .EQ. 0) THEN !this is the call for Fast_JX at 1000nm NWVS = 1 ELSE IF ( LRAD ) THEN !Loop over all RT wavelengths (30) ! plus any required for calculating the AOD NWVS = State_Chm%Phot%NWVAA - State_Chm%Phot%NWVAA0 + & State_Chm%Phot%NWVREQUIRED ELSE !Loop over wavelengths needed for !interpolation to those requested in geoschem_config.yml !(determined in RD_AOD) NWVS = State_Chm%Phot%NWVREQUIRED ENDIF ENDIF DO IIWV = 1, NWVS !now select the correct LUT wavelength IF (ODSWITCH .EQ. 0) THEN ! only doing for 1000nm (IWV1000 is set in RD_AOD) ! N.B. NWVS is fixed to 1 above - only one wavelength IWV=State_Chm%Phot%IWV1000 ELSE IF ( LRAD ) THEN ! RRTMG wavelengths begin after NWVAA0 standard wavelengths ! but add on any others required IF (IIWV.LE.30) THEN !index of RRTMG wavelengths starts after the standard NWVAA0 !(currently NWVAA0=11, hard-coded in phot_container_mod based ! on the .dat LUT) IWV = IIWV + State_Chm%Phot%NWVAA0 ELSE !now we calculate at wvs for the requested AOD IWV = IWVREQUIRED(IIWV-30) ENDIF ELSE ! IWVREQUIRED lists the index of requires standard wavelengths IWV = IWVREQUIRED(IIWV) ENDIF ENDIF ! Loop over types of aerosol with hygroscopic growth DO NA = 1, NAER ! Get ID following ordering of aerosol densities in RD_AOD IF ( NA <= NRHAER) THEN N = Map_NRHAER(NA) ELSE N = NA ENDIF !index for strat aerosol (only >0 for strat aero) ISTRAT=N-NRHAER ! NRT is subscript for RT arrays that contain SNA separately ! so their optics can be treated separately in future IF (N.GT.1) THEN NRT=N+2 ELSE NRT=N ENDIF !============================================================== ! Determine aerosol growth rates from the relative ! humidity in each box ! ! The optical depth scales with the radius and Q alone ! since SCALEDENS cancels as follows ! ! SCALER = RW / RDRY ! SCALEDENS = DENSWET / DENSDRY ! SCALEM = SCALEDENS * SCALER**3 ! SCALEOD = (SCALEQ * SCALEM) / (SCALEDENS * SCALER) ! = SCALEQ * SCALER**2 ! ! Cap aerosol values at 90% relative humidity since ! aerosol growth at that point becomes highly nonlinear and ! relative humidities above this value essentially mean ! there is a cloud in that grid box ! ! Q is the extinction efficiency ! ! Each grid box (I,J,L) will fall into one of the RH bins, ! since each grid box will have a different RH value. So, ! for SCALEOD(I,J,L,:), only one of the IRH bins will contain ! nonzero data, while the other IRH bins will all be zero. !============================================================== ! We loop over all selected wavelengths, referenced by IWV ! if FAST_J is calling then IWV will be for 1000nm only ! if RRTMG is on then IWV will be 30 wavelengths + AOD wavs, ! otherwise IWV will be at user input specified wavelengths ! Loop over grid boxes !$OMP PARALLEL DO & !$OMP PRIVATE( I, J, L, R, IRH ) & !$OMP PRIVATE( RW, QW, AW, SSW, ASYW ) & !$OMP PRIVATE( AW0, QW0, SSW0, ASYW0, REFF ) & !$OMP PRIVATE( SCALEA, SCALEQ, SCALESSA, SCALEASY, FRAC ) & !$OMP PRIVATE( SCALER, SCALEOD, SCALEVOL, DRYAREA, TAERVOL ) & !$OMP PRIVATE( TK, CONSEXP, VPRESH2O, RELHUM, BCSCAT_AE ) & #ifdef RRTMG !$OMP PRIVATE( IR ) & #endif !$OMP PRIVATE( RHOSTRAT, RAER, SADSTRAT, XSASTRAT ) & !$OMP PRIVATE( VDRY, VH2O, S, g ) & !$OMP SCHEDULE( DYNAMIC, 8 ) & !$OMP COLLAPSE( 3 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Zero private loop variables g = 0 IRH = 0 S = 0 RW = 0.0_fp QW = 0.0_fp AW = 0.0_fp SSW = 0.0_fp ASYW = 0.0_fp FRAC = 0.0_fp AW0 = 0.0_fp QW0 = 0.0_fp SSW0 = 0.0_fp ASYW0 = 0.0_fp REFF = 0.0_fp SCALEA = 0.0_fp SCALEQ = 0.0_fp SCALESSA = 0.0_fp SCALEASY = 0.0_fp FRAC = 0.0_fp SCALER = 0.0_fp SCALEOD = 0.0_fp SCALEVOL = 0.0_fp DRYAREA = 0.0_fp TAERVOL = 0.0_fp TK = 0.0_fp CONSEXP = 0.0_fp VPRESH2O = 0.0_fp RELHUM = 0.0_fp RHOSTRAT = 0.0_fp RAER = 0.0_fp SADSTRAT = 0.0_fp XSASTRAT = 0.0_fp VDRY = 0.0_fp VH2O = 0.0_fp BCSCAT_AE = 0.0_fp ! Loop over relative humidity bins IF (N == 1 .or. N == 3) THEN ! (hzhu, 08/2023) ! For SNA or Organics g = 1 DO WHILE ( State_Chm%AerMass%PDER(I,J,L) > REAA(1,N,g) .and. & g < State_Chm%Phot%NDRg ) ! REAA(1,N,g) is the upper limit of REFF g = g + 1 END DO IF (g == 1) THEN DO R = 1, NRH ! Wet radius in aerosol LUT files RW(R) = REAA(R,N,g) ! Extinction efficiency for Q for each RH bin QW(R) = QQAA(IWV,R,N,g) AW(R) = ALPHAA(IWV,R,N,g) SSW(R) = SSAA(IWV,R,N,g) ASYW(R) = ASYMAA(IWV,R,N,g) ENDDO ELSE FRAC = (State_Chm%AerMass%PDER(I,J,L) - REAA(1,N,g-1))/ & (REAA(1,N,g) - REAA(1,N,g-1)) IF ( FRAC > 1.0d0 ) FRAC = 1.0d0 DO R = 1, NRH RW(R) = FRAC*REAA(R,N,g) + (1.d0-FRAC)*REAA(R,N,g-1) QW(R) = FRAC*QQAA(IWV,R,N,g) + & (1.d0-FRAC)*QQAA(IWV,R,N,g-1) AW(R) = FRAC*ALPHAA(IWV,R,N,g)+ & (1.d0-FRAC)*ALPHAA(IWV,R,N,g-1) SSW(R) = FRAC*SSAA(IWV,R,N,g) + & (1.d0-FRAC)*SSAA(IWV,R,N,g-1) ASYW(R)= FRAC*ASYMAA(IWV,R,N,g)+ & (1.d0-FRAC)*ASYMAA(IWV,R,N,g-1) END DO END IF ELSE ! For other species DO R = 1, NRH ! Wet radius in aerosol LUT files RW(R) = REAA(R,N,State_Chm%Phot%DRg) ! Extinction efficiency for Q for each RH bin QW(R) = QQAA(IWV,R,N,State_Chm%Phot%DRg) AW(R) = ALPHAA(IWV,R,N,State_Chm%Phot%DRg) SSW(R) = SSAA(IWV,R,N,State_Chm%Phot%DRg) ASYW(R) = ASYMAA(IWV,R,N,State_Chm%Phot%DRg) ENDDO ENDIF ! Skip non-chemistry boxes IF ( .not. State_Met%InChemGrid(I,J,L) ) CYCLE ! Calculate RH. Not clear why the result of this calc is ! slightly different than State_Met%RH RELHUM = State_Met%AVGW(I,J,L) * State_Met%AIRNUMDEN(I,J,L) TK = State_Met%T(I,J,L) CONSEXP = 17.2693882e+0_fp * (TK - 273.16e+0_fp) / & (TK - 35.86e+0_fp) VPRESH2O = CONSVAP * EXP(CONSEXP) / TK RELHUM = RELHUM / VPRESH2O ! Sort into relative humidity bins ! Currently uses the 0, 50, 70, 80, 90% RH bins ! (95 and 99% also stored in data files but not used) IF ( RELHUM <= RH(2) ) THEN IRH = 1 ELSE IF ( RELHUM <= RH(3) ) THEN IRH = 2 ELSE IF ( RELHUM <= RH(4) ) THEN IRH = 3 ELSE IF ( RELHUM <= RH(5) ) THEN IRH = 4 ELSE IRH = 5 ENDIF ! save the index of the relative humidity into array that is ! used by the photolysis to pull the right optics ! information from the FJX_spec.dat ! Previously the ODAER was organized by aerosol species and ! each RH bin, but this leaves a lot of the array redundant ! because only one RH bin is used at once ! This becomes a waste of memory with multiple wavelengths IRHARR(I,J,L) = IRH ! For the NRHth bin, we don't have to interpolate ! For the other bins, we have to interpolate ! Sometimes values can be zero, don't want to divide by 0... IF (AW(1).EQ.0.0) THEN AW0=1.0 ELSE AW0=AW(1) ENDIF IF (QW(1).EQ.0.0) THEN QW0=1.0 ELSE QW0=QW(1) ENDIF IF (SSW(1).EQ.0.0) THEN SSW0=1.0 ELSE SSW0=SSW(1) ENDIF IF (ASYW(1).EQ.0.0) THEN ASYW0=1.0 ELSE ASYW0=ASYW(1) ENDIF IF ( IRH == NRH ) THEN REFF = RW(NRH) SCALEA = AW(NRH) / AW0 !QW(1) is dry extinction eff. SCALEQ = QW(NRH) / QW0 SCALESSA = SSW(NRH) / SSW0 SCALEASY = ASYW(NRH) / ASYW0 ELSE ! Interpolate between different RH FRAC = (RELHUM-RH(IRH)) / (RH(IRH+1)-RH(IRH)) IF ( FRAC > 1.0d0 ) FRAC = 1.0d0 REFF = FRAC*RW(IRH+1) + (1.d0-FRAC)*RW(IRH) SCALEA =(FRAC*AW(IRH+1) + (1.d0-FRAC)*AW(IRH))/AW0 SCALEQ =(FRAC*QW(IRH+1) + (1.d0-FRAC)*QW(IRH))/QW0 SCALESSA=(FRAC*SSW(IRH+1) + (1.d0-FRAC)*SSW(IRH))/SSW0 SCALEASY=(FRAC*ASYW(IRH+1)+ (1.d0-FRAC)*ASYW(IRH))/ASYW0 ENDIF SCALER = REFF / RW(1) SCALEOD = SCALEQ * SCALER * SCALER IF ( N.LE.NRHAER ) THEN !-------------------------------------------------------- ! %%%%%%% Aerosols undergoing hygroscopic growth %%%%%%% !-------------------------------------------------------- !calculate optics for hyrdophillic aerosol here !However MDENS in LUT was in g/cm3 not kg/m3 so x1e3 ODAER(I,J,L,IWV,N) = SCALEOD * BXHEIGHT(I,J,L) * 0.75d0 * & State_Chm%AerMass%WAERSL(I,J,L,N) * QW(1) / & ( MSDENS(N) * RW(1) * 1.0D-6 ) !Include BC absorption enhancement (xnw, 8/24/15) IF (N.eq.2) THEN IF (LBCAE) THEN BCSCAT_AE = ODAER(I,J,L,IWV,N)*SCALESSA*SSAA(IWV,1,N,State_Chm%Phot%DRg) ODAER(I,J,L,IWV,N) = ODAER(I,J,L,IWV,N) * & ( BCAE_1 + SCALESSA*SSAA(IWV,1,N,State_Chm%Phot%DRg) - & SCALESSA*SSAA(IWV,1,N,State_Chm%Phot%DRg)*BCAE_1 ) !now combine with hydrophilic OD as before BCSCAT_AE = BCSCAT_AE + SSAA(IWV,1,N,State_Chm%Phot%DRg) * & 0.75d0 * BXHEIGHT(I,J,L) * & State_Chm%AerMass%DAERSL(I,J,L,N-1) * QW(1) / & ( MSDENS(N) * REAA(1,N,State_Chm%Phot%DRg) * 1.0D-6 ) ODAER(I,J,L,IWV,N)= ODAER(I,J,L,IWV,N) + & (BCAE_2+SSAA(IWV,1,N,State_Chm%Phot%DRg) - SSAA(IWV,1,N,State_Chm%Phot%DRg)*BCAE_2) * & 0.75d0 * BXHEIGHT(I,J,L) * & State_Chm%AerMass%DAERSL(I,J,L,N-1) * QW(1) / & ( MSDENS(N) * REAA(1,N,State_Chm%Phot%DRg) * 1.0D-6 ) ELSE !now combine with hydrophilic OD as before ODAER(I,J,L,IWV,N)= ODAER(I,J,L,IWV,N) + & 0.75d0 * BXHEIGHT(I,J,L) * & State_Chm%AerMass%DAERSL(I,J,L,N-1) * QW(1) / & ( MSDENS(N) * REAA(1,N,State_Chm%Phot%DRg) * 1.0D-6 ) ENDIF ENDIF IF (N.eq.3) THEN !now combine with hydrophilic OD as before ODAER(I,J,L,IWV,N)= ODAER(I,J,L,IWV,N) + & 0.75d0 * BXHEIGHT(I,J,L) * & State_Chm%AerMass%DAERSL(I,J,L,N-1) * QW(1) / & ( MSDENS(N) * State_Chm%AerMass%PDER(I,J,L) * 1.0D-6 ) ENDIF ! Get the AOD contribution from isoprene SOA only (eam, 2014) IF ( N == 3 .and. Is_ComplexSOA ) THEN ISOPOD(I,J,L,IWV) = SCALEOD*BXHEIGHT(I,J,L)*0.75d0 & * State_Chm%AerMass%ISOAAQ(I,J,L) * QW(1) / & ( MSDENS(N) * State_Chm%AerMass%PDER(I,J,L) * 1.0D-6 ) ENDIF ELSE !-------------------------------------------------------- ! %%%%%%% Stratospheric aerosols %%%%%%% !-------------------------------------------------------- ! Get aerosol effective radius CALL GET_STRAT_OPT(State_Chm, I, J, L, ISTRAT, RAER, REFF, & SADSTRAT, XSASTRAT) ! SDE 2014-02-04 ! The calculation used for the aerosols above ! is essentially a roundabout way of deriving ! the cross-sectional area. For log-normally ! distributed aerosols, this is much easier, ! and a direct query prevents the possibility ! of dividing a small mass by a small calculated ! radius and blowing up ! Aerosol optical depth ODAER(I,J,L,IWV,N) = BXHEIGHT(I,J,L) * XSASTRAT * QW(1) ENDIF #ifdef RRTMG !SNA currently treated as one with optics but considered !separately for RT, so we split them by mass here IF (N.EQ.1) THEN DO IR=1,3 RTODAER(I,J,L,IWV,N+IR-1)= ODAER(I,J,L,IWV,N)* & State_Chm%AerMass%FRAC_SNA(I,J,L,IR) RTSSAER(I,J,L,IWV,N+IR-1) = SCALESSA*SSAA(IWV,1,N,State_Chm%Phot%DRg) RTASYMAER(I,J,L,IWV,N+IR-1) = SCALEASY*ASYMAA(IWV,1,N,State_Chm%Phot%DRg) ENDDO ELSE !RT arrays now offset from NAER by 2 (NRT=N+2 for N>1) !This will automatically be added after the standard aerosol !(NRHAER+1,2) but before dust RTODAER(I,J,L,IWV,NRT) = ODAER(I,J,L,IWV,N) RTSSAER(I,J,L,IWV,NRT) = SCALESSA*SSAA(IWV,1,N,State_Chm%Phot%DRg) !for BC SSA with absorption enhancement (xnw 8/24/15) IF ((N .EQ. 2) .AND. (LBCAE)) THEN RTSSAER(I,J,L,IWV,NRT) = BCSCAT_AE / & ODAER(I,J,L,IWV,N) ENDIF RTASYMAER(I,J,L,IWV,NRT) = SCALEASY*ASYMAA(IWV,1,N,State_Chm%Phot%DRg) ENDIF #endif ! Only need to do hyg once, not for each wavelength ! Skip stratospheric aerosols IF ((IIWV.EQ.1).and.(ISTRAT.le.0)) THEN !---------------------------------------------------- ! Netcdf diagnostics computed here: ! Hygroscopic growth of SO4 [unitless] ! Hygroscopic growth of Black Carbon [unitless] ! Hygroscopic growth of Organic Carbon [unitless] ! Hygroscopic growth of Sea Salt (accum) [unitless] ! Hygroscopic growth of Sea Salt (coarse) [unitless] IF ( State_Diag%Archive_AerHygGrowth .AND. & L <= State_Met%MaxChemLev .AND. & ODSWITCH.EQ.1 ) THEN S = State_Diag%Map_AerHygGrowth%id2slot(NA) IF ( S > 0 ) THEN State_Diag%AerHygGrowth(I,J,L,S) = SCALEOD ENDIF ENDIF !======================================================= !now calulate the surface areas !============================================================== ! Calculate Aerosol Surface Area ! ! Units ==> AERSL [ kg aerosol m^-3 air ] ! MSDENS [ kg aerosol m^-3 aerosol ] ! ERADIUS [ cm ] ! TAREA [ cm^2 dry aerosol/cm^3 air ] ! ! Note: first find volume of aerosol (cm^3 arsl/cm^3 air), then ! multiply by 3/radius to convert to surface area in cm^2 ! ! Wet Volume = AERSL * SCALER**3 / MSDENS ! Wet Surface Area = 3 * (Wet Volume) / ERADIUS ! ! Effective radius for surface area and optical depths ! are identical. !============================================================== !======================================================== ! NOTES: ! WAERSL [ kg dry mass of wet aerosol m^-3 air ] ! ERADIUS [ cm wet aerosol radius ] ! MSDENS [ kg dry mass of aerosol m^-3 dry volume of aer] ! TAREA [ cm^2 wet sfc area of aerosol cm^-3 air ] ! WTAREA : same as TAREA, but excludes dry dust, BCPO, OCPO ! use same units as TAREA (tmf, 4/18/07) ! WERADIUS : same as ERADIUS, but excludes dry dust,BCPO,OCPO ! use same units as ERADIUS (tmf, 4/18/07) ! Wet dust WTAREA and WERADIUS are archived in dust_mod.F90. !======================================================== !get scaling for R and VOL SCALER = REFF / RW(1) SCALEVOL = SCALER**3 ERADIUS(I,J,L,N+NDUST) = 1.0D-4 * REFF ! Store aerosol surface areas in TAREA, and be sure ! to list them following the dust surface areas TAREA(I,J,L,N+NDUST) = 3.D0 * State_Chm%AerMass%WAERSL(I,J,L,N) * SCALEVOL / & ( ERADIUS(I,J,L,N+NDUST) * MSDENS(N) ) WTAREA(I,J,L,N+NDUST) = TAREA(I,J,L,N+NDUST) WERADIUS(I,J,L,N+NDUST) = ERADIUS(I,J,L,N+NDUST) ! For SO4-NIT-NH4-fine sea salt aerosol, re-calculate the wet ! effective ! radius using the water content from ISORROPIA/HETP. ! This new effective radius will be used for surface area ! used in heterogeneous chemistry. We don't use this ! effective radius in the optics above (OD, scattering, ! absorption) because the index of refraction, phase ! function, and Q must all be consistent with the radius and ! composition. ! (cdholmes, 5/17/2019, with update by XW, 5/28/2020) IF (N == 1) THEN ! Volume of water, m3(H2O)/m3(air) ! AeroH2O has units g/m3 VH2O = State_Chm%AeroH2O(I,J,L,NDUST+1) / 1e6 ! Volume of dry aerosol, m3(aerosol)/m3(air) VDry = State_Chm%AerMass%WAERSL(I,J,L,1)/MSDENS(1) + State_Chm%AerMass%WAERSL(I,J,L,4)/MSDENS(4) ! Notes on REFF derivation ! Volume of wet aerosol: VWet = VDry + VH2O [note: ! this is incorrect but has the correct limits for ! VH2O/VDry << 1 and VH2O/VDry >> 1. It would be ! better to use an empirical function for density.] ! Volume of one dry particle v1dry = 4/3*pi*RDry**3 ! [note: RW(1) = RDry] ! Number of aerosol particles: n = VDry / v1dry ! Volume of wet aerosol is also: VWet = 4/3*pi * RWet**3 * n ! So RWet = ( 3*VWet / (4 pi n) )**(1/3) ! RWet = RDry * ( 1 + VH2O/Vdry )**(1/3) ! Wet effective radius, um ! Here assume the dry radius of the mixture = SNA REFF = RW(1) * min( 3d0, & ( 1d0 + safe_div( VH2O, VDry, 0d0 ) )**(1d0/3d0)) ACLRADIUS(I,J,L) = 1.0D-4 * REFF ACLAREA(I,J,L) = 3.D0*(VH2O + VDry) / ACLRADIUS(I,J,L) ENDIF ! Save aerosol water content. Assume that the increase in volume ! equals the volume of pure water added, m3(H2O)/m3(air), ! then convert to g/m3 ! Don't update SNA, keep ISORROPIA/HETP values IF (N.ne.1) THEN State_Chm%AeroH2O(I,J,L,N+NDUST) = 1e+6_fp * & State_Chm%AerMass%WAERSL(I,J,L,N) / MSDENS(N) * (ScaleVol - 1d0) ENDIF !include hydrophobic BC and OC !stored separate to hydrophillic in RT variables IF ((N.eq.2).or.(N.eq.3)) THEN ! Dry surface area ! SDE 2015-10-27: RW is in um, but everything ! else is in terms of cm. Correct with 10^-4 factor DRYAREA = 3.D0 * State_Chm%AerMass%DAERSL(I,J,L,N-1) / ( RW(1) * & 1.0D-4 * MSDENS(N) ) ! Add surface area to TAREA array TAREA(I,J,L,N+NDUST) = WTAREA(I,J,L,N+NDUST) + DRYAREA ! Define a new effective radius that accounts ! for the hydrophobic aerosol ERADIUS(I,J,L,NDUST+N) = ( WERADIUS(I,J,L,NDUST+N) * & WTAREA(I,J,L,N+NDUST) + & RW(1) * 1.0D-4 * DRYAREA )/ & ( WTAREA(I,J,L,N+NDUST) + & DRYAREA ) ENDIF !Hydrophobic aerosol surface area !---------------------------------------------------- ! Netcdf diagnostics computed here: ! Aqueous aerosol volume IF ( State_Diag%Archive_AerAqVol .AND. N.EQ.1 ) THEN State_Diag%AerAqVol(I,J,L) = & ( ERADIUS(I,J,L,NDUST+N) * TAREA(I,J,L, N+NDUST) ) / 3.D0 ENDIF ENDIF !Surface area calcs (1st wavelength only, non-strat) ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDDO !Loop over NAER ENDDO !End loop over NWVS !============================================================== ! Account for stratospheric aerosols (SDE 04/17/13) !============================================================== ! Loop over stratospheric aerosols DO ISTRAT = 1,NSTRATAER ! Index for combination of aerosol type and RH N = NRHAER + ISTRAT ! Assume ISTRAT == 1 is strat liquid aerosol and ! ISTRAT == 2 is polar strat cloud IsSLA = .FALSE. IsPSC = .FALSE. SELECT CASE ( ISTRAT ) CASE ( 1 ) IsSLA = .TRUE. CASE ( 2 ) IsPSC = .TRUE. CASE DEFAULT WRITE( 6,'(a)') "WARNING: aerosol diagnostics not defined " // & "for NSTRATAER greater than 2!" END SELECT !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, RAER, REFF ) & !$OMP PRIVATE( SADSTRAT, XSASTRAT ) & !$OMP SCHEDULE( DYNAMIC ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Get aerosol effective radius CALL GET_STRAT_OPT(State_Chm, I,J,L,ISTRAT,RAER,REFF,SADSTRAT,XSASTRAT) ! Moved this from a separate loop for clarity IF ( State_Met%InChemGrid(I,J,L) ) THEN ! Add surface area to TAREA array TAREA(I,J,L,NDUST+N) = SADSTRAT WTAREA(I,J,L,NDUST+N) = SADSTRAT ! Store radius ERADIUS(I,J,L,NDUST+N) = RAER WERADIUS(I,J,L,NDUST+N) = RAER ENDIF !---------------------------------------------------- ! Netcdf diagnostics computed here: ! Strat aerosol liquid surface area ! Polar strat cloud surface area IF ( State_Diag%Archive_AerSurfAreaSLA .AND. ISTRAT==1 ) THEN State_Diag%AerSurfAreaSLA(I,J,L) = SADSTRAT ENDIF IF ( State_Diag%Archive_AerSurfAreaPSC .AND. ISTRAT==2 ) THEN State_Diag%AerSurfAreaPSC(I,J,L) = SADSTRAT ENDIF !---------------------------------------------------- ! Netcdf diagnostics computed here: ! Strat. liquid aerosol optical depth [unitless] ! Strat. liquid aerosol number density [#/cm3 ] ! Strat. particulate aerosol opt. depth [unitless] ! Strat. particulate aerosol num. density [#/cm3 ] ! NOTE: Diagnostic output for each wavelength IF ( State_Diag%Archive_AODStrat .and. ODSWITCH .EQ. 1 ) THEN IF ( IsSLA ) THEN IF ( State_Diag%Archive_AerNumDenSLA ) THEN State_Diag%AerNumDenSLA(I,J,L) = & State_Chm%NDENS_AER(I,J,L,ISTRAT)*1.d-6 ENDIF IF ( State_Diag%Archive_AODSLAWL1 ) THEN State_Diag%AODSLAWL1(I,J,L) = & ODAER(I,J,L,IWVSELECT(1,1),N) ENDIF IF ( State_Diag%Archive_AODSLAWL2 ) THEN State_Diag%AODSLAWL2(I,J,L) = & ODAER(I,J,L,IWVSELECT(1,2),N) ENDIF IF ( State_Diag%Archive_AODSLAWL3 ) THEN State_Diag%AODSLAWL3(I,J,L) = & ODAER(I,J,L,IWVSELECT(1,3),N) ENDIF ELSEIF ( IsPSC ) THEN IF ( State_Diag%Archive_AerNumDenPSC ) THEN State_Diag%AerNumDenPSC(I,J,L) = & State_Chm%NDENS_AER(I,J,L,ISTRAT)*1.d-6 ENDIF IF ( State_Diag%Archive_AODPSCWL1 ) THEN State_Diag%AODPSCWL1(I,J,L) = & ODAER(I,J,L,IWVSELECT(1,1),N) ENDIF IF ( State_Diag%Archive_AODPSCWL2 ) THEN State_Diag%AODPSCWL2(I,J,L) = & ODAER(I,J,L,IWVSELECT(1,2),N) ENDIF IF ( State_Diag%Archive_AODPSCWL3 ) THEN State_Diag%AODPSCWL3(I,J,L) = & ODAER(I,J,L,IWVSELECT(1,3),N) ENDIF ENDIF ENDIF ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDDO ! end loop over stratospheric aerosols !============================================================== ! Non-stratospheric cloud diagnostics ! NOTE: The cloud optical depths are actually recorded at ! 1000 nm, but vary little with wavelength. !============================================================== IF ( State_Diag%Archive_AOD .and. ODSWITCH .EQ. 1 ) THEN ! Loop over aerosol types (dust handled in dust_mod.F90) !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, N, W, LINTERP, IsWL1, IsWL2, IsWL3, S ) & !$OMP SCHEDULE( DYNAMIC ) ! Loop over hydroscopic aerosols DO NA = 1, NRHAER ! Get ID following ordering of aerosol densities in RD_AOD N = Map_NRHAER(NA) ! Loop over wavelengths set in geoschem_config.yml DO W = 1, Input_Opt%NWVSELECT ! Set wavelength logical IsWL1 = .FALSE. IsWL2 = .FALSE. IsWL3 = .FALSE. SELECT CASE ( W ) CASE ( 1 ) IsWL1 = .TRUE. CASE ( 2 ) IsWL2 = .TRUE. CASE ( 3 ) IsWL3 = .TRUE. END SELECT ! no interpolation required if these are the same IF (IWVSELECT(1,W).EQ.IWVSELECT(2,W)) THEN LINTERP=.FALSE. ELSE LINTERP=.TRUE. ENDIF ! Loop over grid boxes DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX !---------------------------------------------------- ! Netcdf diagnostics computed here: ! Sulfate Optical Depth (lambda1,2,3 nm) [.] ! Black Carbon Optical Depth (lambda1,2,3 nm) [.] ! Organic Carbon Optical Depth (lambda1,2,3 nm)[.] ! Sea Salt (accum) Opt Depth (lambda1,2,3 nm) [.] ! Sea Salt (coarse) Opt Depth(lambda1,2,3 nm) [.] IF ( .not. LINTERP ) THEN IF ( State_Diag%Archive_AODHygWL1 .AND. IsWL1 ) THEN S = State_Diag%Map_AODHygWL1%id2slot(NA) IF ( S > 0 ) THEN State_Diag%AODHygWL1(I,J,L,S) = & ODAER(I,J,L,IWVSELECT(1,W),N) ENDIF ELSE IF ( State_Diag%Archive_AODHygWL2 .AND. IsWL2 ) THEN S = State_Diag%Map_AODHygWL2%id2slot(NA) IF ( S > 0 ) THEN State_Diag%AODHygWL2(I,J,L,S) = & ODAER(I,J,L,IWVSELECT(1,W),N) ENDIF ELSE IF ( State_Diag%Archive_AODHygWL3 .AND. IsWL3 ) THEN S = State_Diag%Map_AODHygWL3%id2slot(NA) IF ( S > 0 ) THEN State_Diag%AODHygWL3(I,J,L,S) = & ODAER(I,J,L,IWVSELECT(1,W),N) ENDIF ENDIF ELSE ! Interpolated using angstrom exponent between ! Closest available wavelengths ! (coefs pre-calculated in CALC_AOD (RD_AOD) !catch any zero values before interpolation IF ((ODAER(I,J,L,IWVSELECT(2,W),N).GT.0).AND. & (ODAER(I,J,L,IWVSELECT(1,W),N).GT.0)) THEN IF ( State_Diag%Archive_AODHygWL1 .AND. IsWL1 ) THEN S = State_Diag%Map_AODHygWL1%id2slot(NA) IF ( S > 0 ) THEN State_Diag%AODHygWL1(I,J,L,S) = & ODAER(I,J,L,IWVSELECT(2,W),N)*ACOEF_WV(W)** & (BCOEF_WV(W)*LOG(ODAER(I,J,L,IWVSELECT(1,W),N)/& ODAER(I,J,L,IWVSELECT(2,W),N))) ENDIF ELSE IF ( State_Diag%Archive_AODHygWL2 .AND. IsWL2 ) THEN S = State_Diag%Map_AODHygWL2%id2slot(NA) IF ( S > 0 ) THEN State_Diag%AODHygWL2(I,J,L,S) = & ODAER(I,J,L,IWVSELECT(2,W),N)*ACOEF_WV(W)** & (BCOEF_WV(W)*LOG(ODAER(I,J,L,IWVSELECT(1,W),N)/& ODAER(I,J,L,IWVSELECT(2,W),N))) ENDIF ELSE IF ( State_Diag%Archive_AODHygWL3 .AND. IsWL3 ) THEN S = State_Diag%Map_AODHygWL3%id2slot(NA) IF ( S > 0 ) THEN State_Diag%AODHygWL3(I,J,L,S) = & ODAER(I,J,L,IWVSELECT(2,W),N)*ACOEF_WV(W)** & (BCOEF_WV(W)*LOG(ODAER(I,J,L,IWVSELECT(1,W),N)/& ODAER(I,J,L,IWVSELECT(2,W),N))) ENDIF ENDIF ENDIF ENDIF !---------------------------------------------------- ! Netcdf diagnostics computed here: ! AOD for SOA from aq isoprene (lambda1,2,3 nm) [unitless] IF ( ( N == 3 ) .and. Is_ComplexSOA ) THEN IF ( State_Diag%Archive_AODSOAfromAqIsopWL1 .AND. & IsWL1 ) THEN State_Diag%AODSOAfromAqIsopWL1(I,J,L) = & ISOPOD(I,J,L,IWVSELECT(1,W)) ENDIF IF ( State_Diag%Archive_AODSOAfromAqIsopWL2 .AND. & IsWL2 ) THEN State_Diag%AODSOAfromAqIsopWL2(I,J,L) = & ISOPOD(I,J,L,IWVSELECT(1,W)) ENDIF IF ( State_Diag%Archive_AODSOAfromAqIsopWL3 .AND. & IsWL3 ) THEN State_Diag%AODSOAfromAqIsopWL3(I,J,L) = & ISOPOD(I,J,L,IWVSELECT(1,W)) ENDIF ENDIF ENDDO ENDDO ENDDO ENDDO ! end loop over wavelengths ENDDO ! end of loop over hygroscopic aerosols !$OMP END PARALLEL DO ENDIF !------------------------------------ ! Aerosol Surface Areas !------------------------------------ IF ( State_Diag%Archive_AerSurfAreaHyg .AND. ODSWITCH .EQ. 1) THEN !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, N, S ) & !$OMP SCHEDULE( DYNAMIC ) ! Loop over hydroscopic aerosols DO NA = 1, NRHAER ! Get ID following ordering of aerosol densities in RD_AOD N = Map_NRHAER(NA) !---------------------------------------------------- ! Netcdf diagnostics computed here: ! Sulfate Surface Area [cm2/cm3] ! Black Carbon (hydrophilic) Surface Area [cm2/cm3] ! Organic Carbon (hydrophilic) Surface Area [cm2/cm3] ! Sea Salt (accum) Surface Area [cm2/cm3] ! Sea Salt (coarse) Surface Area [cm2/cm3] !---------------------------------------------------- S = State_Diag%Map_AerSurfAreaHyg%id2slot(NA) IF ( S > 0 ) THEN DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX State_Diag%AerSurfAreaHyg(I,J,L,S) = & TAREA(I,J,L,N+NDUST) ENDDO ENDDO ENDDO ENDIF ENDDO ! end of loop over hygroscopic aerosols !$OMP END PARALLEL DO ENDIF ! Turn off radiative effects of stratospheric aerosols? IF ( .not. LSTRATOD ) THEN ODAER(:,:,:,:,NRH+1) = 0.d0 ODAER(:,:,:,:,NRH+2) = 0.d0 ENDIF !================================================================= ! To turn off the radiative effects of different aerososl ! uncomment the following lines !================================================================= !DO R = 1,NRH ! ODAER(:,:,:,R) = 0.d0 !sulfate ! ODAER(:,:,:,R+NRH) = 0.d0 !BC ! ODAER(:,:,:,R+2*NRH) = 0.d0 !OC ! ODAER(:,:,:,R+3*NRH) = 0.d0 !SS(accum) ! ODAER(:,:,:,R+4*NRH) = 0.d0 !SS(coarse) !ENDDO !ODAER(:,:,:,NRHAER*NRH+1) = 0.d0 !SLA !ODAER(:,:,:,NRHAER*NRH+2) = 0.d0 !SPA !================================================================= ! To turn off heterogeneous chemistry on different aerosols ! uncomment the following lines !================================================================= !TAREA(:,NDUST+1) = 0.d0 !Sulfate !TAREA(:,NDUST+2) = 0.d0 !BC !TAREA(:,NDUST+3) = 0.d0 !OC !TAREA(:,NDUST+4) = 0.d0 !SS (accum) !TAREA(:,NDUST+5) = 0.d0 !SS (coarse) !TAREA(:,NDUST+NRHAER+1) = 0.d0 !SLA !TAREA(:,NDUST+NRHAER+2) = 0.d0 !SPA ! Free pointers IWVREQUIRED => NULL() IWVSELECT => NULL() IRHARR => NULL() ACOEF_WV => NULL() BCOEF_WV => NULL() REAA => NULL() QQAA => NULL() ALPHAA => NULL() SSAA => NULL() ASYMAA => NULL() ISOPOD => NULL() ODAER => NULL() #ifdef RRTMG RTODAER => NULL() RTSSAER => NULL() RTASYMAER => NULL() #endif BXHEIGHT => NULL() ERADIUS => NULL() TAREA => NULL() WERADIUS => NULL() WTAREA => NULL() ACLRADIUS => NULL() ACLAREA => NULL() ! Reset first-time flag FIRST = .FALSE. END SUBROUTINE RDAER !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: init_aerosol ! ! !DESCRIPTION: Subroutine INIT\_AEROSOL initializes module variables. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_Aerosol( Input_Opt, State_Chm, State_Diag, State_Grid, RC ) ! ! !USES: ! USE CMN_SIZE_MOD, ONLY : NAER, NDUST, NRHAER USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : Species USE State_Chm_Mod, ONLY : Ind_ USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 20 Jul 2004 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: N, SpcID CHARACTER(LEN=255) :: ThisLoc CHARACTER(LEN=512) :: ErrMsg TYPE(Species), POINTER :: SpcInfo !======================================================================== ! INIT_AEROSOL begins here! !======================================================================== ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Init_Aerosol (in module GeosCore/aerosol_mod.F90)' !======================================================================== ! First-time initialization for various items (skip if dry-run) !======================================================================== IF ( .not. Input_Opt%DryRun ) THEN ! Add tracer ID flags as module variables (bmy, 6/16/16) id_BCPI = Ind_( 'BCPI' ) id_BCPO = Ind_( 'BCPO' ) id_DSTbin1 = Ind_( 'DSTbin1' ) id_DSTbin2 = Ind_( 'DSTbin2' ) id_DSTbin3 = Ind_( 'DSTbin3' ) id_DSTbin4 = Ind_( 'DSTbin4' ) id_DSTbin5 = Ind_( 'DSTbin5' ) id_DSTbin6 = Ind_( 'DSTbin6' ) id_DSTbin7 = Ind_( 'DSTbin7' ) id_DUST01 = Ind_( 'DUST01' ) id_NH4 = Ind_( 'NH4' ) id_NIT = Ind_( 'NIT' ) id_OCPO = Ind_( 'OCPO' ) id_OCPI = Ind_( 'OCPI' ) id_SOAS = Ind_( 'SOAS' ) id_SALA = Ind_( 'SALA' ) id_SALC = Ind_( 'SALC' ) id_SALACL = Ind_( 'SALACL' ) id_SO4 = Ind_( 'SO4' ) id_SO4s = Ind_( 'SO4s' ) id_HMS = Ind_( 'HMS' ) id_NITs = Ind_( 'NITs' ) id_POA1 = Ind_( 'POA1' ) id_POA2 = Ind_( 'POA2' ) id_OPOA1 = Ind_( 'OPOA1' ) id_OPOA2 = Ind_( 'OPOA2' ) id_TSOA1 = Ind_( 'TSOA1' ) id_TSOA2 = Ind_( 'TSOA2' ) id_TSOA3 = Ind_( 'TSOA3' ) id_TSOA0 = Ind_( 'TSOA0' ) id_ASOAN = Ind_( 'ASOAN' ) id_ASOA1 = Ind_( 'ASOA1' ) id_ASOA2 = Ind_( 'ASOA2' ) id_ASOA3 = Ind_( 'ASOA3' ) id_SOAGX = Ind_( 'SOAGX' ) id_SOAIE = Ind_( 'SOAIE' ) id_INDIOL = Ind_( 'INDIOL' ) id_LVOCOA = Ind_( 'LVOCOA' ) ! Define logical flags IS_OCPI = ( id_OCPI > 0 ) IS_OCPO = ( id_OCPO > 0 ) IS_BC = ( id_BCPI > 0 .and. id_BCPO > 0 ) IS_SO4 = ( id_SO4 > 0 ) IS_HMS = ( id_HMS > 0 ) IS_NH4 = ( id_NH4 > 0 ) IS_NIT = ( id_NIT > 0 ) IS_DST = ( id_DSTbin1 > 0 .and. id_DSTbin2 > 0 .and. & id_DSTbin3 > 0 .and. id_DSTbin4 > 0 ) IS_SAL = ( id_SALA > 0 .and. id_SALC > 0 ) IS_POA = ( id_POA1 > 0 .and. id_POA2 > 0 ) IS_OPOA = ( id_OPOA1 > 0 .and. id_OPOA2 > 0 ) IS_TSOA = ( id_TSOA1 > 0 .and. id_TSOA2 > 0 .and. & id_TSOA3 > 0 .and. id_TSOA0 > 0 ) IS_ASOA = ( id_ASOAN > 0 .and. id_ASOA1 > 0 .and. & id_ASOA2 > 0 .and. id_ASOA3 > 0 ) IS_SOAGX = ( id_SOAGX > 0 ) Is_SimpleSOA = ( id_SOAS > 0 ) Is_ComplexSOA = Input_Opt%LSOA !--------------------------------------------------------------------- ! Initialize the mapping between hygroscopic species in the ! species database and the species order in NRHAER !--------------------------------------------------------------------- DO N = 1, NRHAER ! Get the species database index from the species database ! mapping array for hygroscopic growth species SpcID = State_Chm%Map_HygGrth(N) ! Point to the Species Database entry for species N SpcInfo => State_Chm%SpcData(SpcID)%Info ! Set the mapping to the ordering of aerosol densities in RD_AOD SELECT CASE ( TRIM(SpcInfo%Name) ) CASE ( 'SO4' ) Map_NRHAER(N) = 1 CASE ( 'BCPI' ) Map_NRHAER(N) = 2 CASE ( 'OCPI', 'POA1' ) Map_NRHAER(N) = 3 CASE ( 'SALA' ) Map_NRHAER(N) = 4 CASE ( 'SALC' ) Map_NRHAER(N) = 5 CASE DEFAULT ErrMsg = 'WARNING: aerosol diagnostics not defined' // & ' for NRHAER greater than 5!' CALL GC_ERROR( ErrMsg, RC, 'Init_Aerosol in aerosol_mod.F90' ) SpcInfo => NULL() RETURN END SELECT ! Free pointer SpcInfo => NULL() ENDDO ENDIF !======================================================================== ! The fullchem and aerosol simulations need at least one AOD wavelength ! to be selected. Return with an error if this is not the case. !======================================================================== IF ( Input_Opt%NWVSELECT == 0 ) THEN ErrMsg = 'For fullchem and aerosol-only simulations, you must ' // & 'specify the wavelength at which the AOD will be ' // & 'calculated. (For fullchem simulations using RRTMG, ' // & 'you may specify up to 3 wavelengths.) Check the ' // & '"aod_wavelength_in_nm" tag (under the ' // & '"rrtmg_radiative_transfer_model" section) in your ' // & '"geoschem_config.yml" file.' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !======================================================================== ! Read aerosol optics data !======================================================================== CALL RD_AOD( Input_Opt, State_Chm, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in routine "RD_AOD"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Print a message if RD_AOD succeeded (skip if dry-run) IF ( Input_Opt%amIRoot .and. .not. Input_Opt%DryRun ) THEN WRITE( 6, '(a)' ) 'Wavelength optics read successfully' ENDIF !======================================================================== ! Compute the required wavelengths in the lookup table to ! calculate the requested AOD (skip for dry-run simulations) !======================================================================== IF ( .not. Input_Opt%DryRun ) THEN CALL CALC_AOD( Input_Opt, State_Chm, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in routine "CALC_AOD"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF END SUBROUTINE INIT_AEROSOL !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: rd_aod ! ! !DESCRIPTION: Subroutine RD\_AOD reads aerosol phase functions that are ! used to scale diagnostic output to an arbitrary wavelengh. This ! facilitates comparing with satellite observations. !\\ !\\ ! !INTERFACE: ! SUBROUTINE RD_AOD( Input_Opt, State_Chm, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE InquireMod, ONLY : FindFreeLUN USE State_Chm_Mod, ONLY : ChmState #if defined( MODEL_CESM ) USE UNITS, ONLY : freeUnit #endif ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! The .dat files for each species contain the optical properties ! at multiple wavelengths to be used in the online calculation of the aerosol ! optical depth diagnostics. ! These properties have been calculated using the same size and optical ! properties as the FJX_spec.dat file used for the FAST-J photolysis ! calculations (which is now redundant for aerosols, the values in the .dat ! files here are now used). The file currently contains 11 wavelengths ! for Fast-J and other commonly used wavelengths for satellite and ! AERONET retrievals. 30 wavelengths follow that map onto RRTMG ! wavebands for radiaitive flux calculations (not used if RRTMG is off). ! A complete set of optical properties from 250-2000 nm for aerosols is ! available at: ! ftp://ftp.as.harvard.edu/geos-chem/data/aerosol_optics/hi_spectral_res ! . ! -- Colette L. Heald, 05/10/10) ! -- David A. Ridley, 05/10/13 (update for new optics files) ! ! !REVISION HISTORY: ! 10 May 2010 - C. Heald - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES ! ! Scalars INTEGER :: I, J, K, N, g INTEGER :: IOS, NJ1 LOGICAL :: LBRC, FileExists ! Strings CHARACTER(LEN=78 ) :: TITLE0 CHARACTER(LEN=255) :: DATA_DIR CHARACTER(LEN=255) :: THISFILE CHARACTER(LEN=255) :: FileMsg CHARACTER(LEN=255) :: ErrMsg CHARACTER(LEN=255) :: ThisLoc ! String arrays CHARACTER(LEN=30) :: SPECFIL(8) ! Pointers REAL*8, POINTER :: WVAA (:,:) REAL*8, POINTER :: RHAA (:,:) REAL*8, POINTER :: RDAA (:,:,:) REAL*8, POINTER :: RWAA (:,:,:) REAL*8, POINTER :: SGAA (:,:) REAL*8, POINTER :: REAA (:,:,:) REAL*8, POINTER :: NCMAA (:,:,:) REAL*8, POINTER :: NRLAA (:,:,:) REAL*8, POINTER :: QQAA (:,:,:,:) REAL*8, POINTER :: ALPHAA(:,:,:,:) REAL*8, POINTER :: SSAA (:,:,:,:) REAL*8, POINTER :: ASYMAA(:,:,:,:) REAL*8, POINTER :: PHAA (:,:,:,:,:) !================================================================ ! RD_AOD begins here! !================================================================ ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at RD_AOD (in module GeosCore/photolysis_mod.F90)' LBRC = Input_Opt%LBRC DATA_DIR = TRIM( Input_Opt%AER_OPTICS_DIR ) ! Set Pointers WVAA => State_Chm%Phot%WVAA RHAA => State_Chm%Phot%RHAA RDAA => State_Chm%Phot%RDAA RWAA => State_Chm%Phot%RWAA SGAA => State_Chm%Phot%SGAA REAA => State_Chm%Phot%REAA NRLAA => State_Chm%Phot%NRLAA NCMAA => State_Chm%Phot%NCMAA QQAA => State_Chm%Phot%QQAA ALPHAA => State_Chm%Phot%ALPHAA SSAA => State_Chm%Phot%SSAA ASYMAA => State_Chm%Phot%ASYMAA PHAA => State_Chm%Phot%PHAA ! Get a free LUN NJ1 = findFreeLUN() ! IMPORTANT: aerosol_mod.F and dust_mod.F expect aerosols in this order ! ! Treating strat sulfate with GADS data but modified to match ! the old Fast-J values size (r=0.09um, sg=0.6) - I think there's ! evidence that this is too smale and narrow e.g. Deshler et al. 2003 ! NAT should really be associated with something like cirrus cloud ! but for now we are just treating the NAT like the sulfate... limited ! info but ref index is similar e.g. Scarchilli et al. (2005) !(DAR 05/2015) SPECFIL = (/ "so4.dat ", "soot.dat ", "org.dat ", "ssa.dat ", & "ssc.dat ", "h2so4.dat", "h2so4.dat", "dust.dat " /) ! Loop over the array of filenames DO k = 1, State_Chm%Phot%NSPAA ! Choose different set of input files for standard (trop+strat chenm) ! and tropchem (trop-only chem) simulations THISFILE = TRIM( DATA_DIR ) // '/' // TRIM( SPECFIL(k) ) !-------------------------------------------------------------- ! In dry-run mode, print file path to dryrun log and cycle. ! Otherwise, print file path to stdout and continue. !-------------------------------------------------------------- ! Test if the file exists INQUIRE( FILE=TRIM( ThisFile ), EXIST=FileExists ) ! Test if the file exists and define an output string IF ( FileExists ) THEN FileMsg = 'PHOTOLYSIS (RD_AOD): Opening' ELSE FileMsg = 'PHOTOLYSIS (RD_AOD): REQUIRED FILE NOT FOUND' ENDIF ! Write to stdout for both regular and dry-run simulations IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 300 ) TRIM( FileMsg ), TRIM( ThisFile ) 300 FORMAT( a, ' ', a ) ENDIF ! For dry-run simulations, skip ahead to next file. IF ( Input_Opt%DryRun ) CYCLE !-------------------------------------------------------------- ! If not a dry-run, read data from each species file !-------------------------------------------------------------- ! Throw an error if we can't find the file IF ( .not. FileExists ) THEN WRITE( ErrMsg, 300 ) TRIM( FileMsg ), TRIM( ThisFile ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Open file OPEN( NJ1, FILE=TRIM( THISFILE ), STATUS='OLD', IOSTAT=RC ) ! Error check IF ( RC /= 0 ) THEN ErrMsg = 'Error opening file: ' // TRIM( ThisFile ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Read header lines READ( NJ1, '(A)' ) TITLE0 IF ( Input_Opt%amIRoot ) WRITE( 6, '(1X,A)' ) TITLE0 ! Second header line added for more info READ( NJ1, '(A)' ) TITLE0 IF ( Input_Opt%amIRoot ) WRITE( 6, '(1X,A)' ) TITLE0 READ( NJ1, '(A)' ) TITLE0 110 FORMAT( 3x, a20 ) IF (k == 1 .OR. k == 3) THEN ! for SO4 and ORGANICS, dry aerosol size varies, therefore all ! opt properties vary. DO g = 1, State_Chm%Phot%NDRg DO i = 1, State_Chm%Phot%NRAA DO j = 1, State_Chm%Phot%NWVAA READ(NJ1,*) WVAA(j,k),RHAA(i,k),NRLAA(j,i,k),NCMAA(j,i,k), & RDAA(i,k,g),RWAA(i,k,g),SGAA(i,k),QQAA(j,i,k,g), & ALPHAA(j,i,k,g),REAA(i,k,g),SSAA(j,i,k,g), & ASYMAA(j,i,k,g),(PHAA(j,i,k,n,g),n=1,8) ! make note of where 1000nm is for FAST-J calcs IF (WVAA(j,k).EQ.1000.0) State_Chm%Phot%IWV1000=J ENDDO ENDDO ENDDO ELSE ! For other species, keep g = default Rg (DRg) g = State_Chm%Phot%DRg DO i = 1, State_Chm%Phot%NRAA DO j = 1, State_Chm%Phot%NWVAA READ(NJ1,*) WVAA(j,k),RHAA(i,k),NRLAA(j,i,k),NCMAA(j,i,k), & RDAA(i,k,g),RWAA(i,k,g),SGAA(i,k),QQAA(j,i,k,g), & ALPHAA(j,i,k,g),REAA(i,k,g),SSAA(j,i,k,g), & ASYMAA(j,i,k,g),(PHAA(j,i,k,n,g),n=1,8) ! make note of where 1000nm is for FAST-J calcs IF (WVAA(j,k).EQ.1000.0) State_Chm%Phot%IWV1000=J ENDDO ENDDO ENDIF ! Close file CLOSE( NJ1 ) ENDDO #if defined( MODEL_CESM ) CALL freeUnit(NJ1) #endif ! Free pointers WVAA => NULL() RHAA => NULL() RDAA => NULL() RWAA => NULL() SGAA => NULL() REAA => NULL() NCMAA => NULL() NRLAA => NULL() QQAA => NULL() ALPHAA => NULL() SSAA => NULL() ASYMAA => NULL() PHAA => NULL() END SUBROUTINE RD_AOD !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: calc_aod ! ! !DESCRIPTION: Subroutine CALC\_AOD works out the closest tie points ! in the optics LUT wavelengths and the coefficients required to ! calculate the angstrom exponent for interpolating optics to the requested ! wavelength. If the wavelength requested matches a standard wavelength ! in the LUT then we skip the interpolation (DAR 09/2013) !\\ !\\ ! !INTERFACE: ! SUBROUTINE CALC_AOD( Input_Opt, State_Chm, RC ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput #ifdef RRTMG USE PARRRTM, ONLY : NBNDLW #endif USE State_Chm_Mod, ONLY : ChmState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(IN) :: RC ! ! !REMARKS: ! Now the user is able to select any 3 wavelengths for optics ! output in the geoschem_config.yml file we need to be able to interpolate ! to those wavelengths based on what is available in the optics ! look-up table. ! . ! The standard lookup table currently has values for ! 11 common wavelengths followed by 30 that are required by RRTMG. ! Only those required to interpolate to user requested ! wavelengths are selected from the standard wavelengths. RRTMG ! wavelengths are not used in the interpolation for AOD output ! (DAR 10/2013) ! . ! UPDATE: because the RT optics output doesnt have access to the ! standard wavelengths we now calculate two sets of values: one ! for the ND21 and diag3 outputs that use the standard wavelengths ! and one for RRTMG diagnostics that interpolate the optics from RRTMG ! wavelengths. Perhaps a switch needs adding to switch off the RT ! optics output (and interpolation) if this ends up costing too ! much and is not used, but it is ideal to have an optics output ! that matches exactly what RRTMG uses to calculate the fluxes ! ! !REVISION HISTORY: ! 18 Jun 2013 - D. Ridley - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES ! INTEGER :: MINWV, MAXWV, N, N0, N1, W, NSTEP INTEGER :: NWVAA, NWVAA0, NWVREQUIRED, NRTWVREQUIRED REAL(fp) :: WVDIF ! Pointers INTEGER, POINTER :: IWVREQUIRED (:) INTEGER, POINTER :: IRTWVREQUIRED(:) INTEGER, POINTER :: IWVSELECT (:,:) INTEGER, POINTER :: IRTWVSELECT (:,:) REAL*8, POINTER :: ACOEF_WV (:) REAL*8, POINTER :: BCOEF_WV (:) REAL*8, POINTER :: CCOEF_WV (:) REAL*8, POINTER :: ACOEF_RTWV (:) REAL*8, POINTER :: BCOEF_RTWV (:) REAL*8, POINTER :: CCOEF_RTWV (:) REAL*8, POINTER :: WVAA (:,:) !================================================================ ! CALC_AOD begins here! !================================================================ ! Constants State_Chm%Phot NWVAA = State_Chm%Phot%NWVAA NWVAA0 = State_Chm%Phot%NWVAA0 ! Scalars in State_Chm%Phot that will be set in this subroutine NWVREQUIRED = State_Chm%Phot%NWVREQUIRED NRTWVREQUIRED = State_Chm%Phot%NRTWVREQUIRED ! Set pointers IWVREQUIRED => State_Chm%Phot%IWVREQUIRED IRTWVREQUIRED => State_Chm%Phot%IRTWVREQUIRED IWVSELECT => State_Chm%Phot%IWVSELECT IRTWVSELECT => State_Chm%Phot%IRTWVSELECT ACOEF_WV => State_Chm%Phot%ACOEF_WV BCOEF_WV => State_Chm%Phot%BCOEF_WV CCOEF_WV => State_Chm%Phot%CCOEF_WV ACOEF_RTWV => State_Chm%Phot%ACOEF_RTWV BCOEF_RTWV => State_Chm%Phot%BCOEF_RTWV CCOEF_RTWV => State_Chm%Phot%CCOEF_RTWV WVAA => State_Chm%Phot%WVAA !cycle over standard wavelengths N0=1 N1=NWVAA0 NSTEP=1 NWVREQUIRED=0 DO W=1,Input_Opt%NWVSELECT MINWV = -999 MAXWV = 999 DO N=N0,N1,NSTEP ! 1 to 11 WVDIF = WVAA(N,1)-Input_Opt%WVSELECT(W) IF ((WVDIF.LE.0).AND.(WVDIF.GT.MINWV)) THEN MINWV = WVDIF IWVSELECT(1,W)=N ENDIF IF ((WVDIF.GE.0).AND.(WVDIF.LT.MAXWV)) THEN MAXWV = WVDIF IWVSELECT(2,W)=N ENDIF ENDDO IF (IWVSELECT(2,W).EQ.IWVSELECT(1,W)) THEN !we have a match! MINWV=0 MAXWV=0 !add this wavelength to those for output NWVREQUIRED=NWVREQUIRED+1 IWVREQUIRED(NWVREQUIRED)=IWVSELECT(1,W) ELSE !we are going to have to interpolate to the requested wavelength NWVREQUIRED=NWVREQUIRED+1 IWVREQUIRED(NWVREQUIRED)=IWVSELECT(1,W) NWVREQUIRED=NWVREQUIRED+1 IWVREQUIRED(NWVREQUIRED)=IWVSELECT(2,W) ENDIF !Error check - ensure we have a match or requested wavelength !falls within two LUT tie points IF (MINWV.EQ.-999) THEN ! requested wavelength is shorter than min wv in LUT ! set to min write(6,*) 'ERROR requested wavelength is too short!!' write(6,*) 'Defaulting to LUT min: ',WVAA(1,1) IWVSELECT(1,W)=1 IWVSELECT(2,W)=1 !300nm NWVREQUIRED=NWVREQUIRED-1 IWVREQUIRED(NWVREQUIRED)=IWVSELECT(1,W) ENDIF IF (MAXWV.EQ.999) THEN ! requested wavelength is longer than min wv in LUT ! set to max write(6,*) 'ERROR requested wavelength is too long!!' write(6,*) 'Defaulting to LUT min: ',WVAA(NWVAA0,1) IWVSELECT(1,W)=NWVAA0 IWVSELECT(2,W)=NWVAA0 !1020nm NWVREQUIRED=NWVREQUIRED-1 IWVREQUIRED(NWVREQUIRED)=IWVSELECT(1,W) ENDIF !now calcualte the angstrom exponent coefs for interpolation - !this is done here to save time and repetition in aerosol_mod.F IF (IWVSELECT(1,W).NE.IWVSELECT(2,W)) THEN ACOEF_WV(W) = WVAA(IWVSELECT(2,W),1)/Input_Opt%WVSELECT(W) BCOEF_WV(W) =1.0d0/(LOG(WVAA(IWVSELECT(2,W),1)/ & WVAA(IWVSELECT(1,W),1))) !relative location of selected wavelength between tie points !for interpolating SSA and ASYM for output in aerosol_mod.F and !dust_mod.F CCOEF_WV(W) =(Input_Opt%WVSELECT(W)-WVAA(IWVSELECT(1,W),1))/ & (WVAA(IWVSELECT(2,W),1)-WVAA(IWVSELECT(1,W),1)) ENDIF IF ( Input_Opt%amIRoot ) THEN write(6,*) 'N WAVELENGTHS: ',Input_Opt%NWVSELECT write(6,*) 'WAVELENGTH REQUESTED:',Input_Opt%WVSELECT(W) write(6,*) 'WAVELENGTH REQUIRED:', NWVREQUIRED !write(6,*) IWVSELECT(1,W),WVAA(IWVSELECT(1,W),1) !write(6,*) IWVSELECT(2,W),WVAA(IWVSELECT(2,W),1) !write(6,*) ACOEF_WV(W),BCOEF_WV(W),CCOEF_WV(W) write(6,*) '*********************************' ENDIF ENDDO !Input_Opt%NWVSELECT #ifdef RRTMG !repeat for RRTMG wavelengths to get the closest wavelength !indices and the interpolation coefficients !Indices are relative to all wavelengths in the LUT i.e. the RRTMG !wavelengths start at NWVAA0+1 N0=NWVAA0+1 N1=NWVAA NSTEP=1 NRTWVREQUIRED=0 DO W=1,Input_Opt%NWVSELECT MINWV = -999 MAXWV = 999 DO N=N0,N1,NSTEP WVDIF = WVAA(N,1)-Input_Opt%WVSELECT(W) IF ((WVDIF.LE.0).AND.(WVDIF.GT.MINWV)) THEN MINWV = WVDIF IRTWVSELECT(1,W)=N ENDIF IF ((WVDIF.GE.0).AND.(WVDIF.LT.MAXWV)) THEN MAXWV = WVDIF IRTWVSELECT(2,W)=N ENDIF ENDDO IF (IRTWVSELECT(2,W).EQ.IRTWVSELECT(1,W)) THEN !we have a match! MINWV=0 MAXWV=0 !add this wavelength to those for output NRTWVREQUIRED=NRTWVREQUIRED+1 IRTWVREQUIRED(NRTWVREQUIRED)=IRTWVSELECT(1,W) ELSE !we are going to have to interpolate to the requested !wavelength NRTWVREQUIRED=NRTWVREQUIRED+1 IRTWVREQUIRED(NRTWVREQUIRED)=IRTWVSELECT(1,W) NRTWVREQUIRED=NRTWVREQUIRED+1 IRTWVREQUIRED(NRTWVREQUIRED)=IRTWVSELECT(2,W) ENDIF !Error check - ensure we have a match or requested wavelength !falls within two LUT tie points IF (MINWV.EQ.-999) THEN ! requested wavelength is shorter than min wv in LUT ! set to min write(6,*) 'ERROR requested wavelength is too short!!' write(6,*) 'Defaulting to LUT min: ',WVAA(NWVAA-1,1) IRTWVSELECT(1,W)=NWVAA-1 IRTWVSELECT(2,W)=NWVAA-1 NRTWVREQUIRED=NRTWVREQUIRED-1 IRTWVREQUIRED(NRTWVREQUIRED)=IRTWVSELECT(1,W) ENDIF IF (MAXWV.EQ.999) THEN ! requested wavelength is longer than min wv in LUT ! set to max write(6,*) 'ERROR requested wavelength is too long!!' write(6,*) 'Defaulting to LUT min: ',WVAA(NWVAA0+1,1) IRTWVSELECT(1,W)=NWVAA0+1 IRTWVSELECT(2,W)=NWVAA0+1 NRTWVREQUIRED=NRTWVREQUIRED-1 IRTWVREQUIRED(NRTWVREQUIRED)=IRTWVSELECT(1,W) ENDIF !now calcualte the angstrom exponent coefs for interpolation - !this is done here to save time and repetition in aerosol_mod.F IF (IRTWVSELECT(1,W).NE.IRTWVSELECT(2,W)) THEN ACOEF_RTWV(W) = WVAA(IRTWVSELECT(2,W),1)/Input_Opt%WVSELECT(W) BCOEF_RTWV(W) =1.0d0/(LOG(WVAA(IRTWVSELECT(2,W),1)/ & WVAA(IRTWVSELECT(1,W),1))) !relative location of selected wavelength between tie points !for interpolating SSA and ASYM for output in aerosol_mod.F and !dust_mod.F CCOEF_RTWV(W) =(Input_Opt%WVSELECT(W)-WVAA(IRTWVSELECT(1,W),1))/ & (WVAA(IRTWVSELECT(2,W),1)-WVAA(IRTWVSELECT(1,W),1)) ENDIF !convert wavelength index to that required by rrtmg_rad_transfer !i.e. without the standard and LW wavelengths IRTWVSELECT(1,W) = IRTWVSELECT(1,W) - NWVAA0 - NBNDLW IRTWVSELECT(2,W) = IRTWVSELECT(2,W) - NWVAA0 - NBNDLW IF ( Input_Opt%amIRoot ) THEN write(6,*) 'N RT WAVELENGTHS: ',Input_Opt%NWVSELECT write(6,*) 'RT WAVELENGTH REQUESTED:',Input_Opt%WVSELECT(W) write(6,*) 'RT WAVELENGTH REQUIRED:', NRTWVREQUIRED write(6,*) IRTWVSELECT(1,W),WVAA(IRTWVSELECT(1,W)+NWVAA0+NBNDLW,1) write(6,*) IRTWVSELECT(2,W),WVAA(IRTWVSELECT(2,W)+NWVAA0+NBNDLW,1) write(6,*) ACOEF_WV(W),BCOEF_WV(W),CCOEF_WV(W) write(6,*) '*********************************' ENDIF ENDDO !Input_Opt%NWVSELECT #endif ! Copy values back into State_Chm State_Chm%Phot%NWVREQUIRED = NWVREQUIRED State_Chm%Phot%NRTWVREQUIRED = NRTWVREQUIRED ! Free pointers IWVREQUIRED => NULL() IRTWVREQUIRED => NULL() IWVSELECT => NULL() IRTWVSELECT => NULL() ACOEF_WV => NULL() BCOEF_WV => NULL() CCOEF_WV => NULL() ACOEF_RTWV => NULL() BCOEF_RTWV => NULL() CCOEF_RTWV => NULL() WVAA => NULL() END SUBROUTINE CALC_AOD !EOC END MODULE AEROSOL_MOD ================================================ FILE: GeosCore/aerosol_thermodynamics_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: aerosol_thermodynamics_mod.F90 ! ! !DESCRIPTION: Module AEROSOL\_THERMODYNAMICS\_MOD contains the routines that provide ! the interface between HETP (formerly ISORROPIA II) and GEOS-Chem. !\\ !\\ ! The actual HETP code which performs Na-SO4-NH3-NO3-Cl-(Ca-K-Mg) aerosol ! thermodynamic equilibrium is in \textt{hetp_mod.F90}, which is located ! in the HETerogeneous-vectorized-or-Parallel code repository alongside GEOS-Chem. ! See https://github.com/geoschem/HETerogeneous-vectorized-or-Parallel. !\\ !\\ ! !INTERFACE: ! MODULE AEROSOL_THERMODYNAMICS_MOD ! ! !USES: ! USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: CLEANUP_ATE PUBLIC :: DO_ATE PUBLIC :: GET_GNO3 #if defined( MODEL_CESM ) PUBLIC :: INIT_ATE #else ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: INIT_ATE #endif PRIVATE :: SAFELOG10 PRIVATE :: SET_HNO3 ! ! !REMARKS: ! Original Author: ! *** COPYRIGHT 1996-2006, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY, ! *** GEORGIA INSTITUTE OF TECHNOLOGY ! *** WRITTEN BY ATHANASIOS NENES ! *** UPDATED BY CHRISTOS FOUNTOUKIS ! . ! Original v1.3 isorropia implementation into GEOS-Chem by ! Becky Alexander and Bob Yantosca (bec, bmy, 4/12/05, 11/2/05) ! . ! For Ca,K,Mg = 0, ISORROPIA II performs exactly like ISORROPIAv1.7 ! Ca, K, Mg, Na from dust is not currently considered ! . ! ISORROPIA II implementation notes by Havala O.T. Pye: ! (1) The original isorropia code from T.Nenes is left as unmodified as ! possible. Original isorropia code can be found in isorropiaIIcode.f ! and common blocks can be found in isrpia.inc. For future upgrades ! to isorropia, replace isrpia.inc and isorropiaIIcode.f with the new ! version of isorropia and modify the call to ISORROPIA in this module. ! Please let the original author know of any changes made to ISORROPIA. ! (2) As of Nov 2007, routines using non-zero Ca, K, and Mg do not always ! conserve mass. Ca, K, and Mg are set to zero. ! . ! HETP is an adaptation of ISORROPIA II for modern Fortran. It replaces ! ISORROPIA II starting in April 2024. (Miller et al.) ! ! NOTE: ISORROPIA is Greek for "equilibrium", in case you were wondering. ! ! !REVISION HISTORY: ! 06 Jul 2007 - H. O. T. Pye - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! Array for offline HNO3 (for relaxation of M.M.) REAL(fp), ALLOCATABLE :: HNO3_sav(:,:,:) ! Array for offline use in sulfate_mod (SEASALT_CHEM) REAL(fp), ALLOCATABLE :: GAS_HNO3(:,:,:) !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !%%% Add a C-preprocessor switch to skip calling HETP if the pressure !%%% and/or temperature lie outside of the range that will produce a stable !%%% solution. This will eliminate the random noise observed in the !%%% HETP output. !%%% !%%% Leaving this feature deactivated will replicate the prior behavior in !%%% v11-01 and earlier GEOS-Chem versions. This will become the default !%%% setting in a future version, but give the user the choice to activate !%%% or deactivate this for now. !%%% !%%% -- Seb Eastham and Bob Yantosca (1/25/17) !%%% !#define SKIP_IF_P_AND_T_ARE_OUT_OF_RANGE 1 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: do_ate ! ! !DESCRIPTION: Subroutine DO\_ATE is the interface between the GEOS-Chem ! model and the aerosol thermodynamical equilibrium routines in HETP. !\\ !\\ ! !INTERFACE: ! SUBROUTINE DO_ATE( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE CMN_SIZE_Mod, ONLY : NDUST USE ErrCode_Mod USE ERROR_MOD, ONLY : DEBUG_MSG USE ERROR_MOD, ONLY : ERROR_STOP USE ERROR_MOD, ONLY : SAFE_DIV USE HCO_Utilities_GC_Mod, ONLY : HCO_GC_EvalFld USE Input_Opt_Mod, ONLY : OptInput USE PhysConstants, ONLY : AIRMW, PI USE PhysConstants, ONLY : PI USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Chm_Mod, ONLY : Ind_ USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_MONTH USE TIME_MOD, ONLY : ITS_A_NEW_MONTH USE TIME_MOD, ONLY : GET_ELAPSED_SEC USE HETP_mod, ONLY : mach_hetp_main_15cases ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! Original isorropia v1.3 implmentation: (rjp, bec, bmy, 12/17/01, 8/22/05) ! HETPv1.0 replaces ISORROPIA II starting in GEOS-Chem 14.4.0 ! ! !REVISION HISTORY: ! 24 Aug 2007 - H. O. T. Pye - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! Array dimensions INTEGER, PARAMETER :: NOTHERA = 9 INTEGER, PARAMETER :: NCTRLA = 2 INTEGER, PARAMETER :: NCOMPA = 8 INTEGER, PARAMETER :: NIONSA = 10 INTEGER, PARAMETER :: NGASAQA = 3 INTEGER, PARAMETER :: NSLDSA = 19 ! Concentration lower limit [mole/m3] REAL(fp), PARAMETER :: CONMIN = 1.0e-30_fp ! ! !LOCAL VARIABLES: ! ! SAVEd scalars LOGICAL, SAVE :: FIRST = .TRUE. LOGICAL, SAVE :: IS_HMS = .FALSE. INTEGER, SAVE :: id_HNO3, id_NH3, id_NH4 INTEGER, SAVE :: id_NIT, id_SALA, id_SO4 INTEGER, SAVE :: id_HMS ! jmm 12/5/18 INTEGER, SAVE :: id_SALACL, id_HCL, id_SALCCL INTEGER, SAVE :: id_SO4s, id_NITs, id_SALC INTEGER, SAVE :: id_SALAAL, id_SALCAL ! Scalars INTEGER :: I, J, L, N, NM REAL(fp) :: ANO3, GNO3, ACL, GCL REAL(f8) :: RHI, TEMPI, P_Pa REAL(fp) :: TCA, TMG, TK, HNO3_DEN REAL(fp) :: TNA, TCL, TNH3, TNH4 REAL(fp) :: TNIT, TNO3, TSO4, VOL REAL(fp) :: HNO3_UGM3 REAL(f8) :: AERLIQ(NIONSA+NGASAQA+2) REAL(f8) :: GAS(NGASAQA) REAL(f8) :: OTHER(NOTHERA) REAL(f8) :: WI(NCOMPA) REAL(f8) :: WT(NCOMPA) REAL(f8) :: AlkR !Alkalinity % depleted REAL(f8) :: Qk, PHCl, F_HCl, F_HNO3 REAL(f8) :: Hplus !H+ in SALC,mol/m3 REAL(f8) :: Dcs !SALC diameter, m REAL(f8) :: n_air !air density, molec/cm3 REAL(f8) :: n_ssc !SALC number concentration, molec/m3 REAL(f8) :: HETP_SO4, HETP_HSO4, HETP_CaSO4, HETP_NH4 REAL(f8) :: HETP_NH3, HETP_NO3, HETP_HNO3, HETP_Cl REAL(f8) :: HETP_HCl, HETP_Na, HETP_Ca, HETP_K REAL(f8) :: HETP_Mg, HETP_H, HETP_OH, HETP_LWC REAL(f8) :: HETP_frNa, HETP_frCa, HETP_frK, HETP_frMg REAL(f8) :: HETP_frSO4, HETP_num ! Strings CHARACTER(LEN=15) :: SCASI CHARACTER(LEN=255) :: ErrMsg CHARACTER(LEN=255) :: ThisLoc CHARACTER(LEN=255) :: X !Temporary variables to check if division is safe REAL(fp) :: NUM_SAV, DEN_SAV ! AEROPH: Temporary variable for pH (hotp 8/11/09) REAL(fp) :: HPLUSTEMP ! Temporary variable for SO4-- REAL(fp) :: SULFTEMP ! Temporary variable for HSO4- REAL(fp) :: BISULTEMP ! Temporary variable for NO3- REAL(fp) :: NITRTEMP ! Temporary variable for Cl- REAL(fp) :: CLTEMP ! debug variables INTEGER :: Itemp, Jtemp, Ltemp LOGICAL, SAVE :: FIRSTCHECK = .TRUE. LOGICAL :: IT_IS_AN_AEROSOL_SIM LOGICAL :: IT_IS_A_FULLCHEM_SIM LOGICAL, SAVE :: USE_HNO3_FROM_HEMCO = .FALSE. LOGICAL, SAVE :: USE_HCl_FROM_HEMCO = .FALSE. ! Pointers TYPE(SpcConc), POINTER :: Spc(:) ! Are we out of the range of valid inputs? Logical :: OutOfBounds ! Local array for HNO3, HCl from HEMCO REAL(fp) :: OFFLINE_HNO3(State_Grid%NX,State_Grid%NY,State_Grid%NZ) REAL(fp) :: OFFLINE_HCl (State_Grid%NX,State_Grid%NY,State_Grid%NZ) !================================================================= ! DO_ATE begins here! !================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at DO_ATE (in module GeosCore/aerosol_thermodynamics_mod.F90)' ! Copy fields from INPUT_OPT to local variables for use below IT_IS_AN_AEROSOL_SIM = Input_Opt%ITS_AN_AEROSOL_SIM IT_IS_A_FULLCHEM_SIM = Input_Opt%ITS_A_FULLCHEM_SIM ! Zero State_Chm arrays to avoid leftover values from hanging ! around between calls -- especially up near the tropopause State_Chm%IsorropAeropH = 0.0_fp State_Chm%IsorropHplus = 0.0_fp State_Chm%IsorropAeroH2O = 0.0_fp State_Chm%IsorropSulfate = 0.0_fp State_Chm%IsorropNitrate = 0.0_fp State_Chm%IsorropBisulfate = 0.0_fp State_Chm%IsorropChloride = 0.0_fp ! First-time initialization IF ( FIRST ) THEN ! Make sure certain tracers are defined id_HNO3 = Ind_('HNO3' ) id_NH3 = Ind_('NH3' ) id_NH4 = Ind_('NH4' ) id_NIT = Ind_('NIT' ) id_SALA = Ind_('SALA' ) id_SO4 = Ind_('SO4' ) id_HMS = Ind_('HMS' ) id_SALACL = Ind_('SALACL') id_HCL = Ind_('HCl' ) id_SALC = Ind_('SALC' ) id_SALCCL = Ind_('SALCCL') !id_NH4s = Ind_('NH4s' ) id_NITs = Ind_('NITs' ) id_SO4s = Ind_('SO4s' ) id_SALAAL = Ind_('SALAAL') id_SALCAL = Ind_('SALCAL') ! Set a flag if HMS is defined IS_HMS = ( id_HMS > 0 ) ! Make sure certain tracers are defined IF ( id_SO4 <= 0 ) THEN ErrMsg = 'SO4 is an undefined species!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( id_HMS <= 0 .and. Input_Opt%ITS_A_FULLCHEM_SIM ) THEN ErrMsg = 'HMS is an undefined species!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( id_NH3 <= 0 ) THEN ErrMsg = 'NH3 is an undefined species!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( id_NH4 <= 0 ) THEN ErrMsg = 'NH4 is an undefined species!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( id_NIT <= 0 ) THEN ErrMsg = 'NIT is an undefined species!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( id_SALA <= 0 ) THEN ErrMsg = 'SALA is an undefined species!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( id_SALACL <= 0 ) THEN ErrMsg = 'SALACL is an undefined species!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( id_SALC <= 0 ) THEN ErrMsg = 'SALC is an undefined species!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( id_SALCCL <= 0 ) THEN ErrMsg = 'SALCCL is an undefined species!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !IF ( id_NH4s <= 0 ) THEN ! ErrMsg = 'NH4s is an undefined species!' ! CALL GC_Error( ErrMsg, RC, ThisLoc ) ! RETURN !ENDIF IF ( id_NITs <= 0 ) THEN ErrMsg = 'NITs is an undefined species!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( id_SO4s <= 0 ) THEN ErrMsg = 'SO4s is an undefined species!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( id_SALAAL <= 0 ) THEN ErrMsg = 'SALACL is an undefined species!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( id_SALCAL <= 0 ) THEN ErrMsg = 'SALCAL is an undefined species!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF #if !defined( MODEL_CESM ) ! Initialize arrays CALL INIT_ATE( State_Grid ) #endif ! Check to see if we need to get HNO3 from HEMCO IF ( id_HNO3 <= 0 ) THEN IF ( IT_IS_A_FULLCHEM_SIM ) THEN ! Coupled simulation: stop w/ error since we need HNO3 ErrMsg = 'HNO3 is an undefined species!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ELSE IF ( IT_IS_AN_AEROSOL_SIM ) THEN ! Offline simulation: get HNO3 from HEMCO (mps, 9/23/14) USE_HNO3_FROM_HEMCO = .TRUE. ELSE ! HETP is only valid for full-chem or aerosol-only sims ErrMsg = 'Invalid simulation type!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF ! Check to see if we need to get HCl from HEMCO IF ( id_HCL <= 0 ) THEN IF ( IT_IS_A_FULLCHEM_SIM ) THEN ! Coupled simulation: stop w/ error since we need HCl ErrMsg = 'HCl is an undefined species!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ELSE IF ( IT_IS_AN_AEROSOL_SIM ) THEN ! Offline simulation: get HCl from HEMCO (mps, 6/11/2020) USE_HCl_FROM_HEMCO = .TRUE. ELSE ! HETP is only valid for full-chem or aerosol-only sims ErrMsg = 'Invalid simulation type!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF ! Print out only when debug output is on (bmy, 05 Dec 2022) IF ( Input_Opt%amIRoot .and. Input_Opt%Verbose ) THEN WRITE( 6, 100 ) REPEAT( '=', 79 ) WRITE( 6, 110 ) WRITE( 6, 100 ) REPEAT( '=', 79 ) ENDIF 100 FORMAT( a ) 110 FORMAT( 'Successfully initialized aerosol thermo. ' ) ! Reset first-time flag FIRST = .FALSE. ENDIF ! Initialize for each timestep (bec, bmy, 4/15/05) IF ( IT_IS_AN_AEROSOL_SIM ) THEN GAS_HNO3 = 0.0_fp ENDIF ! Evaluate offline global HNO3 from HEMCO is using. Doing this every ! timestep allows usage of HEMCO's scaling and masking functionality IF ( USE_HNO3_FROM_HEMCO ) THEN CALL HCO_GC_EvalFld( Input_Opt, State_Grid, 'GLOBAL_HNO3', OFFLINE_HNO3, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'GLOBAL_HNO3 not found in HEMCO data list!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF ! Evaluate offline global HCl from HEMCO is using. Doing this every ! timestep allows usage of HEMCO's scaling and masking functionality IF ( USE_HCl_FROM_HEMCO ) THEN CALL HCO_GC_EvalFld( Input_Opt, State_Grid, 'GLOBAL_HCl', OFFLINE_HCl, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'GLOBAL_HCl not found in HEMCO data list!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF ! Point to chemical species array [kg] Spc => State_Chm%Species !======================================================================== ! Loop over grid boxes and call HETP (see comments in the ! HETP routine hetp_mod.F90 which describes the input/output args) !======================================================================== !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, N, WI ) & !$OMP PRIVATE( WT, GAS, TEMPI, RHI, VOL ) & !$OMP PRIVATE( TSO4, TNH3, TNA, TCL, ANO3 ) & !$OMP PRIVATE( GNO3, TCA, TMG, TK ) & !$OMP PRIVATE( SCASI, P_Pa, TNO3, AERLIQ ) & !$OMP PRIVATE( OTHER, TNH4, TNIT, HPLUSTEMP, NUM_SAV ) & !$OMP PRIVATE( GCL, ACL, AlkR, NM, PHCl ) & !$OMP PRIVATE( Qk, n_air, n_ssc, Hplus, Dcs ) & !$OMP PRIVATE( DEN_SAV, HNO3_DEN, OutOfBounds, F_HCL, F_HNO3 ) & !$OMP PRIVATE( SULFTEMP, BISULTEMP, NITRTEMP, HNO3_UGM3, CLTEMP ) & !$OMP PRIVATE( HETP_SO4, HETP_HSO4, HETP_CaSO4, HETP_NH4 ) & !$OMP PRIVATE( HETP_NH3, HETP_NO3, HETP_HNO3, HETP_Cl ) & !$OMP PRIVATE( HETP_HCl, HETP_Na, HETP_Ca, HETP_K ) & !$OMP PRIVATE( HETP_Mg, HETP_H, HETP_OH, HETP_LWC ) & !$OMP PRIVATE( HETP_frNa, HETP_frCa, HETP_frK, HETP_frMg ) & !$OMP PRIVATE( HETP_frSO4, HETP_num ) & !$OMP COLLAPSE( 3 ) & !$OMP SCHEDULE( DYNAMIC, 8 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Only applying HETP in troposphere IF ( State_Met%InStratMeso(I,J,L) ) CYCLE ! Zero PRIVATE variables Dcs = 0.0_fp HPlus = 0.0_fp n_air = 0.0_fp n_ssc = 0.0_fp PHCl = 0.0_fp ! Initialize PRIVATE meteorological variables TEMPI = State_Met%T(I,J,L) ! Temperature [K] P_Pa = State_Met%PMid(I,J,L)*100.0e+0_f8 ! Pressure [Pa] RHI = State_Met%RH(I,J,L) * 1.e-2_fp ! Rel Humidity [1] RHI = MAX( 0.01e+0_fp, RHI ) ! force into range RHI = MIN( 0.98e+0_fp, RHI ) ! 0.01 < RH <= 0.98 VOL = State_Met%AIRVOL(I,J,L) ! Grid box volume [m3] !----------------------------------------------------------- ! Now include full themodynamics for SSA, xnw 11/20/17 ! Assume coarse SSA is externally mixed with fine aerosols, ! fine mode aerosols first reach equilibrium then coarse SSA !----------------------------------------------------------- ! This is for saving PHCl IF ( id_HCl > 0 ) THEN PHCl = Spc(id_HCl)%Conc(I,J,L) !initial HCl, kg ENDIF ! Only do coarse mode cacluation when SALC exists ! SET NM = 1 to skip coarse SSA thermodynamic IF (Spc(id_SALC)%Conc(I,J,L) .GT. 1.e-20) THEN NM = 2 ! Calculate parameters for mass transfer Dcs = State_Chm%AeroRadi(I,J,L,12) * 2.0e-2_fp !(cm->m) n_air = State_Met%AIRNUMDEN(I,J,L) !(molec/cm3) n_ssc = Spc(id_SALC)%Conc(I,J,L) / 2.2e+3_fp / & ((1.0_fp/6.0_fp) * Pi * Dcs**3 ) / VOL !(kg->#/m3) ELSE NM = 1 ENDIF !--------------------------------------------------------------------- ! 1 for fine, 2 for coarse ! The coarse SSA thermodynamic does not work for offline simulation !--------------------------------------------------------------------- DO N = 1, NM ! Zero PRIVATE variables that get assigned in this loop over NM. ! This will prevent values from prior iterations hanging around. ACl = 0.0_fp AERLIQ = 0.0_f8 AlkR = 0.0_fp ANO3 = 0.0_fp F_HNO3 = 0.0_fp F_HCl = 0.0_fp GAS = 0.0_fp GCl = 0.0_fp GNO3 = 0.0_fp HNO3_UGM3 = 0.0_fp OTHER = 0.0_f8 Qk = 0.0_f8 SCASI = '' TCa = 0.0_fp TCl = 0.0_fp TK = 0.0_fp TMg = 0.0_fp TNa = 0.0_fp TNH3 = 0.0_fp TNH4 = 0.0_fp TNIT = 0.0_fp TNO3 = 0.0_fp TSO4 = 0.0_fp WI = 0.0_fp WT = 0.0_fp !----------------------------------------------- ! Compute Alkalinity % consumed in the grid box !----------------------------------------------- IF (N == 1) THEN ! IF (Spc(id_SALAAL)%Conc(I,J,L) .GT. CONMIN) THEN !bc 08/01/24 for floating point exception IF (Spc(id_SALAAL)%Conc(I,J,L) .GT. CONMIN .and. & Spc(id_SALA)%Conc(I,J,L) .GT. CONMIN) THEN AlkR = Spc(id_SALAAL)%Conc(I,J,L) / Spc(id_SALA)%Conc(I,J,L) AlkR = MAX( (1.0_fp-AlkR), CONMIN) ELSE AlkR = 1.0_fp ENDIF ELSE ! IF (Spc(id_SALCAL)%Conc(I,J,L) .GT. CONMIN) THEN !bc 08/01/24 for floating point exception IF (Spc(id_SALCAL)%Conc(I,J,L) .GT. CONMIN .and. & Spc(id_SALC)%Conc(I,J,L) .GT. CONMIN) THEN AlkR = Spc(id_SALCAL)%Conc(I,J,L) / Spc(id_SALC)%Conc(I,J,L) AlkR = MAX( (1.0_fp-AlkR), CONMIN) ELSE AlkR = 1.0_fp ENDIF ENDIF !-------------------------------- ! Compute quantities for HETP !--------------------------------- IF ( N == 1 ) THEN ! Total SO4 [mole/m3], also consider SO4s in SALA IF ( IS_HMS ) THEN TSO4 = (Spc(id_SO4)%Conc(I,J,L)+Spc(id_SALA)%Conc(I,J,L)*0.08_fp*AlkR) * & 1.e+3_fp / ( 96.0_fp * VOL) & + Spc(id_HMS)%Conc(I,J,L) * 0.5e+3_fp / ( 111.0_fp * VOL ) ELSE TSO4 = (Spc(id_SO4)%Conc(I,J,L)+Spc(id_SALA)%Conc(I,J,L)*0.08_fp*AlkR) * & 1.e+3_fp / ( 96.0_fp * VOL) ENDIF ! Total NH3 [mole/m3] TNH3 = Spc(id_NH4)%Conc(I,J,L) * 1.0e+3_fp / (18.0_fp * VOL) + & Spc(id_NH3)%Conc(I,J,L) * 1.0e+3_fp / (17.0_fp * VOL) ELSE ! Total SO4 [mole/m3], also consider SO4s in SALC TSO4 = Spc(id_SO4s)%Conc(I,J,L) * & 1.e+3_fp * AlkR / (31.4_fp * VOL) + & Spc(id_SALC)%Conc(I,J,L) * 0.08_fp * & 1.e+3_fp * AlkR / (96.0_fp * VOL) ! Total NH3 [mole/m3] !TNH3 = Spc(id_NH4s)%Conc(I,J,L)*1.e+3_fp*AlkR/(31.4e+0_fp*VOL)+ & ! Spc(id_NH3)%Conc(I,J,L) * 1.e+3_fp / (17.e+0_fp * VOL) TNH3 = 0.0_fp ENDIF IF (N == 1) THEN ! Total Na+ (30.61% by weight of seasalt) [mole/m3] !TNA = Spc(id_SALA)%Conc(I,J,L) * 0.3061e+0_fp * 1.e+3_fp / & ! ( 22.99e+0_fp * VOL ) ! Total Na+ (30.61% by weight of seasalt) [mole/m3] ! increase to account for all cations, xnw 11/26/17 ! Reverted Na:SS ratio from 0.397 to 0.3061 since ! cations are no longer excluded (Ca, Mg, K), 9/19/24 TNA = Spc(id_SALA)%Conc(I,J,L) * 0.3061_fp * 1.0e+3_fp & * AlkR / ( 23.0_fp * VOL ) ! Total Cl- (55.04% by weight of seasalt) [mole/m3] !TCL = Spc(id_SALA)%Conc(I,J,L) * 0.5504e+0_fp * 1.e+3_fp / & ! ( 35.45e+0_fp * VOL ) ! track chloride in sea salt correctly, xnw 10/12/17 ! Aerosol phase Cl-, [mole/m3] ACL = Spc(id_SALACL)%Conc(I,J,L) * 1.0e+3_fp * AlkR / & ( 35.45_fp * VOL ) ELSE ! Changed 0.378 to 0.3061 (dry mass fraction of seasalt) TNA = Spc(id_SALC)%Conc(I,J,L) * 0.3061_fp * 1.0e+3_fp & * AlkR / ( 23.0_fp * VOL ) ACL = Spc(id_SALCCL)%Conc(I,J,L) * 1.0e+3_fp * AlkR / & ( 35.45_fp * VOL ) ENDIF ! Gas phase Cl-, [mole/m3] IF ( id_HCl > 0 ) THEN GCL = Spc(id_HCL)%Conc(I,J,L) * 1.0e+3_fp /(36.45_fp * VOL) ELSE ! HCl is in v/v (from HEMCO) GCL = OFFLINE_HCl(I,J,L) / VOL ENDIF ! Total Cl- [mole/m3] TCL = ACL + GCL ! Assume all Ca2+, K+, and Mg+ originate from seasalt aerosols IF (N == 1) THEN ! Total Ca2+ (1.16% by weight of fine-mode seasalt) [mole/m3] TCA = Spc(id_SALA)%Conc(I,J,L) * 0.0116e+0_fp * 1.0e+3_fp * AlkR / & ( 40.08e+0_fp * VOL ) ! Total K+ (1.1% by weight of fine-mode seasalt) [mole/m3] TK = Spc(id_SALA)%Conc(I,J,L) * 0.0110e+0_fp * 1.0e+3_fp * AlkR / & ( 39.102e+0_fp * VOL ) ! Total Mg+ (3.69% by weight of fine-mode seasalt) [mole/m3] TMG = Spc(id_SALA)%Conc(I,J,L) * 0.0369e+0_fp * 1.0e+3_fp * AlkR / & ( 24.312e+0_fp * VOL ) ELSE ! Total Ca2+ (1.16% by weight of coarse-mode seasalt) [mole/m3] TCA = Spc(id_SALC)%Conc(I,J,L) * 0.0116e+0_fp * 1.0e+3_fp * AlkR / & ( 40.08e+0_fp * VOL ) ! Total K+ (1.1% by weight of coarse-mode seasalt) [mole/m3] TK = Spc(id_SALC)%Conc(I,J,L) * 0.0110e+0_fp * 1.0e+3_fp * AlkR / & ( 39.102e+0_fp * VOL ) ! Total Mg+ (3.69% by weight of coarse-mode seasalt) [mole/m3] TMG = Spc(id_SALC)%Conc(I,J,L) * 0.0369e+0_fp * 1.0e+3_fp * AlkR / & ( 24.312e+0_fp * VOL ) ENDIF ! Compute gas-phase NO3 IF ( id_HNO3 > 0 ) THEN !--------------------- ! COUPLED SIMULATION !--------------------- ! Compute gas-phase HNO3 [mole/m3] from HNO3 tracer GNO3 = Spc(id_HNO3)%Conc(I,J,L) GNO3 = MAX( GNO3 * 1.e+3_fp / ( 63.0_fp * VOL ), CONMIN ) ! Aerosol-phase NO3 [mole/m3] IF (N == 1) THEN ANO3 = Spc(id_NIT)%Conc(I,J,L) * 1.e+3_fp / (62.0_fp * VOL) ELSE ANO3 = Spc(id_NITs)%Conc(I,J,L) * 1.e+3_fp * AlkR / (31.4_fp * VOL) ENDIF ! Total NO3 [mole/m3] TNO3 = GNO3 + ANO3 ELSE !--------------------- ! OFFLINE SIMULATION !--------------------- ! Relax to monthly mean HNO3 concentrations every 3 hours ! Otherwise just use the concentration in HNO3_sav IF ( MOD( GET_ELAPSED_SEC(), 10800 ) == 0 ) THEN ! HNO3 is in v/v (from HEMCO), convert to ug/m3 HNO3_UGM3 = OFFLINE_HNO3(I,J,L) * State_Met%AIRDEN(I,J,L) & * 1.e+9_fp / ( AIRMW / 63.0_fp ) ELSE HNO3_UGM3 = HNO3_sav(I,J,L) ENDIF ! Convert total inorganic NO3 from [ug/m3] to [mole/m3]. TNO3 = HNO3_UGM3 * 1.e-6_fp / 63.0_fp ANO3 = 0.0_fp GNO3 = TNO3 ENDIF ! Insert concentrations [mole/m3] into WI & prevent underflow WI(1) = MAX( TNA, CONMIN ) WI(2) = MAX( TSO4, CONMIN ) WI(3) = MAX( TNH3, CONMIN ) WI(4) = MAX( TNO3, CONMIN ) WI(5) = MAX( TCL, CONMIN ) WI(6) = MAX( TCA, CONMIN ) WI(7) = MAX( TK, CONMIN ) WI(8) = MAX( TMG, CONMIN ) #if defined( SKIP_IF_P_AND_T_ARE_OUT_OF_RANGE ) !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !%%% If the C-preprocessor switch is activated then check if !%%% pressure and temperature are in the range that will result !%%% in a stable solution. If not, then we will skip calling !%%% ISORROPIA/HETP to avoid random noise in the output. !%%% !%%% NOTE: Turning this feature on will result in differences !%%% with respect to prior GEOS-Chem versions. So we'll give !%%% the user the option to activate it or not. At some point !%%% in the future this will become the default setting. !%%% !%%% -- Seb Eastham and Bob Yantosca (1/25/17) !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! SDE 2017-01-18: Recommendation from Shannon Capps ! Skip equilibrium if T < 250 K or P < 200 hPa OutOfBounds = ((P_Pa.lt.200.0_f8).or.(TEMPI.lt.250.0e+0_f8)) #else !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !%%% Always call ISORROPIA/HETP, regardless of the values of pressure !%%% and temperature. This will match the prior behavior of !%%% when comparing to v11-01 and earlier versions. !%%% !%%% -- Seb Eastham and Bob Yantosca (1/25/17) !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! Never skip calling ISORROPIA/HETP OutOfBounds = .FALSE. #endif IF ( OutOfBounds ) THEN ! %%% Skip equilibrium %%% ! Just keep things the way they are ! and spoof the other outputs WT = WI AERLIQ = 0.0_f8 GAS = 0.0_f8 OTHER = 0.0_f8 IF (N == 1) THEN ANO3 = Spc(id_NIT)%Conc(I,J,L) * 1.e+3_fp / (62.0_fp * VOL) ELSE ANO3 = Spc(id_NITs)%Conc(I,J,L) * 1.e+3_fp * AlkR / (31.4_fp * VOL) ENDIF ELSE ! %%% Perform aerosol thermodynamic equilibrium %%% ! For safety GAS = 0.0d0 AERLIQ = 0.0d0 Call MACH_HETP_Main_15Cases( WI(2), WI(3), WI(4), WI(1), WI(5), & WI(6), WI(7), WI(8), TEMPI, RHI, & HETP_SO4, HETP_HSO4, HETP_CaSO4, HETP_NH4, & HETP_NH3, HETP_NO3, HETP_HNO3, HETP_Cl, & HETP_HCl, HETP_Na, HETP_Ca, HETP_K, & HETP_Mg, HETP_H, HETP_OH, HETP_LWC, & HETP_frNa, HETP_frCa, HETP_frK, HETP_frMg, & HETP_frSO4, HETP_num ) ! Spoof ISORROPIA outputs which are still used GAS(1) = HETP_NH3 GAS(2) = HETP_HNO3 GAS(3) = HETP_HCl ! Mostly used for diagnostics AERLIQ( 1) = HETP_H AERLIQ( 2) = HETP_Na AERLIQ( 3) = HETP_NH4 AERLIQ( 4) = HETP_Cl AERLIQ( 5) = HETP_SO4 AERLIQ( 6) = HETP_HSO4 AERLIQ( 7) = HETP_NO3 AERLIQ( 8) = HETP_LWC ! WT is used below but is identical to WI for a forward case WT(:) = WI(:) ! Consider mass transfer and acid limitation for coarse ! mode calculation IF ( N == 2 ) THEN !Hplus = AERLIQ(1) !H+ in aerosol, mol/m3 Hplus = 1.e-5_fp*18.e-3_fp*AERLIQ(8) CALL GET_QK(GNO3, GCL, GAS(2), GAS(3), Hplus, Dcs, TEMPI, & n_air, n_ssc, Qk, F_HNO3, F_HCl) GAS(2) = GAS(2) * Qk GAS(3) = GAS(3) * Qk GAS(2) = GNO3 - (GNO3 - GAS(2)) * (1.e0_fp - exp(-F_HNO3)) GAS(3) = GCL - (GCL - GAS(3)) * (1.e0_fp - exp(-F_HCl )) ENDIF ! Retrieve concentrations in mol/m3 TSO4 = WT(2) TNH3 = GAS(1) TNH4 = WT(3) - GAS(1) GNO3 = GAS(2) TNO3 = WT(4) ANO3 = TNO3 - GNO3 GCL = GAS(3) TCL = WT(5) ACL = TCL - GCL ENDIF !--------------------------------- ! Save back into tracer array !--------------------------------- ! Convert HETP output from [mole/m3] to [kg] IF ( N == 1 ) THEN TSO4 = MAX( 96.e-3_fp * VOL * TSO4, CONMIN ) TNH4 = MAX( 18.e-3_fp * VOL * TNH4, CONMIN ) TNIT = MAX( 62.e-3_fp * VOL * ANO3, CONMIN ) ACL = MAX( 35.45e-3_fp * VOL * ACL, CONMIN ) TNH3 = MAX( 17.e-3_fp * VOL * TNH3, CONMIN ) ELSE TSO4 = MAX( 31.4e-3_fp * VOL * TSO4, CONMIN ) !TNH4 = MAX( 31.4e-3_fp * VOL * TNH4, CONMIN ) TNIT = MAX( 31.4e-3_fp * VOL * ANO3, CONMIN ) ACL = MAX( 35.45e-3_fp * VOL * ACL, CONMIN ) ENDIF !TNH3 = MAX( 17.e-3_fp * VOL * TNH3, CONMIN ) GCL = MAX( 36.45e-3_fp * VOL * GCL, CONMIN ) ! Save tracers back into Spc array [kg] ! no longer save TSO4 back into Spc. SO4 is all aerosol phase ! (hotp 11/7/07) ! Spc(id_SO4)%Conc(I,J,L) = TSO4 !Spc(id_NH3)%Conc(I,J,L) = TNH3 IF ( id_HCl > 0 ) THEN Spc(id_HCL)%Conc(I,J,L) = GCL ENDIF IF (N == 1) THEN Spc(id_NH3 )%Conc(I,J,L) = TNH3 Spc(id_NH4 )%Conc(I,J,L) = TNH4 Spc(id_NIT )%Conc(I,J,L) = TNIT Spc(id_SALACL)%Conc(I,J,L) = & Spc(id_SALACL)%Conc(I,J,L)*(1.0_fp-AlkR) + ACL ELSE !Spc(id_NH4s )%Conc(I,J,L) = & ! Spc(id_NH4s )%Conc(I,J,L) * (1.0_fp-AlkR) + TNH4 Spc(id_NITs )%Conc(I,J,L) = & Spc(id_NITs )%Conc(I,J,L) * (1.0_fp-AlkR) + TNIT Spc(id_SALCCL)%Conc(I,J,L) = & Spc(id_SALCCL)%Conc(I,J,L) * (1.0_fp-AlkR) + ACL ENDIF ! Special handling for HNO3 [kg] IF ( id_HNO3 > 0 ) THEN !--------------------- ! COUPLED SIMULATION !--------------------- ! HNO3 [mole/m3] is in GAS(2); convert & store in Spc [kg] Spc(id_HNO3)%Conc(I,J,L) = MAX( 63.0e-3_fp * VOL * GNO3, CONMIN ) ! Save for use in DEN_SAV expression below (sofen, 4/21/10) HNO3_DEN = Spc(id_HNO3)%Conc(I,J,L) ELSE !--------------------- ! OFFLINE SIMULATION: !--------------------- ! Convert total inorganic nitrate from [mole/m3] to [ug/m3] ! and save for next time ! WT(4) is in [mole/m3] -- unit conv is necessary! CALL SET_HNO3( I, J, L, 63.0e+6_f8 * TNO3 ) ! Save for use in sulfate_mod (SEASALT_CHEM) for offline ! aerosol simulations (bec, 4/15/05) GAS_HNO3(I,J,L) = GNO3 ! Save for use in DEN_SAV expression below (sofen, 4/21/10) HNO3_DEN = GNO3 * VOL * 63.0e-3_fp ENDIF !------------------------- ! DIAGNOSTICS !------------------------- ! AEROPH: get pH related info to SAV arrays (hotp 8/11/09) ! HPLUSTEMP is H+ in mol/L water, AERLIQ1 is H, AERLIQ8 is H2O ! in mol/m3 air --> convert to mol/L water IF ( AERLIQ(8) < 1e-18_fp ) THEN ! Aerosol is dry so HPLUSTEMP and PH_SAV are undefined ! We force HPLUSTEMP to 1d20 (hotp, ccc, 12/18/09) ! Force IsorropAeropH to 20e0 (X. Wang, 6/27/19) !HPLUSTEMP = 1e+20_fp HPLUSTEMP = 1.0e-30_fp SULFTEMP = 1.0e-30_fp BISULTEMP = 1.0e-30_fp NITRTEMP = 1.0e-30_fp CLTEMP = 1.0e-30_fp !State_Chm%IsorropAeropH(I,J,L,N) = -999e+0_fp State_Chm%IsorropAeropH(I,J,L,N) = 20.0_fp ELSE HPLUSTEMP = AERLIQ(1) / AERLIQ(8) * 1.0e+3_fp / 18.0_fp SULFTEMP = AERLIQ(5) / AERLIQ(8) * 1.0e+3_fp / 18.0_fp BISULTEMP = AERLIQ(6) / AERLIQ(8) * 1.0e+3_fp / 18.0_fp NITRTEMP = AERLIQ(7) / AERLIQ(8) * 1.0e+3_fp / 18.0_fp CLTEMP = AERLIQ(4) / AERLIQ(8) * 1.0e+3_fp / 18.0_fp ! Use SAFELOG10 to prevent NAN State_Chm%IsorropAeropH(I,J,L,N)=-1.0_fp*SAFELOG10(HPLUSTEMP) ENDIF ! Additional Info State_Chm%IsorropHplus(I,J,L,N) = MAX(HPLUSTEMP, 1e-30_fp) State_Chm%IsorropAeroH2O(I,J,L,N) = MAX((AERLIQ(8)*18e+6_fp),1e-30_fp) ! mol/m3 -> ug/m3 State_Chm%IsorropNitrate(I,J,L,N) = MAX(NITRTEMP, 1e-30_fp) State_Chm%IsorropChloride(I,J,L,N)= MAX(CLTEMP, 1e-30_fp) IF (N==1) THEN State_Chm%IsorropSulfate(I,J,L) = MAX(SULFTEMP, 1e-30_fp) State_Chm%IsorropBisulfate(I,J,L)= MAX(BISULTEMP, 1e-30_fp) State_Chm%AeroH2O(I,J,L,1+NDUST) = AERLIQ(8) * 18e+0_fp ! mol/m3 -> g/m3 NUM_SAV = ( Spc(id_NH3 )%Conc(I,J,L) / 17.0_fp & + Spc(id_NH4 )%Conc(I,J,L) / 18.0_fp & + Spc(id_SALA)%Conc(I,J,L) * 0.3061_fp / 23.0_fp ) ! HMS is only defined for fullchem is simulations, ! so skip it if it is not a defined species IF ( IS_HMS ) THEN DEN_SAV = ( Spc(id_SO4)%Conc(I,J,L) / 96.0_fp * 2.0_fp & + Spc(id_HMS)%Conc(I,J,L) / 111.0_fp & + Spc(id_NIT)%Conc(I,J,L) / 62.0_fp & + HNO3_DEN / 63.0_fp & + Spc(id_SALA)%Conc(I,J,L) * 0.55_fp / 35.45_fp ) ELSE DEN_SAV = ( Spc(id_SO4)%Conc(I,J,L) / 96.0_fp * 2.0_fp & + Spc(id_NIT)%Conc(I,J,L) / 62.0_fp & + HNO3_DEN / 63.0_fp & + Spc(id_SALA)%Conc(I,J,L) * 0.55_fp / 35.45_fp ) ENDIF ENDIF ENDDO IF ( id_HCl > 0 ) THEN PHCl = ( Spc(id_HCL)%Conc(I,J,L) - PHCl ) * 35.45_fp / 36.45_fp ENDIF ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ! Free pointer Spc => NULL() !### Debug IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### AEROSOL_THERMODYNAMICS: a DO_ATE' ) ENDIF END SUBROUTINE DO_ATE !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: safelog10 ! ! !DESCRIPTION: Calculates the LOG (base 10) of a number X. Returns a minimum ! value if X is too small, in order to avoid NaN or Infinity problems. !\\ !\\ ! !INTERFACE: ! FUNCTION SAFELOG10( X ) RESULT ( SAFLOG ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: X ! Argument for LOG10 function ! ! !RETURN VALUE: ! REAL(fp) :: SAFLOG ! LOG10 output -- ! ! !REVISION HISTORY: ! 11 Aug 2009 - H. O. T. Pye - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC IF ( X <= 1e-20_fp ) THEN SAFLOG = -1e+0_fp*20e+0_fp ! if X<0, make pH 20 ELSE SAFLOG = LOG10(X) ENDIF END FUNCTION SAFELOG10 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: set_hno3 ! ! !DESCRIPTION: Subroutine SET\_HNO3 stores the modified HNO3 value back ! into the HNO3\_sav array for the next timestep. !\\ !\\ ! !INTERFACE: ! SUBROUTINE SET_HNO3( I, J, L, HNO3_UGM3 ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I ! GEOS-Chem longitude index INTEGER, INTENT(IN) :: J ! GEOS-Chem longitude index INTEGER, INTENT(IN) :: L ! GEOS-Chem longitude index REAL(f8), INTENT(IN) :: HNO3_UGM3 ! HNO3 concentration [ug/m3] ! ! !REVISION HISTORY: ! 16 Dec 2002 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC #if !defined( USE_REAL_8 ) HNO3_sav(I,J,L) = SNGL(HNO3_UGM3) ! if we are not using real*8 #else HNO3_sav(I,J,L) = HNO3_UGM3 ! if we are using real*8 #endif END SUBROUTINE SET_HNO3 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: get_gno3 ! ! !DESCRIPTION: Function GET\_GNO3 returns the gas-phase HNO3 [v/v] for ! calculation of sea-salt chemistry in sulfate\_mod (SEASALT\_CHEM). !\\ !\\ ! !INTERFACE: ! SUBROUTINE GET_GNO3( I, J, L, HNO3_kg, State_Met ) ! ! !USES: ! USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I ! GEOS-Chem longitude index INTEGER, INTENT(IN) :: J ! GEOS-Chem latitude index INTEGER, INTENT(IN) :: L ! GEOS-Chem level index ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State object ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: HNO3_kg ! Gas-phase HNO3 [kg] ! ! !REVISION HISTORY: ! 15 Apr 2005 - B. Alexander - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! Zero variables HNO3_kg = 0.e+0_fp ! convert from [mole/m3] to [kg] HNO3_kg = GAS_HNO3(I,J,L) * 63.e-3_fp * State_Met%AIRVOL(I,J,L) END SUBROUTINE GET_GNO3 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: GET_Qk ! ! !DESCRIPTION: Function GET\_Qk returns the mass transfer correction ! factor Qk for the thermodynamic equilibrium of coarse SSA. A dynamic ! method of Pillinis et al. (2000) is used here. !\\ !\\ ! !INTERFACE: ! Subroutine GET_QK(GNO3, GCL, GNO3eq, GCLeq, Hplus, d, temp, & denair, n_x, Qk, F_HNO3, F_HCl ) USE PhysConstants, ONLY : pi USE TIME_MOD, ONLY : GET_TS_CHEM ! ! !INPUT PARAMETERS: ! ! Gas concentration (mole m-3) before equilibrium REAL(fp), INTENT(IN) :: GNO3, GCL ! Gas concentration (mole m-3) after HETP equilibrium REAL(fp), INTENT(IN) :: GNO3eq, GCLeq ! Aerosol H+ concentration (mole m-3) REAL(fp), INTENT(IN) :: Hplus ! Aerosol (coarse seas salt) diameter (m) REAL(fp), INTENT(IN) :: d ! Temprature (K) REAL(fp), INTENT(IN) :: temp ! Air density (molec cm-3) REAL(fp), INTENT(IN) :: denair ! Aerosol (coarse sea salt) number density (m-3) REAL(fp), INTENT(IN) :: n_x ! ! !Return value: ! REAL(fp), INTENT(OUT) :: Qk, F_HNO3, F_HCl ! ! !REVISION HISTORY: ! 14 Feb 2018 - X. Wang - Initial version !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: REAL(fp) :: aa1, aa2, bb1, bb2, bb3 REAL(fp) :: D_g, f, Kn, H_flux_NO3, H_flux_Cl REAL(fp) :: alpha, Hlim, ab ! Initialize aa1 = 0.0_fp aa2 = 0.0_fp bb1 = 0.0_fp bb2 = 0.0_fp bb3 = 0.0_fp D_g = 0.0_fp f = 0.0_fp Kn = 0.0_fp H_flux_NO3 = 0.0_fp H_flux_Cl = 0.0_fp Hlim = 0.0_fp alpha = 0.0_fp ab = 0.0_fp ! Based on (Pilinis et al.AST,2000), for HNO3+HCl case, ! Qx = -bb / aa, first calculate bb: ! bb = -D_g*f*C(HNO3) - D_g*f*C(HCl) + alpha/(2*pi*d*N) ! aa = D_g*f*Ceq(HNO3) + D_g*f*Ceq(HCl) ! In the 1st term for HNO3, D_g is the gas diffusion coefficient (m2 s-1) D_g = 9.45E+17_fp/denair * SQRT(temp) * 1.e-4_fp * & SQRT(3.472E-2_fp + 1.E+0_fp/63.e+0_fp) ! f is the the correction for noncontinuum effects and imperfect ! accommodation, based on Kn number and accommodation coefficient Kn = 0.068e-6_fp / (d / 2.) ! Use S&P eq12.42 (Dahneke 1983) to calculate f ab = 7.5e-5 * exp(2.1e3 / temp) f = (1+Kn) / (1 + 2.*Kn*(1+Kn)/ab) ! C is the gas concentration before equilibrium (mol m-3) bb1 = -D_g * f * GNO3 !(mole m-1 s-1) ! Also calulate availabe H+ flux for later calculation (mol m-3 s-1) H_flux_NO3 = 2*pi*D_g*d*n_x*f*(GNO3-GNO3eq) F_HNO3 = 2*pi*D_g*d*n_x*f * GET_TS_CHEM()! * 60e+0_fp !save for flux calc aa1 = D_g*f*GNO3eq !(mole m-1 s-1) ! Do similar for the 2nd term, for HCl D_g = 9.45E+17_fp/denair * SQRT(temp) * 1.e-4_fp * & SQRT(3.472E-2_fp + 1.E+0_fp/36.45e+0_fp) ab = 4.4e-6 * exp(2.898e3 / temp) f = (1+Kn) / (1 + 2.*Kn*(1+Kn)/ab) bb2 = -D_g * f * GCL !(mole m-1 s-1) H_flux_Cl = 2*pi*D_g*d*n_x*f*(GCL-GCLeq) F_HCl = 2*pi*D_g*d*n_x*f * GET_TS_CHEM()! * 60e+0_fp !save for flux calc aa2 = D_g*f*GCLeq !(mole m-1 s-1) ! In the third term, alpha is the limited changes in the acidity ! of the particle. The limitation is set to 0.1s-1 following Pilinis, 2000 alpha = H_flux_Cl+H_flux_NO3 !(mole m-3 s-1) Hlim = 1.e-1_fp * Hplus !(mole m-3 s-1) IF (abs(alpha) .GT. Hlim) THEN alpha = sign(Hlim, alpha) !(mole m-3 s-1) bb3 = alpha/(2*pi*d*n_x) !(mole m-1 s-1) IF ((aa1+aa2) .LE. 0) THEN Qk = 1e+0_fp ELSEIF ((bb1 + bb2 + bb3) .GE. 0 ) THEN Qk = 1e+0_fp ELSE Qk = - (bb1 + bb2 + bb3) / (aa1 + aa2) ENDIF ELSE Qk = 1e+0_fp ENDIF END SUBROUTINE GET_Qk !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: init_ate ! ! !DESCRIPTION: Subroutine INIT\_ATE initializes all module arrays for the ! aerosols thermodynamics module. !\\ !\\ ! !INTERFACE: ! SUBROUTINE INIT_ATE( State_Grid ) ! ! !USES: ! USE ERROR_MOD, ONLY : ALLOC_ERR USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !REVISION HISTORY: ! 06 Jul 2007 - H. O. T. Pye - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: AS !================================================================= ! INIT_ATE begins here! !================================================================= ALLOCATE( HNO3_sav( State_Grid%NX, State_Grid%NY, State_Grid%NZ ), & STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'HNO3_sav' ) HNO3_sav = 0e+0_fp ALLOCATE( GAS_HNO3( State_Grid%NX, State_Grid%NY, State_Grid%NZ ), & STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'GAS_HNO3' ) GAS_HNO3 = 0e+0_fp END SUBROUTINE INIT_ATE !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: cleanup_ate ! ! !DESCRIPTION: Subroutine CLEANUP\_ATE deallocates all module arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CLEANUP_ATE ! ! !REVISION HISTORY: ! 06 Jul 2007 - H. O. T. Pye - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC IF ( ALLOCATED( HNO3_sav ) ) DEALLOCATE( HNO3_sav ) IF ( ALLOCATED( GAS_HNO3 ) ) DEALLOCATE( GAS_HNO3 ) END SUBROUTINE CLEANUP_ATE !EOC END MODULE AEROSOL_THERMODYNAMICS_MOD ================================================ FILE: GeosCore/airs_ch4_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: airs_ch4_mod.F90 ! ! !DESCRIPTION: Module AIRS\_CH4\_MOD !\\ !\\ ! !INTERFACE: ! MODULE AIRS_CH4_MOD ! ! !USES: ! #if !defined( MODEL_CESM ) USE m_netcdf_io_open ! netCDF open USE m_netcdf_io_get_dimlen ! netCDF dimension queries USE m_netcdf_io_read ! netCDF data reads USE m_netcdf_io_close ! netCDF close #endif USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: CALC_AIRS_CH4_FORCE ! ! !REVISION HISTORY: ! 20 Sept 2018 - Yuzhong Zhang - Initial version based on GOSAT_CH4_MOD.F ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! INTEGER, PARAMETER :: MAXLEV = 26 INTEGER, PARAMETER :: MAXOBS = 200000 LOGICAL, PARAMETER :: LDCH4SAT = .TRUE. ! ! !MODULE VARIABLES ! ! Record to store data from each AIRS obs TYPE AIRS_CH4_OBS INTEGER :: LAIRS(1) REAL(fp) :: LAT(1) REAL(fp) :: LON(1) INTEGER :: YEAR(1) INTEGER :: MONTH(1) INTEGER :: DAY(1) INTEGER :: HOUR(1) INTEGER :: MINUTE(1) INTEGER :: SECOND(1) REAL(fp) :: CH4(1) ! column v/v REAL(fp) :: CH4_ERROR(1) ! column v/v REAL(fp) :: PRES(MAXLEV) ! hPa REAL(fp) :: PRIOR(MAXLEV) ! v/v REAL(fp) :: AVG_KERNEL(MAXLEV) ! column vmr/vmr REAL(fp) :: P_WEIGHT(MAXLEV) ! pressure weight REAL(fp) :: DOF(1) !trace of avg_kernel ENDTYPE AIRS_CH4_OBS TYPE(AIRS_CH4_OBS) :: AIRS(MAXOBS) CONTAINS !EOC #if !defined( MODEL_CESM ) !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: read_airs_ch4_obs ! ! !DESCRIPTION: Subroutine READ\_AIRS\_CH4\_OBS reads the file and passes back ! info contained therein. (dkh, 10/12/10) !\\ !\\ ! !INTERFACE: ! SUBROUTINE READ_AIRS_CH4_OBS( YYYYMMDD, NAIRS ) ! ! !USES: ! ! USE TIME_MOD, ONLY : EXPAND_DATE USE ERROR_MOD, ONLY : ALLOC_ERR USE ERROR_MOD, ONLY : GEOS_CHEM_STOP USE TIME_MOD, ONLY : GET_YEAR, YMD_EXTRACT # include "netcdf.inc" ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: YYYYMMDD ! Date ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: NAIRS ! Number of AIRS retrievals ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: NLEV INTEGER :: NTIME ! For reading netCDF file INTEGER :: fId ! netCDF file ID INTEGER :: Status ! 0 means variable in file INTEGER :: X, Y, Z, T ! netCDF file dimensions INTEGER :: time_index ! Read this slice of data INTEGER :: st1d(1), ct1d(1) ! Start + count for 1D arrays INTEGER :: st2d(2), ct2d(2) ! Start + count for 2D arrays INTEGER :: RC ! 0 means dimension exists CHARACTER(LEN=16) :: stamp ! Time and date stamp CHARACTER(LEN=255) :: dir ! Data directory path CHARACTER(LEN=255) :: nc_file ! netCDF file name CHARACTER(LEN=255) :: v_name ! netCDF variable name CHARACTER(LEN=255) :: errMsg ! Error message CHARACTER(LEN=255) :: caller ! Name of this routine CHARACTER(LEN=4) :: CYEAR ! Year in character format CHARACTER(LEN=255) :: DimName1, DimName2 ! netCDF dimension names CHARACTER(LEN=255) :: DimName3 ! netCDF dimension names INTEGER :: LAIRS LOGICAL :: EXIST_VAR REAL(fp), ALLOCATABLE :: lat(:) REAL(fp), ALLOCATABLE :: lon(:) REAL(fp), ALLOCATABLE :: ch4(:) REAL(fp), ALLOCATABLE :: ch4_error(:) REAL(fp), ALLOCATABLE :: pres(:,:) REAL(fp), ALLOCATABLE :: prior(:,:) REAL(fp), ALLOCATABLE :: time(:,:) REAL(fp), ALLOCATABLE :: ak(:,:) REAL(fp), ALLOCATABLE :: pres_w(:,:) INTEGER :: I, L, AS, N REAL(fp) :: REF_DATE, TIME_JD !================================================================= ! READ_AIRS_CH4_OBS begins here! !================================================================= caller = 'READ_AIRS_CH4_OBS in GeosCore/airs_ch4_mod.F90' ! Get current year WRITE( CYEAR, '(i4)' ) GET_YEAR() ! Filename nc_file = 'TROPESS_AIRS_v1.6_CH4_YYYYMM.nc' CALL EXPAND_DATE( nc_file, YYYYMMDD, 9999 ) ! Construct complete file path dir = '/n/seasasfs02/epenn/AIRS/' nc_file = TRIM( dir ) // TRIM( nc_file ) WRITE( 6, 10 ) TRIM( nc_file ) 10 FORMAT( ' - Reading ', a) ! Make sure the file exists (ajt, 03/31/2013) INQUIRE( FILE=TRIM( nc_file ), EXIST=EXIST_VAR ) IF ( .NOT. EXIST_VAR ) THEN NAIRS = -1 RETURN ENDIF ! Open netCDF file CALL NcOp_Rd( fId, TRIM( nc_file ) ) ! Get name of dimension 1 (Observation) RC = NF_Inq_DimName( fId, 1, DimName1 ) IF ( RC /= 0 ) THEN PRINT*, 'Could not find name for dimension 1...' CALL GEOS_CHEM_STOP ENDIF ! Get name of dimension 2 (Level) RC = NF_Inq_DimName( fId, 2, DimName2 ) IF ( RC /= 0 ) THEN PRINT*, 'Could not find name for dimension 2...' CALL GEOS_CHEM_STOP ENDIF ! Get name of dimension 3 (UTC\ Date) RC = NF_Inq_DimName( fId, 3, DimName3 ) IF ( RC /= 0 ) THEN PRINT*, 'Could not find name for dimension 3...' CALL GEOS_CHEM_STOP ENDIF ! Get length of dimensions CALL NcGet_DimLen( fId, DimName1, NLEV ) CALL NcGet_DimLen( fId, DimName2, NAIRS ) CALL NcGet_DimLen( fId, DimName3, NTIME ) print*,'DimName3: ',DimName3 print*,'length: ',NTIME IF ( NLEV > MAXLEV ) THEN print*,' # Levels this day = ', NLEV print*, 'WARNING: NLEV > MAXLEV. Need to increase' print*, ' MAXLEV in airs_ch4_mod.f.' CALL GEOS_CHEM_STOP ENDIF IF ( NAIRS > MAXOBS ) THEN print*,' # of observation in this month = ', NAIRS print*, 'WARNING: NAIRS > MAXOBS. Need to increase' print*, ' MAXOBS in airs_ch4_mod.f.' CALL GEOS_CHEM_STOP ENDIF print*,' # AIRS Observations this month = ', NAIRS print*, 'levels', NLEV !-------------------------------- ! Allocate arrays for data to be read in !-------------------------------- ALLOCATE( lat( NAIRS ), STAT=AS ) ALLOCATE( lon( NAIRS ), STAT=AS ) ALLOCATE( ch4( NAIRS), STAT=AS ) ALLOCATE( ch4_error( NAIRS ), STAT=AS ) ALLOCATE( prior( NLEV, NAIRS ), STAT=AS ) ALLOCATE( pres( NLEV, NAIRS ), STAT=AS ) ALLOCATE( ak( NLEV, NAIRS ), STAT=AS ) ALLOCATE( pres_w( NLEV, NAIRS ), STAT=AS ) ALLOCATE( time( NTIME, NAIRS ), STAT=AS ) !-------------------------------- ! Read 1-D Data !-------------------------------- ! Latitude v_name = 'latitude' st1d = (/ 1 /) ct1d = (/ NAIRS /) CALL NcRd( lat, fId, TRIM(v_name), st1d, ct1d ) ! Longitude v_name = 'longitude' st1d = (/ 1 /) ct1d = (/ NAIRS /) CALL NcRd( lon, fId, TRIM(v_name), st1d, ct1d ) ! CH4 (ppb) v_name = 'xcol_ft' st1d = (/ 1 /) ct1d = (/ NAIRS /) CALL NcRd( ch4, fId, TRIM(v_name), st1d, ct1d ) ! ch4 column error v_name = 'xcol_err_ft' st1d = (/ 1 /) ct1d = (/ NAIRS /) CALL NcRd( ch4_error, fId, TRIM(v_name), st1d, ct1d ) !-------------------------------- ! Read 2D Data !-------------------------------- ! APRIORI (ppb) v_name = 'xa_ch4' st2d = (/ 1, 1 /) ct2d = (/ NLEV, NAIRS /) CALL NcRd( prior, fId, TRIM(v_name), st2d, ct2d ) ! Pressure (hPa) v_name = 'pressure' st2d = (/ 1, 1 /) ct2d = (/ NLEV, NAIRS /) CALL NcRd( pres, fId, TRIM(v_name), st2d, ct2d ) ! Averaging Kernel (linearized & multiplied with pres_w) v_name = 'ak_col_ft' st2d = (/ 1, 1 /) ct2d = (/ NLEV, NAIRS /) CALL NcRd( ak, fId, TRIM(v_name), st2d, ct2d ) ! Pressure Weight v_name = 'col_ft' st2d = (/ 1, 1 /) ct2d = (/ NLEV, NAIRS /) CALL NcRd( pres_w, fId, TRIM(v_name), st2d, ct2d ) ! UTC date and time v_name = 'UTC' st2d = (/ 1, 1 /) ct2d = (/ NTIME, NAIRS /) CALL NcRd( time, fId, TRIM(v_name), st2d, ct2d ) !-------------------------------- ! Place data into AIRS structure !-------------------------------- DO N = 1, NAIRS ! 1-D data AIRS(N)%LAIRS(1) = NLEV AIRS(N)%LAT(1) = lat(N) AIRS(N)%LON(1) = lon(N) AIRS(N)%CH4(1) = ch4(N) AIRS(N)%CH4_ERROR(1) = ch4_error(N) ! 2-D data LAIRS = NLEV AIRS(N)%PRIOR(1:LAIRS) = prior(1:LAIRS, N) AIRS(N)%PRES(1:LAIRS) = pres(1:LAIRS, N) AIRS(N)%AVG_KERNEL(1:LAIRS) = ak(1:LAIRS, N) AIRS(N)%P_WEIGHT(1:LAIRS) = pres_w(1:LAIRS, N) ! derived date var ! time array is length 7 with format (mm, dd, YYYY, HH, MM, SS, 0) ! split these into separate variables and convert ! from floats to integers (erp, 07/02/2020) AIRS(N)%MONTH(1) = NINT(time(1,N)) AIRS(N)%DAY(1) = NINT(time(2,N)) AIRS(N)%YEAR(1) = NINT(time(3,N)) AIRS(N)%HOUR(1) = NINT(time(4,N)) AIRS(N)%MINUTE(1) = NINT(time(5,N)) AIRS(N)%SECOND(1) = NINT(time(6,N)) ENDDO !-------------------------------- ! Close netCDF file !-------------------------------- ! Echo info WRITE( 6, 20 ) YYYYMMDD 20 FORMAT( ' - Finished reading AIRS CH4 observations for ', i8) ! Close netCDF file CALL NcCl( fId ) END SUBROUTINE READ_AIRS_CH4_OBS !EOC #endif !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: calc_airs_ch4_force ! ! !DESCRIPTION: Subroutine CALC\_AIRS\_CH4\_FORCE calculates the adjoint forcing ! from the GOSAT CH4 observations and updates the cost function. ! (dkh, 10/12/10) !\\ !\\ ! !INTERFACE: ! SUBROUTINE CALC_AIRS_CH4_FORCE( Input_Opt, State_Chm, State_Grid, & State_Met ) ! ! !USES: ! USE ErrCode_Mod USE GC_GRID_MOD, ONLY : GET_IJ USE Input_Opt_Mod, ONLY : OptInput USE TIME_MOD USE PhysConstants, ONLY : XNUMOLAIR, AIRMW USE State_Chm_Mod, ONLY : ChmState, Ind_ USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE Timers_Mod, ONLY : Timer_End, Timer_Start USE UnitConv_Mod, ONLY : Check_Units, MOLES_SPECIES_PER_MOLES_DRY_AIR ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input options TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !REVISION HISTORY: ! 16 Jun 2017 - M. Sulprizio- Initial version based on GOSAT CH4 observation ! operator from GC Adjoint v35j with updates from ! M. Sulprizio, J.D. Maasakkers, A. Turner, and ! K. Wecht ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: id_CH4 INTEGER, SAVE :: NAIRS INTEGER :: IIJJ(2), I, J, NT INTEGER :: L, LL INTEGER :: NOBS, IND INTEGER :: L0, L1 LOGICAL :: IFVALID INTEGER :: INDS(MAXOBS) INTEGER :: YYYYMMDD REAL(fp) :: GC_PRES(State_Grid%NZ) REAL(fp) :: GC_PEDGE(State_Grid%NZ+1) REAL(fp) :: DRY_AIR(State_Grid%NZ) REAL(fp) :: WATER_VAPOR(State_Grid%NZ) REAL(fp) :: GC_CH4_NATIVE(State_Grid%NZ) REAL(fp) :: GC_CH4(MAXLEV) REAL(fp) :: GC_CH4_ORIG(MAXLEV) REAL(fp) :: GC_PSURF REAL(fp) :: MAP(State_Grid%NZ,MAXLEV) REAL(fp) :: p(MAXLEV) REAL(fp) :: h(MAXLEV) REAL(fp) :: ch4 REAL(fp) :: ak1(MAXLEV), ak2(MAXLEV) REAL(fp) :: pres_w(MAXLEV) REAL(fp) :: prior(MAXLEV) REAL(fp) :: TropP !tropopause pressure (hPa) INTEGER :: LTrop !tropopause layer in GOSAT levels REAL(fp) :: WT_LTrop REAL(fp) :: GC_XCH4, GC_XCH4_ORIG, GC_XCH4_ORIG_oldpw REAL(fp) :: GC_XCH4_prior, GC_XCH4_trop, GC_XCH4_strat ! For miscellaneous LOGICAL, SAVE :: FIRST = .TRUE. INTEGER :: IOS INTEGER, SAVE :: TotalObs = 0 CHARACTER(LEN=255) :: FILENAME INTEGER :: previous_units CHARACTER(LEN=255) :: ThisLoc CHARACTER(LEN=512) :: ErrMsg INTEGER :: RC REAL(fp) :: foo ! throwaway output !================================================================= ! CALC_AIRS_CH4_FORCE begins here! !================================================================= print*, ' - CALC_AIRS_CH4_FORCE ' ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at CALC_AIRS_CH4_FORCE (in GeosCore/airs_ch4_mod.F90)' ! Initialize species ID flag id_CH4 = Ind_('CH4' ) ! Open files for diagnostic output IF ( FIRST ) THEN IF ( FIRST ) FIRST = .FALSE. FILENAME = 'sat_obs.airs.00.m' FILENAME = TRIM( Input_Opt%RUN_DIR ) // TRIM( FILENAME ) OPEN( 118, FILE=TRIM( FILENAME ), STATUS='UNKNOWN', & IOSTAT=IOS, FORM='FORMATTED', ACCESS='SEQUENTIAL' ) ! Write header of sat_obs.NN.m WRITE( 118, 281 ) ' NNN', & ' I', ' J', ' LON',' LAT','YYYY', & 'MM', 'DD', 'hh', 'mm', 'ss', & ' TAU', ' AIRS', & ' S_OBS', ' model', & ' model_orig', 'model_oldpw', & !erp ' TropP', ' model_prior', & !zyz ' model_trop', ' model_strat' !zyz 281 FORMAT( A10,2x,A4,2x,A4,2x,A8,2x,A8,2x,A4,2x,A2,2x,A2,2x,A2,2x, & A2,2x,A2,2x,A12,2x,A12,2x,A12,2x,A12,2x, A12,2x, & A12,2x, A12,2x, A12, 2x, A12, 2x, A12, 2x) ! Set Total Observations = 0 TotalObs = 0 ENDIF ! FIRST ! Read Observations at first call and at end of the day IF ( FIRST .OR. ITS_A_NEW_DAY() ) THEN ! Read the AIRS CH4 file for this month YYYYMMDD = 1d4*GET_YEAR() + 1d2*GET_MONTH() + GET_DAY() CALL READ_AIRS_CH4_OBS( YYYYMMDD, NAIRS ) ! Make sure there are observations on this day IF ( NAIRS .EQ. -1 ) RETURN ENDIF ! Get indices of AIRS observations in the current hour ! At the start of each hour, assimilate observations that ! were made in the previous 60 minutes. ! For example, at time 18:00, assimilate observations ! made from 18:00 - 18:59 INDS(:) = 0 NOBS = 0 !print*,'Looking for observations at MONTH, DAY, HOUR = ', & ! GET_MONTH(), GET_DAY(), GET_HOUR() DO NT = 1, NAIRS IF ( AIRS(NT)%MONTH(1) .EQ. GET_MONTH() .AND. & AIRS(NT)%DAY(1) .EQ. GET_DAY() .AND. & AIRS(NT)%HOUR(1) .EQ. GET_HOUR() ) THEN NOBS = NOBS + 1 INDS(NOBS) = NT !print*,'Found a good observation! NT = ', NT ENDIF ENDDO IF ( NOBS == 0 ) THEN print*, ' No matching AIRS CH4 obs for this hour' RETURN ENDIF print*, ' for day ',GET_YEAR(), GET_MONTH(), GET_DAY() print*, ' for hour range: ', GET_HOUR(), GET_HOUR()+1 print*, ' found # AIRS observations: ', NOBS ! Verify that incoming State_Chm%Species units are mol/mol dry air. IF ( .not. Check_Units( State_Chm, MOLES_SPECIES_PER_MOLES_DRY_AIR ) ) THEN ErrMsg = 'Not all species are in "mol/mol dry" units!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !! need to update this in order to do i/o with this loop parallel !! ! Now do a parallel loop for analyzing data !!$OMP PARALLEL DO !!$OMP+DEFAULT( PRIVATE ) !!!$OMP+PRIVATE( IND, NT, MAP, LGOS, IIJJ, I, J, L, LL, JLOOP ) !!!$OMP+PRIVATE( GC_CH4, FORCE, CH4_PRIOR, GC_PRES, FILENAME ) !!!$OMP+PRIVATE( GC_PEDGE, GC_PSURF, GC_CH4_NATIVE, GOS_XCH4 ) !!!$OMP+PRIVATE( GOS_XCH4_ERROR, S_OBS, h, p, XCH4a, XCH4m ) !!!$OMP+PRIVATE( GC_XCH4, DIFF, DIFF_ADJ, GC_XCH4_ADJ ) !!!$OMP+PRIVATE( GC_CH4_NATIVE_ADJ, GC_CH4_ADJ, TotalObs ) DO IND = 1, NOBS NT = INDS(IND) ! Check for layers with valid retrieved value in data CALL GET_VALID_LAYERS (NT, L0, L1, IFVALID) IF ( .NOT. IFVALID ) THEN print*, 'This retrieval appears to be invalid', NT CYCLE ENDIF ! Skip Observations outside the domain IF ( AIRS(NT)%LAT(1) < State_Grid%YMin .OR. & AIRS(NT)%LAT(1) > State_Grid%YMax .OR. & AIRS(NT)%LON(1) < State_Grid%XMin .OR. & AIRS(NT)%LON(1) > State_Grid%XMax ) THEN print*, ' Outside nested domain, skipping record ', NT CYCLE ENDIF ! Get grid box of current record IIJJ = GET_IJ( REAL(AIRS(NT)%LON(1),4), & REAL(AIRS(NT)%LAT(1),4), & State_Grid ) I = IIJJ(1) J = IIJJ(2) ! skip observations where the AIRS surface is much ! lower than the model IF ( (AIRS(NT)%PRES(L0) - State_Met%PEDGE(I,J,1)) > 50e0 ) THEN print*, ' Psurf threshold not met, skipping record ', NT CYCLE ENDIF !------------------------------ ! Begin good observations !------------------------------ print*,' Begin assimilating good observation. NT = ', NT ! Get GC pressure levels (mbar) DO L = 1, State_Grid%NZ GC_PRES(L) = State_Met%PMID(I,J,L) ENDDO ! Get GC pressure edges (mbar) DO L = 1, State_Grid%NZ+1 GC_PEDGE(L) = State_Met%PEDGE(I,J,L) ENDDO ! Get GC surface pressure (mbar) GC_PSURF = State_Met%PEDGE(I,J,1) ! Get CH4 values at native model resolution [v/v] GC_CH4_NATIVE(:) = 0.0_fp GC_CH4_NATIVE(:) = State_Chm%Species(id_CH4)%Conc(I,J,:) ! Get # mols of dry air in each gridbox DRY_AIR(:) = 0.0_fp DRY_AIR(:) = State_Met%AIRDEN(I,J,:) * XNUMOLAIR * & 1e-6_fp * State_Met%BXHEIGHT(I,J,:)*1e2_fp WATER_VAPOR(:) = 0.0_fp WATER_VAPOR(:) = State_Met%AVGW(I,J,:) ! Use short names for clarity p(:) = AIRS(NT)%PRES(:) ak1(:) = AIRS(NT)%AVG_KERNEL(:) prior(:) = AIRS(NT)%PRIOR(:) pres_w(:) = AIRS(NT)%P_WEIGHT(:) ! Compute the AIRS layer that encloses tropopause TropP = State_Met%TROPP(I,J) CALL GET_TROP_LAYER(TropP, p, L0, L1, LTrop, WT_LTrop) ! Convert from AIRS AK format to GOSAT AK format CALL CONVERT_COL_AK(ak1, pres_w, L0, L1, ak2) ! ***************************** ! SIMPLE LINEAR INTERPOLATION ! ***************************** ! simple interpolation does not consider mass or dry air ! it may result in loss of information if satellite grid ! is lower resolution than model (see Rodgers 2000, and ! Keppens et al. 2019) ! this is what JDM, ZYZ, and AJT use ! Calculate the interpolation weight matrix MAP(:,:) = 0.0_fp CALL GET_INTMAP_OLD( State_Grid, GC_PRES, GC_PSURF, & AIRS(NT)%PRES, L0, L1, MAP ) ! Interpolate GC CH4 column to AIRS grid GC_CH4_ORIG(:) = 0.0_fp DO LL = L0, L1 GC_CH4_ORIG(LL) = 0.0_fp DO L = 1, State_Grid%NZ GC_CH4_ORIG(LL) = GC_CH4_ORIG(LL) & + MAP(L,LL) * GC_CH4_NATIVE(L) ENDDO ENDDO ! Compute the GEOS-Chem XCH4 corresponding to the observation ! With AIRS pressure weighting CALL CALC_GC_XCH4 (GC_CH4_ORIG, ak2, pres_w, prior, L0, L1, & LTROP, WT_LTROP, & GC_XCH4_ORIG, foo, & foo, foo) ! Calculate AJT and JDM pressure weighting h = 0.0_fp CALL CALC_PRES_WEIGHT_AJT (p, L0, L1, h) ! Compute the GEOS-Chem XCH4 corresponding to the observation ! Using AJT & JDM's pressure weighting CALL CALC_GC_XCH4 (GC_CH4_ORIG, ak2, h, prior, L0, L1, & LTROP, WT_LTROP, & GC_XCH4_ORIG_oldpw, foo, & foo, foo) ! ************************** ! MASS-BASED INTERPOLATION ! ************************** ! Interpolate using new (mass-based) interp ! that gets concentration on pressure **edges** ! Function based on Keppens et al. 2019 ! erp, Oct 6, 2020 CALL MASS_INTERP( GC_PEDGE, AIRS(NT)%PRES, GC_CH4_NATIVE, & L0, State_Grid%NZ, AIRS(NT)%LAIRS(1), & GC_CH4 ) ! Separate the impact prior, troposphere, and stratosphere CALL CALC_GC_XCH4 (GC_CH4, ak2, pres_w, prior, L0, L1, & LTROP, WT_LTROP, & GC_XCH4, GC_XCH4_prior, & GC_XCH4_trop, GC_XCH4_strat) TotalObs = TotalObs + 1 ! Record information for satellite diagnostics IF ( LDCH4SAT ) THEN WRITE( 118, 283 ) TotalObs, I, J, AIRS(NT)%LON(1), & AIRS(NT)%LAT(1),AIRS(NT)%YEAR(1), & AIRS(NT)%MONTH(1), AIRS(NT)%DAY(1), AIRS(NT)%HOUR(1), & AIRS(NT)%MINUTE(1), AIRS(NT)%SECOND(1), GET_TAU(), & AIRS(NT)%CH4(1), AIRS(NT)%CH4_ERROR(1), GC_XCH4, & GC_XCH4_ORIG, GC_XCH4_ORIG_oldpw, TROPP, & GC_XCH4_prior, GC_XCH4_trop, GC_XCH4_strat ENDIF ENDDO ! NT !!$OMP END PARALLEL DO 283 FORMAT( I10,2x,I4,2x,I4,2x,F8.3,2x,F8.4,2x,I4,2x,I2,2x,I2,2x,I2, & 2x,I2,2x,I2,2x,F12.3,2x,E12.6,2x,E12.6,2x,E12.6, & 2x, E12.6,2x, E12.6,2x, F12.3, 2x,E12.6, 2x, E12.6, 2x, & E12.6,2x ) print*, ' Number of observations this hour = ', NOBS print*, ' Number of observations total = ', TotalObs END SUBROUTINE CALC_AIRS_CH4_FORCE !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: get_intmap ! ! !DESCRIPTION: Function GET\_INTMAP linearly interpolates column quatities ! based upon the centered (average) pressue levels. !\\ !\\ ! !INTERFACE: ! SUBROUTINE GET_INTMAP_OLD( State_Grid, GCPCEN, GCPSURF, AIRSPEDGE, & L0, L1, INTMAP ) ! ! !USES: ! USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid REAL(fp), INTENT(IN) :: GCPCEN(State_Grid%NZ) REAL(fp), INTENT(IN) :: GCPSURF REAL(fp), INTENT(IN) :: AIRSPEDGE(MAXLEV) INTEGER, INTENT(IN) :: L0, L1 ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: INTMAP(State_Grid%NZ,MAXLEV) ! ! !REVISION HISTORY: ! 16 Jun 2017 - M. Sulprizio- Initial version based on GOSAT CH4 observation ! operator from GC Adjoint v35j ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: LGC, LTM REAL(fp) :: DIFF, DELTA_SURFP REAL(fp) :: LOW, HI !================================================================= ! GET_INTMAP begins here! !================================================================= ! Initialize INTMAP(:,:) = 0e+0_fp ! Loop over each pressure level of AIRS grid DO LTM = L0, L1 ! Find the levels from GC that bracket level LTM DO LGC = 1, State_Grid%NZ-1 LOW = GCPCEN(LGC+1) HI = GCPCEN(LGC) ! Match GEOS-Chem level to AIRS level IF ( AIRSPEDGE(LTM) <= HI .and. & AIRSPEDGE(LTM) > LOW) THEN DIFF = HI - LOW INTMAP(LGC+1,LTM) = ( HI - AIRSPEDGE(LTM) ) / DIFF INTMAP(LGC ,LTM) = ( AIRSPEDGE(LTM) - LOW ) / DIFF ENDIF ENDDO ENDDO ! zyz- Need to check what this means? ! Correct for case where AIRS pressure is higher than the ! highest GC pressure center. In this case, just 1:1 map. DO LTM = L0, L1 IF ( AIRSPEDGE(LTM) > GCPCEN(1) ) THEN INTMAP(:,LTM) = 0e+0_fp INTMAP(1,LTM) = 1e+0_fp ENDIF ENDDO END SUBROUTINE GET_INTMAP_OLD !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: get_trop_layer ! ! !DESCRIPTION: Find the AIRS layer that encloses tropopause and compute ! the fraction of this layer in the tropospher !\\ !\\ ! !INTERFACE: ! SUBROUTINE GET_TROP_LAYER(TROPP, AIRSP, L0, L1, LTROP, WT_LTROP) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: TROPP REAL(fp), INTENT(IN) :: AIRSP(MAXLEV) INTEGER, INTENT(IN) :: L0, L1 ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: LTROP !Layer encloses tropopause REAL(fp), INTENT(OUT) :: WT_LTROP !Fraction in troposphere ! ! !REVISION HISTORY: ! 21 Sept 2018 - Yuzhong Zhang - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: L REAL(fp) :: AIRSP_HF(MAXLEV+1) !Estimate the edge of AIRS layers AIRSP_HF(L0) = AIRSP(L0) + (AIRSP(L0)-AIRSP(L0+1))/2.0_fp DO L = L0, L1-1 AIRSP_HF(L+1) = (AIRSP(L)+AIRSP(L+1))/2e+0_fp ENDDO AIRSP_HF(L1+1) = AIRSP(L1) - (AIRSP(L1-1)-AIRSP(L1))/2.0_fp !Find the layer that enclose the tropopause !Estimate the WT_LTROP as the fraction of pressure !difference in that layer IF (TROPP.GE.AIRSP_HF(L0)) THEN LTROP = L0 - 1 WT_LTROP = 1.0_fp ELSE IF (TROPP.LT.AIRSP(L1+1)) THEN LTROP = L1 + 1 WT_LTROP = 0.0_fp ELSE LTROP = L0 DO L = L0, L1 IF (TROPP < AIRSP_HF(L) .and. TROPP>= AIRSP_HF(L+1)) THEN LTROP=L WT_LTROP= (AIRSP_HF(L)-TROPP)/(AIRSP_HF(L)-AIRSP_HF(L+1)) EXIT ENDIF ENDDO ENDIF END SUBROUTINE GET_TROP_LAYER !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: get_valid_layers ! ! !DESCRIPTION: First check if the AIRS profile is valid; Second find the ! lowest and highest layer with valid number !\\ !\\ ! !INTERFACE: ! SUBROUTINE GET_VALID_LAYERS (NT, L0, L1, IFVALID) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: NT ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: L0 INTEGER, INTENT(OUT) :: L1 LOGICAL, INTENT(OUT) :: IFVALID ! ! !REVISION HISTORY: ! 21 Sept 2018 - Yuzhong Zhang - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: L L0 = 0 L1 = 0 IFVALID = .TRUE. ! check if CH4 column is missing IF (AIRS(NT)%CH4(1) .LT. 0d0) THEN IFVALID=.FALSE. ENDIF ! find the first nonmissing level DO L = 1, AIRS(NT)%LAIRS(1) IF( AIRS(NT)%PRIOR(L) .GT. 0d0 .AND. & AIRS(NT)%PRES(L) .GT. 0d0 .AND. & AIRS(NT)%P_WEIGHT(L) .GT. 0d0 ) THEN L0 = L EXIT ENDIF ENDDO ! if there are no levels, obs. is invalid IF (L0 .EQ. 0) THEN IFVALID=.FALSE. RETURN ENDIF ! find the last nonmissing level DO L = AIRS(NT)%LAIRS(1), 1, -1 IF( AIRS(NT)%PRIOR(L) .GT. 0d0 .AND. & AIRS(NT)%PRES(L) .GT. 0d0 .AND. & AIRS(NT)%P_WEIGHT(L) .GT. 0d0 ) THEN L1 = L EXIT ENDIF ENDDO ! if there are 3 or less levels, obs. is invalid IF ((L1-L0).LE.3) THEN IFVALID = .FALSE. RETURN ENDIF ! if there are missing levels in the middle, ! (not adjacent to the top/bottom), then obs. is invalid DO L = L0, L1 IF( AIRS(NT)%PRIOR(L) .LE. 0d0 .AND. & AIRS(NT)%PRES(L) .LE. 0d0 .AND. & AIRS(NT)%AVG_KERNEL(L) .LT. -998d0 ) THEN IFVALID=.FALSE. EXIT ENDIF ENDDO END SUBROUTINE GET_VALID_LAYERS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: ak_log_to_linear ! ! !DESCRIPTION: Convert averaging kernel to linear ! See Zhang, L., Intercomparison methods for satellite measurements of ! atmospheric composition: application to tropospheric ozone from ! AIRS and OMI, Atmos. Chem. Phys. 10, 4,725-4,739, 2010 ! AK0 in d ln(vmr)/d ln(vmr) ! AK1 in d vmr/ d vmr !\\ !\\ ! !INTERFACE: ! SUBROUTINE AK_LOG_TO_LINEAR (AK0, PRIOR, L0, L1, AK1) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: AK0(MAXLEV, MAXLEV) REAL(fp), INTENT(IN) :: PRIOR(MAXLEV) INTEGER, INTENT(IN) :: L0 INTEGER, INTENT(IN) :: L1 ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: AK1(MAXLEV, MAXLEV) ! ! !REVISION HISTORY: ! 21 Sept 2018 - Yuzhong Zhang - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: IL, JL AK1(:,:) = -999d0 DO IL = L0, L1 DO JL = L0, L1 AK1(IL,JL) = AK0(IL,JL)*PRIOR(IL)/PRIOR(JL) ENDDO ENDDO END SUBROUTINE AK_LOG_TO_LINEAR !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: calc_pres_weight_zyz ! ! !DESCRIPTION: Caluate the prssure weight for each AIRS layer !\\ !\\ ! !INTERFACE: ! SUBROUTINE CALC_PRES_WEIGHT_ZYZ (PRES, L0, L1, PRES_WT) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: PRES(MAXLEV) INTEGER, INTENT(IN) :: L0, L1 ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: PRES_WT(MAXLEV) ! ! !REVISION HISTORY: ! 21 Sept 2018 - Yuzhong Zhang - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: LL REAL(fp) :: TOTWT PRES_WT(:) = 0.0_fp PRES_WT(L0) = PRES(L0)-PRES(L0+1) DO LL = L0+1, L1-1 PRES_WT(LL) = (PRES(LL-1)-PRES(LL+1))/2.0_fp ENDDO PRES_WT(L1) = PRES(L1-1)-PRES(L1) TOTWT = SUM(PRES_WT) PRES_WT(:) = PRES_WT(:) / TOTWT END SUBROUTINE CALC_PRES_WEIGHT_ZYZ !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: calc_pres_wright_ajt ! ! !DESCRIPTION: Compute GC_XCH4 with the h operator used in AJT and JDM's work ! This method seems to have two problems: ! 1. It ignores the impact of vertical variation in specific humidity ! on the weighting function ! 2. The layer boundary here is at the altidue midpoint ! The paper that the UL-GOSAT paper cites uses pressure midpoint !\\ !\\ ! !INTERFACE: ! SUBROUTINE CALC_PRES_WEIGHT_AJT (PRES, L0, L1, PRES_WT) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: PRES(MAXLEV) INTEGER, INTENT(IN) :: L0, L1 ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: PRES_WT(MAXLEV) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) :: p(MAXLEV), h(MAXLEV) INTEGER :: L PRES_WT(:) = 0.0_fp h = 0.0_fp p = 0.0_fp ! Need to integrate from the toa to surface ! so flip order of layers (ajt, 05/21/13) p(L0:L1) = PRES(L0:L1) IF (L1 .GT. 1) THEN IF(PRES(L0+1) .LT. PRES(L0)) THEN p(1:L1) = p(L1:1:-1) ENDIF ENDIF ! assign weight to TOA L = 1 h(L) = 1./PRES(L0) * & ABS(( -1e0*p(L) + ( (p(L+1)-p(L))/(LOG(p(L+1)/p(L))) ) ) ) ! assign weight to surface L = L1 - L0 + 1 h(L) = 1./PRES(L0) * & ABS(( p(L) - ( (p(L)-p(L-1))/(LOG(p(L)/p(L-1))) ) ) ) ! assign weights to middle layers DO L=2,L1-L0 h(L) = 1./PRES(L0) * ABS( & ( -1e0*p(L) + ( (p(L+1)-p(L))/(LOG(p(L+1)/p(L))) ) ) + & ( p(L) - ( (p(L)-p(L-1))/(LOG(p(L)/p(L-1))) ) ) ) ENDDO ! Now return to the orientation of the other variables IF (L1 .GT. 1) THEN ! erp includes bugfix 09/23/2019 IF(PRES(L0+1) .LT. PRES(L0)) THEN h(L0:L1) = h(L1-L0+1:1:-1) p(L0:L1) = p(L1-L0+1:1:-1) ENDIF ENDIF PRES_WT(L0:L1) = h(L0:L1) ENDSUBROUTINE CALC_PRES_WEIGHT_AJT !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: calc_col_ak ! ! !DESCRIPTION: Calcuate the column averaging kernel ! Aj = (h'A)j / hj ! See Worden et al, 2015 AMT, Quantifying lower tropospheric ! methane concentrations using GOSAT near-IR and AIRS thermal ! TIR measurements !\\ !\\ ! !INTERFACE: ! SUBROUTINE CALC_COL_AK (AK1, PRES_WT, L0, L1, AK2) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: AK1(MAXLEV, MAXLEV) REAL(fp), INTENT(IN) :: PRES_WT(MAXLEV) INTEGER, INTENT(IN) :: L0, L1 ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: AK2(MAXLEV) ! ! !REVISION HISTORY: ! 21 Sept 2018 - Yuzhong Zhang - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, J AK2(:) = 0.0_fp DO J = L0, L1 AK2(J) = SUM(AK1(L0:L1,J) * PRES_WT(L0:L1)) ENDDO AK2(L0:L1) = AK2(L0:L1) / PRES_WT(L0:L1) ENDSUBROUTINE CALC_COL_AK !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: convert_col_ak ! ! !DESCRIPTION: Convert column averaging kernel - erp, July 15, 2020 ! The GOSAT column averaging kenel is defined as: ! Aj = (h'A)j / hj ! But AIRS column averaging kernel is defined as: ! Aj = (h'A)j ! So we need to convert to the GOSAT format to use the default ! functions. ! See Worden et al, 2015 AMT, Quantifying lower tropospheric ! methane concentrations using GOSAT near-IR and AIRS thermal ! TIR measurements !\\ !\\ ! !INTERFACE: ! SUBROUTINE CONVERT_COL_AK (AK1, PRES_WT, L0, L1, AK2) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: AK1(MAXLEV) REAL(fp), INTENT(IN) :: PRES_WT(MAXLEV) INTEGER, INTENT(IN) :: L0, L1 ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: AK2(MAXLEV) ! ! !REVISION HISTORY: ! 13 Sept 2019 - E. Penn - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: L AK2(:) = 0.0_fp DO L = L0, L1 ! prevent dividing by zero IF (PRES_WT(L) .LE. 0d0) THEN AK2(L) = 0.0_fp ELSE AK2(L) = AK1(L) / PRES_WT(L) ENDIF ENDDO ENDSUBROUTINE CONVERT_COL_AK !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: calc_airs_bias_correction ! ! !DESCRIPTION: Correct bias in the AIRS ORIGINAL_SPECIES variable. ! From email from J Worden, September 2018. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CALC_AIRS_BIAS_CORRECTION(CH4, AK, PRES, L0, L1, CH4_CORRECTED) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: CH4(MAXLEV) REAL(fp), INTENT(IN) :: AK(MAXLEV, MAXLEV) REAL(fp), INTENT(IN) :: PRES(MAXLEV) INTEGER, INTENT(IN) :: L0, L1 ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: CH4_CORRECTED(MAXLEV) ! ! !REVISION HISTORY: ! 13 Sept 2019 - E. Penn - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, NTROPINDS INTEGER :: TROPINDS(MAXLEV) REAL(fp) :: BIAS(MAXLEV), DELTA(MAXLEV) ! Find indicies of pres > 150 (~trop) TROPINDS(:) = 0 NTROPINDS = 1 DO I = L0,L1 IF ( PRES(I) > 150.0_fp ) THEN TROPINDS(NTROPINDS) = I NTROPINDS = NTROPINDS+1 ENDIF ENDDO BIAS(:) = 0.0_fp BIAS(TROPINDS(1:NTROPINDS)) = -0.038_fp - 0.006_fp ! perform matrix multiplication AK * BIAS DO I = L0,L1 DELTA(I) = SUM(AK(I,L0:L1) * BIAS(L0:L1)) ENDDO CH4_CORRECTED(L0:L1) = CH4(L0:L1) + DELTA(L0:L1) * CH4(L0:L1) ENDSUBROUTINE CALC_AIRS_BIAS_CORRECTION !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: calc_airs_xch4 ! ! !DESCRIPTION: Calcuate the XCH4 as observed by AIRS ! Average CH4 mixing ratio weighted by pressure layer thickness !\\ !\\ ! !INTERFACE: ! SUBROUTINE CALC_AIRS_XCH4 (CH4, PRES_WT, L0, L1, XCH4) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: CH4(MAXLEV) REAL(fp), INTENT(IN) :: PRES_WT(MAXLEV) INTEGER, INTENT(IN) :: L0, L1 ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: XCH4 ! ! !REVISION HISTORY: ! 21 Sept 2018 - Yuzhong Zhang - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC XCH4 = SUM( CH4(L0:L1) * PRES_WT(L0:L1)) ENDSUBROUTINE CALC_AIRS_XCH4 !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: calc_gc_xch4 ! ! !DESCRIPTION: Add computation to record separate tropospheric contribution ! to XCH4, zyz, Sept 19, 2018 ! We can record XCH4_prior, XCH4_trop, XCH4_strat, ! so startospheric bias correction can be done offline ! XCH4m = XCH4a + XCH4c ! = SUM(l) (wl*pl) + SUM(l) (wl*al*(ml-pl)) ! = SUM(l) ((1-al)*wl*pl) + SUM(l) (al*wl*ml) ! = SUM(l) ((1-al)*wl*pl) + ===> XCH4m_prior ! SUM(l<=LTROP) (al*wl*ml) + ===> XCH4m_trop ! SUM(l>LTROP) (al*wl*ml) ===> XCH4m_strat ! . ! wl: weight for layer l ! pl: prior mixing ratio at layer l ! ml: model mixing ratio at layer l ! al: column averaging kernel at layer l ! LTROP: layer of tropopause !\\ !\\ ! !INTERFACE: ! SUBROUTINE CALC_GC_XCH4( GC_CH4, AK2, PRES_WT, PRIOR, L0, L1, & LTROP, WT_LTROP, & XCH4, XCH4_prior, XCH4_trop, XCH4_strat) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: GC_CH4(MAXLEV), AK2(MAXLEV) REAL(fp), INTENT(IN) :: PRIOR(MAXLEV), PRES_WT(MAXLEV) INTEGER, INTENT(IN) :: L0, L1, LTROP REAL(fp), INTENT(IN) :: WT_LTROP ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: XCH4, XCH4_prior, XCH4_trop, XCH4_strat ! ! !REVISION HISTORY: ! 19 Sept 2018 - Yuzhong Zhang - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: L ! Calculate XCH4_prior XCH4_PRIOR = 0.0_fp DO L = L0, L1 XCH4_PRIOR = XCH4_PRIOR + (1.0_fp - AK2(L)) * PRES_WT(L) * PRIOR(L) ENDDO ! Calculate XCH4_trop XCH4_trop = 0.0_fp DO L = L0, LTROP XCH4_trop = XCH4_trop + AK2(L) * PRES_WT(L) * GC_CH4(L) ENDDO IF (LTROP .ge. L0) THEN XCH4_trop = XCH4_trop - (1.0_fp - WT_LTROP) * & AK2(LTROP) * PRES_WT(LTROP) * GC_CH4(LTROP) ENDIF ! Calculate XCH4_strat XCH4_strat = 0.0_fp DO L = LTROP, L1 XCH4_strat = XCH4_strat + AK2(L) * PRES_WT(L) * GC_CH4(L) ENDDO IF (LTROP .le. L1) THEN XCH4_strat = XCH4_strat - WT_LTROP * & AK2(LTROP) * PRES_WT(LTROP) * GC_CH4(LTROP) ENDIF ! Calculate total column XCH4 = XCH4_PRIOR + XCH4_trop + XCH4_strat END SUBROUTINE CALC_GC_XCH4 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: h_to_hprime ! ! !DESCRIPTION: Calculate HPRIME pressure edges from equation 11 of Keppens 2019 !\\ !\\ ! !INTERFACE: ! SUBROUTINE H_TO_HPRIME( OBS_PEDGE, L0, nlev_obs, HPRIME ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: nlev_obs, L0 REAL(fp), INTENT(IN) :: OBS_PEDGE(nlev_obs) ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: HPRIME(nlev_obs+1) ! ! !REVISION HISTORY: ! 06 Oct 2020 - E. Penn - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: L ! Initialize HPRIME(:) = -9999.0_fp ! this is your missing value HPRIME(L0) = OBS_PEDGE(L0) HPRIME(nlev_obs+1) = OBS_PEDGE(nlev_obs) ! Loop over each pressure level of observation grid DO L = L0+1, nlev_obs HPRIME(L) = 0.5_fp*OBS_PEDGE(L) + 0.5_fp*OBS_PEDGE(L-1) ENDDO END SUBROUTINE H_TO_HPRIME !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: extend_gc ! ! !DESCRIPTION: Extend GEOS-Chem pressure leveys so they cover the full ! vertical range of the observations !\\ !\\ ! !INTERFACE: ! SUBROUTINE EXTEND_GC( GC_PEDGE, OBS_PEDGE, L0, & nlev_gc, nlev_obs, GC_PEDGE_EXT ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: nlev_obs, nlev_gc, L0 REAL(fp), INTENT(IN) :: GC_PEDGE(nlev_gc+1) REAL(fp), INTENT(IN) :: OBS_PEDGE(nlev_obs) ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: GC_PEDGE_EXT(nlev_gc+1) ! ! !REVISION HISTORY: ! 13 Sept 2019 - E. Penn - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! Initialize GC_PEDGE_EXT(:) = 0.0_fp GC_PEDGE_EXT(:) = GC_PEDGE(:) ! if observation surf pres. is higher than model, then ! extend the surface model layer down to the obs. surface IF ( OBS_PEDGE(L0) > GC_PEDGE(1) ) THEN GC_PEDGE_EXT(1) = OBS_PEDGE(L0) ENDIF ! if observation TOA pres. is lower than model, then ! extend the top model layer up to the obs. TOA IF ( OBS_PEDGE(nlev_obs) < GC_PEDGE(nlev_gc+1) ) THEN GC_PEDGE_EXT(nlev_gc+1) = OBS_PEDGE(nlev_obs) ENDIF END SUBROUTINE EXTEND_GC !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: get_overlap_map ! ! !DESCRIPTION: OVERLAP_MAP is W in eq 13 of Keppens 2019 !\\ !\\ ! !INTERFACE: ! SUBROUTINE GET_OVERLAP_MAP( GC_PEDGE, OBS_PEDGE, & L0, nlev_gc, nlev_obs, OVERLAP_MAP) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: nlev_gc INTEGER, INTENT(IN) :: nlev_obs REAL(fp), INTENT(IN) :: GC_PEDGE(nlev_gc) REAL(fp), INTENT(IN) :: OBS_PEDGE(nlev_obs) INTEGER, INTENT(IN) :: L0 ! lowest valid observation level ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: OVERLAP_MAP(nlev_obs-1,nlev_gc-1) ! ! !REVISION HISTORY: ! 23 Sep 2020 - Elise Penn - get map of layer overlaps based on interpolation ! in Langerock et a. 2015 and used in equation 13 of ! Keppens et al. 2019. ! See description of "mass-conserved regridding" in ! Keppens et al. 2019: ! https://doi.org/10.5194/amt-12-4379-2019 !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: LGC, LTM REAL(fp) :: DIFF REAL(fp) :: LOW_GC, HI_GC REAL(fp) :: LOW_OBS, HI_OBS !================================================================= ! GET_OVERLAP_MAP begins here! !================================================================= ! Initialize OVERLAP_MAP(:,:) = 0e+0_fp ! Loop over each pressure level of observation retrieval grid DO LTM = L0, nlev_obs-1 LOW_OBS = OBS_PEDGE(LTM+1) HI_OBS = OBS_PEDGE(LTM) ! Find the levels from GC that bracket level LTM DO LGC = 1, nlev_gc-1 LOW_GC = GC_PEDGE(LGC+1) HI_GC = GC_PEDGE(LGC) ! Match GEOS-Chem level to observation level IF ( ( HI_OBS <= HI_GC .and. & HI_OBS > LOW_GC ) .or. & ( LOW_OBS <= HI_GC .and. & LOW_OBS > LOW_GC ) .or. & ( HI_GC <= HI_OBS .and. & HI_GC > LOW_OBS ) .or. & ( LOW_GC <= HI_OBS .and. & LOW_GC > LOW_OBS ) ) THEN DIFF = HI_GC- LOW_GC OVERLAP_MAP(LTM,LGC) = ( MIN(HI_OBS,HI_GC) - & MAX(LOW_OBS,LOW_GC) ) / DIFF ENDIF ENDDO ENDDO END SUBROUTINE GET_OVERLAP_MAP !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: mass_interp ! ! !DESCRIPTION: Perform interpolation from model levels to the levels of your ! observation, erp, Oct 6, 2020 ! The interpolation redistributes mass between model and ! observation layers, then returns it to the edges of ! the layers for application of the AK and pressure weights. ! Based on equation 13 of Keppens 2019 !\\ !\\ ! !INTERFACE: ! SUBROUTINE MASS_INTERP( GC_PEDGE, OBS_PEDGE, GC_CH4_NATIVE, L0, & nlev_gc, nlev_obs, CH4_INTERP_EDGES ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: nlev_obs, nlev_gc, L0 REAL(fp), INTENT(IN) :: GC_PEDGE(nlev_gc+1) REAL(fp), INTENT(IN) :: GC_CH4_NATIVE(nlev_gc) REAL(fp), INTENT(IN) :: OBS_PEDGE(nlev_obs) ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: CH4_INTERP_EDGES(nlev_obs) ! ! !REVISION HISTORY: ! 06 Oct 2020 - E. Penn - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) :: GC_PEDGE_EXT(nlev_gc+1), OBS_HPRIME(nlev_obs+1) REAL(fp) :: OVERLAP_MAP(nlev_obs,nlev_gc) REAL(fp) :: M_obs(nlev_obs), M_gc(nlev_gc) REAL(fp) :: CH4_INTERP_INTEGRATED(nlev_obs) REAL(fp) :: CH4_MODEL_INTEGRATED(nlev_gc) INTEGER :: LGC, LOBS ! Initialize CH4_INTERP_EDGES(:) = 0.0_fp ! note your missing value is 0 ! extend GEOS-Chem so it covers the full vertical range ! of the observations CALL EXTEND_GC( GC_PEDGE, OBS_PEDGE, L0, nlev_gc+1, nlev_obs, & GC_PEDGE_EXT ) ! calculate HPRIME pressure edges from equation 11 CALL H_TO_HPRIME( OBS_PEDGE, L0, nlev_obs, OBS_HPRIME ) ! OVERLAP_MAP is W in eq 13 CALL GET_OVERLAP_MAP( GC_PEDGE_EXT, OBS_HPRIME, L0, nlev_gc+1, & nlev_obs+1, OVERLAP_MAP ) ! M_gc and M_obs are M_in and M_out from eq 14 ! They are diagonal matrices, so we can use a vector M_gc(:) = 0.0_fp DO LGC = 1, nlev_gc M_gc(LGC) = GC_PEDGE_EXT(LGC) - GC_PEDGE_EXT(LGC+1) ENDDO M_obs(:) = 0.0_fp DO LOBS = L0, nlev_obs M_obs(LOBS) = OBS_HPRIME(LOBS) - OBS_HPRIME(LOBS+1) ENDDO ! Intermediate steps for eq 14: ! 1) M_in * x CH4_MODEL_INTEGRATED(:) = 0.0_fp DO LGC = 1, nlev_gc CH4_MODEL_INTEGRATED(LGC) = M_gc(LGC) * GC_CH4_NATIVE(LGC) ENDDO ! 2) W * M_in * x (matrix multiply W and M_in*x) CH4_INTERP_INTEGRATED(:) = 0.0_fp DO LGC = 1, nlev_gc DO LOBS = L0, nlev_obs CH4_INTERP_INTEGRATED(LOBS) = CH4_INTERP_INTEGRATED(LOBS) + & OVERLAP_MAP(LOBS,LGC) * CH4_MODEL_INTEGRATED(LGC) ENDDO ENDDO ! 3) inv(M_out) * W * M_in * x DO LOBS = L0, nlev_obs ! inv(M_out) = 1/M_out because it is diagonal CH4_INTERP_EDGES(LOBS) = 1.0_fp/M_obs(LOBS) * CH4_INTERP_INTEGRATED(LOBS) ENDDO END SUBROUTINE MASS_INTERP !EOC END MODULE AIRS_CH4_MOD ================================================ FILE: GeosCore/apm_driv_mod.F90 ================================================ #ifdef APM !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: apm_driv_mod ! ! !DESCRIPTION: Module APM\_DRIV\_MOD contains variables and routines to drive ! the Advanced Particle Microphysics (APM) model. It serves as the ! interface between APM module and the 3D model. !\\ !\\ ! !INTERFACE: ! MODULE APM_DRIV_MOD USE PRECISION_MOD USE PhysConstants ! ! !USES: ! IMPLICIT NONE PRIVATE ! ! !DEFINED PARAMETERS: ! INTEGER, PARAMETER, PUBLIC :: NTEMPOUT1 = 82 ! ! !PUBLIC DATA MEMBERS: ! INTEGER, PUBLIC :: NPOUTSTEPS INTEGER, PUBLIC :: NTEMPOUT LOGICAL, PUBLIC :: IFTEMPOUT REAL*4, ALLOCATABLE, PUBLIC :: T3DAPM(:,:,:,:,:) REAL*4, ALLOCATABLE, PUBLIC :: RH3DAPM(:,:,:,:,:) REAL*4, ALLOCATABLE, PUBLIC :: PBLH2DAPM(:,:,:,:) REAL*8, ALLOCATABLE, PUBLIC :: EMITNH3(:,:,:) REAL*8, ALLOCATABLE, PUBLIC :: EMITSO2(:,:,:) REAL*8, ALLOCATABLE, PUBLIC :: DRYDEP(:,:,:,:) REAL*8, ALLOCATABLE, PUBLIC :: WETDEP(:,:,:,:) REAL*8, ALLOCATABLE, PUBLIC :: CONDEP(:,:,:,:) REAL*8, ALLOCATABLE, PUBLIC :: UPTAKE(:,:,:,:) REAL*8, ALLOCATABLE, PUBLIC :: OXIDAT(:,:,:,:) REAL*8, ALLOCATABLE, PUBLIC :: FCLOUD(:,:,:,:) REAL*8, ALLOCATABLE, PUBLIC :: GFTOT3D(:,:,:,:) REAL*8, ALLOCATABLE, PUBLIC :: DENWET3D(:,:,:,:) REAL*8, ALLOCATABLE, PUBLIC :: MWSIZE3D(:,:,:,:) REAL*8, ALLOCATABLE, PUBLIC :: SO2toSO4(:,:,:) REAL*8, ALLOCATABLE, PUBLIC :: PLVSOG(:,:,:,:) REAL*8, ALLOCATABLE, PUBLIC :: BCLIFE(:,:,:) REAL*8, ALLOCATABLE, PUBLIC :: OCLIFE(:,:,:) REAL*8, ALLOCATABLE, PUBLIC :: TEMPOUT(:,:,:,:) REAL*8, ALLOCATABLE, PUBLIC :: SPGF(:,:,:) REAL*8, ALLOCATABLE, PUBLIC :: TAONH3(:,:,:) REAL*8, ALLOCATABLE, PUBLIC :: YCOD3D(:,:,:) REAL*8, ALLOCATABLE, PUBLIC :: TCOD3D(:,:,:,:) REAL*8, ALLOCATABLE, PUBLIC :: YHTRC3D(:,:,:) REAL*8, ALLOCATABLE, PUBLIC :: YHTR3D(:,:,:) REAL*8, ALLOCATABLE, PUBLIC :: YHTRC03D(:,:,:) REAL*8, ALLOCATABLE, PUBLIC :: YHTR03D(:,:,:) REAL*8, ALLOCATABLE, PUBLIC :: YUV(:,:,:,:) REAL*8, ALLOCATABLE, PUBLIC :: AERAREA(:,:,:,:) REAL*8, ALLOCATABLE, PUBLIC :: AERDRYR(:,:,:,:) REAL*8, ALLOCATABLE, PUBLIC :: GAMMAPM(:,:,:,:) ! Bin index for cloud act diameters taking into account uptake of ! NIT, NH4, SOA INTEGER, ALLOCATABLE, PUBLIC :: IACT1(:,:,:) INTEGER, ALLOCATABLE, PUBLIC :: IACT2(:,:,:) INTEGER, ALLOCATABLE, PUBLIC :: IACT3(:,:,:) ! H2SO4 gas production rate REAL*8, ALLOCATABLE, PUBLIC :: PSO4GAS(:,:,:) REAL*8, ALLOCATABLE, PUBLIC :: XO3(:,:,:) !Yu+ seasalt SST correction REAL*8, ALLOCATABLE, PUBLIC :: FSST(:,:) REAL*8, ALLOCATABLE, PUBLIC :: XBEXT1k3D(:,:,:,:) !GanLuo+ add satellite local time INTEGER, ALLOCATABLE :: GOOD(:) REAL*8, ALLOCATABLE, PUBLIC :: CODOUT(:,:,:,:) REAL*8, ALLOCATABLE, PUBLIC :: CODOUTNUM(:,:,:) REAL*8, ALLOCATABLE :: MODISOUT(:,:,:) ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: APM_DRIV PUBLIC :: AERONUM PUBLIC :: INIT_APM3D PUBLIC :: CLEANUP_APM3D PUBLIC :: APM_RADFOUT ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: APM_RADFDRIV PRIVATE :: APM3DQGEOS PRIVATE :: GET_OH ! ! !REMARKS: ! The APM model was designed and developed for implementation into GEOS-Chem ! by Fangqun Yu and Gan Luo at State University of New York (SUNY) at Albany. ! (Emails: yfq@asrc.cestm.albany.edu; ganluo@asrc.cestm.albany.edu) ! . ! Fangqun focused on overall strategy, aerosol structure (bins, compositions, ! types, mixing states) design, computationally efficient schemes, particle ! microphysics (nucleation, growth, coagulation), model evaluation and ! improvement, and model application. ! Gan focused on overall strategy, integration of APM with GEOS-Chem, model ! input, emission, transport, size-resolved dry deposition and wet scavenging, ! output visualization, and model application. ! . ! The major reference of the APM model implemented in GEOS-Chem is: ! . ! 1. Yu, F., and G. Luo, Simulation of particle size distribution with a ! global aerosol model: Contribution of nucleation to aerosol and CCN ! number concentrations, Atmos. Chem. Phys., 9, 7691-7710, 2009. ! . ! The APM model is an advanced multi-type, multi-component, size-resolved ! microphysics model developed for a wide range of applications. The current ! APM model is the result of the past developments and validation efforts ! aimed at explaining atmospheric particle observations, reported in a ! number of previous publications including: ! . ! 2. Turco, R. P., Hamill, P., Toon, O. B., Whitten, R. C., and Kiang, C. S.: ! A one-dimensional model describing aerosol formation and evolution in ! the stratosphere, Part I, Physical processes and mathematical analogs, ! J. Atmos. Sci., 36, 699-717, 1979. ! 3. Toon, O. B., Turco, R. P., Westphal, D., Malone, R., and Liu, M. S.: A ! multidimensional model for aerosols: Description of computational ! analogs, J. Atmos. Sci., 45, 2123-2143, 1988. ! 4. Jacobson, M., Turco, R., Jensen, E. and Toon O.: Modeling coagulation ! among particles of different composition and size, Atmos. Environ., ! 28, 1327-1338, 1994. ! 5. Jacobson, M. Z., and Turco, R. P.: Simulating condensational growth, ! evaporation and coagulation of aerosols using a combined moving and ! stationary size grid, Aerosol Sci. Tech., 22, 73-92, 1995. ! 6. Yu, F., and R. P. Turco: The role of ions in the formation and evolution ! of particles in aircraft plumes, Geophys. Res. Lett., 24, 1927-1930, ! 1997. ! 7. Yu, F.: A Study of the Formation and Evolution of Aerosols and Contrails ! in Aircraft Wakes: Development, Validation and Application of an ! Advanced Particle Microphysics (APM) Model, Doctoral Dissertation, ! UCLA, 1998. ! 8. Yu, F., From molecular clusters to nanoparticles: Second-generation ! ion-mediated nucleation model, Atmos. Chem. Phys.,6, 5193-5211, 2006. ! 9. Yu, F., and R. P. Turco, Case studies of particle formation events ! observed in boreal forests: Implications for nucleation mechanisms, ! Atmos. Chem. Phys., 8, 6085-6102, 2008. ! . ! While the core components of the present APM model implemented in GEOS-Chem ! was written from scratch using fortran 95, some algorithms and ideas were ! inherited from the above mentioned references. ! . ! For more information and updates, please check the APM aerosol microphysics ! wiki page ! http://wiki.seas.harvard.edu/geos-chem/index.php/APM_aerosol_microphysics. ! ! !REVISION HISTORY: ! 8/2008 - 10/2010 - F. Yu & G. Luo - Initial versions ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !PRIVATE TYPES: ! REAL*8, ALLOCATABLE :: XN4D(:,:,:,:) REAL*8, SAVE, ALLOCATABLE :: XQ3D(:,:,:) INTEGER, ALLOCATABLE :: NCOAG3D(:,:,:,:) INTEGER, ALLOCATABLE :: IFOUTIJ(:,:) INTEGER, ALLOCATABLE :: SITEID(:,:) REAL*8, ALLOCATABLE :: RCLDL3D(:,:,:) REAL*8, ALLOCATABLE :: CDN3D(:,:,:) REAL*8, ALLOCATABLE :: RCLDI3D(:,:,:) REAL, ALLOCATABLE :: RCLDI2D(:,:) REAL*8, ALLOCATABLE :: IN3D(:,:,:) REAL*8, ALLOCATABLE :: MASSISRP(:,:,:,:) REAL*8, ALLOCATABLE :: MASSMESA(:,:,:,:) !INTEGER, PARAMETER :: MWL=5 ! 0.3, 0.55, 0.94, 1.785, 3.19 um INTEGER, PARAMETER :: MWL=16 ! !DATA YWLS/0.23,0.30,0.39,0.50,0.53,0.55,0.70,1.01, & ! 1.27,1.46,1.78,2.05,2.33,2.79,3.46,8.02/ INTEGER, PARAMETER :: KOUT1 = 3 !390 nm !INTEGER, PARAMETER :: KOUT2 = 6 !550 nm !INTEGER, PARAMETER :: KOUT2 = 4 !500 nm INTEGER, PARAMETER :: KOUT2 = 5 !530 nm INTEGER, PARAMETER :: KOUT3 = 7 !700 nm REAL*8, PARAMETER :: MAIR = 28.966d-3 ! kg/mol REAL*8 :: YWLS(MWL) INTEGER :: IWL,ITYP REAL*8 :: ZBEXT(MWL),ZW(MWL),ZG(MWL) REAL*8, ALLOCATABLE :: ZBEXT3D(:,:,:,:) REAL*8, ALLOCATABLE :: ZW3D(:,:,:,:) REAL*8, ALLOCATABLE :: ZG3D(:,:,:,:) !OPT each aerosol species INTEGER, PARAMETER :: NTYP = 5 REAL*8 :: YBEXT(NTYP,MWL),YW(NTYP,MWL),YG(NTYP,MWL) REAL*8 :: XBEXT1k(40,5) REAL*8, ALLOCATABLE :: YBEXT3D(:,:,:,:,:) REAL*8, ALLOCATABLE :: YW3D(:,:,:,:,:) REAL*8, ALLOCATABLE :: YG3D(:,:,:,:,:) ! mxy +longwave INTEGER, PARAMETER :: NWL=9 ! 4.3,5.,6.,8.1,9.6,11.6,15.8,24.0,35. um REAL*8 :: ZBABS(NWL) REAL*8, ALLOCATABLE :: ZBABS3D(:,:,:,:) ! for output !INTEGER, PARAMETER :: NBS = 4 !CCCMa INTEGER, PARAMETER :: NBS = 14 !rrtmg INTEGER, PARAMETER :: NBL = 9 INTEGER :: NWLS(NBS) REAL, ALLOCATABLE :: ALBDRR(:,:,:) REAL, ALLOCATABLE :: ZTCST(:,:,:) REAL, ALLOCATABLE :: ZTCSB(:,:,:) REAL, ALLOCATABLE :: ZTFST(:,:,:) REAL, ALLOCATABLE :: ZTFSB(:,:,:) REAL, ALLOCATABLE :: ZTFSA(:,:,:) REAL, ALLOCATABLE :: ZTCLT(:,:,:) REAL, ALLOCATABLE :: ZTCLB(:,:,:) REAL, ALLOCATABLE :: ZTFUL(:,:,:) REAL, ALLOCATABLE :: ZTFDL(:,:,:) REAL, ALLOCATABLE :: ZTFLA(:,:,:) REAL, ALLOCATABLE :: ZTAOD(:,:,:) REAL, ALLOCATABLE :: ZCLDF(:,:) REAL, ALLOCATABLE :: ZALB(:,:) REAL, ALLOCATABLE :: ZMALB(:,:,:) REAL, ALLOCATABLE :: ZCST(:,:) REAL, ALLOCATABLE :: ZCSB(:,:) REAL, ALLOCATABLE :: ZFST(:,:) REAL, ALLOCATABLE :: ZCLD(:,:) REAL, ALLOCATABLE :: ZCLD0(:,:) REAL, ALLOCATABLE :: ZFSB(:,:) REAL, ALLOCATABLE :: ZFSA(:,:) REAL, ALLOCATABLE :: ZCLT(:,:) REAL, ALLOCATABLE :: ZCLB(:,:) REAL, ALLOCATABLE :: ZFUL(:,:) REAL, ALLOCATABLE :: ZFDL(:,:) REAL, ALLOCATABLE :: ZFLA(:,:) REAL, ALLOCATABLE :: ZAOD(:,:) REAL, ALLOCATABLE :: ZCOD(:,:) REAL, ALLOCATABLE :: ZCODGC(:,:) REAL, ALLOCATABLE :: ZAODOUT1(:,:) REAL, ALLOCATABLE :: ZAODOUT3(:,:) REAL, ALLOCATABLE :: ZAOD25(:,:) REAL, ALLOCATABLE :: ZAOD50(:,:) REAL, ALLOCATABLE :: ZAOD75(:,:) INTEGER, ALLOCATABLE :: NAOD25(:,:) INTEGER, ALLOCATABLE :: NAOD50(:,:) INTEGER, ALLOCATABLE :: NAOD75(:,:) REAL, ALLOCATABLE :: ZVIS(:,:) REAL, ALLOCATABLE :: THAZ(:,:) REAL, ALLOCATABLE :: TFOG(:,:) REAL, ALLOCATABLE :: ZAAOD(:,:) REAL, ALLOCATABLE :: ZAAODOUT1(:,:) REAL, ALLOCATABLE :: ZAAODOUT3(:,:) REAL, ALLOCATABLE :: ZABS(:,:) REAL, ALLOCATABLE :: ZWCL(:,:) REAL, ALLOCATABLE :: ZWCI(:,:) REAL, ALLOCATABLE :: AOD(:,:) REAL, ALLOCATABLE :: AAOD(:,:) REAL, ALLOCATABLE :: AODOUT1(:,:) REAL, ALLOCATABLE :: AAODOUT1(:,:) REAL, ALLOCATABLE :: AODOUT3(:,:) REAL, ALLOCATABLE :: AAODOUT3(:,:) REAL, ALLOCATABLE :: CODGC(:,:) REAL, ALLOCATABLE :: TAOD(:,:,:) !DATA YWLS/ 0.34,0.38,0.443,0.469,0.5,0.554,0.645,0.675, & ! 0.865,0.94,1.02,1.24,1.64,1.785,2.13,3.19/ ! um DATA YWLS/0.23,0.30,0.39,0.50,0.53,0.55,0.70,1.01, & 1.27,1.46,1.78,2.05,2.33,2.79,3.46,8.02/ DATA NWLS/15,14,13,12,11,10,9,8,7,5,3,2,1,16/ !position of RRTMG WL in LT REAL(fp), ALLOCATABLE :: TCOSZ(:,:) REAL(fp), ALLOCATABLE :: TTDAY(:,:) REAL(fp), ALLOCATABLE :: COSZM(:,:) REAL(fp), PARAMETER :: XNUMOL_OH = 6.022e+23_fp / 17e-3_fp REAL(fp), PARAMETER :: CM3PERM3 = 1.e6_fp !Yu for output REAL(f4), POINTER :: OH(:,:,:) => NULL() CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: apm_driv ! ! !DESCRIPTION: Subroutine APM\_DRIV is the interface between APM and ! the GEOS-Chem model. !\\ !\\ ! !INTERFACE: ! SUBROUTINE APM_DRIV( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE TIME_MOD, ONLY : GET_TS_CHEM, ITS_A_NEW_MONTH USE PRESSURE_MOD, ONLY : GET_PCENTER USE PRESSURE_MOD, ONLY : GET_PEDGE ! USE APM_INIT_MOD, ONLY : NGCOND,NSO4,NSEA,NDSTB USE APM_INIT_MOD, ONLY : NCTSO4,NCTBC,NCTOC,NCTDST,NCTSEA,NBCOC USE APM_INIT_MOD, ONLY : IFNOBCOCFF USE APM_INIT_MOD, ONLY : IY USE APM_INIT_MOD, ONLY : AGAMA USE TIME_MOD, ONLY : GET_YEAR, GET_MONTH USE TIME_MOD, ONLY : GET_DAY,GET_HOUR,GET_MINUTE USE APM_PHYS_MOD, ONLY : APM_PHYS USE APM_INIT_MOD, ONLY : IFNUCL,IFAG,IFCOATBC,NUCLAMINE,IFATHN USE APM_INIT_MOD, ONLY : IFOPT !Yu + OPT switch USE APM_INIT_MOD, ONLY : IFRADF !Yu + RADF switch USE APM_INIT_MOD, ONLY : IFDOISRP USE APM_INIT_MOD, ONLY : XMACID,XMLVSOG,M1ACID,M1LVSOG USE APM_INIT_MOD, ONLY : RDRY,RSALT,RDST USE APM_COAG_MOD, ONLY : READCK6DTABLE USE APM_INIT_MOD, ONLY : MAXSITE,MSITE,ISITES,JSITES,LOUT USE APM_INIT_MOD, ONLY : SITEOUT2D USE APM_INIT_MOD, ONLY : IFSITE,IFSITEOUT,IFQANN,IFATOM USE APM_INIT_MOD, ONLY : ATOMMONS,ATOMDAYS,ATOMMONE,ATOMDAYE USE APM_ICEN_MOD, ONLY : nucleati USE APM_INIT_MOD, ONLY : APMIDS use rrtmg_sw_init, only: rrtmg_sw_ini use rrtmg_sw_GCAPM, only : cldprop_swapm USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Met_Mod, ONLY : MetState USE State_Chm_Mod, ONLY : ChmState USE State_Chm_Mod, ONLY : Ind_ USE State_Grid_Mod, ONLY : GrdState USE State_Diag_Mod, ONLY : DgnState USE TIME_MOD, ONLY : GET_LOCALTIME use parkind, only : im => kind_im, rb => kind_rb USE HETP_mod, ONLY : mach_hetp_main_15cases use module_mosaic_therm, only: mosaic ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 8/2008 - 10/2010 - F. Yu & G. Luo - Initial versions ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! real(kind=8), parameter :: cpdair = 1.004e3 ! Specific heat capacity ! of dry air at constant ! pressure at 273 K ! (J kg-1 K-1) ! ! !LOCAL VARIABLES: ! INTEGER :: I,J,L,N,M,SIZENUM,MDAY REAL*8 :: PRESS,TK,RHIN,XQ,CACID,PACID,DT,DTAPM REAL*8 :: MSO4,MSO4BULK,MNIT,MNH4,MMSA,SOAT REAL*8 :: MBCS, MOCS ! mass of sulfate attached to BC, OC REAL*8 :: MDSTS, MSALTS ! mass of sulfate attached to dust,sea salt REAL*8 :: MSULFT ! total sulfate REAL*8 :: MBC(NBCOC),MOC(NBCOC) REAL*8 :: XM1D(NSO4+NSEA),XN1D(NSO4),XNOLD,TEMPOUT1(NTEMPOUT1) REAL*8 :: ATOM4N(4) REAL*8 :: XMDST(NDSTB) REAL*8 :: MASS1, MASS2 REAL*8 :: VOL, CLVSOG, PLVSOG01,PLVSOG1 REAL*8 :: MSULFLV,MBCLV,MOCLV,MDSTLV,MSALTLV REAL*8 :: XOH,XSINK,XU,XV INTEGER :: KYEAR,KMON,KDAY,KHOUR,KMIN,ISITE,JSITE,NSITE REAL*8 :: TOP, TOPP INTEGER :: KKOUT REAL*8 :: XLAT, XLON REAL*8 :: CSO2,CNH3,XN0,CAMINE(3),CAMINEEMIT(3),YAMINEEMIT(3) REAL*8 :: NH3EMIT REAL*8 :: CSOG(14),CSOA(14) REAL*8 :: GFTOT1,GFTOT2,DENWET1,DENWET2 INTEGER :: IACT10, IACT20, IACT30 ! bin index for cloud act ! diameters corresponding to RDRY INTEGER :: RACT1, RACT2, RACT3 REAL*8 :: FCLOUD1(NSO4+4) REAL*8 :: AERAREA1(NSO4+NSEA+NDSTB+4) REAL*8 :: AERDRYR1(NSO4+NSEA+NDSTB+4) REAL*8 :: GAMMAPM1(NTYP) INTEGER :: NCOAG1,NCOAG2 INTEGER, PARAMETER :: IFSITEADD = 1 !REAL*8 :: SITEOUT(MAXSITE,LOUT,35),YTOP(MAXSITE,2) REAL*8 :: SITEOUT(MAXSITE,LOUT,59),YTOP(MAXSITE,2) REAL*8 :: SITEOUT1(MAXSITE,LOUT,NSO4+NSEA+NDSTB+NBCOC+NBCOC) REAL*8 :: SITEOUT2(MAXSITE,LOUT,NTEMPOUT1+6) REAL*8 :: SITEOUT3(MAXSITE,LOUT,11) REAL*8 :: AEROCOMOUT(MAXSITE,50,27),AEROCOMOUT1D(27) REAL*8 :: CCO, CNO,CNO2,CNO3,CHNO3,CISOP,CMTPA REAL*8 :: YSPGF,XBCLIFE,XOCLIFE !Yu+ 6/2/11 REAL*8 :: YCCN,YCDN,YCDNSP,YCLDF,YCLDLIQ,YCLDICE,YRCLDL,VZ,YF,YC REAL*8 :: XCDN,XCDNSP REAL*8 :: wbar,relhum,yqc,yna(3),YB,YREI,YK !REAL*8 :: nuci, onihf, oniimm, onidep, onimey REAL*8 :: PRESS0, YSIGMA REAL*8 :: ACS,XAMINE,SCOS,LOCALTIME REAL*8 :: dumc, dumnc, pgam, lamc REAL(kind=8) :: CCLD(State_Grid%NZ) !!! CLOUD COVER REAL(kind=8) :: CLDLIQ(State_Grid%NZ) !!! CLOUD LIQUID WATER CONTENT REAL(kind=8) :: CLDICE(State_Grid%NZ) !!! CLOUD ICE WATER CONTENT REAL(kind=8) :: REL(State_Grid%NZ) REAL(kind=8) :: REI(State_Grid%NZ) REAL(kind=8) :: taucloud(State_Grid%NZ,29) REAL(kind=8) :: taucloudl(State_Grid%NZ,29) REAL(kind=8) :: taucloudi(State_Grid%NZ,29) REAL(kind=8) :: ssacloudl(State_Grid%NZ,29) REAL(kind=8) :: ssacloudi(State_Grid%NZ,29) REAL*8 :: ERATIO(3) ! ratio of NH3 emission to amine emission REAL*8 :: MWAMINE(3) REAL*8 :: OXRATE(3), XX0, XX1,DXX,XAREA,XCSNH3 LOGICAL, SAVE :: FIRST = .TRUE. LOGICAL, SAVE :: FIRST1 = .TRUE. !mxy+ LOGICAL, SAVE :: FIRSTICE = .TRUE. LOGICAL, SAVE :: FIRSTCOD = .TRUE. CHARACTER(LEN=4) :: YEAROUT='2000' CHARACTER(LEN=2) :: MONOUT='01' ! Make a pointer to the tracer array TYPE(SpcConc), POINTER :: Spc(:) INTEGER :: vbs_nbin(1)=0 REAL :: p_atm,cairclmdum,gas(4),aer(14),aerh2o,XM,VRATIO REAL :: gasold(4),aerold(14) REAL :: t_k4,rh4,dtchem,aersize REAL :: SO4_bin_sum, SEA_bin_sum, DST_bin_sum ! Array dimensions INTEGER, PARAMETER :: NOTHERA = 9 INTEGER, PARAMETER :: NCTRLA = 2 INTEGER, PARAMETER :: NCOMPA = 8 INTEGER, PARAMETER :: NIONSA = 10 INTEGER, PARAMETER :: NGASAQA = 3 INTEGER, PARAMETER :: NSLDSA = 19 ! Concentration lower limit [mole/m3] REAL(fp), PARAMETER :: CONMIN = 1.0e-30_fp ! ! !LOCAL VARIABLES: ! REAL(fp) :: ANO3, GNO3 REAL(f8) :: RHI, TEMPI REAL(fp) :: TCA, TMG REAL(fp) :: TNA, TCL, TNH3, TNH4 REAL(fp) :: TNIT, TNO3, TSO4 REAL(f8) :: AERLIQ(NIONSA+NGASAQA+2) REAL(f8) :: GAS1(NGASAQA) REAL(f8) :: OTHER(NOTHERA) REAL(f8) :: WI(NCOMPA) REAL(f8) :: WT(NCOMPA) CHARACTER(LEN=255) :: X CHARACTER(LEN=15) :: SCASI REAL*8 :: TSO4COAT,DNH3MAX REAL*8 :: TH2O,TINORG !Yu+ 6/1/11 REAL*8 :: HETP_SO4, HETP_HSO4, HETP_CaSO4, HETP_NH4 REAL*8 :: HETP_NH3, HETP_NO3, HETP_HNO3, HETP_Cl REAL*8 :: HETP_HCl, HETP_Na, HETP_Ca, HETP_K REAL*8 :: HETP_Mg, HETP_H, HETP_OH, HETP_LWC REAL*8 :: HETP_frNa, HETP_frCa, HETP_frK, HETP_frMg REAL*8 :: HETP_frSO4, HETP_num !-------------------------------------------------------------------------- ! These do not appear to be used anymore (bmy, 6/18/19) !REAL,SAVE :: SEABIRDEM(State_Grid%NX,State_Grid%NY,2) !REAL :: BIRDNH3(State_Grid%NX,State_Grid%NY) !-------------------------------------------------------------------------- ! NOTE: We have removed GRID2x25, GRID4x5 switches (bmy, 6/18/19) INTEGER,SAVE :: ATOMGRID(2,400),GRIDNUM INTEGER :: RECID,ATOMGRIDIN(2),fileinfo CHARACTER(LEN=12) :: ATOMDATE WRITE(6,*)' - APM calculation ' !GanLuo+ local time satellite outputs CALL GET_LOCAL_TIME( State_Grid ) ! Point to Spc Spc => State_Chm%Species ! Chemistry timestep [s] DT = GET_TS_CHEM() DTAPM = DT !s ! Compute diurnal scaling for OH CALL OHNO3TIME( State_Grid ) ! Calculate 3-D ionization rate IF(IFQANN.EQ.1) THEN IF(FIRST) THEN ! only calculate Q once WRITE(6,*)"CALCULATE 3-D ANNUAL MEAN IONIZATION RATES" CALL APM3DQGEOS( Input_Opt, State_Grid, State_Met, IY) FIRST = .FALSE. ENDIF ELSE ! APM2++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ IF(FIRST.or.ITS_A_NEW_MONTH()) THEN ! only calculate Q once a month !IY = 1 ! Solar min, max Q !IY = -1 ! Solar max, min Q WRITE(6,*)"CALCULATE 3-D IONIZATION RATES", IY CALL APM3DQ( IY, Input_Opt, State_Grid, State_Met ) FIRST = .FALSE. ENDIF ! APM2++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ENDIF ! TEMPOUT IF(FIRST1)THEN IF(IFATOM>0.5)THEN IF ( State_Grid%NX == 144 .and. State_Grid%NY == 91 ) THEN ATOMGRID=-999 GRIDNUM=0 CLOSE(100) OPEN(100,FILE='flightAtom-geos225.txt') DO READ(100,*,IOSTAT=fileinfo)(ATOMGRIDIN(I),I=1,2) if(fileinfo<0)exit GRIDNUM=GRIDNUM+1 ATOMGRID(:,GRIDNUM)=ATOMGRIDIN ENDDO write(*,*)'ATOM2x2.5 outputs=',GRIDNUM ELSE IF ( State_Grid%NX == 72 .and. State_Grid%NY == 41 ) THEN ATOMGRID=-999 GRIDNUM=0 CLOSE(100) OPEN(100,FILE='flightAtom-geos45.txt') DO READ(100,*,IOSTAT=fileinfo)(ATOMGRIDIN(I),I=1,2) if(fileinfo<0)exit GRIDNUM=GRIDNUM+1 ATOMGRID(:,GRIDNUM)=ATOMGRIDIN ENDDO write(*,*)'ATOM4x5 outputs=',GRIDNUM ELSE WRITE(*,*)'Can only run ATom with 2x2.5 or 4x5' STOP ENDIF ENDIF CALL READCK6DTABLE ! Intitialize for first step useage GFTOT3D = 1.0 DENWET3D = 2.0 MWSIZE3D = 0.D0 ! init FCLOUD FCLOUD=0.D0 DO N=26,NSO4 DO L=1,State_Grid%NZ DO J=1,State_Grid%NY DO I=1,State_Grid%NX FCLOUD(I,J,L,N)=1/15.D0 ENDDO ENDDO ENDDO ENDDO ! APM2++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ! Get (I, J) of selected sites IF(IFSITE.EQ.1) THEN CALL YSITESIJ_GL( State_Grid ) ! global sites ELSEIF(IFSITE.EQ.7.or.IFSITE.EQ.73) THEN CALL YSITESIJ_GL1( State_Grid ) ! global sites 1 ELSEIF(IFSITE.EQ.9) THEN CALL YSITESIJ_BACCHUS( State_Grid ) ! for CCN intercomparison ELSEIF(IFSITE.EQ.2) THEN CALL YSITESIJ_EU( State_Grid ) ! nest EU sites ELSEIF(IFSITE.EQ.3) THEN CALL YSITESIJ_AC( State_Grid ) ! global AEROCOM sites ELSEIF(IFSITE.EQ.4) THEN CALL YSITESIJ_CH( State_Grid ) ! nest CH east asia sites ELSEIF(IFSITE.EQ.41) THEN CALL YSITESIJ_CH1( State_Grid ) ! nest CH east asia sites ELSEIF(IFSITE.EQ.5) THEN CALL YSITESIJ_NA( State_Grid ) ! nest NA sites ELSEIF(IFSITE.EQ.6) THEN CALL YSITESIJ_AOD_CN( State_Grid ) ! AOD_CN sites ENDIF ! APM2++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ !define the variables you want to output IFTEMPOUT=.TRUE. IF(IFTEMPOUT)THEN NTEMPOUT=NTEMPOUT1 !number of species you want to output ALLOCATE( TEMPOUT( State_Grid%NX, State_Grid%NY, & State_Grid%NZ, NTEMPOUT ) ) TEMPOUT = 0d0 NPOUTSTEPS = 0 FIRST1=.FALSE. ENDIF ENDIF MWAMINE(1) = 31 ! MA -- CH3NH2 -- 31 g/mol MWAMINE(2) = 45. ! DMA -- (CH3)2NH -- 45 g/mol MWAMINE(3) = 59. ! TMA -- (CH3)3N -- 59 g/mol ERATIO(1) = 83./50000. ERATIO(2) = 33./50000. ERATIO(3) = 169./50000. SITEOUT = 0. SITEOUT1 = 0. SITEOUT2 = 0. ZBEXT3D = 0. ZW3D = 1. ZG3D = 0. YBEXT3D = 0. XBEXT1k3D = 0. YW3D = 1. YG3D = 0. IF(FIRSTICE.or.ITS_A_NEW_MONTH()) THEN ! only calculate Q once a month KYEAR = GET_YEAR() KMON = GET_MONTH() WRITE(YEAROUT,'(I4.4)')MIN(2015,MAX(2004,KYEAR)) WRITE(MONOUT,'(I2.2)')KMON !Luo CLOSE(121) !Luo#if defined( GRID4x5 ) !Luo OPEN(121,FILE='geosdata/GEOS_4x5/MODISIER/'// & !Luo 'MODG45IER'//YEAROUT//MONOUT//'.bin', & !Luo ACCESS='DIRECT',FORM='UNFORMATTED', & !Luo RECL=State_Grid%NX*State_Grid%NY) !Luo READ(121,REC=1)RCLDI2D !Luo#endif !Luo#if defined( GRID2x25 ) !Luo OPEN(121,FILE='geosdata/GEOS_2x2.5/MODISIER/'// & !Luo 'MODG45IER'//YEAROUT//MONOUT//'.bin', & !Luo ACCESS='DIRECT',FORM='UNFORMATTED', & !Luo RECL=State_Grid%NX*State_Grid%NY) !Luo READ(121,REC=1)RCLDI2D !Luo#endif FIRSTICE=.FALSE. ENDIF IF(FIRSTCOD)THEN call rrtmg_sw_ini(cpdair) WRITE(6,*) "run rrtmg_sw_ini" FIRSTCOD = .FALSE. ENDIF !Doing MESA !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L ) & !$OMP SCHEDULE( DYNAMIC ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX UPTAKE(I,J,L,1)=Spc(APMIDS%id_NH3)%Conc(I,J,L) SPGF(I,J,L) = 1.d0 MASSISRP(I,J,L,1)=Spc(APMIDS%id_NH3)%Conc(I,J,L) MASSISRP(I,J,L,2)=Spc(APMIDS%id_NH4)%Conc(I,J,L) MASSISRP(I,J,L,3)=Spc(APMIDS%id_HNO3)%Conc(I,J,L) MASSISRP(I,J,L,4)=Spc(APMIDS%id_NIT)%Conc(I,J,L) MASSMESA(I,J,L,1)=Spc(APMIDS%id_NH3)%Conc(I,J,L) MASSMESA(I,J,L,2)=Spc(APMIDS%id_NH4)%Conc(I,J,L) MASSMESA(I,J,L,3)=Spc(APMIDS%id_HNO3)%Conc(I,J,L) MASSMESA(I,J,L,4)=Spc(APMIDS%id_NIT)%Conc(I,J,L) ENDDO ENDDO ENDDO !$OMP END PARALLEL DO if(IFDOISRP==1.or.IFDOISRP==2.or.IFDOISRP==3.or.IFDOISRP==4)then !******* DO ISORROPIA ******* !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, N, WI, WT, GAS1, TEMPI )& !$OMP PRIVATE( RHI, VOL, TSO4, TNH3, TNA, TCL, ANO3, GNO3 ) & !$OMP PRIVATE( TCA, TMG, TK, SCASI ) & !$OMP PRIVATE( TNO3, AERLIQ, OTHER, TNH4, TNIT ) & !$OMP PRIVATE( TSO4COAT ,DNH3MAX ) & !$OMP PRIVATE( TH2O, XM,VRATIO) & !$OMP PRIVATE( SO4_bin_sum, SEA_bin_sum) & !$OMP PRIVATE( HETP_SO4, HETP_HSO4, HETP_CaSO4, HETP_NH4 ) & !$OMP PRIVATE( HETP_NH3, HETP_NO3, HETP_HNO3, HETP_Cl ) & !$OMP PRIVATE( HETP_HCl, HETP_Na, HETP_Ca, HETP_K ) & !$OMP PRIVATE( HETP_Mg, HETP_H, HETP_OH, HETP_LWC ) & !$OMP PRIVATE( HETP_frNa, HETP_frCa, HETP_frK, HETP_frMg ) & !$OMP PRIVATE( HETP_frSO4, HETP_num ) & !$OMP COLLAPSE( 3 ) & !$OMP SCHEDULE( DYNAMIC, 8 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Temperature [K] TEMPI = MAX(235.D0,State_Met%T(I,J,L)) if((Spc(APMIDS%id_NH3)%Conc(I,J,L) + & Spc(APMIDS%id_NH4)%Conc(I,J,L) + & Spc(APMIDS%id_HNO3)%Conc(I,J,L) + & Spc(APMIDS%id_NIT)%Conc(I,J,L)) > 1.d-12)then ! Initialize WI, WT DO N = 1, NCOMPA WI(N) = 0e+0_fp WT(N) = 0e+0_fp ENDDO ! Initialize GAS DO N = 1, NGASAQA GAS1(N) = 0e+0_fp ENDDO ! Relative humidity [unitless] RHI = State_Met%RH(I,J,L) * 1.e-2_fp ! Force RH in the range 0.01 - 0.98 RHI = MAX( 0.01e+0_fp, RHI ) RHI = MIN( 0.98e+0_fp, RHI ) ! Volume of grid box [m3] VOL = State_Met%AIRVOL(I,J,L) !GanLuo+ Deduce SULFLO form TSO4, ! Add those sulfate coated on primary particles SO4_bin_sum = 0.d8 DO M = APMIDS%id_SO4BIN1, APMIDS%id_SO4BIN1+NSO4-1 SO4_bin_sum = SO4_bin_sum + Spc(M)%Conc(I,J,L) ENDDO !GanLuo mv LVSOG TSO4 = SO4_bin_sum*1.e+3_fp/(96.e+0_fp*VOL) TSO4 = ( SO4_bin_sum - Spc(APMIDS%id_CTSO4)%Conc(I,J,L) ) & * 1.e+3_fp / ( 96.e+0_fp * VOL ) TSO4COAT = (Spc(APMIDS%id_CTBC)%Conc(I,J,L) + & Spc(APMIDS%id_CTOC)%Conc(I,J,L) + & Spc(APMIDS%id_CTDST)%Conc(I,J,L)+ & Spc(APMIDS%id_CTSEA)%Conc(I,J,L)) * & 1.e+3_fp / ( 96.e+0_fp * VOL ) TSO4 = TSO4 + TSO4COAT ! Total NH3 [mole/m3] IF(IFDOISRP==4)THEN DNH3MAX = Spc(APMIDS%id_NH3)%Conc(I,J,L) ELSE DNH3MAX = Spc(APMIDS%id_NH3)%Conc(I,J,L) * (1.-exp(-DT/TAONH3(I,J,L))) ENDIF TNH3 = Spc(APMIDS%id_NH4)%Conc(I,J,L) * 1.e+3_fp / & ( 18.e+0_fp * VOL ) + & DNH3MAX * 1.e+3_fp / ( 17.e+0_fp * VOL ) MASSISRP(I,J,L,1) = Spc(APMIDS%id_NH3)%Conc(I,J,L)-DNH3MAX !remaining NH3 !sea_bin_sum=0.d8 !DO M = APMIDS%id_SEABIN1, APMIDS%id_SEABIN1+NSEA-1 ! sea_bin_sum = sea_bin_sum + Spc(M)%Conc(I,J,L) !ENDDO ! Total Na+ (30.61% by weight of seasalt) [mole/m3] !TNA = SEA_BIN_SUM * 0.3061e+0_fp * 1.e+3_fp /( 22.99e+0_fp * VOL ) ! Total Cl- (55.04% by weight of seasalt) [mole/m3] !TCL = SEA_BIN_SUM * 0.5504e+0_fp * 1.e+3_fp /( 22.99e+0_fp * VOL ) !GLuo: Sea salt in ISORROPIA needs to be updated. TNA = 0e+0_fp TCL = 0e+0_fp TCA = 0e+0_fp TK = 0e+0_fp TMG = 0e+0_fp !--------------------- ! COUPLED SIMULATION !--------------------- ! Compute gas-phase HNO3 [mole/m3] from HNO3 tracer GNO3 = Spc(APMIDS%id_HNO3)%Conc(I,J,L) GNO3 = MAX( GNO3 * 1.e+3_fp / ( 63.e+0_fp * VOL ), CONMIN ) ! Aerosol-phase NO3 [mole/m3] ANO3 = Spc(APMIDS%id_NIT)%Conc(I,J,L) * 1.e+3_fp / ( 62.e+0_fp * VOL ) ! Total NO3 [mole/m3] TNO3 = GNO3 + ANO3 !--------------------------------- ! Call ISORROPIA !--------------------------------- ! Insert concentrations [mole/m3] into WI & prevent underflow WI(1) = MAX( TNA, CONMIN ) WI(2) = MAX( TSO4, CONMIN ) WI(3) = MAX( TNH3, CONMIN ) WI(4) = MAX( TNO3, CONMIN ) WI(5) = MAX( TCL, CONMIN ) WI(6) = MAX( TCA, CONMIN ) WI(7) = MAX( TK, CONMIN ) WI(8) = MAX( TMG, CONMIN ) ! Perform aerosol thermodynamic equilibrium ! For safety GAS = 0.0d0 AERLIQ = 0.0d0 Call MACH_HETP_Main_15Cases( WI(2), WI(3), WI(4), WI(1), WI(5), & WI(6), WI(7), WI(8), TEMPI, RHI, & HETP_SO4, HETP_HSO4, HETP_CaSO4, HETP_NH4, & HETP_NH3, HETP_NO3, HETP_HNO3, HETP_Cl, & HETP_HCl, HETP_Na, HETP_Ca, HETP_K, & HETP_Mg, HETP_H, HETP_OH, HETP_LWC, & HETP_frNa, HETP_frCa, HETP_frK, HETP_frMg, & HETP_frSO4, HETP_num ) ! Spoof ISORROPIA outputs which are still used GAS1(1) = HETP_NH3 GAS1(2) = HETP_HNO3 GAS1(3) = HETP_HCl ! Mostly used for diagnostics AERLIQ( 1) = HETP_H AERLIQ( 2) = HETP_Na AERLIQ( 3) = HETP_NH4 AERLIQ( 4) = HETP_Cl AERLIQ( 5) = HETP_SO4 AERLIQ( 6) = HETP_HSO4 AERLIQ( 7) = HETP_NO3 AERLIQ( 8) = HETP_LWC ! WT is used below but is identical to WI for a forward case WT(:) = WI(:) IF(IFDOISRP==1.or.IFDOISRP==3.or.IFDOISRP==4)THEN TH2O = AERLIQ(8) ! aerosol water (mole/m3) XM = WT(2)*96. + (WT(3)-GAS1(1))*18. +(WT(4)-GAS1(2))*62. & + TNA*23. + TCL*35.45 !SO4, NH4,NIT,NACL (g/m3) XM = MAX(XM,CONMIN) VRATIO = 1. + (TH2O*(18.*1.0))/(XM/1.8) ! assume salt has density of 1.8 g/cm3 SPGF(I,J,L) = VRATIO**(1./3.0) ENDIF TNH3 = MAX( 17.e-3_fp * VOL * GAS1(1), CONMIN ) TNH4 = MAX( 18.e-3_fp * VOL * ( WT(3) - GAS1(1) ), CONMIN ) TNIT = MAX( 62.e-3_fp * VOL * ( WT(4) - GAS1(2) ), CONMIN ) ! Save tracers back into Spc array [kg] ! no longer save TSO4 back into Spc. SO4 is all aerosol phase ! (hotp 11/7/07) ! Spc(APMIDS%id_SO4)%Conc(I,J,L) = TSO4 MASSISRP(I,J,L,1) = MASSISRP(I,J,L,1) + TNH3 MASSISRP(I,J,L,2) = TNH4 MASSISRP(I,J,L,3) = MAX( 63.e-3_fp * VOL * GAS1(2), CONMIN ) MASSISRP(I,J,L,4) = TNIT UPTAKE(I,J,L,1)=MASSISRP(I,J,L,1)-UPTAKE(I,J,L,1) ! in kg endif ENDDO ENDDO ENDDO !$OMP END PARALLEL DO endif !******* MESA ******* if(IFDOISRP==0.or.IFDOISRP==2.or.IFDOISRP==3)then DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX if( ( Spc(APMIDS%id_NH3 )%Conc(I,J,L) & + Spc(APMIDS%id_NH4 )%Conc(I,J,L) & + Spc(APMIDS%id_HNO3)%Conc(I,J,L) & + Spc(APMIDS%id_NIT )%Conc(I,J,L) ) > 1.d-16)then aersize=0.d0 SO4_bin_sum = 0.d0 DO M = APMIDS%id_SO4BIN1, APMIDS%id_SO4BIN1+NSO4-1 SO4_bin_sum = SO4_bin_sum + Spc(M)%Conc(I,J,L) ENDDO SEA_bin_sum = 0.d0 DO M = APMIDS%id_SEABIN1, APMIDS%id_SEABIN1+NSEA-1 SEA_bin_sum = SEA_bin_sum + Spc(M)%Conc(I,J,L) ENDDO IF( ( SO4_bin_sum + SEA_bin_sum ) > 1.d-30 )THEN DO N=1,NSO4 SIZENUM=APMIDS%id_SO4BIN1+N-1 aersize=aersize+Spc(SIZENUM)%Conc(I,J,L)*RDRY(N)*GFTOT3D(I,J,L,1) ENDDO DO N=1,NSEA SIZENUM=APMIDS%id_SEABIN1+N-1 aersize=aersize+Spc(SIZENUM)%Conc(I,J,L)*RSALT(N)*GFTOT3D(I,J,L,2) ENDDO aersize=aersize / ( SO4_bin_sum + SEA_bin_sum ) ELSE aersize=50.D-9 ENDIF t_k4 = max(235.D0,real(State_Met%T(I,J,L))) ! Temperature [K] PRESS = GET_PCENTER(I,J,L) * 1.d2 ! P at level center [Pa] p_atm = real(PRESS/101325.0) VOL = State_Met%AIRVOL(I,J,L) ! Volume of grid box [m3] RHIN = MIN( 98.d0, State_Met%RH(I,J,L) ) ! Cap RH at 99% RHIN = MAX( 1.d0, RHIN ) ! Safety check cairclmdum=real(State_Met%AIRDEN(I,J,L)*1.e-6/MAIR) gas=0. aer=0. gas(2) = real(Spc(APMIDS%id_NH3)%Conc(I,J,L)*MAIR/ & (State_Met%AD(I,J,L)*17.0e-3))!NH3 mol/mol air gas(3) = real(Spc(APMIDS%id_HNO3)%Conc(I,J,L)*MAIR/ & (State_Met%AD(I,J,L)*63.0e-3))!HNO3 aer(1) = real(((MAX(1.e-30, (SO4_bin_sum - Spc(APMIDS%id_CTSO4)%Conc(I,J,L)) )) & +Spc(APMIDS%id_CTBC)%Conc(I,J,L) & +Spc(APMIDS%id_CTOC)%Conc(I,J,L) & +Spc(APMIDS%id_CTDST)%Conc(I,J,L) & +Spc(APMIDS%id_CTSEA)%Conc(I,J,L) )*MAIR& /(State_Met%AD(I,J,L)*96.0e-3)) !SO4 aer(2) = real(Spc(APMIDS%id_NH4)%Conc(I,J,L)*MAIR/ & (State_Met%AD(I,J,L)*18.0e-3))!NH4 aer(3) = real(Spc(APMIDS%id_NIT)%Conc(I,J,L)*MAIR/ & (State_Met%AD(I,J,L)*62.0e-3))!NIT aer(4) = real(sea_bin_sum*MAIR*0.3061/(State_Met%AD(I,J,L)*22.99e-3))!NA aer(5) = real(sea_bin_sum*MAIR*0.5504/(State_Met%AD(I,J,L)*35.45e-3))!CL gasold=gas aerold=aer rh4=real(RHIN) aerh2o=0.D0 TEMPOUT1(NTEMPOUT1-22)=aersize CALL mosaic( 1, 1, DTAPM, vbs_nbin, & t_k4, p_atm, rh4, cairclmdum, & gas, aer, aerh2o, aersize ) MASSMESA(I,J,L,1)=MIN((Spc(APMIDS%id_NH3)%Conc(I,J,L)+ & Spc(APMIDS%id_NH4)%Conc(I,J,L)), & (gas(2)*(State_Met%AD(I,J,L)*17.0d-3)/MAIR)) MASSMESA(I,J,L,2)=Spc(APMIDS%id_NH3)%Conc(I,J,L)+ & Spc(APMIDS%id_NH4)%Conc(I,J,L)-MASSMESA(I,J,L,1) MASSMESA(I,J,L,3)=MIN((Spc(APMIDS%id_HNO3)%Conc(I,J,L)+ & Spc(APMIDS%id_NIT)%Conc(I,J,L)), & (gas(3)*(State_Met%AD(I,J,L)*63.0d-3)/MAIR)) MASSMESA(I,J,L,4)=Spc(APMIDS%id_HNO3)%Conc(I,J,L)+ & Spc(APMIDS%id_NIT)%Conc(I,J,L)-MASSMESA(I,J,L,3) !MASSMESA(I,J,L,1)=gas(2)*(State_Met%AD(I,J,L)*17.0e-3)/MAIR !MASSMESA(I,J,L,2)=aer(2)*(State_Met%AD(I,J,L)*18.0e-3)/MAIR !MASSMESA(I,J,L,3)=gas(3)*(State_Met%AD(I,J,L)*63.0e-3)/MAIR !MASSMESA(I,J,L,4)=aer(3)*(State_Met%AD(I,J,L)*62.0e-3)/MAIR IF(IFDOISRP==0.or.IFDOISRP==2)THEN XM = aer(1)*(State_Met%AD(I,J,L)*96.0)/MAIR/VOL & + MASSMESA(I,J,L,2)*1.d3/VOL & + MASSMESA(I,J,L,4)*1.d3/VOL !g/m3 XM = MAX(XM,1.d-30) VRATIO = 1. + (aerh2o*1.d3)/(XM/1.8) ! assume salt has density of 1.8 g/cm3 SPGF(I,J,L) = VRATIO**(1./3.0) ENDIF endif ENDDO ENDDO ENDDO endif IF(IFDOISRP==1.or.IFDOISRP==4.or.IFDOISRP==5)THEN !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L) & !$OMP SCHEDULE( DYNAMIC ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX Spc(APMIDS%id_NH3)%Conc(I,J,L) = MASSISRP(I,J,L,1) Spc(APMIDS%id_NH4)%Conc(I,J,L) = MASSISRP(I,J,L,2) Spc(APMIDS%id_HNO3)%Conc(I,J,L)= MASSISRP(I,J,L,3) Spc(APMIDS%id_NIT)%Conc(I,J,L) = MASSISRP(I,J,L,4) ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDIF if(IFDOISRP==0.or.IFDOISRP==2.or.IFDOISRP==3)then !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L) & !$OMP SCHEDULE( DYNAMIC ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX Spc(APMIDS%id_NH3)%Conc(I,J,L) = MASSMESA(I,J,L,1) Spc(APMIDS%id_NH4)%Conc(I,J,L) = MASSMESA(I,J,L,2) Spc(APMIDS%id_HNO3)%Conc(I,J,L)= MASSMESA(I,J,L,3) Spc(APMIDS%id_NIT)%Conc(I,J,L) = MASSMESA(I,J,L,4) ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDIF ! Disable this parallel loop, which causes differences in output ! for the time being. -- Bob Yantosca (24 May 2023) ! !$OMP PARALLEL DO & ! !$OMP DEFAULT( SHARED ) & ! !$OMP PRIVATE( I, J, L, N ) & ! !$OMP PRIVATE( SIZENUM, PRESS, TK, RHIN ) & ! !$OMP PRIVATE( CACID,PACID ) & ! !$OMP PRIVATE( MSO4,MSO4BULK,MNIT,MNH4,SOAT) & ! !$OMP PRIVATE( MBCS, MOCS, MSULFT,MDSTS,MSALTS) & ! !$OMP PRIVATE( MBC, MOC, MMSA) & ! !$OMP PRIVATE( XMDST) & ! !$OMP PRIVATE( MASS1, MASS2) & ! !$OMP PRIVATE( CSO2,CNH3,XN0,CAMINE,CAMINEEMIT,YAMINEEMIT) & ! !$OMP PRIVATE( CCO,CNO,CNO2,CNO3,CHNO3,CISOP,CMTPA) & ! !$OMP PRIVATE( NH3EMIT) & ! !$OMP PRIVATE( CSOG) & ! !$OMP PRIVATE( CSOA) & ! !$OMP PRIVATE( VOL) & ! !$OMP PRIVATE( CLVSOG,MSULFLV,MBCLV,MOCLV,MDSTLV,MSALTLV) & ! !$OMP PRIVATE( XM1D,XN1D,XNOLD,TEMPOUT1,ATOM4N,AEROCOMOUT1D) & ! !$OMP PRIVATE( XQ,PLVSOG01,PLVSOG1,GFTOT1,GFTOT2,DENWET1,DENWET2) & ! !$OMP PRIVATE( IACT10,IACT20,IACT30,FCLOUD1,AERAREA1,AERDRYR1,GAMMAPM1) & ! !$OMP PRIVATE( RACT1,RACT2,RACT3) & ! !$OMP PRIVATE( NCOAG1,NCOAG2) & ! !$OMP PRIVATE( YSPGF,XBCLIFE,XOCLIFE,XCSNH3) &!Yu+ ! !$OMP PRIVATE( XOH, XSINK,XAREA,XX0,XX1,DXX,ACS,XLAT, XLON,XAMINE) & ! !$OMP PRIVATE( KYEAR,KMON,KDAY,KHOUR,KMIN,ISITE,JSITE,NSITE) & ! !$OMP PRIVATE( XU,XV,TOP, TOPP) & ! !$OMP PRIVATE( KKOUT) & ! !$OMP PRIVATE( ZBEXT,ZW,ZG) &!OPT+ ! !$OMP PRIVATE( ZBABS) &!OPT+ ! !$OMP PRIVATE( YBEXT,XBEXT1k,YW,YG) &!OPT+ ! !$OMP PRIVATE( IWL) &!OPT+ ! !$OMP PRIVATE( ITYP) &!mxy+ ! !$OMP PRIVATE( YCCN,YCDN,YCDNSP,YCLDF,YCLDLIQ,YCLDICE,YRCLDL,VZ) &!Yu+ 7/2012 ! !$OMP PRIVATE( XCDN,XCDNSP ) & ! !$OMP PRIVATE( YF,YC,SCOS,LOCALTIME ) & ! !$OMP PRIVATE( PRESS0, YSIGMA ) & ! !$OMP PRIVATE( wbar,relhum,yqc,yna,YB,YREI,YK) & ! !$OMP PRIVATE( dumc, dumnc, pgam, lamc) & ! !$OMP PRIVATE( CCLD,CLDLIQ,CLDICE ) & ! !$OMP PRIVATE( REL,REI) & ! !$OMP PRIVATE( taucloud, taucloudl, taucloudi, ssacloudl, ssacloudi ) & ! !!$OMP PRIVATE( nuci, onihf, oniimm, onidep, onimey) & ! !$OMP SCHEDULE( DYNAMIC ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX YF = 0. YC = 1. PRESS0 = GET_PEDGE(I,J,1) * 1.d2 ! surafce P in Pa ! Local time: 0-23.999 LOCALTIME = GET_LOCALTIME( I, J, 1, State_Grid ) SCOS = COS((LOCALTIME/12.-1.)*3.1415926) DO L = 1, State_Grid%NZ PRESS = GET_PCENTER(I,J,L) * 1.d2 ! P at level center [Pa] YSIGMA= PRESS/PRESS0 TK = State_Met%T(I,J,L) ! Temperature [K] VOL = State_Met%AIRVOL(I,J,L) ! Volume of grid box [m3] XAREA = 1.d-6*VOL/State_Met%BXHEIGHT(I,J,L) ! Area of grid box [km2] RHIN = MIN( 99.d0, State_Met%RH(I,J,L) ) ! Cap RH at 99% RHIN = MAX( 0.d0, RHIN ) ! Safety check YSPGF = SPGF(I,J,L) !SP GF from ISOROPIA/MESA XOH = GET_OH( I, J, L, APMIDS%id_OH, Input_Opt, State_Chm, State_Met ) !IF(IFNUCL.EQ.1.or.IFNUCL.EQ.6) THEN XQ = XQ3D(I,J,L) !ELSE ! XQ = 1.d-20 !ion-pairs/cm3s !ENDIF !kg/(box*timestep) to #/(cm3*s) PACID = XMACID/96.* PSO4GAS(I,J,L)/(VOL*M1ACID*DT)*1.d-6 !kg/box to #/cm3 CACID = Spc(APMIDS%id_SO4G)%Conc(I,J,L)/(VOL*M1ACID)*1.d-6 XN0 = 1.d-6*PRESS/(1.3807d-23*TK) !#/cm3 CNH3=Spc(APMIDS%id_NH3)%Conc(I,J,L) & /(VOL*State_Chm%SpcData(APMIDS%id_NH3)%Info%MW_g & *1.d-3)*6.02d17 ! #/cm3 CNH3=CNH3*1.d12/XN0 ! CNH3 now in ppt CSO2=Spc(APMIDS%id_SO2)%Conc(I,J,L) & /(VOL*State_Chm%SpcData(APMIDS%id_SO2)%Info%MW_g & *1.d-3)*6.02d17 ! #/cm3 CSO2=CSO2*1.d12/XN0 ! CSO2 now in ppt CCO=Spc(APMIDS%id_CO)%Conc(I,J,L) & /(VOL*State_Chm%SpcData(APMIDS%id_CO)%Info%MW_g & *1.d-3)*6.02d17 ! #/cm3 CCO=CCO*1.d6/XN0 ! CCO now in ppm CNO=Spc(APMIDS%id_NO)%Conc(I,J,L) & /(VOL*State_Chm%SpcData(APMIDS%id_NO)%Info%MW_g & *1.d-3)*6.02d17 ! #/cm3 CNO=CNO*1.d9/XN0 ! CNO now in ppb CNO2=Spc(APMIDS%id_NO2)%Conc(I,J,L) & /(VOL*State_Chm%SpcData(APMIDS%id_NO2)%Info%MW_g & *1.d-3)*6.02d17 ! #/cm3 CNO2=CNO2*1.d9/XN0 ! CNO2 now in ppb CNO3=Spc(APMIDS%id_NO3)%Conc(I,J,L) & /(VOL*State_Chm%SpcData(APMIDS%id_NO3)%Info%MW_g & *1.d-3)*6.02d17 ! #/cm3 CNO3=CNO3*1.d9/XN0 ! CNO3 now in ppb CHNO3=Spc(APMIDS%id_HNO3)%Conc(I,J,L) & /(VOL*State_Chm%SpcData(APMIDS%id_HNO3)%Info%MW_g & *1.d-3)*6.02d17 ! #/cm3 CHNO3=CHNO3*1.d9/XN0 ! CHNO3 now in ppb CISOP=Spc(APMIDS%id_ISOP)%Conc(I,J,L) & /(VOL*State_Chm%SpcData(APMIDS%id_ISOP)%Info%MW_g & *1.d-3)*6.02d17 ! #/cm3 CISOP=CISOP*1.d9/XN0 ! CISOP now in ppb CMTPA=Spc(APMIDS%id_MTPA)%Conc(I,J,L) & /(VOL*State_Chm%SpcData(APMIDS%id_MTPA)%Info%MW_g & *1.d-3)*6.02d17 ! #/cm3 CMTPA=CMTPA*1.d9/XN0 ! CMTPA now in ppb NH3EMIT = MAX(0.d0,EMITNH3(I,J,L))*14./17. ! kg N/box-sec (NH3 emission) ! Consider diurnal variation in emissions NH3EMIT = NH3EMIT * (1.+0.7*SCOS) IF(IFATHN>0)THEN DO ITYP = 1, 3 CAMINE(ITYP)=Spc(APMIDS%id_AMINE-1+ITYP)%Conc(I,J,L)/(VOL* & State_Chm%SpcData(APMIDS%id_NH3)%Info%MW_g*1.d-3* & MWAMINE(ITYP)/17.)*6.02d17 ! #/cm3 CAMINE(ITYP)=CAMINE(ITYP)*1.d12/XN0 ! CAMINE now in ppt YAMINEEMIT(ITYP) = MWAMINE(ITYP)/14.*NH3EMIT*ERATIO(ITYP) ! convert to kg-amine/box-sec CAMINEEMIT(ITYP) = YAMINEEMIT(ITYP)/(VOL* & State_Chm%SpcData(APMIDS%id_NH3)%Info%MW_g*1.d-3* & MWAMINE(ITYP)/17.)*6.02d17 ! # cm-3s-1 ENDDO IF(NUCLAMINE.EQ.1) THEN XAMINE = CAMINE(1) ELSEIF(NUCLAMINE.EQ.2) THEN XAMINE = CAMINE(2) ELSEIF(NUCLAMINE.EQ.3) THEN XAMINE = CAMINE(3) ELSEIF(NUCLAMINE.EQ.4) THEN XAMINE = CAMINE(1)+CAMINE(2)+CAMINE(3) ELSE !XAMINE = 0. XAMINE = CAMINE(2) !JATHN calculated anyway, switch in phy to include or not ENDIF ENDIF IF(IFAG.EQ.1) THEN PLVSOG1 = sum(PLVSOG(I,J,L,1:5))/(M1LVSOG*1.d+15) !#/cm3s, PLVSOG in ug/m3s, M1LVSOG in kg PLVSOG01 = PLVSOG(I,J,L,1)/(M1LVSOG*1.d+15) !#/cm3s, PLVSOG in ug/m3s, M1LVSOG in kg CLVSOG = MAX(1.D-30,Spc(APMIDS%id_SO4G+1)%Conc(I,J,L)/ & (VOL*M1LVSOG)*1.d-6) ! coatd LV-SOA MSULFLV = Spc(APMIDS%id_CTSO4 )%Conc(I,J,L)/VOL !kg/m3 MBCLV = Spc(APMIDS%id_CTBC +1)%Conc(I,J,L)/VOL !kg/m3 MOCLV = Spc(APMIDS%id_CTOC +1)%Conc(I,J,L)/VOL !kg/m3 MDSTLV = Spc(APMIDS%id_CTDST+1)%Conc(I,J,L)/VOL !kg/m3 MSALTLV = Spc(APMIDS%id_CTSEA+1)%Conc(I,J,L)/VOL !kg/m3 ELSE PLVSOG1 = 0. PLVSOG01= 0. CLVSOG = 0. MSULFLV = 0. MBCLV = 0. MOCLV = 0. MDSTLV = 0. MSALTLV = 0. ENDIF IF(IFAG.EQ.1) THEN CSOG(1)=Spc(APMIDS%id_TSOG0)%Conc(I,J,L)/ & (VOL*State_Chm%SpcData(APMIDS%id_TSOG0)%Info%MW_g* & 1.d-3)*6.02d17 CSOG(2)=Spc(APMIDS%id_TSOG1)%Conc(I,J,L)/ & (VOL*State_Chm%SpcData(APMIDS%id_TSOG1)%Info%MW_g* & 1.d-3)*6.02d17 CSOG(3)=Spc(APMIDS%id_TSOG2)%Conc(I,J,L)/ & (VOL*State_Chm%SpcData(APMIDS%id_TSOG2)%Info%MW_g* & 1.d-3)*6.02d17 CSOG(4)=Spc(APMIDS%id_TSOG3)%Conc(I,J,L)/ & (VOL*State_Chm%SpcData(APMIDS%id_TSOG3)%Info%MW_g* & 1.d-3)*6.02d17 ! Isoprene SOA from Pye et al. (2010) has been removed; ! the mechanistic isoprene SOA from Marais et al. is used instead. ! Set to low value to avoid breaking APM. (mps, 7/15/19) CSOG(5) = 1.0e-30 CSOG(6) = 1.0e-30 CSOG(7) = 1.0e-30 CSOG(8) =Spc(APMIDS%id_ASOG1)%Conc(I,J,L)/ & (VOL*State_Chm%SpcData(APMIDS%id_ASOG1)%Info%MW_g* & 1.d-3)*6.02d17 CSOG(9) =Spc(APMIDS%id_ASOG2)%Conc(I,J,L)/ & (VOL*State_Chm%SpcData(APMIDS%id_ASOG2)%Info%MW_g* & 1.d-3)*6.02d17 CSOG(10)=Spc(APMIDS%id_ASOG3)%Conc(I,J,L)/ & (VOL*State_Chm%SpcData(APMIDS%id_ASOG3)%Info%MW_g* & 1.d-3)*6.02d17 CSOG(11)=Spc(APMIDS%id_POG1)%Conc(I,J,L)/ & (VOL*State_Chm%SpcData(APMIDS%id_POG1)%Info%MW_g* & 1.d-3)*6.02d17 CSOG(12)=Spc(APMIDS%id_POG2)%Conc(I,J,L)/ & (VOL*State_Chm%SpcData(APMIDS%id_POG2)%Info%MW_g* & 1.d-3)*6.02d17 CSOG(13)=Spc(APMIDS%id_OPOG1)%Conc(I,J,L)/ & (VOL*State_Chm%SpcData(APMIDS%id_OPOG1)%Info%MW_g* & 1.d-3)*6.02d17 CSOG(14)=Spc(APMIDS%id_OPOG2)%Conc(I,J,L)/ & (VOL*State_Chm%SpcData(APMIDS%id_OPOG2)%Info%MW_g* & 1.d-3)*6.02d17 CSOA(1)=Spc(APMIDS%id_TSOA0)%Conc(I,J,L)/ & (VOL*State_Chm%SpcData(APMIDS%id_TSOA0)%Info%MW_g* & 1.d-3)*6.02d17 CSOA(2)=Spc(APMIDS%id_TSOA1)%Conc(I,J,L)/ & (VOL*State_Chm%SpcData(APMIDS%id_TSOA1)%Info%MW_g* & 1.d-3)*6.02d17 CSOA(3)=Spc(APMIDS%id_TSOA2)%Conc(I,J,L)/ & (VOL*State_Chm%SpcData(APMIDS%id_TSOA2)%Info%MW_g* & 1.d-3)*6.02d17 CSOA(4)=Spc(APMIDS%id_TSOA3)%Conc(I,J,L)/ & (VOL*State_Chm%SpcData(APMIDS%id_TSOA3)%Info%MW_g* & 1.d-3)*6.02d17 ! Isoprene SOA from Pye et al. (2010) has been removed; ! the mechanistic isoprene SOA from Marais et al. is used instead. ! Set to low value to avoid breaking APM. (mps, 7/15/19) CSOA(5) = 1.0e-30 CSOA(6) = 1.0e-30 CSOA(7) = 1.0e-30 CSOA(8) =Spc(APMIDS%id_ASOA1)%Conc(I,J,L)/ & (VOL*State_Chm%SpcData(APMIDS%id_ASOA1)%Info%MW_g* & 1.d-3)*6.02d17 CSOA(9) =Spc(APMIDS%id_ASOA2)%Conc(I,J,L)/ & (VOL*State_Chm%SpcData(APMIDS%id_ASOA2)%Info%MW_g* & 1.d-3)*6.02d17 CSOA(10)=Spc(APMIDS%id_ASOA3)%Conc(I,J,L)/ & (VOL*State_Chm%SpcData(APMIDS%id_ASOA3)%Info%MW_g* & 1.d-3)*6.02d17 CSOA(11)=Spc(APMIDS%id_POA1)%Conc(I,J,L)/ & (VOL*State_Chm%SpcData(APMIDS%id_POA1)%Info%MW_g* & 1.d-3)*6.02d17 CSOA(12)=Spc(APMIDS%id_POA2)%Conc(I,J,L)/ & (VOL*State_Chm%SpcData(APMIDS%id_POA2)%Info%MW_g* & 1.d-3)*6.02d17 CSOA(13)=Spc(APMIDS%id_OPOA1)%Conc(I,J,L)/ & (VOL*State_Chm%SpcData(APMIDS%id_OPOA1)%Info%MW_g* & 1.d-3)*6.02d17 CSOA(14)=Spc(APMIDS%id_OPOA2)%Conc(I,J,L)/ & (VOL*State_Chm%SpcData(APMIDS%id_OPOA2)%Info%MW_g* & 1.d-3)*6.02d17 SOAT= (Spc(APMIDS%id_TSOA1)%Conc(I,J,L)+Spc(APMIDS%id_TSOA2)%Conc(I,J,L)+ & Spc(APMIDS%id_TSOA3)%Conc(I,J,L)+Spc(APMIDS%id_TSOA0)%Conc(I,J,L)+ & Spc(APMIDS%id_ASOA1)%Conc(I,J,L)+ & Spc(APMIDS%id_ASOA2)%Conc(I,J,L)+Spc(APMIDS%id_ASOA3)%Conc(I,J,L)+ & Spc(APMIDS%id_POA1)%Conc(I,J,L) +Spc(APMIDS%id_POA2)%Conc(I,J,L) + & Spc(APMIDS%id_OPOA1)%Conc(I,J,L)+Spc(APMIDS%id_OPOA2)%Conc(I,J,L))/ & VOL ! Total SV-&MV-SOA ELSE SOAT= 1.d-30 ENDIF MSO4 = 0.d0 DO N=1,NSO4 SIZENUM=APMIDS%id_SO4BIN1+N-1 XM1D(N)=Spc(SIZENUM)%Conc(I,J,L)/VOL !kg/m3 MSO4 = MSO4 + XM1D(N) ! total bin sulfate mass XN1D(N)=XN4D(I,J,L,N) ENDDO DO N=1,NSEA ! sea salt SIZENUM=APMIDS%id_SEABIN1+N-1 XM1D(NSO4+N)=Spc(SIZENUM)%Conc(I,J,L)/VOL !kg/m3 ENDDO DO N=1,NDSTB ! dust XMDST(N) = Spc(APMIDS%id_DSTBIN1+N-1)%Conc(I,J,L)/VOL !kg/m3 IF(XMDST(N).LT.1.d-20) THEN !debug force XMDST(N) = 1.d-20 Spc(APMIDS%id_DSTBIN1+N-1)%Conc(I,J,L) = XMDST(N) * VOL ENDIF MWSIZE3D(I,J,L,3)=MWSIZE3D(I,J,L,3)+ & Spc(APMIDS%id_DSTBIN1+N-1)%Conc(I,J,L)*RDST(N) ENDDO DO N= 1, NBCOC SIZENUM=APMIDS%id_BCBIN1+N-1 MBC(N)=Spc(SIZENUM)%Conc(I,J,L)/VOL !kg/m3 SIZENUM=APMIDS%id_OCBIN1+N-1 MOC(N)=Spc(SIZENUM)%Conc(I,J,L)/VOL !kg/m3 ENDDO MSO4BULK= Spc(APMIDS%id_SO4)%Conc(I,J,L)/VOL !kg/m3 MNIT = Spc(APMIDS%id_NIT)%Conc(I,J,L)/VOL !kg/m3 MNH4 = Spc(APMIDS%id_NH4)%Conc(I,J,L)/VOL !kg/m3 MMSA = Spc(APMIDS%id_MSA)%Conc(I,J,L)/VOL !kg/m3 ! coated sulfate MBCS = Spc(APMIDS%id_CTBC)%Conc(I,J,L)/VOL ! SULF on BC kg/m3 MOCS = Spc(APMIDS%id_CTOC)%Conc(I,J,L)/VOL ! SULF on OC kg/m3 MDSTS = Spc(APMIDS%id_CTDST)%Conc(I,J,L)/VOL ! SULF on DUST kg/m3 MSALTS = Spc(APMIDS%id_CTSEA)%Conc(I,J,L)/VOL ! SULF on SEA-SALT kg/m3 IF(IFCOATBC.EQ.0) MBCS = 1.d-30 NCOAG1 = NCOAG3D(I,J,L,1) NCOAG2 = NCOAG3D(I,J,L,2) YCLDLIQ= State_Met%QL(I,J,L)*State_Met%AIRDEN(I,J,L)*1E3 ! Cloud liquid water content [g/m3] VZ = -(State_Met%OMEGA(I,J,L))/(State_Met%AIRDEN(I,J,L)*9.8) ! vertical velocity in m/s !VZ = 3.d0 ! vertical velocity in m/s CALL APM_PHYS(I,J,L, & NCOAG1,NCOAG2,IACT10,IACT20,IACT30, & RACT1,RACT2,RACT3,NTEMPOUT1, & State_Met%AIRDEN(I,J,L), & PRESS,YSIGMA,TK,RHIN,XQ,PLVSOG01,PLVSOG1,CACID,PACID,CNH3, & DTAPM,MMSA,MNIT,MNH4,MBCS,MOCS,MDSTS,MSALTS,MBC,MOC, & SOAT,CLVSOG,MSULFLV,MBCLV,MOCLV,MDSTLV,MSALTLV, & GFTOT1,GFTOT2,DENWET1,DENWET2, & YSPGF, XBCLIFE,XOCLIFE, & !OPT+ & XM1D,XN1D,TEMPOUT1,XMDST,FCLOUD1) VZ,YCLDLIQ, XCDN,XCDNSP, & XM1D,XN1D,TEMPOUT1,XMDST,FCLOUD1, & ZBEXT,ZW,ZG,ZBABS,XBEXT1k, & !LW absorption for dust only YBEXT,YW,YG,ACS,XAMINE,AERAREA1,AERDRYR1, & GAMMAPM1,AEROCOMOUT1D,IFOUTIJ(I,J), & ATOM4N) TEMPOUT1(56)=TEMPOUT1(56)+ & (Spc(APMIDS%id_TSOA1)%Conc(I,J,L)+Spc(APMIDS%id_TSOA2)%Conc(I,J,L)+ & Spc(APMIDS%id_TSOA3)%Conc(I,J,L)+Spc(APMIDS%id_TSOA0)%Conc(I,J,L)+ & +Spc(APMIDS%id_ASOA1)%Conc(I,J,L)+ & Spc(APMIDS%id_ASOA2)%Conc(I,J,L)+Spc(APMIDS%id_ASOA3)%Conc(I,J,L)) & *60.d9/(92.d0*VOL) IF(IFAG.EQ.1) THEN TEMPOUT1(56)=TEMPOUT1(56)+ & (Spc(APMIDS%id_POA1)%Conc(I,J,L)+Spc(APMIDS%id_POA2)%Conc(I,J,L)+ & Spc(APMIDS%id_OPOA1)%Conc(I,J,L)+Spc(APMIDS%id_OPOA2)%Conc(I,J,L))*1.d9/VOL ENDIF TEMPOUT1(59)=State_Met%PHIS(I,J)+SUM(State_Met%BXHEIGHT(I,J,1:L)) IF(IFOUTIJ(I,J).EQ.1)THEN AEROCOMOUT1D(23:27)=TEMPOUT1(54:58) AEROCOMOUT1D(3)=TEMPOUT1(59) ENDIF XBEXT1k3D(I,J,L,1)=SUM(XBEXT1k(1:2,3))*State_Met%BXHEIGHT(I,J,L)*100. XBEXT1k3D(I,J,L,2)=(XBEXT1k(3,3))*State_Met%BXHEIGHT(I,J,L)*100. XBEXT1k3D(I,J,L,3)=(XBEXT1k(4,3))*State_Met%BXHEIGHT(I,J,L)*100. XBEXT1k3D(I,J,L,4)=SUM(XBEXT1k(5:6,3))*State_Met%BXHEIGHT(I,J,L)*100. XBEXT1k3D(I,J,L,5)=(XBEXT1k(7,3))*State_Met%BXHEIGHT(I,J,L)*100. XBEXT1k3D(I,J,L,6)=SUM(XBEXT1k(8:9,3))*State_Met%BXHEIGHT(I,J,L)*100. XBEXT1k3D(I,J,L,7)=SUM(XBEXT1k(10:13,3))*State_Met%BXHEIGHT(I,J,L)*100. XBEXT1k3D(I,J,L,8)=SUM(XBEXT1k(:,1))*State_Met%BXHEIGHT(I,J,L)*100. XBEXT1k3D(I,J,L,9)=SUM(XBEXT1k(:,4))*State_Met%BXHEIGHT(I,J,L)*100. XBEXT1k3D(I,J,L,10)=SUM(XBEXT1k(:,5))*State_Met%BXHEIGHT(I,J,L)*100. XBEXT1k3D(I,J,L,11)=SUM(XBEXT1k(1:13,2))*State_Met%BXHEIGHT(I,J,L)*100. XBEXT1k3D(I,J,L,12)=SUM(XBEXT1k(14:18,2))*State_Met%BXHEIGHT(I,J,L)*100. ! CS is effective uptake CS from apm_phys, oxidation rate from Carl and Crowley, 1998. !XSINK = ACS + XOH*6.49d-11 ! oxid rate for DMA OXRATE(1) = 1.73d-11 OXRATE(2) = 6.49d-11 OXRATE(3) = 3.58d-11 IF(IFATHN>0)THEN DO ITYP = 1, 3 XSINK = ACS + XOH*OXRATE(ITYP) ! oxid rate for DMA IF(XSINK==0.D0)THEN Spc(APMIDS%id_AMINE+ITYP-1)%Conc(I,J,L)= & Spc(APMIDS%id_AMINE+ITYP-1)%Conc(I,J,L) & +YAMINEEMIT(ITYP)*DTAPM UPTAKE(I,J,L,1+ITYP) = 0. OXIDAT(I,J,L,1+ITYP) = 0. ELSE XX0 = Spc(APMIDS%id_AMINE+ITYP-1)%Conc(I,J,L)+YAMINEEMIT(ITYP)*DTAPM Spc(APMIDS%id_AMINE+ITYP-1)%Conc(I,J,L)=YAMINEEMIT(ITYP)/XSINK- & (YAMINEEMIT(ITYP)-XSINK*Spc(APMIDS%id_AMINE+ITYP-1)%Conc(I,J,L))*& EXP(-XSINK*DTAPM)/XSINK DXX = (Spc(APMIDS%id_AMINE+ITYP-1)%Conc(I,J,L)-XX0)*14./ & MWAMINE(ITYP) !kgN/box-step DXX = DXX*8.64d4/DTAPM !kgN/box-day UPTAKE(I,J,L,1+ITYP) = DXX * ACS/XSINK OXIDAT(I,J,L,1+ITYP) = DXX * (1.-ACS/XSINK) ENDIF ! DRYDEP from sulfate_mod.f in v/v-step --> kgN/box-day DRYDEP(I,J,L,1+ITYP)=DRYDEP(I,J,L,1+ITYP)*14.d-3 & *State_Met%AD(I,J,L) & !AD -- kg dry air/box *8.64d4/(MAIR*DT) ! CONDEP from sulfate_mod.f in v/v-step --> kgN/box-day CONDEP(I,J,L,1+ITYP)=CONDEP(I,J,L,1+ITYP)*14.d-3 & *State_Met%AD(I,J,L) & !AD -- kg dry air/box *8.64d4/(MAIR*DT) ! WETDEP from main.f in kg/box-step --> kgN/box-day WETDEP(I,J,L,1+ITYP)=WETDEP(I,J,L,1+ITYP)*14./MWAMINE(ITYP) & *8.64d4/DT ENDDO ENDIF ! DRYDEP and WETDEP for NH3 DRYDEP(I,J,L,1)=DRYDEP(I,J,L,1)*14.d-3*State_Met%AD(I,J,L) & !AD -- kg dry air/box *8.64d4/(MAIR*DT) CONDEP(I,J,L,1)=CONDEP(I,J,L,1)*14.d-3*State_Met%AD(I,J,L) & !AD -- kg dry air/box *8.64d4/(MAIR*DT) WETDEP(I,J,L,1)=WETDEP(I,J,L,1)*14./17*8.64d4/DT ! NH3 oxidation XSINK = XOH*1.6d-13 ! oxid rate for NH3 1.6d-13 (Atkinson, 1997) XX0 = Spc(APMIDS%id_NH3)%Conc(I,J,L) Spc(APMIDS%id_NH3)%Conc(I,J,L)=Spc(APMIDS%id_NH3)%Conc(I,J,L)*EXP(-XSINK*DTAPM) DXX = (Spc(APMIDS%id_NH3)%Conc(I,J,L)-XX0)*14./17. !kgN/box-step DXX = DXX*8.64d4/DTAPM !kgN/box-day OXIDAT(I,J,L,1) = DXX ! NH3 uptake lifetime XX1 = exp((9.02 - TK*0.0359)/(8.3144*1.d-3*TK/4.186)) XCSNH3=XX1/(1.+XX1)*ACS/AGAMA*SQRT(98./17.) TAONH3(I,J,L)=1./XCSNH3 ! in s ! NH3 uptake from ISOROPIA UPTAKE(I,J,L,1) = UPTAKE(I,J,L,1)*14./17.*8.64d4/DT !from kg NH3/box-step to kgN/box-day IF(IFOPT.EQ.1) THEN DO IWL = 1, MWL ZBEXT3D(I,J,L,IWL) = ZBEXT(IWL) ZW3D(I,J,L,IWL) = ZW(IWL) ZG3D(I,J,L,IWL) = ZG(IWL) DO ITYP = 1,NTYP YBEXT3D(I,J,L,ITYP,IWL) = YBEXT(ITYP,IWL) YW3D(I,J,L,ITYP,IWL) = YW(ITYP,IWL) YG3D(I,J,L,ITYP,IWL) = YG(ITYP,IWL) ENDDO ENDDO DO IWL = 1, NWL ZBABS3D(I,J,L,IWL) = ZBABS(IWL) ENDDO ENDIF GFTOT3D(I,J,L,1) = GFTOT1 GFTOT3D(I,J,L,2) = GFTOT2 XNOLD=XN1D(1) DO N=2,NSO4 IF(XN1D(N)>XNOLD )THEN GFTOT3D(I,J,L,3) = N*1.D0 XNOLD=XN1D(N) ENDIF ENDDO DENWET3D(I,J,L,1) = DENWET1 DENWET3D(I,J,L,2) = DENWET2 IACT1(I,J,L) = RACT1-1 IACT2(I,J,L) = RACT2-1 IACT3(I,J,L) = RACT3-1 DO N=1,NSO4+4 FCLOUD(I,J,L,N) = FCLOUD1(N) ENDDO AERAREA(I,J,L,:) = AERAREA1(:) AERDRYR(I,J,L,:) = AERDRYR1(:) GAMMAPM(I,J,L,:) = GAMMAPM1(:) NCOAG3D(I,J,L,1)=NCOAG1 ! count step that coag is not call in the grid NCOAG3D(I,J,L,2)=NCOAG2 ! count step that coag is not call in the grid Spc(APMIDS%id_SO4G)%Conc(I,J,L)= CACID*VOL*M1ACID*1.d6 DO N=1,NSO4 SIZENUM=APMIDS%id_SO4BIN1+N-1 Spc(SIZENUM)%Conc(I,J,L)=XM1D(N)*VOL MWSIZE3D(I,J,L,1)=MWSIZE3D(I,J,L,1)+ & Spc(SIZENUM)%Conc(I,J,L)*RDRY(N)*GFTOT1 ENDDO Spc(APMIDS%id_CTBC)%Conc(I,J,L) = MBCS * VOL Spc(APMIDS%id_CTOC)%Conc(I,J,L) = MOCS * VOL Spc(APMIDS%id_CTDST)%Conc(I,J,L) = MDSTS * VOL Spc(APMIDS%id_CTSEA)%Conc(I,J,L) = MSALTS * VOL IF(IFAG.EQ.1) THEN Spc(APMIDS%id_SO4G+1)%Conc(I,J,L)= CLVSOG*VOL*M1LVSOG*1.d6 Spc(APMIDS%id_CTSO4)%Conc(I,J,L)= MSULFLV * VOL !kg Spc(APMIDS%id_CTBC+1)%Conc(I,J,L) = MBCLV * VOL !kg Spc(APMIDS%id_CTOC+1)%Conc(I,J,L) = MOCLV * VOL !kg Spc(APMIDS%id_CTDST+1)%Conc(I,J,L) = MDSTLV * VOL !kg Spc(APMIDS%id_CTSEA+1)%Conc(I,J,L) = MSALTLV * VOL !kg ENDIF DO N=1,NSEA ! sea salt SIZENUM=APMIDS%id_SEABIN1+N-1 Spc(SIZENUM)%Conc(I,J,L)=XM1D(NSO4+N)*VOL !kg MWSIZE3D(I,J,L,2)=MWSIZE3D(I,J,L,2)+ & Spc(SIZENUM)%Conc(I,J,L)*RSALT(N)*GFTOT2 ENDDO ! no update for dust needed for now because of no coag yet (need update if coag) !BCLIFE(I,J,L) = TEMPOUT1(47) !OCLIFE(I,J,L) = TEMPOUT1(48) BCLIFE(I,J,L) = XBCLIFE OCLIFE(I,J,L) = XOCLIFE DO N= 1, NBCOC SIZENUM=APMIDS%id_BCBIN1+N-1 Spc(SIZENUM)%Conc(I,J,L)=MBC(N)*VOL !kg/m3 SIZENUM=APMIDS%id_OCBIN1+N-1 Spc(SIZENUM)%Conc(I,J,L)=MOC(N)*VOL !kg/m3 ENDDO ! Yu++ aerosol-cloud interaction ! CCN0.4 !YCCN = TEMPOUT1(11)+TEMPOUT1(12) & ! +TEMPOUT1(13)+TEMPOUT1(14)+TEMPOUT1(15) !YCCN = TEMPOUT1(6) ! mxy+ YCCN here for CN3 !YCDN=3.75D8 * (1.-exp(-2.5D-9*YCCN*1.d6)) ! YCCN in #/cm3, YCDN in #/m3 YCDN = XCDN*1.D6 ! XCDN calculated based on S at a given updraft v YCDNSP = XCDNSP*1.D6 ! XCDN calculated based on S at a given updraft v ! test !YCDN = 2.*XCDN*1.D6 ! XCDN calculated based on S at a given updraft v !YCDN= MAX(YCDN, 1.d0) !YCDN= MAX(YCDN, 10.d0) !Luo YCDN= MAX(YCDN, 10.d6) CDN3D(I,J,L) = YCDN !Luo IF(L.GE.2) THEN ! YF = MIN(1.d0,State_Met%CMFMC(I,J,L)/1.d-2) !Luo YF = MIN(1.d0,State_Met%CMFMC(I,J,L)/5.d-3) !Luo YC = State_Met%AIRDEN(I,J,L)/State_Met%AIRDEN(I,J,L-1) !Luo YCDN = CDN3D(I,J,L)*(1.-YF)+CDN3D(I,J,L-1)*YF*YC !Luo CDN3D(I,J,L) = YCDN !Luo ENDIF YCLDF = State_Met%CLDF(I,J,L) IF(YCLDF.GT.1.D-3)THEN !! convert water content from kg/kg to g/m3 YCLDLIQ= State_Met%QL(I,J,L)* & State_Met%AIRDEN(I,J,L)*1D3/YCLDF ! Cloud liquid water content [g/m3] YCLDICE= State_Met%QI(I,J,L)* & State_Met%AIRDEN(I,J,L)*1D3/YCLDF ! Cloud ice water content [g/m3] !IF(YCLDF.GT.1.d-5) THEN ! RADF code use CUT=0.001 ! IF(PRESS.GT.7.d4) THEN !effect limit to cloud below 700 mb !Luo YRCLDL=(3.*YCLDLIQ/(4.*3.14*1.d6* YCDN))**(1./3.)*1.d6 ! in um ! YRCLDL = 1.12*YRCLDL ! 1.12 to take into account relation between rvol and reff (Chen and Penner, ACP, 2005) ! YRCLDL = 1.2*YRCLDL !test dumc = State_Met%QL(I,J,L)/YCLDF if(dumc>1.d-15)then dumnc = YCDN/State_Met%AIRDEN(I,J,L) call size_dist_param_liq(dumc, dumnc, & 0.d0, State_Met%AIRDEN(I,J,L), .true., & pgam, lamc) YRCLDL = 0.7*gamma(pgam+4.)/gamma(pgam+3.)/ & lamc*1.e6 else !YRCLDL=(3.*YCLDLIQ/(4.*3.14*1.d6* YCDN))**(1./3.)*1.d6 YRCLDL=55.d0 endif !ELSE ! YRCLDL = 5.0 !ENDIF ELSE YCLDLIQ=0.d0 YCLDICE=0.d0 YCLDF=1.d-3 YRCLDL= 55.0 ENDIF RCLDL3D(I,J,L)= MAX(2.5d0,YRCLDL) ! ice particle radius RCLDL3D(I,J,L)= MIN(55.d0,YRCLDL) ! ice particle radius YRCLDL = RCLDL3D(I,J,L) ! Ice Nuclei !YNA(1) = TEMPOUT1(16) !SP in #/cm3 !YNA(1) = TEMPOUT1(16)/3. !SP in #/cm3 YNA(1) = TEMPOUT1(11) !SP in #/cm3 YNA(2) = TEMPOUT1(13) !dust !YNA(3) = 0.0 !soot -- no soot IN for now !YNA(3) = TEMPOUT1(14)/100. ! assume soot a factor 100 less effective compared to dust YNA(3) = TEMPOUT1(14) !IF(YCLDICE.GT.1.d-10.and.YCLDF.GT.1.d-5) THEN ! ! wbar = 0.25 ! relhum = RHIN/100. ! (RH: 0-1) ! yqc = State_Met%QL(I,J,L) !kg/kg ! ! call nucleati(wbar, TK, relhum, YCLDF, yqc, & ! YNA, nuci, onihf, oniimm, onidep, onimey) ! ! IN3D(I,J,L) = nuci !#/cm3 ! IF(nuci.GT.1.d-4) THEN ! YREI=(3.*YCLDICE/(YCLDF*4.*3.14*0.92d6*nuci*1.d6)) & ! **(1./3.)*1.d6 ! in um ! ELSE ! YREI= 30.0 ! ENDIF ! ! IF(TK.LE.240.) THEN ! YB = -0.03387 ! ELSE ! YB = 0. ! ENDIF ! IF(YCLDICE.LE.1.) THEN ! YC = -0.014738 ! ELSE ! YC = 0. ! ENDIF ! YK = exp(-3.15393+YB*(TK-240.)+YC*log(YCLDICE)) ! ! YREI = YREI * (1./YK)**(1./3.) ! relation between rvol and reff -- Liu et al., 2007 !ELSE ! onihf = 0. ! oniimm = 0. ! onidep = 0. ! onimey = 0. ! IN3D(I,J,L) = 0.0 ! YREI= 0.0 ! YK = 1. !ENDIF !! RCLDI3D(I,J,L) = YREI !! RCLDI3D(I,J,L) = YREI/2.0 ! mxy+ increase cloud rf and palb !RCLDI3D(I,J,L) = 50. ! test with fixed REI (in um) !RCLDI3D(I,J,L) = 100.*SQRT(YCLDICE/1.d-2) ! test with fixed REI (in um), YCLDICE in g/m3 !RCLDI3D(I,J,L) = 50.*YCLDICE/1.d-2 ! test with fixed REI (in um), YCLDICE in g/m3 !RCLDI3D(I,J,L) = 30.*YCLDICE/1.d-2 ! test with fixed REI (in um), YCLDICE in g/m3 !RCLDI3D(I,J,L) = 0.5*53.005*YCLDICE**0.06*EXP((TK-273.15)*0.013)! para based on Boudala et al., 2002 !RCLDI3D(I,J,L) = 1.12*RCLDI3D(I,J,L) ! 1.12 to take into account relation between rvol and reff (Chen and Penner, ACP, 2005) !RCLDI3D(I,J,L) = 1.2*RCLDI3D(I,J,L) ! use 1.2 for now !RCLDI3D(I,J,L) = 1.25*RCLDI3D(I,J,L) ! use 1.2 for now !Luo RCLDI3D(I,J,L) = 0.5*53.005*YCLDICE**0.06*EXP((TK-273.15)*0.013) ! para based on Boudala et al., 2002 !Luo RCLDI3D(I,J,L) = 2.0*RCLDI3D(I,J,L) ! use 1.2 for now !Readin MODIS RCLDI IF(YCLDICE>0.D0)THEN !Luo RCLDI3D(I,J,L) = RCLDI2D(I,J)*1.d0 YC = 0.124*exp(min(0.,max(-35.,(TK-273.15)))*0.038) YB = 0.114*exp(min(0.,max(-30.,(TK-273.15)))*0.054) YK = YC/(YB+YC) RCLDI3D(I,J,L) = 0.7* & ( YK *53.005*(max(0.01,(YCLDICE*YK))**(0.06))* & EXP(min(0.,max(-35.,(TK-273.15)))*0.013) + & (1.-YK)*57.133*(max(0.01,(YCLDICE*(1.-YK)))**(-0.0313))* & EXP(min(0.,max(-30.,(TK-273.15)))*0.011) ) ELSE RCLDI3D(I,J,L) = 120.d0 ENDIF ! set to RRTMG limit RCLDI3D(I,J,L)= MAX(5.0d0,RCLDI3D(I,J,L)) ! ice particle radius RCLDI3D(I,J,L)= MIN(140.d0,RCLDI3D(I,J,L)) ! ice particle radius YREI = RCLDI3D(I,J,L) !IF((MOD(I,10).EQ.1).and.(MOD(J,10).EQ.1).and.(MOD(L,5).EQ.1) & ! .and.L.LT.28) THEN ! WRITE(111,108)I,J,L, PRESS, TK, & ! YCLDF,YCLDLIQ,YCCN,YCDN,YRCLDL, & ! (1./YK)**(1./3.), & ! YCLDICE,YNA(1),YNA(2),YNA(3),IN3D(I,J,L), & ! onihf,oniimm,onidep,onimey,YREI !ENDIF ! 108 FORMAT(I3,I3,I3,50(1PE9.2)) ! ! Temporally put OH in TEMPOUT1(4) !TEMPOUT1(4)=XOH !TEMPOUT1(4)=XSINK ! Temporally used the last four tempout1 to save CLDF,CLDLIQ,CDN,and RCLDL for output !TEMPOUT1(NTEMPOUT1-7)=YCLDLIQ !TEMPOUT1(NTEMPOUT1-6)=YCLDICE !TEMPOUT1(NTEMPOUT1-4)=YCLDF !TEMPOUT1(NTEMPOUT1-3)=YCDN*YCLDLIQ !cloud liq weighted CDN !TEMPOUT1(NTEMPOUT1-2)=YRCLDL*YCLDLIQ !cloud liq weighted RCLDL !TEMPOUT1(NTEMPOUT1-1)=IN3D(I,J,L)*YCLDICE !cloud ice weighted CDN !TEMPOUT1(NTEMPOUT1)=YREI*YCLDICE !cloud ice weighted RCLDL ! !TEMPOUT1(19) = YUV(I,J,L,7) !UV flux (289-320 nm) !TEMPOUT1(20) = YUV(I,J,L,8) !UV flux (320-412 nm) !TEMPOUT1(21) = XO3(I,J,L)*1.d9 ! ppb ! !TEMPOUT1(42) = YUV(I,J,L,1) !NO2 phtolysis rate !TEMPOUT1(43) = YUV(I,J,L,2) !HNO3 phtolysis rate !TEMPOUT1(44) = YUV(I,J,L,3) !H2O2 phtolysis rate !TEMPOUT1(45) = YUV(I,J,L,4) !CH2O phtolysis rate !TEMPOUT1(46) = YUV(I,J,L,5) !O3 phtolysis rate !TEMPOUT1(47) = YUV(I,J,L,6) !POH !! Heating profiles !!TEMPOUT1(57) = YHTRC03D(I,J,L) !!TEMPOUT1(58) = YHTRC3D(I,J,L) !!!TEMPOUT1(59) = YHTR03D(I,J,L) !!TEMPOUT1(60) = YHTR3D(I,J,L) ! !TEMPOUT1(NTEMPOUT1-21)=YCDN*YCLDLIQ*YCLDF*YCLDF !TEMPOUT1(NTEMPOUT1-20)=YRCLDL*YCLDLIQ*YCLDF*YCLDF !IF(TK>233.D0)THEN ! TEMPOUT1(NTEMPOUT1-19)=State_Met%OPTDEP(I,J,L) ! TEMPOUT1(NTEMPOUT1-18)=0.D0 !ELSE ! TEMPOUT1(NTEMPOUT1-19)=0.D0 ! TEMPOUT1(NTEMPOUT1-18)=State_Met%OPTDEP(I,J,L) !ENDIF ! !IF(TCOD3D(I,J,L,9)>1.D-3)THEN ! TEMPOUT1(NTEMPOUT1-17)=TCOD3D(I,J,L,4)/(TCOD3D(I,J,L,9)**1.5) ! TEMPOUT1(NTEMPOUT1-16)=TCOD3D(I,J,L,8)/(TCOD3D(I,J,L,9)**1.5) !ELSE ! TEMPOUT1(NTEMPOUT1-17)=0.D0 ! TEMPOUT1(NTEMPOUT1-16)=0.D0 !ENDIF ! !IF(TK>233.D0)THEN ! TEMPOUT1(NTEMPOUT1-15)=State_Met%OPTDEP(I,J,L)*(YCLDF**1.5) ! TEMPOUT1(NTEMPOUT1-14)=0.D0 !ELSE ! TEMPOUT1(NTEMPOUT1-15)=0.D0 ! TEMPOUT1(NTEMPOUT1-14)=State_Met%OPTDEP(I,J,L)*(YCLDF**1.5) !ENDIF !TEMPOUT1(NTEMPOUT1-13)=TCOD3D(I,J,L,4) !TEMPOUT1(NTEMPOUT1-12)=TCOD3D(I,J,L,8) TEMPOUT1(NTEMPOUT1-21)=YCLDLIQ*YCLDF TEMPOUT1(NTEMPOUT1-20)=YCLDICE*YCLDF TEMPOUT1(NTEMPOUT1-19)=YCLDF TEMPOUT1(NTEMPOUT1-18)=YCDN*YCLDLIQ*YCLDF !cloud liq weighted CDN TEMPOUT1(NTEMPOUT1-13)=YCDNSP*YCLDLIQ*YCLDF !cloud liq weighted CDN TEMPOUT1(NTEMPOUT1-17)=YRCLDL*YCLDLIQ*YCLDF !cloud liq weighted RCLDL TEMPOUT1(NTEMPOUT1-16)=IN3D(I,J,L)*YCLDICE*YCLDF !cloud ice weighted CDN TEMPOUT1(NTEMPOUT1-15)=YREI*YCLDICE*YCLDF !cloud ice weighted RCLDL IF(YCLDF>0.8)THEN IF(State_Met%T(I,J,L)>268.)THEN IF(YCLDLIQ>1.D-20)THEN MODISOUT(I,J,1)=MODISOUT(I,J,1)+YCDN MODISOUT(I,J,2)=MODISOUT(I,J,2)+YRCLDL MODISOUT(I,J,3)=MODISOUT(I,J,3)+YCDN*YCLDLIQ*YCLDF & *State_Met%BXHEIGHT(I,J,L) MODISOUT(I,J,4)=MODISOUT(I,J,4)+YRCLDL*YCLDLIQ*YCLDF & *State_Met%BXHEIGHT(I,J,L) MODISOUT(I,J,5)=MODISOUT(I,J,5)+1. MODISOUT(I,J,6)=MODISOUT(I,J,6)+YCLDLIQ*YCLDF & *State_Met%BXHEIGHT(I,J,L) ENDIF ENDIF ENDIF TEMPOUT1(NTEMPOUT1-14)=YUV(I,J,L,7) !TEMPOUT1(NTEMPOUT1-13)=YUV(I,J,L,8) !TEMPOUT1(NTEMPOUT1-12)=YUV(I,J,L,9) !TEMPOUT1(NTEMPOUT1-13)=XQ TEMPOUT1(NTEMPOUT1-12)=RHIN !TEMPOUT1(NTEMPOUT1-11)=YCLDLIQ*YCLDF*State_Met%BXHEIGHT(I,J,L) !TEMPOUT1(NTEMPOUT1-10)=YCLDICE*YCLDF*State_Met%BXHEIGHT(I,J,L) TEMPOUT1(NTEMPOUT1-11)=YSPGF TEMPOUT1(NTEMPOUT1-10)=0.D0 !reserved for later use? !TEMPOUT1(NTEMPOUT1-9)=State_Met%CLDF(I,J,L) !TEMPOUT1(NTEMPOUT1-9)=YSPGF TEMPOUT1(NTEMPOUT1-9)=EMITSO2(I,J,L)*32./64. & *8.64d4/XAREA ! SO2 emission -- kg S/km2-day !TEMPOUT1(NTEMPOUT1-8)=CACID !TEMPOUT1(NTEMPOUT1-7)=CLVSOG TEMPOUT1(NTEMPOUT1-8)=PACID TEMPOUT1(NTEMPOUT1-7)=PLVSOG1 TEMPOUT1(NTEMPOUT1-6)=PLVSOG01 TEMPOUT1(NTEMPOUT1-5)=XOH !TEMPOUT1(NTEMPOUT1-5)=YAMINEEMIT(2)*14./MWAMINE(2)!kg-N/box-sec (DMA) !TEMPOUT1(NTEMPOUT1-4)=CAMINEEMIT(2) ! # cm-3s-1 !TEMPOUT1(NTEMPOUT1-4)=EMITNH3(I,J,L)*14./17. TEMPOUT1(NTEMPOUT1-4)=NH3EMIT & *8.64d4/XAREA ! NH3 emission -- kg N/km2-day !------------------------------------------------------------------------------- ! Prior to 6/28/19: ! Comment out problematic code. Gan Luo says that we can set all of these ! to zero, because we do not simulate amines at this point. ! (bmy, 6/28/19) ! TEMPOUT1(NTEMPOUT1-3)=YAMINEEMIT(2)*14./MWAMINE(2) !kg-N/box-sec (DMA) ! !TEMPOUT1(NTEMPOUT1-3)=CNH3 ! TEMPOUT1(NTEMPOUT1-2)=CAMINE(1) ! TEMPOUT1(NTEMPOUT1-1)=CAMINE(2) ! TEMPOUT1(NTEMPOUT1) =CAMINE(3) !------------------------------------------------------------------------------ TEMPOUT1(NTEMPOUT1-3)=0.0d0 !TEMPOUT1(NTEMPOUT1-3)=CNH3 TEMPOUT1(NTEMPOUT1-2)=0.0d0 TEMPOUT1(NTEMPOUT1-1)=0.0d0 TEMPOUT1(NTEMPOUT1) =0.0d0 !TEMPOUT1(NTEMPOUT1-5) = YCDN*YCLDLIQ*YCLDF !cloud liq weighted CDN !TEMPOUT1(NTEMPOUT1-4) = YRCLDL*YCLDLIQ*YCLDF !cloud liq weighted RCLDL !TEMPOUT1(NTEMPOUT1-5) = State_Met%OPTDEP(I,J,L) !TEMPOUT1(NTEMPOUT1-4) = YCOD3D(I,J,L)/(TCOD3D(I,J,L,9)**1.5) ! !TEMPOUT1(NTEMPOUT1-3) = State_Met%OPTDEP(I,J,L) * YCLDF !TEMPOUT1(NTEMPOUT1-2) = YCOD3D(I,J,L) & ! * TCOD3D(I,J,L,9)/(TCOD3D(I,J,L,9)**1.5) !TEMPOUT1(NTEMPOUT1-1) = State_Met%OPTDEP(I,J,L) & ! *(YCLDF**1.5) !TEMPOUT1(NTEMPOUT1) = YCOD3D(I,J,L) !TEMPOUT1(NTEMPOUT1-24)=EMITNH3(I,J,L) ! kg NH3/box-sec !TEMPOUT1(NTEMPOUT1-24)=EMITNH3(I,J,L)*14./17. !TEMPOUT1(48)=EMITNH3(I,J,L)*14./17. ! *8.64d4/XAREA ! NH3 emission -- kg N/km2-day !Gan Luo+ Satellite output !CODOUT(I,J,L,1)=CODOUT(I,J,L,1)+GOOD(I)*YCLDF ! !CODOUT(I,J,L,2)=CODOUT(I,J,L,2)+GOOD(I)*State_Met%OPTDEP(I,J,L) ! !CODOUT(I,J,L,3)=CODOUT(I,J,L,3)+GOOD(I)* & ! YCOD3D(I,J,L)/(TCOD3D(I,J,L,9)**1.5) !CODOUT(I,J,L,4)=CODOUT(I,J,L,4)+GOOD(I)* & ! TCOD3D(I,J,L,4)/(TCOD3D(I,J,L,9)**1.5) !CODOUT(I,J,L,5)=CODOUT(I,J,L,5)+GOOD(I)* & ! TCOD3D(I,J,L,8)/(TCOD3D(I,J,L,9)**1.5) ! !CODOUT(I,J,L,6)=CODOUT(I,J,L,6)+GOOD(I)*YCLDLIQ !CODOUT(I,J,L,7)=CODOUT(I,J,L,7)+GOOD(I)*YCLDICE ! !CODOUT(I,J,L,8)=CODOUT(I,J,L,8)+GOOD(I)*YRCLDL*YCLDLIQ !CODOUT(I,J,L,9)=CODOUT(I,J,L,9)+GOOD(I)*YREI*YCLDICE ! !CODOUT(I,J,L,10)=CODOUT(I,J,L,10)+GOOD(I)*YCDN*YCLDLIQ ! !CODOUTNUM(I,J,L)=CODOUTNUM(I,J,L)+GOOD(I)*1.D0 !TEMPOUT1(NTEMPOUT1-22)= & ! MASSISRP(I,J,L,1)*1.d9/(State_Met%AD(I,J,L)) !ppb !TEMPOUT1(NTEMPOUT1-21)= & ! MASSISRP(I,J,L,2)*1.d9/VOL !ug/m3 !TEMPOUT1(NTEMPOUT1-20)= & ! MASSISRP(I,J,L,3)*1.d9/(State_Met%AD(I,J,L)) !ppb !TEMPOUT1(NTEMPOUT1-19)= & ! MASSISRP(I,J,L,4)*1.d9/VOL !ug/m3 ! !TEMPOUT1(NTEMPOUT1-18)= & ! MASSMESA(I,J,L,1)*1.d9/(State_Met%AD(I,J,L)) !ppb !TEMPOUT1(NTEMPOUT1-17)= & ! MASSMESA(I,J,L,2)*1.d9/VOL !ug/m3 !TEMPOUT1(NTEMPOUT1-16)= & ! MASSMESA(I,J,L,3)*1.d9/(State_Met%AD(I,J,L)) !ppb !TEMPOUT1(NTEMPOUT1-15)= & ! MASSMESA(I,J,L,4)*1.d9/VOL !ug/m3 !luogan temp output IF(IFTEMPOUT)THEN IF(IFATOM>0.5)THEN DO N=1,46 TEMPOUT(I,J,L,N)=TEMPOUT1(N) ENDDO TEMPOUT(I,J,L,47) =YUV(I,J,L,6) !POH TEMPOUT(I,J,L,48) =XO3(I,J,L)*1.d9 ! ppb TEMPOUT(I,J,L,49) =CNO ! ppb TEMPOUT(I,J,L,50) =CNO2 ! ppb TEMPOUT(I,J,L,51) =CNO3 ! ppb TEMPOUT(I,J,L,52) =CHNO3 ! ppb TEMPOUT(I,J,L,53) =CISOP ! ppb TEMPOUT(I,J,L,54) =CMTPA ! ppb TEMPOUT(I,J,L,55) =XX1/(1.+XX1) TEMPOUT(I,J,L,56) =TAONH3(I,J,L) TEMPOUT(I,J,L,57) =CCO ! ppm TEMPOUT(I,J,L,58) =CSO2 ! ppb TEMPOUT(I,J,L,59) =XOH TEMPOUT(I,J,L,60) =PLVSOG1 TEMPOUT(I,J,L,61) =CLVSOG TEMPOUT(I,J,L,62) =PACID TEMPOUT(I,J,L,63) =CACID TEMPOUT(I,J,L,64) =MBCS TEMPOUT(I,J,L,65) =MOCS TEMPOUT(I,J,L,66) =MSALTS TEMPOUT(I,J,L,67) =MDSTS TEMPOUT(I,J,L,68) =MSO4 TEMPOUT(I,J,L,69) =MMSA TEMPOUT(I,J,L,70) =MNIT TEMPOUT(I,J,L,71) =MNH4 TEMPOUT(I,J,L,72) =MSULFLV IF(IFATOM<0.5)THEN TEMPOUT(I,J,L,73) =MBCLV TEMPOUT(I,J,L,74) =MOCLV TEMPOUT(I,J,L,75) =MDSTLV TEMPOUT(I,J,L,76) =MSALTLV ELSE TEMPOUT(I,J,L,73) =ATOM4N(1) TEMPOUT(I,J,L,74) =ATOM4N(2) TEMPOUT(I,J,L,75) =ATOM4N(3) TEMPOUT(I,J,L,76) =ATOM4N(4) ENDIF TEMPOUT(I,J,L,77) =SOAT ELSE DO N=1,NTEMPOUT1 TEMPOUT(I,J,L,N)=TEMPOUT(I,J,L,N)+ TEMPOUT1(N) ENDDO ENDIF ENDIF ! !APM2+IFSITE+++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ! output at selected sites IF(IFSITE.GT.0) THEN IF(IFOUTIJ(I,J).EQ.1.and.L.LE.LOUT) THEN NSITE = SITEID(I,J) AEROCOMOUT(NSITE,L,1:27)=AEROCOMOUT1D(1:27) DO N=1, NTEMPOUT1 SITEOUT2(NSITE,L,N)=TEMPOUT1(N) ENDDO !SITEOUT2(NSITE,L,NTEMPOUT1+1) = TK !SITEOUT2(NSITE,L,NTEMPOUT1+2) = RHIN !SITEOUT2(NSITE,L,NTEMPOUT1+3) = CACID !SITEOUT2(NSITE,L,NTEMPOUT1+4) = CLVSOG !SITEOUT2(NSITE,L,NTEMPOUT1+5) = State_Met%CLDF(I,J,L) !SITEOUT2(NSITE,L,NTEMPOUT1+6) = SPGF(I,J,L) SITEOUT3(NSITE,L,1) = YUV(I,J,L,6) !POH SITEOUT3(NSITE,L,2) = XO3(I,J,L)*1.d9 ! ppb SITEOUT3(NSITE,L,3) = CNO ! ppb SITEOUT3(NSITE,L,4) = CNO2 ! ppb SITEOUT3(NSITE,L,5) = CNO3 ! ppb SITEOUT3(NSITE,L,6) = CHNO3 ! ppb SITEOUT3(NSITE,L,7) = CISOP ! ppb SITEOUT3(NSITE,L,8) = CMTPA ! ppb SITEOUT3(NSITE,L,9) = XX1/(1.+XX1) SITEOUT3(NSITE,L,10) = TAONH3(I,J,L) SITEOUT3(NSITE,L,11) = CCO ! ppm IF(IFSITEADD.EQ.1) THEN ! additional output for size dis and others XU = State_Met%U(I,J,L) XV = State_Met%V(I,J,L) TOPP = State_Met%PBL_TOP_M(I,J) ! PBL top pressure (hpa) TOP = State_Met%PBL_TOP_L(I,J) ! PBL top model levels YTOP(NSITE,1) = TOP YTOP(NSITE,2) = TOPP SITEOUT(NSITE,L,1)=PRESS/100. SITEOUT(NSITE,L,2)=XU SITEOUT(NSITE,L,3)=XV SITEOUT(NSITE,L,4)=TK SITEOUT(NSITE,L,5)=RHIN SITEOUT(NSITE,L,6)=CSO2 ! ppb SITEOUT(NSITE,L,7)=XOH SITEOUT(NSITE,L,8)=PLVSOG1 SITEOUT(NSITE,L,9)=CLVSOG SITEOUT(NSITE,L,10)=PACID SITEOUT(NSITE,L,11)=CACID SITEOUT(NSITE,L,12)=MBCS SITEOUT(NSITE,L,13)=MOCS SITEOUT(NSITE,L,14)=MSALTS SITEOUT(NSITE,L,15)=MDSTS SITEOUT(NSITE,L,16)=MSO4 SITEOUT(NSITE,L,17)=MMSA SITEOUT(NSITE,L,18)=MNIT SITEOUT(NSITE,L,19)=MNH4 SITEOUT(NSITE,L,20)=MSULFLV SITEOUT(NSITE,L,21)=MBCLV SITEOUT(NSITE,L,22)=MOCLV SITEOUT(NSITE,L,23)=MDSTLV SITEOUT(NSITE,L,24)=MSALTLV SITEOUT(NSITE,L,25)=SOAT DO N=1,14 SITEOUT(NSITE,L,25+N)=CSOA(N) SITEOUT(NSITE,L,39+N)=CSOG(N) ENDDO SITEOUT(NSITE,L,54)=PLVSOG(I,J,L,1)/(M1LVSOG*1.d+15) !#/cm3s SITEOUT(NSITE,L,55)=PLVSOG(I,J,L,2)/(M1LVSOG*1.d+15) !#/cm3s SITEOUT(NSITE,L,56)=PLVSOG(I,J,L,3)/(M1LVSOG*1.d+15) !#/cm3s SITEOUT(NSITE,L,57)=PLVSOG(I,J,L,4)/(M1LVSOG*1.d+15) !#/cm3s SITEOUT(NSITE,L,58)=PLVSOG(I,J,L,5)/(M1LVSOG*1.d+15) !#/cm3s SITEOUT(NSITE,L,59)=MSO4BULK !SITEOUT(NSITE,L,20)=CNH3/1000. ! ppb !SITEOUT(NSITE,L,35)=CNH3/1000. ! ppb DO N=1, NSO4+NSEA SITEOUT1(NSITE,L,N)=XM1D(N) ENDDO DO N=1,NDSTB SITEOUT1(NSITE,L,NSO4+NSEA+N)=XMDST(N) ENDDO DO N=1,NBCOC SITEOUT1(NSITE,L,NSO4+NSEA+NDSTB+N)=MBC(N) SITEOUT1(NSITE,L,NSO4+NSEA+NDSTB+NBCOC+N)=MOC(N) ENDDO ENDIF !SITEOUT2(NSITE,L,1) = State_Met%UWND(I,J,L) !SITEOUT2(NSITE,L,1) = State_Met%UWND(I,J,L) !SITEOUT2(NSITE,L,2) = State_Met%VWND(I,J,L) !SITEOUT2(NSITE,L,1) = TK !SITEOUT2(NSITE,L,1) = State_Met%CMFMC(I,J,L+1) !SITEOUT2(NSITE,L,2) = VZ !SITEOUT2(NSITE,L,3) = TEMPOUT1(25) !SP ext !SITEOUT2(NSITE,L,4) = TEMPOUT1(26) !salt ext !SITEOUT2(NSITE,L,5) = TEMPOUT1(27) !dst ext !SITEOUT2(NSITE,L,6) = TEMPOUT1(29) !BC ext !SITEOUT2(NSITE,L,7) = TEMPOUT1(31) !POC ext !SITEOUT2(NSITE,L,8) = TEMPOUT1(6) !CN3 !SITEOUT2(NSITE,L,9) = TEMPOUT1(7) !CN10_SP !SITEOUT2(NSITE,L,10) = TEMPOUT1(8) !CN10_PP !SITEOUT2(NSITE,L,11) = TEMPOUT1(11) !CC0.4_SP !SITEOUT2(NSITE,L,12) = SUM(TEMPOUT1(12:15)) !CC0.4_PP !SITEOUT2(NSITE,L,13) = RHIN !!SITEOUT2(NSITE,L,14)= SPGF(I,J,L) !SITEOUT2(NSITE,L,14) = State_Met%CLDF(I,J,L) !SITEOUT2(NSITE,L,15) = YCLDLIQ !SITEOUT2(NSITE,L,16)= YCLDICE !IF(State_Met%CLDF(I,J,L).GT.0.) THEN ! SITEOUT2(NSITE,L,17)=TEMPOUT1(NTEMPOUT1-1)/State_Met%CLDF(I,J,L)*1.d-6 !CDN in #/cm3 ! SITEOUT2(NSITE,L,18) = TEMPOUT1(NTEMPOUT1)/State_Met%CLDF(I,J,L) !RCLDL in um !ELSE ! SITEOUT2(NSITE,L,17)=0. ! SITEOUT2(NSITE,L,18)=0. !ENDIF !SITEOUT2(NSITE,L,19)= TEMPOUT1(NTEMPOUT1-2) ENDIF ENDIF !APM2+ENDIFSITE++++++++++++++++++++++++++++++++++++++++++++++++++++++ CCLD(L)= MAX(1.d-3,State_Met%CLDF(I,J,L)) ! Cloud cover [Unitless] ! convert water content from kg/kg to g/m3 and then to g/m2 CLDLIQ(L)=State_Met%QL(I,J,L)*State_Met%AIRDEN(I,J,L)*1.d3* & State_Met%BXHEIGHT(I,J,L)/CCLD(L) !test GEOS5 CLDLIQ appears to be too small, increase 50% to enhance Cloud Forcing !CLDLIQ(L)=1.5*State_Met%QL(I,J,L)*State_Met%AIRDEN(I,J,L)*1.d3*State_Met%BXHEIGHT(I,J,L) CLDICE(L)=State_Met%QI(I,J,L)*State_Met%AIRDEN(I,J,L)*1.d3* & State_Met%BXHEIGHT(I,J,L)/CCLD(L) REL(L) = RCLDL3D(I,J,L) ! in um (RRTMG limit 2.5 - 60) REL(L)= MAX(2.5d0,REL(L)) ! liquid particle radius REL(L)= MIN(55.d0,REL(L)) ! liquid particle radius !REI(L) = 15.0 ! fixed to this size (um) for now !REI(L) = 20.0 ! fixed to this size (um) for now !REI(L) = 30.0 ! fixed to this size (um) for now REI(L) = RCLDI3D(I,J,L) ! set to RRTMG limit REI(L)= MAX(5.0d0,REI(L)) ! ice particle radius REI(L)= MIN(140.d0,REI(L)) ! ice particle radius ENDDO call cldprop_swapm(State_Grid%NZ, CCLD, CLDICE, CLDLIQ, REI, REL, & taucloud, taucloudl, taucloudi, & ssacloudl, ssacloudi) YCOD3D(I,J,:) = taucloud(:,23) TCOD3D(I,J,:,1) = ssacloudl(:,23) TCOD3D(I,J,:,2) = taucloudl(:,23)+taucloudi(:,23) TCOD3D(I,J,:,3) = taucloudl(:,24) TCOD3D(I,J,:,4) = taucloudl(:,23) TCOD3D(I,J,:,5) = ssacloudi(:,23) TCOD3D(I,J,:,6) = ssacloudl(:,23)+ssacloudi(:,23) TCOD3D(I,J,:,7) = taucloudi(:,24) TCOD3D(I,J,:,8) = taucloudi(:,23) TCOD3D(I,J,:,9) = CCLD ZCOD(I,J)= ZCOD(I,J)+ SUM(taucloud(:,23)) ENDDO ENDDO ! Disable this parallel loop, which causes differences in output. ! -- Bob Yantosca (24 May 2023) ! !$OMP END PARALLEL DO write(*,*)'LuoSSA',sum(TCOD3D(:,:,:,1))/size(TCOD3D(:,:,:,1)), & sum(TCOD3D(:,:,:,5))/size(TCOD3D(:,:,:,5)) ! ! radf calculation IF(IFRADF.EQ.1) THEN CALL APM_RADFDRIV( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ENDIF !APM2+IFSITE+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ IF(IFSITE.GT.0) THEN KYEAR = GET_YEAR() KMON = GET_MONTH() KDAY = GET_DAY() KHOUR = GET_HOUR() KMIN = GET_MINUTE() DO NSITE=1,MSITE IF(IFSITEOUT(NSITE).EQ.1) THEN KKOUT = 100*NSITE WRITE(KKOUT+70,105)KYEAR,KMON,KDAY,KHOUR,KMIN, & (SITEOUT2D(NSITE,N),N=1,33) DO L=1,LOUT !WRITE(KKOUT+70,104)L,(SITEOUT2(NSITE,L,N),N=1,NTEMPOUT1+6), WRITE(KKOUT+70,104)L,(SITEOUT2(NSITE,L,N),N=1,NTEMPOUT1), & (SITEOUT3(NSITE,L,N),N=1,11) ENDDO !WRITE(KKOUT+30,104)1,(SITEOUT2(NSITE,1,N), & ! N=NTEMPOUT1-22,NTEMPOUT1-15) IF(IFSITEADD.EQ.1) THEN ! additional output for size dis and others WRITE(KKOUT+10,105)KYEAR,KMON,KDAY,KHOUR,KMIN, & YTOP(NSITE,1),YTOP(NSITE,2) WRITE(KKOUT+40,105)KYEAR,KMON,KDAY,KHOUR,KMIN !WRITE(KKOUT+50,105)KYEAR,KMON,KDAY,KHOUR,KMIN DO L=1,LOUT !WRITE(KKOUT+10,104)L,(SITEOUT(NSITE,L,N),N=1,35) WRITE(KKOUT+10,104)L,(SITEOUT(NSITE,L,N),N=1,59) WRITE(KKOUT+40,104)L, & (SITEOUT1(NSITE,L,N),N=1,NSO4+NSEA+NDSTB+NBCOC+NBCOC) !WRITE(KKOUT+50,104)L,(AEROCOMOUT(NSITE,L,N),N=1,27) ENDDO ENDIF ENDIF ENDDO ENDIF 104 FORMAT(I9,500(1PE9.2)) 105 FORMAT(I4,I3,I3,I3,I3,500(1PE10.2)) ! Global budget KYEAR = GET_YEAR() KMON = GET_MONTH() KDAY = GET_DAY() KHOUR = GET_HOUR() KMIN = GET_MINUTE() XX0 = SUM(EMITNH3(:,:,:))*14./17.*8.64d4 ! NH3 emission -- kg N/day CONDEP = 0. OXIDAT = 0. UPTAKE = 0. DRYDEP = 0. WETDEP = 0. !APM2+ENDIFSITE++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J ) & !$OMP SCHEDULE( DYNAMIC ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX IF(MODISOUT(I,J,5)>0.D0)THEN TEMPOUT(I,J,1,NTEMPOUT1-10)=TEMPOUT(I,J,1,NTEMPOUT1-10) & +MODISOUT(I,J,1)/MODISOUT(I,J,5) TEMPOUT(I,J,2,NTEMPOUT1-10)=TEMPOUT(I,J,2,NTEMPOUT1-10) & +MODISOUT(I,J,2)/MODISOUT(I,J,5) TEMPOUT(I,J,3,NTEMPOUT1-10)=TEMPOUT(I,J,3,NTEMPOUT1-10) & +MODISOUT(I,J,5) ENDIF IF(MODISOUT(I,J,6)>0.D0)THEN TEMPOUT(I,J,4,NTEMPOUT1-10)=TEMPOUT(I,J,4,NTEMPOUT1-10) & +MODISOUT(I,J,3)/MODISOUT(I,J,6) TEMPOUT(I,J,5,NTEMPOUT1-10)=TEMPOUT(I,J,5,NTEMPOUT1-10) & +MODISOUT(I,J,4)/MODISOUT(I,J,6) TEMPOUT(I,J,6,NTEMPOUT1-10)=TEMPOUT(I,J,6,NTEMPOUT1-10) & +MODISOUT(I,J,6) ENDIF MODISOUT(I,J,:)=0.D0 ENDDO ENDDO !$OMP END PARALLEL DO NPOUTSTEPS = NPOUTSTEPS + 1 ! reset YUV to 0 YUV = 0. !DO N=APMIDS%id_SO4G,(APMIDS%id_AMINE+2) ! WRITE(110,*)N,MAXVAL(Spc(N)%Conc(:,:,:)), & ! SUM(Spc(N)%Conc(:,:,:))/SIZE(Spc(N)%Conc(:,:,:)) ! FLUSH(110) !ENDDO IF(IFATOM>0.5)THEN KYEAR = GET_YEAR() KMON = GET_MONTH() KDAY = GET_DAY() KHOUR = GET_HOUR() KMIN = GET_MINUTE() IF((KMON==ATOMMONS.AND.KDAY>ATOMDAYS) .OR. & (KMON>ATOMMONS.AND.KMON 1.d-30 )THEN MWSIZE3D(I,J,L,1) = MWSIZE3D(I,J,L,1) / SO4_bin_sum ELSE MWSIZE3D(I,J,L,1) = RDRY(39) * GFTOT3D(I,J,L,1) ENDIF SEA_bin_sum = 0.d0 DO M = 1, NSEA SEA_bin_sum = SEA_bin_sum + Spc(APMIDS%id_SEABIN1+M-1)%Conc(I,J,L) ENDDO IF( SEA_bin_sum > 1.d-30 ) THEN MWSIZE3D(I,J,L,2) = MWSIZE3D(I,J,L,2) / SEA_bin_sum ELSE MWSIZE3D(I,J,L,2) = RSALT(19) * GFTOT3D(I,J,L,2) ENDIF DST_bin_sum = 0.d0 DO M = 1, NDSTB DST_bin_sum = DST_bin_sum + Spc(APMIDS%id_DSTBIN1+M-1)%Conc(I,J,L) ENDDO IF( DST_bin_sum > 1.d-30 )THEN MWSIZE3D(I,J,L,3) = MWSIZE3D(I,J,L,3) / DST_bin_sum ELSE MWSIZE3D(I,J,L,3) = RDRY(14) ENDIF ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ! Free pointer Spc => NULL() END SUBROUTINE APM_DRIV !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: apm_radfdriv ! ! !DESCRIPTION: Subroutine APM\_RADFDRIV is the interface between GEOS-Chem/APM ! and 1-column radiative forcing module ! ! Originally written for CCCMa RF module by X. Ma & F. Yu, SUNY-Albany. 2011 ! ! Modified to drive RRTMG by F. Yu, 08/2012 ! !\\ !\\ ! !INTERFACE: ! SUBROUTINE APM_RADFDRIV( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE APM_INIT_MOD, ONLY : IFSITE,SITEOUT2D USE APM_INIT_MOD, ONLY : IFALBMODIS USE TIME_MOD, ONLY : GET_DAY_OF_YEAR USE TIME_MOD, ONLY : GET_YEAR, GET_MONTH USE TIME_MOD, ONLY : GET_DAY,GET_HOUR,GET_MINUTE USE TIME_MOD, ONLY : GET_NHMS USE TIME_MOD, ONLY : GET_LOCALTIME USE APM_ALB_MOD, ONLY : APM_ALB ! get surface albedo from MODIS USE APM_RADF_MOD, ONLY : APM_RADF ! radiation USE PRESSURE_MOD, ONLY : GET_PEDGE ! USE PRESSURE_MOD, ONLY : GET_PCENTER use rrtmg_sw_GCAPM, only : rrtmg_sw use parkind, only : im => kind_im, rb => kind_rb USE ErrCode_Mod Use Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState Use State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 2-6/2011 - X. Ma & F. Yu, SUNY-Albany ! 8/2012 - F. Yu, SUNY-Albany !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I,J,L,N INTEGER :: KYEAR,KMON,KDAY,KHOUR,KMIN,NSITE LOGICAL, SAVE :: FIRST = .TRUE. LOGICAL, SAVE :: FIRST1 = .TRUE. INTEGER :: DAY_YR INTEGER :: MINIMUM,DDAY,DAY_READ INTEGER, SAVE :: AFLAG(366) INTEGER :: K, LL, IJLOOP INTEGER :: NDAY INTEGER :: LEV INTEGER, PARAMETER :: KWL=7 !! mxy MODIS spectral bands INTEGER, PARAMETER :: IAE2 = 2 INTEGER, PARAMETER :: IAE1 = 1 INTEGER, PARAMETER :: IAE0 = 0 INTEGER, PARAMETER :: icld = 2 ! for RRTMG INTEGER, PARAMETER :: mxmol = 7 ! for RRTMG REAL :: MAS !!! AIR MASS OF BOX REAL(kind=rb) :: SCOS !!! COSINE OF SOLAR ZENITH ANGLE !REAL :: CLDT !!! COLUMN CLOUD COVER REAL(kind=rb) :: PSURF, TSURF REAL(kind=rb) :: AIRD(State_Grid%NZ) REAL(kind=rb) :: P1D (State_Grid%NZ) REAL(kind=rb) :: PE1D (0:State_Grid%NZ) REAL(kind=rb) :: PDP (State_Grid%NZ) REAL(kind=rb) :: T1D (State_Grid%NZ) REAL(kind=rb) :: TE1D (0:State_Grid%NZ) REAL(kind=rb) :: WKL (mxmol,State_Grid%NZ) REAL(kind=rb) :: COLDRY(State_Grid%NZ) !!! dry air column density (mol/cm2) REAL(kind=rb) :: CCLD(State_Grid%NZ) !!! CLOUD COVER REAL(kind=rb) :: CLDLIQ(State_Grid%NZ) !!! CLOUD LIQUID WATER CONTENT REAL(kind=rb) :: CLDICE(State_Grid%NZ) !!! CLOUD ICE WATER CONTENT REAL(kind=rb) :: REL(State_Grid%NZ) REAL(kind=rb) :: REI(State_Grid%NZ) REAL :: YCOD(State_Grid%NZ) REAL :: MALB(State_Grid%NX,State_Grid%NY,KWL) REAL(kind=rb) :: TEXT (State_Grid%NZ,NBS,NTYP) REAL(kind=rb) :: TOMGA (State_Grid%NZ,NBS,NTYP) REAL(kind=rb) :: TG (State_Grid%NZ,NBS,NTYP) REAL(kind=rb) :: TABS (State_Grid%NZ,NBL,NTYP) REAL(kind=rb) :: EXT (State_Grid%NZ,NBS) REAL(kind=rb) :: OMGA (State_Grid%NZ,NBS) REAL(kind=rb) :: G (State_Grid%NZ,NBS) REAL(kind=rb) :: ABSA (State_Grid%NZ,NBL) REAL(kind=rb) :: YHTRC(State_Grid%NZ),YHTR(State_Grid%NZ) !heating profiles REAL(kind=rb) :: YHTRC0(State_Grid%NZ),YHTR0(State_Grid%NZ) REAL(kind=rb) :: SALB(NBS) REAL(kind=rb) :: TCST(NTYP),TCSB(NTYP),TFST(NTYP),TFSB(NTYP) REAL(kind=rb) :: TFSA(NTYP) REAL(kind=rb) :: CST,CSB,FST,FSB,FSA REAL(kind=rb) :: CST0,CSB0,FST0,FSB0,FSA0 REAL :: THRS(State_Grid%NZ,NTYP),THRL(State_Grid%NZ,NTYP) REAL :: TCLT(NTYP),TCLB(NTYP),TFUL(NTYP),TFDL(NTYP),TFLA(NTYP) REAL :: HRS (State_Grid%NZ),HRL (State_Grid%NZ) REAL :: HRS0 (State_Grid%NZ),HRL0 (State_Grid%NZ) REAL :: CLT,CLB,FUL,FDL,FLA REAL :: CLT0,CLB0,FUL0,FDL0,FLA0 REAL :: WCL, WCI REAL :: YYAOD,BEXTL13,YVIS,RHL1 REAL :: YYAOD1,YYAOD3, YYAODT REAL*8, PARAMETER :: MAIR = 28.966d-3 ! kg/mol REAL*8, PARAMETER :: XNUMOL_AIR = 6.022d23 / MAIR ! molec/kg ! For RRTMG REAL*8, PARAMETER :: YCO2 = 3.55d-4 ! mol/mol REAL*8, PARAMETER :: YN2O = 3.20d-7 ! mol/mol REAL*8, PARAMETER :: YCH4 = 1.65d-6 ! mol/mol REAL*8, PARAMETER :: YO2 = 2.09d-1 ! mol/mol INTEGER :: IDO3 ! INTEGER :: id_O3 ! O3 in g.mol ?? INTEGER :: id_CO ! RC = GC_SUCCESS LEV = State_Grid%NZ+1 WRITE(6,*)' - APM RADF_DRIV ' IF(FIRST)THEN WRITE(6,*)"KOUT1=",KOUT1, YWLS(KOUT1) WRITE(6,*)"KOUT2=",KOUT2, YWLS(KOUT2) WRITE(6,*)"KOUT3=",KOUT3, YWLS(KOUT3) ! Need to pass state objects here (bmy, 6/18/19) CALL APM_RADFOUT( Input_Opt, State_Chm, State_Grid, State_Met, RC ) AFLAG=0 DO i=1,366 IF(MOD(i,8).eq.1) AFLAG(i)=1 ENDDO 180 format(366i1) FIRST = .FALSE. ENDIF ! mxy+ read in MODIS surface albedo for restart DAY_YR = GET_DAY_OF_YEAR() print*,'DAY_OF_YR',DAY_YR KYEAR = GET_YEAR() KMON = GET_MONTH() KDAY = GET_DAY() KHOUR = GET_HOUR() print*,'KYEAR',KYEAR print*,'KHOUR',KHOUR print*,'FIRST1',FIRST1 print*,'AFLAG',AFLAG(DAY_YR) IF(FIRST1) THEN ! read data when restart IF(IFALBMODIS.EQ.1) THEN WRITE(6,*)"NEED TO READ SURFACE ALBEDO DATA WHEN RESTART" IF(AFLAG(DAY_YR) == 1 .and. KHOUR == 0) THEN CALL APM_ALB(DAY_YR,KYEAR,State_Grid%NX,State_Grid%NY,KWL,MALB) CALL GETALBDRR(State_Grid%NX,State_Grid%NY,MALB,State_Met) ENDIF IF(AFLAG(DAY_YR) == 0) THEN MINIMUM = 366 DO I = 1,366 IF(AFLAG(I) == 1) THEN DDAY=ABS(DAY_YR-I) IF(DDAY.LT.MINIMUM) THEN MINIMUM = DDAY DAY_READ = I ENDIF ENDIF ENDDO print*,'READ DATA FROM THIS DAY',DAY_READ IF( KHOUR == 0) THEN CALL APM_ALB(DAY_READ,KYEAR,State_Grid%NX,State_Grid%NY,KWL,MALB) CALL GETALBDRR(State_Grid%NX,State_Grid%NY,MALB,State_Met) ENDIF ENDIF ENDIF FIRST1 = .FALSE. ENDIF IF(IFALBMODIS.EQ.1) THEN ! read data every 8 days IF(AFLAG(DAY_YR) == 1 .and. KHOUR == 0) THEN CALL APM_ALB(DAY_YR,KYEAR,State_Grid%NX,State_Grid%NY,KWL,MALB) CALL GETALBDRR(State_Grid%NX,State_Grid%NY,MALB,State_Met) ENDIF ELSE DO IWL=1,NBS ALBDRR(:,:,IWL) = State_Met%ALBD(:,:) ENDDO ENDIF !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, LL, IJLOOP,IWL,ITYP,NSITE) & !$OMP PRIVATE( TEXT, TOMGA,TG,TABS ) & !$OMP PRIVATE( EXT, OMGA,G,ABSA ) & !$OMP PRIVATE( YHTRC,YHTR,YHTRC0,YHTR0) & !$OMP PRIVATE( TCST, TCSB, TFST, TFSB, TFSA, THRS ) & !$OMP PRIVATE( TCLT, TCLB, TFUL, TFDL, TFLA, THRL ) & !$OMP PRIVATE( CST, CSB, FST, FSB, FSA, HRS ) & !$OMP PRIVATE( CST0, CSB0, FST0, FSB0, FSA0, HRS0 ) & !$OMP PRIVATE( CLT , CLB , FUL, FDL, FLA, HRL ) & !$OMP PRIVATE( CLT0, CLB0, FUL0, FDL0, FLA0, HRL0 ) & !$OMP PRIVATE( WCL, WCI ) & !$OMP PRIVATE( SALB ) & !$OMP PRIVATE( YYAOD,BEXTL13,YVIS,RHL1 ) & !$OMP PRIVATE( YYAOD1 ) & !$OMP PRIVATE( YYAODT ) & !$OMP PRIVATE( PSURF,TSURF,SCOS ) & !$OMP PRIVATE( AIRD,P1D,PE1D,PDP,T1D,TE1D) & !$OMP PRIVATE( COLDRY,WKL) & !$OMP PRIVATE( CCLD,CLDLIQ,CLDICE ) & !$OMP PRIVATE( REL,REI) & !$OMP PRIVATE( YCOD ) & !$OMP SCHEDULE( DYNAMIC ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Initialize parameters for 1-column rad calculation AOD(I,J) =1.d-20 TAOD(I,J,:) =1.d-20 AAOD(I,J) =1.d-20 AODOUT1(I,J) =1.d-20 AAODOUT1(I,J) =1.d-20 AODOUT3(I,J) =1.d-20 AAODOUT3(I,J) =1.d-20 ! Optical properties: RRTMG need AOD instead of ext, now EXT is layer AOD DO L = 1, State_Grid%NZ DO IWL = 1, NBS EXT(L,IWL) = ZBEXT3D(I,J,L,NWLS(IWL))* & State_Met%BXHEIGHT(I,J,L)*100. OMGA(L,IWL)= ZW3D(I,J,L,NWLS(IWL)) G(L,IWL) = ZG3D(I,J,L,NWLS(IWL)) ENDDO DO ITYP = 1,NTYP DO IWL = 1, NBS TEXT(L,IWL,ITYP) = YBEXT3D(I,J,L,ITYP,NWLS(IWL))* & State_Met%BXHEIGHT(I,J,L)*100. TOMGA(L,IWL,ITYP)= YW3D(I,J,L,ITYP,NWLS(IWL)) TG(L,IWL,ITYP) = YG3D(I,J,L,ITYP,NWLS(IWL)) ENDDO ENDDO ! LW DO IWL=1,NWL ABSA(L,IWL)=ZBABS3D(I,J,L,IWL) ENDDO DO ITYP = 1,NTYP IF(ITYP.EQ.3)THEN !dust DO IWL=1,NBL TABS(L,IWL,ITYP)=ZBABS3D(I,J,L,IWL) ENDDO ELSE DO IWL=1,NBL TABS(L,IWL,ITYP)=0. ENDDO ENDIF ENDDO ! instantanous AOD YYAOD = State_Met%BXHEIGHT(I,J,L)*100.*ZBEXT3D(I,J,L,KOUT2) !WL(KOUT2) nm AOD(I,J) = AOD(I,J)+ YYAOD AAOD(I,J)= AAOD(I,J)+ YYAOD*(1.-ZW3D(I,J,L,KOUT2)) !WL(KOUT2) nm YYAOD1 = State_Met%BXHEIGHT(I,J,L)*100.*ZBEXT3D(I,J,L,KOUT1) ! AODOUT1(I,J) = AODOUT1(I,J)+ YYAOD1 AAODOUT1(I,J)= AAODOUT1(I,J)+ YYAOD1*(1.-ZW3D(I,J,L,KOUT1)) ! YYAOD3 = State_Met%BXHEIGHT(I,J,L)*100.*ZBEXT3D(I,J,L,KOUT3) ! AODOUT3(I,J) = AODOUT3(I,J)+ YYAOD3 AAODOUT3(I,J)= AAODOUT3(I,J)+ YYAOD3*(1.-ZW3D(I,J,L,KOUT3)) ! ! AOD DO ITYP = 1,NTYP YYAODT = State_Met%BXHEIGHT(I,J,L)*100.* & YBEXT3D(I,J,L,ITYP,KOUT2) !WL(KOUT2) nm TAOD(I,J,ITYP) = TAOD(I,J,ITYP)+ & State_Met%BXHEIGHT(I,J,L)*100.* & YBEXT3D(I,J,L,ITYP,KOUT2) !WL(KOUT2) nm ZTAOD(I,J,ITYP) = ZTAOD(I,J,ITYP)+ & State_Met%BXHEIGHT(I,J,L)*100.* & YBEXT3D(I,J,L,ITYP,KOUT2) !WL(KOUT2) nm ENDDO !cumulative AOD for average ZAOD(I,J)= ZAOD(I,J)+ YYAOD CODGC(I,J) = CODGC(I,J) + & (State_Met%TAUCLW(I,J,L)+State_Met%TAUCLI(I,J,L)) & *State_Met%CLDF(I,J,L) ZCODGC(I,J)= ZCODGC(I,J) + & (State_Met%TAUCLW(I,J,L)+State_Met%TAUCLI(I,J,L)) & *State_Met%CLDF(I,J,L) ZAODOUT1(I,J)= ZAODOUT1(I,J)+ YYAOD1 !380 nm ZAODOUT3(I,J)= ZAODOUT3(I,J)+ YYAOD3 !870 nm IF(State_Met%CLDFRC(I,J).LE.0.25) THEN ZAOD25(I,J)=ZAOD25(I,J) + YYAOD IF(L.EQ.1) NAOD25(I,J)=NAOD25(I,J) + 1 ENDIF IF(State_Met%CLDFRC(I,J).LE.0.50) THEN ZAOD50(I,J)=ZAOD50(I,J) + YYAOD IF(L.EQ.1) NAOD50(I,J)=NAOD50(I,J) + 1 ENDIF IF(State_Met%CLDFRC(I,J).LE.0.75) THEN ZAOD75(I,J)=ZAOD75(I,J) + YYAOD IF(L.EQ.1) NAOD75(I,J)=NAOD75(I,J) + 1 ENDIF ZAAOD(I,J)= ZAAOD(I,J)+ State_Met%BXHEIGHT(I,J,L)*100.* & ZBEXT3D(I,J,L,KOUT2)*(1.-ZW3D(I,J,L,KOUT2)) !WL(KOUT2) nm ZAAODOUT1(I,J)= ZAAODOUT1(I,J)+ State_Met%BXHEIGHT(I,J,L)*100.* & ZBEXT3D(I,J,L,KOUT1)*(1.-ZW3D(I,J,L,KOUT1)) !380 nm ZAAODOUT3(I,J)= ZAAODOUT3(I,J)+ State_Met%BXHEIGHT(I,J,L)*100.* & ZBEXT3D(I,J,L,KOUT3)*(1.-ZW3D(I,J,L,KOUT3)) !870 nm ZABS(I,J)= ZABS(I,J)+ State_Met%BXHEIGHT(I,J,L)*100.* & ZBABS3D(I,J,L,6) !LW, 1150 nm ENDDO ! L=1,State_Grid%NZ ! visibility ! mean bext L1_L3 (H<387 m) BEXTL13 = (ZBEXT3D(I,J,1,6)*State_Met%BXHEIGHT(I,J,1) + & ! 550 nm ZBEXT3D(I,J,2,6)*State_Met%BXHEIGHT(I,J,2) + & ZBEXT3D(I,J,3,6)*State_Met%BXHEIGHT(I,J,3))/ & (State_Met%BXHEIGHT(I,J,1)+State_Met%BXHEIGHT(I,J,2)+ & State_Met%BXHEIGHT(I,J,3)) ! in cm-1 YVIS = 3.912/(3.9d-2 + BEXTL13*1.d5) ! in km ZVIS(I,J) = ZVIS(I,J) + YVIS ! accumulated for average RHL1 = State_Met%RH(I,J,1)/100. ! RH at surface layer IF(RHL1.LT.0.95.and.YVIS.LE.5.0) THEN THAZ(I,J)=THAZ(I,J) + 1.0 ENDIF IF(RHL1.GT.0.95.and.YVIS.LE.2.0) THEN TFOG(I,J)=TFOG(I,J) + 1.0 ENDIF ! Profiles for RF IJLOOP = ( (J-1) * State_Grid%NX ) + I SCOS = State_Met%SUNCOS(I,J) PE1D(0) = GET_PEDGE(I,J,1) ! P surface [MB] TE1D(0) = State_Met%TSKIN(I,J) ! T surface (K) TSURF = TE1D(0) DO IWL = 1, NBS SALB(IWL) = ALBDRR(I,J,IWL) ! Albedo surface ENDDO !IF(I.EQ.60.and.J.EQ.33) THEN ! WRITE(1002,99)DAY_YR,KHOUR,State_Grid%NZ,SCOS, & ! AOD(I,J),State_Met%CLDFRC(I,J),(SALB(IWL),IWL=1,NBS) !99 FORMAT(I4,I3,I3,F9.3,100(1PE9.2)) !ENDIF DO L=1, State_Grid%NZ AIRD(L)= State_Met%AIRDEN(I,J,L)*XNUMOL_AIR* & State_Met%BXHEIGHT(I,J,L)*1.d-4 !box column air mole #/cm2 ! AIRDEN unit: kg/m3 P1D(L) = GET_PCENTER(I,J,L) ! Pressure center [MB] PE1D(L)= GET_PEDGE(I,J,L+1) ! Pressure upper edge [MB] PDP(L) = PE1D(L-1)-PE1D(L) T1D(L)= State_Met%T(I,J,L) ! Temperature center [K] IF(L.EQ.State_Grid%NZ) THEN TE1D(L) = State_Met%T(I,J,L) + & 0.5*(State_Met%T(I,J,L)-State_Met%T(I,J,L-1)) ELSE TE1D(L) = 0.5*(State_Met%T(I,J,L) + State_Met%T(I,J,L+1)) ENDIF ! Gases: in #/cm2 layer column density ! (CO2, N2O, CH4, and O2 use fixed mixing ratio for now) ! H2O convert specific humidity from g/kg to g/g and then to volume ! mixing ratio and then to #/cm2 WKL(1,L) = State_Met%SPHU(I,J,L)*1.d-3*MAIR/18.0d-3 * AIRD(L) WKL(2,L)= YCO2 * AIRD(L) ! convert O3 and CO from kg/box to g/g and then to volume mixing ratio ! and then to #/cm2 WKL(3,L)= State_Chm%Species(id_O3)%Conc(I,J,L)/State_Met%AD(I,J,L) & *MAIR/48.0d-3 * AIRD(L) WKL(4,L)= YN2O * AIRD(L) ! CO WKL(5,L)= State_Chm%Species(id_CO)%Conc(I,J,L)/State_Met%AD(I,J,L) & *MAIR/28.0d-3 * AIRD(L) WKL(6,L)= YCH4 * AIRD(L) WKL(7,L)= YO2 * AIRD(L) ! dry air column density (mol/cm2) COLDRY(L) = AIRD(L)- WKL(1,L) CCLD(L)= MAX(1.d-3,State_Met%CLDF(I,J,L)) ! Cloud cover [Unitless] ! convert water content from kg/kg to g/m3 and then to g/m2 CLDLIQ(L)=State_Met%QL(I,J,L)*State_Met%AIRDEN(I,J,L)*1.d3* & State_Met%BXHEIGHT(I,J,L)/CCLD(L) !test GEOS5 CLDLIQ appears to be too small, increase 50% to enhance Cloud Forcing !CLDLIQ(L)=1.5*State_Met%QL(I,J,L)*State_Met%AIRDEN(I,J,L)*1.d3*State_Met%BXHEIGHT(I,J,L) CLDICE(L)=State_Met%QI(I,J,L)*State_Met%AIRDEN(I,J,L)*1.d3* & State_Met%BXHEIGHT(I,J,L)/CCLD(L) REL(L) = RCLDL3D(I,J,L) ! in um (RRTMG limit 2.5 - 60) REL(L)= MAX(2.5d0,REL(L)) ! liquid particle radius REL(L)= MIN(55.d0,REL(L)) ! liquid particle radius !REI(L) = 15.0 ! fixed to this size (um) for now !REI(L) = 20.0 ! fixed to this size (um) for now !REI(L) = 30.0 ! fixed to this size (um) for now REI(L) = RCLDI3D(I,J,L) ! set to RRTMG limit REI(L)= MAX(5.0d0,REI(L)) ! ice particle radius REI(L)= MIN(140.d0,REI(L)) ! ice particle radius ENDDO !IF(I.EQ.60.and.J.EQ.33) THEN ! WRITE(1002,101) (P1D(L),L=1,State_Grid%NZ) ! WRITE(1002,101) (PE1D(L),L=0,State_Grid%NZ) ! WRITE(1002,101) (PDP(L),L=1,State_Grid%NZ) ! WRITE(1002,101) (T1D(L),L=1,State_Grid%NZ) ! WRITE(1002,101) (TE1D(L),L=0,State_Grid%NZ) ! ! DO N = 1, mxmol ! WRITE(1002,101) (WKL(N,L),L=1,State_Grid%NZ) ! ENDDO ! WRITE(1002,101) (COLDRY(L),L=1,State_Grid%NZ) ! ! WRITE(1002,101) (CCLD(L),L=1,State_Grid%NZ) ! WRITE(1002,101) (CLDLIQ(L),L=1,State_Grid%NZ) ! WRITE(1002,101) (CLDICE(L),L=1,State_Grid%NZ) ! WRITE(1002,101) (REL(L),L=1,State_Grid%NZ) ! WRITE(1002,101) (REI(L),L=1,State_Grid%NZ) ! ! DO IWL=1,NBS ! WRITE(1002,101) (EXT(L,IWL),L=1,State_Grid%NZ) !layer AOD ! WRITE(1002,101) (OMGA(L,IWL),L=1,State_Grid%NZ) ! WRITE(1002,101) (G(L,IWL),L=1,State_Grid%NZ) ! ENDDO !ENDIF 101 FORMAT(100(1PE9.2)) 104 FORMAT(I3,100(1PE9.2)) IF(SCOS.GT.0.) THEN CALL rrtmg_sw(I,J,2,icld,State_Grid%NZ,DAY_YR, SCOS, & PDP,P1D,T1D,PE1D,TE1D,TSURF,COLDRY, WKL, & CCLD, CLDICE, CLDLIQ, REI, REL, & SALB,EXT, OMGA, G, & YHTRC,YHTR,YHTRC0,YHTR0, & CST,FST,CSB,FSB,CST0,FST0,CSB0,FSB0, & TEXT, TOMGA, TG, TCST,TCSB,TFST,TFSB) ELSE CST = 0. FST = 0. CSB = 0. FSB = 0. CST0 = 0. FST0 = 0. CSB0 = 0. FSB0 = 0. TCST = 0. TFST = 0. TCSB = 0. TFSB = 0. YHTRC = 0. YHTR = 0. YHTRC0 = 0. YHTR0 = 0. ENDIF FUL = 0. FDL = 0. FLA = 0. HRL = 0. FUL0 = 0. FDL0 = 0. FLA0 = 0. HRL0 = 0. FSA = FST - FSB FSA0 = FST0 - FSB0 TFSA(:) = TFST(:) - TFSB(:) ! Each aerosol type !DO ITYP = 1,NTYP ! CALL APM_RADF(J,I,State_Grid%NZ,LEV,NBS,NBL, & ! IAE2,TEXT(:,:,ITYP),TOMGA(:,:,ITYP),TG(:,:,ITYP), & ! TABS(:,:,ITYP), & ! GT,SALB,SCOS,T1D,H2O,O3,P1D,AIRD, & ! CCLD,CLDLIQ,CLDICE,RCLDL,YCOD, & ! WCL,WCI, & ! TCST(ITYP),TCSB(ITYP),TFST(ITYP),TFSB(ITYP), & ! TFSA(ITYP),THRS(:,ITYP), & ! TCLT(ITYP),TCLB(ITYP),TFUL(ITYP),TFDL(ITYP), & ! TFLA(ITYP),THRL(:,ITYP) ) !ENDDO THRS = 0. TCLT = 0. TCLB = 0. TFUL = 0. TFDL = 0. TFLA = 0. THRL = 0. ! Total !CALL APM_RADF(J,I,State_Grid%NZ,LEV,NBS,NBL, & ! IAE1,EXT,OMGA,G,ABSA, & ! GT,SALB,SCOS,T1D,H2O,O3,P1D,AIRD, & ! CCLD,CLDLIQ,CLDICE,RCLDL,YCOD, & ! WCL, WCI, & ! CST,CSB,FST,FSB,FSA,HRS, & ! CLT,CLB,FUL,FDL,FLA,HRL) ! !print*,'ALBEDO,GT',IAE0,I,J,ALBEDO,GT,SCOS ! No aerosol !CALL APM_RADF(J,I,State_Grid%NZ,LEV,NBS,NBL, & ! IAE0,EXT0,OMGA0,G0,ABSA0, & ! GT,SALB,SCOS,T1D,H2O,O3,P1D,AIRD, & ! CCLD,CLDLIQ,CLDICE,RCLDL,YCOD, & ! WCL, WCI, & ! CST0,CSB0,FST0,FSB0,FSA0,HRS0, & ! CLT0,CLB0,FUL0,FDL0,FLA0,HRL0) YHTRC3D(I,J,:) =YHTRC(:) ! clear sky, with aerosol YHTR3D(I,J,:) =YHTR(:) ! all sky, with aerosol YHTRC03D(I,J,:)=YHTRC0(:) ! clear sky, no aerosol YHTR03D(I,J,:) =YHTR0(:) ! all sky, no aerosol DO ITYP = 1,NTYP ZTCST(I,J,ITYP)=ZTCST(I,J,ITYP) + (TCST(ITYP)-CST0) ZTCSB(I,J,ITYP)=ZTCSB(I,J,ITYP) + (TCSB(ITYP)-CSB0) ZTFST(I,J,ITYP)=ZTFST(I,J,ITYP) + (TFST(ITYP)-FST0) ZTFSB(I,J,ITYP)=ZTFSB(I,J,ITYP) + (TFSB(ITYP)-FSB0) ZTFSA(I,J,ITYP)=ZTFSA(I,J,ITYP) + (TFSA(ITYP)-FSA0) ENDDO ZCLDF(I,J)=ZCLDF(I,J) + State_Met%CLDFRC(I,J) ZALB(I,J)=ZALB(I,J) + ALBDRR(I,J,10) DO IWL = 1,NBS ZMALB(I,J,IWL)=ZMALB(I,J,IWL) + SALB(IWL) ENDDO ZCST(I,J) = ZCST(I,J) + (CST-CST0 ) ZCSB(I,J) = ZCSB(I,J) + (CSB-CSB0 ) ZFST(I,J) = ZFST(I,J) + (FST-FST0 ) ZCLD(I,J) = ZCLD(I,J) + (FST-CST ) ZCLD0(I,J)= ZCLD0(I,J)+ (FST0-CST0) ZFSB(I,J) = ZFSB(I,J) + (FSB-FSB0 ) ZFSA(I,J) = ZFSA(I,J) + (FSA-FSA0 ) !if(i.eq.36.and.j.eq.25) then ! print*,'CST,CST0,CST-CST0',CST,CST0,CST-CST0 ! print*,'FST,FST0,FST-FST0',FST,FST0,FST-FST0 ! print*,'FSA,FSA0,FSA-FSA0',FSA,FSA0,FSA-FSA0 ! print*,'FST-CST,FST0-CST0',FST-CST,FST0-CST0 !endif if(i.eq.60.and.j.eq.33) then WRITE(1003,109) DAY_YR, AOD(I,J),State_Met%CLDFRC(I,J) WRITE(1003,107)'CST,CST0,CST-CST0',CST,CST0,CST-CST0 WRITE(1003,107)'FST,FST0,FST-FST0',FST,FST0,FST-FST0 WRITE(1003,107)'FSA,FSA0,FSA-FSA0',FSA,FSA0,FSA-FSA0 WRITE(1003,107)'FST-CST,FST0-CST0',FST-CST,FST0-CST0 DO ITYP = 1,NTYP WRITE(1003,107)'TCST-CST0,TFST-FST0', & TCST(ITYP)-CST0,TFST(ITYP)-FST0 ENDDO 109 FORMAT(I4,2x,10(F10.3)) 107 FORMAT(A19,2x,10(F10.2)) endif !ZCLT(I,J)=ZCLT(I,J) + (CLT-CLT0 ) !ZCLB(I,J)=ZCLB(I,J) + (CLB-CLB0 ) !ZFUL(I,J)=ZFUL(I,J) + (FUL0-FUL ) !ZFDL(I,J)=ZFDL(I,J) + (FDL-FDL0 ) !ZFLA(I,J)=ZFLA(I,J) + (FLA-FLA0 ) ZWCL(I,J)=ZWCL(I,J) + WCL ZWCI(I,J)=ZWCI(I,J) + WCI IF((FST-FST0).gt.1000.0.or.(FST-FST0).lt.-2000.0) THEN write(1001,*) i,j !DO ITYP=1,NTYP ! write(1001,*) ITYP,TCST(ITYP),CST0 ! DO L=1,State_Grid%NZ ! write(1001,*) L,TEXT(L,1,ITYP),TOMGA(L,1,ITYP),TG(L,1,ITYP) ! write(1001,*) L,TEXT(L,2,ITYP),TOMGA(L,2,ITYP),TG(L,2,ITYP) ! write(1001,*) L,TEXT(L,3,ITYP),TOMGA(L,3,ITYP),TG(L,3,ITYP) ! write(1001,*) L,TEXT(L,4,ITYP),TOMGA(L,4,ITYP),TG(L,4,ITYP) ! ENDDO !ENDDO write(1001,*) "EXT",EXT write(1001,*) "OMGA",OMGA write(1001,*) "G",G WRITE(1001,*) 'rf, claer sky toa' WRITE(1001,103)CST,CST0,CST-CST0 WRITE(1001,*) ' clear sky surface' WRITE(1001,103)CSB,CSB0,CSB-CSB0 WRITE(1001,*) ' all sky toa' WRITE(1001,103)FST,FST0,FST-FST0 WRITE(1001,*) ' absorption' WRITE(1001,103)FSA,FSA0,FSA-FSA0 ENDIF 102 FORMAT(100(1PE9.2)) 103 FORMAT(3F9.4) !APM2+IFSITE++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ! output at selected sites IF(IFSITE.GT.0) THEN IF(IFOUTIJ(I,J).EQ.1) THEN NSITE = SITEID(I,J) SITEOUT2D(NSITE,1) = AODOUT1(I,J) SITEOUT2D(NSITE,2) = AOD(I,J) !WL(KOUT2) AOD SITEOUT2D(NSITE,3) = AODOUT3(I,J) SITEOUT2D(NSITE,4) = -LOG10(AOD(I,J)/AODOUT1(I,J)) & /LOG10(YWLS(KOUT2)/YWLS(KOUT1)) !WL(KOUT1)_WL(KOUT2) Angstrom Exponent SITEOUT2D(NSITE,5) = -LOG10(AOD(I,J)/AODOUT3(I,J)) & /LOG10(YWLS(KOUT2)/YWLS(KOUT3)) !WL(KOUT2)_WL(KOUT3) Angstrom Exponent SITEOUT2D(NSITE,6) = AAODOUT1(I,J) SITEOUT2D(NSITE,7) = AAOD(I,J) !WL(KOUT2) nm AAOD SITEOUT2D(NSITE,8) = AAODOUT3(I,J) SITEOUT2D(NSITE,9) = -LOG10(AAOD(I,J)/AAODOUT1(I,J)) & /LOG10(YWLS(KOUT2)/YWLS(KOUT1)) !WL(KOUT1)_WL(KOUT2) Angstrom Exponent SITEOUT2D(NSITE,10) = -LOG10(AAOD(I,J)/AAODOUT3(I,J)) & /LOG10(YWLS(KOUT2)/YWLS(KOUT3)) !WL(KOUT1)_WL(KOUT2) Angstrom Exponent SITEOUT2D(NSITE,11) = State_Met%CLDFRC(I,J) SITEOUT2D(NSITE,12) = CST-CST0 !clear sky aerosol forcing SITEOUT2D(NSITE,13) = FST-FST0 !full sky aerosol forcing DO ITYP=1,NTYP SITEOUT2D(NSITE,13+ITYP) = TFST(ITYP)-FST0 !full sky 5 type aerosol forcing ENDDO !SITEOUT2D(NSITE,13+NTYP+1)=YVIS !SITEOUT2D(NSITE,13+NTYP+2)=State_Met%PREACC(I,J) !SITEOUT2D(NSITE,19) = SUM(YCOD) !cloud OD SITEOUT2D(NSITE,19) = CODGC(I,J) SITEOUT2D(NSITE,20) = FST-CST !cloud forcing with aerosol SITEOUT2D(NSITE,22) = FST0-CST0 !cloud forcing without aerosol SITEOUT2D(NSITE,22)=State_Met%PRECTOT(I,J) SITEOUT2D(NSITE,23)=State_Met%PRECCON(I,J) SITEOUT2D(NSITE,24)=YVIS DO ITYP=1,NTYP SITEOUT2D(NSITE,24+ITYP)=TAOD(I,J,ITYP) ENDDO SITEOUT2D(NSITE,30)=FSB SITEOUT2D(NSITE,31)=FSB0 SITEOUT2D(NSITE,32)=CSB SITEOUT2D(NSITE,33)=CSB0 ENDIF ENDIF !APM2+ENDIFSITE+++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ENDDO ENDDO !$OMP END PARALLEL DO FLUSH(890) FLUSH(891) FLUSH(1001) END SUBROUTINE APM_RADFDRIV !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: apm_radfout ! ! !DESCRIPTION: Subroutine APM\_RADFOUT is the for radf output ! ! Written by X. Ma & F. Yu, SUNY-Albany ! !\\ !\\ ! !INTERFACE: ! SUBROUTINE APM_RADFOUT( Input_Opt, State_Chm, State_Grid, State_Met, RC ) ! ! !USES: ! USE TIME_MOD, ONLY : GET_YEAR, GET_MONTH USE TIME_MOD, ONLY : GET_DAY, GET_HOUR, GET_MINUTE USE ErrCode_Mod Use Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 2-6/2011 - X. Ma & F. Yu, SUNY-Albany !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I,J,ITYP,IWL,RECID INTEGER :: KYEAR,KMON,KDAY,KHOUR,KMIN LOGICAL, SAVE :: FIRST = .TRUE. REAL*8 :: XCOUNT REAL*8 :: ZFSTAVE,ZCSTAVE,TAREA,YAREA REAL*8 :: ZCLDAVE,ZCLD0AVE REAL*8 :: ZFULAVE ! longwave TOA REAL*8 :: ZFSAAVE, ZTFSTAVE(NTYP) ! fraction of time w/ CLDFR<25%, 50%, 75% REAL :: FAOD25(State_Grid%NX,State_Grid%NY) REAL :: FAOD50(State_Grid%NX,State_Grid%NY) REAL :: FAOD75(State_Grid%NX,State_Grid%NY) REAL :: ZAEEXT(State_Grid%NX,State_Grid%NY) REAL :: ZAEABS(State_Grid%NX,State_Grid%NY) REAL :: ZAEEXTOUT3(State_Grid%NX,State_Grid%NY) REAL :: ZAEABSOUT3(State_Grid%NX,State_Grid%NY) CHARACTER(LEN=6) :: YYYYMM='200001' ! Initialize RC = GC_SUCCESS WRITE(6,*)' - APM RADFOUT ' IF(FIRST)THEN ZTCST = 0. ZTCSB = 0. ZTFST = 0. ZTFSB = 0. ZTFSA = 0. ZTCLT = 0. ZTCLB = 0. ZTFUL = 0. ZTFDL = 0. ZTFLA = 0. ZTAOD = 0. ZMALB = 0. ZCLDF = 0. ZALB = 0. ZCST = 0. ZCSB = 0. ZFST = 0. ZCLD = 0. ZCLD0 = 0. ZFSB = 0. ZFSA = 0. !ZCLT = 0. !ZCLB = 0. !ZFUL = 0. !ZFDL = 0. !ZFLA = 0. ZWCL = 0. ZWCI = 0. ZAOD = 0. ZCOD = 0. ZCODGC= 0. ZAAOD = 0. ZABS = 0. ZAODOUT1 = 0. ZAAODOUT1 = 0. ZAOD25 = 0. ZAOD50 = 0. ZAOD75 = 0. ZVIS = 0. THAZ = 0. TFOG = 0. FIRST = .FALSE. RETURN ENDIF KYEAR = GET_YEAR() KMON = GET_MONTH() KDAY = GET_DAY() KHOUR = GET_HOUR() KMIN = GET_MINUTE() WRITE(YYYYMM(1:4),'(I4.4)')KYEAR WRITE(YYYYMM(5:6),'(I2.2)')KMON CLOSE(686) CLOSE(687) CLOSE(688) CLOSE(689) CLOSE(690) CLOSE(785) CLOSE(786) CLOSE(787) CLOSE(788) CLOSE(789) CLOSE(790) CLOSE(811) CLOSE(812) CLOSE(813) CLOSE(814) CLOSE(815) CLOSE(816) CLOSE(821) CLOSE(822) CLOSE(823) CLOSE(883) CLOSE(884) CLOSE(885) CLOSE(886) CLOSE(887) CLOSE(888) CLOSE(588) CLOSE(589) CLOSE(889) CLOSE(890) CLOSE(590) CLOSE(591) CLOSE(891) CLOSE(892) CLOSE(893) CLOSE(894) CLOSE(895) OPEN(686,FILE='radf/radf'//YYYYMM//'CLT.out',ACCESS='DIRECT', & FORM='UNFORMATTED', RECL=State_Grid%NX*State_Grid%NY) OPEN(687,FILE='radf/radf'//YYYYMM//'CLB.out',ACCESS='DIRECT', & FORM='UNFORMATTED', RECL=State_Grid%NX*State_Grid%NY) OPEN(688,FILE='radf/radf'//YYYYMM//'FUL.out',ACCESS='DIRECT', & FORM='UNFORMATTED', RECL=State_Grid%NX*State_Grid%NY) OPEN(689,FILE='radf/radf'//YYYYMM//'FDL.out',ACCESS='DIRECT', & FORM='UNFORMATTED', RECL=State_Grid%NX*State_Grid%NY) OPEN(690,FILE='radf/radf'//YYYYMM//'FLA.out',ACCESS='DIRECT', & FORM='UNFORMATTED', RECL=State_Grid%NX*State_Grid%NY) OPEN(785,FILE='radf/radf'//YYYYMM//'TAOD.out',ACCESS='DIRECT', & FORM='UNFORMATTED', RECL=State_Grid%NX*State_Grid%NY) OPEN(786,FILE='radf/radf'//YYYYMM//'TCST.out',ACCESS='DIRECT', & FORM='UNFORMATTED', RECL=State_Grid%NX*State_Grid%NY) OPEN(787,FILE='radf/radf'//YYYYMM//'TCSB.out',ACCESS='DIRECT', & FORM='UNFORMATTED', RECL=State_Grid%NX*State_Grid%NY) OPEN(788,FILE='radf/radf'//YYYYMM//'TFST.out',ACCESS='DIRECT', & FORM='UNFORMATTED', RECL=State_Grid%NX*State_Grid%NY) OPEN(789,FILE='radf/radf'//YYYYMM//'TFSA.out',ACCESS='DIRECT', & FORM='UNFORMATTED', RECL=State_Grid%NX*State_Grid%NY) OPEN(790,FILE='radf/radf'//YYYYMM//'TFSB.out',ACCESS='DIRECT', & FORM='UNFORMATTED', RECL=State_Grid%NX*State_Grid%NY) OPEN(883,FILE='radf/radf'//YYYYMM//'CLDF.out',ACCESS='DIRECT', & ! cloud cover FORM='UNFORMATTED', RECL=State_Grid%NX*State_Grid%NY) OPEN(884,FILE='radf/radf'//YYYYMM//'MALB.out',ACCESS='DIRECT', & FORM='UNFORMATTED', RECL=State_Grid%NX*State_Grid%NY) OPEN(885,FILE='radf/radf'//YYYYMM//'ALB.out',ACCESS='DIRECT', & FORM='UNFORMATTED', RECL=State_Grid%NX*State_Grid%NY) OPEN(886,FILE='radf/radf'//YYYYMM//'CST.out',ACCESS='DIRECT', & FORM='UNFORMATTED', RECL=State_Grid%NX*State_Grid%NY) OPEN(887,FILE='radf/radf'//YYYYMM//'CSB.out',ACCESS='DIRECT', & FORM='UNFORMATTED', RECL=State_Grid%NX*State_Grid%NY) OPEN(888,FILE='radf/radf'//YYYYMM//'FST.out',ACCESS='DIRECT', & FORM='UNFORMATTED', RECL=State_Grid%NX*State_Grid%NY) OPEN(588,FILE='radf/radf'//YYYYMM//'CLD.out',ACCESS='DIRECT', & FORM='UNFORMATTED', RECL=State_Grid%NX*State_Grid%NY) OPEN(589,FILE='radf/radf'//YYYYMM//'CLD0.out',ACCESS='DIRECT', & FORM='UNFORMATTED', RECL=State_Grid%NX*State_Grid%NY) OPEN(889,FILE='radf/radf'//YYYYMM//'FSA.out',ACCESS='DIRECT', & FORM='UNFORMATTED', RECL=State_Grid%NX*State_Grid%NY) OPEN(890,FILE='radf/radf'//YYYYMM//'AOD.out',ACCESS='DIRECT', & FORM='UNFORMATTED', RECL=State_Grid%NX*State_Grid%NY) OPEN(590,FILE='radf/radf'//YYYYMM//'COD.out',ACCESS='DIRECT', & FORM='UNFORMATTED', RECL=State_Grid%NX*State_Grid%NY) OPEN(591,FILE='radf/radf'//YYYYMM//'CODGC.out',ACCESS='DIRECT', & FORM='UNFORMATTED', RECL=State_Grid%NX*State_Grid%NY) OPEN(891,FILE='radf/radf'//YYYYMM//'AAOD.out',ACCESS='DIRECT', & FORM='UNFORMATTED', RECL=State_Grid%NX*State_Grid%NY) OPEN(892,FILE='radf/radf'//YYYYMM//'ABS.out',ACCESS='DIRECT', & FORM='UNFORMATTED', RECL=State_Grid%NX*State_Grid%NY) OPEN(893,FILE='radf/radf'//YYYYMM//'FSB.out',ACCESS='DIRECT', & FORM='UNFORMATTED', RECL=State_Grid%NX*State_Grid%NY) OPEN(894,FILE='radf/radf'//YYYYMM//'WCL.out',ACCESS='DIRECT', & FORM='UNFORMATTED', RECL=State_Grid%NX*State_Grid%NY) OPEN(895,FILE='radf/radf'//YYYYMM//'WCI.out',ACCESS='DIRECT', & FORM='UNFORMATTED', RECL=State_Grid%NX*State_Grid%NY) OPEN(896,FILE='radf/radf'//YYYYMM//'AODOUT1.out', & ACCESS='DIRECT',FORM='UNFORMATTED', & RECL=State_Grid%NX*State_Grid%NY) OPEN(897,FILE='radf/radf'//YYYYMM//'AAODOUT1.out', & ACCESS='DIRECT',FORM='UNFORMATTED', & RECL=State_Grid%NX*State_Grid%NY) OPEN(898,FILE='radf/radf'//YYYYMM//'AEextOUT1.out', & ACCESS='DIRECT',FORM='UNFORMATTED', & RECL=State_Grid%NX*State_Grid%NY) OPEN(899,FILE='radf/radf'//YYYYMM//'AEabsOUT1.out', & ACCESS='DIRECT',FORM='UNFORMATTED', & RECL=State_Grid%NX*State_Grid%NY) OPEN(796,FILE='radf/radf'//YYYYMM//'AODOUT3.out', & ACCESS='DIRECT',FORM='UNFORMATTED', & RECL=State_Grid%NX*State_Grid%NY) OPEN(797,FILE='radf/radf'//YYYYMM//'AAODOUT3.out', & ACCESS='DIRECT',FORM='UNFORMATTED', & RECL=State_Grid%NX*State_Grid%NY) OPEN(798,FILE='radf/radf'//YYYYMM//'AEextOUT3.out', & ACCESS='DIRECT',FORM='UNFORMATTED', & RECL=State_Grid%NX*State_Grid%NY) OPEN(799,FILE='radf/radf'//YYYYMM//'AEabsOUT3.out', & ACCESS='DIRECT',FORM='UNFORMATTED', & RECL=State_Grid%NX*State_Grid%NY) OPEN(811,FILE='radf/radf'//YYYYMM//'AOD25.out',ACCESS='DIRECT', & FORM='UNFORMATTED', RECL=State_Grid%NX*State_Grid%NY) OPEN(812,FILE='radf/radf'//YYYYMM//'AOD50.out',ACCESS='DIRECT', & FORM='UNFORMATTED', RECL=State_Grid%NX*State_Grid%NY) OPEN(813,FILE='radf/radf'//YYYYMM//'AOD75.out',ACCESS='DIRECT', & FORM='UNFORMATTED', RECL=State_Grid%NX*State_Grid%NY) OPEN(814,FILE='radf/radf'//YYYYMM//'FAOD25.out',ACCESS='DIRECT', & FORM='UNFORMATTED', RECL=State_Grid%NX*State_Grid%NY) OPEN(815,FILE='radf/radf'//YYYYMM//'FAOD50.out',ACCESS='DIRECT', & FORM='UNFORMATTED', RECL=State_Grid%NX*State_Grid%NY) OPEN(816,FILE='radf/radf'//YYYYMM//'FAOD75.out',ACCESS='DIRECT', & FORM='UNFORMATTED', RECL=State_Grid%NX*State_Grid%NY) OPEN(821,FILE='radf/radf'//YYYYMM//'VIS.out',ACCESS='DIRECT', & FORM='UNFORMATTED', RECL=State_Grid%NX*State_Grid%NY) OPEN(822,FILE='radf/radf'//YYYYMM//'HAZE.out',ACCESS='DIRECT', & FORM='UNFORMATTED', RECL=State_Grid%NX*State_Grid%NY) OPEN(823,FILE='radf/radf'//YYYYMM//'FOG.out',ACCESS='DIRECT', & FORM='UNFORMATTED', RECL=State_Grid%NX*State_Grid%NY) !WRITE(1000,105) KYEAR,KMON,KDAY,KHOUR,KMIN WRITE(1001,105) KYEAR,KMON,KDAY,KHOUR,KMIN WRITE(1001,105) NPOUTSTEPS XCOUNT = float(NPOUTSTEPS) 105 FORMAT(I4,I3,I3,I3,I3,500(1PE10.2)) !IF(NPOUTSTEPS.EQ.0.and.NPOUTSTEPS0.NE.0) THEN WRITE(985,*)KYEAR, KMON-1 WRITE(987,*)KYEAR, KMON-1 WRITE(988,*)KYEAR, KMON-1 WRITE(989,*)KYEAR, KMON-1 WRITE(992,*)KYEAR, KMON-1 WRITE(991,*)KYEAR, KMON-1 WRITE(993,*)KYEAR, KMON-1 WRITE(994,*)KYEAR, KMON-1 WRITE(995,*)KYEAR, KMON-1 DO I = 1, State_Grid%NX WRITE(985,981)(ZCST(I,J)/XCOUNT,J=1,State_Grid%NY) !WRITE(987,981)(ZCSB(I,J)/XCOUNT,J=1,State_Grid%NY) WRITE(987,981)(ZCLD(I,J)/XCOUNT,J=1,State_Grid%NY) WRITE(988,981)(ZFST(I,J)/XCOUNT,J=1,State_Grid%NY) WRITE(989,981)(ZAOD(I,J)/XCOUNT,J=1,State_Grid%NY) !WRITE(992,981)(ZABS(I,J)/XCOUNT,J=1,State_Grid%NY) !WRITE(991,981)(ZFUL(I,J)/XCOUNT,J=1,State_Grid%NY) !WRITE(993,981)(ZFDL(I,J)/XCOUNT,J=1,State_Grid%NY) !WRITE(994,981)(ZCLT(I,J)/XCOUNT,J=1,State_Grid%NY) !WRITE(995,981)(ZCLB(I,J)/XCOUNT,J=1,State_Grid%NY) DO J=1,State_Grid%NY FAOD25(I,J)= float(NAOD25(I,J))/XCOUNT FAOD50(I,J)= float(NAOD50(I,J))/XCOUNT FAOD75(I,J)= float(NAOD75(I,J))/XCOUNT ZAOD25(I,J) = ZAOD25(I,J)/(1.d-20+float(NAOD25(I,J))) ZAOD50(I,J) = ZAOD50(I,J)/(1.d-20+float(NAOD50(I,J))) ZAOD75(I,J) = ZAOD75(I,J)/(1.d-20+float(NAOD75(I,J))) ENDDO ENDDO ZCLDF(:,:)=ZCLDF(:,:)/XCOUNT ZALB(:,:)=ZALB(:,:)/XCOUNT ZCST(:,:)=ZCST(:,:)/XCOUNT ZCSB(:,:)=ZCSB(:,:)/XCOUNT ZFST(:,:)=ZFST(:,:)/XCOUNT ZCLD(:,:)=ZCLD(:,:)/XCOUNT ZCLD0(:,:)=ZCLD0(:,:)/XCOUNT ZFSB(:,:)=ZFSB(:,:)/XCOUNT ZFSA(:,:)=ZFSA(:,:)/XCOUNT ZAOD(:,:)=ZAOD(:,:)/XCOUNT ZCOD(:,:)=ZCOD(:,:)/XCOUNT ZCODGC(:,:)=ZCODGC(:,:)/XCOUNT ZAODOUT1(:,:)=ZAODOUT1(:,:)/XCOUNT ZAODOUT3(:,:)=ZAODOUT3(:,:)/XCOUNT ZVIS(:,:)=ZVIS(:,:)/XCOUNT THAZ(:,:)=THAZ(:,:)/XCOUNT ! fraction of time with haze TFOG(:,:)=TFOG(:,:)/XCOUNT ! fraction of time with fog ZAAOD(:,:)=ZAAOD(:,:)/XCOUNT ZAAODOUT1(:,:)=ZAAODOUT1(:,:)/XCOUNT ZAAODOUT3(:,:)=ZAAODOUT3(:,:)/XCOUNT ZABS(:,:)=ZABS(:,:)/XCOUNT !ZCLT(:,:)=ZCLT(:,:)/XCOUNT !ZCLB(:,:)=ZCLB(:,:)/XCOUNT !ZFUL(:,:)=ZFUL(:,:)/XCOUNT !ZFDL(:,:)=ZFDL(:,:)/XCOUNT !ZFLA(:,:)=ZFLA(:,:)/XCOUNT ZWCL(:,:)=ZWCL(:,:)/XCOUNT ZWCI(:,:)=ZWCI(:,:)/XCOUNT ZMALB(:,:,:)=ZMALB(:,:,:)/XCOUNT DO I = 1, State_Grid%NX WRITE(991,981)(ZAOD25(I,J),J=1,State_Grid%NY) WRITE(992,981)(ZAOD75(I,J),J=1,State_Grid%NY) WRITE(993,981)(ZVIS(I,J),J=1,State_Grid%NY) WRITE(994,981)(THAZ(I,J),J=1,State_Grid%NY) WRITE(995,981)(TFOG(I,J),J=1,State_Grid%NY) DO J=1,State_Grid%NY ZAEEXT(I,J)=-LOG10(ZAOD(I,J)/ZAODOUT1(I,J)) & /LOG10(YWLS(KOUT2)/YWLS(KOUT1)) !WL(KOUT1)_WL(KOUT2) Angstrom Exponent ZAEABS(I,J)=-LOG10(ZAAOD(I,J)/ZAAODOUT1(I,J)) & /LOG10(YWLS(KOUT2)/YWLS(KOUT1)) !WL(KOUT1)_WL(KOUT2) Angstrom Exponent ZAEEXTOUT3(I,J)=-LOG10(ZAOD(I,J)/ZAODOUT3(I,J)) & /LOG10(YWLS(KOUT2)/YWLS(KOUT3)) !WL(KOUT3)_WL(KOUT2) Angstrom Exponent ZAEABSOUT3(I,J)=-LOG10(ZAAOD(I,J)/ZAAODOUT3(I,J)) & /LOG10(YWLS(KOUT2)/YWLS(KOUT3)) !WL(KOUT3)_WL(KOUT2) Angstrom Exponent ENDDO WRITE(996,981)(ZAODOUT1(I,J),J=1,State_Grid%NY) WRITE(997,981)(ZAAODOUT1(I,J),J=1,State_Grid%NY) WRITE(998,981)(ZAEEXT(I,J),J=1,State_Grid%NY) WRITE(999,981)(ZAEABS(I,J),J=1,State_Grid%NY) ENDDO !WRITE(686,REC=1)ZCLT !WRITE(687,REC=1)ZCLB !WRITE(688,REC=1)ZFUL !WRITE(689,REC=1)ZFDL !WRITE(690,REC=1)ZFLA WRITE(811,REC=1)ZAOD25 WRITE(812,REC=1)ZAOD50 WRITE(813,REC=1)ZAOD75 WRITE(814,REC=1)FAOD25 WRITE(815,REC=1)FAOD50 WRITE(816,REC=1)FAOD75 WRITE(821,REC=1)ZVIS WRITE(822,REC=1)THAZ WRITE(823,REC=1)TFOG WRITE(883,REC=1)ZCLDF WRITE(885,REC=1)ZALB WRITE(886,REC=1)ZCST WRITE(887,REC=1)ZCSB WRITE(888,REC=1)ZFST WRITE(588,REC=1)ZCLD WRITE(589,REC=1)ZCLD0 WRITE(889,REC=1)ZFSA WRITE(890,REC=1)ZAOD WRITE(590,REC=1)ZCOD WRITE(591,REC=1)ZCODGC WRITE(891,REC=1)ZAAOD WRITE(892,REC=1)ZABS WRITE(893,REC=1)ZFSB WRITE(894,REC=1)ZWCL WRITE(895,REC=1)ZWCI WRITE(896,REC=1)ZAODOUT1 WRITE(897,REC=1)ZAAODOUT1 WRITE(898,REC=1)ZAEEXT WRITE(899,REC=1)ZAEABS WRITE(796,REC=1)ZAODOUT3 WRITE(797,REC=1)ZAAODOUT3 WRITE(798,REC=1)ZAEEXTOUT3 WRITE(799,REC=1)ZAEABSOUT3 RECID=0 DO IWL=1,NBS RECID=RECID+1 WRITE(884,REC=RECID) (ZMALB(:,:,IWL)) ENDDO WRITE(1081,*)KYEAR, KMON-1 WRITE(1082,*)KYEAR, KMON-1 WRITE(1083,*)KYEAR, KMON-1 WRITE(1084,*)KYEAR, KMON-1 WRITE(1085,*)KYEAR, KMON-1 DO I = 1, State_Grid%NX WRITE(1081,981)(ZTCST(I,J,1)/XCOUNT,J=1,State_Grid%NY) WRITE(1082,981)(ZTCST(I,J,2)/XCOUNT,J=1,State_Grid%NY) WRITE(1083,981)(ZTCST(I,J,3)/XCOUNT,J=1,State_Grid%NY) WRITE(1084,981)(ZTCST(I,J,4)/XCOUNT,J=1,State_Grid%NY) WRITE(1085,981)(ZTCST(I,J,5)/XCOUNT,J=1,State_Grid%NY) ENDDO ZTAOD(:,:,:)=ZTAOD(:,:,:)/XCOUNT ZTCST(:,:,:)=ZTCST(:,:,:)/XCOUNT ZTCSB(:,:,:)=ZTCSB(:,:,:)/XCOUNT ZTFST(:,:,:)=ZTFST(:,:,:)/XCOUNT ZTFSB(:,:,:)=ZTFSB(:,:,:)/XCOUNT ZTFSA(:,:,:)=ZTFSA(:,:,:)/XCOUNT RECID=0 DO ITYP=1,NTYP RECID=RECID+1 WRITE(785,REC=RECID) (ZTAOD(:,:,ITYP)) WRITE(786,REC=RECID) (ZTCST(:,:,ITYP)) WRITE(787,REC=RECID) (ZTCSB(:,:,ITYP)) WRITE(788,REC=RECID) (ZTFST(:,:,ITYP)) WRITE(789,REC=RECID) (ZTFSA(:,:,ITYP)) WRITE(790,REC=RECID) (ZTFSB(:,:,ITYP)) ENDDO ! AREA weighted average ZFSTAVE = 0. ZCSTAVE = 0. ZCLDAVE = 0. ZCLD0AVE = 0. ZFSAAVE = 0. !ZFULAVE = 0. ! longwave ZTFSTAVE = 0. TAREA = 0. DO J = 1, State_Grid%NY YAREA = State_Grid%AREA_M2(1,J) DO I = 1, State_Grid%NX ZFSTAVE = ZFSTAVE + ZFST(I,J)*YAREA ZCSTAVE = ZCSTAVE + ZCST(I,J)*YAREA ZCLDAVE = ZCLDAVE + ZCLD(I,J)*YAREA ZCLD0AVE = ZCLD0AVE + ZCLD0(I,J)*YAREA ZFSAAVE = ZFSAAVE + ZFSA(I,J)*YAREA !ZFULAVE = ZFULAVE + ZFUL(I,J)*YAREA TAREA = TAREA + YAREA DO ITYP=1,NTYP ZTFSTAVE(ITYP)=ZTFSTAVE(ITYP)+ZTFST(I,J,ITYP)*YAREA ENDDO ENDDO ENDDO ZFSTAVE = ZFSTAVE/TAREA ZCSTAVE = ZCSTAVE/TAREA ZCLDAVE = ZCLDAVE/TAREA ZCLD0AVE = ZCLD0AVE/TAREA ZFSAAVE = ZFSAAVE/TAREA !ZFULAVE = ZFULAVE/TAREA DO ITYP=1,NTYP ZTFSTAVE(ITYP)=ZTFSTAVE(ITYP)/TAREA ENDDO WRITE(990,106)KYEAR, KMON, KDAY, ZCLDAVE,ZCLD0AVE, & ZFSTAVE,ZCSTAVE, ZFSAAVE, & (ZTFSTAVE(ITYP),ITYP=1,NTYP) 106 FORMAT(I4,I3,I3,2(1PE11.3),20(1PE10.2)) flush(990) !flush(1002) ZCLDF = 0. ZALB = 0. ZCST = 0. ZCSB = 0. ZFST = 0. ZCLD = 0. ZCLD0 = 0. ZFSB = 0. ZFSA = 0. ZAOD = 0. ZCOD = 0. ZCODGC = 0. ZAOD25 = 0. ZAOD50 = 0. ZAOD75 = 0. NAOD25 = 0 NAOD50 = 0 NAOD75 = 0 ZVIS = 0. THAZ = 0. TFOG = 0. ZAAOD = 0. ZABS = 0. !ZCLT = 0. !ZCLB = 0. !ZFUL = 0. !ZFDL = 0. !ZFLA = 0. ZWCL = 0. ZWCI = 0. ZTAOD = 0. ZTCST = 0. ZTCSB = 0. ZTFST = 0. ZTFSB = 0. ZTFSA = 0. 981 FORMAT(200(1PE9.1)) FLUSH(890) FLUSH(891) FLUSH(1001) END SUBROUTINE APM_RADFOUT !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: aeronum ! ! !DESCRIPTION: Subroutine AERONUM calculates aerosol number concentration ! based on the mass. !\\ !\\ ! !INTERFACE: ! SUBROUTINE AERONUM( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE APM_INIT_MOD, ONLY : APMIDS USE APM_INIT_MOD, ONLY : NGCOND USE APM_INIT_MOD, ONLY : NSO4 USE APM_INIT_MOD, ONLY : VDRY USE APM_INIT_MOD, ONLY : DENSULF USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Chm_Mod, ONLY : ChmState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REVISION HISTORY: ! 28 Aug 2008 - F. Yu - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I,J,L,N,SIZENUM REAL*8 :: XMATEMP ! Initialize RC = GC_SUCCESS XN4D = 0.D0 !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP SCHEDULE( DYNAMIC ) & !$OMP PRIVATE( I, J, L, N, SIZENUM, XMATEMP ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Should we put the N loop on the outside? DO N = 1, NSO4 SIZENUM =APMIDS%id_SO4BIN1+N-1 !Luodebug XMATEMP=State_Chm%Species(SIZENUM)%Conc(I,J,L) / State_Met%AIRVOL(I,J,L) XMATEMP= MAX( 1.d-40, XMATEMP) XN4D(I,J,L,N)=XMATEMP/(DENSULF*VDRY(N))*1.E-9 !XN4D in #/cm3, VDRY in m3 ENDDO ENDDO ENDDO ENDDO !$OMP END PARALLEL DO END SUBROUTINE AERONUM !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: apm3dqgeos ! ! !DESCRIPTION: Subroutine APM3DQGEOS ... !\\ !\\ ! !INTERFACE: ! SUBROUTINE APM3DQGEOS( Input_Opt, State_Grid, State_Met, IY ) ! ! !USES: ! USE PRESSURE_MOD, ONLY : GET_PCENTER USE PRESSURE_MOD, ONLY : GET_PEDGE USE APM_NUCL_MOD, ONLY : IONRATE0 USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !REVISION HISTORY: ! 17 Mar 2010 - F. Yu - Initial version ! 08 Nov 2010 - R. Yantosca - Added ProTeX headers ! 01 Mar 2012 - R. Yantosca - Now use GET_AREA_CM2(I,J,L) from grid_mod.F90 !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: IY INTEGER :: ISURF, I, J, L REAL*8 :: XLON,XLAT,YPR,YQ,YPSURF DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX YPSURF = GET_PEDGE(I,J,1) !surface P in mb IF( State_Met%IsWater(I,J) .or. State_Met%IsIce(I,J) ) THEN ISURF = 0 ELSE ISURF = 1 ENDIF DO L = 1, State_Grid%NZ XLON = State_Grid%XMid( I, J ) ! Grid box longitude [degrees] XLAT = State_Grid%YMid( I, J ) ! Grid box latitude center [degree] YPR = GET_PCENTER(I,J,L) ! in mb CALL IONRATE0(Input_Opt%CHEM_INPUTS_DIR, & IY,ISURF,YPSURF,XLON,XLAT,YPR,YQ) XQ3D(I,J,L)= YQ ENDDO ENDDO ENDDO END SUBROUTINE APM3DQGEOS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: apm3dq ! ! !DESCRIPTION: Function APM3DQ !\\ !\\ ! !INTERFACE: ! subroutine APM3DQ( IY, Input_Opt, State_Grid, State_Met ) ! ! !USES: ! USE PRESSURE_MOD, ONLY : GET_PCENTER USE TIME_MOD, ONLY : GET_YEAR, GET_MONTH USE APM_NUCL_MOD, ONLY : IONRATE USE State_Met_Mod, ONLY : MetState USE State_Grid_Mod, ONLY : GrdState USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: ISURF, I, J, L, IY, IYEAR, IMONTH REAL*8 :: XLON,XLAT,YPR,YQ IMONTH = GET_MONTH() IYEAR = GET_YEAR() ! IY = 0, current modeling year IF(IY.EQ.1) IYEAR = 1997 ! solar min, max Q IF(IY.EQ.-1) IYEAR = 1990 ! solar max, min Q write(6,*)"GCR IONIZATION: YEAR =", IYEAR, "Month = ",IMONTH DO J = 1, State_Grid%NY XLAT = State_Grid%YMID(1,J) ! Grid box latitude center [degree] DO I = 1, State_Grid%NX XLON = State_Grid%XMID(I,J) !Grid box longitude [degrees] IF( State_Met%IsWater(I,J) .or. State_Met%IsIce(I,J) ) THEN ISURF = 0 ELSE ISURF = 1 ENDIF DO L = 1, State_Grid%NZ YPR = GET_PCENTER(I,J,L) ! in mb CALL IONRATE(Input_Opt%CHEM_INPUTS_DIR, & ISURF,XLON,XLAT,YPR,IYEAR,IMONTH,YQ) XQ3D(I,J,L)= YQ ENDDO ENDDO ENDDO end subroutine APM3DQ !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ysitesij_gl ! ! !DESCRIPTION: Function YSITESIJ_GL !\\ !\\ ! !INTERFACE: ! subroutine YSITESIJ_GL( State_Grid ) ! ! !USES: ! USE APM_INIT_MOD, ONLY : MAXSITE,MSITE,ISITES,JSITES,IFSITEOUT USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER, PARAMETER :: MS = 47 REAL*8 :: ZLAT(MS),ZLON(MS), YLAT, XLON INTEGER :: NSITE, ISITE, JSITE ! CN10LT.dat ! 71.32 -156.6 231 !site1 Point Barrow ! 67.97 24.12 802 !site2 Pallas ! 67.77 29.58 823 !site3 Varri ! 61.85 24.28 2016 !site4 Hyytiala ! 59.78 21.38 2921 !site5 Uto ! 58.77 17.4 2567 !site6 Aspvreten ! 53.33 -9.9 1907 !site7 Mace Head ! 51.5 12.9 4664 !site8 Melpitz ! 43.9 -60 869 !site9 Stable Island ! 43.11 -70.95 7039 !site10 Thomson Farm ! 41.05 -124.15 918 !site11 Trinidad Head ! 40.1 -88.3 5038 !site12 Bondville ! 36.8 -97.5 5064 !site13 SGP ! -14.24 -170.57 270 !site14 American Samoa ! -25.54 25.75 2340 !site15 Botsalano, South Africa ! -35.66 148.15 1800 !site16 Bago State forest, Australia ! -40.682 144.688 1203.00 !site17 Cape Grim ! -70.65 -8.25 324 !site18 Neumayer ! -89.98 -24.8 156 !site19 South Pole ! 29.44 79.62 2730 !site20 Mukteshwar, India ! 36.28 100.9 2030 !site21 Mount Waliguan, China ! ! CN10MT.dat ! 47.6 8 803 !site22 Jungfraujoch ! 27.96 86.82 900 !site23 Pyramid ! 19.54 -155.58 363 !site24 Mauna Loa ! ! Asian cities ! Urumqi China 43.83 87.62 !site25 ! Shenyang China 41.81 123.43 !site26 ! Beijing China 39.91 116.41 !site27 ! Taiyuan China 37.87 112.55 !site28 ! Seoul Korea 37.57 126.98 !site29 ! Anmyeon-do Korea 36.37 126.32 !site30 ! Lanzhou China 36.06 103.83 !site31 ! Tokoyo Japan 35.69 139.69 !site32 ! Shirahama Japan 33.66 135.38 !site33 ! Shanghai China 31.23 121.47 !site34 ! Chengdu China 30.66 104.07 !site35 ! Wuhan China 30.59 114.31 !site36 ! Lhasa China 29.65 91.14 !site37 ! New Delhi India 28.64 77.22 !site38 ! Taipei China 25.09 121.56 !site39 ! Kunming China 25.04 102.72 !site40 ! Guangzhou China 23.13 113.26 !site41 ! ! AERONET -- Amazon ! Alta_Floresta -9.87 -56.10 !site42 ! Ji_Parana_SE -10.93 -61.85 !site43 ! CUIABA-MIRANDA -15.73 -56.02 !site44 ! Campo_Grande_SONDA -20.43 -54.53 !site45 ! Sao_Paulo -23.56 -46.73 !site46 ! !Cordoba-CETT -31.52 -64.45 !site47 --> 3., 93.0 for IRF output DATA ZLAT/71.32, 67.97,67.77,61.85, 59.78, 58.77, 53.33,51.5, & 43.9, 43.11, 41.05, 40.1, 36.8, -14.24,-25.54,-35.66, & -40.68,-70.65,-89.98,29.44,36.28,47.6,27.96,19.54, & 43.83,41.81,39.91,37.87,37.57,36.37,36.06,35.69, & 33.66,31.23,30.66,30.59,29.65,28.64,25.09,25.04,23.13, & -9.87,-10.93,-15.73,-20.43,-23.56,3.0/ DATA ZLON/-156.6,24.12,29.58,24.28,21.38,17.40, -9.9,12.9, & -60.0,-70.95,-124.15,-88.3,-97.5,-170.57, 25.75,148.15, & 144.69, -8.25, -24.80,79.62,100.9,8.0,86.82,-155.58, & 87.62,123.43,116.41,112.55,126.98,126.32,103.83,139.69, & 135.38,121.47,104.07,114.31,91.14,77.22,121.56,102.72,113.26, & -56.10,-61.85,-56.02,-54.53,-46.73,93.0/ MSITE = MS IF(MSITE.GT.MAXSITE) THEN WRITE(6,*)"MSITE>MAXSITE; NEED TO CHECK",MSITE,MAXSITE STOP ENDIF ISITES = 0 JSITES = 0 DO NSITE = 1, MSITE YLAT = ZLAT(NSITE) XLON = ZLON(NSITE) CALL SITEIJ(NSITE,XLON, YLAT,ISITE,JSITE,State_Grid) ISITES(NSITE) = ISITE JSITES(NSITE) = JSITE ENDDO ! output at selected sites IFSITEOUT = 0 IFOUTIJ = 0 SITEID = 0 DO NSITE=1,MSITE IF(NSITE.EQ.4.or.NSITE.EQ.13.or.NSITE.EQ.27) THEN !Hyytiala,SGP,Beijing !IF(NSITE.GE.45) THEN !No sites !IF(NSITE.EQ.1.or.NSITE.EQ.2.or.NSITE.EQ.4.or. & ! NSITE.EQ.7.or.NSITE.EQ.8.or.NSITE.EQ.13.or. & ! NSITE.EQ.15.or.NSITE.EQ.16.or.NSITE.EQ.18.or. & ! NSITE.EQ.20.or.NSITE.EQ.21.or.NSITE.EQ.27.or. & ! NSITE.EQ.34.or.NSITE.EQ.35.or.NSITE.EQ.36.or. & ! NSITE.GE.41) THEN !IF(NSITE.GE.2.and.NSITE.LE.8) THEN IFSITEOUT(NSITE) = 1 ISITE = ISITES(NSITE) JSITE = JSITES(NSITE) IFOUTIJ(ISITE,JSITE)=1 SITEID(ISITE,JSITE)=NSITE ENDIF ENDDO WRITE(6,*)"SITE LOCATION AND ID" DO NSITE = 1, MSITE WRITE(6,25)NSITE,ZLAT(NSITE),ZLON(NSITE), & ISITES(NSITE),JSITES(NSITE),IFSITEOUT(NSITE) ENDDO 25 FORMAT(I3,F8.2,F8.2,I4,I4,I2) end subroutine YSITESIJ_GL !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ysitesij_gl1 ! ! !DESCRIPTION: Function YSITESIJ_GL1 !\\ !\\ ! !INTERFACE: ! subroutine YSITESIJ_GL1( State_Grid ) ! ! !USES: ! USE APM_INIT_MOD, ONLY : MAXSITE,MSITE,ISITES,JSITES,IFSITEOUT USE APM_INIT_MOD, ONLY : IFSITE USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER, PARAMETER :: MS = 58 REAL*8 :: ZLAT(MS),ZLON(MS), YLAT, XLON INTEGER :: NSITE, ISITE, JSITE ! For size distributions ! site1 Point Barrow (71.32, -156.6 ) 231 m asl ! site2 Neumayer (-70.65, -8.25) ! site3 Troll (-72.02, 2.53) ! site4 Hyytiala (61.85, 24.28) ! ! EPA sopersites !site5 New York (40.7144,-74.01) !site6 Atlanta, Georgia (33.75, -84.39) !site7 Baltimore, Maryland (39.29, -76.61) !site8 Pittsburgh, Pennsylvania (40.44, -80.0 ) !!site9 Houston, Texas (29.76, -95.38) ! ! Other sites !site9 APP, NC (36.213, -81.692) !site10 EGB, Canada (44.23, -79.783) !site11 DukeForest (36.0, -79.08 ) !site12 Kent, Ohio (41.15, -81.36 ) !site13 SGP (36.8 -97.5) !site14 Pinnacle State Park (42.10, -77.21) !site15 Whiteface Mtn (44.4, -73.9) !Site16 SPL (40.46 , -106.744 ) 3210 m asl !!site17 Boulder (40.02, -105.27) !site17 MMSF,Indiana (39.32, -86.42) !site18 Rochester (43.16, -77.61) ! !site19 Manacapara, Brazil (-3.21, -60.60) !site20 CUIABA-MIRANDA -15.73 -56.02 !site21 Sao_Paulo -23.56 -46.73 !site22 Melpitz (51.5 12.9 ) !site23 MexicoCity (19.43, -99.13) !site24 Shanghai China 31.23 121.47 !site25 Wuhan China 30.59 114.31 !site26 Chongqing China 29.57 106.52 !site27 Zhengzhou China 34.77 113.62 !site28 Beijing China 39.91 116.41 !site28 Wuqing (39.39, 117.01) (same grid box as Beijing) !site29 UMBS (45.56N, 84.72W) !site30 NAAMES1 (35N, 40W) !!site30 JINAN (36.67N, 116.95E) !site31 NAAMES2 (46N, 40W) !site32 NAAMES3 (57N, 40W) !!site32 Huangshan (30.17N, 118.15E) !site33 LLN (23.47, 120.87 ) !!site34 Chacaltaya (-16.35, -68.13 ) !site34 Chacaltaya (-16.20, -68.10 ) !site35 Puy de Dome (45.767N, 2.966E,1465m) ! !site36 Trinidad Head (41.05, -124.15) !site37 Sacramento, CA (38.645,-121.34) !site38 Los Angeles, California (34.05, -118.24) !site39 Bondville (40.1, -88.3 ) !site40 Ozarks forest site (38.74, -92.2 ) !site41 Brent,AL (32.94, -87.16) ! !site42 CPR (Cape San Juan), PR (18.48, -66.13) !site43 Aboa (-73.05, -13.41) !Site44 Port-aux-Français (-49.35, 70.219),French Southern and Antarctic Lands !Site45 Gual Pahari, India (28.43 , 77.15) !SIte46 Nepal Cli Obs (27.96, 86.81) !site47 GuangzhouChina (23.13, 113.26) !Site48 Taipei (25.09, 121.56) !Site49 Anmyeon-do, South Korea (36.54, 126.33) !Site50 DEM_Athens (37.99, 23.82) !Site51 Izana (28.31, -16.50) !Site52 Zeppelin mountain (78.91, 11.89) ! !Site53 Ascension Island (-7.97, -14.35) !Site54 GRW Graciosa Island, Azores, Portugal (39.09, -28.025) !Site55 SMO American Samoa (-14.24, -170.57) !Site56 CGO Cape Grim (-40.682, 144.688) !Site57 Chuuk, FSM (7.44, 151.86) !site58 Albany, NY (42.65, -73.76) ! CPT? ! MLO ! ALT DATA ZLAT/71.32,-70.65,-72.02,61.85,40.71,33.75,39.29,40.44, & !29.76,34.05,36.0,41.15,36.8,42.10,44.4,40.46, & 36.213,44.23,36.0,41.15,36.8,42.10,44.4,40.46, & 39.32,43.16,-3.21,-15.73,-23.56,51.5,19.43,31.23, & !30.59,29.57,34.77,39.91,23.13/ & 30.59,29.57,34.77,39.91,45.56,35.,46.,57., & !30.59,29.57,34.77,39.91,45.56,36.67,46.,30.17, & 23.47,-16.20,45.767,41.05,38.645,34.05,40.1, & 38.74,32.94,18.48,-73.05,-49.35,28.43,27.96, & 23.13,25.09,36.54,37.99,28.31,78.91, & -7.97,39.09,-14.24,-40.682,7.44,42.65/ DATA ZLON/-156.6,-8.25,2.53,24.28,-74.01,-84.39,-76.61,-80.0, & !-95.38,-118.24,-79.08,-81.36,-97.5,-77.21,-73.9,-106.744, & -81.692,-79.783,-79.08,-81.36,-97.5,-77.21,-73.9,-106.744, & -86.42,-77.61, -60.6,-56.02,-46.73,12.9,-99.13,121.47, & !114.31,106.52,113.62,116.41,113.26/ & 114.31,106.52,113.62,116.41,-84.72,-40.,-40.,-40., & !114.31,106.52,113.62,116.41,-84.72,116.95,-40.,118.15, & 120.87,-68.10,2.966,-124.15,-121.34,-118.24,-88.3,-92.2, & -87.16,-66.13,-13.41,70.219,77.15,86.81,113.26,121.56, & 126.33,23.82,-16.50,11.89, & -14.35,-28.025,-170.57,144.688,151.86,-73.76/ MSITE = MS IF(MSITE.GT.MAXSITE) THEN WRITE(6,*)"MSITE>MAXSITE; NEED TO CHECK",MSITE,MAXSITE STOP ENDIF ISITES = 0 JSITES = 0 DO NSITE = 1, MSITE YLAT = ZLAT(NSITE) XLON = ZLON(NSITE) CALL SITEIJ(NSITE,XLON, YLAT,ISITE,JSITE,State_Grid) ISITES(NSITE) = ISITE JSITES(NSITE) = JSITE ENDDO ! output at selected sites IFSITEOUT = 0 IFOUTIJ = 0 SITEID = 0 DO NSITE=1,MSITE IF(IFSITE.EQ.73) THEN ! only output 3 sites IF(NSITE.EQ.4.or.NSITE.EQ.13.or.NSITE.EQ.27) THEN !Hyytiala,SGP, BJ IFSITEOUT(NSITE) = 1 ISITE = ISITES(NSITE) JSITE = JSITES(NSITE) IFOUTIJ(ISITE,JSITE)=1 SITEID(ISITE,JSITE)=NSITE ENDIF !ELSE ! all sites ELSEIF((NSITE.GE.1.and.NSITE.LE.5).or.NSITE.EQ.7.or.NSITE.EQ.9 & .or.(NSITE.GE.12.and.NSITE.LE.22).or.NSITE.EQ.24 & .or. NSITE.EQ.28.or.(NSITE.GE.30.and.NSITE.LE.38) & .or.(NSITE.GE.41.and.NSITE.LE.58)) THEN IFSITEOUT(NSITE) = 1 ISITE = ISITES(NSITE) JSITE = JSITES(NSITE) IFOUTIJ(ISITE,JSITE)=1 SITEID(ISITE,JSITE)=NSITE ENDIF ENDDO WRITE(6,*)"SITE LOCATION AND ID" DO NSITE = 1, MSITE WRITE(6,25)NSITE,ZLAT(NSITE),ZLON(NSITE), & ISITES(NSITE),JSITES(NSITE),IFSITEOUT(NSITE) ENDDO 25 FORMAT(I3,F8.2,F8.2,I4,I4,I2) end subroutine YSITESIJ_GL1 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ysitesij_ac ! ! !DESCRIPTION: Function YSITESIJ_AC !\\ !\\ ! !INTERFACE: ! subroutine YSITESIJ_AC( State_Grid ) ! ! !USES: ! USE APM_INIT_MOD, ONLY : MAXSITE,MSITE,ISITES,JSITES,IFSITEOUT USE APM_INIT_MOD, ONLY : IFSITE USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER, PARAMETER :: MS = 47 REAL*8 :: ZLAT(MS),ZLON(MS), YLAT, XLON INTEGER :: NSITE, ISITE, JSITE ! From AEROCOM_diagnostics_091024.xls !STATIONID Station Name Lat Lon Height asl Sampling Height Mean Pressure Country !1 Alert 82.450 -62.517 210.0 10.0 988.3 US !2 Aspvreten 58.800 17.380 20.0 -999.9 1010.9 SE !3 Auchencorth 55.800 -3.283 255.0 10.0 -999.9 UK !4 Barrow 71.323 -156.612 11.0 10.0 1012.3 US !5 Birkenes 58.383 8.250 190.0 5.0 990.7 NO !6 Bondville 40.050 -88.367 213.0 10.0 987.9 US !7 Cabauw 51.971 4.927 60.0 -999.9 1013.0 NL !8 Cape Grim -40.682 144.688 94.0 10.0 1002.0 AS !9 Cape Point -34.353 18.490 230.0 3.0 988.4 SA !10 Elandsfontein -25.533 25.750 1424.0 10.0 -999.9 SA !11 Finokalia 35.333 25.670 250.0 2.0 990.7 GR ! Gual Pahari IN !12 Harwell 51.608 -1.288 60.0 -999.9 1003.7 UK !13 Hohenpeissenberg 47.800 11.017 985.0 10.0 900.4 DE !14 Hyytiä 61.850 24.283 181.0 2.0 991.7 FI !15 Ispra 45.803 8.627 209.0 3.5 988.4 IT !16 Izana 28.309 -16.499 2373.0 8.0 759.4 ES !17 Jungfraujoch 46.548 7.987 3580.0 1.8 650.9 CH !18 Kosetice 49.583 15.083 534.0 -999.9 950.7 CR !19 K-Puszta 49.967 19.583 125.0 -999.9 998.3 HU !20 Mace Head 53.326 -9.899 5.0 10.0 1012.7 IR !21 Manaus -2.583 60.200 100.0 40.0 -999.9 BR !22 Mauna Loa 19.539 -155.578 3397.0 12.2 666.4 US !23 Melpitz 51.533 12.900 87.0 -999.9 1002.9 DE !24 Monte Cimone 44.167 10.683 2165.0 5.0 778.8 IT !25 Mount Waliguan 36.283 100.900 3810.0 -999.9 631.8 PRC !26 Neumayer -70.650 -8.250 42.0 7.5 1008.2 AQ !27 Pallas 67.974 24.116 560.0 7.0 948.0 FI !28 Payerne 46.817 6.950 490.0 -999.9 955.8 CH !29 Preila 55.210 21.040 5.0 -999.9 1012.9 LI !30 Puy de Dome 45.767 2.966 1465.0 12.0 849.2 FR !31 Sable Island 43.933 -60.017 4.0 10.0 1012.8 CA !32 Samoa -14.232 -170.563 77.0 15.5 1008.2 US !33 Shang Dianzi 40.390 117.070 294.0 -999.9 978.4 PRC !34 Sonnblick 47.054 12.959 3106.0 -999.9 691.7 AU !35 South Pole -89.997 -24.800 2841.0 13.3 715.4 AQ !36 Southern Great Plains 36.617 -97.500 320.0 10.0 975.4 US !37 Summit 72.580 -38.480 3238.0 -999.9 680.1 DK !38 Tahkuse 58.520 24.940 23.0 -999.9 1010.5 ET !39 Trinidad Head 41.050 -124.150 107.0 10.0 1000.5 US !40 Vavihill 56.017 13.150 172.0 5.0 992.8 SE !41 Zeppelin 78.908 11.881 474.0 7.0 947.8 NO !42 Zugspitze 47.417 10.983 2650.0 1.5 704.7 DE !43 Illmitz 47.767 16.767 117.0 Austra !44 Lille Valby 55.683 12.117 20.0 Denmark !45 Montseny 41.767 2.350 700.0 Spain !46 Backgarden 23.540 113.060 China !47 Cape San Juan 18.381 -65.618 65.0 USA DATA ZLAT/82.450, 58.800, 55.800, 71.323, 58.383, 40.050, & 51.971, -40.682, -34.353, -25.533, 35.333, 51.608, & 47.800, 61.850, 45.803, 28.309, 46.548, 49.583, & 49.967, 53.326, -2.583, 19.539, 51.533, 44.167, & 36.283, -70.650, 67.974, 46.817, 55.210, 45.767, & 43.933, -14.232, 40.390, 47.054, -89.997, 36.617, & 72.580, 58.520, 41.050, 56.017, 78.908, 47.417, & 47.767, 55.683, 41.767, 23.540, 18.381/ DATA ZLON/-62.517, 17.380, -3.283, -156.612, 8.250, -88.367, & 4.927, 144.688, 18.490, 25.750, 25.670, -1.288, & 11.017, 24.283, 8.627, -16.499, 7.987, 15.083, & 19.583, -9.899, 60.200, -155.578, 12.900, 10.683, & 100.900, -8.250, 24.116, 6.950, 21.040, 2.966, & -60.017, -170.563, 117.070, 12.959, -24.800, -97.500, & -38.480, 24.940, -124.150, 13.150, 11.881, 10.983, & 16.767, 12.117, 2.350, 113.060, -65.618/ MSITE = MS IF(MSITE.GT.MAXSITE) THEN WRITE(6,*)"MSITE>MAXSITE; NEED TO CHECK",MSITE,MAXSITE STOP ENDIF ISITES = 0 JSITES = 0 DO NSITE = 1, MSITE YLAT = ZLAT(NSITE) XLON = ZLON(NSITE) CALL SITEIJ(NSITE,XLON, YLAT,ISITE,JSITE,State_Grid) ISITES(NSITE) = ISITE JSITES(NSITE) = JSITE ENDDO ! output at selected sites IFSITEOUT = 0 IFOUTIJ = 0 SITEID = 0 DO NSITE=1,MSITE IFSITEOUT(NSITE) = 1 ISITE = ISITES(NSITE) JSITE = JSITES(NSITE) IFOUTIJ(ISITE,JSITE)=1 SITEID(ISITE,JSITE)=NSITE ENDDO WRITE(6,*)"SITE LOCATION AND ID" DO NSITE = 1, MSITE WRITE(6,25)NSITE,ZLAT(NSITE),ZLON(NSITE), & ISITES(NSITE),JSITES(NSITE),IFSITEOUT(NSITE) ENDDO 25 FORMAT(I3,F8.2,F8.2,I4,I4,I2) end subroutine YSITESIJ_AC !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ysitesij_bacchus ! ! !DESCRIPTION: Function YSITESIJ_BACCHUS !\\ !\\ ! !INTERFACE: ! subroutine YSITESIJ_BACCHUS( State_Grid ) ! ! !USES: ! USE APM_INIT_MOD, ONLY : MAXSITE,MSITE,ISITES,JSITES,IFSITEOUT USE APM_INIT_MOD, ONLY : IFSITE USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! !INTEGER, PARAMETER :: MS = 25 INTEGER, PARAMETER :: MS = 18 REAL*8 :: ZLAT(MS),ZLON(MS), YLAT, XLON INTEGER :: NSITE, ISITE, JSITE ! BACCHUS sites !51.95 4.93 !site1 Cabauw !35.33 25.67 !site2 Finokalia !46.53 7.98 !site3 Jungfraujoch !53.33 -9.9 !site4 Mace Head !51.54 12.93 !site5 Melpitz !37.75 137.60 !site6 NotoPeninsula !45.7 3.22 !site7 Puy de Dome !61.85 24.28 !site8 Hyytiala !56.02 13.15 !site9 Vavihill ! ! Other sites !site10 Bondville (40.050, -88.367 213.0 10.0 987.9 US) !site11 SGP (36.8 -97.5) !site12 Shanghai China 31.23 121.47 !site13 Beijing China 39.91 116.41 !site14 Pinnacle State Park (42.10, -77.21) !site15 Chacaltaya (-16.35, -68.13 ) !Site16 SPL (40.46 , -106.744 ) 3210 m asl !site17 LLN (23.47, 120.87 ) !site18 Rochester (43.16, -77.61) DATA ZLAT/51.95,35.33,46.53,53.33,51.54,37.75, & 45.70,61.85,56.02,40.05,36.80,31.23, & 39.91,42.10,-16.35,40.46,23.47,43.16/ DATA ZLON/4.93,25.67,7.98,-9.9,12.93,137.60, & 3.22,24.28,13.15,-88.367,-97.5,121.47, & 116.41,-77.21,-68.13,-106.744,120.87,-77.61/ MSITE = MS IF(MSITE.GT.MAXSITE) THEN WRITE(6,*)"MSITE>MAXSITE; NEED TO CHECK",MSITE,MAXSITE STOP ENDIF ISITES = 0 JSITES = 0 DO NSITE = 1, MSITE YLAT = ZLAT(NSITE) XLON = ZLON(NSITE) CALL SITEIJ(NSITE,XLON, YLAT,ISITE,JSITE,State_Grid) ISITES(NSITE) = ISITE JSITES(NSITE) = JSITE ENDDO ! output at selected sites IFSITEOUT = 0 IFOUTIJ = 0 SITEID = 0 DO NSITE=1,MSITE !IF(NSITE.GT.MS) THEN !No sites IF(NSITE.LE.MS) THEN !All sites !IF(NSITE.EQ.1.or.NSITE.EQ.4.or.NSITE.EQ.8. & ! or.NSITE.EQ.10.or.NSITE.EQ.12. ! or.NSITE.EQ.23.or.NSITE.EQ.24) THEN !Selected sites IFSITEOUT(NSITE) = 1 ISITE = ISITES(NSITE) JSITE = JSITES(NSITE) IFOUTIJ(ISITE,JSITE)=1 SITEID(ISITE,JSITE)=NSITE ENDIF ENDDO WRITE(6,*)"SITE LOCATION AND ID" DO NSITE = 1, MSITE WRITE(6,25)NSITE,ZLAT(NSITE),ZLON(NSITE), & ISITES(NSITE),JSITES(NSITE),IFSITEOUT(NSITE) ENDDO 25 FORMAT(I3,F8.2,F8.2,I4,I4,I2) end subroutine YSITESIJ_BACCHUS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ysitesij_eu ! ! !DESCRIPTION: Function YSITESIJ_EU !\\ !\\ ! !INTERFACE: ! subroutine YSITESIJ_EU( State_Grid ) ! ! !USES: ! USE APM_INIT_MOD, ONLY : MAXSITE,MSITE,ISITES,JSITES,IFSITEOUT USE APM_INIT_MOD, ONLY : IFSITE USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! !INTEGER, PARAMETER :: MS = 25 INTEGER, PARAMETER :: MS = 24 REAL*8 :: ZLAT(MS),ZLON(MS), YLAT, XLON INTEGER :: NSITE, ISITE, JSITE ! EUCAARI sites ! !Measurement site Site Geographic Altitude Site classification Surroundings !acronym coordinates (m a.s.l.) !Pallas, Finland PAL 67580 N, 24070 E 560 high-elevation, remote continental boreal forest, tundra !Hyyti¨al¨a, Finland HTL 61500 N, 24180 E 182 rural continental, background homogeneous boreal forest !Vavihill, Sweden VHL 56010 N, 139090 E 172 rural background, continental deciduous forest, field !Mace Head, Ireland MHD 53190 N, 09530W 5 marine background, coastal Atlantic ocean, bare land !Cabauw, Netherlands CBW 51570 N, 04530 E 0 clean marine, rural polluted ocean, field, urban !Melpitz, Germany MPZ 51320 N, 12540 E 87 rural polluted, continental pasture, suburban !Hohenpeissenberg, Germany HPB 47480 N, 11000 E 980 high-elevation, backgorund forest, meadows !K-Puszta, Hungary KPO 4664580 N, 1907350 E 125 rural continental, background field, deciduous forest !Jungfraujoch, Switzerland JFJ 4664320 N, 07570 E 3580 high altitude, background mountain !Puy de Dome, France PDD 45420 N, 03130 E 1465 high-elevation, background forest, mountain !San Pietro Capofiume, Italy SPC 44370 N, 11400 E 11 rural polluted, continental field, suburban !Finokalia, Greece FKL 35200 N, 2567400 E 250 marine background, coastal Mediterranean sea, dust ! Additional sites for GUAN !Bosel rural lowland station 53.00° N, 7.97° E !Waldhof rural lowland station 52.80° N 10.76° E !Melpitz rural lowland station 51.54° N 12.93° E (this is actually your site 8) !Schauinsland rural mid-level mountain station 47.91° N 7.91° E !Hohenpeissenberg rural mid-level mountain station 47.80° N 11.00° E (this is actually your site 5) !Zugspitze Alpine mountain station 47.42° N 10.98° E !Kosetice rural station in the Czech Republic 49° 35''N 15° 05''E (sorry, degrees here only!) !67.97 24.12 !site1 Pallas !56.02 13.15 !site2 Vavihill !51.95 4.88 !site3 Cabauw !61.85 24.28 !site4 Hyytiala !47.8 11.0 !site5 Hohenpeissenberg !46.97 19.60 !site6 K-Puszta !53.33 -9.9 !site7 Mace Head !51.54 12.93 !site8 Melpitz !46.53 7.95 !site9 Jungfraujoch !45.7 3.22 !site10 Puy de Dome !44.62 11.67 !site11 San Pietro Capofiume, !35.33 25.67 !site12 Finokalia ! ! GUAN !50.0 7.97 !site13 Bosel !52.8 10.76 !site14 Waldhof !47.91 7.91 !site15 Schauinsland !47.42 10.98 !site16 Zugspitze !49.58 15.08 !site17 Kosetice ! EUSAAR !58.8, 17.38 !site 18 Aspvreten !58.38,8.25 !site 19 Birkenes !55.35,21.07 !site20 Preila !51.58,-1.32 !site21 Harwell !45.8, 8.63 !site 22 Ispra !44.18,10.7 !site23 Mt Cimone !42.17,23.58 !site24 BEO Moussala !52.80,10.76 !site21 Langenbrugge !repeat 14 DATA ZLAT/67.97,56.02,51.95,61.85,47.8,46.97, & 53.33,51.54,46.53,45.7,44.62,35.33, & 50.0,52.8,47.91,47.42,49.58, & 58.8,58.38,55.35,51.58,45.8,44.18,42.17/ DATA ZLON/24.12,13.15,4.88,24.28,11.0,19.60, & -9.9,12.93,7.95,3.22,11.67,25.67, & 7.97,10.76,7.91,10.98,15.08, & 17.38,8.25,21.07,-1.32,8.63,10.7,23.58/ MSITE = MS IF(MSITE.GT.MAXSITE) THEN WRITE(6,*)"MSITE>MAXSITE; NEED TO CHECK",MSITE,MAXSITE STOP ENDIF ISITES = 0 JSITES = 0 DO NSITE = 1, MSITE YLAT = ZLAT(NSITE) XLON = ZLON(NSITE) CALL SITEIJ(NSITE,XLON, YLAT,ISITE,JSITE,State_Grid) ISITES(NSITE) = ISITE JSITES(NSITE) = JSITE ENDDO ! output at selected sites IFSITEOUT = 0 IFOUTIJ = 0 SITEID = 0 DO NSITE=1,MSITE !IF(NSITE.GT.MS) THEN !No sites !IF(NSITE.LE.MS) THEN !All sites IF(NSITE.EQ.1.or.NSITE.EQ.4.or.NSITE.EQ.8. & .or.NSITE.EQ.10.or.NSITE.EQ.12. & .or.NSITE.EQ.23.or.NSITE.EQ.24) THEN !Selected sites IFSITEOUT(NSITE) = 1 ISITE = ISITES(NSITE) JSITE = JSITES(NSITE) IFOUTIJ(ISITE,JSITE)=1 SITEID(ISITE,JSITE)=NSITE ENDIF ENDDO WRITE(6,*)"SITE LOCATION AND ID" DO NSITE = 1, MSITE WRITE(6,25)NSITE,ZLAT(NSITE),ZLON(NSITE), & ISITES(NSITE),JSITES(NSITE),IFSITEOUT(NSITE) ENDDO 25 FORMAT(I3,F8.2,F8.2,I4,I4,I2) end subroutine YSITESIJ_EU !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ysitesij_ch ! ! !DESCRIPTION: Function YSITESIJ_CH !\\ !\\ ! !INTERFACE: ! subroutine YSITESIJ_CH( State_Grid ) ! ! !USES: ! USE APM_INIT_MOD, ONLY : MAXSITE,MSITE,ISITES,JSITES,IFSITEOUT USE APM_INIT_MOD, ONLY : IFSITE USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER, PARAMETER :: MS = 32 REAL*8 :: ZLAT(MS),ZLON(MS), YLAT, XLON INTEGER :: NSITE, ISITE, JSITE !Lat Lon Altitude !CN10LT.dat !36.28 100.9 !Mount Waliguan, China !site1 !29.44 79.62 !Mukteshwar, India !site2 !27.96 86.82 5079 !Pyramid, Himalayan Nepal !site3 !Other sites !40.65 117.12 !Shang dian Zi of Beijing !site4 !32.56 116.78 22.7 !DOE AMF Deployment, Shouxian, China !site5 !28.43 77.156 243 !Gual Pahari, India (EUSSAR) !site6 !28.6629,79.2563 2000 !Nainital, India (DOE AMF 2011) !site7 ! Asia cities !Urumqi China 43.83 87.62 !site8 !Shenyang China 41.81 123.43 !site9 !Beijing China 39.91 116.41 !site10 !TaiyuanChina 37.87 112.55 !site11 !Seoul Korean 37.57 126.98 !site12 !Anmyeon-doKorea36.37 126.32 !site13 !Lanzhou China 36.06 103.83 !site14 !Tokoyo Japan 35.69 139.69 !site15 !ShirahamaJapan 33.66 135.38 !site16 !Shanghai China 31.23 121.47 !site17 !Chengdu China 30.66 104.07 !site18 !Wuhan China 30.59 114.31 !site19 !Lhasa China 29.65 91.14 !site20 !(New DelhiIndia 28.64 77.22 !site21 -- same as site 6) !Taipei China 25.09 121.56 !site21 !Kunming China 25.04 102.72 !site22 !GuangzhouChina 23.13 113.26 !site23 ! !Wuqing 39.39, 117.01 !site24 !Nanjing 32.06, 118.80 !site25 !Hongzhou 30.27, 120.16 !site26 !Hefei 31.82, 117.23 !site27 !Xian 34.34, 108.94 !site28 !Jinan 36.65, 117.12 !site29 !Shijiazhuang 38.04, 114.51 !site30 !Changsha 28.23, 112.94 !site31 !LLN 23.47, 120.87 !site32 ! DATA ZLAT/36.28,29.44,27.96,40.65,32.56,28.43,28.663, & 43.83,41.81,39.91,37.87,37.57,36.37,36.06,35.69, & !33.66,31.23,30.66,30.59,29.65,28.64,25.09,25.04,23.13/ 33.66,31.23,30.66,30.59,29.65,25.09,25.04,23.13, & 39.39,32.06,30.27,31.82,34.34,36.65,38.04,28.23,23.47/ DATA ZLON/100.9,79.62,86.82,117.12,116.78,77.156,79.256, & 87.62,123.43,116.41,112.55,126.98,126.32,103.83,139.69, & !135.38,121.47,104.07,114.31,91.14,77.22,121.56,102.72,113.26/ 135.38,121.47,104.07,114.31,91.14,121.56,102.72,113.26, & 117.01,118.80,120.16,117.23,108.94,117.12,114.51,112.94,120.87/ MSITE = MS IF(MSITE.GT.MAXSITE) THEN WRITE(6,*)"MSITE>MAXSITE; NEED TO CHECK",MSITE,MAXSITE STOP ENDIF ISITES = 0 JSITES = 0 DO NSITE = 1, MSITE YLAT = ZLAT(NSITE) XLON = ZLON(NSITE) CALL SITEIJ(NSITE,XLON, YLAT,ISITE,JSITE,State_Grid) ISITES(NSITE) = ISITE JSITES(NSITE) = JSITE ENDDO ! output at selected sites IFSITEOUT = 0 IFOUTIJ = 0 SITEID = 0 DO NSITE=1,MSITE !IF(NSITE.EQ.4.or.NSITE.EQ.13) THEN !Hyytiala,SGP !IF(NSITE.GE.45) THEN !No sites !IF(NSITE.EQ.1.or.NSITE.EQ.2.or.NSITE.EQ.4.or. & ! NSITE.EQ.7.or.NSITE.EQ.8.or.NSITE.EQ.13.or. & ! NSITE.EQ.15.or.NSITE.EQ.16.or.NSITE.EQ.18.or. & ! NSITE.EQ.20.or.NSITE.EQ.21.or.NSITE.EQ.27.or. & ! NSITE.EQ.34.or.NSITE.EQ.35.or.NSITE.EQ.36.or. & ! NSITE.EQ.41) THEN IF(NSITE.GE.1.and.NSITE.LE.MS) THEN IFSITEOUT(NSITE) = 1 ISITE = ISITES(NSITE) JSITE = JSITES(NSITE) IFOUTIJ(ISITE,JSITE)=1 SITEID(ISITE,JSITE)=NSITE ENDIF ENDDO WRITE(6,*)"SITE LOCATION AND ID" DO NSITE = 1, MSITE WRITE(6,25)NSITE,ZLAT(NSITE),ZLON(NSITE), & ISITES(NSITE),JSITES(NSITE),IFSITEOUT(NSITE) ENDDO 25 FORMAT(I3,F8.2,F8.2,I4,I4,I2) end subroutine YSITESIJ_CH !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ysitesij_ch1 ! ! !DESCRIPTION: Function YSITESIJ_CH1 !\\ !\\ ! !INTERFACE: ! subroutine YSITESIJ_CH1( State_Grid ) ! ! !USES: ! USE APM_INIT_MOD, ONLY : MAXSITE,MSITE,ISITES,JSITES,IFSITEOUT USE APM_INIT_MOD, ONLY : IFSITE USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER, PARAMETER :: MS = 38 REAL*8 :: ZLAT(MS),ZLON(MS), YLAT, XLON INTEGER :: NSITE, ISITE, JSITE !Lat Lon Altitude !CN10LT.dat !36.28 100.9 !Mount Waliguan, China !site1 !29.44 79.62 !Mukteshwar, India !site2 !27.96 86.82 5079 !Pyramid, Himalayan Nepal !site3 !Other sites !40.65 117.12 !Shang dian Zi of Beijing !site4 !32.56 116.78 22.7 !DOE AMF Deployment, Shouxian, China !site5 !28.43 77.156 243 !Gual Pahari, India (EUSSAR) !site6 !28.6629,79.2563 2000 !Nainital, India (DOE AMF 2011) !site7 ! Asia cities !Urumqi China 43.83 87.62 !site8 !Shenyang China 41.81 123.43 !site9 !Beijing China 39.91 116.41 !site10 !TaiyuanChina 37.87 112.55 !site11 !Seoul Korean 37.57 126.98 !site12 !Anmyeon-doKorea36.37 126.32 !site13 !Lanzhou China 36.06 103.83 !site14 !Tokoyo Japan 35.69 139.69 !site15 !ShirahamaJapan 33.66 135.38 !site16 !Shanghai China 31.23 121.47 !site17 !Chengdu China 30.66 104.07 !site18 !Wuhan China 30.59 114.31 !site19 !Lhasa China 29.65 91.14 !site20 !(New DelhiIndia 28.64 77.22 !site21 -- same as site 6) !!Taipei 25.09 121.56 !site21 -- same as site 35 !Wufenshan 25.07 121.77 !site21 !Kunming China 25.04 102.72 !site22 !GuangzhouChina 23.13 113.26 !site23 ! !Wuqing 39.39, 117.01 !site24 !Nanjing 32.06, 118.80 !site25 !Hongzhou 30.27, 120.16 !site26 !Hefei 31.82, 117.23 !site27 !Xian 34.34, 108.94 !site28 !Jinan 36.65, 117.12 !site29 !Shijiazhuang 38.04, 114.51 !site30 !Changsha 28.23, 112.94 !site31 !LLN 23.47, 120.87 !site32 !Pengchyu 25.63, 122.07 !site33 !Fuguei Cape 25.30, 121.54 !site34 !NCU 24.97, 121.19 !site35 !HengChung 22.00, 120.71 !site36 !Donshan 20.71, 116.73 !site37 !Mt.Fuji(3776mASL) (35.36,138.73) !site38 DATA ZLAT/36.28,29.44,27.96,40.65,32.56,28.43,28.663, & 43.83,41.81,39.91,37.87,37.57,36.37,36.06,35.69, & !33.66,31.23,30.66,30.59,29.65,28.64,25.09,25.04,23.13/ !33.66,31.23,30.66,30.59,29.65,25.09,25.04,23.13, & 33.66,31.23,30.66,30.59,29.65,25.07,25.04,23.13, & 39.39,32.06,30.27,31.82,34.34,36.65,38.04,28.23,23.47, & 25.63, 25.30, 24.97, 22.00,20.71,35.36/ DATA ZLON/100.9,79.62,86.82,117.12,116.78,77.156,79.256, & 87.62,123.43,116.41,112.55,126.98,126.32,103.83,139.69, & !135.38,121.47,104.07,114.31,91.14,77.22,121.56,102.72,113.26/ !135.38,121.47,104.07,114.31,91.14,121.56,102.72,113.26, & 135.38,121.47,104.07,114.31,91.14,121.77,102.72,113.26, & 117.01,118.80,120.16,117.23,108.94,117.12,114.51,112.94,120.87, & 122.07,121.54,121.19,120.71,116.73,138.73/ MSITE = MS IF(MSITE.GT.MAXSITE) THEN WRITE(6,*)"MSITE>MAXSITE; NEED TO CHECK",MSITE,MAXSITE STOP ENDIF ISITES = 0 JSITES = 0 DO NSITE = 1, MSITE YLAT = ZLAT(NSITE) XLON = ZLON(NSITE) CALL SITEIJ(NSITE,XLON, YLAT,ISITE,JSITE,State_Grid) ISITES(NSITE) = ISITE JSITES(NSITE) = JSITE ENDDO ! output at selected sites IFSITEOUT = 0 IFOUTIJ = 0 SITEID = 0 DO NSITE=1,MSITE !IF(NSITE.EQ.4.or.NSITE.EQ.13) THEN !Hyytiala,SGP !IF(NSITE.GE.45) THEN !No sites !IF(NSITE.EQ.1.or.NSITE.EQ.2.or.NSITE.EQ.4.or. & ! NSITE.EQ.7.or.NSITE.EQ.8.or.NSITE.EQ.13.or. & ! NSITE.EQ.15.or.NSITE.EQ.16.or.NSITE.EQ.18.or. & ! NSITE.EQ.20.or.NSITE.EQ.21.or.NSITE.EQ.27.or. & ! NSITE.EQ.34.or.NSITE.EQ.35.or.NSITE.EQ.36.or. & ! NSITE.GE.32) THEN IF(NSITE.GE.1.and.NSITE.LE.MS) THEN IFSITEOUT(NSITE) = 1 ISITE = ISITES(NSITE) JSITE = JSITES(NSITE) IFOUTIJ(ISITE,JSITE)=1 SITEID(ISITE,JSITE)=NSITE ENDIF ENDDO WRITE(6,*)"SITE LOCATION AND ID" DO NSITE = 1, MSITE WRITE(6,25)NSITE,ZLAT(NSITE),ZLON(NSITE), & ISITES(NSITE),JSITES(NSITE),IFSITEOUT(NSITE) ENDDO 25 FORMAT(I3,F8.2,F8.2,I4,I4,I2) end subroutine YSITESIJ_CH1 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ysitesij_na ! ! !DESCRIPTION: Function YSITESIJ_NA !\\ !\\ ! !INTERFACE: ! subroutine YSITESIJ_NA( State_Grid ) ! ! !USES: ! USE APM_INIT_MOD, ONLY : MAXSITE,MSITE,ISITES,JSITES,IFSITEOUT USE APM_INIT_MOD, ONLY : IFSITE USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER, PARAMETER :: MS = 31 REAL*8 :: ZLAT(MS),ZLON(MS), YLAT, XLON INTEGER :: NSITE, ISITE, JSITE ! For size distributions !site1 Bondville (40.1, -88.3 ) !site2 Trinidad Head (41.05,-124.15 ) !site3 WHI (Whistler), Canada (50.01, -122.95) 2182 masl !site4 ETL (East Trout Lake), Canada (54.35, -104.99) 540 masl ! EPA sopersites !!site5 New York (40.7144, -74.01 ) !site5 Queens College, New York (40.74, -73.82 ) !site6 Atlanta, Georgia (33.75, -84.39) !!site7 Baltimore, Maryland (39.29, -76.61) !site7 HUBC, Baltimore, Maryland (39.05, -76.87) !site8 Pittsburgh, Pennsylvania (40.44, -80.0 ) !site9 APP, NC (36.213, -81.692) !site10 EGB, Canada (44.23, -79.783) ! Other sites !site11 DukeForest (36.0, -79.08) !site12 Kent, Ohio (41.15, -81.36 ) !site13 SGP (36.8 -97.5) !site14 Pinnacle State Park (42.10, -77.21) !site15 Whiteface Mtn (44.4, -73.9) !Site16 SPL (40.46 , -106.744 ) 3210 m asl !site17 MMSF,Indiana (39.32, -86.42) !site18 Rochester (43.16, -77.61) !site19 UMBS (45.56, -84.72) !site20 Boulder (40.02, -105.27) !site21 Albany, NY (42.65, -73.76) !site22 Sweet Briar College (37.56,-79.08) !site23 Brent,AL (32.94, -87.16) !site24 Houston, Texas (29.76, -95.38) !site25 Los Angeles, California (34.05, -118.24) !site26 MexicoCity (19.43, -99.13) !site27 Cool, CA (38.89, -120.97) !site28 Sacramento, CA (38.645, -121.34) !site29 Ozarks forest site (38.74, -92.2 ) !site30 Brooklaven, NY (40.87, -72.89 ) !site31 CPR (Cape San Juan), PR (18.48, -66.13) DATA ZLAT/40.1,41.05,50.01,54.35,40.74,33.75,39.05, & 40.44,36.213,44.23,36.0,41.15,36.8,42.10, & 44.4, 40.46,39.32,43.16,45.56,40.02,42.65, & 37.56,32.94,29.76,34.05,19.43,38.89,38.645, & 38.74,40.87,18.48/ DATA ZLON/-88.3,-124.15,-122.95,-104.99,-73.82,-84.39,-76.87, & -80.0,-81.692,-79.783,-79.08,-81.36,-97.5,-77.21, & -73.9,-106.744,-86.42,-77.61,-84.72,-105.27,-73.76, & -79.08,-87.16,-95.38,-118.24,-99.13,-120.97,-121.34, & -92.2,-72.89,-66.13/ MSITE = MS IF(MSITE.GT.MAXSITE) THEN WRITE(6,*)"MSITE>MAXSITE; NEED TO CHECK",MSITE,MAXSITE STOP ENDIF ISITES = 0 JSITES = 0 DO NSITE = 1, MSITE YLAT = ZLAT(NSITE) XLON = ZLON(NSITE) CALL SITEIJ(NSITE,XLON, YLAT,ISITE,JSITE,State_Grid) ISITES(NSITE) = ISITE JSITES(NSITE) = JSITE ENDDO ! output at selected sites IFSITEOUT = 0 IFOUTIJ = 0 SITEID = 0 DO NSITE=1,MSITE !IF(NSITE.EQ.4.or.NSITE.EQ.13.or.NSITE.EQ.27) THEN ! IFSITEOUT(NSITE) = 1 ISITE = ISITES(NSITE) JSITE = JSITES(NSITE) IFOUTIJ(ISITE,JSITE)=1 SITEID(ISITE,JSITE)=NSITE !ENDIF ENDDO WRITE(6,*)"SITE LOCATION AND ID" DO NSITE = 1, MSITE WRITE(6,25)NSITE,ZLAT(NSITE),ZLON(NSITE), & ISITES(NSITE),JSITES(NSITE),IFSITEOUT(NSITE) ENDDO 25 FORMAT(I3,F8.2,F8.2,I4,I4,I2) end subroutine YSITESIJ_NA !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ysitesij_aod_cn ! ! !DESCRIPTION: Function YSITESIJ_AOD_CN !\\ !\\ ! !INTERFACE: ! subroutine YSITESIJ_AOD_CN( State_Grid ) ! ! !USES: ! USE APM_INIT_MOD, ONLY : MAXSITE,MSITE,ISITES,JSITES,IFSITEOUT USE APM_INIT_MOD, ONLY : IFSITE USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER, PARAMETER :: MS = 100 REAL*8 :: ZLAT(MS),ZLON(MS), YLAT, XLON INTEGER :: NSITE, ISITE, JSITE ! Site info see C:\Users\yfq\Desktop\MyDocuments_Syn\Research\Data\AERONET\AOD_CN10_SITES.xls DATA ZLON/ -156.60, 24.28, 59.55, 37.51, 27.60, 20.79, 12.90, & -104.70, 2.21, 28.82, -116.99, 12.51, -122.22, -79.75, & 4.88, 104.42, -70.95, 76.98, 12.65, 123.43, -88.37, & -105.01, 116.38, -76.84, -7.91, -115.96, 54.27, -119.77, & -97.49, 34.26, 3.22, 104.14, 25.28, 113.62, 69.22, & -106.89, 58.68, 62.22, 135.36, 73.10, 44.23, -111.97, & 13.16, 37.13, 66.90, 120.22, -7.88, 46.08, 34.78, & 104.07, 114.31, 31.41, 47.52, 58.40, 79.52, -16.32, & 83.97, 86.81, 64.10, 75.81, 80.23, 84.13, 51.32, & 46.40, 67.03, 54.55, 58.28, 113.26, 72.63, 62.00, & 5.53, 39.77, -10.00, -155.58, -99.18, 73.81, -67.05, & 54.02, 47.10, -22.94, 15.00, -16.96, 2.66, -5.93, & 74.88, -1.40, 49.18, 4.34, -14.41, -56.10, 132.89, & -170.57, 23.15, -70.31, -46.73, 31.59, 139.35, -58.50, & 144.69, -8.25/ DATA ZLAT/ 71.32, 61.85, 57.04, 55.70, 53.92, 51.84, 51.50, & 50.28, 48.70, 47.00, 46.49, 45.31, 44.24, 44.23, & 43.93, 43.58, 43.11, 42.62, 41.84, 41.81, 40.05, & 40.05, 39.98, 38.99, 38.57, 38.50, 36.85, 36.79, & 36.61, 36.57, 36.32, 35.95, 35.33, 34.73, 34.55, & 34.35, 34.35, 34.22, 33.69, 33.62, 33.25, 33.07, & 32.67, 32.20, 32.10, 31.42, 31.21, 30.95, 30.86, & 30.66, 30.59, 30.12, 29.33, 29.10, 29.05, 28.48, & 28.15, 27.96, 26.97, 26.91, 26.51, 25.87, 25.20, & 24.91, 24.87, 24.25, 23.58, 23.13, 23.07, 23.00, & 22.79, 21.43, 20.00, 19.54, 19.33, 18.54, 17.97, & 17.67, 17.47, 16.73, 15.00, 14.39, 13.54, 13.28, & 12.92, 12.20, 11.28, 8.32, -7.98, -9.87, -12.66, & -14.24, -15.25, -18.47, -23.56, -24.99, -25.90, -34.57, & -40.68, -70.65/ MSITE = MS IF(MSITE.GT.MAXSITE) THEN WRITE(6,*)"MSITE>MAXSITE; NEED TO CHECK",MSITE,MAXSITE STOP ENDIF ISITES = 0 JSITES = 0 DO NSITE = 1, MSITE YLAT = ZLAT(NSITE) XLON = ZLON(NSITE) CALL SITEIJ(NSITE,XLON, YLAT,ISITE,JSITE,State_Grid) ISITES(NSITE) = ISITE JSITES(NSITE) = JSITE ENDDO ! output at selected sites IFSITEOUT = 0 IFOUTIJ = 0 SITEID = 0 DO NSITE=1,MSITE !IF(NSITE.EQ.1) THEN !SGP only IFSITEOUT(NSITE) = 1 ISITE = ISITES(NSITE) JSITE = JSITES(NSITE) IFOUTIJ(ISITE,JSITE)=1 SITEID(ISITE,JSITE)=NSITE !ENDIF ENDDO WRITE(6,*)"SITE LOCATION AND ID" DO NSITE = 1, MSITE WRITE(6,25)NSITE,ZLAT(NSITE),ZLON(NSITE), & ISITES(NSITE),JSITES(NSITE),IFSITEOUT(NSITE) ENDDO 25 FORMAT(I3,F8.2,F8.2,I4,I4,I2) end subroutine YSITESIJ_AOD_CN !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: siteij ! ! !DESCRIPTION: Function SITEIJ finds I, J index for specific site (F. YU, 05/2009) !\\ !\\ ! !INTERFACE: ! subroutine SITEIJ(NSITE,XLON, YLAT,ISITE,JSITE,State_Grid) ! ! !USES: ! USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: NSITE REAL*8, INTENT(IN) :: YLAT, XLON TYPE(GrdState), INTENT(IN) :: State_Grid ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: ISITE, JSITE !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES ! INTEGER :: I, J, IX, JY, L REAL*8 :: XEDGE1, XEDGE2, DLON1, YEDGE1, YEDGE2, DLAT1 XEDGE1 = State_Grid%XEDGE(2,1) XEDGE2 = State_Grid%XEDGE(3,1) DLON1 = State_Grid%DX YEDGE1 = State_Grid%YEDGE(1,2) YEDGE2 = State_Grid%YEDGE(1,3) DLAT1 = State_Grid%DY ISITE = INT((XLON-XEDGE1)/DLON1)+2 JSITE = INT((YLAT-YEDGE1)/DLAT1)+2 IF(ISITE.LT.1.or.ISITE.GT.State_Grid%NX.or.JSITE.LT.1 & .or.JSITE.GT.State_Grid%NY) THEN WRITE(6,*)"SITE location out of nested boundary" IF(ISITE.LT.1) ISITE = 1 IF(ISITE.GT.State_Grid%NX) ISITE = State_Grid%NX IF(JSITE.LT.1) JSITE = 1 IF(JSITE.GT.State_Grid%NY) JSITE = State_Grid%NY ENDIF !WRITE(900+NSITE,520)ISITE, JSITE, XLON, YLAT, WRITE(6,520)ISITE, JSITE, XLON, YLAT, & State_Grid%XEDGE(ISITE, JSITE), & State_Grid%XMID (ISITE, JSITE), & State_Grid%YEDGE(ISITE, JSITE), & State_Grid%YMID (ISITE, JSITE) 520 format(I4,I4,6F9.3, 10(1PE9.2)) END SUBROUTINE SITEIJ !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_local_time ! ! !DESCRIPTION: Function GET\_LOCAL\_TIME computes the local time and returns ! an array of points where the local time is between two user-defined limits. ! (bmy, 11/29/00, 12/10/08) !\\ !\\ ! !INTERFACE: ! SUBROUTINE GET_LOCAL_TIME( State_Grid ) ! ! !USES: ! USE TIME_MOD, ONLY : GET_LOCALTIME USE TIME_MOD, ONLY : GET_TS_DYN USE State_Grid_Mod, ONLY : GrdState ! ! ! INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! ! !REVISION HISTORY: ! 29 Nov 2000 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I REAL*8 :: LT, TS_DYN !================================================================= ! GET_LOCAL_TIME begins here! !================================================================= TS_DYN = GET_TS_DYN() TS_DYN = TS_DYN / 60e+0_fp GOOD = 0 DO I = 1, State_Grid%NX ! Get local time LT = GET_LOCALTIME( I, 1, 1, State_Grid ) - TS_DYN IF ( LT < 0 ) LT = LT + 24e+0_fp ! GOOD indicates which boxes have local times between HR1 and HR2 IF ( LT >= 13.d0 .and. LT <= 14.d0 ) THEN GOOD(I) = 1 ENDIF ENDDO END SUBROUTINE GET_LOCAL_TIME !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: get_oh ! ! !DESCRIPTION: Function GET\_OH returns OH from State\_Chm%Species%Conc ! (for coupled runs) or monthly mean OH (for offline runs). Imposes a diurnal ! variation on OH for offline simulations. (bmy, 12/16/02, 7/20/04) !\\ !\\ ! !INTERFACE: ! FUNCTION GET_OH( I, J, L, id_OH, Input_Opt, State_Chm, State_Met ) & RESULT( OH_MOLEC_CM3 ) ! ! !USES: ! USE ERROR_MOD, ONLY : ERROR_STOP USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_TS_CHEM ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I, J, L ! Lon, lat, level indices INTEGER, INTENT(IN) :: id_OH TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object ! ! !REVISION HISTORY: ! 16 Dec 2002 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) :: OH_MOLEC_CM3 !================================================================= ! GET_OH begins here! !================================================================= IF ( Input_Opt%ITS_A_FULLCHEM_SIM ) THEN !--------------------- ! Coupled simulation !--------------------- ! Take OH from State_Chm%Species%Conc [molec/cm3] ! OH is defined only in the chemistry grid IF ( State_Met%InChemGrid(I,J,L) ) THEN OH_MOLEC_CM3 = State_Chm%Species(id_OH)%Conc(I,J,L) ELSE OH_MOLEC_CM3 = 0e+0_fp ENDIF ELSE IF ( Input_Opt%ITS_AN_AEROSOL_SIM ) THEN !--------------------- ! Offline simulation !--------------------- ! Test for sunlight... IF ( State_Met%SUNCOS(I,J) > 0e+0_fp .and. TCOSZ(I,J) > 0e+0_fp ) THEN ! Impose a diurnal variation on OH during the day OH_MOLEC_CM3 = OH(I,J,L) * & ( State_Met%SUNCOS(I,J) / TCOSZ(I,J) ) * & ( 86400e+0_fp / GET_TS_CHEM() ) ! OH is in kg/m3 (from HEMCO), convert to molec/cm3 (mps, 9/18/14) OH_MOLEC_CM3 = OH_MOLEC_CM3 * XNUMOL_OH / CM3PERM3 ! Make sure OH is not negative OH_MOLEC_CM3 = MAX( OH_MOLEC_CM3, 0e+0_fp ) ELSE ! At night, OH goes to zero OH_MOLEC_CM3 = 0e+0_fp ENDIF ELSE !--------------------- ! Invalid simulation !--------------------- CALL ERROR_STOP( 'Invalid simulation!', 'GET_OH (apm_driv_mod.F90)') ENDIF END FUNCTION GET_OH !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ohno3time ! ! !DESCRIPTION: Subroutine OHNO3TIME computes the sum of cosine of the solar ! zenith angle over a 24 hour day, as well as the total length of daylight. ! This is needed to scale the offline OH and NO3 concentrations. ! (rjp, bmy, 12/16/02, 3/30/04) !\\ !\\ ! !INTERFACE: ! SUBROUTINE OHNO3TIME( State_Grid ) ! ! !USES: ! USE TIME_MOD, ONLY : GET_NHMSb, GET_ELAPSED_SEC USE TIME_MOD, ONLY : GET_TS_CHEM, GET_DAY_OF_YEAR, GET_GMT USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! ! !REVISION HISTORY: ! 16 Dec 2002 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! LOGICAL, SAVE :: FIRST = .TRUE. INTEGER :: I, J, L, N, NT, NDYSTEP REAL(fp) :: A0, A1, A2, A3, B1, B2, B3 REAL(fp) :: LHR0, R, AHR, DEC, TIMLOC, YMID_R REAL(fp) :: SUNTMP(State_Grid%NX,State_Grid%NY) !================================================================= ! OHNO3TIME begins here! !================================================================= ! Solar declination angle (low precision formula, good enough for us): A0 = 0.006918 A1 = 0.399912 A2 = 0.006758 A3 = 0.002697 B1 = 0.070257 B2 = 0.000907 B3 = 0.000148 R = 2.* PI * float( GET_DAY_OF_YEAR() - 1 ) / 365. DEC = A0 - A1*cos( R) + B1*sin( R) & - A2*cos(2*R) + B2*sin(2*R) & - A3*cos(3*R) + B3*sin(3*R) LHR0 = int(float( GET_NHMSb() )/10000.) ! Only do the following at the start of a new day IF ( FIRST .or. GET_GMT() < 1e-5 ) THEN ! Zero arrays TTDAY(:,:) = 0e+0_fp TCOSZ(:,:) = 0e+0_fp COSZM(:,:) = 0e+0_fp ! NDYSTEP is # of chemistry time steps in this day NDYSTEP = ( 24 - INT( GET_GMT() ) ) * 3600 / GET_TS_CHEM() ! NT is the elapsed time [s] since the beginning of the run NT = GET_ELAPSED_SEC() ! Loop forward through NDYSTEP "fake" timesteps for this day DO N = 1, NDYSTEP ! Zero SUNTMP array SUNTMP = 0e+0_fp ! Loop over surface grid boxes DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Grid box latitude center [radians] YMID_R = State_Grid%YMID_R(I,J) TIMLOC = real(LHR0) + real(NT)/3600.0 + State_Grid%XMID(I,J)/15.0 DO WHILE (TIMLOC .lt. 0) TIMLOC = TIMLOC + 24.0 ENDDO DO WHILE (TIMLOC .gt. 24.0) TIMLOC = TIMLOC - 24.0 ENDDO AHR = abs(TIMLOC - 12.) * 15.0 * PI_180 !=========================================================== ! The cosine of the solar zenith angle (SZA) is given by: ! ! cos(SZA) = sin(LAT)*sin(DEC) + cos(LAT)*cos(DEC)*cos(AHR) ! ! where LAT = the latitude angle, ! DEC = the solar declination angle, ! AHR = the hour angle, all in radians. ! ! If SUNCOS < 0, then the sun is below the horizon, and ! therefore does not contribute to any solar heating. !=========================================================== ! Compute Cos(SZA) SUNTMP(I,J) = sin(YMID_R) * sin(DEC) + & cos(YMID_R) * cos(DEC) * cos(AHR) ! TCOSZ is the sum of SUNTMP at location (I,J) ! Do not include negative values of SUNTMP TCOSZ(I,J) = TCOSZ(I,J) + MAX( SUNTMP(I,J), 0e+0_fp ) ! COSZM is the peak value of SUMTMP during a day at (I,J) ! (rjp, bmy, 3/30/04) COSZM(I,J) = MAX( COSZM(I,J), SUNTMP(I,J) ) ! TTDAY is the total daylight time at location (I,J) IF ( SUNTMP(I,J) > 0e+0_fp ) THEN TTDAY(I,J) = TTDAY(I,J) + DBLE( GET_TS_CHEM() ) ENDIF ENDDO ENDDO !### Debug !PRINT*, '### IN OHNO3TIME' !PRINT*, '### N : ', N !PRINT*, '### NDYSTEP : ', NDYSTEP !PRINT*, '### NT : ', NT !PRINT*, '### JDAY : ', JDAY !PRINT*, '### RLAT : ', RLAT !PRINT*, '### XMID : ', XMID !PRINT*, '### SUNTMP : ', SUNTMP !PRINT*, '### TCOSZ : ', MINVAL( TCOSZ ), MAXVAL( TCOSZ ) !PRINT*, '### TTDAY : ', MINVAL( TCOSZ ), MAXVAL( TCOSZ ) ! Increment elapsed time [sec] NT = NT + GET_TS_CHEM() ENDDO ! Reset first-time flag FIRST = .FALSE. ENDIF END SUBROUTINE OHNO3TIME !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE:getalbdrr ! ! !DESCRIPTION: Function GETALBDDR interpolates or extrapolates to get albedo ! at RRTMG wavelength from MODIS 7 bands albedo (F. YU, 08/2012) !\\ !\\ ! !INTERFACE: ! subroutine GETALBDRR(II,JJ,MALB,State_Met) ! ! !USES: ! USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !REMARKS: ! RRTMG WL(1-14): 3.46,2.79,2.33,2.05,1.78,1.46,1.27, ! 1.01,0.70,0.53,0.39,0.30,0.23,8.02 ! ! MODIS WL (1-7): 0.645, 0.859, 0.469, 0.550, 1.24, 1.64, 2.13 ! ! !REVISION HISTORY: ! Aug 2012 - F. Yu - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER, PARAMETER :: KWL=7 !! mxy MODIS spectral bands INTEGER, INTENT(IN) :: II,JJ REAL :: MALB(II,JJ,KWL) INTEGER :: I,J,IWL DO IWL=1,NBS ALBDRR(:,:,IWL) = State_Met%ALBD(:,:) ENDDO DO I=1,II DO J=1,JJ ! no extrapolation for now, should not have much effect IF(MALB(I,J,1).GT.0.0.and.MALB(I,J,2).GT.0.0) THEN ALBDRR(I,J,9)=MALB(I,J,1)+(MALB(I,J,2)-MALB(I,J,1))*0.055/0.214 ENDIF IF(MALB(I,J,2).GT.0.0.and.MALB(I,J,5).GT.0.0) THEN ALBDRR(I,J,8)=MALB(I,J,2)+(MALB(I,J,5)-MALB(I,J,2))*0.142/0.381 ENDIF IF(MALB(I,J,3).GT.0.) THEN ALBDRR(I,J,11) = MALB(I,J,3) ALBDRR(I,J,12) = MALB(I,J,3) ALBDRR(I,J,13) = MALB(I,J,3) ENDIF IF(MALB(I,J,4).GT.0.) ALBDRR(I,J,10)=MALB(I,J,4) IF(MALB(I,J,5).GT.0.) ALBDRR(I,J,7)=MALB(I,J,5) IF(MALB(I,J,5).GT.0.0.and.MALB(I,J,6).GT.0.0) THEN ALBDRR(I,J,6)=MALB(I,J,5)+(MALB(I,J,6)-MALB(I,J,5))*0.22/0.4 ENDIF IF(MALB(I,J,6).GT.0.0.and.MALB(I,J,7).GT.0.0) THEN ALBDRR(I,J,5)=MALB(I,J,6)+(MALB(I,J,7)-MALB(I,J,6))*0.14/0.49 ALBDRR(I,J,4)=MALB(I,J,6)+(MALB(I,J,7)-MALB(I,J,6))*0.41/0.49 ENDIF IF(MALB(I,J,7).GT.0.) THEN ALBDRR(I,J,1) = MALB(I,J,7) ALBDRR(I,J,2) = MALB(I,J,7) ALBDRR(I,J,3) = MALB(I,J,7) ALBDRR(I,J,14) = MALB(I,J,7) ENDIF DO IWL=1,NBS IF(ALBDRR(I,J,IWL).LT.0.or.ALBDRR(I,J,IWL).GT.1.0) THEN WRITE(6,*)"STOP AT GETALBDRR: Need check" STOP ENDIF ENDDO !IF(MOD(I,5).EQ.1.and.MOD(J,5).EQ.1) THEN ! WRITE(1004,99) I,J,(ALBDRR(I,J,IWL),IWL=1,NBS) !ENDIF !99 FORMAT(I4,I4,30(F11.4)) ENDDO ENDDO !flush(1004) end subroutine GETALBDRR !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: init_apm3d ! ! !DESCRIPTION: Subroutine INIT_APM3D allocates and zeroes module arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE INIT_APM3D( Input_Opt, State_Grid, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState USE APM_Init_Mod, ONLY : NSO4, NSEA, NDSTB USE Module_Mosaic_Therm, ONLY : Load_Mosaic_Parameters ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State objectg ! ! ! OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 28 Aug 2008 - F. Yu - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: NX, NY, NZ !================================================================= ! INIT_AEROSOL begins here! !================================================================= NX = State_Grid%NX NY = State_Grid%NY NZ = State_Grid%NZ ALLOCATE( T3DAPM(NX,NY,20,24,6), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%T3DAPM', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN T3DAPM = 0e0 ALLOCATE( RH3DAPM(NX,NY,20,24,6), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%RH3DAPM', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN RH3DAPM = 0e0 ALLOCATE( PBLH2DAPM(NX,NY,24,6), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%PBLH2DAPM', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN PBLH2DAPM = 0e0 ALLOCATE( EMITNH3(NX,NY,NZ), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%EMITNH3', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN EMITNH3 = 0d0 ALLOCATE( EMITSO2(NX,NY,NZ), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%EMITSO2', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN EMITSO2 = 0d0 ALLOCATE( DRYDEP(NX,NY,NZ,4), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%DRYDEP', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN DRYDEP = 0d0 ALLOCATE( WETDEP(NX,NY,NZ,4), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%WETDEP', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN WETDEP = 0d0 ALLOCATE( CONDEP(NX,NY,NZ,4), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%CONDEP', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN CONDEP = 0d0 ALLOCATE( UPTAKE(NX,NY,NZ,4), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%UPTAKE', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN UPTAKE = 0d0 ALLOCATE( OXIDAT(NX,NY,NZ,4), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%OXIDAT', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN OXIDAT = 0d0 ALLOCATE( FCLOUD(NX,NY,NZ,NSO4+4), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%FCLOUD', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN FCLOUD = 0d0 ALLOCATE( AERAREA(NX,NY,NZ,NSO4+NSEA+NDSTB+4), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%AERAREA', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN AERAREA = 0d0 ALLOCATE( AERDRYR(NX,NY,NZ,NSO4+NSEA+NDSTB+4), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%AERDRYR', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN AERDRYR = 0d0 ALLOCATE( GAMMAPM(NX,NY,NZ,NTYP), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%GAMMAPM', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN GAMMAPM = 0d0 ALLOCATE( XN4D(NX,NY,NZ,NSO4), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%XN4D', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN XN4D = 0d0 ALLOCATE( XQ3D(NX,NY,NZ), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%XQ3D', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN XQ3D = 0d0 ALLOCATE( RCLDL3D(NX,NY,NZ), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%RCLDL3D', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN RCLDL3D = 0d0 ALLOCATE( CDN3D(NX,NY,NZ), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%CDN3D', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN CDN3D = 0d0 ALLOCATE( RCLDI3D(NX,NY,NZ), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%RCLDI3D', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN RCLDI3D = 0d0 ALLOCATE( RCLDI2D(NX,NY), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%RCLDL2D', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN RCLDI2D = 0d0 ALLOCATE( IN3D(NX,NY,NZ), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%CDN3D', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN IN3D = 0d0 ALLOCATE( MASSISRP(NX,NY,NZ,4), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%MASSISRP', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN MASSISRP = 0d0 ALLOCATE( MASSMESA(NX,NY,NZ,4), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%MASSMESA', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN MASSMESA = 0d0 ALLOCATE( GFTOT3D(NX,NY,NZ,3), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%GFTOT3D', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN GFTOT3D = 1d0 ALLOCATE( DENWET3D(NX,NY,NZ,2), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%DENWET3D', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN DENWET3D = 2d0 ALLOCATE( MWSIZE3D(NX,NY,NZ,3), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%MWSIZE3D', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN MWSIZE3D = 1.D-6 ALLOCATE( SO2toSO4( NX, NY, NZ ), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%SO2toSO4', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN SO2toSO4 = 0d0 ALLOCATE( NCOAG3D(NX,NY,NZ,2), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%NCOAG3D', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN NCOAG3D = 0d0 ALLOCATE( IACT1(NX,NY,NZ), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%IACT1', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN IACT1 = 15 ALLOCATE( IACT2(NX,NY,NZ), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%IACT2', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN IACT2 = 15 ALLOCATE( IACT3(NX,NY,NZ), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%IACT3', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN IACT3 = 15 ALLOCATE( PSO4GAS( NX, NY, NZ ), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%PSO4GAS', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN PSO4GAS = 0.d0 ALLOCATE( XO3( NX, NY, NZ ), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%XO3', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN XO3 = 0.d0 ALLOCATE( PLVSOG( NX, NY, NZ, 5 ), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%PLVSOG', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN PLVSOG = 0d0 ALLOCATE( BCLIFE( NX, NY, NZ ), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%BCLIFE', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN PLVSOG = 0d0 ALLOCATE( OCLIFE( NX, NY, NZ ), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%OCLIFE', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN PLVSOG = 0d0 ALLOCATE( IFOUTIJ( NX, NY ) ) CALL GC_CheckVar( 'apm_driv_mod.F%IFOUTIJ', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN IFOUTIJ = 0 ALLOCATE( SITEID( NX, NY) ) CALL GC_CheckVar( 'apm_driv_mod.F%SITEID', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN SITEID = 0 !Yu+ seasalt SST correction 10/15/2011 ALLOCATE( FSST( NX, NY), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%FSST', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN FSST = 1.d0 !Yu+ 6/1/11 ALLOCATE( SPGF( NX, NY, NZ ), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%SPGF', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN SPGF = 1.d0 ALLOCATE( TAONH3( NX, NY, NZ ), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%TAONH3', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN TAONH3 = 1.d0 ALLOCATE( YCOD3D( NX, NY, NZ ), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%YCOD3D', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN YCOD3D = 0.d0 ALLOCATE( TCOD3D( NX, NY, NZ, 9 ), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%TCOD3D', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN TCOD3D = 0.d0 TCOD3D(:,:,:,9) = 1.d-3 ALLOCATE( YHTRC3D( NX, NY, NZ ), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%YHTRC3D', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN YHTRC3D = 0.d0 ALLOCATE( YHTR3D( NX, NY, NZ ), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%YHTR3D', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN YHTR3D = 0.d0 ALLOCATE( YHTRC03D( NX, NY, NZ ), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%YHTRC03D', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN YHTRC03D = 0.d0 ALLOCATE( YHTR03D( NX, NY, NZ ), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%YHTR03D', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN YHTR03D = 0.d0 ALLOCATE( ZBEXT3D(NX,NY,NZ,MWL), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZBEXT3D', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ZBEXT3D = 0.d0 ALLOCATE( ZW3D(NX,NY,NZ,MWL), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZW3D', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ZW3D= 0.d0 ALLOCATE( ZG3D(NX,NY,NZ,MWL), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZG3D', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ZG3D= 1.d0 ALLOCATE( YBEXT3D(NX,NY,NZ,NTYP,MWL), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%YBEXT3D', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN YBEXT3D= 0.d0 ALLOCATE( XBEXT1k3D(NX,NY,NZ,12), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%XBEXT1K3D', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN XBEXT1k3D= 0.d0 ALLOCATE( YW3D(NX,NY,NZ,NTYP,MWL), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%YW3D', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN YW3D= 0.d0 ALLOCATE( YG3D(NX,NY,NZ,NTYP,MWL), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%YG3D', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN YG3D= 1.d0 ALLOCATE( ZBABS3D(NX,NY,NZ,NWL), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZBABS3D', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ZBABS3D= 0.d0 ALLOCATE( YUV(NX,NY,NZ,9), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%YUV', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN YUV= 0.d0 ! Array denoting where LT is between HR1 and HR2 ALLOCATE( GOOD( NX ), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%GOOD', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN GOOD = 0 ALLOCATE( CODOUT(NX,NY,NZ,10), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%CODOUT', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN CODOUT= 0.d0 ALLOCATE( CODOUTNUM(NX,NY,NZ), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%CODOUTNUM', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN CODOUTNUM= 0.d0 ALLOCATE( MODISOUT(NX,NY,6), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%MODISOUT', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN MODISOUT= 0.d0 ALLOCATE( TCOSZ( NX, NY ), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%TCOSZ', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN TCOSZ = 0e+0_fp ALLOCATE( TTDAY( NX, NY ), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%TTDAY', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN TTDAY = 0e+0_fp ALLOCATE( COSZM( NX, NY ), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%COSZM', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN COSZM = 0e+0_fp ALLOCATE( ALBDRR(NX,NY,NBS), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ALBDRR', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ALBDRR = 0.0D0 ALLOCATE( ZTCST(NX,NY,NTYP), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZTCST', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ZTCST = 0.0D0 ALLOCATE( ZTCSB(NX,NY,NTYP), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZTCSB', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ZTCSB = 0.0D0 ALLOCATE( ZTFST(NX,NY,NTYP), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZTFST', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ZTFST = 0.0D0 !ALLOCATE( YG3D, STAT=RC ) !CALL GC_CheckVar( 'apm_driv_mod.F%YG3D', 0, RC ) !IF ( RC /= GC_SUCCESS ) RETURN !YG3D = 0.0D0 ALLOCATE( ZTFSA(NX,NY,NTYP), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZTFSA', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ZTFSA = 0.0D0 ALLOCATE( ZTCLT(NX,NY,NTYP), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZTCLT', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ZTCLT = 0.0D0 ALLOCATE( ZTCLB(NX,NY,NTYP), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZTCLB', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ZTCLB = 0.0D0 ALLOCATE( ZTFUL(NX,NY,NTYP), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ALBDRR = 0.0D0 ALLOCATE( ZTFDL(NX,NY,NTYP), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ALBDRR = 0.0D0 ALLOCATE( ZTFLA(NX,NY,NTYP), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZTFLA', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ZTFLA = 0.0D0 ALLOCATE( ZTAOD(NX,NY,NTYP), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZTAOD', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ZTAOD = 0.0D0 ALLOCATE( ZCLDF(NX,NY), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZCLDF', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ZCLDF = 0.0D0 ALLOCATE( ZALB(NX,NY), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZALB', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ZALB = 0.0D0 ALLOCATE( ZMALB(NX,NY,NBS), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZMALB', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ZMALB = 0.0D0 ALLOCATE( ZCST(NX,NY), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZCST', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ZCST = 0.0D0 ALLOCATE( ZCSB(NX,NY), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZCSB', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ZCSB = 0.0D0 ALLOCATE( ZFST(NX,NY), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZFST', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ZFST = 0.0D0 ALLOCATE( ZCLD(NX,NY), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZCLD', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ZCLD = 0.0D0 ALLOCATE( ZCLD0(NX,NY), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZCLD0', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ZCLD0 = 0.0D0 ALLOCATE( ZFSB(NX,NY), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZFSB', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ZFSB = 0.0D0 ALLOCATE( ZFSA(NX,NY), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZFSA', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ZFSA = 0.0D0 !ALLOCATE( ZCLT(NX,NY), STAT=RC ) !CALL GC_CheckVar( 'apm_driv_mod.F%', 0, RC ) !IF ( RC /= GC_SUCCESS ) RETURN !ALBDRR = 0.0D0 !ALLOCATE( ZCLB(NX,NY), STAT=RC ) !CALL GC_CheckVar( 'apm_driv_mod.F%', 0, RC ) !IF ( RC /= GC_SUCCESS ) RETURN !ALBDRR = 0.0D0 !ALLOCATE( ZFUL(NX,NY), STAT=RC ) !CALL GC_CheckVar( 'apm_driv_mod.F%', 0, RC ) !IF ( RC /= GC_SUCCESS ) RETURN !ALBDRR = 0.0D0 !ALLOCATE( ZFDL(NX,NY), STAT=RC ) !CALL GC_CheckVar( 'apm_driv_mod.F%', 0, RC ) !IF ( RC /= GC_SUCCESS ) RETURN !ALBDRR = 0.0D0 !ALLOCATE( ZFLA(NX,NY), STAT=RC ) !CALL GC_CheckVar( 'apm_driv_mod.F%', 0, RC ) !IF ( RC /= GC_SUCCESS ) RETURN !ALBDRR = 0.0D0 ALLOCATE( ZAOD(NX,NY), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZAOD', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ZAOD = 0.0D0 ALLOCATE( ZCOD(NX,NY), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZCOD', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ZCOD = 0.0D0 ALLOCATE( ZCODGC(NX,NY), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZCODGC', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ZCODGC = 0.0D0 ALLOCATE( ZAODOUT1(NX,NY), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZADOUT1', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ZAODOUT1 = 0.0D0 ALLOCATE( ZAODOUT3(NX,NY), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZAODOUT3', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ZAODOUT3 = 0.0D0 ALLOCATE( ZAOD25(NX,NY), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZAOD25', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ZAOD25 = 0.0D0 ALLOCATE( ZAOD50(NX,NY), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZAOD50', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ZAOD50 = 0.0D0 ALLOCATE( ZAOD75(NX,NY), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZAOD75', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ZAOD75 = 0.0D0 ALLOCATE( NAOD25(NX,NY), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%NAOD25', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN NAOD25 = 0.0D0 ALLOCATE( NAOD50(NX,NY), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%NAOD50', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN NAOD50 = 0.0D0 ALLOCATE( NAOD75(NX,NY), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%NAOD75', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN NAOD75 = 0.0D0 ALLOCATE( ZVIS(NX,NY), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZVIS', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ZVIS = 0.0D0 ALLOCATE( THAZ(NX,NY), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%THAZ', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN THAZ = 0.0D0 ALLOCATE( TFOG(NX,NY), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%TFOG', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN TFOG = 0.0D0 ALLOCATE( ZAAOD(NX,NY), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZAAOD', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ZAAOD = 0.0D0 ALLOCATE( ZAAODOUT1(NX,NY), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZAAODOUT1', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ZAAODOUT1 = 0.0D0 ALLOCATE( ZAAODOUT3(NX,NY), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZAAODOUT3', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ZAAODOUT3 = 0.0D0 ALLOCATE( ZABS(NX,NY), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZABS', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ZABS = 0.0D0 ALLOCATE( ZWCL(NX,NY), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZWCL', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ZWCL = 0.0D0 ALLOCATE( ZWCI(NX,NY), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZWCI', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ZWCI = 0.0D0 ALLOCATE( AOD(NX,NY), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%AOD', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN AOD = 0.0D0 ALLOCATE( AAOD(NX,NY), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%AAOD', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN AAOD = 0.0D0 ALLOCATE( AODOUT1(NX,NY), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%AODOUT1', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN AODOUT1 = 0.0D0 ALLOCATE( AAODOUT1(NX,NY), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%AAODOUT1', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN AAODOUT1 = 0.0D0 ALLOCATE( AODOUT3(NX,NY), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ALBDRR = 0.0D0 ALLOCATE( AAODOUT3(NX,NY), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%AAODOUT3', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN AAODOUT3 = 0.0D0 ALLOCATE( CODGC(NX,NY), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%CODGC', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN CODGC = 0.0D0 ALLOCATE( TAOD(NX,NY,NTYP), STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%TAOD', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN TAOD = 0.0D0 ! sets up indices and other stuff once per simulation CALL load_mosaic_parameters() END SUBROUTINE INIT_APM3D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: cleanup_apm3d ! ! !DESCRIPTION: Subroutine CLEANUP\_APM3D deallocates all module arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CLEANUP_APM3D( Input_Opt, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 28 Aug 2008 - F. Yu - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC !================================================================= ! CLEANUP_APM3D begins here! !================================================================= IF ( ALLOCATED( T3DAPM ) ) THEN DEALLOCATE( T3DAPM, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%T3DAPM', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( RH3DAPM ) ) THEN DEALLOCATE( RH3DAPM, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%RH3DAPM', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( PBLH2DAPM ) ) THEN DEALLOCATE( PBLH2DAPM, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%PBLH2DAPM', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( EMITNH3 ) ) THEN DEALLOCATE( EMITNH3, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%EMITNH3', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( EMITSO2 ) ) THEN DEALLOCATE( EMITSO2, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%EMITSO2', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( DRYDEP ) ) THEN DEALLOCATE( DRYDEP, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%DRYDEP', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( WETDEP ) ) THEN DEALLOCATE( WETDEP, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%WETDEP', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( CONDEP ) ) THEN DEALLOCATE( CONDEP, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%CONDEP', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( UPTAKE ) ) THEN DEALLOCATE( UPTAKE, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%UPTAKE', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( OXIDAT ) ) THEN DEALLOCATE( OXIDAT, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%OXIDAT', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( FCLOUD ) ) THEN DEALLOCATE( FCLOUD, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%FCLOUD', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( AERAREA ) ) THEN DEALLOCATE( AERAREA, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%AERAREA', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( AERDRYR) ) THEN DEALLOCATE( AERDRYR, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%AERDRYR', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( GAMMAPM ) ) THEN DEALLOCATE( GAMMAPM, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%GAMMAPM', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( XN4D ) ) THEN DEALLOCATE( XN4D, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%XN4D', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( XQ3D ) ) THEN DEALLOCATE( XQ3D, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%XQ3D', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( RCLDL3D) ) THEN DEALLOCATE( RCLDL3D, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%RCLDL3D', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( CDN3D) ) THEN DEALLOCATE( CDN3D, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%CDN3D', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( RCLDI3D ) ) THEN DEALLOCATE( RCLDI3D, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%RCLDI3D', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( RCLDI2D ) ) THEN DEALLOCATE( RCLDI2D, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%RCLDL2D', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( IN3D ) ) THEN DEALLOCATE( IN3D, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%CDN3D', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( MASSISRP ) ) THEN DEALLOCATE( MASSISRP, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%MASSISRP', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( MASSMESA ) ) THEN DEALLOCATE( MASSMESA, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%MASSMESA', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( GFTOT3D ) ) THEN DEALLOCATE( GFTOT3D, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%GFTOT3D', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( DENWET3D ) ) THEN DEALLOCATE( DENWET3D, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%DENWET3D', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( MWSIZE3D ) ) THEN DEALLOCATE( MWSIZE3D, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%MWSIZE3D', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( SO2toSO4 ) ) THEN DEALLOCATE( SO2toSO4, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%SO2toSO4', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( NCOAG3D ) ) THEN DEALLOCATE( NCOAG3D, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%NCOAG3D', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( IACT1 ) ) THEN DEALLOCATE( IACT1, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%IACT1', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( IACT2 ) ) THEN DEALLOCATE( IACT2, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%IACT2', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( IACT3 ) ) THEN DEALLOCATE( IACT3, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%IACT3', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( PSO4GAS) ) THEN DEALLOCATE( PSO4GAS, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%PSO4GAS', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( XO3 ) ) THEN DEALLOCATE( XO3, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%XO3', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( PLVSOG) ) THEN DEALLOCATE( PLVSOG, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%PLVSOG', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( BCLIFE ) ) THEN DEALLOCATE( BCLIFE, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%BCLIFE', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( OCLIFE ) ) THEN DEALLOCATE( OCLIFE, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%OCLIFE', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( IFOUTIJ ) ) THEN DEALLOCATE( IFOUTIJ, STAT=Rc ) CALL GC_CheckVar( 'apm_driv_mod.F%IFOUTIJ', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( SITEID ) ) THEN DEALLOCATE( SITEID, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%SITEID', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( FSST ) ) THEN DEALLOCATE( FSST, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%FSST', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( SPGF ) ) THEN DEALLOCATE( SPGF, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%SPGF', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( TAONH3 ) ) THEN DEALLOCATE( TAONH3, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%TAONH3', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( YCOD3D ) ) THEN DEALLOCATE( YCOD3D, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%YCOD3D', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( TCOD3D ) ) THEN DEALLOCATE( TCOD3D, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%TCOD3D', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( YHTRC3D ) ) THEN DEALLOCATE( YHTRC3D, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%YHTRC3D', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( YHTR3D ) ) THEN DEALLOCATE( YHTR3D, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%YHTR3D', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( YHTRC03D ) ) THEN DEALLOCATE( YHTRC03D, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%YHTRC03D', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( YHTR03D ) ) THEN DEALLOCATE( YHTR03D, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%YHTR03D', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZBEXT3D ) ) THEN DEALLOCATE( ZBEXT3D, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZBEXT3D', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZW3D ) ) THEN DEALLOCATE( ZW3D, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZW3D', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZG3D ) ) THEN DEALLOCATE( ZG3D, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZG3D', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( YBEXT3D ) ) THEN DEALLOCATE( YBEXT3D, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%YBEXT3D', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( XBEXT1k3D ) ) THEN DEALLOCATE( XBEXT1k3D, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%XBEXT1K3D', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( YW3D ) ) THEN DEALLOCATE( YW3D, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%YW3D', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( YG3D ) ) THEN DEALLOCATE( YG3D, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%YG3D', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZBABS3D ) ) THEN DEALLOCATE( ZBABS3D, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZBABS3D', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( YUV ) ) THEN DEALLOCATE( YUV, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%YUV', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( GOOD ) ) THEN DEALLOCATE( GOOD, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%GOOD', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( CODOUT ) ) THEN DEALLOCATE( CODOUT, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%CODOUT', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( CODOUTNUM ) ) THEN DEALLOCATE( CODOUTNUM, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%CODOUTNUM', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( MODISOUT) ) THEN DEALLOCATE( MODISOUT, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%MODISOUT', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( TCOSZ) ) THEN DEALLOCATE( TCOSZ, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%TCOSZ', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( TTDAY) ) THEN DEALLOCATE( TTDAY, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%TTDAY', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( COSZM) ) THEN DEALLOCATE( COSZM, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%COSZM', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ALBDRR ) ) THEN DEALLOCATE( ALBDRR, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ALBDRR', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZTCST ) ) THEN DEALLOCATE( ZTCST, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZTCST', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZTCSB ) ) THEN DEALLOCATE( ZTCSB, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZTCSB', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZTFST ) ) THEN DEALLOCATE( ZTFST, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZTFST', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZTFSB ) ) THEN DEALLOCATE( ZTFSB, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%YG3D', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZTFSA ) ) THEN DEALLOCATE( ZTFSA, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZTFSA', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZTCLT ) ) THEN DEALLOCATE( ZTCLT, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZTCLT', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZTCLB ) ) THEN DEALLOCATE( ZTCLB, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZTCLB', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZTFUL ) ) THEN DEALLOCATE( ZTFUL, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZTFUL', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZTFDL ) ) THEN DEALLOCATE( ZTFDL, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZTFDL', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZTFLA ) ) THEN DEALLOCATE( ZTFLA, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZTFLA', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZTAOD ) ) THEN DEALLOCATE( ZTAOD, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZTAOD', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZCLDF ) ) THEN DEALLOCATE( ZCLDF, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZCLDF', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZALB ) ) THEN DEALLOCATE( ZALB, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZALB', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZMALB ) ) THEN DEALLOCATE( ZMALB, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZMALB', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZCST ) ) THEN DEALLOCATE( ZCST, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZCST', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZCSB ) ) THEN DEALLOCATE( ZCSB, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZCSB', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZFST ) ) THEN DEALLOCATE( ZFST, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZFST', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZCLD ) ) THEN DEALLOCATE( ZCLD, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZCLD', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZCLD0) ) THEN DEALLOCATE( ZCLD0, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZCLD0', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZFSB ) ) THEN DEALLOCATE( ZFSB, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZFSB', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZFSA ) ) THEN DEALLOCATE( ZFSA, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZFSA', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZCLT ) ) THEN DEALLOCATE( ZCLT, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZCLB) ) THEN DEALLOCATE( ZCLB, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZFUL ) ) THEN DEALLOCATE( ZFUL, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZFDL ) ) THEN DEALLOCATE( ZFDL, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZFLA ) ) THEN DEALLOCATE( ZFLA, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZAOD) ) THEN DEALLOCATE( ZAOD, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZAOD', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZCOD ) ) THEN DEALLOCATE( ZCOD, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZCOD', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZCODGC ) ) THEN DEALLOCATE( ZCODGC, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZCODGC', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZAODOUT1 ) ) THEN DEALLOCATE( ZAODOUT1, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZADOUT1', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZAODOUT3 ) ) THEN DEALLOCATE( ZAODOUT3, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZAODOUT3', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZAOD25 ) ) THEN DEALLOCATE( ZAOD25, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZAOD25', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZAOD50 ) ) THEN DEALLOCATE( ZAOD50, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZAOD50', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZAOD75 ) ) THEN DEALLOCATE( ZAOD75, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZAOD75', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( NAOD25 ) ) THEN DEALLOCATE( NAOD25, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%NAOD25', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( NAOD50 ) ) THEN DEALLOCATE( NAOD50, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%NAOD50', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( NAOD75 ) ) THEN DEALLOCATE( NAOD75, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%NAOD75', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZVIS) ) THEN DEALLOCATE( ZVIS, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZVIS', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( THAZ ) ) THEN DEALLOCATE( THAZ, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%THAZ', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( TFOG ) ) THEN DEALLOCATE( TFOG, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%TFOG', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZAAOD ) ) THEN DEALLOCATE( ZAAOD, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZAAOD', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZAAODOUT1 ) ) THEN DEALLOCATE( ZAAODOUT1, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZAAODOUT1', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZAAODOUT3 ) ) THEN DEALLOCATE( ZAAODOUT3, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZAAODOUT3', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZABS ) ) THEN DEALLOCATE( ZABS, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZABS', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZWCL ) ) THEN DEALLOCATE( ZWCL, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZWCL', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( ZWCI ) ) THEN DEALLOCATE( ZWCI, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%ZWCI', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( AOD ) ) THEN DEALLOCATE( AOD, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%AOD', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( AAOD ) ) THEN DEALLOCATE( AAOD, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%AAOD', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( AODOUT1 ) ) THEN DEALLOCATE( AODOUT1, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%AODOUT1', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( AAODOUT1 ) ) THEN DEALLOCATE( AAODOUT1, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%AAODOUT1', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( AODOUT3 ) ) THEN DEALLOCATE( AODOUT3, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( AAODOUT3 ) ) THEN DEALLOCATE( AAODOUT3, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%AAODOUT3', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( CODGC ) ) THEN DEALLOCATE( CODGC, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%CODGC', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( TAOD) ) THEN DEALLOCATE( TAOD, STAT=RC ) CALL GC_CheckVar( 'apm_driv_mod.F%TAOD', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF END SUBROUTINE CLEANUP_APM3D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: aeronum ! ! !DESCRIPTION: Subroutine SIZE\_DIST\_PARAM\_LIQ gets cloud droplet size ! distribution parameters !\\ !\\ ! !INTERFACE: ! subroutine size_dist_param_liq(qcic, ncic, cdnl, rho, nadjflag, pgam, lamc) ! ! !INPUT/OUTPUT PARAMETERS: ! real*8, intent(in) :: qcic real*8, intent(inout) :: ncic real*8, intent(in) :: cdnl real*8, intent(in) :: rho logical, intent(in) :: nadjflag ! Whether to adjust number concentration to fall ! within certain bounds real*8, intent(out) :: pgam real*8, intent(out) :: lamc !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! real, parameter :: pi=3.1415926, rhow=1000. real*8 :: dumgam1 real*8 :: dumgam2 real*8 :: lammin real*8 :: lammax if (qcic > 1.e-18) then if (nadjflag) then ! add upper limit to in-cloud number concentration to prevent numerical error ncic=min(ncic,qcic*1.e20) ! add lower limit to in-cloud number concentration ncic=max(ncic,cdnl/rho) ! sghan minimum in #/cm end if ! get pgam from fit to observations of martin et al. 1994 pgam=0.0005714*(ncic/1.e6*rho)+0.2714 pgam=1./(pgam**2)-1. pgam=max(pgam,2.d0) pgam=min(pgam,50.d0) ! calculate lamc dumgam1 = gamma(pgam+1.) dumgam2 = gamma(pgam+4.) lamc = (pi/6.*rhow*ncic*dumgam2/ & (qcic*dumgam1))**(1./3.) ! lammin, 50 micron diameter max mean size lammin = (pgam+1.)/50.e-6 lammax = (pgam+1.)/2.e-6 if (lamc < lammin) then lamc = lammin if (nadjflag) then ncic = 6. * lamc**3 * qcic * dumgam1/ & (pi * rhow * dumgam2) end if else if (lamc > lammax) then lamc = lammax if (nadjflag) then ncic = 6. * lamc**3 * qcic * dumgam1/ & (pi * rhow * dumgam2) end if end if else ! pgam not calculated in this case, so set it to a value likely to cause an error ! if it is accidentally used ! (gamma function undefined for negative integers) pgam = -100. lamc = 0. end if end subroutine size_dist_param_liq !EOC ! ---------------------------------------------------------------------------- ! function GAMMA ! ---------------------------------------------------------------------------- !BOC function gamma(x) implicit none ! ! Purpose: ! Returns the gamma function ! ! Input: ! [x] value to compute gamma function of ! ! Returns: ! gamma(x) ! ! Coded: ! 02/02/06 John Haynes (haynes@atmos.colostate.edu) ! (original code of unknown origin) ! ----- INPUTS ----- real*8, intent(in) :: x ! ----- OUTPUTS ----- real*8 :: gamma ! ----- INTERNAL ----- real*8 :: pi,ga,z,r,gr real*8 :: g(26) integer :: k,m1,m pi = acos(-1.) if (x ==int(x)) then if (x > 0.0) then ga=1.0 m1=x-1 do k=2,m1 ga=ga*k enddo else ga=1.0+300 endif else if (abs(x) > 1.0) then z=abs(x) m=int(z) r=1.0 do k=1,m r=r*(z-k) enddo z=z-m else z=x endif data g/1.0,0.5772156649015329, & -0.6558780715202538, -0.420026350340952d-1, & 0.1665386113822915,-.421977345555443d-1, & -.96219715278770d-2, .72189432466630d-2, & -.11651675918591d-2, -.2152416741149d-3, & .1280502823882d-3, -.201348547807d-4, & -.12504934821d-5, .11330272320d-5, & -.2056338417d-6, .61160950d-8, & .50020075d-8, -.11812746d-8, & .1043427d-9, .77823d-11, & -.36968d-11, .51d-12, & -.206d-13, -.54d-14, .14d-14, .1d-15/ gr=g(26) do k=25,1,-1 gr=gr*z+g(k) enddo ga=1.0/(gr*z) if (abs(x) > 1.0) then ga=ga*r if (x < 0.0) ga=-pi/(x*ga*sin(pi*x)) endif endif gamma = ga return end function gamma !EOC END MODULE APM_DRIV_MOD #endif ================================================ FILE: GeosCore/calc_met_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: calc_met_mod.F90 ! ! !DESCRIPTION: Module CALC\_MET\_MOD (formerly DAO\_MOD) contains ! subroutines that compute, interpolate, or otherwise process met field data. !\\ !\\ ! !INTERFACE: ! MODULE CALC_MET_MOD ! ! !USES: ! USE PhysConstants ! Physical constants USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: AVGPOLE PUBLIC :: AIRQNT PUBLIC :: GET_COSINE_SZA PUBLIC :: GET_OBK PUBLIC :: INTERP PUBLIC :: SET_DRY_SURFACE_PRESSURE PUBLIC :: Set_Clock_Tracer #if defined( ESMF_ ) || defined( EXTERNAL_GRID ) PUBLIC :: GCHP_Cap_Tropopause_Prs #endif ! ! !REVISION HISTORY: ! 26 Jun 2010 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: avgpole ! ! !DESCRIPTION: Subroutine AVGPOLE computes average quantity near polar caps, ! defined by (J = 1, 2) and (J = State\_Grid%NY-1, State\_Grid%NY). !\\ !\\ ! !INTERFACE: ! SUBROUTINE AVGPOLE( State_Grid, Z ) ! ! !USES: ! USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! ! Quantity to be averaged over the pole (usually PS) REAL(fp), INTENT(INOUT) :: Z(State_Grid%NX,State_Grid%NY) ! ! !REVISION HISTORY: ! 30 Jan 1998 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, J REAL(fp) :: TOTAL_Z1, TOTAL_Z2, TOTAL_Z3, TOTAL_Z4 REAL(fp) :: TOTAL_A1, TOTAL_A2, TOTAL_A3, TOTAL_A4 !================================================================= ! AVGPOLE begins here! !================================================================= IF ( State_Grid%NestedGrid ) THEN ! Nested grids typically do not extend to poles. Add better check ! here is users wish to define custom nested grids near the poles. RETURN ENDIF TOTAL_Z1 = 0. TOTAL_Z2 = 0. TOTAL_Z3 = 0. TOTAL_Z4 = 0. TOTAL_A1 = 0. TOTAL_A2 = 0. TOTAL_A3 = 0. TOTAL_A4 = 0. DO I = 1, State_Grid%NX TOTAL_Z1 = TOTAL_Z1 + State_Grid%Area_M2(I,1) * Z(I,1) TOTAL_Z2 = TOTAL_Z2 + State_Grid%Area_M2(I,2) * Z(I,2) TOTAL_Z3 = TOTAL_Z3 + State_Grid%Area_M2(I,State_Grid%NY-1) & * Z(I,State_Grid%NY-1) TOTAL_Z4 = TOTAL_Z4 + State_Grid%Area_M2(I,State_Grid%NY) & * Z(I,State_Grid%NY) TOTAL_A1 = TOTAL_A1 + State_Grid%Area_M2(I,1) TOTAL_A2 = TOTAL_A2 + State_Grid%Area_M2(I,2) TOTAL_A3 = TOTAL_A3 + State_Grid%Area_M2(I,State_Grid%NY-1) TOTAL_A4 = TOTAL_A4 + State_Grid%Area_M2(I,State_Grid%NY) ENDDO DO I = 1, State_Grid%NX Z(I,1) = (TOTAL_Z1 + TOTAL_Z2) / (TOTAL_A1 + TOTAL_A2) Z(I,2) = Z(I,1) Z(I,State_Grid%NY-1) = (TOTAL_Z3 + TOTAL_Z4) / (TOTAL_A3 + TOTAL_A4) Z(I,State_Grid%NY ) = Z(I,State_Grid%NY-1) ENDDO END SUBROUTINE AVGPOLE !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: airqnt ! ! !DESCRIPTION: Subroutine AIRQNT sets several members of State\_Met, the ! meteorology object of derived type MetState, and optionally updates ! the tracer concentrations to conserve tracer mass when air quantities ! change. !\\ !\\ ! !INTERFACE: ! SUBROUTINE AIRQNT( Input_Opt, State_Chm, State_Grid, State_Met, & RC, Update_Mixing_Ratio ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE PhysConstants, ONLY : AIRMW, AVO USE Pressure_Mod USE Time_Mod, ONLY : Get_LocalTime USE Time_Mod, ONLY : Get_LocalTime_In_Sec USE Time_Mod, ONLY : Get_Ts_Dyn USE UnitConv_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object LOGICAL, INTENT(IN), OPTIONAL :: Update_Mixing_Ratio ! Default is yes ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State obj TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! Met fields updated by AIRQNT: ! ======================================================================== ! (1) PEDGE (REAL(fp)) : Moist air pressure at grid box bottom [hPa] ! (2) PEDGE_DRY (REAL(fp)) : Dry air partial pressure at box bottom [hPa] ! (3) PMID (REAL(fp)) : Moist air pressure at grid box centroid [hPa] ! (4) PMID_DRY (REAL(fp)) : Dry air partial pressure at box centroid [hPa] ! (Note that PMID_DRY and PEDGE_DRY represent local partial pressure of dry air ! (total pressure minus water vapor pressure), which is different ! from the pressure that would occur in a dry hydrostatic atmosphere with the same ! dry air mass distribution. The latter is needed for transport calculations ! for which we have DELP_DRY. Despite similar names, DELP_DRY is fundamentally ! different from PEDGE_DRY. cdholmes 10/29/2020) ! (7) DELP (REAL(fp)) : Moist air Delta-P extent of grid box [hPa] ! (DELP is proportional to grid box moist air mass) ! DELP_DRY (REAL(fp)) : Dry air Delta-P ! (DELP_DRY is treated as proportional to grid box dry air mass, ! but it is computed from dry surface pressure and Hybrid A's and B's. ! This is for consistency with the assumptions about the vertical coordinate ! in transport (TPCORE_FVDAS and the pressure fixer) to conserve mass. ! As a result, however, DELP_DRY is not consistent with the dry air mass ! computed from moist air mass and specific humidity, nor is it consistent ! with the differences between consecutive PEDGE_DRY values. cdholmes 10/29/2020) ! (8) AIRDEN (REAL(fp)) : Mean grid box dry air density [kg/m^3] ! (defined as total dry air mass/box vol, computed from DELP_DRY (see note above)) ! (9) MAIRDEN (REAL(fp)) : Mean grid box moist air density [kg/m^3] ! (defined as total moist air mass/box vol) ! (10) AD (REAL(fp)) : Total dry air mass in grid box [kg] ! (11) ADMOIST (REAL(fp)) : Total moist air mass in grid box [kg] ! (12) BXHEIGHT (REAL(fp)) : Vertical height of grid box [m] ! (13) AIRVOL (REAL(fp)) : Volume of grid box [m^3] ! (14) MOISTMW (REAL(fp)) : Molecular weight of moist air in box [g/mol] ! ! !REVISION HISTORY: ! 30 Jan 1998 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: t1, t2 INTEGER :: Dt_Sec INTEGER :: I, J, L INTEGER :: L_CG, L_TP, N REAL(fp) :: PEdge_Top, Esat REAL(fp) :: EsatA, EsatB, EsatC, EsatD REAL(fp) :: SPHU_kgkg, AVGW_moist, H, FRAC REAL(fp) :: Pb, Pt, XH2O, ADmoist LOGICAL :: UpdtMR REAL(fp) :: FRLAND_NOSNOW_NOICE, FRWATER, FRICE, FRSNOW ! Arrays LOGICAL :: IsLocNoon (State_Grid%NX,State_Grid%NY) REAL(f8) :: LocTime (State_Grid%NX,State_Grid%NY) INTEGER :: LocTimeSec(State_Grid%NX,State_Grid%NY) ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc ! ! DEFINED PARAMETERS: ! ! Conversion factors REAL(fp), PARAMETER :: TOFFSET = -2.7315e+2_fp ! K -> deg C REAL(fp), PARAMETER :: PCONV = 1.00e+2_fp ! hPa -> Pa REAL(fp), PARAMETER :: RHCONV = 1.00e-2_fp ! % -> fraction REAL(fp), PARAMETER :: MCONV = 1.00e-3_fp ! g -> kg ! Empirical parameters for water vapor saturation pressure ! (Source: Nordquist, 1973. "Numerical Approximiations of ! Selected Meteorological Parameters Related to Cloud Physics" ! Text quality clarifications from Stipanuk, 1973. "Algorithms ! for Generating a Skew-T, Log P Diagram and Computing Selected ! Meteorological Quantities") REAL(fp), PARAMETER :: ESATP1 = 2.3832241e+1_fp REAL(fp), PARAMETER :: ESATP2 = -5.02808e+0_fp REAL(fp), PARAMETER :: ESATP3 = 8.1328e-3_fp REAL(fp), PARAMETER :: ESATP4 = 3.49149e+0_fp REAL(fp), PARAMETER :: ESATP5 = -1.3028844e+3_fp REAL(fp), PARAMETER :: ESATP6 = -1.3816e-7_fp REAL(fp), PARAMETER :: ESATP7 = 1.1344e+1_fp REAL(fp), PARAMETER :: ESATP8 = -3.03998e-2_fp REAL(fp), PARAMETER :: ESATP9 = -2.949076e+3_fp !================================================================= ! AIRQNT begins here! !================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at AIRQNT (in module GeosCore/dao_mod.F)' Dt_Sec = Get_Ts_Dyn() ! Shadow variable for mixing ratio update. Default is false. UpdtMR = .FALSE. IF ( PRESENT(update_mixing_ratio) ) UpdtMR = update_mixing_ratio ! Pre-compute local solar time = UTC + Lon/15 !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, FRLAND_NOSNOW_NOICE, FRWATER, FRICE, FRSNOW )& !$OMP COLLAPSE( 2 ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Local time only depends on longitude, but longitude is a ! function of (I,J) for cubed-sphere grids. Therefore, use ! (I,J) in the call to GET_LOCALTIME. Obtain the local time ! both in hours and in seconds (bmy, 4/18/19) LocTime (I,J) = Get_LocalTime ( I, J, 1, State_Grid ) LocTimeSec(I,J) = Get_LocalTime_In_Sec( I, J, 1, State_Grid ) ! Pick the boxes that are closest to local noon (12hr = 43200 s). ! Use local time in seconds, which avoids roundoff issues. IsLocNoon(I,J) = ( LocTimeSec(I,J) <= 43200 .and. & LocTimeSec(I,J) + Dt_Sec >= 43200 ) ! Snow FRSNOW = State_Met%FRSNOW(I,J) ! Land without snow or ice. Note that import FRLAND is defined as land ! without ice. Land with ice is in import FRLANDIC. To get land without ! snow or ice we thus only subtract time-varying FRSNOW. FRLAND_NOSNOW_NOICE = State_Met%FRLAND(I,J) - State_Met%FRSNOW(I,J) ! Water without sea ice FRWATER = State_Met%FRLAKE(I,J) + State_Met%FROCEAN(I,J) - & State_Met%FRSEAICE(I,J) ! Land ice and sea ice FRICE = State_Met%FRLANDICE(I,J) + State_Met%FRSEAICE(I,J) ! Set IsLand, IsWater, IsIce, IsSnow based on max fractional area State_Met%IsLand(I,J) = & ( FRLAND_NOSNOW_NOICE > MAX( FRWATER, FRICE, FRSNOW ) ) State_Met%IsWater(I,J) = & ( FRWATER > MAX( FRLAND_NOSNOW_NOICE, FRICE, FRSNOW ) ) State_Met%IsIce(I,J) = & ( FRICE > MAX( FRLAND_NOSNOW_NOICE, FRWATER, FRSNOW ) ) State_Met%IsSnow(I,J) = & ( FRSNOW > MAX( FRLAND_NOSNOW_NOICE, FRWATER, FRICE ) ) ENDDO ENDDO !$OMP END PARALLEL DO !============================================================= ! Update air quantities !============================================================= !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, L, Pedge_Top )& !$OMP PRIVATE( EsatA, EsatB, EsatC, EsatD )& !$OMP PRIVATE( Esat, SPHU_kgkg, XH2O, ADmoist )& !$OMP COLLAPSE( 3 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX !============================================================= ! Set wet air pressures [hPa] ! (lower edge, delta, centroid, and spatially-weighted mean) !============================================================= #ifdef MODEL_BCC PEdge_Top=State_Met%PEDGE(I,J,L+1) #else ! Pressure at bottom edge of grid box [hPa] State_Met%PEDGE(I,J,L) = GET_PEDGE(I,J,L) ! Pressure at top edge of grid box [hPa] PEdge_Top = GET_PEDGE(I,J,L+1) #endif ! Pressure at bottom edge of grid box [hPa](level State_Grid%NZ+1 only) IF ( L == State_Grid%NZ ) THEN State_Met%PEDGE(I,J,L+1) = PEdge_Top ENDIF ! Pressure difference between top & bottom edges [hPa] State_Met%DELP(I,J,L) = State_Met%PEDGE(I,J,L) - PEdge_Top ! Arithmetic average pressure in grid box [hPa] defined as ! ( PEDGE(L) + PEDGE(L+1) ) / 2. This represents the grid box ! mass centroid pressure. Use in the ideal gas law yields ! a local air density at the centroid. #if !defined (MODEL_BCC) State_Met%PMID(I,J,L) = GET_PCENTER( I, J, L ) #endif !============================================================= ! Calculate water vapor saturation pressure [hPa] ! from temperature !============================================================= ! Prepare the intermediate terms EsatA = ESATP1 + ESATP2 * log10( State_Met%T(I,J,L) ) EsatB = ESATP3 * 10**( ESATP4 + ESATP5 / State_Met%T(I,J,L) ) EsatC = ESATP6 * 10**( ESATP7 + ESATP8 * State_Met%T(I,J,L) ) EsatD = ESATP9 / State_Met%T(I,J,L) ! Saturation water vapor pressure [hPa] Esat = 10**( EsatA + EsatB + EsatC + EsatD ) !============================================================= ! Set AVGW, the water vapor volume mixing ratio from ! specific humidity [mol H2O / mol dry air] !============================================================= ! ! vol H2O dry air H2O kg H2O kg wet air ! ---------- = molec wt / molec wt * ---------- * --------- ! vol dry air [g/mol] [g/mol] kg wet air kg dry air ! ! thus AVGW = AIRMW * SPHU_kgkg / ( H2OMW * (1-SPHU_kgkg) ) ! ! where, ! SPHU_kgkg = specific humidity in [kg/kg] ! ! Convert specific humidity from [g/kg] to [kg/kg] SPHU_kgkg = State_Met%SPHU(I,J,L) * MCONV ! Water vapor volume mixing ratio [v/v dry air] State_Met%AVGW(I,J,L) = AIRMW * SPHU_kgkg / & ( H2OMW * (1.0e+0_fp - SPHU_kgkg ) ) ! Water vapor mole fraction [mol (H2O) / mol (moist air)] XH2O = State_Met%AVGW(I,J,L) / ( 1.0e+0_fp + State_Met%AVGW(I,J,L) ) !============================================================= ! Set grid box height [m] !============================================================= ! ! BXHEIGHT is the height (Delta-Z) of grid box (I,J,L) ! in meters. It is calculated using the hypsometric equation. ! A virtual temperature is calculated to enable use of ! of moist air pressure with dry air molecular weight. ! ! Gas constant virtual ! for dry air * grid box ! [J/K/mol] temp [K] bottom edge P ! height [m] = ----------------------- * ln(---------------) ! g [m/s2] top edge P ! ! where, ! ! Grid box temperature [K] ! Virtual = ------------------------------------------- ! Temp [K] H20 partial pressure MW_H2O ! 1 - -------------------- * ( 1 - --------- ) ! moist air pressure MW_dryair ! ! Source: Wallace and Hobbes "Atmospheric Science: An ! Introductory Survey" ! ! Assume constant temperature and moisture across grid box. ! ! Grid box potential temperature [K] at reference pressure 1000 hPa State_Met%THETA(I,J,L) = State_Met%T(I,J,L) * & ( 1000.0_fp / State_Met%PMID(I,J,L) )**0.286 ! Grid box virtual temperature [K] State_Met%TV(I,J,L) = State_Met%T(I,J,L) / (1 - XH2O * & ( 1 - H2OMW / AIRMW ) ) ! Grid box box height [m] State_Met%BXHEIGHT(I,J,L) = Rdg0 * State_Met%TV(I,J,L) * & LOG( State_Met%PEDGE(I,J,L) / PEdge_Top ) !============================================================== ! Set grid box volume [m3] !============================================================== ! ! AIRVOL is the volume of grid box (I,J,L) in meters^3 ! ! AREA_M2 is the Delta-X * Delta-Y surface area of grid ! boxes (I,J,L=1), that is, at the earth's surface. ! ! Since the thickness of the atmosphere is much smaller ! than the radius of the earth, we can make the "thin ! atmosphere" approximation, namely: ! ! (Rearth + h) ~ Rearth ! ! Therefore, the Delta-X * Delta-Y surface area of grid ! boxes that are above the earth's surface will be ! approx. the same as AREA_M2. Thus we are justified ! in using AREA_M2 for grid boxes (I, J, L > 1) ! State_Met%AIRVOL(I,J,L) = State_Met%BXHEIGHT(I,J,L) * & State_Grid%AREA_M2(I,J) !============================================================== ! Set grid box dry air partial pressures at grid box edges ! and at grid box centroid (arithmetic mean pressure level) ! [hPa]. Assume constant humidity across grid box. !============================================================== ! Partial pressure of dry air at lower edge of grid box [hPa] State_Met%PEDGE_DRY(I,J,L) = State_Met%PEDGE(I,J,L) * ( 1.e+0_fp - XH2O ) ! Set dry air partial pressure for level State_Grid%NZ+1 lower edge IF ( L == State_Grid%NZ ) THEN State_Met%PEDGE_DRY(I,J,L+1) = Pedge_Top * ( 1.e+0_fp - XH2O ) ENDIF ! Partial pressure of dry air at box centroid [hPa] State_Met%PMID_DRY(I,J,L) = State_Met%PMID(I,J,L) * ( 1.e+0_fp - XH2O ) ! Set previous dry P difference to current dry P difference ! prior to updating with new met values State_Met%DP_DRY_PREV(I,J,L) = State_Met%DELP_DRY(I,J,L) ! Update dry pressure difference as calculated from the ! dry surface pressure #if !defined (MODEL_BCC) State_Met%DELP_DRY(I,J,L) = GET_DELP_DRY(I,J,L) #endif !============================================================== ! Set mass of dry air in grid box [kg] !============================================================== ! AD = mass of dry air in grid box (I,J,L) ! ! given by: ! ! Dry air pressure Grid box 100 [Pa] 1 [s2] ! Mass = difference * surface * -------- * ----- ! across grid area 1 [hPa] g [m] ! box [hPa] [m2] ! ! NOTES: ! Dry air pressure difference across grid box is calculate ! from the surface dry pressure and GMAO A and B parameters ! (see GeosUtil/pressure_mod.F). The dry surface pressure ! that is used is calculated from the GMAO wet surface pressure ! (or time-interpolated value) and the A and B parameters ! (see SET_DRY_SURFACE_PRESSURE). It is not derived from the ! wet edge pressures. This distinction is important for ! mass conservation. State_Met%AD(I,J,L) = ( State_Met%DELP_DRY(I,J,L) * G0_100 ) * & State_Grid%AREA_M2(I,J) ! Mass of moist air [kg] ADmoist = ( State_Met%DELP(I,J,L) * G0_100 ) * & State_Grid%AREA_M2(I,J) !============================================================== ! Set grid box densities !============================================================== ! Set grid box dry air density [kg/m3] ! ! NOTE: Air density is derived from dry surface pressure ! following implementation of the moisture fix, and therefore ! its equation must be dry air mass divided by volume. ! This is because the level pressures derived from the dry ! surface pressure may be used for extracting mass per level, ! but not a representative pressure for that level. The ideal ! gas law requires a representative level pressure. Eventually ! a representative pressure must be derived that, when used in ! the ideal gas law, will replicate the air density defined as ! mass/volume. Moving to use of the ideal gas law is necessary ! for grid-independence (ewl, 9/16/16) State_Met%AIRDEN(I,J,L) = State_Met%AD(I,J,L) / State_Met%AIRVOL(I,J,L) ! Set grid box dry air number density [molec/cm3] State_Met%AIRNUMDEN(I,J,L) = State_Met%AIRDEN(I,J,L) * 1e-3_fp * & AVO / AIRMW ! Set grid box moist air density [kg/m3] ! Use moist air mass and volume State_Met%MAIRDEN(I,J,L) = ADmoist / State_Met%AIRVOL(I,J,L) !============================================================== ! Define the various query fields of State_Met ! ! NOTE: For convenience, we set State_Met%InPbl in routine ! COMPUTE_PBL_HEIGHT (in module GeosCore/pbl_mix_mod.F). ! ! NOTE: For certain queries we test against level numbers, ! (e.g. LLSTRAT, LLCHEM), but should really test level ! pressure edges, so that this algorithm will be robust if ! we switch to different met fields or interface with ! different ESMs. Add this at a later time. (bmy, 1/8/18) !============================================================== ! Is this grid box within the troposphere? State_Met%InTroposphere(I,J,L) = & ( State_Met%PEDGE(I,J,L) > State_Met%TROPP(I,J) ) ! Is this grid box within the stratosphere or mesosphere? State_Met%InStratMeso(I,J,L) = & ( .not. State_Met%InTroposphere(I,J,L) ) ! Is this grid box within the stratosphere (but not mesosphere)? State_Met%InStratosphere(I,J,L) = & ( L <= State_Met%MaxStratLev .and. State_Met%InStratMeso(I,J,L) ) ! Is grid box (I,J,L) within the chemistry grid? State_Met%InChemGrid(I,J,L) = ( L <= State_Met%MaxChemLev ) ENDDO ENDDO ENDDO !$OMP END PARALLEL DO !================================================================= ! Compute more tropopause and chemistry grid quantities. This ! has to be done after the State_Met%InChemGrid etc. fields have ! been totally initialized. ! ! Also compute if it is near local noon in a grid box. ! This will be used for the J-value diagnostics. !================================================================= !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, L_CG, L_TP, H, Pb, Pt, FRAC )& !$OMP COLLAPSE( 2 ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX !-------------------------------------------------------------- ! Local solar time and box that is nearest to local noon !-------------------------------------------------------------- State_Met%LocalSolarTime(I,J) = LocTime(I,J) State_Met%IsLocalNoon(I,J) = IsLocNoon(I,J) !-------------------------------------------------------------- ! Compute highest level of chemistry grid and the troposphere ! ! NOTE: The COUNT intrinsic function returns the number of ! locations where the column State_Met%InChemGrid(I,J,:) is ! TRUE. This is also equivalent to the maximum level of the ! chemistry grid. Ditto for State_Met%InTroposphere. !-------------------------------------------------------------- ! Highest level in the column at (I,J) ! that is fully within the chemistry grid L_CG = COUNT( State_Met%InChemGrid(I,J,:) ) ! Highest level in the column at (I,J) ! that is fully within the tropopause L_TP = COUNT( State_Met%InTroposphere(I,J,:) ) !-------------------------------------------------------------- ! Compute tropopause height !-------------------------------------------------------------- ! Get height (from surface to top edge) of all boxes that lie ! totally w/in the troposphere. NOTE: Grid box (I,J,L_TP-1) ! is the highest purely tropospheric grid box in the column. ! ! BMY COMMENT: L_TP may be the highest purely tropospheric ! grid box in the column, not L_TP-1. That might have been ! due to historical baggage. In any case, this is only used ! to compute State_Met%TropHt which is a purely diagnostic ! output, so it won't make a big difference even if it is ! incorrect. Check into this later on. (bmy, 1/17/18) H = SUM( State_Met%BXHEIGHT(I,J,1:L_TP-1) ) ! Get the pressures [hPa] at the bottom and top edges ! of the grid box in which the tropopause occurs Pb = State_Met%PEDGE(I,J,L_TP ) Pt = State_Met%PEDGE(I,J,L_TP+1) ! FRAC is the fraction of the grid box (I,J,L_TP) ! that lies totally within the troposphere FRAC = ( Pb - State_Met%TROPP(I,J) ) / ( Pb - Pt ) ! Add to H the height [m] of the purely tropospheric ! fraction of grid box (I,J,L_TP) H = H + ( FRAC * State_Met%BXHEIGHT(I,J,L_TP) ) !-------------------------------------------------------------- ! Save in the relevant fields of State_Met !-------------------------------------------------------------- State_Met%ChemGridLev(I,J) = L_CG ! Max chemgrid level State_Met%TropLev (I,J) = L_TP ! Max tropopause level State_Met%TropHt (I,J) = H / 1000.0_fp ! Troposphere ht [km] ENDDO ENDDO !$OMP END PARALLEL DO !================================================================= ! Update species concentrations with updated air quantities ! if update mixing ratio flag indicates to do so !================================================================= ! Update the mixing ratio with new air quantities such that species ! mass is conserved if (1) update_mixing_ratio flag is not passed, ! or (2) update_mixing_ratio flag is passed as true. ! NOTE: The only places where mixing ratio is not currently updated ! following air quantity change is during GEOS-Chem initialization and ! in transport after the pressure fixer is applied IF ( UpdtMR .AND. & ( ABS( SUM(State_Met%DP_DRY_PREV ) & - SUM(State_Met%DELP_DRY ) ) < 1d-14 ) ) THEN ! The concentration update formula works only for dry mixing ratios ! (kg/kg or v/v) so check if units are correct IF ( .not. allSpeciesInDryMixingRatio( State_Chm ) ) THEN ErrMsg = 'All species must be in dry mixing ratio when ' // & 'update_mixing_ratio=.TRUE.!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, L, N ) DO N = 1, State_Chm%nSpecies ! Tell OpenMP to vectorize this loop !$OMP SIMD DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX State_Chm%Species(N)%Conc(I,J,L) = & State_Chm%Species(N)%Conc(I,J,L) * State_Met%DP_DRY_PREV(I,J,L) & / State_Met%DELP_DRY(I,J,L) ENDDO ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDIF END SUBROUTINE AIRQNT !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: interp ! ! !DESCRIPTION: Subroutine INTERP linearly interpolates GEOS-Chem I6 and I3 ! fields (winds, surface pressure, temperature, surface albedo, specific ! humidity etc.) to the current dynamic timestep. !\\ !\\ ! !INTERFACE: ! SUBROUTINE INTERP( NTIME0, NTIME1, NTDT, Input_Opt, State_Grid, State_Met ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: NTIME0 ! Elapsed time [s] at ! start of outer time step INTEGER, INTENT(IN) :: NTIME1 ! Elapsed time [s] at ! current time INTEGER, INTENT(IN) :: NTDT ! Dynamic timestep [s] TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! State Grid object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State object ! ! !REMARKS: ! Different met fields are archived at I6 (instantaneous 6-hr) and ! I3 (instantaneous 3-hr) time resolution depending on the specific product. ! ! !REVISION HISTORY: ! 30 Jan 1998 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, J, L REAL(fp) :: D_NTIME0, D_NTIME1, D_NDT REAL(fp) :: D_NTDT, TM, TC2 REAL(fp) :: YSOUTH, YNORTH !================================================================= ! Initialization !================================================================= ! Convert time variables from FLOAT to DBLE D_NTIME0 = DBLE( NTIME0 ) D_NTIME1 = DBLE( NTIME1 ) D_NTDT = DBLE( NTDT ) D_NDT = 10800e+0_fp ! For 3-hr instantaneous fields ! Fraction of timestep elapsed at mid point of this dyn timestep TM = ( D_NTIME1 + D_NTDT/2e+0_fp - D_NTIME0 ) / D_NDT ! Fraction of timestep elapsed at the end of this dyn timestep TC2 = ( D_NTIME1 + D_NTDT - D_NTIME0 ) / D_NDT ! For I3 fields, need to reset fraction after 3 hours (ewl, 5/12/2015) IF ( TM > 1.0e+0_fp ) THEN TM = TM - 1.0e+0_fp TC2 = TC2 - 1.0e+0_fp ENDIF !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, YSOUTH, YNORTH ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX !---------------------------------------------------- ! Interpolate 2D variables !---------------------------------------------------- IF ( L == 1 ) THEN ! North & south edges of box YSOUTH = State_Grid%YEdge(I,J ) YNORTH = State_Grid%YEdge(I,J+1) ! Interpolate wet pressure [hPa] to the end of the dynamic timestep State_Met%PSC2_WET(I,J) = State_Met%PS1_WET(I,J) + & ( State_Met%PS2_WET(I,J) - & State_Met%PS1_WET(I,J) ) * TC2 ! Do the same for dry pressure [hPa] (ewl, 5/4/16) State_Met%PSC2_DRY(I,J) = State_Met%PS1_DRY(I,J) + & ( State_Met%PS2_DRY(I,J) - & State_Met%PS1_DRY(I,J) ) * TC2 ! Even though TROPP is a 3-hour average field, we ! we still need to make sure to cap TROPP in the ! polar regions (if the entire box is outside 60S-60N) ! so that we don't do chemistry at an abnormally high ! altitude. Set TROPP in the polar regions to 200 hPa. ! (jal, phs, bmy, 9/18/07) IF ( YSOUTH >= 60.0_fp .OR. YNORTH <= -60.0_fp ) THEN State_Met%TROPP(I,J) = MAX( State_Met%TROPP(I,J), 200e+0_fp ) ENDIF ENDIF !---------------------------------------------------- ! Interpolate 3D variables !---------------------------------------------------- ! Interpolate temperature State_Met%T(I,J,L) = State_Met%TMPU1(I,J,L) + & ( State_Met%TMPU2(I,J,L) - State_Met%TMPU1(I,J,L) ) * TM ! Interpolate specific humidity State_Met%SPHU(I,J,L) = State_Met%SPHU1(I,J,L) + & ( State_Met%SPHU2(I,J,L) - State_Met%SPHU1(I,J,L) ) * TM ENDDO ENDDO ENDDO !$OMP END PARALLEL DO END SUBROUTINE INTERP !EOC #if defined( ESMF_ ) || defined( EXTERNAL_GRID ) !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: gchp_cap_tropopause_prs ! ! !DESCRIPTION: Subroutine GCHP\_CAP\_TROPOPAUSE\_PRS caps the tropopause ! pressure in polar latitudes to 200 hPa, so that we don't end up doing ! troposheric chemistry too high over the poles. This is done in the ! standalone GEOS-Chem, and we also need to apply this when running ! GEOS-Chem within the GEOS-5 GCM. !\\ !\\ ! !INTERFACE: ! SUBROUTINE GCHP_Cap_Tropopause_Prs( Input_Opt, State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REMARKS: ! Jennifer Logan (see correspondence below) suggested that we should cap the ! variable tropopause at 200hPa in near-polar regions (90-60S and 60-90N), ! to avoid the problem with anomalously high tropopause heights at high ! latitudes. This fix was standardized in GEOS-Chem v7-04-13. ! . ! Jennifer Logan wrote: ! I think we should restrict the tropopause at latitudes > 60 deg. to ! pressures greater than 200 mb (about 11 km). From Fig. 3 in Seidel and ! Randel, there are tropopause (TP) heights as high as 13.5 km in the ! Antarctic (median height is ~9.8 km, 250 mb), but I don't think we want ! to be doing trop. chem there. The median TP pressure at ~80 N is ~300 mb, ! compared to ~250 mb at 70-85 S. The extratropical TP heights are higher ! (lower pressure) in the SH than in the NH according to Fig. 3. ! This approach is also very easy to explain in a paper. ! ! !REVISION HISTORY: ! 14 Mar 2013 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, J REAL*8 :: YSOUTH, YNORTH ! Assume success RC = GC_SUCCESS ! Return if option not set #ifdef MODEL_GEOS IF ( .NOT. Input_Opt%LCAPTROP ) RETURN #endif ! Loop over grid boxes on this PET DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! North & south edges of box YSOUTH = State_Grid%YEdge(I,J ) YNORTH = State_Grid%YEdge(I,J+1) ! Cap tropopause height at 200 hPa polewards of 60N and 60S IF ( YSOUTH >= 60d0 .or. YNORTH <= -60d0 ) THEN State_Met%TROPP(I,J) = MAX( State_Met%TROPP(I,J), 200d0 ) ENDIF ENDDO ENDDO END SUBROUTINE GCHP_Cap_Tropopause_Prs !EOC #endif !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: set_dry_surface_pressure ! ! !DESCRIPTION: Subroutine SET\_DRY\_SURFACE\_PRESSURE sets the dry ! surface pressures PS1\_DRY or PS2\_DRY by removing the water vapor from ! the column constructed with MET pressure fields PS1\_WET or PS2\_WET. !\\ !\\ ! !INTERFACE: ! SUBROUTINE SET_DRY_SURFACE_PRESSURE( State_Grid, State_Met, PS_ID) ! ! !USES: ! USE ERROR_MOD, ONLY : CHECK_VALUE USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE PRESSURE_MOD, ONLY : GET_AP, GET_BP ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: PS_ID ! 1 = PS1, 2 = PS2 TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State object ! ! !REMARKS: ! This subroutine is an adaptation of the GEOS-Chem moisture fix ! implemented by Meemong Lee (JPL) in the adjoint model. Like PS1_WET ! and PS2_WET, from which PS1_DRY and PS2_DRY are derived, these values ! are interpolated within routine INTERP to derive instantaneous PSC2_DRY. ! Note that PSC2_WET and PSC2_DRY are not used to fetch pressures and ! calculate air quantities until after advection. Also note that the ! dry surface pressure calculated in this routine may be used to ! calculate delta dry pressures across a level by utilitizing GMAO ! parameters Ap and Bp but should not be used to extract dry pressure ! edge values as a height proxy. ! ! !REVISION HISTORY: ! 03 May 2002 - E. Lundgren - Initial version (M. Lee, JPL) ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, J, L REAL(fp) :: PEDGE_BOT, PEDGE_TOP ! Pointers REAL(fp), POINTER :: PS_WET(:,:) => NULL() REAL(fp), POINTER :: PS_DRY(:,:) => NULL() REAL(fp), POINTER :: SPHU(:,:,:) => NULL() !================================================================= ! SET_DRY_SURFACE_PRESSURE begins here! !================================================================= ! Set pointer to the appropriate humidity IF ( PS_ID == 1 ) THEN SPHU => State_Met%SPHU1 ELSE IF ( PS_ID == 2 ) THEN SPHU => State_Met%SPHU2 ENDIF ! Set pointers to State_Met pressure fields. IF ( PS_ID == 1 ) THEN PS_WET => State_Met%PS1_WET PS_DRY => State_Met%PS1_DRY ELSE IF ( PS_ID == 2 ) THEN PS_WET => State_Met%PS2_WET PS_DRY => State_Met%PS2_DRY ELSE ! Throw an error (to be added) ENDIF ! Reset dry surface pressure to TOA value PS_DRY = GET_AP(State_Grid%NZ+1) ! Calculate dry surface pressure from GMAO wet pressure as the ! column sum of wet delta pressures with humidity removed !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, PEDGE_BOT, PEDGE_TOP ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX DO L = 1, State_Grid%NZ PEDGE_BOT = GET_AP(L) + GET_BP(L) * PS_WET(I,J) PEDGE_TOP = GET_AP(L+1) + GET_BP(L+1) * PS_WET(I,J) PS_DRY(I,J) = PS_DRY(I,J) + ( PEDGE_BOT - PEDGE_TOP ) * & ( 1.e+0_fp - SPHU(I,J,L) * 1.0e-3_fp ) ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ! If dry pressure is negative, set equal to moist pressure !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX IF ( PS_DRY(I,J) < 0.e+0_fp) THEN PS_DRY(I,J) = PS_WET(I,J) ENDIF ENDDO ENDDO !$OMP END PARALLEL DO ! Nullify pointers PS_WET => NULL() PS_DRY => NULL() SPHU => NULL() END SUBROUTINE SET_DRY_SURFACE_PRESSURE !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: get_obk ! ! !DESCRIPTION: Function GET\_OBK returns the Monin-Obhukov length at a grid ! box (I,J). !\\ !\\ ! !INTERFACE: ! FUNCTION GET_OBK( I, J, State_Met ) RESULT( OBK ) ! ! !USES: ! USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I ! Longitude index INTEGER, INTENT(IN) :: J ! Latitude index TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !RETURN VALUE: ! REAL(fp) :: OBK ! Monin-Obhukhov length ! ! !REMARKS: ! ! ! !REVISION HISTORY: ! 25 May 2005 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC !================================================================= ! For all GEOS met fields: ! ! The direct computation of the Monin-Obhukov length is: ! ! - Air density * Cp * T(surface air) * Ustar^3 ! OBK = ----------------------------------------------- ! Kappa * g * Sensible Heat flux ! ! Cp = 1000 J / kg / K = specific heat of air at constant P ! Kappa = 0.4 = Von Karman's constant ! ! ! Also test the denominator in order to prevent div by zero. !================================================================= ! Local variables REAL(fp) :: NUM, DEN ! Parameters REAL(fp), PARAMETER :: KAPPA = 0.4e+0_fp REAL(fp), PARAMETER :: CP = 1000.0e+0_fp ! Numerator NUM = - State_Met%AIRDEN(I,J,1) * CP * & State_Met%TS(I,J) * State_Met%USTAR(I,J) * & State_Met%USTAR(I,J) * State_Met%USTAR(I,J) ! Denominator DEN = KAPPA * g0 * State_Met%HFLUX(I,J) ! Prevent div by zero IF ( ABS( DEN ) > 0e+0_fp ) THEN OBK = NUM / DEN ELSE OBK = 1.0e+5_fp ENDIF END FUNCTION GET_OBK !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: get_cosine_sza ! ! !DESCRIPTION: Routine GET\_COSINE\_SZA is a driver for calling the COSSZA ! routine from dao\_mod.F. This routine calls COSSZA twice. The first call ! computes the sun angles at the current time and midpoint of the current ! chemistry time step. The second call computes the sun angles 5 hours ! prior to the current time (for the PARANOX ship emissions plume model). !\\ !\\ ! !INTERFACE: ! SUBROUTINE GET_COSINE_SZA( Input_Opt, State_Grid, State_Met, RC ) ! ! USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE JULDAY_MOD, ONLY : JULDAY USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_DAY_OF_YEAR USE TIME_MOD, ONLY : GET_DAY USE TIME_MOD, ONLY : GET_GMT USE TIME_MOD, ONLY : GET_HOUR USE TIME_MOD, ONLY : GET_MINUTE USE TIME_MOD, ONLY : GET_SECOND USE TIME_MOD, ONLY : GET_MONTH USE TIME_MOD, ONLY : GET_YEAR ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 07 Feb 2012 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete histor !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARAIBLES ! ! Scalars INTEGER :: DOY, YEAR, MONTH, DAY, HOUR, MINUTE, SECOND REAL*8 :: DDAY, JD, GMT !================================================================= ! Get cosine(SZA) at the current time (SUNCOS) and at the ! midpoint of the chemistry timestep (SUNCOS_MID) !================================================================= ! Assume success RC = GC_SUCCESS ! Current time DOY = GET_DAY_OF_YEAR() ! Current day of year YEAR = GET_YEAR() ! Current year MONTH = GET_MONTH() ! Current month DAY = GET_DAY() ! Current day of month HOUR = GET_HOUR() ! Current GMT hour MINUTE = GET_MINUTE() ! Current GMT minutes SECOND = GET_SECOND() ! Current GMT seconds GMT = GET_GMT() ! Current GMT DDAY = DAY + ( HOUR/24d0 ) + & ! Current decimal day ( MINUTE/1440d0 ) + ( SECOND/3600d0 ) JD = JULDAY( YEAR, MONTH, DDAY ) ! Current Julian date ! Compute cosine(SZA) quantities for the current time CALL COSSZA( DOY, HOUR, State_Grid, State_Met ) ! Compute sum of COSSZA for HEMCO CALL Calc_SumCosZa ( State_Grid, State_Met ) END SUBROUTINE GET_COSINE_SZA !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: cossza ! ! !DESCRIPTION: COSSZA computes the cosine of the solar zenith angle, given ! the day of the year and GMT hour. The cosine of the solar zenith ! angle is returned at both the current time and at the midpoint of the ! chemistry timestep (i.e. for the centralized chemistry timestep option). !\\ !\\ ! !INTERFACE: ! SUBROUTINE COSSZA( DOY, GMT_HOUR, State_Grid, State_Met ) ! ! !USES: ! USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_MINUTE, GET_SECOND USE TIME_MOD, ONLY : GET_LOCALTIME USE TIME_MOD, ONLY : GET_TS_CHEM ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: DOY ! Day of the year INTEGER, INTENT(IN) :: GMT_HOUR ! Hour of day TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State ! ! !REMARKS: ! Hour angle (AHR) is a function of longitude. AHR is zero at solar noon, ! and increases by 15 deg for every hour before or after solar noon. Hour ! angle can be thought of as the time in hours since the sun last passed ! the meridian (i.e. the time since the last local noon). ! . ! The cosine of the solar zenith angle (SZA) is given by: ! . ! cos(SZA) = sin(LAT)*sin(DEC) + cos(LAT)*cos(DEC)*cos(AHR) ! . ! where LAT = the latitude angle, ! DEC = the solar declination angle, ! AHR = the hour angle, all in radians. ! . ! If SUNCOS < 0, then the sun is below the horizon, and therefore does not ! contribute to any solar heating. ! ! !REVISION HISTORY: ! 21 Jan 1998 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, J INTEGER :: SECOND, MINUTE, TS_SUN, FACTOR REAL(fp) :: TIMLOC, DEC, C_DEC REAL(fp) :: S_DEC, R, YMID_R REAL(fp) :: C_YMID_R, S_YMID_R REAL(fp) :: AHR, SUNCOS, SUNCOS_MID REAL(f8) :: GMT_CUR, GMT_MID ! ! !DEFINED PARAMETERS: ! ! Coefficients for solar declination angle REAL(fp), PARAMETER :: A0 = 0.006918e+0_fp REAL(fp), PARAMETER :: A1 = 0.399912e+0_fp REAL(fp), PARAMETER :: A2 = 0.006758e+0_fp REAL(fp), PARAMETER :: A3 = 0.002697e+0_fp REAL(fp), PARAMETER :: B1 = 0.070257e+0_fp REAL(fp), PARAMETER :: B2 = 0.000907e+0_fp REAL(fp), PARAMETER :: B3 = 0.000148e+0_fp !================================================================= ! Initialization !================================================================= ! Quantities for central chemistry timestep TS_SUN = GET_TS_CHEM() ! Chemistry interval SECOND = GET_SECOND() ! Current seconds MINUTE = GET_MINUTE() ! Current minutes FACTOR = ( MINUTE * 60 + SECOND ) / TS_SUN ! Multiplying factor ! GMT at the current time GMT_CUR = DBLE( GMT_HOUR ) & + ( DBLE( TS_SUN * FACTOR ) / 3600e+0_fp ) ! GMT at the midpoint of the chemistry time interval GMT_MID = ( DBLE( GMT_HOUR ) ) & + ( DBLE( TS_SUN * FACTOR ) / 3600e+0_fp ) & + ( DBLE( TS_SUN / 2 ) / 3600e+0_fp ) ! Path length of earth's orbit traversed since Jan 1 [radians] R = ( 2e+0_fp * PI / 365e+0_fp ) * DBLE( DOY - 1 ) ! Solar declination angle (low precision formula) [radians] DEC = A0 - A1*COS( R ) + B1*SIN( R ) & - A2*COS( 2e+0_fp*R ) + B2*SIN( 2e+0_fp*R ) & - A3*COS( 3e+0_fp*R ) + B3*SIN( 3e+0_fp*R ) ! Pre-compute sin & cos of DEC outside of DO loops (for efficiency) S_DEC = SIN( DEC ) C_DEC = COS( DEC ) !================================================================= ! Compute cosine of solar zenith angle !================================================================= !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, YMID_R, S_YMID_R, C_YMID_R ) & !$OMP PRIVATE( TIMLOC, AHR, SUNCOS, SUNCOS_MID ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Latitude of grid box [radians] YMID_R = State_Grid%YMid_R(I,J) ! Pre-compute sin & cos of DEC outside of I loop (for efficiency) S_YMID_R = SIN( YMID_R ) C_YMID_R = COS( YMID_R ) !============================================================== ! Compute cosine of SZA at the current GMT time !============================================================== ! Local time at box (I,J) [hours] TIMLOC = GET_LOCALTIME( I, J, 1, State_Grid, GMT=GMT_CUR ) ! Hour angle at box (I,J) [radians] AHR = ABS( TIMLOC - 12e+0_fp ) * 15e+0_fp * PI_180 ! Cosine of solar zenith angle at box (I,J) [unitless] SUNCOS = ( S_YMID_R * S_DEC ) & + ( C_YMID_R * C_DEC * COS( AHR ) ) !============================================================== ! Compute cosine of SZA at the midpoint of the chem timestep ! Required for photolysis, chemistry, emissions, drydep !============================================================== ! Local time [hours] at box (I,J) at the midpt of the chem timestep TIMLOC = GET_LOCALTIME( I, J, 1, State_Grid, GMT=GMT_MID ) ! Hour angle at box (I,J) [radians] AHR = ABS( TIMLOC - 12e+0_fp ) * 15e+0_fp * PI_180 ! Corresponding cosine( SZA ) at box (I,J) [unitless] SUNCOS_MID = ( S_YMID_R * S_DEC ) & + ( C_YMID_R * C_DEC * COS( AHR ) ) !============================================================== ! Copy data into fields of the Meteorology State object !============================================================== ! COS(SZA) at the current time State_Met%SUNCOS (I,J) = SUNCOS ! COS(SZA) @ the midpoint of the current chemistry timestep State_Met%SUNCOSmid (I,J) = SUNCOS_MID ENDDO ENDDO !$OMP END PARALLEL DO END SUBROUTINE COSSZA !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: calc_sumcosza ! ! !DESCRIPTION: ! Subroutine CALC\_SUMCOSZA computes the sum of cosine of the solar zenith ! angle over a 24 hour day, as well as the total length of daylight. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Calc_SumCosZa( State_Grid, State_Met ) ! ! !USES: ! USE PhysConstants USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_NHMSb, GET_ELAPSED_SEC USE TIME_MOD, ONLY : GET_TS_CHEM, GET_DAY_OF_YEAR, GET_GMT ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER, SAVE :: SAVEDOY = -1 INTEGER :: I, J, L, N, NT, NDYSTEP REAL(fp) :: A0, A1, A2, A3, B1, B2, B3 REAL(fp) :: LHR0, R, AHR, DEC, TIMLOC, YMID_R REAL(fp) :: SUNTMP(State_Grid%NX,State_Grid%NY) !======================================================================= ! CALC_SUMCOSZA begins here! !======================================================================= ! Solar declination angle (low precision formula, good enough for us): A0 = 0.006918 A1 = 0.399912 A2 = 0.006758 A3 = 0.002697 B1 = 0.070257 B2 = 0.000907 B3 = 0.000148 R = 2.* PI * float( GET_DAY_OF_YEAR() - 1 ) / 365. DEC = A0 - A1*cos( R) + B1*sin( R) & - A2*cos(2*R) + B2*sin(2*R) & - A3*cos(3*R) + B3*sin(3*R) LHR0 = int(float( GET_NHMSb() )/10000.) ! Only do the following at the start of a new day IF ( SAVEDOY /= GET_DAY_OF_YEAR() ) THEN ! Zero arrays State_Met%SUNCOSsum(:,:) = 0e+0_fp ! NDYSTEP is # of chemistry time steps in this day NDYSTEP = ( 24 - INT( GET_GMT() ) ) * 3600 / GET_TS_CHEM() ! NT is the elapsed time [s] since the beginning of the run NT = GET_ELAPSED_SEC() ! Loop forward through NDYSTEP "fake" timesteps for this day DO N = 1, NDYSTEP ! Zero SUNTMP array SUNTMP = 0e+0_fp ! Loop over surface grid boxes !!$OMP PARALLEL DO !!$OMP DEFAULT( SHARED ) !!$OMP PRIVATE( I, J, YMID_R, TIMLOC, AHR ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Grid box latitude center [radians] YMID_R = State_Grid%YMid_R(I,J) TIMLOC = real(LHR0) + real(NT)/3600.0 + & State_Grid%XMid(I,J) / 15.0 DO WHILE (TIMLOC .lt. 0) TIMLOC = TIMLOC + 24.0 ENDDO DO WHILE (TIMLOC .gt. 24.0) TIMLOC = TIMLOC - 24.0 ENDDO AHR = abs(TIMLOC - 12.) * 15.0 * PI_180 !=========================================================== ! The cosine of the solar zenith angle (SZA) is given by: ! ! cos(SZA) = sin(LAT)*sin(DEC) + cos(LAT)*cos(DEC)*cos(AHR) ! ! where LAT = the latitude angle, ! DEC = the solar declination angle, ! AHR = the hour angle, all in radians. ! ! If SUNCOS < 0, then the sun is below the horizon, and ! therefore does not contribute to any solar heating. !=========================================================== ! Compute Cos(SZA) SUNTMP(I,J) = sin(YMID_R) * sin(DEC) + & cos(YMID_R) * cos(DEC) * cos(AHR) ! SUMCOSZA is the sum of SUNTMP at location (I,J) ! Do not include negative values of SUNTMP State_Met%SUNCOSsum(I,J) = State_Met%SUNCOSsum(I,J) + & MAX(SUNTMP(I,J),0e+0_fp) ENDDO ENDDO !!$OMP END PARALLEL DO ! Increment elapsed time [sec] NT = NT + GET_TS_CHEM() ENDDO ! Set saved day of year to current day of year SAVEDOY = GET_DAY_OF_YEAR() ENDIF END SUBROUTINE Calc_SumCosZa !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: set_clock_tracer ! ! !DESCRIPTION: Subroutine Set\_Clock_Tracer adds the time step (in seconds) ! to every grid box every time step with a total sink at the surface every ! time step to reproduce GMI tracer mechanism. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Set_Clock_Tracer( State_Chm, State_Grid ) ! ! !USES: ! USE State_Chm_Mod, ONLY : ChmState USE State_Chm_Mod, ONLY : Ind_ USE State_Grid_Mod, ONLY : GrdState USE TIME_MOD, ONLY : GET_TS_DYN ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !REVISION HISTORY: ! 21 Dec 2018 - M. Sulprizio- Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! LOGICAL, SAVE :: FIRST = .TRUE. INTEGER :: I, J, L INTEGER, SAVE :: id_CLOCK REAL(fp), SAVE :: TimeStep !================================================================= ! SET_CLOCK_TRACER begins here! !================================================================= IF ( FIRST ) THEN ! Define species ID's on the first call id_CLOCK = Ind_( 'CLOCK' ) ! Get timestep [s] TimeStep = GET_TS_DYN() ! Reset first-time flag FIRST = .FALSE. ENDIF !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L ) DO L=1,State_Grid%NZ DO J=1,State_Grid%NY DO I=1,State_Grid%NX IF ( L == 1 ) THEN ! Set the surface to a sink State_Chm%Species(id_CLOCK)%Conc(I,J,L) = 0.0_fp ELSE ! Otherwise add time step [s] State_Chm%Species(id_CLOCK)%Conc(I,J,L) = & State_Chm%Species(id_CLOCK)%Conc(I,J,L) + TimeStep ENDIF ENDDO ENDDO ENDDO !$OMP END PARALLEL DO END SUBROUTINE Set_Clock_Tracer !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: allSpeciesinDryMixingRatio ! ! !DESCRIPTION: Returns a logical value to indicate if all species are ! in dry !\\ !\\ ! !INTERFACE: ! FUNCTION allSpeciesInDryMixingRatio( State_Chm ) RESULT( isDryMixRatio ) ! ! !USES: ! USE State_Chm_Mod, ONLY : ChmState USE UnitConv_Mod, ONLY : KG_SPECIES_PER_KG_DRY_AIR USE UnitConv_Mod, ONLY : MOLES_SPECIES_PER_MOLES_DRY_AIR ! ! !INPUT PARAMETERS: ! TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry state object ! ! !RETURN VALUE: ! LOGICAL :: isDryMixRatio ! All species are in dry MR ! ! !REVISION HISTORY: ! 21 Feb 2024 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC !================================================================= ! allSpeciesInDryMixingRatio begins here! !================================================================= isDryMixRatio = ( & ALL( State_Chm%Species(:)%Units == KG_SPECIES_PER_KG_DRY_AIR )& .or. & ALL( State_Chm%Species(:)%Units == MOLES_SPECIES_PER_MOLES_DRY_AIR )& ) END FUNCTION allSpeciesInDryMixingRatio !EOC END MODULE CALC_MET_MOD ================================================ FILE: GeosCore/carbon_gases_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: carbon_gases_mod.F90 ! ! !DESCRIPTION: Module CARBON_GASES_MOD contains variables and routines ! for simulating CH4, CO, CO2, and OCS with an online calculation of the ! chemistry between them using KPP. It was adapted directly from code ! provided by Beata Bukosa. !\\ !\\ ! !INTERFACE: ! MODULE Carbon_Gases_Mod ! ! !USES: ! USE Error_Mod, ONLY : Safe_Div USE Hco_Error_Mod, ONLY : HCO_SUCCESS, HCO_FAIL, HCO_WARNING, hp USE PhysConstants USE Precision_Mod IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: CO2_Production PUBLIC :: Chem_Carbon_Gases PUBLIC :: Init_Carbon_Gases PUBLIC :: Cleanup_Carbon_Gases ! ! !REVISION HISTORY: ! 04 Apr 2022 - M.S. Long - Initial version, based on work by B. Bukosa ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !PRIVATE TYPES: ! ! Scalars LOGICAL :: useGlobOHbmk10yr LOGICAL :: useGlobOHv5 INTEGER :: id_CH4, id_CH4_adv, id_CO, id_CO_adv INTEGER :: id_CO2, id_CO2_adv, id_OCS, id_OCS_adv INTEGER :: id_OH REAL(fp) :: xnumol_CH4, xnumol_CO, xnumol_CO2, xnumol_OH ! Arrays REAL(fp), ALLOCATABLE :: sumOfCosSza(:,:) ! ! !DEFINED PARAMETERS: ! INTEGER, PARAMETER :: N_CH4_DIAGS = 16 REAL(fp), PARAMETER :: CM2perM2 = 1.0e+4_fp REAL(fp), PARAMETER :: CM3perM3 = 1.0e+6_fp REAL(fp), PARAMETER :: toMolecCm3 = ( AVO / AIRMW ) * 1.0e-3_fp CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: co2_production ! ! !DESCRIPTION: Places CO2 production from CO oxidation into the chemical ! species array. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CO2_Production( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE HCO_State_Mod, ONLY : Hco_GetHcoId USE HCO_State_GC_Mod, ONLY : HcoState USE HCO_Utilities_GC_Mod, ONLY : HCO_GC_EvalFld USE HCO_Utilities_GC_Mod, ONLY : HCO_GC_GetDiagn USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! SAVEd scalars LOGICAL, SAVE :: FIRST = .TRUE. ! Scalars LOGICAL :: prtDebug INTEGER :: I, J INTEGER :: L, N REAL(fp) :: dtSrce, P_CO2 ! Strings CHARACTER(LEN=255) :: thisLoc CHARACTER(LEN=512) :: errMsg ! Arrays REAL(hp) :: CH4scale(N_CH4_DIAGS) REAL(fp) :: PCO2_fr_CO( & State_Grid%NX, & State_Grid%NY, & State_Grid%NZ) ! String arrays CHARACTER(LEN=15) :: CH4diag(N_CH4_DIAGS) ! Pointers TYPE(SpcConc), POINTER :: Spc(:) REAL(f4), POINTER :: Ptr2D(:,:) ! ! !DEFINED PARAMETERS: ! ! Molecules C per kg C REAL(fp), PARAMETER :: xnumol_C = AVO / 12.0e-3_fp !======================================================================== ! CO2_Production begins here! !======================================================================== ! Initialize RC = GC_SUCCESS Ptr2D => NULL() Spc => NULL() errMsg = '' thisLoc = & ' -> at CO2_production (in module GeosCore/carbon_gases_mod.F90)' ! Exit with error if we can't find the HEMCO state object IF ( .NOT. ASSOCIATED( HcoState ) ) THEN errMsg = 'The HcoState object is undefined!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Emission timestep dtSrce = HcoState%TS_EMIS !======================================================================== ! CO2 production from CO oxidation !======================================================================== ! Use CO2_COPROD field instead of computing CO2 production in KPP ! (the latter slows down the CO2 chemistry and produced differences ! that need to be evaluated by the Carbon Gases Working Group) IF ( id_CO2_adv > 0 ) THEN IF ( Input_Opt%amIRoot .and. FIRST ) THEN WRITE( 6, 100 ) 100 FORMAT( 'Carbon_Gases: Applying production of CO2 from CO from file') ENDIF ! Point to chemical species array [kg/kg dry air] Spc => State_Chm%Species ! Evalulate the CO2 production from HEMCO CALL HCO_GC_EvalFld( Input_Opt, State_Grid, 'CO2_COPROD', & PCO2_fr_CO, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'CO_COPROD not found in HEMCO data list!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Loop over all grid boxes !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, L, P_CO2, N )& !$OMP COLLAPSE( 3 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Production is in [kg C/m3], convert to [molec/cm2/s] P_CO2 = PCO2_fr_CO(I,J,L) & ! kg/m3 / CM3perM3 & ! => kg/cm3 * xnumol_C & ! => molec/cm3 / dtSrce & ! => molec/cm3/s * State_Met%BXHEIGHT(I,J,L) * 100.0_fp ! => molec/cm2/s !------------------------------------------------------------------ ! %%%%% HISTORY (aka netCDF diagnostics) %%%%% ! ! Save production of CO2 from CO oxidation [kg/m2/s] !------------------------------------------------------------------ IF ( State_Diag%Archive_ProdCO2fromCO ) THEN State_Diag%ProdCO2fromCO(I,J,L) = P_CO2 & ! molec/cm2/s / xnumol_CO2 & ! => kg/cm2/s * CM2perM2 ! => kg/m2/s ENDIF ! Convert emissions from [molec/cm2/s] to [kg/kg dry air] ! (ewl, 9/11/15) P_CO2 = P_CO2 * DTSRCE * CM2perM2 / & ( XNUMOL_CO2 * State_Met%DELP(I,J,L) & * G0_100 * ( 1.0e+0_fp & - State_Met%SPHU(I,J,L) * 1.0e-3_fp ) ) ! Total CO2 [kg/kg dry air] Spc(id_CO2)%Conc(I,J,L) = Spc(id_CO2)%Conc(I,J,L) + P_CO2 ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ! Free pointer Spc => NULL() ENDIF ! Reset first-time flag FIRST = .FALSE. ! Free pointers for safety's sake Spc => NULL() Ptr2D => NULL() END SUBROUTINE CO2_Production !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: chem_carbon_gases ! ! !DESCRIPTION: Computes the chemical loss of carbon species (sources - sinks) !\\ !\\ ! !INTERFACE: ! SUBROUTINE Chem_Carbon_Gases( Input_Opt, State_Met, State_Chm, & State_Grid, State_Diag, RC ) ! ! !USES: ! USE carbon_Funcs USE gckpp_Global USE gckpp_Integrator, ONLY : Integrate USE gckpp_Parameters USE gckpp_Precision USE gckpp_Rates, ONLY : Update_Rconst USE ErrCode_Mod USE HCO_State_Mod, ONLY : Hco_GetHcoId USE HCO_Utilities_GC_Mod, ONLY : HCO_GC_HcoStateOK USE Input_Opt_Mod, ONLY : OptInput USE rateLawUtilFuncs, ONLY : SafeDiv USE Species_Mod, ONLY : SpcConc USE State_Grid_Mod, ONLY : GrdState USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Met_Mod, ONLY : MetState USE Time_Mod, ONLY : Get_Ts_Chem ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! SAVEd scalars LOGICAL, SAVE :: first = .TRUE. ! Scalars LOGICAL :: failed INTEGER :: HcoID, I INTEGER :: J, L INTEGER :: NA, N INTEGER :: IERR, S REAL(fp) :: dtChem, facDiurnal REAL(fp) :: tsPerDay REAL(f4) :: timeAfter, timeBefore ! Strings CHARACTER(LEN=255) :: errMsg CHARACTER(LEN=255) :: thisLoc ! Pointers TYPE(SpcConc), POINTER :: Spc(:) ! Arrays INTEGER :: ICNTRL(20) INTEGER :: ISTATUS(20) REAL(dp) :: RCNTRL(20) REAL(dp) :: RSTATE(20) REAL(fp) :: OHdiurnalFac(State_Grid%NX, State_Grid%NY) ! Arrays for data read in via HEMCO REAL(fp) :: Global_OH( State_Grid%NX, State_Grid%NY, State_Grid%NZ) REAL(fp) :: Global_Cl( State_Grid%NX, State_Grid%NY, State_Grid%NZ) REAL(fp) :: LCH4_in_Strat( State_Grid%NX, State_Grid%NY, State_Grid%NZ) REAL(fp) :: LCO_in_Strat( State_Grid%NX, State_Grid%NY, State_Grid%NZ) REAL(fp) :: PCO_in_Strat( State_Grid%NX, State_Grid%NY, State_Grid%NZ) REAL(fp) :: PCO_fr_CH4 ( State_Grid%NX, State_Grid%NY, State_Grid%NZ) REAL(fp) :: PCO_fr_NMVOC( State_Grid%NX, State_Grid%NY, State_Grid%NZ) !======================================================================== ! Chem_Carbon_Gases begins here! !======================================================================== ! Initialize RC = GC_SUCCESS dtChem = Get_Ts_Chem() tsPerDay = 86400.0_fp / dtChem Spc => State_Chm%Species errMsg = '' thisLoc = & ' -> at Chem_Carbon_Gases (in module GeosCore/carbon_gases_mod.F90)' !======================================================================== ! First-time only safety checks !======================================================================== IF ( first ) THEN ! Exit if the HEMCO state object has not yet been initialized IF ( .not. HCO_GC_HcoStateOK() ) THEN errMsg = 'HcoState object is not associated!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Determine which OH oxidant field we are using ! OH is only needed when CH4 or CO are included in the carbon species IF ( id_CH4_adv > 0 .or. id_CO_adv > 0 ) THEN CALL InquireGlobalOHversion( Input_Opt, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "InquireGlobalOHversion"!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF ! Reset first-time flag first = .FALSE. ENDIF !======================================================================== ! Zero diagnostic arrays so that we don't have leftover values ! from previous timesteps hanging around at the top of the chemgrid !======================================================================== CALL carbon_ZeroDiagArrays( State_Diag ) !======================================================================== ! Read chemical inputs (oxidant fields, concentrations) via HEMCO !======================================================================== CALL ReadChemInputFields( & Input_Opt = Input_Opt, & State_Grid = State_Grid, & State_Met = State_Met, & Global_OH = Global_OH, & Global_Cl = Global_Cl, & LCH4_in_Strat = LCH4_in_Strat, & LCO_in_Strat = LCO_in_Strat, & PCO_in_Strat = PCO_in_Strat, & PCO_fr_CH4 = PCO_fr_CH4, & PCO_fr_NMVOC = PCO_fr_NMVOC, & RC = RC ) !======================================================================== ! Compute OH diurnal cycle scaling factor ! (this scales OH by the position of the sun, and zeroes it at night) ! ! OH is only needed when CH4 or CO are included in the carbon species !======================================================================== IF ( id_CH4_adv > 0 .or. id_CO_adv > 0 ) THEN CALL Calc_Diurnal( & State_Grid = State_Grid, & State_Met = State_Met, & OHdiurnalFac = OHdiurnalFac ) !======================================================================== ! HISTORY: Diagnostic archival of OH [molec/cm3] !======================================================================== IF ( State_Diag%Archive_OHconcAfterChem ) THEN !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, L )& !$OMP COLLAPSE( 3 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Archive OH if we are in the chemistry grid [molec/cm3] IF ( State_Met%InChemGrid(I,J,L) ) THEN IF ( State_Diag%Archive_OHconcAfterChem ) THEN State_Diag%OHconcAfterChem(I,J,L) = Global_OH(I,J,L) & * OHdiurnalFac(I,J) ENDIF ENDIF ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDIF ENDIF ! Do not call KPP if neither CH4 or CO are advected species IF ( id_CH4_adv > 0 .or. id_CO_adv > 0 ) THEN !===================================================================== ! Main chemistry loop -- call KPP to integrate the mechanism forward !===================================================================== ! KPP forward-Euler integrator settings ICNTRL = 0 ICNTRL(1) = 1 ! Verbose error output ICNTRL(2) = 0 ! Stop model on negative values ICNTRL(15) = -1 ! Do not call Update_SUN, Update_RCONST w/in integrator ! Set a flag to denote if the chemistry failed failed = .FALSE. ! Loop over grid boxes !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, L, N, timeBefore, timeAfter )& !$OMP COLLAPSE( 3 )& !$OMP SCHEDULE( DYNAMIC, 24 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Initialize PRIVATE and THREADPRIVATE loop variables C = 0.0_dp ! Species conc. [molec/cm3] CFACTOR = 1.0_dp ! Not used, set = 1 k_Strat = 0.0_dp ! Rate in stratosphere[1/s] k_Trop = 0.0_dp ! Rate in troposphere [1/s] NUMDEN = State_Met%AIRNUMDEN(I,J,L)! Air density [molec/cm3] TROP = 0.0_dp ! Toggle for reaction TEMP = State_Met%T(I,J,L) ! Temperature [K] INV_TEMP = 1.0_dp / TEMP ! 1/T term for equations TEMP_OVER_K300 = TEMP / 300.0_dp ! T/300 term for equations K300_OVER_TEMP = 300.0_dp / TEMP ! 300/T term for equations SUNCOS = State_Met%SUNCOSmid(I,J) ! Cos(SZA) ) [1] timeBefore = 0.0_fp timeAfter = 0.0_fp !================================================================== ! Convert species to molec/cm3 for the KPP solver !================================================================== CALL carbon_ConvertKgtoMolecCm3( & I = I, & J = J, & L = L, & State_Met = State_Met, & State_Chm = State_Chm ) !================================================================== ! Update reaction rates !================================================================== ! Start measuring KPP-related routine timing for this grid box IF ( State_Diag%Archive_KppTime ) THEN CALL CPU_Time( timeBefore ) ENDIF ! Compute the rate constants that will be used CALL carbon_ComputeRateConstants( & I = I, & J = J, & L = L, & dtChem = dtChem, & ConcClMnd = Global_Cl(I,J,L), & ConcOHmnd = Global_OH(I,J,L), & LCH4_in_Strat = LCH4_in_Strat(I,J,L), & LCO_in_Strat = LCO_in_Strat(I,J,L), & OHdiurnalFac = OHdiurnalFac(I,J), & PCO_in_Strat = PCO_in_Strat(I,J,L), & PCO_fr_CH4_use = Input_Opt%LPCO_CH4, & PCO_fr_CH4 = PCO_fr_CH4(I,J,L), & PCO_fr_NMVOC_use = Input_Opt%LPCO_NMVOC, & PCO_fr_NMVOC = PCO_fr_NMVOC(I,J,L), & State_Met = State_Met, & State_Chm = State_Chm ) ! Update the array of rate constants for the KPP solver CALL Update_RCONST() !================================================================== ! Call the KPP integrator !================================================================== ! Integrate the mechanism forward in time CALL Integrate( & TIN = 0.0_dp, & TOUT = dtChem, & ICNTRL_U = ICNTRL, & IERR_U = IERR ) ! Trap potential errors IF ( IERR /= 1 ) failed = .TRUE. ! Start measuring KPP-related routine timing for this grid box IF ( State_Diag%Archive_KppTime ) THEN CALL CPU_Time( timeAfter ) ENDIF !================================================================== ! HISTORY: Update diags for KPP statistics + reaction rates !================================================================== CALL carbon_UpdateKppDiags( & I = I, & J = J, & L = L, & ISTATUS = ISTATUS, & timeBefore = timeBefore, & timeAfter = timeAfter, & State_Diag = State_Diag ) !================================================================== ! Convert species back to kg !================================================================== CALL carbon_ConvertMolecCm3ToKg( & I = I, & J = J, & L = L, & State_Chm = State_Chm, & State_Met = State_Met ) !================================================================== ! HISTORY: Production and loss of CO ! ! NOTE: Call functions in KPP/carbon/carbon_Funcs.F90 so ! that we avoid bringing in KPP species indices into this module. ! This avoids compile-time dependency errors. !================================================================== ! Production of CO from CH4 IF ( State_Diag%Archive_ProdCOfromCH4 ) THEN State_Diag%ProdCOfromCH4(I,J,L) = & carbon_Get_COfromCH4_Flux( dtChem ) ENDIF ! Units: [kg/s] Production of CO from NMVOCs IF ( State_Diag%Archive_ProdCOfromNMVOC ) THEN State_Diag%ProdCOfromNMVOC(I,J,L) = & carbon_Get_COfromNMVOC_Flux( dtChem ) ENDIF ENDDO ENDDO ENDDO !$OMP END PARALLEL DO !===================================================================== ! Exit with error if the integration failed ! (we cannot do this from within the parallel loop) !===================================================================== IF ( failed ) THEN errMsg = 'KPP integration failed!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF ! Free pointers for safety's sake Spc => NULL() END SUBROUTINE Chem_Carbon_Gases !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ReadChemInputFields ! ! !DESCRIPTION: Calls HCO_EvalFld to read the various oxidant and other ! non-emissions fields needed for the carbon simulation !\\ !\\ ! !INTERFACE: ! SUBROUTINE ReadChemInputFields( Input_Opt, State_Grid, State_Met, & Global_OH, Global_Cl, LCH4_in_Strat, & LCO_in_Strat, PCO_in_Strat, PCO_fr_CH4, & PCO_fr_NMVOC, RC ) ! ! !USES: ! USE ErrCode_Mod USE HCO_Utilities_GC_Mod, ONLY : HCO_GC_EvalFld USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: Global_OH( & State_Grid%NX, & State_Grid%NY, & State_Grid%NZ) ! OH conc REAL(fp), INTENT(OUT) :: Global_Cl( & State_Grid%NX, & State_Grid%NY, & State_Grid%NZ) ! Cl conc REAL(fp), INTENT(OUT) :: LCH4_in_Strat( & State_Grid%NX, & State_Grid%NY, & State_Grid%NZ) ! L(CH4) in strat REAL(fp), INTENT(OUT) :: LCO_in_Strat( & State_Grid%NX, & State_Grid%NY, & State_Grid%NZ) ! L(CO) in strat REAL(fp), INTENT(OUT) :: PCO_in_Strat( & State_Grid%NX, & State_Grid%NY, & State_Grid%NZ) ! P(CO) in strat REAL(fp), INTENT(OUT) :: PCO_fr_CH4( & State_Grid%NX, & State_Grid%NY, & State_Grid%NZ) ! P(CO) from CH4 REAL(fp), INTENT(OUT) :: PCO_fr_NMVOC( & State_Grid%NX, & State_Grid%NY, & State_Grid%NZ) ! P(CO) from NMVOC INTEGER, INTENT(OUT) :: RC ! Success/failure ! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: found ! Strings CHARACTER(LEN=63) :: dgnName CHARACTER(LEN=255) :: thisLoc CHARACTER(LEN=512) :: errMsg !======================================================================== ! ReadChemInputFields begins here! !======================================================================== ! Initialize RC = GC_SUCCESS found = .FALSE. dgnName = '' errMsg = '' thisLoc = & ' -> at ReadInputChemFields (in module GeosCore/carbon_gases_mod.F90)' ! Initialize fields to zero Global_OH = 0.0_fp Global_Cl = 0.0_fp LCH4_in_Strat = 0.0_fp LCO_in_Strat = 0.0_fp PCO_in_Strat = 0.0_fp PCO_fr_CH4 = 0.0_fp PCO_fr_NMVOC = 0.0_fp ! Fields only needed if CH4 is an advected species IF ( id_CH4_adv > 0 ) THEN !------------------------------------------------------------------------ ! Loss frequencies of CH4 ! Input via HEMCO ("CH4_LOSS" container) as [1/s] !------------------------------------------------------------------------ DgnName = 'CH4_LOSS' CALL HCO_GC_EvalFld( Input_Opt, State_Grid, DgnName, & LCH4_in_Strat, RC, found=found ) IF ( RC /= GC_SUCCESS .or. .not. found ) THEN errMsg = 'Cannot get pointer to HEMCO field ' // TRIM( DgnName ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Cl concentration: ! Input via HEMCO ("SpeciesConc" collection) as [mol/mol dry] ! Convert to [molec/cm3] below !------------------------------------------------------------------------ DgnName = 'GLOBAL_Cl' CALL HCO_GC_EvalFld( Input_Opt, State_Grid, DgnName, & Global_Cl, RC, found=found ) IF ( RC /= GC_SUCCESS .or. .not. found ) THEN errMsg = 'Cannot get pointer to HEMCO field ' // TRIM( DgnName ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Convert orignal units [mol/mol dry air] to [molec/cm3] Global_Cl = ( Global_Cl * State_Met%AirDen ) * toMolecCm3 ENDIF ! Fields only needed if CH4 or CO are advected species IF ( id_CH4_adv > 0 .or. id_CO_adv > 0 ) THEN !------------------------------------------------------------------------ ! OH concentration: from GEOS-Chem v5 or GEOS-Chem 10yr benchmark !------------------------------------------------------------------------ IF ( useGlobOHv5 .or. useGlobOHbmk10yr ) THEN ! NOTE: Container name is GLOBAL_OH for both data sets! DgnName = 'GLOBAL_OH' CALL HCO_GC_EvalFld( Input_Opt, State_Grid, DgnName, & Global_OH, RC, found=found ) IF ( RC /= GC_SUCCESS .or. .not. found ) THEN errMsg = 'Cannot get pointer to HEMCO field ' // TRIM( DgnName ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF ! If we are using OH from recent a 10-year benchmark ("SpeciesConc") ! then convert OH [mol/mol dry air] to [molec/cm3]. IF ( useGlobOHbmk10yr ) THEN Global_OH = ( Global_OH * State_Met%AirDen ) * toMolecCm3 ENDIF ! If we are using Global_OH from GEOS-Chem v5 (e.g. for the IMI or ! methane simulations) then convert OH from [kg/m3] to [molec/cm3]. IF ( useGlobOHv5 ) THEN Global_OH = Global_OH * xnumol_OH / CM3perM3 ENDIF ENDIF ! Fields only needed if CO is an advected species IF ( id_CO_adv > 0 ) THEN !--------------------------------------------------------------------- ! P(CO) from GMI: ! Input via HEMCO ("GMI_PROD_CO" field) as [v/v/s] ! Units will be converted in carbon_ComputeRateConstants !--------------------------------------------------------------------- DgnName = 'GMI_PROD_CO' CALL HCO_GC_EvalFld( Input_Opt, State_Grid, DgnName, & PCO_in_Strat, RC, found=found ) IF ( RC /= GC_SUCCESS .or. .not. found ) THEN errMsg = 'Cannot get pointer to ' // TRIM( DgnName ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !--------------------------------------------------------------------- ! L(CO) from GMI ! Input via HEMCO ("GMI_LOSS_CO" field) as [1/s] !--------------------------------------------------------------------- DgnName = 'GMI_LOSS_CO' CALL HCO_GC_EvalFld( Input_Opt, State_Grid, DgnName, & LCO_in_Strat, RC, found=found ) IF ( RC /= GC_SUCCESS .or. .not. found ) THEN errMsg = 'Cannot get pointer to HEMCO field ' // TRIM( DgnName ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !--------------------------------------------------------------------- ! P(CO) from CH4 ! Input via HEMCO ("ProdCOfromCH4 field") as [molec/cm3/s] !--------------------------------------------------------------------- IF ( Input_Opt%LPCO_CH4 ) THEN DgnName = 'PCO_CH4' CALL HCO_GC_EvalFld( Input_Opt, State_Grid, DgnName, & PCO_fr_CH4, RC, found=found ) IF ( RC /= GC_SUCCESS .or. .not. found ) THEN errMsg = 'Cannot get pointer to HEMCO field ' // TRIM( DgnName ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF !--------------------------------------------------------------------- ! P(CO) from NMVOC ! Input via HEMCO ("ProdCOfromNMVOC" field) as [molec/cm3/s] !--------------------------------------------------------------------- IF ( Input_Opt%LPCO_NMVOC ) THEN DgnName = 'PCO_NMVOC' CALL HCO_GC_EvalFld( Input_Opt, State_Grid, DgnName, & PCO_fr_NMVOC, RC, found=found ) IF ( RC /= GC_SUCCESS .or. .not. found ) THEN errMsg = 'Cannot get pointer to HEMCO field ' // TRIM( DgnName ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF ENDIF END SUBROUTINE ReadChemInputFields !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: init_carbon_gases ! ! !DESCRIPTION: Allocates and zeroes module arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_Carbon_Gases( Input_Opt, State_Chm, State_Diag, & State_Grid, RC ) ! ! !USES: ! USE carbon_Funcs, ONLY : carbon_InitCarbonKPPFuncs USE gckpp_Global, ONLY : SR_MW, HENRY_CR, HENRY_K0 USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState, Ind_ USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! This routine is called from GC_INIT_EXTRA (in GeosCore/input_mod.f) !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: KppId, N ! Strings CHARACTER(LEN=255) :: errMsg CHARACTER(LEN=255) :: thisLoc !======================================================================== ! Initialize !======================================================================== RC = GC_SUCCESS xnumol_CH4 = 1.0_fp xnumol_CO = 1.0_fp xnumol_CO2 = 1.0_fp xnumol_OH = 1.0_fp errMsg = '' thisLoc = & ' -> at Init_Carbon_Gases (in module GeosCore/carbon_gases_mod.F90)' !======================================================================== ! Define GEOS-Chem species indices ! ! Also denote which species are advected to facilitate single-tracer runs !======================================================================== id_CH4 = Ind_( 'CH4' ) id_CH4_adv = Ind_( 'CH4', 'A' ) id_CO = Ind_( 'CO' ) id_CO_adv = Ind_( 'CO', 'A' ) id_CO2 = Ind_( 'CO2' ) id_CO2_adv = Ind_( 'CO2', 'A' ) id_OCS = Ind_( 'OCS' ) id_OCS_adv = Ind_( 'OCS', 'A' ) id_OH = Ind_( 'FixedOH' ) ! Define xnumol factors = molec/kg ratios ! These are useful in unit conversions IF ( id_CH4 > 0 ) & xnumol_CH4 = AVO / ( State_Chm%SpcData(id_CH4)%Info%MW_g * 1.0e-3_fp ) IF ( id_CO > 0 ) & xnumol_CO = AVO / ( State_Chm%SpcData(id_CO )%Info%MW_g * 1.0e-3_fp ) IF ( id_CO2 > 0 ) & xnumol_CO2 = AVO / ( State_Chm%SpcData(id_CO2)%Info%MW_g * 1.0e-3_fp ) IF ( id_OH > 0 ) & xnumol_OH = AVO / ( State_Chm%SpcData(id_OH )%Info%MW_g * 1.0e-3_fp ) !======================================================================== ! Initialize module variables in carbon_Funcs (in KPP) !======================================================================== IF ( (id_CH4 > 0) .OR. (id_CO > 0) ) THEN CALL carbon_InitCarbonKPPFuncs( xnumol_CH4, xnumol_CO, xnumol_CO2, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Cannot initialize module variables in carbon_InitCarbonChem' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF !======================================================================== ! Initialize variables for COchemistry !======================================================================== ALLOCATE( sumOfCosSza( State_Grid%NX, State_Grid%NY ), STAT=RC ) CALL GC_CheckVar( 'carbon_gases_mod.F90:sumOfCosSza', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN sumOfCosSza = 0.0_fp END SUBROUTINE Init_Carbon_Gases !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: cleanup_carbon_gases ! ! !DESCRIPTION: Subroutine CLEANUP\_GLOBAL\_CH4 deallocates module arrays. ! (bmy, 1/16/01) !\\ !\\ ! !INTERFACE: ! SUBROUTINE Cleanup_Carbon_Gases( RC ) ! ! !USES: ! USE ErrCode_Mod USE carbon_Funcs, ONLY : carbon_CleanupCarbonKPPFuncs ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? !EOP !------------------------------------------------------------------------------ !BOC ! !================================================================= ! Cleanup_Carbon_Gases begins here! !================================================================= ! Initialize RC = GC_SUCCESS IF ( ALLOCATED( sumOfCosSza ) ) THEN DEALLOCATE( sumOfCosSza, STAT=RC ) CALL GC_CheckVar( 'carbon_gases_mod.F90:sumOfCosSza', 2, RC ) ENDIF CALL carbon_CleanupCarbonKPPFuncs( RC ) END SUBROUTINE Cleanup_Carbon_Gases !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: calc_diurnal ! ! !DESCRIPTION: Subroutine CALC\_DIRUNAL computes the sume of the cosine ! of the solar zenith angle over a 24 hour day as well as the total ! length of daylight to scale the offline OH concentrations. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Calc_Diurnal( State_Grid, State_Met, OHdiurnalFac ) ! ! !USES: ! USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : ITS_A_NEW_DAY USE TIME_MOD, ONLY : GET_MINUTE, GET_SECOND, GET_HOUR USE TIME_MOD, ONLY : GET_TS_CHEM, GET_DAY_OF_YEAR, GET_LOCALTIME ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: OHdiurnalFac( & State_Grid%NX, & State_Grid%NY) ! OH diurnal scaling [1] ! ! !REVISION HISTORY: ! 12 Mar 2014 - J. Fisher - Initial version, Copied from OHNO3TIME in ! carbon_mod and COSSZA in dao_mod ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! SAVEd scalars LOGICAL, SAVE :: FIRST = .TRUE. ! Scalars INTEGER :: I, J, N, NDYSTEP INTEGER :: SECOND, MINUTE, TS_SUN REAL*8 :: GMT_MID, TIMLOC, FACTOR REAL*8 :: R, AHR, DEC REAL*8 :: YMID_R, SUNTMP_MID REAL*8 :: dtChem, timestepsPerDay ! ! !DEFINED PARAMETERS: ! ! Coefficients for solar declination angle REAL*8, PARAMETER :: A0 = 0.006918d0 REAL*8, PARAMETER :: A1 = 0.399912d0 REAL*8, PARAMETER :: A2 = 0.006758d0 REAL*8, PARAMETER :: A3 = 0.002697d0 REAL*8, PARAMETER :: B1 = 0.070257d0 REAL*8, PARAMETER :: B2 = 0.000907d0 REAL*8, PARAMETER :: B3 = 0.000148d0 !================================================================= ! CALC_DIURNAL begins here! !================================================================= ! Only do at the start of a new day IF ( FIRST .or. ITS_A_NEW_DAY() ) THEN ! Zero array sumOfCosSza = 0d0 ! Get time for central chemistry timestep TS_SUN = GET_TS_CHEM() ! Chemistry interval SECOND = GET_SECOND() ! Current seconds MINUTE = GET_MINUTE() ! Current minutes FACTOR = ( MINUTE * 60 + SECOND ) / TS_SUN ! Multiplying factor ! GMT at the midpoint of the chemistry time interval for first ! timestep of the day GMT_MID = ( DBLE( GET_HOUR() ) ) & + ( DBLE( TS_SUN * FACTOR ) / 3600d0 ) & + ( DBLE( TS_SUN / 2 ) / 3600d0 ) ! Solar declination angle (low precision formula): ! Path length of earth's orbit traversed since Jan 1 [radians] R = ( 2d0 * PI / 365d0 ) * FLOAT( GET_DAY_OF_YEAR() - 1 ) DEC = A0 - A1*COS( R) + B1*SIN( R) & - A2*COS(2d0*R) + B2*SIN(2d0*R) & - A3*COS(3d0*R) + B3*SIN(3d0*R) ! NDYSTEP is # of chemistry time steps NDYSTEP = INT( 24d0 * 3600d0 / GET_TS_CHEM() ) ! Loop forward through NDYSTEP "fake" timesteps for this day DO N = 1, NDYSTEP ! Increment GMT (hours) to midpoint of next timestep IF ( N > 1 ) GMT_MID = GMT_MID + TS_SUN / 3600d0 ! Loop over surface grid boxes !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, YMID_R, TIMLOC, AHR, SUNTMP_MID )& !$OMP COLLAPSE( 2 ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Zero SUNTMP_MID SUNTMP_MID = 0d0 ! Grid box latitude center [radians] YMID_R = State_Grid%YMid_R(I,J) ! Local time at box (I,J) [hours] TIMLOC = GET_LOCALTIME( I, J, 1, State_Grid, GMT=GMT_MID) ! Hour angle at box (I,J) [radians] AHR = ABS( TIMLOC - 12d0 ) * 15d00 * PI_180 !=========================================================== ! The cosine of the solar zenith angle (SZA) is given by: ! ! cos(SZA) = sin(LAT)*sin(DEC) + cos(LAT)*cos(DEC)*cos(AHR) ! ! where LAT = the latitude angle, ! DEC = the solar declination angle, ! AHR = the hour angle, all in radians. ! ! If SUNCOS < 0, then the sun is below the horizon, and ! therefore does not contribute to any solar heating. !=========================================================== ! Compute Cos(SZA) SUNTMP_MID = sin(YMID_R) * sin(DEC) + & cos(YMID_R) * cos(DEC) * cos(AHR) ! sumOfCosSza is the sum of SUNTMP_MID at location (I,J) ! Do not include negative values of SUNTMP_MID sumOfCosSza(I,J) = sumOfCosSza(I,J) + MAX( SUNTMP_MID, 0d0 ) ENDDO ENDDO !$OMP END PARALLEL DO ENDDO ! Reset first-time flag FIRST = .FALSE. ENDIF !======================================================================== ! Calculate the OH diurnal scaling factor !======================================================================== ! Chemistry timestep [s] and timesteps per day dtChem = GET_TS_CHEM() timestepsPerDay = 86400.0_fp / dtChem ! Loop over surface grid boxes !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J )& !$OMP COLLAPSE( 2 ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Initialize loop variables OHdiurnalFac(I,J) = 0.0_fp ! Scaling factor for OH diurnal cycles - zero at night IF ( State_Met%SUNCOSmid(I,J) > 0.0_fp .and. & sumOfCosSza(I,J) > 0.0_fp ) THEN OHdiurnalFac(I,J) = State_Met%SUNCOSmid(I,J) & / sumOfCosSza(I,J) & * timestepsPerDay ENDIF ENDDO ENDDO !$OMP END PARALLEL DO END SUBROUTINE Calc_Diurnal !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: InquireGlobalOHversion ! ! !DESCRIPTION: Determines if we are using global OH from a GEOS-Chem 10-year ! benchmark, or from GEOS-Chem v5 (needed for IMI & methane simulations). !\\ !\\ ! !INTERFACE: ! SUBROUTINE InquireGlobalOHversion( Input_Opt, RC ) ! ! !USES: ! USE CharPak_Mod, ONLY : To_UpperCase USE ErrCode_Mod USE Hco_Utilities_Gc_Mod, ONLY : HCO_GC_GetOption USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REMARKS: ! This has to be called on the first chemistry timestep, because the HEMCO ! Configuration file (HEMCO_Config.rc) will not have been read when ! Init_Carbon_Gases is called. !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: isOHon, isOHv5on ! Strings CHARACTER(LEN=255) :: optVal CHARACTER(LEN=255) :: thisLoc CHARACTER(LEN=512) :: errMsg !======================================================================== ! InquireGlobalOHversion begins here! !======================================================================== ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = & ' -> at InquireGlobalOHversion (in module GeosCore/carbon_gases_mod.F90)' ! Test if any Global OH option is on ! NOTE: Update the option name with each major version!!! optVal = HCO_GC_GetOption( "GLOBAL_OH_GC14", extNr=0 ) isOHon = ( To_UpperCase( TRIM( optVal ) ) == 'TRUE' ) ! Test for GEOS-Chem v5 OH ! =T optVal = HCO_GC_GetOption( "GLOBAL_OH_GCv5", extNr=0 ) isOHv5On = ( To_UpperCase( TRIM( optVal ) ) == 'TRUE' ) ! Set a global variable to determine which OH to use useGlobOHbmk10yr = isOHon useGlobOHv5 = isOHv5on IF ( Input_Opt%amIRoot ) THEN IF ( useGlobOHv5 .or. useGlobOHbmk10yr ) THEN IF ( useGlobOHbmk10yr ) WRITE( 6, 100 ) 'GLOBAL_OH_GC14' IF ( useGlobOHv5 ) WRITE( 6, 100 ) 'GLOBAL_OH_GCv5' 100 FORMAT( 'Carbon_Gases: Using global OH oxidant field option: ', a ) ELSE WRITE( 6, 110 ) 110 FORMAT( 'Carbon_Gases: Global OH is set to zero!' ) ENDIF ENDIF END SUBROUTINE InquireGlobalOHversion !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: carbon_ZeroDiagArrays ! ! !DESCRIPTION: Zeroes diagnostic archival arrays to make sure that we ! don't have any leftover values from the last timestep near the top of ! the chemistry grid. This was abstracted out of Chem_Carbon_Gases ! in order to reduce clutter. !\\ !\\ ! !INTERFACE: ! SUBROUTINE carbon_ZeroDiagArrays( State_Diag ) ! ! !USES: ! USE State_Diag_Mod, ONLY : DgnState ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostic State object ! ! !REVISION HISTORY: ! 06 May 2025 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC !======================================================================== ! carbon_ZeroDiagArrays begins here! !======================================================================== IF ( State_Diag%Archive_OHconcAfterChem ) THEN State_Diag%OHconcAfterChem = 0.0_f4 ENDIF IF ( State_Diag%Archive_Loss ) THEN State_Diag%Loss = 0.0_f4 ENDIF IF ( State_Diag%Archive_ProdCOfromCH4 ) THEN State_Diag%ProdCOfromCH4 = 0.0_f4 ENDIF IF ( State_Diag%Archive_ProdCOfromNMVOC ) THEN State_Diag%ProdCOfromNMVOC = 0.0_f4 ENDIF IF ( State_Diag%Archive_RxnRate ) THEN State_Diag%RxnRate = 0.0_f4 ENDIF IF ( State_Diag%Archive_RxnConst ) THEN State_Diag%RxnConst = 0.0_f4 ENDIF END SUBROUTINE carbon_ZeroDiagArrays !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: carbon_UpdateKppDiags ! ! !DESCRIPTION: Updates History diagnostic arrays for KPP reaction rates, ! rate constants, and solver statistics. This was abstracted out of ! routine Chem_Carbon_gases to reduce clutter. !\\ !\\ ! !INTERFACE: ! SUBROUTINE carbon_UpdateKppDiags( I, J, L, & ISTATUS, timeBefore, timeAfter, & State_Diag ) ! ! !USES: ! USE gckpp_Global, ONLY : C, RCONST USE gckpp_Function, ONLY : Fun USE gckpp_Parameters, ONLY : NREACT, NSPEC, NVAR USE gckpp_Precision USE State_Diag_Mod, ONLY : DgnState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I, J, L ! Grid box indices INTEGER, INTENT(IN) :: ISTATUS(20) ! KPP input options REAL(f4), INTENT(IN) :: timeBefore ! Time before rates + integ REAL(f4), INTENT(IN) :: timeAfter ! Time after rates + integ ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostic State object ! ! !REVISION HISTORY: ! 06 May 2025 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! Scalars INTEGER :: N, S ! Arrays REAL(dp) :: Aout(NREACT) REAL(dp) :: Vloc(NVAR) !======================================================================== ! HISTORY: Archive KPP solver diagnostics ! ! NOTE: If using the default Forward Euler (feuler) integrator, many of ! these diagnostics will not have much variation as there is no internal ! timestepping loop. But But we will leave this here to facilitate ! testing of other integrators, if so desired. !======================================================================== IF ( State_Diag%Archive_KppDiags ) THEN ! # of integrator calls IF ( State_Diag%Archive_KppIntCounts ) THEN State_Diag%KppIntCounts(I,J,L) = ISTATUS(1) ENDIF ! # of times Jacobian was constructed IF ( State_Diag%Archive_KppJacCounts ) THEN State_Diag%KppJacCounts(I,J,L) = ISTATUS(2) ENDIF ! # of internal timesteps IF ( State_Diag%Archive_KppTotSteps ) THEN State_Diag%KppTotSteps(I,J,L) = ISTATUS(3) ENDIF ! # of accepted internal timesteps IF ( State_Diag%Archive_KppAccSteps ) THEN State_Diag%KppAccSteps(I,J,L) = ISTATUS(4) ENDIF ! # of rejected internal timesteps IF ( State_Diag%Archive_KppRejSteps ) THEN State_Diag%KppRejSteps(I,J,L) = ISTATUS(5) ENDIF ! # of LU-decompositions IF ( State_Diag%Archive_KppLuDecomps ) THEN State_Diag%KppLuDecomps(I,J,L) = ISTATUS(6) ENDIF ! # of forward and backwards substitutions IF ( State_Diag%Archive_KppSubsts ) THEN State_Diag%KppSubsts(I,J,L) = ISTATUS(7) ENDIF ! # of singular-matrix decompositions IF ( State_Diag%Archive_KppSmDecomps ) THEN State_Diag%KppSmDecomps(I,J,L) = ISTATUS(8) ENDIF ! # of singular-matrix decompositions IF ( State_Diag%Archive_KppTime ) THEN State_Diag%KppTime(I,J,L) = timeAfter - timeBefore ENDIF ENDIF !======================================================================== ! HISTORY: Archive KPP reaction rates [molec cm-3 s-1] ! ! See gckpp_Monitor.F90 for a list of chemical reactions !======================================================================== IF ( State_Diag%Archive_RxnRate .or. & State_Diag%Archive_SatDiagnRxnRate ) THEN ! Get equation rates (Aout) CALL Fun( V = C(1:NVAR), & F = C(NVAR+1:NSPEC), & RCT = RCONST, & Vdot = Vloc, & Aout = Aout ) ! Archive the RxnRate diagnostic collection IF ( State_Diag%Archive_RxnRate ) THEN DO S = 1, State_Diag%Map_RxnRate%nSlots N = State_Diag%Map_RxnRate%slot2Id(S) State_Diag%RxnRate(I,J,L,S) = Aout(N) ENDDO ENDIF ! Archive the SatDiagnRxnRate diagnostic collection IF ( State_Diag%Archive_SatDiagnRxnRate ) THEN DO S = 1, State_Diag%Map_SatDiagnRxnRate%nSlots N = State_Diag%Map_SatDiagnRxnRate%slot2Id(S) State_Diag%SatDiagnRxnRate(I,J,L,S) = Aout(N) ENDDO ENDIF ENDIF !======================================================================== ! HISTORY: Archive KPP reaction rate constants (RCONST). ! ! The units vary. They are already updated in Update_RCONST, ! and do not require a call of Fun(). (hplin, 3/28/23) ! ! See gckpp_Monitor.F90 for a list of chemical reactions !======================================================================== IF ( State_Diag%Archive_RxnConst ) THEN DO S = 1, State_Diag%Map_RxnConst%nSlots N = State_Diag%Map_RxnConst%slot2Id(S) State_Diag%RxnConst(I,J,L,S) = RCONST(N) ENDDO ENDIF END SUBROUTINE carbon_UpdateKppDiags !EOC END MODULE Carbon_Gases_Mod ================================================ FILE: GeosCore/carbon_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: carbon_mod.F90 ! ! !DESCRIPTION: Module CARBON\_MOD contains arrays and routines for performing ! a carbonaceous aerosol simulation. Original code taken from Mian Chin's ! GOCART model and modified accordingly. (rjp, bmy, 4/2/04, 6/30/10) !\\ !\\ ! !INTERFACE: ! MODULE CARBON_MOD ! ! !USES: ! USE PhysConstants ! Physical constants USE PRECISION_MOD ! For GEOS-Chem Precisions IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: CHEMCARBON PUBLIC :: EMISSCARBON PUBLIC :: CLEANUP_CARBON PUBLIC :: INIT_CARBON #ifdef TOMAS PUBLIC :: EMISSCARBONTOMAS #endif ! ! !PUBLIC DATA MEMBERS: ! ! SOAupdate: for branching ratio diagnostic (hotp 5/24/10) PUBLIC :: BETANOSAVE ! ! !REMARKS: ! 4 Aerosol species : Organic and Black carbon ! : hydrophilic (soluble) and hydrophobic of each ! . ! For secondary organic aerosol (SOA) simulation orginal code developed ! by Chung and Seinfeld [2002] and Hong Liao from John Seinfeld's group ! at Caltech was taken and further modified accordingly (rjp, bmy, 7/15/04) ! . ! SOAupdate: Traditional SOA simulation updated by hotp 7/2010 ! New code treats semivolatile or nonvolatile POA, aerosol from IVOCs, ! and has updated biogenic SOA ! For more details on the updated SOA/POA simulation, see comments ! in SOA_CHEMISTRY, Pye and Seinfeld ACP 2010, Pye et al. in prep ! for ACP 2010 ! Note that modifications were made throughout the code for SOAupdate ! . ! References: ! ============================================================================ ! (1 ) Bond, T.C., E. Bhardwaj, R. Dong, R. Jogani, S. Jung, C. Roden, D.G. ! Streets, and N.M. Trautmann, "Historical emissions of black and ! organic carbon aerosol from energy-related combustion, 1850-2000", ! Global Biogeochem. Cycles, 21, GB2018, doi:10.1029/2006GB002840, 2007. ! (2 ) Chan, A.W.H., K.E. Kautzman, P.S. Chhabra, J.D. Surratt, M.N. Chan, ! J.D. Crounse, A. Kurten, P.O. Wennberg, R.C. Flagan, and J.H. ! Seinfeld, "Secondary orgainc aerosol formation from photooxidation of ! naphthlene and alkylnaphthalenes: implications for oxidation of ! intermediate volatility orgainc compounds (IVOCs)", Atmos. Chem. Phys, ! Vol 9, 3049-3060, doi:10.5194/acp-9-3049-2009, 2009. ! (3 ) Chung, S.H., and J.H. Seinfeld. "Global distribution and climate ! forcing of carbonaceous aerosols", J. Geophys. Res., Vol 107(D19), ! 4407, doi:10.1029/2001JD001397, 2002. ! (4 ) Grieshop, A.P., J.M. Logue, N.M. Donahue, and A.L. Robinson, ! "Laboratory investigation of photochemical oxidation of organic ! aerosol deom wood fires 1: Measurement and simulation of organic ! aerosol evolution", Atmos. Chem. Phys., Vol 9, 1263-1277, ! doi:10.5194/acp-9-1263-2009, 2009. ! (5 ) Griffin, R.J., D.R. Cocker, R.C. Flagan, and J.H. Seinfeld, "Orgainc ! aerosol formation from the oxidation of biogenic hydrocarbons", J. ! Geophys. Res., 104(D3), 3555-3567, 1999. ! (6 ) Henze, D.K., and J.H. Seinfeld, "Global secondary organic aerosol from ! isoprene oxidation", Geophys. Res. Lett., Vol 33, L09812, ! doi:10.1029/2006GL025976, 2006. ! (7 ) Henze, D.K., J.H. Seinfeld, N.L. Ng, J.H. Kroll, T.-M. Fu, D.J. Jacob, ! and C.L. Heald, "Global modeling of secondary orgainc aerosol ! formation from aromatic hydrocarbons: high vs. low-yield pathways", ! Atmos. Chem. Phys., Vol 8, 2405-2420, doi:10.5194/acp-8-2405-2008, ! 2008. ! (8 ) Kroll, J.H., N.L. Ng, S.M. Murphy, R.C. Flagan, and J.H. Seinfeld, ! "Secondary orgainc aerosol formation from isoprene photooxidation", ! Environ. Sci. Technol, Vol 40, 1869-1877, doi:10.1021/Es0524301, 2006. ! (9 ) Liao, H., D.K. Henze, J.H. Seinfeld, S.L Wu, and L.J. Mickley, ! "Biogenic secondary aerosol over the United States: Comparison of ! climatological simulations with observations, J. Geophys. Res. Vol ! 112, D06201, doi:10.1029/2006JD007813, 2007. ! (10) Ng, N.L., P.S. Chhabra, A.W.H. Chan, J.D. Surratt, J.H. Kroll, A.J. ! Kwan, D.C. McCabe, P.O. Wennberg, A. Sorooshian, S.M. Murphy, N.F. ! Dalleska, R.C. Flagan, and J.H. Seinfeld, "Effect of NOx level on ! secondary orgainc aerosol (SOA) formation from the photooxidation of ! terpenes", Atmos. Chem. Phys., Vol 7, 5159-5174, ! doi:10.5194/acp-7-5195-2007, 2007a. ! (11) Ng, N.L., J.H. Kroll, A.W.H. Chan, P.S. Chhabra, R.C. Flagan, and J.H. ! Seinfeld, "Secondary orgainc aerosol formation from m-xylene, toluele, ! and benzene", Atmos. Chem. Phys., Vol 7, 3909-3922, ! doi:10.5194/acp-7-3909-2007, 2007b. ! (12) Ng, N.L., A.J. Kwan, J.D. Surratt, A.W.H. Chan, P.S. Chhabra, A. ! Sorooshian, H.O.T. Pye, J.D. Crounse, P.O. Wennberg, R.C. Flagan, and ! J.H. Seinfeld, "Secondary organic aerosol (SOA) formation from ! reaction of isoprene with nitrate radicals (NO3)", Atmos. Chem. Phys., ! Vol 8, 4117-4140, doi:10.5194/acp-8-4117-2008, 2008. ! (13) Pye, H.O.T., and J.H. Seinfeld, "A global perspective on aesorol from ! low-volatility orgnaic compounds", Atmos. Chem. Phys., Vol 10, 4377- ! 4401, doi:10.5194/acp-10-4377-2010, 2010. ! (14) Pye. H.O.T., A.W.H Chan, M.P. Barkley, and J.H. Seinfeld, "Global ! modeling of organic aerosol: The importance of reactive nitrogen (NOx ! and NO3)", Atmos. Chem. Phys., Vol 10, 11261-11276, ! doi:10.5194/acp-10-11261-2010, 2010.spc( ! (15) Shilling, J.E., Q. Chen, S.M. King, T. Rosenoern, J.H. Kroll, D.R. ! Worsnop, K.A. McKinney, S.T., Martin, "Particle mass yield in ! secondary orgainc aerosol formed by the dark ozonolysis of a-pinene", ! Atmos Chem Phys, Vol 8, 2073-2088, doi: 10.5194/acp-8-2073-2008, 2008. ! (16) Shrivastava, M.K., E.M. Lipsky, C.O. Stanier, A.L. Robinson, "Modeling ! semivolatile organic mass emissions from combustion systems", Environ. ! Sci. Technol., Vol 40, 2671-2677, doi:10.1021/ES0522231, 2006. ! (17) Zhang, J.Y., K.E.H. Hartz, S.N. Pandis, N.M. Donahue, "Secondary ! organic aerosol formation from limonene ozonolysis: Homogeneous and ! heterogeneous influences as a function of NOx", J. Phys. Chem. A, Vol ! 110, 11053-11063, doi:10.1021/Jp06286f, 2006. ! . ! Base Year is 2000. More at http://www.hiwater.org ! ! !REVISION HISTORY: ! 01 Apr 1994 - R. Park - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! REAL(fp), PARAMETER :: CM3PERM3 = 1.e+6_fp ! SOAupdate:(hotp 5/20/10) new mtp ! one parent HC removed (only 3 instead of 4 monoterps) ! all monoterp and sesquiterp SOA lumped together ! NOX: now used to indicate high NOx (1), ! low NOx(2), and +NO3 (3) so MNOX is 3 ! PROD: indicates # of volatilities/products INTEGER, PARAMETER :: MHC = 11 ! max # HCs INTEGER, PARAMETER :: MSV = 5 ! max # lumped semivols INTEGER, PARAMETER :: MPROD = 4 ! max # volatility products INTEGER, PARAMETER :: MNOX = 3 ! max # NOx levels/oxidants REAL(fp), PARAMETER :: SMALLNUM = 1e-20_fp ! Indicate number of parent HC based on simulation species ! (hotp 8/24/09) !INTEGER, SAVE :: MAXSIMHC ! Now loop over number of semivolatiles (hotp 5/13/10) INTEGER, SAVE :: MAXSIMSV ! Identify parent hydrocarbon by numbers (hotp 5/12/10) INTEGER, PARAMETER :: PARENTMTPA = 1 ! bicyclic monoterpenes INTEGER, PARAMETER :: PARENTLIMO = 2 ! limonene INTEGER, PARAMETER :: PARENTMTPO = 3 ! other monoterpenes INTEGER, PARAMETER :: PARENTSESQ = 4 ! sesquiterpenes INTEGER, PARAMETER :: PARENTISOP = 5 ! isoprene INTEGER, PARAMETER :: PARENTBENZ = 6 ! aromatic benzene INTEGER, PARAMETER :: PARENTTOLU = 7 ! aromatic toluene INTEGER, PARAMETER :: PARENTXYLE = 8 ! aromatic xylene INTEGER, PARAMETER :: PARENTPOA = 9 ! SVOCs (primary SVOCs) INTEGER, PARAMETER :: PARENTOPOA = 10 ! oxidized SVOCs (secondary SVOCs) INTEGER, PARAMETER :: PARENTNAP = 11 ! IVOC surrogate (naphthalene) ! if NAP isn't last, check CHEM_NVOC ! NOx levels (oxidants) examined (hotp 5/13/10) INTEGER, PARAMETER :: NHIGHNOX = 1 ! R + OH, RO2 + NO INTEGER, PARAMETER :: NLOWNOX = 2 ! R + OH, RO2 + HO2 INTEGER, PARAMETER :: NNO3RXN = 3 ! R + NO3 INTEGER, PARAMETER :: NONLYNOX = 1 ! R + any oxidant ! ! !LOCAL VARIABLES: ! ! Scalars ! Rate constant for RO2+NO and RO2+HO2 ! k=Aexp(B/T) like globchem.dat (hotp 5/7/10) REAL(fp) :: AARO2NO, BBRO2NO REAL(fp) :: AARO2HO2, BBRO2HO2 ! Arrays INTEGER :: NPROD(MSV) !hotp 5/13/10 now MSV not MHC INTEGER :: NNOX(MSV) !hotp 5/13/10 ! now only 4 offline oxidations (hotp 5/20/10) REAL(fp) :: KO3_REF(4), KOH_REF(4), KNO3_REF(4) ! KOM_REF now has dims of MPROD, MSV (hotp 5/22/10) REAL(fp) :: KOM_REF(MPROD,MSV) REAL(fp) :: ALPHA(MNOX,MPROD,MHC) ! Array for mapping parent HC to semivolatiles (SV) (hotp 5/14/10) INTEGER :: IDSV(MHC) ! Diagnostic that tracks how much parent HC reacts ! with each allowed reactant (hotp 5/24/10) REAL(fp) :: DELTAHCSAVE(MNOX,MHC) REAL(fp), ALLOCATABLE :: BCCONV(:,:,:) REAL(fp), ALLOCATABLE :: OCCONV(:,:,:) REAL(fp), ALLOCATABLE :: TCOSZ(:,:) REAL(fp), ALLOCATABLE :: GLOB_DARO2(:,:,:,:,:) ! Diagnostic (dkh, 11/10/06) #ifdef TOMAS REAL(fp), ALLOCATABLE, TARGET :: BCFF(:,:,:,:) REAL(fp), ALLOCATABLE, TARGET :: OCFF(:,:,:,:) REAL(fp), ALLOCATABLE, TARGET :: BCBF(:,:,:,:) REAL(fp), ALLOCATABLE, TARGET :: OCBF(:,:,:,:) REAL(fp), ALLOCATABLE, TARGET :: BCBB(:,:,:,:) REAL(fp), ALLOCATABLE, TARGET :: OCBB(:,:,:,:) REAL(fp), ALLOCATABLE, TARGET :: BCPI_ANTH_BULK(:,:) REAL(fp), ALLOCATABLE, TARGET :: BCPO_ANTH_BULK(:,:) REAL(fp), ALLOCATABLE, TARGET :: OCPI_ANTH_BULK(:,:) REAL(fp), ALLOCATABLE, TARGET :: OCPO_ANTH_BULK(:,:) REAL(fp), ALLOCATABLE, TARGET :: BCPI_BIOB_BULK(:,:) REAL(fp), ALLOCATABLE, TARGET :: BCPO_BIOB_BULK(:,:) REAL(fp), ALLOCATABLE, TARGET :: OCPI_BIOB_BULK(:,:) REAL(fp), ALLOCATABLE, TARGET :: OCPO_BIOB_BULK(:,:) REAL(fp), ALLOCATABLE :: TERP_ORGC(:,:) REAL(fp), ALLOCATABLE :: CO_ANTH(:,:) #endif ! Diagnostic that tracks how much SOA is formed/evaporated ! (hotp 6/5/10) REAL(fp), ALLOCATABLE :: SPECSOAPROD(:,:,:,:,:) REAL(fp), ALLOCATABLE :: SPECSOAEVAP(:,:,:,:,:) ! semivolpoa4: diagnostic to keep track of POG reacted (hotp 3/27/09) REAL(fp), SAVE, ALLOCATABLE :: GLOB_POGRXN(:,:,:,:) ! diagnostic added for RO2 branching ratio (hotp 5/24/10) REAL(fp), SAVE, ALLOCATABLE :: BETANOSAVE(:,:,:) ! semivolpoa2: array for POA emissions (hotp 2/27/09) REAL(fp), SAVE, ALLOCATABLE :: POAEMISS(:,:,:,:) ! Array for initial OA+OG (hotp 5/17/10) ! Diagnostic only, dims: I,J,L,MPROD,MSV (hotp 5/22/10) REAL(fp), SAVE, ALLOCATABLE :: OAGINITSAVE(:,:,:,:,:) ! Array for change in SOG (diagnostic) (hotp 5/17/10) ! dims: I,J,L,MNOX,MHC REAL(fp), SAVE, ALLOCATABLE :: DELTASOGSAVE(:,:,:,:,:) ! Days per month (based on 1998) INTEGER :: NDAYS(12) = (/ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 /) ! Offline fields contained in the HEMCO data structure REAL(fp), ALLOCATABLE :: OFFLINE_O3(:,:,:) REAL(fp), ALLOCATABLE :: OFFLINE_OH(:,:,:) REAL(fp), ALLOCATABLE :: OFFLINE_NO3(:,:,:) ! Species ID flags INTEGER :: id_ASOG1, id_ASOG2, id_ASOG3, id_ASOA1, id_ASOA2 INTEGER :: id_ASOA3, id_ASOAN, id_AW01, id_BCPI, id_BCPO INTEGER :: id_BENZ, id_ECIL01, id_ECOB01, id_HO2 INTEGER :: id_ISOP, id_LIMO, id_MTPA INTEGER :: id_MTPO, id_NAP, id_NK01, id_NH4, id_NO INTEGER :: id_NO3, id_OCIL01, id_OCOB01, id_O3, id_OH INTEGER :: id_OCPO, id_OCPI, id_OPOA1, id_OPOG1, id_OPOA2 INTEGER :: id_OPOG2, id_POA1, id_POA2, id_POG1, id_POG2 INTEGER :: id_TOLU, id_TSOA0, id_TSOA1 INTEGER :: id_TSOA2, id_TSOA3, id_TSOG0, id_TSOG1, id_TSOG2 INTEGER :: id_TSOG3, id_XYLE, id_LBRO2N, id_LBRO2H, id_LTRO2N INTEGER :: id_LTRO2H, id_LXRO2N, id_LXRO2H, id_LNRO2N, id_LNRO2H INTEGER :: id_LISOPOH, id_LISOPNO3 INTEGER :: id_SOAS, id_SOAP #ifdef APM REAL(fp), ALLOCATABLE :: BCCONVNEW(:,:,:) REAL(fp), ALLOCATABLE :: OCCONVNEW(:,:,:) #endif CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: chemcarbon ! ! !DESCRIPTION: Subroutine CHEMCARBON is the interface between the GEOS-Chem ! main program and the carbon aerosol chemistry routines that calculates dry ! deposition, chemical conversion between hydrophilic and hydrophobic, and ! SOA production. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CHEMCARBON( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD, ONLY : DEBUG_MSG USE ERROR_MOD, ONLY : ERROR_STOP USE HCO_Utilities_GC_Mod, ONLY : HCO_GC_EvalFld USE HCO_State_GC_Mod, ONLY : HcoState ! APM: for HEMCO diags USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : ITS_A_NEW_MONTH USE TIME_MOD, ONLY : GET_TS_CHEM #ifdef APM USE APM_INIT_MOD, ONLY : APMIDS USE APM_INIT_MOD, ONLY : NBCOC,CEMITBCOC1 USE HCO_DIAGN_MOD USE HCO_TYPES_MOD, ONLY : DiagnCont USE HCO_STATE_MOD, ONLY : HCO_GetHcoID #endif #ifdef TOMAS USE TOMAS_MOD, ONLY : SOACOND USE TOMAS_MOD, ONLY : CHECKMN USE PRESSURE_MOD, ONLY : GET_PCENTER #endif ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 01 Apr 1994 - R. Park - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! SAVED scalars LOGICAL, SAVE :: FIRSTCHEM = .TRUE. ! Scalars LOGICAL :: IT_IS_AN_AEROSOL_SIM LOGICAL :: LSOA LOGICAL :: LEMIS LOGICAL :: FND REAL(fp) :: NEWSOA REAL(fp) :: DTCHEM, SOAP_LIFETIME ! [=] seconds REAL(fp) :: CONC_SUM INTEGER :: L #ifdef TOMAS INTEGER :: I, J REAL*4 :: BOXVOL, TEMPTMS, PRES, BOXMASS #endif ! Pointers TYPE(SpcConc), POINTER :: Spc(:) ! For getting fields from HEMCO CHARACTER(LEN=255) :: LOC = 'CHEMCARBON (carbon_mod.F90)' CHARACTER(LEN=255) :: ErrMsg #ifdef APM TYPE(DiagnCont), POINTER :: DiagnCnt INTEGER :: FLAG,I,J,N,IDCARBON REAL(fp) :: A_M2, E_CARBON, DTSRCE REAL(fp) :: EMITRATE(State_Grid%NX,State_Grid%NY) #endif !================================================================= ! CHEMCARBON begins here! !================================================================= ! Assume success RC = GC_SUCCESS ! Copy fields from INPUT_OPT to local variables for use below LSOA = Input_Opt%LSOA LEMIS = Input_Opt%DoEmissions IT_IS_AN_AEROSOL_SIM = Input_Opt%ITS_AN_AEROSOL_SIM DTCHEM = GET_TS_CHEM() ! ( days )*(hrs/day)*(mins/hr)*(sec/min) SOAP_LIFETIME = 1.00_fp * 24.0_fp * 60.0_fp * 60.0_fp ! Point to chemical species vector containing concentrations Spc => State_Chm%Species ! First-time initialization IF ( FIRSTCHEM ) THEN ! Zero SOG4 and SOA4 (SOA from ISOP in gas & aerosol form) ! for offline aerosol simulations. Eventually we should have ! archived isoprene oxidation fields available for offline ! simulations but for now we just set them to zero. ! (dkh, bmy, 6/1/06) IF ( IT_IS_AN_AEROSOL_SIM ) THEN ! lumped arom/IVOC (hotp 5/17/10) ! LUMPAROMIVOC: lump arom/IVOC not supported for offline sims IF ( id_ASOAN > 0 ) Spc(id_ASOAN)%Conc(:,:,:) = 0.0_fp IF ( id_ASOA1 > 0 ) Spc(id_ASOA1)%Conc(:,:,:) = 0.0_fp IF ( id_ASOA2 > 0 ) Spc(id_ASOA2)%Conc(:,:,:) = 0.0_fp IF ( id_ASOA3 > 0 ) Spc(id_ASOA3)%Conc(:,:,:) = 0.0_fp IF ( id_ASOG1 > 0 ) Spc(id_ASOG1)%Conc(:,:,:) = 0.0_fp IF ( id_ASOG2 > 0 ) Spc(id_ASOG2)%Conc(:,:,:) = 0.0_fp IF ( id_ASOG3 > 0 ) Spc(id_ASOG3)%Conc(:,:,:) = 0.0_fp ! initialize SOA Precursor and SOA for simplified SOA sims IF ( id_SOAP > 0 ) THEN Spc(id_SOAP)%Conc(:,:,:) = 0e+0_fp Spc(id_SOAS)%Conc(:,:,:) = 0e+0_fp ENDIF ENDIF ! Determine number of semivolatile parent HC (hotp 8/24/09) !MAXSIMHC = 0 ! for non-volatile sim ! Now use SV instead of HC (hotp 5/13/10) MAXSIMSV = 0 IF ( LSOA ) THEN ! updated (hotp 5/20/10) new mtp MAXSIMSV = 3 ! mono+sesq (1) + isop (2) + aromatics (3) IF ( id_POA1 > 0 ) MAXSIMSV = MAXSIMSV + 1 IF ( id_OPOA1 > 0 ) MAXSIMSV = MAXSIMSV + 1 IF ( MAXSIMSV > MSV ) THEN CALL ERROR_STOP('YOUVE GOT A PROBLEM W/ SEMIVOLATILES', & 'carbon_mod.F90') ENDIF ! Print to log for record IF ( Input_Opt%Verbose ) THEN print*,'Number of SOA semivols (MAXSIMSV): ', MAXSIMSV print*,'This number should be 5 for semivol POA' ! hotp 5/20/10 ENDIF ENDIF ! Reset first-time flag FIRSTCHEM = .FALSE. ENDIF ! Evaluate offline fields from HEMCO every timestep to allow ! optional use of scaling or masking in HEMCO configuration file IF ( IT_IS_AN_AEROSOL_SIM .AND. LSOA ) THEN ! Evaluate offline oxidant fields from HEMCO: global OH CALL HCO_GC_EvalFld( Input_Opt, State_Grid, 'GLOBAL_OH', OFFLINE_OH, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not find offline GLOBAL_OH in HEMCO data list!' CALL GC_Error( ErrMsg, RC, LOC ) RETURN ENDIF ! Evaluate offline oxidant fields from HEMCO: global O3 CALL HCO_GC_EvalFld( Input_Opt, State_Grid, 'GLOBAL_O3', OFFLINE_O3, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not find offline GLOBAL_O3 in HEMCO data list!' CALL GC_Error( ErrMsg, RC, LOC ) RETURN ENDIF ! Evaluate offline oxidant fields from HEMCO: global NO3 CALL HCO_GC_EvalFld( Input_Opt, State_Grid, 'GLOBAL_NO3', OFFLINE_NO3, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not find offline GLOBAL_NO3 in HEMCO data list!' CALL GC_Error( ErrMsg, RC, LOC ) RETURN ENDIF ENDIF !================================================================= ! Do chemistry for carbon aerosol species !================================================================= ! Chemistry for hydrophobic BC IF ( id_BCPO > 0 ) THEN CALL CHEM_BCPO( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & spcId = id_BCPO, & RC = RC ) IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMCARBON: a CHEM_BCPO' ) ENDIF ENDIF ! Chemistry for hydrophilic BC IF ( id_BCPI > 0 ) THEN CALL CHEM_BCPI( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & spcId = id_BCPI, & RC = RC ) IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMCARBON: a CHEM_BCPI' ) ENDIF ENDIF ! Chemistry for hydrophobic OC (traditional POA only) IF ( id_OCPO > 0 ) THEN CALL CHEM_OCPO( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & spcId = id_OCPO, & RC = RC ) IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMCARBON: a CHEM_OCPO' ) ENDIF ENDIF ! Chemistry for hydrophilic OC (traditional POA only) IF ( id_OCPI > 0 ) THEN CALL CHEM_OCPI( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & spcId = id_OCPI, & RC = RC ) IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMCARBON: a CHEM_OCPI' ) ENDIF ENDIF #ifdef APM !===================================================================== ! APM Microphysics !===================================================================== CALL BCDRY_SETTLINGBIN( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) CALL OCDRY_SETTLINGBIN( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) IF ( ( id_BCPO+id_BCPI ) > 2 )THEN ! Get biomass BCPO diagnostics from HEMCO DiagnCnt => NULL() CALL Diagn_Get( HcoState, .FALSE., DiagnCnt, & FLAG, RC, cName='BIOMASS_BCPO', & AutoFill=1, & COL=HcoState%Diagn%HcoDiagnIDManual ) ! Add into EMITRATE array (or set to zero if not found) IF ( FLAG == GC_SUCCESS ) THEN EMITRATE = DiagnCnt%Arr2D%Val ELSE IF ( Input_Opt%amIRoot ) THEN WRITE( 6, ' (a)' )'APM not found BIOMASS_BCPO' ENDIF EMITRATE = 0.0e+0_fp ENDIF ! Get anthropogenic BCPO diagnostics from HEMCO DiagnCnt => NULL() CALL Diagn_Get( HcoState, .FALSE., DiagnCnt, & FLAG, RC, cName='ANTHROPOGENIC_BCPO', & AutoFill=1, & COL=HcoState%Diagn%HcoDiagnIDManual ) IF ( FLAG==GC_SUCCESS ) THEN !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( J, I )& !$OMP COLLAPSE( 2 ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX EMITRATE(I,J) = EMITRATE(I,J) + & SUM(DiagnCnt%Arr3D%Val(I,J,1:State_Grid%NZ)) IF( EMITRATE(I,J) > 0.0e+0_fp ) THEN EMITRATE(I,J) = 1.0e+0_fp - & SUM(DiagnCnt%Arr3D%Val(I,J,:))/EMITRATE(I,J) ELSE EMITRATE(I,J) = 0.0e+0_fp ENDIF ENDDO ENDDO !$OMP END PARALLEL DO ELSE IF ( Input_Opt%amIRoot ) THEN WRITE( 6, '(a)' ) 'APM not found ANTHROPOGENIC_BCPO' ENDIF EMITRATE = 0.0e+0_fp ENDIF ! Emission timestep DTSRCE = HcoState%TS_EMIS IDCARBON = HCO_GetHcoID( 'BCPO', HcoState ) !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( L, J, I, A_M2, E_CARBON, N )& !$OMP COLLAPSE( 3 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Grid box surface area [m2] A_M2 = HcoState%Grid%AREA_M2%Val( I, J ) ! Get emissions [kg/m2/s] and convert to [kg/box] E_CARBON = HcoState%Spc(IDCARBON)%Emis%Val(I,J,L) * A_M2 * DTSRCE ! Tell OpenMP to vectorize this loop !$OMP SIMD DO N = 1, NBCOC Spc(APMIDS%id_BCBIN1+N-1)%Conc(I,J,L) = & Spc(APMIDS%id_BCBIN1+N-1)%Conc(I,J,L)+ & E_CARBON*( & (1.0e+0_fp-EMITRATE(I,J))*CEMITBCOC1(N,1)+ & EMITRATE(I,J)*CEMITBCOC1(N,2)) ENDDO ENDDO ENDDO ENDDO !$OMP END PARALLEL DO IDCARBON = HCO_GetHcoID( 'BCPI', HcoState ) !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( L, J, I, A_M2, E_CARBON, N )& !$OMP COLLAPSE( 3 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Grid box surface area [m2] A_M2 = HcoState%Grid%AREA_M2%Val( I, J ) ! Get emissions [kg/m2/s] and convert to [kg/box] E_CARBON = HcoState%Spc(IDCARBON)%Emis%Val(I,J,L) * A_M2 * DTSRCE ! Tell OpenMP to vectorize this loop !$OMP SIMD DO N = 1, NBCOC Spc(APMIDS%id_BCBIN1+N-1)%Conc(I,J,L)= & Spc(APMIDS%id_BCBIN1+N-1)%Conc(I,J,L)+ & E_CARBON*( & (1.0e+0_fp-EMITRATE(I,J))*CEMITBCOC1(N,1)+ & EMITRATE(I,J)*CEMITBCOC1(N,2)) ENDDO ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDIF !GanLuo add OCs IF ( ( id_OCPO + id_OCPI ) > 2 ) THEN ! Get diagnostics from HEMCO DiagnCnt => NULL() CALL Diagn_Get( HcoState, .FALSE., DiagnCnt, & FLAG, RC, cName='BIOMASS_OCPO', & AutoFill=1, & COL=HcoState%Diagn%HcoDiagnIDManual ) ! Add biomass OCPO diagnostic to EMITRATE (if it's found) IF ( FLAG==GC_SUCCESS ) THEN EMITRATE = DiagnCnt%Arr2D%Val ELSE IF ( Input_Opt%amIRoot ) THEN WRITE( 6, '(a)' )'APM not found BIOMASS_OCPO' ENDIF EMITRATE = 0.0e+0_fp ENDIF DiagnCnt => NULL() CALL Diagn_Get( HcoState, .FALSE., DiagnCnt, & FLAG, RC, cName='ANTHROPOGENIC_OCPO', & AutoFill=1, & COL=HcoState%Diagn%HcoDiagnIDManual ) ! Add anthropogenic OCPO diagnostic to EMITRATE (if it's found) IF(FLAG==GC_SUCCESS)THEN !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( J, I )& !$OMP COLLAPSE( 2 ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX EMITRATE(I,J) = EMITRATE(I,J) + & SUM(DiagnCnt%Arr3D%Val(I,J,1:State_Grid%NZ)) IF(EMITRATE(I,J) > 0.0e+0_fp )THEN EMITRATE(I,J) = 1.0e+0_fp- & SUM(DiagnCnt%Arr3D%Val(I,J,:))/EMITRATE(I,J) ELSE EMITRATE(I,J) = 0.0e+0_fp ENDIF ENDDO ENDDO !$OMP END PARALLEL DO ELSE IF ( Input_Opt%amIRoot ) THEN WRITE( 6, '(a)' )'APM not found ANTHROPOGENIC_OCPO' ENDIF EMITRATE = 0.0e+0_fp ENDIF ! Emission timestep DTSRCE = HcoState%TS_EMIS IDCARBON = HCO_GetHcoID( 'OCPO', HcoState ) !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( L, J, I, A_M2, E_CARBON, N )& !$OMP COLLAPSE( 3 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Grid box surface area [m2] A_M2 = HcoState%Grid%AREA_M2%Val( I, J ) ! Get emissions [kg/m2/s] and convert to [kg/box] E_CARBON = HcoState%Spc(IDCARBON)%Emis%Val(I,J,L) * A_M2 * DTSRCE ! Tell OpenMP to vectorize this loop !$OMP SIMD DO N=1,NBCOC Spc(APMIDS%id_OCBIN1+N-1)%Conc(I,J,L)= & Spc(APMIDS%id_OCBIN1+N-1)%Conc(I,J,L)+ & E_CARBON*( & (1.0e+0_fp-EMITRATE(I,J))*CEMITBCOC1(N,1)+ & EMITRATE(I,J)*CEMITBCOC1(N,2)) ENDDO ENDDO ENDDO ENDDO !$OMP END PARALLEL DO IDCARBON = HCO_GetHcoID( 'OCPI', HcoState ) !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( L, J, I, A_M2, E_CARBON, N )& !$OMP COLLAPSE( 3 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Grid box surface area [m2] A_M2 = HcoState%Grid%AREA_M2%Val( I, J ) ! Get emissions [kg/m2/s] and convert to [kg/box] E_CARBON = HcoState%Spc(IDCARBON)%Emis%Val(I,J,L) * A_M2 * DTSRCE ! Tell OpenMP to vectorize this loop !$OMP SIMD DO N=1,NBCOC Spc(APMIDS%id_OCBIN1+N-1)%Conc(I,J,L)= & Spc(APMIDS%id_OCBIN1+N-1)%Conc(I,J,L)+ & E_CARBON*( & (1.D0-EMITRATE(I,J))*CEMITBCOC1(N,1)+ & EMITRATE(I,J)*CEMITBCOC1(N,2)) ENDDO ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDIF !do N= 1, 14 ! conc_sum = conc_sum + Spc(APMIDS%id_BCBIN1+N-1)%Conc(:,:,1) !enddo !write(*,'(a4,10e15.7)')'Luo1', & ! (sum(Spc(id_BCPO)%conc(:,:,1))+sum(Spc(id_BCPI)%Conc(:,:,1))), conc_sum IF( ( id_POG1 + id_POA1 ) > 2 )THEN !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( L, J, I, N )& !$OMP COLLAPSE( 3 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Tell OpenMP to vectorize this looop !$OMP SIMD DO N=1,NBCOC Spc(APMIDS%id_OCBIN1+N-1)%Conc(I,J,L)= & Spc(APMIDS%id_OCBIN1+N-1)%Conc(I,J,L)+ & POAEMISS(I,J,L,1)*0.9d0*CEMITBCOC1(N,1) ENDDO ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDIF #endif #ifdef TOMAS CALL CHECKMN( 0, 0, 0, Input_Opt, State_Chm, State_Grid, & State_Met, State_Diag,'CHECKMN from chemcarbon', RC) ! Chemistry (aging) for size-resolved EC and OC (win, 1/25/10) IF ( id_ECIL01 > 0 .and. id_ECOB01 > 0 ) THEN CALL AGING_CARB( id_ECIL01, id_ECOB01, State_Grid, State_Chm ) IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMCARBO: AGING_CARB EC' ) ENDIF ENDIF IF ( id_OCIL01 > 0 .and. id_OCOB01 > 0 ) THEN CALL AGING_CARB( id_OCIL01, id_OCOB01, State_Grid, State_Chm ) IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMCARBO: AGING_CARB OC' ) ENDIF ENDIF #endif IF ( id_SOAP > 0 ) THEN ! AGE SOAP -> SOA #ifdef TOMAS CALL CHECKMN( 0, 0, 0, Input_Opt, State_Chm, State_Grid, & State_Met, State_Diag,'CHECKMN from chemcarbon', RC) !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, L, NEWSOA, BOXVOL, TEMPTMS, PRES, BOXMASS )& !$OMP COLLAPSE( 3 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX NEWSOA = Spc(id_SOAP)%Conc(I,J,L) * (1.e+0_fp - DEXP(-DTCHEM/SOAP_LIFETIME)) BOXVOL = State_Met%AIRVOL(I,J,L) * 1.e6 !convert from m3 -> cm3 BOXMASS = State_Met%AD(I,J,L) !kg TEMPTMS = State_Met%T(I,J,L) PRES = GET_PCENTER(I,j,L)*100.0 ! in Pa IF ( NEWSOA > 0.0e+0_fp ) THEN !sfarina16: SOAP -> size Resolved TOMAS SOA CALL SOACOND( NEWSOA, I, J, L, BOXVOL, TEMPTMS, PRES, BOXMASS, & State_Chm, State_Grid, State_Diag, RC) ENDIF Spc(id_SOAS)%Conc(I,J,L) = Spc(id_SOAS)%Conc(I,J,L) + NEWSOA Spc(id_SOAP)%Conc(I,J,L) = Spc(id_SOAP)%Conc(I,J,L) - NEWSOA ENDDO ENDDO ENDDO !$OMP END PARALLEL DO #else !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( L, NEWSOA ) DO L = 1, State_Grid%NZ !NEWSOA used in a different context than above. !above is absolute mass, here is a relative decay factor NEWSOA = DEXP(-DTCHEM/SOAP_LIFETIME) Spc(id_SOAS)%Conc(:,:,L) = Spc(id_SOAS)%Conc(:,:,L) + & Spc(id_SOAP)%Conc(:,:,L) * (1.0_fp - NEWSOA) Spc(id_SOAP)%Conc(:,:,L) = Spc(id_SOAP)%Conc(:,:,L) * NEWSOA ENDDO !$OMP END PARALLEL DO #endif IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMCARBO: SIMPLIFIED SOA') ENDIF ENDIF ! Free pointer Spc => NULL() !================================================================= ! Do chemistry for secondary organic aerosols ! ! %%% NOTE: We are not planning on using the SOA mechanism %%% ! %%% with the ESMF interface at this point. (bmy, 11/14/12) %%% !================================================================= IF ( LSOA ) THEN IF ( IT_IS_AN_AEROSOL_SIM ) THEN ! Compute time scaling arrays for offline OH, NO3 ! but only if it hasn't been done in EMISSCARBON IF ( LSOA .and. ( .not. LEMIS ) ) THEN CALL OHNO3TIME( State_Grid ) IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMCARB: a OHNO3TIME' ) ENDIF ENDIF ENDIF ! Compute SOA chemistry ! NOTE: This is SOA production from the reversible mechanism only ! (tmf, 12/07/07) CALL SOA_CHEMISTRY( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMCARBON: a SOA_CHEM' ) ENDIF ENDIF END SUBROUTINE CHEMCARBON !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: chem_bcpo ! ! !DESCRIPTION: Subroutine CHEM\_BCPO converts hydrophobic BC to hydrophilic ! BC and calculates the dry deposition of hydrophobic BC. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CHEM_BCPO( Input_Opt, State_Chm, State_Diag, & State_Grid, spcId, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE TIME_MOD, ONLY : GET_TS_CHEM ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object INTEGER, INTENT(IN) :: spcId ! BCPO species Id ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry state object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! Drydep is now applied in mixing_mod.F90. ! ! !REVISION HISTORY: ! 01 Apr 2004 - R. Park - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I, J, L REAL(fp) :: DTCHEM, KBC, FREQ, TC0, CNEW, RKT ! Pointers REAL(fp), POINTER :: TC(:,:,:) ! ! !DEFINED PARAMETERS: ! REAL(fp), PARAMETER :: BC_LIFE = 1.15e+0_fp !================================================================= ! CHEM_BCPO begins here! !================================================================= ! Assume success RC = GC_SUCCESS ! Initialize KBC = 1.e+0_fp / ( 86400e+0_fp * BC_LIFE ) DTCHEM = GET_TS_CHEM() BCCONV = 0e+0_fp TC => State_Chm%Species(spcId)%Conc !================================================================= ! For species with dry deposition, the loss rate of dry dep is ! combined in chem loss term. ! ! Conversion from hydrophobic to hydrophilic: ! e-folding time 1.15 days ! ---------------------------------------- ! Use an e-folding time of 1.15 days or a convertion rate ! of 1.0e-5 /sec. ! ! Hydrophobic(2) --> Hydrophilic(1) , k = 1.0e-5 ! Both aerosols are dry-deposited, kd = Dvel/DELZ (sec-1) !================================================================= !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, L, TC0, FREQ, RKT, CNEW )& !$OMP COLLAPSE( 3 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Initial BC mass [kg] TC0 = TC(I,J,L) ! Zero drydep freq ! ### NOTE: Remove this later, but need to make ! ### sure we don't incur numerical diffs (bmy, 6/12/15) FREQ = 0e+0_fp ! Amount of BCPO left after chemistry and drydep [kg] RKT = ( KBC + FREQ ) * DTCHEM CNEW = TC0 * EXP( -RKT ) ! Prevent underflow condition IF ( CNEW < SMALLNUM ) CNEW = 0e+0_fp ! Amount of BCPO converted to BCPI [kg/timestep] BCCONV(I,J,L) = ( TC0 - CNEW ) * KBC / ( KBC + FREQ ) !============================================================== ! HISTORY (aka netCDF diagnostics) ! ! Archive production of hydrophilic black carbon (BCPI) from ! hydrophobic black carbon (BCPO) [kg] ! ! NOTE: Consider converting to area-independent units kg/m2/s. !============================================================== IF ( State_Diag%Archive_ProdBCPIfromBCPO ) THEN State_Diag%ProdBCPIfromBCPO(I,J,L) = BcConv(I,J,L) ENDIF ! Store new concentration back into species array TC(I,J,L) = CNEW ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ! Free pointer TC => NULL() END SUBROUTINE CHEM_BCPO !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: chem_bcpi ! ! !DESCRIPTION: Subroutine CHEM\_BCPI calculates dry deposition of ! hydrophilic BC. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CHEM_BCPI( Input_Opt, State_Chm, State_Diag, & State_Grid, spcId, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE TIME_MOD, ONLY : GET_TS_CHEM ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object INTEGER, INTENT(IN) :: spcId ! BCPI species Id ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry state object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! Drydep is now applied in mixing_mod.F90. ! ! !REVISION HISTORY: ! 01 Apr 2004 - R. Park - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I, J, L REAL(fp) :: L_FRAC, TC0, CNEW, CCV ! Pointers REAL(fp), POINTER :: TC(:,:,:) !================================================================= ! CHEM_BCPI begins here! !================================================================= ! Assume success RC = GC_SUCCESS TC => State_Chm%Species(spcId)%Conc !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, L, TC0, CCV, CNEW )& !$OMP COLLAPSE( 3 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Initial H-philic BC [kg] TC0 = TC(I,J,L) ! H-philic BC that used to be H-phobic BC [kg] CCV = BCCONV(I,J,L) ! Add the amount of converted BCPO to BCPI CNEW = TC0 + CCV ! Prevent underflow condition IF ( CNEW < SMALLNUM ) CNEW = 0e+0_fp ! Save new concentration of H-philic IC in species array TC(I,J,L) = CNEW ENDDO ENDDO ENDDO !$OMP END PARALLEL DO !================================================================= ! Zero out the BCCONV array for the next iteration !================================================================= BCCONV = 0e+0_fp TC => NULL() END SUBROUTINE CHEM_BCPI !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: chem_ocpo ! ! !DESCRIPTION: Subroutine CHEM\_OCPO converts hydrophobic OC to hydrophilic ! OC and calculates the dry deposition of hydrophobic OC. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CHEM_OCPO( Input_Opt, State_Chm, State_Diag, & State_Grid, spcId, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE TIME_MOD, ONLY : GET_TS_CHEM ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object INTEGER, INTENT(IN) :: spcId ! OCPO species Id ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry state object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 01 Apr 2004 - R. Park - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I, J, L REAL(fp) :: DTCHEM, KOC, TC0, CNEW, RKT, FREQ REAL(fp), POINTER :: TC(:,:,:) ! ! !DEFINED PARAMETERS: ! REAL(fp), PARAMETER :: OC_LIFE = 1.15e+0_fp !================================================================= ! CHEM_OCPO begins here! !================================================================= ! Assume success RC = GC_SUCCESS ! Initialize KOC = 1.e+0_fp / ( 86400e+0_fp * OC_LIFE ) DTCHEM = GET_TS_CHEM() OCCONV = 0e+0_fp TC => State_Chm%Species(spcId)%Conc !================================================================= ! For species with dry deposition, the loss rate of dry dep is ! combined in chem loss term. ! ! Conversion from hydrophobic to hydrophilic: ! e-folding time 1.15 days ! ---------------------------------------- ! Use an e-folding time of 1.15 days or a convertion rate ! of 1.0e-5 /sec. ! Hydrophobic --> Hydrophilic, k = 1.0e-5 ! Aerosols are dry-deposited, kd = dry dep freq (sec-1) !================================================================= !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, L, TC0, FREQ, RKT, CNEW )& !$OMP COLLAPSE( 3 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Initial OC [kg] TC0 = TC(I,J,L) ! Zero drydep freq ! ### NOTE: Remove this later, but need to make ! ### sure we don't incur numerical diffs (bmy, 6/12/15) FREQ = 0e+0_fp ! Amount of OCPO left after chemistry and drydep [kg] RKT = ( KOC + FREQ ) * DTCHEM CNEW = TC0 * EXP( -RKT ) ! Prevent underflow condition IF ( CNEW < SMALLNUM ) CNEW = 0e+0_fp ! Amount of OCPO converted to OCPI [kg/timestep] OCCONV(I,J,L) = ( TC0 - CNEW ) * KOC / ( KOC + FREQ ) !================================================================= ! HISTORY (aka netCDF diagnostics) ! ! Archive production of hydrophilic organic carbon (OCPI) from ! hydrophobic organic carbon (OCPO) [kg] ! ! NOTE: Consider converting to area-independent units kg/m2/s. !================================================================= IF ( State_Diag%Archive_ProdOCPIfromOCPO ) THEN State_Diag%ProdOCPIfromOCPO(I,J,L) = OcConv(I,J,L) ENDIF ! Store modified OC concentration back in species array TC(I,J,L) = CNEW ENDDO ENDDO ENDDO !$OMP END PARALLEL DO TC => NULL() END SUBROUTINE CHEM_OCPO !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: chem_ocpi ! ! !DESCRIPTION: Subroutine CHEM\_BCPI calculates dry deposition of ! hydrophilic OC. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CHEM_OCPI( Input_Opt, State_Chm, State_Diag, & State_Grid, spcId, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE TIME_MOD, ONLY : GET_TS_CHEM ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object INTEGER, INTENT(IN) :: spcId ! OCPO species Id ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry state object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 01 Apr 2004 - R. Park - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I, J, L REAL(fp) :: TC0, CNEW, CCV ! Pointers REAL(fp), POINTER :: TC(:,:,:) !================================================================= ! CHEM_OCPI begins here! !================================================================= ! Assume success RC = GC_SUCCESS TC => State_Chm%Species(spcId)%Conc !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, L, TC0, CCV, CNEW )& !$OMP COLLAPSE( 3 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Initial H-philic OC [kg] TC0 = TC(I,J,L) ! H-philic OC that used to be H-phobic OC [kg] CCV = OCCONV(I,J,L) ! Add the amount of converted OCPO to OCPI CNEW = TC0 + CCV ! Prevent underflow condition IF ( CNEW < SMALLNUM ) CNEW = 0e+0_fp ! Store modified concentration back in species array [kg] TC(I,J,L) = CNEW ENDDO ENDDO ENDDO !$OMP END PARALLEL DO !================================================================= ! Zero OCCONV array for next timestep !================================================================= OCCONV = 0e+0_fp TC => NULL() END SUBROUTINE CHEM_OCPI !EOC #ifdef TOMAS !------------------------------------------------------------------------------- ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: aging_carb ! ! !DESCRIPTION: Subroutine AGING\_CARB converts the size-resolved hydrophobic ! EC or OC to hydrophilic EC or OC with an assumed e-folding time. ! (win, 9/11/07) !\\ !\\ ! !INTERFACE: ! SUBROUTINE AGING_CARB( id_MIL, id_MOB, State_Grid, State_Chm ) ! ! !USES: ! USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE TIME_MOD, ONLY : GET_TS_CHEM ! [=] second ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: id_MIL INTEGER, INTENT(IN) :: id_MOB TYPE(GrdState), INTENT(IN) :: State_Grid ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! ! !REMARKS: ! 11 Sep 2007 - W. Trivitayanurak - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, J, L, N REAL(fp) :: DTCHEM REAL(fp), PARAMETER :: TAU_HYDRO = 1.15e+0_fp ! [=]day TYPE(SpcConc), POINTER :: Spc(:) !================================================================= ! AGING_CARB begins here! !================================================================= Spc => State_Chm%Species DTCHEM = GET_TS_CHEM() / 3600e+0_fp / 24e+0_fp ![=] day DO N = 1, State_Chm%nTomasBins Spc(id_MIL+N-1)%Conc(:,:,:) = Spc(id_MIL+N-1)%Conc(:,:,:) & + Spc(id_MOB+N-1)%Conc(:,:,:) & * (1.e+0_fp - DEXP(-DTCHEM/TAU_HYDRO)) Spc(id_MOB+N-1)%Conc(:,:,:) = Spc(id_MOB+N-1)%Conc(:,:,:) & * (DEXP(-DTCHEM/TAU_HYDRO)) ENDDO NULLIFY(Spc) END SUBROUTINE AGING_CARB !EOC #endif !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: soa_chemistry ! ! !DESCRIPTION: Subroutine SOA\_CHEMISTRY performs SOA formation. This code is ! from the Caltech group (Hong Liao, Serena Chung, et al) and was modified for ! GEOS-CHEM. (rjp, bmy, 7/8/04, 12/21/09) !\\ !\\ ! !INTERFACE: ! SUBROUTINE SOA_CHEMISTRY( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD, ONLY : DEBUG_MSG USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Met_Mod, ONLY : MetState USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState #ifdef APM USE APM_INIT_MOD, ONLY : APMIDS USE APM_INIT_MOD, ONLY : NGCOND,NSO4,NSEA,NBCOC USE APM_INIT_MOD, ONLY : NCTSO4,NCTBC,NCTOC,NCTDST,NCTSEA #endif ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! Procedure: ! ============================================================================ ! (1 ) Read in NO3, O3, OH in CHEM_SOA ! (2 ) Scales these fields using OHNO3TIME in sulfate_mod.f (see GET_OH) ! (3 ) Calculate reaction rates (Serena's OCHEMPARAETER) ! (4 ) CALCULATE DELHC ! (5 ) get T0M gas products ! (6 ) equilibrium calculation ! . ! As of 5/20/10: Havala's New formulation ! . ! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! % FOR SEMIVOLATILE POA and IVOC (aka SOA_SVPOA) simulations: % ! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! GEOS-Chem treats formation of aerosol from 11 parent hydrocarbons ! and oxidation by OH, O3, and NO3: ! . ! The parent hydrocarbons are lumped into 5 semivolatile systems: ! TSOA/G: the lumped semivolatile oxidation products of ! monoterpene and sesquiterpene oxidation ! ISOA/G: the lumped semivolatile oxidation products of isoprene ox ! (REMOVED IN GEOS-Chem 12.6.0, July 2019) ! ASOA/G: the lumped semivolatile (and nonvolatile) products of ! benzene, toluene, xylene, and naphthalene (IVOC surrogate) ! oxidation ! POA/G : the lumped primary semivolatile emissions ! OPOA/G: the lumped products of primary semivolatile oxidation ! . ! Parent HC Oxidized by Products ! ============= ================ ================================== ! MTPA OH, O3, NO3 TSOA/G0-3 ! LIMO OH, O3, NO3 TSOA/G1-3 ! MTPO OH, O3, NO3 TSOA/G0-3 ! SESQ OH, O3, NO3 TSOA/G1-3 ! ISOP OH, NO3 ISOA/G1-3 (REMOVED IN 12.6.0, Jul 2019) ! BENZ OH, (+NO,HO2) ASOAN, ASOA/G1-3 ! TOLU OH, (+NO,HO2) ASOAN, ASOA/G1-3 ! XYLE OH, (+NO,HO2) ASOAN, ASOA/G1-3 ! SVOC/POA OH POA/G1-2 ! O-SVOC/OPOA OH OPOA/G1-2 ! NAP OH, (+NO,HO2) ASOAN, ASOA/G1-3 ! . ! Species that must be defined in geoschem_config.yml (in addition to standard ! full chem species) (34 additional): ! TSOA1 TSOG1 ASOA1 ASOG1 ! TSOA2 TSOG2 ASOA2 ASOG2 ! TSOA3 TSOG3 ASOA3 ASOG3 ! ASOAN TSOA0 TSOG0 ! BENZ TOLU XYLE MTPA LIMO MTPO ! NAP ! POA1 POG1 POA2 POG2 ! OPOA1 OPOG1 OPOA2 OPOG2 ! . ! The following should NOT be defined for semivol POA: OCPI, OCPO ! . ! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! % FOR NON-VOLATILE TRADITIONAL POA (aka SOA) simulations: % ! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! GEOS-Chem treats formation of aerosol from 8 parent hydrocarbons ! and oxidation by OH, O3, and NO3: ! . ! Two non-volatile,traditional primary OC species exist: ! OCPO: hydrophobic POA ! OCPI: hydrophillic POA ! . ! The parent hydrocarbons are lumped into 3 semivolatile systems: ! TSOA/G: the lumped semivolatile oxidation products of ! monoterpene and sesquiterpene oxidation ! ISOA/G: the lumped semivolatile oxidation products of isoprene ox ! (REMOVED IN GEOS-Chem 12.6.0, July 2019) ! ASOA/G: the lumped semivolatile (and nonvolatile) products of ! benzene, toluene, and xylene oxidation ! . ! Parent HC Oxidized by Products ! ============= ================ ================================== ! MTPA OH, O3, NO3 TSOA/G0-3 ! LIMO OH, O3, NO3 TSOA/G1-3 ! MTPO OH, O3, NO3 TSOA/G0-3 ! SESQ OH, O3, NO3 TSOA/G1-3 ! ISOP OH, NO3 ISOA/G1-3 (REMOVED IN 12.6.0, Jul 2019) ! BENZ OH, (+NO,HO2) ASOAN, ASOA/G1-3 ! TOLU OH, (+NO,HO2) ASOAN, ASOA/G1-3 ! XYLE OH, (+NO,HO2) ASOAN, ASOA/G1-3 ! . ! Species that must be defined in geoschem_config.yml (in addition to standard ! full chem species) (25 additional): ! TSOA1 TSOG1 ASOA1 ASOG1 ! TSOA2 TSOG2 ASOA2 ASOG2 ! TSOA3 TSOG3 ASOA3 ASOG3 ! ASOAN TSOA0 TSOG0 ! BENZ TOLU XYLE MTPA LIMO MTPO ! . ! The following should NOT be defined for traditional POA: ! NAP, POA/G OPOA/G ! . ! References (see above for full citations): ! =========================================================================== ! Monoterpenes and sesquiterpenes: ! Experimental Data: ! Griffin et al. 1999 JGR (sesquiterps low NOx) ! Shilling et al. 2008 ACP (a-pinene ozonolysis for MTPO/MTPA) ! Zhang et al. 2006 JPhysChemA (limonene ozonolysis) ! Ng et al. 2007 ACP (data for NOx effect on sesq aerosol) ! Modeling: ! Chung and Seinfeld 2002 JGR (original formulation in GEOS-Chem) ! Liao et al. 2007 JGR (comparison to measurements) ! Pye et al. in prep 2010 (new lumping scheme, NOx effect) ! Isoprene ! Kroll et al. 2006 ES&T (low NOx experiments) ! Ng et al. 2008 ACP (isoprene + NO3 experiments) ! Henze et al. 2006 GRL (low NOx isoprene modeling in GEOS-Chem) ! Pye et al. in prep 2010 (new lumping scheme and isop+no3 modeling) ! Aromatics: benz, tolu, xyle ! Ng et al. 2007 ACP (experiments) ! Henze et al. 2008 ACP (global modeling) ! POA/OPOA ! Shrivastava et al. 2006 ES&T (POA experiments) ! Grieshop et al. 2009 ACP (POA/SVOC oxidation experiments) ! Pye and Seinfeld 2010 ACP (global modeling) ! IVOC/Naphthalene ! Chan et al. 2009 ACP (experiments) ! Pye and Seinfeld 2010 ACP (global modeling) ! ! !REVISION HISTORY: ! 08 Jul 2004 - R. Park - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! LOGICAL, SAVE :: FIRST = .TRUE. INTEGER :: I, J, L, N ! no more NOx (hotp 5/22/10) INTEGER :: JHC, IPR!, NOX ! (dkh, 10/30/06) INTEGER :: JSV ! (hotp 5/13/10) INTEGER :: JSVPOA, JSVOPOA ! for diag (hotp 5/17/10) REAL(fp) :: RTEMP, VOL, FAC, MPOC REAL(fp) :: MNEW, MSOA_OLD, MPRODUCT, CAIR REAL(fp) :: LOWER, UPPER, TOL, VALUE REAL(fp) :: KO3(MHC), KOH(MHC), KNO3(MHC) REAL(fp) :: KOM(MPROD,MSV) REAL(fp) :: GM0(MPROD,MSV), AM0(MPROD,MSV) REAL(fp) :: ORG_AER(MPROD,MSV) REAL(fp) :: ORG_GAS(MPROD,MSV) ! Parent HC reacted diag for arom/IVOC (hotp 5/17/10) REAL(fp) :: DARO2_TOT_0(8) ! added NAP (hotp 7/22/09) REAL(fp), SAVE :: DARO2_TOT(8) = 0e+0_fp ! added NAP (hotp 7/22/09) ! Rate constant for RO2+HO2, RO2+NO rxns (hotp 5/7/10) REAL(fp) :: KRO2NO, KRO2HO2 ! semivolpoa2: add diagnostic info for POA (hotp 3/11/09) ! semivolpoa4: add dimension for OPOA (hotp 3/27/09) REAL(fp) :: GLOB_AM0_POA(State_Grid%NX,State_Grid%NY,State_Grid%NZ, & MNOX,MPROD,2) REAL(fp) :: GLOB_AM0_POA_0(State_Grid%NX,State_Grid%NY,State_Grid%NZ,& MNOX,MPROD,2) REAL(fp), SAVE :: GLOB_POA_PROD REAL(fp), SAVE :: GLOB_OPOA_PROD ! Update IEPOX aerosol-phase species concentrations: INTEGER :: SPIND REAL(fp) :: fORGS, fORGN REAL(fp) :: DELDIOL, DELORGS, DELORGN ! Pointers TYPE(SpcConc), POINTER :: Spc(:) ! Debug Integer :: IIDebug, JJDebug #ifdef APM INTEGER :: IFINORG INTEGER :: NTEMP REAL(fp) :: OCBIN_SUM #endif !================================================================= ! SOA_CHEMISTRY begins here! !================================================================= ! Point to chemical species array [kg] Spc => State_Chm%Species ! Zero some diagnostics (hotp 5/17/10) GLOB_POGRXN = 0e+0_fp OAGINITSAVE = 0e+0_fp DELTASOGSAVE = 0e+0_fp ! Save initial OA+OG for diagnostic (hotp 5/17/10) IF ( Input_Opt%Verbose ) THEN CALL SAVE_OAGINIT( State_Chm, State_Grid, State_Met ) ENDIF !this section is need to initialize the equalibirum constants and !yield parameters, (jje 06/22/10) IF ( FIRST ) THEN ! initialize alphas, Koms and rxn rate constants CALL SOA_PARA_INIT( Input_Opt ) ! Diagnostic/debug info (hotp 5/22/10) IF ( Input_Opt%Verbose ) THEN WRITE(*,*) 'HC and SV IDs' print*, 'Monoterpenes and sesquiterpenes' print*, 'MTPA ', PARENTMTPA, IDSV(PARENTMTPA) print*, 'LIMO ', PARENTLIMO, IDSV(PARENTLIMO) print*, 'MTPO ', PARENTMTPO, IDSV(PARENTMTPO) print*, 'SESQ ', PARENTSESQ, IDSV(PARENTSESQ) print*, 'Isoprene' print*, 'ISOP ', PARENTISOP, IDSV(PARENTISOP) print*, 'Arom/IVOC' print*, 'BENZ ', PARENTBENZ, IDSV(PARENTBENZ) print*, 'TOLU ', PARENTTOLU, IDSV(PARENTTOLU) print*, 'XYLE ', PARENTXYLE, IDSV(PARENTXYLE) print*, 'NAP ', PARENTNAP, IDSV(PARENTNAP ) print*, 'POA and OPOA' print*, 'POA ', PARENTPOA, IDSV(PARENTPOA) print*, 'OPOA ', PARENTOPOA, IDSV(PARENTOPOA) print*,'NPROD and NNOX for SV groups' DO JSV = 1, MSV print*, (JSV),NPROD(JSV),NNOX(JSV) ENDDO ENDIF ! Zero diagnostic (hotp 5/24/10) GLOB_POA_PROD = 0e+0_fp GLOB_OPOA_PROD = 0e+0_fp DELTAHCSAVE = 0e+0_fp SPECSOAPROD = 0e+0_fp SPECSOAEVAP = 0e+0_fp FIRST = .FALSE. ENDIF IF ( Input_Opt%Verbose ) THEN print*, ' MAX DARO2 = ', MAXLOC(GLOB_DARO2(:,:,:,1,1)), & MAXVAL(GLOB_DARO2(:,:,:,1,1)) ENDIF ! semivolpoa2: diagnostic info (hotp 3/11/09) GLOB_AM0_POA = 0.e+0_fp GLOB_AM0_POA_0 = 0.e+0_fp ! added debug (hotp 8/24/09) IF ( Input_Opt%Verbose ) THEN IIDebug = Min(State_Grid%NX,20) JJDebug = Min(State_Grid%NY,33) print*, 'START SOA_CHEMISTRY' print*, 'species ','global sum ', & 'box ',IIDEBUG,',',JJDEBUG,',2 ', & 'box ',IIDEBUG,',',JJDEBUG,',10 ' IF ( Input_Opt%LSVPOA ) THEN print*,'POA1', SUM(Spc(id_POA1)%Conc(:,:,:)) print*,'POA2', SUM(Spc(id_POA2)%Conc(:,:,:)) print*,'POG1', SUM(Spc(id_POG1)%Conc(:,:,:)) print*,'POG2', SUM(Spc(id_POG2)%Conc(:,:,:)) print*,'OPOA1',SUM(Spc(id_OPOA1)%Conc(:,:,:)) print*,'OPOA2',SUM(Spc(id_OPOA2)%Conc(:,:,:)) print*,'OPOG1',SUM(Spc(id_OPOG1)%Conc(:,:,:)) print*,'OPOG2',SUM(Spc(id_OPOG2)%Conc(:,:,:)) ENDIF ! semivolpoa3: debug POAEMISS print*, 'POAEMISS,1,POG1', & SUM(POAEMISS(:,:,:,1)),POAEMISS(IIDEBUG,JJDEBUG,2,1), & POAEMISS(IIDEBUG,JJDEBUG,10,1) print*, 'POAEMISS,2,POG2', & SUM(POAEMISS(:,:,:,2)),POAEMISS(IIDEBUG,JJDEBUG,2,2), & POAEMISS(IIDEBUG,JJDEBUG,10,2) ! 10/12/09 debug IF ( Input_Opt%LSVPOA ) THEN print*,'POAG tot', SUM(Spc(id_POA1)%Conc(:,:,:))+ & SUM(Spc(id_POA2)%Conc(:,:,:))+ & SUM(Spc(id_POG1)%Conc(:,:,:))+ & SUM(Spc(id_POG2)%Conc(:,:,:)) ENDIF ENDIF ! Locate POA and OPOA in AM0 (hotp 5/17/10) JSVPOA = IDSV(PARENTPOA) JSVOPOA = IDSV(PARENTOPOA) ! For parallel do: ! add KRO2XXX to private (hotp 5/7/10) ! add JSV to private (hotp 5/13/10) ! remove NOX (hotp 5/22/10) !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& #ifdef APM !$OMP PRIVATE( IFINORG, OCBIN_SUM, N, NTEMP )& #endif !$OMP PRIVATE( I, J, L, JHC, IPR, GM0, AM0 )& !$OMP PRIVATE( VOL, FAC, RTEMP, KO3, KOH, KNO3, CAIR )& !$OMP PRIVATE( VALUE, UPPER, LOWER, MNEW, TOL )& !$OMP PRIVATE( ORG_AER, ORG_GAS, KOM, MPOC )& !$OMP PRIVATE( KRO2NO, KRO2HO2, JSV ) DO L = 1, State_Met%MaxChemLev DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Zero important variables at top of loop AM0 = 0.0_fp GM0 = 0.0_fp KO3 = 0.0_fp KOH = 0.0_fp KNO3 = 0.0_fp KRO2NO = 0.0_fp KRO2HO2 = 0.0_fp LOWER = 0.0_fp MNEW = 0.0_fp MPOC = 0.0_fp TOL = 0.0_fp UPPER = 0.0_fp VALUE = 0.0_fp ! Skip non-chemistry boxes IF ( .not. State_Met%InChemGrid(I,J,L) ) CYCLE ! Volume of grid box [m3] VOL = State_Met%AIRVOL(I,J,L) ! conversion factor from kg to ug/m3 FAC = 1.0e+9_fp / VOL ! air conc. in kg/m3 CAIR = State_Met%AD(I,J,L) / VOL ! Temperature [K] RTEMP = State_Met%T(I,J,L) ! Get SOA yield parameters ! ALPHA is a module variable now. (ccc, 2/2/10) ! add arguments for RO2+NO, RO2+HO2 rates (hotp 5/7/10) CALL SOA_PARA( RTEMP, KO3, KOH, KNO3, KOM, & I, J, L, KRO2NO, KRO2HO2, State_Met ) ! Partition mass of gas & aerosol species ! according to 5 VOC classes & 3 oxidants CALL SOA_PARTITION( I, J, L, GM0, AM0, State_Chm ) ! hotp diagnostic (3/11/09) GLOB_AM0_POA_0(I,J,L,1,:,:) = AM0(:,JSVPOA:JSVOPOA) ! Compute oxidation of hydrocarbons by O3, OH, NO3 ! ALPHA is a module variable now (ccc, 2/2/10) ! semivolpoa2: emit POA into semivolatiles here (hotp 2/27/09) ! add RO2+NO,HO2 rate constants (hotp 5/7/10) CALL CHEM_NVOC( I, J, L, & KO3, KOH, KNO3, & GM0, KRO2NO, KRO2HO2, & Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) !============================================================== ! Equilibrium calculation between GAS (SOG) and Aerosol (SOA) !============================================================== ! Initialize other arrays to be safe (dkh, 11/10/06) ! update dims (hotp 5/22/10) ORG_AER = 0.0_fp ORG_GAS = 0.0_fp ! Individual SOA's: convert from [kg] to [ug/m3] or [kgC] to [ugC/m3] DO JSV = 1, MAXSIMSV DO IPR = 1, NPROD(JSV) ORG_GAS(IPR,JSV) = GM0(IPR,JSV) * FAC ORG_AER(IPR,JSV) = AM0(IPR,JSV) * FAC ENDDO ENDDO ! semivolpoa2: include OA mass with POA (hotp 3/2/09) ! Check to make sure POA is defined (hotp 8/24/09) ! Convert from [ugC/m3] to [ug/m3] IF ( id_POA1 > 0 ) THEN JHC = PARENTPOA JSV = IDSV(JHC) DO IPR = 1, NPROD(JSV) ORG_GAS(IPR,JSV) = ORG_GAS(IPR,JSV) * State_Chm%AerMass%OCFPOA(I,J) ORG_AER(IPR,JSV) = ORG_AER(IPR,JSV) * State_Chm%AerMass%OCFPOA(I,J) ENDDO ENDIF ! semivolpoa4opoa: add OPOA mass (hotp 3/18/09) ! Check to make sure OPOA is defined (hotp 8/24/09) ! Convert from [ugC/m3] to [ug/m3] IF ( id_OPOA1 > 0 ) THEN JHC = PARENTOPOA JSV = IDSV(JHC) DO IPR = 1, NPROD(JSV) ORG_GAS(IPR,JSV) = ORG_GAS(IPR,JSV) * State_Chm%AerMass%OCFOPOA(I,J) ORG_AER(IPR,JSV) = ORG_AER(IPR,JSV) * State_Chm%AerMass%OCFOPOA(I,J) ENDDO ENDIF !----------------------------------------------------------- ! Compute SOG condensation onto OC aerosol ! ! Primary organic aerosol concentrations [ug/m3] ! We carry carbon mass only in the Spc array and here ! multiply by 2.1 to account for non-carbon mass in the SOA. ! ! Partitioning theory (Pankow, 1994) describes organic ! phase partitioning assuming absorption into pre-existing ! organic mass. There is currently no theoretical or ! laboratory support for absorption of organics into ! inorganics. ! ! Note that previous versions of the standard code ! (v7-04-07 through v8-02-04) did include absorption into ! inorganics. ! ! (Colette Heald, 12/3/09) !----------------------------------------------------------- #ifdef APM OCBIN_SUM = 0.0_fp DO N = 1, NBCOC OCBIN_SUM = OCBIN_SUM + SUM( Spc(APMIDS%id_OCBIN1+N-1)%Conc ) ENDDO MPOC = FAC * OCBIN_SUM MPOC = MPOC * 2.1d0 IFINORG = 2 !############################################################################# ! NOTE: IFINORG is always 2 so the other IF branches never get done. ! Comment these out for now for better numerical efficiency ! -- Bob Yantosca (23 May 2023) ! IF(IFINORG.EQ.1) THEN !Yu+ consider inorg in the SOA partition ! ! IF ( APMIDS%id_SO4 > 0 .and. & ! APMIDS%id_NH4 > 0 .and. & ! APMIDS%id_NIT > 0 ) THEN ! ! Then compute SOG condensation onto SO4, NH4, NIT aerosols ! MPOC = MPOC + ( Spc(APMIDS%id_NH4)%Conc(I,J,L) + & ! Spc(APMIDS%id_NIT)%Conc(I,J,L) ) * FAC ! ! IF(NSO4>=1)THEN ! NTEMP=APMIDS%id_SO4BIN1-1 ! DO N=(NTEMP+1),(NTEMP+NSO4) ! MPOC = MPOC + Spc(N)%Conc(I,J,L) * FAC ! ENDDO ! ENDIF ! ! IF(NCTSO4>=1)THEN ! NTEMP=APMIDS%id_CTSO4-1 ! DO N=(NTEMP+1),(NTEMP+NCTSO4) ! MPOC = MPOC + Spc(N)%Conc(I,J,L) * FAC ! ENDDO ! ENDIF ! ! IF(NCTBC>=1)THEN ! NTEMP=APMIDS%id_CTBC-1 ! DO N=(NTEMP+1),(NTEMP+NCTBC) ! MPOC = MPOC + Spc(N)%Conc(I,J,L) * FAC ! ENDDO ! ENDIF ! ! IF(NCTOC>=1)THEN ! NTEMP=APMIDS%id_CTOC-1 ! DO N=(NTEMP+1),(NTEMP+NCTOC) ! MPOC = MPOC + Spc(N)%Conc(I,J,L) * FAC ! ENDDO ! ENDIF ! ! IF(NCTSEA>=1)THEN ! NTEMP=APMIDS%id_CTSEA-1 ! DO N=(NTEMP+1),(NTEMP+NCTSEA) ! MPOC = MPOC + Spc(N)%Conc(I,J,L) * FAC ! ENDDO ! ENDIF ! ! IF(NSEA>=1)THEN ! NTEMP=APMIDS%id_SEABIN1-1 ! DO N=(NTEMP+1),(NTEMP+16) ! SALTbin16 = 1 um ! MPOC = MPOC + Spc(N)%Conc(I,J,L) * FAC ! ENDDO ! ENDIF ! ! !Add MSA ! MPOC = MPOC + Spc(APMIDS%id_MSA)%Conc(I,J,L) * FAC ! ! ENDIF ! ! ELSEIF(IFINORG.EQ.2) THEN !Consider SV SOA partition on LV SOA !############################################################################# MPOC = MPOC + FAC * (Spc(APMIDS%id_CTSO4 )%Conc(I,J,L) + & !MSULFLV Spc(APMIDS%id_CTBC +1)%Conc(I,J,L) + & !MBCLV Spc(APMIDS%id_CTOC +1)%Conc(I,J,L) + & !MOCLV Spc(APMIDS%id_CTDST+1)%Conc(I,J,L) + & !MDSTLV Spc(APMIDS%id_CTSEA+1)%Conc(I,J,L)) !MSALTLV !############################################################################# ! NOTE: IFINORG is always 2 so the other IF branches never get done. ! Comment these out for now for better numerical efficiency ! -- Bob Yantosca (23 May 2023) ! ELSE ! ! ! Compute SOG condensation onto OC aerosol ! MPOC = ( Spc(id_OCPI)%Conc(I,J,L) + Spc(id_OCPO)%Conc(I,J,L) ) * FAC ! MPOC = MPOC * 2.1d0 ! ! ENDIF !############################################################################# #else ! Now treat either traditional POA or semivolatile POA (hotp 7/25/10) IF ( id_OCPI > 0 .and. id_OCPO > 0 ) THEN MPOC = ( Spc(id_OCPI)%Conc(I,J,L) + Spc(id_OCPO)%Conc(I,J,L) ) * FAC MPOC = MPOC * State_Chm%AerMass%OCFOPOA(I,J) ELSE ! semivolpoa2: MPOC is zero now (hotp 2/27/09) MPOC = 1e-30_fp ENDIF #endif !============================================================== ! Solve for MNEW by solving for SOA=0 !============================================================== IF ( ( MPOC / ( CAIR*1.e+9_fp ) ) <= 2.1e-18_fp ) THEN VALUE = 0.e+0_fp UPPER = 0.e+0_fp ! Now use SV (hotp 5/13/10) ! update dims (hotp 5/22/10) DO JSV = 1, MAXSIMSV DO IPR = 1, NPROD(JSV) VALUE = VALUE + KOM(IPR,JSV) * (ORG_GAS(IPR,JSV) + ORG_AER(IPR,JSV)) UPPER = UPPER + ORG_GAS(IPR,JSV) + ORG_AER(IPR,JSV) ENDDO ENDDO IF ( VALUE <= 1.e+0_fp ) THEN MNEW = 0.e+0_fp ELSE LOWER = 1.e-18_fp * ( CAIR * 1.e+9_fp ) TOL = 1.e-18_fp MNEW = ZEROIN(LOWER,UPPER,TOL,MPOC,ORG_AER,ORG_GAS,KOM) ENDIF ELSE UPPER = MPOC ! Now use SV (hotp 5/13/10) ! update dims (hotp 5/22/10) DO JSV = 1, MAXSIMSV DO IPR = 1, NPROD(JSV) UPPER = UPPER + ORG_GAS(IPR,JSV) + ORG_AER(IPR,JSV) ENDDO ENDDO LOWER = MPOC TOL = 1.e-9_fp*MPOC MNEW = ZEROIN(LOWER,UPPER,TOL,MPOC,ORG_AER,ORG_GAS,KOM) ENDIF !============================================================== ! Equilibrium partitioning into new gas and aerosol ! concentrations for individual contributions of SOA !============================================================== IF ( MNEW > 0.e+0_fp ) THEN ! Use actual number of HC (hotp 8/24/09) ! Now use SV (hotp 5/13/10) ! updated dims (hotp 7/28/1) DO JSV = 1, MAXSIMSV DO IPR = 1, NPROD(JSV) ORG_AER(IPR,JSV) = KOM(IPR,JSV)*MNEW / & (1.e+0_fp + KOM(IPR,JSV) * MNEW ) * & (ORG_AER(IPR,JSV) + ORG_GAS(IPR,JSV)) IF ( KOM(IPR,JSV).NE.0e+0_fp ) THEN ORG_GAS(IPR,JSV) = ORG_AER(IPR,JSV) * 1.e+8_fp / & ( KOM(IPR,JSV) * MNEW * 1.e+8_fp) ELSE ORG_GAS(IPR,JSV) = 0.e+0_fp ENDIF ENDDO ENDDO ! semivolpoa2: remove OA mass from POA (hotp 3/2/09) ! Check if POA defined (hotp 8/24/09) IF ( id_POA1 > 0 ) THEN JHC = PARENTPOA JSV = IDSV(JHC) DO IPR = 1, NPROD(JSV) ORG_GAS(IPR,JSV) = ORG_GAS(IPR,JSV) / State_Chm%AerMass%OCFPOA(I,J) ORG_AER(IPR,JSV) = ORG_AER(IPR,JSV) / State_Chm%AerMass%OCFPOA(I,J) ENDDO ENDIF ! semivolpoa4opoa: remove OA mass from OPOA (hotp 3/18/09) ! Check if OPOA defined (hotp 8/24/09) IF ( id_OPOA1 > 0 ) THEN JHC = PARENTOPOA JSV = IDSV(JHC) DO IPR = 1, NPROD(JSV) ORG_GAS(IPR,JSV) = ORG_GAS(IPR,JSV) / State_Chm%AerMass%OCFOPOA(I,J) ORG_AER(IPR,JSV) = ORG_AER(IPR,JSV) / State_Chm%AerMass%OCFOPOA(I,J) ENDDO ENDIF ! STORE PRODUCT INTO T0M ! Use actual number of HC for sim (hotp 8/24/09) ! change to SV (hotp 5/13/10) ! update dims (hotp 5/22/10) DO JSV = 1, MAXSIMSV DO IPR = 1, NPROD(JSV) GM0(IPR,JSV) = ORG_GAS(IPR,JSV) / FAC AM0(IPR,JSV) = ORG_AER(IPR,JSV) / FAC ENDDO ENDDO !============================================================== ! Mnew=0.e+0_fp, all SOA evaporates to the gas-phase !============================================================== ELSE ! Use actual number of HC for sim (hotp 8/24/09) ! Change to SV (hotp 5/13/10) DO JSV = 1, MAXSIMSV DO IPR = 1, NPROD(JSV) GM0(IPR,JSV) = GM0(IPR,JSV) + AM0(IPR,JSV) !AM0(IPR,JSV) = 1.D-18 * State_Met%AD(I,J,L) ! try this to fix MB problem (hotp 5/25/10) AM0(IPR,JSV) = 1.e-20_fp ENDDO ENDDO ENDIF ! enforce direct yield for low nox aromatics ! no longer loop (hotp 7/28/10) JHC = PARENTBENZ JSV = IDSV(JHC) !DO IPR = 1, NPROD(JSV) IPR = 4 ! HARDWIRED!!!!!!!!! AM0(IPR,JSV) = AM0(IPR,JSV) + GM0(IPR,JSV) GM0(IPR,JSV) = 0e+0_fp ! Lump SOA CALL SOA_LUMP( I, J, L, GM0, AM0, State_Chm, State_Diag ) ! hotp diagnostic (3/11/09) GLOB_AM0_POA(I,J,L,1,:,:) = AM0(:,JSVPOA:JSVOPOA) !-------------------------------------------------------------------- ! Comment out for now. This produces a lot of excess debug output. ! (bmy, 5/5/20) !! Check equilibrium (hotp 5/18/10) !IF ( Input_Opt%Verbose ) THEN ! ! IDSV for lumped arom/IVOC is hardwired (=3) (hotp 5/20/10) ! ! Low NOX (non-volatile) aromatic product is IPR=4 ! CALL CHECK_EQLB( I, J, L, KOM, FAC, MNEW, LOWER, TOL, & ! ORG_GAS(4,3), ORG_AER(4,3), MPOC, State_Chm ) !ENDIF !-------------------------------------------------------------------- ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ! Debug: check mass balance (hotp 5/18/10) IF ( Input_Opt%Verbose ) THEN CALL CHECK_MB( Input_Opt,State_Chm, State_Grid, State_Met ) ENDIF !------------------------------------------------------------------------ !### Now only print when ND70 is turned on (bmy, 4/21/10) IF ( Input_Opt%Verbose ) THEN IF ( Input_Opt%LSVPOA ) THEN ! 10/12/09 debug print*,'POAG tot', SUM(Spc(id_POA1)%Conc(:,:,:))+ & SUM(Spc(id_POA2)%Conc(:,:,:))+ & SUM(Spc(id_POG1)%Conc(:,:,:))+ & SUM(Spc(id_POG2)%Conc(:,:,:)) ENDIF ! dkh print some diagnostics ! Parent hydrocarbon reacted diagnostic (hotp 5/17/10) DARO2_TOT_0(:) = DARO2_TOT(:) print*, ' MAX DARO2 = ', MAXLOC(GLOB_DARO2(:,:,:,1,1)), & MAXVAL(GLOB_DARO2(:,:,:,1,1)) DARO2_TOT(1) = DARO2_TOT(1) + SUM(GLOB_DARO2(:,:,:,1,1)) / 1d9 DARO2_TOT(2) = DARO2_TOT(2) + SUM(GLOB_DARO2(:,:,:,2,1)) / 1d9 DARO2_TOT(3) = DARO2_TOT(3) + SUM(GLOB_DARO2(:,:,:,1,2)) / 1d9 DARO2_TOT(4) = DARO2_TOT(4) + SUM(GLOB_DARO2(:,:,:,2,2)) / 1d9 DARO2_TOT(5) = DARO2_TOT(5) + SUM(GLOB_DARO2(:,:,:,1,3)) / 1d9 DARO2_TOT(6) = DARO2_TOT(6) + SUM(GLOB_DARO2(:,:,:,2,3)) / 1d9 ! added NAP diagnostic info (hotp 7/22/09) ! amount of RO2 reacted in high and low NOx pathways DARO2_TOT(7) = DARO2_TOT(7) + SUM(GLOB_DARO2(:,:,:,1,4)) / 1d9 DARO2_TOT(8) = DARO2_TOT(8) + SUM(GLOB_DARO2(:,:,:,2,4)) / 1d9 ! DARO2 is not mass of parent HC, not RO2 (hotp 5/14/10) print*,'Accumulated parent HC reacted to RO2H,N products in Tg' print*,'Units are Tg of parent' print*, 'GLOB_DBRO2 NOX =', DARO2_TOT(1), (DARO2_TOT(1) - DARO2_TOT_0(1)) print*, 'GLOB_DBRO2 HO2 =', DARO2_TOT(2), (DARO2_TOT(2) - DARO2_TOT_0(2)) print*, 'GLOB_DTRO2 NOX =', DARO2_TOT(3), (DARO2_TOT(3) - DARO2_TOT_0(3)) print*, 'GLOB_DTRO2 HO2 =', DARO2_TOT(4), (DARO2_TOT(4) - DARO2_TOT_0(4)) print*, 'GLOB_DXRO2 NOX =', DARO2_TOT(5), (DARO2_TOT(5) - DARO2_TOT_0(5)) print*, 'GLOB_DXRO2 HO2 =', DARO2_TOT(6), (DARO2_TOT(6) - DARO2_TOT_0(6)) print*, 'GL_DAR NOX NAP =', DARO2_TOT(7), (DARO2_TOT(7) - DARO2_TOT_0(7)) print*, 'GL_DAR HO2 NAP =', DARO2_TOT(8), (DARO2_TOT(8) - DARO2_TOT_0(8)) ! end arom parent HC reacted diag (hotp 5/17/10) ! semivolpoa2: diagnostic info (hotp 3/11/09) ! initial info print*, 'AFTER SOA_CHEMISTRY' print*, 'species ','global sum ', & 'box ',IIDEBUG,',',JJDEBUG,',2 ', & 'box ',IIDEBUG,',',JJDEBUG,',10 ' IF ( Input_Opt%LSVPOA ) THEN print*,'POA1 ', SUM(Spc(id_POA1)%Conc(:,:,:)) print*,'POA2 ', SUM(Spc(id_POA2)%Conc(:,:,:)) print*,'POG1 ', SUM(Spc(id_POG1)%Conc(:,:,:)) print*,'POG2 ', SUM(Spc(id_POG2)%Conc(:,:,:)) print*,'OPOA1', SUM(Spc(id_OPOA1)%Conc(:,:,:)) print*,'OPOA2', SUM(Spc(id_OPOA2)%Conc(:,:,:)) print*,'OPOG1', SUM(Spc(id_OPOG1)%Conc(:,:,:)) print*,'OPOG2', SUM(Spc(id_OPOG2)%Conc(:,:,:)) ENDIF ! semivolpoa4: diag for POG reacted (hotp 3/27/09) print*, 'POGRXN ', SUM(GLOB_POGRXN(:,:,:,:)), & SUM( GLOB_POGRXN(IIDEBUG,JJDEBUG,2,:)), & SUM(GLOB_POGRXN(IIDEBUG,JJDEBUG,10,:)) ! POGRXN (hotp 10/11/09) print*, 'POGRXN p1', SUM(GLOB_POGRXN(:,:,:,1)) print*, 'POGRXN p2', SUM(GLOB_POGRXN(:,:,:,2)) ! semivolpoa3: POG1 + POG2 print*, 'POAEMISS tot', SUM(POAEMISS(:,:,:,:)), & POAEMISS(IIDEBUG,JJDEBUG,2,1)+POAEMISS(IIDEBUG,JJDEBUG,2,2), & POAEMISS(IIDEBUG,JJDEBUG,10,1)+POAEMISS(IIDEBUG,JJDEBUG,10,2) ! semivolpoa4opoa: add OPOA (hotp 3/27/09) IF ( id_OPOA1 > 0 ) THEN ! hotp 8/24/09 ! hotp 10/11/09 GLOB_POA_PROD = GLOB_POA_PROD + & SUM(GLOB_AM0_POA(:,:,:,:,:,1)) - & SUM(GLOB_AM0_POA_0(:,:,:,:,:,1)) GLOB_OPOA_PROD = GLOB_OPOA_PROD + & SUM(GLOB_AM0_POA(:,:,:,:,:,2)) - & SUM(GLOB_AM0_POA_0(:,:,:,:,:,2)) ! semivolpoa4opoa: diagnostic info (hotp 3/27/09) print*, 'POA produced (cumulative tp date) ', GLOB_POA_PROD print*, 'POA P1', SUM(GLOB_AM0_POA(:,:,:,1,1,1)) - & SUM(GLOB_AM0_POA_0(:,:,:,1,1,1)) print*, 'POA P2', SUM(GLOB_AM0_POA(:,:,:,1,2,1)) - & SUM(GLOB_AM0_POA_0(:,:,:,1,2,1)) print*, 'OPOA P1', SUM(GLOB_AM0_POA(:,:,:,1,1,2)) - & SUM(GLOB_AM0_POA_0(:,:,:,1,1,2)) print*, 'OPOA P2', SUM(GLOB_AM0_POA(:,:,:,1,2,2)) - & SUM(GLOB_AM0_POA_0(:,:,:,1,2,2)) print*, 'OPOA produced (cumulative to date) ',GLOB_OPOA_PROD print*, 'POA products ' print*, 'product 1', SUM(GLOB_AM0_POA(:,:,:,1,1,1)), & GLOB_AM0_POA(IIDEBUG,JJDEBUG,2,1,1,1), & GLOB_AM0_POA(IIDEBUG,JJDEBUG,10,1,1,1) print*, 'product 2', SUM(GLOB_AM0_POA(:,:,:,1,2,1)), & GLOB_AM0_POA(IIDEBUG,JJDEBUG,2,1,2,1), & GLOB_AM0_POA(IIDEBUG,JJDEBUG,10,1,2,1) print*, 'OPOA products' print*, 'product 1', SUM(GLOB_AM0_POA(:,:,:,1,1,2)), & GLOB_AM0_POA(IIDEBUG,JJDEBUG,2,1,1,2), & GLOB_AM0_POA(IIDEBUG,JJDEBUG,10,1,1,2) print*, 'product 2', SUM(GLOB_AM0_POA(:,:,:,1,2,2)), & GLOB_AM0_POA(IIDEBUG,JJDEBUG,2,1,2,2), & GLOB_AM0_POA(IIDEBUG,JJDEBUG,10,1,2,2) print*, 'POA to trop', SUM(Spc(id_POA1)%Conc(:,:,1:State_Met%MaxChemLev))+ & SUM(Spc(id_POA2)%Conc(:,:,1:State_Met%MaxChemLev)) ENDIF ! OPOA (hotp 8/24/09) ENDIF !------------------------------------------------------------------------ ! Free pointer Spc => NULL() END SUBROUTINE SOA_CHEMISTRY !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: soa_equil ! ! !DESCRIPTION: Function SOA\_EQUIL solves SOAeqn=0 to determine Mnew (= mass) ! See Eqn (27) on page 70 of notes. Originally written by Serena Chung at ! Caltech, and modified for inclusion into GEOS-CHEM. (rjp, bmy, 7/8/04) !\\ !\\ ! !INTERFACE: ! FUNCTION SOA_EQUIL( MASS, MPOC, AEROSOL, GAS, KOM ) & RESULT( SOA_MASS ) ! ! !INPUT/OUTPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: MASS ! Pre-existing aer mass [ug/m3] REAL(fp), INTENT(IN) :: MPOC ! POA Mass [ug/m3] REAL(fp), INTENT(IN) :: AEROSOL(MPROD,MSV) ! Aerosol concentration [ug/m3] REAL(fp), INTENT(IN) :: GAS(MPROD,MSV) ! Gas-phase conc [ug/m3] REAL(fp), INTENT(IN) :: KOM(MPROD,MSV) ! Equilibrium gas-aerosol ! partition coeff. [m3/ug] ! ! !RETURN VALUE: ! REAL(fp) :: SOA_MASS ! ! !REMARKS: ! This version does NOT assume that the gas and aerosol phases are in ! equilibrium before chemistry; therefore, gas phase concentrations are ! needed explicitly. The gas and aerosol phases are assumed to be in ! equilibrium after chemistry. ! . ! Note: Unlike FUNCTION SOA, this function assumes no reactions. It only ! considers the partitioning of existing products of VOC oxidation. ! . ! HC_JHC + OXID_IOXID - > ! alpha(1,IOXID,JHC) [SOAprod_gas(1,IOXID,JHC)+SOAprod(1,IOXID,JHC)]+ ! alpha(2,IOXID,JHC) [SOAprod_gas(2,IOXID,JHC)+SOAprod(2,IOXID,JHC)] ! . ! SOAprod_gas(IPR,IOXID,JHC) <--> SOAprod(IPR,IOXID,JHC) ! (aerosol phase) ! . ! w/ equilibrium partitioning: ! . ! SOAprod(IPR,IOXID,JHC) ! SOAprod_gas(IPR,IOXID,JHC) = ------------------------ ! Kom(IPR,IOXID,JHC) ! ! NOTES: ! 08 Jul 2004 - R. Park - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: JHC, IPR!, NOX (hotp 5/22/10) INTEGER :: JSV ! hotp 5/13/10 REAL(fp) :: VALUE !================================================================= ! SOA_EQUIL begins here! !================================================================= ! Equation (39) on page 139 of notes: VALUE = 0.e+0_fp ! Use SV not HC (hotp 5/13/10) ! update dims (remove NOX) (hotp 5/22/10) DO JSV = 1, MAXSIMSV DO IPR = 1, NPROD(JSV) VALUE = VALUE + KOM(IPR,JSV) / & ( 1.e+0_fp + KOM(IPR,JSV) * MASS ) * & ( GAS(IPR,JSV) + AEROSOL(IPR,JSV) ) ENDDO ENDDO ! Compute SOA mass SOA_MASS = VALUE + ( 1.e+5_fp * MPOC ) / ( 1.e+5_fp * MASS ) - 1.0e+0_fp END FUNCTION SOA_EQUIL !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: zeroin ! ! !DESCRIPTION: Function ZEROIN computes a zero of the function f(x) in the ! interval ax,bx. !\\ !\\ ! !INTERFACE: ! FUNCTION ZEROIN(AX,BX,TOL,MPOC,AEROSOL,GAS,KOM) & RESULT( MNEW ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: ax REAL(fp), INTENT(IN) :: bx REAL(fp), INTENT(IN) :: tol REAL(fp), INTENT(IN) :: Mpoc REAL(fp), INTENT(IN) :: Aerosol(MPROD,MSV) REAL(fp), INTENT(IN) :: Gas(MPROD,MSV) REAL(fp), INTENT(IN) :: Kom(MPROD,MSV) ! ! !RETURN VALUE: ! REAL(fp) :: MNEW ! ! !REMARKS: ! NOTE: This function may be problematic -- it uses GOTO's, which are not ! good for parallelization. (bmy, 7/8/04) ! . ! shc I got this code from http://www.netlib.org ! . ! a zero of the function f(x) is computed in the interval ax,bx . ! . ! input.. ! . ! ax left endpoint of initial interval ! bx right endpoint of initial interval ! f function subprogram which evaluates f(x) for any x in ! the interval ax,bx ! tol desired length of the interval of uncertainty of the ! final result ( .ge. 0.0e+0_fp) ! . ! output.. ! . ! zeroin abcissa approximating a zero of f in the interval ax,bx ! . ! it is assumed that f(ax) and f(bx) have opposite signs ! without a check. zeroin returns a zero x in the given interval ! ax,bx to within a tolerance 4*macheps*abs(x) + tol, where macheps ! is the relative machine precision. ! this function subprogram is a slightly modified translation of ! the algol 60 procedure zero given in richard brent, algorithms for ! minimization without derivatives, prentice - hall, inc. (1973). ! ! !REVISION HISTORY: ! 08 Jul 2004 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) :: a,b,c,d,e,eps,fa,fb,fc,tol1,xm,p,q,r,s ! ! compute eps, the relative machine precision ! eps = 1.0e+0_fp 10 eps = eps/2.0e+0_fp tol1 = 1.0e+0_fp + eps if (tol1 .gt. 1.0e+0_fp) go to 10 ! ! initialization ! a = ax b = bx fa = SOA_equil( A, MPOC, Aerosol, GAS, Kom ) fb = SOA_equil( B, MPOC, Aerosol, GAS, Kom ) ! ! begin step ! 20 c = a fc = fa d = b - a e = d 30 if (ABS(fc) .ge. ABS(fb)) go to 40 a = b b = c c = a fa = fb fb = fc fc = fa ! ! convergence test ! 40 tol1 = 2.0e+0_fp*eps*ABS(b) + 0.5e+0_fp*tol xm = 0.5e+0_fp*(c - b) if (ABS(xm) .le. tol1) go to 90 if (fb .eq. 0.0e+0_fp) go to 90 ! ! is bisection necessary ! if (ABS(e) .lt. tol1) go to 70 if (ABS(fa) .le. ABS(fb)) go to 70 ! ! is quadratic interpolation possible ! if (a .ne. c) go to 50 ! ! linear interpolation ! s = fb/fa p = 2.0e+0_fp*xm*s q = 1.0e+0_fp - s go to 60 ! ! inverse quadratic interpolation ! 50 q = fa/fc r = fb/fc s = fb/fa p = s*(2.0e+0_fp*xm*q*(q - r) - (b - a)*(r - 1.0e+0_fp)) q = (q - 1.0e+0_fp)*(r - 1.0e+0_fp)*(s - 1.0e+0_fp) ! ! adjust signs ! 60 if (p .gt. 0.0e+0_fp) q = -q p = ABS(p) ! ! is interpolation acceptable ! if ((2.0e+0_fp*p) .ge. (3.0e+0_fp*xm*q - ABS(tol1*q))) go to 70 if (p .ge. ABS(0.5e+0_fp*e*q)) go to 70 e = d d = p/q go to 80 ! ! bisection ! 70 d = xm e = d ! ! complete step ! 80 a = b fa = fb if (ABS(d) .gt. tol1) b = b + d if (ABS(d) .le. tol1) b = b + SIGN(tol1, xm) fb = SOA_equil( B, MPOC, Aerosol, GAS, Kom ) if ((fb*(fc/ABS(fc))) .gt. 0.0e+0_fp) go to 20 go to 30 ! ! done ! 90 MNEW = b END FUNCTION ZEROIN !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: rtbis ! ! !DESCRIPTION: Function RTBIS finds the root of the function SOA\_EQUIL via ! the bisection method. Original algorithm from "Numerical Recipes" by Press ! et al, Cambridge UP, 1986. Modified for inclusion into GEOS-CHEM. ! (bmy, 7/8/04) !\\ !\\ ! !INTERFACE: ! FUNCTION RTBIS( X1, X2, XACC, MPOC, AEROSOL, GAS, KOM ) & RESULT( ROOT ) ! ! !USES: ! USE ERROR_MOD, ONLY : ERROR_STOP ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: X1 ! Endpoint #1 REAL(fp), INTENT(IN) :: X2 ! Endpoint #2 REAL(fp), INTENT(IN) :: XACC ! Desired accuracy of solution REAL(fp), INTENT(IN) :: MPOC ! POA mass [ug/m3] REAL(fp), INTENT(IN) :: AEROSOL(MPROD,MSV) ! Aerosol concentration [ug/m3] REAL(fp), INTENT(IN) :: GAS(MPROD,MSV) ! Gas-phase concentration [ug/m3] REAL(fp), INTENT(IN) :: KOM(MPROD,MSV) ! Equilibrium gas-aerosol ! partition coeff. [m3/ug] ! ! !RETURN VALUE: ! REAL(fp) :: ROOT ! ! !REVISION HISTORY: ! 08 Jul 2004 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! INTEGER, PARAMETER :: JMAX = 100 ! ! !LOCAL VARIABLES: ! INTEGER :: J REAL(fp) :: DX, F, FMID, XMID !================================================================= ! RTBIS begins here! !================================================================= ! Compute value of function SOA_EQUIL at endpoints FMID = SOA_EQUIL( X2, MPOC, AEROSOL, GAS, KOM ) F = SOA_EQUIL( X1, MPOC, AEROSOL, GAS, KOM ) ! Test if we are bracketing a root IF ( F * FMID >= 0e+0_fp ) THEN CALL ERROR_STOP( 'Root must be bracketed!', 'RTBIS ("carbon_mod.F90")' ) ENDIF ! Set initial root and interval IF ( F < 0e+0_fp ) THEN ROOT = X1 DX = X2 - X1 ELSE ROOT = X2 DX = X1 - X2 ENDIF ! Loop until max iteration count DO J = 1, JMAX ! Halve the existing interval DX = DX * 0.5e+0_fp ! Compute midpoint of new interval XMID = ROOT + DX ! Compute value of function SOA_EQUIL at new midpoint FMID = SOA_EQUIL( XMID, MPOC, AEROSOL, GAS, KOM ) ! We have found the root! IF ( FMID <= 0e+0_fp ) ROOT = XMID ! We have reached the tolerance, so return IF ( ABS( DX ) < XACC .OR. FMID == 0.e+0_fp ) RETURN ENDDO ! Stop with error condition CALL ERROR_STOP( 'Too many bisections!', 'RTBIS ("carbon_mod.F90")' ) END FUNCTION RTBIS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: soa_para ! ! !DESCRIPTION: Subroutine SOA\_PARA gves mass-based stoichiometric ! coefficients for semi-volatile products from the oxidation of hydrocarbons. ! It calculates secondary organic aerosol yield parameters. Temperature ! effects are included. Original code from the CALTECH group and modified for ! inclusion to GEOS-CHEM. (rjp, bmy, 7/8/04, 6/30/08) !\\ !\\ ! !INTERFACE: ! SUBROUTINE SOA_PARA( TEMP, KO3, KOH, KNO3, KOM, II, JJ, LL, & KRO2NO, KRO2HO2, State_Met ) ! ! !USES: ! USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: II ! Longitude index INTEGER, INTENT(IN) :: JJ ! Latitude index INTEGER, INTENT(IN) :: LL ! Altitude index REAL(fp), INTENT(IN) :: TEMP ! Temperature [k] TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: KO3(MHC) ! Rxn rate for HC oxidation ! by O3 [cm3/molec/s] REAL(fp), INTENT(OUT) :: KOH(MHC) ! Rxn rate for HC oxidation ! by OH [cm3/molec/s] REAL(fp), INTENT(OUT) :: KNO3(MHC) ! Rxn rate for HC oxidation ! by NO3 [cm3/molec/s] REAL(fp), INTENT(OUT) :: KOM(MPROD,MSV) ! Equilibrium gas-aerosol ! partition coeff [m3/ug] ! RO2+NO,HO2 rate constants (hotp 5/7/10) REAL(fp), INTENT(OUT) :: KRO2NO ! RO2+NO rate constant REAL(fp), INTENT(OUT) :: KRO2HO2 ! RO2+HO2 rate constant ! ! !REMARKS: ! References: ! ============================================================================ ! PHOTO-OXIDATION RATE CONSTANTS OF ORGANICS come from: ! (1 ) Atkinson, el al., Int. J. Chem.Kinet., 27: 941-955 (1995) ! (2 ) Shu and Atkinson, JGR 100: 7275-7281 (1995) ! (3 ) Atkinson, J. Phys. Chem. Ref. Data 26: 215-290 (1997) ! (4 ) Some are reproduced in Table 1 of Griffin, et al., JGR 104: 3555-3567 ! (5 ) Chung and Seinfeld (2002) ! . ! ACTIVATION ENERGIES come from: ! (6 ) Atkinson, R. (1994) Gas-Phase Tropospheric Chemistry of Organic ! Compounds. J. Phys. Chem. Ref. Data, Monograph No.2, 1-216. ! (7 ) They are also reproduced in Tables B.9 and B.10 of Seinfeld and ! Pandis (1988). ! . ! PARAMETERS FOR ISOPRENE: ! (8 ) Kroll et al., GRL, 109, L18808 (2005) ! (9 ) Kroll et al., Environ Sci Tech, in press (2006) ! (10) Henze and Seinfeld, GRL, submitted (2006) ! ! !REVISION HISTORY: ! 08 Jul 2004 - R. Park - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! Activation Energy/R [K] for O3, OH, NO3 (see Refs #6-7) REAL(fp), PARAMETER :: ACT_O3 = 732.0e+0_fp REAL(fp), PARAMETER :: ACT_OH = -400.0e+0_fp REAL(fp), PARAMETER :: ACT_NO3 = -490.0e+0_fp ! Heat of vaporization (from CRC Handbook of Chemistry & Physics) REAL(fp), PARAMETER :: HEAT_VAPOR = 5.e+3_fp ! Reciprocal reference temperatures at 298K and 310K !REAL(fp), PARAMETER :: REF295 = 1e+0_fp / 295e+0_fp !hotp 5/21/10 REAL(fp), PARAMETER :: REF298 = 1e+0_fp / 298e+0_fp !REAL(fp), PARAMETER :: REF310 = 1e+0_fp / 310e+0_fp !hotp 5/21/10 ! semivolpoa2: reference T for POA (hotp 2/27/09) REAL(fp), PARAMETER :: REF300 = 1e+0_fp / 300e+0_fp ! ! !LOCAL VARIABLES: ! INTEGER :: IPR, JHC INTEGER :: JSV ! (hotp 5/13/10) REAL(fp) :: TMP1, TMP2, TMP3, OVER !================================================================= ! SOA_PARA begins here! !================================================================= ! move to SOA_PARA_INIT (dkh, 11/12/06) !! Photo-oxidation rates of O3 [cm3/molec/s] (See Refs #1-4) !KO3(1) = 56.15d-18 !KO3(2) = 200.d-18 !KO3(3) = 7707.d-18 !KO3(4) = 422.5d-18 !KO3(5) = ( 11600.D0 + 11700.e+0_fp ) / 2.e+0_fp * 1.D-18 ! !! Photo-oxidation rates of OH [cm3/molec/s] (See Refs #1-4) !KOH(1) = 84.4d-12 !KOH(2) = 171.d-12 !KOH(3) = 255.d-12 !KOH(4) = 199.d-12 !KOH(5) = ( 197.e+0_fp + 293.e+0_fp ) / 2.e+0_fp * 1.d-12 ! !! Photo-oxidation rate of NO3 [cm3/molec/s] (See Refs #1-4) !KNO3(1) = 6.95d-12 !KNO3(2) = 12.2d-12 !KNO3(3) = 88.7d-12 !KNO3(4) = 14.7d-12 !KNO3(5) = ( 19.e+0_fp + 35.e+0_fp ) / 2.e+0_fp * 1.d-12 !================================================================= ! Temperature Adjustments of KO3, KOH, KNO3 !================================================================= ! Initialize to zero (hotp 5/21/10) KO3 = 0e+0_fp KOH = 0e+0_fp KNO3 = 0e+0_fp ! Reciprocal temperature [1/K] OVER = 1.0e+0_fp / TEMP ! Compute the exponentials once outside the DO loop TMP1 = EXP( ACT_O3 * ( REF298 - OVER ) ) TMP2 = EXP( ACT_OH * ( REF298 - OVER ) ) TMP3 = EXP( ACT_NO3 * ( REF298 - OVER ) ) ! Multiply photo-oxidation rates by exponential of temperature !(dkh, 10/08/05) !DO JHC = 1, 5 DO JHC = 1, 4 ! now 4 (hotp 5/21/10) !KO3(JHC) = KO3(JHC) * TMP1 !KOH(JHC) = KOH(JHC) * TMP2 !KNO3(JHC) = KNO3(JHC) * TMP3 KO3(JHC) = KO3_REF(JHC) * TMP1 KOH(JHC) = KOH_REF(JHC) * TMP2 KNO3(JHC) = KNO3_REF(JHC) * TMP3 ENDDO !================================================================= ! Calculate KRO2NO, KRO2HO2 at TEMPERATURE (hotp 5/7/10) !================================================================= KRO2NO = AARO2NO * EXP( BBRO2NO * OVER ) KRO2HO2 = AARO2HO2 * EXP( BBRO2HO2 * OVER ) !!================================================================= !! SOA YIELD PARAMETERS !! !! Aerosol yield parameters for photooxidation of biogenic organics !! The data (except for C7-C10 n-carbonyls, aromatics, and higher !! ketones are from: !! !! (7) Tables 1 and 2 of Griffin, et al., Geophys. Res. Lett. !! 26: (17)2721-2724 (1999) !! !! These parameters neglect contributions of the photooxidation !! by NO3. !! !! For the aromatics, the data are from !! (8) Odum, et al., Science 276: 96-99 (1997). !! !! Isoprene (dkh, bmy, 5/22/06) !! Unlike the other species, we consider oxidation by purely OH. !! CHEM_NVOC has been adjusted accordingly. There's probably !! significant SOA formed from NO3 oxidation, but we don't know !! enough to include that yet. Data for the high NOX and low NOX !! parameters are given in Kroll 05 and Kroll 06, respectively. !! The paramters for low NOX are given in Table 1 of Henze 06. !!================================================================= ! !! Average of ALPHA-PINENE, BETA-PINENE, SABINENE, D3-CARENE !RALPHA(1,1) = 0.067e+0_fp !RALPHA(2,1) = 0.35425e+0_fp ! !! LIMONENE !RALPHA(1,2) = 0.239e+0_fp !RALPHA(2,2) = 0.363e+0_fp ! !! Average of TERPINENES and TERPINOLENE !RALPHA(1,3) = 0.0685e+0_fp !RALPHA(2,3) = 0.2005e+0_fp ! !! Average of MYRCENE, LINALOOL, TERPINENE-4-OL, OCIMENE !RALPHA(1,4) = 0.06675e+0_fp !RALPHA(2,4) = 0.135e+0_fp ! !! Average of BETA-CARYOPHYLLENE and and ALPHA-HUMULENE !RALPHA(1,5) = 1.0e+0_fp !RALPHA(2,5) = 0.0e+0_fp ! !! Using BETA-PINENE for all species for NO3 oxidation !! Data from Table 4 of Griffin, et al., JGR 104 (D3): 3555-3567 (1999) !RALPHA(3,:) = 1.e+0_fp ! !! Here we define some alphas for isoprene (dkh, bmy, 5/22/06) ! !! high NOX [Kroll et al, 2005] !!RALPHA(1,6) = 0.264e+0_fp !!RALPHA(2,6) = 0.0173e+0_fp !!RALPHA(3,6) = 0e+0_fp ! !! low NOX [Kroll et al, 2006; Henze and Seinfeld, 2006] !RALPHA(1,6) = 0.232e+0_fp !RALPHA(2,6) = 0.0288e+0_fp !RALPHA(3,6) = 0e+0_fp ! !!================================================================= !! Equilibrium gas-particle partition coefficients of !! semi-volatile compounds [ug-1 m**3] !!================================================================= ! !! Average of ALPHA-PINENE, BETA-PINENE, SABINENE, D3-CARENE !KOM(1,1) = 0.1835e+0_fp !KOM(2,1) = 0.004275e+0_fp ! !! LIMONENE !KOM(1,2) = 0.055e+0_fp !KOM(2,2) = 0.0053e+0_fp ! !! Average of TERPINENES and TERPINOLENE !KOM(1,3) = 0.133e+0_fp !KOM(2,3) = 0.0035e+0_fp ! !! Average of MYRCENE, LINALOOL, TERPINENE-4-OL, OCIMENE !KOM(1,4) = 0.22375e+0_fp !KOM(2,4) = 0.0082e+0_fp ! !! Average of BETA-CARYOPHYLLENE and and ALPHA-HUMULENE !KOM(1,5) = ( 0.04160e+0_fp + 0.0501e+0_fp ) / 2.e+0_fp !KOM(2,5) = 0.0e+0_fp ! !! NOT APPLICABLE -- using BETA-PINENE for all species !! Data from Table 4 of Griffin, et al., JGR 104 (D3): 3555-3567 (1999) !KOM(3,:) = 0.0163e+0_fp ! !! Again, for isoprene we only consider two products, !! both from OH oxidation. (dkh, bmy, 5/22/06) ! !! High NOX !!KOM(1,6) = 0.00115e+0_fp !!KOM(2,6) = 1.52e+0_fp !!KOM(3,6) = 0e+0_fp ! !! Low NOX !KOM(1,6) = 0.00862e+0_fp !KOM(2,6) = 1.62e+0_fp !KOM(3,6) = 0e+0_fp !================================================================= ! Temperature Adjustments of KOM !================================================================= !-------------------------------------------------------- ! Lumped semivolatiles 1-3 (hotp 5/21/10) !-------------------------------------------------------- ! First 3 semivolatile systems are at Tref = 298K ! SV 1: MTPA,LIMO,MTPO,SESQ ! SV 2: ISOP ! SV 3: BENZ,TOLU,XYLE,(NAP) ! Reciprocal temperature [1/K] OVER = 1.0e+0_fp / TEMP !! Divide TEMP by 310K outside the DO loop !TMP1 = ( TEMP / 310.e+0_fp ) ! Divide TEMP by 298K outside the DO loop TMP1 = ( TEMP / 298.e+0_fp ) ! Compute the heat-of-vaporization exponential term outside the DO loop !TMP2 = EXP( HEAT_VAPOR * ( OVER - REF310 ) ) TMP2 = EXP( HEAT_VAPOR * ( OVER - REF298 ) ) ! Multiply KOM by the temperature and heat-of-vaporization terms ! now use JSV (hotp 5/21/10) ! update dims (hotp 5/22/10) DO JSV = 1, 3 DO IPR = 1, NPROD(JSV) KOM(IPR,JSV) = KOM_REF(IPR,JSV) * TMP1 * TMP2 ENDDO ENDDO !-------------------------------------------------------- ! POA (primary semivolatiles) (hotp 5/13/10) !-------------------------------------------------------- ! semivolpoa2: reference for POA is 300 K (hotp 2/27/09) ! Divide TEMP by 300K outside the DO loop TMP1 = ( TEMP / 300.e+0_fp ) ! Compute the heat-of-vaporization exponential term outside the DO loop TMP2 = EXP( HEAT_VAPOR * ( OVER - REF300 ) ) ! Multiply KOM by the temperature and heat-of-vaporization terms ! Adjust POA from reference of 300K JHC = PARENTPOA JSV = IDSV(JHC) DO IPR = 1, NPROD(JSV) KOM(IPR,JSV) = KOM_REF(IPR,JSV) * TMP1 * TMP2 ENDDO !-------------------------------------------------------- ! OPOA (oxidized semivolatiles) (hotp 5/13/10) !-------------------------------------------------------- ! Divide TEMP by 300K outside the DO loop TMP1 = ( TEMP / 300.e+0_fp ) ! Compute the heat-of-vaporization exponential term outside the DO loop TMP2 = EXP( HEAT_VAPOR * ( OVER - REF300 ) ) ! Adjust OPOA KOM JHC = PARENTOPOA JSV = IDSV(JHC) DO IPR = 1, NPROD(JSV) KOM(IPR,JSV) = KOM_REF(IPR,JSV) * TMP1 * TMP2 ENDDO END SUBROUTINE SOA_PARA !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: soa_para_init ! ! !DESCRIPTION: Subroutine SOA\_PARA\_INIT initializes the ALPHAS and KOMS, the ! latter at their reference temperature. It is faster to define these ! seperately as it only needs to be done once. (dkh, 11/12/06) !\\ !\\ ! !INTERFACE: ! SUBROUTINE SOA_PARA_INIT( Input_Opt ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object ! ! !REMARKS: ! NOTE: REFT for KOM_REF depends on hydrocarbon. ! ! !REVISION HISTORY: ! 12 Nov 2006 - D. Henze - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! for debug purposes (hotp 7/22/09) INTEGER :: ai,bj,cl INTEGER :: NOX ! (hotp 5/21/10) !================================================================= ! SOA_PARA_INIT begins here! !================================================================= ! update reaction rates ! Still based on same underlying data (as summarized by ! Griffin 1999 and Chung 2002) but lumped by contribution of HC to ! global emissions for that category (hotp 5/21/10) ! K(MTPA) = K_REF(1) = ! 0.53*K(A-PINE) + 0.25*K(B-PINE) + 0.12*K(SABI) + 0.10*K(CAR) ! K(LIMO) = K_REF(2) ! K(MTPO) = K_REF(3) = ! 0.11*K(TERPINENE) + 0.11*K(TERPINOLENE) + 0.11*K(MYRCENE) + ! 0.11*K(LINALOOL) + 0.11*K(terpinene-4-ol) + 0.45*K(OCIMENE) ! K(SESQ) = K_REF(4) = 0.5*K(B-CARYOPHYLLENE) + 0.5*K(A-HUMULENE) ! Photo-oxidation rates of O3 [cm3/molec/s] (See Refs #1-4) KO3_REF(1) = 63.668e-18_fp KO3_REF(2) = 200.000e-18_fp KO3_REF(3) = 1744.500e-18_fp KO3_REF(4) = 11650.000e-18_fp ! Photo-oxidation rates of OH [cm3/molec/s] (See Refs #1-4) KOH_REF(1) = 71.026e-12_fp KOH_REF(2) = 171.000e-12_fp KOH_REF(3) = 227.690e-12_fp KOH_REF(4) = 245.000e-12_fp ! Photo-oxidation rate of NO3 [cm3/molec/s] (See Refs #1-4) KNO3_REF(1) = 6.021e-12_fp KNO3_REF(2) = 12.200e-12_fp KNO3_REF(3) = 33.913e-12_fp KNO3_REF(4) = 27.000e-12_fp ! Rate constants for branching ratio (hotp 5/7/10) ! k=A*exp(B/T) ! Reference: Henze et al., 2008 ACP ! RO2+NO AARO2NO = 2.6e-12_fp BBRO2NO = 350.e+0_fp ! RO2+HO2 AARO2HO2 = 1.4e-12_fp BBRO2HO2 = 700.e+0_fp !================================================================= ! SOA YIELD PARAMETERS ! ! Aerosol yield parameters for photooxidation of biogenic organics ! The data (except for C7-C10 n-carbonyls, aromatics, and higher ! ketones are from: ! ! (7) Tables 1 and 2 of Griffin, et al., Geophys. Res. Lett. ! 26: (17)2721-2724 (1999) ! ! These parameters neglect contributions of the photooxidation ! by NO3. ! ! For the aromatics, the data are from ! (8) Odum, et al., Science 276: 96-99 (1997). ! ! Isoprene (dkh, bmy, 5/22/06) ! Unlike the other species, we consider oxidation by purely OH. ! CHEM_NVOC has been adjusted accordingly. There's probably ! significant SOA formed from NO3 oxidation, but we don't know ! enough to include that yet. Data for the high NOX and low NOX ! parameters are given in Kroll 05 and Kroll 06, respectively. ! The paramters for low NOX are given in Table 1 of Henze 06. !================================================================= ! SOAupdate: new yield parameterizations ! Initialize all ALPHAs to zero (hotp 5/12/10) ! ALPHAs are indexed by PARENT HYDROCARBON ! all monoterpenes use b-pinene + NO3 for NO3 yields ALPHA = 0e+0_fp !---------------------------- ! MTPA !---------------------------- ! MTPA based on Shilling 2008 a-pinene ozonolysis ! updated 6/12/10 (hotp) ! Product 4 has C*=0.1 NOX = NHIGHNOX ALPHA(NOX,1,PARENTMTPA) = 0.0095e+0_fp ALPHA(NOX,2,PARENTMTPA) = 0.0900e+0_fp ALPHA(NOX,3,PARENTMTPA) = 0.0150e+0_fp ALPHA(NOX,4,PARENTMTPA) = 0.0400e+0_fp NOX = NLOWNOX ALPHA(NOX,1,PARENTMTPA) = 0.019e+0_fp ALPHA(NOX,2,PARENTMTPA) = 0.180e+0_fp ALPHA(NOX,3,PARENTMTPA) = 0.030e+0_fp ALPHA(NOX,4,PARENTMTPA) = 0.080e+0_fp NOX = NNO3RXN ALPHA(NOX,1,PARENTMTPA) = 0.0000e+0_fp ALPHA(NOX,2,PARENTMTPA) = 0.3207e+0_fp ALPHA(NOX,3,PARENTMTPA) = 1.0830e+0_fp !---------------------------- ! LIMO !---------------------------- ! Use higher LIMO yields of Zhang 2006 ! Assumed density of 1.3 g/cm3 (hotp 6/12/10) NOX = NHIGHNOX ALPHA(NOX,1,PARENTLIMO) = 0.4743e+0_fp ALPHA(NOX,2,PARENTLIMO) = 0.1174e+0_fp ALPHA(NOX,3,PARENTLIMO) = 1.4190e+0_fp NOX = NLOWNOX ALPHA(NOX,1,PARENTLIMO) = 0.3661e+0_fp ALPHA(NOX,2,PARENTLIMO) = 0.3214e+0_fp ALPHA(NOX,3,PARENTLIMO) = 0.8168e+0_fp NOX = NNO3RXN ALPHA(NOX,1,PARENTLIMO) = 0.0000e+0_fp ALPHA(NOX,2,PARENTLIMO) = 0.3207e+0_fp ALPHA(NOX,3,PARENTLIMO) = 1.0830e+0_fp !---------------------------- ! MTPO !---------------------------- ! MTPO based on Shilling 2008 a-pinene ozonolysis ! updated 6/12/10 (hotp) ! Product 4 has C*=0.1 NOX = NHIGHNOX ALPHA(NOX,1,PARENTMTPO) = 0.0095e+0_fp ALPHA(NOX,2,PARENTMTPO) = 0.0900e+0_fp ALPHA(NOX,3,PARENTMTPO) = 0.0150e+0_fp ALPHA(NOX,4,PARENTMTPO) = 0.040e+0_fp NOX = NLOWNOX ALPHA(NOX,1,PARENTMTPO) = 0.019e+0_fp ALPHA(NOX,2,PARENTMTPO) = 0.180e+0_fp ALPHA(NOX,3,PARENTMTPO) = 0.030e+0_fp ALPHA(NOX,4,PARENTMTPO) = 0.080e+0_fp NOX = NNO3RXN ALPHA(NOX,1,PARENTMTPO) = 0.0000e+0_fp ALPHA(NOX,2,PARENTMTPO) = 0.3207e+0_fp ALPHA(NOX,3,PARENTMTPO) = 1.0830e+0_fp !---------------------------- ! SESQ !---------------------------- ! update high and low NOx (hotp 6/4/2010) ! Griffin1999 VOC/NO>3ppbC/ppb is low NOx ! high NOx is double the Y for a given Mo NOX = NHIGHNOX ALPHA(NOX,1,PARENTSESQ) = 0.0005e+0_fp ALPHA(NOX,2,PARENTSESQ) = 1.1463e+0_fp ALPHA(NOX,3,PARENTSESQ) = 2.9807e+0_fp NOX = NLOWNOX ALPHA(NOX,1,PARENTSESQ) = 0.0000e+0_fp ALPHA(NOX,2,PARENTSESQ) = 0.5738e+0_fp ALPHA(NOX,3,PARENTSESQ) = 1.4893e+0_fp NOX = NNO3RXN ALPHA(NOX,1,PARENTSESQ) = 0.0000e+0_fp ALPHA(NOX,2,PARENTSESQ) = 0.3207e+0_fp ALPHA(NOX,3,PARENTSESQ) = 1.0830e+0_fp !---------------------------- ! ISOP !---------------------------- NOX = 1 ! low NOx/all OH rxn ALPHA(NOX,1,PARENTISOP) = 0.0306e+0_fp ALPHA(NOX,2,PARENTISOP) = 0.0000e+0_fp ALPHA(NOX,3,PARENTISOP) = 0.0945e+0_fp NOX = 2 ! NO3 rxn ALPHA(NOX,1,PARENTISOP) = 0.0000e+0_fp ALPHA(NOX,2,PARENTISOP) = 0.2171e+0_fp ALPHA(NOX,3,PARENTISOP) = 0.0919e+0_fp !---------------------------- ! BENZ, TOLU, XYLE !---------------------------- ! Replace Daven's numbers for BENZ, TOLU, XYLE with new numbers ! Numbers based on a 3 product fit to Ng 2007 data ! These numbers are for parent HC (no adjustment for ARO2) ! and correspond to C* of 1, 10, 100 in HIGH NOx case (hotp 5/12) ! HIGH NOX BENZ ALPHA(1,1,PARENTBENZ) = 0.0778e+0_fp ALPHA(1,2,PARENTBENZ) = 0.0000e+0_fp ALPHA(1,3,PARENTBENZ) = 0.7932e+0_fp ! LOW NOX BENZ (non-volatile) ALPHA(2,4,PARENTBENZ) = 0.37e+0_fp ! HIGH NOX TOLU ALPHA(1,1,PARENTTOLU) = 0.0315e+0_fp ALPHA(1,2,PARENTTOLU) = 0.0944e+0_fp ALPHA(1,3,PARENTTOLU) = 0.0800e+0_fp ! LOW NOX TOLU ALPHA(2,4,PARENTTOLU) = 0.30e+0_fp ! HIGH NOX XYLE ALPHA(1,1,PARENTXYLE) = 0.0250e+0_fp ALPHA(1,2,PARENTXYLE) = 0.0360e+0_fp ALPHA(1,3,PARENTXYLE) = 0.0899e+0_fp ! LOW NOX XYLE ALPHA(2,4,PARENTXYLE) = 0.36e+0_fp !---------------------------- ! POA !---------------------------- ! semivolpoa2: alphas for POA (hotp 2/27/09) ! based on Shrivastava et al. 2006 ES&T ! Only 2 products (wood smoke) ALPHA(1,1,PARENTPOA) = 0.49e+0_fp ALPHA(1,2,PARENTPOA) = 0.51e+0_fp ! No high NOx parameters ! semivolpoa3: add diesel/anthropogenic POA (hotp 3/13/09) !ALPHA(2:MNOX,1:MPROD,10) = 0e+0_fp !---------------------------- ! OPOA !---------------------------- ! semivolpoa4opoa: alphas for OPOA (hotp 3/18/09) ! remove semivolpoa3 changes (hotp 3/27/09) ! biomass burning ! (note that this is the carbon yield) ALPHA(1,1,PARENTOPOA) = 1.e+0_fp ALPHA(1,2,PARENTOPOA) = 1.e+0_fp ! anthropogenic !ALPHA(2:MNOX,1:MPROD,11) = 0e+0_fp !---------------------------- ! SOA from oxidation of IVOCs !---------------------------- ! NAPSOA: SOA from oxidation of IVOCs (hotp 7/22/09) ! Values from Chan et al. 2009 ACP (refit) ! ALPHAs are set up for the aromatic (NAP) as the parent HC ! ALPHAs must be consistent with GET_DARO2 units! ! HIGH NOX ! Ox = NO ALPHA(1,1,PARENTNAP) = 0.0387e+0_fp ALPHA(1,2,PARENTNAP) = 0.2956e+0_fp ALPHA(1,3,PARENTNAP) = 0.2349e+0_fp ! LOW NOX ! Ox = HO2 ALPHA(2,4,PARENTNAP) = 0.73e+0_fp !================================================================= ! Equilibrium gas-particle partition coefficients of ! semi-volatile compounds [ug-1 m**3] !================================================================= ! SOAupdate: KOM for semivolatile systems ! Initialize to zero (hotp 5/12/10) ! KOM_REF are indexed by SEMIVOLATILE SPECIES (hotp 5/13/10) KOM_REF = 0e+0_fp !--------------------------------------- ! SEMIVOLATILE 1: MTPA, LIMO, MTPO, SESQ ! (hotp 5/21/10) !--------------------------------------- KOM_REF(1,IDSV(PARENTMTPA)) = 1.0e+0_fp/1.0e+0_fp KOM_REF(2,IDSV(PARENTMTPA)) = 1.0e+0_fp/10.0e+0_fp KOM_REF(3,IDSV(PARENTMTPA)) = 1.0e+0_fp/100.0e+0_fp KOM_REF(4,IDSV(PARENTMTPA)) = 1.0e+0_fp/0.1e+0_fp ! C*=0.1 hotp 6/12/10 !--------------------------------------- ! SEMIVOLATILE 2: ISOP ! (hotp 5/21/10) !--------------------------------------- KOM_REF(1,IDSV(PARENTISOP)) = 1.0e+0_fp/1.0e+0_fp KOM_REF(2,IDSV(PARENTISOP)) = 1.0e+0_fp/10.0e+0_fp KOM_REF(3,IDSV(PARENTISOP)) = 1.0e+0_fp/100.0e+0_fp !--------------------------------------- ! SEMIVOLATILE 3: BENZ, TOLU, XYLE, NAP !--------------------------------------- ! Update aromatics to new fits (hotp 5/12/10) ! BENZ, TOLU, XYLE, NAP/IVOC all lumped together KOM_REF(1,IDSV(PARENTBENZ)) = 1.0e+0_fp/1.0e+0_fp KOM_REF(2,IDSV(PARENTBENZ)) = 1.0e+0_fp/10.0e+0_fp KOM_REF(3,IDSV(PARENTBENZ)) = 1.0e+0_fp/100.0e+0_fp ! Low NOX (HO2) non-volatile !KOM_REF(4,IDSV(PARENTBENZ)) = 1.d6 KOM_REF(4,IDSV(PARENTBENZ)) = 1.e+10_fp ! more non-vol (hotp 5/28/10) !--------------------------------------- ! SEMIVOLATILE 4: POA/SVOCs !--------------------------------------- ! semivolpoa2: KOM for POA (hotp 2/27/09) ! based on Shrivastava et al. 2006 ES&T ! Only 2 products (wood smoke) ! Tref is 27 C = 300 K KOM_REF(1,IDSV(PARENTPOA)) = 1e+0_fp/1646e+0_fp KOM_REF(2,IDSV(PARENTPOA)) = 1e+0_fp/20e+0_fp ! No high NOx parameters ! remove semivolpoa3 changes (hotp 3/27/09) ! semivolpoa3: add diesel/anthropogenic POA (hotp 3/13/09) !KOM_REF(2:MNOX,1:MPROD,10) = 0e+0_fp !--------------------------------------- ! SEMIVOLATILE 5: OPOA/O-SVOCs !--------------------------------------- ! semivolpoa4opoa: OPOA parameters (hotp 3/18/09) ! parameters are a factor of 100 more than POA param KOM_REF(1,IDSV(PARENTOPOA)) = KOM_REF(1,IDSV(PARENTPOA)) * 100e+0_fp KOM_REF(2,IDSV(PARENTOPOA)) = KOM_REF(2,IDSV(PARENTPOA)) * 100e+0_fp ! debug print checks (hotp 7/22/09) IF ( Input_Opt%Verbose ) THEN print*, 'Semivolatile POA settings:---------------' print*, ' ALPHA: ', ALPHA(1,1,9), ALPHA(1,2,9) ! OCFPOA and OCFOPOA are now 2D arrays !print*, ' POA OA/OC ratio: ', State_Chm%AerMass%OCFPOA(I,J) !print*, ' OPOA OA/OC ratio: ', State_Chm%AerMass%OCFOPOA(I,J) print*, ' LSVPOA is set to: ', Input_Opt%LSVPOA print*, 'CHECK MHC, NOX, PR', MHC, MNOX, MPROD print*, 'CHECK MSV', MSV print*, ' NOX, PROD, HC/SV' DO ai = 1, MHC DO bj = 1, MNOX DO cl = 1, MPROD print*,'Alpha', bj,cl,ai print*, ALPHA(bj,cl,ai) ENDDO ENDDO ENDDO ! Check KOM_REF (hotp 5/13/10) DO ai = 1, MSV DO cl = 1, MPROD print*,'KOM_REF', cl,ai print*, KOM_REF(cl,ai) ENDDO ENDDO ENDIF END SUBROUTINE SOA_PARA_INIT !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: chem_nvoc ! ! !DESCRIPTION: Subroutine CHEM\_NVOC computes the oxidation of Hydrocarbon by ! O3, OH, and NO3. This comes from the Caltech group (Hong Liao, Serena ! Chung, et al) and was incorporated into GEOS-CHEM. (rjp, bmy, 7/6/04,6/1/06) !\\ !\\ ! !INTERFACE: ! SUBROUTINE CHEM_NVOC( I, J, L, KO3, KOH, KNO3, GM0, KNO, KHO2, & Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_TS_CHEM, GET_MONTH ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I ! Longitude index INTEGER, INTENT(IN) :: J ! Latitude index INTEGER, INTENT(IN) :: L ! Altitude index REAL(fp), INTENT(IN) :: KO3(MHC) ! Rxn rate for HC oxidation ! by O3 [cm3/molec/s] REAL(fp), INTENT(IN) :: KOH(MHC) ! Rxn rate for HC oxidation ! by OH [cm3/molec/s] REAL(fp), INTENT(IN) :: KNO3(MHC) ! Rxn rate for HC oxidation ! by NO3 [cm3/molec/s] ! RO2+NO, RO2+HO2 rate constants (hotp 5/7/10) REAL(fp), INTENT(IN) :: KNO ! RO2+NO rate constant REAL(fp), INTENT(IN) :: KHO2 ! RO2+HO2 rate constant TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! REAL(fp), INTENT(INOUT) :: GM0(MPROD,MSV)! Gas mass for HCs and ! oxidation products [kg] TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! SVOCs should immediately partition upon emission ! SVOCs also react in the gas-phase ! If SVOCs were emitted before reactions, we wouldn't know how ! much to put in each phase ! H.O.T. Pye decided to emit them after the existing SVOCs ! react in the gas-phase. Thus the order of operations is: ! SVOC + OH in gas-phase ! SVOC emission (added to gas-phase GM0) ! partitioning ! dry dep ! wet dep ! etc ! ! !REVISION HISTORY: ! 06 Jul 2004 - R. Park - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: JHC, IPR, NOX, JSV !(hotp 5/14/10) INTEGER :: MAXLOOP ! (hotp 6/7/10) REAL(fp) :: CHANGE(MHC), NMVOC(MHC), DELHC(MNOX) REAL(fp) :: OHMC, TTNO3, TTO3, DTCHEM, RK REAL(fp) :: OVER, DO3, DOH, DNO3 ! for RO2+NO, RO2+HO2 branching ratio (hotp 5/7/10) REAL(fp) :: NOTEMP, HO2TEMP, BETANO ! for debug (hotp 5/10/10) REAL(fp) :: TEMPHC ! Pointers TYPE(SpcConc), POINTER :: Spc(:) !================================================================= ! CHEM_NVOC begins here! !================================================================= ! Assume success RC = GC_SUCCESS ! Point to chemical species array [kg] Spc => State_Chm%Species ! Chemistry timestep [s] DTCHEM = GET_TS_CHEM() ! Get offline OH, NO3, O3 concentrations [molec/cm3] OHMC = GET_OH( I, J, L, Input_Opt, State_Chm, State_Met ) TTNO3 = GET_NO3( I, J, L, Input_Opt, State_Chm, State_Met ) TTO3 = GET_O3( I, J, L, Input_Opt, State_Chm, State_Grid, State_Met ) ! Get RO2+NO, RO2+HO2 branching ratio (hotp 5/7/10) NOTEMP = GET_NO( I, J, L, Input_Opt, State_Chm, State_Met ) HO2TEMP = GET_HO2( I, J, L, Input_Opt, State_Chm, State_Met ) IF ( NOTEMP .GT. 0.0 ) THEN BETANO = ( KNO * NOTEMP ) / ( KNO * NOTEMP + KHO2 * HO2TEMP ) ELSEIF ( HO2TEMP .GT. 0.0 ) THEN BETANO = 0.e+0_fp ELSE ! default value if no State_Chm%Species value BETANO = 0.5e+0_fp ENDIF ! save for diagnostic purposes (hotp 5/24/10) BETANOSAVE(I,J,L) = BETANO ! Save to State_Diag for output as netcdf diagnostic (ewl, 8/28/18) IF ( State_Diag%Archive_BetaNO ) THEN State_Diag%BetaNO(I,J,L) = BETANO ENDIF ! update for new mtp lumping (hotp 5/22/10) NMVOC(1) = Spc(id_MTPA)%Conc(I,J,L) NMVOC(2) = Spc(id_LIMO)%Conc(I,J,L) NMVOC(3) = Spc(id_MTPO)%Conc(I,J,L) NMVOC(4) = State_Chm%ORVCsesq(I,J,L) ! Initialize DELHC so that the values from the previous ! time step are not carried over. DELHC(:) = 0.e+0_fp !================================================================= ! Change in NVOC concentration due to photooxidation [kg] !================================================================= ! semivolpoa2: update for POA (hotp 2/27/09) ! add POA emissions to GMO here (not to Spc in EMITHIGH) ! Only loop over parent hydrocarbons defined for a given simulation ! Max should be 11 for semivolatile POA/IVOC (PARENTNAP =11) ! Max should be 8 for nonvolatile POA/ traditional simulation IF ( id_POA1 > 0 ) THEN MAXLOOP = PARENTNAP !11 ELSE MAXLOOP = PARENTXYLE ! 8 ENDIF DO JHC = 1, MAXLOOP ! Initialize again for safety (hotp 5/22/10) DELHC = 0e+0_fp ! Get JSV (hotp 5/14/10) JSV = IDSV(JHC) ! update for new mtp (hotp 5/22/10) IF ( JHC == PARENTMTPA .or. JHC == PARENTLIMO .or. & JHC == PARENTMTPO .or. JHC == PARENTSESQ ) THEN !------------------------------------------ ! Oxidize parent hydrocarbon by OH, O3, NO3 ! (unmodified from original implemenation) !------------------------------------------ RK = KO3(JHC)*TTO3 + KOH(JHC)*OHMC + KNO3(JHC)*TTNO3 CHANGE(JHC) = NMVOC(JHC) * ( 1.e+0_fp - & EXP( -RK * DTCHEM ) ) !changed to EXP (myan, 12/14) ! In case that the biogenic hydrocarbon is the limiting reactant IF ( CHANGE(JHC) >= NMVOC(JHC) ) CHANGE(JHC) = NMVOC(JHC) ! NMVOC concentration after oxidation reactions NMVOC(JHC) = NMVOC(JHC) - CHANGE(JHC) IF( CHANGE(JHC) > 1.e-16_fp ) THEN OVER = 1.e+0_fp / RK DO3 = CHANGE(JHC) * KO3(JHC) * TTO3 * OVER ![kg] DOH = CHANGE(JHC) * KOH(JHC) * OHMC * OVER ![kg] DNO3 = CHANGE(JHC) * KNO3(JHC) * TTNO3 * OVER ![kg] ELSE DO3 = 0.e+0_fp DOH = 0.e+0_fp DNO3 = 0.e+0_fp ENDIF !------------------------------------------ ! Determine DELTAHC that corresponds to the alphas !------------------------------------------ ! For HC 1-4 (hotp 5/22/10) NOX = NHIGHNOX ! NOX=1, high NOx photooxidation DELHC(NOX) = ( DO3 + DOH ) * BETANO NOX = NLOWNOX ! NOX=2, low NOx photooxidation DELHC(NOX) = ( DO3 + DOH ) * ( 1e+0_fp - BETANO ) NOX = NNO3RXN ! NOX=3, NO3 oxidation DELHC(NOX) = ( DNO3 ) ! debug check (updated hotp 5/26/10) !IF ( CHANGE(JHC) .GT. 1d-16 ) THEN !TEMPHC = ABS(SUM(DELHC(:))-CHANGE(JHC)) !TEMPHC = ABS(TEMPHC/CHANGE(JHC)) !IF ( (TEMPHC) .GE. 1d-14 ) THEN ! print*,'DELHC Problem in CHEM_NVOC',I,J,L,JHC ! print*,DELHC,CHANGE(JHC),TEMPHC !ENDIF !ENDIF ! Save diagnostic info for bug check (hotp 5/22/10) DELTASOGSAVE(I,J,L,:,JHC) = DELHC(:) !------------------------------------------ ! Compute amount of semivolatile formed ! and add to initial SOG !------------------------------------------ ! update dims and switch order (hotp 5/22/10) DO NOX = 1, NNOX(JSV) DO IPR = 1, NPROD(JSV) GM0(IPR,JSV) = GM0(IPR,JSV) + ALPHA(NOX,IPR,JHC) * DELHC(NOX) ENDDO ENDDO ELSEIF ( JHC == PARENTISOP ) THEN !------------------------------- ! SOA from ISOPRENE: Parent is oxidized in ! gas-phase chemsitry !------------------------------- ! Get ISOP lost to rxn with OH [kg] !DOH = GET_DOH( I, J, L, Input_Opt ) ! Save as DELHC (hotp 5/22/10) DELHC(1) = GET_DOH( I, J, L, Input_Opt, State_Chm, State_Met ) ! Get ISOP lost to rxn with NO3 [kgC] ! No longer need this for isoprene SOA simulation (eam, 02/2015): !DELHC(2) = GET_ISOPNO3( I, J, L, Input_Opt, State_Chm, State_Met ) ! Save diagnostic info for bug check (hotp 5/22/10) ! convert from kgC to kg DELTASOGSAVE(I,J,L,:,JHC) = DELHC(:) * 68e+0_fp/60e+0_fp !------------------------------------------ ! Compute amount of semivolatile formed ! and add to initial SOG (hotp 7/28/10) !------------------------------------------ ! update dims (hotp 5/22/10) DO NOX = 1, NNOX(JSV) DO IPR = 1, NPROD(JSV) GM0(IPR,JSV) = GM0(IPR,JSV) + ALPHA(NOX,IPR,JHC) * DELHC(NOX) & * 68e+0_fp / 60e+0_fp ! (dkh, 11/04/05) ENDDO ENDDO ! Add NAP/IVOC here (hotp 5/22/10) ELSEIF ( JHC == PARENTBENZ .or. JHC == PARENTTOLU .or. & JHC == PARENTXYLE .or. JHC == PARENTNAP ) THEN !------------------------------- ! SOA from AROMATICS !------------------------------- ! Locate IDSV (hotp 5/14/10) JSV = IDSV(JHC) ! Determine parent hydrocarbon reacted ! For an online calculation, GET_DARO2 can be called ! with 1 for high NOx, 2 for low NOx ! Here, we add the two pathways together and use an ! offline branching ratio (BETANO) (hotp 5/22/10) NOX = NHIGHNOX ! NOX=1 DELHC(NOX) = ( GET_DARO2(I,J,L,1,JHC,Input_Opt,State_Chm,State_Met) + & GET_DARO2(I,J,L,2,JHC,Input_Opt,State_Chm,State_Met) ) & * BETANO NOX = NLOWNOX ! NOX=2 DELHC(NOX) = ( GET_DARO2(I,J,L,1,JHC,Input_Opt,State_Chm,State_Met) + & GET_DARO2(I,J,L,2,JHC,Input_Opt,State_Chm,State_Met) ) & * (1e+0_fp-BETANO) ! Determine SOG yield and add to GM0 (hotp 5/22/10) DO NOX = 1, NNOX(JSV) DO IPR = 1, NPROD(JSV) GM0(IPR,JSV) = GM0(IPR,JSV) + ALPHA(NOX,IPR,JHC) * DELHC(NOX) ENDDO ENDDO ! Diagnostic/debug info (hotp 5/22/10) IF ( JHC == PARENTBENZ .or. JHC == PARENTTOLU .or. & JHC == PARENTXYLE ) THEN GLOB_DARO2(I,J,L,1:2,JHC-5) = DELHC(1:2) ELSE ! NAP GLOB_DARO2(I,J,L,1:2,4) = DELHC(1:2) ENDIF ! Total SOG production diagnostic (hotp 5/18/10) DELTASOGSAVE(I,J,L,:,JHC)=DELHC(:) ! semivolpoa2: emit POA into 2 semivolatiles here (hotp 2/27/09) ELSEIF ( JHC == PARENTPOA ) THEN ! semivolpoa4opoa: DO NOTHING NOW ! ! SVOCs should immediately partition upon emission ! SVOCs also react in the gas-phase ! If SVOCs were emitted here, how would you know how ! much to put in each phase? ! hotp decided to emit them after the existing SVOCs ! react in the gas-phase. Thus the order of operations ! is: ! SVOC + OH in gas-phase ! SVOC emission (added to gas-phase GM0) ! partitioning ! dry dep ! wet dep ! etc ! ! DO IPR = 1, NPROD(JHC) ! DO NOX =1, NNOX(JHC) ! ! DELHC is now emission of POA ! DELHC(IPR) = POAEMISS(I,J,L) ! DELHC not a function of IPR ! DELHC(IPR) = POAEMISS(I,J,L,NOX) ! GM0(NOX,IPR,JHC) = GM0(NOX,IPR,JHC) ! & + ALPHA(NOX,IPR,JHC)*DELHC(IPR) ! ENDDO ! ENDDO ! semivolpoa4opoa: perform OPOA production (hotp 3/18/09) ELSEIF ( JHC == PARENTOPOA ) THEN ! here we oxidize gas phase POA (POG) to OPOG by reaction with OH ! use constant KOH = 2e-11 for now (hotp 3/18/09) OHMC = GET_OH( I, J, L, Input_Opt, State_Chm, State_Met ) RK = 2.e-11_fp * OHMC ! Identify IDSV (hotp 5/14/10) JSV = IDSV(JHC) DO IPR = 1, NPROD(JSV) DO NOX = 1, NNOX(JSV) ! compute loss of POG due to conversion to OPOG DOH = GM0(IPR,IDSV(PARENTPOA)) * (1.e+0_fp - EXP( -RK * DTCHEM) ) DOH = MAX( DOH, 1.e-32_fp ) ! add OPOG mass and update GM0 (ALPHA=1) GM0(IPR,JSV) = GM0(IPR,JSV) + ALPHA(NOX,IPR,JHC) * DOH ! update POG mass GM0(IPR,IDSV(PARENTPOA)) = GM0(IPR,IDSV(PARENTPOA)) - DOH ! check (hotp 10/11/09) GM0(IPR,IDSV(PARENTPOA)) = MAX( GM0(IPR,IDSV(PARENTPOA)), 1e-32_fp) ! diagnostic information (hotp 3/28/09) GLOB_POGRXN(I,J,L,IPR) = DOH ! Total SOG production diagnostic (hotp 5/18/10) ! Caution: the 4th index is actually NOX, but we use ! IPR here DELTASOGSAVE(I,J,L,IPR,JHC) = DOH ENDDO ENDDO ENDIF ENDDO ! JHC ! semivolpoa4opoa: emit POA last (after OPOA formation) (hotp 3/18/09) ! SVOC emissions are added to gas-phase GM0 IF ( id_POA1 > 0 ) THEN JHC = PARENTPOA ! Use IDSV (hotp 5/14/10) JSV = IDSV(JHC) DO IPR = 1, NPROD(JSV) DO NOX = 1, NNOX(JSV) ! update dims (hotp 5/22/10) ! DELHC is now emission of SVOC (POG1 + POG2) DELHC(IPR) = POAEMISS(I,J,L,1) + POAEMISS(I,J,L,2) GM0(IPR,JSV) = GM0(IPR,JSV) + ALPHA(NOX,IPR,JHC)*DELHC(IPR) ! Total SOG production diagnostic (hotp 5/18/10) ! Caution: the 4th index is actually NOX, but we use ! IPR here DELTASOGSAVE(I,J,L,IPR,JHC) = DELHC(IPR) ENDDO ENDDO ENDIF !================================================================= ! Store Hydrocarbon remaining after oxidation rxn back into Spc !================================================================= ! Nothing to do for isoprene or aromatics here, as their oxidation ! is treated online. ! The same now applies to MTPA and LIMO. As of v11-02c, their ! oxidation is treated online (mps, 9/7/17) !Spc(id_MTPA)%Conc(I,J,L) = MAX( NMVOC(1), 1.e-32_fp ) !Spc(id_LIMO)%Conc(I,J,L) = MAX( NMVOC(2), 1.e-32_fp ) Spc(id_MTPO)%Conc(I,J,L) = MAX( NMVOC(3), 1.e-32_fp ) State_Chm%ORVCsesq(I,J,L) = MAX( NMVOC(4), 1.e-32_fp ) ! Free pointer Spc => NULL() END SUBROUTINE CHEM_NVOC !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: soa_partition ! ! !DESCRIPTION: Subroutine SOA\_PARTITION partitions the mass of gas and ! aerosol species according to five Hydrocarbon species and three oxidants. ! (rjp, bmy, 7/7/04, 5/22/06) !\\ !\\ ! Revised purpose: SOA\_PARTITION assigns the mass in the chemical ! species array to the GM0 and AM0 arrays (hotp 5/13/10) !\\ !\\ ! !INTERFACE: ! SUBROUTINE SOA_PARTITION( I, J, L, GM0, AM0, State_Chm ) ! ! !USES: ! USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I ! Longitude index INTEGER, INTENT(IN) :: J ! Latitude index INTEGER, INTENT(IN) :: L ! Altitude index ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: GM0(MPROD,MSV) ! Gas mass for HCs and ! oxidation products [kg] REAL(fp), INTENT(OUT) :: AM0(MPROD,MSV) ! Aer mass for HCs and ! oxidation products [kg] ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !REMARKS: ! NOTE: GPROD and APROD are mass ratios of individual oxidation ! products of gas/aerosol to the sum of all. ! ! !REVISION HISTORY: ! 13 May 2010 - H.O.T. Pye - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: JHC, IPR, NOX, JSV ! Pointers TYPE(SpcConc), POINTER :: Spc(:) !================================================================= ! SOA_PARTITION begins here! !================================================================= ! Point to the chemical species array [kg] Spc => State_Chm%Species ! Initialize everything to zero (hotp 5/17/10) GM0 = 0e+0_fp AM0 = 0e+0_fp !--------------------------------------- ! SEMIVOLATILE 1: MTPA, LIMO, MTPO, SESQ ! hotp 5/21/10 !--------------------------------------- JHC = PARENTMTPA JSV = IDSV(JHC) ! gas phase GM0(1,JSV)=Spc(id_TSOG1)%Conc(I,J,L) ! C* = 1 GM0(2,JSV)=Spc(id_TSOG2)%Conc(I,J,L) ! C* = 10 GM0(3,JSV)=Spc(id_TSOG3)%Conc(I,J,L) ! C* = 100 GM0(4,JSV)=Spc(id_TSOG0)%Conc(I,J,L) ! C* = 0.1 ! aerosol phase AM0(1,JSV)=Spc(id_TSOA1)%Conc(I,J,L) AM0(2,JSV)=Spc(id_TSOA2)%Conc(I,J,L) AM0(3,JSV)=Spc(id_TSOA3)%Conc(I,J,L) AM0(4,JSV)=Spc(id_TSOA0)%Conc(I,J,L) !--------------------------------------------------------------------------- ! Prior to 7/15/19: ! Remove isoprene from VBS (mps, 7/15/19) !!--------------------------------------- !! SEMIVOLATILE 2: ISOP !!--------------------------------------- !JHC = PARENTISOP !JSV = IDSV(JHC) !! gas phase !GM0(1,JSV)=Spc(id_ISOG1)%Conc(I,J,L) !GM0(2,JSV)=Spc(id_ISOG2)%Conc(I,J,L) !GM0(3,JSV)=Spc(id_ISOG3)%Conc(I,J,L) !! aerosol phase !AM0(1,JSV)=Spc(id_ISOA1)%Conc(I,J,L) !AM0(2,JSV)=Spc(id_ISOA2)%Conc(I,J,L) !AM0(3,JSV)=Spc(id_ISOA3)%Conc(I,J,L) !--------------------------------------------------------------------------- !--------------------------------------- ! SEMIVOLATILE 3: BENZ, TOLU, XYLE, NAP !--------------------------------------- ! Lumped arom/IVOC/NAP semivolatiles (hotp 5/13/10) JHC = PARENTBENZ ! IDSV(B)=IDSV(T)=IDSV(X)=IDSV(N) JSV = IDSV(JHC) ! gas phase GM0(1,JSV)=Spc(id_ASOG1)%Conc(I,J,L) GM0(2,JSV)=Spc(id_ASOG2)%Conc(I,J,L) GM0(3,JSV)=Spc(id_ASOG3)%Conc(I,J,L) ! aerosol phase AM0(1,JSV)=Spc(id_ASOA1)%Conc(I,J,L) AM0(2,JSV)=Spc(id_ASOA2)%Conc(I,J,L) AM0(3,JSV)=Spc(id_ASOA3)%Conc(I,J,L) AM0(4,JSV)=Spc(id_ASOAN)%Conc(I,J,L) !--------------------------------------- ! SEMIVOLATILE 4: POA/SVOCs !--------------------------------------- ! POA-Primary SVOCs (hotp 5/13/10) JHC = PARENTPOA JSV = IDSV(JHC) IF ( id_POA1 > 0 .and. id_POA2 > 0 .and. & id_POG1 > 0 .and. id_POG2 > 0 ) THEN ! gas phase GM0(1,JSV) = Spc(id_POG1)%Conc(I,J,L) GM0(2,JSV) = Spc(id_POG2)%Conc(I,J,L) ! aerosol phase AM0(1,JSV) = Spc(id_POA1)%Conc(I,J,L) AM0(2,JSV) = Spc(id_POA2)%Conc(I,J,L) ENDIF !--------------------------------------- ! SEMIVOLATILE 5: OPOA/O-SVOCs !--------------------------------------- ! OPOA-Oxidized SVOCs (hotp 5/13/10) JHC = PARENTOPOA JSV = IDSV(JHC) IF ( id_OPOA1 > 0 .and. id_OPOA2 > 0 .and. & id_OPOG1 > 0 .and. id_OPOG2 > 0 ) THEN ! gas phase GM0(1,JSV) = Spc(id_OPOG1)%Conc(I,J,L) GM0(2,JSV) = Spc(id_OPOG2)%Conc(I,J,L) ! aerosol phase AM0(1,JSV) = Spc(id_OPOA1)%Conc(I,J,L) AM0(2,JSV) = Spc(id_OPOA2)%Conc(I,J,L) ENDIF ! Free pointer Spc => NULL() END SUBROUTINE SOA_PARTITION !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: soa_lump ! ! !DESCRIPTION: Subroutine SOA\_LUMP returns the organic gas and aerosol back ! to the STT array. (rjp, bmy, 7/7/04, 2/6/07) !\\ !\\ ! !INTERFACE: ! SUBROUTINE SOA_LUMP( I, J, L, GM0, AM0, State_Chm, State_Diag ) ! ! !USES: ! USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I ! Longitude index INTEGER, INTENT(IN) :: J ! Latitude index INTEGER, INTENT(IN) :: L ! Altitude index REAL(fp), INTENT(IN) :: GM0(MPROD,MSV) ! Gas mass for HCs and ! oxidation products [kg] REAL(fp), INTENT(IN) :: AM0(MPROD,MSV) ! Aer mass for HCs and ! oxidation products [kg] ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State obj ! ! !REVISION HISTORY: ! 07 Jul 2004 - R. Park - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: JHC, IPR, NOX, JSV ! JSV (hotp 5/13/10) REAL(fp) :: GASMASS, AERMASS INTEGER :: id_SPECIES ! hotp 6/5/10 REAL(fp) :: AERCHANGE ! hotp 6/5/10 ! Pointers TYPE(SpcConc), POINTER :: Spc(:) !================================================================= ! SOA_LUMP begins here! !================================================================= ! Point to the chemical species array [kg] Spc => State_Chm%Species !================================================================= ! Semivolatile Group 1: monoterpenes and sesquiterpenes (hotp 5/22/10) !================================================================= ! Initialize GASMASS = 0e+0_fp AERMASS = 0e+0_fp JHC = PARENTMTPA JSV = IDSV(JHC) ! Save diagnostic info DO IPR = 1, NPROD(JSV) ! change JHC to JSV GASMASS = GASMASS + GM0(IPR,JSV) AERMASS = AERMASS + AM0(IPR,JSV) ENDDO !----------------------------- ! Transient mass bal prod/evap ! (hotp 6/5/10) !----------------------------- id_SPECIES = id_TSOA1 IPR = 1 AERCHANGE = AM0(IPR,JSV) - Spc(id_SPECIES)%Conc(I,J,L) IF ( AERCHANGE .GT. 0e+0_fp ) THEN SPECSOAPROD(I,J,L,IPR,JSV) = AERCHANGE + SPECSOAPROD(I,J,L,IPR,JSV) ELSE SPECSOAEVAP(I,J,L,IPR,JSV) = AERCHANGE + SPECSOAEVAP(I,J,L,IPR,JSV) ENDIF id_SPECIES = id_TSOA2 IPR = 2 AERCHANGE = AM0(IPR,JSV) - Spc(id_SPECIES)%Conc(I,J,L) IF ( AERCHANGE .GT. 0e+0_fp ) THEN SPECSOAPROD(I,J,L,IPR,JSV) = AERCHANGE + SPECSOAPROD(I,J,L,IPR,JSV) ELSE SPECSOAEVAP(I,J,L,IPR,JSV) = AERCHANGE + SPECSOAEVAP(I,J,L,IPR,JSV) ENDIF id_SPECIES = id_TSOA3 IPR = 3 AERCHANGE = AM0(IPR,JSV) - Spc(id_SPECIES)%Conc(I,J,L) IF ( AERCHANGE .GT. 0e+0_fp ) THEN SPECSOAPROD(I,J,L,IPR,JSV) = AERCHANGE + SPECSOAPROD(I,J,L,IPR,JSV) ELSE SPECSOAEVAP(I,J,L,IPR,JSV) = AERCHANGE + SPECSOAEVAP(I,J,L,IPR,JSV) ENDIF ! Add C*=0.1 product (hotp 6/12/10) id_SPECIES = id_TSOA0 IPR = 4 AERCHANGE = AM0(IPR,JSV) - Spc(id_SPECIES)%Conc(I,J,L) IF ( AERCHANGE .GT. 0e+0_fp ) THEN SPECSOAPROD(I,J,L,IPR,JSV) = AERCHANGE + SPECSOAPROD(I,J,L,IPR,JSV) ELSE SPECSOAEVAP(I,J,L,IPR,JSV) = AERCHANGE + SPECSOAEVAP(I,J,L,IPR,JSV) ENDIF !----------------------------- ! Update species [kg] !----------------------------- ! gas phase Spc(id_TSOG1)%Conc(I,J,L) = MAX( GM0(1,JSV), 1e-32_fp ) Spc(id_TSOG2)%Conc(I,J,L) = MAX( GM0(2,JSV), 1e-32_fp ) Spc(id_TSOG3)%Conc(I,J,L) = MAX( GM0(3,JSV), 1e-32_fp ) Spc(id_TSOG0)%Conc(I,J,L) = MAX( GM0(4,JSV), 1e-32_fp ) ! aerosol phase Spc(id_TSOA1)%Conc(I,J,L) = MAX( AM0(1,JSV), 1e-32_fp ) Spc(id_TSOA2)%Conc(I,J,L) = MAX( AM0(2,JSV), 1e-32_fp ) Spc(id_TSOA3)%Conc(I,J,L) = MAX( AM0(3,JSV), 1e-32_fp ) Spc(id_TSOA0)%Conc(I,J,L) = MAX( AM0(4,JSV), 1e-32_fp ) !================================================================= ! Semivolatile Group 2: isoprene (hotp 5/22/10) !================================================================= ! Initialize GASMASS = 0e+0_fp AERMASS = 0e+0_fp JHC = PARENTISOP JSV = IDSV(JHC) ! Save diagnostic info DO IPR = 1, NPROD(JSV) ! change JHC to JSV GASMASS = GASMASS + GM0(IPR,JSV) AERMASS = AERMASS + AM0(IPR,JSV) ENDDO !--------------------------------------------------------------------------- ! Prior to 7/15/19: ! Remove isoprene from VBS (mps, 7/15/19) !!----------------------------- !! Transient mass bal prod/evap !! (hotp 6/5/10) !!----------------------------- !id_SPECIES = id_ISOA1 !IPR = 1 !AERCHANGE = AM0(IPR,JSV) - Spc(id_SPECIES)%Conc(I,J,L) !IF ( AERCHANGE .GT. 0e+0_fp ) THEN ! SPECSOAPROD(I,J,L,IPR,JSV) = AERCHANGE + SPECSOAPROD(I,J,L,IPR,JSV) !ELSE ! SPECSOAEVAP(I,J,L,IPR,JSV) = AERCHANGE + SPECSOAEVAP(I,J,L,IPR,JSV) !ENDIF ! !id_SPECIES = id_ISOA2 !IPR = 2 !AERCHANGE = AM0(IPR,JSV) - Spc(id_SPECIES)%Conc(I,J,L) !IF ( AERCHANGE .GT. 0e+0_fp ) THEN ! SPECSOAPROD(I,J,L,IPR,JSV) = AERCHANGE + SPECSOAPROD(I,J,L,IPR,JSV) !ELSE ! SPECSOAEVAP(I,J,L,IPR,JSV) = AERCHANGE + SPECSOAEVAP(I,J,L,IPR,JSV) !ENDIF ! !id_SPECIES = id_ISOA3 !IPR = 3 !AERCHANGE = AM0(IPR,JSV) - Spc(id_SPECIES)%Conc(I,J,L) !IF ( AERCHANGE .GT. 0e+0_fp ) THEN ! SPECSOAPROD(I,J,L,IPR,JSV) = AERCHANGE + SPECSOAPROD(I,J,L,IPR,JSV) !ELSE ! SPECSOAEVAP(I,J,L,IPR,JSV) = AERCHANGE + SPECSOAEVAP(I,J,L,IPR,JSV) !ENDIF ! !!----------------------------- !! Update species [kg] !!----------------------------- !! gas phase !Spc(id_ISOG1)%Conc(I,J,L) = MAX( GM0(1,JSV), 1e-32_fp ) !Spc(id_ISOG2)%Conc(I,J,L) = MAX( GM0(2,JSV), 1e-32_fp ) !Spc(id_ISOG3)%Conc(I,J,L) = MAX( GM0(3,JSV), 1e-32_fp ) !! aerosol phase !Spc(id_ISOA1)%Conc(I,J,L) = MAX( AM0(1,JSV), 1e-32_fp ) !Spc(id_ISOA2)%Conc(I,J,L) = MAX( AM0(2,JSV), 1e-32_fp ) !Spc(id_ISOA3)%Conc(I,J,L) = MAX( AM0(3,JSV), 1e-32_fp ) !--------------------------------------------------------------------------- !================================================================= ! Semivolatile Group 3: benzene, toluene, xylene, naphthalene/IVOC ! Lump of products of 7-9 Hydrocarbon class (aromatics) (dkh, 11/11/06) ! Lumped aromatic/IVOC (hotp 5/13/10 !================================================================= ! Initialize GASMASS = 0e+0_fp AERMASS = 0e+0_fp JHC = PARENTBENZ JSV = IDSV(JHC) ! Save diagnostic info ! This is a lumped species (hotp 5/13/10) DO IPR = 1, NPROD(JSV) ! change JHC to JSV GASMASS = GASMASS + GM0(IPR,JSV) AERMASS = AERMASS + AM0(IPR,JSV) ENDDO !----------------------------- ! Transient mass bal prod/evap ! (hotp 6/5/10) !----------------------------- id_SPECIES = id_ASOA1 IPR = 1 AERCHANGE = AM0(IPR,JSV) - Spc(id_SPECIES)%Conc(I,J,L) IF ( AERCHANGE .GT. 0e+0_fp ) THEN SPECSOAPROD(I,J,L,IPR,JSV) = AERCHANGE + SPECSOAPROD(I,J,L,IPR,JSV) ELSE SPECSOAEVAP(I,J,L,IPR,JSV) = AERCHANGE + SPECSOAEVAP(I,J,L,IPR,JSV) ENDIF id_SPECIES = id_ASOA2 IPR = 2 AERCHANGE = AM0(IPR,JSV) - Spc(id_SPECIES)%Conc(I,J,L) IF ( AERCHANGE .GT. 0e+0_fp ) THEN SPECSOAPROD(I,J,L,IPR,JSV) = AERCHANGE + SPECSOAPROD(I,J,L,IPR,JSV) ELSE SPECSOAEVAP(I,J,L,IPR,JSV) = AERCHANGE + SPECSOAEVAP(I,J,L,IPR,JSV) ENDIF id_SPECIES = id_ASOA3 IPR = 3 AERCHANGE = AM0(IPR,JSV) - Spc(id_SPECIES)%Conc(I,J,L) IF ( AERCHANGE .GT. 0e+0_fp ) THEN SPECSOAPROD(I,J,L,IPR,JSV) = AERCHANGE + SPECSOAPROD(I,J,L,IPR,JSV) ELSE SPECSOAEVAP(I,J,L,IPR,JSV) = AERCHANGE + SPECSOAEVAP(I,J,L,IPR,JSV) ENDIF id_SPECIES = id_ASOAN IPR = 4 AERCHANGE = AM0(IPR,JSV) - Spc(id_SPECIES)%Conc(I,J,L) IF ( AERCHANGE .GT. 0e+0_fp ) THEN SPECSOAPROD(I,J,L,IPR,JSV) = AERCHANGE + SPECSOAPROD(I,J,L,IPR,JSV) ELSE SPECSOAEVAP(I,J,L,IPR,JSV) = AERCHANGE + SPECSOAEVAP(I,J,L,IPR,JSV) ENDIF !----------------------------- ! Update species [kg] !----------------------------- ! APROD and GPROD are no longer used, but GM0 and AM0 ! need to be saved to species arrays (hotp 5/13/10) ! HIGH NOX ! update dims (hotp 5/22/10) !NOX = NHIGHNOX ! gas phase Spc(id_ASOG1)%Conc(I,J,L) = MAX( GM0(1,JSV), 1e-32_fp ) Spc(id_ASOG2)%Conc(I,J,L) = MAX( GM0(2,JSV), 1e-32_fp ) Spc(id_ASOG3)%Conc(I,J,L) = MAX( GM0(3,JSV), 1e-32_fp ) ! aerosol phase Spc(id_ASOA1)%Conc(I,J,L) = MAX( AM0(1,JSV), 1e-32_fp ) Spc(id_ASOA2)%Conc(I,J,L) = MAX( AM0(2,JSV), 1e-32_fp ) Spc(id_ASOA3)%Conc(I,J,L) = MAX( AM0(3,JSV), 1e-32_fp ) ! LOW NOX (only 1 aerosol phase) !NOX = NLOWNOX ! store in spot 4 (hotp 5/22/10) Spc(id_ASOAN)%Conc(I,J,L) = MAX( AM0(4,JSV), 1e-32_fp ) !================================================================= ! Semivolatile 4: POA/primary SVOCs ! Lump of products of 10th Hydrocarbon class (POA) ! semivolpoa2: lump POA (hotp 2/27/09) !================================================================= IF ( id_POA1 > 0 .and. id_POA2 > 0 .and. & id_POG1 > 0 .and. id_POG2 > 0 ) THEN ! Initialize !JHC = 10 GASMASS = 0e+0_fp AERMASS = 0e+0_fp JHC = PARENTPOA JSV = IDSV(JHC) ! Replace JHC with JSV (hotp 5/13/10) DO IPR = 1, NPROD(JSV) GASMASS = GASMASS + GM0(IPR,JSV) AERMASS = AERMASS + AM0(IPR,JSV) ENDDO !--------------------------- ! Transient SOA PROD/EVAP ! (hotp 6/5/10) !--------------------------- id_SPECIES = id_POA1 IPR = 1 AERCHANGE = AM0(IPR,JSV) - Spc(id_SPECIES)%Conc(I,J,L) IF ( AERCHANGE .GT. 0e+0_fp ) THEN SPECSOAPROD(I,J,L,IPR,JSV) = AERCHANGE + SPECSOAPROD(I,J,L,IPR,JSV) ELSE SPECSOAEVAP(I,J,L,IPR,JSV) = AERCHANGE + SPECSOAEVAP(I,J,L,IPR,JSV) ENDIF id_SPECIES = id_POA2 IPR = 2 AERCHANGE = AM0(IPR,JSV) - Spc(id_SPECIES)%Conc(I,J,L) IF ( AERCHANGE .GT. 0e+0_fp ) THEN SPECSOAPROD(I,J,L,IPR,JSV) = AERCHANGE + SPECSOAPROD(I,J,L,IPR,JSV) ELSE SPECSOAEVAP(I,J,L,IPR,JSV) = AERCHANGE + SPECSOAEVAP(I,J,L,IPR,JSV) ENDIF !--------------------------- ! Update species [kg] !--------------------------- ! gas phase Spc(id_POG1)%Conc(I,J,L) = MAX( GM0(1,JSV), 1.e-32_fp ) Spc(id_POG2)%Conc(I,J,L) = MAX( GM0(2,JSV), 1.e-32_fp ) ! aerosol phase Spc(id_POA1)%Conc(I,J,L) = MAX( AM0(1,JSV), 1.e-32_fp ) Spc(id_POA2)%Conc(I,J,L) = MAX( AM0(2,JSV), 1.e-32_fp ) ENDIF ! POA !================================================================= ! Semivolatile 5: OPOA/oxidized primary SVOCs ! Lump of products of 11th Hydrocarbon class (OPOA) ! semivolpoa4opoa: lump OPOA (hotp 2/27/09) !================================================================= IF ( id_OPOA1 > 0 .and. id_OPOA2 > 0 .and. & id_OPOG1 > 0 .and. id_OPOG2 > 0 ) THEN ! Initialize GASMASS = 0e+0_fp AERMASS = 0e+0_fp JHC = PARENTOPOA JSV = IDSV(JHC) ! Save diagnostic info DO IPR = 1, NPROD(JSV) GASMASS = GASMASS + GM0(IPR,JSV) AERMASS = AERMASS + AM0(IPR,JSV) ENDDO !--------------------------- ! Transient SOA PROD/EVAP ! (hotp 6/5/10) !--------------------------- id_SPECIES = id_OPOA1 IPR = 1 AERCHANGE = AM0(IPR,JSV) - Spc(id_SPECIES)%Conc(I,J,L) IF ( AERCHANGE .GT. 0e+0_fp ) THEN SPECSOAPROD(I,J,L,IPR,JSV) = AERCHANGE + SPECSOAPROD(I,J,L,IPR,JSV) ELSE SPECSOAEVAP(I,J,L,IPR,JSV) = AERCHANGE + SPECSOAEVAP(I,J,L,IPR,JSV) ENDIF id_SPECIES = id_OPOA2 IPR = 2 AERCHANGE = AM0(IPR,JSV) - Spc(id_SPECIES)%Conc(I,J,L) IF ( AERCHANGE .GT. 0e+0_fp ) THEN SPECSOAPROD(I,J,L,IPR,JSV) = AERCHANGE + SPECSOAPROD(I,J,L,IPR,JSV) ELSE SPECSOAEVAP(I,J,L,IPR,JSV) = AERCHANGE + SPECSOAEVAP(I,J,L,IPR,JSV) ENDIF !--------------------------- ! Update species [kg] !--------------------------- ! gas phase Spc(id_OPOG1)%Conc(I,J,L) = MAX( GM0(1,JSV), 1.e-32_fp ) Spc(id_OPOG2)%Conc(I,J,L) = MAX( GM0(2,JSV), 1.e-32_fp ) ! aerosol phase Spc(id_OPOA1)%Conc(I,J,L) = MAX( AM0(1,JSV), 1.e-32_fp ) Spc(id_OPOA2)%Conc(I,J,L) = MAX( AM0(2,JSV), 1.e-32_fp ) ENDIF ! OPOA ! Free pointer Spc => NULL() END SUBROUTINE SOA_LUMP !EOC #ifdef TOMAS !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! !! !IROUTINE: emitsgc ! ! !DESCRIPTION: Subroutine EMITSGC calculates sub-grid coagulation for the size ! distribution of emission. (win, 10/6/07) !\\ !\\ ! !INTERFACE: ! SUBROUTINE EMITSGC( Input_Opt, State_Chm, State_Grid, State_Met, & EMISMASS, CTYPE ) ! ! !USES: ! USE ERROR_MOD, ONLY : IT_IS_NAN USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TOMAS_MOD, ONLY : AVGMASS, ICOMP, IDIAG USE TOMAS_MOD, ONLY : SRTECIL, SRTECOB, SRTOCIL USE TOMAS_MOD, ONLY : SRTOCOB, SRTSO4, SRTNH4 USE TOMAS_MOD, ONLY : SRTH2O, MNFIX USE TOMAS_MOD, ONLY : SUBGRIDCOAG USE TOMAS_MOD, ONLY : SGCTSCALE USE TOMAS_MOD, ONLY : NH4BULKTOBIN ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: CTYPE ! 1 = EC and 2 = OC TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object REAL(fp), INTENT(IN) :: EMISMASS(State_Grid%NX,State_Grid%NY,State_Chm%nTomasBins) ! ! !REVISION HISTORY: ! 06 Oct 2007 - W. Trivitayanurak - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) :: NDISTINIT(State_Chm%nTomasBins) REAL(fp) :: NDISTFINAL(State_Chm%nTomasBins) REAL(fp) :: MADDFINAL(State_Chm%nTomasBins) REAL(fp) :: NDIST(State_Chm%nTomasBins) REAL(fp) :: MDIST(State_Chm%nTomasBins,ICOMP) REAL(fp) :: NDIST2(State_Chm%nTomasBins) REAL(fp) :: MDIST2(State_Chm%nTomasBins,ICOMP) REAL*4 :: BOXVOL, TEMP, PRES, BOXMASS INTEGER :: I, J, L, K, C, N, PBL_MAX, IBINS REAL(fp) :: F_OF_PBL LOGICAL :: ERRORSWITCH, PDBUG REAL*4 :: N0(State_Grid%NZ,State_Chm%nTomasBins) REAL*4 :: N1(State_Grid%NZ,State_Chm%nTomasBins) REAL*4 :: MIL0(State_Grid%NZ,State_Chm%nTomasBins) REAL*4 :: MIL1(State_Grid%NZ,State_Chm%nTomasBins) REAL*4 :: MOB0(State_Grid%NZ,State_Chm%nTomasBins) REAL*4 :: MOB1(State_Grid%NZ,State_Chm%nTomasBins) INTEGER :: ii, jj, ll LOGICAL :: dbg = .false. DATA ii, jj, ll /53, 29, 8 / ! Pointers TYPE(SpcConc), POINTER :: Spc(:) !================================================================= ! EMITSGC begins here! !================================================================= IF ( Input_Opt%LNLPBL ) THEN print *,'Currently subroutine EMITSGC does not support ', & 'the new non-local PBL scheme!' stop ENDIF ! Point to the chemical species array [kg] Spc => State_Chm%Species ! Maximum extent of PBL [model levels] PBL_MAX = State_Met%PBL_MAX_L ! Number of bins IBINS = State_Chm%nTomasBins !temp debug if( sum(emismass(ii,jj,:)) > 0e+0_fp) dbg = .true. if( dbg) then print *,'===== Entering EMITSGC ===== at',ii,jj,ll print *,'Nk' do N = 1, ibins print *,Spc(id_NK01+N-1)%conc(ii,jj,ll) enddo print *,'Mk' do k=1,icomp-idiag print *,'comp',k do N = 1, IBINS print *,Spc(id_NK01+k*IBINS+N-1)%Conc(ii,jj,ll) enddo enddo print *,'EMISSION' print *,emismass(ii,jj,:) endif !temp debug -------- DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX IF ( SUM( EMISMASS(I,J,:) ) == 0.e+0_fp ) GOTO 100 DO L = 1, PBL_MAX ! Fraction of PBL spanned by grid box (I,J,L) [unitless] F_OF_PBL = State_Met%F_OF_PBL(I,J,L) DO K = 1, IBINS NDISTINIT(K) = EMISMASS(I,J,K) * F_OF_PBL / AVGMASS(K) NDIST(K) = Spc(id_NK01+K-1)%Conc(I,J,L) DO C = 1, ICOMP-IDIAG MDIST(K,C) = Spc(id_NK01+IBINS*C+K-1)%Conc(I,J,L) IF( IT_IS_NAN( MDIST(K,C) ) ) THEN PRINT *,'+++++++ Found NaN in EMITSGC ++++++++' PRINT *,'Location (I,J,L):',I,J,L,'Bin',K,'comp',C ENDIF ENDDO MDIST(K,SRTH2O) = Spc(id_AW01-1+K)%Conc(I,J,L) NDISTFINAL(K) = 0e+0_fp MADDFINAL(K) = 0e+0_fp ENDDO IF ( SRTNH4 > 0 ) THEN CALL NH4BULKTOBIN( MDIST(:,SRTSO4), & Spc(id_NH4)%Conc(I,J,L), & MDIST(:,SRTNH4) ) ENDIF ! Save initial info for diagnostic N0(L,:) = NDIST(:) IF(CTYPE == 1) THEN MIL0(L,:) = MDIST(:,SRTECIL) MOB0(L,:) = MDIST(:,SRTECOB) ELSE MIL0(L,:) = MDIST(:,SRTOCIL) MOB0(L,:) = MDIST(:,SRTOCOB) ENDIF BOXVOL = State_Met%AIRVOL(I,J,L) * 1.e6 !convert from m3 -> cm3 BOXMASS = State_Met%AD(I,J,L) !kg TEMP = State_Met%T(I,J,L) PRES = State_Met%PMID(i,j,l)*100.0 ! in Pa PDBUG = .FALSE. !temp debug if( dbg .and. i==ii .and. j==jj .and. l==ll ) then print *,'===== NDISTINIT ===== at',ii,jj,ll print *, NDISTINIT(:) endif !temp debug if( dbg .and. i==ii .and. j==jj .and. l==ll ) PDBUG = .TRUE. CALL SUBGRIDCOAG( NDISTINIT, NDIST, MDIST, BOXVOL,TEMP, & PRES, SGCTSCALE, NDISTFINAL, MADDFINAL,pdbug) IF ( PDBUG ) THEN PRINT *,'Found error in SUBGRIDCOAG at', I,J,L do k=N,ibins PRINT *,'Nk',Spc(id_NK01+N-1)%Conc(I,J,L) enddo do k=1,8 print *,'Mk comp',k do N=1,IBINS print *,Spc(id_NK01+N-1)%Conc(I,J,L) enddo enddo ENDIF DO K = 1, IBINS NDIST(K) = NDIST(K) + NDISTFINAL(K) IF( CTYPE == 1 ) THEN MDIST(K,SRTECIL) = MDIST(K,SRTECIL) + & NDISTFINAL(K) * AVGMASS(K) * 0.2e+0_fp + & MADDFINAL(K) * 0.2e+0_fp MDIST(K,SRTECOB) = MDIST(K,SRTECOB) + & NDISTFINAL(K) * AVGMASS(K) * 0.8e+0_fp + & MADDFINAL(K) * 0.8e+0_fp ELSE MDIST(K,SRTOCIL) = MDIST(K,SRTOCIL) + & NDISTFINAL(K) * AVGMASS(K) * 0.5e+0_fp + & MADDFINAL(K) * 0.5e+0_fp MDIST(K,SRTOCOB) = MDIST(K,SRTOCOB) + & NDISTFINAL(K) * AVGMASS(K) * 0.5e+0_fp + & MADDFINAL(K) * 0.5e+0_fp ENDIF ENDDO !temp debug if( dbg .and. i==ii .and. j==jj .and. l==ll ) then print *,'===== After SUBGRIDCOAG ===== at',ii,jj,ll print *,'Nk' print *, NDIST(:) print *,'xxx___NDISTFINAL__xxx' print *, NDISTFINAL(:) print *,'Mk' do k=1,icomp print *,'comp',k print *,MDIST(:,k) enddo endif !temp debug -------- ! Fix any inconsistencies in size dist DO K= 1, IBINS NDIST2(K) = NDIST(K) DO C = 1, ICOMP MDIST2(K,C) = MDIST(K,C) ENDDO ENDDO ERRORSWITCH = .FALSE. CALL MNFIX( NDIST2, MDIST2, ERRORSWITCH ) IF( ERRORSWITCH ) PRINT *,'EMITSGC: MNFIX found error ', & 'after SUBGRIDCOAG at ',I,J,L DO K = 1, IBINS Spc(id_NK01-1+K)%Conc(I,J,L) = NDIST2(K) DO C = 1, ICOMP-IDIAG Spc(id_NK01+K-1+C*IBINS)%Conc(I,J,L) = MDIST2(K,C) ENDDO Spc(id_AW01-1+K)%Conc(I,J,L) = MDIST2(K,SRTH2O) ENDDO ! Save final info for diagnostic N1(L,:) = NDIST2(:) IF(CTYPE == 1) THEN MIL1(L,:) = MDIST2(:,SRTECIL) MOB1(L,:) = MDIST2(:,SRTECOB) ELSE MIL1(L,:) = MDIST2(:,SRTOCIL) MOB1(L,:) = MDIST2(:,SRTOCOB) ENDIF ENDDO ! L loop 100 CONTINUE ENDDO ! I loop ENDDO ! J loop ! Free pointer Spc => NULL() END SUBROUTINE EMITSGC !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: scalecarb ! ! !DESCRIPTION: Function SCALECARB split the carbonaceous emission from each ! source into the TOMAS aerosol size bins using different mass distribution ! for fossil fuel and biomass burning. The mass size distributions ! are different for EC and OC. (win, 9/4/07) !\\ !\\ ! !INTERFACE: ! FUNCTION SCALECARB( State_Chm, State_Grid, BULKEMIS, STYPE, CTYPE ) & RESULT( tomasdist ) ! ! !USES: ! USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE TOMAS_MOD, ONLY : OCSCALE30, ECSCALE30 USE TOMAS_MOD, ONLY : OCSCALE100, ECSCALE100 ! ! !INPUT PARAMETERS: ! TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object REAL(fp), INTENT(IN) :: BULKEMIS(State_Grid%NX,State_Grid%NY) INTEGER, INTENT(IN) :: STYPE INTEGER, INTENT(IN) :: CTYPE ! ! !RETURN VALUE: ! REAL(fp) :: tomasdist(State_Grid%NX, State_Grid%NY, State_Chm%nTomasBins) ! ! !REMARKS: ! STYPE (source type): 1 = Fossil fuel ! 3 = Biomass burning ! CTYPE (carbon type): 1 = EC ! 2 = OC ! . ! Array ECSCALE30 and OCSCALE100 specify how mass is distributed into bins ! for a 30 nm number peak and a 100 nm peak. Similary for OC size split. ! . ! This function is adapted from emisOCbond.f and emisBCbond.f by Jeff Pierce ! (Jan, 2007) used in GISS GCM-II'. Introduced to GEOS-Chem by Win T.(9/4/07) ! ! ! !REVISION HISTORY: ! 04 Sep 2007 - W. Trivitayanurak - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, J, K REAL(fp) :: scalefactor(State_Chm%nTomasBins) scalefactor = 0.0d0 SELECT CASE (CTYPE) CASE (1) SELECT CASE (STYPE) CASE (1) scalefactor(:) = ECSCALE30(:) CASE (2) scalefactor(:) = ECSCALE100(:) CASE (3) scalefactor(:) = ECSCALE100(:) END SELECT CASE (2) SELECT CASE (STYPE) CASE (1) scalefactor(:) = OCSCALE30(:) CASE (2) scalefactor(:) = OCSCALE100(:) CASE (3) scalefactor(:) = OCSCALE100(:) END SELECT END SELECT DO I = 1, State_Grid%NX DO J = 1, State_Grid%NY tomasdist(I,J,:) = BULKEMIS(I,J)*scalefactor(:) ENDDO ENDDO END FUNCTION SCALECARB !EOC #endif !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: emisscarbon ! ! !DESCRIPTION: Subroutine EMISSCARBON is the emissions routine for the carbon ! module. All carbon emissions, incl. SESQ and SVOC, are calculated through ! HEMCO and this module simply makes sure that the SESQ and SVOC emissions (if ! defined) are properly passed to the internal arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE EMISSCARBON( Input_Opt, State_Chm, State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE HCO_Error_Mod USE HCO_State_Mod, ONLY : HCO_GetHcoID USE HCO_State_GC_Mod, ONLY : HcoState USE HCO_Utilities_GC_Mod, ONLY : GetHcoValEmis, LoadHcoValEmis USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_TS_EMIS ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN ) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(IN ) :: State_Chm ! Chemistry State object TYPE(GrdState), INTENT(IN ) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN ) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: RC ! Failure? ! ! !REMARKS: ! SVOC emissions are expected to be fully calculated by HEMCO, i.e. its ! emissions need be specified in the HEMCO configuration file. In the original ! code, the emissions were calculated by scaling anthropogenic and ! biomass burning OC emissions. The same behavior can be achieved in HEMCO ! by assigning the desired SVOC species name to the given source type, e.g.: ! ! 0 BOND\_ANTH\_POG1 Bond\_fossil.nc OC 2000/1-12/1/0 C xy kg/m2/s POG1 74 1 1 ! ! All POG1 emissions (anthropogenic + biomass burning) will go into ! POAEMISS(:,:,:,1) and all POG2 emissions will go into POAEMISS(:,:,:,2). SVOC ! emissions are assigned to POG1 and POG2 in HEMCO using a ratio of 0.49:0.51. ! We no longer separate anthropogenic from biomass burning since ! this appears to have been done only for debugging purposes. Routine CHEM_NVOC ! handles passing POAEMISS to the two gas-phase semivolatile species in the ! GM0 array. ! ! IMPORTANT: The SVOC emissions scale factor should be applied through HEMCO. ! In the example above, scale factor 74 represents the scale factor POGSCAL. ! The SCALING_POG1 scale factor is applied to the GFED biomass burning ! extensions. The two scale factors should be set to the same value in the ! HEMCO configuration file. The recommended value is 1.27. ! ! !REVISION HISTORY: ! 11 Nov 2014 - C. Keller - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, J, L, PBL_MAX INTEGER :: HCOPOG1, HCOPOG2 REAL(fp) :: EMIS, TMPFLX REAL(fp) :: F_OF_PBL LOGICAL :: FOUND INTEGER, SAVE :: SESQID = -999 !================================================================= ! EMISSCARBON begins here! !================================================================= ! Assume success RC = GC_SUCCESS ! Check if using complex SOA scheme IF ( Input_Opt%LSOA ) THEN ! Get HEMCO ID of species SESQ IF ( SESQID == -999 ) THEN SESQID = HCO_GetHcoID( 'SESQ', HcoState ) ENDIF IF ( SESQID > 0 ) THEN IF ( .NOT. ASSOCIATED(HcoState%Spc(SESQID)%Emis%Val) ) THEN SESQID = -1 ENDIF ENDIF ! Get HEMCO ID of species POG1 and POG2 HCOPOG1 = id_POG1 IF ( HCOPOG1 > 0 ) THEN IF ( .NOT. ASSOCIATED(HcoState%Spc(HCOPOG1)%Emis%Val) ) THEN HCOPOG1 = -1 ENDIF ENDIF HCOPOG2 = id_POG2 IF ( HCOPOG2 > 0 ) THEN IF ( .NOT. ASSOCIATED(HcoState%Spc(HCOPOG2)%Emis%Val) ) THEN HCOPOG2 = -1 ENDIF ENDIF ELSE ! Do not get emissions of SESQ, POG1, POG2 if complex SOA is off SESQID = -1 HCOPOG1 = -1 HCOPOG2 = -1 ENDIF ! Nothing to do if none of the species are defined IF ( SESQID <= 0 .AND. HCOPOG1 <= 0 .AND. HCOPOG2 <=0 ) RETURN ! Initialize POAEMISS = 0.0_fp ! Maximum extent of PBL [model levels] PBL_MAX = State_Met%PBL_MAX_L ! First load SESQID into emissions buffer if available IF ( SESQID > 0 ) THEN CALL LoadHcoValEmis ( Input_Opt, State_Grid, SESQID ) ENDIF !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, F_OF_PBL, TMPFLX, Emis, FOUND ) DO L = 1, PBL_MAX DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Fraction of PBL spanned by grid box (I,J,L) [unitless] F_OF_PBL = State_Met%F_OF_PBL(I,J,L) ! Add sesquiterpene emissions from HEMCO to ORVCSESQ array. ! We assume all SESQ emissions are placed in surface level. IF ( SESQID > 0 ) THEN CALL GetHcoValEmis ( Input_Opt, State_Grid, SESQID, I, J, 1, FOUND, EMIS ) IF ( FOUND ) THEN ! Units from HEMCO are kgC/m2/s. Convert to kgC/box here. TMPFLX = Emis * GET_TS_EMIS() * State_Grid%Area_M2(I,J) State_Chm%ORVCsesq(I,J,L) = & State_Chm%ORVCsesq(I,J,L) + ( F_OF_PBL * TMPFLX ) ENDIF ENDIF ! Add SVOC emissions from HEMCO to POAEMISS array. ! Mix entire column emissions evenly in the PBL. ! ! All SVOC emissions are now assigned to the POG1 and POG2 species in ! HEMCO to reflect that these emissions are added to the gas-phase ! species. The assignment of SVOC emissions to the two gas-phase ! species is actually performed in routine CHEM_NVOC. We also no ! longer separate anthropogenic from BF and BB emissions because ! this appears to have been done only for debugging purposes. ! (mps, 1/14/16) IF ( HCOPOG1 > 0 ) THEN ! Units from HEMCO are kgC/m2/s. Convert to kgC/box here. TMPFLX = SUM(HcoState%Spc(HCOPOG1)%Emis%Val(I,J,:)) & * GET_TS_EMIS() * State_Grid%Area_M2(I,J) POAEMISS(I,J,L,1) = F_OF_PBL * TMPFLX ENDIF IF ( HCOPOG2 > 0 ) THEN ! Units from HEMCO are kgC/m2/s. Convert to kgC/box here. TMPFLX = SUM(HcoState%Spc(HCOPOG2)%Emis%Val(I,J,:)) & * GET_TS_EMIS() * State_Grid%Area_M2(I,J) POAEMISS(I,J,L,2) = F_OF_PBL * TMPFLX ENDIF ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ! Reset SVOC emissions to zero to make sure that they are ! not double-counted (when doing PBL mixing) IF ( HCOPOG1>0) HcoState%Spc(HCOPOG1)%Emis%Val = 0.0d0 END SUBROUTINE EMISSCARBON !EOC #ifdef TOMAS !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: emisscarbontomas ! ! !DESCRIPTION: Subroutine emisscarbontomas scales BULK HEMCO emissions into ! TOMAS arrays. Only use for TOMAS simulations. This is essential a re-write of ! the TOMAS portions of the v9 emisscarbon (JKodros 6/2/15) !\\ !\\ ! !INTERFACE: ! SUBROUTINE EMISSCARBONTOMAS( Input_Opt, State_Chm, State_Grid, State_Met, & State_Diag, RC ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD USE HCO_Utilities_GC_Mod, ONLY : HCO_GC_EvalFld USE HCO_Utilities_GC_Mod, ONLY : HCO_GC_GetDiagn USE HCO_State_GC_Mod, ONLY : HcoState, ExtState USE HCO_EMISLIST_MOD, ONLY : HCO_GetPtr !(ramnarine 12/27/2018) USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE UnitConv_Mod USE PRESSURE_MOD, ONLY : GET_PCENTER USE Timers_Mod, ONLY : Timer_End, Timer_Start USE TOMAS_MOD, ONLY : AVGMASS, SOACOND USE TOMAS_MOD, ONLY : ICOMP, IDIAG USE TOMAS_MOD, ONLY : CHECKMN ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 12 Jun 2015 - J. Kodros - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I, I0, IREF, J, J0, JREF, N INTEGER :: FLAG, ERR REAL(fp) :: DTSRCE, AREA_M2 REAL(fp) :: CO_ANTH_TOTAL REAL*4 :: BOXVOL ! calculated from State_Met REAL*4 :: BOXMASS ! calculated from State_Met REAL*4 :: TEMPTMS ! calculated from State_Met REAL*4 :: PRES ! calculated from State_Met REAL(fp) :: OC2OM = 1.8d0 LOGICAL :: SGCOAG = .FALSE. ! bc,jrp turn off subgrid coag 18/12/23 INTEGER :: L, K, EMTYPE INTEGER :: ii=53, jj=29 INTEGER :: previous_units LOGICAL, SAVE :: FIRST = .TRUE. !(ramnarine 12/27/2018) LOGICAL, SAVE :: USE_FIRE_NUM = .FALSE. LOGICAL :: FND !(ramnarine 1/2/2019) ! Arrays REAL(fp) :: XTRA_ORG_A(State_Grid%NX,State_Grid%NY) REAL(fp) :: BCSRC(State_Grid%NX,State_Grid%NY,State_Chm%nTomasBins,2) REAL(fp) :: OCSRC(State_Grid%NX,State_Grid%NY,State_Chm%nTomasBins,2) REAL(fp) :: NUMBSRC(State_Grid%NX,State_Grid%NY,State_Chm%nTomasBins) REAL(fp) :: AREA(State_Grid%NX, State_Grid%NY) REAL(fp) :: TMP_MASS(State_Grid%NX,State_Grid%NY,State_Chm%nTomasBins) REAL(fp) :: SIZE_DIST(State_Grid%NX,State_Grid%NY,State_Chm%nTomasBins,4) !(ramnarine 12/27/2018) REAL(fp) :: FIRE_NUM(State_Grid%NX,State_Grid%NY) ! Strings CHARACTER(LEN= 63) :: DgnName CHARACTER(LEN=255) :: MSG, ErrMsg CHARACTER(LEN=255) :: LOC='EMISSCARBONTOMAS (carbon_mod.F90)' ! Pointers REAL(fp), POINTER :: emis2D(:,:) REAL(f4), POINTER :: Ptr2D(:,:) REAL(f4), POINTER :: Ptr3D(:,:,:) !================================================================= ! EMISSCARBONTOMAS begins here! !================================================================= ! Assume success RC = GC_SUCCESS ! Get nested-grid offsets I0 = State_Grid%XMinOffset J0 = State_Grid%YMinOffset ! Initialize pointers emis2d => NULL() Ptr2D => NULL() Ptr3D => NULL() ! Import emissions from HEMCO (through HEMCO state) IF ( .NOT. ASSOCIATED(HcoState) ) THEN CALL ERROR_STOP ( 'HcoState not defined!', LOC ) ENDIF IF ( .NOT. (id_NK01 > 0 .AND. id_ECIL01 > 0 .AND. & id_ECOB01 > 0 .AND. id_OCIL01 > 0 .AND. & id_OCOB01 > 1 ) ) THEN CALL ERROR_STOP ( 'TOMAS Species not defined!', LOC ) ENDIF ! Emission timestep [seconds] DTSRCE = HcoState%TS_EMIS ! Grid box aarea AREA = HcoState%Grid%AREA_M2%Val(:,:) ! Halt HEMCO timer (so that unit conv can be timed separately) IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "HEMCO", RC ) ENDIF ! NOTE: For TOMAS, convert all species units, in order not to ! break internal unit conversions (Bob Yantosca, 11 Apr 2024) CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & new_units = KG_SPECIES, & previous_units = previous_units, & RC = RC ) ! Trap errors IF ( RC /= GC_SUCCESS ) THEN CALL GC_Error( 'Unit conversion error', RC, & 'Start of EMISSCARBONTOMAS in carbon_mod.F90' ) RETURN ENDIF ! Start HEMCO timer again IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "HEMCO", RC ) ENDIF ! ---------FOSSIL FUEL EMISSIONS IN 3d--------------------------- DO EMTYPE = 1,4 SELECT CASE (EMTYPE) CASE (1) DgnName = 'BCPI_ANTH' emis2d => BCPI_ANTH_BULK CASE (2) DgnName = 'OCPI_ANTH' emis2d => OCPI_ANTH_BULK CASE (3) DgnName = 'BCPO_ANTH' emis2d => BCPO_ANTH_BULK CASE (4) DgnName = 'OCPO_ANTH' emis2d => OCPO_ANTH_BULK END SELECT CALL HCO_GC_GetDiagn( Input_Opt, State_Grid, DgnName, & .FALSE., ERR, Ptr3D=Ptr3D ) IF ( .NOT. ASSOCIATED(Ptr3D) ) THEN CALL GC_WARNING( 'HEMCO diagnostic not found: '//TRIM(DgnName), & ERR, THISLOC=LOC ) ELSE emis2d(:,:) = 0.0d0 !flatten emissions into a 2d array for now !they get distributed over the pbl by emithigh or subgridcoag DO L = 1, State_Grid%NZ emis2d(:,:) = emis2d(:,:) + Ptr3D(:,:,L) ENDDO ! [kg/box/time step] emis2d(:,:) = emis2d(:,:) * AREA(:,:) * DTSRCE ENDIF emis2d => NULL() Ptr3D => NULL() ENDDO ! ---- SCALE INTO TOMAS BINS --------------------------- BCFF(:,:,:,1) = SCALECARB( State_Chm, State_Grid, BCPI_ANTH_BULK(:,:), 1, 1 ) BCFF(:,:,:,2) = SCALECARB( State_Chm, State_Grid, BCPO_ANTH_BULK(:,:), 1, 1 ) OCFF(:,:,:,1) = SCALECARB( State_Chm, State_Grid, OCPI_ANTH_BULK(:,:), 1, 2 ) * OC2OM OCFF(:,:,:,2) = SCALECARB( State_Chm, State_Grid, OCPO_ANTH_BULK(:,:), 1, 2 ) * OC2OM !end 3d emis DgnName = 'BCPI_BB' CALL HCO_GC_GetDiagn( Input_Opt, State_Grid, DgnName, & StopIfNotFound=.FALSE., RC=RC, Ptr2D=Ptr2D ) IF ( .NOT. ASSOCIATED(Ptr2D) ) THEN CALL GC_WARNING('HEMCO diagnostic not found: '//TRIM(DgnName), & ERR, THISLOC=LOC) ELSE BCPI_BIOB_BULK = Ptr2D(:,:) ENDIF Ptr2D => NULL() DgnName = 'BCPO_BB' CALL HCO_GC_GetDiagn( Input_Opt, State_Grid, DgnName, & StopIfNotFound=.FALSE., RC=RC, Ptr2D=Ptr2D ) IF ( .NOT. ASSOCIATED(Ptr2D) ) THEN CALL GC_WARNING('HEMCO diagnostic not found: '//TRIM(DgnName), & ERR, THISLOC=LOC) ELSE BCPO_BIOB_BULK = Ptr2D(:,:) ENDIF Ptr2D => NULL() DgnName = 'OCPI_BB' CALL HCO_GC_GetDiagn( Input_Opt, State_Grid, DgnName, & StopIfNotFound=.FALSE., RC=RC, Ptr2D=Ptr2D ) IF ( .NOT. ASSOCIATED(Ptr2D) ) THEN CALL GC_WARNING('HEMCO diagnostic not found: '//TRIM(DgnName), & ERR, THISLOC=LOC) ELSE OCPI_BIOB_BULK = Ptr2D(:,:) ENDIF Ptr2D => NULL() DgnName = 'OCPO_BB' CALL HCO_GC_GetDiagn( Input_Opt, State_Grid, DgnName, & StopIfNotFound=.FALSE., RC=RC, Ptr2D=Ptr2D ) IF ( .NOT. ASSOCIATED(Ptr2D) ) THEN CALL GC_WARNING('HEMCO diagnostic not found: '//TRIM(DgnName), & ERR, THISLOC=LOC) ELSE OCPO_BIOB_BULK = Ptr2D(:,:) ENDIF Ptr2D => NULL() ! ---- Fire Number ------------------------------------- ! (ramnarine 12/27/2018) IF ( FIRST ) THEN ! Check if fire number is available in HEMCO, and use it if it is CALL HCO_GetPtr( HcoState, 'FINN_DAILY_NUMBER', Ptr2D, RC, FOUND=FND ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error getting pointer to FINN_DAILY_NUMBER in HEMCO!' CALL GC_Error( ErrMsg, RC, 'carbon_mod.F90: EMISSCARBONTOMAS' ) RETURN ELSEIF ( FND ) THEN USE_FIRE_NUM = .TRUE. ENDIF Ptr2D => NULL() !if biomass burning subgrid coagulation is in use, !FIRE_NUM will not be found and USE_FIRE_NUM will be false !reset first time flag FIRST = .FALSE. ENDIF IF ( USE_FIRE_NUM ) THEN ! Number of BB fires for parameterization (ramnarine 12/27/2018) ! Evalulate the fire number from HEMCO every timestep to apply masks ! and scaling configured in HEMCO config CALL HCO_GC_EvalFld( Input_Opt, State_Grid, 'FINN_DAILY_NUMBER', FIRE_NUM, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error evaluating FINN_DAILY_NUMBER in HEMCO data list!' CALL GC_Error( ErrMsg, RC, 'carbon_mod.F90: EMISSCARBONTOMAS' ) RETURN ENDIF ! ---- Calling BB subgrid coag parameterization -------- ! (ramnarine 12/27/2018) SIZE_DIST = SAKAMOTO_SIZE( State_Chm, State_Grid, State_Met, FIRE_NUM, & OCPI_BIOB_BULK, BCPI_BIOB_BULK, & OCPO_BIOB_BULK, BCPO_BIOB_BULK, & AREA ) ENDIF !2d emis BCPI_BIOB_BULK = BCPI_BIOB_BULK(:,:) * AREA(:,:) * DTSRCE BCPO_BIOB_BULK = BCPO_BIOB_BULK(:,:) * AREA(:,:) * DTSRCE OCPI_BIOB_BULK = OCPI_BIOB_BULK(:,:) * AREA(:,:) * DTSRCE OCPO_BIOB_BULK = OCPO_BIOB_BULK(:,:) * AREA(:,:) * DTSRCE !2d bioburn IF ( USE_FIRE_NUM ) THEN DO K = 1, State_Chm%nTomasBins !ramnarine 12/27/2018 BCBB(:,:,K,1) = SIZE_DIST(:,:,K,1) * AREA(:, :) * DTSRCE BCBB(:,:,K,2) = SIZE_DIST(:,:,K,2) * AREA(:, :) * DTSRCE OCBB(:,:,K,1) = SIZE_DIST(:,:,K,3) * AREA(:, :) * DTSRCE * OC2OM OCBB(:,:,K,2) = SIZE_DIST(:,:,K,4) * AREA(:, :) * DTSRCE * OC2OM ENDDO ELSE BCBB(:,:,:,1) = SCALECARB(State_Chm, State_Grid, BCPI_BIOB_BULK(:,:), 3,1) BCBB(:,:,:,2) = SCALECARB(State_Chm, State_Grid, BCPO_BIOB_BULK(:,:), 3,1) OCBB(:,:,:,1) = SCALECARB(State_Chm, State_Grid, OCPI_BIOB_BULK(:,:), 3,2) * OC2OM OCBB(:,:,:,2) = SCALECARB(State_Chm, State_Grid, OCPO_BIOB_BULK(:,:), 3,2) * OC2OM ENDIF ! Add into BCSRC and OCSRC BCSRC(:,:,:,1) = BCFF(:,:,:,1) + BCBF(:,:,:,1) + BCBB(:,:,:,1) BCSRC(:,:,:,2) = BCFF(:,:,:,2) + BCBF(:,:,:,2) + BCBB(:,:,:,2) OCSRC(:,:,:,1) = OCFF(:,:,:,1) + OCBF(:,:,:,1) + OCBB(:,:,:,1) OCSRC(:,:,:,2) = OCFF(:,:,:,2) + OCBF(:,:,:,2) + OCBB(:,:,:,2) IF ( SGCOAG ) THEN !emitsgc uses total OC or EC mass ! SUM mass terms into TEMP_MASS and pass to EMITSFC TMP_MASS = BCSRC(:,:,:,1) + BCSRC(:,:,:,2) CALL EMITSGC( Input_Opt, State_Chm, State_Grid, State_Met, TMP_MASS, 1 ) TMP_MASS = OCSRC(:,:,:,1) + OCSRC(:,:,:,2) CALL EMITSGC( Input_Opt, State_Chm, State_Grid, State_Met, TMP_MASS, 2 ) ELSE !----------------------------------------- ! Add emission w/o sub-grid coagulation !----------------------------------------- ! Convert the total mass emission to number emisison [No.] DO K = 1, State_Chm%nTomasBins NUMBSRC(:,:,K) = ( BCSRC(:,:,K,1) + BCSRC(:,:,K,2) + & OCSRC(:,:,K,1) + OCSRC(:,:,K,2) )/ AVGMASS(K) ENDDO CALL EMITHIGH2( Input_Opt, State_Chm, State_Grid, State_Met, & BCSRC, OCSRC, NUMBSRC ) ENDIF !sgcoag !end anthro emissions !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !%%%% NOTE: BIOGENIC_SOAS is defined in hcoi_gc_diagn_mod.F90, %%%% !%%%% (bmy, 8/7/18) %%%% !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! READ IN directly emitted SOAS (sfarina / jkodros) Ptr2D => NULL() DgnName = 'BIOGENIC_SOAS' CALL HCO_GC_GetDiagn( Input_Opt, State_Grid, DgnName, & StopIfNotFound=.FALSE., RC=RC, Ptr2D=Ptr2D ) IF ( .NOT. ASSOCIATED(Ptr2D) ) THEN CALL GC_Error('Not found: '//TRIM(DgnName), RC, THISLOC=LOC) RETURN ENDIF TERP_ORGC = Ptr2D(:,:) TERP_ORGC = TERP_ORGC(:,:) * AREA(:,:) * DTSRCE Ptr2D => NULL() !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, BOXVOL, TEMPTMS, PRES, BOXMASS ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX CALL CHECKMN( I, J, 1, Input_Opt, State_Chm, State_Grid, & State_Met, State_Diag,'CHECKMN from emisscarbontomas', RC) IF ( TERP_ORGC(I,J) > 0.d0 ) THEN BOXVOL = State_Met%AIRVOL(I,J,1) * 1.e6 !convert from m3 -> cm3 BOXMASS = State_Met%AD(I,J,1) ! kg TEMPTMS = State_Met%T(I,J,1) PRES = GET_PCENTER(I,J,1)*100.0 ! in Pa CALL SOACOND( TERP_ORGC(I,J), I, J, 1, BOXVOL, TEMPTMS, PRES, BOXMASS,& State_Chm, State_Grid, State_Diag, RC ) END IF END DO END DO !$OMP END PARALLEL DO IF ( Input_Opt%Verbose ) CALL DEBUG_MSG( '### EMISCARB: after SOACOND (BIOG) ' ) ! Halt HEMCO timer (so that unit conv can be timed separately) IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "HEMCO", RC ) ENDIF ! NOTE: For TOMAS, convert all species units, in order not to ! break internal unit conversions (Bob Yantosca, 11 Apr 2024) CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & new_units = previous_units, & RC = RC ) ! Trap errors IF ( RC /= GC_SUCCESS ) THEN CALL GC_Error('Unit conversion error', RC, & 'End of EMISSCARBONTOMAS in carbon_mod.F90') RETURN ENDIF ! Start HEMCO timer again IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "HEMCO", RC ) ENDIF END SUBROUTINE EMISSCARBONTOMAS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: emithigh2 ! ! !DESCRIPTION: Subroutine EMITHIGH2 mixes species completely from the surface ! to the PBL top. This is a copy of subroutine EMITHIGH modified to work with ! 30-bin EC and OC mass and also aerosol number. (win, 9/4/07) !\\ !\\ ! !INTERFACE: ! SUBROUTINE EMITHIGH2( Input_Opt, State_Chm, State_Grid, State_Met, & BCSRC, OCSRC, NUMBSRC ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State REAL(fp), INTENT(IN) :: BCSRC(State_Grid%NX,State_Grid%NY,State_Chm%nTomasBins,2) ! Total BC [kg] REAL(fp), INTENT(IN) :: OCSRC(State_Grid%NX,State_Grid%NY,State_Chm%nTomasBins,2) ! Total OC [kg] REAL(fp), INTENT(IN) :: NUMBSRC(State_Grid%NX,State_Grid%NY,State_Chm%nTomasBins) ! ! !REVISION HISTORY: ! 04 Sep 2007 - W. Trivitayanurak - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, J, L, PBL_MAX, K REAL(fp) :: F_OF_PBL ! Pointers TYPE(SpcConc), POINTER :: Spc(:) !================================================================= ! EMITHIGH2 begins here! !================================================================= ! Point to chemical species vector containing concentrations Spc => State_Chm%Species ! Maximum extent of PBL [model levels] PBL_MAX = State_Met%PBL_MAX_L !================================================================= ! Partition emissions throughout the boundary layer !================================================================= IF ( Input_Opt%LNLPBL ) THEN print *,'Currently subroutine EMITHIGH2 does not support ', & 'the new non-local PBL scheme!' stop ENDIF !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, K, F_OF_PBL ) DO L = 1, PBL_MAX DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX DO K = 1, State_Chm%nTomasBins ! Fraction of PBL spanned by grid box (I,J,L) [unitless] F_OF_PBL = State_Met%F_OF_PBL(I,J,L) ! Hydrophilic ELEMENTAL CARBON Spc(id_ECIL01-1+K)%Conc(I,J,L) = Spc(id_ECIL01-1+K)%Conc(I,J,L) + & ( F_OF_PBL * BCSRC(I,J,K,1) ) ! Hydrophobic ELEMENTAL CARBON Spc(id_ECOB01-1+K)%Conc(I,J,L) = Spc(id_ECOB01-1+K)%Conc(I,J,L) + & ( F_OF_PBL * BCSRC(I,J,K,2) ) ! Hydrophilic ORGANIC CARBON Spc(id_OCIL01-1+K)%Conc(I,J,L) = Spc(id_OCIL01-1+K)%Conc(I,J,L) + & ( F_OF_PBL * OCSRC(I,J,K,1) ) ! Hydrophobic ORGANIC CARBON Spc(id_OCOB01-1+K)%Conc(I,J,L) = Spc(id_OCOB01-1+K)%Conc(I,J,L) + & ( F_OF_PBL * OCSRC(I,J,K,2) ) ! Number corresponding to EC + OC [No.] Spc(id_NK01-1+K)%Conc(I,J,L) = Spc(id_NK01-1+K)%Conc(I,J,L) + & ( F_OF_PBL * NUMBSRC(I,J,K) ) ENDDO ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ! Free pointer NULLIFY( Spc ) END SUBROUTINE EMITHIGH2 !EOC #endif !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ohno3time ! ! !DESCRIPTION: Subroutine OHNO3TIME computes the sum of cosine of the solar ! zenith angle over a 24 hour day, as well as the total length of daylight. ! This is needed to scale the offline OH and NO3 concentrations. ! (rjp, bmy, 12/16/02, 1/18/05) !\\ !\\ ! !INTERFACE: ! SUBROUTINE OHNO3TIME( State_Grid ) ! ! !USES: ! USE State_Grid_Mod, ONLY : GrdState USE TIME_MOD, ONLY : GET_NHMSb, GET_ELAPSED_SEC USE TIME_MOD, ONLY : GET_TS_CHEM, GET_DAY_OF_YEAR, GET_GMT ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! ! !REVISION HISTORY: ! 16 Dec 2002 - R. Park - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! LOGICAL, SAVE :: FIRST = .TRUE. INTEGER :: I, J, L, N, NT, NDYSTEP REAL(fp) :: A0, A1, A2, A3, B1, B2, B3 REAL(fp) :: LHR0, R, AHR, DEC, TIMLOC, YMID_R REAL(fp) :: SUNTMP(State_Grid%NX,State_Grid%NY) !================================================================= ! OHNO3TIME begins here! !================================================================= ! Solar declination angle (low precision formula, good enough for us): A0 = 0.006918 A1 = 0.399912 A2 = 0.006758 A3 = 0.002697 B1 = 0.070257 B2 = 0.000907 B3 = 0.000148 R = 2.* PI * float( GET_DAY_OF_YEAR() - 1 ) / 365. DEC = A0 - A1*cos( R) + B1*sin( R) & - A2*cos(2*R) + B2*sin(2*R) & - A3*cos(3*R) + B3*sin(3*R) LHR0 = int(float( GET_NHMSb() )/10000.) ! Only do the following at the start of a new day IF ( FIRST .or. GET_GMT() < 1e-5 ) THEN ! Zero arrays TCOSZ(:,:) = 0e+0_fp ! NDYSTEP is # of chemistry time steps in this day NDYSTEP = ( 24 - INT( GET_GMT() ) ) * 3600 / GET_TS_CHEM() ! NT is the elapsed time [s] since the beginning of the run NT = GET_ELAPSED_SEC() ! Loop forward through NDYSTEP "fake" timesteps for this day DO N = 1, NDYSTEP ! Zero SUNTMP array SUNTMP = 0e+0_fp ! Loop over surface grid boxes !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, YMID_R, TIMLOC, AHR ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Grid box latitude center [radians] YMID_R = State_Grid%YMid_R(I,J) TIMLOC = real(LHR0) + real(NT)/3600.0 + State_Grid%XMid(I,J) / 15.0 DO WHILE (TIMLOC .lt. 0) TIMLOC = TIMLOC + 24.0 ENDDO DO WHILE (TIMLOC .gt. 24.0) TIMLOC = TIMLOC - 24.0 ENDDO AHR = abs(TIMLOC - 12.) * 15.0 * PI_180 !=========================================================== ! The cosine of the solar zenith angle (SZA) is given by: ! ! cos(SZA) = sin(LAT)*sin(DEC) + cos(LAT)*cos(DEC)*cos(AHR) ! ! where LAT = the latitude angle, ! DEC = the solar declination angle, ! AHR = the hour angle, all in radians. ! ! If SUNCOS < 0, then the sun is below the horizon, and ! therefore does not contribute to any solar heating. !=========================================================== ! Compute Cos(SZA) SUNTMP(I,J) = sin(YMID_R) * sin(DEC) + & cos(YMID_R) * cos(DEC) * cos(AHR) ! TCOSZ is the sum of SUNTMP at location (I,J) ! Do not include negative values of SUNTMP TCOSZ(I,J) = TCOSZ(I,J) + MAX( SUNTMP(I,J), 0e+0_fp ) ENDDO ENDDO !$OMP END PARALLEL DO ! Increment elapsed time [sec] NT = NT + GET_TS_CHEM() ENDDO ! Reset first-time flag FIRST = .FALSE. ENDIF END SUBROUTINE OHNO3TIME !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: get_oh ! ! !DESCRIPTION: Function GET\_OH returns OH from State\_Chm%Species%Conc (for ! coupled runs) or monthly mean OH (for offline runs). Imposes a diurnal ! variation on OH for offline simulations. (bmy, 7/9/04) !\\ !\\ ! !INTERFACE: ! FUNCTION GET_OH( I, J, L, Input_Opt, State_Chm, State_Met ) & RESULT( OH_MOLEC_CM3 ) ! ! !USES: ! USE ERROR_MOD, ONLY : ERROR_STOP USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_TS_CHEM ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I ! Longitude index INTEGER, INTENT(IN) :: J ! Latitude index INTEGER, INTENT(IN) :: L ! Altitude index TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !RETURN VALUE: ! REAL(fp) :: OH_MOLEC_CM3 ! ! !REVISION HISTORY: ! 09 Jul 2004 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) :: OH_MW_kg ! kg OH / mol !================================================================= ! GET_OH begins here! !================================================================= IF ( Input_Opt%ITS_A_FULLCHEM_SIM ) THEN !--------------------- ! Coupled simulation !--------------------- ! OH is defined only in the chemistry grid IF ( State_Met%InChemGrid(I,J,L) ) THEN ! Get OH from State_Chm%Species%Conc [kg] and convert to [molec/cm3] OH_MW_kg = State_Chm%SpcData(id_OH)%Info%MW_g * 1.e-3_fp OH_MOLEC_CM3 = State_Chm%Species(id_OH)%Conc(I,J,L) & * ( AVO / OH_MW_kg ) & / ( State_Met%AIRVOL(I,J,L) * 1e+6_fp ) ELSE OH_MOLEC_CM3 = 0e+0_fp ENDIF ELSE IF ( Input_Opt%ITS_AN_AEROSOL_SIM ) THEN !--------------------- ! Offline simulation !--------------------- ! Test for sunlight... IF ( State_Met%SUNCOS(I,J) > 0e+0_fp .and. TCOSZ(I,J) > 0e+0_fp ) THEN ! OH from HEMCO is in mol/mol, convert to molec/cm3 OH_MOLEC_CM3 = OFFLINE_OH(I,J,L) * State_Met%AIRNUMDEN(I,J,L) ! Impose a diurnal variation on OH during the day OH_MOLEC_CM3 = OH_MOLEC_CM3 * & ( State_Met%SUNCOS(I,J) / TCOSZ(I,J) ) * & ( 86400e+0_fp / GET_TS_CHEM() ) ! Make sure OH is not negative OH_MOLEC_CM3 = MAX( OH_MOLEC_CM3, 0e+0_fp ) ELSE ! At night, OH goes to zero OH_MOLEC_CM3 = 0e+0_fp ENDIF ELSE !--------------------- ! Invalid sim type! !--------------------- CALL ERROR_STOP( 'Invalid Simulation Type!', & 'GET_OH ("carbon_mod.F90")' ) ENDIF END FUNCTION GET_OH !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: get_no3 ! ! !DESCRIPTION: Function GET\_NO3 returns NO3 from State\_Chm%Species%Conc ! (for coupled runs) or monthly mean OH (for offline runs). For offline runs, ! the concentration of NO3 is set to zero during the day. (rjp, bmy, 12/16/02, ! 7/20/04) !\\ !\\ ! !INTERFACE: ! FUNCTION GET_NO3( I, J, L, Input_Opt, State_Chm, State_Met ) & RESULT( NO3_MOLEC_CM3 ) ! ! !USES: ! USE ERROR_MOD, ONLY : ERROR_STOP USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I ! Longitude index INTEGER, INTENT(IN) :: J ! Latitude index INTEGER, INTENT(IN) :: L ! Altitude index TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !RETURN VALUE: ! REAL(fp) :: NO3_MOLEC_CM3 ! ! !REVISION HISTORY: ! 16 Dec 2002 - R. Park - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) :: NO3_MW_kg ! kg NO3 / mol !================================================================= ! GET_NO3 begins here! !================================================================= IF ( Input_Opt%ITS_A_FULLCHEM_SIM ) THEN !---------------------- ! Coupled simulation !---------------------- ! NO3 is defined only in the chemistry grid IF ( State_Met%InChemGrid(I,J,L) ) THEN ! Get NO3 from State_Chm%Species%Conc [kg]; convert to [molec/cm3] NO3_MW_kg = State_Chm%SpcData(id_NO3)%Info%MW_g * 1.e-3_fp NO3_MOLEC_CM3 = State_Chm%Species(id_NO3)%Conc(I,J,L) & * ( AVO / NO3_MW_kg ) & / ( State_Met%AIRVOL(I,J,L) * 1e+6_fp ) ELSE NO3_MOLEC_CM3 = 0e+0_fp ENDIF ELSE IF ( Input_Opt%ITS_AN_AEROSOL_SIM ) THEN !--------------------- ! Offline simulation !--------------------- ! Test if daylight IF ( State_Met%SUNCOS(I,J) > 0e+0_fp ) THEN ! NO3 goes to zero during the day NO3_MOLEC_CM3 = 0e+0_fp ELSE ! NO3 from HEMCO is in mol/mol, convert to molec/cm3 NO3_MOLEC_CM3 = OFFLINE_NO3(I,J,L) * State_Met%AIRNUMDEN(I,J,L) ENDIF ! Make sure NO3 is not negative NO3_MOLEC_CM3 = MAX( NO3_MOLEC_CM3, 0e+0_fp ) ELSE !---------------------- ! Invalid sim type! !---------------------- CALL ERROR_STOP( 'Invalid Simulation Type!', & 'GET_NO3 ("carbon_mod.F90")' ) ENDIF END FUNCTION GET_NO3 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: get_o3 ! ! !DESCRIPTION: Function GET\_O3 returns monthly mean O3 for offline sulfate ! aerosol simulations. (bmy, 12/16/02, 7/20/04) !\\ !\\ ! !INTERFACE: ! FUNCTION GET_O3( I, J, L, Input_Opt, State_Chm, State_Grid, State_Met ) & RESULT( O3_MOLEC_CM3 ) ! ! !USES: ! USE ERROR_MOD, ONLY : ERROR_STOP USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_TS_CHEM ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I ! Longitude index INTEGER, INTENT(IN) :: J ! Latitude index INTEGER, INTENT(IN) :: L ! Altitude index TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !RETURN VALUE: ! REAL(fp) :: O3_MOLEC_CM3 ! ! !REVISION HISTORY: ! 16 Dec 2002 - R. Park - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) :: O3_MW_kg ! kg O3 / mol !================================================================= ! GET_O3 begins here! !================================================================= IF ( Input_Opt%ITS_A_FULLCHEM_SIM ) THEN !-------------------- ! Coupled simulation !-------------------- ! O3 is defined only in the chemistry grid IF ( State_Met%InChemGrid(I,J,L) ) THEN ! Get O3 from State_Chm%Species%Conc [kg] and convert to [molec/cm3] O3_MW_kg = State_Chm%SpcData(id_O3)%Info%MW_g * 1.e-3_fp O3_MOLEC_CM3 = State_Chm%Species(id_O3)%Conc(I,J,L) & * ( AVO / O3_MW_kg ) & / ( State_Met%AIRVOL(I,J,L) * 1e+6_fp ) ELSE O3_MOLEC_CM3 = 0e+0_fp ENDIF ELSE IF ( Input_Opt%ITS_AN_AEROSOL_SIM ) THEN !-------------------- ! Offline simulation !-------------------- ! Get O3 [v/v] for this gridbox & month ! O3 is defined only in the chemistry grid IF ( L <= State_Met%MaxChemLev ) THEN ! O3 from HEMCO is in mol/mol, convert to molec/cm3 O3_MOLEC_CM3 = OFFLINE_O3(I,J,L) * State_Met%AIRNUMDEN(I,J,L) ELSE O3_MOLEC_CM3 = 0e+0_fp ENDIF ! Test for sunlight... IF ( State_Met%SUNCOS(I,J) > 0e+0_fp .and. TCOSZ(I,J) > 0e+0_fp ) THEN ! Impose a diurnal variation on OH during the day O3_MOLEC_CM3 = O3_MOLEC_CM3 * & ( State_Met%SUNCOS(I,J) / TCOSZ(I,J) ) * & ( 86400e+0_fp / GET_TS_CHEM() ) ! Make sure OH is not negative O3_MOLEC_CM3 = MAX( O3_MOLEC_CM3, 0e+0_fp ) ELSE O3_MOLEC_CM3 = 0e+0_fp ENDIF ELSE !-------------------- ! Invalid sim type! !-------------------- CALL ERROR_STOP( 'Invalid Simulation Type!', & 'GET_O3 ("carbon_mod.F90")' ) ENDIF END FUNCTION GET_O3 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: get_daro2 ! ! !DESCRIPTION: Function GET\_DARO2 returns the amount of aromatic peroxy ! radical that reacted with HO2 or NO during the last chemistry timestep. ! (dkh, 11/10/06) !\\ !\\ ! !INTERFACE: ! FUNCTION GET_DARO2( I, J, L, NOX, JHC, Input_Opt, State_Chm, State_Met ) & RESULT( DARO2 ) ! ! !USES: ! USE ERROR_MOD, ONLY : ERROR_STOP USE Input_Opt_Mod, ONLY : OptInput USE PhysConstants, ONLY : AVO USE State_Chm_Mod, ONLY : ChmState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I ! Longitude index INTEGER, INTENT(IN) :: J ! Latitude index INTEGER, INTENT(IN) :: L ! Altitude index INTEGER, INTENT(IN) :: NOX INTEGER, INTENT(IN) :: JHC TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !RETURN VALUE: ! REAL(fp) :: DARO2 ! ! !REVISION HISTORY: ! 10 Nov 2006 - D. Henze - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: id_LARO2 ! Species ID for AROM lost to HO2 or NO INTEGER :: id_AROM ! Species ID of the parent aromatic REAL(fp) :: ARO2CARB ! kg C of ARO2 / kg ARO2 REAL(fp) :: AROM_MW_kg ! g C of AROM / mol C REAL(fp) :: LARO2_MW_kg ! g C of LARO2 / mol C !================================================================= ! GET_DARO2 begins here! !================================================================= ! Initialize DARO2 = 0e+0_fp IF ( Input_Opt%ITS_A_FULLCHEM_SIM ) THEN !-------------------- ! Coupled simulation !-------------------- ! Test if we are in the chemistry grid IF ( State_Met%InChemGrid(I,J,L) ) THEN ! Get information on the ! specified type of aromatic peroxy radical ! Benzene IF ( JHC == PARENTBENZ ) THEN ! Loss due to NO2 corresponds to high NOX experiments ! (NOX = 1) while loss due to HO2 corresponds to ! low NOX experiments (NOX = 2). IF ( NOX == 1 ) THEN id_LARO2 = id_LBRO2N ELSEIF ( NOX == 2 ) THEN id_LARO2 = id_LBRO2H ELSE CALL ERROR_STOP('Bad NOX', 'GET_DARO2') ENDIF ! kg C of ARO2 / kg ARO2 ! dkh ARMv4 (hotp 7/31/2008) !ARO2CARB = 0.5669e+0_fp ! = 6*12/(6*12+3*16+7) !ARO2CARB = 0.4528e+0_fp ! = 6*12/(6*12+5*16+7) ! Now use parent HC instead of RO2 (hotp 5/13/10) ! C6H6 ARO2CARB = 6e+0_fp * 12e+0_fp / ( 6e+0_fp * 12e+0_fp + 6e+0_fp ) ! Species index of the parent aromatic id_AROM = id_BENZ ! Toluene ELSEIF ( JHC == PARENTTOLU ) THEN IF ( NOX == 1 ) THEN id_LARO2 = id_LTRO2N ELSEIF ( NOX == 2 ) THEN id_LARO2 = id_LTRO2H ELSE CALL ERROR_STOP('Bad NOX', 'GET_DARO2') ENDIF ! kg C of ARO2 / kg ARO2 ! dkh ARMv4 (hotp 7/31/2008) !ARO2CARB = 0.5874 ! = 7*12/(7*12+3*16+11) ! This was wrong for 2 reasons !ARO2CARB = 0.5957e+0_fp ! = 7*12/(7*12+3*16+9) ! <-- just change 11 to 9 !ARO2CARB = 0.48e+0_fp ! = 7*12/(7*12+5*16+11) ! <-- just change 3*16 to 5*16 !ARO2CARB = 0.4855e+0_fp ! = 7*12/(7*12+5*16+9) ! <-- change both ! Now use parent HC instead of RO2 (hotp 5/13/10) ! C7H8 ARO2CARB = 7e+0_fp * 12e+0_fp / ( 7e+0_fp * 12e+0_fp + 8e+0_fp ) ! Species index of the parent aromatic id_AROM = id_TOLU ! XYLENE ELSEIF ( JHC == PARENTXYLE ) THEN IF ( NOX == 1 ) THEN id_LARO2 = id_LXRO2N ELSEIF ( NOX == 2 ) THEN id_LARO2 = id_LXRO2H ELSE CALL ERROR_STOP('Bad NOX', 'GET_DARO2') ENDIF ! kg C of ARO2 / kg ARO2 ! dkh ARMv4 (hotp 7/31/2008) !ARO2CARB = 0.6194e+0_fp ! = 8*12/(8*12+3*16+11) !ARO2CARB = 0.5134e+0_fp ! = 8*12/(8*12+3*16+11) ! comments on above are bad (hotp 7/22/09) ! ARO2CARB for XYL is = 8*12/(8*12+5*16+11) (hotp 7/22/09) ! Now use parent HC instead of RO2 (hotp 5/13/10) ! old value based on RO2: 0.5134e+0_fp ! C8H10 ARO2CARB = 8e+0_fp * 12e+0_fp / ( 8e+0_fp * 12e+0_fp + 10e+0_fp ) ! Species index of the parent aromatic id_AROM = id_XYLE ! NAPHTHALENE (IVOC surrogate) (hotp 7/22/09) ELSEIF ( JHC == PARENTNAP ) THEN IF ( NOX == 1 ) THEN id_LARO2 = id_LNRO2N ELSEIF ( NOX == 2 ) THEN id_LARO2 = id_LNRO2H ELSE CALL ERROR_STOP('Bad NOX', 'GET_DARO2') ENDIF ! kg C of ARO2 / kg ARO2 ! NOTE: for NAP, GET_DARO2 is the kg of NAP reacted, ! not the kg of ARO2 ! ALPHAs are set up for this ARO2CARB = 12e+0_fp * 10e+0_fp / ( 12e+0_fp * 10e+0_fp + 8e+0_fp ) ! Species index of the parent aromatic id_AROM = id_NAP ELSE CALL ERROR_STOP('Bad JHC', 'GET_DAR2') ENDIF ! Get LARO2 (AROM lost to HO2 or NO) from State_Chm%Species%Conc ! [kg LARO2] and convert to [kg AROM] AROM_MW_kg = State_Chm%SpcData(id_AROM)%Info%MW_g * 1.e-3_fp LARO2_MW_kg = State_Chm%SpcData(id_LARO2)%Info%MW_g * 1.e-3_fp DARO2 = State_Chm%Species(id_LARO2)%Conc(I,J,L) & * ( AVO / LARO2_MW_kg ) & / ( AVO / AROM_MW_kg ) * ARO2CARB ELSE ! Otherwise set DOH=0 DARO2 = 0e+0_fp ENDIF ELSE IF ( Input_Opt%ITS_AN_AEROSOL_SIM ) THEN !-------------------- ! Offline simulation !-------------------- ! Not supported yet for ! offline aerosol simulations, set DOH=0 DARO2 = 0e+0_fp ELSE !-------------------- ! Invalid sim type! !-------------------- CALL ERROR_STOP( 'Invalid simulation type!', & 'GET_DARO2 ("carbon_mod.F90")' ) ENDIF END FUNCTION GET_DARO2 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: get_doh ! ! !DESCRIPTION: Function GET\_DOH returns the amount of isoprene [kg] that has ! reacted with OH during the last chemistry time step. (dkh, bmy, 6/01/06) !\\ !\\ ! !INTERFACE: ! FUNCTION GET_DOH( I, J, L, Input_Opt, State_Chm, State_Met ) & RESULT( DOH ) ! ! !USES: ! USE ERROR_MOD, ONLY : ERROR_STOP USE Input_Opt_Mod, ONLY : OptInput USE PhysConstants, ONLY : AVO USE State_Chm_Mod, ONLY : ChmState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I ! Longitude index INTEGER, INTENT(IN) :: J ! Latitude index INTEGER, INTENT(IN) :: L ! Altitude index TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !RETURN VALUE: ! REAL(fp) :: DOH ! ! !REVISION HISTORY: ! 01 Jun 2006 - D. Henze - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) :: ISOP_MW_kg ! kg C ISOP / mol C REAL(fp) :: LISOPOH_MW_kg ! kg C LISOPOH / mol C !================================================================= ! GET_DOH begins here! !================================================================= IF ( Input_Opt%ITS_A_FULLCHEM_SIM ) THEN !-------------------- ! Coupled simulation !-------------------- ! Test if we are in the chemistry grid IF ( State_Met%InChemGrid(I,J,L) ) THEN ! Get LISOPOH (ISOP lost to OH) from State_Chm%Species%Conc ! [kg LISOPOH] and convert to [kg C ISOP] ISOP_MW_kg = State_Chm%SpcData(id_ISOP)%Info%MW_g * 1.e-3_fp LISOPOH_MW_kg = State_Chm%SpcData(id_LISOPOH)%Info%MW_g * 1.e-3_fp DOH = State_Chm%Species(id_LISOPOH)%Conc(I,J,L) & * ( AVO / LISOPOH_MW_kg ) & / ( AVO / ISOP_MW_kg ) ELSE ! Otherwise set DOH=0 DOH = 0e+0_fp ENDIF ELSE IF ( Input_Opt%ITS_AN_AEROSOL_SIM ) THEN !-------------------- ! Offline simulation !-------------------- ! ISOP from OH not is yet supported for ! offline aerosol simulations, set DOH=0 DOH = 0e+0_fp ELSE !-------------------- ! Invalid sim type! !-------------------- CALL ERROR_STOP( 'Invalid simulation type!', & 'GET_DOH ("carbon_mod.F90")' ) ENDIF END FUNCTION GET_DOH !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: check_eqlb ! ! !DESCRIPTION: Subroutine CHECK\_EQLB makes sure aerosols are at equilibrium ! (checks SOA=SOG*KOM*Mo). Called inside SOA\_SVPOA\_CHEMISTRY I, J, L loop ! after SOA\_SVPOA\_LUMP. Created by Havala Pye (5/18/10). !\\ !\\ ! !INTERFACE: ! SUBROUTINE CHECK_EQLB( I, J, L, KOMIJL, CONVFAC, MSOACHEM, & LOW, TOL, ASOANGAS, ASOANAER, OCPIOCPO, State_Chm ) ! ! !USES: ! USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I ! Longitude index INTEGER, INTENT(IN) :: J ! Latitude index INTEGER, INTENT(IN) :: L ! Altitude index REAL(fp), INTENT(IN) :: KOMIJL(MPROD,MSV) ! KOM at grid box (adj T) REAL(fp), INTENT(IN) :: CONVFAC ! Conversion factor kg to ug/m3 REAL(fp), INTENT(IN) :: OCPIOCPO ! POA mass [ug/m3] ! Arguments for debugging REAL(fp), INTENT(IN) :: MSOACHEM ! MNEW from calling prog REAL(fp), INTENT(IN) :: LOW ! Lower bound on soln REAL(fp), INTENT(IN) :: TOL ! Tolerance on soln REAL(fp), INTENT(IN) :: ASOANGAS ! Gas phase ASOAN (should =0) REAL(fp), INTENT(IN) :: ASOANAER ! Aer phase ASOAN [ug/m3] TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object ! ! !REMARKS: ! Note: There are some deviations from equilibrium due to the fact ! that ASOAN is supposed to be nonvolatile, but is modeled with a KOM of ! 10^6. An adjustment is made in SOA_CHEMISTRY to force all ASOAN to ! the aerosol phase. This was found to lead to error up to 1e-5 ug/m3 ! in Mo. This error is small, but the effects can be investigated ! here if you're interested! ! . ! As of 6/2010, KOM for ASOAN was increased and the error in Mo reduced. ! ! !REVISION HISTORY: ! 18 May 2010 - H.O.T. Pye - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! !REAL(fp), PARAMETER :: ACCEPTERRORUG = 1d-6 ! error in ug/m3 ! KOM_REF for non-vol is larger, so error smaller (hotp 5/28/10) !REAL(fp), PARAMETER :: ACCEPTERRORUG = 1d-10 ! error in ug/m3 ! relax error tolerance (KOM_REF for ASOAN still not perfect) ! hotp 6/11/10 REAL(fp), PARAMETER :: ACCEPTERRORUG = 1e-8_fp ! error in ug/m3 ! ! !LOCAL VARIABLES:} ! INTEGER :: NOX, IPR, JHC, JSV REAL(fp) :: MOTEMP, OATEMP, EQLBDIFF ! Pointers TYPE(SpcConc), POINTER :: Spc(:) !================================================================= ! CHECK_EQLB starts here !================================================================= ! Point to chemical species vector containing concentrations Spc => State_Chm%Species ! Calculate mass of absorbing organic medium MOTEMP = Spc(id_ASOAN)%Conc(I,J,L) + & Spc(id_ASOA1)%Conc(I,J,L) + & Spc(id_ASOA2)%Conc(I,J,L) + & Spc(id_ASOA3)%Conc(I,J,L) + & Spc(id_TSOA1)%Conc(I,J,L) + & Spc(id_TSOA2)%Conc(I,J,L) + & Spc(id_TSOA3)%Conc(I,J,L) + & Spc(id_TSOA0)%Conc(I,J,L) ! Add primary material as appropriate IF ( id_POA1 > 0 ) THEN MOTEMP = MOTEMP + & Spc(id_POA1 )%Conc(I,J,L) * State_Chm%AerMass%OCFPOA(I,J) + & Spc(id_POA2 )%Conc(I,J,L) * State_Chm%AerMass%OCFPOA(I,J) + & Spc(id_OPOA1)%Conc(I,J,L) * State_Chm%AerMass%OCFOPOA(I,J) + & Spc(id_OPOA2)%Conc(I,J,L) * State_Chm%AerMass%OCFOPOA(I,J) ELSEIF ( id_OCPI > 0 ) THEN MOTEMP = MOTEMP + & ( Spc(id_OCPI)%Conc(I,J,L) + Spc(id_OCPO)%Conc(I,J,L) ) * 2.1e+0_fp ENDIF ! Convert Mo from [kg] to [ug/m3] MOTEMP = MOTEMP * CONVFAC ! Check Mo calculation ! Forcing ASOAN to aerosol phase causes errors in MO that will ! manifest themselves here ! Require MO to be accurate within 1d-8 ug/m3 EQLBDIFF = ABS( MOTEMP - MSOACHEM ) !IF ( EQLBDIFF > 1d-4 ) print*, 'CHECK_EQLB ERROR: MO disagree', ! KOM_REF for non-vol is larger, so tighten here (hotp 5/28/10) IF ( EQLBDIFF > 1e-8_fp ) print*, 'CHECK_EQLB ERROR: MO disagree', & I,J,L,MSOACHEM,MOTEMP,LOW,TOL, & ASOANGAS, ASOANAER, OCPIOCPO ! quick check !MOTEMP = MSOACHEM !---------------------------------------------------- ! Semivolatile 1: monoterpene + sesquiterpene SOA !---------------------------------------------------- JHC = PARENTMTPA JSV = IDSV(JHC) ! Product 1 IPR = 1 ! Compute OA in kg OATEMP = Spc(id_TSOG1)%Conc(I,J,L) * KOMIJL(IPR,JSV) * MOTEMP ! Compute difference in ug/m3 EQLBDIFF = ABS( OATEMP - Spc(id_TSOA1)%Conc(I,J,L) )* CONVFAC ! Assess error IF ( EQLBDIFF > ACCEPTERRORUG ) THEN WRITE(*,*) 'EQLB Problem PR, JSV', IPR, JSV, ' in box ', I, J, L ENDIF ! Product 2 IPR = 2 ! Compute OA in kg OATEMP = Spc(id_TSOG2)%Conc(I,J,L) * KOMIJL(IPR,JSV) * MOTEMP ! Compute difference in ug/m3 EQLBDIFF = ABS( OATEMP - Spc(id_TSOA2)%Conc(I,J,L) )* CONVFAC ! Assess error IF ( EQLBDIFF > ACCEPTERRORUG ) THEN WRITE(*,*) 'EQLB Problem PR, JSV', IPR, JSV, ' in box ', I, J, L, & MSOACHEM,MOTEMP,LOW,TOL, & ASOANGAS, ASOANAER, OCPIOCPO, & Spc(id_TSOA2)%Conc(I,J,L),Spc(id_TSOG2)%Conc(I,J,L) WRITE(*,*) 'KOM',KOMIJL(IPR,JSV),OATEMP,CONVFAC ENDIF ! Product 3 IPR = 3 ! Compute OA in kg OATEMP = Spc(id_TSOG3)%Conc(I,J,L) * KOMIJL(IPR,JSV) * MOTEMP ! Compute difference in ug/m3 EQLBDIFF = ABS( OATEMP - Spc(id_TSOA3)%Conc(I,J,L) )* CONVFAC ! Assess error IF ( EQLBDIFF > ACCEPTERRORUG ) THEN WRITE(*,*) 'EQLB Problem PR, JSV', IPR, JSV, ' in box ', I, J, L ENDIF ! Product 4, C*=0.1 IPR = 4 ! Compute OA in kg OATEMP = Spc(id_TSOG0)%Conc(I,J,L) * KOMIJL(IPR,JSV) * MOTEMP ! Compute difference in ug/m3 EQLBDIFF = ABS( OATEMP - Spc(id_TSOA0)%Conc(I,J,L) )* CONVFAC ! Assess error IF ( EQLBDIFF > ACCEPTERRORUG ) THEN WRITE(*,*) 'EQLB Problem PR, JSV', IPR, JSV, ' in box ', I, J, L, & MSOACHEM,MOTEMP,LOW,TOL, & ASOANGAS, ASOANAER, OCPIOCPO, & Spc(id_TSOA0)%Conc(I,J,L),Spc(id_TSOG0)%Conc(I,J,L) WRITE(*,*) 'KOM',KOMIJL(IPR,JSV),OATEMP,CONVFAC ENDIF !--------------------------------------------------------------------------- ! Prior to 7/15/19: ! Remove isoprene from VBS (mps, 7/15/19) !!---------------------------------------------------- !! Semivolatile 2: isoprene SOA !!---------------------------------------------------- !JHC = PARENTISOP !JSV = IDSV(JHC) ! !! Product 1 !IPR = 1 !! Compute OA in kg !OATEMP = Spc(id_ISOG1)%Conc(I,J,L) * KOMIJL(IPR,JSV) * MOTEMP !! Compute difference in ug/m3 !EQLBDIFF = ABS( OATEMP - Spc(id_ISOA1)%Conc(I,J,L) )* CONVFAC !! Assess error !IF ( EQLBDIFF > ACCEPTERRORUG ) THEN ! WRITE(*,*) 'EQLB Problem PR, JSV', IPR, JSV, ' in box ', I, J, L !ENDIF ! !! Product 2 !IPR = 2 !! Compute OA in kg !OATEMP = Spc(id_ISOG2)%Conc(I,J,L) * KOMIJL(IPR,JSV) * MOTEMP !! Compute difference in ug/m3 !EQLBDIFF = ABS( OATEMP - Spc(id_ISOA2)%Conc(I,J,L) )* CONVFAC !! Assess error !IF ( EQLBDIFF > ACCEPTERRORUG ) THEN ! WRITE(*,*) 'EQLB Problem PR, JSV', IPR, JSV,' in box ', I, J, L !ENDIF ! !! Product 3 !IPR = 3 !! Compute OA in kg !OATEMP = Spc(id_ISOG3)%Conc(I,J,L) * KOMIJL(IPR,JSV) * MOTEMP !! Compute difference in ug/m3 !EQLBDIFF = ABS( OATEMP - Spc(id_ISOA3)%Conc(I,J,L) )* CONVFAC !! Assess error !IF ( EQLBDIFF > ACCEPTERRORUG ) THEN ! WRITE(*,*) 'EQLB Problem PR, JSV', IPR, JSV, ' in box ', I, J, L !ENDIF !--------------------------------------------------------------------------- !---------------------------------------------------- ! Semivolatile 3: lumped arom/IVOC: total SOA+SOG in kg !---------------------------------------------------- JHC = PARENTBENZ JSV = IDSV(JHC) ! High NOx, Product 1 !NOX = NHIGHNOX IPR = 1 ! Compute OA in kg OATEMP = Spc(id_ASOG1)%Conc(I,J,L) * KOMIJL(IPR,JSV) * MOTEMP ! Compute difference in ug/m3 EQLBDIFF = ABS( OATEMP - Spc(id_ASOA1)%Conc(I,J,L) )* CONVFAC ! Assess error IF ( EQLBDIFF > ACCEPTERRORUG ) THEN WRITE(*,*) 'EQLB Problem PR, JSV', IPR, JSV, ' in box ', I, J, L ENDIF ! High NOx, Product 2 !NOX = NHIGHNOX IPR = 2 ! Compute OA in kg OATEMP = Spc(id_ASOG2)%Conc(I,J,L) * KOMIJL(IPR,JSV) * MOTEMP ! Compute difference in ug/m3 EQLBDIFF = ABS( OATEMP - Spc(id_ASOA2)%Conc(I,J,L) )* CONVFAC ! Assess error IF ( EQLBDIFF > ACCEPTERRORUG ) THEN WRITE(*,*) 'EQLB Problem PR, JSV', IPR, JSV, ' in box ', I, J, L ENDIF ! High NOx, Product 3 !NOX = NHIGHNOX IPR = 3 ! Compute OA in kg OATEMP = Spc(id_ASOG3)%Conc(I,J,L) * KOMIJL(IPR,JSV) * MOTEMP ! Compute difference in ug/m3 EQLBDIFF = ABS( OATEMP - Spc(id_ASOA3)%Conc(I,J,L) )* CONVFAC ! Assess error IF ( EQLBDIFF > ACCEPTERRORUG ) THEN WRITE(*,*) 'EQLB Problem PR, JSV', IPR, JSV, ' in box ', I, J, L ENDIF ! LOW NOx, Product 1 ! nonvolatile so don't need to check partitioning !---------------------------------------------------- ! POA: total POA+POG in kgC !---------------------------------------------------- IF ( id_POA1 > 0 ) THEN JHC = PARENTPOA JSV = IDSV(JHC) NOX = NONLYNOX ! Product 1 NOX = NONLYNOX IPR = 1 ! Compute OA in kg OATEMP = Spc(id_POG1)%Conc(I,J,L) * KOMIJL(IPR,JSV) * MOTEMP ! Compute difference in ug/m3 EQLBDIFF = ABS( OATEMP - Spc(id_POA1)%Conc(I,J,L) )* CONVFAC ! Assess error IF ( EQLBDIFF > ACCEPTERRORUG ) THEN WRITE(*,*) 'EQLB Problem NOX, PR, JSV', NOX, IPR, JSV, & ' in box ', I, J, L ENDIF ! Product 2 NOX = NONLYNOX IPR = 2 ! Compute OA in kg OATEMP = Spc(id_POG2)%Conc(I,J,L) * KOMIJL(IPR,JSV) * MOTEMP ! Compute difference in ug/m3 EQLBDIFF = ABS( OATEMP - Spc(id_POA2)%Conc(I,J,L) )* CONVFAC ! Assess error IF ( EQLBDIFF > ACCEPTERRORUG ) THEN WRITE(*,*) 'EQLB Problem NOX, PR, JSV', NOX, IPR, JSV, & ' in box ', I, J, L ENDIF ENDIF ! POA !---------------------------------------------------- ! OPOA: total SOA+SOG in kgC !---------------------------------------------------- IF ( id_OPOA1 > 0 ) THEN JHC = PARENTOPOA JSV = IDSV(JHC) NOX = NONLYNOX ! Product 1 NOX = NONLYNOX IPR = 1 ! Compute OA in kg OATEMP = Spc(id_OPOG1)%Conc(I,J,L) * KOMIJL(IPR,JSV) * MOTEMP ! Compute difference in ug/m3 EQLBDIFF = ABS( OATEMP - Spc(id_OPOA1)%Conc(I,J,L) )* CONVFAC ! Assess error IF ( EQLBDIFF > ACCEPTERRORUG ) THEN WRITE(*,*) 'EQLB Problem NOX, PR, JSV', NOX, IPR, JSV, & ' in box ', I, J, L ENDIF ! Product 2 NOX = NONLYNOX IPR = 2 ! Compute OA in kg OATEMP = Spc(id_OPOG2)%Conc(I,J,L) * KOMIJL(IPR,JSV) * MOTEMP ! Compute difference in ug/m3 EQLBDIFF = ABS( OATEMP - Spc(id_OPOA2)%Conc(I,J,L) )* CONVFAC ! Assess error IF ( EQLBDIFF > ACCEPTERRORUG ) THEN WRITE(*,*) 'EQLB Problem NOX, PR, JSV', NOX, IPR, JSV, & ' in box ', I, J, L ENDIF ENDIF ! OPOA ! Free pointer Spc => NULL() END SUBROUTINE CHECK_EQLB !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: save_oaginit ! ! !DESCRIPTION: Subroutine SAVE\_OAGINIT saves total SOA+SOG before ! partitioning for diagnostic purposes. Units are the same as the STT array ! ([kg] or [kgC per box]). !\\ !\\ ! !INTERFACE: ! SUBROUTINE SAVE_OAGINIT( State_Chm, State_Grid, State_Met ) ! ! !USES: ! USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !REVISION HISTORY: ! 17 May 2010 - H.O.T. Pye - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, J, L, NOX, JHC, JSV ! Pointers TYPE(SpcConc), POINTER :: Spc(:) !================================================================= ! SAVE_OAGINIT starts here !================================================================= ! Point to chemical species vector containing concentrations Spc => State_Chm%Species !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( NOX, JHC, JSV, I, J, L ) DO L = 1, State_Met%MaxChemLev DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX IF ( .not. State_Met%InChemGrid(I,J,L) ) CYCLE !---------------------------------------------------- ! Semivolatile 1: monoterpene and sesquiterpene SOA+SOG in kg !---------------------------------------------------- JHC = PARENTMTPA JSV = IDSV(JHC) OAGINITSAVE(I,J,L,1,JSV) = Spc(id_TSOA1)%Conc(I,J,L) + Spc(id_TSOG1)%Conc(I,J,L) OAGINITSAVE(I,J,L,2,JSV) = Spc(id_TSOA2)%Conc(I,J,L) + Spc(id_TSOG2)%Conc(I,J,L) OAGINITSAVE(I,J,L,3,JSV) = Spc(id_TSOA3)%Conc(I,J,L) + Spc(id_TSOG3)%Conc(I,J,L) OAGINITSAVE(I,J,L,4,JSV) = Spc(id_TSOA0)%Conc(I,J,L) + Spc(id_TSOG0)%Conc(I,J,L) !------------------------------------------------------------------------ ! Prior to 7/15/19: ! Remove isoprene from VBS (mps, 7/15/19 !!---------------------------------------------------- !! Semivolatile 2: isoprene SOA+SOG in kg !!---------------------------------------------------- !JHC = PARENTISOP !JSV = IDSV(JHC) !OAGINITSAVE(I,J,L,1,JSV) = Spc(id_ISOA1)%Conc(I,J,L) + Spc(id_ISOG1)%Conc(I,J,L) !OAGINITSAVE(I,J,L,2,JSV) = Spc(id_ISOA2)%Conc(I,J,L) + Spc(id_ISOG2)%Conc(I,J,L) !OAGINITSAVE(I,J,L,3,JSV) = Spc(id_ISOA3)%Conc(I,J,L) + Spc(id_ISOG3)%Conc(I,J,L) !------------------------------------------------------------------------ !---------------------------------------------------- ! Semivolatile 3: lumped arom/IVOC: total SOA+SOG in kg !---------------------------------------------------- JHC = PARENTBENZ JSV = IDSV(JHC) ! High NOx OAGINITSAVE(I,J,L,1,JSV) = Spc(id_ASOA1)%Conc(I,J,L) + Spc(id_ASOG1)%Conc(I,J,L) OAGINITSAVE(I,J,L,2,JSV) = Spc(id_ASOA2)%Conc(I,J,L) + Spc(id_ASOG2)%Conc(I,J,L) OAGINITSAVE(I,J,L,3,JSV) = Spc(id_ASOA3)%Conc(I,J,L) + Spc(id_ASOG3)%Conc(I,J,L) ! Low NOx OAGINITSAVE(I,J,L,4,JSV) = Spc(id_ASOAN)%Conc(I,J,L) !---------------------------------------------------- ! POA: total POA+POG in kgC (if semivol simulation) !---------------------------------------------------- IF ( id_POA1 > 0 ) THEN JHC = PARENTPOA JSV = IDSV(JHC) OAGINITSAVE(I,J,L,1,JSV) = Spc(id_POA1)%Conc(I,J,L) + Spc(id_POG1)%Conc(I,J,L) OAGINITSAVE(I,J,L,2,JSV) = Spc(id_POA2)%Conc(I,J,L) + Spc(id_POG2)%Conc(I,J,L) ENDIF !---------------------------------------------------- ! OPOA: total SOA+SOG in kgC (if semivol simulation) !---------------------------------------------------- IF ( id_OPOA1 > 0 ) THEN JHC = PARENTOPOA JSV = IDSV(JHC) OAGINITSAVE(I,J,L,1,JSV) = Spc(id_OPOA1)%Conc(I,J,L) + Spc(id_OPOG1)%Conc(I,J,L) OAGINITSAVE(I,J,L,2,JSV) = Spc(id_OPOA2)%Conc(I,J,L) + Spc(id_OPOG2)%Conc(I,J,L) ENDIF ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ! Free pointer Spc => NULL() END SUBROUTINE SAVE_OAGINIT !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: check_mb ! ! !DESCRIPTION: Subroutine CHECK\_MB checks total SOA+SOG mass balance for ! diagnostic/debugging purposes. Units are the same as the STT array ([kg] or ! [kgC per box]). Routine also prints helpful budget info. Created by Havala ! Pye (5/18/10). !\\ !\\ ! !INTERFACE: ! SUBROUTINE CHECK_MB( Input_Opt, State_Chm, State_Grid, State_Met ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !REVISION HISTORY: ! 18 May 2010 - H.O.T. Pye - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! [kg/kg] of acceptable error, 1e-12_fp = 1e-10_fp % !REAL(fp), PARAMETER :: ACCEPTERROR = 1e-12_fp ! more strict (hotp 5/26/10): 1e-12_fp % REAL(fp), PARAMETER :: ACCEPTERROR = 1e-14_fp ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I, J, L, NOX, JHC, JSV, IPR REAL(fp) :: TEMPDELTA(MNOX,MPROD) REAL(fp) :: TEMPSOAG REAL(fp) :: MBDIFF ! Pointers TYPE(SpcConc), POINTER :: Spc(:) !================================================================= ! CHECK_MB starts here !================================================================= ! Point to chemical species vector containing concentrations Spc => State_Chm%Species ! run in serial now (hotp 6/5/10) ! Make parallel again (mpayer, 9/14/11) !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( NOX, JHC, JSV, IPR ) & !$OMP PRIVATE( TEMPDELTA, TEMPSOAG, MBDIFF ) & !$OMP PRIVATE( I, J, L ) DO L = 1, State_Met%MaxChemLev DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX IF ( .not. State_Met%InChemGrid(I,J,L) ) CYCLE !---------------------------------------------------- ! Semivolatile 1: terpene SOA+SOG in kg !---------------------------------------------------- ! LIMO-MTPO bug/typo fix (hotp 5/26/10) TEMPDELTA = 0e+0_fp JHC = PARENTMTPA JSV = IDSV(JHC) DO IPR = 1, NPROD(JSV) DO NOX = 1, NNOX(JSV) TEMPDELTA(NOX,IPR) = & DELTASOGSAVE(I,J,L,NOX,PARENTMTPA)*ALPHA(NOX,IPR,PARENTMTPA) & + DELTASOGSAVE(I,J,L,NOX,PARENTLIMO)*ALPHA(NOX,IPR,PARENTLIMO) & + DELTASOGSAVE(I,J,L,NOX,PARENTMTPO)*ALPHA(NOX,IPR,PARENTMTPO) & + DELTASOGSAVE(I,J,L,NOX,PARENTSESQ)*ALPHA(NOX,IPR,PARENTSESQ) ENDDO ENDDO ! Product 1, C* = 1 ug/m3 IPR = 1 TEMPSOAG = OAGINITSAVE(I,J,L,IPR,JSV) + SUM(TEMPDELTA(:,IPR)) MBDIFF = ABS( TEMPSOAG - ( Spc(id_TSOA1)%Conc(I,J,L) + Spc(id_TSOG1)%Conc(I,J,L) )) MBDIFF = MBDIFF/TEMPSOAG ! convert to fractional error IF ( Input_Opt%Verbose .and. MBDIFF > ACCEPTERROR ) THEN WRITE(*,*) 'MB Problem with NOX, IPR, JSV:', NOX, IPR, JSV, & 'in box ', I, J, L print*,'CK_MB ',NOX,IPR,JSV, & TEMPSOAG,MBDIFF,OAGINITSAVE(I,J,L,IPR,JSV), & TEMPDELTA(:,IPR) ENDIF ! Product 2, C* = 10 ug/m3 IPR = 2 TEMPSOAG = OAGINITSAVE(I,J,L,IPR,JSV) + SUM(TEMPDELTA(:,IPR)) MBDIFF = ABS( TEMPSOAG - ( Spc(id_TSOA2)%Conc(I,J,L) + Spc(id_TSOG2)%Conc(I,J,L) )) MBDIFF = MBDIFF/TEMPSOAG ! convert to fractional error IF ( Input_Opt%Verbose .and. MBDIFF > ACCEPTERROR ) THEN WRITE(*,*) 'MB Problem with NOX, IPR, JSV:', NOX, IPR, JSV, & 'in box ', I, J, L print*,'CK_MB ',NOX,IPR,JSV, & TEMPSOAG,MBDIFF,OAGINITSAVE(I,J,L,IPR,JSV), & TEMPDELTA(:,IPR) ENDIF ! Product 3, C* = 100 ug/m3 IPR = 3 TEMPSOAG = OAGINITSAVE(I,J,L,IPR,JSV) + SUM(TEMPDELTA(:,IPR)) MBDIFF = ABS( TEMPSOAG - ( Spc(id_TSOA3)%Conc(I,J,L) + Spc(id_TSOG3)%Conc(I,J,L) )) MBDIFF = MBDIFF/TEMPSOAG ! convert to fractional error IF ( Input_Opt%Verbose .and. MBDIFF > ACCEPTERROR ) THEN WRITE(*,*) 'MB Problem with NOX, IPR, JSV:', NOX, IPR, JSV, & 'in box ', I, J, L print*,'CK_MB ',NOX,IPR,JSV, & TEMPSOAG,MBDIFF,OAGINITSAVE(I,J,L,IPR,JSV), & TEMPDELTA(:,IPR) ENDIF ! Product 4, C* = 0.1 ug/m3 IPR = 4 TEMPSOAG = OAGINITSAVE(I,J,L,IPR,JSV) + SUM(TEMPDELTA(:,IPR)) MBDIFF = ABS( TEMPSOAG - ( Spc(id_TSOA0)%Conc(I,J,L) + Spc(id_TSOG0)%Conc(I,J,L) )) MBDIFF = MBDIFF/TEMPSOAG ! convert to fractional error IF ( Input_Opt%Verbose .and. MBDIFF > ACCEPTERROR ) THEN WRITE(*,*) 'MB Problem with NOX, IPR, JSV:', NOX, IPR, JSV, & 'in box ', I, J, L print*,'CK_MB ',NOX,IPR,JSV, & TEMPSOAG,MBDIFF,OAGINITSAVE(I,J,L,IPR,JSV), & TEMPDELTA(:,IPR) ENDIF !------------------------------------------------------------------------ ! Prior to 7/15/19: ! Remove isoprene from VBS (mps, 7/15/19) !!---------------------------------------------------- !! Semivolatile 2: isoprene SOA+SOG in kg !!---------------------------------------------------- !TEMPDELTA = 0e+0_fp !JHC = PARENTISOP !JSV = IDSV(JHC) !DO IPR = 1, NPROD(JSV) !DO NOX = 1, NNOX(JSV) ! TEMPDELTA(NOX,IPR) = ! DELTASOGSAVE(I,J,L,NOX,PARENTISOP)*ALPHA(NOX,IPR,PARENTISOP) !ENDDO !ENDDO ! !! Product 1, C* = 1 ug/m3 !IPR = 1 !TEMPSOAG = OAGINITSAVE(I,J,L,IPR,JSV) + SUM(TEMPDELTA(:,IPR)) !MBDIFF = ABS( TEMPSOAG - ( Spc(id_ISOA1)%Conc(I,J,L) + Spc(id_ISOG1)%Conc(I,J,L) )) !MBDIFF = MBDIFF/TEMPSOAG ! convert to fractional error !IF ( Input_Opt%Verbose .and. MBDIFF > ACCEPTERROR ) THEN ! WRITE(*,*) 'MB Problem with NOX, IPR, JSV:', NOX, IPR, JSV, & ! 'in box ', I, J, L ! print*,'CK_MB ',NOX,IPR,JSV, & ! TEMPSOAG,MBDIFF,OAGINITSAVE(I,J,L,IPR,JSV), & ! TEMPDELTA(:,IPR) ! print*,'DELSOGSAVE NOx=1',DELTASOGSAVE(I,J,L,1,5) ! print*,'DELSOGSAVE NOx=2',DELTASOGSAVE(I,J,L,2,5) ! print*,'DELSOGSAVE NOx=3',DELTASOGSAVE(I,J,L,3,5) ! print*,'Spc',Spc(id_ISOA1)%Conc(I,J,L),Spc(id_ISOG1)%Conc(I,J,L) ! print*,'NNOX',NNOX(JSV) ! print*,'strat?',State_Met%InStratosphere(I,J,L) !ENDIF ! !! Product 2, C* = 10 ug/m3 !IPR = 2 !TEMPSOAG = OAGINITSAVE(I,J,L,IPR,JSV) + SUM(TEMPDELTA(:,IPR)) !MBDIFF = ABS( TEMPSOAG - ( Spc(id_ISOA2)%Conc(I,J,L) + Spc(id_ISOG2)%Conc(I,J,L) )) !MBDIFF = MBDIFF/TEMPSOAG ! convert to fractional error !IF ( Input_Opt%Verbose .and. MBDIFF > ACCEPTERROR ) THEN ! WRITE(*,*) 'MB Problem with NOX, IPR, JSV:', NOX, IPR, JSV, & ! 'in box ', I, J, L ! print*,'CK_MB ',NOX,IPR,JSV, & ! TEMPSOAG,MBDIFF,OAGINITSAVE(I,J,L,IPR,JSV), & ! TEMPDELTA(:,IPR) ! print*,'DELSOGSAVE NOx=1',DELTASOGSAVE(I,J,L,1,5) ! print*,'DELSOGSAVE NOx=2',DELTASOGSAVE(I,J,L,2,5) ! print*,'DELSOGSAVE NOx=3',DELTASOGSAVE(I,J,L,3,5) ! print*,'Spc',Spc(id_ISOA2)%Conc(I,J,L),Spc(id_ISOG2)%Conc(I,J,L) ! print*,'NNOX',NNOX(JSV) ! print*,'strat?',State_Met%InStratosphere(I,J,L) ! !ENDIF ! !! Product 3, C* = 100 ug/m3 !IPR = 3 !TEMPSOAG = OAGINITSAVE(I,J,L,IPR,JSV) + SUM(TEMPDELTA(:,IPR)) !MBDIFF = ABS( TEMPSOAG - ( Spc(id_ISOA3)%Conc(I,J,L) + Spc(id_ISOG3)%Conc(I,J,L) )) !MBDIFF = MBDIFF/TEMPSOAG ! convert to fractional error !IF ( Input_Opt%Verbose .and. MBDIFF > ACCEPTERROR ) THEN ! WRITE(*,*) 'MB Problem with NOX, IPR, JSV:', NOX, IPR, JSV, & ! 'in box ', I, J, L ! print*,'CK_MB ',NOX,IPR,JSV, & ! TEMPSOAG,MBDIFF,OAGINITSAVE(I,J,L,IPR,JSV), & ! TEMPDELTA(:,IPR) ! print*,'DELSOGSAVE NOx=1',DELTASOGSAVE(I,J,L,1,5) ! print*,'DELSOGSAVE NOx=2',DELTASOGSAVE(I,J,L,2,5) ! print*,'DELSOGSAVE NOx=3',DELTASOGSAVE(I,J,L,3,5) ! print*,'Spc',Spc(id_ISOA3)%Conc(I,J,L),Spc(id_ISOG3)%Conc(I,J,L) ! print*,'NNOX',NNOX(JSV) ! print*,'strat?',State_Met%InStratosphere(I,J,L) !ENDIF !------------------------------------------------------------------------ !---------------------------------------------------- ! Semivolatile 3: lumped arom/IVOC: total SOA+SOG in kg !---------------------------------------------------- TEMPDELTA = 0e+0_fp JHC = PARENTBENZ JSV = IDSV(JHC) DO IPR = 1, NPROD(JSV) DO NOX = 1, NNOX(JSV) TEMPDELTA(NOX,IPR) = & DELTASOGSAVE(I,J,L,NOX,PARENTBENZ)*ALPHA(NOX,IPR,PARENTBENZ) & + DELTASOGSAVE(I,J,L,NOX,PARENTTOLU)*ALPHA(NOX,IPR,PARENTTOLU) & + DELTASOGSAVE(I,J,L,NOX,PARENTXYLE)*ALPHA(NOX,IPR,PARENTXYLE) & + DELTASOGSAVE(I,J,L,NOX,PARENTNAP )*ALPHA(NOX,IPR,PARENTNAP ) ENDDO ENDDO ! Low NOx NOX = NLOWNOX IPR = 4 TEMPSOAG = OAGINITSAVE(I,J,L,IPR,JSV) + TEMPDELTA(NOX,IPR) MBDIFF = ABS( TEMPSOAG - Spc(id_ASOAN)%Conc(I,J,L) ) MBDIFF = MBDIFF/TEMPSOAG ! convert to fractional error IF ( Input_Opt%Verbose .and. MBDIFF > ACCEPTERROR ) THEN WRITE(*,*) 'MB Problem with NOX, IPR, JSV:', NOX, IPR, JSV, & 'in box ', I, J, L print*,'CK_MB ',NOX,IPR,JSV, & TEMPSOAG,MBDIFF,OAGINITSAVE(I,J,L,IPR,JSV), & TEMPDELTA(:,IPR) !print*,'DELSOGSAVE NOx=2',DELTASOGSAVE(I,J,L,2,6:8) !print*,'DELSOGSAVE NOx=2',DELTASOGSAVE(I,J,L,2,11) !print*,'Spc',Spc(id_ASOAN)%Conc(I,J,L) !print*,'NNOX',NNOX(JSV) !print*,'strat?',State_Met%InStratosphere(I,J,L) ENDIF ! Debug print to screen !IF ( Input_Opt%Verbose ) THEN ! IF ( I == 37 .AND. J == 25 .AND. L == 4 ) THEN ! print*,'CK_MB ',NOX,IPR,JSV, & ! TEMPSOAG,MBDIFF,OAGINITSAVE(I,J,L,NOX,IPR,JSV) ! print*,'strat?',State_Met%InStratosphere(I,J,L) ! ENDIF !ENDIF ! HIGH NOx, Product 1 NOX = NHIGHNOX IPR = 1 TEMPSOAG = OAGINITSAVE(I,J,L,IPR,JSV) + TEMPDELTA(NOX,IPR) MBDIFF = ABS( TEMPSOAG - ( Spc(id_ASOA1)%Conc(I,J,L) + Spc(id_ASOG1)%Conc(I,J,L) )) MBDIFF = MBDIFF/TEMPSOAG ! convert to fractional error IF ( Input_Opt%Verbose .and. MBDIFF > ACCEPTERROR ) THEN WRITE(*,*) 'MB Problem with NOX, IPR, JSV:', NOX, IPR, JSV, & 'in box ', I, J, L print*,'CK_MB ',NOX,IPR,JSV, & TEMPSOAG,MBDIFF,OAGINITSAVE(I,J,L,IPR,JSV), & TEMPDELTA(:,IPR) ENDIF ! HIGH NOx, Product 2 NOX = NHIGHNOX IPR = 2 TEMPSOAG = OAGINITSAVE(I,J,L,IPR,JSV) + TEMPDELTA(NOX,IPR) MBDIFF = ABS( TEMPSOAG - ( Spc(id_ASOA2)%Conc(I,J,L) + Spc(id_ASOG2)%Conc(I,J,L) )) MBDIFF = MBDIFF/TEMPSOAG ! convert to fractional error IF ( Input_Opt%Verbose .and. MBDIFF > ACCEPTERROR ) THEN WRITE(*,*) 'MB Problem with NOX, IPR, JSV:', NOX, IPR, JSV, & 'in box ', I, J, L print*,'CK_MB ',NOX,IPR,JSV, & TEMPSOAG,MBDIFF,OAGINITSAVE(I,J,L,IPR,JSV), & TEMPDELTA(:,IPR) ENDIF ! HIGH NOx, Product 3 NOX = NHIGHNOX IPR = 3 TEMPSOAG = OAGINITSAVE(I,J,L,IPR,JSV) + TEMPDELTA(NOX,IPR) MBDIFF = ABS( TEMPSOAG - ( Spc(id_ASOA3)%Conc(I,J,L) + Spc(id_ASOG3)%Conc(I,J,L) )) MBDIFF = MBDIFF/TEMPSOAG ! convert to fractional error IF ( Input_Opt%Verbose .and. MBDIFF > ACCEPTERROR ) THEN WRITE(*,*) 'MB Problem with NOX, IPR, JSV:', NOX, IPR, JSV, & 'in box ', I, J, L print*,'CK_MB ',NOX,IPR,JSV, & TEMPSOAG,MBDIFF,OAGINITSAVE(I,J,L,IPR,JSV), & TEMPDELTA(:,IPR) ENDIF !---------------------------------------------------- ! POA: total POA+POG in kgC !---------------------------------------------------- ! Note that POA+G is both increased (due to emission) ! and decreased (due to conversion to OPOG) IF ( id_POA1 > 0 ) THEN TEMPDELTA = 0e+0_fp JHC = PARENTPOA JSV = IDSV(JHC) NOX = NONLYNOX DO IPR = 1, NPROD(JSV) TEMPDELTA(NOX,IPR) = DELTASOGSAVE(I,J,L,IPR,PARENTPOA ) * & ALPHA(NOX,IPR,PARENTPOA ) - & DELTASOGSAVE(I,J,L,IPR,PARENTOPOA) * & ALPHA(NOX,IPR,PARENTOPOA) ENDDO ! Only NOx, Product 1 IPR = 1 TEMPSOAG = OAGINITSAVE(I,J,L,IPR,JSV) + TEMPDELTA(NOX,IPR) MBDIFF = ABS( TEMPSOAG - ( Spc(id_POA1)%Conc(I,J,L) + Spc(id_POG1)%Conc(I,J,L) )) MBDIFF = MBDIFF/TEMPSOAG ! convert to fractional error IF ( Input_Opt%Verbose .and. MBDIFF > ACCEPTERROR ) THEN WRITE(*,*) 'MB Problem with NOX, IPR, JSV:', NOX, IPR, & JSV, 'in box ', I, J, L print*,'CK_MB ',NOX,IPR,JSV, & TEMPSOAG,MBDIFF,OAGINITSAVE(I,J,L,IPR,JSV), & TEMPDELTA(:,IPR) ENDIF ! Only NOx, Product 2 IPR = 2 TEMPSOAG = OAGINITSAVE(I,J,L,IPR,JSV) + TEMPDELTA(NOX,IPR) MBDIFF = ABS( TEMPSOAG - ( Spc(id_POA2)%Conc(I,J,L) + Spc(id_POG2)%Conc(I,J,L) )) MBDIFF = MBDIFF/TEMPSOAG ! convert to fractional error IF ( Input_Opt%Verbose .and. MBDIFF > ACCEPTERROR ) THEN WRITE(*,*) 'MB Problem with NOX, IPR, JSV:', NOX, IPR, & JSV, 'in box ', I, J, L print*,'CK_MB ',NOX,IPR,JSV, & TEMPSOAG,MBDIFF,OAGINITSAVE(I,J,L,IPR,JSV), & TEMPDELTA(:,IPR) ENDIF ENDIF ! POA1 !---------------------------------------------------- ! OPOA: total SOA+SOG in kgC !---------------------------------------------------- IF ( id_OPOA1 > 0 ) THEN TEMPDELTA = 0e+0_fp JHC = PARENTOPOA JSV = IDSV(JHC) NOX = NONLYNOX DO IPR = 1, NPROD(JSV) TEMPDELTA(NOX,IPR) = DELTASOGSAVE(I,J,L,IPR,PARENTOPOA) * & ALPHA(NOX,IPR,PARENTOPOA) ENDDO ! Only NOx, Product 1 IPR = 1 TEMPSOAG = OAGINITSAVE(I,J,L,IPR,JSV) + TEMPDELTA(NOX,IPR) MBDIFF = ABS( TEMPSOAG - ( Spc(id_OPOA1)%Conc(I,J,L) + Spc(id_OPOG1)%Conc(I,J,L) )) MBDIFF = MBDIFF/TEMPSOAG ! convert to fractional error IF ( Input_Opt%Verbose .and. MBDIFF > ACCEPTERROR ) THEN WRITE(*,*) 'MB Problem with NOX, IPR, JSV:', NOX, IPR, & JSV, 'in box ', I, J, L print*,'CK_MB ',NOX,IPR,JSV, & TEMPSOAG,MBDIFF,OAGINITSAVE(I,J,L,IPR,JSV), & TEMPDELTA(:,IPR) ENDIF ! Only NOx, Product 2 IPR = 2 TEMPSOAG = OAGINITSAVE(I,J,L,IPR,JSV) + TEMPDELTA(NOX,IPR) MBDIFF = ABS( TEMPSOAG - ( Spc(id_OPOA2)%Conc(I,J,L) + Spc(id_OPOG2)%Conc(I,J,L) )) MBDIFF = MBDIFF/TEMPSOAG ! convert to fractional error IF ( Input_Opt%Verbose .and. MBDIFF > ACCEPTERROR ) THEN WRITE(*,*) 'MB Problem with NOX, IPR, JSV:', NOX, IPR, & JSV, 'in box ', I, J, L print*,'CK_MB ',NOX,IPR,JSV, & TEMPSOAG,MBDIFF,OAGINITSAVE(I,J,L,IPR,JSV), & TEMPDELTA(:,IPR) ENDIF ENDIF ! OPOA1 ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ! Save information in [Tg] DO JHC = 1, MHC DO NOX = 1, MNOX DELTAHCSAVE(NOX,JHC) = DELTAHCSAVE(NOX,JHC) + & 1e-9_fp * SUM(DELTASOGSAVE(:,:,:,NOX,JHC)) ENDDO ENDDO ! Print diagnostic information to screen IF ( Input_Opt%Verbose ) THEN print*,'Global cumulative amount reacted in gas phase [Tg]' JHC = 1 print*,'MTPA High NOx Rxn : ', DELTAHCSAVE(1,JHC) print*,'MTPA Low NOx Rxn : ', DELTAHCSAVE(2,JHC) print*,'MTPA NO3 Rxn : ', DELTAHCSAVE(3,JHC) JHC = 2 print*,'LIMO High NOx Rxn : ', DELTAHCSAVE(1,JHC) print*,'LIMO Low NOx Rxn : ', DELTAHCSAVE(2,JHC) print*,'LIMO NO3 Rxn : ', DELTAHCSAVE(3,JHC) JHC = 3 print*,'MTPO High NOx Rxn : ', DELTAHCSAVE(1,JHC) print*,'MTPO Low NOx Rxn : ', DELTAHCSAVE(2,JHC) print*,'MTPO NO3 Rxn : ', DELTAHCSAVE(3,JHC) JHC = 4 print*,'SESQ High NOx Rxn : ', DELTAHCSAVE(1,JHC) print*,'SESQ Low NOx Rxn : ', DELTAHCSAVE(2,JHC) print*,'SESQ NO3 Rxn : ', DELTAHCSAVE(3,JHC) JHC = 5 print*,'ISOP OH Rxn : ', DELTAHCSAVE(1,JHC) print*,'ISOP NO3 Rxn : ', DELTAHCSAVE(2,JHC) JHC = 6 print*,'BENZ High NOx Rxn : ', DELTAHCSAVE(1,JHC) print*,'BENZ Low NOx Rxn : ', DELTAHCSAVE(2,JHC) JHC = 7 print*,'TOLU High NOx Rxn : ', DELTAHCSAVE(1,JHC) print*,'TOLU Low NOx Rxn : ', DELTAHCSAVE(2,JHC) JHC = 8 print*,'XYLE High NOx Rxn : ', DELTAHCSAVE(1,JHC) print*,'XYLE Low NOx Rxn : ', DELTAHCSAVE(2,JHC) JHC = 11 print*,'NAP High NOx Rxn : ', DELTAHCSAVE(1,JHC) print*,'NAP Low NOx Rxn : ', DELTAHCSAVE(2,JHC) JHC = 10 print*,'POG1 OH Rxn : ', DELTAHCSAVE(1,JHC) print*,'POG2 OH Rxn : ', DELTAHCSAVE(2,JHC) ! Print diagnostic info about SOA production print*,'Aerosol production and evaporation (cumulative kg)' JSV = 1 IPR = 1 print*,'TSOA1 prod and evap: ', & SUM(SPECSOAPROD(:,:,:,IPR,JSV)),SUM(SPECSOAEVAP(:,:,:,IPR,JSV)) IPR = 2 print*,'TSOA2 prod and evap: ', & SUM(SPECSOAPROD(:,:,:,IPR,JSV)),SUM(SPECSOAEVAP(:,:,:,IPR,JSV)) IPR = 3 print*,'TSOA3 prod and evap: ', & SUM(SPECSOAPROD(:,:,:,IPR,JSV)),SUM(SPECSOAEVAP(:,:,:,IPR,JSV)) IPR = 4 print*,'TSOA0 prod and evap: ', & SUM(SPECSOAPROD(:,:,:,IPR,JSV)),SUM(SPECSOAEVAP(:,:,:,IPR,JSV)) !------------------------------------------------------------------------ ! Prior to 7/15/19: ! Remove isoprene from VBS (mps, 7/15/19) !JSV = 2 !IPR = 1 !print*,'ISOA1 prod and evap: ', & ! SUM(SPECSOAPROD(:,:,:,IPR,JSV)),SUM(SPECSOAEVAP(:,:,:,IPR,JSV)) !IPR = 2 !print*,'ISOA2 prod and evap: ', & ! SUM(SPECSOAPROD(:,:,:,IPR,JSV)),SUM(SPECSOAEVAP(:,:,:,IPR,JSV)) !IPR = 3 !print*,'ISOA3 prod and evap: ', & ! SUM(SPECSOAPROD(:,:,:,IPR,JSV)),SUM(SPECSOAEVAP(:,:,:,IPR,JSV)) !------------------------------------------------------------------------ JSV = 3 IPR = 1 print*,'ASOA1 prod and evap: ', & SUM(SPECSOAPROD(:,:,:,IPR,JSV)),SUM(SPECSOAEVAP(:,:,:,IPR,JSV)) IPR = 2 print*,'ASOA2 prod and evap: ', & SUM(SPECSOAPROD(:,:,:,IPR,JSV)),SUM(SPECSOAEVAP(:,:,:,IPR,JSV)) IPR = 3 print*,'ASOA3 prod and evap: ', & SUM(SPECSOAPROD(:,:,:,IPR,JSV)),SUM(SPECSOAEVAP(:,:,:,IPR,JSV)) IPR = 4 print*,'ASOAN prod and evap: ', & SUM(SPECSOAPROD(:,:,:,IPR,JSV)),SUM(SPECSOAEVAP(:,:,:,IPR,JSV)) JSV = 4 IPR = 1 print*,'POA1 prod and evap: ', & SUM(SPECSOAPROD(:,:,:,IPR,JSV)),SUM(SPECSOAEVAP(:,:,:,IPR,JSV)) IPR = 2 print*,'POA2 prod and evap: ', & SUM(SPECSOAPROD(:,:,:,IPR,JSV)),SUM(SPECSOAEVAP(:,:,:,IPR,JSV)) JSV = 5 IPR = 1 print*,'OPOA1 prod and evap: ', & SUM(SPECSOAPROD(:,:,:,IPR,JSV)),SUM(SPECSOAEVAP(:,:,:,IPR,JSV)) IPR = 2 print*,'OPOA2 prod and evap: ', & SUM(SPECSOAPROD(:,:,:,IPR,JSV)),SUM(SPECSOAEVAP(:,:,:,IPR,JSV)) ENDIF ! Free pointer Spc => NULL() END SUBROUTINE CHECK_MB !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: get_no ! ! !DESCRIPTION: Function GET\_NO returns NO from State\_Chm%Species%Conc ! (for coupled runs). (hotp 5/7/2010) !\\ !\\ ! !INTERFACE: ! FUNCTION GET_NO( I, J, L, Input_Opt, State_Chm, State_Met ) & RESULT( NO_MOLEC_CM3 ) ! ! !USES: ! USE ERROR_MOD, ONLY : ERROR_STOP USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I ! Longitude index INTEGER, INTENT(IN) :: J ! Latitude index INTEGER, INTENT(IN) :: L ! Altitude index TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !RETURN VALUE ! REAL(fp) :: NO_MOLEC_CM3 ! NO conc [molec/cm3] ! ! !REVISION HISTORY: ! 07 May 2010 - H.O.T. Pye - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) :: NO_MW_kg ! kg NO / mol !================================================================= ! GET_NO begins here! !================================================================= IF ( Input_Opt%ITS_A_FULLCHEM_SIM ) THEN !--------------------- ! Coupled simulation !--------------------- ! NO is defined only in the chemistry grid IF ( State_Met%InChemGrid(I,J,L) ) THEN ! Get NO from State_Chm%Species%Conc [kg] and convert to [molec/cm3] NO_MW_kg = State_Chm%SpcData(id_NO)%Info%MW_g * 1.e-3_fp NO_MOLEC_CM3 = State_Chm%Species(id_NO)%Conc(I,J,L) & * ( AVO / NO_MW_kg ) & / ( State_Met%AIRVOL(I,J,L) * 1e+6_fp ) ELSE NO_MOLEC_CM3 = 0e+0_fp ENDIF ELSE !--------------------- ! Invalid sim type! !--------------------- CALL ERROR_STOP( 'Invalid Simulation Type!', & 'GET_NO ("carbon_mod.F90")' ) ENDIF END FUNCTION GET_NO !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: get_ho2 ! ! !DESCRIPTION: Function GET\_HO2 returns HO2 from State\_Chm%Species%Conc ! (for coupled runs). Created by Havala Pye (5/7/2010). !\\ !\\ ! !INTERFACE: ! FUNCTION GET_HO2( I, J, L, Input_Opt, State_Chm, State_Met ) & RESULT( HO2_MOLEC_CM3 ) ! ! !USES: ! USE ERROR_MOD, ONLY : ERROR_STOP USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I ! Longitude index INTEGER, INTENT(IN) :: J ! Latitude index INTEGER, INTENT(IN) :: L ! Altitude index TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !RETURN VALUE ! REAL(fp) :: HO2_MOLEC_CM3 ! HO2 conc [molec/cm3] ! ! !REVISION HISTORY: ! 13 May 2010 - H.O.T. Pye - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) :: HO2_MW_kg ! kg HO2 / mol !================================================================= ! GET_HO2 begins here! !================================================================= IF ( Input_Opt%ITS_A_FULLCHEM_SIM ) THEN !--------------------- ! Coupled simulation !--------------------- ! HO2 is defined only in the chemistry grid IF ( State_Met%InChemGrid(I,J,L) ) THEN ! Get HO2 from State_Chm%Species%Conc [kg]; convert to [molec/cm3] HO2_MW_kg = State_Chm%SpcData(id_HO2)%Info%MW_g*1.e-3_fp HO2_MOLEC_CM3 = State_Chm%Species(id_HO2)%Conc(I,J,L) & * ( AVO / HO2_MW_kg ) & / ( State_Met%AIRVOL(I,J,L) * 1e+6_fp ) ELSE HO2_MOLEC_CM3 = 0e+0_fp ENDIF ELSE !--------------------- ! Invalid sim type! !--------------------- CALL ERROR_STOP( 'Invalid Simulation Type!', & 'GET_HO2 ("carbon_mod.F90")' ) ENDIF END FUNCTION GET_HO2 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: get_isopno3 ! ! !DESCRIPTION: Modification of GET\_DOH that returns the amount of isoprene ! [kgC] that has reacted with NO3 during the last chemistry time step. ! (hotp 5/22/10) !\\ !\\ ! !INTERFACE: ! FUNCTION GET_ISOPNO3( I, J, L, Input_Opt, State_Chm, State_Met ) & RESULT( ISOPNO3 ) ! ! !USES: ! USE ERROR_MOD, ONLY : ERROR_STOP USE Input_Opt_Mod, ONLY : OptInput USE PhysConstants, ONLY : AVO USE State_Chm_Mod, ONLY : ChmState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I ! Longitude index INTEGER, INTENT(IN) :: J ! Latitude index INTEGER, INTENT(IN) :: L ! Altitude index TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !RETURN VALUE ! REAL(fp) :: ISOPNO3 ! ISOP replaced w/ NO3 [kg C] ! ! !REVISION HISTORY: ! 22 May 2010 - H.O.T. Pye - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) :: ISOP_MW_kg ! kg C ISOP / mol C REAL(fp) :: LISOPNO3_MW_kg ! kg C LISOPONO3 / mol Ckg !================================================================= ! GET_ISOPNO3 begins here! !================================================================= IF ( Input_Opt%ITS_A_FULLCHEM_SIM ) THEN !-------------------- ! Coupled simulation !-------------------- ! Test if we are in the chemistry grid IF ( State_Met%InChemGrid(I,J,L) ) THEN ! Get ISOPNO3 (ISOP list to NO3) from State_Chm%Species%Conc ! [kg ISOPNO3] and convert to [kg C ISOP] ISOP_MW_kg = State_Chm%SpcData(id_ISOP)%Info%MW_g * 1.e-3_fp LISOPNO3_MW_kg = State_Chm%SpcData(id_LISOPNO3)%Info%MW_g * 1.e-3_fp ISOPNO3 = State_Chm%Species(id_LISOPNO3)%Conc(I,J,L) & * ( AVO / LISOPNO3_MW_kg ) & / ( AVO / ISOP_MW_kg ) ELSE ! Otherwise set ISOPNO3=0 ISOPNO3 = 0e+0_fp ENDIF ELSE IF ( Input_Opt%ITS_AN_AEROSOL_SIM ) THEN !-------------------- ! Offline simulation !-------------------- ! ISOP from NO3 not is yet supported for ! offline aerosol simulations, set DOH=0 ISOPNO3 = 0e+0_fp ELSE !-------------------- ! Invalid sim type! !-------------------- CALL ERROR_STOP( 'Invalid simulation type!', & 'GET_ISOPNO3 ("carbon_mod.F90")' ) ENDIF END FUNCTION GET_ISOPNO3 !EOC #ifdef TOMAS !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: sakamoto_size ! ! !DESCRIPTION: Function SAKAMOTO\_SIZE finds the peak and standard ! deviation of a lognormal distribution parameterized to fit the number ! size distribution of the fires in the gridbox 24 hours downwind ! of the current fires using K. M. Sakamoto's parameterization from her ! 2016 paper. Then uses these parameters to seperate the size distributions ! into lognormal bins. !\\ !\\ ! !INTERFACE: ! FUNCTION SAKAMOTO_SIZE( State_Chm, State_Grid, State_Met, FIRE_NUM, & OCPIBULKEMIS, BCPIBULKEMIS, & OCPOBULKEMIS, BCPOBULKEMIS, AREA) & RESULT ( VALUE ) ! ! !USES: ! USE TOMAS_MOD, ONLY : Xk USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TOMAS_MOD, ONLY : AVGMASS ! ! !INPUT PARAMETERS: ! TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object REAL(fp), INTENT(IN) :: FIRE_NUM(State_Grid%NX,State_Grid%NY) REAL(fp), INTENT(IN) :: OCPIBULKEMIS(State_Grid%NX,State_Grid%NY) ![kgm-2s-1] REAL(fp), INTENT(IN) :: BCPIBULKEMIS(State_Grid%NX,State_Grid%NY) ![kgm-2s-1] REAL(fp), INTENT(IN) :: OCPOBULKEMIS(State_Grid%NX,State_Grid%NY) ![kgm-2s-1] REAL(fp), INTENT(IN) :: BCPOBULKEMIS(State_Grid%NX,State_Grid%NY) ![kgm-2s-1] REAL(fp), INTENT(IN) :: AREA(State_Grid%NX,State_Grid%NY) ![m2] ! ! !RETURN VALUES: ! REAL(fp) :: VALUE(State_Grid%NX,State_Grid%NY,State_Chm%nTomasBins,4) ! ! !REVISION HISTORY: ! 01 Jan 2017 - E. Ramnarine - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, J, K REAL(fp) :: EMIS REAL(fp) :: W10M, PBLH REAL(fp) :: dM_dxdz REAL(fp) :: Dpm, sig REAL(fp) :: Dl, Dh, Dk REAL(fp) :: NUM_FRAC(State_Chm%nTomasBins) REAL(fp) :: MASS(State_Chm%nTomasBins) REAL(fp) :: MASS_FRAC(State_Chm%nTomasBins) REAL(fp), PARAMETER :: pi=3.14159 ! conditions REAL(fp), PARAMETER :: D_0=100.0 ![nm] doing 100, 150 with sig_0=2.0 REAL(fp), PARAMETER :: sig_0=2.0 !doing 1.6, 2.0 with D_0=100.0 REAL(fp), PARAMETER :: time= 720.0 !1440.0 ![min] !720 is for a time sensitivity ! constants from paper REAL(fp), PARAMETER :: A_d=84.58 REAL(fp), PARAMETER :: b_d=0.4191 REAL(fp), PARAMETER :: c_d=0.4870 REAL(fp), PARAMETER :: A_sig=0.2390 REAL(fp), PARAMETER :: b_sig=0.1889 REAL(fp), PARAMETER :: c_sig=0.3540 DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Kim's parameterization EMIS = (1.8 * (OCPIBULKEMIS(I,J) + OCPOBULKEMIS(I,J)) + & BCPIBULKEMIS(I,J) + BCPOBULKEMIS(I,J)) !total emissions [kgm-2s-1] IF ( EMIS == 0.0 ) THEN DO K = 1, State_Chm%nTomasBins VALUE(I,J,K,1) = 0.0 VALUE(I,J,K,2) = 0.0 VALUE(I,J,K,3) = 0.0 VALUE(I,J,K,4) = 0.0 ENDDO ELSE W10M = SQRT( State_Met%U10M(I,J)**2 & + State_Met%V10M(I,J)**2 ) * 60.0 ![m/min] PBLH = State_Met%PBLH(I,J) ![m] !avg emission per fire [kg/min] (note 320 is from regridding 0.25x0.25 to 4x5) EMIS = ( EMIS * AREA(I,J) * 60.0 ) / & ( max(1.0, FIRE_NUM(I,J) * 320.0) ) !no plume mixing case !EMIS = EMIS * AREA(I,J) * 60.0 !complete plume mixing case (no longer in use) dM_dxdz = EMIS / ( max(W10M, 2.0) * max(PBLH, 10.0) ) ![kgm-2] Dpm = D_0 + (A_D * (dM_dxdz)**b_D * (time)**c_D) sig = sig_0 +(A_sig * dM_dxdz**b_sig * time**c_sig * (1.2-sig_0)) sig = max(sig, 1.2) !Dpm = D_0 ! no coag case !sig = sig_0 !no coag case DO K = 1, State_Chm%nTomasBins ! splitting into size bins (seinfeld and pandis eq 8.54) !Calculate diameter of this size bin Dl=1.0e+9*((6.0*Xk(K))/(1400.0*3.14))**0.3333 Dh=1.0e+9*((6.0*Xk(K+1))/(1400.0*3.14))**0.3333 Dk=sqrt(Dl*Dh) !Calculate number fraction NUM_FRAC(K) = 1.0 / ( sqrt(2.0*pi)*Dk*log(sig) ) * & exp( -( (log(Dk/Dpm))**2.0 / & (2.0 * (log(sig))**2.0) )) & * (Dh - Dl) MASS(K) = NUM_FRAC(K) * AVGMASS(K) ENDDO DO K = 1, State_Chm%nTomasBins !Calculate mass fraction MASS_FRAC(K) = MASS(K) / SUM( MASS(:) ) VALUE(I,J,K,1) = BCPIBULKEMIS(I,J) * MASS_FRAC(K) VALUE(I,J,K,2) = BCPOBULKEMIS(I,J) * MASS_FRAC(K) VALUE(I,J,K,3) = 1.8 * OCPIBULKEMIS(I,J) * MASS_FRAC(K) VALUE(I,J,K,4) = 1.8 * OCPOBULKEMIS(I,J) * MASS_FRAC(K) ENDDO ENDIF ENDDO ENDDO END FUNCTION SAKAMOTO_SIZE !EOC #endif !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: init_carbon ! ! !DESCRIPTION: Subroutine INIT\_CARBON initializes all module arrays. ! (rjp, bmy, 4/1/04, 12/19/09) !\\ !\\ ! !INTERFACE: ! SUBROUTINE INIT_CARBON( Input_Opt, State_Chm, State_Diag, State_Grid, RC ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD, ONLY : ALLOC_ERR, ERROR_STOP USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : Ind_ USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REVISION HISTORY: ! 01 Apr 2004 - R. Park - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: AS, INDICES(4), YYYYMMDD, HHMMSS, N REAL(fp) :: COORDS(4), TAU !================================================================= ! INIT_CARBON begins here! !================================================================= ! Assume success RC = GC_SUCCESS ! Exit immediately if this is a dry-run IF ( Input_Opt%DryRun ) RETURN ! Define species IDs id_ASOG1 = IND_('ASOG1' ) id_ASOG2 = IND_('ASOG2' ) id_ASOG3 = IND_('ASOG3' ) id_ASOA1 = IND_('ASOA1' ) id_ASOA2 = IND_('ASOA2' ) id_ASOA3 = IND_('ASOA3' ) id_ASOAN = IND_('ASOAN' ) id_AW01 = IND_('AW01' ) id_BCPI = IND_('BCPI' ) id_BCPO = IND_('BCPO' ) id_BENZ = IND_('BENZ' ) id_ECIL01 = IND_('ECIL01' ) id_ECOB01 = IND_('ECOB01' ) id_HO2 = IND_('HO2' ) id_ISOP = IND_('ISOP' ) id_LIMO = IND_('LIMO' ) id_MTPA = IND_('MTPA' ) id_MTPO = IND_('MTPO' ) id_NAP = IND_('NAP' ) id_NK01 = IND_('NK01' ) id_NH4 = IND_('NH4' ) id_NO = IND_('NO' ) id_NO3 = IND_('NO3' ) id_OCIL01 = IND_('OCIL01' ) id_OCOB01 = IND_('OCOB01' ) id_O3 = IND_('O3' ) id_OH = IND_('OH' ) id_OCPO = IND_('OCPO' ) id_OCPI = IND_('OCPI' ) id_OPOA1 = IND_('OPOA1' ) id_OPOG1 = IND_('OPOG1' ) id_OPOA2 = IND_('OPOA2' ) id_OPOG2 = IND_('OPOG2' ) id_POA1 = IND_('POA1' ) id_POA2 = IND_('POA2' ) id_POG1 = IND_('POG1' ) id_POG2 = IND_('POG2' ) id_SOAP = IND_('SOAP' ) id_SOAS = IND_('SOAS' ) id_TOLU = IND_('TOLU' ) id_TSOA0 = IND_('TSOA0' ) id_TSOA1 = IND_('TSOA1' ) id_TSOA2 = IND_('TSOA2' ) id_TSOA3 = IND_('TSOA3' ) id_TSOG0 = IND_('TSOG0' ) id_TSOG1 = IND_('TSOG1' ) id_TSOG2 = IND_('TSOG2' ) id_TSOG3 = IND_('TSOG3' ) id_XYLE = IND_('XYLE ' ) id_LBRO2N = IND_('LBRO2N' ) id_LBRO2H = IND_('LBRO2H' ) id_LTRO2N = IND_('LTRO2N' ) id_LTRO2H = IND_('LTRO2H' ) id_LXRO2N = IND_('LXRO2N' ) id_LXRO2H = IND_('LXRO2H' ) id_LNRO2N = IND_('LNRO2N' ) id_LNRO2H = IND_('LNRO2H' ) id_LISOPOH = IND_('LISOPOH' ) id_LISOPNO3 = IND_('LISOPNO3') ! Some parent hydrocarbons are lumped together into 1 or more ! semivolatiles. Map the parent HC to lumped semivolatiles here ! (hotp 5/13/10) ! mono + sesq IDSV(PARENTMTPA) = 1 IDSV(PARENTLIMO) = 1 IDSV(PARENTMTPO) = 1 IDSV(PARENTSESQ) = 1 ! isoprene IDSV(PARENTISOP) = 2 ! Lumped arom/IVOC IDSV(PARENTBENZ) = 3 IDSV(PARENTTOLU) = 3 IDSV(PARENTXYLE) = 3 IDSV(PARENTNAP ) = 3 ! More individuals IDSV(PARENTPOA ) = 4 IDSV(PARENTOPOA) = 5 ! Define number of products per semivolatile (hotp 5/14/10) NPROD(IDSV(PARENTMTPA)) = 4 ! 3 add C*=0.1 product (hotp 6/12/10) NPROD(IDSV(PARENTISOP)) = 3 NPROD(IDSV(PARENTBENZ)) = 4 NPROD(IDSV(PARENTPOA )) = 2 NPROD(IDSV(PARENTOPOA)) = 2 ! Check to make sure NPROD doesn't exceed max IF ( MAXVAL(NPROD(:)) > MPROD ) THEN CALL ERROR_STOP('Too many PRODs per SV','carbon_mod.F90') ENDIF ! Define number of NOx/Ox conditions per semivolatile ! (hotp 5/14/10) NNOX(IDSV(PARENTMTPA)) = 3 ! high NOx, low NOx, NO3 NNOX(IDSV(PARENTISOP)) = 2 ! low NOx, NO3 NNOX(IDSV(PARENTBENZ)) = 2 ! high NOx, low NOx NNOX(IDSV(PARENTPOA )) = 1 ! just OH NNOX(IDSV(PARENTOPOA)) = 1 ! just OH ! Check to make sure NNOx doesn't exceed max IF ( MAXVAL(NNOX(:)) > MNOX ) THEN CALL ERROR_STOP('Too many NOx levels','carbon_mod.F90') ENDIF ALLOCATE( BCCONV(State_Grid%NX,State_Grid%NY,State_Grid%NZ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'BCCONV' ) BCCONV = 0e+0_fp ALLOCATE( OCCONV(State_Grid%NX,State_Grid%NY,State_Grid%NZ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'OCCONV' ) OCCONV = 0e+0_fp ! semivolpoa2: for POA emissions (hotp 2/27/09) ! Store POG1 and POG2 separately (mps, 1/14/16) ALLOCATE( POAEMISS(State_Grid%NX,State_Grid%NY,State_Grid%NZ,2),STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'POAEMISS' ) POAEMISS = 0e+0_fp #ifdef APM ALLOCATE( BCCONVNEW(State_Grid%NX,State_Grid%NY,State_Grid%NZ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'BCCONVNEW' ) BCCONVNEW = 0e+0_fp ALLOCATE( OCCONVNEW(State_Grid%NX,State_Grid%NY,State_Grid%NZ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'OCCONVNEW' ) OCCONVNEW = 0e+0_fp #endif ! JKODROS #ifdef TOMAS !SFARINA the next six are introduced with the idea that ! emisscarbontomas needs to be restructured and these ! data structures eliminated ALLOCATE( BCFF(State_Grid%NX,State_Grid%NY,State_Chm%nTomasBins,2), STAT=AS) IF ( AS /= 0 ) CALL ALLOC_ERR( 'BCFF' ) BCFF = 0e+0_fp ALLOCATE( OCFF(State_Grid%NX,State_Grid%NY,State_Chm%nTomasBins,2), STAT=AS) IF ( AS /= 0 ) CALL ALLOC_ERR( 'OCFF' ) OCFF = 0e+0_fp ALLOCATE( BCBF(State_Grid%NX,State_Grid%NY,State_Chm%nTomasBins,2), STAT=AS) IF ( AS /= 0 ) CALL ALLOC_ERR( 'BCBF' ) BCBF = 0e+0_fp ALLOCATE( OCBF(State_Grid%NX,State_Grid%NY,State_Chm%nTomasBins,2), STAT=AS) IF ( AS /= 0 ) CALL ALLOC_ERR( 'OCBF' ) OCBF = 0e+0_fp ALLOCATE( BCBB(State_Grid%NX,State_Grid%NY,State_Chm%nTomasBins,2), STAT=AS) IF ( AS /= 0 ) CALL ALLOC_ERR( 'BCBB' ) BCBB = 0e+0_fp ALLOCATE( OCBB(State_Grid%NX,State_Grid%NY,State_Chm%nTomasBins,2), STAT=AS) IF ( AS /= 0 ) CALL ALLOC_ERR( 'OCBB' ) OCBB = 0e+0_fp ! BC ALLOCATE( BCPI_ANTH_BULK(State_Grid%NX,State_Grid%NY), STAT=AS) IF ( AS /= 0 ) CALL ALLOC_ERR( 'BCPI_ANTH_BULK' ) BCPI_ANTH_BULK = 0e+0_fp ALLOCATE( BCPO_ANTH_BULK(State_Grid%NX,State_Grid%NY), STAT=AS) IF ( AS /= 0 ) CALL ALLOC_ERR( 'BCPO_ANTH_BULK' ) BCPO_ANTH_BULK = 0e+0_fp ALLOCATE( BCPI_BIOB_BULK(State_Grid%NX,State_Grid%NY), STAT=AS) IF ( AS /= 0 ) CALL ALLOC_ERR( 'BCPI_BIOB_BULK' ) BCPI_BIOB_BULK = 0e+0_fp ALLOCATE( BCPO_BIOB_BULK(State_Grid%NX,State_Grid%NY), STAT=AS) IF ( AS /= 0 ) CALL ALLOC_ERR( 'BCPO_BIOB_BULK' ) BCPO_BIOB_BULK = 0e+0_fp ! OC ---------------- ALLOCATE( OCPI_ANTH_BULK(State_Grid%NX,State_Grid%NY), STAT=AS) IF ( AS /= 0 ) CALL ALLOC_ERR( 'OCPI_ANTH_BULK' ) OCPI_ANTH_BULK = 0e+0_fp ALLOCATE( OCPO_ANTH_BULK(State_Grid%NX,State_Grid%NY), STAT=AS) IF ( AS /= 0 ) CALL ALLOC_ERR( 'OCPO_ANTH_BULK' ) OCPO_ANTH_BULK = 0e+0_fp ALLOCATE( OCPI_BIOB_BULK(State_Grid%NX,State_Grid%NY), STAT=AS) IF ( AS /= 0 ) CALL ALLOC_ERR( 'OCPI_BIOB_BULK' ) OCPI_BIOB_BULK = 0e+0_fp ALLOCATE( OCPO_BIOB_BULK(State_Grid%NX,State_Grid%NY), STAT=AS) IF ( AS /= 0 ) CALL ALLOC_ERR( 'OCPO_BIOB_BULK' ) OCPO_BIOB_BULK = 0e+0_fp !biogenic ALLOCATE( TERP_ORGC(State_Grid%NX,State_Grid%NY), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'TERP_ORGC' ) TERP_ORGC = 0e+0_fp ! CO anth for scaling xtraSOA ALLOCATE( CO_ANTH(State_Grid%NX,State_Grid%NY), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'CO_ANTH' ) CO_ANTH = 0e+0_fp #endif !================================================================= ! SOA arrays only have to be allocated if LSOA = T !================================================================= IF ( Input_Opt%LSOA ) THEN ALLOCATE( TCOSZ(State_Grid%NX,State_Grid%NY), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'TCOSZ' ) TCOSZ = 0e+0_fp ! diagnostic (dkh, 11/11/06) ! increase last dimension by 1 to add NAP (hotp 7/22/09) ALLOCATE( GLOB_DARO2(State_Grid%NX,State_Grid%NY,State_Grid%NZ,2,4), & STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'GLOB_DARO2' ) GLOB_DARO2 = 0e+0_fp ! semivolpoa4: diagnostic (hotp 3/27/09) ALLOCATE( GLOB_POGRXN(State_Grid%NX,State_Grid%NY,State_Grid%NZ,2 ), & STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'GLOB_POGRXN' ) GLOB_POGRXN = 0e+0_fp ! Initial OA+OG diagnostic (hotp 5/17/10) ALLOCATE( OAGINITSAVE(State_Grid%NX,State_Grid%NY,State_Grid%NZ,MPROD,MSV), & STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'OAGINITSAVE' ) OAGINITSAVE = 0e+0_fp ! Change in OA+OG diagnostic (hotp 5/17/10) ALLOCATE( DELTASOGSAVE(State_Grid%NX,State_Grid%NY,State_Grid%NZ,MNOX,MHC), & STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'DELTASOGSAVE' ) DELTASOGSAVE = 0e+0_fp ! Diagnostic for NO branching ratio (hotp 5/24/10) ALLOCATE( BETANOSAVE(State_Grid%NX,State_Grid%NY,State_Grid%NZ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'BETANOSAVE' ) BETANOSAVE = 0e+0_fp ! Diagnostic (hotp 6/5/10) ALLOCATE( SPECSOAPROD(State_Grid%NX,State_Grid%NY,State_Grid%NZ,MPROD,MSV), & STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'SPECSOAPROD' ) SPECSOAPROD = 0e+0_fp ! Diagnostic (hotp 6/5/10) ALLOCATE( SPECSOAEVAP(State_Grid%NX,State_Grid%NY,State_Grid%NZ,MPROD,MSV), & STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'SPECSOAEVAP' ) SPECSOAEVAP = 0e+0_fp IF ( Input_Opt%ITS_AN_AEROSOL_SIM ) THEN ! Offline global OH ALLOCATE( OFFLINE_OH(State_Grid%NX,State_Grid%NY,State_Grid%NZ), & STAT=AS) IF ( AS /= 0 ) CALL ALLOC_ERR( 'OFFLINE_OH' ) OFFLINE_OH = 0e+0_fp ! Offline global O3 ALLOCATE( OFFLINE_O3(State_Grid%NX,State_Grid%NY,State_Grid%NZ), & STAT=AS) IF ( AS /= 0 ) CALL ALLOC_ERR( 'OFFLINE_O3' ) OFFLINE_O3 = 0e+0_fp ! Offline global NO3 ALLOCATE( OFFLINE_NO3(State_Grid%NX,State_Grid%NY,State_Grid%NZ), & STAT=AS) IF ( AS /= 0 ) CALL ALLOC_ERR( 'OFFLINE_NO3' ) OFFLINE_NO3 = 0e+0_fp ENDIF ENDIF END SUBROUTINE INIT_CARBON !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: cleanup_carbon ! ! !DESCRIPTION: Subroutine CLEANUP\_CARBON deallocates all module arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CLEANUP_CARBON() ! ! !REVISION HISTORY: ! 01 Apr 2004 - R. Park - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC !================================================================= ! CLEANUP_CARBON begins here! !================================================================= IF ( ALLOCATED( BCCONV ) ) DEALLOCATE( BCCONV ) IF ( ALLOCATED( OCCONV ) ) DEALLOCATE( OCCONV ) IF ( ALLOCATED( TCOSZ ) ) DEALLOCATE( TCOSZ ) IF ( ALLOCATED( GLOB_DARO2 ) ) DEALLOCATE( GLOB_DARO2 ) IF ( ALLOCATED( POAEMISS ) ) DEALLOCATE( POAEMISS ) IF ( ALLOCATED( GLOB_POGRXN ) ) DEALLOCATE( GLOB_POGRXN ) IF ( ALLOCATED( OAGINITSAVE ) ) DEALLOCATE( OAGINITSAVE ) IF ( ALLOCATED( DELTASOGSAVE ) ) DEALLOCATE( DELTASOGSAVE ) IF ( ALLOCATED( BETANOSAVE ) ) DEALLOCATE( BETANOSAVE ) IF ( ALLOCATED( SPECSOAPROD ) ) DEALLOCATE( SPECSOAPROD ) IF ( ALLOCATED( SPECSOAEVAP ) ) DEALLOCATE( SPECSOAEVAP ) IF ( ALLOCATED( OFFLINE_OH ) ) DEALLOCATE( OFFLINE_OH ) IF ( ALLOCATED( OFFLINE_O3 ) ) DEALLOCATE( OFFLINE_O3 ) IF ( ALLOCATED( OFFLINE_NO3 ) ) DEALLOCATE( OFFLINE_NO3 ) #ifdef APM IF ( ALLOCATED( BCCONVNEW ) ) DEALLOCATE( BCCONVNEW ) IF ( ALLOCATED( OCCONVNEW ) ) DEALLOCATE( OCCONVNEW ) #endif #ifdef TOMAS IF ( ALLOCATED( BCFF )) DEALLOCATE( BCFF ) IF ( ALLOCATED( OCFF )) DEALLOCATE( OCFF ) IF ( ALLOCATED( BCBF )) DEALLOCATE( BCBF ) IF ( ALLOCATED( OCBF )) DEALLOCATE( OCBF ) IF ( ALLOCATED( BCBB )) DEALLOCATE( BCBB ) IF ( ALLOCATED( OCBB )) DEALLOCATE( OCBB ) IF ( ALLOCATED( BCPI_ANTH_BULK )) DEALLOCATE( BCPI_ANTH_BULK) IF ( ALLOCATED( BCPO_ANTH_BULK )) DEALLOCATE( BCPO_ANTH_BULK) IF ( ALLOCATED( BCPI_BIOB_BULK )) DEALLOCATE( BCPI_BIOB_BULK) IF ( ALLOCATED( BCPO_BIOB_BULK )) DEALLOCATE( BCPO_BIOB_BULK) IF ( ALLOCATED( OCPI_ANTH_BULK )) DEALLOCATE( OCPI_ANTH_BULK) IF ( ALLOCATED( OCPO_ANTH_BULK )) DEALLOCATE( OCPO_ANTH_BULK) IF ( ALLOCATED( OCPI_BIOB_BULK )) DEALLOCATE( OCPI_BIOB_BULK) IF ( ALLOCATED( OCPO_BIOB_BULK )) DEALLOCATE( OCPO_BIOB_BULK) IF ( ALLOCATED( TERP_ORGC )) DEALLOCATE( TERP_ORGC ) IF ( ALLOCATED( CO_ANTH )) DEALLOCATE( CO_ANTH ) #endif END SUBROUTINE CLEANUP_CARBON !EOC #ifdef APM !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: chem_bcponew ! ! !DESCRIPTION: Subroutine CHEM\_BCPONEW converts hydrophobic BC to hydrophilic ! BC and calculates the dry deposition of hydrophobic BC. Modified for ! APM simulation. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CHEM_BCPONEW( Input_Opt, State_Grid, TC, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState USE APM_INIT_MOD, ONLY : APMIDS USE TIME_MOD, ONLY : GET_TS_CHEM ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options TYPE(GrdState), INTENT(IN) :: State_grid ! Grid State ! ! !INPUT/OUTPUT PARAMETERS: ! ! H-phobic BC [kg] REAL(fp), INTENT(INOUT) :: TC(State_Grid%NX,State_Grid%NY,State_Grid%NZ) ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success? ! ! !REVISION HISTORY: ! 16 Feb 2011 - R. Yantosca - Initial version, from G. Luo ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: LNLPBL INTEGER :: I, J, L, N_TRACERS REAL(fp) :: DTCHEM, KBC, FREQ REAL(fp) :: TC0, CNEW, RKT, BL_FRAC ! ! !DEFINED PARAMETERS: ! REAL(fp), PARAMETER :: BC_LIFE = 1.15D0 !================================================================= ! CHEM_BCPONEW begins here! !================================================================= ! Return if BCPO isn't defined IF ( id_BCPO == 0 ) RETURN ! Assume success RC = GC_SUCCESS ! Initialize KBC = 1.0e+0_fp / ( 86400e+0_fp * BC_LIFE ) DTCHEM = GET_TS_CHEM() ! Zero BCPO -> BCPI conversion array BCCONVNEW = 0e+0_fp !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, TC0, FREQ, BL_FRAC, RKT, CNEW ) & !$OMP SCHEDULE( DYNAMIC ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Initial BC mass [kg] TC0 = TC(I,J,L) ! Zero drydep freq FREQ = 0e+0_fp ! Amount of BCPO left after chemistry and drydep [kg] RKT = ( KBC + FREQ ) * DTCHEM CNEW = TC0 * EXP( -RKT ) ! Prevent underflow condition IF ( CNEW < SMALLNUM ) CNEW = 0e+0_fp ! Amount of BCPO converted to BCPI [kg/timestep] BCCONVNEW(I,J,L) = ( TC0 - CNEW ) * KBC / ( KBC + FREQ ) ! Store new concentration back into tracer array TC(I,J,L) = CNEW ENDDO ENDDO ENDDO !$OMP END PARALLEL DO END SUBROUTINE CHEM_BCPONEW !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: chem_bcpinew ! ! !DESCRIPTION: Subroutine CHEM\_BCPINEW calculates dry deposition of ! hydrophilic BC. Modified for APM simulation. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CHEM_BCPINEW( Input_Opt, State_Grid, TC, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState USE APM_INIT_MOD, ONLY : APMIDS USE TIME_MOD, ONLY : GET_TS_CHEM ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State ! ! !INPUT/OUTPUT PARAMETERS: ! ! H-philic BC [kg] REAL(fp), INTENT(INOUT) :: TC(State_Grid%NX,State_Grid%NY,State_Grid%NZ) ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 16 Feb 2011 - R. Yantosca - Initial version, from G. Luo ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: LNLPBL INTEGER :: I, J, L, N_TRACERS REAL(fp) :: DTCHEM, BL_FRAC REAL(fp) :: TC0, CNEW, CCV, FREQ !================================================================= ! CHEM_BCPINEW begins here! !================================================================= ! Return if BCPI isn't defined IF ( id_BCPI == 0 ) RETURN ! Assume success RC = GC_SUCCESS ! Chemistry timestep [s] DTCHEM = GET_TS_CHEM() !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, TC0, CCV, FREQ, BL_FRAC, CNEW ) & !$OMP SCHEDULE( DYNAMIC ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Initial H-philic BC [kg] TC0 = TC(I,J,L) ! H-philic BC that used to be H-phobic BC [kg] CCV = BCCONVNEW(I,J,L) ! Otherwise, omit the exponential to save on clock cycles CNEW = TC0 + CCV ! Prevent underflow condition IF ( CNEW < SMALLNUM ) CNEW = 0e+0_fp ! Save new concentration of H-philic IC in tracer array TC(I,J,L) = CNEW ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ! Zero BCPO -> BCPI conversion array BCCONVNEW = 0e+0_fp END SUBROUTINE CHEM_BCPINEW !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: chem_ocponew ! ! !DESCRIPTION: Subroutine CHEM\_OCPONEW converts hydrophobic OC to hydrophilic ! OC and calculates the dry deposition of hydrophobic OC. Modified for APM ! simulation. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CHEM_OCPONEW( Input_Opt, State_Grid, TC, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState USE APM_INIT_MOD, ONLY : APMIDS USE TIME_MOD, ONLY : GET_TS_CHEM ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State ! ! !INPUT/OUTPUT PARAMETERS: ! ! H-phobic OC [kg] REAL(fp), INTENT(INOUT) :: TC(State_Grid%NX,State_Grid%NY,State_Grid%NZ) ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 16 Feb 2011 - R. Yantosca - Initial version, from G. Luo ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: LNLPBL INTEGER :: I, J, L, N_TRACERS REAL(fp) :: DTCHEM, KOC, BL_FRAC REAL(fp) :: TC0, FREQ, CNEW, RKT ! ! !DEFINED PARAMETERS: ! REAL(fp), PARAMETER :: OC_LIFE = 1.15e+0_fp !================================================================= ! CHEM_OCPONEW begins here! !================================================================= ! Return if OCPO isn't defined IF ( MAX(id_OCPO,id_POA1) == 0 ) RETURN ! Assume success RC = GC_SUCCESS ! Initialize KOC = 1.0e+0_fp / ( 86400e+0_fp * OC_LIFE ) DTCHEM = GET_TS_CHEM() ! Zero OCPO -> OCPI conversion array OCCONVNEW = 0e+0_fp !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, TC0, FREQ, BL_FRAC, RKT, CNEW ) & !$OMP SCHEDULE( DYNAMIC ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Initial OC [kg] TC0 = TC(I,J,L) ! Zero drydep freq FREQ = 0e+0_fp ! Amount of OCPO left after chemistry and drydep [kg] RKT = ( KOC + FREQ ) * DTCHEM CNEW = TC0 * EXP( -RKT ) ! Prevent underflow condition IF ( CNEW < SMALLNUM ) CNEW = 0e+0_fp ! Amount of OCPO converted to OCPI [kg/timestep] OCCONVNEW(I,J,L) = ( TC0 - CNEW ) * KOC / ( KOC + FREQ ) ! Store modified OC concentration back in tracer array TC(I,J,L) = CNEW ENDDO ENDDO ENDDO !$OMP END PARALLEL DO END SUBROUTINE CHEM_OCPONEW !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: chem_ocpinew ! ! !DESCRIPTION: Subroutine CHEM\_OCPINEW calculates dry deposition of ! hydrophilic OC. Modified for APM simulation. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CHEM_OCPINEW( Input_Opt, State_Grid, TC, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState USE APM_INIT_MOD, ONLY : APMIDS USE TIME_MOD, ONLY : GET_TS_CHEM ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State ! ! !INPUT/OUTPUT PARAMETERS: ! ! H-philic OC [kg] REAL(fp), INTENT(INOUT) :: TC(State_Grid%NX,State_Grid%NY,State_Grid%NZ) ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 16 Feb 2011 - R. Yantosca - Initial version, from G. Luo ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: LNLPBL INTEGER :: I, J, L, N_TRACERS REAL(fp) :: DTCHEM, BL_FRAC REAL(fp) :: TC0, CNEW, CCV, FREQ !================================================================= ! CHEM_OCPINEW begins here! !================================================================= ! Return if OCPI isn't defined IF ( MAX(id_OCPI,id_POA1) == 0 ) RETURN ! Assume success RC = GC_SUCCESS ! Chemistry timestep [s] DTCHEM = GET_TS_CHEM() !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, TC0, CCV, BL_FRAC, FREQ, CNEW ) & !$OMP SCHEDULE( DYNAMIC ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Initial H-philic OC [kg] TC0 = TC(I,J,L) ! H-philic OC that used to be H-phobic OC [kg] CCV = OCCONVNEW(I,J,L) CNEW = TC0 + CCV ! Prevent underflow condition IF ( CNEW < SMALLNUM ) CNEW = 0e+0_fp ! Store modified concentration back in tracer array [kg] TC(I,J,L) = CNEW ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ! Zero OCPO -> OCPI conversion array OCCONVNEW = 0e+0_fp END SUBROUTINE CHEM_OCPINEW !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: bcdry_settlingbin ! ! !DESCRIPTION: Subroutine DRY\_SETTLINGBIN computes the dry settling of ! aerosol tracers. Modified for APM simulation. (G. Luo) !\\ !\\ ! !INTERFACE: ! SUBROUTINE BCDRY_SETTLINGBIN( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Diag_Mod, ONLY : DgnState USE State_Met_Mod, ONLY : MetState USE PRESSURE_MOD, ONLY : GET_PCENTER USE TIME_MOD, ONLY : GET_TS_CHEM USE APM_INIT_MOD, ONLY : APMIDS USE APM_INIT_MOD, ONLY : NCTBC,NBCOC USE APM_INIT_MOD, ONLY : RBCOC, DENBC ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 16 Feb 2011 - R. Yantosca - Initial version, from G. Luo ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Local variables INTEGER :: I, J, L, N, K INTEGER :: IDTEMP REAL(fp) :: DT_SETTL, DELZ, DELZ1 REAL(fp) :: REFF, DEN, CONST REAL(fp) :: NUM, LAMDA, FLUX REAL(fp) :: AREA_CM2, TC0(State_Grid%NZ) REAL(fp) :: TOT1, TOT2 ! Pressure in Kpa 1 mb = 100 pa = 0.1 kPa REAL(fp) :: P ! Diameter of aerosol [um] REAL(fp) :: Dp ! Pressure * DP REAL(fp) :: PDp ! Temperature (K) REAL(fp) :: TEMP ! Slip correction factor REAL(fp) :: Slip ! Viscosity of air (Pa s) REAL(fp) :: Visc ! Settling velocity of particle (m/s) REAL(fp) :: VTS(State_Grid%NZ) REAL(fp) :: MASS(State_Grid%NZ) REAL(fp) :: OLD(State_Grid%NZ,NCTBC) ! Make a pointer to the tracer array TYPE(SpcConc), POINTER :: Spc(:) !================================================================= ! DRY_SETTLINGBIN begins here! !================================================================= ! Assume success RC = GC_SUCCESS ! Point to chemical species vector containing concentrations Spc => State_Chm%species ! Aerosol settling timestep [s] DT_SETTL = GET_TS_CHEM() IDTEMP = APMIDS%id_BCBIN1+NBCOC-1 !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, N, K, DEN, REFF, DP ) & !$OMP PRIVATE( CONST, VTS, TEMP, P, PDP, SLIP ) & !$OMP PRIVATE( MASS, OLD, VISC, TC0, DELZ, DELZ1 ) & !$OMP SCHEDULE( DYNAMIC ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Zero private loop variables CONST = 0.0_fp DELZ = 0.0_fp DELZ1 = 0.0_fp DEN = 0.0_fp DP = 0.0_fp MASS = 0.0_fp OLD = 0.0_fp P = 0.0_fp PDP = 0.0_fp REFF = 0.0_fp SLIP = 0.0_fp TEMP = 0.0_fp TC0 = 0.0_fp VISC = 0.0_fp VTS = 0.0_fp DO L = 1, State_Grid%NZ DO N = APMIDS%id_BCBIN1, IDTEMP MASS(L) = Spc(N)%Conc(I,J,L) ENDDO DO K = 1, NCTBC OLD(L,K) = Spc(APMIDS%id_CTBC+K-1)%Conc(I,J,L) Spc(APMIDS%id_CTBC+K-1)%Conc(I,J,L) = 0.e+0_fp ENDDO ENDDO ! Loop over aerosol bins DO N = 1, NBCOC DO L = 1, State_Grid%NZ TC0(L) = Spc(APMIDS%id_BCBIN1+N-1)%Conc(I,J,L) IF(TC0(L)>1.e-30_fp)THEN ! Initialize DEN = DENBC REFF = RBCOC(N) DP = 2e+0_fp * REFF * 1.e+6_fp ! Dp [um] = particle diameter CONST = 2e+0_fp * DEN * REFF**2 * G0 / 9e+0_fp ! Get P [kPa], T [K], and P*DP P = GET_PCENTER(I,J,L) * 0.1e+0_fp TEMP = State_Met%T(I,J,L) PDP = P * DP ! Slip correction factor as function of (P*dp) SLIP = 1e+0_fp + ( 15.60e0 + 7.0e0 * EXP(-0.059e0*PDP) ) / PDP ! Viscosity [Pa s] of air as a function of temp (K) VISC = 1.458e-6 * (TEMP)**(1.5e0) / ( TEMP + 110.4e0 ) ! Settling velocity [m/s] VTS(L) = CONST * SLIP / VISC ELSE VTS(L) = 0.e+0_fp ENDIF ENDDO ! Method is to solve bidiagonal matrix ! which is implicit and first order accurate in Z L = State_Grid%NZ IF(MASS(L)>1.e-30)THEN DELZ = State_Met%BXHEIGHT(I,J,L) Spc(APMIDS%id_BCBIN1+N-1)%Conc(I,J,L) = & Spc(APMIDS%id_BCBIN1+N-1)%Conc(I,J,L) / & ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) DO K = 1, NCTBC Spc(APMIDS%id_CTBC+K-1)%Conc(I,J,L) = & Spc(APMIDS%id_CTBC+K-1)%Conc(I,J,L)+ & OLD(L,K)*TC0(L)/MASS(L) / & ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) ENDDO ENDIF DO L = State_Grid%NZ-1, 1, -1 IF((MASS(L)*MASS(L+1))>1.e-30)THEN DELZ = State_Met%BXHEIGHT(I,J,L) DELZ1 = State_Met%BXHEIGHT(I,J,L+1) Spc(APMIDS%id_BCBIN1+N-1)%Conc(I,J,L) = 1.e+0_fp / & ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) & * (Spc(APMIDS%id_BCBIN1+N-1)%Conc(I,J,L) & + DT_SETTL * VTS(L+1) / DELZ1 & * TC0(L+1) ) DO K = 1, NCTBC Spc(APMIDS%id_CTBC+K-1)%Conc(I,J,L) = & Spc(APMIDS%id_CTBC+K-1)%Conc(I,J,L)+ & 1.e+0_fp / & ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) & * (OLD(L,K)*TC0(L)/MASS(L) & + DT_SETTL * VTS(L+1) / DELZ1 & * OLD(L+1,K)*TC0(L+1)/MASS(L+1) ) ENDDO ELSE IF(MASS(L)>1.e-30)THEN DELZ = State_Met%BXHEIGHT(I,J,L) DELZ1 = State_Met%BXHEIGHT(I,J,L+1) Spc(APMIDS%id_BCBIN1+N-1)%Conc(I,J,L) = 1.e+0_fp / & ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) & * (Spc(APMIDS%id_BCBIN1+N-1)%Conc(I,J,L) & + DT_SETTL * VTS(L+1) / DELZ1 & * TC0(L+1) ) DO K = 1, NCTBC Spc(APMIDS%id_CTBC+K-1)%Conc(I,J,L) = & Spc(APMIDS%id_CTBC+K-1)%Conc(I,J,L)+ & 1.e+0_fp / & ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) & * OLD(L,K)*TC0(L)/MASS(L) ENDDO ELSE IF(MASS(L+1)>1.e-30)THEN DELZ = State_Met%BXHEIGHT(I,J,L) DELZ1 = State_Met%BXHEIGHT(I,J,L+1) Spc(APMIDS%id_BCBIN1+N-1)%Conc(I,J,L) = 1.e+0_fp / & ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) & * (Spc(APMIDS%id_BCBIN1+N-1)%Conc(I,J,L) & + DT_SETTL * VTS(L+1) / DELZ1 & * TC0(L+1) ) DO K = 1, NCTBC Spc(APMIDS%id_CTBC+K-1)%Conc(I,J,L) = & Spc(APMIDS%id_CTBC+K-1)%Conc(I,J,L)+ & 1.e+0_fp / & ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) & * DT_SETTL * VTS(L+1) / DELZ1 & * OLD(L+1,K)*TC0(L+1)/MASS(L+1) ENDDO ENDIF ENDDO ENDDO DO L = 1, State_Grid%NZ DO K = 1, NCTBC Spc(APMIDS%id_CTBC+K-1)%Conc(I,J,L) = & MAX(1.d-30,Spc(APMIDS%id_CTBC+K-1)%Conc(I,J,L)) ENDDO ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ! Clear the pointer NULLIFY( Spc ) END SUBROUTINE BCDRY_SETTLINGBIN !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ocdry_settlingbin ! ! !DESCRIPTION: Subroutine DRY\_SETTLINGBIN computes the dry settling of ! aerosol tracers. Modified for APM simulation. (G. Luo) !\\ !\\ ! !INTERFACE: ! SUBROUTINE OCDRY_SETTLINGBIN( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Diag_Mod, ONLY : DgnState USE State_Met_Mod, ONLY : MetState USE PRESSURE_MOD, ONLY : GET_PCENTER USE TIME_MOD, ONLY : GET_TS_CHEM USE APM_INIT_MOD, ONLY : APMIDS USE APM_INIT_MOD, ONLY : NCTOC,NBCOC USE APM_INIT_MOD, ONLY : RBCOC, DENOC ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 16 Feb 2011 - R. Yantosca - Initial version, from G. Luo ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Local variables INTEGER :: I, J, L, N, K INTEGER :: IDTEMP REAL(fp) :: DT_SETTL, DELZ, DELZ1 REAL(fp) :: REFF, DEN, CONST REAL(fp) :: NUM, LAMDA, FLUX REAL(fp) :: AREA_CM2, TC0(State_Grid%NZ) REAL(fp) :: TOT1, TOT2 ! Pressure in Kpa 1 mb = 100 pa = 0.1 kPa REAL(fp) :: P ! Diameter of aerosol [um] REAL(fp) :: Dp ! Pressure * DP REAL(fp) :: PDp ! Temperature (K) REAL(fp) :: TEMP ! Slip correction factor REAL(fp) :: Slip ! Viscosity of air (Pa s) REAL(fp) :: Visc ! Settling velocity of particle (m/s) REAL(fp) :: VTS(State_Grid%NZ) REAL(fp) :: MASS(State_Grid%NZ) REAL(fp) :: OLD(State_Grid%NZ,NCTOC) ! Make a pointer to the tracer array TYPE(SpcConc), POINTER :: Spc(:) !================================================================= ! DRY_SETTLINGBIN begins here! !================================================================= ! Assume success RC = GC_SUCCESS ! Point to chemical species vector containing concentrations Spc => State_Chm%Species ! Aerosol settling timestep [s] DT_SETTL = GET_TS_CHEM() IDTEMP = APMIDS%id_OCBIN1+NBCOC-1 !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, N, K, DEN, REFF, DP ) & !$OMP PRIVATE( CONST, VTS, TEMP, P, PDP, SLIP ) & !$OMP PRIVATE( MASS, OLD, VISC, TC0, DELZ, DELZ1 ) & !$OMP SCHEDULE( DYNAMIC ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Zero private loop variables CONST = 0.0_fp DELZ = 0.0_fp DELZ1 = 0.0_fp DEN = 0.0_fp DP = 0.0_fp MASS = 0.0_fp OLD = 0.0_fp P = 0.0_fp PDP = 0.0_fp REFF = 0.0_fp SLIP = 0.0_fp TEMP = 0.0_fp TC0 = 0.0_fp VISC = 0.0_fp VTS = 0.0_fp DO L = 1, State_Grid%NZ DO N = APMIDS%id_OCBIN1, IDTEMP MASS(L) = MASS(L) + Spc(N)%Conc(I,J,L) ENDDO DO K = 1, NCTOC OLD(L,K) = Spc(APMIDS%id_CTOC+K-1)%Conc(I,J,L) Spc(APMIDS%id_CTOC+K-1)%Conc(I,J,L) = 0.e+0_fp ENDDO ENDDO ! Loop over aerosol bins DO N = 1, NBCOC DO L = 1, State_Grid%NZ TC0(L) = Spc(APMIDS%id_OCBIN1+N-1)%Conc(I,J,L) IF(TC0(L)>1.e-30)THEN ! Initialize DEN = DENOC REFF = RBCOC(N) DP = 2e+0_fp * REFF * 1.e+6_fp ! Dp [um] = particle diameter CONST = 2e+0_fp * DEN * REFF**2 * G0 / 9e+0_fp ! Get P [kPa], T [K], and P*DP P = GET_PCENTER(I,J,L) * 0.1e+0_fp TEMP = State_Met%T(I,J,L) PDP = P * DP ! Slip correction factor as function of (P*dp) SLIP = 1e+0_fp + ( 15.60e0 + 7.0e0 * EXP(-0.059e0*PDP) ) / PDP ! Viscosity [Pa s] of air as a function of temp (K) VISC = 1.458e-6 * (TEMP)**(1.5e0) / ( TEMP + 110.4e0 ) ! Settling velocity [m/s] VTS(L) = CONST * SLIP / VISC ELSE VTS(L) = 0.e+0_fp ENDIF ENDDO ! L ! Method is to solve bidiagonal matrix ! which is implicit and first order accurate in Z L = State_Grid%NZ IF(MASS(L)>1.e-30)THEN DELZ = State_Met%BXHEIGHT(I,J,L) Spc(APMIDS%id_OCBIN1+N-1)%Conc(I,J,L) = & Spc(APMIDS%id_OCBIN1+N-1)%Conc(I,J,L) / & ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) DO K = 1, NCTOC Spc(APMIDS%id_CTOC+K-1)%Conc(I,J,L) = & Spc(APMIDS%id_CTOC+K-1)%Conc(I,J,L)+ & OLD(L,K)*TC0(L)/MASS(L) / & ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) ENDDO ENDIF DO L = State_Grid%NZ-1, 1, -1 IF((MASS(L)*MASS(L+1))>1.e-30)THEN DELZ = State_Met%BXHEIGHT(I,J,L) DELZ1 = State_Met%BXHEIGHT(I,J,L+1) Spc(APMIDS%id_OCBIN1+N-1)%Conc(I,J,L) = 1.e+0_fp / & ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) & * (Spc(APMIDS%id_OCBIN1+N-1)%Conc(I,J,L) & + DT_SETTL * VTS(L+1) / DELZ1 & * TC0(L+1) ) DO K = 1, NCTOC Spc(APMIDS%id_CTOC+K-1)%Conc(I,J,L) = & Spc(APMIDS%id_CTOC+K-1)%Conc(I,J,L)+ & 1.e+0_fp / & ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) & * (OLD(L,K)*TC0(L)/MASS(L) & + DT_SETTL * VTS(L+1) / DELZ1 & * OLD(L+1,K)*TC0(L+1)/MASS(L+1) ) ENDDO ELSE IF(MASS(L)>1.e-30)THEN DELZ = State_Met%BXHEIGHT(I,J,L) DELZ1 = State_Met%BXHEIGHT(I,J,L+1) Spc(APMIDS%id_OCBIN1+N-1)%Conc(I,J,L) = 1.e+0_fp / & ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) & * (Spc(APMIDS%id_OCBIN1+N-1)%Conc(I,J,L) & + DT_SETTL * VTS(L+1) / DELZ1 & * TC0(L+1) ) DO K = 1, NCTOC Spc(APMIDS%id_CTOC+K-1)%Conc(I,J,L) = & Spc(APMIDS%id_CTOC+K-1)%Conc(I,J,L)+ & 1.e+0_fp / & ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) & * OLD(L,K)*TC0(L)/MASS(L) ENDDO ELSE IF(MASS(L+1)>1.e-30)THEN DELZ = State_Met%BXHEIGHT(I,J,L) DELZ1 = State_Met%BXHEIGHT(I,J,L+1) Spc(APMIDS%id_OCBIN1+N-1)%Conc(I,J,L) = 1.e+0_fp / & ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) & * (Spc(APMIDS%id_OCBIN1+N-1)%Conc(I,J,L) & + DT_SETTL * VTS(L+1) / DELZ1 & * TC0(L+1) ) DO K = 1, NCTOC Spc(APMIDS%id_CTOC+K-1)%Conc(I,J,L) = & Spc(APMIDS%id_CTOC+K-1)%Conc(I,J,L)+ & 1.e+0_fp / & ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) & * DT_SETTL * VTS(L+1) / DELZ1 & * OLD(L+1,K)*TC0(L+1)/MASS(L+1) ENDDO ENDIF ENDDO ! L ENDDO ! N DO L = 1, State_Grid%NZ DO K = 1, NCTOC Spc(APMIDS%id_CTOC+K-1)%Conc(I,J,L) = & MAX(1.d-30,Spc(APMIDS%id_CTOC+K-1)%Conc(I,J,L)) ENDDO ENDDO ENDDO ! I ENDDO ! J !$OMP END PARALLEL DO ! Clear the pointer NULLIFY( Spc ) END SUBROUTINE OCDRY_SETTLINGBIN #endif !EOC END MODULE CARBON_MOD ================================================ FILE: GeosCore/chemistry_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: chemistry_mod.F90 ! ! !DESCRIPTION: Module CHEMISTRY\_MOD is used to call the proper chemistry ! subroutine for the various GEOS-Chem simulations. !\\ !\\ ! !INTERFACE: ! MODULE Chemistry_Mod ! ! !USES: ! USE Precision_Mod ! For GEOS-Chem Precision (fp) USE Timers_Mod ! For GEOS-Chem timers (optional) IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: Do_Chemistry PUBLIC :: Recompute_OD ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !PRIVATE TYPES: ! CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: do_chemistry ! ! !DESCRIPTION: Subroutine DO\_CHEMISTRY is the driver routine which calls ! the appropriate chemistry subroutine for the various GEOS-Chem simulations. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Do_Chemistry( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE AEROSOL_MOD, ONLY : AEROSOL_CONC USE AEROSOL_MOD, ONLY : RDAER USE CARBON_MOD, ONLY : CHEMCARBON USE Carbon_Gases_Mod, ONLY : Chem_Carbon_Gases USE Diagnostics_Mod, ONLY : Compute_Budget_Diagnostics USE DUST_MOD, ONLY : CHEMDUST USE DUST_MOD, ONLY : RDUST_ONLINE USE ErrCode_Mod USE ERROR_MOD USE FullChem_Mod, ONLY : Do_FullChem USE Input_Opt_Mod, ONLY : OptInput USE AEROSOL_THERMODYNAMICS_MOD, ONLY : DO_ATE USE LINEAR_CHEM_MOD, ONLY : DO_LINEAR_CHEM USE MERCURY_MOD, ONLY : CHEMMERCURY USE POPS_MOD, ONLY : CHEMPOPS USE RnPbBe_MOD, ONLY : CHEMRnPbBe USE RPMARES_MOD, ONLY : DO_RPMARES USE SEASALT_MOD, ONLY : CHEMSEASALT USE SULFATE_MOD, ONLY : CHEMSULFATE USE State_Chm_Mod, ONLY : ChmState USE State_Chm_Mod, ONLY : Ind_ USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TAGGED_O3_MOD, ONLY : CHEM_TAGGED_O3 USE TIME_MOD, ONLY : GET_TS_CHEM USE Tracer_Mod, ONLY : Tracer_Sink_Phase USE UCX_MOD, ONLY : CALC_STRAT_AER USE UnitConv_Mod #ifdef APM USE APM_INIT_MOD, ONLY : APMIDS USE APM_DRIV_MOD, ONLY : PSO4GAS USE APM_DRIV_MOD, ONLY : AERONUM USE APM_DRIV_MOD, ONLY : APM_DRIV #endif #ifdef TOMAS USE TOMAS_MOD, ONLY : DO_TOMAS !(win, 7/14/09) #endif ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State object TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REMARKS: ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! SAVEd scalars INTEGER, SAVE :: id_DSTbin1, id_NK01, id_CO2 ! Species ID flags ! Scalars INTEGER :: N_TROP, N INTEGER :: MONTH INTEGER :: YEAR INTEGER :: WAVELENGTH INTEGER :: TS_Chem REAL(f8) :: DT_Chem, sDTFC, fDTFC #ifdef APM INTEGER :: I,J,L REAL*8 :: CONCTMPSO4(State_Grid%NX,State_Grid%NY,State_Grid%NZ) #endif ! SAVEd scalars LOGICAL, SAVE :: FIRST = .TRUE. ! Strings INTEGER :: previous_units CHARACTER(LEN=255) :: ErrMsg, ThisLoc !======================================================================= ! DO_CHEMISTRY begins here! !======================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Do_Chemistry (in module GeosCore/chemistry_mod.F90)' ! Save species ID"s on first call IF ( FIRST ) THEN id_DSTbin1 = Ind_('DSTbin1') id_NK01 = Ind_('NK01') id_CO2 = Ind_('CO2' ) ENDIF !======================================================================== ! Chemistry budget diagnostics - Part 1 of 2 !======================================================================== IF ( State_Diag%Archive_BudgetChemistry ) THEN ! Get initial column masses (full, trop, PBL) CALL Compute_Budget_Diagnostics( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & isFull = State_Diag%Archive_BudgetChemistryFull, & diagFull = NULL(), & mapDataFull = State_Diag%Map_BudgetChemistryFull, & isTrop = State_Diag%Archive_BudgetChemistryTrop, & diagTrop = NULL(), & mapDataTrop = State_Diag%Map_BudgetChemistryTrop, & isPBL = State_Diag%Archive_BudgetChemistryPBL, & diagPBL = NULL(), & mapDataPBL = State_Diag%Map_BudgetChemistryPBL, & isLevs = State_Diag%Archive_BudgetChemistryLevs, & diagLevs = NULL(), & mapDataLevs = State_Diag%Map_BudgetChemistryLevs, & colMass = State_Diag%BudgetColumnMass, & before_op = .TRUE., & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Chemistry budget diagnostics error 1' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !======================================================================== ! Convert species units to [kg] for chemistry (ewl, 8/12/15) !======================================================================== ! Here, units are still in mol/mol dry. For fullchem-simulation only, ! set CO2 to 421 ppm (or 421e-6 mol/mol dry) since this is the global ! average value. This is necessary to reduce the error norm in KPP. ! See https://github.com/geoschem/geos-chem/issues/1529. IF ( Input_Opt%ITS_A_FULLCHEM_SIM ) THEN State_Chm%Species(id_CO2)%Conc = 421.0e-6_fp ENDIF ! Halt "All chemistry" timer (so that diags can be timed separately) IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "All chemistry", RC ) ENDIF ! Convert units from mol/mol dry to kg CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & new_units = KG_SPECIES, & previous_units = previous_units, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Unit conversion error (kg/kg dry -> kg)' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Start "All chemistry" timer again IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "All chemistry", RC ) ENDIF !======================================================================== ! If Input_Opt%LCHEM=T then call the chemistry subroutines !======================================================================== IF ( Input_Opt%LCHEM ) THEN !===================================================================== ! Full-chemistry simulations: ! ! (1) Benchmark; (2) Standard; (3) SimpleSOA; (4) complexSOA, ! (5) complexSOA-SVPOA; (6) aciduptake; (7) marinePOA !===================================================================== IF ( Input_Opt%ITS_A_FULLCHEM_SIM ) THEN IF ( Input_Opt%useTimers ) THEN CALL Timer_Start ( "=> Aerosol chem", RC ) ENDIF !------------------------------------------------------------------ ! Dry-run sulfate chem to get cloud pH !------------------------------------------------------------------ IF ( Input_Opt%LSULF ) THEN ! Calculate stratospheric aerosol properties CALL Calc_Strat_Aer( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Calc_Strat_Aer"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Compute aerosol concentrations (needed for AOD computations) CALL Aerosol_Conc( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "AEROSOL_CONC"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !------------------------------------------------------------------ ! Call RDAER !------------------------------------------------------------------ waveLength = 0 CALL RdAer( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & month = month, & year = year, & odSwitch = waveLength, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "RDAER"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !================================================================== ! If LDUST is turned on, then we have online dust aerosol in ! GEOS-CHEM. ! If LDUST is turned off, then we do not have online dust aerosol ! in GEOS-CHEM...so read monthly-mean dust files from disk. ! (rjp, tdf, bmy, 4/1/04) !================================================================== IF ( Input_Opt%LDUST ) THEN CALL RDust_Online( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & odSwitch = waveLength, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "RDUST_ONLINE"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !------------------------------------------------------------------ ! Dry-run sulfate chem to get cloud pH !------------------------------------------------------------------ IF ( Input_Opt%LSULF ) THEN ! Dry run only CALL ChemSulfate( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & FullRun = .FALSE., & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "ChemSulfate"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !--------------------------------------------------------------- ! Do aerosol thermodynamic equilibrium !--------------------------------------------------------------- IF ( Input_Opt%LSSALT ) THEN #ifndef APM ! ISORROPIA/HETP take Na+, Cl- into account CALL Do_ATE( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Do_ATE"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF #endif ELSE #ifdef APM ! Exit with error if RPMARES + APM is selected ErrMsg = 'Warning: APM does not want to use DO_RPMARES' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN #endif ! RPMARES does not take Na+, Cl- into account CALL Do_RPMARES( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & RC = RC ) ENDIF ENDIF #ifdef APM ! Save SO4 concentration before chemistry N = APMIDS%id_SO4 CONCTMPSO4 = State_Chm%Species(N)%Conc CALL AERONUM( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "AERONUM"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF #endif IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "=> Aerosol chem", RC ) ENDIF !------------------------------------------------------------------ ! Call gas-phase chemistry !------------------------------------------------------------------ IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "=> Gas-phase chem", RC ) ENDIF ! Solve the KPP-generated mechanism CALL Do_FullChem( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Do_FullChem"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "=> Gas-phase chem", RC ) ENDIF !------------------------------------------------------------------ ! Linearized chemistry above chemistry grid !------------------------------------------------------------------ IF ( Input_Opt%LINEAR_CHEM ) THEN IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "=> Linearized chem", RC ) ENDIF ! Do linearized chemistry for the mesosphere CALL Do_Linear_Chem( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & errCode = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountred in "Do_LinearChem"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Make sure all units are still in kg IF ( .not. Check_Units( State_Chm, KG_SPECIES ) ) THEN ErrMsg = 'Incorrect species after calling "Do_Linear_Chem"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "=> Linearized chem", RC ) ENDIF ENDIF #ifdef APM ! Obtain SO4 production after chemistry N = APMIDS%id_SO4 !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L ) & !$OMP SCHEDULE( DYNAMIC ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX IF ( State_Chm%Species(N)%Conc(I,J,L) > CONCTMPSO4(I,J,L) ) THEN PSO4GAS(I,J,L) = State_Chm%Species(N)%Conc(I,J,L) & - CONCTMPSO4(I,J,L) ELSE PSO4GAS(I,J,L) = 0.D0 ENDIF ENDDO ENDDO ENDDO !$OMP END PARALLEL DO #endif IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "=> Aerosol chem", RC ) ENDIF !------------------------------------------------------------------ ! Do seasalt aerosol chemistry !------------------------------------------------------------------ IF ( Input_Opt%LSSALT ) THEN CALL ChemSeaSalt( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "ChemSeaSalt"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !------------------------------------------------------------------ ! Recalculate PSC properties !------------------------------------------------------------------ CALL Calc_Strat_Aer( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Calc_Strat_Aer"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------ ! Also do sulfate chemistry !------------------------------------------------------------------ IF ( Input_Opt%LSULF ) THEN ! Do sulfate chemistry CALL ChemSulfate( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & FullRun = .TRUE., & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered after calling "ChemSulfate"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Make sure all units are still in kg IF ( .not. Check_Units( State_Chm, KG_SPECIES ) ) THEN ErrMsg = 'Incorrect species after calling "ChemSulfate"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !------------------------------------------------------------------ ! Do carbonaceous aerosol chemistry !------------------------------------------------------------------ IF ( Input_Opt%LCARB ) THEN CALL ChemCarbon( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "ChemCarbon"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !------------------------------------------------------------------ ! Do dust aerosol chemistry/removal !------------------------------------------------------------------ IF ( Input_Opt%LDUST .AND. id_DSTbin1 > 0 ) THEN CALL ChemDust( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "ChemDust"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF #ifdef APM !------------------------------------------------------------------ ! Do APM aerosol microphysics !------------------------------------------------------------------ CALL APM_Driv( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in routine "APM_DRIV"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF #endif #ifdef TOMAS !------------------------------------------------------------------ ! Do TOMAS aerosol microphysics and dry dep !------------------------------------------------------------------ IF ( id_NK01 > 0 ) THEN CALL Do_TOMAS( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Do_TOMAS"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Check units (ewl, 10/5/15) IF ( .not. Check_Units( State_Chm, KG_SPECIES ) ) THEN ErrMsg = 'Not all species have units "kg"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) ENDIF ENDIF #endif IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "=> Aerosol chem", RC ) ENDIF !===================================================================== ! Aerosol-only simulation !===================================================================== ELSE IF ( Input_Opt%ITS_AN_AEROSOL_SIM ) THEN IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "=> Aerosol chem", RC ) ENDIF !------------------------------------------------------------------ ! Compute aerosol & dust concentrations [kg/m3] ! (NOTE: SOILDUST in "aerosol_mod.F90" is computed here) !------------------------------------------------------------------ CALL Aerosol_Conc( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Aerosol_Conc"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------ ! Compute AOD's and surface areas at 999 nm !------------------------------------------------------------------ month = 0 year = 0 waveLength = 0 CALL RdAer( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & month = month, & year = year, & ODswitch = Wavelength, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "RdAer"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------ ! Aerosol Thermodynamic Equilibrium !------------------------------------------------------------------ IF ( Input_Opt%LSULF ) THEN IF ( Input_Opt%LSSALT ) THEN #ifndef APM ! ISORROPIA/HETP take Na+, Cl- into account CALL Do_ATE( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & RC = RC ) #endif ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Do_ATE"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ELSE #ifdef APM ! Exit with error if RPMARES + APM is selected ErrMsg = 'Warning: APM does not want to use DO_RPMARES' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN #endif ! RPMARES does not take Na+, Cl- into account ! (skip for crystalline & aqueous offline run) CALL Do_RPMARES( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Do_RPMARES"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF ENDIF !------------------------------------------------------------------ ! Seasalt Aerosols !------------------------------------------------------------------ IF ( Input_Opt%LSSALT ) THEN CALL ChemSeaSalt( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "ChemSeaSalt"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !------------------------------------------------------------------ ! Sulfate aerosols !------------------------------------------------------------------ IF ( Input_Opt%LSULF ) THEN ! Do sulfate chemistry CALL ChemSulfate( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & FullRun = .TRUE., & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "ChemSulfate"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !------------------------------------------------------------------ ! Carbon and Secondary Organic Aerosols !------------------------------------------------------------------ IF ( Input_Opt%LCARB ) THEN CALL ChemCarbon( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in ""!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !------------------------------------------------------------------ ! Mineral Dust Aerosols !------------------------------------------------------------------ IF ( Input_Opt%LDUST ) THEN ! Do dust aerosol chemistry CALL ChemDust( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "ChemDust"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Compute dust OD's & surface areas WAVELENGTH = 0 CALL Rdust_Online( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & ODswitch = waveLength, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Rdust_Online"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "=> Aerosol chem", RC ) ENDIF !===================================================================== ! Transport Tracers !===================================================================== ELSE IF ( Input_Opt%ITS_A_TRACER_SIM ) THEN ! Do Rn-Pb-Be chemistry CALL ChemRnPbBe( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "ChemRnPbBe"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Apply sinks for transport tracers CALL Tracer_Sink_Phase( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Tracer_Sink_Phase"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !===================================================================== ! Tagged O3 !===================================================================== ELSE IF ( Input_Opt%ITS_A_TAGO3_SIM ) THEN !------------------------------------------------------------------ ! Do Tagged O3 chemistry !------------------------------------------------------------------ CALL Chem_Tagged_O3( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Chem_Tagged_O3"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------ ! Linearized chemistry !------------------------------------------------------------------ IF ( Input_Opt%LINEAR_CHEM ) THEN IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "=> Linearized chem", RC ) ENDIF ! Do LINOZ for Ozone CALL Do_Linear_Chem( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & errCode = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Do_Linear_Chem"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "=> Linearized chem", RC ) ENDIF ENDIF !===================================================================== ! Carbon gases (configure with -DMECH=carbon) !===================================================================== ELSE IF ( Input_Opt%ITS_A_CARBON_SIM ) THEN IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "=> Gas-phase chem", RC ) ENDIF ! Do carbon chemistry CALL Chem_Carbon_Gases( Input_Opt = Input_Opt, & State_Met = State_Met, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Diag = State_Diag, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Chem_Carbon_Gases"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "=> Gas-phase chem", RC ) ENDIF !==================================================================== ! Mercury (configure with -DMECH=Hg) !===================================================================== ELSE IF ( Input_Opt%ITS_A_MERCURY_SIM ) THEN IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "=> Gas-phase chem", RC ) ENDIF ! Do Hg chemistry CALL ChemMercury( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "ChemMercury"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "=> Gas-phase chem", RC ) ENDIF !===================================================================== ! POPs !===================================================================== ELSE IF ( Input_Opt%ITS_A_POPS_SIM ) THEN ! Do POPS chemistry CALL ChemPOPs( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "ChemPOPs"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !### Debug IF ( Input_Opt%Verbose ) THEN CALL Debug_Msg( '### MAIN: a CHEMISTRY' ) ENDIF ENDIF !======================================================================== ! Convert species units back to original unit (ewl, 8/12/15) !======================================================================== ! Halt "All chemistry" timer (so unitconv+diags can be timed separately) IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "All chemistry", RC ) ENDIF ! Convert units CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & new_units = previous_units, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Unit conversion error' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Start "All chemistry" timer again IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "All chemistry", RC ) ENDIF !======================================================================== ! Chemistry budget diagnostics - Part 2 of 2 !======================================================================== IF ( State_Diag%Archive_BudgetChemistry ) THEN ! Chemistry timestep [s] TS_Chem = Get_Ts_Chem() DT_Chem = DBLE( Ts_Chem ) ! Compute change in column masses (after chemistry - before chemistry) ! and store in diagnostic arrays. Units are [kg/s]. CALL Compute_Budget_Diagnostics( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & isFull = State_Diag%Archive_BudgetChemistryFull, & diagFull = State_Diag%BudgetChemistryFull, & mapDataFull = State_Diag%Map_BudgetChemistryFull, & isTrop = State_Diag%Archive_BudgetChemistryTrop, & diagTrop = State_Diag%BudgetChemistryTrop, & mapDataTrop = State_Diag%Map_BudgetChemistryTrop, & isPBL = State_Diag%Archive_BudgetChemistryPBL, & diagPBL = State_Diag%BudgetChemistryPBL, & mapDataPBL = State_Diag%Map_BudgetChemistryPBL, & isLevs = State_Diag%Archive_BudgetChemistryLevs, & diagLevs = State_Diag%BudgetChemistryLevs, & mapDataLevs = State_Diag%Map_BudgetChemistryLevs, & colMass = State_Diag%BudgetColumnMass, & timeStep = DT_Chem, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Chemistry budget diagnostics error 2' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF END SUBROUTINE Do_Chemistry !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: recompute_od ! ! !DESCRIPTION: Subroutine RECOMPUTE\_OD will update the optical depth values ! before accumulating or writing the diagnostics. !\\ !\\ ! !INTERFACE: ! SUBROUTINE RECOMPUTE_OD( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE AEROSOL_MOD, ONLY : AEROSOL_CONC USE AEROSOL_MOD, ONLY : RDAER USE DUST_MOD, ONLY : RDUST_ONLINE USE ErrCode_Mod USE ERROR_MOD, ONLY : Debug_Msg USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_MONTH USE TIME_MOD, ONLY : GET_YEAR ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 03 Fev 2011 - Adapted from chemdr.f by skim ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: IT_IS_A_FULLCHEM_SIM LOGICAL :: IT_IS_AN_AEROSOL_SIM LOGICAL :: LCARB, LCHEM, LDUST LOGICAL :: LSSALT, LSULF, LSOA INTEGER :: MONTH, YEAR, WAVELENGTH ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc !======================================================================== ! RECOMPUTE_OD begins here! !======================================================================== ! Initialize RC = GC_SUCCESS MONTH = GET_MONTH() YEAR = GET_YEAR() ErrMsg = '' ThisLoc = ' -> at Recompute_OD (in module GeosCore/chemistry_mod.F90)' ! Get month and year ! First make sure chemistry is turned on IF ( Input_Opt%LCHEM ) THEN ! Then make sure that the simulations use aerosol species IF ( Input_Opt%ITS_A_FULLCHEM_SIM .or. & Input_Opt%ITS_AN_AEROSOL_SIM ) THEN ! And then make sure that the aersol species are defined IF ( Input_Opt%LSULF .or. Input_Opt%LCARB .or. & Input_Opt%LDUST .or. Input_Opt%LSSALT ) THEN ! Skip this section if all of these are turned off CALL AEROSOL_CONC( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) !=============================================================== ! Call RDAER -- computes aerosol optical depths !=============================================================== ! Calculate the AOD at the wavelength specified in jv_spec_aod WAVELENGTH = 1 CALL RDAER( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & month = month, & year = year, & ODswitch = waveLength, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "RdAer"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !### Debug IF ( Input_Opt%Verbose ) THEN CALL Debug_Msg( '### RECOMPUTE_OD: after RDAER' ) ENDIF !=============================================================== ! If LDUST is turned on, then we have online dust aerosol in ! GEOS-CHEM. ! If LDUST is turned off, then we don't have online dust ! aerosol in GEOS-CHEM...so read monthly-mean dust files ! from disk. (rjp, tdf, bmy, 4/1/04) !=============================================================== IF ( Input_Opt%LDUST ) THEN CALL Rdust_Online( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & ODswitch = waveLength, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Rdust_Online"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !### Debug IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### RECOMPUTE_OD: after RDUST' ) ENDIF ENDIF ENDIF ENDIF END SUBROUTINE RECOMPUTE_OD !EOC END MODULE Chemistry_Mod ================================================ FILE: GeosCore/cldice_HBrHOBr_rxn.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: cldice_hbrhobr_rxn.F90 ! ! !DESCRIPTION: Subroutine CLDICE\_HBrHOBr\_RXN calculates the rate constants ! for HBr and HOBr pseudo-reactions with ice. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CLDICE_HBrHOBr_RXN( I, J, L, DENAIR, QI, hbr, hobr, & k_hbr, k_hobr, AREA, State_Met ) ! ! !USES: ! USE ERROR_MOD, ONLY : IS_SAFE_DIV, IT_IS_NAN USE ERROR_MOD, ONLY : GEOS_CHEM_STOP USE PRECISION_MOD ! For GEOS-Chem Precision (fp) USE State_Met_Mod, ONLY : MetState IMPLICIT NONE ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I ! Longitude index INTEGER, INTENT(IN) :: J ! Latitude index INTEGER, INTENT(IN) :: L ! Altitude index REAL(fp), INTENT(IN) :: DENAIR ! Density of air [#/cm3] REAL(fp), INTENT(IN) :: QI ! Cloud ice mixing ratio [kg/kg] REAL(fp), INTENT(IN) :: hbr ! Concentration of HBr [#/cm3] REAL(fp), INTENT(IN) :: hobr ! Concentration of HOBr [#/cm3] TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: k_hbr ! Rate constant for HBr + ice ! pseudo-rxn [cm3/s] REAL(fp), INTENT(OUT) :: k_hobr ! Rate constant for HOBr + ice ! pseudo-rxn [cm3/s] REAL(fp), INTENT(OUT) :: AREA ! Surface area [cm2/cm3] ! ! !REMARKS: ! The rate constant is calculated assuming: ! . ! 1. A sticking coefficient of 0.1 [JPL 2006], Abbatt [1994], ! Chai et al. [2000] ! 2. An effective radius is assumed as a function of (i) temperature and ! ice water content (IWC). This relationship is taken from Wyser [1998]. ! . ! ** Calculations of a 1st order rate constent are borrowed from the ! subroutine arsl1k.F. Below are comments from that code: ! . ! The 1st-order loss rate on wet aerosol (Dentener's Thesis, p. 14) ! is computed as: ! . ! ARSL1K [1/s] = area / [ radius/dfkg + 4./(stkcf * nu) ] ! . ! where nu = Mean molecular speed [cm/s] = sqrt(8R*TK/pi/M) for Maxwell ! DFKG = Gas phase diffusion coeff [cm2/s] (order of 0.1) ! ! !REVISION HISTORY: ! 16 Jun 2011 - J. Parrella - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! REAL(f8), PARAMETER :: dens_ice = 0.9167e-3_f8 ! [kg/cm3] REAL(f8), PARAMETER :: mw_hbr = 0.081 ! [kg/mol] REAL(f8), PARAMETER :: mw_hobr = 0.097 ! [kg/mol] ! ! !LOCAL VARIABLES: ! REAL(f8) :: MW_spec ! Molecular weight of species REAL(f8) :: RADIUS ! Radius of ice particles [cm] REAL(f8) :: STK ! Square root of the temperature [K] REAL(f8) :: DFKG ! Gas diffusion coefficient [cm2/s] REAL(f8) :: SQM_hbr ! Square root of molec. weight [g/mol] REAL(f8) :: SQM_hobr ! Square root of molec. weight [g/mol] REAL(f8) :: b_param REAL(f8) :: iwc REAL(f8) :: gamma REAL(f8) :: gamma_hobr, gamma_hbr REAL(f8) :: hbr_rtemp, hobr_rtemp REAL(f8) :: cld1k_hbr, cld1k_hobr REAL(f8) :: numerator, denominator LOGICAL :: yn_div_safe LOGICAL :: yn_nan LOGICAL :: yn_stop ! Pointers REAL(fp), POINTER :: AIRDEN(:,:,:) REAL(fp), POINTER :: CLDF(:,:,:) REAL(fp), POINTER :: T(:,:,:) !================================================================= ! CLDICE_HBrHOBr_RXN begins here! !================================================================= ! Initialize pointers AIRDEN => State_Met%AIRDEN CLDF => State_Met%CLDF T => State_Met%T ! ---------------------------------------------- ! 1. ! Calculate the ice water content (IWC) for ! the box. Will be used to calculate the ! ice effective radius by parameterization. ! ! For parameterization, we want IWC in [g/m3]. ! Using QI which is in [kg_ice/kg_air] ! ---------------------------------------------- ! IWC in [g/cm3] iwc = CLDF(I,J,L) * QI * AIRDEN(I,J,L) iwc = iwc / 1.e+3_f8 !%%% ERROR CHECK! Do not let IWC<=0 because it will cause the !%%% LOG10 statement in the upcoming section (bmy, 10/23/12) IF ( .not. ( IWC > 0e+0_f8 ) ) THEN gamma = 0.e+0_f8 k_hbr = 0.e+0_f8 k_hobr = 0.e+0_f8 RETURN ENDIF ! ---------------------------------------------- ! calculate the temperature dependent reactive ! uptake coefficient for HBr + HOBr + ice. ! - uses Chaix et al. [2000] for 180K < T < 205 K ! 0.44 > g > 0.15 ! ! - uses Abbatt [1994] for T = 228 K (pure ice) ! g = 0.12 ! ! ** using g = 0.1 for cold and mixed clouds ! ---------------------------------------------- IF ( ( T(I,J,L) >= 180.e+0_f8) .and. ( T(I,J,L) <= 268.e+0_f8) ) THEN gamma = 0.1e+0_f8 ELSE ! if temperature moves above 228K, then ! turn off the reaction and do nothing gamma = 0.e+0_f8 k_hbr = 0.e+0_f8 k_hobr = 0.e+0_f8 RETURN ENDIF ! set the sticking coefficients for HBr and ! HOBr independently, following JPL [2011] ! ** this is only used for when we treat the ! ice uptake of HOBr and HBr as a loss ! instead of recycling. gamma_hobr = 0.003e+0_f8 gamma_hbr = 0.03e+0_f8 ! ---------------------------------------------- ! 2. ! calculate the surface area of cloud droplets ! in the given grid box, assuming 1 of 2 ! conditions: ! a. marine warm cloud ! or ! b. continental warm cloud ! ! ! * Calculation for area is derived follows, ! assuming that RADIUS is constant: ! ! 4/3 (pi) (RADIUS)**3 ! 1) FC = Vc / Vb = N ------------------------- ! Vb ! ! ! where N = number of ice particles in cloud ! RADIUS = radius of ice particles ! Vc = volumn of ice in cloud ! Vb = volumn of the box = AIRVOL (in GEOS-Chem) ! ! ! Vb ! 2) N = FC -------------------- ! 4/3 (pi) (RADIUS)**3 ! ! ! So the surface area [m2] is calculated as ! ! 3) total surface A = N * 4 * (pi) * (RADIUS)**2 ! ! 3*Vb ! = FC ---------- ! RADIUS ! ! 4) for this routine though we want ! AREA in [cm2/cm3], surface area to volume air: ! ! 3 ! AREA = FC --------- ! RADIUS (in cm) ! ! ! or ! 3 x Vc ! AREA = ----------------- ! AIRVOL x RADIUS (in cm) ! ---------------------------------------------- ! calculate the effective radius of ice in ! this cloud given (a) the temperature, and ! (b) the ice water content of the box. ! This parameterization is taken from ! Wyser [1998]. (jpp, 6/15/2011) ! a. B = equation 14 in Wyser [1998] ! CDH: The Wyser formula assumes iwc in g/m3, but g/cm3 is used here, ! so the log10 term is incorrect. b_param = -2.e+0_f8 + 1.e-3_f8 * (273.e+0_f8 - T(I,J,L))** & (1.5e0_f8) * log10(iwc/50.e+0_f8) ! radius is parameterized in [um] RADIUS = 377.4e+0_f8 + 203.3e+0_f8 * b_param + & 37.91e+0_f8 * b_param**2.0 + & 2.3696e+0_f8 * b_param**3.0 ! now convert radius to [cm] RADIUS = RADIUS * 1.e-4_f8 !---------------------------------------------------------------------------- !! make sure there's enough ice in the box we're !! looking at to do chemistry: !IF ( (iwc == 0.0) .or. (QI == 0.0) .or. & ! (it_is_nan( log10(iwc/50.0))) .or. & ! (CLDF == 0.0) .or. (RADIUS <= 0.0) ) THEN ! gamma = 0.d0 ! k_hbr = 0.d0 ! k_hobr = 0.d0 ! RETURN !ENDIF !---------------------------------------------------------------------------- !%%% ERROR CHECK! Do not let RADIUS=0 because it will cause the !%%% LOG10 statement in the upcoming section (bmy, 10/23/12) IF ( ( RADIUS < 0 ) .or. & ( .not. ( ABS( RADIUS ) > 0e+0_f8 ) ) .or. & ( .not. ( ABS( CLDF(I,J,L) ) > 0e+0_f8 ) ) ) THEN gamma = 0.e+0_f8 k_hbr = 0.e+0_f8 k_hobr = 0.e+0_f8 RETURN ENDIF !! Doesn't matter, Vc is not used. jpt !Vc = CLDF(I,J,L) * QI * AD(I,J,L) / dens_ice !! now calculate the cloud ice surface area [cm2_ice/ cm3_air] !XAIRCM3 = AIRVOL(I,J,L) * (100.e+0_f8)**3 ! volume of air [cm3] !AREA = 3.d0 * (Vc/XAIRCM3) / (RADIUS) ! keep Radius in [cm] ! Convert cross-sectional area to surface area, making assumption ! given in Lawrence and Crutzen [1998] ! iwc must be in g/m3, not g/cm3 for Lawrence param. AREA = 1.e-4_f8 * (iwc * (100.e+0_f8)**3)**(0.9e+0_f8) AREA = 2.e+0_f8 * AREA ! in [cm2/cm3] !### Debug !IF ( AREA > 1.0d-4 ) THEN ! print *, 'jpp: debugging cloud ice area' ! print *, 'AREA = ', AREA, ' cm2/cm3' ! print *, 'IWC = ', iwc !ENDIF ! ---------------------------------------------------- ! 3. ! Now finish calculating the 1st order rate ! constant, first for HBr, and then for HOBr ! to get rate constants for both pseudo-reactions. ! ! (a) calculate the gas phase diffusion coefficient; ! ! (b) calculate the hydrolysis rxn rate. ! ---------------------------------------------------- SQM_hbr = sqrt(mw_hbr * 1.e+3_f8) ! square root of molar mass [g/mole] SQM_hobr = sqrt(mw_hobr * 1.e+3_f8) ! square root of molar mass [g/mole] STK = sqrt(T(I,J,L) ) ! square root of temperature [K] ! ---------------------- ! i.) Deal with HBr ! ---------------------- ! DFKG = Gas phase diffusion coeff [cm2/s] (order of 0.1) DFKG = 9.45e+17_f8/DENAIR * STK * SQRT(3.472e-2_f8 + & 1.e+0_f8/(SQM_hbr*SQM_hbr)) ! Compute ARSL1K according to the formula listed above cld1k_hbr = AREA / ( RADIUS/DFKG + 2.749064E-4 & * SQM_hbr/(gamma*STK) ) !jp_loss * SQM_hbr/(gamma_hbr*STK) ) ! ---------------------- ! ii.) Deal with HOBr ! ---------------------- ! DFKG = Gas phase diffusion coeff [cm2/s] (order of 0.1) DFKG = 9.45e+17_f8/DENAIR * STK * SQRT(3.472e-2_f8 + & 1.e+0_f8/(SQM_hobr*SQM_hobr)) ! Compute ARSL1K according to the formula listed above cld1k_hobr = AREA / ( RADIUS/DFKG + 2.749064E-4 & * SQM_hobr/(gamma*STK) ) !jp_loss * SQM_hobr/(gamma_hobr*STK) ) ! ---------------------------------------------------- ! 4. ! Now test which loss rate (HOBr or HBr) is ! limiting. ! ---------------------------------------------------- ! initial loss rates hbr_rtemp = cld1k_hbr * hbr hobr_rtemp = cld1k_hobr * hobr ! --------------------------------------------- ! kludging the rates to be equal to one another ! to avoid having to keep setting equality in ! SMVGEAR solver. (jpp, 5/10/2011) ! --------------------------------------------- IF ( hbr_rtemp > hobr_rtemp ) THEN ! 1. is it safe to divide? numerator = DBLE( cld1k_hobr * hobr ) denominator = DBLE( hbr ) yn_div_safe = is_safe_div( numerator, denominator ) IF (yn_div_safe) THEN ! 2. if it is safe, then go ahead cld1k_hbr = hobr_rtemp / hbr ELSE ! if not, then set rates really small... ! b/c the largest contributor is very small. cld1k_hobr = TINY(1.e+0_f8) cld1k_hbr = TINY(1.e+0_f8) ENDIF ELSE ! if HOBr rate is larger than HBr rate ! 1. is it safe to divide? numerator = DBLE( cld1k_hbr * hbr ) denominator = DBLE( hobr ) yn_div_safe = is_safe_div( numerator, denominator ) IF (yn_div_safe) THEN ! 2. if it is safe, then go ahead cld1k_hobr = hbr_rtemp / hobr ELSE ! if not, then set rates really small... ! b/c the largest contributor is very small. cld1k_hobr = TINY(1.e+0_f8) cld1k_hbr = TINY(1.e+0_f8) ENDIF ENDIF ! store the rate constants k_hbr = cld1k_hbr k_hobr = cld1k_hobr ! test if they're are NaN's calculated yn_stop = .FALSE. yn_nan = it_is_nan( k_hbr ) IF ( yn_nan ) yn_stop = .TRUE. yn_nan = it_is_nan( k_hobr ) IF ( yn_nan ) yn_stop = .TRUE. IF (yn_stop) THEN print*, 'stopping inside of cldice_hbrhobr_rxn().' print*, 'Calculated NaN rate constants for ice chem.' print*, 'debugging values:' print*, 'k_hobr =', k_hobr print*, 'k_hbr =', k_hbr print*, 'hobr =', hobr print*, 'hbr =', hbr print*, 'radius =', radius print*, 'area =', area print*, 'b_param =', b_param print*, 'iwc =', iwc !read(*,*) yn_stop CALL GEOS_CHEM_STOP ENDIF ! Free pointers NULLIFY( AIRDEN ) NULLIFY( CLDF ) NULLIFY( T ) RETURN !EOC END SUBROUTINE CLDICE_HBrHOBr_RXN ================================================ FILE: GeosCore/cldj_interface_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: cldj_interface_mod.F90 ! ! !DESCRIPTION: Module CLDJ\_INTERFACE\_MOD contains routines and variables ! for interfacing with the Cloud-J scheme (Prather et al) that calculates ! photolysis rates. !\\ !\\ ! !INTERFACE: ! MODULE CLDJ_INTERFACE_MOD ! ! !USES: ! USE PRECISION_MOD IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: Init_CloudJ PUBLIC :: Run_CloudJ ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: Set_Clim_Profiles PRIVATE :: Get_RH_Index PRIVATE :: CloudJ_DryRun_Check PRIVATE :: Check_File_for_DryRun ! ! !REVISION HISTORY: ! 14 Dec 2022 - E. Lundgren - initial version, adapted from fast_jx_mod ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: int_cloudj ! ! !DESCRIPTION: Subroutine INIT\_CLOUDJ initializes Cloud-J variables. !\\ !\\ ! !INTERFACE: ! SUBROUTINE INIT_CLOUDJ( Input_Opt, State_Grid, State_Diag, & State_Chm, RC ) ! ! !USES: ! ! ewl: Use, inputs/outputs, and local vars could be slimmed down ! ewl: if these are in cloud-j, why do I need to pass them??? USE Cldj_Cmn_Mod, ONLY : JVN_, NRatJ, W_ USE Cldj_Init_Mod, ONLY : Init_CldJ USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Diag_Mod, ONLY : DgnState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(DgnState), INTENT(IN) :: State_Diag ! Diagnostics State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 14 Dec 2022 - E. Lundgren - initial version, adapted from fast_jx_mod ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: notDryRun INTEGER :: NJXX CHARACTER(LEN=255) :: ErrMsg, ThisLoc CHARACTER(LEN=6) :: TITLEJXX(JVN_) !================================================================= ! INIT_CLOUDJ begins here! !================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Init_CloudJ (in module GeosCore/cldj_interface_mod.F90)' ! If we are running a dry-run simulation, print out a list of ! Cloud-J configuration files that are found or missing, then exit. IF ( Input_Opt%DryRun ) THEN CALL CloudJ_DryRun_Check( Input_Opt ) RETURN ENDIF ! Print info IF ( Input_Opt%amIRoot ) THEN write(6,*) ' Initializing Cloud-J' ! ewl: can this be put into the initialization??? if (W_.ne.8 .and. W_.ne.12 .and. W_.ne.18) then ErrMsg = ' INIT_CLOUDJ: invalid no. wavelengths' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN endif ENDIF ! Initialize Cloud-J. Includes reading input data files ! FJX_spec.dat (RD_XXX), FJX_scat-aer.dat (RD_MIE), and ! FJX_j2j.dat (RD_JS_JX) CALL Init_CldJ(Input_Opt%amIRoot, & Input_Opt%CloudJ_Dir, & State_Grid%NZ, & Input_Opt%Nlevs_Phot_Cloud, & TITLEJXX, & JVN_, & Input_Opt%OD_Increase_Factor, & Input_Opt%Min_Cloud_OD, & Input_Opt%Num_WV_Bins, & Input_Opt%Cloud_Flag, & Input_Opt%Cloud_Corr, & Input_Opt%Num_Max_Overlap, & Input_Opt%Sphere_Correction, & Input_Opt%Use_H2O_UV_Abs, & NJXX, & RC) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in subroutine Init_Cldj within Cloud-J photolysis' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Store # of photolysis reactions in State_Chm object State_Chm%Phot%nPhotRxns = NRatJ END SUBROUTINE INIT_CLOUDJ !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !ROUTINE: run_cloudj ! ! !DESCRIPTION: Subroutine RUN\_CLOUDJ loops over horizontal grid boxes to call ! Cloud-J subroutine CLOUD\_JX for computation of J-Values for each column. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Run_CloudJ( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE Cldj_Cmn_Mod, ONLY : L_, L1_, W_, S_, LWEPAR USE Cldj_Cmn_Mod, ONLY : JVN_, AN_, NQD_, W_r USE Cldj_Cmn_Mod, ONLY : JIND, JFACTA, FL, QAA, RAA, SAA USE Cldj_Sub_Mod, ONLY : Cloud_JX USE Cmn_Size_Mod, ONLY : NRHAER, NRH, NDUST USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE PhysConstants, ONLY : AVO, H2OMW, G0_100, PI, PI_180 USE State_Chm_Mod, ONLY : ChmState, Ind_ USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE Time_Mod, ONLY : GET_MONTH, GET_DAY, GET_DAY_OF_YEAR !ewl USE TOMS_MOD, ONLY : GET_OVERHEAD_O3 IMPLICIT NONE ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 14 Dec 2022 - E. Lundgren - initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=255) :: ErrMsg, ThisLoc INTEGER :: A, I, J, L, K, N, S, MaxLev, RH_ind INTEGER :: SO4_ind, BC_ind, OC_ind, SALA_ind, SALC_ind INTEGER :: S_rh0, S_rhx, K_rh0, K_rhx, ind_1000 REAL(8) :: MW_g, BoxHt, Delta_P, IWC, LWC REAL(8) :: FRAC, RAA_eff, QAA_eff, SAA_eff REAL(8) :: dry_to_wet_factor REAL(8) :: R_interp_factor, Q_interp_factor REAL(fp) :: RH_lut(NRH) LOGICAL, SAVE :: FIRST = .true. !------------------------------------------------------------------------ ! Solar_JX inputs !------------------------------------------------------------------------ INTEGER :: DAY_OF_YEAR ! simulation day of year REAL(fp) :: U0 ! cosine of SZA !------------------------------------------------------------------------ ! Set_Clim_Profiles inputs !------------------------------------------------------------------------ INTEGER :: MONTH, DAY ! simulation month and day REAL(fp) :: T_CTM (State_Grid%NZ+1) ! temperature profile [K] REAL(fp) :: P_CTM (State_Grid%NZ+2) ! pressure profile (edges) [hPa] REAL(fp) :: O3_CTM (State_Grid%NZ+1) ! ozone profile [molec/cm3] !------------------------------------------------------------------------ ! Cloud_JX inputs !------------------------------------------------------------------------ ! Scalars LOGICAL :: LPRTJ ! Debug prints INTEGER :: IRAN REAL(fp) :: SZA ! Computed in Solar_JX. Should this be real8? REAL(fp) :: SOLF ! Computed in Solar_JX. Should this be real8? REAL(8) :: CLDCOR ! 1D arrays INTEGER :: CLDIW (L1_ ) REAL(fp) :: T_CLIM (L1_ ) ! Computed in Set_Prof_CloudJ, should be real8? REAL(fp) :: O3_CLIM (L1_ ) ! Computed in Set_Prof_CloudJ, should be real8? REAL(fp) :: AIR_CLIM(L1_ ) ! Computed in Set_Prof_CloudJ, should be real8? REAL(fp) :: Z_CLIM (L1_+1) ! Computed in Set_Prof_CloudJ, should be real8? REAL(8) :: HHH (L1_ ) REAL(8) :: RRR (L1_ ) REAL(8) :: CCC (L1_ ) REAL(8) :: LWP (L1_ ) REAL(8) :: IWP (L1_ ) REAL(8) :: REFFL (L1_ ) REAL(8) :: REFFI (L1_ ) REAL(8) :: CLDF (L1_ ) ! 2D arrays INTEGER :: NDXAER (L1_, AN_ ) REAL(8) :: AERSP (L1_, AN_ ) REAL(8) :: RFL (5 , W_+W_r) !------------------------------------------------------------------------ ! Cloud_JX outputs !------------------------------------------------------------------------ ! Scalars LOGICAL :: LDARK INTEGER :: NICA INTEGER :: JCOUNT ! 1D arrays REAL(8) :: SWMSQ (6 ) REAL(8) :: OD18 (L1_ ) REAL(8) :: WTQCA (NQD_) ! 2D arrays REAL(8) :: SKPERD(S_+2, L1_) ! Which of the below is correct??? REAL(8) :: VALJXX(L_,JVN_) !------------------------------------------------------------------------ ! Other local variables !------------------------------------------------------------------------ ! To be retrieved from Cloud-J REAL(fp) :: DiffSfcFlux(W_+W_r) REAL(fp) :: DirSfcFlux(W_+W_r) REAL(fp) :: DepFlux(L1_,W_+W_r) REAL(fp) :: DiffTopFlux(L1_,W_+W_r) ! For UVFlux* diagnostics REAL(fp) :: FDIRECT (L1_) REAL(fp) :: FDIFFUSE(L1_) REAL(fp) :: UVX_CONST ! For computing water concentration from specific humidity REAL(fp) :: SPHU_kgkg REAL(fp) :: H2O_kgkgdry REAL(fp) :: MW_kg ! Species ids INTEGER, SAVE :: id_H2O INTEGER, SAVE :: id_O3 INTEGER, SAVE :: id_SO4 ! Index for Cloud-J prints if GEOS-Chem verbose is on INTEGER :: I_PRT, J_PRT ! Debugging logicals to turn optical depth sources on/off LOGICAL :: use_liqcld LOGICAL :: use_icecld LOGICAL :: use_dust LOGICAL :: use_so4 LOGICAL :: use_bc LOGICAL :: use_oc LOGICAL :: use_sala LOGICAL :: use_salc LOGICAL :: use_stratso4 LOGICAL :: use_psc !================================================================= ! Run_CloudJ begins here! !================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Run_CloudJ (in module GeosCore/cldj_interface_mod.F90)' ! Set debugging logicals to turn optical depth sources on/off. If using, ! uncomment where they are appear later in this file. They are commented out by ! default to avoid unnecessary slow-down. use_liqcld = .true. use_icecld = .true. use_dust = .true. use_so4 = .true. use_bc = .true. use_oc = .true. use_sala = .true. use_salc = .true. use_stratso4 = .true. use_psc = .true. ! Aerosol indexes (must match mapping set in RD_AOD) SO4_ind = 1 BC_ind = 2 OC_ind = 3 SALA_ind = 4 SALC_ind = 5 ! Relative humidities in FJX_spec-aer.dat RH_lut(1) = 0.d0 RH_lut(2) = 50.d0 RH_lut(3) = 70.d0 RH_lut(4) = 80.d0 RH_lut(5) = 90.d0 ! Index for wavelength 1000 in optical property LUT ind_1000 = 5 ! Diagnostic initialization IF ( State_Diag%Archive_UVFluxDiffuse ) State_Diag%UVFluxDiffuse = 0.0_f4 IF ( State_Diag%Archive_UVFluxDirect ) State_Diag%UVFluxDirect = 0.0_f4 IF ( State_Diag%Archive_UVFluxNet ) State_Diag%UVFluxNet = 0.0_f4 IF ( State_Diag%Archive_OD600 ) State_Diag%OD600 = 0.0_f4 IF ( State_Diag%Archive_TCOD600 ) State_Diag%TCOD600 = 0.0_f4 #if defined( MODEL_GEOS ) ! TODO: implement these IF ( State_Diag%Archive_EXTRALNLEVS ) State_Diag%EXTRALNLEVS = 0.0 IF ( State_Diag%Archive_EXTRALNITER ) State_Diag%EXTRALNITER = 0.0 #endif ! Set species ids for use in diagnostics IF ( FIRST ) THEN id_H2O = Ind_('H2O') id_O3 = Ind_('O3') id_SO4 = Ind_('SO4') IF ( id_O3 <= 0 ) THEN ErrMsg = 'O3 is not a defined species but is required for Cloud-J photolysis!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF ! Constant values across grid boxes MONTH = GET_MONTH() DAY = GET_DAY() DAY_OF_YEAR = GET_DAY_OF_YEAR() ! ewl: set NDXAER to MIEDX duplicated for all levels. If this works ! will want to store this elsewhere. Don't want to do this computation ! every timestep. ! Why isn't this integer??? ! Should change MIEDX to be NDXAER for cloud-j? NDXAER(:,:) = 0.d0 DO N = 1, AN_ DO L = 1, L1_ NDXAER(L,N) = State_Chm%Phot%MIEDX(N) ENDDO ENDDO !================================================================= ! For each column compute Cloud-J inputs and call Cloud_JX to compute J-values !================================================================= !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( A, I, J, L, K, N, S, MW_g, BoxHt, RH_ind ) & !$OMP PRIVATE( S_rh0, S_rhx, K_rh0, K_rhx, FRAC, RAA_eff, QAA_eff, SAA_eff ) & !$OMP PRIVATE( dry_to_wet_factor, SPHU_kgkg, H2O_kgkgdry, MW_kg ) & !$OMP PRIVATE( R_interp_factor, Q_interp_factor ) & !$OMP PRIVATE( U0, SZA, SOLF, T_CTM, P_CTM, O3_CTM ) & !$OMP PRIVATE( T_CLIM, O3_CLIM, AIR_CLIM, Z_CLIM ) & !$OMP PRIVATE( CLDIW, CLDF, IWP, LWP, REFFI, REFFL, IWC, LWC, DELTA_P ) & !$OMP PRIVATE( AERSP, RFL, RRR, LPRTJ, IRAN, CLDCOR, HHH, CCC ) & !$OMP PRIVATE( LDARK, NICA, JCOUNT, SWMSQ, OD18, WTQCA, SKPERD, VALJXX ) & !$OMP PRIVATE( DiffSfcFlux, DirSfcFlux, DepFlux, DiffTopFlux ) & !$OMP PRIVATE( FDIRECT, FDIFFUSE, UVX_CONST ) & !$OMP SCHEDULE( DYNAMIC ) ! Loop over all latitudes and all longitudes DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Debug prints in Cloud-J. Limit to one grid cell so not excessive. ! Use this for debugging purposes only. LPRTJ = .false. I_PRT = 20 J_PRT = 20 IF ( Input_Opt%CloudJ_Verbose ) THEN IF ( I == I_PRT .and. J == J_PRT ) THEN print*, & "cldj_interface_mod.F90: Cloud-J prints on for lat, lon: ", & State_Grid%GlobalYMid(I,J), State_Grid%GlobalXMid(I,J) LPRTJ = .true. ENDIF ENDIF !----------------------------------------------------------------- ! Solar zenith angle !----------------------------------------------------------------- ! Cosine of solar zenith angle [unitless] U0 = State_Met%SUNCOSmid(I,J) ! Solar zenith angle SZA = ACOS( MIN( MAX( U0, -1._fp ), 1._fp ) ) / PI_180 ! Skip if dark conditions SZA > 98.0 deg => tan ht = 63 km if (SZA .gt. 98.e+0_fp) cycle ! Offset used for GEOS-Chem with fast-jx is 186; 172 in Cloud-J SOLF = 1.e+0_fp - ( 0.034e+0_fp & * cos( dble( DAY_OF_YEAR - 172 ) * 2.e+0_fp * PI / 365.e+0_fp ) ) !----------------------------------------------------------------- ! Vertical climatology profiles !----------------------------------------------------------------- ! Cloud-J requires climatology vertical profiles for: ! Temperature [K] ! Ozone [# O3 molec/cm2] ! Edge altitude [cm] ! Path density (air column) [# molec/cm2] ! We compute these from CTM values per timestep ! Temperature profile [K] T_CTM(1:State_Grid%NZ) = State_Met%T(I,J,1:State_Grid%NZ) T_CTM(State_Grid%NZ+1) = T_CTM(State_Grid%NZ) ! Pressure profile [hPa] P_CTM(1:State_Grid%NZ+1) = State_Met%PEDGE(I,J,1:State_Grid%NZ+1) P_CTM(State_Grid%NZ+2) = State_Met%PEDGE(I,J,State_Grid%NZ+1) / 10.d0 ! Ozone profile [molec/cm3] MaxLev = State_Met%ChemGridLev(I,J) O3_CTM = 0e+0_fp O3_CTM(1:MaxLev) = State_Chm%Species(id_O3)%Conc(I,J,1:MaxLev) ! Compute climatology. This subroutine is analogous to Cloud-J ACLIM_FJX. CALL Set_Clim_Profiles( I, J, MONTH, & DAY, T_CTM, P_CTM, & O3_CTM, T_CLIM, O3_CLIM, & Z_CLIM, AIR_CLIM, Input_Opt, & State_Grid, State_Chm, State_Met ) !----------------------------------------------------------------- ! Clouds and humidity !----------------------------------------------------------------- CLDIW(:) = 0 ! Cloud type flag [0=none, 1=water, 2=ice, 3=both] CLDF(:) = 0.d0 ! Cloud fraction [unitless] IWP(:) = 0.d0 ! Ice cloud mass [g/m2] LWP(:) = 0.d0 ! Water cloud mass [g/m2] REFFI(:) = 0.d0 ! Ice cloud effective radius [microns] REFFL(:) = 0.d0 ! Water cloud effective radius [microns] ! Set cloud fraction from input meteorology field CLDF(1:State_Grid%NZ) = State_Met%CLDF(I,J,1:State_Grid%NZ) CLDF(State_Grid%NZ+1) = CLDF(State_Grid%NZ) ! Set relative humidity from input meteorology field and convert ! from percent to fraction RRR(1:State_Grid%NZ) = State_Met%RH(I,J,1:State_Grid%NZ) / 100.d0 ! Set top of atmosphere relative humidity to 10% of layer below RRR(State_Grid%NZ+1) = RRR(State_Grid%NZ) * 1.d-1 ! Loop over # layers in cloud-j (layers with clouds) DO L = 1, LWEPAR ! Get in-cloud liquid and ice water content from met-fields [kg/kg] LWC = State_Met%QL(I,J,L) IWC = State_Met%QI(I,J,L) ! Compute cloud type flag and reset cloud fraction if below threshold IF ( CLDF(L) .GT. 0.005d0 ) THEN IF ( LWC .GT. 1.d-11 ) CLDIW(L) = 1 IF ( IWC .GT. 1.d-11 ) CLDIW(L) = CLDIW(L) + 2 ELSE CLDF(L) = 0.d0 ENDIF ! NOTES ON EFFECTIVE RADIUS FROM M. PRATHER: ! Compute effective radius [microns] of liquid water cloud and liquid ice cloud ! based on met-fields for in-cloud water content and in-cloud optical depth. ! ! Note: The approach used here is consistent with the cloud optical depth ! calculation within Cloud-J but makes an assumption of extinction efficiency ! Q = 2.06. This works because all cloud Reffs are much bigger ! (2*pi*Reff >> 500 nm) so that Q (extinction efficiency = optical cross ! section / pi*r*r) is nearly constant at 2.06 (see the cloud scattering ! tables in Cloud-J). ! Compute liquid water path [g/m2] and effective radius [microns] DELTA_P = P_CTM(L) - P_CTM(L+1) IF ( State_Met%TAUCLW(I,J,L) .GT. 0.d0 ) THEN LWP(L) = 1000.d0 * LWC * DELTA_P * g0_100 REFFL(L) = LWP(L) * 0.75d0 * 2.06d0 / ( State_Met%TAUCLW(I,J,L) * 1.d0 ) ENDIF ! Compute ice water path [g/m2] and effective radius [microns] IF ( State_Met%TAUCLI(I,J,L) .GT. 0.d0 ) THEN IWP(L) = 1000.d0 * IWC * DELTA_P * g0_100 REFFI(L) = IWP(L) * 0.75d0 * 2.06d0 / ( State_Met%TAUCLI(I,J,L) * 0.917d0 ) ENDIF ENDDO !----------------------------------------------------------------- ! Water concentration [molecules/cm2] for UV absorption by H2O !----------------------------------------------------------------- IF ( id_H2O > 0 ) THEN ! Set water concentration from species concentration currently in [molecules/cm3] DO L= 1, State_Grid%NZ HHH(L) = State_Chm%Species(id_H2O)%Conc(I,J,L) * State_Met%BXHEIGHT(I,J,L) * 1.0e+2_fp ENDDO ELSE DO L= 1, State_Grid%NZ ! Convert specific humidity from [g H2O/kg total air] to [kg H2O/kg total air] SPHU_kgkg = State_Met%SPHU(I,J,L) * 1.e-3_fp ! Compute H2O concentration as [kg/kg dry air] H2O_kgkgdry = SPHU_kgkg / ( 1.0e+0_fp - SPHU_kgkg ) ! Compute H2O molecular weight as [kg/mol] MW_kg = H2OMW * 1.e-3_fp ! Convert [kg/kg dry] to [molecules/cm2] HHH(L) = H2O_kgkgdry * State_Met%AIRDEN(I,J,L) * State_Met%BXHEIGHT(I,J,L) & * 1.0e-4_fp * AVO / MW_kg ENDDO ENDIF HHH(State_Grid%NZ+1) = HHH(State_Grid%NZ) !----------------------------------------------------------------- ! Compute aerosol concentrations [g/m2] !----------------------------------------------------------------- ! AERSP is column concentration in g/m2 for each aerosol. The array currently ! includes entries for clouds but these are not used in Cloud-J and can be ! left as zero. Clouds are handled separately using water path and effective ! radius computed above. ! ! AERSP size is (L1_, AN_) where, ! AN_ is # of separate aerosols per layer (=37 for GEOS-Chem) ! L1_ is # of layer of edges (=73) ! Initialize conentration array to zero AERSP(:,:) = 0.d0 ! Only populate aerosol concentration array if using fullchem or aerosol ! simulation. Mercury simulation does not carry dust/aerosols as species. IF ( Input_Opt%ITS_A_FULLCHEM_SIM .OR. Input_Opt%ITS_AN_AEROSOL_SIM ) THEN ! Set values in loop over levels DO L= 1, State_Grid%NZ ! Layer height [m] BoxHt = State_Met%BXHEIGHT(I,J,L) !--------------------------------------- ! Non-aerosols in array !-------------------------------------- ! Leave AERSP(L,1:3) as zero since non-aerosols (black carbon ! absorber, water cloud, and irregular ice cloud) !--------------------------------------- ! Mineral dust [kg/m3] -> [g/m2] !-------------------------------------- DO K = 4, 10 AERSP(L,K) = State_Chm%SOILDUST(I,J,L,K-3) * BoxHt * 1.d3 ENDDO !--------------------------------------- ! Aerosols undergoing hydroscopic growth !-------------------------------------- IF ( State_Met%InChemGrid(I,J,L) ) THEN ! For aerosols undergoing hygroscopic growth we need to pass the ! concentration that will be used in Cloud-J with humidity-dependent ! parameters. This means we need to convert from dry to wet concentration ! depending on this grid cell's humidity. We do this by computing an ! effective radius by linearly interpolating between LUT radius values ! for each aerosol given the current relative humidity and then applying ! a wet to dry conversion factor of ( Reff / Rdry )^^3 to the dry ! concentration. This is only done for the hydrophilic concentrations. ! Hydrophobic black and organic carbon are not converted to wet. ! ! In addition to this we apply two conversion factors to take into account ! that Cloud-J does not interpolate extinction and effective radius between ! relative humidity entries in FJX_spec-aer.dat when computing optical ! depth. A conversion factor based on linear interpolation of the parameters ! is computed and applied to the concentration passed into Cloud-J. This ! effectively scales the extinction and radius within the optical depth ! calculation within Cloud-J. For consistency with Fast-JX previously ! implemented in GEOS-Chem we use values at 1000 nm for extinction interpolation. ! ! We also separate the concentration array into 5 different arrays, ! one for each relative humidity entry in FJX_spec-aer.dat. Values are ! zero in each array except where current relative humidity falls within the ! pre-defined relative humidity range for each entry. For example, ! AERSP(L,11-15) are 5 values of sulfate for the same grid box. If RH is ! between 0 and 50 then only AERSP(L,11) is non-zero. AERSP(L,12:15) are ! all zero values. ! Humidity bin for aerosols (1:<=50, 2:<=70, 3:<=80; 4:<=90, else 5) RH_ind = Get_RH_Index( State_Met%RH(I,J,L) ) !---------------------------------------------------- ! Sulfate [dry molec/cm3] -> [wet g/m2] (troposphere only) !---------------------------------------------------- IF ( Input_Opt%LSULF .AND. State_Met%InTroposphere(I,J,L) ) THEN ! Get indexes to optical property LUT S_rh0 = 3 + NDUST + NRHAER*(SO4_ind-1) + 1 ! SO4 index for RH=0 in NDXAER S_rhx = S_rh0 + RH_ind - 1 ! Sulfate index for this RH K_rh0 = NDXAER(L,S_rh0) ! index for RH=0 in FJX_spec-aer.dat K_rhx = NDXAER(L,S_rhx) ! index for this RH in FJX_spec-aer.dat ! Get interpolated effective radius and extinction for RH in this grid box IF ( RH_ind == NRH ) THEN RAA_eff = RAA(K_rhx) QAA_eff = QAA(ind_1000,K_rhx) ELSE FRAC = ( State_Met%RH(I,J,L) - RH_lut(RH_ind) ) & / ( RH_lut(RH_ind+1) - RH_lut(RH_ind) ) RAA_eff = RAA(K_rhx) + FRAC * ( RAA(K_rhx+1) - RAA(K_rhx) ) QAA_eff = QAA(ind_1000,K_rhx) & + FRAC * ( QAA(ind_1000,K_rhx+1) - QAA(ind_1000,K_rhx) ) ENDIF dry_to_wet_factor = ( RAA_eff / RAA(K_rh0) )**3 R_interp_factor = RAA_eff / RAA(K_rhx) Q_interp_factor = QAA_eff / QAA(ind_1000,K_rhx) ! Set concentration, converting [dry kg/m3] -> [wet g/m2] AERSP(L,S_rhx) = State_Chm%AerMass%SO4_NH4_NIT(I,J,L) * BoxHt * 1.d3 * dry_to_wet_factor & * Q_interp_factor / R_interp_factor ENDIF !---------------------------------------------------- ! Carbon !---------------------------------------------------- IF ( Input_Opt%LCARB ) THEN !---------------------------------------------------- ! Black carbon !---------------------------------------------------- ! Get indexes to optical property LUT S_rh0 = 3 + NDUST + NRHAER*(BC_ind-1) + 1 ! BC index for RH=0 in NDXAER S_rhx = S_rh0 + RH_ind - 1 ! BC index for this RH K_rh0 = NDXAER(L,S_rh0) ! index for RH=0 in FJX_spec-aer.dat K_rhx = NDXAER(L,S_rhx) ! index for this RH in FJX_spec-aer.dat ! Get interpolated effective radius and extinction for RH in this grid box IF ( RH_ind == NRH ) THEN RAA_eff = RAA(K_rhx) ! effective radius QAA_eff = QAA(ind_1000,K_rhx) ! scattering phase function SAA_eff = SAA(ind_1000,K_rhx) ! single scattering albedo ELSE FRAC = ( State_Met%RH(I,J,L) - RH_lut(RH_ind) ) & / ( RH_lut(RH_ind+1) - RH_lut(RH_ind) ) RAA_eff = RAA(K_rhx) + FRAC * ( RAA(K_rhx+1) - RAA(K_rhx) ) QAA_eff = QAA(ind_1000,K_rhx) + FRAC * ( QAA(ind_1000,K_rhx+1) - QAA(ind_1000,K_rhx) ) SAA_eff = SAA(ind_1000,K_rhx) + FRAC * ( SAA(ind_1000,K_rhx+1) - SAA(ind_1000,K_rhx) ) ENDIF dry_to_wet_factor = ( RAA_eff / RAA(K_rh0) )**3 R_interp_factor = RAA_eff / RAA(K_rhx) Q_interp_factor = QAA_eff / QAA(ind_1000,K_rhx) ! Set concentration IF ( Input_Opt%LBCAE ) THEN ! Apply BC absorption enhancement (if using) first for hydrophilic BC AERSP(L,S_rhx) = State_Chm%AerMass%BCPI(I,J,L) & * ( Input_Opt%BCAE_1 + SAA_eff * (1.d0 - Input_Opt%BCAE_1) ) & * dry_to_wet_factor * Q_interp_factor / R_interp_factor ! Now apply hydrophobic using single scattering albedo for zero humidity AERSP(L,S_rhx) = AERSP(L,S_rhx) + State_Chm%AerMass%BCPO(I,J,L) & * ( Input_Opt%BCAE_2 + SAA(ind_1000,K_rh0) * (1.d0 - Input_Opt%BCAE_2) ) ELSE ! No BC absorption enhancement AERSP(L,S_rhx) = State_Chm%AerMass%BCPO(I,J,L) & + State_Chm%AerMass%BCPI(I,J,L) & * dry_to_wet_factor * Q_interp_factor / R_interp_factor ENDIF ! Convert to [dry kg/m3] -> [wet g/m2] AERSP(L,S_rhx) = AERSP(L,S_rhx) * 1.d3 * BoxHt !---------------------------------------------------- ! Organic carbon !---------------------------------------------------- ! Get indexes to optical property LUT S_rh0 = 3 + NDUST + NRHAER*(OC_ind-1) + 1 ! OC index for RH=0 in NDXAER S_rhx = S_rh0 + RH_ind - 1 ! OC index for this RH K_rh0 = NDXAER(L,S_rh0) ! index for RH=0 in FJX_spec-aer.dat K_rhx = NDXAER(L,S_rhx) ! index for this RH in FJX_spec-aer.dat ! Get interpolated effective radius and extinction for RH in this grid box IF ( RH_ind == NRH ) THEN RAA_eff = RAA(K_rhx) QAA_eff = QAA(ind_1000,K_rhx) ELSE FRAC = ( State_Met%RH(I,J,L) - RH_lut(RH_ind) ) & / ( RH_lut(RH_ind+1) - RH_lut(RH_ind) ) RAA_eff = RAA(K_rhx) + FRAC * ( RAA(K_rhx+1) - RAA(K_rhx) ) QAA_eff = QAA(ind_1000,K_rhx) + FRAC * ( QAA(ind_1000,K_rhx+1) - QAA(ind_1000,K_rhx) ) ENDIF dry_to_wet_factor = ( RAA_eff / RAA(K_rh0) )**3 R_interp_factor = RAA_eff / RAA(K_rhx) Q_interp_factor = QAA_eff / QAA(ind_1000,K_rhx) ! Set concentration, converting [dry kg/m3] -> [wet g/m2] AERSP(L,S_rhx) = ( State_Chm%AerMass%OCPO(I,J,L) & + ( State_Chm%AerMass%OCPISOA(I,J,L) & * dry_to_wet_factor * Q_interp_factor / R_interp_factor ) ) & * 1.d3 * BoxHt ENDIF !---------------------------------------------------- ! Seasalt [dry molec/cm3] -> [wet g/m2] !---------------------------------------------------- IF ( Input_Opt%LSSALT ) THEN !---------------------------------------------------- ! Accumulation mode seasalt !---------------------------------------------------- ! Get indexes to optical property LUT S_rh0 = 3 + NDUST + NRHAER*(SALA_ind-1) + 1 ! SALA index for RH=0 in NDXAER S_rhx = S_rh0 + RH_ind - 1 ! SALA index for this RH K_rh0 = NDXAER(L,S_rh0) ! index for RH=0 in FJX_spec-aer.dat K_rhx = NDXAER(L,S_rhx) ! index for this RH in FJX_spec-aer.dat ! Get interpolated effective radius and extinction for RH in this grid box IF ( RH_ind == NRH ) THEN RAA_eff = RAA(K_rhx) QAA_eff = QAA(ind_1000,K_rhx) ELSE FRAC = ( State_Met%RH(I,J,L) - RH_lut(RH_ind) ) & / ( RH_lut(RH_ind+1) - RH_lut(RH_ind) ) RAA_eff = RAA(K_rhx) + FRAC * ( RAA(K_rhx+1) - RAA(K_rhx) ) QAA_eff = QAA(ind_1000,K_rhx) + FRAC * ( QAA(ind_1000,K_rhx+1) - QAA(ind_1000,K_rhx) ) ENDIF dry_to_wet_factor = ( RAA_eff / RAA(K_rh0) )**3 R_interp_factor = RAA_eff / RAA(K_rhx) Q_interp_factor = QAA_eff / QAA(ind_1000,K_rhx) ! Set concentration, converting [dry kg/m3] -> [wet g/m2] AERSP(L,S_rhx) = State_Chm%AerMass%SALA(I,J,L) * BoxHt * 1.d3 * dry_to_wet_factor & * Q_interp_factor / R_interp_factor !---------------------------------------------------- ! Coarse seasalt !---------------------------------------------------- ! Get indexes to optical property LUT S_rh0 = 3 + NDUST + NRHAER*(SALC_ind-1) + 1 ! SALC index for RH=0 in NDXAER S_rhx = S_rh0 + RH_ind - 1 ! SALC index for this RH K_rh0 = NDXAER(L,S_rh0) ! index for RH=0 in FJX_spec-aer.dat K_rhx = NDXAER(L,S_rhx) ! index for this RH in FJX_spec-aer.dat ! Get interpolated effective radius and extinction for RH in this grid box IF ( RH_ind == NRH ) THEN RAA_eff = RAA(K_rhx) QAA_eff = QAA(ind_1000,K_rhx) ELSE FRAC = ( State_Met%RH(I,J,L) - RH_lut(RH_ind) ) & / ( RH_lut(RH_ind+1) - RH_lut(RH_ind) ) RAA_eff = RAA(K_rhx) + FRAC * ( RAA(K_rhx+1) - RAA(K_rhx) ) QAA_eff = QAA(ind_1000,K_rhx) + FRAC * ( QAA(ind_1000,K_rhx+1) - QAA(ind_1000,K_rhx) ) ENDIF dry_to_wet_factor = ( RAA_eff / RAA(K_rh0) )**3 R_interp_factor = RAA_eff / RAA(K_rhx) Q_interp_factor = QAA_eff / QAA(ind_1000,K_rhx) ! Set concentration, converting [dry molec/cm3] -> [wet g/m2] AERSP(L,S_rhx) = State_Chm%AerMass%SALC(I,J,L) * BoxHt * 1.d3 * dry_to_wet_factor & * Q_interp_factor / R_interp_factor ENDIF ENDIF !------------------------ ! Stratospheric aerosols !------------------------ MW_g = State_Chm%SpcData(id_SO4)%Info%MW_g ! Use sulfate concentration for stratospheric aerosols. Only set if the optical ! depth computed in GEOS-Chem is non-zero. ! SSA/LBS/STS IF ( State_Chm%Phot%ODAER(I,J,L,State_Chm%Phot%IWV1000,6) > 0._fp ) THEN AERSP(L,36) = State_Chm%Species(id_SO4)%Conc(I,J,L) & * MW_g / AVO * BoxHt * 1e+6_fp ENDIF ! NAT/ice PSCs IF ( State_Chm%Phot%ODAER(I,J,L,State_Chm%Phot%IWV1000,7) > 0._fp ) THEN AERSP(L,37) = State_Chm%Species(id_SO4)%Conc(I,J,L) & * MW_g / AVO * BoxHt * 1e+6_fp ENDIF ENDDO ! levels ENDIF ! fullchem/aerosol simulation only ! Set TOA equal to concentration in top level AERSP(State_Grid%NZ+1,:) = AERSP(State_Grid%NZ,:) ! Debugging option to set contributions from different sources to zero. ! Uncomment if using. !IF ( .NOT. use_liqcld ) LWP(:) = 0.d0 !IF ( .NOT. use_icecld ) IWP(:) = 0.d0 !IF ( .NOT. use_dust ) AERSP(:,4:10) = 0.d0 !IF ( .NOT. use_so4 ) AERSP(:,11:15) = 0.d0 !IF ( .NOT. use_bc ) AERSP(:,16:20) = 0.d0 !IF ( .NOT. use_oc ) AERSP(:,21:25) = 0.d0 !IF ( .NOT. use_sala ) AERSP(:,26:30) = 0.d0 !IF ( .NOT. use_salc ) AERSP(:,31:35) = 0.d0 !IF ( .NOT. use_stratso4 ) AERSP(:,36) = 0.d0 !IF ( .NOT. use_psc ) AERSP(:,37) = 0.d0 !----------------------------------------------------------------- ! Set remaining inputs needed for Cloud_JX !----------------------------------------------------------------- ! UV surface albedo [unitless] ! Use same value for all levels and wavelengths RFL(1:5,:) = State_Met%UVALBEDO(I,J) ! Cloud correlation coefficient CLDCOR = 0.33 ! Only used for CLDFLAG = 5 IRAN = 1 ! Required variables that are not used CCC = 0.d0 !----------------------------------------------------------------- ! Call Cloud_JX !----------------------------------------------------------------- ! Cloud_JX output list for easy reference: ! SKPERD, SWMSQ, OD18, NICA, JCOUNT, LDARK, WTQCA ! ewl debug IF ( LPRTJ ) THEN print *, "Calling Cloud_JX with the following inputs: " print *, " -> U0 : ", U0 print *, " -> SZA : ", SZA print *, " -> RFL : ", RFL print *, " -> SOLF : ", SOLF print *, " -> P_CTM : ", P_CTM print *, " -> Z_CLIM : ", Z_CLIM print *, " -> T_CLIM : ", T_CLIM print *, " -> HHH : ", HHH print *, " -> AIR_CLIM : ", AIR_CLIM print *, " -> RRR : ", RRR print *, " -> O3_CLIM : ", O3_CLIM print *, " -> CCC : ", CCC print *, " -> LWP : ", LWP print *, " -> IWP : ", IWP print *, " -> REFFL : ", REFFL print *, " -> REFFI : ", REFFI print *, " -> CLDF : ", CLDF print *, " -> CLDCOR : ", CLDCOR print *, " -> CLDIW : ", CLDIW print *, " -> AERSP : ", AERSP print *, " -> IRAN : ", IRAN ENDIF CALL Cloud_JX( U0, SZA, RFL, SOLF, LPRTJ, & P_CTM, Z_CLIM, T_CLIM, HHH, AIR_CLIM, & RRR, O3_CLIM, CCC, LWP, IWP, & REFFL, REFFI, CLDF, CLDCOR, CLDIW, & AERSP, NDXAER, L1_, AN_, JVN_, & VALJXX, SKPERD, SWMSQ, OD18, IRAN, & NICA, JCOUNT, LDARK, WTQCA, RC, & DirSfcFlux=DirSfcFlux, DiffSfcFlux=DiffSfcFlux, & DepFlux=DepFlux, DiffTopFlux=DiffTopFlux ) !----------------------------------------------------------------- ! Fill GEOS-Chem array ZPJ with J-values !----------------------------------------------------------------- DO L=1,State_Met%MaxChemLev DO K=1,State_Chm%Phot%nPhotRxns IF (JIND(K).gt.0) THEN State_Chm%Phot%ZPJ(L,K,I,J) = VALJXX(L,JIND(K))*JFACTA(K) ELSE State_Chm%Phot%ZPJ(L,K,I,J) = 0.e+0_fp ENDIF ENDDO ENDDO ! Set J-rates outside the chemgrid to zero IF (State_Met%MaxChemLev.lt.L_) THEN DO L=State_Met%MaxChemLev+1,L_ DO K=1,State_Chm%Phot%nPhotRxns State_Chm%Phot%ZPJ(L,K,I,J) = 0.e+0_fp ENDDO ENDDO ENDIF !----------------------------------------------------------------- ! Diagnostics for 600 nm optical depth computed in Cloud-J !----------------------------------------------------------------- IF ( State_Diag%Archive_OD600 ) THEN State_Diag%OD600(I,J,1:State_Grid%NZ) = OD18(1:State_Grid%NZ) ENDIF IF ( State_Diag%Archive_TCOD600 ) THEN State_Diag%TCOD600(I,J) = SUM(OD18(:)) ENDIF !----------------------------------------------------------------- ! UV radiative flux diagnostics (direct, diffuse, net) [W/m2] ! Convention: negative is downwards !----------------------------------------------------------------- IF ( State_Diag%Archive_UVFluxDiffuse .or. & State_Diag%Archive_UVFluxDirect .or. & State_Diag%Archive_UVFluxNet ) THEN ! Loop over wavelength bins DO K = 1, W_ ! Initialize FDIRECT = 0.0_fp FDIFFUSE = 0.0_fp ! Direct & diffuse fluxes at each level FDIRECT(1) = DirSfcFlux(K) ! surface FDIFFUSE(1) = DiffSfcFlux(K) ! surface DO L = 2, State_Grid%NZ FDIRECT(L) = FDIRECT(L-1) + DepFlux(L-1,K) FDIFFUSE(L) = DiffTopFlux(L-1,K) ENDDO ! Constant to multiply UV fluxes at each wavelength bin UVX_CONST = SOLF * FL(K) * State_Chm%Phot%UVXFACTOR(K) ! Archive into diagnostic arrays DO L = 1, State_Grid%NZ IF ( State_Diag%Archive_UVFluxNet ) THEN S = State_Diag%Map_UvFluxNet%id2slot(K) IF ( S > 0 ) THEN State_Diag%UVFluxNet(I,J,L,S) = & State_Diag%UVFluxNet(I,J,L,S) + & ( ( FDIRECT(L) + FDIFFUSE(L) ) * UVX_CONST ) ENDIF ENDIF IF ( State_Diag%Archive_UVFluxDirect ) THEN S = State_Diag%Map_UvFluxDirect%id2slot(K) IF ( S > 0 ) THEN State_Diag%UVFluxDirect(I,J,L,S) = & State_Diag%UVFluxDirect(I,J,L,S) + & ( FDIRECT(L) * UVX_CONST ) ENDIF ENDIF IF ( State_Diag%Archive_UVFluxDiffuse ) THEN S = State_Diag%Map_UvFluxDiffuse%id2slot(K) IF ( S > 0 ) THEN State_Diag%UVFluxDiffuse(I,J,L,S) = & State_Diag%UVFluxDiffuse(I,J,L,S) + & ( FDIFFUSE(L) * UVX_CONST ) ENDIF ENDIF ENDDO ENDDO ENDIF ENDDO ENDDO !$OMP END PARALLEL DO IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in subroutine Cloud_JX within Cloud-J photolysis' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Reset first-time flag FIRST=.FALSE. END SUBROUTINE Run_CloudJ !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: set_clim_profiles ! ! !DESCRIPTION: Subroutine SET\_CLIM_\PROFILES sets vertical climatology profiles ! for a given latitude and longitude. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Set_Clim_Profiles( ILON, ILAT, MONTH, & DAY, T_CTM, P_CTM, & O3_CTM, T_CLIM, O3_CLIM, & Z_CLIM, AIR_CLIM, Input_Opt, & State_Grid, State_Chm, State_Met ) ! ! !USES: ! USE Cldj_Cmn_Mod, ONLY : L_, L1_, ZZHT USE Input_Opt_Mod, ONLY : OptInput USE PhysConstants, ONLY : AIRMW, AVO, g0, BOLTZ USE State_Grid_Mod, ONLY : GrdState USE State_Chm_Mod, ONLY : ChmState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: ILON ! Longitude index INTEGER, INTENT(IN) :: ILAT ! Latitude index INTEGER, INTENT(IN) :: MONTH ! Month INTEGER, INTENT(IN) :: DAY ! Day *of month* REAL(fp), INTENT(IN) :: T_CTM(L1_) ! CTM temperatures (K) REAL(fp), INTENT(IN) :: P_CTM(L1_+1) ! CTM edge pressures (hPa) REAL(fp), INTENT(IN) :: O3_CTM(L1_) ! CTM ozone (molec/cm3) TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !OUTPUT VARIABLES: ! REAL(fp), INTENT(OUT) :: T_CLIM(L1_) ! Clim. temperatures (K) REAL(fp), INTENT(OUT) :: Z_CLIM(L1_+1) ! Edge altitudes (cm) REAL(fp), INTENT(OUT) :: O3_CLIM(L1_) ! O3 column depth (#/cm2) REAL(fp), INTENT(OUT) :: AIR_CLIM(L1_) ! O3 column depth (#/cm2) ! ! !REMARKS: ! ! !REVISION HISTORY: ! 14 Dec 2022 - E. Lundgren - Adapted from Set_Prof_FastJX for use with Cloud-J ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: J, K, L, M REAL(fp) :: DLOGP,F0,T0,PB,PC,XC,MASFAC,SCALEH REAL(fp) :: PSTD(52),OREF2(51),TREF2(51) REAL(fp) :: PROFCOL !================================================================= ! Set_Clim_Profiles begins here! !================================================================= !================================================================= ! Set up pressure levels for O3/T climatology - assume that value ! given for each 2 km z* level applies from 1 km below to 1 km ! above, so select pressures at these boundaries. Surface level ! values at 1000 mb are assumed to extend down to the actual ! surface pressure for this lat/lon. !================================================================= PSTD(1) = MAX(P_CTM(1),1000.e+0_fp) PSTD(2) = 1000.e+0_fp * 10.e+0_fp ** (-1.e+0_fp/16.e+0_fp) DLOGP = 10.e+0_fp**(-2.e+0_fp/16.e+0_fp) DO K=3,51 PSTD(K) = PSTD(K-1) * DLOGP ENDDO PSTD(52) = 0.e+0_fp ! Mass factor - delta-Pressure [hPa] to delta-Column [molec/cm2] MASFAC = 100.e+0_fp * AVO / ( AIRMW * g0 * 10.e+0_fp ) ! Select appropriate monthly and latitudinal profiles ! Now use State_Grid%YMid instead of Oliver's YDGRD(NSLAT) M = MAX( 1, MIN( 12, MONTH ) ) J = MAX( 1, MIN( 18, ( INT(State_Grid%YMid(ILON,ILAT)) + 99 ) / 10 ) ) ! Temporary arrays for climatology data DO K = 1, 51 OREF2(K) = State_Chm%Phot%OREF(K,J,M) TREF2(K) = State_Chm%Phot%TREF(K,J,M) ENDDO ! Apportion O3 and T on supplied climatology z* levels onto CTM levels ! with mass (pressure) weighting, assuming constant mixing ratio and ! temperature half a layer on either side of the point supplied. DO L = 1, L1_ F0 = 0.e+0_fp T0 = 0.e+0_fp DO K = 1, 51 PC = MIN( P_CTM(L), PSTD(K) ) PB = MAX( P_CTM(L+1), PSTD(K+1) ) IF ( PC .GT. PB ) THEN XC = ( PC - PB ) / ( P_CTM(L) - P_CTM(L+1) ) F0 = F0 + OREF2(K)*XC T0 = T0 + TREF2(K)*XC ENDIF ENDDO T_CLIM(L) = T0 O3_CLIM(L) = F0 * 1.e-6_fp ENDDO !================================================================= ! Calculate effective altitudes using scale height at each level !================================================================= Z_CLIM(1) = 0.e+0_fp DO L = 1, L_ SCALEH = BOLTZ * 1.e+4_fp * MASFAC * T_CLIM(L) Z_CLIM(L+1) = Z_CLIM(L) - ( LOG( P_CTM(L+1) / P_CTM(L) ) * SCALEH ) ENDDO Z_CLIM(L1_+1)=Z_CLIM(L1_) + ZZHT !================================================================= ! Calculate column quantities for Cloud-J !================================================================= PROFCOL = 0e+0_fp DO L = 1, L1_ ! Monthly mean air Column [molec/cm2] AIR_CLIM(L) = ( P_CTM(L) - P_CTM(L+1) ) * MASFAC ! Monthly mean O3 column [molec/cm2] O3_CLIM(L) = O3_CLIM(L) * AIR_CLIM(L) ! Monthly mean O3 column [DU] PROFCOL = PROFCOL + ( O3_CLIM(L) / 2.69e+16_fp ) ENDDO !ewl: is this needed? !! Top values are special (do not exist in CTM data) !AIR_CLIM(L1_) = P_CTM(L1_) * MASFAC !O3_CLIM(L1_) = O3_CLIM(L1_) * AIR_CLIM(L1_) ! Scale monthly O3 profile to the daily O3 profile (if available) DO L = 1, L1_ ! Use online O3 values in the chemistry grid if selected; otherwise use ! O3 values from the met fields or TOMS/SBUV IF ( ( Input_opt%Use_Online_O3 ) & .AND. ( L <= State_Met%MaxChemLev ) & .AND. ( O3_CTM(L) > 0e+0_fp ) ) THEN ! Convert from molec/cm3 to molec/cm2 O3_CLIM(L) = O3_CTM(L) * (Z_CLIM(L+1)-Z_CLIM(L)) ELSEIF (State_Chm%TO3_Daily(ILON,ILAT) > 0e+0_fp) THEN ! NOTE: replaced O3_TOMS with State_Chm%TO3_Daily since is the equivalent O3_CLIM(L) = O3_CLIM(L) * ( State_Chm%TO3_Daily(ILON,ILAT) / PROFCOL ) ENDIF ENDDO END SUBROUTINE Set_Clim_Profiles !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_RH_Index ! ! !DESCRIPTION: Function GET\_RH_\Index gets index corresponding to relative ! humidity bin used in Cloud-J tables (1-5). !\\ !\\ ! !INTERFACE: ! FUNCTION Get_RH_Index( RH ) RESULT( index ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: RH ! Relative humidity [%] ! ! !RETURN VALUE: ! INTEGER :: index ! ! !REMARKS: ! ! !REVISION HISTORY: ! 29 Nov 2023 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC IF ( RH <= 50 ) THEN index = 1 RETURN ENDIF IF ( RH <= 70 ) THEN index = 2 RETURN ENDIF IF ( RH <= 80 ) THEN index = 3 RETURN ENDIF IF ( RH <= 90 ) THEN index = 4 RETURN ENDIF index = 5 END FUNCTION Get_RH_Index !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: CldJ_Dryrun_Check ! ! !DESCRIPTION: Checks if the CLOUD-J configuration files are present ! on disk or if they need to be downloaded by dry-run. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CloudJ_DryRun_Check( Input_Opt ) ! ! USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object ! ! !REMARKS: ! ! !REVISION HISTORY: ! 19 Dec 2023 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! Scalars LOGICAL :: amIRoot ! Strings CHARACTER(LEN=255) :: filePath !======================================================================== ! CloudJ_DryRun_Check begins here! !======================================================================== amIRoot = Input_Opt%amIRoot filePath = TRIM( Input_Opt%CloudJ_Dir ) // 'FJX_spec.dat' CALL Check_File_For_DryRun( filePath, amIRoot ) filePath = TRIM( Input_Opt%CloudJ_Dir ) // 'FJX_scat-aer.dat' CALL Check_File_For_DryRun( filePath, amIRoot ) filePath = TRIM( Input_Opt%CloudJ_Dir ) // 'FJX_scat-cld.dat' CALL Check_File_For_DryRun( filePath, amIRoot ) filePath = TRIM( Input_Opt%CloudJ_Dir ) // 'FJX_scat-ssa.dat' CALL Check_File_For_DryRun( filePath, amIRoot ) filePath = TRIM( Input_Opt%CloudJ_Dir ) // 'FJX_j2j.dat' CALL Check_File_For_DryRun( filePath, amIRoot ) END SUBROUTINE CloudJ_DryRun_Check !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Check_File_For_DryRun ! ! !DESCRIPTION: Checks the status of a single file in dry-run simulations. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Check_File_for_DryRun( filePath, amIRoot ) ! ! USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: filePath ! Abs path of file to check LOGICAL, INTENT(IN) :: amIRoot ! Are we on the root core? ! ! !REVISION HISTORY: ! 19 Dec 2023 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! Scalars LOGICAL :: fileExists ! Strings CHARACTER(LEN=512) :: fileMsg !======================================================================== ! Check_File_for_DryRun begins here! !======================================================================== ! Test if the file exists INQUIRE( FILE=TRIM( filePath ), EXIST=fileExists ) ! Test if the file exists and define an output string IF ( fileExists ) THEN fileMsg = 'PHOTOLYSIS (dry-run): Opening' ELSE fileMsg = 'PHOTOLYSIS (dry-run): REQUIRED FILE NOT FOUND' ENDIF ! Write to stdout for both regular and dry-run simulations IF ( amIRoot ) THEN WRITE( 6, 10 ) TRIM( fileMsg ), TRIM( filePath ) 10 FORMAT( a, ' ', a ) ENDIF END SUBROUTINE Check_File_For_DryRun !EOC END MODULE CLDJ_INTERFACE_MOD ================================================ FILE: GeosCore/cleanup.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: cleanup.F90 ! ! !DESCRIPTION: Subroutine CLEANUP deallocates the memory assigned to ! dynamically allocatable arrays just before exiting a GEOS-Chem simulation. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CLEANUP( Input_Opt, State_Grid, ERROR, RC ) ! ! !USES: ! USE CARBON_MOD, ONLY : CLEANUP_CARBON USE Carbon_Gases_Mod, ONLY : Cleanup_Carbon_Gases USE DEPO_MERCURY_MOD, ONLY : CLEANUP_DEPO_MERCURY USE DRYDEP_MOD, ONLY : CLEANUP_DRYDEP USE DUST_MOD, ONLY : CLEANUP_DUST USE ErrCode_Mod USE ERROR_MOD, ONLY : DEBUG_MSG USE FullChem_MOD, ONLY : Cleanup_FullChem USE GLOBAL_Br_MOD, ONLY : CLEANUP_GLOBAL_Br USE History_Mod, ONLY : History_Cleanup USE Input_Opt_Mod, ONLY : OptInput USE AEROSOL_THERMODYNAMICS_MOD, ONLY : CLEANUP_ATE USE LAND_MERCURY_MOD, ONLY : CLEANUP_LAND_MERCURY USE LINEAR_CHEM_MOD, ONLY : CLEANUP_LINEAR_CHEM USE MERCURY_MOD, ONLY : CLEANUP_MERCURY USE ObsPack_Mod, ONLY : ObsPack_SpeciesMap_Cleanup USE OCEAN_MERCURY_MOD, ONLY : CLEANUP_OCEAN_MERCURY USE PJC_PFIX_MOD, ONLY : CLEANUP_PJC_PFIX USE PLANEFLIGHT_MOD, ONLY : CLEANUP_PLANEFLIGHT USE POPs_Mod, ONLY : Cleanup_POPs USE PRESSURE_MOD, ONLY : CLEANUP_PRESSURE USE SEASALT_MOD, ONLY : CLEANUP_SEASALT USE SULFATE_MOD, ONLY : CLEANUP_SULFATE USE State_Grid_Mod, ONLY : GrdState USE EMISSIONS_MOD, ONLY : EMISSIONS_FINAL USE SFCVMR_MOD, ONLY : FixSfcVmr_Final USE VDiff_Mod, ONLY : Cleanup_Vdiff #ifdef TOMAS USE TOMAS_MOD, ONLY : CLEANUP_TOMAS !sfarina, 1/16/13 #endif #ifdef MODEL_CLASSIC USE TPCORE_FVDAS_MOD, ONLY : EXIT_TPCORE USE TPCORE_WINDOW_MOD, ONLY : EXIT_TPCORE_WINDOW USE TRANSPORT_MOD, ONLY : CLEANUP_TRANSPORT #endif #ifdef RRTMG USE RRTMG_RAD_TRANSFER_MOD, ONLY : Cleanup_RRTMG_Rad_Transfer #endif IMPLICIT NONE ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input options TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid state object LOGICAL, INTENT(IN) :: ERROR ! Cleanup after error? ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REVISION HISTORY: ! 29 Nov 1999 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc !================================================================= ! CLEANUP begins here! !================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at CLEANUP (in module GeosCore/cleanup.F)' ! Echo info IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 100 ) ENDIF 100 FORMAT( ' - CLEANUP: deallocating arrays now...' ) !================================================================= ! ***** H I S T O R Y C L E A N U P ***** ! ! Finalize the History Component. ! Also closes all netCDF files that may still be open. !================================================================= ! Finalize the history component CALL History_Cleanup( RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "History_Cleanup"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !================================================================= ! Cleanup HEMCO !================================================================= CALL EMISSIONS_FINAL( ERROR, RC ) ! Cleanup surface mixing concentration module CALL FixSfcVmr_Final( RC ) !================================================================= ! Call cleanup routines from individual F90 modules !================================================================= CALL CLEANUP_CARBON() CALL CLEANUP_DRYDEP() CALL CLEANUP_DUST() CALL CLEANUP_ATE() CALL CLEANUP_PJC_PFIX() CALL CLEANUP_PRESSURE() CALL CLEANUP_SEASALT() CALL CLEANUP_SULFATE() CALL CLEANUP_LINEAR_CHEM() CALL Cleanup_FullChem( RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Cleanup_FlexChem"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF CALL Cleanup_Carbon_Gases( RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Cleanup_Carbon_Gases"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF #if defined( MODEL_CLASSIC ) IF ( State_Grid%NestedGrid ) THEN CALL EXIT_TPCORE_WINDOW() ELSE CALL EXIT_TPCORE() ENDIF #endif CALL CLEANUP_MERCURY() CALL CLEANUP_OCEAN_MERCURY() CALL CLEANUP_DEPO_MERCURY() CALL CLEANUP_LAND_MERCURY() CALL CLEANUP_PLANEFLIGHT() CALL Cleanup_Global_Br( RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Cleanup_Global_Br"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF CALL Cleanup_POPs( RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Cleanup_POPs"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF CALL CleanUp_Vdiff( RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Cleanup_Vdiff"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF #ifdef RRTMG CALL Cleanup_RRTMG_Rad_Transfer( RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Cleanup_RRTMG_Rad_Transfer"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF #endif #ifdef TOMAS CALL CLEANUP_TOMAS() #endif #if defined( MODEL_CLASSIC ) CALL CLEANUP_TRANSPORT() #endif END SUBROUTINE CLEANUP !EOC ================================================ FILE: GeosCore/convection_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: convection_mod.F90 ! ! !DESCRIPTION: Module CONVECTION\_MOD contains routines which select the ! proper convection code for different met field data sets. !\\ !\\ ! !INTERFACE: ! MODULE CONVECTION_MOD ! ! !USES: ! USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: DO_CONVECTION ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: DO_RAS_CLOUD_CONVECTION PRIVATE :: DO_GF_CLOUD_CONVECTION ! ! !REVISION HISTORY: ! 27 Jan 2004 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: do_convection ! ! !DESCRIPTION: Subroutine DO\_CONVECTION calls the appropriate convection q ! driver program for different met field data sets. !\\ !\\ ! !INTERFACE: ! SUBROUTINE DO_CONVECTION( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE Diagnostics_Mod, ONLY : Compute_Budget_Diagnostics USE ErrCode_Mod USE ERROR_MOD, ONLY : GEOS_CHEM_STOP USE Input_Opt_Mod, ONLY : OptInput USE PhysConstants USE Species_Mod, ONLY : Species USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_TS_DYN USE TIME_MOD, ONLY : GET_TS_CONV USE UnitConv_Mod USE WETSCAV_MOD, ONLY : COMPUTE_F ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 25 May 2005 - S. Wu - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N, NA, nAdvect, NW, EC, ISOL, S INTEGER :: I, J, L, NN, TS_DYN REAL(fp) :: AREA_M2, DT LOGICAL :: DO_ND14, DoConvFlux LOGICAL :: DO_ND38, DoWetLoss INTEGER :: TS_Conv REAL(f8) :: DT_Conv ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc ! Arrays REAL(fp) :: PEDGE (State_Grid%NZ+1) REAL(fp) :: DIAG14(State_Grid%NZ,State_Chm%nAdvect) REAL(fp) :: DIAG38(State_Grid%NZ,State_Chm%nWetDep) REAL(fp), TARGET :: FSOL (State_Grid%NX,State_Grid%NY,& State_Grid%NZ,State_Chm%nAdvect) ! Pointers REAL(fp), POINTER :: F(:,:) REAL(fp), POINTER :: p_FSOL(:,:,:) !======================================================================== ! DO_CONVECT begins here! !======================================================================== !------------------------------------------------------------------------ ! Initialize !------------------------------------------------------------------------ RC = GC_SUCCESS F => NULL() p_FSOL => NULL() ErrMsg = '' ThisLoc = ' -> at Do_Convection (in module GeosCore/convection_mod.F)' !------------------------------------------------------------------------ ! Convection budget diagnostics - Part 1 of 2 !------------------------------------------------------------------------ IF ( State_Diag%Archive_BudgetConvection ) THEN ! Get initial column masses (full, trop, PBL) CALL Compute_Budget_Diagnostics( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & isFull = State_Diag%Archive_BudgetConvectionFull, & diagFull = NULL(), & mapDataFull = State_Diag%Map_BudgetConvectionFull, & isTrop = State_Diag%Archive_BudgetConvectionTrop, & diagTrop = NULL(), & mapDataTrop = State_Diag%Map_BudgetConvectionTrop, & isPBL = State_Diag%Archive_BudgetConvectionPBL, & diagPBL = NULL(), & mapDataPBL = State_Diag%Map_BudgetConvectionPBL, & isLevs = State_Diag%Archive_BudgetConvectionLevs, & diagLevs = NULL(), & mapDataLevs = State_Diag%Map_BudgetConvectionLevs, & colMass = State_Diag%BudgetColumnMass, & before_op = .TRUE., & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Convection budget diagnostics error 1' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !------------------------------------------------------------------------ ! More initializations !------------------------------------------------------------------------ TS_DYN = GET_TS_DYN() ! Dyn timestep [sec] DT = DBLE( TS_DYN ) ! Dyn timestep [sec] FSOL = 0e+0_fp ! Zero the FSOL array DoConvFlux = State_Diag%Archive_CloudConvFlux ! Save mass flux? DoWetLoss = ( State_Diag%Archive_WetLossConv .or. & State_Diag%Archive_SatDiagnWetLossConv ) ! Number of advected species nAdvect = State_Chm%nAdvect !======================================================================== ! Compute fraction of soluble species lost in conv. updrafts !======================================================================== ! Loop over advected species !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( NA, N, p_FSOL, EC, ISOL, S ) DO NA = 1, nAdvect ! Species ID N = State_Chm%Map_Advect(NA) ! Now point to a 3D slice of the FSOL array p_FSOL => FSOL(:,:,:,NA) ! Fraction of soluble species CALL COMPUTE_F( N, p_FSOL, ISOL, Input_Opt, State_Chm, & State_Grid, State_Met, RC=EC ) ! Trap potential errors (we can't exit an OpenMP loop) IF ( EC /= GC_SUCCESS ) THEN RC = EC ENDIF !-------------------------------------------------------------------- ! HISTORY (aka netCDF diagnostics) ! ! Fraction of soluble species lost in convective updrafts !-------------------------------------------------------------------- IF ( State_Diag%Archive_WetLossConvFrac .and. ISOL > 0 ) THEN S = State_Diag%Map_WetLossConvFrac%id2Slot(ISOL) IF ( S > 0 ) THEN State_Diag%WetLossConvFrac(:,:,:,S) = p_FSOL ENDIF ENDIF ! Free pointer memory p_FSOL => NULL() ENDDO !$OMP END PARALLEL DO ! Return if COMPUTE_F returned an error IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Compute_F"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !======================================================================= ! Do convection column by column ! ! NOTE: Later on, consider moving the I,J loops within the call ! to DO_CLOUD_CONVECTION, to gain computational efficiency !======================================================================= !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( J, I, EC, AREA_M2, F, DIAG14, DIAG38, S, N, L, NW )& !$OMP SCHEDULE( GUIDED, 8 )& !$OMP COLLAPSE( 2 ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! PRIVATE error trapping variable EC = GC_SUCCESS ! Skip buffer zone for nested grids (lzh, 4/1/15) IF ( State_Grid%NestedGrid ) THEN IF ( J <= State_Grid%SouthBuffer ) CYCLE IF ( J > State_Grid%NY - State_Grid%NorthBuffer ) CYCLE IF ( I <= State_Grid%WestBuffer ) CYCLE IF ( I > State_Grid%NX - State_Grid%EastBuffer ) CYCLE ENDIF ! Grid box surface area [m2] AREA_M2 = State_Grid%Area_M2(I,J) ! Soluble fraction F => FSOL(I,J,:,:) !-------------------------- ! Do the cloud convection !-------------------------- IF ( .NOT. Input_Opt%Grell_Freitas_Convection ) THEN CALL DO_RAS_CLOUD_CONVECTION( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & I = I, & J = J, & AREA_M2 = AREA_M2, & F = F, & TS_DYN = DT, & USE_DIAG14 = DoConvFlux, & DIAG14 = DIAG14, & USE_DIAG38 = DoWetLoss, & DIAG38 = DIAG38, & RC = EC ) ELSE CALL DO_GF_CLOUD_CONVECTION( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & I = I, & J = J, & AREA_M2 = AREA_M2, & F = F, & TS_DYN = DT, & USE_DIAG14 = DoConvFlux, & DIAG14 = DIAG14, & USE_DIAG38 = DoWetLoss, & DIAG38 = DIAG38, & RC = EC ) ENDIF ! Trap potential errors (we can't exit an OpenMP loop) IF ( EC /= GC_SUCCESS ) THEN RC = EC ENDIF !-------------------------------------------------------------------- ! HISTORY (aka netCDF diagnostics) ! ! Convective mass flux [kg/s] ! NOTE: May be replaced soon with better flux diagnostics !-------------------------------------------------------------------- IF ( State_Diag%Archive_CloudConvFlux ) THEN DO S = 1, State_Diag%Map_CloudConvFlux%nSlots N = State_Diag%Map_CloudConvFlux%slot2id(S) DO L = 1, State_Grid%NZ State_Diag%CloudConvFlux(I,J,L,S) = Diag14(L,N) ENDDO ENDDO ENDIF !-------------------------------------------------------------------- ! HISTORY (aka netCDF diagnostics) ! ! Loss of soluble species in convective mass flux [kg/s] ! NOTE: May be replaced soon with better flux diagnostics !-------------------------------------------------------------------- IF ( State_Diag%Archive_WetLossConv ) THEN DO S = 1, State_Diag%Map_WetLossConv%nSlots NW = State_Diag%Map_WetLossConv%slot2id(S) DO L = 1, State_Grid%NZ #ifdef MODEL_GEOS State_Diag%WetLossConv(I,J,L,S) = Diag38(L,NW) / AREA_M2 #else State_Diag%WetLossConv(I,J,L,S) = Diag38(L,NW) #endif ENDDO ENDDO ENDIF ! Satellite diagnostic ! Loss of soluble species in convective updrafts [kg/s] IF ( State_Diag%Archive_SatDiagnWetLossConv ) THEN DO S = 1, State_Diag%Map_SatDiagnWetLossConv%nSlots NW = State_Diag%Map_SatDiagnWetLossConv%slot2id(S) DO L = 1, State_Grid%NZ State_Diag%SatDiagnWetLossConv(I,J,L,S) = Diag38(L,NW) ENDDO ENDDO ENDIF ! Free pointers F => NULL() ENDDO ENDDO !$OMP END PARALLEL DO ! Return if Do_Cloud_Convection returned an error IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Do_Cloud_Convection"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !---------------------------------------------------------- ! Convection budget diagnostics - Part 2 of 2 !---------------------------------------------------------- IF ( State_Diag%Archive_BudgetConvection ) THEN ! Convection timestep [s] TS_Conv = Get_Ts_Conv() DT_Conv = DBLE( TS_Conv ) ! Compute change in column masses (after conv - before conv) ! and store in diagnostic arrays. Units are [kg/s]. CALL Compute_Budget_Diagnostics( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & isFull = State_Diag%Archive_BudgetConvectionFull, & diagFull = State_Diag%BudgetConvectionFull, & mapDataFull = State_Diag%Map_BudgetConvectionFull, & isTrop = State_Diag%Archive_BudgetConvectionTrop, & diagTrop = State_Diag%BudgetConvectionTrop, & mapDataTrop = State_Diag%Map_BudgetConvectionTrop, & isPBL = State_Diag%Archive_BudgetConvectionPBL, & diagPBL = State_Diag%BudgetConvectionPBL, & mapDataPBL = State_Diag%Map_BudgetConvectionPBL, & isLevs = State_Diag%Archive_BudgetConvectionLevs, & diagLevs = State_Diag%BudgetConvectionLevs, & mapDataLevs = State_Diag%Map_BudgetConvectionLevs, & colMass = State_Diag%BudgetColumnMass, & timeStep = DT_Conv, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Convection budget diagnostics error 2' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF END SUBROUTINE DO_CONVECTION !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: do_ras_cloud_convection ! ! !DESCRIPTION: Subroutine DO\_CLOUD\_CONVECTION (formerly called NFCLDMX) ! is S-J Lin's cumulus transport module for 3D GSFC-CTM, modified for the ! GEOS-Chem model. !\\ !\\ ! !INTERFACE: ! SUBROUTINE DO_RAS_CLOUD_CONVECTION( Input_Opt, & State_Chm, & State_Diag, & State_Grid, & State_Met, & I, & J, & AREA_M2, & F, & TS_DYN, & USE_DIAG14, & DIAG14, & USE_DIAG38, & DIAG38, & RC ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD, ONLY : IT_IS_NAN USE ERROR_MOD, ONLY : IT_IS_FINITE USE Input_Opt_Mod, ONLY : OptInput USE PhysConstants USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE Species_Mod, ONLY : Species, SpcConc USE WETSCAV_MOD, ONLY : WASHOUT USE WETSCAV_MOD, ONLY : LS_K_RAIN USE WETSCAV_MOD, ONLY : LS_F_PRIME USE WETSCAV_MOD, ONLY : CONV_F_PRIME USE DEPO_MERCURY_MOD, ONLY : ADD_Hg2_SNOWPACK USE DEPO_MERCURY_MOD, ONLY : ADD_Hg2_WD USE DEPO_MERCURY_MOD, ONLY : ADD_HgP_WD ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object INTEGER, INTENT(IN) :: I, J ! Lon & lat indices REAL(fp), INTENT(IN) :: AREA_M2 ! Surface area [m2] REAL(fp), INTENT(IN) :: F(:,:) ! Fraction of soluble species ! for updraft scavenging ! [unitless]. Computed by ! routine COMPUTE_F. REAL(fp), INTENT(IN) :: TS_DYN ! Dynamic timestep [sec] LOGICAL, INTENT(IN) :: USE_DIAG14 ! Archive DIAG14? LOGICAL, INTENT(IN) :: USE_DIAG38 ! Archive DIAG38? ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: DIAG14(:,:) ! Array for ND14 diagnostic REAL(fp), INTENT(OUT) :: DIAG38(:,:) ! Array for ND38 diagnostic INTEGER, INTENT(OUT) :: RC ! Return code ! ! !REMARKS: ! Reference: ! ============================================================================ ! Lin, SJ. "Description of the parameterization of cumulus transport ! in the 3D Goddard Chemistry Transport Model, NASA/GSFC, 1996. ! . ! Unit conversion for BMASS: ! ! Ps - Pt (mb)| P2 - P1 | 100 Pa | s^2 | 1 | 1 kg kg ! -------------+---------+--------+-------+----+-------- = ----- ! | Ps - Pt | mb | 9.8 m | Pa | m^2 s^2 m^2 ! ! . ! NOTE: We are passing I & J down to this routine so that it can call the ! proper code from "mercury_mod.f". Normally, we wouldn't pass I & J as ! arguments to columnized code. This prevents rewriting the mercury_mod.f ! routines ADD_Hg2_ ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! REAL(fp), PARAMETER :: TINYNUM = 1e-14_fp #ifdef LUO_WETDEP REAL(fp), PARAMETER :: pHRain = 5.6_fp #endif ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: AER, IS_Hg INTEGER :: IC, ISTEP, K INTEGER :: KTOP, NC, NDT INTEGER :: NLAY, NS, CLDBASE INTEGER :: Hg_Cat, NA, nAdvect, NW REAL(fp) :: CMFMC_BELOW, ALPHA, ALPHA2 REAL(fp) :: CMOUT, DELQ, DQ REAL(fp) :: DNS, ENTRN, QC REAL(fp) :: QC_PRES, QC_SCAV, SDT REAL(fp) :: T0, T0_SUM, T1 REAL(fp) :: T2, T3, T4 REAL(fp) :: TSUM, LOST, GAINED REAL(fp) :: WETLOSS, MASS_WASH, MASS_NOWASH REAL(fp) :: QDOWN, DT, F_WASHOUT REAL(fp) :: K_RAIN, WASHFRAC, WET_Hg2 REAL(fp) :: WET_HgP, MB, QB REAL(fp) :: QB_NUM, DELP_DRY_NUM #ifdef LUO_WETDEP REAL(fp) :: DECAY_CONST, LOCAL_F_WASHOUT REAL(fp) :: F_RAIN #endif ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc ! Arrays REAL(fp) :: BMASS (State_Grid%NZ) REAL(fp) :: PDOWN (State_Grid%NZ) ! Pointers REAL(fp), POINTER :: BXHEIGHT (:) REAL(fp), POINTER :: CMFMC (:) REAL(fp), POINTER :: DTRAIN (:) REAL(fp), POINTER :: DQRCU (:) REAL(fp), POINTER :: PFICU (:) REAL(fp), POINTER :: PFLCU (:) REAL(fp), POINTER :: REEVAPCN (:) REAL(fp), POINTER :: DELP_DRY (:) REAL(fp), POINTER :: T (:) REAL(fp), POINTER :: H2O2s (:) REAL(fp), POINTER :: SO2s (:) REAL(fp), POINTER :: Q (:) TYPE(SpcConc), POINTER :: Spc (:) TYPE(Species), POINTER :: SpcInfo !======================================================================== ! (0) I n i t i a l i z a t i o n !======================================================================== ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Do_RAS_Cloud_Convection (in convection_mod.F90)' ! Point to columns of derived-type object fields BXHEIGHT => State_Met%BXHEIGHT(I,J,: ) ! Box height [m] CMFMC => State_Met%CMFMC (I,J,2:State_Grid%NZ+1) ! Cloud mass flux ! [kg/m2/s] [upper edge] DQRCU => State_Met%DQRCU (I,J,: ) ! Precip production rate: DTRAIN => State_Met%DTRAIN (I,J,: ) ! Detrainment flux [kg/m2/s] REEVAPCN => State_Met%REEVAPCN(I,J,: ) ! Evap of precip'ing conv. DELP_DRY => State_Met%DELP_DRY(I,J,: ) ! Edge dry P diff [hPa] T => State_Met%T (I,J,: ) ! Air temperature [K] H2O2s => State_Chm%H2O2AfterChem(I,J,: ) ! H2O2s from sulfate_mod SO2s => State_Chm%SO2AfterChem (I,J,: ) ! SO2s from sulfate_mod Spc => State_Chm%Species ! Chemical species vector SpcInfo => NULL() ! Species database entry ! PFICU and PFLCU are on level edges PFICU => State_Met%PFICU (I,J,1:State_Grid%NZ) ! Dwnwd flx of conv ! ice precip ! [kg/m2/s] [down edge] PFLCU => State_Met%PFLCU (I,J,1:State_Grid%NZ) ! Dwnwd flux of conv ! liquid precip ! [kg/m2/s] [down edge] ! # of levels and # of species NLAY = State_Grid%NZ NC = State_Chm%nAdvect ! Top level for convection KTOP = NLAY - 1 ! Convection timestep [s] NDT = TS_DYN ! Is this a Hg simulation? IS_Hg = Input_Opt%ITS_A_MERCURY_SIM IF ( State_Grid%NZ > 72 .or. & Input_Opt%MetField == "MODELE2.1" ) THEN ! Higher vertical resolution runs need shorter convective timestep NS = NDT / 60 ELSE ! Internal time step for convective mixing is 300 sec. ! Doug Rotman (LLNL) says that 450 sec works just as well. NS = NDT / 300 ! Num internal timesteps (int) ENDIF NS = MAX( NS, 1 ) ! Set lower bound to 1 DNS = DBLE( NS ) ! Num internal timesteps (real) SDT = DBLE( NDT ) / DBLE( NS ) ! seconds in internal timestep !----------------------------------------------------------------- ! Determine location of the cloud base, which is the level where ! we start to have non-zero convective precipitation formation !----------------------------------------------------------------- ! Minimum value of cloud base is the surface level CLDBASE = 1 ! Find the cloud base DO K = 1, NLAY IF ( DQRCU(K) > 0e+0_fp ) THEN CLDBASE = K EXIT ENDIF ENDDO !----------------------------------------------------------------- ! Compute PDOWN and BMASS !----------------------------------------------------------------- ! PDOWN is the convective precipitation leaving each ! box [cm3 H2O/cm2 air/s]. This accounts for the ! contribution from both liquid & ice precip. ! PFLCU and PFICU are converted from kg/m2/s to m3/m2/s ! using water and ice densities, respectively. ! m3/m2/s becomes cm3/cm2/s using a factor of 100. PDOWN(:) = ( ( PFLCU(:) / 1000e+0_fp ) & + ( PFICU(:) / 917e+0_fp ) ) * 100e+0_fp ! BMASS is the dry air mass per unit area for the grid box ! bounded by level K and K+1 [kg/m2] ! BMASS is equivalent to deltaP (dry) * 100 / g ! This is done to keep BMASS in the same units as CMFMC * SDT BMASS(:) = DELP_DRY(:) * G0_100 !----------------------------------------------------------------- ! Compute MB, the mass per unit area of dry air below the cloud ! base [kg/m2]. Calculate MB by looping over levels below the ! cloud base. !----------------------------------------------------------------- MB = 0e+0_fp DO K = 1, CLDBASE-1 MB = MB + BMASS(K) ENDDO ! Initialize QDOWN & F_WASHOUT QDOWN = 0e+0_fp F_WASHOUT = 0e+0_fp #ifdef LUO_WETDEP F_WASHOUT = 0e+0_fp LOCAL_F_WASHOUT = 0e+0_fp K_RAIN = 1.5e-3_fp DECAY_CONST = 1.0_fp - EXP( -K_RAIN * SDT ) DO K = KTOP, CLDBASE, -1 IF ( PDOWN(K) > 1.D-20 ) THEN IF ( DQRCU(K) > 1.D-20 ) THEN F_RAIN = CONV_F_PRIME( DQRCU(K) * State_Met%MAIRDEN(I,J,K) / & 1000.0_fp, K_RAIN, 1.08e4_fp ) LOCAL_F_WASHOUT = ( 1.0_fp - ( 1.0_fp - F_RAIN * DECAY_CONST ) ** & ( 1800e+0_fp / 1.08e4_fp ) ) / DECAY_CONST F_WASHOUT = MAX( F_WASHOUT, LOCAL_F_WASHOUT ) ENDIF ELSE F_WASHOUT = 0e+0_fp ENDIF ENDDO #endif !======================================================================== ! (1) A d v e c t e d S p e c i e s L o o p !======================================================================== ! Loop over only the advected species DO NA = 1, NC ! Get the species ID (modelID) from the advected species ID IC = State_Chm%Map_Advect(NA) ! Point to the species concentrations array Q => Spc(IC)%Conc(I,J,:) ! Chemical species [mol/mol dry air] ! Look up the corresponding entry in the species database SpcInfo => State_Chm%SpcData(IC)%Info ! Also get the corresponding wetdep ID NW = SpcInfo%WetDepId ! Zero the DIAG14 diagnostic array DIAG14(:,NA) = 0.0_fp ! Zero the DIAG38 diagnostic array IF ( NW > 0 ) THEN DIAG38(:,NW) = 0.0_fp ENDIF !===================================================================== ! (2) I n t e r n a l T i m e S t e p L o o p !===================================================================== DO ISTEP = 1, NS ! Initialize QC = 0e+0_fp ! [kg species/kg dry air] T0_SUM = 0e+0_fp ! [kg species/m2/timestep] !---------------------------------------------------------- ! B e l o w C l o u d B a s e (K < CLDBASE) ! ! QB is the "weighted avg" mixing ratio below the cloud ! base [kg/kg dry air]. ! QC is the mixing ratio of the air that moved in cumulus ! transport up to the next level [kg/kg dry air]. ! MB is the dry mass of air below the cloud base per ! unit area [kg/m2] (see calculation before loop). !----------------------------------------------------------- ! If the cloud base happens at level 1 (or if CMFMC is ! negligible, then just set QC to the species concentration ! at the surface level [kg/kg] QC = Q(CLDBASE) ! We need to make this a nested IF statement so that we don't ! get an out-of-bounds error when CLDBASE=1 (bmy, 11/18/10) IF ( CLDBASE > 1 ) THEN IF ( CMFMC(CLDBASE-1) > TINYNUM ) THEN !----------------------------------------------------- ! %%% Non-negligible Cloud mass flux %%% !----------------------------------------------------- ! Calculate QB_NUM, the numerator for QB. QB is the ! weighted average mixing ratio below the cloud base. ! QB_NUM is equal to the grid box species concentrations ! [kg/kg dry air] weighted by the adjacent level pressure ! differences and summed over all levels up to just ! below the cloud base (ewl, 6/22/15) QB_NUM = 0e+0_fp DELP_DRY_NUM = 0e+0_fp DO K = 1, CLDBASE-1 QB_NUM = QB_NUM + Q(K) * DELP_DRY(K) DELP_DRY_NUM = DELP_DRY_NUM + DELP_DRY(K) ENDDO ! Compute QB, the weighted avg mixing ratio below ! the cloud base [kg/kg dry air] QB = QB_NUM / DELP_DRY_NUM ! Compute QC, the mixing ratio of the air that moved ! in cumulus transport up to the next level [kg/kg] ! ! Dry mass of species below cloud base + ! Subsidence into cloud base from above ! QC = -------------------------------------------- ! Dry air mass below cloud base ! QC = ( MB*QB + CMFMC(CLDBASE-1) * Q(CLDBASE) * SDT ) / & ( MB + CMFMC(CLDBASE-1) * SDT ) ! Copy QC to all levels of the species array Q ! that are below the cloud base level [kg/kg] Q(1:CLDBASE-1) = QC ENDIF ENDIF !================================================================== ! (3) A b o v e C l o u d B a s e !================================================================== DO K = CLDBASE, KTOP ! Initialize ALPHA = 0.0_fp ALPHA2 = 0.0_fp CMOUT = 0.0_fp ENTRN = 0.0_fp QC_PRES = 0.0_fp QC_SCAV = 0.0_fp T0 = 0.0_fp T1 = 0.0_fp T2 = 0.0_fp T3 = 0.0_fp T4 = 0.0_fp TSUM = 0.0_fp DELQ = 0.0_fp ! CMFMC_BELOW is the air mass [kg/m2/s] coming into the ! grid box (K) from the box immediately below (K-1). CMFMC_BELOW = 0.0_fp IF ( K > 1 ) CMFMC_BELOW = CMFMC(K-1) ! If we have a nonzero air mass flux coming from ! grid box (K-1) into (K) ... IF ( CMFMC_BELOW > TINYNUM ) THEN !------------------------------------------------------------ ! (3.1) M a s s B a l a n c e i n C l o u d ! ! F(K,NA) = fraction of species IC in level K that is ! available for wet-scavenging by cloud updrafts. ! ! If ENTRN > 0 then compute the new value of QC: ! ! species mass from below (i.e. level K-1) + ! species mass from this level (i.e. level K) ! = ----------------------------------------------------- ! dry mass coming into cloud ! ! Otherwise, preserve the previous value of QC. This will ! ensure that TERM1 - TERM2 is not a negative quantity (see ! below). ! ! Entrainment must be >= 0 (since we cannot have a negative ! flux of air into the cloud). This condition is strong ! enough to ensure that CMOUT > 0 and will prevent floating- ! point exception. !------------------------------------------------------------ ! Air mass flowing out of cloud at grid box (K) [kg/m2/s] CMOUT = CMFMC(K) + DTRAIN(K) ! Air mass flowing into cloud at grid box (K) [kg/m2/s] ENTRN = CMOUT - CMFMC_BELOW ! Amount of QC preserved against scavenging [kg/kg] !QC_PRES = QC * ( 1e+0_fp - F(K,IC) ) QC_PRES = QC * ( 1e+0_fp - F(K,NA) ) ! Amount of QC lost to scavenging [kg/kg] ! QC_SCAV = 0 for non-soluble species !QC_SCAV = QC * F(K,IC) QC_SCAV = QC * F(K,NA) ! - - - - - - - - FOR SOLUBLE SPECIES ONLY - - - - - - - - - IF ( QC_SCAV > 0e+0_fp ) THEN ! The fraction ALPHA is the fraction of raindrops that ! will re-evaporate soluble species while falling from ! grid box K+1 down to grid box K. Avoid div-by-zero. ! Initialize ALPHA = 0e+0_fp IF ( PDOWN(K+1) > TINYNUM ) THEN ! %%%% CASE 1 %%%% ! Partial re-evaporation. Less precip is leaving ! the grid box then entered from above. IF ( PDOWN(K+1) > PDOWN(K) .AND. & PDOWN(K) > TINYNUM ) THEN ! Define ALPHA, the fraction of raindrops that ! re-evaporate when falling from grid box ! (I,J,L+1) to (I,J,L): ! NOTE: ! REEVAPCN is in units of [kg/kg/s] ! Now use BMASS [kg/m2] instead of AD/area to ! remove area dependency ! PDOWN is in units of [cm3/cm2/s] ! Factor of 10 in denom for unit conversion ! 1000 kg/m3 * 0.01 m/cm = 10 kg/m2/cm ALPHA = REEVAPCN(K) * BMASS(K) & / ( PDOWN(K+1) * 10e+0_fp ) ! Restrict ALPHA to be less than 1 ! (>1 is unphysical) (hma, 24-Dec-2010) IF ( ALPHA > 1e+0_fp ) THEN ALPHA = 1e+0_fp ENDIF ! We assume that 1/2 of the soluble species w/in ! the raindrops actually gets resuspended into ! the atmosphere ALPHA2 = ALPHA * 0.5e+0_fp ENDIF ! %%%% CASE 2 %%%% ! Total re-evaporation. Precip entered from above, ! but no precip is leaving grid box (ALPHA = 2 so ! that ALPHA2 = 1) IF ( PDOWN(K) < TINYNUM ) THEN ALPHA2 = 1e+0_fp ENDIF ENDIF ! The resuspension takes 1/2 the amount of the scavenged ! aerosol (QC_SCAV) and adds that back to QC_PRES QC_PRES = QC_PRES + ( ALPHA2 * QC_SCAV ) ! ... then we decrement QC_SCAV accordingly QC_SCAV = QC_SCAV * ( 1e+0_fp - ALPHA2 ) ENDIF !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ! Update QC taking entrainment into account [kg/kg] ! Prevent div by zero condition IF ( ENTRN >= 0e+0_fp .and. CMOUT > 0e+0_fp ) THEN QC = ( CMFMC_BELOW * QC_PRES + & ENTRN * Q(K) ) / CMOUT ENDIF !------------------------------------------------------------ ! (3.2) M a s s B a l a n c e i n L e v e l ==> Q ! ! Terminology: ! ! C_k-1 = cloud air mass flux from level k-1 to level k ! C_k = cloud air mass flux from level k to level k+1 ! QC_k-1 = mixing ratio of species INSIDE CLOUD at level k-1 ! QC_k = mixing ratio of species INSIDE CLOUD at level k ! Q_k = mixing ratio of species in level k ! Q_k+1 = mixing ratio of species in level k+1 ! ! For convenience we denote: ! ! QC_SCAV = Amount of species wet-scavenged in updrafts ! = QC_k-1 * F(k,IC) [kg/kg] ! ! QC_PRES = Amount of species preserved against ! wet-scavenging in updrafts [kg/kg] ! = QC_k-1 * ( 1 - F(k,IC) ) ! ! Where F(k,IC) is the fraction of species IC in level k ! that is available for wet-scavenging by cloud updrafts. ! F(k,IC) is computed by routine COMPUTE_UPDRAFT_FSOL ! and passed to this routine as an argument. ! ! The cumulus transport above the cloud base is done as ! follows: ! ! ||///////////////////|| ! ||//// C L O U D ////|| ! || || ! k+1 ^ || ^ ||3) C_k * Q_k+1 ! | || | || | ! --------|-----++---------|---------++---------|-------- ! | || | || | ! k C_k ||2) C_k * QC_k || V ! || || ! || || ! ^ || ^ ||4) C_k-1 * Q_k ! | || | || | ! --------|-----++---------|---------++---------|-------- ! | || | || | ! k-1 C_k-1 ||1) C_k-1 * QC_k-1 || V ! || * (1 - F) || ! || || ! ||//// C L O U D ////|| ! ||///////////////////|| ! ! There are 4 terms that contribute to mass flow in ! and out of level k: ! ! 1) C_k-1 * QC_PRES = species convected from k-1 to k ! 2) C_k * QC_k = species convected from k to k+1 ! 3) C_k * Q_k+1 = species subsiding from k+1 to k ! 4) C_k-1 * Q_k = species subsiding from k to k-1 ! ! Therefore the change in species concentration is given by ! ! DELQ = (Term 1) - (Term 2) + (Term 3) - (Term 4) ! ! and Q(K) = Q(K) + DELQ. ! ! The term T0 is the amount of species that is scavenged ! out of the box. ! ! Units of T0, T1, T2, T3, T4, and TSUM are ! [kg/m2/s * kg species / kg dry air] !------------------------------------------------------------ T0 = CMFMC_BELOW * QC_SCAV T1 = CMFMC_BELOW * QC_PRES T2 = -CMFMC(K ) * QC T3 = CMFMC(K ) * Q(K+1) T4 = -CMFMC_BELOW * Q(K) TSUM = T1 + T2 + T3 + T4 DELQ = ( SDT / BMASS(K) ) * TSUM ! change in [kg/kg] ! If DELQ > Q then do not make Q negative!!! IF ( Q(K) + DELQ < 0 ) THEN DELQ = -Q(K) ENDIF ! Increment the species array [kg/kg] Q(K) = Q(K) + DELQ #ifdef DEBUG ! Return if we encounter Inf IF ( .not. IT_IS_FINITE( Q(K) ) ) THEN WRITE( 6, 200 ) 200 FORMAT( 'Infinity in DO_RAS_CLOUD_CONVECTION!' ) WRITE( 6, 255 ) K, IC, Q(K), TRIM(SpcInfo%Name) WRITE(*,*) T0,T1,T2,T3,T4,DELQ,SDT,TSUM RC = GC_FAILURE RETURN ENDIF ! Return if we encounter NaN IF ( IT_IS_NAN( Q(K) ) ) THEN WRITE( 6, 250 ) WRITE( 6, 255 ) K, IC, Q(K), TRIM(SpcInfo%Name) 250 FORMAT( 'NaN encountered in DO_RAS_CLOUD_CONVECTION!' ) 255 FORMAT( 'K, IC, Q(K): ', 2i4, 1x, es13.6, 1x, a10 ) RC = GC_FAILURE RETURN ENDIF #endif ! Pass T0_SUM in units of [kg species/m2/timestep]. ! Converting kg dry air to kg species requires use ! of the molecular weight of air including moisture ! (ewl, 6/5/15) T0_SUM = T0_SUM + T0 * SDT !------------------------------------------------------------ ! (3.3) N D 1 4 D i a g n o s t i c ! ! Archive upward mass flux due to wet convection ! [kg/sec] in the box (I,J), for the species IC going out ! of the top of the layer K to the layer above (K+1) ! (bey, 11/10/99). We must divide by DNS, the # of internal ! timesteps so that the sum represents the average loss rate ! across all internal timesteps. !------------------------------------------------------------ IF ( USE_DIAG14 ) THEN DIAG14(K,NA) = DIAG14(K,NA) + ( -T2-T3 ) * AREA_M2 / DNS ENDIF !------------------------------------------------------------ ! (3.4) N D 3 8 D i a g n o s t i c ! ! Archive the loss of soluble species to wet scavenging in ! cloud updrafts [kg/s]. We must divide by DNS, the # of ! internal timesteps so that the sum represents the ! average loss rate across all internal timesteps. !------------------------------------------------------------ IF ( USE_DIAG38 .and. NW > 0 ) THEN DIAG38(K,NW) = DIAG38(K,NW) + ( T0 * AREA_M2 / DNS ) #ifdef DEBUG ! check for infinity (added by hma, 20101117) IF ( .not. IT_IS_FINITE( DIAG38(K,NW) ) ) THEN WRITE( ErrMsg, 300 ) K 300 FORMAT( 'DIAG38 is infinity (K,NW)= ', i6,' #1') CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF #endif ENDIF ELSE !------------------------------------------------------------ ! (3.5) N o C l o u d M a s s F l u x B e l o w !------------------------------------------------------------ ! If there is no cloud mass flux coming from below, set ! QC to the species concentration at this level [kg/kg] QC = Q(K) ! Bug fix for the cloud base layer, which is not necessarily ! in the boundary layer, and there could be ! "secondary convection" plumes - one in the PBL and another ! one not. NOTE: T2 and T3 are the same terms as described ! in the above section. (swu, 08/13/2007) IF ( CMFMC(K) > TINYNUM ) THEN ! Species convected from K -> K+1 ! [kg/m2/s * kg species/kg dry air] T2 = -CMFMC(K) * QC ! Species subsiding from K+1 -> K [kg/m2/s] ! [kg/m2/s * kg species/kg dry air] T3 = CMFMC(K) * Q(K+1) ! Change in species concentration [kg/kg] DELQ = ( SDT / BMASS(K) ) * (T2 + T3) ! If DELQ > Q then do not make Q negative!!! IF ( Q(K) + DELQ < 0.0e+0_fp ) THEN DELQ = -Q(K) ENDIF ! Add change in species to Q array [kg/kg] Q(K) = Q(K) + DELQ ENDIF ENDIF ENDDO ! End of loop over levels above cloud base !================================================================== ! (4) B e l o w C l o u d B a s e !================================================================== ! Only for wet deposition species IF ( NW > 0 ) THEN DO K = CLDBASE-1, 1, -1 ! Initialize WASHFRAC = 0e+0_fp ALPHA = 0e+0_fp ALPHA2 = 0e+0_fp GAINED = 0e+0_fp WETLOSS = 0e+0_fp LOST = 0e+0_fp MASS_WASH = 0e+0_fp MASS_NOWASH = 0e+0_fp AER = .TRUE. ! Check if... ! there is precip coming into box (I,J,K) from (I,J,K+1) IF ( PDOWN(K+1) > 0) THEN ! Only do convective washout for LUO_WETDEP #ifdef LUO_WETDEP IF ( F_WASHOUT > 0 ) THEN QDOWN = PDOWN(K+1) ! Call WASHOUT to compute the fraction of species lost ! to washout in grid box (I,J,K) ! ! For TOMAS, indicate that we are not calling WASHOUT ! from wet deposition, so that the proper unit conversions ! will be applied. -- Bob Yantosca (11 Apr 2024) CALL WASHOUT( & ! --- Input --- I = I, & J = J, & L = K, & N = IC, & BXHEIGHT = BXHEIGHT(K), & TK = T(K), & PP = QDOWN, & DT = SDT, & F = F_WASHOUT, & Input_Opt = Input_Opt, & State_Grid = State_Grid, & State_Met = State_Met, & pHRain = pHRain, & #ifdef TOMAS fromWetDep = .FALSE., & #endif ! --- Input/Output --- State_Chm = State_Chm, & H2O2s = H2O2s(K), & SO2s = SO2s(K), & ! --- Output --- WASHFRAC = WASHFRAC, & KIN = AER, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Washout"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF #endif ! Check if the species is an aerosol or not IF ( AER ) THEN !--------------------------------------------------------- ! Washout of aerosol species ! This is modeled as a kinetic process !--------------------------------------------------------- ! Define ALPHA, the fraction of raindrops that ! re-evaporate when falling from (I,J,L+1) to (I,J,L) ! NOTE: ! REEVAPCN is in units of [kg/kg/s] ! Now use BMASS [kg/m2] instead of AD/area to ! remove area dependency ! PDOWN is in units of [cm3/cm2/s] ! Factor of 10 in denom for unit conversion ! 1000 kg/m3 * 0.01 m/cm = 10 kg/m2/cm ! %%%% CASE 1 %%%% ! Partial re-evaporation. Less precip is leaving ! the grid box then entered from above (V. Shah, 9/14/15) IF ( PDOWN(K+1) > PDOWN(K) .AND. & PDOWN(K) > TINYNUM ) THEN ! Define ALPHA, the fraction of raindrops that ! re-evaporate when falling from grid box ! (I,J,L+1) to (I,J,L) ALPHA = REEVAPCN(K) * BMASS(K) & / ( PDOWN(K+1) * 10e+0_fp ) ! For safety ALPHA = MIN( ALPHA, 1e+0_fp ) ! ALPHA2 is the fraction of the rained-out aerosols ! that gets resuspended in grid box (I,J,L) ALPHA2 = 0.5e+0_fp * ALPHA ENDIF ! %%%% CASE 2 %%%% ! Total re-evaporation. Precip entered from above, ! but no precip is leaving grid box (ALPHA = 2 so ! that ALPHA2 = 1) (V. Shah, 9/14/15) IF ( PDOWN(K) < TINYNUM ) THEN ALPHA2 = 1e+0_fp ENDIF ! GAINED is the rained out aerosol coming down from ! grid box (I,J,L+1) that will evaporate and re-enter ! the atmosphere in the gas phase in grid box (I,J,L) ! [kg species/m2/timestep] GAINED = T0_SUM * ALPHA2 ! Amount of aerosol lost to washout in grid box [kg/m2] ! (V. Shah, 9/14/15) WETLOSS = ( Q(K) * BMASS(K) + GAINED ) * & WASHFRAC - GAINED ! LOST is the rained out aerosol coming down from ! grid box (I,J,L+1) that will remain in the liquid ! phase in grid box (I,J,L) and will NOT re-evaporate ! [kg/m2/timestep] LOST = T0_SUM - GAINED ! Update species concentration (V. Shah, mps, 5/20/15) ! [kg/kg] Q(K) = Q(K) - WETLOSS / BMASS(K) ! Update T0_SUM, the total amount of scavenged ! species that will be passed to the grid box below ! [kg/m2/timestep] T0_SUM = T0_SUM + WETLOSS ELSE !--------------------------------------------------------- ! Washout of non-aerosol species ! This is modeled as an equilibrium process !--------------------------------------------------------- ! MASS_NOWASH is the amount of non-aerosol species in ! grid box (I,J,L) that is NOT available for washout. ! Calculate in units of [kg/kg] MASS_NOWASH = ( 1e+0_fp - F_WASHOUT ) * Q(K) ! MASS_WASH is the total amount of non-aerosol species ! that is available for washout in grid box (I,J,L). ! It consists of the mass in the precipitating ! part of box (I,J,L), plus the previously rained-out ! species coming down from grid box (I,J,L+1). ! (Eq. 15, Jacob et al, 2000) ! Units are [kg species/m2/timestep] MASS_WASH = ( F_WASHOUT * Q(K) ) * BMASS(K) + T0_SUM ! WETLOSS is the amount of species mass in ! grid box (I,J,L) that is lost to washout. ! (Eq. 16, Jacob et al, 2000) ! [kg species/m2/timestep] WETLOSS = MASS_WASH * WASHFRAC - T0_SUM ! The species left in grid box (I,J,L) is what was ! originally in the non-precipitating fraction ! of the box, plus MASS_WASH, less WETLOSS. ! [kg/kg] Q(K) = Q(K) - WETLOSS / BMASS(K) ! Update T0_SUM, the total scavenged species ! that will be passed to the grid box below ! [kg species/m2/timestep] T0_SUM = T0_SUM + WETLOSS ENDIF !------------------------------------------------------------ ! N D 1 4 D i a g n o s t i c ! ! Archive upward mass flux due to wet convection. ! [kg/sec] in the box (I,J), for the species IC going ! out of the top of the layer K to the layer above (K+1) ! (bey, 11/10/99). We must divide by DNS, the # of internal ! timesteps so that the sum represents the average loss ! rate across all internal timesteps. !------------------------------------------------------------ IF ( USE_DIAG14 ) THEN DIAG14(K,NA) = DIAG14(K,NA) + ( -T2-T3 ) * AREA_M2 / DNS ENDIF !------------------------------------------------------------ ! N D 3 8 D i a g n o s t i c ! ! Archive the loss of soluble species to wet scavenging in ! cloud updrafts [kg/s]. We must divide by NDT, the # of ! seconds in the convective timestep, equal to DNS * SDT, ! in order to make diag38 represent the average loss rate ! across all internal timesteps. Note that the units of ! WETLOSS are [kg/m2/timestep]. !------------------------------------------------------------ !%%% NOTE: SHOULD TEST FOR NW > 0 BUT IF WE DO THAT WE !%%% NO LONGER GET IDENTICAL RESULTS WITH THE REF CODE. !%%% LOOK INTO THIS LATER. (bmy, 7/7/16) IF ( USE_DIAG38 .and. F(K,NA) > 0.0_fp ) THEN DIAG38(K,NW) = DIAG38(K,NW) + ( WETLOSS * AREA_M2 / NDT ) ENDIF #ifdef DEBUG ! check for infinity (added by hma, 20101117) IF ( USE_DIAG38 .and. NW > 0 ) THEN IF ( .not. IT_IS_FINITE( DIAG38(K,NW) ) ) THEN WRITE( ErrMsg, 310 ) K, NW 310 FORMAT( 'DIAG38 is infinity (K,NW)= ', 2i6, ' #3' ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF #endif ENDIF ENDDO ! End of loop over levels below cloud base ENDIF ! End if for NW > 0 !================================================================== ! (5) M e r c u r y O c e a n M o d e l A r c h i v a l ! ! Pass the amount of Hg2 and HgP lost in wet scavenging [kg] to ! "ocean_mercury_mod.f" via ADD_Hg2_WET and ADD_HgP_WET. We must ! also divide by DNS, the # of internal timesteps. ! (sas, bmy, eck, eds, 1/19/05, 1/6/06, 7/30/08) ! ! NOTE: Reorder !================================================================== IF ( Is_Hg ) THEN !-------------------------------------- ! Hg2 !-------------------------------------- IF ( SpcInfo%IS_Hg2 ) THEN ! Wet scavenged Hg(II) in [kg] WET_Hg2 = ( T0_SUM * AREA_M2 ) ! Pass to "ocean_mercury_mod.f" CALL ADD_Hg2_WD ( I, J, WET_Hg2 ) CALL ADD_Hg2_SNOWPACK( I, J, WET_Hg2, & State_Met, State_Chm, State_Diag ) ENDIF !-------------------------------------- ! HgP !-------------------------------------- IF ( SpcInfo%Is_HgP ) THEN ! Wet scavenged Hg(P) in [kg] WET_HgP = ( T0_SUM * AREA_M2 ) ! Pass to "ocean_mercury_mod.f" CALL ADD_HgP_WD ( I, J, WET_HgP ) CALL ADD_Hg2_SNOWPACK( I, J, WET_HgP, & State_Met, State_Chm, State_Diag ) ENDIF ENDIF ENDDO ! End internal timestep loop ! Free pointers Q => NULL() SpcInfo => NULL() ENDDO ! End loop over advected species !================================================================ ! Succesful return! !================================================================ ! Nullify pointers NULLIFY( BXHEIGHT ) NULLIFY( CMFMC ) NULLIFY( DQRCU ) NULLIFY( DTRAIN ) NULLIFY( PFICU ) NULLIFY( PFLCU ) NULLIFY( REEVAPCN ) NULLIFY( DELP_DRY ) NULLIFY( T ) NULLIFY( H2O2s ) NULLIFY( SO2s ) NULLIFY( Spc ) ! Set error code to success RC = GC_SUCCESS END SUBROUTINE DO_RAS_CLOUD_CONVECTION !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: do_gf_cloud_convection ! ! !DESCRIPTION: Subroutine DO\_CLOUD\_CONVECTION (formerly called NFCLDMX) ! is S-J Lin's cumulus transport module for 3D GSFC-CTM, modified for the ! GEOS-Chem model. !\\ !\\ ! !INTERFACE: ! SUBROUTINE DO_GF_CLOUD_CONVECTION( Input_Opt, & State_Chm, & State_Diag, & State_Grid, & State_Met, & I, & J, & AREA_M2, & F, & TS_DYN, & USE_DIAG14, & DIAG14, & USE_DIAG38, & DIAG38, & RC ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD, ONLY : IT_IS_NAN USE ERROR_MOD, ONLY : IT_IS_FINITE USE Input_Opt_Mod, ONLY : OptInput USE PhysConstants USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE Species_Mod, ONLY : Species, SpcConc USE WETSCAV_MOD, ONLY : WASHOUT USE WETSCAV_MOD, ONLY : LS_K_RAIN USE WETSCAV_MOD, ONLY : LS_F_PRIME USE WETSCAV_MOD, ONLY : CONV_F_PRIME USE DEPO_MERCURY_MOD, ONLY : ADD_Hg2_SNOWPACK USE DEPO_MERCURY_MOD, ONLY : ADD_Hg2_WD USE DEPO_MERCURY_MOD, ONLY : ADD_HgP_WD ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object INTEGER, INTENT(IN) :: I, J ! Lon & lat indices REAL(fp), INTENT(IN) :: AREA_M2 ! Surface area [m2] REAL(fp), INTENT(IN) :: F(:,:) ! Fraction of soluble species ! for updraft scavenging ! [unitless]. Computed by ! routine COMPUTE_F. REAL(fp), INTENT(IN) :: TS_DYN ! Dynamic timestep [sec] LOGICAL, INTENT(IN) :: USE_DIAG14 ! Archive DIAG14? LOGICAL, INTENT(IN) :: USE_DIAG38 ! Archive DIAG38? ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: DIAG14(:,:) ! Array for ND14 diagnostic REAL(fp), INTENT(OUT) :: DIAG38(:,:) ! Array for ND38 diagnostic INTEGER, INTENT(OUT) :: RC ! Return code ! ! !REMARKS: ! Reference: ! ============================================================================ ! Lin, SJ. "Description of the parameterization of cumulus transport ! in the 3D Goddard Chemistry Transport Model, NASA/GSFC, 1996. ! . ! Unit conversion for BMASS: ! ! Ps - Pt (mb)| P2 - P1 | 100 Pa | s^2 | 1 | 1 kg kg ! -------------+---------+--------+-------+----+-------- = ----- ! | Ps - Pt | mb | 9.8 m | Pa | m^2 s^2 m^2 ! ! . ! NOTE: We are passing I & J down to this routine so that it can call the ! proper code from "mercury_mod.f". Normally, we wouldn't pass I & J as ! arguments to columnized code. This prevents rewriting the mercury_mod.f ! routines ADD_Hg2_ ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! REAL(fp), PARAMETER :: TINYNUM = 1e-14_fp #ifdef LUO_WETDEP REAL(fp), PARAMETER :: pHRain = 5.6_fp #endif ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: KIN, IS_Hg INTEGER :: IC, ISTEP, K INTEGER :: KTOP, NC, NDT INTEGER :: NLAY, NS, CLDBASE INTEGER :: Hg_Cat, NA, nAdvect, NW REAL(fp) :: CMFMC_BELOW, ALPHA, ALPHA2 REAL(fp) :: CMOUT, DELQ, DQ REAL(fp) :: DNS, ENTRN, QC REAL(fp) :: QC_PRES, QC_SCAV, SDT REAL(fp) :: T0, T0_SUM, T1 REAL(fp) :: T2, T3, T4 REAL(fp) :: TSUM, GAINED REAL(fp) :: WETLOSS, MASS_WASH REAL(fp) :: QDOWN, DT, F_WASHOUT REAL(fp) :: K_RAIN, WASHFRAC, WET_Hg2 REAL(fp) :: WET_HgP #ifdef LUO_WETDEP REAL(fp) :: DECAY_CONST, LOCAL_F_WASHOUT REAL(fp) :: F_RAIN #endif ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc ! Arrays REAL(fp) :: BMASS (State_Grid%NZ) REAL(fp) :: PDOWN (State_Grid%NZ) REAL(fp) :: REEVAPCN (State_Grid%NZ) ! Pointers REAL(fp), POINTER :: BXHEIGHT (:) REAL(fp), POINTER :: CMFMC (:) REAL(fp), POINTER :: DTRAIN (:) REAL(fp), POINTER :: DQRCU (:) REAL(fp), POINTER :: REEVAPCN_CUM (:) REAL(fp), POINTER :: DELP_DRY (:) REAL(fp), POINTER :: DELP (:) REAL(fp), POINTER :: T (:) REAL(fp), POINTER :: H2O2s (:) REAL(fp), POINTER :: SO2s (:) REAL(fp), POINTER :: Q (:) TYPE(SpcConc), POINTER :: Spc (:) TYPE(Species), POINTER :: SpcInfo !======================================================================== ! (0) I n i t i a l i z a t i o n !======================================================================== ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Do_GF_Cloud_Convection (in convection_mod.F90)' ! Point to columns of derived-type object fields BXHEIGHT => State_Met%BXHEIGHT(I,J,: ) ! Box height [m] CMFMC => State_Met%CMFMC (I,J,2:State_Grid%NZ+1) ! Cloud mass flux ! [kg/m2/s] [upper edge] DQRCU => State_Met%DQRCU (I,J,: ) ! Precip production rate: DTRAIN => State_Met%DTRAIN (I,J,: ) ! Detrainment flux [kg/m2/s] REEVAPCN_CUM => State_Met%REEVAPCN(I,J,: ) ! Cumulative evap of precip'ing conv. DELP_DRY => State_Met%DELP_DRY(I,J,: ) ! Edge dry P diff [hPa] DELP => State_Met%DELP (I,J,: ) ! Edge P diff [hPa] T => State_Met%T (I,J,: ) ! Air temperature [K] H2O2s => State_Chm%H2O2AfterChem(I,J,: ) ! H2O2s from sulfate_mod SO2s => State_Chm%SO2AfterChem (I,J,: ) ! SO2s from sulfate_mod Spc => State_Chm%Species ! Chemical species vector SpcInfo => NULL() ! Species database entry ! # of levels and # of species NLAY = State_Grid%NZ NC = State_Chm%nAdvect ! Top level for convection KTOP = NLAY - 1 ! Convection timestep [s] NDT = TS_DYN ! Is this a Hg simulation? IS_Hg = Input_Opt%ITS_A_MERCURY_SIM IF ( State_Grid%NZ > 72 .or. & Input_Opt%MetField == "MODELE2.1" ) THEN ! Higher vertical resolution runs need shorter convective timestep NS = NDT / 60 ELSE ! Internal time step for convective mixing is 300 sec. ! Doug Rotman (LLNL) says that 450 sec works just as well. NS = NDT / 300 ! Num internal timesteps (int) ENDIF NS = MAX( NS, 1 ) ! Set lower bound to 1 DNS = DBLE( NS ) ! Num internal timesteps (real) SDT = DBLE( NDT ) / DBLE( NS ) ! seconds in internal timestep ! GF scheme ! REEVAPCN_CUM is cumulative re-evaporation ! DQRCU is net precipitation formation REEVAPCN(NLAY) = REEVAPCN_CUM(NLAY) DO K = 1, NLAY-1 ! REEVAPCN (kg/kg/s) to REEVAPCN_FLUX (kg/m2/s) ! subtraction between fluxes instead REEVAPCN(K) = (REEVAPCN_CUM(K) * DELP(K) & - REEVAPCN_CUM(K+1) * DELP(K+1) ) & / DELP(K) REEVAPCN(K) = MAX( REEVAPCN(K), 0.0_fp ) ENDDO !----------------------------------------------------------------- ! Determine location of the cloud base, which is the level where ! we start to have non-zero convective precipitation formation !----------------------------------------------------------------- ! Minimum value of cloud base is the surface level CLDBASE = 1 ! Find the cloud base DO K = 1, NLAY IF ( DQRCU(K) > 0e+0_fp ) THEN CLDBASE = K EXIT ENDIF ENDDO !----------------------------------------------------------------- ! Compute PDOWN and BMASS !----------------------------------------------------------------- ! PDOWN is the convective precipitation leaving each ! box [cm3 H2O/cm2 air/s]. This accounts for the ! contribution from both liquid & ice precip. ! PFLCU and PFICU are converted from kg/m2/s to m3/m2/s ! using water and ice densities, respectively. ! m3/m2/s becomes cm3/cm2/s using a factor of 100. PDOWN(NLAY) = DQRCU(NLAY) * DELP(NLAY) * G0_100 / 1000e+0_fp * 100e+0_fp DO K = NLAY-1, 1, -1 PDOWN(K) = PDOWN(K+1) + DQRCU(K) & * DELP(K) * G0_100 / 1000e+0_fp * 100e+0_fp ! kg/kg wet air/s to kg/m2/s then to cm3 H20/cm2 air/s ! since we no longer have water phase information, assume all liquid water ! use liquid water density 1000e+0_fp PDOWN(K) = MAX( PDOWN(K), 0.0_fp ) ENDDO ! BMASS is the dry air mass per unit area for the grid box ! bounded by level K and K+1 [kg/m2] ! BMASS is equivalent to deltaP (dry) * 100 / g ! This is done to keep BMASS in the same units as CMFMC * SDT BMASS(:) = DELP_DRY(:) * G0_100 ! Initialize QDOWN & F_WASHOUT QDOWN = 0e+0_fp F_WASHOUT = 0e+0_fp #ifdef LUO_WETDEP LOCAL_F_WASHOUT = 0e+0_fp K_RAIN = 1.5e-3_fp DECAY_CONST = 1.0_fp - EXP( -K_RAIN * SDT ) DO K = KTOP, CLDBASE, -1 IF ( PDOWN(K) > 1.D-20 ) THEN IF ( DQRCU(K) > 1.D-20 ) THEN F_RAIN = CONV_F_PRIME( ( DQRCU(K) + REEVAPCN(K) ) * & State_Met%MAIRDEN(I,J,K) / & 1000.0_fp, K_RAIN, 1.08e4_fp ) LOCAL_F_WASHOUT = ( 1.0_fp - ( 1.0_fp - F_RAIN * DECAY_CONST ) ** & ( 1800e+0_fp / 1.08e4_fp ) ) / DECAY_CONST F_WASHOUT = MAX( F_WASHOUT, LOCAL_F_WASHOUT ) ENDIF ELSE F_WASHOUT = 0e+0_fp ENDIF ENDDO #endif !======================================================================== ! (1) A d v e c t e d S p e c i e s L o o p !======================================================================== ! Loop over only the advected species DO NA = 1, NC ! Get the species ID (modelID) from the advected species ID IC = State_Chm%Map_Advect(NA) ! Point to the species concentrations array Q => Spc(IC)%Conc(I,J,:) ! Chemical species [mol/mol dry air] ! Look up the corresponding entry in the species database SpcInfo => State_Chm%SpcData(IC)%Info ! Also get the corresponding wetdep ID NW = SpcInfo%WetDepId ! Zero the DIAG14 diagnostic array DIAG14(:,NA) = 0.0_fp ! Zero the DIAG38 diagnostic array IF ( NW > 0 ) THEN DIAG38(:,NW) = 0.0_fp ENDIF !===================================================================== ! (2) I n t e r n a l T i m e S t e p L o o p !===================================================================== DO ISTEP = 1, NS ! Initialize QC = 0e+0_fp ! [kg species/kg dry air] T0_SUM = 0e+0_fp ! [kg species/m2/timestep] !================================================================== ! (3) C o n v e c t i v e T r a n s p o r t L o o p ! (Only do cloud updraft scavenging above cloud base) !================================================================== DO K = 1, KTOP ! Initialize CMOUT = 0.0_fp ENTRN = 0.0_fp QC_PRES = 0.0_fp QC_SCAV = 0.0_fp T0 = 0.0_fp T1 = 0.0_fp T2 = 0.0_fp T3 = 0.0_fp T4 = 0.0_fp TSUM = 0.0_fp DELQ = 0.0_fp ! CMFMC_BELOW is the air mass [kg/m2/s] coming into the ! grid box (K) from the box immediately below (K-1). IF ( K == 1 ) THEN CMFMC_BELOW = 0e+0_fp ELSE CMFMC_BELOW = CMFMC(K-1) ENDIF ! If we have a nonzero air mass flux coming from ! grid box (K-1) into (K) ... IF ( CMFMC_BELOW > TINYNUM ) THEN !------------------------------------------------------------ ! (3.1) M a s s B a l a n c e i n C l o u d ! ! F(K,NA) = fraction of species IC in level K that is ! available for wet-scavenging by cloud updrafts. ! ! If ENTRN > 0 then compute the new value of QC: ! ! species mass from below (i.e. level K-1) + ! species mass from this level (i.e. level K) ! = ----------------------------------------------------- ! dry mass coming into cloud ! ! Otherwise, preserve the previous value of QC. This will ! ensure that TERM1 - TERM2 is not a negative quantity (see ! below). ! ! Entrainment must be >= 0 (since we cannot have a negative ! flux of air into the cloud). This condition is strong ! enough to ensure that CMOUT > 0 and will prevent floating- ! point exception. !------------------------------------------------------------ ! Air mass flowing out of cloud at grid box (K) [kg/m2/s] CMOUT = CMFMC(K) + DTRAIN(K) ! Air mass flowing into cloud at grid box (K) [kg/m2/s] ENTRN = CMOUT - CMFMC_BELOW ! Only do the scavenging above the cloud base IF ( K > CLDBASE ) THEN QC_PRES = QC * ( 1e+0_fp - F(K,NA) ) QC_SCAV = QC * F(K,NA) ELSE QC_PRES = QC QC_SCAV = 0e+0_fp ENDIF !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ! Update QC taking entrainment into account [kg/kg] ! Prevent div by zero condition IF ( ENTRN >= 0e+0_fp .and. CMOUT > 0e+0_fp ) THEN QC = ( CMFMC_BELOW * QC_PRES + & ENTRN * Q(K) ) / CMOUT ENDIF !------------------------------------------------------------ ! (3.2) M a s s B a l a n c e i n L e v e l ==> Q ! ! Terminology: ! ! C_k-1 = cloud air mass flux from level k-1 to level k ! C_k = cloud air mass flux from level k to level k+1 ! QC_k-1 = mixing ratio of species INSIDE CLOUD at level k-1 ! QC_k = mixing ratio of species INSIDE CLOUD at level k ! Q_k = mixing ratio of species in level k ! Q_k+1 = mixing ratio of species in level k+1 ! ! For convenience we denote: ! ! QC_SCAV = Amount of species wet-scavenged in updrafts ! = QC_k-1 * F(k,IC) [kg/kg] ! ! QC_PRES = Amount of species preserved against ! wet-scavenging in updrafts [kg/kg] ! = QC_k-1 * ( 1 - F(k,IC) ) ! ! Where F(k,IC) is the fraction of species IC in level k ! that is available for wet-scavenging by cloud updrafts. ! F(k,IC) is computed by routine COMPUTE_UPDRAFT_FSOL ! and passed to this routine as an argument. ! ! The cumulus transport above the cloud base is done as ! follows: ! ! ||///////////////////|| ! ||//// C L O U D ////|| ! || || ! k+1 ^ || ^ ||3) C_k * Q_k+1 ! | || | || | ! --------|-----++---------|---------++---------|-------- ! | || | || | ! k C_k ||2) C_k * QC_k || V ! || || ! || || ! ^ || ^ ||4) C_k-1 * Q_k ! | || | || | ! --------|-----++---------|---------++---------|-------- ! | || | || | ! k-1 C_k-1 ||1) C_k-1 * QC_k-1 || V ! || * (1 - F) || ! || || ! ||//// C L O U D ////|| ! ||///////////////////|| ! ! There are 4 terms that contribute to mass flow in ! and out of level k: ! ! 1) C_k-1 * QC_PRES = species convected from k-1 to k ! 2) C_k * QC_k = species convected from k to k+1 ! 3) C_k * Q_k+1 = species subsiding from k+1 to k ! 4) C_k-1 * Q_k = species subsiding from k to k-1 ! ! Therefore the change in species concentration is given by ! ! DELQ = (Term 1) - (Term 2) + (Term 3) - (Term 4) ! ! and Q(K) = Q(K) + DELQ. ! ! The term T0 is the amount of species that is scavenged ! out of the box. ! ! Units of T0, T1, T2, T3, T4, and TSUM are ! [kg/m2/s * kg species / kg dry air] !------------------------------------------------------------ T0 = CMFMC_BELOW * QC_SCAV T1 = CMFMC_BELOW * QC_PRES T2 = -CMFMC(K ) * QC T3 = CMFMC(K ) * Q(K+1) T4 = -CMFMC_BELOW * Q(K) TSUM = T1 + T2 + T3 + T4 DELQ = ( SDT / BMASS(K) ) * TSUM ! change in [kg/kg] ! If DELQ > Q then do not make Q negative!!! IF ( Q(K) + DELQ < 0 ) THEN DELQ = -Q(K) ENDIF ! Increment the species array [kg/kg] Q(K) = Q(K) + DELQ #ifdef DEBUG ! Return if we encounter NInf IF ( .not. IT_IS_FINITE( Q(K) ) ) THEN WRITE( 6, 200 ) 200 FORMAT( 'Infinity in DO_GF_CLOUD_CONVECTION!' ) WRITE( 6, 255 ) K, IC, Q(K), TRIM(SpcInfo%Name) WRITE(*,*) T0,T1,T2,T3,T4,DELQ,SDT,TSUM RC = GC_FAILURE RETURN ENDIF ! Return if we encounter NaN IF ( IT_IS_NAN( Q(K) ) ) THEN WRITE( 6, 250 ) WRITE( 6, 255 ) K, IC, Q(K), TRIM(SpcInfo%Name) 250 FORMAT( 'NaN encountered in DO_GF_CLOUD_CONVECTION!' ) 255 FORMAT( 'K, IC, Q(K): ', 2i4, 1x, es13.6, 1x, a10 ) RC = GC_FAILURE RETURN ENDIF #endif ! Pass T0_SUM in units of [kg species/m2/timestep]. ! Converting kg dry air to kg species requires use ! of the molecular weight of air including moisture ! (ewl, 6/5/15) T0_SUM = T0_SUM + T0 * SDT !------------------------------------------------------------ ! N D 1 4 D i a g n o s t i c ! ! Archive upward mass flux due to wet convection ! [kg/sec] in the box (I,J), for the species IC going out ! of the top of the layer K to the layer above (K+1) ! (bey, 11/10/99). We must divide by DNS, the # of internal ! timesteps so that the sum represents the average loss rate ! across all internal timesteps. !------------------------------------------------------------ IF ( USE_DIAG14 ) THEN DIAG14(K,NA) = DIAG14(K,NA) + ( -T2-T3 ) * AREA_M2 / DNS ENDIF !------------------------------------------------------------ ! N D 3 8 D i a g n o s t i c ! ! Archive the loss of soluble species to wet scavenging in ! cloud updrafts [kg/s]. We must divide by DNS, the # of ! internal timesteps so that the sum represents the ! average loss rate across all internal timesteps. !------------------------------------------------------------ IF ( USE_DIAG38 .and. NW > 0 ) THEN DIAG38(K,NW) = DIAG38(K,NW) + ( T0 * AREA_M2 / DNS ) #ifdef DEBUG ! check for infinity (added by hma, 20101117) IF ( .not. IT_IS_FINITE( DIAG38(K,NW) ) ) THEN WRITE( ErrMsg, 300 ) K 300 FORMAT( 'DIAG38 is infinity (K,NW)= ', i6,' #1') CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF #endif ENDIF ELSE !------------------------------------------------------------ ! (3.3) N o C l o u d M a s s F l u x B e l o w !------------------------------------------------------------ ! If there is no cloud mass flux coming from below, set ! QC to the species concentration at this level [kg/kg] QC = Q(K) ! Bug fix for the cloud base layer, which is not necessarily ! in the boundary layer, and there could be ! "secondary convection" plumes - one in the PBL and another ! one not. NOTE: T2 and T3 are the same terms as described ! in the above section. (swu, 08/13/2007) IF ( CMFMC(K) > TINYNUM ) THEN ! Species convected from K -> K+1 ! [kg/m2/s * kg species/kg dry air] T2 = -CMFMC(K) * QC ! Species subsiding from K+1 -> K [kg/m2/s] ! [kg/m2/s * kg species/kg dry air] T3 = CMFMC(K) * Q(K+1) ! Change in species concentration [kg/kg] DELQ = ( SDT / BMASS(K) ) * (T2 + T3) ! If DELQ > Q then do not make Q negative!!! IF ( Q(K) + DELQ < 0.0e+0_fp ) THEN DELQ = -Q(K) ENDIF ! Add change in species to Q array [kg/kg] Q(K) = Q(K) + DELQ !------------------------------------------------------------ ! N D 1 4 D i a g n o s t i c ! ! Archive upward mass flux due to wet convection ! [kg/sec] in the box (I,J), for the species IC going out ! of the top of the layer K to the layer above (K+1) ! (bey, 11/10/99). We must divide by DNS, the # of internal ! timesteps so that the sum represents the average loss rate ! across all internal timesteps. !------------------------------------------------------------ IF ( USE_DIAG14 ) THEN DIAG14(K,NA) = DIAG14(K,NA) + ( -T2-T3 ) * AREA_M2 / DNS ENDIF ENDIF ENDIF ENDDO ! End of loop for convective transport !================================================================== ! (4) B e l o w C l o u d W a s h o u t & R e e v a p ! ( only serves for wet deposition species NW > 0 ) !================================================================== ! Only for wet deposition species IF ( NW > 0 ) THEN ! Begin loop for below cloud DO K = CLDBASE-1, 1, -1 ! Initialize WASHFRAC = 0e+0_fp ALPHA = 0e+0_fp ALPHA2 = 0e+0_fp GAINED = 0e+0_fp WETLOSS = 0e+0_fp MASS_WASH = 0e+0_fp KIN = .TRUE. ! Precipitation from upper edge is essential for both ! washout and reevaporation IF ( PDOWN(K+1) > 0 ) THEN ! Only do convective washout for LUO_WETDEP #ifdef LUO_WETDEP IF ( F_WASHOUT > 0 ) THEN !====================================================== ! (4.1) W a s h o u t !====================================================== QDOWN = PDOWN(K+1) ! Call WASHOUT to compute the fraction of species lost ! to washout in grid box (I,J,K) ! ! For TOMAS, indicate that we are not calling WASHOUT ! from wet deposition, so that the proper unit conversions ! will be applied. -- Bob Yantosca (11 Apr 2024) CALL WASHOUT( & ! --- Input --- I = I, & J = J, & L = K, & N = IC, & BXHEIGHT = BXHEIGHT(K), & TK = T(K), & PP = QDOWN, & DT = SDT, & F = F_WASHOUT, & Input_Opt = Input_Opt, & State_Grid = State_Grid, & State_Met = State_Met, & pHRain = pHRain, & #ifdef TOMAS fromWetDep = .FALSE., & #endif ! --- Input/Output --- State_Chm = State_Chm, & H2O2s = H2O2s(K), & SO2s = SO2s(K), & ! --- Output --- WASHFRAC = WASHFRAC, & KIN = KIN, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Convective Washout"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF #endif !========================================================= ! (4.2) R e e v a p o r a t i o n ! Reevaporation differ between kinetic species (Aerosol ! and HNO3) and equilibrium species (Gases), cf Jacob 2000 !========================================================= IF ( KIN ) THEN !------------------------------------------------------ ! This is modeled as a kinetic process !------------------------------------------------------ ! Define ALPHA, the fraction of raindrops that ! re-evaporate when falling from (I,J,L+1) to (I,J,L) ! Criteria for reevaporation ! More precipitation is entering the upper edge ! than leaving through the lower edge !------------------------------------------------------ ! This is already expected in GF's DQRCU-based PDOWN !------------------------------------------------------ IF ( PDOWN(K+1) > PDOWN(K) ) THEN ! %%%% CASE 1 %%%% ! Partial re-evaporation. Less precip is leaving ! the grid box then entered from above ! (V. Shah, 9/14/15) IF( PDOWN(K) > TINYNUM ) THEN ! NOTE: ! REEVAPCN is in units of [kg/kg/s] ! (1) Now use DELP(K) * G0_100 to since ! the mass ratio is relative to wet mass ! (2) PDOWN is in units of [cm3/cm2/s] ! Factor of 10 in denom for unit conversion ! 1000 kg/m3 * 0.01 m/cm = 10 kg/m2/cm ALPHA = REEVAPCN(K) * DELP(K) * G0_100 & / ( PDOWN(K+1) * 10e+0_fp ) ! For safety ALPHA = MIN( ALPHA, 1e+0_fp ) ! ALPHA2 is the fraction of the rained-out aerosols ! that gets resuspended in grid box (I,J,L) ALPHA2 = 0.5e+0_fp * ALPHA ! %%%% CASE 2 %%%% ! Total re-evaporation. Precip entered from above, ! but no precip is leaving grid box (ALPHA = 2 so ! that ALPHA2 = 1) (V. Shah, 9/14/15) ELSE ALPHA2 = 1e+0_fp ENDIF ENDIF ! GAINED is the rained out aerosol coming down from ! grid box (I,J,L+1) that will evaporate and re-enter ! the atmosphere in the gas phase in grid box (I,J,L) ! [kg species/m2/timestep] GAINED = T0_SUM * ALPHA2 ! Amount of aerosol lost to washout in grid box [kg/m2] ! (V. Shah, 9/14/15) WETLOSS = ( Q(K) * BMASS(K) + GAINED ) * & WASHFRAC - GAINED ELSE !------------------------------------------------------ ! Washout of non-aerosol species ! This is modeled as an equilibrium process !------------------------------------------------------ ! MASS_WASH is the total amount of non-aerosol species ! that is available for washout in grid box (I,J,L). ! It consists of the mass in the precipitating ! part of box (I,J,L), plus the previously rained-out ! species coming down from grid box (I,J,L+1). ! (Eq. 15, Jacob et al, 2000) ! Units are [kg species/m2/timestep] MASS_WASH = ( F_WASHOUT * Q(K) ) * BMASS(K) + T0_SUM ! WETLOSS is the amount of species mass in ! grid box (I,J,L) that is lost to washout. ! (Eq. 16, Jacob et al, 2000) ! [kg species/m2/timestep] WETLOSS = MASS_WASH * WASHFRAC - T0_SUM ENDIF ! End if for determing kinetic/equalibrium species ! The species left in grid box (I,J,L) is what was ! originally in the non-precipitating fraction ! of the box, plus MASS_WASH, less WETLOSS. ! [kg/kg] Q(K) = Q(K) - WETLOSS / BMASS(K) ! Update T0_SUM, the total scavenged species ! that will be passed to the grid box below ! [kg species/m2/timestep] T0_SUM = T0_SUM + WETLOSS !--------------------------------------------------------- ! N D 3 8 D i a g n o s t i c ! ! Archive the loss of soluble species to wet scavenging in ! cloud updrafts [kg/s]. We must divide by NDT, the # of ! seconds in the convective timestep, equal to DNS * SDT, ! in order to make diag38 represent the average loss rate ! across all internal timesteps. Note that the units of ! WETLOSS are [kg/m2/timestep]. !---------------------------------------------------------- IF ( USE_DIAG38 ) THEN DIAG38(K,NW) = DIAG38(K,NW) + ( WETLOSS * AREA_M2 / NDT ) ENDIF ! check for infinity (added by hma, 20101117) IF ( .not. IT_IS_FINITE( DIAG38(K,NW) ) ) THEN WRITE( ErrMsg, 310 ) K, NW 310 FORMAT( 'DIAG38 is infinity (K,NW)= ', 2i6, ' #3' ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF ! End if for PDOWN(K+1) > 0 ENDDO ! End of loop over levels below cloud base ENDIF ! End if for NW > 0 !================================================================== ! (5) M e r c u r y O c e a n M o d e l A r c h i v a l ! ! Pass the amount of Hg2 and HgP lost in wet scavenging [kg] to ! "ocean_mercury_mod.f" via ADD_Hg2_WET and ADD_HgP_WET. We must ! also divide by DNS, the # of internal timesteps. ! (sas, bmy, eck, eds, 1/19/05, 1/6/06, 7/30/08) ! ! NOTE: Reorder !================================================================== IF ( Is_Hg ) THEN !-------------------------------------- ! Hg2 !-------------------------------------- IF ( SpcInfo%IS_Hg2 ) THEN ! Wet scavenged Hg(II) in [kg] WET_Hg2 = ( T0_SUM * AREA_M2 ) ! Pass to "ocean_mercury_mod.f" CALL ADD_Hg2_WD ( I, J, WET_Hg2 ) CALL ADD_Hg2_SNOWPACK( I, J, WET_Hg2, & State_Met, State_Chm, State_Diag ) ENDIF !-------------------------------------- ! HgP !-------------------------------------- IF ( SpcInfo%Is_HgP ) THEN ! Wet scavenged Hg(P) in [kg] WET_HgP = ( T0_SUM * AREA_M2 ) ! Pass to "ocean_mercury_mod.f" CALL ADD_HgP_WD ( I, J, WET_HgP ) CALL ADD_Hg2_SNOWPACK( I, J, WET_HgP, & State_Met, State_Chm, State_Diag ) ENDIF ENDIF ENDDO ! End internal timestep loop ! Free pointers Q => NULL() SpcInfo => NULL() ENDDO ! End loop over advected species !================================================================ ! Succesful return! !================================================================ ! Nullify pointers NULLIFY( BXHEIGHT ) NULLIFY( CMFMC ) NULLIFY( DQRCU ) NULLIFY( DTRAIN ) NULLIFY( REEVAPCN_CUM ) NULLIFY( DELP_DRY ) NULLIFY( DELP ) NULLIFY( T ) NULLIFY( H2O2s ) NULLIFY( SO2s ) NULLIFY( Spc ) ! Set error code to success RC = GC_SUCCESS END SUBROUTINE DO_GF_CLOUD_CONVECTION !EOC END MODULE CONVECTION_MOD ================================================ FILE: GeosCore/depo_mercury_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: depo_mercury_mod.F90 ! ! !DESCRIPTION: Module DEPO\_MERCURY\_MOD contains routines to handle ! deposition fluxes for mercury. ! ! !INTERFACE: ! MODULE DEPO_MERCURY_MOD ! ! !USES: ! USE PRECISION_MOD ! For Geos-Chem Precision (fp) IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: ADD_Hg2_DD PUBLIC :: ADD_Hg2_WD PUBLIC :: ADD_HgP_DD PUBLIC :: ADD_HgP_WD PUBLIC :: ADD_HG2_SNOWPACK PUBLIC :: RESET_HG_DEP_ARRAYS PUBLIC :: CHECK_DIMENSIONS PUBLIC :: INIT_DEPO_MERCURY PUBLIC :: CLEANUP_DEPO_MERCURY ! ! !PUBLIC DATA MEMBERS: ! PUBLIC :: DD_HG2, DD_HGP, WD_HG2, WD_HGP PUBLIC :: HG2mth_wd, HG0mth_dd, HG2mth_dd PUBLIC :: LHGSNOW REAL(fp), ALLOCATABLE :: DD_Hg2(:,:) REAL(fp), ALLOCATABLE :: DD_HgP(:,:) REAL(fp), ALLOCATABLE :: WD_Hg2(:,:) REAL(fp), ALLOCATABLE :: WD_HgP(:,:) REAL(fp), ALLOCATABLE :: HG0mth_dd(:,:) REAL(fp), ALLOCATABLE :: HG2mth_dd(:,:) REAL(fp), ALLOCATABLE :: HG2mth_wd(:,:) REAL(fp), ALLOCATABLE :: Hg0dryGEOS(:,:) REAL(fp), ALLOCATABLE :: HgIIdryGEOS(:,:) REAL(fp), ALLOCATABLE :: HgIIwetGEOS(:,:) ! ! !PRIVATE DATA MEMBERS: ! CHARACTER(LEN=255) :: GTMM_RST_FILE LOGICAL :: LHGSNOW ! ! !REVISION HISTORY: ! 23 Apr 2010 - C. Carouge - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !PRIVATE TYPES: ! ! Scalars for Hg indexing INTEGER :: id_Hg0 INTEGER :: id_Hg2 CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: add_Hg2_dd ! ! !DESCRIPTION: Subroutine ADD\_Hg2\_DD computes the amount of Hg(II) dry ! deposited out of the atmosphere into the column array DD\_Hg2. !\\ !\\ ! !INTERFACE: ! SUBROUTINE ADD_Hg2_DD( I, J, DRY_Hg2 ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I, J ! Grid box lon & lat indices REAL(fp), INTENT(IN) :: DRY_Hg2 ! Hg(II) dry deposited out of the ! atmosphere [kg] ! ! !REVISION HISTORY: ! 19 Jan 2005 - S. Strode, C. Holmes - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! Store dry deposited Hg(II) into DD_Hg2 array DD_Hg2(I,J) = DD_Hg2(I,J) + DRY_Hg2 END SUBROUTINE ADD_Hg2_DD !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: add_Hg2_wd ! ! !DESCRIPTION: Subroutine ADD\_Hg2\_WD computes the amount of Hg(II) wet ! scavenged out of the atmosphere into the column array WD\_Hg2. !\\ !\\ ! !INTERFACE: ! SUBROUTINE ADD_Hg2_WD( I, J, WET_Hg2 ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I, J ! Grid box lon & lat indices REAL(fp), INTENT(IN) :: WET_Hg2 ! Hg(II) scavenged out of the ! atmosphere [kg] ! ! !REVISION HISTORY: ! 19 Jan 2005 - S. Strode, C. Holmes - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! Store wet deposited Hg(II) into WD_Hg2 array WD_Hg2(I,J) = WD_Hg2(I,J) + WET_Hg2 END SUBROUTINE ADD_Hg2_WD !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: add_HgP_dd ! ! !DESCRIPTION: Subroutine ADD\_HgP\_DD computes the amount of HgP dry ! deposited out of the atmosphere into the column array DD\_HgP. !\\ !\\ ! !INTERFACE: ! SUBROUTINE ADD_HgP_DD( I, J, DRY_HgP ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I, J ! Grid box lon & lat indices REAL(fp), INTENT(IN) :: DRY_HgP ! HgP dry deposited out of the ! atmosphere [kg] ! ! !REVISION HISTORY: ! 19 Jan 2005 - S. Strode, C. Holmes - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! Store dry deposited Hg(II) into DD_Hg2 array DD_HgP(I,J) = DD_HgP(I,J) + DRY_HgP END SUBROUTINE ADD_HgP_DD !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: add_HgP_wd ! ! !DESCRIPTION: Subroutine ADD\_HgP\_WD computes the amount of HgP wet ! scavenged out of the atmosphere into the column array WD\_HgP. !\\ !\\ ! !INTERFACE: ! SUBROUTINE ADD_HgP_WD( I, J, WET_HgP ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I, J ! Grid box lon & lat indices REAL(fp), INTENT(IN) :: WET_HgP ! HgP scavenged out of the ! atmosphere [kg] ! ! !REVISION HISTORY: ! 19 Jan 2005 - S. Strode, C. Holmes - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! Store wet deposited HgP into WD_HgP array WD_HgP(I,J) = WD_HgP(I,J) + WET_HgP END SUBROUTINE ADD_HgP_WD !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: add_hg2_snowpack ! ! !DESCRIPTION: Subroutine ADD\_Hg2\_SNOWPACKS adds Hg2 deposition to snowpack. !\\ !\\ ! !INTERFACE: ! SUBROUTINE ADD_HG2_SNOWPACK( I, J, DEP_Hg2, State_Met, State_Chm, State_Diag ) ! ! !USES: ! USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Met_Mod, ONLY : MetState USE Time_Mod, ONLY : Get_Ts_Chem ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I, J ! Grid box lon & lat indices REAL(fp), INTENT(IN) :: Dep_Hg2 ! Hg2 (or HgP) deposited TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !REVISION HISTORY: ! 02 Sep 2008 - C. Holmes - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! LOGICAL :: IS_SNOW_OR_ICE REAL(fp) :: FRAC_SNOW_OR_ICE REAL(fp) :: FRAC_O REAL(fp) :: DT ! Pointers REAL(fp), POINTER :: SNOW_HG_OC(:,:) REAL(fp), POINTER :: SNOW_HG_LN(:,:) REAL(fp), POINTER :: SNOW_HG_STORED_OC(:,:) REAL(fp), POINTER :: SNOW_HG_STORED_LN(:,:) !================================================================= ! ADD_HG2_SNOWPACK begins here! !================================================================= ! Point to fields in State_Chm SNOW_HG_OC => State_Chm%SnowHgOcean SNOW_HG_LN => State_Chm%SnowHgLand SNOW_HG_STORED_OC => State_Chm%SnowHgOceanStored SNOW_HG_STORED_LN => State_Chm%SnowHgLandStored ! Return if snowpack model is disabled IF ( .NOT. LHGSNOW ) RETURN ! Chemistry timestep [s] DT = GET_TS_CHEM() ! Don't let fraction be greater than 1 FRAC_SNOW_OR_ICE = MIN( State_Met%FRSNOW(I,J) + & State_Met%FRSEAICE(I,J) + & State_Met%FRLANDICE(I,J), 1e+0_fp) IS_SNOW_OR_ICE = ( FRAC_SNOW_OR_ICE > 0e+0_fp ) ! Ocean fraction (vs land) FRAC_O = State_Met%FROCEAN(I,J) ! Check if there is snow on the ground, or if this is sea ice IF ( IS_SNOW_OR_ICE ) THEN ! Add 60% of deposition to surface (i.e. assume 40% accumulates ! in surface) multiplied by the fraction of the box that is ! snow or ice (i.e. 1 for all met fields but MERRA and GEOS-5.7.x) SNOW_HG_OC(I,J) = SNOW_HG_OC(I,J) + & FRAC_O * FRAC_SNOW_OR_ICE * & MAX( 0.6e+0_fp*DEP_HG2, 0e+0_fp ) ! Add remaining deposited Hg to reservoir for delivery to ocean ! when snow melts later (jaf, 6/17/11) ! This is Hg in snowpack over ocean that CANNOT be ! re-emitted to atmosphere SNOW_HG_STORED_OC(I,J) = SNOW_HG_STORED_OC(I,J) + & FRAC_O * FRAC_SNOW_OR_ICE * & MAX( 0.4e+0_fp*DEP_HG2, 0e+0_fp ) ! This is Hg in snowpack over land that can potentially be ! re-emitted to atmosphere SNOW_HG_LN(I,J) = SNOW_HG_LN(I,J) + & (1e+0_fp - FRAC_O) * FRAC_SNOW_OR_ICE * & MAX( 0.6e+0_fp*DEP_HG2, 0e+0_fp ) ! This is Hg in snowpack over land that CANNOT be ! re-emitted to atmosphere SNOW_HG_STORED_LN(I,J) = SNOW_HG_STORED_LN(I,J) + & ( 1e+0_fp - FRAC_O ) * & FRAC_SNOW_OR_ICE & * MAX( 0.4e+0_fp*DEP_HG2, 0e+0_fp ) !-------------------------------------------------------------- ! %%%%% HISTORY (aka netCDF diagnostics) %%%%% ! ! Store diagnostic of TOTAL HgII/HgP deposition to snow/ice ! NOTE: Units are now kg/s !-------------------------------------------------------------- IF ( State_Diag%Archive_FluxHg2HgPfromAirToSnow ) THEN State_Diag%FluxHg2HgPfromAirToSnow(I,J) = & State_Diag%FluxHg2HgPfromAirToSnow(I,J) + & ( FRAC_SNOW_OR_ICE * MAX( DEP_HG2, 0e+0_fp ) ) !/ DT ENDIF ENDIF ! Free pointers SNOW_HG_OC => NULL() SNOW_HG_LN => NULL() SNOW_HG_STORED_OC => NULL() SNOW_HG_STORED_LN => NULL() END SUBROUTINE ADD_HG2_SNOWPACK !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: reset_hg_dep_arrays ! ! !DESCRIPTION: Subroutine RESET\_Hg\_DEP\_ARRAYS resets the wet and dry ! deposition arrays for Hg(II) and Hg(p) to zero. This allows us to call ! OCEAN\_MERCURY\_FLUX and LAND\_MERCURY\_FLUX in any order in MERCURY\_MOD. !\\ !\\ ! !INTERFACE: ! SUBROUTINE RESET_HG_DEP_ARRAYS ! ! !REVISION HISTORY: ! 02 Sep 2008 - C. Holmes - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! Reset deposition arrays. DD_Hg2 = 0e+0_fp WD_Hg2 = 0e+0_fp DD_HgP = 0e+0_fp WD_HgP = 0e+0_fp END SUBROUTINE RESET_HG_DEP_ARRAYS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: check_dimensions ! ! !DESCRIPTION: Subroutine CHECK\_DIMENSIONS makes sure that the dimensions of ! the Hg restart file extend to cover the entire grid. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CHECK_DIMENSIONS( NI, NJ, NL, State_Grid ) ! ! !USES: ! USE ERROR_MOD, ONLY : GEOS_CHEM_STOP USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: NI, NJ, NL TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !REVISION HISTORY: ! 30 Aug 2010 - S. Strode, C. Holmes - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! !================================================================= ! CHECK_DIMENSIONS begins here! !================================================================= ! Error check longitude dimension: NI must equal State_Grid%NX IF ( NI /= State_Grid%NX ) THEN WRITE( 6, 100 ) 100 FORMAT( 'ERROR reading in Hg restart file', / & 'Wrong number of longitudes encountered', / & 'STOP in CHECK_DIMENSIONS ("depo_mercury_mod.F90")' ) PRINT*, "NI: ", NI PRINT*, "State_Grid%NX: ", State_Grid%NX WRITE( 6, '(a)' ) REPEAT( '=', 79 ) CALL GEOS_CHEM_STOP ENDIF ! Error check latitude dimension: NJ must equal State_Grid%NY IF ( NJ /= State_Grid%NY ) THEN WRITE( 6, 110 ) 110 FORMAT( 'ERROR reading in Hg restart file', / & 'Wrong number of latitudes encountered', / & 'STOP in CHECK_DIMENSIONS ("depo_mercury_mod.F90")' ) WRITE( 6, '(a)' ) REPEAT( '=', 79 ) CALL GEOS_CHEM_STOP ENDIF ! Error check vertical dimension: NL must equal State_Grid%NZ IF ( NL /= 1 ) THEN WRITE( 6, 120 ) 120 FORMAT( 'ERROR reading in Hg restart file', / & 'Wrong number of vertical encountered', / & 'STOP in CHECK_DIMENSIONS ("depo_mercury_mod.F90")' ) WRITE( 6, '(a)' ) REPEAT( '=', 79 ) CALL GEOS_CHEM_STOP ENDIF END SUBROUTINE CHECK_DIMENSIONS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: init_depo_mercury ! ! !DESCRIPTION: Subroutine INIT\_DEPO\_MERCURY initialize deposition arrays ! for mercury. !\\ !\\ ! !INTERFACE: ! SUBROUTINE INIT_DEPO_MERCURY( Input_Opt, State_Chm, State_Grid, RC ) ! ! !USES ! USE ErrCode_Mod USE ERROR_MOD, ONLY : ALLOC_ERR USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : Species USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 23 Apr 2010 - C. Carouge - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N, C ! Pointers TYPE(Species), POINTER :: SpcInfo !================================================================= ! INIT_DEPO_MERCURY begins here! !================================================================= ! Assume success RC = GC_SUCCESS ! Exit if this is a dry-run IF ( Input_Opt%DryRun ) RETURN !================================================================ ! Allocate arrays !================================================================ ALLOCATE( DD_Hg2( State_Grid%NX, State_Grid%NY ), STAT=RC ) IF ( RC /= 0 ) CALL ALLOC_ERR( 'DD_Hg2' ) DD_Hg2 = 0e+0_fp ALLOCATE( DD_HgP( State_Grid%NX, State_Grid%NY ), STAT=RC ) IF ( RC /= 0 ) CALL ALLOC_ERR( 'DD_HgP' ) DD_HgP = 0e+0_fp ALLOCATE( WD_Hg2( State_Grid%NX, State_Grid%NY ), STAT=RC ) IF ( RC /= 0 ) CALL ALLOC_ERR( 'WD_Hg2' ) WD_Hg2 = 0e+0_fp ALLOCATE( WD_HgP( State_Grid%NX, State_Grid%NY ), STAT=RC ) IF ( RC /= 0 ) CALL ALLOC_ERR( 'WD_HgP' ) WD_HgP = 0e+0_fp IF ( Input_Opt%LGTMM ) THEN ! GTMM restart file name GTMM_RST_FILE = Input_Opt%GTMM_RST_FILE ALLOCATE( HG0mth_dd( State_Grid%NX, State_Grid%NY ), STAT=RC ) IF ( RC /= 0 ) CALL ALLOC_ERR( 'HG0mth_dd' ) HG0mth_dd = 0e+0_fp ALLOCATE( HG2mth_dd( State_Grid%NX, State_Grid%NY ), STAT=RC ) IF ( RC /= 0 ) CALL ALLOC_ERR( 'HG2mth_dd' ) HG2mth_dd = 0e+0_fp ALLOCATE( HG2mth_wd( State_Grid%NX, State_Grid%NY ), STAT=RC ) IF ( RC /= 0 ) CALL ALLOC_ERR( 'HG2mth_wd' ) HG2mth_wd = 0e+0_fp ENDIF END SUBROUTINE INIT_DEPO_MERCURY !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: cleanup_depo_mercury ! ! !DESCRIPTION: Subroutine CLEANUP\_DEPO\_MERCURY deallocate all arrays !\\ !\\ ! !INTERFACE: ! SUBROUTINE CLEANUP_DEPO_MERCURY ! ! !REVISION HISTORY: ! 23 Apr 2010 - C. Carouge - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! IF ( ALLOCATED( DD_Hg2 ) ) DEALLOCATE( DD_Hg2 ) IF ( ALLOCATED( DD_HgP ) ) DEALLOCATE( DD_HgP ) IF ( ALLOCATED( WD_Hg2 ) ) DEALLOCATE( WD_Hg2 ) IF ( ALLOCATED( WD_HgP ) ) DEALLOCATE( WD_HgP ) IF ( ALLOCATED( HG0mth_dd ) ) DEALLOCATE( HG0mth_dd ) IF ( ALLOCATED( HG2mth_dd ) ) DEALLOCATE( HG2mth_dd ) IF ( ALLOCATED( HG2mth_wd ) ) DEALLOCATE( HG2mth_wd ) END SUBROUTINE CLEANUP_DEPO_MERCURY !EOC END MODULE DEPO_MERCURY_MOD ================================================ FILE: GeosCore/diagnostics_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: diagnostics_mod.F90 ! ! !DESCRIPTION: Module diagnostics\_mod.F90 contains subroutines for ! setting State_Diag diagnostics arrays for the purposes of outputting ! in netcdf format. Source code for setting diagnostics arrays for output ! in binary format are not included in this module. ! ! !INTERFACE: ! MODULE Diagnostics_mod ! ! !USES: ! USE ErrCode_Mod USE Precision_Mod IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: Set_AerMass_Diagnostic PUBLIC :: Set_Diagnostics_EndofTimestep PUBLIC :: Set_SpcConc_Diags_VVDry PUBLIC :: Zero_Diagnostics_StartofTimestep PUBLIC :: Compute_Budget_Diagnostics #ifdef ADJOINT PUBLIC :: Set_SpcAdj_Diagnostic #endif ! ! !PRIVATE MEMBER FUNCTIONS ! PRIVATE :: Set_SpcConc_Diags_MND ! ! !REVISION HISTORY: ! 01 Feb 2018 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Set_Diagnostics_EndofTimestep ! ! !DESCRIPTION: Updates various diagnostics for History output at the end ! of the GEOS-Chem "heartbeat" timestep. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Set_Diagnostics_EndofTimestep( Input_Opt, State_Chm, & State_Diag, State_Grid, & State_Met, RC ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Met_Mod, ONLY : MetState USE State_Chm_Mod, ONLY : ChmState, Ind_ USE State_Diag_Mod, ONLY : DgnState, DgnMap USE State_Grid_Mod, ONLY : GrdState USE PhysConstants, ONLY : AIRMW, AVO USE TIME_MOD, ONLY : GET_LOCALTIME ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid state object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology state object ! ! !INPUT AND OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry state obj TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics state obj ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! ! !REVISION HISTORY: ! 01 Feb 2018 - E. Lundgren - initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I, J, L, N, S REAL(fp) :: ToPptv, LT ! SAVEd scalars INTEGER, SAVE :: id_Hg2 = -1 INTEGER, SAVE :: id_HgP = -1 LOGICAL, SAVE :: FIRST_Hg = .TRUE. ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc ! Objects TYPE(DgnMap), POINTER :: mapData !======================================================================== ! Set_Diagnostics_EndofTimestep begins here !======================================================================== ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = & ' -> at Set_Diagnostics_EndofTimestep (in GeosCore/diagnostics_mod.F90)' !----------------------------------------------------------------------- ! Set species concentration for diagnostics in units of ! molec/cm3 (hplin, 11/21/21) !----------------------------------------------------------------------- CALL Set_SpcConc_Diags_MND ( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered setting SpeciesConcMND diagnostic' CALL GC_ERROR( ErrMsg, RC, ThisLoc ) RETURN ENDIF #ifdef ADJOINT !----------------------------------------------------------------------- ! Set species concentration diagnostic in units specified in state_diag_mod !----------------------------------------------------------------------- IF ( State_Diag%Archive_SpeciesAdj ) THEN CALL Set_SpcAdj_Diagnostic( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered setting SpeciesAdj diagnostic' CALL GC_ERROR( ErrMsg, RC, ThisLoc ) ENDIF ENDIF #endif !------------------------------------------------------------------------ ! Set total dry deposition flux !------------------------------------------------------------------------ IF ( State_Diag%Archive_DryDep ) THEN !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, S )& !$OMP COLLAPSE( 3 ) DO S = 1, State_Diag%Map_DryDep%nSlots DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX State_Diag%DryDep(I,J,S) = State_Diag%DryDepChm(I,J,S) & + State_Diag%DryDepMix(I,J,S) ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDIF !------------------------------------------------------------------------ ! Set total dry deposition flux !------------------------------------------------------------------------ IF ( State_Diag%Archive_SatDiagnDryDep ) THEN !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, S )& !$OMP COLLAPSE( 3 ) DO S = 1, State_Diag%Map_SatDiagnDryDep%nSlots DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX State_Diag%SatDiagnDryDep(I,J,S) = State_Diag%DryDepChm(I,J,S) & + State_Diag%DryDepMix(I,J,S) ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDIF !------------------------------------------------------------------------ ! Compute fraction of time each grid box spent in the troposphere !------------------------------------------------------------------------ IF ( State_Diag%Archive_FracOfTimeInTrop ) THEN !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP SCHEDULE( DYNAMIC, 8 )& !$OMP PRIVATE( I, J, L )& !$OMP COLLAPSE( 3 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX IF ( State_Met%InTroposphere(I,J,L) ) THEN State_Diag%FracOfTimeInTrop(I,J,L) = 1.0_f4 ELSE State_Diag%FracOfTimeInTrop(I,J,L) = 0.0_f4 ENDIF ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDIF !------------------------------------------------------------------------ ! Diagnostics for the mercury and tagged mercury simulations !------------------------------------------------------------------------ IF ( Input_Opt%ITS_A_MERCURY_SIM ) THEN ! Get species indices for Hg2 and HgP IF ( FIRST_Hg ) THEN id_Hg2 = Ind_('Hg2') id_HgP = Ind_('HgP') FIRST_Hg = .FALSE. ENDIF !-------------------------------------------- ! Ractive gaseous mercury (RGM) [pptv] !-------------------------------------------- IF ( id_Hg2 > 0 .and. State_Diag%Archive_ReactiveGaseousHg ) THEN ! Conversion factor to pptv ToPptv = ( AIRMW / & State_Chm%SpcData(id_Hg2)%Info%MW_g * & 1.0e+12_fp ) ! Save into State_diag State_Diag%ReactiveGaseousHg = & State_Chm%Species(id_Hg2)%Conc(:,:,:) * ToPptv ENDIF !-------------------------------------------- ! Ractive particulate mercury (RGM) [pptv] !-------------------------------------------- IF ( id_HgP > 0 .and. State_Diag%Archive_ParticulateBoundHg ) THEN ! Conversion factor to pptv ToPptv = ( AIRMW / & State_Chm%SpcData(id_HgP)%Info%MW_g * & 1.0e+12_fp ) ! Save into State_Diag State_Diag%ParticulateBoundHg = & State_Chm%Species(id_HgP)%Conc(:,:,:) * ToPptv ENDIF ENDIF !======================================================================== ! Archive quantities for satellite diagnostics (if requested) !======================================================================== IF ( State_Diag%Archive_SatDiagn ) THEN CALL Do_Archive_SatDiagn( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ENDIF ! Error handling IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error converting species units for archiving diagnostics #2' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( State_Diag%Archive_SfcType ) THEN State_Diag%IsWater = 0.0_fp State_Diag%IsLand = 0.0_fp State_Diag%IsIce = 0.0_fp State_Diag%IsSnow = 0.0_fp !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX IF ( State_Met%IsWater(I,J) ) State_Diag%IsWater(I,J) = 1.0_fp IF ( State_Met%IsLand(I,J) ) State_Diag%IsLand(I,J) = 1.0_fp IF ( State_Met%IsIce(I,J) ) State_Diag%IsIce(I,J) = 1.0_fp IF ( State_Met%IsSnow(I,J) ) State_Diag%IsSnow(I,J) = 1.0_fp ENDDO ENDDO !$OMP END PARALLEL DO ENDIF END SUBROUTINE Set_Diagnostics_EndofTimestep !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Zero_Diagnostics_StartofTimestep ! ! !DESCRIPTION: This routine sets certain diagnostic arrays to zero. This ! is intended for diagnostics that must be reset to zero each timestep but ! that do not have a clear place in the source code execution for doing this, ! generally because they are set in multiple places. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Zero_Diagnostics_StartofTimestep( Input_Opt, State_Diag, RC ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Diag_Mod, ONLY : DgnState USE Time_Mod, ONLY : Its_Time_for_Chem ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object ! ! !INPUT AND OUTPUT PARAMETERS: ! TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics state obj ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! ! !REVISION HISTORY: ! 01 Feb 2018 - E. Lundgren - initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=255) :: ErrMsg, thisLoc !======================================================================= ! Zero_Diagnostics_StartofTimestep begins here !======================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = & ' -> at Zero_Diagnostics_StartofTimestep (in GeosCore/diagnostics_mod.F90)' !--------------------- ! Mercury simulation !--------------------- IF ( Input_Opt%ITS_A_MERCURY_SIM ) THEN IF ( Its_Time_For_Chem() ) THEN IF ( State_Diag%Archive_DryDepChm .or. & State_Diag%Archive_DryDep ) THEN State_Diag%DryDepChm = 0.0_f4 ENDIF ENDIF IF ( State_Diag%Archive_EmisHg2rivers ) THEN State_Diag%EmisHg2rivers = 0.0_f4 ENDIF IF ( State_Diag%Archive_EmisHg2snowToOcean ) THEN State_Diag%EmisHg2snowToOcean = 0.0_f4 ENDIF IF ( State_Diag%Archive_FluxOCtoDeepOcean ) THEN State_Diag%FluxOCtoDeepOcean = 0.0_f4 ENDIF ENDIF !--------------------- ! Dry deposition !--------------------- IF ( Input_Opt%LDRYD ) THEN ! Initialize the DryDepMix and DryDepChm diagnostic arrays for the ! History diagnostics. This will prevent leftover values from being ! carried over to this timestep. (For example, if on the last ! iteration, the PBL height was higher than it is now, then we will ! have stored drydep fluxes up to that height, so we need to zero ! these out.) IF ( Its_Time_For_Chem() )THEN IF ( State_Diag%Archive_DryDepChm .or. & State_Diag%Archive_DryDep ) THEN State_Diag%DryDepChm = 0.0_f4 ENDIF ENDIF IF ( State_Diag%Archive_DryDepMix .or. State_Diag%Archive_DryDep ) THEN State_Diag%DryDepMix = 0.0_f4 ENDIF ENDIF END SUBROUTINE Zero_Diagnostics_StartofTimestep !EOC #ifdef ADJOINT !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Set_SpcAdj_Diagnostic ! ! !DESCRIPTION: Subroutine Set_SpcAdj\_Diagnostic sets the passed species ! adjoint diagnostic array stored in State_Diag to the instantaneous ! State_Chm%SpeciesAdj values converted to the diagnostic unit stored in ! the State_Diag metadata. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Set_SpcAdj_Diagnostic( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Met_Mod, ONLY : MetState USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnMap USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE UnitConv_Mod, ONLY : Check_Units, KG_SPECIES_PER_KG_DRY_AIR USE TIME_MOD, ONLY : GET_LOCALTIME ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid state object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology state object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 15 Dec 2019 - C. Lee - Initial version ! 17 Dec 2020 - C. Lee - Updated to account for changes to Set_SpcConcs !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: Found INTEGER :: N, S, I REAL(fp) :: LT, GOOD ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc ! Objects TYPE(DgnMap), POINTER :: mapData ! Arrays REAL(fp) :: TmpSpcArr(State_Grid%NX,State_Grid%NY, & State_Grid%NZ,State_Chm%nSpecies) !==================================================================== ! Set_SpcAdj_Diagnostic begins here! !==================================================================== ! Assume success RC = GC_SUCCESS ThisLoc = ' -> Set_SpcAdj_Diagnostic (in GeosCore/diagnostics_mod.F90)' ! Make sure all units are in kg/kg dry IF ( .not. Check_Units( State_Chm, KG_SPECIES_PER_KG_DRY_AIR ) ) THEN ErrMsg = 'Not all species are in "kg/kg dry" units!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !======================================================================= ! Copy species to SpeciesAdj (concentrations diagnostic) [v/v dry] !======================================================================= IF ( Input_Opt%Is_Adjoint ) THEN ! Point to mapping obj specific to SpeciesAdj diagnostic collection mapData => State_Diag%Map_SpeciesAdj !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( N, S ) DO S = 1, mapData%nSlots N = mapData%slot2id(S) State_Diag%SpeciesAdj(:,:,:,S) = State_Chm%SpeciesAdj(:,:,:,N) ENDDO !$OMP END PARALLEL DO ! Free pointer mapData => NULL() ENDIF !======================================================================= ! Copy species to SatDiagn (satellite diagnostic output) [v/v dry] !======================================================================= IF ( State_Diag%Archive_SatDiagnConc ) THEN ! Point to mapping obj specific to species boundary conditions mapData => State_Diag%Map_SatDiagnConc ! Loop over the number of advected species that we wish ! to save at a user-specified local time range ! Loop over longitudes: DO I = 1, State_Grid%NX ! Get local time in hours: LT = GET_LOCALTIME(I, 1, 1, State_Grid) IF ( LT < 0 ) LT = LT + 24e+0_fp ! Check if local time is during satellite overpass time: IF ( LT >= State_Diag%SatDiagn_StartHr .and. & LT <= State_Diag%SatDiagn_EndHr ) THEN ! GOOD = 1 if during local time range, 0 otherwise: GOOD = 1e+0_fp ELSE GOOD = 0e+0_fp ENDIF !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( N, S ) DO S = 1, mapData%nSlots N = mapData%slot2id(S) ! TmpSpcArr is not defined State_Diag%SatDiagnConc(I,:,:,S) = TmpSpcArr(I,:,:,N) * GOOD ENDDO !$OMP END PARALLEL DO ENDDO ! Free pointer mapData => NULL() ENDIF END SUBROUTINE Set_SpcAdj_Diagnostic !EOC #endif !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Set_SpcConc_Diags_VVDry ! ! !DESCRIPTION: Subroutine Set_SpcConc\_DiagVVDry sets several species ! concentration diagnostic arrays stored in State_Diag to the instantaneous ! State_Chm%Species values (in units of "v/v, dry air"). !\\ !\\ ! !INTERFACE: ! SUBROUTINE Set_SpcConc_Diags_VVDry( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Met_Mod, ONLY : MetState USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnMap USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE Time_Mod, ONLY : Get_LocalTime USE UnitConv_Mod, ONLY : Check_Units, MOLES_SPECIES_PER_MOLES_DRY_AIR ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State obj ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnsotics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 08 Jul 2019 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: D, I, J, L, N, S REAL(fp) :: TmpVal, Conv, LT, GOOD ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc ! Objects TYPE(DgnMap), POINTER :: mapData !==================================================================== ! Set_SpcConc_Diags_VVDry begins here! !==================================================================== ! Assume success RC = GC_SUCCESS ThisLoc = & ' -> at Set_SpcConc_Diags_VVDry (in GeosCore/diagnostics_mod.F90)' ! Verify that incoming State_Chm%Species units are mol/mol dry air. IF ( .not. Check_Units( State_Chm, MOLES_SPECIES_PER_MOLES_DRY_AIR ) ) THEN ErrMsg = 'Not all species are in "mol/mol dry" units!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !======================================================================= ! Copy species to SpeciesConc (concentrations diagnostic) [v/v dry] !======================================================================= IF ( State_Diag%Archive_SpeciesConcVV ) THEN ! Point to mapping obj specific to SpeciesConcVV diagnostic collection mapData => State_Diag%Map_SpeciesConcVV !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( N, S ) DO S = 1, mapData%nSlots N = mapData%slot2id(S) State_Diag%SpeciesConcVV(:,:,:,S) = State_Chm%Species(N)%Conc(:,:,:) ENDDO !$OMP END PARALLEL DO ! Free pointer mapData => NULL() ENDIF !======================================================================= ! Copy species to SatDiagn (satellite diagnostic output) [v/v dry] !======================================================================= IF ( State_Diag%Archive_SatDiagnConc ) THEN ! Loop over longitudes !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, LT, GOOD, S, N ) DO I = 1, State_Grid%NX ! Get local time in hours LT = Get_LocalTime( I, 1, 1, State_Grid ) IF ( LT < 0 ) LT = LT + 24.0_fp ! Check if local time is during satellite overpass time: ! GOOD = 1 if during local time range, 0 otherwise GOOD = 0e+0_fp IF ( LT >= State_Diag%SatDiagn_StartHr .and. & LT <= State_Diag%SatDiagn_EndHr ) GOOD = 1e+0_fp ! Archie into SatDiagnConc diagnostic array DO S = 1, State_Diag%Map_SatDiagnConc%nSlots N = State_Diag%Map_SatDiagnConc%slot2id(S) State_Diag%SatDiagnConc(I,:,:,S) = & State_Chm%Species(N)%Conc(I,:,:) * GOOD ENDDO ENDDO !$OMP END PARALLEL DO ENDIF !======================================================================= ! Copy species to SpeciesBC (transport boundary conditions) [v/v dry] !======================================================================= IF ( State_Diag%Archive_SpeciesBC ) THEN ! Point to mapping obj specific to species boundary conditions mapData => State_Diag%Map_SpeciesBC !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( N, S ) DO S = 1, mapData%nSlots N = mapData%slot2id(S) State_Diag%SpeciesBC(:,:,:,S) = State_Chm%Species(N)%Conc(:,:,:) ENDDO !$OMP END PARALLEL DO ! Free pointer mapData => NULL() ENDIF !======================================================================= ! Copy species to SpeciesRst (restart file output) [v/v dry] !======================================================================= IF ( State_Diag%Archive_SpeciesRst ) THEN !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( N ) DO N = 1, State_Chm%nSpecies State_Diag%SpeciesRst(:,:,:,N) = State_Chm%Species(N)%Conc(:,:,:) ENDDO !$OMP END PARALLEL DO ENDIF !======================================================================= ! Diagnostic for correcting species concentrations from the height ! of the lowest model level to the surface. ! ! Use this diagnostic to correct species concentration values from ! (typically for O3 or HNO3) from the lowest model layer, ~60m, ! to the surface. ! ! C(Zc) = [ 1 - Ra(Z1,Zc) * Vd(Z1) ] * C(Z1) ! ! where ! Ra(Z1,ZC) is the aerodynamic resistance between Z1 and ZC, ! ! Vd(Z1) is the ozone deposition velocity at Z1, and ! ! C(Z1) is the ozone concentration at Z1. ! ! Ra(Z1,Zc) is calculated to the lowest model level in drydep_mod.F90. ! We recalculate Ra using Z1 using a value specified in geoschem_config.yml; ! usually 10m, which is the height of the CASTNET measurement for O3. ! This new Ra is stored in State_Diag%DryDepRaALT1. ! ! References: ! (1) Travis, K.R., et al, "Resolving vertical ozone vertical gradients ! in air quality models, Atmos. Chem. Phys. Disc., 2017. ! (2) Zhang, L.,et al, "Nitrogen deposition to the United States: ! distribution, sources, and processes" Atmos. Chem. Phys., ! 12, 4,539-4,4554, 2012. !======================================================================= IF ( State_Diag%Archive_ConcAboveSfc ) THEN ! Loop over the number of drydep species that we wish ! to save at a user-specified altitude above the surface !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( D, N, I, J, Conv ) DO D = 1, State_Chm%nDryAlt ! Get the corresponding species index and drydep index N = State_Chm%Map_DryAlt(D) ! Loop over surface locations DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Conversion factor used to translate from ! lowest model layer (~60m) to the surface Conv = ( 1.0_fp & - ( State_Diag%DryDepRaALT1(I,J) / 100.0_fp ) & * State_Diag%DryDepVelForALT1(I,J,D) ) ! Do not let CONV go negative IF ( Conv < 0.0_fp ) Conv = 1.0_fp ! Save concentration at the user-defined altitude ! as defined in geoschem_config.yml (usually 10m). State_Diag%SpeciesConcALT1(I,J,D) = & State_Chm%Species(N)%Conc(I,J,1) * Conv ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDIF END SUBROUTINE Set_SpcConc_Diags_VVDry !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Set_SpcConc_Diags_MND ! ! !DESCRIPTION: Subroutine Set_SpcConc\_Diags\_MND sets several species ! concentration diagnostic arrays stored in State_Diag to the instantaneous ! State_Chm%Species values (in units of "molecules/cm3 air"). !\\ !\\ ! !INTERFACE: ! SUBROUTINE Set_SpcConc_Diags_MND ( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE PhysConstants, ONLY : AVO USE State_Met_Mod, ONLY : MetState USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnMap USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE UnitConv_Mod, ONLY : Check_Units, KG_SPECIES_PER_KG_DRY_AIR ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State obj ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnsotics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 21 Nov 2021 - H.P. Lin - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N, S REAL(fp) :: MW_kg ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc, OrigUnit ! Objects TYPE(DgnMap), POINTER :: mapData !==================================================================== ! Set_SpcConc_Diags_MND begins here! !==================================================================== ! Assume success RC = GC_SUCCESS ThisLoc = & ' -> at Set_SpcConc_Diags_MND (in GeosCore/diagnostics_mod.F90)' ! Verify that incoming State_Chm%Species units are kg/kg dry air. IF ( .not. Check_Units( State_Chm, KG_SPECIES_PER_KG_DRY_AIR ) ) THEN ErrMsg = 'Not all species are in "kg/kg dry" units!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !======================================================================= ! Copy species to SpeciesConcMND (concentrations diagnostic) [molec/cm3] !======================================================================= IF ( State_Diag%Archive_SpeciesConcMND ) THEN ! Point to mapping obj specific to SpeciesConcMND diagnostic collection mapData => State_Diag%Map_SpeciesConcMND !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( N, S, MW_kg ) DO S = 1, mapData%nSlots N = mapData%slot2id(S) ! Molecular weight for the species [kg] MW_kg = State_Chm%SpcData(N)%Info%MW_g * 1.e-3_fp State_Diag%SpeciesConcMND(:,:,:,S) = & State_Chm%Species(N)%Conc(:,:,:) * & State_Met%AIRDEN(:,:,:) * ( AVO / MW_kg ) / 1e+6_fp ENDDO !$OMP END PARALLEL DO ! Free pointer mapData => NULL() ENDIF END SUBROUTINE Set_SpcConc_Diags_MND !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Compute_Column_Mass ! ! !DESCRIPTION: Subroutine Compute\_Budget\_Diagnostics calculates the ! budget diagnostics for a given component by taking the difference of the ! final and initial kg per grid cell and dividing by the timestep in seconds ! to get kg/s. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Compute_Budget_Diagnostics( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, & isFull, diagFull, mapDataFull, & isTrop, diagTrop, mapDataTrop, & isPBL, diagPBL, mapDataPBL, & isLevs, diagLevs, mapDataLevs, & colMass, RC, timeStep, & isWetDep, before_op ) ! ! !USES: ! USE Input_Opt_Mod, Only : OptInput USE State_Met_Mod, ONLY : MetState USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnMap USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE UnitConv_Mod, ONLY : Check_Units, KG_SPECIES_PER_KG_DRY_AIR ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input options object TYPE(DgnState), INTENT(IN) :: State_Diag ! Diagnostic state object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid state object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology state obj LOGICAL, INTENT(IN) :: isFull ! T if full col diag on TYPE(DgnMap), POINTER :: mapDataFull ! Map to species indexes LOGICAL, INTENT(IN) :: isTrop ! T if trop col diag on TYPE(DgnMap), POINTER :: mapDataTrop ! Map to species indexes LOGICAL, INTENT(IN) :: isPBL ! T if PBL col diag on TYPE(DgnMap), POINTER :: mapDataPBL ! Map to species indexes LOGICAL, INTENT(IN) :: isLevs ! T if fixed levels diag on TYPE(DgnMap), POINTER :: mapDataLevs ! Map to species indexes LOGICAL, OPTIONAL :: isWetDep ! T = wetdep budgets LOGICAL, OPTIONAL :: before_op ! T = before operation REAL(f8), OPTIONAL :: timestep ! F = after operation ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry state obj REAL(f8), POINTER :: diagFull(:,:,:) ! ptr to full col diag REAL(f8), POINTER :: diagTrop(:,:,:) ! ptr to trop col diag REAL(f8), POINTER :: diagPBL(:,:,:) ! ptr to pbl col diag REAL(f8), POINTER :: diagLevs(:,:,:) ! ptr to levs col diag REAL(f8), POINTER :: colMass(:,:,:,:) ! Initial column mass ! (I,J,spc,col region) ! 1:full, 2:trop, 3:pbl ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 28 Aug 2018 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: after, before, wetDep INTEGER :: I, J, L, N, S INTEGER :: numSpc, region, topLev, botLev REAL(f8) :: colSum, dt ! Arrays REAL(f8) :: spcMass(State_Grid%NZ) ! Strings CHARACTER(LEN=255) :: errMsg, thisLoc !==================================================================== ! Compute_Budget_Diagnostics begins here! !==================================================================== ! Initialize RC = GC_SUCCESS errMsg = '' ThisLoc = ' -> at Compute_Column_Mass (in GeosCore/diagnostics_mod.F90)' colSum = 0.0_f8 spcMass = 0.0_f8 ! Verify that incoming State_Chm%Species units are kg/kg dry air. IF ( .not. Check_Units( State_Chm, KG_SPECIES_PER_KG_DRY_AIR ) ) THEN ErrMsg = 'Not all species are in "kg/kg dry" units!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Set logicals to denote if we are calling this routine ! before the operation or after the operation IF ( PRESENT( before_op ) ) THEN before = before_op ELSE before = .FALSE. ENDIF after = ( .not. before ) ! Test if the budgets are for wetdep species IF ( PRESENT( isWetDep ) ) THEN wetDep = isWetDep ELSE wetDep = .FALSE. ENDIF ! Make sure the timeStep argument is passed (if after operation) IF ( after .and. ( .not. PRESENT( timeStep ) ) ) THEN errMsg = 'The timeStep argument was not passed!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Make sure mapDataFull and diagFull are not undefined IF ( isFull ) THEN IF ( .not. ASSOCIATED( mapDataFull ) ) THEN errMsg = 'The mapDataFull object is undefined!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF IF ( after .and. ( .not. ASSOCIATED( diagFull ) ) ) THEN errMsg = 'The diagFull array is undefined!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF ! Make sure mapDataTrop and diagTrop are not undefined IF ( isTrop ) THEN IF ( .not. ASSOCIATED( mapDataTrop ) ) THEN errMsg = 'The mapDataTrop object is undefined!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF IF ( after .and. ( .not. ASSOCIATED( diagTrop ) ) ) THEN errMsg = 'The diagTrop array is undefined!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF ! Make sure mapDataPBL and diagPBL are not undefined IF ( isPBL ) THEN IF ( .not. ASSOCIATED( mapDataPBL ) ) THEN errMsg = 'The mapDataPBL object is undefined!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF IF ( after .and. ( .not. ASSOCIATED( diagPBL ) ) ) THEN errMsg = 'The diagPBL array is undefined!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF ! Make sure mapDataLevs and diagLevs are not undefined IF ( isLevs ) THEN IF ( .not. ASSOCIATED( mapDataLevs ) ) THEN errMsg = 'The mapDataLevs object is undefined!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF IF ( after .and. ( .not. ASSOCIATED( diagLevs ) ) ) THEN errMsg = 'The diagLevs array is undefined!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF ! Make sure the colMass array is not undefined IF ( .not. ASSOCIATED( colMass ) ) THEN errMsg = 'The colMass array is undefined!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !==================================================================== ! Before operation: Compute column masses (full, trop, PBL, levs) ! ! After operation: Compute column differences (final-initial) ! and them update diagnostic arrays !==================================================================== ! Zero out the column mass array if we are calling this routine ! before the desired operation. This will let us compute initial mass. IF ( before ) THEN colMass = 0.0_f8 ENDIF ! Loop over NX and NY dimensions !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, S, N, L )& !$OMP PRIVATE( colSum, spcMass, topLev, botLev ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Zero column-specific variables colSum = 0.0_f8 spcMass = 0.0_f8 topLev = 0 !-------------------------------------------------------------------- ! Full-column budget for requested species !-------------------------------------------------------------------- IF ( isFull ) THEN ! Loop over # of diagnostic slots DO S = 1, mapDataFull%nSlots ! Initialize column-specfic variables colSum = 0.0_f8 spcMass = 0.0_f8 ! For wetdep budgets, translate wetdep ID to modelId ! Otherwise, get the modelId from the slotId IF ( wetDep ) THEN N = State_Chm%Map_WetDep(mapDataFull%slot2Id(S)) ELSE N = mapDataFull%slot2Id(S) ENDIF ! Compute mass at each grid box in the column [kg] DO L = 1, State_Grid%NZ spcMass(L) = State_Chm%Species(N)%Conc(I,J,L) * & State_Met%AD(I,J,L) ENDDO ! Compute the full-atmosphere column mass [kg] colSum = SUM( spcMass(1:State_Grid%NZ) ) ! Before operation: Compute initial full-atm column mass ! After operation: Compute change in column mass (final-initial), ! convert to [kg/s], and store in the diagFull array. IF ( before ) THEN colMass(I,J,N,1) = colSum ELSE #ifdef MODEL_GEOS diagFull(I,J,S) = ( colSum - colMass(I,J,N,1) ) / timeStep & / State_Grid%AREA_M2(I,J) #else diagFull(I,J,S) = ( colSum - colMass(I,J,N,1) ) / timeStep #endif ENDIF ENDDO ENDIF !--------------------------------------------------------------------- ! Troposphere-only budget for each requested species !--------------------------------------------------------------------- IF ( isTrop ) THEN ! Top level in the column topLev = State_Met%TropLev(I,J) ! Loop over # of diagnostic slots DO S = 1, mapDataTrop%nSlots ! Initialize column-specfic variables colSum = 0.0_f8 spcMass = 0.0_f8 ! For wetdep budgets, translate wetdep ID to modelId ! Otherwise, get the modelId from the slotId IF ( wetDep ) THEN N = State_Chm%Map_WetDep(mapDataTrop%slot2Id(S)) ELSE N = mapDataTrop%slot2Id(S) ENDIF ! Compute mass at each grid box in the troposphere [kg] DO L = 1, topLev spcMass(L) = State_Chm%Species(N)%Conc(I,J,L) * & State_Met%AD(I,J,L) ENDDO ! Compute the trop-column mass [kg] colSum = SUM( spcMass(1:topLev) ) ! Before operation: Compute initial trop-column mass ! After operation: Compute change in column mass (final-initial), ! convert to [kg/s], and store in the diagTrop array. IF ( before ) THEN colMass(I,J,N,2) = colSum ELSE #ifdef MODEL_GEOS diagTrop(I,J,S) = ( colSum - colMass(I,J,N,2) ) / timeStep & / State_Grid%AREA_M2(I,J) #else diagTrop(I,J,S) = ( colSum - colMass(I,J,N,2) ) / timeStep #endif ENDIF ENDDO ENDIF !--------------------------------------------------------------------- ! PBL-only budget for each requested species !--------------------------------------------------------------------- IF ( isPBL ) THEN ! Top level of column is where PBL top occurs topLev = MAX( 1, FLOOR( State_Met%PBL_TOP_L(I,J) ) ) ! Loop over # of diagnostic slots DO S = 1, mapDataPBL%nSlots ! Initialize column-specfic variables colSum = 0.0_f8 spcMass = 0.0_f8 ! For wetdep budgets, translate wetdep ID to modelId ! Otherwise, get the modelId from the slotId IF ( wetDep ) THEN N = State_Chm%Map_WetDep(mapDataPBL%slot2Id(S)) ELSE N = mapDataPBL%slot2Id(S) ENDIF ! Compute mass at each grid box in the column [kg] DO L = 1, topLev spcMass(L) = State_Chm%Species(N)%Conc(I,J,L) * & State_Met%AD(I,J,L) ENDDO ! Compute column mass in PBL region [kg] colSum = SUM( spcMass(1:topLev) ) ! Before operation: Compute initial PBL-column mass ! After operation: Compute change in column mass (final-initial), ! convert to [kg/s], and store in the diagPBL array. IF ( before ) THEN colMass(I,J,N,3) = colSum ELSE #ifdef MODEL_GEOS diagPBL(I,J,S) = ( colSum - colMass(I,J,N,3) ) / timeStep & / State_Grid%AREA_M2(I,J) #else diagPBL(I,J,S) = ( colSum - colMass(I,J,N,3) ) / timeStep #endif ENDIF ENDDO ENDIF !--------------------------------------------------------------------- ! Levs-only budget for each requested species !--------------------------------------------------------------------- IF ( isLevs ) THEN ! Top and bottom levels of column topLev = State_Diag%BudgetTopLev_int botLev = State_Diag%BudgetBotLev_int ! Loop over # of diagnostic slots DO S = 1, mapDataLevs%nSlots ! Initialize column-specfic variables colSum = 0.0_f8 spcMass = 0.0_f8 ! For wetdep budgets, translate wetdep ID to modelId ! Otherwise, get the modelId from the slotId IF ( wetDep ) THEN N = State_Chm%Map_WetDep(mapDataLevs%slot2Id(S)) ELSE N = mapDataLevs%slot2Id(S) ENDIF ! Compute mass at each grid box in the column [kg] DO L = botLev, topLev spcMass(L) = State_Chm%Species(N)%Conc(I,J,L) * & State_Met%AD(I,J,L) ENDDO ! Compute column mass in Levs region [kg] colSum = SUM( spcMass(botLev:topLev) ) ! Before operation: Compute initial Levs-column mass ! After operation: Compute change in column mass (final-initial), ! convert to [kg/s], and store in the diagLevs array. IF ( before ) THEN colMass(I,J,N,4) = colSum ELSE #ifdef MODEL_GEOS diagLevs(I,J,S) = ( colSum - colMass(I,J,N,4) ) / timeStep & / State_Grid%AREA_M2(I,J) #else diagLevs(I,J,S) = ( colSum - colMass(I,J,N,4) ) / timeStep #endif ENDIF ENDDO ENDIF ENDDO ENDDO !$OMP END PARALLEL DO END SUBROUTINE Compute_Budget_Diagnostics !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Do_Archive_SatDiagn ! ! !DESCRIPTION: Masks satellite diagnostic fields by the requested local ! time window. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Do_Archive_SatDiagn( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE PhysConstants, ONLY : AVO USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState, Ind_ USE State_Diag_Mod, ONLY : DgnState, DgnMap USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE Time_Mod, ONLY : Get_LocalTime ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostic State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! SAVEd scalars LOGICAL, SAVE :: first = .TRUE. INTEGER, SAVE :: id_OH = -1 ! Scalars INTEGER :: I, N, S, J REAL(fp) :: good, locTime ! Strings CHARACTER(LEN=255) :: thisLoc CHARACTER(LEN=512) :: errMsg ! Pointers & Objects TYPE(SpcConc), POINTER :: Spc(:) !======================================================================= ! Do_Archive_SatDiagn begins here! !======================================================================= ! Initialize RC = GC_SUCCESS good = 0.0_fp locTime = 0.0_fp Spc => State_Chm%Species errMsg = '' thisLoc = & ' -> at Do_Archive_SatDiagn (in module GeosCore/diagnostics_mod.F90)' ! Get the species ID for OH if this is the first call IF ( first ) THEN IF ( Input_Opt%ITS_A_CARBON_SIM .or. & Input_Opt%ITS_A_FULLCHEM_SIM ) THEN id_OH = Ind_('OH') IF ( id_OH < 0 ) THEN id_OH = Ind_('FixedOH') IF ( id_OH < 0 ) THEN errMsg = 'OH is not a defined species in this simulation!!!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF ENDIF first= .FALSE. ENDIF !======================================================================== ! Archive satellite diagnostics !======================================================================== ! Loop over longitudes !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, locTime, good, S, N ) DO I = 1, State_Grid%NX !--------------------------------------------------------------------- ! Local time !--------------------------------------------------------------------- ! Get local time (and make sure it isn't negative) locTime = Get_LocalTime( I, 1, 1, State_Grid ) IF ( locTime < 0 ) locTime = locTime + 24.0_fp ! Determine whether during satellite overpass time window: ! good = 1 if during local time range, 0 otherwise: ! !%%% TODO This should be a property of the HISTORY container !%%% rather than SatDiagn. This will prevent multiple SatDiagn !%%% collections from being run at once. Fix this later. !%%% -- Bob Yantosca (01 Nov 2022) good = 0.0_fp IF ( locTime >= State_Diag%SatDiagn_StartHr .and. & locTime <= State_Diag%SatDiagn_EndHr ) good = 1.0_fp !--------------------------------------------------------------------- ! SatDiagnCount and SatDiagnEdgeCount: Count number of local times !--------------------------------------------------------------------- IF ( State_Diag%Archive_SatDiagnCount ) THEN State_Diag%SatDiagnCount(I,:,:) = & State_Diag%SatDiagnCount(I,:,:) + good ENDIF IF ( State_Diag%Archive_SatDiagnEdgeCount ) THEN State_Diag%SatDiagnEdgeCount(I,:,:) = & State_Diag%SatDiagnEdgeCount(I,:,:) + good ENDIF !--------------------------------------------------------------------- ! SatDiagnOH: OH concentration [molec/cm3]: !--------------------------------------------------------------------- IF ( State_Diag%Archive_SatDiagnOH ) THEN State_Diag%SatDiagnOH(I,:,1:State_Met%MaxChemLev) = & ( Spc(id_OH)%Conc(I,:,1:State_Met%MaxChemLev) * good * & State_Met%AIRDEN(I,:,1:State_Met%MaxChemLev) * AVO ) / & ( State_Chm%SpcData(id_OH)%Info%MW_g ) / 1.0e+3_fp ENDIF !--------------------------------------------------------------------- ! SatDiagnRH: Relative humidity [%] !--------------------------------------------------------------------- IF ( State_Diag%Archive_SatDiagnRH ) THEN State_Diag%SatDiagnRH(I,:,:) = State_Met%RH(I,:,:) * good ENDIF !--------------------------------------------------------------------- ! SatDiagnAirDen: Air density [molec/cm3] !--------------------------------------------------------------------- IF ( State_Diag%Archive_SatDiagnAirDen ) THEN State_Diag%SatDiagnAirDen(I,:,:) = & State_Met%AirNumDen(I,:,:) * good ENDIF !--------------------------------------------------------------------- ! Grid box height [m]: !--------------------------------------------------------------------- IF ( State_Diag%Archive_SatDiagnBoxHeight ) THEN State_Diag%SatDiagnBoxHeight(I,:,:) = & State_Met%BXHEIGHT(I,:,:) * good ENDIF !--------------------------------------------------------------------- ! Pressure edges [hPa]: !--------------------------------------------------------------------- IF ( State_Diag%Archive_SatDiagnPEdge ) THEN State_Diag%SatDiagnPEdge(I,:,:) = State_Met%PEDGE(I,:,:) * good ENDIF !--------------------------------------------------------------------- ! Pressure at level midpoints [hPa]: !--------------------------------------------------------------------- IF ( State_Diag%Archive_SatDiagnPMid ) THEN State_Diag%SatDiagnPMid(I,:,:) = State_Met%PMid(I,:,:) * good ENDIF !--------------------------------------------------------------------- ! Tropopause pressure [hPa]: !--------------------------------------------------------------------- IF ( State_Diag%Archive_SatDiagnTROPP ) THEN State_Diag%SatDiagnTROPP(I,:) = State_Met%TROPP(I,:) * good ENDIF !--------------------------------------------------------------------- ! Tropopause level [unitless]: !--------------------------------------------------------------------- IF ( State_Diag%Archive_SatDiagnTropLev ) THEN State_Diag%SatDiagnTropLev(I,:) = State_Met%TropLev(I,:) * good ENDIF !--------------------------------------------------------------------- ! PBL Height [m]: !--------------------------------------------------------------------- IF ( State_Diag%Archive_SatDiagnPBLHeight ) THEN State_Diag%SatDiagnPBLHeight(I,:) = State_Met%PBLH(I,:) * good ENDIF !--------------------------------------------------------------------- ! PBL Top [m]: !--------------------------------------------------------------------- IF ( State_Diag%Archive_SatDiagnPBLTop ) THEN State_Diag%SatDiagnPBLTop(I,:) = State_Met%PBL_TOP_m(I,:) * good ENDIF !--------------------------------------------------------------------- ! Air temperature [K]: Temperature Interpolated to Current Time ! This temperture is interpolated from 3 h Met Field (TMPU1 and TMPU2) !--------------------------------------------------------------------- IF ( State_Diag%Archive_SatDiagnTAir ) THEN State_Diag%SatDiagnTAir(I,:,:) = State_Met%T(I,:,:) * good ENDIF ! -------------------------------------------- ! 3D cloud fractions [unitless] ! -------------------------------------------- IF ( State_Diag%Archive_SatDiagnCldFrac ) THEN State_Diag%SatDiagnCldFrac(I,:,:) = State_Met%CLDF(I,:,:) * GOOD ENDIF ! -------------------------------------------- ! Cloud top height pressure [hPa] ! -------------------------------------------- IF ( State_Diag%Archive_SatDiagnCldTopP ) THEN ! Loop over latitudes: DO J = 1, State_Grid%NY State_Diag%SatDiagnCldTopP(I,J) = & State_Met%PEDGE(I,J,State_MET%CLDTOPS(I,J)) * GOOD ENDDO ENDIF !--------------------------------------------------------------------- ! Root Zone Soil Moisture (or Wetness) [fraction]: !--------------------------------------------------------------------- IF ( State_Diag%Archive_SatDiagnGWETROOT ) THEN State_Diag%SatDiagnGWETROOT(I,:) = State_Met%GWETROOT(I,:) * good ENDIF !--------------------------------------------------------------------- ! Topsoil Moisture (or Wetness) [fraction]: !--------------------------------------------------------------------- IF ( State_Diag%Archive_SatDiagnGWETTOP ) THEN State_Diag%SatDiagnGWETTOP(I,:) = State_Met%GWETTOP(I,:) * good ENDIF !--------------------------------------------------------------------- ! Direct Photosynthetically Active Radiation [W/m2]: ! Aka Surface downward PAR beam flux !--------------------------------------------------------------------- IF ( State_Diag%Archive_SatDiagnPARDR ) THEN State_Diag%SatDiagnPARDR(I,:) = State_Met%PARDR(I,:) * good ENDIF !--------------------------------------------------------------------- ! Diffuse Photosynthetically Active Radiation [W/m2]: ! Aka Surface downward PAR diffuse flux !--------------------------------------------------------------------- IF ( State_Diag%Archive_SatDiagnPARDF ) THEN State_Diag%SatDiagnPARDF(I,:) = State_Met%PARDF(I,:) * good ENDIF !--------------------------------------------------------------------- ! Total Precipitation (at surface) [mm/day]: ! Documentation says this variable is converted from original ! units of kg/m2/s !--------------------------------------------------------------------- IF ( State_Diag%Archive_SatDiagnPRECTOT ) THEN State_Diag%SatDiagnPRECTOT(I,:) = State_Met%PRECTOT(I,:) * good ENDIF !--------------------------------------------------------------------- ! Sea Level Pressure [hPa]: !--------------------------------------------------------------------- IF ( State_Diag%Archive_SatDiagnSLP ) THEN State_Diag%SatDiagnSLP(I,:) = State_Met%SLP(I,:) * good ENDIF !--------------------------------------------------------------------- ! Specific Humidity Interpolated to Current Time [g H2O/kg air]: ! Linearly interpolated from 3 h met field (SPHU1 and SPHU2) !--------------------------------------------------------------------- IF ( State_Diag%Archive_SatDiagnSPHU ) THEN State_Diag%SatDiagnSPHU(I,:,:) = State_Met%SPHU(I,:,:) * good ENDIF !--------------------------------------------------------------------- ! Surface Temperature at 2m [K] !--------------------------------------------------------------------- IF ( State_Diag%Archive_SatDiagnTS ) THEN State_Diag%SatDiagnTS(I,:) = State_Met%TS(I,:) * good ENDIF !--------------------------------------------------------------------- ! PBL Top Height [Levels]: !--------------------------------------------------------------------- IF ( State_Diag%Archive_SatDiagnPBLTOPL ) THEN State_Diag%SatDiagnPBLTOPL(I,:) = State_Met%PBL_TOP_L(I,:) * good ENDIF !--------------------------------------------------------------------- ! MODIS Daily LAI [m2/m2]: !--------------------------------------------------------------------- IF ( State_Diag%Archive_SatDiagnMODISLAI ) THEN State_Diag%SatDiagnMODISLAI(I,:) = State_Met%MODISLAI(I,:) * good ENDIF !--------------------------------------------------------------------- ! SatDiagn Diagnostic for WetLossLS [units of kg/s as per WetLossLS] !--------------------------------------------------------------------- IF ( State_Diag%Archive_SatDiagnWetLossLS ) THEN DO S = 1, State_Diag%Map_SatDiagnWetLossLS%nSlots State_Diag%SatDiagnWetLossLS(I,:,:,S) = & State_Diag%SatDiagnWetLossLS(I,:,:,S) * good ENDDO ENDIF !--------------------------------------------------------------------- ! SatDiagn Diagnostic for WetLossConv [units of kg/s as per WetLossConv] !--------------------------------------------------------------------- IF ( State_Diag%Archive_SatDiagnWetLossConv ) THEN DO S = 1, State_Diag%Map_SatDiagnWetLossConv%nSlots State_Diag%SatDiagnWetLossConv(I,:,:,S) = & State_Diag%SatDiagnWetLossConv(I,:,:,S) * good ENDDO ENDIF !--------------------------------------------------------------------- ! SatDiagn Diagnostic for Jval [units of s-1 as per Jval] !--------------------------------------------------------------------- IF ( State_Diag%Archive_SatDiagnJval ) THEN DO S = 1, State_Diag%Map_SatDiagnJval%nSlots State_Diag%SatDiagnJval(I,:,:,S) = & State_Diag%SatDiagnJval(I,:,:,S) * good ENDDO ENDIF !--------------------------------------------------------------------- ! SatDiagn Diagnostic for JvalO3O1D [units of s-1 as per JvalO3O1D]: !--------------------------------------------------------------------- IF ( State_Diag%Archive_SatDiagnJvalO3O1D ) THEN State_Diag%SatDiagnJvalO3O1D(I,:,:) = & State_Diag%SatDiagnJvalO3O1D(I,:,:) * good ENDIF !--------------------------------------------------------------------- ! SatDiagn Diagnostic for JvalO3O3P [units of s-1 as per JvalO3O3P]: !--------------------------------------------------------------------- IF ( State_Diag%Archive_SatDiagnJvalO3O3P ) THEN State_Diag%SatDiagnJvalO3O3P(I,:,:) = & State_Diag%SatDiagnJvalO3O3P(I,:,:) * good ENDIF !--------------------------------------------------------------------- ! SatDiagn Diagnostic for DryDep [units of molec cm-2 s-1 as per DryDep] !--------------------------------------------------------------------- IF ( State_Diag%Archive_SatDiagnDryDep ) THEN DO S = 1, State_Diag%Map_SatDiagnDryDep%nSlots State_Diag%SatDiagnDryDep(I,:,S) = & State_Diag%SatDiagnDryDep(I,:,S) * good ENDDO ENDIF !--------------------------------------------------------------------- ! SatDiagn Diagnostic for DryDepVel [units of cm s-1 as per DryDepVel] !--------------------------------------------------------------------- IF ( State_Diag%Archive_SatDiagnDryDepVel ) THEN DO S = 1, State_Diag%Map_SatDiagnDryDepVel%nSlots State_Diag%SatDiagnDryDepVel(I,:,S) = & State_Diag%SatDiagnDryDepVel(I,:,S) * good ENDDO ENDIF !--------------------------------------------------------------------- ! SatDiagn Diagnostic for OH Reactivity [units of s-1] !--------------------------------------------------------------------- IF ( State_Diag%Archive_SatDiagnOHreactivity ) THEN State_Diag%SatDiagnOHreactivity(I,:,:) = & State_Diag%SatDiagnOHreactivity(I,:,:) * good ENDIF !--------------------------------------------------------------------- ! SatDiagn Diagnostic for Column Emissions (ColEmis) [units of kg/m2/s]: ! From surface to maximum vertical level for advected species !--------------------------------------------------------------------- IF ( State_Diag%Archive_SatDiagnColEmis ) THEN DO S = 1, State_Diag%Map_SatDiagnColEmis%nSlots State_Diag%SatDiagnColEmis(I,:,S) = & State_Diag%SatDiagnColEmis(I,:,S) * good ENDDO ENDIF !--------------------------------------------------------------------- ! SatDiagn Diagnostic for Total Surface Fluxes [units of kg/m2/s]: ! From surface to top of the PBL for Advected Species ! (eflx (emis) - dflx(drydep))) !--------------------------------------------------------------------- IF ( State_Diag%Archive_SatDiagnSurfFlux ) THEN DO S = 1, State_Diag%Map_SatDiagnSurfFlux%nSlots State_Diag%SatDiagnSurfFlux(I,:,:) = & State_Diag%SatDiagnSurfFlux(I,:,:) * good ENDDO ENDIF !--------------------------------------------------------------------- ! SatDiagn Diagnostic for Chemical Loss !--------------------------------------------------------------------- IF ( State_Diag%Archive_SatDiagnLoss ) THEN DO S = 1, State_Diag%Map_SatDiagnLoss%nSlots State_Diag%SatDiagnLoss(I,:,:,S) = & State_Diag%SatDiagnLoss(I,:,:,S) * good ENDDO ENDIF !--------------------------------------------------------------------- ! SatDiagn Diagnostic for Chemical Production !--------------------------------------------------------------------- IF ( State_Diag%Archive_SatDiagnProd ) THEN DO S = 1, State_Diag%Map_SatDiagnProd%nSlots State_Diag%SatDiagnProd(I,:,:,S) = & State_Diag%SatDiagnProd(I,:,:,S) * good ENDDO ENDIF !--------------------------------------------------------------------- ! SatDiagn Diagnostic for Reaction Rates ! SatDiagnRxnRate was previously defined in fullchem_mod.F90 !--------------------------------------------------------------------- IF ( State_Diag%Archive_SatDiagnRxnRate ) THEN DO S = 1, State_Diag%Map_SatDiagnRxnRate%nSlots State_Diag%SatDiagnRxnRate(I,:,:,S) = & State_Diag%SatDiagnRxnRate(I,:,:,S) * good ENDDO ENDIF ENDDO !$OMP END PARALLEL DO ! Free pointers for safety's sake Spc => NULL() END SUBROUTINE Do_Archive_SatDiagn !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: set_aermass_diagnostic ! ! !DESCRIPTION: Computes the aerosol mass diagnostic. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Set_AerMass_Diagnostic( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE Aerosol_Mod, ONLY : Is_POA, Is_OPOA, Is_OCPO, Is_OCPI USE Aerosol_Mod, ONLY : Is_ComplexSOA, Is_SimpleSOA USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : Species, SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Chm_Mod, ONLY : Ind_ USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE PhysConstants, ONLY : MwCarb USE UnitConv_Mod, ONLY : KG_SPECIES_PER_KG_DRY_AIR, UNIT_STR USE UnitConv_Mod, ONLY : Check_Units ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostic State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 05 Feb 2018 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! SAVEd scalars LOGICAL :: First = .TRUE. ! Scalars INTEGER :: I, J, L ! Strings CHARACTER(LEN=255) :: ThisLoc CHARACTER(LEN=512) :: ErrMsg ! Pointers REAL(fp), POINTER :: AirDen(:,:,: ) TYPE(SpcConc), POINTER :: Spc (: ) TYPE(Species), POINTER :: SpcInfo REAL(fp), POINTER :: OCFPOA (:,:) REAL(fp), POINTER :: OCFOPOA (:,:) REAL(fp), POINTER :: BCPI (:,:,:) REAL(fp), POINTER :: BCPO (:,:,:) REAL(fp), POINTER :: OCPI (:,:,:) REAL(fp), POINTER :: OCPO (:,:,:) REAL(fp), POINTER :: OCPISOA (:,:,:) REAL(fp), POINTER :: SALA (:,:,:) REAL(fp), POINTER :: ACL (:,:,:) REAL(fp), POINTER :: SALC (:,:,:) REAL(fp), POINTER :: SO4_NH4_NIT (:,:,:) REAL(fp), POINTER :: SO4 (:,:,:) REAL(fp), POINTER :: HMS (:,:,:) REAL(fp), POINTER :: NH4 (:,:,:) REAL(fp), POINTER :: NIT (:,:,:) REAL(fp), POINTER :: SLA (:,:,:) REAL(fp), POINTER :: SPA (:,:,:) REAL(fp), POINTER :: TSOA (:,:,:) REAL(fp), POINTER :: ASOA (:,:,:) REAL(fp), POINTER :: OPOA (:,:,:) REAL(fp), POINTER :: SOAGX (:,:,:) REAL(fp), POINTER :: PM25 (:,:,:) REAL(fp), POINTER :: PM10 (:,:,:) REAL(fp), POINTER :: PDER (:,:,:) ! H. Zhu REAL(fp), POINTER :: ISOAAQ (:,:,:) REAL(fp), POINTER :: SOAS (:,:,:) REAL(fp), POINTER :: FRAC_SNA (:,:,:,:) REAL(fp), POINTER :: DAERSL (:,:,:,:) REAL(fp), POINTER :: WAERSL (:,:,:,:) ! Conversionf factors to ugC/m3 for Total Organic Carbon diagnostic REAL(fp), SAVE :: Fac_INDIOL REAL(fp), SAVE :: Fac_LVOCOA REAL(fp), SAVE :: Fac_SOAGX REAL(fp), SAVE :: Fac_SOAIE ! Species ids INTEGER, SAVE :: id_INDIOL INTEGER, SAVE :: id_LVOCOA INTEGER, SAVE :: id_SOAGX INTEGER, SAVE :: id_SOAIE ! ! !DEFINED PARAMETERS: ! ! Convert [kg/m3] to [ug/m3] REAL(fp), PARAMETER :: kgm3_to_ugm3 = 1.0e+9_fp ! Define number of carbon atoms in each irreversible isoprene ! SOA tracer species. Named according to the parent HC (same ! number of carbons): REAL(fp), PARAMETER :: NCIMAE = 4e+0_fp REAL(fp), PARAMETER :: NCIEPOX = 5e+0_fp REAL(fp), PARAMETER :: NCINDIOL = NCIEPOX REAL(fp), PARAMETER :: NCGLYX = 2e+0_fp REAL(fp), PARAMETER :: NCGLYC = NCGLYX REAL(fp), PARAMETER :: NCMGLY = 3e+0_fp REAL(fp), PARAMETER :: NCLVOC = NCIEPOX REAL(fp), PARAMETER :: NCISN1 = NCIEPOX !======================================================================= ! Set_AerMass_Diagnostic begins here! !======================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Set_AerMass_Diagnostic (in module GeosCore/aerosol_mod.F90)' ! Set pointers OCFPOA => State_Chm%AerMass%OCFPOA OCFOPOA => State_Chm%AerMass%OCFOPOA BCPI => State_Chm%AerMass%BCPI BCPO => State_Chm%AerMass%BCPO OCPI => State_Chm%AerMass%OCPI OCPO => State_Chm%AerMass%OCPO OCPISOA => State_Chm%AerMass%OCPISOA SALA => State_Chm%AerMass%SALA ACL => State_Chm%AerMass%ACL SALC => State_Chm%AerMass%SALC SO4_NH4_NIT => State_Chm%AerMass%SO4_NH4_NIT SO4 => State_Chm%AerMass%SO4 HMS => State_Chm%AerMass%HMS NH4 => State_Chm%AerMass%NH4 NIT => State_Chm%AerMass%NIT SLA => State_Chm%AerMass%SLA SPA => State_Chm%AerMass%SPA TSOA => State_Chm%AerMass%TSOA ASOA => State_Chm%AerMass%ASOA OPOA => State_Chm%AerMass%OPOA SOAGX => State_Chm%AerMass%SOAGX PM25 => State_Chm%AerMass%PM25 PM10 => State_Chm%AerMass%PM10 PDER => State_Chm%AerMass%PDER ISOAAQ => State_Chm%AerMass%ISOAAQ SOAS => State_Chm%AerMass%SOAS FRAC_SNA => State_Chm%AerMass%FRAC_SNA DAERSL => State_Chm%AerMass%DAERSL WAERSL => State_Chm%AerMass%WAERSL ! Verify that incoming State_Chm%Species units are kg/kg dry air. IF ( .not. Check_Units( State_Chm, KG_SPECIES_PER_KG_DRY_AIR ) ) THEN ErrMsg = 'Not all species are in "kg/kg dry" units!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Define species ID flags for the aerosol mass diagnostics IF ( First ) THEN ! Initialize conversion factors for total OC diagnostic Fac_INDIOL = 0.0_fp Fac_LVOCOA = 0.0_fp Fac_SOAGX = 0.0_fp Fac_SOAIE = 0.0_fp ! Initialize species ids id_INDIOL = Ind_('INDIOL') id_LVOCOA = Ind_('LVOCOA') id_SOAGX = Ind_('SOAGX') id_SOAIE = Ind_('SOAIE') !-------------------------------------------------------------------- ! Set conversion factors for certain isoprene SOA species, ! or, if they aren't present, disable their diagnostics !-------------------------------------------------------------------- IF ( id_INDIOL > 0 ) THEN IF ( State_Diag%Archive_TotalOC ) THEN SpcInfo => State_Chm%SpcData(id_INDIOL)%Info Fac_INDIOL = ( NCINDIOL * MwCarb / ( SpcInfo%Mw_g * 1e-3_fp ) ) SpcInfo => NULL() ENDIF ELSE IF ( State_Diag%Archive_AerMassINDIOL ) THEN State_Diag%Archive_AerMassINDIOL = .FALSE. ErrMsg = 'Disabling AerMassINDIOL diagnostic. ' // & 'INDIOL is not a defined species for this simulation.' CALL GC_Warning( ErrMsg, RC, ThisLoc ) ENDIF ENDIF IF ( id_LVOCOA > 0 ) THEN IF ( State_Diag%Archive_TotalOC ) THEN SpcInfo => State_Chm%SpcData(id_LVOCOA)%Info Fac_LVOCOA = ( NCLVOC * MwCarb / ( SpcInfo%Mw_G * 1e-3_fp ) ) SpcInfo => NULL() ENDIF ELSE IF ( State_Diag%Archive_AerMassLVOCOA ) THEN State_Diag%Archive_AerMassLVOCOA = .FALSE. ErrMsg = 'Disabling AerMassLVOCOA diagnostic. ' // & 'LVOCOA is not a defined species for this simulation.' CALL GC_Warning( ErrMsg, RC, ThisLoc ) ENDIF ENDIF IF ( id_SOAGX > 0 ) THEN IF ( State_Diag%Archive_TotalOC ) THEN SpcInfo => State_Chm%SpcData(id_SOAGX)%Info Fac_SOAGX = ( NCGLYX * MwCarb / ( SpcInfo%Mw_g * 1e-3_fp ) ) SpcInfo => NULL() ENDIF ELSE IF ( State_Diag%Archive_AerMassSOAGX ) THEN State_Diag%Archive_AerMassSOAGX = .FALSE. ErrMsg = 'Disabling AerMassSOAGX diagnostic.' // & 'SOAGX is not a defined species for this simulation.' CALL GC_Warning( ErrMsg, RC, ThisLoc ) ENDIF ENDIF IF ( id_SOAIE > 0 ) THEN IF ( State_Diag%Archive_TotalOC ) THEN SpcInfo => State_Chm%SpcData(id_SOAIE)%Info Fac_SOAIE = ( NCIEPOX * MwCarb / ( SpcInfo%Mw_g * 1e-3_fp ) ) SpcInfo => NULL() ENDIF ELSE IF ( State_Diag%Archive_AerMassSOAIE ) THEN State_Diag%Archive_AerMassSOAIE = .FALSE. ErrMsg = 'Disabling AerMassSOAIE diagnostic. ' // & 'SOAIE is not a defined species for this simulation.' CALL GC_Warning( ErrMsg, RC, ThisLoc ) ENDIF ENDIF ! Reset first-time flag First = .FALSE. ENDIF !======================================================================= ! Compute Aerosol mass and PM2.5 diagnostics using concentrations ! from the end of the chemistry timestep. !======================================================================= ! Point to fields of State_Chm and State_Met Spc => State_Chm%Species AirDen => State_Met%AIRDEN ! Zero out the totalOC diagnostic IF ( State_Diag%Archive_TotalOC ) THEN State_Diag%TotalOC = 0.0_fp ENDIF !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX !-------------------------------------- ! AerMassASOA [ug/m3] !-------------------------------------- IF ( State_Diag%Archive_AerMassASOA ) THEN State_Diag%AerMassASOA(I,J,L) = ASOA(I,J,L) * kgm3_to_ugm3 ENDIF !-------------------------------------- ! AerMassBC [ug C/m3] !-------------------------------------- IF ( State_Diag%Archive_AerMassBC ) THEN State_Diag%AerMassBC(I,J,L) = ( BCPI(I,J,L) + BCPO(I,J,L) ) * & kgm3_to_ugm3 ENDIF !-------------------------------------- ! AerMassINDIOL [ug/m3] !-------------------------------------- IF ( State_Diag%Archive_AerMassINDIOL ) THEN State_Diag%AerMassINDIOL(I,J,L) = Spc(id_INDIOL)%Conc(I,J,L) * & kgm3_to_ugm3 * AirDen(I,J,L) ENDIF !-------------------------------------- ! AerMassLVOCOA [ug/m3] !-------------------------------------- IF ( State_Diag%Archive_AerMassLVOCOA ) THEN State_Diag%AerMassLVOCOA(I,J,L) = Spc(id_LVOCOA)%Conc(I,J,L) * & kgm3_to_ugm3 * AirDen(I,J,L) ENDIF !-------------------------------------- ! AerMassNH4 [ug/m3] !-------------------------------------- IF ( State_Diag%Archive_AerMassNH4 ) THEN State_Diag%AerMassNH4(I,J,L) = NH4(I,J,L) * kgm3_to_ugm3 ENDIF !-------------------------------------- ! AerMassNIT [ug/m3] !-------------------------------------- IF ( State_Diag%Archive_AerMassNIT ) THEN State_Diag%AerMassNIT(I,J,L) = NIT(I,J,L) * kgm3_to_ugm3 ENDIF !-------------------------------------- ! AerMassOPOA [ug/m3], OA:OC=2.1 !-------------------------------------- IF ( State_Diag%Archive_AerMassOPOA ) THEN State_Diag%AerMassOPOA(I,J,L) = OPOA(I,J,L) * kgm3_to_ugm3 ENDIF !-------------------------------------- ! AerMassPOA [ug/m3], OA:OC=2.1 !-------------------------------------- IF ( State_Diag%Archive_AerMassPOA ) THEN IF ( Is_POA ) THEN State_Diag%AerMassPOA(I,J,L) = OCPO(I,J,L) * kgm3_to_ugm3 ELSEIF ( Is_OCPO ) THEN State_Diag%AerMassPOA(I,J,L) = ( OCPI(I,J,L) + OCPO(I,J,L) ) * & kgm3_to_ugm3 ENDIF ENDIF !-------------------------------------- ! AerMassSAL [ug/m3] !-------------------------------------- IF ( State_Diag%Archive_AerMassSAL ) THEN State_Diag%AerMassSAL(I,J,L) = ( SALA(I,J,L) + SALC(I,J,L) ) * & kgm3_to_ugm3 ENDIF !-------------------------------------- ! AerMassSO4 [ug/m3] !-------------------------------------- IF ( State_Diag%Archive_AerMassSO4 ) THEN State_Diag%AerMassSO4(I,J,L) = SO4(I,J,L) * kgm3_to_ugm3 ENDIF !-------------------------------------- ! AerMassHMS [ug/m3] ! jmm 3/6/19 !-------------------------------------- IF ( State_Diag%Archive_AerMassHMS ) THEN State_Diag%AerMassHMS(I,J,L) = HMS(I,J,L) * & kgm3_to_ugm3 ENDIF !-------------------------------------- ! AerMassSOAGX [ug/m3] !-------------------------------------- IF ( State_Diag%Archive_AerMassSOAGX ) THEN State_Diag%AerMassSOAGX(I,J,L) = SOAGX(I,J,L) * kgm3_to_ugm3 ENDIF !-------------------------------------- ! AerMassSOAIE [ug/m3] !-------------------------------------- IF ( State_Diag%Archive_AerMassSOAIE ) THEN State_Diag%AerMassSOAIE(I,J,L) = Spc(id_SOAIE)%Conc(I,J,L) * & kgm3_to_ugm3 * AirDen(I,J,L) ENDIF !-------------------------------------- ! AerMassTSOA [ug/m3] !-------------------------------------- IF ( State_Diag%Archive_AerMassTSOA ) THEN State_Diag%AerMassTSOA(I,J,L) = TSOA(I,J,L) * kgm3_to_ugm3 ENDIF !-------------------------------------- ! PM25 [ug/m3] !-------------------------------------- IF ( State_Diag%Archive_PM25 ) THEN State_Diag%PM25(I,J,L) = PM25(I,J,L) * kgm3_to_ugm3 ENDIF !-------------------------------------- ! PM10 [ug/m3] !-------------------------------------- IF ( State_Diag%Archive_PM10 ) THEN State_Diag%PM10(I,J,L) = PM10(I,J,L) * kgm3_to_ugm3 ENDIF !-------------------------------------- ! PDER [nm] !-------------------------------------- IF ( State_Diag%Archive_PDER ) THEN State_Diag%PDER(I,J,L) = PDER(I,J,L) ENDIF !-------------------------------------- ! Sum of all biogenic organic aerosol !-------------------------------------- ! ComplexSOA only IF ( State_Diag%Archive_TotalBiogenicOA ) THEN State_Diag%TotalBiogenicOA(I,J,L) = ( TSOA(I,J,L) + ISOAAQ(I,J,L) ) & * kgm3_to_ugm3 ENDIF !-------------------------------------- ! Sum of all organic aerosol [ug/m3] !-------------------------------------- ! Now TotalOA also works for simpleSOA IF ( State_Diag%Archive_TotalOA ) THEN State_Diag%TotalOA(I,J,L) = ( OCPO(I,J,L) + & OCPISOA(I,J,L) ) * kgm3_to_ugm3 ENDIF !-------------------------------------- ! Sum of all organic carbon [ug/m3] !-------------------------------------- ! ComplexSOA only ! since OM/OC ratio is not available for SOAS ! consistent with aerosol_mod.F90 IF ( State_Diag%Archive_TotalOC ) THEN ! Hydrophobic OC IF ( Is_POA ) THEN State_Diag%TotalOC(I,J,L) = & ( ( TSOA(I,J,L) + ASOA(I,J,L) ) / OCFOPOA(I,J) & + OCPO(I,J,L) / OCFPOA(I,J) ) * kgm3_to_ugm3 ELSE IF ( Is_OCPO ) THEN State_Diag%TotalOC(I,J,L) = & ( ( TSOA(I,J,L) + ASOA(I,J,L) & + OCPO(I,J,L) ) / OCFOPOA(I,J) ) * kgm3_to_ugm3 ENDIF ! Hydrophilic OC IF (Is_OCPI) THEN State_Diag%TotalOC(I,J,L) = State_Diag%TotalOC(I,J,L) + & ( OCPI(I,J,L) / OCFOPOA(I,J) * & kgm3_to_ugm3 ) ENDIF ! OPOA OC IF (Is_OPOA) THEN State_Diag%TotalOC(I,J,L) = State_Diag%TotalOC(I,J,L) + & ( OPOA(I,J,L) / OCFOPOA(I,J) * & kgm3_to_ugm3 ) ENDIF ! Isoprene SOA OC IF ( Is_ComplexSOA ) THEN State_Diag%TotalOC(I,J,L) = State_Diag%TotalOC(I,J,L) + & ( ( Spc(id_SOAIE )%Conc(I,J,L) * Fac_SOAIE ) + & ( Spc(id_INDIOL)%Conc(I,J,L) * Fac_INDIOL ) + & ( Spc(id_SOAGX )%Conc(I,J,L) * Fac_SOAGX ) + & ( Spc(id_LVOCOA)%Conc(I,J,L) * Fac_LVOCOA ) ) & * AirDen(I,J,L) * kgm3_to_ugm3 ENDIF ENDIF ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ! Free pointers Spc => NULL() AirDen => NULL() OCFPOA => NULL() OCFOPOA => NULL() BCPI => NULL() BCPO => NULL() OCPI => NULL() OCPO => NULL() OCPISOA => NULL() SALA => NULL() ACL => NULL() SALC => NULL() SO4_NH4_NIT => NULL() SO4 => NULL() HMS => NULL() NH4 => NULL() NIT => NULL() SLA => NULL() SPA => NULL() TSOA => NULL() ASOA => NULL() OPOA => NULL() SOAGX => NULL() PM25 => NULL() PM10 => NULL() PDER => NULL() ISOAAQ => NULL() SOAS => NULL() FRAC_SNA => NULL() DAERSL => NULL() WAERSL => NULL() END SUBROUTINE Set_AerMass_Diagnostic !EOC END MODULE Diagnostics_mod ================================================ FILE: GeosCore/drydep_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: drydep_mod.F90 ! ! !DESCRIPTION: Module DRYDEP\_MOD contains variables and routines for the ! GEOS-Chem dry deposition scheme. !\\ !\\ ! !INTERFACE: ! MODULE DRYDEP_MOD ! ! !USES: ! USE CMN_SIZE_Mod, ONLY : NPOLY, NSURFTYPE USE ERROR_MOD ! Error handling routines #ifdef TOMAS USE TOMAS_MOD ! For TOMAS microphysics #endif USE PhysConstants ! Physical constants USE PRECISION_MOD ! For GEOS-Chem Precision (fp) USE TIME_MOD IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: CLEANUP_DRYDEP PUBLIC :: DO_DRYDEP PUBLIC :: INIT_DRYDEP PUBLIC :: INIT_WEIGHTSS #if defined( MODEL_CESM ) PUBLIC :: UPDATE_DRYDEPFREQ #else ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: UPDATE_DRYDEPFREQ #endif ! ! !PUBLIC DATA MEMBERS: ! PUBLIC :: DEPNAME PUBLIC :: NUMDEP PUBLIC :: NTRAIND PUBLIC :: IDEP, IRGSS, IRAC, IRCLS PUBLIC :: IRGSO, IRLU, IRI, IRCLO, DRYCOEFF #if defined( MODEL_CESM ) PUBLIC :: NDVZIND #endif ! ! !REMARKS: ! References: ! ============================================================================ ! (1 ) Baldocchi, D.D., B.B. Hicks, and P. Camara, "A canopy stomatal ! resistance model for gaseous deposition to vegetated surfaces", ! Atmos. Environ. 21, 91-101, 1987. ! (2 ) Brutsaert, W., "Evaporation into the Atmosphere", Reidel, 1982. ! (3 ) Businger, J.A., et al., "Flux-profile relationships in the atmospheric ! surface layer", J. Atmos. Sci., 28, 181-189, 1971. ! (4 ) Dwight, H.B., "Tables of integrals and other mathematical data", ! MacMillan, 1957. ! (5 ) Guenther, A., and 15 others, A global model of natural volatile ! organic compound emissions, J. Geophys. Res., 100, 8873-8892, 1995. ! (6 ) Hicks, B.B., and P.S. Liss, "Transfer of SO2 and other reactive ! gases across the air-sea interface", Tellus, 28, 348-354, 1976. ! (7 ) Jacob, D.J., and S.C. Wofsy, "Budgets of reactive nitrogen, ! hydrocarbons, and ozone over the Amazon forest during the wet season", ! J. Geophys. Res., 95, 16737-16754, 1990. ! (8 ) Jacob, D.J., et al, "Deposition of ozone to tundra", J. Geophys. Res., ! 97, 16473-16479, 1992. ! (9 ) Levine, I.N., "Physical Chemistry, 3rd ed.", McGraw-Hill, ! New York, 1988. ! (10) Munger, J.W., et al, "Atmospheric deposition of reactive nitrogen ! oxides and ozone in a temperate deciduous forest and a sub-arctic ! woodland", J. Geophys. Res., in press, 1996. ! (11) Walcek, C.J., R.A. Brost, J.S. Chang, and M.L. Wesely, "SO2, sulfate, ! and HNO3 deposition velocities computed using regional landuse and ! meteorological data", Atmos. Environ., 20, 949-964, 1986. ! (12) Wang, Y.H., paper in preparation, 1996. ! (13) Wesely, M.L, "Improved parameterizations for surface resistance to ! gaseous dry deposition in regional-scale numerical models", ! Environmental Protection Agency Report EPA/600/3-88/025, ! Research Triangle Park (NC), 1988. ! (14) Wesely, M. L., Parameterization of surface resistance to gaseous dry ! deposition in regional-scale numerical models. Atmos. Environ., 23 ! 1293-1304, 1989. ! (15) Price, H., L. Jaeglé, A. Rice, P. Quay, P.C. Novelli, R. Gammon, ! Global Budget of Molecular Hydrogen and its Deuterium Content: ! Constraints from Ground Station, Cruise, and Aircraft Observations, ! submitted to J. Geophys. Res., 2007. ! (16) Karl, T., Harley, P., Emmons, L., Thornton, B., Guenther, A., Basu, C., ! Turnipseed, A., and Jardine, K.: Efficient Atmospheric Cleansing of ! Oxidized Organic Trace Gases by Vegetation, Science, 330, 816-819, ! 10.1126/science.1192534, 2010. ! (17) Jaeglé, L., Shah, V.,et al (2018). Nitrogen oxides emissions, chemistry, ! deposition,and export over the Northeast United States during the ! WINTER aircraft campaign. J Geophys Res: Atmospheres, 123. ! https://doi.org/10.1029/2018JD029133 ! ! !REVISION HISTORY: ! 27 Jan 2003 - R. Yantosca - Moved standalone routines into this module ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! INTEGER, PARAMETER :: NR_MAX = 200 ! # of seasalt bins INTEGER, PARAMETER :: NDRYDTYPE = 11 ! # of drydep land types REAL(f8), PARAMETER :: TWO_THIRDS = 2.0_fp / 3.0_fp ! ! PRIVATE TYPES: ! !======================================================================== ! MODULE VARIABLES: ! ! DRYDHNO3 : Internal flag for location of HNO3 in DEPVEL ! DRYDNO2 : Internal flag for location of NO2 in DEPVEL ! DRYDPAN : Internal flag for location of PAN in DEPVEL ! NUMDEP : Actual number of drydep species ! NWATER : Number of Olson's surface types that are water ! AEROSOL : Array flags to denote aerosol drydep species ! IDEP : ID #'s for dry deposition surface types ! IRAC : in-canopy aerodynamic resistance ! IRCLO : Used to calculate lower canopy vegetative resistance ! IRCLS : Input to calculate lower canopy vegetative resistance ! IRGSO : Input used to calculate ground resistance ! IRGSS : Input to calculate ground resistance ! IRI : Internal resistance for drydep land types ! IRLU : Input to calculate upper canopy vegetative resistance ! IVSMAX : Max deposition velocity (NOT USED; CODE COMMENTED OUT) ! IWATER : ID #'s for Olson surface types that are water ! IZO : Roughness heights for each Olson surface type ! NDVZIND : Index array for ordering drydep species in DEPVEL ! NTRAIND : Stores species numbers of drydep species ! PBLFRAC : Array for multiplicative factor for drydep freq ! DRYCOEFF : Polynomial coefficients for dry deposition ! HSTAR : Henry's law constant ! F0 : Reactivity factor for biological oxidation ! XMW : Molecular weight of drydep species [kg] ! A_RADI : Radius of aerosol for size-resolved drydep [um] ! A_DEN : Density of aerosol for size-res'd drydep [kg/m3] ! DEPNAME : Names of dry deposition species ! ! NOTE: these variables are defined in CMN_SIZE_mod.F ! NTYPE : Max # of landtypes / grid box ! NPOLY : Number of drydep polynomial coefficients ! NSURFTYPE : Number of Olson land types !======================================================================== ! Scalars INTEGER :: NUMDEP, NWATER INTEGER :: DRYHg0, DRYHg2, DryHgP INTEGER :: id_ACET, id_ALD2, id_O3 INTEGER :: id_MENO3, id_ETNO3, id_MOH INTEGER :: id_NK01, id_Hg0 INTEGER :: id_HNO3, id_PAN, id_IHN1 INTEGER :: id_H2O2, id_SO2, id_NH3 INTEGER :: idd_BCPO, idd_BCPI, idd_BrSALC INTEGER :: idd_BrSALA INTEGER :: idd_ISALA, idd_ISALC, idd_NH4 INTEGER :: idd_NIT, idd_NITs INTEGER :: idd_SALA, idd_SALC, idd_SO4 INTEGER :: idd_SO4s ! Arrays for Baldocchi drydep polynomial coefficients REAL(fp), TARGET :: DRYCOEFF(NPOLY ) = 0.0_fp ! Arrays that hold information for each of the 74 Olson land types INTEGER :: INDOLSON(NSURFTYPE ) INTEGER :: IDEP (NSURFTYPE ) INTEGER :: IZO (NSURFTYPE ) INTEGER :: IWATER (NSURFTYPE ) ! Arrays that hold information for each of the 11 drydep land types INTEGER :: IDRYDEP (NDRYDTYPE) INTEGER :: IRAC (NDRYDTYPE) INTEGER :: IRCLO (NDRYDTYPE) INTEGER :: IRCLS (NDRYDTYPE) INTEGER :: IRGSS (NDRYDTYPE) INTEGER :: IRGSO (NDRYDTYPE) INTEGER :: IRI (NDRYDTYPE) INTEGER :: IRLU (NDRYDTYPE) INTEGER :: IVSMAX (NDRYDTYPE) ! Arrays that hold information about the dry-depositing species LOGICAL, ALLOCATABLE :: AEROSOL (: ) ! Is Aerosol? (T/F) INTEGER, ALLOCATABLE :: NDVZIND (: ) ! Drydep index INTEGER, ALLOCATABLE :: FLAG (: ) ! Drydep scaling flag INTEGER, ALLOCATABLE :: NTRAIND (: ) ! Species index REAL(f8), ALLOCATABLE :: HSTAR (: ) ! Henry's K0 [M/atm] REAL(f8), ALLOCATABLE :: KOA (: ) ! POP's KOA REAL(f8), ALLOCATABLE :: F0 (: ) ! Reactivity factor [1] REAL(f8), ALLOCATABLE :: XMW (: ) ! Mol wt. [kg/mol] REAL(f8), ALLOCATABLE :: A_RADI (: ) ! Aer radius [m] REAL(f8), ALLOCATABLE :: A_DEN (: ) ! Aer density [kg/m3] CHARACTER(LEN=14), ALLOCATABLE :: DEPNAME (: ) ! Species name ! Allocatable arrays REAL(f8), ALLOCATABLE :: DMID (: ) REAL(f8), ALLOCATABLE :: SALT_V (: ) !================================================================= ! MODULE ROUTINES -- follow below the "CONTAINS" statement !================================================================= CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: do_drydep ! ! !DESCRIPTION: Subroutine DO\_DRYDEP is the driver for the GEOS-CHEM dry ! deposition scheme. DO\_DRYDEP calls DEPVEL to compute deposition velocities ! [m/s], which are then converted to [cm/s]. Drydep frequencies are also ! computed. (lwh, gmg, djj, 1989, 1994; bmy, 2/11/03, 5/25/05) !\\ !\\ ! !INTERFACE: ! SUBROUTINE DO_DRYDEP( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : Species USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE Time_Mod, ONLY : Get_Ts_Chem USE UnitConv_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! NOTE: Modeled aerosol dry deposition velocities over snow and ice surfaces ! in the Arctic are much higher than estimated from measured values (e.g., ! Ibrahim et al. [1983]; Duan et al. [1988]; Nilsson and Rannik [2001]). ! We will impose a dry deposition velocity of 0.03 cm/s for all aerosols ! over snow and ice surfaces. (Jenny Fisher, 01 Aug 2011) ! ! References (see full citations above): ! ============================================================================ ! (1 ) Wesely, M. L., 1989 ! (2 ) Jacob, D.J., and S.C. Wofsy, 1990 ! ! !REVISION HISTORY: ! 19 Nov 2002 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I, J, L, D, N, NDVZ, A, S REAL(f8) :: DVZ, THIK CHARACTER(LEN=255) :: ErrMsg, ThisLoc ! Arrays REAL(f8) :: CZ1 (State_Grid%NX,State_Grid%NY) ! Midpt ht of 1st level [m] REAL(f8) :: TC0 (State_Grid%NX,State_Grid%NY) ! Grid box sfc temp [K] REAL(f8) :: ZH (State_Grid%NX,State_Grid%NY) ! PBL height [m] REAL(f8) :: OBK (State_Grid%NX,State_Grid%NY) ! Monin-Obhukov Length [m] REAL(f8) :: CFRAC (State_Grid%NX,State_Grid%NY) ! Column cld frac [unitless] REAL(f8) :: RADIAT(State_Grid%NX,State_Grid%NY) ! Solar radiation [W/m2] REAL(f8) :: USTAR (State_Grid%NX,State_Grid%NY) ! Gridbox friction vel [m/s] REAL(f8) :: RHB (State_Grid%NX,State_Grid%NY) ! Rel. humidity [unitless] REAL(f8) :: PRESSU(State_Grid%NX,State_Grid%NY) ! Local sfc pressure [Pa] REAL(f8) :: W10 (State_Grid%NX,State_Grid%NY) ! 10m windspeed [m/s] REAL(f8) :: AZO (State_Grid%NX,State_Grid%NY) ! Z0, per (I,J) square REAL(f8) :: SUNCOS_MID(State_Grid%NX,State_Grid%NY) ! COS(SZA) @ midt of ! current chem timestep !================================================================= ! DO_DRYDEP begins here! !================================================================= ! Assume success RC = GC_SUCCESS ! Initialize ErrMsg = '' ThisLoc = ' -> at Do_DryDep (in module GeosCore/drydep_mod.F90)' ! Call METERO to obtain meteorological fields (all 1-D arrays) ! Added sfc pressure as PRESSU and 10m windspeed as W10 ! (jaegle 5/11/11, mpayer 1/10/12) CALL METERO( State_Grid, State_Met, CZ1, TC0, OBK, CFRAC, & RADIAT, AZO, USTAR, ZH, RHB, & PRESSU, W10, SUNCOS_MID ) ! Call DEPVEL to compute dry deposition velocities [m/s] CALL DEPVEL( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, RADIAT, TC0, SUNCOS_MID, & F0, HSTAR, XMW, AEROSOL, & USTAR, CZ1, OBK, CFRAC, & ZH, AZO, RHB, PRESSU, & W10, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in call to "DEPVEL!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF #if !defined( MODEL_CESM ) ! Call UPDATE_DRYDEPFREQ to update dry deposition frequencies [s-1] ! from dry deposition velocities [m/s]. CALL UPDATE_DRYDEPFREQ( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in call to "UPDATE_DRYDEPFREQ!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF #endif !### Debug IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### DO_DRYDEP: after dry dep' ) ENDIF END SUBROUTINE DO_DRYDEP !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: update_DryDepFreq ! ! !DESCRIPTION: Subroutine UPDATE\_DRYDEPFREQ updates dry deposition ! frequencies from dry deposition velocities !\\ !\\ ! !INTERFACE: ! SUBROUTINE UPDATE_DRYDEPFREQ( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : Species USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! ! !REMARKS: ! 02 Mar 2020 - T. M. Fritz - Separate DO_DRYDEP into two calls. The first ! call updates dry deposition velocities. The ! second call computes dry deposition frequencies. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I, J, L, D, N, NDVZ, A, S REAL(f8) :: DVZ, THIK CHARACTER(LEN=255) :: ErrMsg, ThisLoc ! Objects TYPE(Species), POINTER :: SpcInfo !================================================================= ! UPDATE_DRYDEPFREQ begins here! !================================================================= ! Assume success RC = GC_SUCCESS ! Initialize SpcInfo => NULL() !================================================================= ! Compute dry deposition frequencies; archive diagnostics !================================================================= !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, THIK, D, N, NDVZ, DVZ, SpcInfo ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! THIK = thickness of surface layer [m] THIK = State_Met%BXHEIGHT(I,J,1) ! Now we calculate drydep throughout the entire PBL. ! Make sure that the PBL depth is greater than or equal ! to the thickness of the 1st layer (rjp, bmy, 7/21/03) ! Add option for non-local PBL mixing scheme: THIK must ! be the first box height. (Lin, 03/31/09) ! Now use PBL_DRYDEP instead of LNLPBL (ckeller, 3/5/15). IF (Input_Opt%PBL_DRYDEP) THIK = MAX( State_Met%PBL_TOP_m(I,J), THIK ) ! Loop over drydep species DO D = 1, State_Chm%nDryDep ! GEOS-CHEM species number N = State_Chm%Map_DryDep(D) ! Get info about this species from the database SpcInfo => State_Chm%SpcData(N)%Info ! Index of drydep species in the State_Chm%DryDepVel array ! as passed back from subroutine DEPVEL NDVZ = NDVZIND(D) ! Dry deposition velocity [cm/s] DVZ = State_Chm%DryDepVel(I,J,NDVZ) * 100.e+0_f8 ! Scale relative to specified species (krt, 3/1/15) IF ( FLAG(D) .eq. 1 ) THEN ! Scale species to HNO3 DVZ = DVZ * sqrt(State_Chm%SpcData(id_HNO3)%Info%MW_g) & / sqrt(SpcInfo%MW_g) ELSE IF ( FLAG(D) .eq. 2 ) THEN ! Scale species to PAN DVZ = DVZ * sqrt(State_Chm%SpcData(id_PAN)%Info%MW_g) & / sqrt(SpcInfo%MW_g) ELSE IF ( FLAG(D) .eq. 3 ) THEN ! Scale species to ISOPN DVZ = DVZ * sqrt(State_Chm%SpcData(id_IHN1)%Info%MW_g) & / sqrt(SpcInfo%MW_g) ENDIF !----------------------------------------------------------- ! Special treatment for snow and ice !----------------------------------------------------------- IF ( (State_Met%isSnow(I,J)) .OR. (State_Met%isIce(I,J))) THEN !------------------------------------- ! %%% SURFACE IS SNOW OR ICE %%% !------------------------------------- IF ( SpcInfo%DD_DvzAerSnow > 0.0_fp ) THEN ! For most aerosol species (basically everything ! except sea salt and dust species), we just set ! the deposition velocity over snow to a fixed value. ! (Modification by Jenny Fisher, dated 8/1/11) DVZ = DBLE( SpcInfo%DD_DvzAerSnow ) ELSE ! Otherwise, enforce a minimum drydep velocity over snow ! (cf. the GOCART model). NOTE: In practice this will ! only apply to the species SO2, SO4, MSA, NH3, NH4, NIT. DVZ = MAX( DVZ, DBLE( SpcInfo%DD_DvzMinVal(1) ) ) #ifdef LUO_WETDEP IF ( DBLE( SpcInfo%DD_DvzMinVal(1) ) > 0.0_fp ) THEN IF ( State_Met%TS(I,J) < 253.0_fp ) THEN DVZ = DBLE( SpcInfo%DD_DvzMinVal(1) ) ENDIF ENDIF #endif ENDIF ELSE !------------------------------------- ! %%% SURFACE IS NOT SNOW OR ICE %%% !------------------------------------- ! Enforce a minimum drydep velocity over land (cf. the ! GOCART model). NOTE: In practice this will only apply ! to the species SO2, SO4, MSA, NH3, NH4, NIT. DVZ = MAX( DVZ, DBLE( SpcInfo%DD_DvzMinVal(2) ) ) ENDIF !----------------------------------------------------------- ! Special treatment for ACETONE !----------------------------------------------------------- ! For ACET, we need to only do drydep over the land ! and not over the oceans. IF ( N == id_ACET ) THEN IF ( State_Met%IsLand(I,J) ) THEN DVZ = 0.1e+0_f8 ELSE DVZ = 0e+0_f8 ENDIF ENDIF !----------------------------------------------------------- ! Special treatment for ALD2 !----------------------------------------------------------- ! For ALD2, we need to only do drydep over the land ! and not over the oceans. IF ( N == id_ALD2 ) THEN IF ( .not. State_Met%IsLand(I,J) ) THEN DVZ = 0e+0_f8 ENDIF ENDIF !----------------------------------------------------------- ! Special treatment for MENO3 !----------------------------------------------------------- ! For MENO3, we need to only do drydep over the land ! and not over the oceans. IF ( N == id_MENO3 ) THEN IF ( .not. State_Met%IsLand(I,J) ) THEN DVZ = 0e+0_f8 ENDIF ENDIF !----------------------------------------------------------- ! Special treatment for ETNO3 !----------------------------------------------------------- ! For ETNO3, we need to only do drydep over the land ! and not over the oceans. IF ( N == id_ETNO3 ) THEN IF ( .not. State_Met%IsLand(I,J) ) THEN DVZ = 0e+0_f8 ENDIF ENDIF !----------------------------------------------------------- ! Special treatment for MOH !----------------------------------------------------------- ! For MOH, we need to only do drydep over the land ! and not over the oceans. IF ( N == id_MOH ) THEN IF ( .not. State_Met%IsLand(I,J) ) THEN DVZ = 0e+0_f8 ENDIF ENDIF !----------------------------------------------------------- ! Compute drydep velocity and frequency !----------------------------------------------------------- ! Dry deposition velocities [m/s] State_Chm%DryDepVel(I,J,NDVZ) = DVZ / 100.e+0_f8 ! Dry deposition frequency [1/s] State_Chm%DryDepFreq(I,J,D) = State_Chm%DryDepVel(I,J,NDVZ) / THIK ! Free pointer SpcInfo => NULL() ENDDO ENDDO ENDDO !$OMP END PARALLEL DO END SUBROUTINE UPDATE_DRYDEPFREQ !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: OceanO3 ! ! !DESCRIPTION: Function OCEANO3 calculates the dry deposition velocity of O3 ! to the ocean using method described in Pound et.al (2019) ! currently under discussion in ACPD. ! Accounts for the turbulence of the ocean surface,Iodide concentration ! and surface temperature effects on the dry deposition velocity of ! ozone to the ocean. !\\ !\\ ! !INTERFACE: ! SUBROUTINE OCEANO3( TEMPK, USTAR, IODIDE_IN, I, J, DEPV ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! REAL(f8), INTENT(IN) :: TEMPK ! Temperature [K] REAL(f8), INTENT(IN) :: USTAR ! Fictional Velocity [m/s] REAL(fp), INTENT(IN) :: IODIDE_IN ! Surface iodide concentration [nM] INTEGER, INTENT(IN) :: I,J REAL(f8), INTENT(OUT) :: DEPV ! the new deposition vel [cm/s] ! ! !REVISION HISTORY: ! 21 Aug 2018 - R. Pound - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(f8) :: a,D,DelM,b,PSI,LAM,EP,USTARWater,K0,K1,Iodide !================================================================= ! OCEANO3 begins here! !================================================================= USTARWater = 0.0345_f8*USTAR !waterside friction velocity Iodide = IODIDE_IN*1.0E-9_f8 ! Convert from nM to M a = Iodide*EXP((-8772.2/TEMPK)+51.5) !chemical reactivity D = 1.1E-6*EXP(-1896.0/TEMPK) ! diffusivity DelM = SQRT(D/a) ! reaction-diffusion length b = 2.0_f8/(0.4_f8*USTARWater) LAM = DelM*SQRT(a/D) ! this cancels to 1 but here for completeness ! of equations EP = SQRT(2.0_f8*a*b*(DelM+(b*D/2.0_f8))) PSI = EP/SQRT(a*b**2*D) CALL K0K1_APROX(EP,K0,K1) DEPV = SQRT(a*D)*((PSI*K1*COSH(LAM)+K0*SINH(LAM))/(PSI*K1* & SINH(LAM)+K0*COSH(LAM))) END SUBROUTINE OCEANO3 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: K0K1_APROX ! ! !DESCRIPTION: Function to estimate the modified Bessel functions of ! the second kind order zero and one (K0,K1). Approach initially based on ! that described in Numerical Recipes in Fortran 90 second edition ! (1996). This implementation is designed to be specific to the use ! case required for calculating oceanic deposition velocity. Uses a ! polynomial fit of each type of modified bessel function to ! estimate the value of the function for each input. !\\ !\\ ! !INTERFACE: ! SUBROUTINE K0K1_APROX( input_arg, K0, K1 ) ! ! !INPUT PARAMETERS: ! REAL(f8), INTENT(IN) :: input_arg !the value we want the soln for REAL(f8), INTENT(OUT) :: K0,K1 !the values of the modified bessel fncs ! ! !REVISION HISTORY: ! 21 Aug 2018 - R. Pound - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(f8), DIMENSION(7) :: coeff !coefficients for polynomial fit ! of each bessel function REAL(f8) :: I0,I1 !modified bessel functions of ! first kind order 0 and 1 ! determine which fit method is best for the bessel functions IF (input_arg <= 2.0_f8) THEN ! begin the calculation of k0 by estimating i0 coeff = (/1.0,3.5156229,3.0899424,1.2067492,0.2659732, & 0.360768e-1,0.45813e-2/) I0 = poly_fit((input_arg/3.75_f8)**2,coeff) !now we can use this estimate of i0 to calculate k0 coeff = (/-0.57721566,0.42278420,0.23069756,0.3488590e-1, & 0.262698e-2,0.10750e-3,0.74e-5/) K0 = (-LOG(0.5_f8*input_arg)*I0)+ & poly_fit(0.25_f8*input_arg**2,coeff) !begin the calculation of k0 by estimating i1 coeff = (/0.5,0.87890594,0.51498869,0.15084934,0.2658733e-1, & 0.301532e-2,0.32411e-3/) I1 = input_arg*poly_fit((input_arg/3.75_f8)**2,coeff) ! now we can use this to estimate to get a value for k1 coeff = (/1.0,0.15443144,-0.67278579,-0.18156897, & -0.1919402e-1,-0.110404e-2,-0.4686e-4/) K1 = (LOG(0.5_f8*input_arg)*I1)+(1.0_f8/input_arg)* & poly_fit(0.25_f8*input_arg**2,coeff) ELSE !use a different approximation that doesn't need I0/I1 coeff = (/1.25331414,-0.7832358e-1,0.2189568e-1,-0.1062446e-1, & 0.587872e-2,-0.251540e-2,0.53208e-3/) K0 = (EXP(-input_arg)/SQRT(input_arg))* & poly_fit((2.0_f8/input_arg),coeff) coeff = (/1.25331414,0.23498619,-0.3655620e-1,0.1504268e-1, & -0.780353e-2,0.325614e-2,-0.68245e-3/) K1 = (EXP(-input_arg)/SQRT(input_arg))* & poly_fit((2.0_f8/input_arg),coeff) ENDIF END SUBROUTINE K0K1_APROX !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: poly_fit ! ! !DESCRIPTION: Function to calculate the value of a polynomial fit, ! used in the K0K1_APPROX function in estimating the values of a ! modified bessel function. !\\ !\\ ! !INTERFACE: ! FUNCTION poly_fit ( input, coeffs ) ! ! !INPUT PARAMETERS: ! REAL(f8), INTENT(IN) :: input REAL(f8), DIMENSION(:), INTENT(IN) :: coeffs ! ! !REVISION HISTORY: ! 21 Aug 2018 - R. Pound - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(f8) :: poly_fit INTEGER :: i poly_fit = 0 DO i = 1,7,1 poly_fit = poly_fit+coeffs(i)*input**i ENDDO END FUNCTION poly_fit !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: metero ! ! !DESCRIPTION: Subroutine METERO calculates meteorological constants needed ! for the dry deposition velocity module. (lwh, gmg, djj, 1989, 1994; bmy, ! 10/3/05) !\\ !\\ ! !INTERFACE: ! SUBROUTINE METERO( State_Grid, State_Met, CZ1, TC0, OBK, CFRAC, & RADIAT, AZO, USTR, ZH, RHB, & PRESSU, W10, SUNCOS_MID ) ! ! !USES: ! USE Calc_Met_Mod, ONLY : GET_OBK USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !OUTPUT PARAMETERS: ! REAL(f8), INTENT(OUT) :: CZ1 (State_Grid%NX,State_Grid%NY) ! Midpt ht of 1st model lev [m] REAL(f8), INTENT(OUT) :: TC0 (State_Grid%NX,State_Grid%NY) ! Grid box sfc temp [K] REAL(f8), INTENT(OUT) :: OBK (State_Grid%NX,State_Grid%NY) ! Monin-Obhukov length [m] REAL(f8), INTENT(OUT) :: CFRAC (State_Grid%NX,State_Grid%NY) ! Column cloud fraction [unitless] REAL(f8), INTENT(OUT) :: RADIAT(State_Grid%NX,State_Grid%NY) ! Solar radiation @ ground [W/m2] REAL(f8), INTENT(OUT) :: RHB (State_Grid%NX,State_Grid%NY) ! Rel humidity at sfc [unitless] REAL(f8), INTENT(OUT) :: USTR (State_Grid%NX,State_Grid%NY) ! Friction velocity [m/s] REAL(f8), INTENT(OUT) :: ZH (State_Grid%NX,State_Grid%NY) ! PBL height [m] REAL(f8), INTENT(OUT) :: PRESSU(State_Grid%NX,State_Grid%NY) ! Local surface press [Pa] REAL(f8), INTENT(OUT) :: W10 (State_Grid%NX,State_Grid%NY) ! 10 meter windspeed [m/s] REAL(f8), INTENT(OUT) :: SUNCOS_MID(State_Grid%NX,State_Grid%NY) ! COS(SZA) @ midpt of current chem timestep REAL(f8), INTENT(OUT) :: AZO(State_Grid%NX,State_Grid%NY) ! Roughness heights, by grid box ! ! !REMARKS: ! . ! References (see full citations above): ! ============================================================================ ! (1 ) Wesely, M. L., 1989. ! (2 ) Jacob, D.J., and S.C. Wofsy, 1990 ! ! !REVISION HISTORY: ! 20 Nov 2002 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, J REAL(f8) :: THIK REAL(f8) :: SP REAL(f8) :: SFCWINDSQR !======================================================================== ! METERO begins here! !======================================================================== ! Loop over surface grid boxes !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, THIK, SP, SFCWINDSQR )& !$OMP COLLAPSE( 2 ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! THIK = thickness of layer 1 [m] THIK = State_Met%BXHEIGHT(I,J,1) ! Midpoint height of first model level [m] CZ1(I,J) = THIK / 2.0e+0_f8 ! Local surface pressure [hPa] (mpayer, 1/10/12) ! Use moist air pressure for mean free path (ewl, 3/2/15) SP = State_Met%PEDGE(I,J,1) ! Convert from hPa to Pa for SFCPRESS PRESSU(I,J) = SP * 1.e+2_f8 !============================================================== ! Return meterological quantities for DEPVEL !============================================================== ! Roughness height [m] AZO(I,J) = State_Met%Z0(I,J) ! Column cloud fraction [unitless] CFRAC(I,J) = State_Met%CLDFRC(I,J) ! Monin-Obhukov length [m] OBK(I,J) = GET_OBK( I, J, State_Met ) ! Solar insolation @ ground [W/m2] RADIAT(I,J) = State_Met%SWGDN(I,J) ! Surface temperature [K] TC0(I,J) = State_Met%TS(I,J) ! Friction velocity [m/s] USTR(I,J) = State_Met%USTAR(I,J) ! Mixed layer depth [m] ZH(I,J) = State_Met%PBL_TOP_m(I,J) ! Relative humidity @ surface [unitless] (bec, bmy, 4/13/05) !RHB(I,J) = MIN( 0.99e+0_f8, RH(I,J,1) * 1.d-2 ) ! changed to 98% due to vapor pressure lowering above sea water ! (Lewis & Schwartz, 2004) ! jaegle (5/11/11) RHB(I,J) = MIN( 0.98_f8, State_Met%RH(I,J,1) * 1.0e-2_f8 ) ! 10m windspeed [m/s] (jaegle 5/11/11) SFCWINDSQR = State_Met%U10M(I,J)**2 + State_Met%V10M(I,J)**2 W10(I,J) = SQRT( SFCWINDSQR ) ! Cosine of solar zenith angle at midpoint ! of the current chemistry timestep. SUNCOS_MID(I,J) = State_Met%SUNCOSmid(I,J) ENDDO ENDDO !$OMP END PARALLEL DO END SUBROUTINE METERO !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: depvel ! ! !DESCRIPTION: Subroutine DEPVEL computes the dry deposition velocities using ! a resistance-in-series model. !\\ !\\ ! !INTERFACE: ! SUBROUTINE DEPVEL( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, RADIAT, TEMP, SUNCOS, & F0, HSTAR, XMW, AEROSOL, & USTAR, CZ1, OBK, CFRAC, & ZH, ZO, RHB, PRESSU, & W10, RC ) ! ! !USES: ! USE CMN_SIZE_MOD, ONLY : NTYPE USE Drydep_Toolbox_Mod, ONLY : BioFit USE ErrCode_Mod USE ERROR_MOD #if !defined( MODEL_CESM ) USE HCO_State_GC_Mod, ONLY : HcoState USE HCO_Calc_Mod, ONLY : HCO_EvalFld #endif USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : Species USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE HCO_Utilities_GC_Mod, ONLY : HCO_GC_EvalFld #ifdef APM USE APM_INIT_MOD, ONLY : APMIDS USE APM_INIT_MOD, ONLY : RDRY, RSALT, RDST, DENDST USE APM_DRIV_MOD, ONLY : GFTOT3D, DENWET3D, MWSIZE3D #endif ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid state object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology state object REAL(f8), INTENT(IN) :: RADIAT (State_Grid%NX,State_Grid%NY) ! Solar radiation [W/m2] REAL(f8), INTENT(IN) :: TEMP (State_Grid%NX,State_Grid%NY) ! Temperature [K] REAL(f8), INTENT(IN) :: SUNCOS (State_Grid%NX,State_Grid%NY) ! Cos of solar zenith angle LOGICAL, INTENT(IN) :: AEROSOL(NUMDEP) ! =T denotes aerosol species REAL(f8), INTENT(INOUT) :: F0 (NUMDEP) ! React. factor for oxidation ! of biological substances REAL(f8), INTENT(IN) :: HSTAR (NUMDEP) ! Henry's law constant REAL(f8), INTENT(IN) :: XMW (NUMDEP) ! Molecular weight [kg/mol] REAL(f8), INTENT(IN) :: USTAR (State_Grid%NX,State_Grid%NY) ! Friction velocity [m/s] REAL(f8), INTENT(IN) :: CZ1 (State_Grid%NX,State_Grid%NY) ! Alt @ which Vd is compute [m] REAL(f8), INTENT(IN) :: OBK (State_Grid%NX,State_Grid%NY) ! Monin-Obhukov length [m] REAL(f8), INTENT(IN) :: CFRAC (State_Grid%NX,State_Grid%NY) ! Surface cloud fraction REAL(f8), INTENT(IN) :: ZH (State_Grid%NX,State_Grid%NY) ! Roughness height [m] REAL(f8), INTENT(IN) :: RHB (State_Grid%NX,State_Grid%NY) ! Relative humidity [%] REAL(f8), INTENT(IN) :: PRESSU (State_Grid%NX,State_Grid%NY) ! Surface pressure [hPa] REAL(f8), INTENT(IN) :: W10 (State_Grid%NX,State_Grid%NY) ! Wind speed @ 10m altitude [m/s] ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics state object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! Need as landtype input for each grid square (I,J); see CMN_DEP_mod.F ! IREG(I,J) - # of landtypes in grid square ! ILAND(I,J,LDT) - Land type ID for element LDT =1, IREG(I,J) ! (could be from any source - mapped to deposition ! surface ID in input unit 65) ! IJUSE(I,J,LDT) - Fraction ((per mil) of gridbox area occupied by ! land type element LDT ! . ! Need as leaf area index; see CMN_DEP_mod.F ! XLAI(I,J,LDT) - Leaf Area Index of land type element LDT ! . ! Need as meteorological input for each grid square(I,J) (passed): ! RADIAT(I,J) - Solar radiation in W m-2 ! TEMP(I,J) - Surface air temperature in K ! SUNCOS(I,J) - Cosine of solar zenith angle ! LSNOW(I,J) - Logical for snow and sea ice ! RHB(I,J) - Relative humidity at the surface ! PRESSU(I,J) - Local surface pressure ! W10(I,J) - 10m wind speed ! . ! Need as input for each species K (passed): ! F0(K) - reactivity factor for oxidation of biological substances ! HSTAR(K) - Henry's Law constant ! XMW(K) - Molecular weight (kg/mole) of species K ! (used to calculate molecular diffusivities) ! AEROSOL(K) - LOGICAL flag (T = aerosol species; ! F = gas-phase species) ! . ! Also need to call the following subroutines to read drydep input data: ! READ_DRYDEP_INPUTS - (in this module) Reads in Olson land type ! indices, dry deposition land type indices, ! default roughness heights, and polynomial ! coefficients. (This supersedes MODIN, RDDRYCF) ! COMPUTE_OLSON_LANDMAP - (in olson_landmap_mod.F90). Reads in the ! Olson land types at native resolution and re-bins ! them on-the-fly to the GEOS-Chem grid resolution. ! (This supersedes RDLAND) ! "rdlai.f" - reads Leaf Area Indices from files "lai**.global" ! . ! Some variables used in the subroutine (passed): ! LRGERA(I,J) T -> stable atmosphere; a high aerodynamic resistance ! (RA=1.E4 m s-1) is imposed; else RA is calculated ! USTAR(I,J) - Friction velocity (m s-1) ! CZ1(I,J) - Altitude (m) at which deposition velocity is computed ! OBK(I,J) - Monin-Obukhov length (m): set to 1.E5 m under neutral ! conditions ! CFRAC(I,J) - Fractional cloud cover ! ZH(I,J) - Mixing depth (m) ! . ! Some variables used in the subroutine: ! MAXDEP - the maximum number of species for which the dry ! deposition calculation is done ! ZO(LDT) - Roughness height (m) for specific surface type indexed ! by LDT ! RSURFC(K,LDT) - Bulk surface resistance (s m-1) for species K to ! surface LDT ! C1X(K) - Total resistance to deposition (s m-1) for species K ! . ! References: ! ============================================================================ ! Baldocchi, D.D., B.B. Hicks, and P. Camara, A canopy stomatal ! resistance model for gaseous deposition to vegetated surfaces, ! Atmos. Environ. 21, 91-101, 1987. ! Brutsaert, W., Evaporation into the Atmosphere, Reidel, 1982. ! Businger, J.A., et al., Flux-profile relationships in the atmospheric ! surface layer, J. Atmos. Sci., 28, 181-189, 1971. ! Dwight, H.B., Tables of integrals and other mathematical data, ! MacMillan, 1957. ! Guenther, A., and 15 others, A global model of natural volatile ! organic compound emissions, J. Geophys. Res., 100, 8873-8892, 1995. ! Hicks, B.B., and P.S. Liss, Transfer of SO2 and other reactive ! gases across the air-sea interface, Tellus, 28, 348-354, 1976. ! Jacob, D.J., and S.C. Wofsy, Budgets of reactive nitrogen, ! hydrocarbons, and ozone over the Amazon forest during the wet season, ! J. Geophys. Res., 95, 16737-16754, 1990. ! Jacob, D.J., and 9 others, Deposition of ozone to tundra, ! J. Geophys. Res., 97, 16473-16479, 1992. ! Levine, I.N., Physical Chemistry, 3rd ed., McGraw-Hill, New York, 1988. ! Munger, J.W., and 8 others, Atmospheric deposition of reactive ! nitrogen oxides and ozone in a temperate deciduous forest and a ! sub-arctic woodland, J. Geophys. Res., in press, 1996. ! Walcek, C.J., R.A. Brost, J.S. Chang, and M.L. Wesely, SO2, sulfate, and ! HNO3 deposition velocities computed using regional landuse and ! meteorological data, Atmos. Environ., 20, 949-964, 1986. ! Wang, Y.H., paper in preparation, 1996. ! Wesely, M.L, Improved parameterizations for surface resistance to ! gaseous dry deposition in regional-scale numerical models, ! Environmental Protection Agency Report EPA/600/3-88/025, ! Research Triangle Park (NC), 1988. ! Wesely, M.L., same title, Atmos. Environ., 23, 1293-1304, 1989. ! ! !REVISION HISTORY: ! Circa 1990 - D.J. Jacob - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(f8) :: RI(NTYPE),RLU(NTYPE),RAC(NTYPE),RGSS(NTYPE) REAL(f8) :: RGSO(NTYPE),RCLS(NTYPE),RCLO(NTYPE) REAL(f8) :: RSURFC(NUMDEP,NTYPE) REAL(f8) :: C1X(NUMDEP),VD(NUMDEP),VK(NUMDEP) REAL(f8) :: ZO(State_Grid%NX,State_Grid%NY) LOGICAL :: LDEP(NUMDEP) LOGICAL :: LRGERA(State_Grid%NX,State_Grid%NY) REAL(f8) :: VDS REAL(f8) :: CZ,C1,RT,XNU,RAD0,RIX,GFACT,GFACI REAL(f8) :: RDC,RLUXX,RGSX,RCL,DTMP1,DTMP2,DTMP3,DTMP4 REAL(f8) :: CZH,CKUSTR,REYNO,CORR1,CORR2,Z0OBK REAL(f8) :: RA,RB,DUMMY1,DUMMY2,DUMMY3,DUMMY4 REAL(f8) :: XMWH2O,DAIR,TEMPK,TEMPC,F0_K INTEGER :: IOLSON,II,IW INTEGER :: K,LDT REAL(f8) :: RCLX,RIXX !,BIOFIT ! for corr O3, krt,11/2017 REAL(f8) :: RA_Alt, DUMMY2_Alt, DUMMY4_Alt, Z0OBK_Alt #ifdef LUO_WETDEP REAL(f8) :: HSTAR3D(State_Grid%NX,State_Grid%NY,NUMDEP) #endif #ifdef TOMAS ! For TOMAS aerosol (win, 7/15/09) INTEGER :: BIN REAL(f8) :: SIZ_DIA(State_Grid%NX,State_Grid%NY,State_Chm%nTomasBins) REAL(f8) :: SIZ_DEN(State_Grid%NX,State_Grid%NY,State_Chm%nTomasBins) #endif ! Loop indices (bmy, 3/29/12) INTEGER :: I, J ! Integer for the GEOS-CHEM species number INTEGER :: N_SPC REAL(f8) :: alpha REAL(f8) :: DEPVw ! Size of DRYCOEFF (ckeller, 05/19/14) INTEGER :: NN ! Added these to pass particle density & number to DUST_SFCRSII ! so as to avoid parallelization errors with TOMAS (bmy, 1/31/14) REAL(f8) :: DIAM, DEN ! Logical switch for POPS in order to use octanol-air partitioning instead ! of Henry's Law for scaling of cuticular resitances (clf, 1/3/2011) LOGICAL :: IS_POPS ! Pointers to fields in State_Met INTEGER, POINTER :: IREG(:,:) INTEGER, POINTER :: ILAND(:,:,:) INTEGER, POINTER :: IUSE(:,:,:) REAL(fp), POINTER :: XLAI(:,:,:) ! For making sure that all inputs to BIOFIT are of the same type REAL(fp) :: XLAI_FP REAL(fp) :: SUNCOS_FP REAL(fp) :: CFRAC_FP ! For the species database INTEGER :: SpcId TYPE(Species), POINTER :: SpcInfo ! Strings CHARACTER(LEN=255) :: ThisLoc CHARACTER(LEN=512) :: ErrMsg ! ! !DEFINED PARAMETERS: ! ! Small number REAL(fp), PARAMETER :: SMALL = 1.0e-10_f8 ! Gravitational Settling velocity (yli, 3/28/2024) REAL(f8) :: VTSoutput ! Used in AERO_SFCRSII, ADUST_SFCRSII and DUST_SFCRSII for a specific aerosol species and a specific land type REAL(f8) :: VTSoutput_ (NUMDEP,NTYPE) ! For all deposited aerosol species and all land types !================================================================= ! DEPVEL begins here! !================================================================= ! Assume success RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at DEPVEL (in module GeosCore/drydep_mod.F)' ! Error check: PBL_DRYDEP must not be used together with non-local ! PBL mixing. IF ( Input_Opt%LNLPBL .AND. Input_Opt%PBL_DRYDEP ) THEN ErrMsg = 'PBL_DRYDEP must be disabled if LNLPBL=T!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Initialize pointers IREG => State_Met%IREG ILAND => State_Met%ILAND IUSE => State_Met%IUSE XLAI => State_Met%XLAI SpcInfo => NULL() ! Is this a POPs simmulation? IS_POPS = Input_Opt%ITS_A_POPS_SIM ! clf, 1/3/2011 ! Size of drycoeff (ckeller, 05/19/14) NN = SIZE(DRYCOEFF) #if !defined( MODEL_CESM ) ! Evaluate iodide and salinity from HEMCO for O3 oceanic dry deposition IF ( id_O3 > 0 ) THEN CALL HCO_GC_EvalFld( Input_Opt, State_Grid, 'surf_iodide', State_Chm%Iodide, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not find surf_iodide in HEMCO data list!' CALL GC_Error( ErrMsg, RC, 'drydep_mod.F90' ) RETURN ENDIF CALL HCO_GC_EvalFld( Input_Opt, State_Grid, 'surf_salinity', State_Chm%Salinity, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not find surf_salinity in HEMCO data list!' CALL GC_Error( ErrMsg, RC, 'drydep_mod.F90' ) RETURN ENDIF ENDIF #endif ! Initialize State_Chm%DryDepVel State_Chm%DryDepVel = 0.0e+0_f8 !*********************************************************************** ! ! If LDEP(K)=F, species does not deposit. ! Deposition is applied only to species with LDEP=T. DO K = 1,NUMDEP ! Better test for depositing species K: We need both HSTAR and XMW ! to be nonzero, OR the value of AEROSOL to be true. This should ! avoid any futher floating point invalid issues caused by putting ! a zero value in a denominator. (bmy, 8/29/13) ! (bmy, 8/29/13) IF ( ( HSTAR(K) > 0e+0_f8 .and. & XMW (K) > 0e+0_f8 ) .or. AEROSOL(K) ) THEN LDEP(K) = .TRUE. ELSE LDEP(K) = .FALSE. ENDIF ENDDO #ifdef LUO_WETDEP ! Get the Henry's law constant as a function of lon, lat, and species CALL Luo_Get_HStar3d( Input_Opt, State_Grid, State_Met, HStar3d, RC ) #endif !*********************************************************************** ! ! Begin section for computing deposition velocities ! #ifdef TOMAS !================================================================= ! FOR TOMAS MICROPHYSICS: ! ! Calculate 30-bin aerosol size and diameter at each grid box ! This is done differently than 2-bin seasalt and 4-bin dust ! because at each box the aerosol size&density is different ! depending on the internally-mixed composition (win, 7/15/09) !================================================================= IF ( id_NK01 > 0 ) THEN CALL AERO_DIADEN( 1, Input_Opt, State_Chm, State_Grid, State_Met, & State_Diag, SIZ_DIA, SIZ_DEN, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in call to "AERO_DIADEN"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF #endif !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( CZ, TEMPK, TEMPC, K, VD )& !$OMP PRIVATE( LDT, RSURFC, C1, XNU, RT, IOLSON )& !$OMP PRIVATE( II, RI, RLU, RAC, RGSS, RGSO )& !$OMP PRIVATE( RCLS, RCLO, RAD0, RIX, GFACT, GFACI )& !$OMP PRIVATE( RDC, XMWH2O, RIXX, RLUXX, RGSX, RCLX )& !$OMP PRIVATE( DTMP1, DTMP2, DTMP3, DTMP4, VDS, CZH )& !$OMP PRIVATE( CKUSTR, REYNO, CORR1, CORR2, Z0OBK, RA )& !$OMP PRIVATE( Z0OBK_Alt, RA_Alt, DUMMY2_Alt, DUMMY4_Alt )& !$OMP PRIVATE( DUMMY1, DUMMY2, DUMMY3, DUMMY4, DAIR, RB )& !$OMP PRIVATE( C1X, VK, I, J, IW )& !$OMP PRIVATE( DIAM, DEN, XLAI_FP, SUNCOS_FP, CFRAC_FP )& !$OMP PRIVATE( N_SPC, alpha, DEPVw, VTSoutput, VTSoutput_ )& #ifdef TOMAS !$OMP PRIVATE( BIN )& #endif !$OMP PRIVATE( SpcId, SpcInfo, F0_K )& !$OMP COLLAPSE( 2 ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Zero variables that aren't zeroed below VD = 0.0_f8 RSURFC = 0.0_f8 II = 0.0 RI = 0.0_f8 RLU = 0.0_f8 RAC = 0.0_f8 RGSS = 0.0_f8 RGSO = 0.0_f8 RCLS = 0.0_f8 RCLO = 0.0_f8 RAD0 = 0.0_f8 RIX = 0.0_f8 GFACT = 0.0_f8 GFACI = 0.0_f8 RDC = 0.0_f8 XMWH2O = 0.0_f8 RIXX = 0.0_f8 RLUXX = 0.0_f8 RGSX = 0.0_f8 RCLX = 0.0_f8 DTMP1 = 0.0_f8 DTMP2 = 0.0_f8 DTMP3 = 0.0_f8 DTMP4 = 0.0_f8 VDS = 0.0_f8 CZH = 0.0_f8 CKUSTR = 0.0_f8 REYNO = 0.0_f8 CORR1 = 0.0_f8 CORR2 = 0.0_f8 Z0OBK = 0.0_f8 RA = 0.0_f8 Z0OBK_Alt = 0.0_f8 RA_Alt = 0.0_f8 DUMMY2_Alt = 0.0_f8 DUMMY4_Alt = 0.0_f8 DUMMY1 = 0.0_f8 DUMMY2 = 0.0_f8 DUMMY3 = 0.0_f8 DUMMY4 = 0.0_f8 DAIR = 0.0_f8 RB = 0.0_f8 C1X = 0.0_f8 VK = 0.0_f8 DIAM = 0.0_f8 DEN = 0.0_f8 XLAI_FP = 0.0_f8 SUNCOS_FP = 0.0_f8 CFRAC_FP = 0.0_f8 N_SPC = 0 alpha = 0.0_f8 DEPVw = 0.0_f8 F0_K = 0.0_f8 VTSoutput = 0.0_fp VTSoutput_ = 0.0_fp ! CZ is Altitude (m) at which deposition velocity is computed CZ = CZ1(I,J) ! TEMPK and TEMPC are surface air temperatures in K and in C TEMPK = TEMP(I,J) TEMPC = TEMP(I,J)-273.15e+0_f8 ! Calculate the kinematic viscosity XNU (m2 s-1) of air ! as a function of temperature. ! The kinematic viscosity is used to calculate the roughness heights ! over water surfaces and to diagnose whether such surfaces are ! aerodynamically rough or smooth using a Reynolds number criterion. ! The expression for the temperature dependence of XNU ! is from the FORTRAN code in Appendix II of Wesely [1988]; ! I wasn't able to find an original reference but it seems benign enough. C1 = TEMPK/273.15e+0_f8 XNU = 0.151e+0_f8*(C1**1.77e+0_f8)*1.0e-04_f8 ! Compute bulk surface resistance for gases. ! ! Adjust external surface resistances for temperature; ! from Wesely [1989], expression given in text on p. 1296. ! RT = 1000.0e+0_f8*EXP(-TEMPC-4.0e+0_f8) ! ! Get surface resistances - loop over land types LDT !*********************************************************************** ! The land types within each grid square are defined using the Olson ! land-type database. Each of the Olson land types is assigned a ! corresponding "deposition land type" with characteristic values of ! surface resistance components. There are 74 Olson land-types but only ! 11 deposition land-types (i.e., many of the Olson land types share the ! same deposition characteristics). Surface resistance components for ! the "deposition land types" are from Wesely [1989] except for tropical ! forests [Jacob and Wofsy, 1990] and for tundra [Jacob et al., 1992]. ! All surface resistance components are normalized to a leaf area index ! of unity. ! ! Olson land types, deposition land types, and surface resistance ! components are read from file 'drydep.table'; check that file for ! further details. !*********************************************************************** ! Loop over the # of Olson land types in this grid box (I,J) DO LDT = 1, IREG(I,J) ! Only proceed if there is a land type in this grid IF ( IUSE(I,J,LDT) > 0 ) THEN ! Olson land type index + 1 IOLSON = ILAND(I,J,LDT)+1 ! Equivalent dry deposition land type: ! 11 in GEOS-Chem dry dep; 73 in Olson landcover type II = IDEP(IOLSON) ! Over snow or ice, set drydep landcover type to 1 IF ((State_Met%isSnow(I,J)).OR.(State_Met%isIce(I,J))) II=1 ! Read the internal resistance RI (minimum stomatal resistance for ! water vapor,per unit area of leaf) from the IRI array; a '9999' ! value means no deposition to stomata so we impose a very large ! value for RI. RI(LDT) = DBLE(IRI(II)) IF (RI(LDT) .GE. 9999.e+0_f8) RI(LDT) = 1.e+12_f8 ! Cuticular resistances IRLU read in from 'drydep.table' ! are per unit area of leaf; ! divide them by the leaf area index to get a cuticular resistance ! for the bulk canopy. If IRLU is '9999' it means there are no ! cuticular surfaces on which to deposit so we impose a very large ! value for RLU. IF ( IRLU(II) >= 9999 .or. XLAI(I,J,LDT) <= 0.e+0_f8 ) THEN RLU(LDT) = 1.e+6_f8 ELSE RLU(LDT) = DBLE( IRLU(II) ) / XLAI(I,J,LDT) ! Additional resistance at low temperatures. ! Limit increase to a factor of 2. ! V. Shah 23 Oct 18 ! Ref Jaegle et al. 2018 RLU(LDT) = MIN( RLU(LDT) + RT, 2.e+0_f8 * RLU(LDT) ) ENDIF ! The following are the remaining resistances for the Wesely ! resistance-in-series model for a surface canopy ! (see Atmos. Environ. paper, Fig.1). RAC(LDT) = MAX(DBLE(IRAC(II)), 1.e+0_f8) IF (RAC(LDT) .GE. 9999.e+0_f8) RAC(LDT) = 1.e+12_f8 RGSS(LDT) = MAX(DBLE(IRGSS(II)), 1.e+0_f8) ! Additional resistance at low temperatures. ! Limit increase of RGSS, RGSO, RCLS, & RCLO to a factor of 2. ! V. Shah 23 Oct 18 ! Ref Jaegle et al. 2018 RGSS(LDT) = MIN( RGSS(LDT) + RT, 2.e+0_f8 * RGSS(LDT) ) IF (RGSS(LDT) .GE. 9999.e+0_f8) RGSS(LDT) = 1.e12_f8 RGSO(LDT) = MAX(DBLE(IRGSO(II)) ,1.e+0_f8) RGSO(LDT) = MIN( RGSO(LDT) + RT, 2.e+0_f8 * RGSO(LDT) ) IF (RGSO(LDT) .GE. 9999.e+0_f8) RGSO(LDT) = 1.e+12_f8 RCLS(LDT) = DBLE(IRCLS(II)) RCLS(LDT) = MIN( RCLS(LDT) + RT, 2.e+0_f8 * RCLS(LDT) ) IF (RCLS(LDT) .GE. 9999.e+0_f8) RCLS(LDT) = 1.e+12_f8 RCLO(LDT) = DBLE(IRCLO(II)) RCLO(LDT) = MIN( RCLO(LDT) + RT, 2.e+0_f8 * RCLO(LDT) ) IF (RCLO(LDT) .GE. 9999.e+0_f8) RCLO(LDT) = 1.e+12_f8 !**************************************************************** ! ! Adjust stomatal resistances for insolation and temperature: ! ! Temperature adjustment is from Wesely [1989], equation (3). ! ! Light adjustment by the function BIOFIT is described by Wang ! [1996]. It combines ! - Local dependence of stomal resistance on the intensity I ! of light impinging the leaf; this is expressed as a ! mutliplicative factor I/(I+b) to the stomatal resistance ! where b = 50 W m-2 (equation (7) of Baldocchi et al.[1987]) ! - radiative transfer of direct and diffuse radiation in the ! canopy using equations (12)-(16) from Guenther et al.[1995] ! - separate accounting of sunlit and shaded leaves using ! equation (12) of Guenther et al. [1995] ! - partitioning of the radiation at the top of the canopy into ! direct and diffuse components using a parameterization to ! results from an atmospheric radiative transfer model ! [Wang, 1996] ! The dependent variables of the function BIOFIT are the leaf ! area index (XYLAI), the cosine of zenith angle (SUNCOS) and ! the fractional cloud cover (CFRAC). The factor GFACI ! integrates the light dependence over the canopy depth; sp even ! though RI is input per unit area of leaf it need not be scaled ! by LAI to yield a bulk canopy value because that's already ! done in the GFACI formulation. !**************************************************************** RAD0 = RADIAT(I,J) RIX = RI(LDT) IF (RIX < 9999.e+0_f8) THEN GFACT = 100.0e+0_f8 IF (TEMPC .GT. 0.e+0_f8 .AND. TEMPC .LT. 40.e+0_f8) & GFACT = 400.e+0_f8/TEMPC/(40.0e+0_f8-TEMPC) GFACI = 100.e+0_f8 IF ( RAD0 > 0.e+0_f8 .and. XLAI(I,J,LDT) > 0.e+0_f8 ) THEN ! Now make sure all inputs to BIOFIT are flexible precision ! so that the code will compile properly (bmy, 12/18/14) XLAI_FP = XLAI(I,J,LDT) SUNCOS_FP = SUNCOS(I,J) CFRAC_FP = CFRAC(I,J) GFACI = 1.e+0_f8 / BIOFIT( DRYCOEFF, XLAI_FP, & SUNCOS_FP, CFRAC_FP, NN ) ENDIF RIX = RIX*GFACT*GFACI ! Apply scaling factor to RIX when CO2 effect is turned on ! (ayhwong, 6/25/19) IF (Input_Opt%CO2_EFFECT) THEN RIX = RIX*Input_Opt%RS_SCALE ENDIF ENDIF ! If RIX < 9999 ! ! Compute aerodynamic resistance to lower elements in lower part ! of the canopy or structure, assuming level terrain - ! equation (5) of Wesely [1989]. ! RDC = 100.e+0_f8*(1.0e+0_f8+1000.0e+0_f8/(RAD0+10.e+0_f8)) ! ! Loop over species; species-dependent corrections to resistances ! are from equations (6)-(9) of Wesely [1989]. ! DO K = 1,NUMDEP ! Save F0(K) in a private variable to avoid diffs due ! to parallelization -- Bob Yantosca (17 May 2023) F0_K = F0(K) ! Only consider dry depositing gas-phase species: IF ( LDEP(K) .AND. ( .NOT. AEROSOL(K) ) ) THEN N_SPC = State_Chm%Map_DryDep(K) IF ((N_SPC .EQ. ID_O3) .AND. (II .EQ. 11)) THEN IF (State_Chm%SALINITY(I,J) .GT. 20.0_f8) THEN ! Now apply the Luhar et al. [2018] equations for the ! special treatment of O3 dry deposition to the ocean ! surface CALL OCEANO3(State_Met%TSKIN(I,J),USTAR(I,J), & State_Chm%IODIDE(I,J),I,J,DEPVw) ! Now convert to the new rc value(s) can probably tidy ! this up a bit alpha = 10.0_f8**(-0.25-0.013*( & State_Met%TSKIN(I,J)-273.16_f8)) RSURFC(K,LDT) = 1.0_f8/(alpha*DEPVw) ELSE ! It's not 'ocean' so we instead don't change it from ! 'default' rc RSURFC(K,LDT) = 2000.0_f8 ENDIF ! Test for if surface is snow/ice to change O3 ! surface resistance to an observation derived value ELSE IF ((N_SPC .EQ. ID_O3) .AND. (II .EQ. 1)) THEN RSURFC(K,LDT) = 10000.0_f8 ELSE ! Check latitude and longitude, alter F0 only for Amazon ! rainforest for Hg0 (see reference: Feinberg et al., ESPI, ! 2022: Evaluating atmospheric mercury (Hg) uptake by ! vegetation in a chemistry-transport model) ! ! Remove IF/ELSE block using never-nesting technique. ! - Bob Yantosca (17 May 2023) IF ( N_SPC == ID_Hg0 ) THEN ! Assume lower reactivity F0_K = 3.0e-05_f8 ! But if this is the rainforest land type and we fall ! within the bounding box of the Amazon rainforest, ! then implicit nonecrease reactivity as inferred ! from observations. IF ( II == 6 .AND. & State_Grid%XMid(I,J) > -82.0_f8 .AND. & State_Grid%XMid(I,J) < -33.0_f8 .AND. & State_Grid%YMid(I,J) > -34.0_f8 .AND. & State_Grid%YMid(I,J) < 14.0_f8 ) THEN F0_K = 2.0e-01_f8 ENDIF ENDIF !XMWH2O = 18.e-3_f8 ! Use global H2OMW (ewl, 1/6/16) XMWH2O = H2OMW * 1.e-3_f8 #ifdef LUO_WETDEP RIXX = RIX*DIFFG(TEMPK,PRESSU(I,J),XMWH2O)/ & DIFFG(TEMPK,PRESSU(I,J),XMW(K)) & + 1.e+0_f8/(HSTAR3D(I,J,K)/3000.e+0_f8+100.e+0_f8*F0_K) #else RIXX = RIX*DIFFG(TEMPK,PRESSU(I,J),XMWH2O)/ & DIFFG(TEMPK,PRESSU(I,J),XMW(K)) & + 1.e+0_f8/(HSTAR(K)/3000.e+0_f8+100.e+0_f8*F0_K) #endif RLUXX = 1.e+12_f8 IF (RLU(LDT).LT.9999.e+0_f8) & #ifdef LUO_WETDEP RLUXX = RLU(LDT)/(HSTAR3D(I,J,K)/1.0e+05_f8 + F0_K) #else RLUXX = RLU(LDT)/(HSTAR(K)/1.0e+05_f8 + F0_K) #endif ! If POPs simulation, scale cuticular resistances with ! octanol-air partition coefficient (Koa) instead of ! HSTAR (clf, 1/3/2011) IF (IS_POPS) & RLUXX = RLU(LDT)/(KOA(K)/1.0e+05_f8 + F0_K) ! ! To prevent virtually zero resistance to species with ! huge HSTAR, such as HNO3, a minimum value of RLUXX ! needs to be The rationality of the existence of such ! a minimum is demonstrated by the observed relationship ! between Vd(NOy-NOx) and Ustar in Munger et al.[1996]; ! Vd(HNO3) never exceeds 2 cm s-1 in observations. The ! corresponding minimum resistance is 50 s m-1. This ! correction was introduced by J.Y. Liang on 7/9/95. ! #ifdef LUO_WETDEP RGSX = 1.e+0_f8/(HSTAR3D(I,J,K)/1.0e+05_f8/RGSS(LDT) + & F0_K/RGSO(LDT)) RCLX = 1.e+0_f8/(HSTAR3D(I,J,K)/1.0e+05_f8/RCLS(LDT) + & F0_K/RCLO(LDT)) #else RGSX = 1.e+0_f8/(HSTAR(K)/1.0e+05_f8/RGSS(LDT) + & F0_K/RGSO(LDT)) RCLX = 1.e+0_f8/(HSTAR(K)/1.0e+05_f8/RCLS(LDT) + & F0_K/RCLO(LDT)) #endif ! ! Get the bulk surface resistance of the canopy, ! RSURFC, from the network of resistances in parallel ! and in series (Fig. 1 of Wesely [1989]) DTMP1=1.e+0_f8/RIXX DTMP2=1.e+0_f8/RLUXX DTMP3=1.e+0_f8/(RAC(LDT)+RGSX) DTMP4=1.e+0_f8/(RDC+RCLX) RSURFC(K,LDT) = 1.e+0_f8/(DTMP1 + DTMP2 + DTMP3 + DTMP4) ENDIF ! get surface deposition velocity for aerosols if needed; ! equations (15)-(17) of Walcek et al. [1986] ELSE IF ( LDEP(K) .and. AEROSOL(K) ) THEN ! Get information about this species from the database SpcId = NTRAIND(K) SpcInfo => State_Chm%SpcData(SpcId)%Info IF ( SpcInfo%DD_AeroDryDep ) THEN !===================================================== ! Use size-resolved dry deposition calculations for ! seasalt aerosols. We need to account for the ! hygroscopic growth of the aerosol particles. !===================================================== ! [Zhang et al., 2001] RSURFC(K,LDT) = AERO_SFCRSII( K, & II, & PRESSU(I,J)*1e-3_f8, & TEMPK, & USTAR(I,J), & RHB(I,J), & W10(I,J), & VTSoutput, & Input_Opt, & State_Chm ) VTSoutput_(K,LDT) = VTSoutput ELSE IF ( SpcInfo%DD_DustDryDep ) THEN !===================================================== ! Use size-resolved dry deposition calculations for ! dust aerosols only. Do not account for hygroscopic ! growth of the dust aerosol particles. !===================================================== #ifdef TOMAS !------------------------------- !%%% TOMAS SIMULATIONS %%% !------------------------------- IF ( INDEX( TRIM(SpcInfo%Name), 'DSTbin' ) > 0 ) THEN ! Particle diameter, convert [m] -> [um] DIAM = A_RADI(K) * 2.e+0_f8 ! Particle density [kg/m3] DEN = A_DEN(K) ELSE ! Get current aerosol diameter and density ! NOTE: In TOMAS the aerosol diameter and density ! evolves with time. We have to save these in the ! DIAM and DEN variables so that we can hold these ! PRIVATE for the parallel loop. BIN = NTRAIND(K) - id_NK01 + 1 DIAM = SIZ_DIA( I, J, BIN ) ! Diameter [m] DEN = SIZ_DEN( I, J, BIN ) ! Density [kg/m3] ENDIF #else !------------------------------- !%%% NON-TOMAS SIMULATIONS %%% !------------------------------- ! Particle diameter, convert [m] -> [um] DIAM = A_RADI(K) * 2.e+0_f8 ! Particle density [kg/m3] DEN = A_DEN(K) #endif #ifdef APM IF(SpcInfo%Name(1:8)=='APMSPBIN')THEN DIAM = RDRY(SpcId-APMIDS%id_SO4BIN1+1)* & GFTOT3D(I,J,1,1)*2.D0 DEN = DENWET3D(I,J,1,1)*1.D3 ENDIF IF(SpcInfo%Name(1:9)=='APMSEABIN')THEN DIAM = RSALT(SpcId-APMIDS%id_SEABIN1+1)* & GFTOT3D(I,J,1,2)*2.D0 DEN = DENWET3D(I,J,1,2)*1.D3 ENDIF IF(SpcInfo%Name(1:9)=='APMDSTBIN')THEN DIAM = RDST(SpcId-APMIDS%id_DSTBIN1+1)*2.D0 DEN = DENDST(SpcId-APMIDS%id_DSTBIN1+1)*1.D3 ENDIF IF(SpcInfo%Name(1:8)=='APMLVSOA')THEN DIAM = MWSIZE3D(I,J,1,1)*2.D0 DEN = DENWET3D(I,J,1,1)*1.D3 ENDIF IF(SpcInfo%Name(1:8)=='APMCTSEA')THEN DIAM = MWSIZE3D(I,J,1,2)*2.D0 DEN = DENWET3D(I,J,1,2)*1.D3 ENDIF IF(SpcInfo%Name(1:8)=='APMCTDST')THEN DIAM = MWSIZE3D(I,J,1,3)*2.D0 DEN = DENDST(12)*1.D3 ENDIF #endif ! [Zhang et al., 2001] RSURFC(K,LDT) = DUST_SFCRSII( K, & II, & PRESSU(I,J)*1e-3_f8, & TEMPK, & USTAR(I,J), & DIAM, & DEN, & VTSoutput ) VTSoutput_(K,LDT) = VTSoutput ELSE !===================================================== ! Replace original code to statement 160 here: only ! do this for non-size-resolved species where ! AEROSOL(K)=T. (rjp, tdf, bec, bmy, 4/20/04) !===================================================== !! use Zhang et al for all aerosols (hotp 10/26/07) !VDS = 0.002D0*USTAR(I,J) !IF (OBK(I,J) .LT. 0.0D0) THEN ! VDS = VDS*(1.D0+(-300.D0/OBK(I,J))**0.6667D0) !ENDIF ! !IF ( OBK(I,J) .EQ. 0.0D0 ) & ! WRITE(6,156) OBK(I,J),I,J,LDT ! 156 FORMAT(1X,'OBK(I,J)=',E11.2,1X,' I,J =',2I4, 1X,'LDT=',I3/) !CZH = ZH(I,J)/OBK(I,J) !IF (CZH.LT.-30.0D0) VDS = 0.0009D0*USTAR(I,J)* & ! (-CZH)**0.6667D0 RSURFC(K, LDT) = ADUST_SFCRSII( K, & II, & PRESSU(I,J)*1e-3_f8, & TEMPK, & USTAR(I,J), & VTSoutput, & RHB(I,J), & State_Chm ) VTSoutput_(K,LDT) = VTSoutput ! ! Set VDS to be less than VDSMAX (entry in input file ! divided by 1.D4) VDSMAX is taken from Table 2 of Walcek ! et al. [1986]. Invert to get corresponding R !RSURFC(K,LDT) = 1.D0/MIN(VDS, DBLE(IVSMAX(II))/1.D4) ENDIF ! Free pointer SpcInfo => NULL() ENDIF ! If gas else if Aerosol(K) ENDDO ! DO K=1, NUMDEP ENDIF ! If IUSE(I,J,IDT) > 0 ENDDO ! LDT = 1, IREG ! ! Set max and min values for bulk surface resistances ! DO K = 1,NUMDEP IF ( LDEP(K) ) THEN DO LDT = 1, IREG(I,J) IF ( IUSE(I,J,LDT) > 0 ) THEN ! Because of high resistance values, a different rule ! is applied for deposition of O3 to ocean. ! Recompute the drydep landcover value II here, ! which had been missing prior to 14.5.1. ! -- Eloise Marais (07 Feb 2025) ! Olson land type index + 1 IOLSON = ILAND(I,J,LDT) + 1 ! Equivalent dry deposition land type II = IDEP(IOLSON) ! Over snow or ice, set drydep land cover type to 1 IF ( State_Met%isSnow(I,J) .OR. State_Met%isIce(I,J) ) II=1 N_SPC = State_Chm%Map_DryDep(K) IF ((N_SPC .EQ. ID_O3) .AND. (II .EQ. 11)) THEN RSURFC(K,LDT) = & MAX(1.e+0_f8, MIN(RSURFC(K,LDT),999999.e+0_f8)) ELSE RSURFC(K,LDT) = & MAX(1.e+0_f8, MIN(RSURFC(K,LDT),9999.e+0_f8)) ENDIF ! Set Rc for strong acids (HNO3,HCl,HBr) to 1 s/m ! V. Shah (23 Oct 18) ! Ref. Jaegle et al. 2018, cf. Erisman,van Pul,Ayers 1994 IF ( HSTAR(K) .gt. 1.e+10_f8 ) THEN RSURFC(K,LDT)= 1.e+0_f8 ENDIF ENDIF ! If IUSE(I,J,LDT) > 0 ENDDO ! DO LDT=1,LREG(I,J) ENDIF ! LDEP species condition ENDDO ! Numdep species ! ! Loop through the different landuse types present in ! the grid square ! DO LDT = 1, IREG(I,J) IF ( IUSE(I,J,LDT) > 0 ) THEN !GOTO 500 ! IOLSON = ... line previously located here. Not needed, so ! removed (eam, 2025). !***** Get aerodynamic resistances Ra and Rb. *********** ! The aerodynamic resistance Ra is integrated from altitude ! z0+d up to the altitude z1 at which the dry deposition ! velocity is to be referenced. The integration corrects for ! stability using Monin-Obukhov similarity formulas from ! Businger et al. [1971] which apply over the range ! 2.5 < z/zMO < 1.5 (see their Figure 2). Under very unstable ! conditions when z1 > -2.5 zMO, we assume that there is no ! resistance to transfer in the convective column between zMO ! and z1. Under very stable conditions when z1 > 1.5 zMO we ! assume that vertical transfer in the column between zMO and ! z1 is strongly suppressed so that the deposition velocity at ! altitude z1 is very low. Under these conditions we just ! specify a very large Ra=1.E4 s m-1 (LRGERA = T). !** ! The Reynolds number REYNO diagnoses whether a surface is ! aerodynamically rough (REYNO > 1) or smooth. ! ! NOTE: The criterion "REYNO > 1" was originally "REYNO > 10". ! See below for an explanation of why it was changed ! (hyl, 10/15/99) ! ! Surface is rough in all cases except over water with low ! wind speeds. In the smooth case, vertical transport IN THE ! SUBLAYER near the surface is limited by molecular diffusion ! and is therefore very slow; we assign a large value we assign ! a large value of Ra + Rb to account for this effect. ! [In Versions 3.2 and earlier we used the formulation for ! Ra + Rb given in Equation (12) of Walcek et al [1986] to ! calculate the aerodynamic resistance over smooth surfaces. ! However, that expression fails when u* is very small, as it ! yields negative values of Ra + Rb]. (djj, hyl, bmy, 5/8/00) ! !** ! In the aerodynamically rough case, the expression for Ra ! is as given in equation (5) of Jacob et al. [1992]: ! ! Ra = (1/ku*)*int(from z0 to z1) (phi(x)/z)dz ! ! where x = (z-D)/zMO, z is the height above ground, and D is ! the displacement height which is typically 70-80% of the ! canopy height [Brutsaert, 1982]. We change the vertical ! coordinate so that z=0 at the displacement height; that's OK ! since for all practical applications z1 >> D. In this manner ! we don't need to assume any specific value for the displacement ! height. Applying the variable transformation z -> x = z/zMO, ! the equation above becomes ! ! Ra = (1/ku*)*int(from x0 to x1) (phi(x)/x)dx with x=z/zMO ! ! Here phi is a stability correction function originally ! formulated by Businger et al. [1971] and given in eqns 5a and ! 5b of Jacob et al. [1992]. For unstable conditions, ! ! phi(x) = a/sqrt(1-bx) where a=0.74, b = 9 ! ! The analytical solution to the integral is [Dwight, 1957, ! integral 192.11]: ! ! int(dx/(x*sqrt(1-bx))) = log(abs((sqrt(1-bx)-1) ! /(sqrt(1-bx)+1))) ! ! which yields the expression for Ra used in the code for ! unstable conditions. For stable conditions, ! ! phi(x) = a + bx where a=0.74, b = 4.7 ! ! and the analytical solution to the integral is ! ! int((a/x)+b)dx = a*ln(x) + bx ! ! which yields the expression of Ra used in the code for stable ! conditions. ! !** ! The formulation of RB for gases is equation (12) of Walcek ! et al. [1986]. The parameterization for deposition of aerosols ! does not include an RB term so RB for aerosols is set to zero. ! Modify phi(x) according to the non-local mixing scheme ! by Holtslag and Boville [1993] ( Lin, 07/18/08 ) ! For unstable conditions, ! ! phi(x) = a/sqrt(1-bx) where a=1.0, b=15.0 ! ! For stable conditions, ! ! phi(x) = a + bx ! ! where a=1.0, b=5.0 for 0 <= x <= 1, and ! a=5.0, b=1.0 for x > 1.0 !******************************************************** CKUSTR = VON_KARMAN * USTAR(I,J) REYNO = USTAR(I,J)*ZO(I,J)/XNU IF ( OBK(I,J) .EQ. 0.0e+0_f8 ) THEN WRITE(6,211) OBK(I,J),I,J,LDT 211 FORMAT(1X,'OBK(I,J)=',E11.2,1X,' I,J = ',2I4,1X,'LDT=',I3/) ENDIF CORR1 = CZ/OBK(I,J) ! Define Z0OBK Z0OBK = ZO(I,J)/OBK(I,J) !-------------------------------------------------------- ! Z0OBK_Alt is Z0OBK for a user-specified height above ! the surface. This is required for diagnostics. ! (krt, bmy, 7/10/19). !-------------------------------------------------------- IF ( State_Diag%Archive_ConcAboveSfc ) THEN Z0OBK_Alt = Input_Opt%RA_Alt_Above_Sfc / OBK(I,J) ENDIF LRGERA(I,J) = .FALSE. ! Add option for non-local PBL (Lin, 03/31/09) IF (.NOT. Input_Opt%LNLPBL) THEN IF (CORR1 .GT. 0.e+0_f8) THEN IF (CORR1 .GT. 1.5e+0_f8) LRGERA(I,J) = .TRUE. ELSEIF(CORR1 .LE. 0.e+0_f8) THEN IF (CORR1 .LE. -2.5e+0_f8) CORR1 = -2.5e+0_f8 CORR2 = LOG(-CORR1) ENDIF ENDIF IF (CKUSTR.EQ.0.0e+0_f8) THEN WRITE(6,212) I,J,CKUSTR,VON_KARMAN,USTAR(I,J) 212 FORMAT(1X,'I,J= ',2I4,1X,'CKUSTR=',E10.1,1X, & 'VON_KARMAN= ',E12.4,1X,'USTAR(I,J)= ',E12.4) !CLOSE(98) ! I don't think this is needed (eam) STOP ! debug ENDIF !...aerodynamically rough or smooth surface ! "In the classic study by Nikuradse (1933) the transition ! from smooth to rough was examined in pipe flow. He introduced ! a roughness Reynolds number Rr = U* Z0 / Nu and found the flow ! to be smooth for Rr < 0.13 and rough for Rr > 2.5 with a ! transition regime in between." (E.B. Kraus and J.A. Businger, ! Atmosphere-Ocean Interaction, second edition, P.144-145, 1994). ! Similar statements can be found in the books: Evaporation into ! the atmosphere, by Wilfried Brutsaert ,P.59,89, 1982; or ! Seinfeld & Pandis, P.858, 1998. ! ! Here we assume a sudden transition point Rr = 1 from smooth to ! rough, following L. Merlivat (1978, The dependence of bulk ! evaporation coefficients on air-water interfacial conditions as ! determined by the isotopic method, J. Geophys. Res., Oceans & ! Atmos., 83, C6, 2977-2980). Also refer to Brutsaert's book, ! P.125. We used to use the criterion "REYNO > 10" for ! aerodynamically rough surface and now change to "REYNO > 1". ! (hyl, 10/15/99) ! ! D. J. Jacob says to change the criterion for aerodynamically ! rough surface to REYNO > 0.1 (eck, djj, bmy, 11/17/05) IF ( REYNO >= 0.1e+0_f8 ) THEN ! Add option for non-local PBL (Lin, 03/31/09) IF (.NOT. Input_Opt%LNLPBL) THEN !...aerodynamically rough surface. ! IF (CORR1.LE.0.0e+0_f8 .AND. Z0OBK .LT. -1.e+0_f8)THEN !... unstable condition; set RA to zero. ! (first implemented in V. 3.2) RA = 0.e+0_f8 !... error trap: prevent CORR1 or Z0OBK from being !... zero or close to zero (ckeller, 3/15/16) ELSEIF ( ABS(CORR1)<=SMALL .OR. ABS(Z0OBK)<=SMALL ) THEN RA = 0.e+0_f8 ELSEIF (CORR1.LE.0.0e+0_f8 .AND. Z0OBK .GE. -1.e+0_f8) THEN !... unstable conditions; !... compute Ra as described above DUMMY1 = (1.e+0_f8 - 9e+0_f8*CORR1)**0.5e+0_f8 DUMMY2 = (1.e+0_f8 - 9e+0_f8*Z0OBK)**0.5e+0_f8 DUMMY3 = ABS((DUMMY1 - 1.e+0_f8)/(DUMMY1 + 1.e+0_f8)) DUMMY4 = ABS((DUMMY2 - 1.e+0_f8)/(DUMMY2 + 1.e+0_f8)) RA = 0.74e+0_f8* (1.e+0_f8/CKUSTR) * LOG(DUMMY3/DUMMY4) ELSEIF((CORR1.GT.0.0e+0_f8).AND.(.NOT.LRGERA(I,J))) THEN !... moderately stable conditions (z/zMO <1); !... compute Ra as described above RA = (1e+0_f8/CKUSTR) * (.74e+0_f8*LOG(CORR1/Z0OBK) + & 4.7e+0_f8*(CORR1-Z0OBK)) ELSEIF(LRGERA(I,J)) THEN !... very stable conditions RA = 1.e+04_f8 ENDIF ! check that RA is positive; if RA is negative ! (as occassionally happened in version 3.1) send a ! warning message. ELSE IF (CORR1.LT.0.0e+0_f8) THEN !... unstable conditions; compute Ra as described !... above. !coef_a=1.e+0_f8 !coef_b=15.e+0_f8 DUMMY1 = (1.D0 - 15.e+0_f8*CORR1)**0.5e+0_f8 DUMMY2 = (1.D0 - 15.e+0_f8*Z0OBK)**0.5e+0_f8 DUMMY3 = ABS((DUMMY1 - 1.e+0_f8)/(DUMMY1 + 1.e+0_f8)) DUMMY4 = ABS((DUMMY2 - 1.e+0_f8)/(DUMMY2 + 1.e+0_f8)) RA = 1.e+0_f8 * (1.e+0_f8/CKUSTR) * LOG(DUMMY3/DUMMY4) !-------------------------------------------------- ! Compute RA at user-defined altitude above surface ! (krt, bmy, 7/10/19) !-------------------------------------------------- IF ( State_Diag%Archive_ConcAboveSfc ) THEN DUMMY2_Alt = SQRT( 1.0_f8 - 15.0_f8 * Z0OBK_Alt ) DUMMY4_Alt = ABS( ( DUMMY2_Alt - 1.0_f8 ) & / ( DUMMY2_Alt + 1.0_f8 ) ) RA_Alt = ( 1.0_f8 / CKUSTR ) & * LOG( DUMMY3 / DUMMY4_Alt ) ENDIF ELSEIF((CORR1.GE.0.0e+0_f8).AND.(CORR1.LE.1.0e+0_f8)) THEN !coef_a=1.e+0_f8 !coef_b=5.e+0_f8 RA = (1D0/CKUSTR) * (1.e+0_f8*LOG(CORR1/Z0OBK) + & 5.e+0_f8*(CORR1-Z0OBK)) !-------------------------------------------------- ! Compute RA at user-defined altitude above surface ! for diagnostic output (krt, bmy, 7/10/19) !-------------------------------------------------- IF ( State_Diag%Archive_ConcAboveSfc ) THEN RA_Alt = ( 1.0_fp / CKUSTR ) & * ( 1.0_f8 * LOG( CORR1 / Z0OBK_Alt ) & + 5.0_f8 * ( CORR1 - Z0OBK_Alt )) ENDIF ELSE ! CORR1 .GT. 1.0D0 !coef_a=5e+0_f8 !coef_b=1.e+0_f8 RA = (1D0/CKUSTR) * (5.e+0_f8*LOG(CORR1/Z0OBK) + & 1.e+0_f8*(CORR1-Z0OBK)) !-------------------------------------------------- ! Compute RA at user-defined altitude above surface ! for diagnostic output (krt, bmy, 7/10/19) !-------------------------------------------------- IF ( State_Diag%Archive_ConcAboveSfc ) THEN RA_Alt = ( 1.0_f8 / CKUSTR ) & * ( 5.0_f8 * LOG( CORR1 / Z0OBK_Alt ) & + 1.0_f8 *( CORR1 - Z0OBK_Alt ) ) ENDIF ENDIF ENDIF ! LNLPBL condition RA = MIN(RA,1.e+4_f8) ! If RA is < 0, set RA = 0 (bmy, 11/12/99) IF (RA .LT. 0.e+0_f8) THEN WRITE (6,1001) I,J,RA,CZ,ZO(I,J),OBK(I,J) RA = 0.0e+0_f8 ENDIF !---------------------------------------------------- ! Compute RA at user-defined altitude above surface ! for diagnostic output (krt, bmy, 7/10/19) !---------------------------------------------------- IF ( State_Diag%Archive_ConcAboveSfc ) THEN RA_Alt = MIN( RA_Alt, 1.0e+4_f8 ) ! Make sure RA_Alt is not negative IF ( RA_Alt < 0.0_f8 ) THEN IF ( Input_Opt%amIRoot ) THEN WRITE (6,1001) I,J, RA_Alt, CZ, ZO(I,J) ,OBK(I,J) 1001 FORMAT('WARNING: RA < 0 IN SUBROUTINE DEPVEL', & 2I4,4(1X,E12.5)) ENDIF RA_Alt = 0.0_f8 ENDIF !----------------------------------------------------- ! HISTORY (aka netCDF diagnostics) ! ! Store drydep resistance RA at user-defined ! altitude above surface into State_Diag !----------------------------------------------------- IF ( State_Diag%Archive_DryDepRaALT1 ) THEN State_Diag%DryDepRaALT1(I,J) = RA_Alt ENDIF ENDIF ! Get total resistance for deposition ! loop over species. DO K = 1,NUMDEP IF ( LDEP(K) ) THEN ! DAIR is the thermal diffusivity of air; ! value of 0.2*1.E-4 m2 s-1 cited on p. 16,476 of ! Jacob et al. [1992] DAIR = 0.2e0_f8*1.e-4_f8 RB = (2.e+0_f8/CKUSTR)* & (DAIR/DIFFG(TEMPK,PRESSU(I,J),XMW(K))) & **0.667e+0_f8 IF (AEROSOL(K)) RB=0.e+0_f8 C1X(K) = RA + RB + RSURFC(K,LDT) ENDIF ! If LDEP(K) ENDDO ! Smooth surface: ELSE IF ( REYNO < 0.1e+0_f8 ) THEN ! ... aerodynamically smooth surface ! BUG FIX -- suppress drydep over smooth surfaces by setting ! Ra to a large value (1e4). This prevents negative dry ! deposition velocities when u* is very small ! (djj, bmy, 5/8/00) DO K = 1,NUMDEP IF ( LDEP(K) ) THEN RA = 1.0D4 C1X(K) = RA + RSURFC(K,LDT) ENDIF ENDDO ENDIF ! Rough versus smooth surface based on REYNO ! ! IUSE is the fraction of the grid square occupied by surface LDT ! in units of per mil (IJUSE=500 -> 50% of the grid square). Add ! the contribution of surface type LDT to the deposition velocity; ! this is a loop over all surface types in the gridbox. ! DO K = 1,NUMDEP IF ( LDEP(K) ) THEN VK(K) = VD(K) VD(K) = VK(K) +.001D0* DBLE( IUSE(I,J,LDT) )/C1X(K) IF (AEROSOL (K)) THEN SpcId = NTRAIND(K) SpcInfo => State_Chm%SpcData(SpcId)%Info IF ( SpcInfo%DD_AeroDryDep ) THEN VD(K) = VK(K) +.001D0* DBLE( IUSE(I,J,LDT) ) & /C1X(K) + .001D0* DBLE( IUSE(I,J,LDT) ) * & VTSoutput_(K,LDT) ELSE IF ( SpcInfo%DD_DustDryDep ) THEN VD(K) = VK(K) +.001D0* DBLE( IUSE(I,J,LDT) ) & /C1X(K) + .001D0* DBLE( IUSE(I,J,LDT) ) * & VTSoutput_(K,LDT) ELSE VD(K) = VK(K) +.001D0* DBLE( IUSE(I,J,LDT) ) & /C1X(K) + .001D0* DBLE( IUSE(I,J,LDT) ) * & VTSoutput_(K,LDT) ENDIF ELSE VD(K) = VK(K) +.001D0* DBLE( IUSE(I,J,LDT) )/C1X(K) ENDIF ! IF AEROSOL ENDIF ! IF LDEP ENDDO ! K=1,NUMDEP ENDIF ! IF IUSE > 0 ENDDO ! LDT = 1, IREG(I,J) ! Load array State_Chm%DryDepVel DO K=1,NUMDEP IF ( LDEP(K) ) THEN State_Chm%DryDepVel(I,J,K) = VD(K) ! Now check for negative deposition velocity before returning to ! calling program (bmy, 4/16/00) ! Also call CLEANUP to deallocate arrays (bmy, 10/15/02) IF ( State_Chm%DryDepVel(I,J,K) < 0e+0_f8 ) THEN !$OMP CRITICAL PRINT*, 'DEPVEL: Deposition velocity is negative!' PRINT*, 'Dep. Vel = ', State_Chm%DryDepVel(I,J,K) PRINT*, 'Species = ', K PRINT*, 'I, J = ', I, J PRINT*, 'RADIAT = ', RADIAT(I,J) PRINT*, 'TEMP = ', TEMP(I,J) PRINT*, 'SUNCOS = ', SUNCOS(I,J) PRINT*, 'USTAR = ', USTAR(I,J) PRINT*, 'CZ1 = ', CZ1(I,J) PRINT*, 'OBK = ', OBK(I,J) PRINT*, 'CFRAC = ', CFRAC(I,J) PRINT*, 'ZH = ', ZH(I,J) PRINT*, 'LRGERA = ', LRGERA(I,J) PRINT*, 'ZO = ', ZO(I,J) PRINT*, 'STOP in depvel.f!' #if defined( MODEL_CESM ) CALL ERROR_STOP('Negative drydep velocity!', 'DRYDEP_MOD') #else CALL CLEANUP STOP #endif !$OMP END CRITICAL ENDIF ! Now check for IEEE NaN (not-a-number) condition before returning to ! calling program (bmy, 4/16/00) ! Also call CLEANUP to deallocate arrays (bmy, 10/15/02) IF ( IT_IS_NAN( State_Chm%DryDepVel(I,J,K) ) ) THEN !$OMP CRITICAL PRINT*, 'DEPVEL: Deposition velocity is NaN!' PRINT*, 'Dep. Vel = ', State_Chm%DryDepVel(I,J,K) PRINT*, 'Species = ', K PRINT*, 'I, J = ', I, J PRINT*, 'RADIAT = ', RADIAT(I,J) PRINT*, 'TEMP = ', TEMP(I,J) PRINT*, 'SUNCOS = ', SUNCOS(I,J) PRINT*, 'USTAR = ', USTAR(I,J) PRINT*, 'CZ1 = ', CZ1(I,J) PRINT*, 'OBK = ', OBK(I,J) PRINT*, 'CFRAC = ', CFRAC(I,J) PRINT*, 'ZH = ', ZH(I,J) PRINT*, 'LRGERA = ', LRGERA(I,J) PRINT*, 'ZO = ', ZO(I,J) #if defined( MODEL_CESM ) CALL ERROR_STOP('Drydep velocity is NaN!', 'DRYDEP_MOD') #else CALL CLEANUP STOP #endif !$OMP END CRITICAL ENDIF ENDIF ! Depositing species condition ENDDO ! K=1, NUMDEP ENDDO ! I ENDDO ! J !$OMP END PARALLEL DO #ifdef MODEL_GEOS ! Pass Monin Obukhov diagnostics IF ( ASSOCIATED ( State_Diag%MoninObukhov ) ) THEN State_Diag%MoninObukhov(:,:) = OBK(:,:) ENDIF #endif ! Free pointers NULLIFY( IREG ) NULLIFY( ILAND ) NULLIFY( IUSE ) NULLIFY( XLAI ) END SUBROUTINE DEPVEL !EOC #ifdef LUO_WETDEP !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Luo_Get_Hstar3d ! ! !DESCRIPTION: Computes the Henry's law constants for SO2, NH3, and H2O2 ! as a function of longitude & latitude. For all other species, will ! return a constant Henry's law constant. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Luo_Get_Hstar3d( Input_Opt, State_Grid, State_Met, HStar3d, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt TYPE(GrdState), INTENT(IN) :: State_Grid TYPE(MetState), INTENT(IN) :: State_Met ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: Hstar3d(State_Grid%NX,State_Grid%NY,NUMDEP) INTEGER, INTENT(OUT) :: RC ! ! !REMARKS: ! For now, only used with the Luo et al 2020 wetdep option. !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, J, K, spcId REAL(f8) :: coeff, Hplus, inv_tAq, Ks1, Ks2, tAq, t298_taq ! ! !DEFINED PARAMETERS: ! REAL(f8), PARAMETER :: INV_T298 = 1.0_f8 / 298.15_f8 REAL(f8), PARAMETER :: HPLUS_ice = 10.0_f8**(-5.4_f8) ! pH ice/snow REAL(f8), PARAMETER :: HPLUS_lnd = 10.0_f8**(-7.0_f8) ! pH land REAL(f8), PARAMETER :: HPLUS_ocn = 10.0_f8**(-8.2_f8) ! pH ocean !======================================================================= ! Luo_Get_Hstar3D begins here! !======================================================================= ! Initialize RC = GC_SUCCESS IF ( Input_Opt%ITS_A_FULLCHEM_SIM .or. Input_Opt%ITS_AN_AEROSOL_SIM ) THEN !==================================================================== ! For fullchem and aerosol simulations, the effective Henry's law ! constant for SO3, H2O2, and NH3 will be computed as a function ! of lon & lat (i.e. as a function of temperature & land cover). ! ! For all other species, assume that the effective Henry's law ! constant does not vary with lon & lat. !==================================================================== ! Loop over drydep species !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( K, SpcId, J, I, Hplus, tAq )& !$OMP PRIVATE( inv_tAq, t298_tAq, coeff, ks1, ks2 ) DO K = 1, NUMDEP ! Get the modelId from the drydep Id SpcId = NTRAIND(K) ! Loop over grid boxes DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Pick the proper Hplus value based on surface IF ( State_Met%isIce(I,J) .OR. State_Met%isSnow(I,J) ) THEN Hplus = HPLUS_ice ELSEIF ( State_Met%IsWater(I,J) .AND. & ( State_Met%FROCEAN(I,J) > State_met%FRLAKE(I,J) ) ) THEN Hplus = HPLUS_ocn ELSE Hplus = HPLUS_lnd ! includes lakes but not ice/snow ENDIF ! Temperature terms tAq = MAX( 253.0_f8, State_Met%TS(I,J) ) inv_tAq = 1.0_f8 / tAq t298_tAq = 298.15_f8 / tAq ! Henry's constant [mol/l-atm] and Effective Henry's constant IF ( SpcId == id_SO2 ) THEN coeff = 1.22_f8 * EXP( 10.55_f8 * (t298_tAq - 1.0_f8) ) Ks1 = 1.30e-2_f8 * EXP( 6.75_f8 * (t298_tAq - 1.0_f8) ) Ks2 = 6.31e-8_fp * EXP( 5.05_f8 * (t298_tAq - 1.0_f8) ) HSTAR3D(I,J,K) = coeff * & ( 1.0_f8 + ( Ks1/Hplus ) + ( Ks1*Ks2 / ( HPlus*HPlus ) ) ) ELSE IF ( SpcId == id_H2O2 ) THEN coeff = 8.3e+04_f8 * EXP( 24.82_f8 * (t298_tAq - 1.0_f8) ) Ks1 = 2.20e-12_f8 * EXP( -12.52_f8 * (t298_tAq - 1.0_f8) ) HSTAR3D(I,J,K) = coeff * ( 1.0_f8 + ( Ks1 / Hplus ) ) ELSE IF ( SpcId == id_NH3 ) THEN coeff = 59.8_f8 * EXP( 4200.0_f8 * (inv_tAq - INV_T298) ) Ks1 = 1.0e-14_f8 * EXP( -6710.0_f8 * (inv_tAq - INV_T298) ) Ks2 = 1.7e-5_f8 * EXP( -4325.0_f8 * (inv_tAq - INV_T298) ) HSTAR3D(I,J,K) = coeff * & ( 1.0_f8 + ( ( Ks2 * Hplus ) / Ks1 ) ) ELSE HSTAR3D(I,J,K) = HSTAR(K) ENDIF ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ELSE !==================================================================== ! None of the other simulation types include SO3, H2O2, and NH3, ! so we can skip all of the computations above. ! ! For each species, we can return an effective Henry's law constant ! that does not depend on lon & lat. !==================================================================== DO K = 1, NUMDEP HSTAR3D(:,:,K) = HSTAR(K) ENDDO ENDIF END SUBROUTINE Luo_Get_Hstar3d !EOC #endif !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: diffg ! ! !DESCRIPTION: Subroutine DIFFG calculates the molecular diffusivity [m2/s] in ! air for a gas X of molecular weight XM [kg] at temperature TK [K] and ! pressure PRESS [Pa]. (bmy, 5/16/06) !\\ !\\ ! !INTERFACE: ! FUNCTION DIFFG( TK, PRESS, XM ) RESULT( DIFF_G ) ! ! !INPUT PARAMETERS: ! REAL(f8), INTENT(IN) :: TK ! Temperature [K] REAL(f8), INTENT(IN) :: PRESS ! Pressure [Pa] REAL(f8), INTENT(IN) :: XM ! Molecular weight of gas [kg] ! ! !REMARKS: ! We specify the molecular weight of air (XMAIR) and the hard-sphere molecular ! radii of air (RADAIR) and of the diffusing gas (RADX). The molecular ! radius of air is given in a Table on p. 479 of Levine [1988]. The Table ! also gives radii for some other molecules. Rather than requesting the user ! to supply a molecular radius we specify here a generic value of 2.E-10 m for ! all molecules, which is good enough in terms of calculating the diffusivity ! as long as molecule is not too big. ! ! !REVISION HISTORY: ! 16 May 2006 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(f8) :: AIRDEN, Z, DIAM, FRPATH, SPEED, DIFF_G ! ! !DEFINED PARAMETERS: ! REAL(f8), PARAMETER :: XMAIR = 28.8e-3_f8 ! Moist air molec wt? (ewl) REAL(f8), PARAMETER :: RADAIR = 1.2e-10_f8 REAL(f8), PARAMETER :: RADX = 1.5e-10_f8 !================================================================= ! DIFFG begins here! !================================================================= ! Air density [molec/m3] AIRDEN = ( PRESS * AVO ) / ( RSTARG * TK ) ! DIAM is the collision diameter for gas X with air. DIAM = RADX + RADAIR ! Calculate the mean free path for gas X in air: ! eq. 8.5 of Seinfeld [1986]; Z = XM / XMAIR FRPATH = 1e+0_f8 /( PI * SQRT( 1e+0_f8 + Z ) * AIRDEN * ( DIAM**2 ) ) ! Calculate average speed of gas X; eq. 15.47 of Levine [1988] SPEED = SQRT( 8e+0_f8 * RSTARG * TK / ( PI * XM ) ) ! Calculate diffusion coefficient of gas X in air; ! eq. 8.9 of Seinfeld [1986] DIFF_G = ( 3e+0_f8 * PI / 32e+0_f8 ) * ( 1e+0_f8 + Z ) * FRPATH * SPEED END FUNCTION DIFFG !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: read_drydep_inputs ! ! !DESCRIPTION: Subroutine READ\_DRYDEP\_INPUTS reads inputs for the dry ! deposition module corresponding to either the Olson 1992 (GEOS-Chem default) ! or Olson 2001 (planned replacement for Olson 1992) land map. !\\ !\\ ! !INTERFACE: ! SUBROUTINE READ_DRYDEP_INPUTS( Input_Opt, & DRYCOEFF, IOLSON, IDEP, & IWATER, NWATER, IZO, & IDRYDEP, IRI, IRLU, & IRAC, IRGSS, IRGSO, & IRCLS, IRCLO, IVSMAX, & RC ) ! ! !USES: ! USE CMN_SIZE_Mod, ONLY : NPOLY, NSURFTYPE USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput #if defined( MODEL_CESM ) USE CAM_PIO_UTILS, ONLY : CAM_PIO_OPENFILE USE IOFILEMOD, ONLY : GETFIL USE PIO, ONLY : PIO_CLOSEFILE, PIO_INQ_DIMID, PIO_INQ_DIMLEN USE PIO, ONLY : PIO_INQ_VARID, PIO_GET_VAR, PIO_NOERR USE PIO, ONLY : PIO_NOWRITE, FILE_DESC_T #else ! Modules for netCDF read USE m_netcdf_io_open USE m_netcdf_io_get_dimlen USE m_netcdf_io_read USE m_netcdf_io_readattr USE m_netcdf_io_close #endif # include "netcdf.inc" ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object ! ! !OUTPUT PARAMETERS: ! !----------------------------------------------------------------------- ! DRYCOEFF : Baldocchi polynomial coeffs ! IOLSON : Olson land type indices (+1) ! IDEP : Mapping: Olson ==> drydep ID ! IWATER : Olson types that represent water ! NWATER : Number of Olson types that are water ! IZO : Default Z0 (routgness height) for each Olson land type ! IDRYDEP : Dry deposition land type indices ! IRI : RI resistance for drydep ! IRLU : RLU resistance for drydep ! IRAC : RAC resistance for drydep ! IRGSS : RGSS resistance for drydep ! IRGSO : RGSO resistance for drydep ! IRCLS : RCLS resistance for drydep ! IRCLO : RCLO resistance for drydep ! IVSMAX : Max drydep velocity (for aerosol) perr drydep land type !----------------------------------------------------------------------- REAL(fp), INTENT(OUT) :: DRYCOEFF(NPOLY ) INTEGER, INTENT(OUT) :: IOLSON (NSURFTYPE) INTEGER, INTENT(OUT) :: IDEP (NSURFTYPE) INTEGER, INTENT(OUT) :: IWATER (NSURFTYPE) INTEGER, INTENT(OUT) :: NWATER INTEGER, INTENT(OUT) :: IZO (NSURFTYPE) INTEGER, INTENT(OUT) :: IDRYDEP (NDRYDTYPE) INTEGER, INTENT(OUT) :: IRI (NDRYDTYPE) INTEGER, INTENT(OUT) :: IRLU (NDRYDTYPE) INTEGER, INTENT(OUT) :: IRAC (NDRYDTYPE) INTEGER, INTENT(OUT) :: IRGSS (NDRYDTYPE) INTEGER, INTENT(OUT) :: IRGSO (NDRYDTYPE) INTEGER, INTENT(OUT) :: IRCLS (NDRYDTYPE) INTEGER, INTENT(OUT) :: IRCLO (NDRYDTYPE) INTEGER, INTENT(OUT) :: IVSMAX (NDRYDTYPE) ! Success or failure flag INTEGER, INTENT(OUT) :: RC ! ! !REMARKS: ! Routine READ_DRYDEP_INPUTS replaces routines MODIN (which read the ASCII ! file "drydep.table") and RDDRYCF (which read the ASCII file "drydep.coef"). ! . ! READ_DRYDEP_INPUTS was generated from the Perl script "ncCodeRead", which ! is part of the NcdfUtilities package (with subsequent hand-editing). ! . ! Assumes that you have: ! (1) A netCDF library (either v3 or v4) installed on your system ! (2) The NcdfUtilities package (from Bob Yantosca) source code ! ! !REVISION HISTORY: ! 26 Mar 2012 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: FileExists INTEGER :: fId ! netCDF file ID ! Strings CHARACTER(LEN=255) :: nc_dir ! netCDF directory name CHARACTER(LEN=255) :: nc_file ! netCDF file name CHARACTER(LEN=255) :: nc_path ! netCDF path name CHARACTER(LEN=255) :: v_name ! netCDF variable name CHARACTER(LEN=255) :: a_name ! netCDF attribute name CHARACTER(LEN=255) :: a_val ! netCDF attribute value CHARACTER(LEN=255) :: FileMsg CHARACTER(LEN=255) :: ErrMsg CHARACTER(LEN=255) :: ThisLoc ! Arrays for netCDF start and count values INTEGER :: st1d(1), ct1d(1) ! For 1D arrays ! Shadow variable for reading in data at REAL*8 REAL(f8) :: DRYCOEFF_R8(NPOLY) #if defined( MODEL_CESM ) INTEGER :: iret INTEGER :: vid TYPE(FILE_DESC_T) :: ncid #endif !================================================================= ! In dry-run mode, print file path to dryrun log and exit. ! Otherwise, print file path to stdout and continue. !================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at READ_DRYDEP_INPUTS (in module GeosCore/drydep_mod.F90)' ! Input file for Olson 2001 nc_file = 'Olson_2001_Drydep_Inputs.nc' ! Open file for reading (construct full data path) nc_dir = TRIM( Input_Opt%CHEM_INPUTS_DIR ) // & 'Olson_Land_Map_201203/' nc_path = TRIM( nc_dir ) // TRIM( nc_file ) ! Test if the file exists INQUIRE( FILE=TRIM( nc_path ), EXIST=FileExists ) ! Test if the file exists and define an output string IF ( FileExists ) THEN FileMsg = 'READ_DRYDEP_INPUTS: Opening' ELSE FileMsg = 'READ_DRYDEP_INPUTS: REQUIRED FILE NOT FOUND' ENDIF ! Write to stdout for both regular and dry-run simulations IF ( Input_Opt%AmIRoot ) THEN WRITE( 6, 300 ) TRIM( FileMsg ), TRIM( nc_path ) 300 FORMAT( a, ' ', a ) ENDIF ! For dry-run simulations, return to calling program. ! For regular simulations, throw an error if we can't find the file. IF ( Input_Opt%DryRun ) THEN RETURN ELSE IF ( .not. FileExists ) THEN WRITE( ErrMsg, 300 ) TRIM( FileMsg ), TRIM( nc_path ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !================================================================= ! Open and read data !================================================================= #if defined( MODEL_CESM ) CALL CAM_PIO_OPENFILE( ncid, TRIM( nc_path ), PIO_NOWRITE ) #else CALL Ncop_Rd( fId, TRIM(nc_path) ) #endif !---------------------------------------- ! VARIABLE: DRYCOEFF !---------------------------------------- ! Variable name v_name = "DRYCOEFF" ! Read DRYCOEFF from file st1d = (/ 1 /) ct1d = (/ NPOLY /) #if defined( MODEL_CESM ) iret = PIO_INQ_VARID( ncid, TRIM(v_name), vid ) iret = PIO_GET_VAR( ncid, vid, st1d, ct1d, DRYCOEFF_R8 ) ! Assume units a_val = "1" #else CALL NcRd( DRYCOEFF_R8, fId, TRIM(v_name), st1d, ct1d ) ! Read the DRYCOEFF:units attribute a_name = "units" CALL NcGet_Var_Attributes( fId,TRIM(v_name),TRIM(a_name),a_val ) #endif ! Echo info to stdout IF ( Input_Opt%Verbose ) THEN WRITE( 6, 130 ) TRIM(v_name), TRIM(a_val) 130 FORMAT( '%% Successfully read ', a, ' [', a, ']' ) ENDIF ! Cast from REAL*8 to flexible precision DRYCOEFF = DRYCOEFF_R8 !---------------------------------------- ! VARIABLE: IOLSON !---------------------------------------- ! Variable name v_name = "IOLSON" ! Read IOLSON from file st1d = (/ 1 /) ct1d = (/ NSURFTYPE /) #if defined( MODEL_CESM ) iret = PIO_INQ_VARID( ncid, TRIM(v_name), vid ) iret = PIO_GET_VAR( ncid, vid, st1d, ct1d, IOLSON ) ! Assume units a_val = "1" #else CALL NcRd( IOLSON, fId, TRIM(v_name), st1d, ct1d ) ! Read the IOLSON:units attribute a_name = "units" CALL NcGet_Var_Attributes( fId,TRIM(v_name),TRIM(a_name),a_val ) #endif ! Echo info to stdout IF ( Input_Opt%Verbose ) THEN WRITE( 6, 130 ) TRIM(v_name), TRIM(a_val) ENDIF !---------------------------------------- ! VARIABLE: IDEP !---------------------------------------- ! Variable name v_name = "IDEP" ! Read IDEP from file st1d = (/ 1 /) ct1d = (/ NSURFTYPE /) #if defined( MODEL_CESM ) iret = PIO_INQ_VARID( ncid, TRIM(v_name), vid ) iret = PIO_GET_VAR( ncid, vid, st1d, ct1d, IDEP ) ! Assume units a_val = "1" #else CALL NcRd( IDEP, fId, TRIM(v_name), st1d, ct1d ) ! Read the IDEP:units attribute a_name = "units" CALL NcGet_Var_Attributes( fId,TRIM(v_name),TRIM(a_name),a_val ) #endif ! Echo info to stdout IF ( Input_Opt%Verbose ) THEN WRITE( 6, 130 ) TRIM(v_name), TRIM(a_val) ENDIF !---------------------------------------- ! VARIABLE: IWATER !---------------------------------------- ! Variable name v_name = "IWATER" ! Get the # of Olson types that are water ! (NOTE: IWATER is an index array, dimension name = variable name) #if defined( MODEL_CESM ) iret = PIO_INQ_DIMID( ncid, TRIM(v_name), vid ) iret = PIO_INQ_DIMLEN(ncid, vid, NWATER ) #else CALL NcGet_DimLen( fId, TRIM(v_name), NWATER ) #endif ! Initialize IWATER = 0 ! Read IWATER from file ! NOTE: IWATER is declared with NNSURFTYPE, but has NWATER values ! The rest can be zeroed out st1d = (/ 1 /) ct1d = (/ NWATER /) #if defined( MODEL_CESM ) iret = PIO_INQ_VARID( ncid, TRIM(v_name), vid ) iret = PIO_GET_VAR( ncid, vid, st1d, ct1d, IWATER ) ! Assume units a_val = "1" #else CALL NcRd( IWATER(1:NWATER), fId, TRIM(v_name), st1d, ct1d ) ! Read the IWATER:units attribute a_name = "units" CALL NcGet_Var_Attributes( fId,TRIM(v_name),TRIM(a_name),a_val ) #endif ! Echo info to stdout IF ( Input_Opt%Verbose ) THEN WRITE( 6, 130 ) TRIM(v_name), TRIM(a_val) ENDIF !---------------------------------------- ! VARIABLE: IZO !---------------------------------------- ! Variable name v_name = "IZO" ! Read IZO from file st1d = (/ 1 /) ct1d = (/ NSURFTYPE /) #if defined( MODEL_CESM ) iret = PIO_INQ_VARID( ncid, TRIM(v_name), vid ) iret = PIO_GET_VAR( ncid, vid, st1d, ct1d, IZO ) ! Assume units a_val = "1e-4 m" #else CALL NcRd( IZO, fId, TRIM(v_name), st1d, ct1d ) ! Read the IZO:long_name attribute a_name = "long_name" CALL NcGet_Var_Attributes( fId,TRIM(v_name),TRIM(a_name),a_val ) #endif ! Echo info to stdout IF ( Input_Opt%Verbose ) THEN WRITE( 6, 130 ) TRIM(v_name), TRIM(a_val) ENDIF !---------------------------------------- ! VARIABLE: IDRYDEP !---------------------------------------- ! Variable name v_name = "IDRYDEP" ! Read IDRYDEP from file st1d = (/ 1 /) ct1d = (/ NDRYDTYPE /) #if defined( MODEL_CESM ) iret = PIO_INQ_VARID( ncid, TRIM(v_name), vid ) iret = PIO_GET_VAR( ncid, vid, st1d, ct1d, IDRYDEP ) ! Assume units a_val = "1" #else CALL NcRd( IDRYDEP, fId, TRIM(v_name), st1d, ct1d ) ! Read the IDRYDEP:units attribute a_name = "units" CALL NcGet_Var_Attributes( fId,TRIM(v_name),TRIM(a_name),a_val ) #endif ! Echo info to stdout IF ( Input_Opt%Verbose ) THEN WRITE( 6, 130 ) TRIM(v_name), TRIM(a_val) ENDIF !---------------------------------------- ! VARIABLE: IRI !---------------------------------------- ! Variable name v_name = "IRI" ! Read IRI from file st1d = (/ 1 /) ct1d = (/ NDRYDTYPE /) #if defined( MODEL_CESM ) iret = PIO_INQ_VARID( ncid, TRIM(v_name), vid ) iret = PIO_GET_VAR( ncid, vid, st1d, ct1d, IRI ) ! Assume units a_val = "s m-1" #else CALL NcRd( IRI, fId, TRIM(v_name), st1d, ct1d ) ! Read the IRI:units attribute a_name = "units" CALL NcGet_Var_Attributes( fId,TRIM(v_name),TRIM(a_name),a_val ) #endif ! For Olson 2001 land map, change IRI for coniferous forests ! to match IRI for deciduous forests (skim, mps, 2/3/14) IRI(3) = 200 ! Echo info to stdout IF ( Input_Opt%Verbose ) THEN WRITE( 6, 130 ) TRIM(v_name), TRIM(a_val) ENDIF !---------------------------------------- ! VARIABLE: IRLU !---------------------------------------- ! Variable name v_name = "IRLU" ! Read IRLU from file st1d = (/ 1 /) ct1d = (/ NDRYDTYPE /) #if defined( MODEL_CESM ) iret = PIO_INQ_VARID( ncid, TRIM(v_name), vid ) iret = PIO_GET_VAR( ncid, vid, st1d, ct1d, IRLU ) ! Assume units a_val = "s m-1" #else CALL NcRd( IRLU, fId, TRIM(v_name), st1d, ct1d ) ! Read the IRLU:units attribute a_name = "units" CALL NcGet_Var_Attributes( fId,TRIM(v_name),TRIM(a_name),a_val ) #endif ! Echo info to stdout IF ( Input_Opt%Verbose ) THEN WRITE( 6, 130 ) TRIM(v_name), TRIM(a_val) ENDIF !---------------------------------------- ! VARIABLE: IRAC !---------------------------------------- ! Variable name v_name = "IRAC" ! Read IRAC from file st1d = (/ 1 /) ct1d = (/ NDRYDTYPE /) #if defined( MODEL_CESM ) iret = PIO_INQ_VARID( ncid, TRIM(v_name), vid ) iret = PIO_GET_VAR( ncid, vid, st1d, ct1d, IRAC ) ! Assume units a_val = "s m-1" #else CALL NcRd( IRAC, fId, TRIM(v_name), st1d, ct1d ) ! Read the IRAC:units attribute a_name = "units" CALL NcGet_Var_Attributes( fId,TRIM(v_name),TRIM(a_name),a_val ) #endif ! Echo info to stdout IF ( Input_Opt%Verbose ) THEN WRITE( 6, 130 ) TRIM(v_name), TRIM(a_val) ENDIF !---------------------------------------- ! VARIABLE: IRGSS !---------------------------------------- ! Variable name v_name = "IRGSS" ! Read IRGSS from file st1d = (/ 1 /) ct1d = (/ NDRYDTYPE /) #if defined( MODEL_CESM ) iret = PIO_INQ_VARID( ncid, TRIM(v_name), vid ) iret = PIO_GET_VAR( ncid, vid, st1d, ct1d, IRGSS ) ! Assume units a_val = "s m-1" #else CALL NcRd( IRGSS, fId, TRIM(v_name), st1d, ct1d ) ! Read the IRGSS:units attribute a_name = "units" CALL NcGet_Var_Attributes( fId,TRIM(v_name),TRIM(a_name),a_val ) #endif ! Echo info to stdout IF ( Input_Opt%Verbose ) THEN WRITE( 6, 130 ) TRIM(v_name), TRIM(a_val) ENDIF !---------------------------------------- ! VARIABLE: IRGSO !---------------------------------------- ! Variable name v_name = "IRGSO" ! Read IRGSO from file st1d = (/ 1 /) ct1d = (/ NDRYDTYPE /) #if defined( MODEL_CESM ) iret = PIO_INQ_VARID( ncid, TRIM(v_name), vid ) iret = PIO_GET_VAR( ncid, vid, st1d, ct1d, IRGSO ) ! Assume units a_val = "s m-1" #else CALL NcRd( IRGSO, fId, TRIM(v_name), st1d, ct1d ) ! Read the IRGSO:units attribute a_name = "units" CALL NcGet_Var_Attributes( fId,TRIM(v_name),TRIM(a_name),a_val ) #endif ! Echo info to stdout IF ( Input_Opt%Verbose ) THEN WRITE( 6, 130 ) TRIM(v_name), TRIM(a_val) ENDIF !---------------------------------------- ! VARIABLE: IRCLS !---------------------------------------- ! Variable name v_name = "IRCLS" ! Read IRCLS from file st1d = (/ 1 /) ct1d = (/ NDRYDTYPE /) #if defined( MODEL_CESM ) iret = PIO_INQ_VARID( ncid, TRIM(v_name), vid ) iret = PIO_GET_VAR( ncid, vid, st1d, ct1d, IRCLS ) ! Assume units a_val = "s m-1" #else CALL NcRd( IRCLS, fId, TRIM(v_name), st1d, ct1d ) ! Read the IRCLS:units attribute a_name = "units" CALL NcGet_Var_Attributes( fId,TRIM(v_name),TRIM(a_name),a_val ) #endif ! Echo info to stdout IF ( Input_Opt%Verbose ) THEN WRITE( 6, 130 ) TRIM(v_name), TRIM(a_val) ENDIF !---------------------------------------- ! VARIABLE: IRCLO !---------------------------------------- ! Variable name v_name = "IRCLO" ! Read IRCLO from file st1d = (/ 1 /) ct1d = (/ NDRYDTYPE /) #if defined( MODEL_CESM ) iret = PIO_INQ_VARID( ncid, TRIM(v_name), vid ) iret = PIO_GET_VAR( ncid, vid, st1d, ct1d, IRCLO ) ! Assume units a_val = "s m-1" #else CALL NcRd( IRCLO, fId, TRIM(v_name), st1d, ct1d ) ! Read the IRCLO:units attribute a_name = "units" CALL NcGet_Var_Attributes( fId,TRIM(v_name),TRIM(a_name),a_val ) #endif ! Echo info to stdout IF ( Input_Opt%Verbose ) THEN WRITE( 6, 130 ) TRIM(v_name), TRIM(a_val) ENDIF !---------------------------------------- ! VARIABLE: IVSMAX !---------------------------------------- ! Variable name v_name = "IVSMAX" ! Read IVSMAX from file st1d = (/ 1 /) ct1d = (/ NDRYDTYPE /) #if defined( MODEL_CESM ) iret = PIO_INQ_VARID( ncid, TRIM(v_name), vid ) iret = PIO_GET_VAR( ncid, vid, st1d, ct1d, IVSMAX ) ! Assume units a_val = "1e-2 cm s-1" #else CALL NcRd( IVSMAX, fId, TRIM(v_name), st1d, ct1d ) ! Read the IVSMAX:units attribute a_name = "units" CALL NcGet_Var_Attributes( fId,TRIM(v_name),TRIM(a_name),a_val ) #endif ! Echo info to stdout IF ( Input_Opt%Verbose ) THEN WRITE( 6, 130 ) TRIM(v_name), TRIM(a_val) ENDIF !================================================================= ! Cleanup and quit !================================================================= ! Close netCDF file #if defined( MODEL_CESM ) CALL PIO_CLOSEFILE( ncid ) #else CALL NcCl( fId ) #endif ! Echo info to stdout IF ( Input_Opt%Verbose ) THEN WRITE( 6, '(a)' ) REPEAT( '%', 79 ) ENDIF END SUBROUTINE READ_DRYDEP_INPUTS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: aero_sfcrsii ! ! !DESCRIPTION: Function AERO\_SFCRSII computes the aerodynamic resistance of ! seasalt aerosol species according to Zhang et al 2001. We account for ! hygroscopic growth of the seasalt aerosol particles. (rjp, tdf, bec, bmy, ! 4/1/04, 6/11/08) !\\ !\\ ! !INTERFACE: ! FUNCTION AERO_SFCRSII( K, II, PRESS, TEMP, USTAR, RHB, W10, VTSout, Input_Opt, State_Chm ) & RESULT(RS) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : Species USE State_Chm_Mod, ONLY : ChmState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: K ! Drydep species index (range: 1-NUMDEP) INTEGER, INTENT(IN) :: II ! Surface type index of GEOS-CHEM REAL(f8), INTENT(IN) :: PRESS ! Pressure [kPa] (1 mb=100 Pa=0.1 kPa) REAL(f8), INTENT(IN) :: TEMP ! Temperature [K] REAL(f8), INTENT(IN) :: USTAR ! Friction velocity [m/s] REAL(f8), INTENT(IN) :: RHB ! Relative humidity (fraction) REAL(f8), INTENT(IN) :: W10 ! 10 m windspeed [m/s] TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! REAL(f8), INTENT(OUT) :: VTSout ! Settling velocity [m/s] ! ! !RETURN VALUE: ! REAL(f8) :: RS ! Surface resistance for particles [s/m] ! ! !REMARKS: ! Do computations internally with REAL*8 (8-byte) floating-point precision, ! in order to avoid a loss of precision. ! ! !REVISION HISTORY: ! 01 Apr 2004 - R. Yantosca - Initial version ! 26 Jan 2021 - J. Pierce - Update to Emerson et al. PNAS (2020) parameters ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS ! REAL(f8), PARAMETER :: C1 = 0.7674_f8 REAL(f8), PARAMETER :: C2 = 3.079_f8 REAL(f8), PARAMETER :: C3 = 2.573e-11_f8 REAL(f8), PARAMETER :: C4 = -1.424_f8 REAL(f8), PARAMETER :: E0 = 3.0_f8 ! Parameters for polynomial coefficients to derive seawater ! density. From Tang et al. (1997) - jaegle 5/11/11 REAL(f8), PARAMETER :: A1 = 7.93e-3_f8 REAL(f8), PARAMETER :: A2 = -4.28e-5_f8 REAL(f8), PARAMETER :: A3 = 2.52e-6_f8 REAL(f8), PARAMETER :: A4 = -2.35e-8_f8 REAL(f8), PARAMETER :: EPSI = 1.0e-4_f8 ! parameters for assumed size distribution of accumulation and coarse ! mode sea salt aerosols, as described in Jaegle et al. (ACP, 11, 2011) ! (jaegle, 5/11/11) ! 1) geometric dry mean diameters (microns) REAL(f8), PARAMETER :: RG_A = 0.085e+0_f8 REAL(f8), PARAMETER :: RG_C = 0.4e+0_f8 ! 2) sigma of the size distribution REAL(f8), PARAMETER :: SIG_A = 1.5e+0_f8 REAL(f8), PARAMETER :: SIG_C = 1.8e+0_f8 !increment of radius for integration of settling velocity (um) REAL(f8), PARAMETER :: DR = 5.0e-2_f8 ! Emerson et al. (2020) added parameters REAL(f8), PARAMETER :: UPSILON = 0.8_f8 REAL(f8), PARAMETER :: BETA = 1.7_f8 REAL(f8), PARAMETER :: CB = 0.2_f8 REAL(f8), PARAMETER :: CIN = 2.5_f8 REAL(f8), PARAMETER :: CIM = 0.4_f8 ! ! !LOCAL VARIABLES: ! ! SAVEd scalars LOGICAL, SAVE :: FIRST = .TRUE. !Scalars INTEGER :: N REAL(f8) :: AIRVS ! kinematic viscosity of Air (m^2/s) REAL(f8) :: DP ! Diameter of aerosol [um] REAL(f8) :: PDP ! Press * Dp REAL(f8) :: CONST ! Constant for settling velocity calculations REAL(f8) :: SLIP ! Slip correction factor REAL(f8) :: VISC ! Viscosity of air (Pa s) REAL(f8) :: DIFF ! Brownian Diffusion constant for particles (m2/s) REAL(f8) :: SC, ST ! Schmidt and Stokes number (nondim) REAL(f8) :: RHBL ! Relative humidity local REAL(f8) :: DIAM, DEN, RATIO_R, RWET, RUM REAL(f8) :: FAC1, FAC2 REAL(f8) :: EB, EIM, EIN, R1, AA, VTS ! New variables added (jaegle 5/11/11) REAL(f8) :: SW REAL(f8) :: SALT_MASS, SALT_MASS_TOTAL, VTS_WEIGHT, DMIDW ! for weighting the settling velocity REAL(f8) :: D0, D1 !lower and upper bounds of sea-salt dry diameter bins REAL(f8) :: DEDGE REAL(f8) :: DEN1, WTP INTEGER :: ID,NR REAL(f8) :: drydepRadius !======================================================================= ! # LUC [Zhang et al., 2001] GEOS-CHEM LUC (Corr. #) !----------------------------------------------------------------------- ! 1 - Evergreen needleleaf trees Snow/Ice (12) ! 2 - Evergreen broadleaf trees Deciduous forest ( 4) ! 3 - Deciduous needleleaf trees Coniferous forest ( 1) ! 4 - Deciduous broadleaf trees Agricultural land ( 7) ! 5 - Mixed broadleaf and needleleaf trees Shrub/grassland (10) ! 6 - Grass Amazon forest ( 2) ! 7 - Crops and mixed farming Tundra ( 9) ! 8 - Desert Desert ( 8) ! 9 - Tundra Wetland (11) ! 10 - Shrubs and interrupted woodlands Urban (15) ! 11 - Wet land with plants Water (14) ! 12 - Ice cap and glacier ! 13 - Inland water ! 14 - Ocean ! 15 - Urban !======================================================================= ! GEOS-CHEM LUC 1, 2, 3, 4, 5, 6, 7 8, 9,10,11 INTEGER :: LUCINDEX(11) = (/12, 4, 1, 7,10, 2, 9, 8,11,15,14/) INTEGER :: LUC !================================================================= ! LUC 1, 2, 3, 4, 5, 6, 7, 8, ! alpha 1.0, 0.6, 1.1, 0.8, 0.8, 1.2, 1.2, 50.0, ! gamma 0.56, 0.58, 0.56, 0.56, 0.56, 0.54, 0.54, 0.54 ! ! LUC 9, 10, 11, 12, 13, 14, 15 ! alpha 50.0, 1,3, 2.0, 50.0,100.0,100.0, 1.5 ! gamma 0.54, 0.54, 0.54, 0.54, 0.50, 0.50, 0.56 !================================================================= REAL(f8) :: ALPHA(15) = (/ 1.0e+0_f8, 0.6e+0_f8, 1.1e+0_f8, & 0.8e+0_f8, 0.8e+0_f8, 1.2e+0_f8, & 1.2e+0_f8, 50.0e+0_f8, 50.0e+0_f8, & 1.3e+0_f8, 2.0e+0_f8, 50.0e+0_f8, & 100.0e+0_f8, 100.0e+0_f8, 1.5e+0_f8 /) REAL(f8) :: GAMMA(15) = (/ 0.56e+0_f8, 0.58e+0_f8, 0.56e+0_f8, & 0.56e+0_f8, 0.56e+0_f8, 0.54e+0_f8, & 0.54e+0_f8, 0.54e+0_f8, 0.54e+0_f8, & 0.54e+0_f8, 0.54e+0_f8, 0.54e+0_f8, & 0.50e+0_f8, 0.50e+0_f8, 0.56e+0_f8 /) !...A unit is (mm) so multiply by 1.D-3 to (m) ! LUC 1, 2, 3, 4, 5, 6, 7, 8, ! SC1 2.0, 5.0, 2.0, 5.0, 5.0, 2.0, 2.0,-999., ! SC2 2.0, 5.0, 2.0, 5.0, 5.0, 2.0, 2.0,-999., ! A SC3 2.0, 5.0, 5.0, 10.0, 5.0, 5.0, 5.0,-999., ! SC4 2.0, 5.0, 5.0, 10.0, 5.0, 5.0, 5.0,-999., ! SC5 2.0, 5.0, 2.0, 5.0, 5.0, 2.0, 2.0,-999., ! ! LUC 9, 10, 11, 12, 13, 14, 15 ! SC1 -999., 10.0, 10.0,-999.,-999.,-999., 10.0 ! SC2 -999., 10.0, 10.0,-999.,-999.,-999., 10.0 ! A SC3 -999., 10.0, 10.0,-999.,-999.,-999., 10.0 ! SC4 -999., 10.0, 10.0,-999.,-999.,-999., 10.0 ! SC5 -999., 10.0, 10.0,-999.,-999.,-999., 10.0 REAL(f8) :: A(15,5) REAL(f8) :: Aavg(15) DATA A / 2.0e+0_f8, 5.0e+0_f8, 2.0e+0_f8, 5.0e+0_f8, 5.0e+0_f8, & 2.0e+0_f8, 2.0e+0_f8, -999.e+0_f8, -999.e+0_f8, 10.0e+0_f8, & 10.0e+0_f8, -999.e+0_f8, -999.e+0_f8, -999.e+0_f8, 10.0e+0_f8, & 2.0e+0_f8, 5.0e+0_f8, 2.0e+0_f8, 5.0e+0_f8, 5.0e+0_f8, & 2.0e+0_f8, 2.0e+0_f8, -999.e+0_f8, -999.e+0_f8, 10.0e+0_f8, & 10.0e+0_f8, -999.e+0_f8, -999.e+0_f8, -999.e+0_f8, 10.0e+0_f8, & 2.0e+0_f8, 5.0e+0_f8, 5.0e+0_f8, 10.0e+0_f8, 5.0e+0_f8, & 5.0e+0_f8, 5.0e+0_f8, -999.e+0_f8, -999.e+0_f8, 10.0e+0_f8, & 10.0e+0_f8, -999.e+0_f8, -999.e+0_f8, -999.e+0_f8, 10.0e+0_f8, & 2.0e+0_f8, 5.0e+0_f8, 5.0e+0_f8, 10.0e+0_f8, 5.0e+0_f8, & 5.0e+0_f8, 5.0e+0_f8, -999.e+0_f8, -999.e+0_f8, 10.0e+0_f8, & 10.0e+0_f8, -999.e+0_f8, -999.e+0_f8, -999.e+0_f8, 10.0e+0_f8, & 2.0e+0_f8, 5.0e+0_f8, 2.0e+0_f8, 5.0e+0_f8, 5.0e+0_f8, & 2.0e+0_f8, 2.0e+0_f8, -999.e+0_f8, -999.e+0_f8, 10.0e+0_f8, & 10.0e+0_f8, -999.e+0_f8, -999.e+0_f8, -999.e+0_f8, 10.0e+0_f8 / ! Annual average of A Aavg(:) = (A(:,1)+A(:,2)+A(:,3)+A(:,4)+A(:,5))/5. LUC = LUCINDEX(II) AA = Aavg(LUC) * 1.e-3_f8 !================================================================= !...Ref. Zhang et al., AE 35(2001) 549-560 !. !...Model theroy ! Vd = Vs + 1./(Ra+Rs) ! where Vs is the gravitational settling velocity, ! Ra is the aerodynamic resistance above the canopy ! Rs is the surface resistance ! Here we calculate Rs only.. ! Rs = 1 / (Eo*Ustar*(Eb+Eim+Ein)*R1) ! where Eo is an empirical constant ( = 3.) ! Ustar is the friction velocity ! Collection efficiency from ! Eb, [Brownian diffusion] ! Eim, [Impaction] ! Ein, [Interception] ! R1 is the correction factor representing the fraction ! of particles that stick to the surface. !======================================================================= ! Eb is a funciont of Schmidt number, Eb = Sc^(-gamma) ! Sc = v/D, v (the kinematic viscosity of air) ! D (particle brownian diffusivity) ! r usually lies between 1/2 and 2/3 ! Eim is a function of Stokes number, St ! St = Vs * Ustar / (g0 * A) for vegetated surfaces ! St = Vs * Ustar * Ustar / v for smooth surface ! A is the characteristic radius of collectors. ! ! 1) Slinn (1982) ! Eim = 10^(-3/St) for smooth surface ! Eim = St^2 / ( 1 + St^2 ) for vegetative canopies ! 2) Peters and Eiden (1992) ! Eim = ( St / ( alpha + St ) )^(beta) ! alpha(=0.8) and beta(=2) are constants ! 3) Giorgi (1986) ! Eim = St^2 / ( 400 + St^2 ) for smooth surface ! Eim = ( St / (0.6 + St) )^(3.2) for vegetative surface ! 4) Davidson et al.(1982) ! Eim = St^3 / (St^3+0.753*St^2+2.796St-0.202) for grassland ! 5) Zhang et al.(2001) used 2) method with alpha varying with ! vegetation type and beta equal to 2 ! ! Ein = 0.5 * ( Dp / A )^2 ! ! R1 (Particle rebound) = exp(-St^0.5) !================================================================= ! Update (jaegle 5/11/2011): The above formulation of Zhang et al ! (2001) is valid for land surfaces and was originally based on the ! work of Slinn (1982). Over water surfaces, the work of reference ! is that of Slinn and Slinn (1980) who use the term "viscous ! sublayer" to refer to the thin layer extending 0.1-1mm above the ! water surface. Due to the proximity of the water, the RH in this ! layer is much higher than the ambient RH in the surface layer. ! According to Lewis and Schwartz (2004): "Relative humidities of ! 99% and 100% were considered by Slinn and Slinn for the viscous ! sublayer, however near the ocean surface RH would be limited to ! near 98% because of the vapor pressure lowering of water over ! seawater due to the salt content". We will thus use a constant ! value RH=98% over all ocean boxes. This affects the growth of ! particles (the wet radius at RH=98% is x4 the dry radius) and thus ! affects all the terms depending on particle size. ! ! Other updates for ocean surfaces: ! a) Over ocean surfaces the formulation from Slinn & Slinn for ! the resistance in the viscous layer is ! Rs = 1 / (Cd/VON_KARMAN*U10m*(Eb+Eim)+VTS) ! with Cd=(Ustar/U10m)**2, and VTS is the gravitational ! settling in the viscous layer. Note that the gravitational ! settling calculated here for the viscous layer is >> than ! the one calculated for the surface layer in seasalt_mod.f ! because of the higher RH. ! b) Eim = 10^(-3/St) based on Slinn and Slinn (1980) ! ! References: ! LEWIS and SCHWARTZ (2004), "SEA SALT AEROSOL PRODUCTION, MECHANISMS, ! METHODS AND MODELS" AGU monograph 152. ! SLINN and SLINN (1980), "PREDICTIONS FOR PARTICLE DEPOSITION ON ! NATURAL-WATERS" Atmos Environ (1980) vol. 14 (9) pp. 1013-1016. ! SLINN (1982), "PREDICTIONS FOR PARTICLE DEPOSITION TO VEGETATIVE ! CANOPIES" Atmos Environ (1982) vol. 16 (7) pp. 1785-1794. !================================================================== ! Number of bins for sea salt size distribution NR = INT((( Input_Opt%SALC_REDGE_um(2) - Input_Opt%SALA_REDGE_um(1) ) & / DR ) + 0.5e+0_f8 ) drydepRadius = A_RADI(K) ! Coarse seasalt IF ( K == idd_NITS .or. K == idd_SALC .or. K == idd_SO4S .or. & K == idd_BRSALC .or. K == idd_ISALC ) THEN drydepRadius = 0.74025E-6 ENDIF IF ( K == idd_SALA .OR. K == idd_BRSALA .or. K == idd_ISALA ) THEN drydepRadius = 0.114945E-6 ENDIF ! Particle radius [cm] ! Bug fix: The Gerber [1985] growth should use the dry radius ! in micromenters and not cm. Replace RCM with RUM (jaegle 5/11/11) !RCM = A_RADI(K) * 1.d2 RUM = drydepRadius * 1.e+6_f8 ! Exponential factors used for hygroscopic growth ! Replace RCM with RUM (jaegle 5/11/11) !FAC1 = C1 * ( RCM**C2 ) !FAC2 = C3 * ( RCM**C4 ) FAC1 = C1 * ( RUM**C2 ) FAC2 = C3 * ( RUM**C4 ) ! Aerosol growth with relative humidity in radius [m] ! (Gerber, 1985) (bec, 12/8/04) ! Added safety check for LOG (phs, 6/11/08) RHBL = MAX( TINY(RHB), RHB ) ! Check whether we are over the oceans or not: ! Over oceans the RH in the viscous sublayer is set to 98%, following ! Lewis and Schwartz (2004), see discussion above (jaegle 5/11/11) IF (LUC == 14) THEN RHBL = 0.98 ENDIF ! Corrected bug in Gerber formulation: use of LOG10 (jaegle 5/11/11) !RWET = 0.01e+0_f8*(FAC1/(FAC2-DLOG(RHBL))+RCM**3.e+0_f8)**0.33e+0_f8 !RWET = 1.d-6*(FAC1/(FAC2-LOG10(RHBL))+RUM**3.e+0_f8)**0.33333e+0_f8 ! Use equation 5 in Lewis and Schwartz (2006) for sea salt growth [m] ! (jaegle 5/11/11) RWET = drydepRadius * (4.e+0_f8 / 3.7e+0_f8) * & ( (2.e+0_f8 - RHBL)/(1.e+0_f8 - RHBL) )**(1.e+0_f8/3.e+0_f8) ! Ratio dry over wet radii at the cubic power !RATIO_R = ( A_RADI(K) / RWET )**3.e+0_f8 ! Diameter of the wet aerosol [m] DIAM = RWET * 2.e+0_f8 ! Density of the wet aerosol [kg/m3] (bec, 12/8/04) !DEN = RATIO_R * A_DEN(K) + ( 1.e+0_f8 - RATIO_R ) * 1000.e+0_f8 ! Above density calculation is chemically unsound because it ignores ! chemical solvation. ! Iteratively solve Tang et al., 1997 equation 5 to calculate density of ! wet aerosol (kg/m3) ! (bec, 6/17/10, jaegle 5/11/11) ! Redefine RATIO_R RATIO_R = drydepRadius / RWET ! Assume an initial density of 1000 kg/m3 DEN = 1000.e+0_f8 DEN1 = 0.e+0_f8 !initialize (bec, 6/21/10) DO WHILE ( ABS( DEN1-DEN ) .gt. EPSI ) ! First calculate weight percent of aerosol (kg_RH=0.8/kg_wet) WTP = 100.e+0_f8 * A_DEN(K)/DEN * RATIO_R**3.e+0_f8 ! Then calculate density of wet aerosol using equation 5 ! in Tang et al., 1997 [kg/m3] DEN1 = ( 0.9971e+0_f8 + (A1 * WTP) + (A2 * WTP**2) + & (A3 * WTP**3) + (A4 * WTP**4) ) * 1000.e+0_f8 ! Now calculate new weight percent using above density calculation WTP = 100.e+0_f8 * A_DEN(K)/DEN1 * RATIO_R**3 ! Now recalculate new wet density [kg/m3] DEN = ( 0.9971e+0_f8 + (A1 * WTP) + (A2 * WTP**2) + & (A3 * WTP**3) + (A4 * WTP**4) ) * 1000.e+0_f8 ENDDO ! Dp [um] = particle diameter DP = DIAM * 1.e+6_f8 ! Constant for settling velocity calculation CONST = DEN * DIAM**2 * g0 / 18.e+0_f8 !================================================================= ! # air molecule number density ! num = P * 1d3 * 6.023d23 / (8.314 * Temp) ! # gas mean free path ! lamda = 1.d6/( 1.41421 * num * 3.141592 * (3.7d-10)**2 ) ! # Slip correction ! Slip = 1. + 2. * lamda * (1.257 + 0.4 * exp( -1.1 * Dp & ! / (2. * lamda))) / Dp !================================================================= ! Note, Slip correction factor calculations following Seinfeld, ! pp464 which is thought to be more accurate but more computation ! required. !================================================================= ! Slip correction factor as function of (P*dp) PDP = PRESS * DP SLIP = 1e+0_f8 + ( 15.60e+0_f8 + 7.0e+0_f8 * & EXP( -0.059e+0_f8 * PDP) ) / PDP !================================================================= ! Note, Eq) 3.22 pp 50 in Hinds (Aerosol Technology) ! which produce slip correction factore with small error ! compared to the above with less computation. !================================================================= ! Viscosity [Pa s] of air as a function of temp (K) VISC = 1.458e-6_f8 * (TEMP)**(1.5e+0_f8) / (TEMP + 110.4e+0_f8) ! Kinematic viscosity (Dynamic viscosity/Density) AIRVS= VISC / 1.2928e+0_f8 ! Settling velocity [m/s] VTS = CONST * SLIP / VISC ! This settling velocity is for the mid-point of the size bin. ! Need to integrate over the size bin, taking into account the ! mass distribution of sea-salt and the dependence of VTS on aerosol ! size. See WET_SETTLING in SEASALT_MOD.f for more details. ! (jaegle 5/11/11) SALT_MASS_TOTAL = 0e+0_f8 VTS_WEIGHT = 0e+0_f8 ! Check what the min/max range of the SS size bins are IF ( RUM .le. Input_Opt%SALA_REDGE_um(2) ) THEN D0 = Input_Opt%SALA_REDGE_um(1)*2e+0_f8 D1 = Input_Opt%SALA_REDGE_um(2)*2e+0_f8 ELSE D0 = Input_Opt%SALC_REDGE_um(1)*2e+0_f8 D1 = Input_Opt%SALC_REDGE_um(2)*2e+0_f8 ENDIF DO ID = 1, NR ! Calculate mass of wet aerosol (Dw = wet diameter, D = dry diamter): ! Overall = dM/dDw = dV/dlnD * Rwet/Rdry * DEN /Rw IF (DMID(ID) .ge. D0 .and. DMID(ID) .le. D1 ) THEN DMIDW = DMID(ID) * RWET/drydepRadius ! wet radius [um] SALT_MASS = SALT_V(ID) * RWET/drydepRadius * DEN / & (DMIDW*0.5e+0_f8) VTS_WEIGHT = VTS_WEIGHT + & SALT_MASS * VTS * (DMIDW/(RWET*1d6*2e+0_f8) )** & 2e+0_f8 * (2e+0_f8 * DR * RWET/drydepRadius) SALT_MASS_TOTAL = SALT_MASS_TOTAL+SALT_MASS * & (2e+0_f8 * DR * RWET/drydepRadius) ENDIF ENDDO ! Final mass weighted setting velocity: VTS = VTS_WEIGHT/SALT_MASS_TOTAL VTSout = VTS ! Brownian diffusion constant for particle (m2/s) DIFF = BOLTZ * TEMP * SLIP / (3.e+0_f8 * PI * VISC * DIAM) ! Schmidt number SC = AIRVS / DIFF !EB = 1.e+0_f8/SC**(gamma(LUC)) !------------------------------------------------------------- ! NOTE: This loses precision, use TWO_THIRDS parameter instead !EB = CB/SC**(0.6667e+0_f8) ! Emerson 2020 update JRP !------------------------------------------------------------- EB = CB/SC**TWO_THIRDS ! Emerson 2020 update JRP ! Stokes number IF ( AA < 0e+0_f8 ) then ST = VTS * USTAR * USTAR / ( AIRVS * g0 ) ! for smooth surface EIN = 0e+0_f8 ELSE ST = VTS * USTAR / ( g0 * AA ) ! for vegetated surfaces !EIN = 0.5e+0_f8 * ( DIAM / AA )**2 EIN = CIN * ( DIAM / AA )**(UPSILON) ! Emerson 2020 update JRP ENDIF ! Use the formulation of Slinn and Slinn (1980) for the impaction over ! water surfaces (jaegle 5/11/11) IF (LUC == 14) THEN EIM = 10.e+0_f8**( -3.e+0_f8/ ST ) ! for water surface ! JRP: Emerson doesn't describe what to do here, so I'm leaving as is ELSE !EIM = ( ST / ( ALPHA(LUC) + ST ) )**(BETA) EIM = CIM * ( ST / ( ALPHA(LUC) + ST ) )**(BETA) ! Emerson 2020 update EIM = MIN( EIM, 0.6e+0_f8 ) ENDIF IF (LUC == 11 .OR. LUC == 13 .OR. LUC == 14) THEN R1 = 1.e+0_f8 ELSE R1 = EXP( -1e+0_f8 * SQRT( ST ) ) ENDIF ! surface resistance for particle ! Use the formulation of Slinn and Slinn (1980) for the impaction over ! water surfaces (jaegle 5/11/11) IF (LUC == 14) THEN #ifdef MODEL_GCHPCTM ! Include check that winds are non-zero to avoid div by 0 error IF ( IS_SAFE_DIV(1.e+0_f8, W10) ) THEN RS = 1.e+0_f8 / (USTAR**2.e+0_f8/ (W10*VON_KARMAN) * & (EB + EIM ) + VTS) ELSE RS = 1.e+0_f8 / (USTAR**2.e+0_f8/ (1.e-20_f8*VON_KARMAN) * & (EB + EIM ) + VTS) !PRINT *, "WARNING: 10 m winds are zero. Using small value", & ! "in drydep calculation of particle surface ", & ! "resistance to avoid divide by zero error." ENDIF #else RS = 1.e+0_f8 / (USTAR**2.e+0_f8/ (W10*VON_KARMAN) * & (EB + EIM ) + VTS) #endif ELSE RS = 1.e+0_f8 / (E0 * USTAR * (EB + EIM + EIN) * R1 ) ENDIF END FUNCTION AERO_SFCRSII !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: init_weightss ! ! !DESCRIPTION: Subroutine INIT\_WEIGHTSS calculates the volume size ! distribution of sea-salt. This only has to be done once. We assume that ! sea-salt is the combination of a coarse mode and accumulation model ! log-normal distribution functions. The resulting arrays are: DMID = diameter ! of bin and SALT\_V = dV/dln(D) [in um3]. (jaegle 5/11/11) !\\ !\\ ! !INTERFACE: ! SUBROUTINE INIT_WEIGHTSS( Input_Opt ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! ! !REVISION HISTORY: ! 11 May 2011 - L. Jaegle - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: N REAL(f8) :: SALT_MASS, SALT_MASS_TOTAL, VTS_WEIGHT REAL(f8) :: DEDGE INTEGER :: ID,NR ! ! !DEFINED PARAMETERS: ! ! increment of radius for integration of settling velocity (um) REAL(f8), PARAMETER :: DR = 5.e-2_f8 ! parameters for assumed size distribution of acc and coarse mode ! sea salt aerosols ! geometric dry mean diameters (microns) REAL(f8), PARAMETER :: RG_A = 0.085e+0_f8 REAL(f8), PARAMETER :: RG_C = 0.4e+0_f8 ! sigma of the size distribution REAL(f8), PARAMETER :: SIG_A = 1.5e+0_f8 REAL(f8), PARAMETER :: SIG_C = 1.8e+0_f8 ! Number of bins between the lowest bound of of the accumulation mode ! sea salt and the upper bound of the coarse mode sea salt. NR = INT((( Input_Opt%SALC_REDGE_um(2) - Input_Opt%SALA_REDGE_um(1) ) & / DR ) + 0.5e+0_f8 ) !================================================================= ! Define the volume size distribution of sea-salt. This only has ! to be done once. We assume that sea-salt is the combination of a ! coarse mode and accumulation model log-normal distribution functions !================================================================= ! Lower edge of 0th bin diameter [um] DEDGE=Input_Opt%SALA_REDGE_um(1) * 2e+0_f8 ! Loop over diameters DO ID = 1, NR ! Diameter of mid-point in microns DMID(ID) = DEDGE + ( DR ) ! Calculate the dry volume size distribution as the sum of two ! log-normal size distributions. The parameters for the size ! distribution are based on Reid et al. and Quinn et al. ! The scaling factors 13. and 0.8 for acc and coarse mode aerosols ! are chosen to obtain a realistic distribution ! SALT_V (D) = dV/dln(D) [um3] SALT_V(ID) = PI / 6e+0_f8* (DMID(ID)**3) * ( & 13e+0_f8*exp(-0.5*( LOG(DMID(ID))- & LOG(RG_A*2e+0_f8) )**2e+0_f8/ & LOG(SIG_A)**2e+0_f8 ) & /( sqrt(2e+0_f8 * PI) * LOG(SIG_A) ) + & 0.8e+0_f8*exp(-0.5*( LOG(DMID(ID))- & LOG(RG_C*2e+0_f8) )**2e+0_f8/ & LOG(SIG_C)**2e+0_f8) & /( sqrt(2e+0_f8 * PI) * LOG(SIG_C) ) ) ! update the next edge DEDGE = DEDGE + DR*2e+0_f8 ENDDO END SUBROUTINE INIT_WEIGHTSS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: dust_sfcrsi ! ! !DESCRIPTION: Function DUST\_SFCRSI computes the aerodynamic resistance of ! dust aerosol species according to Seinfeld et al 96. We do not consider ! hygroscopic growth of the dust aerosol particles. (rjp, tdf, bmy, bec, ! 4/1/04, 4/15/05) !\\ !\\ ! !INTERFACE: ! FUNCTION DUST_SFCRSI( K, II, PRESS, TEMP, USTAR ) RESULT( RS ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: K ! Drydep species (range: 1-NUMDEP) INTEGER, INTENT(IN) :: II ! Surface type index of GEOS-CHEM REAL(f8), INTENT(IN) :: PRESS ! Pressure [kPa] REAL(f8), INTENT(IN) :: TEMP ! Temperature [K] REAL(f8), INTENT(IN) :: USTAR ! Friction velocity [m/s] ! ! !RETURN VALUE: ! REAL(f8) :: RS ! Surface resistance for particles [s/m] ! ! !REVISION HISTORY: ! 01 Apr 2004 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! REAL(f8), PARAMETER :: C1 = 0.7674_f8 REAL(f8), PARAMETER :: C2 = 3.079_f8 REAL(f8), PARAMETER :: C3 = 2.573e-11_f8 REAL(f8), PARAMETER :: C4 = -1.424_f8 REAL(f8), PARAMETER :: BETA = 2.0_f8 REAL(f8), PARAMETER :: E0 = 1.0_f8 ! ! !LOCAL VARIABLES: ! INTEGER :: N REAL(f8) :: AIRVS ! kinematic viscosity of Air (m^2/s) REAL(f8) :: DP ! Diameter of aerosol [um] REAL(f8) :: PDP ! Press * Dp REAL(f8) :: CONST ! Constant for settling velocity calculations REAL(f8) :: SLIP ! Slip correction factor REAL(f8) :: VISC ! Viscosity of air (Pa s) REAL(f8) :: DIFF ! Brownian Diffusion constant for particles (m2/s) REAL(f8) :: SC, ST ! Schmidt and Stokes number (nondim) REAL(f8) :: DIAM, DEN REAL(f8) :: EB, EIM, EIN, R1, AA, VTS !================================================================= ! Ref. Zhang et al., AE 35(2001) 549-560 and Seinfeld(1986) ! ! Model theory ! Vd = Vs + 1./(Ra+Rs) ! where Vs is the gravitational settling velocity, ! Ra is the aerodynamic resistance above the canopy ! Rs is the surface resistance ! Here we calculate Rs only.. ! Rs = 1 / (Eo*Ustar*(Eb+Eim+Ein)*R1) ! where Eo is an empirical constant ( = 3.) ! Ustar is the friction velocity ! Collection efficiency from ! Eb, [Brownian diffusion] ! Eim, [Impaction] ! Ein, [Interception] ! R1 is the correction factor representing the fraction ! of particles that stick to the surface. !================================================================= ! Eb is a funciont of Schmidt number, Eb = Sc^(-gamma) ! Sc = v/D, v (the kinematic viscosity of air) ! D (particle brownian diffusivity) ! r usually lies between 1/2 and 2/3 ! Eim is a function of Stokes number, St ! St = Vs * Ustar / (g0 * A) for vegetated surfaces ! St = Vs * Ustar * Ustar / v for smooth surface ! A is the characteristic radius of collectors. ! ! 1) Slinn (1982) ! Eim = 10^(-3/St) for smooth surface ! Eim = St^2 / ( 1 + St^2 ) for vegetative canopies ! 2) Peters and Eiden (1992) ! Eim = ( St / ( alpha + St ) )^(beta) ! alpha(=0.8) and beta(=2) are constants ! 3) Giorgi (1986) ! Eim = St^2 / ( 400 + St^2 ) for smooth surface ! Eim = ( St / (0.6 + St) )^(3.2) for vegetative surface ! 4) Davidson et al.(1982) ! Eim = St^3 / (St^3+0.753*St^2+2.796St-0.202) for grassland ! 5) Zhang et al.(2001) used 2) method with alpha varying with ! vegetation type and beta equal to 2 ! ! Ein = 0.5 * ( Dp / A )^2 ! ! R1 (Particle rebound) = exp(-St^0.5) !================================================================= ! Particle diameter [m] DIAM = A_RADI(K) * 2.e+0_f8 ! Particle density [kg/m3] DEN = A_DEN(K) ! Dp [um] = particle diameter DP = DIAM * 1.e+6_f8 ! Constant for settling velocity calculation CONST = DEN * DIAM**2 * g0 / 18.e+0_f8 !================================================================= ! # air molecule number density ! num = P * 1d3 * 6.023d23 / (8.314 * Temp) ! # gas mean free path ! lamda = 1.d6/( 1.41421 * num * 3.141592 * (3.7d-10)**2 ) ! # Slip correction ! Slip = 1. + 2. * lamda * (1.257 + 0.4 * exp( -1.1 * Dp & ! / (2. * lamda))) / Dp !================================================================ ! Note, Slip correction factor calculations following Seinfeld, ! pp464 which is thought to be more accurate but more computation ! required. !================================================================= ! Slip correction factor as function of (P*dp) PDP = PRESS * DP SLIP = 1e+0_f8 + ( 15.60e+0_f8 + 7.0e+0_f8 * & EXP( -0.059e+0_f8 * PDP ) ) / PDP !================================================================= ! Note, Eq) 3.22 pp 50 in Hinds (Aerosol Technology) ! which produce slip correction factore with small error ! compared to the above with less computation. !================================================================= ! Viscosity [Pa s] of air as a function of temp (K) VISC = 1.458e-6_f8 * (TEMP)**(1.5e+0_f8) / (TEMP + 110.4e+0_f8) ! Kinematic viscosity (Dynamic viscosity/Density) AIRVS= VISC / 1.2928e+0_f8 ! Settling velocity [m/s] VTS = CONST * SLIP / VISC ! Brownian diffusion constant for particle (m2/s) DIFF = BOLTZ * TEMP * SLIP / (3.e+0_f8 * Pi * VISC * DIAM) ! Schmidt number and Diffusion term SC = AIRVS / DIFF EB = SC**(-0.666667e+0_f8) ! Stokes number and impaction term ST = VTS * USTAR * USTAR / ( AIRVS * g0 ) EIM = 10.e+0_f8**(-3.e+0_f8 / ST) ! surface resistance for particle RS = 1.e+0_f8 / ( E0 * USTAR * (EB + EIM) ) END FUNCTION DUST_SFCRSI !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: adust_sfcrsii ! ! !DESCRIPTION: Function ADUST\_SFCRSII computes the aerodynamic resistance of ! non-size resolved aerosol according to Zhang et al 2001. We do not consider ! the hygroscopic growth of the aerosol particles. (rjp, tdf, bec, bmy, ! 4/1/04, 4/15/05) !\\ !\\ ! This routine is used for all aerosols except dust, sulfate, and seasalt ! (hotp 7/31/09) !\\ !\\ ! !INTERFACE: ! FUNCTION ADUST_SFCRSII( K, II, PRESS, TEMP, USTAR, & VTSout, RHB, State_Chm ) RESULT( RS ) ! ! !USES: ! USE Species_Mod, ONLY : Species USE State_Chm_Mod, ONLY : ChmState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: K ! Drydep species index (range: 1-NUMDEP) INTEGER, INTENT(IN) :: II ! Surface type index of GEOS-CHEM REAL(f8), INTENT(IN) :: PRESS ! Pressure [kPa] (1 mb = 100 Pa = 0.1 kPa) REAL(f8), INTENT(IN) :: TEMP ! Temperature [K] REAL(f8), INTENT(IN) :: USTAR ! Friction velocity [m/s] REAL(f8), INTENT(IN) :: RHB ! Relative humidity (fraction) TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! REAL(f8), INTENT(OUT) :: VTSout ! Settling velocity [m/s] ! ! !RETURN VALUE: ! REAL(f8) :: RS ! Surface resistance for particles [s/m] ! ! !REVISION HISTORY: ! 01 Apr 2004 - R. Yantosca - Initial version ! 26 Jan 2021 - J. Pierce - Update to Emerson et al. PNAS (2020) parameters ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(f8), PARAMETER :: C1 = 0.7674_f8 REAL(f8), PARAMETER :: C2 = 3.079_f8 REAL(f8), PARAMETER :: C3 = 2.573e-11_f8 REAL(f8), PARAMETER :: C4 = -1.424_f8 REAL(f8), PARAMETER :: E0 = 3.0_f8 ! Emerson et al. (2020) added parameters REAL(f8), PARAMETER :: UPSILON = 0.8_f8 REAL(f8), PARAMETER :: BETA = 1.7_f8 REAL(f8), PARAMETER :: CB = 0.2_f8 REAL(f8), PARAMETER :: CIN = 2.5_f8 REAL(f8), PARAMETER :: CIM = 0.4_f8 ! ! !LOCAL VARIABLES: ! INTEGER :: N REAL(f8) :: AIRVS ! kinematic viscosity of Air (m^2/s) REAL(f8) :: DP ! Diameter of aerosol [um] REAL(f8) :: PDP ! Press * Dp REAL(f8) :: CONST ! Constant for settling velocity calculations REAL(f8) :: SLIP ! Slip correction factor REAL(f8) :: VISC ! Viscosity of air (Pa s) REAL(f8) :: DIFF ! Brownian Diffusion constant for particles (m2/s) REAL(f8) :: SC, ST ! Schmidt and Stokes number (nondim) REAL(f8) :: DIAM, DEN REAL(f8) :: EB, EIM, EIN, R1, AA, VTS REAL(f8) :: RHBL ! Relative humidity local !======================================================================= ! # LUC [Zhang et al., 2001] GEOS-CHEM LUC (Corr. #) !----------------------------------------------------------------------- ! 1 - Evergreen needleleaf trees Snow/Ice (12) ! 2 - Evergreen broadleaf trees Deciduous forest ( 4) ! 3 - Deciduous needleleaf trees Coniferous forest ( 1) ! 4 - Deciduous broadleaf trees Agricultural land ( 7) ! 5 - Mixed broadleaf and needleleaf trees Shrub/grassland (10) ! 6 - Grass Amazon forest ( 2) ! 7 - Crops and mixed farming Tundra ( 9) ! 8 - Desert Desert ( 8) ! 9 - Tundra Wetland (11) ! 10 - Shrubs and interrupted woodlands Urban (15) ! 11 - Wet land with plants Water (14) ! 12 - Ice cap and glacier ! 13 - Inland water ! 14 - Ocean ! 15 - Urban !======================================================================= ! GEOS-CHEM LUC 1, 2, 3, 4, 5, 6, 7 8, 9,10,11 INTEGER :: LUCINDEX(11) = (/12, 4, 1, 7,10, 2, 9, 8,11,15,14/) INTEGER :: LUC !======================================================================= ! LUC 1, 2, 3, 4, 5, 6, 7, 8, ! alpha 1.0, 0.6, 1.1, 0.8, 0.8, 1.2, 1.2, 50.0, ! gamma 0.56, 0.58, 0.56, 0.56, 0.56, 0.54, 0.54, 0.54 ! ! LUC 9, 10, 11, 12, 13, 14, 15 ! alpha 50.0, 1,3, 2.0, 50.0,100.0,100.0, 1.5 ! gamma 0.54, 0.54, 0.54, 0.54, 0.50, 0.50, 0.56 !======================================================================= REAL(f8) :: ALPHA(15) = (/ 1.0e+0_f8, 0.6e+0_f8, 1.1e+0_f8, & 0.8e+0_f8, 0.8e+0_f8, 1.2e+0_f8, & 1.2e+0_f8, 50.0e+0_f8, 50.0e+0_f8, & 1.3e+0_f8, 2.0e+0_f8, 50.0e+0_f8, & 100.0e+0_f8, 100.0e+0_f8, 1.5e+0_f8 /) REAL(f8) :: GAMMA(15) = (/ 0.56e+0_f8, 0.58e+0_f8, 0.56e+0_f8, & 0.56e+0_f8, 0.56e+0_f8, 0.54e+0_f8, & 0.54e+0_f8, 0.54e+0_f8, 0.54e+0_f8, & 0.54e+0_f8, 0.54e+0_f8, 0.54e+0_f8, & 0.50e+0_f8, 0.50e+0_f8, 0.56e+0_f8 /) !...A unit is (mm) so multiply by 1.D-3 to (m) ! LUC 1, 2, 3, 4, 5, 6, 7, 8, ! SC1 2.0, 5.0, 2.0, 5.0, 5.0, 2.0, 2.0,-999., ! SC2 2.0, 5.0, 2.0, 5.0, 5.0, 2.0, 2.0,-999., ! A SC3 2.0, 5.0, 5.0, 10.0, 5.0, 5.0, 5.0,-999., ! SC4 2.0, 5.0, 5.0, 10.0, 5.0, 5.0, 5.0,-999., ! SC5 2.0, 5.0, 2.0, 5.0, 5.0, 2.0, 2.0,-999., ! ! LUC 9, 10, 11, 12, 13, 14, 15 ! SC1 -999., 10.0, 10.0,-999.,-999.,-999., 10.0 ! SC2 -999., 10.0, 10.0,-999.,-999.,-999., 10.0 ! A SC3 -999., 10.0, 10.0,-999.,-999.,-999., 10.0 ! SC4 -999., 10.0, 10.0,-999.,-999.,-999., 10.0 ! SC5 -999., 10.0, 10.0,-999.,-999.,-999., 10.0 REAL(f8) :: A(15,5) REAL(f8) :: Aavg(15) DATA A / 2.0e+0_f8, 5.0e+0_f8, 2.0e+0_f8, 5.0e+0_f8, 5.0e+0_f8, & 2.0e+0_f8, 2.0e+0_f8, -999.e+0_f8, -999.e+0_f8, 10.0e+0_f8, & 10.0e+0_f8, -999.e+0_f8, -999.e+0_f8, -999.e+0_f8, 10.0e+0_f8, & 2.0e+0_f8, 5.0e+0_f8, 2.0e+0_f8, 5.0e+0_f8, 5.0e+0_f8, & 2.0e+0_f8, 2.0e+0_f8, -999.e+0_f8, -999.e+0_f8, 10.0e+0_f8, & 10.0e+0_f8, -999.e+0_f8, -999.e+0_f8, -999.e+0_f8, 10.0e+0_f8, & 2.0e+0_f8, 5.0e+0_f8, 5.0e+0_f8, 10.0e+0_f8, 5.0e+0_f8, & 5.0e+0_f8, 5.0e+0_f8, -999.e+0_f8, -999.e+0_f8, 10.0e+0_f8, & 10.0e+0_f8, -999.e+0_f8, -999.e+0_f8, -999.e+0_f8, 10.0e+0_f8, & 2.0e+0_f8, 5.0e+0_f8, 5.0e+0_f8, 10.0e+0_f8, 5.0e+0_f8, & 5.0e+0_f8, 5.0e+0_f8, -999.e+0_f8, -999.e+0_f8, 10.0e+0_f8, & 10.0e+0_f8, -999.e+0_f8, -999.e+0_f8, -999.e+0_f8, 10.0e+0_f8, & 2.0e+0_f8, 5.0e+0_f8, 2.0e+0_f8, 5.0e+0_f8, 5.0e+0_f8, & 2.0e+0_f8, 2.0e+0_f8, -999.e+0_f8, -999.e+0_f8, 10.0e+0_f8, & 10.0e+0_f8, -999.e+0_f8, -999.e+0_f8, -999.e+0_f8, 10.0e+0_f8 / ! Annual average of A Aavg(:) = (A(:,1)+A(:,2)+A(:,3)+A(:,4)+A(:,5))/5. LUC = LUCINDEX(II) AA = Aavg(LUC) * 1.e-3_f8 !================================================================= !...Ref. Zhang et al., AE 35(2001) 549-560 !. !...Model theroy ! Vd = Vs + 1./(Ra+Rs) ! where Vs is the gravitational settling velocity, ! Ra is the aerodynamic resistance above the canopy ! Rs is the surface resistance ! Here we calculate Rs only.. ! Rs = 1 / (Eo*Ustar*(Eb+Eim+Ein)*R1) ! where Eo is an empirical constant ( = 3.) ! Ustar is the friction velocity ! Collection efficiency from ! Eb, [Brownian diffusion] ! Eim, [Impaction] ! Ein, [Interception] ! R1 is the correction factor representing the fraction ! of particles that stick to the surface. !======================================================================= ! Eb is a funciont of Schmidt number, Eb = Sc^(-gamma) ! Sc = v/D, v (the kinematic viscosity of air) ! D (particle brownian diffusivity) ! r usually lies between 1/2 and 2/3 ! Eim is a function of Stokes number, St ! St = Vs * Ustar / (g0 * A) for vegetated surfaces ! St = Vs * Ustar * Ustar / v for smooth surface ! A is the characteristic radius of collectors. ! ! 1) Slinn (1982) ! Eim = 10^(-3/St) for smooth surface ! Eim = St^2 / ( 1 + St^2 ) for vegetative canopies ! 2) Peters and Eiden (1992) ! Eim = ( St / ( alpha + St ) )^(beta) ! alpha(=0.8) and beta(=2) are constants ! 3) Giorgi (1986) ! Eim = St^2 / ( 400 + St^2 ) for smooth surface ! Eim = ( St / (0.6 + St) )^(3.2) for vegetative surface ! 4) Davidson et al.(1982) ! Eim = St^3 / (St^3+0.753*St^2+2.796St-0.202) for grassland ! 5) Zhang et al.(2001) used 2) method with alpha varying with ! vegetation type and beta equal to 2 ! ! Ein = 0.5 * ( Dp / A )^2 ! ! R1 (Particle rebound) = exp(-St^0.5) !================================================================= ! Particle diameter [m] hotp 10/26/07 DIAM = 0.17378e-6_f8 ! Hygroscopic growth following Latimer and Martin (2019) ACP (yanshun) ! Added safety check for LOG (phs, 6/11/08) RHBL = MAX( TINY(RHB), RHB ) ! Over oceans the RH in the viscous sublayer is set to 98%, ! following ! Lewis and Schwartz (2004), see discussion above (jaegle 5/11/11) IF (LUC == 14) THEN RHBL = 0.98 ENDIF ! SIA IF ( K == idd_NIT .or. K == idd_NH4 .or. K == idd_SO4 ) THEN ! Efflorescence transtions IF (RHBL .LT. 0.35) THEN ! DIAM is not changed ELSE IF ((RHBL .GE. 0.35) .AND. (RHBL .LE. 0.40)) THEN ! Linear hygroscopic growth DIAM = DIAM + (DIAM * ((1.0_fp + 0.61_fp * 0.40_fp / & (1.0_fp - 0.40_fp)) ** (1.0_fp / 3.0_fp)) - DIAM) / & (0.40_fp - 0.35_fp) * (RHBL - 0.35_fp) ELSE ! Kohler hygroscopic growth DIAM = DIAM * ((1.0_fp + 0.61_fp * RHBL / (1.0_fp - RHBL)) & ** (1.0_fp / 3.0_fp)) ENDIF !BC ELSE IF ( K == idd_BCPI .OR. K == idd_BCPO ) THEN ! DIAM is not changed !OA ELSE DIAM = DIAM * ((1.0_fp + 0.1_fp * RHBL / (1.0_fp - RHBL)) & ** (1.0_fp / 3.0_fp)) ENDIF ! Particle density [kg/m3] hotp 10/26/07 DEN = 1500 ! Dp [um] = particle diameter DP = DIAM * 1.e+6_f8 ! Constant for settling velocity calculation CONST = DEN * DIAM**2 * g0 / 18.e+0_f8 !================================================================= ! # air molecule number density ! num = P * 1d3 * 6.023d23 / (8.314 * Temp) ! # gas mean free path ! lamda = 1.d6/( 1.41421 * num * 3.141592 * (3.7d-10)**2 ) ! # Slip correction ! Slip = 1. + 2. * lamda * (1.257 + 0.4 * exp( -1.1 * Dp & ! / (2. * lamda))) / Dp !================================================================= ! Note, Slip correction factor calculations following Seinfeld, ! pp464 which is thought to be more accurate but more computation ! required. !================================================================= ! Slip correction factor as function of (P*dp) PDP = PRESS * DP SLIP = 1e+0_f8 + ( 15.60e+0_f8 + 7.0e+0_f8 * & EXP( -0.059e+0_f8 * PDP) ) / PDP !================================================================= ! Note, Eq) 3.22 pp 50 in Hinds (Aerosol Technology) ! which produce slip correction factore with small error ! compared to the above with less computation. !================================================================= ! Viscosity [Pa s] of air as a function of temp (K) VISC = 1.458e-6_f8 * (TEMP)**(1.5e+0_f8) / (TEMP + 110.4e+0_f8) ! Kinematic viscosity (Dynamic viscosity/Density) AIRVS= VISC / 1.2928e+0_f8 ! Settling velocity [m/s] VTS = CONST * SLIP / VISC VTSout = VTS ! Brownian diffusion constant for particle (m2/s) DIFF = BOLTZ * TEMP * SLIP / (3.e+0_f8 * Pi * VISC * DIAM) ! Schmidt number SC = AIRVS / DIFF !EB = 1.e+0_f8/SC**(gamma(LUC)) !-------------------------------------------------------------- ! NOTE: This loses precision, use TWO_THIRDS parameter instead ! (bmy, 30 Sep 2021) !EB = CB/SC**(0.6667e+0_f8) ! Emerson 2020 update JRP !-------------------------------------------------------------- EB = CB/SC**TWO_THIRDS ! Emerson 2020 update JRP ! Stokes number IF ( AA < 0e+0_f8 ) then ST = VTS * USTAR * USTAR / ( AIRVS * g0 ) ! for smooth surface EIN = 0e+0_f8 ELSE ST = VTS * USTAR / ( g0 * AA ) ! for vegetated surfaces !EIN = 0.5e+0_f8 * ( DIAM / AA )**2 EIN = CIN * ( DIAM / AA )**(UPSILON) ! Emerson 2020 update JRP ENDIF !EIM = ( ST / ( ALPHA(LUC) + ST ) )**(BETA) EIM = CIM * ( ST / ( ALPHA(LUC) + ST ) )**(BETA) ! Emerson 2020 update JRP EIM = MIN( EIM, 0.6e+0_f8 ) IF (LUC == 11 .OR. LUC == 13 .OR. LUC == 14) THEN R1 = 1.e+0_f8 ELSE R1 = EXP( -1e+0_f8 * SQRT( ST ) ) ENDIF ! surface resistance for particle RS = 1.e0_f8 / (E0 * USTAR * (EB + EIM + EIN) * R1 ) END FUNCTION ADUST_SFCRSII !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: dust_sfcrsii ! ! !DESCRIPTION: Function DUST\_SFCRSII computes the aerodynamic resistance of ! dust aerosol species according to Zhang et al 2001 modified by Emerson et al. ! 2020. We do not consider the ! hygroscopic growth of the aerosol particles. (rjp, tdf, bec, bmy, 4/1/04, ! 4/15/05) !\\ !\\ ! !INTERFACE: ! FUNCTION DUST_SFCRSII( K, II, PRESS, TEMP, USTAR, DIAM, & DEN, VTSout) RESULT( RS ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: K ! Drydep species index (range: 1-NUMDEP) INTEGER, INTENT(IN) :: II ! Surface type index of GEOS-CHEM REAL(f8), INTENT(IN) :: PRESS ! Pressure [kPa] REAL(f8), INTENT(IN) :: TEMP ! Temperature [K] REAL(f8), INTENT(IN) :: USTAR ! Friction velocity [m/s] REAL(f8), INTENT(IN) :: DIAM ! Particle diameter [m] REAL(f8), INTENT(IN) :: DEN ! Particle density [kg/m3] ! ! !OUTPUT PARAMETERS: ! REAL(f8), INTENT(OUT) :: VTSout ! Settling velocity [m/s] ! ! !RETURN VALUE: ! REAL(f8) :: RS ! Surface resistance for particles [s/m] ! ! !REVISION HISTORY: ! 01 Apr 2004 - R. Yantosca - Initial version ! 26 Jan 2021 - J. Pierce - Update to Emerson et al. PNAS (2020) parameters ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS ! REAL(f8), PARAMETER :: KAI = 1.1474_f8 ! shape factor REAL(f8), PARAMETER :: C1 = 0.7674_f8 REAL(f8), PARAMETER :: C2 = 3.079_f8 REAL(f8), PARAMETER :: C3 = 2.573e-11_f8 REAL(f8), PARAMETER :: C4 = -1.424_f8 REAL(f8), PARAMETER :: E0 = 3.0_f8 ! Emerson et al. (2020) added parameters REAL(f8), PARAMETER :: UPSILON = 0.8_f8 REAL(f8), PARAMETER :: BETA = 1.7_f8 REAL(f8), PARAMETER :: CB = 0.2_f8 REAL(f8), PARAMETER :: CIN = 2.5_f8 REAL(f8), PARAMETER :: CIM = 0.4_f8 ! ! !LOCAL VARIABLES: ! INTEGER :: N REAL(f8) :: AIRVS ! kinematic viscosity of Air (m^2/s) REAL(f8) :: DP ! Diameter of aerosol [um] REAL(f8) :: PDP ! Press * Dp REAL(f8) :: CONST ! Constant for settling velocity calculations REAL(f8) :: SLIP ! Slip correction factor REAL(f8) :: VISC ! Viscosity of air (Pa s) REAL(f8) :: DIFF ! Brownian Diffusion constant for particles (m2/s) REAL(f8) :: SC, ST ! Schmidt and Stokes number (nondim) REAL(f8) :: EB, EIM, EIN, R1, AA, VTS !======================================================================= ! # LUC [Zhang et al., 2001] GEOS-CHEM LUC (Corr. #) !----------------------------------------------------------------------- ! 1 - Evergreen needleleaf trees Snow/Ice (12) ! 2 - Evergreen broadleaf trees Deciduous forest ( 4) ! 3 - Deciduous needleleaf trees Coniferous forest ( 1) ! 4 - Deciduous broadleaf trees Agricultural land ( 7) ! 5 - Mixed broadleaf and needleleaf trees Shrub/grassland (10) ! 6 - Grass Amazon forest ( 2) ! 7 - Crops and mixed farming Tundra ( 9) ! 8 - Desert Desert ( 8) ! 9 - Tundra Wetland (11) ! 10 - Shrubs and interrupted woodlands Urban (15) ! 11 - Wet land with plants Water (14) ! 12 - Ice cap and glacier ! 13 - Inland water ! 14 - Ocean ! 15 - Urban !======================================================================= ! GEOS-CHEM LUC 1, 2, 3, 4, 5, 6, 7 8, 9,10,11 INTEGER :: LUCINDEX(11) = (/12, 4, 1, 7,10, 2, 9, 8,11,15,14/) INTEGER :: LUC !======================================================================= ! LUC 1, 2, 3, 4, 5, 6, 7, 8, ! alpha 1.0, 0.6, 1.1, 0.8, 0.8, 1.2, 1.2, 50.0, ! gamma 0.56, 0.58, 0.56, 0.56, 0.56, 0.54, 0.54, 0.54 ! ! LUC 9, 10, 11, 12, 13, 14, 15 ! alpha 50.0, 1,3, 2.0, 50.0,100.0,100.0, 1.5 ! gamma 0.54, 0.54, 0.54, 0.54, 0.50, 0.50, 0.56 !======================================================================= REAL(f8) :: ALPHA(15) = (/ 1.0e+0_f8, 0.6e+0_f8, 1.1e+0_f8, & 0.8e+0_f8, 0.8e+0_f8, 1.2e+0_f8, & 1.2e+0_f8, 50.0e+0_f8, 50.0e+0_f8, & 1.3e+0_f8, 2.0e+0_f8, 50.0e+0_f8, & 100.0e+0_f8, 100.0e+0_f8, 1.5e+0_f8 /) REAL(f8) :: GAMMA(15) = (/ 0.56e+0_f8, 0.58e+0_f8, 0.56e+0_f8, & 0.56e+0_f8, 0.56e+0_f8, 0.54e+0_f8, & 0.54e+0_f8, 0.54e+0_f8, 0.54e+0_f8, & 0.54e+0_f8, 0.54e+0_f8, 0.54e+0_f8, & 0.50e+0_f8, 0.50e+0_f8, 0.56e+0_f8 /) !...A unit is (mm) so multiply by 1.D-3 to (m) ! LUC 1, 2, 3, 4, 5, 6, 7, 8, ! SC1 2.0, 5.0, 2.0, 5.0, 5.0, 2.0, 2.0,-999., ! SC2 2.0, 5.0, 2.0, 5.0, 5.0, 2.0, 2.0,-999., ! A SC3 2.0, 5.0, 5.0, 10.0, 5.0, 5.0, 5.0,-999., ! SC4 2.0, 5.0, 5.0, 10.0, 5.0, 5.0, 5.0,-999., ! SC5 2.0, 5.0, 2.0, 5.0, 5.0, 2.0, 2.0,-999., ! ! LUC 9, 10, 11, 12, 13, 14, 15 ! SC1 -999., 10.0, 10.0,-999.,-999.,-999., 10.0 ! SC2 -999., 10.0, 10.0,-999.,-999.,-999., 10.0 ! A SC3 -999., 10.0, 10.0,-999.,-999.,-999., 10.0 ! SC4 -999., 10.0, 10.0,-999.,-999.,-999., 10.0 ! SC5 -999., 10.0, 10.0,-999.,-999.,-999., 10.0 REAL(f8) :: A(15,5) REAL(f8) :: Aavg(15) DATA A / 2.0e+0_f8, 5.0e+0_f8, 2.0e+0_f8, 5.0e+0_f8, 5.0e+0_f8, & 2.0e+0_f8, 2.0e+0_f8, -999.e+0_f8, -999.e+0_f8, 10.0e+0_f8, & 10.0e+0_f8, -999.e+0_f8, -999.e+0_f8, -999.e+0_f8, 10.0e+0_f8, & 2.0e+0_f8, 5.0e+0_f8, 2.0e+0_f8, 5.0e+0_f8, 5.0e+0_f8, & 2.0e+0_f8, 2.0e+0_f8, -999.e+0_f8, -999.e+0_f8, 10.0e+0_f8, & 10.0e+0_f8, -999.e+0_f8, -999.e+0_f8, -999.e+0_f8, 10.0e+0_f8, & 2.0e+0_f8, 5.0e+0_f8, 5.0e+0_f8, 10.0e+0_f8, 5.0e+0_f8, & 5.0e+0_f8, 5.0e+0_f8, -999.e+0_f8, -999.e+0_f8, 10.0e+0_f8, & 10.0e+0_f8, -999.e+0_f8, -999.e+0_f8, -999.e+0_f8, 10.0e+0_f8, & 2.0e+0_f8, 5.0e+0_f8, 5.0e+0_f8, 10.0e+0_f8, 5.0e+0_f8, & 5.0e+0_f8, 5.0e+0_f8, -999.e+0_f8, -999.e+0_f8, 10.0e+0_f8, & 10.0e+0_f8, -999.e+0_f8, -999.e+0_f8, -999.e+0_f8, 10.0e+0_f8, & 2.0e+0_f8, 5.0e+0_f8, 2.0e+0_f8, 5.0e+0_f8, 5.0e+0_f8, & 2.0e+0_f8, 2.0e+0_f8, -999.e+0_f8, -999.e+0_f8, 10.0e+0_f8, & 10.0e+0_f8, -999.e+0_f8, -999.e+0_f8, -999.e+0_f8, 10.0e+0_f8 / ! Annual average of A Aavg(:) = (A(:,1)+A(:,2)+A(:,3)+A(:,4)+A(:,5))/5. LUC = LUCINDEX(II) AA = Aavg(LUC) * 1.e-3_f8 !================================================================= !...Ref. Zhang et al., AE 35(2001) 549-560 !. !...Model theroy ! Vd = Vs + 1./(Ra+Rs) ! where Vs is the gravitational settling velocity, ! Ra is the aerodynamic resistance above the canopy ! Rs is the surface resistance ! Here we calculate Rs only.. ! Rs = 1 / (Eo*Ustar*(Eb+Eim+Ein)*R1) ! where Eo is an empirical constant ( = 3.) ! Ustar is the friction velocity ! Collection efficiency from ! Eb, [Brownian diffusion] ! Eim, [Impaction] ! Ein, [Interception] ! R1 is the correction factor representing the fraction ! of particles that stick to the surface. !======================================================================= ! Eb is a funciont of Schmidt number, Eb = Sc^(-gamma) ! Sc = v/D, v (the kinematic viscosity of air) ! D (particle brownian diffusivity) ! r usually lies between 1/2 and 2/3 ! Eim is a function of Stokes number, St ! St = Vs * Ustar / (g0 * A) for vegetated surfaces ! St = Vs * Ustar * Ustar / v for smooth surface ! A is the characteristic radius of collectors. ! ! 1) Slinn (1982) ! Eim = 10^(-3/St) for smooth surface ! Eim = St^2 / ( 1 + St^2 ) for vegetative canopies ! 2) Peters and Eiden (1992) ! Eim = ( St / ( alpha + St ) )^(beta) ! alpha(=0.8) and beta(=2) are constants ! 3) Giorgi (1986) ! Eim = St^2 / ( 400 + St^2 ) for smooth surface ! Eim = ( St / (0.6 + St) )^(3.2) for vegetative surface ! 4) Davidson et al.(1982) ! Eim = St^3 / (St^3+0.753*St^2+2.796St-0.202) for grassland ! 5) Zhang et al.(2001) used 2) method with alpha varying with ! vegetation type and beta equal to 2 ! ! Ein = 0.5 * ( Dp / A )^2 ! ! R1 (Particle rebound) = exp(-St^0.5) !================================================================= ! Dp [um] = particle diameter DP = DIAM * 1.e+6_f8 ! Constant for settling velocity calculation ! Add effects of dust nonsphericity for gravitational settling ! (D. Zhang, Mar 3, 2025) CONST = 1.0_f8 / KAI * DEN * DIAM**2 * g0 / 18.e+0_f8 !================================================================= ! # air molecule number density ! num = P * 1d3 * 6.023d23 / (8.314 * Temp) ! # gas mean free path ! lamda = 1.d6/( 1.41421 * num * 3.141592 * (3.7d-10)**2 ) ! # Slip correction ! Slip = 1. + 2. * lamda * (1.257 + 0.4 * exp( -1.1 * Dp & ! / (2. * lamda))) / Dp !================================================================= ! Note, Slip correction factor calculations following Seinfeld, ! pp464 which is thought to be more accurate but more computation ! required. !================================================================= ! Slip correction factor as function of (P*dp) PDP = PRESS * DP SLIP = 1e+0_f8 + ( 15.60e+0_f8 + 7.0e+0_f8 * & EXP( -0.059e+0_f8 * PDP) ) / PDP !================================================================= ! Note, Eq) 3.22 pp 50 in Hinds (Aerosol Technology) ! which produce slip correction factore with small error ! compared to the above with less computation. !================================================================= ! Viscosity [Pa s] of air as a function of temp (K) VISC = 1.458e-6_f8 * (TEMP)**(1.5e+0_f8) / (TEMP + 110.4e+0_f8) ! Kinematic viscosity (Dynamic viscosity/Density) AIRVS= VISC / 1.2928e+0_f8 ! Settling velocity [m/s] VTS = CONST * SLIP / VISC VTSout = VTS ! Brownian diffusion constant for particle (m2/s) DIFF = BOLTZ * TEMP * SLIP / (3.e+0_f8 * Pi * VISC * DIAM) ! Schmidt number SC = AIRVS / DIFF !EB = 1.e+0_f8/SC**(gamma(LUC)) !--------------------------------------------------------------- ! NOTE: this loses precision, use TWO_THIRDS instead ! (bmy, 30 Sep 2021) !EB = CB/SC**(0.6667e+0_f8) ! Emerson 2020 update JRP !--------------------------------------------------------------- EB = CB/SC**TWO_THIRDS ! Emerson 2020 update JRP ! Stokes number IF ( AA < 0e+0_f8 ) then ST = VTS * USTAR * USTAR / ( AIRVS * g0 ) ! for smooth surface EIN = 0e+0_f8 ELSE ST = VTS * USTAR / ( g0 * AA ) ! for vegetated surfaces !EIN = 0.5e+0_f8 * ( DIAM / AA )**2 EIN = CIN * ( DIAM / AA )**(UPSILON) ! Emerson 2020 update JRP ENDIF !EIM = ( ST / ( ALPHA(LUC) + ST ) )**(BETA) EIM = CIM * ( ST / ( ALPHA(LUC) + ST ) )**(BETA) ! Emerson 2020 update JRP EIM = MIN( EIM, 0.6e+0_f8 ) IF (LUC == 11 .OR. LUC == 13 .OR. LUC == 14) THEN R1 = 1.D0 ELSE R1 = EXP( -1e+0_f8 * SQRT( ST ) ) ENDIF ! surface resistance for particle RS = 1.e+0_f8 / (E0 * USTAR * (EB + EIM + EIN) * R1 ) END FUNCTION DUST_SFCRSII !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: init_drydep ! ! !DESCRIPTION: Subroutine INIT\_DRYDEP initializes certain variables for the ! GEOS-CHEM dry deposition subroutines. (bmy, 11/19/02, 10/19/09) !\\ !\\ ! !INTERFACE: ! SUBROUTINE INIT_DRYDEP( Input_Opt, State_Chm, State_Diag, State_Grid, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : Species USE State_Chm_Mod, ONLY : ChmState USE State_Chm_Mod, ONLY : Ind_ USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REMARKS: ! We now know how many drydep species there are before INIT_DRYDEP is ! called. This allows us to get rid of MAXDEP. NUMDEP should be ! equal to State_Chm%nDryDep, otherwise there is an error. ! ! Also note: we need to use the actual molecular weights instead of ! the emitted molecular weights. These are necessary for the Schmidt # ! computation. ! ! !REVISION HISTORY: ! 19 Nov 2002 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! LOGICAL :: LDRYD LOGICAL :: IS_Hg INTEGER :: C INTEGER :: D INTEGER :: N ! Strings CHARACTER(LEN=255) :: Msg, ErrMsg, ThisLoc ! Objects TYPE(Species), POINTER :: SpcInfo !================================================================= ! INIT_DRYDEP begins here! !================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Init_Drydep (in module GeosCore/drydep_mod.F)' #ifdef MODEL_WRF ! If the dry deposition module has already been initialized, ! the arrays do not need to be allocated again, as they are only ! dependent on the chemistry configuration (State_Chm%nDryDep) ! ! This is necessary for integrating GEOS-Chem with a variable ! domain model like WRF-GC, where multiple instances of GEOS-Chem ! run in the same CPU. (hplin, 2/16/2019) IF ( ALLOCATED( A_DEN ) ) RETURN #endif !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !%%% NOTE: Because READ_DRYDEP_INPUTS reads info from a netCDF %%% !%%% file, we may have to broadcast these. However, the file %%% !%%% dimensions are not very great (10 or 20 indices each) %%% !%%% (bmy, 12/11/12) %%% !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! Read drydep inputs from the netCDF file ! Save Olson indices in INDOLSON array, in order to avoid ! confusion w/ previously-assinged variable name IOLSON ! ! NOTE: For dry-run simulations, print filename and exit. CALL READ_DRYDEP_INPUTS( Input_Opt, & DRYCOEFF, INDOLSON, IDEP, & IWATER, NWATER, IZO, & IDRYDEP, IRI, IRLU, & IRAC, IRGSS, IRGSO, & IRCLS, IRCLO, IVSMAX, & RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Read_Drydep_Inputs"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Exit if this is a dry-run simulation IF ( Input_Opt%DryRun ) RETURN !================================================================= ! For regular simulations, continue to initialize drydep !================================================================= IS_Hg = Input_Opt%ITS_A_MERCURY_SIM LDRYD = Input_Opt%LDRYD NUMDEP = 0 id_ACET = 0 id_O3 = 0 id_ALD2 = 0 id_MENO3 = 0 id_ETNO3 = 0 id_MOH = 0 id_Hg0 = 0 id_HNO3 = Ind_('HNO3' ) id_PAN = Ind_('PAN' ) id_IHN1 = Ind_('IHN1' ) id_H2O2 = Ind_('H2O2' ) id_SO2 = Ind_('SO2' ) id_NH3 = Ind_('NH3' ) id_NK01 = Ind_('NK01' ) ! Drydep ID flags idd_BCPO = Ind_('BCPI', 'D') idd_BCPO = Ind_('BCPO', 'D') idd_BrSALC = Ind_('BrSALC', 'D') idd_BrSALA = Ind_('BrSALA', 'D') idd_ISALA = Ind_('ISALA', 'D') idd_ISALC = Ind_('ISALC', 'D') idd_NH4 = Ind_('NH4', 'D') idd_NIT = Ind_('NIT', 'D') idd_NITs = Ind_('NITs', 'D') idd_SALA = Ind_('SALA', 'D') idd_SALC = Ind_('SALC', 'D') idd_SO4 = Ind_('SO4', 'D') idd_SO4s = Ind_('SO4S', 'D') !=================================================================== ! Arrays that hold information about dry-depositing species ! Only allocate these if dry deposition is activated !=================================================================== IF ( State_Chm%nDryDep > 0 ) THEN ! Aerosol density [kg/m3] ALLOCATE( A_DEN( State_Chm%nDryDep ), STAT=RC ) CALL GC_CheckVar( 'drydep_mod:A_DEN', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN A_DEN(:) = 0e+0_f8 ! Aerosol radius [um] ALLOCATE( A_RADI( State_Chm%nDryDep ), STAT=RC ) CALL GC_CheckVar( 'drydep_mod:A_RADI', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN A_RADI = 0e+0_f8 ! Is the species an aerosol? (T/F) ALLOCATE( AEROSOL( State_Chm%nDryDep ), STAT=RC ) CALL GC_CheckVar( 'drydep_mod:AEROSOL', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN AEROSOL = .FALSE. ! Drydep species name ALLOCATE( DEPNAME( State_Chm%nDryDep ), STAT=RC ) CALL GC_CheckVar( 'drydep_mod:DEPNAME', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN DEPNAME = '' ! Reactivity factor ALLOCATE( F0( State_Chm%nDryDep ), STAT=RC ) CALL GC_CheckVar( 'drydep_mod:F0', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN F0 = 0e+0_f8 ! Henry's law K0 ALLOCATE( HSTAR( State_Chm%nDryDep ), STAT=RC ) CALL GC_CheckVar( 'drydep_mod:HSTAR', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN HSTAR = 0e+0_f8 ! POPs KOA ALLOCATE( KOA( State_Chm%nDryDep ), STAT=RC ) CALL GC_CheckVar( 'drydep_mod:KOA', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN KOA = 0e+0_f8 ! Drydep species indicies ALLOCATE( NDVZIND( State_Chm%nDryDep ), STAT=RC ) CALL GC_CheckVar( 'drydep_mod:NDVZIND', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN NDVZIND = 0 ! Drydep scaling flag ALLOCATE( FLAG( State_Chm%nDryDep ), STAT=RC ) CALL GC_CheckVar( 'drydep_mod:FLAG', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN FLAG = 0 ! Species indices ALLOCATE( NTRAIND( State_Chm%nDryDep ), STAT=RC ) CALL GC_CheckVar( 'drydep_mod:NTRAIND', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN NTRAIND = 0 ! Molecular weight [kg/mol] ALLOCATE( XMW( State_Chm%nDryDep ), STAT=RC ) CALL GC_CheckVar( 'drydep_mod:XMW', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN XMW = 0e+0_f8 ENDIF !================================================================= ! First identify species that dry deposit and then initialize ! the dry deposition quantities accordingly: ! ! Quantity Description ! ---------------------------------------------------------------- ! NUMDEP Number of dry depositing species ! NTRAIND GEOS-Chem species ID number (advected index) ! NDVZIND Coresponding index in the drydep velocity array ! HSTAR Henry's law solubility constant [M atm-1] ! F0 Reactivity (0.0 = not reactive, 1.0=very reactive) ! XMW Molecular weight of species [kg mol-1] ! AEROSOL = T if the species is aerosol, =F if gas ! A_DEN Aerosol density [kg m-3] ! A_RADIUS Aerosol radius [um] ! KOA POPs KOA parameter ! ! NOTES: ! (1) For XMW, we take the species molecular weight (MW_g * 1e-3). ! (2) The deposition names of SO4s and NITs need to be in ! uppercase. Therefore, we overwrite the values from ! the species database with SO4S, NITS. !================================================================= DO N = 1, State_Chm%nAdvect ! Point to the Nth species in the species database SpcInfo => State_Chm%SpcData(N)%Info ! Only proceed if the species dry deposits IF ( SpcInfo%Is_Drydep ) THEN ! Initialize dry deposition quantities NUMDEP = NUMDEP + 1 NTRAIND(NUMDEP) = SpcInfo%ModelID NDVZIND(NUMDEP) = SpcInfo%DryDepID DEPNAME(NUMDEP) = TRIM( SpcInfo%Name ) XMW(NUMDEP) = DBLE( SpcInfo%MW_g * 1e-3_fp ) AEROSOL(NUMDEP) = ( SpcInfo%Is_Aerosol ) ! Only copy F0 if it's not a missing value IF ( SpcInfo%DD_F0 > 0.0_fp ) THEN F0(NUMDEP) = DBLE( SpcInfo%DD_F0 ) ENDIF ! Only copy HSTAR if it's not a missing value IF ( SpcInfo%DD_Hstar > 0.0_fp ) THEN HSTAR(NUMDEP) = DBLE( SpcInfo%DD_HStar ) ENDIF ! Only copy KOA if it's not a missing value IF ( SpcInfo%DD_KOA > 0.0_fp ) THEN KOA(NUMDEP) = DBLE( SpcInfo%DD_KOA ) ENDIF ! Only copy DENSITY if it's not a missing value IF ( SpcInfo%Density > 0.0_fp ) THEN A_DEN(NUMDEP) = DBLE( SpcInfo%Density ) ENDIF ! Only copy RADIUS if it's not a missing value IF ( SpcInfo%Radius > 0.0_fp ) THEN A_RADI(NUMDEP) = DBLE( SpcInfo%Radius ) ENDIF !----------------------------------------------------- ! Kludges to match behavior of older code !----------------------------------------------------- SELECT CASE ( TRIM( SpcInfo%Name ) ) CASE( 'ACET' ) ! Flag the species ID of ACET for use above. id_ACET = SpcInfo%ModelId CASE( 'O3' ) ! Flag the species ID of O3 for use above ID_O3 = SpcInfo%ModelId CASE( 'ALD2' ) ! Flag the species ID of ALD2 for use above. id_ALD2 = SpcInfo%ModelId CASE( 'MENO3' ) ! Flag the species ID of MENO3 for use above. id_MENO3 = SpcInfo%ModelId CASE( 'ETNO3' ) ! Flag the species ID of ETNO3 for use above. id_ETNO3 = SpcInfo%ModelId CASE( 'MOH' ) ! Flag the species ID of MOH for use above. id_MOH = SpcInfo%ModelId CASE( 'HG0', 'Hg0' ) ! for finding Hg0 drydep veloc id_Hg0 = SpcInfo%ModelId CASE( 'NITs', 'NITS' ) ! DEPNAME for NITs has to be in all caps, for ! backwards compatibility with older code. DEPNAME(NUMDEP) = 'NITS' CASE( 'N2O5', 'HC187' ) ! These species scale to the Vd of HNO3. We will ! explicitly compute the Vd of these species instead ! of assigning the Vd of HNO3 from the drydep velocity array. ! The scaling is applied in DO_DRYDEP using FLAG=1. ! ! Make sure to set XMW to the MW of HNO3 ! for the computation of Vd to work properly. XMW(NUMDEP) = State_Chm%SpcData(id_HNO3)%Info%MW_g * 1e-3_fp FLAG(NUMDEP) = 1 CASE( 'MPAN', 'PPN', 'R4N2' ) ! These specied scale to the Vd of PAN. We will ! explicitly compute the Vd of these species instead ! of assigning the Vd of PAN from the drydep velocity array. ! The scaling is applied in DO_DRYDEP using FLAG=2. ! ! Make sure to set XMW to the MW of PAN ! for the computation of Vd to work properly. XMW(NUMDEP) = State_Chm%SpcData(id_PAN)%Info%MW_g * 1e-3_fp FLAG(NUMDEP) = 2 CASE( 'MONITS', 'MONITU', 'HONIT' ) ! These species scale to the Vd of ISOPN. We will ! explicitly compute the Vd of these species instead ! of assigning the Vd of ISOPN from the drydep velocity array. ! The scaling is applied in DO_DRYDEP using FLAG=3. ! ! Make sure to set XMW to the MW of ISOPN ! for the computation of Vd to work properly. XMW(NUMDEP) = State_Chm%SpcData(id_IHN1)%Info%MW_g * 1e-3_fp FLAG(NUMDEP) = 3 CASE( 'SO4s', 'SO4S' ) ! DEPNAME for SO4s has to be in all caps, for ! backwards compatibility with older code DEPNAME(NUMDEP) = 'SO4S' CASE DEFAULT ! Do nothing END SELECT ENDIF ! Free pointer SpcInfo => NULL() ENDDO !================================================================= ! Allocate arrays ! add allocation for SALT_V and DMID (jaegle 5/11/11) !================================================================= ALLOCATE( SALT_V( NR_MAX ), STAT=RC ) CALL GC_CheckVar( 'drydep_mod:SALT_V', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN SALT_V = 0e+0_f8 ALLOCATE( DMID( NR_MAX ), STAT=RC ) CALL GC_CheckVar( 'drydep_mod:DMID', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN DMID = 0e+0_f8 !================================================================= ! Echo information to stdout !================================================================= IF ( Input_Opt%amIRoot .and. Input_Opt%Verbose ) THEN ! Line 1 MSG = 'INIT_DRYDEP: List of dry deposition species:' WRITE( 6, '(/,a)' ) TRIM( MSG ) ! Line 2 MSG = ' # Name Species DEPVEL Henry''s React.' & // ' Molec. Aerosol?' WRITE( 6, '(/,a)' ) TRIM( MSG ) ! Line 3 MSG = ' Number Index Law Const Factor' & // ' Weight (T or F)' WRITE( 6, '(a)' ) TRIM( MSG ) ! Separator WRITE( 6, '(a)' ) REPEAT( '-', 70 ) ! Output DO N = 1, NUMDEP WRITE( 6, 100 ) N, ADJUSTL( DEPNAME(N) ), & NTRAIND(N), NDVZIND(N), & HSTAR(N), F0(N), & XMW(N), AEROSOL(N) ENDDO 100 FORMAT( i3, 3x, a8, 2(3x,i3), 4x, es8.1, 2(3x,f6.3), 3x, L3 ) ENDIF ! Calls INIT_WEIGHTSS to calculate the volume distribution of ! sea salt aerosols (jaegle 5/11/11) CALL INIT_WEIGHTSS( Input_Opt ) END SUBROUTINE INIT_DRYDEP !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: cleanup_drydep ! ! !DESCRIPTION: Subroutine CLEANUP\_DRYDEP deallocates all module arrays. ! (bmy, 2/27/03, 2/22/05) !\\ !\\ ! !INTERFACE: ! SUBROUTINE CLEANUP_DRYDEP ! ! !REVISION HISTORY: ! 27 Feb 2003 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC !================================================================= ! CLEANUP_DRYDEP begins here! !================================================================= IF ( ALLOCATED( A_DEN ) ) DEALLOCATE( A_DEN ) IF ( ALLOCATED( A_RADI ) ) DEALLOCATE( A_RADI ) IF ( ALLOCATED( AEROSOL ) ) DEALLOCATE( AEROSOL ) IF ( ALLOCATED( DEPNAME ) ) DEALLOCATE( DEPNAME ) IF ( ALLOCATED( DMID ) ) DEALLOCATE( DMID ) IF ( ALLOCATED( F0 ) ) DEALLOCATE( F0 ) IF ( ALLOCATED( FLAG ) ) DEALLOCATE( FLAG ) IF ( ALLOCATED( HSTAR ) ) DEALLOCATE( HSTAR ) IF ( ALLOCATED( KOA ) ) DEALLOCATE( KOA ) IF ( ALLOCATED( NDVZIND ) ) DEALLOCATE( NDVZIND ) IF ( ALLOCATED( NTRAIND ) ) DEALLOCATE( NTRAIND ) IF ( ALLOCATED( SALT_V ) ) DEALLOCATE( SALT_V ) IF ( ALLOCATED( XMW ) ) DEALLOCATE( XMW ) END SUBROUTINE CLEANUP_DRYDEP !EOC END MODULE DRYDEP_MOD ================================================ FILE: GeosCore/dust_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: dust_mod.F90 ! ! !DESCRIPTION: Module DUST\_MOD contains routines for computing dust aerosol ! emissions, chemistry, and optical depths. !\\ !\\ ! !INTERFACE: ! MODULE DUST_MOD ! ! !USES: ! USE inquireMod, ONLY : findFreeLUN USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: CHEMDUST #ifdef TOMAS PUBLIC :: SETTLEDUST #endif PUBLIC :: RDUST_ONLINE PUBLIC :: GET_DUST_ALK PUBLIC :: INIT_DUST PUBLIC :: CLEANUP_DUST ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: DRY_SETTLING #ifdef APM PRIVATE :: DRY_SETTLINGBIN #endif ! ! !REVISION HISTORY: ! 30 Mar 2004 - T. D. Fairlie - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !PRIVATE TYPES: ! ! Species ID flags INTEGER :: id_DSTbin1, id_DSTbin2, id_DSTbin3 INTEGER :: id_DSTbin4, id_DSTbin5, id_DSTbin6 INTEGER :: id_DSTbin7, id_DALbin1, id_DALbin2 INTEGER :: id_DALbin3, id_DALbin4, id_DALbin5 INTEGER :: id_DALbin6, id_DALbin7, id_DUST01 INTEGER :: id_NK01 ! Arrays REAL(fp), ALLOCATABLE :: FRAC_S(:) REAL(fp), ALLOCATABLE :: SRCE_FUNC(:,:,:) #ifdef TOMAS ! To replicate the obsolete Input_Opt%IDDEP field ! Set to a large placeholder value INTEGER :: TOMAS_IDDEP(1000) #endif CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: chemdust ! ! !DESCRIPTION: Subroutine CHEMDUST is the interface between the GEOS-Chem ! main program and the dust chemistry routines that mostly calculates dust ! dry deposition. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CHEMDUST( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD, ONLY : DEBUG_MSG USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Met_Mod, ONLY : MetState USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Diag_Mod, ONLY : DgnState #ifdef APM USE HCO_State_GC_Mod, ONLY : HcoState USE HCO_STATE_MOD, ONLY : HCO_GetHcoID USE APM_INIT_MOD, ONLY : APMIDS #endif ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 30 Mar 2004 - T. D. Fairlie - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! SAVEd scalars LOGICAL, SAVE :: FIRST = .TRUE. ! Non-SAVEd scalars LOGICAL :: LDRYD LOGICAL :: LDUST LOGICAL :: LDSTUP ! Strings CHARACTER(LEN=255) :: ErrMsg CHARACTER(LEN=255) :: ThisLoc #ifdef APM INTEGER :: I,J,N, IDDST(HcoState%nDust) REAL(fp) :: A_M2, E_DST, DTSRCE CHARACTER(LEN=7) :: S TYPE(SpcConc), POINTER :: Spc(:) #endif !================================================================= ! CHEMDUST begins here! !================================================================= ! Assume success RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at CHEMDUST (in module GeosCore/dust_mod.F)' ! Copy fields from INPUT_OPT to local variables for use below LDRYD = Input_Opt%LDRYD LDUST = Input_Opt%LDUST LDSTUP = Input_Opt%LDSTUP ! Execute on first call only IF ( FIRST ) THEN ! Stop w/ error if dust species flags are undefined ! NOTE: Ind_() returns -1 for species not found, so for the ! algorithm below to work, we need to make sure all id's are ! not less than zero (bmy, 7/5/16) ! extend 7 dust bins for deposition (D. Zhang, 28 Jun 2024) IF ( MAX( id_DSTbin1, 0 ) + MAX( id_DSTbin2, 0 ) + & MAX( id_DSTbin3, 0 ) + MAX( id_DSTbin4, 0 ) + & MAX( id_DSTbin5, 0 ) + MAX( id_DSTbin6, 0 ) + & MAX( id_DSTbin7, 0 ) == 0 ) THEN IF ( LDUST ) THEN ErrMsg = 'LDUST=T but dust species are undefined!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF ! Reset first-time flag FIRST = .FALSE. ENDIF #ifdef APM ! Set pointer to species vector to access concentrations Spc => State_Chm%Species ! Emission timestep DTSRCE = HcoState%TS_EMIS ! Save the HEMCO dust ID's in a vector DO N = 1, HcoState%nDust WRITE( S, '("DSTbin", i1)' ) N IDDST(N) = HCO_GetHcoID( S, HcoState ) ENDDO !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( N, J, I, A_M2, E_DST ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Grid box surface area [m2] A_M2 = HcoState%Grid%AREA_M2%Val( I, J ) DO N = 1, HcoState%nDust ! Skip if the array for HEMCO dust species N isn't allocated IF ( .not. HcoState%Spc(IDDST(N))%Emis%Alloc ) CYCLE ! Get emissions [kg/m2/s] and convert to [kg/box] E_DST = HcoState%Spc(IDDST(N))%Emis%Val(I,J,1) * A_M2 * DTSRCE Spc(APMIDS%id_DSTBIN1)%Conc(I,J,1) = & Spc(APMIDS%id_DSTBIN1)%Conc(I,J,1) & +E_DST*1.5083735055071434d-006 Spc(APMIDS%id_DSTBIN1+1)%Conc(I,J,1) = & Spc(APMIDS%id_DSTBIN1+1)%Conc(I,J,1) & +E_DST*4.7465319694587000d-005 Spc(APMIDS%id_DSTBIN1+2)%Conc(I,J,1) = & Spc(APMIDS%id_DSTBIN1+2)%Conc(I,J,1) & +E_DST*6.5459286253814980d-004 Spc(APMIDS%id_DSTBIN1+3)%Conc(I,J,1) = & Spc(APMIDS%id_DSTBIN1+3)%Conc(I,J,1) & +E_DST*3.6946414378027244d-003 Spc(APMIDS%id_DSTBIN1+4)%Conc(I,J,1) = & Spc(APMIDS%id_DSTBIN1+4)%Conc(I,J,1) & +E_DST*8.0323357006383631d-003 Spc(APMIDS%id_DSTBIN1+5)%Conc(I,J,1) = & Spc(APMIDS%id_DSTBIN1+5)%Conc(I,J,1) & +E_DST*1.5922384531190468d-002 Spc(APMIDS%id_DSTBIN1+6)%Conc(I,J,1) = & Spc(APMIDS%id_DSTBIN1+6)%Conc(I,J,1) & +E_DST*3.7324808601695736d-002 Spc(APMIDS%id_DSTBIN1+7)%Conc(I,J,1) = & Spc(APMIDS%id_DSTBIN1+7)%Conc(I,J,1) & +E_DST*0.1144517534356116 Spc(APMIDS%id_DSTBIN1+8)%Conc(I,J,1) = & Spc(APMIDS%id_DSTBIN1+8)%Conc(I,J,1) & +E_DST*0.1880182758312848 Spc(APMIDS%id_DSTBIN1+9)%Conc(I,J,1) = & Spc(APMIDS%id_DSTBIN1+9)%Conc(I,J,1) & +E_DST*0.2448371224641443 Spc(APMIDS%id_DSTBIN1+10)%Conc(I,J,1) = & Spc(APMIDS%id_DSTBIN1+10)%Conc(I,J,1) & +E_DST*0.1452025570524453 Spc(APMIDS%id_DSTBIN1+11)%Conc(I,J,1) = & Spc(APMIDS%id_DSTBIN1+11)%Conc(I,J,1) & +E_DST*0.1954553759504486 Spc(APMIDS%id_DSTBIN1+12)%Conc(I,J,1) = & Spc(APMIDS%id_DSTBIN1+12)%Conc(I,J,1) & +E_DST*4.0358202390254526d-002 Spc(APMIDS%id_DSTBIN1+13)%Conc(I,J,1) = & Spc(APMIDS%id_DSTBIN1+13)%Conc(I,J,1) & +E_DST*5.2032641469382107d-003 Spc(APMIDS%id_DSTBIN1+14)%Conc(I,J,1) = & Spc(APMIDS%id_DSTBIN1+14)%Conc(I,J,1) & +E_DST*7.2351157743278424d-004 ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ! Free pointer Spc => NULL() #endif !================================================================= ! Do dust settling & deposition !================================================================= !------------------------------------------------------------- ! Dust settling for regular dust species ! ! NOTE: Assumes that id_DSTbin1 to id_DSTbin7 are ! contiguous in the species list. This is usually correct, ! but we may have to update this later. (bmy, 7/5/16) !------------------------------------------------------------- CALL DRY_SETTLING( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, id_DSTbin1, id_DSTbin7, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in call to "DRY_SETTLING"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------- ! Dust settling for acid uptake on dust species ! ! NOTE: Assumes that id_DALbin1 to id_DALbin7 are ! contiguous in the species list. This is usually correct, ! but we may have to update this later. (bmy, 7/5/16; D. Zhang, 5 Mar, 2025) ! ! ALSO NOTE: Dry settling of DSTNIT, DSTSO4 occurs in ! GRAV_SETTLING, called from CHEMSULFATE in SULFATE_MOD. !------------------------------------------------------------- IF ( LDSTUP ) THEN CALL DRY_SETTLING( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, id_DALbin1, id_DALbin7, RC ) #ifdef APM ! Call APM size-resolved settling algorithm CALL DRY_SETTLINGBIN( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) #endif ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in call to "DRY_SETTLING"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF ! Debug print IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMDUST: a DRY_SETTLING' ) ENDIF END SUBROUTINE CHEMDUST !EOC #ifdef TOMAS !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: settledust ! ! !DESCRIPTION: Subroutine SETTLEDUST is the interface between the ! size-resolved dry deposition subroutine AERO\_DRYDEP and the dust module. ! This is to call only gravitational settling and deals with removal of ! aerosol number with the dust mass. (win, 7/17/09) !\\ !\\ ! !INTERFACE: ! SUBROUTINE SETTLEDUST( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD USE Input_Opt_Mod, ONLY : OptInput USE PhysConstants, ONLY : AVO USE Species_Mod, ONLY : Species, SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_TS_CHEM USE TOMAS_MOD, ONLY : Xk, SRTDUST USE Species_Mod, ONLY : Species USE UnitConv_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 17 Jul 2009 - W. Trivitayanurak - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! SAVEd scalars LOGICAL, SAVE :: FIRST = .TRUE. ! Non-SAVEd scalars INTEGER :: N, BIN, I, J, L, NN, IDISP REAL(fp) :: DU0(State_Grid%NX,State_Grid%NY,State_Grid%NZ, & State_Chm%nTomasBins) REAL(fp) :: DIF, FLUXN, FLUXD REAL(fp) :: DT_SETTL, AREA_CM2 !debug integer :: ii, jj , ix, jx, bb data ii,jj, ix, jx, bb /37, 24, 58, 34, 30 / CHARACTER(LEN=255) :: MSG, LOC ! Pointers TYPE(SpcConc), POINTER :: Spc(:) TYPE(Species), POINTER :: ThisSpc !================================================================= ! SETTLEDUST begins here! !================================================================= ! Initialize RC = GC_SUCCESS ! Check that species units are in [kg] (ewl, 8/13/15) IF ( .not. Check_Units( State_Chm, KG_SPECIES ) ) THEN MSG = 'Not all species have units "kg"!' LOC = 'Routine SETTLEDUST in GeosCore/dust_mod.F90' CALL GC_Error( MSG, RC, LOC ) ENDIF ! Set pointers Spc => State_Chm%Species ThisSpc => NULL() !================================================================= ! Do dust settling & deposition !================================================================= ! Dust settling timestep [s] DT_SETTL = GET_TS_CHEM() ! Save initial dust mass DO BIN = 1, State_Chm%nTomasBins ! Species ID N = id_DUST01 - 1 + BIN DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX DU0(I,J,L,BIN) = Spc(N)%Conc(I,J,L) ENDDO ENDDO ENDDO ENDDO ! Dust settling CALL DRY_SETTLING( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, id_DUST01, id_DUST01-1+State_Chm%nTomasBins,& RC ) ! Calculate change in number to correspond with dust redistribution ! by gravitational settling DO BIN = 1, State_Chm%nTomasBins ! Species ID N = id_DUST01 - 1 + BIN ! Look up this species in the species database ThisSpc => State_Chm%SpcData(N)%Info ! Drydep index (??? -- replace w/ species DB info?) NN = State_Chm%nDryDep + (SRTDUST-1)*State_Chm%nTomasBins + BIN DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Surface area [cm2] AREA_CM2 = State_Grid%Area_M2(I,J) * 1e+4_fp DIF = 0.0_fp FLUXD = 0e+0_fp FLUXN = 0e+0_fp DO L = 1, State_Grid%NZ DIF = DU0(I,J,L,BIN) - Spc(id_DUST01-1+BIN)%Conc(I,J,L) Spc(id_NK01-1+BIN)%Conc(I,J,L) = Spc(id_NK01-1+BIN)%Conc(I,J,L) - & DIF/(SQRT( Xk(BIN)*Xk(BIN+1))) ! Convert flux from [kg/s] to [molec/cm2/s] FLUXD = FLUXD + DIF / DT_SETTL * AVO / & ( 1.e-3_fp * ThisSpc%MW_g ) / AREA_CM2 FLUXN = FLUXN + DIF/(SQRT( Xk(BIN)*Xk(BIN+1))) / & DT_SETTL * AVO / & ( 1.e-3_fp * ThisSpc%MW_g ) / AREA_CM2 ENDDO ENDDO ENDDO ! Free pointer ThisSpc => NULL() ENDDO ! Free pointer memory Spc => NULL() END SUBROUTINE SETTLEDUST !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: emissdust ! ! !DESCRIPTION: Subroutine EMISSDUST is the driver routine for the dust ! emission module. You may call either the GINOUX or the DEAD dust source ! function. !\\ !\\ ! !INTERFACE: ! SUBROUTINE EMISSDUST( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD, ONLY : DEBUG_MSG USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TOMAS_MOD, ONLY : XK ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 30 Mar 2004 - T. D. Fairlie - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! SAVEd scalars LOGICAL, SAVE :: FIRST = .TRUE. ! Non-SAVEd scalars LOGICAL :: LDEAD LOGICAL :: LDUST LOGICAL :: LINTERP INTEGER :: I, J, K, N REAL(fp) :: MEMIS REAL(fp) :: MINIT(State_Grid%NX,State_Grid%NY,1,State_Chm%nTomasBins) ! Pointers TYPE(SpcConc), POINTER :: Spc(:) ! Strings CHARACTER(LEN=255) :: ErrMsg CHARACTER(LEN=255) :: ThisLoc !================================================================= ! EMISSDUST begins here! !================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at EMISSDUST (in module GeosCore/dust_mod.F)' ! Initialize LDEAD = Input_Opt%LDEAD LDUST = Input_Opt%LDUST ! Execute on first-call only IF ( FIRST ) THEN ! Return if dust ID flags are not defined IF ( id_DUST01 == 0 ) THEN IF ( LDUST ) THEN ErrMsg = 'LDUST=T but dust species are undefined!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF ! Reset first-time flag FIRST = .FALSE. ENDIF ! Point to chemical species array [kg] Spc => State_Chm%Species !================================================================= ! For TOMAS microphysics !================================================================= IF ( id_NK01 > 0 .and. id_DUST01 > 0 ) THEN DO N = 1, State_Chm%nTomasBins MINIT(:,:,1,N) = Spc(id_DUST01+N-1)%Conc(:,:,1) ENDDO IF ( LDEAD ) THEN ! still didn't figure out why run would crash w/ this option ! (win, 7/17/09) PRINT*,'Currently the TOMAS code does not work with ', & 'dust DEAD emission yet! Switch to GINOUX for now' STOP ELSE IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### EMISSDUST: a SRC_DUST_GINOUX') ENDIF ENDIF ENDIF ! Free pointers Spc => NULL() END SUBROUTINE EMISSDUST !EOC #endif !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: dry_settling ! ! !DESCRIPTION: Subroutine DRY\_SETTLING computes the dry settling of ! dust species. !\\ !\\ ! !INTERFACE: ! SUBROUTINE DRY_SETTLING( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, Ind0, Ind1, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE PhysConstants USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_TS_CHEM USE Species_Mod, ONLY : Species, SpcConc ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object INTEGER, INTENT(IN) :: Ind0 ! Starting dust species # INTEGER, INTENT(IN) :: Ind1 ! Ending dust species # ! ! !INPUT/OUTPUT PARAMETERS ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 30 Mar 2004 - T. D. Fairlie - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, J, L INTEGER :: N, NA, ND, S REAL(fp) :: DT_SETTL, DELZ, DELZ1 REAL(fp) :: REFF, DEN, CONST REAL(fp) :: NUM, LAMDA, FLUX REAL(fp) :: AREA_CM2, TC0(State_Grid%NZ) REAL(fp) :: TOT1, TOT2 ! Pressure in Kpa 1 mb = 100 pa = 0.1 kPa REAL(fp) :: P ! Diameter of aerosol [um] REAL(fp) :: Dp ! Pressure * DP REAL(fp) :: PDp ! Temperature (K) REAL(fp) :: TEMP ! Slip correction factor REAL(fp) :: Slip ! Viscosity of air (Pa s) REAL(fp) :: Visc ! Settling velocity of particle (m/s) REAL(fp) :: VTS(State_Grid%NZ) ! Pointers TYPE(Species), POINTER :: ThisSpc TYPE(SpcConc), POINTER :: Spc(:) ! ! !DEFINED PARAMETERS: ! REAL(fp), PARAMETER :: C1 = 0.7674e+0_fp REAL(fp), PARAMETER :: C2 = 3.079e+0_fp REAL(fp), PARAMETER :: C3 = 2.573e-11_fp REAL(fp), PARAMETER :: C4 = -1.424e+0_fp !================================================================= ! DRY_SETTLING begins here! !================================================================= ! Initialize RC = GC_SUCCESS ThisSpc => NULL() Spc => State_Chm%Species ! Dust settling timestep [s] DT_SETTL = GET_TS_CHEM() !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, N, DEN, REFF, DP ) & !$OMP PRIVATE( CONST, AREA_CM2, VTS, TEMP, P, PDP, SLIP ) & !$OMP PRIVATE( VISC, TC0, DELZ, DELZ1, TOT1, TOT2, FLUX ) & !$OMP PRIVATE( NA, ThisSpc, ND, S ) ! Loop over only the advected dust species DO NA = Ind0, Ind1 ! Look up this species in the species database ! NOTE: The advected species are listed first in the main ! species list, so it's OK to use the advected species ID ! to query the Species Database (bmy, 3/16/17) ThisSpc => State_Chm%SpcData(NA)%Info ! Get the drydep ID corresponding to this species ND = ThisSpc%DryDepId ! Density [kg/m3] and radius [m] DEN = ThisSpc%Density REFF = ThisSpc%Radius ! Dp [um] = particle diameter DP = 2e+0_fp * REFF * 1.e+6_fp CONST = 2e+0_fp * DEN * REFF**2 * g0 / 9e+0_fp ! Loop over grid latitude and longitude DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Surface area [cm2] AREA_CM2 = State_Grid%AREA_M2(I,J) * 1e+4_fp ! Initialize settling velocity DO L = 1, State_Grid%NZ VTS(L) = 0e+0_fp ENDDO ! Loop over levels DO L = 1, State_Grid%NZ ! Get P [kPa], T [K], and P*DP ! Use moist air pressure for mean free path (ewl, 3/2/15) P = State_Met%PMID(I,J,L) * 0.1e+0_fp TEMP = State_Met%T(I,J,L) PDP = P * DP !===================================================== ! # air molecule number density ! num = P * 1d3 * 6.023d23 / (8.314 * Temp) ! ! # gas mean free path ! lamda = 1.d6 / ! & ( 1.41421 * num * 3.141592 * (3.7d-10)**2 ) ! ! # Slip correction ! Slip = 1. + 2. * lamda * (1.257 + 0.4 * & ! exp( -1.1 * Dp / (2. * lamda))) / Dp !===================================================== ! NOTE, Slip correction factor calculations following ! Seinfeld, pp464 which is thought to be more ! accurate but more computation required. !===================================================== ! Slip correction factor as function of (P*dp) SLIP = 1e+0_fp + ( 15.60e+0_fp + 7.0e+0_fp * & EXP(-0.059e+0_fp*PDP) ) / PDP !===================================================== ! NOTE, Eq) 3.22 pp 50 in Hinds (Aerosol Technology) ! which produce slip correction factor with small ! error compared to the above with less computation. !===================================================== ! Viscosity [Pa s] of air as a function of temp (K) VISC = 1.458e-6_fp * (TEMP)**(1.5e+0_fp) / & ( TEMP + 110.4e+0_fp ) ! Settling velocity [m/s] VTS(L) = CONST * SLIP / VISC ENDDO ! Method is to solve bidiagonal matrix ! which is implicit and first order accurate in Z DO L = 1, State_Grid%NZ TC0(L) = Spc(NA)%Conc(I,J,L) ENDDO ! We know the boundary condition at the model top L = State_Met%MaxChemLev DELZ = State_Met%BXHEIGHT(I,J,L) Spc(NA)%Conc(I,J,L) =Spc(NA)%Conc(I,J,L) / & ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) DO L = State_Met%MaxChemLev-1, 1, -1 DELZ = State_Met%BXHEIGHT(I,J,L) DELZ1 = State_Met%BXHEIGHT(I,J,L+1) Spc(NA)%Conc(I,J,L) = 1.e+0_fp / & ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) & * ( Spc(NA)%Conc(I,J,L) & + DT_SETTL * VTS(L+1) / DELZ1 & * Spc(NA)%Conc(I,J,L+1) ) ENDDO !======================================================== ! Dry deposition diagnostic [molec/cm2/s] !======================================================== IF ( State_Diag%Archive_DryDepChm .OR. & State_Diag%Archive_DryDep ) THEN !----------------------------------------------------- ! HISTORY (aka netCDF diagnostics) ! Dry deposition flux loss [molec/cm2/s] ! ! NOTE: Eventually think about converting this ! diagnostic to more standard units [kg/m2/s] !----------------------------------------------------- ! Initialize TOT1 = 0e+0_fp TOT2 = 0e+0_fp ! Compute column totals of TCO(:) and Spc(N)%Conc(I,J,:) DO L = 1, State_Grid%NZ TOT1 = TOT1 + TC0(L) TOT2 = TOT2 + Spc(NA)%Conc(I,J,L) ENDDO ! Convert dust flux from [kg/s] to [molec/cm2/s] FLUX = ( TOT1 - TOT2 ) / DT_SETTL FLUX = FLUX * AVO * ( AIRMW / ThisSpc%Mw_g ) / & ( AIRMW * 1.e-3_fp ) / AREA_CM2 ! Drydep flux in chemistry only S = State_Diag%Map_DryDepChm%id2slot(ND) IF ( S > 0 ) THEN State_Diag%DryDepChm(I,J,S) = FLUX ENDIF ENDIF ENDDO ENDDO ! Nullify pointer ThisSpc => NULL() ENDDO !$OMP END PARALLEL DO ! Free pointers ThisSpc => NULL() Spc => NULL() END SUBROUTINE DRY_SETTLING #ifdef APM !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: dry_settlingbin ! ! !DESCRIPTION: Subroutine DRY\_SETTLINGBIN computes the dry settling of ! aerosol tracers. Modified for APM simulation. (G. Luo) !\\ !\\ ! !INTERFACE: ! SUBROUTINE DRY_SETTLINGBIN( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Diag_Mod, ONLY : DgnState USE State_Met_Mod, ONLY : MetState USE PRESSURE_MOD, ONLY : GET_PCENTER USE TIME_MOD, ONLY : GET_TS_CHEM USE PhysConstants USE APM_INIT_MOD, ONLY : APMIDS USE APM_INIT_MOD, ONLY : NCTDST,NDSTB USE APM_INIT_MOD, ONLY : RDST, DENDST ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 22 Aug 2011 - G. Luo - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Local variables INTEGER :: I, J, L, N, K INTEGER :: IDTEMP REAL*8 :: DT_SETTL, DELZ, DELZ1 REAL*8 :: REFF, DEN, CONST REAL*8 :: NUM, LAMDA, FLUX REAL*8 :: AREA_CM2, TC0(State_Grid%NZ) REAL*8 :: TOT1, TOT2 ! Pressure in Kpa 1 mb = 100 pa = 0.1 kPa REAL*8 :: P ! Diameter of aerosol [um] REAL*8 :: Dp ! Pressure * DP REAL*8 :: PDp ! Temperature (K) REAL*8 :: TEMP ! Slip correction factor REAL*8 :: Slip ! Viscosity of air (Pa s) REAL*8 :: Visc ! Settling velocity of particle (m/s) REAL*8 :: VTS(State_Grid%NZ) REAL*8 :: MASS(State_Grid%NZ) REAL*8 :: OLD(State_Grid%NZ,NCTDST) ! Make a pointer to the species vector to access concentrations TYPE(SpcConc), POINTER :: Spc(:) !================================================================= ! DRY_SETTLINGBIN begins here! !================================================================= ! Assume success RC = GC_SUCCESS ! Point to Spc Spc => State_Chm%Species ! Aerosol settling timestep [s] DT_SETTL = GET_TS_CHEM() IDTEMP = APMIDS%id_DSTBIN1+NDSTB-1 !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, N, K, DEN, REFF, DP ) & !$OMP PRIVATE( CONST, VTS, TEMP, P, PDP, SLIP ) & !$OMP PRIVATE( MASS, OLD, VISC, TC0, DELZ, DELZ1 ) & !$OMP SCHEDULE( DYNAMIC ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Zero private loop variables CONST = 0.0_fp DELZ = 0.0_fp DELZ1 = 0.0_fp DEN = 0.0_fp DP = 0.0_fp MASS = 0.0_fp OLD = 0.0_fp P = 0.0_fp PDP = 0.0_fp REFF = 0.0_fp SLIP = 0.0_fp TEMP = 0.0_fp TC0 = 0.0_fp VISC = 0.0_fp VTS = 0.0_fp DO L = 1, State_Grid%NZ DO N = APMIDS%id_DSTBIN1, IDTEMP MASS(L) = MASS(L) + Spc(N)%Conc(I,J,L) ENDDO DO K = 1, NCTDST OLD(L,K) = Spc(APMIDS%id_CTDST+K-1)%Conc(I,J,L) Spc(APMIDS%id_CTDST+K-1)%Conc(I,J,L) = 0.D0 ENDDO ENDDO ! Loop over aerosol bins DO N = 1, NDSTB DO L = 1, State_Grid%NZ TC0(L) = Spc(APMIDS%id_DSTBIN1+N-1)%Conc(I,J,L) IF(TC0(L)>1.D-30)THEN ! Initialize DEN = DENDST(N)*1.d3 REFF = RDST(N) DP = 2D0 * REFF * 1.D6 ! Dp [um] = particle diameter CONST = 2D0 * DEN * REFF**2 * g0 / 9D0 ! Get P [kPa], T [K], and P*DP P = GET_PCENTER(I,J,L) * 0.1d0 TEMP = State_Met%T(I,J,L) PDP = P * DP ! Slip correction factor as function of (P*dp) SLIP = 1d0 + ( 15.60d0 + 7.0d0 * EXP(-0.059d0*PDP) ) / PDP ! Viscosity [Pa s] of air as a function of temp (K) VISC = 1.458d-6 * (TEMP)**(1.5d0) / ( TEMP + 110.4d0 ) ! Settling velocity [m/s] VTS(L) = CONST * SLIP / VISC ELSE VTS(L) = 0.D0 ENDIF ENDDO ! Method is to solve bidiagonal matrix ! which is implicit and first order accurate in Z L = State_Grid%NZ IF(MASS(L)>1.D-30)THEN DELZ = State_Met%BXHEIGHT(I,J,L) Spc(APMIDS%id_DSTBIN1+N-1)%Conc(I,J,L) = & Spc(APMIDS%id_DSTBIN1+N-1)%Conc(I,J,L) / & ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) DO K = 1, NCTDST Spc(APMIDS%id_CTDST+K-1)%Conc(I,J,L) = & Spc(APMIDS%id_CTDST+K-1)%Conc(I,J,L)+ & OLD(L,K)*TC0(L)/MASS(L) / & ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) ENDDO ENDIF DO L = State_Grid%NZ-1, 1, -1 IF((MASS(L)*MASS(L+1))>1.D-30)THEN DELZ = State_Met%BXHEIGHT(I,J,L) DELZ1 = State_Met%BXHEIGHT(I,J,L+1) Spc(APMIDS%id_DSTBIN1+N-1)%Conc(I,J,L) = 1.e+0_fp / & ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) & * (Spc(APMIDS%id_DSTBIN1+N-1)%Conc(I,J,L) & + DT_SETTL * VTS(L+1) / DELZ1 * TC0(L+1) ) DO K = 1, NCTDST Spc(APMIDS%id_CTDST+K-1)%Conc(I,J,L) = & Spc(APMIDS%id_CTDST+K-1)%Conc(I,J,L)+ & 1.e+0_fp / ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) & * (OLD(L,K)*TC0(L)/MASS(L) & + DT_SETTL * VTS(L+1) / DELZ1 & * OLD(L+1,K)*TC0(L+1)/MASS(L+1) ) ENDDO ELSE IF(MASS(L)>1.D-30)THEN DELZ = State_Met%BXHEIGHT(I,J,L) DELZ1 = State_Met%BXHEIGHT(I,J,L+1) Spc(APMIDS%id_DSTBIN1+N-1)%Conc(I,J,L) = 1.e+0_fp / & ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) & * (Spc(APMIDS%id_DSTBIN1+N-1)%Conc(I,J,L) & + DT_SETTL * VTS(L+1) / DELZ1 * TC0(L+1) ) DO K = 1, NCTDST Spc(APMIDS%id_CTDST+K-1)%Conc(I,J,L) = & Spc(APMIDS%id_CTDST+K-1)%Conc(I,J,L)+ & 1.e+0_fp / ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) & * OLD(L,K)*TC0(L)/MASS(L) ENDDO ELSE IF(MASS(L+1)>1.D-30)THEN DELZ = State_Met%BXHEIGHT(I,J,L) DELZ1 = State_Met%BXHEIGHT(I,J,L+1) Spc(APMIDS%id_DSTBIN1+N-1)%Conc(I,J,L) = 1.e+0_fp / & ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) & * (Spc(APMIDS%id_DSTBIN1+N-1)%Conc(I,J,L) & + DT_SETTL * VTS(L+1) / DELZ1 * TC0(L+1) ) DO K = 1, NCTDST Spc(APMIDS%id_CTDST+K-1)%Conc(I,J,L) = & Spc(APMIDS%id_CTDST+K-1)%Conc(I,J,L)+ & 1.e+0_fp / ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) & * DT_SETTL * VTS(L+1) / DELZ1 & * OLD(L+1,K)*TC0(L+1)/MASS(L+1) ENDDO ENDIF ENDDO ENDDO DO L = 1, State_Grid%NZ DO K = 1, NCTDST Spc(APMIDS%id_CTDST+K-1)%Conc(I,J,L) = & MAX(1.d-30,Spc(APMIDS%id_CTDST+K-1)%Conc(I,J,L)) ENDDO ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ! Clear the pointer Spc => NULL() END SUBROUTINE DRY_SETTLINGBIN #endif !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: rdust_online ! ! !DESCRIPTION: Subroutine RDUST\_ONLINE reads global mineral dust ! concentrations as determined by P. Ginoux. Calculates dust optical ! depth at each level for the FAST-J routine "set\_prof.f". !\\ !\\ ! !INTERFACE: ! SUBROUTINE RDUST_ONLINE( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, ODSWITCH, RC ) ! ! !USES: ! USE CMN_Size_MOD, ONLY : NDUST #ifdef RRTMG USE CMN_Size_MOD, ONLY : NAER #endif USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object INTEGER, INTENT(IN) :: ODSWITCH ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 01 Apr 2004 - R. Martin, R. Park - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: LINTERP INTEGER :: I, J, L, N INTEGER :: NOUT, S, W, IWV INTEGER :: IIWV, NWVS, IDST, IWV1 INTEGER :: IWV2 REAL(fp) :: XTAU, XRH, CRITRH, ACOEF REAL(fp) :: BCOEF, LOGTERM ! Arrays LOGICAL :: LINTERPARR(Input_Opt%NWVSELECT) REAL(fp) :: MSDENS(NDUST) REAL(fp) :: tempOD(State_Grid%NX,State_Grid%NY, & State_Grid%NZ,NDUST, 3) ! Pointers to State_Chm%Phot INTEGER, POINTER :: IWVREQUIRED(:) INTEGER, POINTER :: IWVSELECT (:,:) REAL*8, POINTER :: ACOEF_WV (:) REAL*8, POINTER :: BCOEF_WV (:) REAL*8, POINTER :: REAA (:,:,:) REAL*8, POINTER :: QQAA (:,:,:,:) REAL*8, POINTER :: SSAA (:,:,:,:) REAL*8, POINTER :: ASYMAA (:,:,:,:) REAL(fp), POINTER :: ODMDUST (:,:,:,:,:) #ifdef RRTMG REAL*8, POINTER :: RTODAER (:,:,:,:,:) REAL*8, POINTER :: RTSSAER (:,:,:,:,:) REAL*8, POINTER :: RTASYMAER(:,:,:,:,:) #endif ! Other pointers REAL(fp), POINTER :: ERADIUS(:,:,:,:) REAL(fp), POINTER :: TAREA(:,:,:,:) REAL(fp), POINTER :: WERADIUS(:,:,:,:) REAL(fp), POINTER :: WTAREA(:,:,:,:) REAL(fp), POINTER :: DUST(:,:,:,:) !================================================================= ! RDUST_ONLINE begins here! !================================================================= ! Assume success RC = GC_SUCCESS ! Initialize pointers IWVREQUIRED => State_Chm%Phot%IWVREQUIRED ! WL indexes for interpolation IWVSELECT => State_Chm%Phot%IWVSELECT ! Indexes of requested WLs ACOEF_WV => State_Chm%Phot%ACOEF_WV ! Coeffs for WL interpolation BCOEF_WV => State_Chm%Phot%BCOEF_WV ! Coeffs for WL interpolation REAA => State_Chm%Phot%REAA QQAA => State_Chm%Phot%QQAA SSAA => State_Chm%Phot%SSAA ASYMAA => State_Chm%Phot%ASYMAA ODMDUST => State_Chm%Phot%ODMDUST #ifdef RRTMG RTODAER => State_Chm%Phot%RTODAER ! Optical dust RTSSAER => State_Chm%Phot%RTSSAER RTASYMAER => State_Chm%Phot%RTASYMAER #endif ERADIUS => State_Chm%AeroRadi ! Aerosol Radius [cm] TAREA => State_Chm%AeroArea ! Aerosol Area [cm2/cm3] WERADIUS => State_Chm%WetAeroRadi ! Wet Aerosol Radius [cm] WTAREA => State_Chm%WetAeroArea ! Wet Aerosol Area [cm2/cm3] DUST => State_Chm%SoilDust ! Dust aerosol Conc. [kg/m3] ! Index for dust in ODAER and LUT arrays IDST = 8 ! Get dust density from species database (assume dust bin ID is contiguous) DO N = 1, NDUST MSDENS(N) = State_Chm%SpcData(id_DSTbin1+N-1)%Info%Density ENDDO ! Critical RH, above which heteorogeneous chem takes place (tmf, 6/14/07) CRITRH = 35.0e+0_fp ! [%] !================================================================= ! Convert concentration [kg/m3] to optical depth [unitless]. ! ! ODMDUST = ( 0.75 * BXHEIGHT * CONC * QAA ) / ! ( MSDENS * RAA * 1e-6 ) ! (see Tegen and Lacis, JGR, 1996, 19237-19244, eq. 1) ! ! Units ==> DUST [ kg/m3 ] ! MSDENS [ kg/m3 ] ! RAA [ um ] ! BXHEIGHT [ m ] ! QAA [ unitless ] ! ODMDUST [ unitless ] ! ! NOTES: ! (1) Do the calculation at QAA(IND999,:) (i.e. 999 nm). !================================================================= ! DAR Oct 2012 ! if the call is from chemistry (ODSWITCH=0) only need one wavelength ! if radiation on (LRAD=TRUE) then cycle over all LUT wavelengths ! if radiation off but call is for AOD then cycle over the ! wavelength required or the wavelengths between which to ! interpolate IF (ODSWITCH .EQ. 0) THEN NWVS = 1 ELSE IF ( Input_Opt%LRAD ) THEN !Loop over all RT wavelengths (30) ! plus any required for calculating the AOD NWVS = State_Chm%Phot%NWVAART + State_Chm%Phot%NWVREQUIRED ELSE !Loop over wavelengths needed (from RD_AOD) NWVS = State_Chm%Phot%NWVREQUIRED ENDIF ENDIF DO IIWV = 1, NWVS ! get current wavelength index ! (specified by user or all wavelengths for RRTMG) ! (1000nm always used for FAST-J and stored in first index) IF (ODSWITCH .EQ. 0) THEN ! only doing for 1000nm i.e. IWV=10 in LUT ! N.B. NWVS is fixed to 1 above - only one wavelength IWV=State_Chm%Phot%IWV1000 ELSE IF ( Input_Opt%LRAD ) THEN ! RRTMG wavelengths begin after NWVAA0 standard wavelengths ! but add on any others required IF (IIWV.LE.State_Chm%Phot%NWVAART) THEN !index of RRTMG wavelengths starts after the standard NWVAA0 !(currently NWVAA0=11, hard-coded in phot_container_mod based !on the .dat LUT) IWV = IIWV + State_Chm%Phot%NWVAA0 ELSE !now we calculate at wvs for the requested AOD !offset index by NWVAART i.e. start from 1 IWV = IWVREQUIRED(IIWV-State_Chm%Phot%NWVAART) ENDIF ELSE ! IWVREQUIRED lists the index of requires standard wavelengths IWV = IWVREQUIRED(IIWV) ENDIF ENDIF !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, N ) DO N = 1, NDUST DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! dust stored in the IDST species bin of LUT variables ! use REAA instead of RDAA (D. Zhang, Jun 28, 2024) ODMDUST(I,J,L,IWV,N) = & 0.75e+0_fp * & State_Met%BXHEIGHT(I,J,L) * & DUST(I,J,L,N) * QQAA(IWV,N,IDST,State_Chm%Phot%DRg) / & ( MSDENS(N) * REAA(N,IDST,State_Chm%Phot%DRg) * 1.0e-6_fp) #ifdef RRTMG !add dust optics to the RT code arrays !SSA and ASYM copying seems a little redundant... !will keep this way for uniformity for now but !possibly could deal with SSA and ASYM in RT module RTODAER(I,J,L,IWV,NAER+2+N) = ODMDUST(I,J,L,IWV,N) RTSSAER(I,J,L,IWV,NAER+2+N) = SSAA(IWV,N,IDST,State_Chm%Phot%DRg) RTASYMAER(I,J,L,IWV,NAER+2+N) = ASYMAA(IWV,N,IDST,State_Chm%Phot%DRg) #endif ENDDO ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDDO !wavelength loop !============================================================== ! Calculate Dust Surface Area ! ! Units ==> DUST [ kg dust/m^3 air ] ! MSDENS [ kg dust/m^3 dust ] ! RAA [ um ] ! TAREA [ cm^2 dust/cm^3 air ] ! ERADIUS [ cm ] ! ! NOTE: first find volume of dust (cm3 dust/cm3 air), then ! multiply by 3/radius to convert to surface area in cm2 ! ! TAREA(:,1:NDUST) and ERADIUS(:,1:NDUST) are for ! the NDUST FAST-J dust wavelength bins (read into DUST) !============================================================== !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, N, XRH ) DO N = 1, NDUST DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Skip non-chemistry boxes IF ( .not. State_Met%InChemGrid(I,J,L) ) CYCLE ERADIUS(I,J,L,N) = REAA(N,IDST,State_Chm%Phot%DRg) * 1.0e-4_fp TAREA(I,J,L,N) = 3.e+0_fp / ERADIUS(I,J,L,N) * & DUST(I,J,L,N) / MSDENS(N) ! Archive WTAREA and WERADIUS when RH > 35% (tmf, 6/13/07) ! Get RH XRH = State_Met%RH( I, J, L ) ! [%] WTAREA(I,J,L, N) = 0.e+0_fp WERADIUS(I,J,L, N) = 0.e+0_fp IF ( XRH >= CRITRH ) THEN WTAREA(I,J,L, N) = TAREA(I,J,L, N) WERADIUS(I,J,L, N) = ERADIUS(I,J,L, N) ENDIF ENDDO ENDDO ENDDO ENDDO !$OMP END PARALLEL DO IF ( State_Diag%Archive_AOD .AND. ODSWITCH .EQ. 1 ) THEN ! Initialize local arrays tempOD = 0.0_fp LINTERPARR(:) = .FALSE. ! Interpolate? DO W = 1, Input_Opt%NWVSELECT IF (IWVSELECT(1,W).EQ.IWVSELECT(2,W)) THEN LINTERPARR(W) =.FALSE. ELSE LINTERPARR(W) =.TRUE. ENDIF ENDDO ! Loop over dust bins, # of wavelengths, and all grid cells !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, N, W, NOUT, LINTERP, S ) DO W = 1, Input_Opt%NWVSELECT DO N = 1, NDUST DO L = 1, State_Met%MaxChemLev DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX IF ( .not. LINTERPARR(W) ) THEN tempOD(I,J,L,N,W) = ODMDUST(I,J,L,IWVSELECT(1,W),N) ELSEIF ((ODMDUST(I,J,L,IWVSELECT(1,W),N).GT.0).AND. & (ODMDUST(I,J,L,IWVSELECT(2,W),N).GT.0)) THEN ! Interpolate using angstrom exponent between ! closest available wavelengths (coefs pre-calculated ! in CALC_AOD) ! AOD sometimes zero (if Q zero), must catch this! tempOD(I,J,L,N,W) = & ODMDUST(I,J,L,IWVSELECT(2,W),N)* & ACOEF_WV(W)**(BCOEF_WV(W)*LOG( & ODMDUST(I,J,L,IWVSELECT(1,W),N)/ & ODMDUST(I,J,L,IWVSELECT(2,W),N))) ENDIF !--------------------------------------------------- ! Set size-resolved dust optical depth diagnostic !--------------------------------------------------- IF ( State_Diag%Archive_AODDustWL1 .AND. W == 1 ) THEN S = State_Diag%Map_AODDustWL1%id2slot(N) IF ( S > 0 ) THEN State_Diag%AODDustWL1(I,J,L,S) = tempOD(I,J,L,N,1) ENDIF ENDIF IF ( State_Diag%Archive_AODDustWL2 .AND. W == 2 ) THEN S = State_Diag%Map_AODDustWL2%id2slot(N) IF ( S > 0 ) THEN State_Diag%AODDustWL2(I,J,L,S) = tempOD(I,J,L,N,2) ENDIF ENDIF IF ( State_Diag%Archive_AODDustWL3 .AND. W == 3 ) THEN S = State_Diag%Map_AODDustWL3%id2slot(N) IF ( S > 0 ) THEN State_Diag%AODDustWL3(I,J,L,S) = tempOD(I,J,L,N,3) ENDIF ENDIF ENDDO ! longitude ENDDO ! latitude ENDDO ! level ENDDO ! bin ENDDO ! wavelength !$OMP END PARALLEL DO !--------------------------------------------------- ! Set dust optical depth diagnostic !--------------------------------------------------- IF ( State_Diag%Archive_AODDust ) THEN !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L ) DO L = 1, State_Met%MaxChemLev DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX State_Diag%AODDust(I,J,L) = SUM( tempOD(I,J,L,:,:) ) ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDIF ENDIF ! Archive total dust surface area (sum across all bins) IF ( State_Diag%Archive_AerSurfAreaDust ) THEN !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L ) DO L = 1, State_Met%MaxChemLev DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX State_Diag%AerSurfAreaDust(I,J,L) = SUM( TAREA(I,J,L,1:NDUST) ) ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDIF ! Free pointers IWVREQUIRED => NULL() IWVSELECT => NULL() ACOEF_WV => NULL() BCOEF_WV => NULL() REAA => NULL() QQAA => NULL() SSAA => NULL() ASYMAA => NULL() ODMDUST => NULL() #ifdef RRTMG RTODAER => NULL() RTSSAER => NULL() RTASYMAER => NULL() #endif ERADIUS => NULL() TAREA => NULL() WERADIUS => NULL() WTAREA => NULL() DUST => NULL() END SUBROUTINE RDUST_ONLINE !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: get_dust_alk ! ! !DESCRIPTION: Subroutine GET\_DUST\_ALK returns: (1) dust alkalinity, ! ALK\_d(NDSTBIN) [v/v], (2) rate coefficients, KTS(NDSTBIN), KTN(NDSTBIN), ! for uptake of SO2 and HNO3 on dust for use in sulfate\_mod.f for chemistry ! on dust aerosols, (3) fraction, KTH(NDSTBIN), of the size-weighted total ! area of aerosols in the grid box. GET\_DUST\_ALK is analogous to GET\_ALK ! for seasalt (bec, 12/7/04; tdf 04/08/08) !\\ !\\ ! !INTERFACE: ! SUBROUTINE GET_DUST_ALK( I, J, L, ALK_d, KTS, KTN, KTH, & Input_Opt, State_Met, State_Chm ) ! ! !USES: ! USE CMN_SIZE_MOD, ONLY : NDUST, NDSTBIN USE ERROR_MOD, ONLY : IT_IS_NAN USE Input_Opt_Mod, ONLY : OptInput USE PhysConstants, ONLY : PI, AIRMW USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I, J, L ! Grid box indices TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: ALK_d(NDSTBIN) ! Dust alkalinity [v/v] REAL(fp), INTENT(OUT) :: KTS (NDSTBIN) ! Rate coef for uptake of ! SO2 on dust [s-1] REAL(fp), INTENT(OUT) :: KTN (NDSTBIN) ! Rate coef for uptake of ! HNO3 on dust [s-1] REAL(fp), INTENT(OUT) :: KTH (NDSTBIN) ! Fraction of the size- ! weighted total area ! of aerosols in grid box ! ! !REVISION HISTORY: ! 08 Apr 2008 - T.D. Fairlie- Initial version ! 05 Mar 2025 - D. Zhang - Modified to 7 dust bins ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! REAL(fp), PARAMETER :: MINDAT = 1.d-20 ! Need this for dust !REAL(fp), PARAMETER :: GAMMA_SO2 = 0.05d0 !(Song & Carmichael, 2001) ! 200 times smaller 8/28/2K9 REAL(fp), PARAMETER :: GAMMA_SO2 = 2.5d-4 !tdf V9 4/1/2K9 Applying Song et al.(2007) reduced value REAL(fp), PARAMETER :: GAMMA_H2SO4 = 1.d0 ! Need this for dust !REAL(fp), PARAMETER :: GAMMA_HNO3 = 0.1d0 ! (Song & Carmichael, 2001) ! 200 times smaller 8/28/2K9 REAL(fp), PARAMETER :: GAMMA_HNO3 = 5.0d-4 REAL(fp), PARAMETER :: DG = 0.2d0 ! gas phase diffusion coeff. [cm2/s] REAL(fp), PARAMETER :: v = 3.0d4 ! cm/s ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: IRH INTEGER :: IBIN, ISBIN REAL(fp) :: N1, KT1, KT1N REAL(fp) :: AREA, HGF REAL(fp) :: CONST1, CONST2, CONST REAL(fp) :: AIR_DENS REAL(fp) :: A1, B1, A1N, B1N, T1, R1 REAL(fp) :: DD, RD, DM REAL(fp) :: TOTAL_AREA, DF_TOTAL_AREA REAL(fp) :: DST_d (NDSTBIN), ALK, GAMS, GAMN REAL(fp) :: SULF_AREA, BC_AREA, OC_AREA REAL(fp) :: SULF_RAD, BC_RAD, OC_RAD REAL(fp) :: SULF_FAC, BC_FAC, OC_FAC REAL(fp) :: SSA_AREA, SSC_AREA REAL(fp) :: SSA_RAD, SSC_RAD REAL(fp) :: SSA_FAC, SSC_FAC LOGICAL, SAVE :: FIRST = .TRUE. ! Arrays ! Dust Surface Areas ! tdf 08/20/09 REAL(fp) :: AREA_d(NDSTBIN) ! [cm^2/cm^3] ! Dust Effective Radius ! tdf 08/20/09 REAL(fp) :: RD_d(NDSTBIN) ! [cm] ! Dust size-weighted Surface Areas ! tdf 08/20/09 REAL(fp) :: DF_AREA_d(NDSTBIN) ! [1/s] ! Molecular weights REAL(fp) :: MW_DST ! Pointers TYPE(SpcConc), POINTER :: Spc(:) REAL(fp), POINTER :: ERADIUS(:,:,:,:) REAL(fp), POINTER :: TAREA(:,:,:,:) !================================================================= ! GET_DUST_ALK begins here! !================================================================= ! Initialize pointers Spc => State_Chm%Species ERADIUS => State_Chm%AeroRadi ! Aerosol Radius [cm] TAREA => State_Chm%AeroArea ! Aerosol Area [cm2/cm3] ! Get MWs from species database MW_DST = State_Chm%SpcData(id_DSTbin1)%Info%MW_g ! Zero variables DO IBIN = 1, NDSTBIN ALK_d (IBIN) = 0.0e+0_fp KTS (IBIN) = 0.0e+0_fp KTN (IBIN) = 0.0e+0_fp KTH (IBIN) = 0.0e+0_fp AREA_d (IBIN) = 0.0e+0_fp RD_d (IBIN) = 0.0e+0_fp END DO ! Air density [kg/m3] AIR_DENS = State_Met%AD(I,J,L) / State_Met%AIRVOL(I,J,L) ! Retrieve Dust Alkalinity [v/v dry from Spc array (Update to 7 dust bins. D. Zhang, 5 Mar 2025) ALK_d(1) = Spc(id_DALbin1)%Conc(I,J,L) ALK_d(2) = Spc(id_DALbin2)%Conc(I,J,L) ALK_d(3) = Spc(id_DALbin3)%Conc(I,J,L) ALK_d(4) = Spc(id_DALbin4)%Conc(I,J,L) ALK_d(5) = Spc(id_DALbin5)%Conc(I,J,L) ALK_d(6) = Spc(id_DALbin6)%Conc(I,J,L) ALK_d(7) = Spc(id_DALbin7)%Conc(I,J,L) ! Dust [kg/m3] from Spc, used to compute dust surface area ! Units: (moles/mole).(kg(air)/m3).(kg(dust)/mole)/(kg(air)/mole) ! Update to 7 dust bins (D. Zhang, 5 Mar 2025) DST_d(1) = Spc(id_DSTbin1)%Conc(I,J,L) * AIR_DENS / ( AIRMW / MW_DST ) DST_d(2) = Spc(id_DSTbin2)%Conc(I,J,L) * AIR_DENS / ( AIRMW / MW_DST ) DST_d(3) = Spc(id_DSTbin3)%Conc(I,J,L) * AIR_DENS / ( AIRMW / MW_DST ) DST_d(4) = Spc(id_DSTbin4)%Conc(I,J,L) * AIR_DENS / ( AIRMW / MW_DST ) DST_d(5) = Spc(id_DSTbin5)%Conc(I,J,L) * AIR_DENS / ( AIRMW / MW_DST ) DST_d(6) = Spc(id_DSTbin6)%Conc(I,J,L) * AIR_DENS / ( AIRMW / MW_DST ) DST_d(7) = Spc(id_DSTbin7)%Conc(I,J,L) * AIR_DENS / ( AIRMW / MW_DST ) ! tdf Now get aerosol surface area from TAREA (cm2/cm3) SULF_AREA = TAREA(I,J,L,NDUST+1) BC_AREA = TAREA(I,J,L,NDUST+2) OC_AREA = TAREA(I,J,L,NDUST+3) SSA_AREA = TAREA(I,J,L,NDUST+4) SSC_AREA = TAREA(I,J,L,NDUST+5) ! tdf Now get aerosol effective radius from ERADIUS (cm) SULF_RAD = ERADIUS(I,J,L,NDUST+1) BC_RAD = ERADIUS(I,J,L,NDUST+2) OC_RAD = ERADIUS(I,J,L,NDUST+3) SSA_RAD = ERADIUS(I,J,L,NDUST+4) SSC_RAD = ERADIUS(I,J,L,NDUST+5) ! tdf Quotients [s/cm] used to weight surface area for H2SO4 uptake SULF_FAC = (SULF_RAD / DG + 4.e+0_fp/(V*GAMMA_H2SO4) ) BC_FAC = ( BC_RAD / DG + 4.e+0_fp/(V*GAMMA_H2SO4) ) OC_FAC = ( OC_RAD / DG + 4.e+0_fp/(V*GAMMA_H2SO4) ) SSA_FAC = ( SSA_RAD / DG + 4.e+0_fp/(V*GAMMA_H2SO4) ) SSC_FAC = ( SSC_RAD / DG + 4.e+0_fp/(V*GAMMA_H2SO4) ) !----------------------------------------------------------------------- ! Very Simple Formulation: For each size bin (i) ! tdf 8/20/09 ! Dust Area density = 3 * Dust Mass density / (REFF(i) * DUSTDEN) ! TAREA computed in RDUST_ONLINE - Units: cm^2(dust) / cm^3(air) ! ERADIUS computed in RDUST_ONLINE - Units: cm ! NB: I am now subdividing the submicron dust size bin ! using TAREA (I,J,L,1->4), and ERADIUS (I,J,L,1->4). !----------------------------------------------------------------------- !------------------------------------------------------------------------- ! Find Dust surface area density in grid-box, AREA_d [cm^2/cm^3]. ! Also find the size-weighted surface area density, DF_AREA_d [1/s]. ! The latter represents the gas-phase diffusion and surface ! limited weighting and is used to determine the fraction of H2SO4 ! taken up on dust, versus taken up on other aerosols. ! tdf 08/21/09 !------------------------------------------------------------------------- ! tdf Loop over size bins (NDSTBIN = 4) ! Update to 7 size bins (NDSTBIN = 7) (D. Zhang, 5 Mar 2025) DO IBIN = 1, NDSTBIN ! Dust Area density in grid box, AREA_d [cm^2/cm^3] tdf 8/21/09 ! Dust weighted surface area density, DF_AREA_d [1/s] tdf 8/21/09 T1 = TAREA(I,J,L,IBIN) ! [cm^2/cm^3] R1 = ERADIUS(I,J,L,IBIN) ! [cm] RD_d (IBIN) = R1 AREA_d (IBIN) = T1 ! [cm^2/cm^3] DF_AREA_d(IBIN) = T1 / (R1/DG + 4.0D0/(V*GAMMA_H2SO4)) ! [1/s] END DO ! tdf total aerosol surface area [cm^2/cm^3] ! Update to 7 dust bins (D. Zhang, 5 Mar 2025) TOTAL_AREA = SULF_AREA + BC_AREA + OC_AREA + SSA_AREA + SSC_AREA + & AREA_d(1) + AREA_d(2) + AREA_d(3) + AREA_d(4) + AREA_d(5) + AREA_d(6) + AREA_d(7) ! tdf total surface area weighted by gas-phase diffusion limitation [1/s] DF_TOTAL_AREA = SULF_AREA / SULF_FAC + & BC_AREA / BC_FAC + & OC_AREA / OC_FAC + & SSA_AREA / SSA_FAC + & SSC_AREA / SSC_FAC + & DF_AREA_d(1) + & DF_AREA_d(2) + & DF_AREA_d(3) + & DF_AREA_d(4) + & DF_AREA_d(5) + & DF_AREA_d(6) + & DF_AREA_d(7) ! tdf Total Dust Alkalinity ALK = ALK_d(1) + ALK_d(2) + ALK_d(3) + ALK_d(4) + ALK_d(5) + ALK_d(6) + ALK_d(7) ! [v/v] ! set humidity index IRH as a percent IRH = State_Met%RH(I,J,L) IRH = MAX( 1, IRH ) IRH = MIN( 99, IRH ) ! hygroscopic growth factor for dust: Set to NO GROWTH for now IF ( IRH < 100 ) HGF = 1.0e+0_fp ! tdf Loop over size bins (NDSTBIN = 4) DO IBIN = 1, NDSTBIN !---------------------------------- ! SO2 uptake onto particles !---------------------------------- !tdf 2/11/2K9 !tdf Following relative uptake rates of Preszler-Prince et al.(2007) IF (IRH >= 90 ) THEN GAMS = GAMMA_SO2 * 2.e+0_fp ELSE IF (IRH >= 84 ) THEN GAMS = GAMMA_SO2 * (0.5e+0_fp + 1.5e+0_fp*(IRH-84.e+0_fp)/ & (90.e+0_fp-84.e+0_fp)) ELSE IF (IRH >= 76 ) THEN GAMS = GAMMA_SO2 * (0.16e+0_fp + 0.34e+0_fp*(IRH-76.e+0_fp)/ & (84.e+0_fp-76.e+0_fp)) ELSE IF (IRH >= 33 ) THEN GAMS = GAMMA_SO2 * (0.03e+0_fp + 0.13e+0_fp*(IRH-33.e+0_fp)/ & (76.e+0_fp-33.e+0_fp)) ELSE IF (IRH >= 20 ) THEN GAMS = GAMMA_SO2*0.03e+0_fp ELSE ! 0.0 below 20% GAMS = GAMMA_SO2*0.0e+0_fp ENDIF ! Check for sufficient alkalinity tdf 3/28/2K8 IF ( ALK > MINDAT ) THEN ! calculate gas-to-particle rate constant for uptake of ! SO2 onto dust aerosols [Jacob, 2000] analytical solution ! Corrected based on discussions with Becky tdf 07/14/08 KT1 = 0.0e+0_fp RD = RD_d (IBIN) ! effective radius [cm] AREA = AREA_d (IBIN) ! Dust Surface Area [cm^2/cm^3] ! Prevent divide by zero if GAMS = 0 (tdf, mps, 11/14/13) IF ( GAMS > 0.e+0_fp ) THEN CONST1 = 4.e+0_fp/(V*GAMS) ! Collision [s/cm] CONST2 = RD/DG ! Diffusion [s/cm] CONST = CONST1 + CONST2 KT1 = AREA / CONST ! [cm^2/cm^3] * [cm/s] = [1/s] ELSE KT1 = 0.0e+0_fp ! [cm^2/cm^3] * [cm/s] = [1/s] ENDIF KTS(IBIN) = KT1 ELSE ! If no alkalinity, set rate coefficients to zero !tdf KTS(IBIN) = 0.0e+0_fp ENDIF !---------------------------------- ! HNO3 uptake onto particles !---------------------------------- !tdf 2/11/2K9 !tdf Following uptake coefficients of Liu et al.(2007) IF (IRH >= 80 ) THEN GAMN = GAMMA_HNO3 * 2.1e+0_fp ELSE IF (IRH >= 70 ) THEN GAMN = GAMMA_HNO3 * (1.3e+0_fp + 0.7e+0_fp * & (IRH - 70.e+0_fp)/ 10.e+0_fp) ELSE IF (IRH >= 60 ) THEN GAMN = GAMMA_HNO3 * (1.0e+0_fp + 0.3e+0_fp * & (IRH - 60.e+0_fp)/ 10.e+0_fp) ELSE IF (IRH >= 50 ) THEN GAMN = GAMMA_HNO3 * (0.7e+0_fp + 0.3e+0_fp * & (IRH - 50.e+0_fp)/ 10.e+0_fp) ELSE IF (IRH >= 30 ) THEN GAMN = GAMMA_HNO3 * (0.19e+0_fp + 0.255e+0_fp * & (IRH - 30.e+0_fp)/ 10.e+0_fp) ELSE IF (IRH >= 10 ) THEN GAMN = GAMMA_HNO3 * (0.03e+0_fp + 0.08e+0_fp * & (IRH - 10.e+0_fp)/ 10.e+0_fp) ELSE ! 0.0 below 10% GAMN = GAMMA_HNO3*0.0e+0_fp ENDIF ! Check for sufficient alkalinity tdf 3/28/2K8 IF ( ALK > MINDAT ) THEN ! calculate gas-to-particle rate constant for uptake of ! HNO3 onto dust aerosols [Jacob, 2000] analytical solution ! Corrected based on discussions with Becky tdf 07/14/08 KT1 = 0.0e+0_fp RD = RD_d (IBIN) ! effective radius [cm] AREA = AREA_d (IBIN) ! Dust Surface Area [cm^2/cm^3] ! Prevent divide by zero if GAMN = 0 (tdf, mps, 11/14/13) IF ( GAMN > 0.e+0_fp ) THEN CONST1 = 4.e+0_fp/(V*GAMN) ! Collision [s/cm] CONST2 = RD/DG ! Diffusion [s/cm] CONST = CONST1 + CONST2 KT1 = AREA / CONST ! [cm^2/cm^3] * [cm/s] = [1/s] ELSE KT1 = 0.0e+0_fp ! [cm^2/cm^3] * [cm/s] = [1/s] ENDIF KTN(IBIN) = KT1 ELSE ! If no alkalinity, set rate coefficients to zero !tdf KTN(IBIN) = 0.0e+0_fp ENDIF !---------------------------------- ! H2SO4 uptake onto particles !---------------------------------- ! Uptake not limited by dust alkalinity tdf 3/02/2K9 !tdf As of 08/20/09, we use AREA and size weighted uptake !tdf where now KTH is a fractional uptake for each size bin !tdf with respect to total aerosol surface area. KT1 = DF_AREA_d(IBIN) / DF_TOTAL_AREA ! Fraction KTH(IBIN) = KT1 END DO ! tdf End Loop over size bins ! Free pointers Spc => NULL() ERADIUS => NULL() TAREA => NULL() END SUBROUTINE GET_DUST_ALK !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: init_dust ! ! !DESCRIPTION: Subroutine INIT\_DUST allocates all module arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE INIT_DUST( Input_Opt, State_Chm, State_Diag, State_Grid, RC ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD, ONLY : ALLOC_ERR USE Input_Opt_Mod, ONLY : OptInput USE PhysConstants, ONLY : PI, AIRMW USE Species_Mod, ONLY : Species USE State_Chm_Mod, ONLY : ChmState USE State_Chm_Mod, ONLY : Ind_ USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState #ifdef TOMAS USE TOMAS_MOD, ONLY : Xk #endif ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(IN) :: State_Diag ! Diagnostics State object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 30 Mar 2004 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: AS, N #ifdef TOMAS INTEGER :: I INTEGER :: BIN #endif ! Strings CHARACTER(LEN=255) :: ErrMsg CHARACTER(LEN=255) :: ThisLoc ! Objects TYPE(Species), POINTER :: SpcInfo !================================================================= ! INIT_DUST begins here! !================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = '-> at INIT_DUST (in module GeosCore/dust_mod.F)' SpcInfo => NULL() ! Exit immediately if this is a dry-run IF ( Input_Opt%DryRun ) RETURN !================================================================= ! INITIALIZATION SECTION FOR STANDARD GEOS-CHEM SIMULATION !================================================================= !----------------------------------------------------------------- ! DSTbin1 - DSTbin7 species (fullchem + aerosol simulations) ! ! NOTE: We can consider removing DUSTDEN and DUSTREFF from ! the Input_Opt object at a later point. These can be directly ! obtained from the species database object now. (bmy, 6/20/16) !----------------------------------------------------------------- id_DSTbin1 = Ind_('DSTbin1' ) id_DSTbin2 = Ind_('DSTbin2' ) id_DSTbin3 = Ind_('DSTbin3' ) id_DSTbin4 = Ind_('DSTbin4' ) id_DSTbin5 = Ind_('DSTbin5' ) id_DSTbin6 = Ind_('DSTbin6' ) id_DSTbin7 = Ind_('DSTbin7' ) !----------------------------------------------------------------- ! DSTALbin1 - DSTALbin7 and SO4Dbin1 - SO4Dbin7 species ! (acid uptake simulations only) ! Update to 7 dust bins (D. Zhang, 5 Mar 2025) !----------------------------------------------------------------- id_DALbin1 = Ind_('DSTALbin1' ) id_DALbin2 = Ind_('DSTALbin2' ) id_DALbin3 = Ind_('DSTALbin3' ) id_DALbin4 = Ind_('DSTALbin4' ) id_DALbin5 = Ind_('DSTALbin5' ) id_DALbin6 = Ind_('DSTALbin6' ) id_DALbin7 = Ind_('DSTALbin7' ) ! Error check the dust uptake species IF ( Input_Opt%LDSTUP ) THEN IF ( id_DALbin1 < 0 .or. id_DALbin2 < 0 .or. & id_DALbin3 < 0 .or. id_DALbin4 < 0 .or. & id_DALbin5 < 0 .or. id_DALbin6 < 0 .or. & id_DALbin7 < 0 ) THEN ErrMsg = 'Dust uptake species are undefined!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF #ifdef TOMAS !================================================================= ! INITIALIZATION SECTION FOR TOMAS MICROPHYSICS !================================================================= ! TOMAS species ID flags id_DUST01 = Ind_('DUST01') id_NK01 = Ind_('NK01' ) !---------------------------------- ! Set up FRAC_S (only for Ginoux) !---------------------------------- !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !% NOTE: LDEAD has not been set by HCOI_GC_INIT yet. This code needs % !% to be moved or modified accordingly (mps, 4/9/15) % !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !% NOTE: This code replicates the obsolete Input_Opt%IDDEP field, % !% which has since been removed. TOMAS TEAM please take note. % !% (bmy, 3/17/17) % !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% IF ( .not. Input_Opt%LDEAD ) THEN ! Initialize TOMAS_IDDEP = 0 DO BIN = 1, State_Chm%nTomasBins DO N = 1, State_Chm%nDryDep IF ( State_Chm%Map_DryDep(N) == ( id_NK01-1+BIN ) )THEN TOMAS_IDDEP(BIN) = N GOTO 100 ENDIF ENDDO 100 CONTINUE ENDDO ENDIF #endif #if defined( ESMF_ ) || defined( TOMAS ) ! EXPERIMENTAL: For archiving the dust source for GCHP ! ! Changed to use the ESMF_ flag and not EXTERNAL_GRID/EXTERNAL_FORCING, as ! WRF-GC which uses these flags does not require SRCE_FUNC (hplin, 1/22/19) ALLOCATE( SRCE_FUNC(State_Grid%NX,State_Grid%NY,3), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'SRCE_FUNC' ) SRCE_FUNC = 0.e+0_fp #endif END SUBROUTINE INIT_DUST !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: cleanup_dust ! ! !DESCRIPTION: Subroutine CLEANUP\_DUST deallocates all module arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CLEANUP_DUST ! ! !REVISION HISTORY: ! 30 Mar 2004 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC !================================================================= ! CLEANUP_DUST begins here! !================================================================= IF ( ALLOCATED( FRAC_S ) ) DEALLOCATE( FRAC_S ) IF ( ALLOCATED( SRCE_FUNC ) ) DEALLOCATE( SRCE_FUNC ) END SUBROUTINE CLEANUP_DUST !EOC END MODULE DUST_MOD ================================================ FILE: GeosCore/emissions_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: emissions_mod.F90 ! ! !DESCRIPTION: Module emissions\_mod.F90 is a wrapper module to interface ! GEOS-Chem and HEMCO. It basically just calls the GEOS-Chem - HEMCO interface ! routines. For some specialty sims, a few additional steps are required that ! are also executed here. !\\ !\\ ! !INTERFACE: ! MODULE Emissions_Mod ! ! !USES: ! IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: Emissions_Init PUBLIC :: Emissions_Run PUBLIC :: Emissions_Final ! ! !REVISION HISTORY: ! 27 Aug 2014 - C. Keller - Initial version. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: emissions_init ! ! !DESCRIPTION: Subroutine EMISSIONS\_INIT calls the HEMCO - GEOS-Chem ! interface initialization routines. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Emissions_Init( Input_Opt, State_Chm, State_Grid, State_Met, & RC, HcoConfig ) ! ! !USES: ! USE ErrCode_Mod USE HCO_Interface_GC_Mod, ONLY : HCoi_GC_Init USE HCO_Types_Mod, ONLY : ConfigObj USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Chm_Mod, ONLY : Ind_ USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(ChmState), INTENT(IN ) :: State_Chm ! Chemistry state TYPE(GrdState), INTENT(IN ) :: State_Grid ! Grid state TYPE(MetState), INTENT(IN ) :: State_Met ! Met state ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input opts INTEGER, INTENT(INOUT) :: RC ! Failure or success TYPE(ConfigObj), POINTER, OPTIONAL :: HcoConfig ! HEMCO config object ! ! !REVISION HISTORY: ! 27 Aug 2014 - C. Keller - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc !================================================================= ! EMISSIONS_INIT begins here! !================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Emissions_Init (in module GeosCore/emissions_mod.F90)' ! Initialize the HEMCO environment for this GEOS-Chem run. CALL HCOI_GC_Init( Input_Opt, State_Chm, State_Grid, State_Met, & RC, HcoConfig=HcoConfig ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "HCOI_GC_Init"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF END SUBROUTINE Emissions_Init !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: emissions_run ! ! !DESCRIPTION: Subroutine EMISSIONS\_RUN calls the HEMCO - GEOS-Chem ! interface run routines. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Emissions_Run( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, EmisTime, Phase, RC ) ! ! !USES: ! USE CARBON_MOD, ONLY : EmissCarbon USE Carbon_Gases_Mod, ONLY : CO2_Production USE ErrCode_Mod USE HCO_Interface_GC_Mod, ONLY : HCOI_GC_Run USE Input_Opt_Mod, ONLY : OptInput USE Mercury_Mod, ONLY : EmissMercury USE Precision_Mod USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE Time_Mod, ONLY : Get_Ts_Emis USE Tracer_Mod, ONLY : Tracer_Source_Phase Use SfcVmr_Mod, ONLY : FixSfcVmr_Run #ifdef TOMAS USE CARBON_MOD, ONLY : EmissCarbonTomas USE SULFATE_MOD, ONLY : EmissSulfateTomas #endif ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN ) :: EmisTime ! Emissions in this time step INTEGER, INTENT(IN ) :: Phase ! Run phase TYPE(GrdState), INTENT(IN ) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State object TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input Options object INTEGER, INTENT(INOUT) :: RC ! Failure or success ! ! !REVISION HISTORY: ! 27 Aug 2014 - C. Keller - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc !================================================================= ! EMISSIONS_RUN begins here! !================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Emissions_Run (in module GeosCore/emissions_mod.F90)' ! Run HEMCO. Phase 1 will only update the HEMCO clock and the ! HEMCO data list, phase 2 will perform the emission calculations. CALL HCOI_GC_Run( Input_Opt, State_Chm, State_Grid, & State_Met, EmisTime, Phase, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "HCOI_GC_Run"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Exit if Phase 0 or 1, or if it is a GEOS-Chem dry-run IF ( ( Phase == 1 ) .or. ( Phase == 0 ) .or. Input_Opt%DryRun ) RETURN ! Call carbon emissions module to make sure that sesquiterpene ! emissions calculated in HEMCO (SESQ) are passed to the internal ! species array in carbon, as well as to ensure that POA emissions ! are correctly treated. IF ( Input_Opt%ITS_A_FULLCHEM_SIM .or. & Input_Opt%ITS_AN_AEROSOL_SIM ) THEN CALL EmissCarbon( Input_Opt, State_Chm, State_Grid, State_Met, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "EmissCarbon"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF #ifdef TOMAS ! Call TOMAS emission routines (JKodros 6/2/15) CALL EmissCarbonTomas( Input_Opt, State_Chm, State_Grid, State_Met, & State_Diag, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "EmissCarbonTomas"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF CALL EmissSulfateTomas( Input_Opt, State_Chm, State_Grid, State_Met, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "EmissSulfateTomas"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF #endif ! For transport tracer simulation IF ( Input_Opt%ITS_A_TRACER_SIM ) THEN CALL Tracer_Source_Phase( Input_Opt, State_Chm, State_Grid, & State_Met, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Tracer_Source_Phase"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF ! Carbon simulation (e.g. CO2-CO-CH4-OCS via KPP) ! ! Computes CO2 production from CO oxidation IF ( Input_Opt%ITS_A_CARBON_SIM ) THEN CALL CO2_Production( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Emiss_Carbon_Gases"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF ! For mercury, use old emissions code for now IF ( Input_Opt%ITS_A_MERCURY_SIM ) THEN CALL EmissMercury( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "EmissMercury"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF ! Prescribe some concentrations if needed IF ( Input_Opt%ITS_A_FULLCHEM_SIM ) THEN ! Set other (non-UCX) fixed VMRs If ( Input_Opt%DoEmissions ) Then CALL FixSfcVMR_Run( Input_Opt, State_Chm, State_Grid, State_Met, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "FixSfcVmr_Run"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF ENDIF END SUBROUTINE EMISSIONS_RUN !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: emissions_final ! ! !DESCRIPTION: Subroutine EMISSIONS\_FINAL calls the HEMCO - GEOS-Chem ! interface finalization routines. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Emissions_Final( Error, RC ) ! ! !USES: ! USE ErrCode_Mod USE HCO_Interface_GC_Mod, ONLY : HCOI_GC_Final ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: Error ! Cleanup arrays after crash? ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 27 Aug 2014 - C. Keller - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc !================================================================= ! EMISSIONS_FINAL begins here! !================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at HCOI_GC_Final (in module GeosCore/hcoi_gc_final_mod.F90)' ! Finalize HEMCO CALL HCOI_GC_Final( Error, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "HCOI_GC_Final"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF END SUBROUTINE Emissions_Final !EOC END MODULE Emissions_Mod ================================================ FILE: GeosCore/exchange_mod.F90 ================================================ #ifdef EXCHANGE !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: exchange_mod.F90 ! ! !DESCRIPTION: Module EXCHANGE\_MOD contains variables and routines which ! are used to exchange data between two or more runs (Global Domain and ! Nested Domains), thus to combine them into TWO-WAY nested run. ! (yanyy, 6/18/14) !\\ !\\ ! !INTERFACE: ! MODULE EXCHANGE_MOD ! ! !USES: ! USE PRECISION_MOD IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS ! PUBLIC :: EXCHANGE_GLOBAL_INIT PUBLIC :: EXCHANGE_NESTED_INIT PUBLIC :: EXCHANGE_GLOBAL_POST PUBLIC :: EXCHANGE_NESTED_PRE PUBLIC :: EXCHANGE_NESTED_POST PUBLIC :: ITS_TIME_FOR_EXCHANGE PUBLIC :: INIT_EXCHANGE PUBLIC :: CLEANUP_EXCHANGE ! ! !PRIVATE MEMBER FUNCTIONS: ! ! !REMARKS: ! Diagram: ! ! Global Nested ! Init-------------------------------------------------- ! | ! | wait for unlock wait for unlock ! | ! \-------------------------------------------------- ! ! Loop---------------------------------------------- ! | /--------- ! | phony_ex_global_pre ! | \--------- ! | ! | GEOSCHEM STUFF ! | ! | /--------- ! | | dump for nested ! | | done lock ---------------\ ! | | wait for unlock | ! | | read LBCs ex_nested_pre ! | | (regridded down) | ! | ex_global_post apply LBCs | ! | | ---------------/ ! | | ! | | GEOSCHEM STUFF ! | | ! | | ---------------\ ! | | dump for global(regridded up) ! | | ex_nested_post ! | | done lock | ! | | wait for unlock ---------------/ ! | | read & apply feedback ! | \--------- ! \------------------------------------------------ ! ! ! !REVISION HISTORY: ! 30 Mar 2014 - Y.Y. Yan - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ ! ! !PRIVATE TYPES: ! !================================================================= ! MODULE VARIABLES !================================================================= ! Tmp arrays for exchange. Maybe we only need one array, but the ! code would be more difficult to understand. ! TMP_WINDOW is for unit convert, etc. REAL(fp), ALLOCATABLE :: TMP_WINDOW(:,:,:) !REAL(fp), ALLOCATABLE :: TMP_WINDOW_CH(:,:,:) REAL(fp) :: TMP_WINDOW_CH(37,35,47) !REAL(fp), ALLOCATABLE :: TMP_WINDOW_NA(:,:,:) REAL(fp) :: TMP_WINDOW_NA(41,31,47) REAL(fp), ALLOCATABLE :: TMP_WINDOW_EU(:,:,:) ! Exchange grid size and offset in global domain. ! I{LAT/LONG}_EX is the size of the window region. ! I{LAT/LONG}_OFF_EX is the window region's LR corner grid in ! global domain. INTEGER :: J0_BC, I0_BC INTEGER :: J1_BC, I1_BC INTEGER :: J2_BC, I2_BC INTEGER :: IM_BC, JM_BC INTEGER :: I0_BC_CH,I0_BC_NA,I0_BC_EU INTEGER :: IM_BC_CH,IM_BC_NA,IM_BC_EU INTEGER :: J0_BC_CH,J0_BC_NA,J0_BC_EU INTEGER :: JM_BC_CH,JM_BC_NA,JM_BC_EU ! R{LAT/LONG}_OFF_EX is nested's start offset in the window region, ! not offset from the global region. ! R{LAT/LONG}_OFF_EX is nested's end point offset in the window ! region. Counted in reversed direction. ! RATIO_{LAT/LONG}_EX is the grid size ratio of global/nested REAL(fp) :: RATIO_LONG_EX, RATIO_LAT_EX ! the parameters of boundary when regrid up global domain REAL(fp) :: OFFSET_LONG, OFFSET_LAT LOGICAL :: IS_GLOBAL_DOMAIN LOGICAL :: IS_EXCHANGE CHARACTER*80 :: MY_NAME CHARACTER*80 :: NESTED_CH_NAME = '' CHARACTER*80 :: NESTED_NA_NAME = '' CHARACTER*80 :: NESTED_EU_NAME = '' ! EXCHANGE_DIR is added into the run dir for data exchange CHARACTER*256, PARAMETER :: EXCHANGE_DIR = './exchange' CHARACTER*256 :: DUMP_CSPEC_FNAME = '' CHARACTER*256 :: DUMP_TRACER_FNAME = '' CHARACTER*256 :: LOAD_NA_CSPEC_FNAME = '' CHARACTER*256 :: LOAD_NA_TRACER_FNAME = '' CHARACTER*256 :: LOAD_CH_CSPEC_FNAME = '' CHARACTER*256 :: LOAD_CH_TRACER_FNAME = '' CHARACTER*256 :: LOAD_EU_CSPEC_FNAME = '' CHARACTER*256 :: LOAD_EU_TRACER_FNAME = '' ! For Regrid ! NEW_GRID = REGRID_MAT_L * OLD_GRID * REGRID_MAT_R REAL(fp), ALLOCATABLE :: REGRID_MAT_L(:,:) REAL(fp), ALLOCATABLE :: REGRID_MAT_R(:,:) ! For lock utility in the run dir CHARACTER*256, PARAMETER :: LOCK_DIR = './lock' CHARACTER*256 :: UNLOCK_FNAME CHARACTER*256 :: DONE_FNAME CHARACTER*256 :: KILL_FNAME CHARACTER*256 :: END_FNAME !================================================================= ! MODULE ROUTINES -- follow below the "CONTAINS" statement !================================================================= CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: exchange_global_init ! ! !DESCRIPTION: Global initialization for exchange !\\ !\\ ! !INTERFACE: ! SUBROUTINE EXCHANGE_GLOBAL_INIT() ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC WRITE (*,*) "@@@@@@@@@@@@@@ EXCHANGE_GLOBAL_INIT" CALL DONE_LOCK_ME_UP() CALL WAIT_FOR_UNLOCK() END SUBROUTINE EXCHANGE_GLOBAL_INIT !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: exchange_nested_init ! ! !DESCRIPTION: Nested initialization for exchange !\\ !\\ ! !INTERFACE: ! SUBROUTINE EXCHANGE_NESTED_INIT() ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC WRITE (*,*) "@@@@@@@@@@@@@@ EXCHANGE_NESTED_INIT" CALL DONE_LOCK_ME_UP() CALL WAIT_FOR_UNLOCK() END SUBROUTINE EXCHANGE_NESTED_INIT !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: exchange_global_post ! ! !DESCRIPTION: Carry out the process to communicate the nested simulated ! results back to global model. !\\ !\\ ! !INTERFACE: ! SUBROUTINE EXCHANGE_GLOBAL_POST( Input_Opt, State_Chm, State_Grid, & State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD, ONLY : GC_Error USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE UnitConv_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt TYPE(GrdState), INTENT(IN) :: State_Grid TYPE(MetState), INTENT(IN) :: State_Met ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! ! !REMARKS: ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! WRITE (*,*) "@@@@@@@@@@@@@@ EXCHANGE_GLOBAL_POST" CALL DONE_LOCK_ME_UP() CALL WAIT_FOR_UNLOCK() IF ( IS_EXCHANGE ) THEN ! Convert species units from [kg/kg dry] to [kg] (ewl, 8/13/15) CALL ConvertSpc_KgKgDry_to_Kg( State_Met, State_Chm, RC ) IF ( RC /= GC_SUCCESS ) THEN CALL GC_Error('Unit conversion error', RC, & 'EXCHANGE_GLOBAL_POST in exchange_mod.F') RETURN ENDIF ! mol/cm3 -> mol CALL EX_CONVERT_UNITS_CSPEC( Input_Opt, State_Chm, State_Grid, & State_Met, RC, 1) # if defined ( EXCHANGE_4x5_CH ) || defined ( EXCHANGE_2x25_CH ) CALL EX_READ_AND_APPLY_FEEDBACK( Input_Opt, State_Chm, State_Grid, & State_Met, RC, 1) # endif # if defined ( EXCHANGE_4x5_NA ) || defined ( EXCHANGE_2x25_NA ) CALL EX_READ_AND_APPLY_FEEDBACK( Input_Opt, State_Chm, State_Grid, & State_Met, RC, 2) # endif # if defined ( EXCHANGE_4x5_EU ) || defined ( EXCHANGE_2x25_EU ) CALL EX_READ_AND_APPLY_FEEDBACK( Input_Opt, State_Chm, State_Grid, & State_Met, RC, 3) # endif ! Convert species units back to kg/kg (ewl, 8/13/15) CALL ConvertSpc_Kg_to_KgKgDry( State_Met, State_Chm, RC ) IF ( RC /= GC_SUCCESS ) THEN CALL GC_Error('Unit conversion error', RC, & 'EXCHANGE_GLOBAL_POST in exchange_mod.F') RETURN ENDIF ! mol -> mol/cm3 CALL EX_CONVERT_UNITS_CSPEC( Input_Opt, State_Chm, State_Grid, & State_Met, RC, 2 ) ENDIF IS_EXCHANGE = .TRUE. END SUBROUTINE EXCHANGE_GLOBAL_POST !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: exchange_nested_pre ! ! !DESCRIPTION: Before nested grid exchange !\\ !\\ ! !INTERFACE: ! SUBROUTINE EXCHANGE_NESTED_PRE() ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC WRITE (*,*) "@@@@@@@@@@@@@@ EXCHANGE_NESTED_PRE" CALL WAIT_FOR_UNLOCK() END SUBROUTINE EXCHANGE_NESTED_PRE !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: exchange_nested_post ! ! !DESCRIPTION: After nested-grid exchange !\\ !\\ ! !INTERFACE: ! SUBROUTINE EXCHANGE_NESTED_POST( Input_Opt, State_Chm, State_Grid, & State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD, ONLY : GC_Error USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE UnitConv_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt TYPE(GrdState), INTENT(IN) :: State_Grid TYPE(MetState), INTENT(IN) :: State_Met ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! ! !RETURN VALUE: ! ! ! !REMARKS: ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! WRITE (*,*) "@@@@@@@@@@@@@@ EXCHANGE_NESTED_POST" ! Convert species units from [kg/kg dry] to [kg] (ewl, 8/13/15) CALL ConvertSpc_KgKgDry_to_Kg( State_Met, State_Chm, RC ) IF ( RC /= GC_SUCCESS ) THEN CALL GC_Error('Unit conversion error', RC, & 'EXCHANGE_NESTED_POST in exchange_mod.F') RETURN ENDIF ! mol/cm3->mol CALL EX_CONVERT_UNITS_CSPEC( Input_Opt, State_Chm, State_Grid, & State_Met, RC, 1 ) CALL EX_DUMP_FOR_GLOBAL( Input_Opt, State_Chm, State_Grid, & State_Met, RC ) ! Convert species units back to kg/kg (ewl, 8/13/15) CALL ConvertSpc_Kg_to_KgKgDry( State_Met, State_Chm, RC ) IF ( RC /= GC_SUCCESS ) THEN CALL GC_Error('Unit conversion error', RC, & 'EXCHANGE_NESTED_POST in exchange_mod.F') RETURN ENDIF ! mol -> mol/cm3 CALL EX_CONVERT_UNITS_CSPEC( Input_Opt, State_Chm, State_Grid, & State_Met, RC, 2 ) CALL DONE_LOCK_ME_UP() CALL WAIT_FOR_UNLOCK() END SUBROUTINE EXCHANGE_NESTED_POST !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: its_time_for_exchange ! ! !DESCRIPTION: Returns TRUE if it's time to do the 2-way exchange of data. !\\ !\\ ! !INTERFACE: ! FUNCTION ITS_TIME_FOR_EXCHANGE() ! ! !USES: ! USE TIME_MOD, ONLY : ITS_TIME_FOR_EXCH ! ! !RETURN VALUE: ! LOGICAL :: ITS_TIME_FOR_EXCHANGE ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ITS_TIME_FOR_EXCHANGE = ITS_TIME_FOR_EXCH() END FUNCTION ITS_TIME_FOR_EXCHANGE !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: init_exchange ! ! !DESCRIPTION: Initialization routine. !\\ !\\ ! !INTERFACE: ! SUBROUTINE INIT_EXCHANGE( Input_Opt, State_Grid ) ! ! !USES: ! USE ERROR_MOD USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt TYPE(GrdState), INTENT(IN) :: State_Grid ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: ALLOCATE_RES REAL(fp), ALLOCATABLE :: REGRID_MAT_L_TRANS(:,:) IF ( Input_Opt%amIRoot ) THEN WRITE (*,*) "@@@@@@@@@@@@@@ INIT_EXCHANGE" ENDIF IF ( .not. State_Grid%Nested_Grid ) THEN IS_GLOBAL_DOMAIN = .TRUE. IS_EXCHANGE = .FALSE. MY_NAME = 'GLOBAL' !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! This needs to be updated for FlexGrid (mps, 4/13/19) NESTED_CH_NAME = 'NESTED_CH' NESTED_NA_NAME = 'NESTED_NA' NESTED_EU_NAME = 'NESTED_EU' IF ( Input_Opt%amIRoot ) THEN WRITE( LOAD_CH_CSPEC_FNAME, '(A, A, A, A)' ) & TRIM(EXCHANGE_DIR), & '/dump.cspec.', TRIM(NESTED_CH_NAME), '.dump' WRITE( LOAD_CH_TRACER_FNAME, '(A, A, A, A)' ) & TRIM(EXCHANGE_DIR), & '/dump.tracer.', TRIM(NESTED_CH_NAME), '.dump' WRITE( LOAD_NA_CSPEC_FNAME, '(A, A, A, A)' ) & TRIM(EXCHANGE_DIR), & '/dump.cspec.', TRIM(NESTED_NA_NAME), '.dump' WRITE( LOAD_NA_TRACER_FNAME, '(A, A, A, A)' ) & TRIM(EXCHANGE_DIR), & '/dump.tracer.', TRIM(NESTED_NA_NAME), '.dump' WRITE( LOAD_EU_CSPEC_FNAME, '(A, A, A, A)' ) & TRIM(EXCHANGE_DIR), & '/dump.cspec.', TRIM(NESTED_EU_NAME), '.dump' WRITE( LOAD_EU_TRACER_FNAME, '(A, A, A, A)' ) & TRIM(EXCHANGE_DIR), & '/dump.tracer.', TRIM(NESTED_EU_NAME), '.dump' ENDIF !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ELSE IS_GLOBAL_DOMAIN = .FALSE. MY_NAME = 'NESTED' ENDIF IF ( Input_Opt%amIRoot ) THEN WRITE ( DUMP_CSPEC_FNAME, '(A, A, A, A)' ) TRIM(EXCHANGE_DIR), & '/dump.cspec.', TRIM(MY_NAME), '.dump' WRITE ( DUMP_TRACER_FNAME, '(A, A, A, A)' ) TRIM(EXCHANGE_DIR), & '/dump.tracer.', TRIM(MY_NAME), '.dump' WRITE ( UNLOCK_FNAME, '(A, A, A, A)' ) TRIM(LOCK_DIR), '/key.', & TRIM(MY_NAME), '.key' WRITE ( DONE_FNAME, '(A, A, A, A)' ) TRIM(LOCK_DIR), '/done.', & TRIM(MY_NAME), '.done' WRITE ( KILL_FNAME, '(A, A, A, A)' ) TRIM(LOCK_DIR), '/kill.', & TRIM(MY_NAME), '.kill' WRITE ( END_FNAME, '(A, A, A, A)' ) TRIM(LOCK_DIR), '/end.', & TRIM(MY_NAME), '.end' ENDIF ! size information ! Eventually need to remove hardcoding for FlexGrid (mps, 4/13/19) IF ( TRIM(State_Grid%GridRes) == '4.0x5.0' ) THEN I0_BC_CH = 50 IM_BC_CH = 17 J0_BC_CH = 20 JM_BC_CH = 17 I0_BC_NA = 8 IM_BC_NA = 21 J0_BC_NA = 25 JM_BC_NA = 16 I0_BC_EU = 30 IM_BC_EU = 17 J0_BC_EU = 30 JM_BC_EU = 11 ELSEIF ( TRIM(State_Grid%GridRes) == '2.0x2.5' ) THEN I0_BC_CH = 100 IM_BC_CH = 33 J0_BC_CH = 39 JM_BC_CH = 35 I0_BC_NA = 16 IM_BC_NA = 41 J0_BC_NA = 50 JM_BC_NA = 31 I0_BC_EU = 60 IM_BC_EU = 33 J0_BC_EU = 60 JM_BC_EU = 21 ENDIF !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! This needs to be updated for FlexGrid (mps, 4/13/19) IF ( State_Grid%NestedGrid ) THEN #if defined ( EXCHANGE_4x5_CH ) I0_BC = 50 J0_BC = 20 I2_BC = 67 J2_BC = 37 OFFSET_LONG = 3.25 OFFSET_LAT = 1.5 RATIO_LONG_EX = 7.5d0 RATIO_LAT_EX = 8.0d0 #elif defined ( EXCHANGE_4x5_NA ) I0_BC = 8 J0_BC = 25 I2_BC = 29 J2_BC = 41 OFFSET_LONG = 3.25 OFFSET_LAT = 3.5 RATIO_LONG_EX = 7.5d0 RATIO_LAT_EX = 8.0d0 #elif defined ( EXCHANGE_4x5_EU ) I0_BC = 30 J0_BC = 30 I2_BC = 47 J2_BC = 41 OFFSET_LONG = 3.25 OFFSET_LAT = 3.5 RATIO_LONG_EX = 7.5d0 RATIO_LAT_EX = 8.0d0 #elif defined ( EXCHANGE_2x25_CH ) I0_BC = 100 J0_BC = 39 I2_BC = 133 J2_BC = 74 OFFSET_LONG = 1.375 OFFSET_LAT = 3.5 RATIO_LONG_EX = 3.75d0 RATIO_LAT_EX = 4.0d0 #elif defined ( EXCHANGE_2x25_NA ) I0_BC = 16 J0_BC = 50 I2_BC = 57 J2_BC = 81 OFFSET_LONG = 1.375 OFFSET_LAT = 1.5 RATIO_LONG_EX = 3.75d0 RATIO_LAT_EX = 4.0d0 #elif defined ( EXCHANGE_2x25_EU ) I0_BC = 60 J0_BC = 60 I2_BC = 93 J2_BC = 81 OFFSET_LONG = 1.375 OFFSET_LAT = 1.5 RATIO_LONG_EX = 3.75d0 RATIO_LAT_EX = 4.0d0 #endif I1_BC = I0_BC + 1 J1_BC = J0_BC + 1 IM_BC = I2_BC - I0_BC JM_BC = J2_BC - J0_BC ! generate regrid map ! CHECK: orientation problem... ALLOCATE( REGRID_MAT_L(IM_BC,State_Grid%NX), STAT=ALLOCATE_RES ) IF ( ALLOCATE_RES /= 0 ) THEN CALL GEOS_CHEM_STOP ENDIF ALLOCATE( REGRID_MAT_L_TRANS(State_Grid%NX, IM_BC), STAT=ALLOCATE_RES ) IF ( ALLOCATE_RES /= 0 ) THEN CALL GEOS_CHEM_STOP ENDIF ALLOCATE( REGRID_MAT_R(State_Grid%NY, JM_BC), STAT=ALLOCATE_RES ) IF ( ALLOCATE_RES /= 0 ) THEN CALL GEOS_CHEM_STOP ENDIF CALL GEN_REGRID_MAT( State_Grid%NX, IM_BC, RATIO_LONG_EX, & -OFFSET_LONG, REGRID_MAT_L_TRANS) CALL GEN_REGRID_MAT( State_Grid%NY, JM_BC, RATIO_LAT_EX, & -OFFSET_LAT, REGRID_MAT_R ) REGRID_MAT_L = TRANSPOSE( REGRID_MAT_L_TRANS ) IF(ALLOCATED(REGRID_MAT_L_TRANS)) DEALLOCATE( REGRID_MAT_L_TRANS ) ALLOCATE( TMP_WINDOW(IM_BC, JM_BC, State_Grid%NZ), STAT=ALLOCATE_RES ) IF ( ALLOCATE_RES /= 0 ) THEN CALL GEOS_CHEM_STOP ENDIF ENDIF ! NestedGrid !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% IF ( .not. State_Grid%NestedGrid) THEN #if defined ( EXCHANGE_4x5_CH ) || defined ( EXCHANGE_2x25_CH ) !ALLOCATE( TMP_WINDOW_CH(IM_BC_CH, JM_BC_CH, State_Grid%NZ), & ! STAT=ALLOCATE_RES ) !IF ( ALLOCATE_RES /= 0 ) THEN ! CALL GEOS_CHEM_STOP !ENDIF #endif #if defined ( EXCHANGE_4x5_NA ) || defined ( EXCHANGE_2x25_NA ) !ALLOCATE( TMP_WINDOW_NA(IM_BC_NA, JM_BC_NA, State_Grid%NZ), & ! STAT=ALLOCATE_RES ) !IF ( ALLOCATE_RES /= 0 ) THEN ! CALL GEOS_CHEM_STOP !ENDIF #endif #if defined ( EXCHANGE_4x5_EU ) || defined ( EXCHANGE_2x25_EU ) ALLOCATE( TMP_WINDOW_EU(IM_BC_EU, JM_BC_EU, State_Grid%NZ), & STAT=ALLOCATE_RES ) IF ( ALLOCATE_RES /= 0 ) THEN CALL GEOS_CHEM_STOP ENDIF #endif ENDIF END SUBROUTINE INIT_EXCHANGE !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: cleanup_exchange ! ! !DESCRIPTION: Cleanup routine. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CLEANUP_EXCHANGE( Input_Opt ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! IF ( Input_Opt%amIRoot ) THEN WRITE (*,*) "@@@@@@@@@@@@@@ CLEANUP_EXCHANGE" ENDIF IF( ALLOCATED( TMP_WINDOW ) ) DEALLOCATE( TMP_WINDOW ) IF( ALLOCATED( REGRID_MAT_L ) ) DEALLOCATE( REGRID_MAT_L ) IF( ALLOCATED( REGRID_MAT_R ) ) DEALLOCATE( REGRID_MAT_R ) !IF( ALLOCATED( TMP_WINDOW_CH ) ) DEALLOCATE( TMP_WINDOW_CH ) !IF( ALLOCATED( TMP_WINDOW_NA ) ) DEALLOCATE( TMP_WINDOW_NA ) IF( ALLOCATED( TMP_WINDOW_EU ) ) DEALLOCATE( TMP_WINDOW_EU ) CALL NO_MORE_LOCK() END SUBROUTINE CLEANUP_EXCHANGE !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ex_dump_for_global ! ! !DESCRIPTION: ? !\\ !\\ ! !INTERFACE: ! SUBROUTINE EX_DUMP_FOR_GLOBAL( Input_Opt, State_Chm, State_Grid, & State_Met, RC ) ! ! !USES: ! USE ERROR_MOD USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt TYPE(GrdState), INTENT(IN) :: State_Grid TYPE(MetState), INTENT(IN) :: State_Met ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! TYPE(SpcConc, POINTER :: SPC(:) INTEGER :: L, I,IU_RST !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! NOTE: Species units are in kg/kg dry which may be incompatible with ! functionality prior to tracer removal. Validation needed by 3rd party ! developers (ewl, 8/15/16) !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% SPC => State_Chm%Species IU_RST=2 IF ( Input_Opt%amIRoot ) THEN WRITE (*,*) "@@@@@@@@@@@@@@@@@@ EX_DUMP_FOR_GLOBAL" ENDIF WRITE( 6, 100 ) TRIM(DUMP_CSPEC_FNAME) 100 FORMAT( ' - EXCHANGE: Writing ', A ) CALL OPEN_BIN_FILE_FOR_WRITE( TRIM(DUMP_CSPEC_FNAME) ) IF ( Input_Opt%amIRoot ) THEN WRITE (*,*) "@@@@@@@@@@@@@@@@@@ EX_REGRID_UP_SPECIES --Editing" ENDIF DO L = 1, State_Chm%nSpecies CALL EX_REGRID_UP( State_Grid%NX, State_Grid%NY, IM_BC, JM_BC, & State_Grid%NZ, SPC(L)%Conc, TMP_WINDOW ) CALL WRITE_3D_REAL8_ARRAY( IM_BC, JM_BC, State_Grid%NZ, TMP_WINDOW ) ENDDO CLOSE( 2 ) CALL OPEN_BIN_FILE_FOR_WRITE( TRIM(DUMP_TRACER_FNAME) ) IF ( Input_Opt%amIRoot ) THEN WRITE (*,*) "@@@@@@@@@@@@@@@@@@ EX_REGRID_UP_TRACER --Editing" ENDIF DO L = 1, State_Chm%nAdvect CALL EX_REGRID_UP( State_Grid%NX, State_Grid%NY, IM_BC, JM_BC, & State_Grid%NZ, SPC(L)%Conc, TMP_WINDOW ) CALL WRITE_3D_REAL8_ARRAY( IM_BC, JM_BC, State_Grid%NZ, TMP_WINDOW ) ENDDO CLOSE( IU_RST ) SPC => NULL() IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### WRITE_EXCHANGE: wrote file' ) ENDIF END SUBROUTINE EX_DUMP_FOR_GLOBAL !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ex_read_and_apply_feedback ! ! !DESCRIPTION: ? !\\ !\\ ! !INTERFACE: ! SUBROUTINE EX_READ_AND_APPLY_FEEDBACK( Input_Opt, State_Chm, State_Grid, & State_Met, RC, DOMAIN ) ! ! !USES: ! USE ERROR_MOD USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE FILE_MOD USE TRANSFER_MOD, ONLY : TRANSFER_3D_yan ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt TYPE(GrdState), INTENT(IN) :: State_Grid TYPE(MetState), INTENT(IN) :: State_Met INTEGER, INTENT(IN) :: DOMAIN ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! TYPE(SpcConc), POINTER :: SPC(:) REAL(fp), POINTER :: CSPEC_FULL(:,:,:,:) REAL(fp) :: TMP_WINDOW_CHT(IM_BC_CH,JM_BC_CH,State_Grid%NZ) REAL(fp) :: TMP_WINDOW_NAT(IM_BC_NA,JM_BC_NA,State_Grid%NZ) REAL(fp) :: TMP_WINDOW_EUT(IM_BC_EU,JM_BC_EU,State_Grid%NZ) REAL*4 :: ARRAYTEMPR(576,361,73) INTEGER :: L,IU_RST,IOS INTEGER :: NI,NJ,NK,I,J,K !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! NOTE: Species units are in kg/kg dry which may be incompatible with ! functionality prior to tracer removal. Validation needed by ! 3rd party developers (ewl, 8/15/16) !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% SPC => State_Chm%Species IU_RST=2 IOS=1 NI=IM_BC_CH NJ=JM_BC_CH NK=State_Grid%NZ IF ( Input_Opt%Verbose ) THEN WRITE (*,*) "@@@@@@@@@@@@@@@@@@ EX_READ_AND_APPLY_FEEDBACK" WRITE(*,*) "!!!!!!!!!!FILLING THE SPECIES BOUNDARY" ENDIF ! For Asia nested domain IF ( DOMAIN == 1 ) THEN WRITE( 6, 100 ) TRIM(LOAD_CH_TRACER_FNAME) 100 FORMAT( ' - EXCHANGE: reading ', A ) CALL OPEN_BIN_FILE_FOR_READ( TRIM(LOAD_CH_TRACER_FNAME) ) DO L = 1,State_Chm%nAdvect READ( IU_RST, IOSTAT=IOS ) & ( ( ( ARRAYTEMPR(I,J,K), I=1,NI ), J=1,NJ ), K=1,NK ) CALL TRANSFER_3D_yan & (NI,NJ,NK,ARRAYTEMPR(1:NI,1:NJ,1:NK),TMP_WINDOW_CHT) IF ( IOS /= 0 ) THEN WRITE(6,*) 'EXCHANGE: READ ERROR' !, TRIM(FNAME) CALL IOERROR( IOS, IU_RST, 'EXCHANGE_MOD:READ') ENDIF TMP_WINDOW_CH=TMP_WINDOW_CHT SPC(L)%Conc( I0_BC_CH + 2 : I0_BC_CH + IM_BC_CH-1, & J0_BC_CH + 2 : J0_BC_CH + JM_BC_CH-1, & State_Grid%NZ ) = & TMP_WINDOW_CH(2:IM_BC_CH-1,2:JM_BC_CH-1,State_Grid%NZ) ENDDO CLOSE( IU_RST ) CALL OPEN_BIN_FILE_FOR_READ( TRIM(LOAD_CH_CSPEC_FNAME) ) DO L = 1,State_Chm%nSpecies READ( IU_RST, IOSTAT=IOS ) & ( ( ( ARRAYTEMPR(I,J,K), I=1,NI ), J=1,NJ ), K=1,NK ) CALL TRANSFER_3D_yan & (NI,NJ,NK,ARRAYTEMPR(1:NI,1:NJ,1:NK),TMP_WINDOW_CHT) IF ( IOS /= 0 ) THEN WRITE(6,*) 'EXCHANGE: READ ERROR' !, TRIM(FNAME) CALL IOERROR( IOS, IU_RST, 'EXCHANGE_MOD:READ') ENDIF TMP_WINDOW_CH=TMP_WINDOW_CHT SPC(L)%Conc( I0_BC_CH + 2:I0_BC_CH + IM_BC_CH-1, & J0_BC_CH + 2:J0_BC_CH + JM_BC_CH-1, & State_Grid%NZ ) = & TMP_WINDOW_CH(2:IM_BC_CH-1,2:JM_BC_CH-1,State_Grid%NZ) ENDDO CLOSE( IU_RST ) ! For North America domain ELSE IF ( DOMAIN == 2 ) THEN NI=IM_BC_NA NJ=JM_BC_NA WRITE( 6, 101 ) TRIM(LOAD_NA_CSPEC_FNAME) 101 FORMAT( ' - EXCHANGE: reading ', A ) CALL OPEN_BIN_FILE_FOR_READ( TRIM(LOAD_NA_TRACER_FNAME) ) DO L = 1,State_Chm%nAdvect READ( IU_RST, IOSTAT=IOS ) & ( ( ( ARRAYTEMPR(I,J,K), I=1,NI ), J=1,NJ ), K=1,NK ) CALL TRANSFER_3D_yan & (NI,NJ,NK,ARRAYTEMPR(1:NI,1:NJ,1:NK),TMP_WINDOW_NAT) IF ( IOS /= 0 ) THEN WRITE(6,*) 'EXCHANGE: READ ERROR' !, TRIM(FNAME) CALL IOERROR( IOS, IU_RST, 'EXCHANGE_MOD:READ') ENDIF TMP_WINDOW_NA=TMP_WINDOW_NAT SPC(L)%Conc( I0_BC_NA + 3 : I0_BC_NA + IM_BC_NA-2, & J0_BC_NA + 3 : J0_BC_NA + JM_BC_NA-2, & State_Grid%NZ ) = & TMP_WINDOW_NA(3:IM_BC_NA-2,3:JM_BC_NA-2,State_Grid%NZ) ENDDO CLOSE( IU_RST ) CALL OPEN_BIN_FILE_FOR_READ( TRIM(LOAD_NA_CSPEC_FNAME) ) DO L = 1,State_Chm%nSpecies READ( IU_RST, IOSTAT=IOS ) & ( ( ( ARRAYTEMPR(I,J,K), I=1,NI ), J=1,NJ ), K=1,NK ) CALL TRANSFER_3D_yan & (NI,NJ,NK,ARRAYTEMPR(1:NI,1:NJ,1:NK),TMP_WINDOW_NAT) IF ( IOS /= 0 ) THEN WRITE(6,*) 'EXCHANGE: READ ERROR' !, TRIM(FNAME) CALL IOERROR( IOS, IU_RST, 'EXCHANGE_MOD:READ') ENDIF TMP_WINDOW_NA=TMP_WINDOW_NAT SPC(L)%Conc( I0_BC_NA + 3:I0_BC_NA + IM_BC_NA-2, & J0_BC_NA + 3:J0_BC_NA + JM_BC_NA-2, & State_Grid%NZ ) = & TMP_WINDOW_NA(3:IM_BC_NA-2,3:JM_BC_NA-2,State_Grid%NZ) ENDDO CLOSE( IU_RST ) ! For Europe domain ELSE IF ( DOMAIN == 3 ) THEN NI=IM_BC_EU NJ=JM_BC_EU WRITE( 6, 102 ) TRIM(LOAD_EU_CSPEC_FNAME) 102 FORMAT( ' - EXCHANGE: reading ', A ) CALL OPEN_BIN_FILE_FOR_READ( TRIM(LOAD_EU_TRACER_FNAME) ) DO L = 1,State_Chm%nAdvect READ( IU_RST, IOSTAT=IOS ) & ( ( ( ARRAYTEMPR(I,J,K), I=1,NI ), J=1,NJ ), K=1,NK ) CALL TRANSFER_3D_yan & (NI,NJ,NK,ARRAYTEMPR(1:NI,1:NJ,1:NK),TMP_WINDOW_EUT) IF ( IOS /= 0 ) THEN WRITE(6,*) 'EXCHANGE: READ ERROR' !, TRIM(FNAME) CALL IOERROR( IOS, IU_RST, 'EXCHANGE_MOD:READ') ENDIF TMP_WINDOW_EU=TMP_WINDOW_EUT SPC(L)%Conc( I0_BC_EU + 2 : I0_BC_EU + IM_BC_EU-1, & J0_BC_EU + 2 : J0_BC_EU + JM_BC_EU-1, & State_Grid%NZ ) = & REAL(TMP_WINDOW_EU(2:IM_BC_EU-1,2:JM_BC_EU-1,State_Grid%NZ),8) ENDDO !CLOSE( 2 ) CALL OPEN_BIN_FILE_FOR_READ( TRIM(LOAD_EU_CSPEC_FNAME) ) DO L = 1,State_Chm%nSpecies READ( IU_RST, IOSTAT=IOS ) & ( ( ( ARRAYTEMPR(I,J,K), I=1,NI ), J=1,NJ ), K=1,NK ) CALL TRANSFER_3D_yan & (NI,NJ,NK,ARRAYTEMPR(1:NI,1:NJ,1:NK),TMP_WINDOW_EUT) IF ( IOS /= 0 ) THEN WRITE(6,*) 'EXCHANGE: READ ERROR' !, TRIM(FNAME) CALL IOERROR( IOS, IU_RST, 'EXCHANGE_MOD:READ') ENDIF TMP_WINDOW_EU=TMP_WINDOW_EUT SPC(L)%Conc( I0_BC_EU + 2:I0_BC_EU + IM_BC_EU-1, & J0_BC_EU + 2:J0_BC_EU + JM_BC_EU-1, & State_Grid%NZ ) = & REAL(TMP_WINDOW_EU(2:IM_BC_EU-1,2:JM_BC_EU-1,State_Grid%NZ),8) ENDDO !CLOSE( 2 ) ENDIF IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### read and apply fb: done' ) ENDIF END SUBROUTINE EX_READ_AND_APPLY_FEEDBACK !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ex_regrid_up ! ! !DESCRIPTION: This subroutine will be called within EX\_DUMP\_FOR\_GLOBAL, ! Using module's global vars: REGRID\_MAT\_L, REGRID\_MAT\_R !\\ !\\ ! !INTERFACE: ! SUBROUTINE EX_REGRID_UP( NX_ORIG, NY_ORIG, NX_NEW, NY_NEW, & NZ, ORIG_ARRAY, NEW_ARRAY ) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER, INTENT(IN) :: NX_ORIG, NY_ORIG, NX_NEW, NY_NEW, NZ REAL(fp), INTENT(IN) :: ORIG_ARRAY(NX_ORIG, NY_ORIG, NZ) REAL(fp), INTENT(OUT) :: NEW_ARRAY(NX_NEW, NY_NEW, NZ) INTEGER :: K ! Use direct matrix multiply method for now. !yanyy ,2014,06,10 DO K = 1, NZ NEW_ARRAY(:,:,K) = MATMUL( REGRID_MAT_L, & MATMUL( ORIG_ARRAY(:,:,K), REGRID_MAT_R ) ) ENDDO END SUBROUTINE EX_REGRID_UP !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ex_convert_units_cspec ! ! !DESCRIPTION: Converts molec/cm3/box to fakemass (e.g. convert cspecfull ! to a masslike unit) !\\ !\\ ! !INTERFACE: ! SUBROUTINE EX_CONVERT_UNITS_CSPEC( Input_Opt, State_Chm, State_Grid, & State_Met, RC, FLAG ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt TYPE(MetState), INTENT(IN) :: State_Met TYPE(GrdState), INTENT(IN) :: State_Grid INTEGER, INTENT(IN) :: FLAG ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! ! !RETURN VALUE: ! ! ! !REMARKS: ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! TYPE(SpcConc), POINTER :: SPC(:) REAL(fp) :: SRC(State_Grid%NX,State_Grid%NY,State_Grid%NZ) integer :: L SPC => State_Chm%Species IF ( FLAG == 1 ) THEN DO L = 1, State_Chm%nSpecies SRC( :, :, : ) = SPC(L)%Conc( :, :, : ) !* State_Met%AIRVOL SPC(L)%Conc( :, :, : ) = SRC(:, :, : ) ENDDO ELSE IF (FLAG == 2 ) THEN DO L = 1, State_Chm%nSpecies SRC( :, :, : ) = SPC(L)%Conc( :, :, : ) !/ State_Met%AIRVOL SPC(L)%Conc( :, :, : ) = SRC(:, :, : ) ENDDO END IF NULLIFY(SPC) END SUBROUTINE EX_CONVERT_UNITS_CSPEC !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: wait_for_unlock ! ! !DESCRIPTION: Waits for MPI unlock. !\\ !\\ ! !INTERFACE: ! SUBROUTINE WAIT_FOR_UNLOCK() ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER, PARAMETER :: INTERVAL = 1 LOGICAL :: RES = .FALSE. CHARACTER*512 :: EXT_COMMAND = "" WRITE (*,*) "@@@@@@@@@@@@@@@@@@ WAIT_FOR_UNLOCK" WRITE (*,*) " Waiting for file : ", TRIM(UNLOCK_FNAME) WRITE ( EXT_COMMAND, '(A, A)' ) "rm -f ", TRIM(UNLOCK_FNAME) DO CALL ALERT_FOR_KILL_COMMAND() INQUIRE( FILE = TRIM(UNLOCK_FNAME), EXIST = RES ) IF ( RES .EQV. .TRUE. ) THEN CALL SYSTEM( TRIM(EXT_COMMAND) ) EXIT ELSE CALL SLEEP( INTERVAL ) ENDIF ENDDO END SUBROUTINE WAIT_FOR_UNLOCK !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: done_lock_me_up ! ! !DESCRIPTION: ? !\\ !\\ ! !INTERFACE: ! SUBROUTINE DONE_LOCK_ME_UP() ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC WRITE (*,*) "@@@@@@@@@@@@@@@@@@@ DONE_LOCK_ME_UP" CALL TOUCH_FILE( TRIM(DONE_FNAME) ) END SUBROUTINE DONE_LOCK_ME_UP !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: no_more_lock ! ! !DESCRIPTION: ? !\\ !\\ ! !INTERFACE: ! SUBROUTINE NO_MORE_LOCK() ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC WRITE (*,*) "@@@@@@@@@@@@@@@@@@@ NO_MORE_LOCK" CALL TOUCH_FILE( TRIM(END_FNAME) ) END SUBROUTINE NO_MORE_LOCK !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: alert_for_kill_command ! ! !DESCRIPTION: Stops if there is a kill command issued. !\\ !\\ ! !INTERFACE: ! SUBROUTINE ALERT_FOR_KILL_COMMAND() ! ! !USES: ! USE ERROR_MOD ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! LOGICAL :: RES = .FALSE. CHARACTER*512 :: EXT_COMMAND = '' WRITE ( EXT_COMMAND, '(A, A)' ) 'rm -f ', TRIM( KILL_FNAME ) INQUIRE( FILE = TRIM(KILL_FNAME), EXIST = RES ) IF ( RES .EQV. .TRUE. ) THEN WRITE (*,*) "!!!!!!!!!!!!!!!! Got KILL Command : ", & TRIM(KILL_FNAME), " , STOPPING everything." CALL SYSTEM( TRIM(EXT_COMMAND) ) CALL GEOS_CHEM_STOP() ENDIF END SUBROUTINE ALERT_FOR_KILL_COMMAND !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: touch_file ! ! !DESCRIPTION: Touches a file (i.e. updates the timestamp on disk). !\\ !\\ ! !INTERFACE: ! SUBROUTINE TOUCH_FILE( FNAME ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: FNAME ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER*512 :: EXT_COMMAND = '' WRITE ( EXT_COMMAND, '(A, A)' ) 'touch ' , TRIM(FNAME) CALL SYSTEM( TRIM(EXT_COMMAND) ) END SUBROUTINE TOUCH_FILE !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: open_bin_file_for_read ! ! !DESCRIPTION: Opens a binary file for reading. !\\ !\\ ! !INTERFACE: ! SUBROUTINE OPEN_BIN_FILE_FOR_READ( FNAME ) ! ! !USES: ! USE FILE_MOD ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: FNAME ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: IOS,IU_RST IU_RST = 2 OPEN( IU_RST, FILE=TRIM(FNAME), STATUS='OLD', & IOSTAT=IOS, FORM='UNFORMATTED') IF ( IOS /= 0 ) THEN WRITE(6,*)'Error opening filename=',TRIM(FNAME) CALL FLUSH(6) CALL IOERROR( IOS, IU_RST, 'open_bin_file_for_read:1' ) ENDIF END SUBROUTINE OPEN_BIN_FILE_FOR_READ !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: open_bin_file_for_write ! ! !DESCRIPTION: Opens a binary file for writing. !\\ !\\ ! !INTERFACE: ! SUBROUTINE OPEN_BIN_FILE_FOR_WRITE( FNAME ) ! ! !USES: ! USE FILE_MOD ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: FNAME ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: IOS,IU_RST IU_RST = 2 OPEN( IU_RST, FILE=TRIM(FNAME), STATUS='REPLACE', & IOSTAT=IOS, FORM='UNFORMATTED') IF ( IOS /= 0 ) THEN WRITE(6,*)'Error opening filename=',TRIM(FNAME) CALL FLUSH(6) CALL IOERROR( IOS, IU_RST, 'open_bin_file_for_write:1' ) ENDIF END SUBROUTINE OPEN_BIN_FILE_FOR_WRITE !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: open_bin_file_for_append ! ! !DESCRIPTION: Opens a binary file for appending. !\\ !\\ ! !INTERFACE: ! SUBROUTINE OPEN_BIN_FILE_FOR_APPEND( FNAME ) ! ! !USES: ! USE FILE_MOD ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: FNAME ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: IOS,IU_RST IU_RST=2 OPEN( IU_RST, FILE=TRIM(FNAME), STATUS='UNKNOWN', & IOSTAT=IOS, FORM='UNFORMATTED') IF ( IOS /= 0 ) THEN WRITE(6,*)'Error opening filename=',TRIM(FNAME) CALL FLUSH(6) CALL IOERROR( IOS, IU_RST, 'open_bin_file_for_append:1' ) ENDIF END SUBROUTINE OPEN_BIN_FILE_FOR_APPEND !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: close_bin_file ! ! !DESCRIPTION: Closes a binary file. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CLOSE_BIN_FILE() ! USE FILE_MOD ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: IU_RST IU_RST = 2 CLOSE( IU_RST ) END SUBROUTINE CLOSE_BIN_FILE !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: write_3d_real8_array ! ! !DESCRIPTION: Writes data to a 3-D REAL*8 array. !\\ !\\ ! !INTERFACE: ! SUBROUTINE WRITE_3D_REAL8_ARRAY( NI, NJ, NK, ARRAY ) ! ! !USES: ! USE FILE_MOD ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: NI, NJ, NK REAL(fp), INTENT(IN) :: ARRAY(NI,NJ,NK) REAL(f4) :: ARRAYTEMPW(NI,NJ,NK) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: IU_RST INTEGER :: I, J, L IU_RST = 2 ARRAYTEMPW=REAL(ARRAY,4) WRITE ( IU_RST ) ( ( ( ARRAYTEMPW(I,J,L), I=1,NI ), J=1,NJ ), L=1,NK ) END SUBROUTINE WRITE_3D_REAL8_ARRAY !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: read_3d_real8_array ! ! !DESCRIPTION: Reads data from 3-D REAL*8 array. !\\ !\\ ! !INTERFACE: ! SUBROUTINE READ_3D_REAL8_ARRAY( NI, NJ, NK, ARRAY ) ! ! !USES: ! USE FILE_MOD USE TRANSFER_MOD, ONLY : TRANSFER_3D_yan ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: NI, NJ, NK ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: ARRAY(NI,NJ,NK) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL*4 :: ARRAYTEMPR(576,361,73) REAL(fp), ALLOCATABLE :: ARRAYT(:,:,:) INTEGER :: IU_RST, IOS INTEGER :: I, J, L IU_RST = 2 IOS = 1 ARRAYTEMPR(:,:,:) = 0e0 READ( IU_RST, IOSTAT=IOS ) & ( ( ( ARRAYTEMPR(I,J,L), I=1,NI ), J=1,NJ ), L=1,NK ) CALL TRANSFER_3D_yan(NI,NJ,NK,ARRAYTEMPR(1:NI,1:NJ,1:NK), ARRAYT ) ARRAY(1:NI,1:NJ,1:NK)=ARRAYT(1:NI,1:NJ,1:NK) IF ( IOS /= 0 ) THEN WRITE(6,*) 'EXCHANGE: READ ERROR' !, TRIM(FNAME) CALL IOERROR( IOS, IU_RST, 'EXCHANGE_MOD:READ') ENDIF END SUBROUTINE READ_3D_REAL8_ARRAY !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: gen_regrid_mat ! ! !DESCRIPTION: Regridding utility. !\\ !\\ ! !INTERFACE: ! SUBROUTINE GEN_REGRID_MAT( N1, N2, RATIO, OFFSET, RES ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: N1, N2 REAL(fp), INTENT(IN) :: RATIO, OFFSET ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: RES(N1, N2) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Default for Right Array. REAL(fp) :: BEG_POS, END_POS INTEGER :: M, N RES = 0d0 DO N = 1, N2 BEG_POS = (N-1) * RATIO + 1 + OFFSET END_POS = N * RATIO + 1 + OFFSET DO M = MAX(FLOOR(BEG_POS), 1), MIN(FLOOR(END_POS), N1) RES(M, N) = MIN(DBLE(M+1), END_POS) - MAX(DBLE(M), BEG_POS) END DO END DO END SUBROUTINE GEN_REGRID_MAT !EOC END MODULE EXCHANGE_MOD #endif ================================================ FILE: GeosCore/fast_jx_mod.F90 ================================================ #ifdef FASTJX !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: fjx_mod.F90 ! ! !DESCRIPTION: Module FJX\_MOD contains routines for the Fast-JX scheme ! (Prather et al). Current implementation is version 7.0a. Content in this ! file used to be in fast_jx_mod.F90 but was moved here for development of ! Cloud-J which will replace Fast-JX in GEOS-Chem. This module interfaces ! with fjx_interface_mod. !\\ !\\ ! !INTERFACE: ! MODULE FJX_MOD ! ! !USES: ! USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: PHOTO_JX ! Computes J-values PUBLIC :: SOLAR_JX ! Computes solar zenith angle and solar function PUBLIC :: RD_MIE ! Called in init_fjx PUBLIC :: RD_XXX ! Called in init_fjx PUBLIC :: RD_JS_JX ! Called in init_fjx ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: OPMIE ! Called in Photo_JX PRIVATE :: SPHERE2 ! Called in Photo_JX PRIVATE :: EXTRAL ! Called in Photo_JX PRIVATE :: JRATET ! Called in Photo_JX PRIVATE :: X_INTERP ! Called in both JRATET and PHOTO_JX PRIVATE :: MIESCT ! Called in OPMIE PRIVATE :: BLKSLV ! Called in MIESCT PRIVATE :: GEN_ID ! Called in BLKSLV PRIVATE :: LEGND0 ! Called in MIESCT PRIVATE :: EXITC ! ! !REVISION HISTORY: ! 14 Dec 2022 - E. Lundgren - Adapted from fast_jx_mod ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: photo_jx ! ! !DESCRIPTION: Subroutine PHOTO\_JX is the core subroutine of Fast-JX. ! calc J's for a single column atmosphere (aka Indep Colm Atmos or ICA) ! needs P, T, O3, clds, aersls; adds top-of-atmos layer from climatology ! needs day-fo-year for sun distance, SZA (not lat or long) !\\ !\\ ! !INTERFACE: ! SUBROUTINE PHOTO_JX( amIRoot, dryrun, & U0, REFLB, SZA, SOLF, & P_COL, T_COL, AOD999, ILON, & ILAT, AERX_COL, T_CLIM, OOJ, & ZZJ, DDJ, maxChemLev, State_Chm, & VALJXX, FSBOT, FJBOT, FLXD, & FJFLX, Input_Opt, State_Diag ) ! ! !USES: ! USE CMN_FJX_Mod, ONLY : L_, L1_, A_, N_, W_, X_, AN_ USE CMN_FJX_Mod, ONLY : JXL_, JXL1_, JXL2_, JVN_ USE CMN_FJX_Mod, ONLY : QO2, QO3, NJX, FL, WL, QRAYL USE CMN_FJX_Mod, ONLY : LQQ, TQQ, QAA, PAA, SAA USE CMN_SIZE_Mod, ONLY : NRH, NRHAER USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState ! For NSPAA, QQAA, SSAA, PHAA USE State_Diag_Mod, ONLY : DgnState IMPLICIT NONE ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: amIRoot LOGICAL, INTENT(IN) :: dryrun REAL(fp), INTENT(IN) :: U0,REFLB REAL(fp), INTENT(IN) :: SZA,SOLF REAL(fp), INTENT(IN), DIMENSION(L1_+1 ) :: P_COL REAL(fp), INTENT(IN), DIMENSION(L1_ ) :: T_COL LOGICAL, INTENT(IN) :: AOD999 INTEGER, INTENT(IN) :: ILON, ILAT REAL(fp), INTENT(IN), DIMENSION(AN_,L1_) :: AERX_COL ! Aerosol column REAL(fp), INTENT(IN), DIMENSION(L1_ ) :: T_CLIM ! Clim. temps (K) REAL(fp), INTENT(IN), DIMENSION(L1_ ) :: OOJ ! O3 col depth (#/cm2) REAL(fp), INTENT(IN), DIMENSION(L1_+1 ) :: ZZJ ! Edge alts (cm) REAL(fp), INTENT(IN), DIMENSION(L1_ ) :: DDJ INTEGER, INTENT(IN) :: maxChemLev TYPE(ChmState), INTENT(IN) :: State_Chm TYPE(OptInput), INTENT(IN) :: Input_Opt ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(DgnState), INTENT(INOUT) :: State_Diag ! ! OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT), DIMENSION(L_,JVN_ ) :: VALJXX REAL(fp), INTENT(OUT), DIMENSION(W_ ) :: FSBOT REAL(fp), INTENT(OUT), DIMENSION(W_ ) :: FJBOT REAL(fp), INTENT(OUT), DIMENSION(JXL1_,W_) :: FLXD REAL(fp), INTENT(OUT), DIMENSION(JXL_,W_ ) :: FJFLX ! ! !REMARKS: ! ! !REVISION HISTORY: ! 08 Dec 2022 - E. Lundgren - Adapted from S.D.Eastham's adapted Fast-JX v7.0 ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! -------------------------------------------------------------------- ! key LOCAL atmospheric data needed to solve plane-parallel J---- ! --these are dimensioned JXL_, and must have JXL_ .ge. State_Grid%NZ real(fp), dimension(JXL1_+1) :: PPJ integer,dimension(JXL2_+1) :: JXTRA real(fp), dimension(W_) :: FJTOP,FLXD0,RFL real(fp), dimension(JXL_, W_) :: AVGF real(fp), dimension(JXL1_,W_) :: DTAUX real(fp), dimension(8,JXL1_,W_) :: POMEGAX ! flux/heating arrays (along with FJFLX,FLXD,FLXD0) real(fp) :: ODABS,ODRAY real(fp) :: RFLECT real(fp) :: AMF2(2*JXL1_+1,2*JXL1_+1) ! Pointers REAL*8, POINTER :: QQAA(:,:,:,:) REAL*8, POINTER :: SSAA(:,:,:,:) REAL*8, POINTER :: PHAA(:,:,:,:,:) ! ---------key SCATTERING arrays for clouds+aerosols------------------ real(fp) :: OD(5,JXL1_),SSA(5,JXL1_),SLEG(8,5,JXL1_) real(fp) :: OD600(JXL1_) ! ---------key arrays AFTER solving for J's--------------------------- real(fp) :: FFF(W_,JXL_),VALJ(X_) real(fp) :: VALJL(JXL_,X_) !2-D array of J_s returned by JRATET integer :: L2EDGE, I,J,K,L,M,KMIE,IDXAER,IM,LU INTEGER :: KMIE2, IR real(fp) :: XQO3,XQO2,WAVE, TTTX ! -------------------------------------------------------------------- ! For compatibility with GEOS-Chem (SDE 03/30/13) REAL(fp) :: QSCALING,LOCALOD,LOCALSSA ! T_INPUT: Input temperature (K) with extra layer for compatibility REAL(fp) :: T_INPUT(JXL1_+1) !Maps the new LUT optics wavelengths on to !the 5 jv_spec_mie.dat wavelengths ! N.B. currently 200nm and 300nm data is the same in ! jv_spec_mie.dat, so we copy from new LUT 300nm for both INTEGER :: LUTIDX(5) LUTIDX = (/1,1,2,6,10/) !================================================================= ! PHOTO_JX begins here! !================================================================= ! Initialize L2EDGE = L_ + L_ + 2 FFF(:,:) = 0.e+0_fp ! Set pointers QQAA => State_Chm%Phot%QQAA SSAA => State_Chm%Phot%SSAA PHAA => State_Chm%Phot%PHAA ! Fill out PPJ and TTJ with CTM data to replace fixed climatology DO L=1,L1_ PPJ(L) = P_COL(L) T_INPUT(L) = T_COL(L) ENDDO ! Ensure TOA pressure is zero PPJ(L1_+1) = 0.e+0_fp T_INPUT(L1_+1) = T_CLIM(L1_) ! calculate spherical weighting functions (AMF: Air Mass Factor) RFLECT = REFLB ! -------------------------------------------------------------------- call SPHERE2 (U0,ZZJ,AMF2,L1_,JXL1_) ! -------------------------------------------------------------------- !----------------------------------------------------------------------- ! Modification for GEOS-Chem: Optical depths are calculated at a single ! wavelength for GEOS-Chem, so we perform scaling in this routine. ! elsewhere. ! (SDE 03/31/13) !----------------------------------------------------------------------- ! calculate the optical properties (opt-depth, single-scat-alb, ! phase-fn(1:8)) at the 5 std wavelengths 200-300-400-600-999 nm ! for cloud+aerosols do L = 1,L1_ OD600(L) = 0.e+0_fp ! ODs stored with fine-grain (DTAUX) and coarse (OD) do K=1,W_ DTAUX(L,K) = 0.e+0_fp enddo do K=1,5 OD(K,L) = 0.e+0_fp SSA(K,L) = 0.e+0_fp do I=1,8 SLEG(I,K,L) = 0.e+0_fp enddo enddo enddo ! Clunky fix to accomodate RRTMG and UCX (DAR 01/2015) ! Using a combination of old optics LUT format and ! new optics format (greater spectral resolution and range ! for RRTMG). Clouds, non-species aerosols and strat aerosols ! are not incorporated into the new LUT so must still use the ! old LUT for these. ! Don't bother on extraneous level - leave as zero do L = 1,L_ DO KMIE=1,5 ! Clouds and non-species aerosols DO M=1,3 IF (AERX_COL(M,L).gt.0e+0_fp) THEN IDXAER=State_Chm%Phot%MIEDX(M) ! Cloud (600 nm scaling) QSCALING = QAA(KMIE,IDXAER)/QAA(4,IDXAER) LOCALOD = QSCALING*AERX_COL(M,L) LOCALSSA = SAA(KMIE,IDXAER)*LOCALOD OD(KMIE,L) = OD(KMIE,L) + LOCALOD SSA(KMIE,L)= SSA(KMIE,L) + LOCALSSA DO I=1,8 SLEG(I,KMIE,L) = SLEG(I,KMIE,L) + & (PAA(I,KMIE,IDXAER)*LOCALSSA) ENDDO ! I (Phase function) ENDIF ENDDO ! M (Aerosol) !transpose wavelength indices from the mie LUT !to the new speciated LUT KMIE2=LUTIDX(KMIE) ! Stratospheric aerosols IM=10+(NRHAER*NRH)+1 DO M=IM,IM+1 IDXAER=M-IM+6 !6=SSA/LBS/STS, 7-NAT/ice PSCs IF (AERX_COL(M,L).gt.0d0) THEN IF (AOD999) THEN ! Aerosol/dust (999 nm scaling) ! Fixed to dry radius QSCALING = QQAA(KMIE2,1,IDXAER,State_Chm%Phot%DRg)/QQAA(10,1,IDXAER,State_Chm%Phot%DRg) ELSE ! Aerosol/dust (550 nm scaling) QSCALING = QQAA(KMIE2,1,IDXAER,State_Chm%Phot%DRg)/QQAA(5,1,IDXAER,State_Chm%Phot%DRg) ENDIF LOCALOD = QSCALING*AERX_COL(M,L) LOCALSSA = SSAA(KMIE2,1,IDXAER,State_Chm%Phot%DRg)*LOCALOD OD(KMIE,L) = OD(KMIE,L) + LOCALOD SSA(KMIE,L)= SSA(KMIE,L) + LOCALSSA DO I=1,8 SLEG(I,KMIE,L) = SLEG(I,KMIE,L) + & (PAA(I,KMIE,IDXAER)*LOCALSSA) ENDDO ! I (Phase function) ENDIF ENDDO ! M (Aerosol) ! Mineral dust (from new optics LUT) DO M=4,10 IF (AERX_COL(M,L).gt.0d0) THEN IDXAER=State_Chm%Phot%NSPAA !dust is last in LUT IR=M-3 IF (AOD999) THEN QSCALING = QQAA(KMIE2,IR,IDXAER,State_Chm%Phot%DRg)/ & QQAA(10,IR,IDXAER,State_Chm%Phot%DRg) !1000nm in new .dat ELSE ! Aerosol/dust (550 nm scaling) QSCALING = QQAA(KMIE2,IR,IDXAER,State_Chm%Phot%DRg)/ & QQAA(5,IR,IDXAER,State_Chm%Phot%DRg) !550nm in new .dat ENDIF LOCALOD = QSCALING*AERX_COL(M,L) LOCALSSA = SSAA(KMIE2,IR,IDXAER,State_Chm%Phot%DRg)*LOCALOD OD(KMIE,L) = OD(KMIE,L) + LOCALOD SSA(KMIE,L)= SSA(KMIE,L) + LOCALSSA DO I=1,8 SLEG(I,KMIE,L) = SLEG(I,KMIE,L) + & (PHAA(KMIE2,IR,IDXAER,I,State_Chm%Phot%DRg)*LOCALSSA) ENDDO ! I (Phase function) ENDIF ENDDO ! M (Aerosol) ! Other aerosol (from new optics LUT) DO M=1,5 DO IR=1,5 IDXAER=10+(M-1)*NRH+IR IF (AERX_COL(IDXAER,L).gt.0d0) THEN IF (AOD999) THEN QSCALING = QQAA(KMIE2,IR,M,State_Chm%Phot%DRg)/ & QQAA(10,IR,M,State_Chm%Phot%DRg) !1000nm in new .dat ELSE ! Aerosol/dust (550 nm scaling) QSCALING = QQAA(KMIE2,IR,M,State_Chm%Phot%DRg)/ & QQAA(5,IR,M,State_Chm%Phot%DRg) !550nm in new .dat ENDIF LOCALOD = QSCALING*AERX_COL(IDXAER,L) LOCALSSA = SSAA(KMIE2,IR,M,State_Chm%Phot%DRg)*LOCALOD OD(KMIE,L) = OD(KMIE,L) + LOCALOD SSA(KMIE,L)= SSA(KMIE,L) + LOCALSSA DO I=1,8 SLEG(I,KMIE,L) = SLEG(I,KMIE,L) + & (PHAA(KMIE2,IR,M,I,State_Chm%Phot%DRg)*LOCALSSA) ENDDO ! I (Phase function) ENDIF ENDDO ! IR (RH bins) ENDDO ! M (Aerosol) ENDDO ! KMIE (Mie scattering wavelength bin) ! Normalize DO KMIE=1,5 IF (OD(KMIE,L).gt.0.e+0_fp) THEN SSA(KMIE,L) = SSA(KMIE,L)/OD(KMIE,L) DO I=1,8 SLEG(I,KMIE,L) = SLEG(I,KMIE,L)/OD(KMIE,L) ENDDO ENDIF ENDDO ! Retrieve 600 nm OD to determine added layers OD600(L) = OD(4,L) ENDDO ! L (Layer) ! when combining with Rayleigh and O2-O3 abs, remember the SSA and ! phase fn SLEG are weighted by OD and OD*SSA, respectively. ! Given the aerosol+cloud OD/layer in visible (600 nm) calculate how to add ! additonal levels at top of clouds (now uses log spacing) ! -------------------------------------------------------------------- call EXTRAL(Input_Opt,State_Diag,OD600,L1_,L2EDGE,N_,JXTRA,ILON,ILAT) ! -------------------------------------------------------------------- ! set surface reflectance RFL(:) = max(0.e+0_fp,min(1.e+0_fp,RFLECT)) ! -------------------------------------------------------------------- ! Loop over all wavelength bins to calc mean actinic flux AVGF(L) ! -------------------------------------------------------------------- do K = 1,W_ WAVE = WL(K) ! Pick nearest Mie wavelength to get scattering properites------------ KMIE=1 ! use 200 nm prop for <255 nm if( WAVE .gt. 255.e+0_fp ) KMIE=2 ! use 300 nm prop for 255-355 nm if( WAVE .gt. 355.e+0_fp ) KMIE=3 ! use 400 nm prop for 355-500 nm if( WAVE .gt. 500.e+0_fp ) KMIE=4 if( WAVE .gt. 800.e+0_fp ) KMIE=5 ! Combine: Rayleigh scatters & O2 & O3 absorbers to get optical ! properties values at L1_=L_+1 are a pseudo/climatol layer above ! the top CTM layer (L_) do L = 1,L1_ TTTX = T_CLIM(L) ! Following GEOS-Chem v9-1-3 call X_interp (TTTX,XQO2, TQQ(1,1),QO2(K,1), TQQ(2,1),QO2(K,2), & TQQ(3,1),QO2(K,3), LQQ(1)) call X_interp (TTTX,XQO3, TQQ(1,2),QO3(K,1), TQQ(2,2),QO3(K,2), & TQQ(3,2),QO3(K,3), LQQ(2)) ODABS = XQO3*OOJ(L) + XQO2*DDJ(L)*0.20948e+0_fp ODRAY = DDJ(L)*QRAYL(K) DTAUX(L,K) = OD(KMIE,L) + ODABS + ODRAY ! Aerosols + clouds + O2 + O3 do I=1,8 POMEGAX(I,L,K) = SLEG(I,KMIE,L)*OD(KMIE,L) enddo ! Add Rayleigh scattering effects ! Only non-zero for 1st and 3rd phase functions POMEGAX(1,L,K) = POMEGAX(1,L,K) + 1.0e+0_fp*ODRAY POMEGAX(3,L,K) = POMEGAX(3,L,K) + 0.5e+0_fp*ODRAY ! Normalize do I=1,8 POMEGAX(I,L,K) = POMEGAX(I,L,K)/DTAUX(L,K) enddo enddo enddo ! -------------------------------------------------------------------- LU = L_ call OPMIE(DTAUX,POMEGAX,U0,RFL,AMF2,JXTRA, & AVGF,FJTOP,FJBOT,FSBOT,FJFLX,FLXD,FLXD0,LU) !! -------------------------------------------------------------------- do K = 1,W_ do L = 1,L_ FFF(K,L) = FFF(K,L) + SOLF*FL(K)*AVGF(L,K) enddo enddo ! Calculate photolysis rates call JRATET(PPJ,T_INPUT,FFF, VALJXX,L_,maxChemLev,NJX) ! Set diagnostics for 600 nm optical depth IF ( State_Diag%Archive_OD600 ) THEN State_Diag%OD600(ILON,ILAT,1:L_) = OD600(1:L_) ENDIF IF ( State_Diag%Archive_TCOD600 ) THEN State_Diag%TCOD600(ILON,ILAT) = SUM(OD600(1:L_)) ENDIF ! Free pointers QQAA => NULL() SSAA => NULL() PHAA => NULL() END SUBROUTINE PHOTO_JX !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: solar_jx ! ! !DESCRIPTION: Subroutine SOLAR\_JX handles solar zenith angles. !\\ !\\ ! !INTERFACE: ! SUBROUTINE SOLAR_JX(NDAY,COSSZA,SZA,SOLFX) ! ! !USES: ! USE PhysConstants, ONLY : PI ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: COSSZA INTEGER, INTENT(IN) :: NDAY ! ! !OUTPUT VARIABLES: ! REAL(fp), INTENT(OUT) :: SZA,SOLFX ! ! !REMARKS: ! --------------------------------------------------------------------- ! NDAY = integer day of the year (used for solar lat and declin) ! SZA = solar zenith angle in degrees ! COSSZA = U0 = cos(SZA) ! SOLFX = Solar function ! --------------------------------------------------------------------- ! ! !REVISION HISTORY: ! 28 Mar 2013 - S. D. Eastham - Adapted from Fast-JX v7.0 ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) PI180 !================================================================= ! SOLAR_JX begins here! !================================================================= PI180 = PI/180.e+0_fp SZA = acos(MIN(MAX(COSSZA,-1._fp),1._fp))/PI180 ! Offset used for GEOS-Chem slightly different !SOLFX = 1.e+0_fp-(0.034e+0_fp*cos(dble(NDAY-186)*2.e+0_fp*PI/365.e+0_fp)) SOLFX = 1.e+0_fp-(0.034e+0_fp*cos(dble(NDAY-172) & *2.e+0_fp*PI/365.e+0_fp)) END SUBROUTINE SOLAR_JX !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: rd_mie ! ! !DESCRIPTION: Subroutine RD\_MIE retrieves aerosol scattering data for FJX. !\\ !\\ ! !INTERFACE: ! SUBROUTINE RD_MIE( amIRoot, dryrun, LBRC, NUN, NAMFIL, RC ) ! ! !USES: ! USE CMN_FJX_Mod, ONLY : TITLAA, NAA, PAA, QAA, RAA, SAA, WAA USE ErrCode_Mod ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: amIRoot ! On root thread? LOGICAL, INTENT(IN) :: dryrun ! Dry run to print inputs? LOGICAL, INTENT(IN) :: LBRC ! Brown carbon? INTEGER, INTENT(IN) :: NUN ! Logical unit # CHARACTER(*), INTENT(IN) :: NAMFIL ! File name ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! -------------------------------------------------------------------- ! NAMFIL Name of scattering data file (e.g., FJX_scat.dat) ! NUN Channel number for reading data file ! NAA Number of categories for scattering phase functions ! QAA Aerosol scattering phase functions ! WAA 5 Wavelengths for the supplied phase functions ! PAA Phase function: first 8 terms of expansion ! RAA Effective radius associated with aerosol type ! SAA Single scattering albedo ! -------------------------------------------------------------------- ! ! !REVISION HISTORY: ! 28 Mar 2013 - S. D. Eastham - Adapted from GEOS-Chem v9-1-3 ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: FileExists INTEGER :: I, J, K, NK ! Strings CHARACTER(LEN=78 ) :: TITLE0 CHARACTER(LEN=255) :: FileMsg, ErrMsg, ThisLoc !================================================================= ! In dry-run mode, print file path to dryrun log and exit. ! Otherwise, print file path to stdout and continue. !================================================================= ! Assume success RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at RD_MIE (in module GeosCore/fast_jx_mod.F90)' ! Test if the file exists INQUIRE( FILE=TRIM( NamFil ), EXIST=FileExists ) ! Test if the file exists and define an output string IF ( FileExists ) THEN FileMsg = 'FAST-JX (RD_MIE): Opening' ELSE FileMsg = 'FAST-JX (RD_MIE): REQUIRED FILE NOT FOUND' ENDIF ! Write to stdout for both regular and dry-run simulations IF ( amIRoot ) THEN WRITE( 6, 300 ) TRIM( FileMsg ), TRIM( NamFil ) 300 FORMAT( a, ' ', a ) ENDIF ! For dry-run simulations, return to calling program ! For regular simulations, throw an error if we can't find the file. IF ( dryrun ) THEN RETURN ELSE IF ( .not. FileExists ) THEN WRITE( ErrMsg, 300 ) TRIM( FileMsg ), TRIM( NamFil ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !================================================================= ! RD_MIE begins here -- read data from file !================================================================= ! Open file open (NUN,FILE=NAMFIL,status='old',form='formatted') ! Read header lines READ( NUN,'(A)' ) TITLE0 IF ( amIRoot ) WRITE( 6, '(1X,A)' ) TITLE0 READ( NUN,'(A)' ) TITLE0 !---Read aerosol phase functions: read(NUN,'(A10,I5,/)') TITLE0,NAA NK=5 do j=1,NAA read(NUN,110) TITLAA(j) do k=1,NK read(NUN,*) WAA(k,j),QAA(k,j),RAA(k,j),SAA(k,j), & (PAA(i,k,j),i=1,8) enddo enddo ! Brown carbon option IF (LBRC) THEN ! Overwrite OC entries (36-42 in jv_spec_mie.dat) ! with BR entries at end of file (labeled 57-63) do j= 36, 42 read(NUN,110) TITLAA(j) do k=1,NK read(NUN,*) WAA(k,j),QAA(k,j),RAA(k,j),SAA(k,j), & (PAA(i,k,j),i=1,8) enddo enddo ENDIF close(NUN) IF ( amIRoot ) THEN write(6,'(a,9f8.1)') ' Aerosol optical: r-eff/rho/Q(@wavel):', & (WAA(K,1),K=1,5) do J=1,NAA write(6,'(1x,A)') TRIM(TITLAA(J)) write(6,'(3x,I2,A,9F8.1)') J,' wavel=',(WAA(K,J),K=1,NK) write(6,'(3x,I2,A,9F8.4)') J,' Qext =',(QAA(K,J),K=1,NK) enddo ENDIF 110 format(3x,a80) END SUBROUTINE RD_MIE !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: rd_xxx ! ! !DESCRIPTION: Subroutine RD\_XXX reads in wavelength bins, solar fluxes, ! Rayleigh and temperature-dependent cross-sections. !\\ !\\ ! !INTERFACE: ! SUBROUTINE RD_XXX ( amIRoot, dryrun, NUN, NAMFIL, RC ) ! ! !USES: ! USE CMN_FJX_Mod, ONLY : W_, WX_, X_, NJX, NW1, NW2 USE CMN_FJX_Mod, ONLY : TITLEJX, WL, FL, QRAYL, QO2, QO3, Q1D USE CMN_FJX_Mod, ONLY : LQQ, QQQ, SQQ, TQQ USE ErrCode_Mod ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: amIRoot LOGICAL, INTENT(IN) :: dryrun INTEGER, INTENT(IN) :: NUN CHARACTER(*), INTENT(IN) :: NAMFIL ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! ! !REMARKS: ! NEW v-6.8 now allow 1 to 3 sets of X-sects for T or P ! LQQ = 1, 2, or 3 to determine interpolation with T or P ! IF the temperatures TQQQ are <0, then use as pressure interp (hPa) ! NB - the temperatures and pressures must be increasing ! NEW v-6.4 changed to collapse wavelengths & x-sections to Trop-only: ! WX_ = 18 should match the JX_spec.dat wavelengths ! W_ = 12 (Trop-only) or 18 (std) is set in (CMN_FJX.F). ! if W_=12 then drop strat wavels, and drop x-sects (e.g. N2O, ...) ! W_ = 8, reverts to quick fix: fast-J (12-18) plus bin (5) scaled ! . ! -------------------------------------------------------------------- ! NAMFIL Name of spectral data file (FJX_spec.dat) >> j2 for fast-J2 ! NUN Channel number for reading data file ! ! NJX Number of species to calculate J-values for ! NWWW Number of wavelength bins, from 1:NWWW ! WBIN Boundaries of wavelength bins ! WL Centres of wavelength bins - 'effective wavelength' ! FL Solar flux incident on top of atmosphere (cm-2.s-1) ! QRAYL Rayleigh parameters (effective cross-section) (cm2) ! QO2 O2 cross-sections ! QO3 O3 cross-sections ! Q1D O3 => O(1D) quantum yield ! TQQ Temperature for supplied cross sections ! QQQ Supplied cross sections in each wavelength bin (cm2) ! -------------------------------------------------------------------- ! ! !REVISION HISTORY: ! 28 Mar 2013 - S. D. Eastham - Copied from Fast-JX v7.0 ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: FileExists INTEGER :: I, J, JJ, K, IW, NQRD, NWWW, LQ REAL(fp) :: TQQ2 ! Arrays REAL(fp) :: QQ2(199) ! Strings CHARACTER(LEN=255) :: FileMsg, FileStatus CHARACTER(LEN=255) :: ErrMsg, ThisLoc CHARACTER(LEN=78) :: TITLE0 CHARACTER(LEN=6 ) :: TITLEJ2, TITLEJ3 CHARACTER(LEN=1 ) :: TSTRAT !================================================================= ! In dry-run mode, print file path to dryrun log and exit. ! Otherwise, print file path to stdout and continue. !================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = '-> at RD_XXX (in module GeosCore/fast_jx_mod.F)' ! Test if the file exists INQUIRE( FILE=TRIM( NamFil ), EXIST=FileExists ) ! Test if the file exists and define an output string IF ( FileExists ) THEN FileMsg = 'FAST-JX (RD_XXX): Opening' ELSE FileMsg = 'FAST-JX (RD_XXX): REQUIRED FILE NOT FOUND' ENDIF ! Write to stdout for both regular and dry-run simulations IF ( amIRoot ) THEN WRITE( 6, 300 ) TRIM( FileMsg ), TRIM( NamFil ) 300 FORMAT( a, ' ', a ) ENDIF ! For dry-run simulations, return to calling program. ! For regular simulations, throw an error if we can't find the file. IF ( dryrun ) THEN RETURN ELSE IF ( .not. FileExists ) THEN WRITE( ErrMsg, 300 ) TRIM( FileMsg ), TRIM( NamFil ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !================================================================= ! RD_XXX begins here! !================================================================= ! Initialization TQQ(:,:) = 0.e+0_fp ! -------spectral data----set for new format data------------------ ! note that X_ = max # Xsects read in ! NJX = # fast-JX J-values derived from this (.le. X_) ! >>>> W_ = 12 <<<< means trop-only, discard WL #1-4 and #9-10, some X-sects ! Open file open (NUN,FILE=NAMFIL,status='old',form='formatted') read (NUN,100) TITLE0 ! -note that NQRD is not used any more, a read until 'endofJ' is performed read (NUN,101) NQRD,NWWW NW1 = 1 NW2 = NWWW IF ( amIRoot ) THEN write(6,'(1x,a)') TITLE0 write(6,'(i8)') NWWW ENDIF ! -J-values: 1=O2, 2=O3P,3=O3D 4=readin Xsects read (NUN,102) (WL(IW),IW=1,NWWW) read (NUN,102) (FL(IW),IW=1,NWWW) read (NUN,102) (QRAYL(IW),IW=1,NWWW) ! Read O2 X-sects, O3 X-sects, O3=>O(1D) quant yields (each at 3 temps) ! NB the O3 and q-O3-O1D are at different temperatures and cannot be combined read (NUN,103) TITLEJX(1),TQQ(1,1), (QO2(IW,1),IW=1,NWWW) read (NUN,103) TITLEJ2, TQQ(2,1), (QO2(IW,2),IW=1,NWWW) read (NUN,103) TITLEJ3, TQQ(3,1), (QO2(IW,3),IW=1,NWWW) read (NUN,103) TITLEJX(2),TQQ(1,2), (QO3(IW,1),IW=1,NWWW) read (NUN,103) TITLEJ2, TQQ(2,2), (QO3(IW,2),IW=1,NWWW) read (NUN,103) TITLEJ3, TQQ(3,2), (QO3(IW,3),IW=1,NWWW) read (NUN,103) TITLEJX(3),TQQ(1,3), (Q1D(IW,1),IW=1,NWWW) read (NUN,103) TITLEJ2, TQQ(2,3), (Q1D(IW,2),IW=1,NWWW) read (NUN,103) TITLEJ3, TQQ(3,3), (Q1D(IW,3),IW=1,NWWW) SQQ(1) = ' ' SQQ(2) = ' ' SQQ(3) = ' ' LQQ(1) = 3 LQQ(2) = 3 LQQ(3) = 3 ! Read remaining species: X-sections at 1-2-3 T_s JJ = 3 do I=1,9999 ! try to read in 3 X-sects per J-value (JJ) read (NUN,104) TITLEJ2,TSTRAT,TQQ2,(QQ2(IW),IW=1,NWWW) if (TITLEJ2 .eq. 'endofJ') goto 1 ! skip stratosphere only J's (denoted by 'x')if W_<18 => trop-only J's if (W_.eq.18 .or. TSTRAT.ne.'x') then if (TITLEJ2 .ne. TITLEJX(JJ)) then JJ = JJ+1 if (JJ .gt. X_) then call EXITC(' RD_XXX: X_ not large enough for Xsects read in') endif TITLEJX(JJ) = TITLEJ2 LQQ(JJ) = 1 SQQ(JJ) = TSTRAT LQ = LQQ(JJ) TQQ(LQ,JJ) = TQQ2 do IW = 1,NWWW QQQ(IW,LQ,JJ) = QQ2(IW) enddo else LQQ(JJ) = LQQ(JJ)+1 if (LQQ(JJ) .le. 3) then LQ = LQQ(JJ) TQQ(LQ,JJ) = TQQ2 do IW = 1,NWWW QQQ(IW,LQ,JJ) = QQ2(IW) enddo endif endif endif enddo 1 continue NJX = JJ do J = 1,NJX if ( amIRoot ) then write(6,200) J,TITLEJX(J),SQQ(J),LQQ(J),(TQQ(I,J),I=1,LQQ(J)) endif ! need to check that TQQ is monotonically increasing: if (LQQ(J) .eq. 3) then if (TQQ(2,J) .ge. TQQ(3,J)) then call EXITC ('TQQ out of order') endif if (TQQ(1,J) .ge. TQQ(2,J)) then call EXITC ('TQQ out of order') endif endif if (LQQ(J) .eq. 2) then if (TQQ(1,J) .ge. TQQ(2,J)) then call EXITC ('TQQ out of order') endif endif enddo ! check on doingpressure interp ! check on consolidating Qo2 and others into ! wrte a newFJX_J2J.dat for mapping on fjx Xsects ! truncate number of wavelengths to do troposphere-only if (W_ .ne. WX_) then ! TROP-ONLY if (W_ .eq. 12) then if ( amIRoot ) then write(6,'(a)') & ' >>>TROP-ONLY reduce wavelengths to 12, drop strat X-sects' endif NW2 = 12 do IW = 1,4 WL(IW) = WL(IW+4) FL(IW) = FL(IW+4) QRAYL(IW) = QRAYL(IW+4) do K = 1,3 QO2(IW,K) = QO2(IW+4,K) QO3(IW,K) = QO3(IW+4,K) Q1D(IW,K) = Q1D(IW+4,K) enddo do J = 4,NJX do LQ=1,LQQ(J) QQQ(IW,LQ,J) = QQQ(IW+4,LQ,J) enddo enddo enddo do IW = 5,12 WL(IW) = WL(IW+6) FL(IW) = FL(IW+6) QRAYL(IW) = QRAYL(IW+6) do K = 1,3 QO2(IW,K) = QO2(IW+6,K) QO3(IW,K) = QO3(IW+6,K) Q1D(IW,K) = Q1D(IW+6,K) enddo do J = 4,NJX do LQ=1,LQQ(J) QQQ(IW,LQ,J) = QQQ(IW+6,LQ,J) enddo enddo enddo ! TROP-QUICK (must scale solar flux for W=5) elseif (W_ .eq. 8) then if ( amIRoot ) then write(6,'(a)') & ' >>>TROP-QUICK reduce wavelengths to 8, drop strat X-sects' endif NW2 = 8 do IW = 1,1 WL(IW) = WL(IW+4) FL(IW) = FL(IW+4) * 2.e+0_fp QRAYL(IW) = QRAYL(IW+4) do K = 1,3 QO2(IW,K) = QO2(IW+4,K) QO3(IW,K) = QO3(IW+4,K) Q1D(IW,K) = Q1D(IW+4,K) enddo do J = 4,NJX do LQ=1,LQQ(J) QQQ(IW,LQ,J) = QQQ(IW+4,LQ,J) enddo enddo enddo do IW = 2,8 WL(IW) = WL(IW+10) FL(IW) = FL(IW+10) QRAYL(IW) = QRAYL(IW+10) do K = 1,3 QO2(IW,K) = QO2(IW+10,K) QO3(IW,K) = QO3(IW+10,K) Q1D(IW,K) = Q1D(IW+10,K) enddo do J = 4,NJX do LQ=1,LQQ(J) QQQ(IW,LQ,J) = QQQ(IW+10,LQ,J) enddo enddo enddo else call EXITC(' no. wavelengths wrong: W_ .ne. 8,12,18') endif endif close(NUN) 100 format(a) 101 format(10x,5i5) 102 format(10x, 6e10.3/(10x,6e10.3)/(10x,6e10.3)) 103 format(a6,1x,f3.0,6e10.3/(10x,6e10.3)/(10x,6e10.3)) 104 format(a6,a1,f3.0,6e10.3/(10x,6e10.3)/(10x,6e10.3)) 200 format(1x,' x-sect:',i3,a10,a4,i5,3(3x,f6.2)) 201 format(' Number of x-sections supplied to Fast-J2: ',i3,/, & ' Maximum number allowed (X_) only set to: ',i3, & ' - increase in cmn_FJX.f') END SUBROUTINE RD_XXX !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: rd_js_jx ! ! !DESCRIPTION: Subroutine RD\_JS\_JX reads in 'FJX\_j2j.dat', which defines ! the mapping of Fast-JX J's (TITLEJX(1:NJX)) onto the CTM reactions. ! Reaction number JJ, named T\_REACT, uses Fast-JX's T\_FJX (including scaling ! factor F\_FJX). !\\ !\\ ! !INTERFACE: ! SUBROUTINE RD_JS_JX( amIRoot, dryrun, NUNIT, NAMFIL, TITLEJX, NJXX, RC ) ! ! !USES: ! USE CMN_FJX_Mod, ONLY : M2_, JVN_, JIND USE CMN_FJX_Mod, ONLY : JLABEL, JFACTA, NRATJ, BRANCH, RNAMES USE Charpak_Mod, ONLY : CStrip USE ErrCode_Mod ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: amIRoot LOGICAL, INTENT(IN) :: dryrun INTEGER, INTENT(IN) :: NUNIT INTEGER, INTENT(IN) :: NJXX CHARACTER(LEN=*), INTENT(IN) :: NAMFIL CHARACTER(LEN=6), INTENT(IN), DIMENSION(NJXX) :: TITLEJX ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! ! !REMARKS: ! Now flag special reactions that are to be adjusted for FlexChem later. ! ! !REVISION HISTORY: ! 28 Mar 2013 - S. D. Eastham - Copied from Fast-JX v7.0 ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: FileExists INTEGER :: J, JJ, K REAL(fp) :: F_FJX ! Strings CHARACTER(LEN=6 ) :: T_FJX CHARACTER(LEN=50 ) :: T_REACT CHARACTER(LEN=50 ) :: TEXT CHARACTER(LEN=120) :: CLINE CHARACTER(LEN=255) :: ErrMsg, ThisLoc, FileMsg ! String arrays CHARACTER(LEN=6) :: JMAP(JVN_) !======================================================================== ! RD_JS_JX begins here! !======================================================================== ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Rd_Js_Jx (in module GeosCore/fast_jx_mod.F90)' !======================================================================== ! In dry-run mode, print file path to dryrun log and exit. ! Otherwise, print file path to stdout and continue. !======================================================================== ! Test if the file exists INQUIRE( FILE=TRIM( NamFil ), EXIST=FileExists ) ! Test if the file exists and define an output string IF ( FileExists ) THEN FileMsg = 'FAST-JX (RD_JS_JX): Opening' ELSE FileMsg = 'FAST-JX (RD_JS_JX): REQUIRED FILE NOT FOUND' ENDIF ! Write to stdout for both regular and dry-run simulations IF ( amIRoot ) THEN WRITE( 6, 300 ) TRIM( FileMsg ), TRIM( NamFil ) 300 FORMAT( a, ' ', a ) ENDIF ! For dry-run simulations, return to calling program. ! For regular simulations, throw an error if we can't find the file. IF ( dryrun ) THEN RETURN ELSE IF ( .not. FileExists ) THEN WRITE( ErrMsg, 300 ) TRIM( FileMsg ), TRIM( NamFil ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !======================================================================== ! Read the FJX_j2j.dat file to map model specific J's onto fast-JX J's ! The chemistry code title describes fully the reaction (a50) ! Blank (unfilled) chemistry J's are unmapped ! The number NRATJ is the last JJ readin that is .le. JVN ! include fractional quantum yield for the fast-JX J's !======================================================================== JLABEL(:) = '------' JMAP(:) = '------' JFACTA(:) = 0.e+0_fp ! Open file open (NUNIT,file=NAMFIL,status='old',form='formatted') read (NUNIT,'(a)') CLINE IF ( amIRoot ) THEN write(6,'(a)') CLINE ENDIF do J = 1,JVN_ read (NUNIT,'(i4,1x,a50,4x,f5.3,2x,a6)') JJ,T_REACT,F_FJX,T_FJX IF (JJ.gt.JVN_) THEN IF ( JJ .eq. 9999 ) THEN close(NUNIT) exit ELSE ErrMsg = 'Number of reactions in FJX_j2j.dat exceeds JVN_.' //& 'Adjust JVN_ in CMN_FJX_mod.F90 to get past error.' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF JLABEL(JJ) = T_REACT JFACTA(JJ) = F_FJX JMAP(JJ) = T_FJX NRATJ = JJ ! SDE 03/31/13: Check number of branches ! Note that the order of the branches in ! globchem.dat must match the order in ! FJX_j2j.dat READ (T_REACT(1:10),"(a10)") RNAMES(JJ) RNAMES(JJ) = TRIM(RNAMES(JJ)) BRANCH(JJ) = 1 DO K=1,(JJ-1) IF (RNAMES(JJ) == RNAMES(K)) THEN BRANCH(JJ) = BRANCH(K) + 1 ENDIF ENDDO enddo 20 close(NUNIT) ! Zero / Set index arrays that map Jvalue(j) onto rates do K = 1,NRATJ JIND(K) = 0 do J = 1,NJXX T_FJX = TITLEJX(J) if (JMAP(K) .eq. TITLEJX(J)) then JIND(K)=J endif enddo enddo IF ( amIRoot ) THEN write(6,'(a,i4,a)')'Photochemistry Scheme with',NRATJ,' J-values' ENDIF do K=1,NRATJ if (JMAP(K) .ne. '------' ) then J = JIND(K) IF ( amIRoot ) THEN if (J.eq.0) then write(6,'(i5,1x,a50,f6.3,a,1x,a6)') K,JLABEL(K),JFACTA(K), & ' no mapping onto fast-JX',JMAP(K) else write(6,'(i5,1x,a50,f6.3,a,i4,1x,a6)') K,JLABEL(K),JFACTA(K), & ' mapped to FJX:',J,TITLEJX(J) endif ENDIF endif enddo END SUBROUTINE RD_JS_JX !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: blkslv ! ! !DESCRIPTION: Subroutine BLKSLV solves the block tri-diagonal system !\\ !\\ ! !INTERFACE: ! SUBROUTINE BLKSLV(FJ,POMEGA,FZ,ZTAU,ZFLUX,RFL,PM,PM0,FJTOP,FJBOT,ND) ! ! !USES: ! USE CMN_FJX_Mod, ONLY : EMU, M_, M2_, N_, W_, WT ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: ND REAL(fp), INTENT(IN) :: POMEGA(M2_,N_,W_) REAL(fp), INTENT(IN) :: FZ(N_,W_) REAL(fp), INTENT(IN) :: ZTAU(N_,W_) REAL(fp), INTENT(IN) :: PM(M_,M2_) REAL(fp), INTENT(IN) :: PM0(M2_) REAL(fp), INTENT(IN) :: RFL(W_) REAL(fp), INTENT(IN) :: ZFLUX(W_) ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: FJ(N_,W_) REAL(fp), INTENT(OUT) :: FJTOP(W_) REAL(fp), INTENT(OUT) :: FJBOT(W_) ! ! !REMARKS: ! The block tri-diagonal system: ! A(I)*X(I-1) + B(I)*X(I) + C(I)*X(I+1) = H(I) ! ! !REVISION HISTORY: ! 27 Mar 2013 - S. D. Eastham - Copied from GEOS-Chem v9-01-03 ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp), DIMENSION(M_,N_,W_) :: A,C,H, RR REAL(fp), DIMENSION(M_,M_,N_,W_) :: B,AA,CC, DD REAL(fp), DIMENSION(M_,M_) :: E REAL(fp) SUMB,SUMBX,SUMT INTEGER I, J, K, L !================================================================= ! BLKSLV begins here! !================================================================= do K = 1,W_ call GEN_ID (POMEGA(1,1,K),FZ(1,K),ZTAU(1,K),ZFLUX(K),RFL(K), & PM,PM0, B(1,1,1,K),CC(1,1,1,K),AA(1,1,1,K), & A(1,1,K),H(1,1,K),C(1,1,K), ND) enddo do K = 1,W_ ! UPPER BOUNDARY L=1 L = 1 do J = 1,M_ do I = 1,M_ E(I,J) = B(I,J,1,K) enddo enddo ! setup L & U matrices E(2,1) = E(2,1)/E(1,1) E(2,2) = E(2,2)-E(2,1)*E(1,2) E(2,3) = E(2,3)-E(2,1)*E(1,3) E(2,4) = E(2,4)-E(2,1)*E(1,4) E(3,1) = E(3,1)/E(1,1) E(3,2) = (E(3,2)-E(3,1)*E(1,2))/E(2,2) E(3,3) = E(3,3)-E(3,1)*E(1,3)-E(3,2)*E(2,3) E(3,4) = E(3,4)-E(3,1)*E(1,4)-E(3,2)*E(2,4) E(4,1) = E(4,1)/E(1,1) E(4,2) = (E(4,2)-E(4,1)*E(1,2))/E(2,2) E(4,3) = (E(4,3)-E(4,1)*E(1,3)-E(4,2)*E(2,3))/E(3,3) E(4,4) = E(4,4)-E(4,1)*E(1,4)-E(4,2)*E(2,4)-E(4,3)*E(3,4) ! invert L E(4,3) = -E(4,3) E(4,2) = -E(4,2)-E(4,3)*E(3,2) E(4,1) = -E(4,1)-E(4,2)*E(2,1)-E(4,3)*E(3,1) E(3,2) = -E(3,2) E(3,1) = -E(3,1)-E(3,2)*E(2,1) E(2,1) = -E(2,1) ! invert U E(4,4) = 1.e+0_fp/E(4,4) E(3,4) = -E(3,4)*E(4,4)/E(3,3) E(3,3) = 1.e+0_fp/E(3,3) E(2,4) = -(E(2,3)*E(3,4)+E(2,4)*E(4,4))/E(2,2) E(2,3) = -E(2,3)*E(3,3)/E(2,2) E(2,2) = 1.e+0_fp/E(2,2) E(1,4) = -(E(1,2)*E(2,4)+E(1,3)*E(3,4)+E(1,4)*E(4,4))/E(1,1) E(1,3) = -(E(1,2)*E(2,3)+E(1,3)*E(3,3))/E(1,1) E(1,2) = -E(1,2)*E(2,2)/E(1,1) E(1,1) = 1.e+0_fp/E(1,1) ! multiply U-invers * L-inverse E(1,1) = E(1,1)+E(1,2)*E(2,1)+E(1,3)*E(3,1)+E(1,4)*E(4,1) E(1,2) = E(1,2)+E(1,3)*E(3,2)+E(1,4)*E(4,2) E(1,3) = E(1,3)+E(1,4)*E(4,3) E(2,1) = E(2,2)*E(2,1)+E(2,3)*E(3,1)+E(2,4)*E(4,1) E(2,2) = E(2,2)+E(2,3)*E(3,2)+E(2,4)*E(4,2) E(2,3) = E(2,3)+E(2,4)*E(4,3) E(3,1) = E(3,3)*E(3,1)+E(3,4)*E(4,1) E(3,2) = E(3,3)*E(3,2)+E(3,4)*E(4,2) E(3,3) = E(3,3)+E(3,4)*E(4,3) E(4,1) = E(4,4)*E(4,1) E(4,2) = E(4,4)*E(4,2) E(4,3) = E(4,4)*E(4,3) do J = 1,M_ do I = 1,M_ DD(I,J,1,K) = -E(I,1)*CC(1,J,1,K)-E(I,2)*CC(2,J,1,K) & -E(I,3)*CC(3,J,1,K)-E(I,4)*CC(4,J,1,K) enddo RR(J,1,K) = E(J,1)*H(1,1,K)+E(J,2)*H(2,1,K) & + E(J,3)*H(3,1,K)+E(J,4)*H(4,1,K) enddo ! CONTINUE THROUGH ALL DEPTH POINTS ID=2 TO ID=ND-1 do L = 2,ND-1 do J = 1,M_ do I = 1,M_ B(I,J,L,K) = B(I,J,L,K) + A(I,L,K)*DD(I,J,L-1,K) enddo H(J,L,K) = H(J,L,K) - A(J,L,K)*RR(J,L-1,K) enddo do J = 1,M_ do I = 1,M_ E(I,J) = B(I,J,L,K) enddo enddo ! setup L & U matrices E(2,1) = E(2,1)/E(1,1) E(2,2) = E(2,2)-E(2,1)*E(1,2) E(2,3) = E(2,3)-E(2,1)*E(1,3) E(2,4) = E(2,4)-E(2,1)*E(1,4) E(3,1) = E(3,1)/E(1,1) E(3,2) = (E(3,2)-E(3,1)*E(1,2))/E(2,2) E(3,3) = E(3,3)-E(3,1)*E(1,3)-E(3,2)*E(2,3) E(3,4) = E(3,4)-E(3,1)*E(1,4)-E(3,2)*E(2,4) E(4,1) = E(4,1)/E(1,1) E(4,2) = (E(4,2)-E(4,1)*E(1,2))/E(2,2) E(4,3) = (E(4,3)-E(4,1)*E(1,3)-E(4,2)*E(2,3))/E(3,3) E(4,4) = E(4,4)-E(4,1)*E(1,4)-E(4,2)*E(2,4)-E(4,3)*E(3,4) ! invert L E(4,3) = -E(4,3) E(4,2) = -E(4,2)-E(4,3)*E(3,2) E(4,1) = -E(4,1)-E(4,2)*E(2,1)-E(4,3)*E(3,1) E(3,2) = -E(3,2) E(3,1) = -E(3,1)-E(3,2)*E(2,1) E(2,1) = -E(2,1) ! invert U E(4,4) = 1.e+0_fp/E(4,4) E(3,4) = -E(3,4)*E(4,4)/E(3,3) E(3,3) = 1.e+0_fp/E(3,3) E(2,4) = -(E(2,3)*E(3,4)+E(2,4)*E(4,4))/E(2,2) E(2,3) = -E(2,3)*E(3,3)/E(2,2) E(2,2) = 1.e+0_fp/E(2,2) E(1,4) = -(E(1,2)*E(2,4)+E(1,3)*E(3,4)+E(1,4)*E(4,4))/E(1,1) E(1,3) = -(E(1,2)*E(2,3)+E(1,3)*E(3,3))/E(1,1) E(1,2) = -E(1,2)*E(2,2)/E(1,1) E(1,1) = 1.e+0_fp/E(1,1) ! multiply U-invers * L-inverse E(1,1) = E(1,1)+E(1,2)*E(2,1)+E(1,3)*E(3,1)+E(1,4)*E(4,1) E(1,2) = E(1,2)+E(1,3)*E(3,2)+E(1,4)*E(4,2) E(1,3) = E(1,3)+E(1,4)*E(4,3) E(2,1) = E(2,2)*E(2,1)+E(2,3)*E(3,1)+E(2,4)*E(4,1) E(2,2) = E(2,2)+E(2,3)*E(3,2)+E(2,4)*E(4,2) E(2,3) = E(2,3)+E(2,4)*E(4,3) E(3,1) = E(3,3)*E(3,1)+E(3,4)*E(4,1) E(3,2) = E(3,3)*E(3,2)+E(3,4)*E(4,2) E(3,3) = E(3,3)+E(3,4)*E(4,3) E(4,1) = E(4,4)*E(4,1) E(4,2) = E(4,4)*E(4,2) E(4,3) = E(4,4)*E(4,3) do J = 1,M_ do I = 1,M_ DD(I,J,L,K) = - E(I,J)*C(J,L,K) enddo RR(J,L,K) = E(J,1)*H(1,L,K)+E(J,2)*H(2,L,K) & + E(J,3)*H(3,L,K)+E(J,4)*H(4,L,K) enddo enddo ! FINAL DEPTH POINT: L=ND L = ND do J = 1,M_ do I = 1,M_ B(I,J,L,K) = B(I,J,L,K) & + AA(I,1,L,K)*DD(1,J,L-1,K) + AA(I,2,L,K)*DD(2,J,L-1,K) & + AA(I,3,L,K)*DD(3,J,L-1,K) + AA(I,4,L,K)*DD(4,J,L-1,K) enddo H(J,L,K) = H(J,L,K) & - AA(J,1,L,K)*RR(1,L-1,K) - AA(J,2,L,K)*RR(2,L-1,K) & - AA(J,3,L,K)*RR(3,L-1,K) - AA(J,4,L,K)*RR(4,L-1,K) enddo do J = 1,M_ do I = 1,M_ E(I,J) = B(I,J,L,K) enddo enddo ! setup L & U matrices E(2,1) = E(2,1)/E(1,1) E(2,2) = E(2,2)-E(2,1)*E(1,2) E(2,3) = E(2,3)-E(2,1)*E(1,3) E(2,4) = E(2,4)-E(2,1)*E(1,4) E(3,1) = E(3,1)/E(1,1) E(3,2) = (E(3,2)-E(3,1)*E(1,2))/E(2,2) E(3,3) = E(3,3)-E(3,1)*E(1,3)-E(3,2)*E(2,3) E(3,4) = E(3,4)-E(3,1)*E(1,4)-E(3,2)*E(2,4) E(4,1) = E(4,1)/E(1,1) E(4,2) = (E(4,2)-E(4,1)*E(1,2))/E(2,2) E(4,3) = (E(4,3)-E(4,1)*E(1,3)-E(4,2)*E(2,3))/E(3,3) E(4,4) = E(4,4)-E(4,1)*E(1,4)-E(4,2)*E(2,4)-E(4,3)*E(3,4) ! invert L E(4,3) = -E(4,3) E(4,2) = -E(4,2)-E(4,3)*E(3,2) E(4,1) = -E(4,1)-E(4,2)*E(2,1)-E(4,3)*E(3,1) E(3,2) = -E(3,2) E(3,1) = -E(3,1)-E(3,2)*E(2,1) E(2,1) = -E(2,1) ! invert U E(4,4) = 1.e+0_fp/E(4,4) E(3,4) = -E(3,4)*E(4,4)/E(3,3) E(3,3) = 1.e+0_fp/E(3,3) E(2,4) = -(E(2,3)*E(3,4)+E(2,4)*E(4,4))/E(2,2) E(2,3) = -E(2,3)*E(3,3)/E(2,2) E(2,2) = 1.e+0_fp/E(2,2) E(1,4) = -(E(1,2)*E(2,4)+E(1,3)*E(3,4)+E(1,4)*E(4,4))/E(1,1) E(1,3) = -(E(1,2)*E(2,3)+E(1,3)*E(3,3))/E(1,1) E(1,2) = -E(1,2)*E(2,2)/E(1,1) E(1,1) = 1.e+0_fp/E(1,1) ! multiply U-invers * L-inverse E(1,1) = E(1,1)+E(1,2)*E(2,1)+E(1,3)*E(3,1)+E(1,4)*E(4,1) E(1,2) = E(1,2)+E(1,3)*E(3,2)+E(1,4)*E(4,2) E(1,3) = E(1,3)+E(1,4)*E(4,3) E(2,1) = E(2,2)*E(2,1)+E(2,3)*E(3,1)+E(2,4)*E(4,1) E(2,2) = E(2,2)+E(2,3)*E(3,2)+E(2,4)*E(4,2) E(2,3) = E(2,3)+E(2,4)*E(4,3) E(3,1) = E(3,3)*E(3,1)+E(3,4)*E(4,1) E(3,2) = E(3,3)*E(3,2)+E(3,4)*E(4,2) E(3,3) = E(3,3)+E(3,4)*E(4,3) E(4,1) = E(4,4)*E(4,1) E(4,2) = E(4,4)*E(4,2) E(4,3) = E(4,4)*E(4,3) do J = 1,M_ RR(J,L,K) = E(J,1)*H(1,L,K)+E(J,2)*H(2,L,K) & + E(J,3)*H(3,L,K)+E(J,4)*H(4,L,K) enddo ! BACK SOLUTION do L = ND-1,1,-1 do J = 1,M_ RR(J,L,K) = RR(J,L,K) & + DD(J,1,L,K)*RR(1,L+1,K) + DD(J,2,L,K)*RR(2,L+1,K) & + DD(J,3,L,K)*RR(3,L+1,K) + DD(J,4,L,K)*RR(4,L+1,K) enddo enddo ! mean J & H do L = 1,ND,2 FJ(L,K) = RR(1,L,K)*WT(1) + RR(2,L,K)*WT(2) & + RR(3,L,K)*WT(3) + RR(4,L,K)*WT(4) enddo do L = 2,ND,2 FJ(L,K) = RR(1,L,K)*WT(1)*EMU(1) + RR(2,L,K)*WT(2)*EMU(2) & + RR(3,L,K)*WT(3)*EMU(3) + RR(4,L,K)*WT(4)*EMU(4) enddo ! FJTOP = scaled diffuse flux out top-of-atmosphere (limit = mu0) ! FJBOT = scaled diffuse flux onto surface: ! ZFLUX = reflect/(1 + reflect) * mu0 * Fsolar(lower boundary) ! SUMBX = flux from Lambert reflected I+ SUMT = RR(1, 1,K)*WT(1)*EMU(1) + RR(2, 1,K)*WT(2)*EMU(2) & + RR(3, 1,K)*WT(3)*EMU(3) + RR(4, 1,K)*WT(4)*EMU(4) SUMB = RR(1,ND,K)*WT(1)*EMU(1) + RR(2,ND,K)*WT(2)*EMU(2) & + RR(3,ND,K)*WT(3)*EMU(3) + RR(4,ND,K)*WT(4)*EMU(4) SUMBX = 4.e+0_fp*SUMB*RFL(K)/(1.0e+0_fp + RFL(K)) + ZFLUX(K) FJTOP(K) = 4.e+0_fp*SUMT FJBOT(K) = 4.e+0_fp*SUMB - SUMBX enddo END SUBROUTINE BLKSLV !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: gen_id ! ! !DESCRIPTION: Subroutine GEN generates coefficient matrices for the block ! tri-diagonal system described in BLKSLV. !\\ !\\ ! !INTERFACE: ! SUBROUTINE GEN_ID(POMEGA,FZ,ZTAU,ZFLUX,RFL,PM,PM0,B,CC,AA,A,H,C,ND) ! ! !USES: ! USE CMN_FJX_Mod, ONLY : W_, WT, EMU, M_, M2_, N_ ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: ND REAL(fp), INTENT(IN) :: POMEGA(M2_,N_) REAL(fp), INTENT(IN) :: PM(M_,M2_) REAL(fp), INTENT(IN) :: PM0(M2_) REAL(fp), INTENT(IN) :: ZFLUX,RFL REAL(fp), INTENT(IN), DIMENSION(N_) :: FZ,ZTAU ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT),DIMENSION(M_,M_,N_) :: B,AA,CC REAL(fp), INTENT(OUT),DIMENSION(M_,N_) :: A,C,H ! ! !REVISION HISTORY: ! 28 Mar 2013 - S. D. Eastham - Copied from Fast-JX v7.0 ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER I, J, K, L1,L2,LL REAL(fp) SUM0, SUM1, SUM2, SUM3 REAL(fp) DELTAU, D1, D2, SURFAC REAL(fp), DIMENSION(M_,M_) :: S,T,U,V,W !================================================================= ! GEN_ID begins here! !================================================================= ! upper boundary: 2nd-order terms L1 = 1 L2 = 2 do I = 1,M_ SUM0 = POMEGA(1,L1)*PM(I,1)*PM0(1) + POMEGA(3,L1)*PM(I,3)*PM0(3) & + POMEGA(5,L1)*PM(I,5)*PM0(5) + POMEGA(7,L1)*PM(I,7)*PM0(7) SUM2 = POMEGA(1,L2)*PM(I,1)*PM0(1) + POMEGA(3,L2)*PM(I,3)*PM0(3) & + POMEGA(5,L2)*PM(I,5)*PM0(5) + POMEGA(7,L2)*PM(I,7)*PM0(7) SUM1 = POMEGA(2,L1)*PM(I,2)*PM0(2) + POMEGA(4,L1)*PM(I,4)*PM0(4) & + POMEGA(6,L1)*PM(I,6)*PM0(6) + POMEGA(8,L1)*PM(I,8)*PM0(8) SUM3 = POMEGA(2,L2)*PM(I,2)*PM0(2) + POMEGA(4,L2)*PM(I,4)*PM0(4) & + POMEGA(6,L2)*PM(I,6)*PM0(6) + POMEGA(8,L2)*PM(I,8)*PM0(8) H(I,L1) = 0.5e+0_fp*(SUM0*FZ(L1) + SUM2*FZ(L2)) A(I,L1) = 0.5e+0_fp*(SUM1*FZ(L1) + SUM3*FZ(L2)) enddo do I = 1,M_ do J = 1,I SUM0 = POMEGA(1,L1)*PM(I,1)*PM(J,1) + POMEGA(3,L1)*PM(I,3)*PM(J,3) & + POMEGA(5,L1)*PM(I,5)*PM(J,5) + POMEGA(7,L1)*PM(I,7)*PM(J,7) SUM2 = POMEGA(1,L2)*PM(I,1)*PM(J,1) + POMEGA(3,L2)*PM(I,3)*PM(J,3) & + POMEGA(5,L2)*PM(I,5)*PM(J,5) + POMEGA(7,L2)*PM(I,7)*PM(J,7) SUM1 = POMEGA(2,L1)*PM(I,2)*PM(J,2) + POMEGA(4,L1)*PM(I,4)*PM(J,4) & + POMEGA(6,L1)*PM(I,6)*PM(J,6) + POMEGA(8,L1)*PM(I,8)*PM(J,8) SUM3 = POMEGA(2,L2)*PM(I,2)*PM(J,2) + POMEGA(4,L2)*PM(I,4)*PM(J,4) & + POMEGA(6,L2)*PM(I,6)*PM(J,6) + POMEGA(8,L2)*PM(I,8)*PM(J,8) S(I,J) = - SUM2*WT(J) S(J,I) = - SUM2*WT(I) T(I,J) = - SUM1*WT(J) T(J,I) = - SUM1*WT(I) V(I,J) = - SUM3*WT(J) V(J,I) = - SUM3*WT(I) B(I,J,L1) = - 0.5e+0_fp*(SUM0 + SUM2)*WT(J) B(J,I,L1) = - 0.5e+0_fp*(SUM0 + SUM2)*WT(I) enddo enddo do I = 1,M_ S(I,I) = S(I,I) + 1.0e+0_fp T(I,I) = T(I,I) + 1.0e+0_fp V(I,I) = V(I,I) + 1.0e+0_fp B(I,I,L1)= B(I,I,L1) + 1.0e+0_fp C(I,L1)= S(I,1)*A(1,L1)/EMU(1) + S(I,2)*A(2,L1)/EMU(2) & + S(I,3)*A(3,L1)/EMU(3) + S(I,4)*A(4,L1)/EMU(4) enddo do I = 1,M_ do J = 1,M_ W(J,I) = S(J,1)*T(1,I)/EMU(1) + S(J,2)*T(2,I)/EMU(2) & + S(J,3)*T(3,I)/EMU(3) + S(J,4)*T(4,I)/EMU(4) U(J,I) = S(J,1)*V(1,I)/EMU(1) + S(J,2)*V(2,I)/EMU(2) & + S(J,3)*V(3,I)/EMU(3) + S(J,4)*V(4,I)/EMU(4) enddo enddo ! upper boundary, 2nd-order, C-matrix is full (CC) DELTAU = ZTAU(L2) - ZTAU(L1) D2 = 0.25e+0_fp*DELTAU do I = 1,M_ do J = 1,M_ B(I,J,L1) = B(I,J,L1) + D2*W(I,J) CC(I,J,L1) = D2*U(I,J) enddo H(I,L1) = H(I,L1) + 2.0e+0_fp*D2*C(I,L1) A(I,L1) = 0.0e+0_fp enddo do I = 1,M_ D1 = EMU(I)/DELTAU B(I,I,L1) = B(I,I,L1) + D1 CC(I,I,L1) = CC(I,I,L1) - D1 enddo ! intermediate points: can be even or odd, A & C diagonal ! mid-layer h-points, Legendre terms 2,4,6,8 do LL=2,ND-1,2 DELTAU = ZTAU(LL+1) - ZTAU(LL-1) do I = 1,M_ A(I,LL) = EMU(I)/DELTAU C(I,LL) = -A(I,LL) H(I,LL) = FZ(LL)*( & POMEGA(2,LL)*PM(I,2)*PM0(2) + POMEGA(4,LL)*PM(I,4)*PM0(4) & + POMEGA(6,LL)*PM(I,6)*PM0(6) + POMEGA(8,LL)*PM(I,8)*PM0(8)) enddo do I = 1,M_ do J=1,I SUM0 = POMEGA(2,LL)*PM(I,2)*PM(J,2) + POMEGA(4,LL)*PM(I,4)*PM(J,4) & + POMEGA(6,LL)*PM(I,6)*PM(J,6) + POMEGA(8,LL)*PM(I,8)*PM(J,8) B(I,J,LL) = - SUM0*WT(J) B(J,I,LL) = - SUM0*WT(I) enddo enddo do I = 1,M_ B(I,I,LL) = B(I,I,LL) + 1.0e+0_fp enddo enddo ! odd-layer j-points, Legendre terms 1,3,5,7 do LL=3,ND-2,2 DELTAU = ZTAU(LL+1) - ZTAU(LL-1) do I = 1,M_ A(I,LL) = EMU(I)/DELTAU C(I,LL) = -A(I,LL) H(I,LL) = FZ(LL)*( & POMEGA(1,LL)*PM(I,1)*PM0(1) + POMEGA(3,LL)*PM(I,3)*PM0(3) & + POMEGA(5,LL)*PM(I,5)*PM0(5) + POMEGA(7,LL)*PM(I,7)*PM0(7)) enddo do I = 1,M_ do J=1,I SUM0 = POMEGA(1,LL)*PM(I,1)*PM(J,1) + POMEGA(3,LL)*PM(I,3)*PM(J,3) & + POMEGA(5,LL)*PM(I,5)*PM(J,5) + POMEGA(7,LL)*PM(I,7)*PM(J,7) B(I,J,LL) = - SUM0*WT(J) B(J,I,LL) = - SUM0*WT(I) enddo enddo do I = 1,M_ B(I,I,LL) = B(I,I,LL) + 1.0e+0_fp enddo enddo ! lower boundary: 2nd-order terms L1 = ND L2 = ND-1 do I = 1,M_ SUM0 = POMEGA(1,L1)*PM(I,1)*PM0(1) + POMEGA(3,L1)*PM(I,3)*PM0(3) & + POMEGA(5,L1)*PM(I,5)*PM0(5) + POMEGA(7,L1)*PM(I,7)*PM0(7) SUM2 = POMEGA(1,L2)*PM(I,1)*PM0(1) + POMEGA(3,L2)*PM(I,3)*PM0(3) & + POMEGA(5,L2)*PM(I,5)*PM0(5) + POMEGA(7,L2)*PM(I,7)*PM0(7) SUM1 = POMEGA(2,L1)*PM(I,2)*PM0(2) + POMEGA(4,L1)*PM(I,4)*PM0(4) & + POMEGA(6,L1)*PM(I,6)*PM0(6) + POMEGA(8,L1)*PM(I,8)*PM0(8) SUM3 = POMEGA(2,L2)*PM(I,2)*PM0(2) + POMEGA(4,L2)*PM(I,4)*PM0(4) & + POMEGA(6,L2)*PM(I,6)*PM0(6) + POMEGA(8,L2)*PM(I,8)*PM0(8) H(I,L1) = 0.5e+0_fp*(SUM0*FZ(L1) + SUM2*FZ(L2)) A(I,L1) = 0.5e+0_fp*(SUM1*FZ(L1) + SUM3*FZ(L2)) enddo do I = 1,M_ do J = 1,I SUM0 = POMEGA(1,L1)*PM(I,1)*PM(J,1) + POMEGA(3,L1)*PM(I,3)*PM(J,3) & + POMEGA(5,L1)*PM(I,5)*PM(J,5) + POMEGA(7,L1)*PM(I,7)*PM(J,7) SUM2 = POMEGA(1,L2)*PM(I,1)*PM(J,1) + POMEGA(3,L2)*PM(I,3)*PM(J,3) & + POMEGA(5,L2)*PM(I,5)*PM(J,5) + POMEGA(7,L2)*PM(I,7)*PM(J,7) SUM1 = POMEGA(2,L1)*PM(I,2)*PM(J,2) + POMEGA(4,L1)*PM(I,4)*PM(J,4) & + POMEGA(6,L1)*PM(I,6)*PM(J,6) + POMEGA(8,L1)*PM(I,8)*PM(J,8) SUM3 = POMEGA(2,L2)*PM(I,2)*PM(J,2) + POMEGA(4,L2)*PM(I,4)*PM(J,4) & + POMEGA(6,L2)*PM(I,6)*PM(J,6) + POMEGA(8,L2)*PM(I,8)*PM(J,8) S(I,J) = - SUM2*WT(J) S(J,I) = - SUM2*WT(I) T(I,J) = - SUM1*WT(J) T(J,I) = - SUM1*WT(I) V(I,J) = - SUM3*WT(J) V(J,I) = - SUM3*WT(I) B(I,J,L1) = - 0.5e+0_fp*(SUM0 + SUM2)*WT(J) B(J,I,L1) = - 0.5e+0_fp*(SUM0 + SUM2)*WT(I) enddo enddo do I = 1,M_ S(I,I) = S(I,I) + 1.0e+0_fp T(I,I) = T(I,I) + 1.0e+0_fp V(I,I) = V(I,I) + 1.0e+0_fp B(I,I,L1)= B(I,I,L1) + 1.0e+0_fp C(I,L1)= S(I,1)*A(1,L1)/EMU(1) + S(I,2)*A(2,L1)/EMU(2) & + S(I,3)*A(3,L1)/EMU(3) + S(I,4)*A(4,L1)/EMU(4) enddo do I = 1,M_ do J = 1,M_ W(J,I) = S(J,1)*T(1,I)/EMU(1) + S(J,2)*T(2,I)/EMU(2) & + S(J,3)*T(3,I)/EMU(3) + S(J,4)*T(4,I)/EMU(4) U(J,I) = S(J,1)*V(1,I)/EMU(1) + S(J,2)*V(2,I)/EMU(2) & + S(J,3)*V(3,I)/EMU(3) + S(J,4)*V(4,I)/EMU(4) enddo enddo ! lower boundary, 2nd-order, A-matrix is full (AA) DELTAU = ZTAU(L1) - ZTAU(L2) D2 = 0.25e+0_fp*DELTAU SURFAC = 4.0e+0_fp*RFL/(1.0e+0_fp + RFL) do I = 1,M_ D1 = EMU(I)/DELTAU SUM0 = D1 + D2*(W(I,1)+W(I,2)+W(I,3)+W(I,4)) SUM1 = SURFAC*SUM0 do J = 1,M_ AA(I,J,L1) = - D2*U(I,J) B(I,J,L1) = B(I,J,L1) + D2*W(I,J) - SUM1*EMU(J)*WT(J) enddo H(I,L1) = H(I,L1) - 2.0e+0_fp*D2*C(I,L1) + SUM0*ZFLUX enddo do I = 1,M_ D1 = EMU(I)/DELTAU AA(I,I,L1) = AA(I,I,L1) + D1 B(I,I,L1) = B(I,I,L1) + D1 C(I,L1) = 0.0e+0_fp enddo END SUBROUTINE GEN_ID !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: jratet ! ! !DESCRIPTION: Subroutine JRATET calculates temperature-dependent J-rates. !\\ !\\ ! !INTERFACE: ! SUBROUTINE JRATET(PPJ,TTJ,FFF,VALJL,LCTM,LCHEM,NJXU) ! ! !USES: ! USE CMN_FJX_Mod, ONLY : JXL1_, W_, NJX, X_, LQQ, QQQ, SQQ, TQQ USE CMN_FJX_Mod, ONLY : QO2, QO3, Q1D ! ! !INPUT PARAMETERS: ! integer, intent(in) :: LCTM,LCHEM,NJXU real(fp), intent(in) :: PPJ(JXL1_+1),TTJ(JXL1_+1) ! ! !INPUT/OUTPUT PARAMETERS: ! real(fp), intent(inout) :: FFF(W_,LCTM) ! ! !OUTPUT VARIABLES: ! real(fp), intent(out), dimension(LCTM,NJXU) :: VALJL ! ! !REMARKS: ! ! !REVISION HISTORY: ! 28 Mar 2013 - S. D. Eastham - Copied from Fast-JX v7.0 ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! real(fp) VALJ(X_) real(fp) QO2TOT, QO3TOT, QO31DY, QO31D, QQQT, TFACT real(fp) TT,PP,DD,TT200,TFACA,TFAC0,TFAC1,TFAC2 real(fp) QQQA,QQ2,QQ1A,QQ1B integer J,K,L, IV !================================================================= ! JRATET begins here! !================================================================= if (NJXU .lt. NJX) then call EXITC(' JRATET: CTM has not enough J-values dimensioned') endif do L = 1,LCTM ! need temperature, pressure, and density at mid-layer ! (for some quantum yields): TT = TTJ(L) if (L .eq. 1) then PP = PPJ(1) else PP = (PPJ(L)+PPJ(L+1))*0.5e+0_fp endif DD = 7.24e18*PP/TT ! if W_=18/12, must zero bin-11/5 below 100 hPa, since O2 e-fold is ! too weak and does not represent the decay of 215.5-221.5 nm sunlight. if (PP .gt. 100.e+0_fp) then if (W_ .eq. 18) then FFF(11,L) = 0.e+0_fp elseif (W_ .eq. 12) then FFF(5,L) = 0.e+0_fp endif endif do J = 1,NJXU VALJ(J) = 0.e+0_fp enddo do K = 1,W_ call X_interp (TT,QO2TOT, TQQ(1,1),QO2(K,1), & TQQ(2,1),QO2(K,2), TQQ(3,1),QO2(K,3), LQQ(1)) call X_interp (TT,QO3TOT, TQQ(1,2),QO3(K,1), & TQQ(2,2),QO3(K,2), TQQ(3,2),QO3(K,3), LQQ(2)) call X_interp (TT,QO31DY, TQQ(1,3),Q1D(K,1), & TQQ(2,3),Q1D(K,2), TQQ(3,3),Q1D(K,3), LQQ(3)) QO31D = QO31DY*QO3TOT VALJ(1) = VALJ(1) + QO2TOT*FFF(K,L) VALJ(2) = VALJ(2) + QO3TOT*FFF(K,L) VALJ(3) = VALJ(3) + QO31D*FFF(K,L) enddo do J = 4,NJXU do K = 1,W_ ! also need to allow for Pressure interpolation if SQQ(J) = 'p' if (SQQ(J) .eq.'p') then call X_interp (PP,QQQT, TQQ(1,J),QQQ(K,1,J), & TQQ(2,J),QQQ(K,2,J), TQQ(3,J),QQQ(K,3,J), LQQ(J)) else call X_interp (TT,QQQT, TQQ(1,J),QQQ(K,1,J), & TQQ(2,J),QQQ(K,2,J), TQQ(3,J),QQQ(K,3,J), LQQ(J)) endif VALJ(J) = VALJ(J) + QQQT*FFF(K,L) enddo enddo do J=1,NJXU VALJL(L,J) = VALJ(J) enddo enddo ! Zero non-chemistry layers if (LCHEM.lt.LCTM) then do L=(LCTM+1),LCHEM do J=1,NJXU VALJL(L,J) = 0.e+0_fp enddo enddo endif END SUBROUTINE JRATET !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: x_interp ! ! !DESCRIPTION: Subroutine X\_INTERP is an up-to-three-point linear interp. ! function for cross-sections. !\\ !\\ ! !INTERFACE: ! SUBROUTINE X_INTERP (TINT,XINT,T1,X1,T2,X2,T3,X3,L123) ! ! !USES: ! ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: TINT,T1,T2,T3, X1,X2,X3 INTEGER, INTENT(IN) :: L123 ! ! !OUTPUT VARIABLES: ! REAL(fp), INTENT(OUT) :: XINT ! ! !REMARKS: ! ! !REVISION HISTORY: ! 28 Mar 2013 - S. D. Eastham - Copied from Fast-JX v7.0 ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) TFACT !================================================================= ! X_INTERP begins here! !================================================================= if (L123 .le. 1) then XINT = X1 elseif (L123 .eq. 2) then TFACT = max(0.e+0_fp,min(1.e+0_fp,(TINT-T1)/(T2-T1) )) XINT = X1 + TFACT*(X2 - X1) else if (TINT.le. T2) then TFACT = max(0.e+0_fp,min(1.e+0_fp,(TINT-T1)/(T2-T1) )) XINT = X1 + TFACT*(X2 - X1) else TFACT = max(0.e+0_fp,min(1.e+0_fp,(TINT-T2)/(T3-T2) )) XINT = X2 + TFACT*(X3 - X2) endif endif END SUBROUTINE X_INTERP !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: sphere2 ! ! !DESCRIPTION: Subroutine SPHERE2 is an AMF2. !\\ !\\ ! !INTERFACE: ! SUBROUTINE SPHERE2 (U0,ZHL,AMF2,L1U,LJX1U) ! ! !USES: ! USE CMN_FJX_Mod, ONLY: RAD ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: L1U, LJX1U REAL(fp), INTENT(IN) :: U0,ZHL(L1U+1) ! ! !OUTPUT VARIABLES: ! REAL(fp), INTENT(OUT) :: AMF2(2*LJX1U+1,2*LJX1U+1) ! ! !REMARKS: ! Quoting from the original: ! New v6.2: does AirMassFactors for mid-layer, needed for SZA ~ 90 ! This new AMF2 does each of the half-layers of the CTM separately, ! whereas the original, based on the pratmo code did the whole layers ! and thus calculated the ray-path to the CTM layre edges, NOT the middle. ! Since fast-JX is meant to calculate the intensity at the mid-layer, the ! solar beam at low sun (interpolated between layer edges) was incorrect. ! This new model does make some approximations of the geometry of the layers: ! the CTM layer is split evenly in mass (good) and in height (approx). ! . ! Calculation of spherical geometry; derive tangent heights, slant path ! lengths and air mass factor for each layer. Not called when ! SZA > 98 degrees. Beyond 90 degrees, include treatment of emergent ! beam (where tangent height is below altitude J-value desired at). ! . ! --------------------------------------------------------------------- ! Inputs: ! U0 cos(solar zenith angle) ! RAD radius of Earth mean sea level (cm) ! ZHL(L) height (cm) of the bottom edge of CTM level L ! ZZHT scale height (cm) used above top of CTM (ZHL(L_+1)) ! L1U dimension of CTM = levels +1 (L+1 = above-CTM level) ! Outputs: ! AMF2(I,J) = air mass factor for CTM level I for sunlight reaching J ! ( these are calculated for both layer middle and layer edge) ! --------------------------------------------------------------------- ! ! !REVISION HISTORY: ! 28 Mar 2013 - S. D. Eastham - Copied from Fast-JX v7.0 ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER, PARAMETER :: LSPH_ = 200 ! RZ Distance from centre of Earth to each point (cm) ! RQ Square of radius ratios ! SHADHT Shadow height for the current SZA ! XL Slant path between points INTEGER I, J, K, II, L2 REAL(fp) XMU1,XMU2,XL,DIFF,SHADHT,RZ(LSPH_+1) REAL(fp) RZ2(2*LSPH_+1),RQ2(2*LSPH_+1) !================================================================= ! SPHERE2 begins here! !================================================================= ! must have top-of-atmos (NOT top-of-CTM) defined ! ZHL(L1U+1) = ZHL(L1U) + ZZHT if (L1U .gt. LSPH_) then call EXITC(' SPHERE2: temp arrays not large enough') endif RZ(1) = RAD + ZHL(1) do II = 2,L1U+1 RZ(II) = RAD + ZHL(II) enddo ! calculate heights for edges of split CTM-layers L2 = 2*L1U do II = 2,L2,2 I = II/2 RZ2(II-1) = RZ(I) RZ2(II) = 0.5e+0_fp*(RZ(I)+RZ(I+1)) enddo RZ2(L2+1) = RZ(L1U+1) do II = 1,L2 RQ2(II) = (RZ2(II)/RZ2(II+1))**2 enddo ! shadow height for SZA > 90 if (U0 .lt. 0.0e+0_fp) then SHADHT = RZ2(1)/sqrt(1.0e+0_fp - U0**2) else SHADHT = 0.e+0_fp endif ! up from the surface calculating the slant paths between each level ! and the level above, and deriving the appropriate Air Mass Factor AMF2(:,:) = 0.e+0_fp do 16 J = 1,2*L1U+1 ! Air Mass Factors all zero if below the tangent height if (RZ2(J) .lt. SHADHT) goto 16 ! Ascend from layer J calculating AMF2s XMU1 = abs(U0) do I = J,2*L1U XMU2 = sqrt(1.0e+0_fp - RQ2(I)*(1.0e+0_fp-XMU1**2)) XL = RZ2(I+1)*XMU2 - RZ2(I)*XMU1 AMF2(I,J) = XL / (RZ2(I+1)-RZ2(I)) XMU1 = XMU2 enddo ! fix above top-of-atmos (L=L1U+1), must set DTAU(L1U+1)=0 AMF2(2*L1U+1,J) = 1.e+0_fp ! Twilight case - Emergent Beam, calc air mass factors below layer if (U0 .ge. 0.0e+0_fp) goto 16 ! Descend from layer J XMU1 = abs(U0) do II = J-1,1,-1 DIFF = RZ2(II+1)*sqrt(1.0e+0_fp-XMU1**2)-RZ2(II) if (II.eq.1) DIFF = max(DIFF,0.e+0_fp) ! filter ! Tangent height below current level - beam passes through twice if (DIFF .lt. 0.0e+0_fp) then XMU2 = sqrt(1.0e+0_fp - (1.0e+0_fp-XMU1**2)/RQ2(II)) XL = abs(RZ2(II+1)*XMU1-RZ2(II)*XMU2) AMF2(II,J) = 2.e+0_fp*XL/(RZ2(II+1)-RZ2(II)) XMU1 = XMU2 ! Lowest level intersected by emergent beam else XL = RZ2(II+1)*XMU1*2.0e+0_fp AMF2(II,J) = XL/(RZ2(II+1)-RZ2(II)) goto 16 endif enddo 16 continue END SUBROUTINE SPHERE2 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: extral ! ! !DESCRIPTION: Subroutine EXTRAL adds sub-layers to thick cloud/aerosol layers ! using log-spacing for sub-layers of increasing thickness ATAU. !\\ !\\ ! !INTERFACE: ! SUBROUTINE EXTRAL (Input_Opt,State_Diag,DTAUX,L1X,L2X,NX,JXTRA,ILON,ILAT) ! ! !USES: ! USE CMN_FJX_Mod, ONLY : ATAU, ATAU0, JTAUMX USE Input_Opt_Mod, ONLY : OptInput USE State_Diag_Mod, ONLY : DgnState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input options INTEGER, INTENT(IN) :: L1X,L2X !index of cloud/aerosol integer, intent(in) :: NX !Mie scattering array size real(fp), intent(in) :: DTAUX(L1X) !cloud+3aerosol OD in each layer integer, intent(in) :: ILON, ILAT !lon,lat index ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT VARIABLES: ! integer, intent(out):: JXTRA(L2X+1)!number of sub-layers to be added ! ! !REMARKS: ! DTAUX(L=1:L1X) = Optical Depth in layer L (generally 600 nm OD) ! This can be just cloud or cloud+aerosol, it is used only to set ! the number in levels to insert in each layer L ! Set for log-spacing of tau levels, increasing top-down. ! . ! N.B. the TTAU, etc calculated here are NOT used elsewhere ! . ! The log-spacing parameters have been tested for convergence and chosen ! to be within 0.5% for ranges OD=1-500, rflect=0-100%, mu0=0.1-1.0 ! use of ATAU = 1.18 and min = 0.01, gives at most +135 pts for OD=100 ! ATAU = 1.12 now recommended for more -accurate heating rates (not J's) ! ! !REVISION HISTORY: ! 28 Mar 2013 - S. D. Eastham - Copied from Fast-JX v7.0 ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER JTOTL,I,L,L2 REAL(fp) TTAU(L2X+1),DTAUJ, ATAU1,ATAULN,ATAUM,ATAUN1 #ifdef MODEL_GEOS ! ckeller, 5/21/18 LOGICAL :: failed INTEGER :: N, NMAX REAL(fp) :: ATAULOC #endif !================================================================= ! EXTRAL begins here! !================================================================= #ifdef MODEL_GEOS ! This routine now repeats the extra layer computation with an ! increased heating rate (ATAU) if there is an array overfloat. ! This is repeated maximum 5 times. The diagnostics arrays ! EXTRAL_NLEVS and EXTRAL_NITER archive the number of extra layers ! and the number of iterations needed to converge to that solution. ! Ideally, NITER is 1 and no adjustments to the heating rate are ! needed (ckeller, 5/22/18). NMAX = MAX(1,Input_Opt%FJX_EXTRAL_ITERMAX) DO N=1,NMAX ! local heating rate ATAULOC = ATAU + (0.06*(N-1)) #endif ! Reinitialize arrays TTAU(:) = 0.e+0_fp JXTRA(:) = 0 ! combine these edge- and mid-layer points into grid of size: ! L2X+1 = 2*L1X+1 = 2*L_+3 ! calculate column optical depths above each level, TTAU(1:L2X+1) ! note that TTAU(L2X+1)=0 and TTAU(1)=total OD ! ! Divide thick layers to achieve better accuracy in the scattering code ! In the original fast-J, equal sub-layers were chosen, this is wasteful ! and this new code (ver 5.3) uses log-scale: ! Each succesive layer (down) increase thickness by ATAU > 1 ! e.g., if ATAU = 2, a layer with OD = 15 could be divided into ! 4 sub-layers with ODs = 1 - 2 - 4 - 8 ! The key parameters are: ! ATAU = factor increase from one layer to the next ! ATAUMN = the smallest OD layer desired ! JTAUMX = maximum number of divisions (i.e., may not get to ATAUMN) ! These are set in CMN_FJX_MOD, and have been tested/optimized #if defined( MODEL_GEOS ) ATAU1 = ATAULOC - 1.e+0_fp ATAULN = log(ATAULOC) #else ATAU1 = ATAU - 1.e+0_fp ATAULN = log(ATAU) #endif TTAU(L2X+1) = 0.0e+0_fp do L2 = L2X,1,-1 L = (L2+1)/2 DTAUJ = 0.5e+0_fp * DTAUX(L) TTAU(L2) = TTAU(L2+1) + DTAUJ ! Now compute the number of log-spaced sub-layers to be added in ! the interval TTAU(L2) > TTAU(L2+1) ! The objective is to have successive TAU-layers increasing by factor ! ATAU >1 the number of sub-layers + 1 if (TTAU(L2) .lt. ATAU0) then JXTRA(L2) = 0 else ATAUM = max(ATAU0, TTAU(L2+1)) ATAUN1 = log(TTAU(L2)/ATAUM) / ATAULN JXTRA(L2) = min(JTAUMX, max(0, int(ATAUN1 - 0.5e+0_fp))) endif enddo ! check on overflow of arrays, cut off JXTRA at lower L if too many ! levels #ifdef MODEL_GEOS failed = .FALSE. JTOTL = L2X + 2 do L2 = L2X,1,-1 JTOTL = JTOTL + JXTRA(L2) if (JTOTL .gt. NX/2) then failed = .TRUE. exit endif enddo ! exit loop if not failed if ( .not. failed ) exit enddo ! print error and cut off JXTRAL at lower L if too many levels if ( failed ) then IF ( Input_Opt%FJX_EXTRAL_ERR ) THEN write(6,'(A,7I5)') 'N_/L2_/L2-cutoff JXTRA:',ILON,ILAT,NX,L2X,L2,JXTRA(L2),JTOTL ENDIF do L = L2,1,-1 JXTRA(L) = 0 enddo !go to 10 endif !enddo !10 continue ! Fill diagnostics arrays IF ( State_Diag%Archive_EXTRALNLEVS ) THEN State_Diag%EXTRALNLEVS(ILON,ILAT) = SUM(JXTRA(:)) ENDIF IF ( State_Diag%Archive_EXTRALNITER ) THEN State_Diag%EXTRALNITER(ILON,ILAT) = N ENDIF #else JTOTL = L2X + 2 do L2 = L2X,1,-1 JTOTL = JTOTL + JXTRA(L2) if (JTOTL .gt. NX/2) then write(6,'(A,7I5)') 'N_/L2_/L2-cutoff JXTRA:',ILON,ILAT,NX,L2X,L2,JXTRA(L2),JTOTL do L = L2,1,-1 JXTRA(L) = 0 enddo go to 10 endif enddo 10 continue #endif END SUBROUTINE EXTRAL !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: exitc ! ! !DESCRIPTION: Subroutine EXITC forces an error in GEOS-Chem and quits. !\\ !\\ ! !INTERFACE: ! SUBROUTINE EXITC (T_EXIT) ! ! !USES: ! USE ERROR_MOD, ONLY : ERROR_STOP ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: T_EXIT ! ! !REVISION HISTORY: ! 28 Mar 2013 - S. D. Eastham - Copied from Fast-JX v7.0 ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CALL ERROR_STOP( T_EXIT, 'fast_jx_mod.F90' ) END SUBROUTINE EXITC !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: opmie ! ! !DESCRIPTION: Subroutine OPMIE is a core Fast-JX scattering subroutine, ! specifically for Mie scattering. !\\ !\\ ! !INTERFACE: ! SUBROUTINE OPMIE(DTAUX,POMEGAX,U0,RFL,AMF2,JXTRA, & FJACT,FJTOP,FJBOT,FSBOT,FJFLX,FLXD,FLXD0,LU) ! ! !USES: ! USE CMN_FJX_Mod, ONLY : ATAU0, JXL_, JXL1_, JXL2_, M2_, N_, W_ ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: DTAUX(JXL1_,W_),POMEGAX(8,JXL1_,W_) REAL(fp), INTENT(IN) :: AMF2(2*JXL1_+1,2*JXL1_+1) REAL(fp), INTENT(IN) :: U0,RFL(W_) INTEGER, INTENT(IN) :: JXTRA(JXL2_+1), LU ! ! !OUTPUT VARIABLES: ! REAL(fp), INTENT(OUT) :: FJACT(JXL_,W_),FJTOP(W_) REAL(fp), INTENT(OUT) :: FJBOT(W_),FSBOT(W_) REAL(fp), INTENT(OUT) :: FJFLX(JXL_,W_),FLXD(JXL1_,W_),FLXD0(W_) ! ! !REVISION HISTORY: ! 28 Mar 2013 - S. D. Eastham - Copied from Fast-JX v7.0 !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER JNDLEV(JXL_),JNELEV(JXL1_) INTEGER JADDLV(JXL2_+1),JADDTO(JXL2_+1),L2LEV(JXL2_+1) INTEGER JTOTL,I,II,J,K,L,LL,IX,JK, L2,L2L,L22,LZ,LZZ,ND INTEGER L1U,L2U, LZ0,LZ1,LZMID REAL(fp) SUMT,SUMJ REAL(fp) DTAU(JXL1_+1,W_),POMEGAJ(M2_,JXL2_+1,W_) REAL(fp) TTAU(JXL2_+1,W_) REAL(fp) FTAU2(JXL2_+1,W_),POMEGAB(M2_,W_) REAL(fp) ATAUA,ATAUZ,XLTAU,TAUDN,TAUUP,DTAUJ,FJFLX0 REAL(fp), DIMENSION(W_) :: TAUBTM,TAUTOP,FBTM,FTOP,ZFLUX ! variables used in mie code----------------------------------------- REAL(fp), DIMENSION(W_) :: FJT,FJB REAL(fp), DIMENSION(N_,W_) :: FJ,FZ,ZTAU REAL(fp), DIMENSION(M2_,N_,W_) :: POMEGA REAL(fp), DIMENSION(2*JXL1_,W_) :: FLXD2 !================================================================= ! OPMIE begins here! !================================================================= ! there is a parallel correspondence: ! dimension of JX arrays JXL_ .ge. dimension that CTM is using = L_ ! but calculation is done for L_=LU, L1_=L1U, L2_=L2U lengths of CTM ! ! fast-J Mie code for J_s, only uses 8-term expansion, 4-Gauss pts ! ! in: ! DTAUX(1:L1_,1:W_) = optical depth of each layer ! POMEGAX(1:8,1:L1_,1:W_) = scattering phase fn (multiplied by s-s albedo) ! U0 = cos (SZA) ! RFL(1:W_) = Lambertian albedo of surface ! AMF2(1:2*L1_+1,1:2*L1_+1) = air mass factor (I,L)=wt of layer-I to layer-L ! AMF2 now does both edges and middle of CTM layers ! JXTRA(1:L1_) = number 0:J = no. of additional levels to be inserted ! out: ! FJACT(1:L_,1:W_) = mean actinic flux(diff+direct) at std CTM levels(mid-lyr) ! (new ver 5.7 diagnostics for fluxes, deposition) fluxes 'down' are <0 ! FJTOP(1:W_) = diffuse flux out top-of-atmosphere (TAU=0 above top model lyr) ! FJBOT(1:W_) = diffuse flux onto surface (<0 by definition) ! FSBOT(1:W_) = direct/solar flux onto surface (<0 by definition) ! FJFLX(1:L_,1:W_) = diffuse flux across top of model layer L ! this connects with FJBOT = FJFLX(0) & FJTOP = FJFLX(L_+1) (not dim!!) ! FLXD(1:L_+1,1:W_) = solar flux deposited in layer L (includes lyr above CTM) ! this should take into account sphericity, and is not just = mu0 ! FLXD0(1:W_) = sum of solar flux deposited in atmos ! does NOT include flux on lower surface, does NOT mean absorbed! ! -------------------------------------------------------------------- ! ! DTAU Local optical depth of each CTM level ! TTAU Optical depth of air vertically above each point (to top of atm) ! FTAU2 Attenuation of solar beam ! POMEGAJ Scattering phase function ! ! new ver 5.3 code adds sub-layers (# = JXTRA(L2)) using ATAU as the ! factor increase from sub-layer to sub-layer ! ! ------------------SET UP FOR MIE CODE------------------------------- ! ! --------------wavelength independent-------------------------------- ! ! Transpose the ascending TTAU grid to a descending ZTAU grid. ! Double the resolution - TTAU points become the odd points on the ! ZTAU grid, even points needed for asymm phase fn soln, contain 'h'. ! Odd point added at top of grid for unattenuated beam (Z='inf') ! ! The following mapping holds for JADDLV=0 ! Surface: TTAU(1) ==> ZTAU(2*L2_+1) ! Top: TTAU(L2_) ==> ZTAU(3) ! Infinity: 0.0 ==> ZTAU(1) ! index: 2*(L2_+1-L2)+1 ==> LZ ! ! Mie scattering code only used from surface to level L2_ ! --------------------------------------------------------------------- ! ! --------------------------------------------------------------------- ! Insert new levels, working downwards from the top of the atmosphere ! to the surface (down in 'LZ', up in 'L2'). This allows ztau and pomega ! to be incremented linearly, and the flux fz to be attenuated top-down ! (avoiding problems where lower level fluxes are zero). ! --------------------------------------------------------------------- ! ! Ascend through atmosphere transposing grid and adding extra points ! remember L2=1 is surface of CTM, but last layer (LZ) in scattering code. ! there are twice the number of layers in the LZ arrays (2*L2_ + 2*JADDTO + 1) ! because we need to insert the intermediate layers (even LZ) for the ! asymmetric scattering code. ! ! Transfer the L2=1:L2_+1 values (TTAU,FTAU2,POMEGAJ) onto the reverse ! order, expanded, doubled-level scatter grid. ! Note that we need to deal with the expansion by JADD levels (L2L). ! These JADDLV levels are skipped and need to be interpolated later. ! Note that only odd LZ levels are filled, ! ! -------------------re-grid data--------------------------------------------- ! Calculate cumulative total and define levels we want J-values at. ! Sum upwards for levels, and then downwards for Mie code readjustments. ! ! JXTRA(L2) Number of new levels to add between (L2) and (L2+1) ! ***JXTRA(1:L2_+1) is calculated based on the aerosol+cloud OD_s ! JADDLV(L2) Number of new levels actually added at each wavelength ! where JADDLV = 0 when there is effectively no FTAU2 ! JADDTO(L2) Total number of new levels to add to and above level (L2) ! JNDLEV(L) = L2 index that maps on CTM mid-layer L ! ! JADDLV(L2=1:L2_) = number of levels to add between TTAU2(L2) and TTAU(L2+1) ! JADDLV is taken from JXTRA, which is based on visible OD. ! JADDTO(L2=1:L2_+1) is the cumulative number of levels to be added ! these should be fixed for all wavelengths to lock-in the array sizes if (LU .gt. JXL_) then call EXITC (' OPMIE: JXL_ .lt. L_') endif L1U = LU + 1 L2U = 2*LU + 2 do L2 = 1,L2U,1 JADDLV(L2) = JXTRA(L2) enddo JADDTO(L2U+1) = 0 do L2 = L2U,1,-1 JADDTO(L2) = JADDTO(L2+1) + JADDLV(L2) enddo ! expanded grid now included CTM edge and mid layers plus expanded ! grid to allow for finer delta-tau at tops of clouds. ! DIM of new grid = L2U + JADDTO(1) + 1 ! L2LEV(L2) = L2-index for old level L2 in expanded J-grid (w/JADDLV) ! in absence of JADDLV, L2LEV(L2) = L2 L2LEV(1) = 1 do L2 = 2,L2U+1 L2LEV(L2) = L2LEV(L2-1) + 1 + JADDLV(L2-1) enddo ! JNDLEV(L=1:L_) = L2-index in expanded grid for CTM mid-layer L ! JNELEV(L=1:L_) = L2-index for top of layer L do L = 1,LU JNDLEV(L) = L2LEV(2*L) JNELEV(L) = L2LEV(2*L+1) enddo JNELEV(LU+1) = 0 !need to set this to top-of-atmosphere ND = 2*L2U + 2*JADDTO(1) + 1 if(ND .gt. N_) then call EXITC (' overflow of scatter arrays: ND > N_') endif ! -------------begin wavelength dependent set up--------------------------- ! Reinitialize arrays ZTAU(:,:) = 0.e+0_fp FZ(:,:) = 0.e+0_fp POMEGA(:,:,:) = 0.e+0_fp do K=1,W_ ! Set up optical depth DTAU(L) do L = 1,L1U DTAU(L,K) = DTAUX(L,K) enddo DTAU(L1U+1,K) = 0.e+0_fp ! Define the total scattering phase fn for each CTM layer L=1:L_+1 ! from a DTAU-wt_d mix of aerosols, cloud & Rayleigh ! No. of quadrature pts fixed at 4(M_), expansion of phase fn @ 8 do L = 1,L1U do I = 1,M2_ POMEGAJ(I,L,K) = POMEGAX(I,L,K) enddo enddo ! Calculate attenuated incident beam exp(-TTAU/U0 = DTAU * AirMassFactor) ! at the middle & edges of the CTM layers L=1:2*L1_+1 ! L1_ is top-edge of CTM (ie, L=38 = 2 hPa) which has TAU > 0 ! note that DTAU(L1_) is optical depth in the FULL CTM layer just above FTAU2(:,:) = 0.e+0_fp FTAU2(L2U+1,:) = 1.0e+0_fp do LL = 1,2*L1U+1 L = (LL+1)/2 if (AMF2(LL,LL) .gt. 0.0e+0_fp) then XLTAU = 0.0e+0_fp do II = 1,2*L1U+1 I = (II+1)/2 XLTAU = XLTAU + 0.5e+0_fp*DTAU(I,K)*AMF2(II,LL) enddo if (XLTAU .lt. 76.e+0_fp) then ! zero out flux at 1e-33 FTAU2(LL,K) = exp(-XLTAU) endif endif enddo ! calculate direct solar flux deposited in each CTM half-layer: L=1:L2_ ! use FSBOT for surface flux, cannot do layer above CTM (L_+1) FLXD2(:,:) = 0.e+0_fp do LL = 1,2*L1U if (AMF2(LL,LL) .gt. 0.e+0_fp) then FLXD2(LL,K) = (FTAU2(LL+1,K) - FTAU2(LL,K))/AMF2(LL,LL) endif enddo if (AMF2(1,1) .gt. 0.e+0_fp) then FSBOT(K) = FTAU2(1,K)/AMF2(1,1) else FSBOT(K) = 0.e+0_fp endif do LL = 2,2*L1U,2 L=LL/2 FLXD(L,K) = FLXD2(LL,K)+FLXD2(LL-1,K) enddo ! integrate solar flux depositied in CTM layers L=1:L_, cannot do top layer ! note FLXD0 .ne. (1.e+0_fp - FTAU(L_+1))/AMF(L_+1,L_+1) with spherical atmos FLXD0(K) = 0.e+0_fp if (AMF2(2*L1U,2*L1U) .gt. 0.e+0_fp) then do L=1,L1U FLXD0(K) = FLXD0(K) + FLXD(L,K) enddo endif ! --------------------------------------------------------------------- ! Take optical properties on CTM layers and convert to a photolysis ! level grid corresponding to layer centres and boundaries. This is ! required so that J-values can be calculated for the centre of CTM ! layers; the index of these layers is kept in the JNDLEV array. ! --------------------------------------------------------------------- ! Now combine the CTM layer edges (1:L_+2) with the CTM mid-layer ! points (1:L_) plus 1 for the mid point of added top layer. ! combine these edge- and mid-layer points into grid of size: ! L2_+1 = 2*L1_+1 = 2*L_+3 ! calculate column optical depths above each level, TTAU(1:L2_+1) ! note that TTAU(L2_+1)=0 and TTAU(1)=total OD TTAU(L2U+1,K) = 0.0e+0_fp do L2 = L2U,1,-1 L = (L2+1)/2 DTAUJ = 0.5e+0_fp * DTAU(L,K) TTAU(L2,K) = TTAU(L2+1,K) + DTAUJ enddo ! -solar flux incident on lower boundary & Lambertian reflect factor: if (FSBOT(K) .gt. 0.e+0_fp) then ZFLUX(K) = FSBOT(K)*RFL(K)/(1.e+0_fp+RFL(K)) else ZFLUX(K) = 0.e+0_fp endif ! Calculate scattering properties, level centres then level boundaries !>>>>>be careful of order, we are overwriting/shifting the 'POMEGAJ' ! upward in index do L2 = L2U,2,-2 L = L2/2 do I = 1,M2_ POMEGAJ(I,L2,K) = POMEGAJ(I,L,K) enddo enddo ! lower boundary value is set (POMEGAJ(I,1)), but set upper: do I = 1,M2_ POMEGAJ(I,L2U+1,K) = POMEGAJ(I,L2U,K) enddo ! now have POMEGAJ filled at even points from L2=3:L2_-1 ! use inverse interpolation for correct tau-weighted values at edges do L2 = 3,L2U-1,2 TAUDN = TTAU(L2-1,K)-TTAU(L2,K) TAUUP = TTAU(L2,K)-TTAU(L2+1,K) do I = 1,M2_ POMEGAJ(I,L2,K) = (POMEGAJ(I,L2-1,K)*TAUDN + & POMEGAJ(I,L2+1,K)*TAUUP) / (TAUDN+TAUUP) enddo enddo ! at this point FTAU2(1:L2_+1) and POMEAGJ(1:8, 1:L2_+1) ! where FTAU2(L2_+1) = 1.0 = top-of-atmos, FTAU2(1) = surface do L2 = 1,L2U+1 ! L2 = index of CTM edge- and mid-layers L2L = L2LEV(L2) ! L2L = index for L2 in expanded scale(JADD) LZ = ND + 2 - 2*L2L ! LZ = index for L2 in scatt arrays ZTAU(LZ,K) = TTAU(L2,K) FZ(LZ,K) = FTAU2(L2,K) do I=1,M2_ POMEGA(I,LZ,K) = POMEGAJ(I,L2,K) enddo enddo ! Now go thru the pairs of L2 levels to see if we need JADD levels do L2 = 1,L2U ! L2 = index of CTM edge- and mid-layers L2L = L2LEV(L2) ! L2L = index for L2 in expanded scale(JADD) LZ = ND + 2 - 2*L2L ! LZ = index for L2 in scatt arrays L22 = L2LEV(L2+1) - L2LEV(L2) - 1 ! L22 = 0 if no added levels if (L22 .gt. 0) then TAUBTM(K) = TTAU(L2,K) TAUTOP(K) = TTAU(L2+1,K) FBTM(K) = FTAU2(L2,K) FTOP(K) = FTAU2(L2+1,K) do I = 1,M2_ POMEGAB(I,K) = POMEGAJ(I,L2,K) enddo ! to fit L22 new layers between TAUBOT > TAUTOP, calculate new ! 1/ATAU factor ! such that TAU(just above TAU-btm) = ATUAZ * TAUBTM < TAUBTM ATAUZ = exp(-log(TAUBTM(K)/max(TAUTOP(K),ATAU0))/float(L22+1)) do L = 1,L22 ! add odd levels between L2LEV(L2) & L2LEV(L2+1) LZZ = LZ - 2*L ! LZZ = index(odd) of added level in scatt arrays ZTAU(LZZ,K) = TAUBTM(K) * ATAUZ ! fraction from TAUBTM=>TAUTOP ATAUA=(TAUBTM(K)-ZTAU(LZZ,K))/(TAUBTM(K)-TAUTOP(K)) ! solar flux at interp-levels: use exp(TAU/U0) if U0>0.02 ! (89 deg), else scale by TAU if (U0 .gt. 0.02e+0_fp) then FZ(LZZ,K) = FTOP(K) * exp((TAUTOP(K)-ZTAU(LZZ,K))/U0) else if (FBTM(K) .lt. 1.d-32) then FZ(LZZ,K) = 0.e+0_fp else FZ(LZZ,K) = FBTM(K) * (FTOP(K)/FBTM(K))**ATAUA endif endif do I = 1,M2_ POMEGA(I,LZZ,K) = POMEGAB(I,K) + & ATAUA*(POMEGAJ(I,L2+1,K)-POMEGAB(I,K)) enddo TAUBTM(K) = ZTAU(LZZ,K) FBTM(K) = FZ(LZZ,K) do I = 1,M2_ POMEGAB(I,K) = POMEGA(I,LZZ,K) enddo enddo endif enddo ! Now fill in the even points with simple interpolation in scatter arrays do LZ = 2,ND-1,2 ZTAU(LZ,K) = 0.5e+0_fp*(ZTAU(LZ-1,K)+ZTAU(LZ+1,K)) FZ(LZ,K) = sqrt(FZ(LZ-1,K)*FZ(LZ+1,K)) do I=1,M2_ POMEGA(I,LZ,K) = 0.5e+0_fp*(POMEGA(I,LZ-1,K)+POMEGA(I,LZ+1,K)) enddo enddo enddo ! wavelength loop! ! -------------------------------------------------------------------- call MIESCT(FJ,FJT,FJB,POMEGA,FZ,ZTAU,ZFLUX,RFL,U0,ND) ! -------------------------------------------------------------------- ! Move mean intensity from scatter array FJ(LZ=1:ND) ! to CTM mid-level array FJACT(L=1:L_) do K=1,W_ ! mean intensity at mid-layer: 4* + solar !do L = 1,LU ! L2L = JNDLEV(L) ! LZ = ND+2 - 2*L2L ! FJACT(L,K) = 4.e+0_fp*FJ(LZ,K) + FZ(LZ,K) !enddo ! mean intensity averaged throughout layer: do L = 1,LU LZ0 = ND+2 - 2*JNELEV(L) if (L .gt. 1) then LZ1 = ND+2 - 2*JNELEV(L-1) else LZ1 = ND endif SUMJ = (4.e+0_fp*FJ(LZ0,K)+FZ(LZ0,K))*(ZTAU(LZ0+2,K)-ZTAU(LZ0,K)) & + (4.e+0_fp*FJ(LZ1,K)+FZ(LZ1,K))*(ZTAU(LZ1,K)-ZTAU(LZ1-2,K)) SUMT = ZTAU(LZ0+2,K)-ZTAU(LZ0,K) + ZTAU(LZ1,K)-ZTAU(LZ1-2,K) do LZ = LZ0+2,LZ1-2,2 SUMJ =SUMJ+(4.e+0_fp*FJ(LZ,K)+FZ(LZ,K))*(ZTAU(LZ+2,K)-ZTAU(LZ-2,K)) SUMT =SUMT + ZTAU(LZ+2,K)-ZTAU(LZ-2,K) enddo FJACT(L,K) = SUMJ/SUMT enddo ! mean diffuse flux: 4 (not solar) at top of layer L ! average (tau-wtd) the h's just above and below the L-edge do L = 1,LU L2L = JNELEV(L) LZ = ND+2 - 2*L2L FJFLX0 = (ZTAU(LZ+1,K)-ZTAU(LZ,K))/(ZTAU(LZ+1,K)-ZTAU(LZ-1,K)) FJFLX(L,K)=4.e+0_fp*(FJ(LZ-1,K)*FJFLX0 +FJ(LZ+1,K)*(1.e+0_fp-FJFLX0)) enddo ! diffuse fluxes reflected at top, incident at bottom FJTOP(K) = FJT(K) FJBOT(K) = FJB(K) enddo ! wavelength loop! END SUBROUTINE OPMIE !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: miesct ! ! !DESCRIPTION: Subroutine MIESCT is an adaptation of the Prather radiative ! transfer code (mjp, 10/95). !\\ !\\ ! !INTERFACE: ! SUBROUTINE MIESCT(FJ,FJT,FJB, POMEGA,FZ,ZTAU,ZFLUX,RFL,U0,ND) ! ! !USES: ! USE CMN_FJX_Mod, ONLY : EMU, M_, M2_, N_, W_ ! ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: ND REAL(fp), INTENT(IN) :: POMEGA(M2_,N_,W_),FZ(N_,W_),ZTAU(N_,W_), & RFL(W_),U0,ZFLUX(W_) ! ! !OUTPUT VARIABLES: ! REAL(fp), INTENT(OUT) :: FJ(N_,W_),FJT(W_),FJB(W_) ! ! !REMARKS: ! Prather, 1974, Astrophys. J. 192, 787-792. ! Solution of inhomogeneous Rayleigh scattering atmosphere. ! (original Rayleigh w/ polarization) ! Cochran and Trafton, 1978, Ap.J., 219, 756-762. ! Raman scattering in the atmospheres of the major planets. ! (first use of anisotropic code) ! Jacob, Gottlieb and Prather, 1989, J.Geophys.Res., 94, 12975-13002. ! Chemistry of a polluted cloudy boundary layer, ! (documentation of extension to anisotropic scattering) ! . ! takes atmospheric structure and source terms from std J-code ! ALSO limited to 4 Gauss points, only calculates mean field! (M=1) ! ! !REVISION HISTORY: ! 28 Mar 2013 - S. D. Eastham - Copied from Fast-JX v7.0 !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) PM(M_,M2_),PM0(M2_) INTEGER I, IM ,K !================================================================= ! MIESCT begins here! !================================================================= do I = 1,M_ call LEGND0 (EMU(I),PM0,M2_) do IM = 1,M2_ PM(I,IM) = PM0(IM) enddo enddo call LEGND0 (-U0,PM0,M2_) do IM=1,M2_ PM0(IM) = 0.25e+0_fp*PM0(IM) enddo ! BLKSLV now called with all the wavelength arrays (K=1:W_) call BLKSLV(FJ,POMEGA,FZ,ZTAU,ZFLUX,RFL,PM,PM0,FJT,FJB, ND) END SUBROUTINE MIESCT !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: legnd0 ! ! !DESCRIPTION: Subroutine LEGND0 calculates ordinary Legendre functions ! of X (real) from $P[0] = PL(1) = 1, P[1] = X, \dots, P[N-1] = PL(N)$ !\\ !\\ ! !INTERFACE: ! SUBROUTINE LEGND0 (X,PL,N) ! ! !USES: ! ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: N REAL(fp), INTENT(IN) :: X ! ! !OUTPUT VARIABLES: ! REAL(fp), INTENT(OUT) :: PL(N) ! ! !REMARKS: ! ! !REVISION HISTORY: ! 28 Mar 2013 - S. D. Eastham - Copied from Fast-JX v7.0 !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER I REAL(fp) DEN !================================================================= ! LEGND0 begins here! !================================================================= ! Always does PL(2) = P[1] PL(1) = 1.e+0_fp PL(2) = X do I = 3,N DEN = (I-1) PL(I) = PL(I-1)*X*(2.e+0_fp-1.0/DEN) - PL(I-2)*(1.e+0_fp-1.e+0_fp/DEN) enddo END SUBROUTINE LEGND0 !EOC END MODULE FJX_MOD #endif ================================================ FILE: GeosCore/fjx_interface_mod.F90 ================================================ #ifdef FASTJX !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: fjx_interface_mod.F90 ! ! !DESCRIPTION: Module FJX\_INTERFACE\_MOD contains routines and variables ! for interfacing with the Fast-JX scheme (Prather et al) that calculates ! photolysis rates. Current implementation is version 7.0a. !\\ !\\ ! !INTERFACE: ! MODULE FJX_INTERFACE_MOD ! ! !USES: ! USE FJX_Mod USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: Init_FastJX PUBLIC :: Run_FASTJX ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: SET_PROF_FJX ! could consolidate in photolysis_mod perhaps ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: init_fastjx ! ! !DESCRIPTION: Subroutine Init\_FastJX initializes Fast-JX variables. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_FastJX( Input_Opt, State_Diag, State_Chm, RC ) ! ! !USES: ! USE Aerosol_Mod, ONLY : RD_AOD, CALC_AOD USE CMN_FJX_Mod, ONLY : JVN_, NJX, NRATJ, W_, WL USE CMN_FJX_Mod, ONLY : TITLEJX, JLABEL, RNAMES, JFACTA USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE inquireMod, ONLY : findFreeLUN USE State_Chm_Mod, ONLY : ChmState USE State_Chm_Mod, ONLY : Ind_ USE State_Diag_Mod, ONLY : DgnState #if defined( MODEL_CESM ) USE UNITS, ONLY : freeUnit #endif ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(DgnState), INTENT(IN) :: State_Diag ! Diagnostics State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 28 Mar 2013 - S. D. Eastham - Copied from Fast-JX v7.0 ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: notDryRun INTEGER :: JXUNIT, J, NJXX, K ! Strings CHARACTER(LEN=6) :: TITLEJXX(JVN_) CHARACTER(LEN=255) :: DATA_DIR CHARACTER(LEN=255) :: FILENAME CHARACTER(LEN=255) :: ErrMsg, ThisLoc !================================================================= ! Init_FastJX begins here! !================================================================= ! Initialize RC = GC_SUCCESS notDryRun = ( .not. Input_Opt%DryRun ) ErrMsg = '' ThisLoc = ' -> at Init_FastJX (in module GeosCore/fjx_interface_mod.F90)' ! Skip these opterations when running in dry-run mode IF ( notDryRun ) THEN ! Print info IF ( Input_Opt%amIRoot ) THEN write(6,*) ' Initializing Fast-JX v7.0 standalone CTM code.' if (W_.ne.8 .and. W_.ne.12 .and. W_.ne.18) then ErrMsg = 'Invalid number of wavelengths (W_)' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN endif ENDIF #if defined( MODEL_CESM ) IF ( Input_Opt%amIRoot ) THEN JXUNIT = findFreeLUN() ELSE JXUNIT = 0 ENDIF #else ! Get a free LUN JXUNIT = findFreeLUN() #endif ENDIF ! Define data directory for FAST-JX input DATA_DIR = TRIM( Input_Opt%FAST_JX_DIR ) !===================================================================== ! Read in fast-J X-sections (spectral data) !===================================================================== FILENAME = TRIM( DATA_DIR ) // 'FJX_spec.dat' ! Read file, or just print filename if we are in dry-run mode CALL RD_XXX( Input_Opt%amIRoot, Input_Opt%DryRun, JXUNIT, & TRIM( FILENAME ), RC) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in FAST-JX routine "RD_XXX"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Skip if in dry-run mode IF ( notDryRun ) THEN NJXX = NJX do J = 1,NJX TITLEJXX(J) = TITLEJX(J) enddo ENDIF !===================================================================== ! Read in 5-wavelength scattering data ! (or just print file name if in dry-run mode) !===================================================================== FILENAME = TRIM( DATA_DIR ) // 'jv_spec_mie.dat' ! Read data CALL RD_MIE( Input_Opt%amIRoot, Input_Opt%DryRun, Input_Opt%LBRC, & JXUNIT, TRIM( FILENAME ), RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in FAST-JX routine "RD_MIE"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !===================================================================== ! Read in photolysis rates used in chemistry code and mapping onto ! FJX J's CTM call: read in J-values names and link to fast-JX names !===================================================================== FILENAME = TRIM( DATA_DIR ) // 'FJX_j2j.dat' ! Read mapping information CALL RD_JS_JX( Input_Opt%amIRoot, Input_Opt%DryRun, JXUNIT, & TRIM( FILENAME ), TITLEJXX, NJXX, RC ) ! Store # of photolysis reactions in state_chm for easy reference State_Chm%Phot%nPhotRxns = NRatJ #if defined( MODEL_CESM ) IF ( notDryRun .AND. Input_Opt%amIRoot ) THEN CALL freeUnit(JXUnit) ENDIF #endif !------------------------------------------------------------------------ ! Read in AOD data !------------------------------------------------------------------------ CALL RD_AOD( Input_Opt, State_Chm, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in routine "RD_AOD"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF (Input_Opt%amIRoot) WRITE(6,*) 'Wavelength optics read successfully' !------------------------------------------------------------------------ ! Compute the required wavelengths in the LUT to calculate requested AOD !------------------------------------------------------------------------ CALL CALC_AOD( Input_Opt, State_Chm, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in routine "CALC_AOD"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF END SUBROUTINE Init_FastJX !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !ROUTINE: run_fastjx ! ! !DESCRIPTION: Subroutine RUN|_FASTJX loops over longitude and latitude, and ! calls PHOTO\_JX to compute J-Values for each column at every chemistry ! time-step. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Run_FastJX( WLAOD, Input_Opt, State_Chm, & State_Diag, State_Grid, State_Met, RC ) ! ! !USES: ! USE CMN_FJX_Mod, ONLY : AN_, L_, L1_, W_, JVN_, JXL_, JXL1_ USE CMN_FJX_Mod, ONLY : NRATJ, JIND, JFACTA, FL USE CMN_SIZE_MOD, ONLY : NDUST, NRH, NRHAER, NSTRATAER USE ErrCode_Mod USE ERROR_MOD, ONLY : ERROR_STOP, ALLOC_ERR USE ERROR_MOD, ONLY : DEBUG_MSG USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Chm_Mod, ONLY : Ind_ USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_MONTH, GET_DAY, GET_DAY_OF_YEAR USE TIME_MOD, ONLY : GET_TAU, GET_YEAR USE TOMS_MOD, ONLY : GET_OVERHEAD_O3 IMPLICIT NONE !============================================================================== ! Uncomment the appropriate #define statement to denote which of the ! available cloud overlap options that you wish to use. !! Linear overlap !#define USE_LINEAR_OVERLAP 1 ! Approximate random overlap (balance between accuracy & speed) #define USE_APPROX_RANDOM_OVERLAP 1 !! Maximum random cloud overlap (most computationally intensive) !#define USE_MAXIMUM_RANDOM_OVERLAP 1 !============================================================================== ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: WLAOD ! AOD calculated how? ! (1: 550 nm, 0: 999 nm) TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input options TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! Parameter to choose cloud overlap algorithm: ! ============================================================================ ! (1 ) OVERLAP (INTEGER) : 1 - Linear Approximation (used up to v7-04-12) ! 2 - Approximate Random Overlap (default) ! 3 - Maximum Random Overlap (computation intensive) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER, SAVE :: LASTMONTH = -1 INTEGER :: NLON, NLAT, DAY, MONTH, DAY_OF_YR, L, N, J INTEGER :: IOPT, LCHEM REAL(fp) :: U0, PRES, RFL, YLAT, O3_TOMS, SZA, SOLF REAL(fp) :: O3_CTM(State_Grid%NZ+1) REAL(fp) :: T_CTM(State_Grid%NZ+1), OPTD(State_Grid%NZ) REAL(fp) :: OPTDUST(State_Grid%NZ,NDUST) REAL(fp) :: OPTAER(State_Grid%NZ,NRHAER*NRH+NSTRATAER) ! Local variables for cloud overlap (hyl, phs) INTEGER :: NUMB, KK, I INTEGER :: INDIC(State_Grid%NZ+1) INTEGER :: INDGEN(State_Grid%NZ+1)! = (/ (i,i=1,State_Grid%NZ+1) /) INTEGER :: KBOT(State_Grid%NZ) INTEGER :: KTOP(State_Grid%NZ) INTEGER :: INDICATOR(State_Grid%NZ+2) REAL(fp) :: FMAX(State_Grid%NZ) ! maximum cloud fraction ! in a block, size can be to ! FIX(State_Grid%NZ)+1 REAL(fp) :: CLDF1D(State_Grid%NZ) REAL(fp) :: ODNEW(State_Grid%NZ) REAL(fp) :: P_CTM(State_Grid%NZ+2) REAL(fp) :: AERX_COL(AN_,L1_) REAL(fp) :: T_CLIM(L1_) REAL(fp) :: O3_CLIM(L1_) REAL(fp) :: Z_CLIM(L1_+1) REAL(fp) :: AIR_CLIM(L1_) REAL(fp) :: VALJXX(L_,JVN_) LOGICAL :: AOD999 LOGICAL, SAVE :: FIRST = .true. LOGICAL :: prtDebug ! Species ID flags INTEGER, SAVE :: id_O3 ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc ! Input to set_prof REAL(fp) :: ODCLOUD_COL(L_) ! Output from photo_jx for use in diagnostics REAL(fp), DIMENSION(W_) :: FJBOT,FSBOT REAL(fp), DIMENSION(JXL1_,W_) :: FLXD REAL(fp), DIMENSION(JXL_, W_) :: FJFLX ! UVFlux* diagnostics REAL(fp) :: FDIRECT (JXL1_) REAL(fp) :: FDIFFUSE(JXL1_) REAL(fp) :: UVX_CONST INTEGER :: S, K ! Pointers INTEGER, POINTER :: IRHARR (:,:,:) REAL(fp), POINTER :: UVXFACTOR(:) REAL(fp), POINTER :: ZPJ (:,:,:,:) REAL(fp), POINTER :: ODAER (:,:,:,:,:) REAL(fp), POINTER :: ODMDUST (:,:,:,:,:) !================================================================= ! Run_FastJX begins here! !================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Run_FastJX (in module GeosCore/fjx_interface_mod.F90)' prtDebug = Input_Opt%Verbose ! Set pointers ZPJ => State_Chm%Phot%ZPJ IRHARR => State_Chm%Phot%IRHARR UVXFACTOR => State_Chm%Phot%UVXFACTOR ODAER => State_Chm%Phot%ODAER ODMDUST => State_Chm%Phot%ODMDUST ! Get day of year (0-365 or 0-366) DAY_OF_YR = GET_DAY_OF_YEAR() ! Get current month MONTH = GET_MONTH() ! Get day of month DAY = GET_DAY() ! Was AOD calculated at 999 nm or reference? AOD999 = ( WLAOD == 0 ) ! Zero diagnostic archival arrays to make sure that we don't have any ! leftover values from the last timestep near the top of the chemgrid IF ( State_Diag%Archive_UVFluxDiffuse ) State_Diag%UVFluxDiffuse = 0.0_f4 IF ( State_Diag%Archive_UVFluxDirect ) State_Diag%UVFluxDirect = 0.0_f4 IF ( State_Diag%Archive_UVFluxNet ) State_Diag%UVFluxNet = 0.0_f4 IF ( State_Diag%Archive_OD600 ) State_Diag%OD600 = 0.0_f4 IF ( State_Diag%Archive_TCOD600 ) State_Diag%TCOD600 = 0.0_f4 !----------------------------------------------------------------- ! Special handling for first-time setup !----------------------------------------------------------------- IF ( FIRST ) THEN ! Get the species ID for O3 id_O3 = Ind_('O3') IF ( id_O3 < 0 ) THEN ErrMsg = 'O3 is not a defined species!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF #ifdef USE_MAXIMUM_RANDOM_OVERLAP ! Special setup only for max random overlap DO i = 1,State_Grid%NZ+1 INDGEN(i) = i !(/(i,i=1,State_Grid%NZ+1)/) ENDDO #endif ! Reset first-time flag FIRST = .FALSE. ENDIF !================================================================= ! For each (NLON,NLAT) location, call subroutine PHOTO_JX (in a ! parallel loop to compute J-values for the entire column. ! J-values will be stored in the common-block variable ZPJ, and ! will be later accessed via function FJXFUNC. !================================================================= !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( NLAT, NLON, YLAT, U0, L ) & !$OMP PRIVATE( P_CTM , T_CTM, RFL, O3_TOMS, O3_CTM ) & !$OMP PRIVATE( LCHEM, OPTAER, N, IOPT, J ) & !$OMP PRIVATE( OPTDUST, OPTD, CLDF1D ) & #ifdef USE_MAXIMUM_RANDOM_OVERLAP !$OMP PRIVATE( FMAX, KK, NUMB, KBOT ) & !$OMP PRIVATE( KTOP ODNEW, INDICATOR, INDIC ) & #endif !$OMP PRIVATE( SZA, SOLF, ODCLOUD_COL ) & !$OMP PRIVATE( AERX_COL, T_CLIM, O3_CLIM, Z_CLIM, AIR_CLIM ) & !$OMP PRIVATE( VALJXX, FSBOT, FJBOT, FLXD, FJFLX ) & !$OMP PRIVATE( FDIRECT, FDIFFUSE, UVX_CONST, K, S ) & !$OMP SCHEDULE( DYNAMIC ) ! Loop over latitudes and longitudes DO NLAT = 1, State_Grid%NY DO NLON = 1, State_Grid%NX ! Grid box latitude [degrees] YLAT = State_Grid%YMid( NLON, NLAT ) ! Cosine of solar zenith angle [unitless] at (NLON,NLAT) U0 = State_Met%SUNCOSmid(NLON,NLAT) ! Define the P array here DO L = 1, State_Grid%NZ+1 P_CTM(L) = State_Met%PEDGE( NLON, NLAT, L ) ENDDO ! Top edge of P_CTM is top of atmosphere (bmy, 2/13/07) P_CTM(State_Grid%NZ+2) = 0e+0_fp ! Temperature profile [K] at (NLON,NLAT) T_CTM(1:State_Grid%NZ) = State_Met%T( NLON, NLAT, 1:State_Grid%NZ) ! Top of atmosphere T_CTM(State_Grid%NZ+1) = T_CTM(State_Grid%NZ) ! Surface albedo [unitless] at (NLON,NLAT) RFL = State_Met%UVALBEDO(NLON,NLAT) ! Overhead ozone column [DU] at (NLON, NLAT) ! These values are either from the met fields or TOMS/SBUV, ! depending on the settings in geoschem_config.yml O3_TOMS = GET_OVERHEAD_O3( State_Chm, NLON, NLAT ) ! CTM ozone densities (molec/cm3) at (NLON, NLAT) O3_CTM = 0e+0_fp LCHEM = State_Met%ChemGridLev(NLON,NLAT) DO L = 1, LCHEM O3_CTM(L) = State_Chm%Species(id_O3)%Conc(NLON,NLAT,L) ENDDO ! Aerosol OD profile [unitless] at (NLON,NLAT) ! and at 1000nm, IWV1000 (DAR) OPTAER = 0.0e+0_fp ! OD profiles for aerosols undergoing hygroscopic growth. The OD ! profile array has 5 columns for each of these aerosols, one for each ! humidity in the optical properties LUT used by Fast-JX. For each grid ! cell and aerosol, assign OD based on humidity in the grid box; values for ! that grid cell and aerosol will be zero for all other humidity bins, ! e.g. if RH<50% at L=1 then OPTAER(1,1) will contain SO4 OD and OPTAER(1,2:5) ! will be all zeros. DO N = 1, NRHAER DO L = 1, State_Grid%NZ IOPT = ( (N-1) * NRH ) + IRHARR(NLON,NLAT,L) OPTAER(L,IOPT) = ODAER(NLON,NLAT,L,State_Chm%Phot%IWV1000,N) ENDDO ENDDO ! OD profiles for stratospheric aerosols (N=1: ssa, N=2: psc) DO N = 1, NSTRATAER DO L = 1, State_Grid%NZ IOPT = (NRHAER * NRH) + N OPTAER(L,IOPT) = ODAER(NLON,NLAT,L,State_Chm%Phot%IWV1000,NRHAER+N) ENDDO ENDDO ! Mineral dust optical depth profiles DO N = 1, NDUST DO L = 1, State_Grid%NZ OPTDUST(L,N) = ODMDUST(NLON,NLAT,L,State_Chm%Phot%IWV1000,N) ENDDO ENDDO ! Cloud OD profile [unitless] at (NLON,NLAT) OPTD = State_Met%OPTD(NLON,NLAT,1:State_Grid%NZ) #if defined( MODEL_GEOS ) ! Initialize diagnostics arrays IF ( State_Diag%Archive_EXTRALNLEVS ) THEN State_Diag%EXTRALNLEVS(NLON,NLAT) = 0.0 ENDIF IF ( State_Diag%Archive_EXTRALNITER ) THEN State_Diag%EXTRALNITER(NLON,NLAT) = 0.0 ENDIF #endif if (State_Grid%NZ+1 .gt. JXL1_) then ErrMsg = ' PHOTO_JX: not enough levels in JX' call Error_Stop( ErrMsg, ThisLoc ) endif ! Input conversion (SDE 03/29/13) ! Calculate solar zenith angle (degrees) CALL SOLAR_JX(DAY_OF_YR,U0,SZA,SOLF) ! check for dark conditions SZA > 98.0 deg => tan ht = 63 km or ! 99.0 80 km if (SZA .gt. 98.e+0_fp) cycle #if defined( USE_LINEAR_OVERLAP ) !=========================================================== ! %%%% CLOUD OVERLAP: LINEAR ASSUMPTION %%%% ! ! Directly use OPTDEPTH = TAUCLD * CLDTOT !=========================================================== ! Column cloud fraction (not less than zero) CLDF1D = State_Met%CLDF(NLON,NLAT,1:State_Grid%NZ) WHERE ( CLDF1D < 0e+0_fp ) CLDF1D = 0e+0_fp ! NOTE: For GEOS-FP and MERRA-2 met fields, the optical ! depth is the in-cloud optical depth. At this point it has ! NOT been multiplied by cloud fraction yet. Therefore, we can ! just apply the ! we can just apply the linear overlap formula ! as written above (i.e. multiply by cloud fraction). OPTD = OPTD * CLDF1D #elif defined( USE_APPROX_RANDOM_OVERLAP ) !=========================================================== ! %%%% CLOUD OVERLAP: APPROX RANDOM OVERLAP ASSUMPTION %%%% ! ! Use OPTDEPTH = TAUCLD * CLDTOT**1.5 !=========================================================== ! Column cloud fraction (not less than zero) CLDF1D = State_Met%CLDF(NLON,NLAT,1:State_Grid%NZ) WHERE ( CLDF1D < 0e+0_fp ) CLDF1D = 0e+0_fp ! NOTE: For GEOS-FP and MERRA-2 met fields, the optical ! depth is the in-cloud optical depth. At this point it has ! NOT been multiplied by cloud fraction yet. Therefore, we can ! just apply the approximate random overlap formula as written ! above (i.e. multiply by cloud fraction^1.5). OPTD = OPTD * ( CLDF1D )**1.5e+0_fp #elif defined( USE_MAXIMUM_RANDOM_OVERLAP ) ! See commented out code in github history CALL ERROR_STOP('MMRAN_16 not yet FJX compatible.', & 'fjx_interface_mod.F90') #endif ! Copy cloud OD data to a variable array DO L=1,L_ ODCLOUD_COL(L) = OPTD(L) ENDDO ! Use GEOS-Chem methodology to set vertical profiles of: ! Pressure (PPJ) [hPa] ! Temperature (T_CLIm) [K] ! Path density (DDJ) [# molec/cm2] ! New methodology for: ! Ozone density (OOJ) [# O3 molec/cm2] CALL SET_PROF_FJX( YLAT, MONTH, DAY, T_CTM, & P_CTM, OPTD, OPTDUST, OPTAER, & O3_CTM, O3_TOMS, AERX_COL, T_CLIM, & O3_CLIM, Z_CLIM, AIR_CLIM, Input_Opt, & State_Chm, State_Met ) ! Call FAST-JX routines to compute J-values CALL PHOTO_JX( Input_Opt%amIRoot, Input_Opt%DryRun, U0, & RFL, SZA, SOLF, & P_CTM, T_CTM, AOD999, & NLON, NLAT, AERX_COL, & T_CLIM, O3_CLIM, Z_CLIM, & AIR_CLIM, State_Met%maxChemLev, State_Chm, & VALJXX, FSBOT, FJBOT, & FLXD, FJFLX, Input_Opt, & State_Diag ) ! Fill out common-block array of J-rates using PHOTO_JX output DO L=1,State_Met%MaxChemLev DO J=1,NRATJ IF (JIND(J).gt.0) THEN ZPJ(L,J,NLON,NLAT) = VALJXX(L,JIND(J))*JFACTA(J) ELSE ZPJ(L,J,NLON,NLAT) = 0.e+0_fp ENDIF ENDDO ENDDO ! Set J-rates outside the chemgrid to zero IF (State_Met%MaxChemLev.lt.L_) THEN DO L=State_Met%MaxChemLev+1,L_ DO J=1,NRATJ ZPJ(L,J,NLON,NLAT) = 0.e+0_fp ENDDO ENDDO ENDIF !================================================================= ! UV radiative fluxes (direct, diffuse, net) [W/m2] ! ! Updated for netCDF from nd64 (JMM 2019-09-11) ! Use it to calculate fluxes for output if necessary ! ! Get net direct and net diffuse fluxes separately ! Order: ! 1 - Net flux ! 2 - Direct flux ! 3 - Diffuse flux ! Convention: negative is downwards !================================================================= ! TODO TODO TODO - there seems to be a parallelization error here IF ( State_Diag%Archive_UVFluxDiffuse .or. & State_Diag%Archive_UVFluxDirect .or. & State_Diag%Archive_UVFluxNet ) THEN ! Loop over wavelength bins DO K = 1, W_ ! Initialize FDIRECT = 0.0_fp FDIFFUSE = 0.0_fp ! Direct & diffuse fluxes at each level FDIRECT(1) = FSBOT(K) ! surface FDIFFUSE(1) = FJBOT(K) ! surface DO L = 2, State_Grid%NZ FDIRECT(L) = FDIRECT(L-1) + FLXD(L-1,K) FDIFFUSE(L) = FJFLX(L-1,K) ENDDO ! Constant to multiply UV fluxes at each wavelength bin UVX_CONST = SOLF * FL(K) * UVXFACTOR(K) ! Archive into diagnostic arrays DO L = 1, State_Grid%NZ IF ( State_Diag%Archive_UVFluxNet ) THEN S = State_Diag%Map_UvFluxNet%id2slot(K) IF ( S > 0 ) THEN State_Diag%UVFluxNet(NLON,NLAT,L,S) = & State_Diag%UVFluxNet(NLON,NLAT,L,S) + & ( ( FDIRECT(L) + FDIFFUSE(L) ) * UVX_CONST ) ENDIF ENDIF IF ( State_Diag%Archive_UVFluxDirect ) THEN S = State_Diag%Map_UvFluxDirect%id2slot(K) IF ( S > 0 ) THEN State_Diag%UVFluxDirect(NLON,NLAT,L,S) = & State_Diag%UVFluxDirect(NLON,NLAT,L,S) + & ( FDIRECT(L) * UVX_CONST ) ENDIF ENDIF IF ( State_Diag%Archive_UVFluxDiffuse ) THEN S = State_Diag%Map_UvFluxDiffuse%id2slot(K) IF ( S > 0 ) THEN State_Diag%UVFluxDiffuse(NLON,NLAT,L,S) = & State_Diag%UVFluxDiffuse(NLON,NLAT,L,S) + & ( FDIFFUSE(L) * UVX_CONST ) ENDIF ENDIF ENDDO ENDDO ENDIF ENDDO ENDDO !$OMP END PARALLEL DO ! Reset first-time flag FIRST=.FALSE. ! Free pointers ZPJ => NULL() IRHARR => NULL() UVXFACTOR => NULL() ODAER => NULL() ODMDUST => NULL() END SUBROUTINE Run_FastJX !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: set_prof_fjx ! ! !DESCRIPTION: Subroutine SET\_PROF\_FJX sets vertical profiles for a given ! latitude and longitude. !\\ !\\ ! !INTERFACE: ! SUBROUTINE SET_PROF_FJX( YLAT, MONTH, DAY, T_CTM, & P_CTM, CLDOD, DSTOD, AEROD, & O3_CTM, O3_TOMS, AERCOL, T_CLIM, & O3_CLIM, Z_CLIM, AIR_CLIM, Input_Opt, & State_Chm, State_Met ) ! ! !USES: ! USE CMN_FJX_Mod, ONLY : L_, L1_, AN_, ZZHT USE CMN_SIZE_Mod, ONLY : NDUST, NRH, NRHAER, NSTRATAER USE Input_Opt_Mod, ONLY : OptInput USE PhysConstants, ONLY : AIRMW, AVO, g0, BOLTZ USE State_Chm_Mod, ONLY : ChmState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: YLAT ! Latitude (degrees) INTEGER, INTENT(IN) :: MONTH ! Month INTEGER, INTENT(IN) :: DAY ! Day *of month* REAL(fp), INTENT(IN) :: T_CTM(L1_) ! CTM temperatures (K) REAL(fp), INTENT(IN) :: O3_TOMS ! O3 column (DU) REAL(fp), INTENT(IN) :: P_CTM(L1_+1) ! CTM edge pressures (hPa) REAL(fp), INTENT(INOUT) :: CLDOD(L_) ! Cloud optical depth REAL(fp), INTENT(IN) :: DSTOD(L_,NDUST) ! Mineral dust OD REAL(fp), INTENT(IN) :: AEROD(L_,NRHAER*NRH+NSTRATAER) ! Aerosol OD REAL(fp), INTENT(IN) :: O3_CTM(L1_) ! CTM ozone (molec/cm3) TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input options TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(MetState), INTENT(IN) :: State_Met ! Grid State object ! ! !OUTPUT VARIABLES: ! REAL(fp), INTENT(OUT) :: AERCOL(AN_,L1_) ! Aerosol column REAL(fp), INTENT(OUT) :: T_CLIM(L1_) ! Clim. temperatures (K) REAL(fp), INTENT(OUT) :: Z_CLIM(L1_+1) ! Edge altitudes (cm) REAL(fp), INTENT(OUT) :: O3_CLIM(L1_) ! O3 column depth (#/cm2) REAL(fp), INTENT(OUT) :: AIR_CLIM(L1_) ! O3 column depth (#/cm2) ! ! !REMARKS: ! ! !REVISION HISTORY: ! 30 Mar 2013 - S. D. Eastham - Adapted from J. Mao code ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, K, L, M, N, LCTM REAL(fp) :: DLOGP,F0,T0,B0,PB,PC,XC,MASFAC,SCALEH REAL(fp) :: PSTD(52),OREF2(51),TREF2(51) REAL(fp) :: PROFCOL, ODSUM REAL(fp), PARAMETER :: ODMAX = 200.0e+0_fp ! Local variables for quantities from Input_Opt LOGICAL :: USE_ONLINE_O3 ! Debugging logicals to turn optical depth sources on/off LOGICAL :: use_liqcld LOGICAL :: use_icecld LOGICAL :: use_dust LOGICAL :: use_so4 LOGICAL :: use_bc LOGICAL :: use_oc LOGICAL :: use_sala LOGICAL :: use_salc LOGICAL :: use_stratso4 LOGICAL :: use_psc !================================================================= ! SET_PROF begins here! !================================================================= ! Debugging option to turn optical depth sources on/off. Uncomment where ! used elsewhere in this file to use. They are commented out by default ! to avoid unnecessary model slow-down. use_liqcld = .true. use_icecld = .true. use_dust = .true. use_so4 = .true. use_bc = .true. use_oc = .true. use_sala = .true. use_salc = .true. use_stratso4 = .true. use_psc = .true. ! Copy fields from INPUT_OPT USE_ONLINE_O3 = Input_Opt%USE_ONLINE_O3 ! Zero aerosol column DO K=1,AN_ DO I=1,L1_ AERCOL(K,I) = 0.e+0_fp ENDDO ENDDO ! Scale optical depths to stay within limits ODSUM = 0.e+0_fp DO I=1,L_ CLDOD(I) = DBLE(CLDOD(I)) ODSUM = ODSUM + CLDOD(I) ENDDO IF (ODSUM.gt.ODMAX) THEN ODSUM = ODMAX/ODSUM ! Temporary DO I=1,L_ CLDOD(I) = CLDOD(I)*ODSUM ENDDO ODSUM = ODMAX ENDIF !================================================================= ! Set up pressure levels for O3/T climatology - assume that value ! given for each 2 km z* level applies from 1 km below to 1 km ! above, so select pressures at these boundaries. Surface level ! values at 1000 mb are assumed to extend down to the actual ! surface pressure for this lat/lon. !================================================================= PSTD(1) = MAX(P_CTM(1),1000.e+0_fp) PSTD(2) = 1000.e+0_fp * 10.e+0_fp ** (-1.e+0_fp/16.e+0_fp) DLOGP = 10.e+0_fp**(-2.e+0_fp/16.e+0_fp) DO I=3,51 PSTD(I) = PSTD(I-1) * DLOGP ENDDO PSTD(52) = 0.e+0_fp ! Mass factor - delta-Pressure [hPa] to delta-Column [molec/cm2] MASFAC = 100.e+0_fp * AVO / ( AIRMW * g0 * 10.e+0_fp ) ! Select appropriate monthly and latitudinal profiles ! Now use YLAT instead of Oliver's YDGRD(NSLAT) (bmy, 9/13/99) M = MAX( 1, MIN( 12, MONTH ) ) L = MAX( 1, MIN( 18, ( INT(YLAT) + 99 ) / 10 ) ) ! Temporary arrays for climatology data DO I = 1, 51 OREF2(I) = State_Chm%Phot%OREF(I,L,M) TREF2(I) = State_Chm%Phot%TREF(I,L,M) ENDDO ! Apportion O3 and T on supplied climatology z* levels onto CTM levels ! with mass (pressure) weighting, assuming constant mixing ratio and ! temperature half a layer on either side of the point supplied. DO I = 1, L1_ F0 = 0.e+0_fp T0 = 0.e+0_fp DO K = 1, 51 PC = MIN( P_CTM(I), PSTD(K) ) PB = MAX( P_CTM(I+1), PSTD(K+1) ) IF ( PC .GT. PB ) THEN XC = ( PC - PB ) / ( P_CTM(I) - P_CTM(I+1) ) F0 = F0 + OREF2(K)*XC T0 = T0 + TREF2(K)*XC ENDIF ENDDO T_CLIM(I) = T0 O3_CLIM(I) = F0 * 1.e-6_fp ENDDO !================================================================= ! Calculate effective altitudes using scale height at each level !================================================================= Z_CLIM(1) = 0.e+0_fp DO I = 1, L_ SCALEH = BOLTZ * 1.e+4_fp * MASFAC * T_CLIM(I) Z_CLIM(I+1) = Z_CLIM(I) - ( LOG( P_CTM(I+1) / P_CTM(I) ) * SCALEH ) ENDDO Z_CLIM(L1_+1)=Z_CLIM(L1_) + ZZHT !================================================================= ! Add Aerosol Column - include aerosol types here. Currently use ! soot water and ice; assume black carbon x-section of 10 m2/g, ! independent of wavelength; assume limiting temperature for ! ice of -40 deg C. !================================================================= DO I = 1, L_ ! Turn off uniform black carbon profile (rvm, bmy, 2/27/02) AERCOL(1,I) = 0e+0_fp IF ( T_CTM(I) .GT. 233.e+0_fp ) THEN AERCOL(2,I) = CLDOD(I) AERCOL(3,I) = 0.e+0_fp ELSE AERCOL(2,I) = 0.e+0_fp AERCOL(3,I) = CLDOD(I) ENDIF ! Mineral dust optical depth columns DO N = 1, NDUST AERCOL(3+N,I) = DSTOD(I,N) ENDDO ! Aerosol optical depth columns for aerosols undergroing ! hygroscopic growth DO N = 1, NRHAER*NRH AERCOL(3+NDUST+N,I) = AEROD(I,N) ENDDO ! Stratospheric aerosol optical depth columns DO N = 1, NSTRATAER AERCOL(3+NDUST+NRHAER*NRH+N,I) = AEROD(I,NRHAER*NRH+N) ENDDO ENDDO DO K = 1,AN_ AERCOL(K,L1_ ) = 0.e+0_fp ENDDO ! Debugging option to turn off contributions for different sources. ! Uncomment if using. !IF ( .NOT. use_liqcld ) AERCOL(2,:) = 0.0_fp !IF ( .NOT. use_icecld ) AERCOL(3,:) = 0.0_fp !IF ( .NOT. use_dust ) AERCOL(4:10,:) = 0.0_fp !IF ( .NOT. use_so4 ) AERCOL(11:15,:) = 0.0_fp !IF ( .NOT. use_bc ) AERCOL(16:20,:) = 0.0_fp !IF ( .NOT. use_oc ) AERCOL(21:25,:) = 0.0_fp !IF ( .NOT. use_sala ) AERCOL(26:30,:) = 0.0_fp !IF ( .NOT. use_salc ) AERCOL(31:35,:) = 0.0_fp !IF ( .NOT. use_stratso4 ) AERCOL(36,:) = 0.0_fp !IF ( .NOT. use_psc ) AERCOL(37,:) = 0.0_fp !================================================================= ! Calculate column quantities for FAST-JX !================================================================= PROFCOL = 0e+0_fp DO I = 1, L1_ ! Monthly mean air Column [molec/cm2] AIR_CLIM(I) = ( P_CTM(I) - P_CTM(I+1) ) * MASFAC ! Monthly mean O3 column [molec/cm2] O3_CLIM(I) = O3_CLIM(I) * AIR_CLIM(I) ! Monthly mean O3 column [DU] PROFCOL = PROFCOL + ( O3_CLIM(I) / 2.69e+16_fp ) ENDDO !! Top values are special (do not exist in CTM data) !AIR_CLIM(L1_) = P_CTM(L1_) * MASFAC !O3_CLIM(L1_) = O3_CLIM(L1_) * AIR_CLIM(L1_) !================================================================= ! Now weight the O3 column by the observed monthly mean TOMS. ! Missing data is denoted by the flag -999. (mje, bmy, 7/15/03) ! ! TOMS/SBUV MERGED TOTAL OZONE DATA, Version 8, Revision 3. ! Resolution: 5 x 10 deg. ! ! Methodology (bmy, 2/12/07) ! ---------------------------------------------------------------- ! FAST-J comes with its own default O3 column climatology (from ! McPeters 1992 & Nagatani 1991), which is stored in the input ! file "jv_atms.dat". These "FAST-J default" O3 columns are used ! in the computation of the actinic flux and other optical ! quantities for the FAST-J photolysis. ! ! The TOMS/SBUV O3 columns and 1/2-monthly O3 trends (contained ! in the TOMS_200701 directory) are read into GEOS-Chem by routine ! READ_TOMS in "toms_mod.f". Missing values (i.e. locations where ! there are no data) in the TOMS/SBUV O3 columns are defined by ! the flag -999. ! ! After being read from disk in routine READ_TOMS, the TOMS/SBUV ! O3 data are then passed to the FAST-J routine "set_prof.f". In ! "set_prof.f", a test is done to make sure that the TOMS/SBUV O3 ! columns and 1/2-monthly trends do not have any missing values ! for (lat,lon) location for the given month. If so, then the ! TOMS/SBUV O3 column data is interpolated to the current day and ! is used to weight the "FAST-J default" O3 column. This ! essentially "forces" the "FAST-J default" O3 column values to ! better match the observations, as defined by TOMS/SBUV. ! ! If there are no TOMS/SBUV O3 columns (and 1/2-monthly trends) ! at a (lat,lon) location for given month, then FAST-J will revert ! to its own "default" climatology for that location and month. ! Therefore, the TOMS O3 can be thought of as an "overlay" data ! -- it is only used if it exists. ! ! Note that there are no TOMS/SBUV O3 columns at the higher ! latitudes. At these latitudes, the code will revert to using ! the "FAST-J default" O3 columns. ! ! As of February 2007, we have TOMS/SBUV data for 1979 thru 2005. ! 2006 TOMS/SBUV data is incomplete as of this writing. For years ! 2006 and onward, we use 2005 TOMS O3 columns. ! ! This methodology was originally adopted by Mat Evans. Symeon ! Koumoutsaris was responsible for creating the downloading and ! processing the TOMS O3 data files from 1979 thru 2005 in the ! TOMS_200701 directory. !================================================================= ! Since we now have stratospheric ozone calculated online, use ! this instead of archived profiles for all chemistry-grid cells ! The variable O3_CTM is obtained from State_Met%Species, and will be 0 ! outside the chemgrid (in which case we use climatology) ! Scale monthly O3 profile to the daily O3 profile (if available) DO I = 1, L1_ ! Use online O3 values in the chemistry grid if selected IF ( (USE_ONLINE_O3) .and. & (I <= State_Met%MaxChemLev) .and. & (O3_CTM(I) > 0e+0_fp) ) THEN ! Convert from molec/cm3 to molec/cm2 O3_CLIM(I) = O3_CTM(I) * (Z_CLIM(I+1)-Z_CLIM(I)) ! Otherwise, use O3 values from the met fields or TOMS/SBUV ELSEIF (O3_TOMS > 0e+0_fp) THEN O3_CLIM(I) = O3_CLIM(I) * ( O3_TOMS / PROFCOL ) ENDIF ENDDO END SUBROUTINE SET_PROF_FJX !EOC END MODULE FJX_INTERFACE_MOD #endif ================================================ FILE: GeosCore/flexgrid_read_mod.F90 ================================================ #if defined( MODEL_CLASSIC ) !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: flexgrid_read_mod.F90 ! ! !DESCRIPTION: Module FLEXGRID\_READ\_MOD contains subroutines for reading the ! metfield from disk (in netCDF format). !\\ !\\ ! !INTERFACE: ! MODULE FlexGrid_Read_Mod ! ! !USES: ! USE ERROR_MOD, ONLY : ERROR_STOP ! Stop w/ error message USE PhysConstants ! Physical constants USE TIME_MOD ! Date & time routines IMPLICIT NONE PRIVATE ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: FlexGrid_Read_A3cld PRIVATE :: FlexGrid_Read_A3dyn PRIVATE :: FlexGrid_Read_A3mstC PRIVATE :: FlexGrid_Read_A3mstE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: FlexGrid_Read_CN PUBLIC :: FlexGrid_Read_A1 PUBLIC :: FlexGrid_Read_A1dyn PUBLIC :: FlexGrid_Read_A3 PUBLIC :: FlexGrid_Read_I1dyn_1 PUBLIC :: FlexGrid_Read_I1dyn_2 PUBLIC :: FlexGrid_Read_I3_1 PUBLIC :: FlexGrid_Read_I3_2 PUBLIC :: Copy_I3_Fields PUBLIC :: Copy_I1dyn_Fields ! ! !REMARKS: ! Assumes that you have a netCDF library (either v3 or v4) installed on ! your system. ! ! !REVISION HISTORY: ! 30 Jan 2012 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: FlexGrid_Read_cn ! ! !DESCRIPTION: Routine to read variables and attributes from a NetCDF ! met fields file containing constant (CN) data. !\\ !\\ ! !INTERFACE: ! SUBROUTINE FlexGrid_Read_CN( Input_Opt, State_Grid, State_Met ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE Get_Met_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! State Grid object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State object ! ! !REVISION HISTORY: ! 30 Jan 2012 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars CHARACTER(LEN=16) :: stamp ! Time and date stamp CHARACTER(LEN=255) :: v_name ! netCDF variable name ! Arrays REAL*4 :: Q(State_Grid%NX,State_Grid%NY) ! Temporary data arrray ! Read FRLAKE v_name = "FRLAKE" CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name) ) State_Met%FRLAKE = Q ! Read FRLAND (land without lake or ice) v_name = "FRLAND" CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name) ) State_Met%FRLAND = Q ! Read FRLANDIC v_name = "FRLANDIC" CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name) ) State_Met%FRLANDICE = Q ! Read FROCEAN v_name = "FROCEAN" CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name) ) State_Met%FROCEAN = Q ! Read PHIS v_name = "PHIS" CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name) ) State_Met%PHIS = Q ! Echo info stamp = TimeStamp_String( 20110101, 000000 ) WRITE( 6, 10 ) stamp 10 FORMAT( ' - Found all CN met fields for ', a ) !====================================================================== ! Cleanup and quit !====================================================================== ! Convert PHIS from [m2/s2] to [m] State_Met%PHIS = State_Met%PHIS / g0 END SUBROUTINE FlexGrid_Read_CN !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: FlexGrid_Read_a1 ! ! !DESCRIPTION: Routine to read variables and attributes from a NetCDF ! met fields file containing 1-hr time-averaged (A1) data. !\\ !\\ ! !INTERFACE: ! SUBROUTINE FlexGrid_Read_A1( YYYYMMDD, HHMMSS, Input_Opt, State_Grid, & State_Met ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE Get_Met_Mod ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: YYYYMMDD ! GMT date in YYYY/MM/DD format INTEGER, INTENT(IN) :: HHMMSS ! GMT time in hh:mm:ss format TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State object ! ! !REMARKS: . ! Special handling for surface precipitation fields: ! --------------------------------------------------------------------------- ! In GEOS-FP (and in MERRA), the PRECTOT etc. surface precipitation ! met fields fields have units of [kg/m2/s]. In all other GEOS ! versions, PREACC and PRECON have units of [mm/day]. ! . ! Therefore, for backwards compatibility with existing code, apply ! the following unit conversion to the GEOS-5 PRECTOT and PRECCON ! fields: ! . ! kg | m3 | 86400 s | 1000 mm ! ------+----------+---------+--------- = 86400 ! m2 s | 1000 kg | day | m ! ^ ! | ! 1 / density of water ! ! !REVISION HISTORY: ! 30 Jan 2012 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: t_index ! Time index INTEGER :: I, J CHARACTER(LEN=16) :: stamp ! Time and date stamp CHARACTER(LEN=255) :: v_name ! netCDF variable name CHARACTER(LEN=255) :: errMsg ! Error message CHARACTER(LEN=255) :: caller ! Name of this routine ! Saved scalars INTEGER, SAVE :: lastDate = -1 ! Stores last YYYYMMDD value INTEGER, SAVE :: lastTime = -1 ! Stores last hhmmss value ! Arrays REAL*4 :: Q(State_Grid%NX,State_Grid%NY) ! Temporary data arrray !====================================================================== ! Skip if we have already read data for this date & time !====================================================================== IF ( YYYYMMDD == lastDate .and. HHMMSS == lastTime ) THEN stamp = TimeStamp_String( YYYYMMDD, HHMMSS ) WRITE( 6, 20 ) stamp 20 FORMAT( ' - FLEXGRID A1 met fields for ', a, & ' have been read already' ) RETURN ENDIF !====================================================================== ! Select the proper time slice !====================================================================== ! Name of this routine (for error printout) caller = "FlexGrid_Read_A1 (flexgrid_read_mod.F90)" ! Find the proper time-slice to read from disk t_index = ( HHMMSS / 10000 ) + 1 ! Stop w/ error if the time index is invalid IF ( t_index < 1 .or. t_index > 24 ) THEN WRITE( errMsg, 100 ) t_index 100 FORMAT( 'Time_index value ', i5, ' must be in the range 1 to 24!' ) CALL Error_Stop( errMsg, caller ) ENDIF !====================================================================== ! Get met fields from HEMCO !====================================================================== ! Read ALBEDO v_name = "ALBEDO" CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%ALBD = Q ! Read CLDTOT v_name = "CLDTOT" CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%CLDFRC = Q ! Read EFLUX v_name = "EFLUX" CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%EFLUX = Q !-------------------------------------------------------------------------- ! For now, skip reading EVAP. It's not used in GEOS-Chem. (mps, 9/14/17) !! Read EVAP !v_name = "EVAP" !CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) !State_Met%EVAP = Q !-------------------------------------------------------------------------- ! Read FRSEAICE v_name = "FRSEAICE" CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%FRSEAICE = Q ! Read FRSNO v_name = "FRSNO" CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) ! The import FRSNO is fraction of land with snow cover. Convert to ! fraction of grid box with snow cover for storage in State_Met. !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX State_Met%FRSNOW(I,J) = Q(I,J) * State_Met%FRLAND(I,J) ENDDO ENDDO !$OMP END PARALLEL DO !-------------------------------------------------------------------------- ! For now, skip reading GRN. It's not used in GEOS-Chem. (mps, 9/14/17) !! Read GRN !v_name = "GRN" !CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) !State_Met%GRN = Q !-------------------------------------------------------------------------- ! Read GWETROOT v_name = "GWETROOT" CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%GWETROOT = Q ! Read GWETTOP v_name = "GWETTOP" CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%GWETTOP = Q ! Read HFLUX from file v_name = "HFLUX" CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%HFLUX = Q ! Read LAI v_name = "LAI" CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%LAI = Q !----------------------------------------------------------------------- ! Comment this out for now, this field isn't needed (bmy, 2/2/12) !! Read LWTUP !v_name = "LWTUP" !CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) !State_Met%LWTUP = Q !----------------------------------------------------------------------- ! Read PARDF v_name = "PARDF" CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%PARDF = Q ! Read PARDR v_name = "PARDR" CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%PARDR = Q ! Read PBLH v_name = "PBLH" CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%PBLH = Q ! Read PRECANV v_name = "PRECANV" CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%PRECANV = Q ! Read PRECCON v_name = "PRECCON" CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%PRECCON = Q ! Read PRECLSC v_name = "PRECLSC" CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%PRECLSC = Q !-------------------------------------------------------------------------- ! For now, skip reading PRECSNO. It's not used in GEOS-Chem. (mps, 9/14/17) !! Read PRECSNO !v_name = "PRECSNO" !CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) !State_Met%PRECSNO = Q !-------------------------------------------------------------------------- ! Read PRECTOT v_name = "PRECTOT" CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%PRECTOT = Q ! Read QV2M v_name = "QV2M" CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%QV2M = Q ! Read SEAICE00 v_name = "SEAICE00" CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%SEAICE00 = Q ! Read SEAICE10 v_name = "SEAICE10" CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%SEAICE10 = Q ! Read SEAICE20 v_name = "SEAICE20" CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%SEAICE20 = Q ! Read SEAICE30 v_name = "SEAICE30" CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%SEAICE30 = Q ! Read SEAICE40 v_name = "SEAICE40" CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%SEAICE40 = Q ! Read SEAICE50 v_name = "SEAICE50" CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%SEAICE50 = Q ! Read SEAICE60 v_name = "SEAICE60" CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%SEAICE60 = Q ! Read SEAICE70 v_name = "SEAICE70" CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%SEAICE70 = Q ! Read SEAICE80 v_name = "SEAICE80" CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%SEAICE80 = Q ! Read SEAICE90 v_name = "SEAICE90" CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%SEAICE90 = Q ! Read SLP v_name = "SLP" CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%SLP = Q ! Read SNODP v_name = "SNODP" CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%SNODP = Q ! Read SNOMAS v_name = "SNOMAS" CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%SNOMAS = Q ! Read SWGDN v_name = "SWGDN" CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%SWGDN = Q ! Read TO3 v_name = "TO3" CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%TO3 = Q ! Read TROPPT v_name = "TROPPT" CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%TROPP = Q ! Read TS ! NOTE: This is now stored in State_Met%TSKIN to denote that it is ! skin temperature. At one point in the past TS was actually surface ! temperature but GMAO changed it to skin temperature a while back. ! (B. Yantosca, 14 Jul 2025) v_name = "TS" CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%TSKIN = Q ! Read T2M ! NOTE: 2m temperature is used as a proxy for surface temperature, ! so we store it in State_Met%TS, which denotes surface temperature. ! (B. Yantosca, 14 Jul 2025) v_name = "T2M" CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%TS = Q ! Read U10M v_name = "U10M" CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%U10M = Q ! Read USTAR v_name = "USTAR" CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%USTAR = Q ! Read V10M v_name = "V10M" CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%V10M = Q ! Read Z0M v_name = "Z0M" CALL Get_Met_2D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%Z0 = Q !====================================================================== ! Get fields for soil NOX extension only when needed !====================================================================== IF ( Input_Opt%LSOILNOX .and. Input_Opt%UseSoilTemp ) THEN ! Read TSOIL1 v_name = "TSOIL1" CALL Get_Met_2D(Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index) State_Met%TSOIL1 = Q ENDIF ! Echo info stamp = TimeStamp_String( YYYYMMDD, HHMMSS ) WRITE( 6, 10 ) stamp 10 FORMAT( ' - Found all A1 met fields for ', a ) !====================================================================== ! Cleanup and quit !====================================================================== ! Convert surface precip fields from [kg/m2/s] --> [mm/day] State_Met%PRECANV = State_Met%PRECANV * 86400d0 State_Met%PRECCON = State_Met%PRECCON * 86400d0 State_Met%PRECLSC = State_Met%PRECLSC * 86400d0 State_Met%PRECTOT = State_Met%PRECTOT * 86400d0 IF ( TRIM(Input_Opt%MetField) == 'MERRA2' .or. & TRIM(Input_Opt%MetField) == 'MODELE2.1' .or. & TRIM(Input_Opt%MetField) == 'MODELE2.2' ) THEN ! Convert pressure quantities from [Pa] -> [hPa] State_Met%SLP = State_Met%SLP * 1e-2_fp State_Met%TROPP = State_Met%TROPP * 1e-2_fp ENDIF ! Save date & time for next iteration lastDate = YYYYMMDD lastTime = HHMMSS END SUBROUTINE FlexGrid_Read_A1 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: FlexGrid_Read_a1dyn ! ! !DESCRIPTION: Routine to read variables and attributes from a NetCDF ! met fields file containing 1-hr time-averaged (A1) data. !\\ !\\ ! !INTERFACE: ! SUBROUTINE FlexGrid_Read_A1dyn( YYYYMMDD, HHMMSS, Input_Opt, State_Grid, & State_Met ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE Get_Met_Mod ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: YYYYMMDD ! GMT date in YYYY/MM/DD format INTEGER, INTENT(IN) :: HHMMSS ! GMT time in hh:mm:ss format TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State object ! ! !REMARKS: ! Special handling for surface precipitation fields: ! --------------------------------------------------------------------------- ! In GEOS-FP (and in MERRA), the PRECTOT etc. surface precipitation ! met fields fields have units of [kg/m2/s]. In all other GEOS ! versions, PREACC and PRECON have units of [mm/day]. ! . ! Therefore, for backwards compatibility with existing code, apply ! the following unit conversion to the GEOS-5 PRECTOT and PRECCON ! fields: ! . ! kg | m3 | 86400 s | 1000 mm ! ------+----------+---------+--------- = 86400 ! m2 s | 1000 kg | day | m ! ^ ! | ! 1 / density of water ! ! !REVISION HISTORY: ! 30 Jan 2012 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: t_index ! Time index CHARACTER(LEN=16) :: stamp ! Time and date stamp CHARACTER(LEN=255) :: v_name ! netCDF variable name CHARACTER(LEN=255) :: errMsg ! Error message CHARACTER(LEN=255) :: caller ! Name of this routine ! Saved scalars INTEGER, SAVE :: lastDate = -1 ! Stores last YYYYMMDD value INTEGER, SAVE :: lastTime = -1 ! Stores last hhmmss value ! Arrays REAL*4 :: Q(State_Grid%NX,State_Grid%NY,State_Grid%NZ) ! Temporary data arrray !====================================================================== ! Skip if we have already read data for this date & time !====================================================================== IF ( YYYYMMDD == lastDate .and. HHMMSS == lastTime ) THEN stamp = TimeStamp_String( YYYYMMDD, HHMMSS ) WRITE( 6, 20 ) stamp 20 FORMAT( ' - FLEXGRID A1dyn met fields for ', a, & ' have been read already' ) RETURN ENDIF !====================================================================== ! Select the proper time slice !====================================================================== ! Name of this routine (for error printout) caller = "FlexGrid_Read_A1dyn (flexgrid_read_mod.F90)" ! Find the proper time-slice to read from disk t_index = ( HHMMSS / 10000 ) + 1 ! Stop w/ error if the time index is invalid IF ( t_index < 1 .or. t_index > 24 ) THEN WRITE( errMsg, 100 ) t_index 100 FORMAT( 'Time_index value ', i5, ' must be in the range 1 to 24!' ) CALL Error_Stop( errMsg, caller ) ENDIF !====================================================================== ! Get met fields from HEMCO !====================================================================== ! Read U v_name = "U" CALL Get_Met_3D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%U = Q ! Read V v_name = "V" CALL Get_Met_3D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%V = Q ! Echo info stamp = TimeStamp_String( YYYYMMDD, HHMMSS ) WRITE( 6, 10 ) stamp 10 FORMAT( ' - Found all A1dyn met fields for ', a ) ! Save date & time for next iteration lastDate = YYYYMMDD lastTime = HHMMSS END SUBROUTINE FlexGrid_Read_A1dyn !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: FlexGrid_Read_a3 ! ! !DESCRIPTION: Convenience wrapper for the following routines which read ! 3-hour time averaged data from disk: ! \begin{itemize} ! \item FlexGrid\_Read\_A3cld ! \item FlexGrid\_Read\_A3dyn ! \item FlexGrid\_Read\_A3mstC ! \item FlexGrid\_Read\_A3mstE ! \end{itemize} ! ! !INTERFACE: ! SUBROUTINE FlexGrid_Read_A3( YYYYMMDD, HHMMSS, Input_Opt, State_Grid, & State_Met ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: YYYYMMDD ! GMT date in YYYY/MM/DD format INTEGER, INTENT(IN) :: HHMMSS ! GMT time in hh:mm:ss format TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State object ! ! !REVISION HISTORY: ! 30 Jan 2012 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars CHARACTER(LEN=16) :: stamp ! Time and date stamp ! Saved scalars INTEGER, SAVE :: lastDate = -1 ! Stores last YYYYMMDD value INTEGER, SAVE :: lastTime = -1 ! Stores last hhmmss value !====================================================================== ! Call individual routines for reading A3 data !====================================================================== ! Test to see if we have already read this data in IF ( YYYYMMDD == lastDate .and. HHMMSS == lastTime ) THEN stamp = TimeStamp_String( YYYYMMDD, HHMMSS ) WRITE( 6, 20 ) stamp 20 FORMAT( ' - FLEXGRID A3 met fields for ', a, & ' have been read already' ) RETURN ENDIF ! Save date & time for next iteration lastDate = YYYYMMDD lastTime = HHMMSS ! Read all the diffeent A3 files CALL FlexGrid_Read_A3cld ( YYYYMMDD, HHMMSS, Input_Opt, & State_Grid, State_Met ) CALL FlexGrid_Read_A3dyn ( YYYYMMDD, HHMMSS, Input_Opt, & State_Grid, State_Met ) CALL FlexGrid_Read_A3mstC( YYYYMMDD, HHMMSS, Input_Opt, & State_Grid, State_Met ) CALL FlexGrid_Read_A3mstE( YYYYMMDD, HHMMSS, Input_Opt, & State_Grid, State_Met ) !====================================================================== ! Cleanup and quit !====================================================================== ! Save date & time for next iteration lastDate = YYYYMMDD lastTime = HHMMSS END SUBROUTINE FlexGrid_Read_A3 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: FlexGrid_Read_a3cld ! ! !DESCRIPTION: Routine to read variables and attributes from a NetCDF ! met fields file containing 3-hr time-averaged (A3) data (cloud fields). !\\ !\\ ! !INTERFACE: ! SUBROUTINE FlexGrid_Read_A3cld( YYYYMMDD, HHMMSS, Input_Opt, State_Grid, & State_Met ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE Get_Met_Mod ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: YYYYMMDD ! GMT date in YYYY/MM/DD format INTEGER, INTENT(IN) :: HHMMSS ! GMT time in hh:mm:ss format TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State object ! ! !REVISION HISTORY: ! 30 Jan 2012 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: t_index ! Time index CHARACTER(LEN=16) :: stamp ! Time and date stamp CHARACTER(LEN=255) :: v_name ! netCDF variable name CHARACTER(LEN=255) :: errMsg ! Error message CHARACTER(LEN=255) :: caller ! Name of this routine ! Arrays REAL*4 :: Q(State_Grid%NX,State_Grid%NY,State_Grid%NZ) ! Temporary data arrray !====================================================================== ! Select the proper time slice !====================================================================== ! Name of this routine (for error printout) caller = "FlexGrid_Read_A3cld (flexgrid_read_mod.F90)" ! Find the proper time-slice to read from disk t_index = ( HHMMSS / 030000 ) + 1 ! Stop w/ error if the time index is invalid IF ( t_index < 1 .or. t_index > 8 ) THEN WRITE( errMsg, 100 ) t_index 100 FORMAT( 'Time_index value ', i5, ' must be in the range 1 to 8!' ) CALL ERROR_STOP( errMsg, caller ) ENDIF !====================================================================== ! Get met fields from HEMCO !====================================================================== ! Read CLOUD v_name = "CLOUD" CALL Get_Met_3D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%CLDF = Q ! Read OPTDEPTH v_name = "OPTDEPTH" CALL Get_Met_3D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%OPTD = Q ! Read QI (and set negative or denormal values to zero) v_name = "QI" CALL Get_Met_3D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) #ifdef LUO_WETDEP WHERE( Q < 1.0e-30_f4 ) Q = 0.0_f4 ENDWHERE #endif State_Met%QI = Q ! Read QL (and set negative or denormal values to zero) v_name = "QL" CALL Get_Met_3D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) #ifdef LUO_WETDEP WHERE( Q < 1.0e-30_f4 ) Q = 0.0_f4 ENDWHERE #endif State_Met%QL = Q ! Read TAUCLI v_name = "TAUCLI" CALL Get_Met_3D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%TAUCLI = Q ! Read TAUCLW v_name = "TAUCLW" CALL Get_Met_3D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%TAUCLW = Q ! Echo info stamp = TimeStamp_String( YYYYMMDD, HHMMSS ) WRITE( 6, 10 ) stamp 10 FORMAT( ' - Found all A3cld met fields for ', a ) END SUBROUTINE FlexGrid_Read_A3cld !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: FlexGrid_Read_a3dyn ! ! !DESCRIPTION: Routine to read variables and attributes from a NetCDF ! met fields file containing 3-hr time-averaged (A3) data (dynamics fields). !\\ !\\ ! !INTERFACE: ! SUBROUTINE FlexGrid_Read_A3dyn( YYYYMMDD, HHMMSS, Input_Opt, State_Grid, & State_Met ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Met_Mod, ONLY : MetState USE State_Grid_Mod, ONLY : GrdState USE Get_Met_Mod ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: YYYYMMDD ! GMT date in YYYY/MM/DD format INTEGER, INTENT(IN) :: HHMMSS ! GMT time in hh:mm:ss format TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State object ! ! !REVISION HISTORY: ! 30 Jan 2012 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: t_index ! Time index CHARACTER(LEN=16) :: stamp ! Time and date stamp CHARACTER(LEN=255) :: v_name ! netCDF variable name CHARACTER(LEN=255) :: errMsg ! Error message CHARACTER(LEN=255) :: caller ! Name of this routine ! Arrays REAL*4 :: Q (State_Grid%NX,State_Grid%NY,State_Grid%NZ ) ! Temporary data arrray !====================================================================== ! Select the proper time slice !====================================================================== ! Name of this routine (for error printout) caller = "FlexGrid_Read_A3dyn (flexgrid_read_mod.F90)" ! Find the proper time-slice to read from disk t_index = ( HHMMSS / 030000 ) + 1 ! Stop w/ error if the time index is invalid IF ( t_index < 1 .or. t_index > 8 ) THEN WRITE( errMsg, 100 ) t_index 100 FORMAT( 'Time_index value ', i5, ' must be in the range 1 to 8!' ) CALL ERROR_STOP( errMsg, caller ) ENDIF !====================================================================== ! Get met fields from HEMCO !====================================================================== ! Read DTRAIN v_name = "DTRAIN" CALL Get_Met_3D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%DTRAIN = Q ! Read OMEGA v_name = "OMEGA" CALL Get_Met_3D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%OMEGA = Q ! Read RH v_name = "RH" CALL Get_Met_3D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%RH = Q ! 0.125x0.15625 uses A1dyn archive IF ( TRIM(State_Grid%GridRes) /= '0.125x0.15625' ) THEN ! Read U v_name = "U" CALL Get_Met_3D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%U = Q ! Read V v_name = "V" CALL Get_Met_3D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%V = Q ENDIF ! Echo info stamp = TimeStamp_String( YYYYMMDD, HHMMSS ) WRITE( 6, 10 ) stamp 10 FORMAT( ' - Found all A3dyn met fields for ', a ) !====================================================================== ! Unit conversions, diagnostics, cleanup, and quit !====================================================================== ! Convert RH from [1] to [%] State_Met%RH = State_Met%RH * 100d0 END SUBROUTINE FlexGrid_Read_A3dyn !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: FlexGrid_Read_a3mstc ! ! !DESCRIPTION: Routine to read variables and attributes from a NetCDF ! met fields file containing 3-hr time-averaged (A3) data (moist fields, ! saved on level centers). !\\ !\\ ! !INTERFACE: ! SUBROUTINE FlexGrid_Read_A3mstC( YYYYMMDD, HHMMSS, Input_Opt, State_Grid, & State_Met ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE Get_Met_Mod ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: YYYYMMDD ! GMT date in YYYY/MM/DD format INTEGER, INTENT(IN) :: HHMMSS ! GMT time in hh:mm:ss format TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! State Grid object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State object ! ! !REVISION HISTORY: ! 30 Jan 2012 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: t_index ! Time index CHARACTER(LEN=16) :: stamp ! Time and date stamp CHARACTER(LEN=255) :: v_name ! netCDF variable name CHARACTER(LEN=255) :: errMsg ! Error message CHARACTER(LEN=255) :: caller ! Name of this routine ! Arrays REAL*4 :: Q (State_Grid%NX,State_Grid%NY,State_Grid%NZ) ! Temporary data arrray !====================================================================== ! Select the proper time slice !====================================================================== ! Name of this routine (for error printout) caller = "FlexGrid_Read_A3mstC (flexgrid_read_mod.F90)" ! Find the proper time-slice to read from disk t_index = ( HHMMSS / 030000 ) + 1 ! Stop w/ error if the time index is invalid IF ( t_index < 1 .or. t_index > 8 ) THEN WRITE( errMsg, 100 ) t_index 100 FORMAT( 'Time_index value ', i5, ' must be in the range 1 to 8!' ) CALL ERROR_STOP( errMsg, caller ) ENDIF !====================================================================== ! Get met fields from HEMCO !====================================================================== ! Read DQRCU from file v_name = "DQRCU" CALL Get_Met_3D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%DQRCU = Q ! Read DQRLSAN v_name = "DQRLSAN" CALL Get_Met_3D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%DQRLSAN = Q ! Read REEVAPCN v_name = "REEVAPCN" CALL Get_Met_3D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%REEVAPCN = Q ! Read from file v_name = "REEVAPLS" CALL Get_Met_3D( Input_Opt, State_Grid, Q, TRIM(v_name), t_index=t_index ) State_Met%REEVAPLS = Q ! Echo info stamp = TimeStamp_String( YYYYMMDD, HHMMSS ) WRITE( 6, 10 ) stamp 10 FORMAT( ' - Found all A3mstC met fields for ', a ) !====================================================================== ! Cleanup and quit !====================================================================== END SUBROUTINE FlexGrid_Read_A3mstC !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: FlexGrid_Read_a3mste ! ! !DESCRIPTION: Routine to read variables and attributes from a NetCDF ! met fields file containing 3-hr time-averaged (A3) data (moist fields, ! saved on level edges). !\\ !\\ ! !INTERFACE: ! SUBROUTINE FlexGrid_Read_A3mstE( YYYYMMDD, HHMMSS, Input_Opt, State_Grid, & State_Met ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE Get_Met_Mod ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: YYYYMMDD ! GMT date in YYYY/MM/DD format INTEGER, INTENT(IN) :: HHMMSS ! GMT time in hh:mm:ss format TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State object ! ! !REVISION HISTORY: ! 30 Jan 2012 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: t_index ! Time index INTEGER :: I, J, L ! Loop indices CHARACTER(LEN=16) :: stamp ! Time and date stamp CHARACTER(LEN=255) :: v_name ! netCDF variable name CHARACTER(LEN=255) :: errMsg ! Error message CHARACTER(LEN=255) :: caller ! Name of this routine ! Arrays REAL*4 :: Qe(State_Grid%NX,State_Grid%NY,State_Grid%NZ+1) REAL*4 :: Q2(State_Grid%NX,State_Grid%NY ) !====================================================================== ! Select the proper time slice !====================================================================== ! Name of this routine (for error printout) caller = "FlexGrid_Read_A3mstE (flexgrid_read_mod.F90)" ! Find the proper time-slice to read from disk t_index = ( HHMMSS / 030000 ) + 1 ! Stop w/ error if the time index is invalid IF ( t_index < 1 .or. t_index > 8 ) THEN WRITE( errMsg, 100 ) t_index 100 FORMAT( 'Time_index value ', i5, ' must be in the range 1 to 8!' ) CALL ERROR_STOP( errMsg, caller ) ENDIF !====================================================================== ! Get met fields from HEMCO !====================================================================== ! Read CMFMC (only in GEOSFP*.nc files) v_name = "CMFMC" CALL Get_Met_3De( Input_Opt, State_Grid, Qe, TRIM(v_name), t_index=t_index ) State_Met%CMFMC = Qe ! Read PFICU v_name = "PFICU" CALL Get_Met_3De( Input_Opt, State_Grid, Qe, TRIM(v_name), t_index=t_index ) State_Met%PFICU = Qe ! Read PFILSAN v_name = "PFILSAN" CALL Get_Met_3De( Input_Opt, State_Grid, Qe, TRIM(v_name), t_index=t_index ) State_Met%PFILSAN = Qe ! Read PFLCU v_name = "PFLCU" CALL Get_Met_3De( Input_Opt, State_Grid, Qe, TRIM(v_name), t_index=t_index ) State_Met%PFLCU = Qe ! Read PLLSAN v_name = "PFLLSAN" CALL Get_Met_3De( Input_Opt, State_Grid, Qe, TRIM(v_name), t_index=t_index ) State_Met%PFLLSAN = Qe !====================================================================== ! Get lightning fields from HEMCO when LightNOx extension is on !====================================================================== IF ( Input_Opt%DoLightNOx) THEN ! Read FLASH_DENS v_name = "FLASH_DENS" CALL Get_Met_2D( Input_Opt, State_Grid, Q2, TRIM(v_name) ) State_Met%FLASH_DENS = Q2 ! Read CONV_DEPTH v_name = "CONV_DEPTH" CALL Get_Met_2D( Input_Opt, State_Grid, Q2, TRIM(v_name) ) State_Met%CONV_DEPTH = Q2 ELSE ! Print message to log file IF ( Input_Opt%amIRoot) THEN Print*, ' - LightNOX extension is off. Skipping FLASH_DENS' // & ' and CONV_DEPTH fields in FlexGrid_Read_A3mstE.' ENDIF ENDIF !================================================================= ! Diagnostics, cleanup and quit !================================================================= ! Echo info stamp = TimeStamp_String( YYYYMMDD, HHMMSS ) WRITE( 6, 10 ) stamp 10 FORMAT( ' - Found all A3mstE met fields for ', a ) ! CLDTOPS = highest location of CMFMC in the column (I,J) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX State_Met%CLDTOPS(I,J) = 1 DO L = State_Grid%NZ, 1, -1 IF ( State_Met%CMFMC(I,J,L) > 0d0 ) THEN State_Met%CLDTOPS(I,J) = L + 1 EXIT ENDIF ENDDO ENDDO ENDDO END SUBROUTINE FlexGrid_Read_A3mstE !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: FlexGrid_Read_I3_1 ! ! !DESCRIPTION: Routine to read variables and attributes from a NetCDF ! met fields file containing 3-hr instantaneous (I3) data. !\\ !\\ ! !INTERFACE: ! SUBROUTINE FlexGrid_Read_I3_1( YYYYMMDD, HHMMSS, Input_Opt, State_Grid, & State_Met ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE Get_Met_Mod ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: YYYYMMDD ! GMT date in YYYY/MM/DD format INTEGER, INTENT(IN) :: HHMMSS ! GMT time in hh:mm:ss format TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State object ! ! !REVISION HISTORY: ! 30 Jan 2012 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: t_index ! Time index CHARACTER(LEN=16) :: stamp ! Time and date stamp CHARACTER(LEN=255) :: v_name ! netCDF variable name CHARACTER(LEN=255) :: errMsg ! Error message CHARACTER(LEN=255) :: caller ! Name of this routine ! Arrays REAL*4 :: Q2(State_Grid%NX,State_Grid%NY ) ! 2D temporary data arrray REAL*4 :: Q3(State_Grid%NX,State_Grid%NY,State_Grid%NZ) ! 3D temporary data arrray !====================================================================== ! Get met fields from HEMCO !====================================================================== ! Name of this routine (for error printout) caller = 'FlexGrid_Read_I3_1 (flexgrid_read_mod.F90)' ! Find the proper time-slice to read from disk t_index = ( HHMMSS / 030000 ) + 1 ! Stop w/ error if the time index is invalid IF ( t_index < 1 .or. t_index > 8 ) THEN WRITE( errMsg, 100 ) t_index 100 FORMAT( 'Time_index value ', i5, ' must be in the range 1 to 8!' ) CALL Error_Stop( errMsg, caller ) ENDIF ! Resolution 0.125x0.15625 uses I1dyn archive for PS, SPHU (xlwang, 06/2024) IF ( TRIM(State_Grid%GridRes) /= '0.125x0.15625' ) THEN !------------------------------------------------- ! Read 2D data !------------------------------------------------- ! Read PS v_name = "PS" CALL Get_Met_2D( Input_Opt, State_Grid, Q2, TRIM(v_name), t_index=t_index ) State_Met%PS1_WET = Q2 !------------------------------------------------- ! Read 3D data !------------------------------------------------- !---------------------------------------------------------------- ! Prior to 2/3/12: ! For now, skip reading Potential Vorticity (bmy, 2/3/12) !! Read PV !v_name = "PV" !CALL Get_Met_3D( Input_Opt, State_Grid, Q3, TRIM(v_name), t_index=t_index ) !!Q3 = ABS(1.0e6*Q3) ! PV to PVU !State_Met%PV = Q3 !---------------------------------------------------------------- ! Read SPHU v_name = "SPHU" CALL Get_Met_3D( Input_Opt, State_Grid, Q3, TRIM(v_name), t_index=t_index ) State_Met%SPHU1 = Q3 ENDIF ! Read T v_name = "TMPU" CALL Get_Met_3D( Input_Opt, State_Grid, Q3, TRIM(v_name), t_index=t_index ) State_Met%TMPU1 = Q3 ! Echo info stamp = TimeStamp_String( YYYYMMDD, HHMMSS ) WRITE( 6, 10 ) stamp 10 FORMAT( ' - Found all I3 met fields for ', a ) !------------------------------------------------- ! Unit conversions & special handling !------------------------------------------------- ! Resolution 0.125x0.15625 uses I1dyn archive for PS, SPHU (xlwang, 06/2024) IF ( TRIM(State_Grid%GridRes) /= '0.125x0.15625' ) THEN WHERE ( State_Met%SPHU1 < 0d0 ) ! NOTE: Now set negative Q to a small positive # ! instead of zero, so as not to blow up logarithms State_Met%SPHU1 = 1d-32 ELSEWHERE ! Convert GEOS-FP specific humidity from [kg/kg] to [g/kg] State_Met%SPHU1 = State_Met%SPHU1 * 1000d0 ENDWHERE IF ( TRIM(Input_Opt%MetField) == 'MERRA2' .or. & TRIM(Input_Opt%MetField) == 'MODELE2.1' .or. & TRIM(Input_Opt%MetField) == 'MODELE2.2' ) THEN ! Convert PS1_WET from [Pa] to [hPa] State_Met%PS1_WET = State_Met%PS1_WET * 1e-2_fp ENDIF ! Initialize State_Met%SPHU to State_Met%SPHU1. After all future MET ! field reads (flexgrid_read_i3_2) we will interpolate State_Met%SPHU ! from the values of State_Met vars SPHU1 and SPHU2. State_Met%SPHU = State_Met%SPHU1 ENDIF ! Initialize State_Met%T to State_Met%TMPU1. After all future MET ! field reads (flexgrid_read_i3_2) we will interpolate State_Met%T ! from the values of State_Met vars TMPU1 and TMPU2. State_Met%T = State_Met%TMPU1 END SUBROUTINE FlexGrid_Read_I3_1 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: FlexGrid_Read_I3_2 ! ! !DESCRIPTION: Routine to read variables and attributes from a NetCDF ! met fields file containing 3-hr instantaneous (I3) data. !\\ !\\ ! !INTERFACE: ! SUBROUTINE FlexGrid_Read_I3_2( YYYYMMDD, HHMMSS, Input_Opt, State_Grid, & State_Met ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE Get_Met_Mod ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: YYYYMMDD ! GMT date in YYYY/MM/DD format INTEGER, INTENT(IN) :: HHMMSS ! GMT time in hh:mm:ss format TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State object ! ! !REVISION HISTORY: ! 30 Jan 2012 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: t_index ! Time index CHARACTER(LEN=16) :: stamp ! Time and date stamp CHARACTER(LEN=255) :: v_name ! netCDF variable name CHARACTER(LEN=255) :: errMsg ! Error message CHARACTER(LEN=255) :: caller ! Name of this routine ! Arrays REAL*4 :: Q2(State_Grid%NX,State_Grid%NY ) ! 2D temporary data arrray REAL*4 :: Q3(State_Grid%NX,State_Grid%NY,State_Grid%NZ) ! 3D temporary data arrray !====================================================================== ! Get met fields from HEMCO !====================================================================== ! Name of this routine (for error printout) caller = 'FlexGrid_Read_I3_2 (flexgrid_read_mod.F90)' ! Find the proper time-slice to read from disk t_index = ( HHMMSS / 030000 ) + 1 ! Stop w/ error if the time index is invalid IF ( t_index < 1 .or. t_index > 8 ) THEN WRITE( errMsg, 100 ) t_index 100 FORMAT( 'Time_index value ', i5, ' must be in the range 1 to 8!' ) CALL Error_Stop( errMsg, caller ) ENDIF ! Resolution 0.125x0.15625 uses I1dyn archive for PS, SPHU (xlwang, 06/2024) IF ( TRIM(State_Grid%GridRes) /= '0.125x0.15625' ) THEN !------------------------------------------------- ! Read 2D data !------------------------------------------------- ! Read PS IF ( HHMMSS == 000000 ) THEN v_name = "PS_NEXTDAY" ELSE v_name = "PS" ENDIF CALL Get_Met_2D( Input_Opt, State_Grid, Q2, TRIM(v_name), t_index=t_index ) State_Met%PS2_WET = Q2 !------------------------------------------------- ! Read 3D data !------------------------------------------------- !---------------------------------------------------------------- ! Prior to 2/3/12: ! For now, skip reading Potential Vorticity (bmy, 2/3/12) !! Read PV !IF ( HHMMSS == 000000 ) THEN ! v_name = "PV_NEXTDAY" !ELSE ! v_name = "PV" !ENDIF !CALL Get_Met_3D( Input_Opt, State_Grid, Q3, TRIM(v_name), t_index=t_index ) !!Q3 = ABS(1.0e6*Q3) ! PV to PVU !State_Met%PV = Q3 !---------------------------------------------------------------- ! Read SPHU IF ( HHMMSS == 000000 ) THEN v_name = "SPHU_NEXTDAY" ELSE v_name = "SPHU" ENDIF CALL Get_Met_3D( Input_Opt, State_Grid, Q3, TRIM(v_name), t_index=t_index ) State_Met%SPHU2 = Q3 ENDIF !------------------------------------------------- ! Read 3D data !------------------------------------------------- ! Read T IF ( HHMMSS == 000000 ) THEN v_name = "TMPU_NEXTDAY" ELSE v_name = "TMPU" ENDIF CALL Get_Met_3D( Input_Opt, State_Grid, Q3, TRIM(v_name), t_index=t_index ) State_Met%TMPU2 = Q3 ! Echo info stamp = TimeStamp_String( YYYYMMDD, HHMMSS ) WRITE( 6, 10 ) stamp 10 FORMAT( ' - Found all I3 met fields for ', a ) !------------------------------------------------- ! Unit conversions & special handling !------------------------------------------------- ! Resolution 0.125x0.15625 uses I1dyn archive for PS, SPHU (xlwang, 06/2024) IF ( TRIM(State_Grid%GridRes) /= '0.125x0.15625' ) THEN WHERE ( State_Met%SPHU2 < 0d0 ) ! NOTE: Now set negative Q to a small positive # ! instead of zero, so as not to blow up logarithms State_Met%SPHU2 = 1d-32 ELSEWHERE ! Convert specific humidity from [kg/kg] to [g/kg] State_Met%SPHU2 = State_Met%SPHU2 * 1000d0 ENDWHERE IF ( TRIM(Input_Opt%MetField) == 'MERRA2' .or. & TRIM(Input_Opt%MetField) == 'MODELE2.1' .or. & TRIM(Input_Opt%MetField) == 'MODELE2.2' ) THEN ! Convert PS2_WET from [Pa] to [hPa] State_Met%PS2_WET = State_Met%PS2_WET * 1e-2_fp ENDIF ENDIF END SUBROUTINE FlexGrid_Read_I3_2 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: copy_i3_fields ! ! !DESCRIPTION: Subroutine COPY\_I3\_FIELDS copies the I-3 fields at the ! end of a 3-hr timestep. The I-3 fields at the end of a given 3-hr timestep ! become the fields at the beginning of the next 3-hr timestep. !\\ !\\ ! !INTERFACE: ! SUBROUTINE COPY_I3_FIELDS( State_Met, State_Grid ) ! ! !USES: ! USE State_Met_Mod, ONLY : MetState USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State object ! ! !REVISION HISTORY: ! 13 Apr 2004 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! Resolution 0.125x0.15625 uses I1dyn archive for PS, SPHU (xlwang, 06/2024) IF ( TRIM(State_Grid%GridRes) /= '0.125x0.15625' ) THEN State_Met%PS1_WET = State_Met%PS2_WET ! I3 surface pressure [hPa] State_Met%PS1_DRY = State_Met%PS2_DRY ! I3 surface pressure [hPa] State_Met%SPHU1 = State_Met%SPHU2 ! I3 specific humidity [g/kg] ENDIF State_Met%TMPU1 = State_Met%TMPU2 ! I3 temperature [K] END SUBROUTINE COPY_I3_FIELDS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: FlexGrid_Read_I1dyn_1 ! ! !DESCRIPTION: Routine to read variables and attributes from a NetCDF ! met fields file containing 1-hr instantaneous (I1dyn) data. !\\ !\\ ! !INTERFACE: ! SUBROUTINE FlexGrid_Read_I1dyn_1( YYYYMMDD, HHMMSS, Input_Opt, State_Grid, & State_Met ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE Get_Met_Mod ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: YYYYMMDD ! GMT date in YYYY/MM/DD format INTEGER, INTENT(IN) :: HHMMSS ! GMT time in hh:mm:ss format TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State object ! ! !REVISION HISTORY: ! 30 Jan 2012 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: t_index ! Time index CHARACTER(LEN=16) :: stamp ! Time and date stamp CHARACTER(LEN=255) :: v_name ! netCDF variable name CHARACTER(LEN=255) :: errMsg ! Error message CHARACTER(LEN=255) :: caller ! Name of this routine ! Arrays REAL*4 :: Q2(State_Grid%NX,State_Grid%NY ) ! 2D temporary data arrray REAL*4 :: Q3(State_Grid%NX,State_Grid%NY,State_Grid%NZ) ! 3D temporary data arrray !====================================================================== ! Get met fields from HEMCO !====================================================================== ! Name of this routine (for error printout) caller = 'FlexGrid_Read_I1dyn_1 (flexgrid_read_mod.F90)' ! Find the proper time-slice to read from disk t_index = ( HHMMSS / 10000 ) + 1 ! Stop w/ error if the time index is invalid IF ( t_index < 1 .or. t_index > 24 ) THEN WRITE( errMsg, 100 ) t_index 100 FORMAT( 'Time_index value ', i5, ' must be in the range 1 to 24!' ) CALL Error_Stop( errMsg, caller ) ENDIF !------------------------------------------------- ! Read 2D data !------------------------------------------------- ! Read PS v_name = "PS" CALL Get_Met_2D( Input_Opt, State_Grid, Q2, TRIM(v_name), t_index=t_index ) State_Met%PS1_WET = Q2 !------------------------------------------------- ! Read 3D data !------------------------------------------------- ! Read SPHU v_name = "SPHU" CALL Get_Met_3D( Input_Opt, State_Grid, Q3, TRIM(v_name), t_index=t_index ) State_Met%SPHU1 = Q3 ! Echo info stamp = TimeStamp_String( YYYYMMDD, HHMMSS ) WRITE( 6, 10 ) stamp 10 FORMAT( ' - Found all I1dyn met fields for ', a ) !------------------------------------------------- ! Unit conversions & special handling !------------------------------------------------- WHERE ( State_Met%SPHU1 < 0d0 ) ! NOTE: Now set negative Q to a small positive # ! instead of zero, so as not to blow up logarithms State_Met%SPHU1 = 1d-32 ELSEWHERE ! Convert GEOS-FP specific humidity from [kg/kg] to [g/kg] State_Met%SPHU1 = State_Met%SPHU1 * 1000d0 ENDWHERE IF ( TRIM(Input_Opt%MetField) == 'MERRA2' .or. & TRIM(Input_Opt%MetField) == 'MODELE2.1' .or. & TRIM(Input_Opt%MetField) == 'MODELE2.2' ) THEN ! Convert PS1_WET from [Pa] to [hPa] State_Met%PS1_WET = State_Met%PS1_WET * 1e-2_fp ENDIF ! Initialize State_Met%SPHU to State_Met%SPHU1. After all future MET ! field reads (flexgrid_read_I1dyn_2) we will interpolate State_Met%SPHU ! from the values of State_Met vars SPHU1 and SPHU2. State_Met%SPHU = State_Met%SPHU1 END SUBROUTINE FlexGrid_Read_I1dyn_1 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: FlexGrid_Read_I1dyn_2 ! ! !DESCRIPTION: Routine to read variables and attributes from a NetCDF ! met fields file containing 1-hr instantaneous (I1dyn) data. !\\ !\\ ! !INTERFACE: ! SUBROUTINE FlexGrid_Read_I1dyn_2( YYYYMMDD, HHMMSS, Input_Opt, State_Grid, & State_Met ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE Get_Met_Mod ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: YYYYMMDD ! GMT date in YYYY/MM/DD format INTEGER, INTENT(IN) :: HHMMSS ! GMT time in hh:mm:ss format TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State object ! ! !REVISION HISTORY: ! 30 Jan 2012 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: t_index ! Time index CHARACTER(LEN=16) :: stamp ! Time and date stamp CHARACTER(LEN=255) :: v_name ! netCDF variable name CHARACTER(LEN=255) :: errMsg ! Error message CHARACTER(LEN=255) :: caller ! Name of this routine ! Arrays REAL*4 :: Q2(State_Grid%NX,State_Grid%NY ) ! 2D temporary data arrray REAL*4 :: Q3(State_Grid%NX,State_Grid%NY,State_Grid%NZ) ! 3D temporary data arrray !====================================================================== ! Get met fields from HEMCO !====================================================================== ! Name of this routine (for error printout) caller = 'FlexGrid_Read_I1dyn_2 (flexgrid_read_mod.F90)' ! Find the proper time-slice to read from disk t_index = ( HHMMSS / 10000 ) + 1 ! Stop w/ error if the time index is invalid IF ( t_index < 1 .or. t_index > 24 ) THEN WRITE( errMsg, 100 ) t_index 100 FORMAT( 'Time_index value ', i5, ' must be in the range 1 to 24!' ) CALL Error_Stop( errMsg, caller ) ENDIF !------------------------------------------------- ! Read 2D data !------------------------------------------------- ! Read PS IF ( HHMMSS == 000000 ) THEN v_name = "PS_NEXTDAY" ELSE v_name = "PS" ENDIF CALL Get_Met_2D( Input_Opt, State_Grid, Q2, TRIM(v_name), t_index=t_index ) State_Met%PS2_WET = Q2 !------------------------------------------------- ! Read 3D data !------------------------------------------------- ! Read SPHU IF ( HHMMSS == 000000 ) THEN v_name = "SPHU_NEXTDAY" ELSE v_name = "SPHU" ENDIF CALL Get_Met_3D( Input_Opt, State_Grid, Q3, TRIM(v_name), t_index=t_index ) State_Met%SPHU2 = Q3 ! Echo info stamp = TimeStamp_String( YYYYMMDD, HHMMSS ) WRITE( 6, 10 ) stamp 10 FORMAT( ' - Found all I1dyn met fields for ', a ) !------------------------------------------------- ! Unit conversions & special handling !------------------------------------------------- WHERE ( State_Met%SPHU2 < 0d0 ) ! NOTE: Now set negative Q to a small positive # ! instead of zero, so as not to blow up logarithms State_Met%SPHU2 = 1d-32 ELSEWHERE ! Convert specific humidity from [kg/kg] to [g/kg] State_Met%SPHU2 = State_Met%SPHU2 * 1000d0 ENDWHERE IF ( TRIM(Input_Opt%MetField) == 'MERRA2' .or. & TRIM(Input_Opt%MetField) == 'MODELE2.1' .or. & TRIM(Input_Opt%MetField) == 'MODELE2.2' ) THEN ! Convert PS2_WET from [Pa] to [hPa] State_Met%PS2_WET = State_Met%PS2_WET * 1e-2_fp ENDIF END SUBROUTINE FlexGrid_Read_I1dyn_2 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: copy_I1dyn_fields ! ! !DESCRIPTION: Subroutine COPY\_I1dyn\_FIELDS copies the I-1 fields at the ! end of a 1-hr timestep. The I-1 fields at the end of a given 1-hr timestep ! become the fields at the beginning of the next 1-hr timestep. !\\ !\\ ! !INTERFACE: ! SUBROUTINE COPY_I1dyn_FIELDS( State_Met ) ! ! !USES: ! USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State object ! ! !REVISION HISTORY: ! 13 Apr 2004 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! State_Met%PS1_WET = State_Met%PS2_WET ! I1dyn surface pressure [hPa] State_Met%PS1_DRY = State_Met%PS2_DRY ! I1dyn surface pressure [hPa] State_Met%SPHU1 = State_Met%SPHU2 ! I1dyn specific humidity [g/kg] END SUBROUTINE COPY_I1dyn_FIELDS !EOC END MODULE FlexGrid_Read_Mod #endif ================================================ FILE: GeosCore/fullchem_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: fullchem_mod.F90 ! ! !DESCRIPTION: Contines arrays and routines for the GEOS_Chem "fullchem" ! mechanism, which is implemented in KPP-generated Fortran code. !\\ !\\ ! !INTERFACE: ! MODULE FullChem_Mod ! ! !USES: ! USE Precision_Mod #if defined(MPI_LOAD_BALANCE) USE MPI USE, INTRINSIC :: ISO_C_BINDING #endif IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: Do_FullChem PUBLIC :: Init_FullChem PUBLIC :: Cleanup_FullChem ! ! !REVISION HISTORY: ! 14 Dec 2015 - M.S. Long - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !PRIVATE TYPES: ! ! Species ID flags (and logicals to denote if species are present) INTEGER :: id_OH, id_HO2, id_O3P, id_O1D, id_CH4 INTEGER :: id_PCO, id_LCH4, id_NH3, id_SO4 INTEGER :: id_SALAAL, id_SALCAL, id_SALC, id_SALA INTEGER :: id_PSO4 #ifdef TOMAS INTEGER :: id_NK05, id_NK08, id_NK10, id_NK20 #endif #ifdef MODEL_GEOS INTEGER :: id_O3 INTEGER :: id_A3O2, id_ATO2, id_B3O2, id_BRO2 INTEGER :: id_ETO2, id_LIMO2, id_MO2, id_PIO2, id_PO2 INTEGER :: id_PRN1, id_R4N1, id_R4O2, id_TRO2, id_XRO2 INTEGER :: id_IHOO1, id_IHOO4, id_IHCOO, id_ICHOO, id_IHPOO1 INTEGER :: id_IHPOO2, id_IHPOO3, id_IEPOXAOO, id_IEPOXBOO INTEGER :: id_C4HVP1, id_C4HVP2, id_HPALD1OO, id_HPALD2OO INTEGER :: id_ISOPNOO1, id_ISOPNOO2, id_INO2B, id_INO2D INTEGER :: id_IDHNBOO, id_IDHNDOO1, id_IDHNDOO2 INTEGER :: id_IHPNBOO, id_IHPNDOO, id_ICNOO, id_IDNOO #endif #ifdef MODEL_CESM INTEGER :: id_TSOA0, id_TSOA1, id_TSOA2, id_TSOA3 INTEGER :: id_ASOA1, id_ASOA2, id_ASOA3, id_ASOAN INTEGER :: id_TSOG0, id_TSOG1, id_TSOG2, id_TSOG3 INTEGER :: id_ASOG1, id_ASOG2, id_ASOG3 INTEGER :: id_NIT, id_SO4s, id_NITs, id_HNO3 #endif LOGICAL :: ok_OH, ok_HO2, ok_O1D, ok_O3P LOGICAL :: Failed2x ! Diagnostic flags LOGICAL :: Do_Diag_OH_HO2_O1D_O3P #ifdef MODEL_GEOS LOGICAL :: Archive_O3concAfterchem LOGICAL :: Archive_RO2concAfterchem #endif ! SAVEd scalars INTEGER, SAVE :: PrevDay = -1 INTEGER, SAVE :: PrevMonth = -1 ! Arrays INTEGER, ALLOCATABLE :: PL_Kpp_ID (: ) REAL(f4), ALLOCATABLE :: JvCountDay(:,:,: ) REAL(f4), ALLOCATABLE :: JvCountMon(:,:,: ) REAL(f4), ALLOCATABLE :: JvSumDay (:,:,:,:) REAL(f4), ALLOCATABLE :: JvSumMon (:,:,:,:) #if defined(MPI_LOAD_BALANCE) ! For load balancing implementation INTEGER :: NCELL_MAX, NCELL_TOTAL INTEGER, ALLOCATABLE :: Idx_to_IJL(:,:) INTEGER, POINTER :: next_cell_index INTEGER, POINTER :: ICNTRL_1D(:,:) INTEGER, POINTER :: ISTATUS_1D(:,:) INTEGER, POINTER :: cell_status(:) REAL(KIND=fp), POINTER :: C_1D(:,:) REAL(KIND=fp), POINTER :: RCONST_1D(:,:) REAL(KIND=fp), POINTER :: RCNTRL_1D(:,:) REAL(KIND=fp), POINTER :: RSTATE_1D(:,:) ! MPI Shared Memory parameters INTEGER :: disp, ierr, offset INTEGER :: shm_comm, shm_rank, shm_size INTEGER :: nrcntrl, nicntrl, nistatus, nrstate INTEGER(KIND=MPI_ADDRESS_KIND) :: size ! Shared memory window handles INTEGER :: win_C_1D, win_RCONST_1D INTEGER :: win_ICNTRL_1D, win_RCNTRL_1D, win_ISTATUS_1D INTEGER :: win_RSTATE_1D, win_next_cell_index, win_cell_status ! flat pointers returned by MPI (INTEGER addresses) INTEGER(KIND=MPI_ADDRESS_KIND) :: C_1D_flat_int INTEGER(KIND=MPI_ADDRESS_KIND) :: RCONST_1D_flat_int INTEGER(KIND=MPI_ADDRESS_KIND) :: ICNTRL_1D_flat_int INTEGER(KIND=MPI_ADDRESS_KIND) :: RCNTRL_1D_flat_int INTEGER(KIND=MPI_ADDRESS_KIND) :: ISTATUS_1D_flat_int INTEGER(KIND=MPI_ADDRESS_KIND) :: RSTATE_1D_flat_int INTEGER(KIND=MPI_ADDRESS_KIND) :: cell_status_flat_int INTEGER(KIND=MPI_ADDRESS_KIND) :: next_cell_index_int ! scalar !Temporary C_PTRs (needed for TRANSFER to C_F_POINTER) TYPE(C_PTR) :: C_1D_flat_ptr TYPE(C_PTR) :: RCONST_1D_flat_ptr, ICNTRL_1D_flat_ptr TYPE(C_PTR) :: RCNTRL_1D_flat_ptr, ISTATUS_1D_flat_ptr TYPE(C_PTR) :: RSTATE_1D_flat_ptr, cell_status_flat_ptr TYPE(C_PTR) :: next_cell_index_ptr #endif ! MPI_LOAD_BALANCE CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !ROUTINE: do_fullchem ! ! !DESCRIPTION: Driver subroutine for the KPP fullchem mechanism. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Do_FullChem( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD #ifdef KPP_INTEGRATOR_AUTOREDUCE USE fullchem_AutoReduceFuncs, ONLY : fullchem_AR_KeepHalogensActive USE fullchem_AutoReduceFuncs, ONLY : fullchem_AR_SetKeepActive USE fullchem_AutoReduceFuncs, ONLY : fullchem_AR_UpdateKppDiags USE fullchem_AutoReduceFuncs, ONLY : fullchem_AR_SetIntegratorOptions #endif USE fullchem_HetStateFuncs, ONLY : fullchem_SetStateHet USE fullchem_SulfurChemFuncs, ONLY : fullchem_ConvertAlkToEquiv USE fullchem_SulfurChemFuncs, ONLY : fullchem_ConvertEquivToAlk USE fullchem_SulfurChemFuncs, ONLY : fullchem_HetDropChem USE GcKpp_Monitor, ONLY : SPC_NAMES, FAM_NAMES, EQN_NAMES USE GcKpp_Parameters USE GcKpp_Integrator, ONLY : Integrate USE GcKpp_Function USE GcKpp_Global USE GcKpp_Rates, ONLY : UPDATE_RCONST, RCONST USE GcKpp_Util, ONLY : Get_OHreactivity USE Input_Opt_Mod, ONLY : OptInput USE KppSa_Interface_Mod USE Photolysis_Mod, ONLY : Do_Photolysis, PhotRate_Adj USE PhysConstants, ONLY : AVO, AIRMW USE PRESSURE_MOD USE Species_Mod, ONLY : Species USE State_Chm_Mod, ONLY : ChmState USE State_Chm_Mod, ONLY : Ind_ USE State_Diag_Mod, ONLY : DgnState USE State_Diag_Mod, ONLY : DgnMap USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_TS_CHEM USE TIME_MOD, ONLY : Get_Day USE TIME_MOD, ONLY : Get_Month USE TIME_MOD, ONLY : Get_Year USE Timers_Mod USE UnitConv_Mod USE UCX_MOD, ONLY : CALC_STRAT_AER USE UCX_MOD, ONLY : SO4_PHOTFRAC USE UCX_MOD, ONLY : UCX_NOX USE UCX_MOD, ONLY : UCX_H2SO4PHOT #ifdef TOMAS USE TOMAS_MOD, ONLY : H2SO4_RATE USE TOMAS_MOD, ONLY : PSO4AQ_RATE #endif ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State object TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REVISION HISTORY: ! 14 Dec 2015 - M.S. Long - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: IsLocNoon, Size_Res, Failed2x, doSuppress INTEGER :: I, J, L, N INTEGER :: NA, F, SpcID, KppID INTEGER :: P, MONTH, YEAR, Day INTEGER :: IERR, S, Thread INTEGER :: errorCount, previous_units REAL(fp) :: SO4_FRAC, SR, LWC REAL(dp) :: KPPH_before_integrate ! Strings CHARACTER(LEN=255) :: errMsg, thisLoc ! SAVEd scalars LOGICAL, SAVE :: FIRSTCHEM = .TRUE. INTEGER, SAVE :: CH4_YEAR = -1 ! Objects TYPE(Species), POINTER :: SpcInfo TYPE(DgnMap), POINTER :: mapData => NULL() ! Arrays INTEGER :: ICNTRL (20) INTEGER :: ISTATUS(20) REAL(dp) :: RCNTRL (20) REAL(dp) :: RSTATE (20) REAL(dp) :: C_before_integrate(NSPEC) REAL(dp) :: local_RCONST(NREACT) ! Fields needed for CO in the carbon simulation REAL(fp) :: LCH4, PCO_TOT, PCO_CH4, PCO_NMVOC ! Grid box integration time diagnostic REAL(fp) :: TimeStart, TimeEnd ! OH reactivity and KPP reaction rate diagnostics REAL(fp) :: OHreact REAL(dp) :: Vloc(NVAR), Aout(NREACT) #ifdef MODEL_CLASSIC #ifndef NO_OMP INTEGER, EXTERNAL :: OMP_GET_THREAD_NUM #endif #endif #ifdef MPI_LOAD_BALANCE ! Local copy of all necessary KPP inputs INTEGER :: IJL_to_Idx(State_Grid%NX, State_Grid%NY, State_Grid%NZ) ! All the KPP inputs remapped to a 1-D array INTEGER :: NCELL, NCELL_local, I_CELL #endif #ifdef MODEL_GEOS REAL(f4) :: NOxTau, NOxConc, NOx_weight, NOx_tau_weighted REAL(f4) :: TROP_NOx_Tau REAL(f4) :: TROPv_NOx_tau(State_Grid%NX,State_Grid%NY) REAL(f4) :: TROPv_NOx_mass(State_Grid%NX,State_Grid%NY) #endif #ifdef MODEL_CESM ! Sink rate for artificial UT/LS sink REAL(dp) :: ScaleCESMLossRate #endif ! ! !DEFINED PARAMETERS ! ! Defines the slot in which the H-value from the KPP integrator is stored ! This should be the same as the value of Nhnew in gckpp_Integrator.F90 ! Define this locally in order to break a compile-time dependency. ! -- Bob Yantosca (05 May 2022) INTEGER, PARAMETER :: Nhnew = 3 ! Add Nhexit, the last timestep length -- Obin Sturm (30 April 2024) INTEGER, PARAMETER :: Nhexit = 2 ! Suppress printing out KPP error messages after this many errors occur INTEGER, PARAMETER :: INTEGRATE_FAIL_TOGGLE = 20 #if defined(MPI_LOAD_BALANCE) INTEGER :: origin_val, fetched_value INTEGER(KIND=MPI_ADDRESS_KIND) :: disp #endif !======================================================================== ! Do_FullChem begins here! ! NOTE: FlexChem timer is started in DO_CHEMISTRY (the calling routine) !======================================================================== ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Do_FullChem (in module GeosCore/FullChem_mod.F90)' SpcInfo => NULL() Day = Get_Day() ! Current day Month = Get_Month() ! Current month Year = Get_Year() ! Current year Thread = 1 errorCount = 0 Failed2x = .FALSE. doSuppress = .FALSE. ! Print information the first time that DO_FULLCHEM is called CALL PrintFirstTimeInfo( Input_Opt, State_Chm, FirstChem ) ! Zero diagnostic archival arrays to make sure that we don't have any ! leftover values from the last timestep near the top of the chemgrid IF (State_Diag%Archive_Loss ) State_Diag%Loss = 0.0_f4 IF (State_Diag%Archive_Prod ) State_Diag%Prod = 0.0_f4 IF (State_Diag%Archive_Jval ) State_Diag%Jval = 0.0_f4 IF (State_Diag%Archive_JvalO3O1D ) State_Diag%JvalO3O1D = 0.0_f4 IF (State_Diag%Archive_JvalO3O3P ) State_Diag%JvalO3O3P = 0.0_f4 IF (State_Diag%Archive_JNoon ) State_Diag%JNoon = 0.0_f4 IF (State_Diag%Archive_ProdCOfromCH4 ) State_Diag%ProdCOfromCH4 = 0.0_f4 IF (State_Diag%Archive_ProdCOfromNMVOC) State_Diag%ProdCOfromNMVOC= 0.0_f4 IF (State_Diag%Archive_OHreactivity ) State_Diag%OHreactivity = 0.0_f4 IF (State_Diag%Archive_RxnRate ) State_Diag%RxnRate = 0.0_f4 IF (State_Diag%Archive_RxnConst ) State_Diag%RxnConst = 0.0_f4 IF (State_Diag%Archive_SatDiagnRxnRate) State_Diag%SatDiagnRxnRate= 0.0_f4 IF (State_Diag%Archive_KppDiags) THEN IF (State_Diag%Archive_KppIntCounts) State_Diag%KppIntCounts = 0.0_f4 IF (State_Diag%Archive_KppJacCounts) State_Diag%KppJacCounts = 0.0_f4 IF (State_Diag%Archive_KppTotSteps ) State_Diag%KppTotSteps = 0.0_f4 IF (State_Diag%Archive_KppAccSteps ) State_Diag%KppAccSteps = 0.0_f4 IF (State_Diag%Archive_KppRejSteps ) State_Diag%KppRejSteps = 0.0_f4 IF (State_Diag%Archive_KppLuDecomps) State_Diag%KppLuDecomps = 0.0_f4 IF (State_Diag%Archive_KppSubsts ) State_Diag%KppSubsts = 0.0_f4 IF (State_Diag%Archive_KppSmDecomps) State_Diag%KppSmDecomps = 0.0_f4 IF (State_Diag%Archive_KppAutoReducerNVAR) & State_Diag%KppAutoReducerNVAR = 0.0_f4 IF (State_Diag%Archive_KppcNONZERO) State_Diag%KppcNONZERO = 0.0_f4 IF (State_Diag%Archive_KppNegatives) State_Diag%KppNegatives = 0.0_f4 IF (State_Diag%Archive_KppNegatives0) State_Diag%KppNegatives0 = 0.0_f4 ENDIF ! Also zero satellite diagnostic archival arrays IF ( State_Diag%Archive_SatDiagnLoss ) State_Diag%SatDiagnLoss = 0.0_f4 IF ( State_Diag%Archive_SatDiagnProd ) State_Diag%SatDiagnProd = 0.0_f4 IF ( State_Diag%Archive_SatDiagnJval ) THEN State_Diag%SatDiagnJval = 0.0_f4 ENDIF IF ( State_Diag%Archive_SatDiagnJvalO3O1D ) THEN State_Diag%SatDiagnJvalO3O1D = 0.0_f4 ENDIF IF ( State_Diag%Archive_SatDiagnJvalO3O3P ) THEN State_Diag%SatDiagnJvalO3O3P = 0.0_f4 ENDIF ! Keep track of the boxes where it is local noon in the JNoonFrac ! diagnostic. When time-averaged, this will be the fraction of time ! that local noon occurred at a grid box. (bmy, 4/2/19) IF ( State_Diag%Archive_JNoonFrac ) THEN WHERE( State_Met%IsLocalNoon ) State_Diag%JNoonFrac = 1.0_f4 ELSEWHERE State_Diag%JNoonFrac = 0.0_f4 ENDWHERE ENDIF #if defined( MODEL_GEOS ) IF ( State_Diag%Archive_NoxTau ) State_Diag%NoxTau(:,:,:) = 0.0_f4 IF ( State_Diag%Archive_TropNOxTau ) THEN State_Diag%TropNOxTau(:,:) = 0.0_f4 TROPv_NOx_mass(:,:) = 0.0_f4 TROPv_NOx_tau(:,:) = 0.0_f4 ENDIF #endif !======================================================================== ! Zero out certain species ! TODO: Abstract this to a subroutine, to simplify DO_FULLCHEM !======================================================================== DO N = 1, State_Chm%nSpecies ! Get info about this species from the species database SpcInfo => State_Chm%SpcData(N)%Info ! isoprene oxidation counter species IF ( TRIM( SpcInfo%Name ) == 'LISOPOH' .or. & TRIM( SpcInfo%Name ) == 'LISOPNO3' ) THEN State_Chm%Species(N)%Conc(:,:,:) = 0.0_fp ENDIF ! aromatic oxidation counter species IF ( Input_Opt%LSOA .or. Input_Opt%LSVPOA ) THEN SELECT CASE ( TRIM( SpcInfo%Name ) ) CASE ( 'LBRO2H', 'LBRO2N', 'LTRO2H', 'LTRO2N', & 'LXRO2H', 'LXRO2N', 'LNRO2H', 'LNRO2N' ) State_Chm%Species(N)%Conc(:,:,:) = 0.0_fp END SELECT ENDIF ! Sulfate gas/cloud prod diagnostic species IF ( TRIM( SpcInfo%Name ) == 'PH2SO4' .or. & TRIM( SpcInfo%Name ) == 'PSO4AQ' ) THEN State_Chm%Species(N)%Conc(:,:,:) = 0.0_fp ENDIF ! Free pointer SpcInfo => NULL() ENDDO !======================================================================== ! Convert species to [molec/cm3] (ewl, 8/16/16) !======================================================================== ! Halt gas-phase chem timer (so that unit conv can be timed separately) IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "=> Gas-phase chem", RC ) ENDIF ! Convert units of all species to molec/cm3 for KPP CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & new_units = MOLECULES_SPECIES_PER_CM3, & previous_units = previous_units, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Unit conversion error!' CALL GC_Error( ErrMsg, RC, 'fullchem_mod.F90') RETURN ENDIF !======================================================================== ! Call photolysis routine to compute J-Values !======================================================================== IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "=> Photolysis", RC ) ENDIF ! Compute J-values IF ( Input_Opt%Do_Photolysis ) THEN CALL Do_Photolysis( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Do_Photolysis"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !### Debug IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### Do_FullChem: after computing J-values' ) ENDIF ! Start gas-phase chem and photolysis timers again IF ( Input_Opt%useTimers ) THEN CALL Timer_End ( "=> Photolysis", RC ) CALL Timer_Start( "=> Gas-phase chem", RC ) ENDIF #if defined( MODEL_GEOS ) || defined( MODEL_WRF ) || defined( MODEL_CESM ) ! Init diagnostics IF ( ASSOCIATED(State_Diag%KppError) ) THEN State_Diag%KppError(:,:,:) = 0.0 ENDIF #endif !======================================================================= ! Archive concentrations before chemistry ! TODO: Abstract this to a subroutine, to simplify DO_FULLCHEM !======================================================================= IF ( State_Diag%Archive_ConcBeforeChem ) THEN ! Point to mapping obj specific to ConcBeforeChem diagnostic collection mapData => State_Diag%Map_ConcBeforeChem !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( N, S ) DO S = 1, mapData%nSlots N = mapData%slot2id(S) State_Diag%ConcBeforeChem(:,:,:,S) = State_Chm%Species(N)%Conc(:,:,:) ENDDO !$OMP END PARALLEL DO ! Free pointer mapData => NULL() ENDIF !======================================================================= ! Setup for the KPP standalone interface (Obin Sturm, Bob Yantosca) ! ! NOTE: These routines return immediately if the KPP standalone ! interface has been disabled (or if the *.yml file is missing.) !======================================================================= ! Get the (I,J) grid box indices for active cells that are on this CPU ! so that we can print the full chemical state to text files. ! ! For computational efficency, only do this on the first call, as ! this information does not change with time. IF ( FirstChem ) THEN CALL KppSa_Check_Domain( RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Check_Domain"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF ! Are we within the time window for archiving model state? CALL KppSa_Check_Time( RC ) !======================================================================== ! Set up integration convergence conditions and timesteps ! (cf. M. J. Evans) ! ! NOTE: ATOL and RTOL are defined in gckpp_Global.F90 so they ! are probably only used as INTENT(IN). Therefore, it is ! probably safe to define them here outside the OpenMP loop. ! (bmy, 3/28/16) ! ! ICNTRL and RCNTRL now need to be updated within the TimeLoop for ! the Rosenbrock_AutoReduce solver (hplin, 4/13/22) !======================================================================== DT = GET_TS_CHEM() ! Chemistry timestep [s] ATOL = State_Chm%KPP_AbsTol ! Absolute tolerance RTOL = State_Chm%KPP_RelTol ! Relative tolerance #if defined(MPI_LOAD_BALANCE) ! For load balancing NCELL_local = offset ! Indexing IJL_to_Idx = 0 Idx_to_IJL = 0 C_1D(:,offset+1:offset+NCELL_MAX) = 0.0_fp RCONST_1D(:,offset+1:offset+NCELL_MAX) = 0.0_fp ICNTRL_1D(:,offset+1:offset+NCELL_MAX) = 0 RCNTRL_1D(:,offset+1:offset+NCELL_MAX) = 0.0_fp ISTATUS_1D(:,offset+1:offset+NCELL_MAX) = 0 RSTATE_1D(:,offset+1:offset+NCELL_MAX) = 0.0_fp cell_status(offset+1:offset+NCELL_MAX) = 1 #endif !======================================================================= ! %%%%% SOLVE CHEMISTRY -- This is the main KPP solver loop %%%%% !======================================================================= 100 format('No. of function calls:', i6, /, & 'No. of jacobian calls:', i6, /, & 'No. of steps: ', i6, /, & 'No. of accepted steps:', i6, /, & 'No. of rejected steps ', i6, /, & ' (except at very beginning)', /, & 'No. of LU decompositions: ', i6, /, & 'No. of forward/backward substitutions:', i6, /, & 'No. of singular matrix decompositions:', i6, /, & /, & 'Texit, the time corresponding to the ', /, & ' computed Y upon return: ', f11.4, /, & 'Hexit, last accepted step before exit: ', f11.4, /, & 'Hnew, last predicted step (not yet taken):', f11.4 ) !------------------------------------------------------------------------ ! Always consider halogens as "fast" species for auto-reduce !------------------------------------------------------------------------ #ifdef KPP_INTEGRATOR_AUTOREDUCE IF ( FIRSTCHEM .and. Input_Opt%ITS_A_FULLCHEM_SIM ) THEN IF ( Input_Opt%AutoReduce_Is_KeepActive ) THEN CALL fullchem_AR_KeepHalogensActive( Input_Opt%amIRoot ) ENDIF ENDIF #endif !======================================================================== ! MAIN LOOP: Compute reaction rates and call chemical solver ! ! For OpenMP builds: ! Variables not listed here are held THREADPRIVATE in gckpp_Global.F90 ! !$OMP COLLAPSE(3) vectorizes the loop and !$OMP DYNAMIC(24) sends ! 24 boxes at a time to each core... then when that core is finished, ! it gets another chunk of 24 boxes. This should lead to better ! load balancing, and will spread the sunrise/sunset boxes across ! more cores. !======================================================================== !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, L, N )& !$OMP PRIVATE( ICNTRL, C_before_integrate )& !$OMP PRIVATE( KPPH_before_integrate, local_RCONST )& !$OMP PRIVATE( SO4_FRAC, IERR, RCNTRL, ISTATUS, RSTATE )& !$OMP PRIVATE( SpcID, KppID, F, P, Vloc )& !$OMP PRIVATE( Aout, Thread, RC, S, LCH4 )& !$OMP PRIVATE( OHreact, PCO_TOT, PCO_CH4, PCO_NMVOC, SR )& !$OMP PRIVATE( SIZE_RES, LWC )& #ifdef MODEL_GEOS !$OMP PRIVATE( NOxTau, NOxConc, NOx_weight, NOx_tau_weighted )& #endif !$OMP COLLAPSE( 3 )& !$OMP SCHEDULE( DYNAMIC, 24 )& !$OMP REDUCTION( +:errorCount ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Skip to the end of the loop if we have failed integration twice IF ( Failed2x ) CYCLE !===================================================================== ! Initialize private loop variables for each (I,J,L) ! Other private variables will be assigned in Set_Kpp_GridBox_Values !===================================================================== IERR = 0 ! KPP success or failure flag ICNTRL = 0 ! Rosenbrock input (integer) RCNTRL = 0.0_fp ! Rosenbrock input (real) SO4_FRAC = 0.0_fp ! Frac of SO4 avail for photolysis P = 0 ! GEOS-Chem photolyis species ID LCH4 = 0.0_fp ! P/L diag: Methane loss rate PCO_TOT = 0.0_fp ! P/L diag: Total P(CO) PCO_CH4 = 0.0_fp ! P/L diag: P(CO) from CH4 PCO_NMVOC = 0.0_fp ! P/L diag: P(CO) from NMVOC SR = 0.0_fp ! Enhancement to O2 catalysis rate LWC = 0.0_fp ! Liquid water content SIZE_RES = .FALSE. ! Size resolved calculation? C = 0.0_dp ! KPP species conc's RCONST = 0.0_dp ! KPP rate constants PHOTOL = 0.0_dp ! Photolysis array for KPP K_CLD = 0.0_dp ! Sulfur in-cloud rxn het rates K_MT = 0.0_dp ! Sulfur sea salt rxn het rates CFACTOR = 1.0_dp ! KPP conversion factor SRO3 = 0.0_dp ! Enhanced sulfate production of SRHOBr = 0.0_dp ! O3, HOBr, HCl in size-resolved SRHOCl = 0.0_dp ! cloud droplets #ifdef MODEL_CLASSIC #ifndef NO_OMP Thread = OMP_GET_THREAD_NUM() + 1 ! OpenMP thread number #endif #endif #ifndef MPI_LOAD_BALANCE ! Rosenbrock output ISTATUS = 0.0_dp RSTATE = 0.0_dp #endif #ifdef KPP_INTEGRATOR_AUTOREDUCE ! Per discussions for Lin et al., force keepActive throughout the ! atmosphere if keepActive option is enabled. (hplin, 2/9/22) CALL fullchem_AR_SetKeepActive( option=.TRUE. ) #endif ! Check if the current grid cell in this loop should have its ! full chemical state printed (concentrations, rates, constants) ! for use with the KPP Standalone (psturm, 03/22/24) CALL KppSa_Check_ActiveCell( I, J, L ) ! Start measuring KPP-related routine timing for this grid box IF ( State_Diag%Archive_KppTime ) THEN call cpu_time(TimeStart) ENDIF !===================================================================== ! Get photolysis rates (daytime only) ! ! NOTE: The ordering of the photolysis reactions here is ! the order in the Fast-J definition file FJX_j2j.dat. ! I've assumed that these are the same as in the text files ! but this may have been changed. This needs to be checked ! through more thoroughly -- M. Long (3/28/16) ! ! ALSO NOTE: We moved this section above the test to see if grid ! box (I,J,L) is in the chemistry grid. This will ensure that ! J-value diagnostics are defined for all levels in the column. ! This modification was validated by a geosfp_4x5_standard ! difference test. (bmy, 1/18/18) ! ! Update SUNCOSmid threshold from 0 to cos(98 degrees) since ! fast-jx allows for SZA down to 98 degrees. This is important in ! the stratosphere-mesosphere where sunlight still illuminates at ! high altitudes if the sun is below the horizon at the surface ! (update submitted by E. Fleming (NASA), 10/11/2018) !===================================================================== IF ( State_Met%SUNCOSmid(I,J) > -0.1391731e+0_fp ) THEN ! Only proceed if doing photolysis IF ( Input_Opt%Do_Photolysis ) THEN ! Get the fraction of H2SO4 that is available for photolysis ! (this is only valid for UCX-enabled mechanisms) SO4_FRAC = SO4_PHOTFRAC( I, J, L, State_Chm ) ! Adjust certain photolysis rates: ! (1) H2SO4 + hv -> SO2 + OH + OH (UCX-based mechanisms) ! (2) O3 + hv -> O2 + O (UCX-based mechanisms) ! (2) O3 + hv -> OH + OH (trop-only mechanisms) CALL PHOTRATE_ADJ( Input_Opt, State_Chm, State_Diag, State_Met,& I, J, L, SO4_FRAC, & IERR ) ! Loop over the FAST-JX photolysis species DO N = 1, State_Chm%Phot%nMaxPhotRxns ! Copy photolysis rate from FAST_JX into KPP PHOTOL array PHOTOL(N) = State_Chm%Phot%ZPJ(L,N,I,J) !============================================================ ! HISTORY (aka netCDF diagnostics) ! ! Instantaneous photolysis rates [s-1] (aka J-values) ! and noontime photolysis rates [s-1] ! ! NOTE: Attach diagnostics here instead of in module ! fast_jx_mod.F90 so that we can get the adjusted photolysis ! rates (output from routne PHOTRATE_ADJ above). ! ! The mapping between the GEOS-Chem photolysis species and ! the FAST-JX photolysis species is contained in the lookup ! table in input file FJX_j2j.dat. ! Some GEOS-Chem photolysis species may have multiple ! branches for photolysis reactions. These will be ! represented by multiple entries in the FJX_j2j.dat ! lookup table. ! ! NOTE: For convenience, we have stored the GEOS-Chem ! photolysis species index (range: 1..State_Chm%nPhotol) ! for each of the FAST-JX photolysis species (range; ! 1..State_Chm%Phot%nMaxPhotRxns) in the GC_PHOTO_ID array ! ! TODO: Abstract some of this to a subroutine, ! to simplify DO_FULLCHEM !============================================================ ! GC photolysis species index P = State_Chm%Phot%GC_Photo_Id(N) ! If this FAST_JX photolysis species maps to a valid ! GEOS-Chem photolysis species (for this simulation)... IF ( P > 0 .and. P <= State_Chm%nPhotol ) THEN ! Archive the instantaneous photolysis rate ! (summing over all reaction branches) IF ( State_Diag%Archive_Jval ) THEN S = State_Diag%Map_Jval%id2slot(P) IF ( S > 0 ) THEN State_Diag%Jval(I,J,L,S) = & State_Diag%Jval(I,J,L,S) + PHOTOL(N) ENDIF ENDIF ! Satellite diagnostics ! Archive the instantaneous photolysis rate ! (summing over all reaction branches) IF ( State_Diag%Archive_SatDiagnJval ) THEN S = State_Diag%Map_SatDiagnJval%id2slot(P) IF ( S > 0 ) THEN State_Diag%SatDiagnJval(I,J,L,S) = & State_Diag%SatDiagnJval(I,J,L,S) + PHOTOL(N) ENDIF ENDIF ! Archive the noontime photolysis rate ! (summing over all reaction branches) IF ( State_Met%IsLocalNoon(I,J) ) THEN IF ( State_Diag%Archive_JNoon ) THEN S = State_Diag%Map_JNoon%id2slot(P) IF ( S > 0 ) THEN State_Diag%JNoon(I,J,L,S) = & State_Diag%JNoon(I,J,L,S) + PHOTOL(N) ENDIF ENDIF ENDIF ELSE IF ( P == State_Chm%nPhotol+1 ) THEN ! J(O3_O1D). This used to be stored as the nPhotol+1st ! diagnostic in Jval, but needed to be broken off ! to facilitate cleaner diagnostic indexing (bmy, 6/3/20) IF ( State_Diag%Archive_JvalO3O1D ) THEN State_Diag%JvalO3O1D(I,J,L) = & State_Diag%JvalO3O1D(I,J,L) + PHOTOL(N) ENDIF ! J(O3_O1D) for satellite diagnostics IF ( State_Diag%Archive_SatDiagnJvalO3O1D ) THEN State_Diag%SatDiagnJvalO3O1D(I,J,L) = & State_Diag%SatDiagnJvalO3O1D(I,J,L) + PHOTOL(N) ENDIF ELSE IF ( P == State_Chm%nPhotol+2 ) THEN ! J(O3_O3P). This used to be stored as the nPhotol+2nd ! diagnostic in Jval, but needed to be broken off ! to facilitate cleaner diagnostic indexing (bmy, 6/3/20) IF ( State_Diag%Archive_JvalO3O3P ) THEN State_Diag%JvalO3O3P(I,J,L) = & State_Diag%JvalO3O3P(I,J,L) + PHOTOL(N) ENDIF ! J(O3_O3P) for satellite diagnostics IF ( State_Diag%Archive_SatDiagnJvalO3O3P ) THEN State_Diag%SatDiagnJvalO3O3P(I,J,L) = & State_Diag%SatDiagnJvalO3O3P(I,J,L) + PHOTOL(N) ENDIF ENDIF ENDDO ENDIF ENDIF #if defined( MODEL_CESM ) !===================================================================== ! Unphysical fix: Photolyze soluble aerosol tracers ! This removes unphysical values of soluble tracers in the UT/LS due ! to decoupling of convection and wet scavenging in CESM dynamics. ! ! This process has to be done before InChemGrid as it is supposed to ! be active everywhere, especially the stratosphere. ! (hplin, 5/30/23) ! ! TODO: Abstract this to a subroutine, to simplify DO_FULLCHEM !===================================================================== IF ( Input_Opt%correctConvUTLS .and. L .ge. State_Met%PBL_TOP_L(I,J) ) THEN ! We operate directly on [molec/cm3] species concentrations in State_Chm, ! because they have not been copied to C() in KPP yet. But, we can use ! PHOTOL(11) which is J-NO2, and scale to create the artificial sink. ! This is a consistent handling based off the MOZART-TS1 mechanism ! in Emmons et al., 2020 JAMES. ScaleCESMLossRate = MAX(0.0_dp, 1 - PHOTOL(11) * .0004_dp * DT) State_Chm%Species(id_TSOA0)%Conc(I,J,L) = State_Chm%Species(id_TSOA0)%Conc(I,J,L) * ScaleCESMLossRate State_Chm%Species(id_TSOA1)%Conc(I,J,L) = State_Chm%Species(id_TSOA1)%Conc(I,J,L) * ScaleCESMLossRate State_Chm%Species(id_TSOA2)%Conc(I,J,L) = State_Chm%Species(id_TSOA2)%Conc(I,J,L) * ScaleCESMLossRate State_Chm%Species(id_TSOA3)%Conc(I,J,L) = State_Chm%Species(id_TSOA3)%Conc(I,J,L) * ScaleCESMLossRate State_Chm%Species(id_ASOA1)%Conc(I,J,L) = State_Chm%Species(id_ASOA1)%Conc(I,J,L) * ScaleCESMLossRate State_Chm%Species(id_ASOA2)%Conc(I,J,L) = State_Chm%Species(id_ASOA2)%Conc(I,J,L) * ScaleCESMLossRate State_Chm%Species(id_ASOA3)%Conc(I,J,L) = State_Chm%Species(id_ASOA3)%Conc(I,J,L) * ScaleCESMLossRate State_Chm%Species(id_ASOAN)%Conc(I,J,L) = State_Chm%Species(id_ASOAN)%Conc(I,J,L) * ScaleCESMLossRate State_Chm%Species(id_TSOG0)%Conc(I,J,L) = State_Chm%Species(id_TSOG0)%Conc(I,J,L) * ScaleCESMLossRate State_Chm%Species(id_TSOG1)%Conc(I,J,L) = State_Chm%Species(id_TSOG1)%Conc(I,J,L) * ScaleCESMLossRate State_Chm%Species(id_TSOG2)%Conc(I,J,L) = State_Chm%Species(id_TSOG2)%Conc(I,J,L) * ScaleCESMLossRate State_Chm%Species(id_TSOG3)%Conc(I,J,L) = State_Chm%Species(id_TSOG3)%Conc(I,J,L) * ScaleCESMLossRate State_Chm%Species(id_ASOG1)%Conc(I,J,L) = State_Chm%Species(id_ASOG1)%Conc(I,J,L) * ScaleCESMLossRate State_Chm%Species(id_ASOG2)%Conc(I,J,L) = State_Chm%Species(id_ASOG2)%Conc(I,J,L) * ScaleCESMLossRate State_Chm%Species(id_ASOG3)%Conc(I,J,L) = State_Chm%Species(id_ASOG3)%Conc(I,J,L) * ScaleCESMLossRate State_Chm%Species(id_NIT )%Conc(I,J,L) = State_Chm%Species(id_NIT )%Conc(I,J,L) * ScaleCESMLossRate State_Chm%Species(id_NITs )%Conc(I,J,L) = State_Chm%Species(id_NITs )%Conc(I,J,L) * ScaleCESMLossRate ! Don't apply this to sulfate as it is not applied in CAM-chem either and will affect the SO4 budget. !State_Chm%Species(id_SO4 )%Conc(I,J,L) = State_Chm%Species(id_SO4 )%Conc(I,J,L) * ScaleCESMLossRate !State_Chm%Species(id_SO4s )%Conc(I,J,L) = State_Chm%Species(id_SO4s )%Conc(I,J,L) * ScaleCESMLossRate ENDIF #endif ! MODEL_CESM !===================================================================== ! Test if we need to do the chemistry for box (I,J,L), ! otherwise move onto the next box. !===================================================================== ! If we are not in the troposphere don't do the chemistry! IF ( .not. State_Met%InChemGrid(I,J,L) ) CYCLE ! Skipping buffer zone (lzh, 08/10/2014) IF ( State_Grid%NestedGrid ) THEN IF ( J <= State_Grid%SouthBuffer ) CYCLE IF ( J > State_Grid%NY - State_Grid%NorthBuffer ) CYCLE IF ( I <= State_Grid%EastBuffer ) CYCLE IF ( I > State_Grid%NX - State_Grid%WestBuffer ) CYCLE ENDIF !===================================================================== ! Initialize the KPP "C" vector of species concentrations [molec/cm3] !===================================================================== DO N = 1, NSPEC SpcID = State_Chm%Map_KppSpc(N) C(N) = 0.0_dp IF ( SpcId > 0 ) C(N) = State_Chm%Species(SpcID)%Conc(I,J,L) ENDDO !===================================================================== ! CHEMISTRY MECHANISM INITIALIZATION (#1) ! ! Populate KPP global variables and arrays in gckpp_global.F90 ! ! NOTE: This has to be done before Set_Sulfur_Chem_Rates, so that ! the NUMDEN and SR_TEMP KPP variables will be populated first. ! Otherwise this can lead to differences in output that are evident ! when running with different numbers of OpenMP cores. ! See https://github.com/geoschem/geos-chem/issues/1157 ! -- Bob Yantosca (08 Mar 2022) !===================================================================== ! Copy values into the various KPP global variables CALL Set_Kpp_GridBox_Values( I = I, & J = J, & L = L, & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & RC = RC ) !===================================================================== ! CHEMISTRY MECHANISM INITIALIZATION (#2) ! ! Update reaction rates [1/s] for sulfur chemistry in cloud and on ! seasalt. These will be passed to the KPP chemical solver. ! ! NOTE: This has to be done before fullchem_SetStateHet so that ! State_Chm%HSO3_aq and State_Chm%SO3_aq will be populated first. ! These are copied into State_Het%HSO3_aq and State_Het%SO3_aq. ! See https://github.com/geoschem/geos-chem/issues/1157 ! -- Bob Yantosca (08 Mar 2022) !===================================================================== ! Compute sulfur chemistry reaction rates [1/s] ! If size_res = T, we'll call fullchem_HetDropChem below. CALL Set_Sulfur_Chem_Rates( I = I, & J = J, & L = L, & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & size_res = size_res, & RC = RC ) !===================================================================== ! CHEMISTRY MECHANISM INITIALIZATION (#3) ! ! Populate the various fields of the State_Het object. ! ! NOTE: This has to be done after fullchem_SetStateHet so that ! State_Chm%HSO3_aq and State_Chm%SO3_aq will be populated first. ! These are copied into State_Het%HSO3_aq and State_Het%SO3_aq. ! See https://github.com/geoschem/geos-chem/issues/1157 ! -- Bob Yantosca (08 Mar 2022) !===================================================================== ! Populate fields of the State_Het object CALL fullchem_SetStateHet( I = I, & J = J, & L = L, & id_SALA = id_SALA, & id_SALAAL = id_SALAAL, & id_SALC = id_SALC, & id_SALCAL = id_SALCAL, & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Met = State_Met, & H = State_Het, & RC = RC ) !===================================================================== ! CHEMISTRY MECHANISM INITIALIZATION (#5) ! ! Call Het_Drop_Chem (formerly located in sulfate_mod.F90) to ! estimate the in-cloud sulfate production rate in heterogeneous ! cloud droplets based on the Yuen et al., 1996 parameterization. ! Code by Becky Alexander (2011) with updates by Mike Long and Bob ! Yantosca (2021). ! ! We will only call Het_Drop_Chem if: ! (1) It is at least 0.01% cloudy ! (2) We are doing a size-resolved computation ! (3) The grid box is over water ! (4) The temperature is above -5C ! (5) Liquid water content is nonzero !===================================================================== IF ( State_Met%CLDF(I,J,L) > 1.0e-4_fp ) THEN ! Liquid water content (same formula from the old sulfate_mod.F90) LWC = ( State_Met%QL(I,J,L) * State_Met%AIRDEN(I,J,L) & * 1.0e-3_fp / State_Met%CLDF(I,J,L) ) ! Eexecute fullchem_HetDropChem if criteria are satisfied ! NOTE: skip if LWC is very small, which will blow up equations! IF ( ( size_res ) .and. & ( State_Met%IsWater(I,J) ) .and. & ( TEMP > 268.15_fp ) .and. & ( LWC > 1.0e-20_fp ) ) THEN CALL fullchem_HetDropChem( I = I, & J = J, & L = L, & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Chm = State_Chm ) ENDIF ENDIF !===================================================================== ! Prepare arrays !===================================================================== ! Zero out dummy species index in KPP DO F = 1, NFAM KppID = PL_Kpp_Id(F) IF ( KppID > 0 ) C(KppID) = 0.0_dp ENDDO !===================================================================== ! Update reaction rates !===================================================================== ! Update the array of rate constants CALL Update_RCONST() !===================================================================== ! HISTORY (aka netCDF diagnostics) ! ! Archive KPP reaction rates [molec cm-3 s-1] ! See gckpp_Monitor.F90 for a list of chemical reactions ! ! NOTE: In KPP 2.5.0+, VAR and FIX are now private to the integrator ! and point to C. Therefore, pass C(1:NVAR) instead of VAR and ! C(NVAR+1:NSPEC) instead of FIX to routine FUN. ! ! TODO: Abstract this to a subroutine, to simplify DO_FULLCHEM !===================================================================== IF ( State_Diag%Archive_RxnRate .or. & State_Diag%Archive_SatDiagnRxnRate ) THEN ! Get equation rates (Aout) CALL Fun( V = C(1:NVAR), & F = C(NVAR+1:NSPEC), & RCT = RCONST, & Vdot = Vloc, & Aout = Aout ) ! Archive the RxnRate diagnostic collection IF ( State_Diag%Archive_RxnRate ) THEN DO S = 1, State_Diag%Map_RxnRate%nSlots N = State_Diag%Map_RxnRate%slot2Id(S) State_Diag%RxnRate(I,J,L,S) = Aout(N) ENDDO ENDIF ! Archive the SatDiagnRxnRate diagnostic collection IF ( State_Diag%Archive_SatDiagnRxnRate ) THEN DO S = 1, State_Diag%Map_SatDiagnRxnRate%nSlots N = State_Diag%Map_SatDiagnRxnRate%slot2Id(S) State_Diag%SatDiagnRxnRate(I,J,L,S) = Aout(N) ENDDO ENDIF ENDIF ! Archive KPP reaction rate constants (RCONST). The units vary. ! They are already updated in Update_RCONST, and do not require ! a call of Fun(). (hplin, 3/28/23) IF ( State_Diag%Archive_RxnConst ) THEN DO S = 1, State_Diag%Map_RxnConst%nSlots N = State_Diag%Map_RxnConst%slot2Id(S) State_Diag%RxnConst(I,J,L,S) = RCONST(N) ENDDO ENDIF #ifdef KPP_INTEGRATOR_AUTOREDUCE !===================================================================== ! Set options for the KPP integrator in vectors ICNTRL and RCNTRL ! This now needs to be done within the parallel loop !===================================================================== CALL fullchem_AR_SetIntegratorOptions( Input_Opt, State_Chm, & State_Met, FirstChem, & I, J, L, & ICNTRL, RCNTRL ) #endif #ifndef MPI_LOAD_BALANCE !===================================================================== ! Integrate the box forwards (if not using MPI load balancing) !===================================================================== ! Store concentrations before the call to "Integrate". This will ! let us reset concentrations before calling "Integrate" a 2nd time. C_before_integrate = C ! Do the same for the KPP initial timestep ! Save local rate constants too KPPH_before_integrate = State_Chm%KPPHvalue(I,J,L) local_RCONST = RCONST ! Call the KPP integrator ! NOTE: Some integrators (like LSODE) will overwrite the TIN value ! upon exit. To prevent this, pass 0.0, DT as the 1st 2 arguments. CALL Integrate( 0.0_dp, DT, ICNTRL, RCNTRL, ISTATUS, RSTATE, IERR ) ! Print grid box indices to screen if integrate failed IF ( IERR < 0 ) THEN ! Turn off error output after a certain limit is reached IF ( .not. doSuppress ) THEN WRITE( 6, * ) '### INTEGRATE RETURNED ERROR AT: ', I, J, L errorCount = errorCount + 1 IF ( errorCount > INTEGRATE_FAIL_TOGGLE ) THEN WRITE( 6, '(a)' ) & '### Further error output has been switched off' doSuppress = .TRUE. ENDIF ENDIF #if defined( MODEL_GEOS ) || defined( MODEL_WRF ) || defined( MODEL_CESM ) ! Keep track of number of error boxes IF ( State_Diag%Archive_KppError ) THEN State_Diag%KppError(I,J,L) = State_Diag%KppError(I,J,L) + 1.0 ENDIF #endif ENDIF #if defined( MODEL_GEOS ) ! Mark integration as erroneous if negative concentrations so that ! it will be repeated below (cakelle2, 2023/10/26) IF ( IERR >= 0 .AND. Input_Opt%KppCheckNegatives >= 0 ) THEN IF ( ( Input_Opt%KppCheckNegatives==0 .AND. & State_Met%InStratMeso(I,J,L) ) .OR. & ( L > ( State_Grid%NZ - Input_Opt%KppCheckNegatives) ) ) THEN IF ( ANY(C < 0.0_dp) ) THEN IERR = -999 ! Include negative concentration boxes within error box ! diagnostic IF ( State_Diag%Archive_KppError ) THEN State_Diag%KppError(I,J,L) = & State_Diag%KppError(I,J,L) + 1.0 ENDIF ENDIF ENDIF ENDIF #endif !===================================================================== ! HISTORY: Archive KPP solver diagnostics ! ! TODO: Abstract this to a subroutine, to simplify DO_FULLCHEM !===================================================================== IF ( State_Diag%Archive_KppDiags ) THEN ! Check for negative concentrations after first integration IF ( State_Diag%Archive_KppNegatives0 ) THEN State_Diag%KppNegatives0(I,J,L) = REAL( COUNT( C < 0.0_dp ), KIND=4 ) ENDIF ! # of integrator calls IF ( State_Diag%Archive_KppIntCounts ) THEN State_Diag%KppIntCounts(I,J,L) = ISTATUS(1) ENDIF ! # of times Jacobian was constructed IF ( State_Diag%Archive_KppJacCounts ) THEN State_Diag%KppJacCounts(I,J,L) = ISTATUS(2) ENDIF ! # of internal timesteps IF ( State_Diag%Archive_KppTotSteps ) THEN State_Diag%KppTotSteps(I,J,L) = ISTATUS(3) ENDIF ! # of accepted internal timesteps IF ( State_Diag%Archive_KppAccSteps ) THEN State_Diag%KppAccSteps(I,J,L) = ISTATUS(4) ENDIF ! # of rejected internal timesteps IF ( State_Diag%Archive_KppRejSteps ) THEN State_Diag%KppRejSteps(I,J,L) = ISTATUS(5) ENDIF ! # of LU-decompositions IF ( State_Diag%Archive_KppLuDecomps ) THEN State_Diag%KppLuDecomps(I,J,L) = ISTATUS(6) ENDIF ! # of forward and backwards substitutions IF ( State_Diag%Archive_KppSubsts ) THEN State_Diag%KppSubsts(I,J,L) = ISTATUS(7) ENDIF ! # of singular-matrix decompositions IF ( State_Diag%Archive_KppSmDecomps ) THEN State_Diag%KppSmDecomps(I,J,L) = ISTATUS(8) ENDIF #ifdef KPP_INTEGRATOR_AUTOREDUCE ! Update autoreduce solver statistics ! (only if the autoreduction is turned on) IF ( Input_Opt%Use_AutoReduce ) THEN CALL fullchem_AR_UpdateKppDiags( I, J, L, RSTATE, State_Diag ) ENDIF #endif ENDIF !===================================================================== ! Try another time if it failed !===================================================================== IF ( IERR < 0 ) THEN ! Zero the first time step (Hstart). Also reset C with ! concentrations prior to the 1st call to "Integrate". RCNTRL(3) = 0.0_dp C = C_before_integrate #if defined( MODEL_GEOS ) ! In GEOS also inflate the error tolerances (cakelle2, 2023/10/26) ATOL = 1.0e-2_dp * Input_Opt%KppTolScale RTOL = 1.0e-2_dp * Input_Opt%KppTolScale #endif ! Disable auto-reduce solver for the second iteration for safety IF ( Input_Opt%Use_AutoReduce ) THEN RCNTRL(12) = -1.0_dp ! without using ICNTRL ENDIF ! Update rates again CALL Update_RCONST() ! Call the integrator ! NOTE: Some integrators (like LSODE) will overwrite the TIN value ! upon exit. To prevent this, pass 0.0, DT as the 1st 2 arguments. CALL Integrate( 0.0_dp, DT, ICNTRL, RCNTRL, ISTATUS, RSTATE, IERR ) !================================================================== ! HISTORY: Archive KPP solver diagnostics ! This time, add to the existing value ! ! !TODO: Abstract this into a separate routine !================================================================== IF ( State_Diag%Archive_KppDiags ) THEN ! # of integrator calls IF ( State_Diag%Archive_KppIntCounts ) THEN State_Diag%KppIntCounts(I,J,L) = & State_Diag%KppIntCounts(I,J,L) + ISTATUS(1) ENDIF ! # of times Jacobian was constructed IF ( State_Diag%Archive_KppJacCounts ) THEN State_Diag%KppJacCounts(I,J,L) = & State_Diag%KppJacCounts(I,J,L) + ISTATUS(2) ENDIF ! # of internal timesteps IF ( State_Diag%Archive_KppTotSteps ) THEN State_Diag%KppTotSteps(I,J,L) = & State_Diag%KppTotSteps(I,J,L) + ISTATUS(3) ENDIF ! # of accepted internal timesteps IF ( State_Diag%Archive_KppAccSteps ) THEN State_Diag%KppAccSteps(I,J,L) = & State_Diag%KppAccSteps(I,J,L) + ISTATUS(4) ENDIF ! # of rejected internal timesteps IF ( State_Diag%Archive_KppRejSteps ) THEN State_Diag%KppRejSteps(I,J,L) = & State_Diag%KppRejSteps(I,J,L) + ISTATUS(5) ENDIF ! # of LU-decompositions IF ( State_Diag%Archive_KppLuDecomps ) THEN State_Diag%KppLuDecomps(I,J,L) = & State_Diag%KppLuDecomps(I,J,L) + ISTATUS(6) ENDIF ! # of forward and backwards substitutions IF ( State_Diag%Archive_KppSubsts ) THEN State_Diag%KppSubsts(I,J,L) = & State_Diag%KppSubsts(I,J,L) + ISTATUS(7) ENDIF ! # of singular-matrix decompositions ! IF ( State_Diag%Archive_KppSmDecomps ) THEN ! State_Diag%KppSmDecomps(I,J,L) = & ! State_Diag%KppSmDecomps(I,J,L) + ISTATUS(8) ! ENDIF ENDIF !================================================================== ! Exit upon the second failure !================================================================== IF ( IERR < 0 ) THEN ! Print error message WRITE(6, '(a )' ) '## INTEGRATE FAILED TWICE !!! ' WRITE(ERRMSG,'(a,i3)' ) 'Integrator error code :', IERR #if defined( MODEL_GEOS ) || defined( MODEL_WRF ) || defined( MODEL_CESM ) IF ( Input_Opt%KppStop ) THEN CALL ERROR_STOP(ERRMSG, 'INTEGRATE_KPP') ELSE ! Revert to concentrations prior to 1st call to "Integrate" C = C_before_integrate ENDIF ! Keep track of error boxes IF ( State_Diag%Archive_KppError ) THEN State_Diag%KppError(I,J,L) = State_Diag%KppError(I,J,L) + 1.0 ENDIF #else !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! Make sure only one thread at a time executes this block !$OMP CRITICAL ! ! Set a flag to break out of loop gracefully ! NOTE: You can set a GDB breakpoint here to examine the error Failed2x = .TRUE. ! Print concentrations at failure grid box PRINT*, REPEAT( '#', 79 ) PRINT*, '### KPP DEBUG OUTPUT!' PRINT*, '### Species concentrations at problem box ', I, J, L PRINT*, REPEAT( '#', 79 ) DO N = 1, NSPEC PRINT*, C(N), TRIM( ADJUSTL( SPC_NAMES(N) ) ) ENDDO ! Print rate constants at failure grid box PRINT*, REPEAT( '#', 79 ) PRINT*, '### KPP DEBUG OUTPUT!' PRINT*, '### Reaction rates at problem box ', I, J, L PRINT*, REPEAT( '#', 79 ) DO N = 1, NREACT PRINT*, RCONST(N), TRIM( ADJUSTL( EQN_NAMES(N) ) ) ENDDO ! !$OMP END CRITICAL !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! Start skipping to end of loop upon 2 failures in a row CYCLE #endif ENDIF ENDIF !===================================================================== ! Continue upon successful return... !===================================================================== ! Revert Alkalinity (only when using sulfur chemistry in KPP) IF ( .not. State_Chm%Do_SulfateMod_SeaSalt ) THEN CALL fullchem_ConvertEquivToAlk() ENDIF ! Save Hnew (the last predicted but not taken step) from the 3rd slot ! of RSTATE into State_Chm so that it can be written to the restart ! file. For simulations that are broken into multiple stages, ! Hstart will be initialized to the value of Hnew from the restart ! file at startup (see above). State_Chm%KPPHvalue(I,J,L) = RSTATE(Nhnew) ! Save cpu time spent for bulk of KPP-related routines for ! History archival (hplin, 11/8/21) IF ( State_Diag%Archive_KppTime ) THEN call cpu_time(TimeEnd) State_Diag%KppTime(I,J,L) = TimeEnd - TimeStart ENDIF ! Write chemical state to file for the kpp standalone interface ! No external logic needed, this subroutine exits early if the ! chemical state should not be printed (psturm, 03/23/24) CALL KppSa_Write_Samples( & I = I, & J = J, & L = L, & initC = C_before_integrate, & localRCONST = local_RCONST, & initHvalue = KPPH_before_integrate, & exitHvalue = RSTATE(Nhexit), & ICNTRL = ICNTRL, & RCNTRL = RCNTRL, & State_Grid = State_Grid, & State_Chm = State_Chm, & State_Met = State_Met, & Input_Opt = Input_Opt, & KPP_TotSteps = ISTATUS(3), & RC = RC ) !===================================================================== ! Check we have no negative values and copy the concentrations ! calculated from the C array back into State_Chm%Species%Conc !===================================================================== ! Loop over KPP species DO N = 1, NSPEC ! GEOS-Chem species ID SpcID = State_Chm%Map_KppSpc(N) ! Skip if this is not a GEOS-Chem species IF ( SpcID <= 0 ) CYCLE ! Scan for negatives IF ( State_Diag%Archive_KppNegatives ) THEN IF ( C(N) < 0.0_dp ) THEN State_Diag%KppNegatives(I,J,L) = & State_Diag%KppNegatives(I,J,L) + 1.0_f4 ENDIF ENDIF ! Set negative concentrations to zero C(N) = MAX( C(N), 0.0_dp ) ! Copy concentrations back into State_Chm%Species State_Chm%Species(SpcID)%Conc(I,J,L) = REAL( C(N), kind=fp ) ENDDO #ifdef TOMAS !----------------------------------------------------------------- ! FOR TOMAS MICROPHYSICS: ! ! Obtain P/L with a unit [kg S] for tracing ! gas-phase sulfur species production (SO2, SO4, MSA) ! (win, 8/4/09) ! ! TODO: Abstract this to a subroutine, to simplify DO_FULLCHEM !----------------------------------------------------------------- ! Calculate H2SO4 production rate [kg s-1] in each ! time step (win, 8/4/09) H2SO4_RATE(I,J,L) = C(ind_PH2SO4) / AVO * 98.e-3_fp * & State_Met%AIRVOL(I,J,L) * & 1.0e+6_fp / DT ! kg s-1 box-1 IF ( H2SO4_RATE(I,J,L) < 0.0d0) THEN write(*,*) "H2SO4_RATE negative in fullchem_mod.F90!!", & I, J, L, "was:", H2SO4_RATE(I,J,L), " setting to 0.0d0" H2SO4_RATE(I,J,L) = 0.0d0 ENDIF PSO4AQ_RATE(I,J,L) = C(ind_PSO4AQ) / AVO * 98.e-3_fp * & State_Met%AIRVOL(I,J,L) * & 1.0e+6_fp ! kg per timestep box-1 IF ( PSO4AQ_RATE(I,J,L) < 0.0d0) THEN write(*,*) "PSO4AQ_RATE negative in fullchem_mod.F90", & I, J, L, "was:", PSO4AQ_RATE(I,J,L), " setting to 0.0d0" PSO4AQ_RATE(I,J,L) = 0.0d0 ENDIF #endif ! TOMAS #ifdef MODEL_CESM !--------------------------------------------------------------------- ! Calculate H2SO4 production rate for coupling to CESM ! (interface to MAM4 nucleation) !--------------------------------------------------------------------- ! mol/mol = molec cm-3 * g * mol(Air)-1 * kg g-1 * m-3 cm3 / & ! (molec mol-1 * kg m-3) = mol/molAir State_Chm%H2SO4_PRDR(I,J,L) = C(id_PSO4) * AIRMW * 1e-3_fp & * 1.0e+6_fp / (AVO * State_Met%AIRDEN(I,J,L)) IF ( State_Chm%H2SO4_PRDR(I,J,L) < 0.0d0) THEN write(*,*) "H2SO4_PRDR negative in fullchem_mod.F90!!", & I, J, L, "was:", State_Chm%H2SO4_PRDR(I,J,L), & " setting to 0.0d0" State_Chm%H2SO4_PRDR(I,J,L) = 0.0d0 ENDIF #endif ! MODEL_CESM #ifdef MODEL_GEOS !-------------------------------------------------------------------- ! Archive NOx lifetime [h] ! ! TODO: Abstract this to a subroutine, to simplify DO_FULLCHEM !-------------------------------------------------------------------- IF ( State_Diag%Archive_NoxTau .OR. & State_Diag%Archive_TropNOxTau ) THEN CALL Fun( V = C(1:NVAR), & F = C(NVAR+1:NSPEC), & RCT = RCONST, & Vdot = Vloc, & Aout = Aout ) NOxTau = Vloc(ind_NO) + Vloc(ind_NO2) + Vloc(ind_NO3) & + 2.*Vloc(ind_N2O5) + Vloc(ind_ClNO2) + Vloc(ind_HNO2) & + Vloc(ind_HNO4) NOxConc = C(ind_NO) + C(ind_NO2) + C(ind_NO3) + 2.*C(ind_N2O5) & + C(ind_ClNO2) + C(ind_HNO2) + C(ind_HNO4) ! NOx chemical lifetime per grid cell IF ( State_Diag%Archive_NoxTau ) THEN NoxTau = ( NOxConc / (-1.0_f4*NOxTau) ) / 3600.0_f4 IF ( NoxTau > 0.0_f4 ) THEN State_Diag%NOxTau(I,J,L) = & min(1.0e10_f4,max(1.0e-10_f4,NOxTau)) ELSE State_Diag%NOxTau(I,J,L) = & max(-1.0e10_f4,min(-1.0e-10_f4,NOxTau)) ENDIF ENDIF ! NOx chemical lifetime per trop. column IF ( State_Diag%Archive_TropNOxTau ) THEN NOx_weight = ( NOxConc )*State_Met%AIRDEN(I,J,L) * & State_Met%DELP_DRY(I,J,L) NOx_tau_weighted = & ( NOxConc / ( -1.0_f4*NOxTau*3600.0_f4 ) ) * NOx_weight IF ( ABS(NOx_tau_weighted) < 1.0e8 ) THEN NOx_tau_weighted = ( NINT(NOx_tau_weighted)*1.0e6 )*1.0e-6_f4 ELSE IF ( NOx_tau_weighted > 0.0 ) THEN NOx_tau_weighted = 1.0e8 ELSE NOx_tau_weighted = -1.0e8 ENDIF ENDIF IF ( State_Met%InTroposphere(I,J,L) ) THEN TROPv_NOx_mass(I,J) = TROPv_NOx_mass(I,J) + NOx_weight TROPv_NOx_tau(I,J) = TROPv_NOx_tau(I,J) + NOx_tau_weighted ENDIF ENDIF ENDIF #endif ! MODEL_GEOS !==================================================================== ! HISTORY (aka netCDF diagnostics) ! ! Prod and loss of families or species [molec/cm3/s] ! ! NOTE: KppId is the KPP ID # for each of the prod and loss ! diagnostic species. This is the value used to index the ! KPP "C" array (in module gckpp_Global.F90). ! ! TODO: Abstract this to a subroutine, to simplify DO_FULLCHEM !==================================================================== ! Chemical loss of species or families [molec/cm3/s] IF ( State_Diag%Archive_Loss ) THEN DO S = 1, State_Diag%Map_Loss%nSlots KppId = State_Diag%Map_Loss%slot2Id(S) State_Diag%Loss(I,J,L,S) = C(KppID) / DT ENDDO ENDIF ! Chemical production of species or families [molec/cm3/s] IF ( State_Diag%Archive_Prod ) THEN DO S = 1, State_Diag%Map_Prod%nSlots KppID = State_Diag%Map_Prod%slot2Id(S) State_Diag%Prod(I,J,L,S) = C(KppID) / DT ENDDO ENDIF ! Satellite diagnostic: Chemical loss [molec/cm3/s] IF ( State_Diag%Archive_SatDiagnLoss ) THEN DO S = 1, State_Diag%Map_SatDiagnLoss%nSlots KppId = State_Diag%Map_SatDiagnLoss%slot2Id(S) State_Diag%SatDiagnLoss(I,J,L,S) = C(KppID) / DT ENDDO ENDIF ! Satellite diagnostic: Chemical production [molec/cm3/s] IF ( State_Diag%Archive_SatDiagnProd ) THEN DO S = 1, State_Diag%Map_SatDiagnProd%nSlots KppID = State_Diag%Map_SatDiagnProd%slot2Id(S) State_Diag%SatDiagnProd(I,J,L,S) = C(KppID) / DT ENDDO ENDIF !-------------------------------------------------------------------- ! Archive prod/loss fields for CO in the carbon simulation ! [molec/cm3/s] ! (In practice, we only need to do this from benchmark simulations) ! ! TODO: Abstract this to a subroutine, to simplify DO_FULLCHEM !-------------------------------------------------------------------- IF ( State_Diag%Archive_ProdCOfromCH4 .or. & State_Diag%Archive_ProdCOfromNMVOC ) THEN ! Total production of CO PCO_TOT = C(id_PCO) / DT ! Loss of CO from CH4 LCH4 = C(id_LCH4) / DT ! P(CO)_CH4 is LCH4. Cap so that it is never greater ! than total P(CO) to prevent negative P(CO)_NMVOC. PCO_CH4 = MIN( LCH4, PCO_TOT ) ! P(CO) from NMVOC is the remaining P(CO) PCO_NMVOC = PCO_TOT - PCO_CH4 ! Archive P(CO) from CH4 for CO in carbon simulations IF ( State_Diag%Archive_ProdCOfromCH4 ) THEN State_Diag%ProdCOfromCH4(I,J,L) = PCO_CH4 ENDIF ! Archive P(CO) from NMVOC for CO in carbon simulations IF ( State_Diag%Archive_ProdCOfromNMVOC ) THEN State_Diag%ProdCOfromNMVOC(I,J,L) = PCO_NMVOC ENDIF ENDIF !==================================================================== ! HISTORY (aka netCDF diagnostics) ! ! Write out OH reactivity. The OH reactivity is defined here as the ! inverse of its life-time. In a crude ad-hoc approach, manually add ! all OH reactants (ckeller, 9/20/2017) !==================================================================== IF ( State_Diag%Archive_OHreactivity .or. & State_Diag%Archive_SatDiagnOHreactivity ) THEN ! Archive OH reactivity diagnostic CALL Get_OHreactivity ( C, RCONST, OHreact ) IF ( State_Diag%Archive_OHreactivity ) THEN State_Diag%OHreactivity(I,J,L) = OHreact ENDIF IF ( State_Diag%Archive_SatDiagnOHreactivity ) THEN State_Diag%SatDiagnOHreactivity(I,J,L) = OHreact ENDIF ENDIF #else ! MPI_LOAD_BALANCE !===================================================================== ! If doing MPI load balancing, rather than integrating, instead ! make a note of how many cells we actually have, then go back to ! the beginning of the loop. The rest of the execution that is skipped ! will be done following the end of this loop. !===================================================================== NCELL_local = NCELL_local + 1 C_1D(:,NCELL_local) = C(:) RCONST_1D(:,NCELL_local) = RCONST(:) ICNTRL_1D(:,NCELL_local) = ICNTRL(:) RCNTRL_1D(:,NCELL_local) = RCNTRL(:) ! map to shared memory IJL_to_Idx(I,J,L) = NCELL_local cell_status(NCELL_local) = cell_status(NCELL_local) - 1 #endif ! MPI_LOAD_BALANCE ENDDO ! I ENDDO ! J ENDDO ! L !$OMP END PARALLEL DO #ifdef MPI_LOAD_BALANCE !===================================================================== ! Integrate the box forwards (if using MPI load balancing) !===================================================================== ! Initialize shared counter IF (shm_rank == 0) THEN next_cell_index = 1 END IF ! Flush processor caches for every window ! Start access epochs for all shared-memory windows CALL MPI_Win_lock_all(0, win_C_1D, RC) CALL MPI_Win_lock_all(0, win_RCONST_1D, RC) CALL MPI_Win_lock_all(0, win_ICNTRL_1D, RC) CALL MPI_Win_lock_all(0, win_RCNTRL_1D, RC) CALL MPI_Win_lock_all(0, win_ISTATUS_1D, RC) CALL MPI_Win_lock_all(0, win_RSTATE_1D, RC) CALL MPI_Win_lock_all(0, win_cell_status, RC) CALL MPI_Win_lock_all(0, win_next_cell_index, RC) ! Ensure memory visibility of written shared-memory data CALL MPI_Win_sync(win_C_1D, RC) CALL MPI_Win_sync(win_RCONST_1D, RC) CALL MPI_Win_sync(win_ICNTRL_1D, RC) CALL MPI_Win_sync(win_RCNTRL_1D, RC) CALL MPI_Win_sync(win_ISTATUS_1D, RC) CALL MPI_Win_sync(win_RSTATE_1D, RC) CALL MPI_Win_sync(win_cell_status, RC) CALL MPI_Win_sync(win_next_cell_index,RC) ! End access epochs CALL MPI_Win_unlock_all(win_C_1D, RC) CALL MPI_Win_unlock_all(win_RCONST_1D, RC) CALL MPI_Win_unlock_all(win_ICNTRL_1D, RC) CALL MPI_Win_unlock_all(win_RCNTRL_1D, RC) CALL MPI_Win_unlock_all(win_ISTATUS_1D, RC) CALL MPI_Win_unlock_all(win_RSTATE_1D, RC) CALL MPI_Win_unlock_all(win_cell_status, RC) CALL MPI_Win_unlock_all(win_next_cell_index, RC) ! Wait until all processors write data to memory CALL MPI_Barrier(shm_comm, RC) IF (RC /= MPI_SUCCESS) THEN CALL GC_Error('MPI_Barrier failed', RC, ThisLoc) RETURN ENDIF !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, L, N )& !$OMP PRIVATE( ICNTRL, C_before_integrate )& !$OMP PRIVATE( SO4_FRAC, IERR, RCNTRL, ISTATUS, RSTATE )& !$OMP PRIVATE( SpcID, KppID, F, P, Vloc )& !$OMP PRIVATE( Aout, Thread, RC, S, LCH4 )& !$OMP PRIVATE( OHreact, PCO_TOT, PCO_CH4, PCO_NMVOC, SR )& !$OMP PRIVATE( SIZE_RES, LWC )& #ifdef MODEL_GEOS !$OMP PRIVATE( NOxTau, NOxConc, NOx_weight, NOx_tau_weighted )& #endif !$OMP COLLAPSE( 3 )& !$OMP SCHEDULE( DYNAMIC, 24 )& !$OMP REDUCTION( +:errorCount ) origin_val = 1 ! add 1 each time disp = 0_MPI_ADDRESS_KIND ! first integer in the window CALL MPI_Win_lock_all(MPI_MODE_NOCHECK, win_next_cell_index, ierr) DO CALL MPI_Fetch_and_op(origin_val, fetched_value, MPI_INTEGER, 0, & disp, MPI_SUM, win_next_cell_index, ierr) ! CALL MPI_Win_sync(win_next_cell_index, ierr) CALL MPI_Win_flush_local(0, win_next_cell_index, ierr) ! WRITE (*,*) 'Rank', shm_rank, 'got ticket', fetched_value IF (fetched_value > NCELL_total) EXIT I_CELL = fetched_value IF (cell_status(I_CELL) > 0) CYCLE cell_status(I_CELL) = cell_status(I_CELL) + 1 ! Skip to the end of the loop if we have failed integration twice IF ( Failed2x ) CYCLE ! Rosenbrock output ISTATUS = 0.0_dp RSTATE = 0.0_dp IERR = 0 ! Load in data from saved arrays RCONST(:) = RCONST_1D(:,I_CELL) C(:) = C_1D(:,I_CELL) ICNTRL(:) = ICNTRL_1D(:,I_CELL) RCNTRL(:) = RCNTRL_1D(:,I_CELL) C_before_integrate(:) = C(:) ! Call the KPP integrator ! NOTE: Some integrators (like LSODE) will overwrite the TIN value ! upon exit. To prevent this, pass 0.0, DT as the 1st 2 arguments. CALL Integrate( 0.0_dp, DT, ICNTRL, RCNTRL, ISTATUS, RSTATE, IERR ) ! Add to diagnostic arrays RSTATE_1D(:,I_CELL) = RSTATE(:) ISTATUS_1D(:,I_CELL) = ISTATUS(:) ! Print grid box indices to screen if integrate failed IF ( IERR < 0 ) THEN ! Turn off error output after a certain limit is reached IF ( .not. doSuppress ) THEN WRITE( 6, * ) '### INTEGRATE RETURNED ERROR AT: ', I_CELL errorCount = errorCount + 1 IF ( errorCount > INTEGRATE_FAIL_TOGGLE ) THEN WRITE( 6, '(a)' ) & '### Further error output has been switched off' doSuppress = .TRUE. ENDIF ENDIF #if defined( MODEL_GEOS ) || defined( MODEL_WRF ) || defined( MODEL_CESM ) ! TODO (ewl, 2/25/26) ! The following code is not compatible with the MPI load balancing ! implementation as is, and will need to be adapted in the future. !! Keep track of number of error boxes !IF ( State_Diag%Archive_KppError ) THEN ! State_Diag%KppError(I,J,L) = State_Diag%KppError(I,J,L) + 1.0 !ENDIF #endif ENDIF #if defined( MODEL_GEOS ) ! TODO (ewl, 2/25/26) ! The following code is not compatible with the MPI load balancing ! implementation as is, and will need to be adapted in the future. !! Mark integration as erroneous if negative concentrations so that !! it will be repeated below (cakelle2, 2023/10/26) !IF ( IERR >= 0 .AND. Input_Opt%KppCheckNegatives >= 0 ) THEN ! IF ( ( Input_Opt%KppCheckNegatives==0 .AND. & ! State_Met%InStratMeso(I,J,L) ) .OR. & ! ( L > ( State_Grid%NZ - Input_Opt%KppCheckNegatives) ) ) THEN ! IF ( ANY(C < 0.0_dp) ) THEN ! IERR = -999 ! ! Include negative concentration boxes within error box ! ! diagnostic ! IF ( State_Diag%Archive_KppError ) THEN ! State_Diag%KppError(I,J,L) = & ! State_Diag%KppError(I,J,L) + 1.0 ! ENDIF ! ENDIF ! ENDIF !ENDIF #endif !================================================================== ! Try another time if it failed !================================================================== IF ( IERR < 0 ) THEN ! Zero the first time step (Hstart, used by Rosenbrock). Also reset ! C with concentrations prior to the 1st call to "Integrate". RCNTRL(3) = 0.0_dp C = C_before_integrate #if defined( MODEL_GEOS ) ! In GEOS also inflate the error tolerances (cakelle2, 2023/10/26) ATOL = 1.0e-2_dp * Input_Opt%KppTolScale RTOL = 1.0e-2_dp * Input_Opt%KppTolScale #endif ! Disable auto-reduce solver for the second iteration for safety IF ( Input_Opt%Use_AutoReduce ) THEN RCNTRL(12) = -1.0_dp ! without using ICNTRL ENDIF ! Update rates again ! Not possible to call Update_RCONST when using MPI load ! balancing - relevant arrays no longer exist !CALL Update_RCONST( ) RCONST(:) = RCONST_1D(:,I_CELL) ! Call the integrator ! NOTE: Some integrators (like LSODE) will overwrite the TIN value ! upon exit. To prevent this, pass 0.0, DT as the 1st 2 arguments. CALL Integrate( 0.0_dp, DT, ICNTRL, RCNTRL, ISTATUS, RSTATE, IERR ) ! Again, store ISTATUS and RSTATE ! ISTATUS is all counts ISTATUS_1D(:,I_CELL) = ISTATUS_1D(:,I_CELL) + ISTATUS(:) RSTATE_1D(:,I_CELL) = RSTATE(:) !================================================================== ! Exit upon the second failure !================================================================== IF ( IERR < 0 ) THEN ! Print error message WRITE(6, '(a )' ) '## INTEGRATE FAILED TWICE !!! ' WRITE(ERRMSG,'(a,i3)' ) 'Integrator error code :', IERR #if defined( MODEL_GEOS ) || defined( MODEL_WRF ) || defined( MODEL_CESM ) IF ( Input_Opt%KppStop ) THEN CALL ERROR_STOP(ERRMSG, 'INTEGRATE_KPP') ELSE ! Revert to concentrations prior to 1st call to "Integrate" C = C_before_integrate ENDIF ! TODO (ewl, 2/25/26) ! The following code is not compatible with the MPI load balancing ! implementation as is, and will need to be adapted in the future. !! Keep track of error boxes !IF ( State_Diag%Archive_KppError ) THEN ! State_Diag%KppError(I,J,L) = State_Diag%KppError(I,J,L) + 1.0 !ENDIF #else !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! Make sure only one thread at a time executes this block !$OMP CRITICAL ! ! Set a flag to break out of loop gracefully ! NOTE: You can set a GDB breakpoint here to examine the error Failed2x = .TRUE. ! Print concentrations at failure grid box PRINT*, REPEAT( '#', 79 ) PRINT*, '### KPP DEBUG OUTPUT!' PRINT*, '### Species concentrations at problem box ', I_CELL PRINT*, REPEAT( '#', 79 ) DO N = 1, NSPEC PRINT*, C(N), TRIM( ADJUSTL( SPC_NAMES(N) ) ) ENDDO ! Print rate constants at failure grid box PRINT*, REPEAT( '#', 79 ) PRINT*, '### KPP DEBUG OUTPUT!' PRINT*, '### Reaction rates at problem box ', I_CELL PRINT*, REPEAT( '#', 79 ) DO N = 1, NREACT PRINT*, RCONST(N), TRIM( ADJUSTL( EQN_NAMES(N) ) ) ENDDO ! !$OMP END CRITICAL !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! Start skipping to end of loop upon 2 failures in a row CYCLE #endif ENDIF ENDIF !===================================================================== ! Continue upon successful return... !===================================================================== ! Revert Alkalinity (only when using sulfur chemistry in KPP) IF ( .not. State_Chm%Do_SulfateMod_SeaSalt ) THEN CALL fullchem_ConvertEquivToAlk() ENDIF ! Copy C back into C_1D C_1D(:,I_CELL) = C(:) RCONST_1D(:,I_CELL) = RCONST(:) ENDDO !end access epoch CALL MPI_Win_unlock_all(win_next_cell_index, ierr) CALL MPI_Barrier(shm_comm, RC) IF (RC /= MPI_SUCCESS) THEN CALL GC_Error('MPI_Barrier failed', RC, ThisLoc) RETURN ENDIF ! Loop over the grid to set all persistent 3D arrays from the 1D data ! When not using MPI load balancing this is done in the integration ! loop instead because that loop is over the 3D spatial grid. For ! load balancing the integration and setting of 3D arrays must be done ! separately because integration is done with a flattened grid (1D). DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Figure out which cell the data should be allocated to N = IJL_to_Idx(I,J,L) ! Optional debug: ! WRITE (6,'(A,I4,A,3(I6,1X),A,I8)') 'shm_rank=', shm_rank, & ! ' I,J,L=', I, J, L, ' NCELL_local=', N IF (N.le.0) CYCLE ! Copy data back in C = C_1D(:,N) RCONST = RCONST_1D(:,N) RSTATE = RSTATE_1D(:,N) ISTATUS = ISTATUS_1D(:,N) ! Save Hnew (the last predicted but not taken step) from the 3rd slot ! of RSTATE into State_Chm so that it can be written to the restart ! file. For simulations that are broken into multiple stages, ! Hstart will be initialized to the value of Hnew from the restart ! file at startup (see above). State_Chm%KPPHvalue(I,J,L) = RSTATE(Nhnew) ! Save cpu time spent for bulk of KPP-related routines for ! History archival (hplin, 11/8/21) IF ( State_Diag%Archive_KppTime ) THEN call cpu_time(TimeEnd) State_Diag%KppTime(I,J,L) = TimeEnd - TimeStart ENDIF !===================================================================== ! HISTORY: Archive KPP solver diagnostics ! For the case of MPI load balancing, ISTATUS was computed as sum ! so setting these arrays only has to happen once. ! ! !TODO: Abstract this into a separate routine !===================================================================== IF ( State_Diag%Archive_KppDiags ) THEN ! Check for negative concentrations after first integration IF ( State_Diag%Archive_KppNegatives0 ) THEN State_Diag%KppNegatives0(I,J,L) = & REAL( COUNT( C < 0.0_dp ), KIND=4 ) ENDIF ! # of integrator calls IF ( State_Diag%Archive_KppIntCounts ) THEN State_Diag%KppIntCounts(I,J,L) = ISTATUS(1) ENDIF ! # of times Jacobian was constructed IF ( State_Diag%Archive_KppJacCounts ) THEN State_Diag%KppJacCounts(I,J,L) = ISTATUS(2) ENDIF ! # of internal timesteps IF ( State_Diag%Archive_KppTotSteps ) THEN State_Diag%KppTotSteps(I,J,L) = ISTATUS(3) ENDIF ! # of accepted internal timesteps IF ( State_Diag%Archive_KppAccSteps ) THEN State_Diag%KppAccSteps(I,J,L) = ISTATUS(4) ENDIF ! # of rejected internal timesteps IF ( State_Diag%Archive_KppRejSteps ) THEN State_Diag%KppRejSteps(I,J,L) = ISTATUS(5) ENDIF ! # of LU-decompositions IF ( State_Diag%Archive_KppLuDecomps ) THEN State_Diag%KppLuDecomps(I,J,L) = ISTATUS(6) ENDIF ! # of forward and backwards substitutions IF ( State_Diag%Archive_KppSubsts ) THEN State_Diag%KppSubsts(I,J,L) = ISTATUS(7) ENDIF ! # of singular-matrix decompositions IF ( State_Diag%Archive_KppSmDecomps ) THEN State_Diag%KppSmDecomps(I,J,L) = ISTATUS(8) ENDIF ! ! rank of column ! IF ( State_Diag%Archive_KppRank ) THEN ! State_Diag%KppRank(I,J,L) = Input_Opt%thisCPU ! ENDIF ! ! index of column on rank ! IF ( State_Diag%Archive_KppIndexOnRank ) THEN ! State_Diag%KppIndexOnRank(I,J,L) = N - offset ! ENDIF #ifdef KPP_INTEGRATOR_AUTOREDUCE ! Update autoreduce solver statistics ! (only if the autoreduction is turned on) IF ( Input_Opt%Use_AutoReduce ) THEN CALL fullchem_AR_UpdateKppDiags( I, J, L, RSTATE, State_Diag ) ENDIF #endif ENDIF ! TODO (ewl, 2/25/26) ! The following code is not compatible with the MPI load balancing ! implementation as is, and will need to be adapted in the future. ! This call needs several things not defined for the case of ! load balancing: C_before_integrat, local_RCONST, ! KPPH_before_integrate, ICNTRL, RCNTRL. For now, MPI load balance is ! turned off when building with KPP standalone turned on. !! Write chemical state to file for the kpp standalone interface !! No external logic needed, this subroutine exits early if the !! chemical state should not be printed (psturm, 03/23/24) !CALL KppSa_Write_Samples( & ! I = I, & ! J = J, & ! L = L, & ! initC = C_before_integrate, & ! localRCONST = local_RCONST, & ! initHvalue = KPPH_before_integrate, & ! exitHvalue = RSTATE(Nhexit), & ! ICNTRL = ICNTRL, & ! RCNTRL = RCNTRL, & ! State_Grid = State_Grid, & ! State_Chm = State_Chm, & ! State_Met = State_Met, & ! Input_Opt = Input_Opt, & ! KPP_TotSteps = ISTATUS(3), & ! RC = RC ) !===================================================================== ! Check we have no negative values and copy the concentrations ! calculated from the C array back into State_Chm%Species%Conc !===================================================================== ! Loop over KPP species DO N = 1, NSPEC ! GEOS-Chem species ID SpcID = State_Chm%Map_KppSpc(N) ! Skip if this is not a GEOS-Chem species IF ( SpcID <= 0 ) CYCLE ! Scan for negatives IF ( State_Diag%Archive_KppNegatives ) THEN IF ( C(N) < 0.0_dp ) THEN State_Diag%KppNegatives(I,J,L) = & State_Diag%KppNegatives(I,J,L) + 1.0_f4 ENDIF ENDIF ! Set negative concentrations to zero C(N) = MAX( C(N), 0.0_dp ) ! Copy concentrations back into State_Chm%Species State_Chm%Species(SpcID)%Conc(I,J,L) = REAL( C(N), kind=fp ) ENDDO #ifdef TOMAS !----------------------------------------------------------------- ! FOR TOMAS MICROPHYSICS: ! ! Obtain P/L with a unit [kg S] for tracing ! gas-phase sulfur species production (SO2, SO4, MSA) ! (win, 8/4/09) !----------------------------------------------------------------- ! Calculate H2SO4 production rate [kg s-1] in each ! time step (win, 8/4/09) H2SO4_RATE(I,J,L) = C(ind_PH2SO4) / AVO * 98.e-3_fp * & State_Met%AIRVOL(I,J,L) * & 1.0e+6_fp / DT ! kg s-1 box-1 IF ( H2SO4_RATE(I,J,L) < 0.0d0) THEN write(*,*) "H2SO4_RATE negative in fullchem_mod.F90!!", & I, J, L, "was:", H2SO4_RATE(I,J,L), " setting to 0.0d0" H2SO4_RATE(I,J,L) = 0.0d0 ENDIF PSO4AQ_RATE(I,J,L) = C(ind_PSO4AQ) / AVO * 98.e-3_fp * & State_Met%AIRVOL(I,J,L) * & 1.0e+6_fp ! kg per timestep box-1 IF ( PSO4AQ_RATE(I,J,L) < 0.0d0) THEN write(*,*) "PSO4AQ_RATE negative in fullchem_mod.F90", & I, J, L, "was:", PSO4AQ_RATE(I,J,L), " setting to 0.0d0" PSO4AQ_RATE(I,J,L) = 0.0d0 ENDIF #endif ! TOMAS #ifdef MODEL_CESM !--------------------------------------------------------------------- ! Calculate H2SO4 production rate for coupling to CESM ! (interface to MAM4 nucleation) !--------------------------------------------------------------------- ! mol/mol = molec cm-3 * g * mol(Air)-1 * kg g-1 * m-3 cm3 / & ! (molec mol-1 * kg m-3) = mol/molAir State_Chm%H2SO4_PRDR(I,J,L) = C(id_PSO4) * AIRMW * 1e-3_fp * & 1.0e+6_fp /(AVO * State_Met%AIRDEN(I,J,L)) IF ( State_Chm%H2SO4_PRDR(I,J,L) < 0.0d0) THEN write(*,*) "H2SO4_PRDR negative in fullchem_mod.F90!!", & I, J, L, "was:", State_Chm%H2SO4_PRDR(I,J,L), & " setting to 0.0d0" State_Chm%H2SO4_PRDR(I,J,L) = 0.0d0 ENDIF #endif ! MODEL_CESM #ifdef MODEL_GEOS !-------------------------------------------------------------------- ! Archive NOx lifetime [h] ! ! TODO: Abstract this to a subroutine, to simplify DO_FULLCHEM !-------------------------------------------------------------------- IF ( State_Diag%Archive_NoxTau .OR. & State_Diag%Archive_TropNOxTau ) THEN CALL Fun( V = C(1:NVAR), & F = C(NVAR+1:NSPEC), & RCT = RCONST, & Vdot = Vloc, & Aout = Aout ) NOxTau = Vloc(ind_NO) + Vloc(ind_NO2) + Vloc(ind_NO3) & + 2.*Vloc(ind_N2O5) + Vloc(ind_ClNO2) + Vloc(ind_HNO2) & + Vloc(ind_HNO4) NOxConc = C(ind_NO) + C(ind_NO2) + C(ind_NO3) + 2.*C(ind_N2O5) & + C(ind_ClNO2) + C(ind_HNO2) + C(ind_HNO4) ! NOx chemical lifetime per grid cell IF ( State_Diag%Archive_NoxTau ) THEN NoxTau = ( NOxConc / (-1.0_f4*NOxTau) ) / 3600.0_f4 IF ( NoxTau > 0.0_f4 ) THEN State_Diag%NOxTau(I,J,L) = & min(1.0e10_f4,max(1.0e-10_f4,NOxTau)) ELSE State_Diag%NOxTau(I,J,L) = & max(-1.0e10_f4,min(-1.0e-10_f4,NOxTau)) ENDIF ENDIF ! NOx chemical lifetime per trop. column IF ( State_Diag%Archive_TropNOxTau ) THEN NOx_weight = ( NOxConc )*State_Met%AIRDEN(I,J,L) * & State_Met%DELP_DRY(I,J,L) NOx_tau_weighted = & ( NOxConc / ( -1.0_f4*NOxTau*3600.0_f4 ) )*NOx_weight IF ( ABS(NOx_tau_weighted) < 1.0e8 ) THEN NOx_tau_weighted = ( NINT(NOx_tau_weighted)*1.0e6 )*1.0e-6_f4 ELSE IF ( NOx_tau_weighted > 0.0 ) THEN NOx_tau_weighted = 1.0e8 ELSE NOx_tau_weighted = -1.0e8 ENDIF ENDIF IF ( State_Met%InTroposphere(I,J,L) ) THEN TROPv_NOx_mass(I,J) = TROPv_NOx_mass(I,J) + NOx_weight TROPv_NOx_tau(I,J) = TROPv_NOx_tau(I,J) + NOx_tau_weighted ENDIF ENDIF ENDIF #endif ! MODEL_GEOS !==================================================================== ! HISTORY (aka netCDF diagnostics) ! ! Prod and loss of families or species [molec/cm3/s] ! ! NOTE: KppId is the KPP ID # for each of the prod and loss ! diagnostic species. This is the value used to index the ! KPP "C" array (in module gckpp_Global.F90). ! ! TODO: Abstract this to a subroutine, to simplify DO_FULLCHEM !==================================================================== ! Chemical loss of species or families [molec/cm3/s] IF ( State_Diag%Archive_Loss ) THEN DO S = 1, State_Diag%Map_Loss%nSlots KppId = State_Diag%Map_Loss%slot2Id(S) State_Diag%Loss(I,J,L,S) = C(KppID) / DT ENDDO ENDIF ! Chemical production of species or families [molec/cm3/s] IF ( State_Diag%Archive_Prod ) THEN DO S = 1, State_Diag%Map_Prod%nSlots KppID = State_Diag%Map_Prod%slot2Id(S) State_Diag%Prod(I,J,L,S) = C(KppID) / DT ENDDO ENDIF ! Satellite diagnostic: Chemical loss [molec/cm3/s] IF ( State_Diag%Archive_SatDiagnLoss ) THEN DO S = 1, State_Diag%Map_SatDiagnLoss%nSlots KppId = State_Diag%Map_SatDiagnLoss%slot2Id(S) State_Diag%SatDiagnLoss(I,J,L,S) = C(KppID) / DT ENDDO ENDIF ! Satellite diagnostic: Chemical production [molec/cm3/s] IF ( State_Diag%Archive_SatDiagnProd ) THEN DO S = 1, State_Diag%Map_SatDiagnProd%nSlots KppID = State_Diag%Map_SatDiagnProd%slot2Id(S) State_Diag%SatDiagnProd(I,J,L,S) = C(KppID) / DT ENDDO ENDIF !-------------------------------------------------------------------- ! Archive prod/loss fields for the TagCO simulation [molec/cm3/s] ! (In practice, we only need to do this from benchmark simulations) ! ! TODO: Abstract this to a subroutine, to simplify DO_FULLCHEM !-------------------------------------------------------------------- IF ( State_Diag%Archive_ProdCOfromCH4 .or. & State_Diag%Archive_ProdCOfromNMVOC ) THEN ! Total production of CO PCO_TOT = C(id_PCO) / DT ! Loss of CO from CH4 LCH4 = C(id_LCH4) / DT ! P(CO)_CH4 is LCH4. Cap so that it is never greater ! than total P(CO) to prevent negative P(CO)_NMVOC. PCO_CH4 = MIN( LCH4, PCO_TOT ) ! P(CO) from NMVOC is the remaining P(CO) PCO_NMVOC = PCO_TOT - PCO_CH4 ! Archive P(CO) from CH4 for tagCO simulations IF ( State_Diag%Archive_ProdCOfromCH4 ) THEN State_Diag%ProdCOfromCH4(I,J,L) = PCO_CH4 ENDIF ! Archive P(CO) from NMVOC for tagCO simulations IF ( State_Diag%Archive_ProdCOfromNMVOC ) THEN State_Diag%ProdCOfromNMVOC(I,J,L) = PCO_NMVOC ENDIF ENDIF !==================================================================== ! HISTORY (aka netCDF diagnostics) ! ! Write out OH reactivity. The OH reactivity is defined here as the ! inverse of its life-time. In a crude ad-hoc approach, manually add ! all OH reactants (ckeller, 9/20/2017) !==================================================================== IF ( State_Diag%Archive_OHreactivity .or. & State_Diag%Archive_SatDiagnOHreactivity ) THEN ! Archive OH reactivity diagnostic CALL Get_OHreactivity ( C, RCONST, OHreact ) IF ( State_Diag%Archive_OHreactivity ) THEN State_Diag%OHreactivity(I,J,L) = OHreact ENDIF IF ( State_Diag%Archive_SatDiagnOHreactivity ) THEN State_Diag%SatDiagnOHreactivity(I,J,L) = OHreact ENDIF ENDIF ENDDO ENDDO ENDDO !$OMP END PARALLEL DO #endif ! MPI_LOAD_BALANCE !======================================================================= ! Return gracefully if integration failed 2x anywhere ! (as we cannot break out of a parallel DO loop!) !======================================================================= IF ( Failed2x ) THEN ErrMsg = 'KPP failed to converge after 2 iterations!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF #if defined( MODEL_GEOS ) IF ( State_Diag%Archive_TropNOxTau ) THEN WHERE (TROPv_NOx_mass > 0.0_f4 ) State_Diag%TropNOxTau = TROPv_NOx_tau / TROPv_NOx_mass END WHERE ENDIF #endif ! MODEL_GEOS #ifdef TOMAS !----------------------------------------------------------------- ! For TOMAS microphysics: ! SO4 from aqueous chemistry of SO2 (in-cloud oxidation). ! SO4 produced via aqueous chemistry is distributed onto 30-bin ! aerosol by TOMAS subroutine AQOXID. !----------------------------------------------------------------- CALL TOMAS_SO4_AQ( Input_Opt, State_Chm, State_Grid, & State_Met, State_Diag, RC ) IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMSULFATE: a TOMAS_SO4_AQ' ) ENDIF #endif ! TOMAS !======================================================================= ! Archive OH, HO2, O1D, O3P concentrations after solver !======================================================================= IF ( Do_Diag_OH_HO2_O1D_O3P ) THEN ! Save OH, HO2, O1D, O3P for the ND43 diagnostic ! NOTE: These might not be needed for netCDF, as they will already ! have been archived in State_Chm%Species%Conc output. CALL Diag_OH_HO2_O1D_O3P( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Diag_OH_HO2_O1D_O3P"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### Do_FullChem: after OHSAVE' ) ENDIF ENDIF !======================================================================= ! Archive quantities for computing OH metrics !======================================================================= CALL Diag_Metrics( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Diag_Mean_OH_and_CH4' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### Do_FullChem: after Diag_Metrics' ) ENDIF !======================================================================= ! Archive concentrations after chemistry !======================================================================= IF ( State_Diag%Archive_ConcAfterChem ) THEN ! Point to mapping obj specific to ConcAfterChem diagnostic collection mapData => State_Diag%Map_ConcAfterChem !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( N, S ) DO S = 1, mapData%nSlots N = mapData%slot2id(S) State_Diag%ConcAfterChem(:,:,:,S) = State_Chm%Species(N)%Conc(:,:,:) ENDDO !$OMP END PARALLEL DO ! Free pointer mapData => NULL() ENDIF !======================================================================= ! Convert species back to original units (ewl, 8/16/16) !======================================================================= ! Halt gas-phase chem timer (so that unit conv can be timed separately) IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "=> Gas-phase chem", RC ) ENDIF ! Convert units of all species back to kg CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & new_units = previous_units, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Unit conversion error!' CALL GC_Error( ErrMsg, RC, 'fullchem_mod.F90' ) RETURN ENDIF ! Start gas-phase chem timer again IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "=> Gas-phase chem", RC ) ENDIF !======================================================================= ! Apply high-altitude active nitrogen partitioning and H2SO4 ! photolysis approximations outside the chemistry grid !======================================================================= CALL UCX_NOX( Input_Opt, State_Chm, State_Grid, State_Met ) IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMDR: after UCX_NOX' ) ENDIF CALL UCX_H2SO4PHOT( Input_Opt, State_Chm, State_Grid, State_Met ) IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMDR: after UCX_H2SO4PHOT' ) ENDIF ! Set State_Chm arrays for surface J-values used in HEMCO and ! saved to restart file IF ( State_Chm%Phot%RXN_O3_1 >= 0 ) THEN State_Chm%JOH(:,:) = State_Chm%Phot%ZPJ(1,State_Chm%Phot%RXN_O3_1,:,:) ENDIF IF ( State_Chm%Phot%RXN_NO2 >= 0 ) THEN State_Chm%JNO2(:,:) = State_Chm%Phot%ZPJ(1,State_Chm%Phot%RXN_NO2,:,:) ENDIF ! Set FIRSTCHEM = .FALSE. -- we have gone thru one chem step FIRSTCHEM = .FALSE. END SUBROUTINE Do_FullChem !EOC #ifdef TOMAS !--------------------------------------------------------------------------- ! GEOS-Chem Global Chemical Transport Model ! !--------------------------------------------------------------------------- !BOP ! ! !IROUTINE: tomas_so4_aq ! ! !DESCRIPTION: Subroutine CHEM\_SO4\_AQ takes the SO4 produced via aqueous ! chemistry of SO2 and distribute onto the size-resolved aerosol number and ! sulfate mass as a part of the TOMAS aerosol microphysics module ! (win, 1/25/10) !\\ !\\ ! !INTERFACE: ! SUBROUTINE TOMAS_SO4_AQ( Input_Opt, State_Chm, State_Grid, & State_Met, State_Diag, RC ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD USE Input_Opt_Mod, ONLY : OptINput USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE State_Diag_Mod, ONLY : DgnState USE TOMAS_MOD, ONLY : AQOXID, GETACTBIN,PSO4AQ_RATE USE UnitConv_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diag State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! NOTE: This subroutine is ignored unless we compile for TOMAS microphysics. ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, J, L INTEGER :: k, binact1, binact2 INTEGER :: KMIN INTEGER :: previous_units REAL(fp) :: SO4OXID !================================================================= ! TOMAS_SO4_AQ begins here! !================================================================= ! Assume success RC = GC_SUCCESS ! Convert species to [kg] CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & new_units = KG_SPECIES, & previous_units = previous_units, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN CALL GC_Error('Unit conversion error', RC, & 'Start of TOMAS_SO4_AQ in sulfate_mod.F90') RETURN ENDIF !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L ) & !$OMP PRIVATE( KMIN, SO4OXID, BINACT1, BINACT2 ) & !$OMP SCHEDULE( DYNAMIC ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Skip non-chemistry boxes IF ( .not. State_Met%InChemGrid(I,J,L) ) CYCLE SO4OXID = PSO4AQ_RATE(I,J,L) ! print*, 'Here is SO4OXID ',SO4OXID, I,J,L ! SO4OXID = PSO4_SO2AQ(I,J,L) * State_Met%AD(I,J,L) & ! / ( AIRMW / State_Chm%SpcData(id_SO4)%Info%MW_g ) ! convert v/v to kg/box IF ( SO4OXID > 0e+0_fp ) THEN ! JKodros (6/2/15 - Set activating bin based on which TOMAS bin !length being used) #if defined( TOMAS12 ) CALL GETACTBIN( I, J, L, id_NK05, .TRUE. , BINACT1, State_Chm, RC ) CALL GETACTBIN( I, J, L, id_NK05, .FALSE., BINACT2, State_Chm, RC ) #elif defined( TOMAS15 ) CALL GETACTBIN( I, J, L, id_NK08, .TRUE. , BINACT1, State_Chm, RC ) CALL GETACTBIN( I, J, L, id_NK08, .FALSE., BINACT2, State_Chm, RC ) #elif defined( TOMAS30 ) CALL GETACTBIN( I, J, L, id_NK10, .TRUE. , BINACT1, State_Chm, RC ) CALL GETACTBIN( I, J, L, id_NK10, .FALSE., BINACT2, State_Chm, RC ) #else CALL GETACTBIN( I, J, L, id_NK20, .TRUE. , BINACT1, State_Chm, RC ) CALL GETACTBIN( I, J, L, id_NK20, .FALSE., BINACT2, State_Chm, RC ) #endif KMIN = ( BINACT1 + BINACT2 )/ 2. ! Indicate that we are NOT calling AqOxid from wetdep, which ! will avoid doing any further internal unit conversion (as ! units are already in kg here). -- Bob Yantosca (11 Apr 2024) CALL AqOxid( & I = I, & J = J, & L = L, & MOXID = SO4OXID, & KMIN = KMIN, & fromWetDep = .FALSE., & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & State_Diag = State_Diag, & RC = RC ) ENDIF ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ! Convert species back to original units CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & new_units = previous_units, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN CALL GC_Error('Unit conversion error', RC, & 'End of TOMAS_SO4_AQ in sulfate_mod.F90') RETURN ENDIF END SUBROUTINE TOMAS_SO4_AQ !EOC #endif ! TOMAS !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: PrintFirstTimeInfo ! ! !DESCRIPTION: Prints information the first time DO_FULLCHEM is called !\\ !\\ ! !INTERFACE: ! SUBROUTINE PrintFirstTimeInfo( Input_Opt, State_Chm, FirstChem ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object LOGICAL, INTENT(IN) :: FirstChem ! Is this the first call? !EOP !------------------------------------------------------------------------------ !BOC ! Exit if we are not on the first chemistry timestep IF ( .not. FirstChem ) RETURN ! Print on the root CPU only (only if debug printout is on) IF ( Input_Opt%AmIRoot .and. Input_Opt%Verbose ) THEN ! Write header WRITE( 6, '(a)' ) REPEAT( '=', 79 ) WRITE( 6, 100 ) 100 FORMAT('DO_FULLCHEM : Interface between GEOS-Chem and the solver') WRITE( 6, '(a)' ) ! Print where sulfur seasalt chemistry is done IF ( State_Chm%Do_SulfateMod_Seasalt ) THEN WRITE( 6, 110 ) 110 FORMAT( '* Sulfur sea salt chemistry is computed in sulfate_mod' ) ELSE WRITE( 6, 120 ) 120 FORMAT( '* Sulfur sea salt chemistry is computed in KPP' ) ENDIF ! Print where sulfur in-cloud chemistry is done IF ( State_Chm%Do_SulfateMod_Cld ) THEN WRITE( 6, 130 ) 130 FORMAT( '* Sulfur in-cloud chemistry is computed in sulfate_mod' ) ELSE WRITE( 6, 140 ) 140 FORMAT( '* Sulfur in-cloud chemistry is computed in KPP' ) ENDIF ! Print the status of photolysis: on or off IF ( Input_Opt%Do_Photolysis ) THEN WRITE( 6, 150 ) #ifdef FASTJX 150 FORMAT( '* Photolysis is activated -- rates computed by FAST-JX' ) #else 150 FORMAT( '* Photolysis is activated -- rates computed by Cloud-J' ) #endif ELSE WRITE( 6, 160 ) 160 FORMAT( '* Photolysis is off for testing -- using zero J-values' ) ENDIF ! Write footer WRITE( 6, '(a)' ) REPEAT( '=', 79 ) ENDIF END SUBROUTINE PrintFirstTimeInfo !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: set_sulfur_chem_rates ! ! !DESCRIPTION: Calls functions from the KPP rate-law library to compute ! rates for sulfate chemistry reactions. These are passed to the KPP ! mechanism. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Set_Sulfur_Chem_Rates( I, J, L, & Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, size_res, & RC ) ! ! !USES: ! USE ErrCode_Mod USE GcKpp_Global USE GcKpp_Parameters USE fullchem_SulfurChemFuncs, ONLY : fullchem_ConvertAlktoEquiv USE fullchem_SulfurChemFuncs, ONLY : fullchem_SulfurAqChem USE fullchem_SulfurChemFuncs, ONLY : fullchem_SulfurCldChem USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I, J, L ! X, Y, Z gridbox indices TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! LOGICAL, INTENT(OUT) :: size_res ! Should we call HetDropChem? INTEGER, INTENT(OUT) :: RC ! Success or failure! ! ! !REMARKS: ! The routines below are based on or meant to replace reactions computed ! outside of KPP within sulfate_mod. ! ! Rates are set for the following: ! 1) Cloud sulfur chemistry ! 2) (If Dust acid uptake) Dust acid uptake reactions ! - MSL, 29-Mar-2021, 7-May-2021 ! ! Seasalt aerosol chemistry reaction rate-law functions are now contained ! in module fullchem_RateLawFuncs.F90. ! ! NOTE This routine defines the variables State_Chm%HSO3_aq and ! State_Chm%SO3aq. Therefore, we must call Set_Sulfur_Chem_Rates after ! Set_KPP_GridBox_Values, but before fullchem_SetStateHet. Otherwise we ! will not be able to copy State_Chm%HSO3_aq to State_Het%HSO3_aq and ! State_Chm%SO3_aq to State_Het%SO3_aq properly. ! -- Mike Long, Bob Yantosca (08 Mar 2022) !EOP !------------------------------------------------------------------------------ !BOC ! Initialize RC = GC_SUCCESS size_res = .FALSE. !======================================================================== ! Do this when KPP is handling aqueous sulfur chemistry ! ! From Alexander et al., buffering capacity (or alkalinity) of ! sea-salt aerosols is equal to 0.07 equivalents per kg dry sea salt ! emitted Gurciullo et al., 1999. JGR 104(D17) 21,719-21,731. ! tdf; MSL !======================================================================== IF ( .not. State_Chm%Do_SulfateMod_SeaSalt ) THEN ! Convert alkalinity from [molec/cm3] to equivalents CALL fullchem_ConvertAlkToEquiv() ! Compute reaction rates for aqueous sulfur chemistry ! (i.e. S(IV)->S(VI), HCl, and HNO3) CALL fullchem_SulfurAqChem( I = I, & J = J, & L = L, & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & RC = RC ) ENDIF !======================================================================== ! Do this when KPP is handling SO2 cloud chemistry ... !======================================================================== IF ( .not. State_Chm%Do_SulfateMod_Cld ) THEN ! Compute reaction rates [1/s] for sulfate in cloud for KPP chem mech CALL fullchem_SulfurCldChem( I = I, & J = J, & L = L, & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & size_res = size_res, & RC = RC ) ! Update HSO3- and SO3-- concentrations [molec/cm3] State_Chm%fupdateHOBr(I,J,L) = 1.0_fp State_Chm%fupdateHOCl(I,J,L) = 1.0_fp ENDIF END SUBROUTINE Set_Sulfur_Chem_Rates !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Set_Kpp_GridBox_Values ! ! !DESCRIPTION: Populates KPP variables in the gckpp_Global.F90 module ! for a particular (I,J,L) grid box. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Set_Kpp_GridBox_Values( I, J, L, & Input_Opt, State_Chm, State_Grid, & State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE GcKpp_Global USE GcKpp_Parameters USE Input_Opt_Mod, ONLY : OptInput USE PhysConstants, ONLY : CONSVAP, RGASLATM, RSTARG USE Pressure_Mod, ONLY : Get_Pcenter USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I, J, L TYPE(OptInput), INTENT(IN) :: Input_Opt TYPE(ChmState), INTENT(IN) :: State_Chm TYPE(GrdState), INTENT(IN) :: State_Grid TYPE(MetState), INTENT(IN) :: State_Met ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: F, N, NA, KppId, SpcId REAL(f8) :: CONSEXP, VPRESH2O ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc !======================================================================== ! Set_Kpp_GridBox_Values begins here! !======================================================================== ! Initialization RC = GC_SUCCESS NA = State_Chm%nAeroType ErrMsg = '' ThisLoc = & ' -> at Set_Kpp_Gridbox_Values (in module GeosCore/fullchem_mod.F90)' !======================================================================== ! Populate global variables in gckpp_Global.F90 !======================================================================== ! Solar quantities SUNCOS = State_Met%SUNCOSmid(I,J) ! Pressure and density quantities NUMDEN = State_Met%AIRNUMDEN(I,J,L) H2O = State_Met%AVGW(I,J,L) * NUMDEN PRESS = Get_Pcenter( I, J, L ) ! Temperature quantities TEMP = State_Met%T(I,J,L) INV_TEMP = 1.0_dp / TEMP TEMP_OVER_K300 = TEMP / 300.0_dp K300_OVER_TEMP = 300.0_dp / TEMP SR_TEMP = SQRT( TEMP ) FOUR_R_T = 4.0_dp * CON_R * TEMP FOUR_RGASLATM_T = 4.0_dp * RGASLATM * TEMP EIGHT_RSTARG_T = 8.0_dp * RSTARG * TEMP ! Relative humidity quantities CONSEXP = 17.2693882_dp * (TEMP - 273.16_dp) / (TEMP - 35.86_dp) VPRESH2O = CONSVAP * EXP( CONSEXP ) / TEMP RELHUM = ( H2O / VPRESH2O ) * 100_dp END SUBROUTINE Set_Kpp_GridBox_Values !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Diag_OH_HO2_O1D_O3P ! ! !DESCRIPTION: Archives the chemical production of OH, HO2, O1D, O3P. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Diag_OH_HO2_O1D_O3P( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State object TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REMARKS: ! This routine replaces both OHSAVE and DIAGOH. Those routines were needed ! for SMVGEAR, when we had separate arrays for the non-advected species. ! But now, all species are stored in State_Chm%Species%Conc, so the various ! arrays (SAVEOH, SAVEHO2, etc.) are no longer necessary. We can now just ! just get values directly from State_Chm%Species%Conc. ! ! Also note: for the netCDF diagnostics, we have removed multiplication by ! LTOH etc arrays. These are almost always set between 0 and 24. ! ! !REVISION HISTORY: ! 06 Jan 2015 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: Do_Diag INTEGER :: I, J, L ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc ! Pointers REAL(fp), POINTER :: AirNumDen(:,:,:) TYPE(SpcConc), POINTER :: Spc (: ) !======================================================================= ! Diag_OH_HO2_O1D_O3P begins here! !======================================================================= ! Assume success RC = GC_SUCCESS ! Point to the array of species concentrations AirNumDen => State_Met%AirNumDen Spc => State_Chm%Species ! Zero the netCDF diagnostic arrays (if activated) above the ! tropopause or mesopause to avoid having leftover values ! from previous timesteps #ifdef MODEL_GEOS IF ( State_Diag%Archive_O3concAfterChem ) THEN State_Diag%O3concAfterChem = 0.0_f4 ENDIF IF ( State_Diag%Archive_RO2concAfterChem ) THEN State_Diag%RO2concAfterChem = 0.0_f4 ENDIF #endif IF ( State_Diag%Archive_OHconcAfterChem ) THEN State_Diag%OHconcAfterChem = 0.0_f4 ENDIF IF ( State_Diag%Archive_HO2concAfterChem ) THEN State_Diag%HO2concAfterChem = 0.0_f4 ENDIF IF ( State_Diag%Archive_O1DconcAfterChem ) THEN State_Diag%O1DconcAfterChem = 0.0_f4 ENDIF IF ( State_Diag%Archive_O3PconcAfterChem ) THEN State_Diag%O3PconcAfterChem = 0.0_f4 ENDIF !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L ) & !$OMP SCHEDULE( DYNAMIC ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Skip non-chemistry boxes IF ( .not. State_Met%InChemGrid(I,J,L) ) THEN ! Skip to next grid box CYCLE ENDIF !------------------------------------------------------------------ ! OH concentration [molec/cm3] !------------------------------------------------------------------ IF ( ok_OH ) THEN ! HISTORY (aka netCDF diagnostics) IF ( State_Diag%Archive_OHconcAfterChem ) THEN State_Diag%OHconcAfterChem(I,J,L) = Spc(id_OH)%Conc(I,J,L) ENDIF #ifdef MODEL_GEOS IF ( State_Diag%Archive_O3concAfterChem ) THEN State_Diag%O3concAfterChem(I,J,L) = Spc(id_O3)%Conc(I,J,L) ENDIF IF ( Archive_RO2concAfterChem ) THEN IF ( id_A3O2 > 0 ) & State_Diag%RO2concAfterChem(I,J,L) = & State_Diag%RO2concAfterChem(I,J,L) + Spc(id_A3O2)%Conc(I,J,L) IF ( id_ATO2 > 0 ) & State_Diag%RO2concAfterChem(I,J,L) = & State_Diag%RO2concAfterChem(I,J,L) + Spc(id_ATO2)%Conc(I,J,L) IF ( id_B3O2 > 0 ) & State_Diag%RO2concAfterChem(I,J,L) = & State_Diag%RO2concAfterChem(I,J,L) + Spc(id_B3O2)%Conc(I,J,L) IF ( id_BRO2 > 0 ) & State_Diag%RO2concAfterChem(I,J,L) = & State_Diag%RO2concAfterChem(I,J,L) + Spc(id_BRO2)%Conc(I,J,L) IF ( id_ETO2 > 0 ) & State_Diag%RO2concAfterChem(I,J,L) = & State_Diag%RO2concAfterChem(I,J,L) + Spc(id_ETO2)%Conc(I,J,L) IF ( id_HO2 > 0 ) & State_Diag%RO2concAfterChem(I,J,L) = & State_Diag%RO2concAfterChem(I,J,L) + Spc(id_HO2)%Conc(I,J,L) IF ( id_LIMO2 > 0 ) & State_Diag%RO2concAfterChem(I,J,L) = & State_Diag%RO2concAfterChem(I,J,L) + Spc(id_LIMO2)%Conc(I,J,L) IF ( id_MO2 > 0 ) & State_Diag%RO2concAfterChem(I,J,L) = & State_Diag%RO2concAfterChem(I,J,L) + Spc(id_MO2)%Conc(I,J,L) IF ( id_PIO2 > 0 ) & State_Diag%RO2concAfterChem(I,J,L) = & State_Diag%RO2concAfterChem(I,J,L) + Spc(id_PIO2)%Conc(I,J,L) IF ( id_PO2 > 0 ) & State_Diag%RO2concAfterChem(I,J,L) = & State_Diag%RO2concAfterChem(I,J,L) + Spc(id_PO2)%Conc(I,J,L) IF ( id_PRN1 > 0 ) & State_Diag%RO2concAfterChem(I,J,L) = & State_Diag%RO2concAfterChem(I,J,L) + Spc(id_PRN1)%Conc(I,J,L) IF ( id_R4N1 > 0 ) & State_Diag%RO2concAfterChem(I,J,L) = & State_Diag%RO2concAfterChem(I,J,L) + Spc(id_R4N1)%Conc(I,J,L) IF ( id_R4O2 > 0 ) & State_Diag%RO2concAfterChem(I,J,L) = & State_Diag%RO2concAfterChem(I,J,L) + Spc(id_R4O2)%Conc(I,J,L) IF ( id_TRO2 > 0 ) & State_Diag%RO2concAfterChem(I,J,L) = & State_Diag%RO2concAfterChem(I,J,L) + Spc(id_TRO2)%Conc(I,J,L) IF ( id_XRO2 > 0 ) & State_Diag%RO2concAfterChem(I,J,L) = & State_Diag%RO2concAfterChem(I,J,L) + Spc(id_XRO2)%Conc(I,J,L) IF ( id_IHOO1 > 0 ) & State_Diag%RO2concAfterChem(I,J,L) = & State_Diag%RO2concAfterChem(I,J,L) + Spc(id_IHOO1)%Conc(I,J,L) IF ( id_IHOO4 > 0 ) & State_Diag%RO2concAfterChem(I,J,L) = & State_Diag%RO2concAfterChem(I,J,L) + Spc(id_IHOO4)%Conc(I,J,L) IF ( id_ICHOO > 0 ) & State_Diag%RO2concAfterChem(I,J,L) = & State_Diag%RO2concAfterChem(I,J,L) + Spc(id_ICHOO)%Conc(I,J,L) IF ( id_IHPOO1 > 0 ) & State_Diag%RO2concAfterChem(I,J,L) = & State_Diag%RO2concAfterChem(I,J,L) + Spc(id_IHPOO1)%Conc(I,J,L) IF ( id_IHPOO2 > 0 ) & State_Diag%RO2concAfterChem(I,J,L) = & State_Diag%RO2concAfterChem(I,J,L) + Spc(id_IHPOO2)%Conc(I,J,L) IF ( id_IHPOO3 > 0 ) & State_Diag%RO2concAfterChem(I,J,L) = & State_Diag%RO2concAfterChem(I,J,L) + Spc(id_IHPOO3)%Conc(I,J,L) IF ( id_IEPOXAOO > 0 ) & State_Diag%RO2concAfterChem(I,J,L) = & State_Diag%RO2concAfterChem(I,J,L) + Spc(id_IEPOXAOO)%Conc(I,J,L) IF ( id_IEPOXBOO > 0 ) & State_Diag%RO2concAfterChem(I,J,L) = & State_Diag%RO2concAfterChem(I,J,L) + Spc(id_IEPOXBOO)%Conc(I,J,L) IF ( id_C4HVP1 > 0 ) & State_Diag%RO2concAfterChem(I,J,L) = & State_Diag%RO2concAfterChem(I,J,L) + Spc(id_C4HVP1)%Conc(I,J,L) IF ( id_C4HVP2 > 0 ) & State_Diag%RO2concAfterChem(I,J,L) = & State_Diag%RO2concAfterChem(I,J,L) + Spc(id_C4HVP2)%Conc(I,J,L) IF ( id_HPALD1OO > 0 ) & State_Diag%RO2concAfterChem(I,J,L) = & State_Diag%RO2concAfterChem(I,J,L) + Spc(id_HPALD1OO)%Conc(I,J,L) IF ( id_HPALD2OO > 0 ) & State_Diag%RO2concAfterChem(I,J,L) = & State_Diag%RO2concAfterChem(I,J,L) + Spc(id_HPALD2OO)%Conc(I,J,L) IF ( id_ISOPNOO1 > 0 ) & State_Diag%RO2concAfterChem(I,J,L) = & State_Diag%RO2concAfterChem(I,J,L) + Spc(id_ISOPNOO1)%Conc(I,J,L) IF ( id_ISOPNOO2 > 0 ) & State_Diag%RO2concAfterChem(I,J,L) = & State_Diag%RO2concAfterChem(I,J,L) + Spc(id_ISOPNOO2)%Conc(I,J,L) IF ( id_INO2D > 0 ) & State_Diag%RO2concAfterChem(I,J,L) = & State_Diag%RO2concAfterChem(I,J,L) + Spc(id_INO2D)%Conc(I,J,L) IF ( id_INO2B > 0 ) & State_Diag%RO2concAfterChem(I,J,L) = & State_Diag%RO2concAfterChem(I,J,L) + Spc(id_INO2B)%Conc(I,J,L) IF ( id_IDHNBOO > 0 ) & State_Diag%RO2concAfterChem(I,J,L) = & State_Diag%RO2concAfterChem(I,J,L) + Spc(id_IDHNBOO)%Conc(I,J,L) IF ( id_IDHNDOO1 > 0 ) & State_Diag%RO2concAfterChem(I,J,L) = & State_Diag%RO2concAfterChem(I,J,L) + Spc(id_IDHNDOO1)%Conc(I,J,L) IF ( id_IDHNDOO2 > 0 ) & State_Diag%RO2concAfterChem(I,J,L) = & State_Diag%RO2concAfterChem(I,J,L) + Spc(id_IDHNDOO2)%Conc(I,J,L) IF ( id_IHPNBOO > 0 ) & State_Diag%RO2concAfterChem(I,J,L) = & State_Diag%RO2concAfterChem(I,J,L) + Spc(id_IHPNBOO)%Conc(I,J,L) IF ( id_IHPNDOO > 0 ) & State_Diag%RO2concAfterChem(I,J,L) = & State_Diag%RO2concAfterChem(I,J,L) + Spc(id_IHPNDOO)%Conc(I,J,L) IF ( id_ICNOO > 0 ) & State_Diag%RO2concAfterChem(I,J,L) = & State_Diag%RO2concAfterChem(I,J,L) + Spc(id_ICNOO)%Conc(I,J,L) IF ( id_IDNOO > 0 ) & State_Diag%RO2concAfterChem(I,J,L) = & State_Diag%RO2concAfterChem(I,J,L) + Spc(id_IDNOO)%Conc(I,J,L) ENDIF #endif ENDIF !------------------------------------------------------------------ ! HO2 concentration [v/v] !------------------------------------------------------------------ IF ( ok_HO2 ) THEN IF ( State_Diag%Archive_HO2concAfterChem ) THEN State_Diag%HO2concAfterChem(I,J,L) = ( Spc(id_HO2)%Conc(I,J,L) & / AirNumDen(I,J,L) ) ENDIF ENDIF !--------------------------------------------------------------- ! O1D concentration [molec/cm3] !--------------------------------------------------------------- IF ( ok_O1D ) THEN IF ( State_Diag%Archive_O1DconcAfterChem ) THEN State_Diag%O1DconcAfterChem(I,J,L) = Spc(id_O1D)%Conc(I,J,L) ENDIF ENDIF !--------------------------------------------------------------- ! O3P concentration [molec/cm3] !--------------------------------------------------------------- IF ( ok_O3P ) THEN IF ( State_Diag%Archive_O3PconcAfterChem ) THEN State_Diag%O3PconcAfterChem(I,J,L) = Spc(id_O3P)%Conc(I,J,L) ENDIF ENDIF ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ! Free pointers AirNumDen => NULL() Spc => NULL() END SUBROUTINE Diag_OH_HO2_O1D_O3P !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Diag_Metrics ! ! !DESCRIPTION: Computes mass-weighted mean OH columns (full-atmosphere and ! trop-only) that are needed to compute the overall mean OH concentration. ! This is used as a metric as to how reactive, or "hot" the chemistry ! mechanism is. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Diag_Metrics( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE PhysConstants, ONLY : AVO USE PhysConstants, ONLY : XNUMOLAIR USE State_Chm_Mod, ONLY : Ind_ USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! References: ! (1) Prather, M. and C. Spivakovsky, "Tropospheric OH and ! the lifetimes of hydrochlorofluorocarbons", JGR, ! Vol 95, No. D11, 18723-18729, 1990. ! (2) Lawrence, M.G, Joeckel, P, and von Kuhlmann, R., "What ! does the global mean OH concentraton tell us?", ! Atm. Chem. Phys, 1, 37-49, 2001. ! (3) WMO/UNEP Scientific Assessment of Ozone Depletion: 2010 ! ! !REVISION HISTORY: ! 18 Aug 2020 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! REAL(f8), PARAMETER :: M3toCM3 = 1.0e+6_f8 ! ! !LOCAL VARIABLES: ! ! SAVEd scalars LOGICAL, SAVE :: first = .TRUE. INTEGER, SAVE :: id_OH = -1 REAL(f8), SAVE :: MCM3toKGM3_OH = -1.0_f8 ! Scalars INTEGER :: I, J, L REAL(f8) :: airMass_m, airmass_kg, airMassFull REAL(f8) :: airMassTrop, Ktrop, LossOHbyCH4 REAL(f8) :: LossOHbyMCF, OHconc_mcm3, OHmassWgt REAL(f8) :: OHmassFull, OHmassTrop, volume ! Strings CHARACTER(LEN=255) :: errMsg, thisLoc !======================================================================== ! Compute_Mean_OH_and_CH4 begins here! !======================================================================== ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = ' -> at Compute_Mean_OH (in module GeosCore/diagnostics_mod.F90)' ! Exit if we have not turned on the Metrics collection IF ( .not. State_Diag%Archive_Metrics ) RETURN !======================================================================== ! First-time setup !======================================================================== IF ( first ) THEN ! Get the species ID for OH id_OH = Ind_('OH') IF ( id_OH < 0 ) THEN errMsg = 'OH is not a defined species in this simulation!!!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Convert [molec OH cm-3] --> [kg OH m-3] MCM3toKGM3_OH = M3toCM3 & * ( State_Chm%SpcData(id_OH)%Info%MW_g * 1.0e-3_f8 ) & / AVO ! Reset first-time flag first = .FALSE. ENDIF !======================================================================== ! Loop over surface boxes and compute mean OH in columns !======================================================================== !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, L, airMass_kg )& !$OMP PRIVATE( airMass_m, airMassFull, airMassTrop, Ktrop )& !$OMP PRIVATE( LossOHbyCH4, LossOHbyMCF, OHconc_mcm3, OHmassWgt )& !$OMP PRIVATE( OHmassFull, OHmassTrop, volume )& !$OMP SCHEDULE( DYNAMIC, 4 ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX !-------------------------------------------------------------------- ! Zero column-specific quantities !-------------------------------------------------------------------- airMass_kg = 0.0_f8 airMass_m = 0.0_f8 airMassFull = 0.0_f8 airMassTrop = 0.0_f8 Ktrop = 0.0_f8 LossOHbyCH4 = 0.0_f8 LossOHbyMCF = 0.0_f8 OHconc_mcm3 = 0.0_f8 OHmassWgt = 0.0_f8 OHmassFull = 0.0_f8 OHmassTrop = 0.0_f8 volume = 0.0_f8 !-------------------------------------------------------------------- ! Loop over the number of levels in the full-atmosphere column ! Limit the computations to boxes in the chemistry grid !-------------------------------------------------------------------- DO L = 1, State_Met%ChemGridLev(I,J) ! Compute box volume [cm3], and air mass ([molec] and [kg]) ! Note: air mass in [molec] is also the atmospheric burden of ! methyl chloroform (aka MCF, formula=CH3CCl3), since we assume ! a uniform mixing ratio (=1) of MCF in air. volume = State_Met%AIRVOL(I,J,L) * M3toCM3 airMass_m = State_Met%AIRNUMDEN(I,J,L) * volume airMass_kg = airMass_m / XNUMOLAIR ! OH concentration [molec cm-3] OHconc_mcm3 = State_Chm%Species(id_OH)%Conc(I,J,L) ! Airmass-weighted OH [kg air * (kg OH m-3)] OHmassWgt = airMass_kg * ( OHconc_mcm3 * MCM3toKGM3_OH ) ! Sum the air mass, mass-weighted CH4, ! and mass-weighted OH in the full-atm column airMassFull = airMassFull + airMass_kg OHmassFull = OHmassFull + OHMassWgt !------------------------------------------------------------------ ! Only do the following for tropospheric boxes ... !------------------------------------------------------------------ IF ( State_Met%InTroposphere(I,J,L) ) THEN ! Sum the air mass, mass-weighted CH4, ! and mass-weighted OH in the trop-only column airMassTrop = airMassTrop + airMass_kg OHmassTrop = OHmassTrop + OHmassWgt ! Compute CH4 loss rate in troposphere ! Ktrop (Arrhenius parameter) has units [cm3/molec/s] ! OHconc has units [molec/cm3] ! AirMass has units [molec] ! Resultant units of CH4 loss rate = [molec/s] Ktrop = 2.45e-12_f8 * EXP( -1775.0_f8 / State_Met%T(I,J,L) ) LossOHbyCH4 = LossOHbyCH4 + ( Ktrop * OHconc_mcm3 * airMass_m ) ! Compute MCF loss rate in the troposphere ! Ktrop (Arrhenius parameter) has units [cm3/molec/s] ! OHconc has units [molec/cm3] ! AirMass has units [molec] ! Resultant units of MCF loss rate = [molec/s] Ktrop = 1.64e-12_f8 * EXP( -1520.0_f8 / State_Met%T(I,J,L) ) LossOHbyMCF = LossOHbyMCF + ( Ktrop * OHconc_mcm3 * airMass_m ) ENDIF ENDDO !--------------------------------------------------------------------- ! HISTORY (aka netCDF diagnostics) ! Air mass [kg], full-atmosphere and trop-only column sums !--------------------------------------------------------------------- IF ( State_Diag%Archive_AirMassColumnFull ) THEN State_Diag%AirMassColumnFull(I,J) = airMassFull ENDIF IF ( State_Diag%Archive_AirMassColumnTrop ) THEN State_Diag%AirMassColumnTrop(I,J) = airMassTrop ENDIF !--------------------------------------------------------------------- ! HISTORY (aka netCDF diagnostics) ! Airmass-weighted mean OH [kg air * (kg OH m-3)] ! Full-atmosphere and trop-only column sums !--------------------------------------------------------------------- IF ( State_Diag%Archive_OHwgtByAirMassColumnFull ) THEN State_Diag%OHwgtByAirMassColumnFull(I,J) = OHmassFull ENDIF IF ( State_Diag%Archive_OHwgtByAirMassColumnTrop ) THEN State_Diag%OHwgtByAirMassColumnTrop(I,J) = OHmassTrop ENDIF !----------------------------------------------------------------- ! HISTORY (aka netCDF diagnostics) ! ! OH loss by CH4 + OH in troposphere [molec/s] and ! OH loss by MCF + OH in troposphere [molec/s] ! Full-atmosphere and trop-only column sums !---------------------------------------------------------------- IF ( State_Diag%Archive_LossOHbyCH4columnTrop ) THEN State_Diag%LossOHbyCH4columnTrop(I,J) = LossOHbyCH4 ENDIF IF ( State_Diag%Archive_LossOHbyMCFcolumnTrop ) THEN State_Diag%LossOHbyMCFcolumnTrop(I,J) = LossOHbyMCF ENDIF ENDDO ENDDO !$OMP END PARALLEL DO END SUBROUTINE Diag_Metrics !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: init_fullchem ! ! !DESCRIPTION: Subroutine Init\_FullChem is used to allocate arrays for the ! KPP solver. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_FullChem( Input_Opt, State_Chm, State_Diag, State_Grid, RC ) ! ! !USES: ! USE aciduptake_DustChemFuncs, ONLY : aciduptake_InitDustChem USE ErrCode_Mod USE fullchem_SulfurChemFuncs, ONLY : fullchem_InitSulfurChem USE Gckpp_Monitor, ONLY : Eqn_Names, Fam_Names USE Gckpp_Precision USE Gckpp_Parameters, ONLY : nFam, nReact, nSpec USE Gckpp_Global, ONLY : Henry_K0, Henry_CR, MW, SR_MW USE Input_Opt_Mod, ONLY : OptInput USE KppSa_Interface_Mod, ONLY : KppSa_Config USE State_Chm_Mod, ONLY : ChmState USE State_Chm_Mod, ONLY : Ind_ USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(IN) :: State_Chm ! Diagnostics State object TYPE(DgnState), INTENT(IN) :: State_Diag ! Diagnostics State object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 14 Dec 2015 - M.S. Long - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: KppId, N ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc #if defined(MPI_LOAD_BALANCE) INTEGER :: NCELL_local, i INTEGER(KIND=MPI_ADDRESS_KIND) :: win_size INTEGER :: disp INTEGER, ALLOCATABLE :: sizes(:) INTEGER, ALLOCATABLE :: prefix(:) #endif !======================================================================== ! Init_FullChem begins here! !======================================================================== ! Assume success RC = GC_SUCCESS ! Do the following only if it is a full-chemistry simulation ! NOTE: If future specialty simulations use the KPP solver, ! modify the IF statement accordingly to allow initialization IF ( .not. Input_Opt%ITS_A_FULLCHEM_SIM ) RETURN !======================================================================== ! Initialize variables !======================================================================== ErrMsg = '' ThisLoc = ' -> at Init_FullChem (in module GeosCore/FullChem_mod.F90)' ! Debug output IF ( Input_Opt%Verbose ) THEN WRITE( 6, 100 ) 100 FORMAT( ' - INIT_FULLCHEM: Allocating arrays' ) WRITE( 6 ,'(a)' ) ' KPP Reaction Reference ' DO N = 1, NREACT WRITE( 6, '(i8,a3,a85)' ) N,' | ',EQN_NAMES(N) END DO ENDIF ! Initialize species flags id_CH4 = Ind_( 'CH4', 'A' ) ! CH4 advected species id_HO2 = Ind_( 'HO2' ) id_NH3 = Ind_( 'NH3' ) id_O3P = Ind_( 'O' ) id_O1D = Ind_( 'O1D' ) id_OH = Ind_( 'OH' ) id_SO4 = Ind_( 'SO4' ) id_SALA = Ind_( 'SALA' ) id_SALAAL = Ind_( 'SALAAL' ) id_SALC = Ind_( 'SALC' ) id_SALCAL = Ind_( 'SALCAL' ) #ifdef TOMAS id_NK05 = Ind_( 'NK5' ) id_NK08 = Ind_( 'NK8' ) id_NK10 = Ind_( 'NK10' ) id_NK20 = Ind_( 'NK20' ) #endif #ifdef MODEL_GEOS ! ckeller id_O3 = Ind_( 'O3' ) id_A3O2 = Ind_( 'A3O2' ) id_ATO2 = Ind_( 'ATO2' ) id_BRO2 = Ind_( 'BRO2' ) id_ETO2 = Ind_( 'ETO2' ) id_LIMO2 = Ind_( 'LIMO2' ) id_MO2 = Ind_( 'MO2' ) id_PIO2 = Ind_( 'PIO2' ) id_PO2 = Ind_( 'PO2' ) id_PRN1 = Ind_( 'PRN1' ) id_R4N1 = Ind_( 'R4N1' ) id_R4O2 = Ind_( 'R4O2' ) id_TRO2 = Ind_( 'TRO2' ) id_XRO2 = Ind_( 'XRO2' ) id_IHOO1 = Ind_( 'IHOO1' ) id_IHOO4 = Ind_( 'IHOO4' ) id_IHCOO = Ind_( 'IHCOO' ) id_IHPOO1 = Ind_( 'IHPOO1' ) id_IHPOO2 = Ind_( 'IHPOO2' ) id_IHPOO3 = Ind_( 'IHPOO3' ) id_IEPOXAOO = Ind_( 'IEPOXAOO' ) id_IEPOXBOO = Ind_( 'IEPOXBOO' ) id_C4HVP1 = Ind_( 'C4HVP1' ) id_C4HVP2 = Ind_( 'C4HVP2' ) id_HPALD1OO = Ind_( 'HPALD1OO' ) id_HPALD2OO = Ind_( 'HPALD2OO' ) id_ISOPNOO1 = Ind_( 'ISOPNOO1' ) id_ISOPNOO2 = Ind_( 'ISOPNOO2' ) id_INO2B = Ind_( 'INO2B' ) id_INO2D = Ind_( 'INO2D' ) id_IDHNBOO = Ind_( 'IDHNBOO' ) id_IDHNDOO1 = Ind_( 'IDHNDOO1' ) id_IDHNDOO2 = Ind_( 'IDHNDOO2' ) id_IHPNBOO = Ind_( 'IHPNBOO' ) id_IHPNDOO = Ind_( 'IHPNDOO' ) id_ICNOO = Ind_( 'ICNOO' ) id_IDNOO = Ind_( 'IDNOO' ) #endif #ifdef MODEL_CESM ! hplin id_TSOA0 = Ind_('TSOA0') id_TSOA1 = Ind_('TSOA1') id_TSOA2 = Ind_('TSOA2') id_TSOA3 = Ind_('TSOA3') id_ASOA1 = Ind_('ASOA1') id_ASOA2 = Ind_('ASOA2') id_ASOA3 = Ind_('ASOA3') id_ASOAN = Ind_('ASOAN') id_TSOG0 = Ind_('TSOG0') id_TSOG1 = Ind_('TSOG1') id_TSOG2 = Ind_('TSOG2') id_TSOG3 = Ind_('TSOG3') id_ASOG1 = Ind_('ASOG1') id_ASOG2 = Ind_('ASOG2') id_ASOG3 = Ind_('ASOG3') id_NIT = Ind_('NIT') id_SO4s = Ind_('SO4s') id_NITs = Ind_('NITs') id_HNO3 = Ind_('HNO3') #endif ! Set flags to denote if each species is defined ok_HO2 = ( id_HO2 > 0 ) ok_O1D = ( id_O1D > 0 ) ok_O3P = ( id_O3P > 0 ) ok_OH = ( id_OH > 0 ) ! Should we archive OH, HO2, O1D, O3P diagnostics? Do_Diag_OH_HO2_O1D_O3P = ( & #ifdef MODEL_GEOS State_Diag%Archive_O3concAfterChem .or. & State_Diag%Archive_RO2concAfterChem .or. & #endif State_Diag%Archive_OHconcAfterChem .or. & State_Diag%Archive_HO2concAfterChem .or. & State_Diag%Archive_O1DconcAfterChem .or. & State_Diag%Archive_O3PconcAfterChem ) !======================================================================== ! Assign default values for KPP absolute and relative tolerances ! for species where these have not been explicitly defined. !======================================================================== WHERE( State_Chm%KPP_AbsTol == MISSING_DBLE ) State_Chm%KPP_AbsTol = 1.0e-2_f8 ENDWHERE WHERE( State_Chm%KPP_RelTol == MISSING_DBLE ) State_Chm%KPP_RelTol = 0.5e-2_f8 ENDWHERE !======================================================================== ! Save physical parameters from the species database into KPP arrays ! in gckpp_Global.F90. These are for the hetchem routines. !======================================================================== DO KppId = 1, State_Chm%nKppSpc + State_Chm%nOmitted N = State_Chm%Map_KppSpc(KppId) IF ( N > 0 ) THEN MW(KppId) = State_Chm%SpcData(N)%Info%MW_g SR_MW(KppId) = SQRT( MW(KppId ) ) HENRY_K0(KppId) = State_Chm%SpcData(N)%Info%Henry_K0 HENRY_CR(KppId) = State_Chm%SpcData(N)%Info%Henry_CR ENDIF ENDDO !======================================================================== ! Allocate arrays !======================================================================== ! Initialize id_PSO4 = -1 id_PCO = -1 id_LCH4 = -1 !------------------------------------------------------------------------ ! Pre-store the KPP indices for each KPP prod/loss species or family !------------------------------------------------------------------------ IF ( nFam > 0 ) THEN ! Allocate mapping array for KPP Ids for prod/loss diagnostic ALLOCATE( PL_Kpp_Id( nFam ), STAT=RC ) CALL GC_CheckVar( 'fullchem_mod.F90:PL_Kpp_Id', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ! Loop over all KPP prod/loss species DO N = 1, nFam ! NOTE: KppId is the KPP ID # for each of the prod and loss ! diagnostic species. This is the value used to index the ! KPP "VAR" array (in module gckpp_Global.F90). KppID = Ind_( TRIM ( Fam_Names(N) ), 'K' ) ! Find the KPP Id corresponding to PCO and LCH4 ! so that we can save output for CO in carbon simulations IF ( TRIM( Fam_Names(N) ) == 'PCO' ) id_PCO = KppId IF ( TRIM( Fam_Names(N) ) == 'LCH4' ) id_LCH4 = KppId ! Find the KPP Id corresponding to PSO4 ! so that we can save output for TOMAS simulations IF ( TRIM( Fam_Names(N) ) == 'PSO4' ) id_PSO4 = KppId ! Exit if an invalid ID is encountered IF ( KppId <= 0 ) THEN ErrMsg = 'Invalid KPP ID for prod/loss species: ' // & TRIM( Fam_Names(N) ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! If the species ID is OK, save in ND65_Kpp_Id PL_Kpp_Id(N) = KppId ENDDO ENDIF #ifdef MODEL_CESM !------------------------------------------------------------------------ ! If we are finding H2SO4_RATE from a fullchem ! simulation for the CESM, throw an error if we cannot find ! the PSO4 prod family in this KPP mechanism. !------------------------------------------------------------------------ IF ( id_PSO4 < 1 ) THEN ErrMsg = 'Could not find PSO4 in list of KPP families! This ' // & 'is needed for State_Chm%H2SO4_PRDR and coupling to CESM!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF #endif !------------------------------------------------------------------------ ! If we are archiving the P(CO) from CH4 and from NMVOC from a fullchem ! simulation for the CO in carbon simulation, throw an error if we cannot ! find the PCO or LCH4 prod/loss families in this KPP mechanism. !------------------------------------------------------------------------ IF ( State_Diag%Archive_ProdCOfromCH4 .or. & State_Diag%Archive_ProdCOfromNMVOC ) THEN IF ( id_PCO < 1 ) THEN ErrMsg = 'Could not find PCO in list of KPP families! This ' // & 'is needed to archive the ProdCOfromCH4 diagnostic!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( id_LCH4 < 1 ) THEN ErrMsg = 'Could not find LCH4 in list of KPP families! This ' // & 'is needed to archive the ProdCOfromNMVOC diagnostic!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !------------------------------------------------------------------------ ! Initialize sulfate chemistry code (cf Mike Long) !------------------------------------------------------------------------ CALL fullchem_InitSulfurChem( RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "fullchem_InitSulfurCldChem"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Initialize dust acid uptake code (Mike Long, Bob Yantosca) !------------------------------------------------------------------------ IF ( Input_Opt%LDSTUP ) THEN CALL aciduptake_InitDustChem( RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "aciduptake_InitDustChem"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !------------------------------------------------------------------------ ! Initialize the KPP standalone interface, which will save model state ! for the grid cells specified in kpp_standalone_interface.yml. ! This is needed for input to the KPP standalone box model. !------------------------------------------------------------------------ CALL KppSa_Config( Input_Opt, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "KPP_Standalone"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF #if defined(MPI_LOAD_BALANCE) ! Setup shared memory ! Initialize window handles win_C_1D = MPI_WIN_NULL win_RCONST_1D = MPI_WIN_NULL win_ICNTRL_1D = MPI_WIN_NULL win_RCNTRL_1D = MPI_WIN_NULL win_ISTATUS_1D = MPI_WIN_NULL win_RSTATE_1D = MPI_WIN_NULL win_cell_status = MPI_WIN_NULL nicntrl = 20 nrcntrl = 20 nistatus = 20 nrstate = 20 ! MPI shared memory setup CALL MPI_Comm_split_type(Input_Opt%mpiComm, MPI_COMM_TYPE_SHARED, & 0, MPI_INFO_NULL, shm_comm, RC) IF (RC /= MPI_SUCCESS) THEN CALL GC_Error('MPI_Comm_split_type failed', RC, ThisLoc) RETURN ENDIF CALL MPI_Comm_rank(shm_comm, shm_rank, RC) IF (RC /= MPI_SUCCESS) THEN CALL GC_Error('MPI_Comm_rank failed', RC, ThisLoc) RETURN ENDIF CALL MPI_Comm_size(shm_comm, shm_size, RC) IF (RC /= MPI_SUCCESS) THEN CALL GC_Error('MPI_Comm_size failed', RC, ThisLoc) RETURN ENDIF NCELL_local = State_Grid%NX * State_Grid%NY * State_Grid%NZ NCELL_MAX = NCELL_local Allocate(Idx_to_IJL(3, NCELL_MAX), STAT=RC) CALL GC_CheckVar( 'fullchem_mod.F90:Idx_to_IJL', 0, RC ) IF ( RC /= GC_SUCCESS ) Then CALL GC_Error( 'Failed to allocate Idx_to_IJL', RC, ThisLoc ) RETURN ENDIF !gather local sizes IF (shm_rank == 0) THEN ALLOCATE(sizes(shm_size)) ELSE ALLOCATE(sizes(1)) ! dummy for non-root ENDIF CALL MPI_Gather(NCELL_local, 1, MPI_INTEGER, sizes, 1, MPI_INTEGER, & 0, shm_comm, ierr) !build prefix sum and NCELL_total on rank-0 IF (shm_rank == 0) THEN ALLOCATE(prefix(shm_size)) prefix(1) = 0 DO i = 2, shm_size prefix(i) = prefix(i-1) + sizes(i-1) END DO NCELL_total = prefix(shm_size) + sizes(shm_size) ELSE ALLOCATE(prefix(1)) ! dummy for non-root ENDIF !broadcast node-wide constants and my true offset CALL MPI_Bcast(NCELL_total, 1, MPI_INTEGER, 0, shm_comm, ierr) CALL MPI_Scatter(prefix, 1, MPI_INTEGER, offset, 1, MPI_INTEGER, & 0, shm_comm, ierr) ! Clean up DEALLOCATE(prefix, sizes) ! debug print: check shared memory size ! WRITE(6, *) 'shm_rank:', shm_rank, 'shm_size:', shm_size ! WRITE(6, *) 'NCELL_local:', NCELL_local, 'NCELL_total:', & ! NCELL_total, 'offset:', offset ! WRITE(6, *) 'NSPEC:', NSPEC, 'NREACT:', NREACT, 'NRSTATE:', NRSTATE ! WRITE(6, *) 'NICNTRL:', NICNTRL, 'NRCNTRL:', NRCNTRL, 'NISTATUS:', & ! NISTATUS ! Allocate shared memory windows disp = SIZEOF(C_1D(1,1)) IF (shm_rank == 0) THEN win_size = INT(NSPEC, KIND=MPI_ADDRESS_KIND) * INT(NCELL_total, KIND=MPI_ADDRESS_KIND) * INT(disp, KIND=MPI_ADDRESS_KIND) ELSE win_size = 0 END IF CALL MPI_Win_allocate_shared(win_size, disp, MPI_INFO_NULL, shm_comm, C_1D_flat_int, win_C_1D, RC) IF (RC /= MPI_SUCCESS) THEN CALL GC_Error('MPI_Win_allocate_shared failed for C_1D', RC, ThisLoc) RETURN ENDIF CALL MPI_Win_shared_query(win_C_1D, 0, win_size, disp, C_1D_flat_int, RC) IF (RC /= MPI_SUCCESS) THEN CALL GC_Error('MPI_Win_shared_query failed for C_1D', RC, ThisLoc) RETURN ENDIF C_1D_flat_ptr = TRANSFER(C_1D_flat_int, C_1D_flat_ptr) CALL C_F_POINTER(C_1D_flat_ptr, C_1D, [NSPEC, NCELL_total]) IF (.NOT. ASSOCIATED(C_1D)) THEN CALL GC_Error('C_1D is not associated after C_F_POINTER', RC, ThisLoc) RETURN ENDIF disp = SIZEOF(RCONST_1D(1,1)) IF (shm_rank == 0) THEN win_size = INT(NREACT, KIND=MPI_ADDRESS_KIND) * & INT(NCELL_total, KIND=MPI_ADDRESS_KIND) * & INT(disp, KIND=MPI_ADDRESS_KIND) ELSE win_size = 0 ENDIF CALL MPI_Win_allocate_shared(win_size, disp, MPI_INFO_NULL, shm_comm, RCONST_1D_flat_int, win_RCONST_1D, RC) IF (RC /= MPI_SUCCESS) THEN CALL GC_Error('MPI_Win_allocate_shared failed for RCONST_1D', RC, ThisLoc) RETURN ENDIF CALL MPI_Win_shared_query(win_RCONST_1D, 0, win_size, disp, RCONST_1D_flat_int, RC) IF (RC /= MPI_SUCCESS) THEN CALL GC_Error('MPI_Win_shared_query failed for RCONST_1D', RC, ThisLoc) RETURN ENDIF RCONST_1D_flat_ptr = TRANSFER(RCONST_1D_flat_int, RCONST_1D_flat_ptr) CALL C_F_POINTER(RCONST_1D_flat_ptr, RCONST_1D, [NREACT, NCELL_total]) IF (.NOT. ASSOCIATED(RCONST_1D)) THEN CALL GC_Error('RCONST_1D is not associated after C_F_POINTER', RC, ThisLoc) RETURN ENDIF disp = SIZEOF(ICNTRL_1D(1,1)) IF (shm_rank == 0) THEN win_size = INT(NICNTRL, KIND=MPI_ADDRESS_KIND) * INT(NCELL_total, KIND=MPI_ADDRESS_KIND) * INT(disp, KIND=MPI_ADDRESS_KIND) ELSE win_size = 0 END IF CALL MPI_Win_allocate_shared(win_size, disp, MPI_INFO_NULL, shm_comm, ICNTRL_1D_flat_int, win_ICNTRL_1D, RC) IF (RC /= MPI_SUCCESS) THEN CALL GC_Error('MPI_Win_allocate_shared failed for ICNTRL_1D', RC, ThisLoc) RETURN ENDIF CALL MPI_Win_shared_query(win_ICNTRL_1D, 0, win_size, disp, ICNTRL_1D_flat_int, RC) IF (RC /= MPI_SUCCESS) THEN CALL GC_Error('MPI_Win_shared_query failed for ICNTRL_1D', RC, ThisLoc) RETURN ENDIF ICNTRL_1D_flat_ptr = TRANSFER(ICNTRL_1D_flat_int, ICNTRL_1D_flat_ptr) CALL C_F_POINTER(ICNTRL_1D_flat_ptr, ICNTRL_1D, [NICNTRL, NCELL_total]) IF (.NOT. ASSOCIATED(ICNTRL_1D)) THEN CALL GC_Error('ICNTRL_1D is not associated after C_F_POINTER', RC, ThisLoc) RETURN ENDIF disp = SIZEOF(RCNTRL_1D(1,1)) IF (shm_rank == 0) THEN win_size = INT(NRCNTRL, KIND=MPI_ADDRESS_KIND) * INT(NCELL_total, KIND=MPI_ADDRESS_KIND) * INT(disp, KIND=MPI_ADDRESS_KIND) ELSE win_size = 0 END IF CALL MPI_Win_allocate_shared(win_size, disp, MPI_INFO_NULL, shm_comm, RCNTRL_1D_flat_int, win_RCNTRL_1D, RC) IF (RC /= MPI_SUCCESS) THEN CALL GC_Error('MPI_Win_allocate_shared failed for RCNTRL_1D', RC, ThisLoc) RETURN ENDIF CALL MPI_Win_shared_query(win_RCNTRL_1D, 0, win_size, disp, RCNTRL_1D_flat_int, RC) IF (RC /= MPI_SUCCESS) THEN CALL GC_Error('MPI_Win_shared_query failed for RCNTRL_1D', RC, ThisLoc) RETURN ENDIF RCNTRL_1D_flat_ptr = TRANSFER(RCNTRL_1D_flat_int, RCNTRL_1D_flat_ptr) CALL C_F_POINTER(RCNTRL_1D_flat_ptr, RCNTRL_1D, [NRCNTRL, NCELL_total]) IF (.NOT. ASSOCIATED(RCNTRL_1D)) THEN CALL GC_Error('RCNTRL_1D is not associated after C_F_POINTER', RC, ThisLoc) RETURN ENDIF disp = SIZEOF(ISTATUS_1D(1,1)) IF (shm_rank == 0) THEN win_size = INT(NISTATUS, KIND=MPI_ADDRESS_KIND) * INT(NCELL_total, KIND=MPI_ADDRESS_KIND) * INT(disp, KIND=MPI_ADDRESS_KIND) ELSE win_size = 0 END IF CALL MPI_Win_allocate_shared(win_size, disp, MPI_INFO_NULL, shm_comm, ISTATUS_1D_flat_int, win_ISTATUS_1D, RC) IF (RC /= MPI_SUCCESS) THEN CALL GC_Error('MPI_Win_allocate_shared failed for ISTATUS_1D', RC, ThisLoc) RETURN ENDIF CALL MPI_Win_shared_query(win_ISTATUS_1D, 0, win_size, disp, ISTATUS_1D_flat_int, RC) IF (RC /= MPI_SUCCESS) THEN CALL GC_Error('MPI_Win_shared_query failed for ISTATUS_1D', RC, ThisLoc) RETURN ENDIF ISTATUS_1D_flat_ptr = TRANSFER(ISTATUS_1D_flat_int, ISTATUS_1D_flat_ptr) CALL C_F_POINTER(ISTATUS_1D_flat_ptr, ISTATUS_1D, [NISTATUS, NCELL_total]) IF (.NOT. ASSOCIATED(ISTATUS_1D)) THEN CALL GC_Error('ISTATUS_1D is not associated after C_F_POINTER', RC, ThisLoc) RETURN ENDIF disp = SIZEOF(RSTATE_1D(1,1)) IF (shm_rank == 0) THEN win_size = INT(NRSTATE, KIND=MPI_ADDRESS_KIND) * INT(NCELL_total, KIND=MPI_ADDRESS_KIND) * INT(disp, KIND=MPI_ADDRESS_KIND) ELSE win_size = 0 END IF CALL MPI_Win_allocate_shared(win_size, disp, MPI_INFO_NULL, shm_comm, RSTATE_1D_flat_int, win_RSTATE_1D, RC) IF (RC /= MPI_SUCCESS) THEN CALL GC_Error('MPI_Win_allocate_shared failed for RSTATE_1D', RC, ThisLoc) RETURN ENDIF CALL MPI_Win_shared_query(win_RSTATE_1D, 0, win_size, disp, RSTATE_1D_flat_int, RC) IF (RC /= MPI_SUCCESS) THEN CALL GC_Error('MPI_Win_shared_query failed for RSTATE_1D', RC, ThisLoc) RETURN ENDIF RSTATE_1D_flat_ptr = TRANSFER(RSTATE_1D_flat_int, RSTATE_1D_flat_ptr) CALL C_F_POINTER(RSTATE_1D_flat_ptr, RSTATE_1D, [NRSTATE, NCELL_total]) IF (.NOT. ASSOCIATED(RSTATE_1D)) THEN CALL GC_Error('RSTATE_1D is not associated after C_F_POINTER', RC, ThisLoc) RETURN ENDIF disp = SIZEOF(cell_status(1)) IF (shm_rank == 0) THEN win_size = INT(NCELL_total, KIND=MPI_ADDRESS_KIND) * INT(disp, KIND=MPI_ADDRESS_KIND) ELSE win_size = 0 END IF CALL MPI_Win_allocate_shared(win_size, disp, MPI_INFO_NULL, shm_comm, cell_status_flat_int, win_cell_status, RC) IF (RC /= MPI_SUCCESS) THEN CALL GC_Error('MPI_Win_allocate_shared failed for cell_status', RC, ThisLoc) RETURN END IF CALL MPI_Win_shared_query(win_cell_status, 0, win_size, disp, cell_status_flat_int, RC) IF (RC /= MPI_SUCCESS) THEN CALL GC_Error('MPI_Win_shared_query failed for cell_status', RC, ThisLoc) RETURN END IF cell_status_flat_ptr = TRANSFER(cell_status_flat_int, cell_status_flat_ptr) CALL C_F_POINTER(cell_status_flat_ptr, cell_status, [NCELL_total]) IF (.NOT. ASSOCIATED(cell_status)) THEN CALL GC_Error('cell_status is not associated after C_F_POINTER', RC, ThisLoc) RETURN END IF disp = SIZEOF(next_cell_index) IF (shm_rank == 0) THEN win_size = INT(disp, KIND=MPI_ADDRESS_KIND) ELSE win_size = 0 END IF CALL MPI_Win_allocate_shared(win_size, disp, MPI_INFO_NULL, shm_comm, & next_cell_index_int, win_next_cell_index, ierr) IF (ierr /= MPI_SUCCESS) THEN CALL GC_Error('MPI_Win_allocate_shared failed for next_cell_index', ierr, ThisLoc) RETURN END IF CALL MPI_Win_shared_query(win_next_cell_index, 0, win_size, disp, & next_cell_index_int, ierr) IF (ierr /= MPI_SUCCESS) THEN CALL GC_Error('MPI_Win_shared_query failed for next_cell_index', ierr, ThisLoc) RETURN END IF next_cell_index_ptr = TRANSFER(next_cell_index_int, next_cell_index_ptr) CALL C_F_POINTER(next_cell_index_ptr, next_cell_index) IF (.NOT. ASSOCIATED(next_cell_index)) THEN CALL GC_Error('next_cell_index not associated', RC, ThisLoc) RETURN END IF #endif ! MPI_LOAD_BALANCE END SUBROUTINE Init_FullChem !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: cleanup_fullchem ! ! !DESCRIPTION: Subroutine Cleanup\_FullChem deallocates module variables. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Cleanup_FullChem( RC ) ! ! !USES: ! USE ErrCode_Mod USE KppSa_Interface_Mod, ONLY : KppSa_Cleanup ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 24 Aug 2016 - M. Sulprizio- Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC !================================================================= ! Cleanup_FullChem begins here! !================================================================= ! Initialize RC = GC_SUCCESS IF ( ALLOCATED( PL_Kpp_Id ) ) THEN DEALLOCATE( PL_Kpp_Id, STAT=RC ) CALL GC_CheckVar( 'fullchem_mod.F90:PL_Kpp_Id', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( JvCountDay ) ) THEN DEALLOCATE( JvCountDay, STAT=RC ) CALL GC_CheckVar( 'fullchem_mod.F90:JvCountDay', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( JvSumDay ) ) THEN DEALLOCATE( JvSumDay, STAT=RC ) CALL GC_CheckVar( 'fullchem_mod.F90:JvSumDay', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( JvCountMon ) ) THEN DEALLOCATE( JvCountMon, STAT=RC ) CALL GC_CheckVar( 'fullchem_mod.F90:JvCountMon', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( JvSumMon ) ) THEN DEALLOCATE( JvSumMon, STAT=RC ) CALL GC_CheckVar( 'fullchem_mod.F90:JvSumMon', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF ! Deallocate variables from kpp standalone module ! psturm, 03/22/2024 CALL KppSa_Cleanup( RC ) #if defined(MPI_LOAD_BALANCE) ! Arrays for load balancing IF ( ASSOCIATED( C_1D ) ) NULLIFY(C_1D ) IF ( ASSOCIATED( RCONST_1D ) ) NULLIFY(RCONST_1D ) IF ( ASSOCIATED( ICNTRL_1D ) ) NULLIFY(ICNTRL_1D ) IF ( ASSOCIATED( RCNTRL_1D ) ) NULLIFY(RCNTRL_1D ) IF ( ASSOCIATED( ISTATUS_1D ) ) NULLIFY(ISTATUS_1D ) IF ( ASSOCIATED( RSTATE_1D ) ) NULLIFY(RSTATE_1D ) IF ( ASSOCIATED( cell_status ) ) NULLIFY(cell_status ) IF ( ASSOCIATED( next_cell_index ) ) NULLIFY(next_cell_index) IF ( ALLOCATED( Idx_to_IJL ) ) Then Deallocate(Idx_to_IJL, STAT=RC) CALL GC_CheckVar( 'fullchem_mod.F90:Idx_to_IJL', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF (win_C_1D /= MPI_Win_NULL) & CALL MPI_Win_free(win_C_1D, ierr) IF (win_RCONST_1D /= MPI_Win_NULL) & CALL MPI_Win_free(win_RCONST_1D, ierr) IF (win_ICNTRL_1D /= MPI_Win_NULL) & CALL MPI_Win_free(win_ICNTRL_1D, ierr) IF (win_RCNTRL_1D /= MPI_Win_NULL) & CALL MPI_Win_free(win_RCNTRL_1D, ierr) IF (win_ISTATUS_1D /= MPI_Win_NULL) & CALL MPI_Win_free(win_ISTATUS_1D, ierr) IF (win_RSTATE_1D /= MPI_Win_NULL) & CALL MPI_Win_free(win_RSTATE_1D, ierr) IF (win_cell_status /= MPI_Win_NULL) & CALL MPI_Win_free(win_cell_status, ierr) IF (win_next_cell_index /= MPI_Win_NULL)& CALL MPI_Win_free(win_next_cell_index, ierr) IF (shm_comm /= MPI_COMM_NULL) & CALL MPI_Comm_free(shm_comm, ierr) #endif ! MPI_LOAD_BALANCE END SUBROUTINE Cleanup_FullChem !EOC END MODULE FullChem_Mod ================================================ FILE: GeosCore/gc_environment_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: gc_environment_mod.F90 ! ! !DESCRIPTION: Module GC\_ENVIRONMENT\_MOD establishes the runtime ! environment for the GEOS-Chem. It is designed to receive model parameter ! and geophysical environment information and allocate memory based upon it. !\\ !\\ ! It provides routines to do the following: ! ! \begin{itemize} ! \item Allocate geo-spatial arrays ! \item Initialize met. field derived type. ! \item Initialize Chemistry, Metorology, Emissions, and Physics States ! \end{itemize} ! ! !INTERFACE: ! MODULE GC_Environment_Mod ! ! !USES ! USE Precision_Mod IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: GC_Allocate_All PUBLIC :: GC_Init_StateObj PUBLIC :: GC_Init_Grid PUBLIC :: GC_Init_Extra ! ! !PRIVATE MEMBER FUNCTIONS: ! #ifdef TOMAS PRIVATE :: INIT_TOMAS_MICROPHYSICS #endif ! ! !REMARKS: ! For consistency, we should probably move the met state initialization ! to the same module where the met state derived type is contained. ! ! !REVISION HISTORY: ! 26 Jan 2012 - M. Long - Created module file ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: gc_allocate_all ! ! !DESCRIPTION: Subroutine GC\_ALLOCATE\_ALL allocates all LAT/LON ! ALLOCATABLE arrays for global use by the GEOS-Chem either as a standalone ! program or module. !\\ !\\ ! !INTERFACE: ! SUBROUTINE GC_Allocate_All( Input_Opt, & State_Grid, RC, & value_I_LO, value_J_LO, & value_I_HI, value_J_HI, & value_IM, value_JM, & value_LM, & value_IM_WORLD, value_JM_WORLD, & value_LM_WORLD, value_LLSTRAT ) ! ! !USES: ! #ifdef FASTJX USE CMN_FJX_Mod, ONLY : Init_CMN_FJX #endif USE ErrCode_Mod USE Input_Opt_Mod USE State_Grid_Mod, ONLY : GrdState IMPLICIT NONE ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object INTEGER, OPTIONAL :: value_I_LO ! Min local lon index INTEGER, OPTIONAL :: value_J_LO ! Min local lat index INTEGER, OPTIONAL :: value_I_HI ! Max local lon index INTEGER, OPTIONAL :: value_J_HI ! Max local lat index INTEGER, OPTIONAL :: value_IM ! Local # of lons INTEGER, OPTIONAL :: value_JM ! Local # of lats INTEGER, OPTIONAL :: value_LM ! Local # of levels INTEGER, OPTIONAL :: value_IM_WORLD ! Global # of lons INTEGER, OPTIONAL :: value_JM_WORLD ! Global # of lats INTEGER, OPTIONAL :: value_LM_WORLD ! Global # of levels INTEGER, OPTIONAL :: value_LLSTRAT ! # of strat. levels ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input Options object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! For error checking, return up to the main routine w/ an error code. ! This can be improved upon later. ! ! !REVISION HISTORY: ! 26 Jan 2012 - M. Long - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC #ifdef MODEL_GEOS ! Integers INTEGER :: LLTROP #endif ! Strings INTEGER :: LLSTRAT CHARACTER(LEN=255) :: ErrMsg, ThisLoc !======================================================================= ! GC_Allocate_All begins here! !======================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = & ' -> at GC_Allocate_All (in module GeosCore/gc_environment_mod.F90)' #ifdef FASTJX ! Throw an error if FAST-JX is used for simulations other than Hg IF ( .not. Input_Opt%ITS_A_MERCURY_SIM ) THEN ErrMsg = 'FAST-JX is only supported in the Hg simulation!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Initialize CMN_FJX_mod.F90 CALL Init_CMN_FJX( Input_Opt,State_Grid, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered within call to "Init_CMN_FJX"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF #endif END SUBROUTINE GC_Allocate_All !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: gc_init_stateobj ! ! !DESCRIPTION: Subroutine GC\_INIT\_STATEOBJ initializes the top-level data ! structures that are either passed to/from GC or between GC components ! (emis->transport->chem->diagnostics->etc) !\\ !\\ ! !INTERFACE: ! SUBROUTINE GC_Init_StateObj( Diag_List, TaggedDiag_List, Input_Opt, & State_Chm, State_Diag, State_Grid, & State_Met, RC ) ! ! !USES: ! USE DiagList_Mod USE TaggedDiagList_Mod USE Diagnostics_Mod USE ErrCode_Mod USE Input_Opt_Mod USE State_Chm_Mod USE State_Grid_Mod USE State_Met_Mod USE State_Diag_Mod ! ! !INPUT PARAMETERS: ! TYPE(DgnList), INTENT(IN) :: Diag_List ! Diagnostics List TYPE(TaggedDgnList), INTENT(IN) :: TaggedDiag_List ! Tagged Diag List ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input Options TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State TYPE(GrdState), INTENT(INOUT) :: State_Grid ! Grid State TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REMARKS: ! Need to add better error checking, currently we just return upon error. ! ! !REVISION HISTORY: ! 26 Jan 2012 - M. Long - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=255) :: ErrMsg, ThisLoc !======================================================================= ! Initialize !======================================================================= ErrMsg = '' ThisLoc = ' -> at GC_Init_StateObj (in GeosCore/gc_environment_mod.F90)' !======================================================================= ! Initialize the Chemistry State object !======================================================================= CALL Init_State_Chm( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & TaggedDiag_List = TaggedDiag_List, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered within call to "Init_State_Chm"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !======================================================================= ! Initialize the Diagnostics State object !======================================================================= CALL Init_State_Diag( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & Diag_List = Diag_List, & TaggedDiag_List = TaggedDiag_List, & State_Diag = State_Diag, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered within call to "Init_State_Diag"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !======================================================================= ! Initialize the Meteorology State object !======================================================================= CALL Init_State_Met( Input_Opt = Input_Opt, & State_Grid = State_Grid, & State_Met = State_Met, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered within call to "Init_State_Met"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF END SUBROUTINE GC_Init_StateObj !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: gc_init_grid ! ! !DESCRIPTION: Subroutine GC\_INIT\_GRID calls routines from ! gc\_grid\_mod.F90 to initialize the horizontal grid parameters. !\\ !\\ ! !INTERFACE: ! SUBROUTINE GC_Init_Grid( Input_Opt, State_Grid, RC ) ! ! !USES: ! USE ErrCode_Mod #if !(defined( EXTERNAL_GRID ) || defined( EXTERNAL_FORCING )) USE GC_Grid_Mod, ONLY : Compute_Grid #endif USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : Allocate_State_Grid, Register_State_Grid USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(GrdState), INTENT(INOUT) :: State_Grid ! Grid State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! The module grid_mod.F90 has been modified to save grid parameters in 3D ! format, which will facilitate interfacing GEOS-Chem to a GCM. ! . ! The module global_grid_mod.F90 contains several of the global grid arrays ! (*_g) originally in grid_mod.F. These arrays are used in regridding GFED3 ! biomass emissions, which are available on a 0.5x0.5 global grid. The global ! arrays may need to be used in the future for regridding other emissions for ! nested grids. ! . ! !REVISION HISTORY: ! 01 Mar 2012 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=255) :: ErrMsg, ThisLoc !================================================================= ! Define inputs depending on the grid that is selected !================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = & ' -> at GC_Init_Grid (in module GeosCore/gc_environment_mod.F90)' !================================================================= ! Initialize the horizontal grid !================================================================= ! Allocate State_Grid arrays CALL Allocate_State_Grid( Input_Opt, State_Grid, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Allocate_State_Grid"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF #if !(defined( EXTERNAL_GRID ) || defined( EXTERNAL_FORCING )) ! Compute the grid centers & edges ! (skip if using an external model like GCHP or NASA/GEOS) CALL Compute_Grid( Input_Opt, State_Grid, RC) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Compute_Grid"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF #endif ! Register State_Grid arrays CALL Register_State_Grid( Input_Opt, State_Grid, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Register_State_Grid"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF END SUBROUTINE GC_Init_Grid !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: gc_init_extra ! ! !DESCRIPTION: Suborutine GC\_INIT\_EXTRA initializes other GEOS-Chem ! modules that have not been initialized in either GC\_Allocate\_All or ! GC\_Init\_all. !\\ !\\ ! !INTERFACE: ! SUBROUTINE GC_Init_Extra( Diag_List, Input_Opt, State_Chm, & State_Diag, State_Grid, State_Met, RC ) ! ! !USES: ! USE Aerosol_Mod, ONLY : Init_Aerosol USE Carbon_Mod, ONLY : Init_Carbon USE Carbon_Gases_Mod, ONLY : Init_Carbon_Gases USE Depo_Mercury_Mod, ONLY : Init_Depo_Mercury USE DiagList_Mod, ONLY : DgnList USE Drydep_Mod, ONLY : Init_Drydep USE Dust_Mod, ONLY : Init_Dust USE ErrCode_Mod USE Error_Mod, ONLY : Debug_Msg USE FullChem_Mod, ONLY : Init_FullChem USE Get_Ndep_Mod, ONLY : Init_Get_Ndep USE Input_Mod, ONLY : Do_Error_Checks USE Input_Opt_Mod, ONLY : OptInput USE Land_Mercury_Mod, ONLY : Init_Land_Mercury USE Mercury_Mod, ONLY : Init_Mercury USE Ocean_Mercury_Mod, ONLY : Init_Ocean_Mercury USE POPs_Mod, ONLY : Init_POPs USE Pressure_Mod, ONLY : Init_Pressure USE Seasalt_Mod, ONLY : Init_SeaSalt USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE Sulfate_Mod, ONLY : Init_Sulfate USE Tagged_O3_Mod, ONLY : Init_Tagged_O3 USE Vdiff_Mod, ONLY : Init_Vdiff USE WetScav_Mod, ONLY : Init_WetScav ! ! !INPUT PARAMETERS: ! TYPE(DgnList ), INTENT(IN) :: Diag_List ! Diagnostics list object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry state object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! Several of the INIT routines now called within GC_Init_Extra had ! originally been called from the Run method. We now gather these INIT ! routines here so that they may be called from the Initialization method. ! This is necessary when connecting GEOS-Chem to the GEOS-5 GCM via ESMF. ! . ! Also note: In the case of a GEOS-Chem dry-run simulation, we will call ! these initialization routines, but exit them before any arrays get ! allocated. This will help to reduce the amount of memory used. ! . ! !REVISION HISTORY: ! 04 Mar 2013 - R. Yantosca - Initial revision ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=255) :: ErrMsg, ThisLoc !======================================================================= ! GC_Init_Extra begins here! !======================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = & ' -> at GC_Init_Extra (in module GeosCore/gc_environment_mod.F90)' !======================================================================= ! Do some error checking before initializing modules !======================================================================= ! Make sure various input options are consistent with the ! species that are defined for the simulation CALL Do_Error_Checks( Input_Opt, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Do_Error_Checks"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !======================================================================= ! Initialize the hybrid pressure module. Define Ap and Bp. !======================================================================= CALL Init_Pressure( Input_Opt, State_Grid, State_Met, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Init_Pressure"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !======================================================================= ! Call setup routines for drydep !======================================================================= IF ( Input_Opt%LDRYD ) THEN ! Setup for dry deposition CALL Init_DryDep( Input_Opt, State_Chm, State_Diag, State_Grid, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Init_Drydep"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !======================================================================= ! Initialize "aerosol_mod.F90" (move here for dry-run) !======================================================================= IF ( Input_Opt%ITS_A_FULLCHEM_SIM .or. & Input_Opt%ITS_AN_AEROSOL_SIM ) THEN CALL Init_Aerosol( Input_Opt, State_Chm, State_Diag, State_Grid, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Init_Aerosol"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF ! Exit for dry-run simulations IF ( Input_Opt%DryRun ) RETURN !================================================================= ! Call setup routines for wetdep ! ! We need to initialize the wetdep module if either wet ! deposition or convection is turned on, so that we can do the ! large-scale and convective scavenging. Also initialize the ! wetdep module if both wetdep and convection are turned off, ! but chemistry is turned on. The INIT_WETSCAV routine will also ! allocate the H2O2s and SO2s arrays that are referenced in the ! convection code. (bmy, 9/23/15) !================================================================= IF ( Input_Opt%LCONV .or. & Input_Opt%LWETD .or. & Input_Opt%LCHEM ) THEN CALL Init_WetScav( Input_Opt, State_Chm, State_Diag, State_Grid, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Init_Wetscav"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !================================================================= ! Call setup routines from other F90 modules !================================================================= !----------------------------------------------------------------- ! Call Init_VDIFF so that we can pass several values from ! Input_Opt to the vdiff_mod.F90. This has to be called ! after the geoschem_config.yml file has been read from disk. !----------------------------------------------------------------- IF ( Input_Opt%LTURB .and. Input_Opt%LNLPBL ) THEN CALL Init_Vdiff( Input_Opt, State_Chm, State_Grid, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Init_Vdiff"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !----------------------------------------------------------------- ! Initialize the GET_NDEP_MOD for soil NOx deposition (bmy, 6/17/16) !----------------------------------------------------------------- CALL Init_Get_Ndep( Input_Opt, State_Chm, State_Diag, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Init_Get_Ndep"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !----------------------------------------------------------------- ! Initialize "carbon_mod.F90" !----------------------------------------------------------------- IF ( Input_Opt%LCARB ) THEN CALL Init_Carbon( Input_Opt, State_Chm, State_Diag, State_Grid, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in ""!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !----------------------------------------------------------------- ! Initialize "dust_mod.F90" !----------------------------------------------------------------- IF ( Input_Opt%LDUST ) then CALL Init_Dust( Input_Opt, State_Chm, State_Diag, State_Grid, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Init_Dust"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !----------------------------------------------------------------- ! Initialize "seasalt_mod.F90" !----------------------------------------------------------------- IF ( Input_Opt%LSSALT ) THEN CALL Init_Seasalt( Input_Opt, State_Chm, State_Diag, State_Grid, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Init_Seasalt"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !----------------------------------------------------------------- ! Initialize "sulfate_mod.F90" !----------------------------------------------------------------- IF ( Input_Opt%LSULF ) THEN CALL Init_Sulfate( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Init_Sulfate"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !================================================================= ! Initialize simulation modules here !================================================================= !----------------------------------------------------------------- ! Fullchem via KPP !----------------------------------------------------------------- IF ( Input_Opt%ITS_A_FULLCHEM_SIM ) THEN CALL Init_FullChem( Input_Opt, State_Chm, State_Diag, State_Grid, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Init_FullChem"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !----------------------------------------------------------------- ! Carbon gases via KPP !----------------------------------------------------------------- IF ( Input_Opt%ITS_A_CARBON_SIM ) THEN CALL Init_Carbon_Gases( Input_Opt, State_Chm, State_Diag, & State_Grid, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Init_Carbon_Gases"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !----------------------------------------------------------------- ! Mercury via KPP !----------------------------------------------------------------- IF ( Input_Opt%ITS_A_MERCURY_SIM ) THEN ! Main mercury module CALL Init_Mercury( Input_Opt, State_Grid, State_Chm, & State_Diag, State_Met, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Init_Mercury"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Land mercury module CALL Init_Land_Mercury( Input_Opt, State_Chm, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Init_Land_Mercury"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Mercury deposition module CALL Init_Depo_Mercury( Input_Opt, State_Chm, State_Grid, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Init_Depo_Mercury"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Ocean mercury module CALL Init_Ocean_Mercury( Input_Opt, State_Chm, State_Grid, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Init_Ocean_Mercury"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !----------------------------------------------------------------- ! Tagged O3 !----------------------------------------------------------------- IF ( Input_Opt%ITS_A_TAGO3_SIM ) THEN CALL Init_Tagged_O3( Input_Opt, State_Chm, State_Diag, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Init_Tagged_O3"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF #ifdef TOMAS !----------------------------------------------------------------- ! TOMAS !----------------------------------------------------------------- ! Initialize the TOMAS microphysics package, if necessary CALL Init_Tomas_Microphysics( Input_Opt, State_Chm, State_Grid, RC ) #endif !----------------------------------------------------------------- ! POPs !----------------------------------------------------------------- IF ( Input_Opt%ITS_A_POPS_SIM ) THEN CALL Init_POPs( Input_Opt, State_Chm, State_Grid, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Init_POPs"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF IF ( Input_Opt%Verbose ) CALL DEBUG_MSG( '### a GC_INIT_EXTRA' ) END SUBROUTINE GC_Init_Extra !EOC #ifdef TOMAS !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: init_tomas_microphysics ! ! !DESCRIPTION: Subroutine INIT\_TOMAS\_MICROPHYS will initialize the ! TOMAS microphysics package. This replaces the former subroutine ! READ\_MICROPHYSICS\_MENU. !\\ !\\ ! !INTERFACE: ! SUBROUTINE INIT_TOMAS_MICROPHYSICS( Input_Opt, State_Chm, State_Grid, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Chm_Mod, ONLY : Ind_ USE State_Grid_Mod, ONLY : GrdState USE TOMAS_MOD, ONLY : INIT_TOMAS ! ! !INPUT PARAMETERS: ! TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input options ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REMARKS: ! We now invoke TOMAS by compiling GEOS-Chem and setting either the TOMAS=yes ! (30 bins, default) or TOMAS40=yes (40 bins, optional) switches. The old ! LTOMAS logical switch is now obsolete because all of the TOMAS code is ! segregated from the rest of GEOS-Chem with #ifdef blocks. Therefore, ! we no longer need to read the microphysics menu, but we still need to ! apply some error checks and then call INIT_TOMAS. (bmy, 4/23/13) ! . ! The Ind_() function now defines all species ID's. It returns -1 if ! a species cannot be found. The prior behavior was to return 0 if a ! species wasn't found. Therefore, in order to preserve the logic of the ! error checks, we must force any -1's returned by Ind_() to 0's in ! this subroutine. ! ! !REVISION HISTORY: ! 20 Jul 2004 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N, I ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc !================================================================= ! INIT_TOMAS_MICROPHYSICS begins here! !================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Init_Tomas_Microphysics (in GeosCore/gc_environment_mod.F90)' ! Exit if this is a dry-run IF ( Input_Opt%DryRun) RETURN ! Halt with error if we are trying to run TOMAS in a simulation ! that does not have any defined aerosols ! Turn off switches for simulations that don't use microphysics IF ( ( .not. Input_Opt%ITS_A_FULLCHEM_SIM ) .and. & ( .not. Input_Opt%ITS_AN_AEROSOL_SIM ) ) THEN ErrMsg = 'TOMAS needs to run with either a full-chemistry ' // & 'or offline aerosol simulation!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Halt with error if none of the TOMAS aerosol species are defined I = MAX( Ind_('NK01' ,'A'), 0 ) & + MAX( Ind_('SF01' ,'A'), 0 ) & + MAX( Ind_('SS01' ,'A'), 0 ) & + MAX( Ind_('ECOB01','A'), 0 ) & + MAX( Ind_('ECIL01','A'), 0 ) & + MAX( Ind_('OCOB01','A'), 0 ) & + MAX( Ind_('OCIL01','A'), 0 ) & + MAX( Ind_('DUST01','A'), 0 ) IF ( I == 0 ) THEN ErrMsg = 'None of the TOMAS aerosols are defined!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Halt with error if sulfate aerosols are not defined IF( Ind_('SF01') > 0 .and. ( .not. Input_Opt%LSULF ) ) THEN ErrMsg = 'Need LSULF on for TOMAS-Sulfate to work (for now)' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Halt with error if carbonaceous aerosols are not defined I = MAX( Ind_('ECOB01','A'), 0 ) & + MAX( Ind_('ECIL01','A'), 0 ) & + MAX( Ind_('OCOB01','A'), 0 ) & + MAX( Ind_('OCIL01','A'), 0 ) IF ( I > 0 .and. (.not. Input_Opt%LCARB ) ) THEN ErrMsg = 'Need LCARB on for TOMAS-carb to work (for now)' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !================================================================= ! All error checks are satisfied, so initialize TOMAS !================================================================= CALL INIT_TOMAS( Input_Opt, State_Chm, State_Grid, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Init_TOMAS"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF END SUBROUTINE INIT_TOMAS_MICROPHYSICS !EOC #endif END MODULE GC_Environment_Mod ================================================ FILE: GeosCore/get_met_mod.F90 ================================================ #if defined( MODEL_CLASSIC ) !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: get_met_mod.F90 ! ! !DESCRIPTION: Module GET\_MET\_MOD contains variables and routines for ! reading the meteorological data, from the HEMCO data structure. !\\ !\\ ! !INTERFACE: MODULE Get_Met_Mod ! ! !USES: ! USE Precision_Mod ! For GEOS-Chem Precision (fp) IMPLICIT NONE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: Get_Met_2D PUBLIC :: Get_Met_3D PUBLIC :: Get_Met_3De ! ! !REMARKS: ! ! !REVISION HISTORY: ! 04 Mar 2016 - J.W.Zhuang - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_Met_2D ! ! !DESCRIPTION: Copies the 2D met data from the HEMCO data structure !\\ !\\ ! !INTERFACE: ! SUBROUTINE Get_Met_2D( Input_Opt, State_Grid, Q, v_name, t_index ) ! ! !USES: ! USE ErrCode_Mod USE Error_Mod, ONLY : Error_Stop USE HCO_State_GC_Mod, ONLY : HcoState USE HCO_Utilities_GC_Mod, ONLY : HCO_GC_GetPtr USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState ! ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input options TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object CHARACTER(LEN=*),INTENT(IN) :: v_name ! netCDF variable name INTEGER, INTENT(IN), OPTIONAL :: t_index ! Time index(default=1) ! ! !OUTPUT PARAMETERS: ! REAL(f4), INTENT(OUT) :: Q(State_Grid%NX, & ! Temporary State_Grid%NY) ! data array ! ! !REVISION HISTORY: ! 04 Mar 2016 - J.W.Zhuang - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: T LOGICAL :: FND INTEGER :: RC ! Success or failure? ! Pointers REAL(f4), POINTER :: Ptr2D(:,:) !======================================================================= ! Get_Met_2D begins here! !======================================================================= ! Assume success RC = GC_SUCCESS ! Nullify pointer Ptr2D => NULL() ! Define time index to use IF ( PRESENT(t_index) ) THEN T = t_index ELSE T = 1 ENDIF ! Get the pointer to the data in the HEMCO data structure CALL HCO_GC_GetPtr( Input_Opt, State_Grid, v_name, Ptr2D, RC, TIDX=T, FOUND=FND ) ! Stop with error message IF ( RC /= GC_SUCCESS .or. ( .not. FND ) ) THEN CALL ERROR_STOP (trim('Could not find '//v_name//' in HEMCO data list!'), & 'GET_MET_2D (get_met_mod.F90)' ) ENDIF ! transfer to output array Q = Ptr2D(:,:) ! Free the pointer Ptr2D => NULL() END SUBROUTINE Get_Met_2D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_Met_3D ! ! !DESCRIPTION: Copies the 3D met data from the HEMCO data structure !\\ !\\ ! !INTERFACE: ! SUBROUTINE Get_Met_3D( Input_Opt, State_Grid, Q, v_name, t_index ) ! ! !USES: ! USE ErrCode_Mod USE Error_Mod, ONLY : Error_Stop USE HCO_State_GC_Mod, ONLY : HcoState USE HCO_Utilities_GC_Mod, ONLY : HCO_GC_GetPtr USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState ! ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN ) :: Input_Opt ! Input options TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object CHARACTER(LEN=*), INTENT(IN) :: v_name ! netCDF variable name INTEGER, INTENT(IN), OPTIONAL :: t_index ! Time index(default=1) ! ! !OUTPUT PARAMETERS: ! REAL(f4), INTENT(OUT) :: Q(State_Grid%NX, & ! Temporary State_Grid%NY, & ! data array State_Grid%NZ) ! ! !REVISION HISTORY: ! 04 Mar 2016 - J.W.Zhuang - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: T LOGICAL :: FND INTEGER :: RC ! Success or failure? ! Pointers REAL(f4), POINTER :: Ptr3D(:,:,:) !======================================================================= ! Get_Met_3D begins here! !======================================================================= ! Assume success RC = GC_SUCCESS ! Nullify pointer Ptr3D => NULL() ! Define time index to use IF ( PRESENT(t_index) ) THEN T = t_index ELSE T = 1 ENDIF ! Get the pointer to the data in the HEMCO data structure CALL HCO_GC_GetPtr( Input_Opt, State_Grid, v_name, Ptr3D, RC, TIDX=T, FOUND=FND ) ! Stop with error message IF ( RC /= GC_SUCCESS .or. ( .not. FND ) ) THEN CALL ERROR_STOP (trim('Could not find '//v_name//' in HEMCO data list!'), & 'GET_MET_3D (get_met_mod.F90)' ) ENDIF ! transfer to output array Q = Ptr3D(:,:,:) ! Free the pointer Ptr3D => NULL() END SUBROUTINE Get_Met_3D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_Met_3De ! ! !DESCRIPTION: Copies the 3D met data on edges from the HEMCO data structure !\\ !\\ ! !INTERFACE: ! SUBROUTINE Get_Met_3De( Input_Opt, State_Grid, Q, v_name, t_index ) ! ! !USES: ! USE ErrCode_Mod USE Error_Mod, ONLY : Error_Stop USE HCO_State_GC_Mod, ONLY : HcoState USE HCO_Utilities_GC_Mod, ONLY : HCO_GC_GetPtr USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState ! ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN ) :: Input_Opt ! Input options TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object CHARACTER(LEN=*),INTENT(IN) :: v_name ! netCDF variable name INTEGER, INTENT(IN), OPTIONAL :: t_index ! Time index(default=1) ! ! !OUTPUT PARAMETERS: ! REAL(f4), INTENT(OUT) :: Q(State_Grid%NX, & ! Temporary State_Grid%NY, & ! data array State_Grid%NZ+1) ! ! !REVISION HISTORY: ! 04 Mar 2016 - J.W.Zhuang - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: T LOGICAL :: FND INTEGER :: RC ! Success or failure? ! Pointers REAL(f4), POINTER :: Ptr3D(:,:,:) !======================================================================= ! Get_Met_3De begins here! !======================================================================= ! Assume success RC = GC_SUCCESS ! Nullify pointer Ptr3D => NULL() ! Define time index to use IF ( PRESENT(t_index) ) THEN T = t_index ELSE T = 1 ENDIF ! Get the pointer to the data in the HEMCO data structure CALL HCO_GC_GetPtr( Input_Opt, State_Grid, v_name, Ptr3D, RC, TIDX=T, FOUND=FND ) ! Stop with error message IF ( RC /= GC_SUCCESS .or. ( .not. FND ) ) THEN CALL ERROR_STOP (trim('Could not find '//v_name//' in HEMCO data list!'), & 'GET_MET_3De (get_met_mod.F90)' ) ENDIF ! transfer to output array Q = Ptr3D(:,:,:) ! Free the pointer Ptr3D => NULL() END SUBROUTINE Get_Met_3De !EOC END MODULE Get_Met_Mod #endif ================================================ FILE: GeosCore/get_ndep_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: get_ndep_mod.F90 ! ! !DESCRIPTION: Module GET\_NDEP\_MOD contains routines for computing the ! accumulated nitrogen dry and wet deposition between emission time steps. ! These variables are needed for soil NOx emission calculations. !\\ !\\ ! This module is basically a simple wrapper module to save out the nitrogen ! dry and wet deposition rates and pass them to HEMCO for soil NOx emission ! calculation (via hcoi\_gc\_main\_mod.F90). !\\ !\\ ! IMPORTANT: Routine RESET\_DEP\_N resets the deposition arrays to zero. It ! is called in hcoi\_gc\_main\_mod.F90 after the emission calculations. !\\ !\\ ! !INTERFACE: ! MODULE GET_NDEP_MOD ! ! !USES: ! USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: SOIL_DRYDEP PUBLIC :: SOIL_WETDEP PUBLIC :: RESET_DEP_N PUBLIC :: Init_Get_Ndep ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! REAL(fp), PARAMETER :: CONVHNO3 = 0.222_fp ! MWN/MWHNO3 REAL(fp), PARAMETER :: CONVNH4 = 0.777_fp ! MWN/MWNH4 REAL(fp), PARAMETER :: CONVNH3 = 0.823_fp ! MWN/MWNH3 REAL(fp), PARAMETER :: CONVNIT = 0.226_fp ! MWN/MWNIT ! ! !LOCAL VARAIABLES: ! ! Species ID flags (formerly in tracerid_mod.F) INTEGER :: id_HNO3 INTEGER :: id_NH3 INTEGER :: id_NH4 INTEGER :: id_NH4aq INTEGER :: id_NIT INTEGER :: id_NITs INTEGER :: id_NO2 INTEGER :: id_PAN CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !ROUTINE: soil_drydep ! ! !DESCRIPTION: Subroutine SOIL\_DRYDEP holds dry deposited species ! [molec/cm2/s]. This is called from dry\_dep\_mod.F. !\\ !\\ ! !INTERFACE: ! SUBROUTINE SOIL_DRYDEP( I, J, NN, TDRYFX, State_Chm ) ! ! !USES: ! USE State_Chm_Mod, ONLY : ChmState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I ! I INTEGER, INTENT(IN) :: J ! J INTEGER, INTENT(IN) :: NN ! Dry Dep Tracer # REAL(fp), INTENT(IN) :: TDRYFX ! Dry dep flux [molec/cm2/s] ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! Update the reservoir if it's a nitrogen species IF ( NN == id_NO2 .OR. NN == id_PAN .OR. & NN == id_HNO3 .OR. NN == id_NH3 .OR. & NN == id_NH4 .OR. NN == id_NH4aq .OR. & NN == id_NIT .OR. NN == id_NITs ) THEN !$OMP CRITICAL State_Chm%DryDepNitrogen(I,J) = State_Chm%DryDepNitrogen(I,J) + TDRYFX !$OMP END CRITICAL ENDIF END SUBROUTINE SOIL_DRYDEP !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !ROUTINE: soil_wetdep ! ! !DESCRIPTION: Subroutine SOIL\_WETDEP holds wet deposited species ! [molec/cm2/s]. This is called from wetscav\_mod.F. !\\ !\\ ! !INTERFACE: ! SUBROUTINE SOIL_WETDEP( I, J, NN, TWETFX, State_Chm ) ! ! !USES: ! USE State_Chm_Mod, ONLY : ChmState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I ! I INTEGER, INTENT(IN) :: J ! J INTEGER, INTENT(IN) :: NN ! Wet Dep Tracer # REAL(fp), INTENT(IN) :: TWETFX ! Wet dep flux [kg/s] ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! ckeller (14/04/02) REAL(fp) :: SCAL ! ckeller (14/04/02) SCAL = 0e+0_fp IF ( NN == id_HNO3 ) SCAL = CONVHNO3 IF ( NN == id_NH3 ) SCAL = CONVNH3 IF ( NN == id_NH4 ) SCAL = CONVNH4 IF ( NN == id_NH4aq ) SCAL = CONVNH4 IF ( NN == id_NIT ) SCAL = CONVNIT IF ( NN == id_NITs ) SCAL = CONVNIT IF ( SCAL > 0e+0_fp ) THEN State_Chm%WetDepNitrogen(I,J) = State_Chm%WetDepNitrogen(I,J) + & ( TWETFX * SCAL ) ENDIF END SUBROUTINE SOIL_WETDEP !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !ROUTINE: reset_dep_N ! ! !DESCRIPTION: Subroutine RESET\_DEP\_N resets the dry and wet deposition ! arrays and variables so that they can be refilled. !\\ !\\ ! !INTERFACE: ! SUBROUTINE RESET_DEP_N( State_Chm ) ! ! !USES: ! USE State_Chm_Mod, ONLY : ChmState ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !REVISION HISTORY: ! 03 Apr 2014 - C. Keller - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! Reset all variables State_Chm%DryDepNitrogen = 0e+0_fp State_Chm%WetDepNitrogen = 0e+0_fp END SUBROUTINE RESET_DEP_N !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_Get_Ndep ! ! !DESCRIPTION: Routine INIT\_GET\_NDEP allocates all module arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_Get_Ndep( Input_Opt, State_Chm, State_Diag, RC ) ! ! !USES: ! USE ErrCode_Mod USE State_Chm_Mod, ONLY : Ind_ USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REVISION HISTORY: ! 25 Jul 2014 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! Initialize RC = GC_SUCCESS ! Exit immediately if it's a dry-run IF ( Input_Opt%DryRun ) RETURN ! Define species ID flags id_HNO3 = Ind_('HNO3' ) id_NH3 = Ind_('NH3' ) id_NH4 = Ind_('NH4' ) id_NH4aq = Ind_('NH4aq') id_NIT = Ind_('NIT' ) id_NITs = Ind_('NITs' ) id_NO2 = Ind_('NO2' ) id_PAN = Ind_('PAN' ) END SUBROUTINE Init_Get_Ndep !EOC END MODULE GET_NDEP_MOD ================================================ FILE: GeosCore/global_br_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: global_Br_mod.F90 ! ! !DESCRIPTION: Module GLOBAL\_Br\_MOD contains variables and routines for ! storing the global monthly mean Br concentration evaluated from HEMCO. !\\ !\\ ! !INTERFACE: ! MODULE GLOBAL_Br_MOD ! ! !USES: ! USE PRECISION_MOD ! For GEOS-Chem Precision (fp, f4, f8) IMPLICIT NONE PRIVATE ! ! !PUBLIC DATA MEMBERS: ! ! Array to store global monthly mean BR field REAL(fp), PUBLIC, ALLOCATABLE :: BR_TROP(:,:,:) REAL(fp), PUBLIC, ALLOCATABLE :: BR_STRAT(:,:,:) REAL(fp), PUBLIC, ALLOCATABLE :: BR_MERGE(:,:,:) ! Array to store global monthly mean BrO field REAL(fp), PUBLIC, ALLOCATABLE :: BRO_TROP(:,:,:) REAL(fp), PUBLIC, ALLOCATABLE :: BRO_STRAT(:,:,:) REAL(fp), PUBLIC, ALLOCATABLE :: BRO_MERGE(:,:,:) ! Array to store global monthly J-BrO field REAL(fp), PUBLIC, ALLOCATABLE :: J_BRO(:,:,:) ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: GET_GLOBAL_Br PUBLIC :: INIT_GLOBAL_Br PUBLIC :: CLEANUP_GLOBAL_Br ! ! !REMARKS: ! References: ! (1 ) Holmes, C. D., et al. (2006), Global lifetime of elemental mercury ! against oxidation by atomic bromine in the free troposphere, Geophys. ! Res. Lett., 33(20). ! (2 ) Holmes, C.D., et al. (2010) Global atmospheric model for mercury ! including oxidation by bromine atoms, AC&P, 10, 12,037-12,057. ! (3 ) Parrella, J. et al. (2012), Tropospheric bromine chemistry: ! implications for present and pre-industrial ozone and mercury, ACP. ! ! !REVISION HISTORY: ! 05 Jul 2006 - C. Holmes - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: get_global_Br ! ! !DESCRIPTION: Subroutine GET\_GLOBAL\_Br evaluates global Br from ! data stored in HEMCO, including application of any masks or scaling ! set in the HEMCO configuration file. This Br data is needed as oxidant ! for mercury chemistry. !\\ !\\ ! !INTERFACE: ! SUBROUTINE GET_GLOBAL_Br( Input_Opt, State_Grid, State_Met, THISMONTH, RC ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD, ONLY : ERROR_STOP USE HCO_Utilities_GC_Mod, ONLY : HCO_GC_EvalFld USE Input_Opt_Mod, ONLY : OptInput USE OCEAN_MERCURY_MOD, ONLY : LGCBROMINE !eds 4/19/12 USE State_Met_Mod, ONLY : MetState USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object INTEGER, INTENT(IN) :: THISMONTH ! Current month TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 05 Jul 2006 - C. Holmes - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I, J, L INTEGER :: TPL LOGICAL, SAVE :: FIRST = .TRUE. ! Strings CHARACTER(LEN=255) :: ErrMsg CHARACTER(LEN=255) :: ThisLoc !================================================================= ! GET_GLOBAL_BR begins here! !================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at GET_GLOBAL_Br (in GeosCore/global_br_mod.F)' ! Allocate BR array, if this is the first call IF ( FIRST ) THEN ! Initialize arrays CALL INIT_GLOBAL_BR( State_Grid, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in call to "INIT_GLOBAL_BR"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Reset first-time flag FIRST = .FALSE. ENDIF IF ( LGCBROMINE ) THEN !----------------------------------------------------------------- ! Evaluate Br_GC from GEOS-Chem to set Br_MERGE (trop+strat) !----------------------------------------------------------------- CALL HCO_GC_EvalFld( Input_Opt, State_Grid, 'Br_GC', Br_MERGE, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not find Br_GC in HEMCO data list!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Convert v/v -> pptv Br_MERGE = Br_MERGE * 1e+12_fp !----------------------------------------------------------------- ! Evaluate BrO_GC from GEOS-Chem to set BrO_MERGE (trop+strat) !----------------------------------------------------------------- CALL HCO_GC_EvalFld( Input_Opt, State_Grid, 'BrO_GC', BrO_MERGE, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not find BrO_GC in HEMCO data list!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Convert v/v -> pptv BrO_MERGE = BrO_MERGE * 1e+12_fp ELSE !----------------------------------------------------------------- ! Evaluate Br from pTOMCAT biogenic bromocarbons [pptv] !----------------------------------------------------------------- CALL HCO_GC_EvalFld( Input_Opt, State_Grid, 'Br_TOMCAT', Br_TROP, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not find Br_TOMCAT in HEMCO data list!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !----------------------------------------------------------------- ! Evaluate BrO from pTOMCAT biogenic bromocarbons [pptv] !----------------------------------------------------------------- CALL HCO_GC_EvalFld( Input_Opt, State_Grid, 'BrO_TOMCAT', Br_TROP, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not find BrO_TOMCAT in HEMCO data list!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !----------------------------------------------------------------- ! Evaluate Br from GMI for stratosphere [pptv] !----------------------------------------------------------------- CALL HCO_GC_EvalFld( Input_Opt, State_Grid, 'Br_GMI', Br_STRAT, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not find Br_GMI in HEMCO data list!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !----------------------------------------------------------------- ! Evaluate BrO from GMI for stratosphere [pptv] !----------------------------------------------------------------- CALL HCO_GC_EvalFld( Input_Opt, State_Grid, 'BrO_GMI', BrO_STRAT, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not find BrO_GMI in HEMCO data list!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !----------------------------------------------------------------- ! Use pTOMCAT exclusively in the troposphere. ! In the stratosphere, use the greater value from either COMBO or ! the tropospheric model. COMBO source gases include CH3Br and ! halons, while pTOMCAT includes CH3Br and shorter-lived gases. !----------------------------------------------------------------- BR_MERGE = BR_TROP BRO_MERGE = BRO_TROP !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, TPL ) DO J=1, State_Grid%NY DO I=1, State_Grid%NX ! First layer in the stratosphere TPL = State_Met%TropLev(I,J) BR_MERGE(I,J,TPL:State_Grid%NZ) = MERGE( & BR_STRAT(I,J,TPL:State_Grid%NZ), & BR_TROP(I,J,TPL:State_Grid%NZ), & MASK = BR_STRAT(I,J,TPL:State_Grid%NZ) > & BR_TROP(I,J,TPL:State_Grid%NZ) ) BRO_MERGE(I,J,TPL:State_Grid%NZ) = MERGE( & BRO_STRAT(I,J,TPL:State_Grid%NZ), & BRO_TROP(I,J,TPL:State_Grid%NZ), & MASK = BR_STRAT(I,J,TPL:State_Grid%NZ) > & BR_TROP(I,J,TPL:State_Grid%NZ) ) ENDDO ENDDO !$OMP END PARALLEL DO ENDIF !----------------------------------------------------------------- ! Evaluate J_BrO !----------------------------------------------------------------- CALL HCO_GC_EvalFld( Input_Opt, State_Grid, 'JBrO', J_BrO, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not find JBrO in HEMCO data list!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Only set values up to max chemistry level IF ( State_Met%MaxChemLev < State_Grid%NZ ) THEN J_BrO(:,:,State_Met%MaxChemLev+1:State_Grid%NZ) = 0e+0_fp ENDIF END SUBROUTINE GET_GLOBAL_Br !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: init_global_Br ! ! !DESCRIPTION: Subroutine INIT\_GLOBAL\_Br allocates and zeroes all ! module arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE INIT_GLOBAL_Br( State_Grid, RC ) ! ! !USES: ! USE ErrCode_Mod USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 05 Jul 2006 - C. Holmes - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc !================================================================= ! INIT_GLOBAL_BR begins here! !================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Init_Global_Br (in module GeosCore/global_br_mod.F90)' !------------------------------------- ! Br Arrays !------------------------------------- ! Allocate BR_TROP array ALLOCATE( BR_TROP( State_Grid%NX, State_Grid%NY, State_Grid%NZ ), & STAT=RC ) CALL GC_CheckVar( 'global_br_mod.F:BR_TROP', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN BR_TROP = 0e+0_fp ! Allocate BR_STRAT array ALLOCATE( BR_STRAT( State_Grid%NX, State_Grid%NY, State_Grid%NZ ), & STAT=RC ) CALL GC_CheckVar( 'global_br_mod.F:BR_STRAT', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN BR_STRAT = 0e+0_fp ! Allocate BR_MERGE array ALLOCATE( BR_MERGE( State_Grid%NX, State_Grid%NY, State_Grid%NZ ), & STAT=RC ) CALL GC_CheckVar( 'global_br_mod.F:BR_MERGE', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN BR_MERGE = 0e+0_fp !------------------------------------- ! BrO Arrays !------------------------------------- ! Allocate J_BrO array ALLOCATE( J_BrO( State_Grid%NX, State_Grid%NY, State_Grid%NZ ), & STAT=RC ) CALL GC_CheckVar( 'global_br_mod.F:J_BrO', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN J_BrO = 0e+0_fp ! Allocate BrO_TROP array ALLOCATE( BrO_TROP( State_Grid%NX, State_Grid%NY, State_Grid%NZ ), & STAT=RC ) CALL GC_CheckVar( 'global_br_mod.F:BRO_TROP', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN BrO_TROP = 0e+0_fp ! Allocate BrO_STRAT array ALLOCATE( BrO_STRAT( State_Grid%NX, State_Grid%NY, State_Grid%NZ), & STAT=RC ) CALL GC_CheckVar( 'global_br_mod.F:BRO_STRAT', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN BrO_STRAT = 0e+0_fp ! Allocate BrO_MERGE array ALLOCATE( BrO_MERGE( State_Grid%NX, State_Grid%NY, State_Grid%NZ), & STAT=RC ) CALL GC_CheckVar( 'global_br_mod.F:BrO_MERGE', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN BrO_MERGE = 0e+0_fp END SUBROUTINE INIT_GLOBAL_BR !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: cleanup_global_Br ! ! !DESCRIPTION: Subroutine CLEANUP\_GLOBAL\_Br deallocates module arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CLEANUP_GLOBAL_Br( RC ) ! ! !USES: ! USE ErrCode_Mod ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 05 Jul 2006 - C. Holmes - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! Assume success RC = GC_SUCCESS ! Deallocate variables IF ( ALLOCATED( Br_TROP ) ) THEN DEALLOCATE( Br_TROP, STAT=RC ) CALL GC_CheckVar( 'global_br_mod.F90:Br_TROP', 2, RC ) RETURN ENDIF IF ( ALLOCATED( Br_STRAT ) ) THEN DEALLOCATE( Br_STRAT, STAT=RC ) CALL GC_CheckVar( 'global_br_mod.F90:Br_STRAT', 2, RC ) RETURN ENDIF IF ( ALLOCATED( Br_MERGE ) ) THEN DEALLOCATE( Br_MERGE , STAT=RC ) CALL GC_CheckVar( 'global_br_mod.F90:Br_MERGE ', 2, RC ) RETURN ENDIF IF ( ALLOCATED( J_BrO ) ) THEN DEALLOCATE( J_BrO, STAT=RC ) CALL GC_CheckVar( 'global_br_mod.F90:J_BrO', 2, RC ) RETURN ENDIF IF ( ALLOCATED( BrO_TROP ) ) THEN DEALLOCATE( BrO_TROP, STAT=RC ) CALL GC_CheckVar( 'global_br_mod.F90:BrO_TROP', 2, RC ) RETURN ENDIF IF ( ALLOCATED( BrO_STRAT ) ) THEN DEALLOCATE( BrO_STRAT, STAT=RC ) CALL GC_CheckVar( 'global_br_mod.F90:BrO_STRAT', 2, RC ) RETURN ENDIF IF ( ALLOCATED( BrO_MERGE ) ) THEN DEALLOCATE( BrO_MERGE , STAT=RC ) CALL GC_CheckVar( 'global_br_mod.F90:BrO_MERGE ', 2, RC ) RETURN ENDIF END SUBROUTINE CLEANUP_GLOBAL_Br !EOC END MODULE GLOBAL_Br_MOD ================================================ FILE: GeosCore/gosat_ch4_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: gosat_ch4_mod.F90 ! ! !DESCRIPTION: Module GOSAT\_CH4\_MOD !\\ !\\ ! !INTERFACE: ! MODULE GOSAT_CH4_MOD ! ! !USES: ! USE m_netcdf_io_open ! netCDF open USE m_netcdf_io_get_dimlen ! netCDF dimension queries USE m_netcdf_io_read ! netCDF data reads USE m_netcdf_io_close ! netCDF close USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: CALC_GOSAT_CH4_FORCE ! ! !REVISION HISTORY: ! 16 Jun 2017 - M. Sulprizio- Initial version based on GOSAT CH4 observation ! operator from GC Adjoint v35j with updates from ! M. Sulprizio, J.D. Maasakkers, A. Turner, and ! K. Wecht ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! INTEGER, PARAMETER :: MAXLEV = 20 INTEGER, PARAMETER :: MAXGOS = 100000 INTEGER, PARAMETER :: NT_FD = 335 !1055 ! Index for the FD test REAL(fp), PARAMETER :: GC_XCH4_ERROR = 0e+0_fp !ppb REAL(fp), PARAMETER :: PMAG = 1e+0_fp ! Perturbation magnitude (%) LOGICAL, PARAMETER :: LDCH4SAT = .TRUE. LOGICAL, PARAMETER :: EXT_OBS_MAT = .FALSE. ! Read external? ! ! !MODULE VARIABLES ! ! Record to store data from each GOS obs TYPE GOS_CH4_OBS INTEGER :: LGOS(1) REAL(fp) :: LAT(1) REAL(fp) :: LON(1) INTEGER :: YEAR(1) INTEGER :: MONTH(1) INTEGER :: DAY(1) INTEGER :: HOUR(1) INTEGER :: MINUTE(1) INTEGER :: SEC(1) REAL(fp) :: TIME(1) REAL(fp) :: CH4(1) REAL(fp) :: CH4_ERROR(1) REAL(fp) :: PRES(MAXLEV) REAL(fp) :: PRIOR(MAXLEV) REAL(fp) :: AVG_KERNEL(MAXLEV) REAL(fp) :: P_WEIGHT(MAXLEV) INTEGER :: QFLAG(1) INTEGER :: GLINT(1) INTEGER :: GAIN(1) CHARACTER(LEN=22) :: EXP_ID(1) ENDTYPE GOS_CH4_OBS TYPE(GOS_CH4_OBS) :: GOS(MAXGOS) CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: read_gos_ch4_obs ! ! !DESCRIPTION: Subroutine READ\_GOS\_CH4\_OBS reads the file and passes back ! info contained therein. (dkh, 10/12/10) !\\ !\\ ! !INTERFACE: ! SUBROUTINE READ_GOS_CH4_OBS( YYYYMMDD, NGOS ) ! ! !USES: ! USE TIME_MOD, ONLY : EXPAND_DATE USE ERROR_MOD, ONLY : ALLOC_ERR USE ERROR_MOD, ONLY : GEOS_CHEM_STOP USE TIME_MOD, ONLY : GET_YEAR ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: YYYYMMDD ! Current date ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: NGOS ! Number of GOS retrievals ! ! !REVISION HISTORY: ! (1 )Based on READ_TES_NH3 OBS (dkh, 04/26/10) ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: LGOS INTEGER :: N, J INTEGER :: YEAR CHARACTER(LEN=4) :: CYEAR LOGICAL :: EXIST_VAR REAL*4, ALLOCATABLE :: pres(:,:) REAL*4, ALLOCATABLE :: prior(:,:) REAL*4, ALLOCATABLE :: ak(:,:) REAL*4, ALLOCATABLE :: pres_w(:,:) REAL*4, ALLOCATABLE :: lat(:) REAL*4, ALLOCATABLE :: lon(:) REAL*4, ALLOCATABLE :: time(:) REAL*4, ALLOCATABLE :: xch4(:) REAL*4, ALLOCATABLE :: xch4_error(:) INTEGER, ALLOCATABLE :: qflag(:) INTEGER, ALLOCATABLE :: glint(:) INTEGER, ALLOCATABLE :: gain(:) CHARACTER(LEN=22),ALLOCATABLE :: exp_id(:) INTEGER :: NLEV, StrLen INTEGER :: I, L, AS ! For reading netCDF file INTEGER :: fId ! netCDF file ID INTEGER :: Status ! 0 means variable in file INTEGER :: X, Y, Z, T ! netCDF file dimensions INTEGER :: time_index ! Read this slice of data INTEGER :: st1d(1), ct1d(1) ! Start + count for 1D arrays INTEGER :: st2d(2), ct2d(2) ! Start + count for 2D arrays CHARACTER(LEN=16) :: stamp ! Time and date stamp CHARACTER(LEN=255) :: nc_file ! netCDF file name CHARACTER(LEN=255) :: v_name ! netCDF variable name CHARACTER(LEN=255) :: dir ! Data directory path CHARACTER(LEN=255) :: errMsg ! Error message CHARACTER(LEN=255) :: caller ! Name of this routine !================================================================= ! READ_GOS_CH4_OBS begins here! !================================================================= caller = 'READ_GOS_CH4_OBS in gosat_ch4_mod.F90' ! Get current year YEAR = GET_YEAR() WRITE( CYEAR, '(i4)' ) YEAR ! Filename nc_file = 'UoL-GHG-L2-CH4-GOSAT-OCPR-YYYYMMDD-fv9.0.nc' CALL Expand_Date( nc_file, YYYYMMDD, 9999 ) ! Construct complete file path dir = '/n/holylfs/LABS/jacob_lab/zhenqu/CH4_GOS_OCPR/' // CYEAR // '/' nc_file = TRIM( dir ) // TRIM( nc_file ) WRITE( 6, 10 ) TRIM( nc_file ) 10 FORMAT( ' - Reading ', a) ! Make sure the file exists (ajt, 03/31/2013) INQUIRE( FILE=TRIM( nc_file ), EXIST=EXIST_VAR ) IF ( .not. EXIST_VAR ) THEN NGOS = -1 RETURN ENDIF ! Open netCDF file CALL NcOp_Rd( fId, TRIM( nc_file ) ) ! Read the dimensions from the netCDF file CALL NcGet_DimLen( fId, 'm', NLEV ) CALL NcGet_DimLen( fId, 'n', NGOS ) CALL NcGet_DimLen( fId, 'string_length', StrLen ) IF ( NLEV > MAXLEV ) THEN print*,' # Levels this day = ', NLEV print*, 'WARNING: NLEV > MAXLEV. Need to increase' print*, ' MAXLEV in gosat_ch4_mod.F90.' CALL GEOS_CHEM_STOP ENDIF print*,' # GOSAT Observations this day = ', NGOS print*, 'levels', NLEV !-------------------------------- ! Read 1-D Data !-------------------------------- ALLOCATE( lat( NGOS ), STAT=AS ) ALLOCATE( lon( NGOS ), STAT=AS ) ALLOCATE( time( NGOS ), STAT=AS ) ALLOCATE( qflag( NGOS ), STAT=AS ) ALLOCATE( xch4( NGOS ), STAT=AS ) ALLOCATE( xch4_error( NGOS ), STAT=AS ) ALLOCATE( glint( NGOS ), STAT=AS ) ALLOCATE( gain( NGOS ), STAT=AS ) ALLOCATE( exp_id( NGOS ), STAT=AS ) ALLOCATE( prior( NLEV, NGOS ), STAT=AS ) ALLOCATE( pres( NLEV, NGOS ), STAT=AS ) ALLOCATE( ak( NLEV, NGOS ), STAT=AS ) ALLOCATE( pres_w(NLEV, NGOS ), STAT=AS ) ! Latitude v_name = 'latitude' st1d = (/ 1 /) ct1d = (/ NGOS /) CALL NcRd( lat, fId, TRIM(v_name), st1d, ct1d ) ! Longitude v_name = 'longitude' st1d = (/ 1 /) ct1d = (/ NGOS /) CALL NcRd( lon, fId, TRIM(v_name), st1d, ct1d ) ! Time (seconds since 1970-01-01 00:00) v_name = 'time' st1d = (/ 1 /) ct1d = (/ NGOS /) CALL NcRd( time, fId, TRIM(v_name), st1d, ct1d ) ! Qflag (0=good, 1=bad) v_name = 'xch4_quality_flag' st1d = (/ 1 /) ct1d = (/ NGOS /) CALL NcRd( qflag, fId, TRIM(v_name), st1d, ct1d ) ! Xch4 (ppb) v_name = 'xch4' st1d = (/ 1 /) ct1d = (/ NGOS /) CALL NcRd( xch4, fId, TRIM(v_name), st1d, ct1d ) ! Xch4_Error (ppb) v_name = 'xch4_uncertainty' st1d = (/ 1 /) ct1d = (/ NGOS /) CALL NcRd( xch4_error, fId, TRIM(v_name), st1d, ct1d ) ! Retrieval type flag (0 = land, 1 = glint) v_name = 'retr_flag' st1d = (/ 1 /) ct1d = (/ NGOS /) CALL NcRd( glint, fId, TRIM(v_name), st1d, ct1d ) ! Gain mode (1 = high gain, 0 = medium gain) v_name = 'gain' st1d = (/ 1 /) ct1d = (/ NGOS /) CALL NcRd( gain, fId, TRIM(v_name), st1d, ct1d ) ! Exposure ID v_name = 'exposure_id' st2d = (/ 1, 1 /) ct2d = (/ StrLen, NGOS /) CALL NcRd( exp_id, fId, TRIM(v_name), st2d, ct2d ) !-------------------------------- ! Read 2D Data !-------------------------------- ! APRIORI (ppb) v_name = 'ch4_profile_apriori' st2d = (/ 1, 1 /) ct2d = (/ NLEV, NGOS /) CALL NcRd( prior, fId, TRIM(v_name), st2d, ct2d ) ! Pressure (hPa) v_name = 'pressure_levels' st2d = (/ 1, 1 /) ct2d = (/ NLEV, NGOS /) CALL NcRd( pres, fId, TRIM(v_name), st2d, ct2d ) ! Averaging Kernel (unitless) v_name = 'xch4_averaging_kernel' st2d = (/ 1, 1 /) ct2d = (/ NLEV, NGOS /) CALL NcRd( ak, fId, TRIM(v_name), st2d, ct2d ) ! Pressure weights (unitless) v_name = 'pressure_weight' st2d = (/ 1, 1 /) ct2d = (/ NLEV, NGOS /) CALL NcRd( pres_w, fId, TRIM(v_name), st2d, ct2d ) !-------------------------------- ! Place data into GOS structure !-------------------------------- DO N = 1, NGOS ! 0-D data GOS(N)%LGOS(1) = NLEV GOS(N)%LAT(1) = lat(N) GOS(N)%LON(1) = lon(N) GOS(N)%TIME(1) = time(N) GOS(N)%CH4(1) = xch4(N) GOS(N)%CH4_ERROR(1) = xch4_error(N) GOS(N)%QFLAG(1) = qflag(N) GOS(N)%GLINT(1) = glint(N) GOS(N)%GAIN(1) = gain(N) GOS(N)%EXP_ID(1) = exp_id(N) ! 1-D data LGOS = NLEV GOS(N)%PRES(1:LGOS) = pres(1:LGOS,N) GOS(N)%PRIOR(1:LGOS) = prior(1:LGOS,N) GOS(N)%AVG_KERNEL(1:LGOS) = ak(1:LGOS,N) GOS(N)%P_WEIGHT(1:LGOS) = pres_w(1:LGOS,N) ENDDO !-------------------------------- ! Close netCDF file !-------------------------------- ! Echo info WRITE( 6, 20 ) YYYYMMDD 20 FORMAT( ' - Finished reading GOSAT CH4 observations for ', i8) ! Close netCDF file CALL NcCl( fId ) END SUBROUTINE READ_GOS_CH4_OBS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: calc_gosat_ch4_force ! ! !DESCRIPTION: Subroutine CALC\_GOS\_CH4\_FORCE calculates the adjoint forcing ! from the GOSAT CH4 observations and updates the cost function. ! (dkh, 10/12/10) !\\ !\\ ! !INTERFACE: ! SUBROUTINE CALC_GOSAT_CH4_FORCE( Input_Opt, State_Chm, State_Grid, & State_Met ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD, ONLY : IT_IS_NAN USE ERROR_MOD, ONLY : IT_IS_FINITE USE GC_GRID_MOD, ONLY : GET_IJ USE Input_Opt_Mod, ONLY : OptInput USE JULDAY_MOD, ONLY : CALDATE, JULDAY USE TIME_MOD USE PhysConstants, ONLY : XNUMOLAIR, AIRMW USE State_Chm_Mod, ONLY : ChmState, Ind_ USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE Timers_Mod, ONLY : Timer_End, Timer_Start USE UnitConv_Mod, ONLY : Check_Units, MOLES_SPECIES_PER_MOLES_DRY_AIR ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input options TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !REVISION HISTORY: ! 16 Jun 2017 - M. Sulprizio- Initial version based on GOSAT CH4 observation ! operator from GC Adjoint v35j with updates from ! M. Sulprizio, J.D. Maasakkers, A. Turner, and ! K. Wecht ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp), SAVE :: COST_FUNC ! Cost function [unitless] INTEGER :: id_CH4 INTEGER :: NTSTART, NTSTOP, NT INTEGER :: YYYYMM, YYYYMMDD, HHMMSS INTEGER :: YEAR, MON, DAY INTEGER :: HOUR, MIN, SEC INTEGER :: IIJJ(2), I, J, N INTEGER :: L, LL, LGOS INTEGER :: JLOOP, NOBS, IND INTEGER :: INDS(MAXGOS) REAL(fp) :: REF_DATE, TIME REAL(fp) :: GC_PRES(State_Grid%NZ) REAL(fp) :: GC_PEDGE(State_Grid%NZ+1) REAL(fp) :: GC_CH4_NATIVE(State_Grid%NZ) REAL(fp) :: GC_CH4_NATIVE_EDGE(State_Grid%NZ+1) REAL(fp) :: GC_CH4(MAXLEV) REAL(fp) :: GC_CH4_ORIG(MAXLEV) REAL(fp) :: GC_CH4_cm2(MAXLEV) REAL(fp) :: GC_PSURF REAL(fp) :: MAP(State_Grid%NZ,MAXLEV) REAL(fp) :: CH4_HAT(MAXLEV) REAL(fp) :: NEW_COST(MAXGOS) REAL(fp) :: OLD_COST REAL(fp), SAVE :: TIME_FRAC(MAXGOS) INTEGER, SAVE :: NGOS REAL(fp) :: frac, RHS, LHS REAL(fp) :: CH4_PRIOR(MAXLEV) REAL(fp) :: CH4_PRIOR_cm2(MAXLEV) REAL(fp) :: molecongos(MAXLEV) REAL(fp) :: GOS_XCH4, GOS_XCH4_ERROR REAL(fp) :: p(MAXLEV)!, h(MAXLEV) REAL(fp) :: ak(MAXLEV), prior(MAXLEV) REAL(fp) :: pres_w(MAXLEV) !REAL(fp) :: XCH4m, XCH4a !zyz REAL(fp) :: SATELLITE_BIAS(3) ! Hardcode for now (mps,6/16/17) REAL(fp) :: MEAN_MODEL_BIAS ! Hardcode for now (mps,6/16/17) REAL(fp) :: FORCE REAL(fp) :: DIFF REAL(fp) :: S_OBS REAL(fp) :: DRY_AIR(State_Grid%NZ) ! --- zyz --- Sept 19, 2018 ! fix the problem that some GOSAT record has negative pressure ! values if the surface has high altidue INTEGER :: L0 REAL(fp) :: TropP !tropopause pressure (hPa) INTEGER :: LGOS_Trop !tropopause layer in GOSAT levels REAL(fp) :: WT_LGOS_Trop ! -- use pressure weight from GOSAT data file,zyz REAL(fp) :: GC_XCH4 REAL(fp) :: XCH4_prior, XCH4_trop, XCH4_strat ! -- use pressure weight computed based on pressure level ! -- and simple linear interpolation ! -- this is used in JDM's work, zyz real(fp) :: h(MAXLEV) REAL(fp) :: GC_XCH4_ORIG, GC_XCH4_ORIG_OLDPW ! For miscellaneous LOGICAL, SAVE :: FIRST = .TRUE. INTEGER :: IOS INTEGER, SAVE :: TotalObs = 0 CHARACTER(LEN=255) :: FILENAME CHARACTER(LEN=255) :: ThisLoc CHARACTER(LEN=512) :: ErrMsg INTEGER :: RC REAL(fp) :: foo ! throwaway variable !================================================================= ! CALC_GOS_CH4_FORCE begins here! !================================================================= print*, ' - CALC_GOS_CH4_FORCE ' ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at CALC_GOS_CH4_FORCE (in gosat_ch4_mod.F90)' ! Initialize species ID flag id_CH4 = Ind_('CH4') ! Reset NEW_COST(:) = 0.0_fp ! Hardcode bias values for now (mps, 6/16/17) SATELLITE_BIAS(1) = 0.0e+0_fp SATELLITE_BIAS(2) = -0.075272936e+0_fp SATELLITE_BIAS(3) = 0.003712500e+0_fp MEAN_MODEL_BIAS = 0.0e+0_fp ! Open files for diagnostic output IF ( FIRST ) THEN ! Initialize COST_FUNC = 0.0_fp ! For recording model and observation values FILENAME = 'sat_obs.gosat.00.m' FILENAME = TRIM( Input_Opt%RUN_DIR ) // TRIM( FILENAME ) OPEN( 117, FILE=TRIM( FILENAME ), STATUS='UNKNOWN', & IOSTAT=IOS, FORM='FORMATTED', ACCESS='SEQUENTIAL' ) ! Write header of sat_obs.NN.m WRITE( 117, 281 ) ' NNN', & ' I', ' J', ' LON',' LAT', & 'YYYY', 'MM', 'DD', 'hh', 'mm', 'ss', & ' TAU', ' GOSAT', & ' model', ' S_OBS', & ' TropP', ' model_prior', & !zyz ' model_trop', ' model_strat', & !zyz ' model_orig', ' model_oldpw', & !erp 'GLINT', ' GAIN', & 'EXPOSURE_ID' 281 FORMAT( A10,2x, A4,2x, A4,2x, A8,2x, A8,2x, A4,2x, & A2,2x, A2,2x, A2,2x, A2,2x, A2,2x, & A12,2x, A12,2x, A12,2x, A12,2x, & A12,2x, A12,2x, A12,2x, A12,2x, & A12,2x, A12,2x, & A5,2x, A5,2x, A22) ! Set Total Observations = 0 TotalObs = 0 ENDIF ! Save a value of the cost function first OLD_COST = COST_FUNC ! Read Observations at first call and at end of the day IF ( FIRST .OR. ITS_A_NEW_DAY() ) THEN ! Read the GOS CH4 file for this day YYYYMMDD = 1d4*GET_YEAR() + 1d2*GET_MONTH() + GET_DAY() CALL READ_GOS_CH4_OBS( YYYYMMDD, NGOS ) IF ( FIRST ) FIRST = .FALSE. ! Make sure there are observations on this day IF ( NGOS .EQ. -1 ) RETURN ! TIME is seconds since 1970-01-01 00:00:00 ! Convert to calendar date by expressing as days since REF_DATE ! and adding Julian day value for REF_DATE (mpayer 9/12/12) REF_DATE = JULDAY( 1970, 1, 1.d0 ) DO N = 1, NGOS TIME = ( GOS(N)%TIME(1) / 86400.d0 ) + REF_DATE CALL CALDATE ( TIME, YYYYMMDD, HHMMSS ) CALL YMD_EXTRACT( YYYYMMDD, YEAR, MON, DAY ) CALL YMD_EXTRACT( HHMMSS, HOUR, MIN, SEC ) GOS(N)%YEAR(1) = YEAR GOS(N)%MONTH(1) = MON GOS(N)%DAY(1) = DAY GOS(N)%HOUR(1) = HOUR GOS(N)%MINUTE(1) = MIN GOS(N)%SEC(1) = SEC ENDDO IF ( FIRST ) FIRST = .FALSE. ENDIF ! Get indices of GOS observations in the current hour ! At the start of each hour, assimilate observations that ! were made in the previous 60 minutes. ! For example, at time 18:00, assimilate observations ! made from 18:00 - 18:59 INDS(:) = 0 NOBS = 0 !print*,'Looking for observations at MONTH, DAY, HOUR = ', & ! GET_MONTH(), GET_DAY(), GET_HOUR() DO NT = 1, NGOS IF ( GOS(NT)%MONTH(1) .EQ. GET_MONTH() .AND. & GOS(NT)%DAY(1) .EQ. GET_DAY() .AND. & GOS(NT)%HOUR(1) .EQ. GET_HOUR() ) THEN NOBS = NOBS + 1 INDS(NOBS) = NT !print*,'Found a good observation! NT = ', NT ENDIF ENDDO IF ( NOBS == 0 ) THEN print*, ' No matching GOSAT CH4 obs for this hour' RETURN ENDIF print*, ' for hour range: ', GET_HOUR(), GET_HOUR()+1 print*, ' found # GOSAT observations: ', NOBS ! Verify that incoming State_Chm%Species units are mol/mol dry air. IF ( .not. Check_Units( State_Chm, MOLES_SPECIES_PER_MOLES_DRY_AIR ) ) THEN ErrMsg = 'Not all species are in "mol/mol dry" units!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !! need to update this in order to do i/o with this loop parallel !! ! Now do a parallel loop for analyzing data !!!$OMP PARALLEL DO & !!!$OMP DEFAULT( PRIVATE ) & !!!$OMP PRIVATE( IND, NT, MAP, LGOS, IIJJ, I, J, L, LL, JLOOP ) & !!!$OMP PRIVATE( GC_CH4, FORCE, CH4_PRIOR, GC_PRES, FILENAME ) & !!!$OMP PRIVATE( GC_PEDGE, GC_PSURF, GC_CH4_NATIVE, GOS_XCH4 ) & !!!$OMP PRIVATE( GOS_XCH4_ERROR, S_OBS, h, p, XCH4a, XCH4m ) & !!!$OMP PRIVATE( GC_XCH4, DIFF, DIFF_ADJ, GC_XCH4_ADJ ) & !!!$OMP PRIVATE( GC_CH4_NATIVE_ADJ, GC_CH4_ADJ, TotalObs ) DO IND = 1, NOBS NT = INDS(IND) !print*, ' - CALC_GOS_CH4_FORCE: analyzing record ', NT ! Quality screening (0=good, 1=bad) IF ( GOS(NT)%QFLAG(1) .NE. 0 ) THEN print*, ' Bad QFLAG, skipping record ', NT CYCLE ENDIF !! Skip glint mode observations (0 = land, 1 = glint) !IF ( GOS(NT)%GLINT(1) .EQ. 1 ) THEN ! print*, ' GLINT obs, skipping record ', NT ! CYCLE !ENDIF ! Check for NaN in data IF ( IT_IS_NAN( GOS(NT)%CH4(1) ) ) THEN print*, ' XCH4 is NaN, skipping record ', NT CYCLE ENDIF IF ( IT_IS_NAN( GOS(NT)%PRIOR(1) ) ) THEN print*, ' PRIOR is NaN, skipping record ', NT CYCLE ENDIF IF ( IT_IS_NAN( GOS(NT)%AVG_KERNEL(1) ) ) THEN print*, ' AVG_KERNEL is NaN, skipping record ', NT CYCLE ENDIF ! Check for infinity in data IF ( .not. IT_IS_FINITE( GOS(NT)%CH4(1) ) ) THEN print*, ' XCH4 is infinity, skipping record ', NT CYCLE ENDIF ! Check for negative/zero data IF ( GOS(NT)%CH4(1) <= 0d0 ) THEN print*, ' XCH4 is <= 0, skipping record ', NT CYCLE ENDIF ! Check for negative/zero error values ! Skip zero error values for now to avoid returning S_OBS=0 ! which will cause COST_FUN=infinity (mps, 6/6/16) IF ( GOS(NT)%CH4_ERROR(1) <= 0d0 ) THEN print*, ' XCH4 ERROR is <= 0, skipping record ', NT CYCLE ENDIF ! zyz, Oct 4 2018 ! GOSAT record has negative pressure value when the surface ! has high altitude such as Tibet ! Fix it by finding the lowest valid layer L0 L0 = GOS(NT)%LGOS(1) DO L = 1, GOS(NT)%LGOS(1) IF (GOS(NT)%PRES(L) .gt. 0.0_fp) THEN L0 = L EXIT ENDIF ENDDO ! Only find negative pressure at 1st layer so far. ! But use this condition to prevent really invalid cases ! (zyz) IF (L0 .gt. 3 ) CYCLE ! Skip observations outside the domain IF ( GOS(NT)%LAT(1) < State_Grid%YMin .OR. & GOS(NT)%LAT(1) > State_Grid%YMax .OR. & GOS(NT)%LON(1) < State_Grid%XMin .OR. & GOS(NT)%LON(1) > State_Grid%XMax ) THEN print*, ' Outside nested domain, skipping record ', NT CYCLE ENDIF ! Skip data at high lat (ajt, 7/23/13) !JDMIF ( GOS(NT)%LAT(1) > 60d0 ) THEN !JDMprint*, ' Skip all data above 60N ', NT !JDMCYCLE !JDMENDIF !Turn of this for now to reproduce plots made by AJT !Should probably turn this back on with SH once we start !To do the actual adjoint run ! Get grid box of current record IIJJ = GET_IJ( REAL(GOS(NT)%LON(1),4), REAL(GOS(NT)%LAT(1),4), & State_Grid ) I = IIJJ(1) J = IIJJ(2) ! skip observations where the GOSAT surface pressure is ! less than the model ! Use L0 for lowest valid layer in GOSAT (zyz) IF ( (GOS(NT)%PRES(L0) - State_Met%PEDGE(I,J,1)) > 50e0 ) THEN print*, ' Psurf threshold not met, skipping record ', NT CYCLE ENDIF !------------------------------ ! Begin good observations !------------------------------ print*,' Begin assimilating good observation. NT = ', NT ! For safety, initialize these up to LGOS LGOS = 0 GC_CH4(:) = 0.0_fp MAP(:,:) = 0.0_fp FORCE = 0.0_fp CH4_PRIOR(:) = 0.0_fp ! Copy variable names to make coding a bit cleaner ! Use L0 for lowest layer in GOSAT record (zyz) LGOS = GOS(NT)%LGOS(1) DO L = L0, LGOS CH4_PRIOR(L) = GOS(NT)%PRIOR(L) * 1d-9 ! [ppb] --> [v/v] ENDDO ! Get GC pressure levels (mbar) DO L = 1, State_Grid%NZ GC_PRES(L) = State_Met%PMID(I,J,L) ENDDO ! Get GC pressure edges (mbar) DO L = 1, State_Grid%NZ+1 GC_PEDGE(L) = State_Met%PEDGE(I,J,L) ENDDO ! Get GC surface pressure (mbar) GC_PSURF = State_Met%PEDGE(I,J,1) ! Get # mols of dry air in each gridbox DRY_AIR(:) = State_Met%AIRDEN(I,J,:) * XNUMOLAIR * & 1e-6_fp * State_Met%BXHEIGHT(I,J,:)*1e2_fp ! Get CH4 values at native model resolution GC_CH4_NATIVE(:) = 0.0_fp ! Get species concentrations [v/v] GC_CH4_NATIVE(:) = State_Chm%Species(id_CH4)%Conc(I,J,:) CALL MASS_INTERP( GC_PEDGE, GOS(NT)%PRES, GC_CH4_NATIVE, & L0, State_Grid%NZ, LGOS, GC_CH4 ) ! test out the old way of interpolating ! Calculate the interpolation weight matrix MAP(:,:) = 0.0_fp CALL OLD_GET_INTMAP( State_Grid, GC_PRES, GC_PSURF, GOS(NT)%PRES, & L0, LGOS, MAP ) ! Interpolate GC CH4 column to GOSAT grid ! Use L0 for lowest valid layer for GOSAT (zyz) DO LL = L0, LGOS GC_CH4_ORIG(LL) = 0.0_fp DO L = 1, State_Grid%NZ GC_CH4_ORIG(LL) = GC_CH4_ORIG(LL) + MAP(L,LL) * GC_CH4_NATIVE(L) ENDDO ENDDO ! end testing old way of interpolating !!DO LL = 1, LGOS ! DO L=1, LLPAR ! IF (MAP(L,LL)>0E0) PRINT*,L,LL,MAP(L,LL) ! ENDDO !ENDDO !print*,'GC_CH4',GC_CH4 !stop ! GOSAT Proxy XCH4 [ppb] --> [v/v] GOS_XCH4 = GOS(NT)%CH4(1) * 1e-9_fp GOS_XCH4_ERROR = GOS(NT)%CH4_ERROR(1) * 1e-9_fp ! Remove any GOSAT bias ! Do not do latitudinal bias correction from now, zyz, ! 19/9/2018 !GOS_XCH4 = GOS_XCH4 + 1e-9 * ( SATELLITE_BIAS(1) & ! + SATELLITE_BIAS(2)*(GOS(NT)%LAT(1)) & ! + SATELLITE_BIAS(3)*(GOS(NT)%LAT(1))**2 ) ! Get the S_obs, assume stddev adds in quadrature, variance ! adds linearly. (ajt, 03/27/2013) !S_OBS = GOS_XCH4_ERROR**2 + (GC_XCH4_ERROR * 1e-9_fp)**2 ! Record satellite error directly, you can modify later if you ! want. We don't seem to use it anyway (erp, 10/08/2020) S_OBS = GOS_XCH4_ERROR ! erp !-------------------------------------------------------------- ! Apply GOSAT observation operator ! ! Xch4_m = Xch4_a + SUM_j( h_j * a_j * (x_m - x_a) ) ! ! Xch4_m - model XCH4 ! Xch4_a - apriori XCH4 = h^T * x_a ! h - pressure weighting function ! a - column averaging kernel ! x_m - model CH4 [v/v] ! x_a - apriori CH4 [v/v] ! ! The pressure weighting function is defined in Connor et al. 2008 ! and the OCO-2 ATBD !-------------------------------------------------------------- ! Pressure weighting array ! Use L0 for lowest valid layer in GOSAT p(L0:LGOS) = GOS(NT)%PRES(L0:LGOS) ak(L0:LGOS) = GOS(NT)%AVG_KERNEL(L0:LGOS) ! JDM Replace calculated h with pres_w provided by GOSAT files pres_w(L0:LGOS)= GOS(NT)%P_WEIGHT(L0:LGOS) prior(L0:LGOS) = GOS(NT)%PRIOR(L0:LGOS) * 1e-9_fp ! [ppb] --> [v/v] !---zyz--- !compute the GOSAT layer that encloses tropopause TropP = State_Met%TROPP(I,J) CALL GET_TROP_LAYER(TropP, p, LGOS, LGOS_Trop, WT_LGOS_Trop) !---zyz--- !========================================================= ! Add computation to record separate tropospheric contribution ! to XCH4, zyz, Sept 19, 2018 ! We can record XCH4_prior, XCH4_trop, XCH4_strat, ! so startospheric bias correction can be done offline ! XCH4m = XCH4a + XCH4c ! = SUM(l) (wl*pl) + SUM(l) (wl*al*(ml-pl)) ! = SUM(l) ((1-al)*wl*pl) + SUM(l) (al*wl*ml) ! = SUM(l) ((1-al)*wl*pl) + ===> XCH4m_prior ! SUM(l<=LTROP) (al*wl*ml) + ===> XCH4m_trop ! SUM(l>LTROP) (al*wl*ml) ===> XCH4m_strat ! ! wl: weight for layer l ! pl: prior mixing ratio at layer l ! ml: model mixing ratio at layer l ! al: column averaging kernel at layer l ! LTROP: layer of tropopause !========================================================= !==================================================================== ! Compute GC_XCH4 with the pressure weighting provided in GOSAT data ! file,zyz !==================================================================== CALL CALC_GC_XCH4( GC_CH4, ak, pres_w, prior, L0, LGOS, & LGOS_Trop, WT_LGOS_Trop, GC_XCH4, & XCH4_prior, XCH4_trop, XCH4_strat ) !==================================================================== ! Compute GC_XCH4 with the h operator used in AJT and JDM's work ! This method seems to have two problems: ! 1. It ignores the impact of vertical variation in specific humidity ! on the weighting function ! 2. The layer boundary here is at the altidue midpoint ! The paper that the UL-GOSAT paper cites uses pressure midpoint !==================================================================== ! Need to integrate from the toa to surface (ajt, 05/21/13) IF (LGOS .GT. 1) THEN IF(GOS(NT)%PRES(L0+1) .LT. GOS(NT)%PRES(L0)) THEN p(1:LGOS) = p(LGOS:1:-1) ENDIF ENDIF L = 1 h(L) = 1./GOS(NT)%PRES(L0) * ABS( & ( -1e0*p(L) + ( (p(L+1)-p(L))/(LOG(p(L+1)/p(L))) ) ) ) L = LGOS - L0 + 1 h(L) = 1./GOS(NT)%PRES(L0) * ABS( & ( p(L) - ( (p(L)-p(L-1))/(LOG(p(L)/p(L-1))) ) ) ) DO L=2,LGOS-L0 h(L) = 1./GOS(NT)%PRES(L0) * ABS( & ( -1e0*p(L) + ( (p(L+1)-p(L))/(LOG(p(L+1)/p(L))) ) ) + & ( p(L) - ( (p(L)-p(L-1))/(LOG(p(L)/p(L-1))) ) ) ) ENDDO ! Now return to the orientation of the other variables IF (LGOS .GT. 1) THEN IF(GOS(NT)%PRES(2) .LT. GOS(NT)%PRES(1)) THEN h(1:LGOS) = h(LGOS:1:-1) p(1:LGOS) = p(LGOS:1:-1) ENDIF ENDIF ! Use original interpolation with h operator from AJT/JDM ! We don't need the strat/trop/prior so assign to dummy var. CALL CALC_GC_XCH4( GC_CH4_ORIG, ak, h, prior, L0, LGOS, & LGOS_Trop, WT_LGOS_Trop, GC_XCH4_ORIG_OLDPW, & foo, foo, foo ) ! Use original interpolation with GOSAT operator ! We don't need the strat/trop/prior so assign to dummy var. CALL CALC_GC_XCH4( GC_CH4_ORIG, ak, h, prior, L0, LGOS, & LGOS_Trop, WT_LGOS_Trop, & GC_XCH4_ORIG, foo, foo, foo ) !--- zyz test with weighting function !-------------------------------------------------------------- ! Calculate cost function, given S is error in vmr ! J = 1/2 [ model - obs ]^T S_{obs}^{-1} [ model - obs ] !-------------------------------------------------------------- ! Calculate difference between modeled and observed profile DIFF = GC_XCH4 - GOS_XCH4 ! Calculate 1/2 * DIFF^T * S_{obs}^{-1} * DIFF ! Need to account for the model error (ajt, 03/27/2013) NEW_COST(NT) = NEW_COST(NT) + 0.5e0 * DIFF * FORCE TotalObs = TotalObs + 1 ! Record information for satellite diagnostics IF ( LDCH4SAT ) THEN WRITE( 117, 283 ) TotalObs, I, J, GOS(NT)%LON(1), & GOS(NT)%LAT(1),GOS(NT)%YEAR(1), & GOS(NT)%MONTH(1),GOS(NT)%DAY(1), GOS(NT)%HOUR(1), & GOS(NT)%MINUTE(1), GOS(NT)%SEC(1), & GET_TAU(), GOS_XCH4, GC_XCH4, S_OBS, & TROPP, XCH4_prior, XCH4_trop, XCH4_strat, & GC_XCH4_ORIG, GC_XCH4_ORIG_OLDPW, & ! erp GOS(NT)%GLINT(1),GOS(NT)%GAIN(1),GOS(NT)%EXP_ID(1) ENDIF ENDDO ! NT !!$OMP END PARALLEL DO ! Number of observations processed in total !TotalObs = TotalObs + NOBS ! Update cost function COST_FUNC = COST_FUNC + SUM(NEW_COST(:)) 283 FORMAT( I10,2x,I4,2x,I4,2x,F8.3,2x,F8.4,2x,I4,2x, & I2,2x,I2,2x,I2,2x,I2,2x,I2,2x, & F12.3,2x,E12.6,2x,E12.6,2x,E12.6,2x, & F12.3, 2x,E12.6, 2x, E12.6, 2x, E12.6, 2x, & E12.6, 2x, E12.6, 2x, & I5,2x,I5,2x,A22) print*, ' Updated value of COST_FUNC = ', COST_FUNC print*, ' GOS contribution = ', COST_FUNC - OLD_COST print*, ' Number of observations this hour = ', NOBS print*, ' Number of observations total = ', TotalObs END SUBROUTINE CALC_GOSAT_CH4_FORCE !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: get_intmap ! ! !DESCRIPTION: Function GET\_INTMAP linearly interpolates column quatities ! based upon the centered (average) pressue levels. !\\ !\\ ! !INTERFACE: ! SUBROUTINE OLD_GET_INTMAP( State_Grid, GCPCEN, GCPSURF, GOSPEDGE, & L0, L1, INTMAP ) ! ! !USES: ! USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid REAL(fp), INTENT(IN) :: GCPCEN(State_Grid%NZ) REAL(fp), INTENT(IN) :: GCPSURF REAL(fp), INTENT(IN) :: GOSPEDGE(MAXLEV) INTEGER, INTENT(IN) :: L0, L1 ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: INTMAP(State_Grid%NZ,MAXLEV) ! ! !REVISION HISTORY: ! 16 Jun 2017 - M. Sulprizio- Initial version based on GOSAT CH4 observation ! operator from GC Adjoint v35j ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: LGC, LTM REAL(fp) :: DIFF, DELTA_SURFP REAL(fp) :: LOW, HI !================================================================= ! GET_INTMAP begins here! !================================================================= ! Initialize INTMAP(:,:) = 0e+0_fp ! Loop over each pressure level of GOS grid DO LTM = L0, L1 ! Find the levels from GC that bracket level LTM DO LGC = 1, State_Grid%NZ-1 LOW = GCPCEN(LGC+1) HI = GCPCEN(LGC) ! Match GEOS-Chem level to GOS level IF ( GOSPEDGE(LTM) <= HI .and. GOSPEDGE(LTM) > LOW) THEN DIFF = HI - LOW INTMAP(LGC+1,LTM) = ( HI - GOSPEDGE(LTM) ) / DIFF INTMAP(LGC ,LTM) = ( GOSPEDGE(LTM) - LOW ) / DIFF ENDIF ENDDO ENDDO ! Correct for case where GOSAT pressure is higher than the ! highest GC pressure center. In this case, just 1:1 map. DO LTM = L0, L1 IF ( GOSPEDGE(LTM) > GCPCEN(1) ) THEN INTMAP(:,LTM) = 0e+0_fp INTMAP(1,LTM) = 1e+0_fp ENDIF ENDDO END SUBROUTINE OLD_GET_INTMAP !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: get_trop_layer ! ! !DESCRIPTION: Function GET\_TROP\_LAYER (zyz) !\\ !\\ ! !INTERFACE: ! SUBROUTINE GET_TROP_LAYER( TROPP, GOSP, nlev, LTROP, WT_LTROP ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: TROPP REAL(fp), INTENT(IN) :: GOSP(MAXLEV) INTEGER, INTENT(IN) :: nlev ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: LTROP REAL(fp), INTENT(OUT) :: WT_LTROP ! ! !REVISION HISTORY: ! ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: L REAL(fp) :: GOSP_HF(nlev-1) !Estimate the edge of GOSAT layers DO L = 1, nlev-1 GOSP_HF(L) = (GOSP(L)+GOSP(L+1))/2e+0_fp ENDDO !Find the layer that enclose the tropopause !Estimate the WT_LTROP as the fraction of pressure !difference in that layer LTROP = 1 WT_LTROP = 0 DO L = 1, nlev-2 IF (TROPP < GOSP_HF(L) .and. TROPP>= GOSP_HF(L+1)) THEN LTROP=L+1 WT_LTROP= (GOSP_HF(L)-TROPP)/(GOSP_HF(L)-GOSP_HF(L+1)) EXIT ENDIF ENDDO END SUBROUTINE GET_TROP_LAYER !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: calc_gc_xch4 ! ! !DESCRIPTION: !\\ !\\ ! !INTERFACE: ! SUBROUTINE CALC_GC_XCH4( GC_CH4, AK, PRES_WT, PRIOR, L0, L1, & LTROP, WT_LTROP, & XCH4, XCH4_prior, XCH4_trop, XCH4_strat) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN):: GC_CH4(MAXLEV), AK(MAXLEV) REAL(fp), INTENT(IN):: PRIOR(MAXLEV), PRES_WT(MAXLEV) INTEGER, INTENT(IN) :: L0, L1, LTROP ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(IN):: WT_LTROP REAL(fp), INTENT(OUT):: XCH4, XCH4_prior, XCH4_trop, XCH4_strat ! ! !REMARKS: ! ! Add computation to record separate tropospheric contribution ! to XCH4, zyz, Sept 19, 2018 ! We can record XCH4_prior, XCH4_trop, XCH4_strat, ! so startospheric bias correction can be done offline ! XCH4m = XCH4a + XCH4c ! = SUM(l) (wl*pl) + SUM(l) (wl*al*(ml-pl)) ! = SUM(l) ((1-al)*wl*pl) + SUM(l) (al*wl*ml) ! = SUM(l) ((1-al)*wl*pl) + ===> XCH4m_prior ! SUM(l<=LTROP) (al*wl*ml) + ===> XCH4m_trop ! SUM(l>LTROP) (al*wl*ml) ===> XCH4m_strat ! ! wl: weight for layer l ! pl: prior mixing ratio at layer l ! ml: model mixing ratio at layer l ! al: column averaging kernel at layer l ! LTROP: layer of tropopause !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: L ! Calculate XCH4_prior XCH4_PRIOR = 0.0_fp DO L = L0, L1 XCH4_PRIOR = XCH4_PRIOR + (1.0_fp - AK(L)) * PRES_WT(L) * PRIOR(L) ENDDO ! Calculate XCH4_trop XCH4_trop = 0.0_fp DO L = L0, LTROP XCH4_trop = XCH4_trop + AK(L) * PRES_WT(L) * GC_CH4(L) ENDDO IF (LTROP .ge. L0) THEN XCH4_trop = XCH4_trop - (1.0_fp - WT_LTROP) * & AK(LTROP) * PRES_WT(LTROP) * GC_CH4(LTROP) ENDIF ! Calculate XCH4_strat XCH4_strat = 0.0_fp DO L = LTROP, L1 XCH4_strat = XCH4_strat + AK(L) * PRES_WT(L) * GC_CH4(L) ENDDO IF (LTROP .le. L1) THEN XCH4_strat = XCH4_strat - WT_LTROP * & AK(LTROP) * PRES_WT(LTROP) * GC_CH4(LTROP) ENDIF ! Calculate total column XCH4 = XCH4_PRIOR + XCH4_trop + XCH4_strat END SUBROUTINE CALC_GC_XCH4 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: h_to_hprime ! ! !DESCRIPTION: Calculate HPRIME pressure edges from equation 11 of Keppens 2019 ! erp, Oct 6, 2020 !\\ !\\ ! !INTERFACE: ! SUBROUTINE H_TO_HPRIME( OBS_PEDGE, L0, nlev_obs, HPRIME ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: nlev_obs, L0 REAL(fp), INTENT(IN) :: OBS_PEDGE(nlev_obs) ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: HPRIME(nlev_obs+1) !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: L ! Initialize HPRIME(:) = -9999.0_fp ! this is your missing value HPRIME(L0) = OBS_PEDGE(L0) HPRIME(nlev_obs+1) = OBS_PEDGE(nlev_obs) ! Loop over each pressure level of observation grid DO L = L0+1, nlev_obs HPRIME(L) = 0.5_fp*OBS_PEDGE(L) + 0.5_fp*OBS_PEDGE(L-1) ENDDO END SUBROUTINE H_TO_HPRIME !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: extend_gc ! ! !DESCRIPTION: Extend GEOS-Chem pressure leveys so they cover the full ! vertical range of the observations !\\ !\\ ! !INTERFACE: ! SUBROUTINE EXTEND_GC( GC_PEDGE, OBS_PEDGE, L0, & nlev_gc, nlev_obs, GC_PEDGE_EXT ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: nlev_obs, nlev_gc, L0 REAL(fp), INTENT(IN) :: GC_PEDGE(nlev_gc+1) REAL(fp), INTENT(IN) :: OBS_PEDGE(nlev_obs) ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: GC_PEDGE_EXT(nlev_gc+1) !EOP !------------------------------------------------------------------------------ !BOC ! Initialize GC_PEDGE_EXT(:) = 0.0_fp GC_PEDGE_EXT(:) = GC_PEDGE(:) ! if observation surf pres. is higher than model, then ! extend the surface model layer down to the obs. surface IF ( OBS_PEDGE(L0) > GC_PEDGE(1) ) THEN GC_PEDGE_EXT(1) = OBS_PEDGE(L0) ENDIF ! if observation TOA pres. is lower than model, then ! extend the top model layer up to the obs. TOA IF ( OBS_PEDGE(nlev_obs) < GC_PEDGE(nlev_gc+1) ) THEN GC_PEDGE_EXT(nlev_gc+1) = OBS_PEDGE(nlev_obs) ENDIF END SUBROUTINE EXTEND_GC !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: overlap_map ! ! !DESCRIPTION: OVERLAP_MAP is W in eq 13 of Keppens 2019 ! erp, Oct 6, 2020 !\\ !\\ ! !INTERFACE: ! SUBROUTINE GET_OVERLAP_MAP( GC_PEDGE, OBS_PEDGE, & L0, nlev_gc, nlev_obs, OVERLAP_MAP) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: nlev_gc INTEGER, INTENT(IN) :: nlev_obs REAL(fp), INTENT(IN) :: GC_PEDGE(nlev_gc) REAL(fp), INTENT(IN) :: OBS_PEDGE(nlev_obs) INTEGER, INTENT(IN) :: L0 ! lowest valid observation level ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: OVERLAP_MAP(nlev_obs-1,nlev_gc-1) ! ! !REVISION HISTORY: ! 23 Sep 2020 - Elise Penn - get map of layer overlaps based on interpolation ! in Langerock et a. 2015 and used in equation 13 of ! Keppens et al. 2019. See description of ! "mass-conserved regridding" in Keppens et al. ! 2019: https://doi.org/10.5194/amt-12-4379-2019 !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: LGC, LTM REAL(fp) :: DIFF REAL(fp) :: LOW_GC, HI_GC REAL(fp) :: LOW_OBS, HI_OBS !================================================================= ! GET_OVERLAP_MAP begins here! !================================================================= ! Initialize OVERLAP_MAP(:,:) = 0e+0_fp ! Loop over each pressure level of observation retrieval grid DO LTM = L0, nlev_obs-1 LOW_OBS = OBS_PEDGE(LTM+1) HI_OBS = OBS_PEDGE(LTM) ! Find the levels from GC that bracket level LTM DO LGC = 1, nlev_gc-1 LOW_GC = GC_PEDGE(LGC+1) HI_GC = GC_PEDGE(LGC) ! Match GEOS-Chem level to observation level IF ( ( HI_OBS <= HI_GC .and. HI_OBS > LOW_GC ) .or. & ( LOW_OBS <= HI_GC .and. LOW_OBS > LOW_GC ) .or. & ( HI_GC <= HI_OBS .and. HI_GC > LOW_OBS ) .or. & ( LOW_GC <= HI_OBS .and. LOW_GC > LOW_OBS ) ) THEN DIFF = HI_GC- LOW_GC OVERLAP_MAP(LTM,LGC) = ( MIN(HI_OBS,HI_GC) - & MAX(LOW_OBS,LOW_GC) ) / DIFF ENDIF ENDDO ENDDO END SUBROUTINE GET_OVERLAP_MAP !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: mass_interp ! ! !DESCRIPTION: Perform interpolation from model levels to the levels of your ! observation, erp, Oct 6, 2020 ! The interpolation redistributes mass between model and observation layers, ! then returns it to the edges of the layers for application of the AK and ! pressure weights. Based on equation 13 of Keppens 2019 !\\ !\\ ! !INTERFACE: ! SUBROUTINE MASS_INTERP( GC_PEDGE, OBS_PEDGE, GC_CH4_NATIVE, L0, & nlev_gc, nlev_obs, CH4_INTERP_EDGES ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: nlev_obs, nlev_gc, L0 REAL(fp), INTENT(IN) :: GC_PEDGE(nlev_gc+1) REAL(fp), INTENT(IN) :: GC_CH4_NATIVE(nlev_gc) REAL(fp), INTENT(IN) :: OBS_PEDGE(nlev_obs) ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: CH4_INTERP_EDGES(nlev_obs) !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) :: GC_PEDGE_EXT(nlev_gc+1), OBS_HPRIME(nlev_obs+1) REAL(fp) :: OVERLAP_MAP(nlev_obs,nlev_gc) REAL(fp) :: M_obs(nlev_obs), M_gc(nlev_gc) REAL(fp) :: CH4_INTERP_INTEGRATED(nlev_obs) REAL(fp) :: CH4_MODEL_INTEGRATED(nlev_gc) INTEGER :: LGC, LOBS ! Initialize CH4_INTERP_EDGES(:) = 0.0_fp ! note your missing value is 0 ! extend GEOS-Chem so it covers the full vertical range ! of the observations CALL EXTEND_GC( GC_PEDGE, OBS_PEDGE, L0, nlev_gc+1, nlev_obs, GC_PEDGE_EXT ) ! calculate HPRIME pressure edges from equation 11 CALL H_TO_HPRIME( OBS_PEDGE, L0, nlev_obs, OBS_HPRIME ) ! OVERLAP_MAP is W in eq 13 CALL GET_OVERLAP_MAP( GC_PEDGE_EXT, OBS_HPRIME, L0, nlev_gc+1, & nlev_obs+1, OVERLAP_MAP ) ! M_gc and M_obs are M_in and M_out from eq 14 ! They are diagonal matrices, so we can use a vector M_gc(:) = 0.0_fp DO LGC = 1, nlev_gc M_gc(LGC) = GC_PEDGE_EXT(LGC) - GC_PEDGE_EXT(LGC+1) ENDDO M_obs(:) = 0.0_fp DO LOBS = L0, nlev_obs M_obs(LOBS) = OBS_HPRIME(LOBS) - OBS_HPRIME(LOBS+1) ENDDO ! Intermediate steps for eq 14: ! 1) M_in * x CH4_MODEL_INTEGRATED(:) = 0.0_fp DO LGC = 1, nlev_gc CH4_MODEL_INTEGRATED(LGC) = M_gc(LGC) * GC_CH4_NATIVE(LGC) ENDDO ! 2) W * M_in * x (matrix multiply W and M_in*x) CH4_INTERP_INTEGRATED(:) = 0.0_fp DO LGC = 1, nlev_gc DO LOBS = L0, nlev_obs CH4_INTERP_INTEGRATED(LOBS) = CH4_INTERP_INTEGRATED(LOBS) + & OVERLAP_MAP(LOBS,LGC) * CH4_MODEL_INTEGRATED(LGC) ENDDO ENDDO ! 3) inv(M_out) * W * M_in * x DO LOBS = L0, nlev_obs ! inv(M_out) = 1/M_out because it is diagonal CH4_INTERP_EDGES(LOBS) = 1.0_fp/M_obs(LOBS) * CH4_INTERP_INTEGRATED(LOBS) ENDDO END SUBROUTINE MASS_INTERP !EOC END MODULE GOSAT_CH4_MOD ================================================ FILE: GeosCore/hco_interface_gc_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! ! Harmonized Emissions Component (HEMCO) ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: hco_interface_gc_mod.F90 ! ! !DESCRIPTION: Module hco\_interface\_gc\_mod.F90 contains routines and ! variables to interface GEOS-Chem and HEMCO. It contains the HEMCO ! state object (HcoState) as well as init-run-finalize driver routines ! to run HEMCO within GEOS-Chem. !\\ !\\ ! The HEMCO driver is now present in this file as HEMCO is restructured to ! provide a unified point-of-entry for coupling with other models. !\\ !\\ ! Notes: ! \begin{itemize} ! \item HEMCO is used to calculate all emission fields. The emission tendencies ! are passed to GEOS-Chem in module mixing\_mod.F90. ! \item Most meteorological fields needed by the HEMCO extensions are provided ! through the GEOS-Chem meteorological state object Met\_State. Few fields ! such as the pressure edges or J-values are defined and updated explicitly ! within this module. ! \End{itemize} ! !INTERFACE: ! MODULE HCO_Interface_GC_Mod ! ! !USES: ! USE Precision_Mod USE HCO_Error_Mod USE HCO_Interface_Common ! Import the HEMCO states and their types from the state container USE HCOX_State_Mod, ONLY : Ext_State USE HCO_State_Mod, ONLY : HCO_State USE HCO_State_GC_Mod, ONLY : HcoState, ExtState IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! #ifndef MODEL_CESM PUBLIC :: HCOI_GC_Init PUBLIC :: HCOI_GC_Run PUBLIC :: HCOI_GC_Final #endif PUBLIC :: HCOI_GC_WriteDiagn PUBLIC :: Compute_Sflx_For_Vdiff PUBLIC :: Set_DryDepVel_Diagnostics ! ! !PRIVATE MEMBER FUNCTIONS: ! #ifndef MODEL_CESM PRIVATE :: ExtState_InitTargets PRIVATE :: ExtState_SetFields PRIVATE :: ExtState_UpdateFields #endif PRIVATE :: Get_SzaFact PRIVATE :: GridEdge_Set PRIVATE :: CheckSettings PRIVATE :: SetHcoGrid PRIVATE :: SetHcoSpecies #ifdef MODEL_CLASSIC PRIVATE :: Get_Met_Fields #endif ! ! !REMARKS: ! Formerly HCOI\_GC\_Main\_Mod. ! ! !REVISION HISTORY: ! 20 Aug 2013 - C. Keller - Initial version. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !PRIVATE TYPES: ! !------------------------------------ ! %%% Species ID's %%% !------------------------------------ INTEGER :: id_HNO3 INTEGER :: id_LIMO INTEGER :: id_NO INTEGER :: id_NO2 INTEGER :: id_O3 INTEGER :: id_POPG !------------------------------------ ! %%% Arrays, Pointers, Targets %%% !------------------------------------ ! Internal met fields (will be used by some extensions) INTEGER, TARGET :: HCO_PBL_MAX ! level #if defined( MODEL_CLASSIC ) !------------------------------------------------ ! %%% Internal HEMCO intermediate resolution %%% ! %%% meteorological fields %%% !------------------------------------------------ ! These will ONLY be allocated and used if HEMCO-intermediate grid ! is enabled (resolutions differ) ! ! Note: These could be migrated to inside a derived-type object ! by storing directly in ExtState through array assertions. However, ! this would involve a lot of code path branching as we do not want ! to assert arrays for other models when not running IMGrid and incurring ! waste of memory. For the sake of maintaining old code implementations ! "as-is" and making the intermediate an as-seamless-possible patch over ! the original implementation, we list all these module variables here. ! I am aware that there is a cleaner implementation. (hplin, 6/9/20) ! 2-D fields REAL(hp), POINTER :: H_SZAFACT (:,:) REAL(hp), POINTER :: H_JNO2 (:,:) REAL(hp), POINTER :: H_JOH (:,:) REAL(hp), POINTER :: H_PSC2_WET (:,:) REAL(hp), POINTER :: H_FRCLND (:,:) REAL(hp), POINTER :: H_MODISLAI (:,:) REAL(hp), POINTER :: H_CNV_FRC (:,:) INTEGER, POINTER :: H_TropLev (:,:) REAL(hp), POINTER :: H_TROPP (:,:) REAL(hp), POINTER :: H_FLASH_DENS(:,:) REAL(hp), POINTER :: H_CONV_DEPTH(:,:) REAL(hp), POINTER :: H_SUNCOS (:,:) REAL(hp), POINTER :: H_DRY_TOTN (:,:) REAL(hp), POINTER :: H_WET_TOTN (:,:) ! 3-D fields REAL(hp), POINTER :: H_T (:,:,:) REAL(hp), POINTER :: H_AD (:,:,:) REAL(hp), POINTER :: H_AIRVOL (:,:,:) REAL(hp), POINTER :: H_AIRDEN (:,:,:) REAL(hp), POINTER :: H_F_OF_PBL (:,:,:) REAL(hp), POINTER :: H_SPHU (:,:,:) ! Note: Only need ZBND = 1 sfc value REAL(hp), POINTER :: H_SpcO3 (:,:,:) REAL(hp), POINTER :: H_SpcNO2 (:,:,:) REAL(hp), POINTER :: H_SpcNO (:,:,:) REAL(hp), POINTER :: H_SpcHNO3 (:,:,:) REAL(hp), POINTER :: H_SpcPOPG (:,:,:) ! Intermediate temporaries for regridding REAL(hp), POINTER :: REGR_3DI (:,:,:) ! Regridding temporary pointer (in) REAL(hp), POINTER :: REGR_3DO (:,:,:) ! (out) #endif ! ! !DEFINED PARAMETERS: ! ! Temporary toggle for diagnostics LOGICAL, PARAMETER :: DoDiagn = .TRUE. CONTAINS #if !defined( MODEL_CESM ) !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: HCOI_GC_Init ! ! !DESCRIPTION: Subroutine HCOI\_GC\_INIT initializes the HEMCO derived ! types and arrays. The HEMCO configuration is read from the HEMCO ! configuration file (HEMCO_Config.rc) and stored in the HEMCO configuration ! object. The entire HEMCO setup is based upon the entries in the HEMCO ! configuration object. It is possible to explicitly provide a (previously ! read) HEMCO configuration object via input argument `HcoConfig`. In this ! case the HEMCO configuration file will not be read any more. !\\ !\\ ! It is also possible to specify an optional, State_Grid_HCO argument. ! If this is specified, the HEMCO 'intermediate grid' implementation will be ! enabled and HEMCO will operate on a distinct grid from the GEOS-Chem simulation, ! and met fields and emissions will be regridded on-demand in memory. This permits ! the use of higher resolution masks, scaling factors and HEMCO extensions. ! (hplin, 6/2/20) !\\ !\\ ! !INTERFACE: ! SUBROUTINE HCOI_GC_Init( Input_Opt, State_Chm, State_Grid, & State_Met, RC, HcoConfig ) ! ! !USES: ! USE CMN_SIZE_Mod, ONLY : NDSTBIN USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : Species USE State_Chm_Mod, ONLY : ChmState USE State_Chm_Mod, ONLY : Ind_ USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_TS_EMIS, GET_TS_DYN USE TIME_MOD, ONLY : GET_TS_CHEM #ifdef TOMAS USE TOMAS_MOD, ONLY : Xk #endif ! HEMCO routines USE HCO_Types_Mod, ONLY : ConfigObj USE HCO_Config_Mod, ONLY : Config_ReadFile, ConfigInit USE HCO_State_Mod, ONLY : HcoState_Init USE HCO_Diagn_Mod, ONLY : DiagnFileOpen USE HCO_Driver_Mod, ONLY : HCO_Init USE HCOI_GC_Diagn_Mod, ONLY : HCOI_GC_Diagn_Init USE HCOX_Driver_Mod, ONLY : HCOX_Init USE HCOX_State_Mod, ONLY : ExtStateInit #ifdef MODEL_CLASSIC ! HEMCO Intermediate Grid specification USE HCO_State_GC_Mod, ONLY : State_Grid_HCO USE GC_Grid_Mod, ONLY : Compute_Scaled_Grid USE HCO_Utilities_GC_Mod, ONLY : Init_IMGrid #endif ! ! !INPUT PARAMETERS: ! TYPE(ChmState), INTENT(IN ) :: State_Chm ! Chemistry state TYPE(GrdState), INTENT(IN ) :: State_Grid ! Grid state TYPE(MetState), INTENT(IN ) :: State_Met ! Met state ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input opts TYPE(ConfigObj), POINTER, OPTIONAL :: HcoConfig ! HEMCO config object INTEGER, INTENT(INOUT) :: RC ! Failure or success ! ! !REVISION HISTORY: ! 12 Sep 2013 - C. Keller - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: LSTRAT, FOUND INTEGER :: nHcoSpc, HMRC INTEGER :: N ! Strings CHARACTER(LEN=255) :: HcoConfigFile CHARACTER(LEN=255) :: OptName, ThisLoc CHARACTER(LEN=512) :: ErrMSg ! Pointers TYPE(ConfigObj), POINTER :: iHcoConfig => NULL() TYPE(Species), POINTER :: SpcInfo !======================================================================= ! HCOI_GC_INIT begins here! !======================================================================= ! Initialize RC = GC_SUCCESS HMRC = HCO_SUCCESS ErrMsg = '' ThisLoc = ' -> at HCOI_GC_Init (in module GeosCore/hco_interface_gc_mod.F90)' ! Name of HEMCO configuration file HcoConfigFile = 'HEMCO_Config.rc' ! Define all species ID's here, for use in module routines below id_HNO3 = Ind_('HNO3') id_LIMO = Ind_('LIMO') id_NO = Ind_('NO' ) id_NO2 = Ind_('NO2' ) id_O3 = Ind_('O3' ) id_POPG = Ind_('POPG') IF ( id_POPG < 0 ) THEN id_POPG = Ind_('POPG_BaP') ENDIF IF ( id_POPG < 0 ) THEN id_POPG = Ind_('POPG_PHE') ENDIF IF ( id_POPG < 0 ) THEN id_POPG = Ind_('POPG_PYR') ENDIF #ifdef MODEL_CLASSIC ! Initialize the intermediate grid descriptor. ! To disable the HEMCO intermediate grid feature, simply set this DY, DX to ! equal to State_Grid%DY, State_Grid%DX (e.g. 2x2.5, 4x5, ...) ! ! TODO: Read in the grid parameters via geoschem_config.yml. For now, ! hardcode the scale factor. Input_Opt%IMGRID_XSCALE = 1 Input_Opt%IMGRID_YSCALE = 1 ! To test GC-Classic WITHOUT intermediate grid ! Input_Opt%IMGRID_XSCALE = 1 ! Input_Opt%IMGRID_YSCALE = 1 ! Are we using HEMCO intermediate grid implementation? ! Note: The mere presence of State_Grid_HCO does not mean ! that the intermediate grid is necessarily different. ! The code path is decided if the intermediate is actually a different grid. IF ( Input_Opt%IMGRID_XSCALE /= 1 .or. Input_Opt%IMGRID_XSCALE /= 1 ) THEN ! Force .or. .true. to waste CPU cycles in regridding and debug Map_A2A above Input_Opt%LIMGRID = .true. ! In intermediate grid implementation WRITE(6, *) "HEMCO INTERMEDIATE GRID:" CALL Compute_Scaled_Grid ( Input_Opt, State_Grid, State_Grid_HCO, Input_Opt%IMGRID_XSCALE, Input_Opt%IMGRID_YSCALE, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Compute_Scaled_Grid"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) ENDIF write(State_Grid_HCO%GridRes, '(f10.4,a,f10.4)') State_Grid_HCO%DX, "x", State_Grid_HCO%DY ! Initialize module temporaries for regridding ALLOCATE( REGR_3DI( State_Grid%NX, State_Grid%NY, State_Grid%NZ+1 ), STAT=RC ) CALL GC_CheckVar( 'hco_interface_gc_mod.F90:HCOI_GC_Init:REGR_3DI', 0, RC ) IF ( RC /= HCO_SUCCESS ) RETURN ALLOCATE( REGR_3DO( State_Grid_HCO%NX, State_Grid_HCO%NY, State_Grid_HCO%NZ+1 ), STAT=RC ) CALL GC_CheckVar( 'hco_interface_gc_mod.F90:HCOI_GC_Init:REGR_3DO', 0, RC ) IF ( RC /= HCO_SUCCESS ) RETURN ! And within the utilities module CALL Init_IMGrid( Input_Opt, State_Grid, State_Grid_HCO ) ELSE ! Intermediate grid is same as model grid. Maintain current implementation ! all computations about State_Grid_HCO can be skipped to save memory. ENDIF #endif ! Create a splash page IF ( Input_Opt%amIRoot ) THEN WRITE( 6, '(a)' ) REPEAT( '%', 79 ) WRITE( 6, 100 ) 'HEMCO: Harmonized Emissions Component' #ifdef MODEL_CLASSIC IF ( Input_Opt%LIMGRID ) THEN WRITE( 6, '(a)' ) 'HEMCO is running on a different grid than the model', State_Grid_HCO%GridRes ENDIF #endif WRITE( 6, 101 ) 'You are using HEMCO version ', ADJUSTL(HCO_VERSION) WRITE( 6, '(a)' ) REPEAT( '%', 79 ) 100 FORMAT( '%%%%%', 15x, a, 17x, '%%%%%' ) 101 FORMAT( '%%%%%', 15x, a, a12, 14x, '%%%%%' ) ENDIF !======================================================================= ! Read HEMCO configuration file and save into buffer. This also ! sets the HEMCO error properties (verbose mode? log file name, ! etc.) based upon the specifications in the configuration file. ! The log file is now read in two phases: phase 1 reads only the ! settings and extensions; phase 2 reads all data fields. This ! way, settings and extension options can be updated before ! reading all the associated fields. ! (ckeller, 2/13/15). !======================================================================= ! If HcoConfig is provided IF ( PRESENT( HcoConfig ) ) iHcoConfig => HcoConfig !--------------------------------------- ! Initialize HEMCO config object !--------------------------------------- CALL ConfigInit ( iHcoConfig, HMRC, State_Chm%nSpecies ) ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ConfigInit"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) ENDIF ! Is this the root CPU? iHcoConfig%amIRoot = Input_Opt%amIRoot ! Met and grid parameters iHcoConfig%MetField = Input_Opt%MetField ! In any way, even if the intermediate grid is enabled, the grid resolution ! tokens ($RES$) should be replaced with the token that is most appropriate ! with the model native resolution. ! ! This might not be the case in the future, but it involves other ! science implications that should be discussed with the scientific GCSC! ! (hplin, 6/4/20) iHcoConfig%GridRes = State_Grid%GridRes ! Pass GEOS-Chem species information to HEMCO config object to ! facilitate reading GEOS-Chem restart file via HEMCO iHcoConfig%nModelSpc = State_Chm%nSpecies iHcoConfig%nModelAdv = State_Chm%nAdvect DO N = 1, State_Chm%nSpecies ! Get info for this species from the species database SpcInfo => State_Chm%SpcData(N)%Info ! Model ID and species name iHcoConfig%ModelSpc(N)%ModID = SpcInfo%ModelID iHcoConfig%ModelSpc(N)%SpcName = TRIM( SpcInfo%Name ) ! Free pointer SpcInfo => NULL() ENDDO !--------------------------------------- ! Phase 1: read settings and switches !--------------------------------------- CALL Config_ReadFile( Input_Opt%amIRoot, & iHcoConfig, & HcoConfigFile, & 1, & HMRC, & IsDryRun=Input_Opt%DryRun ) ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "Config_Readfile" (Phase 1)!' CALL GC_Error( ErrMsg, RC, ThisLoc ) ENDIF ! Check settings CALL CheckSettings( iHcoConfig, Input_Opt, State_Met, State_Chm, HMRC ) ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "CheckSettings"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !--------------------------------------- ! Open logfile !--------------------------------------- CALL HCO_LOGFILE_OPEN( iHcoConfig%Err, Input_Opt%amIRoot, RC=HMRC, & logLUN=iHcoConfig%hcoLogLUN ) ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "HCO_LogFile_Open"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !--------------------------------------- ! Phase 2: read fields !--------------------------------------- CALL Config_ReadFile( Input_Opt%amIRoot, & iHcoConfig, & HcoConfigFile, & 2, & HMRC, & IsDryRun=Input_Opt%DryRun ) ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "Config_Readfile" (Phase 2)!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !======================================================================= ! Initialize HEMCO state object and populate it !======================================================================= !----------------------------------------------------------------------- ! Extract species to use in HEMCO. nHcoSpc denotes the number of ! species that shall be used in HEMCO. The species properties are ! defined in the Register_Species call below. ! Typically, nHcoSpc is just the number of species defined in both ! the HEMCO configuration file and GEOS-Chem. However, additional ! species can be defined, e.g. those not transported in GEOS-Chem ! (e.g. SESQ) or tagged species (e.g. specialty simulations). !----------------------------------------------------------------------- CALL SetHcoSpecies ( Input_Opt, State_Chm, HcoState, nHcoSpc, 1, HMRC ) ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = & 'Error encountered in ""SetHcoSpecies" (first call, to get species)!' CALL GC_Error( ErrMsg, RC, ThisLoc ) CALL Flush( HcoState%Config%Err%Lun ) RETURN ENDIF !----------------------------------------------------------------------- ! Now that number of HEMCO species are known, initialize HEMCO ! state object. Links the HEMCO configuration file object ! iHcoConfig to HcoState%Config. !----------------------------------------------------------------------- CALL HcoState_Init( HcoState, iHcoConfig, nHcoSpc, HMRC ) ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "HCOState_Init"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) CALL Flush( HcoState%Config%Err%Lun ) RETURN ENDIF !----------------------------------------------------------------------- ! Register species. This will define all species properties ! (names, molecular weights, etc.) of the HEMCO species. !----------------------------------------------------------------------- CALL SetHcoSpecies ( Input_Opt, State_Chm, HcoState, nHcoSpc, 2, HMRC ) ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = & 'Error encountered in "SetHcoSpecies" (second call, to register species)!' CALL GC_Error( ErrMsg, RC, ThisLoc ) CALL Flush( HcoState%Config%Err%Lun ) RETURN ENDIF !----------------------------------------------------------------------- ! Set the HEMCO grid !----------------------------------------------------------------------- #ifdef MODEL_CLASSIC IF ( Input_Opt%LIMGRID ) THEN CALL SetHcoGrid( State_Grid_HCO, State_Met, HcoState, RC ) ELSE #endif CALL SetHcoGrid( State_Grid, State_Met, HcoState, RC ) #ifdef MODEL_CLASSIC ENDIF #endif ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "Set_Grid"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) CALL Flush( HcoState%Config%Err%Lun ) RETURN ENDIF !======================================================================= ! Set misc. parameter !======================================================================= #ifdef ADJOINT if ( Input_Opt%amIRoot ) WRITE(*,*) 'Setting isAdjoint to ', Input_Opt%is_adjoint HcoState%isAdjoint = Input_opt%is_adjoint #endif ! Emission, chemistry and dynamics timestep in seconds HcoState%TS_EMIS = GET_TS_EMIS() HcoState%TS_CHEM = GET_TS_CHEM() HcoState%TS_DYN = GET_TS_DYN() ! Is this an ESMF simulation or not? ! The ESMF flag must be set before calling HCO_Init because the ! source file name is set differently in an ESMF environment ! compared to a stand-alone version: in ESMF, the source file name ! is set to the container name since this is the identifying name ! used by ExtData. #ifdef ESMF_ HcoState%Options%isESMF = .TRUE. #else HcoState%Options%isESMF = .FALSE. #endif ! Set deposition length scale. This determines if dry deposition ! frequencies are calculated over the entire PBL or the first ! model layer only. HcoState%Options%PBL_DRYDEP = Input_Opt%PBL_DRYDEP !---------------------------------------------------------------------- ! Are we running HEMCO in a dry-run mode? ! This is dictated by the GEOS-Chem environment. If GEOS-Chem is in a ! dry-run mode, no compute is performed and files are only "checked". ! Simulations will NOT stop on missing files. This is intended to be a ! quick sanity check to make sure that GEOS-Chem IO are all correctly ! set up, which is why most of the runs fail to complete successfully. ! (hplin, 11/2/19) ! ! Dry run simulations will send output to the stdout (which usually ! gets piped to the GEOS-Chem log file). ! ! NOTE: The dry-run option is only invoked in GEOS-Chem "Classic", ! so these values will remain at their defaults (.FALSE. and -1, ! respectively) when we use HEMCO in external ESMs (bmy, 11/13/19) !---------------------------------------------------------------------- HcoState%Options%IsDryRun = Input_Opt%DryRun !======================================================================= ! Initialize HEMCO internal lists and variables. All data ! information is written into internal lists (ReadList) and ! the HEMCO configuration file is removed from buffer in this ! step. This also initializes the HEMCO clock as well as the ! HEMCO emissions diagnostics collection. !======================================================================= CALL HCO_Init( HcoState, HMRC ) ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "HCO_Init"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) CALL Flush( HcoState%Config%Err%Lun ) RETURN ENDIF ! Save # of defined dust species in HcoState HcoState%nDust = NDSTBIN ! Use marine organic aerosols? HcoState%MarinePOA = Input_Opt%LMPOA #ifdef TOMAS ! Save # of TOMAS size bins in HcoState HcoState%MicroPhys%nBins = State_Chm%nTomasBins ! Point to TOMAS bin boundaries array (Xk) in HcoState HcoState%MicroPhys%BinBound => Xk ! Save # of TOMAS active mode bins in HcoState #if defined( TOMAS40 ) HcoState%MicroPhys%nActiveModeBins = 10 #elif defined( TOMAS15 ) HcoState%MicroPhys%nActiveModeBins = 3 #else HcoState%MicroPhys%nActiveModeBins = 0 #endif #endif !======================================================================= ! Initialize all HEMCO extensions. This also selects the required ! met fields used by each extension. !======================================================================= CALL HCOX_Init( HcoState, ExtState, HMRC ) ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "HCOX_Init"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) CALL Flush( HcoState%Config%Err%Lun ) RETURN ENDIF !======================================================================= ! For dry-runs only: Print the status of the HEMCO diagnostic ! configuration file (e.g. HEMCO_Diagn.rc), and then exit !======================================================================= IF ( Input_Opt%DryRun ) THEN CALL DiagnFileOpen( HcoState%Config, N, RC, IsDryRun=.TRUE. ) RETURN ENDIF !----------------------------------------------------------------------- ! Update and check logical switches in Input_Opt !----------------------------------------------------------------------- ! Soil NOx Input_Opt%LSOILNOX = ( ExtState%SoilNOx > 0 ) Input_Opt%UseSoilTemp = ExtState%TSOIL1%DoUse ! Ginoux dust emissions IF ( ExtState%DustGinoux > 0 ) THEN IF ( .not. Input_Opt%LDUST ) THEN ErrMsg = 'DustGinoux is on in HEMCO but activate dust is false ' // & ' in geoschem_config.yml!' CALL GC_Error( ErrMsg, RC, ThisLoc ) CALL Flush( HcoState%Config%Err%Lun ) RETURN ENDIF Input_Opt%LDEAD = .FALSE. ENDIF ! DEAD dust emissions IF ( ExtState%DustDead > 0 ) THEN IF ( .not. Input_Opt%LDUST ) THEN ErrMsg = 'DustDead is on in HEMCO but activate dust is false ' // & 'in geoschem_config.yml!' CALL GC_Error( ErrMsg, RC, ThisLoc ) CALL Flush( HcoState%Config%Err%Lun ) RETURN ENDIF Input_Opt%LDEAD = .TRUE. ENDIF ! Dust alkalinity IF ( ExtState%DustAlk > 0 ) THEN IF ( .not. Input_Opt%LDSTUP ) THEN ErrMsg = 'DustAlk is on in HEMCO but acid_uptake_on_dust is ' // & 'false in geoschem_config.yml' CALL GC_Error( ErrMsg, RC, ThisLoc ) CALL Flush( HcoState%Config%Err%Lun ) RETURN ENDIF ENDIF !----------------------------------------------------------------------- ! Set constants for POPs simulation !----------------------------------------------------------------------- IF ( ExtState%GC_POPs > 0 ) THEN ExtState%POP_DEL_H = Input_Opt%POP_DEL_H ExtState%POP_KOA = Input_Opt%POP_KOA ExtState%POP_KBC = Input_Opt%POP_KBC ExtState%POP_DEL_Hw = Input_Opt%POP_DEL_Hw ExtState%POP_XMW = Input_Opt%POP_XMW ExtState%POP_HSTAR = Input_Opt%POP_HSTAR ENDIF !----------------------------------------------------------------------- ! Initialize ExtState target arrays. ! Extensions typically depend on environmental dependent met. ! variables such as wind speed, surface temp., etc. Pointers ! to these (2D or 3D) fields are defined in the extension object. ! Here, we need to make sure that these pointers are properly ! connected. !----------------------------------------------------------------------- #ifdef MODEL_CLASSIC IF ( Input_Opt%LIMGRID ) THEN ! Use the HEMCO "intermediate" grid -- allocate arrays accordingly CALL ExtState_InitTargets( HcoState, ExtState, Input_Opt, State_Grid, HMRC, State_Grid_HCO ) ELSE CALL ExtState_InitTargets( HcoState, ExtState, Input_Opt, State_Grid, HMRC ) ENDIF #else CALL ExtState_InitTargets( HcoState, ExtState, Input_Opt, State_Grid, HMRC ) #endif ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtState_InitTargets"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) CALL Flush( HcoState%Config%Err%Lun ) RETURN ENDIF !----------------------------------------------------------------------- ! Define diagnostics !----------------------------------------------------------------------- IF ( DoDiagn ) THEN ! Set up traditional GEOS-Chem NDxx diagnostics for emissions CALL HCOI_GC_Diagn_Init( Input_Opt, HcoState, ExtState, HMRC ) ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "HCOI_GC_Diagn_Init"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) CALL Flush( HcoState%Config%Err%Lun ) RETURN ENDIF ENDIF !================================================================= ! Cleanup and quit !================================================================= ! Eventually remove pointer IF ( PRESENT( HcoConfig ) ) iHcoConfig => NULL() ! Leave w/ success RC = GC_SUCCESS END SUBROUTINE HCOI_GC_INIT !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: HCOI_GC_Run ! ! !DESCRIPTION: Subroutine HCOI\_GC\_Run runs HEMCO from GEOS-Chem. !\\ !\\ ! !INTERFACE: ! SUBROUTINE HCOI_GC_Run( Input_Opt, State_Chm, State_Grid, & State_Met, EmisTime, Phase, RC ) ! ! !USES: ! USE ErrCode_Mod USE Get_Ndep_Mod, ONLY : Reset_Dep_N ! For soilnox USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE Time_Mod ! HEMCO routines USE HCO_Clock_Mod, ONLY : HcoClock_Get USE HCO_Clock_Mod, ONLY : HcoClock_EmissionsDone USE HCO_Diagn_Mod, ONLY : HcoDiagn_AutoUpdate USE HCO_FluxArr_Mod, ONLY : HCO_FluxarrReset USE HCO_Driver_Mod, ONLY : HCO_Run USE HCOX_Driver_Mod, ONLY : HCOX_Run #if defined( MODEL_CLASSIC ) ! HEMCO utility routines for GEOS-Chem USE HCO_Utilities_GC_Mod, ONLY : Get_GC_Restart USE HCO_Utilities_GC_Mod, ONLY : Get_Boundary_Conditions #endif ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN ) :: EmisTime ! Is this an emission time step? INTEGER, INTENT(IN ) :: Phase ! Run phase (see remarks) TYPE(GrdState), INTENT(IN ) :: State_Grid ! Grid state ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input options TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteo state TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry state INTEGER, INTENT(INOUT) :: RC ! Failure or success ! ! !REMARKS: ! Phase -1 : Used for GCHP ! Phase 0 : Simplified Phase 1 for reading initial met fields and restart file ! Phase 1 : Update HEMCO clock and HEMCO data list and get met fields ! Phase 2 : Perform emissions calculation ! ! !REVISION HISTORY: ! 12 Sep 2013 - C. Keller - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! SAVEd variables REAL(f8), SAVE :: PrevTAU = -999999.0_f8 ! Scalars LOGICAL :: notDryRun INTEGER :: HMRC LOGICAL :: IsEmisTime LOGICAL :: IsEndStep INTEGER :: year, month, day, dayOfYr, hour, minute, second ! Strings CHARACTER(LEN=255) :: ThisLoc CHARACTER(LEN=512) :: ErrMsg ! Arrays INTEGER :: D(2) ! Variable for date and time !======================================================================= ! HCOI_GC_RUN begins here! !======================================================================= ! Initialize RC = GC_SUCCESS HMRC = HCO_SUCCESS ErrMsg = '' ThisLoc = & ' -> at HCOI_GC_Run (in module GeosCore/hco_interface_gc_mod.F90)' notDryRun = ( .not. Input_Opt%DryRun ) !======================================================================= ! Make sure HEMCO time is in sync with simulation time ! Now done through a universal function in HCO_Interface_Common !======================================================================= year = GET_YEAR() month = GET_MONTH() day = GET_DAY() dayOfYr = GET_DAY_OF_YEAR() hour = GET_HOUR() minute = GET_MINUTE() second = GET_SECOND() CALL SetHcoTime( HcoState, ExtState, year, month, day, dayOfYr, & hour, minute, second, EmisTime, HMRC ) ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "SetHcoTime"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) CALL Flush( HcoState%Config%Err%Lun ) RETURN ENDIF !======================================================================= ! See if it's time for emissions. Don't just use the EmisTime flag in ! case that we call this routine multiple times. IsEmisTime will only ! be true if this is an emission time step AND emissions have not yet ! been calculated for that time step. !======================================================================= CALL HcoClock_Get( HcoState%Clock, IsEmisTime=IsEmisTime, RC=HMRC ) ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "HcoClock_Get"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) CALL Flush( HcoState%Config%Err%Lun ) RETURN ENDIF ! Check if this is the last GEOS-Chem timestep IF ((( HcoState%Clock%ThisYear * 10000 + HcoState%Clock%ThisMonth * 100 + & HcoState%Clock%ThisDay ) == Input_Opt%NYMDe ) .AND. & (( HcoState%Clock%ThisHour * 10000 + HcoState%Clock%ThisMin * 100 + & HcoState%Clock%ThisSec ) == Input_Opt%NHMSe )) THEN IsEndStep = .TRUE. ELSE IsEndStep = .FALSE. ENDIF !======================================================================= ! Reset all emission and deposition values. Do this only if it is time ! for emissions, i.e. if those values will be refilled. !======================================================================= IF ( IsEmisTime .AND. Phase == 2 .and. notDryRun ) THEN CALL HCO_FluxArrReset( HcoState, HMRC ) ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "HCO_FluxArrReset"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) CALL Flush( HcoState%Config%Err%Lun ) RETURN ENDIF ENDIF !======================================================================= ! Define pressure edges [Pa] on HEMCO grid. ! At Phase 0, the pressure field is not known yet. !======================================================================= IF ( Phase /= 0 .and. notDryRun ) THEN CALL GridEdge_Set( Input_Opt, State_Grid, State_Met, HcoState, HMRC ) ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "GridEdge_Set"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) CALL Flush( HcoState%Config%Err%Lun ) RETURN ENDIF ENDIF #if !defined( ESMF_ ) && !defined( MODEL_WRF ) ! Check if HEMCO has already been called for this timestep IF ( ( Phase == 1 ) .and. ( GET_TAU() == PrevTAU ) .and. Input_Opt%amIRoot ) THEN Print*, 'HEMCO already called for this timestep. Returning.' RETURN ENDIF #endif !======================================================================= ! Set HCO options !======================================================================= ! Range of species and emission categories. ! Set Extension number ExtNr to 0, indicating that the core ! module shall be executed. HcoState%Options%SpcMin = 1 HcoState%Options%SpcMax = -1 HcoState%Options%CatMin = 1 HcoState%Options%CatMax = -1 HcoState%Options%ExtNr = 0 ! Use temporary array? HcoState%Options%FillBuffer = .FALSE. !======================================================================= ! Run HCO core module ! Pass phase as argument. Phase 1 will update the emissions list, ! phase 2 will calculate the emissions. Emissions will be written into ! the corresponding flux arrays in HcoState. !======================================================================= CALL HCO_Run( HcoState, Phase, HMRC, IsEndStep ) ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "HCO_Run"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) CALL Flush( HcoState%Config%Err%Lun ) RETURN ENDIF #if defined( MODEL_CLASSIC ) !======================================================================= ! Get met fields from HEMCO (GEOS-Chem "Classic" only) !======================================================================= IF ( ( Phase == 0 .or. PHASE == 1 ) .and. notDryRun ) THEN CALL Get_Met_Fields( Input_Opt, State_Chm, State_Grid, State_Met, & Phase, RC ) IF ( RC /= HCO_SUCCESS ) THEN ErrMsg = 'Error encountered in "Get_Met_Fields"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !======================================================================= ! Get fields from GEOS-Chem restart file (GEOS-Chem "Classic" only) !======================================================================= IF ( Phase == 0 .and. notDryRun ) THEN CALL Get_GC_Restart( Input_Opt, State_Chm, State_Grid, State_Met, RC ) IF ( RC /= HCO_SUCCESS ) THEN ErrMsg = 'Error encountered in "Get_GC_Restart"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !======================================================================= ! Get boundary conditions from HEMCO (GEOS-Chem "Classic" only) ! This only retrieves boundary conditions from HEMCO and puts them into ! State_Chm%BoundaryCond. It no longer applies the boundary conditions ! to the species array, which is handled by Set_Boundary_Conditions(). ! This is so that boundary conditions can be updated at a higher frequency ! than the emissions timestep. (hplin, 7/28/23) !======================================================================= ! Assume BCs are 3-hourly and only get from HEMCO when needed IF ( PHASE == 0 ) THEN D = GET_FIRST_BC_TIME() ELSE D = GET_BC_TIME() ENDIF IF ( State_Grid%NestedGrid .and. notDryRun .and. & ( Phase == 0 .or. ( PHASE == 1 .and. ITS_TIME_FOR_BC() ) ) ) THEN IF ( Input_Opt%LTRAN ) THEN CALL Get_Boundary_Conditions( Input_Opt, State_Chm, State_Grid, & State_Met, D(1), D(2), RC ) IF ( RC /= HCO_SUCCESS ) THEN ErrMsg = 'Error encountered in "Get_Boundary_Conditions"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF ENDIF #endif !======================================================================= ! Do the following only if it's time to calculate emissions !======================================================================= IF ( Phase == 2 .AND. IsEmisTime ) THEN !-------------------------------------------------------------------- ! Set / update ExtState fields. ! Extensions typically depend on environmental dependent met. ! variables such as wind speed, surface temp., etc. Pointers ! to these (2D or 3D) fields are defined in the extension object. ! Here, we need to make sure that these pointers are properly ! connected. !-------------------------------------------------------------------- IF ( notDryRun ) THEN ! Set fields either as pointer targets or else. ! Regrid those for ImGrid. CALL ExtState_SetFields( Input_Opt, State_Chm, State_Grid, & State_Met, HcoState, ExtState, HMRC ) ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtState_SetFields"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) CALL Flush( HcoState%Config%Err%Lun ) RETURN ENDIF ! Update fields directly from State_Met. ! Regrid those for ImGrid. CALL ExtState_UpdateFields( Input_Opt, State_Chm, & State_Grid, State_Met, HcoState, & ExtState, HMRC ) ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtState_UpdateFields"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) CALL Flush( HcoState%Config%Err%Lun ) RETURN ENDIF ENDIF !==================================================================== ! Run HCO extensions. Emissions will be added to corresponding ! flux arrays in HcoState. !==================================================================== CALL HCOX_Run( HcoState, ExtState, HMRC ) ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "HCOX_Run"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) CALL Flush( HcoState%Config%Err%Lun ) RETURN ENDIF !==================================================================== ! Update all 'AutoFill' diagnostics. This makes sure that all ! diagnostics fields with the 'AutoFill' flag are up-to-date. The ! AutoFill flag is specified when creating a diagnostics container ! (Diagn_Create). !==================================================================== IF ( DoDiagn .and. notDryRun ) THEN CALL HcoDiagn_AutoUpdate( HcoState, HMRC ) ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "HcoDiagn_AutoUpdate"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) CALL Flush( HcoState%Config%Err%Lun ) RETURN ENDIF ENDIF !==================================================================== ! Reset the accumulated nitrogen dry and wet deposition to zero. ! Will be re-filled in drydep and wetdep. !==================================================================== IF ( ( Input_Opt%ITS_A_FULLCHEM_SIM .or. & Input_Opt%ITS_AN_AEROSOL_SIM ) .and. notDryRun ) THEN CALL RESET_DEP_N( State_Chm ) ENDIF !==================================================================== ! Emissions are now done for this time step !==================================================================== CALL HcoClock_EmissionsDone( HcoState%Clock, HMRC ) ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "HcoClock_EmissionsDone"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) CALL Flush( HcoState%Config%Err%Lun ) RETURN ENDIF ENDIF ! Save TAU PrevTAU = GET_TAU() ! We are now back in GEOS-Chem environment, hence set ! return flag accordingly! RC = GC_SUCCESS END SUBROUTINE HCOI_GC_Run !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: HCOI_GC_Final ! ! !DESCRIPTION: Subroutine HCOI\_GC\_Final cleans up HEMCO. This routine ! should be called before the finalize routines of State\_Chm in order to ! make sure that the emissions flux pointers are properly removed! !\\ !\\ ! !INTERFACE: ! SUBROUTINE HCOI_GC_Final( Error, RC ) ! ! !USES: ! USE ErrCode_Mod USE HCO_Driver_Mod, ONLY : HCO_Final USE HCO_Diagn_Mod, ONLY : DiagnBundle_Cleanup USE HCO_State_Mod, ONLY : HcoState_Final USE HCOX_Driver_Mod, ONLY : HCOX_Final ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: Error ! Cleanup after exit? ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REVISION HISTORY: ! 12 Sep 2013 - C. Keller - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: HMRC ! Strings CHARACTER(LEN=255) :: ThisLoc CHARACTER(LEN=512) :: ErrMsg !======================================================================= ! HCOI_GC_Final begins here! !======================================================================= ! Initialize RC = GC_SUCCESS HMRC = HCO_SUCCESS ErrMsg = '' ThisLoc = ' -> at HCOI_GC_Final (in module GeosCore/hco_interface_gc_mod.F90)' !----------------------------------------------------------------------- ! Cleanup HEMCO core !----------------------------------------------------------------------- CALL HCO_Final( HcoState, Error, HMRC ) ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "HCO_Final"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) CALL Flush( HcoState%Config%Err%Lun ) RETURN ENDIF !----------------------------------------------------------------------- ! Cleanup extensions and ExtState object ! This will also nullify all pointer to the met fields. !----------------------------------------------------------------------- CALL HCOX_Final( HcoState, ExtState, HMRC ) ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "HCOX_Final"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) CALL Flush( HcoState%Config%Err%Lun ) RETURN ENDIF !----------------------------------------------------------------------- ! Cleanup diagnostics !----------------------------------------------------------------------- CALL DiagnBundle_Cleanup( HcoState%Diagn ) !----------------------------------------------------------------------- ! Cleanup HcoState object !----------------------------------------------------------------------- CALL HcoState_Final( HcoState ) !----------------------------------------------------------------------- ! Deallocate module variables !----------------------------------------------------------------------- #if defined( MODEL_CLASSIC ) IF ( ASSOCIATED( REGR_3DI ) ) THEN DEALLOCATE( REGR_3DI ) CALL GC_CheckVar( 'hco_interface_gc_mod.F90:HCOI_GC_Final:REGR_3DI', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ASSOCIATED( REGR_3DO ) ) THEN DEALLOCATE( REGR_3DO ) CALL GC_CheckVar( 'hco_interface_gc_mod.F90:HCOI_GC_Final:REGR_3DO', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF #endif END SUBROUTINE HCOI_GC_Final !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ExtState_InitTargets ! ! !DESCRIPTION: SUBROUTINE ExtState\_InitTargets allocates some local arrays ! that act as targets for the ExtState object. !\\ ! If State_Grid_HCO is not given or Input_Opt%LIMGRID is set to false (from Init), ! this explicitly assumes that the HEMCO emissions grid is the same as the GEOS-Chem ! simulation grid. ! ! Otherwise, the met data has to be regridded explicitly at every time step! ! This is performed by creating a set of in-memory array temporaries within this module, ! that can be pointed to by ExtState. Note that a SET of temporaries MUST be always ! present -- you cannot cheat and swap them in memory. !\\ !\\ ! !INTERFACE: ! SUBROUTINE ExtState_InitTargets( HcoState, ExtState, Input_Opt, State_Grid, RC, & State_Grid_HCO ) ! ! !USES: ! USE ErrCode_Mod USE HCO_Arr_Mod, ONLY : HCO_ArrAssert USE State_Grid_Mod, ONLY : GrdState USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN ) :: Input_Opt ! Input options TYPE(GrdState), INTENT(IN ) :: State_Grid ! Grid State object TYPE(GrdState), INTENT(IN ), OPTIONAL :: State_Grid_HCO ! HEMCO ImGrid ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(HCO_STATE), POINTER :: HcoState TYPE(EXT_STATE), POINTER :: ExtState INTEGER, INTENT(INOUT) :: RC ! ! !REVISION HISTORY: ! 23 Oct 2012 - C. Keller - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! LOCAL VARIABLES: ! ! Scalars INTEGER :: HMRC INTEGER :: IM, JM, LM INTEGER :: IMh, JMh ! HEMCO grid sizes ! Strings CHARACTER(LEN=255) :: ThisLoc CHARACTER(LEN=512) :: ErrMsg !======================================================================= ! ExtState_InitTargets begins here !======================================================================= ! Initialize RC = GC_SUCCESS HMRC = HCO_SUCCESS ErrMsg = '' ThisLoc = & ' -> at ExtState_InitTargets (in module GeosCore/hco_interface_gc_mod.F90)' ! Shorthands IM = State_Grid%NX JM = State_Grid%NY LM = State_Grid%NZ ! By default, HEMCO grid sizes are the same as model. These values will be ! overwritten later IMh = IM JMh = JM #if defined( MODEL_CLASSIC ) IF ( Input_Opt%LIMGRID ) THEN IMh = State_Grid_HCO%NX JMh = State_Grid_HCO%NY ENDIF !----------------------------------------------------------------------- ! Notes for HEMCO Intermediate Grid: ! Due to the extensions requiring met fields and some of them are derived ! data, we need to initialize targets here. ! ! Some variables are stored on the MODEL grid, i.e., SZAFACT. ! Because they need to be computed here, before a regrid. ! ! Shadow targets for all derived met fields (not read from HEMCO) are ! initialized if Input_Opt%LIMGRID (Intermediate enabled) and kept updated ! at every ExtState_UpdateFields. !----------------------------------------------------------------------- IF ( Input_Opt%LIMGRID ) THEN ! 2-D Fields IF ( ExtState%SZAFACT%DoUse ) THEN ALLOCATE( H_SZAFACT( IMh, JMh ), STAT=RC ) CALL GC_CheckVar( 'hco_interface_gc_mod.F90:H_SZAFACT', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN H_SZAFACT = 0.0e0_hp ENDIF IF ( ExtState%JNO2%DoUse ) THEN ALLOCATE( H_JNO2( IMh, JMh ), STAT=RC ) CALL GC_CheckVar( 'hco_interface_gc_mod.F90:H_JNO2', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN H_JNO2 = 0.0e0_hp ENDIF IF ( ExtState%JOH%DoUse ) THEN ALLOCATE( H_JOH( IMh, JMh ), STAT=RC ) CALL GC_CheckVar( 'hco_interface_gc_mod.F90:H_JOH', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN H_JOH = 0.0e0_hp ENDIF IF ( ExtState%PSC2_WET%DoUse ) THEN ALLOCATE( H_PSC2_WET( IMh, JMh ), STAT=RC ) CALL GC_CheckVar( 'hco_interface_gc_mod.F90:H_PSC2_WET', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN H_PSC2_WET = 0.0e0_hp ENDIF IF ( ExtState%FRCLND%DoUse ) THEN ALLOCATE( H_FRCLND( IMh, JMh ), STAT=RC ) CALL GC_CheckVar( 'hco_interface_gc_mod.F90:H_FRCLND', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN H_FRCLND = 0.0e0_hp ENDIF IF ( ExtState%LAI%DoUse ) THEN ALLOCATE( H_MODISLAI( IMh, JMh ), STAT=RC ) CALL GC_CheckVar( 'hco_interface_gc_mod.F90:H_MODISLAI', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN H_MODISLAI = 0.0e0_hp ENDIF IF ( ExtState%CNV_FRC%DoUse ) THEN ALLOCATE( H_CNV_FRC( IMh, JMh ), STAT=RC ) CALL GC_CheckVar( 'hco_interface_gc_mod.F90:H_CNV_FRC', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN H_CNV_FRC = 0.0e0_hp ENDIF IF ( ExtState%TropLev%DoUse ) THEN ALLOCATE( H_TropLev( IMh, JMh ), STAT=RC ) CALL GC_CheckVar( 'hco_interface_gc_mod.F90:H_TropLev', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN H_TropLev = 0.0e0_hp ENDIF IF ( ExtState%TROPP%DoUse ) THEN ALLOCATE( H_TROPP( IMh, JMh ), STAT=RC ) CALL GC_CheckVar( 'hco_interface_gc_mod.F90:H_TROPP', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN H_TROPP = 0.0e0_hp ENDIF IF ( ExtState%FLASH_DENS%DoUse ) THEN ALLOCATE( H_FLASH_DENS( IMh, JMh ), STAT=RC ) CALL GC_CheckVar( 'hco_interface_gc_mod.F90:H_FLASH_DENS', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN H_FLASH_DENS = 0.0e0_hp ENDIF IF ( ExtState%CONV_DEPTH%DoUse ) THEN ALLOCATE( H_CONV_DEPTH( IMh, JMh ), STAT=RC ) CALL GC_CheckVar( 'hco_interface_gc_mod.F90:H_CONV_DEPTH', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN H_CONV_DEPTH = 0.0e0_hp ENDIF IF ( ExtState%DRY_TOTN%DoUse ) THEN ALLOCATE( H_DRY_TOTN( IMh, JMh ), STAT=RC ) CALL GC_CheckVar( 'hco_interface_gc_mod.F90:H_DRY_TOTN', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN H_DRY_TOTN = 0.0e0_hp ENDIF IF ( ExtState%WET_TOTN%DoUse ) THEN ALLOCATE( H_WET_TOTN( IMh, JMh ), STAT=RC ) CALL GC_CheckVar( 'hco_interface_gc_mod.F90:H_WET_TOTN', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN H_WET_TOTN = 0.0e0_hp ENDIF ! Almost 3-D Fields IF ( ExtState%SPHU%DoUse ) THEN ALLOCATE( H_SPHU( IMh, JMh, 1 ), STAT=RC ) ! Only need SURFACE SPHU CALL GC_CheckVar( 'hco_interface_gc_mod.F90:H_SPHU', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN H_SPHU = 0.0e0_hp ENDIF ! 3-D Fields IF ( ExtState%TK%DoUse ) THEN ALLOCATE( H_T( IMh, JMh, LM ), STAT=RC ) CALL GC_CheckVar( 'hco_interface_gc_mod.F90:H_T', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN H_T = 0.0e0_hp ENDIF IF ( ExtState%AIR%DoUse ) THEN ALLOCATE( H_AD( IMh, JMh, LM ), STAT=RC ) CALL GC_CheckVar( 'hco_interface_gc_mod.F90:H_AD', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN H_AD = 0.0e0_hp ENDIF IF ( ExtState%AIRVOL%DoUse ) THEN ALLOCATE( H_AIRVOL( IMh, JMh, LM ), STAT=RC ) CALL GC_CheckVar( 'hco_interface_gc_mod.F90:H_AIRVOL', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN H_AIRVOL = 0.0e0_hp ENDIF IF ( ExtState%FRAC_OF_PBL%DoUse ) THEN ALLOCATE( H_F_OF_PBL( IMh, JMh, LM ), STAT=RC ) CALL GC_CheckVar( 'hco_interface_gc_mod.F90:H_F_OF_PBL', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN H_F_OF_PBL = 0.0e0_hp ENDIF ! 3-D State_Chm fields IF ( id_O3 > 0 ) THEN ALLOCATE( H_SpcO3( IMh, JMh, LM ), STAT=RC ) CALL GC_CheckVar( 'hco_interface_gc_mod.F90:H_SpcO3', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN H_SpcO3 = 0.0e0_hp ENDIF IF ( id_NO2 > 0 ) THEN ALLOCATE( H_SpcNO2( IMh, JMh, LM ), STAT=RC ) CALL GC_CheckVar( 'hco_interface_gc_mod.F90:H_SpcNO2', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN H_SpcNO2 = 0.0e0_hp ENDIF IF ( id_NO > 0 ) THEN ALLOCATE( H_SpcNO( IMh, JMh, LM ), STAT=RC ) CALL GC_CheckVar( 'hco_interface_gc_mod.F90:H_SpcNO', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN H_SpcNO = 0.0e0_hp ENDIF IF ( id_HNO3 > 0 ) THEN ALLOCATE( H_SpcHNO3( IMh, JMh, LM ), STAT=RC ) CALL GC_CheckVar( 'hco_interface_gc_mod.F90:H_SpcHNO3', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN H_SpcHNO3 = 0.0e0_hp ENDIF IF ( id_POPG > 0 ) THEN ALLOCATE( H_SpcPOPG( IMh, JMh, LM ), STAT=RC ) CALL GC_CheckVar( 'hco_interface_gc_mod.F90:H_SpcPOPG', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN H_SpcPOPG = 0.0e0_hp ENDIF ENDIF #endif ! Initialize max. PBL HCO_PBL_MAX = 0 ! ---------------------------------------------------------------------- ! Arrays to be copied physically because HEMCO units are not the ! same as in GEOS-Chem ! ! In ImGrid, they also need to be regridded on the fly. ! ---------------------------------------------------------------------- ! TROPP: GEOS-Chem TROPP is in hPa, while HEMCO uses Pa. IF ( ExtState%TROPP%DoUse ) THEN CALL HCO_ArrAssert( ExtState%TROPP%Arr, IMh, JMh, HMRC ) ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "HCO_ArrAssert( TROPP )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) CALL Flush( HcoState%Config%Err%Lun ) RETURN ENDIF ENDIF ! SPHU: GEOS-Chem SPHU is in g/kg, while HEMCO uses kg/kg. ! NOTE: HEMCO only uses SPHU surface values. IF ( ExtState%SPHU%DoUse ) THEN CALL HCO_ArrAssert( ExtState%SPHU%Arr, IMh, JMh, 1, HMRC ) ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "HCO_ArrAssert( SPHU )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) CALL Flush( HcoState%Config%Err%Lun ) RETURN ENDIF ENDIF ! FLASH_DENS IF ( ExtState%FLASH_DENS%DoUse ) THEN CALL HCO_ArrAssert( ExtState%FLASH_DENS%Arr, IMh, JMh, HMRC ) ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "HCO_ArrAssert( FLASH_DENS )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) CALL Flush( HcoState%Config%Err%Lun ) RETURN ENDIF ENDIF ! CONV_DEPTH IF ( ExtState%CONV_DEPTH%DoUse ) THEN CALL HCO_ArrAssert( ExtState%CONV_DEPTH%Arr, IMh, JMh, HMRC ) ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "HCO_ArrAssert( CONV_DEPTH )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) CALL Flush( HcoState%Config%Err%Lun ) RETURN ENDIF ENDIF ! SUNCOS: HEMCO now calculates SUNCOS values based on its own ! subroutine IF ( ExtState%SUNCOS%DoUse ) THEN CALL HCO_ArrAssert( ExtState%SUNCOS%Arr, IMh, JMh, HMRC ) ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "HCO_ArrAssert( SUNCOS )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) CALL Flush( HcoState%Config%Err%Lun ) RETURN ENDIF ENDIF ! Leave with success RC = GC_SUCCESS END SUBROUTINE ExtState_InitTargets !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ExtState_SetFields ! ! !DESCRIPTION: SUBROUTINE ExtState\_SetFields connects the ExtState fields ! of the HEMCO ExtState object to its target data. This can be a field in ! State\_Met, State\_Chm, or any other 2D/3D field defined within GEOS-Chem or ! even explicitly calculated in this module. All these fields are expected ! to be of the same type as the corresponding ExtState object, and a pointer ! link is established between the two fields on the first call. !\\ !\\ ! The ExtState object fields can also be linked to data fields read through ! the HEMCO configuration file. In this case, the data fields will be copied ! from the HEMCO data list into the ExtState object every time this routine ! is called. The field name of the HEMCO field must match the field name ! passed to ExtState\_Set. !\\ !\\ ! Fields from the HEMCO data list are given priority over the target fields from ! State\_Met, State\_Chm, etc. For example, if the HEMCO data list contains ! a field named 'U10M', this field will be used in ExtState%U10M in lieu of ! State\_Met%U10M. !\\ !\\ ! Note that for now, this explicitly assumes that the HEMCO emissions grid is ! the same as the GEOS-Chem simulation grid. To support other grids, the met ! data has to be regridded explicitly at every time step! !\\ !\\ ! !INTERFACE: ! SUBROUTINE ExtState_SetFields( Input_Opt, State_Chm, State_Grid, & State_Met, HcoState, ExtState, RC ) ! ! !USES: ! USE Hcox_State_Mod, ONLY : ExtDat_Set USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE State_Chm_Mod, ONLY : ChmState USE Drydep_Mod, ONLY : DryCoeff #ifdef ESMF_ USE HCOI_Esmf_Mod, ONLY : HCO_SetExtState_ESMF #endif ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN ) :: State_Grid ! Grid state ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input options TYPE(MetState), INTENT(INOUT) :: State_Met ! Met state TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry state TYPE(HCO_STATE), POINTER :: HcoState ! HEMCO state TYPE(EXT_STATE), POINTER :: ExtState ! HEMCO ext. state ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 23 Oct 2012 - C. Keller - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! LOCAL VARIABLES: ! ! Pointers REAL(hp), POINTER :: Trgt3D(:,:,:) ! SAVEd scalars LOGICAL, SAVE :: FIRST = .TRUE. #if defined ( MODEL_WRF ) LOGICAL, DIMENSION(1:8), SAVE :: FIRST_PERID = .TRUE. #endif ! Scalars INTEGER :: HMRC ! Strings CHARACTER(LEN=255) :: ThisLoc CHARACTER(LEN=512) :: ErrMsg !======================================================================== ! ExtState_SetFields begins here !======================================================================== ! Initialize RC = GC_SUCCESS HMRC = HCO_SUCCESS Trgt3D => NULL() ErrMsg = '' ThisLoc = & ' -> at ExtState_SetFields (in module GeosCore/hco_interface_gc_mod.F90)' ! If using intermediate grid (MODEL_CLASSIC and LIMGRID), then load data ! from the shadow H_* arrays which have been regridded to HEMCO sizes. ! The data is regridded at every call to ExtState_UpdateFields. ! ! Otherwise, simply load as before, either from module variables or ! directly from State_Met. ! To avoid code duplication, in GEOS-Chem classic data is also loaded ! directly from HEMCO met pointers, when possible. #ifdef MODEL_WRF ! For WRF-GC, the FIRST call needs to be domain-ID specific. FIRST = FIRST_PERID( State_Grid%CPU_Subdomain_ID ) #endif !======================================================================== ! Pointers to local module arrays !======================================================================== !------------------------------------------------------------------------ ! %%%%% SZAFACT %%%%% !------------------------------------------------------------------------ #ifdef MODEL_CLASSIC IF ( .not. Input_Opt%LIMGRID ) THEN #endif CALL ExtDat_Set( HcoState, ExtState%SZAFACT, 'SZAFACT_FOR_EMIS', & HMRC, FIRST, State_Met%SZAFACT ) #ifdef MODEL_CLASSIC ELSE CALL ExtDat_Set( HcoState, ExtState%SZAFACT, 'SZAFACT_FOR_EMIS', & HMRC, FIRST, H_SZAFACT ) ENDIF #endif ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtDat_Set( SZAFACT_FOR_EMIS )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! %%%%% JNO2 %%%%% !------------------------------------------------------------------------ #ifdef MODEL_CLASSIC IF ( .not. Input_Opt%LIMGRID ) THEN #endif CALL ExtDat_Set( HcoState, ExtState%JNO2, 'JNO2_FOR_EMIS', & HMRC, FIRST, State_Chm%JNO2 ) #ifdef MODEL_CLASSIC ELSE CALL ExtDat_Set( HcoState, ExtState%JNO2, 'JNO2_FOR_EMIS', & HMRC, FIRST, H_JNO2 ) ENDIF #endif ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtDat_Set( JNO2_FOR_EMIS )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! %%%%% JOH %%%%% !------------------------------------------------------------------------ #ifdef MODEL_CLASSIC IF ( .not. Input_Opt%LIMGRID ) THEN #endif CALL ExtDat_Set( HcoState, ExtState%JOH, 'JOH_FOR_EMIS', & HMRC, FIRST, State_Chm%JOH ) #ifdef MODEL_CLASSIC ELSE CALL ExtDat_Set( HcoState, ExtState%JOH, 'JOH_FOR_EMIS', & HMRC, FIRST, H_JOH ) ENDIF #endif ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtDat_Set( JOH_FOR_EMIS )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !======================================================================= ! 2D fields requiring interpolation (for GC-Classic) !======================================================================= !------------------------------------------------------------------------ ! %%%%% PSC2_WET (Computed in calc_met_mod) %%%%% !------------------------------------------------------------------------ IF ( ExtState%PSC2_WET%DoUse ) THEN #ifdef MODEL_CLASSIC IF ( .not. Input_Opt%LIMGRID ) THEN #endif CALL ExtDat_Set( HcoState, ExtState%PSC2_WET, 'PSC2_WET_FOR_EMIS', & HMRC, FIRST, State_Met%PSC2_WET ) #ifdef MODEL_CLASSIC ELSE CALL ExtDat_Set( HcoState, ExtState%PSC2_WET, 'PSC2_WET_FOR_EMIS', & HMRC, FIRST, H_PSC2_WET ) ENDIF #endif ENDIF ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtDat_Set( PSC2_WET_FOR_EMIS )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! %%%%% FRCLND (Computed in olson_landmap_mod) %%%%% !------------------------------------------------------------------------ IF ( ExtState%FRCLND%DoUse ) THEN #ifdef MODEL_CLASSIC IF ( .not. Input_Opt%LIMGRID ) THEN #endif CALL ExtDat_Set( HcoState, ExtState%FRCLND, 'FRCLND_FOR_EMIS', & HMRC, FIRST, State_Met%FRCLND ) #ifdef MODEL_CLASSIC ELSE CALL ExtDat_Set( HcoState, ExtState%FRCLND, 'FRCLND_FOR_EMIS', & HMRC, FIRST, H_FRCLND ) ENDIF #endif ENDIF ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtDat_Set( FRCLND_FOR_EMIS )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! %%%%% LAI (Calculated in modis_lai_mod from XLAI_NATIVE) %%%%% !------------------------------------------------------------------------ IF ( ExtState%LAI%DoUse ) THEN #ifdef MODEL_CLASSIC IF ( .not. Input_Opt%LIMGRID ) THEN #endif CALL ExtDat_Set( HcoState, ExtState%LAI, 'LAI_FOR_EMIS', & HMRC, FIRST, State_Met%MODISLAI ) #ifdef MODEL_CLASSIC ELSE CALL ExtDat_Set( HcoState, ExtState%LAI, 'LAI_FOR_EMIS', & HMRC, FIRST, H_MODISLAI ) ENDIF #endif ENDIF ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtDat_Set( LAI_FOR_EMIS )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! %%%%% CNV_FRC Convective fractions (possibly GEOS ESM only) %%%%% !------------------------------------------------------------------------ IF ( ExtState%CNV_FRC%DoUse ) THEN #ifdef MODEL_CLASSIC IF ( .not. Input_Opt%LIMGRID ) THEN #endif CALL ExtDat_Set( HcoState, ExtState%CNV_FRC, 'CNV_FRC_FOR_EMIS', & HMRC, FIRST, State_Met%CNV_FRC, & NotFillOk=.TRUE. ) #ifdef MODEL_CLASSIC ELSE CALL ExtDat_Set( HcoState, ExtState%CNV_FRC, 'CNV_FRC_FOR_EMIS', & HMRC, FIRST, H_CNV_FRC, & NotFillOk=.TRUE. ) ENDIF #endif ENDIF ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtDat_Set( CNV_FRC_FOR_EMIS )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! %%%%% Tropopause level %%%%% !------------------------------------------------------------------------ IF ( ExtState%TropLev%DoUse ) THEN #ifdef MODEL_CLASSIC IF ( .not. Input_Opt%LIMGRID ) THEN #endif CALL ExtDat_Set( HcoState, ExtState%TropLev, 'TropLev', & HMRC, FIRST, State_Met%TropLev ) #ifdef MODEL_CLASSIC ELSE CALL ExtDat_Set( HcoState, ExtState%TropLev, 'TropLev', & HMRC, FIRST, H_TropLev ) ENDIF #endif ENDIF ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtDat_Set( TropLev )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !======================================================================= ! 3D fields requiring interpolation (for GC-Classic) !======================================================================= !------------------------------------------------------------------------ ! %%%%% TK %%%%% !------------------------------------------------------------------------ IF ( ExtState%TK%DoUse ) THEN #ifdef MODEL_CLASSIC IF ( .not. Input_Opt%LIMGRID ) THEN #endif CALL ExtDat_Set( HcoState, ExtState%TK, 'TK_FOR_EMIS', & HMRC, FIRST, State_Met%T ) #ifdef MODEL_CLASSIC ELSE CALL ExtDat_Set( HcoState, ExtState%TK, 'TK_FOR_EMIS', & HMRC, FIRST, H_T ) ENDIF #endif ENDIF ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtDat_Set( TK_FOR_EMIS )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! %%%%% Air mass [kg/grid box] %%%%% !------------------------------------------------------------------------ IF ( ExtState%AIR%DoUse ) THEN #ifdef MODEL_CLASSIC IF ( .not. Input_Opt%LIMGRID ) THEN #endif CALL ExtDat_Set( HcoState, ExtState%AIR, 'AIR_FOR_EMIS', & HMRC, FIRST, State_Met%AD ) #ifdef MODEL_CLASSIC ELSE CALL ExtDat_Set( HcoState, ExtState%AIR, 'AIR_FOR_EMIS', & HMRC, FIRST, H_AD ) ENDIF #endif ENDIF ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtDat_Set( AIR_FOR_EMIS )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! %%%%% AIRVOL_FOR_EMIS %%%%% !------------------------------------------------------------------------ IF ( ExtState%AIRVOL%DoUse ) THEN #ifdef MODEL_CLASSIC IF ( .not. Input_Opt%LIMGRID ) THEN #endif CALL ExtDat_Set( HcoState, ExtState%AIRVOL, 'AIRVOL_FOR_EMIS', & HMRC, FIRST, State_Met%AIRVOL ) #ifdef MODEL_CLASSIC ELSE CALL ExtDat_Set( HcoState, ExtState%AIRVOL, 'AIRVOL_FOR_EMIS', & HMRC, FIRST, H_AIRVOL ) ENDIF #endif ENDIF ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtDat_Set( AIRVOL_FOR_EMIS )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! %%%%% Dry air density [kg/m3] %%%%% !------------------------------------------------------------------------ IF ( ExtState%AIRDEN%DoUse ) THEN #ifdef MODEL_CLASSIC IF ( .not. Input_Opt%LIMGRID ) THEN #endif CALL ExtDat_Set( HcoState, ExtState%AIRDEN, 'AIRDEN', & HMRC, FIRST, State_Met%AIRDEN ) #ifdef MODEL_CLASSIC ELSE CALL ExtDat_Set( HcoState, ExtState%AIRDEN, 'AIRDEN', & HMRC, FIRST, H_AIRDEN ) ENDIF #endif ENDIF ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtDat_Set( AIRDEN )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! %%%%% Fraction of PBL in each grid box %%%%% !------------------------------------------------------------------------ IF ( ExtState%FRAC_OF_PBL%DoUse ) THEN #ifdef MODEL_CLASSIC IF ( .not. Input_Opt%LIMGRID ) THEN #endif CALL ExtDat_Set( HcoState, ExtState%FRAC_OF_PBL, & 'FRAC_OF_PBL_FOR_EMIS', HMRC, & FIRST, State_Met%F_OF_PBL ) #ifdef MODEL_CLASSIC ELSE CALL ExtDat_Set( HcoState, ExtState%FRAC_OF_PBL, & 'FRAC_OF_PBL_FOR_EMIS', HMRC, & FIRST, H_F_OF_PBL ) ENDIF #endif ENDIF ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtDat_Set( FRAC_OF_PBL_FOR_EMIS)"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !======================================================================= ! 2D fields directly readable from HEMCO (for GC-Classic) ! 2D fields (for other models) ! ! For MODEL_CLASSIC with the optional HEMCO intermediate grid option, ! the meteorological field pointers point to the HEMCO pointers ! directly. This avoids an extra regridding in the GC -> HEMCO ! direction. ! ! For this, simply specify the met field name directly in the FldName ! arg call to ExtDat_Set. This will prompt HEMCO to call HCO_EvalFld ! directly (hplin, 6/2/20) !======================================================================= !------------------------------------------------------------------------ ! %%%%% U10M %%%%% !------------------------------------------------------------------------ #ifdef MODEL_CLASSIC CALL ExtDat_Set( HcoState, ExtState%U10M, 'U10M', & HMRC, FIRST ) #else CALL ExtDat_Set( HcoState, ExtState%U10M, 'U10M_FOR_EMIS', & HMRC, FIRST, State_Met%U10M ) #endif ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtDat_Set( U10M_FOR_EMIS )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! %%%%% V10M %%%%% !------------------------------------------------------------------------ #ifdef MODEL_CLASSIC CALL ExtDat_Set( HcoState, ExtState%V10M, 'V10M', & HMRC, FIRST ) #else CALL ExtDat_Set( HcoState, ExtState%V10M, 'V10M_FOR_EMIS', & HMRC, FIRST, State_Met%V10M ) #endif ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtDat_Set( V10M_FOR_EMIS)"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) CALL Flush( HcoState%Config%Err%Lun ) RETURN ENDIF !------------------------------------------------------------------------ ! %%%%% ALBD %%%%% !------------------------------------------------------------------------ #ifdef MODEL_CLASSIC CALL ExtDat_Set( HcoState, ExtState%ALBD, 'ALBEDO', & HMRC, FIRST ) #else CALL ExtDat_Set( HcoState, ExtState%ALBD, 'ALBD_FOR_EMIS', & HMRC, FIRST, State_Met%ALBD ) #endif ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtDat_Set( ALBD_FOR_EMIS )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! %%%%% T2M (which is actually stored in State_Met%TS) %%%%% !------------------------------------------------------------------------ #ifdef MODEL_CLASSIC CALL ExtDat_Set( HcoState, ExtState%T2M, 'T2M', & HMRC, FIRST, State_Met%TS ) #else CALL ExtDat_Set( HcoState, ExtState%T2M, 'T2M_FOR_EMIS', & HMRC, FIRST, State_Met%TS ) #endif ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtDat_Set( T2M_FOR_EMIS )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! %%%%% TSKIN (which is actually stored in State_Met%TSKIN) %%%%% !------------------------------------------------------------------------ #ifdef MODEL_CLASSIC CALL ExtDat_Set( HcoState, ExtState%TSKIN, 'TSKIN', & HMRC, FIRST, State_Met%TSKIN ) #else CALL ExtDat_Set( HcoState, ExtState%TSKIN, 'TSKIN_FOR_EMIS', & HMRC, FIRST, State_Met%TSKIN ) #endif ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtDat_Set( TSKIN_FOR_EMIS )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! %%%%% TSOIL1 %%%%% !------------------------------------------------------------------------ #ifdef MODEL_CLASSIC CALL ExtDat_Set( HcoState, ExtState%TSOIL1, 'TSOIL', & HMRC, FIRST, State_Met%TSOIL1 ) #else CALL ExtDat_Set( HcoState, ExtState%TSOIL1, 'TSOIL1_FOR_EMIS', & HMRC, FIRST, State_Met%TSOIL1 ) #endif ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtDat_Set( TSOIL1_FOR_EMIS )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! %%%%% GWETROOT %%%%% !------------------------------------------------------------------------ #ifdef MODEL_CLASSIC CALL ExtDat_Set( HcoState, ExtState%GWETROOT, 'GWETROOT', & HMRC, FIRST ) #else CALL ExtDat_Set( HcoState, ExtState%GWETROOT, 'GWETROOT_FOR_EMIS', & HMRC, FIRST, State_Met%GWETROOT ) #endif ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtDat_Set( GWETROOT_FOR_EMIS )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! %%%%% GWETTOP %%%%% !------------------------------------------------------------------------ #ifdef MODEL_CLASSIC CALL ExtDat_Set( HcoState, ExtState%GWETTOP, 'GWETTOP', & HMRC, FIRST ) #else CALL ExtDat_Set( HcoState, ExtState%GWETTOP, 'GWETTOP_FOR_EMIS', & HMRC, FIRST, State_Met%GWETTOP ) #endif ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtDat_Set( GWETTOP_FOR_EMIS )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! %%%%% USTAR %%%%% !------------------------------------------------------------------------ #ifdef MODEL_CLASSIC CALL ExtDat_Set( HcoState, ExtState%USTAR, 'USTAR', & HMRC, FIRST ) #else CALL ExtDat_Set( HcoState, ExtState%USTAR, 'USTAR_FOR_EMIS', & HMRC, FIRST, State_Met%USTAR ) #endif ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtDat_Set( USTAR_FOR_EMIS )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! %%%%% Z0 %%%%% !------------------------------------------------------------------------ #ifdef MODEL_CLASSIC CALL ExtDat_Set( HcoState, ExtState%Z0, 'Z0M', & HMRC, FIRST ) #else CALL ExtDat_Set( HcoState, ExtState%Z0, 'Z0_FOR_EMIS', & HMRC, FIRST, State_Met%Z0 ) #endif ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtDat_Set( Z0_FOR_EMIS )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! %%%%% PARDR %%%%% !------------------------------------------------------------------------ #ifdef MODEL_CLASSIC CALL ExtDat_Set( HcoState, ExtState%PARDR, 'PARDR', & HMRC, FIRST ) #else CALL ExtDat_Set( HcoState, ExtState%PARDR, 'PARDR_FOR_EMIS', & HMRC, FIRST, State_Met%PARDR ) #endif ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtDat_Set( PARDR_FOR_EMIS )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! %%%%% PARDF %%%%% !------------------------------------------------------------------------ #ifdef MODEL_CLASSIC CALL ExtDat_Set( HcoState, ExtState%PARDF, 'PARDF', & HMRC, FIRST ) #else CALL ExtDat_Set( HcoState, ExtState%PARDF, 'PARDF_FOR_EMIS', & HMRC, FIRST, State_Met%PARDF ) #endif ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtDat_Set( PARDF_FOR_EMIS )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! %%%%% RADSWG %%%%% !------------------------------------------------------------------------ #ifdef MODEL_CLASSIC CALL ExtDat_Set( HcoState, ExtState%RADSWG, 'SWGDN', & HMRC, FIRST ) #else CALL ExtDat_Set( HcoState, ExtState%RADSWG, 'RADSWG_FOR_EMIS', & HMRC, FIRST, State_Met%SWGDN ) #endif ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtDat_Set( RADSWG_FOR_EMIS )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! %%%%% CLDFRC %%%%% !------------------------------------------------------------------------ #ifdef MODEL_CLASSIC CALL ExtDat_Set( HcoState, ExtState%CLDFRC, 'CLDTOT', & HMRC, FIRST ) #else CALL ExtDat_Set( HcoState, ExtState%CLDFRC, 'CLDFRC_FOR_EMIS', & HMRC, FIRST, State_Met%CLDFRC ) #endif ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtDat_Set( CLDFRC_FOR_EMIS)"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! %%%%% SNOMAS %%%%% ! SNOMAS is is mm H2O, which is the same as kg H2O/m2. ! This is the unit of SNOMAS. !------------------------------------------------------------------------ #ifdef MODEL_CLASSIC CALL ExtDat_Set( HcoState, ExtState%SNOMAS, 'SNOMAS', & HMRC, FIRST ) #else CALL ExtDat_Set( HcoState, ExtState%SNOMAS, 'SNOMAS_FOR_EMIS', & HMRC, FIRST, State_Met%SNOMAS ) #endif ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtDat_Set( SNOMAS_FOR_EMIS )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! %%%%% SNODP %%%%% !------------------------------------------------------------------------ #ifdef MODEL_CLASSIC CALL ExtDat_Set( HcoState, ExtState%SNODP, 'SNODP', & HMRC, FIRST ) #else CALL ExtDat_Set( HcoState, ExtState%SNODP, 'SNODP_FOR_EMIS', & HMRC, FIRST, State_Met%SNODP ) #endif ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtDat_Set( SNOWDP_FOR_EMIS )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! %%%%% FRLAND %%%%% !------------------------------------------------------------------------ #ifdef MODEL_CLASSIC CALL ExtDat_Set( HcoState, ExtState%FRLAND, 'FRLAND', & HMRC, FIRST ) #else CALL ExtDat_Set( HcoState, ExtState%FRLAND, 'FRLAND_FOR_EMIS', & HMRC, FIRST, State_Met%FRLAND ) #endif ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtDat_Set( FRLAND_FOR_EMIS )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! %%%%% FROCEAN %%%%% !------------------------------------------------------------------------ #ifdef MODEL_CLASSIC CALL ExtDat_Set( HcoState, ExtState%FROCEAN, 'FROCEAN', & HMRC, FIRST ) #else CALL ExtDat_Set( HcoState, ExtState%FROCEAN, 'FROCEAN_FOR_EMIS', & HMRC, FIRST, State_Met%FROCEAN ) #endif ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtDat_Set( FROCEAN_FOR_EMIS )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! %%%%% FRSEAICE %%%%% !------------------------------------------------------------------------ #ifdef MODEL_CLASSIC CALL ExtDat_Set( HcoState, ExtState%FRSEAICE, 'FRSEAICE', & HMRC, FIRST ) #else CALL ExtDat_Set( HcoState, ExtState%FRSEAICE, 'FRSEAICE_FOR_EMIS', & HMRC, FIRST, State_Met%FRSEAICE ) #endif ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtDat_Set( FRSEAICE_FOR_EMIS )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! %%%%% QV2M %%%%% !------------------------------------------------------------------------ #ifdef MODEL_CLASSIC CALL ExtDat_Set( HcoState, ExtState%QV2M, 'QV2M', & HMRC, FIRST ) #else CALL ExtDat_Set( HcoState, ExtState%QV2M, 'QV2M_FOR_EMIS', & HMRC, FIRST, State_Met%QV2M ) #endif ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtDat_Set( QV2M_FOR_EMIS )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! %%%%% FRLAKE %%%%% !------------------------------------------------------------------------ #ifdef MODEL_CLASSIC CALL ExtDat_Set( HcoState, ExtState%FRLAKE, 'FRLAKE', & HMRC, FIRST ) #else CALL ExtDat_Set( HcoState, ExtState%FRLAKE, 'FRLAKE_FOR_EMIS', & HMRC, FIRST, State_Met%FRLAKE ) #endif ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtDat_Set( FRLAKE_FOR_EMIS )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! %%%%% FRLANDIC %%%%% !------------------------------------------------------------------------ #ifdef MODEL_CLASSIC CALL ExtDat_Set( HcoState, ExtState%FRLANDIC, 'FRLANDIC', & HMRC, FIRST ) #else CALL ExtDat_Set( HcoState, ExtState%FRLANDIC, 'FRLANDIC_FOR_EMIS', & HMRC, FIRST, State_Met%FRLANDICE ) #endif ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtDat_Set( FRLANDIC_FOR_EMIS )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! %%%%% HFLUX %%%%% !------------------------------------------------------------------------ #ifdef MODEL_CLASSIC CALL ExtDat_Set( HcoState, ExtState%HFLUX, 'HFLUX', & HMRC, FIRST ) #else CALL ExtDat_Set( HcoState, ExtState%HFLUX, 'HFLUX_FOR_EMIS', & HMRC, FIRST, State_Met%HFLUX ) #endif ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtDat_Set( HFLUX_FOR_EMIS )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !======================================================================== ! 3D fields !======================================================================== !------------------------------------------------------------------------ ! %%%%% CNV_MFC %%%%% !------------------------------------------------------------------------ ! CNV_MFC #ifdef MODEL_CLASSIC CALL ExtDat_Set( HcoState, ExtState%CNV_MFC, 'CMFMC', & HMRC, FIRST, OnLevEdge=.TRUE. ) #else CALL ExtDat_Set( HcoState, ExtState%CNV_MFC, 'CNV_MFC_FOR_EMIS', & HMRC, FIRST, State_Met%CMFMC, & OnLevEdge=.TRUE. ) #endif ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtDat_Set( CNV_MFC_FOR_EMIS )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !======================================================================= ! Species concentrations ! All of these require interpolation on-demand. ! ! Note: ExtDat_Set points DIRECTLY to the assigned target when ! received through ExtDat%Arr%Val => Trgt. This means that the array ! temporary must be maintained through time in memory. It may be ! particularly taxing for a GC-classic run with intermediate grid ! option, as all of these must be maintained in regridded ! HIGH-RESOLUTION (HEMCO resolution) array temporaries now! ! (hplin, 6/2/20) !======================================================================= !------------------------------------------------------------------------ ! %%%%% O3 %%%%% !------------------------------------------------------------------------ IF ( id_O3 > 0 ) THEN #ifdef MODEL_CLASSIC IF ( .not. Input_Opt%LIMGRID ) THEN #endif Trgt3D => State_Chm%Species(id_O3)%Conc CALL ExtDat_Set( HcoState, ExtState%O3, 'HEMCO_O3_FOR_EMIS', & HMRC, FIRST, Trgt3D ) Trgt3D => NULL() #ifdef MODEL_CLASSIC ELSE CALL ExtDat_Set( HcoState, ExtState%O3, 'HEMCO_O3_FOR_EMIS', & HMRC, FIRST, H_SpcO3 ) ENDIF #endif ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtDat_Set( HEMCO_O3_FOR_EMIS )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !------------------------------------------------------------------------ ! %%%%% NO2 %%%%% !------------------------------------------------------------------------ IF ( id_NO2 > 0 ) THEN #ifdef MODEL_CLASSIC IF ( .not. Input_Opt%LIMGRID ) THEN #endif Trgt3D => State_Chm%Species(id_NO2)%Conc CALL ExtDat_Set( HcoState, ExtState%NO2, 'HEMCO_NO2_FOR_EMIS', & HMRC, FIRST, Trgt3D ) Trgt3D => NULL() #ifdef MODEL_CLASSIC ELSE CALL ExtDat_Set( HcoState, ExtState%NO2, 'HEMCO_NO2_FOR_EMIS', & HMRC, FIRST, H_SpcNO2 ) ENDIF #endif ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtDat_Set( HEMCO_NO2_FOR_EMIS )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !------------------------------------------------------------------------ ! %%%%% NO %%%%% !------------------------------------------------------------------------ IF ( id_NO > 0 ) THEN #ifdef MODEL_CLASSIC IF ( .not. Input_Opt%LIMGRID ) THEN #endif Trgt3D => State_Chm%Species(id_NO)%Conc CALL ExtDat_Set( HcoState, ExtState%NO, 'HEMCO_NO_FOR_EMIS', & HMRC, FIRST, Trgt3D ) Trgt3D => NULL() #ifdef MODEL_CLASSIC ELSE CALL ExtDat_Set( HcoState, ExtState%NO, 'HEMCO_NO_FOR_EMIS', & HMRC, FIRST, H_SpcNO ) ENDIF #endif ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtDat_Set( HEMCO_NO_FOR_EMIS )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !------------------------------------------------------------------------ ! %%%%% HNO3 %%%%% !------------------------------------------------------------------------ IF ( id_HNO3 > 0 ) THEN #ifdef MODEL_CLASSIC IF ( .not. Input_Opt%LIMGRID ) THEN #endif Trgt3D => State_Chm%Species(id_HNO3)%Conc CALL ExtDat_Set( HcoState, ExtState%HNO3, 'HEMCO_HNO3_FOR_EMIS', & HMRC, FIRST, Trgt3D ) Trgt3D => NULL() #ifdef MODEL_CLASSIC ELSE CALL ExtDat_Set( HcoState, ExtState%HNO3, 'HEMCO_HNO3_FOR_EMIS', & HMRC, FIRST, H_SpcHNO3 ) ENDIF #endif ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtDat_Set( HEMCO_HNO3_FOR_EMIS )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !------------------------------------------------------------------------ ! %%%%% POPG (for POPs simulations) %%%%% !------------------------------------------------------------------------ IF ( id_POPG > 0 ) THEN #ifdef MODEL_CLASSIC IF ( .not. Input_Opt%LIMGRID ) THEN #endif Trgt3D => State_Chm%Species(id_POPG)%Conc CALL ExtDat_Set( HcoState, ExtState%POPG, 'HEMCO_POPG_FOR_EMIS', & HMRC, FIRST, Trgt3D ) Trgt3D => NULL() #ifdef MODEL_CLASSIC ELSE CALL ExtDat_Set( HcoState, ExtState%POPG, 'HEMCO_POPG_FOR_EMIS', & HMRC, FIRST, H_SpcPOPG ) ENDIF #endif ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtDat_Set( HEMCO_POPG_FOR_EMIS )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !======================================================================= ! Deposition parameter !======================================================================= !------------------------------------------------------------------------ ! %%%%% DRY_TOTN (Dry-deposited N) %%%%% !------------------------------------------------------------------------ IF ( ExtState%DRY_TOTN%DoUse ) THEN #ifdef MODEL_CLASSIC IF ( .not. Input_Opt%LIMGRID ) THEN #endif CALL ExtDat_Set( HcoState, ExtState%DRY_TOTN, & 'DRY_TOTN_FOR_EMIS', HMRC, & FIRST, State_Chm%DryDepNitrogen ) #ifdef MODEL_CLASSIC ELSE CALL ExtDat_Set( HcoState, ExtState%DRY_TOTN, 'DRY_TOTN_FOR_EMIS', & HMRC, FIRST, H_DRY_TOTN ) ENDIF #endif ENDIF ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtDat_Set( DRY_TOTN )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! %%%%% WET_TOTN (Wet-deposited N) !------------------------------------------------------------------------ IF ( ExtState%WET_TOTN%DoUse ) THEN #ifdef MODEL_CLASSIC IF ( .not. Input_Opt%LIMGRID ) THEN #endif CALL ExtDat_Set( HcoState, ExtState%WET_TOTN, & 'WET_TOTN_FOR_EMIS', HMRC, & FIRST, State_Chm%WetDepNitrogen ) #ifdef MODEL_CLASSIC ELSE CALL ExtDat_Set( HcoState, ExtState%WET_TOTN, 'WET_TOTN_FOR_EMIS', & HMRC, FIRST, H_WET_TOTN ) ENDIF #endif ENDIF ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "ExtDat_Set( WET_TOTN )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !======================================================================= ! Other pointers to be set on first call !======================================================================= IF ( FIRST ) THEN IF ( ExtState%WET_TOTN%DoUse .OR. ExtState%DRY_TOTN%DoUse ) THEN ! Polynomial coefficients for dry deposition, ! array target in drydep_mod ExtState%DRYCOEFF => DRYCOEFF ENDIF ExtState%PBL_MAX => HCO_PBL_MAX ENDIF #ifdef ESMF_ !======================================================================= ! ESMF environment: add some additional variables to ExtState. ! These values must be defined here and not in the initialization ! because it seems like the IMPORT state is not yet properly ! defined during initialization. ! ckeller, 06/02/17: now call this on every time step. Routine ! HCO_SetExtState_ESMF copies the fields to ExtState. !======================================================================= ! IF ( FIRST ) THEN CALL HCO_SetExtState_ESMF ( HcoState, ExtState, RC ) ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "HCO_SetExtState_ESMF"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !ENDIF #endif ! Not first call any more FIRST = .FALSE. #ifdef MODEL_WRF FIRST_PERID( State_Grid%CPU_Subdomain_ID ) = .FALSE. #endif Trgt3D => NULL() ! Leave with success RC = GC_SUCCESS END SUBROUTINE ExtState_SetFields !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ExtState_UpdateFields ! ! !DESCRIPTION: SUBROUTINE ExtState\_UpdateFields updates the extension ! object data pointers. Updates are only required for the shadow arrays ! defined in this module, such as J-values, SZAFACT, etc. !\\ !\\ ! !INTERFACE: ! SUBROUTINE ExtState_UpdateFields( Input_Opt, State_Chm, & State_Grid, State_Met, HcoState, & ExtState, RC ) ! ! !USES: ! USE ErrCode_Mod USE HCO_GeoTools_Mod, ONLY : HCO_GetSUNCOS USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState #ifdef ESMF_ USE HCOI_ESMF_MOD, ONLY : HCO_SetExtState_ESMF #endif #if defined( MODEL_CLASSIC ) USE HCO_State_GC_Mod, ONLY : State_Grid_HCO ! HEMCO intermediate grid USE HCO_Utilities_GC_Mod, ONLY : Regrid_MDL2HCO #endif ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN ) :: Input_Opt ! Input options TYPE(ChmState), INTENT(IN ) :: State_Chm ! Chemistry state TYPE(GrdState), INTENT(IN ) :: State_Grid ! Grid state TYPE(MetState), INTENT(IN ) :: State_Met ! Meteorology state ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(HCO_STATE), POINTER :: HcoState ! HEMCO state TYPE(EXT_STATE), POINTER :: ExtState ! HEMCO ext. state INTEGER, INTENT(INOUT) :: RC ! ! !REVISION HISTORY: ! 23 Oct 2012 - C. Keller - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! LOCAL VARIABLES: ! ! Scalars INTEGER :: I, J, L INTEGER :: HMRC ! Strings CHARACTER(LEN=255) :: ThisLoc CHARACTER(LEN=512) :: ErrMsg !======================================================================= ! ExtState_UpdateFields begins here !======================================================================= ! Initialize RC = GC_SUCCESS HMRC = HCO_SUCCESS ErrMsg = '' ThisLoc = & ' -> at ExtState_UpdateFields (in module GeosCore/hco_interface_gc_mod.F90)' !======================================================================= ! Update fields in the HEMCO Extension state ! Directly from State_Met if not intermediate !======================================================================= IF ( .not. Input_Opt%LIMGRID ) THEN ! TROPP: convert from hPa to Pa IF ( ExtState%TROPP%DoUse ) THEN ExtState%TROPP%Arr%Val = State_Met%TROPP * 100.0_hp ENDIF ! SPHU: convert from g/kg to kg/kg. Only need surface value. IF ( ExtState%SPHU%DoUse ) THEN ExtState%SPHU%Arr%Val(:,:,1) = State_Met%SPHU(:,:,1) / 1000.0_hp ENDIF ! FLASH_DENS: flash density [#/km2/s] IF ( ExtState%FLASH_DENS%DoUse ) THEN ExtState%FLASH_DENS%Arr%Val = State_Met%FLASH_DENS ENDIF ! CONV_DEPTH: convective cloud depth [m] IF ( ExtState%CONV_DEPTH%DoUse ) THEN ExtState%CONV_DEPTH%Arr%Val = State_Met%CONV_DEPTH ENDIF ENDIF ! SUNCOS ! Calculated by HEMCO on its own grid - simply need to allocate ! at correct sizes IF ( ExtState%SUNCOS%DoUse ) THEN CALL HCO_GetSUNCOS( HcoState, ExtState%SUNCOS%Arr%Val, 0, HMRC ) ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "HCO_GetSuncos"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF ! Compute SZAFACT on MODEL GRID !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L ) ! Loop over all grid boxes DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Current SZA divided by total daily SZA (2D field only) ! (This is mostly needed for offline simulations where a diurnal ! scale factor has to be imposed on monthly mean OH concentrations.) IF ( ExtState%SZAFACT%DoUse .AND. L==1 ) THEN State_Met%SZAFACT(I,J) = GET_SZAFACT(I,J,State_Met) ENDIF ! Maximum extent of the PBL [model level] HCO_PBL_MAX = State_Met%PBL_MAX_L ENDDO ENDDO ENDDO !$OMP END PARALLEL DO #if defined ( MODEL_CLASSIC ) IF ( Input_Opt%LIMGRID ) THEN !======================================================================= ! GEOS-Chem Classic HEMCO "Intermediate" Grid: Regrid appropriate met fields !======================================================================= ! Template for 3D Edge ! REGR_3DI(:,:,:) = State_Met%PEDGE * 100.0_hp ! CALL Regrid_MDL2HCO( Input_Opt, State_Grid, State_Grid_HCO, & ! REGR_3DI, REGR_3DO, ZBND=State_Grid_HCO%NZ+1, & ! ResetRegrName=.true. ) ! PEDGE(:,:,:) = REGR_3DO(:,:,:) ! Template for 2D ! REGR_3DI(:,:,1) = State_Met%PHIS(:,:) ! CALL Regrid_MDL2HCO( Input_Opt, State_Grid, State_Grid_HCO, & ! REGR_3DI, REGR_3DO, ZBND=1, & ! 2D data ! ResetRegrName=.true. ) ! ZSFC(:,:) = REGR_3DO(:,:,1) !----------------------------------------------------------------------- ! Local module arrays !----------------------------------------------------------------------- ! SZAFACT IF ( ExtState%SZAFACT%DoUse ) THEN REGR_3DI(:,:,1) = State_Met%SZAFACT(:,:) CALL Regrid_MDL2HCO( Input_Opt, State_Grid, State_Grid_HCO, & REGR_3DI, REGR_3DO, ZBND=1, & ! 2D data ResetRegrName=.true. ) H_SZAFACT(:,:) = REGR_3DO(:,:,1) ENDIF ! JNO2 IF ( ExtState%JNO2%DoUse ) THEN REGR_3DI(:,:,1) = State_Chm%JNO2(:,:) CALL Regrid_MDL2HCO( Input_Opt, State_Grid, State_Grid_HCO, & REGR_3DI, REGR_3DO, ZBND=1, & ! 2D data ResetRegrName=.true. ) H_JNO2(:,:) = REGR_3DO(:,:,1) ENDIF ! JOH IF ( ExtState%JOH%DoUse ) THEN REGR_3DI(:,:,1) = State_Chm%JOH(:,:) CALL Regrid_MDL2HCO( Input_Opt, State_Grid, State_Grid_HCO, & REGR_3DI, REGR_3DO, ZBND=1, & ! 2D data ResetRegrName=.true. ) H_JOH(:,:) = REGR_3DO(:,:,1) ENDIF !----------------------------------------------------------------------- ! 2-D State_Met !----------------------------------------------------------------------- ! PSC2_WET IF ( ExtState%PSC2_WET%DoUse ) THEN REGR_3DI(:,:,1) = State_Met%PSC2_WET(:,:) CALL Regrid_MDL2HCO( Input_Opt, State_Grid, State_Grid_HCO, & REGR_3DI, REGR_3DO, ZBND=1, & ! 2D data ResetRegrName=.true. ) H_PSC2_WET(:,:) = REGR_3DO(:,:,1) ENDIF ! FRCLND IF ( ExtState%FRCLND%DoUse ) THEN REGR_3DI(:,:,1) = State_Met%FRCLND(:,:) CALL Regrid_MDL2HCO( Input_Opt, State_Grid, State_Grid_HCO, & REGR_3DI, REGR_3DO, ZBND=1, & ! 2D data ResetRegrName=.true. ) H_FRCLND(:,:) = REGR_3DO(:,:,1) ENDIF ! MODISLAI IF ( ExtState%LAI%DoUse ) THEN REGR_3DI(:,:,1) = State_Met%MODISLAI(:,:) CALL Regrid_MDL2HCO( Input_Opt, State_Grid, State_Grid_HCO, & REGR_3DI, REGR_3DO, ZBND=1, & ! 2D data ResetRegrName=.true. ) H_MODISLAI(:,:) = REGR_3DO(:,:,1) ENDIF ! CNV_FRC IF ( ExtState%CNV_FRC%DoUse ) THEN REGR_3DI(:,:,1) = State_Met%FRCLND(:,:) CALL Regrid_MDL2HCO( Input_Opt, State_Grid, State_Grid_HCO, & REGR_3DI, REGR_3DO, ZBND=1, & ! 2D data ResetRegrName=.true. ) H_FRCLND(:,:) = REGR_3DO(:,:,1) ENDIF ! TropLev IF ( ExtState%TropLev%DoUse ) THEN REGR_3DI(:,:,1) = State_Met%TropLev(:,:) CALL Regrid_MDL2HCO( Input_Opt, State_Grid, State_Grid_HCO, & REGR_3DI, REGR_3DO, ZBND=1, & ! 2D data ResetRegrName=.true. ) H_TropLev(:,:) = REGR_3DO(:,:,1) ENDIF ! TROPP - requires conversion IF ( ExtState%TROPP%DoUse ) THEN REGR_3DI(:,:,1) = State_Met%TROPP(:,:) * 100.0_hp ! hPa -> Pa CALL Regrid_MDL2HCO( Input_Opt, State_Grid, State_Grid_HCO, & REGR_3DI, REGR_3DO, ZBND=1, & ! 2D data ResetRegrName=.true. ) H_TROPP(:,:) = REGR_3DO(:,:,1) ENDIF ! FLASH_DENS IF ( ExtState%FLASH_DENS%DoUse ) THEN REGR_3DI(:,:,1) = State_Met%FLASH_DENS(:,:) CALL Regrid_MDL2HCO( Input_Opt, State_Grid, State_Grid_HCO, & REGR_3DI, REGR_3DO, ZBND=1, & ! 2D data ResetRegrName=.true. ) H_FLASH_DENS(:,:) = REGR_3DO(:,:,1) ENDIF ! CONV_DEPTH IF ( ExtState%CONV_DEPTH%DoUse ) THEN REGR_3DI(:,:,1) = State_Met%CONV_DEPTH(:,:) CALL Regrid_MDL2HCO( Input_Opt, State_Grid, State_Grid_HCO, & REGR_3DI, REGR_3DO, ZBND=1, & ! 2D data ResetRegrName=.true. ) H_CONV_DEPTH(:,:) = REGR_3DO(:,:,1) ENDIF !----------------------------------------------------------------------- ! 3-D State_Met !----------------------------------------------------------------------- ! SPHU - 3-D up to level 1 IF ( ExtState%SPHU%DoUse ) THEN REGR_3DI(:,:,1) = State_Met%SPHU(:,:,1) / 1000.0_hp CALL Regrid_MDL2HCO( Input_Opt, State_Grid, State_Grid_HCO, & REGR_3DI, REGR_3DO, ZBND=1, & ! 2D data ResetRegrName=.true. ) H_SPHU(:,:,:) = 0.0_hp H_SPHU(:,:,1) = REGR_3DO(:,:,1) ENDIF ! TK/T IF ( ExtState%TK%DoUse ) THEN REGR_3DI(:,:,1:State_Grid%NZ) = State_Met%T(:,:,1:State_Grid%NZ) CALL Regrid_MDL2HCO( Input_Opt, State_Grid, State_Grid_HCO, & REGR_3DI, REGR_3DO, ZBND=State_Grid%NZ, & ! 3D data ResetRegrName=.true. ) H_T(:,:,1:State_Grid%NZ) = REGR_3DO(:,:,1:State_Grid%NZ) ENDIF ! AIR/AD IF ( ExtState%AIR%DoUse ) THEN REGR_3DI(:,:,1:State_Grid%NZ) = State_Met%AD(:,:,1:State_Grid%NZ) CALL Regrid_MDL2HCO( Input_Opt, State_Grid, State_Grid_HCO, & REGR_3DI, REGR_3DO, ZBND=State_Grid%NZ, & ! 3D data ResetRegrName=.true. ) H_AD(:,:,1:State_Grid%NZ) = REGR_3DO(:,:,1:State_Grid%NZ) ENDIF ! AIRVOL IF ( ExtState%AIRVOL%DoUse ) THEN REGR_3DI(:,:,1:State_Grid%NZ) = State_Met%AIRVOL(:,:,1:State_Grid%NZ) CALL Regrid_MDL2HCO( Input_Opt, State_Grid, State_Grid_HCO, & REGR_3DI, REGR_3DO, ZBND=State_Grid%NZ, & ! 3D data ResetRegrName=.true. ) H_AIRVOL(:,:,1:State_Grid%NZ) = REGR_3DO(:,:,1:State_Grid%NZ) ENDIF ! AIRDEN IF ( ExtState%AIRDEN%DoUse ) THEN REGR_3DI(:,:,1:State_Grid%NZ) = State_Met%AIRDEN(:,:,1:State_Grid%NZ) CALL Regrid_MDL2HCO( Input_Opt, State_Grid, State_Grid_HCO, & REGR_3DI, REGR_3DO, ZBND=State_Grid%NZ, & ! 3D data ResetRegrName=.true. ) H_AIRDEN(:,:,1:State_Grid%NZ) = REGR_3DO(:,:,1:State_Grid%NZ) ENDIF ! FRAC_OF_PBL IF ( ExtState%FRAC_OF_PBL%DoUse ) THEN REGR_3DI(:,:,1:State_Grid%NZ) = State_Met%F_OF_PBL(:,:,1:State_Grid%NZ) CALL Regrid_MDL2HCO( Input_Opt, State_Grid, State_Grid_HCO, & REGR_3DI, REGR_3DO, ZBND=State_Grid%NZ, & ! 3D data ResetRegrName=.true. ) H_F_OF_PBL(:,:,1:State_Grid%NZ) = REGR_3DO(:,:,1:State_Grid%NZ) ENDIF !----------------------------------------------------------------------- ! 3-D State_Chm !----------------------------------------------------------------------- ! O3 IF ( id_O3 > 0 ) THEN REGR_3DI(:,:,1:State_Grid%NZ) = & State_Chm%Species(id_O3)%Conc(:,:,1:State_Grid%NZ) CALL Regrid_MDL2HCO( Input_Opt, State_Grid, State_Grid_HCO, & REGR_3DI, REGR_3DO, ZBND=State_Grid%NZ, & ! 3D data ResetRegrName=.true. ) H_SpcO3(:,:,1:State_Grid%NZ) = REGR_3DO(:,:,1:State_Grid%NZ) ENDIF ! NO2 IF ( id_NO2 > 0 ) THEN REGR_3DI(:,:,1:State_Grid%NZ) = & State_Chm%Species(id_NO2)%Conc(:,:,1:State_Grid%NZ) CALL Regrid_MDL2HCO( Input_Opt, State_Grid, State_Grid_HCO, & REGR_3DI, REGR_3DO, ZBND=State_Grid%NZ, & ! 3D data ResetRegrName=.true. ) H_SpcNO2(:,:,1:State_Grid%NZ) = REGR_3DO(:,:,1:State_Grid%NZ) ENDIF ! NO IF ( id_NO > 0 ) THEN REGR_3DI(:,:,1:State_Grid%NZ) = & State_Chm%Species(id_NO)%Conc(:,:,1:State_Grid%NZ) CALL Regrid_MDL2HCO( Input_Opt, State_Grid, State_Grid_HCO, & REGR_3DI, REGR_3DO, ZBND=State_Grid%NZ, & ! 3D data ResetRegrName=.true. ) H_SpcNO(:,:,1:State_Grid%NZ) = REGR_3DO(:,:,1:State_Grid%NZ) ENDIF ! HNO3 IF ( id_HNO3 > 0 ) THEN REGR_3DI(:,:,1:State_Grid%NZ) = & State_Chm%Species(id_HNO3)%Conc(:,:,1:State_Grid%NZ) CALL Regrid_MDL2HCO( Input_Opt, State_Grid, State_Grid_HCO, & REGR_3DI, REGR_3DO, ZBND=State_Grid%NZ, & ! 3D data ResetRegrName=.true. ) H_SpcHNO3(:,:,1:State_Grid%NZ) = REGR_3DO(:,:,1:State_Grid%NZ) ENDIF ! POPG IF ( id_POPG > 0 ) THEN REGR_3DI(:,:,1:State_Grid%NZ) = & State_Chm%Species(id_POPg)%Conc(:,:,1:State_Grid%NZ) CALL Regrid_MDL2HCO( Input_Opt, State_Grid, State_Grid_HCO, & REGR_3DI, REGR_3DO, ZBND=State_Grid%NZ, & ! 3D data ResetRegrName=.true. ) H_SpcPOPG(:,:,1:State_Grid%NZ) = REGR_3DO(:,:,1:State_Grid%NZ) ENDIF ! DRY_TOTN IF ( ExtState%DRY_TOTN%DoUse ) THEN REGR_3DI(:,:,1) = State_Chm%DryDepNitrogen(:,:) CALL Regrid_MDL2HCO( Input_Opt, State_Grid, State_Grid_HCO, & REGR_3DI, REGR_3DO, ZBND=1, & ! 2D data ResetRegrName=.true. ) H_DRY_TOTN(:,:) = REGR_3DO(:,:,1) ENDIF IF ( ExtState%WET_TOTN%DoUse ) THEN REGR_3DI(:,:,1) = State_Chm%WetDepNitrogen(:,:) CALL Regrid_MDL2HCO( Input_Opt, State_Grid, State_Grid_HCO, & REGR_3DI, REGR_3DO, ZBND=1, & ! 2D data ResetRegrName=.true. ) H_WET_TOTN(:,:) = REGR_3DO(:,:,1) ENDIF ENDIF #endif END SUBROUTINE ExtState_UpdateFields #endif ! MODEL_CESM exclude !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: HCOI_GC_WriteDiagn ! ! !DESCRIPTION: Subroutine HCOI\_GC\_WriteDiagn is the wrapper routine to ! write the HEMCO diagnostics. This will only write the diagnostics of ! diagnostics collection 1. !\\ !\\ ! !INTERFACE: ! SUBROUTINE HCOI_GC_WriteDiagn( Input_Opt, Restart, RC ) ! ! !USES: ! USE ErrCode_Mod USE HCOIO_Diagn_Mod, ONLY : HcoDiagn_Write USE Input_Opt_Mod, ONLY : OptInput USE Time_Mod, ONLY : Get_Year, Get_Month, Get_Day, GET_DAY_OF_YEAR USE Time_Mod, ONLY : GET_HOUR, GET_MINUTE, GET_SECOND #if defined( ADJOINT ) USE MAPL_CommsMod, ONLY : MAPL_AM_I_ROOT #endif ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN ) :: Input_Opt ! Input options LOGICAL, INTENT(IN ) :: Restart ! write restart (enforced)? ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 01 Apr 2015 - C. Keller - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: HMRC INTEGER :: year, month, day, dayOfYr, hour, minute, second ! Strings CHARACTER(LEN=255) :: ThisLoc CHARACTER(LEN=512) :: ErrMsg !======================================================================= ! HCOI_GC_WriteDiagn begins here! !======================================================================= ! Initialize RC = GC_SUCCESS HMRC = HCO_SUCCESS ErrMsg = '' ThisLoc = & ' -> at HCOI_GC_WriteDiagn (in module GeosCore/hco_interface_gc_mod.F90)' !----------------------------------------------------------------------- ! Make sure HEMCO time is in sync !----------------------------------------------------------------------- ! Now done through a universal function in HCO_Interface_Common ! (hplin, 3/12/20) year = GET_YEAR() month = GET_MONTH() day = GET_DAY() dayOfYr = GET_DAY_OF_YEAR() hour = GET_HOUR() minute = GET_MINUTE() second = GET_SECOND() CALL SetHcoTime( HcoState, ExtState, year, month, day, dayOfYr, & hour, minute, second, .FALSE., HMRC ) ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "SetHcoTime"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) CALL Flush( HcoState%Config%Err%Lun ) RETURN ENDIF !----------------------------------------------------------------------- ! Write diagnostics !----------------------------------------------------------------------- CALL HcoDiagn_Write( HcoState, RESTART, HMRC ) ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "HcoDiagn_Write"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) CALL Flush( HcoState%Config%Err%Lun ) RETURN ENDIF END SUBROUTINE HCOI_GC_WriteDiagn !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: GridEdge_Set ! ! !DESCRIPTION: SUBROUTINE GridEdge\_Set sets the grid edge pressure values ! on the HEMCO grid. !\\ !\\ ! !INTERFACE: ! SUBROUTINE GridEdge_Set( Input_Opt, State_Grid, State_Met, HcoState, RC ) ! ! !USES: ! USE ErrCode_Mod USE HCOX_STATE_MOD, ONLY : ExtDat_Set USE HCO_GeoTools_Mod, ONLY : HCO_CalcVertGrid USE HCO_GeoTools_Mod, ONLY : HCO_SetPBLm USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE Input_Opt_Mod, ONLY : OptInput #if defined( MODEL_CLASSIC ) USE HCO_State_GC_Mod, ONLY : State_Grid_HCO ! HEMCO intermediate grid USE HCO_Utilities_GC_Mod, ONLY : Regrid_MDL2HCO #endif ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN ) :: Input_Opt ! Input options TYPE(GrdState), INTENT(IN ) :: State_Grid ! Grid state TYPE(MetState), INTENT(IN ) :: State_Met ! Met state TYPE(HCO_STATE), POINTER :: HcoState ! HEMCO state ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: RC ! Success or failure? ! ! !REMARKS: ! GridEdge_Set defines the HEMCO vertical grid used in GEOS-Chem "classic" ! and WRF-GC simulations. (GCHP and HEMCO-CESM-GC uses their own interface to HEMCO.) ! ! !REVISION HISTORY: ! 08 Oct 2014 - C. Keller - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! LOCAL VARIABLES: ! ! Scalars INTEGER :: I, J INTEGER :: HMRC ! Strings CHARACTER(LEN=255) :: ThisLoc CHARACTER(LEN=512) :: ErrMsg ! Pointers REAL(hp), POINTER :: PBLM (:,: ) ! PBL height [m ] REAL(hp), POINTER :: BXHEIGHT(:,:,:) ! Grid box height [m ] REAL(hp), POINTER :: PEDGE (:,:,:) ! Pressure @ lvl edges [Pa] REAL(hp), POINTER :: PSFC (:,: ) ! Surface pressure [Pa] REAL(hp), POINTER :: TK (:,:,:) ! Temperature [K ] REAL(hp), POINTER :: ZSFC (:,: ) ! Surface geopotential [m ] !======================================================================= ! GridEdge_Set begins here !======================================================================= ! Initialize RC = GC_SUCCESS HMRC = HCO_SUCCESS ErrMsg = '' ThisLoc = & ' -> at GridEdge_Set (in module GeosCore/hco_interface_gc_mod.F90)' !----------------------------------------------------------------------- ! Allocate all arrays. !----------------------------------------------------------------------- #if defined( MODEL_CLASSIC ) IF ( .not. Input_Opt%LIMGRID ) THEN #endif ! NOTE: Hco_CalcVertGrid expects pointer-based arguments, so we must ! make PEDGE be a pointer and allocate/deallocate it on each call. ALLOCATE( PEDGE( State_Grid%NX, State_Grid%NY, State_Grid%NZ+1 ), STAT=RC ) CALL GC_CheckVar( 'hco_interface_gc_mod.F90:GridEdge_Set:PEDGE', 0, RC ) IF ( RC /= HCO_SUCCESS ) RETURN ! Edge and surface pressures [Pa] PEDGE = State_Met%PEDGE * 100.0_hp ! Convert hPa -> Pa PSFC => PEDGE(:,:,1) ! Point to other fields of State_Met ZSFC => State_Met%PHIS BXHEIGHT => State_Met%BXHEIGHT TK => State_Met%T ALLOCATE( PBLM( State_Grid%NX, State_Grid%NY ), STAT=RC ) CALL GC_CheckVar( 'hco_interface_gc_mod.F90:GridEdge_Set:PBLM', 0, RC ) IF ( RC /= HCO_SUCCESS ) RETURN #if defined( MODEL_CLASSIC ) ELSE ! If intermediate grid, allocate and manually regrid meteorological fields. ALLOCATE( PEDGE( State_Grid_HCO%NX, State_Grid_HCO%NY, State_Grid_HCO%NZ+1 ), STAT=RC ) CALL GC_CheckVar( 'hco_interface_gc_mod.F90:GridEdge_Set:IMG_PEDGE', 0, RC ) IF ( RC /= HCO_SUCCESS ) RETURN ALLOCATE( ZSFC( State_Grid_HCO%NX, State_Grid_HCO%NY ), STAT=RC ) CALL GC_CheckVar( 'hco_interface_gc_mod.F90:GridEdge_Set:IMG_PHIS', 0, RC ) IF ( RC /= HCO_SUCCESS ) RETURN ALLOCATE( BXHEIGHT( State_Grid_HCO%NX, State_Grid_HCO%NY, State_Grid_HCO%NZ ), STAT=RC ) CALL GC_CheckVar( 'hco_interface_gc_mod.F90:GridEdge_Set:IMG_BXHEIGHT', 0, RC ) IF ( RC /= HCO_SUCCESS ) RETURN ALLOCATE( TK( State_Grid_HCO%NX, State_Grid_HCO%NY, State_Grid_HCO%NZ ), STAT=RC ) CALL GC_CheckVar( 'hco_interface_gc_mod.F90:GridEdge_Set:IMG_TK', 0, RC ) IF ( RC /= HCO_SUCCESS ) RETURN ALLOCATE( PBLM( State_Grid_HCO%NX, State_Grid_HCO%NY ), STAT=RC ) CALL GC_CheckVar( 'hco_interface_gc_mod.F90:GridEdge_Set:IMG_PBLM', 0, RC ) IF ( RC /= HCO_SUCCESS ) RETURN ! Fill and respectively regrid to targets. ! IO, SG, SGH, PtrIn, PtrOut, ZBND, ResetRegrName=.true. ! Edge pressures [Pa] (hPa->Pa convert) REGR_3DI(:,:,:) = State_Met%PEDGE * 100.0_hp CALL Regrid_MDL2HCO( Input_Opt, State_Grid, State_Grid_HCO, & REGR_3DI, REGR_3DO, ZBND=State_Grid_HCO%NZ+1, & ResetRegrName=.true. ) PEDGE(:,:,:) = REGR_3DO(:,:,:) ! Surface pressure PSFC => PEDGE(:,:,1) ! ZSFC REGR_3DI(:,:,1) = State_Met%PHIS(:,:) CALL Regrid_MDL2HCO( Input_Opt, State_Grid, State_Grid_HCO, & REGR_3DI, REGR_3DO, ZBND=1, & ! 2D data ResetRegrName=.true. ) ZSFC(:,:) = REGR_3DO(:,:,1) ! BXHEIGHT REGR_3DI(:,:,1:State_Grid%NZ) = State_Met%BXHEIGHT(:,:,1:State_Grid%NZ) CALL Regrid_MDL2HCO( Input_Opt, State_Grid, State_Grid_HCO, & REGR_3DI, REGR_3DO, ZBND=State_Grid_HCO%NZ, & ! 2D data ResetRegrName=.true. ) BXHEIGHT(:,:,1:State_Grid%NZ) = REGR_3DO(:,:,1:State_Grid%NZ) ! TK REGR_3DI(:,:,1:State_Grid%NZ) = State_Met%T(:,:,1:State_Grid%NZ) CALL Regrid_MDL2HCO( Input_Opt, State_Grid, State_Grid_HCO, & REGR_3DI, REGR_3DO, ZBND=State_Grid_HCO%NZ, & ! 2D data ResetRegrName=.true. ) TK(:,:,1:State_Grid%NZ) = REGR_3DO(:,:,1:State_Grid%NZ) ENDIF #endif !----------------------------------------------------------------------- ! Calculate vertical grid properties !----------------------------------------------------------------------- CALL HCO_CalcVertGrid( HcoState, PSFC, ZSFC, TK, BXHEIGHT, PEDGE, HMRC ) ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "HCO_CalcVertGrid"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !----------------------------------------------------------------------- ! Set PBL heights !----------------------------------------------------------------------- #if defined( MODEL_CLASSIC ) IF ( .not. Input_Opt%LIMGRID ) THEN #endif !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J ) DO J=1,State_Grid%NY DO I=1,State_Grid%NX PBLM(I,J) = State_Met%PBL_TOP_m(I,J) ENDDO ENDDO !$OMP END PARALLEL DO #if defined( MODEL_CLASSIC ) ELSE ! Intermediate grid ! PBLM REGR_3DI(:,:,1) = State_Met%PBL_TOP_m(:,:) CALL Regrid_MDL2HCO( Input_Opt, State_Grid, State_Grid_HCO, & REGR_3DI, REGR_3DO, ZBND=1, & ! 2D data ResetRegrName=.true. ) PBLM(:,:) = REGR_3DO(:,:,1) ENDIF #endif ! Use the met field PBL field to initialize HEMCO CALL HCO_SetPBLm( HcoState, FldName='PBL_HEIGHT', & PBLM=PBLM, DefVal=1000.0_hp, RC=HMRC ) ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "HCO_SetPblM"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !----------------------------------------------------------------------- ! Cleanup and quit !----------------------------------------------------------------------- ! Deallocate and PEDGE IF ( ASSOCIATED( PEDGE ) ) THEN DEALLOCATE( PEDGE, STAT=RC ) CALL GC_CheckVar( 'hco_interface_gc_mod.F90:GridEdge_Set:PEDGE', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF ! Deallocate PBLM IF ( ASSOCIATED( PBLM ) ) THEN DEALLOCATE( PBLM ) CALL GC_CheckVar( 'hco_interface_gc_mod.F90:GridEdge_Set:PBLM', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF #if defined( MODEL_CLASSIC ) IF ( .not. Input_Opt%LIMGRID ) THEN #endif ! Free pointers ZSFC => NULL() BXHEIGHT => NULL() TK => NULL() PSFC => NULL() PEDGE => NULL() PBLM => NULL() #if defined( MODEL_CLASSIC ) ELSE ! Deallocate arrays IF ( ASSOCIATED( ZSFC ) ) THEN DEALLOCATE( ZSFC ) CALL GC_CheckVar( 'hco_interface_gc_mod.F90:GridEdge_Set:ZSFC', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ASSOCIATED( BXHEIGHT ) ) THEN DEALLOCATE( BXHEIGHT ) CALL GC_CheckVar( 'hco_interface_gc_mod.F90:GridEdge_Set:BXHEIGHT', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ASSOCIATED( TK ) ) THEN DEALLOCATE( TK ) CALL GC_CheckVar( 'hco_interface_gc_mod.F90:GridEdge_Set:TK', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF PSFC => NULL() IF ( ASSOCIATED( PEDGE ) ) THEN DEALLOCATE( PEDGE ) CALL GC_CheckVar( 'hco_interface_gc_mod.F90:GridEdge_Set:PEDGE', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ASSOCIATED( PBLM ) ) THEN DEALLOCATE( PBLM ) CALL GC_CheckVar( 'hco_interface_gc_mod.F90:GridEdge_Set:PBLM', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF ENDIF #endif END SUBROUTINE GridEdge_Set !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: SetHcoSpecies ! ! !DESCRIPTION: Subroutine SetHcoSpecies defines the HEMCO species. These ! are typically just the GEOS-Chem species. Some additional species may be ! manually added, e.g. SESQ (which is not a species) or individual CO2 species ! per emission source (for CO2 specialty sim). !\\ !\\ ! This routine has two phases: phase 1 simply returns the number of species ! to be used by HEMCO. This is useful as this number needs to be passed to ! the HEMCO initialization call. ! Phase 2 sets the HEMCO species information in the HEMCO state object. This ! needs to be done after initialization of the HEMCO state object. ! !INTERFACE: ! SUBROUTINE SetHcoSpecies( Input_Opt, State_Chm, HcoState, nSpec, Phase, RC ) ! ! !USES: ! USE ErrCode_Mod USE HCO_LogFile_Mod, ONLY : HCO_SPEC2LOG USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : Species USE HCO_Types_Mod, ONLY : ConfigObj USE State_Chm_Mod, ONLY : ChmState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN ) :: Phase ! 1=Init, 2=Run TYPE(ChmState), INTENT(IN ) :: State_Chm ! Chemistry State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input Options object TYPE(Hco_State), POINTER :: HcoState ! HEMCO state INTEGER, INTENT(INOUT) :: nSpec ! # of species for HEMCO INTEGER, INTENT(INOUT) :: RC ! Success or failure? ! ! !REMARKS: ! (1) We now get physical parameters for species from the species database, ! which is part of the State_Chm object. ! (2) In the future, it will be easier to specify non-advected species ! like SESQ and the CO2 regional species from the species database. ! The species database flags if a species is advected or not. ! ! !REVISION HISTORY: ! 06 Mar 2015 - C. Keller - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! LOCAL VARIABLES: ! ! Scalars INTEGER :: nSpc, HMRC INTEGER :: N, L, M REAL(dp) :: K0, CR, pKa ! Strings CHARACTER(LEN= 31) :: ThisName CHARACTER(LEN=255) :: ThisLoc CHARACTER(LEN=512) :: ErrMsg, Msg ! Pointers TYPE(Species), POINTER :: SpcInfo !================================================================= ! SetHcoSpecies begins here !================================================================= ! Initialize RC = GC_SUCCESS HMRC = HCO_SUCCESS ErrMsg = '' ThisLoc = & ' -> at SetHcoSpecies (in module GeosCore/hco_interface_gc_mod.F90)' !----------------------------------------------------------------- ! For most simulations (e.g. full-chem simulation, most of the ! specialty sims), just use the GEOS-Chem species definitions. !----------------------------------------------------------------- IF ( Input_Opt%ITS_A_FULLCHEM_SIM .or. & Input_Opt%ITS_AN_AEROSOL_SIM .or. & Input_Opt%ITS_A_CARBON_SIM .or. & Input_Opt%ITS_A_MERCURY_SIM .or. & Input_Opt%ITS_A_POPS_SIM .or. & Input_Opt%ITS_A_TAGO3_SIM .or. & Input_Opt%ITS_A_TRACER_SIM .or. & Input_Opt%ITS_A_TRACEMETAL_SIM ) THEN ! Get number of model species nSpc = State_Chm%nAdvect !%%%%% FOR SOA SIMULATIONS %%%%% ! Check for SESQ: SESQ is not transported due to its short lifetime, ! but emissions are still calculated (in MEGAN). SESQ is only used ! in the SOA simulation, i.e. if LIMO is defined. Thus, add one more ! species here if LIMO is a model species and calculate SESQ emissions ! along with LIMO! IF ( id_LIMO > 0 ) THEN nSpc = nSpc + 1 ENDIF ! Assign species variables IF ( PHASE == 2 ) THEN ! Verbose (only written if debug printout is requested) IF ( Input_Opt%Verbose ) THEN Msg = 'Registering HEMCO species:' CALL HCO_MSG( Msg, SEP1='-', LUN=HcoState%Config%hcoLogLUN ) ENDIF ! Sanity check: number of input species should agree with nSpc IF ( nSpec /= nSpc ) THEN WRITE(ErrMsg,*) 'Input species /= expected species: ', nSpec, nSpc CALL GC_ERROR( ErrMsg, RC, ThisLoc ) RETURN ENDIF DO N = 1, State_Chm%nAdvect ! Get info for this species from the species database SpcInfo => State_Chm%SpcData(N)%Info ! Model ID and species name HcoState%Spc(N)%ModID = SpcInfo%ModelID HcoState%Spc(N)%SpcName = TRIM( SpcInfo%Name ) ! Actual molecular weight of species [g/mol] HcoState%Spc(N)%MW_g = SpcInfo%MW_g ! Set Henry's law coefficients HcoState%Spc(N)%HenryK0 = SpcInfo%Henry_K0 ! [M/atm] HcoState%Spc(N)%HenryCR = SpcInfo%Henry_CR ! [K ] HcoState%Spc(N)%HenryPKA = SpcInfo%Henry_pKa ! [1 ] ! Logfile output (only written if debug printout is requested) IF ( Input_Opt%Verbose ) THEN CALL HCO_SPEC2LOG( HcoState, N ) ENDIF ! Free pointer memory SpcInfo => NULL() ENDDO !------------------------------------------------------------------ ! %%%%% FOR SOA SIMULATIONS %%%%% ! ! Add the non-advected species SESQ in the last species slot !------------------------------------------------------------------ IF ( id_LIMO > 0 ) THEN N = nSpec HcoState%Spc(N)%ModID = N HcoState%Spc(N)%SpcName = 'SESQ' HcoState%Spc(N)%MW_g = 150.0_hp HcoState%Spc(N)%HenryK0 = 0.0_hp HcoState%Spc(N)%HenryCR = 0.0_hp HcoState%Spc(N)%HenryPKa = 0.0_hp ! Logfile output (only written if debug output is requested) IF ( Input_Opt%Verbose ) THEN CALL HCO_SPEC2LOG( HcoState, N ) ENDIF ENDIF ! Add line to log-file IF ( Input_Opt%Verbose ) THEN msg='' CALL HCO_MSG( msg, SEP1='-', LUN=HcoState%Config%hcoLogLUN ) ENDIF ENDIF ! Phase = 2 !----------------------------------------------------------------- ! DEFAULT (RETURN W/ ERROR) !----------------------------------------------------------------- ELSE ErrMsg = 'Invalid simulation type - cannot define model species' CALL HCO_ERROR( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! For phase 1, pass species to output nSpec = nSpc ! Return w/ success RC = HCO_SUCCESS END SUBROUTINE SetHcoSpecies !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: SetHcoGrid ! ! !DESCRIPTION: Subroutine SetHcoGrid tells HEMCO about the grid that is being ! used by the GEOS-Chem simulation. !\\ !\\ ! !INTERFACE: ! SUBROUTINE SetHcoGrid( State_Grid, State_Met, HcoState, RC ) ! ! !USES: ! USE ErrCode_Mod USE HCO_ARR_MOD, ONLY : HCO_ArrInit USE HCO_VERTGRID_MOD, ONLY : HCO_VertGrid_Define USE PRESSURE_MOD, ONLY : GET_AP, GET_BP USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT ARGUMENTS: ! TYPE(GrdState), INTENT(IN ) :: State_Grid ! Grid state TYPE(MetState), INTENT(IN ) :: State_Met ! Met state ! ! !INPUT/OUTPUT ARGUMENTS: ! TYPE(Hco_State), POINTER :: HcoState ! HEMCO state INTEGER, INTENT(INOUT) :: RC ! ! !REVISION HISTORY: ! 13 Sep 2013 - C. Keller - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! LOCAL VARIABLES: ! ! Scalars INTEGER :: L INTEGER :: HMRC ! Arrays REAL(hp), ALLOCATABLE :: Ap(:), Bp(:) ! Strings CHARACTER(LEN=255) :: ThisLoc CHARACTER(LEN=512) :: ErrMsg !======================================================================= ! SetHcoGrid begins here! !======================================================================= ! Initialize RC = GC_SUCCESS HMRC = HCO_SUCCESS ErrMsg = '' ThisLoc = & ' -> at SetHcoGrid (in module GeosCore/hco_interface_gc_mod.F90)' !======================================================================= ! NOTE: for now, just copy GEOS-Chem grid, i.e. HEMCO calculations ! are performed on the GEOS-Chem simulation grid. ! It is possible to define a different emissions grid below. ! In this case, all arrays have to be regridded when passing ! them between HEMCO and GEOS-Chem (this is also true for the ! met-fields used by the extensions)! !======================================================================= ! Grid dimensions HcoState%NX = State_Grid%NX HcoState%NY = State_Grid%NY HcoState%NZ = State_Grid%NZ ! Allocate Ap array ALLOCATE( Ap( State_Grid%NZ+1 ), STAT=RC ) CALL GC_CheckVar( 'hco_interface_gc_mod:SetHcoGrid:Ap', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ! Allocate Bp array ALLOCATE( Bp( State_Grid%NZ+1 ), STAT=RC ) CALL GC_CheckVar( 'hco_interface_gc_mod:SetHcoGrid:Bp', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ! Get Ap and Bp values from GEOS-Chem DO L = 1, State_Grid%NZ+1 Ap(L) = GET_AP(L) * 100_hp ! hPa to Pa Bp(L) = GET_BP(L) ! unitless ENDDO ! Define the vertical grid CALL HCO_VertGrid_Define( HcoState%Config, & zGrid = HcoState%Grid%zGrid, & nz = State_Grid%NZ, & Ap = Ap, & Bp = Bp, & RC = HMRC ) ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "HCO_VertGrid_Define"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Set pointers to grid variables HcoState%Grid%XMID%Val => State_Grid%XMid (:,:) HcoState%Grid%YMID%Val => State_Grid%YMid (:,:) HcoState%Grid%XEDGE%Val => State_Grid%XEdge (:,:) HcoState%Grid%YEDGE%Val => State_Grid%YEdge (:,:) HcoState%Grid%YSIN%Val => State_Grid%YSIN (:,:) HcoState%Grid%AREA_M2%Val => State_Grid%Area_M2(:,:) ! HcoState%Grid%ZSFC%Val => State_Met%PHIS ! Surface geopotential height ! HcoState%Grid%BXHEIGHT_M%Val => State_Met%BXHEIGHT ! Grid box heights ! ! Allocate PEDGE. Will be updated every time step! ! CALL HCO_ArrInit( HcoState%Grid%PEDGE, HcoState%NX, HcoState%NY, HcoState%NZ+1, RC ) ! IF ( RC /= HCO_SUCCESS ) RETURN ! Return w/ success RC = HCO_SUCCESS END SUBROUTINE SetHcoGrid !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: CheckSettings ! ! !DESCRIPTION: Subroutine CheckSettings performs some sanity checks of the ! switches provided in the HEMCO configuration file in combination with the ! settings specified in geoschem_config.yml. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CheckSettings( HcoConfig, Input_Opt, State_Met, State_Chm, RC ) ! ! !USES: ! USE ErrCode_Mod USE HCO_Types_Mod, ONLY : ConfigObj USE HCO_ExtList_Mod, ONLY : GetExtNr, SetExtNr USE HCO_ExtList_Mod, ONLY : GetExtOpt, AddExtOpt USE HCO_ExtList_Mod, ONLY : CoreNr USE Input_Opt_Mod, ONLY : OptInput USE State_Met_Mod, ONLY : MetState USE State_Chm_Mod, ONLY : ChmState ! ! !INPUT PARAMETERS: ! TYPE(ConfigObj), POINTER :: HcoConfig ! HEMCO config obj TYPE(MetState), INTENT(IN ) :: State_Met ! Met state TYPE(ChmState), INTENT(IN ) :: State_Chm ! Chemistry state ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input opts INTEGER, INTENT(INOUT) :: RC ! Failure or success ! ! !REMARKS: ! Gfortran will choke unless we use the .eqv. operator to compare LOGICAL ! variables for equality (or .neqv. for inequality). ! !REVISION HISTORY: ! 18 Feb 2015 - C. Keller - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: ExtNr INTEGER :: HMRC LOGICAL :: LTMP LOGICAL :: FOUND ! Strings CHARACTER(LEN=31 ) :: OptName CHARACTER(LEN=255) :: ThisLoc CHARACTER(LEN=512) :: ErrMsg !======================================================================= ! CheckSettings begins here !======================================================================= ! Initialize RC = GC_SUCCESS HMRC = HCO_SUCCESS ErrMsg = '' ThisLoc = & ' -> at CheckSettings (in module GeosCore/hco_interface_gc_mod.F90)' !----------------------------------------------------------------------- ! If chemistry is turned off, do not read chemistry input data !----------------------------------------------------------------------- IF ( .NOT. Input_Opt%LCHEM ) THEN IF ( Input_Opt%amIRoot ) THEN Print*, '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%' Print*, '% WARNING: Activate chemistry is set to false in %' Print*, '% geoschem_config.yml so chemistry data will not be %' Print*, '% read by HEMCO(hco_interface_gc_mod.F90) %' Print*, '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%' ENDIF OptName = 'CHEMISTRY_INPUT : false' CALL AddExtOpt( HcoConfig, TRIM(OptName), CoreNr, RC=HMRC ) ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "AddExtOpt( CHEMISTRY_INPUT )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !----------------------------------------------------------------------- ! EMISSIONS switch in HEMCO_Config.rc ! ! Create a shadow field (Input_Opt%DoEmissions) to determine if ! emissions fluxes should be applied in mixing_mod.F90 !----------------------------------------------------------------------- CALL GetExtOpt( HcoConfig, -999, 'EMISSIONS', & OptValBool=LTMP, FOUND=FOUND, RC=HMRC ) IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "GetExtOpt( EMISSIONS )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( .not. FOUND ) THEN ErrMsg = 'EMISSIONS not found in HEMCO_Config.rc file!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF Input_Opt%DoEmissions = LTMP !----------------------------------------------------------------------- ! Lightning NOx extension ! ! The lightning NOx extension is only used in fullchem simulations. We ! will create a shadow field (Input_Opt%DoLightningNOx) to determine if ! the FLASH_DENS and CONV_DEPTH fields are needed in flexgrid_read_mod.F90 !----------------------------------------------------------------------- IF ( Input_Opt%ITS_A_FULLCHEM_SIM ) THEN ExtNr = GetExtNr( HcoConfig%ExtList, 'LightNOx' ) IF ( ExtNr <= 0 ) THEN Input_Opt%DoLightNOx = .FALSE. ELSE Input_Opt%DoLightNOx = .TRUE. ENDIF ELSE Input_Opt%DoLightNOx = .FALSE. ENDIF !----------------------------------------------------------------------- ! UV Albedo ! ! UV albedoes are needed for photolysis. Photolysis is only used in ! fullchem and aerosol-only simulations that have chemistry switched on. !----------------------------------------------------------------------- IF ( Input_Opt%ITS_A_FULLCHEM_SIM .or. Input_Opt%ITS_AN_AEROSOL_SIM ) THEN CALL GetExtOpt( HcoConfig, -999, 'UVALBEDO', & OptValBool=LTMP, FOUND=FOUND, RC=HMRC ) IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "GetExtOpt( UVALBEDO )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( .not. FOUND ) THEN ErrMsg = 'UVALBEDO not found in HEMCO_Config.rc file!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( .not. LTMP ) THEN ErrMsg = 'UVALBEDO is set to false in HEMCO_Config.rc ' // & 'but should be set to true for this simulation.' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF #ifdef ESMF_ !----------------------------------------------------------------------- ! Also check that HEMCO_RESTART is not set in ESMF !----------------------------------------------------------------------- CALL GetExtOpt( HcoConfig, -999, 'HEMCO_RESTART', & OptValBool=LTMP, FOUND=FOUND, RC=HMRC ) ! Trap potential errors IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "GetExtOpt( HEMCO_RESTART in ESMF)"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF If ( FOUND .and. LTMP ) Then ErrMsg = 'Error encountered in "ESMF HEMCO_RESTART"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN End If #endif !----------------------------------------------------------------------- ! TOMS/SBUV overhead O3 columns ! ! Do not read in the TOMS/SBUV O3 columns unless running a mercury ! simulation. We will instead use the O3 columns from the GEOS-FP ! or MERRA-2 met fields. !----------------------------------------------------------------------- CALL GetExtOpt( HcoConfig, -999, 'TOMS_SBUV_O3', & OptValBool=LTMP, FOUND=FOUND, RC=HMRC ) IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "GetExtOpt( TOMS_SBUV_O3 )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( Input_Opt%ITS_A_MERCURY_SIM .and. Input_Opt%LKRedUV ) THEN IF ( .not. FOUND ) THEN ErrMsg = 'TOMS_SBUV_O3 not found in HEMCO_Config.rc file ' // & 'but is required for this simulation.' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( .not. LTMP ) THEN ErrMsg = 'TOMS_SBUV_O3 is set to false in HEMCO_Config.rc ' // & 'but should be set to true for this simulation.' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ELSE IF ( LTMP ) THEN ErrMsg = 'TOMS_SBUV_O3 is set to true in HEMCO_Config.rc ' // & 'but should be set to false for this simulation. '// & 'O3 columns are obtained from met fields instead.' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !----------------------------------------------------------------------- ! Ocean Hg input data (for Hg sims only) ! ! If we have turned on the Ocean Mercury simulation in the ! geoschem_config.yml file, then we will also toggle the OCEAN_Hg ! collection so that HEMCO reads the appropriate data. !----------------------------------------------------------------------- IF ( Input_Opt%ITS_A_MERCURY_SIM .and. Input_Opt%LDYNOCEAN ) THEN CALL GetExtOpt( HcoConfig, -999, 'OCEAN_Hg', & OptValBool=LTMP, FOUND=FOUND, RC=HMRC ) IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "GetExtOpt( OCEAN_Hg )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( .not. FOUND ) THEN ErrMsg = 'OCEAN_Hg not found in HEMCO_Config.rc file!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( .not. LTMP ) THEN ErrMsg = 'OCEAN_Hg is set to false in HEMCO_Config.rc ' // & 'but use_dynamic_ocean_Hg is true in geoschem_config.yml.' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !----------------------------------------------------------------------- ! RRTMG input data ! ! If we have turned on the RRTMG simulation in the ! geoschem_config.yml file, then we will also toggle the RRTMG ! collection so that HEMCO reads the appropriate data. !----------------------------------------------------------------------- IF ( Input_Opt%LRAD .and. Input_Opt%ITS_A_FULLCHEM_SIM ) THEN CALL GetExtOpt( HcoConfig, -999, 'RRTMG', & OptValBool=LTMP, FOUND=FOUND, RC=HMRC ) IF ( HMRC /= HCO_SUCCESS ) THEN RC = HMRC ErrMsg = 'Error encountered in "GetExtOpt( RRTMG )"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( .not. FOUND ) THEN ErrMsg = 'RRTMG not found in HEMCO_Config.rc file!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( .not. LTMP ) THEN ErrMsg = 'RRTMG is set to false in HEMCO_Config.rc ' // & 'but should be set to true for this simulation.' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF ! Print value of shadow fields (only if debug output is requested) IF ( Input_Opt%amIRoot .and. Input_Opt%Verbose ) THEN Print*, '' Print*, '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%' Print*, 'Switches read from HEMCO_Config.rc:' Print*, ' EMISSIONS : ', Input_Opt%DoEmissions Print*, ' LightNOx : ', Input_Opt%DoLightNOx Print*, '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%' ENDIF ! Return w/ success RC = HCO_SUCCESS END SUBROUTINE CheckSettings !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: get_szafact ! ! !DESCRIPTION: ! Subroutine GET\_SZAFACT returns diurnal scale factors from dividing ! the sza by the sum of the total sza per day. These factors are mainly ! imposed to the monthly OH climatology. ! However, the same scale factors are dimensionless and can hence be ! applied to other compounds too (e.g. O3). !\\ ! !INTERFACE: ! FUNCTION Get_SzaFact( I, J, State_Met ) RESULT( FACT ) ! ! !USES: ! USE State_Met_Mod, ONLY : MetState USE Time_Mod, ONLY : Get_TS_Chem ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I, J TYPE(MetState), INTENT(IN) :: State_Met ! ! !RETURN VALUE: ! REAL(fp) :: FACT ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC !======================================================================= ! GET_SZAFACT begins here! !======================================================================= ! Test for sunlight... IF ( State_Met%SUNCOS(I,J) > 0e+0_fp .AND. & State_Met%SUNCOSsum(I,J) > 0e+0_fp ) THEN ! Impose a diurnal variation on OH during the day FACT = ( State_Met%SUNCOS(I,J) / State_Met%SUNCOSsum(I,J) ) & * ( 86400e+0_fp / GET_TS_CHEM() ) ELSE ! At night, OH goes to zero FACT = 0e+0_fp ENDIF END FUNCTION Get_SzaFact !EOC #if defined ( MODEL_CLASSIC ) !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: get_met_fields ! ! !DESCRIPTION: Subroutine GET\_MET\_FIELDS calls the various routines to get ! met fields from HEMCO. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Get_Met_Fields( Input_Opt, State_Chm, State_Grid, & State_Met, Phase, RC ) ! ! ! USES: ! USE Calc_Met_Mod USE ErrCode_Mod USE FlexGrid_Read_Mod USE HCO_Utilities_GC_Mod, ONLY : HCO_GC_GetPtr USE Input_Opt_Mod, ONLY : OptInput USE Pressure_Mod, ONLY : Set_Floating_Pressures USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE Time_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN ) :: Input_Opt ! Input options TYPE(GrdState), INTENT(IN ) :: State_Grid ! Grid State INTEGER, INTENT(IN ) :: Phase ! Run phase ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State INTEGER, INTENT(INOUT) :: RC ! Failure or success ! ! !REMARKS: ! ! !REVISION HISTORY: ! 07 Feb 2012 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: N_DYN ! Dynamic timestep in seconds INTEGER :: D(2) ! Variable for date and time LOGICAL :: FOUND ! Found in restart file? LOGICAL :: Update_MR ! Update species mixing ratio? CHARACTER(LEN=255) :: v_name ! Variable name ! Pointers REAL*4, POINTER :: Ptr2D(:,:) REAL*4, POINTER :: Ptr3D(:,:,:) !================================================================= ! ***** R E A D M E T F I E L D S ***** ! ***** At the start of the GEOS-Chem simulation ***** !================================================================= ! Assume success RC = GC_SUCCESS ! Initialize pointers Ptr2D => NULL() Ptr3D => NULL() !---------------------------------- ! Read time-invariant data (Phase 0 only) !---------------------------------- IF ( PHASE == 0 ) THEN CALL FlexGrid_Read_CN( Input_Opt, State_Grid, State_Met ) ENDIF !---------------------------------- ! Read 1-hr time-averaged data !---------------------------------- IF ( PHASE == 0 ) THEN D = GET_FIRST_A1_TIME() ELSE D = GET_A1_TIME() ENDIF IF ( PHASE == 0 .or. ITS_TIME_FOR_A1() .and. & .not. ITS_TIME_FOR_EXIT() ) THEN CALL FlexGrid_Read_A1( D(1), D(2), Input_Opt, State_Grid, State_Met ) IF ( TRIM(State_Grid%GridRes) == '0.125x0.15625' ) THEN CALL FlexGrid_Read_A1dyn( D(1), D(2), Input_Opt, State_Grid, State_Met ) ENDIF ENDIF !---------------------------------- ! Read 3-hr time averaged data !---------------------------------- IF ( PHASE == 0 ) THEN D = GET_FIRST_A3_TIME() ELSE D = GET_A3_TIME() ENDIF IF ( PHASE == 0 .or. ITS_TIME_FOR_A3() .and. & .not. ITS_TIME_FOR_EXIT() ) THEN CALL FlexGrid_Read_A3( D(1), D(2), Input_Opt, State_Grid, State_Met ) ENDIF !---------------------------------- ! Read 3-hr instantanous data !---------------------------------- IF ( PHASE == 0 ) THEN D = GET_FIRST_I3_TIME() CALL FlexGrid_Read_I3_1( D(1), D(2), Input_Opt, State_Grid, State_Met ) ! Resolution 0.125x0.15625 uses I1dyn archive (xlwang, 06/2024) IF ( TRIM(State_Grid%GridRes) /= '0.125x0.15625' ) THEN ! Set dry surface pressure (PS1_DRY) from State_Met%PS1_WET ! and compute avg dry pressure near polar caps CALL Set_Dry_Surface_Pressure( State_Grid, State_Met, 1 ) CALL AvgPole( State_Grid, State_Met%PS1_DRY ) ! Compute avg moist pressure near polar caps CALL AvgPole( State_Grid, State_Met%PS1_WET ) ! Initialize surface pressures prior to interpolation ! to allow initialization of floating pressures State_Met%PSC2_WET = State_Met%PS1_WET State_Met%PSC2_DRY = State_Met%PS1_DRY CALL Set_Floating_Pressures( State_Grid, State_Met, RC ) ! Call AIRQNT to compute initial air mass quantities CALL AirQnt( Input_Opt, State_Chm, State_Grid, State_Met, RC ) ENDIF ! not 0.125x0.15625 ENDIF ! Read in I3 fields at t+3hours for this timestep IF ( ITS_TIME_FOR_I3() .and. .not. ITS_TIME_FOR_EXIT() ) THEN D = GET_I3_TIME() CALL FlexGrid_Read_I3_2( D(1), D(2), Input_Opt, State_Grid, State_Met ) ! Resolution 0.125x0.15625 use I1dyn archive (xlwang, 06/2024) IF ( TRIM(State_Grid%GridRes) /= '0.125x0.15625' ) THEN ! Set dry surface pressure (PS2_DRY) from State_Met%PS2_WET ! and compute avg dry pressure near polar caps CALL Set_Dry_Surface_Pressure( State_Grid, State_Met, 2 ) CALL AvgPole( State_Grid, State_Met%PS2_DRY ) ! Compute avg moist pressure near polar caps CALL AvgPole( State_Grid, State_Met%PS2_WET ) ENDIF ! not 0.125x0.15625 ENDIF !---------------------------------- ! Read 1-hr instantanous data !---------------------------------- ! Resolution 0.125x0.15625 uses I1dyn archive (xlwang, 06/2024) IF ( TRIM(State_Grid%GridRes) == '0.125x0.15625' ) THEN IF ( PHASE == 0 ) THEN D = GET_FIRST_I1dyn_TIME() CALL FlexGrid_Read_I1dyn_1( D(1), D(2), Input_Opt, State_Grid, State_Met ) ! Set dry surface pressure (PS1_DRY) from State_Met%PS1_WET ! and compute avg dry pressure near polar caps CALL Set_Dry_Surface_Pressure( State_Grid, State_Met, 1 ) CALL AvgPole( State_Grid, State_Met%PS1_DRY ) ! Compute avg moist pressure near polar caps CALL AvgPole( State_Grid, State_Met%PS1_WET ) ! Initialize surface pressures prior to interpolation ! to allow initialization of floating pressures State_Met%PSC2_WET = State_Met%PS1_WET State_Met%PSC2_DRY = State_Met%PS1_DRY CALL Set_Floating_Pressures( State_Grid, State_Met, RC ) ! Call AIRQNT to compute initial air mass quantities CALL AirQnt( Input_Opt, State_Chm, State_Grid, State_Met, RC ) ENDIF ! Read in I1dyn fields at t+3hours for this timestep IF ( ITS_TIME_FOR_I1dyn() .and. .not. ITS_TIME_FOR_EXIT() ) THEN D = GET_I1dyn_TIME() CALL FlexGrid_Read_I1dyn_2( D(1), D(2), Input_Opt, State_Grid, State_Met ) ! Set dry surface pressure (PS2_DRY) from State_Met%PS2_WET ! and compute avg dry pressure near polar caps CALL Set_Dry_Surface_Pressure( State_Grid, State_Met, 2 ) CALL AvgPole( State_Grid, State_Met%PS2_DRY ) ! Compute avg moist pressure near polar caps CALL AvgPole( State_Grid, State_Met%PS2_WET ) ENDIF ENDIF END SUBROUTINE Get_Met_Fields !EOC #endif !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Compute_Sflx_for_Vdiff ! ! !DESCRIPTION: Computes the surface flux (\= emissions - drydep) for the ! non-local PBL mixing. This code was removed from within the non-local ! PBL mixing driver routine VDIFFDR. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Compute_Sflx_for_Vdiff( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! ! USES: ! USE Depo_Mercury_Mod, ONLY : Add_Hg2_DD USE Depo_Mercury_Mod, ONLY : Add_HgP_DD USE Depo_Mercury_Mod, ONLY : Add_Hg2_SnowPack USE ErrCode_Mod USE Get_Ndep_Mod, ONLY : Soil_Drydep USE HCO_Utilities_GC_Mod, ONLY : GetHcoValEmis, GetHcoValDep, InquireHco USE HCO_Utilities_GC_Mod, ONLY : LoadHcoValEmis, LoadHcoValDep USE HCO_Utilities_GC_Mod, ONLY : HCO_GC_GetDiagn USE HCO_State_GC_Mod, ONLY : ExtState USE HCO_State_GC_Mod, ONLY : HcoState USE Input_Opt_Mod, ONLY : OptInput #if !defined( MODEL_CESM ) USE Mercury_Mod, ONLY : Hg_Emis #endif USE PhysConstants USE Species_Mod, ONLY : Species, SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Chm_Mod, ONLY : Ind_ USE State_Diag_Mod, ONLY : DgnState, DgnMap USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE Time_Mod, ONLY : Get_Ts_Conv USE Time_Mod, ONLY : Get_Ts_Emis USE Timers_Mod, ONLY : Timer_End, Timer_Start USE UnitConv_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input options TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: RC ! Success or failure? ! ! !REMARKS: ! The loop order of this routine was changed from I,J,N to N,I,J. This allows ! us to keep one species in memory at a time, to avoid regridding over and over ! again when the HEMCO grid is not the same as the model grid. ! The on-demand regridder caches the LAST SPECIES information, so the outermost ! loop should be based on the species ID. ! ! !REVISION HISTORY: ! 18 May 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! SAVEd scalars INTEGER, SAVE :: id_O3 = -1 INTEGER, SAVE :: id_HNO3 = -1 ! Scalars LOGICAL :: found, zeroHg0Dep INTEGER :: I, J INTEGER :: L, NA INTEGER :: ND, N INTEGER :: Hg_Cat, topMix INTEGER :: S, previous_units REAL(fp) :: dep, emis REAL(fp) :: MW_kg, fracNoHg0Dep REAL(fp) :: tmpFlx LOGICAL :: EmisSpec, DepSpec ! Strings CHARACTER(LEN=255) :: errMsg, thisLoc ! Arrays REAL(fp), TARGET :: eflx(State_Grid%NX, & State_Grid%NY, & State_Chm%nAdvect ) REAL(fp), TARGET :: colEflx(State_Grid%NX, & State_Grid%NY, & State_Chm%nAdvect ) REAL(fp), TARGET :: dflx(State_Grid%NX, & State_Grid%NY, & State_Chm%nAdvect ) ! Pointers and Objects REAL(f4), POINTER :: Ptr2D(:,:) => NULL() REAL(f4), POINTER :: PNOxLoss_O3(:,:) REAL(f4), POINTER :: PNOxLoss_HNO3(:,:) TYPE(Species), POINTER :: ThisSpc TYPE(DgnMap), POINTER :: mapData !======================================================================= ! Compute_Sflx_For_Vdiff begins here! ! ! NOTE: The State_Chm%DryDepMix is zeroed in routine ! "Zero_Diagnostics_StartOfTimestep", so we have removed ! the code to zero them again here. !======================================================================= ! Initialize RC = GC_SUCCESS dflx = 0.0_fp eflx = 0.0_fp colEflx = 0.0_fp ThisSpc => NULL() errMsg = '' thisLoc = & ' -> at Compute_Sflx_for_Vdiff (in module GeosCore/hco_interface_gc_mod.F90)' PNOXLoss_HNO3 => NULL() PNOxLoss_O3 => NULL() !======================================================================= ! Convert units to [v/v dry] aka [mol/mol dry] !======================================================================= ! Halt mixing timer (so that unit conv can be timed separately) IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "Boundary layer mixing", RC ) ENDIF ! Convert units CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & mapping = State_Chm%Map_Advect, & new_units = MOLES_SPECIES_PER_MOLES_DRY_AIR, & previous_units = previous_units, & RC = RC ) ! Trap potential error IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountred in "Convert_Spc_Units" (to v/v dry)!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Start mixing timer again IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "Boundary layer mixing", RC ) ENDIF !======================================================================= ! Get pointers to the PARANOX loss fluxes. ! These are stored in diagnostics 'PARANOX_O3_DEPOSITION_FLUX' and ! 'PARANOX_HNO3_DEPOSITION_FLUX'. The call below links pointers ! PNOXLOSS_O3 and PNOXLOSS_HNO3 to the data values stored in the ! respective diagnostics. The pointers will remain unassociated if ! the diagnostics do not exist. ! ! The arrays are now allocated and copied to to accommodate for the ! HEMCO intermediate grid feature, as we want the regridded data to ! be kept for the rest of this subroutine call. !======================================================================= ! Get species IDs id_O3 = Ind_('O3' ) id_HNO3 = Ind_('HNO3') #if !defined( MODEL_CESM ) IF ( id_O3 > 0 ) THEN CALL HCO_GC_GetDiagn( & Input_Opt, State_Grid, & DiagnName = 'PARANOX_O3_DEPOSITION_FLUX', & StopIfNotFound = .FALSE., & Ptr2D = Ptr2D, & RC = RC ) ENDIF IF( ASSOCIATED( Ptr2D )) THEN ALLOCATE ( PNOxLoss_O3( State_Grid%NX, State_Grid%NY ), STAT=RC ) PNOxLoss_O3(:,:) = Ptr2D(:,:) ENDIF Ptr2D => NULL() IF ( id_HNO3 > 0 ) THEN CALL HCO_GC_GetDiagn( & Input_Opt, State_Grid, & DiagnName = 'PARANOX_HNO3_DEPOSITION_FLUX', & StopIfNotFound = .FALSE., & Ptr2D = Ptr2D, & RC = RC ) ENDIF IF( ASSOCIATED( Ptr2D )) THEN ALLOCATE ( PNOxLoss_HNO3( State_Grid%NX, State_Grid%NY ), STAT=RC ) PNOxLoss_HNO3(:,:) = Ptr2D(:,:) ENDIF Ptr2D => NULL() #endif !======================================================================= ! Add emissions & deposition values calculated in HEMCO. ! Here we only consider emissions below the PBL top. ! ! The loop has been separated to go over N, J, I in order to optimize ! for retrieving regridded data from HEMCO. There is only one regrid ! buffer per field (emis/dep, N) so these must not be intertwined, ! or there will be a large performance penalty. !======================================================================= ! Advected species loop DO NA = 1, State_Chm%nAdvect ! Get the modelId N = State_Chm%Map_Advect(NA) ! Point to the corresponding entry in the species database ThisSpc => State_Chm%SpcData(N)%Info ! Check if there is emissions or deposition for this species #if !defined( MODEL_CESM ) CALL InquireHco ( N, Emis=EmisSpec, Dep=DepSpec ) #else ! Do not apply for MODEL_CESM as its handled by HEMCO-CESM independently EmisSpec = .False. DepSpec = .False. #endif ! If there is emissions for this species, it must be loaded into ! memory first. This is achieved by attempting to retrieve a ! grid box while NOT in a parallel loop. Failure to load this will ! result in severe performance issues!! (hplin, 9/27/20) IF ( EmisSpec ) THEN CALL LoadHcoValEmis ( Input_Opt, State_Grid, NA ) ENDIF IF ( DepSpec ) THEN CALL LoadHcoValDep ( Input_Opt, State_Grid, NA ) ENDIF !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, topMix )& !$OMP PRIVATE( tmpFlx, found, emis, dep ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Below emissions. Do not apply for MODEL_CESM as its handled by ! HEMCO-CESM independently #ifndef MODEL_CESM ! PBL top level [integral model levels] topMix = MAX( 1, FLOOR( State_Met%PBL_TOP_L(I,J) ) ) !------------------------------------------------------------------ ! Add total emissions in the PBL to the EFLX array ! which tracks emission fluxes. Units are [kg/m2/s]. !------------------------------------------------------------------ IF ( EmisSpec ) THEN ! Are there emissions for these species? ! Compute emissions for all other simulation tmpFlx = 0.0_fp DO L = 1, topMix CALL GetHcoValEmis( Input_Opt, State_Grid, NA, I, & J, L, found, emis ) IF ( .NOT. found ) EXIT tmpFlx = tmpFlx + emis ENDDO eflx(I,J,NA) = eflx(I,J,NA) + tmpFlx ! Compute column emission fluxes for satellite diagnostics IF ( State_Diag%Archive_SatDiagnColEmis ) THEN tmpFlx = 0.0_fp DO L = 1, State_Grid%NZ CALL GetHcoValEmis( Input_Opt, State_Grid, NA, I, & J, L, found, emis ) IF ( .NOT. found ) EXIT tmpFlx = tmpFlx + emis ENDDO colEflx(I,J,NA) = colEflx(I,J,NA) + tmpFlx ENDIF ENDIF ! For Hg simulations, also add Hg emissions not handled by HEMCO IF ( Input_Opt%ITS_A_MERCURY_SIM ) THEN eflx(I,J,NA) = eflx(I,J,NA) + Hg_EMIS(I,J,NA) ENDIF #endif !------------------------------------------------------------------ ! Also add drydep frequencies calculated by HEMCO (e.g. from the ! air-sea exchange module) to DFLX. These values are stored ! in 1/s. They are added in the same manner as the DEPSAV values ! from drydep_mod.F90. DFLX will be converted to kg/m2/s later. ! (ckeller, 04/01/2014) !------------------------------------------------------------------ IF ( DepSpec ) THEN CALL GetHcoValDep( Input_Opt, State_Grid, NA, I, & J, 1, found, dep ) ! Sea-air deposition frequency [1/s] --> flux [mol/mol/s] IF ( found ) THEN dflx(I,J,NA) = dflx(I,J,NA) + & + ( dep * State_Chm%Species(NA)%Conc(I,J,1) & / ( AIRMW / ThisSpc%MW_g ) ) ENDIF ENDIF ENDDO ! I ENDDO ! J !$OMP END PARALLEL DO ! Free pointers ThisSpc => NULL() ENDDO ! NA !======================================================================= ! Add emissions & deposition values calculated in HEMCO. ! Here we only consider emissions below the PBL top. ! ! For the full-chemistry simulations, emissions above the PBL ! top will be applied in routine SETEMIS, which occurs just ! before the SMVGEAR/KPP solvers are invoked. ! ! For the specialty simulations, emissions above the PBL top ! will be applied in the chemistry routines for each ! specialty simulation. ! ! For more information, please see this wiki page: ! http://wiki.geos-chem.org/Distributing_emissions_in_the_PBL !======================================================================== !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, N )& !$OMP PRIVATE( thisSpc, dep, S )& !$OMP PRIVATE( ND, fracNoHg0Dep, zeroHg0Dep )& !$OMP COLLAPSE( 2 ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX !===================================================================== ! Apply dry deposition frequencies ! These are the frequencies calculated in drydep_mod.F90 ! The HEMCO drydep frequencies (from air-sea exchange and ! PARANOX) were already added above. ! ! NOTES: ! (1) Loops over only the drydep species ! (2) If drydep is turned off, nDryDep=0 and the loop won't execute ! (3) Tagged species are included in this loop. via species database !===================================================================== DO ND = 1, State_Chm%nDryDep ! Get the species ID from the drydep ID N = State_Chm%Map_DryDep(ND) IF ( N <= 0 ) CYCLE ! Point to the corresponding Species Database entry ThisSpc => State_Chm%SpcData(N)%Info ! only use the lowest model layer for calculating drydep fluxes ! given that spc is in v/v dflx(I,J,N) = dflx(I,J,N) + State_Chm%DryDepFreq(I,J,ND) & * State_Chm%Species(N)%Conc(I,J,1) & / ( AIRMW / ThisSpc%MW_g ) IF ( Input_Opt%ITS_A_MERCURY_SIM .and. ThisSpc%Is_Hg0 ) THEN ! Hg(0) exchange with the ocean is handled by ocean_mercury_mod ! so disable deposition over water here. ! Turn off Hg(0) deposition to snow and ice because we haven't yet ! included emission from these surfaces and most field studies ! suggest Hg(0) emissions exceed deposition during sunlit hours. fracNoHg0Dep = MIN( State_Met%FROCEAN(I,J) + & State_Met%FRSNOW(I,J) + & State_Met%FRLANDICE(I,J), 1e+0_fp) zeroHg0Dep = ( fracNoHg0Dep > 0e+0_fp ) IF ( zeroHg0Dep ) THEN dflx(I,J,N) = dflx(I,J,N) * MAX( 1.0_fp-fracNoHg0Dep, 0.0_fp ) ENDIF ENDIF ! Free species database pointer ThisSpc => NULL() ENDDO !===================================================================== ! Convert DFLX from 1/s to kg/m2/s ! ! If applicable, add PARANOX loss to this term. The PARANOX ! loss term is already in kg/m2/s. PARANOX loss (deposition) is ! calculated for O3 and HNO3 by the PARANOX module, and data is ! exchanged via the HEMCO diagnostics. The data pointers PNOXLOSS_O3 ! and PNOXLOSS_HNO3 have been linked to these diagnostics at the ! beginning of this routine (ckeller, 4/10/15). !===================================================================== dflx(I,J,:) = dflx(I,J,:) * State_Met%AD(I,J,1) & / State_Grid%Area_M2(I,J) IF ( ASSOCIATED( PNOxLoss_O3 ) .AND. id_O3 > 0 ) THEN dflx(I,J,id_O3) = dflx(I,J,id_O3) + PNOxLoss_O3(I,J) ENDIF IF ( ASSOCIATED( PNOXLOSS_HNO3 ) .AND. id_HNO3 > 0 ) THEN dflx(I,J,id_HNO3) = dflx(I,J,id_HNO3) + PNOxLOss_HNO3(I,J) ENDIF !===================================================================== ! Surface flux (SFLX) = emissions (EFLX) - dry deposition (DFLX) ! ! SFLX is what we need to pass into routine VDIFF !===================================================================== State_Chm%SurfaceFlux(I,J,:) = eflx(I,J,:) - dflx(I,J,:) ! kg/m2/s !===================================================================== ! Defining Satellite Diagnostics !===================================================================== ! Define emission satellite diagnostics IF ( State_Diag%Archive_SatDiagnColEmis ) THEN DO S = 1, State_Diag%Map_SatDiagnColEmis%nSlots N = State_Diag%Map_SatDiagnColEmis%slot2id(S) State_Diag%SatDiagnColEmis(I,J,S) = colEflx(I,J,N) ENDDO ENDIF ! N.B. SatDiagnSurfFlux contains within it the underlying eflx ! variable as opposed to colEflx. ! Thus, taking SatDiagnSurfFlux - SatDiagnColEmis will not ! necessarily equal the dry deposition flux (dflx) IF ( State_Diag%Archive_SatDiagnSurfFlux ) THEN DO S = 1, State_Diag%Map_SatDiagnSurfFlux%nSlots N = State_Diag%Map_SatDiagnSurfFlux%slot2id(S) State_Diag%SatDiagnSurfFlux(I,J,S) = State_Chm%SurfaceFlux(I,J,N) ENDDO ENDIF !===================================================================== ! Archive Hg deposition for surface reservoirs (cdh, 08/28/09) !===================================================================== IF ( Input_Opt%ITS_A_MERCURY_SIM ) THEN ! Loop over only the drydep species ! If drydep is turned off, nDryDep=0 and the loop won't execute DO ND = 1, State_Chm%nDryDep ! Get the species ID from the drydep ID N = State_Chm%Map_DryDep(ND) ! Point to the Species Database entry for tracer N ThisSpc => State_Chm%SpcData(N)%Info ! Deposition mass, kg dep = dflx(I,J,N) * State_Grid%Area_M2(I,J) * GET_TS_CONV() IF ( ThisSpc%Is_Hg2 ) THEN ! Archive dry-deposited Hg2 CALL ADD_Hg2_DD ( I, J, dep ) CALL ADD_Hg2_SNOWPACK( I, J, dep, & State_Met, State_Chm, State_Diag ) ELSE IF ( ThisSpc%Is_HgP ) THEN ! Archive dry-deposited HgP CALL ADD_HgP_DD ( I, J, dep ) CALL ADD_Hg2_SNOWPACK( I, J, dep, & State_Met, State_Chm, State_Diag ) ENDIF ! Free pointer ThisSpc => NULL() ENDDO ENDIF ENDDO ENDDO !$OMP END PARALLEL DO !### Uncomment for debug output !WRITE( 6, '(a)' ) 'eflx and dflx values HEMCO [kg/m2/s]' !DO NA = 1, State_Chm%nAdvect ! WRITE(6,*) 'eflx TRACER ', NA, ': ', SUM(eflx(:,:,NA)) ! WRITE(6,*) 'dflx TRACER ', NA, ': ', SUM(dflx(:,:,NA)) ! WRITE(6,*) 'sflx TRACER ', NA, ': ', SUM(State_Chm%SurfaceFlux(:,:,NA)) !ENDDO !======================================================================= ! DIAGNOSTICS: Compute drydep flux loss due to mixing [molec/cm2/s] ! ! NOTE: Dry deposition of "tagged" species (e.g. in tagO3, tagHg ! specialty simulations) are accounted for in species 1..nDrydep, ! so we don't need to do any further special handling. !======================================================================= IF ( Input_Opt%LGTMM .or. Input_Opt%LSOILNOX .or. & State_Diag%Archive_DryDepMix .or. State_Diag%Archive_DryDep ) THEN ! Loop over only the drydep species ! If drydep is turned off, nDryDep=0 and the loop won't execute DO ND = 1, State_Chm%nDryDep ! Get the species ID from the drydep ID N = State_Chm%Map_DryDep(ND) ! Skip if not a valid species IF ( N <= 0 ) CYCLE ! Point to the Species Database entry for this tracer ! NOTE: Assumes a 1:1 tracer index to species index mapping ThisSpc => State_Chm%SpcData(N)%Info ! Get the molecular weight of the species in kg MW_kg = ThisSpc%MW_g * 1.e-3_fp !----------------------------------------------------------------- ! HISTORY: Update dry deposition flux loss [molec/cm2/s] ! ! DFLX is in kg/m2/s. We convert to molec/cm2/s by: ! ! (1) multiplying by 1e-4 cm2/m2 => kg/cm2/s ! (2) multiplying by ( AVO / MW_KG ) => molec/cm2/s ! ! The term AVO/MW_kg = (molec/mol) / (kg/mol) = molec/kg ! ! NOTE: we don't need to multiply by the ratio of TS_CONV / ! TS_CHEM, as the updating frequency for HISTORY is determined ! by the "frequency" setting in the "HISTORY.rc"input file. !----------------------------------------------------------------- IF ( State_Diag%Archive_DryDepMix .or. & State_Diag%Archive_DryDep ) THEN S = State_Diag%Map_DryDepMix%id2slot(ND) IF ( S > 0 ) THEN State_Diag%DryDepMix(:,:,S) = Dflx(:,:,N) & * 1.0e-4_fp & * ( AVO / MW_kg ) ENDIF ENDIF !----------------------------------------------------------------- ! If Soil NOx is turned on, then call SOIL_DRYDEP to ! archive dry deposition fluxes for nitrogen species ! (SOIL_DRYDEP will exit if it can't find a match. !----------------------------------------------------------------- IF ( Input_Opt%LSOILNOX ) THEN tmpFlx = 0.0_fp !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, tmpFlx )& !$OMP COLLAPSE( 2 ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX tmpFlx = dflx(I,J,N) / MW_kg * AVO * 1.e-4_fp & * GET_TS_CONV() / GET_TS_EMIS() CALL Soil_DryDep( I, J, N, tmpFlx, State_Chm ) ENDDO ENDDO !$OMP END PARALLEL DO ENDIF ! Free species database pointer ThisSpc => NULL() ENDDO ENDIF !======================================================================= ! Unit conversion #2: Convert back to the original units !======================================================================= ! Halt mixing timer (so that unit conv can be timed separately) IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "Boundary layer mixing", RC ) ENDIF ! Convert units CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & mapping = State_Chm%Map_Advect, & new_units = previous_units, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountred in "Convert_Spc_Units" (from v/v dry)!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Start mixing timer (so that unit conv can be timed separately) IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "Boundary layer mixing", RC ) ENDIF ! Cleanup IF ( ASSOCIATED( PNOxLoss_O3 ) ) DEALLOCATE( PNOxLoss_O3 ) IF ( ASSOCIATED( PNOxLoss_HNO3 ) ) DEALLOCATE( PNOxLoss_HNO3 ) END SUBROUTINE Compute_Sflx_For_Vdiff !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Set_DryDepVel_Diagnostics ! ! !DESCRIPTION: Adds the sea-air exchange deposition velocity (computed in ! the SeaFlux extension) to the dry deposition velocity (computed in ! drydep_mod.F90) and archives them in the History diagnostics. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Set_DryDepVel_Diagnostics( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE HCO_Utilities_GC_Mod, ONLY : GetHcoValDep USE HCO_Utilities_GC_Mod, ONLY : InquireHco USE HCO_Utilities_GC_Mod, ONLY : LoadHcoValDep USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Chm_Mod, ONLY : Ind_ USE State_Diag_Mod, ONLY : DgnState USE State_Diag_Mod, ONLY : DgnMap USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input options TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! When using the full PBL mixing option (aka TURBDAY), update DryDepVel ! and SatDiagnDryDepVel diagnostics here. ! ! !REVISION HISTORY: ! 18 May 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: DepSpec, found INTEGER :: A INTEGER :: I, J INTEGER :: L, N INTEGER :: NA, ND INTEGER :: pbl_top_l, S REAL(fp) :: dep, height ! Strings CHARACTER(LEN=255) :: errMsg, thisLoc ! Arrays REAL(fp) :: dvel(State_Grid%NX,State_Grid%NY,State_Chm%nAdvect) !======================================================================= ! Update_DryDepVel_for_Turbday begins here! !======================================================================= ! Success or failure? RC = GC_SUCCESS !======================================================================= ! Skip unless the drydep velocity History diagnostics are requested !======================================================================= IF ( State_Diag%Archive_DryDepVel .or. & State_Diag%Archive_SatDiagnDryDepVel .or. & State_Diag%Archive_DryDepVelForALT1 ) THEN ! Zero values errMsg = '' thisLoc = & ' -> at Set_DryDepVel_Diagnostics (in module GeosCore/hco_interface_gc_mod.F90)' dvel = 0.0_fp !===================================================================== ! Get sea-air frequencies calculated in HEMCO. ! ! The loop has been separated to go over N, J, I in order to optimize ! for retrieving regridded data from HEMCO. There is only one regrid ! buffer per field (dep, N) so these must not be intertwined, ! or there will be a large performance penalty. !===================================================================== DO NA = 1, State_Chm%nAdvect ! Get the modelId and drydep ID N = State_Chm%Map_Advect(NA) ND = State_Chm%SpcData(N)%Info%DryDepId #ifdef MODEL_CESM ! Do not apply for MODEL_CESM as its handled by ! HEMCO-CESM independently DepSpec = .FALSE. #else ! Check if there is deposition for this species CALL InquireHco( N, Dep=DepSpec ) #endif ! If the species has a sea-air deposition frequency ... IF ( DepSpec ) THEN ! Load the sea-air deposition frequency [1/s] into memory ! outside of a parallel loop. Failure to load this will ! result in severe performance issues! ! --Haipeng Lin (27 Sep 2020) CALL LoadHcoValDep( Input_Opt, State_Grid, N ) !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, pbl_top_l, dep, height, found, L )& !$OMP COLLAPSE( 2 ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Zero private loop variables pbl_top_l = 0 dep = 0.0_fp height = 0.0_fp ! Attempt to retrieve the sea-air deposition frequency [1/s] ! computed by the HEMCO SeaFlux extension for this species CALL GetHcoValDep( Input_Opt, State_Grid, N, I, & J, 1, found, dep ) ! If it was found ... IF ( found ) THEN ! Determine the deposition height ... IF ( Input_Opt%LNLPBL ) THEN !------------------------------- ! %%% Non-local PBL mixing %%% !------------------------------- ! Use the height [m] of grid box (I,J,1) ! as the deposition height height = State_Met%BXHEIGHT(I,J,1) ELSE !------------------------------- ! %%% Full PBL mixing %%% !------------------------------- ! Determine depositon height [m] as is done in the ! HEMCO SeaFlux extension module (hcox_seaflux_mod.F90). pbl_top_l = 1 IF ( Input_Opt%PBL_DRYDEP ) THEN DO L = State_Grid%NZ, 1, -1 IF ( State_Met%F_OF_PBL(I,J,L) > 0.0_fp ) THEN pbl_top_l = L EXIT ENDIF ENDDO ENDIF height = SUM( State_Met%BXHEIGHT(I,J,1:pbl_top_l) ) ENDIF ! Convert deposition frequency [1/s] --> velocity [cm/s] dvel(I,J,N) = ( dep * height * 100.0_fp ) ENDIF ENDDO ENDDO !$OMP END PARALLEL DO ENDIF ENDDO !===================================================================== ! Add the sea-air dep velocity and the drydep velocity computed ! in drydep_mod.F90 to the appropriate History diagnostics. !===================================================================== !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, ND, N, S, A )& !$OMP COLLAPSE( 3 ) DO ND = 1, State_Chm%nDryDep DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Get the model ID from the drydep ID N = State_Chm%Map_DryDep(ND) IF ( N <= 0 ) CYCLE ! Add the drydep velocities [cm/s] computed in drydep_mod.F90 ! to the drydep velocities [cm/s] computed by the SeaFlux extension. dvel(I,J,N) = dvel(I,J,N) + State_Chm%DryDepVel(I,J,ND) * 100.0_fp ! Dry deposition velocity [cm/s] IF ( State_Diag%Archive_DryDepVel ) THEN S = State_Diag%Map_DryDepVel%id2slot(ND) IF ( S > 0 ) THEN State_Diag%DryDepVel(I,J,S) = dvel(I,J,N) ENDIF ENDIF ! Satellite diagnostic dry deposition velocity (cm/s): IF ( State_Diag%Archive_SatDiagnDryDepVel ) THEN S = State_Diag%Map_SatDiagnDryDepVel%id2slot(ND) IF ( S > 0 ) THEN State_Diag%SatDiagnDryDepVel(I,J,S) = dvel(I,J,N) ENDIF ENDIF ! Dry dep velocity [cm/s] for species at altitude (e.g. 10m) IF ( State_Diag%Archive_DryDepVelForALT1 ) THEN A = State_Chm%SpcData(N)%Info%DryAltID IF ( A > 0 ) THEN State_Diag%DryDepVelForALT1(I,J,A) = dvel(I,J,N) ENDIF ENDIF ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDIF END SUBROUTINE Set_DryDepVel_Diagnostics !EOC END MODULE Hco_Interface_GC_Mod ================================================ FILE: GeosCore/hco_state_gc_mod.F90 ================================================ !------------------------------------------------------------------------------ ! Harmonized Emissions Component (HEMCO) ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: hco_state_gc_mod.F90 ! ! !DESCRIPTION: Module hco\_state\_gc\_mod.F90 holds the HEMCO state objects ! in GEOS-Chem to avoid circular dependencies. ! ! !INTERFACE: ! MODULE HCO_State_GC_Mod ! ! !USES: ! USE HCOX_State_Mod, ONLY : Ext_State USE HCO_State_Mod, ONLY : HCO_State USE State_Grid_Mod, ONLY : GrdState IMPLICIT NONE PRIVATE ! ! !REMARKS: ! Exists to avoid circular dependencies. Also holds the HEMCO intermediate grid ! description, State\_Grid\_HCO, for GC-Classic. ! ! The intermediate grid descriptor uses GrdState to avoid code duplication. It will ! be initialized by HCO\_Interface\_GC\_Mod. ! ! !REVISION HISTORY: ! 13 Mar 2020 - H.P. Lin - Initial version. ! 04 Jun 2020 - H.P. Lin - Now holding HEMCO intermediate grid object. !EOP !------------------------------------------------------------------------------ !BOC ! ! !PUBLIC MODULE VARIABLES: ! !-------------------------- ! %%% Pointers %%% !-------------------------- ! HEMCO state TYPE(HCO_State), POINTER, PUBLIC :: HcoState => NULL() ! HEMCO extensions state TYPE(Ext_State), POINTER, PUBLIC :: ExtState => NULL() #if defined ( MODEL_CLASSIC ) !-------------------------- ! %%% HEMCO Intermediate Grid %%% !-------------------------- TYPE(GrdState), PUBLIC :: State_Grid_HCO #endif !EOC END MODULE HCO_State_GC_Mod ================================================ FILE: GeosCore/hco_utilities_gc_mod.F90 ================================================ !------------------------------------------------------------------------------ ! Harmonized Emissions Component (HEMCO) ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: hco_utilities_gc_mod.F90 ! ! !DESCRIPTION: Module hco\_utilities\_gc\_mod.F90 is the high-level component ! used by GEOS-Chem routines to receive emissions and generally data from ! HEMCO. It interacts with HEMCO routines directly but also GEOS-Chem data ! structures. !\\ !\\ ! Please note the following guidelines for inclusion of routines in this module ! to prevent feature creep like the former HCOI\_GC\_Main\_Mod: ! - The routines must use both HEMCO and GEOS-Chem data structures. If not, ! they may be better suited for EMISSIONS\_MOD or FLEXGRID\_READ\_MOD, ! or implemented as common tools in HEMCO/Interfaces/hco\_interface\_common. !\\ !\\ ! !INTERFACE: ! MODULE HCO_Utilities_GC_Mod ! ! !USES: ! USE ErrCode_Mod USE Precision_Mod USE HCO_Error_Mod IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: InquireHco ! Inquire availability of emis/drydep field PUBLIC :: LoadHcoValEmis PUBLIC :: LoadHcoValDep PUBLIC :: GetHcoValEmis PUBLIC :: GetHcoValDep PUBLIC :: HCO_GC_EvalFld ! Shim interface for HCO_EvalFld PUBLIC :: HCO_GC_GetPtr ! Shim interface for HCO_GetPtr PUBLIC :: HCO_GC_GetDiagn ! Shim interface for GetHcoDiagn PUBLIC :: HCO_GC_GetOption ! Shim interface for HCO_GetOpt PUBLIC :: HCO_GC_HcoStateOK ! Test if HCO_State is allocated #if defined( MODEL_CLASSIC ) !========================================================================= ! These are only needed for GEOS-Chem "Classic" ! Intermediate grid (IMGrid) functionality !========================================================================= PUBLIC :: Regrid_MDL2HCO PUBLIC :: Regrid_HCO2MDL PUBLIC :: Init_IMGrid !========================================================================= ! These are only needed for GEOS-Chem "Classic" !========================================================================= PUBLIC :: Get_GC_Restart PUBLIC :: Get_Boundary_Conditions #endif ! ! !REMARKS: ! Mostly wrapper functions migrated from the former HCO_Interface_Mod ! ! !REVISION HISTORY: ! 12 Mar 2020 - H.P. Lin - Initial version !EOP !------------------------------------------------------------------------------ !BOC INTERFACE HCO_GC_EvalFld MODULE PROCEDURE HCO_GC_EvalFld_2D MODULE PROCEDURE HCO_GC_EvalFld_3D END INTERFACE HCO_GC_EvalFld INTERFACE HCO_GC_GetPtr MODULE PROCEDURE HCO_GC_GetPtr_2D MODULE PROCEDURE HCO_GC_GetPtr_3D END INTERFACE HCO_GC_GetPtr INTERFACE HCO_GC_GetDiagn MODULE PROCEDURE HCO_GC_GetDiagn_2D MODULE PROCEDURE HCO_GC_GetDiagn_3D END INTERFACE HCO_GC_GetDiagn ! ! !PRIVATE TYPES: ! #if defined( MODEL_CLASSIC ) !------------------------------------------------------ ! HEMCO Intermediate Grid functionality. ! Array buffers for storing regridded data. These are essentially ! temporary pointer targets. ! ! They are refreshed every Regrid_x2y so do not point data to here ! beyond one subroutine call. ! ! For performance optimization, there are TWO model buffers (H2M, H2Mb) ! which allow for some edge cases where GetHcoValDep is interspersed ! with GetHcoValEmis, or there may be two species. By default, ! GetHcoValDep uses H2Mb and GetHcoValEmis can choose the default or b, ! using an optional argument. This allows shimming as much of the ! operating specifics from GEOS-Chem core code as possible. !------------------------------------------------------ REAL(hp), POINTER, PUBLIC :: TMP_MDL (:,:,:) REAL(hp), POINTER :: TMP_MDLb(:,:,:) REAL(hp), POINTER :: TMP_HCO (:,:,:) ! f4 variant temporaries. ! not directly used for regrid, used for pointing and downgrading data REAL(f4), POINTER :: TMP_MDL_r4 (:,:,:) REAL(f4), POINTER :: TMP_MDL_r4b(:,:,:) REAL(f4), POINTER :: TMP_HCO_r4 (:,:,:) CHARACTER(LEN=90) :: LAST_TMP_REGRID_M2H ! Last regridded container name CHARACTER(LEN=90) :: LAST_TMP_REGRID_H2M ! ... HEMCO to Model CHARACTER(LEN=90) :: LAST_TMP_REGRID_H2Mb ! ... HEMCO to Model (alt bfr) INTEGER :: LAST_TMP_MDL_ZBND ! Last z-boundary for TMP_MDL_r4 ptr ! Temporaries for Map_A2A shadow input variables. ! Only need to be allocated once. REAL(hp), POINTER :: LonEdgeH(:) ! HEMCO lon, lat edges (NX+1, NY+1) REAL(hp), POINTER :: LatEdgeH(:) REAL(hp), POINTER :: LonEdgeM(:) ! Model lon, lat edges (NX+1, NY+1) REAL(hp), POINTER :: LatEdgeM(:) #endif CONTAINS !EOC !------------------------------------------------------------------------------ ! Harmonized Emissions Component (HEMCO) ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: InquireHco ! ! !DESCRIPTION: Subroutine InquireHco INQUIRES to the HEMCO emissions list whether ! the given tracer ID has emissions or dry deposition spec. !\\ !\\ ! !INTERFACE: ! SUBROUTINE InquireHco ( TrcID, Emis, Dep ) ! ! !USES: ! USE HCO_Interface_Common, ONLY : GetHcoVal USE HCO_State_GC_Mod, ONLY : HcoState ! ! !INPUT ARGUMENTS: ! INTEGER, INTENT(IN ) :: TrcID ! GEOS-Chem tracer ID ! ! !OUTPUT ARGUMENTS: ! LOGICAL, OPTIONAL, INTENT( OUT) :: Dep ! Dep? LOGICAL, OPTIONAL, INTENT( OUT) :: Emis ! Emis? ! ! !REMARKS: ! Note this assumes TrcID == HcoID. ! ! !REVISION HISTORY: ! 13 Jun 2020 - H.P. Lin - Initial version !EOP !------------------------------------------------------------------------------ !BOC IF ( PRESENT( Dep ) ) THEN Dep = ASSOCIATED( HcoState%Spc(TrcID)%Depv%Val ) ENDIF IF ( PRESENT(Emis) ) THEN Emis = ASSOCIATED( HcoState%Spc(TrcID)%Emis%Val ) ENDIF END SUBROUTINE InquireHco !EOC !------------------------------------------------------------------------------ ! Harmonized Emissions Component (HEMCO) ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: LoadHcoValEmis ! ! !DESCRIPTION: For GC-Classic intermediate grid: Load emissions regridded onto ! model grid into the regridding buffer. Does nothing in other models. !\\ !\\ ! !INTERFACE: ! SUBROUTINE LoadHcoValEmis ( Input_Opt, State_Grid, TrcID, AltBuffer ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState USE HCO_State_GC_Mod, ONLY : HcoState ! ! !INPUT ARGUMENTS: ! TYPE(OptInput), INTENT(IN ) :: Input_Opt ! Input options TYPE(GrdState), INTENT(IN ) :: State_Grid ! Grid State INTEGER, INTENT(IN ) :: TrcID ! GEOS-Chem tracer ID LOGICAL, OPTIONAL, INTENT(IN ) :: AltBuffer ! Alternate buffer? (Use B) ! ! !REMARKS: ! This is achieved through a OMP CRITICAL failsafe and calls GetHcoValEmis/Dep to ! trigger the regridding. ! ! !REVISION HISTORY: ! 27 Sep 2020 - H.P. Lin - Initial Version !EOP !------------------------------------------------------------------------------ !BOC ! !LOCAL VARIABLES: ! LOGICAL :: TMP_Found REAL(hp) :: TMP_Value ! Dummy values #ifdef MODEL_CLASSIC IF ( Input_Opt%LIMGRID ) THEN ! Check if we have to load the data. IF ( TrcID > 0 .and. (.not. ASSOCIATED(HcoState%Spc(TrcID)%Emis%Val)) ) RETURN ! The below section must be OMP CRITICAL because it is stateful. ! The first call to the critical section will update the container!! !$OMP CRITICAL ! due to a compiler bug in ifort 19 ! we have to use PRESENT and not copy the value, as sometimes it becomes ! flipped! (hplin, 9/29/20) IF ( PRESENT(AltBuffer) ) THEN CALL GetHcoValEmis ( Input_Opt, State_Grid, TrcID, 1, 1, 1, Found=TMP_Found, & Emis=TMP_Value, AltBuffer=.true. ) ELSE CALL GetHcoValEmis ( Input_Opt, State_Grid, TrcID, 1, 1, 1, Found=TMP_Found, & Emis=TMP_Value ) ENDIF IF ( Input_Opt%Verbose ) THEN WRITE(6,*) "# LoadHcoValEmis/ImGrid: Loading", & TrcID, PRESENT( AltBuffer ) ENDIF !$OMP END CRITICAL ! End of LIMGRID OMP Critical section ENDIF #endif END SUBROUTINE LoadHcoValEmis !EOC !------------------------------------------------------------------------------ ! Harmonized Emissions Component (HEMCO) ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: LoadHcoValDep ! ! !DESCRIPTION: For GC-Classic intermediate grid: Load deposition value regridded onto ! model grid into the regridding buffer. Does nothing in other models. !\\ !\\ ! !INTERFACE: ! SUBROUTINE LoadHcoValDep ( Input_Opt, State_Grid, TrcID ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState USE HCO_State_GC_Mod, ONLY : HcoState ! ! !INPUT ARGUMENTS: ! TYPE(OptInput), INTENT(IN ) :: Input_Opt ! Input options TYPE(GrdState), INTENT(IN ) :: State_Grid ! Grid State INTEGER, INTENT(IN ) :: TrcID ! GEOS-Chem tracer ID ! ! !REMARKS: ! This is achieved through a OMP CRITICAL failsafe and calls GetHcoValEmis/Dep to ! trigger the regridding. ! ! !REVISION HISTORY: ! 27 Sep 2020 - H.P. Lin - Initial Version !EOP !------------------------------------------------------------------------------ !BOC ! !LOCAL VARIABLES: ! LOGICAL :: TMP_Found REAL(hp) :: TMP_Value ! Dummy values #ifdef MODEL_CLASSIC IF ( Input_Opt%LIMGRID ) THEN ! Check if we have to load the data. IF ( TrcID > 0 .and. (.not. ASSOCIATED(HcoState%Spc(TrcID)%Emis%Val)) ) RETURN ! The below section must be OMP CRITICAL because it is stateful. ! The first call to the critical section will update the container!! !$OMP CRITICAL CALL GetHcoValDep ( Input_Opt, State_Grid, TrcID, 1, 1, 1, Found=TMP_Found, & Dep=TMP_Value ) !$OMP END CRITICAL ! End of LIMGRID OMP Critical section IF ( Input_Opt%Verbose ) THEN WRITE(6,*) "# LoadHcoValDep/ImGrid: Loading", TrcID ENDIF ENDIF #endif END SUBROUTINE LoadHcoValDep !EOC !------------------------------------------------------------------------------ ! Harmonized Emissions Component (HEMCO) ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: GetHcoValEmis ! ! !DESCRIPTION: Subroutine GetHcoVal is a wrapper routine to return an ! emission (kg/m2/s) or deposition (1/s) value from the HEMCO state object ! for a given GEOS-Chem tracer at position I, J, L. ! A value of zero is returned if no HEMCO species is defined for the given ! tracer, and the output parameter Found is set to false. !\\ !\\ ! !INTERFACE: ! SUBROUTINE GetHcoValEmis ( Input_Opt, State_Grid, TrcID, I, J, L, Found, Emis, AltBuffer, SkipCheck ) ! ! !USES: ! USE HCO_Interface_Common, ONLY : GetHcoVal USE HCO_State_GC_Mod, ONLY : ExtState USE HCO_State_GC_Mod, ONLY : HcoState USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState #ifdef MODEL_CLASSIC USE HCO_State_GC_Mod, ONLY : State_Grid_HCO #endif ! ! !INPUT ARGUMENTS: ! TYPE(OptInput), INTENT(IN ) :: Input_Opt ! Input options TYPE(GrdState), INTENT(IN ) :: State_Grid ! Grid State INTEGER, INTENT(IN ) :: TrcID ! GEOS-Chem tracer ID INTEGER, INTENT(IN ) :: I, J, L ! Position LOGICAL, OPTIONAL, INTENT(IN ) :: AltBuffer ! Alternate buffer? (Use B) LOGICAL, OPTIONAL, INTENT(IN ) :: SkipCheck ! Skip buffer validity check - Dangerous, use in tight loops ! ! !OUTPUT ARGUMENTS: ! LOGICAL, INTENT( OUT) :: Found ! Was this tracer ID found? REAL(hp), INTENT( OUT) :: Emis ! Emissions [kg/m2/s] ! ! !REMARKS: ! This subroutine is currently just a stub to call the equivalent in HEMCO ! utilities. This assumes that HEMCO and GEOS-Chem grids match. ! When the intermediate grid is implemented, a regridding routine will live ! here and regrid data on-demand. ! ! This also assumes that TrcID matches HEMCO tracer ID. If not, a mapping ! needs to be performed here. ! ! !REVISION HISTORY: ! 20 Oct 2014 - C. Keller - Initial Version ! 12 Mar 2020 - H.P. Lin - Now wrapper around common utilities ! 05 Jun 2020 - H.P. Lin - Add GC-Classic on-demand regridding !EOP !------------------------------------------------------------------------------ !BOC #ifdef MODEL_CLASSIC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=32) :: TMP_TrcIDFldName ! Temporary tracer field name _HCO_Trc_ INTEGER :: ZBND REAL(hp), POINTER :: TMP_MDL_target(:,:,:) ! Pointer to ease switcheroo of the model target buffer TMP_MDL_target => NULL() IF ( Input_Opt%LIMGRID ) THEN ! Check if we have to load the data. IF ( TrcID > 0 .and. (.not. ASSOCIATED(HcoState%Spc(TrcID)%Emis%Val)) ) RETURN ! due to a compiler bug in ifort 19 ! we have to use PRESENT and not copy the value, as sometimes it becomes ! flipped! (hplin, 9/29/20) IF ( PRESENT( AltBuffer ) ) THEN TMP_MDL_target => TMP_MDLb ELSE TMP_MDL_target => TMP_MDL ENDIF ! ... on-demand intermediate regridding. Check if we already have this field Found = .false. WRITE(TMP_TrcIDFldName, '(a,i4)') "_HCO_Trc_", TrcID IF( .not. PRESENT( SkipCheck ) .and. & .not. ( (.not. PRESENT( AltBuffer ) .and. TMP_TrcIDFldName == LAST_TMP_REGRID_H2M) .or. & ( PRESENT( AltBuffer ) .and. TMP_TrcIDFldName == LAST_TMP_REGRID_H2Mb) ) ) THEN ! Not already in buffer ! Do not use GetHcoVal: load the entire chunk into memory ! Note: TrcID matches HcoID here. If not, remap the tracer ID to HEMCO ID below. IF ( Input_Opt%Verbose ) THEN WRITE(6,*) "# GetHcoValEmis/ImGrid: Attempting to load", & TMP_TrcIDFldName, "was", LAST_TMP_REGRID_H2M, & LAST_TMP_REGRID_H2Mb ENDIF IF ( TrcID > 0 ) THEN IF ( ASSOCIATED(HcoState%Spc(TrcID)%Emis%Val) ) THEN ! Present! Read in the data ! Retrieve data into the HEMCO temporary! ! First, clear the buffer name. We are not sure if this was found yet. IF (.not. PRESENT( AltBuffer )) THEN LAST_TMP_REGRID_H2M = "_HCO_Trc_TBD" ELSE LAST_TMP_REGRID_H2Mb = "_HCO_Trc_TBD" ENDIF ZBND = SIZE( HcoState%Spc(TrcID)%Emis%Val, 3 ) TMP_HCO = 0.0_fp ! Clear the output first TMP_HCO(:,:,1:ZBND) = HcoState%Spc(TrcID)%Emis%Val(:,:,1:ZBND) ! IF ( Input_Opt%Verbose ) THEN ! WRITE(6,*) "# GetHcoValEmis/ImGrid: Read from HEMCO" ! ENDIF ! Now perform the on-demand regrid CALL Regrid_HCO2MDL( Input_Opt, State_Grid, State_Grid_HCO, TMP_HCO, TMP_MDL_target, ZBND ) ! Now in TMP_MDL_target, read the pointer data ! FIXME: Could use a little DRY here (hplin, 6/6/20) Found = .true. Emis = TMP_MDL_target(I,J,L) IF (.not. PRESENT( AltBuffer )) THEN LAST_TMP_REGRID_H2M = TMP_TrcIDFldName ELSE LAST_TMP_REGRID_H2Mb = TMP_TrcIDFldName ENDIF IF ( Input_Opt%Verbose ) THEN WRITE(6,*) "# GetHcoValEmis/ImGrid: Regrid OK return", & TMP_TrcIDFldName, PRESENT( AltBuffer ) ENDIF ENDIF ! Associated ENDIF ! TrcID > 0 ELSE ! Already in buffer! Just read the pointer data Found = .true. IF ( PRESENT(AltBuffer) ) THEN Emis = TMP_MDLb(I,J,L) ELSE Emis = TMP_MDL(I,J,L) ENDIF ENDIF ELSE #endif ! Not GC-Classic or not on-demand intermediate grid, just shim around calls CALL GetHcoVal( HcoState, ExtState, TrcID, I, J, L, Found, Emis=Emis ) #ifdef MODEL_CLASSIC ENDIF TMP_MDL_target => NULL() #endif END SUBROUTINE GetHcoValEmis !EOC !------------------------------------------------------------------------------ ! Harmonized Emissions Component (HEMCO) ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: GetHcoValDep ! ! !DESCRIPTION: Subroutine GetHcoVal is a wrapper routine to return an ! emission (kg/m2/s) or deposition (1/s) value from the HEMCO state object ! for a given GEOS-Chem tracer at position I, J, L. ! A value of zero is returned if no HEMCO species is defined for the given ! tracer, and the output parameter Found is set to false. !\\ !\\ ! !INTERFACE: ! SUBROUTINE GetHcoValDep ( Input_Opt, State_Grid, TrcID, I, J, L, Found, Dep ) ! ! !USES: ! USE HCO_Interface_Common, ONLY : GetHcoVal USE HCO_State_GC_Mod, ONLY : ExtState USE HCO_State_GC_Mod, ONLY : HcoState USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState #ifdef MODEL_CLASSIC USE HCO_State_GC_Mod, ONLY : State_Grid_HCO #endif ! ! !INPUT ARGUMENTS: ! TYPE(OptInput), INTENT(IN ) :: Input_Opt ! Input options TYPE(GrdState), INTENT(IN ) :: State_Grid ! Grid State INTEGER, INTENT(IN ) :: TrcID ! GEOS-Chem tracer ID INTEGER, INTENT(IN ) :: I, J, L ! Position ! ! !OUTPUT ARGUMENTS: ! LOGICAL, INTENT( OUT) :: Found ! Was this tracer ID found? REAL(hp), INTENT( OUT) :: Dep ! Deposition [1/s] ! ! !REMARKS: ! This subroutine is currently just a stub to call the equivalent in HEMCO ! utilities. This assumes that HEMCO and GEOS-Chem grids match. ! When the intermediate grid is implemented, a regridding routine will live ! here and regrid data on-demand. ! ! This also assumes that TrcID matches HEMCO tracer ID. If not, a mapping ! needs to be performed here. ! ! !REVISION HISTORY: ! 20 Oct 2014 - C. Keller - Initial Version ! 12 Mar 2020 - H.P. Lin - Now wrapper around common utilities ! 08 Jun 2020 - H.P. Lin - Add GC-Classic on-demand regridding !EOP !------------------------------------------------------------------------------ !BOC #ifdef MODEL_CLASSIC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=32) :: TMP_TrcIDFldName ! Temporary tracer field name _HCO_TrcD_ IF ( Input_Opt%LIMGRID ) THEN ! Check if we have to load the data. IF ( TrcID > 0 .and. (.not. ASSOCIATED(HcoState%Spc(TrcID)%Depv%Val)) ) RETURN ! ... on-demand intermediate regridding. Check if we already have this field Found = .false. WRITE(TMP_TrcIDFldName, '(a,i4)') "_HCO_TrcD_", TrcID IF( TMP_TrcIDFldName /= LAST_TMP_REGRID_H2Mb ) THEN ! Not already in buffer ! Do not use GetHcoVal: load the entire chunk into memory ! IF ( Input_Opt%Verbose ) WRITE(6,*) "# GetHcoValDep/ImGrid: Attempting to load", TMP_TrcIDFldName, "was", LAST_TMP_REGRID_H2Mb ! Note: TrcID matches HcoID here. If not, remap the tracer ID to HEMCO ID below. IF ( TrcID > 0 ) THEN IF ( ASSOCIATED(HcoState%Spc(TrcID)%Depv%Val) ) THEN ! Present! Read in the data ! Retrieve data into the HEMCO temporary! ! First, clear the buffer name. We are not sure if this was found yet. LAST_TMP_REGRID_H2Mb = "_HCO_TrcD_TBD" TMP_HCO = 0.0_fp ! Clear the output first TMP_HCO(:,:,1) = HcoState%Spc(TrcID)%Depv%Val(:,:) ! IF ( Input_Opt%Verbose ) WRITE(6,*) "# GetHcoValDep/ImGrid: Read from HEMCO" ! Now perform the on-demand regrid ! Note deposition is surface layer, so L is always 1. Read ZBND = 1 CALL Regrid_HCO2MDL( Input_Opt, State_Grid, State_Grid_HCO, TMP_HCO, TMP_MDLb, 1 ) ! Now in TMP_MDLb, read the pointer data ! FIXME: Could use a little DRY here (hplin, 6/6/20) Found = .true. Dep = TMP_MDLb(I,J,1) LAST_TMP_REGRID_H2Mb = TMP_TrcIDFldName IF ( Input_Opt%Verbose ) THEN WRITE(6,*) "# GetHcoValDep/ImGrid: Regrid OK return", & TMP_TrcIDFldName ENDIF ENDIF ENDIF ELSE ! Already in buffer! Just read the pointer data Found = .true. Dep = TMP_MDLb(I,J,1) ENDIF ELSE #endif ! Not GC-Classic or not on-demand intermediate grid, just shim around calls CALL GetHcoVal( HcoState, ExtState, TrcID, I, J, L, Found, Dep=Dep ) #ifdef MODEL_CLASSIC ENDIF #endif END SUBROUTINE GetHcoValDep !EOC !------------------------------------------------------------------------------ ! Harmonized Emissions Component (HEMCO) ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: HCO_GC_EvalFld_3D ! ! !DESCRIPTION: Subroutine HCO\_GC\_EvalFld\_3D is a wrapper routine to obtain ! the 3D data field belonging to the emissions list data. ! It is a stub to simply map the call and route it to HEMCO in most cases, ! and for GC-Classic with a different HEMCO grid, perform a transparent ! HEMCO to model regrid. !\\ !\\ ! !INTERFACE: ! SUBROUTINE HCO_GC_EvalFld_3D ( Input_Opt, State_Grid, cName, Arr3D, RC, FOUND ) ! ! !USES: ! USE HCO_Calc_Mod, ONLY : HCO_EvalFld USE HCO_State_GC_Mod, ONLY : HcoState USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState #ifdef MODEL_CLASSIC USE HCO_State_GC_Mod, ONLY : State_Grid_HCO #endif ! ! !INPUT ARGUMENTS: ! TYPE(OptInput), INTENT(IN ) :: Input_Opt ! Input options TYPE(GrdState), INTENT(IN ) :: State_Grid ! Grid State CHARACTER(LEN=*), INTENT(IN ) :: cName ! ! !OUTPUT ARGUMENTS: ! REAL(hp), INTENT(INOUT) :: Arr3D(:,:,:) ! 3D array INTEGER, INTENT(INOUT) :: RC ! Return code LOGICAL, INTENT( OUT), OPTIONAL :: FOUND ! ! !REVISION HISTORY: ! 04 Jun 2020 - H.P. Lin - Initial version !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! LOGICAL :: FND CHARACTER(LEN=255) :: ThisLoc CHARACTER(LEN=512) :: ErrMsg INTEGER :: ZBND ! Assume success RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at HCO_GC_EvalFld_3D (in module GeosCore/hco_utilities_gc_mod.F90)' ! Empty the target first Arr3D = 0.0_hp #ifdef MODEL_CLASSIC IF ( Input_Opt%LIMGRID ) THEN !===================================================================== ! We ARE USING the HEMCO intermediate grid !===================================================================== ! Sanity check - output array must be sized correctly for MODEL grid IF ( SIZE(Arr3D, 1) /= State_Grid%NX .or. & SIZE(Arr3D, 2) /= State_Grid%NY ) THEN RC = GC_FAILURE ErrMsg = 'Input array dimensions are incorrect!' CALL GC_Error( ErrMsg, RC, ThisLoc ) ENDIF ! Z-level boundary for 3-D data and sanity check, 1st pass ZBND = MAX(1, SIZE(Arr3D, 3)) IF( ZBND .ge. State_Grid%NZ ) THEN RC = GC_FAILURE ErrMsg = 'Input array Z-dimension higher than model maximum!' CALL GC_Error( ErrMsg, RC, ThisLoc ) ENDIF ! Check if cName is existing in the regrid buffer. !If not, regrid on-the-fly IF ( cName /= LAST_TMP_REGRID_H2M ) THEN !IF ( Input_Opt%Verbose ) WRITE(6,*) "# HCO_GC_EvalFld_3D: Last regrid not equal, looking up field ", cName ! Now retrieve data into the HEMCO temporary! ! The bdy is a slice to ensure safety CALL HCO_EvalFld( HcoState, cName, TMP_HCO(:,:,1:ZBND), RC, FND ) ! If failure, return up the chain. The calls to this function will ! be able to propagate the error above. IF ( RC /= GC_SUCCESS ) RETURN ! IF ( Input_Opt%Verbose ) WRITE(6,*) "# HCO_GC_EvalFld_3D: Lookup complete", cName, FND IF ( FND ) THEN ! For safety, overwrite the temporary LAST_TMP_REGRID_H2M = "_HCO_Eval3D_TBD" ! Regrid the buffer appropriately. ! We do not use TMP_MDL here in EvalFld, ! because the field target is given. ! ( Input_Opt, State_Grid, State_Grid_HCO, PtrIn, PtrOut, ZBND ) CALL Regrid_HCO2MDL( Input_Opt, State_Grid, State_Grid_HCO, TMP_HCO, Arr3D, ZBND ) IF ( Input_Opt%Verbose ) THEN WRITE(6,*) "# HCO_GC_EvalFld_3D: Regrid complete, ", & cName, " z-boundary", ZBND ENDIF ! The output should be in Arr3D and ready to go. LAST_TMP_REGRID_H2M = cName ENDIF ELSE ! Already existing in the buffer. Simply copy the data Arr3D(:,:,1:ZBND) = TMP_MDL(:,:,1:ZBND) FND = .true. ! IF ( Input_Opt%Verbose ) WRITE(6,*) "# HCO_GC_EvalFld_3D: Last regrid equal, reading from buffer" ENDIF ELSE !===================================================================== ! We ARE NOT USING the HEMCO intermediate grid !===================================================================== #endif ! In which case, we just pass the call through CALL HCO_EvalFld( HcoState, cName, Arr3D, RC, FND ) #ifdef MODEL_CLASSIC ENDIF #endif IF( PRESENT(FOUND) ) THEN FOUND = FND ENDIF END SUBROUTINE HCO_GC_EvalFld_3D !EOC !------------------------------------------------------------------------------ ! Harmonized Emissions Component (HEMCO) ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: HCO_GC_EvalFld_2D ! ! !DESCRIPTION: Subroutine HCO\_GC\_EvalFld\_2D is a wrapper routine to obtain ! the 3D data field belonging to the emissions list data. ! It is a stub to simply map the call and route it to HEMCO in most cases, ! and for GC-Classic with a different HEMCO grid, perform a transparent ! HEMCO to model regrid. !\\ !\\ ! !INTERFACE: ! SUBROUTINE HCO_GC_EvalFld_2D ( Input_Opt, State_Grid, cName, Arr2D, RC, FOUND ) ! ! !USES: ! USE HCO_Calc_Mod, ONLY : HCO_EvalFld USE HCO_State_GC_Mod, ONLY : HcoState USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState #ifdef MODEL_CLASSIC USE HCO_State_GC_Mod, ONLY : State_Grid_HCO #endif ! ! !INPUT ARGUMENTS: ! TYPE(OptInput), INTENT(IN ) :: Input_Opt ! Input options TYPE(GrdState), INTENT(IN ) :: State_Grid ! Grid State CHARACTER(LEN=*), INTENT(IN ) :: cName ! ! !OUTPUT ARGUMENTS: ! REAL(hp), INTENT(INOUT) :: Arr2D(:,:) ! 2D array INTEGER, INTENT(INOUT) :: RC ! Return code LOGICAL, INTENT( OUT), OPTIONAL :: FOUND ! ! !REVISION HISTORY: ! 04 Jun 2020 - H.P. Lin - Initial version !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! LOGICAL :: FND CHARACTER(LEN=255) :: ThisLoc CHARACTER(LEN=512) :: ErrMsg ! debug INTEGER :: II ! Assume success RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at HCO_GC_EvalFld_2D (in module GeosCore/hco_utilities_gc_mod.F90)' ! Empty the target first Arr2D = 0.0_hp #ifdef MODEL_CLASSIC IF ( Input_Opt%LIMGRID ) THEN !===================================================================== ! We ARE USING the HEMCO intermediate grid !===================================================================== ! Sanity check - output array must be sized correctly for MODEL grid IF ( SIZE(Arr2D, 1) /= State_Grid%NX .or. SIZE(Arr2D, 2) /= State_Grid%NY ) THEN RC = GC_FAILURE ErrMsg = 'Input array dimensions are incorrect!' CALL GC_Error( ErrMsg, RC, ThisLoc ) ENDIF ! Check if cName is existing in the regrid buffer. If not, regrid on-the-fly IF ( cName /= LAST_TMP_REGRID_H2M ) THEN ! IF ( Input_Opt%Verbose ) WRITE(6,*) "# HCO_GC_EvalFld_2D: Last regrid not equal, looking up field ", cName ! Now retrieve data into the HEMCO temporary! ! The bdy is a slice to ensure safety CALL HCO_EvalFld( HcoState, cName, TMP_HCO(:,:,1), RC, FND ) ! If failure, return up the chain. The calls to this function will ! be able to propagate the error above. IF ( RC /= GC_SUCCESS ) RETURN ! IF ( Input_Opt%Verbose ) WRITE(6,*) "# HCO_GC_EvalFld_2D: Lookup complete", cName, FND ! If not found, return IF ( FND ) THEN ! For safety, overwrite the temporary LAST_TMP_REGRID_H2M = "_HCO_Eval2D_TBD" ! Regrid the buffer appropriately. We do not use TMP_MDL here in EvalFld, ! because the field target is given. ! Z-boundary is 1 because 2-D field. CALL Regrid_HCO2MDL( Input_Opt, State_Grid, State_Grid_HCO, TMP_HCO, TMP_MDL, 1 ) IF ( Input_Opt%Verbose ) THEN WRITE(6,*) "# HCO_GC_EvalFld_2D: Regrid", cName, " complete" ENDIF ! Note that we cannot pass Arr2D to call above directly because it accepts a ! 3-D argument. So we regrid to the target dummy and copy Arr2D(:,:) = TMP_MDL(:,:,1) ! The output should be in Arr2D and ready to go. LAST_TMP_REGRID_H2M = cName ENDIF ELSE ! Already existing in the buffer. Simply copy the data Arr2D(:,:) = TMP_MDL(:,:,1) FND = .true. ! IF ( Input_Opt%Verbose ) WRITE(6,*) "# HCO_GC_EvalFld_2D: Last regrid equal, reading from buffer" ENDIF ELSE !===================================================================== ! We ARE NOT USING the HEMCO intermediate grid !===================================================================== #endif ! In which case, we just pass the call through CALL HCO_EvalFld( HcoState, cName, Arr2D, RC, FND ) #ifdef MODEL_CLASSIC ENDIF #endif IF( PRESENT(FOUND) ) THEN FOUND = FND ENDIF END SUBROUTINE HCO_GC_EvalFld_2D !EOC !------------------------------------------------------------------------------ ! Harmonized Emissions Component (HEMCO) ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: HCO_GC_GetPtr_2D ! ! !DESCRIPTION: Subroutine HCO\_GC\_GetPtr_2D is a wrapper routine to obtain ! the 2D data pointer "directly" to HEMCO. ! It is a stub to simply map the call and route it to HEMCO in most cases, ! and for GC-Classic with a different HEMCO grid, perform a transparent ! HEMCO to model regrid. !\\ !\\ ! !INTERFACE: ! SUBROUTINE HCO_GC_GetPtr_2D ( Input_Opt, State_Grid, DctName, Ptr2D, RC, & TIDX, FOUND, FILLED ) ! ! !USES: ! USE HCO_EmisList_Mod, ONLY : HCO_GetPtr USE HCO_State_GC_Mod, ONLY : HcoState USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState #ifdef MODEL_CLASSIC USE HCO_State_GC_Mod, ONLY : State_Grid_HCO #endif ! ! !INPUT ARGUMENTS: ! TYPE(OptInput), INTENT(IN ) :: Input_Opt ! Input options TYPE(GrdState), INTENT(IN ) :: State_Grid ! Grid State CHARACTER(LEN=*), INTENT(IN ) :: DctName ! Container name INTEGER, OPTIONAL,INTENT(IN ) :: TIDX ! Time index (default = 1) ! ! !OUTPUT ARGUMENTS: ! REAL(sp), POINTER :: Ptr2D(:,:) ! Output array INTEGER, INTENT(INOUT) :: RC ! Return code LOGICAL, INTENT( OUT), OPTIONAL :: FOUND LOGICAL, INTENT( OUT), OPTIONAL :: FILLED ! ! !REMARKS: ! Note that there is some code duplication here, because we have to handle ! the optional arguments. Ideally we want to refactor away all calls to GetPtr, ! but the met field reading requires a time index, so unfortunately we have to ! replicate this here. ! ! Note that for GC-Classic IMGrid, only ONE pointer may be kept at a time. ! This is an underlying assumption that may bite and needs to be taken care of. ! Once the data is received in the form of a pointer from HCO_GC_GetPtr, ! you must COPY it and operate on it, otherwise you will operate in the shimmed ! temporary. BE WARNED! (hplin, 6/8/20) ! ! !REVISION HISTORY: ! 08 Jun 2020 - H.P. Lin - Initial version !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Internal copies of logicals to pass to the GetPtr call, because ! we need to replicate the previously optional arguments... LOGICAL :: iFOUND, iFILLED INTEGER :: iTIDX ! Debug INTEGER :: II, JJ CHARACTER(LEN=255) :: ThisLoc CHARACTER(LEN=512) :: ErrMsg CHARACTER(LEN=80) :: TMP_GetPtrFldName ! Pointers REAL(sp), POINTER :: TMP_Ptr2D(:,:) ! Assume success RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at HCO_GC_GetPtr_2D (in module GeosCore/hco_utilities_gc_mod.F90)' iTIDX = 1 IF ( PRESENT(TIDX ) ) iTIDX = TIDX ! Nullify pointer TMP_Ptr2D => NULL() #ifdef MODEL_CLASSIC IF ( Input_Opt%LIMGRID ) THEN ! Build the name which requires a unique recognition of the time index, ! in case they are read sequentially write(TMP_GetPtrFldName, '(a,i4)') DctName, iTIDX ! Check if is existing in the regrid buffer. If not, regrid on-the-fly IF ( TMP_GetPtrFldName /= LAST_TMP_REGRID_H2M ) THEN ! IF ( Input_Opt%Verbose ) WRITE(6,*) "# HCO_GC_GetPtr_2D: Last regrid not equal, looking up field ", TMP_GetPtrFldName ! For safety, overwrite the temporary LAST_TMP_REGRID_H2M = "_HCO_Ptr2D_TBD" ! Now retrieve data into the HEMCO temporary! CALL HCO_GetPtr( HcoState, DctName, TMP_Ptr2D, RC, iTIDX, iFOUND, iFILLED ) ! If failure, return up the chain. The calls to this function will ! be able to propagate the error above. IF ( RC /= GC_SUCCESS ) RETURN ! If not found, return IF ( iFOUND .and. iFILLED ) THEN ! IF ( Input_Opt%Verbose ) WRITE(6,*) "# HCO_GC_GetPtr_2D: Lookup complete", TMP_GetPtrFldName, iFOUND ! IF ( Input_Opt%Verbose ) WRITE(6,*) "# HCO_GC_GetPtr_2D: Dim Debug", SIZE(TMP_HCO, 1), SIZE(TMP_HCO, 2), SIZE(TMP_Ptr2D, 1), SIZE(TMP_Ptr2D, 2) ! Copy data to the temporary TMP_HCO(:,:,1) = TMP_Ptr2D(:,:) ! Regrid the buffer appropriately. We do not use TMP_MDL here in EvalFld, ! because the field target is given. ! Z-boundary is 1 because 2-D field. CALL Regrid_HCO2MDL( Input_Opt, State_Grid, State_Grid_HCO, TMP_HCO, TMP_MDL, 1 ) IF ( Input_Opt%Verbose ) THEN WRITE(6,*) "# HCO_GC_GetPtr_2D: Regrid", TMP_GetPtrFldName, & "complete" ENDIF ! Free the pointer TMP_Ptr2D => NULL() ! Copy to the r4 so you can downgrade the precision for GetPtr calls ! for backwards compatibility TMP_MDL_r4(:,:,1) = TMP_MDL(:,:,1) ! Point to target dummy Ptr2D => TMP_MDL_r4(:,:,1) ! The output should be pointing to Ptr2D (in TMP_MDL:,:,1) and ready to go. LAST_TMP_REGRID_H2M = TMP_GetPtrFldName ENDIF ELSE ! Already existing in the buffer. Simply point to the data Ptr2D => TMP_MDL_r4(:,:,1) iFOUND = .true. iFILLED = .true. ! IF ( Input_Opt%Verbose ) WRITE(6,*) "# HCO_GC_GetPtr_2D: Last regrid equal, pointing to buffer" ENDIF ELSE ! Not within the intermediate grid code path #endif ! In which case, we just pass the call through CALL HCO_GetPtr( HcoState, DctName, Ptr2D, RC, iTIDX, iFOUND, iFILLED ) #ifdef MODEL_CLASSIC ENDIF #endif IF( PRESENT(FOUND) ) THEN FOUND = iFOUND ENDIF IF( PRESENT(FILLED) ) THEN FILLED = iFILLED ELSEIF ( .not. iFILLED ) THEN ! RC = GC_FAILURE ! ErrMsg = 'Could not fill last GetPtr container!' ! CALL GC_Error( ErrMsg, RC, ThisLoc ) Ptr2D => NULL() ! FIXME: Maybe need to throw a HEMCO error from here. See behavior ! in HCO_EmisList_Mod ENDIF END SUBROUTINE HCO_GC_GetPtr_2D !EOC !------------------------------------------------------------------------------ ! Harmonized Emissions Component (HEMCO) ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: HCO_GC_GetPtr_3D ! ! !DESCRIPTION: Subroutine HCO\_GC\_GetPtr_3D is a wrapper routine to obtain ! the 3D data pointer "directly" to HEMCO. ! It is a stub to simply map the call and route it to HEMCO in most cases, ! and for GC-Classic with a different HEMCO grid, perform a transparent ! HEMCO to model regrid. !\\ !\\ ! !INTERFACE: ! SUBROUTINE HCO_GC_GetPtr_3D ( Input_Opt, State_Grid, DctName, Ptr3D, RC, & TIDX, FOUND, FILLED ) ! ! !USES: ! USE HCO_EmisList_Mod, ONLY : HCO_GetPtr USE HCO_State_GC_Mod, ONLY : HcoState USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState #ifdef MODEL_CLASSIC USE HCO_State_GC_Mod, ONLY : State_Grid_HCO #endif ! ! !INPUT ARGUMENTS: ! TYPE(OptInput), INTENT(IN ) :: Input_Opt ! Input options TYPE(GrdState), INTENT(IN ) :: State_Grid ! Grid State CHARACTER(LEN=*), INTENT(IN ) :: DctName ! Container name INTEGER, OPTIONAL,INTENT(IN ) :: TIDX ! Time index (default = 1) ! ! !OUTPUT ARGUMENTS: ! REAL(sp), POINTER :: Ptr3D(:,:,:) ! Output array INTEGER, INTENT(INOUT) :: RC ! Return code LOGICAL, INTENT( OUT), OPTIONAL :: FOUND LOGICAL, INTENT( OUT), OPTIONAL :: FILLED ! ! !REMARKS: ! See 2D version. ! ! !REVISION HISTORY: ! 08 Jun 2020 - H.P. Lin - Initial version !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Internal copies of logicals to pass to the GetPtr call, because ! we need to replicate the previously optional arguments... LOGICAL :: iFOUND, iFILLED INTEGER :: iTIDX INTEGER :: ZBND ! Maximum z-boundary CHARACTER(LEN=255) :: ThisLoc CHARACTER(LEN=512) :: ErrMsg CHARACTER(LEN=80) :: TMP_GetPtrFldName ! Pointers REAL(sp), POINTER :: TMP_Ptr3D(:,:,:) ! Assume success RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at HCO_GC_GetPtr_3D (in module GeosCore/hco_utilities_gc_mod.F90)' iTIDX = 1 IF ( PRESENT(TIDX ) ) iTIDX = TIDX ! Nullify pointer TMP_Ptr3D => NULL() #ifdef MODEL_CLASSIC IF ( Input_Opt%LIMGRID ) THEN ! Build the name which requires a unique recognition of the time index, ! in case they are read sequentially write(TMP_GetPtrFldName, '(a,i4)') DctName, iTIDX ! Check if is existing in the regrid buffer. If not, regrid on-the-fly IF ( TMP_GetPtrFldName /= LAST_TMP_REGRID_H2M ) THEN ! IF ( Input_Opt%Verbose ) WRITE(6,*) "# HCO_GC_GetPtr_3D: Last regrid not equal, looking up field ", TMP_GetPtrFldName ! For safety, overwrite the temporary LAST_TMP_REGRID_H2M = "_HCO_Ptr3D_TBD" ! Now retrieve data into the HEMCO temporary! CALL HCO_GetPtr( HcoState, DctName, TMP_Ptr3D, RC, iTIDX, iFOUND, iFILLED ) ! If failure, return up the chain. The calls to this function will ! be able to propagate the error above. IF ( RC /= GC_SUCCESS ) RETURN ! If not found, return IF ( iFOUND .and. iFILLED ) THEN ! Get z-boundary ZBND = MAX(1, SIZE(TMP_Ptr3D, 3)) ! IF ( Input_Opt%Verbose ) WRITE(6,*) "# HCO_GC_GetPtr_3D: Lookup complete", TMP_GetPtrFldName, iFOUND, ZBND ! Copy data to the temporary TMP_HCO(:,:,1:ZBND) = TMP_Ptr3D(:,:,1:ZBND) ! Regrid the buffer appropriately. We do not use TMP_MDL here in EvalFld, ! because the field target is given. ! Z-boundary is 1 because 2-D field. CALL Regrid_HCO2MDL( Input_Opt, State_Grid, State_Grid_HCO, TMP_HCO, TMP_MDL, ZBND ) IF ( Input_Opt%Verbose ) THEN WRITE(6,*) "# HCO_GC_GetPtr_3D: Regrid", & TMP_GetPtrFldName, "complete" ENDIF ! Free the pointer TMP_Ptr3D => NULL() ! Copy to the r4 so you can downgrade the precision for GetPtr calls ! for backwards compatibility TMP_MDL_r4(:,:,1:ZBND) = TMP_MDL(:,:,1:ZBND) ! Point to target dummy Ptr3D => TMP_MDL_r4(:,:,1:ZBND) ! The output should be pointing to Ptr2D (in TMP_MDL:,:,1) and ready to go. LAST_TMP_REGRID_H2M = TMP_GetPtrFldName LAST_TMP_MDL_ZBND = ZBND ! Remember the z-boundary ... will be used later ENDIF ELSE ! Already existing in the buffer. Simply point to the data Ptr3D => TMP_MDL_r4(:,:,1:LAST_TMP_MDL_ZBND) iFOUND = .true. iFILLED = .true. ! IF ( Input_Opt%Verbose ) WRITE(6,*) "# HCO_GC_GetPtr_2D: Last regrid equal, pointing to buffer" ENDIF ELSE ! Not within the intermediate grid code path #endif ! In which case, we just pass the call through CALL HCO_GetPtr( HcoState, DctName, Ptr3D, RC, iTIDX, iFOUND, iFILLED ) #ifdef MODEL_CLASSIC ENDIF #endif IF( PRESENT(FOUND) ) THEN FOUND = iFOUND ENDIF IF( PRESENT(FILLED) ) THEN FILLED = iFILLED ELSEIF ( .not. iFILLED ) THEN ! RC = GC_FAILURE ! ErrMsg = 'Could not fill last GetPtr_3D container!' ! CALL GC_Error( ErrMsg, RC, ThisLoc ) Ptr3D => NULL() ENDIF END SUBROUTINE HCO_GC_GetPtr_3D !EOC !------------------------------------------------------------------------------ ! Harmonized Emissions Component (HEMCO) ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: HCO_GC_GetDiagn_3D ! ! !DESCRIPTION: Subroutine HCO_GC_GetDiagn is a shim for the original GetHcoDiagn. !\\ !\\ ! !INTERFACE: ! SUBROUTINE HCO_GC_GetDiagn_3D ( Input_Opt, State_Grid, DiagnName, & StopIfNotFound, RC, Ptr3D, & COL, AutoFill, AltBuffer ) ! ! !USES: ! USE HCO_Interface_Common, ONLY : GetHcoDiagn USE HCO_State_GC_Mod, ONLY : ExtState USE HCO_State_GC_Mod, ONLY : HcoState USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState #ifdef MODEL_CLASSIC USE HCO_State_GC_Mod, ONLY : State_Grid_HCO #endif ! ! !INPUT ARGUMENTS: ! TYPE(OptInput), INTENT(IN ) :: Input_Opt ! Input options TYPE(GrdState), INTENT(IN ) :: State_Grid ! Grid State CHARACTER(LEN=*), INTENT(IN ) :: DiagnName ! Name of diagnostics LOGICAL, INTENT(IN ) :: StopIfNotFound INTEGER, OPTIONAL, INTENT(IN ) :: COL ! Collection Nr. INTEGER, OPTIONAL, INTENT(IN ) :: AutoFill ! Autofill diagnostics only? LOGICAL, OPTIONAL, INTENT(IN ) :: AltBuffer ! Alternate buffer? (Use B) ! ! !OUTPUT ARGUMENTS: ! REAL(sp), POINTER :: Ptr3D(:,:,:) INTEGER, INTENT(INOUT) :: RC ! ! !REMARKS: ! See GetPtr. Note that this allows an alternative buffer to be used to ! avoid conflict in reading the cached pointer. ! ! FOR SAFETY SAKE, DESTROY THE POINTER READ FROM THIS ROUTINE BEFORE THE NEXT ! CALL TO HCO_GC_GetDiagn OR YOU WILL HAVE WRONG DATA FED TO YOU! ! ! !REVISION HISTORY: ! 21 Jun 2020 - H.P. Lin - Initial version !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: iCOL, iAF #ifdef MODEL_CLASSIC CHARACTER(LEN=90) :: TMP_DiagnFldName ! Temporary diagnostic fld name INTEGER :: ZBND REAL(sp), POINTER :: TMP_Ptr3D(:,:,:) REAL(hp), POINTER :: TMP_MDL_target(:,:,:) ! Pointer to ease switcheroo of the model target buffer REAL(sp), POINTER :: TMP_MDL_target4(:,:,:) ! Pointer to ease switcheroo of the model target buffer #endif ! Initialize local variables iCOL = HcoState%Diagn%HcoDiagnIDManual IF ( PRESENT(COL) ) THEN iCOL = COL ENDIF iAF = -1 IF ( PRESENT(AutoFill) ) THEN iAF = AutoFill ENDIF #ifdef MODEL_CLASSIC TMP_MDL_target => NULL() TMP_Ptr3D => NULL() IF ( Input_Opt%LIMGRID ) THEN ! The below section must be OMP CRITICAL because it is stateful. ! The first call to the critical section will update the container!! !$OMP CRITICAL IF ( PRESENT( AltBuffer ) ) THEN TMP_MDL_target => TMP_MDLb TMP_MDL_target4 => TMP_MDL_r4b ELSE TMP_MDL_target => TMP_MDL TMP_MDL_target4 => TMP_MDL_r4 ENDIF ! ... on-demand intermediate regridding. Check if we already have this field WRITE(TMP_DiagnFldName, *) "_Dgn_", DiagnName IF( .not. ( (.not. PRESENT( AltBuffer ) .and. TMP_DiagnFldName == LAST_TMP_REGRID_H2M) .or. & ( PRESENT( AltBuffer ) .and. TMP_DiagnFldName == LAST_TMP_REGRID_H2Mb) ) ) THEN ! Not already in buffer ! IF ( Input_Opt%Verbose ) WRITE(6,*) "# HCO_GC_GetDiagn_3D: Last regrid not equal, looking up field ", TMP_DiagnFldName ! Now retrieve data into the HEMCO temporary! ! Note that the data is in sp and has to be promoted for regridding, ! then demoted again for output. CALL GetHcoDiagn( HcoState, ExtState, DiagnName, StopIfNotFound, RC, & Ptr3D=TMP_Ptr3D, COL=iCOL, AutoFill=iAF ) ! If not found, return IF ( ASSOCIATED( TMP_Ptr3D ) ) THEN ! For safety, overwrite the temporary LAST_TMP_REGRID_H2M = "_HCO_Dgn3D_TBD" ! Get z-boundary ZBND = MAX(1, SIZE(TMP_Ptr3D, 3)) ! IF ( Input_Opt%Verbose ) WRITE(6,*) "# HCO_GC_GetDiagn_3D: Lookup complete", TMP_DiagnFldName, ZBND ! Copy data to the temporary TMP_HCO(:,:,1:ZBND) = TMP_Ptr3D(:,:,1:ZBND) CALL Regrid_HCO2MDL( Input_Opt, State_Grid, State_Grid_HCO, TMP_HCO, TMP_MDL, ZBND ) IF ( Input_Opt%Verbose ) THEN WRITE(6,*) "# HCO_GC_GetDiagn_3D: Regrid", & TMP_DiagnFldName, "complete", PRESENT(AltBuffer) ENDIF ! Free the pointer TMP_Ptr3D => NULL() ! Copy to the r4 so you can downgrade the precision for GetPtr calls ! for backwards compatibility TMP_MDL_target4(:,:,1:ZBND) = TMP_MDL(:,:,1:ZBND) ! Point to target dummy Ptr3D => TMP_MDL_target4(:,:,1:ZBND) ! The output should be pointing to Ptr2D (in TMP_MDL:,:,1) and ready to go. LAST_TMP_REGRID_H2M = TMP_DiagnFldName LAST_TMP_MDL_ZBND = ZBND ! Remember the z-boundary ... will be used later ENDIF ELSE ! Already in buffer! Just read the pointer data Ptr3D => TMP_MDL_target4(:,:,1:LAST_TMP_MDL_ZBND) ! ... fill the ptr ENDIF !$OMP END CRITICAL ! End of LIMGRID OMP Critical section ELSE #endif ! Not GC-Classic or not on-demand intermediate grid, just shim around calls CALL GetHcoDiagn( HcoState, ExtState, DiagnName, StopIfNotFound, RC, & Ptr3D=Ptr3D, COL=iCOL, AutoFill=iAF ) #ifdef MODEL_CLASSIC ENDIF TMP_MDL_target => NULL() TMP_MDL_target4 => NULL() #endif END SUBROUTINE HCO_GC_GetDiagn_3D !EOC !------------------------------------------------------------------------------ ! Harmonized Emissions Component (HEMCO) ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: HCO_GC_GetDiagn_2D ! ! !DESCRIPTION: Subroutine HCO_GC_GetDiagn is a shim for the original GetHcoDiagn. !\\ !\\ ! !INTERFACE: ! SUBROUTINE HCO_GC_GetDiagn_2D ( Input_Opt, State_Grid, DiagnName, & StopIfNotFound, RC, Ptr2D, & COL, AutoFill, AltBuffer ) ! ! !USES: ! USE HCO_Interface_Common, ONLY : GetHcoDiagn USE HCO_State_GC_Mod, ONLY : ExtState USE HCO_State_GC_Mod, ONLY : HcoState USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState #ifdef MODEL_CLASSIC USE HCO_State_GC_Mod, ONLY : State_Grid_HCO #endif ! ! !INPUT ARGUMENTS: ! TYPE(OptInput), INTENT(IN ) :: Input_Opt ! Input options TYPE(GrdState), INTENT(IN ) :: State_Grid ! Grid State CHARACTER(LEN=*), INTENT(IN ) :: DiagnName ! Name of diagnostics LOGICAL, INTENT(IN ) :: StopIfNotFound INTEGER, OPTIONAL, INTENT(IN ) :: COL ! Collection Nr. INTEGER, OPTIONAL, INTENT(IN ) :: AutoFill ! Autofill diagnostics only? LOGICAL, OPTIONAL, INTENT(IN ) :: AltBuffer ! Alternate buffer? (Use B) ! ! !OUTPUT ARGUMENTS: ! REAL(sp), POINTER :: Ptr2D(:,:) INTEGER, INTENT(INOUT) :: RC ! ! !REMARKS: ! See GetPtr. Note that this allows an alternative buffer to be used to ! avoid conflict in reading the cached pointer. ! ! FOR SAFETY SAKE, DESTROY THE POINTER READ FROM THIS ROUTINE BEFORE THE NEXT ! CALL TO HCO_GC_GetDiagn OR YOU WILL HAVE WRONG DATA FED TO YOU! ! ! !REVISION HISTORY: ! 21 Jun 2020 - H.P. Lin - Initial version !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: iCOL, iAF #ifdef MODEL_CLASSIC CHARACTER(LEN=90) :: TMP_DiagnFldName ! Temporary diagnostic fld name REAL(sp), POINTER :: TMP_Ptr2D(:,:) REAL(hp), POINTER :: TMP_MDL_target(:,:,:) ! Pointer to ease switcheroo of the model target buffer REAL(sp), POINTER :: TMP_MDL_target4(:,:,:) ! Pointer to ease switcheroo of the model target buffer #endif ! initialize local variables iCOL = HcoState%Diagn%HcoDiagnIDManual IF ( PRESENT(COL) ) THEN iCOL = COL ENDIF iAF = -1 IF ( PRESENT(AutoFill) ) THEN iAF = AutoFill ENDIF #ifdef MODEL_CLASSIC TMP_MDL_target => NULL() TMP_Ptr2D => NULL() IF ( Input_Opt%LIMGRID ) THEN ! The below section must be OMP CRITICAL because it is stateful. ! The first call to the critical section will update the container!! !$OMP CRITICAL IF ( PRESENT( AltBuffer ) ) THEN TMP_MDL_target => TMP_MDLb TMP_MDL_target4 => TMP_MDL_r4b ELSE TMP_MDL_target => TMP_MDL TMP_MDL_target4 => TMP_MDL_r4 ENDIF ! ... on-demand intermediate regridding. Check if we already have this field WRITE(TMP_DiagnFldName, *) "_Dgn_", DiagnName IF( .not. ( (.not. PRESENT( AltBuffer ) .and. TMP_DiagnFldName == LAST_TMP_REGRID_H2M) .or. & ( PRESENT( AltBuffer ) .and. TMP_DiagnFldName == LAST_TMP_REGRID_H2Mb) ) ) THEN ! Not already in buffer ! IF ( Input_Opt%Verbose ) WRITE(6,*) "# HCO_GC_GetDiagn_2D: Last regrid not equal, looking up field ", TMP_DiagnFldName ! Now retrieve data into the HEMCO temporary! ! Note that the data is in sp and has to be promoted for regridding, ! then demoted again for output. CALL GetHcoDiagn( HcoState, ExtState, DiagnName, StopIfNotFound, RC, & Ptr2D=TMP_Ptr2D, COL=iCOL, AutoFill=iAF ) ! If not found, return IF ( ASSOCIATED( TMP_Ptr2D ) ) THEN ! For safety, overwrite the temporary LAST_TMP_REGRID_H2M = "_HCO_Dgn2D_TBD" ! IF ( Input_Opt%Verbose ) WRITE(6,*) "# HCO_GC_GetDiagn_2D: Lookup complete", TMP_DiagnFldName ! Copy data to the temporary TMP_HCO(:,:,1) = TMP_Ptr2D(:,:) CALL Regrid_HCO2MDL( Input_Opt, State_Grid, State_Grid_HCO, TMP_HCO, TMP_MDL, 1 ) IF ( Input_Opt%Verbose ) THEN WRITE(6,*) "# HCO_GC_GetDiagn_2D: Regrid", & TMP_DiagnFldName, "complete" ENDIF ! Free the pointer TMP_Ptr2D => NULL() ! Copy to the r4 so you can downgrade the precision for GetDgn calls ! for backwards compatibility TMP_MDL_target4(:,:,1) = TMP_MDL(:,:,1) ! Point to target dummy Ptr2D => TMP_MDL_target4(:,:,1) ! The output should be pointing to Ptr2D (in TMP_MDL:,:,1) and ready to go. LAST_TMP_REGRID_H2M = TMP_DiagnFldName LAST_TMP_MDL_ZBND = 1 ! Remember the z-boundary ... will be used later ENDIF ELSE ! Already in buffer! Just read the pointer data Ptr2D => TMP_MDL_target4(:,:,1) ! ... fill the ptr ENDIF !$OMP END CRITICAL ! End of LIMGRID OMP Critical section ELSE #endif ! Not GC-Classic or not on-demand intermediate grid, just shim around calls CALL GetHcoDiagn( HcoState, ExtState, DiagnName, StopIfNotFound, RC, & Ptr2D=Ptr2D, COL=iCOL, AutoFill=iAF ) #ifdef MODEL_CLASSIC ENDIF TMP_MDL_target => NULL() TMP_MDL_target4 => NULL() #endif END SUBROUTINE HCO_GC_GetDiagn_2D !EOC #if defined ( MODEL_CLASSIC ) !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: get_gc_restart ! ! !DESCRIPTION: Subroutine GET\_GC\_RESTART reads species concentrations ! [mol/mol] from the GEOS-Chem restart file. If species data are missing from ! the restart file, pre-configured background values are used. If using the ! mercury simulation, additional restart data are read from file. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Get_GC_Restart( Input_Opt, State_Chm, State_Grid, & State_Met, RC ) ! ! !USES: ! USE CMN_SIZE_Mod, ONLY : NDUST USE ErrCode_Mod USE Error_Mod USE HCO_State_GC_Mod, ONLY : HcoState USE PhysConstants, ONLY : AIRMW, G0_100 USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : Species, SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE Time_Mod, ONLY : Expand_Date USE Timers_Mod, ONLY : Timer_End, Timer_Start USE UnitConv_Mod, ONLY : MOLES_SPECIES_PER_MOLES_DRY_AIR #ifdef APM USE APM_Init_Mod, ONLY : APMIDS #endif ! Netcdf libraries for local read of restart file USE netCDF USE m_netcdf_io_open USE m_netcdf_io_get_dimlen USE m_netcdf_io_read USE m_netcdf_io_readattr USE m_netcdf_io_close ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State object TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! ! 09 Feb 2016 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, J, L, M, N ! lon, lat, lev, indexes INTEGER :: previous_units LOGICAL :: FOUND ! Found in restart file? LOGICAL :: FOUND_DELP_DRY ! Found layer delta P in restart? CHARACTER(LEN=60) :: Prefix ! utility string CHARACTER(LEN=255) :: LOC ! routine location CHARACTER(LEN=255) :: v_name_in_hemco ! variable name in HEMCO CHARACTER(LEN=255) :: v_name_in_file ! variable name in restart file CHARACTER(LEN=512) :: MSG ! message REAL(fp) :: SMALL_NUM ! small number threshold ! Temporary arrays and pointers REAL*4, TARGET :: Temp2D(State_Grid%NX,State_Grid%NY) REAL*4, TARGET :: Temp3D(State_Grid%NX,State_Grid%NY, & State_Grid%NZ) REAL*4, POINTER :: Ptr2D(:,: ) REAL*4, POINTER :: Ptr3D(:,:,:) ! For Hg simulation CHARACTER(LEN=60) :: HgSpc ! Default background concentration REAL(fp) :: Background_VV ! Objects TYPE(SpcConc), POINTER :: Spc(:) TYPE(Species), POINTER :: SpcInfo ! For local read of restart file LOGICAL :: Use_HEMCO_for_restart_read LOGICAL :: FileExists ! Does input file exist? INTEGER :: fId, ierr, varid CHARACTER(LEN=255) :: nc_dir ! netCDF directory name CHARACTER(LEN=255) :: nc_file ! netCDF file name CHARACTER(LEN=255) :: nc_path ! netCDF path name CHARACTER(LEN=255) :: a_name ! netCDF attribute name CHARACTER(LEN=255) :: a_val ! netCDF attribute value CHARACTER(LEN=6) :: TimeStr CHARACTER(LEN=8) :: DateStr INTEGER :: st3d(3), ct3d(3) ! For 3D arrays INTEGER :: st4d(4), ct4d(4) ! For 4D arrays REAL*8, TARGET :: Temp3D_r8(State_Grid%NX,State_Grid%NY,1) REAL*4, TARGET :: Temp4D_r4(State_Grid%NX,State_Grid%NY, & State_Grid%NZ,1) REAL*8, TARGET :: Temp4D_r8(State_Grid%NX,State_Grid%NY, & State_Grid%NZ,1) REAL*8, POINTER :: Ptr3D_r8(:,:,:) REAL*4, POINTER :: Ptr4D_r4(:,:,:,:) REAL*8, POINTER :: Ptr4D_r8(:,:,:,:) ! For species mass conservation LOGICAL :: update_mixing_ratio REAL*8 :: AirMass REAL*8, TARGET :: SpcMass(State_Grid%NX,State_Grid%NY,State_Grid%NZ) REAL*8, POINTER :: SpcMassPtr(:,:,:) !================================================================= ! GET_GC_RESTART begins here! !================================================================= ! Assume success RC = GC_SUCCESS ! Initialize pointers Ptr2D => NULL() Ptr3D => NULL() Ptr3D_r8 => NULL() Ptr4D_r4 => NULL() Ptr4D_r8 => NULL() SpcInfo => NULL() ! Name of this routine LOC = ' -> at Get_GC_Restart (in GeosCore/hco_utilities_gc_mod.F90)' ! Set minimum value threshold for [mol/mol] SMALL_NUM = 1.0e-30_fp ! Set pointer to species concentrations Spc => State_Chm%Species ! Set how to read restart file. HEMCO will always be used to read the restart file ! unless 'read_restart_as_real8: true' is added to the geoschem_config.yml simulation ! menu of GC-Classic. Doing this is only allowed, i.e. will not stop with an error, if: ! 1. Simulation is not nested ! 2. Simulation is not Hg ! 3. Restart file is same grid resolution as the run resolution ! 4. Restart file with simulation start date in filename exists ! This option is useful for testing bit-for-bit reproducibility of the model when ! breaking up a run in time since HEMCO only reads in values as REAL4 while fields ! are saved in the restart file and in the model as REAL8 Use_HEMCO_for_restart_read = .NOT. Input_Opt%read_restart_as_real8 IF ( .NOT. Use_HEMCO_for_restart_read ) THEN IF ( State_Grid%NestedGrid ) THEN CALL GC_Error( 'Nested grid restart files must be read through HEMCO', RC, Loc ) RETURN ENDIF IF ( Input_Opt%ITS_A_MERCURY_SIM ) THEN CALL GC_Error( 'Mercury simulation restart files must be read through HEMCO', RC, Loc ) RETURN ENDIF IF ( Input_Opt%amIRoot ) print *, "WARNING: Reading GEOS-Chem restart file as REAL8 locally rather than REAL4 through HEMCO" ENDIF ! FORMAT strings 500 FORMAT( a ) 510 FORMAT( a21, ': Min = ', es15.9, ' Max = ', es15.9, ' Sum = ',es15.9 ) 520 FORMAT( a21, ': not found in GEOS-Chem restart file, setting to zero' ) 530 FORMAT( ' Species ', i3, ', ', a9, ': Min = ', es15.9, ', Max = ', es15.9, ' Sum = ',es15.9 ) 540 FORMAT( ' Species ', i3, ', ', a9, ': not found in restart, setting to background = ', es15.9) 550 FORMAT( ' Global mass = ', es15.9 ) !================================================================= ! Open GEOS-Chem restart file !================================================================= ! Write read message to log WRITE( 6, '(a)' ) REPEAT( '=', 79 ) WRITE( 6, '(a,/)' ) 'R E S T A R T F I L E I N P U T' ! Setup to read restart file locally IF ( .NOT. Use_HEMCO_for_restart_read ) THEN ! Directory and file name nc_dir = './Restarts/' WRITE( DateStr, '(i8.8)' ) Input_Opt%NYMDb WRITE( TimeStr, '(i6.6)' ) Input_Opt%NHMSb nc_file = 'GEOSChem.Restart.' // DateStr // '_' // TimeStr(1:4) // 'z.nc4' nc_path = TRIM( nc_dir ) // TRIM( nc_file ) ! Test if the file exists INQUIRE( FILE=TRIM( nc_path ), EXIST=FileExists ) ! Test if the file exists and define an output string IF ( FileExists ) THEN Msg = 'Restart file: Opening' ELSE Msg = 'Restart file: REQUIRED FILE NOT FOUND' ENDIF ! Write to stdout for both regular and dry-run simulations IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 300 ) TRIM( Msg ), TRIM( nc_path ) 300 FORMAT( a, ' ', a ) ENDIF ! For dry-run simulations, return to calling program. ! For regular simulations, throw an error if we can't find the file. IF ( Input_Opt%DryRun ) THEN RETURN ELSE IF ( .not. FileExists ) THEN WRITE( Msg, 300 ) TRIM( Msg ), TRIM( nc_path ) CALL GC_Error( Msg, RC, Loc ) RETURN ENDIF ENDIF ! Open file CALL Ncop_Rd( fId, TRIM(nc_path) ) ! If we are not using HEMCO to read the restart file, then stop ! the run if the restart file vertical resolution does not match ! the simulation grid vertical resolution. The algorithm to read ! the restart file as REAL*8 below does not have the capability ! to regrid vertical levels. IF ( .not. Use_HEMCO_for_restart_read ) THEN CALL NcGet_DimLen( fId, 'lev', L ) IF ( L /= State_Grid%NZ ) THEN MSG = "The GEOS-Chem restart file cannot be read as REAL*8 " // & "for simulations with a different vertical grid than " // & "the restart file. This is because reading the " // & "restart file as REAL*8 bypasses HEMCO vertical " // & "remapping. Please set 'read_restart_as_real8: false' " // & "in your 'geoschem_config.yml' configuration file " // & "and run your simulation again." CALL GC_Error( Msg, RC, Loc ) RETURN ENDIF ENDIF ENDIF !========================================================================= ! Get delta pressure per grid box stored in restart file to allow mass ! conservation across consecutive runs. Set DP_DRY_PREV to this value ! since it is the delta pressure used to create the restart file rather ! than the current meteorology. !======================================================================== v_name_in_hemco = 'DELPDRY' v_name_in_file = 'Met_DELPDRY' IF ( use_HEMCO_for_restart_read ) THEN CALL HCO_GC_GetPtr( Input_Opt, State_Grid, TRIM( v_name_in_hemco ), & Ptr3D, RC, FOUND=FOUND_DELP_DRY ) ELSE Temp4D_r8 = 0.0_fp Ptr4D_r8 => Temp4D_r8 st4d = (/ 1, 1, 1, 1 /) ct4d = (/ State_Grid%NX, State_Grid%NY, State_Grid%NZ, 1 /) CALL NcRd( Ptr4D_r8, fId, TRIM(v_name_in_file), st4d, ct4d ) FOUND_DELP_DRY = .TRUE. a_name = "units" CALL NcGet_Var_Attributes( fId,TRIM(v_name_in_file),TRIM(a_name),a_val ) ENDIF IF ( FOUND_DELP_DRY ) THEN IF ( use_HEMCO_for_restart_read ) THEN State_Met%DP_DRY_PREV = Ptr3D ELSE State_Met%DP_DRY_PREV = Ptr4D_r8(:,:,:,1) ENDIF IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 510 ) ADJUSTL( v_name_in_file ), & MINVAL( State_Met%DP_DRY_PREV ), & MAXVAL( State_Met%DP_DRY_PREV ), & SUM( State_Met%DP_DRY_PREV ) ENDIF ! Check if different from current meteorology. If yes, print warning and set flag. IF ( ABS(SUM(State_Met%DP_DRY_PREV) - SUM(State_Met%DELP_DRY)) > 1.d-10 ) THEN update_mixing_ratio = .TRUE. WRITE (6,*) 'WARNING: Layer delta pressures found in the restart file differ from current ' WRITE (6,*) 'meteorology. All species concentrations will be scaled by the ratio of ' WRITE (6,*) 'restart file delta pressure to input meteorology delta pressure in order ' WRITE (6,*) 'to conserve species mass in the restart file. If you wish to avoid this ' WRITE (6,*) 'behavior then rerun using a restart file without Met_DELPDRY' ENDIF ELSE WRITE (6,*) 'WARNING: Species mass cannot be computed from restart file concentrations ' WRITE (6,*) 'because Met_DELPDRY was not found in the restart file. Species ' WRITE (6,*) 'concentrations [mol/mol] in the restart file will be used in the first' WRITE (6,*) 'timestep. No scaling will be done to conserve restart file mass.' ENDIF ! Nullify pointer Ptr3D => NULL() Ptr4D_r8 => NULL() !================================================================= ! Read species concentrations from NetCDF or use default ! background [mol/mol] !================================================================= ! Print header for min/max concentration to log WRITE( 6, 110 ) 110 FORMAT( 'Min, max, and sum of each species in restart file [mol/mol], plus global mass if delta pressure found in file:' ) ! Loop over species DO N = 1, State_Chm%nSpecies ! Initialize species concentration to all zeroes Spc(N)%Conc = 0.e+0_fp ! Get info about this species from the species database SpcInfo => State_Chm%SpcData(N)%Info ! Define variable name v_name_in_hemco = 'SPC_' // TRIM( SpcInfo%Name ) v_name_in_file = 'SpeciesRst_' // TRIM( SpcInfo%Name ) ! Initialize temporary array for this species and point to it Temp3D = 0.0_fp Ptr3D => Temp3D If ( use_HEMCO_for_restart_read ) THEN ! Get variable from HEMCO and store in local array CALL HCO_GC_GetPtr( Input_Opt, State_Grid, TRIM(v_name_in_hemco), & Ptr3D, RC, FOUND=FOUND ) ELSE ! Check if variable in file ierr = NF90_Inq_VarId(fId, TRIM(v_name_in_file), varid) IF (ierr /= NF90_NOERR) THEN FOUND = .FALSE. ELSE ! Read from file Temp4D_r8 = 0.0_fp Ptr4D_r8 => Temp4D_r8 st4d = (/ 1, 1, 1, 1 /) ct4d = (/ State_Grid%NX, State_Grid%NY, State_Grid%NZ, 1 /) CALL NcRd( Ptr4D_r8, fId, TRIM(v_name_in_file), st4d, ct4d ) FOUND = .TRUE. ! Read the units attribute a_name = "units" CALL NcGet_Var_Attributes( fId,TRIM(v_name_in_file),TRIM(a_name),a_val ) ENDIF ENDIF ! Check if species data is in file IF ( FOUND ) THEN SpcInfo%Is_InRestart = .TRUE. ELSE SpcInfo%Is_InRestart = .FALSE. ENDIF ! If data is in file, read in as [mol/mol]. Otherwise, set to ! background value [mol/mol] either stored in species database ! (advected species all levels and non-advected species levels ! in the chemistry grid) or a small number (non-advected species ! levels above the chemistry grid). IF ( SpcInfo%Is_InRestart ) THEN ! Set the mol/mol mixing ratio from the restart file IF ( use_HEMCO_for_restart_read ) THEN Spc(N)%Conc = Ptr3D ELSE Spc(N)%Conc = Ptr4D_r8(:,:,:,1) ENDIF ! Print the min, max, and sum of each species in mol/mol IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 530 ) N, TRIM( SpcInfo%Name ), & MINVAL( Spc(N)%Conc ), MAXVAL( Spc(N)%Conc ), SUM ( Spc(N)%Conc ) ENDIF ! If DELP_DRY was found in the restart file: ! 1. Compute and print species global mass in file ! 2. Update mixing ratio to conserve mass if file delta pressure ! differs from current meteorology IF ( FOUND_DELP_DRY ) THEN ! Also print mass based on restart file mixing ratio and meteorology SpcMass = 0.d0 SpcMassPtr => SpcMass !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, AirMass ) & !$OMP COLLAPSE( 3 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX AirMass = State_Met%DP_DRY_PREV(I,J,L) * G0_100 & * State_Met%AREA_M2(I,J) SpcMassPtr(I,J,L) = Spc(N)%Conc(I,J,L) * AirMass & / ( AIRMW / State_Chm%SpcData(N)%Info%MW_g ) ENDDO ENDDO ENDDO !$OMP END PARALLEL DO WRITE(6,550) SUM( SpcMassPtr ) SpcMassPtr => NULL() ! Update mixing ratio to conserve mass if current pressure different ! from restart file pressure IF ( update_mixing_ratio ) THEN ! Update concentrations !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L ) & !$OMP COLLAPSE( 3 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX Spc(N)%Conc(I,J,L) = Spc(N)%Conc(I,J,L) & * State_Met%DP_DRY_PREV(I,J,L) / State_Met%DELP_DRY(I,J,L) ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDIF ENDIF ELSE ! Set species to the background value !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L ) ! Loop over all grid boxes DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! For non-advected species at levels above chemistry grid, ! use a small number for background IF ( L > State_Met%MaxChemLev .and. & .NOT. SpcInfo%Is_Advected ) THEN Spc(N)%Conc(I,J,L) = SMALL_NUM ! For all other cases, use the background value ! stored in the species database ELSE Spc(N)%Conc(I,J,L) = SpcInfo%BackgroundVV ! Print to log a warning that background values will be used IF ( Input_Opt%amIRoot .AND. & I == 1 .AND. J == 1 .AND. L == 1 ) THEN WRITE( 6, 540 ) N, TRIM( SpcInfo%Name ), SpcInfo%BackgroundVV ENDIF ENDIF ENDDO ENDDO ENDDO !$OMP END PARALLEL DO #ifdef APM !================================================================ ! APM MICROPHYSICS !================================================================ WRITE(*,*)'APM run does not find '// TRIM( SpcInfo%Name ),N IF(SpcInfo%Name(1:9)=='APMSPBIN2')THEN !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Apply minimum value threshold where input conc is very ! low Spc(N)%Conc(I,J,L) = & Spc(APMIDS%id_SO4)%Conc(I,J,L)/20.D0 ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDIF IF(SpcInfo%Name(1:9)=='APMSPBIN3')THEN !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Apply minimum value threshold where input conc is very ! low Spc(N)%Conc(I,J,L) = & Spc(APMIDS%id_SO4)%Conc(I,J,L)/20.D0 ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDIF !GanLuotest IF(SpcInfo%Name(1:10)=='APMSEABIN0')THEN !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Apply minimum value threshold where input conc is very ! low Spc(N)%Conc(I,J,L) = & Spc(APMIDS%id_SALA)%Conc(I,J,L)/9.D0 ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDIF IF(SpcInfo%Name(1:10)=='APMSEABIN1')THEN !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Apply minimum value threshold where input conc is very ! low Spc(N)%Conc(I,J,L) = & Spc(APMIDS%id_SALC)%Conc(I,J,L)/10.D0 ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDIF IF(SpcInfo%Name(1:10)=='APMDSTBIN1')THEN !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Apply minimum value threshold where input conc is very low Spc(N)%Conc(I,J,L) = & ( Spc(APMIDS%id_GC_DSTbin1)%Conc(I,J,L) & + Spc(APMIDS%id_GC_DSTbin2)%Conc(I,J,L) & + Spc(APMIDS%id_GC_DSTbin3)%Conc(I,J,L) & + Spc(APMIDS%id_GC_DSTbin4)%Conc(I,J,L) & + Spc(APMIDS%id_GC_DSTbin5)%Conc(I,J,L) & + Spc(APMIDS%id_GC_DSTbin6)%Conc(I,J,L) & + Spc(APMIDS%id_GC_DSTbin7)%Conc(I,J,L) )/6.D0 ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDIF IF(SpcInfo%Name(1:8)=='APMBCBIN')THEN !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Apply minimum value threshold where input conc is very low Spc(N)%Conc(I,J,L) = 1.D-30 ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDIF IF(SpcInfo%Name(1:8)=='APMOCBIN')THEN !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Apply minimum value threshold where input conc is very low Spc(N)%Conc(I,J,L) = 1.D-30 ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDIF #endif ENDIF ! Set the initial unit flags State_Chm%Species(N)%Units = MOLES_SPECIES_PER_MOLES_DRY_AIR ! Free pointer SpcInfo => NULL() ENDDO !========================================================================= ! Get variables for KPP mechanisms (right now just fullchem and Hg) !========================================================================= IF ( ( Input_Opt%ITS_A_FULLCHEM_SIM .or. & Input_Opt%ITS_A_MERCURY_SIM ) .and. Input_Opt%LCHEM ) THEN !---------------------------------------------------------------------- ! KPP_HVALUE (count of internal timesteps at each grid box) !---------------------------------------------------------------------- v_name_in_hemco = 'KPP_HVALUE' v_name_in_file = 'Chem_KPPHvalue' IF ( use_HEMCO_for_restart_read ) THEN CALL HCO_GC_GetPtr( Input_Opt, State_Grid, TRIM( v_name_in_hemco ), & Ptr3D, RC, FOUND=FOUND ) ELSE Temp4D_r8 = 0.0_fp Ptr4D_r8 => Temp4D_r8 st4d = (/ 1, 1, 1, 1 /) ct4d = (/ State_Grid%NX, State_Grid%NY, State_Grid%NZ, 1 /) CALL NcRd( Ptr4D_r8, fId, TRIM(v_name_in_file), st4d, ct4d ) FOUND = .TRUE. a_name = "units" CALL NcGet_Var_Attributes( fId,TRIM(v_name_in_file),TRIM(a_name),a_val ) ENDIF ! Check if variable is in file IF ( FOUND ) THEN IF ( use_HEMCO_for_restart_read ) THEN State_Chm%KPPHvalue = Ptr3D ELSE State_Chm%KPPHvalue = Ptr4D_r8(:,:,:,1) ENDIF IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 510 ) ADJUSTL( v_name_in_file ), & MINVAL( State_Chm%KPPHvalue ), & MAXVAL( State_Chm%KPPHvalue ), & SUM( State_Chm%KPPHvalue ) ENDIF ELSE State_Chm%KPPHvalue = 0.0_fp IF ( Input_Opt%amIRoot ) WRITE( 6, 520 ) ADJUSTL( v_name_in_file ) ENDIF ! Nullify pointer Ptr3D => NULL() Ptr4D_r8 => NULL() ENDIF !========================================================================= ! Get variables for Soil NOx emissions !========================================================================= IF ( Input_Opt%ITS_A_FULLCHEM_SIM ) THEN !---------------------------------------------------------------------- ! WETDEP_N (wet-deposited nitrogen) !---------------------------------------------------------------------- v_name_in_hemco = 'WETDEP_N' v_name_in_file = 'Chem_WetDepNitrogen' IF ( use_HEMCO_for_restart_read ) THEN CALL HCO_GC_GetPtr( Input_Opt, State_Grid, TRIM( v_name_in_hemco ), & Ptr2D, RC, FOUND=FOUND ) ELSE Temp3D_r8 = 0.0_fp Ptr3D_r8 => Temp3D_r8 st3d = (/ 1, 1, 1 /) ct3d = (/ State_Grid%NX, State_Grid%NY, 1 /) CALL NcRd( Ptr3D_r8, fId, TRIM(v_name_in_file), st3d, ct3d ) FOUND = .TRUE. a_name = "units" CALL NcGet_Var_Attributes( fId,TRIM(v_name_in_file),TRIM(a_name),a_val ) ENDIF ! Check if variable is in file IF ( FOUND ) THEN IF ( use_HEMCO_for_restart_read ) THEN State_Chm%WetDepNitrogen = Ptr2D ELSE State_Chm%WetDepNitrogen = Ptr3D_r8(:,:,1) ENDIF IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 510 ) ADJUSTL( v_name_in_file ), & MINVAL( State_Chm%WetDepNitrogen ), & MAXVAL( State_Chm%WetDepNitrogen ), & SUM( State_Chm%WetDepNitrogen ) ENDIF ELSE State_Chm%WetDepNitrogen = 0.0_fp IF ( Input_Opt%amIRoot ) WRITE( 6, 520 ) TRIM( v_name_in_file ) ENDIF ! Nullify pointer Ptr2D => NULL() Ptr3D_r8 => NULL() !---------------------------------------------------------------------- ! DRYDEP_N (dry-deposited nitrogen) !---------------------------------------------------------------------- v_name_in_hemco = 'DRYDEP_N' v_name_in_file = 'Chem_DryDepNitrogen' IF ( use_HEMCO_for_restart_read ) THEN CALL HCO_GC_GetPtr( Input_Opt, State_Grid, TRIM( v_name_in_hemco ), & Ptr2D, RC, FOUND=FOUND ) ELSE Temp3D_r8 = 0.0_fp Ptr3D_r8 => Temp3D_r8 st3d = (/ 1, 1, 1 /) ct3d = (/ State_Grid%NX, State_Grid%NY, 1 /) CALL NcRd( Ptr3D_r8, fId, TRIM(v_name_in_file), st3d, ct3d ) FOUND = .TRUE. a_name = "units" CALL NcGet_Var_Attributes( fId,TRIM(v_name_in_file),TRIM(a_name),a_val ) ENDIF ! Check if variable is in file IF ( FOUND ) THEN IF ( use_HEMCO_for_restart_read ) THEN State_Chm%DryDepNitrogen = Ptr2D ELSE State_Chm%DryDepNitrogen = Ptr3D_r8(:,:,1) ENDIF IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 510 ) ADJUSTL( v_name_in_file ), & MINVAL( State_Chm%DryDepNitrogen ), & MAXVAL( State_Chm%DryDepNitrogen ), & SUM( State_Chm%DryDepNitrogen ) ENDIF ELSE State_Chm%DryDepNitrogen = 0.0_fp IF ( Input_Opt%amIRoot ) WRITE( 6, 520 ) ADJUSTL( v_name_in_file ) ENDIF ! Nullify pointer Ptr2D => NULL() Ptr3D_r8 => NULL() ENDIF !========================================================================= ! Read variables for sulfate chemistry and aerosols !========================================================================= IF ( Input_Opt%ITS_A_FULLCHEM_SIM .or. & Input_Opt%ITS_AN_AEROSOL_SIM ) THEN !---------------------------------------------------------------------- ! H2O2_AFTERCHEM !---------------------------------------------------------------------- v_name_in_hemco = 'H2O2_AFTERCHEM' v_name_in_file = 'Chem_H2O2AfterChem' IF ( use_HEMCO_for_restart_read ) THEN CALL HCO_GC_GetPtr( Input_Opt, State_Grid, TRIM( v_name_in_hemco ), & Ptr3D, RC, FOUND=FOUND ) ELSE Temp4D_r8 = 0.0_fp Ptr4D_r8 => Temp4D_r8 st4d = (/ 1, 1, 1, 1 /) ct4d = (/ State_Grid%NX, State_Grid%NY, State_Grid%NZ, 1 /) CALL NcRd( Ptr4D_r8, fId, TRIM(v_name_in_file), st4d, ct4d ) FOUND = .TRUE. a_name = "units" CALL NcGet_Var_Attributes( fId,TRIM(v_name_in_file),TRIM(a_name),a_val ) ENDIF ! Check if variable is in file IF ( FOUND ) THEN IF ( use_HEMCO_for_restart_read ) THEN State_Chm%H2O2AfterChem = Ptr3D ELSE State_Chm%H2O2AfterChem = Ptr4D_r8(:,:,:,1) ENDIF IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 510 ) ADJUSTL( v_name_in_file ), & MINVAL( State_Chm%H2O2AfterChem ), & MAXVAL( State_Chm%H2O2AfterChem ), & SUM( State_Chm%H2O2AfterChem ) ENDIF ELSE State_Chm%H2O2AfterChem = 0.0_fp IF ( Input_Opt%amIRoot ) WRITE( 6, 520 ) ADJUSTL( v_name_in_file ) ENDIF ! Nullify pointer Ptr3D => NULL() Ptr4D_r8 => NULL() !---------------------------------------------------------------------- ! SO2_AFTERCHEM !---------------------------------------------------------------------- v_name_in_hemco = 'SO2_AFTERCHEM' v_name_in_file = 'Chem_SO2AfterChem' IF ( use_HEMCO_for_restart_read ) THEN CALL HCO_GC_GetPtr( Input_Opt, State_Grid, TRIM( v_name_in_hemco ), & Ptr3D, RC, FOUND=FOUND ) ELSE Temp4D_r8 = 0.0_fp Ptr4D_r8 => Temp4D_r8 st4d = (/ 1, 1, 1, 1 /) ct4d = (/ State_Grid%NX, State_Grid%NY, State_Grid%NZ, 1 /) CALL NcRd( Ptr4D_r8, fId, TRIM(v_name_in_file), st4d, ct4d ) FOUND = .TRUE. a_name = "units" CALL NcGet_Var_Attributes( fId,TRIM(v_name_in_file),TRIM(a_name),a_val ) ENDIF ! Check if variable is in file IF ( FOUND ) THEN IF ( use_HEMCO_for_restart_read ) THEN State_Chm%SO2AfterChem = Ptr3D ELSE State_Chm%SO2AfterChem = Ptr4D_r8(:,:,:,1) ENDIF IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 510 ) ADJUSTL( v_name_in_file ), & MINVAL( State_Chm%SO2AfterChem ), & MAXVAL( State_Chm%SO2AfterChem ), & SUM( State_Chm%SO2AfterChem ) ENDIF ELSE State_Chm%SO2AfterChem = 0.0_fp IF ( Input_Opt%amIRoot ) WRITE( 6, 520 ) ADJUSTL( v_name_in_file ) ENDIF ! Nullify pointer Ptr3D => NULL() Ptr4D_r8 => NULL() !---------------------------------------------------------------------- ! AeroH2O_SNA !---------------------------------------------------------------------- v_name_in_hemco = 'AEROH2O_SNA' v_name_in_file = 'Chem_AeroH2OSNA' IF ( use_HEMCO_for_restart_read ) THEN CALL HCO_GC_GetPtr( Input_Opt, State_Grid, TRIM( v_name_in_hemco ), & Ptr3D, RC, FOUND=FOUND ) ELSE Temp4D_r8 = 0.0_fp Ptr4D_r8 => Temp4D_r8 st4d = (/ 1, 1, 1, 1 /) ct4d = (/ State_Grid%NX, State_Grid%NY, State_Grid%NZ, 1 /) CALL NcRd( Ptr4D_r8, fId, TRIM(v_name_in_file), st4d, ct4d ) FOUND = .TRUE. a_name = "units" CALL NcGet_Var_Attributes( fId,TRIM(v_name_in_file),TRIM(a_name),a_val ) ENDIF ! Check if variable is in file IF ( FOUND ) THEN IF ( use_HEMCO_for_restart_read ) THEN State_Chm%AeroH2O(:,:,:,NDUST+1) = Ptr3D ELSE State_Chm%AeroH2O(:,:,:,NDUST+1) = Ptr4D_r8(:,:,:,1) ENDIF IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 510 ) ADJUSTL( v_name_in_file ), & MINVAL( State_Chm%AeroH2O(:,:,:,NDUST+1) ), & MAXVAL( State_Chm%AeroH2O(:,:,:,NDUST+1) ), & SUM( State_Chm%AeroH2O(:,:,:,NDUST+1) ) ENDIF ELSE State_Chm%AeroH2O(:,:,:,NDUST+1) = 0.0_fp IF ( Input_Opt%amIRoot ) WRITE( 6, 520 ) ADJUSTL( v_name_in_file ) ENDIF ! Nullify pointer Ptr3D => NULL() Ptr4D_r8 => NULL() !---------------------------------------------------------------------- ! ORVCsesq !---------------------------------------------------------------------- IF ( Input_Opt%LCARB .AND. Input_Opt%LSOA ) THEN v_name_in_hemco = 'ORVCSESQ' v_name_in_file = 'Chem_ORVCsesq' IF ( use_HEMCO_for_restart_read ) THEN CALL HCO_GC_GetPtr( Input_Opt, State_Grid, TRIM( v_name_in_hemco ), & Ptr3D, RC, FOUND=FOUND ) ELSE Temp4D_r8 = 0.0_fp Ptr4D_r8 => Temp4D_r8 st4d = (/ 1, 1, 1, 1 /) ct4d = (/ State_Grid%NX, State_Grid%NY, State_Grid%NZ, 1 /) CALL NcRd( Ptr4D_r8, fId, TRIM(v_name_in_file), st4d, ct4d ) FOUND = .TRUE. a_name = "units" CALL NcGet_Var_Attributes( fId,TRIM(v_name_in_file),TRIM(a_name),a_val ) ENDIF ! Check if variable is in file IF ( FOUND ) THEN IF ( use_HEMCO_for_restart_read ) THEN State_Chm%ORVCsesq(:,:,:) = Ptr3D ELSE State_Chm%ORVCsesq(:,:,:) = Ptr4D_r8(:,:,:,1) endif IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 510 ) ADJUSTL( v_name_in_file ), & MINVAL( State_Chm%ORVCsesq(:,:,:) ), & MAXVAL( State_Chm%ORVCsesq(:,:,:) ), & SUM( State_Chm%ORVCsesq(:,:,:) ) ENDIF ELSE State_Chm%ORVCsesq(:,:,:) = 0.0_fp IF ( Input_Opt%amIRoot ) WRITE( 6, 520 ) ADJUSTL( v_name_in_file ) ENDIF ! Nullify pointer Ptr3D => NULL() Ptr4D_r8 => NULL() ENDIF ENDIF !========================================================================= ! Read variables for UCX and the HEMCO PARANOx extension !========================================================================= IF ( Input_Opt%ITS_A_FULLCHEM_SIM ) THEN !---------------------------------------------------------------------- ! STATE_PSC (needed to initialize UCX) !---------------------------------------------------------------------- v_name_in_hemco = 'STATE_PSC' v_name_in_file = 'Chem_StatePSC' IF ( use_HEMCO_for_restart_read ) THEN CALL HCO_GC_GetPtr( Input_Opt, State_Grid, TRIM( v_name_in_hemco ), & Ptr3D, RC, FOUND=FOUND ) ELSE Temp4D_r4 = 0.0_fp Ptr4D_r4 => Temp4D_r4 st4d = (/ 1, 1, 1, 1 /) ct4d = (/ State_Grid%NX, State_Grid%NY, State_Grid%NZ, 1 /) CALL NcRd( Ptr4D_r4, fId, TRIM(v_name_in_file), st4d, ct4d ) FOUND = .TRUE. a_name = "units" CALL NcGet_Var_Attributes( fId,TRIM(v_name_in_file),TRIM(a_name),a_val ) ENDIF ! Check if variable is in file IF ( FOUND ) THEN IF ( use_HEMCO_for_restart_read ) THEN State_Chm%STATE_PSC = Ptr3D ELSE State_Chm%STATE_PSC = Ptr4D_r4(:,:,:,1) ENDIF IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 510 ) ADJUSTL( v_name_in_file ), & MINVAL( State_Chm%STATE_PSC ), & MAXVAL( State_Chm%STATE_PSC ), & SUM( State_Chm%STATE_PSC ) ENDIF ELSE IF ( Input_Opt%amIRoot ) THEN #ifdef ESMF_ ! ExtData and HEMCO behave ambiguously - if the file was found ! but was full of zeros throughout the domain of interest, it ! will result in the same output from ExtData as if the field ! was missing from the file. As such, HEMCO cannot distinguish ! between a missing file and a field of zeros WRITE(6,*) 'PSC restart either all zeros in the ' WRITE(6,*) 'root domain, or the restart file did ' WRITE(6,*) 'not contain STATE_PSC. Root domain ' WRITE(6,*) 'will be initialized PSC-free' ENDIF #else WRITE( 6, 500 ) & 'STATE_PSC not found in restart, initialize PSC-free' ENDIF #endif ENDIF ! Nullify pointer Ptr3D => NULL() Ptr4D_r8 => NULL() !---------------------------------------------------------------------- ! JOH (needed to initialize PARANOx) !---------------------------------------------------------------------- v_name_in_hemco = 'JOH' v_name_in_file = 'Chem_JOH' IF ( use_HEMCO_for_restart_read ) THEN CALL HCO_GC_GetPtr( Input_Opt, State_Grid, TRIM( v_name_in_hemco ), & Ptr2D, RC, FOUND=FOUND ) ELSE Temp3D_r8 = 0.0_fp Ptr3D_r8 => Temp3D_r8 st3d = (/ 1, 1, 1 /) ct3d = (/ State_Grid%NX, State_Grid%NY, 1 /) CALL NcRd( Ptr3D_r8, fId, TRIM(v_name_in_file), st3d, ct3d ) FOUND = .TRUE. a_name = "units" CALL NcGet_Var_Attributes( fId,TRIM(v_name_in_file),TRIM(a_name),a_val ) ENDIF ! Check if variable is in file IF ( FOUND ) THEN IF ( use_HEMCO_for_restart_read ) THEN State_Chm%JOH = Ptr2D ELSE State_Chm%JOH = Ptr3D_r8(:,:,1) endif IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 510 ) ADJUSTL( v_name_in_file ), & MINVAL( State_Chm%JOH ), & MAXVAL( State_Chm%JOH ), & SUM( State_Chm%JOH ) ENDIF ELSE State_Chm%JOH = 0.0_fp IF ( Input_Opt%amIRoot ) WRITE( 6, 520 ) ADJUSTL( v_name_in_file ) ENDIF ! Nullify pointer Ptr2D => NULL() Ptr3D_r8 => NULL() !---------------------------------------------------------------------- ! JNO2 (needed to initialize PARANOx) !---------------------------------------------------------------------- v_name_in_hemco = 'JNO2' v_name_in_file = 'Chem_JNO2' IF ( use_HEMCO_for_restart_read ) THEN CALL HCO_GC_GetPtr( Input_Opt, State_Grid, TRIM( v_name_in_hemco ), & Ptr2D, RC, FOUND=FOUND ) ELSE Temp3D_r8 = 0.0_fp Ptr3D_r8 => Temp3D_r8 st3d = (/ 1, 1, 1 /) ct3d = (/ State_Grid%NX, State_Grid%NY, 1 /) CALL NcRd( Ptr3D_r8, fId, TRIM(v_name_in_file), st3d, ct3d ) FOUND = .TRUE. a_name = "units" CALL NcGet_Var_Attributes( fId,TRIM(v_name_in_file),TRIM(a_name),a_val ) ENDIF ! Check if variable is in file IF ( FOUND ) THEN IF ( use_HEMCO_for_restart_read ) THEN State_Chm%JNO2 = Ptr2D ELSE State_Chm%JNO2 = Ptr3D_r8(:,:,1) endif IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 510 ) ADJUSTL( v_name_in_file ), & MINVAL( State_Chm%JNO2 ), & MAXVAL( State_Chm%JNO2 ), & SUM( State_Chm%JNO2 ) ENDIF ELSE State_Chm%JNO2 = 0.0_fp IF ( Input_Opt%amIRoot ) WRITE( 6, 520 ) ADJUSTL( v_name_in_file ) ENDIF ! Nullify pointer Ptr2D => NULL() Ptr3D_r8 => NULL() ENDIF !========================================================================= ! Read ocean mercury variables !========================================================================= IF ( Input_Opt%ITS_A_MERCURY_SIM ) THEN ! Print total mass to log WRITE( 6, 220 ) 220 FORMAT(/, 'Total mass of each ocean and snow Hg species:') !---------------------------------------------------------------------- ! Total Hg in ocean !---------------------------------------------------------------------- DO M = 1, 3 ! Define variable name SELECT CASE( M ) CASE ( 1 ) HgSpc = 'Hg0' CASE ( 2 ) HgSpc = 'Hg2' CASE ( 3 ) HgSpc = 'HgP' END SELECT v_name_in_hemco = 'OCEAN_' // TRIM( HgSpc ) ! Get variable from HEMCO and store in local array CALL HCO_GC_GetPtr( Input_Opt, State_Grid, TRIM( v_name_in_hemco ), & Ptr2D, RC, FOUND=FOUND ) ! Check if variable is in file IF ( FOUND ) THEN ! Check for negative concentrations (jaf, 7/6/11) DO I = 1, State_Grid%NX DO J = 1, State_Grid%NY IF ( Ptr2D(I,J) < 0.0d4 ) THEN Ptr2D(I,J) = 0.0d4 ENDIF ENDDO ENDDO ! Assign ocean mercury data and write total mass to log file SELECT CASE( M ) CASE ( 1 ) State_Chm%OceanHg0 = Ptr2D WRITE( 6, 240 ) TRIM( v_name_in_hemco ), & SUM( State_Chm%OceanHg0 ), 'kg' CASE ( 2 ) State_Chm%OceanHg2 = Ptr2D WRITE( 6, 240 ) TRIM( v_name_in_hemco ), & SUM( State_Chm%OceanHg2 ), 'kg' CASE ( 3 ) State_Chm%OceanHgP = Ptr2D WRITE( 6, 240 ) TRIM( v_name_in_hemco ), & SUM( State_Chm%OceanHgP ), 'kg' END SELECT ELSE WRITE( 6, 230 ) TRIM( v_name_in_hemco ) ENDIF ! Nullify pointer Ptr2D => NULL() ENDDO !-------------------------------------------------------------- ! Hg snowpack on land and ocean !-------------------------------------------------------------- DO M = 1, 4 ! Define variable name prefix SELECT CASE( M ) CASE ( 1 ) Prefix = 'SNOW_HG_OCEAN' ! Reducible on ocean CASE ( 2 ) Prefix = 'SNOW_HG_OCEAN_STORED' ! Non-reducible on ocean CASE ( 3 ) Prefix = 'SNOW_HG_LAND' ! Reducible on land CASE ( 4 ) Prefix = 'SNOW_HG_LAND_STORED' ! Non-reducible on land END SELECT v_name_in_hemco = TRIM( Prefix ) ! Get variable from HEMCO and store in local array CALL HCO_GC_GetPtr( Input_Opt, State_Grid, TRIM( v_name_in_hemco ), & Ptr2D, RC, FOUND=FOUND ) ! Check if variable is in file IF ( FOUND ) THEN ! Assign ocean mercury data and write total mass to file SELECT CASE( M ) CASE ( 1 ) State_Chm%SnowHgOcean = Ptr2D WRITE( 6, 240 ) TRIM( v_name_in_hemco ), & SUM( State_Chm%SnowHgOcean ), 'kg' CASE ( 2 ) State_Chm%SnowHgOceanStored = Ptr2D WRITE( 6, 240 ) TRIM( v_name_in_hemco ), & SUM( State_Chm%SnowHgOceanStored ),'kg' CASE ( 3 ) State_Chm%SnowHgLand = Ptr2D WRITE( 6, 240 ) TRIM( v_name_in_hemco ), & SUM( State_Chm%SnowHgLand ), 'kg' CASE ( 4 ) State_Chm%SnowHgLandStored = Ptr2D WRITE( 6, 240 ) TRIM( v_name_in_hemco ), & SUM( State_Chm%SnowHgLandStored ), 'kg' END SELECT ELSE WRITE( 6, 230 ) TRIM( v_name_in_hemco ) ENDIF ENDDO ! Format strings 230 FORMAT( a24, ' not found in restart file, set to zero') 240 FORMAT( a24, ': ', es15.9, 1x, a4) ENDIF !================================================================= ! Clean up !================================================================= ! Free pointer Spc => NULL() ! Mark end of section in log IF ( Input_Opt%Verbose .AND. Input_Opt%amIRoot ) THEN CALL DEBUG_MSG('### DONE GET_GC_RESTART') ENDIF WRITE( 6, '(a)' ) REPEAT( '=', 79 ) END SUBROUTINE Get_GC_Restart !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: get_boundary_conditions ! ! !DESCRIPTION: Subroutine GET\_BOUNDARY\_CONDITIONS calls the various routines ! to get boundary conditions from HEMCO for nested grid simulations. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Get_Boundary_Conditions( Input_Opt, State_Chm, State_Grid, & State_Met, YYYYMMDD, HHMMSS, RC ) ! ! ! USES: ! USE ErrCode_Mod USE HCO_State_GC_Mod, ONLY : HcoState USE Input_Opt_Mod, ONLY : OptInput USE PhysConstants, ONLY : AIRMW USE Species_Mod, ONLY : Species USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE Time_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN ) :: Input_Opt ! Input options TYPE(GrdState), INTENT(IN ) :: State_Grid ! Grid State INTEGER, INTENT(IN ) :: YYYYMMDD ! GMT date INTEGER, INTENT(IN ) :: HHMMSS ! GMT time ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State INTEGER, INTENT(INOUT) :: RC ! Failure or success ! ! !REMARKS: ! ! !REVISION HISTORY: ! 14 Apr 2019 - M. Sulprizio- Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, J, L, N, NA ! lon, lat, lev, spc indexes INTEGER :: t_index ! Time index LOGICAL :: FOUND ! Found in restart file? LOGICAL, SAVE :: FIRST = .TRUE. ! Is this the first routine call? CHARACTER(LEN=60) :: Prefix ! utility string CHARACTER(LEN=255) :: LOC ! routine location CHARACTER(LEN=255) :: MSG ! message CHARACTER(LEN=255) :: v_name_in_hemco ! variable name REAL(fp) :: MW_g ! species molecular weight CHARACTER(LEN=16) :: STAMP ! Temporary arrays and pointers REAL*4, TARGET :: Temp3D(State_Grid%NX,State_Grid%NY,State_Grid%NZ) REAL*4, POINTER :: Ptr3D(:,:,:) ! Objects TYPE(Species), POINTER :: SpcInfo !================================================================= ! GET_BOUNDARY_CONDITIONS begins here! !================================================================= ! Assume success RC = GC_SUCCESS ! We only need to get boundary conditions if this is a nested-grid ! simulation. Otherwise the BoundaryCond field won't be allocated. IF ( .not. State_Grid%NestedGrid ) RETURN ! Initialize pointers Ptr3D => NULL() SpcInfo => NULL() ! Name of this routine LOC = ' -> at Get_Boundary_Conditions (in GeosCore/hco_utilities_gc_mod.F90)' ! Find the proper time-slice to read from disk t_index = ( HHMMSS / 030000 ) + 1 ! Stop w/ error if the time index is invalid IF ( t_index < 1 .or. t_index > 8 ) THEN WRITE( MSG, 100 ) t_index 100 FORMAT( 'Time_index value ', i5, ' must be in the range 1 to 8!' ) CALL GC_Error( MSG, RC, LOC) RETURN ENDIF !================================================================= ! Read species concentrations from NetCDF [mol/mol] and ! store in State_Chm%BoundaryCond !================================================================= ! Print header for min/max concentration to log IF ( Input_Opt%amIRoot .AND. (FIRST .or. Input_Opt%Verbose) ) THEN WRITE( 6, 110 ) 110 FORMAT( 'Min and Max of each species in BC file [mol/mol]:' ) ENDIF ! Initialize BCs to all zeroes State_Chm%BoundaryCond = 0.e+0_fp ! Loop over advected species DO NA = 1, State_Chm%nAdvect ! Get the species ID from the advected species ID N = State_Chm%Map_Advect(NA) ! Get info about this species from the species database SpcInfo => State_Chm%SpcData(N)%Info MW_g = SpcInfo%MW_g ! Define variable name v_name_in_hemco = 'BC_' // TRIM( SpcInfo%Name ) ! Initialize temporary array for this species and point to it Temp3D = 0.0_fp Ptr3D => Temp3D ! Get variable from HEMCO and store in local array CALL HCO_GC_GetPtr( Input_Opt, State_Grid, TRIM(v_name_in_hemco), Ptr3D, RC, & TIDX=t_index, FOUND=FOUND ) ! Check if BCs are found IF ( FOUND ) THEN ! Print the min & max of each species as it is read from ! the BC file in mol/mol if debug is turned on in geoschem_config.yml IF ( Input_Opt%amIRoot ) THEN IF ( FIRST .or. Input_Opt%Verbose ) THEN WRITE( 6, 120 ) N, TRIM( SpcInfo%Name ), & MINVAL( Ptr3D ), MAXVAL( Ptr3D ) 120 FORMAT( 'Species ', i3, ', ', a8, ': Min = ', es15.9, & ' Max = ',es15.9) ENDIF ENDIF ! Copy data from file to State_Chm%BoundaryCond ! and convert from [mol/mol] to [kg/kg dry] State_Chm%BoundaryCond(:,:,:,N) = Ptr3D(:,:,:) * MW_g / AIRMW ! Debug ! Print*, 'BCs found for ', TRIM( SpcInfo%Name ), & ! MINVAL(State_Chm%BoundaryCond(:,:,:,N)), & ! MAXVAL(State_Chm%BoundaryCond(:,:,:,N)), & ! SUM(State_Chm%BoundaryCond(:,:,:,N)) ELSE ! Print to log if debug is turned on in geoschem_config.yml IF ( Input_Opt%amIRoot ) THEN IF ( FIRST .or. Input_Opt%Verbose ) THEN WRITE( 6, 130 ) N, TRIM( SpcInfo%Name ), SpcInfo%BackgroundVV 130 FORMAT('Species ', i3, ', ', a9, ': Use background = ', es15.9) ENDIF ENDIF ! Use the background value stored in the species database [mol/mol] State_Chm%BoundaryCond(:,:,:,N) = SpcInfo%BackgroundVV ENDIF ! Free pointer SpcInfo => NULL() ! Each time the boundary conditions are read, they have no longer been perturbed ! This value is sometimes set to True in set_boundary_conditions_mod.F90 IF ( Input_Opt%ITS_A_CARBON_SIM .AND. & Input_Opt%DoPerturbCH4BoundaryConditions ) THEN State_Chm%IsCH4BCPerturbed = .FALSE. ENDIF ENDDO ! Reset FIRST flag FIRST = .FALSE. ! Echo output IF ( Input_Opt%amIRoot ) THEN STAMP = TIMESTAMP_STRING() WRITE( 6, * ) 'GET_BOUNDARY_CONDITIONS: Done reading BCs at ', STAMP, ' using ', HHMMSS, t_index ENDIF END SUBROUTINE Get_Boundary_Conditions !EOC !------------------------------------------------------------------------------ ! Harmonized Emissions Component (HEMCO) ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Regrid_HCO2MDL ! ! !DESCRIPTION: Subroutine Regrid\_HCO2MDL is a buffer function to regrid a given ! field described on the HEMCO intermediate grid ("IMGrid") to the GEOS-Chem model ! grid. Only horizontal interpolation is performed via Regrid\_A2A. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Regrid_HCO2MDL ( Input_Opt, State_Grid, State_Grid_HCO, & PtrIn, PtrOut, ZBND, Debug ) ! ! !USES: ! USE State_Grid_Mod, ONLY : GrdState USE Input_Opt_Mod, ONLY : OptInput USE Regrid_A2A_Mod, ONLY : Map_A2A ! ! !INPUT ARGUMENTS: ! TYPE(OptInput), INTENT(IN ) :: Input_Opt ! Input opts TYPE(GrdState), INTENT(IN ) :: State_Grid ! Grid state TYPE(GrdState), INTENT(IN ) :: State_Grid_HCO ! Optional, HEMCO intermediate REAL(hp), INTENT(IN ) :: PtrIn (:,:,:) ! 3-D input data INTEGER, OPTIONAL,INTENT(IN ) :: ZBND ! z-level bounds of data LOGICAL, OPTIONAL,INTENT(IN ) :: Debug ! For debugging ! ! !OUTPUT ARGUMENTS: ! REAL(hp), INTENT( OUT) :: PtrOut(:,:,:) ! 3-D output data ! ! !REMARKS: ! Usually, the regridded quantities are stored in the array temporaries in this module, ! so PtrOut should be a pointer array temporary here. ! This module is NOT multiple domain safe and should be kept to MODEL\_CLASSIC only. ! ! For some cases, the PtrOut may point to a pointer array allocated somewhere else. ! ! If ZBND is optionally specified, the regridding operation is capped up to the ! given bound. This is usually used for 2-D data but may also limit useless regridding ! beyond the pointer size. The array temporaries in the module are usually always ! allocated to the model top to save memory thrashing, but we also do not want to ! sacrifice compute. ! ! !REVISION HISTORY: ! 03 Jun 2020 - H.P. Lin - Initial version !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: NZ, L LOGICAL :: DBG IF ( PRESENT( ZBND ) ) THEN NZ = MIN(ZBND, State_Grid%NZ+1) ! May be equal to NZ+1 maximum ELSE NZ = State_Grid%NZ ENDIF IF ( PRESENT( Debug ) ) THEN DBG = Debug ELSE DBG = .false. ENDIF ! Intermediate grid functionality? IF ( .not. Input_Opt%LIMGRID ) RETURN ! Initialize shadow regridding handles if they are not ready IF ( .not. ASSOCIATED( LonEdgeM ) ) THEN CALL Init_IMGrid ( Input_Opt, State_Grid, State_Grid_HCO ) ENDIF ! Empty the target first PtrOut(:,:,1:NZ) = 0.0_hp ! Do the regridding layer by layer DO L = 1, NZ call Map_A2A ( & State_Grid_HCO%NX, State_Grid_HCO%NY, & ! Input grid dimensions LonEdgeH, LatEdgeH, & ! Lons and lat sines at input edges PtrIn(:,:,L), & ! Input data, 2-D slice State_Grid%NX, State_Grid%NY, & ! Output grid dimensions LonEdgeM, LatEdgeM, & PtrOut(:,:,L), & 0, 0, & ! Pole treatment, scalar quantity missval=-1.e31_hp) ! Important to prevent crash ENDDO ! Return happily ever after END SUBROUTINE Regrid_HCO2MDL !EOC !------------------------------------------------------------------------------ ! Harmonized Emissions Component (HEMCO) ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Regrid_MDL2HCO ! ! !DESCRIPTION: Subroutine Regrid\_MDL2HCO is a buffer function to regrid a given ! field described on the GEOS-Chem model grid to the HEMCO intermediate grid ("IMGrid"). ! Only horizontal interpolation is performed via Regrid\_A2A. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Regrid_MDL2HCO ( Input_Opt, State_Grid, State_Grid_HCO, PtrIn, PtrOut, ZBND, & ResetRegrName ) ! ! !USES: ! USE State_Grid_Mod, ONLY : GrdState USE Input_Opt_Mod, ONLY : OptInput USE Regrid_A2A_Mod, ONLY : Map_A2A ! ! !INPUT ARGUMENTS: ! TYPE(OptInput), INTENT(IN ) :: Input_Opt ! Input opts TYPE(GrdState), INTENT(IN ) :: State_Grid ! Grid state TYPE(GrdState), INTENT(IN ) :: State_Grid_HCO ! Optional, HEMCO intermediate REAL(hp), INTENT(IN ) :: PtrIn (:,:,:) ! 3-D input data INTEGER, OPTIONAL,INTENT(IN ) :: ZBND ! z-level bounds of data LOGICAL, OPTIONAL,INTENT(IN ) :: ResetRegrName ! Reset regridding name? ! Used when called by outside routine ! ! !OUTPUT ARGUMENTS: ! REAL(hp), INTENT( OUT) :: PtrOut(:,:,:) ! 3-D output data ! ! !REMARKS: ! Usually, the regridded quantities are stored in the array temporaries in this module, ! so PtrOut should be a pointer array temporary here. ! This module is NOT multiple domain safe and should be kept to MODEL\_CLASSIC only. ! ! For some cases, the PtrOut may point to a pointer array allocated somewhere else. ! ! If ZBND is optionally specified, the regridding operation is capped up to the ! given bound. This is usually used for 2-D data but may also limit useless regridding ! beyond the pointer size. The array temporaries in the module are usually always ! allocated to the model top to save memory thrashing, but we also do not want to ! sacrifice compute. ! ! !REVISION HISTORY: ! 03 Jun 2020 - H.P. Lin - Initial version !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: NZ, L IF ( PRESENT( ZBND ) ) THEN NZ = MIN(ZBND, State_Grid%NZ+1) ! May be equal to NZ+1 maximum ELSE NZ = State_Grid%NZ ENDIF ! Intermediate grid functionality? IF ( .not. Input_Opt%LIMGRID ) RETURN ! Initialize shadow regridding handles if they are not ready IF ( .not. ASSOCIATED( LonEdgeM ) ) THEN CALL Init_IMGrid ( Input_Opt, State_Grid, State_Grid_HCO ) ENDIF ! Reset as instructed IF ( PRESENT(ResetRegrName) ) THEN IF ( ResetRegrName ) THEN LAST_TMP_REGRID_M2H = "_HCO_Dummy_Reset_" ENDIF ENDIF ! Empty the target first PtrOut(:,:,1:NZ) = 0.0_hp ! Do the regridding layer by layer DO L = 1, NZ call Map_A2A ( & State_Grid%NX, State_Grid%NY, & ! Input grid dimensions LonEdgeM, LatEdgeM, & ! Lons and lat sines at input edges PtrIn(:,:,L), & ! Input data, 2-D slice State_Grid_HCO%NX, State_Grid_HCO%NY, & ! Output grid dimensions LonEdgeH, LatEdgeH, & PtrOut(:,:,L), & 0, 0, missval=-1.e31_hp ) ! Pole treatment, scalar quantity ENDDO ! Return happily ever after END SUBROUTINE Regrid_MDL2HCO !EOC !------------------------------------------------------------------------------ ! Harmonized Emissions Component (HEMCO) ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_IMGrid ! ! !DESCRIPTION: Subroutine Init\_IMGrid initializes regridding shadow variables ! used for regridding from GEOS-Chem Classic model grid to the HEMCO grid, ! the InterMediate Grid ("IMGrid") !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_IMGrid ( Input_Opt, State_Grid, State_Grid_HCO ) ! ! !USES: ! USE State_Grid_Mod, ONLY : GrdState USE Input_Opt_Mod, ONLY : OptInput USE Regrid_A2A_Mod, ONLY : Map_A2A ! ! !INPUT ARGUMENTS: ! TYPE(OptInput), INTENT(IN ) :: Input_Opt ! Input opts TYPE(GrdState), INTENT(IN ) :: State_Grid ! Grid state TYPE(GrdState), INTENT(IN ) :: State_Grid_HCO ! Optional, HEMCO intermediate ! ! !REMARKS: ! Note that at this point we are committed to IMGrid being turned on and the grids ! are different. Otherwise the memory is not even allocated. ! ! !REVISION HISTORY: ! 04 Jun 2020 - H.P. Lin - Initial version !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: RC CHARACTER(LEN=255) :: ThisLoc CHARACTER(LEN=512) :: ErrMsg ! Assume success RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Init_IMGrid (in module GeosCore/hco_utilities_gc_mod.F90)' ! Intermediate grid functionality? IF ( .not. Input_Opt%LIMGRID ) RETURN ! Are we allocated? IF ( ASSOCIATED(LonEdgeM) ) RETURN ! TMP_MDL, TMP_HCO 3D IJK, TMP_MDLb (alternate model buffer) ! LAST_TMP_REGRID_M2H, LAST_TMP_REGRID_H2M, H2Mb ! LonEdgeH, LatEdgeH (actually SIN), LonEdgeM, LatEdgeM (actually SIN) -- NX+1, NY+1 ! Allocate arrays ALLOCATE(LonEdgeM(State_Grid%NX+1 ), LatEdgeM(State_Grid%NY+1 ), STAT=RC) ALLOCATE(LonEdgeH(State_Grid_HCO%NX+1), LatEdgeH(State_Grid_HCO%NY+1), STAT=RC) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in allocating model and HEMCO coords!' CALL GC_Error( ErrMsg, RC, ThisLoc ) ENDIF ! Describe the model grid first LonEdgeM(:) = State_Grid%XEDGE(:,1) LatEdgeM(:) = State_Grid%YSIN (1,:) ! The HEMCO grid LonEdgeH(:) = State_Grid_HCO%XEDGE(:,1) LatEdgeH(:) = State_Grid_HCO%YSIN (1,:) ! Init the temporary targets ! These may be conservatively larger than necessary and ZBND is capped ! in the regridding routine depending on the given array dims. ! ! Using NZ+1 in case the data is on vertical grid edges. ! Probably used for some met field stuff. ALLOCATE(TMP_MDL (State_Grid %NX, State_Grid %NY, State_Grid%NZ+1), STAT=RC) ALLOCATE(TMP_MDLb(State_Grid %NX, State_Grid %NY, State_Grid%NZ+1), STAT=RC) ALLOCATE(TMP_HCO (State_Grid_HCO%NX, State_Grid_HCO%NY, State_Grid%NZ+1), STAT=RC) ALLOCATE(TMP_MDL_r4 (State_Grid %NX, State_Grid %NY, State_Grid%NZ+1), STAT=RC) ALLOCATE(TMP_MDL_r4b(State_Grid %NX, State_Grid %NY, State_Grid%NZ+1), STAT=RC) ALLOCATE(TMP_HCO_r4 (State_Grid_HCO%NX, State_Grid_HCO%NY, State_Grid%NZ+1), STAT=RC) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in allocating model and HEMCO temporaries!' CALL GC_Error( ErrMsg, RC, ThisLoc ) ENDIF ! Initialize defaults LAST_TMP_REGRID_M2H = '' LAST_TMP_REGRID_H2M = '' LAST_TMP_REGRID_H2Mb = '' LAST_TMP_MDL_ZBND = 1 END SUBROUTINE Init_IMGrid !EOC #endif !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: HCO_GC_GetOption ! ! !DESCRIPTION: Shim interface for HCO_GetOpt. Used to return a value ! from the HEMCO config file into GEOS-Chem. !\\ !\\ ! !INTERFACE: ! FUNCTION HCO_GC_GetOption( optName, extNr ) RESULT( optVal ) ! ! !USES: ! USE HCO_State_GC_Mod, ONLY : HcoState USE HCO_ExtList_Mod, ONLY : HCO_GetOpt ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: optName INTEGER, OPTIONAL :: extNr ! ! !RETURN VALUE: ! CHARACTER(LEN=255) :: optVal !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES ! INTEGER :: extension ! Extension number extension = 0 IF ( PRESENT( extNr ) ) extension = extNr ! Return character variable optVal = HCO_GetOpt( HcoState%Config%ExtList, optName, extNr=extension ) END FUNCTION HCO_GC_GetOption !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: HCO_GC_HcoStateOK ! ! !DESCRIPTION: Returns TRUE if the HcoState object is allocated, or FALSE ! otherwise. This allows us to abstract the HcoState object out of ! GEOS-Chem source code. !\\ !\\ ! !INTERFACE: ! FUNCTION HCO_GC_HcoStateOk() RESULT( HcoStateIsOk ) ! ! !USES: ! USE HCO_State_GC_Mod, ONLY : HcoState ! ! !RETURN VALUE: ! LOGICAL :: HcoStateIsOK !EOP !------------------------------------------------------------------------------ !BOC ! Return status of HcoState HcoStateIsOK = ASSOCIATED( HcoState ) END FUNCTION HCO_GC_HcoStateOk !EOC END MODULE HCO_Utilities_GC_Mod ================================================ FILE: GeosCore/hcoi_gc_diagn_include.H ================================================ !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: hcoi_gc_diagn_include.H ! ! !DESCRIPTION: Contains emissions category definitions as used within the ! HEMCO_Config.rc file. !\\ !\\ ! !REMARKS: ! These categories hould correspond with the HEMCO_Config.rc file. If you ! change the category listings in HEMCO_Config.rc, then update this file ! accordingly. ! ! !REVISION HISTORY: ! 01 Oct 1995 - R. Yantosca - Initial version ! 08 Dec 2009 - R. Yantosca - Added ProTeX headers ! 22 Feb 2015 - C. Keller - Added eruptive and degassing volcanoes. ! 27 Jul 2018 - M. Sulprizio- Added trash burning category (E. Marais) ! ! !DEFINED PARAMETERS: ! INTEGER, PARAMETER :: CATEGORY_ANTHRO = 1 INTEGER, PARAMETER :: CATEGORY_NATURAL = 3 INTEGER, PARAMETER :: CATEGORY_BIOGENIC = 4 INTEGER, PARAMETER :: CATEGORY_BIOMASS = 5 INTEGER, PARAMETER :: CATEGORY_SHIP = 10 INTEGER, PARAMETER :: CATEGORY_TRASH = 12 INTEGER, PARAMETER :: CATEGORY_AIRCRAFT = 20 INTEGER, PARAMETER :: CATEGORY_VOLCANO = 50 INTEGER, PARAMETER :: CATEGORY_VOLCANO_ERUPT = 51 INTEGER, PARAMETER :: CATEGORY_VOLCANO_DEGAS = 52 !EOP !------------------------------------------------------------------------------ !BOC ================================================ FILE: GeosCore/hcoi_gc_diagn_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: hcoi_gc_diagn_mod.F90 ! ! !DESCRIPTION: Module HCOI\_GC\_Diagn\_Mod.F90 is the GEOS-Chem interface ! module for the HEMCO diagnostics. For every GEOS-Chem emissions diagnostics, ! a corresponding HEMCO diagnostics is created. The HEMCO diagnostics become ! (automatically) filled and updated when calling HEMCO. They are passed ! back to GEOS-Chem when writing the diagnostics (e.g. in diag3.F90). !\\ !\\ ! Notes: ! \begin{itemize} ! \item The category specific diagnostics (anthropogenic, aircraft, etc.) ! explicitly assume certain category numbers in the HEMCO configuration ! file (e.g. Cat=1 for anthropogenic, Cat=20 for aircraft, etc.). ! Diagnostics will not represent what they should if these category numbers ! get changed! ! \item In HEMCO, ocean sinks are treated as drydep and the calculated ! deposition velocities are passed to drydep\_mod.F90. Hence, no Acetone or ! ALD2 ocean sink is calculated by HEMCO and the DMS diagnostics only includes ! the ocean flux (this is NOT the net flux!!). ! If needed, we can build a simple wrapper in hcoi\_gc\_main\_mod.F90 that ! explicitly calculates oceanic fluxes. ! \end{itemize} ! ! !INTERFACE: ! MODULE HCOI_GC_Diagn_Mod ! ! !USES: ! USE HCO_Diagn_Mod USE HCO_Error_Mod IMPLICIT NONE PRIVATE ! Get parameters that define the different categories #include "hcoi_gc_diagn_include.H" ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: HCOI_GC_Diagn_Init ! ! !PRIVATE MEMBER FUNCTIONS: ! ! ! !REMARKS: ! This is currently a "bridge" module to provide backwards compatibility ! with existing GEOS-Chem diagnostics. We will eventually write all ! diagnostics to netCDF format, but we are not quite there yet. ! ! !REVISION HISTORY: ! 04 May 2014 - C. Keller - Initial version. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: HCOI_GC_Diagn_Init ! ! !DESCRIPTION: Subroutine HCOI\_GC\_Diagn\_Init initializes the HEMCO ! diagnostics in GEOS-Chem. !\\ !\\ ! !INTERFACE: ! SUBROUTINE HCOI_GC_Diagn_Init( Input_Opt, HcoState, ExtState, RC ) ! ! !USES: ! USE ErrCode_Mod USE HCO_ExtList_Mod, ONLY : GetExtNr USE HCO_ExtList_Mod, ONLY : GetExtOpt USE HCO_State_Mod, ONLY : HCO_GetHcoID USE HCO_State_Mod, ONLY : HCO_State USE HCOX_State_Mod, ONLY : Ext_State USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input opts TYPE(HCO_State), POINTER :: HcoState ! HEMCO state object TYPE(EXT_State), POINTER :: ExtState ! Extensions state object INTEGER, INTENT(INOUT) :: RC ! Failure or success ! ! !REMARKS: ! The category numbers must correspond to those in the HEMCO_Config.rc file. ! We will have to come up with a better way of making sure that these ! are consistent in the future. ! CO emissions (ND29) ! --> Anthropogenic, biogenic, and biomass emissions are ! all covered in the respective sections. ! --> CO produced from methanol doesn't seem to be written anymore?! ! Not filled for now. ! ! !REVISION HISTORY: ! 12 Sep 2013 - C. Keller - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! LOGICAL :: YesOrNo INTEGER :: I, J, HcoID, N, AS INTEGER :: ExtNr, Cat, Hier CHARACTER(LEN=31) :: SpcName, DiagnName, Unit CHARACTER(LEN=255) :: ErrMsg, ThisLoc !======================================================================= ! HCOI_GC_DIAGN_INIT begins here! !======================================================================= ! Initialize RC = HCO_SUCCESS ErrMsg = '' ThisLoc = & ' -> at HCOI_GC_Diagn_Init (in module GeosCore/hcoi_gc_diagn_mod.F90)' #ifdef TOMAS CALL Diagn_TOMAS( Input_Opt, HcoState, ExtState, RC ) IF ( RC /= HCO_SUCCESS ) RETURN #endif #ifdef APM CALL Diagn_APM( Input_Opt, HcoState, ExtState, RC ) IF ( RC /= HCO_SUCCESS ) RETURN #endif ! Return RC = HCO_SUCCESS END SUBROUTINE HCOI_GC_Diagn_Init !EOC #ifdef TOMAS !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Diagn_TOMAS ! ! !DESCRIPTION: This creates diagnostics for bulk emissions that will be called ! to scale into TOMAS bins. May not even be necessary. (JKodros 6/2/15) !\\ !\\ ! !INTERFACE: ! SUBROUTINE Diagn_TOMAS( Input_Opt, HcoState, ExtState, RC ) ! ! !USES: ! USE ErrCode_Mod USE HCO_ExtList_Mod, ONLY : GetExtNr USE HCO_State_Mod, ONLY : HCO_State USE HCO_State_Mod, ONLY : HCO_GetHcoID USE HCOX_State_Mod, ONLY : Ext_State USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input opts TYPE(HCO_State), POINTER :: HcoState ! HEMCO state object TYPE(EXT_State), POINTER :: ExtState ! Extensions state object INTEGER, INTENT(INOUT) :: RC ! Failure or success ! ! !REVISION HISTORY: ! 23 Sep 2014 - J. Kodros - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: Cat, ExtNr INTEGER :: id_BCPI, id_BCPO, id_OCPI, id_OCPO INTEGER :: id_CO, id_SO4, id_SOAS CHARACTER(LEN=31) :: DiagnName CHARACTER(LEN=255) :: MSG CHARACTER(LEN=255) :: LOC = 'DIAGN_TOMAS (hcoi_gc_diagn_mod.F90)' !======================================================================= ! Define diagnostics (TOMAS-related emissions) !======================================================================= ! Assume success RC = HCO_SUCCESS ! Get default HEMCO species ID's id_BCPI = HCO_GetHcoID( 'BCPI', HcoState ) id_BCPO = HCO_GetHcoID( 'BCPO', HcoState ) id_CO = HCO_GetHcoID( 'CO', HcoState ) id_OCPI = HCO_GetHcoID( 'OCPI', HcoState ) id_OCPO = HCO_GetHcoID( 'OCPO', HcoState ) id_SOAS = HCO_GetHcoID( 'SOAS', HcoState ) id_SO4 = HCO_GetHcoID( 'SO4', HcoState ) !----------------------------------------------------------------- ! %%%%% BCPI from anthro (Category 1 or species BCPI_ANTH) %%%%% !----------------------------------------------------------------- ExtNr = 0 Cat = CATEGORY_ANTHRO DiagnName = 'BCPI_ANTH' CALL Diagn_Create( HcoState = HcoState, & cName = TRIM( DiagnName ), & ExtNr = ExtNr, & Cat = Cat, & Hier = -1, & HcoID = id_BCPI, & SpaceDim = 3, & LevIDx = -1, & OutUnit = 'kg/m2/s', & COL = HcoState%Diagn%HcoDiagnIDManual, & AutoFill = 1, & RC = RC ) ! Trap potential errors IF ( RC /= HCO_SUCCESS ) THEN Msg = 'Error encountered when defining "BCPI_ANTH" diagnostic!' CALL GC_Error( Msg, RC, Loc ) RETURN ENDIF !----------------------------------------------------------------- ! %%%%% BCPO from anthro (Category 1 or species BCPO_ANTH) %%%%% !----------------------------------------------------------------- ExtNr = 0 Cat = CATEGORY_ANTHRO DiagnName = 'BCPO_ANTH' CALL Diagn_Create( HcoState = HcoState, & cName = TRIM( DiagnName ), & ExtNr = ExtNr, & Cat = Cat, & Hier = -1, & HcoID = id_BCPO, & SpaceDim = 3, & LevIDx = -1, & OutUnit = 'kg/m2/s', & COL = HcoState%Diagn%HcoDiagnIDManual, & AutoFill = 1, & RC = RC ) ! Trap potential errors IF ( RC /= HCO_SUCCESS ) THEN Msg = 'Error encountered when defining "BCPO_ANTH" diagnostic!' CALL GC_Error( Msg, RC, Loc ) RETURN ENDIF !----------------------------------------------------------------- ! %%%%% OCPI from anthro (Category 1 or species OCPI_ANTH) %%%%% !----------------------------------------------------------------- Extnr = 0 Cat = CATEGORY_ANTHRO DiagnName = 'OCPI_ANTH' CALL Diagn_Create( HcoState = HcoState, & cName = TRIM( DiagnName ), & ExtNr = ExtNr, & Cat = Cat, & Hier = -1, & HcoID = id_OCPI, & SpaceDim = 3, & LevIDx = -1, & OutUnit = 'kg/m2/s', & COL = HcoState%Diagn%HcoDiagnIDManual, & AutoFill = 1, & RC = RC ) ! Trap potential errors IF ( RC /= HCO_SUCCESS ) THEN Msg = 'Error encountered when defining "OCPI_ANTH" diagnostic!' CALL GC_Error( Msg, RC, Loc ) RETURN ENDIF !----------------------------------------------------------------- ! %%%%% OCPO from anthro (Category 1 or species OCPO_ANTH) %%%%% !----------------------------------------------------------------- ExtNr = 0 Cat = CATEGORY_ANTHRO DiagnName = 'OCPO_ANTH' CALL Diagn_Create( HcoState = HcoState, & cName = TRIM( DiagnName ), & ExtNr = ExtNr, & Cat = Cat, & Hier = -1, & HcoID = id_OCPO, & SpaceDim = 3, & LevIDx = -1, & OutUnit = 'kg/m2/s', & COL = HcoState%Diagn%HcoDiagnIDManual, & AutoFill = 1, & RC = RC ) ! Trap potential errors IF ( RC /= HCO_SUCCESS ) THEN Msg = 'Error encountered when defining "OCPO_ANTH" diagnostic!' CALL GC_Error( Msg, RC, Loc ) RETURN ENDIF !----------------------------------------------------------------------- ! ------------ NOW DEAL WITH BIOMASS BURNING -------------------- ! Test if any of the biomass burning extensions are turned on. ! If not, then use extension # 0 and the default biomass category !----------------------------------------------------------------------- Cat = -1 ExtNr = GetExtNr( HcoState%Config%ExtList, 'GFED' ) IF ( ExtNr <= 0 ) ExtNr = GetExtNr( HcoState%Config%ExtList, 'FINN' ) IF ( ExtNr <= 0 ) ExtNr = GetExtNr( HcoState%Config%ExtList, 'GFAS' ) IF ( ExtNr <= 0 ) ExtNr = GetExtNr( HcoState%Config%ExtList, 'QFED' ) IF ( ExtNr <= 0 ) THEN ExtNr = 0 Cat = CATEGORY_BIOMASS ENDIF !----------------------------------------------------------------- ! %%%%% BPCI from BIOB (Category ? or species BCPI_bb) %%%%% !----------------------------------------------------------------- DiagnName = 'BCPI_BB' CALL Diagn_Create( HcoState = HcoState, & cName = TRIM( DiagnName ), & ExtNr = ExtNr, & Cat = Cat, & Hier = -1, & HcoID = id_BCPI, & SpaceDim = 2, & LevIDx = -1, & OutUnit = 'kg/m2/s', & COL = HcoState%Diagn%HcoDiagnIDManual, & AutoFill = 1, & RC = RC ) ! Trap potential errors IF ( RC /= HCO_SUCCESS ) THEN Msg = 'Error encountered when defining "BCPI_BB" diagnostic!' CALL GC_Error( Msg, RC, Loc ) RETURN ENDIF !----------------------------------------------------------------- ! %%%%% BPCO from BIOB (Category ? or species BCPO_bb) %%%%% !----------------------------------------------------------------- DiagnName = 'BCPO_BB' CALL Diagn_Create( HcoState = HcoState, & cName = TRIM( DiagnName ), & ExtNr = ExtNr, & Cat = Cat, & Hier = -1, & HcoID = id_BCPO, & SpaceDim = 2, & LevIDx = -1, & OutUnit = 'kg/m2/s', & COL = HcoState%Diagn%HcoDiagnIDManual, & AutoFill = 1, & RC = RC ) ! Trap potential errors IF ( RC /= HCO_SUCCESS ) THEN Msg = 'Error encountered when defining "BCPO_BB" diagnostic!' CALL GC_Error( Msg, RC, Loc ) RETURN ENDIF !----------------------------------------------------------------- ! %%%%% OCPI from BIOB (Category ? or species OCPI_bb) %%%%% !----------------------------------------------------------------- DiagnName = 'OCPI_BB' CALL Diagn_Create( HcoState = HcoState, & cName = TRIM( DiagnName ), & ExtNr = ExtNr, & Cat = Cat, & Hier = -1, & HcoID = id_OCPI, & SpaceDim = 2, & LevIDx = -1, & OutUnit = 'kg/m2/s', & COL = HcoState%Diagn%HcoDiagnIDManual, & AutoFill = 1, & RC = RC ) ! Trap potential errors IF ( RC /= HCO_SUCCESS ) THEN Msg = 'Error encountered when defining "OCPI_BB" diagnostic!' CALL GC_Error( Msg, RC, Loc ) RETURN ENDIF !----------------------------------------------------------------- ! %%%%% OCPO from BIOB (Category ? or species OCPI_bb) %%%%% !----------------------------------------------------------------- DiagnName = 'OCPO_BB' CALL Diagn_Create( HcoState = HcoState, & cName = TRIM( DiagnName ), & ExtNr = ExtNr, & Cat = Cat, & Hier = -1, & HcoID = id_OCPO, & SpaceDim = 2, & LevIDx = -1, & OutUnit = 'kg/m2/s', & COL = HcoState%Diagn%HcoDiagnIDManual, & AutoFill = 1, & RC = RC ) ! Trap potential errors IF ( RC /= HCO_SUCCESS ) THEN Msg = 'Error encountered when defining "OCPO_BB" diagnostic!' CALL GC_Error( Msg, RC, Loc ) RETURN ENDIF !----------------------------------------------------------------- ! %%%%% SO4 from ANTHRO (Category ? or species SO4_ANTH) %%%%% !----------------------------------------------------------------- ExtNr = 0 Cat = CATEGORY_ANTHRO DiagnName = 'SO4_ANTH' CALL Diagn_Create( HcoState = HcoState, & cName = TRIM( DiagnName ), & ExtNr = ExtNr, & Cat = Cat, & Hier = -1, & HcoID = id_SO4, & SpaceDim = 3, & LevIDx = -1, & OutUnit = 'kg/m2/s', & COL = HcoState%Diagn%HcoDiagnIDManual, & AutoFill = 1, & RC = RC ) ! Trap potential errors IF ( RC /= HCO_SUCCESS ) THEN Msg = 'Error encountered when defining "SO4_ANTH" diagnostic!' CALL GC_Error( Msg, RC, Loc ) RETURN ENDIF !----------------------------------------------------------------- ! %%%%% CO from ANTHRO (Category ? or species CO_ANTH) %%%%% !----------------------------------------------------------------- ExtNr = 0 Cat = CATEGORY_ANTHRO DiagnName = 'CO_ANTH' CALL Diagn_Create( HcoState = HcoState, & cName = TRIM( DiagnName ), & ExtNr = ExtNr, & Cat = Cat, & Hier = -1, & HcoID = id_CO, & SpaceDim = 3, & LevIDx = -1, & OutUnit = 'kg/m2/s', & COL = HcoState%Diagn%HcoDiagnIDManual, & AutoFill = 1, & RC = RC ) ! Trap potential errors IF ( RC /= HCO_SUCCESS ) THEN Msg = 'Error encountered when defining "CO_ANTH" diagnostic!' CALL GC_Error( Msg, RC, Loc ) RETURN ENDIF !------------------------------------------------------------------- ! %%%%% diag for direct emission of SOAS OC for TOMAS %%%%% ! %%%%% this is not optional for tomas simulations %%%%% !------------------------------------------------------------------- ! Extension and category #'s for MEGAN ExtNr = GetExtNr( HcoState%Config%ExtList, 'MEGAN') IF ( ExtNr > 0 ) THEN Cat = -1 ELSE ! Use offline biogenic emissions ExtNr = 0 Cat = CATEGORY_BIOGENIC ENDIF ! Create diagnostic container DiagnName = 'BIOGENIC_SOAS' CALL Diagn_Create( HcoState = HcoState, & cName = TRIM( DiagnName ), & ExtNr = ExtNr, & Cat = Cat, & Hier = -1, & HcoID = id_SOAS, & SpaceDim = 2, & LevIDx = -1, & OutUnit = 'kg/m2/s', & COL = HcoState%Diagn%HcoDiagnIDManual, & AutoFill = 1, & RC = RC ) ! Trap potential errors IF ( RC /= HCO_SUCCESS ) THEN Msg = 'Error encountered when defining "BIOGENIC_SOAS" diagnostic!' CALL GC_Error( Msg, RC, Loc ) RETURN ENDIF END SUBROUTINE Diagn_TOMAS !EOC #endif #ifdef APM !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Diagn_APM ! ! !DESCRIPTION: This creates manual diagnostics that will be used for APM. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Diagn_APM( Input_Opt, HcoState, ExtState, RC ) ! ! !USES: ! USE ErrCode_Mod USE HCO_ExtList_Mod, ONLY : GetExtNr USE HCO_State_Mod, ONLY : HCO_State USE HCO_State_Mod, ONLY : HCO_GetHcoID USE HCOX_State_Mod, ONLY : Ext_State USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input opts TYPE(HCO_State), POINTER :: HcoState ! HEMCO state object TYPE(EXT_State), POINTER :: ExtState ! Extensions state object INTEGER, INTENT(INOUT) :: RC ! Failure or success ! ! !REVISION HISTORY: ! 23 Sep 2014 - J. Kodros - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: HcoId, id_BCPO, id_OCPO ! Strings CHARACTER(LEN=255) :: MSG CHARACTER(LEN=255) :: LOC = 'DIAGN_APM (hcoi_gc_diagn_mod.F90)' !======================================================================== ! Diagn_APM begins here! !======================================================================== ! Initialize RC = GC_SUCCESS id_BCPO = HCO_GetHcoID( 'BCPO', HcoState ) id_OCPO = HCO_GetHcoID( 'OCPO', HcoState ) !------------------------------------------------------------------------ ! Hydrophobic black carbon from ANTHRO EMISSIONS !------------------------------------------------------------------------ CALL Diagn_Create( HcoState = HcoState, & cName = 'ANTHROPOGENIC_BCPO', & ExtNr = 0, & Cat = CATEGORY_ANTHRO, & Hier = -1, & HcoID = id_BCPO, & SpaceDim = 3, & LevIDx = -1, & OutUnit = 'kg/m2/s', & COL = HcoState%Diagn%HcoDiagnIDManual, & AutoFill = 1, & RC = RC ) ! Trap potential errors IF ( RC /= HCO_SUCCESS ) THEN Msg = 'Error encountered when defining ANTHROPOGENIC_BCPO" diagnostic!' CALL GC_Error( Msg, RC, Loc ) RETURN ENDIF !------------------------------------------------------------------------ ! Hydrophobic organic carbon from ANTHRO EMISSIONS !------------------------------------------------------------------------ CALL Diagn_Create( HcoState = HcoState, & cName = 'ANTHROPOGENIC_OCPO', & ExtNr = 0, & Cat = CATEGORY_ANTHRO, & Hier = -1, & HcoID = id_OCPO, & SpaceDim = 3, & LevIDx = -1, & OutUnit = 'kg/m2/s', & COL = HcoState%Diagn%HcoDiagnIDManual, & AutoFill = 1, & RC = RC ) ! Trap potential errors IF ( RC /= HCO_SUCCESS ) THEN Msg = 'Error encountered when defining "ANTHROPOGENIC_OCPO" diagnostic!' CALL GC_Error( Msg, RC, Loc ) RETURN ENDIF !------------------------------------------------------------------------ ! Hydrophobic black carbon from BIOMASS EMISSIONS !------------------------------------------------------------------------ CALL Diagn_Create( HcoState = HcoState, & cName = 'BIOMASS_BCPO', & ExtNr = 0, & Cat = CATEGORY_BIOMASS, & Hier = -1, & HcoID = id_BCPO, & SpaceDim = 2, & LevIDx = -1, & OutUnit = 'kg/m2/s', & COL = HcoState%Diagn%HcoDiagnIDManual, & AutoFill = 1, & RC = RC ) ! Trap potential errors IF ( RC /= HCO_SUCCESS ) THEN Msg = 'Error encountered when defining "BIOMASS_BCPO" diagnostic!' CALL GC_Error( Msg, RC, Loc ) RETURN ENDIF !------------------------------------------------------------------------ ! Hydrophobic organic carbon from BIOMASS EMISSIONS !------------------------------------------------------------------------ CALL Diagn_Create( HcoState = HcoState, & cName = 'BIOMASS_OCPO', & ExtNr = 0, & Cat = CATEGORY_BIOMASS, & Hier = -1, & HcoID = id_OCPO, & SpaceDim = 2, & LevIDx = -1, & OutUnit = 'kg/m2/s', & COL = HcoState%Diagn%HcoDiagnIDManual, & AutoFill = 1, & RC = RC ) ! Trap potential errors IF ( RC /= HCO_SUCCESS ) THEN Msg = 'Error encountered when defining "BIOMASS_OCPO" diagnostic!' CALL GC_Error( Msg, RC, Loc ) RETURN ENDIF END SUBROUTINE Diagn_APM #endif !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: GetHemcoId ! ! !DESCRIPTION: Function GetHemcoId returns the HEMCO species ID number ! corresponding to a given HEMCO species name. !\\ !\\ ! !INTERFACE: ! FUNCTION GetHemcoId( HcoName, HcoState, Loc, RC, ERR ) RESULT( HcoID ) ! ! !USES: ! USE HCO_State_Mod, ONLY : HCO_State USE HCO_State_Mod, ONLY : HCO_GetHcoID ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: HcoName ! HEMCO species name TYPE(HCO_State), POINTER :: HcoState ! HEMCO State object CHARACTER(LEN=*), INTENT(IN) :: Loc ! Calling routine LOGICAL, OPTIONAL, INTENT(IN) :: Err ! Return error if not found ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !RETURN VALUE: ! INTEGER :: HcoID ! HEMCO species ID # ! ! !REMARKS: ! This is a wrapper function to simplify the code above. Calls to ! HCO_GetHcoId and HCO_Error are made from here. ! ! !REVISION HISTORY: ! 20 Aug 2014 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=255) :: MSG LOGICAL :: ERROR = .TRUE. !======================================================================= ! GetHemcoId begins here! !======================================================================= ! Assume success RC = HCO_SUCCESS ! Prompt error? IF ( PRESENT(ERR) ) ERROR = ERR ! Get the HEMCO species ID from the name HcoID = HCO_GetHcoID( HcoName, HcoState ) ! Exit with error if the species is not valid ! (HCO_Error will set RC = HCO_FAIL) IF ( HcoID <= 0 .AND. ERROR ) THEN MSG = 'This is not a HEMCO species: ' // HcoName CALL HCO_Error( MSG, RC, THISLOC=Loc ) ENDIF END FUNCTION GetHemcoId !EOC END MODULE HCOI_GC_Diagn_Mod ================================================ FILE: GeosCore/input_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: input_mod.F90 ! ! !DESCRIPTION: Contains routines that read the GEOS-Chem configuration file at ! the start of the run and pass the information to Input_Opt. !\\ !\\ ! !INTERFACE: ! MODULE Input_Mod ! ! !USES: ! USE CharPak_Mod, ONLY : MaxDim => MaxStrLen USE QfYaml_Mod USE Precision_Mod IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: Read_Input_File PUBLIC :: Do_Error_Checks PUBLIC :: Validate_Directories ! ! !REVISION HISTORY: ! 20 Jul 2004 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! YAML configuration file name to be read CHARACTER(LEN=21), PARAMETER, PRIVATE :: configFile ='./geoschem_config.yml' CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: read_input_file ! ! !DESCRIPTION: Driver program for reading the GEOS-Chem input file. !\\ !\\ ! In an ESMF environment, all time steps (chemistry, convection, emissions, ! dynamics) must be specified externally before calling this routine. ! The time steps specified in the GEOS-Chem configuration file are ignored. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Read_Input_File( Input_Opt, State_Grid, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input options TYPE(GrdState), INTENT(INOUT) :: State_Grid ! Grid State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REVISION HISTORY: ! 20 Jul 2004 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: thisLoc CHARACTER(LEN=512) :: errMsg ! Objects TYPE(QFYAML_t) :: Config, ConfigAnchored !======================================================================== ! Read_Input_File begins here! !======================================================================== ! Echo output IF ( Input_Opt%amIRoot ) THEN WRITE( 6, '(a )' ) REPEAT( '=', 79 ) WRITE( 6, '(a,/)' ) 'G E O S - C H E M U S E R I N P U T' WRITE( 6, 100 ) TRIM( configFile ) 100 FORMAT( 'READ_INPUT_FILE: Opening ', a ) ENDIF ! Assume success RC = GC_SUCCESS errMsg = '' thisLoc = ' -> at Read_Input_File (in module GeosCore/input_mod.F90)' !======================================================================== ! Read the YAML file into the Config object !======================================================================== CALL QFYAML_Init( configFile, Config, ConfigAnchored, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error reading configuration file: ' // TRIM( configFile ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !======================================================================== ! Get basic simulation settings from the YAML Config object !======================================================================== ! Simulation config settings CALL Config_Simulation( Config, Input_Opt, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error in "Config_Simulation"!' CALL GC_Error( errMsg, RC, thisLoc ) CALL QFYAML_CleanUp( Config ) CALL QFYAML_CleanUp( ConfigAnchored ) RETURN ENDIF #if !(defined( EXTERNAL_GRID ) || defined( EXTERNAL_FORCING )) ! Grid config settings ! Skip if we are gettomg the grid from an external model CALL Config_Grid( Config, Input_Opt, State_Grid, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error in "Config_Grid"!' CALL GC_Error( errMsg, RC, thisLoc ) CALL QFYAML_CleanUp( Config ) CALL QFYAML_CleanUp( ConfigAnchored ) RETURN ENDIF #endif ! Timesteps config settings CALL Config_Timesteps( Config, Input_Opt, State_Grid, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error in "Config_Timesteps"!' CALL GC_Error( errMsg, RC, thisLoc ) CALL QFYAML_CleanUp( Config ) CALL QFYAML_CleanUp( ConfigAnchored ) RETURN ENDIF !======================================================================== ! Get settings for GEOS-Chem operations from the YAML Config object !======================================================================== ! Transport settings CALL Config_Transport( Config, Input_Opt, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error in "Config_Transport"!' CALL GC_Error( errMsg, RC, thisLoc ) CALL QFYAML_CleanUp( Config ) CALL QFYAML_CleanUp( ConfigAnchored ) RETURN ENDIF ! Convection and PBL mixing settings CALL Config_Convection_Mixing( Config, Input_Opt, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error in "Config_Convection_Mixing"!' CALL GC_Error( errMsg, RC, thisLoc ) CALL QFYAML_CleanUp( Config ) CALL QFYAML_CleanUp( ConfigAnchored ) RETURN ENDIF ! Aerosol settings CALL Config_Aerosol( Config, Input_Opt, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error in "Config_Aerosol"!' CALL GC_Error( errMsg, RC, thisLoc ) CALL QFYAML_CleanUp( Config ) CALL QFYAML_CleanUp( ConfigAnchored ) RETURN ENDIF ! Dry deposition and wet deposition settings CALL Config_DryDep_WetDep( Config, Input_Opt, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error in "Config_DryDep_WetDep"!' CALL GC_Error( errMsg, RC, thisLoc ) CALL QFYAML_CleanUp( Config ) CALL QFYAML_CleanUp( ConfigAnchored ) RETURN ENDIF ! Chemistry settings CALL Config_Chemistry( Config, Input_Opt, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error in "Config_Chemistry"!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Photolysis settings CALL Config_Photolysis( Config, Input_Opt, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error in "Config_Photolysis"!' CALL GC_Error( errMsg, RC, thisLoc ) CALL QFYAML_CleanUp( Config ) CALL QFYAML_CleanUp( ConfigAnchored ) RETURN ENDIF ! RRTMG (radiative transfer model) settings CALL Config_RRTMG( Config, Input_Opt, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error in "Config_RRTMG"!' CALL GC_Error( errMsg, RC, thisLoc ) CALL QFYAML_CleanUp( Config ) CALL QFYAML_CleanUp( ConfigAnchored ) RETURN ENDIF !======================================================================== ! Get settings for specialty simulations from the YAML Config object !======================================================================== ! Carbon simulation settings IF ( Input_Opt%Its_A_Carbon_Sim ) THEN CALL Config_CH4( Config, Input_Opt, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error in "Config_CH4"!' CALL GC_Error( errMsg, RC, thisLoc ) CALL QFYAML_CleanUp( Config ) CALL QFYAML_CleanUp( ConfigAnchored ) RETURN ENDIF CALL Config_CO( Config, Input_Opt, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error in "Config_CO"!' CALL GC_Error( errMsg, RC, thisLoc ) CALL QFYAML_CleanUp( Config ) CALL QFYAML_CleanUp( ConfigAnchored ) RETURN ENDIF CALL Config_CO2( Config, Input_Opt, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error in "Config_CO2"!' CALL GC_Error( errMsg, RC, thisLoc ) CALL QFYAML_CleanUp( Config ) CALL QFYAML_CleanUp( ConfigAnchored ) RETURN ENDIF ENDIF ! Hg simulation settings IF ( Input_Opt%Its_A_Mercury_Sim ) THEN CALL Config_Hg( Config, Input_Opt, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error in "Config_Hg"!' CALL GC_Error( errMsg, RC, thisLoc ) CALL QFYAML_CleanUp( Config ) CALL QFYAML_CleanUp( ConfigAnchored ) RETURN ENDIF ENDIF ! POPs simulation settings IF ( Input_Opt%Its_A_POPs_Sim ) THEN CALL Config_POPs( Config, Input_Opt, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error in "Config_POPs"!' CALL GC_Error( errMsg, RC, thisLoc ) CALL QFYAML_CleanUp( Config ) CALL QFYAML_CleanUp( ConfigAnchored ) RETURN ENDIF ENDIF !======================================================================== ! Get settings for extra diagnostics from the YAML Config object !======================================================================== ! Obspack diagnostic settings CALL Config_ObsPack( Config, Input_Opt, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error in "Config_ObsPack"!' CALL GC_Error( errMsg, RC, thisLoc ) CALL QFYAML_CleanUp( Config ) CALL QFYAML_CleanUp( ConfigAnchored ) RETURN ENDIF #if !(defined( EXTERNAL_GRID ) || defined( EXTERNAL_FORCING )) ! Planeflight diagnostic settings ! (Skip if we are connecting to an external model) CALL Config_PlaneFlight( Config, Input_Opt, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error in "Config_PlaneFlight"!' CALL GC_Error( errMsg, RC, thisLoc ) CALL QFYAML_CleanUp( Config ) CALL QFYAML_CleanUp( ConfigAnchored ) RETURN ENDIF !======================================================================== ! Check GEOS-CHEM timesteps ! NOTE: Skip for GCHP/GEOS, as this is called from GCHP_Chunk_Run !======================================================================== CALL Check_Time_Steps( Input_Opt, State_Grid, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error in "Check_Time_Steps"!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF #endif !======================================================================== ! Further error-checking and initialization !======================================================================== CALL QFYAML_CleanUp( Config ) CALL QFYAML_CleanUp( ConfigAnchored ) END SUBROUTINE Read_Input_File !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: config_simulation ! ! !DESCRIPTION: Copies simulation information from the Config object ! to Input_Opt, and does necessary checks. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Config_Simulation( Config, Input_Opt, RC ) ! ! !USES: ! USE Charpak_Mod, ONLY : To_UpperCase USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE Time_Mod ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(QFYAML_t), INTENT(INOUT) :: Config ! YAML Config object TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input Options object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: v_bool INTEGER :: N, C REAL(fp) :: JulianDateStart, JulianDateEnd #if defined( ESMF_ ) || defined( MODEL_ ) INTEGER :: H, M, S REAL(f4) :: init_UTC #endif ! Arrays INTEGER :: a_int(2) ! Strings CHARACTER(LEN=6) :: timeStr CHARACTER(LEN=8) :: dateStr CHARACTER(LEN=12) :: met CHARACTER(LEN=15) :: verboseMsg CHARACTER(LEN=24) :: sim CHARACTER(LEN=255) :: thisLoc CHARACTER(LEN=512) :: errMsg CHARACTER(LEN=QFYAML_NamLen) :: key CHARACTER(LEN=QFYAML_StrLen) :: v_str !======================================================================== ! Config_Simulation begins here! !======================================================================== ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = & ' -> at Config_Simulation (in module GeosCore/input_mod.F90)' !------------------------------------------------------------------------ ! Simulation type !------------------------------------------------------------------------ key = "simulation%name" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%SimulationName = TRIM( v_str ) ! Error check simulation name Sim = To_UpperCase( TRIM( Input_Opt%SimulationName ) ) IF ( TRIM(Sim) /= 'AEROSOL' .and. & TRIM(Sim) /= 'CARBON' .and. & TRIM(Sim) /= 'FULLCHEM' .and. & TRIM(Sim) /= 'HG' .and. & TRIM(Sim) /= 'METALS' .and. & TRIM(Sim) /= 'POPS' .and. & TRIM(Sim) /= 'TAGO3' .and. & TRIM(Sim) /= 'TRANSPORTTRACERS' ) THEN errMsg = Trim( Input_Opt%SimulationName) // ' is not a' // & ' valid simulation. Supported simulations are:' // & ' aerosol, carbon, fullchem, Hg, Metals, POPs,' // & ' TransportTracers, or TagO3.' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Set simulation type flags in Input_Opt Input_Opt%ITS_AN_AEROSOL_SIM = ( TRIM(Sim) == 'AEROSOL' ) Input_Opt%ITS_A_CARBON_SIM = ( TRIM(Sim) == 'CARBON' ) Input_Opt%ITS_A_FULLCHEM_SIM = ( TRIM(Sim) == 'FULLCHEM' ) Input_Opt%ITS_A_MERCURY_SIM = ( TRIM(Sim) == 'HG' ) Input_Opt%ITS_A_TRACEMETAL_SIM = ( TRIM(Sim) == 'METALS' ) Input_Opt%ITS_A_POPS_SIM = ( TRIM(Sim) == 'POPS' ) Input_Opt%ITS_A_TAGO3_SIM = ( TRIM(Sim) == 'TAGO3' ) Input_Opt%ITS_A_TRACER_SIM = ( TRIM(Sim) == 'TRANSPORTTRACERS' ) !------------------------------------------------------------------------ ! Species database file !------------------------------------------------------------------------ key = "simulation%species_database_file" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%SpcDataBaseFile = TRIM( v_str ) !------------------------------------------------------------------------ ! Species metadata output file !------------------------------------------------------------------------ key = "simulation%species_metadata_output_file" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%SpcMetaDataOutFile = TRIM( v_str ) !------------------------------------------------------------------------ ! Turn on debug output !------------------------------------------------------------------------ key = "simulation%verbose%activate" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%VerboseRequested = v_bool !------------------------------------------------------------------------ ! Which cores for verbose output: root or all? !------------------------------------------------------------------------ key = "simulation%verbose%on_cores" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%VerboseOnCores = To_UpperCase( v_str ) ! Should verbose output be printed only on root or on all cores? SELECT CASE ( TRIM( Input_Opt%VerboseOnCores ) ) CASE( 'ROOT' ) verboseMsg = 'root core only' Input_Opt%Verbose = & ( Input_Opt%VerboseRequested .and. Input_Opt%amIRoot ) CASE( 'ALL' ) verboseMsg = 'all cores' Input_Opt%Verbose = Input_Opt%VerboseRequested CASE DEFAULT errMsg = 'Invalid selection!' // NEW_LINE( 'a' ) // & 'simulation:verbose:on_cores must be either "root" or "all"' CALL GC_Error( errMsg, RC, thisLoc ) RETURN END SELECT #if defined( MODEL_GCHP ) || defined( MODEL_GEOS ) !======================================================================== ! %%%%%%% GCHP and NASA/GEOS (with ESMF & MPI) %%%%%%% ! ! Because GCHP and NASA/GEOS use ESMF, we need to take the start & end ! dates from the ESMF resource file (GEOSCHEMchem_GridComp_mod.rc) ! instead of those in geoschem_config.yml. Therefore, the following ! fields have already been defined in the GCHP_Chunk_Init routine ! (located in module Interfaces/GCHP/Chem_GridCompMod.F90): ! ! (1) Input_Opt%NYMDb ! (2) Input_Opt%NHMSb ! (3) Input_Opt%NYMDe ! (4) Input_Opt%NYMDe ! ! Pass these fields of Input_Opt to routine Accept_External_Date_Time, ! as well as the starting UTC value in hours. !======================================================================== ! Make sure the starting date NYMDb is valid IF ( .not. Valid_Date( Input_Opt%NYMDb ) ) THEN WRITE( DateStr, '(i8.8)' ) Input_Opt%NYMDb errMsg = 'Input%Opt%NYMDb = ' // DateStr // ' is not a valid ' // & 'calendar date!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Make sure the starting time NHMSb is valid IF ( .not. Valid_Time( Input_Opt%NHMSb ) ) THEN WRITE( TimeStr, '(i6.6)' ) Input_Opt%NHMSb errMsg = 'Input%Opt%NHMSb = ' // TimeStr // ' is not a valid ' // & 'clock time!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Make sure the ending date NYMDe is valid IF ( .not. Valid_Date( Input_Opt%NYMDe ) ) THEN WRITE( DateStr, '(i8.8)' ) Input_Opt%NYMDe errMsg = 'Input%Opt%NYMDe = ' // DateStr // ' is not a valid ' // & 'calendar date!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Make sure the ending time NHMSe is valid IF ( .not. Valid_Time( Input_Opt%NHMSe ) ) THEN WRITE( TimeStr, '(i6.6)' ) Input_Opt%NHMSe errMsg = 'Input%Opt%NHMSe = ' // TimeStr // ' is not a valid ' // & 'clock time!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Get the starting UTC time from Input_Opt%NHMSb for use below CALL YMD_Extract( Input_Opt%NHMSb, H, M, S ) init_UTC = ( H + ( M / 60 ) + ( S / 3600 ) ) ! Pass the values for the start & end times of the simulation directly ! to GeosUtil/time_mod.F90 via subroutine ACCEPT_EXTERNAL_DATE_TIME. ! (bmy, 12/6/12) CALL Accept_External_Date_Time( value_NYMDb = Input_Opt%NYMDb, & value_NHMSb = Input_Opt%NHMSb, & value_NYMDe = Input_Opt%NYMDe, & value_NHMSe = Input_Opt%NHMSe, & value_NYMD = Input_Opt%NYMDb, & value_NHMS = Input_Opt%NHMSb, & value_UTC = init_UTC, & RC = RC ) !------------------------------------------------------------------------ ! Chemistry inputs folder (GCHP/NASA-GEOS only) !------------------------------------------------------------------------ key = "simulation%chem_inputs_dir" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%CHEM_INPUTS_DIR = TRIM( v_str ) #if defined( MODEL_GCHP ) !------------------------------------------------------------------------ ! Meteorology field !------------------------------------------------------------------------ key = "simulation%met_field" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%MetField = TRIM( v_str ) #endif #if defined( MODEL_GEOS ) Input_Opt%MetField = 'See ExtData.rc' #endif !------------------------------------------------------------------------ ! Set other fields of Input_Opt accordingly !------------------------------------------------------------------------ Input_Opt%DATA_DIR = 'N/A' Input_Opt%RUN_DIR = 'N/A' #else !======================================================================== ! %%%%%%% GEOS-Chem CLASSIC (with OpenMP) %%%%%%% ! ! If we aren't using ESMF, read extra settings from geoschem_config.yml !======================================================================== !------------------------------------------------------------------------ ! Simulation start date !------------------------------------------------------------------------ key = "simulation%start_date" a_int = MISSING_INT CALL QFYAML_Add_Get( Config, TRIM( key ), a_int, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%NYMDb = a_int(1) Input_Opt%NHMSb = a_int(2) ! Make sure the starting date NYMDb is valid IF ( .not. Valid_Date( Input_Opt%NYMDb ) ) THEN WRITE( DateStr, '(i8.8)' ) Input_Opt%NYMDb errMsg = 'Input%Opt%NYMDb = ' // DateStr // & ' is not a valid calendar date!' // & ' Please check your "geoschem_config.yml" file.' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Make sure the starting time NHMSb is valid IF ( .not. Valid_Time( Input_Opt%NHMSb ) ) THEN WRITE( TimeStr, '(i6.6)' ) Input_Opt%NHMSb errMsg = 'Input%Opt%NHMSb = ' // TimeStr // & ' is not a valid clock time!' // & ' Please check your "geoschem_config.yml" file.' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Simulation end date !------------------------------------------------------------------------ key = "simulation%end_date" a_int = MISSING_INT CALL QFYAML_Add_Get( Config, TRIM( key ), a_int, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%NYMDe = a_int(1) Input_Opt%NHMSe = a_int(2) ! Make sure the starting date NYMDb is valid IF ( .not. Valid_Date( Input_Opt%NYMDe ) ) THEN WRITE( DateStr, '(i8.8)' ) Input_Opt%NYMDe errMsg = 'Input%Opt%NYMDe = ' // DateStr // & ' is not a valid calendar date!' // & ' Please check your "geoschem_config.yml" file.' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Make sure the ending time NHMSe is valid IF ( .not. Valid_Time( Input_Opt%NHMSe ) ) THEN WRITE( TimeStr, '(i6.6)' ) Input_Opt%NHMSe errMsg = 'Input%Opt%NHMSe = ' // TimeStr // & ' is not a valid clock time!' // & ' Please check your "geoschem_config.yml" file.' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Root data directory !------------------------------------------------------------------------ key = "simulation%root_data_dir" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%Data_Dir = TRIM( v_str ) ! Make sure DATA-DIR ends with a "/" character C = LEN_TRIM( Input_Opt%DATA_DIR ) IF ( Input_Opt%DATA_DIR(C:C) /= '/' ) THEN Input_Opt%DATA_DIR = TRIM( Input_Opt%DATA_DIR ) // '/' ENDIF ! Create CHEM_INPUTS directory Input_Opt%CHEM_INPUTS_DIR = TRIM( Input_Opt%DATA_DIR ) // & 'CHEM_INPUTS/' !------------------------------------------------------------------------ ! Meteorology field !------------------------------------------------------------------------ key = "simulation%met_field" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%MetField = TRIM( v_str ) #if !defined( MODEL_CESM ) ! Make sure a valid met field is specified Met = To_UpperCase( TRIM( Input_Opt%MetField ) ) SELECT CASE( TRIM( Met ) ) CASE( 'GEOS-FP', 'GEOSFP' ) Input_Opt%MetField = 'GEOSFP' CASE( 'MERRA-2', 'MERRA2' ) Input_Opt%MetField = 'MERRA2' CASE( 'GEOS-IT', 'GEOSIT' ) Input_Opt%MetField = 'GEOSIT' CASE( 'MODELE2.1' ) Input_Opt%MetField = 'MODELE2.1' CASE( 'MODELE2.2' ) Input_Opt%MetField = 'MODELE2.2' CASE DEFAULT errMsg = Trim( Input_Opt%MetField ) // ' is not a valid ' // & ' met field. Supported met fields are GEOS-FP, ' // & ' MERRA-2 and ModelE2.1. Please check your ' // & '"geoschem_config.ymls" file.' CALL GC_Error( errMsg, RC, thisLoc ) RETURN END SELECT #endif !------------------------------------------------------------------------ ! Turn on timers !------------------------------------------------------------------------ key = "simulation%use_gcclassic_timers" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%UseTimers = v_bool !------------------------------------------------------------------------ ! Read restart file as REAL8 not REAL4 (GC-Classic only) ! ! If true, then restart file is read as REAL4 through HEMCO. This option ! introduces small differences when breaking up a simulation in time. However, ! this is the only option if the restart file must be regridded or regionally ! subsetted at run-time. ! ! If false, then restart file is read as REAL8 through GEOS-Chem, enabling ! bit-for-bit reproducibility when breaking up a run in time. This should ! only be done for global simulations and if the restart file is the same ! grid resolution as the run, e.g. 4x5 restart file for global 4x5 run. ! ! If missing in config file then defaults to false and uses HEMCO for read. ! ! Note that this is a GC-Classic only setting. GCHP always reads the restart ! file as whatever precision it is within the file. !------------------------------------------------------------------------ key = "simulation%read_restart_as_real8" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%read_restart_as_real8 = v_bool !------------------------------------------------------------------------ ! Set start time of run in "time_mod.F90" !------------------------------------------------------------------------ CALL Set_Begin_Time( Input_Opt%NYMDb, Input_Opt%NHMSb, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "Set_Begin_Time"!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Set end time of run in "time_mod.F90" !------------------------------------------------------------------------ errMsg = 'Error encountered in "Set_Begin_Time"!' CALL Set_End_Time( Input_Opt%NYMDe, Input_Opt%NHMSe, RC ) IF ( RC /= GC_SUCCESS ) THEN CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Set the current time CALL Set_Current_Time() #endif !======================================================================== ! Compute the length of the simulation, in elapsed seconds !======================================================================== JulianDateStart = GET_JD( Input_Opt%NymdB, Input_Opt%NhmsB ) JulianDateEnd = GET_JD( Input_Opt%NymdE, Input_Opt%NhmsE ) Input_Opt%SimLengthSec = NINT( ( JulianDateEnd - JulianDateStart ) & * 86400_f8) ! Return success RC = GC_SUCCESS !======================================================================== ! Print to screen !======================================================================== IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 90 ) 'SIMULATION SETTINGS' WRITE( 6, 95 ) '-------------------' WRITE( 6, 110 ) 'Simulation name : ', & TRIM( Input_Opt%SimulationName ) WRITE( 6, 110 ) 'CHEM_INPUTS directory : ', & TRIM( Input_Opt%CHEM_INPUTS_DIR ) WRITE( 6, 110 ) 'Species database file : ', & TRIM( Input_Opt%SpcDatabaseFile ) WRITE( 6, 120 ) 'Turn on verbose output : ', & Input_Opt%Verbose WRITE( 6, 110 ) 'Verbose output printed on : ', & TRIM( verboseMsg ) #ifdef MODEL_CLASSIC WRITE( 6, 100 ) 'Start time of run : ', & Input_Opt%NYMDb, Input_Opt%NHMSb WRITE( 6, 100 ) 'End time of run : ', & Input_Opt%NYMDe, Input_Opt%NHMSe WRITE( 6, 110 ) 'Data Directory : ', & TRIM( Input_Opt%DATA_DIR ) WRITE( 6, 110 ) 'Meteorology field : ', & TRIM( Input_Opt%MetField ) WRITE( 6, 120 ) 'Turn on GEOS-Chem timers : ', & Input_Opt%useTimers WRITE( 6, 120 ) 'Read restart as real8 (skip HEMCO for restart read): ', & Input_Opt%read_restart_as_real8 #endif ENDIF ! Format statements 90 FORMAT( /, A ) 95 FORMAT( A ) 100 FORMAT( A, I8.8, 1X, I6.6 ) 110 FORMAT( A, A ) 120 FORMAT( A, L5 ) END SUBROUTINE Config_Simulation !EOC #if !(defined( EXTERNAL_GRID ) || defined( EXTERNAL_FORCING )) !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: config_grid ! ! !DESCRIPTION: Copies grid information from the Config object ! to Input_Opt, and does necessary checks. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Config_Grid( Config, Input_Opt, State_Grid, RC ) ! ! !USES: ! USE CharPak_Mod, ONLY : StrSplit USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE RoundOff_Mod, ONLY : Cast_and_RoundOff USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(QFYAML_t), INTENT(INOUT) :: Config ! YAML Config object TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input options TYPE(GrdState), INTENT(INOUT) :: State_Grid ! Grid State ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REVISION HISTORY: ! 20 Oct 2018 - M. Sulprizio- Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: v_bool INTEGER :: v_int INTEGER :: nSubStrs INTEGER :: N INTEGER :: C ! Arrays INTEGER :: a_int(4) ! Strings CHARACTER(LEN=10) :: xMin_Str, xMax_Str CHARACTER(LEN=10) :: yMin_Str, yMax_Str CHARACTER(LEN=255) :: thisLoc, nLev CHARACTER(LEN=512) :: errMsg CHARACTER(LEN=QFYAML_StrLen) :: key CHARACTER(LEN=QFYAML_StrLen) :: v_str ! String arrays CHARACTER(LEN=255) :: subStrs(MAXDIM) CHARACTER(LEN=QFYAML_StrLen) :: a_str(2) !======================================================================== ! Config_Grid begins here! !======================================================================== ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = ' -> at Config_Grid (in GeosCore/input_mod.F90)' !------------------------------------------------------------------------ ! Grid resolution !------------------------------------------------------------------------ key = "grid%resolution" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF State_Grid%GridRes = TRIM( v_str ) ! Split into two values, separated by 'x' CALL StrSplit( TRIM( State_Grid%GridRes ) , 'x', SubStrs, nSubStrs ) ! Stop with error if there are more than two substrings IF ( nSubStrs /= 2 ) THEN errMsg = 'Error in extracting delta X and Y values from' // & ' State_Grid%GridRes. Values must be separated by' // & ' an x. Please check your "geoschem_config.yml" file.' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Save the delta X and Y values State_Grid%DY = Cast_and_RoundOff( subStrs(1), places=6 ) State_Grid%DX = Cast_and_RoundOff( subStrs(2), places=6 ) !------------------------------------------------------------------------ ! Level range !------------------------------------------------------------------------ key = "grid%number_of_levels" v_int = MISSING_INT CALL QFYAML_Add_Get( Config, TRIM( key ), v_int, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF State_Grid%NZ = v_int !------------------------------------------------------------------------ ! Longitude range !------------------------------------------------------------------------ key = "grid%longitude%range" a_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), a_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF State_Grid%XMin = Cast_and_RoundOff( a_str(1), places=6 ) State_Grid%XMax = Cast_and_RoundOff( a_str(2), places=6 ) ! Make sure values are in valid rangre IF ( State_Grid%XMin >= State_Grid%XMax ) THEN WRITE( XMin_Str, '(i10)' ) State_Grid%XMin WRITE( XMax_Str, '(i10)' ) State_Grid%XMax errMsg = 'Lower lon must be smaller than upper lon: ' // & TRIM( XMin_Str ) // ' ' // TRIM( XMax_Str ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Center longitude on International Date Line?Longitude range !------------------------------------------------------------------------ key = "grid%longitude%center_at_180" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF State_Grid%Center180 = v_bool !------------------------------------------------------------------------ ! Latitude range !------------------------------------------------------------------------ key = "grid%latitude%range" a_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), a_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF State_Grid%YMin = Cast_and_RoundOff( a_str(1), places=6 ) State_Grid%YMax = Cast_and_RoundOff( a_str(2), places=6 ) ! Make sure values are in valid range IF ( State_Grid%YMin >= State_Grid%YMax ) THEN WRITE( YMin_Str, '(i10)' ) State_Grid%YMin WRITE( YMax_Str, '(i10)' ) State_Grid%YMax errMsg = 'Lower lat must be smaller than upper lat: ' // & TRIM( YMin_Str ) // ' ' // TRIM( YMax_Str ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Restrict latitude values to -90.0 and 90.0 IF ( State_Grid%YMin < -90.0_fp ) THEN WRITE( YMin_Str, '(i10)' ) State_Grid%YMin errMsg = 'Lower latitude must be between -90 and 90 degN: ' // & TRIM( YMin_Str ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF IF ( State_Grid%YMax > 90.0_fp ) THEN WRITE( YMax_Str, '(i10)' ) State_Grid%YMax errMsg = 'Upper latitude must be between -90 and 90 degN: ' // & TRIM( YMax_Str ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Use half-sized polar boxes in latitude? !------------------------------------------------------------------------ key = "grid%latitude%half_size_polar_boxes" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF State_Grid%HalfPolar = v_bool !------------------------------------------------------------------------ ! Nested grid settings !------------------------------------------------------------------------ key = "grid%nested_grid_simulation%activate" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF State_Grid%NestedGrid = v_bool IF ( State_Grid%NestedGrid ) THEN ! Increase NX by 1 State_Grid%NX = State_Grid%NX + 1 ! For now hardcode HalfPolar to false when using a nested grid State_Grid%HalfPolar = .FALSE. ENDIF !------------------------------------------------------------------------ ! Nested grid transport offsets !------------------------------------------------------------------------ key = "grid%nested_grid_simulation%buffer_zone_NSEW" a_int = MISSING_INT CALL QFYAML_Add_Get( Config, TRIM( key ), a_int, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF State_Grid%NorthBuffer = a_int(1) State_Grid%SouthBuffer = a_int(2) State_Grid%EastBuffer = a_int(3) State_Grid%WestBuffer = a_int(4) ! Set buffers to zero for global grids IF ( .not. State_Grid%NestedGrid ) THEN State_Grid%NorthBuffer = 0 State_Grid%SouthBuffer = 0 State_Grid%EastBuffer = 0 State_Grid%WestBuffer = 0 ENDIF ! Compute grid horizontal dimensions State_Grid%NX = & FLOOR( ( State_Grid%XMax - State_Grid%XMin ) / State_Grid%DX ) IF ( State_Grid%HalfPolar .and. .not. State_Grid%NestedGrid ) THEN State_Grid%NY = & FLOOR( ( State_Grid%YMax - State_Grid%YMin ) / State_Grid%DY ) + 1 ELSE State_Grid%NY = & FLOOR( ( State_Grid%YMax - State_Grid%YMin ) / State_Grid%DY ) ENDIF ! Return success RC = GC_SUCCESS !======================================================================== ! Print to screen !======================================================================== IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 90 ) 'GRID SETTINGS' WRITE( 6, 95 ) '------------' WRITE( 6, 100 ) 'Grid resolution : ', & TRIM( State_Grid%GridRes ) WRITE( 6, 110 ) 'Min/max longitude : ', & State_Grid%XMin, State_Grid%XMax WRITE( 6, 110 ) 'Min/max latitude : ', & State_Grid%YMin, State_Grid%YMax WRITE( 6, 120 ) 'X grid dimension : ', & State_Grid%NX WRITE( 6, 120 ) 'Y grid dimension : ', & State_Grid%NY WRITE( 6, 120 ) 'Z grid dimension : ', & State_Grid%NZ WRITE( 6, 130 ) 'Use half-sized polar boxes? : ', & State_Grid%HalfPolar WRITE( 6, 130 ) 'Center on Intl Date Line? : ', & State_Grid%Center180 WRITE( 6, 130 ) 'Is this a nested-grid sim? : ', & State_Grid%NestedGrid WRITE( 6, 140 ) ' --> Buffer zone (N S E W ) : ', & State_Grid%NorthBuffer, & State_Grid%SouthBuffer, & State_Grid%EastBuffer, & State_Grid%WestBuffer ENDIF ! Format statements 90 FORMAT( /, A ) 95 FORMAT( A ) 100 FORMAT( A, A ) 110 FORMAT( A, F10.4, 1X, F10.4 ) 120 FORMAT( A, I5 ) 130 FORMAT( A, L5 ) 140 FORMAT( A, 4I5 ) END SUBROUTINE Config_Grid !EOC #endif !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: config_timesteps ! ! !DESCRIPTION: Copies timestep information from the Config object ! to Input_Opt, and does necessary checks. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Config_Timesteps( Config, Input_Opt, State_Grid, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(QFYAML_t), INTENT(INOUT) :: Config ! YAML Config object TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input options ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: v_int ! Strings CHARACTER(LEN=255) :: thisLoc CHARACTER(LEN=512) :: errMsg CHARACTER(LEN=QFYAML_StrLen) :: key !======================================================================== ! Config_Timesteps begins here! !======================================================================== ! Initialize RC = GC_SUCCESS errMsg = 'Error reading the "geoschem_config.yml" file!' thisLoc = ' -> at Config_Timestep (in module GeosCore/input_mod.F90)' #if !(defined( EXTERNAL_GRID ) || defined( EXTERNAL_FORCING )) !------------------------------------------------------------------------ ! Transport/convection timestep !------------------------------------------------------------------------ key = "timesteps%transport_timestep_in_s" v_int = MISSING_INT CALL QFYAML_Add_Get( Config, TRIM( key ), v_int, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%TS_DYN = v_int Input_Opt%TS_CONV = v_int !------------------------------------------------------------------------ ! Chemistry/emissions timestep !------------------------------------------------------------------------ key = "timesteps%chemistry_timestep_in_s" v_int = MISSING_INT CALL QFYAML_Add_Get( Config, TRIM( key ), v_int, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%TS_CHEM = v_int Input_Opt%TS_EMIS = v_int !------------------------------------------------------------------------ ! RRTMG radiation timestep !------------------------------------------------------------------------ key = "timesteps%radiation_timestep_in_s" v_int = 0 CALL QFYAML_Add_Get( Config, TRIM( key ), v_int, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%TS_RAD = v_int #endif !======================================================================== ! Error checks !======================================================================== #ifdef MODEL_CLASSIC IF ( Input_Opt%SimLengthSec < Input_Opt%TS_DYN .or. & Input_Opt%SimLengthSec < Input_Opt%TS_CHEM ) THEN IF ( Input_Opt%amIRoot ) THEN WRITE( 6,'(a)' ) '' WRITE( 6,'(a)' ) 'The length of the simulation is shorter ' WRITE( 6,'(a)' ) 'than the transport and/or chemistry ' WRITE( 6,'(a)' ) 'timesteps. Check the settings in ' WRITE( 6,'(a)' ) 'the "geoschem_config.yml" file.' WRITE( 6,'(a)' ) '' WRITE( 6,100 ) 'Transport/Convection [sec] : ', Input_Opt%TS_DYN WRITE( 6,100 ) 'Chemistry/Emissions [sec] : ', Input_Opt%TS_CHEM WRITE( 6,100 ) 'Simulation duration [sec] : ', & Input_Opt%SimLengthSec CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF IF ( TRIM( Input_Opt%MetField ) == 'MERRA2' .and. & TRIM( State_Grid%GridRes ) == '0.5x0.625' ) THEN IF ( Input_Opt%ITS_A_CARBON_SIM ) THEN IF ( Input_Opt%TS_DYN > 300 .or. Input_Opt%TS_CHEM > 600 ) THEN IF ( Input_Opt%amIRoot ) THEN WRITE( 6,'(a)' ) '' WRITE( 6,'(a)' ) 'It has been noted that MERRA-2 nested grid' WRITE( 6,'(a)' ) ' simulations can have very high species' WRITE( 6,'(a)' ) ' concentrations in the stratosphere caused' WRITE( 6,'(a)' ) ' by a violation of the CFL condition due to' WRITE( 6,'(a)' ) ' strong stratospheric winds. This is' WRITE( 6,'(a)' ) ' especially problematic when using total' WRITE( 6,'(a)' ) ' column concentrations. To avoid the issue,' WRITE( 6,'(a)' ) ' a timestep of 5/10 instead of 10/20 is' WRITE( 6,'(a)' ) ' recommended for carbon simulations with.' WRITE( 6,'(a)' ) ' CH4 and/or CO2 included.' WRITE( 6,'(a)' ) '' WRITE( 6,'(a)' ) 'You may remove this trap at your own peril,' WRITE( 6,'(a)' ) ' by commenting out the call to GC_ERROR in' WRITE( 6,'(a)' ) ' GeosCore/input_mod.F90. ' WRITE( 6,'(a)' ) '' WRITE( 6,'(a)' ) 'See the MERRA-2 implementation details page' WRITE( 6,'(a)' ) ' on the GEOS-Chem wiki for details' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF ENDIF ENDIF #endif ! Return success RC = GC_SUCCESS !======================================================================== ! Print to screen !======================================================================== IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 90 ) 'TIMESTEP SETTINGS' WRITE( 6, 95 ) '-----------------' WRITE( 6, 100 ) 'Transport/Convection [sec] : ', Input_Opt%TS_DYN WRITE( 6, 100 ) 'Chemistry/Emissions [sec] : ', Input_Opt%TS_CHEM WRITE( 6, 100 ) 'RRTMG rad transfer [sec] : ', Input_Opt%TS_RAD ENDIF ! Format statements 90 FORMAT( /, A ) 95 FORMAT( A ) 100 FORMAT( A, I5 ) END SUBROUTINE Config_Timesteps !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: config_transport ! ! !DESCRIPTION: Copies transport information from the Config object ! to Input_Opt, and does necessary checks. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Config_Transport( Config, Input_Opt, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(QFYAML_t), INTENT(INOUT) :: Config ! YAML Config object TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input Options object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REVISION HISTORY: ! 20 Jul 2004 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: v_bool INTEGER :: N INTEGER :: C ! Arrays INTEGER :: a_int(3) ! Strings CHARACTER(LEN=255) :: thisLoc CHARACTER(LEN=512) :: errMsg CHARACTER(LEN=QFYAML_NamLen) :: key ! String arrays CHARACTER(LEN=QFYAML_NamLen) :: a_str(QFYAML_MaxArr) !======================================================================== ! Config_Transport begins here! !======================================================================== ! Initialize RC = GC_SUCCESS errMsg = 'Error reading the "geoschem_config.yml" file!' thisLoc = ' -> at Config_Transport (in GeosCore/input_mod.F90)' #ifdef MODEL_CLASSIC !======================================================================== ! %%%%%%% GEOS-Chem CLASSIC (with OpenMP) %%%%%%% !======================================================================== !------------------------------------------------------------------------ ! Turn on TPCORE transport? !------------------------------------------------------------------------ key = "operations%transport%gcclassic_tpcore%activate" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%LTRAN = v_bool !------------------------------------------------------------------------ ! Fill negative values generated by TPCORE? !------------------------------------------------------------------------ key = "operations%transport%gcclassic_tpcore%fill_negative_values" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%LFILL = v_bool !------------------------------------------------------------------------ ! IORD, JORD, KORD settings for TPCORE !------------------------------------------------------------------------ key = "operations%transport%gcclassic_tpcore%iord_jord_kord" a_int = MISSING_INT CALL QFYAML_Add_Get( Config, TRIM( key ), a_int, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%TPCORE_IORD = a_int(1) Input_Opt%TPCORE_JORD = a_int(2) Input_Opt%TPCORE_KORD = a_int(3) #else !======================================================================== ! %%%%%%% OTHER INSTANCES OF GEOS-Chem %%%%%%% !======================================================================== !------------------------------------------------------------------------ ! Turn on transport? !------------------------------------------------------------------------ key = "operations%transport%activate" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%LTRAN = v_bool #endif !------------------------------------------------------------------------ ! Transported (advected) species list !------------------------------------------------------------------------ key = "operations%transport%transported_species" a_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), a_str, & "", RC, dynamic_size=.TRUE. ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Find the number of valid species (not equal to MISSING_STR) Input_Opt%N_Advect = Get_Number_of_Species( a_str ) ! Remove single quotes from species (i.e. 'NO' -> NO) DO N = 1, Input_Opt%N_Advect C = INDEX( a_str(N), "'" ) IF ( C > 0 ) THEN a_str(N) = a_str(N)(C+1:) C = INDEX( a_str(N), "'" ) IF ( C > 0 ) a_str(N) = a_str(N)(1:C-1) ENDIF ENDDO ! Throw an error if there are more species than the array length IF ( Input_Opt%N_Advect > Input_Opt%Max_AdvectSpc ) THEN errMsg = 'Number of advected species exceeds maximum. ' // & 'This value can be modified in input_opt_mod.F90.' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Copy the advected species names into Input_Opt%Advect_Spc_Name Input_Opt%AdvectSpc_Name(1:Input_Opt%N_Advect) = & a_str(1:Input_Opt%N_Advect) !======================================================================== ! Print to screen !======================================================================== IF ( Input_Opt%amIRoot ) THEN WRITE( 6,90 ) 'TRANSPORT SETTINGS' WRITE( 6,95 ) '------------------' WRITE( 6,100 ) 'Turn on transport? : ',Input_Opt%LTRAN #ifdef MODEL_CLASSIC WRITE( 6,100 ) 'Let TPCORE Fill negatives? : ',Input_Opt%LFILL WRITE( 6,110 ) 'IORD, JORD, KORD for TPCORE?: ',Input_Opt%TPCORE_IORD,& Input_Opt%TPCORE_JORD,& Input_Opt%TPCORE_KORD #endif ENDIF ! FORMAT statements 90 FORMAT( /, A ) 95 FORMAT( A ) 100 FORMAT( A, L5 ) 110 FORMAT( A, 5I5 ) !================================================================= ! Call setup routines from other F90 modules !================================================================= ! Split into tagged species IF ( Input_Opt%ITS_A_TAGO3_SIM ) THEN Input_Opt%LSPLIT = ( Input_Opt%N_ADVECT > 1 ) ! Tags if > 1 species ELSE Input_Opt%LSPLIT = .FALSE. ENDIF END SUBROUTINE Config_Transport !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: config_aerosol ! ! !DESCRIPTION: Copies aerosol information from the Config object ! to Input_Opt, and does necessary checks. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Config_Aerosol( Config, Input_Opt, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE RoundOff_Mod, ONLY : Cast_and_RoundOff ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(QFYAML_t), INTENT(INOUT) :: Config ! YAML Config object TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input Options object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REMARKS: ! Move error checks that depend on species indices to the subroutine ! DO_ERROR_CHECKS. This is now called from GC_INIT_EXTRA, after the ! initialization of the species database. !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N, T INTEGER :: v_int LOGICAL :: v_bool REAL(yp) :: v_real ! Strings CHARACTER(LEN=255) :: thisLoc CHARACTER(LEN=255) :: errMsg CHARACTER(LEN=QFYAML_NamLen) :: key CHARACTER(LEN=QFYAML_StrLen) :: v_str CHARACTER(LEN=QFYAML_StrLen) :: a_str(2) !======================================================================== ! Config_Aerosol begins here! !======================================================================== ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = ' -> at Config_Aerosol (in module GeosCore/input_mod.F90)' !------------------------------------------------------------------------ ! Directories with aerosol optical property input files !------------------------------------------------------------------------ key = "aerosols%optics%input_dir" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%AER_OPTICS_DIR = TRIM( v_str ) !------------------------------------------------------------------------ ! Use online carbon aerosols? !------------------------------------------------------------------------ key = "aerosols%carbon%activate" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%LCARB = v_bool !------------------------------------------------------------------------ ! Use brown carbon aerosols? !------------------------------------------------------------------------ key = "aerosols%carbon%use_brown_carbon" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%LBRC = v_bool !------------------------------------------------------------------------ ! Include BC absorption enhancement due to coating? !------------------------------------------------------------------------ key = "aerosols%carbon%enhance_black_carbon_absorption%activate" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%LBCAE = v_bool !------------------------------------------------------------------------ ! Define BC absorption enhancement !------------------------------------------------------------------------ key = "aerosols%carbon%enhance_black_carbon_absorption%hydrophilic" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%BCAE_1 = Cast_and_RoundOff( v_str, places=2 ) !------------------------------------------------------------------------ ! Define BC absorption enhancement (xnw, 8/24/15) !------------------------------------------------------------------------ key = "aerosols%carbon%enhance_black_carbon_absorption%hydrophobic" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%BCAE_2 = Cast_and_RoundOff( v_str, places=2 ) !------------------------------------------------------------------------ ! Use secondary organic aerosols? !------------------------------------------------------------------------ key = "aerosols%complex_SOA%activate" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%LSOA = v_bool !------------------------------------------------------------------------ ! Use semi-volatile POA? !------------------------------------------------------------------------ key = "aerosols%complex_SOA%semivolatile_POA" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%LSVPOA = v_bool !------------------------------------------------------------------------ ! Use online dust aerosols ? !------------------------------------------------------------------------ key = "aerosols%dust%activate" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%LDUST = v_bool !------------------------------------------------------------------------ ! Use SO2 and HNO3 uptake on dust aerosols !------------------------------------------------------------------------ key = "aerosols%dust%acid_uptake_on_dust" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%LDSTUP = v_bool !------------------------------------------------------------------------ ! Use online sea-salt aerosols? !------------------------------------------------------------------------ key = "aerosols%sea_salt%activate" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%LSSALT = v_bool !------------------------------------------------------------------------ ! Accum mode seasalt radii bin edges [um] !------------------------------------------------------------------------ key = "aerosols%sea_salt%SALA_radius_bin_in_um" a_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), a_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%SALA_Redge_um(1) = Cast_and_RoundOff( a_str(1), places=2 ) Input_Opt%SALA_Redge_um(2) = Cast_and_RoundOff( a_str(2), places=2 ) !------------------------------------------------------------------------ ! Coarse mode seasalt radii bin edges [um] !------------------------------------------------------------------------ key = "aerosols%sea_salt%SALC_radius_bin_in_um" a_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), a_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%SALC_Redge_um(1) = Cast_and_RoundOff( a_str(1), places=2 ) Input_Opt%SALC_Redge_um(2) = Cast_and_RoundOff( a_str(2), places=2 ) !------------------------------------------------------------------------ ! Use marine organic aerosols? !------------------------------------------------------------------------ key = "aerosols%sea_salt%marine_organic_aerosols" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%LMPOA = v_bool !------------------------------------------------------------------------ ! Apply gravitational settling in stratosphere? !------------------------------------------------------------------------ key = "aerosols%stratosphere%settle_strat_aerosol" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%LGRAVSTRAT = v_bool !------------------------------------------------------------------------ ! Use solid polar stratospheric clouds (PSCs)? !------------------------------------------------------------------------ key = "aerosols%stratosphere%polar_strat_clouds%activate" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%LSOLIDPSC = v_bool !------------------------------------------------------------------------ ! Perform heterogeneous chemistry on PSCs? !------------------------------------------------------------------------ key = "aerosols%stratosphere%polar_strat_clouds%het_chem" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%LPSCCHEM = v_bool !------------------------------------------------------------------------ ! Allow homogeneous NAT? !------------------------------------------------------------------------ key = "aerosols%stratosphere%allow_homogeneous_NAT" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%LHOMNUCNAT = v_bool !------------------------------------------------------------------------ ! NAT supercooling requirement (K) !------------------------------------------------------------------------ key = "aerosols%stratosphere%NAT_supercooling_req_in_K" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%T_NAT_SUPERCOOL = Cast_and_RoundOff( v_str, places=2 ) !------------------------------------------------------------------------ ! Ice supersaturation ratio requirement !------------------------------------------------------------------------ key = "aerosols%stratosphere%supersat_factor_req_for_ice_nucl" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%P_ICE_SUPERSAT = Cast_and_RoundOff( v_str, places=2 ) !------------------------------------------------------------------------ ! Include stratospheric aerosols optical depths? !------------------------------------------------------------------------ key = "aerosols%stratosphere%calc_strat_aod" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%LSTRATOD = v_bool !------------------------------------------------------------------------ ! Use online sulfate aerosols? !------------------------------------------------------------------------ key = "aerosols%sulfate%activate" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%LSULF = v_bool !------------------------------------------------------------------------ ! Use metal catalyzed oxidation of SO2? !------------------------------------------------------------------------ key = "aerosols%sulfate%metal_cat_SO2_oxidation" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%LMETALCATSO2 = v_bool !================================================================= ! Error checks !================================================================= ! Make sure that SALA, SALC bins are contiguous IF ( Input_Opt%SALA_REDGE_um(2) /= & Input_Opt%SALC_REDGE_um(1) ) THEN errMsg = 'SALA and SALC bin edges are not contiguous!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Turn off switches for simulations that don't use aerosols IF ( ( .not. Input_Opt%ITS_A_FULLCHEM_SIM ) .and. & ( .not. Input_Opt%ITS_AN_AEROSOL_SIM ) ) THEN Input_Opt%LSULF = .FALSE. Input_Opt%LMETALCATSO2 = .FALSE. Input_Opt%LCARB = .FALSE. Input_Opt%LBRC = .FALSE. Input_Opt%LSOA = .FALSE. Input_Opt%LDUST = .FALSE. Input_Opt%LSSALT = .FALSE. Input_Opt%LMPOA = .FALSE. Input_Opt%LSVPOA = .FALSE. Input_Opt%LBCAE = .FALSE. ENDIF ! Return success RC = GC_SUCCESS !======================================================================== ! Print to screen !======================================================================== IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 90 ) 'AEROSOL SETTINGS' WRITE( 6, 95 ) '----------------' WRITE( 6, 125 ) 'Aerosol optical property dir: ', Input_Opt%AER_OPTICS_DIR WRITE( 6, 100 ) 'Online SULFATE AEROSOLS? : ', Input_Opt%LSULF WRITE( 6, 100 ) 'Metal catalyzed SO2 ox.? : ', Input_Opt%LMETALCATSO2 WRITE( 6, 100 ) 'Online CARBON AEROSOLS? : ', Input_Opt%LCARB WRITE( 6, 100 ) 'Brown Carbon Aerosol? : ', Input_Opt%LBRC WRITE( 6, 100 ) 'BC Absorption Enhancement? : ', Input_Opt%LBCAE WRITE( 6, 105 ) 'Hydrophilic BC AE factor : ', Input_Opt%BCAE_1 WRITE( 6, 105 ) 'Hydrophobic BC AE factor : ', Input_Opt%BCAE_2 WRITE( 6, 100 ) 'Online COMPLEX SOA? : ', Input_Opt%LSOA WRITE( 6, 100 ) 'Semivolatile POA? : ', Input_Opt%LSVPOA WRITE( 6, 100 ) 'Online DUST AEROSOLS? : ', Input_Opt%LDUST WRITE( 6, 100 ) 'Acid uptake on dust? : ', Input_Opt%LDSTUP WRITE( 6, 100 ) 'Online SEA SALT AEROSOLS? : ', Input_Opt%LSSALT WRITE( 6, 110 ) 'Accum SEA SALT radii [um] : ', & Input_Opt%SALA_REDGE_um(1), & Input_Opt%SALA_REDGE_um(2) WRITE( 6, 110 ) 'Coarse SEA SALT radii [um] : ', & Input_Opt%SALC_REDGE_um(1), & Input_Opt%SALC_REDGE_um(2) WRITE( 6, 100 ) 'MARINE ORGANIC AEROSOLS? : ', Input_Opt%LMPOA WRITE( 6, 100 ) 'Settle strat. aerosols? : ', Input_Opt%LGRAVSTRAT WRITE( 6, 100 ) 'Online SOLID PSC aerosols? : ', Input_Opt%LSOLIDPSC WRITE( 6, 100 ) 'Allow hom. NAT nucleation? : ', Input_Opt%LHOMNUCNAT WRITE( 6, 120 ) 'NAT supercooling requirement: ', & Input_Opt%T_NAT_SUPERCOOL WRITE( 6, 120 ) 'Ice supersaturation req. : ', & ((Input_Opt%P_ICE_SUPERSAT-1)*1.e+2_fp) WRITE( 6, 100 ) 'Perform PSC het. chemistry? : ', Input_Opt%LPSCCHEM WRITE( 6, 100 ) 'Use strat. aerosol OD? : ', Input_Opt%LSTRATOD ENDIF 90 FORMAT( /, A ) 95 FORMAT( A ) 100 FORMAT( A, L5 ) 105 FORMAT( A, f8.2 ) 110 FORMAT( A, f8.2, ' - ', f8.2 ) 120 FORMAT( A, f8.2, 'K' ) 125 FORMAT( A, A ) END SUBROUTINE Config_Aerosol !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: config_co ! ! !DESCRIPTION: Copies CO information from the Config object to Input_Opt ! and does necessary checks. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Config_CO( Config, Input_Opt, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(QFYAML_t), INTENT(INOUT) :: Config ! YAML Config object TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input Options object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure !EOP !------------------------------------------------------------------------------ !BOC ! ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: v_bool ! Strings CHARACTER(LEN=255) :: thisLoc CHARACTER(LEN=512) :: errMsg CHARACTER(LEN=QFYAML_NamLen) :: key !======================================================================== ! Config_CO begins here! !======================================================================== ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = ' -> at Config_CO (in module GeosCore/input_mod.F90)' !------------------------------------------------------------------------ ! Use P(CO) from CH4 (archived from a fullchem simulation)? !------------------------------------------------------------------------ key = "CO_options%use_archived_PCO_from_CH4" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, key, v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%LPCO_CH4 = v_bool !------------------------------------------------------------------------ ! Use P(CO) from NMVOC (archived from a fullchem simulation)? !------------------------------------------------------------------------ key = "CO_options%use_archived_PCO_from_NMVOC" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, key, v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%LPCO_NMVOC = v_bool !======================================================================== ! Print to screen !======================================================================== IF ( Input_Opt%amIRoot ) THEN WRITE(6,90 ) 'CO SETTINGS' WRITE(6,95 ) '(overwrites any other settings related to CO)' WRITE(6,95 ) '---------------------------------------------' WRITE(6,100) 'Use archived P(CO) from CH4? :', Input_Opt%LPCO_CH4 WRITE(6,100) 'Use archived P(CO) from NMVOC? :', Input_Opt%LPCO_NMVOC ENDIF ! FORMAT statements 90 FORMAT( /, A ) 95 FORMAT( A ) 100 FORMAT( A, L5 ) END SUBROUTINE Config_CO !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: config_co2 ! ! !DESCRIPTION: Copies CO2 information from the Config object to Input_Opt ! and does necessary checks. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Config_CO2( Config, Input_Opt, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(QFYAML_t), INTENT(INOUT) :: Config ! YAML Config object TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input Options object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: v_bool ! Strings CHARACTER(LEN=255) :: thisLoc CHARACTER(LEN=512) :: errMsg CHARACTER(LEN=QFYAML_NamLen) :: key !======================================================================== ! Config_CO2 begins here! !======================================================================== ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = ' -> at Config_CO2 (in module GeosCore/input_mod.F90)' !------------------------------------------------------------------------ ! Use archived fields of CO2 production from CO oxidation? !------------------------------------------------------------------------ key = "CO2_options%sources%use_archived_PCO2_from_CO" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, key, v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%LCHEMCO2 = v_bool !================================================================= ! Print to screen !================================================================= IF ( Input_Opt%amIRoot ) THEN WRITE( 6,90 ) 'CO2 SETTINGS' WRITE( 6,95 ) '(overwrites any other settings related to CO2)' WRITE( 6,95 ) '----------------------------------------------' WRITE( 6,100 ) 'Use archived P(CO2) from CO? :', Input_Opt%LCHEMCO2 ENDIF ! FORMAT statements 90 FORMAT( /, A ) 95 FORMAT( A ) 100 FORMAT( A, L5 ) END SUBROUTINE Config_CO2 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: config_chemistry ! ! !DESCRIPTION: Copies chemistry information from the Config object ! to Input_Opt, and does necessary checks. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Config_Chemistry( Config, Input_Opt, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE RoundOff_Mod, ONLY : Cast_and_RoundOff ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(QFYAML_t), INTENT(INOUT) :: Config ! YAML Config object TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input Options object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N LOGICAL :: v_bool ! Strings CHARACTER(LEN=255) :: thisLoc CHARACTER(LEN=512) :: errMsg CHARACTER(LEN=QFYAML_NamLen) :: key CHARACTER(LEN=QFYAML_StrLen) :: v_str !======================================================================== ! Config_Chemistry begins here! !======================================================================== ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = ' -> at Config_Chemistry (in module GeosCore/input_mod.F90)' !------------------------------------------------------------------------ ! Turn on chemistry? !------------------------------------------------------------------------ key = "operations%chemistry%activate" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%LCHEM = v_bool !------------------------------------------------------------------------ ! Turn on linearized chemistry above chemistry grid? !------------------------------------------------------------------------ key = "operations%chemistry%linear_chemistry_aloft%activate" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%LINEAR_CHEM = v_bool !------------------------------------------------------------------------ ! Use Linoz for ozone above chemistry grid? (Otherwise, Synoz is used) !------------------------------------------------------------------------ key = "operations%chemistry%linear_chemistry_aloft%use_linoz_for_O3" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%LLINOZ = v_bool IF ( .not. Input_Opt%LLINOZ ) Input_Opt%LSYNOZ = .TRUE. !------------------------------------------------------------------------ ! Turn on online stratospheric H2O? !------------------------------------------------------------------------ key = "operations%chemistry%active_strat_H2O%activate" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%LACTIVEH2O = v_bool !------------------------------------------------------------------------ ! Use a more conservative boundary condition for strat. H2O? !------------------------------------------------------------------------ key = "operations%chemistry%active_strat_H2O%use_static_bnd_cond" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%LStaticH2OBC = v_bool !------------------------------------------------------------------------ ! GAMMA HO2 ? !------------------------------------------------------------------------ key = "operations%chemistry%gamma_HO2" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%GAMMA_HO2 = Cast_and_RoundOff( v_str, places=2 ) !------------------------------------------------------------------------ ! Auto-reduce solver options (hplin, 10/3/22) ! autoreduce_solver: ! activate: false ! use_target_threshold: ! activate: true ! oh_tuning_factor: 0.00005 ! no2_tuning_factor: 0.0001 ! use_absolute_threshold: ! scale_by_pressure: true ! absolute_threshold: 100.0 ! keep_halogens_active: false ! append_in_internal_timestep: false !------------------------------------------------------------------------ key = "operations%chemistry%autoreduce_solver%activate" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%USE_AUTOREDUCE = v_bool ! Use target species (OH, NO2) based threshold? key = "operations%chemistry%autoreduce_solver%use_target_threshold%activate" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%AUTOREDUCE_IS_KEY_THRESHOLD = v_bool ! ... OH and NO2 tuning factors? key = "operations%chemistry%autoreduce_solver%use_target_threshold%oh_tuning_factor" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%AUTOREDUCE_TUNING_OH = Cast_and_RoundOff( v_str, places=0 ) key = "operations%chemistry%autoreduce_solver%use_target_threshold%no2_tuning_factor" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%AUTOREDUCE_TUNING_NO2 = Cast_and_RoundOff( v_str, places=0 ) ! If not target species, absolute rate threshold key = "operations%chemistry%autoreduce_solver%use_absolute_threshold%absolute_threshold" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%AUTOREDUCE_THRESHOLD = Cast_and_RoundOff( v_str, places=0 ) ! Would this absolute threshold be scaled by pressure? key = "operations%chemistry%autoreduce_solver%use_absolute_threshold%scale_by_pressure" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%AUTOREDUCE_IS_PRS_THRESHOLD = v_bool ! Keep halogens active? key = "operations%chemistry%autoreduce_solver%keep_halogens_active" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%AUTOREDUCE_IS_KEEPACTIVE = v_bool ! Append species over the course of the external time step ! (aka. in internal timesteps?) key = "operations%chemistry%autoreduce_solver%append_in_internal_timestep" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%AUTOREDUCE_IS_APPEND = v_bool ! Return success RC = GC_SUCCESS !======================================================================== ! Print to screen !======================================================================== IF ( Input_Opt%amIRoot ) THEN WRITE( 6,90 ) 'CHEMISTRY SETTINGS' WRITE( 6,95 ) '------------------' WRITE( 6,100 ) 'Turn on chemistry? : ', Input_Opt%LCHEM WRITE( 6,100 ) 'Use linear. mesospheric chem: ', Input_Opt%LINEAR_CHEM WRITE( 6,100 ) ' => Use Linoz for O3? : ', Input_Opt%LLINOZ WRITE( 6,100 ) 'Online strat. H2O? : ', Input_Opt%LACTIVEH2O WRITE( 6,100 ) 'Use robust strat H2O BC? : ', Input_Opt%LStaticH2OBC WRITE( 6,110 ) 'GAMMA HO2 : ', Input_Opt%GAMMA_HO2 WRITE( 6,100 ) 'Use auto-reduce solver? : ', Input_Opt%USE_AUTOREDUCE IF ( Input_Opt%AUTOREDUCE_IS_KEY_THRESHOLD ) THEN WRITE( 6,100 ) 'Use target species threshold: ', Input_Opt%AUTOREDUCE_IS_KEY_THRESHOLD WRITE( 6,130 ) 'OH tuning factor: ', Input_Opt%AUTOREDUCE_TUNING_OH WRITE( 6,130 ) 'NO2 tuning factor: ', Input_Opt%AUTOREDUCE_TUNING_NO2 ELSE WRITE( 6,120 ) 'Absolute AR threshold : ', Input_Opt%AUTOREDUCE_THRESHOLD WRITE( 6,100 ) 'Use prs. dependent thres? : ', Input_Opt%AUTOREDUCE_IS_PRS_THRESHOLD ENDIF WRITE( 6,100 ) 'Keep halogen spec. active? : ', Input_Opt%AUTOREDUCE_IS_KEEPACTIVE WRITE( 6,100 ) 'Use append in auto-reduce? : ', Input_Opt%AUTOREDUCE_IS_APPEND ENDIF ! FORMAT statements 90 FORMAT( /, A ) 95 FORMAT( A ) 100 FORMAT( A, L5 ) 110 FORMAT( A, F4.2 ) 120 FORMAT( A, F5.1 ) 130 FORMAT( A, ES7.1 ) END SUBROUTINE Config_Chemistry !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Config_RRTMG ! ! !DESCRIPTION: Copies RRTMG information from the Config object ! to Input_Opt, and does necessary checks. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Config_RRTMG( Config, Input_Opt, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE RoundOff_Mod, ONLY : Cast_and_RoundOff ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(QFYAML_t), INTENT(INOUT) :: Config ! YAML Config object TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input Options object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REMARKS: ! Flux outputs are now scheduled in the HISTORY.rc file, and the relevant ! fields of Input_Opt will be populated in the RRTMG module routine ! Init_RRTMG_Indices (called at startup). !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I INTEGER :: N LOGICAL :: v_bool ! Strings CHARACTER(LEN=20) :: str CHARACTER(LEN=255) :: thisLoc CHARACTER(LEN=512) :: errMsg CHARACTER(LEN=QFYAML_NamLen) :: key CHARACTER(LEN=QFYAML_NamLen) :: a_str(3) CHARACTER(LEN=QFYAML_StrLen) :: v_str !======================================================================== ! Config_RRTMG begins here! !======================================================================== ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = ' -> at Config_RRTMG (in module GeosCore/input_mod.F90)' !------------------------------------------------------------------------ ! Turn on RRTMG? !------------------------------------------------------------------------ key = "operations%rrtmg_rad_transfer_model%activate" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%LRAD = v_bool !------------------------------------------------------------------------ ! AOD wavelength selection? (You can have up to 3) !------------------------------------------------------------------------ key = "operations%rrtmg_rad_transfer_model%aod_wavelengths_in_nm" a_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), a_str, & "", RC, dynamic_size=.TRUE. ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Copy values into Input_Opt I = 0 DO N = 1, SIZE( a_str ) IF ( a_str(N) == MISSING_STR ) EXIT I = I + 1 Input_Opt%nWvSelect = I Input_Opt%StrWvSelect(I) = TRIM( ADJUSTL( a_str(N) ) ) Input_Opt%WvSelect(I) = Cast_and_RoundOff( a_str(N), places=2 ) ENDDO !------------------------------------------------------------------------ ! Turn on LW radiation calculation? !------------------------------------------------------------------------ key = "operations%rrtmg_rad_transfer_model%longwave_fluxes" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%LLWRAD = v_bool !------------------------------------------------------------------------ ! Turn on SW radiation calculation? !------------------------------------------------------------------------ key = "operations%rrtmg_rad_transfer_model%shortwave_fluxes" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%LSWRAD = v_bool !------------------------------------------------------------------------ ! Calculate for clear-sky? !------------------------------------------------------------------------ key = "operations%rrtmg_rad_transfer_model%clear_sky_flux" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%LSKYRAD(1) = v_bool !------------------------------------------------------------------------ ! Calculate for all-sky? !------------------------------------------------------------------------ key = "operations%rrtmg_rad_transfer_model%all_sky_flux" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%LSKYRAD(2) = v_bool !------------------------------------------------------------------------ ! Value to use (in ppmv) for CO2? !------------------------------------------------------------------------ key = "operations%rrtmg_rad_transfer_model%co2_ppmv" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%RRTMG_CO2_ppmv = Cast_and_Roundoff( v_str, places=2 ) !------------------------------------------------------------------------ ! Use the fixed dynamical heating assumption? !------------------------------------------------------------------------ key = "operations%rrtmg_rad_transfer_model%fixed_dyn_heating" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%RRTMG_FDH = v_bool !------------------------------------------------------------------------ ! Allow seasonal adjustment? !------------------------------------------------------------------------ key = "operations%rrtmg_rad_transfer_model%seasonal_fdh" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%RRTMG_SEFDH = v_bool !------------------------------------------------------------------------ ! Extend dynamical heating adjustment to TOA? !------------------------------------------------------------------------ key = "operations%rrtmg_rad_transfer_model%fdh_to_toa" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%RRTMG_SA_TOA = v_bool !------------------------------------------------------------------------ ! Read in dynamical heating data? !------------------------------------------------------------------------ key = "operations%rrtmg_rad_transfer_model%read_dyn_heating" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%Read_Dyn_Heating = v_bool !======================================================================== ! Error check settings !======================================================================== #ifndef RRTMG ! Use of RRTMG necessitates recompilation IF ( Input_Opt%LRAD ) THEN errMsg = 'LRAD=T but RRTMG is not defined at compile time!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF #endif ! Make sure radiation switches are turned off if RRTMG is off IF ( .not. Input_Opt%LRAD ) THEN IF ( Input_Opt%LLWRAD ) THEN errMsg = 'Cannot have LW fluxes turned on without RRTMG!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF IF ( Input_Opt%LSWRAD ) THEN errMsg = 'Cannot have SW fluxes turned on without RRTMG!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF IF ( Input_Opt%LSKYRAD(1) ) THEN errMsg = 'Cannot have clear-sky flux turned on without RRTMG!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF IF ( Input_Opt%LSKYRAD(2) ) THEN errMsg = 'Cannot have all-sky flux turned on without RRTMG!' CALL GC_Error( errMsg, RC, thisLoc ) ENDIF ENDIF #ifndef MODEL_GCHPCTM If (Input_Opt%RRTMG_FDH) Then errMsg = 'Fixed dynamical heating in RRTMG is currently only available in GCHP' CALL GC_Error( errMsg, RC, thisLoc ) End If #endif If (Input_Opt%RRTMG_SEFDH.and.(.not.Input_Opt%RRTMG_FDH)) Then errMsg = 'Cannot have seasonally evolving FDH without enabling FDH!' CALL GC_Error( errMsg, RC, thisLoc ) End If !======================================================================== ! Print to screen !======================================================================== IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 90 ) 'RRTMG SETTINGS' WRITE( 6, 95 ) '--------------' DO N=1, Input_Opt%NWVSELECT WRITE( 6, 115 ) 'AOD output wavelength (nm) : ', & Input_Opt%WVSELECT(N) ENDDO WRITE( 6, 100 ) 'Turn on radiation? : ', Input_Opt%LRAD WRITE( 6, 100 ) 'Consider longwave? : ', Input_Opt%LLWRAD WRITE( 6, 100 ) 'Consider shortwave? : ', Input_Opt%LSWRAD WRITE( 6, 100 ) 'Clear-sky flux? : ', Input_Opt%LSKYRAD(1) WRITE( 6, 100 ) 'All-sky flux? : ', Input_Opt%LSKYRAD(2) WRITE( 6, 115 ) 'CO2 VMR in ppmv : ', Input_Opt%RRTMG_CO2_ppmv WRITE( 6, 100 ) 'Fixed dyn. heat. assumption?: ', Input_Opt%RRTMG_FDH WRITE( 6, 100 ) ' --> Seasonal evolution? : ', Input_Opt%RRTMG_SEFDH WRITE( 6, 100 ) ' --> Extend to TOA? : ', Input_Opt%RRTMG_SA_TOA WRITE( 6, 100 ) ' --> Read in dyn. heating? : ', Input_Opt%Read_Dyn_Heating ENDIF ! FORMAT statements 90 FORMAT( /, A ) 95 FORMAT( A ) 100 FORMAT( A, L5 ) 110 FORMAT( A, I5 ) 115 FORMAT( A, F7.1 ) 120 FORMAT( A, 11I1 ) END SUBROUTINE Config_RRTMG !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Config_Photolysis ! ! !DESCRIPTION: Copies photolysis information from the Config object ! to Input_Opt, and does necessary checks. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Config_Photolysis( Config, Input_Opt, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE RoundOff_Mod, ONLY : Cast_and_RoundOff ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(QFYAML_t), INTENT(INOUT) :: Config ! YAML Config object TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input Options object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: v_bool INTEGER :: v_int REAL(yp) :: v_real ! Strings CHARACTER(LEN=255) :: thisLoc CHARACTER(LEN=512) :: errMsg CHARACTER(LEN=QFYAML_NamLen) :: key CHARACTER(LEN=QFYAML_StrLen) :: v_str !======================================================================== ! Config_Photolysis begins here! !======================================================================== ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = ' -> at Config_Photolysis (in module GeosCore/input_mod.F90)' !------------------------------------------------------------------------ ! Turn on photolysis !------------------------------------------------------------------------ key = "operations%photolysis%activate" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%Do_Photolysis = v_bool !------------------------------------------------------------------------ ! FAST-JX menu !------------------------------------------------------------------------ ! Input directory path key = "operations%photolysis%fast-jx%fastjx_input_dir" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%FAST_JX_DIR = TRIM( v_str ) !------------------------------------------------------------------------ ! CLOUD-J menu !------------------------------------------------------------------------ ! Input directory path key = "operations%photolysis%cloud-j%cloudj_input_dir" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%CloudJ_DIR = TRIM( v_str ) ! Turn on verbose output key = "operations%photolysis%cloud-j%verbose" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Should Cloud-J verbose output be printed only on root or on all cores? SELECT CASE ( TRIM( Input_Opt%VerboseOnCores ) ) CASE( 'ROOT' ) Input_Opt%CloudJ_Verbose = ( v_bool .and. Input_Opt%amIRoot ) CASE( 'ALL' ) Input_Opt%CloudJ_Verbose = v_bool CASE DEFAULT errMsg = 'Invalid selection!' // NEW_LINE( 'a' ) // & 'simulation:verbose:on_cores must be either "root" or "all"' CALL GC_Error( errMsg, RC, thisLoc ) RETURN END SELECT ! Number levels with clouds to use in photolysis (Cloud-J var LWEPAR) key = "operations%photolysis%cloud-j%num_levs_with_cloud" v_int = MISSING_INT CALL QFYAML_Add_Get( Config, TRIM( key ), v_int, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%NLevs_Phot_Cloud = v_int ! Cloud-J cloud scheme flag (Cloud-J var CLDFLAG) key = "operations%photolysis%cloud-j%cloud_scheme_flag" v_int = MISSING_INT CALL QFYAML_Add_Get( Config, TRIM( key ), v_int, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%Cloud_Flag = v_int ! Factor increase in cloud OD from layer to next below (Cloud-J var ATAU) ! - used for inserting extra cloud layers in Cloud-J key = "operations%photolysis%cloud-j%opt_depth_increase_factor" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%OD_Increase_Factor = Cast_and_RoundOff( v_str, places=4 ) ! Minimum cloud OD in uppermost inserted layer (Cloud-J var ATAU0) ! - used for inserting extra cloud layers in Cloud-J key = "operations%photolysis%cloud-j%min_top_inserted_cloud_OD" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%Min_Cloud_OD = Cast_and_RoundOff( v_str, places=4 ) ! Cloud correlation between max-overlap blocks (will set Cloud-J var CLDCOR) ! NOTE: ! - only used for cloud schemes 5 and above ! - 0.00 = random key = "operations%photolysis%cloud-j%cloud_overlap_correlation" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%Cloud_Corr = Cast_and_RoundOff( v_str, places=3 ) ! Number of blocks with correlated cloud overlap (will set Cloud-J var LNRG) ! - only used for cloud schemes 5 and above ! - limited values possible: 0 = max-ran @ gaps, 3 = alt blocks, 6 = max-overlap key = "operations%photolysis%cloud-j%num_cloud_overlap_blocks" v_int = MISSING_INT CALL QFYAML_Add_Get( Config, TRIM( key ), v_int, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%Num_Max_Overlap = v_int ! Spherical Earth atmospheric correction (will set Cloud-J var ATM0) ! 0 = flag ! 1 = spherical (standard) ! 2 = refractive ! 3 = geometric key = "operations%photolysis%cloud-j%sphere_correction" v_int = MISSING_INT CALL QFYAML_Add_Get( Config, TRIM( key ), v_int, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%Sphere_Correction = v_int ! Number of wavelength bins in UV-Vis (will set Cloud-J var NWBIN) ! - limited values possible ! 18 = standard full Fast-J ! 12 = trop-only (0% err in trop, 33% performance savings) ! 8 = trop-only (1-2% error in J-02 and J-OCS in upper trop, big savings) key = "operations%photolysis%cloud-j%num_wavelength_bins" v_int = MISSING_INT CALL QFYAML_Add_Get( Config, TRIM( key ), v_int, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%Num_WV_Bins = v_int ! Whether to use absorption of UV by water vapor key = "operations%photolysis%cloud-j%use_H2O_UV_absorption" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%USE_H2O_UV_Abs = v_bool !------------------------------------------------------------------------ ! Overhead O3 menu !------------------------------------------------------------------------ ! Use online ozone in extinction calculations? key = "operations%photolysis%overhead_O3%use_online_O3_from_model" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%USE_ONLINE_O3 = v_bool ! Use ozone columns from met fields? key = "operations%photolysis%overhead_O3%use_column_O3_from_met" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%USE_O3_FROM_MET = v_bool ! Use ozone columns from TOMS? key = "operations%photolysis%overhead_O3%use_TOMS_SBUV_O3" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%USE_TOMS_O3 = v_bool !------------------------------------------------------------------------ ! Nitrate photolysis menu !------------------------------------------------------------------------ ! Photoylse nitrate aerosol? key = "operations%photolysis%photolyze_nitrate_aerosol%activate" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%hvAerNIT = v_bool ! Scalar for JHNO3 for photoylsing NITs aerosol key = & "operations%photolysis%photolyze_nitrate_aerosol%NITs_Jscale" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%hvAerNIT_JNITs = Cast_and_RoundOff( v_str, places=3 ) ! scalar for JHNO3 for photoylsing NIT aerosol (TMS, 23/08/18) key = & "operations%photolysis%photolyze_nitrate_aerosol%NIT_Jscale" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%hvAerNIT_JNIT = Cast_and_RoundOff( v_str, places=3 ) ! Fraction for JNITS/NIT channel A (HNO2) for NITs photoylsis key = & "operations%photolysis%photolyze_nitrate_aerosol%percent_channel_A_HONO" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%JNITChanA = Cast_and_RoundOff( v_str, places=3 ) ! Fraction for JNITs/NIT channel B (NO2) for NITs photoylsis key = & "operations%photolysis%photolyze_nitrate_aerosol%percent_channel_B_NO2" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%JNITChanB = Cast_and_RoundOff( v_str, places=3 ) !======================================================================== ! Error check settings !======================================================================== #ifndef MODEL_GEOS ! Cannot use Synoz with linearized mesospheric chemistry IF ( Input_Opt%ITS_A_FULLCHEM_SIM .and. Input_Opt%LINEAR_CHEM ) THEN IF (.not.Input_Opt%LLINOZ) THEN errMsg = 'Cannot use Synoz with linearized mesospheric chem.!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF #endif ! FAST-JX is only used for fullchem and mercury IF ( Input_Opt%ITS_A_FULLCHEM_SIM .or. & Input_Opt%ITS_AN_AEROSOL_SIM .or. & Input_Opt%ITS_A_MERCURY_SIM ) THEN ! Make sure either O3 from met or TOMS is selected IF ( .not. Input_Opt%USE_O3_FROM_MET .and. & .not. Input_Opt%USE_TOMS_O3 ) THEN errMsg = 'Must select either O3 from met or TOMS/SBUV O3' & // 'for O3 values above the chemistry grid!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF IF ( Input_Opt%USE_O3_FROM_MET .and. & Input_Opt%USE_TOMS_O3 ) THEN errMsg = 'Must select either O3 from met or TOMS/SBUV O3' & // 'for O3 values above the chemistry grid!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Make sure the aerosol-only simulation gets O3 from met or TOMS IF ( Input_Opt%ITS_AN_AEROSOL_SIM ) THEN IF ( Input_Opt%USE_ONLINE_O3 ) THEN errMsg= 'Cannot use online O3 for specialty simulations! ' & // 'Select O3 from met or TOMS O3 instead.' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF ELSE ! If not a simulation that uses photolysis, set options to FALSE Input_Opt%USE_ONLINE_O3 = .FALSE. Input_Opt%USE_O3_FROM_MET = .FALSE. Input_Opt%USE_TOMS_O3 = .FALSE. ENDIF ! Turn off switches for simulations that don't use aerosols IF ( ( .not. Input_Opt%ITS_A_FULLCHEM_SIM ) .and. & ( .not. Input_OPt%ITS_AN_AEROSOL_SIM ) ) THEN Input_Opt%hvAerNIT = .FALSE. Input_Opt%hvAerNIT_JNITs = MISSING_REAL Input_Opt%hvAerNIT_JNIT = MISSING_REAL Input_Opt%JNITChanA = MISSING_REAL Input_Opt%JNITChanB = MISSING_REAL ENDIF ! Return success RC = GC_SUCCESS !======================================================================== ! Print to screen !======================================================================== IF ( Input_Opt%amIRoot ) THEN WRITE( 6,90 ) 'PHOTOLYSIS SETTINGS' WRITE( 6,95 ) '-------------------' WRITE( 6,100 ) 'Turn on photolysis? : ', Input_Opt%Do_Photolysis WRITE( 6,100 ) 'Print Cloud-J debug output? : ', Input_Opt%CloudJ_Verbose WRITE( 6,120 ) 'FAST-JX input directory : ', & TRIM( Input_Opt%FAST_JX_DIR ) WRITE( 6,120 ) 'Cloud-J input directory : ', & TRIM( Input_Opt%CloudJ_Dir ) WRITE( 6,130 ) 'Number levels with cloud : ', & Input_Opt%Nlevs_Phot_Cloud WRITE( 6,130 ) 'Cloud-J cloud flag : ', Input_Opt%Cloud_Flag WRITE( 6,105 ) 'Layer OD increase factor : ', Input_Opt%OD_Increase_Factor WRITE( 6,105 ) 'Min cloud OD at top : ', Input_Opt%Min_Cloud_OD WRITE( 6,105 ) 'Cloud correlation : ', Input_Opt%Cloud_Corr WRITE( 6,130 ) 'Max # of overlap bins : ', Input_Opt%Num_Max_Overlap WRITE( 6,130 ) 'Sphere correction : ', Input_Opt%Sphere_Correction WRITE( 6,130 ) 'Number of wavelength bins : ', Input_Opt%Num_WV_Bins WRITE( 6,100 ) 'Use H2O UV absorption? : ', Input_Opt%USE_H2O_UV_Abs WRITE( 6,100 ) 'Use online ozone? : ', Input_Opt%USE_ONLINE_O3 WRITE( 6,100 ) 'Use ozone from met? : ', & Input_Opt%USE_O3_FROM_MET WRITE( 6,100 ) 'Use TOMS/SBUV ozone? : ', Input_Opt%USE_TOMS_O3 WRITE( 6,100 ) 'Photolyse nitrate aerosol? : ', Input_Opt%hvAerNIT WRITE( 6,105 ) 'JNITs scaling of JHNO3 : ', Input_Opt%hvAerNIT_JNITs WRITE( 6,105 ) 'JNIT scaling of JHNO3 : ', Input_Opt%hvAerNIT_JNIT WRITE( 6,105 ) 'JNIT(s) channel A (HONO) : ', Input_Opt%JNITChanA WRITE( 6,105 ) 'JNIT(s) channel B (NO2) : ', Input_Opt%JNITChanB ! Write more info IF ( Input_Opt%USE_ONLINE_O3 ) THEN WRITE( 6, 95 ) '' WRITE( 6, 95 ) 'NOTE ABOUT OVERHEAD O3 FOR FAST-JX:' WRITE( 6, 95 ) ' Online O3 from GEOS-Chem will be used' WRITE( 6, 95 ) ' to weight the O3 column within the' WRITE( 6, 95 ) ' chemistry grid and O3 from met or TOMS' WRITE( 6, 95 ) ' will be used outside the chemistry grid.' ENDIF ENDIF ! FORMAT statements 90 FORMAT ( /, A ) 95 FORMAT( A ) 100 FORMAT( A, L5 ) 105 FORMAT( A, F8.3 ) 110 FORMAT( A, F4.2 ) 120 FORMAT( A, A ) 130 FORMAT( A, I5 ) END SUBROUTINE Config_Photolysis !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: config_convection_mixing ! ! !DESCRIPTION: Copies convection & PBL mixing information from the Config ! object to Input_Opt, and does necessary checks. Also sets whether ! to reconstruct convective precipitation flux based on meteorology ! source and simulation start date. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Config_Convection_Mixing( Config, Input_Opt, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(QFYAML_t), INTENT(INOUT) :: Config ! YAML Config object TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input options ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAl :: v_bool ! Strings CHARACTER(LEN=255) :: thisLoc CHARACTER(LEN=512) :: errMsg CHARACTER(LEN=QFYAML_NamLen) :: key !======================================================================== ! Config_Convection_Mixing begins here! !======================================================================== ! Initialize RC = GC_SUCCESS errMsg = "" thisLoc = & ' -> at Config_Convection_Mixing (in module GeosCore/input_mod.F90)' !------------------------------------------------------------------------ ! Turn on convection? !------------------------------------------------------------------------ key = "operations%convection%activate" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%LCONV = v_bool !------------------------------------------------------------------------ ! Turn on PBL mixing !------------------------------------------------------------------------ key = "operations%pbl_mixing%activate" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%LTURB = v_bool !------------------------------------------------------------------------ ! Use non-local PBL mixing? !------------------------------------------------------------------------ key = "operations%pbl_mixing%use_non_local_pbl" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%LNLPBL = v_bool !------------------------------------------------------------------------ ! Other settings based on inputs !------------------------------------------------------------------------ ! Set the PBL drydep flag. This determines if dry deposition is ! applied (and drydep frequencies are calculated) over the entire ! PBL or the first model layer only. For now, set this value ! automatically based upon the selected PBL scheme: 1st model layer ! for the non-local PBL scheme, full PBL for the full-mixing scheme. Input_Opt%PBL_DRYDEP = ( .not. Input_Opt%LNLPBL ) ! Set whether to execute different convection subroutines based on ! meteorology source and simulation start date. This is important for ! correctly handling convection using diagnostics from different ! convection parameterization. ! RAS are MERRA2 and GEOS-FP before June 1, 2020 ! Grell-Freitas are GEOS-IT for all years and in GEOS-FP following June 1, 2020. ! ! IMPORTANT NOTE: The logic for GEOS-FP assumes (1) meteorology year ! is the same as simulation year and (2) the simulation does not ! run across June 1, 2020. Use the following rules to ensure your ! simulation is correct: ! (1) Manually update code below if GEOS-FP data year is ! different than simulation year: ! - Set to .FALSE. if data is prior to June 1, 2020 ! - Set to .TRUE. if data is on or after June 1, 2020 ! (2) Do not run a GEOS-FP simulation across June 1, 2020. Split ! up the run in time to avoid this. IF ( Input_Opt%MetField == 'GEOSIT' ) THEN Input_Opt%Grell_Freitas_Convection = .TRUE. ELSEIF ( Input_Opt%MetField == 'GEOSFP' .AND. Input_Opt%NYMDb >= 20200601 ) THEN Input_Opt%Grell_Freitas_Convection = .TRUE. ELSE Input_Opt%Grell_Freitas_Convection = .FALSE. ENDIF ! Return success RC = GC_SUCCESS !========================================================================= ! Print to screen !========================================================================= IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 90 ) 'CONVECTION SETTINGS' WRITE( 6, 95 ) '-------------------' WRITE( 6, 100 ) 'Turn on cloud convection? : ', Input_Opt%LCONV WRITE( 6, 100 ) 'Grell-Freitas convection? : ', & Input_Opt%Grell_Freitas_Convection IF ( Input_Opt%MetField == 'GEOSFP' ) THEN IF ( Input_Opt%Grell_Freitas_Convection ) THEN WRITE( 6, 90 ) 'WARNING: Convection will assume met data is on or after 01Jun2020!' ELSE WRITE( 6, 90 ) 'WARNING: Convection will assume met data is prior to 01Jun2020!' ENDIF ENDIF WRITE( 6, 90 ) 'PBL MIXING SETTINGS' WRITE( 6, 95 ) '-------------------' WRITE( 6, 100 ) 'Turn on PBL mixing? : ', Input_Opt%LTURB WRITE( 6, 100 ) 'Turn on non-local PBL? : ', Input_Opt%LNLPBL ENDIF ! FORMAT statements 90 FORMAT( /, A ) 95 FORMAT( A ) 100 FORMAT( A, L5 ) END SUBROUTINE Config_Convection_Mixing !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: config_drydep_wetdep ! ! !DESCRIPTION: Copies drydep and wetdep information from the Config object ! to Input_Opt, and does necessary checks. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Config_DryDep_WetDep( Config, Input_Opt, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE RoundOff_Mod, ONLY : Cast_and_RoundOff ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(QFYAML_t), INTENT(INOUT) :: Config ! YAML Config object TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input Options object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: v_bool INTEGER :: v_int ! Strings CHARACTER(LEN=255) :: thisLoc CHARACTER(LEN=512) :: errMsg CHARACTER(LEN=QFYAML_NamLen) :: key CHARACTER(LEN=QFYAML_StrLen) :: v_str !======================================================================== ! Config_DryDep_WetDep begins here! !======================================================================== ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = ' -> at Config_DryDep_WetDep (in module GeosCore/input_mod.F90)' !------------------------------------------------------------------------ ! Turn on drydep? !------------------------------------------------------------------------ key = "operations%dry_deposition%activate" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%LDRYD = v_bool !------------------------------------------------------------------------ ! Turn on CO2 effect on drydep? !------------------------------------------------------------------------ key = "operations%dry_deposition%CO2_effect%activate" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%CO2_EFFECT = v_bool !------------------------------------------------------------------------ ! CO2 level at simulation !------------------------------------------------------------------------ key = "operations%dry_deposition%CO2_effect%CO2_level" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%CO2_LEVEL = Cast_and_RoundOff( v_str, places=2 ) !------------------------------------------------------------------------ ! Reference CO2 level !------------------------------------------------------------------------ key = "operations%dry_deposition%CO2_effect%reference_CO2_level" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%CO2_REF = Cast_and_RoundOff( v_str, places=2 ) !------------------------------------------------------------------------ ! Diag for RA_alt above surface in meters !------------------------------------------------------------------------ key = "operations%dry_deposition%diag_alt_above_sfc_in_m" v_int = MISSING_INT CALL QFYAML_Add_Get( Config, TRIM( key ), v_int, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%RA_Alt_Above_Sfc = v_int !------------------------------------------------------------------------ ! Turn on wetdep? !------------------------------------------------------------------------ key = "operations%wet_deposition%activate" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%LWETD = v_bool !======================================================================== ! Error check settings !======================================================================== ! Turn off wetdep for simulations that don't need it IF ( Input_Opt%ITS_A_TAGO3_SIM ) Input_Opt%LWETD = .FALSE. ! If CO2 effect on RS in turned on, calculate the scaling factor ! on Rs based on Franks et al. (2013) (ayhwong, 6/25/2019) If (Input_Opt%CO2_EFFECT) THEN Input_Opt%RS_SCALE = Input_Opt%CO2_LEVEL / Input_Opt%CO2_REF * & (Input_Opt%CO2_LEVEL + 80.0_fp) * & (Input_Opt%CO2_REF - 40.0_fp) / & (Input_Opt%CO2_LEVEL - 40.0_fp) / & (Input_Opt%CO2_REF + 80.0_fp) ENDIF !======================================================================== ! Print to screen !======================================================================== IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 90 ) 'DRY DEPOSITION SETTINGS' WRITE( 6, 95 ) '-----------------------' WRITE( 6, 100 ) 'Turn on dry deposition? : ', Input_Opt%LDRYD WRITE( 6, 100 ) 'Dry dep over full PBL? : ', Input_Opt%PBL_DRYDEP WRITE( 6, 100 ) 'Turn on CO2 effect? : ', Input_Opt%CO2_EFFECT WRITE( 6, 110 ) 'CO2 level : ', Input_Opt%CO2_LEVEL WRITE( 6, 110 ) 'CO2 reference level : ', Input_Opt%CO2_REF WRITE( 6, 110 ) 'RIX scaling factor : ', Input_Opt%RS_SCALE WRITE( 6, 90 ) 'WET DEPOSITION SETTINGS' WRITE( 6, 95 ) '-----------------------' WRITE( 6, 100 ) 'Turn on wet deposition? : ', Input_Opt%LWETD ENDIF ! FORMAT statements 90 FORMAT( /, A ) 95 FORMAT( A ) 100 FORMAT( A, L5 ) 110 FORMAT( A, f8.2 ) END SUBROUTINE Config_DryDep_WetDep !!EOC #if !(defined( EXTERNAL_GRID ) || defined( EXTERNAL_FORCING )) !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: config_planeflight ! ! !DESCRIPTION: Copies PlaneFlight diagnostic information from the Config ! object to Input_Opt, and does necessary checks. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Config_PlaneFlight( Config, Input_Opt, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE PlaneFlight_Mod, ONLY : SET_PLANEFLIGHT ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(QFYAML_t), INTENT(INOUT) :: Config ! YAML Config object TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input Options Object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: v_bool ! Strings CHARACTER(LEN=255) :: key CHARACTER(LEN=255) :: thisLoc CHARACTER(LEN=255) :: errMsg CHARACTER(LEN=QFYAML_StrLen) :: v_str !======================================================================== ! Config_PlaneFlight begins here! !======================================================================== ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = ' -> at Config_PlaneFlight (in module GeosCore/input_mod.F90)' !------------------------------------------------------------------------ ! Turn on planeflight diagnostic? !------------------------------------------------------------------------ key = "extra_diagnostics%planeflight%activate" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%Do_Planeflight = v_bool !------------------------------------------------------------------------ ! Input file name (w/ flight track data points) !------------------------------------------------------------------------ key = "extra_diagnostics%planeflight%flight_track_file" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%Planeflight_InFile = TRIM( v_str ) !------------------------------------------------------------------------ ! Output file name !------------------------------------------------------------------------ key = "extra_diagnostics%planeflight%output_file" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%Planeflight_OutFile = TRIM( v_str ) !======================================================================== ! Print to screen !======================================================================== IF( Input_Opt%amIRoot ) THEN WRITE( 6, 90 ) 'PLANEFLIGHT DIAGNOSTIC SETTINGS' WRITE( 6, 95 ) '-------------------------------' WRITE( 6, 100 ) 'Turn on planeflight diag? : ', & Input_Opt%Do_Planeflight WRITE( 6, 110 ) 'Flight track input file : ', & TRIM( Input_Opt%Planeflight_InFile ) WRITE( 6, 110 ) 'Output file name : ', & TRIM( Input_Opt%Planeflight_OutFile ) ENDIF ! FORMAT statements 90 FORMAT( /, A ) 95 FORMAT( A ) 100 FORMAT( A, L5 ) 110 FORMAT( A, A ) !======================================================================== ! Call setup routines from other F90 modules !======================================================================== ! Pass variables to "planeflight_mod.F90" CALL Set_PlaneFlight( PF = Input_Opt%Do_Planeflight, & In_File = Input_Opt%Planeflight_InFile, & Out_File = Input_Opt%Planeflight_OutFile ) END SUBROUTINE Config_PlaneFlight #endif !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: config_obspack ! ! !DESCRIPTION: Copies Obspack diagnostic information from the Config ! object to Input_Opt, and does necessary checks. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Config_ObsPack( Config, Input_Opt, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(QFYAML_t), INTENT(INOUT) :: Config ! YAML Config object TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input Options object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N LOGICAL :: v_bool ! Strings CHARACTER(LEN=255) :: thisLoc CHARACTER(LEN=255) :: errMsg CHARACTER(LEN=QFYAML_NamLen) :: key CHARACTER(LEN=QFYAML_StrLen) :: v_str ! String arrays CHARACTER(LEN=QFYAML_StrLen) :: a_str(QFYAML_MaxArr) !======================================================================== ! Config_ObsPack begins here! !======================================================================== ! Initialize RC = GC_SUCCESS errMsg = 'Error reading the "geoschem_config.yml" file!' thisLoc = ' -> at Config_ObsPack (in module GeosCore/input_mod.F90)' !------------------------------------------------------------------------ ! Turn on ObsPack diagnostic? !------------------------------------------------------------------------ key = "extra_diagnostics%obspack%activate" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%Do_ObsPack = v_bool !------------------------------------------------------------------------ ! ObsPack quiet output? !------------------------------------------------------------------------ key = "extra_diagnostics%obspack%quiet_logfile_output" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%ObsPack_Quiet = v_bool !------------------------------------------------------------------------ ! Input file name (w/ coordinates and sampling strategy) !------------------------------------------------------------------------ key = "extra_diagnostics%obspack%input_file" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%ObsPack_InputFile = TRIM( v_str ) !------------------------------------------------------------------------ ! Output file name !------------------------------------------------------------------------ key = "extra_diagnostics%obspack%output_file" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%ObsPack_OutputFile = TRIM( v_str ) !------------------------------------------------------------------------ ! Species names !------------------------------------------------------------------------ key = "extra_diagnostics%obspack%output_species" a_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), a_str, & "", RC, dynamic_size=.TRUE. ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Copy species names into Input_Opt !------------------------------------------------------------------------ Input_Opt%ObsPack_nSpc = 0 DO N = 1, SIZE( a_str ) ! Stop iterationg when we find a missing value IF ( TRIM( a_str(N) ) == MISSING_STR ) EXIT ! If wildcard for all species is requested then update the ! list of species to track to be the list of advected species ! and exit from further IF ( N==1 .AND. INDEX( a_str(1) , '?ALL' ) > 0) THEN Input_Opt%ObsPack_SpcName = Input_Opt%AdvectSpc_Name Input_Opt%ObsPack_nSpc = Input_Opt%N_Advect EXIT ENDIF ! Otherwise, increment the count and copy the Obspack species ! name into the Input_Opt object Input_Opt%ObsPack_nSpc = Input_Opt%ObsPack_nSpc + 1 Input_Opt%ObsPack_SpcName(Input_Opt%ObsPack_nSpc) = TRIM( a_str(N) ) ENDDO !======================================================================== ! Print to screen !======================================================================== IF( Input_Opt%amIRoot ) THEN WRITE( 6, 90 ) 'OBSPACK SETTINGS' WRITE( 6, 95 ) '----------------' WRITE( 6, 100 ) 'Turn on ObsPack diagnostic? : ', & Input_Opt%Do_ObsPack WRITE( 6, 100 ) 'Suppress logfile output? : ', & Input_Opt%ObsPack_Quiet WRITE( 6, 110 ) 'ObsPack input file : ', & TRIM( Input_Opt%ObsPack_InputFile ) WRITE( 6, 110 ) 'ObsPack output file : ', & TRIM( Input_Opt%ObsPack_OutputFile ) ENDIF ! FORMAT statements 90 FORMAT( /, A ) 95 FORMAT( A ) 100 FORMAT( A, L5 ) 110 FORMAT( A, A ) END SUBROUTINE Config_ObsPack !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: config_Hg ! ! !DESCRIPTION: Copies Hg simulation information from the Config object ! to Input_Opt, and does necessary checks. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Config_Hg( Config, Input_Opt, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(QFYAML_t), INTENT(INOUT) :: Config ! YAML Config object TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input Options object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N LOGICAL :: v_bool ! Strings CHARACTER(LEN=255) :: thisLoc CHARACTER(LEN=255) :: errMsg CHARACTER(LEN=QFYAML_NamLen) :: key CHARACTER(LEN=QFYAML_StrLen) :: v_str !================================================================= ! Config_Hg begins here! !================================================================= ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = ' -> at Config_Hg (in module GeosCore/input_mod.F90)' !------------------------------------------------------------------------ ! Use dynamic ocean Hg? !------------------------------------------------------------------------ key = "Hg_simulation_options%sources%use_dynamic_ocean_Hg" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, key, v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%LDYNOCEAN = v_bool !------------------------------------------------------------------------ ! Use preindustrial Hg? !------------------------------------------------------------------------ key = "Hg_simulation_options%sources%use_preindustrial_Hg" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, key, v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%LPREINDHG = v_bool !------------------------------------------------------------------------ ! Use arctic river Hg? !------------------------------------------------------------------------ key = "Hg_simulation_options%sources%use_arctic_river_Hg" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, key, v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%LARCTICRIV = v_bool !------------------------------------------------------------------------ ! Tie Hg2(aq) reduction to UV-B radiation? !------------------------------------------------------------------------ key = "Hg_simulation_options%chemistry%tie_HgIIaq_reduction_to_UVB" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, key, v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%LKRedUV = v_bool !------------------------------------------------------------------------ ! Use GTMM soil model ! ! NOTE: As of April 2022, GTMM is broken. We look to the community ! to take the lead in restoring it. Until that happens, these options ! will have no effect. -- Bob Yantosca (04 Apr 2022) !------------------------------------------------------------------------ key = "Hg_simulation_options%GTMM_soil_model%activate" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, key, v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%LGTMM = v_bool !------------------------------------------------------------------------ ! GTMM restart file name ! ! NOTE: As of April 2022, GTMM is broken. We look to the community ! to take the lead in restoring it. Until that happens, these options ! will have no effect. -- Bob Yantosca (04 Apr 2022) !------------------------------------------------------------------------ key = "Hg_simulation_options%GTMM_soil_model%restart_file" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, key, v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%GTMM_RST_FILE = TRIM( v_str ) !------------------------------------------------------------------------ ! Sanity checks !------------------------------------------------------------------------ IF ( .not. Input_Opt%ITS_A_MERCURY_SIM ) THEN Input_Opt%LGTMM = .FALSE. Input_Opt%LDYNOCEAN = .FALSE. Input_Opt%LARCTICRIV = .FALSE. Input_Opt%LKRedUV = .FALSE. ENDIF !======================================================================== ! Print to screen !======================================================================== IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 90 ) 'MERCURY SIMULATION SETTINGS' WRITE( 6, 95 ) '---------------------------' WRITE( 6, 110 ) 'Use dynamic ocean Hg model? : ', Input_Opt%LDYNOCEAN WRITE( 6, 110 ) 'Preindustrial simulation? : ', Input_Opt%LPREINDHG WRITE( 6, 110 ) 'Use Arctic river Hg ? : ', Input_Opt%LARCTICRIV WRITE( 6, 110 ) 'Tie HgII(aq) red. to UV-B? : ', Input_Opt%LKRedUV WRITE( 6, 110 ) 'Use GTMM ? : ', Input_Opt%LGTMM WRITE( 6, 120 ) '=> GTMM restart file : ', & TRIM( Input_Opt%GTMM_RST_FILE ) ENDIF ! FORMAT statements 90 FORMAT( /, A ) 95 FORMAT( A ) 100 FORMAT( A, I4 ) 110 FORMAT( A, L5 ) 120 FORMAT( A, A ) END SUBROUTINE Config_Hg !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: config_ch4 ! ! !DESCRIPTION: Copies CH4 information from the Config object to Input_Opt ! and does necessary checks. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Config_CH4( Config, Input_Opt, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE RoundOff_Mod, ONLY : Cast_and_RoundOff ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(QFYAML_t), INTENT(INOUT) :: Config ! YAML Config object TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input options ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! Scalars INTEGER :: N INTEGER :: v_int LOGICAL :: v_bool ! Strings CHARACTER(LEN=255) :: thisLoc CHARACTER(LEN=255) :: errMsg CHARACTER(LEN=QFYAML_NamLen) :: key CHARACTER(LEN=QFYAML_StrLen) :: v_str ! String arrays CHARACTER(LEN=QFYAML_NamLen) :: a_str(4) !======================================================================== ! Config_CH4 begins here! !======================================================================== ! Initialize RC = GC_SUCCESS errMsg = 'Error reading the "geoschem_config.yml" file!' thisLoc = ' -> at Config_CH4 (in module GeosCore/input_mod.F90)' !------------------------------------------------------------------------ ! Use AIRS observational operator? !------------------------------------------------------------------------ key = "CH4_options%use_observational_operators%AIRS" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%AIRS_CH4_OBS = v_bool !------------------------------------------------------------------------ ! Use GOSAT observational operator? !------------------------------------------------------------------------ key = "CH4_options%use_observational_operators%GOSAT" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%GOSAT_CH4_OBS = v_bool !------------------------------------------------------------------------ ! Use TCCON observational operator? !------------------------------------------------------------------------ key = "CH4_options%use_observational_operators%TCCON" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%TCCON_CH4_OBS = v_bool !------------------------------------------------------------------------ ! Perturb CH4 boundary conditions? !------------------------------------------------------------------------ key = "CH4_options%analytical_inversion%perturb_CH4_boundary_conditions" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM ( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%DoPerturbCH4BoundaryConditions = v_bool !------------------------------------------------------------------------ ! How much to perturb CH4 boundary conditions by? !------------------------------------------------------------------------ key = "CH4_options%analytical_inversion%CH4_boundary_condition_ppb_increase_NSEW" a_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), a_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM ( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%CH4BoundaryConditionIncreaseNorth = Cast_and_RoundOff( a_str(1), places=4 ) Input_Opt%CH4BoundaryConditionIncreaseSouth = Cast_and_RoundOff( a_str(2), places=4 ) Input_Opt%CH4BoundaryConditionIncreaseEast = Cast_and_RoundOff( a_str(3), places=4 ) Input_Opt%CH4BoundaryConditionIncreaseWest = Cast_and_RoundOff( a_str(4), places=4 ) !======================================================================== ! Print to screen !======================================================================== IF ( Input_Opt%amIRoot ) THEN WRITE(6,90 ) 'CH4 SETTINGS' WRITE(6,95 ) '-----------------------' WRITE(6,100) 'Use AIRS obs operator? : ', Input_Opt%AIRS_CH4_OBS WRITE(6,100) 'Use GOSAT obs operator? : ', Input_Opt%GOSAT_CH4_OBS WRITE(6,100) 'Use TCCON obs operator? : ', Input_Opt%TCCON_CH4_OBS WRITE(6,100) 'Perturb CH4 BCs? : ', Input_Opt%DoPerturbCH4BoundaryConditions WRITE(6,130) 'CH4 BC ppb increase NSEW : ', Input_Opt%CH4BoundaryConditionIncreaseNorth,& Input_Opt%CH4BoundaryConditionIncreaseSouth,& Input_Opt%CH4BoundaryConditionIncreaseEast,& Input_Opt%CH4BoundaryConditionIncreaseWest ENDIF ! Flag to denote if any AIRS, GOSAT, TCCON columns will be used Input_Opt%Satellite_CH4_Columns = ( Input_Opt%AIRS_CH4_OBS .or. & Input_Opt%GOSAT_CH4_OBS .or. & Input_Opt%TCCON_CH4_OBS ) ! FORMAT statements 90 FORMAT( /, A ) 95 FORMAT( A ) 100 FORMAT( A, L5 ) 130 FORMAT( A, F10.4, 1X, F10.4, 1X, F10.4, 1X, F10.4) END SUBROUTINE Config_CH4 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: config_pops ! ! !DESCRIPTION: Copies POPs simulation information from the Config ! object to Input_Opt, and does necessary checks. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Config_POPs( Config, Input_Opt, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE RoundOff_Mod, ONLY : Cast_and_RoundOff ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(QFYAML_t), INTENT(INOUT) :: Config ! YAML Config object TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input options ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: v_bool ! Strings CHARACTER(LEN=255) :: thisLoc CHARACTER(LEN=255) :: errMsg CHARACTER(LEN=QFYAML_NamLen) :: key CHARACTER(LEN=QFYAML_StrLen) :: v_str !======================================================================== ! Config_POPs begins here! !======================================================================== ! Initialize RC = GC_SUCCESS ! Continue initializing errMsg = '' thisLoc = ' -> at Config_POPs (in module GeosCore/input_mod.F90)' !------------------------------------------------------------------------ ! POP species !------------------------------------------------------------------------ key = "POPs_simulation_options%POP_type" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, key, v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%POP_TYPE = TRIM( v_str ) !------------------------------------------------------------------------ ! Dummy for future process logical switches !------------------------------------------------------------------------ key = "POPs_simulation_options%chemistry_processing" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, key, v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%CHEM_PROCESS = v_bool !------------------------------------------------------------------------ ! Molecular weight !------------------------------------------------------------------------ key = "POPs_simulation_options%POP_XMW" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, key, v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%POP_XMW = Cast_and_RoundOff( v_str, places=0 ) !------------------------------------------------------------------------ ! KOA !------------------------------------------------------------------------ key = "POPs_simulation_options%POP_KOA" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, key, v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%POP_KOA = Cast_and_RoundOff( v_str, places=0 ) !------------------------------------------------------------------------ ! KBC !------------------------------------------------------------------------ key = "POPs_simulation_options%POP_KBC" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, key, v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%POP_KBC = Cast_and_RoundOff( v_str, places=0 ) !------------------------------------------------------------------------ ! OH oxidation !------------------------------------------------------------------------ key = "POPs_simulation_options%POP_K_POPG_OH" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, key, v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%POP_K_POPG_OH = Cast_and_RoundOff( v_str, places=0 ) !------------------------------------------------------------------------ ! O3 oxidation 1 !------------------------------------------------------------------------ key = "POPs_simulation_options%POP_K_POPP_O3A" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, key, v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%POP_K_POPP_O3A = Cast_and_RoundOff( v_str, places=0 ) !------------------------------------------------------------------------ ! O3 oxidation 2 !------------------------------------------------------------------------ key = "POPs_simulation_options%POP_K_POPP_O3B" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, key, v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%POP_K_POPP_O3B = Cast_and_RoundOff( v_str, places=0 ) !------------------------------------------------------------------------ ! H* !------------------------------------------------------------------------ key = "POPs_simulation_options%POP_HSTAR" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, key, v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%POP_HSTAR = Cast_and_RoundOff( v_str, places=0 ) !------------------------------------------------------------------------ ! DEL_H !------------------------------------------------------------------------ key = "POPs_simulation_options%POP_DEL_H" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, key, v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%POP_DEL_H = Cast_and_RoundOff( v_str, places=0 ) !------------------------------------------------------------------------ ! DEL_Hw !------------------------------------------------------------------------ key = "POPs_simulation_options%POP_DEL_Hw" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, key, v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Input_Opt%POP_DEL_Hw = Cast_and_RoundOff( v_str, places=0 ) !================================================================= ! Print to screen !================================================================= IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 90 ) 'POPs SIMULATION SETTINGS' WRITE( 6, 95 ) '------------------------' WRITE( 6, 120 ) 'Species of POP : ', Input_Opt%POP_TYPE WRITE( 6, 110 ) 'Chemistry on? : ', Input_Opt%CHEM_PROCESS WRITE( 6, 130 ) 'POP_XMW : ', Input_Opt%POP_XMW WRITE( 6, 130 ) 'POP_KOA : ', Input_Opt%POP_KOA WRITE( 6, 130 ) 'POP_KBC : ', Input_Opt%POP_KBC WRITE( 6, 130 ) 'POP_K_POPG_OH : ', Input_Opt%POP_K_POPG_OH WRITE( 6, 130 ) 'POP_K_POPP_O3A : ', Input_Opt%POP_K_POPP_O3A WRITE( 6, 130 ) 'POP_K_POPP_O3B : ', Input_Opt%POP_K_POPP_O3B WRITE( 6, 130 ) 'POP_HSTAR : ', Input_Opt%POP_HSTAR WRITE( 6, 130 ) 'POP_DEL_H : ', Input_Opt%POP_DEL_H WRITE( 6, 130 ) 'POP_DEL_Hw : ', Input_Opt%POP_DEL_Hw ENDIF ! FORMAT statements 90 FORMAT( /, A ) 95 FORMAT( A ) 110 FORMAT( A, L5 ) 120 FORMAT( A, A ) 130 FORMAT( A, ES10.2 ) ! Return success RC = GC_SUCCESS END SUBROUTINE Config_POPs !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: validate_directories ! ! !DESCRIPTION: Makes sure that each of the directories that we have read from ! the GEOS-Chem input file are valid. Also, trailing separator characters will ! be added. !\\ !\\ ! !INTERFACE: ! SUBROUTINE VALIDATE_DIRECTORIES( Input_Opt, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE Time_Mod, ONLY : Expand_Date ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input Options object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 20 Jul 2004 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: errMsg, thisLoc, Dir !================================================================= ! Validate_Directories begins here! !================================================================= ! Initialize RC = GC_SUCCESS errMsg = 'Invalid directory encountered!' thisLoc = ' -> at Validate_Directories (in module GeosCore/input_mod.F90)' ! Skip for dry-runs IF ( Input_Opt%DryRun ) RETURN #if !defined( MODEL_CESM ) ! Check directories CALL Check_Directory( Input_Opt, Input_Opt%DATA_DIR, RC ) IF ( RC /= GC_SUCCESS ) THEN CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF #endif CALL Check_Directory( Input_Opt, Input_Opt%CHEM_INPUTS_DIR, RC ) IF ( RC /= GC_SUCCESS ) THEN CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF #if !defined( MODEL_CESM ) CALL Check_Directory( Input_Opt, Input_Opt%RUN_DIR, RC ) IF ( RC /= GC_SUCCESS ) THEN CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF #endif END SUBROUTINE Validate_Directories !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: check_directory ! ! !DESCRIPTION: Makes sure that the given directory is valid. Also a trailing ! slash character will be added if necessary. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Check_Directory( Input_Opt, dir, RC ) ! ! !USES: ! USE ErrCode_Mod USE FILE_MOD, ONLY : File_Exists USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input Options object CHARACTER(LEN=*), INTENT(INOUT) :: dir ! Dir to be checked ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REVISION HISTORY: ! 20 Mar 2003 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: C ! Strings CHARACTER(LEN=255) :: errMsg, thisLoc !================================================================= ! Check_Directory begins here! !================================================================= ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = ' -> at Check_Directory (in module GeosCore/input_mod.F90)' ! Locate the last non-white-space character of NEWDIR C = LEN_TRIM( dir ) ! Add the trailing directory separator if it is not present IF ( dir(C:C) /= '/' ) THEN dir(C+1:C+1) = TRIM( '/' ) ENDIF !================================================================= ! Test if the directory actually exists !================================================================= ! If the directory does not exist then stop w/ an error message IF ( .not. File_Exists( dir ) ) THEN errMsg = 'Invalid directory: ' // TRIM( dir ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF END SUBROUTINE Check_Directory !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: check_time_steps ! ! !DESCRIPTION: Computes the smallest dynamic time step for the model, based on ! which operation are turned on. This is called from routine ! Read_Input_File, after all of the timesteps and logical flags have been ! read from the configuration file. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Check_Time_Steps( Input_Opt, State_Grid, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState USE Time_Mod, ONLY : Set_TimeSteps ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 20 Jul 2004 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! LOGICAL :: LCONV, LCHEM, LDRYD LOGICAL :: LTRAN, LTURB INTEGER :: I, J, K INTEGER :: L, TS_SMALLEST, TS_DIAG INTEGER :: TS_CHEM, TS_EMIS, TS_CONV, TS_DYN INTEGER :: TS_UNIT, TS_RAD, MAX_DYN ! Strings CHARACTER(LEN=255) :: errMsg, thisLoc !================================================================= ! Check_Time_Steps begins here! !================================================================= ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = ' -> at Check_Time_Steps (in module GeosCore/input_mod.F90)' ! Copy fields from Input_Opt LCONV = Input_Opt%LCONV LCHEM = Input_Opt%LCHEM LDRYD = Input_Opt%LDRYD LTRAN = Input_Opt%LTRAN LTURB = Input_Opt%LTURB TS_CHEM = Input_Opt%TS_CHEM TS_EMIS = Input_Opt%TS_EMIS TS_CONV = Input_Opt%TS_CONV TS_DYN = Input_Opt%TS_DYN TS_RAD = Input_Opt%TS_RAD ! If we're doing the reverse integration ! multiply all the timesteps by -1 here if (TS_DYN < 0) THEN TS_CHEM = TS_CHEM * -1 TS_EMIS = TS_EMIS * -1 TS_CONV = TS_CONV * -1 TS_DYN = TS_DYN * -1 TS_RAD = TS_RAD * -1 endif ! NUNIT is time step in minutes for unit conversion TS_UNIT = -1 ! Define maximum timestep for transport IF ( TRIM(State_Grid%GridRes) == '4.0x5.0') THEN MAX_DYN = 1800 ELSE IF ( TRIM(State_Grid%GridRes) == '2.0x2.5' ) THEN MAX_DYN = 900 ELSE IF ( TRIM(State_Grid%GridRes) == '0.5x0.625' ) THEN MAX_DYN = 600 ELSE IF ( TRIM(State_Grid%GridRes) == '0.25x0.3125' ) THEN MAX_DYN = 300 ELSE IF ( TRIM(State_Grid%GridRes) == '0.125x0.15625' ) THEN MAX_DYN = 300 ELSE MAX_DYN = 3600 ENDIF ! If TS_DYN is greater than MAX_DYN, then stop w/ error IF ( .not. Input_Opt%isMPI ) THEN IF ( Input_Opt%TS_DYN > MAX_DYN .and. LTRAN ) THEN WRITE( errMsg, 300 ) 'Transport timestep exceeds max:', & Input_Opt%TS_DYN, MAX_DYN 300 FORMAT( a, i8, ' >', i8 ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF ! Only do unit conversion if necessary IF ( LTRAN .or. LCONV .or. LTURB ) THEN TS_UNIT = MAX( TS_DYN, TS_CONV ) ENDIF ! Compute NSMALLEST as the minimum of NDYN, NCONV, NSRCE, NCHEM I = TS_DYN J = TS_CONV K = TS_EMIS L = TS_CHEM ! SDE 2017-02-24: Always use LTRAN on the assumption that it will ! be used as a "heartbeat". This ensures that chemistry always ! takes place at the same time, regardless of whether or not ! transport is enabled. !IF ( .not. LTRAN ) I = 999999 IF ( .not. LCONV .and..not. LTURB ) J = 999999 IF ( .not. LDRYD ) K = 999999 IF ( .not. LCHEM ) L = 999999 ! Get the smallest of all of the above TS_SMALLEST = MIN( I, J, K, L ) ! If all of the operators above are turned off, ! then set TS_SMALLEST to TS_DYN. IF ( TS_SMALLEST == 999999 ) THEN TS_SMALLEST = TS_DYN ENDIF IF ( LTRAN .and. TS_DYN /= TS_SMALLEST ) THEN errMsg = 'The transport time step should be the smallest one' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! If TS_DYN is smaller than TS_SMALLEST, reset TS_DYN ! to TS_SMALLEST. ! This is useful for runs where transport is turned off, ! but where chemistry is turned on. IF ( TS_DYN < TS_SMALLEST ) THEN TS_DYN = TS_SMALLEST ENDIF ! Define the largest time step, TS_DIAG, for diagnostics. ! Diagnostics should be incremented at the end of multiples of ! TS_DIAG, so that the system is at a physical state. ! (ccc, 5/13/09) IF ( .not. LTRAN ) I = -999999 IF ( .not. LCONV .and..not. LTURB ) J = -999999 IF ( .not. LDRYD ) K = -999999 IF ( .not. LCHEM ) L = -999999 TS_DIAG = MAX( I, J, K, L ) ! If all the operators are turned off, then set TS_DIAG to TS_CHEM ! Usually the chemistry time step is large. (ccc, 5/13/09) IF ( TS_DIAG == -999999 ) THEN TS_DIAG = TS_CHEM ENDIF ! Check if all time steps are multiples of the smallest. ! (ccc, 5/13/09) IF ( L /= -999999 .and. MOD( TS_CHEM, TS_SMALLEST ) /= 0 ) THEN WRITE( errMsg, 100 ) 'Chemistry', TS_CHEM, TS_SMALLEST CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF IF ( K /= -999999 .and. MOD( TS_EMIS, TS_SMALLEST ) /= 0 ) THEN WRITE( ErrMSg, 100 ) 'Emission', TS_EMIS, TS_SMALLEST CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF IF ( J /= -999999 .and. MOD( TS_CONV, TS_SMALLEST ) /= 0 ) THEN WRITE( errMsg, 100 ) 'Convection', TS_CONV, TS_SMALLEST CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF IF ( I /= -999999 .and. MOD( TS_DYN, TS_SMALLEST ) /= 0 ) THEN WRITE( errMsg, 100 ) 'Transport', TS_DYN, TS_SMALLEST CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Initialize timesteps in "time_mod.F90" CALL Set_Timesteps( Input_Opt, & CHEMISTRY = TS_CHEM, & EMISSION = TS_EMIS, & DYNAMICS = TS_DYN, & UNIT_CONV = TS_UNIT, & CONVECTION = TS_CONV, & DIAGNOS = TS_DIAG, & RADIATION = TS_RAD ) 100 FORMAT( A, ' time step must be a multiple of the smallest one:', i5, i5 ) END SUBROUTINE Check_Time_Steps !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: do_error_checks ! ! !DESCRIPTION: Makes sure that certain species are defined in order to ! proceed with a certain option. Halts the simulation with an error message ! if incorrect inputs would have caused a simulation to crash. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Do_Error_Checks( Input_Opt, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : Ind_ ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! ! !REMARKS: ! The Ind_() function now defines all species ID's. It returns -1 if ! a species cannot be found. The prior behavior was to return 0 if a ! species wasn't found. Therefore, in order to preserve the logic of the ! error checks, we must force any -1's returned by Ind_() to 0's in ! this subroutine. !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I ! Strings CHARACTER(LEN=255) :: MSG, LOCATION !================================================================= ! Initialization !================================================================= ! Assume success RC = GC_SUCCESS ! Define location string LOCATION = '-> at Do_Error_Checks (in GeosCore/input_mod.F90)' !================================================================= ! Error check SEASALT AEROSOLS !================================================================= I = MAX( Ind_('SALA','A'), 0 ) + MAX( Ind_('SALC','A'), 0 ) IF ( Input_Opt%LSSALT ) THEN IF ( I == 0 ) THEN MSG = 'LSSALT=T but ONLINE SEASALT AEROSOLS are undefined!' CALL GC_Error( Msg, RC, Location ) RETURN ENDIF ELSE IF ( I > 0 ) THEN MSG = 'Cannot use ONLINE SEASALT AEROSOLS if LSSALT=F!' CALL GC_Error( Msg, RC, Location ) RETURN ENDIF ENDIF !================================================================= ! Error check MARINE ORGANIC AEROSOLS !================================================================= I = MAX( Ind_('MOPO','A'), 0 ) + MAX( Ind_('MOPI','A'), 0 ) IF ( Input_Opt%LMPOA ) THEN IF ( .not. Input_Opt%LSSALT ) THEN MSG = 'LMPOA=T but LSSALT=F!' CALL GC_Error( Msg, RC, Location ) RETURN ENDIF IF ( I == 0 ) THEN MSG = 'LMPOA=T but MARINE ORGANIC AEROSOLS are undefined!' CALL GC_Error( Msg, RC, Location ) RETURN ENDIF ELSE IF ( I > 0 ) THEN MSG = 'Cannot use MARINE ORGANIC AEROSOLS if LMPOA=F!' CALL GC_Error( Msg, RC, Location ) RETURN ENDIF ENDIF !================================================================= ! Error check SULFUR AEROSOLS !================================================================= I = MAX( Ind_('DMS' ,'A'), 0 ) + & MAX( Ind_('SO2' ,'A'), 0 ) + & MAX( Ind_('SO4' ,'A'), 0 ) + & MAX( Ind_('SO4s','A'), 0 ) + & MAX( Ind_('HMS' ,'A'), 0 ) + &! (jmm, 07/2/18) MAX( Ind_('MSA' ,'A'), 0 ) + & MAX( Ind_('NH3' ,'A'), 0 ) + & MAX( Ind_('NH4' ,'A'), 0 ) + & MAX( Ind_('NITs','A'), 0 ) IF ( Input_Opt%LSULF ) THEN ! We now compute the production of SO4s and NITs, so when ! LSULF=T, then we must also have LSSALT=T (bec, bmy, 4/13/05) IF ( .not. Input_Opt%LSSALT ) THEN MSG = 'LSULF=T now also requires LSSALT=T!' CALL GC_Error( Msg, RC, Location ) RETURN ENDIF ! Stop w/ error if everything is undefined IF ( I == 0 ) THEN MSG = 'LSULF=T but ONLINE SULFUR AEROSOLS are undefined!' CALL GC_Error( Msg, RC, Location ) RETURN ENDIF ELSE ! If LSULF=F but we have defined species, stop w/ error IF ( I > 0 ) THEN MSG = 'Cannot use ONLINE SULFUR AEROSOLS if LSULF=F!' CALL GC_Error( Msg, RC, Location ) RETURN ENDIF ENDIF !================================================================= ! Error check CARBON AEROSOLS !================================================================= ! SOAupdate: Add POA (hotp 10/11/09) I = MAX( Ind_('BCPO','A'), 0 ) + & MAX( Ind_('BCPI','A'), 0 ) + & MAX( Ind_('OCPO','A'), 0 ) + & MAX( Ind_('OCPI','A'), 0 ) + & MAX( Ind_('POA1','A'), 0 ) IF ( Input_Opt%LCARB ) THEN IF ( I == 0 ) THEN MSG = 'LCARB=T but ONLINE CARBON AEROSOLS are undefined!' CALL GC_Error( Msg, RC, Location ) RETURN ENDIF ELSE IF ( I > 0 ) THEN MSG = 'Cannot use ONLINE CARBON AEROSOLS if LCARB=F!' CALL GC_Error( Msg, RC, Location ) RETURN ENDIF ENDIF IF ( Input_Opt%LSVPOA .and. ( .NOT. Input_Opt%LSOA ) ) THEN MSG = 'Semivolatile POA requires COMPLEX SOA (LSOA=T)' CALL GC_Error( Msg, RC, Location ) RETURN ENDIF ! SOAupdate: Error check (hotp 8/24/09) ! OCPI and OCPO are the non-volatile POA species ! POA (along w/ POG, OPOA, and OPOG) are the semivol POA species ! You can't have both! I = MAX( Ind_('OCPI','A'), 0 ) + MAX( Ind_('OCPO','A'), 0 ) IF ( Ind_('POA1') > 0 ) THEN IF ( I > 0 ) THEN MSG = 'Semivolatile POA species is defined in addition to ' // & 'Nonvolatile POA' CALL GC_Error( Msg, RC, Location ) RETURN ENDIF IF ( ( .NOT. Input_Opt%LSOA ) .or. & ( .NOT. Input_Opt%LSVPOA ) ) THEN MSG = 'Semivolatile POA requires LSOA=T and LSVPOA=T' CALL GC_Error( Msg, RC, Location ) RETURN ENDIF ENDIF ! SOAupdate ! Options for organic aerosol species: ! IF LSOA = F: only OCPI and OCPO ! IF LSOA = T: ! OCPI OCPO SOA (non-vol + original traditional) ! POA POG OPOA OPOG SOA BTX NAP (semivol + orig trad + IVOC ) ! NAP emissions are set in HEMCO_Config.rc ! LSVPOA is just a check (doesn't do anything hotp 7/21/10) I = MAX( Ind_('POA1' ,'A'), 0 ) + & MAX( Ind_('POA2' ,'A'), 0 ) + & MAX( Ind_('POG1' ,'A'), 0 ) + & MAX( Ind_('POG2' ,'A'), 0 ) + & MAX( Ind_('OPOA1','A'), 0 ) + & MAX( Ind_('OPOA2','A'), 0 ) + & MAX( Ind_('OPOG1','A'), 0 ) + & MAX( Ind_('OPOG2','A'), 0 ) IF ( Input_Opt%LSVPOA ) THEN IF ( I < 8 ) THEN MSG = 'Not enough semivolatile POA species!' CALL GC_Error( Msg, RC, Location ) RETURN ENDIF IF ( Ind_('NAP','A') < 0 ) THEN MSG = 'Semivolatile POA requires IVOCs/NAP!' CALL GC_Error( Msg, RC, Location ) RETURN ENDIF ENDIF !================================================================= ! Error check SECONDARY ORGANIC AEROSOLS !================================================================= ! Check for complex SOA species I = MAX( Ind_('TSOA1','A'), 0 ) + & MAX( Ind_('TSOA2','A'), 0 ) + & MAX( Ind_('TSOA3','A'), 0 ) + & MAX( Ind_('ASOA1','A'), 0 ) + & MAX( Ind_('ASOA2','A'), 0 ) + & MAX( Ind_('ASOA3','A'), 0 ) + & MAX( Ind_('ASOAN','A'), 0 ) + & MAX( Ind_('ASOG1','A'), 0 ) + & MAX( Ind_('ASOG2','A'), 0 ) + & MAX( Ind_('ASOG3','A'), 0 ) + & MAX( Ind_('TSOG0','A'), 0 ) + & MAX( Ind_('TSOG1','A'), 0 ) + & MAX( Ind_('TSOG2','A'), 0 ) + & MAX( Ind_('TSOG3','A'), 0 ) IF ( Input_Opt%LSOA ) THEN IF ( I == 0 ) THEN MSG = 'LSOA=T but COMPLEX SOA species are undefined!' CALL GC_Error( Msg, RC, Location ) RETURN ENDIF ELSE IF ( I > 0 ) THEN MSG = 'Cannot use COMPLEX SOA species if LSOA=F!' CALL GC_Error( Msg, RC, Location ) RETURN ENDIF ENDIF !================================================================= ! Error check DUST AEROSOLS !================================================================= #ifdef TOMAS ! For TOMAS only: If DUST01 is present, the other dust species are too I = MAX( Ind_('DUST01','A'), 0 ) #else ! Non-TOMAS simulations: Need all DSTbin1-DSTbin7 species I = MAX( Ind_('DSTbin1','A'), 0 ) + & MAX( Ind_('DSTbin2','A'), 0 ) + & MAX( Ind_('DSTbin3','A'), 0 ) + & MAX( Ind_('DSTbin4','A'), 0 ) + & MAX( Ind_('DSTbin5','A'), 0 ) + & MAX( Ind_('DSTbin6','A'), 0 ) + & MAX( Ind_('DSTbin7','A'), 0 ) #endif IF ( Input_Opt%LDUST ) THEN IF ( I == 0 ) THEN MSG = 'LDUST=T but ONLINE DUST AEROSOLS are undefined!' CALL GC_Error( Msg, RC, Location ) RETURN ENDIF ELSE IF ( I > 0 ) THEN MSG = 'Cannot use ONLINE DUST AEROSOLS if LDUST=F!' CALL GC_Error( Msg, RC, Location ) RETURN ENDIF ENDIF !================================================================= ! Error check DUST NITRATE AEROSOLS ! DUST SULFATE AEROSOLS ! DUST ALKALINITY AEROSOLS !================================================================= I = MAX( Ind_('NITDbin1' ,'A'), 0 ) + & MAX( Ind_('NITDbin2' ,'A'), 0 ) + & MAX( Ind_('NITDbin3' ,'A'), 0 ) + & MAX( Ind_('NITDbin4' ,'A'), 0 ) + & MAX( Ind_('NITDbin5' ,'A'), 0 ) + & MAX( Ind_('NITDbin6' ,'A'), 0 ) + & MAX( Ind_('NITDbin7' ,'A'), 0 ) + & MAX( Ind_('SO4Dbin1' ,'A'), 0 ) + & MAX( Ind_('SO4Dbin2' ,'A'), 0 ) + & MAX( Ind_('SO4Dbin3' ,'A'), 0 ) + & MAX( Ind_('SO4Dbin4' ,'A'), 0 ) + & MAX( Ind_('SO4Dbin5' ,'A'), 0 ) + & MAX( Ind_('SO4Dbin6' ,'A'), 0 ) + & MAX( Ind_('SO4Dbin7' ,'A'), 0 ) + & MAX( Ind_('DSTALbin1' ,'A'), 0 ) + & MAX( Ind_('DSTALbin2' ,'A'), 0 ) + & MAX( Ind_('DSTALbin3' ,'A'), 0 ) + & MAX( Ind_('DSTALbin4' ,'A'), 0 ) + & MAX( Ind_('DSTALbin5' ,'A'), 0 ) + & MAX( Ind_('DSTALbin6' ,'A'), 0 ) + & MAX( Ind_('DSTALbin7' ,'A'), 0 ) IF ( Input_Opt%LDSTUP ) THEN IF ( I < 21 ) THEN MSG = 'LDSTUP=T but COATED DUST AEROSOLS are undefined!' CALL GC_Error( Msg, RC, Location ) RETURN ENDIF ELSE IF ( I > 0 ) THEN MSG = 'Cannot use COATED DUST AEROSOLS if LDSTUP=F!' CALL GC_Error( Msg, RC, Location ) RETURN ENDIF ENDIF !================================================================= ! Error check SEASALT AEROSOLS !================================================================= I = MAX( Ind_('SALA','A'), 0 ) + MAX( Ind_('SALC','A'), 0 ) IF ( Input_Opt%LSSALT ) THEN IF ( I == 0 ) THEN MSG = 'LSSALT=T but ONLINE SEASALT AEROSOLS are undefined!' CALL GC_Error( Msg, RC, Location ) RETURN ENDIF ELSE IF ( I > 0 ) THEN MSG = 'Cannot use ONLINE SEASALT AEROSOLS if LSSALT=F!' CALL GC_Error( Msg, RC, Location ) RETURN ENDIF ENDIF !================================================================= ! Error check stratospheric H2O !================================================================= IF ( Input_Opt%LSETH2O .and. Ind_('H2O') < 0 ) THEN WRITE( 6, '(a)' ) REPEAT( '=', 79 ) WRITE( 6, '(/,a,/)' ) 'Warning in input_mod.F90: ' & // 'H2O is set but H2O species is undefined.' Input_Opt%LSETH2O = .FALSE. WRITE( 6, '(a)' ) REPEAT( '=', 79 ) ENDIF END SUBROUTINE Do_Error_Checks !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Find_Number_of_Species ! ! !DESCRIPTION: Searches a string array containing species names and returns ! the number of valid species (i.e. species that do not match MISSING_STR). ! Assumes all the valid species will be listed contiguously at the front ! of the array !\\ !\\ ! !INTERFACE: ! FUNCTION Get_Number_of_Species( a_str ) RESULT( n_valid ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: a_str(:) ! ! !RETURN VALUE: ! INTEGER :: n_valid !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: N ! Return the number of valid species n_valid = 0 DO N = 1, SIZE( a_str ) IF ( TRIM( a_str(N) ) == MISSING_STR ) EXIT n_valid = n_valid + 1 ENDDO END FUNCTION Get_Number_of_Species !EOC END MODULE Input_Mod ================================================ FILE: GeosCore/kppsa_interface_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: kppsa_interface_mod.F90 ! ! !DESCRIPTION: Contains routines to print the full chemical state ! which can be used as input to the KPP Standalone. !\\ !\\ ! !INTERFACE: ! MODULE KppSa_Interface_Mod ! ! !USES: ! USE Precision_Mod USE HCO_Error_Mod, ONLY : hp IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBERS: ! PUBLIC :: KppSa_Check_ActiveCell PUBLIC :: KppSa_Check_Domain PUBLIC :: KppSa_Check_Time PUBLIC :: KppSa_Cleanup PUBLIC :: KppSa_Config PUBLIC :: KppSa_Write_Samples ! ! !DERIVED TYPES: ! ! Type to hold information read from the YAML config file TYPE, PRIVATE :: KppSa_Interface_Type INTEGER :: NLOC INTEGER :: Start_Output(2) INTEGER :: Stop_Output(2) LOGICAL :: SkipIt LOGICAL :: SkipWriteAtThisTime CHARACTER(LEN=255) :: Output_Directory CHARACTER(LEN=255), ALLOCATABLE :: LocationName(:) REAL(hp), ALLOCATABLE :: LocationLons(:) REAL(hp), ALLOCATABLE :: LocationLats(:) INTEGER, ALLOCATABLE :: IDX(:) INTEGER, ALLOCATABLE :: JDX(:) INTEGER, ALLOCATABLE :: Levels(:) END TYPE KppSa_Interface_Type ! Type to denote active cells TYPE, PRIVATE :: KppSa_ActiveCell_Type LOGICAL :: Active_Cell CHARACTER(LEN=255) :: Active_Cell_Name END TYPE KppSa_ActiveCell_Type ! ! !PRIVATE DATA MEMBERS: ! TYPE(KppSa_Interface_Type), PRIVATE :: KppSa_State TYPE(KppSa_ActiveCell_Type), PRIVATE :: KppSa_ActiveCell !$OMP THREADPRIVATE( KppSa_ActiveCell ) ! ! !AUTHORS: ! P. Obin Sturm (psturm@usc.edu) ! ! !REVISION HISTORY: ! 11 Mar 2024 - P. Obin Sturm - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: kppsa_check_domain ! ! !DESCRIPTION: Subroutine Check_Domain is used to identify if a ! specified latitude and longitude falls within a grid cell on the ! current CPU. Multiple lat/lon pairs can be checked simultaneously. !\\ !\\ ! !INTERFACE: ! SUBROUTINE KppSa_Check_Domain( RC ) ! ! !USES: ! USE HCO_GeoTools_Mod, ONLY : HCO_GetHorzIJIndex USE HCO_State_GC_Mod, ONLY : HcoState ! ! !OUTPUT PARAMETERS ! INTEGER, INTENT(out) :: RC ! ! !REVISION HISTORY: ! 11 Mar 2024 - P. Obin Sturm - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! Early exit if no locations IF ( KppSa_State%SkipIt ) RETURN ! Compute (I,J) indices of grid boxes CALL HCO_GetHorzIJIndex( HcoState, & KppSa_State%NLOC, & KppSa_State%LocationLons, & KppSa_State%LocationLats, & KppSa_State%IDX, & KppSa_State%JDX, & RC ) END SUBROUTINE KppSa_Check_Domain !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: kppsa_check_time ! ! !DESCRIPTION: Subroutine Check_Domain is used to identify if a ! specified latitude and longitude falls within a grid cell on the ! current CPU. Multiple lat/lon pairs can be checked simultaneously. !\\ !\\ ! !INTERFACE: ! SUBROUTINE KppSa_Check_Time( RC ) ! ! !USES: ! USE ErrCode_Mod USE Time_Mod, ONLY : Get_Nymd, Get_Nhms ! ! !OUTPUT PARAMETERS ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 11 Mar 2024 - P. Obin Sturm - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: yyyymmdd, hhmmss ! Initialize RC = GC_SUCCESS ! Early exit if no locations IF ( KppSa_State%SkipIt ) RETURN ! Assume we will not write to disk at this date/time KppSa_State%SkipWriteAtThisTime = .TRUE. ! Get current date & time yyyymmdd = Get_Nymd() hhmmss = Get_Nhms() ! Exit if we are outside the window for archiving model state IF ( yyyymmdd < KppSa_State%Start_Output(1) ) RETURN IF ( yyyymmdd > KppSa_State%Stop_Output(1) ) RETURN IF ( hhmmss < KppSa_State%Start_Output(2) ) RETURN IF ( hhmmss > KppSa_State%Stop_Output(2) ) RETURN ! If we get this far, we're in the time window where we ! archive the chemical state for the KPP standalone KppSa_State%SkipWriteAtThisTime = .FALSE. END SUBROUTINE KppSa_Check_Time !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: kppsa_check_activecell ! ! !DESCRIPTION: Identifies if a grid cell is within a specified latitude ! and longitude to print the full chemical state (all concentrations, ! reaction rates, rate constants, and meteo metadata). !\\ !\\ ! !INTERFACE: ! SUBROUTINE KppSa_Check_ActiveCell( I, J, L ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I, J, L ! Grid Indices ! ! !REVISION HISTORY: ! 11 Mar 2024 - P. Obin Sturm - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES ! INTEGER :: K ! Early exit if KPP standalone interface is disabled IF ( KppSa_State%SkipIt ) RETURN ! Initialize KppSa_ActiveCell%Active_Cell = .FALSE. KppSa_ActiveCell%Active_Cell_Name = '' ! Skip if we are outside the time interval IF ( KppSa_State%SkipWriteAtThisTime ) RETURN ! Flag active cells IF ( ANY( L == KppSa_State%Levels ) ) THEN DO K = 1, KppSa_State%NLOC IF ( KppSa_State%IDX(K) == I .AND. & KppSa_State%JDX(K) == J ) THEN KppSa_ActiveCell%Active_Cell = .TRUE. KppSa_ActiveCell%Active_Cell_Name = & KppSa_State%LocationName(K) ENDIF ENDDO ENDIF END SUBROUTINE KppSa_Check_ActiveCell !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: kppsa_config ! ! !DESCRIPTION: Subroutine Config_KPP_Standalone reads a set of gridcells ! to be sampled and the full chemical state printed. !\\ !\\ ! !INTERFACE: ! SUBROUTINE KppSa_Config( Input_Opt, RC ) ! ! !USES: ! USE QfYaml_Mod USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE RoundOff_Mod, ONLY : Cast_and_RoundOff USE inquireMod, ONLY : findFreeLUN ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REVISION HISTORY: ! 11 Mar 2024 - P. Obin Sturm - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I, N INTEGER :: IU_FILE ! Available unit for writing INTEGER :: path_exists LOGICAL :: file_exists LOGICAL :: v_bool ! Strings CHARACTER(LEN=255) :: thisLoc CHARACTER(LEN=512) :: errMsg CHARACTER(LEN=QFYAML_NamLen) :: key CHARACTER(LEN=QFYAML_StrLen) :: v_str ! Objects TYPE(QFYAML_t) :: Config, ConfigAnchored ! Arrays INTEGER :: a_int(QFYAML_MaxArr) ! String arrays CHARACTER(LEN=QFYAML_NamLen) :: a_str(QFYAML_MaxArr) ! YAML configuration file name to be read CHARACTER(LEN=30), PARAMETER :: configFile = & './kpp_standalone_interface.yml' ! Inquire if YAML interface exists -- if not, skip initializing KppSa_State%SkipIt = .FALSE. INQUIRE( FILE=configFile, EXIST=file_exists ) IF ( .NOT. file_exists ) THEN KppSa_State%SkipIt = .TRUE. IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 100 ) TRIM( configFile ) 100 FORMAT( "Config file ", a ", not found, ", & "skipping KPP standalone interface" ) ENDIF RETURN ENDIF ! Assume success RC = GC_SUCCESS errMsg = '' thisLoc = ' -> at Config_KPP_Standalone (in module GeosCore/kpp_standalone_interface.F90)' !======================================================================== ! Read the YAML file into the Config object !======================================================================== CALL QFYAML_Init( configFile, Config, ConfigAnchored, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error reading configuration file: ' // TRIM( configFile ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !======================================================================== ! Read the main on/off switch; Exit if the switch is turned off !======================================================================== key = "settings%activate" v_bool = MISSING_BOOL CALL QFYAML_Add_Get( Config, TRIM( key ), v_bool, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF KppSa_State%SkipIt = ( .not. v_bool ) IF ( KppSa_State%SkipIt ) THEN IF ( Input_Opt%amIRoot ) WRITE( 6, 110 ) 110 FORMAT( "KPP standalone interface was manually disabled" ) RETURN ENDIF !======================================================================== ! Read the list of active cells !======================================================================== key = "active_cells" a_str = MISSING_STR CALL QFYAML_Add_Get( Config, key, a_str, "", RC, dynamic_size=.TRUE. ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !======================================================================== ! Get the number of active cells (if 0, return) and the list of names !======================================================================== KppSa_State%NLOC = Find_Number_of_Locations( a_str ) IF ( KppSa_State%NLOC .eq. 0 ) THEN ! Set SkipIt flag to short circuit other subroutines KppSa_State%SkipIt = .TRUE. IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 120 ) 120 FORMAT( "No active cells for box modeling ", & "in kpp_standalone_interface.yml") RETURN ENDIF ENDIF ALLOCATE( KppSa_State%LocationName( KppSa_State%NLOC ), STAT=RC ) CALL GC_CheckVar( 'KppSa_State%LocationName', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN DO I = 1,KppSa_State%NLOC KppSa_State%LocationName(I) = TRIM( a_str(I) ) END DO !======================================================================== ! Read latitude and longitude of active cells !======================================================================== ! Allocate number of locations for lats and lons ALLOCATE( KppSa_State%LocationLons( KppSa_State%NLOC ), STAT=RC ) CALL GC_CheckVar( 'KppSa_State%LocationLons', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ALLOCATE( KppSa_State%LocationLats( KppSa_State%NLOC ), STAT=RC ) CALL GC_CheckVar( 'KppSa_State%LocationLats', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ! Read coordinates DO I = 1,KppSa_State%NLOC ! Read longitudes key = "locations%"//TRIM( KppSa_State%LocationName(I) )//"%longitude" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF KppSa_State%LocationLons( I ) = Cast_and_RoundOff( TRIM( v_str ), places=-1 ) ! Read latitudes key = "locations%"//TRIM( KppSa_State%LocationName(I) )//"%latitude" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF KppSa_State%LocationLats( I ) = Cast_and_RoundOff( TRIM( v_str ), places=-1 ) END DO ! Allocate IDX and JDX (masks for whether a location is on the CPU) ALLOCATE( KppSa_State%IDX( KppSa_State%NLOC ), STAT=RC ) CALL GC_CheckVar( 'KppSa_State%IDX', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ALLOCATE( KppSa_State%JDX( KppSa_State%NLOC ), STAT=RC ) CALL GC_CheckVar( 'KppSa_State%JDX', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN KppSa_State%IDX(:) = -1 KppSa_State%JDX(:) = -1 !======================================================================== ! Get the list of levels and number of levels !======================================================================== ! TODO: could add capability for location specific levels key = "settings%levels" a_int = MISSING_INT CALL QFYAML_Add_Get( Config, key, a_int, "", RC, dynamic_size=.TRUE. ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF N = Find_Number_of_Levels( a_int ) ! if no specified levels, print the surface IF ( N .eq. 0 ) THEN N = 1 a_int(1) = 1 END IF ALLOCATE( KppSa_State%Levels( N ), STAT=RC ) CALL GC_CheckVar( 'KppSa_State%Levels', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN DO I = 1,N KppSa_State%Levels(I) = a_int(I) END DO !======================================================================== ! Get the start & stop date/time for which output will be printed !======================================================================== key = "settings%start_output_at" a_int = MISSING_INT CALL QFYAML_Add_Get( Config, key, a_int(1:2), "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF KppSa_State%Start_Output = a_int(1:2) key = "settings%stop_output_at" a_int = MISSING_INT CALL QFYAML_Add_Get( Config, key, a_int(1:2), "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF KppSa_State%Stop_Output = a_int(1:2) !======================================================================== ! Set the output directory !======================================================================== ! Get that value key = "settings%output_directory" v_str = MISSING_STR CALL QFYAML_Add_Get( Config, TRIM( key ), v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Check to see if the directory exists ! Do this in a portable way that works across compilers ! The directory specifier in inquire might be specific to ifort ! So instead try to open a test file within the output directory ! Check ./OutputDir (which exists for GEOS-Chem and GCHP) as backup IU_FILE = findFreeLUN() OPEN( IU_FILE, FILE = trim(v_str)//'/.test_directory_existence', & ACTION = "WRITE", & IOSTAT = path_exists, & ACCESS = 'SEQUENTIAL' ) ! If the specified folder doesn't exist, try OutputDir IF ( path_exists /= 0 ) THEN OPEN( IU_FILE, FILE = './OutputDir/.test_directory_existence', & ACTION = "WRITE", & IOSTAT = path_exists, & ACCESS ='SEQUENTIAL' ) KppSa_State%Output_Directory = "./OutputDir" IF ( Input_Opt%amIRoot ) THEN WRITE( 6, '(a)' ) & "KPP Standalone Interface warning: Specified output directory ",& trim(v_str), & " was not found, trying default output path './OutputDir' " ENDIF ! If OutputDir doesn't exist, write to the current directory IF ( path_exists /= 0 ) THEN IF ( Input_Opt%amIRoot ) THEN WRITE( 6, '(a)' ) & "KPP Standalone Interface warning: Specified output directory ", & trim(v_str), & " and default output directory './OutputDir' " // & "were not found, writing output to the current directory './'" KppSa_State%Output_Directory = "./" ENDIF ENDIF ELSE KppSa_State%Output_Directory = trim(v_str) close(IU_FILE) END IF !======================================================================= ! Print information about sites that will be archived !======================================================================= IF ( Input_Opt%amIRoot ) THEN WRITE( 6, '(a)' ) REPEAT( "=", 79 ) WRITE( 6, '(a,/)' ) "KPP STANDALONE INTERFACE" WRITE( 6, '(a,/)' ) "Model state will be archived at these sites:" DO I = 1, KppSa_State%NLOC WRITE( 6, 150 ) KppSa_State%LocationName(I), & KppSa_State%LocationLons(I), & KppSa_State%LocationLats(I) 150 FORMAT( a25, "( ", f9.4, ", ", f9.4, " )") ENDDO WRITE( 6, '(/,a)' ) "For GEOS-Chem vertical levels:" WRITE( 6, '(100i4)' ) KppSa_State%Levels WRITE( 6, 160 ) KppSa_State%Start_Output 160 FORMAT( "Starting at ", i8.8, 1x, i6.6 ) WRITE( 6, 170 ) KppSa_State%Stop_Output 170 FORMAT( "Ending at ", i8.8, 1x, i6.6 ) WRITE( 6, '(a)' ) REPEAT( "=", 79 ) ENDIF END SUBROUTINE KppSa_Config !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: kppsa_write_samples ! ! !DESCRIPTION: Subroutine Write_Samples writes the full chemical state ! (concentrations, reaction rates and rate constants, meteorological ! conditions). !\\ !\\ ! !INTERFACE: ! SUBROUTINE KppSa_Write_Samples( I, J, L, & initC, localRCONST, initHvalue, & exitHvalue, ICNTRL, RCNTRL, & State_Grid, State_Chm, State_Met, & Input_Opt, KPP_TotSteps, RC, & FORCE_WRITE, CELL_NAME ) ! ! !USES: ! USE ErrCode_Mod USE State_Grid_Mod, ONLY : GrdState USE State_Chm_Mod, ONLY : ChmState USE State_Met_Mod, ONLY : MetState USE Input_Opt_Mod, ONLY : OptInput USE GcKpp_Global, ONLY : ATOL USE GcKpp_Function USE GcKpp_Parameters, ONLY : NSPEC, NREACT, NVAR USE TIME_MOD, ONLY : GET_TS_CHEM USE TIME_MOD, ONLY : TIMESTAMP_STRING USE TIME_MOD, ONLY : Get_Minute USE TIME_MOD, ONLY : Get_Hour USE TIME_MOD, ONLY : Get_Day USE TIME_MOD, ONLY : Get_Month USE TIME_MOD, ONLY : Get_Year USE Pressure_Mod, ONLY : Get_Pcenter USE inquireMod, ONLY : findFreeLUN ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I ! Longitude index INTEGER, INTENT(IN) :: J ! Latitude index INTEGER, INTENT(IN) :: L ! Vertical level INTEGER, INTENT(IN) :: KPP_TotSteps ! Total integr. steps INTEGER, INTENT(IN) :: ICNTRL(20) ! Integrator options TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chem State obj TYPE(MetState), INTENT(IN) :: State_Met ! Met State obj TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options obj REAL(dp), INTENT(IN) :: initC(NSPEC) ! Initial conc. REAL(dp), INTENT(IN) :: localRCONST(NREACT) ! Rate constants REAL(dp) :: initHvalue ! Initial timestep REAL(dp) :: exitHvalue ! Final timestep: ! RSTATE(Nhexit) REAL(dp), INTENT(IN) :: RCNTRL(20) ! Integrator options LOGICAL, OPTIONAL :: FORCE_WRITE ! Write even if not ! in an active cell CHARACTER(LEN=*), OPTIONAL :: CELL_NAME ! Customize name of ! this file ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REVISION HISTORY: ! 11 Mar 2024 - P. Obin Sturm - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Integers INTEGER :: N INTEGER :: IU_FILE INTEGER :: SpcID REAL(fp) :: DT LOGICAL :: FORCE_WRITE_AUX CHARACTER(LEN=255) :: CELL_NAME_AUX ! Strings CHARACTER(LEN=255) :: YYYYMMDD_hhmmz CHARACTER(LEN=255) :: level_string CHARACTER(LEN=512) :: errMsg, filename ! Arrays REAL(dp) :: Aout(NREACT) REAL(dp) :: Vloc(NVAR) !====================================================================== ! Write_Samples begins here! !====================================================================== ! Did a user want to write the chemical state ! even if not in an active cell? FORCE_WRITE_AUX = .FALSE. IF ( PRESENT( FORCE_WRITE ) ) FORCE_WRITE_AUX = FORCE_WRITE ! Quit early if there's no writing to be done IF ( .not. KppSa_ActiveCell%Active_Cell .AND. & .not. FORCE_WRITE_AUX ) THEN RETURN END IF ! Did the call include an optional cell name? CELL_NAME_AUX = '' IF ( PRESENT( CELL_NAME ) ) CELL_NAME_AUX = CELL_NAME ! Get KPP state CALL Fun( V = initC(1:NVAR), & F = initC(NVAR+1:NSPEC), & RCT = localRCONST, & Vdot = Vloc, & Aout = Aout ) ! Chemistry timestep (seconds) DT = GET_TS_CHEM() !====================================================================== ! Write the file. We need to place this into an !$OMP CRITICAL ! block to ensure that only one thread can open & write to the file ! at a time. Otherwise we will get corrupted files !====================================================================== !$OMP CRITICAL ! Find a free file LUN IU_FILE = findFreeLUN() WRITE(level_string,'(I0)') L WRITE( YYYYMMDD_hhmmz,'(I0.4,I0.2,I0.2,a,I0.2,I0.2)' ) & Get_Year(), Get_Month(), Get_Day(), '_', Get_Hour(), Get_Minute() ! Filename for output filename = TRIM( KppSa_State%Output_Directory ) // & '/' // & TRIM( Cell_Name_Aux ) // & TRIM( KppSa_ActiveCell%Active_Cell_Name ) // & '_L' // & trim( level_string ) // & '_' // & TRIM( YYYYMMDD_hhmmz ) // & '.txt' ! Open the file ! NOTE: We cannot exit from within an !$OMP CRITICAL block OPEN( IU_FILE, FILE=TRIM(filename), ACTION="WRITE", & IOSTAT=RC, ACCESS='SEQUENTIAL') ! Write header to file WRITE( IU_FILE, '(a)' ) '60' WRITE( IU_FILE, '(a)' ) REPEAT("=", 76 ) WRITE( IU_FILE, '(a)' ) '' WRITE( IU_FILE, '(a)' ) & ' KPP Standalone Atmospheric Chemical State' WRITE( IU_FILE, '(a)' ) 'File Description:' WRITE( IU_FILE, '(a)' ) & 'This file contains model output of the atmospheric chemical state' WRITE( IU_FILE, '(a)' ) & 'as simulated by the GEOS-Chem chemistry module in a 3D setting.' WRITE( IU_FILE, '(a)' ) & 'Each grid cell represents the chemical state of an individual location,' WRITE( IU_FILE, '(a)' ) & 'suitable for input into a separate KPP Standalone program which will' WRITE( IU_FILE, '(a)' ) & 'replicate the chemical evolution of that grid cell for mechanism analysis.' WRITE( IU_FILE, '(a)' ) & 'Note that the KPP Standalone will only use concentrations, rate constants,' WRITE( IU_FILE, '(a)' ) & 'and KPP-specific fields. All other fields are for reference. The first line' WRITE( IU_FILE, '(a)' ) & 'contains the number of lines in this header. If wanting to use this output' WRITE( IU_FILE, '(a)' ) & 'for other analysis, a Python class to read these fields is available by' WRITE( IU_FILE, '(a)' ) & 'request, contact Obin Sturm (psturm@usc.edu).' WRITE( IU_FILE, '(a)' ) '' WRITE( IU_FILE, '(a)' ) 'Generated by the GEOS-Chem Model' WRITE( IU_FILE, '(a)' ) ' (https://geos-chem.org/)' WRITE( IU_FILE, '(a)' ) 'Using the KPP Standalone Interface' WRITE( IU_FILE, '(a)' ) 'github.com/GEOS-ESM/geos-chem/tree/feature/psturm/kpp_standalone_interface' WRITE( IU_FILE, '(a)' ) ' With contributions from:' WRITE( IU_FILE, '(a)' ) ' Obin Sturm (psturm@usc.edu)' WRITE( IU_FILE, '(a)' ) ' Christoph Keller' WRITE( IU_FILE, '(a)' ) ' Michael Long' WRITE( IU_FILE, '(a)' ) ' Sam Silva' WRITE( IU_FILE, '(a)' ) '' ! Write the grid cell metadata as part of the header WRITE( IU_FILE, '(a,/)' ) & 'Meteorological and general grid cell metadata ' WRITE( IU_FILE, '(a,a)' ) & 'Location: ' // & TRIM( CELL_NAME_AUX ) // & TRIM( KppSa_ActiveCell%ACTIVE_CELL_NAME ) WRITE( IU_FILE, '(a,a)' ) & 'Timestamp: ', & TIMESTAMP_STRING() WRITE( IU_FILE, '(a,f11.4)' ) & 'Longitude (degrees): ', & State_Grid%XMid(I,J) WRITE( IU_FILE, '(a,f11.4)' ) & 'Latitude (degrees): ', & State_Grid%YMid(I,J) WRITE( IU_FILE, '(a,i6)' ) & 'GEOS-Chem Vertical Level: ', & L WRITE( IU_FILE, '(a,f11.4)' ) & 'Pressure (hPa): ', & Get_Pcenter( I, J, L ) WRITE( IU_FILE, '(a,f11.2)' ) & 'Temperature (K): ', & State_Met%T(I,J,L) WRITE( IU_FILE, '(a,e11.4)' ) & 'Dry air density (molec/cm3): ', & State_Met%AIRNUMDEN(I,J,L) WRITE( IU_FILE, '(a,e11.4)' ) & 'Water vapor mixing ratio (vol H2O/vol dry air): ', & State_Met%AVGW(I,J,L) WRITE( IU_FILE, '(a,e11.4)' ) & 'Cloud fraction: ', & State_Met%CLDF(I,J,L) WRITE( IU_FILE, '(a,e11.4)' ) & 'Cosine of solar zenith angle: ', & State_Met%SUNCOSmid(I,J) WRITE( IU_FILE, '(/,a,/)' ) & 'KPP Integrator-specific parameters ' WRITE( IU_FILE, '(a,f11.4)' ) & 'Init KPP Timestep (seconds): ', & initHvalue WRITE( IU_FILE, '(a,f11.4)' ) & 'Exit KPP Timestep (seconds): ', & exitHvalue WRITE( IU_FILE, '(a,f11.4)' ) & 'Chemistry operator timestep (seconds): ', & DT WRITE( IU_FILE, '(a,i6)' ) & 'Number of internal timesteps: ', & KPP_TotSteps WRITE( IU_FILE, '(a)' ) 'ICNTRL integrator options used:' WRITE( IU_FILE, '(10i6)' ) ICNTRL( 1:10) WRITE( IU_FILE, '(10i6)' ) ICNTRL(11:20) WRITE( IU_FILE, '(a)' ) 'RCNTRL integrator options used:' WRITE( IU_FILE, '(5F13.6)' ) RCNTRL( 1: 5) WRITE( IU_FILE, '(5F13.6)' ) RCNTRL( 6:10) WRITE( IU_FILE, '(5F13.6)' ) RCNTRL(11:15) WRITE( IU_FILE, '(5F13.6)' ) RCNTRL(16:20) WRITE( IU_FILE, '(/,a)' ) & 'CSV data of full chemical state, including species concentrations,' WRITE( IU_FILE, '(a)' ) & 'rate constants (R) and instantaneous reaction rates (A).' WRITE( IU_FILE, '(a)' ) & 'All concentration units are in molec/cm3 and rates in molec/cm3/s.' WRITE( IU_FILE, '(a)' ) '' WRITE( IU_FILE, '(a)' ) REPEAT("=", 76 ) WRITE( IU_FILE, '(a)' ) 'Name, Value, Absolute Tolerance' ! Write species concentrations and absolute tolerances DO N = 1, NSPEC SpcID = State_Chm%Map_KppSpc(N) IF ( SpcID <= 0 ) THEN WRITE( IU_FILE, 120 ) N, initC(N), ATOL(N) 120 FORMAT( "C", i0, ",", es25.16e3, ",", es10.2e2 ) CYCLE ENDIF WRITE( IU_FILE, 130 ) & TRIM(State_Chm%SpcData(SpcID)%Info%Name), initC(N), ATOL(N) 130 FORMAT( a, ",", es25.16e3, ",", es10.2e2 ) ENDDO ! Write reaction rates DO N = 1, NREACT WRITE( IU_FILE, 140 ) N, localRCONST(N) 140 FORMAT( "R", i0, ",", es25.16e3 ) ENDDO ! Write instantaneous reaction rates DO N = 1, NREACT WRITE( IU_FILE, 150 ) N, Aout(N) 150 FORMAT( "A", i0, ",", es25.16e3 ) ENDDO ! Close file CLOSE( IU_FILE ) !$OMP END CRITICAL END SUBROUTINE KppSa_Write_Samples !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: kppsa_cleanup ! ! !DESCRIPTION: Deallocates module variables that may have been allocated ! at run time and unnecessary files required during the process !\\ !\\ ! !INTERFACE: ! SUBROUTINE KppSa_Cleanup( RC ) ! ! !USES: ! USE ErrCode_Mod USE inquireMod, ONLY : findFreeLUN ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 11 Mar 2024 - P. Obin Sturm - Initial version !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES:: ! ! Strings CHARACTER(LEN=255) :: arrayId ! Assume success RC = GC_SUCCESS IF ( ALLOCATED( KppSa_State%LocationName ) ) THEN arrayId = 'kpp_standalone_interface.F90:KppSa_State%LocationName' DEALLOCATE( KppSa_State%LocationName, STAT=RC ) CALL GC_CheckVar( arrayId, 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( KppSa_State%LocationLons ) ) THEN arrayId = 'kpp_standalone_interface.F90:KppSa_State%LocationLons' DEALLOCATE( KppSa_State%LocationLons, STAT=RC ) CALL GC_CheckVar( arrayId, 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( KppSa_State%LocationLats ) ) THEN arrayId = 'kpp_standalone_interface.F90:KppSa_State%LocationLats' DEALLOCATE( KppSa_State%LocationLats, STAT=RC ) CALL GC_CheckVar( arrayId, 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( KppSa_State%IDX ) ) THEN arrayId = 'kpp_standalone_interface.F90:KppSa_State%IDX' DEALLOCATE( KppSa_State%IDX, STAT=RC ) CALL GC_CheckVar( arrayId, 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( KppSa_State%JDX ) ) THEN arrayId = 'kpp_standalone_interface.F90:KppSa_State%JDX' DEALLOCATE( KppSa_State%JDX, STAT=RC ) CALL GC_CheckVar( arrayId, 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( KppSa_State%Levels ) ) THEN arrayId = 'kpp_standalone_interface.F90:KppSa_State%Levels' DEALLOCATE( KppSa_State%Levels, STAT=RC ) CALL GC_CheckVar( arrayId, 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF END SUBROUTINE KppSa_Cleanup !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Find_Number_of_Locations ! ! !DESCRIPTION: Searches a string array containing location names and returns ! the number of valid locations (i.e. char that do not match MISSING_STR). ! Assumes all the valid locations will be listed contiguously at the front ! of the array. Taken from Get_Number_of_Species from input_mod.F90 !\\ !\\ ! !INTERFACE: FUNCTION Find_Number_of_Locations( a_str ) RESULT( n_valid ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: a_str(:) ! ! !RETURN VALUE: ! INTEGER :: n_valid ! ! !REVISION HISTORY: ! 11 Mar 2024 - P. Obin Sturm - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: N ! Return the number of valid locations n_valid = 0 DO N = 1, SIZE( a_str ) IF ( TRIM( a_str(N) ) == MISSING_STR ) EXIT n_valid = n_valid + 1 ENDDO END FUNCTION Find_Number_of_Locations !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Find_Number_of_Levels ! ! !DESCRIPTION: Searches an integer array containing location names and returns ! the number of valid levels (i.e. int that do not match MISSING_INT). ! Assumes all the valid levels will be listed contiguously at the front ! of the array. Taken from Get_Number_of_Species from input_mod.F90 !\\ !\\ ! !INTERFACE: FUNCTION Find_Number_of_Levels( a_int ) RESULT( n_valid ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: a_int(:) ! ! !RETURN VALUE: ! INTEGER :: n_valid ! ! !REVISION HISTORY: ! 11 Mar 2024 - P. Obin Sturm - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: N ! Return the number of valid locations n_valid = 0 DO N = 1, SIZE( a_int ) IF ( a_int(N) == MISSING_INT ) EXIT n_valid = n_valid + 1 ENDDO END FUNCTION Find_Number_of_Levels !EOC END MODULE KppSa_Interface_Mod ================================================ FILE: GeosCore/land_mercury_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: land_mercury_mod.F90 ! ! !DESCRIPTION: Module LAND\_MERCURY\_MOD contains variables and routines for ! the land emissions for the GEOS-Chem mercury simulation. !\\ !\\ ! !INTERFACE: ! MODULE LAND_MERCURY_MOD ! ! !USES: ! USE HCO_ERROR_MOD ! For real precisions (hp) USE PRECISION_MOD ! For GEOS-Chem Precision (fp, f4, f8) IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: BIOMASSHG PUBLIC :: VEGEMIS PUBLIC :: SOILEMIS PUBLIC :: LAND_MERCURY_FLUX !============================================================================ ! Disable GTMM until it is brought up-to-date (mps, 3/10/19) !PUBLIC :: GTMM_DR !============================================================================ PUBLIC :: SNOWPACK_MERCURY_FLUX PUBLIC :: INIT_LAND_MERCURY PUBLIC :: CLEANUP_LAND_MERCURY ! ! !REVISION HISTORY: ! 02 Jun 2010 - N. E. Selin, C. Carouge - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !PRIVATE TYPES: ! ! Plant transpiration rate [m/s] REAL(fp), ALLOCATABLE :: TRANSP(:,:) CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: land_mercury_flux ! ! !DESCRIPTION: Subroutine LAND\_MERCURY\_FLUX calculates emissions of Hg(0) ! from prompt recycling of previously deposited mercury to land, in [kg/s]. !\\ !\\ ! !INTERFACE: ! SUBROUTINE LAND_MERCURY_FLUX( LFLUX, LHGSNOW, State_Grid, State_Met ) ! ! !USES: ! USE DEPO_MERCURY_MOD, ONLY : WD_HGP, WD_HG2, DD_HGP, DD_HG2 USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_TS_EMIS ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: LHGSNOW ! Use Hg0 from snow? TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !OUTPUT PARAMETERS: ! ! Hg0 flux [kg/s] REAL(fp), INTENT(OUT) :: LFLUX(State_Grid%NX,State_Grid%NY) ! ! !REVISION HISTORY: ! 30 Aug 2010 - N. E. Selin, C. Holmes, B. Corbitt - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) :: DTSRCE, REEMFRAC REAL(fp) :: FRAC_SNOW_OR_ICE, FRAC_SNOWFREE_LAND LOGICAL :: IS_LAND_OR_ICE REAL(fp), PARAMETER :: SEC_PER_YR = 365.25e+0_fp * 86400e+0_fp INTEGER :: I, J !================================================================= ! LAND_MERCURY_FLUX begins here! !================================================================= ! Emission timestep [s] DTSRCE = GET_TS_EMIS() !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, REEMFRAC )& !$OMP PRIVATE( FRAC_SNOW_OR_ICE, FRAC_SNOWFREE_LAND, IS_LAND_OR_ICE )& !$OMP COLLAPSE( 2 ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Distinguish between ice/snow and snow-free land FRAC_SNOW_OR_ICE = MIN( State_Met%FRSNOW(I,J) + & State_Met%FRSEAICE(I,J) + & State_Met%FRLANDICE(I,J), 1e+0_fp) FRAC_SNOWFREE_LAND = MAX( State_Met%FRLAND(I,J) - & State_Met%FRSNOW(I,J), 0e+0_fp) IS_LAND_OR_ICE = (( FRAC_SNOWFREE_LAND > 0e+0_fp ) .OR. & ( FRAC_SNOW_OR_ICE > 0e+0_fp )) ! No flux from non-land surfaces (water, sea ice) LFLUX(I,J) = 0e+0_fp ! If snow or ice on the ground, reemission fraction is 0.6, ! otherwise 0.2 IF ( IS_LAND_OR_ICE ) THEN IF (LHGSNOW) THEN REEMFRAC = 0.2e+0_fp * FRAC_SNOWFREE_LAND ELSE REEMFRAC = 0.2e+0_fp * FRAC_SNOWFREE_LAND + & 0.6e+0_fp * FRAC_SNOW_OR_ICE ENDIF ! Mass of emitted Hg(0), kg LFLUX(I,J) = ( WD_HgP(I,J) + WD_Hg2(I,J) + & DD_HgP(I,J) + DD_Hg2(I,J) ) * REEMFRAC ! Emission rate of Hg(0). Convert kg /timestep -> kg/s LFLUX(I,J) = LFLUX(I,J) / DTSRCE ENDIF ENDDO ENDDO !$OMP END PARALLEL DO END SUBROUTINE LAND_MERCURY_FLUX !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: biomasshg ! ! !DESCRIPTION: Subroutine BIOMASSHG is the subroutine for Hg(0) emissions ! from biomass burning. These emissions are active only for present day ! simulations and not for preindustrial simulations. !\\ !\\ ! !INTERFACE: ! SUBROUTINE BIOMASSHG( Input_Opt, State_Grid, EHg0_bb, RC ) ! ! !USES: ! USE ErrCode_Mod USE HCO_ERROR_MOD USE HCO_STATE_MOD, ONLY : HCO_STATE USE HCO_State_GC_Mod, ONLY : HcoState, ExtState USE HCO_Interface_Common, ONLY : GetHcoDiagn USE HCO_Utilities_GC_Mod, ONLY : HCO_GC_GetDiagn USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options TYPE(GrdState), INTENT(IN) :: State_Grid ! ! !OUTPUT PARAMETERS: ! REAL(fp), DIMENSION(:,:), INTENT(OUT) :: EHg0_bb INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! Emissions are based on an inventory of CO emissions from biomass burning ! (Duncan et al. J Geophys Res 2003), multiplied by a Hg/CO ratio in BB ! plumes from Franz Slemr (Poster, EGU 2006). ! . ! Slemr surveyed emission factors from measurements worldwide. Although his ! best estimate was 1.5e-7 mol Hg/ mol CO, we chose the highest value ! (2.1e-7 mol Hg/ mol CO) in the range because the simulations shown in ! Selin et al. (GBC 2008) required large Hg(0) emissions to sustain ! reasonable atmospheric Hg(0) concentrations. (eck, 11/13/2008) ! ! !REVISION HISTORY: ! 30 Jul 2008 - N. E. Selin, C. Holmes, B. Corbitt - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I, J ! Pointers REAL(sp), POINTER :: Ptr2D(:,:) ! Strings CHARACTER(LEN=63) :: DgnName CHARACTER(LEN=255) :: ThisLoc CHARACTER(LEN=512) :: ErrMsg !================================================================= ! BIOMASSHG begins here! !================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at BIOMASSHG (in GeosCore/land_mercury_mod.F90)' Ptr2d => NULL() ! Do biomass Hg emissions if biomass burning is on and it is a ! present-day simulation (i.e. not preindustrial) IF ( .NOT. Input_Opt%LPREINDHG ) THEN IF ( .NOT. ASSOCIATED(HcoState) ) THEN ErrMsg = 'HcoState object is not associated!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Get diagnostics from HEMCO. The HG0 biomass diagnostics ! is defined in hcoi_gc_diagn_mod.F90 and becomes updated ! by HEMCO automatically. Output unit is as specified when ! defining diagnostics (kg/m2/s). DgnName = 'BIOMASS_HG0' CALL HCO_GC_GetDiagn( Input_Opt, State_Grid, DgnName, .TRUE., RC, Ptr2D=Ptr2D ) IF ( RC /= HCO_SUCCESS ) THEN ErrMsg = 'Could not find HEMCO field ' // TRIM( DgnName ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF EHg0_bb = Ptr2D(:,:) * HcoState%Grid%AREA_M2%Val(:,:) ELSE ! No emissions for preindustrial period, or when BB is turned off. EHg0_bb = 0e+0_fp ENDIF ! Free pointer Ptr2D => NULL() END SUBROUTINE BIOMASSHG !EOC !----------------------------------------------------------------------------- ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: vegemis ! ! !DESCRIPTION: Subroutine VEGEMIS is the subroutine for Hg(0) emissions from ! vegetation by evapotranspiration. !\\ !\\ ! !INTERFACE: ! SUBROUTINE VEGEMIS( Input_Opt, State_Met, LVEGEMIS, EHg0_dist, EHg0_vg, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_MONTH, ITS_A_NEW_MONTH ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(MetState), INTENT(IN) :: State_Met ! Met State object LOGICAL, INTENT(IN) :: LVEGEMIS ! REAL(fp), DIMENSION(:,:), INTENT(IN) :: EHg0_dist ! ! ! !OUTPUT PARAMETERS: ! REAL(fp), DIMENSION(:,:), INTENT(OUT) :: EHg0_vg INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! Vegetation emissions are proportional to the evapotranspiration rate and the ! soil water mercury content. We assume a constant concentration of mercury ! in soil matter, based on the preindustrial and present-day simulations ! described in Selin et al. (GBC 2008) and in SOILEMIS subroutine. From the ! soil matter Hg concentration, we calculate a soil water Hg concentration in ! equilibrium (Allison and Allison, 2005). ! NASA provides a climatology of evapotranspiration based on a water budget ! model (Mintz and Walker, 1993). ! ! Calculate vegetation emissions following Xu et al (1999) ! Fc = Ec Cw ! ! Fc is Hg0 flux (ng m-2 s-1) ! Ec is canopy transpiration (m s-1) ! Cw is conc of Hg0 in surface soil water (ng m-3) ! ! Calculate Cw from the Allison and Allison (2005) equilibrium formula ! Cw = Cs / Kd ! ! Cs is the concentration of Hg is surface soil solids, ng/g ! Kd is the equilibrium constant = [sorbed]/[dissolved] ! log Kd = 3.8 L/kg -> Kd = 6310 L /kg = 6.31D-3 m3/g ! ! We assume a global mean Cs = 45 ng/g for the preindustrial period. In ! iterative simulations we redistribute this according to the deposition ! pattern while maintining the global mean. The scaling factor, EHg0_dist, ! also accounts for the anthropogenic enhancement of soil Hg in the present ! day. ! !REVISION HISTORY: ! 30 Aug 2010 - N. Eckley, C. Holmes, B. Corbitt - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) :: DRYSOIL_HG, SOILWATER_HG, VEG_EMIS INTEGER :: I, J ! Soil Hg sorption to dissolution ratio, m3/g REAL(fp), PARAMETER :: Kd = 6.31e-3_fp ! Preindustrial global mean soil Hg concentration, ng Hg /g dry soil REAL(fp), PARAMETER :: DRYSOIL_PREIND_HG = 45e+0_fp !================================================================= ! VEGEMIS begins here! !================================================================= ! Assume success RC = GC_SUCCESS ! No emissions through transpiration if we use Bess' GCAP emissions ! Bug fix: VEGEMIS shouldn't be tied to GCAP emissions ! (jaf, eds, 4/1/11) EHg0_vg = 0e+0_fp END SUBROUTINE VEGEMIS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: soilemis ! ! !DESCRIPTION: Subroutine SOILEMIS is the subroutine for Hg(0) emissions ! from soils. !\\ !\\ ! !INTERFACE: ! SUBROUTINE SOILEMIS( EHg0_dist, EHg0_so, State_Grid, State_Met ) ! ! !USES: ! USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_MONTH, ITS_A_NEW_MONTH ! ! !INPUT PARAMETERS: ! REAL(fp), DIMENSION(:,:), INTENT(IN) :: EHg0_dist TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Met State object ! ! !OUTPUT PARAMETERS: ! REAL(fp), DIMENSION(:,:), INTENT(OUT) :: EHg0_so ! ! !REMARKS: ! Soil emissions are a function of solar radiation at ground level ! (accounting for attenuation by leaf canopy) and surface temperature. ! The radiation dependence from Zhang et al. (2000) is multiplied by the ! temperature dependence from Poissant and Casimir (1998). ! Finally, this emission factor is multiplied by the soil mercury ! concentration and scaled to meet the global emission total. ! ! Comments on soil Hg concentration: ! ---------------------------------- ! We chose the preindustrial value of 45 ng Hg /g dry soil as the mean of ! the range quoted in Selin et al. (GBC 2008): 20-70 ng/g (Andersson, 1967; ! Shacklette et al., 1971; Richardson et al., 2003; Frescholtz and Gustin, ! 2004). Present-day soil concentrations are thought to be 15% greater than ! preindustrial (Mason and Sheu 2002), but such a difference is much less ! than the range of concentrations found today, so not well constrained. ! We calculate the present-day soil Hg distribution by adding a global mean ! 6.75 ng/g (=0.15 * 45 ng/g) according to present-day Hg deposition. ! (eck, 11/13/08) ! ! !REVISION HISTORY: ! 30 Aug 2010 - N. Eckley, B. Corbitt - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! LOGICAL :: IS_SNOWFREE_LAND INTEGER :: I, J REAL(fp) :: SOIL_EMIS, DIMLIGHT, TAUZ, LIGHTFRAC REAL(fp) :: AREA_M2, DRYSOIL_HG REAL(fp) :: SUNCOSVALUE REAL(fp) :: FRAC_SNOWFREE_LAND REAL(fp) :: SOIL_EMIS_FAC ! ! !DEFINED PARAMETERS: ! ! Preindustrial global mean soil Hg concentration, ng Hg /g dry soil REAL(fp), PARAMETER :: DRYSOIL_PREIND_HG = 45e+0_fp ! Scaling factor for emissions, g soil /m2 /h ! (This parameter is beta in Eq 3 of Selin et al., GBC 2008. ! The value in paper is actually DRYSOIL_PREIND_HG * SOIL_EMIS_FAC ! and the stated units are incorrect. The paper should have stated ! beta = 1.5D15 / 45D0 = 3.3D13) ! This parameter is tuned in the preindustrial simulation ! so that total deposition to soil equals total emission from soil, ! while also requiring global mean soil Hg concentration of 45 ng/g ! Update for v11 GEOS-FP at 4x5 (J Fisher 3/2016) ! Assume same factor for all resolutions for now and therefore ! comment out resolution dependence. Users of 2x2.5 or nested ! resolutions are encouraged to test and update these as needed (J ! Fisher 4/2016) !IF ( TRIM(State_Grid%GridRes) == '4.0x5.0') THEN SOIL_EMIS_FAC = 1.6e-2_fp * 0.9688e+0_fp !ELSE IF ( TRIM(State_Grid%GridRes) == '2.0x2.5' ) THEN ! SOIL_EMIS_FAC=1.6e-2_fp !ELSE IF ( TRIM(State_Grid%GridRes) == '0.5x0.625' ) THEN ! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! ! bmy, 8/12/15, add pre-defined SOIL_EMIS_FAC for 05x0667 simulation ! ! This is a non-physical value and would need to be changed for an ! ! actual mercury simulation ! ! ! ! %%% NOTE: Bob Y. used same value as for GRID05x0666 %%% ! ! %%% Team Hg will have to supply a better value later %%% ! SOIL_EMIS_FAC = 1.6e-2_fp ! yzh ! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !ELSE IF ( TRIM(State_Grid%GridRes) == '0.25x0.3125' ) THEN ! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! ! lhu, 1/5/2012, add pre-defined SOIL_EMIS_FAC for 05x0667 simulation ! ! This is a non-physical value and would need to be changed for an ! ! actual mercury simulation ! SOIL_EMIS_FAC = -9.0e+99_fp ! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !ELSE ! ! This sets a default value for GCM & ESMF COUPLING ! SOIL_EMIS_FAC = 2.4e-2_fp*.5742e+0_fp ! for sunlight function !ENDIF !================================================================= ! SOILEMIS begins here! !================================================================= !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, SOIL_EMIS )& !$OMP PRIVATE( DRYSOIL_HG, TAUZ, LIGHTFRAC, AREA_M2, SUNCOSVALUE )& !$OMP PRIVATE( IS_SNOWFREE_LAND, FRAC_SNOWFREE_LAND )& !$OMP COLLAPSE( 2 ) DO J=1, State_Grid%NY DO I=1, State_Grid%NX FRAC_SNOWFREE_LAND = MAX( State_Met%FRLAND(I,J) - & State_Met%FRSNOW(I,J), 0e+0_fp ) IS_SNOWFREE_LAND = ( FRAC_SNOWFREE_LAND > 0e+0_fp ) ! First, assume no soil emissions (e.g. for snow/water/ice) EHg0_so(I,J) = 0e+0_fp IF ( IS_SNOWFREE_LAND ) THEN ! attenuate solar radiation based on function of leaf area index ! Jacob and Wofsy 1990 equations 8 & 9 TAUZ = State_Met%MODISLAI(I,J) * 0.5e+0_fp ! For very low and below-horizon solar zenith angles, use ! same attenuation as for SZA=85 degrees SUNCOSVALUE = MAX( State_Met%SUNCOS(I,J), 0.09e+0_fp ) ! fraction of light reaching the surface is ! attenuated based on LAI LIGHTFRAC = EXP( -TAUZ / SUNCOSVALUE ) ! Dry soil Hg concentration, ng Hg /g soil DRYSOIL_HG = DRYSOIL_PREIND_HG * EHg0_dist(I,J) ! Soil emissions, ng /m2 /h SOIL_EMIS = EXP( 0.0011 * State_Met%SWGDN(I,J) * LIGHTFRAC ) * & DRYSOIL_HG * SOIL_EMIS_FAC ! Grid box surface area [m2] AREA_M2 = State_Grid%Area_M2(I,J) ! convert soilnat from ng /m2 /h -> kg /gridbox /s EHg0_so(I,J) = SOIL_EMIS * AREA_M2 * 1e-12_fp / & ( 60e+0_fp * 60e+0_fp ) ! Multiply by fractional land area EHg0_so(I,J) = EHg0_so(I,J) * FRAC_SNOWFREE_LAND ENDIF ENDDO ENDDO !$OMP END PARALLEL DO END SUBROUTINE SOILEMIS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: snowpack_mercury_flux ! ! !DESCRIPTION: Subroutine SNOWPACK\_MERCURY\_FLUX calculates emission of ! Hg(0) from snow and ice. !\\ !\\ ! !INTERFACE: ! SUBROUTINE SNOWPACK_MERCURY_FLUX( FLUX, LHGSNOW, State_Chm, & State_Grid, State_Met ) ! ! !USES: ! USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_TS_EMIS ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: LHGSNOW ! Use Hg from snow? TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Meteorology State object ! ! !OUTPUT PARAMETERS: ! ! Hg0 flux [kg/s] REAL(fp), INTENT(OUT) :: FLUX(State_Grid%NX,State_Grid%NY) ! ! !REMARKS: ! Emissions are a linear function of Hg mass stored in the snowpack. The ! Hg lifetime in snow is assumed to be 180 d when T< 270K and 7 d when T>270K ! ! E = k * SNOW_HG : k = 6D-8 if T<270K, 1.6D-6 otherwise ! ! These time constants reflect the time scales of emission observed in the ! Arctic and in field studies. Holmes et al 2010 ! ! Formulation from Holmes et al. 2010 is now obsolete. Instead, emissions ! from snow are tied to solar radiation, not temperature. Effective rate ! constant is in the mid-range of values estimated by Durnford and Dastoor ! (2011) and consistent with surface air Hg0 observations, as described in ! Fisher et al. (2011, in review). ! ! !REVISION HISTORY: ! 15 Sep 2009 - C. Holmes, S. Carouge - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, J, MONTH REAL(fp) :: DTSRCE, SNOW_HG_OC_NEW, K_EMIT, SWRAD REAL(fp) :: SNOW_HG_LN_NEW, FLUX_TMP ! For solar flux dependent photo-reduction (jaf, 11/18/11) ! This is in units of m2/W/s so that when multiplied by SWRAD we ! end up with units of 1/s. This corresponds to k ~0.001 1/h ! when SWRAD = 100 W/m2 REAL(fp), PARAMETER :: K_EMIT_0 = 2.5e-9_fp ! Pointers REAL(fp), POINTER :: SNOW_HG_OC(:,:) REAL(fp), POINTER :: SNOW_HG_LN(:,:) !================================================================= ! SNOWPACK_MERCURY_FLUX begins here! !================================================================= ! Initialize FLUX = 0e+0_fp ! Return to calling program if snowpack model is disabled IF ( .NOT. LHGSNOW ) RETURN ! Point to fields in State_Chm SNOW_HG_OC => State_Chm%SnowHgOcean SNOW_HG_LN => State_Chm%SnowHgLand ! Emission timestep [s] DTSRCE = GET_TS_EMIS() !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, SNOW_HG_OC_NEW, K_EMIT )& !$OMP PRIVATE( SWRAD, SNOW_HG_LN_NEW, FLUX_TMP )& !$OMP COLLAPSE( 2 ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! If the sun is set, then no emissions, go to next box IF ( State_Met%SUNCOS(I,J) < 0e+0_fp ) CYCLE ! Zero variables K_EMIT = 0e+0_fp SWRAD = 0e+0_fp ! Set solar radiation @ ground SWRAD = State_Met%SWGDN(I,J) ! Compute K_EMIT K_EMIT = K_EMIT_0 * SWRAD ! SWRAD can be very small at edge of sunlit zone, probably due to ! averaging. This can make K_EMIT unrealistically small (e.g.: ! 1d-13 * 1d-9 ~ 1d-22). In IF statement below, we only use & save ! K_EMIT if it is >= K_EMIT_0 (jaf, 5/19/11) IF ( K_EMIT >= K_EMIT_0 ) THEN ! Zero temporary reservoir on each iteration FLUX_TMP = 0D0 ! Check if there is Hg that could be emitted IF ( SNOW_HG_OC(I,J) > 0e+0_fp ) THEN ! New mass of snow in Hg SNOW_HG_OC_NEW = SNOW_HG_OC(I,J) * EXP(-K_EMIT*DTSRCE) FLUX_TMP = MAX(SNOW_HG_OC(I,J) - SNOW_HG_OC_NEW, 0e+0_fp) SNOW_HG_OC(I,J) = SNOW_HG_OC_NEW ENDIF !SNOW_HG_OC > 0 ! Check if there is Hg in land snow that could be emitted IF ( SNOW_HG_LN(I,J) > 0e+0_fp ) THEN ! New mass of snow in Hg SNOW_HG_LN_NEW = SNOW_HG_LN(I,J) * EXP(-K_EMIT*DTSRCE) FLUX_TMP = FLUX_TMP + MAX(SNOW_HG_LN(I,J)-SNOW_HG_LN_NEW,0D0) SNOW_HG_LN(I,J) = SNOW_HG_LN_NEW ENDIF !SNOW_HG_LN > 0 ! Convert mass -> flux FLUX(I,J) = FLUX_TMP / DTSRCE ENDIF !K_EMIT >= K_EMIT_0 ENDDO ENDDO !$OMP END PARALLEL DO ! Free pointers SNOW_HG_OC => NULL() SNOW_HG_LN => NULL() END SUBROUTINE SNOWPACK_MERCURY_FLUX !EOC !============================================================================== ! Disable GTMM for now. This code needs to be brought-up-to-date so that ! input data are in netCDF and read in via HEMCO (mps, 3/10/19) !!------------------------------------------------------------------------------ !! GEOS-Chem Global Chemical Transport Model ! !!------------------------------------------------------------------------------ !!BOP !! !! !IROUTINE: gtmm_dr !! !! !DESCRIPTION: GTMM\_DR is a driver to call GTMM from GEOS-Chem. !!\\ !!\\ !! !INTERFACE: !! ! SUBROUTINE GTMM_DR( Input_Opt, State_Grid, State_Met, State_Chm, Hg0gtm, RC ) !! !! !USES: !! ! USE BPCH2_MOD ! USE DEPO_MERCURY_MOD, ONLY : CHECK_DIMENSIONS ! USE DEPO_MERCURY_MOD, ONLY : WD_Hg2, WD_HgP, DD_HgP, DD_Hg2 ! USE DEPO_MERCURY_MOD, ONLY : READ_GTMM_RESTART ! USE ErrCode_Mod ! USE FILE_MOD, ONLY : IOERROR ! USE Input_Opt_Mod, ONLY : OptInput ! USE inquireMod, ONLY : findFreeLun ! USE State_Chm_Mod, ONLY : ChmState ! USE State_Grid_Mod, ONLY : GrdState ! USE State_Met_Mod, ONLY : MetState ! USE TIME_MOD, ONLY : EXPAND_DATE, YMD_EXTRACT ! USE TIME_MOD, ONLY : GET_NYMD, GET_NHMS !! !! !INPUT PARAMETERS: !! ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object !! !! !INPUT/OUTPUT PARAMETERS: !! ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object !! !! !OUTPUT PARAMETERS: !! ! ! Emission of Hg0 calculated by GTMM for the month [kg/s] ! REAL(fp), INTENT(OUT) :: Hg0gtm(State_Grid%NX,State_Grid%NY) ! ! ! Success or failure? ! INTEGER, INTENT(OUT) :: RC !! !! !REMARKS: !! ########################################################################## !! ##### NOTE: BINARY PUNCH INPUT IS BEING PHASED OUT. THIS DATA ##### !! ##### WILL EVENTUALLY BE READ IN FROM netCDF FILES VIA HEMCO! ##### !! ##### -- Bob Yantosca (05 Mar 2015) ##### !! ########################################################################## !! !! !REVISION HISTORY: !! 15 Sep 2009 - C. Carouge - Initial version !! See https://github.com/geoschem/geos-chem for complete history !!EOP !!------------------------------------------------------------------------------ !!BOC !! !! !LOCAL VARIABLES: !! ! INTEGER :: YEAR ! Current year ! INTEGER :: MONTH ! Current month ! INTEGER :: DAY ! INTEGER :: NYMD, NHMS ! ! REAL(fp) :: TSURF(State_Grid%NX, State_Grid%NY) ! Ground temperature ! REAL(fp) :: PRECIP(State_Grid%NX, State_Grid%NY) ! Total precipitation ! ! for the month ! REAL(fp) :: SOLAR_W(State_Grid%NX, State_Grid%NY) ! Solar radiation for ! ! the month ! ! REAL*4, :: TRACER(State_Grid%NX, State_Grid%NY) ! Temporary array ! ! ! Monthly average deposition arrays ! REAL(fp) :: Hg0mth_dry(State_Grid%NX, State_Grid%NY) ! REAL(fp) :: Hg2mth_dry(State_Grid%NX, State_Grid%NY) ! REAL(fp) :: Hg2mth_wet(State_Grid%NX, State_Grid%NY) ! ! INTEGER :: IOS, I, J, L, IU_FILE ! ! CHARACTER(LEN=255) :: FILENAME ! ! ! For binary punch file, version 2.0 ! INTEGER :: NI, NJ, NL ! INTEGER :: IFIRST, JFIRST, LFIRST ! INTEGER :: HALFPOLAR, CENTER180 ! INTEGER :: NTRACER, NSKIP ! REAL*4 :: LONRES, LATRES ! REAL(fp) :: ZTAU0, ZTAU1 ! CHARACTER(LEN=20) :: MODELNAME ! CHARACTER(LEN=40) :: CATEGORY ! CHARACTER(LEN=40) :: UNIT ! CHARACTER(LEN=40) :: RESERVED ! ! !================================================================= ! ! GTMM_DR begins here! ! !================================================================= ! ! ! Assume success ! RC = GC_SUCCESS ! ! ! Initialise arrays ! NYMD = GET_NYMD() ! NHMS = GET_NHMS() ! ! TSURF = 0e+0_fp ! PRECIP = 0e+0_fp ! SOLAR_W = 0e+0_fp ! Hg0gtm = 0e+0_fp ! ! ! Reset deposition arrays. ! Hg0mth_dry = 0e+0_fp ! Hg2mth_dry = 0e+0_fp ! Hg2mth_wet = 0e+0_fp ! ! CALL YMD_EXTRACT( NYMD, YEAR, MONTH, DAY ) ! ! !================================================================= ! ! Read monthly meteorology fields ! !================================================================= ! ! ! Find a free file LUN ! IU_FILE = findFreeLun() ! ! ! File name ! FILENAME = TRIM( Input_Opt%DATA_DIR ) // & ! TRIM( Input_Opt%RES_DIR ) // 'mercury_201007/' // & ! 'mean_metfields/' // GET_NAME_EXT() // & ! '/mean_YYYYMM.bpch' ! ! ! Replace YYYY, MM, DD, HH tokens in FILENAME w/ actual values ! CALL EXPAND_DATE( FILENAME, NYMD, NHMS ) ! ! ! Echo some input to the screen ! WRITE( 6, '(a)' ) REPEAT( '=', 79 ) ! WRITE( 6, 100 ) ! WRITE( 6, 110 ) TRIM( FILENAME ), IU_FILE !100 FORMAT( 'G T M M H g M E T F I L E I N P U T' ) !110 FORMAT( /, 'GTMM_DR: Reading ', a, ' on unit ', i6 ) ! ! ! Open the binary punch file for input ! CALL OPEN_BPCH2_FOR_READ( IU_FILE, FILENAME ) ! ! !----------------------------------------------------------------- ! ! Read concentrations -- store in the TRACER array ! !----------------------------------------------------------------- ! DO ! READ( IU_FILE, IOSTAT=IOS ) & ! MODELNAME, LONRES, LATRES, HALFPOLAR, CENTER180 ! ! ! IOS < 0 is end-of-file, so exit ! IF ( IOS < 0 ) EXIT ! ! ! IOS > 0 is a real I/O error -- print error message ! IF ( IOS > 0 ) CALL IOERROR( IOS, IU_FILE, 'rd_gtmm_dr:1' ) ! ! READ( IU_FILE, IOSTAT=IOS ) & ! CATEGORY, NTRACER, UNIT, ZTAU0, ZTAU1, RESERVED, & ! NI, NJ, NL, IFIRST, JFIRST, LFIRST, NSKIP ! ! IF ( IOS /= 0 ) CALL IOERROR( IOS, IU_FILE, 'rd_gtmm_dr:2' ) ! ! READ( IU_FILE, IOSTAT=IOS ) & ! ( ( TRACER(I,J), I=1,NI ), J=1,NJ ) ! ! IF ( IOS /= 0 ) CALL IOERROR( IOS, IU_FILE, 'rd_gtmm_dr:3' ) ! ! !-------------------------------------------------------------- ! ! Assign data from the TRACER array to the arrays. ! !-------------------------------------------------------------- ! ! ! Process dry deposition data ! IF ( CATEGORY(1:8) == 'GMAO-2D' ) THEN ! ! ! Make sure array dimensions are of global size ! ! (NI=State_Grid%NX; NJ=State_Grid%NY, NL=1), or stop the run ! CALL CHECK_DIMENSIONS( NI, NJ, NL, State_Grid ) ! ! ! Save into arrays ! IF ( NTRACER == 54 .OR. NTRACER == 59 ) THEN ! ! !---------- ! ! Surface temperature ! !---------- ! ! ! Store surface temperature in TSURF array ! TSURF(:,:) = TRACER(:,State_Grid%NY:1:-1) ! ! ELSE IF ( NTRACER == 26 .OR. NTRACER == 29 ) THEN ! ! !---------- ! ! Total precipitation ! !---------- ! ! ! Store precipitation in PRECIP array ! PRECIP(:,:) = TRACER(:,State_Grid%NY:1:-1) ! ! ELSE IF ( NTRACER == 37 .OR. NTRACER == 51 ) THEN ! ! !---------- ! ! Solar radiation ! !---------- ! ! ! Store solar radiation in SOLAR_W array ! SOLAR_W(:,:) = TRACER(:,State_Grid%NY:1:-1) ! ! ENDIF ! ENDIF ! ! ENDDO ! ! ! Close file ! CLOSE( IU_FILE ) ! ! !================================================================= ! ! Read GTMM restart file to get data from previous month ! !================================================================= ! CALL READ_GTMM_RESTART( Input_Opt, State_Chm, State_Grid, & ! NYMD, NHMS, & ! Hg0mth_dry, Hg2mth_dry, Hg2mth_wet, RC ) ! ! !================================================================= ! ! Call GTMM model ! !================================================================= !#if defined( GTMM_Hg ) ! CALL GTMM_coupled( YEAR, & ! MONTH, & ! Hg0mth_dry(:,State_Grid%NY:1:-1), & ! Hg2mth_dry(:,State_Grid%NY:1:-1), & ! Hg2mth_wet(:,State_Grid%NY:1:-1), & ! TSURF, & ! PRECIP, & ! SOLAR_W, & ! Hg0gtm(:,State_Grid%NY:1:-1) ) !#endif ! ! DO J = 1, State_Grid%NY ! DO I = 1, State_Grid%NX ! IF ( .NOT. State_Met%IsLand(I,J) ) Hg0gtm(I,J) = 0e+0_fp ! ENDDO ! ENDDO ! ! END SUBROUTINE GTMM_DR !!EOC !============================================================================== !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: init_land_mercury ! ! !DESCRIPTION: Subroutine INIT\_LAND\_MERCURY allocates and zeroes all ! module arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE INIT_LAND_MERCURY( Input_Opt, State_Chm, RC ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD, ONLY : ALLOC_ERR USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 14 Sep 2009 - C. Carouge - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC !================================================================= ! INIT_MERCURY begins here! !================================================================= ! Assume success RC = GC_SUCCESS END SUBROUTINE INIT_LAND_MERCURY !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: cleanup_land_mercury ! ! !DESCRIPTION: Subroutine CLEANUP\_LAND\_MERCURY deallocates all module ! arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CLEANUP_LAND_MERCURY ! ! !REVISION HISTORY: ! 14 Sep 2009 - C. Carouge - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC END SUBROUTINE CLEANUP_LAND_MERCURY !EOC END MODULE LAND_MERCURY_MOD ================================================ FILE: GeosCore/linear_chem_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: linear_chem_mod.F90 ! ! !DESCRIPTION: Module LINEAR\_CHEM\_MOD contains variables and routines for ! performing a simple linearized chemistry scheme. ! ! The simple linearized chemistry here will be applied above the chemistry ! grid using archived 3D monthly climatological production rates and loss ! frequencies from the GMI combo model. ! ! The prod rates and loss frequencies are read via HEMCO. They are ! stored in a data structure of flexible length (PLVEC). The file containing ! the prod rates and loss frequencies need to be specified in the HEMCO ! configuration file for each species of interest. They are then automatically ! read and remapped onto the simulation grid. ! ! The field names assigned to the production and loss fields are expected to ! be 'GMI\_PROD\_XXX' and 'GMI\_LOSS\_XXX', respectively, where XXX is the ! species name. Production rates must be given in units of v/v/s, and loss ! frequencies in s-1. ! ! The module variable PLMUSTFIND (set below) determines the behavior if no ! production rates and/or loss frequencies can be found for any of the GMI ! species defined in this module. IF PLMUSTFIND is set to TRUE, the code stops ! with an error if no entry is found. Otherwise, steady-state values are used ! for all species with no explicitly given values. ! ! The (monthly) OH concentrations are also obtained through HEMCO. The field ! name must be 'GMI\_OH', and values must be in v/v. !\\ !\\ ! !INTERFACE: ! MODULE Linear_Chem_Mod ! ! !USES: ! ! for precisions USE HCO_Error_Mod USE Precision_Mod ! For GEOS-Chem Precision (fp, f4, f8) IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: Init_Linear_Chem PUBLIC :: Do_Linear_Chem PUBLIC :: Cleanup_Linear_Chem ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: Set_BryPointers PRIVATE :: Set_PLVEC PRIVATE :: Do_Synoz ! ! !PUBLIC DATA MEMBERS: ! PUBLIC :: Minit_Is_Set ! NOTE: Also need to remove in GCHP/GEOS-5 ! ! !REVISION HISTORY: ! 01 Feb 2011 - L. Murray - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! BrPointers is a derived type to hold pointers to the Bry day ! and night data TYPE :: BrPointers REAL(f4), POINTER :: MR(:,:,:) => NULL() END TYPE BrPointers ! Vectors holding the mixing ratios (MR) of day/night Bry data. ! The mixing ratios will be read and interpolated by HEMCO. The ! corresponding HEMCO fields must be specified in the HEMCO ! configuration file. The field names are assumed to be ! 'GEOSCCM_XY_DAY' and 'GEOSCCM_XY_NIGHT', respectively, where ! XY is the Bry species name. It is also assumed that the input ! data is in ppt. ! ! NOTE: Need to dynamically allocate these to avoid having to ! declare these with the SAVE attribute (bmy, 10/3/16) TYPE(BrPointers), PUBLIC, POINTER :: BrPtrDay(:) TYPE(BrPointers), PUBLIC, POINTER :: BrPtrNight(:) ! PL_Pointers is a derived type to hold pointers to the production ! and loss fields TYPE :: PL_Pointers REAL(f4), POINTER :: PROD(:,:,:) => NULL() ! Production rate [v/v/s] REAL(f4), POINTER :: LOSS(:,:,:) => NULL() ! Loss frequency [s-1] END TYPE PL_Pointers ! Monthly mean OH [v/v] REAL(f4), PUBLIC, POINTER :: GMI_OH(:,:,:) => NULL() ! Vector holding the prod/loss arrays of all active chem species TYPE(PL_Pointers), PUBLIC, POINTER :: PLVEC(:) => NULL() ! Toggle to specify whether or not production/loss rates must be provided ! for every species. If set to TRUE, the code will return with ! an error if the production/loss rate cannot be found (through HEMCO) for ! any of the species. If set to .FALSE., only a warning is prompted and a ! value of 0.0 is used for every field that cannotbe found. LOGICAL, PARAMETER :: PLMUSTFIND = .FALSE. ! Number of species from GMI INTEGER :: NTR ! Minit_Is_Set indicates whether Minit has been set or not LOGICAL :: Minit_Is_Set = .FALSE. ! ! !PRIVATE TYPES: ! ! Scalars REAL(fp) :: dTchem ! chemistry time step [s] INTEGER, PUBLIC :: NSCHEM ! Number of species upon which to ! apply P's & k's in GEOS-Chem ! Arrays CHARACTER(LEN=16), ALLOCATABLE :: TrName(:) !Tracer names in GMI INTEGER, PUBLIC, ALLOCATABLE :: TrID_GC (:) !Maps 1:NSCHEM to SC%Species INTEGER, ALLOCATABLE :: TrID(:) !Maps 1:NSCHEM to GMI index ! Species index of Bry species in GEOS-Chem species DB(may differ from br_nos) INTEGER, PUBLIC :: GC_Bry_TrID(6) ! Species ID flags INTEGER :: id_Br2, id_Br, id_BrNO3 INTEGER :: id_BrO, id_CHBr3, id_CH2Br2 INTEGER :: id_CH3Br, id_HOBr, id_HBr INTEGER :: id_O3, id_O3Strat CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Do_Linear_Chem ! ! !DESCRIPTION: Function DO\_LINEAR\_CHEM is the driver routine for computing ! the simple linearized chemistry above the chemistry grid. !\\ !\\ ! !INTERFACE: ! SUBROUTINE DO_LINEAR_CHEM( Input_Opt, State_Chm, State_Grid, & State_Met, errCode ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD USE Input_Opt_Mod, ONLY : OptInput USE LINOZ_MOD, ONLY : DO_LINOZ USE PhysConstants, ONLY : XNUMOLAIR, AIRMW, AVO USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : TIMESTAMP_STRING USE Timers_Mod, ONLY : Timer_End, Timer_Start USE UnitConv_Mod IMPLICIT NONE ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: errCode ! Success or failure ! ! !REVISION HISTORY: ! 01 Feb 2011 - L. Murray - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! SAVEd quantities LOGICAL, SAVE :: FIRST = .TRUE. INTEGER, SAVE :: LASTMONTH = -99 ! Flags for simulation types LOGICAL :: IT_IS_A_FULLCHEM_SIM LOGICAL :: IT_IS_A_TAGO3_SIM ! Scalars INTEGER :: previous_units INTEGER :: I, J, L, N, NN REAL(fp) :: dt, P, k, M0, RC REAL(fp) :: TK, RDLOSS, T1L, mOH, BryTmp REAL(fp) :: BOXVL, Num, Den, M REAL(fp) :: MW_g LOGICAL :: LLINOZ LOGICAL :: LSYNOZ LOGICAL :: LCYCLE LOGICAL :: ISBR2 #if defined( MODEL_GEOS ) || defined( MODEL_CESM ) || defined( MODEL_BCC ) LOGICAL :: SKIP #endif ! Strings CHARACTER(LEN=16) :: STAMP CHARACTER(LEN=255) :: ThisLoc CHARACTER(LEN=512) :: ErrMsg ! Pointers TYPE(SpcConc), POINTER :: Spc(:) REAL(fp), POINTER :: AD (:,:,:) REAL(fp), POINTER :: T (:,:,:) !======================================================================= ! DO_LINEAR_CHEM begins here! !======================================================================= ! Initialize errCode = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Do_Linear_Chem (in module GeosCore/linear_chem_mod.F90)' ! Initialize further LLINOZ = Input_Opt%LLINOZ LSYNOZ = Input_Opt%LSYNOZ IT_IS_A_FULLCHEM_SIM = Input_Opt%ITS_A_FULLCHEM_SIM IT_IS_A_TAGO3_SIM = Input_Opt%ITS_A_TAGO3_SIM Spc => NULL() AD => NULL() T => NULL() #if defined( MODEL_GEOS ) || defined( MODEL_CESM ) || defined( MODEL_BCC ) ! Skip meso chem if chemistry is over entire vertical domain SKIP = .FALSE. IF ( State_Grid%MaxChemLev == State_Grid%NZ ) THEN SKIP = .TRUE. IF ( FIRST .AND. Input_Opt%amIRoot ) THEN WRITE( 6, * ) 'Fullchem up to top of atm - skip linearized mesospheric chemistry' ENDIF ENDIF IF ( .NOT. SKIP ) THEN #endif STAMP = TIMESTAMP_STRING() IF ( Input_Opt%verbose ) THEN WRITE( 6, 10 ) STAMP ENDIF 10 FORMAT( ' - DO_LINEAR_CHEM: Linearized chemistry at ', a ) #if !defined( MODEL_CESM ) !======================================================================= ! On first call, establish pointers to data fields read by HEMCO. These ! are the stratospheric Bry fields as well as the production/loss rates. ! (ckeller, 12/30/2014) ! ! If we are doing a tagO3 simulation, then we can skip this section, ! since tagO3 only uses Linoz or Synoz, but doesn't read in any P/L ! fields from disk. (bmy, 7/11/16) !======================================================================= IF ( FIRST ) THEN IF ( .not. IT_IS_A_TAGO3_SIM ) THEN ! BrPtrDay and BrPtrNight have to be allocated dynamically ! because they are pointers (bmy, 10/3/16) ALLOCATE( BrPtrDay ( 6 ), STAT=errCode ) ALLOCATE( BrPtrNight( 6 ), STAT=errCode ) ! Get pointers to Bry fields via HEMCO CALL Set_BryPointers ( Input_Opt, State_Chm, State_Met, errCode ) ! Trap potential errors IF ( errCode /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Set_BryPointers"!' CALL GC_Error( ErrMsg, errCode, ThisLoc ) RETURN ENDIF ! Get pointers to prod/loss fields via HEMCO CALL Set_PLVEC( Input_Opt, State_Chm, State_Met, errCode ) ! Trap potential errors IF ( errCode /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Set_PlVec"!' CALL GC_Error( ErrMsg, errCode, ThisLoc ) RETURN ENDIF ENDIF ENDIF #endif IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### LINEAR_CHEM: at DO_LINEAR_CHEM' ) ENDIF IF ( IT_IS_A_FULLCHEM_SIM ) THEN !======================================================================= ! FULL CHEMISTRY SIMULATIONS ! ! %%% NOTE: For now, the algorithm assumes that the advected species ! %%% are listed first. !======================================================================= ! Initialize pointers Spc => State_Chm%Species AD => State_Met%AD T => State_Met%T !-------------------------------------------------------------------- ! Do chemical production and loss for non-ozone species for ! which we have explicit prod/loss rates from GMI !-------------------------------------------------------------------- ! Timestep [s], can be pulled outside of parallel loop dt = DTCHEM !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, N, NN, k, P, M0, MW_g, Num, Den ) DO J=1,State_Grid%NY DO I=1,State_Grid%NX ! NOTE: For compatibility w/ the GEOS-5 GCM, we can no longer ! assume a minimum tropopause level. Loop from 1,State_Grid%NZ ! instead. (bmy, 7/18/12) DO L = 1, State_Grid%NZ ! For safety's sake, zero variables at each (I,J,L) box Den = 0.0_fp k = 0.0_fp M0 = 0.0_fp Mw_g = 0.0_fp Num = 0.0_fp P = 0.0_fp ! Only consider boxes above the chemistry grid IF ( State_Met%InChemGrid(I,J,L) ) CYCLE !----------------------------------------------------------- ! Loop over the # of active chem species !----------------------------------------------------------- DO N = 1, NSCHEM ! Species ID (use this for State_Chm%Species) NN = TrID_GC(N) ! Skip O3; we'll always use either Linoz or Synoz ! Use UCX/GMI O3 P/L if both LINOZ and SYNOZ are deactivated. ! This is for test use in assimilation mode (ckeller, 3/7/16) IF ( IT_IS_A_FULLCHEM_SIM .and. NN .eq. id_O3 .AND. & #if defined( MODEL_GEOS ) .NOT. Input_Opt%LGMIOZ ) CYCLE #else ( LLINOZ .OR. LSYNOZ ) ) CYCLE #endif ! Molecular weight for the species [g] MW_g = State_Chm%SpcData(NN)%Info%MW_g !-------------------------------------------------------- ! Loss freq [s-1] !-------------------------------------------------------- IF ( .NOT. ASSOCIATED(PLVEC(N)%LOSS) ) THEN ! If the PLVEC(N)%LOSS pointer is null, then the ! species doesn't have a loss rate. Set k to 0. k = 0.0_fp ELSE ! Loss rates (archived from GMI) are in s-1 k = PLVEC(N)%LOSS(I,J,L) ENDIF !-------------------------------------------------------- ! Prod term [kg/s] !-------------------------------------------------------- IF ( .NOT. ASSOCIATED(PLVEC(N)%PROD) ) THEN ! If the PLVEC(N)%PROD pointer is null, then the ! species doesn't have a production rate. Set P to 0. P = 0.0_fp ELSE ! Prod rates (archived from GMI) are in v/v/s ! Convert to kg/s here P = PLVEC(N)%PROD(I,J,L) & * AD(I,J,L) / ( AIRMW / MW_g ) ENDIF !-------------------------------------------------------- ! Apply prod and loss !-------------------------------------------------------- ! Initial mass [kg] M0 = Spc(NN)%Conc(I,J,L) ! No prod or loss at all ! NOTE: Bad form to test for equality on zero! ! Replace this later (bmy, 4/9/18) IF ( k .eq. 0e+0_fp .and. P .eq. 0e+0_fp ) CYCLE ! Simple analytic solution to dM/dt = P - kM over [0,t] IF ( k .gt. 0e+0_fp ) then Spc(NN)%Conc(I,J,L) = M0 * EXP(-k*dt) + & (P/k)*(1e+0_fp-EXP(-k*dt)) ELSE Spc(NN)%Conc(I,J,L) = M0 + P*dt ENDIF ENDDO ! N ENDDO ! L ENDDO ! I ENDDO ! J !$OMP END PARALLEL DO !-------------------------------------------------------------------- ! Ozone !-------------------------------------------------------------------- IF ( LLINOZ .OR. LSYNOZ ) THEN ! Put ozone in [v/v] for Linoz or Synoz Spc(id_O3)%Conc(:,:,:) = Spc(id_O3)%Conc(:,:,:) * ( AIRMW & / State_Chm%SpcData(id_O3)%Info%MW_g ) / AD ! Do Linoz or Synoz IF ( LLINOZ ) THEN CALL Do_Linoz( Input_Opt, State_Chm, State_Grid, & State_Met, RC=errCode ) ELSE CALL Do_Synoz( Input_Opt, State_Chm, State_Grid, & State_Met, RC=errCode ) ENDIF ! Put ozone back to [kg] Spc(id_O3)%Conc(:,:,:) = Spc(id_O3)%Conc(:,:,:) * AD / ( AIRMW & / State_Chm%SpcData(id_O3)%Info%MW_g ) ENDIF !-------------------------------------------------------------------- ! Reactions with OH ! Currently: ! (1) CHBr3 ! (2) CH2Br2 ! (3) CH3Br !-------------------------------------------------------------------- !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, M, TK, RC, RDLOSS, T1L, mOH, BOXVL ) DO J=1,State_Grid%NY DO I=1,State_Grid%NX ! NOTE: For compatibility w/ the GEOS-5 GCM, we can no longer ! assume a minimum tropopause level. Loop from 1,State_Grid%NZ ! instead. (bmy, 7/18/12) DO L = 1, State_Grid%NZ IF ( State_Met%InChemGrid(I,J,L) ) CYCLE ! Grid box volume [cm3] BOXVL = State_Met%AIRVOL(I,J,L) * 1e+6_fp ! Density of air at grid box (I,J,L) in [molec cm-3] M = AD(I,J,L) / BOXVL * XNUMOLAIR ! OH number density [molec cm-3] mOH = M * GMI_OH(I,J,L) ! Temperature at grid box (I,J,L) in K TK = T(I,J,L) !============! ! CH3Br + OH ! !============! IF ( id_CH3Br .gt. 0 ) THEN RC = 2.35e-12_fp * EXP ( - 1300.e+0_fp / TK ) RDLOSS = MIN( RC * mOH * DTCHEM, 1e+0_fp ) T1L = Spc(id_CH3Br)%Conc(I,J,L) * RDLOSS Spc(id_CH3Br)%Conc(I,J,L) = Spc(id_CH3Br)%Conc(I,J,L) - T1L ENDIF !============! ! CHBr3 + OH ! !============! IF ( id_CHBr3 .gt. 0 ) THEN RC = 1.35e-12_fp * EXP ( - 600.e+0_fp / TK ) RDLOSS = MIN( RC * mOH * DTCHEM, 1e+0_fp ) T1L = Spc(id_CHBr3)%Conc(I,J,L) * RDLOSS Spc(id_CHBr3)%Conc(I,J,L) = Spc(id_CHBr3)%Conc(I,J,L) - T1L ENDIF !=============! ! CH2Br2 + OH ! !=============! IF ( id_CH2Br2 .gt. 0 ) THEN RC = 2.00e-12_fp * EXP ( - 840.e+0_fp / TK ) RDLOSS = MIN( RC * mOH * DTCHEM, 1e+0_fp ) T1L = Spc(id_CH2Br2)%Conc(I,J,L) * RDLOSS Spc(id_CH2Br2)%Conc(I,J,L) = & Spc(id_CH2Br2)%Conc(I,J,L) - T1L ENDIF ENDDO ! J ENDDO ! I ENDDO ! L !$OMP END PARALLEL DO !-------------------------------------------------------------------- ! Prescribe Br_y concentrations !-------------------------------------------------------------------- !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( NN, ISBR2, L, J, I, LCYCLE, BryTmp ) DO NN = 1,6 IF ( GC_Bry_TrID(NN) > 0 ) THEN ! Is this Br2? ISBR2 = ( Gc_Bry_TrId(NN) == id_Br2 ) ! NOTE: For compatibility w/ the GEOS-5 GCM, we can no longer ! assume a minimum tropopause level. Loop from 1,State_Grid%NZ ! instead. (bmy, 7/18/12) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX LCYCLE = State_Met%InChemGrid(I,J,L) IF ( LCYCLE ) CYCLE ! Now get Br data through HEMCO pointers (ckeller, 12/30/14). IF ( State_Met%SUNCOS(I,J) > 0.e+0_fp ) THEN ! daytime [ppt] -> [kg] BryTmp = BrPtrDay(NN)%MR(I,J,L) & * 1.e-12_fp & ! convert from [ppt] * AD(I,J,L) & / ( AIRMW & / State_Chm%SpcData(GC_Bry_TrID(NN))%Info%MW_g ) ELSE ! nighttime [ppt] -> [kg] BryTmp = BrPtrNight(NN)%MR(I,J,L) & * 1.e-12_fp & ! convert from [ppt] * AD(I,J,L) & / ( AIRMW & / State_Chm%SpcData(GC_Bry_TrID(NN))%Info%MW_g ) ENDIF ! Special adjustment for G-C Br2, ! which is BrCl above the strat (ckeller, 1/2/15) IF ( ISBR2 ) BryTmp = BryTmp / 2.0_fp ! Pass to Spc array Spc(GC_Bry_TrID(NN))%Conc(I,J,L) = BryTmp ENDDO ENDDO ENDDO ENDIF ENDDO ! NN !$OMP END PARALLEL DO ! Free pointers Spc => NULL() AD => NULL() T => NULL() ELSE IF ( IT_IS_A_TAGO3_SIM ) THEN !====================================================================== ! TAGGED O3 SIMULATION ! ! Tagged O3 only makes use of Linoz. We apply it to ! the total O3 species and the stratospheric O3 species. !====================================================================== IF ( LLINOZ .OR. LSYNOZ ) THEN ! Halt linear chem timer (so that unit conv can be timed separately) IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "=> Linearized chem", errCode ) ENDIF ! Convert units to [v/v dry air] aka [mol/mol dry] ! for Linoz and Synoz (ewl, 10/05/15) CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & mapping = State_Chm%Map_Advect, & new_units = MOLES_SPECIES_PER_MOLES_DRY_AIR, & previous_units = previous_units, & RC = errCode ) ! Trap potential errors IF ( errCode /= GC_SUCCESS ) THEN ErrMsg = 'Unit conversion error (forward) in "Convert_Spc_Units"!' CALL GC_Error( ErrMsg, errCode, ThisLoc ) RETURN ENDIF ! Start linear chem timer again IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "=> Linearized chem", errCode ) ENDIF ! Do LINOZ or SYNOZ IF ( LLINOZ ) THEN CALL Do_Linoz( Input_Opt, State_Chm, State_Grid, & State_Met, errCode ) ELSE CALL Do_Synoz( Input_Opt, State_Chm, State_Grid, & State_Met, errCode ) ENDIF ! Halt linear chem timer (so that unit conv can be timed separately) IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "=> Linearized chem", errCode ) ENDIF ! Convert species units back to original unit CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & mapping = State_Chm%Map_Advect, & new_units = previous_units, & RC = errCode ) ! Trap potential errors IF ( errCode /= GC_SUCCESS ) THEN ErrMsg = 'Unit conversion error (backward) in "Convert_Spc_Units"!' CALL GC_Error( ErrMsg, errCode, ThisLoc ) RETURN ENDIF ! Start linear chem timer again IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "=> Linearized chem", errCode ) ENDIF ENDIF ELSE !====================================================================== ! OTHER SIMULATIONS ! ! The code will need to be modified for other tagged simulations ! (e.g., CO). Simulations like CH4, CO2 with standard species names ! should probably just work as is with the full chemistry code above, ! but would need to be tested. !====================================================================== ! Free pointers Spc => NULL() AD => NULL() T => NULL() ! Exit with error if linearized chemistry is not activated ErrMsg = 'Linearized chemistry needs to be activated for this ' // & 'simulation type. Please see GeosCore/linear_chem_mod.F90 ' // & 'or disable linear_chemistry_aloft in geoschem_config.yml' CALL GC_Error( ErrMsg, errCode, ThisLoc ) RETURN ENDIF #if defined( MODEL_GEOS ) || defined( MODEL_CESM ) || defined( MODEL_BCC ) ! End of SKIP loop ENDIF ! SKIP #endif ! Set first-time flag to false FIRST = .FALSE. ! Free pointer Spc => NULL() AD => NULL() T => NULL() END SUBROUTINE Do_Linear_Chem !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Set_BryPointers ! ! !DESCRIPTION: Subroutine SET\_BryPointers gets the Bry stratospheric data ! read by HEMCO. The pointers only need to be established once. Target data ! is automatically updated through HEMCO. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Set_BryPointers( Input_Opt, State_Chm, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE HCO_State_GC_Mod, ONLY : HcoState USE HCO_EMISLIST_MOD, ONLY : HCO_GetPtr USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Met_Mod, ONLY : MetState IMPLICIT NONE ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorological State object ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: RC ! Success or failure ! ! !REVISION HISTORY: ! 30 Dec 2014 - C. Keller - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars CHARACTER(LEN=16) :: ThisName CHARACTER(LEN=255) :: PREFIX, FIELDNAME, ThisLoc CHARACTER(LEN=1024) :: ErrMsg INTEGER :: N !================================================================= ! Set_BryPointers begins here !================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Set_BryPointers (in module GeosCore/linear_chem_mod.F90)' ! Do for every Bry species DO N = 1, 6 ! Skip if species is not defined IF ( GC_Bry_TrID(N) <= 0 ) CYCLE ! Get Bry name ThisName = State_Chm%SpcData(GC_Bry_TrID(N))%Info%Name ! Construct field name using Bry name PREFIX = 'GEOSCCM_'//TRIM(ThisName) ! Get pointer to this field. These are the mixing ratios (pptv). ! Day FIELDNAME = TRIM(PREFIX) // '_DAY' CALL HCO_GetPtr( HcoState, FIELDNAME, BrPtrDay(N)%MR, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot get pointer from HEMCO! Stratospheric Bry data '//& 'is expected to be listed in the HEMCO configuration ' //& 'file. This error occured when trying to get field ' //& TRIM( FieldName ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Night FIELDNAME = TRIM(PREFIX) // '_NIGHT' CALL HCO_GetPtr( HcoState, FIELDNAME, BrPtrNight(N)%MR, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot get pointer from HEMCO! Stratospheric Bry data '//& 'is expected to be listed in the HEMCO configuration ' //& 'file. This error occured when trying to get field ' //& TRIM( FieldName ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDDO !N ! Return w/ success RC = GC_SUCCESS END SUBROUTINE Set_BryPointers !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Set_Plvec ! ! !DESCRIPTION: Subroutine SET\_PLVEC gets the production and loss terms of ! all chem species from HEMCO. The pointers only need to be established ! once. Target data is automatically updated through HEMCO. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Set_PLVEC( Input_Opt, State_Chm, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE HCO_State_GC_Mod, ONLY : HcoState USE HCO_EMISLIST_MOD, ONLY : HCO_GetPtr USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Met_Mod, ONLY : MetState IMPLICIT NONE ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorological State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object INTEGER, INTENT(INOUT) :: RC ! Success or failure ! ! !REVISION HISTORY: ! 16 Jan 2015 - C. Keller - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars CHARACTER(LEN=16) :: ThisName CHARACTER(LEN=255) :: FIELDNAME INTEGER :: N, TRCID LOGICAL :: FND INTEGER :: I, J, L ! Strings CHARACTER(LEN=63) :: OrigUnit CHARACTER(LEN=255) :: ThisLoc CHARACTER(LEN=1024) :: ErrMsg !================================================================= ! Set_PLVEC begins here !================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Set_PLVEC (in module GeosCore/linear_chem_mod.F90)' ! Do for every species DO N = 1,NSCHEM ! Get GEOS-Chem species index TRCID = TrID_GC(N) ! Skip if species is not defined IF ( TRCID <= 0 ) CYCLE ! Get species name ThisName = State_Chm%SpcData(TRCID)%Info%Name ! --------------------------------------------------------------- ! Get pointers to fields ! --------------------------------------------------------------- ! Production rates [v/v/s] FIELDNAME = 'GMI_PROD_'//TRIM(ThisName) ! Get pointer from HEMCO CALL HCO_GetPtr( HcoState, FIELDNAME, PLVEC(N)%PROD, RC, FOUND=FND ) ! Trap potential errors IF ( RC /= HCO_SUCCESS .OR. ( PLMUSTFIND .AND. .NOT. FND) ) THEN ErrMsg = 'Cannot get pointer from HEMCO! Prod/loss ' // & 'data is expected to be listed in the HEMCO ' // & 'configuration file. This error occured when trying ' // & 'to get field ' // TRIM( FIELDNAME ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Warning message IF ( .NOT. FND .AND. Input_Opt%amIRoot ) THEN ErrMsg = 'Cannot find archived production rates for ' // & TRIM(ThisName) // ' - will use value of 0.0. ' // & 'To use archived rates, add the following field ' // & 'to the HEMCO configuration file: '// TRIM( FIELDNAME ) CALL GC_Warning( ErrMsg, RC, ThisLoc ) ENDIF ! Loss frequency [s-1] FIELDNAME = 'GMI_LOSS_'//TRIM(ThisName) ! Get pointer from HEMCO CALL HCO_GetPtr( HcoState, FIELDNAME, PLVEC(N)%LOSS, RC, FOUND=FND ) ! Trap potential errors IF ( RC /= HCO_SUCCESS .OR. ( PLMUSTFIND .AND. .NOT. FND) ) THEN ErrMsg = 'Cannot get pointer from HEMCO! Prod/loss ' // & 'data is expected to be listed in the HEMCO ' // & 'configuration file. This error occured when trying ' // & 'to get field ' // TRIM( FIELDNAME ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Warning message IF ( .NOT. FND .AND. Input_Opt%amIRoot ) THEN ErrMsg= 'Cannot find archived loss frequencies for ' // & TRIM(ThisName) // ' - will use value of 0.0. ' // & 'To use archived rates, add the following field ' // & 'to the HEMCO configuration file: '//TRIM(FIELDNAME) CALL GC_Warning( ErrMsg, RC, ThisLoc ) ENDIF ENDDO !N ! Get pointer to GMI_OH CALL HCO_GetPtr( HcoState, 'GMI_OH', GMI_OH, RC, FOUND=FND ) ! Trap potential errors IF ( RC /= HCO_SUCCESS .OR. .NOT. FND ) THEN ErrMsg = 'Cannot find monthly archived OH field ' // & '`GMI_OH`. Please add a corresponding entry to ' // & 'the HEMCO configuration file.' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Return w/ success RC = GC_SUCCESS END SUBROUTINE Set_PLVEC !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_Linear_Chem ! ! !DESCRIPTION: Subroutine INIT\_LINEAR\_CHEM allocates all module arrays. ! It also opens the necessary rate files. !\\ !\\ ! !INTERFACE: ! SUBROUTINE INIT_LINEAR_CHEM( Input_Opt, State_Chm, State_Met, & State_Grid, RC ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD, ONLY : ALLOC_ERR USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : Species USE State_Chm_Mod, ONLY : ChmState USE State_Chm_Mod, ONLY : Ind_ USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_TS_CHEM IMPLICIT NONE ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REVISION HISTORY: ! 01 Feb 2011 - L. Murray - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=16) :: sname CHARACTER(LEN=255) :: ErrMsg, ThisLoc ! Scalars INTEGER :: AS, N, NN, NA, nAdvect LOGICAL :: IT_IS_A_FULLCHEM_SIM LOGICAL :: IT_IS_A_TAGO3_SIM LOGICAL :: LLINOZ ! Pointers TYPE(Species), POINTER :: SpcInfo !================================================================ ! Initialize !================================================================= RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> Init_Linear_Chem (in Headers/linear_chem_mod.F90)' !================================================================= ! Get species ID flags !================================================================= id_Br = Ind_('Br' ) id_Br2 = Ind_('Br2' ) id_BrNO3 = Ind_('BrNO3' ) id_BrO = Ind_('BrO' ) id_CHBr3 = Ind_('CHBr3' ) id_CH2Br2 = Ind_('CH2Br2' ) id_CH3Br = Ind_('CH3Br' ) id_HOBr = Ind_('HOBr' ) id_HBr = Ind_('HBr' ) id_O3 = Ind_('O3' ) id_O3Strat = Ind_('O3Strat') ! Save fields from the Input_Opt object to local variables LLINOZ = Input_Opt%LLINOZ IT_IS_A_FULLCHEM_SIM = Input_Opt%ITS_A_FULLCHEM_SIM IT_IS_A_TAGO3_SIM = Input_Opt%ITS_A_TAGO3_SIM ! Number of advected species nAdvect = State_Chm%nAdvect ! Initialize counters, initial times, mapping arrays NSCHEM = 0 ! Initialize timestep for chemistry [s] dTchem = GET_TS_CHEM() !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! Allocate and initialize arrays for mapping GMI species !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! Number of GMI species NTR = 125 ALLOCATE( TrName(NTR), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'TrName' ) TrName(:) = '' ALLOCATE( TrID_GC (NTR), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'TrID_GC' ) TrID_GC(:) = 0 ALLOCATE( TrID(NTR), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'TrID' ) TrID(:) = 0 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! Determine the mapping for GMI to GC variables based on ! species name, which only needs to be done once per model run. !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! List of available species with archived monthly climatological ! production rates, loss frequencies, and mixing ratios ! ! Rewrote the TrName array constructor so that all of the species ! names have the same length. This will prevent Gfortran from choking ! with an error. This is OK since we trim TrName before using ! it in any string comparisons. (bmy, 9/20/16) ! Species in GMI Combo model TrName = (/ 'A3O2 ', 'ACET ', 'ACTA ', 'ALD2 ', & 'ALK4 ', 'ATO2 ', 'B3O2 ', 'Br ', & 'BrCl ', 'BrO ', 'BrONO2 ', 'C2H6 ', & 'C3H8 ', 'CCl4 ', 'CF2Br2 ', 'CF2Cl2 ', & 'CF2ClBr ', 'CF3Br ', 'CFC113 ', 'CFC114 ', & 'CFC115 ', 'CFCl3 ', 'CH2O ', 'CH3Br ', & 'CH3CCl3 ', 'CH3Cl ', 'CH4 ', 'CO ', & 'Cl ', 'Cl2 ', 'Cl2O2 ', 'ClO ', & 'ClONO2 ', 'EOH ', 'ETO2 ', 'ETP ', & 'GCO3 ', 'GLYC ', 'GLYX ', 'GP ', & 'GPAN ', 'H ', 'H2 ', 'H2402 ', & 'H2O ', 'H2O2 ', 'HAC ', 'HBr ', & 'HCFC141b', 'HCFC142b', 'HCFC22 ', 'HCOOH ', & 'HCl ', 'HNO2 ', 'HNO3 ', 'HNO4 ', & 'HO2 ', 'HOBr ', 'HOCl ', 'IALD ', & 'IAO2 ', 'IAP ', 'INO2 ', 'INPN ', & 'ISN1 ', 'ISNP ', 'ISOP ', 'KO2 ', & 'MACR ', 'MAN2 ', 'MAO3 ', 'MAOP ', & 'MAP ', 'MCO3 ', 'MEK ', 'MGLY ', & 'MO2 ', 'MOH ', 'MP ', 'MRO2 ', & 'MRP ', 'MVK ', 'MVN2 ', 'N ', & 'N2O ', 'N2O5 ', 'NO ', 'NO2 ', & 'NO3 ', 'NOx ', 'O ', 'O1D ', & 'O3 ', 'OClO ', 'OH ', 'Ox ', & 'PAN ', 'PMN ', 'PO2 ', 'PP ', & 'PPN ', 'PRN1 ', 'PRPE ', 'PRPN ', & 'R4N1 ', 'R4N2 ', 'R4O2 ', 'R4P ', & 'RA3P ', 'RB3P ', 'RCHO ', 'RCO3 ', & 'RCOOH ', 'RIO1 ', 'RIO2 ', 'RIP ', & 'ROH ', 'RP ', 'VRO2 ', 'VRP ', & 'RIPA ', 'RIPB ', 'RIPD ', 'NPMN ', & 'IPMN ' /) !===========================! ! Full chemistry simulation ! !===========================! IF ( IT_IS_A_FULLCHEM_SIM ) THEN DO NN = 1, NTR sname = TRIM(TrName(NN)) ! Loop over only the advected species DO NA = 1, nAdvect ! Get the species ID from the advected species ID N = State_Chm%Map_Advect(NA) ! Get the corresponding entry in the species database SpcInfo => State_Chm%SpcData(N)%Info ! For now, guarantee that GMI prod/loss rates are not used for ! any bromine species IF ( TRIM( SpcInfo%Name ) .eq. 'Br' .or. & TRIM( SpcInfo%Name ) .eq. 'BrCl' .or. & TRIM( SpcInfo%Name ) .eq. 'BrO' .or. & TRIM( SpcInfo%Name ) .eq. 'BrONO2' .or. & TRIM( SpcInfo%Name ) .eq. 'CF2Br2' .or. & TRIM( SpcInfo%Name ) .eq. 'CF2ClBr' .or. & TRIM( SpcInfo%Name ) .eq. 'CF3Br' .or. & TRIM( SpcInfo%Name ) .eq. 'CH3Br' .or. & TRIM( SpcInfo%Name ) .eq. 'HBr' .or. & TRIM( SpcInfo%Name ) .eq. 'HOBr' ) CYCLE ! SDE 08/28/13: Full strat. has its own mesospheric NOy handling IF ( TRIM( SpcInfo%Name ) .eq. 'NO' .or. & TRIM( SpcInfo%Name ) .eq. 'NO2' .or. & TRIM( SpcInfo%Name ) .eq. 'NO3' .or. & TRIM( SpcInfo%Name ) .eq. 'NOx' .or. & TRIM( SpcInfo%Name ) .eq. 'N' .or. & TRIM( SpcInfo%Name ) .eq. 'N2O' ) CYCLE IF ( TRIM( SpcInfo%Name ) .eq. TRIM(sname) ) THEN IF ( LLINOZ .and. TRIM( SpcInfo%Name ) .eq. 'O3' ) THEN IF ( Input_Opt%amIRoot .and. Input_Opt%Verbose ) THEN WRITE( 6, '(a)' ) TRIM( SpcInfo%Name ) // ' (via Linoz)' ENDIF ELSE IF ( Input_Opt%LSYNOZ .AND. TRIM( SpcInfo%Name ) .eq. 'O3' ) THEN IF ( Input_Opt%amIRoot .and. Input_Opt%Verbose ) THEN WRITE( 6, '(a)' ) TRIM( SpcInfo%Name ) // ' (via Synoz)' ENDIF ELSE IF ( Input_Opt%amIRoot .and. Input_Opt%Verbose ) THEN WRITE( 6, '(a)' ) TRIM( SpcInfo%Name )//' (via GMI rates)' ENDIF ENDIF NSCHEM = NSCHEM + 1 TrID_GC (NSCHEM) = N ! Maps 1:NSCHEM to species array TrID (NSCHEM) = NN ! Maps 1:NSCHEM to TrName index ENDIF ! Free pointer SpcInfo => NULL() ENDDO ENDDO ! These are the reactions with which we will use OH fields ! to determine loss. IF( Input_Opt%amIRoot .and. Input_Opt%Verbose ) THEN IF ( id_CHBr3 .gt. 0 ) WRITE(6,*) 'CHBr3 (from GMI OH)' IF ( id_CH2Br2 .gt. 0 ) WRITE(6,*) 'CH2Br2 (from GMI OH)' IF ( id_CH3Br .gt. 0 ) WRITE(6,*) 'CH3Br (from GMI OH)' ENDIF !===========! ! Tagged O3 ! !===========! ELSE IF ( IT_IS_A_TAGO3_SIM ) THEN IF ( LLINOZ ) THEN IF ( Input_Opt%amIRoot .and. Input_Opt%Verbose ) THEN WRITE(6,*) 'Linoz ozone performed on: ' ENDIF ELSE IF ( Input_Opt%amIRoot .and. Input_Opt%Verbose ) THEN WRITE(6,*) 'Synoz ozone performed on: ' ENDIF ENDIF ! Loop over only the advected species DO NA = 1, nAdvect ! Get the species ID from the advected species ID N = State_Chm%Map_Advect(NA) ! Get the corresponding entry in the species database SpcInfo => State_Chm%SpcData(N)%Info IF ( TRIM( SpcInfo%Name ) .eq. 'O3' .or. & TRIM( SpcInfo%Name ) .eq. 'O3Strt' .or. & TRIM( SpcInfo%Name ) .eq. 'O3Strat' ) THEN NSCHEM = NSCHEM + 1 ! Increment count TrID_GC(NSCHEM) = N ! Use for Sc%Species IF ( Input_Opt%amIRoot ) THEN WRITE(6,*) TRIM( SpcInfo%Name ) ENDIF ENDIF ! Free pointer SpcInfo => NULL() ENDDO ENDIF ! Allocate and initialize prod/loss vector ALLOCATE( PLVEC( NSCHEM ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'PLVEC' ) ! Allocate and initialize bromine arrays GC_Bry_TrID(1:6) = (/id_Br2,id_Br,id_BrO,id_HOBr,id_HBr,id_BrNO3/) END SUBROUTINE INIT_LINEAR_CHEM !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Cleanup_Linear_Chem ! ! !DESCRIPTION: Subroutine CLEANUP\_LINEAR\_CHEM deallocates all module ! arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CLEANUP_LINEAR_CHEM ! ! !USES: ! IMPLICIT NONE ! ! !REVISION HISTORY: ! 01 Feb 2011 - L. Murray - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC INTEGER :: I ! Deallocate arrays IF ( ALLOCATED( TrName ) ) DEALLOCATE( TrName ) IF ( ALLOCATED( TrID_GC ) ) DEALLOCATE( TrID_GC ) IF ( ALLOCATED( TrID ) ) DEALLOCATE( TrID ) ! Cleanup BrPtrDay array of pointers IF ( ASSOCIATED( BrPtrDay ) ) THEN DO I = 1, 6 BrPtrDay(I)%MR => NULL() ENDDO DEALLOCATE( BrPtrDay ) ENDIF ! Cleanup BrPtrNight array of pointers IF ( ASSOCIATED( BrPtrNight ) ) THEN DO I = 1, 6 BrPtrNight(I)%MR => NULL() ENDDO DEALLOCATE( BrPtrNight ) ENDIF ! Cleanup PLVEC array of pointers IF ( ASSOCIATED( PLVEC ) ) THEN DO I = 1, NSCHEM PLVEC(I)%PROD => NULL() PLVEC(I)%LOSS => NULL() ENDDO DEALLOCATE( PLVEC ) ENDIF ! Cleanup pointer to OH field GMI_OH => NULL() END SUBROUTINE CLEANUP_LINEAR_CHEM !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Do_Synoz ! ! !DESCRIPTION: Subroutine Do\_Synoz establishes the flux boundary condition ! for Ozone coming down from the stratosphere, using the Synoz algorithm of ! McLinden et al, 2000. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Do_Synoz( Input_Opt, State_Chm, State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE PhysConstants USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_TS_CHEM, GET_YEAR IMPLICIT NONE ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! Reference: ! ============================================================================ ! C. A. McLinden, S. Olsen, B. Hannegan, O. Wild, M. J. Prather, and ! J. Sundet, "Stratospheric Ozone in 3-D models: A simple chemistry ! and the cross-tropopause flux". ! . ! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! %%%% NOTE: This SYNOZ scheme is now obsolete, replaced by LINOZ %%%% ! %%%% We keep this for backwards compatibility w/ older met fields %%%% ! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! ! !REVISION HISTORY: ! 13 Dec 1999 - Q. Li, R. Martin - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! SAVEd scalars LOGICAL, SAVE :: FIRST = .TRUE. INTEGER :: I, J, L, L70mb, N, NA, nAdvect REAL(fp) :: P1, P2, P3, T1, T2, DZ, ZUP REAL(fp) :: DTCHEM, H70mb, PO3, PO3_vmr REAL(fp) :: STFLUX(State_Grid%NX,State_Grid%NY,State_Grid%NZ) ! Pointers TYPE(SpcConc), POINTER :: Spc(:) ! Lower pressure bound for O3 release (unit: mb) ! REAL(fp), PARAMETER :: P70mb = 70e+0_fp !PHS REAL(fp) :: P70mb, PTP !================================================================= ! Do_Synoz begins here! !================================================================= ! Assume success RC = GC_SUCCESS ! Chemical timestep [s] ! Originally, Synoz was in transport code, and used dynamic dT. DTCHEM = GET_TS_CHEM() ! For O3 flux printout STFLUX = 0e+0_fp ! lower pressure !PHS P70mb = 70e+0_fp ! Point to chemical species array [v/v dry] Spc => State_Chm%Species !================================================================= ! Compute the proper release rate of O3 coming down from the ! stratosphere for the different GEOS model grids. ! (bey, djj, rvm, bmy, 12/5/00). ! ! PO3_vmr is the O3 release rate constant [v/v/s] that will yield ! a strat-to-trop flux of 475 [Tg O3/yr]. Different TPCORE flags ! create different amounts of ozone in the stratosphere. Flags ! 337F are currently preferred (bey, djj, rvm). ! ! For now, provide values for PO3_vmr for two TPCORE flag settings: ! (1) IORD = 3, JORD = 3, KORD = 7 (preferred, assumed to ! be the default) ! (2) IORD = 5, JORD = 5, KORD = 7 !================================================================= #if defined( GISS ) && defined( MODELE ) ! For Model E, assuming 3,3,7 and 475 Tg N a-1 PO3_vmr = 4.84610e-14 !/ 2e+0_fp ! Scale as necessary for PreIndustrial and Paleo Climates ! These values determined by Linoz simulations run for each climate if ( GET_YEAR() .ge. 2102 .and. GET_YEAR() .le. 2105 ) then ! PIH was 3% higher PO3_vmr = PO3_vmr * 1.0273853e+0_fp endif if ( GET_YEAR() .ge. 2202 .and. GET_YEAR() .le. 2205 ) then ! LGM Webb STE was 7% higher PO3_vmr = PO3_vmr * 1.0723525e+0_fp endif if ( GET_YEAR() .ge. 2302 .and. GET_YEAR() .le. 2305 ) then ! LGM CLIMAP STE was 3% higher PO3_vmr = PO3_vmr * 1.0285232e+0_fp endif #else PO3_vmr = 5.14e-14_fp #endif ! Only initialize on first time step IF ( FIRST ) STFLUX = 0e+0_fp ! Loop over latitude and longitude !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, P2, L70mb, P1, P3 ) & !$OMP PRIVATE( T2, T1, DZ, ZUP, H70mb, PO3 ) DO J = 1, State_Grid%NY ! Skip grid boxes outside of O3 release region (30S -> 30N) IF ( State_Grid%GlobalYMid(1,J) < -30.0_fp .or. & State_Grid%GlobalYMid(1,J) < 30.0_fp ) THEN CYCLE ENDIF DO I = 1, State_Grid%NX DO L = 1, State_Grid%NZ ! P2 = pressure [hPa] at the sigma center of level L70mb P2 = State_Met%PMID(I,J,L) ! L70mb is the 1st layer where pressure is equal to ! or smaller than 70 mb IF ( P2 < P70mb ) THEN L70mb = L EXIT ENDIF ENDDO ! P1 = pressure [hPa] at the sigma center of level L70mb - 1 P1 = State_Met%PMID(I,J,L70mb-1) ! P3 = pressure [hPa] at the lower sigma edge of level L70mb P3 = State_Met%PEDGE(I,J,L70mb) !============================================================== ! T2 = temperature (K) at the sigma center of level L70mb ! T1 = temperature (K) at the sigma center of level L70mb-1 ! ! DZ is the height from the sigma center of level L70mb-1 ! to 70mb. Therefore, DZ may be found in either the ! (L70mb)th sigma layer or the (L70mb-1)th sigma layer. ! ! ZUP is the height from the sigma center of the ! (L70mb-1)th layer !============================================================== ! Use virtual temperature for hypsometric equation (ewl, 3/3/15) T2 = State_Met%TV(I,J,L70mb ) T1 = State_Met%TV(I,J,L70mb-1) DZ = Rdg0 * ( (T1 + T2) / 2e+0_fp ) * LOG( P1 / P70mb ) ZUP = Rdg0 * T1 * LOG( P1 /P3 ) !============================================================== ! H70mb is height between 70mb and the upper edge of the ! level where DZ is. ! ! If DZ >= ZUP then DZ is already in level L70mb. ! If DZ < ZUP then DZ is in level L70mb-1. !============================================================== IF ( DZ >= ZUP ) THEN H70mb = State_Met%BXHEIGHT(I,J,L70mb) - ( DZ - ZUP ) ELSE L70mb = L70mb - 1 H70mb = ZUP - DZ ENDIF !=========================================================== ! Distribute O3 into the region (30S-30N, 70mb-10mb) !=========================================================== DO L = L70mb, State_Grid%NZ ! Convert O3 in grid box (I,J,L) from v/v/s to v/v/box PO3 = PO3_vmr * DTCHEM ! For both 2 x 2.5 and 4 x 5 GEOS grids, 30S and 30 N are ! grid box centers. However, the O3 release region is ! edged by 30S and 30N. Therefore, if we are at the 30S ! or 30N grid boxes, divide the O3 flux by 2. IF ( State_Grid%GlobalYMid(1,J) == -30.0_fp .or. & State_Grid%GlobalYMid(1,J) == 30.0_fp ) THEN PO3 = PO3 / 2e+0_fp ENDIF ! If we are in the lower level, compute the fraction ! of this level that lies above 70 mb, and scale ! the O3 flux accordingly. IF ( L == L70mb ) THEN PO3 = PO3 * H70mb / State_Met%BXHEIGHT(I,J,L) ENDIF ! Store O3 flux in the proper species number Spc(id_O3)%Conc(I,J,L) = Spc(id_O3)%Conc(I,J,L) + PO3 ! Store O3 flux for strat O3 species (Tagged O3 only) IF ( Input_Opt%ITS_A_TAGO3_SIM ) THEN Spc(id_O3Strat)%Conc(I,J,L) = Spc(id_O3Strat)%Conc(I,J,L) + PO3 ENDIF ! Archive stratospheric O3 for printout in [Tg/yr] IF ( FIRST ) THEN STFLUX(I,J,L) = STFLUX(I,J,L) + & PO3 * State_Met%AD(I,J,L) * 1000.e+0_fp / 28.8e+0_fp / & DTCHEM * 48.e+0_fp * 365.25e+0_fp * 86400e+0_fp / 1e12 ENDIF ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ! Free pointer Spc => NULL() !================================================================= ! Print amount of stratospheric O3 coming down !================================================================= IF ( FIRST ) THEN IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 20 ) SUM( STFLUX ) ENDIF 20 FORMAT( ' - Do_Synoz: Strat O3 production is', f9.3, ' [Tg/yr]' ) FIRST = .FALSE. ENDIF END SUBROUTINE Do_Synoz !EOC END MODULE Linear_Chem_Mod ================================================ FILE: GeosCore/linoz_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: linoz_mod.F90 ! ! !DESCRIPTION: Module LINOZ\_MOD contains routines to perform the Linoz ! stratospheric ozone chemistry. !\\ !\\ ! !INTERFACE: ! MODULE LINOZ_MOD ! ! !USES: ! USE ERROR_MOD, ONLY : DEBUG_MSG ! Routine for debug output USE PRECISION_MOD ! For GEOS-Chem Precision (fp, f4, f8) IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: DO_LINOZ PUBLIC :: LINOZ_READ ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: LINOZ_CHEM3 PRIVATE :: LINOZ_STRATL PRIVATE :: LINOZ_STRT2M PRIVATE :: LINOZ_SOMLFQ PRIVATE :: LINOZ_INTPL ! ! !REMARKS: ! LINOZ Climatology: ! ============================================================================ ! The LINOZ stratospheric chemistry tables for ozone consist of: ! . ! 7 tables, each a function of: ! 12 months, ! 18 latitudes (-85 to 85 in 10 deg. increments) ! 25 altitudes ( z*=10-58 km in 2 km increments) ! . ! The 7 data fields are: ! 1- ozone (Logan climatology), v/v ! 2- Temperature climatology, K ! 3- Column ozone climatology, Logan ozone integrated above box, DU ! 4- ozone (P-L) for climatological ozone, v/v/s ! 5- d(P-L) / dO3, 1/s ! 6- d(P-L) / dT, v/v/s/K ! 7- d(P-L) / d(column O3), v/v/s/DU ! . ! Implementation notes: ! ============================================================================ ! Dylan Jones (dbj@atmosp.physics.utoronto.ca) wrote: ! . ! Testing this code [in v8-02-04] was more difficult that I thought. ! I began by trying to compare the output of v8-02-04 with our previous ! runs with v8-02-01. I accounted for the changes in the transport_mod.F90 ! and I tried to undo the changes in when the diagnostics are archived in ! v8-02-04, but I was still getting large differences between v8-02-04 ! and v8-02-01. I finally gave up on this since I may have made a mistake ! in reverting to the old way of doing the diagnostics in v8-02-04. In ! the end I took the new linoz code from v8-02-04 and used it in v8-02-01. ! I ran two GEOS-5 full chemistry simulations for 2007 and the output ! were consistent over the full year. ! . ! I think that it is safe to release [Linoz in v8-02-04]. However, we ! should acknowledge that it was [only] tested in v8-02-01, since I was ! not able to assess the quality of the output in v8-02-04. ! . ! Bob Yantosca (yantosca@seas.harvard.edu) wrote: ! . ! We have also modified the code for use within the GEOS-5 GCM. We now ! declare the TPARM array as part of the Input_Opt object. The LINOZ ! climatology ASCII file is now read on the root CPU and MPI-broadcasted ! to the non-root CPUs. Also, the INIT_LINOZ routine is now called ! not on the first chemistry timestep but rather in the initialization ! phase at the start of the run. (bmy, 3/18/13) ! REVISION HISTORY: ! 23 Mar 2000 - P. Cameron-Smith - Initial version adapted heavily ! from McLinden's original file. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: do_linoz ! ! !DESCRIPTION: Subroutine DO\_LINOZ is the main driver for the Linoz ! stratospheric Ozone chemistry package. !\\ !\\ ! !INTERFACE: ! SUBROUTINE DO_LINOZ( Input_Opt, State_Chm, State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_MONTH USE TIME_MOD, ONLY : GET_TS_CHEM ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 24 Jun 2003 - B. Field & D. Jones - Further updates for GEOS-Chem ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! SAVEd scalars INTEGER, SAVE :: LASTMONTH = -99 ! Non-SAVEd sclars INTEGER :: MONTH REAL(fp) :: NSCHEM !================================================================= ! DO_LINOZ begins here! !================================================================= ! Assume success RC = GC_SUCCESS ! Current month MONTH = GET_MONTH() ! if new month, get new parameters? IF ( MONTH /= LASTMONTH ) THEN CALL LINOZ_STRATL( Input_Opt, State_Chm, State_Grid, RC ) LASTMONTH = MONTH ENDIF ! Linoz needs time step in seconds NSCHEM = GET_TS_CHEM() ! Call the Linoz chemistry CALL LINOZ_CHEM3( NSCHEM, Input_Opt, State_Chm, State_Grid, State_Met, RC ) END SUBROUTINE DO_LINOZ !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: linoz_chem3 ! ! !DESCRIPTION: Subroutine LINOZ\_CHEM3 applies linearized chemistry based on ! tables from PRATMO model using climatological T, O3, time of year !\\ !\\ ! !INTERFACE: ! SUBROUTINE LINOZ_CHEM3( DTCHEM, Input_Opt, State_Chm, State_Grid, & State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE PhysConstants, ONLY : AIRMW, AVO USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Chm_Mod, ONLY : Ind_ USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: DTCHEM ! Time step [seconds] TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 24 Jun 2003 - B. Field & D. Jones - Further updates for GEOS-Chem ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: IM, JM, LM, nAdvect INTEGER :: I, J, L, N, NA INTEGER :: K, M, LBOT, L_OVERWRLD INTEGER :: NTRACER, NUM_TRACER, LPOS, ITRC REAL(fp) :: CLIMO3, CLIMPML, DCO3, DERO3, DERTMP REAL(fp) :: DERCO3, DMASS, DTMP, SSO3 ! Arrays REAL(fp) :: DCOLO3 (State_Grid%NX,State_Grid%NY,State_Grid%NZ ) REAL(fp) :: COLO3 (State_Grid%NX,State_Grid%NY,State_Grid%NZ ) REAL(fp) :: OUT_DATA(State_Grid%NX,State_Grid%NY,State_Grid%NZ ) ! We need to define local arrays to hold corresponding values ! from the Chemistry State (State_Chm) object. (mpayer, 12/6/12) TYPE(SpcConc), POINTER :: Spc(:) ! Define local arrays to hold the previously global TLSTT array ! from the State_Chm object. (hplin, 1/22/19) REAL(fp), POINTER :: TLSTT (:,:,:,:) ! IM, JM, LM, Input_Opt%LINOZ_NFIELDS ! SAVED scalars LOGICAL, SAVE :: FIRST = .TRUE. INTEGER, SAVE :: id_O3 !================================================================= ! LINOZ_CHEM3 begins here! !================================================================= ! Assume success RC = GC_SUCCESS ! Dimensions IM = State_Grid%NX JM = State_Grid%NY LM = State_Grid%NZ nAdvect = State_Chm%nAdvect L_OVERWRLD = 0 ! Point to chemical species array [v/v dry air] Spc => State_Chm%Species ! Point to the TLSTT array TLSTT => State_Chm%TLSTT ! Look up the species ID of O3 only on the first call IF ( FIRST ) THEN id_O3 = Ind_('O3') FIRST = .FALSE. ENDIF ! For the tagged O3 simulation only, get the highest ! level of the chemistry grid in the column at (I,J) IF ( Input_Opt%ITS_A_TAGO3_SIM ) THEN L_OVERWRLD = MAXVAL( State_Met%ChemGridLev ) ENDIF !================================================================= ! Select the proper tracer number to store O3 into, depending on ! whether this is a full chemistry run or a tagged O3 run. ! If tagged O3, tracer 2 should be the stratospheric tracer. (dbj) !================================================================= IF ( Input_Opt%ITS_A_FULLCHEM_SIM ) THEN NUM_TRACER = 1 ELSE IF ( Input_Opt%ITS_A_TAGO3_SIM ) THEN IF ( nAdvect > 1 ) THEN NUM_TRACER = 2 ELSE NUM_TRACER = 1 ENDIF ELSE ! All other simulations don't use O3...print error message IF ( Input_Opt%amIRoot ) THEN WRITE( 6, '(a)' ) 'This simulation does not use O3!!' WRITE( 6, '(a)' ) 'STOP in linoz_chem3!' ENDIF STOP ENDIF ENDIF ! Echo info IF ( Input_Opt%verbose ) THEN WRITE( 6, 100 ) 100 FORMAT( ' - LINOZ_CHEM3: Doing LINOZ' ) ENDIF !================================================================= ! Perform stratospheric chemistry !================================================================= ! **** note dbj: check Spc(NTRACER)%Conc(I,J,20:State_Grid%NZ) = with trop level ! **** : check DMASS DO ITRC = 1, NUM_TRACER IF ( Input_Opt%ITS_A_FULLCHEM_SIM ) THEN NTRACER = id_O3 ELSE NTRACER = ITRC ENDIF ! Start at top layer and continue to lowest layer for strat. chem OUT_DATA = 0e+0_fp !IF ( preDebug ) THEN ! PRINT*, '### NUM_TRACER: ', NUM_TRACER ! PRINT*, '### ITRC: ', ITRC, 'JM: ', JM , 'IM', IM ! CALL FLUSH(6) !END IF !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, LBOT, LPOS, L ) & !$OMP PRIVATE( CLIMPML, DERO3, CLIMO3, DERCO3, DCO3 ) & !$OMP PRIVATE( DERTMP, DTMP, SSO3, DMASS ) DO J = 1, JM DO I = 1, IM !IF ( Input_Opt%Verbose ) THEN ! PRINT*, '### I: ', I, 'J: ', J ! CALL FLUSH(6) !END IF LBOT = State_Met%ChemGridLev(I,J) + 1 LPOS = 1 DO WHILE (State_Met%PEDGE(I,J,LPOS+1) .GE. 0.3e+0_f8) LPOS = LPOS +1 ENDDO LPOS = LPOS-1 !IF ( Input_Opt%Verbose ) CALL DEBUG_MSG('DONE GET_PEDGE') #if defined( ESMF_ ) || defined( EXTERNAL_GRID ) || defined( EXTERNAL_FORCING ) !----------------------------------------------------------- ! %%%%%%% GEOS-Chem HP (with ESMF & MPI) %%%%%%% ! ! When we are connecting to the GEOS-5 GCM, we don't define ! L_OVERWRLD. We cannot know the maximum extent of the ! tropopause in the GCM; we instead have to diagnose it at ! every timestep by comparing the pressure at a grid box to ! the tropopause pressure. (bmy, 3/18/13) !----------------------------------------------------------- #else !----------------------------------------------------------- ! %%%%%%% GEOS-Chem CLASSIC (with OpenMP) %%%%%%% !----------------------------------------------------------- ! dbj: for now, set tagged stratospheric tracer to total ! O3 in the overworld to avoid issues with spin ups IF ( Input_Opt%ITS_A_TAGO3_SIM ) THEN Spc(NTRACER)%Conc(I,J,(L_OVERWRLD+1):State_Grid%NZ) = & Spc(1)%Conc(I,J,(L_OVERWRLD+1):State_Grid%NZ) ENDIF #endif !IF ( Input_Opt%Verbose ) CALL DEBUG_MSG( '### LINOZ_CHEM3: at LM, LBOT') !IF ( Input_Opt%Verbose ) CALL DEBUG_MSG('DONE TAGO3') ! Loop over levels DO L = LM, LBOT, -1 !IF ( Input_Opt%Verbose ) THEN ! PRINT*, '### Spc: ', Spc(NTRACER)%Conc(I,J,L) ! CALL FLUSH(6) !ENDIF ! Skip if tracer is negative ! SDE 2016-04-06: Changed from LE to LT IF ( Spc(NTRACER)%Conc(I,J,L) .LT. 0.e+0_fp ) CYCLE ! calculate ozone column above box (and save) ! dcolo3 = ozone column (in DU) in given layer ! colo3 = ozone column above layer + half of ! column in layer ! bdf Spc is in v/v, make conversion to DU if (l.eq.lm) then !top model layer dcolo3(i,j,l) = (Spc(NTRACER)%Conc(i,j,l) * & State_Met%AD(I,J,L) / ( AIRMW & / State_Chm%SpcData(NTRACER)%Info%MW_g )) & / ( State_Grid%Area_M2(I,J) * 1e+4_fp ) & * AVO / (AIRMW / ( AIRMW & / State_Chm%SpcData(NTRACER)%Info%MW_g ) & *1e-3_fp) / 2.687e+16_fp colo3(i,j,l) = dcolo3(i,j,l)*0.5 else dcolo3(i,j,l) = (Spc(NTRACER)%Conc(i,j,l) * & State_Met%AD(I,J,L) / ( AIRMW & / State_Chm%SpcData(NTRACER)%Info%MW_g )) & / ( State_Grid%Area_M2(I,J) * 1e+4_fp ) & * AVO / (AIRMW / ( AIRMW & / State_Chm%SpcData(NTRACER)%Info%MW_g ) & *1e-3_fp) / 2.687e+16_fp colo3(i,j,l) = colo3(i,j,l+1) + & (dcolo3(i,j,l)+dcolo3(i,j,l+1))*0.5 endif out_data(i,j,l) = colo3(i,j,l) ! ++++++ climatological P-L: ++++++ climpml=tlstt(i,j,l,4) ! Climatological P-L = (P-L)^o ! ++++++ local ozone feedback: ++++++ dero3=tlstt(i,j,l,5) ! Derivative w.r.t. O3. ! dero3=-1/(time constant) IF (dero3.EQ.0) CYCLE ! Skip Linoz if lifetime ! is infinite. climo3=tlstt(i,j,l,1) ! Climatological O3 = f^o derco3=tlstt(i,j,l,7) ! Derivative w.r.t. Column O3 dco3=(colo3(i,j,l)-tlstt(i,j,l,3)) ! deviation from o3 climatology. ! ++++++ temperature feedback: ++++++ dertmp=tlstt(i,j,l,6) ! Derivative w.r.t. Temperature dtmp=(State_Met%T(I,J,L) - & ! Deviation in Temperature tlstt(i,j,l,2)) ! from climatology. ! ++++++ calculate steady-state ozone: ++++++ sso3=climo3 - (climpml+dtmp*dertmp+dco3*derco3)/dero3 ! ++++++ change in ozone mass due to chemistry: ++++++ !ssO3 = f^* dmass=(sso3-Spc(NTRACER)%Conc(I,J,L))*(1.0-exp(dero3*dtchem)) ! ++++++ update ozone mass ++++++ ! LINOX valid only up to 58 km, so do not use above 0.3 hPa ! dbj: impose exponential fall off of mixing ratio ! between 0.3 and 0.01 hPa (with fall off of a scale height) IF (State_Met%PEDGE(I,J,L) .LE. 0.3e+0_f8) THEN Spc(NTRACER)%Conc(I,J,L) = & (State_Met%PMID(I,J,L)/State_Met%PMID(I,J,LPOS-1)) & * Spc(NTRACER)%Conc(I,J,LPOS-1) ELSE Spc(NTRACER)%Conc(I,J,L) = Spc(NTRACER)%Conc(I,J,L)+DMASS ENDIF ENDDO ! loop over L ENDDO ! loop over I ENDDO ! loop pver J !$OMP END PARALLEL DO !write our calculated column o3 maximum !write(6,*) 'max of columns= ',maxval(out_data) ENDDO IF ( Input_Opt%Verbose ) CALL DEBUG_MSG('DONE LINOZ_CHEM3') ! Free pointer Spc => NULL() END SUBROUTINE LINOZ_CHEM3 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: linoz_stratl ! ! !DESCRIPTION: Subroutine LINOZ\_STRATL performs a monthly fixup of chemistry ! parameters for the Linoz stratospheric ozone chemistry. !\\ !\\ ! !INTERFACE: ! SUBROUTINE LINOZ_STRATL( Input_Opt, State_Chm, State_Grid, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE PRESSURE_MOD USE State_Grid_Mod, ONLY : GrdState USE TIME_MOD, ONLY : GET_MONTH ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! Replace size fields NLAT_LINOZ etc. with fields from Input_Opt. When we ! use GEOS-Chem within the GEOS-5 GCM, the fields within Input_Opt will ! be read on the root CPU and MPI-broadcasted to all other CPUs. ! . ! The LINOZ climatology array is Input_Opt%LINOZ_TPARM(25,18,12,N), ! which has the following dimensions ! * 25 layers from 58 km to 10 km by 2 km intervals ! * 18 latitudes (85S, 75S, ...85N) ! * 12 months ! * N fields (currently N=7) ! ! !REVISION HISTORY: ! 24 Jun 2003 - B. Field & D. Jones - Further updates for GEOS-Chem ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I, IM, IM1, IM2 INTEGER :: J, JM, JJ, JXXX INTEGER :: K, L, LR, MONTH, N ! Dimension sizes INTEGER :: NFIELDS_LINOZ INTEGER :: NLAT_LINOZ INTEGER :: NLEVELS_LINOZ INTEGER :: NMONTHS_LINOZ ! Arrays REAL(fp) :: P0L (State_Grid%NZ+1 ) REAL(fp) :: STRT0L(State_Grid%NZ+1 ) REAL(fp) :: STRT1L(State_Grid%NZ+1 ) REAL(fp) :: STRT2L(State_Grid%NZ+1 ) REAL(fp) :: STRTX (Input_Opt%LINOZ_NLEVELS) REAL(fp) :: YSTRT (Input_Opt%LINOZ_NLAT ) REAL(fp), POINTER :: TLSTT (:,:,:,:) ! IM, JM, LM, Input_Opt%LINOZ_NFIELDS ! Month names CHARACTER(LEN=3) :: CMONTH(12) = (/'jan', 'feb', 'mar', 'apr', & 'may', 'jun', 'jul', 'aug', & 'sep', 'oct', 'nov', 'dec'/) ! ! !DEFINED PARAMETERS: ! REAL(fp), PARAMETER :: PSF = 1010e+0_fp ! Surface pressure [hPa] !================================================================= ! LINOZ_STRATL begins here! !================================================================= ! Initialization IM = State_Grid%NX JM = State_Grid%NY MONTH = GET_MONTH() NFIELDS_LINOZ = Input_Opt%LINOZ_NFIELDS NLAT_LINOZ = Input_Opt%LINOZ_NLAT NLEVELS_LINOZ = Input_Opt%LINOZ_NLEVELS NMONTHS_LINOZ = Input_Opt%LINOZ_NMONTHS ! Point to the TLSTT array in state_chm_mod.F90 TLSTT => State_Chm%TLSTT ! Echo info to stdout IF ( Input_Opt%amIRoot .and. Input_Opt%Verbose ) THEN WRITE( 6, '(a)' ) REPEAT( '#', 79 ) WRITE( 6, 50 ) CMONTH(MONTH) WRITE( 6, '(a)' ) REPEAT( '#', 79 ) 50 FORMAT( '# Interpolating Linoz fields for ', a ) ENDIF !-------------------------------------------------------------------------- ! THE FOLLOWING LINEAR INTERPOLATION OPTION IS NOT USED, BUT CAN BE RESTORED ! BY UNCOMMENTING THE APPROPRIATE LINES OF CODE BELOW (bmy, 3/18/13) ! !! get weights for month interpolation !do i=1,nmonths_linoz ! jdmc(i) = jdofm(i+1) - (jdofm(i+1)-jdofm(i))/2 !enddo ! !im1=0 !do i=1,nmonths_linoz ! if (jdmc(i).lt.jday) then ! im1=i ! endif !enddo !if (im1.eq.0) then ! im1=nmonths_linoz ! im2=1 ! wm1=(jdmc(im2)-jday)*1.0/(jdmc(im2)-(jdmc(im1)-365.0)) !elseif (im1.eq.nmonths_linoz) then ! im2=1 ! wm1=(jdmc(im2)+365.0-jday)/(jdmc(im2)+365.0-jdmc(im1)) !else ! im2=im1+1 ! wm1=(jdmc(im2)-jday)*1.0/(jdmc(im2)-jdmc(im1)) !endif !wm2=1.0-wm1 ! !!write(6,*)iday,jday,' weights: ',wm1,wm2 !!write(6,*)'months: ',im1,im2,month !!write(6,*)'between: ',jdmc(im1),jdmc(im2) !-------------------------------------------------------------------------- ! YSTRT(J) are the latitudes (-85, -75, -65, ... +65, +75, +85) ! contained in the LINOZ climatology YSTRT(1) = -85.e+0_fp do J = 2, NLAT_LINOZ YSTRT(J) = YSTRT(J-1) + 10.e+0_fp enddo ! TLSTT is now 4D. Need to calculate latitude indeces inside of loop. ! (ckeller, 10/19/15) !! JLATMD(J) is the nearest-neighbor LINOZ data column corresponding !! to each GEOS-Chem latitude index J. (dbj, 6/25/03) !DO J = 1, State_Grid%NY ! JXXX = INT( 0.1e+0_fp * State_Grid%YMid(1,J) + 10.e+0_fp ) ! JLATMD(J) = MIN( 18, MAX( 1, JXXX ) ) !ENDDO ! P0L are the pressure at the level edges of each GEOS-Chem ! grid box, assuming a surface pressure of 1010 hPa (dbj, 6/25/03) DO L = 1, State_Grid%NZ+1 P0L(L) = GET_AP(State_Grid%NZ+2-L) + & ( GET_BP(State_Grid%NZ+2-L) * PSF ) ENDDO !================================================================= ! Lookup data in the LINOZ climatology !================================================================= ! Loop over the # of fields in the LINOZ climatology DO N = 1, NFIELDS_LINOZ !---------------------------------------------------------------------- ! INTERPOLATION BETWEEN LATITUDES IS CURRENTLY NOT USED, BUT CAN BE ! RESTORED BY UNCOMMENTING THE APPROPRIATE LINES OF CODE BELOW ! (bmy, 3/18/13) ! ! ***** Interpolation between latitudes is not currently used {PJC} *** !!----- interpolating along latitude, from TPAR2 to STRTXY !do K = 1, nlevels_linoz !do J = 1, nlat_linoz ! TPAR2(K,J) = TPARM(K,J,MONTH,N) ! TPAR2(K,J) = TPARM(K,J,im1,N) !enddo !enddo !call LINOZ_INTPL(nlevels_linoz,NLAT_LINOZ,JPAR,JM,YSTRT,YDGRD, & ! TPAR2,STRTXY1) !do K = 1, nlevels_linoz !do J = 1, nlat_linoz ! TPAR2(K,J) = TPARM(K,J,im2,N) !enddo !enddo !call LINOZ_INTPL(nlevels_linoz,NLAT_LINOZ,JPAR,JM,YSTRT,YDGRD, & ! TPAR2,STRTXY2) !---------------------------------------------------------------------- ! Loop over GEOS-Chem latitudes DO J = 1, JM DO I = 1, IM ! JJ is the index of the nearest LINOZ data column ! corresponding to GEOS-Chem latitude index J ! Now explicitly calculate for every grid box to account for ! curvilinear grids. (ckeller, 10/19/15) ! JJ = JLATMD(J) JXXX = INT( 0.1e+0_fp * State_Grid%YMid(I,J) + 10.e+0_fp ) JJ = MIN( 18, MAX( 1, JXXX ) ) ! Loop over the # of levels in the LINOZ climatology DO K = 1, NLEVELS_LINOZ ! STRTX(K) is the column of data from the LINOZ climatology ! for the given month, latitude (JJ), level (K), and species ! (N). One of the following interpolation options may be used. !----------------------------------------------------------------- ! THE FOLLOWING OPTIONS ARE CURRENTLY NOT USED, BUT CAN BE RESTORED ! BY UNCOMMENTING THE APPROPRIATE LINES OF CODE BELOW (bmy,3/18/13) ! !! linearly interpolate in latitude and month !STRTX(K) = STRTXY1(K,J)*wm1 + STRTXY2(K,J)*wm2 ! !! linearly interpolate in latitude, single month !STRTX(K) = STRTXY2(K,J) ! !! nearest latitude, linearly interpolate in month !!STRTX(K) = Input_Opt%LINOZ_TPARM(K,JJ,im1,N)*wm1 & ! + Input_Opt%LINOZ_TPARM(K,JJ,im2,N)*wm2 !----------------------------------------------------------------- ! Nearest neighbor, no interpolation STRTX(K) = Input_Opt%LINOZ_TPARM(K,JJ,MONTH,N) ENDDO ! *PJC* Interpolate and calculate moments of column distribution CALL LINOZ_STRT2M( Input_Opt, State_Grid, & State_Grid%NZ, STRTX, P0L, & STRT0L, STRT1L, STRT2L, RC ) ! Store loss freq/yields & moments in TLSTT/SWT/SWW ! for exact CTM layers LM down ! Order reversed from C.McLinden version {PJC} DO LR = 1,State_Grid%NZ TLSTT(I,J,LR,N) = STRT0L(State_Grid%NZ+1-LR) ENDDO ENDDO ! loop over I ENDDO ! loop over J ENDDO ! loop over N END SUBROUTINE LINOZ_STRATL !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: linoz_strt2m ! ! !DESCRIPTION: Subroutine LINOZ\_STRT2M interpolates quantities from the ! LINOZ vertical grid to the GEOS-Chem vertical grid. It also computes ! the 1st \& 2nd moments of the distribution. !\\ !\\ ! !INTERFACE: ! SUBROUTINE LINOZ_STRT2M( Input_Opt, State_Grid, & NSTRT, STRTX, P0L, & STRT0L, STRT1L, STRT2L, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object INTEGER, INTENT(IN) :: NSTRT ! # of levels( = State_Grid%NZ) REAL(fp), INTENT(IN) :: P0L(State_Grid%NZ+1) ! Pressure edges ! Quantity on the LINOZ vertical grid (i.e. fields #1-7 of the LINOZ clim. REAL(fp), INTENT(IN) :: STRTX(Input_Opt%LINOZ_NLEVELS) ! ! !OUTPUT PARAMETERS: ! ! 0th moment of distribution, on GEOS-Chem grid edges REAL(fp), INTENT(OUT) :: STRT0L(State_Grid%NZ+1) ! 1st moment of distribution, on GEOS-Chem grid edges REAL(fp), INTENT(OUT) :: STRT1L(State_Grid%NZ+1) ! 2nd moment of distribution, on GEOS-Chem grid edges REAL(fp), INTENT(OUT) :: STRT2L(State_Grid%NZ+1) ! Success or failure? INTEGER, INTENT(OUT) :: RC ! ! !REMARKS: ! Comments from Chris McLinden to Peter Cameron-Smith: ! =========================================================================== ! CALL SOMLFQ(P1,P2,F0,F1,F2,PS,F,NL) ! - P1,P2 are the pressure EDGES for the CTM layer onto which the ! coefficients will be mapped. [P1>P2 I believe {PJC}] ! - F0,F1,F2 are the CTM layer vertical moments determined in SOMLFQ ! - PS are the pressure layer edges of the original [ie Linox] grid ! - F is the column of coefficients (on the original grid); note ! F is flipped relative to STRTX and since the coefficients begin ! at z*=10, F(1)=F(2)=...=F(5)=0 ! - NL is 30; size of F() ! . ! The box model calculations were performed at z*=10km, 12km, ... and ! so these would represent the centres with the corresponding edges at ! 9,11km ; 11,13km; ... ! PS() represents the edges (although PS(1) is set to 1000mb). ! The first few values are: ! PS(1)=1000 ! PS(2)=874.947105 (note PS(2) is not quite 1000 exp(-1/16) as the ! PS(3)=656.117767 the average pressure is used - not the pressure ! PS(4)=492.018914 at the average z*) ! PS(5)=368.96213 ! PS(6)=276.68257 ! PS(7)=207.48266 ! ... ! PS(30)=0.276682568 ! PS(31)=0.0 ! . ! F(1) spans PS(1)-PS(2) ! F(2) spans PS(2)-PS(3) ! ... ! F(30) spans PS(30)-PS(31) ! !REVISION HISTORY: ! 24 Jun 2003 - B. Field & D. Jones - Further updates for GEOS-Chem ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: NL, NCBOX, L, K, NX REAL(fp) :: P1, P2, F0, F1 REAL(fp) :: F2, XPSD, XPSLM1, XPSL ! Arrays REAL(fp) :: PS(Input_Opt%LINOZ_NLEVELS+6) ! Old code: PS(NL+1) REAL(fp) :: F (Input_Opt%LINOZ_NLEVELS+5) ! Old code: PS(NL) !================================================================= ! Initialization !================================================================= ! Assume success RC = GC_SUCCESS ! Now make NX a local variable, since we already pass ! its value via the Input_Opt object (bmy, 3/13/18) NX = Input_Opt%LINOZ_NLEVELS ! Now make NL a local variable instead of a parameter, because ! we need to construct its value usign Input_Opt (bmy, 3/18/13) NL = Input_Opt%LINOZ_NLEVELS + 5 !================================================================= ! Set up std z* atmosphere: p = 1000 * 10**(-z*/16 km) ! ! Assume that stratospheric chemical parameters always start at ! 52 km (N=27). Scan downward from 52 km to 14 km (NX=20) by ! 2 km. ! ! 58 km (N=30) scan downward from 58 km to 10 km (NX=25) by 2 km ! intervals, constant >58km ! ! N.B. F(@30km) assumed to be constant from 29-31 km (by mass) !================================================================= XPSD = 10.e+0_fp **(-0.125e+0_fp) XPSLM1 = 1000.e+0_fp PS(1) = 1000.e+0_fp DO L = 2,NL XPSL = XPSLM1 *XPSD PS(L) = 0.5e+0_fp *(XPSLM1 +XPSL) XPSLM1 = XPSL ENDDO PS(NL+1) = 0.e+0_fp DO L = 1,NL-NX F(L) = 0.e+0_fp ENDDO ! K=1 is at the top of atmosphere DO K = 1,NX F(NL+1-K)= STRTX(K) !STRTX has increasing preasure. {PJC} ENDDO DO K = 1,NSTRT P1 = P0L(K+1) P2 = P0L(K) CALL LINOZ_SOMLFQ(P1,P2,F0,F1,F2,PS,F,NL) STRT0L(K)= F0 STRT1L(K)= F1 STRT2L(K)= F2 ENDDO END SUBROUTINE LINOZ_STRT2M !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: linoz_somlfq ! ! !DESCRIPTION: subroutine LINOZ\_SOMLFQ calculates loss freq moments from a ! set of loss frequencies at std z*, given a CTM model interval pressure ! range: P1 > P2 (decreasing up) !\\ !\\ ! !INTERFACE: ! SUBROUTINE LINOZ_SOMLFQ(P1,P2,F0,F1,F2,PS,F,NL) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: NL REAL(fp), INTENT(IN) :: F(NL) REAL(fp), INTENT(IN) :: PS(NL+1) REAL(fp), INTENT(IN) :: P1 REAL(fp), INTENT(IN) :: P2 ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: F0 REAL(fp), INTENT(OUT) :: F1 REAL(fp), INTENT(OUT) :: F2 ! ! REMARKS: ! The pressure levels BETWEEN z* values are: ! PS(i) > PS(i+1) bounds z*(i) ! . ! NL: z* levels, ==> PS(NL+1) = 0 (extrapolate chemical loss to top) ! Z1 = 16.D0*LOG10(1000.D0/P1) ! Z2 = 16.D0*LOG10(1000.D0/P2) ! . ! The MOMENTS for a square-wave or 'bar': F(x)=f0 b<=x<=c, =0.0 else ! S0 = f0 (x) [from x=b to x=c] ! S1 = 3 f0 (x^2 - x) [from x=b to x=c] ! S2 = 5 f0 (2x^3 - 3x^2 + x) [from x=b to x=c] ! ! !REVISION HISTORY: ! 24 Jun 2003 - B. Field & D. Jones - Further updates for GEOS-Chem ! 19 Mar 2013 - R. Yantosca - P1, P2 are now declared as INTENT(IN) !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! integer I real(fp) XB,XC,PC,PB,THIRD,sgnf0 F0 = 0.e+0_fp F1 = 0.e+0_fp F2 = 0.e+0_fp DO I = 1,NL PC = MIN(P1,PS(I)) PB = MAX(P2,PS(I+1)) IF (PC .GT. PB) THEN ! have condition: P1>=PC > PB>=P2, 0<=XB < XC<=1 XC = (PC-P2)/(P1-P2) XB = (PB-P2)/(P1-P2) ! assume that the loss freq, F, is constant over interval [XB,XC], ! F0: (c-b), ! F1: 6((c2-c)-(b2-b)), ! F2: 5((2c3-3c2+c)-(2b3-3b2+b)) ! calculate its contribution to the moments in the interval [0,1] F0 = F0 +F(I) *(XC -XB) F1 = F1 +F(I) *3.e+0_fp *((XC *XC -XC) - (XB *XB -XB)) F2 = F2 +F(I) *5.e+0_fp * & ((XC+XC-1.e+0_fp)*(XC*XC -XC) - & (XB+XB-1.e+0_fp)*(XB*XB -XB)) ENDIF ENDDO ! RESTRAIN moments: force monotonicity & positive at min end pt ! cam: tables can be + or - if (f0.ne.0.0) then sgnf0=f0 / abs(f0) else sgnf0=1.0 endif f0=abs(f0) !F0 = MAX(F0, 0.D0) THIRD = 1.e+0_fp/3.e+0_fp IF (F2 .GT. 0.e+0_fp) THEN ! do not allow reversal of curvature: F2 > 0 F2 = MIN(F2, ABS(F1)*THIRD, 5.e-1_fp*F0) IF (F1 .LT. 0.e+0_fp) THEN F1 = MAX(-(F0+F2), F1) ELSE F1 = MIN(+(F0+F2), F1) ENDIF ELSE ! F2 < 0 = curved down at ends, allow if F1 < F0 F1 = MIN(F0,MAX(-F0,F1)) F2 = MAX(F2,(ABS(F1)-F0),(-ABS(F1)*THIRD)) ENDIF ! cam: apply sign f0=sgnf0 * f0 f1=sgnf0 * f1 f2=sgnf0 * f2 END SUBROUTINE LINOZ_SOMLFQ !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: linoz_read ! ! !DESCRIPTION: Subroutine LINOZ\_READ reads the input data file for the ! Linoz stratospheric ozone chemistry. !\\ !\\ ! !INTERFACE: ! SUBROUTINE LINOZ_READ( Input_Opt, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE InquireMod, ONLY : findFreeLun #if defined( MODEL_CESM ) USE UNITS, ONLY : freeUnit #endif ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input Options object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! LINOZ_READ is called from "main.F90" at the start of the simulation. ! LINOZ_READ will also call INIT_LINOZ to initialize the arrays. ! ! !REVISION HISTORY: ! 24 Jun 2003 - B. Field & D. Jones - Further updates for GEOS-Chem ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: FileExists INTEGER :: IU_FILE, K, J INTEGER :: M, NTBLS, IOS REAL(fp) :: TMAX, TMIN ! Dimension sizes INTEGER :: NFIELDS_LINOZ INTEGER :: NLAT_LINOZ INTEGER :: NLEVELS_LINOZ INTEGER :: NMONTHS_LINOZ ! Strings CHARACTER(LEN=80) :: HEADING, TITL1 CHARACTER(LEN=255) :: ERRMSG CHARACTER(LEN=255) :: FILENAME CHARACTER(LEN=255) :: FileMsg CHARACTER(LEN=255) :: ThisLoc !================================================================= ! LINOZ_READ begins here! !================================================================= ! Assume success RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at LINOZ_READ (in GeosCore/linoz_mod.F90)' ! Get fields from Input_Opt NFIELDS_LINOZ = Input_Opt%LINOZ_NFIELDS NLAT_LINOZ = Input_Opt%LINOZ_NLAT NLEVELS_LINOZ = Input_Opt%LINOZ_NLEVELS NMONTHS_LINOZ = Input_Opt%LINOZ_NMONTHS ! Filename FILENAME = TRIM( Input_Opt%CHEM_INPUTS_DIR ) // & 'Linoz_200910/Linoz_March2007.dat' !================================================================= ! In dry-run mode, print file path to dryrun log and exit. ! Otherwise, print file path to stdout and continue. !================================================================= ! Test if the file exists INQUIRE( FILE=TRIM( FileName ), EXIST=FileExists ) ! Test if the file exists and define an output string IF ( FileExists ) THEN FileMsg = 'LINOZ (LINOZ_READ): Opening' ELSE FileMsg = 'LINOZ (LINOZ_READ): REQUIRED FILE NOT FOUND' ENDIF ! Write message to stdout for both regular and dry-run simulations IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 300 ) TRIM( FileMsg ), TRIM( FileName ) 300 FORMAT( a, ' ', a ) ENDIF ! For dry-run simulations, return to calling program. ! For regular simulations, throw an error if we can't find the file. IF ( Input_Opt%DryRun ) THEN RETURN ELSE IF ( .not. FileExists ) THEN WRITE( ErrMsg, 300 ) TRIM( FileMsg ), TRIM( FileName ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !================================================================= ! Read climatological data from the LINOZ lookup tables !================================================================= ! Find a free file LUN IU_FILE = findFreeLUN() ! Define error message ERRMSG = 'LINOZ_READ (in GeosCore/linoz_mod.F90)' ! new std z*=2km levels from model: z*=10,12,...(25*2)+8 km OPEN( IU_FILE, FILE=TRIM( FILENAME ), STATUS='OLD', & FORM='FORMATTED', IOSTAT=IOS ) ! Return if there was an error opening the file IF ( IOS /= 0 ) THEN WRITE( FileMsg, 300 ) TRIM( FileMsg ), TRIM( FileName ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Read header READ ( IU_FILE, '(a)' ) HEADING IF ( Input_Opt%amIRoot .and. Input_Opt%Verbose ) THEN WRITE(6,*) TRIM( HEADING ) ENDIF ! Loop over # of fields in the LINOZ climatology DO NTBLS = 1, NFIELDS_LINOZ ! Zero min & max values TMIN = +1.e+30_fp TMAX = -1.e+30_fp ! Skip header line READ( IU_FILE, '(a)' ) TITL1 ! Loop over # of months in the LINOZ climatology do M = 1, NMONTHS_LINOZ ! Loop over # of latitudes in the LINOZ climatology do J = 1, NLAT_LINOZ ! Read data into Input_Opt%LINOZ_TPARM READ( IU_FILE, '(20X,6E11.4/(8E11.4))', IOSTAT=IOS ) & ( Input_Opt%LINOZ_TPARM(K,J,M,NTBLS), & K=NLEVELS_LINOZ,1,-1 ) ! Stop on error IF ( IOS > 0 ) THEN ErrMsg = 'Error reading ' // TRIM( FileName ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Loop over # of levels in the LINOZ climatology ! and compute the overall min & max do K = 1, NLEVELS_LINOZ TMAX = MAX( TMAX, Input_Opt%LINOZ_TPARM(K,J,M,ntbls) ) TMIN = MIN( TMIN, Input_Opt%LINOZ_TPARM(K,J,M,ntbls) ) enddo enddo enddo ! Write overall min & max IF ( Input_Opt%amIRoot .and. Input_Opt%Verbose ) THEN write (6,912) TITL1,TMIN,TMAX ENDIF 912 FORMAT(' Linoz Data: ',a80,1p,2e10.3) enddo ! Echo info IF ( Input_Opt%amIRoot .and. Input_Opt%Verbose ) THEN WRITE( 6, '(a)' ) '$$ Finished Reading Linoz Data $$' WRITE( 6, '(a)' ) ENDIF ! Close the files CLOSE( IU_FILE ) #if defined( MODEL_CESM ) CALL freeUnit( IU_FILE ) #endif END SUBROUTINE LINOZ_READ !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: linoz_intpl ! ! !DESCRIPTION: Subroutine LINOZ\_INTPL does some kind of interpolation. !\\ !\\ ! !INTERFACE: ! SUBROUTINE LINOZ_INTPL(KE,IE,ND,NE,XI,XN,YI,YN) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: KE INTEGER, INTENT(IN) :: IE INTEGER, INTENT(IN) :: ND INTEGER, INTENT(IN) :: NE REAL(fp), INTENT(IN) :: XI(IE) REAL(fp), INTENT(IN) :: XN(ND) REAL(fp), INTENT(IN) :: YI(KE,IE) ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: YN(KE,ND) ! ! !REVISION HISTORY: ! 24 Jun 2003 - B. Field & D. Jones - Further updates for GEOS-Chem ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! integer I,II,J,K real(fp) CNST1,CNST2 ! k=height; i=lat J = 2 do I = 1,NE if (XN(I) .gt. XI(1 )) then if (XN(I) .lt. XI(IE)) then CNST1 = (XI(J) - XN(I)) / (XI(J) - XI(J-1)) CNST2 = (XN(I) - XI(J-1)) / (XI(J) - XI(J-1)) do K = 1,KE YN(K,I) = CNST1 * YI(K,J-1) + CNST2 * YI(K,J) enddo II = min(I+1,NE) if (XN(II) .gt. XI(J)) J = min(IE,J+1) else do K = 1 ,KE YN(K,I) = YI(K,IE) enddo endif else do K = 1,KE YN(K,I) = YI(K,1) enddo endif !write(6,*)i,(yn(k,i),k=1,ke) enddo END SUBROUTINE LINOZ_INTPL !EOC END MODULE LINOZ_MOD ================================================ FILE: GeosCore/mapping_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: mapping_mod.F90 ! ! !DESCRIPTION: Module MAPPING\_MOD contains a derived-type object to compute ! and save the mapping weight (i.e. fraction of each "fine" grid box that ! fits into the "coarse" grid box") and areal mapping (i.e. the area of each ! "fine" grid box contained within a "coarse" grid box). !\\ !\\ ! !INTERFACE: ! MODULE Mapping_Mod ! ! !USES: ! USE ERROR_MOD ! Error handling routines USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE PRIVATE ! ! !PUBLIC DATA MEMBERS: ! PUBLIC :: MapWeight TYPE MapWeight INTEGER :: count ! # of "fine" boxes per "coarse" box INTEGER, POINTER :: II(:) ! Longitude indices, "fine" grid INTEGER, POINTER :: JJ(:) ! Latitude indices, "fine" grid INTEGER, POINTER :: olson(:) ! Olson land type, "fine" grid INTEGER, POINTER :: ordOlson(:) ! Ordering of Olson land types REAL*4, POINTER :: area(:) ! Surface areas, "fine" grid REAL*4 :: sumarea ! Total surface area, "coarse" grid END TYPE MapWeight ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: Init_Mapping PUBLIC :: Get_Map_Wt PUBLIC :: Cleanup_Mapping ! ! !REMARKS: ! The mapping weights and areal mapping are initialized when the Olson ! land map is read from disk (in olson_landmap_mod.F90). They are used ! again when the MODIS leaf area index data is prepared for input into ! GEOS-Chem's (legacy) dry deposition module. ! . ! Also, we do not define the mapping weight object within this module. ! This allows you to create more than one mapping weight object for ! different native grids (e.g. 0.5 x 0.5 and 0.25 x 0.25, etc.) ! ! !REVISION HISTORY: ! 03 Apr 2012 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: init_mapping ! ! !DESCRIPTION: Subroutine INIT\_MAPPING allocates and initializes a ! derived-type object containing grid mapping information. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_Mapping( Input_Opt, I_FINE, J_FINE, I_COARSE, J_COARSE, & mapping, RC ) ! ! !USES: ! USE CMN_SIZE_Mod, ONLY : NSURFTYPE USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object INTEGER, INTENT(IN) :: I_FINE ! # of lons on the "fine" grid INTEGER, INTENT(IN) :: J_FINE ! # of lats on the,"fine" grid INTEGER, INTENT(IN) :: I_COARSE ! # of lons on the "coarse" grid INTEGER, INTENT(IN) :: J_COARSE ! # of lats on the "coarse" grid ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MapWeight), POINTER, INTENT(INOUT) :: mapping(:,:) !"fine" -> "coarse" ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 03 Apr 2012 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I, J, FINE_PER_COARSE, ADD, as INTEGER :: as1, as2, as3, as4, as5 ! Arrays INTEGER :: err(I_COARSE,J_COARSE) !====================================================================== ! INIT_MAPPING begins here! !====================================================================== ! Initialize err = 0 RC = GC_SUCCESS ! Define a number of extra boxes to add to FINE_PER_COARSE ! in order to prevent out-of-bounds errors ADD = 10 ! Number of "fine" grid boxes that fit into the "coarse" grid box ! (roughly, use the +ADD to make sure it is big enough) FINE_PER_COARSE = ( DBLE( I_FINE ) / DBLE( I_COARSE ) ) & * ( DBLE( J_FINE ) / DBLE( J_COARSE ) ) + ADD ! For saving mapping weights IF ( .not. ASSOCIATED( mapping ) ) THEN ! Allocate the mapping weight object ALLOCATE( mapping( I_COARSE, J_COARSE ), STAT=as ) IF ( as /= 0 ) CALL ALLOC_ERR( 'map' ) ! Populate the mapping weight object !$OMP PARALLEL DO DEFAULT( SHARED ) PRIVATE( I, J ) DO J = 1, J_COARSE DO I = 1, I_COARSE ! Allocate sub-fields of MAPPING object ALLOCATE( mapping(I,J)%ii ( FINE_PER_COARSE ), STAT=as1 ) ALLOCATE( mapping(I,J)%jj ( FINE_PER_COARSE ), STAT=as2 ) ALLOCATE( mapping(I,J)%olson ( FINE_PER_COARSE ), STAT=as3 ) ALLOCATE( mapping(I,J)%ordOlson( 0:NSURFTYPE-1 ), STAT=as4 ) ALLOCATE( mapping(I,J)%area ( FINE_PER_COARSE ), STAT=as5 ) ! Check for allocation error in such a way ! as to not interfere w/ the parallel loop IF ( as1 + as2 + as3 + as4 + as5 /= 0 ) THEN err(I,J) = 1 EXIT ENDIF ! Initialize sub-fields IF ( err(I,J) == 0 ) THEN mapping(I,J)%count = 0 mapping(I,J)%ii = 0 mapping(I,J)%jj = 0 mapping(I,J)%olson = 0 mapping(I,J)%ordOlson = 0 mapping(I,J)%area = 0e0 mapping(I,J)%sumarea = 0e0 ENDIF ENDDO ENDDO !$OMP END PARALLEL DO ENDIF ! Stop if any sub-field of MAPPING was not allocated properly IF ( SUM( err ) > 0 ) THEN CALL ERROR_STOP( 'Error allocating sub-fields of MAPPING object!', & 'Init_Mapping (mapping_mod.F90)' ) ENDIF ! Stop w/ error if the MAPPING object is not dimensioned properly IF ( SIZE( mapping, 1 ) /= I_COARSE .or. & SIZE( mapping, 2 ) /= J_COARSE ) THEN CALL ERROR_STOP( 'MAPPING object has incorrect dimensions!', & 'Init_Mapping (mapping_mod.F90)' ) ENDIF END SUBROUTINE Init_Mapping !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: get_map_wt ! ! !DESCRIPTION: Subroutine GET\_MAP\_Wt returns the "mapping weight", that ! is, the fraction that each "fine" grid box fits into each "coarse" grid ! box. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Get_Map_Wt( xedge_w, xedge_e, xedgeC_w, xedgeC_e, & yedge_s, yedge_n, yedgeC_s, yedgeC_n, & mapWt ) ! ! !INPUT PARAMETERS: ! REAL*4, INTENT(IN) :: xedge_w, xedge_e ! Lon edges, fine grid REAL*4, INTENT(IN) :: xedgeC_w, xedgeC_e ! Lon edges, coarse grid REAL*4, INTENT(IN) :: yedge_s, yedge_n ! Lat edges, fine grid REAL*4, INTENT(IN) :: yedgeC_s, yedgeC_n ! Lat edges, coarse grid REAL*4, INTENT(OUT) :: mapWt ! Mapping weight ! ! !REMARKS: ! Follows the algorithm from GAMAP routine ctm_getweight.pro ! ! !REVISION HISTORY: ! 30 Jan 2012 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) :: ox1, ox2, nx1, nx2, ov1, ov2, xOverLap REAL(fp) :: oy1, oy2, ny1, ny2, yOverLap !====================================================================== ! Get overlap in longitude !====================================================================== ! OX1, OX2 are the lon edges of the "fine" grid box ox1 = xedge_w ox2 = xedge_e ! NX1, NX2 are the lon edges of the coarse grid box nx1 = xedgeC_w nx2 = xedgeC_e ! Deal with over-the-dateline cases (phs, 9/26/07) ! That fixes a problem when going from GEOS-5 ! 0.66667 x 0.5 to GENERIC 1 x 1. ! Maybe it fixes also the kludges below ?? ## need checking if ( ox2 .lt. nx1 ) then ox1 = ox1 + 360e0 ox2 = ox2 + 360e0 endif if ( ox1 .gt. nx2 ) then ox1 = ox1 - 360e0 ox2 = ox2 - 360e0 endif ! convert to equivalent longitudes where necessary if ( nx1 < -90. .AND. ox1 > 0. ) nx1 = nx1 + 360e0 if ( nx2 < -90. .AND. ox2 > 0. ) nx2 = nx2 + 360e0 ! OV1 is the greater of OX1 and NX1 ! OV2 is the lesser of OX2 and NX2 ov1 = MAX( ox1, nx1 ) ov2 = MIN( nx2, ox2 ) ! XOVERLAP is the fraction of the old (fine) grid box that ! occupies the new (coarse) grid box in the longitude xOverLap = ( ov2 - ov1 ) / ( ox2 - ox1 ) ! If XOVERLAP is not in the range of 0-1, then it means that the "fine" ! grid box lies completely outside the "coarse" grid box (in longitude). ! Set to zero to avoid erroneous results in the calling routine. if ( xOverLap < 0e0 .or. xOverLap > 1e0 ) xOverlap = 0e0 !====================================================================== ! Get overlap in latitude !====================================================================== ! OY1 and OY2 are lat edges of the "fine" grid oy1 = yedge_s oy2 = yedge_n ! NY1 and NY2 are consecutive Y-edges for the coarse ny1 = yedgeC_s ny2 = yedgeC_n ! OV1 is the greater of OY1 and NY1 ! OV2 is the lesser of OY2 and NY2 ov1 = MAX( oy1, ny1 ) ov2 = MIN( ny2, oy2 ) ! YOVERLAP is the fraction of the old (fine) grid box that ! occupies the new (coarse) grid box in latitude yoverlap = ( ov2 - ov1 ) / ( oy2 - oy1 ) ! If YOVERLAP is not in the range of 0-1, then it means that the "fine" ! grid box lies completely outside the "coarse" grid box (in latitude). ! Set to zero to avoid erroneous results in the calling routine. if ( yOverLap < 0e0 .or. yOverLap > 1e0 ) yOverlap = 0e0 ! Resultant mapping weight mapWt = xOverLap * yOverLap END SUBROUTINE Get_Map_Wt !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: cleanup_mapping ! ! !DESCRIPTION: Subroutine CLEANUP\_MAPPING deallocates memory from a ! derived-type object containing mapping information. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Cleanup_Mapping( mapping ) ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MapWeight), POINTER, INTENT(INOUT) :: mapping(:,:) ! ! !REVISION HISTORY:' ! 03 Mar 2012 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES ! INTEGER :: I, J ! Test if MAP has been allocated memory IF ( ASSOCIATED( mapping ) ) THEN ! First deallocate the pointer fields of the MAP object !$OMP PARALLEL DO DEFAULT( SHARED ) PRIVATE( I, J ) DO J = 1, SIZE( mapping, 2 ) DO I = 1, SIZE( mapping, 1 ) DEALLOCATE( mapping(I,J)%ii ) DEALLOCATE( mapping(I,J)%jj ) DEALLOCATE( mapping(I,J)%olson ) DEALLOCATE( mapping(I,J)%ordOlson ) DEALLOCATE( mapping(I,J)%area ) ENDDO ENDDO !$OMP END PARALLEL DO ! Then deallocate the MAP object itself DEALLOCATE( mapping ) ENDIF END SUBROUTINE Cleanup_Mapping !EOC END MODULE Mapping_Mod ================================================ FILE: GeosCore/mercury_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: mercury_mod.F90 ! ! !DESCRIPTION: Contains variables and routines for the GEOS-Chem mercury ! simulation. Many choices of reaction mechanism and model processes can ! be selected with logical switches located in INIT\_MERCURY. !\\ !\\ ! !INTERFACE: ! MODULE Mercury_Mod ! ! !USES: ! USE Depo_Mercury_Mod, ONLY : ADD_Hg2_SNOWPACK USE Depo_Mercury_Mod, ONLY : LHgSNOW USE Ocean_Mercury_Mod, ONLY : LDYNSEASALT USE Ocean_Mercury_Mod, ONLY : LPOLARBr USE Ocean_Mercury_Mod, ONLY : L_ADD_MBL_Br USE Ocean_Mercury_Mod, ONLY : LGEIA05 USE Ocean_Mercury_Mod, ONLY : LVEGEMIS USE Ocean_Mercury_Mod, ONLY : LBrCHEM USE Ocean_Mercury_Mod, ONLY : LRED_CLOUDONLY USE Ocean_Mercury_Mod, ONLY : LHALOGENCHEM USE Ocean_Mercury_Mod, ONLY : LHgAQCHEM USE Ocean_Mercury_Mod, ONLY : LHg2HalfAerosol USE Ocean_Mercury_Mod, ONLY : STRAT_Br_FACTOR USE Ocean_Mercury_Mod, ONLY : LAnthroHgOnly USE Ocean_Mercury_Mod, ONLY : LOHO3CHEM USE Ocean_Mercury_Mod, ONLY : LGCBrOMINE USE Ocean_Mercury_Mod, ONLY : LnoUSAemis USE Ocean_Mercury_Mod, ONLY : LBrOCHEM USE Ocean_Mercury_Mod, ONLY : LNEI2005 USE Ocean_Mercury_Mod, ONLY : LInPlume USE Ocean_Mercury_Mod, ONLY : LOCEANCOEF USE PhysConstants USE Precision_Mod IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: Cleanup_Mercury PUBLIC :: ChemMercury PUBLIC :: EmissMercury PUBLIC :: Init_Mercury ! ! !REMARKS: ! References: ! ============================================================================ ! (1 ) Shah, V. et al (2021), "Improved mechanistic model of the atmospheric ! redox chemistry of mercury", Environ. Sci. Technol., 55, 14445-14456/ ! (2 ) Saiz-Lopez, A. et al (2020), "Photochemistry of oxidized Hg(I) and ! Hg(II) species suggests missing mercury oxidation in the ! troposphere", PNAS, 117, 30949-3095, 2020. ! (3 ) Parrella, J. et al. (2012), Tropospheric bromine chemistry: ! implications for present and pre-industrial ozone and mercury, ACP. ! (4 ) Prados-Roman, C. et al. (2011), Airborne DOAS limb measurements of ! tropospheric trace gas profiles: case studies on the profile retrieval ! of O4 and BrO, Atmos. Meas. Tech., 4: 1241-1260. ! (5 ) Pohler, D. et al. (2010), Observation of halogen species in the Amundsen ! Gulf, Arctic, by active long-path differential optical absorption ! spectroscopy, Proc. Natl. Acad. Sci, 107(15): 6528-6587. ! (6 ) Holmes, C.D., et al. (2010) Global atmospheric model for mercury ! including oxidation by bromine atoms, AC&P, 10, 12,037-12,057. ! (7 ) Streets, D.G. et al. (2009), Projections of global mercury emissions ! in 2050, Environ. Sci. Technol., 43, 2983-2988. ! (8 ) Corbitt, E.S. et al. (2011), Global source-receptor relationships for ! mercury deposition under present-day and 2050 emissions scenarios, ! Environ. Sci. Technol., 45, 10477-10484. ! (8 ) Soerensen, A. et al. (2010), An improved global model for air-sea ! exchange of mercury: High concentrations over the North Atlantic, ! Environ. Sci. Technol., 44, 8574-8580. ! (9 ) Mintz, Y and G.K. Walker (1993). "Global fields of soil moisture ! and land surface evapotranspiration derived from observed ! precipitation and surface air temperature." J. Appl. Meteorol. 32 (8), ! 1305-1334. ! (10) Allison, J.D. and T.L. Allison (2005) "Partition coefficients for ! metals in surface water, soil and waste." Rep. EPA/600/R-05/074, ! US EPA, Office of Research and Development, Washington, D.C. ! (11) Selin, N., et al. (2008). "Global 3-D land-ocean-atmospehre model ! for mercury: present-day versus preindustrial cycles and ! anthropogenic enrichment factors for deposition." Global ! Biogeochemical Cycles 22: GB2011. ! (12) Selin, N., et al. (2007). "Chemical cycling and deposition of ! atmospheric mercury: Global constraints from observations." ! J. Geophys. Res. 112. ! (13) Sommar, J., et al. (2001). "A kinetic study of the gas-phase ! reaction between the hydroxyl radical and atomic mercury." ! Atmospheric Environment 35: 3049-3054. ! (14) Hall, B. (1995). "The gas phase oxidation of elemental mercury by ! ozone.", Water, Air, and Soil Pollution 80: 301-315. !EOP !------------------------------------------------------------------------------ !BOC ! ! !PRIVATE TYPES: ! !-------------------------------------------------------------------------- ! Scalars !-------------------------------------------------------------------------- LOGICAL :: doSuppress, Failed2x INTEGER :: errorCount, N_Hg_CATS INTEGER :: id_Hg0, id_Hg2, id_HgP INTEGER :: id_phot_NO2, id_phot_BrO, id_phot_ClO INTEGER :: id_phot_Hg2Org, id_O3, id_OH INTEGER :: id_HO2, id_ClO, id_Cl INTEGER :: id_NO2, id_NO, id_Br INTEGER :: id_BrO, id_HgBrNO2, id_HgBrHO2 INTEGER :: id_HgBrOH, id_HgBrBrO, id_HgBrClO INTEGER :: id_HgBr2, id_HgClNO2, id_HgClHO2 INTEGER :: id_HgClOH, id_HgClBrO, id_HgClClO INTEGER :: id_HgClBr, id_HgOHNO2, id_HgOHHO2 INTEGER :: id_HgOHOH, id_HgOHBrO, id_HgOHClO INTEGER :: id_HgCl2, id_Hg2Clp, id_Hg2ORGp INTEGER :: id_Hg2STRP, id_HgBr, id_HgCl INTEGER :: id_HgOH, id_HgBrO, id_HgClO INTEGER :: id_HgOHO, nHg2gasSpc, n_Aer INTEGER :: n_Dust REAL(fp) :: srMw_HgCl2 !-------------------------------------------------------------------------- ! Arrays !-------------------------------------------------------------------------- INTEGER :: Map_Hg2gas(25) INTEGER, ALLOCATABLE :: PL_Kpp_ID(:) REAL(fp), ALLOCATABLE :: EHg0_an(:,:) REAL(fp), ALLOCATABLE :: EHg0_dist(:,:) REAL(fp), ALLOCATABLE :: EHg0_ln(:,:) REAL(fp), ALLOCATABLE :: EHg0_oc(:,:) REAL(fp), ALLOCATABLE :: EHg0_so(:,:) REAL(fp), ALLOCATABLE :: EHg0_snow(:,:) REAL(fp), ALLOCATABLE :: EHg2_an(:,:) REAL(fp), ALLOCATABLE :: COSZM(:,:) ! Max daily SZA REAL(fp), ALLOCATABLE :: srMw(:) REAL(fp), ALLOCATABLE :: TCOSZ(:,:) ! Sum of SZA REAL(fp), ALLOCATABLE :: TTDAY(:,:) ! Total daylight time [min] REAL(fp), ALLOCATABLE :: ZERO_DVEL(:,:) ! Zero drydep vel [cm/s] REAL(fp), ALLOCATABLE :: Hg2_SEASALT_LOSSRATE(:,:) CHARACTER(LEN=8), & ALLOCATABLE :: AerSpcNames(:) ! For now, we need an emission array for the HG simulation ! that can be passed to vdiff_mod.F90 since Trac_Tend does ! not exist anymore (ckeller, 10/21/2014). REAL(fp), ALLOCATABLE, PUBLIC :: HG_EMIS(:,:,:) !-------------------------------------------------------------------------- ! Pointers to fields in the HEMCO data structure, which must be REAL*4. ! (NOTE: We can set them to NULL here because hey are globally ! SAVEd variables (bmy, 4/29/16) !-------------------------------------------------------------------------- REAL(f4), POINTER :: O3(:,:,:) => NULL() REAL(f4), POINTER :: OH(:,:,:) => NULL() REAL(f4), POINTER :: JNO2(:,:,:) => NULL() REAL(f4), POINTER :: NO2(:,:,:) => NULL() REAL(f4), POINTER :: NO(:,:,:) => NULL() REAL(f4), POINTER :: HOCl(:,:,:) => NULL() REAL(f4), POINTER :: HO2(:,:,:) => NULL() REAL(f4), POINTER :: ClO(:,:,:) => NULL() REAL(f4), POINTER :: Cl(:,:,:) => NULL() REAL(f4), POINTER :: OA(:,:,:) => NULL() REAL(f4), POINTER :: OCEAN_CONC(:,:) => NULL() REAL(f4), POINTER :: GLOB_PM25(:,:,:) => NULL() REAL(f4), POINTER :: GLOB_fOA (:,:,:) => NULL() REAL(f4), POINTER :: GLOB_RH(:,:,:) => NULL() !-------------------------------------------------------------------------- ! Derived types and derived-type arrays !-------------------------------------------------------------------------- ! For oxidants and related quantities read from HEMCO TYPE :: ConcPtrObj REAL(f4), POINTER :: Data(:,:,:) => NULL() ! [molec/cm3] END TYPE ConcPtrObj ! For AOD quantities read from HEMCO TYPE :: AeroPtrObj REAL(f4), POINTER :: AOD(:,:,:) => NULL() ! [unitless] REAL(f4), POINTER :: Area(:,:,:) => NULL() ! [cm2/cm3] REAL(f4), POINTER :: Radi(:,:,:) => NULL() ! [cm] END TYPE AeroPtrObj ! Vector of type ConcPtrObj TYPE(ConcPtrObj), POINTER :: FixSpcPtr(:) ! Vector of type AeroPtrObj TYPE(AeroPtrObj), POINTER :: AeroPtr(:) CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: emissmercury ! ! !DESCRIPTION: Subroutine EMISSMERCURY is the driver routine for mercury ! emissions. !\\ !\\ ! !INTERFACE: ! SUBROUTINE EmissMercury( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE DEPO_MERCURY_MOD, ONLY : RESET_HG_DEP_ARRAYS USE ErrCode_Mod USE ERROR_MOD USE HCO_Utilities_GC_Mod, ONLY : HCO_GC_GetPtr USE Input_Opt_Mod, ONLY : OptInput USE Land_Mercury_Mod, ONLY : Land_Mercury_Flux USE Land_Mercury_Mod, ONLY : SOILEMIS USE Land_Mercury_Mod, ONLY : SNOWPACK_MERCURY_FLUX USE Ocean_Mercury_Mod, ONLY : OCEAN_MERCURY_FLUX USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE Time_Mod, ONLY : GET_MONTH, ITS_A_NEW_MONTH USE Timers_Mod, ONLY : Timer_End, Timer_Start USE UnitConv_Mod ! Added for GTMM (ccc, 11/19/09) !USE LAND_MERCURY_MOD, ONLY : GTMM_DR ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! ! !REVISION HISTORY: ! 03 Jun 2013 - N. (Eckley) Selin - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! LOGICAL, SAVE :: FIRST = .TRUE. INTEGER :: THISMONTH, I, J, previous_units ! Pointers REAL(f4), POINTER :: Ptr2D(:,:) ! Strings CHARACTER(LEN=255) :: ErrMsg CHARACTER(LEN=255) :: ThisLoc !======================================================================== ! EMISSMERCURY begins here! !======================================================================== ! Assume success RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at EMISSMERCURY (in module GeosCore/mercury_mod.F90)' ! Halt HEMCO timer (so that unit conv can be timed separately) IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "HEMCO", RC ) ENDIF ! Convert species units to [kg] for EMISSMERCURY (ewl, 8/12/15) CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & mapping = State_Chm%Map_Advect, & new_units = KG_SPECIES, & previous_units = previous_units, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Convert_Spc_Units" #1!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Start HEMCO timer again IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "HEMCO", RC ) ENDIF !======================================================================== ! Get data pointers from HEMCO on the first call !======================================================================== IF ( FIRST ) THEN ! Soil distribution CALL HCO_GC_GetPtr( Input_Opt, State_Grid, 'HG0_SOILDIST', Ptr2D, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not get pointer to HEMCO field HG0_SOILDIST!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF EHg0_dist = Ptr2D(:,:) Ptr2D => NULL() ! Reset first-time flag FIRST = .FALSE. ENDIF !-------------------------------------------------------------- ! Here we are NOT using the Global Terrstrial Mercury Model... !-------------------------------------------------------------- ! Read offline ocean Hg0 EHg0_oc = 0.0_fp CALL OFFLINEOCEAN_READMO( State_Chm, State_Diag, State_Grid, & State_Met, EHg0_oc, RC ) ! Get land mercury flux of Hg0 CALL LAND_MERCURY_FLUX( LHgSNOW = LHgSNOW, & State_Grid = State_Grid, & State_Met = State_Met, & LFLUX = EHg0_ln ) IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### EMISSMERCURY: a LAND_FLUX' ) ENDIF ! Get soil mercury flux of Hg0 CALL SOILEMIS( EHg0_dist = EHg0_dist, & State_Grid = State_Grid, & State_Met = State_Met, & EHg0_so = EHg0_so ) IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### EMISSMERCURY: a SOILEMIS' ) ENDIF ! Get snow mercury flux of Hg0 CALL SNOWPACK_MERCURY_FLUX( LHgSNOW = LHgSNOW, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & FLUX = EHg0_snow ) IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### EMISSMERCURY: a SNOW_FLUX' ) ENDIF ! If we are using the non-local PBL mixing, ! we need to initialize the EMIS_SAVE array (cdh, 08/27/09) ! EMIS_SAVE is now HG_EMIS (ckeller, 10/21/2014) IF ( Input_Opt%LNLPBL ) HG_EMIS = 0.0e+0_fp ! Zero arrays for Hg deposition CALL RESET_HG_DEP_ARRAYS() IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### EMISSMERCURY: a RESET_HG_DEP_ARRAYS' ) ENDIF ! Add Hg(0) source into State_Chm%Species [kg] CALL SRCHg0( Input_Opt, State_Chm, State_Diag, State_Grid, State_Met, RC ) IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### EMISSMERCURY: a SRCHg0' ) ENDIF ! Halt HEMCO timer (so that unit conv can be timed separately) IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "HEMCO", RC ) ENDIF ! Convert species units back to original unit CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & mapping = State_Chm%Map_Advect, & new_units = previous_units, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN CALL GC_Error('Unit conversion error', RC, & 'Routine EMISSMERCURY in mercury_mod.F90') RETURN ENDIF ! Start HEMCO timer again IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "HEMCO", RC ) ENDIF END SUBROUTINE EMISSMERCURY !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: emithg ! ! !DESCRIPTION: Subroutine EMITHG directs emission either to the chemical ! species array (State\_Chm%Species) directly or to Hg\_EMIS for use by the ! non-local PBL mixing. This is a programming convenience. !\\ !\\ ! !INTERFACE: ! SUBROUTINE EMITHG( I, J, L, N, E_HG, Input_Opt, State_Chm, State_Grid ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE TIME_MOD, ONLY : GET_TS_EMIS ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I, J, L, N ! Grid boxes + species # REAL(fp), INTENT(IN) :: E_Hg ! Hg emissions TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !REVISION HISTORY: ! 27 Aug 2009 - C. Holmes - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars REAL(fp) :: AM2, TS ! Pointers TYPE(SpcConc), POINTER :: Spc(:) !================================================================= ! EMITHG begins here! !================================================================= IF ( Input_Opt%LNLPBL ) THEN !-------------------------------------------------------------- ! We are using FULL PBL MIXING (routine TURBDAY) ! ! Save emissions for non-local PBL mixing or emit directly. ! Make sure that emitted mass is non-negative ! This is hear only for consistency with old code which warned ! of underflow error (cdh, 08/27/09) ! EMIS_SAVE is now HG_EMIS array. Convert kg to kg/m2/s ! (ckeller, 09/23/2014) !-------------------------------------------------------------- ! Surface area [m2] AM2 = State_Grid%Area_M2(I,J) ! Emission timestep TS = GET_TS_EMIS() ! Save emissions as [kg/m2/s]. These will be added ! to the chemical species array in routine DO_TEND ! (in mixing_mod.F90). Hg_EMIS(I,J,N) = Hg_EMIS(I,J,N) + ( MAX( E_Hg, 0.0_fp ) / AM2 / TS ) ELSE !-------------------------------------------------------------- ! We are using FULL PBL MIXING (routine TURBDAY) ! so add directly to the State_Chm%Species array !-------------------------------------------------------------- ! Point to the chemical spcies array [kg] Spc => State_Chm%Species ! Add emissions Spc(N)%Conc(I,J,L) = Spc(N)%Conc(I,J,L) + MAX( E_Hg, 0.0_fp ) ! Free pointer Spc => NULL() ENDIF END SUBROUTINE EMITHG !EOP !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: srcHg0 ! ! !DESCRIPTION: Subroutine SRCHg0 is the subroutine for Hg(0) emissions. ! Emissions of Hg(0) will be distributed throughout the boundary layer. ! (eck, cdh, bmy, 1/21/05, 4/6/06) !\\ !\\ ! !INTERFACE: ! SUBROUTINE SRCHg0( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_TS_EMIS ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 21 Jan 2005 - N. (Eckley) Selin, C. Holmes - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, J, L REAL(fp) :: DTSRCE, E_Hg, T_Hg !================================================================= ! SRCHg0 begins here! !================================================================= ! Initialize RC = GC_SUCCESS DTSRCE = GET_TS_EMIS() ! Timestep [s] ! Zero ocean and snow if the "anthro Hg only" option is selected IF ( LAnthroHgOnly ) THEN EHg0_oc = 0.0_fp EHg0_snow = 0.0_fp ENDIF ! Loop over grid boxes !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, L, T_Hg, E_Hg )& !$OMP COLLAPSE( 2 ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Compute total Hg(0) emissions not computed by HEMCO ! (oceans + land + natural + snow) T_Hg = EHg0_oc(I,J) + EHg0_ln(I,J) + EHg0_so(I,J) + EHg0_snow(I,J) !===================================================================== ! Partition Hg0 throughout PBL; store into State_Chm%Species [kg] ! Now make sure State_Chm%Species does not underflow (cdh, bmy, 4/6/06) !===================================================================== DO L = 1, State_Met%PBL_MAX_L E_Hg = State_Met%F_OF_PBL(I,J,L) * T_Hg * DTSRCE CALL EmitHg( I, J, L, id_Hg0, E_Hg, Input_Opt, State_Chm, State_Grid ) ENDDO !===================================================================== ! %%%%% HISTORY (aka netCDF diagnostics) %%%%% ! ! Save the various Hg0 emissions (land, ocean, snow, soil) ! in units of [kg/s]. ! ! NOTE: All other emission categories are archived via HEMCO. !===================================================================== ! Land Hg0 emissions [kg/s] IF ( State_Diag%Archive_EmisHg0land ) THEN State_Diag%EmisHg0land(I,J) = EHg0_ln(I,J) ENDIF ! Oceanic Hg0 emissions [kg/s] IF ( State_Diag%Archive_EmisHg0ocean ) THEN State_Diag%EmisHg0ocean(I,J) = EHg0_oc(I,J) ENDIF ! Snow Hg0 emissions [kg/s] IF ( State_Diag%Archive_EmisHg0snow ) THEN State_Diag%EmisHg0snow(I,J) = EHg0_snow(I,J) ENDIF ! Soil Hg0 emissions [kg/s] IF ( State_Diag%Archive_EmisHg0soil ) THEN State_Diag%EmisHg0soil(I,J) = EHg0_so(I,J) ENDIF ENDDO ENDDO !$OMP END PARALLEL DO END SUBROUTINE SRCHg0 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: chemmercury ! ! !DESCRIPTION: Subroutine CHEMMERCURY is the driver routine for mercury ! chemistry in the GEOS-CHEM module. !\\ !\\ ! !INTERFACE: ! SUBROUTINE ChemMercury( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE Depo_Mercury_Mod, ONLY : ADD_Hg2_DD USE Depo_Mercury_Mod, ONLY : ADD_HgP_DD USE GcKpp_Monitor, ONLY : SPC_NAMES, FAM_NAMES USE GcKpp_Parameters USE GcKpp_Integrator, ONLY : Integrate USE GcKpp_Model USE Gckpp_Global USE GcKpp_Rates, ONLY : UPDATE_RCONST, RCONST USE Photolysis_Mod, ONLY : Do_Photolysis USE PhysConstants, ONLY : AVO USE State_Chm_Mod, ONLY : Ind_ USE PRESSURE_MOD USE Species_Mod, ONLY : Species USE Time_Mod, ONLY : Get_Ts_Chem USE Time_Mod, ONLY : Get_Day USE Time_Mod, ONLY : Get_Month USE Time_Mod, ONLY : Get_Year USE Time_Mod, ONLY : ITS_A_NEW_MONTH, ITS_A_NEW_DAY USE Time_Mod, ONLY : ITS_TIME_FOR_A3 USE UnitConv_Mod USE ErrCode_Mod USE ERROR_MOD, ONLY : ERROR_STOP, DEBUG_MSG, SAFE_DIV USE HCO_STATE_GC_MOD, ONLY : HcoState USE HCO_EmisList_Mod, ONLY : HCO_GetPtr USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : Species, SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE Timers_Mod, ONLY : Timer_End, Timer_Start ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! SAVEd scalars LOGICAL, SAVE :: FIRST = .TRUE. ! Scalars LOGICAL :: doSuppress INTEGER :: previous_units INTEGER :: I, J, L, K INTEGER :: N, NN, CN, Hg_Cat INTEGER :: NA, F, SpcID, KppID INTEGER :: P, MONTH, YEAR, IRH INTEGER :: TotSteps, TotFuncs, TotJacob, TotAccep INTEGER :: TotRejec, TotNumLU, HCRC, IERR INTEGER :: Day, S, errorCount REAL(fp) :: REL_HUM, rtim, itim, TOUT REAL(fp) :: T, TIN ! Strings CHARACTER(LEN=16) :: thisName CHARACTER(LEN=255) :: errMsg CHARACTER(LEN=255) :: thisLoc ! Arrays INTEGER :: ICNTRL(20) INTEGER :: ISTATUS(20) REAL(dp) :: RCNTRL(20) REAL(dp) :: RSTATE(20) REAL(dp) :: C_before_integrate(NSPEC) ! Pointers TYPE(Species), POINTER :: SpcInfo TYPE(SpcConc), POINTER :: Spc (:) INTEGER, POINTER :: IRHARR (:,:,:) REAL(fp), POINTER :: TK (:,:,:) REAL(fp), POINTER :: ODAER (:,:,:,:,:) REAL(fp), POINTER :: ODMDUST(:,:,:,:,:) ! ! !DEFINED PARAMETERS: ! ! Toggle hetchem for testing (default=on) LOGICAL, PARAMETER :: DO_HETCHEM = .TRUE. ! Suppress KPP integrator output after this many errors occur INTEGER, PARAMETER :: INTEGRATE_FAIL_TOGGLE = 20 ! Relative Humidities (to be passed to FAST_JX) REAL(fp), PARAMETER :: RH(5) = (/0.0_fp, 0.5_fp, 0.7_fp, 0.8_fp, 0.9_fp/) !======================================================================== ! CHEMMERCURY begins here! !======================================================================== ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = ' -> at ChemMercury (in GeosCore/mercury_mod.F90)' itim = 0.0_fp ! For KPP timing rtim = 0.0_fp ! For KPP timing totsteps = 0 ! Total # of KPP timesteps totfuncs = 0 ! Total # of integrator function calls totjacob = 0 ! Total # of jacobian calls totaccep = 0 ! Total # of KPP calls that finished OK totrejec = 0 ! Total # of KPP calls that didn't converge totnumLU = 0 ! Total # of LU decomposition calls errorCount = 0 ! Count of KPP integration errors Day = Get_Day() ! Current day Month = Get_Month() ! Current month Year = Get_Year() ! Current year Failed2x = .FALSE. ! Flag for graceful exit of simulation doSuppress = .FALSE. ! Suppress further KPP integration errmsgs? ! Initialize pointers SpcInfo => NULL() ! Pointer to GEOS-Chem species database Spc => State_Chm%Species ! Chemical species array [kg] TK => State_Met%T ! Temperature [K] IRHARR => State_Chm%Phot%IRHARR ! Relative humidity indexes ODAER => State_Chm%Phot%ODAER ! Aerosol optical depth ODMDUST => State_Chm%Phot%ODMDUST ! Dust optical depth !======================================================================== ! Set chemistry options and pointers to chemical inputs from HEMCO !======================================================================== IF ( FIRST ) THEN IF ( .not. DO_HETCHEM ) THEN WRITE( 6, '(a)' ) REPEAT( '#', 32 ) WRITE( 6, '(a)' ) ' # Do_FlexChem: Heterogeneous chemistry' // & ' is turned off for testing purposes.' WRITE( 6, '(a)' ) REPEAT( '#', 32 ) ENDIF IF ( .not. Input_Opt%Do_Photolysis ) THEN WRITE( 6, '(a)' ) REPEAT( '#', 32 ) WRITE( 6, '(a)' ) ' # Do_FlexChem: Photolysis chemistry' // & ' is turned off for testing purposes.' WRITE( 6, '(a)' ) REPEAT( '#', 32 ) ENDIF ENDIF !======================================================================== ! Recompute AOD and related properties when it's a new month ! from the data read in via HEMCO !======================================================================== IF ( ITS_A_NEW_MONTH() ) THEN ! Get pointers to fields read via HEMCO CALL Set_HCOPointers ( Input_Opt, State_Chm, State_Met, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "Set_HCOPointers"!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Set AOD fields to pass to FastJX IRHARR = 1 ODAER = 0.0_fp ODMDUST = 0.0_fp !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, L, N, REL_HUM )& !$OMP COLLAPSE( 3 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Dust OD DO N = 1, N_Dust ODMDUST(I,J,L,1,N) = AeroPtr(N)%AOD(I,J,L) ENDDO ! Aerosol OD DO N = 1, N_Aer ODAER(I,J,L,1,N) = AeroPtr(N_Dust+N)%AOD(I,J,L) ENDDO ! Save IRHARR REL_HUM = GLOB_RH(I,J,L) IF ( REL_HUM <= RH(2) ) THEN IRHARR(I,J,L) = 1 ELSE IF ( REL_HUM <= RH(3) ) THEN IRHARR(I,J,L) = 2 ELSE IF ( REL_HUM <= RH(4) ) THEN IRHARR(I,J,L) = 3 ELSE IF ( REL_HUM <= RH(5) ) THEN IRHARR(I,J,L) = 4 ELSE IRHARR(I,J,L) = 5 ENDIF ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDIF ! Zero diagnostic archival arrays to make sure that we don't have any ! leftover values from the last timestep near the top of the chemgrid CALL Hg_ZeroDiagArrays( State_Diag ) !====================================================================== ! Convert species to [molec/cm3] (ewl, 8/16/16) !====================================================================== ! Halt gas-phase chem timer (so that unit conv can be timed separately) IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "=> Gas-phase chem", RC ) ENDIF ! Convert units CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & new_units = MOLECULES_SPECIES_PER_CM3, & previous_units = previous_units, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Unit conversion error!' CALL GC_Error( errMsg, RC, 'mercury_mod.F90') RETURN ENDIF ! Start gas-phase chem timer again IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "=> Gas-phase chem", RC ) ENDIF !======================================================================== ! Call photolysis routine to compute J-Values !======================================================================== IF ( Input_Opt%Do_Photolysis ) THEN !Compute J values CALL Do_Photolysis( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "Do_Photolysis"!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !### Debug IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### ChemMercury: after FAST_JX' ) ENDIF ENDIF !======================================================================== ! Set instantaneous oxidant concentrations (molec cm-3) !======================================================================== CALL Set_HgOxidConc( Input_Opt, State_Chm, State_Grid, State_Met, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "Set_HgOxidConc"!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !### Debug IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### ChemMercury: after Set_HgOxidConc' ) ENDIF !======================================================================== ! Set up integration convergence conditions and timesteps ! (cf. M. J. Evans) !======================================================================== !%%%%% TIMESTEPS %%%%% DT = GET_TS_CHEM() ! [s] T = 0d0 TIN = T TOUT = T + DT !%%%%% CONVERGENCE CRITERIA %%%%% ! Absolute tolerance ATOL = State_Chm%KPP_AbsTol ! Relative tolerance RTOL = State_Chm%KPP_RelTol !%%%%% SOLVER OPTIONS %%%%% ! Zero all slots of ICNTRL ICNTRL = 0 ! 0 - non-autonomous, 1 - autonomous ICNTRL(1) = 1 ! 0 - vector tolerances, 1 - scalars ICNTRL(2) = 0 ! Select Integrator ICNTRL(3) = 4 ! Rodas3 ! 0 - adjoint, 1 - no adjoint ICNTRL(7) = 1 ! Turn off calling Update_SUN, Update_RCONST, Update_PHOTO from within ! the integrator. Rate updates are done before calling KPP. ! -- Bob Yantosca (03 May 2022) ICNTRL(15) = -1 !======================================================================= ! %%%%% SOLVE CHEMISTRY -- This is the main KPP solver loop %%%%% !======================================================================= 100 format('No. of function calls:', i6, /, & 'No. of jacobian calls:', i6, /, & 'No. of steps: ', i6, /, & 'No. of accepted steps:', i6, /, & 'No. of rejected steps ', i6, /, & ' (except at very beginning)', /, & 'No. of LU decompositions: ', i6, /, & 'No. of forward/backward substitutions:', i6, /, & 'No. of singular matrix decompositions:', i6, /, & /, & 'Texit, the time corresponding to the ', /, & ' computed Y upon return: ', f11.4, /, & 'Hexit, last accepted step before exit: ', f11.4, /, & 'Hnew, last predicted step (not yet taken):', f11.4 ) !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, L, N )& !$OMP PRIVATE( IERR, RCNTRL, ISTATUS, RSTATE )& !$OMP PRIVATE( SpcID, KppID, F, C_before_integrate )& !$OMP PRIVATE( P, NN )& !$OMP COLLAPSE( 3 )& !$OMP SCHEDULE ( DYNAMIC, 24 )& !$OMP REDUCTION( +:errorCount ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Skip to the end of the loop if we have failed integration twice IF ( Failed2x ) CYCLE !==================================================================== ! For safety sake, initialize certain variables for each grid ! box (I,J,L), whether or not chemistry will be done there. !==================================================================== IERR = 0 ! Success or failure flag P = 0 ! GEOS-Chem photolyis species ID ISTATUS = 0.0_dp ! Rosenbrock output PHOTOL = 0.0_dp ! Photolysis array RCNTRL = 0.0_fp ! Rosenbrock input RSTATE = 0.0_dp ! Rosenbrock output C = 0.0_dp ! KPP species conc's RCONST = 0.0_dp ! KPP rate constants CFACTOR = 1.0_dp ! KPP conversion factor (not really needed) !==================================================================== ! Test if we need to do the chemistry for box (I,J,L), ! otherwise move onto the next box. !==================================================================== ! If we are not below the stratopause don't do the chemistry! !IF ( L > State_Grid%MaxStratLev ) CYCLE IF ( .not. State_Met%InChemGrid( I, J, L ) ) CYCLE ! Skipping buffer zone (lzh, 08/10/2014) IF ( State_Grid%NestedGrid ) THEN IF ( J <= State_Grid%SouthBuffer ) CYCLE IF ( J > State_Grid%NY - State_Grid%NorthBuffer ) CYCLE IF ( I <= State_Grid%EastBuffer ) CYCLE IF ( I > State_Grid%NX - State_Grid%WestBuffer ) CYCLE ENDIF !==================================================================== ! Get photolysis rates (daytime only) !==================================================================== IF ( State_Met%SUNCOSmid(I,J) > -0.1391731e+0_fp ) THEN ! Loop over the FAST-JX photolysis species DO N = 1, State_Chm%Phot%nPhotRxns ! Copy photolysis rate from FAST_JX into KPP PHOTOL array IF ( Input_Opt%Do_Photolysis ) THEN PHOTOL(N) = State_Chm%Phot%ZPJ(L,N,I,J) ENDIF !--------------------------------------------------------------- ! HISTORY (aka netCDF diagnostics) ! ! Instantaneous photolysis rates [s-1] (aka J-values) ! and noontime photolysis rates [s-1] !--------------------------------------------------------------- IF ( State_Diag%Archive_JVal ) THEN ! GC photolysis species index P = State_Chm%Phot%GC_Photo_Id(N) ! Archive the instantaneous photolysis rate ! (summing over all reaction branches) State_Diag%JVal(I,J,L,P) = State_Diag%JVal(I,J,L,P) & + PHOTOL(N) ENDIF ! J_values for satellite diagnostics IF ( State_Diag%Archive_SatDiagnJVal ) THEN ! GC photolysis species index P = State_Chm%Phot%GC_Photo_Id(N) ! Archive the instantaneous photolysis rate ! (summing over all reaction branches) State_Diag%SatDiagnJVal(I,J,L,P) = & State_Diag%SatDiagnJVal(I,J,L,P) + PHOTOL(N) ENDIF ENDDO ENDIF !==================================================================== ! Copy values at each gridbox into variables in gckpp_Global.F90 ! This includes e.g. temperature, air density, and quantities ! needed for heterogeneous chemistry !==================================================================== CALL Set_Kpp_GridBox_Values( I = I, & J = J, & L = L, & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & RC = RC ) !===================================================================== ! Update KPP rates !===================================================================== ! Zero out dummy species index in KPP DO F = 1, NFAM KppID = PL_Kpp_Id(F) IF ( KppID > 0 ) C(KppID) = 0.0_dp ENDDO ! Update the array of rate constants CALL Update_RCONST( ) ! HISTORY: Update RxnRates, RxnConst collections CALL Hg_UpdateRxnDiags( I, J, L, State_Diag ) !===================================================================== ! Set options for the KPP Integrator (M. J. Evans) !===================================================================== ! Zero all slots of RCNTRL RCNTRL = 0.0_fp ! Initialize Hstart (the starting value of the integration step ! size with the value of Hnew (the last predicted but not yet ! taken timestep) saved to the the restart file. RCNTRL(3) = State_Chm%KPPHvalue(I,J,L) !===================================================================== ! Integrate the box forwards !===================================================================== ! Store concentrations before the call to "Integrate". This will ! let us reset concentrations before calling "Integrate" a 2nd time. C_before_integrate = C ! Call the Rosenbrock integrator CALL Integrate( TIN, TOUT, ICNTRL, & RCNTRL, ISTATUS, RSTATE, IERR ) ! Print grid box indices to screen if integrate failed IF ( IERR < 0 ) THEN IF ( .not. doSuppress ) THEN WRITE( 6, * ) '### INTEGRATE RETURNED ERROR AT: ', I, J, L errorCount = errorCount + 1 IF ( errorCount > INTEGRATE_FAIL_TOGGLE ) THEN WRITE( 6, * ) & '### Further KPP integration error messages will be suppressed' doSuppress = .TRUE. ENDIF ENDIF ENDIF ! HISTORY: Update KppDiags collection (solver statistics) CALL Hg_UpdateKppDiags( I, J, L, ISTATUS, & RSTATE, Input_Opt, State_Diag, .TRUE. ) !-------------------------------------------------------------------- ! Try another time if it failed !-------------------------------------------------------------------- IF ( IERR < 0 ) THEN ! Zero the first time step (Hstart, used by Rosenbrock). Also reset ! C with concentrations prior to the 1st call to "Integrate". RCNTRL(3) = 0.0_dp C = C_before_integrate ! Update rate constants again CALL Update_RCONST( ) ! Call the Rosenbrock integrator again CALL Integrate( TIN, TOUT, ICNTRL, & RCNTRL, ISTATUS, RSTATE, IERR ) ! HISTORY: Update KppDiags collection (solver statistics), ! adding stats from the 2nd call to those of from the 1st call CALL Hg_UpdateKppDiags( I, J, L, ISTATUS, & RSTATE, Input_Opt, State_Diag, .FALSE. ) !------------------------------------------------------------------ ! Exit upon the second failure !------------------------------------------------------------------ IF ( IERR < 0 ) THEN ! Print error message WRITE(6, '(a )' ) '## INTEGRATE FAILED TWICE !!! ' WRITE(ERRMSG,'(a,i3)' ) 'Integrator error code :', IERR #ifdef MODEL_GEOS IF ( Input_Opt%KppStop ) THEN CALL ERROR_STOP(ERRMSG, 'INTEGRATE_KPP') ELSE ! Revert to concentrations prior to 1st call to "Integrate" C = C_before_integrate ENDIF IF ( ASSOCIATED(State_Diag%KppError) ) THEN State_Diag%KppError(I,J,L) = State_Diag%KppError(I,J,L) + 1.0 ENDIF #else !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! Make sure only one thread at a time executes this block !$OMP CRITICAL ! Set a flag to break out of loop gracefully ! NOTE: You can set a GDB breakpoint here to examine the error Failed2x = .TRUE. ! Print concentrations at trouble box KPP error PRINT*, REPEAT( '#', 79 ) PRINT*, '### KPP DEBUG OUTPUT!' PRINT*, '### Species concentrations at problem box ', I, J, L PRINT*, REPEAT( '#', 79 ) DO N = 1, NSPEC PRINT*, C(N), TRIM( ADJUSTL( SPC_NAMES(N) ) ) ENDDO ! Print rate constants at trouble box KPP error PRINT*, REPEAT( '#', 79 ) PRINT*, '### KPP DEBUG OUTPUT!' PRINT*, '### Reaction rates at problem box ', I, J, L PRINT*, REPEAT( '#', 79 ) DO N = 1, NREACT PRINT*, RCONST(N), TRIM( ADJUSTL( EQN_NAMES(N) ) ) ENDDO ! !$OMP END CRITICAL !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! Start skipping to end of loop upon 2 failures in a row CYCLE #endif ENDIF ENDIF !===================================================================== ! Continue upon successful return... !===================================================================== ! Save Hnew (the last predicted but not taken step) from the 3rd slot ! of RSTATE into State_Chm so that it can be written to the restart ! file. For simulations that are broken into multiple stages, ! Hstart will be initialized to the value of Hnew from the restart ! file at startup (see above). State_Chm%KPPHvalue(I,J,L) = RSTATE(3) !===================================================================== ! Check we have no negative values and copy the concentrations ! calculated from the C array back into State_Chm%Species !===================================================================== ! Loop over KPP species DO N = 1, NSPEC ! GEOS-Chem species ID SpcID = State_Chm%Map_KppSpc(N) ! Skip if this is not a GEOS-Chem species IF ( SpcID <= 0 ) CYCLE ! Set negative concentrations to zero C(N) = MAX( C(N), 0.0_dp ) ! Copy concentrations back into species concentration array State_Chm%Species(SpcID)%Conc(I,J,L) = REAL( C(N), kind=fp ) ENDDO !===================================================================== ! HISTORY (aka netCDF diagnostics) ! ! Prod and loss of families or species [molec/cm3/s] ! ! NOTE: KppId is the KPP ID # for each of the prod and loss ! diagnostic species. This is the value used to index the ! KPP "VAR" array (in module GcKpp_Global.F90). !===================================================================== ! Chemical loss of species or families [molec/cm3/s] IF ( State_Diag%Archive_Loss ) THEN DO S = 1, State_Diag%Map_Loss%nSlots KppId = State_Diag%Map_Loss%slot2Id(S) State_Diag%Loss(I,J,L,S) = C(KppID) / DT ENDDO ENDIF ! Chemical production of species or families [molec/cm3/s] IF ( State_Diag%Archive_Prod ) THEN DO S = 1, State_Diag%Map_Prod%nSlots KppID = State_Diag%Map_Prod%slot2Id(S) State_Diag%Prod(I,J,L,S) = C(KppID) / DT ENDDO ENDIF ! Satellite diagnostic: chemical loss of species/families [molec/cm3/s] IF ( State_Diag%Archive_SatDiagnLoss ) THEN DO S = 1, State_Diag%Map_SatDiagnLoss%nSlots KppId = State_Diag%Map_SatDiagnLoss%slot2Id(S) State_Diag%SatdiagnLoss(I,J,L,S) = C(KppID) / DT ENDDO ENDIF ! Satellite diagnostic: chemical prod of species/families [molec/cm3/s] IF ( State_Diag%Archive_SatDiagnProd ) THEN DO S = 1, State_Diag%Map_SatDiagnProd%nSlots KppID = State_Diag%Map_SatDiagnProd%slot2Id(S) State_Diag%SatDiagnProd(I,J,L,S) = C(KppID) / DT ENDDO ENDIF !===================================================================== ! HISTORY (aka netCDF diagnostics) ! ! Archive concetration of short-lived radicals [mol/mol] !===================================================================== IF ( State_Diag%Archive_HgBrAfterChem ) THEN State_Diag%HgBrAfterChem(I,J,L) = Spc(id_HgBr)%Conc(I,J,L) & / State_Met%AirNumDen(I,J,L) ENDIF IF ( State_Diag%Archive_HgClAfterChem ) THEN State_Diag%HgClAfterChem(I,J,L) = Spc(id_HgCl)%Conc(I,J,L) & / State_Met%AirNumDen(I,J,L) ENDIF IF ( State_Diag%Archive_HgOHAfterChem ) THEN State_Diag%HgOHAfterChem(I,J,L) = Spc(id_HgOH)%Conc(I,J,L) & / State_Met%AirNumDen(I,J,L) ENDIF IF ( State_Diag%Archive_HgBrOAfterChem ) THEN State_Diag%HgBrOAfterChem(I,J,L) = Spc(id_HgBrO)%Conc(I,J,L) & / State_Met%AirNumDen(I,J,L) ENDIF IF ( State_Diag%Archive_HgClOAfterChem ) THEN State_Diag%HgClOAfterChem(I,J,L) = Spc(id_HgClO)%Conc(I,J,L) & / State_Met%AirNumDen(I,J,L) ENDIF IF ( State_Diag%Archive_HgOHOAfterChem ) THEN State_Diag%HgOHOAfterChem(I,J,L) = Spc(id_HgOHO)%Conc(I,J,L) & / State_Met%AirNumDen(I,J,L) ENDIF ENDDO ENDDO ENDDO !$OMP END PARALLEL DO !======================================================================= ! Return gracefully if integration failed 2x anywhere ! (as we cannot break out of a parallel DO loop!) !======================================================================= IF ( Failed2x ) THEN ErrMsg = 'KPP failed to converge after 2 iterations!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !======================================================================== ! Partition Hg2 between gas and aerosol phase !======================================================================== CALL PartitionHg2( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) !======================================================================== ! Hg2 uptake by seasalt aerosols in the MBL !======================================================================== CALL SeaSaltUptake( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) !======================================================================== ! Convert species back to original units (ewl, 8/16/16) !======================================================================== ! Halt gas-phase chem timer (so that unit conv can be timed separately) IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "=> Gas-phase chem", RC ) ENDIF ! Convert units back CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & new_units = previous_units, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Unit conversion error!' CALL GC_Error( errMsg, RC, 'mercury_mod.F90' ) RETURN ENDIF ! Start gas-phase chem timer again IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "=> Gas-phase chem", RC ) ENDIF !### Debug output (uncomment if needed) !IF ( ITS_A_NEW_DAY() ) THEN ! WRITE(*,*) 'Total Hg0 mass [Mg]: ', & ! SUM ( State_Chm%Species(id_Hg0)%Conc(:,:,:) ) ! Hg2Sum = 0.0_fp ! !$OMP PARALLEL DO & ! !$OMP DEFAULT( SHARED ) & ! !$OMP PRIVATE( N ) ! DO N = 2, 25 ! Hg2Sum = Hg2Sum + SUM(State_Chm%Species(N)%Conc(:,:,:)) ! ENDDO ! !$OMP END PARALLEL DO ! WRITE(*,*) 'Total Hg2 mass [Mg]: ', Hg2Sum !ENDIF ! Free pointers SpcInfo => NULL() Spc => NULL() IRHARR => NULL() TK => NULL() ODAER => NULL() ODMDUST => NULL() END SUBROUTINE ChemMercury !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Set_HcoPointers ! ! !DESCRIPTION: Subroutine Set_HCOPointers gets the offline chemistry data ! read by HEMCO. The pointers only need to be established once. Target data ! is automatically updated through HEMCO. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Set_HcoPointers( Input_Opt, State_Chm, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE HCO_State_GC_Mod, ONLY : HcoState USE HCO_EmisList_Mod, ONLY : HCO_GetPtr USE HCO_ExtList_Mod, ONLY : HCO_GetOpt USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Met_Mod, ONLY : MetState IMPLICIT NONE ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorological State object ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: RC ! Success or failure ! ! !REVISION HISTORY: ! 15 Jul 2020 - V. Shah - Initial version (based on set_brypointers) ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: is_BrOx_GC INTEGER :: N, spcID ! Strings CHARACTER(LEN=16) :: thisOpt CHARACTER(LEN=255) :: fieldName CHARACTER(LEN=255) :: thisLoc CHARACTER(LEN=1024) :: errMsg !================================================================= ! Set_HCOPointers begins here !================================================================= ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = ' -> at Set_HCOPointers (in module GeosCore/mercury_mod.F90)' ! Check if the Br_Ox switch is set thisOpt = HCO_GetOpt( HcoState%Config%ExtList, 'BrOx_GC', ExtNr=0 ) is_BrOx_GC = ( INDEX( thisOpt, 'true' ) > 0 ) ! Do for each fixed KPP species DO N = 1, State_Chm%nKppFix ! Get species ID spcID = State_Chm%Map_KppFix(N) ! Construct field name using species name fieldName = 'GLOBAL_' // TRIM( State_Chm%SpcData(SpcID)%Info%Name ) ! Get pointer to oxidant field [molec/cm3] CALL HCO_GetPtr( HcoState, fieldName, FixSpcPtr(N)%Data, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Cannot get pointer from HEMCO! Oxidant data '//& 'is expected to be listed in the HEMCO configuration ' //& 'file. This error occured when trying to get field ' //& TRIM( FieldName ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDDO !N !---------------------------------- ! PM2.5 mass concentration (ug m-3) !---------------------------------- ! Get pointer to this field. CALL HCO_GetPtr( HcoState, 'GLOBAL_PM25', GLOB_PM25, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Cannot get pointer from HEMCO for Global PM2.5' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !---------------------------------- ! OA fraction !---------------------------------- ! Get pointer to this field. CALL HCO_GetPtr( HcoState, 'GLOBAL_fOA', GLOB_fOA, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Cannot get pointer from HEMCO for Global fOA' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !---------------------------------- ! Aerosol fields !---------------------------------- ! Do for each aerosol species DO N = 1, N_Aer + N_Dust !------------------------------ ! AOD !------------------------------ ! Get aerosol species name fieldName = 'AOD_' // TRIM( AerSpcNames(N) ) ! Get pointer to this field. These are AODs. CALL HCO_GetPtr( HcoState, fieldName, AeroPtr(N)%AOD, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Cannot get pointer from HEMCO for ' // TRIM( fieldName ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------ ! Area (cm2 cm-3) !------------------------------ ! Get aerosol species name fieldName = 'Area_' // TRIM( AerSpcNames(N) ) ! Get pointer to this field. These are AODs. CALL HCO_GetPtr( HcoState, fieldName, AeroPtr(N)%Area, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Cannot get pointer from HEMCO for ' //& TRIM( fieldName ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------ ! Radi (cm) !------------------------------ ! Get aerosol species name fieldName = 'Radi_' // TRIM( AerSpcNames(N) ) ! Get pointer to this field. These are AODs. CALL HCO_GetPtr( HcoState, fieldName, AeroPtr(N)%Radi, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Cannot get pointer from HEMCO for ' //& TRIM( FieldName ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDDO !N !---------------------------------- ! Relative humidity !---------------------------------- ! Get pointer to this field. CALL HCO_GetPtr( HcoState, 'GLOBAL_RH', GLOB_RH, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Cannot get pointer from HEMCO for Global RH' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Return w/ success RC = GC_SUCCESS END SUBROUTINE Set_HCOPointers !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Set_HgOxidConc ! ! !DESCRIPTION: Transfers oxidant concentration fields ! to State_Chm after applying diurnal variation. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Set_HgOxidConc( Input_Opt, State_Chm, State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD, ONLY : ERROR_STOP USE ERROR_MOD, ONLY : DEBUG_MSG USE HCO_State_GC_Mod, ONLY : HcoState USE HCO_EmisList_Mod, ONLY : HCO_GetPtr USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : Species USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_MONTH ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 15 Jul 2020 - V. Shah - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I, J, L, N ! lon, lat, lev, indexes INTEGER :: SpcID CHARACTER(LEN=60) :: Prefix ! utility string CHARACTER(LEN=255) :: thisLoc ! routine location CHARACTER(LEN=255) :: errMsg ! message ! Objects TYPE(Species), POINTER :: SpcInfo ! Initialize pointers SpcInfo => NULL() !================================================================ ! Get_HgOxConc begins here! !================================================================= ! Assume success RC = GC_SUCCESS errMsg = '' thisLoc = ' -> at Get_HgOxConc (in GeosCore/mercury_mod.F90)' !================================================================= ! Set instantaneous species concentrations !================================================================= ! Set species concentration to monthly mean value ! Do for each fixed KPP species DO N = 1, State_Chm%nKppFix ! Get species ID SpcID = State_Chm%Map_KppFix(N) ! Get value from pointer to monthly mean field State_Chm%Species(SpcID)%Conc(:,:,:) = FixSpcPtr(N)%Data(:,:,:) ENDDO ! Impose diurnal cycle ! Compute sum of cosine of the solar zenith angle over a 24 hour day CALL OhNO3time( State_Grid ) ! Calculate instantaneous HOx CALL DiurnalHOx( State_Chm, State_Grid, State_Met ) ! Partition NOx based on NO-NO2-O3 photochemical steady state CALL PartNOx( State_Chm, State_Grid, State_Met ) ! Apply dirunal cycle and partition XOx based on O3, NO and J_XO CALL PartXOx( State_Chm, State_Grid, State_Met ) ! Add BrOx from springtime polar bromine explosion events IF ( LPOLARBr ) CALL PolarBrOx( State_Chm, State_Grid, State_Met ) END SUBROUTINE Set_HgOxidConc !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !INTERFACE: ! SUBROUTINE DiurnalHOx( State_Chm, State_Grid, State_Met ) ! ! !USES: ! USE Time_Mod, ONLY : Get_Ts_Chem USE Species_Mod, ONLY : SpcConc USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE State_Chm_Mod, ONLY : ChmState ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !REVISION HISTORY: ! 15 Jul 2020 - V. Shah - Initial version (modified from GET_OH) ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, J, L REAL(fp) :: diurnalFac, dtChem, C_OH, C_HO2 ! Pointer to Species array TYPE(SpcConc), POINTER :: Spc(:) !======================================================================== ! DirunalHOx begins here! !======================================================================== ! Chemistry timestep [s] dtChem = Get_Ts_Chem() ! Loop over gridcells !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, L, diurnalFac, C_OH, C_HO2 )& !$OMP COLLAPSE( 3 )& !$OMP SCHEDULE( DYNAMIC, 24 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Initialize loop variables diurnalFac = 0.0_fp C_OH = State_Chm%Species(id_OH )%Conc(I,J,L) C_HO2 = State_Chm%Species(id_HO2)%Conc(I,J,L) ! If sunlight, compute diurnalFac ! If nighttime, skip (diurnalFac = 0) IF ( State_Met%SUNCOS(I,J) > 0.0_fp .and. TCOSZ(I,J) > 0.0_fp ) THEN diurnalFac = ( State_Met%SUNCOS(I,J) / TCOSZ(I,J) ) & * ( 86400.0_fp / dtChem ) ! Make sure factor is not negative diurnalFac = MAX( diurnalFac, 0.0_fp ) ENDIF ! Scale the HOx species by the diurnal factor State_Chm%Species(id_OH )%Conc(I,J,L) = C_OH * DiurnalFac State_Chm%Species(id_HO2)%Conc(I,J,L) = C_HO2 * DiurnalFac ENDDO ENDDO ENDDO !$OMP END PARALLEL DO END SUBROUTINE DiurnalHOx !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: PolarBrOx ! ! !DESCRIPTION: Calculates BrOx during bromine explosion events. !\\ !\\ ! !INTERFACE: ! SUBROUTINE PolarBrOx( State_Chm, State_Grid, State_Met ) ! ! !USES: ! USE Species_Mod, ONLY : SpcConc USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE State_Chm_Mod, ONLY : ChmState USE Time_Mod, ONLY : Get_Month ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !REVISION HISTORY: ! 15 Jul 2020 - V. Shah - Initial version (modified from cdh's and jaf's ! GET_BR) ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: IS_MOSTLY_ICE INTEGER :: I, J, L, month REAL(fp) :: BrO_POLAR_PPTV, Br_POLAR_PPTV, O3_POLAR, SWRAD REAL(fp) :: BrO_POLAR_CONC, Br_POLAR_CONC, BrO_CONC, Br_CONC REAL(fp) :: FPBL, JBrO ! ! !DEFINED PARAMETERS: ! ! Assume 5 ppb O3 when BrO present. Pohler et al. (2010) shows 5 ppb O3 ! can exist for 3 ppt < [BrO] < 40 ppt. (jaf, 11/29/11) REAL(fp), PARAMETER :: O3_POLAR_PPBV = 5e+0_fp ! Rate coefficient BrO + NO -> Br + NO2, cm3/molec/s REAL(fp), PARAMETER :: K_BrO_NO = 2.1e-11_fp ! Rate coefficient Br + O3 -> BrO + O2, cm3/molec/s REAL(fp), PARAMETER :: K_Br_O3 = 1.2e-12_fp ! Concentration of NO, based on 10pptv, molec/cm3 REAL(fp), PARAMETER :: C_NO = 2.5e+8_fp !================================================================= ! PolarBrOx begins here! !================================================================= ! Initialize month = Get_Month() ! Loop over gridcells and add BrOx in polar regions !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, L )& !$OMP PRIVATE( BrO_POLAR_PPTV, Br_POLAR_PPTV, O3_POLAR, SWRAD )& !$OMP PRIVATE( BrO_POLAR_CONC, Br_POLAR_CONC, BrO_CONC, Br_CONC )& !$OMP PRIVATE( FPBL, IS_MOSTLY_ICE, JBrO )& !$OMP COLLAPSE( 3 )& !$OMP SCHEDULE( DYNAMIC, 24 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Initialize loop variables IS_MOSTLY_ICE = .FALSE. Br_CONC = 0.0_fp Br_POLAR_CONC = 0.0_fp BrO_POLAR_PPTV = 0.0_fp BrO_CONC = 0.0_fp BrO_POLAR_CONC = 0.0_fp Br_POLAR_PPTV = 0.0_fp FPBL = 0.0_fp JBrO = 0.0_fp O3_POLAR = 0.0_fp SWRAD = 0.0_fp ! Skip if we aren't poleward of 50N/S lat in the wintertime hemisphere IF ( ( ( State_Grid%YMid(I,J) > 50.0_fp ) .and. & ( month >= 2 ) .and. & ( month <= 6 ) ) .or. & ( ( State_Grid%YMid(I,J) < -50.0_fp ) .and. & ( month >= 8 ) .and. & ( month <= 12 ) ) ) THEN !---------------------------------------------------------------- ! Add Br in the polar PBL !---------------------------------------------------------------- FPBL = State_Met%F_UNDER_PBLTOP(I,J,L) !---------------------------------------------------------------- ! Bromine in the polar boundary layer requires the following ! criteria be met: ! - In the PBL ! - Downward shortwave radiation > 100 W/m2 (Pohler et al. 2010) ! - Sea ice exists (>50% native boxes have >10% ice cover) ! - Breaks in sea ice exist (<100% native boxes have >90% ice cover) ! - Month is between Feb & June (Arctic) or Aug & Dec (Antarctic) ! based on http://bro.aeronomie.be/level3_monthly.php?cmd=map ! - Temperature is less than 0C ! ! If these criteria are met, BrO is a function of ambient temp. ! with [BrO] based on findings from Pohler et al. (2010) and ! Prados-Roman et al. (2011). O3 used to convert BrO to Br is 5 ! ppb, based on data from Pohler et al. (2010). !---------------------------------------------------------------- SWRAD = State_Met%SWGDN(I,J) IS_MOSTLY_ICE = ( State_Met%SEAICE00(I,J) <= 0.50_fp .and. & State_Met%SEAICE90(I,J) < 1.0_fp ) IF ( ( FPBL > 0.0_fp ) .and. & ( IS_MOSTLY_ICE ) .and. & ( SWRAD > 1.0e+2_fp ) .and. & ( State_Met%TS(I,J) <= 273.0_fp ) ) THEN ! Get BrOx concentration from species array BrO_CONC = State_Chm%Species(id_BrO)%Conc(I,J,L) Br_CONC = State_Chm%Species(id_Br )%Conc(I,J,L) ! Get JBrO JBrO = State_Chm%Phot%ZPJ(L,id_phot_BrO,I,J) ! [BrO] is a linear function of temperature derived based on ! results from Pohler et al. (2010), Prados-Roman et al. (2011) ! and ability to match Hg0 seasonal cycle at Alert. (jaf, ! 12/24/11) IF ( State_Met%TS(I,J) <= 253.0_fp ) THEN BrO_POLAR_PPTV = 20.0_fp ELSE BrO_POLAR_PPTV = -1.0_fp & * ( State_Met%TS(I,J) - 253.0_fp ) & + 20.0_fp ENDIF ! Convert O3 to molec/cm3 O3_POLAR = O3_POLAR_PPBV & * 1.0e-9_fp & * State_Met%AIRNUMDEN(I,J,L) ! Polar BrO concentration [pptv] BrO_POLAR_PPTV = BrO_POLAR_PPTV & * FPBL ! Polar Br concentration [pptv] Br_POLAR_PPTV = BrO_POLAR_PPTV & * ( JBrO + K_BrO_NO * C_NO ) & / ( K_Br_O3 * O3_POLAR ) ! Convert BrO conc from [pptv] to molec/cm3 BrO_POLAR_CONC = BrO_POLAR_PPTV & * 1.0e-12_fp & * State_Met%AIRNUMDEN(I,J,L) ! Convert Br conc from [pptv] to [molec/cm3] Br_POLAR_CONC = Br_POLAR_PPTV & * 1.0e-12_fp & * State_Met%AIRNUMDEN(I,J,L) ! Replace concentrations in species array State_Chm%Species(id_BrO)%Conc(I,J,L) = BrO_CONC + BrO_POLAR_CONC State_Chm%Species(id_Br )%Conc(I,J,L) = Br_CONC + Br_POLAR_CONC State_Chm%Species(id_O3 )%Conc(I,J,L) = O3_POLAR ENDIF ENDIF ENDDO ENDDO ENDDO !$OMP END PARALLEL DO END SUBROUTINE PolarBrOx !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: PartXOx ! ! !DESCRIPTION: Subroutine PartXOx partitions halogen radicals based on ! photochemical steady state with ozone and NO !\\ !\\ ! !INTERFACE: ! SUBROUTINE PartXOx( State_Chm, State_Grid, State_Met ) ! ! !USES: ! USE Error_Mod, ONLY : Safe_Div USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE State_Chm_Mod, ONLY : ChmState ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !REVISION HISTORY: ! 15 Jul 2020 - V. Shah - Initial version (modified from hmh's GET_NO2) ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, J, L REAL(fp) :: C_Br, C_BrO, C_O3, C_BrOx, C_NO REAL(fp) :: C_Cl, C_ClO, C_ClOx, k_Br_O3, k_BrO_NO REAL(fp) :: F_Br_BrO, J_BrO, k_Cl_O3, k_ClO_NO, F_Cl_ClO REAL(fp) :: J_ClO, diurnalFac ! ! !DEFINED PARAMETERS: ! REAL(fp), PARAMETER :: A_BrO_NO = 8.8e-12_fp REAL(fp), PARAMETER :: EdivR_BrO_NO = -260.0_fp REAL(fp), PARAMETER :: A_ClO_NO = 6.4e-12_fp REAL(fp), PARAMETER :: EdivR_ClO_NO = -290.0_fp REAL(fp), PARAMETER :: A_Br_O3 = 1.6e-11_fp REAL(fp), PARAMETER :: EdivR_Br_O3 = 780.0_fp REAL(fp), PARAMETER :: A_Cl_O3 = 2.3e-11_fp REAL(fp), PARAMETER :: EdivR_Cl_O3 = 200.0_fp !======================================================================== ! PartXOx begins here! ! ! NOTES: ! (R1) XO + hv -> X + O3, j ! (R2) XO + NO -> X + NO2, k_XO_NO ! (R2) O3 + X -> XO + O2, k_X_O3 ! ! XOx steady state: ! [X]/[XO] = (j+k_XO_NO * C_NO) / (k_X_O3 * C_O3) !======================================================================== ! Loop over gridcells !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, L, C_Br )& !$OMP PRIVATE( C_BrO, C_BrOx, C_Cl, C_ClO )& !$OMP PRIVATE( C_ClOx, C_O3, C_NO, diurnalFac )& !$OMP PRIVATE( F_Br_BrO, F_Cl_ClO, J_BrO, J_ClO )& !$OMP PRIVATE( k_Br_O3, k_BrO_NO , k_Cl_O3, k_ClO_NO )& !$OMP COLLAPSE( 3 )& !$OMP SCHEDULE( DYNAMIC, 24 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX !--------------------------------------------------------------------- ! Initialize loop variables !--------------------------------------------------------------------- C_Br = 0.0_fp C_BrO = 0.0_fp C_BrOx = 0.0_fp C_Cl = 0.0_fp C_ClO = 0.0_fp C_ClOx = 0.0_fp C_O3 = 0.0_fp C_NO = 0.0_fp diurnalFac = 0.0_fp F_Br_BrO = 0.0_fp F_Cl_ClO = 0.0_fp J_BrO = 0.0_fp J_ClO = 0.0_fp k_Br_O3 = 0.0_fp k_BrO_NO = 0.0_fp k_Cl_O3 = 0.0_fp k_ClO_NO = 0.0_fp !--------------------------------------------------------------------- ! Only do the following if there is sunlight at this box !--------------------------------------------------------------------- IF ( ( State_Met%SUNCOS(I,J) > 0.0_fp ) .and. & ( TTDAY(I,J) > 0.0_fp ) ) THEN ! Use a constant function for XOx diurnalFac = Safe_Div( 1440.0_fp, TTDAY(I,J), 0.0_fp ) ! Species concentrations C_Br = State_Chm%Species(id_Br )%Conc(I,J,L) C_BrO = State_Chm%Species(id_BrO)%Conc(I,J,L) C_Cl = State_Chm%Species(id_Cl )%Conc(I,J,L) C_ClO = State_Chm%Species(id_ClO)%Conc(I,J,L) C_NO = State_Chm%Species(id_NO )%Conc(I,J,L) C_O3 = State_Chm%Species(id_O3 )%Conc(I,J,L) ! BrOx and ClOx concentrations C_BrOx = ( C_Br + C_BrO ) * diurnalFac C_ClOx = ( C_Cl + C_ClO ) * diurnalFac ! Calculate temperature dependent reaction rates for partitioning k_BrO_NO = A_BrO_NO * EXP( -EdivR_BrO_NO / State_Met%T(I,J,L) ) k_ClO_NO = A_ClO_NO * EXP( -EdivR_ClO_NO / State_Met%T(I,J,L) ) k_Br_O3 = A_Br_O3 * EXP( -EdivR_Br_O3 / State_Met%T(I,J,L) ) k_Cl_O3 = A_Cl_O3 * EXP( -EdivR_Cl_O3 / State_Met%T(I,J,L) ) ! Instantaneous J-values [1/s] J_BrO = State_Chm%Phot%ZPJ(L,id_phot_BrO,I,J) J_ClO = State_Chm%Phot%ZPJ(L,id_phot_ClO,I,J) ! Fraction of [X]/[XO] F_Br_BrO = Safe_Div( J_BrO+(k_BrO_NO*C_NO), k_Br_O3*C_O3, 0.0_fp ) F_Cl_ClO = Safe_Div( J_ClO+(k_ClO_NO*C_NO), k_Cl_O3*C_O3, 0.0_fp ) ! Species concentrations, adjusted C_Br = C_BrOx * F_Br_BrO / ( 1.0_fp + F_Br_BrO ) C_BrO = C_BrOx - C_Br C_Cl = C_ClOx * F_Cl_ClO / ( 1.0_fp + F_Cl_ClO ) C_ClO = C_ClOx - C_Cl ENDIF !--------------------------------------------------------------------- ! Store back into the species array ! If nighttime, these will have already been set to zero !--------------------------------------------------------------------- State_Chm%Species(id_Br )%Conc(I,J,L) = C_Br State_Chm%Species(id_Cl )%Conc(I,J,L) = C_Cl State_Chm%Species(id_BrO)%Conc(I,J,L) = C_BrO State_Chm%Species(id_ClO)%Conc(I,J,L) = C_ClO ENDDO ENDDO ENDDO !$OMP END PARALLEL DO END SUBROUTINE PartXOx !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: PartNOx ! ! !DESCRIPTION: Subroutine PartNOx partitions NOx based on PSS with ozone !\\ !\\ ! !INTERFACE: ! SUBROUTINE PartNOx( State_Chm, State_Grid, State_Met ) ! ! !USES: ! USE Error_MoD, ONLY : Safe_Div Use Species_Mod, ONLY : SpcConc USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE State_Chm_Mod, ONLY : ChmState ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !REVISION HISTORY: ! 15 Jul 2020 - V. Shah - Initial version (modified from hmh's GET_NO2) ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I, J, L REAL(fp) :: C_O3, C_NOx, F_NO2, J_NO2, k3 ! Pointers TYPE(SpcConc), POINTER :: Spc(:) ! ! !DEFINED PARAMETERS: ! REAL(fp), PARAMETER :: A = 3.0e-12_fp REAL(fp), PARAMETER :: EdivR = 1.5e+3_fp !======================================================================== ! PartNOx begins here! ! ! NOTES: ! (R1) NO2 + hv -> NO + O , j ! (R2) O + O2 -> O3 , k2 ! (R3) O3 + NO -> NO2 + O2 , k3 ! ! [NOx] = [NO] + [NO2] ! ! NOx steady state: ! j[NO2] = k3[O3][NO] ! j[NO2] = k3[O3]([NOx]-[NO2]) ! [NO2](j+k3[O3] = k3[O3][NOx] ! [NO2]/[NOx] = k3[O3]/(j+k3[O3]) ! ! k3 = A exp(-E / RT) Arrhenius Equation ! A = 3.0e-12 Seinfeld & Pandis ! E/R = 1500 !======================================================================== ! Point to the chemical spcies array Spc => State_Chm%Species ! Loop over gridcells !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, L, C_NOx, C_O3, F_NO2, J_NO2, k3 )& !$OMP COLLAPSE( 3 )& !$OMP SCHEDULE( DYNAMIC, 24 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Zero/initialize PRIVATE loop variables C_NOx = Spc(id_NO)%Conc(I,J,L) + Spc(id_NO2)%Conc(I,J,L) ! molec/cm3 C_O3 = Spc(id_O3)%Conc(I,J,L) ! molec/cm3 J_NO2 = 0.0_fp ! 1/s k3 = 0.0_fp ! 1/s F_NO2 = 1.0_fp ! unitless ! Test for sunlight... IF ( State_Met%SUNCOS(I,J) > 0.0_fp .and. TTDAY(I,J) > 0.0_fp ) THEN ! Reaction rate k3 = A * EXP( -EdivR / State_Met%T(I,J,L) ) ! Instantaneous JNO2 J_NO2 = State_Chm%Phot%ZPJ(L,id_phot_NO2,I,J) ! Fraction of NO2/NOx F_NO2 = SAFE_DIV( k3*C_O3, J_NO2+k3*C_O3, 0.0_fp ) ENDIF ! Partition NOx into NO and NO2 Spc(id_NO2)%Conc(I,J,L) = F_NO2 * C_NOx Spc(id_NO )%Conc(I,J,L) = ( 1.0_fp - F_NO2 ) * C_NOx ENDDO ENDDO ENDDO !$OMP END PARALLEL DO END SUBROUTINE PartNOx !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ohno3time ! ! !DESCRIPTION: Subroutine OHNO3TIME computes the sum of cosine of the ! solar zenith angle over a 24 hour day, as well as the total length of ! daylight. This is needed to scale the offline OH and NO3 concentrations. !\\ !\\ ! !INTERFACE: ! SUBROUTINE OHNO3TIME( State_Grid ) ! ! !USES: ! USE State_Grid_Mod, ONLY : GrdState USE TIME_MOD, ONLY : GET_NHMSb, GET_ELAPSED_SEC USE TIME_MOD, ONLY : GET_TS_CHEM, GET_DAY_OF_YEAR, GET_GMT ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !REVISION HISTORY: ! 16 Dec 2002 - R. Park & R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! LOGICAL, SAVE :: FIRST = .TRUE. INTEGER :: I, J, L, N, NT, NDYSTEP REAL(fp) :: A0, A1, A2, A3, B1, B2, B3 REAL(fp) :: LHR0, R, AHR, DEC, TIMLOC, YMID_R REAL(fp) :: SUNTMP(State_Grid%NX,State_Grid%NY) !================================================================= ! OHNO3TIME begins here! !================================================================= ! Solar declination angle (low precision formula, good enough for us): A0 = 0.006918 A1 = 0.399912 A2 = 0.006758 A3 = 0.002697 B1 = 0.070257 B2 = 0.000907 B3 = 0.000148 R = 2.* PI * float( GET_DAY_OF_YEAR() - 1 ) / 365. DEC = A0 - A1*cos( R) + B1*sin( R) & - A2*cos(2*R) + B2*sin(2*R) & - A3*cos(3*R) + B3*sin(3*R) LHR0 = int(float( GET_NHMSb() )/10000.) ! Only do the following at the start of a new day IF ( FIRST .or. GET_GMT() < 1e-5 ) THEN ! Zero arrays TTDAY(:,:) = 0e+0_fp TCOSZ(:,:) = 0e+0_fp COSZM(:,:) = 0e+0_fp ! NDYSTEP is # of chemistry time steps in this day NDYSTEP = ( 24 - INT( GET_GMT() ) ) * 3600 / GET_TS_CHEM() ! NT is the elapsed time [s] since the beginning of the run NT = GET_ELAPSED_SEC() ! Loop forward through NDYSTEP "fake" timesteps for this day DO N = 1, NDYSTEP ! Zero SUNTMP array SUNTMP = 0e+0_fp ! Loop over surface grid boxes !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, YMID_R, TIMLOC, AHR )& !$OMP COLLAPSE( 2 ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Grid box latitude center [radians] YMID_R = State_Grid%YMid_R( I, J ) TIMLOC = real(LHR0) + real(NT)/3600.0 + State_Grid%XMid(I,J)/15.0 DO WHILE (TIMLOC < 0) TIMLOC = TIMLOC + 24.0 ENDDO DO WHILE (TIMLOC > 24.0) TIMLOC = TIMLOC - 24.0 ENDDO AHR = abs(TIMLOC - 12.) * 15.0 * PI_180 !=========================================================== ! The cosine of the solar zenith angle (SZA) is given by: ! ! cos(SZA) = sin(LAT)*sin(DEC) + cos(LAT)*cos(DEC)*cos(AHR) ! ! where LAT = the latitude angle, ! DEC = the solar declination angle, ! AHR = the hour angle, all in radians. ! ! If SUNCOS < 0, then the sun is below the horizon, and ! therefore does not contribute to any solar heating. !=========================================================== ! Compute Cos(SZA) SUNTMP(I,J) = sin(YMID_R) * sin(DEC) + & cos(YMID_R) * cos(DEC) * cos(AHR) ! TCOSZ is the sum of SUNTMP at location (I,J) ! Do not include negative values of SUNTMP TCOSZ(I,J) = TCOSZ(I,J) + MAX( SUNTMP(I,J), 0.0_fp ) ! COSZM is the peak value of SUMTMP during a day at (I,J) ! (rjp, bmy, 3/30/04) COSZM(I,J) = MAX( COSZM(I,J), SUNTMP(I,J) ) ! TTDAY is the total daylight time at location (I,J) IF ( SUNTMP(I,J) > 0e+0_fp ) THEN TTDAY(I,J) = TTDAY(I,J) + DBLE( GET_TS_CHEM() ) / 60e+0_fp ENDIF ENDDO ENDDO !$OMP END PARALLEL DO ! Increment elapsed time [sec] NT = NT + GET_TS_CHEM() ENDDO ! Reset first-time flag FIRST = .FALSE. ENDIF END SUBROUTINE OHNO3TIME !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: calc_hg2_seasalt_lossrate ! ! !DESCRIPTION: Calculates the loss rate of RGM [s-1] by uptake of RGM into ! sea salt aerosol for each model grid. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Calc_Hg2_SeaSalt_LossRate( State_Grid, State_Met ) ! ! !USES: ! USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !REMARKS: ! The formula used here is a least-squares fit to the full-physics model of ! sea-salt aerosol emissions, hydroscopic growth, mass-transport limited ! uptake of Hg(II), and aerosol deposition presented by Holmes et al. (2009) ! See Holmes et al. 2010 for evaluation of this parameterization. ! (cdh, 11/25/09) ! ! !REVISION HISTORY: ! 25 Nov 2009 - C. Holmes - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, J REAL(fp) :: LOSS_FREQ, S, SFCWINDSQR, U10M !======================================================================== ! Hg2_SeaSalt_LossRate begins here! !======================================================================== ! Loop over gridboxes !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, U10M, S, LOSS_FREQ, SFCWINDSQR )& !$OMP COLLAPSE( 2 )& !$OMP SCHEDULE( DYNAMIC, 24 ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Initialize loop variables LOSS_FREQ = 0.0_fp S = 0.0_fp SFCWINDSQR = 0.0_fp U10M = 0.0_fp ! Only calculate deposition via sea salt over water IF ( State_Met%IsWater(I,J) ) THEN ! Wind speed at 10m altitude [m/s] ! Don't allow wind >20 m/s (limit of this parameterization) SFCWINDSQR = State_Met%U10M(I,J)**2 + State_Met%V10M(I,J)**2 U10M = SQRT( SFCWINDSQR ) U10M = MAX( MIN( U10M, 20.0_fp ), 1.0_fp ) ! Relative humidity as a saturation ratio ! Use the relative humidity of the lowest layer, although this is ! lower than the higher layers of the MBL ! ! Don't allow supersaturation, as [Cl-] is undefined for RH>=1 ! Cap RH at 99%, Don't allow RH < 75% as happens in coastal areas S = MAX( MIN( State_Met%RH(I,J,1), 99.0_fp ), 75.0_fp ) * 1.0e-2_fp ! Seasalt loss requency [1/s] LOSS_FREQ = 1.0e-10_fp & * ( 1.0_fp - EXP( -57.758_fp * ( 1.0_fp - S ) ) ) & * EXP( ( -1.9351_fp * U10M ) & + ( 9.0047_fp * SQRT( U10M ) ) & + ( 0.14788_fp * U10M**1.5_fp ) ) ! Loss frequency must be positive LOSS_FREQ = MAX( LOSS_FREQ, 1e-10_fp ) ENDIF ! Save loss frequency to an array ! If not over water, LOSS_FREQ is already set to zero Hg2_SEASALT_LOSSRATE(I,J) = LOSS_FREQ ENDDO ENDDO !$OMP END PARALLEL DO END SUBROUTINE Calc_Hg2_SeaSalt_LossRate !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: SeasaltUptake ! ! !DESCRIPTION: Subroutine SeasaltUptake does the uptake of Hg2 by seasalt ! aerosols in the MBL. ! !\\ !\\ ! !INTERFACE: ! SUBROUTINE SeaSaltUptake( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE Species_Mod, ONLY : Species USE Time_Mod, ONLY : Get_Ts_Chem USE Time_Mod, ONLY : Its_Time_For_A3 ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 10-Dec-2021 - V. Shah - initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I, J, L, N, S REAL(fp) :: gasConc, dGasConc, dt, f_PBL, k ! Strings CHARACTER(LEN=255) :: errMsg, thisLoc !======================================================================== ! SeaSaltUptake begins here! !======================================================================== ! Assume success RC = GC_SUCCESS ! Success? DT = Get_Ts_Chem() ! Chem timestep [s] errMsg = '' thisLoc = ' -> at SeaSaltUptake (in GeosCore/mercury_mod.F90)' ! Initialize diagnostic arrays IF ( State_Diag%Archive_Hg2GasToSSA ) State_Diag%Hg2GasToSSA = 0.0_f4 ! Calculate loss rate by seasalt uptake IF ( ITS_TIME_FOR_A3() ) THEN CALL Calc_Hg2_SeaSalt_LossRate( State_Grid, State_Met ) ENDIF !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, L, N, S, k, f_PBL, gasConc, dGasConc )& !$OMP COLLAPSE( 3 )& !$OMP SCHEDULE( DYNAMIC, 24 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Initialize loop variables k = 0.0_fp f_PBL = 0.0_fp gasConc = 0.0_fp dGasConc = 0.0_fp ! Proceed only if gridbox below the PBL top IF ( L > State_Met%PBL_TOP_L(I,J) ) CYCLE ! RGM uptake on sea-salt aerosol, 1/s ! (based on SSA production rate (wind speed) ! and salinity (RH)) already zero over land k = Hg2_SeaSalt_LossRate(I,J) ! Fraction of box (I,J,L) underneath the PBL top [dimensionless] f_PBL = State_Met%F_Under_PblTop(I,J,L) ! Do seasalt uptake only for the fraction of the box in the PBL IF ( f_PBL > 0.1_fp ) k = f_PBL * k ! Calculate loss of each Hg2(g) species DO N = 1, nHg2gasSpc ! Index for State_Chm%Species array S = Map_Hg2gas(N) ! Initial Hg(II) gas concentration [molec/cm3] gasConc = State_Chm%Species(S)%Conc(I,J,L) ! Remove Hg2 lost to sea salt aerosol from the gas phase [molec/cm3] dGasConc = gasConc * ( 1.0_fp - EXP( -k * dt ) ) gasConc = gasConc - dGasConc ! Final Hg2 gas concentration [molec/cm3] State_Chm%Species(S)%Conc(I,J,L) = gasConc !------------------------------------------------------------------ ! HISTORY (aka netCDF diagnostics) ! ! Archive Hg2 lost from gas to sea salt aerosol [molec/cm3/s] !------------------------------------------------------------------ IF ( State_Diag%Archive_Hg2GasToSSA ) THEN State_Diag%Hg2GasToSSA(I,J,L) = & State_Diag%Hg2GasToSSA(I,J,L) + ( dGasConc / DT ) ENDIF ENDDO ENDDO ENDDO ENDDO !$OMP END PARALLEL DO END SUBROUTINE SeaSaltUptake !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: partitionhg2 ! ! !DESCRIPTION: Subroutine PartitionHg2 calculates the uptake, speciation, ! and volatilization of Hg2 gas in aerosols. !\\ !\\ ! !INTERFACE: ! SUBROUTINE PartitionHg2( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE gckpp_Global, ONLY : NUMDEN, SR_TEMP, TEMP USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE Species_Mod, ONLY : Species, SpcConc USE TIME_MOD, ONLY : GET_TS_CHEM USE rateLawUtilFuncs, ONLY : Ars_L1K ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 01-Oct-2020 - V. Shah - Initial version !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I, J, L INTEGER :: N, S REAL(fp) :: aerConc, aerConcInorg, aerConcOrg REAL(fp) :: dGasConc, dt, Fgas REAL(fp) :: fracOA, gasConc REAL(fp) :: k, Kp, gasAerTot REAL(fp) :: gasTot, gasTot_eq, pm25 ! Arrays REAL(fp) :: xArea(N_Dust+N_Aer) REAL(fp) :: xRadi(N_Dust+N_Aer) REAL(fp) :: xVol (N_Dust+N_Aer) ! Strings CHARACTER(LEN=255) :: errMsg CHARACTER(LEN=255) :: thisLoc ! Pointers TYPE(SpcConc), POINTER :: Spc(:) ! ! !DEFINED PARAMETERS: ! ! Indices for aerosol type INTEGER, PARAMETER :: DU1 = 1 ! Dust (Reff = 0.151 um) INTEGER, PARAMETER :: DU2 = 2 ! Dust (Reff = 0.253 um) INTEGER, PARAMETER :: DU3 = 3 ! Dust (Reff = 0.402 um) INTEGER, PARAMETER :: DU4 = 4 ! Dust (Reff = 0.818 um) INTEGER, PARAMETER :: SUL = 8 ! Tropospheric Sulfate INTEGER, PARAMETER :: BKC = 9 ! Black Carbon INTEGER, PARAMETER :: ORC = 10 ! Organic Carbon INTEGER, PARAMETER :: SSA = 11 ! Accum-mode sea salt INTEGER, PARAMETER :: SLA = 13 ! Strat sulfate liq aer ! Hg(II) mass accommodation coefficient REAL(fp), PARAMETER :: ALPHA_Hg2 = 0.1_fp !======================================================================== ! PARTITIONHg2 begins here! !======================================================================= ! Assume success RC = GC_SUCCESS DT = Get_Ts_Chem() ! Chemistry timestep [s] Spc => State_Chm%Species ! Point to species array [molec/cm3] errMsg = '' thisLoc = ' -> at PartitionHg2 (in module GeosCore/mercury_mod.F90)' ! Initialize diagnostic arrays IF (State_Diag%Archive_Hg2GToHg2P ) State_Diag%Hg2GToHg2P = 0.0_f4 IF (State_Diag%Archive_Hg2PToHg2G ) State_Diag%Hg2PToHg2G = 0.0_f4 IF (State_Diag%Archive_Hg2GasToHg2StrP) State_Diag%Hg2GasToHg2StrP = 0.0_f4 !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, L, N )& !$OMP PRIVATE( S, aerConc, aerConcInorg, aerConcOrg )& !$OMP PRIVATE( dGasConc, Fgas, fracOA, gasAerTot )& !$OMP PRIVATE( gasConc, gasTot, gasTot_eq, k )& !$OMP PRIVATE( Kp, pm25, xArea, xRadi )& !$OMP PRIVATE( xVol )& !$OMP COLLAPSE( 3 )& !$OMP SCHEDULE( DYNAMIC, 24 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Zero/initialize loop variables aerConc = 0.0_fp aerConcInorg = 0.0_fp aerConcOrg = 0.0_fp dGasConc = 0.0_fp Fgas = 0.0_fp fracOA = 0.0_fp gasAerTot = 0.0_fp gasConc = 0.0_fp gasTot = 0.0_fp gasTot_eq = 0.0_fp k = 0.0_fp Kp = 0.0_fp pm25 = 0.0_fp xArea = 0.0_fp xRadi = 0.0_fp xVol = 0.0_fp !====================================================================== ! Proceed only if gridbox is below the stratopause !====================================================================== IF ( L > State_Met%MaxStratLev ) CYCLE !---------------------------------------------------------------------- ! Copy values into THREADPRIVATE variables in gckpp_Global.F90 ! This is needed in order for Ars_L1K to have the proper inputs !--------------------------------------------------------------------- NUMDEN = State_Met%AIRNUMDEN(I,J,L) ! Air density [molec/cm3] TEMP = State_Met%T(I,J,L) ! Temperature [K] SR_TEMP = SQRT( TEMP ) ! Square root of temperaure !--------------------------------------------------------------------- ! Get aerosol physical properties ! xArea = Aerosol specific surface area [cm2/cm3 air] ! xRadi = Aerosol effective radius [cm ] ! xVol = Aerosol specific volume [cm3/cm3 air] !--------------------------------------------------------------------- DO N = 1, N_Dust + N_Aer xArea(N) = AeroPtr(N)%Area(I,J,L) xRadi(N) = AeroPtr(N)%Radi(I,J,L) xVol(N) = xArea(N) * xRadi(N) / 3.0_fp ENDDO IF ( State_Met%InTroposphere(I,J,L) ) THEN !================================================================== ! IN THE TROPOSPHERE: ! ! Perform gas-particle partitioning on fine mode aerosols. ! Begin by calculating equilibrium concentrations ! following Amos et al. (2012) !================================================================== ! Get PM2.5 concentrations [ug m-3] (skip if too small) pm25 = GLOB_PM25(I,J,L) IF ( pm25 < 1.0e-3_fp ) CYCLE ! Calculate partitioning coefficient (m-3/ug) ! This is from Amos et al. (2012) Kp = 10.0_fp**( ( 2.5e+3_fp / TEMP ) - 10.0_fp ) ! Gas fraction Fgas = 1.0_fp / ( 1.0_fp + ( Kp * pm25 ) ) ! Initial Hg2 gas concentration [molec/cm3] ! NOTE: gasTot is zeroed at the top of the loop DO N = 1, nHg2gasSpc S = Map_Hg2gas(N) gasTot = gasTot + Spc(S)%Conc(I,J,L) ENDDO ! Concentration of Hg2 on aerosols (inorganic + organic), ! include any Hg2+ transported from stratosphere aerConcInorg = Spc(id_Hg2ClP)%Conc(I,J,L) + Spc(id_Hg2STRP)%Conc(I,J,L) aerConcOrg = Spc(id_Hg2ORGP)%Conc(I,J,L) ! Zero stratospheic Hg2 Spc(id_Hg2STRP)%Conc(I,J,L) = 0.0_fp ! Total HgP concentration [molec/cm3] aerConc = aerConcInorg + aerConcOrg ! Add particle-bound species [molec/cm3] gasAerTot = gasTot + aerConc ! Total Hg2Gas at equilibrium [molec/cm3] gasTot_eq = gasAerTot * Fgas !----------------------------------------------------------------- ! Mass transfer from gas to particles !----------------------------------------------------------------- ! Loop over all Hg2 gas spcies DO N = 1, nHg2gasSpc ! Index for State_Chm%Species S = Map_Hg2gas(N) ! Initial gas concentration [molec/cm3] gasConc = Spc(S)%Conc(I,J,L) ! Mass transfer rate [1/s] onto dust, sulfate, BC/OC and fine SS k = 0.0_fp k = k + Ars_L1k( xArea(DU1), xRadi(DU1), ALPHA_Hg2, srMw(N) ) k = k + Ars_L1k( xArea(DU2), xRadi(DU2), ALPHA_Hg2, srMw(N) ) k = k + Ars_L1k( xArea(DU3), xRadi(DU3), ALPHA_Hg2, srMw(N) ) k = k + Ars_L1k( xArea(DU4), xRadi(DU4), ALPHA_Hg2, srMw(N) ) k = k + Ars_L1k( xArea(SUL), xRadi(SUL), ALPHA_Hg2, srMw(N) ) k = k + Ars_L1k( xArea(BKC), xRadi(BKC), ALPHA_Hg2, srMw(N) ) k = k + Ars_L1k( xArea(ORC), xRadi(ORC), ALPHA_Hg2, srMw(N) ) k = k + Ars_L1k( xArea(SSA), xRadi(SSA), ALPHA_Hg2, srMw(N) ) ! Amount of mass [molec/cm3] transferred from gas to aerosol dGasConc = gasConc * ( 1.0_fp - EXP( -k * DT ) ) ! Remove transferred mass from gas and add to aerosol Spc(S)%Conc(I,J,L) = gasConc - dGasConc aerConc = aerConc + dGasConc !--------------------------------------------------------------- ! HISTORY (aka netCDF diagnostics) ! ! Hg2 mass transferred from gas to aerosol [molec/cm3/s] !--------------------------------------------------------------- IF ( State_Diag%Archive_Hg2GToHg2P ) THEN State_Diag%Hg2GToHg2P(I,J,L) = & State_Diag%Hg2GToHg2P(I,J,L) + ( dGasConc / DT ) ENDIF ENDDO !------------------------------------------------------------------ ! Mass transfer from particle to gas !------------------------------------------------------------------ ! Mass transfer rate [1/s] from dust, sulfate, BC/OC and fine SS k = 0.0_fp k = k + Ars_L1k( xArea(DU1), xRadi(DU1), ALPHA_Hg2, srMw_HgCl2 ) k = k + Ars_L1k( xArea(DU2), xRadi(DU2), ALPHA_Hg2, srMw_HgCl2 ) k = k + Ars_L1k( xArea(DU3), xRadi(DU3), ALPHA_Hg2, srMw_HgCl2 ) k = k + Ars_L1k( xArea(DU4), xRadi(DU4), ALPHA_Hg2, srMw_HgCl2 ) k = k + Ars_L1k( xArea(SUL), xRadi(SUL), ALPHA_Hg2, srMw_HgCl2 ) k = k + Ars_L1k( xArea(BKC), xRadi(BKC), ALPHA_Hg2, srMw_HgCl2 ) k = k + Ars_L1k( xArea(ORC), xRadi(ORC), ALPHA_Hg2, srMw_HgCl2 ) k = k + Ars_L1k( xArea(SSA), xRadi(SSA), ALPHA_Hg2, srMw_HgCl2 ) ! Amount of mass [molec/cm3] transferred from aerosol to gas ! Limit transferred mass to the amount of HgP present dGasConc = gasTot_eq * ( 1.0_fp - EXP( -k * DT ) ) dGasConc = MIN( dGasConc, aerConc ) ! Remove transferred mass from aerosol HgCl2 and add to gaseous HgCl2 aerConc = aerConc - dGasConc Spc(id_HgCl2)%Conc(I,J,L) = Spc(id_HgCl2)%Conc(I,J,L) + dGasConc !------------------------------------------------------------------ ! Partition aerosol concentration between org and inorg !------------------------------------------------------------------ ! Fraction of organic aerosol in the grid box [unitless] fracOA = MIN( GLOB_fOA(I,J,L), 1.0_fp ) ! Organic and inorganic HgIIP [molec/cm3] Spc(id_Hg2OrgP)%Conc(I,J,L) = aerConc * fracOA ! Org Spc(id_Hg2ClP)%Conc(I,J,L) = aerConc * ( 1.0_fp - fracOA ) ! Inorg !------------------------------------------------------------------ ! HISTORY (aka netCDF diagnostics) ! ! Hg2 mass transferred from aerosol to gas [molec/cm3/s] !------------------------------------------------------------------ IF ( State_Diag%Archive_Hg2PToHg2G ) THEN State_Diag%Hg2PToHg2G(I,J,L) = & State_Diag%Hg2PToHg2G(I,J,L) + ( dGasConc / DT ) ENDIF ELSE !================================================================== ! IN THE STRATOSPHERE: ! ! Calculate heterogeneous uptake on stratospheric aqueous aerosols !================================================================== ! Concentration of Hg2 on aerosols [molec/cm3] aerConc = Spc(id_Hg2STRP)%Conc(I,J,L) & + Spc(id_Hg2ORGP)%Conc(I,J,L) & + Spc(id_Hg2ClP)%Conc(I,J,L) ! Zero organic Hg2 aerosol and Hg2Cl aerosol in stratosphere Spc(id_Hg2ORGP)%Conc(I,J,L) = 0.0_fp Spc(id_Hg2ClP)%Conc(I,J,L) = 0.0_fp !------------------------------------------------------------------ ! Perform mass transfer between gas and stratopsheric aerosol !------------------------------------------------------------------ DO N = 1, nHg2gasSpc ! Index for State_Chm%Species S = Map_Hg2gas(N) ! Mass transfer rate [s-1] k = Ars_L1K( xArea(SLA), xRadi(SLA), ALPHA_Hg2, srMw(N) ) ! Initial Hg(II) gas [molec/cm3] gasConc = Spc(S)%Conc(I,J,L) ! Amount of mass [molec/cm3] transferred from gas to aerosol dGasConc = gasConc * ( 1.0_fp - EXP( -k * DT ) ) ! Remove transferred mass from gas and add to aerosol gasConc = gasConc - dGasConc aerConc = aerConc + dGasConc ! Final Hg2 gas concentration [molec/cm3] Spc(S)%Conc(I,J,L) = gasConc !--------------------------------------------------------------- ! HISTORY (aka netCDF diagnostics) ! ! Hg2 mass transferred from gas to strat aerosol [molec/cm3/s] !--------------------------------------------------------------- IF ( State_Diag%Archive_Hg2GasToHg2StrP ) THEN State_Diag%Hg2GasToHg2StrP(I,J,L) = & State_Diag%Hg2GasToHg2StrP(I,J,L) + ( dGasConc / DT ) ENDIF ENDDO ! Update Hg2 stratospheric aerosol concentration [molec/cm3] Spc(id_Hg2STRP)%Conc(I,J,L) = aerConc ENDIF ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ! Free pointer memory Spc => NULL() END SUBROUTINE PartitionHg2 !!EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: red_inplume_grid ! ! !DESCRIPTION: Subroutine RED\_INPLUME\_GRID conducts in plume reduction of ! Hg2 for selected grids !\\ !\\ ! !INTERFACE: ! SUBROUTINE Red_InPlume_Grid( I, J, E_plant ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I, J REAL(fp), INTENT(IN) :: E_plant ! ! !REVISION HISTORY: ! 11 Jan 2011 - Y. Zhang - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) :: E_deg ! ! !DEFINED PARAMETERS: ! ! The source species profile (0.2 Hg0) ! 0.78 Hg2, 0.02 HgP, Streets, 2005), we use 75%, very high end REAL(fp), PARAMETER :: K_Red_InPlume = 7.5e-1_fp !================================================================= ! RED_INPLUME_GRID begins here! !================================================================= ! Calculate the mass of Hg2 been degraded in plume E_deg = K_Red_InPlume * E_plant ! Subtract this part of Hg2 from the emission EHg2_an(I,J) = EHg2_an(I,J) - E_deg ! Degraded to Hg0 EHg0_an(I,J) = EHg0_an(I,J) + E_deg END SUBROUTINE Red_InPlume_Grid !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: do_red_inplume ! ! !DESCRIPTION: Subroutine DO\_RED\_INPLUME conducts in plume reduction of ! Hg2 for selected grids. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Do_Red_InPlume( Input_Opt, State_Grid, RC ) ! ! !USES: ! USE ErrCode_Mod USE HCO_State_GC_Mod, ONLY : HcoState USE HCO_EmisList_Mod, ONLY : HCO_GetPtr USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState USE Time_Mod, ONLY : Expand_Date ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 11 Jan 2011 - Y. Zhang - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I, J REAL(fp) :: E_plant ! Strings CHARACTER(LEN=255) :: thisLoc CHARACTER(LEN=512) :: errMsg ! Pointers REAL(f4), POINTER :: E_ELEC_Hg2(:,:) ! ! !DEFINED PARAMETERS: ! REAL(fp), PARAMETER :: SEC_PER_YR = 365.25_fp * 86400_fp !================================================================= ! DO_RED_INPLUME begins here! !================================================================= ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = ' -> at DO_RED_INPLUME (in GeosCore/mercury_mod.F90)' E_ELEC_Hg2 => NULL() ! Get a pointer to the monthly mean OH from HEMCO (bmy, 3/11/15) CALL HCO_GetPtr( HcoState, 'CFPP_NEI2005_Hg2', E_ELEC_Hg2, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Cannot get pointer to HEMCO field CFPP_NEI2005_Hg2!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Do the reduction DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Hg emission in CFPP sector decreased for 45.14% during 2005-2010 ! Convert [kg/m2/s] --> [kg/s] E_plant = E_ELEC_Hg2(I,J) * State_Grid%Area_M2(I,J) ! Reduce the Hg2 from plume CALL RED_INPLUME_GRID( I, J, E_plant ) ENDDO ENDDO ! Free npointer E_ELEC_Hg2 => NULL() END SUBROUTINE Do_Red_InPlume !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: offlineocean_readmo ! ! !DESCRIPTION: Subroutine OFFLINEOCEAN\_READMO reads the monthly varying ! offline ocean evasion emissions if LDYNOCEAN is FALSE. Will not actually ! need mixed layer depth when i get stuff from Yanxu !\\ !\\ ! !INTERFACE: ! SUBROUTINE OfflineOcean_ReadMo( State_Chm, State_Diag, State_Grid, & State_Met, FLUX, RC ) ! ! !USES: ! USE ErrCode_Mod USE TIME_MOD, ONLY : EXPAND_DATE,GET_YEAR, GET_TS_EMIS USE TIME_MOD, ONLY : ITS_A_NEW_MONTH, GET_MONTH USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE HCO_State_GC_Mod, ONLY : HcoState USE HCO_EmisList_Mod, ONLY : HCO_GetPtr ! ! !INPUT PARAMETERS: ! TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State Object ! ! !OUTPUT PARAMETERS: ! REAL*8, INTENT(OUT) :: FLUX(State_Grid%NX,State_Grid%NY) INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 12 Aug 2015 - H. Horowitz - Initial version ! See https://github.com/geoschem/geos-chem for complete history !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, J, M, DN(12) ! M is mon., DN is days in mon INTEGER :: NNN INTEGER :: THISYEAR INTEGER :: THISMONTH LOGICAL, SAVE :: FIRST = .TRUE. LOGICAL :: IS_OCEAN_BOX INTEGER :: NN, N REAL(fp) :: A_M2, DTSRCE REAL(fp) :: CHg0aq, CHg0, vi, Hg0aqtemp REAL(fp) :: TC, TK, Kw REAL(fp) :: Sc, ScCO2, USQ REAL(fp) :: FRAC_L, FRAC_O, H, D REAL(fp) :: FUP(State_Grid%NX,State_Grid%NY) REAL(fp) :: FDOWN(State_Grid%NX,State_Grid%NY) REAL(fp) :: Hg0aq(State_Grid%NX,State_Grid%NY) REAL(fp) :: MHg0_air ! Conversion factor from [cm/h * ng/L] --> [kg/m2/s] REAL(fp), PARAMETER :: TO_KGM2S = 1.0e-11_fp / 3600.0e+0_fp ! Small numbers to avoid dividing by zero REAL(fp), PARAMETER :: SMALLNUM = 1.0e-32_fp REAL(fp) :: SFCWINDSQR ! Characters CHARACTER(LEN=255) :: thisLoc CHARACTER(LEN=512) :: errMsg !================================================================= ! OFFLINEOCEAN_READMO begins here! !================================================================= ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = ' -> at OFFLINEOCEAN_READMO (in GeosCore/mercury_mod.F90)' ! Get month THISMONTH = GET_MONTH() M = THISMONTH ! Days in each month (will use later) 9/16/15 hmh DN = (/ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 /) !----------------------------------------------------------------- ! %%%%% HISTORY (aka netCDF diagnostics) %%%%% ! ! Zero flux arrays of State_Diag to prevent leftover values ! from the last timestep from being included in the averaging !----------------------------------------------------------------- IF ( State_Diag%Archive_FluxHg0fromOceanToAir ) THEN State_Diag%FluxHg0fromOceanToAir = 0.0_f4 ENDIF IF ( State_Diag%Archive_FluxHg0fromAirToOcean ) THEN State_Diag%FluxHg0fromAirToOcean = 0.0_f4 ENDIF !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! read monthly ocean evasion ! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% IF ( ITS_A_NEW_MONTH() ) THEN CALL HCO_GetPtr( HcoState, 'GLOBAL_OCEAN', OCEAN_CONC, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Cannot get pointer to HEMCO field GLOBAL_OCEAN!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF ! Only doing Hg0 overall Hg0aq = OCEAN_CONC(:,:) ! Emission timestep [s] DTSRCE = GET_TS_EMIS() ! Loop over surface boxes ! NOTE: Remove the loop over NN -- the tagged Hg simulation is not used !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, A_M2, vi, ScCO2 )& !$OMP PRIVATE( J, TC, TK )& !$OMP PRIVATE( N, CHg0, FRAC_L, FRAC_O )& !$OMP PRIVATE( H, Kw, CHg0aq, Hg0aqtemp, MHg0_air )& !$OMP PRIVATE( IS_OCEAN_BOX, Sc, Usq, D )& !$OMP COLLAPSE( 2 )& !$OMP SCHEDULE( DYNAMIC, 24 ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Zero/initialize loop varaibles A_M2 = State_Grid%Area_M2( I, J ) ! Area [m2] Kw = 0.0_fp TK = 0.0_fp TC = 0.0_fp ! Get fractions of land and ocean in the grid box [unitless] ! Use fractional land type information in MERRA. Also make sure ! we do not use boxes that are mostly sea ice for consistency ! FROCEAN is a constant, so to get correct ocean fraction we ! need to subtract the sea ice fraction. Don't let the fraction ! be less than zero (jaf, 4/26/11) FRAC_L = State_Met%FRLAND(I,J) FRAC_O = MAX( State_Met%FROCEAN(I,J) - & State_Met%FRSEAICE(I,J), 0.0_fp ) IS_OCEAN_BOX = ( ( FRAC_O > 0.0_fp ) .and. & ( State_Met%SEAICE00(I,J) > 0.5_fp ) ) IF ( IS_OCEAN_BOX ) THEN !-------------------------------------------------------------- ! Sea surface temperature in both [K] and [C] !-------------------------------------------------------------- ! where TSKIN is the temperature (K) at the ground/sea surface ! (Use as surrogate for SST, cap at freezing point) TK = MAX( State_Met%TSKIN(I,J), 273.15_fp ) TC = TK - 273.15_fp !============================================================== ! Volatilisation of Hg0 !============================================================== ! Henry's law constant (gas->liquid) [unitless] [L water/L air] ! (ref: Andersson et al. 2008) H = EXP( ( -2404.3_fp / TK ) + 6.92_fp ) ! Viscosity as a function of changing temperatures ! (ref: Loux 2001) ! The paper says the viscosity is given in cP but us really P ! and we therefor multiply with 100 to get cP. vi = ( 10**( ( 1301.0_fp / ( 998.333_fp + 8.1855_fp & * ( TC - 20.0_fp ) + 0.00585_fp & * ( TC - 20.0_fp )**2 ) ) - 3.30233_fp ) ) * 100.0_fp ! Schmidt # for Hg [unitless] ! Sc = v/D = kinematic viscosity/diffusivity ! (ref: Poissant et al 2000; Wilke and Chang 1995) ! to correct for seawater D0 is decreased by 6% as suggested ! by Wanninkhof (1992) D = 7.4e-8_fp * SQRT( 2.26_fp * 18.0_fp ) & * TK / ( ( 14.8_fp**0.6_fp ) *vi ) Sc = ( 0.017_fp * EXP( -0.025_fp * TC ) ) / D ! Schmidt # of CO2 [unitless] for CO2 in seawater at 20 degrees C ! The value is set to a constant based on other ocean studies ! (Gardfeld et al. 2003, Rolfhus & Fitzgerald2004,Mason et al.2001) ! ! Correction of the Schmidt # with temperature based on Poissant ! et al. (2000) (for freshwatersystems). ScCO2 = 644.7_fp + TC * ( -6.16_fp + TC * ( 0.11_fp ) ) ! Square of surface (actually 10m) wind speed [m2/s2] Usq = State_Met%U10M(I,J)**2 + State_Met%V10M(I,J)**2 !------------------------------------------------------ ! Parameterizations for calculating water side mass trasfer ! coefficient !------------------------------------------------------ ! Mass transfer coefficient [cm/h], from Nightingale et al. 2000 Kw = ( 0.25_fp * Usq ) / SQRT( Sc / ScCO2 ) ! Hg0 tracer number (for Spc) N = id_Hg0 !Hg0_Id_List(NN) !-------------------------------------------------------- ! Calculate oceanic and gas-phase concentration of Hg(0) !-------------------------------------------------------- ! Concentration of Hg(0) in the ocean [ng/L] ! now converting from Hg0aq in mol/m3 to ng/L CHg0aq = Hg0aq(I,J) * 200.59_fp * 1.0e9_fp / 1.0e3_fp ! Gas phase Hg(0) concentration: convert [kg] -> [ng/L] MHg0_air = State_Chm%Species(N)%Conc(I,J,1) CHg0 = MHg0_air * 1.0e9_fp /State_Met%AIRVOL(I,J,1) !-------------------------------------------------------- ! Compute flux of Hg(0) from the ocean to the air !-------------------------------------------------------- ! Compute ocean flux of Hg0 [cm/h*ng/L] FLUX(I,J) = Kw * ( CHg0aq - ( CHg0 / H ) ) !Extra diagnostic: compute flux up and flux down FUP(I,J) = ( Kw * CHg0aq ) FDOWN(I,J) = ( Kw * CHg0 / H ) !-------------------------------------------------- ! Convert [cm/h*ng/L] --> [kg/m2/s] --> [kg/s] ! Also account for ocean fraction of grid box FLUX(I,J) = FLUX(I,J) * TO_KGM2S * A_M2 * FRAC_O ! hmh 5/11/16 reverting to old version and uncommenting here FUP(I,J) = FUP(I,J) * TO_KGM2S * A_M2 * FRAC_O FDOWN(I,J) = FDOWN(I,J) * TO_KGM2S * A_M2 * FRAC_O !-------------------------------------------------- !-------------------------------------------------------- ! Flux limited by ocean and atm Hg(0) !-------------------------------------------------------- ! Cap the flux w/ the available Hg(0) ocean mass Hg0aqtemp = CHg0aq * A_M2 * FRAC_O *1.0e-8_fp IF ( FLUX(I,J) * DTSRCE > Hg0aqtemp ) THEN FLUX(I,J) = Hg0aqtemp / DTSRCE FUP(I,J) = FLUX(I,J)-FDOWN(I,J) ENDIF ! Cap the neg flux w/ the available Hg(0) atm mass IF ( (-FLUX(I,J) * DTSRCE ) > MHg0_air ) THEN FLUX(I,J) = -MHg0_air / DTSRCE ENDIF ! make sure Fup and Fdown do not underflow either ! debug 2x2.5 diagnostic? FUP(I,J) = MAX( FUP(I,J), SMALLNUM ) FDOWN(I,J) = MAX( FDOWN(I,J), SMALLNUM ) !-------------------------------------------------------- ! %%%%% HISTORY (aka netCDF diagnostics) %%%%% ! ! Fluxes of Hg0 from air to ocean and ocean to air [kg/s] ! NOTE: Implement for total Hg species at ths time !-------------------------------------------------------- ! Flux of Hg0 from ocean to air [kg/s] IF ( State_Diag%Archive_FluxHg0fromOceanToAir ) THEN State_Diag%FluxHg0fromOceanToAir(I,J) = FUP(I,J) ENDIF IF ( State_Diag%Archive_FluxHg0fromAirToOcean ) THEN State_Diag%FluxHg0fromAirToOcean(I,J) = FDOWN(I,J) ENDIF ELSE FLUX(I,J) = 0.0_fp FUP(I,J) = 0.0_fp FDOWN(I,J) = 0.0_fp ENDIF ENDDO ENDDO !$OMP END PARALLEL DO END SUBROUTINE OfflineOcean_ReadMo !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: init_mercury ! ! !DESCRIPTION: Subroutine INIT\_MERCURY allocates and zeroes all ! module arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_Mercury( Input_Opt, State_Grid, State_Chm, & State_Diag, State_Met, RC ) ! ! !USES: ! USE Cmn_Size_Mod, ONLY : nAer, nDust USE ErrCode_Mod USE GcKpp_Monitor, ONLY : Eqn_Names, Fam_Names USE GcKpp_Parameters, ONLY : nFam, nReact USE Input_Opt_Mod, ONLY : OptInput USE Photolysis_Mod, ONLY : Init_Photolysis USE Species_Mod, ONLY : Species USE State_Chm_Mod, ONLY : Ind_ USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostic State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 02 Dec 2004 - N. (Eckley) Selin - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! SAVEd scalars LOGICAL, SAVE :: IS_INIT = .FALSE. ! Scalars INTEGER :: I, KppId, N, P INTEGER :: p_BrO, p_ClO, p_Hg2ORGP, p_NO2 INTEGER :: nPhotRxns ! Strings CHARACTER(LEN=255) :: thisLoc CHARACTER(LEN=512) :: errMsg ! Pointers TYPE(Species), POINTER :: SpcInfo !======================================================================== ! INIT_MERCURY begins here! !======================================================================== ! Assume success RC = GC_SUCCESS ! Return if we have already allocated arrays IF ( IS_INIT ) RETURN ! Continue initialization SpcInfo => NULL() errMsg = '' thisLoc = '-> at DEFINE_TAGGED_Hg (in GeosCore/mercury_mod.F90)' ! Write reactions WRITE( 6 ,'(a)' ) ' KPP Reaction Reference ' DO N = 1, NREACT WRITE( 6, '(i8,a3,a85)' ) N,' | ',EQN_NAMES(N) END DO !======================================================================== ! Pre-store the KPP indices for each KPP prod/loss species or family !======================================================================== IF ( nFam > 0 ) THEN ! Allocate mapping array for KPP Ids for prod/loss diagnostic ALLOCATE( PL_Kpp_Id( nFam ), STAT=RC ) CALL GC_CheckVar( 'mercury_mod.F90:PL_Kpp_Id', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ! Loop over all KPP prod/loss species DO N = 1, nFam ! NOTE: KppId is the KPP ID # for each of the prod and loss ! diagnostic species. This is the value used to index the ! KPP "VAR" array (in module gckpp_Global.F90). KppID = Ind_( TRIM ( Fam_Names(N) ), 'K' ) ! If the species ID is OK, save in ND65_Kpp_Id PL_Kpp_Id(N) = KppId ENDDO ENDIF ! Set oxidant species IDs id_O3 = Ind_( 'O3' ) id_OH = Ind_( 'OH' ) id_HO2 = Ind_( 'HO2' ) id_ClO = Ind_( 'ClO' ) id_Cl = Ind_( 'Cl' ) id_NO2 = Ind_( 'NO2' ) id_NO = Ind_( 'NO' ) id_Br = Ind_( 'Br' ) id_BrO = Ind_( 'BrO' ) ! Locate Hg gas species id_Hg0 = Ind_( 'Hg0' ) id_HgBrNO2 = Ind_( 'HgBrNO2' ) id_HgBrHO2 = Ind_( 'HgBrHO2' ) id_HgBrOH = Ind_( 'HgBrOH ' ) id_HgBrBrO = Ind_( 'HgBrBrO' ) id_HgBrClO = Ind_( 'HgBrClO' ) id_HgBr2 = Ind_( 'HgBr2 ' ) id_HgClNO2 = Ind_( 'HgClNO2' ) id_HgClHO2 = Ind_( 'HgClHO2' ) id_HgClOH = Ind_( 'HgClOH ' ) id_HgClBrO = Ind_( 'HgClBrO' ) id_HgClClO = Ind_( 'HgClClO' ) id_HgClBr = Ind_( 'HgClBr' ) id_HgOHNO2 = Ind_( 'HgOHNO2' ) id_HgOHHO2 = Ind_( 'HgOHHO2' ) id_HgOHOH = Ind_( 'HgOHOH ' ) id_HgOHBrO = Ind_( 'HgOHBrO' ) id_HgOHClO = Ind_( 'HgOHClO' ) id_HgCl2 = Ind_( 'HgCl2' ) id_Hg2ClP = Ind_( 'Hg2ClP' ) id_Hg2ORGP = Ind_( 'Hg2ORGP' ) id_Hg2STRP = Ind_( 'Hg2STRP' ) id_HgBr = Ind_( 'HgBr' ) id_HgCl = Ind_( 'HgCl' ) id_HgOH = Ind_( 'HgOH' ) id_HgBrO = Ind_( 'HgBrO' ) id_HgClO = Ind_( 'HgClO' ) id_HgOHO = Ind_( 'HgOHO' ) ! Initialize variables nHg2gasSpc = 0 Map_Hg2gas = 0 IF ( id_HGBrNO2 > 0 ) THEN nHg2gasSpc = nHg2gasSpc + 1 Map_Hg2gas(nHg2gasSpc) = id_HGBrNO2 ENDIF IF ( id_HGBrHO2 > 0 ) THEN nHg2gasSpc = nHg2gasSpc + 1 Map_Hg2gas(nHg2gasSpc) = id_HGBrHO2 ENDIF IF ( id_HGBrOH > 0 ) THEN nHg2gasSpc = nHg2gasSpc + 1 Map_Hg2gas(nHg2gasSpc) = id_HGBrOH ENDIF IF ( id_HGBrBrO > 0 ) THEN nHg2gasSpc = nHg2gasSpc + 1 Map_Hg2gas(nHg2gasSpc) = id_HGBrBrO ENDIF IF ( id_HGBrClO > 0 ) THEN nHg2gasSpc = nHg2gasSpc + 1 Map_Hg2gas(nHg2gasSpc) = id_HGBrClO ENDIF IF ( id_HGBr2 > 0 ) THEN nHg2gasSpc = nHg2gasSpc + 1 Map_Hg2gas(nHg2gasSpc) = id_HGBr2 ENDIF IF ( id_HGClNO2 > 0 ) THEN nHg2gasSpc = nHg2gasSpc + 1 Map_Hg2gas(nHg2gasSpc) = id_HGClNO2 ENDIF IF ( id_HGClHO2 > 0 ) THEN nHg2gasSpc = nHg2gasSpc + 1 Map_Hg2gas(nHg2gasSpc) = id_HGClHO2 ENDIF IF ( id_HGClOH > 0 ) THEN nHg2gasSpc = nHg2gasSpc + 1 Map_Hg2gas(nHg2gasSpc) = id_HgClOH ENDIF IF ( id_HGClBrO > 0 ) THEN nHg2gasSpc = nHg2gasSpc + 1 Map_Hg2gas(nHg2gasSpc) = id_HGClBrO ENDIF IF ( id_HGClClO > 0 ) THEN nHg2gasSpc = nHg2gasSpc + 1 Map_Hg2gas(nHg2gasSpc) = id_HGClClO ENDIF IF ( id_HGClBr > 0 ) THEN nHg2gasSpc = nHg2gasSpc + 1 Map_Hg2gas(nHg2gasSpc) = id_HGClBr ENDIF IF ( id_HGOHNO2 > 0 ) THEN nHg2gasSpc = nHg2gasSpc + 1 Map_Hg2gas(nHg2gasSpc) = id_HGOHNO2 ENDIF IF ( id_HGOHHO2 > 0 ) THEN nHg2gasSpc = nHg2gasSpc + 1 Map_Hg2gas(nHg2gasSpc) = id_HGOHHO2 ENDIF IF ( id_HGOHOH > 0 ) THEN nHg2gasSpc = nHg2gasSpc + 1 Map_Hg2gas(nHg2gasSpc) = id_HgOHOH ENDIF IF ( id_HGOHBrO > 0 ) THEN nHg2gasSpc = nHg2gasSpc + 1 Map_Hg2gas(nHg2gasSpc) = id_HGOHBrO ENDIF IF ( id_HGOHClO > 0 ) THEN nHg2gasSpc = nHg2gasSpc + 1 Map_Hg2gas(nHg2gasSpc) = id_HGOHClO ENDIF IF ( id_HGCl2 > 0 ) THEN nHg2gasSpc = nHg2gasSpc + 1 Map_Hg2gas(nHg2gasSpc) = id_HGCl2 ENDIF !======================================================================== ! Allocate module arrays !======================================================================== ALLOCATE( COSZM( State_Grid%NX, State_Grid%NY ), STAT=RC ) CALL GC_CheckVar( 'mercury_mod.F90:COSZM', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN COSZM = 0e+0_fp ALLOCATE( EHg0_an( State_Grid%NX, State_Grid%NY ), STAT=RC ) CALL GC_CheckVar( 'mercury_mod.F90:EHg0_an', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN EHg0_an = 0e+0_fp ALLOCATE( EHg0_dist( State_Grid%NX, State_Grid%NY), STAT=RC ) CALL GC_CheckVar( 'mercury_mod.F90:EHg0_dist', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN EHg0_dist = 0e+0_fp ALLOCATE( EHg0_ln( State_Grid%NX, State_Grid%NY ), STAT=RC ) CALL GC_CheckVar( 'mercury_mod.F90:EHg0_ln', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN EHg0_ln = 0e+0_fp ALLOCATE( EHg0_oc( State_Grid%NX, State_Grid%NY ), STAT=RC ) CALL GC_CheckVar( 'mercury_mod.F90:EHg0_oc', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN EHg0_oc = 0e+0_fp ALLOCATE( EHg0_so( State_Grid%NX, State_Grid%NY ), STAT=RC ) CALL GC_CheckVar( 'mercury_mod.F90:EHg0_snow', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN EHg0_so = 0e+0_fp ALLOCATE( EHg0_snow( State_Grid%NX, State_Grid%NY ), STAT=RC ) CALL GC_CheckVar( 'mercury_mod.F90:EHg0_snow', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN EHg0_snow = 0e+0_fp ALLOCATE( EHg2_an( State_Grid%NX, State_Grid%NY ), STAT=RC ) CALL GC_CheckVar( 'mercury_mod.F90:EHg2_an', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN EHg2_an = 0e+0_fp ALLOCATE( TCOSZ( State_Grid%NX, State_Grid%NY ), STAT=RC ) CALL GC_CheckVar( 'mercury_mod.F90:TCOSZ', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN TCOSZ = 0e+0_fp ALLOCATE( TTDAY( State_Grid%NX, State_Grid%NY ), STAT=RC ) CALL GC_CheckVar( 'mercury_mod.F90:TTDAY', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN TTDAY = 0e+0_fp ! Allocate ZERO_DVEL if we use non-local PBL mixing or ! if drydep is turned off IF ( Input_Opt%LNLPBL .OR. ( .not. Input_Opt%LDRYD ) ) THEN ALLOCATE( ZERO_DVEL( State_Grid%NX, State_Grid%NY ), STAT=RC ) CALL GC_CheckVar( 'mercury_mod.F90:ZERO_DVEL', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ZERO_DVEL = 0e+0_fp ENDIF ALLOCATE( HG2_SEASALT_LOSSRATE( State_Grid%NX, State_Grid%NY ), STAT=RC ) CALL GC_CheckVar( 'mercury_mod.F90:HG2_SEASALT_LOSSRATE', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN HG2_SEASALT_LOSSRATE = 0e+0_fp ALLOCATE( srMw( nHg2GasSpc ), STAT=RC ) CALL GC_CheckVar( 'mercury_mod.F90:srMw', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN srMw = 0.0_fp ! HG_EMIS is needed for non-local PBL mixing ALLOCATE( HG_EMIS( State_Grid%NX, State_Grid%NY, State_Chm%nAdvect ), & STAT=RC ) CALL GC_CheckVar( 'mercury_mod.F90:HG_EMIS', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN HG_EMIS = 0e+0_fp !======================================================================== ! Allocate and initialize oxidant concentration pointer !======================================================================== ALLOCATE( FixSpcPtr( State_Chm%nKppFix ), STAT=RC ) CALL GC_CheckVar( 'mercury_mod.F90:FixSpcPtr', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ! Number of aerosol & dust speices N_Aer = NAER N_Dust = NDUST ! Aerosol species name ALLOCATE( AerSpcNames ( N_Dust + N_Aer ), STAT=RC ) CALL GC_CheckVar( 'mercury_mod.F90:AerSpcNames', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN AerSpcNames = (/'DST1 ','DST2 ','DST3 ','DST4 ','DST5 ','DST6 ', & 'DST7 ','SO4 ','BC ','OC ','SSA ','SSC ', & 'BGSULF','ICEI ' /) ALLOCATE( AeroPtr( N_Dust + N_Aer ), STAT=RC ) CALL GC_CheckVar( 'mercury_mod.F90:AeroPtr', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN !======================================================================== ! Pre-save square root of Hg2 species molecular weights, which are ! needed within PartitionHg2. This saves unnecesary CPU cycles. !======================================================================== DO N = 1, nHg2gasSpc P = Map_Hg2gas(N) srMw(N) = SQRT( State_Chm%SpcData(P)%Info%MW_g ) ! Also save the sqrt(MW) for HgCl2 IF ( State_Chm%SpcData(P)%Info%Name(1:5) == 'HgCl2' ) THEN srMw_HgCl2 = srMw(N) ENDIF ENDDO !======================================================================= ! Assign default values for KPP absolute and relative tolerances ! for species where these have not been explicitly defined. !======================================================================= WHERE( State_Chm%KPP_AbsTol == MISSING_DBLE ) State_Chm%KPP_AbsTol = 1.0e-2_f8 ENDWHERE WHERE( State_Chm%KPP_RelTol == MISSING_DBLE ) State_Chm%KPP_RelTol = 1.0e-2_f8 ENDWHERE !======================================================================== ! Various Settings (not sure how many of these still work) !======================================================================== ! Switch uses ocean rate coefficients from parameter inversion, ! ref. Song et al. 2015 ACP LOCEANCOEF=.FALSE. ! Switch determines whether uptake of Hg2 by sea-salt aerosol ! is calculated dynamically (TRUE) or uses a constant rate (FALSE) LDYNSEASALT = .TRUE. ! Use GEIA 2005 inventory LGEIA05=.FALSE. ! Switch use NEI2005 and NPRI2005 emission inventories LNEI2005=.TRUE. ! Switch modifying the speciation profile of Hg emission LInPlume=.FALSE. ! no Hg emitted through transpiration (VEGEMIS off) LVEGEMIS=.FALSE. ! Switch adds bromine in marine boundary layer L_ADD_MBL_Br=.FALSE. ! Switch adds bromine explosion in Northern springtime LPOLARBr=.TRUE. ! Switch for only doing reduction in cloud water LRED_CLOUDONLY = .TRUE. ! Switch for using GEOS-Chem tropospheric bromine fields, ! ref. Parrella et al. 2012, instead of older TOMCAT fields LGCBROMINE = .TRUE. ! Switch specifies that Hg2 is 50% bound to aerosol and 50% in ! gas phase (TRUE). If FALSE, then use temperature dependent ! partitioning as described in Amos et al. (2011, ACPD) LHg2HalfAerosol = .FALSE. ! Switch turns on snowpack Hg storage until snowmelt LHGSNOW = .TRUE. ! Multiplicative factor for increasing stratospheric Br and BrO STRAT_Br_FACTOR = 1e+0_fp ! Switch turns off all emissions except direct anthropogenic LAnthroHgOnly = .FALSE. ! Switch turns off all anthropogenic emissions from contiguous USA LnoUSAemis = .FALSE. !======================================================================== ! Initialize photolysis !======================================================================== CALL Init_Photolysis( Input_Opt, State_Grid, State_Chm, & State_Diag, State_Met, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "Init_Photolysis"!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !======================================================================== ! Find where certain species are stored in the FAST-JX rate array ZPJ !======================================================================== ! Initialize photolysis indices from species database p_BrO = Ind_( 'BrO', 'P' ) p_ClO = Ind_( 'ClO', 'P' ) p_Hg2ORGP = Ind_( 'Hg2ORGP', 'P' ) p_NO2 = Ind_( 'NO2', 'P' ) ! Initialize variables for # reactions and slots of ZPJ nPhotRxns = State_Chm%Phot%nPhotRxns id_phot_BrO = 0 id_phot_ClO = 0 id_phot_Hg2Org = 0 id_phot_NO2 = 0 ! Loop over all photolysis reactions DO N = 1, nPhotRxns ! GC photolysis species index (skip if not present) P = State_Chm%Phot%GC_Photo_Id(N) IF ( P <= 0 ) CYCLE ! Define the slots in the ZPJ array for several species. ! We will use this in the ChemMercury routine above. IF ( P == p_BrO ) id_phot_BrO = N IF ( P == p_ClO ) id_phot_ClO = N IF ( P == p_Hg2ORGP ) id_phot_Hg2Org = N IF ( P == p_NO2 ) id_phot_NO2 = N ENDDO ! Error checks IF ( id_phot_BrO <= 0 .or. id_phot_BrO > nPhotRxns ) THEN errMsg = 'Invalid photolysis index for BrO!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF IF ( id_phot_ClO <= 0 .or. id_phot_ClO > nPhotRxns ) THEN errMsg = 'Invalid photolysis index for ClO!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF IF ( id_phot_Hg2Org <= 0 .or. id_phot_Hg2Org > nPhotRxns ) THEN errMsg = 'Invalid photolysis index for HG2ORGP!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF IF ( id_phot_NO2 <= 0 .or. id_phot_NO2 > nPhotRxns ) THEN errMsg = 'Invalid photolysis index for NO2!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !================================================================= ! Done! Reset IS_INIT, since we have already allocated arrays !================================================================= IS_INIT = .TRUE. END SUBROUTINE Init_Mercury !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: set_options_from_hemco ! ! !DESCRIPTION: Overrides some of the Hg simulation settings depending on ! the inputs that are specified in the HEMCO configuration file. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Set_Options_From_Hemco( Input_Opt, State_Grid, RC ) ! ! !USES: ! USE ErrCode_Mod USE HCO_ERROR_MOD USE HCO_State_GC_Mod, ONLY : HcoState USE HCO_ExtList_Mod, ONLY : GetExtOpt USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt TYPE(GrdState), INTENT(IN) :: State_Grid ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 06 Jan 2015 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: LGC LOGICAL :: LTOMCAT LOGICAL :: LPREINDHG LOGICAL :: FOUND ! Strings CHARACTER(LEN=255) :: thisLoc CHARACTER(LEN=512) :: errMsg !----------------------------------------------------------------- ! Initialize !----------------------------------------------------------------- RC = HCO_SUCCESS errMsg = '' thisLoc = ' -> at SET_OPTIONS_FROM_HEMCO (in GeosCore/mercury_mod.F90)' !----------------------------------------------------------------- ! Set the value of chemistry flags depending on whether or not ! the HEMCO collection LFLAGNAME is activated !----------------------------------------------------------------- CALL GetExtOpt( HcoState%Config, -999, 'LHALOGENCHEM', & OptValBool=LHALOGENCHEM, FOUND=FOUND, RC=RC ) IF ( RC /= HCO_SUCCESS ) THEN errMsg = 'LHALOGENCHEM not found in HEMCO_Config.rc file!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF IF ( .not. FOUND ) THEN LHALOGENCHEM = .TRUE. ENDIF CALL GetExtOpt( HcoState%Config, -999, 'LHGAQCHEM', & OptValBool=LHGAQCHEM, FOUND=FOUND, RC=RC ) IF ( RC /= HCO_SUCCESS ) THEN errMsg = 'LHGAQCHEM not found in HEMCO_Config.rc file!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF IF ( .not. FOUND ) THEN LHGAQCHEM = .FALSE. ENDIF CALL GetExtOpt( HcoState%Config, -999, 'LBRCHEM', & OptValBool=LBRCHEM, FOUND=FOUND, RC=RC ) IF ( RC /= HCO_SUCCESS ) THEN errMsg = 'LBRCHEM not found in HEMCO_Config.rc file!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF IF ( .not. FOUND ) THEN LBRCHEM = .FALSE. ENDIF CALL GetExtOpt( HcoState%Config, -999, 'LBROCHEM', & OptValBool=LBROCHEM, FOUND=FOUND, RC=RC ) IF ( RC /= HCO_SUCCESS ) THEN errMsg = 'LBROCHEM not found in HEMCO_Config.rc file!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF IF ( .not. FOUND ) THEN LBROCHEM = .FALSE. ENDIF CALL GetExtOpt( HcoState%Config, -999, 'LOHO3CHEM', & OptValBool=LOHO3CHEM, FOUND=FOUND, RC=RC ) IF ( RC /= HCO_SUCCESS ) THEN errMsg = 'LOHO3CHEM not found in HEMCO_Config.rc file!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF IF ( .not. FOUND ) THEN LOHO3CHEM = .FALSE. ENDIF !----------------------------------------------------------------- ! Set the value of LGCBROMINE depending on the values of the ! HEMCO collections BrOx_GC and BrOx_TOMCAT !----------------------------------------------------------------- ! First look for BrOx_GC CALL GetExtOpt( HcoState%Config, -999, 'BrOx_GC', & OptValBool=LGC, FOUND=FOUND, RC=RC ) IF ( RC /= HCO_SUCCESS ) THEN errMsg = 'BrOx_GC not found in HEMCO_Config.rc file!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF IF ( .not. FOUND ) THEN LGC = .FALSE. ENDIF ! Set LGCBROMINE = .TRUE. if BrOx_GC is true LGCBROMINE = LGC ! Set BrOx_TOMCAT to be the opposite of LGCBROMINE LTOMCAT = ( .not. LGCBROMINE ) ! Are we doing a preindustrial simulation? LPREINDHG = Input_Opt%LPREINDHG !----------------------------------------------------------------- ! Set the value of LNEI2005 depending on whether or not ! the HEMCO collection NEI2005 is activated !----------------------------------------------------------------- CALL GetExtOpt( HcoState%Config, -999, 'NEI2005', & OptValBool=LNEI2005, FOUND=FOUND, RC=RC ) IF ( RC /= HCO_SUCCESS ) THEN errMsg = 'NEI2005 not found in HEMCO_Config.rc file!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF IF ( .not. FOUND ) THEN LNEI2005 = .FALSE. ENDIF !----------------------------------------------------------------- ! Set the value of LInPlume depending on whether or not ! the HEMCO collection NEI2005 is activated !----------------------------------------------------------------- CALL GetExtOpt( HcoState%Config, -999, 'LRED_INPLUME', & OptValBool=LInPlume, FOUND=FOUND, RC=RC ) IF ( RC /= HCO_SUCCESS ) THEN errMsg = 'LRED_INPLUME not found in HEMCO_Config.rc file!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF IF ( .not. FOUND ) THEN LInPlume = .FALSE. ENDIF ! In plume degradation of Hg2 by SO2 in U.S. and Canada at CFPPs, ! (yzh 11/1/2011). Move this here so that the HEMCO_Config file ! will have been already read by this point. (bmy, 10/11/16) IF ( LInPlume .AND. .NOT. LPREINDHG .AND. LNEI2005 ) THEN CALL DO_RED_INPLUME( Input_Opt, State_Grid, RC ) ENDIF !----------------------------------------------------------------- ! Echo output !----------------------------------------------------------------- WRITE( 6, '(a)' ) REPEAT( '=', 79 ) WRITE( 6, 100 ) WRITE( 6, 120 ) LGCBROMINE WRITE( 6, 130 ) LNEI2005 WRITE( 6, 140 ) LInPlume WRITE( 6, 150 ) LHALOGENCHEM WRITE( 6, 160 ) LHGAQCHEM WRITE( 6, 170 ) LBRCHEM WRITE( 6, 180 ) LBROCHEM WRITE( 6, 190 ) LOHO3CHEM WRITE( 6, '(a)' ) REPEAT( '=', 79 ) 100 FORMAT( 'Adjusting Hg simulation settings from HEMCO inputs' ) 120 FORMAT( 'LGCBROMINE is set to ', L1 ) 130 FORMAT( 'LNEI2005 is set to ', L1 ) 140 FORMAT( 'LInPlume is set to ', L1 ) 150 FORMAT( 'LHALOGENCHEM is set to ', L1 ) 160 FORMAT( 'LHGAQCHEM is set to ', L1 ) 170 FORMAT( 'LBRCHEM is set to ', L1 ) 180 FORMAT( 'LBROCHEM is set to ', L1 ) 190 FORMAT( 'LOHO3CHEM is set to ', L1 ) END SUBROUTINE Set_Options_From_Hemco !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: cleanup_mercury ! ! !DESCRIPTION: Subroutine CLEANUP\_MERCURY deallocates all module arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Cleanup_Mercury ! ! !REVISION HISTORY: ! 06 Dec 2004 - N. (Eckley) Selin - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! Deallocate module arrays IF ( ALLOCATED( COSZM ) ) DEALLOCATE( COSZM ) IF ( ALLOCATED( EHg0_an ) ) DEALLOCATE( EHg0_an ) IF ( ALLOCATED( EHg0_ln ) ) DEALLOCATE( EHg0_ln ) IF ( ALLOCATED( EHg0_oc ) ) DEALLOCATE( EHg0_oc ) IF ( ALLOCATED( EHg0_so ) ) DEALLOCATE( EHg0_so ) IF ( ALLOCATED( EHg0_snow ) ) DEALLOCATE( EHg0_snow ) IF ( ALLOCATED( EHg2_an ) ) DEALLOCATE( EHg2_an ) IF ( ALLOCATED( srMw ) ) DEALLOCATE( srMw ) IF ( ALLOCATED( TCOSZ ) ) DEALLOCATE( TCOSZ ) IF ( ALLOCATED( TTDAY ) ) DEALLOCATE( TTDAY ) IF ( ALLOCATED( ZERO_DVEL ) ) DEALLOCATE( ZERO_DVEL ) IF ( ALLOCATED( HG2_SEASALT_LOSSRATE ) ) DEALLOCATE( HG2_SEASALT_LOSSRATE ) IF ( ALLOCATED( HG_EMIS ) ) DEALLOCATE( HG_EMIS ) ! Free pointers to HEMCO fields O3 => NULL() OH => NULL() JNO2 => NULL() NO => NULL() NO2 => NULL() CLO => NULL() CL => NULL() OA => NULL() HOCl => NULL() HO2 => NULL() OCEAN_CONC => NULL() END SUBROUTINE Cleanup_Mercury !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Set_Kpp_GridBox_Values ! ! !DESCRIPTION: Populates KPP variables in the gckpp_Global.F90 module ! for a particular (I,J,L) grid box. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Set_Kpp_GridBox_Values( I, J, L, & Input_Opt, State_Chm, State_Grid, & State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE GcKpp_Global USE GcKpp_Parameters USE GcKpp_Global, ONLY : State_Het USE Hg_HetStateFuncs, ONLY : Hg_SetStateHet USE Input_Opt_Mod, ONLY : OptInput USE PhysConstants, ONLY : AVO, CONSVAP, PI, RGASLATM, RSTARG USE Pressure_Mod, ONLY : Get_Pcenter USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I, J, L TYPE(OptInput), INTENT(IN) :: Input_Opt TYPE(ChmState), INTENT(IN) :: State_Chm TYPE(GrdState), INTENT(IN) :: State_Grid TYPE(MetState), INTENT(IN) :: State_Met ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N, S REAL(f8) :: CONSEXP, VPRESH2O ! Characters CHARACTER(LEN=255) :: errMsg, thisLoc !======================================================================== ! Set_Kpp_GridBox_Values begins here! !======================================================================== ! Initialization RC = GC_SUCCESS errMsg = '' thisLoc = & ' -> at Set_Kpp_GridBox_Values (in module GeosCore/mercury_mod.F90' !======================================================================== ! Copy species concentrations into gckpp_Global variables !======================================================================== DO N = 1, NSPEC S = State_Chm%Map_KppSpc(N) C(N) = 0.0_f8 IF ( S > 0 ) THEN C(N) = State_Chm%Species(S)%Conc(I,J,L) ENDIF ENDDO !======================================================================== ! Populate global variables in gckpp_Global.F90 !======================================================================== ! Pressure and density quantities NUMDEN = State_Met%AIRNUMDEN(I,J,L) H2O = State_Met%AVGW(I,J,L) * NUMDEN PRESS = Get_Pcenter( I, J, L ) ! Temperature quantities TEMP = State_Met%T(I,J,L) INV_TEMP = 1.0_dp / TEMP TEMP_OVER_K300 = TEMP / 300.0_dp K300_OVER_TEMP = 300.0_dp / TEMP SR_TEMP = SQRT( TEMP ) ! Relative humidity quantities CONSEXP = 17.2693882_f8 * (TEMP - 273.16_f8) / (TEMP - 35.86_f8) VPRESH2O = CONSVAP * EXP( CONSEXP ) / TEMP !======================================================================== ! Populate variables in the HetChem state object !======================================================================== CALL Hg_SetStateHet( & I = I, & J = J, & L = L, & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Met = State_Met, & H = State_Het, & fracOrgAer = GLOB_FOA(I,J,L), & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in routine "fullchem_SetStateHet"!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF END SUBROUTINE Set_Kpp_GridBox_Values !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Hg_ZeroDiagArrays ! ! !DESCRIPTION: Zeroes diagnostic archival arrays to make sure that we ! don't have any leftover values from the last timestep near the top of ! the chemistry grid. This was abstracted out of ChemMercury ! in order to reduce clutter. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Hg_ZeroDiagArrays( State_Diag ) ! ! !USES: ! USE State_Diag_Mod, ONLY : DgnState ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostic State object ! ! !REVISION HISTORY: ! 07 May 2025 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! !======================================================================== ! Hg_ZeroDiagArrays begins here! !======================================================================== !------------------------------------------ ! %%%%% Prod & loss diagnostics %%%%% !------------------------------------------ IF ( State_Diag%Archive_Loss ) THEN State_Diag%Loss = 0.0_f4 ENDIF IF ( State_Diag%Archive_Prod ) THEN State_Diag%Prod = 0.0_f4 ENDIF IF (State_Diag%Archive_SatDiagnLoss ) THEN State_Diag%SatDiagnLoss = 0.0_f4 ENDIF IF (State_Diag%Archive_SatDiagnProd ) THEN State_Diag%SatDiagnProd = 0.0_f4 ENDIF !------------------------------------------ ! %%%%% J-value diagnostics %%%%% !------------------------------------------ IF ( State_Diag%Archive_JVal ) THEN State_Diag%JVal = 0.0_f4 ENDIF IF ( State_Diag%Archive_SatDiagnJVal ) THEN State_Diag%SatDiagnJVal = 0.0_f4 ENDIF IF ( State_Diag%Archive_JNoon ) THEN State_Diag%JNoon = 0.0_f4 ENDIF !------------------------------------------ ! %%%%% Reaction rate diagnostics %%%%% !------------------------------------------ IF ( State_Diag%Archive_RxnRate ) THEN State_Diag%RxnRate = 0.0_f4 ENDIF IF ( State_Diag%Archive_RxnConst ) THEN State_Diag%RxnConst = 0.0_f4 ENDIF IF ( State_Diag%Archive_SatDiagnRxnRate ) THEN State_Diag%SatDiagnRxnRate = 0.0_f4 ENDIF !------------------------------------------ ! %%%%% Chemistry diagnostics %%%%% !------------------------------------------ IF ( State_Diag%Archive_OHreactivity ) THEN State_Diag%OHreactivity = 0.0_f4 ENDIF IF ( State_Diag%Archive_HgBrAfterChem ) THEN State_Diag%HgBrAfterChem = 0.0_f4 ENDIF IF ( State_Diag%Archive_HgClAfterChem ) THEN State_Diag%HgClAfterChem = 0.0_f4 ENDIF IF ( State_Diag%Archive_HgOHAfterChem ) THEN State_Diag%HgOHAfterChem = 0.0_f4 ENDIF IF ( State_Diag%Archive_HgBrOAfterChem ) THEN State_Diag%HgBrOAfterChem = 0.0_f4 ENDIF IF ( State_Diag%Archive_HgClOAfterChem ) THEN State_Diag%HgClOAfterChem = 0.0_f4 ENDIF IF ( State_Diag%Archive_HgOHOAfterChem ) THEN State_Diag%HgOHOAfterChem = 0.0_f4 ENDIF !------------------------------------------ ! %%%%% KPP solver statistics %%%%% !------------------------------------------ IF ( State_Diag%Archive_KppDiags ) THEN IF (State_Diag%Archive_KppIntCounts ) THEN State_Diag%KppIntCounts = 0.0_f4 ENDIF IF ( State_Diag%Archive_KppJacCounts ) THEN State_Diag%KppJacCounts = 0.0_f4 ENDIF IF ( State_Diag%Archive_KppTotSteps ) THEN State_Diag%KppTotSteps = 0.0_f4 ENDIF IF ( State_Diag%Archive_KppAccSteps ) THEN State_Diag%KppAccSteps = 0.0_f4 ENDIF IF ( State_Diag%Archive_KppRejSteps ) THEN State_Diag%KppRejSteps = 0.0_f4 ENDIF IF ( State_Diag%Archive_KppLuDecomps) THEN State_Diag%KppLuDecomps = 0.0_f4 ENDIF IF ( State_Diag%Archive_KppSubsts ) THEN State_Diag%KppSubsts = 0.0_f4 ENDIF IF ( State_Diag%Archive_KppSmDecomps) THEN State_Diag%KppSmDecomps = 0.0_f4 ENDIF ENDIF END SUBROUTINE Hg_ZeroDiagArrays !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Hg_UpdateRxnDiags ! ! !DESCRIPTION: Updates History diagnostic arrays for KPP reaction rates, ! rate constants, and solver statistics. This was abstracted out of ! routine Chem_Carbon_gases to reduce clutter. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Hg_UpdateRxnDiags( I, J, L, State_Diag ) ! ! !USES: ! USE gckpp_Global, ONLY : C, RCONST USE gckpp_Function, ONLY : Fun USE gckpp_Parameters, ONLY : NREACT, NSPEC, NVAR USE gckpp_Precision USE State_Diag_Mod, ONLY : DgnState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I, J, L ! Grid box indices ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostic State object ! ! !REVISION HISTORY: ! 06 May 2025 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! Scalars INTEGER :: N, S ! Arrays REAL(dp) :: Aout(NREACT) REAL(dp) :: Vloc(NVAR) !======================================================================== ! HISTORY: Archive KPP reaction rates [molec cm-3 s-1] ! ! See gckpp_Monitor.F90 for a list of chemical reactions !======================================================================== IF ( State_Diag%Archive_RxnRate .or. & State_Diag%Archive_SatDiagnRxnRate ) THEN ! Get equation rates (Aout) CALL Fun( V = C(1:NVAR), & F = C(NVAR+1:NSPEC), & RCT = RCONST, & Vdot = Vloc, & Aout = Aout ) ! Archive the RxnRate diagnostic collection IF ( State_Diag%Archive_RxnRate ) THEN DO S = 1, State_Diag%Map_RxnRate%nSlots N = State_Diag%Map_RxnRate%slot2Id(S) State_Diag%RxnRate(I,J,L,S) = Aout(N) ENDDO ENDIF ! Archive the SatDiagnRxnRate diagnostic collection IF ( State_Diag%Archive_SatDiagnRxnRate ) THEN DO S = 1, State_Diag%Map_SatDiagnRxnRate%nSlots N = State_Diag%Map_SatDiagnRxnRate%slot2Id(S) State_Diag%SatDiagnRxnRate(I,J,L,S) = Aout(N) ENDDO ENDIF ENDIF !======================================================================== ! HISTORY: Archive KPP reaction rate constants (RCONST). ! ! The units vary. They are already updated in Update_RCONST, ! and do not require a call of Fun(). (hplin, 3/28/23) ! ! See gckpp_Monitor.F90 for a list of chemical reactions !======================================================================== IF ( State_Diag%Archive_RxnConst ) THEN DO S = 1, State_Diag%Map_RxnConst%nSlots N = State_Diag%Map_RxnConst%slot2Id(S) State_Diag%RxnConst(I,J,L,S) = RCONST(N) ENDDO ENDIF END SUBROUTINE Hg_UpdateRxnDiags !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Hg_UpdateKppDiags ! ! !DESCRIPTION: Updates the KppDiags collection arrays, which contain ! statistics from the KPP integrator. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Hg_UpdateKppDiags( I, J, L, ISTATUS, & RSTATUS, Input_Opt, State_Diag, Zero_First ) ! USE gckpp_Global, ONLY : C USE gckpp_Precision USE Input_Opt_Mod, ONLY : OptInput USE State_Diag_Mod, ONLY : DgnState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I, J, L ! Grid box indices INTEGER, INTENT(IN) :: ISTATUS(20) ! Integrator statistics REAL(dp), INTENT(IN) :: RSTATUS(20) ! Integrator timestep info TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object LOGICAL, INTENT(IN) :: Zero_First ! Set arrays to zero first? ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostic State object ! ! !REVISION HISTORY: ! 08 May 2025 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC !======================================================================== ! Hg_UpdateKppDiags begins here! !======================================================================== ! Return if none of the KppDiags diagnostic fields are requested IF ( .not. State_Diag%Archive_KppDiags ) RETURN ! Check for negative concentrations after first integration IF ( State_Diag%Archive_KppNegatives0 ) THEN IF ( Zero_First ) State_Diag%KppNegatives0(I,J,L) = 0.0_f4 State_Diag%KppNegatives0(I,J,L) = & State_Diag%KppNegatives0(I,J,L) + REAL( COUNT( C < 0.0_dp ), KIND=4 ) ENDIF ! # of integrator calls IF ( State_Diag%Archive_KppIntCounts ) THEN IF ( Zero_First ) State_Diag%KppIntCounts(I,J,L) = 0.0_f4 State_Diag%KppIntCounts(I,J,L) = & State_Diag%KppIntCounts(I,J,L) + ISTATUS(1) ENDIF ! # of times Jacobian was constructed IF ( State_Diag%Archive_KppJacCounts ) THEN IF ( Zero_First ) State_Diag%KppJacCounts(I,J,L) = 0.0_f4 State_Diag%KppJacCounts(I,J,L) = & State_Diag%KppJacCounts(I,J,L) + ISTATUS(2) ENDIF ! # of internal timesteps IF ( State_Diag%Archive_KppTotSteps ) THEN IF ( Zero_First ) State_Diag%KppTotSteps(I,J,L) = 0.0_f4 State_Diag%KppTotSteps(I,J,L) = & State_Diag%KppTotSteps(I,J,L) + ISTATUS(3) ENDIF ! # of accepted internal timesteps IF ( State_Diag%Archive_KppAccSteps ) THEN IF ( Zero_First ) State_Diag%KppAccSteps(I,J,L) = 0.0_f4 State_Diag%KppAccSteps(I,J,L) = & State_Diag%KppAccSteps(I,J,L) + ISTATUS(4) ENDIF ! # of rejected internal timesteps IF ( State_Diag%Archive_KppRejSteps ) THEN IF ( Zero_First ) State_Diag%KppRejSteps(I,J,L) = 0.0_f4 State_Diag%KppRejSteps(I,J,L) = & State_Diag%KppRejSteps(I,J,L) + ISTATUS(5) ENDIF ! # of LU-decompositions IF ( State_Diag%Archive_KppLuDecomps ) THEN IF ( Zero_First ) State_Diag%KppLuDecomps(I,J,L) = 0.0_f4 State_Diag%KppLuDecomps(I,J,L) = & State_Diag%KppLuDecomps(I,J,L) + ISTATUS(6) ENDIF ! # of forward and backwards substitutions IF ( State_Diag%Archive_KppSubsts ) THEN IF ( Zero_First ) State_Diag%KppSubsts(I,J,L) = 0.0_f4 State_Diag%KppSubsts(I,J,L) = & State_Diag%KppSubsts(I,J,L) + ISTATUS(7) ENDIF ! # of singular-matrix decompositions IF ( State_Diag%Archive_KppSmDecomps ) THEN IF ( Zero_First ) State_Diag%KppSmDecomps(I,J,L) = 0.0_f4 State_Diag%KppSmDecomps(I,J,L) = & State_Diag%KppSmDecomps(I,J,L) + ISTATUS(8) ENDIF END SUBROUTINE Hg_UpdateKppDiags !EOC END MODULE Mercury_Mod ================================================ FILE: GeosCore/mixing_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: mixing_mod.F90 ! ! !DESCRIPTION: Module mixing\_mod.F90 is a wrapper module for the PBL mixing ! in GEOS-Chem. !\\ !\\ ! !INTERFACE: ! MODULE Mixing_Mod ! ! !USES: ! USE Precision_Mod IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: DO_MIXING PUBLIC :: DO_TEND ! ! !REVISION HISTORY: ! 04 Mar 2015 - C. Keller - Initial version. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: do_mixing ! ! !DESCRIPTION: Subroutine DO\_MIXING performs the PBL mixing. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Do_Mixing( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE Pbl_Mix_Mod, ONLY : Do_Full_Pbl_Mixing USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE Vdiff_Mod, ONLY : Do_Vdiff ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN ) :: Input_Opt ! Input Options TYPE(GrdState), INTENT(IN ) :: State_Grid ! Grid State ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State INTEGER, INTENT(INOUT) :: RC ! Failure or success ! ! !REMARKS ! (A) While all dry deposition rates are calculated either in ! DO_PBL_MIX2 or DO_TEND, settling of aerosols is still ! computed in the dust/seasalt modules. ! ! !REVISION HISTORY: ! 04 Mar 2015 - C. Keller - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! LOCAL VARIABLES: ! ! Scalars LOGICAL :: OnlyAbovePBL CHARACTER(LEN=255) :: ErrMsg, ThisLoc !======================================================================= ! DO_MIXING begins here! !======================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at DO_MIXING (in module GeosCore/mixing_mod.F90)' !----------------------------------------------------------------------- ! Do non-local PBL mixing. This will apply the species tendencies ! (emission fluxes and dry deposition rates) below the PBL. ! This is done for all species with defined emissions / dry ! deposition rates, including dust. ! ! Set OnlyAbovePBL flag (used below by DO_TEND) to indicate that ! fluxes within the PBL have already been applied. ! ---------------------------------------------------------------------- IF ( Input_Opt%LTURB .AND. Input_Opt%LNLPBL ) THEN !-------------------------------------------------------------------- ! %%%%% HISTORY (aka netCDF diagnostics) %%%%% ! ! Initialize the diagnostic array for the History Component. This will ! prevent leftover values from being carried over to this timestep. ! (For example, if on the last iteration, the PBL height was higher than ! it is now, then we will have stored drydep fluxes up to that height, ! so we need to zero these out.) !-------------------------------------------------------------------- ! Non-local mixing CALL Do_Vdiff( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountred in "DO_PBL_MIX_2"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Fluxes in PBL have been applied (non-local PBL mixing) OnlyAbovePBL = .TRUE. ELSE ! Fluxes in PBL have not been applied (full PBL mixing) OnlyAbovePBL = .FALSE. ENDIF !----------------------------------------------------------------------- ! Apply tendencies. This will apply dry deposition rates and ! emission fluxes below the PBL if it has not yet been done ! via the non-local PBL mixing. It also adds the emissions above ! the PBL to the species array. Emissions of some species may be ! capped at the tropopause to avoid build-up in stratosphere. !----------------------------------------------------------------------- ! Apply tendencies CALL DO_TEND( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, OnlyAbovePBL, RC ) ! Trap potential error IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountred in "DO_TEND"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !----------------------------------------------------------------------- ! Do full pbl mixing. This fully mixes the updated species ! concentrations within the PBL. ! ! Now also archive concentrations and calculate turbulence ! tendencies (ckeller, 7/15/2015) !----------------------------------------------------------------------- IF ( Input_Opt%LTURB .AND. .NOT. Input_Opt%LNLPBL ) THEN ! Full PBL mixing CALL Do_Full_Pbl_Mixing( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! Trap potential error IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountred in "DO_PBL_MIX"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF END SUBROUTINE DO_MIXING !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: do_tend ! ! !DESCRIPTION: Subroutine DO\_TEND adds the species tendencies (dry deposition ! and emissions) to the species array. !\\ !\\ ! !INTERFACE: ! SUBROUTINE DO_TEND( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, OnlyAbovePBL, RC, DT ) ! ! !USES: ! USE Diagnostics_Mod, ONLY : Compute_Budget_Diagnostics USE ErrCode_Mod USE ERROR_MOD, ONLY : SAFE_DIV USE GET_NDEP_MOD, ONLY : SOIL_DRYDEP USE HCO_Utilities_GC_Mod, ONLY : HCO_GC_GetDiagn USE HCO_Utilities_GC_Mod, ONLY : GetHcoValEmis, GetHcoValDep, InquireHco USE HCO_Utilities_GC_Mod, ONLY : LoadHcoValEmis, LoadHcoValDep USE Input_Opt_Mod, ONLY : OptInput USE PhysConstants, ONLY : AVO USE Species_Mod, ONLY : Species USE State_Chm_Mod, ONLY : ChmState USE State_Chm_Mod, ONLY : Ind_ USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_TS_DYN, GET_TS_CONV, GET_TS_CHEM USE Timers_Mod, ONLY : Timer_End, Timer_Start USE UnitConv_Mod #ifdef MODEL_CLASSIC use hco_utilities_gc_mod, only: TMP_MDL ! danger #endif ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN ) :: Input_Opt ! Input opts TYPE(MetState), INTENT(IN ) :: State_Met ! Met state TYPE(GrdState), INTENT(IN ) :: State_Grid ! Grid state LOGICAL, INTENT(IN ) :: OnlyAbovePBL ! Only above PBL? REAL(fp), INTENT(IN ), OPTIONAL :: DT ! Time step [s] ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry state TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diags State INTEGER, INTENT(INOUT) :: RC ! Success/Failure ! ! !REVISION HISTORY: ! 04 Mar 2015 - C. Keller - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I, J, L, L1, L2, N, D, NN, NA, nAdvect, S INTEGER :: DRYDEPID, previous_units INTEGER :: PBL_TOP, DRYD_TOP, EMIS_TOP REAL(fp) :: TS, TMP, FRQ, RKT, FRAC, FLUX, AREA_M2 REAL(fp) :: MWkg, DENOM LOGICAL :: FND LOGICAL :: PBL_DRYDEP, LINEAR_CHEM, ChemGridOnly LOGICAL :: LEMIS, LDRYD LOGICAL :: DryDepSpec, EmisSpec REAL(f8) :: DT_Tend ! PARANOX loss fluxes (kg/m2/s). These are obtained from the ! HEMCO PARANOX extension via the diagnostics module. REAL(fp) :: PNOXLOSS REAL(f4), POINTER :: Ptr2D (:,:) => NULL() REAL(f4), POINTER :: PNOXLOSS_O3 (:,:) REAL(f4), POINTER :: PNOXLOSS_HNO3(:,:) ! SAVEd scalars (defined on first call only) LOGICAL, SAVE :: FIRST = .TRUE. INTEGER, SAVE :: id_MACR, id_RCHO, id_ACET, id_ALD2 INTEGER, SAVE :: id_ALK4, id_C2H6, id_C3H8, id_CH2O INTEGER, SAVE :: id_PRPE, id_O3, id_HNO3, id_BrO INTEGER, SAVE :: id_Br2, id_Br, id_HOBr, id_HBr INTEGER, SAVE :: id_BrNO3, id_CO2 ! Pointers and objects TYPE(Species), POINTER :: SpcInfo REAL(fp), POINTER :: DepFreq(:,:,: ) ! IM, JM, nDryDep ! Strings CHARACTER(LEN=255) :: ErrMsg, ErrorMsg, ThisLoc #ifdef ADJOINT LOGICAL :: IS_ADJ #endif !================================================================= ! DO_TEND begins here! !================================================================= ! Assume success RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at DO_TEND (in module GeosCore/mixing_mod.F90)' ! Special case that there is no dry deposition and emissions IF ( .NOT. Input_Opt%LDRYD .AND. .NOT. Input_Opt%DoEmissions ) RETURN ! Initialize LINEAR_CHEM = Input_Opt%LINEAR_CHEM LEMIS = Input_Opt%DoEmissions LDRYD = Input_Opt%LDRYD PBL_DRYDEP = Input_Opt%PBL_DRYDEP nAdvect = State_Chm%nAdvect ! Initialize pointer SpcInfo => NULL() DepFreq => State_Chm%DryDepFreq PNOxLoss_O3 => NULL() PNOxLoss_HNO3 => NULL() !------------------------------------------------------------------------ ! Emissions/dry deposition budget diagnostics - Part 1 of 2 !------------------------------------------------------------------------ IF ( State_Diag%Archive_BudgetEmisDryDep ) THEN ! Get initial column masses (full, trop, PBL) CALL Compute_Budget_Diagnostics( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & isFull = State_Diag%Archive_BudgetEmisDryDepFull, & diagFull = NULL(), & mapDataFull = State_Diag%Map_BudgetEmisDryDepFull, & isTrop = State_Diag%Archive_BudgetEmisDryDepTrop, & diagTrop = NULL(), & mapDataTrop = State_Diag%Map_BudgetEmisDryDepTrop, & isPBL = State_Diag%Archive_BudgetEmisDryDepPBL, & diagPBL = NULL(), & mapDataPBL = State_Diag%Map_BudgetEmisDryDepPBL, & isLevs = State_Diag%Archive_BudgetEmisDryDepLevs, & diagLevs = NULL(), & mapDataLevs = State_Diag%Map_BudgetEmisDryDepLevs, & colMass = State_Diag%BudgetColumnMass, & before_op = .TRUE., & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Emissions/dry deposition budget diagnostics error 1' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF #if defined( ADJOINT ) && defined ( DEBUG ) IF (Input_Opt%is_adjoint .and. Input_Opt%IS_FD_SPOT_THIS_PET) THEN WRITE(*,*) ' SpcAdj(IFD,JFD) before unit converstion: ', & State_Chm%SpeciesAdj(Input_Opt%IFD, Input_Opt%JFD, & Input_Opt%LFD, Input_Opt%NFD) WRITE(*,*) ' Spc(IFD,JFD) before unit converstion: ', & State_Chm%Species(Input_Opt%NFD)%Conc(Input_Opt%IFD, Input_Opt%JFD, Input_Opt%LFD) ENDIF #endif ! Halt mixing timer (so that unit conv can be timed separately) IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "Boundary layer mixing", RC ) ENDIF ! DO_TEND previously operated in units of kg. The species arrays are in ! v/v for mixing, hence needed to convert before and after. ! Now use units kg/m2 as State_Chm%SPECIES units in DO_TEND to ! remove area-dependency (ewl, 9/30/15) CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & mapping = State_Chm%Map_Advect, & new_units = KG_SPECIES_PER_M2, & previous_units = previous_units, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Unit conversion error!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Start mixing timer again IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "Boundary layer mixing", RC ) ENDIF #if defined( ADJOINT ) && defined ( DEBUG ) IF (Input_Opt%is_adjoint .and. Input_Opt%IS_FD_SPOT_THIS_PET) THEN WRITE(*,*) ' SpcAdj(IFD,JFD) after unit converstion: ', & State_Chm%SpeciesAdj(Input_Opt%IFD, Input_Opt%JFD, & Input_Opt%LFD, Input_Opt%NFD) WRITE(*,*) ' Spc(IFD,JFD) after unit converstion: ', & State_Chm%Species(Input_Opt%NFD)%Conc(Input_Opt%IFD, Input_Opt%JFD, Input_Opt%LFD) ENDIF #endif ! Trap potential error IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Unit conversion error!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Get time step [s] IF ( PRESENT(DT) ) THEN TS = DT ELSE TS = GET_TS_DYN() ENDIF #ifdef ADJOINT if (Input_Opt%Is_Adjoint) then TS = TS * -1 endif #endif ! First-time setup IF ( FIRST ) THEN ! Define species indices on the first call id_MACR = Ind_('MACR' ) id_RCHO = Ind_('RCHO' ) id_ACET = Ind_('ACET' ) id_ALD2 = Ind_('ALD2' ) id_ALK4 = Ind_('ALK4' ) id_C2H6 = Ind_('C2H6' ) id_C3H8 = Ind_('C3H8' ) id_CH2O = Ind_('CH2O' ) id_CO2 = Ind_('CO2' ) id_PRPE = Ind_('PRPE' ) id_O3 = Ind_('O3' ) id_HNO3 = Ind_('HNO3' ) id_BrO = Ind_('BrO' ) id_Br2 = Ind_('Br2' ) id_Br = Ind_('Br' ) id_HOBr = Ind_('HOBr' ) id_HBr = Ind_('HBr' ) id_BrNO3= Ind_('BrNO3') FIRST = .FALSE. ENDIF ! On first call, get pointers to the PARANOX loss fluxes. These are ! stored in diagnostics 'PARANOX_O3_DEPOSITION_FLUX' and ! 'PARANOX_HNO3_DEPOSITION_FLUX'. The call below links pointers ! PNOXLOSS_O3 and PNOXLOSS_HNO3 to the data values stored in the ! respective diagnostics. The pointers will remain unassociated if ! the diagnostics do not exist. ! This is only needed if non-local PBL scheme is not being used. ! Otherwise, PARANOX fluxes are applied in vdiff_mod.F90. ! (ckeller, 4/10/2015) ! ! If using HEMCO Intermediate grid feature, then the call needs to be ! refreshed at every time step for regridding. (hplin, 6/21/20) IF ( .NOT. Input_Opt%LNLPBL ) THEN CALL HCO_GC_GetDiagn( Input_Opt, State_Grid, 'PARANOX_O3_DEPOSITION_FLUX', & .FALSE., RC, Ptr2D = Ptr2D ) IF( ASSOCIATED( Ptr2D )) THEN ALLOCATE ( PNOxLoss_O3( State_Grid%NX, State_Grid%NY ), STAT=RC ) PNOxLoss_O3(:,:) = Ptr2D(:,:) ENDIF Ptr2D => NULL() CALL HCO_GC_GetDiagn( Input_Opt, State_Grid, 'PARANOX_HNO3_DEPOSITION_FLUX',& .FALSE., RC, Ptr2D = Ptr2D ) IF( ASSOCIATED( Ptr2D )) THEN ALLOCATE ( PNOxLoss_HNO3( State_Grid%NX, State_Grid%NY ), STAT=RC ) PNOxLoss_HNO3(:,:) = Ptr2D(:,:) ENDIF Ptr2D => NULL() ENDIF !======================================================================= ! Do for every advected species and grid box !======================================================================= ! Note: For GEOS-Chem Classic HEMCO "Intermediate Grid" feature, ! where HEMCO is running on a distinct grid from the model, the ! on-demand regridding is most optimized when contiguous accesses ! to GetHcoValEmis and GetHcoValDep are performed for the given species. ! Therefore, it is most optimal to call in the following fashion (IJKN) ! Emis(1,1,1,1) -> Emis(1,1,2,1) -> ... -> Dep(1,1,1,1) -> Dep(1,1,2,1) ! By switching emis/dep or the species # LAST, as either of these changing ! WILL trigger a new regrid and thrashing of the old buffer. ! ! Therefore, the loop below has been adjusted to run serially for each ! species, and parallelizing the inner I, J loop instead (hplin, 6/27/20) ! Also, moved some non-I,J specific variables outside of the loop for optimization DO NA = 1, nAdvect ! Initialize PRIVATE error-handling variables ErrorMsg = '' ! Get the species ID from the advected species ID N = State_Chm%Map_Advect(NA) ! Get info about this species from the species database SpcInfo => State_Chm%SpcData(N)%Info ! Molecular weight in kg MWkg = SpcInfo%MW_g * 1.e-3_fp !-------------------------------------------------------------------- ! Check if we need to do dry deposition for this species !-------------------------------------------------------------------- ! Initialize DryDepSpec = .FALSE. DryDepID = -1 ! Only if dry deposition is turned on and we do want to consider ! processes below the PBL... IF ( LDRYD .AND. .NOT. OnlyAbovePBL ) THEN ! Get dry deposition ID (used by drydep_mod.F90) for this species. ! This is now stored in the species database object. (bmy, 7/6/16) DryDepID = SpcInfo%DryDepId ! Check if this is a HEMCO drydep species DryDepSpec = ( DryDepId > 0 ) IF ( .NOT. DryDepSpec ) THEN CALL InquireHco ( N, Dep=DryDepSpec ) ENDIF ! Special case for O3 or HNO3: include PARANOX loss IF ( N == id_O3 .AND. ASSOCIATED(PNOXLOSS_O3 ) ) & DryDepSpec = .TRUE. IF ( N == id_HNO3 .AND. ASSOCIATED(PNOXLOSS_HNO3) ) & DryDepSpec = .TRUE. ENDIF ! Set emissions top level: ! This is the top of atmosphere unless concentration build-up ! in stratosphere wants to be avoided. ChemGridOnly = .FALSE. ! Set emissions to zero above chemistry grid for the following VOCs IF ( N == id_MACR .OR. N == id_RCHO .OR. & N == id_ACET .OR. N == id_ALD2 .OR. & N == id_ALK4 .OR. N == id_C2H6 .OR. & N == id_C3H8 .OR. N == id_CH2O .OR. & N == id_PRPE ) THEN ChemGridOnly = .TRUE. ENDIF ! Bry concentrations become prescribed in lin. strat. chemistry. ! Therefore avoid any emissions of these compounds above the ! chemistry grid (lin. strat. chem. applies above chemistry grid ! only). IF ( LINEAR_CHEM ) THEN IF ( N == id_BrO .OR. N == id_Br2 .OR. & N == id_Br .OR. N == id_HOBr .OR. & N == id_HBr .OR. N == id_BrNO3 ) THEN ChemGridOnly = .TRUE. ENDIF ENDIF !-------------------------------------------------------------------- ! Check if we need to do emissions for this species !-------------------------------------------------------------------- IF ( LEMIS ) THEN CALL InquireHco ( N, Emis=EmisSpec ) ELSE EmisSpec = .FALSE. ENDIF ! If there is emissions for this species, it must be loaded into memory first. ! This is achieved by attempting to retrieve a grid box while NOT in a parallel ! loop. Failure to load this will result in severe performance issues!! (hplin, 9/27/20) IF ( EmisSpec ) THEN CALL LoadHcoValEmis ( Input_Opt, State_Grid, N ) ENDIF IF ( DryDepSpec ) THEN CALL LoadHcoValDep ( Input_Opt, State_Grid, N ) ENDIF !-------------------------------------------------------------------- ! Can go to next species if this species does not have ! dry deposition and/or emissions !-------------------------------------------------------------------- IF ( .NOT. DryDepSpec .AND. .NOT. EmisSpec ) CYCLE !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, L1, L2 ) & !$OMP PRIVATE( PBL_TOP, FND, TMP ) & !$OMP PRIVATE( FRQ, RKT, FRAC, FLUX, Area_m2 ) & !$OMP PRIVATE( DRYD_TOP, EMIS_TOP, PNOXLOSS, DENOM ) & !$OMP PRIVATE( S, ErrorMsg ) ! Loop over all grid boxes DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX !----------------------------------------------------------------- ! Define various quantities before computing tendencies !----------------------------------------------------------------- ! Get PBL_TOP at this grid box PBL_TOP = MAX( 1, FLOOR( State_Met%PBL_TOP_L(I,J) ) ) ! Determine lower level L1 to be used: ! If specified so, apply emissions only above the PBL_TOP. ! This will also disable dry deposition. IF ( OnlyAbovePBL ) THEN L1 = PBL_TOP + 1 ELSE L1 = 1 ENDIF ! Set dry deposition top level based on PBL_DRYDEP flag of ! Input_Opt. IF ( PBL_DRYDEP ) THEN DRYD_TOP = PBL_TOP ELSE DRYD_TOP = 1 ENDIF ! Restrict to chemistry grid IF ( ChemGridOnly ) THEN EMIS_TOP = State_Met%ChemGridLev(I,J) EMIS_TOP = MIN(State_Grid%NZ,EMIS_TOP) ELSE EMIS_TOP = State_Grid%NZ ENDIF ! L2 is the upper level index to loop over L2 = MAX(DRYD_TOP, EMIS_TOP) ! This should not happen: IF ( L2 < L1 ) CYCLE ! Loop over selected vertical levels DO L = L1, L2 !-------------------------------------------------------------- ! Apply dry deposition frequencies to all levels below the ! PBL top. !-------------------------------------------------------------- IF ( DryDepSpec .AND. ( L <= DRYD_TOP ) ) THEN ! Init FRQ = 0.0_fp ! Dry deposition frequency from drydep_mod.F90. This is ! stored in State_Chm%DryDepFreq. Units are [s-1]. IF ( DRYDEPID > 0 ) THEN FRQ = DepFreq(I,J,DRYDEPID) ENDIF ! Dry deposition frequency from HEMCO. HEMCO calculates ! dry deposition frequencies for air-sea exchange and ! from ship NOx plume parameterization (PARANOx). The ! units are [s-1]. CALL GetHcoValDep ( Input_Opt, State_Grid, N, I, J, 1, FND, TMP ) ! Add to dry dep frequency from drydep_mod.F90 IF ( FND ) FRQ = FRQ + TMP ! Get PARANOX deposition loss. Apply to surface level only. ! PNOXLOSS is in kg/m2/s. (ckeller, 4/10/15) PNOXLOSS = 0.0_fp IF ( L == 1 ) THEN IF ( N == id_O3 .AND. ASSOCIATED(PNOXLOSS_O3) ) THEN PNOXLOSS = PNOXLOSS_O3(I,J) ENDIF IF ( N == id_HNO3 .AND. ASSOCIATED(PNOXLOSS_HNO3) ) THEN PNOXLOSS = PNOXLOSS_HNO3(I,J) ENDIF ENDIF ! Apply dry deposition IF ( FRQ > 0.0_fp .OR. PNOXLOSS > 0.0_fp ) THEN ! Compute exponential loss term RKT = FRQ * TS FRAC = EXP(-RKT) ! Loss in kg/m2 FLUX = ( 1.0_fp - FRAC ) * State_Chm%Species(N)%Conc(I,J,L) ! Apply dry deposition State_Chm%Species(N)%Conc(I,J,L) = FRAC * & State_Chm%Species(N)%Conc(I,J,L) #ifdef ADJOINT if (Input_Opt%Is_Adjoint) then State_Chm%SpeciesAdj(I,J,L,N) = FRAC * & State_Chm%SpeciesAdj(I,J,L,N) endif #endif ! Eventually add PARANOX loss. PNOXLOSS is in kg/m2/s. ! Make sure PARANOx loss is applied to tracers. (ckeller, ! 3/29/16). IF ( PNOXLOSS > 0 ) THEN State_Chm%Species(N)%Conc(I,J,L) = & State_Chm%Species(N)%Conc(I,J,L) - ( PNOXLOSS * TS ) FLUX = FLUX + ( PNOXLOSS * TS ) ENDIF ! Loss in [molec/cm2/s] ! Added a safe_div due to small parallelization error ! (mdy, 5/15) ! ! NOTE: The original computation was: ! FLUX = FLUX / MWkg * AVO / TS / ( AREA_M2 * 1.0e4_fp ) ] ! so the denominator as we had it was wrong. ! Now corrected (elundgren, bmy, 6/12/15) DENOM = ( MWkg * TS * 1.0e+4_fp ) / AVO FLUX = SAFE_DIV( FLUX, DENOM, 0.0e+0_fp ) ! molec/cm2/s ! Eventually add to SOIL_DRYDEP IF ( Input_Opt%LSOILNOX ) THEN CALL SOIL_DRYDEP( I, J, N, FLUX, State_Chm ) ENDIF !-------------------------------------------------------- ! HISTORY: Archive drydep flux loss from mixing ! Units = molec/cm2/s ! ! NOTE: we don't need to multiply by the ratio of ! TS_CONV / TS_CHEM, as the updating frequency for ! HISTORY is determined by the "frequency" setting in ! the "HISTORY.rc" input file. !-------------------------------------------------------- IF ( ( State_Diag%Archive_DryDepMix .or. & State_Diag%Archive_DryDep ) .and. & DryDepID > 0 ) THEN S = State_Diag%Map_DryDepMix%id2slot(DryDepID) IF ( S > 0 ) THEN State_Diag%DryDepMix(I,J,S) = Flux ENDIF ENDIF ENDIF ! apply drydep ENDIF ! L <= PBLTOP !-------------------------------------------------------------- ! Apply emissions. ! These are always taken from HEMCO !-------------------------------------------------------------- IF ( EmisSpec .AND. ( L <= EMIS_TOP ) ) THEN ! Get HEMCO emissions. Units are [kg/m2/s]. ! Fix hplin: for intermediate grid, pass SkipCheck in a tight loop. Note that this assumes that adjacent ! calls to GetHcoValEmis are from the same species ID, or there will be big trouble. (hplin, 10/10/20) #ifdef MODEL_CLASSIC IF ( Input_Opt%LIMGRID ) THEN FND = .true. TMP = TMP_MDL(I,J,L) ! this is a kludge for the tight loop optimization ELSE #endif CALL GetHcoValEmis ( Input_Opt, State_Grid, N, I, J, L, FND, TMP, SkipCheck=.true. ) #ifdef MODEL_CLASSIC ENDIF #endif ! Add emissions (if any) ! Bug fix: allow negative fluxes. (ckeller, 4/12/17) !IF ( FND .AND. (TMP > 0.0_fp) ) THEN IF ( FND ) THEN ! Flux: [kg/m2] = [kg m-2 s-1 ] x [s] FLUX = TMP * TS #ifdef ADJOINT IF ( I .eq. Input_Opt%IFD .and. J .eq. Input_Opt%JFD .and. & L .eq. Input_Opt%LFD .and. N .eq. Input_Opt%NFD) THEN WRITE(*,*) ' GetHcoVal(IFD,JFD) = ', TMP, ' FLUX = ', FLUX IF ( Input_Opt%is_adjoint ) THEN WRITE(*,*) ' SpeciesAdj(FD) = ', State_Chm%SpeciesAdj(I,J,L,N) ENDIF ENDIF #endif ! Add to species array State_Chm%Species(N)%Conc(I,J,L) = & State_Chm%Species(N)%Conc(I,J,L) + FLUX ENDIF ENDIF ! Check for negative concentrations IF ( State_Chm%Species(N)%Conc(I,J,L) < 0.0_fp ) THEN #ifdef TOMAS ! For TOMAS simulations only, look for negative and reset ! to small positive. This prevents the run from dying, ! while we look for the root cause of the issue. ! -- Betty Croft, Bob Yantosca (21 Jan 2022) print *, 'Found negative ', N, State_Chm%Species(N)%Conc(I,J,L) State_Chm%Species(N)%Conc(I,J,L) = 1e-26_fp #else IF ( N /= id_CO2 ) THEN Print*, 'WARNING: Negative concentration for species ', & TRIM( SpcInfo%Name), ' at (I,J,L) = ', I, J, L ErrorMsg = 'Negative species concentations encountered.'// & ' This may be fixed by increasing the' // & ' background concentration or by shortening' // & ' the transport time step.' RC = GC_FAILURE ENDIF #endif ENDIF ENDDO !L ENDDO !J ENDDO !I !$OMP END PARALLEL DO ! Exit with error condition IF ( RC /= GC_SUCCESS ) THEN CALL GC_Error( ErrorMsg, RC, ThisLoc ) RETURN ENDIF ! Nullify pointer SpcInfo => NULL() ENDDO !N #if defined( ADJOINT ) && defined ( DEBUG ) IF (Input_Opt%is_adjoint .and. Input_Opt%IS_FD_SPOT_THIS_PET) THEN WRITE(*,*) ' SpcAdj(IFD,JFD) before unit converstion: ', & State_Chm%SpeciesAdj(Input_Opt%IFD, Input_Opt%JFD, & Input_Opt%LFD, Input_Opt%NFD) WRITE(*,*) ' Spc(IFD,JFD) before unit converstion: ', & State_Chm%Species(Input_Opt%NFD)%Conc(Input_Opt%IFD, Input_Opt%JFD, Input_Opt%LFD) ENDIF #endif ! Halt mixing timer (so that unit conv can be timed separately) IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "Boundary layer mixing", RC ) ENDIF ! Convert State_Chm%Species back to original units CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & mapping = State_Chm%Map_Advect, & new_units = previous_units, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Unit conversion error!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Start mixing timer again IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "Boundary layer mixing", RC ) ENDIF #if defined( ADJOINT ) && defined ( DEBUG ) IF (Input_Opt%is_adjoint .and. Input_Opt%IS_FD_SPOT_THIS_PET) THEN WRITE(*,*) ' SpcAdj(IFD,JFD) after unit converstion: ', & State_Chm%SpeciesAdj(Input_Opt%IFD, Input_Opt%JFD, & Input_Opt%LFD, Input_Opt%NFD) WRITE(*,*) ' Spc(IFD,JFD) after unit converstion: ', & State_Chm%Species(Input_Opt%NFD)%Conc(Input_Opt%IFD, Input_Opt%JFD, Input_Opt%LFD) ENDIF #endif !------------------------------------------------------------------------ ! Emissions/dry deposition budget diagnostics - Part 2 of 2 !------------------------------------------------------------------------ IF ( State_Diag%Archive_BudgetEmisDryDep ) THEN ! Timestep for diagnostics [s] DT_Tend = DBLE( TS ) ! Compute change in column masses (after emis/dryd - before emis/dryd) ! and store in diagnostic arrays. Units are [kg/s]. CALL Compute_Budget_Diagnostics( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & isFull = State_Diag%Archive_BudgetEmisDryDepFull, & diagFull = State_Diag%BudgetEmisDryDepFull, & mapDataFull = State_Diag%Map_BudgetEmisDryDepFull, & isTrop = State_Diag%Archive_BudgetEmisDryDepTrop, & diagTrop = State_Diag%BudgetEmisDryDepTrop, & mapDataTrop = State_Diag%Map_BudgetEmisDryDepTrop, & isPBL = State_Diag%Archive_BudgetEmisDryDepPBL, & diagPBL = State_Diag%BudgetEmisDryDepPBL, & mapDataPBL = State_Diag%Map_BudgetEmisDryDepPBL, & isLevs = State_Diag%Archive_BudgetEmisDryDepLevs, & diagLevs = State_Diag%BudgetEmisDryDepLevs, & mapDataLevs = State_Diag%Map_BudgetEmisDryDepLevs, & colMass = State_Diag%BudgetColumnMass, & timeStep = DT_Tend, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Emissions/dry deposition budget diagnostics error 2' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF ! Free pointers DepFreq => NULL() IF ( ASSOCIATED( PNOxLoss_O3 ) ) DEALLOCATE( PNOxLoss_O3 ) IF ( ASSOCIATED( PNOxLoss_HNO3 ) ) DEALLOCATE( PNOxLoss_HNO3 ) PNOxLoss_O3 => NULL() PNOxLoss_HNO3 => NULL() END SUBROUTINE DO_TEND !EOC END MODULE MIXING_MOD ================================================ FILE: GeosCore/modis_lai_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: modis_lai_mod.F90 ! ! !DESCRIPTION: Module MODIS\_LAI\_MOD reads the MODIS LAI data at ! native resolution and then regrids them to the GEOS-Chem resolution on the ! fly. ! ! !INTERFACE: ! MODULE Modis_Lai_Mod ! ! !USES: ! USE Precision_Mod IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: Get_XlaiNative_from_Hemco PUBLIC :: Compute_Xlai ! ! !REMARKS: ! (1) MODIS LAI data resolution is the same as the Olson land map. The Olson ! 2001 landmap is the default, therefore, you will use MODIS LAI data at ! 0.25 x 0.25 resolution. ! (2) In HEMCO, MEGAN uses 'offline' MODIS LAI (State_Met%MODISLAI) which ! is computed in this module. ! in an ESMF environment, in which case State_Met%LAI is used instead. ! (3) MODIS LAI arrays and where they are used in GEOS-Chem: ! (a) State_Met%XLAI --> dry deposition routine DEPVEL ! (b) State_Met%MODISLAI --> MEGAN (if using standard GC); Hg(0) ! emissions; several diagnostics ! ! !REVISION HISTORY: ! 03 Apr 2012 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: get_xlainative_from_hemco ! ! !DESCRIPTION: Copies the MODIS XLAI data from HEMCO pointers into ! the State\_Met object. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Get_XlaiNative_from_HEMCO( Input_Opt, State_Grid, State_Met, RC ) ! ! !USES: ! USE CMN_SIZE_Mod, ONLY : NSURFTYPE USE ErrCode_Mod USE HCO_Utilities_GC_Mod, ONLY : HCO_GC_EvalFld USE Input_Opt_Mod, ONLY : OptInput USE State_Met_Mod, ONLY : MetState USE State_Grid_Mod, ONLY : GrdState USE Time_Mod, ONLY : ITS_A_NEW_DAY ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(GrdState), INTENT(INOUT) :: State_Grid TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REVISION HISTORY: ! 14 Feb 2019 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: T LOGICAL :: FND ! Strings CHARACTER(LEN=6) :: Name CHARACTER(LEN=255) :: ErrMsg, ThisLoc !======================================================================== ! Get_XlaiNative_from_HEMCO begins here! !======================================================================== ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = & ' -> at Get_XLAI_From_HEMCO (in module GeosCore/modis_lai_mod.F90)' ! Loop over the # of Olson land types DO T = 1, NSURFTYPE ! Get the HEMCO pointer to the LAI for each Olson type ! (variable names are XLAI00, XLAI01, .. XLAI72) WRITE( Name, 100 ) T-1 100 FORMAT( 'XLAI' , i2.2 ) CALL HCO_GC_EvalFld( Input_Opt, State_Grid, Name, State_Met%XLAI_NATIVE(:,:,T), RC, FOUND=FND ) ! Trap potential errors IF ( RC /= GC_SUCCESS .or. .not. FND ) THEN ErrMsg = 'Could not read HEMCO field: ' // TRIM( Name ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDDO END SUBROUTINE Get_XlaiNative_from_HEMCO !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: compute_xlai ! ! !DESCRIPTION: Subroutine COMPUTE\_XLAI computes MODIS-based leaf ! area indices (LAI) per land type and grid cell. This computation uses ! offline 0.25x0.25 MODIS LAI and Olson landmap data regridded to ! the cubed sphere. Variables set include State\_Met%XLAI. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Compute_Xlai( Input_Opt, State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE Time_Mod, ONLY : Its_A_New_Day ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! State_Met%XLAI_NATIVE is the LAI data as it comes in from either HEMCO ! or the MAPL import state via ExtData. ! . ! State_Met%XLAI is used for inputs into the GEOS-Chem dry deposition code. ! It is the LAI binned into the 11 dry-deposition land types. ! . ! State_Met%MODISLAI is the average LAI per grid box, averaged over all ! land types. This is needed for the HEMCO soil NOx extension. ! ! !REVISION HISTORY: ! 18 Oct 2016 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I, J, S, T REAL(fp) :: landFrac !====================================================================== ! Initialize !====================================================================== ! Initialize RC = GC_SUCCESS State_Met%XLAI = 0.0_fp State_Met%MODISLAI = 0.0_fp ! Loop over all grid cells DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Zero for safety's sake landFrac = 0.0_fp ! Loop over all surface types present in this grid cell DO S = 1, State_Met%IREG(I,J) ! Set current surface type index T = State_Met%ILAND(I,J,S) + 1 ! Get fraction of cell with this surface type by retrieving it ! from the land type fraction calculated by ExtData landFrac = State_Met%LandTypeFrac(I,J,T) ! Set XLAI to average LAI for this surface type ( as calculated ! by ExtData using zeros for coverage by other surface types ) ! divided by the fractional coverage of this surface type. ! The resultant XLAI is the average LAI for only the area ! with the current surface type, and therefore is larger than ! XLAI_NATIVE when other surface types exist within the cell. ! ! NOTE: Unlike XLAI_NATIVE and LandTypeFrac, the 3rd ! dimension indexes of XLAI are NOT surface types 1-73! Instead, ! It is the surface indexes ILAND-1 and therefore contains ! zeros beyond the number of surface types present in the cell ! (IREG). This is for backwards compatibility with GC classic ! legacy drydep code. IF ( landFrac .gt. 1.e-9_fp ) THEN State_Met%XLAI(I,J,S) = State_Met%XLAI_NATIVE(I,J,T) / landFrac ENDIF ENDDO ! Calculate average LAI for this grid cell across all land types State_Met%MODISLAI(I,J) = SUM( State_Met%XLAI_NATIVE(I,J,:) ) ENDDO ENDDO END SUBROUTINE Compute_XLAI !EOC END MODULE Modis_Lai_Mod ================================================ FILE: GeosCore/ocean_mercury_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: ocean_mercury_mod.F90 ! ! !DESCRIPTION: Module OCEAN\_MERCURY\_MOD contains variables and routines ! needed to compute the oceanic flux of mercury. Original code by Sarah ! Strode at UWA/Seattle. (sas, bmy, 1/21/05, 4/17/06) !\\ !\\ ! !INTERFACE: ! MODULE OCEAN_MERCURY_MOD ! ! !USES: ! USE inquireMod, ONLY : findFreeLUN USE PRECISION_MOD, ONLY : fpp => fp ! For GEOS-Chem Precision (fpp) USE PRECISION_MOD, ONLY : f4 ! Rename to avoid conflicts USE PRECISION_MOD, ONLY : f8 IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: INIT_OCEAN_MERCURY PUBLIC :: CLEANUP_OCEAN_MERCURY PUBLIC :: OCEAN_MERCURY_FLUX PUBLIC :: LDYNSEASALT, LGCAPEMIS, LPOLARBR, LBRCHEM, LBROCHEM PUBLIC :: L_ADD_MBL_BR PUBLIC :: LGEIA05 PUBLIC :: LVEGEMIS PUBLIC :: LGEOSLWC PUBLIC :: LHALOGENCHEM PUBLIC :: LHGAQCHEM PUBLIC :: LRED_CLOUDONLY PUBLIC :: LHg2HalfAerosol PUBLIC :: STRAT_BR_FACTOR, LAnthroHgOnly PUBLIC :: LOHO3CHEM, LnoUSAemis PUBLIC :: LGCBROMINE PUBLIC :: READ_HG2_PARTITIONING PUBLIC :: Fp, Fg PUBLIC :: LNEI2005 PUBLIC :: LInPlume PUBLIC :: LOCEANCOEF ! ! !REMARKS: ! References: ! ============================================================================ ! (1 ) Xu et al (1999). Formulation of bi-directional atmosphere-surface ! exchanges of elemental mercury. Atmospheric Environment ! 33, 4345-4355. ! (2 ) Nightingale et al (2000). In situ evaluation of air-sea gas exchange ! parameterizations using novel conservative and volatile tracers. ! Global Biogeochemical Cycles, 14, 373-387. ! (3 ) Lin and Tau (2003). A numerical modelling study on regional mercury ! budget for eastern North America. Atmos. Chem. Phys. Discuss., ! 3, 983-1015. And other references therein. ! (4 ) Poissant et al (2000). Mercury water-air exchange over the upper St. ! Lawrence River and Lake Ontario. Environ. Sci. Technol., 34, ! 3069-3078. And other references therein. ! (5 ) Wangberg et al. (2001). Estimates of air-sea exchange of mercury in ! the Baltic Sea. Atmospheric Environment 35, 5477-5484. ! (6 ) Clever, Johnson and Derrick (1985). The Solubility of Mercury and some ! sparingly soluble mercury salts in water and aqueous electrolyte ! solutions. J. Phys. Chem. Ref. Data, Vol. 14, No. 3, 1985. ! (7 ) Sunderland, E. M. and R. Mason (2007), Human impacts on open ! ocean mercury concentrations, Global Biogeochemical Cycles, 21, GB4022, ! doi:10.1029/2006GB002876, 2007. ! (8 ) Corbitt, E.S. et al. (2011), Global source-receptor relationsihps for ! mercury deposition under present-day and 2050 emissions scenarios, ! Environ. Sci. Technol., 45, 10477-10484, 2011. ! (9 ) Toole, J. M. et al. (2010), Influences of the ocean surface mixed layer ! and thermohaline stratification on Arctic Sea ice in the central ! Canada Basin, J. Geophys. Res., 115, C10018, doi:10.1029/2009JC005660. ! ! Nomenclature: ! ============================================================================ ! (1 ) Hg(0) a.k.a. Hg0 : Elemental mercury ! (2 ) Hg(II) a.k.a. Hg2 : Divalent mercury ! (3 ) HgP : Particulate mercury ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !PRIVATE TYPES: ! !============================================================================ ! Hg_RST_FILE : Name of restart file with ocean tracers ! Hg2aq_tot : Total Hg2 conc. in the mixed layer [kg ] ! DD_Hg2 : Array for Hg(II) dry dep'd to ocean [kg ] ! Hgaq_tot : Total Hg conc. in the mixed layer [kg ] ! Hg0aq : Array for ocean mass of Hg(0) [kg ] ! Hg2aq : Array for ocean mass of Hg(II) [kg ] ! HgPaq : Array for ocean mass of HgP [kg ] ! dMLD : Array for Change in ocean MLD [cm ] ! MLD : Array for instantaneous ocean MLD [cm ] ! MLDav : Array for monthly mean ocean MLD [cm ] ! newMLD : Array for next month's ocean MLD [cm ] ! NPP : Array for mean net primary prod. [unitless] ! RAD : Array for mean solar radiation [W/m2 ] ! UPVEL : Array for ocean upwelling velocity [m/s ] ! WD_Hg2 : Array for Hg(II) wet dep'd to ocean [kg ] ! CHL : Chl surface concentration [mg(m3 ] ! CDEEPATL : Conc. Hg0, Hg2, HgP below MLD-Atl [pM ] ! CDEEP : Conc. of Hg0, Hg2, HgP below MLD [pM ] ! CDEEPNAT : Conc. Hg0, Hg2, HgP below MLD-NAtl [pM ] ! CDEEPSAT : Conc. Hg0, Hg2, HgP below MLD-SAtl [pM ] ! CDEEPANT : Conc. Hg0, Hg2, HgP below MLD-Ant [pM ] ! CDEEPARC : Conc. Hg0, Hg2, HgP below MLD-Arc [pM ] !============================================================================ ! Scalars LOGICAL :: USE_CHECKS ! Parameters REAL*4, PARAMETER :: MAX_RELERR = 5.0d-2 REAL*4, PARAMETER :: MAX_ABSERR = 5.0d-3 REAL*4, PARAMETER :: MAX_FLXERR = 5.0d-1 REAL(fpp) :: CDEEP(3) REAL(fpp) :: CDEEPATL(3) REAL(fpp) :: CDEEPNAT(3) REAL(fpp) :: CDEEPSAT(3) REAL(fpp) :: CDEEPANT(3) REAL(fpp) :: CDEEPARC(3) REAL(fpp) :: CDEEPNPA(3) ! For Arctic rivers (jaf, 12/8/11) REAL(fpp) :: RIVERFLOW(12) REAL(fpp) :: dFLOW REAL(fpp) :: dFLOW1 REAL(fpp) :: dFLOW2 REAL(fpp) :: FLOWNOW ! Private arrays REAL(fpp), ALLOCATABLE :: Hgaq_tot(:,:) REAL(fpp), ALLOCATABLE :: dMLD(:,:) REAL(fpp), ALLOCATABLE :: HgPaq_SUNK(:,:) REAL(fpp), ALLOCATABLE :: MLDav(:,:) REAL(fpp), ALLOCATABLE :: newMLD(:,:) REAL(fpp), ALLOCATABLE :: prevMLD(:,:) REAL(fpp), ALLOCATABLE :: RAD(:,:) ! added by hma for Hg2 partitioning REAL(fpp), ALLOCATABLE :: BULK_CONC(:,:,:) REAL(fpp), ALLOCATABLE :: Fp(:,:,:) REAL(fpp), ALLOCATABLE :: Fg(:,:,:) REAL(fpp), ALLOCATABLE :: SO4_GC(:,:,:) REAL(fpp), ALLOCATABLE :: NH4_CONC(:,:,:) REAL(fpp), ALLOCATABLE :: NIT_CONC(:,:,:) REAL(fpp), ALLOCATABLE :: OC_CONC(:,:,:) REAL(fpp), ALLOCATABLE :: BC_CONC(:,:,:) REAL(fpp), ALLOCATABLE :: DST_CONC(:,:,:) REAL(fpp), ALLOCATABLE :: R(:,:,:) REAL(fpp), ALLOCATABLE :: SO4_WAC(:,:,:) REAL(fpp), ALLOCATABLE :: SO4_CONC(:,:,:) ! For IAV in NPP (jaf, 3/19/13) REAL(fpp) :: NPP_SCF ! Logical switches for the mercury simulation, all of which are ! set in INIT_MERCURY (cdh, 9/1/09) LOGICAL :: LDYNSEASALT, LGCAPEMIS, LPOLARBR, LBRCHEM, LBROCHEM LOGICAL :: L_ADD_MBL_BR, LRED_CLOUDONLY LOGICAL :: LGEIA05 LOGICAL :: LVEGEMIS LOGICAL :: LGEOSLWC LOGICAL :: LHALOGENCHEM LOGICAL :: LHGAQCHEM LOGICAL :: LHg2HalfAerosol LOGICAL :: LAnthroHgOnly, LOHO3CHEM LOGICAL :: LGCBROMINE LOGICAL :: LnoUSAemis LOGICAL :: LNEI2005, LInPlume LOGICAL :: LOCEANCOEF REAL(fpp) :: STRAT_BR_FACTOR ! CDH Set this TRUE to use corrected area-flux relationship ! Set this to FALSE to use original Strode et al. (2007) model LOGICAL, PARAMETER :: LOCEANFIX=.TRUE. ! CDH average ocean area per grid box: 1.67d11 m2/box ! used when eliminating AREA * FRAC_O REAL(fpp), PARAMETER :: FUDGE=1.67e+11_fpp ! Pointers to fields in the HEMCO data structure. ! These need to be declared REAL(f4), aka REAL*4. ! NOTE: We can declare these NULL here because ! these are SAVED global pointers (bmy, 4/29/16) REAL(f4), POINTER :: CHL (:,:) => NULL() REAL(f4), POINTER :: CHL_A (:,:) => NULL() REAL(f4), POINTER :: MLD (:,:) => NULL() REAL(f4), POINTER :: NPP (:,:) => NULL() REAL(f4), POINTER :: NPP_A (:,:) => NULL() REAL(f4), POINTER :: UPVEL (:,:) => NULL() REAL(f4), POINTER :: dMLD1 (:,:) => NULL() REAL(f4), POINTER :: dMLD2 (:,:) => NULL() CONTAINS !EOC !------------------------------------------------------------------------- ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: read_hg2_partitioning ! ! !DESCRIPTION: Subroutine READ\_HG2\_PARTITIONING calculates the fractions of ! Hg(II) is the particle gas phases. !\\ !\\ ! !INTERFACE: ! SUBROUTINE READ_HG2_PARTITIONING( Input_Opt, State_Grid, State_Met, & THISMONTH, RC ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD, ONLY : GEOS_CHEM_STOP, ERROR_STOP USE HCO_State_GC_Mod, ONLY : HcoState USE HCO_EmisList_Mod, ONLY : HCO_GetPtr USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object INTEGER, INTENT(IN) :: THISMONTH ! Current month ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! Description of gas-particle partitioning of Hg2 ! =========================================================================== ! ! References: ! (1) Yamasaki et al (1982). Effects of Ambient Temperature on Aspects of ! Airbone Polycyclic Aromatic Hydrocarbons, Env Sci & Tech ! (2) Pankow (1994). An Absorption Model of Gas/Particle Partitioning of ! Organic Comounds in the Atmosphere, Atmos Env ! (3) Rutter and Schauer (2007). The effect of temperature on the gas- ! particle partitioning of reactive mercury in atmospheric aerosols, ! Atmos Env ! (4) Vijayaraghavan et al (2008). Plume-in-grid modeling of atmopsheric ! mercury ! (5) Amos et al. (2012, ACPD). Gas-particle partitioning of Hg(II) ! and its effect on global mercury deposition ! ! Ratio of reactive mercury adsorbed onto particulate matter to reactive ! mercury in the gas phase: ! ! (PHg,ads)/RGM = 10^(b/T - a)* PM ! ! PHg,ads = adsorbed RGM (pg m^-3) ! RGM = reactive gaseous mercury (pg m^-3) ! T = temperature (K) ! PM = ambient aerosol concentration (ug m^-3) ! b = slope from simple linear regression ! a = y-intercept from simple linear regression ! ! Aerosol concentrations are being taken from a GEOS-Chem v8-02-03, ! GEOS-5, 4x5, full-chem simulation run for 2007 by Lin Zhang. The units ! reported by GEOS-Chem are ppb for aerosol mixing ratio (IJ-AVG-$). ! Units must be converted from mol/mol to ug/m3. ! ! Converting aerosol concentration ppbv --> ug/m3: ! ( Modeled after SUBROUTINE CONVER_UNITS in dao_mod.f ) ! ! 1 ppbv = 1e-9 mol/mol ! AIRDEN = air density, [kg/m3] ! CU = aerosol molecular weight / molecular weight of air ! = [(aero kg/mol) / (air kg/mol)] ! ! aero mol air kg aero kg/mol 1e9 ug ! PM = ---------- x ------- x ------------ x ------- ! air mol air m3 air kg/mol kg ! ! PM = (IJ-AVG-$) * AIRDEN * CU ! ! The objective of this subroutine is to determine the fraction of reactive ! mercury in the gas-phase (Fg) and the fraction in the particle-phase (Fp). ! That can be done easily once R is calculated, where R is the ratio of ! particle to gas: ! ! R = (HgP,ads)/RGM (unitless) ! Fg = 1/(R + 1) (unitless) ! Fp = 1 - Fg *or* = R/(R + 1) (unitless) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Pointers to fields in the HEMCO data structure ! These have to be declared REAL(f4), aka REAL*4. REAL(f4), POINTER :: ARRAYso4 (:,:,:) REAL(f4), POINTER :: ARRAYnit (:,:,:) REAL(f4), POINTER :: ARRAYnh4 (:,:,:) REAL(f4), POINTER :: ARRAYbcpi(:,:,:) REAL(f4), POINTER :: ARRAYocpi(:,:,:) REAL(f4), POINTER :: ARRAYbcpo(:,:,:) REAL(f4), POINTER :: ARRAYocpo(:,:,:) REAL(f4), POINTER :: ARRAYdst1(:,:,:) ! Arrays to hold bulk concentration and surface area REAL(f4) :: ARRAYtemp(State_Grid%NX,State_Grid%NY,State_Grid%NZ) REAL(f4) :: ARRAYconc(State_Grid%NX,State_Grid%NY,State_Grid%NZ) ! Scalars INTEGER :: I, J, L, NN, LL CHARACTER(LEN=155) :: FILENAME CHARACTER(LEN=2) :: MON ! for months 10-12 CHARACTER(LEN=1) :: SMON ! for months 1-9 REAL(fpp), PARAMETER :: TINY = 1e-16_fpp ! to prevent NaN REAL(fpp), DIMENSION(5) :: AERO_MW ! aerosol molec weights REAL(fpp) :: AIR_MW = 2.897e-02_fpp ! avg molec weight of air REAL(fpp), DIMENSION(5) :: CU ! ratio of aerosol/air MW ! Strings CHARACTER(LEN=255) :: LOC = 'READ_HG2_PARTITIONING (ocean_mercury_mod.F90)' !================================================================= ! READ_HG2_PARTITIONING begins here! !================================================================= ! Assume success RC = GC_SUCCESS ! Initialize pointers ARRAYso4 => NULL() ! so4 ARRAYnit => NULL() ! nit ARRAYnh4 => NULL() ! nh4 ARRAYbcpi => NULL() ! bcpi ARRAYocpi => NULL() ! ocpi ARRAYbcpo => NULL() ! bcpo ARRAYocpo => NULL() ! ocpo ARRAYdst1 => NULL() ! dst1 !----------------------------------------! ! Molecular weights, for unit conversion ! !----------------------------------------! ! aerosol molecular weights, [kg/mol] AERO_MW(1) = 9.6e-02_fpp ! SO4, SO4s AERO_MW(2) = 1.2e-02_fpp ! OC, BC AERO_MW(3) = 6.2e-02_fpp ! NIT, NITs AERO_MW(4) = 1.8e-02_fpp ! NH4 AERO_MW(5) = 2.9e-02_fpp ! DST ! ratio of aerosol molecular weight / air molecular weight CU = AERO_MW / AIR_MW ! [kg aerosol / kg air] !------------------------------------------------------! ! Put aerosol mixing ratio (mol/mol) into arrays. !------------------------------------------------------! !--------------------------- ! Read SO4 from HEMCO !--------------------------- CALL HCO_GetPtr( HcoState, 'AERO_SO4', ARRAYso4, RC ) IF ( RC /= GC_SUCCESS ) THEN CALL ERROR_STOP ( 'Cannot get pointer to AERO_SO4', LOC ) ENDIF ! convert REAL*4 to REAL(fpp) SO4_GC(:,:,1:State_Met%MaxChemLev) = ARRAYso4(:,:,1:State_Met%MaxChemLev) !--------------------------- ! Read NH4 from HEMCO !--------------------------- CALL HCO_GetPtr( HcoState, 'AERO_NH4', ARRAYnh4, RC ) IF ( RC /= GC_SUCCESS ) THEN CALL ERROR_STOP ( 'Cannot get pointer to AERO_SO4', LOC ) ENDIF ! convert REAL*4 to REAL(fpp) NH4_CONC(:,:,1:State_Met%MaxChemLev) = ARRAYnh4(:,:,1:State_Met%MaxChemLev) !--------------------------- ! Read NIT from HEMCO !--------------------------- CALL HCO_GetPtr( HcoState, 'AERO_NIT', ARRAYnit, RC ) IF ( RC /= GC_SUCCESS ) THEN CALL ERROR_STOP ( 'Cannot get pointer to AERO_SO4', LOC ) ENDIF ! convert REAL*4 to REAL(fpp) NIT_CONC(:,:,1:State_Met%MaxChemLev) = ARRAYnit(:,:,1:State_Met%MaxChemLev) !--------------------------- ! Read BCPI+BCPO from HEMCO !--------------------------- ! BCPI CALL HCO_GetPtr( HcoState, 'AERO_BCPI', ARRAYbcpi, RC ) IF ( RC /= GC_SUCCESS ) THEN CALL ERROR_STOP ( 'Cannot get pointer to AERO_BCPI', LOC ) ENDIF ! BCPO CALL HCO_GetPtr( HcoState, 'AERO_BCPO', ARRAYbcpo, RC ) IF ( RC /= GC_SUCCESS ) THEN CALL ERROR_STOP ( 'Cannot get pointer to AERO_BCPO', LOC ) ENDIF ! First get the size of ARRAYbcpi. ARRAYbcpo is the same size ! since they are both stored in the same file (bmy, 3/13/15) LL = size( ARRAYbcpi, 3 ) ! convert REAL*4 to REAL(fpp) ARRAYtemp = 0.e0_f4 ARRAYtemp(:,:,1:LL) = ARRAYbcpi + ARRAYbcpo BC_CONC(:,:,1:State_Met%MaxChemLev) = ARRAYtemp(:,:,1:State_Met%MaxChemLev) !--------------------------- ! Read OCPI+OCPO from HEMCO !--------------------------- ! OCPI CALL HCO_GetPtr( HcoState, 'AERO_OCPI', ARRAYocpi, RC ) IF ( RC /= GC_SUCCESS ) THEN CALL ERROR_STOP ( 'Cannot get pointer to AERO_OCPI', LOC ) ENDIF ! OCPO CALL HCO_GetPtr( HcoState, 'AERO_OCPO', ARRAYocpo, RC ) IF ( RC /= GC_SUCCESS ) THEN CALL ERROR_STOP ( 'Cannot get pointer to AERO_OCPO', LOC ) ENDIF ! First get the size of ARRAYbcpi. ARRAYbcpo is the same size ! since they are both stored in the same file (bmy, 3/13/15) LL = size( ARRAYocpi, 3 ) ! convert REAL*4 to REAL(fpp) ARRAYtemp = 0.e0_f4 ARRAYtemp(:,:,1:LL) = ARRAYocpi + ARRAYocpo OC_CONC(:,:,1:State_Met%MaxChemLev) = ARRAYtemp(:,:,1:State_Met%MaxChemLev) !--------------------------- ! Read DST1 from HEMCO !--------------------------- CALL HCO_GetPtr( HcoState, 'AERO_DST1', ARRAYdst1, RC ) IF ( RC /= GC_SUCCESS ) THEN CALL ERROR_STOP ( 'Cannot get pointer to AERO_DST1', LOC ) ENDIF ! convert REAL*4 to REAL(fpp) DST_CONC(:,:,1:State_Met%MaxChemLev) = ARRAYdst1(:,:,1:State_Met%MaxChemLev) !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, L )& !$OMP COLLAPSE( 3 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Sum aerosol types (ppbv) to get bulk aerosol ! ! - Multiply species by CU factor as part of unit conversion from ! ppbv --> ug/m3 ! Scale dust from 4x5 run (ref: Fairlie et al. (2010)) BULK_CONC(I,J,L) = CU(1)*SO4_CONC(I,J,L) + & CU(2)*(BC_CONC(I,J,L) + OC_CONC(I,J,L)) + & CU(3)*NIT_CONC(I,J,L) + & CU(4)*NH4_CONC(I,J,L) + & CU(5)*(DST_CONC(I,J,L)*2e+0_fpp) ! convert bulk aerosol mass concentration to ug/m3 BULK_CONC(I,J,L) = ( BULK_CONC(I,J,L) * State_Met%AIRDEN(I,J,L) ) ! Calculate R = HgP_ads/RGM (i.e. the ratio of Hg2 ! adsorbed onto aerosol to Hg2 in the gas phase) R(I,J,L) = BULK_CONC(I,J,L) * & ( 10e+0_fpp**( ( 2.5e+3_fpp / State_Met%T(I,J,L)) - 10e+0_fpp )) ! Fraction of Hg(II) in the gas phase (unitless) Fg(I,J,L) = 1e+0_fpp / (R(I,J,L) + 1e+0_fpp) ! Fraction of Hg(II) in the particle phase (unitless) Fp(I,J,L) = 1e+0_fpp - Fg(I,J,L) ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ! Free pointers ARRAYso4 => NULL() ARRAYnit => NULL() ARRAYnh4 => NULL() ARRAYbcpi => NULL() ARRAYocpi => NULL() ARRAYbcpo => NULL() ARRAYocpo => NULL() ARRAYdst1 => NULL() END SUBROUTINE READ_HG2_PARTITIONING !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: deliver_snow_hg ! ! !DESCRIPTION: Subroutine DELIVER\_SNOW\_HG delivers Hg accumulated in snow ! to the ocean. !\\ !\\ ! !INTERFACE: ! SUBROUTINE DELIVER_SNOW_HG( SNOW_Hg2aq, I, J, State_Met, & State_Chm, State_Diag ) ! ! !USES: ! USE DEPO_MERCURY_MOD, ONLY : LHGSNOW USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Met_Mod, ONLY : MetState USE Time_Mod, ONLY : Get_Ts_Chem ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I, J TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! REAL(fpp), INTENT(OUT) :: SNOW_Hg2aq ! Hg2 from snow ! ! !REMARKS: ! Snowpack Hg is delivered to the ocean instantaneously in an ionic pulse ! at the start of snowmelt (i.e. when the temperature exceeds 276K). At ! this point, both the non-reducible Hg deposited to the snowpack and the ! remaining reducible Hg are delivered to the ocean. Over land, the snow Hg ! reservoirs are also emptied, but this Hg is not yet added to the land. ! ! !REVISION HISTORY: ! 17 Jun 2011 - J. Fisher - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: NN REAL(fpp) :: FROCSNOW, FRLNSNOW, DT LOGICAL :: IS_MELT, IS_SNOWHG_OC, IS_SNOWHG_LN LOGICAL :: IS_OPEN_OCEAN, IS_OPEN_LAND ! Pointers REAL(fpp), POINTER :: SNOW_HG_OC(:,:) REAL(fpp), POINTER :: SNOW_HG_LN(:,:) REAL(fpp), POINTER :: SNOW_HG_STORED_OC(:,:) REAL(fpp), POINTER :: SNOW_HG_STORED_LN(:,:) !================================================================= ! DELIVER_SNOW_HG begins here! !================================================================= ! Return to calling program if snowpack model is disabled IF (.NOT. LHGSNOW) RETURN ! Chemistry timestep in seconds DT = GET_TS_CHEM() ! Intialize SNOW_Hg2aq = 0d0 ! Point to fields in State_Chm SNOW_HG_OC => State_Chm%SnowHgOcean SNOW_HG_LN => State_Chm%SnowHgLand SNOW_HG_STORED_OC => State_Chm%SnowHgOceanStored SNOW_HG_STORED_LN => State_Chm%SnowHgLandStored IS_OPEN_OCEAN = ( ( State_Met%FROCEAN(I,J) - & State_Met%FRSEAICE(I,J) ) > 0e+0_fpp ) IS_OPEN_LAND = ( ( State_Met%FRLAND(I,J) - & State_Met%FRSNOW(I,J) ) > 0e+0_fpp ) IS_MELT = ( State_Met%TS(I,J) >= 276e+0_fpp ) !%%% Removed loop over Hg categories here !%%% and also removed NN as the 3rd array index !%%% -- Bob Yantosca (23 Jun 2022) IS_SNOWHG_OC = ( (SNOW_HG_OC(I,J) > 0e+0_fpp) .OR. & (SNOW_HG_STORED_OC(I,J) > 0e+0_fpp) ) IS_SNOWHG_LN = ( (SNOW_HG_LN(I,J) > 0e+0_fpp) .OR. & (SNOW_HG_STORED_LN(I,J) > 0e+0_fpp) ) ! OCEAN ! Check if melt conditions reached and snow in grid box IF ( IS_MELT .AND. IS_SNOWHG_OC .AND. IS_OPEN_OCEAN ) THEN ! Add all snow Hg to aqueous Hg2 reservoir SNOW_Hg2aq = ( SNOW_HG_OC(I,J) + SNOW_HG_STORED_OC(I,J) ) !=========================================================== ! %%%%% HISTORY (aka netCDF diagnostics) %%%%% ! ! Store diagnostic of meltwater delivery to ocean [kg/s] !=========================================================== IF ( State_Diag%Archive_EmisHg2snowToOcean ) THEN State_Diag%EmisHg2snowToOcean(I,J) = & ( SNOW_HG_OC(I,J) + SNOW_HG_STORED_OC(I,J) ) / DT ENDIF ! Zero reservoirs over ocean box, since we've added it ! all to the ocean SNOW_HG_OC(I,J) = 0e+0_fpp SNOW_HG_STORED_OC(I,J) = 0e+0_fpp ENDIF ! ocean box ! Zero reservoirs if there is exposed land IF ( IS_MELT .AND. IS_SNOWHG_LN .AND. IS_OPEN_LAND ) THEN SNOW_HG_LN(I,J) = 0e+0_fpp SNOW_HG_STORED_LN(I,J) = 0e+0_fpp ENDIF ! Free pointers SNOW_HG_OC => NULL() SNOW_HG_LN => NULL() SNOW_HG_STORED_OC => NULL() SNOW_HG_STORED_LN => NULL() END SUBROUTINE DELIVER_SNOW_HG !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ocean_mercury_flux ! ! !DESCRIPTION: Subroutine OCEAND\_MERCURY\_FLUX calculates emissions of Hg(0) ! the ocean in [kg/s]. (sas, bmy, 1/19/05, 4/17/06) !\\ !\\ ! !INTERFACE: ! SUBROUTINE OCEAN_MERCURY_FLUX( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, FLUX, RC ) ! ! !USES: ! USE DEPO_MERCURY_MOD, ONLY : DD_Hg2, WD_Hg2, DD_HgP, WD_HgP USE ErrCode_Mod USE ERROR_MOD, ONLY : ERROR_STOP USE HCO_State_GC_Mod, ONLY : HcoState USE HCO_EmisList_Mod, ONLY : HCO_GetPtr USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! ! Flux of Hg(0) from the ocean [kg/s] REAL(fpp), INTENT(OUT) :: FLUX(State_Grid%NX,State_Grid%NY) INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! NOTE: The emitted flux may be negative when ocean conc. is very low. ! ! ALSO NOTE: The ocean flux was tuned with GEOS-4 4x5 met fields. We also ! now account for the smaller grid size if using GEOS-4 2x25 met fields. !_____________________________________________________________________________ ! ! GENERAL SOLUTION - OXIDATION, REDUCTION, SINKING, EVASION, UPWELLING ! ! dHg0/dt = Hg0(upw) + Hg0(ent) + Hg0(oa) -k_ox ! + k_red * Frac_Hg2 * Reducible * HgII ! ! dHgII/dt = HgII(dep) + HgII(up) + HgII(ent) - HgII(sink) + ! k_ox * Hg0-k_red * Frac_Hg2 * Reducible * HgII !____________________________________________________________________________ ! ! Hg(tot)aq REDUCTION RATE CONSTANTS ! ! Hg(tot)aq reduction is split into biological and radiative reduction ! (1.1 added to NPP for abiotic particles) ! ! k_red = k_red_bio + k_red_rad ! k_red_rad = k_radbase * RADz = ( s-1 W-1 m2 ) * ( W m-2 ) ! k_red_bio = k_biobse * NPP * 1.1 = ( s-1 mgC-1 d ) * ( mgC m-2 d-1 ) ! ! Hg(0)aq OXIDATION RATE CONSTANTS ! ! k_ox = k_oxbase * RADz + k_dark ! ! k_dark is a constant dark oxidation component ! ! RADz is the integrated ligth attenuation based on Beer-Lamberts law ! (Schwarzenbach et al. 1993) ! ! RADz = (1/(x1-x2))(RAD/EC)(1-e**-EC * x2) ! ! x1 = surface depth (=0) (m) ! x2 = depth of mixed layer (m) ! EC = extinction coefficient (m-1) ! RAD = incomming radiation from GEOS5 ! ! Extinction coefficient ! EC = ECwater + ECdoc * Cdoc (NPP/NPPavg) + ECchla * CHL/1000 ! ! ECwater = 0.0145 m-1 ! ECdoc = 0.654 m-1 ! Cdoc = 1.5 mgL-1 ! ECchla = 31 m-1 ! CHL = amount dependent on inputfile (mg/m3) but we need ! mg/L so divide CHL by 1000 !____________________________________________________________________________ ! ! TOTAL ORGANIC CARBON AND SUSPENDED PARTICULATE MATTER (TOTAL BIOMASS) ! ! Hg(II) - Hg(P) partitioning coefficient ! ! Fraction of Hg2 = Frac_Hg2 = 1 / ( 1 + kd_part * SPM ) ! ! Kd_part is based on Mason et al. 1998 and Mason & Fitzgerald 1993. (L/kg) ! SPM is converted to kg/L by 10E-9 ! ! SPM is Suspended particulate matter (kg/L) ! ! SPM = ( OC_tot * 10 / MLD ) * 1.1 ! ! Total biomas is a proxy for SPM (mg/m3) used in Hg(II) ! partitioning. Calculated by multiplying the standing ! stock of organic carbon (OC_tot) with 10 (exp Bundy 2004) ! 1.1 is to include abiotic particles ! ! OC_tot is the standing stock of organic carbon (mgC/m) ! ! OC_tot = C_tot * 80 ! ! Standing stock is calculated based on C:Chl ratio of 80 (wetzel et al 2006) ! ! C_tot is the integrated pigment content in euphotic layer (mg/m2) ! ! The parameters for calculating integrated Chl is based on a ! model by Uitz et al (2006). ! ! CHL = average Chl a conc. detected by Modis (mg/m3) ! Zm = mixed layer depth (m) ! Ze = euphotic depth (PAR 1% of surface value (m) ! ! C_tot differs dependent on the water being stratified ! or well-mixed. !___________________________________________________________________________ ! ! GAS EXCHANGE ! ! Net flux from the ocean is given by the equation: ! ! F = Kw * ( CHg0_aq - CHg0_atm / H ) (Lis & Slanter 1974) ! ! Kw is the mass transfer coefficient (cm/h) ! There are different possibilities for calculating Kw. The default is: ! ! Kw = 0.25 * u^2 / SQRT ( Sc / ScCO2 ) (Nightingale et al. 2000) ! ! u^2 is the square of the wind speed (10m above ground) (m/s) ! ! Sc is the Schmidt # for Hg [unitless] ! (ref: Poissant et al 2000; Wilke and Chang 1995) ! to correct for seawater D0 is decreased by 6% as suggested ! by Wanninkhof (1992) ! ! Sc = v/D = (0.017 * exp(-0.025T))/D = kinematic viscosity/diffusivity ! ! Diffusivity is calculated by: ! D = (7.4*10D-8 scrt(2.26 * Mw) * TK) / (vi * N**0.6) ! ! vi = viscocity of water ! N = molal volumen of mercury = 14.18 ! ! Viscocity is taken from Loux (2001) ! ! H is the diemensionless Henrys coefficient for elemental mercury ! ! H = exp (-2404.3/T - 6.92) where T is sea temp in K (Andersson et al. 2008) !___________________________________________________________________________ ! ! PARTICLE SINKING ! ! (from Sunderland & Mason 2007) ! ! JorgC_kg = 0.1 (NPP**1.77) (MLD**-0.74) !____________________________________________________________________________ ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! LOGICAL, SAVE :: FIRST = .TRUE. LOGICAL :: IS_OCEAN_BOX CHARACTER(LEN=255) :: FILENAME INTEGER :: nAdvect, NA INTEGER :: I, J, C INTEGER :: N, N_tot_oc INTEGER :: NEXTMONTH, THISMONTH INTEGER :: THISYEAR REAL(fpp) :: A_M2, DTSRCE, MLDCM REAL(fpp) :: CHg0aq, CHg0, vi, JorgC_kg REAL(fpp) :: TC, TK, Kw REAL(fpp) :: Sc, ScCO2, USQ, MHg REAL(fpp) :: Hg2_RED, Hg2_GONE, Hg2_CONV REAL(fpp) :: FRAC_L, FRAC_O, H, TOTDEP REAL(fpp) :: oldMLD, XTAU, TOTDEPall REAL(fpp) :: FUP(State_Grid%NX,State_Grid%NY) REAL(fpp) :: FDOWN(State_Grid%NX,State_Grid%NY) REAL(fpp) :: X, Y, D REAL(fpp) :: NPP_tot, A_ocean, NPP_avg, RADz REAL(fpp) :: EC REAL(fpp) :: k_red, k_red_rad, k_red_bio REAL(fpp) :: k_ox REAL(fpp) :: SPM, Frac_Hg2, OC_tot_kg REAL(fpp) :: Hg2aq_tot REAL(fpp) :: C_tot, Ze, OC_tot, Hg0_OX REAL(fpp) :: Kd_part, k_ox_dark REAL(fpp) :: FRAC_OPEN_OCEAN, FRAC_OCEAN_OR_ICE REAL(fpp) :: OLDFLOW, RIVER_HG REAL(fpp) :: FRAC_REDUCIBLE, UVI_RATIO REAL(fpp) :: SNOW_Hg2aq ! Parameters REAL(fpp), PARAMETER :: EC_w = 0.0145e+0_fpp REAL(fpp), PARAMETER :: EC_doc = 0.654e+0_fpp REAL(fpp), PARAMETER :: C_doc = 1.5e+0_fpp !REAL(fpp), PARAMETER :: k_radbase = 1.73d-6 !decrease photoreduction in atm & surf ocean ! per H. Amos 23 Sep 2011 to multiply by 0.9e+0_fpp ! implemented by eck 10/19/11 REAL(fpp), PARAMETER :: k_radbase = 1.557e-6_fpp REAL(fpp), PARAMETER :: k_biobase = 4.1e-10_fpp REAL(fpp), PARAMETER :: k_oxbase = 6.64e-6_fpp REAL(fpp), PARAMETER :: ECchla = 31e+0_fpp ! Conversion factor from [cm/h * ng/L] --> [kg/m2/s] REAL(fpp), PARAMETER :: TO_KGM2S = 1.0e-11_fpp / 3600e+0_fpp ! Monthly Arctic river Hg concentrations (jaf, 12/8/11) ! These assume no river Hg flux in Nov-Apr and concentrations at ! freshet (May-June) 3x higher than in summer (Leitch et al., 2009). ! These values are chosen to maximize agreement with atmospheric ! Hg0 observations at Arctic sites (Alert, Zeppelin, Amderma). ! They were calculated using: ! Flux = CHg*Flow = CHg_may*Flow_may + CHg_jun*Flow_jun + ... ! If (e.g. here) CHg is 3x higher in May-June, you end up with ! Flux = 3CHg_jul*Flow_may + 3CHg_jul*Flow_jun + CHG_jul*Flow_jul + ... ! = CHg_jul * ( 3*Flow_may + 3*Flow_jun + Flow_jul + ...) ! You can then calculate CHg_jul and use it to calculate CHg for ! other months. ! This is in kg/km3 = ng/L REAL*8, PARAMETER :: RIVER_CHg(12) = (/0d0, 0d0, 0d0, 0d0, & 80d0, 80d0, 27d0, 27d0, & 27d0, 27d0, 0d0, 0d0 /) REAL*8 :: A_ARCTIC_OCEAN ! Small numbers to avoid dividing by zero REAL(fpp), PARAMETER :: SMALLNUM = 1e-32_fpp REAL(fpp), PARAMETER :: NPPMINNUM = 5e-2_fpp REAL(fpp), PARAMETER :: CHLMINNUM = 1e-1_fpp ! For values from Input_Opt LOGICAL :: LArcticRiv, LKRedUV ! Pointers TYPE(SpcConc), POINTER :: Spc(:) REAL(fpp), POINTER :: Hg0aq(:,:) REAL(fpp), POINTER :: Hg2aq(:,:) REAL(fpp), POINTER :: HgPaq(:,:) ! Pointers to fields in the HEMCO data structure REAL(f4), POINTER :: TOMS (:,:) ! O3 REAL(f4), POINTER :: TOMS_PD(:,:) ! present day O3 REAL(f4), POINTER :: TOMS_LT(:,:) ! long-term O3 ! Strings CHARACTER(LEN=255) :: LOC = 'OCEAN_MERCURY_FLUX (GeosCore/ocean_mercury_mod.F90)' IF (LOCEANCOEF) THEN k_ox_dark = 10d0**(-5.2d0) ELSE k_ox_dark = 1d-7 ENDIF !================================================================= ! OCEAN_MERCURY_FLUX begins here! !================================================================= ! Initialize pointers TOMS => NULL() TOMS_PD => NULL() TOMS_LT => NULL() ! Copy values from Input_Opt LArcticRiv = Input_Opt%LArcticRiv LKRedUV = Input_Opt%LKRedUV ! Point to fields in State_Chm Spc => State_Chm%Species Hg0aq => State_Chm%OceanHg0 Hg2aq => State_Chm%OceanHg2 HgPaq => State_Chm%OceanHgP ! Loop limit for use below N_tot_oc = 1 ! Molecular weight of Hg (applicable to all tagged tracers) MHg = State_Chm%SpcData(1)%Info%MW_g * 1e-3_fpp ! Get current month THISMONTH = GET_MONTH() ! Get current year to check if leap year (jaf, 8/12/11) THISYEAR = GET_YEAR() !----------------------------------------------------------------- ! Read O3 data from HEMCO !----------------------------------------------------------------- ! Now also read TOMS O3 column data IF ( LKRedUV ) THEN ! TOMS O3 columns [dobsons] CALL HCO_GetPtr( HcoState, 'TOMS_O3_COL', TOMS, RC ) IF ( RC /= GC_SUCCESS ) THEN CALL ERROR_STOP ( 'Cannot get pointer to TOMS_O3_COL', LOC ) ENDIF ! TOMS O3 columns, present-day [dobsons] CALL HCO_GetPtr( HcoState, 'TOMS_O3_PD', TOMS_PD, RC ) IF ( RC /= GC_SUCCESS ) THEN CALL ERROR_STOP ( 'Cannot get pointer to TOMSPD_O3_COL', LOC ) ENDIF ! TOMS O3 columns, long-term [dobsons] CALL HCO_GetPtr( HcoState, 'TOMS_O3_LT', TOMS_LT, RC ) IF ( RC /= GC_SUCCESS ) THEN CALL ERROR_STOP ( 'Cannot get pointer to TOMSLT_O3_COL', LOC ) ENDIF ENDIF !----------------------------------------------- ! Read monthly NPP, RADSW, MLD, UPVEL, dMLD data !----------------------------------------------- IF ( ITS_A_NEW_MONTH() ) THEN ! Get monthly MLD, NPP, CHL etc. CALL OCEAN_MERCURY_READ( Input_Opt, State_Grid, THISMONTH, THISYEAR, RC ) ENDIF !eds 10/19/10 IF ( FIRST ) THEN MLDav = MLD FIRST = .FALSE. ENDIF !----------------------------------------------- ! MLD and entrainment change in middle of month !----------------------------------------------- dMLD = dMLD1 dFLOW = dFLOW1 IF ( ITS_MIDMONTH() ) THEN dMLD = dMLD2 dFLOW = dFLOW2 ENDIF ! Emission timestep [s] DTSRCE = GET_TS_EMIS() !---------------------------------------------------------------- ! Calculate total mean NPP (mg/m2/day) for later !---------------------------------------------------------------- ! Initialize values NPP_tot = 0e+0_fpp A_ocean = 0e+0_fpp A_ARCTIC_OCEAN = 0e+0_fpp DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Grid box surface area [m2] A_M2 = State_Grid%Area_M2(I,J) ! Grid-box latitude [degrees] Y = State_Grid%YMid(I,J) ! Use fractional land type information from met fields (jaf, 4/26/11) ! FROCEAN is a constant, so to get correct ocean fraction we ! need to subtract the sea ice fraction. ! We now compute ocean chemistry for entire ocean grid box, ! irrespective of ice cover (jaf, 11/28/11) NPP_tot = NPP_tot + NPP(I,J) * A_M2 * State_Met%FROCEAN(I,J) A_ocean = A_ocean + A_M2 * State_Met%FROCEAN(I,J) IF ( Y >= 70 ) THEN !IF ( (State_Met%FROCEAN(I,J) - State_Met%FRSEAICE(I,J)) > 0d0 ) IF ( State_Met%FROCEAN(I,J) > 0d0 ) & A_ARCTIC_OCEAN = A_ARCTIC_OCEAN + A_M2 * State_Met%FROCEAN(I,J) ENDIF ENDDO ENDDO NPP_avg = NPP_tot / A_ocean !---------------------------------------------------------------- ! Calculate Arctic river flow and Hg flux (jaf, 12/8/11) !---------------------------------------------------------------- ! FLOW is in m3/s; RIVER_CHg in kg/km3; RIVERHG in kg/m2/s OLDFLOW = FLOWNOW FLOWNOW = OLDFLOW + dFLOW * DTSRCE ! For some months / met fields, there may be no non-ice ocean IF ( A_ARCTIC_OCEAN == 0e+0_fpp ) THEN RIVER_HG = 0e+0_fpp ELSE RIVER_HG = FLOWNOW * RIVER_CHg(THISMONTH) * 1e-9_fpp / A_ARCTIC_OCEAN ENDIF ! Loop over surface boxes !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, A_M2 )& !$OMP PRIVATE( C, CHg0, CHg0aq )& !$OMP PRIVATE( C_tot, D, EC )& !$OMP PRIVATE( Frac_Hg2, Frac_O, FRAC_OCEAN_OR_ICE )& !$OMP PRIVATE( FRAC_OPEN_OCEAN, FRAC_REDUCIBLE, H )& !$OMP PRIVATE( Hg0_OX, Hg2aq_tot, Hg2_Conv )& !$OMP PRIVATE( Hg2_GONE, Hg2_RED, IS_OCEAN_BOX )& !$OMP PRIVATE( JorgC_kg, k_ox, k_red )& !$OMP PRIVATE( k_red_bio, k_red_rad, kd_part )& !$OMP PRIVATE( Kw, MLDcm, N )& !$OMP PRIVATE( OLDMLD, OC_tot, OC_tot_kg )& !$OMP PRIVATE( RADz, Sc, ScCO2 )& !$OMP PRIVATE( SNOW_Hg2aq, SPM, TC )& !$OMP PRIVATE( TK, TOTDEP, TOTDEPall )& !$OMP PRIVATE( Usq, UVI_RATIO, vi )& !$OMP PRIVATE( Ze )& !$OMP COLLAPSE( 2 )& !$OMP SCHEDULE( DYNAMIC, 24 ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Initialize variables (now alphabetized) A_M2 = State_Grid%Area_M2(I,J) ! Grid box area [m2] CHg0 = 0.0_fpp CHg0aq = 0.0_fpp C_tot = 0.0_fpp D = 0.0_fpp EC = 0.0_fpp Frac_Hg2 = 0.0_fpp Frac_O = 0.0_fpp FRAC_REDUCIBLE = 0.0_fpp H = 0.0_fpp Hg0_OX = 0.0_fpp Hg2aq_tot = 0.0_fpp Hg2_CONV = 0.0_fpp Hg2_GONE = 0.0_fpp Hg2_RED = 0.0_fpp JorgC_kg = 0.0_fpp k_ox = 0.0_fpp k_red = 0.0_fpp k_red_bio = 0.0_fpp k_red_rad = 0.0_fpp kd_part = 0.0_fpp Kw = 0.0_fpp OLDMLD = MLDav(I,J) MLDav(I,J) = MLDav(I,J) + dMLD(I,J) * DTSRCE MLDcm = MLDav(I,J) OC_tot = 0.0_fpp OC_tot_kg = 0.0_fpp RADz = 0.0_fpp Sc = 0.0_fpp ScCO2 = 0.0_fpp SNOW_Hg2aq = 0.0_fpp SPM = 0.0_fpp TC = 0.0_fpp TK = 0.0_fpp TOTDEP = 0.0_fpp TOTDEPall = 0.0_fpp Usq = 0.0_fpp UVI_RATIO = 0.0_fpp vi = 0.0_fpp X = State_Grid%XMid(I,J) ! Longitude [deg] Y = State_Grid%YMid(I,J) ! Laittude [deg] Ze = 0.0_fpp ! Add error trap to prevent new MLD from being negative ! (jaf, 7/6/11) IF (MLDcm .LT. 0e+0_fpp) MLDcm = 0e+0_fpp ! Get fractions of land and ocean in the grid box [unitless] ! Use fractional land type information from met fields. Also make sure ! we do not use boxes that are mostly sea ice for consistency ! FROCEAN is a constant, so to get correct ocean fraction we ! need to subtract the sea ice fraction. Don't let the fraction ! be less than zero (jaf, 4/26/11) !--------------------------------------------------------------- ! Updated to distinguish between the fraction of the box that is ! open ocean and that which is ocean at depth (i.e. surface is ! either ocean or ice). ! We perform ocean chemistry whether or not there is ! ice cover, but ice will reduce both solar radiation input to ! ocean and mercury deposition to ocean (jaf, 11/28/11) !--------------------------------------------------------------- FRAC_OPEN_OCEAN = MAX( State_Met%FROCEAN(I,J) - & State_Met%FRSEAICE(I,J), 0e+0_fpp) FRAC_OCEAN_OR_ICE = State_Met%FROCEAN(I,J) FRAC_O = FRAC_OCEAN_OR_ICE IS_OCEAN_BOX = ( FRAC_OCEAN_OR_ICE > 0e+0_fpp ) ! Change ocean mass due to mixed layer depth change ! Keep before next IF so that we adjust mass in ice-covered boxes CALL MLD_ADJUSTMENT( I, J, OLDMLD*1e-2_fpp, MLDcm*1e-2_fpp, & Input_Opt, State_Chm, State_Grid, State_Met ) !--------------------------------------------------------------- ! Deliver snowpack Hg to ocean if snow has melted ! Call before IF statement so that snow Hg is zeroed in land ! boxes as well as ocean boxes (jaf, 11/29/11) CALL DELIVER_SNOW_HG( SNOW_Hg2aq, I, J, State_Met, State_Chm, & State_Diag ) ! Loop over total Hg (and ocean Hg if necessary) Hg2aq(I,J) = Hg2aq(I,J) + SNOW_Hg2aq !=========================================================== ! Make sure we are in an ocean box !=========================================================== ! Use consistent criteria for Ocean/Land/Ice categories ! with snowpack and terrestrial emissions !CDH 5/18/2010 ! Use ocean criteria developed above (jaf, 11/29/11) IF ( (IS_OCEAN_BOX) .and. (MLDCM > 0.99e+0_fpp) ) THEN !=========================================================== ! Reduction and oxidation coefficients !=========================================================== ! Avoid having NPP or CHL to be zero ! Moved to OCEAN_MERCURY_READ !!GanLuo+NPP(I,J) = MAX ( NPP(I,J) , NPPMINNUM ) !NPP(I,J) = MAX ( NPP(I,J)*1.d0 , NPPMINNUM ) ! !!GanLuo+CHL(I,J) = MAX ( CHL(I,J) , CHLMINNUM ) !CHL(I,J) = MAX ( CHL(I,J)*1.d0 , CHLMINNUM ) ! Light attenuation (RADz) is calculated EC = (EC_w + ( EC_doc * C_doc * ( NPP(I,J) / NPP_avg ) ) & + ( ECchla * CHL(I,J) / 1000 ) ) RADz = ( 1 / ( MLDcm * 1e-2_fpp )) & * (State_Met%SWGDN(I,J) / EC ) & * ( 1 - EXP( -EC * ( MLDcm * 1e-2_fpp) ) ) ! Reduce RADz in fractional sea ice boxes to only include ! the fraction of open ocean (i.e. assume zero light ! penetration through sea ice (jaf, 11/28/11) IF ( FRAC_OCEAN_OR_ICE > FRAC_OPEN_OCEAN ) & RADz = RADz * FRAC_OPEN_OCEAN !-------------------------------------------------------- ! Hg(tot)aq reduction rate constants !-------------------------------------------------------- k_red_rad = ( k_radbase * RADz ) ! NPP is increased by 0.1 k_red_bio = ( ( k_biobase * NPP(I,J) ) * 1.1 ) k_red = k_red_rad + k_red_bio !------------------------------------------------------- ! Hg(0)aq oxidation rate constants !------------------------------------------------------ k_ox = ( k_ox_dark + ( k_oxbase * RADz ) ) !========================================================= ! Partitioning and organic carbon !========================================================= ! Calculation of C_tot for stratified waters IF (CHL(I,J) <= 1.0) THEN C_tot = 36.1e+0_fpp * CHL(I,J)**0.357e+0_fpp ELSE C_tot = 37.7e+0_fpp * CHL(I,J)**0.615e+0_fpp ENDIF ! Calculation of the euphotic depth IF (C_tot > 13.65) THEN Ze = 912.0e+0_fpp * C_tot**(-0.839e+0_fpp) ELSE Ze = 426.3e+0_fpp * C_tot**(-0.547e+0_fpp) ENDIF ! Recalculation of C_tot if water is shown to be well-mixed IF ((Ze/(MLDcm*1e-2_fpp)) < 1) THEN C_tot = 42.1e+0_fpp * CHL(I,J)**0.538e+0_fpp ENDIF !-------------------------------------------------------------- ! Standing stock of organic carbon and total biomass !-------------------------------------------------------------- ! Calculated based on C:Chl ratio of 80 (wetzel et al 2006) ! Stodk of organic carbon is in mgC/m2 ! Then converting to OC_tot_kg in kg/grid OC_tot = C_tot * 80.0e+0_fpp OC_tot_kg = OC_tot * 1e-6_fpp * A_M2 * FRAC_O ! Total biomas is a proxy for SPM (mg/m3) used in Hg(II) ! partitioning. Calculated by multiplying the standing ! stock of organic carbon with 10 (exp Bundy 2004) SPM = ( OC_tot * 10.0e+0_fpp / ( MLDcm * 1e-2_fpp ) ) * 1.1 !-------------------------------------------------------------- ! Hg(II) - Hg(P) partitioning coefficient !-------------------------------------------------------------- ! Kd_part is based on Mason et al. 1998 and Mason & ! Fitzgerald 1993. (L/kg) ! SPM is converted to kg/L by 10E-9 ! ! SPM = Suspended particulate matter (kg/L) ! ! For Arctic, log10(Kd)=5.0, see Fisher et al. 2012 (jaf, 3/23/12) ! For Arctic, now use log10(Kd)=4.5 to match Fisher et al. (2013) ! When not in the arctic and LOCEANCOEF is true, use Kd_part ! and k_ox_dark from Song et al. ACP 2015, otherwise use ocean ! coefficients from Soerensen et al. EST 2010 ! sjs,08/12/2015 IF ( Y >= 70.0e+0_fpp ) THEN Kd_part = 10e+0_fpp**(4.5e+0_fpp) ELSE IF ( LOCEANCOEF ) THEN Kd_part = 10e+0_fpp**(4.2e+0_fpp) ELSE Kd_part = 10e+0_fpp**(5.5e+0_fpp) ENDIF Frac_Hg2 = 1 / ( 1 + Kd_part * SPM * 1e-9_fpp) !-------------------------------------------------------------- ! Sea surface temperature in both [K] and [C] !-------------------------------------------------------------- ! where TSKIN is the temperature (K) at the ground/sea surface ! (Use as surrogate for SST, cap at freezing point) TK = MAX( State_Met%TSKIN(I,J), 273.15e+0_fpp ) TC = TK - 273.15e+0_fpp !============================================================== ! Volatilisation of Hg0 !============================================================== ! Henry's law constant (gas->liquid) [unitless] [L water/L air] ! (ref: Andersson et al. 2008) H = EXP( ( -2404.3e+0_fpp / TK ) + 6.92e+0_fpp ) ! Viscosity as a function of changing temperatures ! (ref: Loux 2001) ! The paper says the viscosity is given in cP but us really P ! and we therefor multiply with 100 to get cP. vi = ( 10**( ( 1301.0e+0_fpp / ( 998.333e+0_fpp & + 8.1855e+0_fpp & * ( TC - 20.0e+0_fpp )+ 0.00585e+0_fpp & * (TC - 20.0e+0_fpp )**2 ) ) & - 3.30233e+0_fpp ) ) * 100.0e+0_fpp ! Schmidt # for Hg [unitless] ! Sc = v/D = kinematic viscosity/diffusivity ! (ref: Poissant et al 2000; Wilke and Chang 1995) ! to correct for seawater D0 is decreased by 6% as suggested ! by Wanninkhof (1992) D = 7.4e-8_fpp * sqrt( 2.26 * 18.0 ) * TK / ( ( 14.8**0.6 ) *vi ) Sc = ( 0.017e+0_fpp * EXP( -0.025e+0_fpp * TC ) ) / D ! Schmidt # of CO2 [unitless] for CO2 in seawater at 20 degrees C ! The value is set to a constant based on other ocean studies ! (Gardfeld et al. 2003, Rolfhus & Fitzgerald 2004, Mason et al. 2001) ! ! Correction of the Schmidt # with temperature based on Poissant ! et al. (2000) (for freshwatersystems). ScCO2 = 644.7e+0_fpp + TC * ( -6.16e+0_fpp + TC * & ( 0.11e+0_fpp ) ) ! Square of surface (actually 10m) wind speed [m2/s2] Usq = State_Met%U10M(I,J)**2 + State_Met%V10M(I,J)**2 !------------------------------------------------------ ! Parameterizations for calculating water side mass ! trasfer coefficient !------------------------------------------------------ ! Mass transfer coefficient [cm/h], from Nightingale et al. 2000 Kw = ( 0.25e+0_fpp * Usq ) / SQRT( Sc / ScCO2 ) !----------------------------------------------------- ! Additional parameterizations: ! Nightinale et al. 2000 for instantanous winds !Kw = ( 0.33e+0_fpp*SQRT(usq)+0.22e+0_fpp*Usq) / SQRT( Sc / ScCO2 ) ! Lis and Merlivat 1986 ! Has less emphasis on windspeed as a driver for evasion ! Gives a less total evasion than the Nigthingale et al. 2000 !IF (SQRT(Usq) <= 3.6e+0_fpp ) THEN ! Kw = ( 0.17e+0_fpp * SQRT(Usq) * ( Sc / ScCO2 )**0.67e+0_fpp ) !ELSE IF (SQRT(Usq) > 3.6e+0_fpp .and. SQRT(Usq) <= 13e+0_fpp ) THEN ! Kw = ( ( 2.8e+0_fpp * SQRT(Usq))-9.6 ) * ( Sc / ScCO2 )**0.5e+0_fpp !ELSE ! Kw = ( ( 5.9e+0_fpp * SQRT(Usq))-49.3 ) * ( Sc / ScCO2)**0.5e+0_fpp !ENDIF ! Wanninkhof et al (1992) !Kw = ( 0.31e+0_fpp * Usq ) / SQRT( Sc / ScCO2 ) !=========================================================== ! Particulate sinking !=========================================================== ! HgP sinking is based on Sunderland & Mason 2007. ! JorgC originally in gC m-2 year-1, which is convereted ! to kgC grid-1 timestep-1 ! NPP is converted from mgC/m2/d-1 to gC/m2/year-1 ! JorgC = 0.1 ( ( NPP * 12 )**1.77 ) * MLD**n * M2 * Frac_O ! * 10^-3 * DTSRCE / ( 365 * 24 * 60 * 60 ) JorgC_kg = ( ( 0.1e+0_fpp * ((( NPP(I,J) * 365) / 1000 ) & **1.77) * (( MLDcm * 1e-2_fpp )**(-0.74e+0_fpp) ) & * A_M2 * FRAC_O * 1e-3_fpp) / ( 365.0e+0_fpp & * 24.0e+0_fpp * 60.0e+0_fpp * 60.0e+0_fpp ) ) & * DTSRCE !----------------------------------------------------------- ! Physical transport for tracers, Part II: ! Upward current transport (Ekman pumping) ! Upward mass flux is: ! Mass = (Vol upwelling water) * (Conc. below thermocline) ! Mass = (VEL * AREA * TIME ) * (C * Molar Mass ) !----------------------------------------------------------- ! Use CDEEPATL to scale deepwater in NAtlantic IF ( UPVEL(I,J) > 0e+0_fpp ) THEN !%%% Removed loop over Hg categories here !%%% and also removed NN as the 3rd array index !%%% -- Bob Yantosca (23 Jun 2022) !-------------------------------------------------------- ! Atlantic !-------------------------------------------------------- IF ( ( X >= -80.0 .and. X < 25.0 ) .and. & ( Y >= -25.0 .and. Y < 55.0 ) ) THEN !(anls,100114) ! Hg0 (kg) Hg0aq(I,J) = Hg0aq(I,J) + UPVEL(I,J) & * ( MHg * A_M2 * FRAC_O * DTSRCE * CDeepatl(1) ) ! Hg2 Hg2aq(I,J) = Hg2aq(I,J) + UPVEL(I,J) & * ( MHg * A_M2 * FRAC_O * DTSRCE * CDeepatl(2) ) ! Hg particulate !IF ( C == 1 ) THEN ! HgC(I,J) = HgC(I,J) + UPVEL(I,J) & ! * ( MHg * A_M2 * FRAC_O * DTSRCE * CDeepatl(3) ) HgPaq(I,J) = HgPaq(I,J) + UPVEL(I,J) & * ( MHg * A_M2 * FRAC_O * DTSRCE * CDeepatl(3) ) !ENDIF !-------------------------------------------------------- ! North Pacific (west) !-------------------------------------------------------- ELSE IF ( ( X >= -180.0 .and. X < -80.0 ) .and. & ( Y >= 30.0 .and. Y < 70.0 ) ) THEN ! Hg0 (kg) Hg0aq(I,J) = Hg0aq(I,J) + UPVEL(I,J) & * ( MHg * A_M2 * FRAC_O * DTSRCE * CDeepnpa(1) ) ! Hg2 Hg2aq(I,J) = Hg2aq(I,J) + UPVEL(I,J) & * ( MHg * A_M2 * FRAC_O * DTSRCE * CDeepnpa(2) ) ! Hg particulate !IF ( C == 1 ) THEN HgPaq(I,J) = HgPaq(I,J) + UPVEL(I,J) & * ( MHg * A_M2 * FRAC_O * DTSRCE * CDeepnpa(3) ) !ENDIF ! North Pacific (east) ELSE IF ( ( X >= 25.0 .and. X < 180.0 ) .and. & ( Y >= 30.0 .and. Y < 70.0 ) ) THEN ! Hg0 (kg) Hg0aq(I,J) = Hg0aq(I,J) + UPVEL(I,J) & * ( MHg * A_M2 * FRAC_O * DTSRCE * CDeepnpa(1) ) ! Hg2 Hg2aq(I,J) = Hg2aq(I,J) + UPVEL(I,J) & * ( MHg * A_M2 * FRAC_O * DTSRCE * CDeepnpa(2) ) ! Hg particulate & !IF ( C == 1 ) THEN HgPaq(I,J) = HgPaq(I,J) + UPVEL(I,J) & * ( MHg * A_M2 * FRAC_O * DTSRCE * CDeepnpa(3) ) !ENDIF !-------------------------------------------------------- ! North Atlantic !-------------------------------------------------------- ELSE IF ( ( X >= -80.0 .and. X < 25.0 ) .and. & ( Y >= 55.0 .and. Y < 70.0 ) ) THEN ! Hg0 (kg) Hg0aq(I,J) = Hg0aq(I,J) + UPVEL(I,J) & * ( MHg * A_M2 * FRAC_O * DTSRCE * CDeepnat(1) ) ! Hg2 Hg2aq(I,J) = Hg2aq(I,J) + UPVEL(I,J) & * ( MHg * A_M2 * FRAC_O * DTSRCE * CDeepnat(2) ) ! Hg particulate !IF ( C == 1 ) THEN HgPaq(I,J) = HgPaq(I,J) + UPVEL(I,J) & * ( MHg * A_M2 * FRAC_O * DTSRCE * CDeepnat(3) ) !ENDIF !-------------------------------------------------------- ! South Atlantic !-------------------------------------------------------- ELSE IF ( ( X >= -80.0 .and. X < 25.0 ) .and. & ( Y >= -65.0 .and. Y < -25.0 ) ) THEN !(anls,100114) ! Hg0 (kg) Hg0aq(I,J) = Hg0aq(I,J) + UPVEL(I,J) & * ( MHg * A_M2 * FRAC_O * DTSRCE * CDeepsat(1) ) ! Hg2 Hg2aq(I,J) = Hg2aq(I,J) + UPVEL(I,J) & * ( MHg * A_M2 * FRAC_O * DTSRCE * CDeepsat(2) ) ! Hg particulate !IF ( C == 1 ) THEN HgPaq(I,J) = HgPaq(I,J) + UPVEL(I,J) & * ( MHg * A_M2 * FRAC_O * DTSRCE * CDeepsat(3) ) !ENDIF !-------------------------------------------------------- ! Antarctic !-------------------------------------------------------- ELSE IF ( Y >= -90.0 .and. Y < -65.0 ) THEN ! Hg0 (kg) Hg0aq(I,J) = Hg0aq(I,J) + UPVEL(I,J) & * ( MHg * A_M2 * FRAC_O * DTSRCE * CDeepant(1) ) ! Hg2 Hg2aq(I,J) = Hg2aq(I,J) + UPVEL(I,J) & * ( MHg * A_M2 * FRAC_O * DTSRCE * CDeepant(2) ) ! Hg particulate !IF ( C == 1 ) THEN HgPaq(I,J) = HgPaq(I,J) + UPVEL(I,J) & * ( MHg * A_M2 * FRAC_O * DTSRCE * CDeepant(3) ) !ENDIF !-------------------------------------------------------- ! Arctic !-------------------------------------------------------- ELSE IF ( Y >= 70.0 .and. Y < 90.0 ) THEN ! Hg0 (kg) Hg0aq(I,J) = Hg0aq(I,J) + UPVEL(I,J) & * ( MHg * A_M2 * FRAC_O * DTSRCE * CDeeparc(1) ) ! Hg2 Hg2aq(I,J) = Hg2aq(I,J) + UPVEL(I,J) & * ( MHg * A_M2 * FRAC_O * DTSRCE * CDeeparc(2) ) ! Hg particulate !IF ( C == 1 ) THEN HgPaq(I,J) = HgPaq(I,J) + UPVEL(I,J) & * ( MHg * A_M2 * FRAC_O * DTSRCE * CDeeparc(3) ) !ENDIF ELSE ! Hg0 (kg) Hg0aq(I,J) = Hg0aq(I,J) + UPVEL(I,J) & * ( MHg * A_M2 * FRAC_O * DTSRCE * CDeep(1) ) ! Hg2 Hg2aq(I,J) = Hg2aq(I,J) + UPVEL(I,J) & * ( MHg * A_M2 * FRAC_O * DTSRCE * CDeep(2) ) ! Hg particulate HgPaq(I,J) = HgPaq(I,J) + UPVEL(I,J) & * ( MHg * A_M2 * FRAC_O * DTSRCE * CDeep(3) ) ENDIF !---------------------------------------------------------- ! Physical transport for TOTAL TRACERS, Part III: ! Downward current transport (Ekman pumping) ! Treated as a deposition velocity ! d(Mass)/dt = - VEL * Mass / BoxHeight !---------------------------------------------------------- ELSE !%%% Removed loop over Hg categories here !%%% and also removed NN as the 3rd array index !%%% -- Bob Yantosca (23 Jun 2022) ! Hg0 Hg0aq(I,J) = Hg0aq(I,J) & * ( 1e+0_fpp + UPVEL(I,J) * DTSRCE / & ( MLDcm * 1e-2_fpp ) ) ! Hg2 Hg2aq(I,J) = Hg2aq(I,J) & * ( 1e+0_fpp + UPVEL(I,J) * DTSRCE / & ( MLDcm * 1e-2_fpp ) ) ! Hg particulate HgPaq(I,J) = HgPaq(I,J) & * ( 1e+0_fpp + UPVEL(I,J) * DTSRCE / & ( MLDcm * 1e-2_fpp ) ) ENDIF !=========================================================== ! Calculate reduction, conversion, sinking, evasion ! ! (1) Hg2 <-> HgP and HgP sinks ! (2) Hg2 <-> Hg0 and Hg0 evades ! ! NOTE: N is the GEOS-CHEM tracer # (for Spc) ! and NN is the Hg category # (for Hg0aq, Hg2aq, HgP) !=========================================================== !%%% Removed loop over Hg categories here !%%% and also removed NN as the 3rd array index !%%% -- Bob Yantosca (23 Jun 2022) ! Reset flux each timestep FLUX(I,J) = 0e+0_fpp FUP(I,J) = 0e+0_fpp FDOWN(I,J) = 0e+0_fpp !-------------------------------------------------------- ! Calculate new Hg(II) mass ! ! Add flux of Hg(II) from rivers in Arctic (jaf, 12/8/11) ! Convert to kg/box/timestep and add to Hg2aq !-------------------------------------------------------- IF ( (LArcticRiv) .AND. (Y >= 70) ) THEN Hg2aq(I,J) = Hg2aq(I,J) + RIVER_HG * & A_M2 * DTSRCE * FRAC_O !----------------------------------------------------- ! %%%%% HISTORY DIAGNOSTIC %%%%% ! ! Flux of Hg(II) from rivers to ocean in Arctic [kg/s] ! NOTE: RIVER_HG is kg/m2/s, convert to kg/s !----------------------------------------------------- IF ( State_Diag%Archive_EmisHg2rivers ) THEN State_Diag%EmisHg2rivers(I,J) = ( RIVER_HG * A_M2 * FRAC_O ) ENDIF ENDIF !-------------------------------------------------------- ! Calculate new Hg(II) mass !-------------------------------------------------------- ! Before 11/3/2009 (cdh, hamos) !! Total Hg(II) deposited on ocean surface [kg] !TOTDEP = (WD_Hg2(I,J) + DD_Hg2(I,J))*FRAC_O ! ! Total Hg(II) deposited on ocean surface [kg] ! Includes gaseous and particulate reactive Hg(II) ! plus anthropogenic primary Hg(p) (cdh, hamos 11/3/2009) TOTDEPall = (WD_Hg2(I,J) + DD_Hg2(I,J) + & WD_HgP(I,J) + DD_HgP(I,J) ) ! When distinguishing open ocean vs ice, only deposition ! to ocean should be included in Hg exchange (jaf, 11/28/11) !TOTDEP = TOTDEPall * FRAC_O TOTDEP = TOTDEPall * FRAC_OPEN_OCEAN ! Add deposited Hg(II) to the Hg(II)tot ocean mass [kg] Hg2aq_tot = Hg2aq(I,J) + HgPaq(I,J) + TOTDEP Hg2aq(I,J) = Hg2aq_tot * Frac_Hg2 ! Mass of Hg(II) --> Hg(0) !--------------------------- ! Only a certain percentage of Hg(II) is considered reducible ! Previously this value was set as 40%. Now it is determined ! dynamically. Based on lab studies of Hg photoreduction, ! UV-B radiation leads to more DGM production than UV-A. We ! assume that this difference reflects the ability of higher ! energy UV-B to break bonds that UV-A can't. In other words ! UV-B increases the reducible fraction of Hg(II). ! Changes in O3 columns are leading to changes in UV radiation ! especially in the UV-B portion of the spectrum. Based on ! realistic present-day conditions, we assume 50% of the ! reducible pool (20% of total Hg(II) can be reduced by any ! wavelength, but the remaining 50% by UV-B only, and this ! fraction changes with time. ! ! The relative change in UV is computed from the change in ! O3 column. O3 column data is provided from TOMS satellite ! data. UV is approximated using the UV Index (UVI), which ! is heavily weighted to the UV-B portion of the spectrum. ! To compute the UVI, we use the simplified analytical ! formula from Madronich, 2007, Photochem & Photobio. ! This formula does not apply to high albedo, but we use it ! here only for radiation entering the water column. It also ! assumes clear-sky, aerosol-free conditions. However, we ! are considering only a ratio between present day and ! current model time step, so we can assume on average those ! conditions haven't changed (or we don't know enough about ! how they have). Errors are induced for high solar zenith ! angle, but for a given grid box / date-time, we can assume ! no variation between years and therefore this should ! have minimal impact on the ratio. Finally, SZA in a ! given grid box at a given day/time doesn't change from ! year to year, so we can simplify the formula by ! excluding all common factors and do not need to rely on ! SZA (which is occasionally negative even when there is ! some incoming solar radiation, especially at the ! equinox (jaf, 2/27/12, 8/3/12) ! ! Some years have missing ozone data. In this case, we ! replace the missing values with the longterm mean, ! which will be >0 unless it is a region in polar ! darkness. In that case, the darkness component should ! already be caught with the RADz term used in the ! reduction part of the code. (jaf, 8/2/12) ! ! Use fraction=0.4 as error trapping default value ! to prevent catastrophically low reduction. This ! should basically never be used since in case of no ! O3 , RADSWG will also be zero and there will be no ! photo-reduction below. (jaf, 8/2/12) ! Default: 40% HgII photo-reducible FRAC_REDUCIBLE = 0.4e+0_fpp IF ( LKRedUV ) THEN IF ( (TOMS(I,J) < 0) .AND. (TOMS_LT(I,J) > 0) ) & TOMS(I,J) = TOMS_LT(I,J) IF ( (TOMS(I,J) > 0) .AND. (TOMS_PD(I,J) > 0) ) THEN UVI_RATIO = ( TOMS(I,J) / TOMS_PD(I,J) )**(-1.23e+0_fpp) FRAC_REDUCIBLE = 0.2e+0_fpp + 0.2e+0_fpp * ( UVI_RATIO ) ENDIF ENDIF ! Now use new FRAC_REDUCIBLE for photo-reduction only. ! Retain 40% for biological reduction !Hg2_RED = Hg2aq(I,J) * 0.4d0 * k_red * DTSRCE Hg2_RED = Hg2aq(I,J) * DTSRCE * ( 0.4e+0_fpp * & k_red_bio + FRAC_REDUCIBLE * k_red_rad ) ! Mass of Hg(0) --> Hg(II) Hg0_OX = Hg0aq(I,J) * k_ox * DTSRCE ! Amount of Hg(II) that is lost [kg] Hg2_GONE = Hg2_RED - Hg0_OX ! Cap Hg2_GONE with available Hg2 IF ( Hg2_GONE > Hg2aq(I,J) ) THEN Hg2_GONE = MIN( Hg2_GONE, Hg2aq(I,J) ) ENDIF IF ( (Hg2_GONE * (-1e+0_fpp)) > Hg0aq(I,J)) THEN Hg2_GONE = (Hg0aq(I,J)*(-1)) !MAX (Hg2_GONE ,(Hg0aq(I,J)*(-1e+0_fpp))) ENDIF ! Hg(II) ocean mass after reduction and conversion [kg] Hg2aq(I,J) = Hg2aq(I,J) - Hg2_GONE !-------------------------------------------------------- ! Calculate new Hg(P) mass !-------------------------------------------------------- ! HgP ocean mass after conversion HgPaq(I,J) = Hg2aq_tot * ( 1 - Frac_Hg2) !---------------------------------------------------- ! Conversion between OC and Hg !---------------------------------------------------- ! Hg/C ratio based on HgP(kg) and Stock of organic C(kg) ! HgPaq_sunk funtion of C sunk and HgP/C ratio HgPaq_SUNK(I,J) = JorgC_kg * ( HgPaq(I,J ) / OC_tot_kg ) ! HgP ocean mass after sinking [kg] HgPaq(I,J) = HgPaq(I,J) - HgPaq_SUNK(I,J) HgPaq(I,J) = MAX ( HgPaq(I,J) , 0e+0_fpp ) !----------------------------------------------------- ! %%%%% HISTORY DIAGNOSTIC %%%%% ! ! Store organic carbon sinking to ocean [kgC/s] !----------------------------------------------------- IF ( State_Diag%Archive_FluxOCtoDeepOcean ) THEN State_Diag%FluxOCtoDeepOcean(I,J) = JorgC_kg / DTSRCE ENDIF !-------------------------------------------------------- ! Calculate new Hg(0) mass !-------------------------------------------------------- ! Add converted Hg(II) and subtract converted Hg(0) mass ! to the ocean mass of Hg(0) [kg] Hg0aq(I,J) = Hg0aq(I,J) + Hg2_GONE !-------------------------------------------------------- ! Calculate oceanic and gas-phase concentration of Hg(0) !-------------------------------------------------------- ! Concentration of Hg(0) in the ocean [ng/L] CHg0aq = ( Hg0aq(I,J) * 1e+11_fpp ) / & ( A_M2 * FRAC_O ) / MLDcm ! Gas phase Hg(0) concentration: convert [kg] -> [ng/L] CHg0 = Spc(N)%Conc(I,J,1) * 1.0e+9_fpp / & State_Met%AIRVOL(I,J,1) !-------------------------------------------------------- ! Compute flux of Hg(0) from the ocean to the air !-------------------------------------------------------- ! Compute ocean flux of Hg0 [cm/h*ng/L] FLUX(I,J) = Kw * ( CHg0aq - ( CHg0 / H ) ) ! TURN OFF EVASION !FLUX(I,J)= MIN(0.,FLUX(I,J)) !Prior to 09 Nov 2011, H Amos --------------------- !Extra diagnostic: compute flux up and flux down !FUP(I,J) = ( Kw * CHg0aq ) !FDOWN(I,J) = ( Kw * CHg0 / H ) !-------------------------------------------------- ! Convert [cm/h*ng/L] --> [kg/m2/s] --> [kg/s] ! Also account for ocean fraction of grid box !FLUX(I,J) = FLUX(I,J) * TO_KGM2S * A_M2 * FRAC_O ! Assume fast horizontal equilibration w/in the grid box ! therefore no need to scale by open ocean fraction ! (jaf, 6/22/11) ! Evasive flux only if there is some open ocean in the ! grid box (not 100% sea ice) IF ( FRAC_OPEN_OCEAN > 0d0 ) THEN FLUX(I,J) = FLUX(I,J) * TO_KGM2S * A_M2 * FRAC_O ELSE FLUX(I,J) = 0e+0_fpp ENDIF !Prior to 09 Nov 2011, H Amos --------------------- !FUP(I,J) = FUP(I,J) * TO_KGM2S * A_M2 * FRAC_O !FDOWN(I,J) = FDOWN(I,J) * TO_KGM2S * A_M2 * FRAC_O !-------------------------------------------------- !-------------------------------------------------------- ! Flux limited by ocean and atm Hg(0) !-------------------------------------------------------- !Prior to 09 Nov 2011, H Amos --------------------- ! Cap the flux w/ the available Hg(0) ocean mass !IF ( FLUX(I,J) * DTSRCE > Hg0aq(I,J) ) THEN ! FLUX(I,J) = Hg0aq(I,J) / DTSRCE ! FUP(I,J) = FLUX(I,J)-FDOWN(I,J) !ENDIF IF ( FLUX(I,J) * DTSRCE > Hg0aq(I,J) ) THEN FLUX(I,J) = Hg0aq(I,J) / DTSRCE ENDIF !-------------------------------------------------- ! Cap the neg flux w/ the available Hg(0) atm mass IF ( (-FLUX(I,J) * DTSRCE ) > Spc(N)%Conc(I,J,1) ) THEN FLUX(I,J) = -Spc(N)%Conc(I,J,1) / DTSRCE ENDIF ! Cap FDOWN with available Hg(0) atm mass !IF ((FDOWN(I,J)*DTSRCE)>Spc(N)%Conc(I,J,1)) THEN ! FDOWN(I,J) = Spc(N)%Conc(I,J,1) / DTSRCE !ENDIF ! make sure Fup and Fdown do not underflow either ! debug 2x2.5 diagnostic? FUP(I,J) = MAX (FUP(I,J), SMALLNUM ) FDOWN(I,J) = MAX (FDOWN(I,J),SMALLNUM ) !-------------------------------------------------------- ! Remove amt of Hg(0) that is leaving the ocean [kg] !-------------------------------------------------------- Hg0aq(I,J) = Hg0aq(I,J) - ( FLUX(I,J) * DTSRCE ) ! Make sure Hg0aq does not underflow (cdh, bmy, 3/28/06) Hg0aq(I,J) = MAX( Hg0aq(I,J), SMALLNUM ) !Hgaq_tot = HgC(I,J) + Hg0aq(I,J) + Hg2aq(I,J) Hgaq_tot(I,J) = HgPaq(I,J) + Hg0aq(I,J) + Hg2aq(I,J) !----------------------------------------------------------- ! %%%%% HISTORY (aka netCDF) DIAGNOSTICS %%%%% ! ! Oceanic Hg quantities ! ! NOTE: We have converted units from kg !----------------------------------------------------------- ! Mass of oceanic Hg0 [kg] IF ( State_Diag%Archive_MassHg0inOcean ) THEN State_Diag%MassHg0inOcean(I,J) = Hg0aq(I,J) ENDIF ! Mass of oceanic Hg2 [kg] IF ( State_Diag%Archive_MassHg2inOcean ) THEN State_Diag%MassHg2inOcean(I,J) = Hg2aq(I,J) ENDIF ! Mass of oceanic HgP [kg] IF ( State_Diag%Archive_MassHgPinOcean ) THEN State_Diag%MassHgPinOcean(I,J) = HgPaq(I,J) ENDIF ! Total oceanic mercury [kg] IF ( State_Diag%Archive_MassHgTotalInOcean ) THEN State_Diag%MassHgTotalInOcean(I,J) = Hgaq_tot(I,J) ENDIF ! Flux of Hg2 sunk to deep ocean [kg/s] IF ( State_Diag%Archive_FluxHg2toDeepOcean ) THEN State_Diag%FluxHg2toDeepOcean(I,J) = HgPaq_SUNK(I,J) / DTSRCE ENDIF ! Ocean-to-air and air-to-ocean fluxes IF ( FLUX(I,J) > 0e+0_fpp ) THEN ! Volatization flux of Hg0 from ocean to air ! NOTE: Units are kg/s IF ( State_Diag%Archive_FluxHg0fromOceantoAir ) THEN State_Diag%FluxHg0fromOceanToAir(I,J) = FLUX(I,J) ENDIF ELSE IF ( FLUX(I,J) < 0e+0_fpp) THEN ! Drydep flux of Hg0 from air to ocean IF ( State_Diag%Archive_FluxHg0fromAirToOcean ) THEN State_Diag%FluxHg0fromAirToOcean(I,J) = ABS( FLUX(I,J) ) ENDIF ENDIF ! Total Hg2/HgP deposited to ocean ! NOTE: Changed unit to kg/s IF ( State_Diag%Archive_FluxHg2HgPfromAirToOcean ) THEN State_Diag%FluxHg2HgPfromAirToOcean(I,J) = TOTDEP / DTSRCE ENDIF !============================================================== ! If we are not in an ocean box, set Hg(0) flux to zero !============================================================== ELSE !%%% Removed loop over Hg categories here !%%% and also removed NN as the 3rd array index !%%% -- Bob Yantosca (23 Jun 2022) FLUX(I,J) = 0e+0_fpp FUP(I,J)=0e+0_fpp FDOWN(I,J)=0e+0_fpp ENDIF !============================================================== ! Zero amts of deposited Hg2 for next timestep [kg] !============================================================== ENDDO ENDDO !$OMP END PARALLEL DO ! Free pointers Spc => NULL() Hg0aq => NULL() Hg2aq => NULL() HgPaq => NULL() TOMS => NULL() TOMS_PD => NULL() TOMS_LT => NULL() END SUBROUTINE OCEAN_MERCURY_FLUX !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ocean_mercury_read ! ! !DESCRIPTION: Subroutine OCEAN\_MERCURY\_READ reads in the mixed layer depth, ! net primary productivity, upwelling and radiation climatology for each month. ! This is needed for the ocean flux computation.(sas, cdh, bmy, 1/20/05, 3/28/06) !\\ !\\ ! !INTERFACE: ! SUBROUTINE OCEAN_MERCURY_READ( Input_Opt, State_Grid, & THISMONTH, THISYEAR, RC ) ! ! !USES: ! USE ErrCode_Mod USE Error_Mod, ONLY : Error_Stop USE HCO_State_GC_Mod, ONLY : HcoState USE HCO_EmisList_Mod, ONLY : HCO_GetPtr USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState USE TIME_MOD, ONLY : ITS_A_LEAPYEAR ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object INTEGER, INTENT(IN) :: THISMONTH INTEGER, INTENT(IN) :: THISYEAR ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! LOGICAL, SAVE :: FIRST = .TRUE. REAL*4 :: ARRAY(State_Grid%NX,State_Grid%NY,1) INTEGER :: I, J, X, Y ! Add time variables to get correct number of seconds per month ! and prevent negative flow later (jaf, 12/8/11) INTEGER :: LASTMONTH, DAYS_IN_LAST_MONTH INTEGER :: NEXTMONTH, DAYS_IN_THIS_MONTH INTEGER :: M(12) = (/ 31, 28, 31, 30, 31, 30, & 31, 31, 30, 31, 30, 31 /) REAL*8, PARAMETER :: SEC_PER_DAY = 3.6e+3_fpp * 24e+0_fpp ! Moved from ocean_mercury_flux (jaf,3/20/13) REAL*8, PARAMETER :: NPPMINNUM = 5e-2_fpp REAL*8, PARAMETER :: CHLMINNUM = 1e-1_fpp ! Arctic MLD parameters REAL*8, PARAMETER :: ArcticMLD_summer = 15e+2_fpp REAL*8, PARAMETER :: ArcticMLD_other = 20e+2_fpp ! Strings CHARACTER(LEN=255) :: LOC = 'OCEAN_MERCURY_READ (GeosCore/ocean_mercury_mod.F90)' !================================================================= ! OCEAN_MERCURY_READ begins here! !================================================================= ! Assume success RC = GC_SUCCESS ! Get the last month (jaf, 12/8/11) IF ( THISMONTH == 1 ) THEN LASTMONTH = 12 ELSE LASTMONTH = THISMONTH - 1 ENDIF ! Get the next month NEXTMONTH = MOD( THISMONTH, 12 ) +1 ! Calculate days in last month (jaf, 12/8/11) IF ( LASTMONTH == 2 .and. ITS_A_LEAPYEAR( THISYEAR ) ) THEN DAYS_IN_LAST_MONTH = M(LASTMONTH) + 1 ELSE DAYS_IN_LAST_MONTH = M(LASTMONTH) ENDIF ! Calculate days in this month (jaf, 12/8/11) IF ( THISMONTH == 2 .and. ITS_A_LEAPYEAR( THISYEAR ) ) THEN DAYS_IN_THIS_MONTH = M(THISMONTH) + 1 ELSE DAYS_IN_THIS_MONTH = M(THISMONTH) ENDIF !----------------------------------------------------------------- ! Mixed layer depth [cm] !----------------------------------------------------------------- CALL HCO_GetPtr( HcoState, 'OCEAN_MLD', MLD, RC ) IF ( RC /= GC_SUCCESS ) THEN CALL ERROR_STOP ( 'Cannot get pointer to OCEAN_MLD', LOC ) ENDIF ! Convert [m] to [cm] MLD = MLD * 100e+0_f4 !----------------------------------------------------------------- ! Chl from Modis [kg/m3] --> [mg/m3] !----------------------------------------------------------------- CALL HCO_GetPtr( HcoState, 'OCEAN_CHLA', CHL, RC ) IF ( RC /= GC_SUCCESS ) THEN CALL ERROR_STOP ( 'Cannot get pointer to OCEAN_CHLA', LOC ) ENDIF ! Convert [kg/m3] to [mg/m3] CHL = CHL * 1e6_f4 !----------------------------------------------------------------- ! Arctic Chl from Jin et al 2012 [mg/m3] !----------------------------------------------------------------- CALL HCO_GetPtr( HcoState, 'OCEAN_CHLA_A', CHL_A, RC ) IF ( RC /= GC_SUCCESS ) THEN CALL ERROR_STOP ( 'Cannot get pointer to OCEAN_ACHLA', LOC ) ENDIF !----------------------------------------------------------------- ! Net primary productivity [kg/m2] -> [mg/m2] !----------------------------------------------------------------- CALL HCO_GetPtr( HcoState, 'OCEAN_NPP', NPP, RC ) IF ( RC /= GC_SUCCESS ) THEN CALL ERROR_STOP ( 'Cannot get pointer to OCEAN_NPP', LOC ) ENDIF ! Convert [kg/m2] -> [mg/m2] NPP = NPP * 1e6_f4 !----------------------------------------------------------------- ! Arctic Net primary productivity [mg/m2/day] !----------------------------------------------------------------- CALL HCO_GetPtr( HcoState, 'OCEAN_NPP_A', NPP_A, RC ) IF ( RC /= GC_SUCCESS ) THEN CALL ERROR_STOP ( 'Cannot get pointer to OCEAN_ANPP', LOC ) ENDIF !----------------------------------------------------------------- ! Ekman upwelling velocity [m/s] !----------------------------------------------------------------- CALL HCO_GetPtr( HcoState, 'OCEAN_EKMAN_V', UPVEL, RC ) IF ( RC /= GC_SUCCESS ) THEN CALL ERROR_STOP ( 'Cannot get pointer to OCEAN_EKMAN_V', LOC ) ENDIF !----------------------------------------------------------------- ! MLD tendency, first half of month [cm/s] !----------------------------------------------------------------- CALL HCO_GetPtr( HcoState, 'OCEAN_dMLD1', dMLD1, RC ) IF ( RC /= GC_SUCCESS ) THEN CALL ERROR_STOP ( 'Cannot get pointer to dMLD1', LOC ) ENDIF ! Convert [m/s] to [cm/s] dMLD1 = dMLD1 * 100e+0_f4 !----------------------------------------------------------------- ! MLD tendency, second half of month [cm/s] !----------------------------------------------------------------- CALL HCO_GetPtr( HcoState, 'OCEAN_dMLD2', dMLD2, RC ) IF ( RC /= GC_SUCCESS ) THEN CALL ERROR_STOP ( 'Cannot get pointer to dMLD2', LOC ) ENDIF ! Convert [m/s] to [cm/s] dMLD2 = dMLD2 * 100e+0_f4 !----------------------------------------------------------------- ! Overwrite fields with Arctic specific parameters !----------------------------------------------------------------- !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, X, Y )& !$OMP COLLAPSE( 2 )& !$OMP SCHEDULE( DYNAMIC, 24 ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Grid-box longitude [degrees] X = State_Grid%XMid(I,J) ! Grid-box latitude [degrees] Y = State_Grid%YMid(I,J) ! In central Arctic, overwrite MLD values where global MLD ! dataset is based on very limited information. Instead use ! values from climatology of Toole et al. (2010). (jaf, 11/28/11) IF ( (Y >= 80e+0_fpp) .OR. & ( (Y >= 70e+0_fpp) .AND. ( X >= 50e+0_fpp .OR. & X <= 0e+0_fpp ) ) ) THEN SELECT CASE ( THISMONTH ) CASE( 7, 8, 9 ) ! summer MLD(I,J) = ArcticMLD_summer CASE DEFAULT ! rest of year MLD(I,J) = ArcticMLD_other END SELECT ! Also set up MLD tendency in cm/s for each half month ! Months with change are 6-7, 9-10 SELECT CASE ( THISMONTH ) CASE( 6 ) ! june dMLD1(I,J) = 0e+0_fpp dMLD2(I,J) = (ArcticMLD_summer - ArcticMLD_other)/ & ( SEC_PER_DAY * DAYS_IN_LAST_MONTH ) CASE( 7 ) ! july dMLD1(I,J) = (ArcticMLD_summer - ArcticMLD_other)/ & ( SEC_PER_DAY * DAYS_IN_LAST_MONTH ) dMLD2(I,J) = 0e+0_fpp CASE( 9 ) ! september dMLD1(I,J) = 0e+0_fpp dMLD2(I,J) = (ArcticMLD_other - ArcticMLD_summer)/ & ( SEC_PER_DAY * DAYS_IN_LAST_MONTH ) CASE ( 10 ) ! october dMLD1(I,J) = (ArcticMLD_other - ArcticMLD_summer)/ & ( SEC_PER_DAY * DAYS_IN_LAST_MONTH ) dMLD2(I,J) = 0e+0_fpp CASE DEFAULT ! rest of year dMLD1(I,J) = 0e+0_fpp dMLD2(I,J) = 0e+0_fpp END SELECT ENDIF ! Added NPP for the Arctic from Jin et al. 2012. (anls) IF ( Y >= 60 ) THEN IF ( NPP_A(I,J) > NPP(I,J) ) NPP(I,J) = NPP_A(I,J) IF ( CHL_A(I,J) > CHL(I,J) ) CHL(I,J) = CHL_A(I,J) ! Apply interannual scaling IF ( Y >= 70 ) THEN NPP(I,J) = NPP(I,J) * NPP_SCF CHL(I,J) = CHL(I,J) * NPP_SCF ENDIF ENDIF ! Avoid having NPP or CHL to be zero NPP(I,J) = MAX ( NPP(I,J) , NPPMINNUM ) CHL(I,J) = MAX ( CHL(I,J) , CHLMINNUM ) ENDDO ENDDO ! OMP END PARALLEL DO !------------------------------------------------- ! River flow !------------------------------------------------- dFLOW1 = ( RIVERFLOW(THISMONTH) - RIVERFLOW(LASTMONTH) ) / & ( SEC_PER_DAY * DAYS_IN_LAST_MONTH ) dFLOW2 = ( RIVERFLOW(NEXTMONTH) - RIVERFLOW(THISMONTH) ) / & ( SEC_PER_DAY * DAYS_IN_THIS_MONTH ) ! Set FLOWNOW first time (jaf, 12/8/11) IF ( FIRST ) THEN FLOWNOW = RIVERFLOW(LASTMONTH) + dFLOW1 * & SEC_PER_DAY * ( DAYS_IN_LAST_MONTH - 15 ) FIRST = .FALSE. ENDIF END SUBROUTINE OCEAN_MERCURY_READ !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: mld_adjustment ! ! !DESCRIPTION: Subroutine MLD\_ADJUSTMENT entrains new water when mixed layer ! depth deepens and conserves concentration (leaves mass behind) when mixed ! layer shoals. (sas, cdh, bmy, 4/18/05, 3/28/06) ! The MLD depth is constrained so that the mean monthly concentration equals ! the concentration in the middle of the given month. The MLD hereafter ! changes linearily until it reaches the middle of the next months where the ! process is repeted (anls, 4/30/09) !\\ !\\ ! !INTERFACE: ! SUBROUTINE MLD_ADJUSTMENT( I, J, MLDold, MLDnew, Input_Opt, & State_Chm, State_Grid, State_Met ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I, J REAL(fpp), INTENT(IN) :: MLDold ! Old ocean mixed layer depth [m] REAL(fpp), INTENT(IN) :: MLDnew ! New ocean mixed layer depth [m] TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: C, NN INTEGER :: K, L REAL(fpp) :: A_M2, DELTAH, FRAC_O, MHg REAL(fpp) :: X, Y !(added anls 01/05/09) ! Pointers REAL(fpp), POINTER :: Hg0aq(:,:) REAL(fpp), POINTER :: Hg2aq(:,:) REAL(fpp), POINTER :: HgPaq(:,:) !================================================================= ! MLD_ADJUSTMENT begins here! !================================================================= ! Point to fields in State_Chm Hg0aq => State_Chm%OceanHg0 Hg2aq => State_Chm%OceanHg2 HgPaq => State_Chm%OceanHgP ! Grid box surface area [m2] A_M2 = State_Grid%Area_M2(I,J) ! Fraction of box that is ocean ! Use fractional land type information from met fields (jaf, 4/26/11) ! FROCEAN is a constant, so to get correct ocean fraction we ! need to subtract the sea ice fraction. ! We now apply ocean processes, including MLD adjustment, to ! entire ocean grid box, irrespective of sea ice cover (jaf, ! 11/28/11) FRAC_O = State_Met%FROCEAN(I,J) ! Molecular weight of Hg (valid for all tagged tracers) MHg = State_Chm%SpcData(1)%Info%MW_g * 1e-3_fpp ! Test if MLD increased IF ( MLDnew > MLDold ) THEN !============================================================== ! IF MIXED LAYER DEPTH HAS INCREASED: ! ! Entrain water with a concentration specified by CDeep ! ! Entrained Mass = ( Vol water entrained ) * CDeep * Molar mass ! = ( DELTAH * AREA * FRAC_O ) * CDeep * MHg !============================================================== ! Increase in MLD [m] DELTAH = MLDnew - MLDold ! Add Cdeepatl to North Atlantic and Cdeep to rest if the world ! (anls, 01/05/09) ! Grid-box latitude [degrees] Y = State_Grid%YMid(I,J) ! Grid box longitude [degrees] X = State_Grid%XMid(I,J) !%%% Removed loop over Hg categories here !%%% and also removed NN as the 3rd array index !%%% -- Bob Yantosca (23 Jun 2022) !------------------------------------------------ ! Atlantic !------------------------------------------------ IF ( ( X >= -80.0 .and. X < 25.0 ) .and. & ( Y >= -25.0 .and. Y < 55.0 ) ) THEN !(anls,100114) ! Hg0 Hg0aq(I,J) = Hg0aq(I,J) + & ( DELTAH * CDeepatl(1) * MHg * A_M2 * FRAC_O ) ! Hg2 Hg2aq(I,J) = Hg2aq(I,J) + & ( DELTAH * CDeepatl(2) * MHg * A_M2 * FRAC_O ) ! HgP !IF ( C == 1 ) THEN HgPaq(I,J) = HgPaq(I,J) + & ( DELTAH * CDeepatl(3) * MHg * A_M2 * FRAC_O ) !ENDIF !------------------------------------------------ ! North Pacific (west) !------------------------------------------------ ELSE IF ( ( X >= -180.0 .and. X < -80.0 ) .and. & ( Y >= 30.0 .and. Y < 70.0 ) ) THEN ! Hg0 Hg0aq(I,J) = Hg0aq(I,J) + & ( DELTAH * CDeepnpa(1) * MHg * A_M2 * FRAC_O ) ! Hg2 Hg2aq(I,J) = Hg2aq(I,J) + & ( DELTAH * CDeepnpa(2) * MHg * A_M2 * FRAC_O ) ! HgP !IF ( C == 1 ) THEN HgPaq(I,J) = HgPaq(I,J) + & ( DELTAH * CDeepnpa(3) * MHg * A_M2 * FRAC_O ) !ENDIF !------------------------------------------------ ! North Pacific (east) !------------------------------------------------ ELSE IF ( ( X >= 25.0 .and. X < 180.0 ) .and. & ( Y >= 30.0 .and. Y < 70.0 ) ) THEN ! Hg0 Hg0aq(I,J) = Hg0aq(I,J) + & ( DELTAH * CDeepnpa(1) * MHg * A_M2 * FRAC_O ) ! Hg2 Hg2aq(I,J) = Hg2aq(I,J) + & ( DELTAH * CDeepnpa(2) * MHg * A_M2 * FRAC_O ) ! HgP HgPaq(I,J) = HgPaq(I,J) + & ( DELTAH * CDeepnpa(3) * MHg * A_M2 * FRAC_O ) !------------------------------------------------ ! North Atlantic !------------------------------------------------ ELSE IF ( ( X >= -80.0 .and. X < 25.0 ) .and. & ( Y >= 55.0 .and. Y < 70.0 ) ) THEN ! Hg0 Hg0aq(I,J) = Hg0aq(I,J) + & ( DELTAH * CDeepnat(1) * MHg * A_M2 * FRAC_O ) ! Hg2 Hg2aq(I,J) = Hg2aq(I,J) + & ( DELTAH * CDeepnat(2) * MHg * A_M2 * FRAC_O ) ! HgP HgPaq(I,J) = HgPaq(I,J) + & ( DELTAH * CDeepnat(3) * MHg * A_M2 * FRAC_O ) !ENDIF !------------------------------------------------ ! South Atlantic !------------------------------------------------ ELSE IF ( ( X >= -80.0 .and. X < 25.0 ) .and. & ( Y >= -65.0 .and. Y < -25.0 ) ) THEN !(anls,100114) ! Hg0 Hg0aq(I,J) = Hg0aq(I,J) + & ( DELTAH * CDeepsat(1) * MHg * A_M2 * FRAC_O ) ! Hg2 Hg2aq(I,J) = Hg2aq(I,J) + & ( DELTAH * CDeepsat(2) * MHg * A_M2 * FRAC_O ) ! HgP HgPaq(I,J) = HgPaq(I,J) + & ( DELTAH * CDeepsat(3) * MHg * A_M2 * FRAC_O ) !------------------------------------------------ ! Antarctic !------------------------------------------------ ELSE IF ( Y >= -90.0 .and. Y < -65.0 ) THEN ! Hg0 Hg0aq(I,J) = Hg0aq(I,J) + & ( DELTAH * CDeepant(1) * MHg * A_M2 * FRAC_O ) ! Hg2 Hg2aq(I,J) = Hg2aq(I,J) + & ( DELTAH * CDeepant(2) * MHg * A_M2 * FRAC_O ) ! HgP HgPaq(I,J) = HgPaq(I,J) + & ( DELTAH * CDeepant(3) * MHg * A_M2 * FRAC_O ) !------------------------------------------------ ! Arctic !------------------------------------------------ ELSE IF ( Y >= 70.0 .and. Y < 90.0 ) THEN ! Hg0 Hg0aq(I,J) = Hg0aq(I,J) + & ( DELTAH * CDeeparc(1) * MHg * A_M2 * FRAC_O ) ! Hg2 Hg2aq(I,J) = Hg2aq(I,J) + & ( DELTAH * CDeeparc(2) * MHg * A_M2 * FRAC_O ) ! HgP HgPaq(I,J) = HgPaq(I,J) + & ( DELTAH * CDeeparc(3) * MHg * A_M2 * FRAC_O ) ELSE ! Hg0 Hg0aq(I,J) = Hg0aq(I,J) + & ( DELTAH * CDeep(1) * MHg * A_M2 * FRAC_O ) ! Hg2 Hg2aq(I,J) = Hg2aq(I,J) + & ( DELTAH * CDeep(2) * MHg * A_M2 * FRAC_O ) ! HgP HgPaq(I,J) = HgPaq(I,J) + & ( DELTAH * CDeep(3) * MHg * A_M2 * FRAC_O ) ENDIF ELSE !============================================================== ! IF MIXED LAYER DEPTH HAS CREASED: ! ! Conserve concentration, but shed mass for ALL tracers. ! Mass changes by same ratio as volume. !============================================================== ! Avoid dividing by zero IF ( MLDold > 0e+0_fpp ) THEN !%%% Removed loop over Hg categories here !%%% and also removed NN as the 3rd array index !%%% -- Bob Yantosca (23 Jun 2022) Hg0aq(I,J) = Hg0aq(I,J) * ( MLDnew / MLDold ) Hg2aq(I,J) = Hg2aq(I,J) * ( MLDnew / MLDold ) HgPaq(I,J) = HgPaq(I,J) * ( MLDnew / MLDold ) ENDIF ENDIF ! Free pointers Hg0aq => NULL() Hg2aq => NULL() HgPaq => NULL() END SUBROUTINE MLD_ADJUSTMENT !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: init_land_mercury ! ! !DESCRIPTION: Subroutine INIT\_OCEAN\_MERCURY allocates and zeroes all ! module arrays. (sas, cdh, bmy, 1/19/05, 3/28/06) !\\ !\\ ! !INTERFACE: ! SUBROUTINE INIT_OCEAN_MERCURY( Input_Opt, State_Chm, State_Grid, RC ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD, ONLY : ALLOC_ERR USE FILE_MOD, ONLY : IOERROR, IU_FILE USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : Species USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE TIME_MOD, ONLY : GET_YEAR, EXPAND_DATE ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! For Hg indexing (bmy, 4/26/16) INTEGER :: N TYPE(Species), POINTER :: SpcInfo ! For riverflow and NPP interannual scaling (jaf, 3/26/12) INTEGER :: THISYEAR, THISYEARINDEX REAL(fpp), DIMENSION(31) :: RSCF_05, RSCF_06, RSCF_07 REAL(fpp), DIMENSION(31) :: RSCF_08, RSCF_09, RSCF_10 REAL(fpp), DIMENSION(31) :: NSCF !================================================================= ! INIT_OCEAN_MERCURY begins here! !================================================================= ! Assume success RC = GC_SUCCESS ! Exit if this is a dry-run IF ( Input_Opt%DryRun ) RETURN !----------------------------------------------------------------- ! Allocate these arrays regardless of whether you are using ! the dynamic ocean. These are needed for Hg2 partitioning. ! (bmy, 3/30/15) !----------------------------------------------------------------- ALLOCATE( BULK_CONC( State_Grid%NX, State_Grid%NY, State_Grid%NZ), & STAT=RC ) IF ( RC /= 0 ) CALL ALLOC_ERR( 'BULK_CONC' ) BULK_CONC = 0e+0_fpp ALLOCATE( SO4_GC( State_Grid%NX, State_Grid%NY, State_Grid%NZ ), & STAT=RC ) IF ( RC /= 0 ) CALL ALLOC_ERR( 'SO4_GC' ) SO4_GC = 0e+0_fpp ALLOCATE( NIT_CONC( State_Grid%NX, State_Grid%NY, State_Grid%NZ ), & STAT=RC ) IF ( RC /= 0 ) CALL ALLOC_ERR( 'NIT_CONC' ) NIT_CONC = 0e+0_fpp ALLOCATE( NH4_CONC( State_Grid%NX, State_Grid%NY, State_Grid%NZ ), & STAT=RC ) IF ( RC /= 0 ) CALL ALLOC_ERR( 'NH4_CONC' ) NH4_CONC = 0e+0_fpp ALLOCATE( OC_CONC( State_Grid%NX, State_Grid%NY, State_Grid%NZ ), & STAT=RC ) IF ( RC /= 0 ) CALL ALLOC_ERR( 'OC_CONC' ) OC_CONC = 0e+0_fpp ALLOCATE( BC_CONC( State_Grid%NX, State_Grid%NY, State_Grid%NZ ), & STAT=RC ) IF ( RC /= 0 ) CALL ALLOC_ERR( 'BC_CONC' ) BC_CONC = 0e+0_fpp ALLOCATE( DST_CONC( State_Grid%NX, State_Grid%NY, State_Grid%NZ ), & STAT=RC ) IF ( RC /= 0 ) CALL ALLOC_ERR( 'DST_CONC' ) DST_CONC = 0e+0_fpp ALLOCATE( R( State_Grid%NX, State_Grid%NY, State_Grid%NZ ), & STAT=RC ) IF ( RC /= 0 ) CALL ALLOC_ERR( 'R' ) R = 0e+0_fpp ALLOCATE( SO4_CONC( State_Grid%NX, State_Grid%NY, State_Grid%NZ ), & STAT=RC ) IF ( RC /= 0 ) CALL ALLOC_ERR( 'SO4_CONC' ) SO4_CONC = 0e+0_fpp ALLOCATE( Fg( State_Grid%NX, State_Grid%NY, State_Grid%NZ ), & STAT=RC ) IF ( RC /= 0 ) CALL ALLOC_ERR( 'Fg' ) Fg = 0e+0_fpp ALLOCATE( Fp( State_Grid%NX, State_Grid%NY, State_Grid%NZ ), & STAT=RC ) IF ( RC /= 0 ) CALL ALLOC_ERR( 'Fp' ) Fp = 0e+0_fpp !eds 5/15/12 fix ALLOCATE( Hgaq_tot (State_Grid%NX, State_Grid%NY ), STAT=RC ) IF ( RC /= 0 ) CALL ALLOC_ERR( 'Hgaq_tot' ) Hgaq_tot = 0e+0_fpp !----------------------------------------------------------------- ! These variables are only needed for the dynamic ocean option !----------------------------------------------------------------- ! Get current year for scale factor application THISYEAR = GET_YEAR() ! Set up concentrations of Hg(0), Hg(II), Hg(C) in deep ocean REDALERT IF ( Input_Opt%LPREINDHG) THEN CDEEP = (/ 2e-11_fpp, 1.67e-10_fpp, 1.67e-10_fpp /) CDEEPATL = (/ 2e-11_fpp, 1.67e-10_fpp, 1.67e-10_fpp /) CDEEPNAT = (/ 2e-11_fpp, 1.67e-10_fpp, 1.67e-10_fpp /) CDEEPSAT = (/ 2e-11_fpp, 1.67e-10_fpp, 1.67e-10_fpp /) CDEEPANT = (/ 2e-11_fpp, 1.67e-10_fpp, 1.67e-10_fpp /) CDEEPARC = (/ 2e-11_fpp, 1.67e-10_fpp, 1.67e-10_fpp /) CDEEPNPA = (/ 2e-11_fpp, 1.67e-10_fpp, 1.67e-10_fpp /) ELSE CDEEP = (/ 1.0e-10_fpp, 4.0e-10_fpp, 4.0e-10_fpp /) CDEEPATL = (/ 1.4e-10_fpp, 9.3e-10_fpp, 9.3e-10_fpp /) CDEEPNAT = (/ 1.5e-10_fpp, 8.2e-10_fpp, 8.2e-10_fpp /) CDEEPSAT = (/ 0.8e-10_fpp, 4.1e-10_fpp, 4.1e-10_fpp/) !eck, 10/19/11 !reduce intermediate water mercury concentration in !South Atlantic Ocean to 0.9pM total !ref: low end of uncertainty range Sunderland and Mason '07 CDEEPANT = (/ 1.0e-10_fpp, 3.2e-10_fpp, 3.2e-10_fpp /) ! Redistribute Hg fractions so Hg2 /= HgP (jaf, 11/28/11) CDEEPARC = (/ 1.2e-10_fpp, 1.2e-9_fpp, 2.8e-10_fpp /) CDEEPNPA = (/ 1.0e-10_fpp, 6.0e-10_fpp, 6.0e-10_fpp /) ENDIF ! Set monthly Arctic river flow rate in m3/s (jaf, 12/8/11) ! These come from the 8 largest Arctic rivers, with data ! from UNH/GRDC RIVERFLOW = (/ 2.2d4, 1.9d4, 1.8d4, 1.9d4, 9.6d4, 24.6d4, & 14.4d4, 10.2d4, 8.4d4, 6.2d4, 3.0d4, 2.3d4 /) ! Initialize default interannual NPP scaling factor (jaf, 3/19/13) NPP_SCF = 1e+0_fpp !----------------------------------------------------------------- ! Apply riverflow and set NPP scale factors if 2009 or prior !----------------------------------------------------------------- ! Use interannual flow scaling factors for May-Oct (jaf, 3/23/11) ! NOTE: scale factors are hard-coded to avoid reading ascii (ewl, 8/27/15) IF ( THISYEAR <= 2009) THEN ! May 1979-2009 river scale factors RSCF_05 = & (/ 0.63, 0.61, 1.12, 1.09, 0.50, 1.10, 0.68, 0.69, 0.59, 0.92, & 1.11, 1.61, 1.02, 1.04, 0.59, 0.84, 1.13, 0.55, 2.03, 0.43, & 1.46, 1.54, 1.13, 1.34, 1.00, 0.58, 1.31, 0.57, 1.58, 1.20, & 1.00 /) ! Jun 1979-2009 river scale factors RSCF_06 = & (/ 1.18, 1.00, 0.89, 0.93, 1.15, 1.00, 0.94, 1.02, 0.90, 1.03, & 1.17, 0.94, 1.00, 1.03, 1.00, 1.12, 0.87, 1.05, 0.79, 1.12, & 0.95, 0.91, 1.14, 1.05, 0.91, 0.99, 0.85, 1.01, 1.01, 1.01, & 1.06 /) ! Jul 1979-2009 river scale factors RSCF_07 = & (/ 0.97, 1.12, 1.03, 0.88, 1.17, 0.83, 0.92, 0.90, 1.08, 1.06, & 1.11, 0.89, 0.94, 1.00, 1.00, 1.02, 0.97, 1.07, 1.03, 1.22, & 1.03, 0.98, 0.88, 0.96, 0.93, 1.06, 0.89, 0.99, 1.13, 0.98, & 0.97 /) ! Aug 1979-2009 river scale factors RSCF_08 = & (/ 1.20, 1.01, 1.00, 0.85, 1.03, 0.92, 1.05, 0.96, 0.99, 1.19, & 0.95, 0.78, 0.83, 0.89, 0.96, 0.97, 0.85, 0.80, 1.09, 1.13, & 1.08, 1.03, 1.13, 1.14, 0.88, 0.93, 1.02, 0.90, 1.37, 1.15, & 0.91 /) ! Sep 1979-2008 river scale factors RSCF_09 = & (/ 1.42, 0.91, 1.02, 1.04, 1.06, 0.78, 0.95, 0.89, 0.67, 1.09, & 1.03, 0.75, 0.84, 0.71, 0.89, 0.79, 0.92, 0.85, 1.20, 0.96, & 0.92, 1.07, 0.97, 1.35, 0.83, 0.95, 1.13, 1.30, 1.45, 1.26, & 1.00 /) ! Use 1.00 for 2009 since no scale factor available ! Oct 1979-2008 river scale factors RSCF_10 = & (/ 0.96, 0.89, 0.89, 0.80, 1.14, 0.79, 0.88, 1.04, 0.73, 1.11, & 0.92, 0.90, 0.86, 0.94, 1.04, 1.04, 1.05, 1.06, 1.12, 0.90, & 0.99, 1.09, 0.93, 1.14, 0.95, 1.17, 1.09, 1.29, 1.19, 1.10, & 1.00 /) ! Use 1.00 for 2009 since no scale factor available ! 1979-2009 NPP scale factors (scaled to 2009) NSCF = & (/ 0.857, 0.807, 0.853, 0.835, 0.831, 0.857, 0.880, 0.823, & 0.827, 0.827, 0.864, 0.933, 0.913, 0.823, 0.917, 0.857, & 0.939, 0.798, 0.896, 0.914, 0.868, 0.927, 0.969, 0.955, & 0.927, 0.894, 0.917, 1.035, 1.153, 1.073, 1.000 /) ! Calculate year index for this year given factors start in 1979 THISYEARINDEX = THISYEAR - 1978 ! Apply riverflow scale factors for May thru Oct RIVERFLOW(5) = RIVERFLOW(5) * RSCF_05( THISYEARINDEX ) RIVERFLOW(6) = RIVERFLOW(6) * RSCF_06( THISYEARINDEX ) RIVERFLOW(7) = RIVERFLOW(7) * RSCF_07( THISYEARINDEX ) RIVERFLOW(8) = RIVERFLOW(8) * RSCF_08( THISYEARINDEX ) RIVERFLOW(9) = RIVERFLOW(9) * RSCF_09( THISYEARINDEX ) RIVERFLOW(10) = RIVERFLOW(10) * RSCF_10( THISYEARINDEX ) ! Set NPP scaling factor NPP_SCF = NSCF( THISYEARINDEX ) ENDIF ! Allocate arrays ALLOCATE( dMLD( State_Grid%NX, State_Grid%NY ), STAT=RC ) IF ( RC /= 0 ) CALL ALLOC_ERR( 'dMLD' ) dMLD = 0e+0_fpp ALLOCATE( HgPaq_SUNK( State_Grid%NX, State_Grid%NY ), STAT=RC ) IF ( RC /= 0 ) CALL ALLOC_ERR( 'HgPaq_SUNK' ) HgPaq_SUNK = 0e+0_fpp ALLOCATE( MLDav( State_Grid%NX, State_Grid%NY ), STAT=RC ) IF ( RC /= 0 ) CALL ALLOC_ERR( 'MLDav' ) MLDav = 0e+0_fpp ALLOCATE( newMLD( State_Grid%NX, State_Grid%NY ), STAT=RC ) IF ( RC /= 0 ) CALL ALLOC_ERR( 'newMLD' ) newMLD = 0e+0_fpp !eds 10/19/10 fixing restart bug ALLOCATE( prevMLD( State_Grid%NX, State_Grid%NY ), STAT=RC ) IF ( RC /=0 ) CALL ALLOC_ERR( 'prevMLD' ) prevMLD = 0e+0_fpp END SUBROUTINE INIT_OCEAN_MERCURY !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: cleanup_ocean_mercury ! ! !DESCRIPTION: Subroutine CLEANUP\_OCEAN\_MERCURY deallocates all module ! arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CLEANUP_OCEAN_MERCURY ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC IF ( ALLOCATED( Hgaq_tot ) ) DEALLOCATE( Hgaq_tot ) IF ( ALLOCATED( dMLD ) ) DEALLOCATE( dMLD ) IF ( ALLOCATED( MLDav ) ) DEALLOCATE( MLDav ) IF ( ALLOCATED( newMLD ) ) DEALLOCATE( newMLD ) IF ( ALLOCATED( prevMLD ) ) DEALLOCATE( prevMLD ) IF ( ALLOCATED( BULK_CONC ) ) DEALLOCATE( BULK_CONC ) IF ( ALLOCATED( Fg ) ) DEALLOCATE( Fg ) IF ( ALLOCATED( Fp ) ) DEALLOCATE( Fp ) IF ( ALLOCATED( SO4_GC ) ) DEALLOCATE( SO4_GC ) IF ( ALLOCATED( NIT_CONC ) ) DEALLOCATE( NIT_CONC ) IF ( ALLOCATED( NH4_CONC ) ) DEALLOCATE( NH4_CONC ) IF ( ALLOCATED( OC_CONC ) ) DEALLOCATE( OC_CONC ) IF ( ALLOCATED( BC_CONC ) ) DEALLOCATE( BC_CONC ) IF ( ALLOCATED( DST_CONC ) ) DEALLOCATE( DST_CONC ) IF ( ALLOCATED( R ) ) DEALLOCATE( R ) IF ( ALLOCATED( SO4_CONC ) ) DEALLOCATE( SO4_CONC ) ! Free pointers CHL => NULL() CHL_A => NULL() MLD => NULL() NPP => NULL() NPP_A => NULL() UPVEL => NULL() dMLD1 => NULL() dMLD2 => NULL() END SUBROUTINE CLEANUP_OCEAN_MERCURY !EOC END MODULE OCEAN_MERCURY_MOD ================================================ FILE: GeosCore/olson_landmap_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: olson_landmap_mod.F90 ! ! !DESCRIPTION: Module OLSON\_LANDMAP\_MOD reads the Olson land map and ! computes the IREG, ILAND, IUSE, and FRCLND State\_Met arrays. !\\ !\\ ! !INTERFACE: ! MODULE Olson_LandMap_Mod ! ! !USES: ! USE Precision_Mod IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: Init_LandTypeFrac PUBLIC :: Compute_Olson_Landmap ! ! !REMARKS: ! Eloise Marais and the GEOS-Chem Support Team updated the Olson 2001 ! landcover dataset and corresponding GEOS-Chem modules in 2012. The Olson ! 2001 landmap superceded the Olson 1992 landmap starting following v9-01-03. ! The option to use Olson 1992 has been removed from v11-02 and later. ! The following text is taken from the data processing README: ! ! "The Olson 2001 landcover map is at a native resolution of 1km x 1km. I've ! identified the dominant vegetation types in each 0.25x0.25 degree gridbox ! and use this as input to GEOS-Chem. ! ! The Olson 2001 landcover map also has 96 vegetation types compared with 74 ! for Olson 1992. For the most part vegetation types 75-96 are either not ! dominant vegetation types at 0.25x0.25 degrees or they are crop types that ! I lump with other similar vegetation types (either crops or mixed ! forest/field vegetation) so that the Olson 2001 landcover dataset at ! 0.25x0.25 degrees has 74 vegetation types. ! ! There are also new vegetation types that are defined in the Olson 2001 ! dataset from 1-74 that were previously listed as "not used" in ! drydep.table. These are assigned appropriate deposition ID # and z0 values. ! ! Vegetation types that are listed as "not used" in the updated drydep.table ! dataset are those that are not dominant at 0.25x0.25, but may be present ! in the 1kmx1km dataset." ! ! The following table shows the the translation between the Olson 2001 and ! Olson 1992 land maps: ! ! Olson 2001 Olson 1992 # in ! LC# Description Equivalent Dry deposition ! ========================================================================== ! 1 Urban 1 2 ! 2 Low Sparse Grassland 2 3 ! 3 Coniferous Forest 3 4 ! 4 Deciduous Conifer Forest 4 5 ! 5 Deciduous Broadleaf Forest 5 6 ! 6 Evergreen Broadleaf Forests 6 7 ! 7 Tall Grasses and Shrubs 7 8 ! 8 Bare Desert 8 9 ! 9 Upland Tundra 9 10 ! 10 Irrigated Grassland 10 11 ! 11 Semi Desert 11 12 ! 12 Glacier Ice 12 13 ! 13 Wooded Wet Swamp 13 14 ! 14 Inland Water 0 1 ! 15 Sea Water 0 1 ! 16 Shrub Evergreen 16 17 ! 17 Shrub Deciduous 18 19 ! 18 Mixed Forest and Field none present ! 19 Evergreen Forest and Fields 19 20 ! 20 Cool Rain Forest 20 21 ! 21 Conifer Boreal Forest 21 22 ! 22 Cool Conifer Forest 22 23 ! 23 Cool Mixed Forest 23 24 ! 24 Mixed Forest 24 25 ! 25 Cool Broadleaf Forest 25 26 ! 26 Deciduous Broadleaf Forest 26 27 ! 27 Conifer Forest 27 28 ! 28 Montane Tropical Forests 28 29 ! 29 Seasonal Tropical Forest 29 30 ! 30 Cool Crops and Towns 30 31 ! 31 Crops and Town 31 32 ! 32 Dry Tropical Woods 32 33 ! 33 Tropical Rainforest 33 34 ! 34 Tropical Degraded Forest 34 35 ! 35 Corn and Beans Cropland 35 36 ! 36 Rice Paddy and Field 36 37 ! 37 Hot Irrigated Cropland 37 38 ! 38 Cool Irrigated Cropland 38 39 ! 39 Cold Irrigated Cropland none present ! 40 Cool Grasses and Shrubs 40 41 ! 41 Hot and Mild Grasses and Shrubs 41 42 ! 42 Cold Grassland 42 43 ! 43 Savanna (Woods) 43 44 ! 44 Mire, Bog, Fen 44 45 ! 45 Marsh Wetland 45 46 ! 46 Mediterranean Scrub 46 47 ! 47 Dry Woody Scrub 47 48 ! 48 Dry Evergreen Woods none present ! 49 Volcanic Rock none present ! 50 Sand Desert none present ! 51 Semi Desert Shrubs 51 52 ! 52 Semi Desert Sage 52 53 ! 53 Barren Tundra 53 54 ! 54 Cool Southern Hemisphere Mixed Forests 54 55 ! 55 Cool Fields and Woods 55 56 ! 56 Forest and Field 56 57 ! 57 Cool Forest and Field 57 58 ! 58 Fields and Woody Savanna 58 59 ! 59 Succulent and Thorn Scrub 59 60 ! 60 Small Leaf Mixed Woods 60 61 ! 61 Deciduous and Mixed Boreal Forest 61 62 ! 62 Narrow Conifers 62 63 ! 63 Wooded Tundra 63 64 ! 64 Heath Scrub 64 65 ! 65 Coastal Wetland, NW none present ! 66 Coastal Wetland, NE none present ! 67 Coastal Wetland, SE none present ! 68 Coastal Wetland, SW none present ! 69 Polar and Alpine Desert 69 70 ! 70 Glacier Rock none present ! 71 Salt Playas none present ! 72 Mangrove 72 73 ! 73 Water and Island Fringe none present ! 74 Land, Water, and Shore (see Note 1) none present ! 75 Land and Water, Rivers (see Note 1) none present ! 76 Crop and Water Mixtures 36 37 ! 77 Southern Hemisphere Conifers none present ! 78 Southern Hemisphere Mixed Forest 32 33 ! 79 Wet Sclerophylic Forest 26 27 ! 80 Coastline Fringe none present ! 81 Beaches and Dunes none present ! 82 Sparse Dunes and Ridges none present ! 83 Bare Coastal Dunes none present ! 84 Residual Dunes and Beaches none present ! 85 Compound Coastlines none present ! 86 Rocky Cliffs and Slopes none present ! 87 Sandy Grassland and Shrubs none present ! 88 Bamboo none present ! 89 Moist Eucalyptus 26 27 ! 90 Rain Green Tropical Forest 33 34 ! 91 Woody Savanna 43 44 ! 92 Broadleaf Crops 29 30 ! 93 Grass Crops 41 42 ! 94 Crops, Grass, Shrubs 41 42 ! 95 Evergreen Tree Crop 33 34 ! 96 Deciduous Tree Crop 33 34 ! ! Arrays computed by olson_landmap_mod.F90 ! ============================================================================ ! (1) State_Met%IREG(I,J) : # of land types in horizontal grid cell (I,J) ! (2) State_Met%ILAND(I,J,T) : Land type ID for land types T=1,IREG(I,J) ! (3) State_Met%IUSE(I,J,T) : Fraction area (per mil) occupied by land types ! T=1,IREG(I,J) ! (4) State_Met%FRCLND(I,J) : Fraction area occupied by land for cell (I,J) ! ! !REVISION HISTORY: ! 13 Mar 2012 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: compute_olson_landmap ! ! !DESCRIPTION: Subroutine COMPUTE\_OLSON\_LANDMAP computes the ! GEOS-Chem State\_Met variables that are dependent on the Olson Landmap, ! specifically IREG, ILAND, IUSE, and FRCLND. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Compute_Olson_Landmap( Input_Opt, State_Grid, State_Met, RC ) ! ! !USES: ! USE CMN_SIZE_Mod, ONLY : NSURFTYPE USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: RC ! Success or failure ! ! !REVISION HISTORY: ! 27 Sep 2016 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I, J, T INTEGER :: typeCounter, maxFracInd(1), sumIUSE ! Arrays ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc !======================================================================= ! Compute_Olson_Landmap begins here! !======================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = & '-> at Compute_Olson_Landmap (in module GeosCore/olson_landmap_mod.F90)' !----------------------------------------------------------------------- ! Loop over all grid cells to set State_Met variables DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Initialize fraction land for this grid cell State_Met%FRCLND(I,J) = 1.e+0_fp ! Initialized as all land ! Initialize local variables typeCounter = 0 ! Tally of number of types found in the cell maxFracInd = 0 ! type index with greatest coverage sumIUSE = 0 ! total coverage across all types [mil] !-------------------------------------------------------------------- ! Loop over all landmap types to set IREG, ILAND, and IUSE !-------------------------------------------------------------------- DO T = 1, NSURFTYPE ! If this type has non-zero coverage in this grid box, update vars IF ( State_Met%LandTypeFrac(I,J,T) > 0.e+0_fp ) THEN ! Increment number of types in this cell typeCounter = typeCounter + 1 ! Set IREG to number of types State_Met%IREG(I,J) = typeCounter ! Store type index in ILAND array for this grid cell. ! Use 0-based index for compatibility with legacy drydep code. State_Met%ILAND(I,J,typeCounter) = T-1 ! Store fractional coverage in IUSE array for this grid cell. ! Units are [mil] for compatibility with legacy drydep code. State_Met%IUSE(I,J,typeCounter) = State_Met%LandTypeFrac(I,J,T) & * 1000 ! If this type is water, set fraction land IF ( T .eq. 1 ) THEN State_Met%FRCLND(I,J) = 1.e+0_fp & - State_Met%LandTypeFrac(I,J,T) ENDIF ENDIF ENDDO !-------------------------------------------------------------------- ! Make sure that State_Met%IUSE sums up to 1000 (per mil) !-------------------------------------------------------------------- ! Get IUSE type index with maximum coverage [mil] ! (NOTE: MAXLOC returns a vector with 1 element) maxFracInd = MAXLOC( State_Met%IUSE(I,J,1:State_Met%IREG(I,J)) ) ! Make sure we find the index of IUSE with maximum coverage IF ( maxFracInd(1) > 0 ) THEN ! Force IUSE to sum to 1000 by updating max value if necessary sumIUSE = SUM(State_Met%IUSE(I,J,1:State_Met%IREG(I,J))) IF ( sumIUSE /= 1000 ) THEN State_Met%IUSE(I,J,maxFracInd(1)) = & State_Met%IUSE(I,J,maxFracInd(1)) + ( 1000 - sumIUSE ) ENDIF ELSE ! If we could not find the index IUSE with maximum coverage, ! then this indicates a potential problem with the regridding. ! Throw an error and exit the routine here. WRITE( ErrMsg, 100 ) I, J 100 FORMAT( 'Error: State_Met%IUSE is zero at grid box (', & i6, ', ', i6, & '! This indicates a potential regridding problem! ' ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDDO ENDDO END SUBROUTINE Compute_Olson_Landmap !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: init_landtypefrac ! ! !DESCRIPTION: Attaches pointers from the MODIS XLAI data read in by ! HEMCO to the LandTypeFrac field of State\_Met. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_LandTypeFrac( Input_Opt, State_Grid, State_Met, RC ) ! ! !USES: ! USE CMN_SIZE_Mod, ONLY : NSURFTYPE USE ErrCode_Mod USE HCO_Utilities_GC_Mod, ONLY : HCO_GC_GetPtr USE Input_Opt_Mod, ONLY : OptInput USE State_Met_Mod, ONLY : MetState USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(GrdState), INTENT(INOUT) :: State_Grid TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! This follows the same methodology for GCHP, except that GCHP obtains the ! land type fractions via MAPL, and here we obtain them via HEMCO. ! ! !REVISION HISTORY: ! 13 Feb 2019 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: T LOGICAL :: FND ! Strings CHARACTER(LEN=10) :: Name CHARACTER(LEN=255) :: ErrMsg, ThisLoc ! Pointers REAL(f4), POINTER :: Ptr2D(:,:) !======================================================================= ! Init_LandTypeFrac begins here! !======================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = & ' -> at Init_LandTypeFrac (in module "GeosCore/olson_landmap_mod.F90' ! Zero land type fractions array for safety's sake State_Met%LandTypeFrac = 0.0_fp ! Loop over the number of Olson land types DO T = 1, NSURFTYPE ! Get the HEMCO pointer to each Olson landtype mask ! (variable names are LANDTYPE00, LANDTYPE01 .. LANDTYPE72) WRITE( Name, 100 ) T-1 100 FORMAT( 'LANDTYPE', i2.2 ) CALL HCO_GC_GetPtr( Input_Opt, State_Grid, Name, Ptr2D, RC, FOUND=FND ) ! Trap potential errors IF ( RC /= GC_SUCCESS .or. .not. FND ) THEN ErrMsg = 'Could not read HEMCO field: ' // TRIM( Name ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Copy into State_Met%LandTypeFrac State_Met%LandTypeFrac(:,:,T) = Ptr2D ! Free pointer Ptr2D => NULL() ENDDO END SUBROUTINE Init_LandTypeFrac !EOC END MODULE Olson_LandMap_Mod ================================================ FILE: GeosCore/pbl_mix_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: pbl_mix_mod.F90 ! ! !DESCRIPTION: Module PBL\_MIX\_MOD contains routines and variables used to ! compute the planetary boundary layer (PBL) height and to mix tracers ! underneath the PBL top. !\\ !\\ ! !INTERFACE: ! MODULE Pbl_Mix_Mod ! ! !USES: ! USE Precision_Mod IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: Do_Full_Pbl_Mixing PUBLIC :: Compute_Pbl_Height ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: TurbDay ! ! !REVISION HISTORY: ! 11 Feb 2005 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: do_pbl_mix ! ! !DESCRIPTION: Subroutine DO\_PBL\_MIX is the driver routine for planetary ! boundary layer mixing. The PBL layer height and related quantities are ! always computed. Complete mixing of tracers underneath the PBL top is ! toggled by the DO\_TURBDAY switch. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Do_Full_Pbl_Mixing( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE Diagnostics_Mod, ONLY : Compute_Budget_Diagnostics USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE Time_Mod, ONLY : Get_Ts_Conv USE Time_Mod, ONLY : Get_Ts_Dyn USE Timers_Mod, ONLY : Timer_End, Timer_Start USE UnitConv_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State object TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object INTEGER, INTENT(INOUT) :: RC ! Return code ! ! !REVISION HISTORY: ! 11 Feb 2005 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N INTEGER :: NA INTEGER :: TS_Dyn INTEGER :: previous_units REAL(f8) :: DT_Dyn ! Strings CHARACTER(LEN=255) :: ErrMsg CHARACTER(LEN=255) :: ThisLoc !======================================================================= ! Do_Full_Pbl_Mixing begins here! !======================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at DO_PBL_MIX (in module GeosCore/pbl_mix_mod.F90)' !======================================================================== ! Mixing budget diagnostics - Part 1 of 2 !======================================================================== IF ( State_Diag%Archive_BudgetMixing ) THEN ! Get initial column masses (full, trop, PBL) CALL Compute_Budget_Diagnostics( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & isFull = State_Diag%Archive_BudgetMixingFull, & diagFull = NULL(), & mapDataFull = State_Diag%Map_BudgetMixingFull, & isTrop = State_Diag%Archive_BudgetMixingTrop, & diagTrop = NULL(), & mapDataTrop = State_Diag%Map_BudgetMixingTrop, & isPBL = State_Diag%Archive_BudgetMixingPBL, & diagPBL = NULL(), & mapDataPBL = State_Diag%Map_BudgetMixingPBL, & isLevs = State_Diag%Archive_BudgetMixingLevs, & diagLevs = NULL(), & mapDataLevs = State_Diag%Map_BudgetMixingLevs, & colMass = State_Diag%BudgetColumnMass, & before_op = .TRUE., & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Mixing budget diagnostics error 1' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF ! Proceed to do full PBL mixing only if it has been selected in ! geoschem_config.yml IF ( Input_Opt%LTURB .and. ( .not. Input_Opt%LNLPBL ) ) THEN !===================================================================== ! Unit conversion #1 !===================================================================== ! Halt mixing timer (so that unit conv can be timed separately) IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "Boundary layer mixing", RC ) ENDIF ! Convert species to [v/v dry] aka [mol/mol dry] CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & mapping = State_Chm%Map_Advect, & new_units = MOLES_SPECIES_PER_MOLES_DRY_AIR, & previous_units = previous_units, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountred in "Convert_Spc_Units" (to mol/mol dry)!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Start mixing timer again IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "Boundary layer mixing", RC ) ENDIF !===================================================================== ! Do full PBL mixing !===================================================================== ! Do complete mixing of tracers in the PBL CALL TurbDay( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! Trap potential error IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "TURBDAY"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !===================================================================== ! Unit conversion #2 !===================================================================== ! Halt mixing timer (so that unit conv can be timed separately) IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "Boundary layer mixing", RC ) ENDIF ! Convert species back to original units CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & mapping = State_Chm%Map_Advect, & new_units = previous_units, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountred in "Convert_Spc_Units" (from mol/mol dry)!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Start mixing timer again IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "Boundary layer mixing", RC ) ENDIF ENDIF !======================================================================== ! Full PBL mixing budget diagnostics - Part 1 of 2 !======================================================================== IF ( State_Diag%Archive_BudgetMixing ) THEN ! Get dynamics timestep [s] TS_Dyn = Get_Ts_Dyn() DT_Dyn = DBLE( TS_Dyn ) ! Compute change in column masses (after mixing - before mixing) ! and store in diagnostic arrays. Units are [kg/s]. CALL Compute_Budget_Diagnostics( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & isFull = State_Diag%Archive_BudgetMixingFull, & diagFull = State_Diag%BudgetMixingFull, & mapDataFull = State_Diag%Map_BudgetMixingFull, & isTrop = State_Diag%Archive_BudgetMixingTrop, & diagTrop = State_Diag%BudgetMixingTrop, & mapDataTrop = State_Diag%Map_BudgetMixingTrop, & isPBL = State_Diag%Archive_BudgetMixingPBL, & diagPBL = State_Diag%BudgetMixingPBL, & mapDataPBL = State_Diag%Map_BudgetMixingPBL, & isLevs = State_Diag%Archive_BudgetMixingLevs, & diagLevs = State_Diag%BudgetMixingLevs, & mapDataLevs = State_Diag%Map_BudgetMixingLevs, & colMass = State_Diag%BudgetColumnMass, & timeStep = DT_Dyn, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Mixing budget diagnostics error 2' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF END SUBROUTINE Do_Full_Pbl_Mixing !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: compute_pbl_height ! ! !DESCRIPTION: Subroutine COMPUTE\_PBL\_HEIGHT computes the PBL height and ! other related quantities. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Compute_Pbl_Height( Input_Opt, State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE PhysConstants ! Rd, g0 USE Input_Opt_Mod, ONLY : OptInput USE PhysConstants, ONLY : Scale_Height USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 11 Feb 2005 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: Bad_Sum INTEGER :: I, J, L, LTOP REAL(fp) :: Lower_Edge_Height ! Arrays REAL(fp) :: P(0:State_Grid%NZ) !================================================================= ! COMPUTE_PBL_HEIGHT begins here! !================================================================= ! Initialize RC = GC_SUCCESS Bad_Sum = .FALSE. State_Met%InPbl = .FALSE. State_Met%F_of_PBL = 0.0_fp State_Met%F_Under_PBLTop = 0.0_fp !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, L, LTOP, Lower_Edge_Height )& !$OMP COLLAPSE( 2 )& !$OMP SCHEDULE( DYNAMIC, 8 ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Initialize variables State_Met%PBL_Top_m(I,J) = State_Met%PBLH(I,J) ! Pbl ht [m] above sfc LTOP = 0 ! Level w/ PBL top Lower_Edge_Height = 0.0_fp ! Lower edge height ! above sfc [m] ! Find PBL top level (L) and pressure (hPa) DO L = 1, State_Grid%NZ !------------------------------------------------------------------- ! The PBL top occurs in this level if the condition is true !------------------------------------------------------------------- IF ( Lower_Edge_Height + State_Met%BXHEIGHT(I,J,L) >= & State_Met%PBLH(I,J) ) THEN ! PBL top is in this level LTOP = L ! Pressure at the PBL top altitude, hPa ! Use pressure lapse equation: ! p(PBLH) = p(z1) * exp( -(PBLH-z1) / Scale_Height ) ! ! p(z1) = State_Met%PEDGE(I,J,L) = Pressure @ lower level edge ! ! PBLH - z1 = (State_Met%PBLH(I,J,L) - Lower_Edge_Height) = ! Height above the lower level edge ! ! Scale_Height = Rd * Tv / g0 State_Met%PBL_Top_hPa(I,J) = State_Met%PEdge(I,J,L) * & EXP( -( State_Met%PBLH(I,J) - Lower_Edge_Height ) * & g0 / ( Rd * State_Met%TV(I,J,L) ) ) ! Fraction of PBL mass in layer L, will be normalized below State_Met%F_of_PBL(I,J,L) = State_Met%PEdge(I,J,L) & - State_Met%PBL_Top_hPa(I,J) ! Fraction of the grid cell mass under PBL top State_Met%F_Under_PBLTop(I,J,L) = State_Met%F_of_PBL(I,J,L) / & ( State_Met%PEdge(I,J,L) - State_Met%PEdge(I,J,L+1) ) ! Model level of PBL top (integer+fraction). ! The top is within level CEILING(PBL_Top_L) State_Met%PBL_Top_L(I,J) = ( LTOP - 1 ) & + State_Met%F_Under_PBLTop(I,J,L) ! PBL Thickness from surface to top, hPa State_Met%PBL_Thick(I,J) = State_Met%PEdge(I,J,1) & - State_Met%PBL_Top_hPa(I,J) ! Exit Do loop after we found PBL top level EXIT ENDIF !------------------------------------------------------------------- ! The PBL top does not occur in this level. ! Update variables and go to next level. !------------------------------------------------------------------- ! Grid cell fully within PBL State_Met%inPBL(I,J,L) = .True. ! Fraction of the grid cell mass under PBL top State_Met%F_Under_PBLTop(I,J,L) = 1.0_fp ! Fraction of PBL mass in layer L, will be normalized below State_Met%F_of_PBL(I,J,L) = State_Met%PEdge(I,J,L) & - State_Met%PEdge(I,J,L+1) ! Update lower edge height, m Lower_Edge_Height = Lower_Edge_Height + State_Met%BXHeight(I,J,L) ENDDO ! Fraction of PBL mass in layer L, now normalize to sum of 1 State_Met%F_of_PBL(I,J,:) = State_Met%F_of_PBL(I,J,:) & / State_Met%PBL_Thick(I,J) ! Error check IF ( ABS( SUM( State_Met%F_OF_PBL(I,J,:) ) - 1.0_fp) > 1.0e-3_fp) THEN !$OMP CRITICAL PRINT*, 'bad sum at: ', I, J, SUM( State_Met%F_OF_PBL(I,J,:) ) Bad_Sum = .TRUE. !$OMP END CRITICAL ENDIF ENDDO ENDDO !$OMP END PARALLEL DO ! Exit to main program level if bad sum was encountered IF ( Bad_Sum ) THEN CALL GC_Error( 'Error in computing F_OF_PBL !', RC, & 'COMPUTE_PBL_HEIGHT ("pbl_mix_mod.F90")' ) RETURN ENDIF ! Model level where PBL top occurs State_Met%PBL_MAX_L = MAXVAL( CEILING( State_Met%PBL_Top_L ) ) END SUBROUTINE Compute_Pbl_Height !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: turbday ! ! !DESCRIPTION: ! Subroutine TURBDAY executes the GEOS-Chem boundary layer ! mixing algorithm (full PBL mixing). !\\ !\\ ! !INTERFACE: ! SUBROUTINE TurbDay( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE PhysConstants, ONLY : AIRMW USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE Time_Mod, ONLY : Get_Ts_Conv ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options Object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Metoerology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! Original subroutine by Dale Allen, Univ of MD. ! ! !REVISION HISTORY: ! 30 Jan 1998 - I. Bey, R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! SAVEd scalars LOGICAL, SAVE :: FIRST = .TRUE. ! Scalars INTEGER :: I, J, L INTEGER :: LTOP, N, NA REAL(fp) :: AA, CC, CC_AA, DTCONV ! Arrays REAL(fp) :: DTC REAL(fp) :: A(State_Grid%NX,State_Grid%NY) REAL(fp) :: FPBL(State_Grid%NX,State_Grid%NY) INTEGER :: IMIX(State_Grid%NX,State_Grid%NY) ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc ! Pointers REAL(fp), POINTER :: AD (:,:,: ) TYPE(SpcConc), POINTER :: TC (: ) !======================================================================== ! TURBDAY begins here! !======================================================================== ! Assume success RC = GC_SUCCESS ! First-time initialization IF ( FIRST .and. Input_Opt%amIRoot ) THEN ! Echo info WRITE( 6, '(a)' ) REPEAT( '=', 79 ) WRITE( 6, '(a)' ) 'T U R B D A Y -- by Dale Allen, U. Md.' WRITE( 6, '(a)' ) 'Adapted for GEOS-Chem by the GCST' WRITE( 6, '(a)' ) 'Last Modification Date: 15 May 2020' WRITE( 6, '(a)' ) REPEAT( '=', 79 ) ! Reset first time flag FIRST = .FALSE. ENDIF !======================================================================== ! Do the boundary layer mixing !======================================================================== ! Initalize AD => State_Met%AD ! Dry air mass TC => State_Chm%Species ! Chemical species [v/v] IMIX = ceiling( State_Met%PBL_Top_L ) ! Integer level where PBL top occurs FPBL = State_Met%PBL_Top_L - (IMIX-1) ! Fractional level above IMIX to PBL top ! Convection timestep [s] DTCONV = GET_TS_CONV() ! Loop over Lat/Long grid boxes (I,J) !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, NA, N, AA, CC, CC_AA, DTC ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! We assume full mixing in the boundary layer, so the A ! coefficients are 1 everywhere, day & night (bmy, 2/11/03) A(I,J) = 1e+0_fp ! Calculate air mass within PBL at grid box (I,J,L) AA = 0.e+0_fp DO L = 1, IMIX(I,J)-1 AA = AA + AD(I,J,L) ENDDO L = IMIX(I,J) AA = AA + AD(I,J,L) * FPBL(I,J) ! Loop over only the advected species DO NA = 1, State_Chm%nAdvect ! Species ID N = State_Chm%Map_Advect(NA) !=========================================================== ! Calculate tracer mass within PBL at grid box (I,J,L) !=========================================================== ! Sum mass from (I,J,L) below the PBL top CC = 0.e+0_fp DO L = 1, IMIX(I,J)-1 CC = CC + AD(I,J,L) * TC(N)%Conc(I,J,L) ENDDO ! Then also sum mass from (I,J,L) which straddle the PBL top L = IMIX(I,J) CC = CC + AD(I,J,L) * TC(N)%Conc(I,J,L) * FPBL(I,J) ! CC/AA is the mean mixing ratio of tracer at ! (I,J) from L=1 to L=LTOP CC_AA = CC / AA !======================================================== ! TC(N)%Conc(I,J,L) new = TC(N)%Conc(I,J,L) old + ! ( DTC / AD(I,J,L) ) ! ! where ! ! DTC = [ alpha * (mean MR below PBL) * ! Airmass at (I,J,L) ] - ! [ alpha * TC(N)%Conc(I,J,L) old * ! Airmass at (I,J,L) ] ! ! DTC is thus the change in mass (kg) due to BL mixing, ! so DTC/AD is the change in (V/V) mixing ratio units. !======================================================== ! For grid boxes (I,J,L) which lie below the PBL top DO L = 1, IMIX(I,J)-1 DTC = ( A(I,J) * CC_AA * AD(I,J,L) - & A(I,J) * TC(N)%Conc(I,J,L) * AD(I,J,L) ) TC(N)%Conc(I,J,L) = TC(N)%Conc(I,J,L) + DTC / AD(I,J,L) ENDDO ! For grid boxes (I,J,L) which straddle the PBL top L = IMIX(I,J) DTC = ( A(I,J) * FPBL(I,J) * CC_AA * AD(I,J,L) - & A(I,J) * FPBL(I,J) * TC(N)%Conc(I,J,L) * AD(I,J,L) ) TC(N)%Conc(I,J,L) = TC(N)%Conc(I,J,L) + DTC / AD(I,J,L) ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ! Free pointers AD => NULL() TC => NULL() END SUBROUTINE TurbDay !EOC END MODULE Pbl_Mix_Mod ================================================ FILE: GeosCore/photolysis_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: photolysis_mod.F90 ! ! !DESCRIPTION: Module PHOTOLYSIS\_MOD contains routines and variables ! for GEOS-Chem photolysis. !\\ !\\ ! !INTERFACE: ! MODULE PHOTOLYSIS_MOD ! ! !USES: ! USE PRECISION_MOD IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: Init_Photolysis PUBLIC :: Do_Photolysis PUBLIC :: PHOTRATE_ADJ ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: SET_AER PRIVATE :: RD_PROF_NC ! ! !REVISION HISTORY: ! 20 Mar 2023 - E. Lundgren - initial version, adapted from fast_jx_mod.F90 ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! Species ID flags INTEGER :: id_NIT, id_NITs, id_SALA, id_SALC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: init_photolysis ! ! !DESCRIPTION: Subroutine INIT\_PHOTOLYSIS initializes GEOS-Chem photolysis. !\\ !\\ ! !INTERFACE: ! SUBROUTINE INIT_PHOTOLYSIS( Input_Opt, State_Grid, State_Chm, & State_Diag, State_Met, RC ) ! ! !USES: ! USE Charpak_Mod, ONLY : CSTRIP #ifdef FASTJX USE CMN_FJX_Mod, ONLY : JVN_, W_, JLABEL, RNAMES, WL, JFACTA #else USE Cldj_Cmn_Mod, ONLY : JVN_, W_, JLABEL, RNAMES, WL, JFACTA #endif USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE PhysConstants, ONLY : Planck, CConst USE State_Chm_Mod, ONLY : ChmState, Ind_ USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState #ifdef FASTJX USE Fjx_Interface_Mod, ONLY : Init_FastJX #else USE Cldj_Interface_Mod, ONLY : Init_CloudJ #endif ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(DgnState), INTENT(IN) :: State_Diag ! Diagnostics State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 20 Mar 2023 - E. Lundgren - initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=50 ) :: TEXT CHARACTER(LEN=255) :: ErrMsg, ThisLoc ! Scalars LOGICAL :: notDryRun INTEGER :: J, K REAL(fp) :: ND64MULT ! Pointers INTEGER, POINTER :: GC_Photo_ID(:) !======================================================================= ! INIT_PHOTOLYSIS begins here! !======================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = & ' -> at Init_Photolysis (in module GeosCore/photolysis_mod.F90)' ! Set pointers GC_Photo_ID => State_Chm%Phot%GC_Photo_ID !-------------------------------------------------------------------- ! Initialize Fast-JX if photolysis enabled ! ! NOTE: we need to call this for a dry-run so that we can get ! a list of all of the lookup tables etc read by Fast-JX !-------------------------------------------------------------------- IF ( Input_Opt%Do_Photolysis ) THEN #ifdef FASTJX IF ( TRIM(Input_Opt%Fast_JX_Dir) == MISSING_STR ) THEN ErrMsg = 'Init_Photolysis: Fast-JX directory missing in ' // & 'in geoschem_config.yml!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF CALL Init_FastJX( Input_Opt, State_Diag, State_Chm, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Init_FastJX"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF #else IF ( TRIM(Input_Opt%CloudJ_Dir) == MISSING_STR ) THEN ErrMsg = 'Init_Photolysis: Cloud-J directory missing in ' // & 'geoschem_config.yml!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF CALL Init_CloudJ( Input_Opt, State_Grid, State_Diag, & State_Chm, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Init_CloudJ"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF #endif ENDIF !-------------------------------------------------------------------- ! Read in T & O3 climatology to fill e.g. upper layers or if O3 not calc. !-------------------------------------------------------------------- ! NOTE: Cloud-J reads in an ascii file with this data during initialization ! and uses it prior to calling Cloud_JX within the Cloud-J standalone. In ! GEOS-Chem we read a netcdf file instead and use the data within ! subroutine Set_Prof_Fjx if using Fast-JX and Set_Prof_CloudJ if using ! Cloud-J. The data is stored in State_Chm%Phot%TREF/%OREF. Cloud-J ! globals variables TREF and OREF are only used for Cloud-J standalone. CALL RD_PROF_NC( Input_Opt, State_Grid, State_Chm, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in routine "Rd_Prof_Nc"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Exit without doing any computations if we are doing a dry-run ! Exit if photolysis disabled (zero J-values) !------------------------------------------------------------------------ IF ( Input_Opt%DryRun .OR. .NOT. Input_Opt%Do_Photolysis ) RETURN !-------------------------------------------------------------------- ! Set up MIEDX array to interpret between GC and FJX aerosol indexing !------------------------------------------------------------------------ CALL SET_AER( Input_Opt, State_Chm, RC ) !======================================================================== ! Flag special reactions that will be later adjusted by ! routine PHOTRATE_ADJ (called from FlexChem) !======================================================================== IF ( Input_Opt%ITS_A_FULLCHEM_SIM ) THEN ! Loop over all photolysis reactions DO K = 1, State_Chm%Phot%nPhotRxns ! Strip all blanks from the reactants and products list TEXT = JLABEL(K) CALL CSTRIP( TEXT ) !IF ( Input_Opt%amIRoot ) THEN ! WRITE(*,*) K, TRIM( TEXT ) !ENDIF ! Look for certain reactions SELECT CASE( TRIM( TEXT ) ) CASE( 'O2PHOTONOO' ) State_Chm%Phot%RXN_O2 = K ! O2 + hv -> O + O CASE( 'O3PHOTONO2O' ) State_Chm%Phot%RXN_O3_1 = K ! O3 + hv -> O2 + O CASE( 'O3PHOTONO2O(1D)' ) State_Chm%Phot%RXN_O3_2 = K ! O3 + hv -> O2 + O(1D) CASE( 'SO4PHOTONSO2OHOH' ) State_Chm%Phot%RXN_H2SO4 = K ! SO4 + hv -> SO2 + OH + OH CASE( 'NO2PHOTONNOO' ) State_Chm%Phot%RXN_NO2 = K ! NO2 + hv -> NO + O CASE( 'NOPHOTONNO' ) State_Chm%Phot%RXN_NO = K ! NO + hv -> N + O CASE( 'NO3PHOTONNO2O' ) State_Chm%Phot%RXN_NO3 = K ! NO3 + hv -> NO2 + O CASE( 'N2OPHOTONN2O' ) State_Chm%Phot%RXN_N2O = K ! N2O + hv -> N2 + O CASE( 'NITsPHOTONHNO2' ) State_Chm%Phot%RXN_JNITSa = K ! NITs + hv -> HNO2 CASE( 'NITsPHOTONNO2' ) State_Chm%Phot%RXN_JNITSb = K ! NITs + hv -> NO2 CASE( 'NITPHOTONHNO2' ) State_Chm%Phot%RXN_JNITa = K ! NIT + hv -> HNO2 CASE( 'NITPHOTONNO2' ) State_Chm%Phot%RXN_JNITb = K ! NIT + hv -> NO2 CASE( 'HNO3PHOTONNO2OH' ) State_Chm%Phot%RXN_JHNO3 = K ! HNO3 + hv = OH + NO2 CASE DEFAULT ! Nothing END SELECT ENDDO !--------------------------------------------------------------------- ! Error check the various rxn flags !--------------------------------------------------------------------- IF ( State_Chm%Phot%RXN_O2 < 0 ) THEN ErrMsg = 'Could not find rxn O2 + hv -> O + O' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( State_Chm%Phot%RXN_O3_1 < 0 ) THEN ErrMsg = 'Could not find rxn O3 + hv -> O2 + O' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( State_Chm%Phot%RXN_O3_2 < 0 ) THEN ErrMsg = 'Could not find rxn O3 + hv -> O2 + O(1D)' CALL GC_Error( ErrMsg, RC, ThisLoc ) ENDIF IF ( State_Chm%Phot%RXN_NO2 < 0 ) THEN ErrMsg = 'Could not find rxn NO2 + hv -> NO + O' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( State_Chm%Phot%RXN_NO2 < 0 ) THEN ErrMsg = 'Could not find rxn NO2 + hv -> NO + O' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( State_Chm%Phot%RXN_JNITSa < 0 ) THEN ErrMsg = 'Could not find rxn NITS + hv -> HNO2' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( State_Chm%Phot%RXN_JNITSb < 0 ) THEN ErrMsg = 'Could not find rxn NITS + hv -> NO2' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( State_Chm%Phot%RXN_JNITa < 0 ) THEN ErrMsg = 'Could not find rxn NIT + hv -> HNO2' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( State_Chm%Phot%RXN_JNITb < 0 ) THEN ErrMsg = 'Could not find rxn NIT + hv -> NO2' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( State_Chm%Phot%RXN_H2SO4 < 0 ) THEN ErrMsg = 'Could not find rxn SO4 + hv -> SO2 + OH + OH!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( State_Chm%Phot%RXN_NO3 < 0 ) THEN ErrMsg = 'Could not find rxn NO3 + hv -> NO2 + O' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( State_Chm%Phot%RXN_NO < 0 ) THEN ErrMsg = 'Could not find rxn NO + hv -> O + N' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( State_Chm%Phot%RXN_N2O < 0 ) THEN ErrMsg = 'Could not find rxn N2O + hv -> N2 + O(1D)' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !--------------------------------------------------------------------- ! Print out saved rxn flags for fullchem simulations !--------------------------------------------------------------------- IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 100 ) REPEAT( '=', 79 ) WRITE( 6, 110 ) WRITE( 6, 120 ) State_Chm%Phot%RXN_O2 WRITE( 6, 130 ) State_Chm%Phot%RXN_O3_1 WRITE( 6, 140 ) State_Chm%Phot%RXN_O3_2 WRITE( 6, 180 ) State_Chm%Phot%RXN_JNITSa WRITE( 6, 190 ) State_Chm%Phot%RXN_JNITSb WRITE( 6, 200 ) State_Chm%Phot%RXN_JNITa WRITE( 6, 210 ) State_Chm%Phot%RXN_JNITb WRITE( 6, 160 ) State_Chm%Phot%RXN_H2SO4 WRITE( 6, 170 ) State_Chm%Phot%RXN_NO2 WRITE( 6, 100 ) REPEAT( '=', 79 ) ENDIF ENDIF !======================================================================== ! Flag reactions for diagnostics (only in Hg chem) !======================================================================== IF ( Input_Opt%ITS_A_MERCURY_SIM ) THEN ! Loop over all photolysis reactions DO K = 1, State_Chm%Phot%nPhotRxns ! Strip all blanks from the reactants and products list TEXT = JLABEL(K) CALL CSTRIP( TEXT ) ! Look for certain reactions SELECT CASE( TRIM( TEXT ) ) CASE( 'O3PHOTONO2O' ) State_Chm%Phot%RXN_O3_1 = K ! O3 + hv -> O2 + O CASE( 'O3PHOTONO2O(1D)' ) State_Chm%Phot%RXN_O3_2 = K ! O3 + hv -> O2 + O(1D) CASE( 'NO2PHOTONNOO' ) State_Chm%Phot%RXN_NO2 = K ! NO2 + hv -> NO + O CASE( 'BrOPHOTONBrO' ) State_Chm%Phot%RXN_BrO = K ! BrO + hv -> Br + O CASE( 'ClOPHOTONClO' ) State_Chm%Phot%RXN_ClO = K ! ClO + hv -> Cl + O CASE DEFAULT ! Nothing END SELECT ENDDO !-------------------------------------------------------------------- ! Error check the various rxn flags !-------------------------------------------------------------------- IF ( State_Chm%Phot%RXN_O3_1 < 0 ) THEN ErrMsg = 'Could not find rxn O3 + hv -> O2 + O' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( State_Chm%Phot%RXN_O3_2 < 0 ) THEN ErrMsg = 'Could not find rxn O3 + hv -> O2 + O(1D) #1' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( State_Chm%Phot%RXN_NO2 < 0 ) THEN ErrMsg = 'Could not find rxn NO2 + hv -> NO + O' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( State_Chm%Phot%RXN_BrO < 0 ) THEN ErrMsg = 'Could not find rxn BrO + hv -> Br + O' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( State_Chm%Phot%RXN_ClO < 0 ) THEN ErrMsg = 'Could not find rxn ClO + hv -> Cl + O' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !--------------------------------------------------------------------- ! Print out saved rxn flags for Hg simulation !--------------------------------------------------------------------- IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 100 ) REPEAT( '=', 79 ) WRITE( 6, 110 ) WRITE( 6, 130 ) State_Chm%Phot%RXN_O3_1 WRITE( 6, 140 ) State_Chm%Phot%RXN_O3_2 WRITE( 6, 170 ) State_Chm%Phot%RXN_NO2 WRITE( 6, 220 ) State_Chm%Phot%RXN_BrO WRITE( 6, 230 ) State_Chm%Phot%RXN_ClO WRITE( 6, 100 ) REPEAT( '=', 79 ) ENDIF ENDIF ! Skip further processing if we are in dry-run mode IF ( .not. Input_Opt%DryRun ) THEN ! Define species IDs id_NIT = IND_('NIT') id_NITs = IND_('NITs') id_SALA = IND_('SALA') id_SALC = IND_('SALC') ! Get the GEOS-Chem photolysis index for each of the 1...JVN_ entries ! in the FJX_j2j.dat file. We'll use this for the diagnostics. DO J = 1, State_Chm%Phot%nMaxPhotRxns IF ( J == State_Chm%Phot%Rxn_O3_2 ) THEN !------------------------------------------------------------ ! O3 + hv = O + O(1D) ! ! Save this as JO3_O1D in the nPhotol+1 slot !------------------------------------------------------------ GC_Photo_Id(J) = State_Chm%nPhotol + 1 ELSE IF ( J == State_Chm%Phot%Rxn_O3_1 ) THEN !------------------------------------------------------------ ! O3 + hv -> O + O ! ! Save this as JO3_O3P in the nPhotol+2 slot !------------------------------------------------------------- GC_Photo_Id(J) = State_Chm%nPhotol + 2 ELSE !------------------------------------------------------------ ! Everything else ! ! Find the matching GEOS-Chem photolysis species number !------------------------------------------------------------ GC_Photo_Id(J) = Ind_( RNAMES(J), 'P' ) ENDIF ! Print the mapping IF ( Input_Opt%amIRoot ) THEN IF ( GC_Photo_Id(J) > 0 ) THEN WRITE(6, 240) RNAMES(J), J, GC_Photo_Id(J), JFACTA(J) 240 FORMAT( a10, ':', i7, 2x, i7, 2x, f7.4 ) ENDIF ENDIF ENDDO !===================================================================== ! Compute factors for UV flux diagnostics if turned on !===================================================================== IF ( State_Diag%Archive_UVFluxNet .or. & State_Diag%Archive_UVFluxDirect .or. & State_Diag%Archive_UVFluxDiffuse ) THEN ND64MULT = PLANCK * CCONST * 1.0e+13_fp State_Chm%Phot%UVXFACTOR = 0e+0_fp DO J = 1, W_ State_Chm%Phot%UVXFACTOR(J) = ND64MULT/WL(J) ENDDO ENDIF ENDIF ! Free pointers GC_Photo_ID => NULL() ! FORMAT statements 100 FORMAT( a ) 110 FORMAT( 'Photo rxn flags saved for use in PHOTRATE_ADJ:', / ) 120 FORMAT( 'RXN_O2 [ O2 + hv -> O + O ] = ', i5 ) 130 FORMAT( 'RXN_O3_1 [ O3 + hv -> O2 + O ] = ', i5 ) 140 FORMAT( 'RXN_O3_2a [ O3 + hv -> O2 + O(1D) #1 ] = ', i5 ) 150 FORMAT( 'RXN_O3_2b [ O3 + hv -> O2 + O(1D) #2 ] = ', i5 ) 160 FORMAT( 'RXN_H2SO4 [ SO4 + hv -> SO2 + OH + OH ] = ', i5 ) 170 FORMAT( 'RXN_NO2 [ NO2 + hv -> NO + O ] = ', i5 ) 180 FORMAT( 'RXN_JNITSa [ NITS + hv -> HNO2 ] = ', i5 ) 190 FORMAT( 'RXN_JNITSb [ NITS + hv -> NO2 ] = ', i5 ) 200 FORMAT( 'RXN_JNITa [ NIT + hv -> HNO2 ] = ', i5 ) 210 FORMAT( 'RXN_JNITb [ NIT + hv -> NO2 ] = ', i5 ) 220 FORMAT( 'RXN_BrO [ BrO + hv -> Br + O ] = ', i5 ) 230 FORMAT( 'RXN_ClO [ ClO + hv -> Cl + O ] = ', i5 ) END SUBROUTINE Init_Photolysis !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !ROUTINE: do_photolysis ! ! !DESCRIPTION: Subroutine DO\_PHOTOLYSIS loops over longitude and latitude, ! and computes J-Values for each column at every chemistry time-step. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Do_Photolysis( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState #ifdef FASTJX USE Fjx_Interface_Mod, ONLY : Run_FastJX #else USE Cldj_Interface_Mod, ONLY : Run_CloudJ #endif IMPLICIT NONE ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input options TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! ! !REVISION HISTORY: ! 20 Mar 2023 - E. Lundgren - initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: Wavelength CHARACTER(LEN=255) :: ErrMsg, ThisLoc !================================================================= ! DO_PHOTOLYSIS begins here! !================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at DO_PHOTOLYSIS (in module GeosCore/photolysis_mod.F90)' WAVELENGTH = 0 #ifdef FASTJX CALL Run_FastJX( Wavelength, Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) #else CALL Run_CloudJ( Input_Opt, State_Chm, State_Diag, State_Grid, State_Met, RC ) #endif IF ( RC /= GC_SUCCESS ) THEN #ifdef FASTJX ErrMsg = 'Error encountered in subroutine Run_FastJX!' #else ErrMsg = 'Error encountered in subroutine Run_CloudJ!' #endif CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF END SUBROUTINE Do_Photolysis !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: photrate_adj ! ! !DESCRIPTION: Subroutine PHOTRATE\_ADJ adjusts certain photolysis rates ! for chemistry. !\\ !\\ ! !INTERFACE: ! SUBROUTINE PHOTRATE_ADJ( Input_Opt, State_Chm, State_Diag, State_Met, & I, J, L, FRAC, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Met_Mod, ONLY : MetState USE Error_Mod, ONLY : SAFE_DIV ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input_Options object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object INTEGER, INTENT(IN) :: I, J, L ! Lon, lat, lev indices REAL(fp), INTENT(IN) :: FRAC ! Result of SO4_PHOTFRAC, ! called from DO_FLEXCHEM ! !INPUT/OUTPUT PARAMETERS: ! TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REMARKS: ! NOTE: The netCDF diagnostics are attached in DO_FLEXCHEM so that we have ! access to the adjusted rates. ! -- Bob Yantosca, 19 Dec 2017 ! ! %%%% NOTE: WE SHOULD UPDATE THE COMMENTS TO MAKE SURE THAT WE DO %%%% ! %%%% NOT KEEP ANY CONFLICTING OR INCORRECT INFORMATION (bmy, 3/28/16) %%%% ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: RXN_JNITSa, RXN_JNITSb, RXN_JNITa, RXN_JNITb INTEGER :: RXN_JHNO3, RXN_H2SO4, RXN_O3_1, RXN_O3_2 REAL(fp) :: JscaleNITs, JscaleNIT, JNITChanA, JNITChanB REAL(fp) :: C_O2, C_N2, C_H2, ITEMPK, RO1DplH2O REAL(fp) :: RO1DplH2, RO1D, NUMDEN, TEMP, C_H2O REAL(fp) :: C_NIT, C_NITs, C_SALA, C_SALC, FAC ! Pointers REAL*8, POINTER :: ZPJ(:,:,:,:) !================================================================= ! PHOTRATE_ADJ begins here! !================================================================= ! Initialize RC = GC_SUCCESS TEMP = State_Met%T(I,J,L) ! K NUMDEN = State_Met%AIRNUMDEN(I,J,L) ! molec/cm3 C_H2O = State_Met%AVGW(I,J,L) * State_Met%AIRNUMDEN(I,J,L) ! molec/cm3 ! Reaction flags RXN_JNITSa = State_Chm%Phot%RXN_JNITSa RXN_JNITSb = State_Chm%Phot%RXN_JNITSb RXN_JNITa = State_Chm%Phot%RXN_JNITa RXN_JNITb = State_Chm%Phot%RXN_JNITb RXN_JHNO3 = State_Chm%Phot%RXN_JHNO3 RXN_H2SO4 = State_Chm%Phot%RXN_H2SO4 RXN_O3_1 = State_Chm%Phot%RXN_O3_1 RXN_O3_2 = State_Chm%Phot%RXN_O3_2 ! Pointers ZPJ => State_Chm%Phot%ZPJ ! For all mechanisms. Set the photolysis rate of NITs and NIT to a ! scaled value of JHNO3. NOTE: this is set in geoschem_config.yml ! Allow particulate nitrate photolysis in the troposphere only IF ( Input_Opt%hvAerNIT .and. & State_Met%InTroposphere(I,J,L) ) THEN ! Get NIT and NITs concentrations [molec cm-3] C_NIT = State_Chm%Species(id_NIT)%Conc(I,J,L) C_NITs = State_Chm%Species(id_NITs)%Conc(I,J,L) ! Get sea-salt concentrations [molec cm-3] C_SALA = State_Chm%Species(id_SALA)%Conc(I,J,L) C_SALC = State_Chm%Species(id_SALC)%Conc(I,J,L) ! Scaling factor for J(NIT) FAC = SAFE_DIV( C_SALA, C_SALA + C_NIT, 1e+0_fp ) ! Set FRAC_NIT to a minimum of 0.1 FAC = MAX( 0.1e+0_fp, FAC ) JscaleNITs = Input_Opt%hvAerNIT_JNITs JscaleNIT = Input_Opt%hvAerNIT_JNIT ! convert reaction channel % to a fraction JNITChanA = Input_Opt%JNITChanA JNITChanB = Input_Opt%JNITChanB JNITChanA = JNITChanA / 100.0_fp JNITChanB = JNITChanB / 100.0_fp ! Set the photolysis rate of NITs ZPJ(L,RXN_JNITSa,I,J) = ZPJ(L,RXN_JHNO3,I,J) * JscaleNITs ZPJ(L,RXN_JNITSb,I,J) = ZPJ(L,RXN_JHNO3,I,J) * JscaleNITs ! Set the photolysis rate of NIT ZPJ(L,RXN_JNITa,I,J) = ZPJ(L,RXN_JHNO3,I,J) * JscaleNIT * FAC ZPJ(L,RXN_JNITb,I,J) = ZPJ(L,RXN_JHNO3,I,J) * JscaleNIT * FAC ! NOTE: channel scaling is 1 in FJX_j2j.dat, then updated here ZPJ(L,RXN_JNITSa,I,J) = ZPJ(L,RXN_JNITSa,I,J) * JNITChanA ZPJ(L,RXN_JNITa,I,J) = ZPJ(L,RXN_JNITa,I,J) * JNITChanA ZPJ(L,RXN_JNITSb,I,J) = ZPJ(L,RXN_JNITSb,I,J) * JNITChanB ZPJ(L,RXN_JNITb,I,J) = ZPJ(L,RXN_JNITb,I,J) * JNITChanB ! Gotcha to set JNIT and JNITs to zero if hvAerNIT switch is off ELSE ! Set the photolysis rate of NITs to zero ZPJ(L,RXN_JNITSa,I,J) = 0.0_fp ZPJ(L,RXN_JNITSb,I,J) = 0.0_fp ! Set the photolysis rate of NIT to zero ZPJ(L,RXN_JNITa,I,J) = 0.0_fp ZPJ(L,RXN_JNITb,I,J) = 0.0_fp ENDIF !============================================================== ! SPECIAL TREATMENT FOR H2SO4+hv -> SO2 + 2OH ! ! Only allow photolysis of H2SO4 when gaseous (SDE 04/11/13) !============================================================== ! Calculate if H2SO4 expected to be gaseous or aqueous ! Only allow photolysis above 6 hPa ! RXN_H2SO4 specifies SO4 + hv -> SO2 + OH + OH ZPJ(L,RXN_H2SO4,I,J) = ZPJ(L,RXN_H2SO4,I,J) * FRAC !============================================================== ! SPECIAL TREATMENT FOR O3+hv -> O+O2 ! ! [O1D]ss=J[O3]/(k[H2O]+k[N2]+k[O2]) ! SO, THE EFFECTIVE J-VALUE IS J*k[H2O]/(k[H2O]+k[N2]+k[O2]) ! ! We don't want to do this if strat-chem is in use, as all ! the intermediate reactions are included - this would be ! double-counting (SDE 04/01/13) !============================================================== ! Need to subtract O3->O1D from rate ! RXN_O3_1 specifies: O3 + hv -> O2 + O ! RXN_O3_2 specifies: O3 + hv -> O2 + O(1D) ZPJ(L,RXN_O3_1,I,J) = ZPJ(L,RXN_O3_1,I,J) & - ZPJ(L,RXN_O3_2,I,J) ! Free pointers ZPJ => NULL() END SUBROUTINE PHOTRATE_ADJ !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: set_aer ! ! !DESCRIPTION: Subroutine SET\_AER fills out the array MIEDX. ! Each entry connects a GEOS-Chem aerosol to its Fast-JX counterpart: ! MIEDX(Fast-JX index) = (GC index) !\\ !\\ ! !INTERFACE: ! SUBROUTINE SET_AER( Input_Opt, State_Chm, RC ) ! ! !USES: ! #ifdef FASTJX USE CMN_FJX_Mod, ONLY : AN_, NAA, TITLAA #else USE Cldj_Cmn_Mod, ONLY : AN_, NAA, TITLAA #endif USE CMN_SIZE_Mod, ONLY : NRHAER, NRH USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input options ! ! !INPUT/OUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 31 Mar 2013 - S. D. Eastham - Adapted from J. Mao FJX v6.2 implementation ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=255) :: ErrMsg, ThisLoc INTEGER :: I, J, K INTEGER :: IND(NRHAER) INTEGER, POINTER :: MIEDX(:) !================================================================= ! SER_AER begins here! !================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Set_Aer (in module GeosCore/photolysis_mod.F90)' ! Set pointer MIEDX => State_Chm%Phot%MIEDX ! Taken from aerosol_mod.F IND = (/22,29,36,43,50/) DO I=1,AN_ MIEDX(I) = 0 ENDDO ! Select Aerosol/Cloud types to be used - define types here ! Each of these types must be listed in the order used by OPMIE.F ! Clouds MIEDX(1) = 3 ! Black carbon absorber MIEDX(2) = 10 ! Water Cloud (Deirmenjian 8 micron) MIEDX(3) = 14 ! Irregular Ice Cloud (Mishchenko) ! Dust MIEDX(4) = 15 ! Mineral Dust .15 micron (rvm, 9/30/00) MIEDX(5) = 16 ! Mineral Dust .25 micron (rvm, 9/30/00) MIEDX(6) = 17 ! Mineral Dust .4 micron (rvm, 9/30/00) MIEDX(7) = 18 ! Mineral Dust .8 micron (rvm, 9/30/00) MIEDX(8) = 19 ! Mineral Dust 1.5 micron (rvm, 9/30/00) MIEDX(9) = 20 ! Mineral Dust 2.5 micron (rvm, 9/30/00) MIEDX(10) = 21 ! Mineral Dust 4.0 micron (rvm, 9/30/00) ! Aerosols DO I=1,NRHAER DO J=1,NRH MIEDX(10+((I-1)*NRH)+J)=IND(I)+J-1 ENDDO ENDDO ! Stratospheric aerosols - SSA/STS and solid PSCs #ifdef FASTJX MIEDX(10+(NRHAER*NRH)+1) = 4 ! SSA/LBS/STS #else MIEDX(10+(NRHAER*NRH)+1) = 1 ! SSA/LBS/STS #endif MIEDX(10+(NRHAER*NRH)+2) = 14 ! NAT/ice PSCs ! Ensure all 'AN_' types are valid selections do i=1,AN_ IF (Input_Opt%amIRoot) write(6,1000) MIEDX(i),TITLAA(MIEDX(i)) if (MIEDX(i).gt.NAA.or.MIEDX(i).le.0) then if (Input_Opt%amIRoot) then write(6,1200) MIEDX(i),NAA endif ErrMsg = 'Bad MIEDX value in "Set_AER"!' call GC_Error( ErrMsg, RC, ThisLoc ) return endif enddo ! Free pointer MIEDX => NULL() 1000 format('Using Aerosol type: ',i3,1x,a) 1200 format('Aerosol type ',i3,' unsuitable; supplied values must be ', & 'between 1 and ',i3) END SUBROUTINE SET_AER !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: rd_prof_nc ! ! !DESCRIPTION: Subroutine RD\_PROF\_NC reads in the reference climatology ! from a NetCDF file rather than an ASCII .dat. !\\ !\\ ! !INTERFACE: ! SUBROUTINE RD_PROF_NC( Input_Opt, State_Grid, State_Chm, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState USE State_Chm_Mod, ONLY : ChmState #if defined( MODEL_CESM ) USE CAM_PIO_UTILS, ONLY : CAM_PIO_OPENFILE USE IOFILEMOD, ONLY : GETFIL USE PIO, ONLY : PIO_CLOSEFILE USE PIO, ONLY : PIO_INQ_DIMID USE PIO, ONLY : PIO_INQ_DIMLEN USE PIO, ONLY : PIO_INQ_VARID USE PIO, ONLY : PIO_GET_VAR USE PIO, ONLY : PIO_NOERR USE PIO, ONLY : PIO_NOWRITE USE PIO, ONLY : FILE_DESC_T #else USE m_netcdf_io_open USE m_netcdf_io_read USE m_netcdf_io_readattr USE m_netcdf_io_close #endif ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry state object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! This file was automatically generated by the Perl scripts in the ! NcdfUtilities package (which ships w/ GEOS-Chem) and was subsequently ! hand-edited. ! ! !REVISION HISTORY: ! 19 Apr 2012 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: FileExists ! Does input file exist? INTEGER :: fId ! netCDF file ID ! Strings CHARACTER(LEN=255) :: nc_dir ! netCDF directory name CHARACTER(LEN=255) :: nc_file ! netCDF file name CHARACTER(LEN=255) :: nc_path ! netCDF path name CHARACTER(LEN=255) :: v_name ! netCDF variable name CHARACTER(LEN=255) :: a_name ! netCDF attribute name CHARACTER(LEN=255) :: a_val ! netCDF attribute value CHARACTER(LEN=255) :: FileMsg CHARACTER(LEN=255) :: ErrMsg CHARACTER(LEN=255) :: ThisLoc ! Arrays INTEGER :: st3d(3), ct3d(3) ! For 3D arrays #if defined( MODEL_CESM ) type(FILE_DESC_T) :: ncid INTEGER :: vId, iret #endif ! Pointers REAL(fp), POINTER :: OREF(:,:,:) REAL(fp), POINTER :: TREF(:,:,:) !================================================================= ! RD_PROF_NC begins here! !================================================================= ! Initialize ! Assume success RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at RD_PROF_NC (in module GeosCore/photolysis_mod.F90)' #if defined( MODEL_CESM ) ! In the CESM model, only read on the root chunk, but on all CPUs (hplin, 7/3/24) IF ( State_Grid%CPU_Subdomain_ID .ne. State_Grid%CPU_Subdomain_FirstID ) RETURN #endif ! Set pointers OREF => State_Chm%Phot%OREF TREF => State_Chm%Phot%TREF ! Directory and file names nc_dir = TRIM( Input_Opt%CHEM_INPUTS_DIR ) // '/' // 'FastJ_201204' // '/' nc_file = 'fastj.jv_atms_dat.nc' nc_path = TRIM( nc_dir ) // TRIM( nc_file ) !================================================================= ! In dry-run mode, print file path to dryrun log and exit. ! Otherwise, print file path to stdout and continue. !================================================================= ! Test if the file exists INQUIRE( FILE=TRIM( nc_path ), EXIST=FileExists ) ! Test if the file exists and define an output string IF ( FileExists ) THEN FileMsg = 'PHOTOLYSIS (RD_PROF_NC): Opening' ELSE FileMsg = 'PHOTOLYSIS (RD_PROF_NC): REQUIRED FILE NOT FOUND' ENDIF ! Write to stdout for both regular and dry-run simulations IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 300 ) TRIM( FileMsg ), TRIM( nc_path ) 300 FORMAT( a, ' ', a ) ENDIF ! For dry-run simulations, return to calling program. ! For regular simulations, throw an error if we can't find the file. IF ( Input_Opt%DryRun ) THEN RETURN ELSE IF ( .not. FileExists ) THEN WRITE( ErrMsg, 300 ) TRIM( FileMsg ), TRIM( nc_path ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !========================================================================= ! Open and read data from the netCDF file !========================================================================= ! Open netCDF file #if defined( MODEL_CESM ) ! Note: In CESM environment, PIO_OPENFILE is a collective operation and must ! be called by all CPUs. (hplin, 7/3/24) CALL CAM_PIO_OPENFILE( ncid, TRIM(nc_path), PIO_NOWRITE ) #else CALL Ncop_Rd( fId, TRIM(nc_path) ) #endif ! Echo info to stdout IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 100 ) REPEAT( '%', 79 ) WRITE( 6, 110 ) TRIM(nc_file) WRITE( 6, 120 ) TRIM(nc_dir) ENDIF !---------------------------------------- ! VARIABLE: T !---------------------------------------- ! Variable name v_name = "T" ! Read T from file st3d = (/ 1, 1, 1 /) ct3d = (/ 51, 18, 12 /) #if defined( MODEL_CESM ) iret = PIO_INQ_VARID( ncid, trim(v_name), vid ) iret = PIO_GET_VAR( ncid, vid, st3d, ct3d, TREF ) #else CALL NcRd( TREF, fId, TRIM(v_name), st3d, ct3d ) ! Read the T:units attribute a_name = "units" CALL NcGet_Var_Attributes( fId,TRIM(v_name),TRIM(a_name),a_val ) ! Echo info to stdout IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 130 ) TRIM(v_name), TRIM(a_val) ENDIF #endif !---------------------------------------- ! VARIABLE: O3 !---------------------------------------- ! Variable name v_name = "O3" ! Read O3 from file st3d = (/ 1, 1, 1 /) ct3d = (/ 51, 18, 12 /) #if defined( MODEL_CESM ) iret = PIO_INQ_VARID( ncid, trim(v_name), vid ) iret = PIO_GET_VAR( ncid, vid, st3d, ct3d, OREF ) #else CALL NcRd( OREF, fId, TRIM(v_name), st3d, ct3d ) ! Read the O3:units attribute a_name = "units" CALL NcGet_Var_Attributes( fId,TRIM(v_name),TRIM(a_name),a_val ) ! Echo info to stdout IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 130 ) TRIM(v_name), TRIM(a_val) ENDIF #endif !================================================================= ! Cleanup and quit !================================================================= ! Close netCDF file #if defined( MODEL_CESM ) CALL PIO_CLOSEFILE( ncid ) #else CALL NcCl( fId ) #endif ! Echo info to stdout IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 140 ) WRITE( 6, 100 ) REPEAT( '%', 79 ) ENDIF ! Free pointers OREF => NULL() TREF => NULL() ! FORMAT statements 100 FORMAT( a ) 110 FORMAT( '%% Opening file : ', a ) 120 FORMAT( '%% in directory : ', a, / , '%%' ) 130 FORMAT( '%% Successfully read ', a, ' [', a, ']' ) 140 FORMAT( '%% Successfully closed file!' ) END SUBROUTINE RD_PROF_NC !EOC END MODULE PHOTOLYSIS_MOD ================================================ FILE: GeosCore/pjc_pfix_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: pjc_pfix_mod.F90 ! ! !DESCRIPTION: Module Pjc\_Pfix\_Mod contains routines which implements the ! Philip Cameron-Smith pressure fixer for the new fvDAS transport ! scheme. (bdf, bmy, 5/8/03, 10/27/03) !\\ !\\ ! !INTERFACE: ! MODULE PJC_PFIX_MOD ! ! !USES: ! USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: Do_Pjc_Pfix PUBLIC :: Cleanup_Pjc_Pfix ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: Calc_Pressure PRIVATE :: Calc_Advection_Factors PRIVATE :: Adjust_Press PRIVATE :: Init_Press_Fix PRIVATE :: Do_Press_Fix_LLNL PRIVATE :: Average_Press_Poles PRIVATE :: Convert_Winds PRIVATE :: Calc_Horiz_Mass_Flux PRIVATE :: Calc_Divergence PRIVATE :: Set_Press_Terms PRIVATE :: Do_Divergence_Pole_Sum PRIVATE :: Xpavg PRIVATE :: Init_Pjc_Pfix ! ! !AUTHOR: ! Philip Cameron-Smith and John Tannahill, GMI project @ LLNL (2003) ! Brendan Field and Bob Yantosca (5/8/03) ! Modified for new GMI TPCORE by Claire Carouge (ccarouge@seas.harvard.edu) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !PRIVATE DATA MEMBERS: ! ! Allocatable arrays REAL(fp), ALLOCATABLE :: AI(:) REAL(fp), ALLOCATABLE :: BI(:) REAL(fp), ALLOCATABLE :: CLAT_FV(:) REAL(fp), ALLOCATABLE :: COSE_FV(:) REAL(fp), ALLOCATABLE :: COSP_FV(:) REAL(fp), ALLOCATABLE :: DAP(:) REAL(fp), ALLOCATABLE :: DBK(:) REAL(fp), ALLOCATABLE :: DLAT_FV(:) REAL(fp), ALLOCATABLE :: ELAT_FV(:) REAL(fp), ALLOCATABLE :: GEOFAC(:) REAL(fp), ALLOCATABLE :: GW_FV(:) REAL(fp), ALLOCATABLE :: MCOR(:,:) REAL(fp), ALLOCATABLE :: REL_AREA(:,:) REAL(fp), ALLOCATABLE :: RGW_FV(:) REAL(fp), ALLOCATABLE :: SINE_FV(:) ! Scalar variables LOGICAL :: PR_DIAG INTEGER :: LOC_PROC REAL(fp) :: GEOFAC_PC REAL(fp) :: DLON_FV ! Dimensions for GMI code (from "imp_dims") INTEGER :: IMP_NBORDER INTEGER :: I1_GL, I2_GL, JU1_GL, JV1_GL INTEGER :: J2_GL, K1_GL, K2_GL, ILO_GL INTEGER :: IHI_GL, JULO_GL, JVLO_GL, JHI_GL INTEGER :: I1, I2, JU1, JV1 INTEGER :: J2, K1, K2, ILO INTEGER :: IHI, JULO, JVLO, JHI INTEGER :: ILAT, ILONG, IVERT, J1P INTEGER :: J2P !================================================================= ! MODULE ROUTINES -- follow below the "CONTAINS" statement !================================================================= CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Do_Pjc_Pfix ! ! !DESCRIPTION: Subroutine Do\_Pjc\_Pfix is the driver routine for the Philip ! Cameron-Smith pressure fixer for the fvDAS transport scheme. ! (bdf, bmy, 5/8/03, 3/5/07) !\\ !\\ ! We assume that the winds are on the A-GRID, since this is the input that ! the fvDAS transport scheme takes. (bdf, bmy, 5/8/03) !\\ !\\ ! !INTERFACE: ! SUBROUTINE Do_Pjc_Pfix( State_Grid, D_DYN, P1, P2, UWND, VWND, XMASS, YMASS ) ! ! !USES: ! USE PhysConstants ! Physical constants Use State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object REAL(fp), INTENT(IN) :: D_DYN ! Dynamic timestep [s] REAL(fp), INTENT(IN) :: P1(:,:) ! True PSurface at middle of ! dynamic timestep [hPa] REAL(fp), INTENT(IN) :: P2(:,:) ! True PSurface at end of ! dynamic timestep [hPa] REAL(fp), INTENT(IN) :: UWND(State_Grid%NX, & ! Zonal wind [m/s] State_Grid%NY, & State_Grid%NZ) REAL(fp), INTENT(IN) :: VWND(State_Grid%NX, & ! Meridional wind [m/s] State_Grid%NY, & State_Grid%NZ) ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: XMASS(State_Grid%NX, & ! E-W mass fluxes State_Grid%NY, & ! [mixing ratio] State_Grid%NZ) REAL(fp), INTENT(OUT) :: YMASS(State_Grid%NX, & ! N-S mass fluxes State_Grid%NY, & ! [mixing ratio] State_Grid%NZ) ! ! !AUTHOR: ! Brendan Field and Bob Yantosca (5/8/03) ! ! !REMARKS: ! (1 ) Now P1 and P2 are "true" surface pressures, and not PS-PTOP. If using ! this P-fixer w/ GEOS-3 winds, pass true surface pressure to this ! routine. (bmy, 10/27/03) ! (2 ) Now define P2_TMP array for passing to ADJUST_PRESS (yxw, bmy, 3/5/07) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! LOGICAL, SAVE :: FIRST = .TRUE. INTEGER :: I, J, K REAL(fp) :: P2_TMP(State_Grid%NX,State_Grid%NY) ! ! !DEFINED PARAMETERS: ! LOGICAL, PARAMETER :: INTERP_WINDS = .TRUE. ! winds are interp'd INTEGER, PARAMETER :: MET_GRID_TYPE = 0 ! A-GRID INTEGER, PARAMETER :: ADVEC_CONSRV_OPT = 0 ! 2=floating pressure INTEGER, PARAMETER :: PMET2_OPT = 1 ! leave at 1 INTEGER, PARAMETER :: PRESS_FIX_OPT = 1 ! Turn on P-Fixer !================================================================= ! DO_PJC_PFIX begins here! !================================================================= ! Initialize on first call IF ( FIRST ) THEN ! Initialize/allocate module variables CALL INIT_PJC_PFIX( State_Grid ) ! Calculate advection surface-area factors CALL CALC_ADVECTION_FACTORS( MCOR, REL_AREA, GEOFAC, GEOFAC_PC) ! Reset first-time flag FIRST = .FALSE. ENDIF ! Copy P2 into P2_TMP (yxw, bmy, 3/5/07) P2_TMP = P2 ! Call PJC pressure fixer w/ the proper arguments ! NOTE: P1 and P2 are now "true" surface pressure, not PS-PTOP!!! CALL ADJUST_PRESS( 'GEOS-CHEM', INTERP_WINDS, & .TRUE., MET_GRID_TYPE, & ADVEC_CONSRV_OPT, PMET2_OPT, & PRESS_FIX_OPT, D_DYN, & GEOFAC_PC, GEOFAC, & COSE_FV, COSP_FV, & REL_AREA, DAP, & DBK, P1, & P2_TMP, P2_TMP, & UWND, VWND, & XMASS, YMASS ) END SUBROUTINE Do_Pjc_Pfix !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Calc_Pressure ! ! !DESCRIPTION: Subroutine Calc\_Pressure recalculates the new surface ! pressure from the adjusted air masses XMASS and YMASS. This is useful ! for debugging purposes. (bdf, bmy, 5/8/03) !\\ !\\ ! !INTERFACE: ! SUBROUTINE Calc_Pressure( State_Grid, XMASS, YMASS, & RGW_FV, PS_NOW, PS_AFTER ) ! ! !USES: ! USE CMN_SIZE_Mod, ONLY : PTOP USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object REAL(fp), INTENT(IN) :: XMASS(State_Grid%NX, & ! E-W mass flux from State_Grid%NY, & ! pressure fixer State_Grid%NZ) REAL(fp), INTENT(IN) :: YMASS(State_Grid%NX, & ! N-S mass flux from State_Grid%NY, & ! pressure fixer State_Grid%NZ) REAL(fp), INTENT(IN) :: PS_NOW(State_Grid%NX, & ! Sfc pressure - PTOP State_Grid%NY) ! at current time REAL(fp), INTENT(IN) :: RGW_FV(State_Grid%NY) ! Latitude factor ! 1/(SINE(J+1) - SIN(J)) ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: PS_AFTER(State_Grid%NX,&! Sfc pressure - PTOP State_Grid%NY) ! adjusted by P-fixer ! ! !AUTHOR: ! Brendan Field and Bob Yantosca (5/8/03) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, J, L REAL(fp) :: DELP (State_Grid%NX,State_Grid%NY,State_Grid%NZ) REAL(fp) :: DELP1(State_Grid%NX,State_Grid%NY,State_Grid%NZ) REAL(fp) :: PE(State_Grid%NX,State_Grid%NZ+1,State_Grid%NY) !================================================================= ! CALC_PRESSURE begins here! !================================================================= DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX DELP1(I,J,L) = DAP(L) + ( DBK(L) * PS_NOW(I,J) ) ENDDO ENDDO ENDDO DO L = 1, State_Grid%NZ DO J = 2, State_Grid%NY-1 DO I =1, State_Grid%NX-1 DELP(I,J,L) = DELP1(I,J,L) + & XMASS(I,J,L) - XMASS(I+1,J,L) + & ( YMASS(I,J,L) - YMASS(I,J+1,L) ) * RGW_FV(J) ENDDO DELP(State_Grid%NX,J,L) = DELP1(State_Grid%NX,J,L) + & XMASS(State_Grid%NX,J,L) - XMASS(1,J,L) + & ( YMASS(State_Grid%NX,J,L) - YMASS(State_Grid%NX,J+1,L) ) * & RGW_FV(J) ENDDO DO I = 1, State_Grid%NX DELP(I,1,L) = DELP1(I,1,L) - YMASS(I,2,L) * RGW_FV(1) ENDDO ! Compute average CALL XPAVG( DELP(1,1,L), State_Grid%NX ) DO I = 1, State_Grid%NX DELP(I,State_Grid%NY,L) = DELP1(I,State_Grid%NY,L) + & YMASS(I,State_Grid%NY,L) * RGW_FV(State_Grid%NY) ENDDO ! Compute average CALL XPAVG( DELP(1,State_Grid%NY,L), State_Grid%NX ) ENDDO !================================================================= ! Make the pressure !================================================================= DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX PE(I,1,J) = PTOP ENDDO DO L = 1,State_Grid%NZ DO I = 1,State_Grid%NX PE(I,L+1,J) = PE(I,L,J) + DELP(I,J,L) ENDDO ENDDO DO I = 1,State_Grid%NX PS_AFTER(I,J) = PE(I,State_Grid%NZ+1,J) ENDDO ENDDO END SUBROUTINE Calc_Pressure !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Calc_Advection_Factors ! ! !DESCRIPTION: Subroutine Calc\_Advection\_Factors calculates the relative ! area of each grid box, and the geometrical factors used by this modified ! version of TPCORE. These geomoetrical DO assume that the space is ! regularly gridded, but do not assume any link between the surface area ! and the linear dimensions. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Calc_Advection_Factors(mcor, rel_area, geofac, geofac_pc) ! ! !USES: ! USE PhysConstants ! Physical constants ! ! !INPUT PARAMETERS: ! ! Area of grid box (m^2) REAL(fp), INTENT(IN) :: mcor(i1_gl :i2_gl, ju1_gl:j2_gl) ! ! !OUTPUT PARAMETERS: ! ! relative surface area of grid box (fraction) REAL(fp), INTENT(OUT) :: rel_area(i1_gl :i2_gl, ju1_gl:j2_gl) ! Geometrical factor for meridional advection; geofac uses ! correct spherical geometry, and replaces acosp as the ! meridional geometrical factor in tpcore REAL(fp), INTENT(OUT) :: geofac(ju1_gl:j2_gl) ! Special geometrical factor (geofac) for Polar cap REAL(fp), INTENT(OUT) :: geofac_pc ! ! !AUTHOR: ! Philip Cameron-Smith and John Tannahill, GMI project @ LLNL (2003) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: ij REAL(fp) :: dp ! spacing in latitude (rad) REAL(fp) :: ri2_gl REAL(fp) :: rj2m1 REAL(fp) :: total_area !---------------- !Begin execution. !---------------- ri2_gl = i2_gl !--------------------------------- !Set the relative area (rel_area). !--------------------------------- total_area = Sum (mcor(:,:)) rel_area(:,:) = mcor(:,:) / total_area !--------------------------------------------------------- !Calculate geometrical factor for meridional advection. !Note that it is assumed that all grid boxes in a latitude !band are the same. !--------------------------------------------------------- rj2m1 = j2_gl - 1 dp = PI / rj2m1 do ij = ju1_gl, j2_gl geofac(ij) = dp / (2.0e+0_fp * rel_area(1,ij) * ri2_gl) end do geofac_pc = dp / (2.0e+0_fp * Sum (rel_area(1,ju1_gl:ju1_gl+1)) * ri2_gl) END SUBROUTINE Calc_Advection_Factors !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Adjust_Press ! ! !DESCRIPTION: Subroutine Adjust\_Press initializes and calls the ! pressure fixer code. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Adjust_Press & (metdata_name_org, do_timinterp_winds, new_met_rec, & met_grid_type, advec_consrv_opt, pmet2_opt, press_fix_opt, & tdt, geofac_pc, geofac, cose, cosp, rel_area, dap, dbk, & pctm1, pctm2, pmet2, uu, vv, xmass, ymass) ! ! !INPUT PARAMETERS: ! ! First part of metdata_name, e.g., "NCAR" CHARACTER(LEN=*) :: metdata_name_org ! Time interpolate wind fields? LOGICAL :: do_timinterp_winds ! New met record? LOGICAL :: new_met_rec ! Met grid type, A or C INTEGER :: met_grid_type ! Advection_conserve option INTEGER :: advec_consrv_opt ! pmet2 option INTEGER :: pmet2_opt ! pressure fixer option INTEGER :: press_fix_opt ! Model time step [s] REAL(fp) :: tdt ! Special geometrical factor (geofac) for Polar cap REAL(fp) :: geofac_pc ! Geometrical factor for meridional advection; geofac uses ! correct spherical geometry, and replaces acosp as the ! meridional geometrical factor in tpcore REAL(fp) :: geofac (ju1_gl:j2_gl) ! Cosines of grid box edges and centers REAL(fp) :: cose (ju1_gl:j2_gl) REAL(fp) :: cosp (ju1_gl:j2_gl) ! Pressure difference across layer from (ai * pt) term [hPa] REAL(fp) :: dap (k1:k2) ! Difference in bi across layer - the dSigma term REAL(fp) :: dbk (k1:k2) ! Relative surface area of grid box (fraction) REAL(fp) :: rel_area( i1_gl:i2_gl, ju1_gl:j2_gl) ! Metfield surface pressure at t1+tdt [hPa] REAL(fp) :: pmet2(ilo_gl:ihi_gl, julo_gl:jhi_gl) ! CTM surface pressure at t1 [hPa] REAL(fp) :: pctm1(ilo_gl:ihi_gl, julo_gl:jhi_gl) ! CTM surface pressure at t1+tdt [hPa] REAL(fp) :: pctm2(ilo_gl:ihi_gl, julo_gl:jhi_gl) ! Wind velocity, x direction at t1+tdt/2 [m/s] REAL(fp) :: uu(ilo_gl:ihi_gl, julo_gl:jhi_gl, k1_gl:k2_gl) ! Wind velocity, y direction at t1+tdt/2 [m/s] REAL(fp) :: vv(ilo_gl:ihi_gl, julo_gl:jhi_gl, k1_gl:k2_gl) ! ! !INPUT/OUTPUT PARAMETERS: ! ! Horizontal mass flux in E-W direction [hPa] REAL(fp) :: xmass(ilo_gl:ihi_gl, julo_gl:jhi_gl, k1_gl:k2_gl) ! Horizontal mass flux in N-S direction [hPa] REAL(fp) :: ymass(ilo_gl:ihi_gl, julo_gl:jhi_gl, k1_gl:k2_gl) ! ! !AUTHOR: ! Philip Cameron-Smith and John Tannahill, GMI project @ LLNL (2003) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! logical, save :: DO_ADJUST_PRESS_DIAG = .TRUE. !---------------------- !Variable declarations. !---------------------- logical, save :: first = .true. !-------------------------------------------------- !dgpress : global-pressure discrepancy !press_dev : RMS difference between pmet2 and pctm2 ! (weighted by relative area) !-------------------------------------------------- real(fp) :: dgpress real(fp) :: press_dev !------------------------------------------------------------- !dps : change of surface pressure from met field pressure [hPa] !------------------------------------------------------------- real(fp) :: dps(i1_gl:i2_gl, ju1_gl:j2_gl) !-------------------------------------------- !dps_ctm : CTM surface pressure tendency [hPa] !-------------------------------------------- real(fp) :: dps_ctm(i1_gl:i2_gl, ju1_gl:j2_gl) !--------------------------------------------------------------------- !xmass_fixed : horizontal mass flux in E-W direction after fixing [hPa] !ymass_fixed : horizontal mass flux in N-S direction after fixing [hPa] !--------------------------------------------------------------------- real(fp) :: xmass_fixed(ilo_gl:ihi_gl, julo_gl:jhi_gl, k1:k2) real(fp) :: ymass_fixed(ilo_gl:ihi_gl, julo_gl:jhi_gl, k1:k2) !------------- !Dummy indexes !------------- !integer :: ij, il !---------------- !Begin execution. !---------------- if (pr_diag) then Write (6, *) 'Adjust_Press called by ', loc_proc end if dps_ctm(:,:) = 0.0e+0_fp dgpress = Sum ( (pmet2(i1_gl:i2_gl, ju1_gl:j2_gl) - & pctm1(i1_gl:i2_gl, ju1_gl:j2_gl) ) & * rel_area(i1_gl:i2_gl, ju1_gl:j2_gl) ) if (pmet2_opt == 1) then pmet2(:,:) = pmet2(:,:) - dgpress end if !### Debug !###if (DO_ADJUST_PRESS_DIAG) then !### Write (6, *) 'Global mean surface pressure change [hPa] = ', !### dgpress !###end if !=================== call Init_Press_Fix & !=================== (metdata_name_org, met_grid_type, tdt, geofac_pc, geofac, & cose, cosp, dap, dbk, dps, dps_ctm, rel_area, pctm1, pmet2, & uu, vv, xmass, ymass) if (press_fix_opt == 1) then !====================== call Do_Press_Fix_Llnl & !====================== (geofac_pc, geofac, dbk, dps, dps_ctm, rel_area, & xmass, ymass, xmass_fixed, ymass_fixed ) xmass(:,:,:) = xmass_fixed(:,:,:) ymass(:,:,:) = ymass_fixed(:,:,:) end if if ((advec_consrv_opt == 0) .or. & (advec_consrv_opt == 1)) then dps_ctm(i1_gl:i2_gl, ju1_gl:j2_gl) = & pmet2(i1_gl:i2_gl, ju1_gl:j2_gl) - & pctm1(i1_gl:i2_gl, ju1_gl:j2_gl) !----------------------------------------------- !else if (advec_consrv_opt == 2) then do nothing !----------------------------------------------- end if pctm2(i1_gl:i2_gl, ju1_gl:j2_gl) = & pctm1(i1_gl:i2_gl, ju1_gl:j2_gl) + & dps_ctm(i1_gl:i2_gl, ju1_gl:j2_gl) if (DO_ADJUST_PRESS_DIAG) then !------------------------------------------------------- !Calculate the RMS pressure deviation (diagnostic only). !------------------------------------------------------- press_dev = & Sqrt (Sum (((pmet2(i1_gl:i2_gl,ju1_gl:j2_gl) - & pctm2(i1_gl:i2_gl,ju1_gl:j2_gl))**2 * & rel_area(i1_gl:i2_gl,ju1_gl:j2_gl)))) !### Debug !###Write (6, *) 'RMS deviation between pmet2 & pctm2 [hPa] = ', !### press_dev end if END SUBROUTINE Adjust_Press !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_Press_Fix ! ! !DESCRIPTION: Subroutine Init\_Press\_Fix initializes the pressure fixer. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_Press_Fix & (metdata_name_org, met_grid_type, tdt, geofac_pc, geofac, & cose, cosp, dap, dbk, dps, dps_ctm, rel_area, pctm1, pmet2, & uu, vv, xmass, ymass) ! ! !INPUT PARAMETERS: ! ! First part of metdata_name, e.g., "NCAR" CHARACTER(LEN=*) :: metdata_name_org ! Met grid type, A or C INTEGER :: met_grid_type ! Model Time step [s] REAL(fp) :: tdt ! Special geometrical factor (geofac) for Polar cap REAL(fp) :: geofac_pc ! Cosine of grid box edges and centers REAL(fp) :: cose(ju1_gl:j2_gl) REAL(fp) :: cosp(ju1_gl:j2_gl) ! Geometrical factor for meridional advection; geofac uses ! correct spherical geometry, and replaces acosp as the ! meridional geometrical factor in tpcore REAL(fp) :: geofac(ju1_gl:j2_gl) ! Pressure difference across layer from (ai * pt) term [hPa] REAL(fp) :: dap(k1:k2) ! Difference in bi across layer - the dSigma term REAL(fp) :: dbk(k1:k2) ! relative surface area of grid box (fraction) REAL(fp) :: rel_area( i1_gl:i2_gl, ju1_gl:j2_gl) ! Metfield surface pressure at t1 [hPa] REAL(fp) :: pmet2(ilo_gl:ihi_gl, julo_gl:jhi_gl) ! CTM surface pressure at t1 [hPa] REAL(fp) :: pctm1(ilo_gl:ihi_gl, julo_gl:jhi_gl) ! CTM surface pressure at t1+tdt [hPa] REAL(fp) :: pctm2(ilo_gl:ihi_gl, julo_gl:jhi_gl) ! Wind velocity, x direction at t1+tdt/2 [m/s] REAL(fp) :: uu(ilo_gl:ihi_gl, julo_gl:jhi_gl, k1_gl:k2_gl) ! Wind velocity, y direction at t1+tdt/2 [m/s] REAL(fp) :: vv(ilo_gl:ihi_gl, julo_gl:jhi_gl, k1_gl:k2_gl) ! ! !OUTPUT PARAMETERS: ! ! Horizontal mass flux in E-W direction [hPa] REAL(fp) :: xmass(ilo_gl:ihi_gl, julo_gl:jhi_gl, k1_gl:k2_gl) ! Horizontal mass flux in N-S direction [hPa] REAL(fp) :: ymass(ilo_gl:ihi_gl, julo_gl:jhi_gl, k1_gl:k2_gl) ! Change of surface pressure from met field pressure [hPa] REAL(fp) :: dps(i1_gl:i2_gl, ju1_gl:j2_gl) ! CTM surface pressure tendency [hPa] REAL(fp) :: dps_ctm(i1_gl:i2_gl, ju1_gl:j2_gl) ! ! !AUTHOR: ! Philip Cameron-Smith and John Tannahill, GMI project @ LLNL (2003) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! !-------------------------------------------------------------- !dpi : divergence at a grid point; used to calculate vertical ! motion [hPa] !-------------------------------------------------------------- real(fp) :: dpi(i1:i2, ju1:j2, k1:k2) !--------------------------------------------------------------------- !crx : Courant number in E-W direction !cry : Courant number in N-S direction !delp1 : pressure thickness, the psudo-density in a hydrostatic system ! at t1 [hPa] !delpm : pressure thickness, the psudo-density in a hydrostatic system ! at t1+tdt/2 (approximate) [hPa] !pu : pressure at edges in "u" [hPa] !--------------------------------------------------------------------- real(fp) :: crx (ilo:ihi, julo:jhi, k1:k2) real(fp) :: cry (ilo:ihi, julo:jhi, k1:k2) real(fp) :: delp1(ilo:ihi, julo:jhi, k1:k2) real(fp) :: delpm(ilo:ihi, julo:jhi, k1:k2) real(fp) :: pu (ilo:ihi, julo:jhi, k1:k2) !---------------- !Begin execution. !---------------- if (pr_diag) then Write (6,*) 'Init_Press_Fix called by ', loc_proc end if !======================== call Average_Press_Poles & !======================== (rel_area, pctm1) !======================== call Average_Press_Poles & !======================== (rel_area, pmet2) !------------------------------------------------------------------- !We need to calculate pressures at t1+tdt/2. One ought to use pctm2 !in the call to Set_Press_Terms, but since we don't know it yet, we !are forced to use pmet2. This should be good enough because it is !only used to convert the winds to the mass fluxes, which is done !crudely anyway and the mass fluxes will still get fixed OK. !------------------------------------------------------------------- dps(i1:i2,ju1:j2) = pmet2(i1:i2,ju1:j2) - pctm1(i1:i2,ju1:j2) !==================== call Set_Press_Terms & !==================== (dap, dbk, pctm1, pmet2, delp1, delpm, pu) !=================== call Convert_Winds & !=================== (met_grid_type, tdt, cosp, crx, cry, uu, vv) !========================= call Calc_Horiz_Mass_Flux & !========================= (cose, delpm, uu, vv, xmass, ymass, tdt, cosp) !==================== call Calc_Divergence & !==================== (.false., geofac_pc, geofac, dpi, xmass, ymass) dps_ctm(i1:i2,ju1:j2) = Sum (dpi(i1:i2,ju1:j2,:), dim=3) END SUBROUTINE Init_Press_Fix !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Do_Press_Fix_Llnl ! ! !DESCRIPTION: Subroutine Do\_Press\_Fix\_Llnl fixes the mass fluxes to ! match the met field pressure tendency. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Do_Press_Fix_Llnl & (geofac_pc, geofac, dbk, dps, dps_ctm, rel_area, & xmass, ymass, xmass_fixed, ymass_fixed) ! ! !INPUT PARAMETERS: ! ! Special geometrical factor (geofac) for Polar cap REAL(fp), INTENT(IN) :: geofac_pc ! Geometrical factor for meridional advection; geofac uses ! correct spherical geometry, and replaces acosp as the ! meridional geometrical factor in tpcore REAL(fp), INTENT(IN) :: geofac(ju1_gl:j2_gl) ! Difference in bi across layer - the dSigma term REAL(fp), INTENT(IN) :: dbk(k1:k2) ! Change of surface pressure from met field pressure [hPa] REAL(fp), INTENT(IN) :: dps(i1:i2, ju1:j2) ! Relative surface area of grid box (fraction) REAL(fp), INTENT(IN) :: rel_area(i1:i2, ju1:j2) ! Horizontal mass fluxes in E-W and N-S directions [hPa] REAL(fp), INTENT(IN) :: xmass(ilo:ihi, julo:jhi, k1:k2) REAL(fp), INTENT(IN) :: ymass(ilo:ihi, julo:jhi, k1:k2) ! ! !OUTPUT PARAMETERS: ! ! Sum over vertical of dpi calculated from original mass fluxes [hPa] REAL(fp), INTENT(OUT) :: dps_ctm(i1:i2, ju1:j2) ! Horizontal mass flux in E-W and N-S directions after fixing [hPa] REAL(fp), INTENT(OUT) :: xmass_fixed(ilo:ihi, julo:jhi, k1:k2) REAL(fp), INTENT(OUT) :: ymass_fixed(ilo:ihi, julo:jhi, k1:k2) ! ! !AUTHOR: ! Philip Cameron-Smith and John Tannahill, GMI project @ LLNL (2003) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: il, ij, ik REAL(fp) :: dgpress REAL(fp) :: fxmean REAL(fp) :: ri2 ! Arrays REAL(fp) :: fxintegral(i1:i2+1) REAL(fp) :: mmfd(ju1:j2) REAL(fp) :: mmf (ju1:j2) REAL(fp) :: ddps(i1:i2, ju1:j2) !------------------------------------------------------------------------ !dpi: divergence at a grid point; used to calculate vertical motion [hPa] !------------------------------------------------------------------------ real(fp) :: dpi(i1:i2, ju1:j2, k1:k2) real(fp) :: xcolmass_fix(ilo:ihi, julo:jhi) !---------------- !Begin execution. !---------------- if (pr_diag) then Write (6,*) 'Do_Press_Fix_Llnl called by ', loc_proc end if ri2 = i2_gl mmfd(:) = 0.0e+0_fp xcolmass_fix(:,:) = 0.0e+0_fp xmass_fixed (:,:,:) = xmass(:,:,:) ymass_fixed (:,:,:) = ymass(:,:,:) !------------------------------------------------------------ !Calculate difference between GCM and LR predicted pressures. !------------------------------------------------------------ ddps(:,:) = dps(:,:) - dps_ctm(:,:) !-------------------------------------- ! Calculate global-pressure discrepancy. !-------------------------------------- dgpress = Sum (ddps(i1:i2,ju1:j2) * rel_area(i1:i2,ju1:j2)) !---------------------------------------------------------- !Calculate mean meridional flux divergence (df/dy). !Note that mmfd is actually the zonal mean pressure change, !which is related to df/dy by geometrical factors. !---------------------------------------------------------- !------------------------ !Handle non-Pole regions. !------------------------ do ij = j1p, j2p mmfd(ij) = -(sum(ddps(:,ij)) / ri2 - dgpress) end do !--------------------------------------------- !Handle poles. !Note that polar boxes have all been averaged. !--------------------------------------------- mmfd(ju1) = -(ddps(1,ju1) - dgpress) mmfd(ju1+1) = -(ddps(1,ju1+1) - dgpress) mmfd(j2-1) = -(ddps(1,j2-1) - dgpress) mmfd(j2) = -(ddps(1,j2) - dgpress) !--------------------------------------------- !Calculate mean meridional fluxes (cos(e)*fy). !--------------------------------------------- mmf(j1p) = mmfd(ju1) / geofac_pc do ij = j1p, j2p mmf(ij+1) = mmf(ij) + mmfd(ij) / geofac(ij) end do !------------------------------------------------------------ !Fix latitude bands. !Note that we don't need to worry about geometry here because !all boxes in a latitude band are identical. !Note also that fxintegral(i2+1) should equal fxintegral(i1), !i.e., zero. !------------------------------------------------------------ do ij = j1p, j2p fxintegral(:) = 0.0e+0_fp do il = i1, i2 fxintegral(il+1) = fxintegral(il) - & (ddps(il,ij) - dgpress) - mmfd(ij) end do fxmean = Sum (fxintegral(i1+1:i2+1)) / ri2 do il = i1, i2 xcolmass_fix(il,ij) = fxintegral(il) - fxmean end do end do !------------------------------------- !Distribute colmass_fix's in vertical. !------------------------------------- do ik = k1, k2 do ij = j1p, j2p do il = i1, i2 xmass_fixed(il,ij,ik) = xmass(il,ij,ik) + xcolmass_fix(il,ij) * dbk(ik) end do end do end do do ik = k1, k2 do ij = j1p, j2p+1 do il = i1, i2 ymass_fixed(il,ij,ik) = ymass(il,ij,ik) + mmf(ij) * dbk(ik) end do end do end do !==================== call Calc_Divergence & !==================== (.false., geofac_pc, geofac, dpi, xmass_fixed, ymass_fixed) dps_ctm(i1:i2,ju1:j2) = Sum (dpi(i1:i2,ju1:j2,:), dim=3) END SUBROUTINE Do_Press_Fix_Llnl !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Average_Press_Poles ! ! !DESCRIPTION: Subroutine Average\_Press\_Poles averages pressure at the ! Poles when the Polar cap is enlarged. It makes the last two latitudes ! equal. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Average_Press_Poles(rel_area, press) ! ! !INPUT PARAMETERS: ! ! Relative surface area of grid box (fraction) REAL(fp), INTENT(IN) :: rel_area(i1:i2, ju1:j2) ! ! !OUTPUT PARAMETERS: ! ! Surface pressure [hPa] REAL(fp), INTENT(INOUT) :: press (ilo:ihi, julo:jhi) ! ! !AUTHOR: ! Philip Cameron-Smith and John Tannahill, GMI project @ LLNL (2003) ! ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) :: meanp !---------------- !Begin execution. !---------------- if (pr_diag) then Write (6,*) 'Average_Press_Poles called by ', loc_proc end if meanp = Sum (rel_area(i1:i2,ju1:ju1+1) * press(i1:i2,ju1:ju1+1)) / & Sum (rel_area(i1:i2,ju1:ju1+1)) press(i1:i2,ju1:ju1+1) = meanp meanp = Sum (rel_area(i1:i2,j2-1:j2) * press(i1:i2,j2-1:j2)) / & Sum (rel_area(i1:i2,j2-1:j2)) press(i1:i2,j2-1:j2) = meanp END SUBROUTINE Average_Press_Poles !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Convert_Winds ! ! !DESCRIPTION: Subroutine Convert\_Winds converts winds on A or C grid to ! Courant \# on C grid. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Convert_Winds(igd, tdt, cosp, crx, cry, uu, vv) ! ! !USES: ! USE PhysConstants ! Re, PI ! ! !INPUT PARAMETERS: ! ! A or C grid INTEGER, INTENT(IN) :: igd ! Model time step [s] REAL(fp), INTENT(IN) :: tdt ! Cosine of grid box centers REAL(fp), INTENT(IN) :: cosp(ju1_gl:j2_gl) ! Wind velocity in E-W (UU) and N-S (VV) directions at t1+tdt/2 [m/s] REAL(fp), INTENT(IN) :: uu (ilo:ihi, julo:jhi, k1:k2) REAL(fp), INTENT(IN) :: vv (ilo:ihi, julo:jhi, k1:k2) ! ! !OUTPUT PARAMETERS: ! ! Courant number in E-W (CRX) and N-S (CRY) directions REAL(fp), INTENT(OUT) :: crx (ilo:ihi, julo:jhi, k1:k2) REAL(fp), INTENT(OUT) :: cry (ilo:ihi, julo:jhi, k1:k2) ! ! !AUTHOR: ! Philip Cameron-Smith and John Tannahill, GMI project @ LLNL (2003) ! ! !REMARKS: ! Use GEOS-CHEM physical constants Re, PI to be consistent with other ! usage everywhere (bmy, 5/5/03) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! logical, save :: first = .true. integer :: il, ij !------------------------------- !dl : spacing in longitude (rad) !dp : spacing in latitude (rad) !------------------------------- real(fp) :: dl real(fp) :: dp real(fp) :: ri2 real(fp) :: rj2m1 !------------------------ !dtdy : dt/dy (s/m) !dtdy5 : 0.5 * dtdy (s/m) !------------------------ real(fp), save :: dtdy real(fp), save :: dtdy5 !------------------------ !dtdx : dt/dx (s/m) !dtdx5 : 0.5 * dtdx (s/m) !------------------------ real(fp), allocatable, save :: dtdx (:) real(fp), allocatable, save :: dtdx5(:) !---------------- !Begin execution. !---------------- if (pr_diag) then Write (6, *) 'Convert_Winds called by ', loc_proc end if !========== if (first) then !========== first = .false. Allocate (dtdx (ju1_gl:j2_gl)) Allocate (dtdx5(ju1_gl:j2_gl)) dtdx = 0.0e+0_fp; dtdx5 = 0.0e+0_fp ri2 = i2_gl rj2m1 = j2_gl - 1 dl = 2.0e+0_fp * PI / ri2 dp = PI / rj2m1 dtdy = tdt / (Re * dp) dtdy5 = 0.5e+0_fp * dtdy dtdx (ju1_gl) = 0.0e+0_fp dtdx5(ju1_gl) = 0.0e+0_fp do ij = ju1_gl + 1, j2_gl - 1 dtdx (ij) = tdt / (dl * Re * cosp(ij)) dtdx5(ij) = 0.5e+0_fp * dtdx(ij) end do dtdx (j2_gl) = 0.0e+0_fp dtdx5(j2_gl) = 0.0e+0_fp end if !============= if (igd == 0) then ! A grid. !============= do ij = ju1+1, j2-1 do il = i1+1, i2 crx(il,ij,:) = dtdx5(ij) * & (uu(il,ij,:) + uu(il-1,ij, :)) end do crx(1,ij,:) = dtdx5(ij) * & (uu(1,ij,:) + uu(i2,ij, :)) end do do ij = ju1+1, j2 do il = i1, i2 cry(il,ij,:) = dtdy5 * (vv(il,ij,:) + vv(il, ij-1,:)) end do end do !==== else ! C grid. !==== do ij = ju1, j2 do il = i1, i2 crx(il,ij,:) = dtdx(ij) * uu(il-1,ij, :) cry(il,ij,:) = dtdy * vv(il, ij-1,:) end do end do end if END SUBROUTINE Convert_Winds !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Calc_Horiz_Mass_Flux ! ! !DESCRIPTION: Subroutine Calc\_Horiz\_Mass\_Flux calculates the horizontal ! mass flux for non-GISS met data. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Calc_Horiz_Mass_Flux & (cose, delpm, uu, vv, xmass, ymass, tdt, cosp) ! ! !USES: ! USE PhysConstants ! Re, Pi ! ! !INPUT PARAMETERS: ! ! Timestep [s] REAL(fp), INTENT(IN) :: tdt ! Cosine of grid box edges REAL(fp), INTENT(IN) :: cose (ju1_gl:j2_gl) ! Cosine of grid box centers REAL(fp), INTENT(IN) :: cosp (ju1_gl:j2_gl) ! Pressure thickness, the pseudo-density in a ! hdrostatic system at t1+tdt/2 (approximate) [hPa] REAL(fp), INTENT(IN) :: delpm(ilo:ihi, julo:jhi, k1:k2) ! E-W (UU) and N-S (VV) winds [m/s] REAL(fp), INTENT(IN) :: uu (ilo:ihi, julo:jhi, k1:k2) REAL(fp), INTENT(IN) :: vv (ilo:ihi, julo:jhi, k1:k2) ! ! !OUTPUT PARAMETERS: ! ! Horizontal mass flux in E-W and N-S directions [hPa] REAL(fp), INTENT(OUT) :: xmass(ilo:ihi, julo:jhi, k1:k2) REAL(fp), INTENT(OUT) :: ymass(ilo:ihi, julo:jhi, k1:k2) ! ! !AUTHOR: ! Original code from Shian-Jiann Lin, DAO ! John Tannahill, LLNL (jrt@llnl.gov) ! ! !REMARKS: ! Use GEOS-CHEM physical constants Re, PI to be consistent with other ! usage everywhere (bmy, 5/5/03) ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: ij INTEGER :: il INTEGER :: jst, jend REAL(fp) :: dl REAL(fp) :: dp REAL(fp) :: ri2 REAL(fp) :: rj2m1 REAL(fp) :: factx REAL(fp) :: facty !---------------- !Begin execution. !---------------- if (pr_diag) then Write (6,*) 'Calc_Horiz_Mass_Flux called by ', loc_proc end if ri2 = i2_gl rj2m1 = j2_gl - 1 dl = 2.0e+0_fp * PI / ri2 dp = PI / rj2m1 facty = 0.5e+0_fp * tdt / (Re * dp) !----------------------------------- !Calculate E-W horizontal mass flux. !----------------------------------- do ij = ju1, j2 factx = 0.5e+0_fp * tdt / (dl * Re * cosp(ij)) do il = i1+1, i2 xmass(il,ij,:) = factx * & (uu(il ,ij,:) * delpm(il ,ij,:) + & uu(il-1,ij,:) * delpm(il-1,ij,:)) end do xmass(i1,ij,:) = factx * & (uu(i1,ij,:) * delpm(i1,ij,:) + & uu(i2,ij,:) * delpm(i2,ij,:)) end do !----------------------------------- !Calculate N-S horizontal mass flux. !----------------------------------- do ij = ju1+1, j2 ymass(i1:i2,ij,:) = facty * & cose(ij) * (vv(i1:i2,ij,:)*delpm(i1:i2,ij,:) + & vv(i1:i2,ij-1,:)*delpm(i1:i2,ij-1,:)) end do ymass(i1:i2,ju1,:) = facty * & cose(ju1) * (vv(i1:i2,ju1,:)*delpm(i1:i2,ju1,:)) END SUBROUTINE Calc_Horiz_Mass_Flux !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Calc_Divergence ! ! !DESCRIPTION: Subroutine Calc\_Divergence calculates the divergence. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Calc_Divergence & (do_reduction, geofac_pc, geofac, dpi, xmass, ymass) ! ! !INPUT PARAMETERS: ! ! Set to T if called on root core or F if called by secondary cores ! (NOTE: this doesn't seem to be used!) LOGICAL, INTENT(IN) :: do_reduction ! Special geometrical factor (geofac) for Polar cap REAL(fp), INTENT(IN) :: geofac_pc ! geometrical factor for meridional advection; geofac uses ! correct spherical geometry, and replaces acosp as the ! meridional geometrical factor in tpcore REAL(fp), INTENT(IN) :: geofac(ju1_gl:j2_gl) ! horizontal mass fluxes in E-W and N-S directions [hPa] REAL(fp), INTENT(IN) :: xmass (ilo:ihi, julo:jhi, k1:k2) REAL(fp), INTENT(IN) :: ymass (ilo:ihi, julo:jhi, k1:k2) ! ! !INPUT/OUTPUT PARAMETERS: ! ! Divergence at a grid point; used to calculate vertical motion [hPa] REAL(fp), INTENT(INOUT) :: dpi (i1:i2, ju1:j2, k1:k2) ! ! !AUTHOR: ! Philip Cameron-Smith and John Tannahill, GMI project @ LLNL (2003) ! ! !REVISION HISTORY: ! 02 Dec 2008 - R. Yantosca - Updated documentation and added ProTeX headers. ! Declare all REAL variables as REAL(fp). !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! integer :: il, ij integer :: jst, jend !---------------- !Begin execution. !---------------- if (pr_diag) then Write (6,*) 'Calc_Divergence called by ', loc_proc end if !------------------------- !Calculate N-S divergence. !------------------------- do ij = j1p, j2p dpi(i1:i2,ij,:) = (ymass(i1:i2,ij,:) - ymass(i1:i2,ij+1,:)) * geofac(ij) end do !------------------------- !Calculate E-W divergence. !------------------------- do ij = j1p,j2p do il = i1, i2-1 dpi(il,ij,:) = dpi(il,ij,:) + xmass(il,ij,:) - xmass(il+1,ij,:) end do dpi(i2,ij,:) = dpi(i2,ij,:) + xmass(i2,ij,:) - xmass(1,ij,:) end do !=========================== call Do_Divergence_Pole_Sum & !=========================== (do_reduction, geofac_pc, dpi, ymass) ! Added this IF statemetn (ccarouge, 12/3/08) if (j1p /= ju1_gl+1) then !-------------------------------------------- !Polar cap enlarged: copy dpi to polar ring. !-------------------------------------------- if (ju1 == ju1_gl) then dpi(:,ju1+1,:) = dpi(:,ju1,:) end if if (j2 == j2_gl) then dpi(:,j2-1,:) = dpi(:,j2,:) end if end if END SUBROUTINE Calc_Divergence !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Set_Press_Terms ! ! !DESCRIPTION: Subroutine Set\_Press\_Terms sets the pressure terms. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Set_Press_Terms & (dap, dbk, pres1, pres2, delp1, delpm, pu) ! ! !INPUT PARAMETERS: ! ! Pressure difference across layer from (ai * pt) term [hPa] REAL(fp), INTENT(IN) :: dap (k1:k2) ! Difference in bi across layer - the dSigma term REAL(fp), INTENT(IN) :: dbk (k1:k2) ! Surface pressure at t1 [hPa] REAL(fp), INTENT(IN) :: pres1(ilo:ihi, julo:jhi) ! Surface pressure at t1+tdt [hPa] REAL(fp), INTENT(IN) :: pres2(ilo:ihi, julo:jhi) ! ! !OUTPUT PARAMETERS: ! ! Pressure thickness, the psudo-density in a ! hydrostatic system at t1 [hPa] REAL(fp), INTENT(OUT) :: delp1(ilo:ihi, julo:jhi, k1:k2) ! Pressure thickness, the psudo-density in a ! hydrostatic system at t1+tdt/2 (approximate) [hPa] REAL(fp), INTENT(OUT) :: delpm(ilo:ihi, julo:jhi, k1:k2) ! Pressure at edges in "u" [hPa] REAL(fp), INTENT(OUT) :: pu (ilo:ihi, julo:jhi, k1:k2) ! ! !AUTHOR: ! Philip Cameron-Smith and John Tannahill, GMI project @ LLNL (2003) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! integer :: il, ij, ik integer :: jst, jend !---------------- !Begin execution. !---------------- if (pr_diag) then Write (6,*) 'Set_Press_Terms called by ', loc_proc end if do ik = k1, k2 delp1(:,:,ik) = dap(ik) + (dbk(ik) * pres1(:,:)) delpm(:,:,ik) = dap(ik) + & (dbk(ik) * 0.5e+0_fp * (pres1(:,:) + pres2(:,:))) end do do ij = ju1, j2 do il = i1+1, i2 pu(il,ij,:) = 0.5e+0_fp * (delpm(il,ij,:) + delpm(il-1,ij,:)) end do pu(i1,ij,:) = 0.5e+0_fp * (delpm(i1,ij,:) + delpm(i2,ij,:)) end do END SUBROUTINE Set_Press_Terms !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Do_Divergence_Pole_Sum ! ! !DESCRIPTION: Do\_Divergence\_Pole\_Sum sets the divergence at the Poles. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Do_Divergence_Pole_Sum(do_reduction, geofac_pc, dpi, ymass) ! ! !INPUT PARAMETERS: ! ! Set to T if called on root core or F if called by secondary cores ! (NOTE: This does not seem to be used!) LOGICAL :: do_reduction ! Special geometrical factor (geofac) for Polar cap REAL(fp) :: geofac_pc ! horizontal mass flux in N-S direction [hPa] REAL(fp) :: ymass(ilo:ihi, julo:jhi, k1:k2) ! ! !OUTPUT PARAMETERS: ! ! Divergence at a grid point; used to calculate vertical motion [hPa] REAL(fp) :: dpi ( i1:i2, ju1:j2, k1:k2) ! ! !AUTHOR: ! Philip Cameron-Smith and John Tannahill, GMI project @ LLNL (2003) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! !---------------------- !Variable declarations. !---------------------- integer :: il, ik real(fp) :: ri2 real(fp) :: mean_np(k1:k2) real(fp) :: mean_sp(k1:k2) real(fp) :: sumnp (k1:k2) real(fp) :: sumsp (k1:k2) !---------------- !Begin execution. !---------------- ri2 = i2_gl !================== if (ju1 == ju1_gl) then !================== do ik = k1, k2 sumsp(ik) = 0.0e+0_fp do il = i1, i2 sumsp(ik) = sumsp(ik) + ymass(il,j1p,ik) end do end do do ik = k1, k2 mean_sp(ik) = -sumsp(ik) / ri2 * geofac_pc do il = i1, i2 dpi(il,ju1,ik) = mean_sp(ik) end do end do !====== end if !====== !================ if (j2 == j2_gl) then !================ do ik = k1, k2 sumnp(ik) = 0.0e+0_fp do il = i1, i2 sumnp(ik) = sumnp(ik) + ymass(il,j2p+1,ik) end do end do do ik = k1, k2 mean_np(ik) = sumnp(ik) / ri2 * geofac_pc do il = i1, i2 dpi(il,j2,ik) = mean_np(ik) end do end do !====== end if !====== END SUBROUTINE Do_Divergence_Pole_Sum !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Xpavg ! ! !description: Subroutine Xpavg replaces each element of a vector with ! the average of the entire array. (bmy, 5/7/03) !\\ !\\ ! !INTERFACE: ! SUBROUTINE Xpavg( P, IM ) ! ! !USES: ! USE ERROR_MOD, ONLY : ERROR_STOP ! ! !INPUT PARAMETERS: ! ! Dimension of P INTEGER, INTENT(IN) :: IM ! ! !INPUT/OUTPUT PARAMETERS: ! ! 1-D vector to be averaged REAL(fp), INTENT(INOUT) :: P(IM) ! ! !AUTHOR: ! Philip Cameron-Smith and John Tannahill, GMI project @ LLNL (2003) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) :: AVG !================================================================= ! XPAVG begins here! !================================================================= ! Error check IM IF ( IM == 0 ) THEN CALL ERROR_STOP( 'Div by zero!', 'XPAVG ("pjc_pfix_mod.F90")' ) ENDIF ! Take avg of entire P array AVG = SUM( P ) / DBLE( IM ) ! Store average value in all elements of P P(:) = AVG END SUBROUTINE Xpavg !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_Pjc_Pfix ! ! !DESCRIPTION: Subroutine Init\_Pjc\_Pfix allocates and initializes module ! arrays and variables. GMI dimension variables will be used for ! compatibility with the Phil Cameron-Smith P-fixer. (bdf, bmy, 5/8/03) !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_Pjc_Pfix( State_Grid ) ! ! !USES: ! USE ERROR_MOD, ONLY : ALLOC_ERR, ERROR_STOP USE PRESSURE_MOD, ONLY : GET_AP, GET_BP USE PhysConstants ! Re, PI, etc... USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN ) :: State_Grid ! Grid State object ! ! !AUTHOR: ! Brendan Field and Bob Yantosca (5/8/03) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: AS, I, J, L !================================================================= ! INIT_PJC_PFIX begins here! ! ! Initialize dimensions for GMI pressure-fixer code !================================================================= IMP_NBORDER = 0 I1_GL = 1 I2_GL = State_Grid%NX JU1_GL = 1 JV1_GL = 1 J2_GL = State_Grid%NY K1_GL = 1 K2_GL = State_Grid%NZ ILO_GL = I1_GL - IMP_NBORDER IHI_GL = I2_GL + IMP_NBORDER JULO_GL = JU1_GL - IMP_NBORDER JVLO_GL = JV1_GL - IMP_NBORDER JHI_GL = J2_GL + IMP_NBORDER I1 = I1_GL I2 = I2_GL JU1 = JU1_GL JV1 = JV1_GL J2 = J2_GL K1 = K1_GL K2 = K2_GL ILO = ILO_GL IHI = IHI_GL JULO = JULO_GL JVLO = JVLO_GL JHI = JHI_GL ILAT = J2_GL - JU1_GL + 1 ILONG = I2_GL - I1_GL + 1 IVERT = K2_GL - K1_GL + 1 J1P = 3 J2P = J2_GL - J1P + 1 ! Error check longitude IF ( ILONG /= State_Grid%NX ) THEN CALL ERROR_STOP( 'Invalid longitude dimension ILONG!', & 'INIT_PJC_FIX ("pjc_pfix_mod.F90")' ) ENDIF ! Error check latitude IF ( ILAT /= State_Grid%NY ) THEN CALL ERROR_STOP( 'Invalid latitude dimension ILAT!', & 'INIT_PJC_FIX ("pjc_pfix_mod.F90")' ) ENDIF ! Error check altitude IF ( IVERT /= State_Grid%NZ ) THEN CALL ERROR_STOP( 'Invalid altitude dimension IVERT!', & 'INIT_PJC_FIX ("pjc_pfix_mod.F90")' ) ENDIF !================================================================= ! Allocate module arrays (use dimensions from GMI code) !================================================================= ALLOCATE( AI( K1_GL-1:K2_GL ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'AI' ) ALLOCATE( BI( K1_GL-1:K2_GL ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'BI' ) ALLOCATE( DAP( K1_GL:K2_GL ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'DAP' ) ALLOCATE( DBK( K1_GL:K2_GL ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'DBK' ) ALLOCATE( CLAT_FV( JU1_GL:J2_GL ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'CLAT_FV' ) ALLOCATE( COSE_FV( JU1_GL:J2_GL+1 ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'COSE_FV' ) ALLOCATE( COSP_FV( JU1_GL:J2_GL ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'COSP_FV' ) ALLOCATE( DLAT_FV( JU1_GL:J2_GL ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'DLAT_FV' ) ALLOCATE( ELAT_FV( JU1_GL:J2_GL+1 ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'ELAT_FV' ) ALLOCATE( GEOFAC( JU1_GL:J2_GL ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'GEOFAC' ) ALLOCATE( GW_FV( JU1_GL:J2_GL ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'GW_FV' ) ALLOCATE( MCOR( I1_GL:I2_GL, JU1_GL:J2_GL ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'MCOR' ) ALLOCATE( REL_AREA( I1_GL:I2_GL, JU1_GL:J2_GL ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'REL_AREA' ) ALLOCATE( RGW_FV( JU1_GL:J2_GL ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'RGW_FV' ) ALLOCATE( SINE_FV( JU1_GL:J2_GL+1 ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'SINE_FV' ) !================================================================= ! Initialize arrays and variables !================================================================= ! Grid box surface areas [m2] DO J = JU1_GL, J2_GL DO I = I1_GL, I2_GL MCOR(I,J) = State_Grid%Area_M2(I,J) ENDDO ENDDO ! Hybrid grid vertical coords: Ai [hPa] and Bi [unitless] DO L = K1_GL-1, K2_GL AI(L) = GET_AP( L+1 ) BI(L) = GET_BP( L+1 ) ENDDO ! Delta A [hPa] and Delta B [unitless] DO L = K1_GL, K2_GL !------------------------------------------------------------- ! NOTE:, this was the original code. But since AI is already ! in hPa, we shouldn't need to multiply by PTOP again. This ! should only matter for the fvDAS fields. Also, DBK needs ! to be positive (bmy, 5/8/03) !DAP(L) = ( AI(L) - AI(L-1) ) * PTOP !DBK(L) = BI(L) - BI(L-1) !------------------------------------------------------------- DAP(L) = AI(L-1) - AI(L) DBK(L) = BI(L-1) - BI(L) ENDDO ! Grid box center latitudes [radians] DO J = JU1_GL, J2_GL CLAT_FV(J) = State_Grid%YMid_R(1,J) ENDDO ! Longitude spacing DLON_FV = 2.e+0_fp * PI / DBLE( I2_GL ) ! Latitude edge at south pole [radians] ELAT_FV(1) = -0.5e+0_fp * PI ! SIN and COS of lat edge at south pole [unitless] SINE_FV(1) = -1.e+0_fp COSE_FV(1) = 0.e+0_fp ! Latitude edges [radians] (w/ SIN & COS) at intermediate latitudes DO J = JU1_GL+1, J2_GL !2, State_Grid%NY ELAT_FV(J) = 0.5e+0_fp * ( CLAT_FV(J-1) + CLAT_FV(J) ) SINE_FV(J) = SIN( ELAT_FV(J) ) COSE_FV(J) = COS( ELAT_FV(J) ) ENDDO ! Latitude edge at North Pole [radians] ELAT_FV(J2_GL+1) = 0.5e+0_fp * PI ! SIN of lat edge at North Pole SINE_FV(J2_GL+1) = 1.e+0_fp ! Latitude extent of South polar box [radians] DLAT_FV(1) = 2.e+0_fp * ( ELAT_FV(2) - ELAT_FV(1) ) ! Latitude extent of boxes at intermediate latitudes [radians] DO J = JU1_GL+1, J2_GL-1 ! 2, State_Grid%NY-1 DLAT_FV(J) = ELAT_FV(J+1) - ELAT_FV(J) ENDDO ! Latitude extent of North polar box [radians] DLAT_FV(J2_GL) = 2.e+0_fp * ( ELAT_FV(J2_GL+1) - ELAT_FV(J2_GL) ) ! Other stuff DO J = JU1_GL, J2_GL GW_FV(J) = SINE_FV(J+1) - SINE_FV(J) COSP_FV(J) = GW_FV(J) / DLAT_FV(J) RGW_FV(J) = 1.e+0_fp / GW_FV(J) ENDDO END SUBROUTINE Init_Pjc_Pfix !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Cleanup_Pjc_Pfix ! ! !DESCRIPTION: Subroutine Cleanup\_Pjc\_Pfix deallocates all module arrays ! (bmy, 5/8/03) !\\ !\\ ! !INTERFACE: ! SUBROUTINE Cleanup_Pjc_Pfix ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC IF ( ALLOCATED( AI ) ) DEALLOCATE( AI ) IF ( ALLOCATED( BI ) ) DEALLOCATE( BI ) IF ( ALLOCATED( CLAT_FV ) ) DEALLOCATE( CLAT_FV ) IF ( ALLOCATED( COSE_FV ) ) DEALLOCATE( COSE_FV ) IF ( ALLOCATED( COSP_FV ) ) DEALLOCATE( COSP_FV ) IF ( ALLOCATED( DAP ) ) DEALLOCATE( DAP ) IF ( ALLOCATED( DBK ) ) DEALLOCATE( DBK ) IF ( ALLOCATED( DLAT_FV ) ) DEALLOCATE( DLAT_FV ) IF ( ALLOCATED( ELAT_FV ) ) DEALLOCATE( ELAT_FV ) IF ( ALLOCATED( GEOFAC ) ) DEALLOCATE( GEOFAC ) IF ( ALLOCATED( GW_FV ) ) DEALLOCATE( GW_FV ) IF ( ALLOCATED( MCOR ) ) DEALLOCATE( MCOR ) IF ( ALLOCATED( REL_AREA ) ) DEALLOCATE( REL_AREA ) IF ( ALLOCATED( RGW_FV ) ) DEALLOCATE( RGW_FV ) IF ( ALLOCATED( SINE_FV ) ) DEALLOCATE( SINE_FV ) END SUBROUTINE Cleanup_Pjc_Pfix !EOC END MODULE Pjc_Pfix_Mod ================================================ FILE: GeosCore/pjc_pfix_window_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: pjc_pfix_window_mod.F90 ! ! !DESCRIPTION: Module PJC\_PFIX\_WINDOW\_MOD contains routines which implements ! the Philip Cameron-Smith pressure fixer. Specially modified for GEOS-Chem ! nested grid simulation. (yxw, dan, bmy, 11/6/08) !\\ !\\ ! !INTERFACE: ! MODULE PJC_PFIX_WINDOW_MOD ! ! !USES: ! USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: PUBLIC :: CLEANUP_PJC_PFIX_WINDOW PUBLIC :: DO_PJC_PFIX_WINDOW ! ! !REVISION HISTORY: ! (1 ) Adapted from "pjc_pfix_mod.f" (bmy, 11/6/08) ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ====================================================================== ! Module Variables: ! ====================================================================== ! AI : Vertical coord "A" for hybrid grid [hPa] ! BI : Vertical coord "B" for hybrid grid [unitless] ! CLAT_FV : Grid box center latitude [radians] ! COSE_FV : COSINE of grid box edge latitudes [radians] ! COSP_FV : COSINE of grid box center latitudes [radians] ! DAP : Delta-A vertical coordinate [hPa] ! DBK : Delta-B vertical coordinate [unitless] ! DLAT_FV : Latitude extent of grid boxes [radians] ! ELAT_FV : Grid box edge latitudes [radians] ! GEOFAC : Geometric factor for N-S advection ! GW_FV : Diff of SINE btw grid box lat edges [unitless] ! MCOR : Grid box surface areas [m2] ! REL_AREA : Relative surface area of grid box [fraction] ! RGW_FV : Reciprocal of GW_FV [radians ! SINE_FV : SINE of lat at grid box edges [unitless] ! GEOFAC_PC : Geometric factor for N-S advection @ poles ! DLON_FV : Longitude extent of a grid box [radians] ! LOC_PROC : Local processor number ! PR_DIAG : Flag for printing diagnostic message ! IMP_NBORDER : Used for ghost zones for MPI ??? ! I1_GL : ind of 1st global lon (no ghost zones) ! I2_GL : ind of last global lon (no ghost zones) ! JU1_GL : ind of 1st global "u" lat (no ghost zones) ! JV1_GL : ind of 1st global "v" lat (no ghost zones) ! J2_GL : ind of last global "u&v" lat (no ghost zones) ! K1_GL : ind of 1st global alt (no ghost zones) ! K2_GL : ind of last global alt (no ghost zones) ! ILO_GL : I1_GL - IMP_NBORDER (has ghost zones) ! IHI_GL : I2_GL + IMP_NBORDER (has ghost zones) ! JULO_GL : JU1_GL - IMP_NBORDER (has ghost zones) ! JVLO_GL : JV1_GL - IMP_NBORDER (has ghost zones) ! JHI_GL : J2_GL + IMP_NBORDER (has ghost zones) ! I1 : ind of first local lon (no ghost zones) ! I2 : ind of last local lon (no ghost zones) ! JU1 : ind of first local "u" lat (no ghost zones) ! JV1 : ind of first local "v" lat (no ghost zones) ! J2 : ind of last local "u&v" lat (no ghost zones) ! K1 : index of first local alt (no ghost zones) ! K2 : index of last local alt (no ghost zones) ! ILO : I1 - IMP_NBORDER (has ghost zones) ! IHI : I2 + IMP_NBORDER (has ghost zones) ! JULO : JU1 - IMP_NBORDER (has ghost zones) ! JVLO : JV1 - IMP_NBORDER (has ghost zones) ! JHI : J2 + IMP_NBORDER (has ghost zones) !======================================================================== ! Allocatable arrays REAL(fp), ALLOCATABLE :: AI(:) REAL(fp), ALLOCATABLE :: BI(:) REAL(fp), ALLOCATABLE :: CLAT_FV(:) REAL(fp), ALLOCATABLE :: COSE_FV(:) REAL(fp), ALLOCATABLE :: COSP_FV(:) REAL(fp), ALLOCATABLE :: DAP(:) REAL(fp), ALLOCATABLE :: DBK(:) REAL(fp), ALLOCATABLE :: DLAT_FV(:) REAL(fp), ALLOCATABLE :: ELAT_FV(:) REAL(fp), ALLOCATABLE :: GEOFAC(:) REAL(fp), ALLOCATABLE :: GW_FV(:) REAL(fp), ALLOCATABLE :: MCOR(:,:) REAL(fp), ALLOCATABLE :: REL_AREA(:,:) REAL(fp), ALLOCATABLE :: RGW_FV(:) REAL(fp), ALLOCATABLE :: SINE_FV(:) ! Scalar variables LOGICAL :: PR_DIAG INTEGER :: LOC_PROC REAL(fp) :: GEOFAC_PC REAL(fp) :: DLON_FV ! Dimensions for GMI code (from "imp_dims") INTEGER :: IMP_NBORDER INTEGER :: I1_GL, I2_GL, JU1_GL, JV1_GL INTEGER :: J2_GL, K1_GL, K2_GL, ILO_GL INTEGER :: IHI_GL, JULO_GL, JVLO_GL, JHI_GL INTEGER :: I1, I2, JU1, JV1 INTEGER :: J2, K1, K2, ILO INTEGER :: IHI, JULO, JVLO, JHI INTEGER :: ILAT, ILONG, IVERT, J1P INTEGER :: J2P ! Dimensions for nested grids INTEGER :: I1_W, I2_W, JU1_W INTEGER :: J2_W, J1P_W, J2P_W INTEGER :: BUFF_SIZE CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: do_pjc_pfix_window ! ! !DESCRIPTION: Subroutine DO_PJC_PFIX is the driver routine for the Philip ! Cameron-Smith pressure fixer for the fvDAS transport scheme. ! (bdf, bmy, 5/8/03, 3/5/07) !\\ !\\ ! !INTERFACE: ! SUBROUTINE DO_PJC_PFIX_WINDOW( State_Grid, D_DYN, P1, P2, & UWND, VWND, XMASS, YMASS ) ! ! !USES: ! USE PhysConstants ! Physical constants Use State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object REAL(fp), INTENT(IN) :: D_DYN ! Dynamic timestep [s] REAL(fp), INTENT(IN) :: P1 (State_Grid%NX, &! True Psurf at middle State_Grid%NY) ! dyn tstep [hPa] REAL(fp), INTENT(IN) :: P2 (State_Grid%NX, &! True Psurf at end of State_Grid%NY) ! dyn timestep [hPa] REAL(fp), INTENT(IN) :: UWND (State_Grid%NX, &! Zonal wind [m/s] State_Grid%NY, & State_Grid%NZ) REAL(fp), INTENT(IN) :: VWND (State_Grid%NX, &! Meridional wind[m/s] State_Grid%NY, & State_Grid%NZ) ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: XMASS(State_Grid%NX, &! E-W mass fluxes State_Grid%NY, &! [kg/s] State_Grid%NZ) REAL(fp), INTENT(OUT) :: YMASS(State_Grid%NX, &! N-S mass fluxes State_Grid%NY, &! [kg/s] State_Grid%NZ) ! ! !AUTHOR: ! Brendan Field and Bob Yantosca (5/8/03) ! ! !REMARKS: ! We assume that the winds are on the A-GRID, since this is the input that ! the GEOS-4/fvDAS transport scheme takes. (bdf, bmy, 5/8/03) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! LOGICAL, SAVE :: FIRST = .TRUE. INTEGER :: I, J REAL(fp) :: P2_TMP(State_Grid%NX,State_Grid%NY) ! ! !DEFINED PARAMETERS: ! LOGICAL, PARAMETER :: INTERP_WINDS = .TRUE. ! winds are interp'd INTEGER, PARAMETER :: MET_GRID_TYPE = 0 ! A-GRID INTEGER, PARAMETER :: ADVEC_CONSRV_OPT = 0 ! 2=floating pressure INTEGER, PARAMETER :: PMET2_OPT = 1 ! leave at 1 INTEGER, PARAMETER :: PRESS_FIX_OPT = 1 ! Turn on P-Fixer !================================================================= ! DO_PJC_PFIX begins here! !================================================================= ! Initialize on first call IF ( FIRST ) THEN ! Initialize/allocate module variables CALL INIT_PJC_PFIX_WINDOW( State_Grid ) ! Calculate advection surface-area factors CALL CALC_ADVECTION_FACTORS( MCOR, REL_AREA, GEOFAC, GEOFAC_PC) ! Reset first-time flag FIRST = .FALSE. ENDIF ! Copy P2 into P2_TMP (yxw, bmy, 3/5/07) P2_TMP = P2 ! Call PJC pressure fixer w/ the proper arguments ! NOTE: P1 and P2 are now "true" surface pressure, not PS-PTOP!!! CALL ADJUST_PRESS( State_Grid, & 'GEOS-CHEM', INTERP_WINDS, & .TRUE., MET_GRID_TYPE, & ADVEC_CONSRV_OPT, PMET2_OPT, & PRESS_FIX_OPT, D_DYN, & GEOFAC_PC, GEOFAC, & COSE_FV, COSP_FV, & REL_AREA, DAP, & DBK, P1, & P2_TMP, P2_TMP, & UWND, VWND, & XMASS, YMASS ) END SUBROUTINE DO_PJC_PFIX_WINDOW !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Calc_Pressure ! ! !DESCRIPTION: Subroutine Calc\_Pressure recalculates the new surface ! pressure from the adjusted air masses XMASS and YMASS. This is useful ! for debugging purposes. (bdf, bmy, 5/8/03) !\\ !\\ ! !INTERFACE: ! SUBROUTINE Calc_Pressure( State_Grid, XMASS, YMASS, & RGW_FV, PS_NOW, PS_AFTER ) ! ! !USES: ! USE CMN_SIZE_Mod, ONLY : PTOP USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object REAL(fp), INTENT(IN) :: XMASS(State_Grid%NX, &! E-W mass flux from State_Grid%NY, &! pressure fixer State_Grid%NZ) REAL(fp), INTENT(IN) :: YMASS(State_Grid%NX, &! N-S mass flux from State_Grid%NY, &! pressure fixer State_Grid%NZ) REAL(fp), INTENT(IN) :: PS_NOW(State_Grid%NX, &! Surface P - PTOP State_Grid%NY) ! at current time REAL(fp), INTENT(IN) :: RGW_FV(State_Grid%NY) ! Latitude factor ! 1/(SINE(J+1)-SIN(J)) ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: PS_AFTER(State_Grid%NX,&! Sfc pressure - PTOP State_Grid%NY) ! adjusted by P-fixer ! ! !AUTHOR: ! Brendan Field and Bob Yantosca (5/8/03) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, J, L REAL(fp) :: DELP (State_Grid%NX,State_Grid%NY,State_Grid%NZ) REAL(fp) :: DELP1(State_Grid%NX,State_Grid%NY,State_Grid%NZ) REAL(fp) :: PE(State_Grid%NX,State_Grid%NZ+1,State_Grid%NY) !================================================================= ! CALC_PRESSURE begins here! !================================================================= DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX DELP1(I,J,L) = DAP(L) + ( DBK(L) * PS_NOW(I,J) ) ENDDO ENDDO ENDDO DO L = 1, State_Grid%NZ DO J = 2, State_Grid%NY-1 DO I =1, State_Grid%NX-1 DELP(I,J,L) = DELP1(I,J,L) + & XMASS(I,J,L) - XMASS(I+1,J,L) + & ( YMASS(I,J,L) - YMASS(I,J+1,L) ) * RGW_FV(J) ENDDO DELP(State_Grid%NX,J,L) = DELP1(State_Grid%NX,J,L) + & XMASS(State_Grid%NX,J,L) - XMASS(1,J,L) + & ( YMASS(State_Grid%NX,J,L) - YMASS(State_Grid%NX,J+1,L) ) * & RGW_FV(J) ENDDO DO I = 1, State_Grid%NX DELP(I,1,L) = DELP1(I,1,L) - YMASS(I,2,L) * RGW_FV(1) ENDDO ! Compute average CALL XPAVG( DELP(1,1,L), State_Grid%NX ) DO I = 1, State_Grid%NX DELP(I,State_Grid%NY,L) = DELP1(I,State_Grid%NY,L) + & YMASS(I,State_Grid%NY,L) * RGW_FV(State_Grid%NY) ENDDO ! Compute average CALL XPAVG( DELP(1,State_Grid%NY,L), State_Grid%NX ) ENDDO !================================================================= ! Make the pressure !================================================================= DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX PE(I,1,J) = PTOP ENDDO DO L = 1,State_Grid%NZ DO I = 1,State_Grid%NX PE(I,L+1,J) = PE(I,L,J) + DELP(I,J,L) ENDDO ENDDO DO I = 1,State_Grid%NX PS_AFTER(I,J) = PE(I,State_Grid%NZ+1,J) ENDDO ENDDO END SUBROUTINE Calc_Pressure !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Calc_Advection_Factors ! ! !DESCRIPTION: Subroutine Calc\_Advection\_Factors calculates the relative ! area of each grid box, and the geometrical factors used by this modified ! version of TPCORE. These geomoetrical DO assume that the space is ! regularly gridded, but do not assume any link between the surface area ! and the linear dimensions. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Calc_Advection_Factors(mcor, rel_area, geofac, geofac_pc) ! ! !USES: ! USE PhysConstants ! Physical constants ! ! !INPUT PARAMETERS: ! ! Area of grid box (m^2) REAL(fp), INTENT(IN) :: mcor(i1_gl :i2_gl, ju1_gl:j2_gl) ! ! !OUTPUT PARAMETERS: ! ! relative surface area of grid box (fraction) REAL(fp), INTENT(OUT) :: rel_area(i1_gl :i2_gl, ju1_gl:j2_gl) ! Geometrical factor for meridional advection; geofac uses ! correct spherical geometry, and replaces acosp as the ! meridional geometrical factor in tpcore REAL(fp), INTENT(OUT) :: geofac(ju1_gl:j2_gl) ! Special geometrical factor (geofac) for Polar cap REAL(fp), INTENT(OUT) :: geofac_pc ! ! !AUTHOR: ! Philip Cameron-Smith and John Tannahill, GMI project @ LLNL (2003) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: ij ! Variables not used. (ccc, 8/3/10) !REAL(fp) :: dp ! spacing in latitude (rad) !REAL(fp) :: ri2_gl !REAL(fp) :: rj2m1 REAL(fp) :: total_area !---------------- !Begin execution. !---------------- ! Not used. (ccc, 8/3/10) !ri2_gl = i2_gl !--------------------------------- !Set the relative area (rel_area). !--------------------------------- total_area = Sum (mcor(:,:)) rel_area(:,:) = mcor(:,:) / total_area !--------------------------------------------------------- !Calculate geometrical factor for meridional advection. !Note that it is assumed that all grid boxes in a latitude !band are the same. !--------------------------------------------------------- ! Not used for nested grids. (ccc, 8/3/10) !rj2m1 = j2_gl - 1 !dp = PI / 360D0 ! The total area does not cover the full globe so use an other definition ! for the geometric factor. (lzh, ccc, 8/3/10) do ij = ju1_gl, j2_gl !geofac(ij) = dp / (2.0e+0_fp * rel_area(1,ij) * ri2_gl) geofac(ij) = 1.e+0_fp / COSP_FV(ij) end do ! geofac_pc used only for polar cap so no need. (ccc, 8/3/10) !geofac_pc = dp / (2.0e+0_fp * Sum (rel_area(1,ju1_gl:ju1_gl+1)) * ri2_gl) ! Make sure to return with a value geofac_pc = 0.0_fp END SUBROUTINE Calc_Advection_Factors !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Adjust_Press ! ! !DESCRIPTION: Subroutine Adjust\_Press initializes and calls the ! pressure fixer code. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Adjust_Press(State_Grid, & metdata_name_org, do_timinterp_winds, new_met_rec, & met_grid_type, advec_consrv_opt, pmet2_opt, press_fix_opt, & tdt, geofac_pc, geofac, cose, cosp, rel_area, dap, dbk, & pctm1, pctm2, pmet2, uu, vv, xmass, ymass) ! ! !USES: ! USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! First part of metdata_name, e.g., "NCAR" CHARACTER(LEN=*) :: metdata_name_org ! Time interpolate wind fields? LOGICAL :: do_timinterp_winds ! New met record? LOGICAL :: new_met_rec ! Met grid type, A or C INTEGER :: met_grid_type ! Advection_conserve option INTEGER :: advec_consrv_opt ! pmet2 option INTEGER :: pmet2_opt ! pressure fixer option INTEGER :: press_fix_opt ! Model time step [s] REAL(fp) :: tdt ! Special geometrical factor (geofac) for Polar cap REAL(fp) :: geofac_pc ! Geometrical factor for meridional advection; geofac uses ! correct spherical geometry, and replaces acosp as the ! meridional geometrical factor in tpcore REAL(fp) :: geofac (ju1_gl:j2_gl) ! Cosines of grid box edges and centers REAL(fp) :: cose (ju1_gl:j2_gl) REAL(fp) :: cosp (ju1_gl:j2_gl) ! Pressure difference across layer from (ai * pt) term [hPa] REAL(fp) :: dap (k1:k2) ! Difference in bi across layer - the dSigma term REAL(fp) :: dbk (k1:k2) ! Relative surface area of grid box (fraction) REAL(fp) :: rel_area( i1_gl:i2_gl, ju1_gl:j2_gl) ! Metfield surface pressure at t1+tdt [hPa] REAL(fp) :: pmet2(ilo_gl:ihi_gl, julo_gl:jhi_gl) ! CTM surface pressure at t1 [hPa] REAL(fp) :: pctm1(ilo_gl:ihi_gl, julo_gl:jhi_gl) ! CTM surface pressure at t1+tdt [hPa] REAL(fp) :: pctm2(ilo_gl:ihi_gl, julo_gl:jhi_gl) ! Wind velocity, x direction at t1+tdt/2 [m/s] REAL(fp) :: uu(ilo_gl:ihi_gl, julo_gl:jhi_gl, k1_gl:k2_gl) ! Wind velocity, y direction at t1+tdt/2 [m/s] REAL(fp) :: vv(ilo_gl:ihi_gl, julo_gl:jhi_gl, k1_gl:k2_gl) ! ! !INPUT/OUTPUT PARAMETERS: ! ! Horizontal mass flux in E-W direction [hPa] REAL(fp) :: xmass(ilo_gl:ihi_gl, julo_gl:jhi_gl, k1_gl:k2_gl) ! Horizontal mass flux in N-S direction [hPa] REAL(fp) :: ymass(ilo_gl:ihi_gl, julo_gl:jhi_gl, k1_gl:k2_gl) ! ! !AUTHOR: ! Philip Cameron-Smith and John Tannahill, GMI project @ LLNL (2003) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! logical, save :: DO_ADJUST_PRESS_DIAG = .TRUE. !---------------------- !Variable declarations. !---------------------- logical, save :: first = .true. !-------------------------------------------------- !dgpress : global-pressure discrepancy !press_dev : RMS difference between pmet2 and pctm2 ! (weighted by relative area) !-------------------------------------------------- real(fp) :: dgpress real(fp) :: press_dev !------------------------------------------------------------- !dps : change of surface pressure from met field pressure (mb) !------------------------------------------------------------- real(fp) :: dps(i1_gl:i2_gl, ju1_gl:j2_gl) !-------------------------------------------- !dps_ctm : CTM surface pressure tendency (mb) !-------------------------------------------- real(fp) :: dps_ctm(i1_gl:i2_gl, ju1_gl:j2_gl) !--------------------------------------------------------------------- !xmass_fixed : horizontal mass flux in E-W direction after fixing (mb) !ymass_fixed : horizontal mass flux in N-S direction after fixing (mb) !--------------------------------------------------------------------- real(fp) :: xmass_fixed(ilo_gl:ihi_gl, julo_gl:jhi_gl, k1:k2) real(fp) :: ymass_fixed(ilo_gl:ihi_gl, julo_gl:jhi_gl, k1:k2) !------------- !Dummy indexes !------------- !integer :: ij, il !---------------- !Begin execution. !---------------- if (pr_diag) then Write (6, *) 'Adjust_Press called by ', loc_proc end if dps = 0.0_fp ! (bmy, 7/10/17) dps_ctm = 0.0e+0_fp dgpress = Sum ( (pmet2(i1_gl:i2_gl, ju1_gl:j2_gl) - & pctm1(i1_gl:i2_gl, ju1_gl:j2_gl) ) & * rel_area(i1_gl:i2_gl, ju1_gl:j2_gl) ) if (pmet2_opt == 1) then pmet2(:,:) = pmet2(:,:) - dgpress end if !### Debug !###if (DO_ADJUST_PRESS_DIAG) then !### Write (6, *) 'Global mean surface pressure change (mb) = ', !### dgpress !###end if !=================== call Init_Press_Fix & !=================== (State_Grid, & metdata_name_org, met_grid_type, tdt, geofac_pc, geofac, & cose, cosp, dap, dbk, dps, dps_ctm, rel_area, pctm1, pmet2, & uu, vv, xmass, ymass) if (press_fix_opt == 1) then !====================== call Do_Press_Fix_Llnl & !====================== (geofac_pc, geofac, dbk, dps, dps_ctm, rel_area, & xmass, ymass, xmass_fixed, ymass_fixed ) xmass(:,:,:) = xmass_fixed(:,:,:) ymass(:,:,:) = ymass_fixed(:,:,:) end if if ((advec_consrv_opt == 0) .or. & (advec_consrv_opt == 1)) then dps_ctm(i1_gl:i2_gl, ju1_gl:j2_gl) = & pmet2(i1_gl:i2_gl, ju1_gl:j2_gl) - & pctm1(i1_gl:i2_gl, ju1_gl:j2_gl) !----------------------------------------------- !else if (advec_consrv_opt == 2) then do nothing !----------------------------------------------- end if pctm2(i1_gl:i2_gl, ju1_gl:j2_gl) = & pctm1(i1_gl:i2_gl, ju1_gl:j2_gl) + & dps_ctm(i1_gl:i2_gl, ju1_gl:j2_gl) if (DO_ADJUST_PRESS_DIAG) then !------------------------------------------------------- !Calculate the RMS pressure deviation (diagnostic only). !------------------------------------------------------- press_dev = & Sqrt (Sum (((pmet2(i1_gl:i2_gl,ju1_gl:j2_gl) - & pctm2(i1_gl:i2_gl,ju1_gl:j2_gl))**2 * & rel_area(i1_gl:i2_gl,ju1_gl:j2_gl)))) !### Debug !###Write (6, *) 'RMS deviation between pmet2 & pctm2 (mb) = ', & !### press_dev end if END SUBROUTINE Adjust_Press !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_Press_Fix ! ! !DESCRIPTION: Subroutine Init\_Press\_Fix initializes the pressure fixer. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_Press_Fix( State_Grid, & metdata_name_org, met_grid_type, tdt, geofac_pc, geofac, & cose, cosp, dap, dbk, dps, dps_ctm, rel_area, pctm1, pmet2, & uu, vv, xmass, ymass) ! ! !USES: ! USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! ! Grid State object TYPE(GrdState), INTENT(IN) :: State_Grid ! First part of metdata_name, e.g., "NCAR" CHARACTER(LEN=*) :: metdata_name_org ! Met grid type, A or C INTEGER :: met_grid_type ! Model Time step [s] REAL(fp) :: tdt ! Special geometrical factor (geofac) for Polar cap REAL(fp) :: geofac_pc ! Cosine of grid box edges and centers REAL(fp) :: cose (ju1_gl:j2_gl) REAL(fp) :: cosp (ju1_gl:j2_gl) ! Geometrical factor for meridional advection; geofac uses ! correct spherical geometry, and replaces acosp as the ! meridional geometrical factor in tpcore REAL(fp) :: geofac (ju1_gl:j2_gl) ! Pressure difference across layer from (ai * pt) term [hPa] REAL(fp) :: dap (k1:k2) ! Difference in bi across layer - the dSigma term REAL(fp) :: dbk (k1:k2) !rel_area : relative surface area of grid box (fraction) REAL(fp) :: rel_area( i1_gl:i2_gl, ju1_gl:j2_gl) ! Metfield surface pressure at t1 [hPa] REAL(fp) :: pmet2(ilo_gl:ihi_gl, julo_gl:jhi_gl) ! CTM surface pressure at t1 [hPa] REAL(fp) :: pctm1(ilo_gl:ihi_gl, julo_gl:jhi_gl) ! CTM surface pressure at t1+tdt [hPa] REAL(fp) :: pctm2(ilo_gl:ihi_gl, julo_gl:jhi_gl) ! Wind velocity, x direction at t1+tdt/2 [m/s] REAL(fp) :: uu(ilo_gl:ihi_gl, julo_gl:jhi_gl, k1_gl:k2_gl) ! Wind velocity, y direction at t1+tdt/2 [m/s] REAL(fp) :: vv(ilo_gl:ihi_gl, julo_gl:jhi_gl, k1_gl:k2_gl) ! ! !OUTPUT PARAMETERS: ! ! Horizontal mass flux in E-W direction [hPa] REAL(fp) :: xmass(ilo_gl:ihi_gl, julo_gl:jhi_gl, k1_gl:k2_gl) ! Horizontal mass flux in N-S direction [hPa] REAL(fp) :: ymass(ilo_gl:ihi_gl, julo_gl:jhi_gl, k1_gl:k2_gl) ! Change of surface pressure from met field pressure (mb) REAL(fp) :: dps(i1_gl:i2_gl, ju1_gl:j2_gl) ! CTM surface pressure tendency (mb) REAL(fp) :: dps_ctm(i1_gl:i2_gl, ju1_gl:j2_gl) ! ! !AUTHOR: ! Philip Cameron-Smith and John Tannahill, GMI project @ LLNL (2003) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! !-------------------------------------------------------------- !dpi : divergence at a grid point; used to calculate vertical ! motion (mb) !-------------------------------------------------------------- real(fp) :: dpi(i1:i2, ju1:j2, k1:k2) !--------------------------------------------------------------------- !crx : Courant number in E-W direction !cry : Courant number in N-S direction !delp1 : pressure thickness, the psudo-density in a hydrostatic system ! at t1 (mb) !delpm : pressure thickness, the psudo-density in a hydrostatic system ! at t1+tdt/2 (approximate) (mb) !pu : pressure at edges in "u" (mb) !--------------------------------------------------------------------- real(fp) :: crx (ilo:ihi, julo:jhi, k1:k2) real(fp) :: cry (ilo:ihi, julo:jhi, k1:k2) real(fp) :: delp1(ilo:ihi, julo:jhi, k1:k2) real(fp) :: delpm(ilo:ihi, julo:jhi, k1:k2) real(fp) :: pu (ilo:ihi, julo:jhi, k1:k2) !---------------- !Begin execution. !---------------- if (pr_diag) then Write (6,*) 'Init_Press_Fix called by ', loc_proc end if ! Need to initialize local arrays (bmy, 7/10/17) dpi = 0.0_fp crx = 0.0_fp cry = 0.0_fp delp1 = 0.0_fp delpm = 0.0_fp pu = 0.0_fp ! not treat poles (lzh, 07/20/2010) !!======================== !call Average_Press_Poles & !!======================== ! (rel_area, pctm1) ! !!======================== !call Average_Press_Poles & !!======================== ! (rel_area, pmet2) !------------------------------------------------------------------- !We need to calculate pressures at t1+tdt/2. One ought to use pctm2 !in the call to Set_Press_Terms, but since we don't know it yet, we !are forced to use pmet2. This should be good enough because it is !only used to convert the winds to the mass fluxes, which is done !crudely anyway and the mass fluxes will still get fixed OK. !------------------------------------------------------------------- dps(i1:i2,ju1:j2) = pmet2(i1:i2,ju1:j2) - pctm1(i1:i2,ju1:j2) !==================== call Set_Press_Terms & !==================== (dap, dbk, pctm1, pmet2, delp1, delpm, pu) !=================== call Convert_Winds & !=================== (State_Grid, met_grid_type, tdt, cosp, crx, cry, uu, vv) !========================= call Calc_Horiz_Mass_Flux & !========================= (State_Grid, cose, delpm, uu, vv, xmass, ymass, tdt, cosp) !==================== call Calc_Divergence & !==================== (.false., geofac_pc, geofac, dpi, xmass, ymass) dps_ctm(i1:i2,ju1:j2) = Sum (dpi(i1:i2,ju1:j2,:), dim=3) END SUBROUTINE Init_Press_Fix !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Do_Press_Fix_Llnl ! ! !DESCRIPTION: Subroutine Do\_Press\_Fix\_Llnl fixes the mass fluxes to ! match the met field pressure tendency. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Do_Press_Fix_Llnl & (geofac_pc, geofac, dbk, dps, dps_ctm, rel_area, & xmass, ymass, xmass_fixed, ymass_fixed) ! ! !INPUT PARAMETERS: ! ! Special geometrical factor (geofac) for Polar cap REAL(fp), INTENT(IN) :: geofac_pc ! Geometrical factor for meridional advection; geofac uses ! correct spherical geometry, and replaces acosp as the ! meridional geometrical factor in tpcore REAL(fp), INTENT(IN) :: geofac (ju1_gl:j2_gl) ! Difference in bi across layer - the dSigma term REAL(fp), INTENT(IN) :: dbk (k1:k2) ! Change of surface pressure from met field pressure [hPa] REAL(fp), INTENT(IN) :: dps (i1:i2, ju1:j2) ! Relative surface area of grid box (fraction) REAL(fp), INTENT(IN) :: rel_area(i1:i2, ju1:j2) ! Horizontal mass fluxes in E-W and N-S directions [hPa] REAL(fp), INTENT(IN) :: xmass (ilo:ihi, julo:jhi, k1:k2) REAL(fp), INTENT(IN) :: ymass (ilo:ihi, julo:jhi, k1:k2) ! ! !OUTPUT PARAMETERS: ! ! Sum over vertical of dpi calculated from original mass fluxes [hPa] REAL(fp), INTENT(OUT) :: dps_ctm (i1:i2, ju1:j2) ! Horizontal mass flux in E-W and N-S directions after fixing [hPa] REAL(fp), INTENT(OUT) :: xmass_fixed(ilo:ihi, julo:jhi, k1:k2) REAL(fp), INTENT(OUT) :: ymass_fixed(ilo:ihi, julo:jhi, k1:k2) ! ! !AUTHOR: ! Philip Cameron-Smith and John Tannahill, GMI project @ LLNL (2003) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: il, ij, ik REAL(fp) :: dgpress REAL(fp) :: fxmean REAL(fp) :: ri2 ! Arrays REAL(fp) :: fxintegral(i1:i2+1) REAL(fp) :: mmfd(ju1:j2) REAL(fp) :: mmf (ju1:j2) REAL(fp) :: ddps(i1:i2, ju1:j2) !------------------------------------------------------------------------ !dpi : divergence at a grid point; used to calculate vertical motion (mb) !------------------------------------------------------------------------ REAL(fp) :: dpi(i1:i2, ju1:j2, k1:k2) REAL(fp) :: xcolmass_fix(ilo:ihi, julo:jhi) REAL(fp) :: xx !---------------- !Begin execution. !---------------- if (pr_diag) then Write (6,*) 'Do_Press_Fix_Llnl called by ', loc_proc end if !------------------------------------------------------------ ! Initialize variables (bmy, 7/10/17) !------------------------------------------------------------ ! Arguments xmass_fixed = xmass ymass_fixed = ymass ! Local variables dgpress = 0.0_fp fxmean = 0.0_fp ri2 = i2_gl - 2 * BUFF_SIZE fxintegral = 0.0_fp mmfd = 0.0_fp mmf = 0.0_fp ddps = 0.0_fp dpi = 0.0_fp xcolmass_fix = 0.0_fp xx = 0.0_fp !------------------------------------------------------------ !Calculate difference between GCM and LR predicted pressures. !------------------------------------------------------------ ddps(:,:) = dps(:,:) - dps_ctm(:,:) !-------------------------------------- ! Calculate global-pressure discrepancy. !-------------------------------------- !dgpress = Sum (ddps(i1:i2,ju1:j2) * rel_area(i1:i2,ju1:j2)) xx = sum(rel_area(i1_w:i2_w,j1p_w:j2p_w)) dgpress = Sum (ddps(i1_w:i2_w,j1p_w:j2p_w) * & rel_area(i1_w:i2_w,j1p_w:j2p_w)) / xx !---------------------------------------------------------- !Calculate mean meridional flux divergence (df/dy). !Note that mmfd is actually the zonal mean pressure change, !which is related to df/dy by geometrical factors. !---------------------------------------------------------- !------------------------ !Handle non-Pole regions. !------------------------ ! Work on the inner window only (lzh, ccc, 8/3/10) !do ij = j1p, j2p ! mmfd(ij) = -(sum(ddps(:,ij)) / ri2 - dgpress) !end do do ij = j1p_w, j2p_w mmfd(ij) = -(sum(ddps(i1_w:i2_w,ij)) / ri2 - dgpress) end do ! No special case for poles, no poles. (ccc, 8/3/10) !!--------------------------------------------- !!Handle poles. !!Note that polar boxes have all been averaged. !!--------------------------------------------- ! !mmfd(ju1) = -(ddps(1,ju1) - dgpress) !mmfd(ju1+1) = -(ddps(1,ju1+1) - dgpress) !mmfd(j2-1) = -(ddps(1,j2-1) - dgpress) !mmfd(j2) = -(ddps(1,j2) - dgpress) !--------------------------------------------- !Calculate mean meridional fluxes (cos(e)*fy). !--------------------------------------------- ! Use geofac, no polar cap. (ccc, 8/3/10) !mmf(j1p) = mmfd(ju1) / geofac_pc mmf(j1p_w) = mmfd(ju1_w) / geofac(j1p_w) ! Work on inner domain. (ccc, 8/3/10) !do ij = j1p, j2p do ij = j1p_w, j2p_w-1 mmf(ij+1) = mmf(ij) + mmfd(ij) / geofac(ij) end do !------------------------------------------------------------ !Fix latitude bands. !Note that we don't need to worry about geometry here because !all boxes in a latitude band are identical. !Note also that fxintegral(i2+1) should equal fxintegral(i1), !i.e., zero. !------------------------------------------------------------ ! Work on inner domain (ccc, 8/3/10) !do ij = j1p, j2p do ij = j1p_w, j2p_w fxintegral(:) = 0.0e+0_fp !do il = i1, i2 do il = i1_w, i2_w fxintegral(il+1) = fxintegral(il) - & (ddps(il,ij) - dgpress) - mmfd(ij) end do fxmean = Sum (fxintegral(i1+1:i2+1)) / ri2 !fxmean = Sum (fxintegral(i1_w+1:i2_w+1)) / ri2 !do il = i1, i2 do il = i1_w, i2_w xcolmass_fix(il,ij) = fxintegral(il) - fxmean end do end do !------------------------------------- !Distribute colmass_fix's in vertical. !------------------------------------- do ik = k1, k2 !do ij = j1p, j2p !do il = i1, i2 do ij = j1p_w, j2p_w do il = i1_w, i2_w xmass_fixed(il,ij,ik) = xmass(il,ij,ik) + xcolmass_fix(il,ij) * dbk(ik) end do end do end do ! Grid stops at j2p if nested domain (ccc, 8/3/10) !do ik = k1, k2 !do ij = j1p, j2p+1 !do il = i1, i2 ! ! ymass_fixed(il,ij,ik) = ymass(il,ij,ik) + mmf(ij) * dbk(ik) ! !end do !end do !end do do ik = k1, k2 !do ij = j1p, j2p !do il = i1, i2 do ij = j1p_w, j2p_w do il = i1_w, i2_w ymass_fixed(il,ij,ik) = ymass(il,ij,ik) + mmf(ij) * dbk(ik) end do end do end do !==================== call Calc_Divergence & !==================== (.false., geofac_pc, geofac, dpi, xmass_fixed, ymass_fixed) dps_ctm(i1:i2,ju1:j2) = Sum (dpi(i1:i2,ju1:j2,:), dim=3) END SUBROUTINE Do_Press_Fix_Llnl !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Convert_Winds ! ! !DESCRIPTION: Subroutine Convert\_Winds converts winds on A or C grid to ! Courant \# on C grid. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Convert_Winds(State_Grid, igd, tdt, cosp, crx, cry, uu, vv) ! ! !USES: ! USE PhysConstants ! Re, PI USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! ! Grid State object TYPE(GrdState), INTENT(IN) :: State_Grid ! A or C grid INTEGER, INTENT(IN) :: igd ! Model time step [s] REAL(fp), INTENT(IN) :: tdt ! Cosine of grid box centers REAL(fp), INTENT(IN) :: cosp(ju1_gl:j2_gl) ! Wind velocity in E-W (UU) and N-S (VV) directions at t1+tdt/2 [m/s] REAL(fp), INTENT(IN) :: uu (ilo:ihi, julo:jhi, k1:k2) REAL(fp), INTENT(IN) :: vv (ilo:ihi, julo:jhi, k1:k2) ! ! !OUTPUT PARAMETERS: ! ! Courant number in E-W (CRX) and N-S (CRY) directions REAL(fp), INTENT(OUT) :: crx (ilo:ihi, julo:jhi, k1:k2) REAL(fp), INTENT(OUT) :: cry (ilo:ihi, julo:jhi, k1:k2) ! ! !AUTHOR: ! Philip Cameron-Smith and John Tannahill, GMI project @ LLNL (2003) ! ! !REMARKS: ! Use GEOS-CHEM physical constants Re, PI to be consistent with other ! usage everywhere (bmy, 5/5/03) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! logical, save :: first = .true. integer :: il, ij !------------------------------- !dl : spacing in longitude (rad) !dp : spacing in latitude (rad) !------------------------------- real(fp) :: dl real(fp) :: dp real(fp) :: ri2 real(fp) :: rj2m1 !------------------------ !dtdy : dt/dy (s/m) !dtdy5 : 0.5 * dtdy (s/m) !------------------------ real(fp), save :: dtdy real(fp), save :: dtdy5 !------------------------ !dtdx : dt/dx (s/m) !dtdx5 : 0.5 * dtdx (s/m) !------------------------ real(fp), allocatable, save :: dtdx (:) real(fp), allocatable, save :: dtdx5(:) !---------------- !Begin execution. !---------------- if (pr_diag) then Write (6, *) 'Convert_Winds called by ', loc_proc end if !========== if (first) then !========== first = .false. Allocate (dtdx (ju1_gl:j2_gl)) Allocate (dtdx5(ju1_gl:j2_gl)) dtdx = 0.0_fp; dtdx5 = 0.0_fp ri2 = i2_gl rj2m1 = j2_gl - 1 IF ( TRIM(State_Grid%GridRes) == '0.5x0.625' ) THEN dl = 2.0e+0_fp * PI / 576.0_fp dp = PI /360e+0_fp ELSE IF ( TRIM(State_Grid%GridRes) == '0.25x0.3125' ) THEN dl = 2.0e+0_fp * PI / 1152.0_fp dp = PI /720e+0_fp ELSE IF ( TRIM(State_Grid%GridRes) == '0.125x0.15625' ) THEN dl = 2.0e+0_fp * PI / 2304.0_fp dp = PI /1440e+0_fp ENDIF dtdy = tdt / (Re * dp) dtdy5 = 0.5_fp * dtdy !-----lzh---------- !dtdx (ju1_gl) = 0.0e+0_fp !dtdx5(ju1_gl) = 0.0e+0_fp ! !do ij = ju1_gl + 1, j2_gl - 1 ! ! dtdx (ij) = tdt / (dl * Re * cosp(ij)) ! dtdx5(ij) = 0.5e+0_fp * dtdx(ij) ! !end do ! !dtdx (j2_gl) = 0.0e+0_fp !dtdx5(j2_gl) = 0.0e+0_fp !----------------------------------------------- ! for nested NA or EA (lzh, 07/20/2010) do ij = ju1_gl, j2_gl dtdx (ij) = tdt / (dl * Re * cosp(ij)) dtdx5(ij) = 0.5e+0_fp * dtdx(ij) end do !----------------------------------------------- end if !============= if (igd == 0) then ! A grid. !============= do ij = ju1+1, j2-1 do il = i1+1, i2 crx(il,ij,:) = dtdx5(ij) * & (uu(il,ij,:) + uu(il-1,ij, :)) end do ! No periodicity (ccc, 8/3/10) !crx(1,ij,:) = dtdx5(ij) * & ! (uu(1,ij,:) + uu(i2,ij, :)) end do do ij = ju1+1, j2 do il = i1, i2 cry(il,ij,:) = dtdy5 * & (vv(il,ij,:) + vv(il, ij-1,:)) end do end do !==== else ! C grid. !==== ! No ghost zones. (ccc, 8/3/10) !do ij = ju1, j2 ! do il = i1, i2 do ij = ju1+1, j2 do il = i1+1, i2 crx(il,ij,:) = dtdx(ij) * uu(il-1,ij, :) cry(il,ij,:) = dtdy * vv(il, ij-1,:) end do end do end if END SUBROUTINE Convert_Winds !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Calc_Horiz_Mass_Flux ! ! !DESCRIPTION: Subroutine Calc\_Horiz\_Mass\_Flux calculates the horizontal ! mass flux for non-GISS met data. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Calc_Horiz_Mass_Flux & (State_Grid, cose, delpm, uu, vv, xmass, ymass, tdt, cosp) ! ! !USES: ! USE PhysConstants ! Re, Pi USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! ! Grid State object TYPE(GrdState), INTENT(IN) :: State_Grid ! Timestep [s] REAL(fp) :: tdt ! Cosine of grid box edges REAL(fp) :: cose (ju1_gl:j2_gl) ! Cosine of grid box centers REAL(fp) :: cosp (ju1_gl:j2_gl) ! Pressure thickness, the pseudo-density in a ! hdrostatic system at t1+tdt/2 (approximate) [hPa] REAL(fp) :: delpm(ilo:ihi, julo:jhi, k1:k2) ! E-W (UU) and N-S (VV) winds [m/s] REAL(fp) :: uu (ilo:ihi, julo:jhi, k1:k2) REAL(fp) :: vv (ilo:ihi, julo:jhi, k1:k2) ! ! !OUTPUT PARAMETERS: ! ! Horizontal mass flux in E-W and N-S directions [hPa] REAL(fp) :: xmass(ilo:ihi, julo:jhi, k1:k2) REAL(fp) :: ymass(ilo:ihi, julo:jhi, k1:k2) ! ! !AUTHOR: ! Original code from Shian-Jiann Lin, DAO ! John Tannahill, LLNL (jrt@llnl.gov) ! ! !REMARKS: ! Use GEOS-CHEM physical constants Re, PI to be consistent with other ! usage everywhere (bmy, 5/5/03) ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! integer :: ij integer :: il integer :: jst, jend real(fp) :: dl real(fp) :: dp real(fp) :: ri2 real(fp) :: rj2m1 real(fp) :: factx real(fp) :: facty !---------------- !Begin execution. !---------------- if (pr_diag) then Write (6,*) 'Calc_Horiz_Mass_Flux called by ', loc_proc end if ri2 = i2_gl rj2m1 = j2_gl - 1 IF ( TRIM(State_Grid%GridRes) == '0.5x0.625' ) THEN dl = 2.0e+0_fp * PI / 576.0_fp dp = PI /360.0_fp ELSE IF ( TRIM(State_Grid%GridRes) == '0.25x0.3125' ) THEN dl = 2.0e+0_fp * PI / 1152.0_fp dp = PI /720.0_fp ELSE IF ( TRIM(State_Grid%GridRes) == '0.125x0.15625' ) THEN dl = 2.0e+0_fp * PI / 2304.0_fp dp = PI /1440.0_fp ENDIF facty = 0.5_fp * tdt / (Re * dp) !----------------------------------- !Calculate E-W horizontal mass flux. !----------------------------------- do ij = ju1, j2 factx = 0.5_fp * tdt / (dl * Re * cosp(ij)) do il = i1+1, i2 xmass(il,ij,:) = factx * & (uu(il,ij,:) * delpm(il,ij,:) + & uu(il-1,ij,:) * delpm(il-1,ij,:)) end do ! No periodicity. (ccc, 8/3/10) !xmass(i1,ij,:) = factx * & ! (uu(i1,ij,:) * delpm(i1,ij,:)+ & ! uu(i2,ij,:) * delpm(i2,ij,:)) end do !----------------------------------- !Calculate N-S horizontal mass flux. !----------------------------------- do ij = ju1+1, j2 ymass(i1:i2,ij,:) = facty * & cose(ij) * (vv(i1:i2,ij,:)*delpm(i1:i2,ij,:) + & vv(i1:i2,ij-1,:)*delpm(i1:i2,ij-1,:)) end do END SUBROUTINE Calc_Horiz_Mass_Flux !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Calc_Divergence ! ! !DESCRIPTION: Subroutine Calc\_Divergence calculates the divergence. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Calc_Divergence & (do_reduction, geofac_pc, geofac, dpi, xmass, ymass) ! ! !INPUT PARAMETERS: ! ! Set to F if called on Master; set to T if called by Slaves ! (NOTE: this doesn't seem to be used!) LOGICAL, INTENT(IN) :: do_reduction ! Special geometrical factor (geofac) for Polar cap REAL(fp), INTENT(IN) :: geofac_pc ! geometrical factor for meridional advection; geofac uses ! correct spherical geometry, and replaces acosp as the ! meridional geometrical factor in tpcore REAL(fp), INTENT(IN) :: geofac(ju1_gl:j2_gl) ! horizontal mass fluxes in E-W and N-S directions [hPa] REAL(fp), INTENT(IN) :: xmass (ilo:ihi, julo:jhi, k1:k2) REAL(fp), INTENT(IN) :: ymass (ilo:ihi, julo:jhi, k1:k2) ! ! !INPUT/OUTPUT PARAMETERS: ! ! Divergence at a grid point; used to calculate vertical motion [hPa] REAL(fp), INTENT(OUT) :: dpi (i1:i2, ju1:j2, k1:k2) ! ! !AUTHOR: ! Philip Cameron-Smith and John Tannahill, GMI project @ LLNL (2003) ! ! !REVISION HISTORY: ! 02 Dec 2008 - R. Yantosca - Updated documentation and added ProTeX headers. ! Declare all REAL variables as REAL(fp). !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! integer :: il, ij !integer :: jst, jend !---------------- !Begin execution. !---------------- if (pr_diag) then Write (6,*) 'Calc_Divergence called by ', loc_proc end if ! Initialize DPI, it's an output dpi = 0.0_fp !------------------------- !Calculate N-S divergence. !------------------------- ! No polar cap. (ccc, 8/3/10) !do ij = j1p, j2p ! ! dpi(i1:i2,ij,:) = ! (ymass(i1:i2,ij,:) - ymass(i1:i2,ij+1,:)) * geofac(ij) ! !end do ! !if(j1p.ne.2) then ! dpi(:,2,:) = 0. ! dpi(:,j2-1,:) = 0. !endif !do ij = j1p_w, j2p_w do ij = j1p, j2p-1 dpi(i1:i2,ij,:) = (ymass(i1:i2,ij,:) - ymass(i1:i2,ij+1,:)) * geofac(ij) end do !-----lzh----------------------- !!=========================== !call Do_Divergence_Pole_Sum & !!=========================== ! (do_reduction, geofac_pc, dpi, ymass) ! comment out for nested NA (lzh, 07/20/2010) !dpi(:,1,:) = 0. ! (lzh, 07/20/2010) !qpi(:,j2,:) = 0. !------------------------- !Calculate E-W divergence. !------------------------- do ij = j1p,j2p do il = i1, i2-1 dpi(il,ij,:) = dpi(il,ij,:) + xmass(il,ij,:) - xmass(il+1,ij,:) end do ! No periodicity. (ccc, 8/3/10) !dpi(i2,ij,:) = dpi(i2,ij,:) + xmass(i2,ij,:) - xmass(1,ij,:) end do END SUBROUTINE Calc_Divergence !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Set_Press_Terms ! ! !DESCRIPTION: Subroutine Set\_Press\_Terms sets the pressure terms. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Set_Press_Terms & (dap, dbk, pres1, pres2, delp1, delpm, pu) ! ! !INPUT PARAMETERS: ! ! Pressure difference across layer from (ai * pt) term [hPa] REAL(fp), INTENT(IN) :: dap (k1:k2) ! Difference in bi across layer - the dSigma term REAL(fp), INTENT(IN) :: dbk (k1:k2) ! Surface pressure at t1 [hPa] REAL(fp), INTENT(IN) :: pres1(ilo:ihi, julo:jhi) ! Surface pressure at t1+tdt [hPa] REAL(fp), INTENT(IN) :: pres2(ilo:ihi, julo:jhi) ! ! !OUTPUT PARAMETERS: ! ! Pressure thickness, the psudo-density in a ! hydrostatic system at t1 [hPa] REAL(fp), INTENT(OUT) :: delp1(ilo:ihi, julo:jhi, k1:k2) ! Pressure thickness, the psudo-density in a ! hydrostatic system at t1+tdt/2 (approximate) [hPa] REAL(fp), INTENT(OUT) :: delpm(ilo:ihi, julo:jhi, k1:k2) ! Pressure at edges in "u" [hPa] REAL(fp), INTENT(OUT) :: pu (ilo:ihi, julo:jhi, k1:k2) ! ! !AUTHOR: ! Philip Cameron-Smith and John Tannahill, GMI project @ LLNL (2003) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! integer :: il, ij, ik integer :: jst, jend !---------------- !Begin execution. !---------------- if (pr_diag) then Write (6,*) 'Set_Press_Terms called by ', loc_proc end if do ik = k1, k2 delp1(:,:,ik) = dap(ik) + (dbk(ik) * pres1(:,:)) delpm(:,:,ik) = dap(ik) + & (dbk(ik) * 0.5e+0_fp * (pres1(:,:) + pres2(:,:))) end do do ij = ju1, j2 do il = i1+1, i2 pu(il,ij,:) = 0.5e+0_fp * (delpm(il,ij,:) + delpm(il-1,ij,:)) end do ! No periodicity. (ccc, 8/3/10) !pu(i1,ij,:) = 0.5e+0_fp * (delpm(i1,ij,:) + delpm(i2,ij,:)) end do END SUBROUTINE Set_Press_Terms !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Xpavg ! ! !description: Subroutine Xpavg replaces each element of a vector with ! the average of the entire array. (bmy, 5/7/03) !\\ !\\ ! !INTERFACE: ! SUBROUTINE XPAVG( P, IM ) ! ! !USES: ! USE ERROR_MOD, ONLY : ERROR_STOP ! ! !INPUT PARAMETERS: ! ! Dimension of P INTEGER, INTENT(IN) :: IM ! ! !INPUT/OUTPUT PARAMETERS: ! ! 1-D vector to be averaged REAL(fp), INTENT(INOUT) :: P(IM) ! ! !AUTHOR: ! Philip Cameron-Smith and John Tannahill, GMI project @ LLNL (2003) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL :: AVG !================================================================= ! XPAVG begins here! !================================================================= ! Error check IM IF ( IM == 0 ) THEN CALL ERROR_STOP( 'Div by zero!', 'XPAVG ("pjc_pfix_mod.F90")' ) ENDIF ! Take avg of entire P array AVG = SUM( P ) / DBLE( IM ) ! Store average value in all elements of P P(:) = AVG END SUBROUTINE XPAVG !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: init_pjc_pfix ! ! !DESCRIPTION: INIT\_PJC\_PFIX_WINDOW allocates and initializes module arrays ! and variables. GMI dimension variables will be used for compatibility with ! the Phil Cameron-Smith P-fixer. (bdf, bmy, 5/8/03) !\\ !\\ ! !INTERFACE: ! SUBROUTINE INIT_PJC_PFIX_WINDOW( State_Grid ) ! ! !USES: ! USE ERROR_MOD, ONLY : ALLOC_ERR, ERROR_STOP USE PhysConstants ! Re, PI, etc... USE PRESSURE_MOD, ONLY : GET_AP, GET_BP USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN ) :: State_Grid ! Grid State object ! ! !AUTHOR: ! Brendan Field and Bob Yantosca (5/8/03) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: AS, I, J, L !================================================================= ! INIT_PJC_PFIX_WINDOW begins here! ! ! Initialize dimensions for GMI pressure-fixer code !================================================================= IMP_NBORDER = 0 I1_GL = 1 I2_GL = State_Grid%NX JU1_GL = 1 JV1_GL = 1 J2_GL = State_Grid%NY K1_GL = 1 K2_GL = State_Grid%NZ ILO_GL = I1_GL - IMP_NBORDER IHI_GL = I2_GL + IMP_NBORDER JULO_GL = JU1_GL - IMP_NBORDER JVLO_GL = JV1_GL - IMP_NBORDER JHI_GL = J2_GL + IMP_NBORDER I1 = I1_GL I2 = I2_GL JU1 = JU1_GL JV1 = JV1_GL J2 = J2_GL K1 = K1_GL K2 = K2_GL ILO = ILO_GL IHI = IHI_GL JULO = JULO_GL JVLO = JVLO_GL JHI = JHI_GL ! No polar cap. (ccc, 8/3/10) !J1P = 3 J1P = 1 J2P = J2_GL - J1P + 1 ! Used only to check dimensions ILAT = J2_GL - JU1_GL + 1 ILONG = I2_GL - I1_GL + 1 IVERT = K2_GL - K1_GL + 1 ! To add a buffer zone to calculate p-fixer for nested grid ! simulations. The p-fixer is not calculated for the edge boxes. ! (lzh, ccc, 8/3/10) BUFF_SIZE = 2 I1_W = I1_GL + BUFF_SIZE I2_W = I2_GL - BUFF_SIZE JU1_W = JU1_GL + BUFF_SIZE J2_W = J2_GL - BUFF_SIZE J1P_W = 1 + BUFF_SIZE J2P_W = J2_GL - J1P_W + 1 ! Error check longitude IF ( ILONG /= State_Grid%NX ) THEN CALL ERROR_STOP( 'Invalid longitude dimension ILONG!', & 'INIT_PJC_FIX_WINDOW' ) ENDIF ! Error check latitude IF ( ILAT /= State_Grid%NY ) THEN CALL ERROR_STOP( 'Invalid latitude dimension ILAT!', & 'INIT_PJC_FIX_WINDOW' ) ENDIF ! Error check altitude IF ( IVERT /= State_Grid%NZ ) THEN CALL ERROR_STOP( 'Invalid altitude dimension IVERT!', & 'INIT_PJC_FIX_WINDOW' ) ENDIF !================================================================= ! Allocate module arrays (use dimensions from GMI code) !================================================================= ALLOCATE( AI( K1_GL-1:K2_GL ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'AI' ) ALLOCATE( BI( K1_GL-1:K2_GL ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'BI' ) ALLOCATE( DAP( K1_GL:K2_GL ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'DAP' ) ALLOCATE( DBK( K1_GL:K2_GL ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'DBK' ) ALLOCATE( CLAT_FV( JU1_GL:J2_GL ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'CLAT_FV' ) ALLOCATE( COSE_FV( JU1_GL:J2_GL+1 ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'COSE_FV' ) ALLOCATE( COSP_FV( JU1_GL:J2_GL ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'COSP_FV' ) ALLOCATE( DLAT_FV( JU1_GL:J2_GL ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'DLAT_FV' ) ALLOCATE( ELAT_FV( JU1_GL:J2_GL+1 ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'ELAT_FV' ) ALLOCATE( GEOFAC( JU1_GL:J2_GL ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'GEOFAC' ) ALLOCATE( GW_FV( JU1_GL:J2_GL ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'GW_FV' ) ALLOCATE( MCOR( I1_GL:I2_GL, JU1_GL:J2_GL ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'MCOR' ) ALLOCATE( REL_AREA( I1_GL:I2_GL, JU1_GL:J2_GL ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'REL_AREA' ) ALLOCATE( RGW_FV( JU1_GL:J2_GL ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'RGW_FV' ) ALLOCATE( SINE_FV( JU1_GL:J2_GL+1 ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'SINE_FV' ) !================================================================= ! Initialize arrays and variables !================================================================= ! Grid box surface areas [m2] DO J = JU1_GL, J2_GL DO I = I1_GL, I2_GL MCOR(I,J) = State_Grid%Area_M2(I,J) ENDDO ENDDO ! Hybrid grid vertical coords: Ai [hPa] and Bi [unitless] DO L = K1_GL-1, K2_GL AI(L) = GET_AP( L+1 ) BI(L) = GET_BP( L+1 ) ENDDO ! Delta A [hPa] and Delta B [unitless] DO L = K1_GL, K2_GL !------------------------------------------------------------- ! NOTE:, this was the original code. But since AI is already ! in hPa, we shouldn't need to multiply by PTOP again. This ! should only matter for the fvDAS fields. Also, DBK needs ! to be positive (bmy, 5/8/03) !DAP(L) = ( AI(L) - AI(L-1) ) * PTOP !DBK(L) = BI(L) - BI(L-1) !------------------------------------------------------------- DAP(L) = AI(L-1) - AI(L) DBK(L) = BI(L-1) - BI(L) ENDDO ! Grid box center latitudes [radians] DO J = JU1_GL, J2_GL CLAT_FV(J) = State_Grid%YMid_R(1,J) ENDDO ! Longitude spacing IF ( TRIM(State_Grid%GridRes) == '0.5x0.625' ) THEN DLON_FV = 2.0_fp * PI / 576.0_fp ELSE IF ( TRIM(State_Grid%GridRes) == '0.25x0.3125' ) THEN DLON_FV = 2.0_fp * PI / 1152.0_fp ELSE IF ( TRIM(State_Grid%GridRes) == '0.125x0.15625' ) THEN DLON_FV = 2.0_fp * PI / 2304.0_fp ENDIF ! Latitude edge at south pole [radians] !ELAT_FV(1) = -0.5e+0_fp * PI IF ( TRIM(State_Grid%GridRes) == '0.5x0.625' ) THEN ELAT_FV(1) = CLAT_FV(1) - 0.25_fp * PI / 180.0_fp ELSE IF ( TRIM(State_Grid%GridRes) == '0.25x0.3125' ) THEN ELAT_FV(1) = CLAT_FV(1) - 0.125_fp * PI / 180.0_fp ELSE IF ( TRIM(State_Grid%GridRes) == '0.125x0.15625' ) THEN ELAT_FV(1) = CLAT_FV(1) - 0.0625_fp * PI / 180.0_fp ENDIF ! SIN and COS of lat edge at south pole [unitless] !SINE_FV(1) = -1.e+0_fp !COSE_FV(1) = 0.e+0_fp ! for nested NA or EA (lzh, 07/20/2010) SINE_FV(1) = SIN( ELAT_FV(1) ) COSE_FV(1) = COS( ELAT_FV(1) ) ! Latitude edges [radians] (w/ SIN & COS) at intermediate latitudes DO J = JU1_GL+1, J2_GL !2, State_Grid%NY ELAT_FV(J) = 0.5e+0_fp * ( CLAT_FV(J-1) + CLAT_FV(J) ) SINE_FV(J) = SIN( ELAT_FV(J) ) COSE_FV(J) = COS( ELAT_FV(J) ) ENDDO ! Latitude edge at North Pole [radians] !ELAT_FV(J2_GL+1) = 0.5e+0_fp * PI ! for nested NA or EA (lzh, 07/20/2010) IF ( TRIM(State_Grid%GridRes) == '0.5x0.625' ) THEN ELAT_FV(J2_GL+1) = CLAT_FV(J2_GL)+0.25_fp * PI / 180.0_fp ELSE IF ( TRIM(State_Grid%GridRes) == '0.25x0.3125' ) THEN ELAT_FV(J2_GL+1) = CLAT_FV(J2_GL)+0.125_fp * PI / 180.0_fp ELSE IF ( TRIM(State_Grid%GridRes) == '0.125x0.15625' ) THEN ELAT_FV(J2_GL+1) = CLAT_FV(J2_GL)+0.0625_fp * PI / 180.0_fp ENDIF ! SIN of lat edge at North Pole !SINE_FV(J2_GL+1) = 1.e+0_fp ! for nested NA or EA (lzh, 07/20/2010) SINE_FV(J2_GL+1) = SIN( ELAT_FV(J2_GL+1) ) COSE_FV(J2_GL+1) = COS( ELAT_FV(J2_GL+1) ) ! Latitude extent of South polar box [radians] !DLAT_FV(1) = 2.e+0_fp * ( ELAT_FV(2) - ELAT_FV(1) ) ! comment out for nested NA or EA (lzh, 07/20/2010) ! Latitude extent of boxes at intermediate latitudes [radians] !DO J = JU1_GL+1, J2_GL-1 ! 2, State_Grid%NY-1 ! for nested NA or EA (lzh, 07/20/2010) DO J = JU1_GL, J2_GL DLAT_FV(J) = ELAT_FV(J+1) - ELAT_FV(J) ENDDO ! Latitude extent of North polar box [radians] !DLAT_FV(J2_GL) = 2.e+0_fp * ( ELAT_FV(J2_GL+1) - ELAT_FV(J2_GL) ) ! comment out for nested NA or EA (lzh, 07/20/2010) ! Other stuff DO J = JU1_GL, J2_GL GW_FV(J) = SINE_FV(J+1) - SINE_FV(J) COSP_FV(J) = GW_FV(J) / DLAT_FV(J) RGW_FV(J) = 1.e+0_fp / GW_FV(J) ENDDO END SUBROUTINE INIT_PJC_PFIX_WINDOW !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: cleanup_pjc_pfix_window ! ! !DESCRIPTION: Subroutine CLEANUP\_PJC\_PFIX\_WINDOW deallocates all module ! arrays (bmy, 5/8/03) !\\ !\\ ! !INTERFACE: ! SUBROUTINE CLEANUP_PJC_PFIX_WINDOW ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC IF ( ALLOCATED( AI ) ) DEALLOCATE( AI ) IF ( ALLOCATED( BI ) ) DEALLOCATE( BI ) IF ( ALLOCATED( CLAT_FV ) ) DEALLOCATE( CLAT_FV ) IF ( ALLOCATED( COSE_FV ) ) DEALLOCATE( COSE_FV ) IF ( ALLOCATED( COSP_FV ) ) DEALLOCATE( COSP_FV ) IF ( ALLOCATED( DAP ) ) DEALLOCATE( DAP ) IF ( ALLOCATED( DBK ) ) DEALLOCATE( DBK ) IF ( ALLOCATED( DLAT_FV ) ) DEALLOCATE( DLAT_FV ) IF ( ALLOCATED( ELAT_FV ) ) DEALLOCATE( ELAT_FV ) IF ( ALLOCATED( GEOFAC ) ) DEALLOCATE( GEOFAC ) IF ( ALLOCATED( GW_FV ) ) DEALLOCATE( GW_FV ) IF ( ALLOCATED( MCOR ) ) DEALLOCATE( MCOR ) IF ( ALLOCATED( REL_AREA ) ) DEALLOCATE( REL_AREA ) IF ( ALLOCATED( RGW_FV ) ) DEALLOCATE( RGW_FV ) IF ( ALLOCATED( SINE_FV ) ) DEALLOCATE( SINE_FV ) END SUBROUTINE CLEANUP_PJC_PFIX_WINDOW !EOC END MODULE PJC_PFIX_WINDOW_MOD ================================================ FILE: GeosCore/planeflight_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: planeflight_mod.F90 ! ! !DESCRIPTION: Module PLANEFLIGHT\_MOD contains variables and routines which ! are used to "fly" a plane through the GEOS-Chem model simulation. This is ! useful for comparing model results with aircraft observations. !\\ !\\ ! !INTERFACE: ! MODULE PLANEFLIGHT_MOD ! ! !USES: ! USE inquireMod, ONLY : findFreeLUN USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! Prior to 5/12/16: ! This routine does not work with the FlexChem implementation. We need to ! rewrite this code to get the necessary information from KPP (mps, 5/12/16) ! PUBLIC :: ARCHIVE_RXNS_FOR_PF !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% PUBLIC :: CLEANUP_PLANEFLIGHT PUBLIC :: PLANEFLIGHT PUBLIC :: SETUP_PLANEFLIGHT PUBLIC :: SET_PLANEFLIGHT ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: AN_SETUP PRIVATE :: INIT_PLANEFLIGHT PRIVATE :: NOY_SETUP PRIVATE :: READ_VARIABLES PRIVATE :: READ_POINTS PRIVATE :: RO2_SETUP PRIVATE :: TEST_VALID PRIVATE :: WRITE_VARS_TO_FILE ! ! !REMARKS: ! The quantities that are saved to disk by the planeflight diagnostic were ! requested by GEOS-Chem users. If you would like to save out a new quantity, ! then you will have to make your own modifications in this module. ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !PRIVATE TYPES: ! !================================================================= ! MODULE VARIABLES: ! ! DO_PF : Turn on the planeflight diagnostic? (T/F) ! MAXVARS : Maximum # of variables allowed ! MAXPOINTS : Maximum # of flight track points allowed ! MAXREAC : Maximum # of reactions allowed ! MAXRO2 : Maximum # of RO2 constituents allowed ! NPOINTS : Number of flight track points ! PPOINT : Pointer to last measured output ! PDATE : Array of dates at each flight point ! PTIME : Array of times at each flight point ! PTAU : Array of TAU's at each flight point ! PLATTD : Array of latitude at each flight point ! PLONGTD : Array of longitude at each flight point ! PPRESS : Array of pressure at each flight point ! PTYPE : Array of ID'#S at each flight point ! NPVAR : # of var's to be saved at each flight point ! PVAR : Array of variable indices ! PNAME : Array of variable names corresponding to PVAR ! NPREAC : # of variables that are really rxns ! PREAC : Array of rxn index numbers ! PRRATE : Array of rxn rates for each entry in PREAC ! JPREAC : Array of j-rate rxn index numbers ! NJPREAC : # of variables that are j-rate rxns ! NRO2 : # number of RO2 constituents ! PRO2 : Array of species that are RO2 const's ! INFILENAME : Name of input file defining the flight track ! OUTFILENAME : Name of output file !================================================================= ! Logicals LOGICAL :: DO_PF ! Parameters INTEGER, PARAMETER :: MAXVARS = 800 INTEGER, PARAMETER :: MAXPOINTS = 100000 INTEGER, PARAMETER :: MAXREAC = 50 INTEGER, PARAMETER :: MAXRO2 = 56 INTEGER, PARAMETER :: MAXAN = 20 INTEGER, PARAMETER :: MAXNOY = 20 ! For specifying flight track points INTEGER :: NPOINTS INTEGER :: PPOINT ! For specifying date/time INTEGER, ALLOCATABLE :: PDATE(:) INTEGER, ALLOCATABLE :: PTIME(:) REAL(fp), ALLOCATABLE :: PTAU(:) ! For specifying lat/lon/alt and ID type REAL*4, ALLOCATABLE :: PLATTD(:) REAL*4, ALLOCATABLE :: PLONGTD(:) REAL*4, ALLOCATABLE :: PPRESS(:) REAL*4, ALLOCATABLE :: POBS(:) REAL*4, ALLOCATABLE :: PTAMB(:) REAL*4, ALLOCATABLE :: PH2OMR(:) REAL*4, ALLOCATABLE :: PPOTTEMP(:) REAL*4, ALLOCATABLE :: PRH(:) REAL*4, ALLOCATABLE :: PGPSALT(:) CHARACTER(LEN=7), ALLOCATABLE :: PTYPE(:) ! For specifying variables to save at each flight point INTEGER :: NPVAR INTEGER, ALLOCATABLE :: PVAR(:) CHARACTER(LEN=10), ALLOCATABLE :: PNAME(:) ! For specifying rxns to save at each flight point INTEGER :: NPREAC INTEGER, ALLOCATABLE :: PREAC(:) REAL(fp), ALLOCATABLE :: PRRATE(:,:,:,:) ! and for photolysis reactions (j-rates) INTEGER, ALLOCATABLE :: JPREAC(:) INTEGER :: NJPREAC ! For rate of production INTEGER :: NPROD INTEGER, ALLOCATABLE :: IPROD(:) ! For specifying RO2 constituents at each flight point INTEGER :: NPRO2 INTEGER :: PRO2(MAXRO2) ! For specifying NOY constituents at each flight point INTEGER :: NPNOY INTEGER :: PNOY(MAXNOY) ! For specifying AN constituents at each flight point INTEGER :: NPAN INTEGER :: P_AN(MAXAN) ! Input/output file names CHARACTER(LEN=255) :: INFILENAME, INF CHARACTER(LEN=255) :: OUTFILENAME, OUTF ! Logical unit numbers INTEGER :: IU_FILE INTEGER :: IU_PLANE CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: setup_planeflight ! ! !DESCRIPTION: Subroutine SETUP\_PLANEFLIGHT reads information from the ! input file in order to initialize the planeflight diagnostic. Also ! calls INIT\_PLANEFLIGHT to allocate and zero module arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE SETUP_PLANEFLIGHT( Input_Opt, State_Chm, State_Grid, & State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE FILE_MOD, ONLY : FILE_EXISTS USE FILE_MOD, ONLY : IOERROR USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : EXPAND_DATE USE TIME_MOD, ONLY : GET_NYMD USE TIME_MOD, ONLY : GET_NHMS ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 30 Jul 2002 - M. Evans - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! LOGICAL, SAVE :: FIRST = .TRUE. LOGICAL :: IS_OPEN INTEGER :: I, IP, N, TEMP, LENGTH INTEGER :: RN, COUNTER, IOS, NYMD, NHMS CHARACTER(LEN=6) :: TYPE CHARACTER(LEN=255) :: errMsg, thisLoc !================================================================= ! SETUP_PLANEFLIGHT begins here! !================================================================= ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = & ' -> at Setup_Planeflight (located in GeosCore/planeflight_mod.f90)' ! Assume that there is flight data for today DO_PF = .TRUE. ! Find a free file LUN IU_FILE = findFreeLun() ! Get date & time NYMD = GET_NYMD() NHMS = GET_NHMS() ! Copy file names to local variables INF = INFILENAME OUTF = OUTFILENAME ! Replace any date & time tokens in the file names CALL EXPAND_DATE( INF, NYMD, NHMS ) CALL EXPAND_DATE( OUTF, NYMD, NHMS ) ! If we can't find a flighttrack file for today's date, return IF ( .not. FILE_EXISTS( INF ) ) THEN DO_PF = .FALSE. RETURN ENDIF ! Echo info IF ( Input_Opt%amIRoot ) THEN WRITE( 6, '(a)' ) REPEAT( '=', 79 ) WRITE( 6, 99 ) WRITE( 6, 100 ) TRIM( INF ), IU_FILE 99 FORMAT( 'P L A N E F L I G H T D I A G N O S T I C' ) 100 FORMAT( /, 'SETUP_PLANEFLIGHT: Reading ',a, ' on unit ', i4 ) WRITE( 6, '(a)' ) ENDIF ! Compute # of species and # of points & allocate arrays CALL INIT_PLANEFLIGHT( Input_Opt, State_Grid, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "Init_Planeflight!"' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Return if there are no flight track points for today IF ( NPOINTS == 0 ) THEN IF ( Input_Opt%amIRoot ) THEN WRITE( 6, '(a)' ) 'No flight track found for today!' ENDIF DO_PF = .FALSE. RETURN ENDIF !================================================================= ! Open file and read info !================================================================= ! Open input file OPEN( IU_FILE, FILE=TRIM( INF ), IOSTAT=IOS ) IF ( IOS /= 0 ) CALL IOERROR( IOS, IU_FILE, 'setup_planeflight:1') ! Read variables to be output -- sort into PVAR array by type CALL READ_VARIABLES( Input_Opt, State_Chm, IU_FILE, RC ) ! Read information about each point (date/time/lon/lat/alt) CALL READ_POINTS( Input_Opt, State_Grid, State_Met, IU_FILE, RC) ! Close the file CLOSE( IU_FILE ) ! Set the pointer to the first record PPOINT = 1 !================================================================= ! Find the species # for all components of RO2 (fullchem only) !================================================================= CALL RO2_SETUP( Input_Opt, State_Chm, RC ) !================================================================= ! Find the species # for all components of NOY (fullchem only) !================================================================= CALL NOY_SETUP( Input_Opt, State_Chm, RC ) !================================================================= ! Find the species # for all components of AN (fullchem only) !================================================================= CALL AN_SETUP( Input_Opt, State_Chm, RC ) ! Fancy output WRITE( 6, '(a)' ) REPEAT( '=', 79 ) !================================================================= ! Open today's plane.log file and write file header !================================================================= ! Close previously opened plane.log file INQUIRE( IU_PLANE, OPENED=IS_OPEN ) IF( IS_OPEN ) CLOSE( IU_PLANE ) ! Close previously-opened file CLOSE( IU_PLANE ) ! Find a free file LUN IU_PLANE = findFreeLUN() ! Open output file OPEN( IU_PLANE, FILE=TRIM( OUTF ), STATUS='UNKNOWN', IOSTAT=IOS ) ! Error check IF ( IOS /= 0 ) THEN CALL IOERROR( IOS, IU_PLANE, 'setup_planeflight:1' ) ENDIF ! Write header IF ( Input_Opt%amIRoot ) THEN WRITE( IU_PLANE, 110 ) 'POINT', 'TYPE', 'YYYYMMDD', 'HHMM', & 'LAT', 'LON', 'PRESS', 'OBS', & 'T-IND', 'P-IND', 'I-IND', 'J-IND', & ( PNAME(I), I=1,NPVAR ) ENDIF ! FORMAT string #if defined( TOMAS ) 110 FORMAT( A5,X,A7,X,A8,X,A4,X,A7,X,A7,X,A7,X,A10,X, & A9,X,A3,X,A5,X,A5,X,250(a10,x) ) #else 110 FORMAT( A5,X,A7,X,A8,X,A4,X,A7,X,A7,X,A7,X,A10,X, & A9,X,A3,X,A5,X,A5,X,250(a11,x) ) #endif END SUBROUTINE SETUP_PLANEFLIGHT !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: read_variables ! ! !DESCRIPTION: Subroutine READ\_VARIABLES reads the list of variables ! (chemical species, rxn rates, GMAO met fields, or GEOS-Chem species) to be ! printed out and sorts the information into the appropriate module variables. !\\ !\\ ! !INTERFACE: ! SUBROUTINE READ_VARIABLES( Input_Opt, State_Chm, IU_FILE, RC ) ! ! !USES: ! USE ErrCode_Mod USE FILE_MOD, ONLY : IOERROR USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : Species USE State_Chm_Mod, ONLY : ChmState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object INTEGER, INTENT(IN) :: IU_FILE ! Logical unit # for ASCII read ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 30 Jul 2002 - M. Evans - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! LOGICAL :: IS_FULLCHEM INTEGER :: M, N, NUM, R, IK, IOS, nAdvect, P INTEGER :: PR, J, NF, FM CHARACTER(LEN=255) :: LINE, errMsg, thisLoc CHARACTER(LEN=10) :: PRODNAME ! Objects TYPE(Species), POINTER :: SpcInfo !================================================================= ! READ_VARIABLES begins here! !================================================================= ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = ' -> at Read_Variables (located in GeosCore/planeflight_mod.F90)' ! Get fields from Input_Opt IS_FULLCHEM = Input_Opt%ITS_A_FULLCHEM_SIM ! Number of advected species nAdvect = State_Chm%nAdvect ! Initialize pointer SpcInfo => NULL() ! Read four lines of header DO N = 1, 4 READ( IU_FILE, '(a)', IOSTAT=IOS ) IF ( IOS /= 0 ) CALL IOERROR( IOS, IU_FILE, 'read_variables:1') ENDDO ! Read in the number of species to be output ! Read in as I4 now for the number of variables we save (skim, 7/24/13) READ( IU_FILE, '(i4)', IOSTAT=IOS ) NPVAR IF ( IOS /= 0 ) CALL IOERROR( IOS, IU_FILE, 'read_variables:2' ) ! Read in a separation line READ( IU_FILE, '(a)', IOSTAT=IOS ) IF ( IOS /= 0 ) CALL IOERROR( IOS, IU_FILE, 'read_variables:3' ) ! Echo to stdout IF ( Input_Opt%amIRoot ) THEN WRITE( 6, '(a)' ) ' # Species PVAR' WRITE( 6, '(a)' ) '-----------------------------' ENDIF !================================================================= ! Sort variables by type; assign indices to PVAR, PREAC arrays ! NOTE: Variables for which PVAR(N) = 0 will be skipped! !================================================================= ! Zero reaction counter R = 0 ! Zero production counter PR = 0 ! Loop over all variables DO N = 1, NPVAR ! Read each line READ( IU_FILE, '(a)', IOSTAT=IOS ) LINE IF ( IOS /= 0 ) CALL IOERROR( IOS, IU_FILE, 'read_variables:4') ! Save the name of each variable into the global PNAME array PNAME(N) = LINE(1:10) ! We are searching for a ... SELECT CASE ( LINE(1:4) ) !=========================================================== ! GEOS-CHEM tracer: listed as "TRA_001", etc. ! PVAR offset: 100000 !=========================================================== CASE ( 'TRA_' ) ! Extract tracer # from the string READ( LINE(5:14), '(i10)' ) NUM ! Make sure the tracer # is valid! IF ( NUM < 0 .or. NUM > nAdvect ) THEN IF ( Input_Opt%amIRoot ) THEN WRITE( errMsg, 100 ) TRIM( LINE ) 100 FORMAT( 'TRACER ', i4, ' is out of range!' ) CALL GC_ERROR( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF ! Save in PVAR -- add offset of 100000 PVAR(N) = 100000 + NUM #ifdef TOMAS ! Add case matching for TOMAS microphysics rates (win, 7/28/09) !=========================================================== ! GEOS-CHEM tracer: listed as "TMS_001", etc. ! PVAR offset: 200000 !=========================================================== CASE ( 'TMS_' ) ! Extract tracer # from the string READ( LINE(5:14), '(i10)' ) NUM ! Make sure the tracer # is valid! IF ( NUM < 0 .or. NUM > nAdvect ) THEN IF ( Input_Opt%amIRoot ) THEN WRITE( errMsg, 100 ) TRIM( LINE ) CALL GC_ERROR( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF ! Save in PVAR -- add offset of 200000 PVAR(N) = 200000 + NUM #endif !=========================================================== ! GMAO met field: listed as "GMAO_TEMP", etc. ! PVAR offset: 1000 !=========================================================== CASE ( 'GMAO' ) IF ( LINE == 'GMAO_TEMP' ) PVAR(N) = 1001 IF ( LINE == 'GMAO_ABSH' ) PVAR(N) = 1002 IF ( LINE == 'GMAO_SURF' ) PVAR(N) = 1003 IF ( LINE == 'GMAO_PSFC' ) PVAR(N) = 1004 IF ( LINE == 'GMAO_UWND' ) PVAR(N) = 1005 IF ( LINE == 'GMAO_VWND' ) PVAR(N) = 1006 IF ( LINE == 'GMAO_IIEV' ) PVAR(N) = 1007 IF ( LINE == 'GMAO_JJEV' ) PVAR(N) = 1008 IF ( LINE == 'GMAO_LLEV' ) PVAR(N) = 1009 IF ( LINE == 'GMAO_RELH' ) PVAR(N) = 1010 IF ( LINE == 'GMAO_PVRT' ) PVAR(N) = 1011 IF ( LINE == 'GMAO_PSLV' ) PVAR(N) = 1012 IF ( LINE == 'GMAO_AVGW' ) PVAR(N) = 1013 IF ( LINE == 'GMAO_THTA' ) PVAR(N) = 1014 IF ( LINE == 'GMAO_PRES' ) PVAR(N) = 1015 IF ( LINE == 'GMAO_ICE00' ) PVAR(N) = 1100 IF ( LINE == 'GMAO_ICE10' ) PVAR(N) = 1101 IF ( LINE == 'GMAO_ICE20' ) PVAR(N) = 1102 IF ( LINE == 'GMAO_ICE30' ) PVAR(N) = 1103 IF ( LINE == 'GMAO_ICE40' ) PVAR(N) = 1104 IF ( LINE == 'GMAO_ICE50' ) PVAR(N) = 1105 IF ( LINE == 'GMAO_ICE60' ) PVAR(N) = 1106 IF ( LINE == 'GMAO_ICE70' ) PVAR(N) = 1107 IF ( LINE == 'GMAO_ICE80' ) PVAR(N) = 1108 IF ( LINE == 'GMAO_ICE90' ) PVAR(N) = 1109 !=========================================================== ! Column aerosol optical depths (same order as for FAST-J) ! PVAR offset: 2000 !=========================================================== CASE ( 'AODC' ) IF ( LINE == 'AODC_SULF' ) PVAR(N) = 2001 IF ( LINE == 'AODC_BLKC' ) PVAR(N) = 2002 IF ( LINE == 'AODC_ORGC' ) PVAR(N) = 2003 IF ( LINE == 'AODC_SALA' ) PVAR(N) = 2004 IF ( LINE == 'AODC_SALC' ) PVAR(N) = 2005 IF ( LINE == 'AODC_DUST' ) PVAR(N) = 2006 IF ( LINE == 'AODC_TOT' ) PVAR(N) = 2007 !=========================================================== ! Aerosol optical depths below the plane ! (same order as for FAST-J) PVAR offset: 3000 !=========================================================== CASE ( 'AODB' ) IF ( LINE == 'AODB_SULF' ) PVAR(N) = 3001 IF ( LINE == 'AODB_BLKC' ) PVAR(N) = 3002 IF ( LINE == 'AODB_ORGC' ) PVAR(N) = 3003 IF ( LINE == 'AODB_SALA' ) PVAR(N) = 3004 IF ( LINE == 'AODB_SALC' ) PVAR(N) = 3005 IF ( LINE == 'AODB_DUST' ) PVAR(N) = 3006 IF ( LINE == 'AODB_TOT' ) PVAR(N) = 3007 !=========================================================== ! Hg(II) Partitioning - eds 10/27/11 PVAR offset: 4000 !=========================================================== CASE ( 'HG2_' ) IF ( LINE == 'HG2_FRACG' ) PVAR(N) = 4001 IF ( LINE == 'HG2_FRACP' ) PVAR(N) = 4002 !=========================================================== ! ISORROPIA/HETP H+, pH, water, and bisulfate (eam, 06/2015) !=========================================================== CASE( 'ISOR' ) ! ISORROPIA H+ (mol/L): IF ( LINE == 'ISOR_HPLUS' ) PVAR(N) = 5001 ! ISORROPIA pH (non-ideal system, so pH can be negative) IF ( LINE == 'ISOR_PH' ) PVAR(N) = 5002 ! ISORROPIA aerosol water (ug/m3 air) IF ( LINE == 'ISOR_AH2O' ) PVAR(N) = 5003 ! ISORROPIA bisulfate (mol/L): IF ( LINE == 'ISOR_HSO4' ) PVAR(N) = 5004 !=========================================================== ! Local time (eam, 06/2015) !=========================================================== CASE( 'TIME' ) ! Local time: IF ( LINE == 'TIME_LT' ) PVAR(N) = 6001 !=========================================================== ! Uptake coefficient for SOA formation (eam, 06/2015) ! NOTE: This may not work !=========================================================== CASE( 'GAMM' ) ! Skip if not full-chemistry IF ( IS_FULLCHEM ) THEN ! Increment reaction counter: R = R + 1 IF ( LINE == 'GAMM_EPOX' ) THEN PVAR(N) = 22001 PREAC(R) = 22001 ELSE IF ( LINE == 'GAMM_IMAE' ) THEN PVAR(N) = 22002 PREAC(R) = 22002 ELSE IF ( LINE == 'GAMM_ISOPN' ) THEN PVAR(N) = 22003 PREAC(R) = 22003 ELSE IF ( LINE == 'GAMM_DHDN' ) THEN PVAR(N) = 22004 PREAC(R) = 22004 ELSE IF ( LINE == 'GAMM_GLYX' ) THEN PVAR(N) = 22005 PREAC(R) = 22005 ENDIF ENDIF !=========================================================== ! AQUEOUS AEROSOL properties (eam, 08/2015) !=========================================================== CASE( 'AQAE' ) ! Aqueous aerosol radius (cm): IF ( LINE == 'AQAER_RAD' ) PVAR(N) = 7001 ! Aqueous aerosol surface area (cm2/cm3): IF ( LINE == 'AQAER_SURF' ) PVAR(N) = 7002 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! This code needs to be updated to work with FlexChem (mps, 6/13/17) !!=========================================================== !! Production rate of CSPEC species (molec/cm3/s) !! (eam, 08/2015): !!=========================================================== !CASE( 'PROD' ) ! ! ! Skip if not full chem: ! IF ( IS_FULLCHEM ) THEN ! ! ! Increment prod rate reaction counter: ! PR = PR + 1 ! ! ! Initialize: ! PRODNAME = '' ! ! ! Extract species name: ! PRODNAME = LINE(6:15) ! ! ! Get family integer: ! DO NF = 1, NFAMILIES ! IF ( FAM_NAME(NF) == TRIM(PRODNAME) ) THEN ! ! Loop through family members: ! DO FM = 1, FAM_NMEM(NF) ! ! Loop through JSPEC species: ! DO J = 1, NSPEC(NCS) ! IF ( NAMEGAS(J) == FAM_MEMB(FM, NF) ) THEN ! IPROD(PR) = J ! ENDIF ! ENDDO ! CSPEC species ! ENDDO ! family members ! ENDIF ! ENDDO ! ! PVAR(N) = 8000 + PR ! ! ENDIF !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! Prior to 6/20/16: ! This diagnostic does not work with the FlexChem implementation. We need ! to rewrite it to get the necessary information from KPP (mps, 6/20/16) !!=========================================================== !! Rxn rate: listed as "REA_001", etc. !! PVAR offset: 10000 !!=========================================================== !CASE ( 'REA_' ) ! ! ! Skip if not full-chemistry ! IF ( IS_FULLCHEM ) THEN ! ! ! Increment rxn counter ! R = R + 1 ! ! IF ( TRIM( LINE ) == 'REA_O1D' ) THEN ! ! ! O1D is a special rxn, give it offset of 20000 ! PVAR(N) = 20000 ! PREAC(R) = 20000 ! ! ELSE IF ( TRIM( LINE ) == 'REA_N2O5' ) THEN ! ! ! N2O5 hydrolysis is another special rxn ! ! give it an offset of 21000 ! PVAR(N) = 21000 ! PREAC(R) = 21000 ! ! ELSE ! !================================================== ! ! NOTE: the reaction numbers listed in smv2.log ! ! aren't really used to index rxns. The ! ! rxns get reordered. Find the right rxn number, ! ! which is stored in NOLDFNEW. We assume only one ! ! chemistry scheme. (mje, bmy, 8/1/03) ! !================================================== ! ! ! Extract tracer # from the string ! READ( LINE(5:14), '(i10)' ) NUM ! ! ! Initialize ! PVAR(N) = -999 ! PREAC(R) = -999 ! ! ! Search for proper rxn number ! DO IK = 1, NMTRATE ! ! ! Offset other reaction rates by 10000 ! IF ( NOLDFNEW(IK,1) == NUM ) THEN ! PVAR(N) = 10000 + IK ! PREAC(R) = 10000 + IK ! EXIT ! ENDIF ! ENDDO ! ! ! Stop w/ error ! IF ( PVAR(N) == -999 ) THEN ! IF ( Input_Opt%amIRoot ) THEN ! WRITE (6,*) 'Cant match up reaction number' ! WRITE (6,*) NUM ! WRITE (6,*) 'Is it the second line of the' ! WRITE (6,*) 'Three body reaction' ! WRITE (6,*) 'Stopping' ! ENDIF ! CALL GEOS_CHEM_STOP ! ENDIF ! ENDIF ! ENDIF !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! 21/12/20 - TMS: access J-rates already stored in State_Diag !=========================================================== ! J-rate Rxn rate: listed as "JVL_001", etc. ! PVAR offset: 30000 !=========================================================== CASE ( 'JVL_' ) ! Skip if not full-chemistry IF ( IS_FULLCHEM ) THEN ! Increment rxn counter R = R + 1 !================================================== ! NOTE: JVL_??? is translated to indexes from FJX_j2j.dat !================================================== ! Extract tracer # from the string READ( LINE(5:14), '(i10)' ) NUM ! Initialize PVAR(N) = -999 JPREAC(R) = -999 P = -999 ! GEOS-Chem photolyis species ID ! Loop the reaciton branches and find the correct "P" index DO IK = 1, State_Chm%Phot%nMaxPhotRxns ! GC photolysis species index P = State_Chm%Phot%GC_Photo_Id(NUM) ! If this FAST_JX photolysis species maps to a valid ! GEOS-Chem photolysis species (for this simulation)... IF ( P > 0 ) THEN ! Archive the instantaneous photolysis rate ! (summing over all reaction branches) IF ( IK == P ) THEN PVAR(N) = 30000 + IK JPREAC(R) = 30000 + IK EXIT ENDIF ENDIF ENDDO ! Stop w/ error IF ( PVAR(N) == -999 ) THEN IF ( Input_Opt%amIRoot ) THEN WRITE ( errMsg, 105 ) NUM, P 105 FORMAT( 'Cant match up J-rate reaction number', 2i6 ) CALL GC_ERROR( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF ENDIF !=========================================================== ! Species: listed as "O3", "C2H6", etc. ! PVAR offset: 0 !=========================================================== CASE DEFAULT ! Loop over all species ! match w/ species as read from disk DO M = 1, State_Chm%nSpecies ! Get info about this species from the species database SpcInfo => State_Chm%SpcData(M)%Info IF ( TRIM( SpcInfo%Name ) == TRIM( LINE ) ) THEN PVAR(N) = M EXIT ENDIF ! Free pointer SpcInfo => NULL() ENDDO ! Skip if not full-chemistry IF ( IS_FULLCHEM ) THEN ! Special flag for RO2 species IF ( TRIM( LINE ) == 'RO2' ) PVAR(N) = 999 ! Special flag for AN species FP IF ( TRIM( LINE ) == 'AN' ) PVAR(N) = 998 ! Special flag for NOy species FP IF ( TRIM( LINE ) == 'NOy' ) PVAR(N) = 997 ENDIF ! Error check IF ( PVAR(N) == 0 ) THEN IF ( Input_Opt%amIRoot ) THEN WRITE( errMsg, 110 ) PVAR(N) 110 FORMAT( 'Species ', i5, ' not found!' ) CALL GC_Error( errMsg, RC, thisLoc ) ENDIF ENDIF END SELECT ! Echo species names/numbers to screen WRITE( 6, 120 ) N, TRIM( LINE ), PVAR(N) 120 FORMAT( i4, 1x, a12, 1x, i10 ) ENDDO END SUBROUTINE READ_VARIABLES !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: read_points ! ! !DESCRIPTION: Subroutine READ\_POINTS reads the information (ID, date, time, ! lat, lon, pressure) for each measurement listed in the input file, and ! sorts these into the appropriate module variables. !\\ !\\ ! !INTERFACE: ! SUBROUTINE READ_POINTS( Input_Opt, State_Grid, State_Met, IU_FILE, RC ) ! ! !USES: ! USE ErrCode_Mod USE FILE_MOD, ONLY : IOERROR USE GC_GRID_MOD, ONLY : GET_IJ USE Input_Opt_Mod, ONLY : OptInput USE Ncdf_Mod, ONLY : GET_TAU0 USE PhysConstants, ONLY : g0 USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object INTEGER, INTENT(IN) :: IU_FILE ! Logical unit # of file ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 30 Jul 2002 - M. Evans - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: N, IOS, QYY, QMM, QDD, QHH, QMN REAL*4 :: LAT, LON, PRES, OBS REAL*4 :: TAMB, H2OMR, POTTEMP, GPSALT CHARACTER(LEN=7) :: TYPE CHARACTER(LEN=7) :: NAME CHARACTER(LEN=255) :: thisLoc CHARACTER(LEN=512) :: errMsg ! ajt for CCGG INTEGER :: IJ(2), L, L_ALT REAL(fp) :: MOD_ELEV !================================================================= ! READ_POINTS begins here! !================================================================= ! Assume success RC = GC_SUCCESS errMsg = '' thisLoc = ' -> at Read_Points (located in GeosCore/planeflight_mod.F90)' ! Read 4 header lines DO N = 1, 4 READ( IU_FILE, '(a)', IOSTAT=IOS ) IF ( IOS /= 0 ) CALL IOERROR( IOS, IU_FILE, 'read_points:1' ) ENDDO !================================================================= ! Read plane track points -- plane, lat/lon/alt, date/time ! We have previously computed NPOINTS in INIT_PLANEFLIGHT !================================================================= DO N = 1, NPOINTS ! Read a line from the file READ( IU_FILE, 100, IOSTAT=IOS ) & TYPE, QDD, QMM, QYY, QHH, QMN, LAT, LON, PRES, OBS 100 FORMAT( 5x,a7,x,i2,x,i2,x,i4,x,i2,x,i2,x,f7.2,x,f7.2,x,f7.2,x,f10.3 ) ! Error check IF ( IOS /= 0 ) CALL IOERROR( IOS, IU_FILE, 'read_points:2' ) ! Exit if the word END is found IF ( INDEX( TYPE, 'END' ) > 0 ) EXIT !============================================================== ! Read date and time coordinates -- also do error checks !============================================================== ! Error check MONTH IF ( QMM < 1 .or. QMM > 12 ) THEN IF ( Input_Opt%amIRoot ) THEN WRITE( errMsg, 105 ) QMM 105 FORMAT( 'ERROR: MONTH out of range: ', i3 ) CALL GC_Error( errMsg, RC, thisLoc ) ENDIF ENDIF ! Error check DAY IF ( QDD < 1 .or. QDD > 31 ) THEN IF ( Input_Opt%amIRoot ) THEN WRITE( errMsg, 110 ) QDD 110 FORMAT( 'ERROR: DAY out of range: ', i3 ) CALL GC_Error( errMsg, RC, thisLoc ) ENDIF ENDIF ! Error check HOUR IF ( QHH < 0 .or. QHH > 23 ) THEN IF ( Input_Opt%amIRoot ) THEN WRITE( errMsg, 115 ) QHH 115 FORMAT( 'ERROR: HOUR out of range: ', i3 ) CALL GC_Error( errMsg, RC, thisLoc ) ENDIF ENDIF ! Error check MINUTES IF ( QMN < 0 .or. QMN > 59 ) THEN IF ( Input_Opt%amIRoot ) THEN WRITE( errMsg, 120 ) QMN 120 FORMAT( 'ERROR: MINUTES out of range: ', i3 ) CALL GC_Error( errMsg, RC, thisLoc ) ENDIF ENDIF ! Store type in the global PTYPE array PTYPE(N) = TYPE ! Store YYYYMMDD in the global PDATE array PDATE(N) = ( QYY * 10000 ) + ( QMM * 100 ) + QDD ! Store HHMMSS in the global PTIME array ! (actaully we read in just HHMM, assume seconds = 00) PTIME(N) = ( QHH * 100 ) + QMN ! Store TAU (hours since 1 Jan 1985) in the global PTAU array PTAU(N) = GET_TAU0( QMM, QDD, QYY, QHH, QMN, 0 ) !============================================================== ! Read lon/lat/alt coordinates -- also do error checks !============================================================== ! Put LONGITUDE in the range [-180...180] IF ( LON > 180.0 ) LON = LON - 360e0 ! Error check LONGITUDE IF ( LON < -180.0 .OR. LON > 180.0 ) THEN IF ( Input_Opt%amIRoot ) THEN WRITE( errMsg, 125 ) LON 125 FORMAT( 'ERROR: Longitude out of range: ', f8.3 ) CALL GC_Error( errMsg, RC, thisLoc ) ENDIF ENDIF ! Error check LATITUDE IF ( LAT < -90.0 .OR. LAT > 90.0 ) THEN IF ( Input_Opt%amIRoot ) THEN WRITE( errMsg, 130 ) LAT 130 FORMAT( 'ERROR: Latitude out of range: ', f8.3 ) CALL GC_Error( errMsg, RC, thisLoc ) ENDIF ENDIF ! Skip observations outside the domain IF ( LAT < State_Grid%YMin .OR. LAT > State_Grid%YMax .OR. & LON < State_Grid%XMin .OR. LON > State_Grid%XMax ) THEN IF ( Input_Opt%amIRoot ) & PRINT*, ' Outside nested domain, skipping record ', N CYCLE ENDIF ! Convert from altitude to pressure if we have CCCG data or ! tower data NAME = ADJUSTL(PTYPE(N)) IF ( NAME(1:1) .EQ. 'S' .OR. & ! NOAA Surface TRIM(NAME) .EQ. 'Aacg' .OR. & ! NOAA Aircraft TRIM(NAME) .EQ. 'Abne' .OR. & ! NOAA Aircraft TRIM(NAME) .EQ. 'Acar' .OR. & ! NOAA Aircraft TRIM(NAME) .EQ. 'Acma' .OR. & ! NOAA Aircraft TRIM(NAME) .EQ. 'Acrv' .OR. & ! NOAA Aircraft TRIM(NAME) .EQ. 'Adnd' .OR. & ! NOAA Aircraft TRIM(NAME) .EQ. 'Aesp' .OR. & ! NOAA Aircraft TRIM(NAME) .EQ. 'Aetl' .OR. & ! NOAA Aircraft TRIM(NAME) .EQ. 'Ahil' .OR. & ! NOAA Aircraft TRIM(NAME) .EQ. 'Ahip' .OR. & ! NOAA Aircraft TRIM(NAME) .EQ. 'Alef' .OR. & ! NOAA Aircraft TRIM(NAME) .EQ. 'Anha' .OR. & ! NOAA Aircraft TRIM(NAME) .EQ. 'Apfa' .OR. & ! NOAA Aircraft TRIM(NAME) .EQ. 'Arta' .OR. & ! NOAA Aircraft TRIM(NAME) .EQ. 'Asca' .OR. & ! NOAA Aircraft TRIM(NAME) .EQ. 'Asgp' .OR. & ! NOAA Aircraft TRIM(NAME) .EQ. 'Atgc' .OR. & ! NOAA Aircraft TRIM(NAME) .EQ. 'Athd' .OR. & ! NOAA Aircraft TRIM(NAME) .EQ. 'Awbi' .OR. & ! NOAA Aircraft TRIM(NAME) .EQ. 'Tamt' .OR. & ! NOAA Tower TRIM(NAME) .EQ. 'Tbao' .OR. & ! NOAA Tower TRIM(NAME) .EQ. 'Tcrv' .OR. & ! NOAA Tower TRIM(NAME) .EQ. 'Tlef' .OR. & ! NOAA Tower TRIM(NAME) .EQ. 'Tlew' .OR. & ! NOAA Tower TRIM(NAME) .EQ. 'Tmbo' .OR. & ! NOAA Tower TRIM(NAME) .EQ. 'Tmvy' .OR. & ! NOAA Tower TRIM(NAME) .EQ. 'Tmwo' .OR. & ! NOAA Tower TRIM(NAME) .EQ. 'Tnwr' .OR. & ! NOAA Tower TRIM(NAME) .EQ. 'Tsct' .OR. & ! NOAA Tower TRIM(NAME) .EQ. 'Tsgp' .OR. & ! NOAA Tower TRIM(NAME) .EQ. 'Tstr' .OR. & ! NOAA Tower TRIM(NAME) .EQ. 'Twbi' .OR. & ! NOAA Tower TRIM(NAME) .EQ. 'Twgc' .OR. & ! NOAA Tower TRIM(NAME) .EQ. 'Twkt' ) THEN ! NOAA Tower ! Make sure it is the users intention for 'S' to represent ! surface observations IF ( NAME(1:1) .EQ. 'S' .and. Input_Opt%amIRoot ) THEN errMsg = 'WARNING: Names beginning with "S" are ' // & 'assumed to be NOAA Surface observations. ' // & 'Vertical coordinates are assumed to be ' // & 'altitude and will be converted to pressure. ' // & 'In routine PLANEFLIGHT, L=1 is forced. ' // & 'If this is intended, you may comment out the ' // & 'call to GC_Error in routine ' // & 'READ_POINTS (planeflight_mod.F90). Otherwise,' // & 'remove "S" from the IF statement in the same '// & 'location.' CALL GC_Error( errMsg, RC, thisLoc ) ENDIF ! Change units ! NOTE: PHIS is now in units of [m], so we don't need to ! divide by g0 again (see issue geoschem/geos-chem #531) L_ALT = 0 IJ = GET_IJ( LON, LAT, State_Grid ) DO L = 1, State_Grid%NZ MOD_ELEV = State_Met%PHIS(IJ(1),IJ(2)) & + SUM( State_Met%BXHEIGHT(IJ(1),IJ(2),1:L) ) IF ( (L_ALT .EQ. 0) .AND. (MOD_ELEV .GT. PRES) ) THEN L_ALT = L ENDIF ENDDO PRES = State_Met%PMID(IJ(1),IJ(2),L_ALT) ENDIF ! Assign LAT value into global PLATTD array PLATTD(N) = LAT ! Assign LON value into global PLONGTD array PLONGTD(N) = LON ! Assign PRES value into global PPRESS array PPRESS(N) = PRES ! Assign OBS value into global PPRESS array POBS(N) = OBS ENDDO !================================================================= ! Echo number of points found and quit !================================================================= IF ( Input_Opt%amIRoot ) WRITE( 6, 135 ) NPOINTS 135 FORMAT( /, 'Number of flight track points : ', i6 ) END SUBROUTINE READ_POINTS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ro2_setup ! ! !DESCRIPTION: Subroutine RO2\_SETUP saves the species indices of RO2 ! constituents in the PRO2 array. Also computes the count NPRO2. !\\ !\\ ! !INTERFACE: ! SUBROUTINE RO2_SETUP( Input_Opt, State_Chm, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : Species USE State_Chm_Mod, ONLY : ChmState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 01 Aug 2003 - M. Evans - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: M ! Strings CHARACTER(LEN=255) :: errMsg, thisLoc ! Objects TYPE(Species), POINTER :: SpcInfo !================================================================= ! RO2_SETUP begins here! !================================================================= ! Initialize RC = GC_SUCCESS NPRO2 = 0 SpcInfo => NULL() errMsg = '' thisLoc = ' -> at RO2_Setup (located in GeosCore/planeflight_mod.F90)' ! We only need to proceed for full-chemistry simulations IF ( .not. Input_Opt%ITS_A_FULLCHEM_SIM ) RETURN !================================================================= ! Loop over all species, test for RO2 components !================================================================= DO M = 1, State_Chm%nSpecies ! Get info about this species from the species database SpcInfo => State_Chm%SpcData(M)%Info ! If we have found an RO2 compoent, add its species # to ! the PRO2 global array, and increment counter ! NOTE: PO3 was a bug, that should have been PO2 (tmf, 2/10/09) SELECT CASE( TRIM( SpcInfo%Name ) ) CASE ( 'HO2', 'MO2', 'A3O2', 'ATO2', 'B3O2', & 'ETO2', 'HPALD1OO', 'HPALD2OO', 'ICHOO', & 'GCO3', 'IAO2', 'KO2', 'MCO3', 'PO2', & 'ACO3', 'EO2', 'ENCO3', 'ENO2', 'GLCO3', & 'ICNOO', 'IDHNBOO', 'IDHNDOO1', 'IDNOO', & 'IDHNDOO2','IEPOXAOO', 'IEPOXBOO', & 'IHOO1', 'IHOO4', 'IHPNBOO', 'IHPNDOO', & 'IHPOO1', 'IHPOO2', 'IHPOO3', 'INO2B', & 'INO2D', 'ISOPNOO1', 'ISOPNOO2', 'LIMO2', & 'MACR1OO', 'MACRNO2', 'MCROHOO', 'PIO2', & 'MVKOHOO', 'R4O2', 'R4N1', 'R4N2', & 'C4HVP1', 'C4HVP2', & 'BRO2', 'TRO2', 'XRO2', 'NRO2', & 'NICO3', 'NIO2', 'PYPO2', 'RCO3') NPRO2 = NPRO2 + 1 PRO2(NPRO2) = M CASE DEFAULT ! Nothing END SELECT ! Free pointer SpcInfo => NULL() ENDDO ! Error check IF ( NPRO2 > MAXRO2 ) THEN IF ( Input_Opt%amIRoot ) THEN errMsg = 'NPRO2 exceeds maximum allowed value!' CALL GC_Error( errMsg, RC, thisLoc ) ENDIF ENDIF !================================================================= ! Echo number of points found and quit !================================================================= IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 100 ) NPRO2 100 FORMAT( 'Number of RO2 components : ', i6 ) ENDIF END SUBROUTINE RO2_SETUP !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: noy_setup ! ! !DESCRIPTION: Subroutine NOY\_SETUP saves the species indices of NOy ! constituents in the PNOY array. Also computes the count NPNOY. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NOY_SETUP( Input_Opt, State_Chm, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : Species USE State_Chm_Mod, ONLY : ChmState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 01 Jun 2009 - F. Paulot - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: M ! Strings CHARACTER(LEN=255) :: errMsg, thisLoc ! Objects TYPE(Species), POINTER :: SpcInfo !================================================================= ! NOY_SETUP begins here! !================================================================= ! Initialize NPNOY = 0 SpcInfo => NULL() RC = GC_SUCCESS errMsg = '' thisLoc = ' -> at RO2_Setup (located in GeosCore/planeflight_mod.F90)' ! We only need to proceed for full-chemistry simulations IF ( .not. Input_Opt%ITS_A_FULLCHEM_SIM ) RETURN !================================================================= ! Loop over all species, test for NOY components !================================================================= DO M = 1, State_Chm%nSpecies ! Get info about this species from the species database SpcInfo => State_Chm%SpcData(M)%Info SELECT CASE( TRIM( SpcInfo%Name ) ) CASE ( 'NO', 'NO2', 'NO3', 'HNO2', 'HNO4', 'HNO3', & 'PAN', 'PYPAN', 'MPAN', 'PPN') NPNOY = NPNOY + 1 PNOY(NPNOY) = M CASE ( 'N2O5') NPNOY = NPNOY + 1 PNOY(NPNOY) = M NPNOY = NPNOY + 1 PNOY(NPNOY) = M CASE DEFAULT ! Nothing END SELECT ! Free pointer SpcInfo => NULL() ENDDO ! Error check IF ( NPNOY > MAXNOY ) THEN IF ( Input_Opt%amIRoot ) THEN errMsg ='NPNOY exceeds maximum allowed value!' CALL GC_Error( errMsg, RC, thisLoc ) ENDIF ENDIF !================================================================= ! Echo number of points found and quit !================================================================= IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 100 ) NPNOY 100 FORMAT( 'Number of NOY components : ', i6 ) ENDIF END SUBROUTINE NOY_SETUP !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: an_setup ! ! !DESCRIPTION: Subroutine AN\_SETUP saves the species indices of AN ! constituents in the P\_AN array. Also computes the count NPAN. !\\ !\\ ! !INTERFACE: ! SUBROUTINE AN_SETUP( Input_Opt, State_Chm, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : Species USE State_Chm_Mod, ONLY : ChmState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 01 Jun 2009 - F. Paulot - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: M ! Strings CHARACTER(LEN=255) :: errMsg, thisLoc ! Objects TYPE(Species), POINTER :: SpcInfo !================================================================= ! AN_SETUP begins here! !================================================================= ! Initialize RC = GC_SUCCESS NPAN = 0 SpcInfo => NULL() errMsg = '' thisLoc = ' -> at RO2_Setup (located in GeosCore/planeflight_mod.F90)' ! We only need to proceed for full-chemistry simulations IF ( .not. Input_Opt%ITS_A_FULLCHEM_SIM ) RETURN !================================================================= ! Loop over all species, test for AN components !================================================================= DO M = 1, State_Chm%nSpecies ! Get info about this species from the species database SpcInfo => State_Chm%SpcData(M)%Info ! If we have found an AN component, add its species # to ! the AN global array, and increment counter SELECT CASE( TRIM( SpcInfo%Name ) ) CASE ( 'IHN1', 'IHN2', 'MVKN', 'INPD', 'R4N2', & 'INPB', 'PROPNN', 'ETHLN', 'IDN', 'HONIT', & 'ITCN', 'ITHN', 'MCRHN', 'MCRHNB', & 'MONITU', 'MONITS', 'PRPN', 'IHN3', 'IHN4' ) NPAN = NPAN + 1 P_AN(NPAN) = M CASE DEFAULT ! Nothing END SELECT ! Free pointer SpcInfo => NULL() ENDDO ! Error check IF ( NPAN > MAXAN ) THEN IF ( Input_Opt%amIRoot ) THEN errMsg = 'NPAN exceeds maximum allowed value!' CALL GC_Error( errMsg, RC, thisLoc ) ENDIF ENDIF !================================================================= ! Echo number of points found and quit !================================================================= IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 100 ) NPAN 100 FORMAT( 'Number of AN components : ', i6 ) ENDIF END SUBROUTINE AN_SETUP !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: planeflight ! ! !DESCRIPTION: Subroutine PLANEFLIGHT saves concentrations to disk at ! locations corresponding to a flight track. !\\ !\\ ! !INTERFACE: ! SUBROUTINE PLANEFLIGHT( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE CMN_SIZE_MOD, ONLY : NDUST, NAER USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE Ncdf_Mod, ONLY : GET_TAU0 USE OCEAN_MERCURY_MOD, ONLY : Fg USE OCEAN_MERCURY_MOD, ONLY : OMMFp => Fp USE PhysConstants, ONLY : AIRMW, AVO, CONSVAP USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! When Planeflight is called, the State_Chm species concentrations have units ! of kg/kg dry. Species units are stored in State_Chm%Spc_Units. Therefore, ! some of the legacy unit conversions were incorrect but have now been ! fixed. -- Bob Yantosca, 30 Jul 2021 ! ! Also note: The calls to Convert_Spc_Units were not necessary, and have ! since been removed. Direct unit conversions for kg/kg dry -> v/v dry ! and kg/kg dry -> molec/cm3 are now done, which are more computationally ! efficient. -- Bob Yantosca, 27 Oct 2021 ! ! !REVISION HISTORY: ! 08 Jul 2002 - M. Evans - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! LOGICAL, SAVE :: FIRST = .TRUE. LOGICAL :: IS_FULLCHEM, LINTERP INTEGER :: I, J, L, M, N, R, PR, V, NUM INTEGER :: LL !eds INTEGER :: IWV, ISPC, K REAL(fp) :: TK, PTAUS, PTAUE, CONSEXP, VPRESH2O, SAODnm REAL(fp) :: VARI(NPVAR) LOGICAL :: CHEMSTEP REAL(f8) :: FLTGMT ! eam (06/2015) REAL(f8) :: XRH ! MET field RH (eam, 08/2015) CHARACTER(LEN=63) :: OrigUnit CHARACTER(LEN=7) :: NAME CHARACTER(LEN=255) :: errMsg, thisLoc ! Aerosol types: SULF, BLKC, ORGC, SALA, SALC INTEGER :: IND(5) = (/ 22, 29, 36, 43, 50 /) ! Allow for more accurate computation of TAU (L. Schiferl, 1/12/15) INTEGER :: YEAR, MONTH, DAY, HOUR, MINUTE ! Pointers TYPE(SpcConc), POINTER :: Spc (:) INTEGER, POINTER :: IWVSELECT(:,:) REAL*8, POINTER :: ACOEF_WV (:) REAL*8, POINTER :: BCOEF_WV (:) REAL(fp), POINTER :: ODAER (:,:,:,:,:) REAL(fp), POINTER :: ODMDUST (:,:,:,:,:) ! ! !DEFINED PARAMETERS: ! REAL(fp), PARAMETER :: MISSING = -999.99999999e+0_fp ! Missing data value REAL(fp), PARAMETER :: TINY = 1.e-36_fp ! arbitary small # to ! avoid faulty output ! Expand from 4 to 5 for Fast-JX INTEGER, PARAMETER :: IND999 = 4 REAL*8, PARAMETER :: CRITRH = 35.0e+0_fp !================================================================= ! PLANEFLIGHT begins here! !================================================================= ! Initialize RC = GC_SUCCESS ! Get fields from Input_Opt IS_FULLCHEM = Input_Opt%ITS_A_FULLCHEM_SIM ! Return if there is no flighttrack data for today IF ( .not. DO_PF ) RETURN ! For error trapping errMsg = '' thisLoc = ' -> at Planeflight (located in GeosCore/planeflight_mod.F90' ! Initialize pointers IWVSELECT => State_Chm%Phot%IWVSELECT ! Indexes of requested WLs ACOEF_WV => State_Chm%Phot%ACOEF_WV ! Coeffs for WL interpolation BCOEF_WV => State_Chm%Phot%BCOEF_WV ! Coeffs for WL interpolation ODAER => State_Chm%Phot%ODAER ! Aerosol optical depth ODMDUST => State_Chm%Phot%ODMDUST ! Dust optical depth ! Update from kyu (03/2015): CHEMSTEP = ( MOD(GET_ELAPSED_SEC(), GET_TS_DIAG() ) == ( GET_TS_DIAG() / 2)) ! Get date & time values YEAR = GET_YEAR() MONTH = GET_MONTH() DAY = GET_DAY() HOUR = GET_HOUR() MINUTE = GET_MINUTE() !Determine if optical properties need interpolating !The LUT wavelengths in IWVSELECT will match if no interpolation !is needed. (output is only for the first requested wavelength) !(DAR 10/2013) IF(IWVSELECT(1,1).EQ.IWVSELECT(2,1)) THEN LINTERP=.FALSE. ELSE LINTERP=.TRUE. ENDIF ! Loop over all the locations that have not yet been found DO M = PPOINT, NPOINTS ! Starting & end times of transport timestep PTAUE = GET_TAU0( MONTH, DAY, YEAR, HOUR, MINUTE, 0 ) ! Modification from kyu (eam, 03/2015) !PTAUS = PTAUE - ( GET_TS_DIAG() / 3600e+0_fp ) ! If we just finished a chemistry timestep, write out one full ! diagnostic timestep's worth of data IF ( CHEMSTEP ) THEN PTAUS = PTAUE - ( GET_TS_DIAG() / 3600d0 ) ! Otherwise write out only half a timestep's worth of data ELSE ! Flush the last timestep to the output file (bmy, 3/28/19) ! NOTE: Luke Schiferl pointed out we should test against ! 86400 seconds instead of GET_TS_DIAG*1440. GET_TS_DIAG ! by now is already in seconds and 1440 is minutes/day, ! so there's a mismatch. This caused planeflight data ! for the last timestep of a day not to be written out. IF (MOD(GET_ELAPSED_SEC(), 86400) == 0) THEN PTAUS = PTAUE - ( GET_TS_DIAG() / (2.0 * 3600d0) ) ELSE EXIT ENDIF ENDIF ! Initialize VARI to missing value for this point DO V = 1, NPVAR VARI(V) = MISSING ENDDO !============================================================== ! We haven't found the first plane point yet... !============================================================== IF ( PTAU(M) < PTAUS ) THEN ! Write all missing values to disk for point #M CALL WRITE_VARS_TO_FILE( Input_Opt, State_Grid, State_Met, M, VARI ) ! Increment pointer PPOINT = PPOINT + 1 !============================================================== ! We have already found all of the plane points... !============================================================== ! Ensure that a model comparison is made for this point ! (skim, 7/24/13) ELSE IF ( PTAU(M) > PTAUE ) THEN ! Exit this loop and the subroutine EXIT !============================================================== ! We have found a plane point at the proper time & location! !============================================================== ELSE ! Print the flight track point number WRITE( 6, 100 ) PTYPE(M), PDATE(M), PTIME(M) 100 FORMAT( ' - PLANEFLIGHT: Archived ',a7,1x,i8.8,1x,i4.4 ) ! Return grid box indices for the chemistry region CALL TEST_VALID( M, I, J, L, Input_Opt, State_Grid, State_Met, RC ) ! If this is a surface observation, force L=1 ! ! NOAA Surface observations start with 'S' in Planeflight.dat ! Other surface observation strings can be added here NAME = ADJUSTL(PTYPE(M)) IF ( NAME(1:1) .EQ. 'S' ) THEN L = 1 ENDIF ! Initialize reaction counter R = 0 ! Initialize production count: PR = 0 ! Initialize GEOS-Chem species array Spc => State_Chm%Species ! Loop over all variables to save out DO V = 1, NPVAR ! Handle each variable SELECT CASE ( PVAR(V) ) !--------------------------------------------------------------- ! GEOS-Chem Chemical species [mol/mol dry] or [molec/cm3] !--------------------------------------------------------------- CASE ( 1:996 ) ! Only archive where chemistry is done IF ( State_Met%InChemGrid(I,J,L) ) THEN ! Species concentration [v/v dry] -> [molec/cm3] N = PVAR(V) VARI(V) = Spc(N)%Conc(I,J,L) & / AIRMW & * State_Met%AIRDEN(I,J,L) & * AVO & * 1.0e-3_fp ENDIF !--------------------------------------------------------------- ! NOy family !--------------------------------------------------------------- CASE ( 997 ) ! Only archive where chemistry is done ! Sum all AN contributions, save as [v/v dry] VARI(V) = 0e+0_fp ! Species concentration is in [v/v dry] IF ( IS_FULLCHEM .and. State_Met%InChemGrid(I,J,L) ) THEN DO N = 1, NPNOY VARI(V) = VARI(V) + Spc(PNOY(N))%Conc(I,J,L) ENDDO ENDIF !--------------------------------------------------------------- ! AN family !--------------------------------------------------------------- CASE ( 998 ) ! Only archive where chemistry is done ! Sum all AN contributions, save as [v/v dry] VARI(V) = 0e+0_fp ! Species concentration is in [v/v dry] IF ( IS_FULLCHEM .and. State_Met%InChemGrid(I,J,L) ) THEN DO N = 1, NPAN VARI(V) = VARI(V) + Spc(P_AN(N))%Conc(I,J,L) ENDDO ENDIF !--------------------------------------------------------------- ! RO2 family !--------------------------------------------------------------- CASE ( 999 ) ! Only archive where chemistry is done ! Sum all RO2 contributions, save as [v/v dry] VARI(V) = 0e+0_fp ! Species concentration is in [v/v dry] IF ( IS_FULLCHEM .and. State_Met%InChemGrid(I,J,L) ) THEN DO N = 1, NPRO2 VARI(V) = VARI(V) + Spc(PRO2(N))%Conc(I,J,L) ENDDO ENDIF !--------------------------------------------------------------- ! GMAO temperature [K] !--------------------------------------------------------------- CASE ( 1001 ) VARI(V) = State_Met%T(I,J,L) !--------------------------------------------------------------- ! GMAO abs humidity [frac] !--------------------------------------------------------------- CASE ( 1002 ) ! Only archive where chemistry is done IF ( State_Met%InChemGrid(I,J,L) ) THEN VARI(V) = State_Met%AVGW(I,J,L) * State_Met%AIRNUMDEN(I,J,L) TK = State_Met%T(I,J,L) CONSEXP = 17.2693882e+0_fp * & (TK - 273.16e+0_fp) / (TK - 35.86e+0_fp) VPRESH2O = CONSVAP * EXP(CONSEXP) * 1e+0_fp / TK VARI(V) = VARI(V) * VPRESH2O / State_Met%AIRNUMDEN(I,J,L) ENDIF !--------------------------------------------------------------- ! GMAO aerosol sfc area !--------------------------------------------------------------- CASE ( 1003 ) ! Only archive where chemistry is done VARI(V) = 0e+0_fp IF ( State_Met%InChemGrid(I,J,L) ) THEN DO N = 1, NDUST + NAER VARI(V) = VARI(V) + State_Chm%AeroArea(I,J,L,N) ENDDO ENDIF !--------------------------------------------------------------- ! GMAO sfc pressure [hPa] !--------------------------------------------------------------- CASE ( 1004 ) VARI(V) = State_Met%PEDGE(I,J,1) !--------------------------------------------------------------- ! GMAO U-wind and V-wind [m/s] !--------------------------------------------------------------- CASE ( 1005 ) VARI(V) = State_Met%U(I,J,L) CASE ( 1006 ) VARI(V) = State_Met%V(I,J,L) !--------------------------------------------------------------- ! GEOS-Chem Grid Box indices (I,J,L) !--------------------------------------------------------------- CASE ( 1007 ) VARI(V) = I CASE ( 1008 ) VARI(V) = J CASE ( 1009 ) VARI(V) = L !--------------------------------------------------------------- ! GEOS-Chem Relative Humidity [%] !--------------------------------------------------------------- CASE ( 1010 ) VARI(V) = State_Met%RH(I,J,L) !--------------------------------------------------------------- ! GEOS-Chem Ertel's potential vorticity !--------------------------------------------------------------- CASE ( 1011 ) ! Disable for now. State_Met%PV is not defined. !VARI(V) = State_Met%PV(I,J,L) !--------------------------------------------------------------- ! GEOS-Chem Sea Level pressure [hPa] !--------------------------------------------------------------- CASE ( 1012 ) VARI(V) = State_Met%SLP(I,J) !--------------------------------------------------------------- ! GEOS-Chem Water Vapor mixing ratio [v/v] !--------------------------------------------------------------- CASE ( 1013 ) VARI(V) = State_Met%AVGW(I,J,L) !--------------------------------------------------------------- ! GEOS-Chem Potential Temp (Theta) [k] !--------------------------------------------------------------- CASE ( 1014 ) VARI(V) = State_Met%THETA(I,J,L) !--------------------------------------------------------------- ! GEOS-Chem Pressure at center of grid box [hPa] !--------------------------------------------------------------- CASE ( 1015 ) VARI(V) = State_Met%PMID(I,J,L) !--------------------------------------------------------------- ! GEOS-Chem SEAICE frac's !--------------------------------------------------------------- CASE ( 1100 ) VARI(V) = State_Met%SEAICE00(I,J) CASE ( 1101 ) VARI(V) = State_Met%SEAICE10(I,J) CASE ( 1102 ) VARI(V) = State_Met%SEAICE20(I,J) CASE ( 1103 ) VARI(V) = State_Met%SEAICE30(I,J) CASE ( 1104 ) VARI(V) = State_Met%SEAICE40(I,J) CASE ( 1105 ) VARI(V) = State_Met%SEAICE50(I,J) CASE ( 1106 ) VARI(V) = State_Met%SEAICE60(I,J) CASE ( 1107 ) VARI(V) = State_Met%SEAICE70(I,J) CASE ( 1108 ) VARI(V) = State_Met%SEAICE80(I,J) CASE ( 1109 ) VARI(V) = State_Met%SEAICE90(I,J) !--------------------------------------------------------------- ! Column aerosol optical depths [unitless] !--------------------------------------------------------------- CASE ( 2001:2005 ) ! SULF, BLKC, ORGC, SALA, SALC ! Remove MISSING flag VARI(V) = 0e+0_fp ! Aerosol number N = PVAR(V) - 2000 IF ( .not. LINTERP ) THEN DO LL = 1, State_Grid%NZ ! Accumulate VARI(V) = VARI(V) + ODAER(I,J,LL,IWVSELECT(1,1),N) ENDDO ELSE DO LL = 1, State_Grid%NZ ! Interpolated using angstrom exponent between ! Closest available wavelengths ! (coefs pre-calculated in CALC_AOD) !catch any zero values before interpolation IF ((ODAER(I,J,LL,IWVSELECT(2,1),N).GT.0).AND. & (ODAER(I,J,LL,IWVSELECT(1,1),N).GT.0)) THEN VARI(V) = VARI(V) + & (ODAER(I,J,LL,IWVSELECT(2,1),N)*ACOEF_WV(1)** & (BCOEF_WV(1)*LOG(ODAER(I,J,LL,IWVSELECT(1,1),N)/& ODAER(I,J,LL,IWVSELECT(2,1),N)))) ENDIF ENDDO ENDIF ! DUST CASE ( 2006 ) ! Remove MISSING flag VARI(V) = 0e+0_fp IF ( .not. LINTERP ) THEN DO LL = 1, State_Grid%NZ DO ISPC = 1, NDUST ! Accumulate VARI(V) = VARI(V) + ODMDUST(I,J,LL,IWVSELECT(1,1),ISPC) ENDDO ENDDO ELSE DO LL = 1, State_Grid%NZ ! Interpolated using angstrom exponent between ! Closest available wavelengths ! (coefs pre-calculated in CALC_AOD) !catch any zero values before interpolation DO ISPC = 1, NDUST IF ((ODMDUST(I,J,LL,IWVSELECT(2,1),ISPC).GT.0).AND. & (ODMDUST(I,J,LL,IWVSELECT(1,1),ISPC).GT.0)) THEN VARI(V) = VARI(V) + & (ODMDUST(I,J,LL,IWVSELECT(2,1),ISPC)*ACOEF_WV(1)** & (BCOEF_WV(1)* & LOG(ODMDUST(I,J,LL,IWVSELECT(1,1),ISPC)/ & ODMDUST(I,J,LL,IWVSELECT(2,1),ISPC)))) ENDIF ENDDO ENDDO ENDIF CASE ( 2007 ) ! Total AOD = SULF+ORGC+BLKC+SALA+SALC+STRAT+DUST ! Remove MISSING flag VARI(V) = 0e+0_fp ! Loop over RH bins DO ISPC= 1, NAER IF ( .not. LINTERP ) THEN DO LL = 1, State_Grid%NZ ! Accumulate VARI(V) = VARI(V) + ODAER(I,J,LL,IWVSELECT(1,1),ISPC) ENDDO ELSE DO LL = 1, State_Grid%NZ ! Interpolated using angstrom exponent between ! Closest available wavelengths ! (coefs pre-calculated in CALC_AOD) !catch any zero values before interpolation IF ((ODAER(I,J,LL,IWVSELECT(2,1),ISPC).GT.0).AND. & (ODAER(I,J,LL,IWVSELECT(1,1),ISPC).GT.0)) THEN VARI(V) = VARI(V) + & (ODAER(I,J,LL,IWVSELECT(2,1),ISPC)*ACOEF_WV(1)** & (BCOEF_WV(1)*LOG(ODAER(I,J,LL,IWVSELECT(1,1),ISPC)/& ODAER(I,J,LL,IWVSELECT(2,1),ISPC)))) ENDIF ENDDO ENDIF ENDDO !now add in the dust IF ( .not. LINTERP ) THEN DO LL = 1, State_Grid%NZ DO ISPC = 1, NDUST ! Accumulate VARI(V) = VARI(V) + ODMDUST(I,J,LL,IWVSELECT(1,1),ISPC) ENDDO ENDDO ELSE DO LL = 1, State_Grid%NZ ! Interpolated using angstrom exponent between ! Closest available wavelengths ! (coefs pre-calculated in CALC_AOD) !catch any zero values before interpolation DO ISPC = 1, NDUST IF ((ODMDUST(I,J,LL,IWVSELECT(2,1),ISPC).GT.0).AND. & (ODMDUST(I,J,LL,IWVSELECT(1,1),ISPC).GT.0)) THEN VARI(V) = VARI(V) + & (ODMDUST(I,J,LL,IWVSELECT(2,1),ISPC)*ACOEF_WV(1)** & (BCOEF_WV(1)*LOG(ODMDUST(I,J,LL,IWVSELECT(1,1),ISPC)/& ODMDUST(I,J,LL,IWVSELECT(2,1),ISPC)))) ENDIF ENDDO ENDDO ENDIF !--------------------------------------------------------------- ! Aerosol optical depths ! below plane [unitless] !--------------------------------------------------------------- CASE ( 3001:3005 ) ! SULF, BLKC, ORGC, SALA, SALC ! Remove MISSING flag VARI(V) = 0e+0_fp ! Aerosol number N = PVAR(V) - 3000 IF ( .not. LINTERP ) THEN DO LL = 1, L ! Accumulate VARI(V) = VARI(V) + ODAER(I,J,LL,IWVSELECT(1,1),N) ENDDO ELSE DO LL = 1, L ! Interpolated using angstrom exponent between ! Closest available wavelengths ! (coefs pre-calculated in CALC_AOD !catch any zero values before interpolation IF ((ODAER(I,J,LL,IWVSELECT(2,1),N).GT.0).AND. & (ODAER(I,J,LL,IWVSELECT(1,1),N).GT.0)) THEN VARI(V) = VARI(V) + & (ODAER(I,J,LL,IWVSELECT(2,1),N)*ACOEF_WV(1)** & (BCOEF_WV(1)*LOG(ODAER(I,J,LL,IWVSELECT(1,1),N)/ & ODAER(I,J,LL,IWVSELECT(2,1),N)))) ENDIF ENDDO ENDIF !DUST CASE ( 3006 ) ! Remove MISSING flag VARI(V) = 0e+0_fp IF ( .not. LINTERP ) THEN DO LL = 1, L DO ISPC = 1, NDUST ! Accumulate VARI(V) = VARI(V) + ODMDUST(I,J,LL,IWVSELECT(1,1),ISPC) ENDDO ENDDO ELSE DO LL = 1, L ! Interpolated using angstrom exponent between ! Closest available wavelengths ! (coefs pre-calculated in CALC_AOD !catch any zero values before interpolation DO ISPC = 1, NDUST IF ((ODMDUST(I,J,LL,IWVSELECT(2,1),ISPC).GT.0).AND. & (ODMDUST(I,J,LL,IWVSELECT(1,1),ISPC).GT.0)) THEN VARI(V) = VARI(V) + & (ODMDUST(I,J,LL,IWVSELECT(2,1),ISPC)*ACOEF_WV(1)** & (BCOEF_WV(1)* & LOG(ODMDUST(I,J,LL,IWVSELECT(1,1),ISPC)/ & ODMDUST(I,J,LL,IWVSELECT(2,1),ISPC)))) ENDIF ENDDO ENDDO ENDIF CASE ( 3007 ) ! Total AOD = SULF+ORGC+BLKC+SALA+SALC+STRAT+DUST ! Remove MISSING flag VARI(V) = 0e+0_fp ! Loop over RH bins DO ISPC= 1, NAER IF ( .not. LINTERP ) THEN DO LL = 1, L ! Accumulate VARI(V) = VARI(V) + ODAER(I,J,LL,IWVSELECT(1,1),ISPC) ENDDO ELSE DO LL = 1, L ! Interpolated using angstrom exponent between ! Closest available wavelengths ! (coefs pre-calculated in CALC_AOD) !catch any zero values before interpolation IF ((ODAER(I,J,LL,IWVSELECT(2,1),ISPC).GT.0).AND. & (ODAER(I,J,LL,IWVSELECT(1,1),ISPC).GT.0)) THEN VARI(V) = VARI(V) + & (ODAER(I,J,LL,IWVSELECT(2,1),ISPC)*ACOEF_WV(1)** & (BCOEF_WV(1)*LOG(ODAER(I,J,LL,IWVSELECT(1,1),ISPC)/& ODAER(I,J,LL,IWVSELECT(2,1),ISPC)))) ENDIF ENDDO ENDIF ENDDO !now add in the dust IF ( .not. LINTERP ) THEN DO LL = 1, L DO ISPC = 1, NDUST ! Accumulate VARI(V) = VARI(V) + ODMDUST(I,J,LL,IWVSELECT(1,1),ISPC) ENDDO ENDDO ELSE DO LL = 1, L ! Interpolated using angstrom exponent between ! Closest available wavelengths ! (coefs pre-calculated in CALC_AOD) !catch any zero values before interpolation DO ISPC = 1, NDUST IF ((ODMDUST(I,J,LL,IWVSELECT(2,1),ISPC).GT.0).AND. & (ODMDUST(I,J,LL,IWVSELECT(1,1),ISPC).GT.0)) THEN VARI(V) = VARI(V) + & (ODMDUST(I,J,LL,IWVSELECT(2,1),ISPC)*ACOEF_WV(1)** & (BCOEF_WV(1)*LOG(ODMDUST(I,J,LL,IWVSELECT(1,1),ISPC)/& ODMDUST(I,J,LL,IWVSELECT(2,1),ISPC)))) ENDIF ENDDO ENDDO ENDIF !--------------------------------------------------------------- ! Hg(II) partitioning eds 10/27/11 !--------------------------------------------------------------- CASE ( 4001 ) VARI(V) = FG(I,J,LL) !L+1 sample 4/24/12 CASE ( 4002 ) VARI(V) = OMMFP(I,J,LL) !L+1 sample 4/24/12 !--------------------------------------------------------------- ! ISORROPIA/HETP H+ and pH (eam, 06/2015) !--------------------------------------------------------------- CASE( 5001 ) VARI(V) = State_Chm%IsorropHplus(I,J,L,1) CASE( 5002 ) VARI(V) = State_Chm%IsorropAeropH(I,J,L,1) CASE( 5003 ) VARI(V) = State_Chm%IsorropAeroH2O(I,J,L,1) CASE( 5004 ) VARI(V) = State_Chm%IsorropBisulfate(I,J,L) !--------------------------------------------------------------- ! Local Time (eam, 06/2015) !--------------------------------------------------------------- CASE( 6001 ) ! Convert GMT from integer to real and ! change format from HHMM to HH.MM: FLTGMT = REAL(PTIME(M))*1.d-2 VARI(V) = GET_LOCALTIME(I,J,L,State_Grid,FLTGMT) !--------------------------------------------------------------- ! Aqueous aerosol properties (eam, 08/2015) !--------------------------------------------------------------- ! MET field relative humidity (%): XRH = State_Met%RH( I, J, L ) CASE( 7001 ) VARI(V) = 0d0 ! Radius (cm): IF ( XRH .gt. CRITRH ) THEN VARI(V) = State_Chm%AeroRadi(I,J,L,8) ENDIF CASE( 7002 ) VARI(V) = 0d0 ! Surface area (cm2/cm3): IF ( XRH .gt. CRITRH ) THEN VARI(V) = State_Chm%AeroArea(I,J,L,8) ENDIF !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! This code needs to be updated to work with FlexChem (mps,6/13/17) !!-------------------------- !! Production rates (eam, 08/2015) !!-------------------------- !CASE( 8001:8999 ) ! ! ! Increment reaction count: ! PR = PR + 1 ! ! ! Production rate in molec/cm3/s: ! ! Only archive where SMVGEAR chem is done ! IF ( JLOOP /= 0 ) THEN ! VARI(V) = CSPEC( JLOOP, IPROD(PR) )/CHEMINTV ! ! ! Make small values as zero: ! IF ( VARI(V) < TINY ) VARI(V) = 0d0 ! ! IF ( I .ge. 34 .and. I .le. 37 .and. & ! J .ge. 60 .and. J .le. 64 .and. & ! L .eq. 1 ) THEN ! PRINT*, 'VARI = ', VARI(V) ! PRINT*, 'CHEMINTV = ', CHEMINTV ! PRINT*, 'CSPEC = ', CSPEC(JLOOP,IPROD(PR)) ! PRINT*, 'JLOOP,IPROD(PR),PR = ',JLOOP,IPROD(PR),PR ! ENDIF ! ENDIF !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! Prior to 5/12/16: ! This diagnostic does not work with the FlexChem implementation. ! We need to rewrite ARCHIVE_RXNS_FOR_PF to get the necessary ! information from KPP (mps, 5/12/16) !!-------------------------- !! Reaction rates !!-------------------------- !CASE ( 10000:30000 ) ! ! ! Increment reaction count ! R = R + 1 ! ! ! Only archive where chemistry is done ! VARI(V) = PRRATE(I,J,L,R) !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !--------------------------------------------------------------- ! Photolysis reaction rates !--------------------------------------------------------------- CASE ( 30001:99999 ) ! Increment reaction count R = R + 1 ! Get the reaction number index from the NUM = JPREAC(R) - 30000 ! Extract this reaction number from the state diag ! NOTE: JValues collection must have been requested in HISTORY.rc VARI(V) = State_Diag%JVal(I,J,L, NUM ) !--------------------------------------------------------------- ! GEOS-CHEM advected species [v/v dry] !--------------------------------------------------------------- CASE( 100000:199999 ) ! Remove offset from PVAR N = PVAR(V) - 100000 ! Species concentration is in [v/v dry] VARI(V) = Spc(N)%Conc(I,J,L) IF ( VARI(V) < TINY ) VARI(V) = 0.0_fp !--------------------------------------------------------------- ! Otherwise it's an error! !--------------------------------------------------------------- CASE DEFAULT IF ( Input_Opt%amIRoot ) THEN WRITE( errMsg, '(i6)' ) PVAR(V) errMsg = 'Bad variable: ' // TRIM( errMsg ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF END SELECT ENDDO ! Free pointer Spc => NULL() ! Write data for the Mth plane point out to disk CALL WRITE_VARS_TO_FILE( Input_Opt, State_Grid, State_Met, M, VARI ) ! Increment the record pointer PPOINT = PPOINT + 1 ENDIF ENDDO ! Free pointers IWVSELECT => NULL() ACOEF_WV => NULL() BCOEF_WV => NULL() ODAER => NULL() ODMDUST => NULL() END SUBROUTINE PLANEFLIGHT !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: test_valid ! ! !DESCRIPTION: Subroutine TEST\_VALID tests to see if we are w/in the ! tropopause, which is where chemistry is done. !\\ !\\ ! !INTERFACE: ! SUBROUTINE TEST_VALID( IND, I, J, L, Input_Opt, State_Grid, State_Met, RC ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN ) :: IND ! # of the flight track point TYPE(OptInput), INTENT(IN ) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN ) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN ) :: State_Met ! Meteorology State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: I ! GEOS-Chem longitude index INTEGER, INTENT(OUT) :: J ! GEOS-Chem latitude index INTEGER, INTENT(OUT) :: L ! GEOS-Chem level index INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 08 Jul 2002 - M. Evans - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: IL LOGICAL :: FOUND !================================================================= ! TEST_VALID begins here! !================================================================= ! We have not found a valid point FOUND = .FALSE. ! Get I corresponding to PLONGTD(IND) I = INT( ( PLONGTD(IND) + 180e+0_fp - & ( State_Grid%XMinOffset * State_Grid%DX ) ) / State_Grid%DX + 1.5e+0_fp ) ! Handle date line correctly (bmy, 4/23/04) IF ( I > State_Grid%nx ) I = I - State_Grid%NX ! Get J corresponding to PLATTD(IND) J = INT( ( PLATTD(IND) + 90e+0_fp - & ( State_Grid%YMinOffset * State_Grid%DY ) ) / State_Grid%DY + 1.5e+0_fp ) ! Get L corresponding to PRESS(IND) L = 1 DO IL = 1, State_Grid%NZ IF ( State_Met%PEDGE(I,J,IL) <= PPRESS(IND) .AND..NOT. FOUND ) THEN L = IL-1 FOUND =.TRUE. EXIT ENDIF ENDDO ! Error check: L must be 1 or higher IF ( L == 0 ) L = 1 END SUBROUTINE TEST_VALID !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: write_vars_to_file ! ! !DESCRIPTION: Subroutine WRITE\_VARS\_TO\_FILE writes the values of all ! the variables for a given flight track point to the output file. !\\ !\\ ! !INTERFACE: ! SUBROUTINE WRITE_VARS_TO_FILE( Input_Opt, State_Grid, State_Met, IND, VARI ) ! ! !USES: ! USE FILE_MOD, ONLY : IOERROR USE GC_GRID_MOD, ONLY : GET_IJ USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input options TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object INTEGER, INTENT(IN) :: IND ! # of the flight track point REAL(fp), INTENT(IN) :: VARI(NPVAR) ! Values to print to file ! ! !REVISION HISTORY: ! 08 Jul 2002 - M. Evans - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! LOGICAL, SAVE :: FIRST = .TRUE. INTEGER :: I, IOS INTEGER :: IIJJ(2), II, JJ, L, LL REAL*4 :: LON_TMP, LAT_TMP !================================================================= ! WRITE_VARS_TO_FILE begins here! !================================================================= LON_TMP = REAL(PLONGTD(IND),4) LAT_TMP = REAL(PLATTD(IND),4) ! Skip observations outside the domain IF ( LAT_TMP < State_Grid%YMin .OR. & LAT_TMP > State_Grid%YMax .OR. & LON_TMP < State_Grid%XMin .OR. & LON_TMP > State_Grid%XMax ) THEN IF ( Input_Opt%amIRoot ) & PRINT*, ' Outside nested domain, skipping record ', IND RETURN ENDIF ! Get Lat, Lon, and Pressure indicies (ajt, 5/26/13) IIJJ = GET_IJ( LON_TMP, LAT_TMP, State_Grid ) II = IIJJ(1) JJ = IIJJ(2) LL = 0 IF ( PPRESS(IND) .GT. State_Met%PEDGE(II,JJ,1) ) LL = 1 DO L = 1, State_Grid%NZ IF ( ( PPRESS(IND) .LT. State_Met%PEDGE(II,JJ,L) ) .AND. & ( PPRESS(IND) .GT. State_Met%PEDGE(II,JJ,L+1) ) ) LL = L ENDDO IF (LL .EQ. 0) LL = State_Grid%NZ ! Write data to file WRITE( IU_PLANE, 110, IOSTAT=IOS ) & IND, PTYPE(IND), INT( PDATE(IND) ), INT( PTIME(IND) ), & PLATTD(IND), PLONGTD(IND), PPRESS(IND), POBS(IND), & INT( GET_ELAPSED_SEC() / GET_TS_DYN() ), LL, II, JJ, & ( VARI(I), I=1,NPVAR ) ! Format string #ifdef TOMAS 110 FORMAT(I5,X,A7,X,I8.8,X,I4.4,X,F7.2,X,F7.2,X,F7.2,X,F10.3, & X,I9.9,X,I3.3,X,I5.5,X,I5.5,X,250(es11.3e3,x)) #else 110 FORMAT(I5,X,A7,X,I8.8,X,I4.4,X,F7.2,X,F7.2,X,F7.2,X,F10.3, & X,I9.9,X,I3.3,X,I5.5,X,I5.5,X,250(es11.3e3,x)) #endif ! Error check IF ( IOS /= 0 ) CALL IOERROR( IOS,IU_PLANE,'write_vars_to_file:1') ! Flush the file to disk CALL FLUSH( IU_PLANE ) END SUBROUTINE WRITE_VARS_TO_FILE !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: set_planeflight ! ! !DESCRIPTION: Subroutine SET\_PLANEFLIGHT is used to pass values read in ! from the GEOS-Chem input file to "planeflight\_mod.F90". !\\ !\\ ! !INTERFACE: ! SUBROUTINE SET_PLANEFLIGHT( PF, IN_FILE, OUT_FILE ) ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: PF ! Turn on planeflight diag? CHARACTER(LEN=255), INTENT(IN) :: IN_FILE ! Input file to read CHARACTER(LEN=255), INTENT(IN) :: OUT_FILE ! Output file to write ! ! !REVISION HISTORY: ! 20 Jul 2004 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! Save arguments to "shadow" module variables DO_PF = PF INFILENAME = TRIM( IN_FILE ) OUTFILENAME = TRIM( OUT_FILE ) END SUBROUTINE SET_PLANEFLIGHT !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: init_planeflight ! ! !DESCRIPTION: Subroutine INIT\_PLANEFLIGHT reads the input file to compute ! the number of variables and flight track points to print out. Also ! allocates all module arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE INIT_PLANEFLIGHT( Input_Opt, State_Grid, RC ) ! ! !USES: ! USE ErrCode_Mod USE FILE_MOD, ONLY : IOERROR USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 08 Jul 2002 - M. Evans - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! LOGICAL :: IS_INIT = .FALSE. INTEGER :: N, IOS CHARACTER(LEN=20) :: LINE CHARACTER(LEN=255) :: errMsg, thisLoc !================================================================= ! INIT_PLANEFLIGHT begins here! !================================================================= ! Find a free file LUN IU_FILE = findFreeLUN() ! Open file OPEN( IU_FILE, FILE=TRIM( INF ), IOSTAT=IOS ) IF ( IOS /= 0 ) CALL IOERROR( IOS, IU_FILE, 'init_planeflight:1' ) ! Read four lines of header DO N = 1, 4 READ( IU_FILE, '(a)', IOSTAT=IOS ) IF ( IOS /= 0 ) CALL IOERROR( IOS,IU_FILE,'init_planeflight:2') ENDDO !================================================================= ! Read in the number of variables to be output -- store in NPVAR !================================================================= ! Read in as I4 now for the number of variables we save (skim, 7/24/13) READ( IU_FILE, '(i4)', IOSTAT=IOS ) NPVAR IF ( IOS /= 0 ) CALL IOERROR( IOS, IU_FILE, 'init_planeflight:3' ) ! Make sure NPVAR is at least 1 IF ( NPVAR < 1 ) THEN IF ( Input_Opt%amIRoot ) THEN errMsg = 'NPVAR cannot be zero or negative!' CALL GC_Error( errMsg, RC, thisLoc ) ENDIF ENDIF ! Make sure NPVAR is less than MAXVARS IF ( NPVAR > MAXVARS ) THEN IF ( Input_Opt%amIRoot ) THEN errMsg = 'NPVAR exceeds maximum allowed value!' CALL GC_Error( errMsg, RC, thisLoc ) ENDIF ENDIF ! Read in a separation line READ( IU_FILE, '(a)', IOSTAT=IOS ) IF ( IOS /= 0 ) CALL IOERROR( IOS, IU_FILE, 'init_planeflight:4' ) ! Initialize chemistry reaction counter NPREAC = 0 NJPREAC = 0 ! Initialize prod rate counter: NPROD = 0 ! Skip past the species declarations DO N = 1, NPVAR READ( IU_FILE, '(a)', IOSTAT=IOS ) LINE IF ( IOS /= 0 ) CALL IOERROR( IOS,IU_FILE,'init_planeflight:5') ! Increment number of chemistry reactions found IF ( INDEX( LINE, 'REA_' ) > 0 ) NPREAC = NPREAC + 1 ! Now also add up the number of GAMMA values IF ( INDEX( LINE, 'GAMM' ) > 0 ) NPREAC = NPREAC + 1 ! Count # of production rate outputs: IF ( INDEX( LINE, 'PROD' ) > 0 ) NPROD = NPROD + 1 ! Increment number of photolysis reactions (j-rates) found IF ( INDEX( LINE, 'JVL_' ) > 0 ) NJPREAC = NJPREAC + 1 ENDDO ! Read 4 header lines DO N = 1, 4 READ( IU_FILE, '(a)', IOSTAT=IOS ) IF ( IOS /= 0 ) CALL IOERROR( IOS,IU_FILE,'init_planeflight:6') ENDDO !================================================================= ! Read plane track points -- plane, lat/lon/alt, date/time !================================================================= NPOINTS = 0 DO ! Read a line from the file READ( IU_FILE, '(a)', IOSTAT=IOS ) LINE ! Exit at end of file IF ( IOS < 0 ) EXIT IF ( IOS > 0 ) CALL IOERROR( IOS,IU_FILE,'init_planeflight:7' ) ! Check for END IF ( INDEX( LINE, 'END' ) == 0 ) THEN NPOINTS = NPOINTS + 1 ELSE EXIT ENDIF ENDDO ! Close file CLOSE( IU_FILE ) ! If there are no flight-track points then just return IF ( NPOINTS < 1 ) THEN DO_PF = .FALSE. RETURN ENDIF ! Make sure NPOINTS is less than MAXPOINTS IF ( NPOINTS > MAXPOINTS ) THEN IF ( Input_Opt%amIRoot ) THEN errMsg = 'NPOINTS exceeds maximum allowed value!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF !================================================================= ! Allocate arrays to maximum sizes ! ! NOTE: To save space, NPREAC is the actual number of reactions ! found. We will worry about this later. (bmy, 3/25/05) !================================================================= IF ( .not. IS_INIT ) THEN !------------------------- ! Arrays of size NPREAC !------------------------- ALLOCATE( PREAC( MAX( NPREAC, 1 ) ), STAT=RC ) CALL GC_CheckVar( 'planeflight_mod:PREAC', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ALLOCATE( PRRATE( State_Grid%NX, State_Grid%NY, State_Grid%NZ, & MAX( NPREAC, 1 ) ), STAT=RC ) CALL GC_CheckVar( 'planeflight_mod:PRRATE', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN !------------------------- ! Arrays of size NJPREAC !------------------------- ALLOCATE( JPREAC( MAX( NJPREAC, 1 ) ), STAT=RC ) CALL GC_CheckVar( 'planeflight_mod:JPREAC', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ! --------------------- ! Arrays of size NPROD ! --------------------- ALLOCATE( IPROD( MAX( NPROD, 1 ) ), STAT=RC ) CALL GC_CheckVar( 'planeflight_mod:IPROD', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN !-------------------------- ! Arrays of size MAXVARS !-------------------------- ALLOCATE( PVAR( MAXVARS ), STAT=RC ) CALL GC_CheckVar( 'planeflight_mod:PVAR', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ALLOCATE( PNAME( MAXVARS ), STAT=RC ) CALL GC_CheckVar( 'planeflight_mod:PNAME', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN !--------------------------- ! Arrays of size MAXPOINTS !--------------------------- ALLOCATE( PTYPE( MAXPOINTS ), STAT=RC ) CALL GC_CheckVar( 'planeflight_mod:PTYPE', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ALLOCATE( PDATE( MAXPOINTS ), STAT=RC ) CALL GC_CheckVar( 'planeflight_mod:PDATE', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ALLOCATE( PTIME( MAXPOINTS ), STAT=RC ) CALL GC_CheckVar( 'planeflight_mod:PTIME', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ALLOCATE( PTAU( MAXPOINTS ), STAT=RC ) CALL GC_CheckVar( 'planeflight_mod:PTAUC', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ALLOCATE( PLATTD( MAXPOINTS ), STAT=RC ) CALL GC_CheckVar( 'planeflight_mod:PLATTD', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ALLOCATE( PLONGTD( MAXPOINTS ), STAT=RC ) CALL GC_CheckVar( 'planeflight_mod:PLONGTD', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ALLOCATE( PPRESS( MAXPOINTS ), STAT=RC ) CALL GC_CheckVar( 'planeflight_mod:PPRESS', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ALLOCATE( POBS( MAXPOINTS ), STAT=RC ) CALL GC_CheckVar( 'planeflight_mod:POBS', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ! Reset IS_INIT flag IS_INIT = .TRUE. ENDIF !================================================================= ! Initialize arrays !================================================================= PREAC = 0 JPREAC = 0 NPROD = 0 IPROD = 0 PRRATE = 0e0 PVAR = 0 PNAME = '' PTYPE = '' PDATE = 0e0 PTIME = 0e0 PTAU = 0e0 PLATTD = 0e0 PLONGTD= 0e0 PPRESS = 0e0 POBS = 0e0 END SUBROUTINE INIT_PLANEFLIGHT !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: cleanup_planeflight ! ! !DESCRIPTION: Subroutine CLEANUP\_PLANEFLIGHT deallocates all allocatable ! module arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CLEANUP_PLANEFLIGHT ! ! !REVISION HISTORY: ! 01 Jul 2001 - M. Evans - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC IF ( ALLOCATED( PVAR ) ) DEALLOCATE( PVAR ) IF ( ALLOCATED( PREAC ) ) DEALLOCATE( PREAC ) IF ( ALLOCATED( JPREAC ) ) DEALLOCATE( JPREAC ) IF ( ALLOCATED( IPROD ) ) DEALLOCATE( IPROD ) IF ( ALLOCATED( PNAME ) ) DEALLOCATE( PNAME ) IF ( ALLOCATED( PRRATE ) ) DEALLOCATE( PRRATE ) IF ( ALLOCATED( PTYPE ) ) DEALLOCATE( PTYPE ) IF ( ALLOCATED( PDATE ) ) DEALLOCATE( PDATE ) IF ( ALLOCATED( PTIME ) ) DEALLOCATE( PTIME ) IF ( ALLOCATED( PTAU ) ) DEALLOCATE( PTAU ) IF ( ALLOCATED( PLATTD ) ) DEALLOCATE( PLATTD ) IF ( ALLOCATED( PLONGTD) ) DEALLOCATE( PLONGTD ) IF ( ALLOCATED( PPRESS ) ) DEALLOCATE( PPRESS ) IF ( ALLOCATED( POBS ) ) DEALLOCATE( POBS ) END SUBROUTINE CLEANUP_PLANEFLIGHT !EOC END MODULE PLANEFLIGHT_MOD ================================================ FILE: GeosCore/pops_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: pops_mod.F90 ! ! !DESCRIPTION: Module POPS\_MOD contains variables and routines for the ! GEOS-Chem peristent organic pollutants (POPs) simulation. !\\ !\\ ! !INTERFACE: ! MODULE POPS_MOD ! ! !USES: ! USE PhysConstants ! For physical constants USE PRECISION_MOD ! For GEOS-Chem Precision (fp, f4, f8) IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: ChemPOPs PUBLIC :: Init_POPs PUBLIC :: Cleanup_POPs ! ! !REMARKS: ! POPs Tracers ! ============================================================================ ! (1 ) POPG : Gaseous POP - total tracer ! (2 ) POPPOC : OC-sorbed POP - total tracer ! (3 ) POPPBC : BC-sorbed POP - total tracer ! ! !REVISION HISTORY: ! 20 Sep 2010 - N.E. Selin - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! REAL(fp), PARAMETER :: SMALLNUM = 1e-20_fp !================================================================= ! MODULE VARIABLES !================================================================= ! Arrays !================================================================= ! TCOSZ : Sum of COS(Solar Zenith Angle ) [unitless] ! TTDAY : Total daylight time at location (I,J) [minutes] ! ZERO_DVEL : Array with zero dry deposition velocity [cm/s] ! COSZM : Max daily value of COS(S.Z. angle) [unitless] !================================================================= REAL(fp), ALLOCATABLE :: TCOSZ(:,:) REAL(fp), ALLOCATABLE :: TTDAY(:,:) REAL(fp), ALLOCATABLE :: ZERO_DVEL(:,:) REAL(fp), ALLOCATABLE :: COSZM(:,:) ! Pointers to fields in the HEMCO data structure. ! These need to be declared REAL(f4), aka REAL*4. ! NOTE: These are globally SAVEd pointers, so we can ! nullify them in the declaration here (bmy, 4/29/16) REAL(f4), POINTER :: C_OC(:,:,:) => NULL() REAL(f4), POINTER :: C_BC(:,:,:) => NULL() REAL(f4), POINTER :: O3(:,:,:) => NULL() REAL(f4), POINTER :: OH(:,:,:) => NULL() ! ! !PRIVATE TYPES: ! ! Species ID flags INTEGER, PRIVATE :: id_POPG INTEGER, PRIVATE :: id_POPPBCPI INTEGER, PRIVATE :: id_POPPBCPO INTEGER, PRIVATE :: id_POPPOCPI INTEGER, PRIVATE :: id_POPPOCPO ! Species drydep ID flags INTEGER, PRIVATE :: dd_POPG INTEGER, PRIVATE :: dd_POPP_BCPI INTEGER, PRIVATE :: dd_POPP_BCPO INTEGER, PRIVATE :: dd_POPP_OCPI INTEGER, PRIVATE :: dd_POPP_OCPO CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: chempops ! ! !DESCRIPTION: Subroutine CHEMPOPS is the driver routine for POPs chemistry ! (eck, 9/20/10) !\\ !\\ ! !INTERFACE: ! SUBROUTINE CHEMPOPS( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE Error_Mod, ONLY : DEBUG_MSG USE HCO_State_GC_Mod, ONLY : HcoState USE HCO_EmisList_Mod, ONLY : HCO_GetPtr USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 20 September 2010 - N.E. Selin - Initial Version based on CHEMMERCURY ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! SAVEd scalars LOGICAL, SAVE :: FIRST = .TRUE. ! Strings CHARACTER(LEN=255) :: ThisLoc CHARACTER(LEN=512) :: ErrMsg ! Pointers REAL(fp), POINTER :: DepFreq(:,:,: ) !================================================================= ! CHEMPOPS begins here! !================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at ChemPops (in module GeosCore/pops_mod.F90)' ! Point to columns of derived-type object fields (hplin, 12/1/18) DepFreq => State_Chm%DryDepFreq !----------------------------------------------------------------- ! %%%%% HISTORY (aka netCDF diagnostics) %%%%% ! ! Because we need to sum the drydep from all levels in the PBL ! into State_Diag%DryDepChm, we need to zero it at the start ! of this routine. This will avoid data from the last timestep ! from being accumulated in the averaging. (bmy, 10/23/18) !----------------------------------------------------------------- IF ( State_Diag%Archive_DryDepChm .or. & State_Diag%Archive_DryDep ) THEN State_Diag%DryDepChm = 0.0_f4 ENDIF !================================================================= ! Get pointers to fields that are read in by HEMCO. ! These are global concentrations of OH, O3, OC, and BC. ! ! NOTE: The HEMCO pointers will update with time, so we only need ! to make this assignment on the first call to CHEMPOPS. !================================================================= IF ( FIRST ) THEN ! OC CALL HCO_GetPtr( HcoState, 'GLOBAL_OC', C_OC, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot get pointer to GLOBAL_OC!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! BC CALL HCO_GetPtr( HcoState, 'GLOBAL_BC', C_BC, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot get pointer to GLOBAL_BC!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! OH CALL HCO_GetPtr( HcoState, 'GLOBAL_OH', OH, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot get pointer to GLOBAL_OC!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! O3 CALL HCO_GetPtr( HcoState, 'GLOBAL_O3', O3, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot get pointer to GLOBAL_OC!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Reset first-time flag FIRST = .FALSE. ENDIF !================================================================= ! Perform chemistry on POPs tracers !================================================================= ! Compute diurnal scaling for OH CALL OHNO3TIME( State_Grid ) IF ( Input_Opt%Verbose ) CALL DEBUG_MSG( 'CHEMPOPS: a OHNO3TIME' ) !------------------------- ! GAS AND PARTICLE PHASE chemistry !------------------------- IF ( Input_Opt%Verbose ) CALL DEBUG_MSG( 'CHEMPOPS: b CHEM_GASPART' ) ! Add option for non-local PBL (cdh, 08/27/09) IF ( Input_Opt%LNLPBL ) THEN ! Dry deposition occurs with PBL mixing, ! pass zero deposition frequency CALL CHEM_POPGP( Input_Opt, & State_Chm, & State_Diag, & State_Grid, & State_Met, & ZERO_DVEL, & ZERO_DVEL, & ZERO_DVEL, & ZERO_DVEL, & ZERO_DVEL, & RC ) ELSE ! For addition of hydrophilic OC/BC POP tracers: for now, assume that ! if dry deposition of hydrophoblic tracers is active, then dry ! deposition of hydrophilic tracers is also active ! (ie., they're coupled). clf, 2/12/2012 IF ( dd_POPG > 0 .and. & dd_POPP_OCPO > 0 .and. & dd_POPP_BCPO > 0 ) THEN ! Dry deposition active for both POP-Gas and POP-Particle; ! pass drydep frequency to CHEM_POPGP (NOTE: DepFreq has units 1/s) CALL CHEM_POPGP( Input_Opt, & State_Chm, & State_Diag, & State_Grid, & State_Met, & DepFreq(:,:,dd_POPG), & DepFreq(:,:,dd_POPP_OCPO), & DepFreq(:,:,dd_POPP_OCPI), & DepFreq(:,:,dd_POPP_BCPO), & DepFreq(:,:,dd_POPP_BCPI), & RC) ELSEIF ( dd_POPG > 0 .and. & dd_POPP_OCPO > 0 .and. & dd_POPP_BCPO <= 0 ) THEN ! Only POPG and POPP_OC dry deposition are active CALL CHEM_POPGP( Input_Opt, & State_Chm, & State_Diag, & State_Grid, & State_Met, & DepFreq(:,:,dd_POPG), & DepFreq(:,:,dd_POPP_OCPO), & DepFreq(:,:,dd_POPP_OCPI), & ZERO_DVEL, & ZERO_DVEL, & RC ) ELSEIF ( dd_POPG > 0 .and. & dd_POPP_OCPO <= 0 .and. & dd_POPP_BCPO > 0 ) THEN ! Only POPG and POPP_BC dry deposition are active CALL CHEM_POPGP( Input_Opt, & State_Chm, & State_Diag, & State_Grid, & State_Met, & DepFreq(:,:,dd_POPG), & ZERO_DVEL, & ZERO_DVEL, & DepFreq(:,:,dd_POPP_BCPO), & DepFreq(:,:,dd_POPP_BCPI), & RC ) ELSEIF ( dd_POPG > 0 .and. & dd_POPP_OCPO <= 0 .and. & dd_POPP_BCPO <= 0 ) THEN ! Only POPG dry deposition is active CALL CHEM_POPGP( Input_Opt, & State_Chm, & State_Diag, & State_Grid, & State_Met, & DepFreq(:,:,dd_POPG), & ZERO_DVEL, & ZERO_DVEL, & ZERO_DVEL, & ZERO_DVEL, & RC ) ELSEIF ( dd_POPG <= 0 .and. & dd_POPP_OCPO > 0 .and. & dd_POPP_BCPO > 0 ) THEN ! Only POPP dry deposition is active CALL CHEM_POPGP( Input_Opt, & State_Chm, & State_Diag, & State_Grid, & State_Met, & ZERO_DVEL, & DepFreq(:,:,dd_POPP_OCPO), & DepFreq(:,:,dd_POPP_OCPI), & DepFreq(:,:,dd_POPP_BCPO), & DepFreq(:,:,dd_POPP_BCPI), & RC ) ELSEIF ( dd_POPG <= 0 .and. & dd_POPP_OCPO > 0 .and. & dd_POPP_BCPO <= 0 ) THEN ! Only POPP_OC dry deposition is active CALL CHEM_POPGP( Input_Opt, & State_Chm, & State_Diag, & State_Grid, & State_Met, & ZERO_DVEL, & DepFreq(:,:,dd_POPP_OCPO), & DepFreq(:,:,dd_POPP_OCPI), & ZERO_DVEL, & ZERO_DVEL, & RC ) ELSEIF ( dd_POPG <= 0 .and. & dd_POPP_OCPO <= 0 .and. & dd_POPP_BCPO > 0 ) THEN ! Only POPP_OC dry deposition is active CALL CHEM_POPGP( Input_Opt, & State_Chm, & State_Diag, & State_Grid, & State_Met, & ZERO_DVEL, & ZERO_DVEL, & ZERO_DVEL, & DepFreq(:,:,dd_POPP_BCPO), & DepFreq(:,:,dd_POPP_BCPI), & RC ) ELSE ! No dry deposition, pass zero deposition frequency CALL CHEM_POPGP( Input_Opt, & State_Chm, & State_Diag, & State_Grid, & State_Met, & ZERO_DVEL, & ZERO_DVEL, & ZERO_DVEL, & ZERO_DVEL, & ZERO_DVEL, & RC ) ENDIF ENDIF IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( 'CHEMPOPS: a CHEM_GASPART' ) ENDIF ! Nullify pointers NULLIFY( DepFreq ) END SUBROUTINE CHEMPOPS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: chem_popgp ! ! !DESCRIPTION: Subroutine CHEM\_POPGP is the chemistry subroutine for the ! oxidation, gas-particle partitioning, and deposition of POPs. ! (eck, clf, 1/4/2011) !\\ !\\ ! !INTERFACE: ! SUBROUTINE CHEM_POPGP ( Input_Opt, & State_Chm, State_Diag, & State_Grid, State_Met, & V_DEP_G, & V_DEP_P_OCPO, V_DEP_P_OCPI, & V_DEP_P_BCPO, V_DEP_P_BCPI, & RC ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD, ONLY : DEBUG_MSG USE ERROR_MOD, ONLY : SAFE_DIV USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : Species, SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_TS_CHEM ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! Dry deposition frequencies [/s] REAL(fp), INTENT(IN) :: V_DEP_G(State_Grid%NX,State_Grid%NY) REAL(fp), INTENT(IN) :: V_DEP_P_OCPO(State_Grid%NX,State_Grid%NY) REAL(fp), INTENT(IN) :: V_DEP_P_BCPO(State_Grid%NX,State_Grid%NY) REAL(fp), INTENT(IN) :: V_DEP_P_OCPI(State_Grid%NX,State_Grid%NY) REAL(fp), INTENT(IN) :: V_DEP_P_BCPI(State_Grid%NX,State_Grid%NY) ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! References: ! ============================================================================ ! (1 ) For OH rate constant: Brubaker & Hites. 1998. OH reaction kinetics of ! PAHs and PCDD/Fs. J. Phys. Chem. A. 102:915-921. ! ! !REVISION HISTORY: ! 20 Sep 2010 - N.E. Selin - Initial Version based on CHEM_HG0_HG2 ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! DENS_OCT = density of octanol, needed for partitioning into OC ! 820 [kg/m^3] REAL(fp), PARAMETER :: DENS_OCT = 82e+1_fp ! DENS_BC = density of BC, needed for partitioning onto BC ! 1 [kg/L] or 1000 [kg/m^3] ! From Lohmann and Lammel, Environ. Sci. Technol., 2004, 38:3793-3803. REAL(fp), PARAMETER :: DENS_BC = 1e+3_fp ! k for reaction POPP + NO3 taken from Liu et al. EST 2012 "Kinetic ! studies of heterogeneous reactions of PAH aerosols with NO3 radicals", ! for now. CLF, 1/24/2012 ! For PYR, 6.4 x 10^-12 [cm3 / molec / s] REAL(fp), PARAMETER :: K_POPP_NO3 = 0e+0_fp ! 6.4d-12 ! OC/BC hydrophobic POP lifetime before folding to hydrophilic REAL(fp), PARAMETER :: OCBC_LIFE = 1.15e+0_fp ! ! !LOCAL VARIABLES: ! INTEGER :: I, J, L INTEGER :: N REAL(fp) :: DTCHEM, SUM_F REAL(fp) :: KOA_T, KBC_T REAL(fp) :: KOC_BC_T, KBC_OC_T REAL(fp) :: AREA_CM2 REAL(fp) :: F_PBL REAL(fp) :: C_OH, C_OC_CHEM, C_BC_CHEM REAL(fp) :: C_OC_CHEM1, C_BC_CHEM1 REAL(fp) :: K_OH REAL(fp) :: K_OX, C_O3 REAL(fp) :: E_KOX_T REAL(fp) :: K_DEPG, K_DEPP_OCPO, K_DEPP_BCPO REAL(fp) :: K_DEPP_OCPI, K_DEPP_BCPI REAL(fp) :: OLD_POPG, OLD_POPP_OCPO, OLD_POPP_BCPO REAL(fp) :: OLD_POPP_OCPI, OLD_POPP_BCPI REAL(fp) :: NEW_POPG, NEW_POPP_OCPO, NEW_POPP_BCPO REAL(fp) :: NEW_POPP_OCPI, NEW_POPP_BCPI REAL(fp) :: POPG_BL, POPP_OCPO_BL, POPP_BCPO_BL REAL(fp) :: POPP_OCPI_BL, POPP_BCPI_BL REAL(fp) :: POPG_FT, POPP_OCPO_FT, POPP_BCPO_FT REAL(fp) :: POPP_OCPI_FT, POPP_BCPI_FT REAL(fp) :: TMP_POPG, TMP_OX REAL(fp) :: GROSS_OX, GROSS_OX_OH, NET_OX REAL(fp) :: DEP_POPG, DEP_POPP_OCPO, DEP_POPP_BCPO REAL(fp) :: DEP_POPP_OCPI, DEP_POPP_BCPI REAL(fp) :: DEP_POPG_DRY, DEP_POPP_OCPO_DRY REAL(fp) :: DEP_POPP_BCPO_DRY, DEP_POPP_OCPI_DRY REAL(fp) :: DEP_POPP_BCPI_DRY REAL(fp) :: DEP_DRY_FLXG, DEP_DRY_FLXP_OCPO REAL(fp) :: DEP_DRY_FLXP_BCPO, DEP_DRY_FLXP_OCPI REAL(fp) :: DEP_DRY_FLXP_BCPI REAL(fp) :: OLD_POP_T REAL(fp) :: VR_OC_AIR, VR_BC_AIR REAL(fp) :: VR_OC_BC, VR_BC_OC REAL(fp) :: F_POP_OC, F_POP_BC REAL(fp) :: F_POP_G REAL(fp) :: MPOP_OCPO, MPOP_BCPO, MPOP_G REAL(fp) :: MPOP_OCPI, MPOP_BCPI REAL(fp) :: MPOP_OC, MPOP_BC REAL(fp) :: DIFF_G, DIFF_OC, DIFF_BC REAL(fp) :: OC_AIR_RATIO, OC_BC_RATIO, BC_AIR_RATIO REAL(fp) :: BC_OC_RATIO, SUM_DIFF REAL(fp) :: FOLD, KOCBC, NEW_OCPI, NEW_BCPI REAL(fp) :: GROSS_OX_OCPO, GROSS_OX_OCPI REAL(fp) :: GROSS_OX_BCPO, GROSS_OX_BCPI REAL(fp) :: GROSS_OX_O3_OCPO, GROSS_OX_O3_OCPI REAL(fp) :: GROSS_OX_O3_BCPO, GROSS_OX_O3_BCPI REAL(fp) :: GROSS_OX_NO3_OCPO, GROSS_OX_NO3_OCPI REAL(fp) :: GROSS_OX_NO3_BCPO, GROSS_OX_NO3_BCPI REAL(fp) :: TMP_POPP_OCPO, TMP_POPP_OCPI REAL(fp) :: E_KOX_T_BC REAL(fp) :: TMP_OX_P_OCPO, TMP_OX_P_OCPI REAL(fp) :: TMP_OX_P_BCPO, TMP_OX_P_BCPI REAL(fp) :: TMP_POPP_BCPO, TMP_POPP_BCPI REAL(fp) :: NET_OX_OCPO, NET_OX_OCPI REAL(fp) :: NET_OX_BCPO, NET_OX_BCPI REAL(fp) :: K_O3_BC, C_NO3, K_OX_P, K_NO3_BC ! Delta H for POP [kJ/mol]. Delta H is enthalpy of phase transfer ! from gas phase to OC. For now we use Delta H for phase transfer ! from the gas phase to the pure liquid state. ! For PHENANTHRENE: ! this is taken as the negative of the Delta H for phase transfer ! from the pure liquid state to the gas phase (Schwarzenbach, ! Gschwend, Imboden, 2003, pg 200, Table 6.3), or -74000 [J/mol]. ! For PYRENE: ! this is taken as the negative of the Delta H for phase transfer ! from the pure liquid state to the gas phase (Schwarzenbach, ! Gschwend, Imboden, 2003, pg 200, Table 6.3), or -87000 [J/mol]. ! For BENZO[a]PYRENE: ! this is also taken as the negative of the Delta H for phase transfer ! from the pure liquid state to the gas phase (Schwarzenbach, ! Gschwend, Imboden, 2003, pg 452, Prob 11.1), or -110,000 [J/mol] REAL(fp) :: DEL_H ! KOA_298 for partitioning of gas phase POP to atmospheric OC ! KOA_298 = Cpop in octanol/Cpop in atmosphere at 298 K ! For PHENANTHRENE: ! log KOA_298 = 7.64, or 4.37*10^7 [unitless] ! For PYRENE: ! log KOA_298 = 8.86, or 7.24*10^8 [unitless] ! For BENZO[a]PYRENE: ! log KOA_298 = 11.48, or 3.02*10^11 [unitless] ! (Ma et al., J. Chem. Eng. Data, 2010, 55:819-825). REAL(fp) :: KOA_298 ! KBC_298 for partitioning of gas phase POP to atmospheric BC ! KBC_298 = Cpop in black carbon/Cpop in atmosphere at 298 K ! For PHENANTHRENE: ! log KBC_298 = 10.0, or 1.0*10^10 [unitless] ! For PYRENE: ! log KBC_298 = 11.0, or 1.0*10^11 [unitless] ! For BENZO[a]PYRENE: ! log KBC_298 = 13.9, or 7.94*10^13 [unitless] ! (Lohmann and Lammel, EST, 2004, 38:3793-3802) REAL(fp) :: KBC_298 ! K for reaction POPG + OH [cm3 /molecule /s] ! For PHENANTHRENE: 2.70d-11 ! (Source: Brubaker & Hites, J. Phys Chem A 1998) ! For PYRENE: 5.00d-11 ! Calculated by finding the ratio between kOH of phenanthrene and ! kOH of pyrene using structure-activity relationships (Schwarzenback, ! Gschwend, Imboden, pg 680) and scaling the experimental kOH for ! phenanthrene from Brubaker and Hites ! For BENZO[a]PYRENE: 5.68d-11 ! Calculated by finding the ratio between kOH of phenanthrene and ! kOH of pyrene using structure-activity relationships (Schwarzenback, ! Gschwend, Imboden, pg 680) and scaling the experimental kOH for ! phenanthrene from Brubaker and Hites ! Could potentially set this to change with temperature ! Using EPA AOPWIN values: ! For PHENANTHRENE: 13d-12 ! For PYRENE: 50d-12 ! For BaP: 50d-12 REAL(fp) :: K_POPG_OH !(Gas phase) ! k for reaction POPP + O3 [/s] depends on fitting parameters A and B. ! A represents the maximum number of surface sites available to O3, and B ! represents the ratio of desorption/adsorption rate coefficients for ! both bulk phases (Ref: Kahan et al Atm Env 2006, 40:3448) ! k(obs) = A x [O3(g)] / (B + [O3(g)]) ! For PHENANTHRENE: A = 0.5 x 10^-3 s^-1, B = 2.15 x 10^15 molec/cm3 ! For PYRENE: A = 0.7 x 10^-3 s^-1, B = 3 x 10^15 molec/cm3 ! for BaP: A = 5.5 x 10^-3 s^-1, B = 2.8 x 10^15 molec/cm3 REAL(fp) :: AK ! s^-1 REAL(fp) :: BK ! molec/cm3 ! For fields from Input_Opt LOGICAL :: LNLPBL LOGICAL :: LGTMM LOGICAL :: Archive_Drydep ! For SAFE_DIV REAL(fp) :: DENOM ! Pointers TYPE(SpcConc), POINTER :: Spc(:) TYPE(Species), POINTER :: ThisSpc !================================================================= ! CHEM_POPGP begins here! !================================================================= ! Assume success RC = GC_SUCCESS ! Copy values from Input_Opt DEL_H = Input_Opt%POP_DEL_H KOA_298 = Input_Opt%POP_KOA KBC_298 = Input_Opt%POP_KBC K_POPG_OH = Input_Opt%POP_K_POPG_OH AK = Input_Opt%POP_K_POPP_O3A BK = Input_Opt%POP_K_POPP_O3B LNLPBL = Input_Opt%LNLPBL LGTMM = Input_Opt%LGTMM ! Point to the chemical species vector Spc => State_Chm%Species ! Pointer for the species database object ThisSpc => NULL() ! Chemistry timestep [s] DTCHEM = GET_TS_CHEM() !================================================================ ! %%%%% HISTORY (aka netCDF diagnostics) %%%%% ! ! Zero out all diagnostic arrays to avoid leftover values from ! from the last timestep from being archived again (bmy,10/15/18) !================================================================ !---------------------------------------------------------------- ! Initialize State_Diag fields for prod/loss diagnostics !---------------------------------------------------------------- IF ( State_Diag%Archive_LossPOPPOCPObyGasPhase ) THEN State_Diag%LossPOPPOCPObyGasPhase = 0.0_f4 ENDIF IF ( State_Diag%Archive_ProdPOPPOCPOfromGasPhase ) THEN State_Diag%ProdPOPPOCPOfromGasPhase = 0.0_f4 ENDIF IF ( State_Diag%Archive_LossPOPPBCPObyGasPhase ) THEN State_Diag%LossPOPPBCPObyGasPhase = 0.0_f4 ENDIF IF ( State_Diag%Archive_ProdPOPPBCPOfromGasPhase ) THEN State_Diag%ProdPOPPBCPOfromGasPhase = 0.0_f4 ENDIF IF ( State_Diag%Archive_ProdPOPGfromOH ) THEN State_Diag%ProdPOPGfromOH = 0.0_f4 ENDIF IF ( State_Diag%Archive_ProdPOPPOCPOfromO3 ) THEN State_Diag%ProdPOPPOCPOfromO3 = 0.0_f4 ENDIF IF ( State_Diag%Archive_ProdPOPPOCPIfromO3 ) THEN State_Diag%ProdPOPPOCPIfromO3 = 0.0_f4 ENDIF IF ( State_Diag%Archive_ProdPOPPBCPOfromO3 ) THEN State_Diag%ProdPOPPBCPOfromO3 = 0.0_f4 ENDIF IF ( State_Diag%Archive_ProdPOPPBCPIfromO3 ) THEN State_Diag%ProdPOPPBCPIfromO3 = 0.0_f4 ENDIF IF ( State_Diag%Archive_ProdPOPPOCPOfromNO3 ) THEN State_Diag%ProdPOPPOCPOfromNO3 = 0.0_f4 ENDIF IF ( State_Diag%Archive_ProdPOPPOCPIfromNO3 ) THEN State_Diag%ProdPOPPOCPIfromNO3 = 0.0_f4 ENDIF IF ( State_Diag%Archive_ProdPOPPBCPOfromNO3 ) THEN State_Diag%ProdPOPPBCPOfromNO3 = 0.0_f4 ENDIF IF ( State_Diag%Archive_ProdPOPPBCPIfromNO3 ) THEN State_Diag%ProdPOPPBCPIfromNO3 = 0.0_f4 ENDIF !---------------------------------------------------------------- ! Determine if we need to save drydep to netCDF !---------------------------------------------------------------- Archive_Drydep = ( State_Diag%Archive_DryDepChm .or. & State_Diag%Archive_DryDep ) ! Eventually should parallelize this ... DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NZ ! Zero concentrations in loop MPOP_G = 0e+0_fp MPOP_OCPO = 0e+0_fp MPOP_BCPO = 0e+0_fp MPOP_OCPI = 0e+0_fp MPOP_BCPI = 0e+0_fp OLD_POPG = 0e+0_fp OLD_POPP_OCPO = 0e+0_fp OLD_POPP_BCPO = 0e+0_fp OLD_POPP_OCPI = 0e+0_fp OLD_POPP_BCPI = 0e+0_fp OLD_POP_T = 0e+0_fp NEW_POPG = 0e+0_fp NEW_POPP_OCPO = 0e+0_fp NEW_POPP_BCPO = 0e+0_fp NEW_POPP_OCPI = 0e+0_fp NEW_POPP_BCPI = 0e+0_fp POPG_BL = 0e+0_fp POPP_OCPO_BL = 0e+0_fp POPP_BCPO_BL = 0e+0_fp POPP_OCPI_BL = 0e+0_fp POPP_BCPI_BL = 0e+0_fp POPG_FT = 0e+0_fp POPP_OCPO_FT = 0e+0_fp POPP_BCPO_FT = 0e+0_fp POPP_OCPI_FT = 0e+0_fp POPP_BCPI_FT = 0e+0_fp DIFF_G = 0e+0_fp DIFF_OC = 0e+0_fp DIFF_BC = 0e+0_fp NET_OX = 0e+0_fp TMP_POPG = 0e+0_fp TMP_OX = 0e+0_fp GROSS_OX = 0e+0_fp GROSS_OX_OH = 0e+0_fp DEP_POPG = 0e+0_fp DEP_POPP_OCPO = 0e+0_fp DEP_POPP_BCPO = 0e+0_fp DEP_POPP_OCPI = 0e+0_fp DEP_POPP_BCPI = 0e+0_fp DEP_POPG_DRY = 0e+0_fp DEP_POPP_OCPO_DRY = 0e+0_fp DEP_POPP_BCPO_DRY = 0e+0_fp DEP_POPP_OCPI_DRY = 0e+0_fp DEP_POPP_BCPI_DRY = 0e+0_fp DEP_DRY_FLXG = 0e+0_fp DEP_DRY_FLXP_OCPO = 0e+0_fp DEP_DRY_FLXP_BCPO = 0e+0_fp DEP_DRY_FLXP_OCPI = 0e+0_fp DEP_DRY_FLXP_BCPI = 0e+0_fp E_KOX_T = 0e+0_fp K_OX = 0e+0_fp K_O3_BC = 0e+0_fp GROSS_OX_OCPO = 0e+0_fp GROSS_OX_BCPO = 0e+0_fp GROSS_OX_OCPI = 0e+0_fp GROSS_OX_BCPI = 0e+0_fp GROSS_OX_O3_OCPO = 0e+0_fp GROSS_OX_O3_BCPO = 0e+0_fp GROSS_OX_O3_OCPI = 0e+0_fp GROSS_OX_O3_BCPI = 0e+0_fp GROSS_OX_NO3_OCPO = 0e+0_fp GROSS_OX_NO3_BCPO = 0e+0_fp GROSS_OX_NO3_OCPI = 0e+0_fp GROSS_OX_NO3_BCPI = 0e+0_fp TMP_POPP_OCPO = 0e+0_fp TMP_POPP_OCPI = 0e+0_fp TMP_POPP_BCPO = 0e+0_fp TMP_POPP_BCPI = 0e+0_fp E_KOX_T_BC = 0e+0_fp TMP_OX_P_OCPO = 0e+0_fp TMP_OX_P_OCPI = 0e+0_fp TMP_OX_P_BCPO = 0e+0_fp TMP_OX_P_BCPI = 0e+0_fp NET_OX_OCPO = 0e+0_fp NET_OX_OCPI = 0e+0_fp NET_OX_BCPO = 0e+0_fp NET_OX_BCPI = 0e+0_fp ! Get monthly mean OH concentrations C_OH = GET_OH( I, J, L, State_Met ) ! Get monthly mean O3 concentrations ! O3 is in v/v (from HEMCO), convert to molec/cm3 (mps, 9/10/14) C_O3 = O3(I,J,L) * ( AVO / ( AIRMW * 1.e-3_fp ) ) * & State_Met%AIRDEN(I,J,L) * 1e-6_fp ! Fraction of box (I,J,L) underneath the PBL top [dimensionless] F_PBL = State_Met%F_UNDER_PBLTOP(I,J,L) ! Define K for the oxidation reaction with POPG [/s] K_OH = K_POPG_OH * C_OH ! Define K for the oxidation reaction with POPPOC and POPPBC [/s] ! Kahan: K_O3_BC = (AK * C_O3) / (BK + C_O3) ! Bug fix: Zero C_NO3 to avoid a floating-point exception error. ! K_POPP_NO3 is already set to zero, so this will already cause ! K_NO3_BC to be set to zero. We think that C_NO3 once was ! assigned a value but was later taken out. (bmy, 10/6/16) C_NO3 = 0.0_fp ! Define K for oxidation of POPP by NO3 [/s] K_NO3_BC = K_POPP_NO3 * C_NO3 ! Total K for gas phase oxidation [/s] K_OX = K_OH !+ ... ! Total K for particle phase oxidation [/s] K_OX_P = K_O3_BC + K_NO3_BC ! Define Ks for dry deposition of gas phase POP [/s] K_DEPG = V_DEP_G(I,J) ! Define Ks for dry deposition of hydrophoblic particle phase POP [/s] K_DEPP_OCPO = V_DEP_P_OCPO(I,J) K_DEPP_BCPO = V_DEP_P_BCPO(I,J) ! Define Ks for dry deposition of hydrophilic particle phase POP [/s] K_DEPP_OCPI = V_DEP_P_OCPI(I,J) K_DEPP_BCPI = V_DEP_P_BCPI(I,J) ! Precompute exponential factors [dimensionless] ! For gas phase E_KOX_T = EXP( -K_OX * DTCHEM ) ! For particle phase E_KOX_T_BC = EXP( -K_OX_P * DTCHEM ) !============================================================== ! GAS-PARTICLE PARTITIONING !============================================================== OLD_POPG = MAX( Spc(id_POPG )%Conc(I,J,L), SMALLNUM ) ![kg] OLD_POPP_OCPO = MAX( Spc(id_POPPOCPO)%Conc(I,J,L), SMALLNUM ) ![kg] OLD_POPP_BCPO = MAX( Spc(id_POPPBCPO)%Conc(I,J,L), SMALLNUM ) ![kg] OLD_POPP_OCPI = MAX( Spc(id_POPPOCPI)%Conc(I,J,L), SMALLNUM ) ![kg] OLD_POPP_BCPI = MAX( Spc(id_POPPBCPI)%Conc(I,J,L), SMALLNUM ) ![kg] ! Total POPs in box I,J,L OLD_POP_T = OLD_POPG + & OLD_POPP_OCPO + OLD_POPP_BCPO + & OLD_POPP_OCPI + OLD_POPP_BCPI ! Define temperature-dependent partition coefficients ! NOTE: State_Met%T is in units of [K] KOA_T = KOA_298 * EXP( ( -DEL_H / RSTARG ) * & ( ( 1e+0_fp / State_Met%T(I,J,L) ) - & ( 1e+0_fp / 298e+0_fp ) ) ) ! Define KBC_T, the BC-air partition coeff at temp T [unitless] ! TURN OFF TEMPERATURE DEPENDENCY FOR SENSITIVITY ANALYSIS ! NOTE: State_Met%T is in units of [K] KBC_T = KBC_298 * EXP( ( -DEL_H / RSTARG ) * & ( ( 1e+0_fp / State_Met%T(I,J,L) ) - & ( 1e+0_fp / 298e+0_fp ) ) ) ! Define KOC_BC_T, theoretical OC-BC part coeff at temp T [unitless] KOC_BC_T = KOA_T / KBC_T ! Define KBC_OC_T, theoretical BC_OC part coeff at temp T [unitless] KBC_OC_T = 1e+0_fp / KOC_BC_T ! Get monthly mean OC and BC concentrations [kg/box] C_OC_CHEM = C_OC(I,J,L) C_BC_CHEM = C_BC(I,J,L) ! Make sure OC is not negative C_OC_CHEM = MAX( C_OC_CHEM, 0e+0_fp ) ! Convert to units of volume per box [m^3 OC or BC/box] C_OC_CHEM1 = C_OC_CHEM / DENS_OCT C_BC_CHEM1 = C_BC_CHEM / DENS_BC ! Define volume ratios: ! VR_OC_AIR = volume ratio of OC to air [unitless] VR_OC_AIR = C_OC_CHEM1 / State_Met%AIRVOL(I,J,L) ! could be zero ! VR_OC_BC = volume ratio of OC to BC [unitless] VR_OC_BC = SAFE_DIV( C_OC_CHEM1, C_BC_CHEM1, 0e+0_fp ) ! VR_BC_AIR = volume ratio of BC to air [unitless] VR_BC_AIR = SAFE_DIV( VR_OC_AIR, VR_OC_BC, 0e+0_fp ) ! VR_BC_OC = volume ratio of BC to OC [unitless] VR_BC_OC = SAFE_DIV( 1e+0_fp, VR_OC_BC, 0e+0_fp ) ! Redefine fractions of total POPs in box (I,J,L) that are OC-phase, ! BC-phase, and gas phase with new time step (should only change if ! temp changes or OC/BC concentrations change) DENOM = KOA_T * VR_OC_AIR OC_AIR_RATIO = SAFE_DIV( 1e+0_fp, DENOM, 0e+0_fp ) DENOM = KOC_BC_T * VR_OC_BC OC_BC_RATIO = SAFE_DIV( 1e+0_fp, DENOM, 0e+0_fp ) DENOM = KBC_T * VR_BC_AIR BC_AIR_RATIO = SAFE_DIV( 1e+0_fp, DENOM, 0e+0_fp ) DENOM = KBC_OC_T * VR_BC_OC BC_OC_RATIO = SAFE_DIV( 1e+0_fp, DENOM, 0e+0_fp ) ! If there are zeros in OC or BC concentrations, make sure they ! don't cause problems with phase fractions IF ( C_OC_CHEM > SMALLNUM .and. C_BC_CHEM > SMALLNUM ) THEN F_POP_OC = 1e+0_fp / (1e+0_fp + OC_AIR_RATIO + OC_BC_RATIO) F_POP_BC = 1e+0_fp / (1e+0_fp + BC_AIR_RATIO + BC_OC_RATIO) ELSE IF (C_OC_CHEM > SMALLNUM .and. & C_BC_CHEM <= SMALLNUM ) THEN F_POP_OC = 1e+0_fp / (1e+0_fp + OC_AIR_RATIO) F_POP_BC = SMALLNUM ELSE IF ( C_OC_CHEM <= SMALLNUM .and. & C_BC_CHEM > SMALLNUM ) THEN F_POP_OC = SMALLNUM F_POP_BC = 1e+0_fp / (1e+0_fp + BC_AIR_RATIO) ELSE IF ( C_OC_CHEM <= SMALLNUM .and. & C_BC_CHEM <= SMALLNUM) THEN F_POP_OC = SMALLNUM F_POP_BC = SMALLNUM ENDIF ! Gas-phase: F_POP_G = 1e+0_fp - F_POP_OC - F_POP_BC ! Check that sum equals 1 SUM_F = F_POP_OC + F_POP_BC + F_POP_G ! Calculate new masses of POP in each phase [kg] ! OC-phase: MPOP_OC = F_POP_OC * OLD_POP_T ! BC-phase MPOP_BC = F_POP_BC * OLD_POP_T ! Gas-phase MPOP_G = F_POP_G * OLD_POP_T ! Ensure new masses of POP in each phase are positive MPOP_OC = MAX(MPOP_OC, SMALLNUM) MPOP_BC = MAX(MPOP_BC, SMALLNUM) MPOP_G = MAX(MPOP_G, SMALLNUM) ! Calculate differences in masses in each phase from previous time ! step for storage in ND53 diagnostic DIFF_G = MPOP_G - OLD_POPG DIFF_OC = MPOP_OC - OLD_POPP_OCPO - OLD_POPP_OCPI DIFF_BC = MPOP_BC - OLD_POPP_BCPO - OLD_POPP_BCPI ! Sum of differences should equal zero SUM_DIFF = MAX(DIFF_G + DIFF_OC + DIFF_BC, SMALLNUM) !============================================================== ! %%%%% HISTORY (aka netCDF diagnostics) %%%%% ! ! Prod and loss of total POPPOC and total POPPBC species ! by gas-phase reactions [kg/s] !============================================================== IF ( DIFF_OC < 0.0_fp ) THEN ! Loss of POPPOCPO by gas-phase reactions IF ( State_Diag%Archive_LossPOPPOCPObyGasPhase ) THEN State_Diag%LossPOPPOCPObyGasPhase(I,J,L) = DIFF_OC / DTCHEM ENDIF ELSE ! Prod of POPPOCPO by gas-phase reactions IF ( State_Diag%Archive_ProdPOPPOCPOfromGasPhase ) THEN State_Diag%ProdPOPPOCPOfromGasPhase(I,J,L) = DIFF_OC / DTCHEM ENDIF ENDIF IF ( DIFF_BC < 0.0_fp ) THEN ! Loss of POPPBCPO by gas-phase reactions IF ( State_Diag%Archive_LossPOPPBCPObyGasPhase ) THEN State_Diag%LossPOPPBCPObyGasPhase(I,J,L) = DIFF_BC / DTCHEM ENDIF ELSE ! Prod of POPPBCPO by gas-phase reactions IF ( State_Diag%Archive_ProdPOPPOCPOfromGasPhase ) THEN State_Diag%ProdPOPPBCPOfromGasPhase(I,J,L) = DIFF_BC / DTCHEM ENDIF ENDIF !============================================================== ! HYDROPHOBIC PARTICULATE POPS DECAY TO HYDROPHILIC (clf, 2/12/2012) !============================================================== ! Define the lifetime and e-folding time to be the same as hydrophobic ! to hydrophilic aerosols KOCBC = 1.e+0_fp / (86400e+0_fp * OCBC_LIFE) ! Send hydrophobic to hydrophilic FOLD = KOCBC * DTCHEM ! Amount of hydrophobic particulate POP left after folding to ! hydrophilic MPOP_OCPO = MPOP_OC * EXP( -FOLD ) MPOP_BCPO = MPOP_BC * EXP( -FOLD ) ! Hydrophilic particulate POP already existing MPOP_OCPI = MAX( Spc(id_POPPOCPI)%Conc(I,J,L), SMALLNUM ) ![kg] MPOP_BCPI = MAX( Spc(id_POPPBCPI)%Conc(I,J,L), SMALLNUM ) ![kg] ! Hydrophilic POP that used to be hydrophobic NEW_OCPI = MPOP_OC - MPOP_OCPO NEW_BCPI = MPOP_BC - MPOP_BCPO ! Add new hydrophilic to old hydrophilic ! Don't do this - already added into total for redistribution (clf 3/27/2012) ! MPOP_OCPI = MPOP_OCPI + NEW_OCPI ! MPOP_BCPI = MPOP_BCPI + NEW_BCPI MPOP_OCPI = NEW_OCPI MPOP_BCPI = NEW_BCPI !============================================================== ! CHEMISTRY AND DEPOSITION REACTIONS !============================================================== IF ( F_PBL < 0.05e+0_fp .OR. K_DEPG < SMALLNUM ) THEN !============================================================== ! Entire box is in the free troposphere ! or deposition is turned off, so use RXN without deposition ! for gas phase POPs ! For particle POPs, no rxn and no deposition !============================================================== ! OH: CALL RXN_OX_NODEP( MPOP_G, K_OX, & E_KOX_T, NEW_POPG, GROSS_OX ) ! O3 and NO3: CALL RXN_OX_NODEP( MPOP_OCPO, K_OX_P, & E_KOX_T_BC, NEW_POPP_OCPO, GROSS_OX_OCPO) CALL RXN_OX_NODEP( MPOP_OCPI, K_OX_P, & E_KOX_T_BC, NEW_POPP_OCPI, GROSS_OX_OCPI) CALL RXN_OX_NODEP( MPOP_BCPO, K_OX_P, & E_KOX_T_BC, NEW_POPP_BCPO, GROSS_OX_BCPO) CALL RXN_OX_NODEP( MPOP_BCPI, K_OX_P, & E_KOX_T_BC, NEW_POPP_BCPI, GROSS_OX_BCPI) ! No deposition occurs [kg] DEP_POPG = 0e+0_fp DEP_POPP_OCPO = 0e+0_fp DEP_POPP_BCPO = 0e+0_fp DEP_POPP_OCPI = 0e+0_fp DEP_POPP_BCPI = 0e+0_fp ELSE IF ( F_PBL > 0.95e+0_fp ) THEN !============================================================== ! Entire box is in the boundary layer ! so use RXN with deposition for gas phase POPs ! Deposition only (no rxn) for particle phase POPs !============================================================== CALL RXN_OX_WITHDEP( MPOP_G, K_OX, & K_DEPG, DTCHEM, & E_KOX_T, NEW_POPG, & GROSS_OX, DEP_POPG ) CALL RXN_OX_WITHDEP( MPOP_OCPO, K_OX_P, & K_DEPP_OCPO, DTCHEM, & E_KOX_T_BC, NEW_POPP_OCPO, & GROSS_OX_OCPO, DEP_POPP_OCPO ) CALL RXN_OX_WITHDEP( MPOP_OCPI, K_OX_P, & K_DEPP_OCPI, DTCHEM, & E_KOX_T_BC, NEW_POPP_OCPI, & GROSS_OX_OCPI, DEP_POPP_OCPI ) CALL RXN_OX_WITHDEP( MPOP_BCPO, K_OX_P, & K_DEPP_BCPO, DTCHEM, & E_KOX_T_BC, NEW_POPP_BCPO, & GROSS_OX_BCPO, DEP_POPP_BCPO ) CALL RXN_OX_WITHDEP( MPOP_BCPI, K_OX_P, & K_DEPP_BCPI, DTCHEM, & E_KOX_T_BC, NEW_POPP_BCPI, & GROSS_OX_BCPI, DEP_POPP_BCPI ) ELSE !============================================================== ! Box spans the top of the boundary layer ! Part of the mass is in the boundary layer and subject to ! deposition while part is in the free troposphere and ! experiences no deposition. ! ! We apportion the mass between the BL and FT according to the ! volume fraction of the box in the boundary layer. ! Arguably we should assume uniform mixing ratio, instead of ! uniform density but if the boxes are short, the air density ! doesn't change much. ! But assuming uniform mixing ratio across the inversion layer ! is a poor assumption anyway, so we are just using the ! simplest approach. !============================================================== ! Boundary layer portion of POPG [kg] POPG_BL = MPOP_G * F_PBL ! Boundary layer portion of POPP_OCPO [kg] POPP_OCPO_BL = MPOP_OCPO * F_PBL ! Boundary layer portion of POPP_BCPO [kg] POPP_BCPO_BL = MPOP_BCPO * F_PBL ! Boundary layer portion of POPP_OCPI [kg] POPP_OCPI_BL = MPOP_OCPI * F_PBL ! Boundary layer portion of POPP_BCPI [kg] POPP_BCPI_BL = MPOP_BCPI * F_PBL ! Free troposphere portion of POPG [kg] POPG_FT = MPOP_G - POPG_BL ! Free troposphere portion of POPP_OCPO [kg] POPP_OCPO_FT = MPOP_OCPO - POPP_OCPO_BL ! Free troposphere portion of POPP_BCPO [kg] POPP_BCPO_FT = MPOP_BCPO - POPP_BCPO_BL ! Free troposphere portion of POPP_OCPI [kg] POPP_OCPI_FT = MPOP_OCPI - POPP_OCPI_BL ! Free troposphere portion of POPP_BCPI [kg] POPP_BCPI_FT = MPOP_BCPI - POPP_BCPI_BL ! Do chemistry with deposition on BL fraction for gas phase CALL RXN_OX_WITHDEP( POPG_BL, K_OX, & K_DEPG, DTCHEM, & E_KOX_T, NEW_POPG, & GROSS_OX, DEP_POPG ) ! Do chemistry without deposition on the FT fraction for gas phase CALL RXN_OX_NODEP( POPG_FT, K_OX, & E_KOX_T, TMP_POPG, TMP_OX ) ! Now do the same with the OC and BC phase: ! Do chemistry with deposition on BL fraction for OCPO phase CALL RXN_OX_WITHDEP( POPP_OCPO_BL, K_OX_P, & K_DEPP_OCPO, DTCHEM, & E_KOX_T_BC, NEW_POPP_OCPO, & GROSS_OX_OCPO, DEP_POPP_OCPO ) ! Do chemistry without deposition on the FT fraction for OCPO phase CALL RXN_OX_NODEP( POPP_OCPO_FT, K_OX_P, & E_KOX_T_BC, TMP_POPP_OCPO, & TMP_OX_P_OCPO ) ! Do chemistry with deposition on BL fraction for OCPI phase CALL RXN_OX_WITHDEP( POPP_OCPI_BL, K_OX_P, & K_DEPP_OCPI, DTCHEM, & E_KOX_T_BC, NEW_POPP_OCPI, & GROSS_OX_OCPI, DEP_POPP_OCPI ) ! Do chemistry without deposition on the FT fraction for OCPI phase CALL RXN_OX_NODEP( POPP_OCPI_FT, K_OX_P, & E_KOX_T_BC, TMP_POPP_OCPI, & TMP_OX_P_OCPI ) ! Do chemistry with deposition on BL fraction for BCPO phase CALL RXN_OX_WITHDEP( POPP_BCPO_BL, K_OX_P, & K_DEPP_BCPO, DTCHEM, & E_KOX_T_BC, NEW_POPP_BCPO, & GROSS_OX_BCPO, DEP_POPP_BCPO ) ! Do chemistry without deposition on the FT fraction for BCPO phase CALL RXN_OX_NODEP( POPP_BCPO_FT, K_OX_P, & E_KOX_T_BC, TMP_POPP_BCPO, & TMP_OX_P_BCPO ) ! Do chemistry with deposition on BL fraction for BCPI phase CALL RXN_OX_WITHDEP( POPP_BCPI_BL, K_OX_P, & K_DEPP_BCPI, DTCHEM, & E_KOX_T_BC, NEW_POPP_BCPI, & GROSS_OX_BCPI, DEP_POPP_BCPI ) ! Do chemistry without deposition on the FT fraction for BCPI phase CALL RXN_OX_NODEP( POPP_BCPI_FT, K_OX_P, & E_KOX_T_BC, TMP_POPP_BCPI, & TMP_OX_P_BCPI ) ! Do deposition (no chemistry) on BL fraction for particulate phase ! No deposition (and no chem) on the FT fraction ! for the particulate phase !CALL NO_RXN_WITHDEP(POPP_OCPO_BL, K_DEPP_OCPO, DTCHEM, & ! NEW_POPP_OCPO, DEP_POPP_OCPO) !CALL NO_RXN_WITHDEP(POPP_BCPO_BL, K_DEPP_BCPO, DTCHEM, & ! NEW_POPP_BCPO, DEP_POPP_BCPO) !CALL NO_RXN_WITHDEP(POPP_OCPI_BL, K_DEPP_OCPI, DTCHEM, & ! NEW_POPP_OCPI, DEP_POPP_OCPI) !CALL NO_RXN_WITHDEP(POPP_BCPI_BL, K_DEPP_BCPI, DTCHEM, & ! NEW_POPP_BCPI, DEP_POPP_BCPI) ! Recombine the boundary layer and free troposphere parts [kg] NEW_POPG = NEW_POPG + TMP_POPG NEW_POPP_OCPO = NEW_POPP_OCPO + TMP_POPP_OCPO NEW_POPP_BCPO = NEW_POPP_BCPO + TMP_POPP_BCPO NEW_POPP_OCPI = NEW_POPP_OCPI + TMP_POPP_OCPI NEW_POPP_BCPI = NEW_POPP_BCPI + TMP_POPP_BCPI ! Total gross oxidation of gas phase in the BL and FT [kg] GROSS_OX = GROSS_OX + TMP_OX ! Total gross oxidation of particle phases in the BL and FT [kg] GROSS_OX_OCPO = GROSS_OX_OCPO + TMP_OX_P_OCPO GROSS_OX_OCPI = GROSS_OX_OCPI + TMP_OX_P_OCPI GROSS_OX_BCPO = GROSS_OX_BCPO + TMP_OX_P_BCPO GROSS_OX_BCPI = GROSS_OX_BCPI + TMP_OX_P_BCPI ENDIF ! Ensure positive concentration [kg] NEW_POPG = MAX( NEW_POPG, SMALLNUM ) NEW_POPP_OCPO = MAX( NEW_POPP_OCPO, SMALLNUM ) NEW_POPP_BCPO = MAX( NEW_POPP_BCPO, SMALLNUM ) NEW_POPP_OCPI = MAX( NEW_POPP_OCPI, SMALLNUM ) NEW_POPP_BCPI = MAX( NEW_POPP_BCPI, SMALLNUM ) ! Archive new POPG and POPP values [kg] Spc(id_POPG )%Conc(I,J,L) = NEW_POPG Spc(id_POPPOCPO)%Conc(I,J,L) = NEW_POPP_OCPO Spc(id_POPPBCPO)%Conc(I,J,L) = NEW_POPP_BCPO Spc(id_POPPOCPI)%Conc(I,J,L) = NEW_POPP_OCPI Spc(id_POPPBCPI)%Conc(I,J,L) = NEW_POPP_BCPI ! Net oxidation [kg] (equal to gross ox for now) NET_OX = MPOP_G - NEW_POPG - DEP_POPG NET_OX_OCPO = MPOP_OCPO - NEW_POPP_OCPO - DEP_POPP_OCPO NET_OX_OCPI = MPOP_OCPI - NEW_POPP_OCPI - DEP_POPP_OCPI NET_OX_BCPO = MPOP_BCPO - NEW_POPP_BCPO - DEP_POPP_BCPO NET_OX_BCPI = MPOP_BCPI - NEW_POPP_BCPI - DEP_POPP_BCPI ! Error check on gross oxidation [kg] IF ( GROSS_OX < 0e+0_fp ) & CALL DEBUG_MSG('CHEM_POPGP: negative gross gas oxid') IF ( GROSS_OX_OCPO < 0e+0_fp ) & CALL DEBUG_MSG('CHEM_POPGP: negative gross OCPO oxid') IF ( GROSS_OX_OCPI < 0e+0_fp ) & CALL DEBUG_MSG('CHEM_POPGP: negative gross OCPI oxid') IF ( GROSS_OX_BCPO < 0e+0_fp ) & CALL DEBUG_MSG('CHEM_POPGP: negative gross BCPO oxid') IF ( GROSS_OX_BCPI < 0e+0_fp ) & CALL DEBUG_MSG('CHEM_POPGP: negative gross BCPI oxid') ! Apportion gross oxidation between OH (and no other gas-phase ! oxidants considered now) [kg] IF ( (K_OX < SMALLNUM) .OR. (GROSS_OX < SMALLNUM) ) THEN GROSS_OX_OH = 0e+0_fp ELSE GROSS_OX_OH = GROSS_OX * K_OH / K_OX ENDIF ! Small number check for particulate O3 oxidation ! Now apportion total particulate oxidation between O3 and NO3 IF ( (K_OX_P < SMALLNUM) .OR. (GROSS_OX_OCPO < SMALLNUM) ) THEN GROSS_OX_OCPO = 0e+0_fp ELSE GROSS_OX_O3_OCPO = GROSS_OX_OCPO * K_O3_BC / K_OX_P GROSS_OX_NO3_OCPO = GROSS_OX_OCPO * K_NO3_BC / K_OX_P ENDIF IF ( (K_OX_P < SMALLNUM) .OR. (GROSS_OX_OCPI < SMALLNUM) ) THEN GROSS_OX_OCPI = 0e+0_fp ELSE GROSS_OX_O3_OCPI = GROSS_OX_OCPI * K_O3_BC / K_OX_P GROSS_OX_NO3_OCPI = GROSS_OX_OCPI * K_NO3_BC / K_OX_P ENDIF IF ( (K_OX_P < SMALLNUM) .OR. (GROSS_OX_BCPO < SMALLNUM) ) THEN GROSS_OX_BCPO = 0e+0_fp ELSE GROSS_OX_O3_BCPO = GROSS_OX_BCPO * K_O3_BC / K_OX_P GROSS_OX_NO3_BCPO = GROSS_OX_BCPO * K_NO3_BC / K_OX_P ENDIF IF ( (K_OX_P < SMALLNUM) .OR. (GROSS_OX_BCPI < SMALLNUM) ) THEN GROSS_OX_BCPI = 0e+0_fp ELSE GROSS_OX_O3_BCPI = GROSS_OX_BCPI * K_O3_BC / K_OX_P GROSS_OX_NO3_BCPI = GROSS_OX_BCPI * K_NO3_BC / K_OX_P ENDIF ! Apportion deposition [kg] ! Right now only using dry deposition (no sea salt) (clf, 1/27/11) ! If ever use dep with sea salt aerosols, ! will need to multiply DEP_POPG by the ratio ! of K_DRYG (rate of dry dep) to K_DEPG (total dep rate). IF ( (K_DEPG < SMALLNUM) .OR. (DEP_POPG < SMALLNUM) ) THEN DEP_POPG_DRY = 0e+0_fp ELSE DEP_POPG_DRY = DEP_POPG ENDIF IF ( (K_DEPP_OCPO < SMALLNUM) .OR. (DEP_POPP_OCPO < SMALLNUM) ) THEN DEP_POPP_OCPO_DRY = 0e+0_fp ELSE DEP_POPP_OCPO_DRY = DEP_POPP_OCPO ENDIF IF ( (K_DEPP_BCPO < SMALLNUM) .OR. (DEP_POPP_BCPO < SMALLNUM) ) THEN DEP_POPP_BCPO_DRY = 0e+0_fp ELSE DEP_POPP_BCPO_DRY = DEP_POPP_BCPO ENDIF IF ( (K_DEPP_OCPI < SMALLNUM) .OR. (DEP_POPP_OCPI < SMALLNUM) ) THEN DEP_POPP_OCPI_DRY = 0e+0_fp ELSE DEP_POPP_OCPI_DRY = DEP_POPP_OCPI ENDIF IF ( (K_DEPP_BCPI < SMALLNUM) .OR. (DEP_POPP_BCPI < SMALLNUM) ) THEN DEP_POPP_BCPI_DRY = 0e+0_fp ELSE DEP_POPP_BCPI_DRY = DEP_POPP_BCPI ENDIF !============================================================== ! %%%%% HISTORY (netCDF DIAGNOSTICS) %%%%% ! ! If we are using full PBL mixing, then archive dry dep flux ! due to chemistry and the total dry dep flux [molec/cm2/s] ! ! NOTE: Only archive drydep within the PBL (bmy, 10/23/18) ! ALSO NOTE: Need to sum contributions from all layers ! into the State_Diag%DryDepChm array. !============================================================== IF ( ( Archive_Drydep ) .and. & ( .not. Input_Opt%LNLPBL ) .and. & ( F_PBL > 0.0_fp ) ) THEN ! Grid box surface area [cm2] AREA_CM2 = State_Grid%Area_M2(I,J) * 1e+4_fp !---------------------------------- ! Save drydep flux for POPG !---------------------------------- IF ( id_POPG > 0 ) THEN ! Point to POPG entry in the species database ThisSpc => State_Chm%SpcData(id_POPG)%Info ! Amt of POPG lost to drydep [molec/cm2/s] DEP_DRY_FLXG = DEP_POPG_DRY * AVO & / ( 1.e-3_fp * ThisSpc%MW_g ) & / ( AREA_CM2 * DTCHEM ) ! Save into State_Diag%DryDepChm State_Diag%DryDepChm(I,J,id_POPG) = & State_Diag%DryDepChm(I,J,id_POPG) + DEP_DRY_FLXG ! Free pointer ThisSpc => NULL() ENDIF !---------------------------------- ! Save drydep flux for POPPOCPO !---------------------------------- IF ( id_POPPOCPO > 0 ) THEN ! Point to POPPOCPO entry in the species database ThisSpc => State_Chm%SpcData(id_POPPOCPO)%Info ! Amt of POPPOCPO lost to drydep [molec/cm2/s] DEP_DRY_FLXP_OCPO = DEP_POPP_OCPO_DRY * AVO & / ( 1.e-3_fp * ThisSpc%MW_g ) & / ( AREA_CM2 * DTCHEM ) ! Save into State_Diag%DryDepChm State_Diag%DryDepChm(I,J,id_POPPOCPO) = & State_Diag%DryDepChm(I,J,id_POPPOCPO) + DEP_DRY_FLXP_OCPO ! Free pointer ThisSpc => NULL() ENDIF !---------------------------------- ! Save drydep flux for POPPOCPI !---------------------------------- IF ( id_POPPOCPI > 0 ) THEN ! Point to POPPOCPO entry in the species database ThisSpc => State_Chm%SpcData(id_POPPOCPI)%Info ! Amt of POPPOCPO lost to drydep [molec/cm2/s] DEP_DRY_FLXP_OCPI = DEP_POPP_OCPI_DRY * AVO & / ( 1.e-3_fp * ThisSpc%MW_g ) & / ( AREA_CM2 * DTCHEM ) ! Save into State_Diag%DryDepChm State_Diag%DryDepChm(I,J,id_POPPOCPI) = & State_Diag%DryDepChm(I,J,id_POPPOCPI) + DEP_DRY_FLXP_OCPI ! Free pointer ThisSpc => NULL() ENDIF !---------------------------------- ! Save drydep flux for POPPBCPO !---------------------------------- IF ( id_POPPBCPO > 0 ) THEN ! Point to POPPOCPO entry in the species database ThisSpc => State_Chm%SpcData(id_POPPBCPO)%Info ! Amt of POPPBCPO lost to drydep [molec/cm2/s] DEP_DRY_FLXP_BCPO = DEP_POPP_BCPO_DRY * AVO & / ( 1.e-3_fp * ThisSpc%MW_g ) & / ( AREA_CM2 * DTCHEM ) ! Save into State_Diag%DryDepChm State_Diag%DryDepChm(I,J,id_POPPBCPO) = & State_Diag%DryDepChm(I,J,id_POPPBCPO) + DEP_DRY_FLXP_BCPO ! Free pointer ThisSpc => NULL() ENDIF !---------------------------------- ! Save drydep flux for POPPBCPI !---------------------------------- IF ( id_POPPBCPI > 0 ) THEN ! Point to POPPOCPO entry in the species database ThisSpc => State_Chm%SpcData(id_POPPBCPI)%Info ! Amt of POPPBCPI lost to drydep [molec/cm2/s] DEP_DRY_FLXP_BCPI = DEP_POPP_BCPI_DRY * AVO & / ( 1.e-3_fp * ThisSpc%MW_g ) & / ( AREA_CM2 * DTCHEM ) ! Save into State_Diag%DryDepChm State_Diag%DryDepChm(I,J,id_POPPBCPI) = & State_Diag%DryDepChm(I,J,id_POPPBCPI) + DEP_DRY_FLXP_BCPI ! Free pointer ThisSpc => NULL() ENDIF ENDIF !============================================================== ! %%%%% HISTORY (netCDF) DIAGNOSTICS %%%%% ! ! POPs prod/loss diagnostics [kg/s] !============================================================== IF ( State_Diag%Archive_ProdPOPGfromOH ) THEN State_Diag%ProdPOPGfromOH(I,J,L) = GROSS_OX_OH / DTCHEM ENDIF IF ( State_Diag%Archive_ProdPOPPOCPOfromO3 ) THEN State_Diag%ProdPOPPOCPOfromO3(I,J,L) = GROSS_OX_O3_OCPO / DTCHEM ENDIF IF ( State_Diag%Archive_ProdPOPPOCPIfromO3 ) THEN State_Diag%ProdPOPPOCPIfromO3(I,J,L) = GROSS_OX_O3_OCPI / DTCHEM ENDIF IF ( State_Diag%Archive_ProdPOPPBCPOfromO3 ) THEN State_Diag%ProdPOPPBCPOfromO3(I,J,L) = GROSS_OX_O3_BCPO / DTCHEM ENDIF IF ( State_Diag%Archive_ProdPOPPBCPIfromO3 ) THEN State_Diag%ProdPOPPBCPIfromO3(I,J,L) = GROSS_OX_O3_BCPI / DTCHEM ENDIF IF ( State_Diag%Archive_ProdPOPPOCPOfromNO3 ) THEN State_Diag%ProdPOPPOCPOfromNO3(I,J,L) = GROSS_OX_NO3_OCPO / DTCHEM ENDIF IF ( State_Diag%Archive_ProdPOPPOCPIfromNO3 ) THEN State_Diag%ProdPOPPOCPIfromNO3(I,J,L) = GROSS_OX_NO3_OCPI / DTCHEM ENDIF IF ( State_Diag%Archive_ProdPOPPBCPOfromNO3 ) THEN State_Diag%ProdPOPPBCPOfromNO3(I,J,L) = GROSS_OX_O3_BCPO / DTCHEM ENDIF IF ( State_Diag%Archive_ProdPOPPBCPIfromNO3 ) THEN State_Diag%ProdPOPPBCPIfromNO3(I,J,L) = GROSS_OX_NO3_BCPI / DTCHEM ENDIF ENDDO ENDDO ENDDO ! Free pointer Spc => NULL() END SUBROUTINE CHEM_POPGP !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: rxn_ox_nodep ! ! !DESCRIPTION: Subroutine RXN\_OX\_NODEP calculates new mass of POPG for given ! oxidation rates, without any deposition. This is for the free troposphere, or ! simulations with deposition turned off. (clf, 1/27/11, based on ! RXN\_REDOX\_NODEP in mercury\_mod.F90). !\\ !\\ ! !INTERFACE: ! SUBROUTINE RXN_OX_NODEP( OLD_POPG, K_OX, E_KOX_T, NEW_POPG, GROSS_OX ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: OLD_POPG REAL(fp), INTENT(IN) :: K_OX REAL(fp), INTENT(IN) :: E_KOX_T ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: NEW_POPG REAL(fp), INTENT(OUT) :: GROSS_OX ! ! !REVISION HISTORY: ! 27 January 2011 - CL Friedman - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC !================================================================= ! RXN_OX_NODEP begins here! !================================================================= ! Oxidation IF (K_OX < SMALLNUM ) THEN GROSS_OX = 0e+0_fp NEW_POPG = OLD_POPG ELSE ! New concentration of POPG NEW_POPG = OLD_POPG * E_KOX_T ! Gross oxidation GROSS_OX = OLD_POPG - NEW_POPG GROSS_OX = MAX( GROSS_OX, 0e+0_fp ) ENDIF END SUBROUTINE RXN_OX_NODEP !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !----------------------------------------------------------------------------- !BOP ! ! !IROUTINE: rxn_ox_withdep ! ! !DESCRIPTION: Subroutine RXN\_OX\_WITHDEP calculates new mass of POPG for ! given rates of oxidation and deposition. This is for the boundary layer. ! (clf, 1/27/11, based on RXN\_REDOX\_NODEP in mercury\_mod.F90). !\\ !\\ ! !INTERFACE: ! SUBROUTINE RXN_OX_WITHDEP( OLD_POPG, K_OX, K_DEPG, DT, E_KOX_T, & NEW_POPG, GROSS_OX, DEP_POPG ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: OLD_POPG REAL(fp), INTENT(IN) :: DT REAL(fp), INTENT(IN) :: K_OX REAL(fp), INTENT(IN) :: K_DEPG REAL(fp), INTENT(IN) :: E_KOX_T ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: NEW_POPG REAL(fp), INTENT(OUT) :: GROSS_OX REAL(fp), INTENT(OUT) :: DEP_POPG ! ! !REVISION HISTORY: ! 27 January 2011 - CL Friedman - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) :: E_KDEPG_T REAL(fp) :: NEWPOPG_OX REAL(fp) :: NEWPOPG_DEP !================================================================= ! RXN_OX_WITHDEP begins here! !================================================================= ! Precompute exponential factor for deposition [dimensionless] E_KDEPG_T = EXP( -K_DEPG * DT ) IF (K_OX < SMALLNUM) THEN !================================================================= ! No Chemistry, Deposition only !================================================================= ! New mass of POPG [kg] NEW_POPG = OLD_POPG * E_KDEPG_T ! Oxidation of POPG [kg] GROSS_OX = 0e+0_fp ! Deposited POPG [kg] DEP_POPG = OLD_POPG - NEW_POPG ELSE !================================================================= ! Oxidation and Deposition !================================================================= ![POPG](t) = [POPG](0) exp( -(kOx + kDPOPG) t) !Ox(t) = ( [POPG](0) - [POPG](t) ) * kOx / ( kOx + kDPOPG ) !Dep_POPG(t) = ( [POPG](0) - [POPG](t) - Ox(t) ) ! New concentration of POPG [kg] NEW_POPG = OLD_POPG * E_KOX_T * E_KDEPG_T ! Gross oxidized gas phase mass [kg] GROSS_OX = ( OLD_POPG - NEW_POPG ) * K_OX / ( K_OX + K_DEPG ) GROSS_OX = MAX( GROSS_OX, 0e+0_fp ) ! POPG deposition [kg] DEP_POPG = ( OLD_POPG - NEW_POPG - GROSS_OX ) DEP_POPG = MAX( DEP_POPG, 0e+0_fp ) ENDIF END SUBROUTINE RXN_OX_WITHDEP !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: no_rxn_withdep ! ! !DESCRIPTION: Subroutine NO\_RXN\_WITHDEP calculates new mass of POPP for ! given rate of deposition. No oxidation of POPP. This is for the boundary ! layer. (clf, 2/9/11) !\\ !\\ ! !INTERFACE: ! SUBROUTINE NO_RXN_WITHDEP( OLD_POPP, K_DEPP, DT, NEW_POPP, DEP_POPP ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: OLD_POPP REAL(fp), INTENT(IN) :: K_DEPP REAL(fp), INTENT(IN) :: DT ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: NEW_POPP REAL(fp), INTENT(OUT) :: DEP_POPP ! ! !REVISION HISTORY: ! 9 February 2011 - CL Friedman - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) :: E_KDEPP_T !================================================================= ! NO_RXN_WITHDEP begins here! !================================================================= ! Precompute exponential factors [dimensionless] E_KDEPP_T = EXP( -K_DEPP * DT ) !================================================================= ! No Chemistry, Deposition only !================================================================= ! New mass of POPP [kg] NEW_POPP = OLD_POPP * E_KDEPP_T ! POPP deposition [kg] DEP_POPP = OLD_POPP - NEW_POPP DEP_POPP = MAX( DEP_POPP, 0e+0_fp ) END SUBROUTINE NO_RXN_WITHDEP !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: get_oh ! ! !DESCRIPTION: Function GET\_OH returns monthly mean OH and imposes a diurnal ! variation. !\\ !\\ ! !INTERFACE: ! FUNCTION GET_OH( I, J, L, State_Met ) RESULT( OH_MOLEC_CM3 ) ! ! !USES: ! USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_TS_CHEM ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I ! Longitude index INTEGER, INTENT(IN) :: J ! Latitude index INTEGER, INTENT(IN) :: L ! Level index TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !RETURN VALUE: ! REAL(fp) :: OH_MOLEC_CM3 ! OH conc [molec/cm3] ! ! !REVISION HISTORY: ! 03 Feb 2011 - CL Friedman - Initial Version, copied from mercury_mod.f ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC !================================================================= ! GET_OH begins here! !================================================================= ! Test for sunlight... IF ( State_Met%SUNCOS(I,J) > 0e+0_fp .and. TCOSZ(I,J) > 0e+0_fp ) THEN ! OH from HEMCO is in mol/mol, convert to molec/cm3 OH_MOLEC_CM3 = OH(I,J,L) * State_Met%AIRNUMDEN(I,J,L) ! Impose a diurnal variation on OH during the day OH_MOLEC_CM3 = OH_MOLEC_CM3 * & ( State_Met%SUNCOS(I,J) / TCOSZ(I,J) ) * & ( 86400e+0_fp / GET_TS_CHEM() ) ! Make sure OH is not negative OH_MOLEC_CM3 = MAX( OH_MOLEC_CM3, 0e+0_fp ) ELSE ! At night, OH goes to zero OH_MOLEC_CM3 = 0e+0_fp ENDIF END FUNCTION GET_OH !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ohno3time ! ! !DESCRIPTION: Subroutine OHNO3TIME computes the sum of cosine of the solar ! zenith angle over a 24 hour day, as well as the total length of daylight. ! This is needed to scale the offline OH and NO3 concentrations. ! (rjp, bmy, 12/16/02, 12/8/04) !\\ !\\ ! !INTERFACE: ! SUBROUTINE OHNO3TIME( State_Grid ) ! ! !USES: ! USE State_Grid_Mod, ONLY : GrdState USE TIME_MOD, ONLY : GET_NHMSb, GET_ELAPSED_SEC USE TIME_MOD, ONLY : GET_TS_CHEM, GET_DAY_OF_YEAR, GET_GMT ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !REVISION HISTORY: ! 20 Sep 2010 - N.E. Selin - Initial Version for POPS_MOD ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! LOGICAL, SAVE :: FIRST = .TRUE. INTEGER :: I, J, L, N, NT, NDYSTEP REAL(fp) :: A0, A1, A2, A3, B1, B2, B3 REAL(fp) :: LHR0, R, AHR, DEC, TIMLOC, YMID_R REAL(fp) :: SUNTMP(State_Grid%NX,State_Grid%NY) !================================================================= ! OHNO3TIME begins here! !================================================================= ! Solar declination angle (low precision formula, good enough for us): A0 = 0.006918 A1 = 0.399912 A2 = 0.006758 A3 = 0.002697 B1 = 0.070257 B2 = 0.000907 B3 = 0.000148 R = 2.* PI * float( GET_DAY_OF_YEAR() - 1 ) / 365. DEC = A0 - A1*cos( R) + B1*sin( R) & - A2*cos(2*R) + B2*sin(2*R) & - A3*cos(3*R) + B3*sin(3*R) LHR0 = int(float( GET_NHMSb() )/10000.) ! Only do the following at the start of a new day IF ( FIRST .or. GET_GMT() < 1e-5 ) THEN ! Zero arrays TTDAY(:,:) = 0e+0_fp TCOSZ(:,:) = 0e+0_fp COSZM(:,:) = 0e+0_fp ! NDYSTEP is # of chemistry time steps in this day NDYSTEP = ( 24 - INT( GET_GMT() ) ) * 3600 / GET_TS_CHEM() ! NT is the elapsed time [s] since the beginning of the run NT = GET_ELAPSED_SEC() ! Loop forward through NDYSTEP "fake" timesteps for this day DO N = 1, NDYSTEP ! Zero SUNTMP array SUNTMP = 0e+0_fp ! Loop over surface grid boxes !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, YMID_R, TIMLOC, AHR ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Grid box latitude center [radians] YMID_R = State_Grid%YMid_R( I, J ) TIMLOC = real(LHR0) + real(NT)/3600.0 + & State_Grid%XMid( I, J )/15.0 DO WHILE (TIMLOC .lt. 0) TIMLOC = TIMLOC + 24.0 ENDDO DO WHILE (TIMLOC .gt. 24.0) TIMLOC = TIMLOC - 24.0 ENDDO AHR = abs(TIMLOC - 12.) * 15.0 * PI_180 !=========================================================== ! The cosine of the solar zenith angle (SZA) is given by: ! ! cos(SZA) = sin(LAT)*sin(DEC) + cos(LAT)*cos(DEC)*cos(AHR) ! ! where LAT = the latitude angle, ! DEC = the solar declination angle, ! AHR = the hour angle, all in radians. ! ! If SUNCOS < 0, then the sun is below the horizon, and ! therefore does not contribute to any solar heating. !=========================================================== ! Compute Cos(SZA) SUNTMP(I,J) = sin(YMID_R) * sin(DEC) + & cos(YMID_R) * cos(DEC) * cos(AHR) ! TCOSZ is the sum of SUNTMP at location (I,J) ! Do not include negative values of SUNTMP TCOSZ(I,J) = TCOSZ(I,J) + MAX( SUNTMP(I,J), 0e+0_fp ) ! COSZM is the peak value of SUMTMP during a day at (I,J) ! (rjp, bmy, 3/30/04) COSZM(I,J) = MAX( COSZM(I,J), SUNTMP(I,J) ) ! TTDAY is the total daylight time at location (I,J) IF ( SUNTMP(I,J) > 0e+0_fp ) THEN TTDAY(I,J) = TTDAY(I,J) + DBLE( GET_TS_CHEM() ) * 60e+0_fp ENDIF ENDDO ENDDO !$OMP END PARALLEL DO ! Increment elapsed time [sec] NT = NT + GET_TS_CHEM() ENDDO ! Reset first-time flag FIRST = .FALSE. ENDIF END SUBROUTINE OHNO3TIME !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: init_pops ! ! !DESCRIPTION: Subroutine INIT\_POPS allocates and zeroes all module arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE INIT_POPS( Input_Opt, State_Chm, State_Grid, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Chm_Mod, ONLY : Ind_ USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 20 Sep 2010 - N.E. Selin - Initial Version based on INIT_MERCURY ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Assume success RC = GC_SUCCESS ! Exit if this is a dry-run IF ( Input_Opt%DryRun ) RETURN !================================================================= ! Allocate and initialize arrays ! NOTE: These might have to go into state_chm_mod.F90 eventually !================================================================= ALLOCATE( COSZM( State_Grid%NX, State_Grid%NY ), STAT=RC ) CALL GC_CheckVar( 'pops_mod.F90:COSZM', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN COSZM = 0.0_fp ALLOCATE( TCOSZ( State_Grid%NX, State_Grid%NY ), STAT=RC ) CALL GC_CheckVar( 'pops_mod.F90:TCOSZ', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN TCOSZ = 0.0_fp ALLOCATE( TTDAY( State_Grid%NX, State_Grid%NY ), STAT=RC ) CALL GC_CheckVar( 'pops_mod.F90:TTDAY', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN TTDAY = 0.0_fp ! Now always allocate ZERO_DVEL. This is needed because the calls ! to CHEM_POPGP have been modified in the CHEMPOPS routine above. ! (bmy, 3/10/15) ALLOCATE( ZERO_DVEL( State_Grid%NX, State_Grid%NY ), STAT=RC ) CALL GC_CheckVar( 'pops_mod.F90:ZERO_DVEL', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ZERO_DVEL = 0.0_fp !================================================================= ! Initialize species ID and drydep ID flags !================================================================= id_POPG = Ind_('POPG' ) dd_POPG = Ind_('POPG', 'D') IF ( id_POPG < 0 ) THEN id_POPG = Ind_('POPG_BaP') dd_POPG = Ind_('POPG_BaP','D') ENDIF IF ( id_POPG < 0 ) THEN id_POPG = Ind_('POPG_PHE') dd_POPG = Ind_('POPG_PHE','D') ENDIF IF ( id_POPG < 0 ) THEN id_POPG = Ind_('POPG_PYR') dd_POPG = Ind_('POPG_PYR','D') ENDIF id_POPPOCPO = Ind_('POPPOCPO' ) dd_POPP_OCPO = Ind_('POPPOCPO','D') IF ( id_POPPOCPO < 0 ) THEN id_POPPOCPO = Ind_('POPPOCPO_BaP') dd_POPP_OCPO = Ind_('POPPOCPO_BaP','D') ENDIF IF ( id_POPPOCPO < 0 ) THEN id_POPPOCPO = Ind_('POPPOCPO_PHE') dd_POPP_OCPO = Ind_('POPPOCPO_PHE','D') ENDIF IF ( id_POPPOCPO < 0 ) THEN id_POPPOCPO = Ind_('POPPOCPO_PYR') dd_POPP_OCPO = Ind_('POPPOCPO_PYR','D') ENDIF id_POPPBCPO = Ind_('POPPBCPO' ) dd_POPP_BCPO = Ind_('POPPBCPO','D') IF ( id_POPPBCPO < 0 ) THEN id_POPPBCPO = Ind_('POPPBCPO_BaP') dd_POPP_BCPO = Ind_('POPPBCPO_BaP','D') ENDIF IF ( id_POPPBCPO < 0 ) THEN id_POPPBCPO = Ind_('POPPBCPO_PHE') dd_POPP_BCPO = Ind_('POPPBCPO_PHE','D') ENDIF IF ( id_POPPBCPO < 0 ) THEN id_POPPBCPO = Ind_('POPPBCPO_PYR') dd_POPP_BCPO = Ind_('POPPBCPO_PYR','D') ENDIF id_POPPOCPI = Ind_('POPPOCPI' ) dd_POPP_OCPI = Ind_('POPPOCPI','D') IF ( id_POPPOCPI < 0 ) THEN id_POPPOCPI = Ind_('POPPOCPI_BaP') dd_POPP_OCPI = Ind_('POPPOCPI_BaP','D') ENDIF IF ( id_POPPOCPI < 0 ) THEN id_POPPOCPI = Ind_('POPPOCPI_PHE') dd_POPP_OCPI = Ind_('POPPOCPI_PHE','D') ENDIF IF ( id_POPPOCPI < 0 ) THEN id_POPPOCPI = Ind_('POPPOCPI_PYR') dd_POPP_OCPI = Ind_('POPPOCPI_PYR','D') ENDIF id_POPPBCPI = Ind_('POPPBCPI' ) dd_POPP_BCPI = Ind_('POPPBCPI','D') IF ( id_POPPBCPI < 0 ) THEN id_POPPBCPI = Ind_('POPPBCPI_BaP') dd_POPP_BCPI = Ind_('POPPBCPI_BaP','D') ENDIF IF ( id_POPPBCPI < 0 ) THEN id_POPPBCPI = Ind_('POPPBCPI_PHE') dd_POPP_BCPI = Ind_('POPPBCPI_PHE','D') ENDIF IF ( id_POPPBCPI < 0 ) THEN id_POPPBCPI = Ind_('POPPBCPI_PYR') dd_POPP_BCPI = Ind_('POPPBCPI_PYR','D') ENDIF END SUBROUTINE INIT_POPS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: cleanup_pops ! ! !DESCRIPTION: Subroutine CLEANUP\_POPS deallocates all module arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CLEANUP_POPS( RC ) ! ! !USES: ! USE ErrCode_Mod ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 20 September 2010 - N.E. Selin - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! Assume success RC = GC_SUCCESS ! Deallocate variables IF ( ALLOCATED( COSZM ) ) THEN DEALLOCATE( COSZM, STAT=RC ) CALL GC_CheckVar( 'pops_mod.F90:COSZM', 2, RC ) RETURN ENDIF IF ( ALLOCATED( TCOSZ ) ) THEN DEALLOCATE( TCOSZ, STAT=RC ) CALL GC_CheckVar( 'pops_mod.F90:TCOSZ', 2, RC ) RETURN ENDIF IF ( ALLOCATED( TTDAY ) ) THEN DEALLOCATE( TTDAY, STAT=RC ) CALL GC_CheckVar( 'pops_mod.F90:TTDAY', 2, RC ) RETURN ENDIF IF ( ALLOCATED( ZERO_DVEL ) ) THEN DEALLOCATE( ZERO_DVEL, STAT=RC ) CALL GC_CheckVar( 'pops_mod.F90:ZERO_DVEL', 2, RC ) RETURN ENDIF ! Free pointers IF ( ASSOCIATED( C_OC ) ) C_OC => NULL() IF ( ASSOCIATED( C_BC ) ) C_BC => NULL() IF ( ASSOCIATED( O3 ) ) O3 => NULL() IF ( ASSOCIATED( OH ) ) OH => NULL() END SUBROUTINE CLEANUP_POPS !EOC END MODULE POPS_MOD ================================================ FILE: GeosCore/rpmares_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: rpmaresmod.F90 ! ! !DESCRIPTION: Module RPMARES\_MOD contains the RPMARES routines, which compute ! the aerosol thermodynamical equilibrium. (rjp, bdf, bmy, 11/6/02, 6/11/08) !\\ !\\ ! !INTERFACE: ! MODULE RPMARES_MOD ! ! !USES: ! USE PRECISION_MOD ! For GEOS-Chem Precision (fp, f4, f8) IMPLICIT NONE ! Make everything PUBLIC PUBLIC ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: HNO3_sav PRIVATE :: SET_HNO3, RPMARES, AWATER PRIVATE :: POLY4, POLY6, CUBIC, ACTCOF PRIVATE :: INIT_RPMARES ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !PRIVATE DATA MEMBERS: ! ! Array to save evolving HNO3 concentrations REAL(fp), ALLOCATABLE :: HNO3_sav(:,:,:) CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Do_RPMARES ! ! !DESCRIPTION: Subroutine DO_RPMARES is the interface between the GEOS-CHEM ! model and the aerosol thermodynamical equilibrium routine in "rpmares.f" ! (rjp, bdf, bmy, 12/17/01, 4/10/08) !\\ !\\ ! !INTERFACE: ! SUBROUTINE DO_RPMARES( Input_Opt, State_Chm, State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD, ONLY : ERROR_STOP USE HCO_Utilities_GC_Mod, ONLY : HCO_GC_EvalFld USE Input_Opt_Mod, ONLY : OptInput USE PhysConstants, ONLY : AIRMW USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Chm_Mod, ONLY : Ind_ USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_MONTH USE TIME_MOD, ONLY : ITS_A_NEW_MONTH USE TIME_MOD, ONLY : GET_ELAPSED_SEC ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! (1 ) Bundled into "rpmares_mod.f" (bmy, 11/15/02) ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! concentration lower limit [ug/m3 ] REAL(fp), PARAMETER :: CONMIN = 1.0e-30_fp ! ! !LOCAL VARIABLES: ! ! SAVEd scalars LOGICAL, SAVE :: FIRST = .TRUE. LOGICAL, SAVE :: USE_HNO3_FROM_HEMCO = .FALSE. INTEGER, SAVE :: id_SO4, id_NH3, id_NH4, id_NIT, id_HNO3 INTEGER, SAVE :: LASTMONTH = -99 ! scalars INTEGER :: I, J, L, N REAL(fp) :: ARH, ATEMP, AVOL, SO4, ASO4, ANO3 REAL(fp) :: AH2O, ANH4, GNH3, GNO3, AHSO4 REAL(fp) :: HNO3_UGM3, HNO3_MW_g CHARACTER(LEN=255) :: X, ErrMsg, ThisLoc ! Pointers TYPE(SpcConc), POINTER :: Spc(:) ! Local array for HNO3 from HEMCO REAL(fp) :: HCO_HNO3(State_Grid%NX,State_Grid%NY,State_Grid%NZ) !================================================================= ! DO_RPMARES begins here! !================================================================= ! Assume success RC = GC_SUCCESS ! Error check tracer ID's X = 'DO_RPMARES (rpmares_mod.F90)' ! Initialize on first call IF ( FIRST ) THEN ! Define advected species ID flags id_SO4 = Ind_('SO4', 'A') id_NH3 = Ind_('NH3', 'A') id_NH4 = Ind_('NH4', 'A') id_NIT = Ind_('NIT', 'A') id_HNO3 = Ind_('HNO3','A') IF ( id_SO4 == 0 ) CALL ERROR_STOP( 'id_SO4 is undefined!', X ) IF ( id_NH3 == 0 ) CALL ERROR_STOP( 'id_NH3 is undefined!', X ) IF ( id_NH4 == 0 ) CALL ERROR_STOP( 'id_NH4 is undefined!', X ) IF ( id_NIT == 0 ) CALL ERROR_STOP( 'id_NIT is undefined!', X ) ! Initialize arrays CALL INIT_RPMARES( State_Grid ) ! Check to see if we need to get HNO3 from HEMCO IF ( id_HNO3 == 0 ) THEN IF ( Input_Opt%ITS_A_FULLCHEM_SIM ) THEN ! Coupled simulation: stop w/ error since we need HNO3 CALL ERROR_STOP( 'id_HNO3 is not defined!', X ) ELSE IF ( Input_Opt%ITS_AN_AEROSOL_SIM ) THEN ! Offline simulation: get HNO3 from HEMCO (mps, 9/23/14) USE_HNO3_FROM_HEMCO = .TRUE. ELSE ! Otherwise stop w/ error CALL ERROR_STOP( 'Invalid simulation type !', X ) ENDIF ENDIF ! Reset first-time flag FIRST = .FALSE. ENDIF ! Evaluate offline global HNO3 from HEMCO is using. Doing this every ! timestep allows usage of HEMCO's scaling and masking functionality IF ( USE_HNO3_FROM_HEMCO ) THEN CALL HCO_GC_EvalFld( Input_Opt, State_Grid, 'GLOBAL_HNO3', HCO_HNO3, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'GLOBAL_HNO3 not found in HEMCO data list!' CALL GC_Error( ErrMsg, RC, 'rpmares_mod.F90: Do_rpmares' ) RETURN ENDIF ENDIF ! Initialize GEOS-Chem tracer array [kg] from Chemistry State object Spc => State_Chm%Species !================================================================= ! Get equilibrium values of water, ammonium and nitrate content !================================================================= !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, ATEMP, ARH, AVOL, SO4 ) & !$OMP PRIVATE( ANH4, ANO3, GNH3, GNO3, ASO4, AHSO4, AH2O ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Skip if we are outside the troposphere (bmy, 4/3/08) IF ( State_Met%InStratMeso(I,J,L) ) CYCLE ! Temperature [K], RH [unitless], and volume [m3] ATEMP = State_Met%T(I,J,L) ARH = State_Met%RH(I,J,L) * 1.e-2_fp AVOL = State_Met%AIRVOL(I,J,L) ! Convert sulfate, ammonimum, gaseous NH3, gaseous HNO3, ! and aerosol NO3 from [kg] to [ug/m3]. SO4 = MAX( Spc(id_SO4)%Conc(I,J,L) * 1.e+9_fp / AVOL, CONMIN ) GNH3 = MAX( Spc(id_NH3)%Conc(I,J,L) * 1.e+9_fp / AVOL, CONMIN ) ANH4 = MAX( Spc(id_NH4)%Conc(I,J,L) * 1.e+9_fp / AVOL, CONMIN ) ANO3 = MAX( Spc(id_NIT)%Conc(I,J,L) * 1.e+9_fp / AVOL, CONMIN ) ! For coupled simulations, use HNO3 tracer from Spc array. ! For offline simulations, call GET_HNO3, which lets HNO3 ! conc's evolve, but relaxes to monthly mean values every 3h. IF ( id_HNO3 > 0 ) THEN GNO3 = MAX( Spc(id_HNO3)%Conc(I,J,L) * 1.e+9_fp / AVOL, CONMIN ) ELSE ! Offline simulation ! Relax to monthly mean HNO3 concentrations every 3 hours ! Otherwise just return the concentration in HNO3_sav IF ( MOD( GET_ELAPSED_SEC(), 10800 ) == 0 ) THEN ! HNO3 is in v/v (from HEMCO), convert to ug/m3 HNO3_MW_g = State_Chm%SpcData(id_HNO3)%Info%MW_g HNO3_UGM3 = HCO_HNO3(I,J,L) * State_Met%AIRDEN(I,J,L) & * 1.e+9_fp / ( AIRMW / HNO3_MW_g ) ELSE HNO3_UGM3 = HNO3_sav(I,J,L) ENDIF GNO3 = MAX( HNO3_UGM3, CONMIN ) ENDIF !============================================================== ! Call the RPMARES code with the following quantities: ! ! SO4 : Total sulfate as sulfate [ug/m3] ! GNO3 : Nitric Acid vapor (actually gaseous HNO3) [ug/m3] ! GNH3 : Gas phase ammonia [ug/m3] ! ARH : Fractional relative humidity [unitless] ! ATEMP : Temperature [K] ! ASO4 : Aerosol phase sulfate [ug/m3] ! AHSO4 : Aerosol phase in bisulfate [ug/m3] ! ANO3 : Aerosol phase nitrate [ug/m3] ! AH2O : Aerosol phase water [ug/m3] ! ANH4 : Aerosol phase ammonium [ug/m3] !============================================================== CALL RPMARES( SO4, GNO3, GNH3, ARH, ATEMP, & ASO4, AHSO4, ANO3, AH2O, ANH4 ) ! Convert modified concentrations from [ug/m3] to [kg] ! for ammonium, ammonia, nitric acid (g), and Nitrate ! NOTE: We don't modify the total sulfate mass. Spc(id_NH3)%Conc(I,J,L) = MAX( GNH3 * AVOL * 1.e-9_fp, CONMIN ) Spc(id_NH4)%Conc(I,J,L) = MAX( ANH4 * AVOL * 1.e-9_fp, CONMIN ) Spc(id_NIT)%Conc(I,J,L) = MAX( ANO3 * AVOL * 1.e-9_fp, CONMIN ) ! For coupled runs, convert HNO3 [kg] and store in Spc. ! For offline runs, save evolving HNO3 [ug/m3] for next timestep. IF ( id_HNO3 > 0 ) THEN Spc(id_HNO3)%Conc(I,J,L) = MAX( GNO3 * AVOL * 1.e-9_fp, CONMIN ) ELSE CALL SET_HNO3( I, J, L, GNO3 ) ENDIF ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ! Free pointer Spc => NULL() END SUBROUTINE DO_RPMARES !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Set_HNO3 ! ! !DESCRIPTION: Subroutine SET_HNO3 stores the modified HNO3 value back into ! the HNO3_sav array for the next timestep. (bmy, 12/16/02) !\\ !\\ ! !INTERFACE: ! SUBROUTINE SET_HNO3( I, J, L, HNO3_UGM3 ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I, J, L REAL(fp), INTENT(IN) :: HNO3_UGM3 ! ! !REVISION HISTORY: ! 16 Dec 2002 - R. Park & R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC HNO3_sav(I,J,L) = HNO3_UGM3 END SUBROUTINE SET_HNO3 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: rpmares ! ! !DESCRIPTION: Subroutine RPMARES calculates the chemical composition of a ! sulfate\/nitrate\/ammonium\/water aerosol based on equilibrium ! thermodynamics. !\\ !\\ ! !INTERFACE: ! SUBROUTINE RPMARES( SO4, GNO3, GNH3, RH, TEMP, ASO4, AHSO4, ANO3, AH2O, ANH4 ) ! ! !USES: ! USE ERROR_MOD, ONLY : GEOS_CHEM_STOP, IS_SAFE_DIV ! ! !INPUT PARAMETERS: ! REAL(fp) :: SO4 ! Total sulfate in micrograms / m**3 REAL(fp) :: GNO3 ! Gas-phase nitric acid in micrograms / m**3 REAL(fp) :: GNH3 ! Gas-phase ammonia in micrograms / m**3 REAL(fp) :: RH ! Fractional relative humidity REAL(fp) :: TEMP ! Temperature in Kelvin REAL(fp) :: ASO4 ! Aerosol sulfate in micrograms / m**3 REAL(fp) :: AHSO4 ! Aerosol bisulfate in micrograms / m**3 REAL(fp) :: ANO3 ! Aerosol nitrate in micrograms / m**3 REAL(fp) :: AH2O ! Aerosol liquid water content water in ! micrograms / m**3 REAL(fp) :: ANH4 ! Aerosol ammonium in micrograms / m**3 ! ! !REMARKS: ! This code considers two regimes depending upon the molar ratio ! of ammonium to sulfate. ! ! For values of this ratio less than 2,the code solves a cubic for ! hydrogen ion molality, H+, and if enough ammonium and liquid ! water are present calculates the dissolved nitric acid. For molal ! ionic strengths greater than 50, nitrate is assumed not to be present. ! ! For values of the molar ratio of 2 or greater, all sulfate is assumed ! to be ammonium sulfate and a calculation is made for the presence of ! ammonium nitrate. ! ! The Pitzer multicomponent approach is used in subroutine ACTCOF to ! obtain the activity coefficients. Abandoned -7/30/97 FSB ! ! The Bromley method of calculating the multicomponent activity coefficients ! is used in this version 7/30/97 SJR/FSB ! ! The calculation of liquid water ! is done in subroutine water. Details for both calculations are given ! in the respective subroutines. ! ! Based upon MARS due to ! P. Saxena, A.B. Hudischewskyj, C. Seigneur, and J.H. Seinfeld, ! Atmos. Environ., vol. 20, Number 7, Pages 1471-1483, 1986. ! ! and SCAPE due to ! Kim, Seinfeld, and Saxeena, Aerosol Sience and Technology, ! Vol 19, number 2, pages 157-181 and pages 182-198, 1993. ! ! NOTE: All concentrations supplied to this subroutine are TOTAL ! over gas and aerosol phases ! ! !REVISION HISTORY: ! Who When Detailed description of changes ! --------- -------- ------------------------------------------- ! S.Roselle 11/10/87 Received the first version of the MARS code ! S.Roselle 12/30/87 Restructured code ! S.Roselle 2/12/88 Made correction to compute liquid-phase ! concentration of H2O2. ! S.Roselle 5/26/88 Made correction as advised by SAI, for ! computing H+ concentration. ! S.Roselle 3/1/89 Modified to operate with EM2 ! S.Roselle 5/19/89 Changed the maximum ionic strength from ! 100 to 20, for numerical stability. ! F.Binkowski 3/3/91 Incorporate new method for ammonia rich case ! using equations for nitrate budget. ! F.Binkowski 6/18/91 New ammonia poor case which ! omits letovicite. ! F.Binkowski 7/25/91 Rearranged entire code, restructured ! ammonia poor case. ! F.Binkowski 9/9/91 Reconciled all cases of ASO4 to be output ! as SO4-- ! F.Binkowski 12/6/91 Changed the ammonia defficient case so that ! there is only neutralized sulfate (ammonium ! sulfate) and sulfuric acid. ! F.Binkowski 3/5/92 Set RH bound on AWAS to 37 % to be in agreement ! with the Cohen et al. (1987) maximum molality ! of 36.2 in Table III.( J. Phys Chem (91) page ! 4569, and Table IV p 4587.) ! F.Binkowski 3/9/92 Redid logic for ammonia defficient case to remove ! possibility for denomenator becoming zero; ! this involved solving for H+ first. ! Note that for a relative humidity ! less than 50%, the model assumes that there is no ! aerosol nitrate. ! F.Binkowski 4/17/95 Code renamed ARES (AeRosol Equilibrium System) ! Redid logic as follows ! 1. Water algorithm now follows Spann & Richardson ! 2. Pitzer Multicomponent method used ! 3. Multicomponent practical osmotic coefficient ! use to close iterations. ! 4. The model now assumes that for a water ! mass fraction WFRAC less than 50% there is ! no aerosol nitrate. ! F.Binkowski 7/20/95 Changed how nitrate is calculated in ammonia poor ! case, and changed the WFRAC criterion to 40%. ! For ammonium to sulfate ratio less than 1.0 ! all ammonium is aerosol and no nitrate aerosol ! exists. ! F.Binkowski 7/21/95 Changed ammonia-ammonium in ammonia poor case to ! allow gas-phase ammonia to exist. ! F.Binkowski 7/26/95 Changed equilibrium constants to values from ! Kim et al. (1993) ! F.Binkowski 6/27/96 Changed to new water format ! F.Binkowski 7/30/97 Changed to Bromley method for multicomponent ! activity coefficients. The binary activity ! coefficients ! are the same as the previous version ! F.Binkowski 8/1/97 Changed minimum sulfate from 0.0 to 1.0e-6 i.e. ! 1 picogram per cubic meter ! F.Binkowski 2/23/98 Changes to code made by Ingmar Ackermann to ! deal with precision problems on workstations ! incorporated in to this version. Also included ! are his improved descriptions of variables. ! F. Binkowski 8/28/98 changed logic as follows: ! If iterations fail, initial values of nitrate ! are retained. ! Total mass budgets are changed to account for gas ! phase returned. ! F.Binkowski 10/01/98 Removed setting RATIO to 5 for low to ! to zero sulfate sulfate case. ! F.Binkowski 01/10/2000 reconcile versions ! ! F.Binkowski 05/17/2000 change to logic for calculating RATIO ! F.Binkowski 04/09/2001 change for very low values of RATIO, ! RATIO < 0.5, no iterative calculations are done ! in low ammonia case a MAX(1.0e-10, MSO4) IS ! applied, and the iteration count is ! reduced to fifty for each iteration loop. ! R. Yantosca 09/25/2002 Bundled into "rpmares_mod.f". Declared all REALs ! as REAL(fp)'s. Cleaned up comments. Also now force ! double precision explicitly with "D" exponents. ! P. Le Sager and Bug fix for low ammonia case -- prevent floating ! R. Yantosca 04/10/2008 point underflow and NaN's. ! P. Le Sager 06/10/2008 Better catch of over/underflow for low ammonia case !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! Molecular weights REAL(fp), PARAMETER :: MWNACL = 58.44277e+0_fp ! NaCl REAL(fp), PARAMETER :: MWNO3 = 62.0049e+0_fp ! NO3 REAL(fp), PARAMETER :: MWHNO3 = 63.01287e+0_fp ! HNO3 REAL(fp), PARAMETER :: MWSO4 = 96.0576e+0_fp ! SO4 REAL(fp), PARAMETER :: MWHSO4 = MWSO4 + 1.0080e+0_fp ! HSO4 REAL(fp), PARAMETER :: MH2SO4 = 98.07354e+0_fp ! H2SO4 REAL(fp), PARAMETER :: MWNH3 = 17.03061e+0_fp ! NH3 REAL(fp), PARAMETER :: MWNH4 = 18.03858e+0_fp ! NH4 REAL(fp), PARAMETER :: MWORG = 16.0e+0_fp ! Organic Species REAL(fp), PARAMETER :: MWCL = 35.453e+0_fp ! Chloride REAL(fp), PARAMETER :: MWLCT = 3.0e+0_fp * MWNH4 + & ! Letovicite 2.0e+0_fp * MWSO4 + 1.0080e+0_fp REAL(fp), PARAMETER :: MWAS = 2.0e+0_fp * MWNH4 + MWSO4 ! Amm. Sulfate REAL(fp), PARAMETER :: MWABS = MWNH4 + MWSO4 + 1.0080e+0_fp ! Amm. Bisulfate ! Minimum value of sulfate aerosol concentration REAL(fp), PARAMETER :: MINSO4 = 1.0e-6_fp / MWSO4 ! Minimum total nitrate cncentration REAL(fp), PARAMETER :: MINNO3 = 1.0e-6_fp / MWNO3 ! Force a minimum concentration REAL(fp), PARAMETER :: FLOOR = 1.0e-30_fp ! Tolerances for convergence test. NOTE: We now have made these ! parameters so they don't lose their values (phs, bmy, 4/10/08) REAL(fp), PARAMETER :: TOLER1 = 0.00001e+0_fp REAL(fp), PARAMETER :: TOLER2 = 0.001e+0_fp ! ! !LOCAL VARIABLES: ! INTEGER :: IRH ! Index set to percent relative humidity INTEGER :: NITR ! Number of iterations for activity ! coefficients INTEGER :: NNN ! Loop index for iterations INTEGER :: NR ! Number of roots to cubic equation for ! H+ ciaprecision REAL(fp) :: A0 ! Coefficients and roots of REAL(fp) :: A1 ! Coefficients and roots of REAL(fp) :: A2 ! Coefficients and roots of REAL(fp) :: AA ! Coefficients and discriminant for ! quadratic equation for ammonium nitrate REAL(fp) :: BAL ! internal variables ( high ammonia case) REAL(fp) :: BB ! Coefficients and discriminant for ! quadratic equation for ammonium nitrate REAL(fp) :: BHAT ! Variables used for ammonia solubility REAL(fp) :: CC ! Coefficients and discriminant for ! quadratic equation for ammonium nitrate REAL(fp) :: CONVT ! Factor for conversion of units REAL(fp) :: DD ! Coefficients and discriminant for ! quadratic equation for ammonium nitrate REAL(fp) :: DISC ! Coefficients and discriminant for ! quadratic equation for ammonium nitrate REAL(fp) :: EROR ! Relative error used for convergence test REAL(fp) :: FNH3 ! "Free ammonia concentration", that ! which exceeds TWOSO4 REAL(fp) :: GAMAAB ! Activity Coefficient for (NH4+, ! HSO4-)GAMS( 2,3 ) REAL(fp) :: GAMAAN ! Activity coefficient for (NH4+, NO3-) ! GAMS( 2,2 ) REAL(fp) :: GAMAHAT ! Variables used for ammonia solubility REAL(fp) :: GAMANA ! Activity coefficient for (H+ ,NO3-) ! GAMS( 1,2 ) REAL(fp) :: GAMAS1 ! Activity coefficient for (2H+, SO4--) ! GAMS( 1,1 ) REAL(fp) :: GAMAS2 ! Activity coefficient for (H+, HSO4-) ! GAMS( 1,3 ) REAL(fp) :: GAMOLD ! used for convergence of iteration REAL(fp) :: GASQD ! internal variables ( high ammonia case) REAL(fp) :: HPLUS ! Hydrogen ion (low ammonia case) (moles ! / kg water) REAL(fp) :: K1A ! Equilibrium constant for ammonia to ! ammonium REAL(fp) :: K2SA ! Equilibrium constant for ! sulfate-bisulfate (aqueous) REAL(fp) :: K3 ! Dissociation constant for ammonium ! nitrate REAL(fp) :: KAN ! Equilibrium constant for ammonium ! nitrate (aqueous) REAL(fp) :: KHAT ! Variables used for ammonia solubility REAL(fp) :: KNA ! Equilibrium constant for nitric acid ! (aqueous) REAL(fp) :: KPH ! Henry's Law Constant for ammonia REAL(fp) :: KW ! Equilibrium constant for water ! dissociation REAL(fp) :: KW2 ! Internal variable using KAN REAL(fp) :: MAN ! Nitrate (high ammonia case) (moles / ! kg water) REAL(fp) :: MAS ! Sulfate (high ammonia case) (moles / ! kg water) REAL(fp) :: MHSO4 ! Bisulfate (low ammonia case) (moles / ! kg water) REAL(fp) :: MNA ! Nitrate (low ammonia case) (moles / kg ! water) REAL(fp) :: MNH4 ! Ammonium (moles / kg water) REAL(fp) :: MOLNU ! Total number of moles of all ions REAL(fp) :: MSO4 ! Sulfate (low ammonia case) (moles / kg ! water) REAL(fp) :: PHIBAR ! Practical osmotic coefficient REAL(fp) :: PHIOLD ! Previous value of practical osmotic ! coefficient used for convergence of ! iteration REAL(fp) :: RATIO ! Molar ratio of ammonium to sulfate REAL(fp) :: RK2SA ! Internal variable using K2SA REAL(fp) :: RKNA ! Internal variables using KNA REAL(fp) :: RKNWET ! Internal variables using KNA REAL(fp) :: RR1 REAL(fp) :: RR2 REAL(fp) :: STION ! Ionic strength REAL(fp) :: T1 ! Internal variables for temperature ! corrections REAL(fp) :: T2 ! Internal variables for temperature ! corrections REAL(fp) :: T21 ! Internal variables of convenience (low ! ammonia case) REAL(fp) :: T221 ! Internal variables of convenience (low ! ammonia case) REAL(fp) :: T3 ! Internal variables for temperature ! corrections REAL(fp) :: T4 ! Internal variables for temperature ! corrections REAL(fp) :: T6 ! Internal variables for temperature ! corrections REAL(fp) :: TNH4 ! Total ammonia and ammonium in ! micromoles / meter ** 3 REAL(fp) :: TNO3 ! Total nitrate in micromoles / meter ** 3 REAL(fp) :: TSO4 ! Total sulfate in micromoles / meter ** 3 REAL(fp) :: TWOSO4 ! 2.0 * TSO4 (high ammonia case) (moles ! / kg water) REAL(fp) :: WFRAC ! Water mass fraction REAL(fp) :: WH2O ! Aerosol liquid water content (internally) ! micrograms / meter **3 on output ! internally it is 10 ** (-6) kg (water) ! / meter ** 3 ! the conversion factor (1000 g = 1 kg) ! is applied for AH2O output REAL(fp) :: WSQD ! internal variables ( high ammonia case) REAL(fp) :: XNO3 ! Nitrate aerosol concentration in ! micromoles / meter ** 3 REAL(fp) :: XXQ ! Variable used in quadratic solution REAL(fp) :: YNH4 ! Ammonium aerosol concentration in ! micromoles / meter** 3 REAL(fp) :: ZH2O ! Water variable saved in case ionic ! strength too high. REAL(fp) :: ZSO4 ! Total sulfate molality - mso4 + mhso4 ! (low ammonia case) (moles / kg water) REAL(fp) :: CAT( 2 ) ! Array for cations (1, H+); (2, NH4+) ! (moles / kg water) REAL(fp) :: AN ( 3 ) ! Array for anions (1, SO4--); (2, ! NO3-); (3, HSO4-) (moles / kg water) REAL(fp) :: CRUTES( 3 ) ! Coefficients and roots of REAL(fp) :: GAMS( 2, 3 ) ! Array of activity coefficients REAL(fp) :: TMASSHNO3 ! Total nitrate (vapor and particle) REAL(fp) :: GNO3_IN, ANO3_IN !================================================================= ! RPMARES begins here! ! convert into micromoles/m**3 !================================================================= ! For extremely low relative humidity ( less than 1% ) set the ! water content to a minimum and skip the calculation. IF ( RH .LT. 0.01 ) THEN AH2O = FLOOR RETURN ENDIF ! total sulfate concentration TSO4 = MAX( FLOOR, SO4 / MWSO4 ) ASO4 = SO4 !Cia models3 merge NH3/NH4 , HNO3,NO3 here !c *** recommended by Dr. Ingmar Ackermann ! total nitrate TNO3 = MAX( 0.0e+0_fp, ( ANO3 / MWNO3 + GNO3 / MWHNO3 ) ) ! total ammonia TNH4 = MAX( 0.0e+0_fp, ( GNH3 / MWNH3 + ANH4 / MWNH4 ) ) GNO3_IN = GNO3 ANO3_IN = ANO3 TMASSHNO3 = MAX( 0.0e+0_fp, GNO3 + ANO3 ) ! set the molar ratio of ammonium to sulfate RATIO = TNH4 / TSO4 ! validity check for negative concentration IF (TSO4 < 0.0e+0_fp .OR. TNO3 < 0.0e+0_fp .OR. TNH4 < 0.0e+0_fp) THEN PRINT*, 'TSO4 : ', TSO4 PRINT*, 'TNO3 : ', TNO3 PRINT*, 'TNH4 : ', TNH4 CALL GEOS_CHEM_STOP ENDIF ! now set humidity index IRH as a percent IRH = NINT( 100.0 * RH ) ! now set humidity index IRH as a percent IRH = MAX( 1, IRH ) IRH = MIN( 99, IRH ) !================================================================= ! Specify the equilibrium constants at correct temperature. ! Also change units from ATM to MICROMOLE/M**3 (for KAN, KPH, and K3 ) ! Values from Kim et al. (1993) except as noted. ! Equilibrium constant in Kim et al. (1993) ! K = K0 exp[ a(T0/T -1) + b(1+log(T0/T)-T0/T) ], T0 = 298.15 K ! K = K0 EXP[ a T3 + b T4 ] in the code here. !================================================================= CONVT = 1.0e+0_fp / ( 0.082e+0_fp * TEMP ) T6 = 0.082e-9_fp * TEMP T1 = 298.0e+0_fp / TEMP T2 = LOG( T1 ) T3 = T1 - 1.0e+0_fp T4 = 1.0e+0_fp + T2 - T1 !================================================================= ! Equilibrium Relation ! ! HSO4-(aq) = H+(aq) + SO4--(aq) ; K2SA ! NH3(g) = NH3(aq) ; KPH ! NH3(aq) + H2O(aq) = NH4+(aq) + OH-(aq) ; K1A ! HNO3(g) = H+(aq) + NO3-(aq) ; KNA ! NH3(g) + HNO3(g) = NH4NO3(s) ; K3 ! H2O(aq) = H+(aq) + OH-(aq) ; KW !================================================================= KNA = 2.511e+06_fp * EXP( 29.17e+0_fp * T3 + 16.83e+0_fp * T4 ) * T6 K1A = 1.805e-05_fp * EXP( -1.50e+0_fp * T3 + 26.92e+0_fp * T4 ) K2SA = 1.015e-02_fp * EXP( 8.85e+0_fp * T3 + 25.14e+0_fp * T4 ) KW = 1.010e-14_fp * EXP( -22.52e+0_fp * T3 + 26.92e+0_fp * T4 ) KPH = 57.639e+0_fp * EXP( 13.79e+0_fp * T3 - 5.39e+0_fp * T4 ) * T6 !K3 = 5.746E-17 * EXP( -74.38 * T3 + 6.12 * T4 ) * T6 * T6 KHAT = KPH * K1A / KW KAN = KNA * KHAT ! Compute temperature dependent equilibrium constant for NH4NO3 ! (from Mozurkewich, 1993) K3 = EXP( 118.87e+0_fp - 24084.0e+0_fp / TEMP - 6.025e+0_fp * LOG( TEMP )) ! Convert to (micromoles/m**3) **2 K3 = K3 * CONVT * CONVT WH2O = 0.0e+0_fp STION = 0.0e+0_fp AH2O = 0.0e+0_fp MAS = 0.0e+0_fp MAN = 0.0e+0_fp HPLUS = 0.0e+0_fp NITR = 0 NR = 0 GAMAAN = 1.0e+0_fp GAMOLD = 1.0e+0_fp ! If there is very little sulfate and nitrate ! set concentrations to a very small value and return. IF ( ( TSO4 .LT. MINSO4 ) .AND. ( TNO3 .LT. MINNO3 ) ) THEN ASO4 = MAX( FLOOR, ASO4 ) AHSO4 = MAX( FLOOR, AHSO4 ) ! [rjp, 12/12/01] ANO3 = MAX( FLOOR, ANO3 ) ANH4 = MAX( FLOOR, ANH4 ) WH2O = FLOOR AH2O = FLOOR GNH3 = MAX( FLOOR, GNH3 ) GNO3 = MAX( FLOOR, GNO3 ) RETURN ENDIF !================================================================= ! High Ammonia Case !================================================================= IF ( RATIO .GT. 2.0e+0_fp ) THEN GAMAAN = 0.1e+0_fp ! Set up twice the sulfate for future use. TWOSO4 = 2.0e+0_fp * TSO4 XNO3 = 0.0e+0_fp YNH4 = TWOSO4 ! Treat different regimes of relative humidity ! ! ZSR relationship is used to set water levels. Units are ! 10**(-6) kg water/ (cubic meter of air) ! start with ammomium sulfate solution without nitrate CALL AWATER( IRH, TSO4, YNH4, TNO3, AH2O ) !**** note TNO3 WH2O = 1.0d-3 * AH2O ASO4 = TSO4 * MWSO4 ! In sulfate poor case, Sulfate ion is preferred ! Set bisulfate equal to zero [rjp, 12/12/01] AHSO4 = 0.0e+0_fp ANO3 = 0.0e+0_fp ANH4 = YNH4 * MWNH4 WFRAC = AH2O / ( ASO4 + ANH4 + AH2O ) !IF ( WFRAC .EQ. 0.0 ) RETURN ! No water IF ( WFRAC .LT. 0.2e+0_fp ) THEN ! "dry" ammonium sulfate and ammonium nitrate ! compute free ammonia FNH3 = TNH4 - TWOSO4 CC = TNO3 * FNH3 - K3 ! check for not enough to support aerosol IF ( CC .LE. 0.0e+0_fp ) THEN XNO3 = 0.0e+0_fp ELSE AA = 1.0e+0_fp BB = -( TNO3 + FNH3 ) DISC = BB * BB - 4.0e+0_fp * CC ! Check for complex roots of the quadratic ! set retain initial values of nitrate and RETURN ! if complex roots are found IF ( DISC .LT. 0.0e+0_fp ) THEN XNO3 = 0.0e+0_fp AH2O = 1000.0e+0_fp * WH2O YNH4 = TWOSO4 ASO4 = TSO4 * MWSO4 AHSO4 = 0.0e+0_fp ANH4 = YNH4 * MWNH4 GNH3 = MWNH3 * MAX( FLOOR, ( TNH4 - YNH4 ) ) GNO3 = GNO3_IN ANO3 = ANO3_IN RETURN ENDIF ! to get here, BB .lt. 0.0, CC .gt. 0.0 always DD = SQRT( DISC ) XXQ = -0.5e+0_fp * ( BB + SIGN ( 1.0e+0_fp, BB ) * DD ) ! Since both roots are positive, select smaller root. XNO3 = MIN( XXQ / AA, CC / XXQ ) ENDIF ! CC .LE. 0.0 AH2O = 1000.0e+0_fp * WH2O YNH4 = TWOSO4 + XNO3 ASO4 = TSO4 * MWSO4 AHSO4 = FLOOR ANO3 = XNO3 * MWNO3 ANH4 = YNH4 * MWNH4 GNH3 = MWNH3 * MAX( FLOOR, ( TNH4 - YNH4 ) ) GNO3 = MAX( FLOOR, ( TMASSHNO3 - ANO3 ) ) RETURN ENDIF ! WFRAC .LT. 0.2 ! liquid phase containing completely neutralized sulfate and ! some nitrate. Solve for composition and quantity. MAS = TSO4 / WH2O MAN = 0.0e+0_fp XNO3 = 0.0e+0_fp YNH4 = TWOSO4 PHIOLD = 1.0e+0_fp !=============================================================== ! Start loop for iteration ! ! The assumption here is that all sulfate is ammonium sulfate, ! and is supersaturated at lower relative humidities. !=============================================================== DO NNN = 1, 50 ! loop count reduced 0409/2001 by FSB NITR = NNN GASQD = GAMAAN * GAMAAN WSQD = WH2O * WH2O KW2 = KAN * WSQD / GASQD AA = 1.0 - KW2 BB = TWOSO4 + KW2 * ( TNO3 + TNH4 - TWOSO4 ) CC = -KW2 * TNO3 * ( TNH4 - TWOSO4 ) ! This is a quadratic for XNO3 [MICROMOLES / M**3] ! of nitrate in solution DISC = BB * BB - 4.0e+0_fp * AA * CC ! Check for complex roots, retain inital values and RETURN IF ( DISC .LT. 0.0 ) THEN XNO3 = 0.0e+0_fp AH2O = 1000.0e+0_fp * WH2O YNH4 = TWOSO4 ASO4 = TSO4 * MWSO4 AHSO4 = FLOOR ! [rjp, 12/12/01] ANH4 = YNH4 * MWNH4 GNH3 = MWNH3 * MAX( FLOOR, (TNH4 - YNH4 ) ) GNO3 = GNO3_IN ANO3 = ANO3_IN RETURN ENDIF ! Deal with degenerate case (yoj) IF ( AA .NE. 0.0e+0_fp ) THEN DD = SQRT( DISC ) XXQ = -0.5e+0_fp * ( BB + SIGN( 1.0e+0_fp, BB ) * DD ) RR1 = XXQ / AA RR2 = CC / XXQ ! choose minimum positve root IF ( ( RR1 * RR2 ) .LT. 0.0e+0_fp ) THEN XNO3 = MAX( RR1, RR2 ) ELSE XNO3 = MIN( RR1, RR2 ) ENDIF ELSE XNO3 = - CC / BB ! AA equals zero here. ENDIF XNO3 = MIN( XNO3, TNO3 ) ! This version assumes no solid sulfate forms (supersaturated ) ! Now update water CALL AWATER ( IRH, TSO4, YNH4, XNO3, AH2O ) ! ZSR relationship is used to set water levels. Units are ! 10**(-6) kg water/ (cubic meter of air). The conversion ! from micromoles to moles is done by the units of WH2O. WH2O = 1.0e-3_fp * AH2O ! Ionic balance determines the ammonium in solution. MAN = XNO3 / WH2O MAS = TSO4 / WH2O MNH4 = 2.0e+0_fp * MAS + MAN YNH4 = MNH4 * WH2O ! MAS, MAN and MNH4 are the aqueous concentrations of sulfate, ! nitrate, and ammonium in molal units (moles/(kg water) ). STION = 3.0e+0_fp * MAS + MAN CAT( 1 ) = 0.0e+0_fp CAT( 2 ) = MNH4 AN ( 1 ) = MAS AN ( 2 ) = MAN AN ( 3 ) = 0.0e+0_fp CALL ACTCOF ( CAT, AN, GAMS, MOLNU, PHIBAR ) GAMAAN = GAMS( 2, 2 ) ! Use GAMAAN for convergence control EROR = ABS( GAMOLD - GAMAAN ) / GAMOLD GAMOLD = GAMAAN ! Check to see if we have a solution IF ( EROR .LE. TOLER1 ) THEN ASO4 = TSO4 * MWSO4 AHSO4 = 0.0e+0_fp ! [rjp, 12/12/01] ANO3 = XNO3 * MWNO3 ANH4 = YNH4 * MWNH4 GNO3 = MAX( FLOOR, ( TMASSHNO3 - ANO3 ) ) GNH3 = MWNH3 * MAX( FLOOR, ( TNH4 - YNH4 ) ) AH2O = 1000.0e+0_fp * WH2O RETURN ENDIF ENDDO ! If after NITR iterations no solution is found, then: ! FSB retain the initial values of nitrate particle and vapor ! note whether or not convert all bisulfate to sulfate ASO4 = TSO4 * MWSO4 AHSO4 = FLOOR XNO3 = TNO3 / MWNO3 YNH4 = TWOSO4 ANH4 = YNH4 * MWNH4 CALL AWATER ( IRH, TSO4, YNH4, XNO3, AH2O ) GNO3 = GNO3_IN ANO3 = ANO3_IN GNH3 = MAX( FLOOR, MWNH3 * (TNH4 - YNH4 ) ) RETURN !================================================================ ! Low Ammonia Case ! ! Coded by Dr. Francis S. Binkowski 12/8/91.(4/26/95) ! modified 8/28/98 ! modified 04/09/2001 ! ! All cases covered by this logic !================================================================= ELSE WH2O = 0.0e+0_fp CALL AWATER ( IRH, TSO4, TNH4, TNO3, AH2O ) WH2O = 1.0e-3_fp * AH2O ZH2O = AH2O ! convert 10**(-6) kg water/(cubic meter of air) to micrograms ! of water per cubic meter of air (1000 g = 1 kg) ! in sulfate rich case, preferred form is HSO4- !ASO4 = TSO4 * MWSO4 ASO4 = FLOOR ![rjp, 12/12/01] AHSO4 = TSO4 * MWSO4 ![rjp, 12/12/01] ANH4 = TNH4 * MWNH4 ANO3 = ANO3_IN GNO3 = TMASSHNO3 - ANO3 GNH3 = FLOOR !============================================================== ! *** Examine special cases and return if necessary. ! ! FSB For values of RATIO less than 0.5 do no further ! calculations. The code will cycle and still predict the ! same amount of ASO4, ANH4, ANO3, AH2O so terminate early ! to swame computation !============================================================== IF ( RATIO .LT. 0.5e+0_fp ) RETURN ! FSB 04/09/2001 ! Check for zero water. IF ( WH2O .EQ. 0.0e+0_fp ) RETURN ZSO4 = TSO4 / WH2O ! ZSO4 is the molality of total sulfate i.e. MSO4 + MHSO4 ! do not solve for aerosol nitrate for total sulfate molality ! greater than 11.0 because the model parameters break down !### IF ( ZSO4 .GT. 11.0 ) THEN IF ( ZSO4 .GT. 9.0 ) THEN ! 18 June 97 RETURN ENDIF ! *** Calculation may now proceed. ! ! First solve with activity coeffs of 1.0, then iterate. PHIOLD = 1.0e+0_fp GAMANA = 1.0e+0_fp GAMAS1 = 1.0e+0_fp GAMAS2 = 1.0e+0_fp GAMAAB = 1.0e+0_fp GAMOLD = 1.0e+0_fp ! All ammonia is considered to be aerosol ammonium. MNH4 = TNH4 / WH2O ! MNH4 is the molality of ammonium ion. YNH4 = TNH4 ! loop for iteration DO NNN = 1, 50 ! loop count reduced 04/09/2001 by FSB NITR = NNN !------------------------------------------------------------ ! Add robustness: now check if GAMANA or GAMAS1 is too small ! for the division in RKNA and RK2SA. If they are, return w/ ! original values: basically replicate the procedure used ! after the current DO-loop in case of no-convergence ! (phs, bmy, rjp, 4/10/08) ! Now uses IS_SAFE_DIV to avoid compiler/machine dependency ! and to check for both underlow and overflow. Also ! use REAL4 flag to avoid under/overflow when computing A0 ! and A1 from RKNA and RK2SA (phs, 5/28/08) !------------------------------------------------------------ IF ( .NOT. ( IS_SAFE_DIV( GAMAS2, GAMAS1*GAMAS1*GAMAS1, R4=.TRUE. ) & .AND. IS_SAFE_DIV( KNA, GAMANA*GAMANA, R4=.TRUE. ) ) ) THEN WRITE(6,*) 'RPMARES: not safe to divide...exit' CALL flush(6) GOTO 100 ENDIF ! set up equilibrium constants including activities ! solve the system for hplus first then sulfate & nitrate RK2SA = K2SA * GAMAS2 * GAMAS2 / (GAMAS1 * GAMAS1 * GAMAS1) RKNA = KNA / ( GAMANA * GAMANA ) RKNWET = RKNA * WH2O T21 = ZSO4 - MNH4 T221 = ZSO4 + T21 ! set up coefficients for cubic A2 = RK2SA + RKNWET - T21 A1 = RK2SA * RKNWET - T21 * ( RK2SA + RKNWET ) & - RK2SA * ZSO4 - RKNA * TNO3 A0 = - (T21 * RK2SA * RKNWET & + RK2SA * RKNWET * ZSO4 + RK2SA * RKNA * TNO3 ) CALL CUBIC ( A2, A1, A0, NR, CRUTES ) ! Code assumes the smallest positive root is in CRUTES(1) ! But, it can be negative (see CUBIC, case of one real root, ! but can also be propagated by over/underflown)... if it is ! the case then return with original values (phs, 5/27/08) HPLUS = CRUTES( 1 ) IF (HPLUS <= 0e+0_fp) GOTO 100 BAL = HPLUS **3 + A2 * HPLUS**2 + A1 * HPLUS + A0 ! molality of sulfate ion MSO4 = RK2SA * ZSO4 / ( HPLUS + RK2SA ) ! molality of bisulfate ion ! MAX added 04/09/2001 by FSB MHSO4 = MAX( 1.0e-10_fp, ZSO4 - MSO4 ) ! molality of nitrate ion MNA = RKNA * TNO3 / ( HPLUS + RKNWET ) MNA = MAX( 0.0e+0_fp, MNA ) MNA = MIN( MNA, TNO3 / WH2O ) XNO3 = MNA * WH2O ANO3 = MNA * WH2O * MWNO3 GNO3 = MAX( FLOOR, TMASSHNO3 - ANO3 ) ASO4 = MSO4 * WH2O * MWSO4 ![rjp, 12/12/01] AHSO4 = MHSO4 * WH2O * MWSO4 ![rjp, 12/12/01] ! Calculate ionic strength STION = 0.5e+0_fp * ( HPLUS + MNA + MNH4 + MHSO4 + 4.0e+0_fp * MSO4) ! Update water CALL AWATER ( IRH, TSO4, YNH4, XNO3, AH2O ) ! Convert 10**(-6) kg water/(cubic meter of air) to micrograms ! of water per cubic meter of air (1000 g = 1 kg) WH2O = 1.0e-3_fp * AH2O CAT( 1 ) = HPLUS CAT( 2 ) = MNH4 AN ( 1 ) = MSO4 AN ( 2 ) = MNA AN ( 3 ) = MHSO4 CALL ACTCOF ( CAT, AN, GAMS, MOLNU, PHIBAR ) GAMANA = GAMS( 1, 2 ) GAMAS1 = GAMS( 1, 1 ) GAMAS2 = GAMS( 1, 3 ) GAMAAN = GAMS( 2, 2 ) ! NOTE: Improved for robustness! GAMAHAT = ( GAMAS2 * GAMAS2 / ( GAMAAB * GAMAAB ) ) BHAT = KHAT * GAMAHAT !### EROR = ABS ( ( PHIOLD - PHIBAR ) / PHIOLD ) !### PHIOLD = PHIBAR EROR = ABS ( GAMOLD - GAMAHAT ) / GAMOLD GAMOLD = GAMAHAT ! return with good solution IF ( EROR .LE. TOLER2 ) THEN RETURN ENDIF ENDDO ! after NITR iterations, failure to solve the system ! convert all ammonia to aerosol ammonium and return input ! values of NO3 and HNO3 100 ANH4 = TNH4 * MWNH4 GNH3 = FLOOR GNO3 = GNO3_IN ANO3 = ANO3_IN ASO4 = TSO4 * MWSO4 ! [rjp, 12/17/01] AHSO4= FLOOR ! [rjp, 12/17/01] CALL AWATER ( IRH, TSO4, TNH4, TNO3, AH2O ) RETURN ENDIF ! ratio .gt. 2.0 END SUBROUTINE RPMARES !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: awater ! ! !DESCRIPTION: !\\ !\\ ! !INTERFACE: ! SUBROUTINE AWATER( IRHX, MSO4, MNH4, MNO3, WH2O ) ! ! !INPUT PARAMETERS: ! INTEGER :: IRHX REAL(fp) :: MSO4, MNH4, MNO3, WH2O ! ! !REMARKS: ! NOTE!!! wh2o is returned in micrograms / cubic meter ! mso4,mnh4,mno3 are in microMOLES / cubic meter ! ! This version uses polynomials rather than tables, and uses empirical ! polynomials for the mass fraction of solute (mfs) as a function of water ! activity ! where: ! ! mfs = ms / ( ms + mw) ! ms is the mass of solute ! mw is the mass of water. ! ! Define y = mw/ ms ! ! then mfs = 1 / (1 + y) ! ! y can then be obtained from the values of mfs as ! ! y = (1 - mfs) / mfs ! ! ! the aerosol is assumed to be in a metastable state if the rh is ! is below the rh of deliquescence, but above the rh of crystallization. ! ! ZSR interpolation is used for sulfates with x ( the molar ratio of ! ammonium to sulfate in eh range 0 <= x <= 2, by sections. ! section 1: 0 <= x < 1 ! section 2: 1 <= x < 1.5 ! section 3: 1.5 <= x < 2.0 ! section 4: 2 <= x ! In sections 1 through 3, only the sulfates can affect the amount of water ! on the particles. ! In section 4, we have fully neutralized sulfate, and extra ammonium which ! allows more nitrate to be present. Thus, the ammount of water is ! calculated ! using ZSR for ammonium sulfate and ammonium nitrate. Crystallization is ! assumed to occur in sections 2,3,and 4. See detailed discussion below. ! ! ! ! definitions: ! mso4, mnh4, and mno3 are the number of micromoles/(cubic meter of air) ! for sulfate, ammonium, and nitrate respectively ! irhx is the relative humidity (%) ! wh2o is the returned water amount in micrograms / cubic meter of air ! x is the molar ratio of ammonium to sulfate ! y0,y1,y1.5, y2 are the water contents in mass of water/mass of solute ! for pure aqueous solutions with x equal 1, 1.5, and 2 respectively. ! y3 is the value of the mass ratio of water to solute for ! a pure ammonium nitrate solution. ! ! ! coded by Dr. Francis S. Binkowski, 4/8/96. ! ! *** modified 05/30/2000 ! The use of two values of mfs at an ammonium to sulfate ratio ! representative of ammonium sulfate led to an minor inconsistancy ! in nitrate behavior as the ratio went from a value less than two ! to a value greater than two and vice versa with either ammonium ! held constant and sulfate changing, or sulfate held constant and ! ammonium changing. the value of Chan et al. (1992) is the only value ! now used. ! ! *** Modified 09/25/2002 ! Ported into "rpmares_mod.f". Now declare all variables with REAL(fp). ! Also cleaned up comments and made cosmetic changes. Force double ! precision explicitly with "D" exponents. !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! Molecular weight parameters REAL(fp), PARAMETER :: MWSO4 = 96.0636e+0_fp REAL(fp), PARAMETER :: MWNH4 = 18.0985e+0_fp REAL(fp), PARAMETER :: MWNO3 = 62.0649e+0_fp REAL(fp), PARAMETER :: MW2 = MWSO4 + 2.0e+0_fp * MWNH4 REAL(fp), PARAMETER :: MWANO3 = MWNO3 + MWNH4 ! ! !LOCAL VARIABLES: ! INTEGER :: IRH REAL(fp) :: TSO4, TNH4, TNO3, X, AW, AWC REAL(fp) :: MFS0, MFS1, MFS15, Y REAL(fp) :: Y0, Y1, Y15, Y2, Y3, Y40 REAL(fp) :: Y140, Y1540, YC, MFSSO4, MFSNO3 !================================================================= ! The polynomials use data for aw as a function of mfs from Tang ! and Munkelwitz, JGR 99: 18801-18808, 1994. The polynomials were ! fit to Tang's values of water activity as a function of mfs. ! ! *** coefficients of polynomials fit to Tang and Munkelwitz data ! now give mfs as a function of water activity. !================================================================= REAL(fp) :: C1(4) = (/ 0.9995178e+0_fp, -0.7952896e+0_fp, & 0.99683673e+0_fp, -1.143874e+0_fp /) REAL(fp) :: C15(4) = (/ 1.697092e+0_fp, -4.045936e+0_fp, & 5.833688e+0_fp, -3.463783e+0_fp /) REAL(fp) :: C2(4) = (/ 2.085067e+0_fp, -6.024139e+0_fp, & 8.967967e+0_fp, -5.002934e+0_fp /) !================================================================= ! The following coefficients are a fit to the data in Table 1 of ! Nair & Vohra, J. Aerosol Sci., 6: 265-271, 1975 ! data c0/0.8258941, -1.899205, 3.296905, -2.214749 / ! ! New data fit to data from ! Nair and Vohra J. Aerosol Sci., 6: 265-271, 1975 ! Giaque et al. J.Am. Chem. Soc., 82: 62-70, 1960 ! Zeleznik J. Phys. Chem. Ref. Data, 20: 157-1200 !================================================================= REAL(fp) :: C0(4) = (/ 0.798079e+0_fp, -1.574367e+0_fp, & 2.536686e+0_fp, -1.735297e+0_fp /) !================================================================= ! Polynomials for ammonium nitrate and ammonium sulfate are from: ! Chan et al.1992, Atmospheric Environment (26A): 1661-1673. !================================================================= REAL(fp) :: KNO3(6) = (/ 0.2906e+0_fp, 6.83665e+0_fp, & -26.9093e+0_fp, 46.6983e+0_fp, & -38.803e+0_fp, 11.8837e+0_fp /) REAL(fp) :: KSO4(6) = (/ 2.27515e+0_fp, -11.147e+0_fp, & 36.3369e+0_fp, -64.2134e+0_fp, & 56.8341e+0_fp, -20.0953e+0_fp /) !================================================================= ! AWATER begins here! !================================================================= ! Check range of per cent relative humidity IRH = IRHX IRH = MAX( 1, IRH ) IRH = MIN( IRH, 100 ) ! Water activity = fractional relative humidity AW = DBLE( IRH ) / 100.0e+0_fp TSO4 = MAX( MSO4 , 0.0e+0_fp ) TNH4 = MAX( MNH4 , 0.0e+0_fp ) TNO3 = MAX( MNO3 , 0.0e+0_fp ) X = 0.0e+0_fp ! If there is non-zero sulfate calculate the molar ratio ! otherwise check for non-zero nitrate and ammonium IF ( TSO4 .GT. 0.0e+0_fp ) THEN X = TNH4 / TSO4 ELSE IF ( TNO3 .GT. 0.0e+0_fp .AND. TNH4 .GT. 0.0e+0_fp ) & X = 10.0e+0_fp ENDIF ! *** begin screen on x for calculating wh2o IF ( X .LT. 1.0e+0_fp ) THEN MFS0 = POLY4( C0, AW ) MFS1 = POLY4( C1, AW ) Y0 = ( 1.0e+0_fp - MFS0 ) / MFS0 Y1 = ( 1.0e+0_fp - MFS1 ) / MFS1 Y = ( 1.0e+0_fp - X ) * Y0 + X * Y1 ELSE IF ( X .LT. 1.5e+0_fp ) THEN IF ( IRH .GE. 40 ) THEN MFS1 = POLY4( C1, AW ) MFS15 = POLY4( C15, AW ) Y1 = ( 1.0e+0_fp - MFS1 ) / MFS1 Y15 = ( 1.0e+0_fp - MFS15 ) / MFS15 Y = 2.0e+0_fp * ( Y1 * ( 1.5e+0_fp - X ) + & Y15 *( X - 1.0e+0_fp )) !============================================================== ! Set up for crystalization ! ! Crystallization is done as follows: ! ! For 1.5 <= x, crystallization is assumed to occur ! at rh = 0.4 ! ! For x <= 1.0, crystallization is assumed to occur at an ! rh < 0.01, and since the code does not allow ar rh < 0.01, ! crystallization is assumed not to occur in this range. ! ! For 1.0 <= x <= 1.5 the crystallization curve is a straignt ! line from a value of y15 at rh = 0.4 to a value of zero at ! y1. From point B to point A in the diagram. The algorithm ! does a double interpolation to calculate the amount of ! water. ! ! y1(0.40) y15(0.40) ! + + Point B ! ! ! ! ! +--------------------+ ! x=1 x=1.5 ! Point A !============================================================== ELSE ! rh along the crystallization curve. AWC = 0.80e+0_fp * ( X - 1.0e+0_fp ) Y = 0.0e+0_fp ! interpolate using crystalization curve IF ( AW .GE. AWC ) THEN MFS1 = POLY4( C1, 0.40e+0_fp ) MFS15 = POLY4( C15, 0.40e+0_fp ) Y140 = ( 1.0e+0_fp - MFS1 ) / MFS1 Y1540 = ( 1.0e+0_fp - MFS15 ) / MFS15 Y40 = 2.0e+0_fp * ( Y140 * ( 1.5e+0_fp - X ) + & Y1540 * ( X - 1.0e+0_fp ) ) ! Y along crystallization curve YC = 2.0e+0_fp * Y1540 * ( X - 1.0e+0_fp ) Y = Y40 - (Y40 - YC) * (0.40e+0_fp - AW) & / (0.40e+0_fp - AWC) ENDIF ENDIF ELSE IF ( X .LT. 2.0e+0_fp ) then ! changed 12/11/2000 by FSB Y = 0.0D0 IF ( IRH .GE. 40 ) THEN MFS15 = POLY4( C15, AW ) !MFS2 = POLY4( C2, AW ) Y15 = ( 1.0e+0_fp - MFS15 ) / MFS15 !y2 = ( 1.0e+0_fp - MFS2 ) / MFS2 MFSSO4 = POLY6( KSO4, AW ) ! Changed 05/30/2000 by FSB Y2 = ( 1.0e+0_fp - MFSSO4 ) / MFSSO4 Y = 2.0e+0_fp * (Y15 * (2.0e+0_fp - X) + Y2 * (X - 1.5e+0_fp) ) ENDIF ELSE ! 2.0 <= x changed 12/11/2000 by FSB !============================================================== ! Regime where ammonium sulfate and ammonium nitrate are ! in solution. ! ! following cf&s for both ammonium sulfate and ammonium nitrate ! check for crystallization here. their data indicate a 40% ! value is appropriate. !============================================================== Y2 = 0.0e+0_fp Y3 = 0.0e+0_fp IF ( IRH .GE. 40 ) THEN MFSSO4 = POLY6( KSO4, AW ) MFSNO3 = POLY6( KNO3, AW ) Y2 = ( 1.0e+0_fp - MFSSO4 ) / MFSSO4 Y3 = ( 1.0e+0_fp - MFSNO3 ) / MFSNO3 ENDIF ENDIF ! end of checking on x !================================================================= ! Now set up output of WH2O ! WH2O units are micrograms (liquid water) / cubic meter of air !================================================================= IF ( X .LT. 2.0e+0_fp ) THEN ! changed 12/11/2000 by FSB WH2O = Y * ( TSO4 * MWSO4 + MWNH4 * TNH4 ) ELSE ! this is the case that all the sulfate is ammonium sulfate ! and the excess ammonium forms ammonum nitrate WH2O = Y2 * TSO4 * MW2 + Y3 * TNO3 * MWANO3 ENDIF END SUBROUTINE AWATER !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: poly4 ! ! !DESCRIPTION: Function POLY4 !\\ !\\ ! !INTERFACE: ! FUNCTION POLY4( A, X ) RESULT( Y ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: A(4), X ! ! !RETURN VALUE: ! REAL(fp) :: Y ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC Y = A(1) + X * ( A(2) + X * ( A(3) + X * ( A(4) ))) END FUNCTION POLY4 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: poly6 ! ! !DESCRIPTION: Function POLY6 !\\ !\\ ! !INTERFACE: ! FUNCTION POLY6( A, X ) RESULT( Y ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: A(6), X ! ! !RETURN VALUE: ! REAL(fp) :: Y ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC Y = A(1) + X * ( A(2) + X * ( A(3) + X * ( A(4) + & X * ( A(5) + X * ( A(6) ))))) END FUNCTION POLY6 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: get_NO2 ! ! !DESCRIPTION: Subroutine to find the roots of a cubic equation \/ 3rd order ! polynomial. Formulae can be found in numer. recip. on page 145 !\\ !\\ ! !INTERFACE: ! SUBROUTINE CUBIC( A2, A1, A0, NR, CRUTES ) ! ! !USES: ! USE ERROR_MOD, ONLY : ERROR_STOP ! ! !INPUT PARAMETERS: ! REAL(fp) :: A2, A1, A0 ! ! !OUTPUT PARAMETERS: ! INTEGER :: NR REAL(fp) :: CRUTES(3) ! ! !REVISION HISTORY: ! kiran developed this version on 25/4/1990 ! Dr. Francis S. Binkowski modified the routine on 6/24/91, 8/7/97 ! *** ! *** modified 2/23/98 by fsb to incorporate Dr. Ingmar Ackermann's ! recommendations for setting a0, a1,a2 as real(fp) variables. ! ! Modified by Bob Yantosca (10/15/02) ! - Now use upper case / white space ! - force double precision with "D" exponents ! - updated comments / cosmetic changes ! - now call ERROR_STOP from "error_mod.f" to stop the run safely !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) :: QQ, RR, A2SQ, THETA, DUM1, DUM2 REAL(fp) :: PART1, PART2, PART3, RRSQ, PHI, YY1 REAL(fp) :: YY2, YY3, COSTH, SINTH REAL(fp), PARAMETER :: ONE = 1.0e+0_fp REAL(fp), PARAMETER :: SQRT3 = 1.732050808e+0_fp REAL(fp), PARAMETER :: ONE3RD = 0.333333333e+0_fp !================================================================= ! CUBIC begins here! !================================================================= A2SQ = A2 * A2 QQ = ( A2SQ - 3.e+0_fp*A1 ) / 9.e+0_fp RR = ( A2*( 2.e+0_fp*A2SQ - 9.e+0_fp*A1 ) + 27.e+0_fp*A0 ) / 54.e+0_fp ! CASE 1 THREE REAL ROOTS or CASE 2 ONLY ONE REAL ROOT DUM1 = QQ * QQ * QQ RRSQ = RR * RR DUM2 = DUM1 - RRSQ IF ( DUM2 .GE. 0.e+0_fp ) THEN ! Now we have three real roots PHI = SQRT( DUM1 ) IF ( ABS( PHI ) .LT. 1.e-20_fp ) THEN CRUTES(1) = 0.0e+0_fp CRUTES(2) = 0.0e+0_fp CRUTES(3) = 0.0e+0_fp NR = 0 CALL ERROR_STOP( 'PHI < 1e-20_fp', 'CUBIC (rpmares_mod.F90)' ) ENDIF THETA = ACOS( RR / PHI ) / 3.0e+0_fp COSTH = COS( THETA ) SINTH = SIN( THETA ) ! Use trig identities to simplify the expressions ! Binkowski's modification PART1 = SQRT( QQ ) YY1 = PART1 * COSTH YY2 = YY1 - A2/3.0e+0_fp YY3 = SQRT3 * PART1 * SINTH CRUTES(3) = -2.0e+0_fp*YY1 - A2/3.0e+0_fp CRUTES(2) = YY2 + YY3 CRUTES(1) = YY2 - YY3 ! Set negative roots to a large positive value IF ( CRUTES(1) .LT. 0.0e+0_fp ) CRUTES(1) = 1.0e+9_fp IF ( CRUTES(2) .LT. 0.0e+0_fp ) CRUTES(2) = 1.0e+9_fp IF ( CRUTES(3) .LT. 0.0e+0_fp ) CRUTES(3) = 1.0e+9_fp ! Put smallest positive root in crutes(1) CRUTES(1) = MIN( CRUTES(1), CRUTES(2), CRUTES(3) ) NR = 3 ELSE ! Now here we have only one real root PART1 = SQRT( RRSQ - DUM1 ) PART2 = ABS( RR ) PART3 = ( PART1 + PART2 )**ONE3RD CRUTES(1) = -SIGN(ONE,RR) * ( PART3 + (QQ/PART3) ) - A2 / 3.e+0_fp CRUTES(2) = 0.e+0_fp CRUTES(3) = 0.e+0_fp NR = 1 ENDIF END SUBROUTINE CUBIC !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: actcof ! ! !DESCRIPTION: This subroutine computes the activity coefficients of ! (2NH4+,SO4--), (NH4+,NO3-),(2H+,SO4--),(H+,NO3-),AND (H+,HSO4-) in aqueous ! multicomponent solution, using Bromley's model and Pitzer's method. !\\ !\\ ! !INTERFACE: ! SUBROUTINE ACTCOF( CAT, AN, GAMA, MOLNU, PHIMULT ) ! ! !DEFINED PARAMETERS (NEEDED FOR INPUT PARAMETERS): ! INTEGER, PARAMETER :: NCAT = 2 ! number of cation INTEGER, PARAMETER :: NAN = 3 ! number of anions ! ! !INPUT PARAMETERS: ! REAL(fp) :: MOLNU ! tot # moles of all ions REAL(fp) :: PHIMULT ! multicomponent paractical osmotic coef REAL(fp) :: CAT(NCAT) ! cation conc in moles/kg (input) REAL(fp) :: AN(NAN) ! anion conc in moles/kg (input) REAL(fp) :: GAMA(NCAT,NAN) ! mean molal ionic activity coefs ! ! !REFERENCES: ! ! Bromley, L.A. (1973) Thermodynamic properties of strong electrolytes ! in aqueous solutions. AIChE J. 19, 313-320. ! ! Chan, C.K. R.C. Flagen, & J.H. Seinfeld (1992) Water Activities of ! NH4NO3 / (NH4)2SO4 solutions, Atmos. Environ. (26A): 1661-1673. ! ! Clegg, S.L. & P. Brimblecombe (1988) Equilibrium partial pressures ! of strong acids over saline solutions - I HNO3, ! Atmos. Environ. (22): 91-100 ! ! Clegg, S.L. & P. Brimblecombe (1990) Equilibrium partial pressures ! and mean activity and osmotic coefficients of 0-100% nitric acid ! as a function of temperature, J. Phys. Chem (94): 5369 - 5380 ! ! Pilinis, C. and J.H. Seinfeld (1987) Continued development of a ! general equilibrium model for inorganic multicomponent atmospheric ! aerosols. Atmos. Environ. 21(11), 2453-2466. ! ! !REMARKS: ! CAT(1) : conc. of H+ (moles/kg) ! CAT(2) : conc. of NH4+ (moles/kg) ! AN(1) : conc. of SO4-- (moles/kg) ! AN(2) : conc. of NO3- (moles/kg) ! AN(3) : conc. of HSO4- (moles/kg) ! GAMA(2,1) : mean molal ionic activity coeff for (2NH4+,SO4--) ! GAMA(2,2) : " " " " " " (NH4+,NO3-) ! GAMA(2,3) : " " " " " " (NH4+. HSO4-) ! GAMA(1,1) : " " " " " " (2H+,SO4--) ! GAMA(1,2) : " " " " " " (H+,NO3-) ! GAMA(1,3) : " " " " " " (H+,HSO4-) ! MOLNU : the total number of moles of all ions. ! PHIMULT : the multicomponent paractical osmotic coefficient. ! ! !REVISION HISTORY: ! Who When Detailed description of changes ! --------- -------- ------------------------------------------- ! S.Roselle 7/26/89 Copied parts of routine BROMLY, and began this ! new routine using a method described by Pilinis ! and Seinfeld 1987, Atmos. Envirn. 21 pp2453-2466. ! S.Roselle 7/30/97 Modified for use in Models-3 ! F.Binkowski 8/7/97 Modified coefficients BETA0, BETA1, CGAMA ! R.Yantosca 9/25/02 Ported into "rpmares_mod.f" for GEOS-CHEM. Cleaned ! up comments, etc. Also force double precision by ! declaring REALs as REAL(fp) and by using "D" exponents !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! REAL(fp), PARAMETER :: XSTAT0 = 0 ! Normal, successful completion REAL(fp), PARAMETER :: XSTAT1 = 1 ! File I/O error REAL(fp), PARAMETER :: XSTAT2 = 2 ! Execution error REAL(fp), PARAMETER :: XSTAT3 = 3 ! Special error ! ! !LOCAL VARIABLES: ! INTEGER :: IAN ! anion indX INTEGER :: ICAT ! cation indX REAL(fp) :: FGAMA ! REAL(fp) :: I ! ionic strength REAL(fp) :: R ! REAL(fp) :: S ! REAL(fp) :: TA ! REAL(fp) :: TB ! REAL(fp) :: TC ! REAL(fp) :: TEXPV ! REAL(fp) :: TRM ! REAL(fp) :: TWOI ! 2*ionic strength REAL(fp) :: TWOSRI ! 2*sqrt of ionic strength REAL(fp) :: ZBAR ! REAL(fp) :: ZBAR2 ! REAL(fp) :: ZOT1 ! REAL(fp) :: SRI ! square root of ionic strength REAL(fp) :: F2(NCAT) ! REAL(fp) :: F1(NAN) ! REAL(fp) :: BGAMA (NCAT,NAN) ! REAL(fp) :: X (NCAT,NAN) ! REAL(fp) :: M (NCAT,NAN) ! molality of each electrolyte REAL(fp) :: LGAMA0(NCAT,NAN) ! binary activity coefficients REAL(fp) :: Y (NAN,NCAT) ! REAL(fp) :: BETA0 (NCAT,NAN) ! binary activity coef parameter REAL(fp) :: BETA1 (NCAT,NAN) ! binary activity coef parameter REAL(fp) :: CGAMA (NCAT,NAN) ! binary activity coef parameter REAL(fp) :: V1 (NCAT,NAN) ! # of cations in electrolyte ! formula REAL(fp) :: V2 (NCAT,NAN) ! # of anions in electrolyte ! formula ! absolute value of charges of cation REAL(fp) :: ZP(NCAT) = (/ 1.0e+0_fp, 1.0e+0_fp /) ! absolute value of charges of anion REAL(fp) :: ZM(NAN) = (/ 2.0e+0_fp, 1.0e+0_fp, 1.0e+0_fp /) ! Character values. CHARACTER(LEN=120) :: XMSG = ' ' CHARACTER(LEN=16), SAVE :: PNAME = ' driver program name' !================================================================ ! *** Sources for the coefficients BETA0, BETA1, CGAMA ! (1,1);(1,3) - Clegg & Brimblecombe (1988) ! (2,3) - Pilinis & Seinfeld (1987), cgama different ! (1,2) - Clegg & Brimblecombe (1990) ! (2,1);(2,2) - Chan, Flagen & Seinfeld (1992) !================================================================ ! now set the basic constants, BETA0, BETA1, CGAMA DATA BETA0(1,1) /2.98e-2_fp/, BETA1(1,1) / 0.0e+0_fp/, & CGAMA(1,1) /4.38e-2_fp/ ! 2H+SO4- DATA BETA0(1,2) / 1.2556e-1_fp/, BETA1(1,2) / 2.8778e-1_fp/, & CGAMA(1,2) / -5.59e-3_fp/ ! HNO3 DATA BETA0(1,3) / 2.0651e-1_fp/, BETA1(1,3) / 5.556e-1_fp/, & CGAMA(1,3) /0.0e+0_fp/ ! H+HSO4- DATA BETA0(2,1) / 4.6465e-2_fp/, BETA1(2,1) /-0.54196e+0_fp/, & CGAMA(2,1) /-1.2683e-3_fp/ ! (NH4)2SO4 DATA BETA0(2,2) /-7.26224e-3_fp/, BETA1(2,2) /-1.168858e+0_fp/, & CGAMA(2,2) / 3.51217e-5_fp/ ! NH4NO3 DATA BETA0(2,3) / 4.494e-2_fp/, BETA1(2,3) / 2.3594e-1_fp/, & CGAMA(2,3) /-2.962e-3_fp/ ! NH4HSO4 DATA V1(1,1), V2(1,1) / 2.0e+0_fp, 1.0e+0_fp / ! 2H+SO4- DATA V1(2,1), V2(2,1) / 2.0e+0_fp, 1.0e+0_fp / ! (NH4)2SO4 DATA V1(1,2), V2(1,2) / 1.0e+0_fp, 1.0e+0_fp / ! HNO3 DATA V1(2,2), V2(2,2) / 1.0e+0_fp, 1.0e+0_fp / ! NH4NO3 DATA V1(1,3), V2(1,3) / 1.0e+0_fp, 1.0e+0_fp / ! H+HSO4- DATA V1(2,3), V2(2,3) / 1.0e+0_fp, 1.0e+0_fp / ! NH4HSO4 !================================================================= ! ACTCOF begins here! !================================================================= ! Compute ionic strength I = 0.0e+0_fp DO ICAT = 1, NCAT I = I + CAT( ICAT ) * ZP( ICAT ) * ZP( ICAT ) ENDDO DO IAN = 1, NAN I = I + AN( IAN ) * ZM( IAN ) * ZM( IAN ) ENDDO I = 0.5e+0_fp * I ! check for problems in the ionic strength IF ( I .EQ. 0.0e+0_fp ) THEN DO IAN = 1, NAN DO ICAT = 1, NCAT GAMA( ICAT, IAN ) = 0.0e+0_fp ENDDO ENDDO XMSG = 'Ionic strength is zero...returning zero activities' !CALL M3WARN ( PNAME, 0, 0, XMSG ) RETURN ELSE IF ( I .LT. 0.0e+0_fp ) THEN XMSG = 'Ionic strength below zero...negative concentrations' write(6,*)xmsg call flush(6) !CALL M3EXIT ( PNAME, 0, 0, XMSG, XSTAT1 ) ENDIF ! Compute some essential expressions SRI = SQRT( I ) TWOSRI = 2.0e+0_fp * SRI TWOI = 2.0e+0_fp * I TEXPV = 1.0e+0_fp - EXP( -TWOSRI ) & * ( 1.0e+0_fp + TWOSRI - TWOI ) R = 1.0e+0_fp + 0.75e+0_fp * I S = 1.0e+0_fp + 1.5e+0_fp * I ZOT1 = 0.511e+0_fp * SRI / ( 1.0e+0_fp + SRI ) ! Compute binary activity coeffs FGAMA = -0.392e+0_fp * ( ( SRI / ( 1.0e+0_fp + 1.2e+0_fp * SRI ) & + ( 2.0e+0_fp / 1.2e+0_fp ) & * LOG( 1.0e+0_fp + 1.2e+0_fp * SRI ) ) ) DO ICAT = 1, NCAT DO IAN = 1, NAN BGAMA( ICAT, IAN ) = 2.0e+0_fp * BETA0( ICAT, IAN ) & + ( 2.0e+0_fp * BETA1( ICAT, IAN ) / ( 4.0e+0_fp * I ) ) & * TEXPV ! Compute the molality of each electrolyte for given ionic strength M( ICAT, IAN ) = ( CAT( ICAT )**V1( ICAT, IAN ) & * AN( IAN )**V2( ICAT, IAN ) )**( 1.0e+0_fp & / ( V1( ICAT, IAN ) + V2( ICAT, IAN ) ) ) ! Calculate the binary activity coefficients LGAMA0( ICAT, IAN ) = ( ZP( ICAT ) * ZM( IAN ) * FGAMA & + M( ICAT, IAN ) & * ( 2.0e+0_fp * V1( ICAT, IAN ) * V2( ICAT, IAN ) & / ( V1( ICAT, IAN ) + V2( ICAT, IAN ) ) & * BGAMA( ICAT, IAN ) ) & + M( ICAT, IAN ) * M( ICAT, IAN ) & * ( 2.0e+0_fp * ( V1( ICAT, IAN ) & * V2( ICAT, IAN ) )**1.5e+0_fp & / ( V1( ICAT, IAN ) + V2( ICAT, IAN ) ) & * CGAMA( ICAT, IAN ) ) ) / 2.302585093e+0_fp ENDDO ENDDO ! prepare variables for computing the multicomponent activity coeffs DO IAN = 1, NAN DO ICAT = 1, NCAT ZBAR = ( ZP( ICAT ) + ZM( IAN ) ) * 0.5e+0_fp ZBAR2 = ZBAR * ZBAR Y( IAN, ICAT ) = ZBAR2 * AN( IAN ) / I X( ICAT, IAN ) = ZBAR2 * CAT( ICAT ) / I ENDDO ENDDO DO IAN = 1, NAN F1( IAN ) = 0.0e+0_fp DO ICAT = 1, NCAT F1( IAN ) = F1( IAN ) + X( ICAT, IAN ) * LGAMA0( ICAT, IAN ) & + ZOT1 * ZP( ICAT ) * ZM( IAN ) * X( ICAT, IAN ) ENDDO ENDDO DO ICAT = 1, NCAT F2( ICAT ) = 0.0e+0_fp DO IAN = 1, NAN F2( ICAT ) = F2( ICAT ) + Y( IAN, ICAT ) * LGAMA0(ICAT, IAN) & + ZOT1 * ZP( ICAT ) * ZM( IAN ) * Y( IAN, ICAT ) ENDDO ENDDO ! now calculate the multicomponent activity coefficients DO IAN = 1, NAN DO ICAT = 1, NCAT TA = -ZOT1 * ZP( ICAT ) * ZM( IAN ) TB = ZP( ICAT ) * ZM( IAN ) / ( ZP( ICAT ) + ZM( IAN ) ) TC = ( F2( ICAT ) / ZP( ICAT ) + F1( IAN ) / ZM( IAN ) ) TRM = TA + TB * TC IF ( TRM .GT. 30.0e+0_fp ) THEN GAMA( ICAT, IAN ) = 1.0d+30 ELSE GAMA( ICAT, IAN ) = 10.0e+0_fp**TRM ENDIF ENDDO ENDDO END SUBROUTINE ACTCOF !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: init_rpmares ! ! !DESCRIPTION: Subroutine INIT\_RPMARES initializes all module arrays ! (bmy, 12/16/02) !\\ !\\ ! !INTERFACE: ! SUBROUTINE INIT_RPMARES( State_Grid ) ! ! !USES: ! USE ERROR_MOD, ONLY : ALLOC_ERR USE State_Grid_Mod, ONLY : GrdState ! ! INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: AS !================================================================= ! INIT_RPMARES begins here! !================================================================= ALLOCATE( HNO3_sav( State_Grid%NX, State_Grid%NY, State_Grid%NZ ), & STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'HNO3_sav' ) HNO3_sav = 0e+0_fp END SUBROUTINE INIT_RPMARES !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: cleanup_rpmares ! ! !DESCRIPTION: Subroutine CLEANUP\_RPMARES deallocates all module arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CLEANUP_RPMARES ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC IF ( ALLOCATED( HNO3_sav ) ) DEALLOCATE( HNO3_sav ) END SUBROUTINE CLEANUP_RPMARES !EOC END MODULE RPMARES_MOD ================================================ FILE: GeosCore/rrtmg_rad_transfer_mod.F90 ================================================ #ifdef RRTMG !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: rrtmg_rad_transfer_mod.F90 ! ! !DESCRIPTION: Module RRTMG\_RAD\_TRANSFER\_MOD contains arrays and routines ! for performing online radiative transfer in GEOS-Chem. !\\ !\\ ! !INTERFACE: ! MODULE RRTMG_RAD_TRANSFER_MOD ! ! !USES: ! USE CMN_SIZE_MOD, ONLY : NDUST, NAER #if defined( MODEL_CLASSIC ) USE OMP_LIB #endif USE PARRRTM, ONLY : NBNDLW USE PARRRSW, ONLY : NBNDSW IMPLICIT NONE ! ! !PUBLIC MEMBER FUNCTIONS ! PUBLIC :: Do_RRTMG_Rad_Transfer PUBLIC :: Init_RRTMG_Rad_Transfer PUBLIC :: Cleanup_RRTMG_Rad_Transfer ! ! !PRIVATE: ! PRIVATE :: Init_MCICA_Clouds PRIVATE :: Init_Surface_Rad PRIVATE :: AttachPointersFromHemco ! ! !PUBLIC DATA MEMBERS: ! ! NOTE: Changed to pointers to get inputs from HEMCO (bmy, 10/30/18) ! NOTE: These should eventually go into fields of State_Chm REAL*4, POINTER, PUBLIC :: MODIS_ALBDFNIR(:,: ) REAL*4, POINTER, PUBLIC :: MODIS_ALBDFVIS(:,: ) REAL*4, POINTER, PUBLIC :: MODIS_ALBDRNIR(:,: ) REAL*4, POINTER, PUBLIC :: MODIS_ALBDRVIS(:,: ) REAL*4, POINTER, PUBLIC :: MODIS_EMISS_01(:,: ) REAL*4, POINTER, PUBLIC :: MODIS_EMISS_02(:,: ) REAL*4, POINTER, PUBLIC :: MODIS_EMISS_03(:,: ) REAL*4, POINTER, PUBLIC :: MODIS_EMISS_04(:,: ) REAL*4, POINTER, PUBLIC :: MODIS_EMISS_05(:,: ) REAL*4, POINTER, PUBLIC :: MODIS_EMISS_06(:,: ) REAL*4, POINTER, PUBLIC :: MODIS_EMISS_07(:,: ) REAL*4, POINTER, PUBLIC :: MODIS_EMISS_08(:,: ) REAL*4, POINTER, PUBLIC :: MODIS_EMISS_09(:,: ) REAL*4, POINTER, PUBLIC :: MODIS_EMISS_10(:,: ) REAL*4, POINTER, PUBLIC :: MODIS_EMISS_11(:,: ) REAL*4, POINTER, PUBLIC :: MODIS_EMISS_12(:,: ) REAL*4, POINTER, PUBLIC :: MODIS_EMISS_13(:,: ) REAL*4, POINTER, PUBLIC :: MODIS_EMISS_14(:,: ) REAL*4, POINTER, PUBLIC :: MODIS_EMISS_15(:,: ) REAL*4, POINTER, PUBLIC :: MODIS_EMISS_16(:,: ) REAL*4, POINTER, PUBLIC :: CH4CLIM (:,:,:) REAL*4, POINTER, PUBLIC :: N2OCLIM (:,:,:) REAL*4, POINTER, PUBLIC :: CFC11CLIM (:,:,:) REAL*4, POINTER, PUBLIC :: CFC12CLIM (:,:,:) REAL*4, POINTER, PUBLIC :: CCL4CLIM (:,:,:) REAL*4, POINTER, PUBLIC :: CFC22CLIM (:,:,:) !MCICA cloud variables now stored for reuse !NOTE: These should eventually go into fields of State_Chm REAL*8, ALLOCATABLE, PUBLIC, TARGET :: CLDFMCL_LW(:,:,:,:) REAL*8, ALLOCATABLE, PUBLIC, TARGET :: CIWPMCL_LW(:,:,:,:) REAL*8, ALLOCATABLE, PUBLIC, TARGET :: CLWPMCL_LW(:,:,:,:) REAL*8, ALLOCATABLE, PUBLIC, TARGET :: TAUCMCL_LW(:,:,:,:) REAL*8, ALLOCATABLE, PUBLIC, TARGET :: CLDFMCL_SW(:,:,:,:) REAL*8, ALLOCATABLE, PUBLIC, TARGET :: CIWPMCL_SW(:,:,:,:) REAL*8, ALLOCATABLE, PUBLIC, TARGET :: CLWPMCL_SW(:,:,:,:) REAL*8, ALLOCATABLE, PUBLIC, TARGET :: TAUCMCL_SW(:,:,:,:) REAL*8, ALLOCATABLE, PUBLIC, TARGET :: SSACMCL (:,:,:,:) REAL*8, ALLOCATABLE, PUBLIC, TARGET :: ASMCMCL (:,:,:,:) REAL*8, ALLOCATABLE, PUBLIC, TARGET :: FSFCMCL (:,:,:,:) REAL*8, ALLOCATABLE, PUBLIC, TARGET :: REICMCL (:,:,: ) REAL*8, ALLOCATABLE, PUBLIC, TARGET :: RELQMCL (:,:,: ) ! ! !REVISION HISTORY: ! 18 Jun 2013 - D.A. Ridley - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL*8, ALLOCATABLE :: LW_UFLUX (:,:,:) REAL*8, ALLOCATABLE :: LW_DFLUX (:,:,:) REAL*8, ALLOCATABLE :: SW_UFLUX (:,:,:) REAL*8, ALLOCATABLE :: SW_DFLUX (:,:,:) REAL*8, ALLOCATABLE :: LW_UFLUXC(:,:,:) REAL*8, ALLOCATABLE :: LW_DFLUXC(:,:,:) REAL*8, ALLOCATABLE :: SW_UFLUXC(:,:,:) REAL*8, ALLOCATABLE :: SW_DFLUXC(:,:,:) REAL*8 :: RRTMG_LMB(NBNDLW+NBNDSW) INTEGER :: ID_AER_LMB0 (NBNDLW+NBNDSW) INTEGER :: ID_AER_LMB1 (NBNDLW+NBNDSW) CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: do_rrtmg_rad_transfer ! ! !DESCRIPTION: Interface between GEOS-Chem and the RRTMG radiative ! transfer model. !\\ !\\ ! !INTERFACE: ! SUBROUTINE DO_RRTMG_RAD_TRANSFER( ThisDay, ThisMonth, iCld, & iSpecMenu, iNcDiag, iSeed, & Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, DT_3D, & HR_3D, RC ) ! ! !USES: ! !----------------------------------------------------------------- ! Modules from GeosRad !----------------------------------------------------------------- USE MCICA_SUBCOL_GEN_LW, ONLY : MCICA_SUBCOL_LW USE MCICA_SUBCOL_GEN_SW, ONLY : MCICA_SUBCOL_SW USE PARKIND, ONLY : IM=>KIND_IM, RB=>KIND_RB USE RRLW_CON, ONLY : GASCON, AVOGAD USE PARRRTM, ONLY : NBNDLW, NGPTLW USE PARRRSW, ONLY : NBNDSW, NGPTSW,NAEREC USE RRTMG_LW_RAD, ONLY : RRTMG_LW USE RRTMG_SW_RAD, ONLY : RRTMG_SW !----------------------------------------------------------------- ! GEOS-Chem modules !----------------------------------------------------------------- USE ErrCode_Mod USE ERROR_MOD USE Input_Opt_Mod, ONLY : OptInput USE PhysConstants, ONLY : AIRMW, PI, AVO USE PRESSURE_MOD, ONLY : GET_PCENTER, GET_PEDGE USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Chm_Mod, ONLY : Ind_ USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_DAY_OF_YEAR, GET_HOUR USE Timers_Mod, ONLY : Timer_End, Timer_Start USE TOMS_MOD, ONLY : GET_OVERHEAD_O3 USE UnitConv_Mod ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: ThisDay ! CURRENT DAY INTEGER, INTENT(IN) :: ThisMonth ! CURRENT MONTH INTEGER, INTENT(IN) :: iSpecMenu ! THE SPECIES BEING INCLUDED ! NEEDED FOR OUTPUT PURPOSES INTEGER, INTENT(IN) :: iNcDiag ! Index for netCDF diag arrays INTEGER, INTENT(IN) :: iSeed ! Seed value TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object INTEGER, INTENT(INOUT) :: iCld ! CLOUD FLAG FOR RRTMG ! 0-NOCLOUD, 1-GREY CLOUD ! Used only for fixed dynamical heating work REAL(RB), ALLOCATABLE, INTENT(INOUT) :: DT_3D(:,:,:) ! Layer temperature adjustment (K) REAL(RB), ALLOCATABLE, INTENT(INOUT) :: HR_3D(:,:,:) ! Heating rate (K/day) ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Failure or success ! ! !REMARKS: ! THIS ROUTINE PASSES INPUTS TO THE RRTMG DRIVER ROUTINE "RAD_DRIVER" ! VIA THE ARGUMENT LIST. THIS PREVENTS CIRCULAR REFERENCES. ! ! !REVISION HISTORY: ! 17 AUG 2012 - R. YANTOSCA - INITIAL VERSION ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS ! INTEGER, PARAMETER :: NWV=37 ! ! !LOCAL VARIABLES: ! LOGICAL :: DOAERAD ! INCLUDE AEROSOL DETERMINED FROM ! SPECMASK LOGICAL :: LOUTPUTAERO ! OUTPUT AEROSOL DIAGNOSTICS? INTEGER :: ITIMEVALS(8) INTEGER :: IDIAGOUT ! INDEX OF SPC OPTICS FOR OUTPUT INTEGER :: previous_units REAL*8 :: OLDSECS, NEWSECS ! SAVEd scalars LOGICAL, SAVE :: FIRST = .TRUE. INTEGER, SAVE :: id_O3, id_CH4, id_N2O, id_CFC11 INTEGER, SAVE :: id_CFC12, id_CCL4, id_HCFC22, id_H2O !----------------------------------------------------------------- ! TEMPORARY AEROSOL VARIABLES !----------------------------------------------------------------- REAL*8 :: LAMBDA(NWV) !----------------------------------------------------------------- ! SCALARS !----------------------------------------------------------------- INTEGER :: I, J ,L, LL, N, W INTEGER :: IL, OMPID, LCHEM INTEGER :: OUTIDX,IOUTWV INTEGER :: IB,IBX,IB_SW,IS,NBNDS,NSPEC INTEGER :: IS_ON,NASPECRAD_ON INTEGER :: IASPECRAD_ON(State_Chm%Phot%NASPECRAD) INTEGER :: BaseIndex REAL*8 :: RHOICE=0.9167, RHOLIQ=1. ! G/CM3 !----------------------------------------------------------------- ! REL AND REI FROM PERSONAL COMMUNICATION FROM LAZAROS OREOPOULOS ! (GSFC) 12/12/12 !----------------------------------------------------------------- REAL*8 :: REL_DEF = 14.2, REI_DEF=24.8 ! MICRONS INTEGER :: DOY INTEGER :: IHR CHARACTER(LEN=2) :: CHR !----------------------------------------------------------------- ! ARRAYS FROM GC !----------------------------------------------------------------- REAL(KIND=RB) :: PCENTER(State_Grid%NX,State_Grid%NY,State_Grid%NZ) REAL(KIND=RB) :: PEDGE (State_Grid%NX,State_Grid%NY,State_Grid%NZ) !----------------------------------------------------------------- !ARRAYS FOR RRTMG !----------------------------------------------------------------- REAL(KIND=RB) :: O3VMR (State_Grid%NX,State_Grid%NY,State_Grid%NZ) REAL(KIND=RB) :: CH4VMR(State_Grid%NX,State_Grid%NY,State_Grid%NZ) REAL(KIND=RB) :: N2OVMR(State_Grid%NX,State_Grid%NY,State_Grid%NZ) REAL(KIND=RB) :: CFC11VMR(State_Grid%NX,State_Grid%NY,State_Grid%NZ) REAL(KIND=RB) :: CFC12VMR(State_Grid%NX,State_Grid%NY,State_Grid%NZ) REAL(KIND=RB) :: CFC22VMR(State_Grid%NX,State_Grid%NY,State_Grid%NZ) REAL(KIND=RB) :: CCL4VMR(State_Grid%NX,State_Grid%NY,State_Grid%NZ) REAL(KIND=RB) :: TAUCLD(State_Grid%NX,State_Grid%NY,State_Grid%NZ) REAL(KIND=RB) :: CLDFR(State_Grid%NX,State_Grid%NY,State_Grid%NZ) REAL(KIND=RB) :: RELIQ(State_Grid%NX,State_Grid%NY,State_Grid%NZ) REAL(KIND=RB) :: REICE(State_Grid%NX,State_Grid%NY,State_Grid%NZ) REAL(KIND=RB) :: CLIQWP(State_Grid%NX,State_Grid%NY,State_Grid%NZ) REAL(KIND=RB) :: CICEWP(State_Grid%NX,State_Grid%NY,State_Grid%NZ) REAL(KIND=RB) :: ALBVIS(State_Grid%NX,State_Grid%NY) REAL(KIND=RB) :: TAUAER_LW(State_Grid%NX,State_Grid%NY,State_Grid%NZ,& NBNDLW) REAL(KIND=RB) :: TAUAER_SW(State_Grid%NX,State_Grid%NY,State_Grid%NZ,& NBNDSW) REAL(KIND=RB) :: SSAAER(State_Grid%NX,State_Grid%NY,State_Grid%NZ,& NBNDSW) REAL(KIND=RB) :: ASMAER(State_Grid%NX,State_Grid%NY,State_Grid%NZ,& NBNDSW) !----------------------------------------------------------------- !TO STORE THE OPTICS FOR THE AEROSOLS WE ARE INTERESTED IN !----------------------------------------------------------------- REAL*8 :: TAUAERDIAG(State_Grid%NX,State_Grid%NY,State_Grid%NZ,& NBNDSW) REAL*8 :: SSAAERDIAG(State_Grid%NX,State_Grid%NY,State_Grid%NZ,& NBNDSW) REAL*8 :: ASMAERDIAG(State_Grid%NX,State_Grid%NY,State_Grid%NZ,& NBNDSW) REAL(KIND=RB) :: H2OVMR (State_Grid%NX,State_Grid%NY,State_Grid%NZ) REAL(KIND=RB) :: TLAY (State_Grid%NX,State_Grid%NY,State_Grid%NZ) REAL(KIND=RB) :: TLAY_SW (State_Grid%NX,State_Grid%NY,State_Grid%NZ) REAL(KIND=RB) :: PLAY (State_Grid%NX,State_Grid%NY,State_Grid%NZ) REAL(KIND=RB) :: SUNCOS (State_Grid%NX,State_Grid%NY,State_Grid%NZ) REAL(KIND=RB) :: TSFC (State_Grid%NX,State_Grid%NY) !----------------------------------------------------------------- !VARIABLES FOR OBTAINING STRATOSPHERIC VARIABLES !----------------------------------------------------------------- REAL*8 :: O3COL, YLAT, AIR_TMP !----------------------------------------------------------------- !SURFACE !----------------------------------------------------------------- REAL(KIND=RB) :: ALBDIRVIS(State_Grid%NX,State_Grid%NY) REAL(KIND=RB) :: ALBDIFVIS(State_Grid%NX,State_Grid%NY) REAL(KIND=RB) :: ALBDIRNIR(State_Grid%NX,State_Grid%NY) REAL(KIND=RB) :: ALBDIFNIR(State_Grid%NX,State_Grid%NY) REAL(KIND=RB) :: RTEMISS (State_Grid%NX,State_Grid%NY, NBNDLW) REAL*8 :: NUMER,DENOM REAL*4 :: AODTMP,AODOUT,SSATMP,SSAOUT REAL*4 :: ASYMTMP,ASYMOUT INTEGER :: FLG_FIRST_STRAT(State_Grid%NX,State_Grid%NY) INTEGER :: ONECOL REAL*4 :: CH4SCL(State_Grid%NX,State_Grid%NY) !----------------------------------------------------------------- ! FROM RAD_DRIVER... TO BE MERGED ! FLAGS AND DIMENSIONS !----------------------------------------------------------------- INTEGER (KIND=IM) :: IDRV INTEGER (KIND=IM) :: INFLGLW, ICEFLGLW,LIQFLGLW INTEGER (KIND=IM) :: INFLGSW, ICEFLGSW,LIQFLGSW !----------------------------------------------------------------- ! PROFILE VARIABLES !----------------------------------------------------------------- REAL (KIND=RB) :: PLEV(State_Grid%NX,State_Grid%NY,State_Grid%NZ+1) REAL (KIND=RB) :: TLEV(State_Grid%NX,State_Grid%NY,State_Grid%NZ+1) REAL (KIND=RB) :: TLEV_SW(State_Grid%NX,State_Grid%NY,State_Grid%NZ+1) REAL (KIND=RB) :: CO2VMR(State_Grid%NX,State_Grid%NY,State_Grid%NZ) REAL (KIND=RB) :: O2VMR(State_Grid%NX,State_Grid%NY,State_Grid%NZ) REAL (KIND=RB) :: T_CTM(State_Grid%NZ+1) REAL (KIND=RB) :: P_CTM(State_Grid%NZ+2) REAL (KIND=RB) :: O3_CTM(State_Grid%NZ+1) REAL (KIND=RB) :: T_CLIM(State_Grid%NZ+1) REAL (KIND=RB) :: O3_CLIM(State_Grid%NZ+1) REAL (KIND=RB) :: Z_CLIM(State_Grid%NZ+2) REAL (KIND=RB) :: AIR_CLIM(State_Grid%NZ+1) !----------------------------------------------------------------- ! SW SOLAR VARIABLES !----------------------------------------------------------------- REAL(KIND=RB) :: ADJES=1.0 ! FLUX ADJUSTMENT FOR EARTH/SUN DIST REAL(KIND=RB) :: SCON=1368.22 ! SOLAR CONSTANT (W/M2) !----------------------------------------------------------------- ! SW CLOUD VARIABLES !----------------------------------------------------------------- REAL(KIND=RB) :: TAUCLD_SW(NBNDSW,State_Grid%NX,State_Grid%NY,State_Grid%NZ) ! IN-CLOUD OPTICAL DEPTH REAL(KIND=RB) :: TAUCLD_LW(NBNDLW,State_Grid%NX,State_Grid%NY,State_Grid%NZ) ! NOT USED BUT PASSED TO MCICA_LW REAL(KIND=RB) :: SSACLD(NBNDSW,State_Grid%NX,State_Grid%NY,State_Grid%NZ) ! IN-CLOUD SINGLE SCATTERING ALBEDO REAL(KIND=RB) :: ASMCLD(NBNDSW,State_Grid%NX,State_Grid%NY,State_Grid%NZ) ! IN-CLOUD ASYMMETRY PARAMETER REAL(KIND=RB) :: FSFCLD(NBNDSW,State_Grid%NX,State_Grid%NY,State_Grid%NZ) ! IN-CLOUD FORWARD SCATTERING FRACTION REAL(KIND=RB) :: ECAER(1,State_Grid%NZ,NAEREC) ! AEROSOL OPTICAL DEPTH AT 0.55UM (IAER=6 ONLY) !----------------------------------------------------------------- ! LONGWAVE FLUX VARIABLES !----------------------------------------------------------------- REAL(KIND=RB) :: UFLX(1,State_Grid%NZ+1) ! TOTAL SKY LONGWAVE UPWARD FLUX (W/M2) REAL(KIND=RB) :: DFLX(1,State_Grid%NZ+1) ! TOTAL SKY LONGWAVE DOWNWARD FLUX (W/M2) REAL(KIND=RB) :: HR(1,State_Grid%NZ) ! TOTAL SKY LONGWAVE RADIATIVE HEATING RATE (K/D) REAL(KIND=RB) :: UFLXC(1,State_Grid%NZ+1) ! CLEAR SKY LONGWAVE UPWARD FLUX (W/M2) REAL(KIND=RB) :: DFLXC(1,State_Grid%NZ+1) ! CLEAR SKY LONGWAVE DOWNWARD FLUX (W/M2) REAL(KIND=RB) :: HRC(1,State_Grid%NZ) ! CLEAR SKY LONGWAVE RADIATIVE HEATING RATE (K/D) !----------------------------------------------------------------- !- OPTIONAL OUTPUT !----------------------------------------------------------------- REAL(KIND=RB) :: DUFLX_DT(1,State_Grid%NZ) ! CHANGE IN UPWARD LONGWAVE FLUX (W/M2/K) REAL(KIND=RB) :: DUFLXC_DT(1,State_Grid%NZ)! CHANGE IN CLEAR SKY UPWARD LONGWAVE FLUX (W/M2/K) !----------------------------------------------------------------- ! SHORTWAVE FLUX VARIABLES !----------------------------------------------------------------- ! ----- OUTPUT ----- REAL(KIND=RB) :: SWUFLX(1,State_Grid%NZ+1) ! TOTAL SKY SHORTWAVE UPWARD FLUX (W/M2) REAL(KIND=RB) :: SWDFLX(1,State_Grid%NZ+1) ! TOTAL SKY SHORTWAVE DOWNWARD FLUX (W/M2) REAL(KIND=RB) :: SWHR(1,State_Grid%NZ) ! TOTAL SKY SHORTWAVE RADIATIVE HEATING RATE (K/D) REAL(KIND=RB) :: SWUFLXC(1,State_Grid%NZ+1) ! CLEAR SKY SHORTWAVE UPWARD FLUX (W/M2) REAL(KIND=RB) :: SWDFLXC(1,State_Grid%NZ+1) ! CLEAR SKY SHORTWAVE DOWNWARD FLUX (W/M2) REAL(KIND=RB) :: SWHRC(1,State_Grid%NZ) ! CLEAR SKY SHORTWAVE RADIATIVE HEATING RATE (K/D) !----------------------------------------------------------------- ! LOCAL VARIABLES !----------------------------------------------------------------- REAL*8 :: GCAIR REAL*8 :: RHOA, RHOB, RHOSUM REAL*8 :: HR_TEMP !----------------------------------------------------------------- ! MCICA VARIABLES !----------------------------------------------------------------- INTEGER(KIND=IM) :: SEEDSW, SEEDLW INTEGER(KIND=IM) :: IRNG=1 ! MERSENNE TWISTER RANDOM NUMBER GENERATOR INTEGER(KIND=IM) :: ICLDMCL REAL(KIND=RB) :: RELQMCL0(1,State_Grid%NZ) REAL(KIND=RB) :: REICMCL0(1,State_Grid%NZ) !----------------------------------------------------------------- ! MCICA LW SPECIFIC !----------------------------------------------------------------- REAL(KIND=RB) :: CLDFMCL_LW0(NGPTLW,1,State_Grid%NZ) REAL(KIND=RB) :: CIWPMCL_LW0(NGPTLW,1,State_Grid%NZ) REAL(KIND=RB) :: CLWPMCL_LW0(NGPTLW,1,State_Grid%NZ) REAL(KIND=RB) :: TAUCMCL_LW0(NGPTLW,1,State_Grid%NZ) !----------------------------------------------------------------- ! MCICA SW SPECIFIC !----------------------------------------------------------------- REAL(KIND=RB) :: CLDFMCL_SW0(NGPTSW,1,State_Grid%NZ) REAL(KIND=RB) :: CIWPMCL_SW0(NGPTSW,1,State_Grid%NZ) REAL(KIND=RB) :: CLWPMCL_SW0(NGPTSW,1,State_Grid%NZ) REAL(KIND=RB) :: TAUCMCL_SW0(NGPTSW,1,State_Grid%NZ) REAL(KIND=RB) :: SSACMCL0(NGPTSW,1,State_Grid%NZ) REAL(KIND=RB) :: ASMCMCL0(NGPTSW,1,State_Grid%NZ) REAL(KIND=RB) :: FSFCMCL0(NGPTSW,1,State_Grid%NZ) REAL(KIND=RB) :: PCENTER0(1,State_Grid%NZ) REAL(KIND=RB) :: CLDFR0(1,State_Grid%NZ) REAL(KIND=RB) :: CICEWP0(1,State_Grid%NZ) REAL(KIND=RB) :: CLIQWP0(1,State_Grid%NZ) REAL(KIND=RB) :: REICE0(1,State_Grid%NZ) REAL(KIND=RB) :: RELIQ0(1,State_Grid%NZ) REAL(KIND=RB) :: TAUCLD_SW0(NBNDSW,1,State_Grid%NZ) REAL(KIND=RB) :: SSACLD0(NBNDSW,1,State_Grid%NZ) REAL(KIND=RB) :: ASMCLD0(NBNDSW,1,State_Grid%NZ) REAL(KIND=RB) :: FSFCLD0(NBNDSW,1,State_Grid%NZ) !----------------------------------------------------------------- ! Variables used to avoid array temporaries (bmy, 6/3/15) ! ! NOTE: Use temporary arrays instead of pointers. For unknown ! reasons the pointer references incur segfaults. (bmy, 6/3/15) !----------------------------------------------------------------- ! For MCICA_SUBCOL_LW and MCICA_SUBCOL_LW REAL(KIND=RB) :: p_PCENTER ( State_Grid%NZ ) REAL(KIND=RB) :: p_CLDFR ( State_Grid%NZ ) REAL(KIND=RB) :: p_CICEWP ( State_Grid%NZ ) REAL(KIND=RB) :: p_CLIQWP ( State_Grid%NZ ) REAL(KIND=RB) :: p_REICE ( State_Grid%NZ ) REAL(KIND=RB) :: p_RELIQ ( State_Grid%NZ ) REAL(KIND=RB) :: p_TAUCLD_LW ( NBNDLW, State_Grid%NZ ) REAL(KIND=RB) :: p_TAUCLD_SW ( NBNDSW, State_Grid%NZ ) REAL(KIND=RB) :: p_SSACLD ( NBNDSW, State_Grid%NZ ) REAL(KIND=RB) :: p_ASMCLD ( NBNDSW, State_Grid%NZ ) REAL(KIND=RB) :: p_FSFCLD ( NBNDSW, State_Grid%NZ ) ! For RRTMG_LW and RRTMG_SW REAL(KIND=RB) :: p_PLEV ( State_Grid%NZ+1) REAL(KIND=RB) :: p_TLAY ( State_Grid%NZ ) REAL(KIND=RB) :: p_TLAY_SW ( State_Grid%NZ ) REAL(KIND=RB) :: p_TLEV ( State_Grid%NZ+1) REAL(KIND=RB) :: p_TLEV_SW ( State_Grid%NZ+1) REAL(KIND=RB) :: p_H2OVMR ( State_Grid%NZ ) REAL(KIND=RB) :: p_O3VMR ( State_Grid%NZ ) REAL(KIND=RB) :: p_CO2VMR ( State_Grid%NZ ) REAL(KIND=RB) :: p_CH4VMR ( State_Grid%NZ ) REAL(KIND=RB) :: p_N2OVMR ( State_Grid%NZ ) REAL(KIND=RB) :: p_O2VMR ( State_Grid%NZ ) REAL(KIND=RB) :: p_CFC11VMR ( State_Grid%NZ ) REAL(KIND=RB) :: p_CFC12VMR ( State_Grid%NZ ) REAL(KIND=RB) :: p_CFC22VMR ( State_Grid%NZ ) REAL(KIND=RB) :: p_CCL4VMR ( State_Grid%NZ ) REAL(KIND=RB) :: p_REICMCL ( State_Grid%NZ ) REAL(KIND=RB) :: p_RELQMCL ( State_Grid%NZ ) REAL(KIND=RB) :: p_SUNCOS ( State_Grid%NZ ) REAL(KIND=RB) :: p_CLDFMCL_LW( NGPTLW, State_Grid%NZ ) REAL(KIND=RB) :: p_TAUCMCL_LW( NGPTLW, State_Grid%NZ ) REAL(KIND=RB) :: p_CIWPMCL_LW( NGPTLW, State_Grid%NZ ) REAL(KIND=RB) :: p_CLWPMCL_LW( NGPTLW, State_Grid%NZ ) REAL(KIND=RB) :: p_CLDFMCL_SW( NGPTSW, State_Grid%NZ ) REAL(KIND=RB) :: p_TAUCMCL_SW( NGPTSW, State_Grid%NZ ) REAL(KIND=RB) :: p_SSACMCL ( NGPTSW, State_Grid%NZ ) REAL(KIND=RB) :: p_ASMCMCL ( NGPTSW, State_Grid%NZ ) REAL(KIND=RB) :: p_FSFCMCL ( NGPTSW, State_Grid%NZ ) REAL(KIND=RB) :: p_CIWPMCL_SW( NGPTSW, State_Grid%NZ ) REAL(KIND=RB) :: p_CLWPMCL_SW( NGPTSW, State_Grid%NZ ) REAL(KIND=RB) :: p_RTEMISS ( NBNDLW ) REAL(KIND=RB) :: p_TAUAER_LW ( State_Grid%NZ, NBNDLW ) REAL(KIND=RB) :: p_TAUAER_SW ( State_Grid%NZ, NBNDSW ) REAL(KIND=RB) :: p_SSAAER ( State_Grid%NZ, NBNDSW ) REAL(KIND=RB) :: p_ASMAER ( State_Grid%NZ, NBNDSW ) ! Stratospheric adjustment REAL(KIND=RB) :: DT_Col(State_Grid%NZ) ! Temperature difference, column (K) REAL(KIND=RB) :: HRStrat(State_Grid%NZ)! Strat. dyn. heating rate, column (K/day) REAL(KIND=RB) :: HRDyn(State_Grid%NZ) ! Dynamical heating rate, column (K/day) LOGICAL :: Do_Adjust(State_Grid%NZ)! Do we perform adjustment here? LOGICAL :: StratImbal ! Is the net heating rate >> 0? LOGICAL :: Calc_DeltaT ! Are we calculating the T difference? LOGICAL :: Store_DHR ! Are we estimating the dynamical heating rate? REAL(KIND=RB), PARAMETER :: HRMax = 1.0d-3 ! Maximum residual heating rate (K/day) REAL(KIND=RB), PARAMETER :: TSadj_max = 0.5d0 ! Outer time step used in strat adjustment (days) REAL(KIND=RB), PARAMETER :: TSadj_min = 0.5d-1 ! Minimum time step that we can adjust to (days) REAL(KIND=RB) :: TSadj ! REAL(KIND=RB) :: TSadj_adapt ! REAL(KIND=RB) :: last_max, curr_max ! Track the current maximum heating rate imbalance REAL(KIND=RB) :: last_max_stored ! For debug only Integer :: i_max ! REAL(KIND=RB), PARAMETER :: dtadj_max = 150d0 ! Time allowable to reach equilbrium (days) REAL(KIND=RB) :: dtadj ! Total time to reach equilibrium (days) Integer :: i_iter ! Iteration number Integer :: N_Failed ! Number of columns failing to converge Integer :: N_Column ! Total number of columns (NX * NY) ! For SEFDH calculations Real(kind=RB) :: Relax_Factor Real(kind=RB) :: DT_Days Real(kind=RB), Parameter :: Relax_Time = 1.0d0 ! E-folding time in days ! For RK4 integrations INTEGER, PARAMETER :: N_PC = 4 INTEGER :: I_PC REAL(KIND=RB) :: p_TLAY_0(State_Grid%NZ) ! Data from predictor step(s) REAL(KIND=RB) :: HR_P(4,State_Grid%NZ) REAL(KIND=RB) :: p_TLAY_P(State_Grid%NZ) REAL(KIND=RB) :: UFLX_P(1,State_Grid%NZ+1) REAL(KIND=RB) :: DFLX_P(1,State_Grid%NZ+1) REAL(KIND=RB) :: UFLXC_P(1,State_Grid%NZ+1) REAL(KIND=RB) :: DFLXC_P(1,State_Grid%NZ+1) ! For RF at tropopause Integer :: iTrop ! To simplify ozone RF calculation Logical :: in_Trop ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc ! Pointers TYPE(SpcConc), POINTER :: Spc (:) INTEGER, POINTER :: SPECMASK (:) INTEGER, POINTER :: IRTWVSELECT(:,:) REAL*8, POINTER :: ACOEF_RTWV (:) REAL*8, POINTER :: BCOEF_RTWV (:) REAL*8, POINTER :: CCOEF_RTWV (:) REAL*8, POINTER :: WVAA (:,:) REAL*8, POINTER :: RTODAER (:,:,:,:,:) REAL*8, POINTER :: RTSSAER (:,:,:,:,:) REAL*8, POINTER :: RTASYMAER (:,:,:,:,:) !================================================================= ! DO_RRTMG_RAD_TRANSFER begins here! !================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at DO_RRTMG_RAD_TRANSFER (in rrtmg_rad_transfer_mod.F90)' ! Set pointers Spc => State_Chm%Species SPECMASK => State_Chm%Phot%SPECMASK IRTWVSELECT => State_Chm%Phot%IRTWVSELECT ACOEF_RTWV => State_Chm%Phot%ACOEF_RTWV BCOEF_RTWV => State_Chm%Phot%BCOEF_RTWV CCOEF_RTWV => State_Chm%Phot%CCOEF_RTWV WVAA => State_Chm%Phot%WVAA RTODAER => State_Chm%Phot%RTODAER RTSSAER => State_Chm%Phot%RTSSAER RTASYMAER => State_Chm%Phot%RTASYMAER ! Halt RRTMG timer (so that unit conv can be timed separately) IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "RRTMG", RC ) ENDIF ! Convert species units to [kg/kg dry] for RRTMG CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & mapping = State_Chm%Map_Advect, & new_units = KG_SPECIES_PER_KG_DRY_AIR, & previous_units = previous_units, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Unit conversion error in DO_RRTMG_RAD_TRANSFER!"' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Start RRTMG timer again IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "RRTMG", RC ) ENDIF ! Also make sure that the ncDiag arguement is valid, ! as this is the index for the netCDF diagnostic arrays. IF ( iNcDiag <= 0 ) THEN ErrMsg = 'The iNcDiag argument is <= 0!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !================================================================= ! PREPARE INPUTS FOR RAD_DRIVER !================================================================= !CALL GET_SPECIES( .TRUE., THISMONTH, 'O3', GMI_O3 ) !CALL GET_SPECIES( .TRUE., THISMONTH, 'CH4', GMI_CH4 ) !================================================================= ! PREPARE INPUTS FOR RRTMG !================================================================= ! INITIALIZE NSPEC = NAER+NDUST+4 FLG_FIRST_STRAT(:,:) = 0 !FLAG TO DETERMINE IF THE FIRST STRATOSPHERIC ! LEVEL HAS BEEN REACHED ! Are we calculating delta-T? Calc_DeltaT = (Input_Opt%Read_Dyn_Heating .and. (ISPECMENU.eq.0) .and. Input_Opt%RRTMG_FDH) ! Are we storing the dynamical heating rate? Store_DHR = ((.not. Input_Opt%Read_Dyn_Heating) .and. (ISPECMENU.eq.0) .and. Input_Opt%RRTMG_FDH) ! Factor to relax non-stratospheric temperatures by If (Input_Opt%RRTMG_SEFDH) Then ! Time step length in days DT_Days = (Input_Opt%ts_rad * 1.0e+0_RB) / (3600.0e+0_RB * 24.0e+0_RB) ! One day e-folding time Relax_Factor = exp(-1.0 * DT_Days / relax_time) Else Relax_Factor = 0.0 End If !DETERMINE IF WE ARE RUNNING WITH AEROSOL !CREATE INDEX FOR AEROSOLS REQUIRED LOUTPUTAERO = .TRUE. !SET AEROSOL DIAG OUTPUT TO TRUE INITIALLY DOAERAD = .FALSE. NASPECRAD_ON = 0 IASPECRAD_ON(:) = 0 DO N=1,State_Chm%Phot%NASPECRAD IF (SPECMASK(N).GT.0) THEN DOAERAD = .TRUE. NASPECRAD_ON = NASPECRAD_ON +1 !create list of species required and tag with index IASPECRAD_ON(NASPECRAD_ON) = N IDIAGOUT = MAX(IDIAGOUT,SPECMASK(N)) ENDIF ENDDO !write(6,*) 'SPECMASK:',SPECMASK ! Initialize arrays TAUCLD(:,:,:) = 0.0 CLDFR(:,:,:) = 0.0 RELIQ(:,:,:) = 0.0 REICE(:,:,:) = 0.0 CLIQWP(:,:,:) = 0.0 CICEWP(:,:,:) = 0.0 TAUAER_LW(:,:,:,:) = 0.0 TAUAER_SW(:,:,:,:) = 0.0 SSAAER(:,:,:,:) = 0.0 ASMAER(:,:,:,:) = 0.0 TAUAERDIAG(:,:,:,:) = 0.0D0 SSAAERDIAG(:,:,:,:) = 0.0D0 ASMAERDIAG(:,:,:,:) = 0.0D0 UFLX(:,:) = 0.0 DFLX(:,:) = 0.0 HR(:,:) = 0.0 UFLXC(:,:) = 0.0 DFLXC(:,:) = 0.0 HRC(:,:) = 0.0 DUFLX_DT(:,:) = 0.0 DUFLXC_DT(:,:) = 0.0 SWUFLX(:,:) = 0.0 SWDFLX(:,:) = 0.0 SWHR(:,:) = 0.0 SWUFLXC(:,:) = 0.0 SWDFLXC(:,:) = 0.0 SWHRC(:,:) = 0.0 O3VMR(:,:,:) = 0.0 CH4VMR(:,:,:) = 0.0 H2OVMR(:,:,:) = 0.0 CO2VMR(:,:,:) = 0.0 N2OVMR(:,:,:) = 0.0 CFC11VMR(:,:,:) = 0.0 CFC12VMR(:,:,:) = 0.0 CCL4VMR(:,:,:) = 0.0 CFC22VMR(:,:,:) = 0.0 NBNDS = NBNDLW+NBNDSW !================================================================= ! First-time setup !================================================================= IF ( FIRST ) THEN ! Define species ID flags id_O3 = Ind_('O3') id_CH4 = Ind_('CH4') id_H2O = Ind_('H2O') id_N2O = Ind_('N2O') id_CFC11 = Ind_('CFC11') id_CFC12 = Ind_('CFC12') id_CCL4 = Ind_('CCL4') id_HCFC22 = Ind_('HCFC22') ! Get pointers to data fields that are read by HEMCO ! NOTE: This has to be done here and not in initialization ! because we have to wait for HEMCO to read the data from disk, ! which is done after initialization. (bmy, 10/30/18) CALL AttachPointersFromHemco( RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "AttachPointersFromHemco"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Reset first-time flag FIRST = .FALSE. ENDIF !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, IB ) & !$OMP SCHEDULE( DYNAMIC ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! BROADBAND ALBEDO ! Attache the HEMCO pointers to RRTMG albedo variables (bmy, 11/1/18) ALBDIRVIS(I,J) = MODIS_ALBDRVIS(I,J) ALBDIFVIS(I,J) = MODIS_ALBDFVIS(I,J) ALBDIRNIR(I,J) = MODIS_ALBDRNIR(I,J) ALBDIFNIR(I,J) = MODIS_ALBDFNIR(I,J) IF ((ALBDIRVIS(I,J).GT.0.999) .OR. & (ALBDIRVIS(I,J).LT.0.001)) THEN WRITE(6,*) 'ALBEDO DRVIS OUT OF RANGE',I,J,ALBDIRVIS(I,J) ENDIF IF ((ALBDIFVIS(I,J).GT.0.999) .OR. & (ALBDIFVIS(I,J).LT.0.001)) THEN WRITE(6,*) 'ALBEDO DFVIS OUT OF RANGE',I,J,ALBDIFVIS(I,J) ENDIF IF ((ALBDIRNIR(I,J).GT.0.999) .OR. & (ALBDIRNIR(I,J).LT.0.001)) THEN WRITE(6,*) 'ALBEDO DRNIR OUT OF RANGE',I,J,ALBDIRNIR(I,J) ENDIF IF ((ALBDIFNIR(I,J).GT.0.999) .OR. & (ALBDIFNIR(I,J).LT.0.001)) THEN WRITE(6,*) 'ALBEDO DFNIR OUT OF RANGE',I,J,ALBDIFNIR(I,J) ENDIF ! Assign the MODIS emissivity pointers from HEMCO to the ! different slots of the RTEMISS array (for each spectral band) ! Hardcode the assignments, which is much faster (bmy, 11/2/18) RTEMISS(I,J,1 ) = MODIS_EMISS_01(I,J) RTEMISS(I,J,2 ) = MODIS_EMISS_02(I,J) RTEMISS(I,J,3 ) = MODIS_EMISS_03(I,J) RTEMISS(I,J,4 ) = MODIS_EMISS_04(I,J) RTEMISS(I,J,5 ) = MODIS_EMISS_05(I,J) RTEMISS(I,J,6 ) = MODIS_EMISS_06(I,J) RTEMISS(I,J,7 ) = MODIS_EMISS_07(I,J) RTEMISS(I,J,8 ) = MODIS_EMISS_08(I,J) RTEMISS(I,J,9 ) = MODIS_EMISS_09(I,J) RTEMISS(I,J,10) = MODIS_EMISS_10(I,J) RTEMISS(I,J,11) = MODIS_EMISS_11(I,J) RTEMISS(I,J,12) = MODIS_EMISS_12(I,J) RTEMISS(I,J,13) = MODIS_EMISS_13(I,J) RTEMISS(I,J,14) = MODIS_EMISS_14(I,J) RTEMISS(I,J,15) = MODIS_EMISS_15(I,J) RTEMISS(I,J,16) = MODIS_EMISS_16(I,J) ENDDO ENDDO !$OMP END PARALLEL DO !%%% NOTE: LOOPS ARE GOING IN WRONG ORDER (bmy, 1/8/18) DO I = 1, State_Grid%NX DO J = 1, State_Grid%NY DO L = 1, State_Grid%NZ PCENTER(I,J,L) = GET_PCENTER( I, J, L ) PEDGE (I,J,L) = GET_PEDGE ( I, J, L ) ! H2O will be overwritten later except above the ! chemistry grid H2OVMR (I,J,L) = State_Met%AVGW(I,J,L) TLAY (I,J,L) = State_Met%T(I,J,L) SUNCOS (I,J,L) = State_Met%SUNCOS(I,J) ENDDO TSFC (I,J) = State_Met%TSKIN(I,J) ENDDO ENDDO ! Incorporate temperature adjustment if not the baseline ! call and we are using fixed dynamical heating ! In either case, shortwave calculation is unaffected If (.not. Input_Opt%RRTMG_SEFDH) Then TLAY_SW(:,:,:) = TLAY(:,:,:) End If ! If pure FDH, DT_3D will be zero on the baseline call ! and non-zero for the single-species calls. If this is ! SEFDH, DT_3D will evolve consistently and be either ! modified by this routine (baseline call) or unchanged ! (single-species call); however, for single-species ! calls, the DT_3D will match that which was PROVIDED to ! the baseline call. If (Input_Opt%RRTMG_FDH) Then TLAY(:,:,:) = TLAY(:,:,:) + DT_3D(:,:,:) End If ! If using SEFDH, adjust temperatures for all (why not) If (Input_Opt%RRTMG_SEFDH) Then TLAY_SW(:,:,:) = TLAY(:,:,:) End If !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, IN_TROP ) & !$OMP PRIVATE( AIR_TMP, YLAT, O3COL, O3_CTM, T_CTM ) & !$OMP PRIVATE( P_CTM, T_CLIM, Z_CLIM, O3_CLIM, AIR_CLIM ) & !$OMP SCHEDULE( DYNAMIC ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ALBVIS(I,J) = State_Met%ALBD(I,J) ! Grid box latitude [degrees] YLAT = State_Grid%YMid(I,J) #if defined( EXTERNAL_GRID ) || defined( EXTERNAL_FORCING ) ! Define the P array here, using GCM pressures DO L = 1, State_Grid%NZ+1 P_CTM(L) = State_Met%PEDGE(I,J,L) ENDDO #else ! Define the P array here, using Ap and Bp from GEOS-Chem DO L = 1, State_Grid%NZ+1 P_CTM(L) = GET_PEDGE(I,J,L) ENDDO #endif ! Top edge of P_CTM is top of atmosphere P_CTM(State_Grid%NZ+2) = 0d0 ! Temperature profile [K] T_CTM(1:State_Grid%NZ) = State_Met%T(I,J,1:State_Grid%NZ) ! Top of atmosphere T_CTM(State_Grid%NZ+1) = T_CTM(State_Grid%NZ) ! Overhead ozone column [DU] ! These values are either from the met fields or TOMS/SBUV, ! depending on the settings in geoschem_config.yml O3COL = GET_OVERHEAD_O3(State_Chm, I,J) ! CTM ozone densities (molec/cm3) O3_CTM = 0d0 LCHEM = State_Met%ChemGridLev(I,J) DO L = 1, LCHEM O3_CTM(L) = State_Chm%Species(id_O3)%Conc(I,J,L) ENDDO DO L = 1, State_Grid%NZ !----------------------------- ! GET CLOUD PROPERTIES BY SETTING REASONABLE VALUES FOR REL ! AND REI IN MICRONS AND CALCULATING LWP AND IWP FROM ! VISIBLE OPTICAL DEPTH (IN G/M2) !----------------------------- IF (ICLD.NE.0) THEN ! LIQUID CLIQWP(I,J,L) = 0.667*State_Met%TAUCLW(I,J,L)*RHOLIQ*REL_DEF RELIQ(I,J,L) = REL_DEF ! ICE CICEWP(I,J,L) = 0.667*State_Met%TAUCLI(I,J,L)*RHOICE*REI_DEF REICE(I,J,L) = REI_DEF !TAUCLD DERIVED IN MCICA SUB, NOT NEEDED CLDFR(I,J,L) = State_Met%CLDF(I,J,L) ENDIF !CLOUDS ! SET O3, CH4, N2O AND CFC PROFILES !IF O3 REQUESTED THEN SPECMASK WILL BE SET TO ZERO !SO THAT O3 WILL BE REMOVED RELATIVE TO THE BASELINE CASE !(WHEN SPECMASK DEFAULTS TO 1) !I.E. WE WANT TO RUN WITHOUT THE GAS IF IT HAS BEEN !REQUESTED SO THAT WE CAN DIFFERENCE WITH THE BASELINE RUN ! Treat tropospheric and stratospheric ozone seprately In_Trop = State_Met%InTroposphere(I,J,L) IF ( ((.not. In_Trop) .and. (SPECMASK(State_Chm%Phot%NASPECRAD+1).EQ.1) ) .or. & ( In_Trop .and. (SPECMASK(State_Chm%Phot%NASPECRAD+2).EQ.1) ) ) Then O3VMR(I,J,L) = Spc(id_O3)%Conc(I,J,L) * AIRMW / & State_Chm%SpcData(id_O3)%Info%MW_g ENDIF IF (SPECMASK(State_Chm%Phot%NASPECRAD+3).EQ.1) THEN CH4VMR(I,J,L) = Spc(id_CH4)%Conc(I,J,L) * AIRMW /& State_Chm%SpcData(id_CH4)%Info%MW_g ENDIF IF (SPECMASK(State_Chm%Phot%NASPECRAD+4).EQ.1) THEN H2OVMR(I,J,L) = Spc(id_H2O)%Conc(I,J,L) * AIRMW / & State_Chm%SpcData(id_H2O)%Info%MW_g ELSE ! Set to zero to override the default (AVGW) H2OVMR(I,J,L) = 0.0 ENDIF IF (SPECMASK(State_Chm%Phot%NASPECRAD+7).EQ.1) THEN N2OVMR(I,J,L) = Spc(id_N2O)%Conc(I,J,L) * AIRMW / & State_Chm%SpcData(id_N2O)%Info%MW_g ENDIF IF (SPECMASK(State_Chm%Phot%NASPECRAD+6).EQ.1) THEN CFC11VMR(I,J,L) =Spc(id_CFC11)%Conc(I,J,L) * AIRMW /& State_Chm%SpcData(id_CFC11)%Info%MW_g CFC12VMR(I,J,L) =Spc(id_CFC12)%Conc(I,J,L) * AIRMW / & State_Chm%SpcData(id_CFC12)%Info%MW_g CCL4VMR(I,J,L) =Spc(id_CCL4)%Conc(I,J,L) * AIRMW / & State_Chm%SpcData(id_CCL4)%Info%MW_g CFC22VMR(I,J,L) =Spc(id_HCFC22)%Conc(I,J,L) * AIRMW/ & State_Chm%SpcData(id_HCFC22)%Info%MW_g ENDIF ENDDO ENDDO ENDDO !$OMP END PARALLEL DO IF (DOAERAD) THEN DO IB = 1,NBNDS !RRTMG WAVEBANDS START AFTER WVAA0 STANDARD WAVELNGTHS IN GC ARRAYS !BASED ON LUT ORDER. JUST APPLY OFFSET IBX=IB+State_Chm%Phot%NWVAA0 IB_SW = IB-NBNDLW DO IS = 1,State_Chm%Phot%NASPECRAD !THE AEROSOL SPECIES WE ARE CURRENTLY CALCULATING FOR WILL BE !SET TO THE LSPECRADMENU VALUE FOR THAT SPECIES. !THIS MEANS THAT RRTMG REQUIRES *ALL OTHER* SPECIES SO THAT THE !FLUX IN ABSENCE OF THE SPECIES CAN BE CALCULATED (THE !DIFFERENCE OF THIS WITH THE BASELINE GIVES THE FLUX CHANGE FOR !THAT SPECIES). ! !THEREFORE WE COMPILE TWO SETS OF AEROSOL PROPERTIES: !(1) ALL BUT THE CURRENT SPECIES TO SEND TO RRTMG !(2) THE CURRENT SPECIES FOR OUTPUT TO THE RT DIAGNOSTICS ! ALSO, WE MUST MERGE AEROSOL PROPERTIES FOR THE SPECIES TO BE OUTPUT ! (I.E. COMBINE HYDROPHILIC/PHOBIC AND MULTIPLE SIZES) !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L ) & !$OMP SCHEDULE( DYNAMIC ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX !MAKE SURE WE HAVE SENSIBLE DATA !DONT WASTE TIME IF VIRTUALLY NO AEROSOL IF (RTODAER(I,J,L,IBX,IS).GT.1e-10) THEN IF (IB.LE.16) THEN !LW IF (SPECMASK(IS).EQ.1) THEN TAUAER_LW(I,J,L,IB) = TAUAER_LW(I,J,L,IB) + & RTODAER(I,J,L,IBX,IS) ENDIF ELSE !SW !IF SPECMASK(IS)=1 THEN WE AGGREGATE THAT SPECIES FOR RRTMG !IF SPECMASK(IS)>1 THEN WE SAVE THAT SPECIES FOR DIAG OUTPUT IF (SPECMASK(IS).EQ.1) THEN TAUAER_SW(I,J,L,IB_SW)=TAUAER_SW(I,J,L,IB_SW)+ & RTODAER(I,J,L,IBX,IS) SSAAER(I,J,L,IB_SW) = SSAAER(I,J,L,IB_SW) + & RTSSAER(I,J,L,IBX,IS)*RTODAER(I,J,L,IBX,IS) ASMAER(I,J,L,IB_SW) = ASMAER(I,J,L,IB_SW) + & RTASYMAER(I,J,L,IBX,IS) * & RTODAER(I,J,L,IBX,IS)*RTSSAER(I,J,L,IBX,IS) ENDIF IF (SPECMASK(IS).GT.1) THEN TAUAERDIAG(I,J,L,IB_SW)=TAUAERDIAG(I,J,L,IB_SW)+ & RTODAER(I,J,L,IBX,IS) SSAAERDIAG(I,J,L,IB_SW) = SSAAERDIAG(I,J,L,IB_SW) +& RTSSAER(I,J,L,IBX,IS)*RTODAER(I,J,L,IBX,IS) ASMAERDIAG(I,J,L,IB_SW) = ASMAERDIAG(I,J,L,IB_SW) +& RTASYMAER(I,J,L,IBX,IS) * & RTODAER(I,J,L,IBX,IS)*RTSSAER(I,J,L,IBX,IS) !IF ((IS.EQ.9).AND.(L.GT.30).AND.(IB_SW.EQ.10).AND. ! (RTODAER(I,J,L,IBX,IS).GT.0.0d0)) THEN ! write(6,*) 'STS',I,J,L,IBX,IS,RTODAER(I,J,L,IBX,IS), & ! RTSSAER(I,J,L,IBX,IS) !ENDIF ENDIF ENDIF ENDIF ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDDO !SPECIES !NOW AEROSOL HAVE BEEN SUMMED AND WEIGHTED BY AOD AND SSA !DIVIDE THROUGH BY TOTAL AOD (FOR SSA) AND AOD*SSA (FOR ASYM) IF (IB.GT.16) THEN !SW !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L ) & !$OMP SCHEDULE( DYNAMIC ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Needs to be run on every cell, as stratosphere may contain ! some aerosol IF ((TAUAER_SW(I,J,L,IB_SW).GT.0).AND. & ( SSAAER(I,J,L,IB_SW).GT.0)) THEN !DIVIDE SUM(ASYM*SSA*OD) BY SUM(SSA*OD) TO GET !OD*SSA WEIGHTED ASYM ASMAER(I,J,L,IB_SW) = ASMAER(I,J,L,IB_SW) / & SSAAER(I,J,L,IB_SW) !DIVIDE SUM(SSA*OD) BY SUM(OD) TO GET OD WEIGHTED SSA SSAAER(I,J,L,IB_SW) = SSAAER(I,J,L,IB_SW) / & TAUAER_SW(I,J,L,IB_SW) ENDIF !AND DO THE SAME FOR THE SPECIES WE'RE INTERESTED IN IF ((TAUAERDIAG(I,J,L,IB_SW).GT.0).AND. & ( SSAAERDIAG(I,J,L,IB_SW).GT.0)) THEN !DIVIDE SUM(ASYM*SSA*OD) BY SUM(SSA*OD) TO GET !OD*SSA WEIGHTED ASYM ASMAERDIAG(I,J,L,IB_SW) = ASMAERDIAG(I,J,L,IB_SW) / & SSAAERDIAG(I,J,L,IB_SW) !DIVIDE SUM(SSA*OD) BY SUM(OD) TO GET OD WEIGHTED SSA SSAAERDIAG(I,J,L,IB_SW) = SSAAERDIAG(I,J,L,IB_SW) / & TAUAERDIAG(I,J,L,IB_SW) ENDIF !ENDIF ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDIF ENDDO !BAND ELSE !NO AEROSOL, SET ALL TO SAFE VALUES !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, IB, IB_SW ) & !$OMP SCHEDULE( DYNAMIC ) DO IB= 1, NBNDS IB_SW = IB-NBNDLW DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX IF (IB.LE.16) THEN TAUAER_LW(I,J,L,IB) = 0.0 ELSE TAUAER_SW(I,J,L,IB_SW) = 0.0D0 SSAAER(I,J,L,IB_SW) = 0.99D0 ASMAER(I,J,L,IB_SW) = 0.2D0 TAUAERDIAG(I,J,L,IB_SW) = 0.0D0 SSAAERDIAG(I,J,L,IB_SW) = 0.99D0 ASMAERDIAG(I,J,L,IB_SW) = 0.2D0 ENDIF !ENDIF ENDDO ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDIF ! checking values DO IB= NBNDLW+1, NBNDS IB_SW = IB-NBNDLW DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX IF (ASMAER(I,J,L,IB_SW).GT.0.999d0) THEN ASMAER(I,J,L,IB_SW) = 0.999d0 ENDIF !IF (ASMAER(I,J,L,IB_SW).LT.0.001d0) THEN ! ASMAER(I,J,L,IB_SW) = 0.001 !ENDIF IF ((SSAAER(I,J,L,IB_SW).LT.0.001d0).OR. & (SSAAER(I,J,L,IB_SW).GT.1.0d0)) THEN SSAAER(I,J,L,IB_SW) = 0.99 ENDIF IF (TAUAER_SW(I,J,L,IB_SW).GT.1.0) THEN TAUAER_SW(I,J,L,IB_SW) = 1.0 ENDIF IF (ASMAERDIAG(I,J,L,IB_SW).GT.0.999d0) THEN ASMAERDIAG(I,J,L,IB_SW) = 0.999d0 ENDIF !IF (ASMAERDIAG(I,J,L,IB_SW).LT.0.001d0) THEN ! ASMAERDIAG(I,J,L,IB_SW) = 0.001 !ENDIF IF ((SSAAERDIAG(I,J,L,IB_SW).LT.0.001d0).OR. & (SSAAERDIAG(I,J,L,IB_SW).GT.1.0d0)) THEN SSAAERDIAG(I,J,L,IB_SW) = 0.99 ENDIF IF (TAUAERDIAG(I,J,L,IB_SW).GT.1.0) THEN TAUAERDIAG(I,J,L,IB_SW) = 1.0 ENDIF ENDDO ENDDO ENDDO ENDDO DOY = GET_DAY_OF_YEAR() ONECOL = 1 ! GET LEVEL VALUES GCAIR = 1.0E-3*GASCON/AVOGAD DO J=1,State_Grid%NY DO I=1,State_Grid%NX PLEV(I,J,1) = PEDGE(I,J,1) ! SET LOWEST LEVEL TO SURFACE PRESSURE TLEV(I,J,1) = TLAY(I,J,1) ! SET LOWEST LEVEL TO LAYER TEMPERATURE (KLUDGE) TLEV_SW(I,J,1) = TLAY_SW(I,J,1) ! SET LOWEST LEVEL TO LAYER TEMPERATURE (KLUDGE) PLEV(I,J,State_Grid%NZ+1) = PCENTER(I,J,State_Grid%NZ) TLEV(I,J,State_Grid%NZ+1) = TLAY(I,J,State_Grid%NZ) TLEV_SW(I,J,State_Grid%NZ+1) = TLAY_SW(I,J,State_Grid%NZ) DO L=2,State_Grid%NZ RHOA = PCENTER(I,J,L-1)/(GCAIR*TLAY(I,J,L-1)) RHOB = PCENTER(I,J,L)/(GCAIR*TLAY(I,J,L)) RHOSUM = RHOA+RHOB PLEV(I,J,L) = (RHOA*PCENTER(I,J,L-1)+RHOB*PCENTER(I,J,L))/RHOSUM TLEV(I,J,L) = (RHOA*TLAY(I,J,L-1)+RHOB*TLAY(I,J,L))/RHOSUM ! Repeat for SW RHOA = PCENTER(I,J,L-1)/(GCAIR*TLAY_SW(I,J,L-1)) RHOB = PCENTER(I,J,L)/(GCAIR*TLAY_SW(I,J,L)) RHOSUM = RHOA+RHOB TLEV_SW(I,J,L) = (RHOA*TLAY_SW(I,J,L-1)+RHOB*TLAY_SW(I,J,L))/RHOSUM END DO END DO END DO ! FILL CO2, N2O AND O2 ARRAYS WITH REASONABLE ATMOSPHERIC VALUES IF (SPECMASK(State_Chm%Phot%NASPECRAD+5).EQ.1) THEN ! Was 3.90e-4 (i.e. 390 ppmv), but now set from Input_Opt CO2VMR(:,:,:) = Input_Opt%RRTMG_CO2_ppmv * 1.0d-6 END IF O2VMR(:,:,:) = 0.209 SELECT CASE (ICLD) ! CLOUD SETUP FOR CLEAR CASE (0) IDRV = 0 ICLDMCL = 0 INFLGLW = 0 INFLGSW = 0 TAUCMCL_LW(:,:,:,:) = 0.0 TAUCMCL_SW(:,:,:,:) = 0.0 ICEFLGLW = 0 LIQFLGLW = 0 ICEFLGSW = 0 LIQFLGSW = 0 !PRINT *,'CLEAR' ! CLOUD SETUP FOR MCICA CLOUD (ONLY OPTION NOW) CASE (1) IDRV = 0 ICLDMCL = 2 !MAXIMUM RANDOM OVERLAP INFLGLW = 2 INFLGSW = 2 TAUCLD_LW(:,:,:,:) = 0.0 ! TAUCLD NOT USED TAUCLD_SW(:,:,:,:) = 0.0 TAUCMCL_LW(:,:,:,:) = 0.0 ! USED ONLY AS A CHECK TAUCMCL_SW(:,:,:,:) = 0.0 SSACLD(:,:,:,:) = 0.0 ASMCLD(:,:,:,:) = 0.0 FSFCLD(:,:,:,:) = 0.0 ICEFLGLW = 2 !STREAMER LIQFLGLW = 1 !HU AND STAMNES ICEFLGSW = 2 !STREAMER LIQFLGSW = 1 !HU AND STAMNES RELIQ(:,:,:) = REL_DEF REICE(:,:,:) = REI_DEF END SELECT ! WE ONLY NEED TO CALC CLOUDS ONCE PER RT TIMESTEP ! DO THIS ON BASELINE CALL IF ALL-SKY IS REQUESTED IF (ISPECMENU.EQ.0) THEN SEEDLW=ISEED+NGPTSW+1 SEEDSW=SEEDLW+NGPTLW+1 !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, PCENTER0, CLDFR0 ) & !$OMP PRIVATE( CLIQWP0, CICEWP0, REICE0, RELIQ0 ) & !$OMP PRIVATE( TAUCLD_SW0, SSACLD0, ASMCLD0, FSFCLD0 ) & !$OMP PRIVATE( CLDFMCL_LW0, CIWPMCL_LW0, CLWPMCL_LW0, REICMCL0 ) & !$OMP PRIVATE( RELQMCL0, TAUCMCL_LW0, CLDFMCL_SW0, CIWPMCL_SW0 ) & !$OMP PRIVATE( CLWPMCL_SW0, TAUCMCL_SW0, SSACMCL0, ASMCMCL0 ) & !$OMP PRIVATE( FSFCMCL0, p_PCENTER, p_CLDFR, p_CICEWP ) & !$OMP PRIVATE( p_CLIQWP, p_REICE, p_RELIQ, p_TAUCLD_LW ) & !$OMP PRIVATE( p_TAUCLD_SW, p_SSACLD, p_ASMCLD, p_FSFCLD ) & !$OMP SCHEDULE( DYNAMIC ) DO J=1, State_Grid%NY DO I=1, State_Grid%NX ! Avoid array temporaries in the subroutine call (bmy, 6/3/15) ! These arrays are used by both MCICA_SUBCOL_LW and MCICA_SUBCOL_SW p_PCENTER = PCENTER(I,J,:) p_CLDFR = CLDFR (I,J,:) p_CICEWP = CICEWP (I,J,:) p_CLIQWP = CLIQWP (I,J,:) p_REICE = REICE (I,J,:) p_RELIQ = RELIQ (I,J,:) !------------------------------------------------------------- ! Long-wave radiation !------------------------------------------------------------- IF (Input_Opt%LLWRAD) THEN ! Avoid array temporaries in the subroutine call (bmy, 6/3/15) ! These arrays are only used in MCICA_SUBCOL_LW p_TAUCLD_LW = TAUCLD_LW(:,I,J,:) ! Call MCICA longwave CALL MCICA_SUBCOL_LW( & !------------------------------------- ! Inputs ONECOL, & State_Grid%NZ, & ICLDMCL, & SEEDLW, & IRNG, & p_PCENTER, & p_CLDFR, & p_CICEWP, & p_CLIQWP, & p_REICE, & p_RELIQ, & p_TAUCLD_LW, & !------------------------------------- ! Outputs CLDFMCL_LW0, & CIWPMCL_LW0, & CLWPMCL_LW0, & REICMCL0, & RELQMCL0, & TAUCMCL_LW0 ) ! Copy back into 3-D arrays CLDFMCL_LW(:,I,J,:) = CLDFMCL_LW0(:,1,:) CIWPMCL_LW(:,I,J,:) = CIWPMCL_LW0(:,1,:) CLWPMCL_LW(:,I,J,:) = CLWPMCL_LW0(:,1,:) TAUCMCL_LW(:,I,J,:) = TAUCMCL_LW0(:,1,:) ENDIF !------------------------------------------------------------- ! Short-wave radiation !------------------------------------------------------------- IF (Input_Opt%LSWRAD) THEN ! Avoid array temporaries in the subroutine call (bmy, 6/3/15) ! These arrays are only used in MCICA_SUBCOL_SW p_TAUCLD_SW = TAUCLD_SW(:,I,J,:) p_SSACLD = SSACLD (:,I,J,:) p_ASMCLD = ASMCLD (:,I,J,:) p_FSFCLD = FSFCLD (:,I,J,:) ! Call MCICA shortwave CALL MCICA_SUBCOL_SW( & !------------------------------------- ! Inputs ONECOL, & State_Grid%NZ, & ICLDMCL, & SEEDSW, & IRNG, & p_PCENTER, & p_CLDFR, & p_CICEWP, & p_CLIQWP, & p_REICE, & p_RELIQ, & p_TAUCLD_SW, & p_SSACLD, & p_ASMCLD, & p_FSFCLD, & !------------------------------------- ! Outputs CLDFMCL_SW0, & CIWPMCL_SW0, & CLWPMCL_SW0, & REICMCL0, & RELQMCL0, & TAUCMCL_SW0, & SSACMCL0, & ASMCMCL0, & FSFCMCL0 ) ! Copy back into 3-D arrays CLDFMCL_SW(:,I,J,:) = CLDFMCL_SW0(:,1,:) CIWPMCL_SW(:,I,J,:) = CIWPMCL_SW0(:,1,:) CLWPMCL_SW(:,I,J,:) = CLWPMCL_SW0(:,1,:) TAUCMCL_SW(:,I,J,:) = TAUCMCL_SW0(:,1,:) SSACMCL (:,I,J,:) = SSACMCL0 (:,1,:) ASMCMCL (:,I,J,:) = ASMCMCL0 (:,1,:) FSFCMCL (:,I,J,:) = FSFCMCL0 (:,1,:) ENDIF ! these should be independent of LW and SW ! simply rearranged by the MCICA routine REICMCL(I,J,:) = REICMCL0(1,:) RELQMCL(I,J,:) = RELQMCL0(1,:) ENDDO ENDDO !$OMP END PARALLEL DO ENDIF !DO MCICA CLOUDS ! Number of columns which fail to converge - initialize to zero N_Failed = 0 !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, UFLX, DFLX, HR ) & !$OMP PRIVATE( UFLXC, DFLXC, HRC, DUFLX_DT ) & !$OMP PRIVATE( DUFLXC_DT, ECAER, SWUFLX, SWDFLX ) & !$OMP PRIVATE( SWHR, SWUFLXC, SWDFLXC, SWHRC ) & !$OMP PRIVATE( p_PCENTER, p_PLEV, p_TLAY, p_TLEV ) & !$OMP PRIVATE( p_H2OVMR, p_O3VMR, p_CO2VMR, p_CH4VMR ) & !$OMP PRIVATE( p_N2OVMR, p_O2VMR, p_CFC11VMR, p_CFC12VMR ) & !$OMP PRIVATE( p_CFC22VMR, p_CCL4VMR, p_RTEMISS, p_REICMCL ) & !$OMP PRIVATE( p_RELQMCL, p_CLDFMCL_LW, p_TAUCMCL_LW, p_CIWPMCL_LW ) & !$OMP PRIVATE( p_CLWPMCL_LW, p_TAUAER_LW, p_CLDFMCL_SW, p_TAUCMCL_SW ) & !$OMP PRIVATE( p_SSACMCL, p_ASMCMCL, p_FSFCMCL, p_CIWPMCL_SW ) & !$OMP PRIVATE( p_CLWPMCL_SW, p_TAUAER_SW, p_SSAAER, p_ASMAER ) & !$OMP PRIVATE( p_SUNCOS, dtadj, HRdyn, HRstrat ) & !$OMP PRIVATE( RHOA, RHOB, RHOSUM, StratImbal ) & !$OMP PRIVATE( HR_P, p_TLAY_P, I_PC, p_TLAY_0 ) & !$OMP PRIVATE( UFLXC_P, DFLXC_P, UFLX_P, DFLX_P ) & !$OMP PRIVATE( TSadj_adapt, TSadj, i_Iter, L ) & !$OMP PRIVATE( p_TLAY_SW, p_TLEV_SW, Do_Adjust ) & !$OMP PRIVATE( last_max, curr_max, i_max, last_max_stored ) & !$OMP SCHEDULE( DYNAMIC ) DO J=1, State_Grid%NY DO I=1, State_Grid%NX ! Avoid arrray temporaries in subroutines (bmy, 6/3/15) ! These variables are used in both RRTMG_LW and RRTMG_SW p_PCENTER = PCENTER (I,J,:) p_PLEV = PLEV (I,J,:) p_TLAY = TLAY (I,J,:) p_TLEV = TLEV (I,J,:) p_H2OVMR = H2OVMR (I,J,:) p_O3VMR = O3VMR (I,J,:) p_CO2VMR = CO2VMR (I,J,:) p_CH4VMR = CH4VMR (I,J,:) p_N2OVMR = N2OVMR (I,J,:) p_O2VMR = O2VMR (I,J,:) p_CFC11VMR = CFC11VMR(I,J,:) p_CFC12VMR = CFC12VMR(I,J,:) p_CFC22VMR = CFC22VMR(I,J,:) p_CCL4VMR = CCL4VMR (I,J,:) p_RTEMISS = RTEMISS (I,J,:) p_REICMCL = REICMCL (I,J,:) p_RELQMCL = RELQMCL (I,J,:) ! For shortwave calculations we need to neglect the strat. ! adjustment (otherwise inconsistent with baseline) p_TLAY_SW = TLAY_SW(I,J,:) p_TLEV_SW = TLEV_SW(I,J,:) !-------------------------------------------------------------- ! RRTMG - Longwave radiation !-------------------------------------------------------------- IF (Input_Opt%LLWRAD) THEN ! Avoid array temporaries in subroutine calls (bmy, 6/3/15) ! These arrays are only used in RRTMG_LW p_CLDFMCL_LW = CLDFMCL_LW(:,I,J,: ) p_TAUCMCL_LW = TAUCMCL_LW(:,I,J,: ) p_CIWPMCL_LW = CIWPMCL_LW(:,I,J,: ) p_CLWPMCL_LW = CLWPMCL_LW(:,I,J,: ) p_TAUAER_LW = TAUAER_LW ( I,J,:,:) ! Call RRTMG for longwave radiation CALL RRTMG_LW( & !------------------------------------- ! Inputs ONECOL, & State_Grid%NZ, & ICLDMCL, & IDRV, & p_PCENTER, & p_PLEV, & p_TLAY, & p_TLEV, & TSFC(I,J), & p_H2OVMR, & p_O3VMR, & p_CO2VMR, & p_CH4VMR, & p_N2OVMR, & p_O2VMR, & p_CFC11VMR, & p_CFC12VMR, & p_CFC22VMR, & p_CCL4VMR, & p_RTEMISS, & INFLGLW, & ICEFLGLW, & LIQFLGLW, & p_CLDFMCL_LW, & p_TAUCMCL_LW, & p_CIWPMCL_LW, & p_CLWPMCL_LW, & p_REICMCL, & p_RELQMCL, & p_TAUAER_LW, & !------------------------------------- ! Outputs UFLX, & DFLX, & HR, & UFLXC, & DFLXC, & HRC, & DUFLX_DT, & DUFLXC_DT ) ! Copy back into 3-D arrays LW_UFLUX (I,J,:) = UFLX (1,:) LW_DFLUX (I,J,:) = DFLX (1,:) LW_UFLUXC(I,J,:) = UFLXC(1,:) LW_DFLUXC(I,J,:) = DFLXC(1,:) ENDIF !LW !-------------------------------------------------------------- ! RRTMG - Shortwave radiation !-------------------------------------------------------------- IF (Input_Opt%LSWRAD) THEN !### Debug output !write(6,*) 'SWSHIZ',TAUAER_SW(I,J,1,5),SWUFLX(1,1),SWDFLX(1,1), & ! SWUFLXC(1,1),SWDFLXC(1,1) ! Avoid array temporaries in subroutine calls (bmy, 6/3/15) ! These arrays are only used in RRTMG_SW p_SUNCOS = SUNCOS ( I,J,: ) p_CLDFMCL_SW = CLDFMCL_SW(:,I,J,: ) p_TAUCMCL_SW = TAUCMCL_SW(:,I,J,: ) p_SSACMCL = SSACMCL (:,I,J,: ) p_ASMCMCL = ASMCMCL (:,I,J,: ) p_FSFCMCL = FSFCMCL (:,I,J,: ) p_CIWPMCL_SW = CIWPMCL_SW(:,I,J,: ) p_CLWPMCL_SW = CLWPMCL_SW(:,I,J,: ) p_TAUAER_SW = TAUAER_SW ( I,J,:,:) p_SSAAER = SSAAER ( I,J,:,:) p_ASMAER = ASMAER ( I,J,:,:) ! Call RRTMG for shortwave radiation CALL RRTMG_SW( & !------------------------------------- ! Inputs ONECOL, & State_Grid%NZ, & ICLDMCL, & p_PCENTER, & p_PLEV, & p_TLAY_SW, & p_TLEV_SW, & TSFC(I,J), & p_H2OVMR, & p_O3VMR, & p_CO2VMR, & p_CH4VMR, & p_N2OVMR, & p_O2VMR, & ALBDIRVIS(I,J), & ALBDIFVIS(I,J), & ALBDIRNIR(I,J), & ALBDIFNIR(I,J), & p_SUNCOS, & ADJES, & DOY, & SCON, & INFLGSW, & ICEFLGSW, & LIQFLGSW, & p_CLDFMCL_SW, & p_TAUCMCL_SW, & p_SSACMCL, & p_ASMCMCL, & p_FSFCMCL, & p_CIWPMCL_SW, & p_CLWPMCL_SW, & p_REICMCL, & p_RELQMCL, & p_TAUAER_SW, & p_SSAAER, & p_ASMAER, & !------------------------------------- ! Outputs ECAER, & SWUFLX, & SWDFLX, & SWHR, & SWUFLXC, & SWDFLXC, & SWHRC ) ! Copy back into 3-D arrays SW_UFLUX (I,J,:) = SWUFLX (1,:) SW_DFLUX (I,J,:) = SWDFLX (1,:) SW_UFLUXC(I,J,:) = SWUFLXC(1,:) SW_DFLUXC(I,J,:) = SWDFLXC(1,:) ENDIF !SW ! If we are including stratospheric adjustment, we need ! to repeat calculations using the approach outlined in ! Maycock et al. (2011) If (Store_DHR .or. Calc_DeltaT) Then If (Store_DHR) Then ! Assume that dT/dt is ~ 0; therefore the dynamical ! heating rate is approximately -1x the net radiative ! heating rate Do L=1,State_Grid%NZ HRdyn(L) = -1.0e+0_RB * (HR(1,L) + SWHR(1,L)) End Do ! Store in the output array HR_3D(I,J,:) = HRdyn(:) Else If (Calc_DeltaT.and.Input_Opt%RRTMG_SEFDH) Then ! Only performed on the baseline call ! Read the heating rate from the archived data HRdyn(:) = HR_3D(I,J,:) ! Update delta-T using simple forward Euler Do L=1,State_Grid%NZ If (State_Met%InStratosphere(I,J,L)) Then ! March forward to end of the coming time step DT_3D(I,J,L) = DT_3D(I,J,L) + (DT_days * (HR(1,L) + SWHR(1,L) + HRdyn(L))) Else ! Relax temperature adjustment to zero ! outside the stratosphere DT_3D(I,J,L) = DT_3D(I,J,L) * Relax_Factor End If End Do Else If (Calc_DeltaT.and.Input_Opt%RRTMG_FDH) Then ! Read the heating rate from the archived data HRdyn(:) = HR_3D(I,J,:) ! Assume we start in an imbalanced state StratImbal = .True. ! Cumulative integration time so far in days dtadj = 0.0d0 ! Iteration counter i_iter = 0 ! Initial time step (days) tsadj_adapt = tsadj_max last_max = 0.0d0 last_max_stored = 0.0d0 ! Debug ! Define which region we perform adjustment in Do_Adjust(:) = State_Met%InStratosphere(I,J,:) If (Input_Opt%RRTMG_SA_TOA) Then Do L = 1, State_Grid%NZ Do_Adjust(L) = (.not. State_Met%InTroposphere(I,J,L)) End Do End If Do While (StratImbal) i_iter = i_iter + 1 ! Reset net stratospheric heating rate HRstrat(:) = 0.0e+0_RB StratImbal = .False. ! Store temperatures at the start of the step Do L=1,State_Grid%NZ p_TLAY_0(L) = p_TLAY(L) End Do ! Perform RK4 integration forward in time ! Estimate heating rate at each of the 4 points Do I_PC = 1, N_PC ! Estimate heating rate using "current" conditions ! Can be skipped if i_iter == 1 because we just ran ! the longwave calculation If ((I_PC.gt.1).or.(i_iter.gt.1)) Then ! Reinterpolate temperatures p_TLEV(1) = p_TLAY(1) p_TLEV(State_Grid%NZ+1) = p_TLAY(State_Grid%NZ) Do L=2,State_Grid%NZ RHOA = p_PCENTER(L-1)/(GCAIR*p_TLAY(L-1)) RHOB = p_PCENTER(L )/(GCAIR*p_TLAY(L )) RHOSUM = RHOA+RHOB p_TLEV(L) = (RHOA*p_TLAY(L-1)+ & RHOB*p_TLAY(L ))/RHOSUM End Do ! Recalculate LW RT and heating CALL RRTMG_LW( & !------------------------------------- ! Inputs ONECOL, & State_Grid%NZ, & ICLDMCL, & IDRV, & p_PCENTER, & p_PLEV, & p_TLAY, & p_TLEV, & TSFC(I,J), & p_H2OVMR, & p_O3VMR, & p_CO2VMR, & p_CH4VMR, & p_N2OVMR, & p_O2VMR, & p_CFC11VMR, & p_CFC12VMR, & p_CFC22VMR, & p_CCL4VMR, & p_RTEMISS, & INFLGLW, & ICEFLGLW, & LIQFLGLW, & p_CLDFMCL_LW, & p_TAUCMCL_LW, & p_CIWPMCL_LW, & p_CLWPMCL_LW, & p_REICMCL, & p_RELQMCL, & p_TAUAER_LW, & !------------------------------------- ! Outputs UFLX, & DFLX, & HR, & UFLXC, & DFLXC, & HRC, & DUFLX_DT, & DUFLXC_DT ) End If ! I_PC > 1 or i_iter > 1 ! Store the gradient (heating rate) from each calculation HR_P(I_PC,:) = HR(1,:) ! If this is the last calculation, store the output ! All non-baseline calculations will use these temperatures ! if convergence has been reached If (I_PC == N_PC) Then p_TLAY_P(:) = p_TLAY(:) ! Also store the fluxes for transfer to the 3-D arrays UFLX_P(1,:) = UFLX(1,:) DFLX_P(1,:) = DFLX(1,:) UFLXC_P(1,:) = UFLXC(1,:) DFLXC_P(1,:) = DFLXC(1,:) End If ! Update the heating rate and layer temperatures ! Recall that for RK4, we will perform 4 estimates ! Estimate 1: heating rate at t = T + 0 ! Estimate 2: heating rate at t = T + dt/2, projected 1st order from t = T using estimate 1 ! Estimate 3: heating rate at t = T + dt/2, projected 1st order from t = T using estimate 2 ! Estimate 4: heating rate at t = T + dt, projected 1st order from t = T using estimate 3 ! Choose how far to project forward for the NEXT RK4 step If ((I_PC == 1).or.(I_PC == 2)) Then ! 2nd and 3rd evaluation to take place at t = T + dt/2 tsadj = tsadj_adapt / 2.0 Else ! 4th evaluation to take place at t = T + dt tsadj = tsadj_adapt End If ! If this is the last calculation, use the RK4 estimate of the heating rate If (I_PC == N_PC) Then HR(1,:) = (1.0/6.0) * & ( HR_P(1,:) + & (HR_P(2,:)*2.0) + & (HR_P(3,:)*2.0) + & HR_P(4,:) ) End If ! Reset HRstrat(:) = 0.0e+0_RB Do L=1,State_Grid%NZ If (Do_Adjust(L)) Then ! This should be approaching zero over time HRstrat(L) = HR(1,L) + SWHR(1,L) + HRdyn(L) ! Update layer temperature by projecting forward ! from the temperature at the start of the calculation ! loop (p_TLAY_0) p_TLAY(L) = (TSadj_adapt * HRstrat(L)) + p_TLAY_0(L) End If End Do ! L = 1, State-Grid%NZ End Do ! I_PC = 1, N_PC ! RK4 calculations now complete - move forward one timestep dtadj = dtadj + tsadj_adapt ! Check how close we are to equilibrium i_max = MaxLoc(Abs(HRstrat),1) curr_max = HRstrat(i_max) StratImbal = (Abs(curr_max) > HRmax) ! Is the net heating rate ~0? If (.not.StratImbal) Exit ! Are we oscillating? If so - reduce time step If ((i_iter.gt.1) .and. (((curr_max.gt.0) .and. (last_max.lt.0)) .or. & (((curr_max.lt.0) .and. (last_max.gt.0))))) Then tsadj_adapt = max(tsadj_adapt/2.0,tsadj_min) End If last_max_stored = last_max last_max = curr_max ! Are we taking too long to reach equilibrium? If (dtadj > dtadj_max) Exit End Do ! While StratImbal ! If convergence failed, record that If (StratImbal) Then !$OMP ATOMIC UPDATE N_Failed = N_Failed + 1 !$OMP END ATOMIC End If ! Store the flux arrays and delta-T from the final ! RK4 sub-calculation. This ensures that the fluxes ! and layer temperatures are all consistent. The ! alternative would be to run a final calculation ! using the "final" layer temperatures, but this would ! require yet another LW flux calculation. LW_UFLUX (I,J,:) = UFLX_P(1,:) LW_DFLUX (I,J,:) = DFLX_P(1,:) LW_UFLUXC(I,J,:) = UFLXC_P(1,:) LW_DFLUXC(I,J,:) = DFLXC_P(1,:) DT_3D(I,J,:) = p_TLAY_P(:) - TLAY(I,J,:) End If ! Calc_DeltaT End If ENDDO !State_Grid%NX ENDDO !State_Grid%NY !$OMP END PARALLEL DO If (Calc_DeltaT) Then ! Warn the user if there were failed columns If (N_Failed > 0) Then N_Column = State_Grid%NX*State_Grid%NY Write(ErrMsg,'(a,I6,a,I6,a,I6)') 'RRTMG FDH routine failed to converge for ',N_Failed, & ' of ',N_Column,' columns on CPU ', Input_Opt%thisCPU If (N_Failed .gt. (N_Column/10)) Then Call Log_Msg(Trim(ErrMsg),'WARNING','Do_RRTMG_Rad_Transfer') Else Call Log_Msg(Trim(ErrMsg),'INFO','Do_RRTMG_Rad_Transfer') End If Else Call Log_Msg('FDH calculation succeeded in every column','DEBUG','Do_RRTMG_Rad_Transfer') End If End If ! OUTPUT RADIATION VARIABLES TO DIAGNOSTIC ! IF CALC WITH AEROSOLS AND GASES COMPLETED ! USE ISPECMENU (REFERENCES THE INPUT.GEOS.RAD LIST) ! TO DETERMINE WHICH FLUX HAS BEEN CALCULATED ! OUTPUT DIAGNOSTIC INDEX IS ISPECMENU+1 (ISPECMENU=0 FOR BASELINE) OUTIDX = ISPECMENU + 1 !FIRST CHECK IF WE HAVE ALREADY OUTPUT AEROSOL DIAGNOSTICS !(I.E. IF BOTH ALL-SKY AND CLEAR-SKY ARE SWITCHED ON) IF ((Input_Opt%LSKYRAD(1)).AND.(Input_Opt%LSKYRAD(2))) THEN !WE ONLY NEED TO OUTPUT DURING ONE OF THESE, SO DONT WHEN ICLD=0 IF (ICLD.EQ.0) THEN LOUTPUTAERO=.FALSE. ENDIF ENDIF !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, LL, W ) & !$OMP PRIVATE( AODTMP, SSATMP, ASYMTMP) & !$OMP PRIVATE( AODOUT, SSAOUT, ASYMOUT) & !$OMP PRIVATE( iTrop ) & !$OMP SCHEDULE( DYNAMIC ) DO J=1,State_Grid%NY DO I=1,State_Grid%NX !================================================================ ! %%%%% HISTORY (aka netCDF diagnostics) %%%%% !================================================================ ! Get the tropopause level iTrop = State_Met%TropLev(I,J) !================================================================ ! Save clear-sky and all-sky fluxes from RRTMG [W/m2] !================================================================ IF ( ICLD > 0 ) THEN !------------------------------------------------------- !ALL-SKY (WE GET CLEAR-SKY WITH THIS TOO) !N.B. UPWELLING SHOULD BE NEGATIVE AS DOWN IS +VE !------------------------------------------------------- ! All-sky SW flux @ TOA [W/m2] IF ( State_Diag%Archive_RadAllSkySWTOA ) THEN State_Diag%RadAllSkySWTOA(I,J,iNcDiag) = & -SW_UFLUX(I,J,State_Grid%NZ+1) ENDIF ! All-sky SW flux @ tropopause [W/m2] IF ( State_Diag%Archive_RadAllSkySWTrop ) THEN State_Diag%RadAllSkySWTrop(I,J,iNcDiag) = & SW_DFLUX(I,J,iTrop)-SW_UFLUX(I,J,iTrop) ENDIF ! All-sky SW flux @ surface [W/m2] IF ( State_Diag%Archive_RadAllSkySWSurf ) THEN State_Diag%RadAllSkySWSurf(I,J,iNcDiag) = & SW_DFLUX(I,J,1) ENDIF ! All-sky LW flux @ TOA [W/m2] IF ( State_Diag%Archive_RadAllSkyLWTOA ) THEN State_Diag%RadAllSkyLWTOA(I,J,iNcDiag) = & -LW_UFLUX(I,J,State_Grid%NZ+1) ENDIF ! All-sky LW flux @ tropopause [W/m2] IF ( State_Diag%Archive_RadAllSkyLWTrop ) THEN State_Diag%RadAllSkyLWTrop(I,J,iNcDiag) = & LW_DFLUX(I,J,iTrop)-LW_UFLUX(I,J,iTrop) ENDIF ! All-sky LW flux @ surface [W/m2] IF ( State_Diag%Archive_RadAllSkyLWSurf ) THEN State_Diag%RadAllSkyLWSurf(I,J,iNcDiag) = & LW_DFLUX(I,J,1) ENDIF ! Clear-sky SW flux @ TOA [W/m2] IF ( State_Diag%Archive_RadClrSkySWTOA ) THEN State_Diag%RadClrSkySWTOA(I,J,iNcDiag) = & -SW_UFLUXC(I,J,State_Grid%NZ+1) ENDIF ! Clear-sky SW flux @ tropopause [W/m2] IF ( State_Diag%Archive_RadClrSkySWTrop ) THEN State_Diag%RadClrSkySWTrop(I,J,iNcDiag) = & SW_DFLUXC(I,J,iTrop)-SW_UFLUXC(I,J,iTrop) ENDIF ! Clear-sky SW flux @ surface [W/m2] IF ( State_Diag%Archive_RadClrSkySWSurf ) THEN State_Diag%RadClrSkySWSurf(I,J,iNcDiag) = & SW_DFLUXC(I,J,1) ENDIF ! Clear-sky LW flux @ TOA [W/m2] IF ( State_Diag%Archive_RadClrSkyLWTOA ) THEN State_Diag%RadClrSkyLWTOA(I,J,iNcDiag) = & -LW_UFLUXC(I,J,State_Grid%NZ+1) ENDIF ! Clear-sky LW flux @ tropopause [W/m2] IF ( State_Diag%Archive_RadClrSkyLWTrop ) THEN State_Diag%RadClrSkyLWTrop(I,J,iNcDiag) = & LW_DFLUXC(I,J,iTrop)-LW_UFLUXC(I,J,iTrop) ENDIF ! Clear-sky LW flux @ surface [W/m2] IF ( State_Diag%Archive_RadClrSkyLWSurf ) THEN State_Diag%RadClrSkyLWSurf(I,J,iNcDiag) = & LW_DFLUXC(I,J,1) ENDIF ELSE !------------------------------------------------------- ! CLEAR-SKY (RUNNING WITH CLOUDS OFF) !------------------------------------------------------- ! Clear-sky SW flux @ TOA [W/m2] IF ( State_Diag%Archive_RadClrSkySWTOA ) THEN State_Diag%RadClrSkySWTOA(I,J,iNcDiag) = & -SW_UFLUXC(I,J,State_Grid%NZ+1) ENDIF ! Clear-sky SW flux @ tropopause [W/m2] IF ( State_Diag%Archive_RadClrSkySWTrop ) THEN State_Diag%RadClrSkySWTrop(I,J,iNcDiag) = & SW_DFLUXC(I,J,iTrop)-SW_UFLUXC(I,J,iTrop) ENDIF ! Clear-sky SW flux @ surface [W/m2] IF ( State_Diag%Archive_RadClrSkySWSurf ) THEN State_Diag%RadClrSkySWSurf(I,J,iNcDiag) = & SW_DFLUXC(I,J,1) ENDIF ! Clear-sky LW flux @ TOA [W/m2] IF ( State_Diag%Archive_RadClrSkyLWTOA ) THEN State_Diag%RadClrSkyLWTOA(I,J,iNcDiag) = & -LW_UFLUXC(I,J,State_Grid%NZ+1) ENDIF ! Clear-sky LW flux @ tropopause [W/m2] IF ( State_Diag%Archive_RadClrSkyLWTrop ) THEN State_Diag%RadClrSkyLWTrop(I,J,iNcDiag) = & LW_DFLUXC(I,J,iTrop)-LW_UFLUXC(I,J,iTrop) ENDIF ! Clear-sky LW flux @ surface [W/m2] IF ( State_Diag%Archive_RadClrSkyLWSurf ) THEN State_Diag%RadClrSkyLWSurf(I,J,iNcDiag) = & LW_DFLUXC(I,J,1) ENDIF ENDIF !------------------------------------------------------- ! If not BASE, the subtract flux just calculated from BASE !------------------------------------------------------- IF ( iSpecMenu > 0 ) THEN ! Set the state_diag index corresponding to BASE. The BASE ! fluxes are always calculated no matter what outputs are set ! in HISTORY.rc since they are needed here. They are also ! calculated prior to all other outputs. The index always ! corresponds to 1. baseIndex = 1 ! All-sky SW flux @ TOA [W/m2] IF ( State_Diag%Archive_RadAllSkySWTOA ) THEN State_Diag%RadAllSkySWTOA(I,J,iNcDiag) = & State_Diag%RadAllSkySWTOA(I,J,baseIndex) - & State_Diag%RadAllSkySWTOA(I,J,iNcDiag) ENDIF ! All-sky SW flux @ tropopause [W/m2] IF ( State_Diag%Archive_RadAllSkySWTrop ) THEN State_Diag%RadAllSkySWTrop(I,J,iNcDiag) = & State_Diag%RadAllSkySWTrop(I,J,baseIndex) - & State_Diag%RadAllSkySWTrop(I,J,iNcDiag) ENDIF ! All-sky SW flux @ surface [W/m2] IF ( State_Diag%Archive_RadAllSkySWSurf ) THEN State_Diag%RadAllSkySWSurf(I,J,iNcDiag) = & State_Diag%RadAllSkySWSurf(I,J,baseIndex) - & State_Diag%RadAllSkySWSurf(I,J,iNcDiag) ENDIF ! All-sky LW flux @ TOA [W/m2] IF ( State_Diag%Archive_RadAllSkyLWTOA ) THEN State_Diag%RadAllSkyLWTOA(I,J,iNcDiag) = & State_Diag%RadAllSkyLWTOA(I,J,baseIndex) - & State_Diag%RadAllSkyLWTOA(I,J,iNcDiag) ENDIF ! All-sky LW flux @ tropopause [W/m2] IF ( State_Diag%Archive_RadAllSkyLWTrop ) THEN State_Diag%RadAllSkyLWTrop(I,J,iNcDiag) = & State_Diag%RadAllSkyLWTrop(I,J,baseIndex) - & State_Diag%RadAllSkyLWTrop(I,J,iNcDiag) ENDIF ! All-sky LW flux @ surface [W/m2] IF ( State_Diag%Archive_RadAllSkyLWSurf ) THEN State_Diag%RadAllSkyLWSurf(I,J,iNcDiag) = & State_Diag%RadAllSkyLWSurf(I,J,baseIndex) - & State_Diag%RadAllSkyLWSurf(I,J,iNcDiag) ENDIF ! Clear-sky SW flux @ TOA [W/m2] IF ( State_Diag%Archive_RadClrSkySWTOA ) THEN State_Diag%RadClrSkySWTOA(I,J,iNcDiag) = & State_Diag%RadClrSkySWTOA(I,J,baseIndex) - & State_Diag%RadClrSkySWTOA(I,J,iNcDiag) ENDIF ! Clear-sky SW flux @ tropopause [W/m2] IF ( State_Diag%Archive_RadClrSkySWTrop ) THEN State_Diag%RadClrSkySWTrop(I,J,iNcDiag) = & State_Diag%RadClrSkySWTrop(I,J,baseIndex) - & State_Diag%RadClrSkySWTrop(I,J,iNcDiag) ENDIF ! Clear-sky SW flux @ surface [W/m2] IF ( State_Diag%Archive_RadClrSkySWSurf ) THEN State_Diag%RadClrSkySWSurf(I,J,iNcDiag) = & State_Diag%RadClrSkySWSurf(I,J,baseIndex) - & State_Diag%RadClrSkySWSurf(I,J,iNcDiag) ENDIF ! Clear-sky LW flux @ TOA [W/m2] IF ( State_Diag%Archive_RadClrSkyLWTOA ) THEN State_Diag%RadClrSkyLWTOA(I,J,iNcDiag) = & State_Diag%RadClrSkyLWTOA(I,J,baseIndex) - & State_Diag%RadClrSkyLWTOA(I,J,iNcDiag) ENDIF ! Clear-sky LW flux @ tropopause [W/m2] IF ( State_Diag%Archive_RadClrSkyLWTrop ) THEN State_Diag%RadClrSkyLWTrop(I,J,iNcDiag) = & State_Diag%RadClrSkyLWTrop(I,J,baseIndex) - & State_Diag%RadClrSkyLWTrop(I,J,iNcDiag) ENDIF ! Clear-sky LW flux @ surface [W/m2] IF ( State_Diag%Archive_RadClrSkyLWSurf ) THEN State_Diag%RadClrSkyLWSurf(I,J,iNcDiag) = & State_Diag%RadClrSkyLWSurf(I,J,baseIndex) - & State_Diag%RadClrSkyLWSurf(I,J,iNcDiag) ENDIF ENDIF !------------------------------------------------------- ! Optics diagnostics (AOD, single scattering albedo, asymmetry param) ! There is one diagnostic per RRTMG output, excluding BASE, ozone, CH4, ! H2O, CO2, CFC, and N2O (hence OUTIDX > 7), and there is one ! diagnostic per RRTMG wavelength (up to Input_Opt%NWVSELECT). ! 2022-01-10: Added water vapor, CO2, CFC, and N2O (SDE) !------------------------------------------------------- !OUTPUT OPTICS FOR EACH AEROSOL... !CHECK THAT WE HAVE SOME AEROSOL TO OUTPUT !SKIP OUTIDX=1,2,3,4,5,6,7 !(BASELINE, OZONE, CH4, H2O,CO2,CFC,N2O) IF ((OUTIDX.GE.8).AND.(LOUTPUTAERO)) THEN !INTERPOLATE TO THE REQUESTED WAVELENGTH DO W=1,Input_Opt%NWVSELECT AODTMP = 0.0D0 SSATMP = 0.0D0 ASYMTMP = 0.0D0 AODOUT = 0.0D0 SSAOUT = 0.0D0 ASYMOUT = 0.0D0 DO LL=1,State_Grid%NZ !CHECK AOD IS NON-ZERO BEFORE LOG... IF((TAUAERDIAG(I,J,LL,IRTWVSELECT(2,W)).GT.0).AND. & (TAUAERDIAG(I,J,LL,IRTWVSELECT(1,W)).GT.0)) THEN AODTMP=SNGL(TAUAERDIAG(I,J,LL,IRTWVSELECT(2,W))* & ACOEF_RTWV(W)**(BCOEF_RTWV(W)* & LOG(TAUAERDIAG(I,J,LL,IRTWVSELECT(1,W))/ & TAUAERDIAG(I,J,LL,IRTWVSELECT(2,W))))) SSATMP=SNGL( CCOEF_RTWV(W)* & SSAAERDIAG(I,J,LL,IRTWVSELECT(2,W))+ & (1.0D0-CCOEF_RTWV(W))* & SSAAERDIAG(I,J,LL,IRTWVSELECT(1,W))) ASYMTMP=SNGL( CCOEF_RTWV(W)* & ASMAERDIAG(I,J,LL,IRTWVSELECT(2,W))+ & (1.0D0-CCOEF_RTWV(W))* & ASMAERDIAG(I,J,LL,IRTWVSELECT(1,W))) AODOUT=AODOUT+AODTMP SSAOUT=SSAOUT+SSATMP*AODTMP ASYMOUT=ASYMOUT+ASYMTMP*SSATMP*AODTMP ENDIF ENDDO !State_Grid%NZ !WE ARE SAVING COLUMN AVERAGED VALUES FOR EACH SPECIES !DIVIDE THROUGH BY AOD*SSA (AOD-SSA WEIGHTING ACCOUNTS FOR !GRIDBOXES) IF ( IS_SAFE_DIV(ASYMOUT,SSAOUT) ) THEN ASYMOUT=ASYMOUT/SSAOUT ENDIF !DIVIDE THROUGH BY AOD IF ( IS_SAFE_DIV(SSAOUT,AODOUT) ) THEN SSAOUT=SSAOUT/AODOUT ENDIF !offsetting output depending on wavelength ! Netcdf diagnostics IF ( State_Diag%Archive_RadOptics ) THEN IF ( W == 1 ) THEN IF ( State_Diag%Archive_RADAODWL1 ) THEN State_Diag%RADAODWL1(I,J,iNcDiag) = AODOUT ENDIF IF ( State_Diag%Archive_RADSSAWL1 ) THEN State_Diag%RADSSAWL1(I,J,iNcDiag) = SSAOUT ENDIF IF ( State_Diag%Archive_RADAsymWL1 ) THEN State_Diag%RADAsymWL1(I,J,iNcDiag) = ASYMOUT ENDIF ELSEIF ( W == 2 ) THEN IF ( State_Diag%Archive_RADAODWL2 ) THEN State_Diag%RADAODWL2(I,J,iNcDiag) = AODOUT ENDIF IF ( State_Diag%Archive_RADSSAWL2 ) THEN State_Diag%RADSSAWL2(I,J,iNcDiag) = SSAOUT ENDIF IF ( State_Diag%Archive_RADAsymWL2 ) THEN State_Diag%RADAsymWL2(I,J,iNcDiag) = ASYMOUT ENDIF ELSEIF ( W == 3 ) THEN IF ( State_Diag%Archive_RADAODWL3 ) THEN State_Diag%RADAODWL3(I,J,iNcDiag) = AODOUT ENDIF IF ( State_Diag%Archive_RADSSAWL3 ) THEN State_Diag%RADSSAWL3(I,J,iNcDiag) = SSAOUT ENDIF IF ( State_Diag%Archive_RADASYMWL3 ) THEN State_Diag%RADAsymWL3(I,J,iNcDiag) = ASYMOUT ENDIF ENDIF ENDIF ENDDO !NWVSELECT ENDIF ENDDO ENDDO !$OMP END PARALLEL DO ! Halt RRTMG timer (so that unit conv can be timed separately) IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "RRTMG", RC ) ENDIF ! Convert species units back to original unit CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & mapping = State_Chm%Map_Advect, & new_units = previous_units, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN CALL GC_Error('Unit conversion error', RC, 'DO_RRTMG_RAD_TRANSFER') RETURN ENDIF ! Start RRTMG timer again IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "RRTMG", RC ) ENDIF ! Nullify pointers Spc => NULL() SPECMASK => NULL() IRTWVSELECT => NULL() ACOEF_RTWV => NULL() BCOEF_RTWV => NULL() CCOEF_RTWV => NULL() WVAA => NULL() RTODAER => NULL() RTSSAER => NULL() RTASYMAER => NULL() END SUBROUTINE DO_RRTMG_RAD_TRANSFER !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: set_specmask ! ! !DESCRIPTION: Subroutine SET\_SPECMASK converts the species switches in the ! input.mod radiation section into the list of species that should be passed ! through to RRTMG. This must be done in a subtractive way, e.g. If we require ! the DRE of sulfate then the baseline will contain all species and the ! sulfate run will contain everything but sulfate, this way the contribution ! of sulfate can be inferred. Therefore, all species are initially set to 1 ! and their inclusion results in SPECMASK for the particular species being ! set to zero. (dar 10/2013) !\\ !\\ ! !INTERFACE: ! SUBROUTINE Set_SpecMask( iSpecRadMenu, State_Chm ) ! ! !USES: ! USE State_Chm_Mod, ONLY : ChmState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: iSpecRadMenu ! Index of RRTMG flux output ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry state object ! ! !REVISION HISTORY: ! 18 Jun 2013 - D.A. Ridley - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: N0,N,I,II,NXTRA,NASPECRAD ! Pointers INTEGER, POINTER :: SPECMASK(:) !================================================================= ! SET_SPECMASK begins here! !================================================================= !ISPECRADMENU IS THE INDEX OF THE SPECIES WITHIN THE INPUT MENU !THE INDEX OF SPECMASK INDICATES THE POSITION OF THE SPECIES IN !THE RT OPTICS ARRAY FOR THE AEROSOL !E.G. SO4 = 1 I.E. RTODAER(*,*,*,*,1) ! !===FUNCTIONALITY FOR ADDING NEW SPECIES=== !EXTRA SPECIES ARE ADDED AFTER NAER (BEFORE NDUST AND GASES) !SO WE NEED TO BUMP ALL THE SPECIES AFTER THAT BY NXTRA !WHERE NXTRA=NUMBER OF NEW SPECIES ADDED ABOVE THE STANDARD CODE !E.G. FOR UCX NSPECRAD=18 AND STS AND NAT ARE INCLUDED !IN RTODAER INDEX 8 AND 9, BEFORE DUST NXTRA = State_Chm%Phot%NSPECRAD - 16 NASPECRAD = State_Chm%Phot%NASPECRAD ! Set pointer SPECMASK => State_Chm%Phot%SpecMask !CONVERT THE CURRENT SPECIES SELECTION FROM THE INPUT MENU INTO !THE REQUIRED SPECIES TO BE INCLUDED IN THE RRTMG CALCULATION SPECMASK(:)=1 !IF ISPECRADMENU IS ZERO, WE JUST WANTED BASELINE, I.E. SPECMASK(:)=1 IF ( ISpecRadMenu .GT. 0 ) THEN SELECT CASE( ISpecRadMenu ) ! O3 = Ozone CASE( 1 ) SPECMASK(NASPECRAD+1)=0 ! Stratospheric SPECMASK(NASPECRAD+2)=0 ! Tropospheric ! O3T = Tropospheric ozone only CASE( 2 ) SPECMASK(NASPECRAD+2)=0 ! Tropospheric ! ME = Methane CASE( 3 ) SPECMASK(NASPECRAD+3)=0 ! H2O = Water vapor CASE( 4 ) SPECMASK(NASPECRAD+4)=0 ! CO2 = Carbon dioxide CASE( 5 ) SPECMASK(NASPECRAD+5)=0 ! CFC = Chlorofluorocarbons CASE( 6 ) SPECMASK(NASPECRAD+6)=0 ! N2O = Nitrous oxide CASE( 7 ) SPECMASK(NASPECRAD+7)=0 ! SU = Sulfate CASE( 8 ) SPECMASK(1)=8 ! NI = Nitrate CASE( 9 ) SPECMASK(2)=9 ! AM = Ammonium CASE( 10 ) SPECMASK(3)=10 ! BC = Black carbon (Hydrophilic+phobic) CASE( 11 ) SPECMASK(4)=11 ! OA = Organic aerosol (!Hydrophilic+phobic) CASE( 12 ) SPECMASK(5)=12 ! SS = Sea salt CASE( 13 ) SPECMASK(6)=13 SPECMASK(7)=13 ! DU = Mineral dust CASE( 14 ) ! 7 dust bins for RT Do II=10,16 SPECMASK(II)=14 End Do ! PM = All particulate matter ! add all aerosols but not gases here CASE( 15 ) DO II = 1, State_Chm%Phot%NASPECRAD SPECMASK(II)=15 ENDDO ! ST = STRAT AEROSOL CASE( 16 ) !LSA SPECMASK(8) = 16 !NAT SPECMASK(9) = 16 END SELECT ENDIF ! Nullify pointer SPECMASK => NULL() END SUBROUTINE Set_SpecMask !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: init_rrtmg_rad_transfer ! ! !DESCRIPTION: Initializes all RRTMG module varaiables. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_RRTMG_Rad_Transfer( Input_Opt, State_Diag, State_Grid, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input Options object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REMARKS: ! The index fields Input_Opt%RadOutCt, Input_Opt%RadOutName, and ! Input_Opt%RadOutInd are populated from information obtained in ! Headers/diaglist_mod.F90. But the geoschem_config.yml file is read before ! the diaglist is constructed. Therefore, we have to delay population ! of these fields until after the call to Init_DiagList. ! ! !REVISION HISTORY: ! 09 Nov 2018 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc, arrayId !================================================================= ! Init_RRTMG_Inputs begins here !================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Init_RRTMG_Rad_Transfer (in rrtmg_rad_transfer_mod.F90)' !================================================================= ! For backwards compatibility with existing RRTMG code, we need ! to populate the Input_Opt%LSpecRadMenu based on the RRTMG ! outputs requested in the HISTORY.rc file. Loop over all ! possible types of RRTMG flux outputs (excluding baseline, ! which is type 0). ! ! Optional outputs (requested via HISTORY.rc) ! 1=O3 2=O3T 3=ME 4=H2O 5=CO2 6=CFC 7=N2O ! 8=SU 9=NI 10=AM 11=BC 12=OA 13=SS 14=DU ! 15=PM 16=ST ! ! NB: "O3" is all ozone; "O3T" is tropospheric ozone only. !================================================================= ! Loop over all of the flux outputs requested in HISTORY.rc DO N = 1, State_Diag%nRadOut SELECT CASE( State_Diag%RadOutName(N) ) CASE( 'O3' ) Input_Opt%LSpecRadMenu(1) = 1 CASE( 'O3T' ) Input_Opt%LSpecRadMenu(2) = 1 CASE( 'ME' ) Input_Opt%LSpecRadMenu(3) = 1 CASE( 'H2O' ) Input_Opt%LSpecRadMenu(4) = 1 CASE( 'CO2' ) Input_Opt%LSpecRadMenu(5) = 1 CASE( 'CFC' ) Input_Opt%LSpecRadMenu(6) = 1 CASE( 'N2O' ) Input_Opt%LSpecRadMenu(7) = 1 CASE( 'SU' ) Input_Opt%LSpecRadMenu(8) = 1 CASE( 'NI' ) Input_Opt%LSpecRadMenu(9) = 1 CASE( 'AM' ) Input_Opt%LSpecRadMenu(10) = 1 CASE( 'BC' ) Input_Opt%LSpecRadMenu(11) = 1 CASE( 'OA' ) Input_Opt%LSpecRadMenu(12) = 1 CASE( 'SS' ) Input_Opt%LSpecRadMenu(13) = 1 CASE( 'DU' ) Input_Opt%LSpecRadMenu(14) = 1 CASE( 'PM' ) Input_Opt%LSpecRadMenu(15) = 1 CASE( 'ST' ) Input_Opt%LSpecRadMenu(16) = 1 CASE DEFAULT ! Nothing END SELECT ENDDO !================================================================= ! Allocate arrays !================================================================= CALL Init_Surface_Rad ( State_Grid ) CALL Init_MCICA_Clouds( State_Grid ) END SUBROUTINE Init_RRTMG_Rad_Transfer !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: init_surface_rad ! ! !DESCRIPTION: Subroutine INIT\_SURFACE\_RAD initializes all allocatable ! module arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_Surface_Rad( State_Grid ) ! ! !USES: ! USE ERROR_MOD, ONLY : ALLOC_ERR USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State objecy ! ! !REVISION HISTORY: ! 18 Jun 2013 - D.A. Ridley - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: AS !================================================================= ! INIT_SURFACE_RAD begins here! !================================================================= ALLOCATE( LW_UFLUX(State_Grid%NX,State_Grid%NY,State_Grid%NZ+1), & STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'LW_UFLUX' ) LW_UFLUX = 0D0 ALLOCATE( LW_DFLUX(State_Grid%NX,State_Grid%NY,State_Grid%NZ+1), & STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'LW_DFLUX' ) LW_DFLUX = 0D0 ALLOCATE( SW_UFLUX(State_Grid%NX,State_Grid%NY,State_Grid%NZ+1), & STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'SW_UFLUX' ) SW_UFLUX = 0D0 ALLOCATE( SW_DFLUX(State_Grid%NX,State_Grid%NY,State_Grid%NZ+1), & STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'SW_DFLUX' ) SW_DFLUX = 0D0 ALLOCATE( LW_UFLUXC(State_Grid%NX,State_Grid%NY,State_Grid%NZ+1), & STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'LW_UFLUXC' ) LW_UFLUXC = 0D0 ALLOCATE( LW_DFLUXC(State_Grid%NX,State_Grid%NY,State_Grid%NZ+1), & STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'LW_DFLUXC' ) LW_DFLUXC = 0D0 ALLOCATE( SW_UFLUXC(State_Grid%NX,State_Grid%NY,State_Grid%NZ+1), & STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'SW_UFLUXC' ) SW_UFLUXC = 0D0 ALLOCATE( SW_DFLUXC(State_Grid%NX,State_Grid%NY,State_Grid%NZ+1), & STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'SW_DFLUXC' ) SW_DFLUXC = 0D0 END SUBROUTINE INIT_SURFACE_RAD !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: AttachPointersFromHemco ! ! !DESCRIPTION: Subroutine AttachPointersFromHemco attaches pointers for ! various RRTMG input data that is read in via HEMCO to module variables. !\\ !\\ ! !INTERFACE: ! SUBROUTINE AttachPointersFromHemco( RC ) ! ! !USES: ! USE ErrCode_Mod USE HCO_State_GC_Mod, ONLY : HcoState USE HCO_EmisList_Mod, ONLY : HCO_GetPtr ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REVISION HISTORY: ! 18 Jun 2013 - D.A. Ridley - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=20) :: FieldName CHARACTER(LEN=255) :: ErrMsg, ThisLoc !================================================================= ! AttachPointersFromHemco begins here! !================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at AttachPointersFromHemco (in rrtmg_rad_transfer_mod.F90)' !------------------------------- ! CCl4 [ppb] !------------------------------- FieldName = 'TES_CLIM_CCL4' CALL HCO_GetPtr( HcoState, FieldName, CCL4CLIM, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot get pointer to ' // TRIM( FieldName ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------- ! CFC11 [ppb] !------------------------------- FieldName = 'TES_CLIM_CFC11' CALL HCO_GetPtr( HcoState, FieldName, CFC11CLIM, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot get pointer to ' // TRIM( FieldName ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------- ! CFC12 [ppb] !------------------------------- FieldName = 'TES_CLIM_CFC12' CALL HCO_GetPtr( HcoState, FieldName, CFC12CLIM, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot get pointer to ' // TRIM( FieldName ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------- ! CFC22 [ppb] !------------------------------- FieldName = 'TES_CLIM_CFC22' CALL HCO_GetPtr( HcoState, FieldName, CFC22CLIM, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot get pointer to ' // TRIM( FieldName ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------- ! CH4 [ppb] !------------------------------- FieldName = 'TES_CLIM_CH4' CALL HCO_GetPtr( HcoState, FieldName, CH4CLIM, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot get pointer to ' // TRIM( FieldName ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------- ! N2O [ppb] !------------------------------- FieldName = 'TES_CLIM_N2O' CALL HCO_GetPtr( HcoState, FieldName, N2OCLIM, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot get pointer to ' // TRIM( FieldName ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------- ! Diffuse Near-IR albedo [1] !------------------------------- FieldName = 'MODIS_ALBDFNIR' CALL HCO_GetPtr( HcoState, FieldName, MODIS_ALBDFNIR, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot get pointer to ' // TRIM( FieldName ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------- ! Diffuse visible albedo [1] !------------------------------- FieldName = 'MODIS_ALBDFVIS' CALL HCO_GetPtr( HcoState, FieldName, MODIS_ALBDFVIS, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot get pointer to ' // TRIM( FieldName ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------- ! Direct Near-IR albedo [1] !------------------------------- FieldName = 'MODIS_ALBDRNIR' CALL HCO_GetPtr( HcoState, FieldName, MODIS_ALBDRNIR, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot get pointer to ' // TRIM( FieldName ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------- ! Direct visible albedo [1] !------------------------------- FieldName = 'MODIS_ALBDRVIS' CALL HCO_GetPtr( HcoState, FieldName, MODIS_ALBDRVIS, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot get pointer to ' // TRIM( FieldName ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------- ! MODIS emissivity, band 1 [1] !------------------------------- FieldName = 'MODIS_EMISSIVITY_01' CALL HCO_GetPtr( HcoState, FieldName, MODIS_EMISS_01, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot get pointer to ' // TRIM( FieldName ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------- ! MODIS emissivity, band 2 [1] !------------------------------- FieldName = 'MODIS_EMISSIVITY_02' CALL HCO_GetPtr( HcoState, FieldName, MODIS_EMISS_02, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot get pointer to ' // TRIM( FieldName ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------- ! MODIS emissivity, band 3 [1] !------------------------------- FieldName = 'MODIS_EMISSIVITY_03' CALL HCO_GetPtr( HcoState, FieldName, MODIS_EMISS_03, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot get pointer to ' // TRIM( FieldName ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------- ! MODIS emissivity, band 4 [1] !------------------------------- FieldName = 'MODIS_EMISSIVITY_04' CALL HCO_GetPtr( HcoState, FieldName, MODIS_EMISS_04, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot get pointer to ' // TRIM( FieldName ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------- ! MODIS emissivity, band 5 [1] !------------------------------- FieldName = 'MODIS_EMISSIVITY_05' CALL HCO_GetPtr( HcoState, FieldName, MODIS_EMISS_05, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot get pointer to ' // TRIM( FieldName ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------- ! MODIS emissivity, band 6 [1] !------------------------------- FieldName = 'MODIS_EMISSIVITY_06' CALL HCO_GetPtr( HcoState, FieldName, MODIS_EMISS_06, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot get pointer to ' // TRIM( FieldName ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------- ! MODIS emissivity, band 7 [1] !------------------------------- FieldName = 'MODIS_EMISSIVITY_07' CALL HCO_GetPtr( HcoState, FieldName, MODIS_EMISS_07, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot get pointer to ' // TRIM( FieldName ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------- ! MODIS emissivity, band 8 [1] !------------------------------- FieldName = 'MODIS_EMISSIVITY_08' CALL HCO_GetPtr( HcoState, FieldName, MODIS_EMISS_08, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot get pointer to ' // TRIM( FieldName ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------- ! MODIS emissivity, band 9 [1] !------------------------------- FieldName = 'MODIS_EMISSIVITY_09' CALL HCO_GetPtr( HcoState, FieldName, MODIS_EMISS_09, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot get pointer to ' // TRIM( FieldName ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------- ! MODIS emissivity, band 10 [1] !------------------------------- FieldName = 'MODIS_EMISSIVITY_10' CALL HCO_GetPtr( HcoState, FieldName, MODIS_EMISS_10, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot get pointer to ' // TRIM( FieldName ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------- ! MODIS emissivity, band 11 [1] !------------------------------- FieldName = 'MODIS_EMISSIVITY_11' CALL HCO_GetPtr( HcoState, FieldName, MODIS_EMISS_11, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot get pointer to ' // TRIM( FieldName ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------- ! MODIS emissivity, band 12 [1] !------------------------------- FieldName = 'MODIS_EMISSIVITY_12' CALL HCO_GetPtr( HcoState, FieldName, MODIS_EMISS_12, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot get pointer to ' // TRIM( FieldName ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------- ! MODIS emissivity, band 13 [1] !------------------------------- FieldName = 'MODIS_EMISSIVITY_13' CALL HCO_GetPtr( HcoState, FieldName, MODIS_EMISS_13, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot get pointer to ' // TRIM( FieldName ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------- ! MODIS emissivity, band 14 [1] !------------------------------- FieldName = 'MODIS_EMISSIVITY_14' CALL HCO_GetPtr( HcoState, FieldName, MODIS_EMISS_14, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot get pointer to ' // TRIM( FieldName ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------- ! MODIS emissivity, band 15 [1] !------------------------------- FieldName = 'MODIS_EMISSIVITY_15' CALL HCO_GetPtr( HcoState, FieldName, MODIS_EMISS_15, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot get pointer to ' // TRIM( FieldName ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------- ! MODIS emissivity, band 16 [1] !------------------------------- FieldName = 'MODIS_EMISSIVITY_16' CALL HCO_GetPtr( HcoState, FieldName, MODIS_EMISS_16, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot get pointer to ' // TRIM( FieldName ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF END SUBROUTINE AttachPointersFromHemco !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: init_mcica_clouds ! ! !DESCRIPTION: Subroutine INIT\_MCICA\_CLOUDS initializes all allocatable ! module arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE INIT_MCICA_CLOUDS( State_Grid ) ! ! !USES: ! USE ERROR_MOD, ONLY : ALLOC_ERR USE PARRRTM, ONLY : NGPTLW USE PARRRSW, ONLY : NGPTSW USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !REVISION HISTORY: ! 18 Jun 2013 - D.A. Ridley - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: AS !================================================================= ! INIT_MCICA_CLOUDS begins here! !================================================================= ALLOCATE( CLDFMCL_LW(NGPTLW,State_Grid%NX,State_Grid%NY,State_Grid%NZ ), & STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'CLDFMCL_LW' ) CLDFMCL_LW = 0D0 ALLOCATE( CIWPMCL_LW(NGPTLW, State_Grid%NX, State_Grid%NY, State_Grid%NZ ),& STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'CIWPMCL_LW' ) CIWPMCL_LW = 0D0 ALLOCATE( CLWPMCL_LW( NGPTLW, State_Grid%NX, State_Grid%NY, State_Grid%NZ ),& STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'CLWPMCL_LW' ) CLWPMCL_LW = 0D0 ALLOCATE( TAUCMCL_LW( NGPTLW, State_Grid%NX, State_Grid%NY,State_Grid%NZ ),& STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'TAUCMCL_LW' ) TAUCMCL_LW = 0D0 ALLOCATE( CLDFMCL_SW( NGPTSW, State_Grid%NX, State_Grid%NY, State_Grid%NZ ),& STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'CLDFMCL_SW' ) CLDFMCL_SW = 0D0 ALLOCATE( CIWPMCL_SW( NGPTSW, State_Grid%NX, State_Grid%NY, State_Grid%NZ ),& STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'CIWPMCL_SW' ) CIWPMCL_SW = 0D0 ALLOCATE( CLWPMCL_SW( NGPTSW, State_Grid%NX, State_Grid%NY, State_Grid%NZ ),& STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'CLWPMCL_SW' ) CLWPMCL_SW = 0D0 ALLOCATE( TAUCMCL_SW( NGPTSW, State_Grid%NX, State_Grid%NY, State_Grid%NZ ),& STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'TAUCMCL_SW' ) TAUCMCL_SW = 0D0 ALLOCATE( SSACMCL( NGPTSW, State_Grid%NX, State_Grid%NY, State_Grid%NZ ), & STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'SSACMCL' ) SSACMCL = 0D0 ALLOCATE( ASMCMCL( NGPTSW, State_Grid%NX, State_Grid%NY, State_Grid%NZ ), & STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'ASMCMCL' ) ASMCMCL = 0D0 ALLOCATE( FSFCMCL( NGPTSW, State_Grid%NX, State_Grid%NY, State_Grid%NZ ), & STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'FSFCMCL' ) FSFCMCL = 0D0 ALLOCATE( RELQMCL( State_Grid%NX, State_Grid%NY, State_Grid%NZ ), & STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'RELQMCL' ) RELQMCL = 0D0 ALLOCATE( REICMCL( State_Grid%NX, State_Grid%NY, State_Grid%NZ ), & STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'REICMCL' ) REICMCL = 0D0 END SUBROUTINE INIT_MCICA_CLOUDS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: cleanup_rrtmg_rad_transfer ! ! !DESCRIPTION: Deallocates all RRTMG module variables. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Cleanup_RRTMG_Rad_Transfer( RC ) ! ! !USES: ! USE ErrCode_Mod ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REVISION HISTORY: ! 09 Nov 2018 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! Assume success RC = GC_SUCCESS !================================================================= ! Nullify pointers to HEMCO fields !================================================================= ! Climatology CH4CLIM => NULL() N2OCLIM => NULL() CFC11CLIM => NULL() CFC12CLIM => NULL() CCL4CLIM => NULL() CFC22CLIM => NULL() ! Albedoes MODIS_ALBDFNIR => NULL() MODIS_ALBDFVIS => NULL() MODIS_ALBDRNIR => NULL() MODIS_ALBDRVIS => NULL() ! Emissivity MODIS_EMISS_01 => NULL() MODIS_EMISS_02 => NULL() MODIS_EMISS_03 => NULL() MODIS_EMISS_04 => NULL() MODIS_EMISS_05 => NULL() MODIS_EMISS_06 => NULL() MODIS_EMISS_07 => NULL() MODIS_EMISS_08 => NULL() MODIS_EMISS_09 => NULL() MODIS_EMISS_10 => NULL() MODIS_EMISS_11 => NULL() MODIS_EMISS_12 => NULL() MODIS_EMISS_13 => NULL() MODIS_EMISS_14 => NULL() MODIS_EMISS_15 => NULL() MODIS_EMISS_16 => NULL() !================================================================= ! Deallocate surface radiation arrays !================================================================= IF ( ALLOCATED( LW_UFLUX ) ) DEALLOCATE( LW_UFLUX ) IF ( ALLOCATED( LW_DFLUX ) ) DEALLOCATE( LW_DFLUX ) IF ( ALLOCATED( SW_UFLUX ) ) DEALLOCATE( SW_UFLUX ) IF ( ALLOCATED( SW_DFLUX ) ) DEALLOCATE( SW_DFLUX ) IF ( ALLOCATED( LW_UFLUXC ) ) DEALLOCATE( LW_UFLUXC ) IF ( ALLOCATED( LW_DFLUXC ) ) DEALLOCATE( LW_DFLUXC ) IF ( ALLOCATED( SW_UFLUXC ) ) DEALLOCATE( SW_UFLUXC ) IF ( ALLOCATED( SW_DFLUXC ) ) DEALLOCATE( SW_DFLUXC ) !================================================================= ! Deallocate MCICA cloud arrays !================================================================= IF ( ALLOCATED( CLDFMCL_LW ) ) DEALLOCATE( CLDFMCL_LW ) IF ( ALLOCATED( CIWPMCL_LW ) ) DEALLOCATE( CIWPMCL_LW ) IF ( ALLOCATED( CLWPMCL_LW ) ) DEALLOCATE( CLWPMCL_LW ) IF ( ALLOCATED( TAUCMCL_LW ) ) DEALLOCATE( TAUCMCL_LW ) IF ( ALLOCATED( CLDFMCL_SW ) ) DEALLOCATE( CLDFMCL_SW ) IF ( ALLOCATED( CIWPMCL_SW ) ) DEALLOCATE( CIWPMCL_SW ) IF ( ALLOCATED( CLWPMCL_SW ) ) DEALLOCATE( CLWPMCL_SW ) IF ( ALLOCATED( TAUCMCL_SW ) ) DEALLOCATE( TAUCMCL_SW ) IF ( ALLOCATED( SSACMCL ) ) DEALLOCATE( SSACMCL ) IF ( ALLOCATED( ASMCMCL ) ) DEALLOCATE( ASMCMCL ) IF ( ALLOCATED( FSFCMCL ) ) DEALLOCATE( FSFCMCL ) IF ( ALLOCATED( REICMCL ) ) DEALLOCATE( REICMCL ) IF ( ALLOCATED( RELQMCL ) ) DEALLOCATE( RELQMCL ) END SUBROUTINE Cleanup_RRTMG_Rad_Transfer !EOC END MODULE RRTMG_RAD_TRANSFER_MOD #endif ================================================ FILE: GeosCore/seasalt_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: seasalt_mod.F90 ! ! !DESCRIPTION: Contains arrays and routines for performing either a coupled ! chemistry/aerosol run or an offline seasalt aerosol simulation. ! Original code taken from Mian Chin's GOCART model and modified accordingly. ! (bec, rjp, bmy, 6/22/00, 11/23/09) !\\ !\\ ! !INTERFACE: ! MODULE SeaSalt_Mod ! ! !USES: ! USE Precision_Mod USE PhysConstants IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: ChemSeaSalt PUBLIC :: Cleanup_SeaSalt PUBLIC :: Init_SeaSalt ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: Wet_Settling PRIVATE :: Chem_MOPO PRIVATE :: Chem_MOPI #ifdef APM PRIVATE :: Wet_SettlingBin #endif ! ! !PUBLIC DATA MEMBERS: ! PUBLIC :: SALT_V PUBLIC :: DMID ! ! !REMARKS: ! References: ! ============================================================================ ! (1 ) Chin, M., P. Ginoux, S. Kinne, B. Holben, B. Duncan, R. Martin, ! J. Logan, A. Higurashi, and T. Nakajima, "Tropospheric aerosol ! optical thickness from the GOCART model and comparisons with ! satellite and sunphotometers measurements", J. Atmos Sci., 2001. ! (2 ) Gong, S., L. Barrie, and J.-P. Blanchet, "Modeling sea-salt ! aerosols in the atmosphere. 1. Model development", J. Geophys. Res., ! v. 102, 3805-3818, 1997. ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC !======================================================================== ! Module Variables: ! ! NSALT : # of sea salt tracers ! NR_MAX : Number of size bins ! SMALLNUM : A small number (epsilon) for numerical cutoff ! SS_DEN : Sea salt density [kg/m3] ! IDDEP : Drydep index array for sea salt tracers ! REDGE : Array for edges of seasalt radius bins ! DMID : Array for centers of seasalt radius bins ! SRC : Array for baseline seasalt emission/bin [kg/m2] ! SRC_N : Array for baseline seasalt emission/bin [#/m2] ! ALK_EMIS : Array for alkalinity [kg] ! N_DENS : Number density of seasalt emissions [#/m3] ! SALT_V : Log-normal volum size distribution for sea salt ! ! Note: sea salt emissions are now calculated in HEMCO following the ! original code (hcox_seasalt_mod.F). This has made some of the arrays ! obsolete. Alkalinity and number density are now calculated in ! sulfate_mod.F through the HEMCO interface (ckeller, 11/03/2014). !=======================================================================- ! ! !DEFINED PARAMETERS: ! INTEGER, PARAMETER :: NSALT = 6 ! # of seasalt species INTEGER, PARAMETER :: NR_MAX = 200 ! # of bins to use REAL(fp), PARAMETER :: SMALLNUM = 1e-20_fp ! Small number #ifdef APM INTEGER, PARAMETER :: NSALTBIN = 20 ! # of bins for APM #endif ! ! !DEFINED PARAMETERS: ! !%%% Comment out unused code !%%%! REAL(fp), PARAMETER :: C1 = 0.7674_fp !%%%! REAL(fp), PARAMETER :: C2 = 3.079_fp !%%%! REAL(fp), PARAMETER :: C3 = 2.573e-11_fp !%%%! REAL(fp), PARAMETER :: C4 = -1.424_fp ! Parameters for polynomial coefficients to derive seawater ! density. From Tang et al. (1997) (jaegle 5/11/11) REAL(fp), PARAMETER :: A1 = 7.93e-3_fp REAL(fp), PARAMETER :: A2 = -4.28e-5_fp REAL(fp), PARAMETER :: A3 = 2.52e-6_fp REAL(fp), PARAMETER :: A4 = -2.35e-8_fp ! increment of radius for integration of settling velocity (um) REAL(fp), PARAMETER :: DR = 5.0e-2_fp ! parameter for convergence REAL(f8), PARAMETER :: EPSI = 1.0e-4_f8 ! parameters for assumed size distribution of acc and coarse mode ! sea salt aerosols (jaegle 5/11/11) ! geometric dry mean diameters (microns) REAL(fp), PARAMETER :: RG_A = 0.085_fp REAL(fp), PARAMETER :: RG_C = 0.4_fp ! sigma of the size distribution REAL(fp), PARAMETER :: SIG_A = 1.5_fp REAL(fp), PARAMETER :: SIG_C = 1.8_fp ! ! !PRIVATE TYPES: ! ! Scalars INTEGER :: NR INTEGER :: id_MOPO, id_MOPI INTEGER :: id_SALA, id_SALC INTEGER :: id_SALACL, id_SALCCL INTEGER :: id_SALAAL, id_SALCAL REAL(fp) :: REFF_accum, REFF_coarse ! Arrays INTEGER :: IDDEP (NSALT) REAL(fp) :: SS_DEN(NSALT) REAL(fp), ALLOCATABLE :: SALT_V(: ) REAL(fp), ALLOCATABLE :: DMID (: ) REAL(fp), ALLOCATABLE :: OCCONV(:,:,:) CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: chemseasalt ! ! !DESCRIPTION: Subroutine CHEMSEASALT is the interface between the GEOS-CHEM ! main program and the seasalt chemistry routines that mostly calculates ! seasalt dry deposition (rjp, bmy, 1/24/02, 5/23/06) !\\ !\\ ! !INTERFACE: ! SUBROUTINE ChemSeaSalt( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE Error_Mod, ONLY : Debug_Msg USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState #ifdef APM USE APM_Init_Mod, ONLY : APMIDS #endif ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! Dry deposition is now handled in mixing_mod.F90. We have removed ! the calls to the DRY_DEPOSITION routine here. (bmy, 6/12/15) ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: thisLoc CHARACTER(LEN=512) :: errMsg #if defined( APM ) INTEGER :: N, Seasalt_ids(NSALTBIN) #endif !======================================================================== ! CHEMSEASALT begins here! !======================================================================== ! Initialize RC = GC_SUCCESS !======================================================================== ! Accumulation mode (SALA) wet settling !======================================================================== IF ( id_SALA > 0 ) THEN CALL Wet_Settling( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & spcId = id_SALA, & N = 1, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "Wet_Settling" for species SALA!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMSEASALT: WET_SET, Accum' ) ENDIF ENDIF !======================================================================== ! Coarse mode (SALC) wet settling !======================================================================== IF ( id_SALC > 0 ) THEN CALL Wet_Settling( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & spcId = id_SALC, & N = 2, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "Wet_Settling" for species SALC!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMSEASALT: WET_SET, Coarse' ) ENDIF ENDIF !======================================================================== ! Accumulation mode chloride (SALACL) wet settling !======================================================================== IF ( id_SALACL > 0 ) THEN CALL Wet_Settling( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & spcId = id_SALACL, & N = 3, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "Wet_Settling" for species SALACL!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMSEASALT: WET_SET, Accum Cl' ) ENDIF ENDIF !======================================================================== ! Coarse mode chloride (SALCCL) wet settling !======================================================================== IF ( id_SALCCL > 0 ) THEN CALL Wet_Settling( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & spcId = id_SALCCL, & N = 4, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "Wet_Settling" for species SALACL!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMSEASALT: WET_SET, Coarse Cl' ) ENDIF ENDIF !======================================================================== ! Accumulation mode alkalinity (SALAAL) wet settling !======================================================================== IF ( id_SALAAL > 0 ) THEN CALL Wet_Settling( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & spcId = id_SALAAL, & N = 5, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "Wet_Settling" for species SALAAL!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMSEASALT: WET_SET, Accum Al' ) ENDIF ENDIF !======================================================================== ! Coarse mode Alkalinity (SALCAL) wet settling !======================================================================== IF ( id_SALCAL > 0 ) THEN CALL Wet_Settling( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & spcId = id_SALCAL, & N = 6, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "Wet_Settling" for species SALAAL!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMSEASALT: WET_SET, Coarse Al' ) ENDIF ENDIF !======================================================================== ! Do chemistry for marine organic aerosol tracers !======================================================================== IF ( Input_Opt%LMPOA ) THEN ! Chemistry for hydrophobic MOA IF ( id_MOPO > 0 ) THEN CALL Chem_MOPO( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "Chem_MOPO"!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMSEASALT: a CHEM_MOPO' ) ENDIF ENDIF ! Chemistry for hydrophilic MOA IF ( id_MOPI > 0 ) THEN CALL Chem_MOPI( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "Chem_MOPO"!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMSEASALT: a CHEM_MOPI' ) ENDIF ENDIF ENDIF #ifdef APM !---------------------------------------- ! Sea salt emissions for extra APM bins !---------------------------------------- DO N = 1, NSALTBIN Seasalt_Ids(N) = APMIDS%id_SEABIN1 + N - 1 ENDDO CALL SRCSALTBIN( Seasalt_Ids, State_Grid, State_Met, State_Chm ) IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### EMISSEASALT: Bin' ) ENDIF !---------------------------------------- ! APM microphysics !---------------------------------------- CALL Wet_SettlingBin( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & RC = RC ) #endif END SUBROUTINE ChemSeaSalt !EOP !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: wet_settling ! ! !DESCRIPTION: Subroutine WET\_SETTLING performs wet settling of sea salt. ! (bec, rjp, bmy, 4/20/04, 6/11/08) !\\ !\\ ! !INTERFACE: ! SUBROUTINE Wet_Settling( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, spcId, N, RC ) ! ! !USES: ! USE ErrCode_Mod USE Error_Mod, ONLY : Debug_Msg USE Input_Opt_Mod, ONLY : OptInput USE PhysConstants USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE Time_Mod, ONLY : Get_Ts_Chem ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object INTEGER, INTENT(IN) :: spcId ! Sea salt species Id INTEGER, INTENT(IN) :: N ! odd=accum; even=coarse ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success/failure ! ! !REMARKS: ! TODO: Declare State_Chm as INTENT(INOUT) and make TC a local pointer ! to State_Chm%SPECIES. Pass in the ID field to index State_Chm. ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I, J, L INTEGER :: S, ID REAL(fp) :: DELZ, DELZ1, REFF REAL(fp) :: DEN, P, DP REAL(fp) :: PDP, TEMP, CONST REAL(fp) :: SLIP, VISC, FAC1 REAL(fp) :: FAC2, FLUX, AREA_CM2 REAL(fp) :: RHB, SW, R0 REAL(fp) :: R1, SALT_MASS, SALT_MASS_TOTAL REAL(fp) :: VTS_WEIGHT, DMIDW, WTP REAL(fp) :: RHO, RHO1, RUM REAL(fp) :: RWET, RATIO_R, TOT1 REAL(fp) :: TOT2, DTCHEM ! Arrays REAL(fp) :: VTS(State_Grid%NZ) REAL(fp) :: TC0(State_Grid%NZ) ! Pointers REAL(fp), POINTER :: TC(:,:,:) ! Strings CHARACTER(LEN=255) :: ErrMsg CHARACTER(LEN=255) :: ThisLoc ! ! !DEFINED PARAMETERS: ! REAL(fp) :: FOUR_OVER_THREEptSEVEN = 4.0_fp / 3.7_fp REAL(fp) :: ONE_THIRD = 1.0_fp / 3.0_fp !======================================================================== ! WET_SETTLING begins here! !======================================================================== ! Initialize RC = GC_SUCCESS DTCHEM = GET_TS_CHEM() ! Chemistry timestep [s] DEN = SS_DEN( N ) ! Sea salt density [kg/m3] ErrMsg = '' ThisLoc = ' -> at WET_SETTLING (in module GeosCore/seasalt_mod.F90)' ! Make sure NR (computed in Init_SeaSalt) is not too large IF ( NR > NR_MAX ) THEN ErrMsg = 'Too many bins!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Pick the proper parameters for accum or coarse mode IF ( MOD( N, 2 ) == 0 ) THEN R0 = Input_Opt%SALC_REDGE_um(1) ! Lower edge of coarse mode [um] R1 = Input_Opt%SALC_REDGE_um(2) ! Upper edge of coarse mode [um] REFF = REFF_coarse ! Eff radius of coarse mode [m] ELSE R0 = Input_Opt%SALA_REDGE_um(1) ! Lower edge of accum mode [um] R1 = Input_Opt%SALA_REDGE_um(2) ! Upper edge of accum mode [um] REFF = REFF_accum ! Eff radius of accum mode [m] ENDIF IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG('SEASALT: STARTING WET_SETTLING') ENDIF ! Point to the species concentration array in State_Chm%Species TC => State_Chm%Species(spcId)%Conc !%%% Comment out unused code (not sure who disabled this) !%%% ! Sea salt radius [cm] !%%% !RCM = REFF * 100e+0_fp !%%% ! The radius used in the Gerber formulation for hygroscopic growth !%%% ! of sea salt should be in microns (RUM) instead of cm (RCM). !$$$ ! Replace RCM with RUM (jaegle 5/11/11) !%%% !RUM = REFF * 1d6 !%%% !%%% ! Exponential factors !%%% !FAC1 = C1 * ( RCM**C2 ) !%%% !FAC2 = C3 * ( RCM**C4 ) !%%% ! Replace with RUM (jaegle 5/11/11) !%%% !FAC1 = C1 * ( RUM**C2 ) !%%% !FAC2 = C3 * ( RUM**C4 ) !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, L, VTS, P )& !$OMP PRIVATE( TEMP, RHB, RWET, RATIO_R, RHO )& !$OMP PRIVATE( DP, PDP, CONST, SLIP, VISC )& !$OMP PRIVATE( TC0, DELZ, DELZ1, TOT1, TOT2 )& !$OMP PRIVATE( AREA_CM2, FLUX, ID, SALT_MASS_TOTAL, VTS_WEIGHT )& !$OMP PRIVATE( DMIDW, RHO1, WTP, SALT_MASS, S )& !$OMP COLLAPSE( 2 )& !$OMP SCHEDULE( DYNAMIC, 4 ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Zero PRIVATE loop variables ! (NOTE: Other variables are initialized within the L loop) AREA_CM2 = 0.0_fp FLUX = 0.0_fp RWET = 0.0_fp TOT1 = 0.0_fp TOT2 = 0.0_fp TC0 = 0.0_fp VTS = 0.0_fp DMIDW = 0.0_fp SALT_MASS = 0.0_fp SALT_MASS_TOTAL = 0.0_fp ! Loop over levels DO L = 1, State_Grid%NZ ! Pressure at center of the level [kPa] P = State_Met%PMID(I,J,L) * 0.1_fp ! Temperature [K] TEMP = State_Met%T(I,J,L) ! Cap RH at 0.99 RHB = MIN( 0.99_fp, State_Met%RH(I,J,L) * 1.0e-2_fp ) ! Safety check (phs, 5/1/08) RHB = MAX( RHB, 1.0e-30_fp ) ! Aerosol growth with relative humidity in radius [m] ! (Gerber, 1985) !RWET = 0.01e+0_fp*(FAC1/(FAC2-DLOG(RHB))+RCM**3.e+0_fp)**0.33e+0_fp ! Fix bugs in the Gerber formula: a log10 (instead of ln) ! should be used and the dry radius should be expressed in ! micrometers (instead of cm) also add more significant ! digits to the exponent (should be 1/3) (jaegle 5/11/11) !RWET = 1d-6*(FAC1/(FAC2-LOG10(RHB))+RUM**3.e+0_fp)**0.33333e+0_fp ! Use equation 5 in Lewis and Schwartz (2006) for sea ! salt growth (bec, jaegle 5/11/11) RWET = REFF * FOUR_OVER_THREEptSEVEN & * ( ( 2.0_fp - RHB ) / ( 1.0_fp - RHB ) )**ONE_THIRD ! Ratio dry over wet radii at the cubic power RATIO_R = ( REFF / RWET )**3.0_fp ! Density of the wet aerosol (kg/m3) RHO = RATIO_R * DEN + ( 1.0_fp - RATIO_R ) * 1000.0_fp ! Above density calculation is chemically unsound because ! it ignores chemical solvation. Iteratively solve Tang et al., ! 1997 equation 5 to calculate density of wet aerosol (kg/m3) ! (bec, jaegle 5/11/11) RATIO_R = ( REFF / RWET ) ! Assume an initial density of 1000 kg/m3 RHO = 1000.0_f8 WTP = 0.0_f8 RHO1 = 0.0_f8 DO WHILE ( ABS( RHO1 - RHO ) .gt. EPSI ) ! First calculate weight percent of aerosol (kg_RH=0.8/kg_wet) WTP = 100.0_f8 * DEN/RHO * ( RATIO_R * RATIO_R * RATIO_R ) ! Then calculate density of wet aerosol using equation 5 ! in Tang et al., 1997 [kg/m3] ! NOTE: Can rewrite this polynomial more efficiently!! RHO1 = ( 0.9971_f8 & + ( A1 * WTP ) & + ( A2 * WTP * WTP ) & + ( A3 * WTP * WTP * WTP ) & + ( A4 * WTP * WTP * WTP * WTP ) & ) * 1000.0_f8 ! Now calculate new weight percent using above density WTP = 100.0_f8 * DEN/RHO1 * ( RATIO_R * RATIO_R * RATIO_R ) ! Now recalculate new wet density [kg/m3] ! NOTE: can rewrite this polynomial more efficiently!! RHO = ( 0.9971_f8 & + ( A1 * WTP ) & + ( A2 * WTP * WTP ) & + ( A3 * WTP * WTP * WTP ) & + ( A4 * WTP * WTP * WTP * WTP ) & ) * 1000.0_f8 ENDDO ! Dp = particle diameter [um] DP = 2.0_fp * RWET * 1.0e+6_fp ! PdP = P * dP [hPa * um] PDp = P * Dp ! Constant CONST = 2.0_fp * RHO * ( RWET * RWET ) * g0 / 9.0_fp !================================================================== ! NOTE: Slip correction factor calculations following ! Seinfeld, pp464 which is thought to be more accurate ! but more computation required. (rjp, 1/24/02) ! ! # air molecule number density ! num = P * 1d3 * 6.023d23 / (8.314 * Temp) ! ! # gas mean free path ! lamda = 1.d6/( 1.41421 * num * 3.141592 * (3.7d-10)**2 ) ! ! # Slip correction ! Slip = 1. + 2. * lamda * (1.257 + 0.4 * exp( -1.1 * Dp & ! / (2. * lamda))) / Dp ! ! NOTE: Eq) 3.22 pp 50 in Hinds (Aerosol Technology) ! which produces slip correction factore with small error ! compared to the above with less computation. !================================================================== ! Slip correction factor (as function of P*dp) Slip = 1.0_fp + (15.60_fp + 7.0_fp * EXP( -0.059_fp * PDp ) ) / PDp ! Viscosity [Pa*s] of air as a function of temperature VISC = 1.458e-6_fp * ( Temp**1.5_fp ) / ( Temp + 110.4_fp ) ! Settling velocity [m/s] VTS(L) = CONST * Slip / VISC !================================================================== ! This settling velocity is for the mid-point of the size bin. ! In the following we derive scaling factors to take into account ! the strong dependence on radius of the settling velocity and the ! mass size distribution: ! VTS_WEIGHTED = total( M(k) x VTS(k)) / total( M(k) ) ! The settling velocity is a function of the radius squared ! (see definition of CONST above) ! so VTS(k) = VTS * (RMID(k)/RWET)^2 ! (jaegle 5/11/11) !================================================================== DMIDW = 0.0_fp SALT_MASS = 0.0_fp SALT_MASS_TOTAL = 0.0_fp VTS_WEIGHT = 0.0_fp !------------------------------------------------------------------ ! Calculate mass of wet aerosol (Dw = wet diameter, D = ! dry diameter): dM/dlnDw = dV/dlnDw * RHO, we assume that ! the density of sea-salt doesn't change much over the size ! range. and dV/dlnDw = dV/dlnD * dlnD/dlnDw = ! dV/dlnD * Dw/D = dV/dlnD * Rwet/Rdry ! Further convert to dM/dDw = dM/dln(Dw) * dln(Dw)/Dw = ! dM/dln(Dw)/Dw ! Overall = dM/dDw = dV/dlnD * Rwet/Rdry * RHO /Rw !------------------------------------------------------------------ DO ID = 1, NR IF ( DMID(ID) >= R0*2.0_fp .and. DMID(ID) <= R1*2.0_fp ) THEN DMIDW = DMID(ID) & * RWET/REFF ! wet radius [um] SALT_MASS = SALT_V(ID) & * RWET/REFF & * RHO & / ( DMIDW * 0.5_fp ) VTS_WEIGHT = VTS_WEIGHT & + SALT_MASS * VTS(L) & * ( DMIDW / (RWET* 1.0e+6_fp * 2.0_fp) )**2 & * ( 2.0_fp * DR * RWET/REFF ) SALT_MASS_TOTAL = SALT_MASS_TOTAL & + SALT_MASS * ( 2.0_fp * DR * RWET/REFF ) ENDIF ENDDO ! Calculate the weighted settling velocity: VTS(L) = VTS_WEIGHT / SALT_MASS_TOTAL ENDDO ! Method is to solve bidiagonal matrix which is ! implicit and first order accurate in z (rjp, 1/24/02) ! Save initial tracer concentration in column TC0 = TC(I,J,:) ! We know the boundary condition at the model top L = State_Met%MaxChemLev DELZ = State_Met%BXHEIGHT(I,J,L) TC(I,J,L) = TC(I,J,L) / ( 1.e+0_fp + DTCHEM * VTS(L) / DELZ ) DO L = State_Met%MaxChemLev-1, 1, -1 DELZ = State_Met%BXHEIGHT(I,J,L) DELZ1 = State_Met%BXHEIGHT(I,J,L+1) TC(I,J,L) = 1.0_fp / ( 1.0_fp + DTCHEM * VTS(L) / DELZ ) & * ( TC(I,J,L) + DTCHEM * VTS(L+1) / DELZ1 * TC(I,J,L+1) ) ENDDO !----------------------------------------------------------- ! HISTORY (aka netCDF diagnostics) ! Dry deposition flux loss [molec/cm2/s] ! ! NOTE: Eventually think about converting this ! diagnostic to more standard units [kg/m2/s] !----------------------------------------------------------- IF ( State_Diag%Archive_DryDepChm .OR. & State_Diag%Archive_DryDep ) THEN ! Initialize TOT1 = 0.0_fp TOT2 = 0.0_fp ! Compute column totals of TCO(:) and TC(I,J,:,N) DO L = 1, State_Grid%NZ TOT1 = TOT1 + TC0(L) TOT2 = TOT2 + TC(I,J,L) ENDDO ! Surface area [cm2] AREA_CM2 = State_Grid%Area_M2(I,J) * 1.0e+4_fp ! Convert sea salt flux from [kg/s] to [molec/cm2/s] FLUX = ( TOT1 - TOT2 ) / DTCHEM FLUX = FLUX * AVO / ( AIRMW / ( AIRMW & / State_Chm%SpcData(id_SALA)%Info%MW_g ) & * 1.e-3_fp ) / AREA_CM2 ! Drydep flux in chemistry only S = State_Diag%Map_DryDepChm%id2slot(idDep(N)) IF ( S > 0 ) THEN State_Diag%DryDepChm(I,J,S) = FLUX ENDIF ENDIF ENDDO ! I ENDDO ! J !$OMP END PARALLEL DO ! Free pointer TC => NULL() IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG('SEASALT: ENDING WET_SETTLING') ENDIF END SUBROUTINE Wet_Settling !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: chem_mopo ! ! !DESCRIPTION: Subroutine CHEM\_MOPO modifies hydrophobic marine organic ! aerosol concentrations based on the conversion to hydrophilic marine ! organic aerosols. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Chem_MOPO( Input_Opt, State_Chm, State_Diag, State_Grid, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE Time_Mod, ONLY : GET_TS_CHEM ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 10 Jul 2015 - E. Lundgren - Initial version (based on routine Chem_OCPO) ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I, J, L REAL(fp) :: DTCHEM, KOC, TC0, CNEW, RKT, FREQ ! Pointers TYPE(SpcConc), POINTER :: Spc(:) ! ! !DEFINED PARAMETERS: ! REAL(fp), PARAMETER :: OC_LIFE = 1.15e+0_fp !================================================================= ! CHEM_MOPO begins here! !================================================================= ! Assume success RC = GC_SUCCESS ! Initialize KOC = 1.e+0_fp / ( 86400e+0_fp * OC_LIFE ) DTCHEM = GET_TS_CHEM() OCCONV = 0e+0_fp ! Set pointer to GEOS-Chem tracer array [kg] Spc => State_Chm%Species !================================================================= ! For tracers with dry deposition, the loss rate of dry dep is ! combined in chem loss term. ! ! Conversion from hydrophobic to hydrophilic: ! e-folding time 1.15 days ! ---------------------------------------- ! Use an e-folding time of 1.15 days or a convertion rate ! of 1.0e-5 /sec. ! Hydrophobic --> Hydrophilic, k = 1.0e-5 !================================================================= !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, TC0, FREQ, RKT, CNEW ) & !$OMP SCHEDULE( DYNAMIC ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Initial OC [kg] TC0 = Spc(id_MOPO)%Conc(I,J,L) ! Zero drydep freq ! ### NOTE: Remove this later, but need to make ! ### sure we don't incur numerical diffs (bmy, 6/12/15) FREQ = 0e+0_fp ! Amount of MOPO left after chemistry and drydep [kg] RKT = ( KOC + FREQ ) * DTCHEM CNEW = TC0 * EXP( -RKT ) ! Prevent underflow condition IF ( CNEW < SMALLNUM ) CNEW = 0e+0_fp ! Amount of MOPO converted to MOPI [kg/timestep] OCCONV(I,J,L) = ( TC0 - CNEW ) * KOC / ( KOC + FREQ ) ! Store modified OC concentration back in tracer array Spc(id_MOPO)%Conc(I,J,L) = CNEW ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ! Free pointer Spc => NULL() END SUBROUTINE Chem_MOPO !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: chem_mopi ! ! !DESCRIPTION: Subroutine CHEM\_MOPI modifies hydrophilic marine organic ! aerosol concentrations based on the conversion from hydrophobic marine ! organic aerosols. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Chem_MOPI( Input_Opt, State_Chm, State_Diag, State_Grid, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE TIME_MOD, ONLY : GET_TS_CHEM ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 10 Jul 2015 - E. Lundgren - Initial version (based on routine Chem_OCPI) ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I, J, L REAL(fp) :: TC0, CNEW, CCV ! Pointers TYPE(SpcConc), POINTER :: Spc(:) !================================================================= ! CHEM_MOPI begins here! !================================================================= ! Assume success RC = GC_SUCCESS ! Set pointer to GEOS-Chem tracer array [kg] Spc => State_Chm%Species !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, TC0, CCV, CNEW ) & !$OMP SCHEDULE( DYNAMIC ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Initial H-philic OC [kg] TC0 = Spc(id_MOPI)%Conc(I,J,L) ! H-philic OC that used to be H-phobic OC [kg] CCV = OCCONV(I,J,L) ! Add the amount of converted MOPO to MOPI CNEW = TC0 + CCV ! Prevent underflow condition IF ( CNEW < SMALLNUM ) CNEW = 0e+0_fp ! Store modified concentration back in tracer array [kg] Spc(id_MOPI)%Conc(I,J,L) = CNEW ENDDO ENDDO ENDDO !$OMP END PARALLEL DO !================================================================= ! Cleanup and quit !================================================================= ! Zero OCCONV array for next timestep OCCONV = 0e+0_fp ! Free pointer Spc => NULL() END SUBROUTINE Chem_MOPI !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: init_seasalt ! ! !DESCRIPTION: Subroutine INIT\_SEASALT initializes and zeroes all module ! arrays (bmy, 4/26/04, 4/13/05) !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_SeaSalt( Input_Opt, State_Chm, State_Diag, State_Grid, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : Species USE State_Chm_Mod, ONLY : ChmState USE State_Chm_Mod, ONLY : Ind_ USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(IN) :: State_Diag ! Diagnostics State object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! SAVEd scalars LOGICAL, SAVE :: IS_INIT = .FALSE. ! Scalars INTEGER :: ID, N REAL(fp) :: dEdge ! Objects TYPE(Species), POINTER :: SpcInfo !======================================================================== ! INIT_SEASALT begins here! !======================================================================== ! Assume success RC = GC_SUCCESS ! Return if we have already allocated arrays ! or if it is a dry-run simulation IF ( IS_INIT .or. Input_Opt%DryRun ) RETURN ! Define species indices id_MOPI = Ind_('MOPI' ) id_MOPO = Ind_('MOPO' ) id_SALA = Ind_('SALA' ) id_SALC = Ind_('SALC' ) id_SALACL = Ind_('SALACL') id_SALCCL = Ind_('SALCCL') id_SALAAL = Ind_('SALAAL') id_SALCAL = Ind_('SALCAL') ! Initialize pointer SpcInfo => NULL() ! Allocate SALT_V module array ALLOCATE( SALT_V( NR_MAX ), STAT=RC ) CALL GC_CheckVar( 'seasalt_mod.F90:SALT_V', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN SALT_V = 0.0_fp ! Allocate DMID module array ALLOCATE( DMID( NR_MAX ), STAT=RC ) CALL GC_CheckVar( 'seasalt_mod.F90:DMID', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN DMID = 0.0_fp ! Allocate OCCONV only for marine-POA simulations (bmy, 10/13/16) IF ( Input_Opt%LMPOA ) THEN ALLOCATE( OCCONV( State_Grid%NX, State_Grid%NY, State_Grid%NZ), & STAT=RC ) CALL GC_CheckVar( 'seasalt_mod.F90:OCCONV', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN OCCONV = 0.0_fp ENDIF ! Zero the IDDEP array IDDEP = 0 SS_DEN = 0 ! Find drydep species IF ( Input_Opt%LDRYD ) THEN ! Loop over all species DO N = 1, State_Chm%nSpecies ! Get info about this species from the species database SpcInfo => State_Chm%SpcData(N)%Info ! Assign parameters to each species SELECT CASE ( TRIM( SpcInfo%Name ) ) CASE ( 'SALA' ) IDDEP(1) = SpcInfo%DryDepID SS_DEN(1) = SpcInfo%Density CASE ( 'SALC' ) IDDEP(2) = SpcInfo%DryDepID SS_DEN(2) = SpcInfo%Density CASE ( 'SALACL' ) IDDEP(3) = SpcInfo%DryDepID SS_DEN(3) = SpcInfo%Density CASE ( 'SALCCL' ) IDDEP(4) = SpcInfo%DryDepID SS_DEN(4) = SpcInfo%Density CASE ( 'SALAAL' ) IDDEP(5) = SpcInfo%DryDepID SS_DEN(5) = SpcInfo%Density CASE ( 'SALCAL' ) IDDEP(6) = SpcInfo%DryDepID SS_DEN(6) = SpcInfo%Density CASE DEFAULT ! Nothing END SELECT ! Free pointer SpcInfo => NULL() ENDDO ENDIF !======================================================================== ! Compute # of bins and effective radius for accum & coarse modes !======================================================================== ! Effective radii; convert [um] -> [m] REFF_accum = 0.5e-6_fp * SUM( Input_Opt%SALA_REDGE_um ) REFF_coarse = 0.5e-6_fp * SUM( Input_Opt%SALC_REDGE_um ) ! Number of dry radius size bins between lowest radius (accumulation ! mode) and largest radii (coarse mode) (jaegle 5/11/11) NR = INT( ( ( Input_Opt%SALC_REDGE_um(2) - & Input_Opt%SALA_REDGE_um(1) ) / DR ) + 0.5_fp ) !======================================================================== ! Define the volume size distribution of sea-salt. This only has ! to be done once. We assume that sea-salt is the combination of a ! coarse mode and accumulation model log-normal distribution ! functions (jaegle 5/11/11) !======================================================================== ! Lower edge of 0th bin dEdge = Input_Opt%SALA_REDGE_um(1) * 2.0_fp ! Loop over diameters DO ID = 1, NR ! Diameter of mid-point in microns dMid(ID) = dEdge + DR ! Calculate the dry volume size distribution as the sum of two ! log-normal size distributions. The parameters for the size ! distribution are based on Reid et al. and Quinn et al. ! The scaling factors 13. and 0.8 for acc and coarse mode ! aerosols are chosen to obtain a realistic distribution ! SALT_V (D) = dV/dln(D) [um3] SALT_V(ID) = & PI & / 6.0_fp & * ( dMid(ID)**3 ) & * ( & 13.0_fp & * EXP( -0.5_fp & * ( LOG( dMid(ID) ) - LOG( RG_A * 2.0_fp ) )**2 & / LOG( SIG_A )**2 & ) & / ( & SQRT( 2.0_fp * PI ) * LOG( SIG_A ) ) & + 0.8_fp & * EXP( -0.5_fp & * ( LOG( dMid(ID) ) - LOG( RG_C * 2.0_fp ) )**2 & / LOG( SIG_C )**2 & ) & / ( SQRT( 2.0_fp * PI ) * LOG( SIG_C ) ) & ) ! update the next edge dEdge = dEdge + ( DR * 2.0_fp ) ENDDO !======================================================================== ! Reset IS_INIT flag !======================================================================== IS_INIT = .TRUE. SpcInfo => NULL() END SUBROUTINE Init_SeaSalt !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: cleanup_seasalt ! ! !DESCRIPTION: Subroutine CLEANUP\_SEASALT deallocates all module arrays ! (bmy, 4/26/04, 4/13/05) !\\ !\\ ! !INTERFACE: ! SUBROUTINE Cleanup_SeaSalt ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC IF ( ALLOCATED( SALT_V ) ) DEALLOCATE( SALT_V ) IF ( ALLOCATED( DMID ) ) DEALLOCATE( DMID ) IF ( ALLOCATED( OCCONV ) ) DEALLOCATE( OCCONV ) END SUBROUTINE CleanUp_SeaSalt !EOC #ifdef APM !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: srcsaltbin ! ! !DESCRIPTION: SRCSALT routine for APM microphysics !\\ !\\ ! !INTERFACE: ! SUBROUTINE SRCSALTBIN( Spc_IDs, State_Grid, State_Met, State_Chm ) ! ! !USES: ! USE ERROR_MOD, ONLY : DEBUG_MSG, ERROR_STOP USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_TS_CHEM USE APM_INIT_MOD, ONLY : DFMSALT9 ! kg m-2 s-1 USE APM_INIT_MOD, ONLY : IFSSTSCALE ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: Spc_IDs(:) ! Seasalt species ids TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chm State object ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, J, L, N INTEGER :: NTOP INTEGER :: Spc_ID REAL*8 :: W10M, DTEMIS REAL*8 :: FEMIS, A_M2, SST, SCALESST REAL*8 :: SALT(State_Grid%NX,State_Grid%NY) ! Increment of radius for Emission integration (um) REAL*8, PARAMETER :: BETHA = 1.d0 ! External functions REAL(fp) :: SFCWINDSQR, FOCEAN !================================================================= ! SRCSALT begins here! !================================================================= ! Emission timestep [s] DTEMIS = GET_TS_CHEM() DO N=1,NSALTBIN SALT = 0d0 Spc_ID = Spc_IDs(N) !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, A_M2, W10M, FOCEAN, SFCWINDSQR, SST, SCALESST ) & !$OMP SCHEDULE( DYNAMIC ) ! Loop over grid boxes DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Initialize SFCWINDSQR = 0.0_fp W10M = 0.0_fp SST = 0.0_fp SCALESST = 0.0_fp A_M2 = State_Grid%AREA_M2(I,J) ! Check if over ocean assuming only gridcells that are ! at least 50% water are oceans (J. Pierce, 3/10/14) IF ( State_Met%IsWater(I,J) ) THEN FOCEAN = 1e+0_fp - State_Met%FRCLND(I,J) ELSE FOCEAN = 0.e+0_fp ENDIF IF ( FOCEAN > 0.5e+0_fp ) THEN ! Wind speed at 10 m altitude [m/s] SFCWINDSQR = State_Met%U10M(I,J)**2 + State_Met%V10M(I,J)**2 W10M = SQRT( SFCWINDSQR ) ! Loop over size bins IF ( IFSSTSCALE==1 ) THEN ! Sea surface temperature in Celsius (jaegle 5/11/11) SST = State_Met%TSKIN(I,J) - 273.15d0 ! Limit SST to 0-30C range ! Yu adjust per disc with Gan SST = MAX( SST , 0d0 ) ! ! limit to 0C SST = MAX( SST, 5d0 ) ! limit to 0C SST = MIN( SST, 30d0 ) ! limit to 30C ! Empirical SST scaling factor (jaegle 5/11/11) SCALESST = 0.329d0 + 0.0904d0*SST - & 0.00717d0*SST**2d0 + 0.000207d0*SST**3d0 ! Update seasalt source into SALT [kg] ! DFMSALT9: Sea-salt mass flux dFM (kg m-2 s-1) ! at U10 = 9 m/s SALT(I,J) = SALT(I,J) + & DFMSALT9(N)*(W10M/9.0)**3.41d0 *A_M2* DTEMIS*FOCEAN*SCALESST ELSE ! Update seasalt source into SALT [kg] ! DFMSALT9: Sea-salt mass flux dFM (kg m-2 s-1) ! at U10 = 9 m/s SALT(I,J) = SALT(I,J) + & DFMSALT9(N)*(W10M/9.0)**3.41d0 *A_M2* DTEMIS*FOCEAN ENDIF ENDIF ENDDO ENDDO !$OMP END PARALLEL DO !================================================================= ! Now partition seasalt emissions through boundary layer !================================================================= !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, NTOP, L, FEMIS ) & !$OMP SCHEDULE( DYNAMIC ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Layer in which the PBL top occurs NTOP = CEILING( State_Met%PBL_TOP_L(I,J) ) ! Loop thru the boundary layer DO L = 1, NTOP ! Fraction of the PBL spanned by box (I,J,L) [unitless] FEMIS = State_Met%F_OF_PBL(I,J,L) ! Add seasalt emissions into box (I,J,L) [kg] State_Chm%Species(Spc_ID)%Conc(I,J,L) = & State_Chm%Species(Spc_ID)%Conc(I,J,L) + FEMIS * SALT(I,J) ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDDO END SUBROUTINE SRCSALTBIN !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: wet_settlingbin ! ! !DESCRIPTION: Subroutine WET\_SETTLINGBIN computes the dry settling of ! aerosol tracers. Modified for APM simulation. (G. Luo) !\\ !\\ ! !INTERFACE: ! SUBROUTINE WET_SETTLINGBIN( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE PRESSURE_MOD, ONLY : GET_PCENTER USE TIME_MOD, ONLY : GET_TS_CHEM USE PhysConstants USE APM_INIT_MOD, ONLY : APMIDS USE APM_INIT_MOD, ONLY : NCTSEA,NSEA USE APM_INIT_MOD, ONLY : RSALT USE APM_DRIV_MOD, ONLY : GFTOT3D,DENWET3D ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, J, L, N, K INTEGER :: IDTEMP1, IDTEMP2 REAL*8 :: DT_SETTL, DELZ, DELZ1 REAL*8 :: REFF, DEN, CONST REAL*8 :: NUM, LAMDA, FLUX REAL*8 :: AREA_CM2, TC0(State_Grid%NZ) REAL*8 :: TOT1, TOT2 ! Pressure in Kpa 1 mb = 100 pa = 0.1 kPa REAL*8 :: P ! Diameter of aerosol [um] REAL*8 :: Dp ! Pressure * DP REAL*8 :: PDp ! Temperature (K) REAL*8 :: TEMP ! Slip correction factor REAL*8 :: Slip ! Viscosity of air (Pa s) REAL*8 :: Visc ! Settling velocity of particle (m/s) REAL*8 :: VTS(State_Grid%NZ) REAL*8 :: MASS(State_Grid%NZ) REAL*8 :: OLD(State_Grid%NZ,NCTSEA) ! Make a pointer to the tracer array TYPE(SpcConc), POINTER :: Spc(:) !================================================================= ! WET_SETTLINGBIN begins here! !================================================================= ! Assume success RC = GC_SUCCESS ! Point to Spc Spc => State_Chm%Species ! Aerosol settling timestep [s] DT_SETTL = GET_TS_CHEM() IDTEMP1 = APMIDS%id_SEABIN1 IDTEMP2 = APMIDS%id_SEABIN1+NSEA-1 !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, N, K, DEN, REFF, DP ) & !$OMP PRIVATE( CONST, VTS, TEMP, P, PDP, SLIP ) & !$OMP PRIVATE( MASS, OLD, VISC, TC0, DELZ, DELZ1 ) & !$OMP SCHEDULE( DYNAMIC ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Zero private loop variables CONST = 0.0_fp DELZ = 0.0_fp DELZ1 = 0.0_fp DEN = 0.0_fp DP = 0.0_fp MASS = 0.0_fp OLD = 0.0_fp P = 0.0_fp PDP = 0.0_fp REFF = 0.0_fp SLIP = 0.0_fp TEMP = 0.0_fp TC0 = 0.0_fp VISC = 0.0_fp VTS = 0.0_fp DO L = 1, State_Grid%NZ DO N = IDTEMP1, IDTEMP2 MASS(L) = MASS(L) + Spc(N)%Conc(I,J,L) ENDDO DO K = 1, NCTSEA OLD(L,K) = Spc(APMIDS%id_CTSEA+K-1)%Conc(I,J,L) Spc(APMIDS%id_CTSEA+K-1)%Conc(I,J,L) = 0.D0 ENDDO ENDDO ! Loop over aerosol bins DO N = 1, NSEA DO L = 1, State_Grid%NZ TC0(L) = Spc(APMIDS%id_SEABIN1+N-1)%Conc(I,J,L) IF(TC0(L)>1.D-30)THEN ! Initialize DEN = DENWET3D(I,J,L,2)*1.d3 REFF = RSALT(N)*GFTOT3D(I,J,L,2) DP = 2D0 * REFF * 1.D6 ! Dp [um] = particle diameter CONST = 2D0 * DEN * REFF**2 * g0 / 9D0 ! Get P [kPa], T [K], and P*DP P = GET_PCENTER(I,J,L) * 0.1d0 TEMP = State_Met%T(I,J,L) PDP = P * DP ! Slip correction factor as function of (P*dp) SLIP = 1d0 + ( 15.60d0 + 7.0d0 * EXP(-0.059d0*PDP) ) / PDP ! Viscosity [Pa s] of air as a function of temp (K) VISC = 1.458d-6 * (TEMP)**(1.5d0) / ( TEMP + 110.4d0 ) ! Settling velocity [m/s] VTS(L) = CONST * SLIP / VISC ELSE VTS(L) = 0.D0 ENDIF ENDDO ! Method is to solve bidiagonal matrix ! which is implicit and first order accurate in Z L = State_Grid%NZ IF(MASS(L)>1.D-30)THEN DELZ = State_Met%BXHEIGHT(I,J,L) Spc(APMIDS%id_SEABIN1+N-1)%Conc(I,J,L) = & Spc(APMIDS%id_SEABIN1+N-1)%Conc(I,J,L) / & ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) DO K = 1, NCTSEA Spc(APMIDS%id_CTSEA+K-1)%Conc(I,J,L) = & Spc(APMIDS%id_CTSEA+K-1)%Conc(I,J,L) + & OLD(L,K)*TC0(L)/MASS(L) / & ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) ENDDO ENDIF DO L = State_Grid%NZ-1, 1, -1 IF((MASS(L)*MASS(L+1))>1.D-30)THEN DELZ = State_Met%BXHEIGHT(I,J,L) DELZ1 = State_Met%BXHEIGHT(I,J,L+1) Spc(APMIDS%id_SEABIN1+N-1)%Conc(I,J,L) = 1.e+0_fp / & ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) & * (Spc(APMIDS%id_SEABIN1+N-1)%Conc(I,J,L) & + DT_SETTL * VTS(L+1) / DELZ1 * TC0(L+1) ) DO K = 1, NCTSEA Spc(APMIDS%id_CTSEA+K-1)%Conc(I,J,L) = & Spc(APMIDS%id_CTSEA+K-1)%Conc(I,J,L) + & 1.e+0_fp / ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) & * (OLD(L,K)*TC0(L)/MASS(L) & + DT_SETTL * VTS(L+1) / DELZ1 & * OLD(L+1,K)*TC0(L+1)/MASS(L+1) ) ENDDO ELSE IF(MASS(L)>1.D-30)THEN DELZ = State_Met%BXHEIGHT(I,J,L) DELZ1 = State_Met%BXHEIGHT(I,J,L+1) Spc(APMIDS%id_SEABIN1+N-1)%Conc(I,J,L) = 1.e+0_fp / & ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) & * (Spc(APMIDS%id_SEABIN1+N-1)%Conc(I,J,L) & + DT_SETTL * VTS(L+1) / DELZ1 * TC0(L+1) ) DO K = 1, NCTSEA Spc(APMIDS%id_CTSEA+K-1)%Conc(I,J,L) = & Spc(APMIDS%id_CTSEA+K-1)%Conc(I,J,L) + & 1.e+0_fp / ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) & * OLD(L,K)*TC0(L)/MASS(L) ENDDO ELSE IF(MASS(L+1)>1.D-30)THEN DELZ = State_Met%BXHEIGHT(I,J,L) DELZ1 = State_Met%BXHEIGHT(I,J,L+1) Spc(APMIDS%id_SEABIN1+N-1)%Conc(I,J,L) = 1.e+0_fp / & ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) & * (Spc(APMIDS%id_SEABIN1+N-1)%Conc(I,J,L) & + DT_SETTL * VTS(L+1) / DELZ1 * TC0(L+1) ) DO K = 1, NCTSEA Spc(APMIDS%id_CTSEA+K-1)%Conc(I,J,L) = & Spc(APMIDS%id_CTSEA+K-1)%Conc(I,J,L) + & 1.e+0_fp / ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) & * DT_SETTL * VTS(L+1) / DELZ1 & * OLD(L+1,K)*TC0(L+1)/MASS(L+1) ENDDO ENDIF ENDDO ENDDO DO L = 1, State_Grid%NZ DO K = 1, NCTSEA Spc(APMIDS%id_CTSEA+K-1)%Conc(I,J,L) = & MAX(1.d-30,Spc(APMIDS%id_CTSEA+K-1)%Conc(I,J,L)) ENDDO ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ! Clear the pointer Spc => NULL() END SUBROUTINE WET_SETTLINGBIN !EOC #endif END MODULE SeaSalt_Mod ================================================ FILE: GeosCore/set_boundary_conditions_mod.F90 ================================================ #ifdef MODEL_CLASSIC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: set_boundary_condition_mod.F90 ! ! !DESCRIPTION: Module SET\_BOUNDARY\_CONDITION\_MOD sets boundary conditions ! for the GEOS-Chem "Classic" nested-grid model. !\\ !\\ ! !INTERFACE: MODULE Set_Boundary_Conditions_Mod ! ! !USES: ! USE Precision_Mod ! For GEOS-Chem Precision (fp) IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: Set_Boundary_Conditions ! ! !REMARKS: ! This module was split for two purposes: ! (1) Avoid subroutine creep in HCO_Utilities_GC_Mod as this is ! purely GC code. ! (2) Allow for future extension if handling of boundary conditions ! will change (for example introducing rate-of-change) ! ! !REVISION HISTORY: ! 28 Jul 2023 - H.P. Lin - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: set_boundary_conditions ! ! !DESCRIPTION: Subroutine SET\_BOUNDARY\_CONDITIONS sets the boundary ! conditions using the boundary conditions read from HEMCO for nested-grid ! simulations. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Set_Boundary_Conditions( Input_Opt, State_Chm, State_Grid, RC ) ! ! !USES: ! USE ErrCode_Mod, ONLY : GC_SUCCESS, GC_Error USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : Species, SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE Time_Mod, ONLY : TIMESTAMP_STRING USE PhysConstants, ONLY : AIRMW USE UnitConv_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input options TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Failure or success ! ! !REMARKS: ! Split off from HEMCO code (Get\_Boundary\_Conditions) in order to be called ! more frequently throughout timesteps. ! ! !REVISION HISTORY: ! 28 Jul 2023 - H.P. Lin - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I, J, L, N, NA ! lon, lat, lev, spc indexes LOGICAL :: Perturb_CH4_BC REAL(fp) :: MW_g_CH4 ! CH4 molecular weight ! Strings CHARACTER(LEN=16) :: STAMP CHARACTER(LEN=255) :: errMsg, thisLoc !================================================================= ! SET_BOUNDARY_CONDITIONS begins here! !================================================================= ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = & ' -> at Set_Boundary_Conditions (in GeosCore/set_boundary_conditions_mod.F90)' ! We only need to get boundary conditions if this is a nested-grid ! simulation. Otherwise the BoundaryCond field won't be allocated. IF ( .not. State_Grid%NestedGrid ) RETURN ! Verify that incoming State_Chm%Species units are kg/kg dry air. IF ( .not. Check_Units( State_Chm, KG_SPECIES_PER_KG_DRY_AIR ) ) THEN IF ( Input_Opt%amIRoot ) THEN WRITE(6, '(a)') 'Unit check failure: Current units are ' // & UNIT_STR(State_Chm%Species(1)%Units) // & ', expected kg/kg dry' ENDIF errMsg = 'Unit check failure: Cannot apply nested-grid boundary ' // & 'conditions if units are not kg/kg dry. Your run may ' // & ' have failed previous to this error.' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !========================================================================= ! Loop over grid boxes and apply BCs to the specified buffer zone !========================================================================= !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, L, N )& !$OMP COLLAPSE( 2 ) DO NA = 1, State_Chm%nAdvect DO L = 1, State_Grid%NZ ! Get the species ID from the advected species ID N = State_Chm%Map_Advect(NA) ! Optionally perturb the CH4 boundary conditions ! Use ppb values specified in geoschem_config.yml ! Convert to [kg/kg dry] (nbalasus, 8/31/2023) Perturb_CH4_BC = ( State_Chm%SpcData(N)%Info%Name == "CH4" .AND. & Input_Opt%ITS_A_CARBON_SIM .AND. & Input_Opt%DoPerturbCH4BoundaryConditions .AND. & ( .NOT. State_Chm%IsCH4BCPerturbed ) ) MW_g_CH4 = State_Chm%SpcData(N)%Info%MW_g ! First loop over all latitudes of the nested domain DO J = 1, State_Grid%NY ! West BC DO I = 1, State_Grid%WestBuffer IF ( Perturb_CH4_BC ) THEN State_Chm%BoundaryCond(I,J,L,N) = State_Chm%BoundaryCond(I,J,L,N) + & Input_Opt%CH4BoundaryConditionIncreaseWest * 1.0e-9_fp * MW_g_CH4 / AIRMW ENDIF State_Chm%Species(N)%Conc(I,J,L) = State_Chm%BoundaryCond(I,J,L,N) ENDDO ! East BC DO I = (State_Grid%NX-State_Grid%EastBuffer)+1, State_Grid%NX IF ( Perturb_CH4_BC ) THEN State_Chm%BoundaryCond(I,J,L,N) = State_Chm%BoundaryCond(I,J,L,N) + & Input_Opt%CH4BoundaryConditionIncreaseEast * 1.0e-9_fp * MW_g_CH4 / AIRMW ENDIF State_Chm%Species(N)%Conc(I,J,L) = State_Chm%BoundaryCond(I,J,L,N) ENDDO ENDDO ! Then loop over the longitudes of the nested domain DO I = 1+State_Grid%WestBuffer,(State_Grid%NX-State_Grid%EastBuffer) ! South BC DO J = 1, State_Grid%SouthBuffer IF ( Perturb_CH4_BC ) THEN State_Chm%BoundaryCond(I,J,L,N) = State_Chm%BoundaryCond(I,J,L,N) + & Input_Opt%CH4BoundaryConditionIncreaseSouth * 1.0e-9_fp * MW_g_CH4 / AIRMW ENDIF State_Chm%Species(N)%Conc(I,J,L) = State_Chm%BoundaryCond(I,J,L,N) ENDDO ! North BC DO J = (State_Grid%NY-State_Grid%NorthBuffer)+1, State_Grid%NY IF ( Perturb_CH4_BC ) THEN State_Chm%BoundaryCond(I,J,L,N) = State_Chm%BoundaryCond(I,J,L,N) + & Input_Opt%CH4BoundaryConditionIncreaseNorth * 1.0e-9_fp * MW_g_CH4 / AIRMW ENDIF State_Chm%Species(N)%Conc(I,J,L) = State_Chm%BoundaryCond(I,J,L,N) ENDDO ENDDO ENDDO ENDDO !OMP END PARALLEL DO ! If the boundary conditions have already been perturbed, don't do it again IF ( Perturb_CH4_BC ) THEN State_Chm%IsCH4BCPerturbed = .TRUE. ENDIF ! Echo output. This will be at every time step, ! so comment this out when unnecessary. IF ( Input_Opt%amIRoot .and. Input_Opt%Verbose ) THEN STAMP = TIMESTAMP_STRING() WRITE( 6, * ) 'SET_BOUNDARY_CONDITIONS: Done applying BCs at ', STAMP ENDIF END SUBROUTINE Set_Boundary_Conditions !EOC END MODULE Set_Boundary_Conditions_Mod #endif ================================================ FILE: GeosCore/set_global_ch4_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: set_global_ch4_mod.F90 ! ! !DESCRIPTION: Module SET\_GLOBAL\_CH4 contains variables and routines for ! reading and applying surface CH4 concentrations from NOAA GMD data ! (provided by Lee Murray) !\\ !\\ ! !INTERFACE: ! MODULE Set_Global_CH4_Mod ! ! !USES: ! USE PRECISION_MOD IMPLICIT NONE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: Set_CH4 ! ! !REVISION HISTORY: ! 18 Jan 2018 - M. Sulprizio- Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: set_ch4 ! ! !DESCRIPTION: Subroutine SET\_CH4 copies monthly mean surface CH4 from ! HEMCO and applies it to CH4 concentrations in State\_Chm%Species. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Set_CH4( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD USE HCO_Error_Mod USE HCO_Utilities_GC_Mod, ONLY : HCO_GC_EvalFld USE Input_Opt_Mod, ONLY : OptInput USE PhysConstants, ONLY : AIRMW USE State_Chm_Mod, ONLY : ChmState, Ind_ USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_TS_DYN USE UnitConv_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! Lee Murray wrote: ! The monthly mean surface methane mixing ratios used here were spatially ! interpolated from NOAA GLOBALVIEW discrete monthly mean flask data using ! ordinary kriging for 1983-2016 (ch4_flask_surface_2017-07-28.tar.gz). ! Surface mixing ratios are extended back to 1979 and forward to 2020 via ! linear extrapolation of the local 1983-1990 and 2011-2016 trends, ! respectively. ! ! !REVISION HISTORY: ! 18 Jan 2018 - M. Sulprizio- Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I, J, L, PBL_TOP, id_CH4, DT INTEGER :: previous_units REAL(fp) :: CH4, dCH4 LOGICAL :: FOUND ! Arrays INTEGER, TARGET :: mapping(1) ! Pointers INTEGER, POINTER :: theMapping(:) ! Strings CHARACTER(LEN=255) :: ErrMsg CHARACTER(LEN=255) :: ThisLoc #if defined( MODEL_GEOS ) REAL(hp), ALLOCATABLE :: GEOS_CH4(:,:,:) REAL(hp), ALLOCATABLE :: CH4_OFFSET(:,:) LOGICAL :: USE_GEOS_CH4 #endif LOGICAL, SAVE :: FIRST = .TRUE. CHARACTER(LEN=255) :: SRCNAME !================================================================= ! SET_CH4 begins here! !================================================================= ! Assume success RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at SET_CH4 (in module GeosCore/set_global_ch4_mod.F90)' ! Skip unless we are doing a fullchem simulation IF ( .not. Input_Opt%ITS_A_FULLCHEM_SIM ) THEN RETURN ENDIF ! Get species ID id_CH4 = Ind_( 'CH4' ) mapping(1) = id_CH4 theMapping => mapping ! Get dynamic timestep DT = GET_TS_DYN() FOUND = .FALSE. SRCNAME = '' #if defined( MODEL_GEOS ) ! Check for CH4 offset first ALLOCATE(CH4_OFFSET(State_Grid%NX,State_Grid%NY)) CH4_OFFSET(:,:) = 0.0 CALL HCO_GC_EvalFld( Input_Opt, State_Grid, 'CH4_OFFSET', & CH4_OFFSET, RC, FOUND=FOUND ) IF ( .NOT. FOUND ) CH4_OFFSET = 0.0 ! Now get CH4 concentrations ALLOCATE(GEOS_CH4(State_Grid%NX,State_Grid%NY,State_Grid%NZ)) GEOS_CH4(:,:,:) = 0.0 CALL HCO_GC_EvalFld( Input_Opt, State_Grid, 'GEOS_CH4', & GEOS_CH4, RC, FOUND=FOUND ) USE_GEOS_CH4 = FOUND IF ( FOUND ) SRCNAME = 'GEOS_CH4' #endif ! Use the NOAA spatially resolved data where available IF (.NOT. FOUND ) THEN CALL HCO_GC_EvalFld( Input_Opt, State_Grid, 'NOAA_GMD_CH4', & State_Chm%SFC_CH4, RC, FOUND=FOUND ) IF ( FOUND ) SRCNAME = 'NOAA_GMD_CH4' ENDIF IF (.NOT. FOUND ) THEN FOUND = .TRUE. ! Use the CMIP6 data from Meinshausen et al. 2017, GMD ! https://doi.org/10.5194/gmd-10-2057-2017a CALL HCO_GC_EvalFld( Input_Opt, State_Grid, 'CMIP6_Sfc_CH4', & State_Chm%SFC_CH4, RC, FOUND=FOUND ) IF ( FOUND ) SRCNAME = 'CMIPS_Sfc_CH4' ENDIF IF (.NOT. FOUND ) THEN FOUND = .TRUE. ! Use the CMIP6 data boundary conditions processed for GCAP 2.0 CALL HCO_GC_EvalFld( Input_Opt, State_Grid, 'SfcVMR_CH4', & State_Chm%SFC_CH4, RC, FOUND=FOUND ) IF ( FOUND ) SRCNAME = 'SfcVMR_CH4' ENDIF IF (.NOT. FOUND ) THEN ErrMsg = 'Cannot retrieve data for NOAA_GMD_CH4, CMIP6_Sfc_CH4, or ' // & 'SfcVMR_CH4 from HEMCO! Make sure the data source ' // & 'corresponds to your emissions year in HEMCO_Config.rc ' // & '(NOAA GMD for 1978 and later; else CMIP6). To use the last year ' // & 'available you can change the time cycle flag in HEMCO_Config.rc for ' // & 'the inventory from RY to CY.' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Convert species to [v/v dry] aka [mol/mol dry] for this routine CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & mapping = theMapping, & new_units = MOLES_SPECIES_PER_MOLES_DRY_AIR, & previous_units = previous_units, & RC = RC ) ! Add info to logfile IF ( FOUND .AND. Input_Opt%amIRoot .AND. FIRST ) THEN WRITE(*,*) 'Getting CH4 boundary conditions in GEOS-Chem from :'//TRIM(SRCNAME) FIRST = .FALSE. ENDIF ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Unit conversion error at start of "SET_CH4"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, PBL_TOP, CH4, dCH4 ) & !$OMP SCHEDULE( DYNAMIC ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Top level of boundary layer at (I,J) PBL_TOP = CEILING( State_Met%PBL_TOP_L(I,J) ) ! Surface CH4 from HEMCO is in units [ppbv], convert to [v/v dry] CH4 = State_Chm%SFC_CH4(I,J) * 1e-9_fp ! Zero diagnostics IF ( State_Diag%Archive_CH4pseudoFlux ) THEN State_Diag%CH4pseudoFlux(I,J) = 0.0_fp ENDIF ! Prescribe methane concentrations throughout PBL DO L=1,PBL_TOP ! In GEOS, we may be getting CH4 from a 3D field #if defined( MODEL_GEOS ) IF ( USE_GEOS_CH4 ) CH4 = GEOS_CH4(I,J,L) + CH4_OFFSET(I,J) #endif ! Compute implied CH4 flux if diagnostic is on IF ( State_Diag%Archive_CH4pseudoFlux ) THEN ! v/v dry dCH4 = CH4 - State_Chm%Species(id_CH4)%Conc(I,J,L) ! Convert to kg/kg dry dCH4 = dCH4 * State_Chm%SpcData(id_CH4)%Info%MW_g / AIRMW ! Convert to kg/m2/s dCH4 = dCH4 * State_Met%AD(I,J,L) / State_Met%AREA_M2(I,J) / DT ! Accumulate statistics State_Diag%CH4pseudoFlux(I,J) = & State_Diag%CH4pseudoFlux(I,J) + dCH4 ENDIF State_Chm%Species(id_CH4)%Conc(I,J,L) = CH4 ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ! Convert species back to original unit CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & mapping = theMapping, & new_units = previous_units, & RC = RC ) ! Free pointer theMapping => NULL() #if defined( MODEL_GEOS ) ! Cleanup IF(ALLOCATED(GEOS_CH4)) DEALLOCATE(GEOS_CH4) IF(ALLOCATED(CH4_OFFSET)) DEALLOCATE(CH4_OFFSET) #endif ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Unit conversion error at end of "SET_CH4"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF END SUBROUTINE Set_CH4 !EOC END MODULE Set_Global_CH4_Mod ================================================ FILE: GeosCore/sfcvmr_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: sfcvmr_mod.F90 ! ! !DESCRIPTION: Module sfcvmr\_mod.F90 is a simple module which forces ! surface concentrations of relevant species to values read from an external ! file (via HEMCO). The names of the corresponding HEMCO configuration file ! entries need to be composed of the below defined prefix and the species ! name, e.g.: ! ! * SfcVMR_CH3Cl $ROOT/CMIP6/v2019-09//LIVE/CMIP6_GHG_surface_VMR_1750_2014_for_CH3Cl.nc CH3Cl 1750-2014/1-12/1/0 C xy ppbv * 801 1 1 ! * SfcVMR_CH2Cl2 $ROOT/CMIP6/v2019-09//LIVE/CMIP6_GHG_surface_VMR_1750_2014_for_CH2Cl2.nc CH2Cl2 1750-2014/1-12/1/0 C xy ppbv * 801 1 1 ! * SfcVMR_CHCl3 $ROOT/CMIP6/v2019-09//LIVE/CMIP6_GHG_surface_VMR_1750_2014_for_CHCl3.nc CHCl3 1750-2014/1-12/1/0 C xy ppbv * 801 1 1 ! * SfcVMR_CH3Br /LIVE/CMIP6_GHG_surface_VMR_1750_2014_for_CH3Br.nc CH3Br 1750-2014/1-12/1/0 C xy ppbv * 801 1 1 ! ! The concentrations in the file are expected to be in units of ppbv. ! It is also possible to apply scale factors to these fields, e.g. (to scale surface concentrations by 2): ! * SfcVMR_CH3Cl $ROOT/CMIP6/v2019-09//LIVE/CMIP6_GHG_surface_VMR_1750_2014_for_CH3Cl.nc CH3Cl 1750-2014/1-12/1/0 C xy ppbv * 801 1 1 ! ... ! # Scale the CMIP6 values in pptv to ppbv ! 802 SfcVMR_ScaleFactor 0.001 - - - xy unitless 1 ! !\\ !\\ ! !INTERFACE: ! MODULE SfcVmr_Mod ! ! !USES: ! USE PhysConstants ! Physical constants USE Precision_Mod ! For GEOS-Chem Precision (fp) IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: FixSfcVmr_Run PUBLIC :: FixSfcVmr_Final ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: FixSfcVmr_Init ! ! !REVISION HISTORY: ! 24 Dec 2016 - S. D. Eastham - Initial version. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !PRIVATE TYPES: ! ! Linked list type TYPE :: SfcMrObj CHARACTER(LEN=63) :: FldName ! Field name INTEGER :: SpcID ! ID in species database TYPE(SfcMrObj), POINTER :: Next ! Next element in list END TYPE SfcMrObj ! Heat of linked list with SfcMrObj objects TYPE(SfcMrObj), POINTER :: SfcMrHead => NULL() ! Field prefix CHARACTER(LEN=63), PARAMETER :: Prefix = 'SfcVMR_' CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: FixSfcVmr_Init ! ! !DESCRIPTION: Subroutine FixSfcVmr_Init initializes the SfcMr objects. !\\ !\\ ! !INTERFACE: ! SUBROUTINE FixSfcVmr_Init( Input_Opt, State_Chm, State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Met_Mod, ONLY : MetState USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE Species_Mod, ONLY : Species USE HCO_Utilities_GC_Mod, ONLY : HCO_GC_EvalFld ! ! !INPUT PARAMETERS: ! TYPE(MetState), INTENT(IN) :: State_Met ! Met state TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry state ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input opts ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Failure or success ! ! !REVISION HISTORY: ! 16 Aug 2019 - C. Keller - Updated version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: FOUND INTEGER :: N ! Strings CHARACTER(LEN=63) :: FldName CHARACTER(LEN=255) :: ErrMsg CHARACTER(LEN=255) :: ThisLoc ! Arrays REAL(fp) :: Arr2D(State_Grid%NX,State_Grid%NY) ! Pointers TYPE(Species), POINTER :: SpcInfo TYPE(SfcMrObj), POINTER :: iSfcMrObj !================================================================= ! FIXSFCVMR_Init begins here! !================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' --> at fixSfcVMR_Init (in module GeosCore/sfcvmr_mod.F90)' iSfcMrObj => NULL() SpcInfo => NULL() ! Verbose output -- only when debug printout is on (bmy, 05 Dec 2022) IF ( Input_Opt%amIRoot .and. Input_Opt%Verbose ) THEN WRITE( 6, 100 ) 100 FORMAT('--- Initialize surface boundary conditions from input file ---') ENDIF ! Head of linked list SfcMrHead => NULL() ! Loop over all species DO N = 1, State_Chm%nSpecies ! Species information SpcInfo => State_Chm%SpcData(N)%Info ! Check if file exists FldName = TRIM( Prefix ) // TRIM( SpcInfo%Name ) CALL HCO_GC_EvalFld( Input_Opt, State_Grid, TRIM(FldName), Arr2D, RC, FOUND=FOUND ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not find field : ' // TRIM( FldName ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Add to linked list if necessary IF ( FOUND ) THEN ! Must have positive, non-zero MW IF ( SpcInfo%MW_g <= 0.0_fp ) THEN ErrMsg = 'Cannot use surface boundary condition for species ' & // TRIM(SpcInfo%Name) // ' due to invalid MW!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Create new object, add to list ALLOCATE( iSfcMrObj, STAT=RC ) CALL GC_CheckVar( 'sfcvmr_mod.F90:iSfcMrObj', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN iSfcMrObj%SpcID = N iSfcMrObj%FldName = TRIM(Prefix)//TRIM(SpcInfo%Name) iSfcMrObj%Next => SfcMrHead SfcMrHead => iSfcMrObj ! Only write messages if debug printout is on (bmy, 05 Dec 2022) IF ( Input_Opt%amIRoot .and. Input_Opt%Verbose) THEN WRITE( 6, 110 ) TRIM( SpcInfo%Name ), TRIM( iSfcMrObj%FldName ) 110 FORMAT( '--> ', a, ' will use prescribed surface boundary ', & 'conditions from field ', a ) ENDIF ! Free the pointer iSfcMrObj => NULL() ENDIF ! Indicate success RC = GC_SUCCESS ENDDO ! If successful, print message ! Now only print when debug printout is on (bmy, 05 Dec 2022) IF ( Input_Opt%amIRoot .and. Input_Opt%Verbose .AND. RC == GC_SUCCESS) THEN WRITE( 6, 120 ) 120 FORMAT( '--- Finished initializing surface boundary conditions ---' ) ENDIF END SUBROUTINE fixSfcVMR_Init !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: FixSfcVmr_Run ! ! !DESCRIPTION: Subroutine FIXSFCVMR_Run fixes the VMR of selected species ! throughout the PBL to observed values. !\\ !\\ ! !INTERFACE: ! SUBROUTINE FixSfcVmr_Run( Input_Opt, State_Chm, State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Met_Mod, ONLY : MetState USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Chm_Mod, ONLY : Ind_ USE Species_Mod, ONLY : Species, SpcConc USE HCO_Utilities_GC_Mod, ONLY : HCO_GC_EvalFld USE TIME_MOD, ONLY : Get_Month ! Needed for the new CHxCly boundary condition Use PhysConstants, ONLY : AirMW ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Met State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input Options object INTEGER, INTENT(INOUT) :: RC ! Failure or success ! ! !REVISION HISTORY: ! 27 Aug 2014 - C. Keller - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! SAVEd scalars LOGICAL, SAVE :: FIRST = .TRUE. ! Scalars INTEGER :: I, J, L, MONTH INTEGER :: id_Spc ! Strings CHARACTER(LEN=255) :: ErrMsg CHARACTER(LEN=255) :: ThisLoc ! Arrays REAL(fp) :: Arr2D(State_Grid%NX,State_Grid%NY) ! Pointers TYPE(SpcConc), POINTER :: Spc(:) ! Ptr to species array TYPE(Species), POINTER :: SpcInfo ! Ptr to species database TYPE(SfcMrObj), POINTER :: iObj ! Linked list !======================================================================= ! FIXSFCVMR_Run begins here! !======================================================================= ! Assume success RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at FixSfcVmrRun (in module GeosCore/sfcvmr_mod.F90)' ! Initialize object if needed IF ( FIRST ) THEN CALL FixSfcVMR_Init( Input_Opt, State_Chm, State_Grid, State_Met, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in routine "FixSfcVmrInit"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Reset first-time flag FIRST = .FALSE. ENDIF ! Get a pointer to the species array Spc => State_Chm%Species ! Loop over all objects iObj => SfcMrHead DO WHILE( ASSOCIATED( iObj ) ) ! Get concentration for this species CALL HCO_GC_EvalFld( Input_Opt, State_Grid, Trim(iObj%FldName), Arr2D, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not get surface VMR for species: '// & TRIM( iObj%FldName ) // '!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Set mixing ratio in PBL SpcInfo => State_Chm%SpcData(iObj%SpcID)%Info id_Spc = SpcInfo%ModelID IF ( id_Spc > 0 ) THEN DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX IF ( State_Met%F_UNDER_PBLTOP(I,J,L) > 0.0_fp ) THEN Spc(id_Spc)%Conc(I,J,L) = ( Arr2d(I,J) * 1.0e-9_fp ) & / ( AIRMW / SpcInfo%MW_g ) ENDIF ! end selection of PBL boxes ENDDO ENDDO ENDDO ENDIF ! Point to next element in list iObj => iObj%Next ENDDO ! Free pointer Spc => NULL() END SUBROUTINE FixSfcVmr_Run !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: FixSfcVmr_Final ! ! !DESCRIPTION: Subroutine FIXSFCVMR_Final cleans up the FixSfcMR linked list. !\\ !\\ ! !INTERFACE: ! SUBROUTINE FixSfcVmr_Final( RC ) ! ! !USES: ! USE ErrCode_Mod ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Failure or success ! ! !REVISION HISTORY: ! 16 Aug 2019 - C. Keller - Updated version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Pointers TYPE(SfcMrObj), POINTER :: iObj TYPE(SfcMrObj), POINTER :: iObjNext ! Initialize RC = GC_SUCCESS iObj => NULL() iObjNext => NULL() ! Loop over all objects and deallocate iObj => SfcMrHead DO WHILE( ASSOCIATED( iObj ) ) iObjNext => iObj%Next iObj%Next => NULL() IF ( ASSOCIATED( iObj ) ) DEALLOCATE(iObj) iObj => iObjNext ENDDO END SUBROUTINE FixSfcVmr_Final !EOC END MODULE SfcVmr_Mod ================================================ FILE: GeosCore/sulfate_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: sulfate_mod.F90 ! ! !DESCRIPTION: Module SULFATE\_MOD contains arrays and routines for performing ! either a coupled chemistry/aerosol run or an offline sulfate aerosol ! simulation. Original code taken from Mian Chin's GOCART model and modified ! accordingly. (rjp, bdf, bmy, 6/22/00, 8/26/10) !\\ !\\ ! !INTERFACE: ! MODULE SULFATE_MOD ! ! !USES: ! USE HCO_ERROR_MOD ! For HEMCO error handling USE PhysConstants ! Physical constants USE PRECISION_MOD ! For GEOS-Chem Precision (fp, f4, f8) IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! #ifdef APM PRIVATE :: WET_SETTLINGBIN #endif PUBLIC :: CHEMSULFATE PUBLIC :: CLEANUP_SULFATE PUBLIC :: INIT_SULFATE #ifdef TOMAS PUBLIC :: EMISSSULFATETOMAS #endif ! ! ! !REMARKS: ! References: ! ============================================================================ ! (1 ) Andreae, M.O. & P. Merlet, "Emission of trace gases and aerosols from ! biomass burning", Global Biogeochem. Cycles, 15, 955-966, 2001. ! (2 ) Nightingale et al [2000a], J. Geophys. Res, 14, 373-387 ! (3 ) Nightingale et al [2000b], Geophys. Res. Lett, 27, 2117-2120 ! (4 ) Wanninkhof, R., "Relation between wind speed and gas exchange over ! the ocean", J. Geophys. Res, 97, 7373-7382, 1992. ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! !======================================================================== ! MODULE PARAMETERS: ! ! XNUMOL_OH : Molecules OH per kg OH [molec/kg] ! XNUMOL_O3 : Molecules O3 per kg O3 [molec/kg] ! XNUMOL_NO3 : Molecules NO3 per kg NO3 [molec/kg] ! TCVV_S : Ratio: Molwt air / Molwt S [unitless] !======================================================================= REAL(fp), PARAMETER :: XNUMOL_OH = AVO / 17e-3_fp ! hard-coded MW REAL(fp), PARAMETER :: XNUMOL_O3 = AVO / 48e-3_fp ! hard-coded MW REAL(fp), PARAMETER :: XNUMOL_NO3 = AVO / 62e-3_fp ! hard-coded MW REAL(fp), PARAMETER :: XNUMOL_H2O2 = AVO / 34e-3_fp ! hard-coded MW REAL(fp), PARAMETER :: TCVV_S = AIRMW / 32e+0_fp ! hard-coded MW REAL(fp), PARAMETER :: TCVV_N = AIRMW / 14e+0_fp ! hard-coded MW REAL(fp), PARAMETER :: SMALLNUM = 1e-20_fp REAL(fp), PARAMETER :: CM3PERM3 = 1.e6_fp #ifdef TOMAS !--------------------------------------------------------------- ! For TOMAS microphysics: Add parameter for scaling anthro SO2 !--------------------------------------------------------------- REAL(fp), PARAMETER :: scaleanthso2 = 1.0e+0_fp #endif ! ! !PRIVATE TYPES: ! !======================================================================== ! MODULE VARIABLES: ! ! DMSo : DMS oceanic emissions [v/v/timestep] ! DRYSO4s : Pointer to SO4s in DEPVEL array [unitless] ! DRYNITs : Pointer to NITs in DEPVEL array [unitless] ! !%%% NOTE: THESE ARE NOW OBTAINED VIA HEMCO (bmy, 5/22/15) %%%%%%%%%%% !% ENH3_an : NH3 anthropogenic emissions [kg NH3/box/s] !% ENH3_bb : NH3 biomass emissions [kg NH3/box/s] !% ENH3_bf : NH3 biofuel emissions [kg NH3/box/s] !% ENH3_na : NH73 natural source emissions [kg NH3/box/s] !% ESO2_ac : SO2 aircraft emissions [kg SO2/box/s] !% ESO2_an : SO2 anthropogenic emissions [kg SO2/box/s] !% ESO2_ev : SO2 eruptive volcanic em. [kg SO2/box/s] !% ESO2_nv : SO2 non-eruptive volcanic em. [kg SO2/box/s] !% ESO2_bb : SO2 biomass burning emissions [kg SO2/box/s] !% ESO2_bf : SO2 biofuel burning emissions [kg SO2/box/s] !% ESO2_sh : SO2 ship emissions [kg SO2/box/s] !% ESO4_an : SO4 anthropogenic emissions [kg SO4/box/s] !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! ! PMSA_DMS : P(MSA) from DMS [v/v/timestep] ! PSO2_DMS : P(SO2) from DMS [v/v/timestep] ! PSO4_SO2 : P(SO4) from SO2 [v/v/timestep] ! PHMS_SO2 : P(HMS) from SO2 [v/v/timestep] (jmm, 6/15/18) ! PSO2_HMS : P(SO2) from HMS [v/v/timestep] (jmm, 6/15/18) ! PSO4_HMS : P(SO4) from HMS & radical chem [v/v/timestep] (jmm, 6/26/18) ! SSTEMP : Sea surface temperatures [K] ! Eev : SO2 em. from eruptive volcanoes [kg SO2/box/s] ! Env : SO2 em. from non-erup volcanoes [kg SO2/box/s] ! TCOSZ : Sum of cos(SZA) for offline run [unitless] ! TTDAY : Total daylight length at (I,J) [minutes] ! SMALLNUM : Small number - prevent underflow [unitless] ! COSZM : Array for MAX(cos(SZA)) at (I,J) [unitless] ! LVOLC : Number of volcanic levels (20) [unitless] !======================================================================== ! Allocatable arrays REAL(fp), ALLOCATABLE :: DMSo(:,:) REAL(fp), ALLOCATABLE :: PMSA_DMS(:,:,:) REAL(fp), ALLOCATABLE :: PSO2_DMS(:,:,:) REAL(fp), ALLOCATABLE :: PSO4_SO2(:,:,:) REAL(fp), ALLOCATABLE :: PSO4_SS(:,:,:) REAL(fp), ALLOCATABLE :: PHMS_SO2(:,:,:) ! jmm 06/13/2018 REAL(fp), ALLOCATABLE :: PSO2_HMS(:,:,:) ! jmm 06/13/2018 REAL(fp), ALLOCATABLE :: PSO4_HMS(:,:,:) ! jmm 06/26/2018 REAL(fp), ALLOCATABLE :: PNITs(:,:,:) REAL(fp), ALLOCATABLE :: PNIT_dust(:,:,:,:) ! tdf REAL(fp), ALLOCATABLE :: PSO4_dust(:,:,:,:) ! tdf REAL(f4), ALLOCATABLE :: SOx_SCALE(:,:) REAL(fp), ALLOCATABLE :: SSTEMP(:,:) REAL(fp), ALLOCATABLE :: TCOSZ(:,:) REAL(fp), ALLOCATABLE :: TTDAY(:,:) REAL(fp), ALLOCATABLE :: COSZM(:,:) REAL(fp), ALLOCATABLE :: GLOBAL_OH(:,:,:) REAL(fp), ALLOCATABLE :: GLOBAL_HNO3(:,:,:) REAL(fp), ALLOCATABLE :: GLOBAL_HCl(:,:,:) REAL(fp), ALLOCATABLE :: GLOBAL_HCOOH(:,:,:) REAL(fp), ALLOCATABLE :: GLOBAL_ACTA(:,:,:) REAL(fp), ALLOCATABLE :: PNIT(:,:,:) ! xnw REAL(fp), ALLOCATABLE :: PACL(:,:,:) ! xnw REAL(fp), ALLOCATABLE :: PCCL(:,:,:) ! xnw #ifdef APM REAL(fp), ALLOCATABLE :: PSO4_SO2APM(:,:,:) REAL(fp), ALLOCATABLE :: PSO4_SO2SEA(:,:,:) #endif #ifdef TOMAS !--------------------------------------------------------------- ! For TOMAS microphysics: Define PSO4_SO2aq array !--------------------------------------------------------------- REAL(fp), ALLOCATABLE :: PSO4_SO2AQ(:,:,:) REAL(fp), ALLOCATABLE :: SO4_ANTH(:,:,:) #endif ! These are pointers to fields in the HEMCO data structure. ! Declare these with REAL(fp), aka REAL*4. (bmy, 3/4/15) REAL(f4), POINTER :: OH(:,:,:) => NULL() REAL(f4), POINTER :: NDENS_SALA(:,:) => NULL() REAL(f4), POINTER :: NDENS_SALC(:,:) => NULL() ! Emission timestep (imported from HEMCO) REAL(fp) :: TS_EMIS ! Species ID flags INTEGER :: id_AS, id_AHS, id_AW01 INTEGER :: id_DALbin1, id_DALbin2, id_DALbin3 INTEGER :: id_DALbin4, id_DALbin5, id_DALbin6, id_DALbin7 INTEGER :: id_DSTbin1, id_DSTbin2, id_DSTbin3 INTEGER :: id_DSTbin4, id_DSTbin5, id_DSTbin6, id_DSTbin7 ! Update to 7 dust bins (D. Zhang, 5 Mar 2025) INTEGER :: id_H2O2, id_HNO3, id_LET INTEGER :: id_MSA, id_NH3, id_NH4 INTEGER :: id_NH4aq, id_NIT, id_DMS INTEGER :: id_NITDbin1, id_NITDbin2, id_NITDbin3, id_NITDbin4 INTEGER :: id_NITDbin5, id_NITDbin6, id_NITDbin7 INTEGER :: id_NITs, id_NK01, id_NK05 INTEGER :: id_NK08, id_NK10, id_NK20 INTEGER :: id_NO3, id_O3, id_OH INTEGER :: id_SALA, id_SALC, id_SF01 INTEGER :: id_SO2, id_SO4, id_SO4aq INTEGER :: id_SO4Dbin1, id_SO4Dbin2, id_SO4Dbin3, id_SO4Dbin4 INTEGER :: id_SO4Dbin5, id_SO4Dbin6, id_SO4Dbin7 INTEGER :: id_SO4s, id_pFe INTEGER :: id_SALACL, id_HCL, id_SALCCL INTEGER :: id_SALAAL, id_SALCAL INTEGER :: id_HOBr, id_SO4H1, id_SO4H2 INTEGER :: id_HOCl, id_SO4H3, id_SO4H4 INTEGER :: id_HCOOH, id_ACTA, id_PSO4 INTEGER :: id_HMS, id_CH2O ! Species drydep ID flags INTEGER :: DRYSO4s, DRYNITs INTEGER :: DRYSO4dbin1, DRYSO4dbin2, DRYSO4dbin3, DRYSO4dbin4 INTEGER :: DRYSO4dbin5, DRYSO4dbin6, DRYSO4dbin7 INTEGER :: DRYNITdbin1, DRYNITdbin2, DRYNITdbin3, DRYNITdbin4 INTEGER :: DRYNITdbin5, DRYNITdbin6, DRYNITdbin7 CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: chemsulfate ! ! !DESCRIPTION: Subroutine CHEMSULFATE is the interface between the GEOS-CHEM ! main program and the sulfate chemistry routines. The user has the option of ! running a coupled chemistry-aerosols simulation or an offline aerosol ! simulation. (rjp, bdf, bmy, 5/31/00, 3/16/06) !\\ !\\ ! !INTERFACE: ! SUBROUTINE CHEMSULFATE( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, FullRun, RC ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD USE HCO_State_GC_Mod, ONLY : HcoState USE HCO_Utilities_GC_Mod, ONLY : HCO_GC_EvalFld USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Chm_Mod, ONLY : Ind_ USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_MONTH USE TIME_MOD, ONLY : GET_TS_CHEM USE TIME_MOD, ONLY : ITS_A_NEW_MONTH USE Timers_Mod, ONLY : Timer_End, Timer_Start USE UCX_MOD, ONLY : SETTLE_STRAT_AER USE UnitConv_Mod #ifdef APM USE HCO_STATE_MOD, ONLY : HCO_GetHcoID USE APM_DRIV_MOD, ONLY : EMITNH3,EMITSO2 #endif ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: FullRun ! Modify species conc? TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! SAVEd scalars LOGICAL, SAVE :: FIRSTCHEM = .TRUE. INTEGER, SAVE :: LASTMONTH = -99 ! Scalars LOGICAL :: LGRAVSTRAT LOGICAL :: LDSTUP INTEGER :: I, J, L, N, MONTH REAL(fp) :: DTCHEM INTEGER :: previous_units ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc ! Pointers TYPE(SpcConc), POINTER :: Spc(:) #ifdef APM INTEGER :: IDNH3,IDSO2 REAL(fp) :: A_M2 #endif !================================================================= ! CHEMSULFATE begins here! !================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at CHEMSULFATE (in module GeosCore/sulfate_mod.F90)' ! Copy fields from INPUT_OPT to local variables for use below LGRAVSTRAT = Input_Opt%LGRAVSTRAT LDSTUP = Input_Opt%LDSTUP ! Initialize pointers Spc => State_Chm%Species ! Chemistry species [kg] ! Get current month MONTH = GET_MONTH() ! If it's an offline simulation ... IF ( Input_Opt%ITS_AN_AEROSOL_SIM ) THEN ! Evaluate offline global OH from HEMCO CALL HCO_GC_EvalFld( Input_Opt, State_Grid, 'GLOBAL_OH', GLOBAL_OH, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot get data for GLOBAL_OH from HEMCO!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Evaluate offline global HNO3 from HEMCO CALL HCO_GC_EvalFld( Input_Opt, State_Grid, 'GLOBAL_HNO3', GLOBAL_HNO3, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot get data for GLOBAL_HNO3 from HEMCO!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Evaluate offline global HCl from HEMCO CALL HCO_GC_EvalFld( Input_Opt, State_Grid, 'GLOBAL_HCl', GLOBAL_HCl, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot get data for GLOBAL_HCl from HEMCO!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! And compute time scaling arrays for offline OH, NO3 CALL OHNO3TIME( State_Grid ) ENDIF ! DTCHEM is the chemistry timestep in seconds DTCHEM = GET_TS_CHEM() ! TS_EMIS is the emission timestep (in seconds). This is a module ! variable, hence define only on first call. IF ( FIRSTCHEM ) THEN #if defined( MODEL_CESM ) || defined( MODEL_BCC ) ! Do not use HEMCO state in CESM TS_EMIS = REAL( Input_Opt%TS_EMIS, fp ) #else IF ( .NOT. ASSOCIATED(HcoState) ) THEN ErrMsg = 'Cannot get HEMCO state variable "HCOState"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF TS_EMIS = HcoState%TS_EMIS #endif ENDIF #ifdef APM IDNH3 = HCO_GetHcoID( 'NH3', HcoState ) !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( L, J, I, A_M2 ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Grid box surface area [m2] A_M2 = HcoState%Grid%AREA_M2%Val( I, J ) DO L = 1, State_Grid%NZ ! Get emissions [kg/m2/s] and convert to [kg/box-sec] EMITNH3(I,J,L) = HcoState%Spc(IDNH3)%Emis%Val(I,J,L)*A_M2 ENDDO ENDDO ENDDO !$OMP END PARALLEL DO IDSO2 = HCO_GetHcoID( 'SO2', HcoState ) !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( L, J, I, A_M2 ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Grid box surface area [m2] A_M2 = HcoState%Grid%AREA_M2%Val( I, J ) DO L = 1, State_Grid%NZ ! Get emissions [kg/m2/s] and convert to [kg/box-sec] EMITSO2(I,J,L) = HcoState%Spc(IDSO2)%Emis%Val(I,J,L)*A_M2 ENDDO ENDDO ENDDO !$OMP END PARALLEL DO #endif ! Initialize module arrays PSO2_DMS = 0e+0_fp PMSA_DMS = 0e+0_fp PSO4_SO2 = 0e+0_fp PHMS_SO2 = 0e+0_fp ! jmm 06/13/2018 PSO2_HMS = 0e+0_fp ! jmm 06/13/2018 PSO4_HMS = 0e+0_fp ! jmm 06/26/2018 PSO4_SS = 0e+0_fp PNITs = 0e+0_fp PSO4_dust = 0e+0_fp ! tdf 04/17/08 PNIT_dust = 0e+0_fp ! tdf 04/17/08 PNIT = 0e+0_fp PACL = 0e+0_fp PCCL = 0e+0_fp #ifdef APM PSO4_SO2APM = 0e+0_fp PSO4_SO2SEA = 0e+0_fp #endif #ifdef TOMAS PSO4_SO2AQ = 0e+0_fp ! For TOMAS microphysics #endif !========================================================================= ! Call individual chemistry routines for sulfate/aerosol speccies !========================================================================= ! Perform all routines only when doing a "full" run IF ( FullRun ) THEN !--------------------------------------------------------------------- ! FullRun = T: Do all sulfate chemistry !--------------------------------------------------------------------- ! SO4s [kg] gravitational settling IF ( id_SO4s > 0 ) THEN CALL GRAV_SETTLING( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, id_SO4s, RC ) IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMSULFATE: GRAV_SET, SO4S' ) ENDIF ENDIF ! NITs [kg] gravitational settling IF ( id_NITs > 0 ) THEN CALL GRAV_SETTLING( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, id_NITs, RC ) IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMSULFATE: GRAV_SET, NITS' ) ENDIF ENDIF !---------------------------------------------------------------- ! These species are only used for the aciduptake simulations !---------------------------------------------------------------- ! Update to 7 dust bins (D. Zhang, 5 Mar 2025) IF ( LDSTUP ) THEN ! SO4dbin1 [kg] gravitational settling IF ( id_SO4dbin1 > 0 ) THEN CALL GRAV_SETTLING( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, id_SO4dbin1, RC ) IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMSULFATE: GRAV_SET, SO4dbin1') ENDIF ENDIF ! SO4dbin2 [kg] gravitational settling IF ( id_SO4dbin2 > 0 ) THEN CALL GRAV_SETTLING( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, id_SO4dbin2, RC ) IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMSULFATE: GRAV_SET, SO4dbin2') ENDIF ENDIF ! SO4dbin3 [kg] gravitational settling IF ( id_SO4dbin3 > 0 ) THEN CALL GRAV_SETTLING( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, id_SO4dbin3, RC ) IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMSULFATE: GRAV_SET, SO4dbin3') ENDIF ENDIF ! SO4dbin4 [kg] gravitational settling IF ( id_SO4dbin4 > 0 ) THEN CALL GRAV_SETTLING( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, id_SO4dbin4, RC ) IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMSULFATE: GRAV_SET, SO4dbin4') ENDIF ENDIF ! SO4dbin5 [kg] gravitational settling IF ( id_SO4dbin5 > 0 ) THEN CALL GRAV_SETTLING( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, id_SO4dbin5, RC ) IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMSULFATE: GRAV_SET, SO4dbin5') ENDIF ENDIF ! SO4dbin6 [kg] gravitational settling IF ( id_SO4dbin6 > 0 ) THEN CALL GRAV_SETTLING( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, id_SO4dbin6, RC ) IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMSULFATE: GRAV_SET, SO4dbin6') ENDIF ENDIF ! SO4dbin7 [kg] gravitational settling IF ( id_SO4dbin7 > 0 ) THEN CALL GRAV_SETTLING( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, id_SO4dbin7, RC ) IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMSULFATE: GRAV_SET, SO4dbin7') ENDIF ENDIF ! NITdbin1 [kg] gravitational settling IF ( id_NITdbin1 > 0 ) THEN CALL GRAV_SETTLING( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, id_NITdbin1, RC ) IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMSULFATE: GRAV_SET, NITdbin1') ENDIF ENDIF ! NITdbin2 [kg] gravitational settling IF ( id_NITdbin2 > 0 ) THEN CALL GRAV_SETTLING( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, id_NITdbin2, RC ) IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMSULFATE: GRAV_SET, NITdbin2') ENDIF ENDIF ! NITdbin3 [kg] gravitational settling IF ( id_NITdbin3 > 0 ) THEN CALL GRAV_SETTLING( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, id_NITdbin3, RC ) IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMSULFATE: GRAV_SET, NITdbin3') ENDIF ENDIF ! NITdbin4 [kg] gravitational settling IF ( id_NITdbin4 > 0 ) THEN CALL GRAV_SETTLING( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, id_NITdbin4, RC ) IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMSULFATE: GRAV_SET, NITdbin4') ENDIF ENDIF ! NITdbin5 [kg] gravitational settling IF ( id_NITdbin5 > 0 ) THEN CALL GRAV_SETTLING( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, id_NITdbin5, RC ) IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMSULFATE: GRAV_SET, NITdbin5') ENDIF ENDIF ! NITdbin6 [kg] gravitational settling IF ( id_NITdbin6 > 0 ) THEN CALL GRAV_SETTLING( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, id_NITdbin6, RC ) IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMSULFATE: GRAV_SET, NITdbin6') ENDIF ENDIF ! NITdbin7 [kg] gravitational settling IF ( id_NITdbin7 > 0 ) THEN CALL GRAV_SETTLING( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, id_NITdbin7, RC ) IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMSULFATE: GRAV_SET, NITdbin7') ENDIF ENDIF ENDIF ! Stratospheric aerosol gravitational settling IF ( LGRAVSTRAT ) THEN CALL SETTLE_STRAT_AER( Input_Opt, State_Chm, State_Grid, & State_Met, RC ) IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMSULFATE: GRAV_SET, STRAT' ) ENDIF ENDIF ! Halt aerosol chem timer (so that unit conv can be timed separately) IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "=> Aerosol chem", RC ) ENDIF ! Convert species to [v/v dry] aka [mol/mol dry] ! NOTE: For TOMAS, convert all species units, in order not to ! break internal unit conversions (Bob Yantosca, 11 Apr 2024) CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & #ifndef TOMAS mapping = State_Chm%Map_Advect, & #endif new_units = MOLES_SPECIES_PER_MOLES_DRY_AIR, & previous_units = previous_units, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN CALL GC_Error('Unit conversion error', RC, & 'Start of CHEM_SULFATE in sulfate_mod.F90') RETURN ENDIF ! Start aerosol chem timer again IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "=> Aerosol chem", RC ) ENDIF IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMSULFATE: a CONVERT UNITS' ) ENDIF ! For offline runs only ... IF ( Input_Opt%ITS_AN_AEROSOL_SIM ) THEN !-------------------------------- ! DMS chemistry (offline only) !-------------------------------- CALL CHEM_DMS( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Chem_DMS"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Debug info IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMSULFATE: a CHEM_DMS' ) ENDIF !-------------------------------- ! H2O2 (offline only) !-------------------------------- CALL CHEM_H2O2( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Chem_H2O2"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMSULFATE: a CHEM_H2O2' ) ENDIF ENDIF !----------------------- ! SO2 chemistry !----------------------- CALL CHEM_SO2( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, .TRUE., RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Chem_SO2"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Debug info IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMSULFATE: a CHEM_SO2' ) ENDIF !----------------------- ! SO4 chemistry !----------------------- CALL CHEM_SO4( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Chem_SO4"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMSULFATE: a CHEM_SO4' ) ENDIF #ifdef TOMAS !--------------------------------------------------------------------- ! For TOMAS microphysics: ! ! SO4 from aqueous chemistry of SO2 (in-cloud oxidation) ! ! SO4 produced via aqueous chemistry is distributed onto 30-bin ! aerosol by TOMAS subroutine AQOXID. NOTE: This may be moved ! to tomas_mod.F90 in the future, but for now it still needs to get ! the PSO4_SO2AQ value while CHEMSULFATE is called !--------------------------------------------------------------------- CALL CHEM_SO4_AQ( Input_Opt, State_Chm, State_Grid, & State_Met, State_Diag, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "CHEM_SO4_AQ"!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMSULFATE: a CHEM_SO4_AQ' ) ENDIF #endif ! MSA CALL CHEM_MSA( Input_Opt, State_Chm, State_Grid, State_Met, RC ) IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMSULFATE: a CHEM_MSA' ) ENDIF ! Sulfur Nitrate. ! CHEM_NIT includes a source term from sea salt aerosols, so keep ! here. CALL CHEM_NIT( Input_Opt, State_Chm, State_Grid, State_Met, RC ) IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMSULFATE: a CHEM_NIT' ) ENDIF ! Calculate the HCl uptake by alkalinity, xnw CALL CHEM_CL( Input_Opt, State_Met, State_Chm, State_Grid, RC ) IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMSULFATE: a CHEM_CL' ) ENDIF ELSE !--------------------------------------------------------------------- ! FullRun = F: Just set up Cloud pH & related parameters, and exit !--------------------------------------------------------------------- ! Halt aerosol chem timer (so that unit conv can be timed separately) IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "=> Aerosol chem", RC ) ENDIF ! Convert species to [v/v dry] aka [mol/mol dry] ! NOTE: For TOMAS, convert all species units, in order not to ! break internal unit conversions (Bob Yantosca, 11 Apr 2024) CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & #ifndef TOMAS mapping = State_Chm%Map_Advect, & #endif new_units = MOLES_SPECIES_PER_MOLES_DRY_AIR, & previous_units = previous_units, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN CALL GC_Error('Unit conversion error', RC, & 'Start of CHEM_SULFATE in sulfate_mod.F90') RETURN ENDIF ! Start aerosol chem timer again IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "=> Aerosol chem", RC ) ENDIF IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMSULFATE: a CONVERT UNITS' ) ENDIF ! Call the SO2 routine to get cloud pH parameters CALL CHEM_SO2( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, .FALSE., RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Chem_SO2"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### CHEMSULFATE: a CHEM_SO2 false' ) ENDIF ENDIF ! FullRun ! Halt aerosol chem timer (so that unit conv can be timed separately) IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "=> Aerosol chem", RC ) ENDIF ! Convert species units back to original unit ! NOTE: For TOMAS, convert all species units, in order not to ! break internal unit conversions (Bob Yantosca, 11 Apr 2024) CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & #ifndef TOMAS mapping = State_Chm%Map_Advect, & #endif new_units = previous_units, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN CALL GC_Error('Unit conversion error', RC, & 'End of CHEM_SULFATE in sulfate_mod.F90') RETURN ENDIF ! Start aerosol chem timer again IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "=> Aerosol chem", RC ) ENDIF ! Free pointer Spc => NULL() ! We have already gone thru one chemistry iteration FIRSTCHEM = .FALSE. END SUBROUTINE CHEMSULFATE !EOC #ifdef TOMAS !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: emisssulfatetomas ! ! !DESCRIPTION: Subroutine EMISSSULFATETOMAS connects HEMCO bulk emissions to ! the TOMAS tracers. Only use this for TOMAS sims. This should be quite similar ! to the TOMAS relevant parts of 'emisssulfate' in v9 (Jkodros 6/2/15) !\\ !\\ ! !INTERFACE: ! SUBROUTINE EMISSSULFATETOMAS( Input_Opt, State_Chm, State_Grid, & State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE Timers_Mod, ONLY : Timer_End, Timer_Start USE TOMAS_MOD, ONLY : ICOMP, IDIAG USE TOMAS_MOD, ONLY : NH4BULKTOBIN USE TOMAS_MOD, ONLY : SRTNH4 USE UnitConv_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State objectt ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES ! ! Fields for TOMAS simulation REAL*8 :: BINMASS(State_Grid%NX,State_Grid%NY,State_Grid%NZ, & State_Chm%nTomasBins*ICOMP) INTEGER :: IBINS INTEGER :: TID, I, J, L, M INTEGER :: ii=53, jj=29, ll=1 REAL(fp) :: NH4_CONC INTEGER :: previous_units ! Pointers TYPE(SpcConc), POINTER :: Spc(:) ! Arrays REAL(fp) :: tempnh4(State_Chm%nTomasBins) REAL(fp) :: MK_TEMP2(State_Chm%nTomasBins) !================================================================= ! EMISSSULFATETOMAS begins here! !================================================================= ! Halt HEMCO timer (so that unit conv can be timed separately) IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "HEMCO", RC ) ENDIF ! Convert species to [kg] for TOMAS. This will be removed once ! TOMAS uses mixing ratio instead of mass as tracer units (ewl, 9/11/15) CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & mapping = State_Chm%Map_Advect, & new_units = KG_SPECIES, & previous_units = previous_units, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN CALL GC_Error('Unit conversion error', RC, & 'Start of EMISSSULFATETOMAS in sulfate_mod.F90') RETURN ENDIF ! Start HEMCO timer again IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "HEMCO", RC ) ENDIF ! Point to chemical species array [kg] Spc => State_Chm%Species ! Number of bins IBINS = State_Chm%nTomasBins IF (id_SF01 > 0 .and. id_NK01 > 0 ) THEN ! Get NH4 and aerosol water into the same array DO M = 1, IBINS*(ICOMP-IDIAG) BINMASS(:,:,:,M) = Spc(id_SF01+M-1)%Conc(:,:,:) ENDDO IF ( SRTNH4 > 0 ) THEN TID = IBINS*(ICOMP-IDIAG) + 1 !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, M, TEMPNH4, MK_TEMP2, NH4_CONC ) & !$OMP SCHEDULE( DYNAMIC ) DO L=1,State_Grid%NZ DO J=1,State_Grid%NY DO I=1,State_Grid%NX ! Change pointer to a variable to avoid array temporary ! (bmy, 7/7/17) DO M = 1, IBINS MK_TEMP2(M) = Spc(id_SF01+M-1)%Conc(I,J,L) ENDDO NH4_CONC = Spc(id_NH4)%Conc(I,J,L) CALL NH4BULKTOBIN( MK_TEMP2, NH4_CONC, TEMPNH4 ) BINMASS(I,J,L,TID:TID+IBINS-1) = TEMPNH4(1:IBINS) ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDIF TID = IBINS*(ICOMP-1) +1 DO M = 1, IBINS BINMASS(:,:,:,TID+M-1) = Spc(id_AW01+M-1)%Conc(:,:,:) ENDDO !IF ( id_SF01 > 0 ) THEN CALL SRCSF30( Input_Opt, State_Grid, State_Met, & State_Chm, BINMASS(:,:,:,:), RC ) ! Return the aerosol mass after emission subroutine to Spc ! excluding the NH4 aerosol and aerosol water (win, 9/27/08) DO M = 1, IBINS*(ICOMP-IDIAG) Spc(id_SF01+M-1)%Conc(:,:,:) = BINMASS(:,:,:,M) ENDDO ENDIF ! Free pointer NULLIFY( Spc ) ! Halt HEMCO timer (so that unit conv can be timed separately) IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "HEMCO", RC ) ENDIF ! Convert species back to original units (ewl, 9/11/15) CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & mapping = State_Chm%Map_Advect, & new_units = previous_units, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN CALL GC_Error('Unit conversion error', RC, & 'End of EMISSSULFATETOMAS in sulfate_mod.F90') RETURN ENDIF ! Start HEMCO timer again IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "HEMCO", RC ) ENDIF END SUBROUTINE EMISSSULFATETOMAS !EOC #endif !----------------------------------------------------------------------------- ! Jack Kodros re-writing this !----------------------------------------------------------------------------- !BOP ! ! !IROUTINE: srcsf30 ! ! !DESCRIPTION: Subroutine SRCSF30 (Jkodros 6/2/15) !\\ !\\ ! !INTERFACE: ! #ifdef TOMAS SUBROUTINE SRCSF30( Input_Opt, State_Grid, State_Met, State_Chm, TC2, RC ) ! ! !USES: ! USE ErrCode_Mod, ONLY : GC_WARNING USE ERROR_MOD, ONLY : ERROR_STOP, IT_IS_NAN USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE State_Chm_Mod, ONLY : ChmState USE TOMAS_MOD, ONLY : AVGMASS, ICOMP USE TOMAS_MOD, ONLY : Xk USE TOMAS_MOD, ONLY : SUBGRIDCOAG, MNFIX USE TOMAS_MOD, ONLY : SRTSO4, SRTNH4, DEBUGPRINT USE HCO_Utilities_GC_Mod, ONLY : HCO_GC_GetDiagn USE HCO_State_GC_Mod, ONLY : HcoState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object REAL(fp), INTENT(INOUT) :: TC2(State_Grid%NX, & State_Grid%NY, & State_Grid%NZ, & State_Chm%nTomasBins*ICOMP) ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES ! INTEGER :: I, J, K, L, DOW_LT, NTOP, C, Bi REAL*8 :: SO4(State_Grid%NZ) REAL*8 :: DTSRCE REAL*8 :: EFRAC(State_Grid%NZ) REAL*8 :: TSO4, FEMIS REAL*8 :: AREA_CM2 REAL*8 :: SO4an(State_Grid%NX,State_Grid%NY,State_Grid%NZ) REAL*8 :: SO4bf(State_Grid%NX,State_Grid%NY) REAL*8 :: SO4anbf(State_Grid%NX,State_Grid%NY,2) REAL*8 :: BFRAC(State_Chm%nTomasBins) REAL(fp) :: NDISTINIT(State_Chm%nTomasBins) REAL(fp) :: NDISTFINAL(State_Chm%nTomasBins) REAL(fp) :: MADDFINAL(State_Chm%nTomasBins) REAL(fp) :: NDIST(State_Chm%nTomasBins) Real(fp) :: MDIST(State_Chm%nTomasBins,ICOMP) REAL(fp) :: NDIST2(State_Chm%nTomasBins) REAL(fp) :: MDIST2(State_Chm%nTomasBins,ICOMP) REAL*4 :: TSCALE, BOXVOL, TEMP, PRES !REAL(fp) :: N0(State_Grid%NZ,State_Chm%nTomasBins) !REAL(fp) :: M0(State_Grid%NZ,State_Chm%nTomasBins) REAL(fp) :: Ndiag(State_Chm%nTomasBins) REAL(fp) :: Mdiag(State_Chm%nTomasBins) REAL(fp) :: MADDTOTAL !optimization variable for diag !REAL(fp) :: Avginit(State_Chm%nTomasBins) !REAL(fp) :: Avgfinal(State_Chm%nTomasBins) !REAL(fp) :: Avginner(State_Chm%nTomasBins) REAL(fp) :: AREA(State_Grid%NX, State_Grid%NY) !REAL(fp) :: AREA3D(State_Grid%NX, State_Grid%NY,2) ! Pointers REAL(f4), POINTER :: Ptr2D(:,: ) REAL(f4), POINTER :: Ptr3D(:,:,:) TYPE(SpcConc), POINTER :: TC1(:) INTEGER :: N_TRACERS INTEGER :: IBINS LOGICAL :: ERRORSWITCH, SGCOAG = .FALSE. ! bc,jrp - turn off subgridcoag 18/12/23 INTEGER :: FLAG, ERR logical :: pdbug !(temporary) win, 10/24/07 !integer :: ii, jj, ll !data ii, jj, ll / 61, 1, 7 / INTEGER :: ii=53, jj=29, ll=1 ! Ratio of molecular weights: S/SO4 REAL*8, PARAMETER :: S_SO4 = 32d0 / 96d0 ! debugging real*8 dummy ! For fields from Input_Opt LOGICAL :: LNLPBL LOGICAL :: jkdbg=.true. ! Strings CHARACTER(LEN= 63) :: DgnName CHARACTER(LEN=255) :: MSG CHARACTER(LEN=255) :: LOC='srcsf30 (sulfate_mod.F90)' !================================================================= ! SRCSF30 begins here! !================================================================= ! Free pointers Ptr2D => NULL() Ptr3D => NULL() ! COpy values from Input_Opt LNLPBL = Input_Opt%LNLPBL ! Import emissions from HEMCO (through HEMCO state) IF ( .NOT. ASSOCIATED(HcoState) ) THEN CALL ERROR_STOP ( 'HcoState not defined!', LOC ) ENDIF ! Emission timestep [seconds] DTSRCE = HcoState%TS_EMIS ! Grid box aarea AREA = HcoState%Grid%AREA_M2%Val(:,:) !AREA3D(:,:,1) = AREA(:,:) !AREA3D(:,:,2) = AREA(:,:) ! comment out if shut off subgridcoag bc,14/12/23 ! Define subgrid coagulation timescale (win, 10/28/08) !IF ( TRIM(State_Grid%GridRes) == '4.0x5.0' ) THEN ! TSCALE = 10.0_fp*3600.0_fp ! 10 hours !ELSE IF ( TRIM(State_Grid%GridRes) == '2.0x2.5' ) THEN TSCALE = 5.0_fp*3600.0_fp !ELSE IF ( TRIM(State_Grid%GridRes) == '0.5x0.625' ) THEN ! TSCALE = 1.0_fp*3600.0_fp !ELSE IF ( TRIM(State_Grid%GridRes) == '0.25x0.3125' ) THEN ! TSCALE = 0.5_fp*3600.0_fp !ELSE IF ( TRIM(State_Grid%GridRes) == '0.125x0.15625' ) THEN ! TSCALE = 0.25_fp*3600.0_fp !ENDIF ! Point to species array TC1 => State_Chm%Species ! Number of bins IBINS = State_Chm%nTomasBins ! Mass fraction emitted to each bin #if defined( TOMAS12) || defined( TOMAS15) BFRAC = [ & # if defined( TOMAS15) 0.0e+0, 0.0e+0, 0.0e+0, & # endif 4.3760e-02, 6.2140e-02, 3.6990e-02, 1.8270e-02, & 4.2720e-02, 1.1251e-01, 1.9552e-01, 2.2060e-01, & 1.6158e-01, 7.6810e-02, 2.8884e-02, 2.0027e-04 ] #else( BFRAC = [ & # if defined( TOMAS40) 0.0e+0, 0.0e+0, 0.0e+0, 0.0e+0, 0.0e+0, & 0.0e+0, 0.0e+0, 0.0e+0, 0.0e+0, 0.0e+0, & # endif 1.728e-02, 2.648e-02, 3.190e-02, 3.024e-02, 2.277e-02, & 1.422e-02, 9.029e-03, 9.241e-03, 1.531e-02, 2.741e-02, & 4.529e-02, 6.722e-02, 8.932e-02, 1.062e-01, 1.130e-01, & 1.076e-01, 9.168e-02, 6.990e-02, 4.769e-02, 2.912e-02, & 1.591e-02, 7.776e-03, 3.401e-03, 1.331e-03, 4.664e-04, & 1.462e-04, 4.100e-05, 1.029e-05, 2.311e-06, 4.645e-07 ] #endif !================================================================ ! READ IN HEMCO EMISSIONS !================================================================ DgnName = 'SO4_ANTH' CALL HCO_GC_GetDiagn( Input_Opt, State_Grid, DgnName, .FALSE., ERR, Ptr3D=Ptr3D ) IF ( .NOT. ASSOCIATED(Ptr3D) ) THEN IF ( Input_Opt%amIRoot ) CALL GC_WARNING('Not found: '//TRIM(DgnName),RC,LOC) ELSE SO4_ANTH = Ptr3D(:,:,:) ENDIF Ptr3D => NULL() ! convert to kg/box/sec DO L = 1, State_Grid%NZ SO4an(:,:,L) = 0.0d0 SO4an(:,:,L) = SO4_ANTH(:,:,L) * AREA(:,:) END DO ! NOTE: Biofuels are now lumped into anthro, ! so set SO4bf to zero (bmy, 10/1/19) SO4bf = 0.0_fp !================================================================= ! Compute SO4 emissions !================================================================= !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, NTOP, SO4, TSO4, L, FEMIS, EFRAC, K ) & !$OMP PRIVATE( NDISTINIT, NDIST, MDIST, NDISTFINAL, MADDFINAL ) & !$OMP PRIVATE( Ndiag, Mdiag) & !$OMP PRIVATE( MADDTOTAL, NDIST2, MDIST2, C , ERRORSWITCH) & !$OMP PRIVATE( BOXVOL, TEMP, PRES, pdbug ) & !$OMP SCHEDULE( DYNAMIC ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX !initialize diagnostics Ndiag(:) = 0.0D0 Mdiag(:) = 0.0D0 ! Top level of boundary layer at (I,J) NTOP = CEILING( State_Met%PBL_TOP_L(I,J) ) ! Zero SO4 array at all levels DO L = 1, State_Grid%NZ SO4(L) = 0.0 ENDDO ! Compute total anthro SO4 (surface + 100m) plus biofuel SO4 TSO4 = 0.d0 TSO4 = SUM( SO4an(I,J,:) ) + SO4bf(I,J) IF ( TSO4 < 0d0 ) THEN WRITE(*,*) ' Negative Sulfate emis from hemco at IJ=', I, J ENDIF IF ( TSO4 == 0d0 ) CYCLE !============================================================= ! First calculate emission distribution vertically within PBL !============================================================= ! EFRAC(30) = fraction of total emission splitted for each ! level until reaching PBL top. EFRAC = 0d0 !============================================================== ! Partition the total anthro SO4 emissions thru the entire ! boundary layer (if PBL top is higher than level 2) !============================================================== ! Add option for non-local PBL (Lin, 03/31/09) IF (.NOT. LNLPBL) THEN !IF ( NTOP > 2 ) THEN ! Loop thru boundary layer DO L = 1, State_Grid%NZ ! Fraction of PBL spanned by grid box (I,J,L) [unitless] EFRAC(L) = State_Met%F_OF_PBL(I,J,L) ENDDO !ELSE ! EFRAC(1) = ( SO4an(I,J,1) + SO4bf(I,J) ) / TSO4 ! EFRAC(2) = SO4an(I,J,2) / TSO4 !ENDIF IF ( ABS( SUM( EFRAC(:)) - 1.d0 ) > 1.D-5 ) THEN PRINT*, '### ERROR in SRCSF30!' PRINT*, '### I, J : ', I, J print*, 'EFRAC',EFRAC(:) PRINT*, '### SUM(EFRAC) : ', SUM( EFRAC(:) ) PRINT*, '### This should exactly 1.00' CALL ERROR_STOP( 'Check SO4 redistribution', & 'SRCSF30 (sulfate_mod.F90)' ) ENDIF ELSE ! stop the program for now since I don't totally implement ! the subgrid coagulation option w/ Lin's new PBL scheme (win, 1/25/10) print *,'If the program stops here, that means you are ', & 'running TOMAS simulation with the new PBL scheme ', & 'implemented since GEOS-Chem v.8-02-01.', & '-----> Try not using the non-local PBL option' CALL ERROR_STOP( 'Code does not support new PBL scheme', & 'SRCSF30 (sulfate_mod.F90)') ENDIF ! .not. LNLPBL !============================================================= ! Add the size-resolved SO4 emission to tracer array ! Having the options to do sub-grid coagulation or simply ! emit. ! Sub-grid coagulation reduces the number being emitted ! and modifies the mass size distribution of existing particle ! as well as the size distribution being emitted. ! (win, 10/4/07) !============================================================= IF ( SGCOAG ) THEN ! ewl: TC1 = Spc(:,:,:,id_NK01:id_NK01+IBINS-1) !save number and mass before emission !DO M = 1, IBINS ! N0(:,M) = TC1(id_NK01+M-1)%Conc(I,J,:) !ENDDO !M0(:,:) = TC2(I,J,:,1:IBINS) DO L = 1, State_Grid%NZ !only really need to loop L=1,NTOP SO4(L) = TSO4 * EFRAC(L) * DTSRCE IF ( SO4(L) == 0.d0 ) CYCLE DO K = 1, IBINS !set number of sulfate particles emitted !as emitted mass * fraction in this bin / avg mass per particle ! for this bin NDISTINIT(K) = SO4(L) * BFRAC(K) / AVGMASS(K) !sfarina - sqrt is expensive. !NDISTINIT(K) = SO4(L) * BFRAC(K) / ( SQRT( XK(K)*XK(K+1) ) ) !set existing number of particles NDIST(K) = TC1(id_NK01+K-1)%Conc(I,J,L) !sfarina - what are the chances aerosol water and ammonium ! are properly equilibrated? DO C = 1, ICOMP !set existing mass of each component MDIST(K,C) = TC2(I,J,L,K+(C-1)*IBINS) IF( IT_IS_NAN( MDIST(K,C) ) ) THEN PRINT *,'+++++++ Found NaN in SRCSF30 +++++++' PRINT *,'Location (I,J,L):',I,J,L,'Bin',K,'comp',C CALL ERROR_STOP('SRCSF30 SGCCOAG','sulfate_mod.F90') ENDIF ENDDO !initialize emitted sulfate number and mass returned ! from subgridcoag NDISTFINAL(K) = 0.0D0 MADDFINAL(K) = 0.0D0 ENDDO !sfarina subgridcoag does its own mnfix. this call might be ! unnecessary? CALL MNFIX( NDIST, MDIST, ERRORSWITCH ) IF( ERRORSWITCH ) PRINT *,'SRCSF30: MNFIX found error ', & 'before SUBGRIDCOAG at ',I,J,L ERRORSWITCH = .FALSE. !!debug !DO K = 1, IBINS ! ! Overwrite number and mass before emission for diagnostic ! ! just in case there was any change by MNFIX (win, 10/27/08) ! N0(L,K) = NDIST(K) ! M0(L,K) = MDIST(K,SRTSO4) ! Avginit(K) = SUM(MDIST(K,:)) / NDIST(K) !ENDDO BOXVOL = State_Met%AIRVOL(I,J,L) * 1.e6 !convert from m3 -> cm3 TEMP = State_Met%T(I,J,L) PRES = State_Met%PMID(i,j,l)*100.0 ! in Pa pdbug=.false. CALL SUBGRIDCOAG( NDISTINIT, NDIST, MDIST, BOXVOL,TEMP, & PRES, TSCALE, NDISTFINAL, MADDFINAL,pdbug) DO K = 1, IBINS !add number from emissions NDIST2(K) = NDIST(K) + NDISTFINAL(K) !use this number for the diag Ndiag(K) = Ndiag(K) + NDISTFINAL(K) !sfarina - An example to illustrate what's happening here: !assuming mass doubling !avgmass = .01, .02, .04 (AVGMASS(K) = sqrt(XK(K)*XK(K+1))) !N0 = 100, 50, 25 !M0 = 1, 1, 1 !emitted SO4 particles: 10, 5, 1 (for a total mass of 0.24) !but with subgrid coagulation, we lose 2 particles from bin 1 !onto particles in each of bins 2 and 3, and 1 from bin 2 to ! bin 3, giving us a final distribution of !Ndistfinal = 6, 4, 1 (for a total mass of ! 6*.01 + 4*.02 + 1*.04 = 0.18) !but that doesn't conserve mass... those particles are now a !little heavier than they were before subgrid coag, so you have ! to add that additional mass (maddfinal) !(6*.01)+ (4*.02 + 2*.01) + (1*0.04 + 1*.02 + 2*.01) = 0.24 MADDTOTAL = NDISTFINAL(K) * AVGMASS(K) + MADDFINAL(K) !copy mass from all species DO C = 1, ICOMP MDIST2(K,C) = MDIST(K,C) ENDDO !add mass from emissions as explained above MDIST2(K,SRTSO4) = MDIST2(K,SRTSO4) + MADDTOTAL !save this for the diag Mdiag(K) = Mdiag(K) + MADDTOTAL !sanity check if(NDISTFINAL(K) < 0d0) then CALL ERROR_STOP('negative number emis','sulfate_mod.F90') endif if(MADDTOTAL < 0d0) then CALL ERROR_STOP('negative mass emis','sulfate_mod.F90') endif ENDDO !debug - avg particle mass after emission but before mnfix !DO K = 1, IBINS ! Avginner(K) = SUM(MDIST2(K,:)) / NDIST2(K) !ENDDO ERRORSWITCH = .FALSE. CALL MNFIX( NDIST2, MDIST2, ERRORSWITCH ) IF( ERRORSWITCH ) PRINT *,'SRCSF30: MNFIX found error ', & 'after SUBGRIDCOAG at ',I,J,L DO K = 1, IBINS TC1(id_NK01+K-1)%Conc(I,J,L) = NDIST2(K) DO C=1,ICOMP TC2(I,J,L,K+(C-1)*IBINS) = MDIST2(K,C) ENDDO ENDDO !debug - avg particle mass final !DO K = 1, IBINS ! Avgfinal(K) = SUM(MDIST2(K,:)) / NDIST2(K) !ENDDO ! !DO K = 1, IBINS !!sfarina debug !if(TC1(id_NK01+K-1)%Conc(I,J,L)-N0(L,K) < 0d0) then ! write(*,*) '"Negative NK emis" details:' ! write(*,*) 'NTOP ', NTOP ! write(*,*) 'S_SO4: ', S_SO4 ! write(*,*) 'TSO4: ', TSO4 ! write(*,*) 'EFRAC(L): ', EFRAC(L) ! DO Bi=1,IBINS ! write(*,*) 'Bin ',Bi ! write(*,*) 'n0, TC1 ', N0(l,bi), TC1(id_NK01+Bi-1)%Conc(I,J,L) ! write(*,*) 'ndist1,2 ', NDIST(Bi), NDIST2(Bi) ! write(*,*) 'ndistfinal ', NDISTFINAL(Bi) ! write(*,*) 'MADDFINAL ', MADDFINAL(Bi) ! write(*,*) 'Avginit ', Avginit(Bi) ! write(*,*) 'Avginner ', Avginner(Bi) ! write(*,*) 'Avgfinal ', Avgfinal(Bi) ! write(*,*) 'M0(so4) ', M0(l,bi) ! DO C=1,ICOMP ! write(*,*) 'Component ', C ! write(*,*) 'mdist ', MDIST(Bi, C) ! write(*,*) 'mdist2 ', MDIST2(Bi, C) ! write(*,*) 'TC2 ', TC2(i,j,l,(C-1)*IBINS+Bi) ! END DO !c ! END DO !bi !end if ! !ENDDO ENDDO ! L loop !============================================================== ! ND59 Diagnostic: Size-resolved primary sulfate emission in ! [kg S/box/timestep] and the corresponding ! number emission [no./box/timestep] !============================================================== ELSE ! Distributing primary emission without sub-grid coagulation !============================================================= ! Add SO4 emissions to tracer array ! For SF: Convert from [kg SO4/box/s] -> [kg SO4/box/timestep] ! For NK: Convert from [kg SO4/box/s] -> [No. /box/timestep] !============================================================= DO L = 1, State_Grid%NZ SO4(L) = TSO4 * EFRAC(L) DO K = 1, IBINS TC1(id_NK01+K-1)%Conc(I,J,L) = TC1(id_NK01+K-1)%Conc(I,J,L) + & ( SO4(L) * DTSRCE * BFRAC(K) / AVGMASS(K) ) TC2(I,J,L,K) = TC2(I,J,L,K) + & ( SO4(L) * DTSRCE * BFRAC(K) ) ENDDO ENDDO ENDIF !SGCOAG ENDDO ENDDO !$OMP END PARALLEL DO NULLIFY(TC1) IF ( Input_Opt%Verbose ) print *,' ### Finish SRCSF30' END SUBROUTINE SRCSF30 #endif !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: grav_settling ! ! !DESCRIPTION: Subroutine GRAV\_SETTLING performs gravitational settling of ! sulfate and nitrate in coarse sea salt (SO4S and NITS). ! (bec, rjp, bmy, 4/20/04, 7/20/04, 10/25/05) !\\ !\\ ! !INTERFACE: ! SUBROUTINE GRAV_SETTLING( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, N, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE Species_Mod, ONLY : Species USE TIME_MOD, ONLY : GET_TS_CHEM ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object INTEGER, INTENT(IN) :: N ! Species index ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !REMARKS: ! N=1 is SO4S; N=2 is NITS ! . ! tdf Include Coarse Mode DUST size bins ! N=3 is SO4d2; N=4 is NIT_d1 ! N=5 is SO4d3; N=6 is NIT_d2 ! N=7 is SO4d4; N=8 is NIT_d3 ! N=9 is SO4d4; N=10 is NIT_d4 ! tdf Treat these coated DUSTs as DRY for now ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! REAL(fp), PARAMETER :: C1 = 0.7674e+0_fp REAL(fp), PARAMETER :: C2 = 3.079e+0_fp REAL(fp), PARAMETER :: C3 = 2.573e-11_fp REAL(fp), PARAMETER :: C4 = -1.424e+0_fp REAL(fp), PARAMETER :: DEN_SS = 2200.0e+0_fp ! [kg/m3] sea-salt density ! Parameters for polynomial coefficients to derive seawater ! density. From Tang et al. (1997) (bec, jaegle, 5/11/11) REAL(fp), PARAMETER :: A1 = 7.93e-3_fp REAL(fp), PARAMETER :: A2 = -4.28e-5_fp REAL(fp), PARAMETER :: A3 = 2.52e-6_fp REAL(fp), PARAMETER :: A4 = -2.35e-8_fp REAL(f8), PARAMETER :: EPSI = 1.0e-4_f8 ! ! !LOCAL VARIABLES: ! !tdf from dry_settling ! P Pressure in Kpa 1 mb = 100 pa = 0.1 kPa ! Dp Diameter of aerosol [um] ! PDp Pressure * DP ! TEMP Temperature (K) ! Slip Slip correction factor ! Visc Viscosity of air (Pa s) ! VTS Settling velocity of particle (m/s) LOGICAL :: IS_UPTAKE_SPC INTEGER :: I, J, L INTEGER :: DryDep_ID, S REAL(fp) :: DTCHEM REAL(fp) :: DELZ, DELZ1, REFF REAL(fp) :: P, DP, PDP, TEMP REAL(fp) :: CONST, SLIP, VISC, FAC1 REAL(fp) :: FAC2, FLUX, AREA_CM2, RHB REAL(fp) :: RUM, RWET, RATIO_R REAL(fp) :: TOT1, TOT2 REAL(fp) :: DEN REAL(fp) :: MW_g REAL(f8) :: RHO1, WTP, RHO ! Arrays REAL(fp) :: SALA_REDGE_um(2) REAL(fp) :: SALC_REDGE_um(2) REAL(fp) :: VTS(State_Grid%NZ) REAL(fp) :: TC0(State_Grid%NZ) ! Pointers REAL(fp), POINTER :: TC(:,:,:) TYPE(Species), POINTER :: ThisSpc !================================================================= ! GRAV_SETTLING begins here! !================================================================= ! Initialize RC = GC_SUCCESS ! Return if tracers are undefined IF ( Input_Opt%LDSTUP ) THEN IF ( id_SO4dbin1 < 0 .and. id_NITdbin1 < 0 ) RETURN ! tdf ENDIF ! Copy fields from INPUT_OPT to local variables for use below SALA_REDGE_um = Input_Opt%SALA_REDGE_um SALC_REDGE_um = Input_Opt%SALC_REDGE_um ! Chemistry timestep [s] DTCHEM = GET_TS_CHEM() ! Look up this species in the species database ThisSpc => State_Chm%SpcData(N)%Info ! Point to the species concentration array TC => State_Chm%Species(N)%Conc(:,:,:) ! Set a logical to denote that the species is one of the dust ! uptake species, i.e. SO4d{1-4}, NITd{1-4} (bmy, 3/17/17) IS_UPTAKE_SPC = ( ( N /= id_SO4s ) .and. ( N /= id_NITs ) ) ! Drydep species index DryDep_Id = ThisSpc%DryDepId ! Molecular weight [g], aerosol radius [m], and density [kg/m3] MW_g = ThisSpc%MW_g REFF = ThisSpc%Radius DEN = ThisSpc%Density ! Sea salt radius [cm] ! The Gerber formula for hygroscopic growth uses the radius in ! micrometers instead of centimeters. This fix is implemented by using ! RUM instead of RCM (jaegle 5/5/11) RUM = REFF * 1e+6_fp ! Exponential factors ! replace with radius in microns (jaegle 5/5/11) FAC1 = C1 * ( RUM**C2 ) FAC2 = C3 * ( RUM**C4 ) !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, VTS, P, TEMP, RHB, RWET ) & !$OMP PRIVATE( RATIO_R, RHO, DP, PDP, CONST, SLIP, VISC, TC0 ) & !$OMP PRIVATE( DELZ, DELZ1, TOT1, TOT2, AREA_CM2, FLUX ) & !$OMP PRIVATE( RHO1, WTP, S ) & !$OMP SCHEDULE( DYNAMIC ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Initialize DO L = 1, State_Grid%NZ VTS(L) = 0e+0_fp ENDDO ! Loop over levels DO L = 1, State_Grid%NZ ! Pressure at center of the level [kPa] ! Use moist air pressure for mean free path (ewl, 3/2/15) P = State_Met%PMID(I,J,L) * 0.1e+0_fp ! Temperature [K] TEMP = State_Met%T(I,J,L) ! Cap RH at 0.99 RHB = MIN( 0.99e+0_fp, State_Met%RH(I,J,L) * 1e-2_fp ) ! Safety check (phs, 5/1/08) RHB = MAX( TINY(RHB), RHB ) ! Aerosol growth with relative humidity in radius [m] ! (Gerber, 1985) ! Several bug fixes to the Gerber formulation: a log10 (instead of ! ln) should be used and the dry radius should be expressed in ! micrometers (instead of cm) also add more significant digits to ! the exponent (jaegle 5/5/11) !RWET = 1d-6*(FAC1/(FAC2-LOG10(RHB))+RUM**3.e+0_fp)**0.33333e+0_fp ! Use equation 5 in Lewis and Schwartz (2006) [m] for sea salt ! growth (jaegle 5/11/11) RWET = REFF * (4.e+0_fp / 3.7e+0_fp) * & ( (2.e+0_fp - RHB)/(1.e+0_fp - RHB) )**(1.e+0_fp/3.e+0_fp) ! Ratio dry over wet radii at the cubic power RATIO_R = ( REFF / RWET )**3.e+0_fp ! Density of the wet aerosol (kg/m3) !RHO = RATIO_R * DEN + ( 1.e+0_fp - RATIO_R ) * 1000.e+0_fp ! Above density calculation is chemically unsound because it ! ignores chemical solvation. ! Iteratively solve Tang et al., 1997 equation 5 to calculate ! density of wet aerosol (kg/m3) ! (bec, jaegle 5/11/11) RATIO_R = ( REFF / RWET ) ! Assume an initial density of 1000 kg/m3 RHO = 1000.e+0_f8 RHO1 = 0.e+0_f8 !initialize (bec, 6/21/10) DO WHILE ( ABS( RHO1-RHO ) .gt. EPSI ) ! First calculate weight percent of aerosol (kg_RH=0.8/kg_wet) WTP = 100.e+0_f8 * DEN/RHO * RATIO_R**3.e+0_f8 ! Then calculate density of wet aerosol using equation 5 ! in Tang et al., 1997 [kg/m3] RHO1 = ( 0.9971e+0_f8 + (A1 * WTP) & + (A2 * WTP**2.e+0_f8) & + (A3 * WTP**3.e+0_f8) & + (A4 * WTP**4.e+0_f8) ) * 1000.e+0_f8 ! Now calculate new weight percent using above density ! calculation WTP = 100.e+0_f8 * DEN/RHO1 * RATIO_R**3.e+0_f8 ! Now recalculate new wet density [kg/m3] RHO = ( 0.9971e+0_f8 + (A1 * WTP) & + (A2 * WTP**2.e+0_f8) & + (A3 * WTP**3.e+0_f8) & + (A4 * WTP**4.e+0_f8) ) * 1000.e+0_f8 ENDDO ! Dp = particle diameter [um] ! Use dry radius for dust uptake species ! Use wet radius for SO4s, NITs (tdf, bmy, 3/17/17) IF ( IS_UPTAKE_SPC ) THEN DP = 2.e+0_fp * REFF * 1.e+6_fp ! SO4d*, NITd* ELSE DP = 2.e+0_fp * RWET * 1.e+6_fp ! SO4s, NITs ENDIF ! PdP = P * dP [hPa * um] PDp = P * Dp ! Constant ! Use dry radius for dust uptake species ! Use wet radius for SO4s, NITs (tdf, bmy, 3/17/17) IF ( IS_UPTAKE_SPC ) THEN CONST = 2.e+0_fp * DEN * REFF**2 * g0 / 9.e+0_fp ! SO4d*, NITd* ELSE CONST = 2.e+0_fp * RHO * RWET**2 * g0 / 9.e+0_fp ! SO4s, NITs ENDIF !=========================================================== ! NOTE: Slip correction factor calculations following ! Seinfeld, pp464 which is thought to be more accurate ! but more computation required. (rjp, 1/24/02) ! ! # air molecule number density ! num = P * 1d3 * 6.023d23 / (8.314 * Temp) ! ! # gas mean free path ! lamda = 1.d6/( 1.41421 * num * 3.141592 * (3.7d-10)**2 ) ! ! # Slip correction ! Slip = 1. + 2. * lamda * (1.257 + 0.4 * exp( -1.1 * Dp ! & / (2. * lamda))) / Dp ! ! NOTE: Eq) 3.22 pp 50 in Hinds (Aerosol Technology) ! which produces slip correction factore with small error ! compared to the above with less computation. !=========================================================== ! Slip correction factor (as function of P*dp) Slip = 1.e+0_fp+(15.60e+0_fp + 7.0e+0_fp * & EXP(-0.059e+0_fp * PDp)) / PDp !===================================================== ! NOTE, Eq) 3.22 pp 50 in Hinds (Aerosol Technology) ! which produce slip correction factor with small ! error compared to the above with less computation. ! tdf !===================================================== ! Viscosity [Pa*s] of air as a function of temperature VISC = 1.458e-6_fp * (Temp)**(1.5e+0_fp) / & ( Temp + 110.4e+0_fp ) ! Settling velocity [m/s] VTS(L) = CONST * Slip / VISC ENDDO ! Method is to solve bidiagonal matrix which is ! implicit and first order accurate in z (rjp, 1/24/02) ! Save initial tracer concentration in column DO L = 1, State_Grid%NZ TC0(L) = TC(I,J,L) ENDDO ! We know the boundary condition at the model top L = State_Met%MaxChemLev DELZ = State_Met%BXHEIGHT(I,J,L) TC(I,J,L) = TC(I,J,L) / ( 1.e+0_fp + DTCHEM * VTS(L) / DELZ ) DO L = State_Met%MaxChemLev-1, 1, -1 DELZ = State_Met%BXHEIGHT(I,J,L) DELZ1 = State_Met%BXHEIGHT(I,J,L+1) TC(I,J,L) = 1.e+0_fp / ( 1.e+0_fp + DTCHEM * VTS(L) / DELZ ) & * ( TC(I,J,L) + DTCHEM * VTS(L+1) / DELZ1 & * TC(I,J,L+1) ) ENDDO !----------------------------------------------------------- ! HISTORY (aka netCDF diagnostics) ! Dry deposition flux loss [molec/cm2/s] ! ! NOTE: Eventually think about converting this ! diagnostic to more standard units [kg/m2/s] !----------------------------------------------------------- IF ( State_Diag%Archive_DryDepChm .OR. & State_Diag%Archive_DryDep ) THEN ! Initialize TOT1 = 0e+0_fp TOT2 = 0e+0_fp ! Compute column totals of TCO(:) and TC(I,J,:,N) DO L = 1, State_Grid%NZ TOT1 = TOT1 + TC0(L) TOT2 = TOT2 + TC(I,J,L) ENDDO ! Surface area [cm2] AREA_CM2 = State_Grid%Area_M2(I,J) * 1e+4_fp ! Convert sea salt/dust flux from [kg/s] to [molec/cm2/s] FLUX = ( TOT1 - TOT2 ) / DTCHEM FLUX = FLUX * AVO / ( MW_g * 1.e-3_fp ) / AREA_CM2 ! Drydep flux in chemistry only S = State_Diag%Map_DryDepChm%id2slot(DryDep_Id) IF ( S > 0 ) THEN State_Diag%DryDepChm(I,J,S) = FLUX ENDIF ENDIF ENDDO ! I ENDDO ! J !$OMP END PARALLEL DO ! Free pointers ThisSpc => NULL() TC => NULL() END SUBROUTINE GRAV_SETTLING !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: chem_dms ! ! !DESCRIPTION: Subroutine CHEM\_DMS is the DMS chemistry subroutine from Mian ! Chin's GOCART model, modified for use with the GEOS-CHEM model. ! (rjp, bdf, bmy, 5/31/00, 10/15/09) !\\ !\\ ! !INTERFACE: ! SUBROUTINE CHEM_DMS( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE HCO_Utilities_GC_Mod, ONLY : HCO_GC_EvalFld USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_TS_CHEM ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! Reaction List (by Mian Chin, chin@rondo.gsfc.nasa.gov) ! ============================================================================ ! . ! R1: DMS + OH -> a*SO2 + b*MSA OH addition channel ! k1 = { 1.7e-42*exp(7810/T)*[O2] / (1+5.5e-31*exp(7460/T)*[O2] } ! a = 0.75, b = 0.25 ! . ! R2: DMS + OH -> SO2 + ... OH abstraction channel ! k2 = 1.2e-11*exp(-260/T) ! . ! DMS_OH = DMS0 * exp(-(r1+r2)* NDT1) ! where DMS0 is the DMS concentration at the beginning, ! r1 = k1*[OH], r2 = k2*[OH]. ! . ! R3: DMS + NO3 -> SO2 + ... ! k3 = 1.9e-13*exp(500/T) ! . ! DMS = DMS_OH * exp(-r3*NDT1) ! where r3 = k3*[NO3]. ! . ! R4: DMS + X -> SO2 + ... ! assume to be at the rate of DMS+OH and DMS+NO3 combined. ! . ! The production of SO2 and MSA here, PSO2_DMS and PMSA_DMS, are saved ! for use in CHEM_SO2 and CHEM_MSA subroutines as a source term. They ! are in unit of [v/v/timestep]. ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! REAL(fp), PARAMETER :: FX = 1.0e+0_fp REAL(fp), PARAMETER :: A = 0.75e+0_fp REAL(fp), PARAMETER :: B = 0.25e+0_fp ! From D4: only 0.8 efficiency, also some goes to DMSO and lost. ! So we assume 0.75 efficiency for DMS addtion channel to form ! products. REAL(fp), PARAMETER :: EFF = 1e+0_fp ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: IS_FULLCHEM INTEGER :: I, J, L REAL(fp) :: TK, O2, RK1, RK2, RK3, F REAL(fp) :: DMS, DMS0, DMS_OH, DTCHEM, XOH, XN3 REAL(fp) :: XX, OH, OH0, XNO3, XNO30, LOH REAL(fp) :: LNO3, BOXVL ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc ! Pointers TYPE(SpcConc), POINTER :: Spc(:) ! Arrays REAL(fp) :: GLOBAL_NO3(State_Grid%NX,State_Grid%NY,State_Grid%NZ) !================================================================= ! CHEM_DMS begins here! !================================================================= IF ( id_DMS < 0 ) RETURN ! Assume success RC = GC_SUCCESS ! Set location for error messages ThisLoc = ' -> at CHEM_DMS (in module GeosCore/sulfate_mod.F90)' ! Copy fields from INPUT_OPT to local variables for use below IS_FULLCHEM = Input_Opt%ITS_A_FULLCHEM_SIM ! Point to chemical species array [v/v dry] Spc => State_Chm%Species ! DTCHEM is the chemistry timestep in seconds DTCHEM = GET_TS_CHEM() ! Factor to convert AIRDEN from kgair/m3 to molecules/cm3: f = 1000.e+0_fp / AIRMW * AVO * 1.e-6_fp ! Evaluate offline global NO3 from HEMCO CALL HCO_GC_EvalFld( Input_Opt, State_Grid, 'GLOBAL_NO3', GLOBAL_NO3, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot get data for GLOBAL_NO3 from HEMCO!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !================================================================= ! Do the chemistry over all chemically-active grid boxes! !================================================================= !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, TK, O2, DMS0,OH, XNO3, RK1, RK2, BOXVL ) & !$OMP PRIVATE( RK3, DMS_OH, DMS, OH0, XNO30, XOH, XN3, XX, LOH, LNO3 ) & !$OMP SCHEDULE( DYNAMIC ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Skip non-chemistry boxes IF ( .not. State_Met%InChemGrid(I,J,L) ) CYCLE ! Temperature [K] TK = State_Met%T(I,J,L) ! Get O2 [molec/cm3], DMS [v/v], OH [molec/cm3] O2 = State_Met%AIRDEN(I,J,L) * f * 0.21e+0_fp DMS0 = Spc(id_DMS)%Conc(I,J,L) OH = GET_OH( I, J, L, Input_Opt, State_Chm, State_Met ) ! Get NO3 [molec/cm3] !============================================================== ! Offline simulation: Read monthly mean GEOS-CHEM NO3 fields ! If at nighttime, use the monthly mean NO3 concentration from ! the NO3 array. If during the daytime, set the NO3 concentration ! to zero. We don't have to relax to the monthly mean ! concentration every 3 hours (as for HNO3) since NO3 has a ! very short lifetime. (rjp, bmy, 12/16/02) !============================================================== IF ( State_Met%SUNCOS(I,J) > 0e+0_fp ) THEN ! NO3 goes to zero during the day XNO3 = 0e+0_fp ELSE ! At night: Get global offline NO3 [v/v] and convert to [molec/cm3] XNO3 = GLOBAL_NO3(I,J,L) * State_Met%AIRDEN(I,J,L) * 1.0e-3_fp & * AVO / AIRMW ENDIF ! Make sure NO3 is not negative XNO3 = MAX( XNO3, 0e+0_fp ) !============================================================== ! (1) DMS + OH: RK1 - addition channel ! RK2 - abstraction channel !============================================================== RK1 = 0.e+0_fp RK2 = 0.e+0_fp RK3 = 0.e+0_fp IF ( OH > 0.e+0_fp ) THEN RK1 = ( 1.7e-42_fp * EXP( 7810.e+0_fp / TK ) * O2 ) / & ( 1.e+0_fp + 5.5e-31_fp * EXP( 7460.e+0_fp / TK ) * O2 ) * OH ! Update reaction rate to match JPL06 and full chem ! (jaf, bmy, 10/15/09) RK2 = 1.1e-11_fp * EXP( -240.e+0_fp / TK ) * OH ENDIF !============================================================== ! (2) DMS + NO3 (only happens at night): !============================================================== IF ( State_Met%SUNCOS(I,J) <= 0e+0_fp ) THEN RK3 = 1.9e-13_fp * EXP( 500.e+0_fp / TK ) * XNO3 ENDIF !============================================================== ! Update DMS concentrations after reaction with OH and NO3, ! and also account for DMS + X assuming at a rate as ! (DMS+OH)*Fx in the day and (DMS+NO3)*Fx at night: ! ! DMS_OH : DMS concentration after reaction with OH ! DMS : DMS concentration after reaction with NO3 ! (min(DMS) = 1.0E-32) ! ! NOTE: If we are doing a coupled fullchem/aerosol run, then ! also modify OH and NO3 concentrations after rxn w/ DMS. !============================================================== DMS_OH = DMS0 * EXP( -( RK1 + RK2 ) * Fx * DTCHEM ) DMS = DMS_OH * EXP( -( RK3 ) * Fx * DTCHEM ) IF ( DMS < SMALLNUM ) DMS = 0e+0_fp ! Archive initial OH and NO3 for diagnostics OH0 = OH XNO30 = XNO3 IF ( IS_FULLCHEM ) THEN ! Update OH after rxn w/ DMS (coupled runs only) OH = OH0 - ( ( DMS0 - DMS_OH ) * State_Met%AIRDEN(I,J,L) * f ) IF ( OH < SMALLNUM ) OH = 0e+0_fp ! Update NO3 after rxn w/ DMS (coupled runs only) XNO3 = XNO30 - ( ( DMS_OH - DMS ) * State_Met%AIRDEN(I,J,L) * f ) IF ( XNO3 < SMALLNUM ) XNO3 = 0e+0_fp ENDIF ! Save DMS back to the tracer array Spc(id_DMS)%Conc(I,J,L) = DMS !============================================================== ! Save SO2 and MSA production from DMS oxidation ! in [mixing ratio/timestep]: ! ! SO2 is formed in DMS+OH addition (0.85) and abstraction ! (1.0) channels as well as DMS + NO3 reaction. We also ! assume that SO2 yield from DMS + X is 1.0. ! ! MSA is formed in DMS + OH addition (0.15) channel. !============================================================== IF ( ( RK1 + RK2 ) == 0.e+0_fp ) THEN PMSA_DMS(I,J,L) = 0.e+0_fp ELSE PMSA_DMS(I,J,L) = ( DMS0 - DMS_OH ) * & B*RK1 / ( ( RK1 + RK2 ) * Fx ) * EFF ENDIF PSO2_DMS(I,J,L) = DMS0 - DMS - PMSA_DMS(I,J,L) !============================================================== ! HISTORY (aka netCDF diagnostics) ! ! Production and loss diagnostics !============================================================== ! P(SO2) from DMS+OH, DMS+NO3, and DMS+X XOH = ( DMS0 - DMS_OH - PMSA_DMS(I,J,L) ) / & Fx * State_Met%AD(I,J,L) / TCVV_S XN3 = ( DMS_OH - DMS ) / Fx * State_Met%AD(I,J,L) / TCVV_S XX = ( ( DMS0 - DMS ) * State_Met%AD(I,J,L) / TCVV_S ) & - XOH - XN3 ! Grid box volume [cm3] BOXVL = State_Met%AIRVOL(I,J,L) * 1e+6_fp ! Convert L(OH) and L(NO3) from [molec/cm3] to [kg/timestep] LOH = ( OH0 - OH ) * BOXVL / XNUMOL_OH LNO3 = ( XNO30 - XNO3) * BOXVL / XNUMOL_NO3 ! Store P(SO2) from DMS + OH [kg S/s] IF ( State_Diag%Archive_ProdSO2fromDMSandOH ) THEN State_Diag%ProdSO2fromDMSandOH(I,J,L) = XOH / DTCHEM ENDIF ! Store P(SO2) from DMS + NO3 [kg S/s] IF ( State_Diag%Archive_ProdSO2fromDMSandNO3 ) THEN State_Diag%ProdSO2fromDMSandNO3(I,J,L) = XN3 / DTCHEM ENDIF ! Store P(SO2) from DMS + NO3 [kg S/s] IF ( State_Diag%Archive_ProdSO2fromDMS ) THEN State_Diag%ProdSO2fromDMS(I,J,L) = & ( PSO2_DMS(I,J,L) * State_Met%AD(I,J,L) / TCVV_S ) / DTCHEM ENDIF ! Store P(MSA) from DMS [kg S/s] IF ( State_Diag%Archive_ProdMSAfromDMS ) THEN State_Diag%ProdMSAfromDMS(I,J,L) = & ( PMSA_DMS(I,J,L) * State_Met%AD(I,J,L) / TCVV_S ) / DTCHEM ENDIF !============================================================== ! For a coupled fullchem/aerosol run, save OH [molec/cm3] ! and NO3 [molec/cm3] back into State_Chm%Species !============================================================== IF ( IS_FULLCHEM ) THEN Spc(id_OH )%Conc(I,J,L) = OH Spc(id_NO3 )%Conc(I,J,L) = XNO3 ENDIF ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ! Free pointer Spc => NULL() END SUBROUTINE CHEM_DMS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: chem_h2o2 ! ! !DESCRIPTION: Subroutine CHEM\_H2O2 is the H2O2 chemistry subroutine for ! offline sulfate simulations. For coupled runs, H2O2 chemistry is already ! computed by the SMVGEAR module. (rjp, bmy, 11/26/02, 10/25/05) !\\ !\\ ! !INTERFACE: ! SUBROUTINE CHEM_H2O2( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE HCO_Utilities_GC_Mod, ONLY : HCO_GC_EvalFld USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_MONTH USE TIME_MOD, ONLY : GET_TS_CHEM USE TIME_MOD, ONLY : ITS_A_NEW_MONTH ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOC !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! REAL(fp), PARAMETER :: A = 2.9e-12_fp ! ! !LOCAL VARIABLES: ! ! SAVEd Scalars LOGICAL :: FIRST = .TRUE. INTEGER, SAVE :: LASTMONTH = -99 ! Scalars INTEGER :: I, J, L REAL(fp) :: DT, Koh, DH2O2, M, F , XTAU REAL(fp) :: H2O20, H2O2, ALPHA, FREQ, PHOTJ ! Strings CHARACTER(LEN=255) :: FILENAME, ErrMsg, ThisLoc ! Arrays REAL(fp) :: PH2O2m(State_Grid%NX,State_Grid%NY,State_Grid%NZ) REAL(fp) :: JH2O2(State_Grid%NX,State_Grid%NY,State_Grid%NZ) ! Pointers TYPE(SpcConc), POINTER :: Spc(:) !================================================================= ! CHEM_H2O2 begins here! !================================================================= IF ( id_H2O2 < 0 ) RETURN ! Assume success RC = GC_SUCCESS ! Set location for error messages ThisLoc = ' -> at CHEM_H2O2 (in module GeosCore/sulfate_mod.F90)' ! Point to chemical species array [v/v dry] Spc => State_Chm%Species ! Chemistry timestep [s] DT = GET_TS_CHEM() ! Factor to convert AIRDEN from kgair/m3 to molecules/cm3: F = 1000.e+0_fp / AIRMW * AVO * 1.e-6_fp ! Evaluate offline fields from HEMCO for P(H2O2) [molec/cm3/s] CALL HCO_GC_EvalFld( Input_Opt, State_Grid, 'PH2O2', PH2O2m, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot get data for PH2O2 from HEMCO!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Evaluate offline fields from HEMCO for J(H2O2) [1/s] CALL HCO_GC_EvalFld( Input_Opt, State_Grid, 'JH2O2', JH2O2, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot get data for JH2O2 from HEMCO!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !================================================================= ! Loop over tropopsheric grid boxes and do chemistry !================================================================= !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, L, M, H2O20, KOH, FREQ, ALPHA, DH2O2, H2O2, PHOTJ )& !$OMP SCHEDULE( DYNAMIC, 8 )& !$OMP COLLAPSE( 3 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Initialize for safety's sake FREQ = 0.0_fp PHOTJ = 0.0_fp ! Skip non-chemistry boxes IF ( .not. State_Met%InChemGrid(I,J,L) ) CYCLE ! Density of air [molec/cm3] M = State_Met%AIRDEN(I,J,L) * F ! Initial H2O2 [v/v] H2O20 = Spc(id_H2O2)%Conc(I,J,L) ! Loss frequenty due to OH oxidation [s-1] KOH = A * EXP( -160.0_fp / State_Met%T(I,J,L) ) * & GET_OH( I, J, L, Input_Opt, State_Chm, State_Met ) ! Impose a diurnal variation of jH2O2 by multiplying COS of ! solar zenith angle normalized by maximum solar zenith angle ! because the archived JH2O2 is for local noon time IF ( COSZM(I,J) > 0.0_fp ) THEN PHOTJ = JH2O2(I,J,L) * State_Met%SUNCOS(I,J) / COSZM(I,J) PHOTJ = MAX( PHOTJ, 0.0_fp ) ENDIF ! Compute loss fraction from OH, photolysis, drydep [unitless]. ALPHA = 1.0_fp + ( KOH + PHOTJ + FREQ ) * DT ! Delta H2O2 [v/v] DH2O2 = ( PH2O2m(I,J,L) * DT ) / ( ALPHA * M ) ! Final H2O2 [v/v] H2O2 = ( H2O20 / ALPHA + DH2O2 ) IF ( H2O2 < SMALLNUM ) H2O2 = 0.0_fp ! Store final H2O2 in Spc Spc(id_H2O2)%Conc(I,J,L) = H2O2 ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ! Free pointer Spc => NULL() END SUBROUTINE CHEM_H2O2 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: chem_so2 ! ! !DESCRIPTION: Subroutine CHEM\_SO2 is the SO2 chemistry subroutine. ! (rjp, bmy, 11/26/02, 8/26/10) !\\ !\\ ! !INTERFACE: ! SUBROUTINE CHEM_SO2( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, FullRun, RC ) ! ! !USES: ! USE CMN_SIZE_Mod, ONLY : NDSTBIN USE DUST_MOD, ONLY : GET_DUST_ALK ! tdf 04/08/08 USE ErrCode_Mod USE ERROR_MOD, ONLY : IS_SAFE_EXP USE ERROR_MOD, ONLY : SAFE_DIV USE Input_Opt_Mod, ONLY : OptInput USE PRESSURE_MOD, ONLY : GET_PCENTER USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_TS_CHEM, GET_MONTH USE TIME_MOD, ONLY : ITS_A_NEW_MONTH USE HCO_State_GC_Mod, ONLY : HcoState USE HCO_Utilities_GC_Mod, ONLY : HCO_GC_EvalFld, HCO_GC_GetDiagn, LoadHcoValEmis #ifdef APM USE APM_DRIV_MOD, ONLY : PSO4GAS USE APM_DRIV_MOD, ONLY : XO3 #endif ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object LOGICAL, INTENT(IN) :: FullRun ! Modify species conc? ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: RC ! Success or failure? ! ! !REMARKS: ! Reaction List (by Rokjin Park) ! ============================================================================ ! (1 ) SO2 production: ! (a) DMS + OH, DMS + NO3 (saved in CHEM_DMS) ! (b) HMS -> SO2 + HCHO (aq) ! . ! (2 ) SO2 loss: ! (a) SO2 + OH -> SO4 ! (b) SO2 -> drydep ! (c) SO2 + H2O2 or O3 (aq) -> SO4 ! (d) SO2 + HCHO (aq)-> HMS ! (d) SO2 + HMS -> 2 SO4 ! . ! (3 ) SO2 = SO2_0 * exp(-bt) + PSO2_DMS/bt * [1-exp(-bt)] ! . ! where b is the sum of the reaction rate of SO2 + OH and the dry ! deposition rate of SO2, PSO2_DMS is SO2 production from DMS in ! MixingRatio/timestep. ! . ! If there is cloud in the gridbox (fraction = fc), then the aqueous ! phase chemistry also takes place in cloud. The amount of SO2 oxidized ! by H2O2 in cloud is limited by the available H2O2; the rest may be ! oxidized due to additional chemistry, e.g, reaction with O3 or O2 ! (catalyzed by trace metal). ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! REAL(fp), PARAMETER :: HPLUS_45 = 3.16227766016837953e-5_fp !pH = 4.5 REAL(fp), PARAMETER :: HPLUS_50 = 1.0e-5_fp !pH = 5.0 REAL(fp), PARAMETER :: MINDAT = 1.e-20_fp REAL(fp), PARAMETER :: TNA_CONV = 31.6_fp * 0.359_fp / 23.0_fp ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: DO_SEASALT_CHEM LOGICAL :: IS_OFFLINE LOGICAL :: IS_FULLCHEM LOGICAL :: LDSTUP INTEGER :: I, J, L INTEGER :: II, NSTEP INTEGER :: BULK, SIZE_RES INTEGER :: IBIN REAL(fp) :: K0, Ki, KK, M, L1 REAL(fp) :: L2, L3, Ld, F, Fc REAL(fp) :: RK, RKT, DTCHEM, DT_T, TK REAL(fp) :: F1, RK1, RK2, RK3, SO20 REAL(fp) :: SO2_cd, H2O20, O3, L2S, L3S REAL(fp) :: LWC, KaqH2O2, KaqO3, PATM REAL(fp) :: ALK, ALK1, ALK2, SO2_ss REAL(fp) :: AlkA, AlkC REAL(fp) :: Kt1, Kt2 REAL(fp) :: PSO4E, PSO4F, Kt1N, Kt2N REAL(fp) :: XX, Kt1L, Kt2L REAL(fp) :: HPLUS, SO4nss, TNH3, TNO3, GNO3, ANIT REAL(fp) :: LSTOT, ALKdst, ALKss, ALKds, NH3, CL, TNA REAL(fp) :: SSCvv, aSO4, SO2_sr, SR, TANIT REAL(fp) :: TFA, TAA, TDCA ! (jmm, 12/03/2018) REAL(fp) :: HCHO0, HMSc, KaqHCHO, KaqHMS ! (jmm, 06/07/2018) REAL(fp) :: L7, L7S, L7_b, L7S_b, HMS0 ! (jmm, 06/07/2018) REAL(fp) :: L8, L8S, OH0, KaqHMS2 ! (jmm, 06/26/2018) REAL(fp) :: PSO4d_tot, PNITd_tot REAL(fp) :: SO2_gas, PH2SO4d_tot REAL(fp) :: H2SO4_cd, H2SO4_gas ! (qjc, 04/10/16) REAL(fp) :: L5,L5S,SRo3,SRhobr REAL(fp) :: L5_1,L5S_1,L3_1,L3S_1,KaqO3_1 REAL(fp) :: HSO3aq, SO3aq REAL(fp) :: SO4H1_vv, SO4H2_vv, LSTOT0 REAL(fp) :: SO2_ss0, rSIV, fupdateHOBr_0 REAL(fp) :: HCO3, HCHOBr, KO3, KHOBr, f_srhobr, HOBr0 REAL(fp) :: TMP, LSTOT_HMS ! (jmm, 06/15/18) REAL(fp) :: KaqO2, L4, L4S, MnII, FeIII REAL(fp) :: DUST, Mn_ant, Mn_nat REAL(fp) :: Mn_tot, Mn_d, Fe_d REAL(fp) :: Fe_ant, Fe_nat, Fe_tot REAL(fp) :: Fe_d_ant, Fe_d_nat REAL(fp) :: IONIC REAL(fp) :: L6,L6S,SRhocl,L6_1,L6S_1 !XW REAL(fp) :: SO4H3_vv, SO4H4_vv !XW REAL(fp) :: fupdateHOCl_0 !XW REAL(fp) :: HCHOCl, KHOCl, f_srhocl, HOCl0 !XW REAL(fp) :: one_m_KRATE ! Arrays ! tdf 04/07/08 REAL(fp) :: ALK_d (NDSTBIN) REAL(fp) :: ALKA_d (NDSTBIN) REAL(fp) :: PSO4_d (NDSTBIN) REAL(fp) :: PNIT_d (NDSTBIN) REAL(fp) :: PH2SO4_d(NDSTBIN) REAL(fp) :: KTN (NDSTBIN) REAL(fp) :: KTS (NDSTBIN) REAL(fp) :: KTH (NDSTBIN) !tdf KTH now contains the fraction of uptake of H2SO4 on to each of the ! dust size bins, based on a size- and area-weighted formulism ! (GET_DUST_ALK) REAL(fp) :: O3m(State_Grid%NX,State_Grid%NY,State_Grid%NZ) ! Pointers TYPE(SpcConc), POINTER :: Spc(:) !REAL(fp), POINTER :: SSAlk(:,:,:,:) REAL(fp), POINTER :: H2O2s(:,:,:) REAL(fp), POINTER :: SO2s(:,:,:) REAL(f4), POINTER :: Ptr2D(:,:) => NULL() ! For HEMCO update LOGICAL, SAVE :: FIRST = .TRUE. CHARACTER(LEN=255) :: ErrMsg, ThisLoc !================================================================= ! CHEM_SO2 begins here! !================================================================= IF ( id_H2O2 < 0 .or. id_SO2 < 0 ) RETURN ! Assume success RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at CHEM_SO2 (in module GeosCore/sulfate_mod.F90)' ! Copy fields from INPUT_OPT to local variables for use below IS_FULLCHEM = Input_Opt%ITS_A_FULLCHEM_SIM IS_OFFLINE = Input_Opt%ITS_AN_AEROSOL_SIM LDSTUP = Input_Opt%LDSTUP DTCHEM = GET_TS_CHEM() Spc => State_Chm%Species H2O2s => State_Chm%H2O2AfterChem SO2s => State_Chm%SO2AfterChem State_Chm%isCloud = 0.0_fp ! State_Chm%pHcloud = 0.0_fp State_Chm%pHcloud = 4.5_fp State_Chm%QLxpHcloud = 0.0_fp #ifdef LUO_WETDEP State_Chm%pHrain = 5.6_fp State_Chm%QQpHrain = 0.0_fp State_Chm%QQrain = 0.0_fp #endif ! Set a flag for when to call the SeaSalt_Chem routine DO_SEASALT_CHEM = & ( State_Chm%Do_SulfateMod_SeaSalt ) .or. & ( .not. FullRun .and. .not. State_Chm%Do_SulfateMod_SeaSalt ) ! Factor to convert AIRDEN from [kg air/m3] to [molec air/cm3] F = 1000.e+0_fp / AIRMW * AVO * 1.e-6_fp ! On first call, get pointers to HEMCO diagnostics arrays. ! These are the sea salt aerosol number densities for the fine ! and coarse mode, respectively. Values are in # / surface grid ! box. These values are needed in the GET_ALK call below. ! If the diagnostics are not being found, e.g. because the ! sea salt emissions extension is turned off, the passed ! pointers NDENS_SALA and NDENS_SALC will stay nullified. ! Values of zero will be used in this case! (ckeller, 01/12/2015) !IF ( FIRST ) THEN ! Sea salt density, fine mode #if !defined( MODEL_BCC ) && !defined( MODEL_CESM ) CALL HCO_GC_GetDiagn( Input_Opt, State_Grid, 'SEASALT_DENS_FINE', & StopIfNotFound=.FALSE., RC=RC, Ptr2D=Ptr2D ) ! Trap potential errors IF ( RC /= HCO_SUCCESS ) THEN ErrMsg = 'Cannot get HEMCO field SEASALT_DENS_COARSE!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( ASSOCIATED( Ptr2D ) ) THEN ALLOCATE( NDENS_SALA( State_Grid%NX, State_Grid%NY ), STAT=RC ) NDENS_SALA(:,:) = Ptr2D(:,:) ENDIF Ptr2D => NULL() ! Sea salt density, coarse mode CALL HCO_GC_GetDiagn( Input_Opt, State_Grid, 'SEASALT_DENS_COARSE', & StopIfNotFound=.FALSE., RC=RC, Ptr2D=Ptr2D ) ! Trap potential errors IF ( RC /= HCO_SUCCESS ) THEN ErrMsg = 'Cannot get HEMCO field SEASALT_DENS_COARSE!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( ASSOCIATED( Ptr2D ) ) THEN ALLOCATE( NDENS_SALC( State_Grid%NX, State_Grid%NY ), STAT=RC ) NDENS_SALC(:,:) = Ptr2D(:,:) ENDIF Ptr2D => NULL() #endif !IF ( FIRST ) THEN ! Adjust first flag ! FIRST = .FALSE. !ENDIF ! If offline aerosol simulation, evaluate fields from HEMCO IF ( Input_Opt%ITS_AN_AEROSOL_SIM ) THEN CALL HCO_GC_EvalFld( Input_Opt, State_Grid, 'GLOBAL_O3', O3m, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot get data for GLOBAL_O3 from HEMCO!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF CALL HCO_GC_EvalFld( Input_Opt, State_Grid, 'GLOBAL_HCOOH', GLOBAL_HCOOH, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot get data for GLOBAL_HCOOH from HEMCO!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF CALL HCO_GC_EvalFld( Input_Opt, State_Grid, 'GLOBAL_ACTA', GLOBAL_ACTA, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot get data for GLOBAL_ACTA from HEMCO!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF ! Load emissions into buffer first for ALK1, ALK2 ! BEFORE entering loop (hplin, 9/27/20) CALL LoadHcoValEmis ( Input_Opt, State_Grid, id_SALA ) CALL LoadHcoValEmis ( Input_Opt, State_Grid, id_SALC, AltBuffer=.true. ) ! Loop over chemistry grid boxes ! NOTE: Bob Yantosca verified that these !$OMP PRIVATE statements ! are correct (12/11/20). Make sure you add variables to the !$OMP ! PRIVATE declaration if they are (1) Scalar variables; (2) Pointers ! to other variables; (3) Arrays that have less than (I,J,L) scope. !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, L, SO20, H2O20 )& !$OMP PRIVATE( O3, PATM, TK, K0, M )& !$OMP PRIVATE( KK, F1, RK1, RK2, RK )& !$OMP PRIVATE( RKT, SO2_cd, L1, Ld, L2 )& !$OMP PRIVATE( L2S, L3, L3S, FC, LWC )& !$OMP PRIVATE( KaqH2O2, KaqO3, ALK, ALK1, ALK2 )& !$OMP PRIVATE( Kt1, Kt2, SO2_ss, Kt1N, Kt2N )& !$OMP PRIVATE( PSO4E, PSO4F, XX, Kt1L, Kt2L )& !$OMP PRIVATE( TFA, TAA, TDCA, HPLUS, SO4nss )& !$OMP PRIVATE( TNH3, TNO3, CL, GNO3, ANIT )& !$OMP PRIVATE( LSTOT, ALKdst, ALKds, ALKss, NH3 )& !$OMP PRIVATE( SSCvv, aSO4, SO2_sr, SR, TANIT )& !$OMP PRIVATE( BULK, SIZE_RES, RC, AlkA, AlkC )& !$OMP PRIVATE( ALK_d, KTS, KTN, PSO4_d, PH2SO4_d )& !$OMP PRIVATE( PNIT_d, SO2_gas, KTH, H2SO4_cd, H2SO4_gas )& !$OMP PRIVATE( Ki, PH2SO4d_tot, PSO4d_tot, IBIN, PNITd_tot )& !$OMP PRIVATE( ALKA_d, L5, L5S, SRo3, SRhobr )& !$OMP PRIVATE( L3_1, L3S_1, KaqO3_1, L5_1, L5S_1 )& !$OMP PRIVATE( HSO3aq, SO3aq, SO4H1_vv, SO4H2_vv, LSTOT0 )& !$OMP PRIVATE( SO2_ss0, rSIV, L6S_1, HCO3, HCHOBr )& !$OMP PRIVATE( KO3, KHOBr, f_srhobr, HOBr0, TMP )& !$OMP PRIVATE( L4, L4S, DUST, Mn_ant, Mn_nat )& !$OMP PRIVATE( Mn_tot, Fe_ant, Fe_nat, Fe_tot, Fe_d )& !$OMP PRIVATE( Mn_d, FeIII, MnII, Fe_d_ant, Fe_d_nat )& !$OMP PRIVATE( HCHOCl, KHOCl, f_srhocl, HOCl0, L6 )& !$OMP PRIVATE( L6S, fupdateHOBr_0, SRhocl, L6_1, SO4H3_vv )& !$OMP PRIVATE( SO4H4_vv, fupdateHOCl_0, KaqO2, TNA, one_m_KRATE)& !$OMP PRIVATE( HCHO0, HMSc, HMS0, OH0, KaqHCHO )& !$OMP PRIVATE( KaqHMS, KaqHMS2, L7, L7S, L7_b )& !$OMP PRIVATE( L7S_b, L8, L8S, LSTOT_HMS )& !$OMP COLLAPSE( 3 )& !$OMP SCHEDULE( DYNAMIC, 24 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Initialize for safety's sake Ld = 0.0_fp LSTOT0 = 0.0_fp LSTOT = 0.0_fp LSTOT_HMS = 0.0_fp one_m_KRATE = 0.0_fp ! Skip non-chemistry boxes IF ( .not. State_Met%InChemGrid(I,J,L) ) CYCLE #ifdef LUO_WETDEP ! Save the value of 1.0 - KRATE in a variable, ! as this only has to be computed once per grid box one_m_KRATE = 1.0_fp - State_Chm%KRATE(I,J,L) #endif ! Initialize [v/v] SO20 = Spc(id_SO2)%Conc(I,J,L) H2O20 = Spc(id_H2O2)%Conc(I,J,L) ! These species are only needed for fullchem simulations HOBr0 = 0.0_fp HOCl0 = 0.0_fp HCHO0 = 0.0_fp HMS0 = 0.0_fp OH0 = 0.0_fp IF ( Input_Opt%ITS_A_FULLCHEM_SIM ) THEN HOBr0 = Spc(id_HOBr)%Conc(I,J,L) HOCl0 = Spc(id_HOCl)%Conc(I,J,L) HCHO0 = Spc(id_CH2O)%Conc(I,J,L) HMS0 = Spc(id_HMS)%Conc(I,J,L) OH0 = Spc(id_OH)%Conc(I,J,L) ENDIF ! Calculate O3, defined only in the chemistry grid IF ( Input_Opt%ITS_A_FULLCHEM_SIM ) THEN ! Get O3 from State_Chm%Species%Conc [v/v] O3 = 0.0_fp IF ( State_Met%InChemGrid(I,J,L) ) THEN O3 = State_Chm%Species(id_O3)%Conc(I,J,L) ENDIF ELSE IF ( Input_Opt%ITS_AN_AEROSOL_SIM ) THEN ! Get offline mean O3 [v/v] for this gridbox and month O3 = 0.0_fp IF ( L <= State_Met%MaxChemLev ) THEN O3 = O3m(I,J,L) ENDIF ENDIF #ifdef APM XO3(I,J,L)= O3 #endif ! PATM : Atmospheric pressure in atm ! Now use dry air partial pressure (ewl, 4/28/15) PATM = State_Met%PMID_DRY( I, J, L ) / ( ATM * 1.e-2_fp ) ! TK : Temperature [K] TK = State_Met%T(I,J,L) ! Updated to match JPL 2006 + full chem (jaf, 10/14/09) K0 = 3.3e-31_fp * ( 300.e+0_fp / TK )**4.3e+0_fp Ki = 1.6e-12_fp IF ( IS_OFFLINE ) THEN ! Gas phase SO4 production is done here in offline run only M = State_Met%AIRDEN(I,J,L) * F KK = K0 * M / Ki F1 = ( 1.e+0_fp + ( LOG10( KK ) )**2 )**( -1 ) RK1 = ( K0 * M / ( 1.e+0_fp + KK ) ) * 0.6e+0_fp**F1 * & GET_OH( I, J, L, Input_Opt, State_Chm, State_Met ) ELSE ! For online runs, SMVGEAR deals w/ this computation, ! so we can simply set RK1 = 0 (rjp, bmy, 3/23/03) M = 0.e+0_fp KK = 0.e+0_fp F1 = 0.e+0_fp RK1 = 0.e+0_fp ENDIF ! Now do all dry deposition in mixing_mod.F90 (ckeller, 3/5/15) RK2 = 0.e+0_fp ! RK: total reaction rate [1/s] RK = ( RK1 + RK2 ) ! RKT: RK * DTCHEM [unitless] (bmy, 6/1/00) RKT = RK * DTCHEM !============================================================== ! Update SO2 conc. after gas phase chemistry and deposition !============================================================== IF ( RK > 0.e+0_fp ) THEN SO2_cd = ( SO20 * EXP( -RKT ) ) + & ( PSO2_DMS(I,J,L) * ( 1.e+0_fp - EXP( -RKT ) ) / RKT ) L1 = ( SO20 - SO2_cd + PSO2_DMS(I,J,L) ) * RK1/RK Ld = ( SO20 - SO2_cd + PSO2_DMS(I,J,L) ) * RK2/RK ELSE SO2_cd = SO20 L1 = 0.e+0_fp ENDIF ! Isolate H2SO4 for reaction with dust tdf 3/6/2K9 IF ( LDSTUP ) THEN H2SO4_cd = 0.0_fp ! Safety check: only proceed if the Prod diagnostic is archived, ! or else this will result in a segmentation fault (bmy, 22 Mar 2022) IF ( State_Diag%Archive_Prod .and. id_PSO4 > 0 ) THEN ! Compute gas phase SO4 production again, as in offline case ! RK1: SO2 + OH(g) [s-1] (rjp, bmy, 3/23/03) M = State_Met%AIRDEN(I,J,L) * F ! Convert State_Diag%Prod from [molec/cm3/s] to [v/v/timestep]. ! Update by Shixian Zhai added by Bob Yantosca (22 Mar 2022) ! See https://github.com/geoschem/geos-chem/discussions/874 KK = State_Diag%Prod(I,J,L,id_PSO4) H2SO4_cd = KK / M * DTCHEM ENDIF !tdf Reset these constants to zero to avoid any problems below M = 0.0_fp KK = 0.0_fp F1 = 0.0_fp RK1 = 0.0_fp ENDIF !@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ !@@@@@ NOTE: The computation of sea salt alkalinity should eventually !@@@@@ be abstracted out of sulfate_mod.F90 so that the KPP/fullchem/fullchem_* !@@@@@ modules can make use of it. !@@@@@ -- Bob Yantosca (09 Sep 2021) !============================================================== ! Update SO2 conc. after seasalt chemistry (bec, 12/7/04) !============================================================== ! Get alkalinity of accum (ALK1) and coarse (ALK2) [kg] CALL GET_ALK( I, J, L, ALK1, & ALK2, Kt1, Kt2, Kt1N, & Kt2N, Kt1L, Kt2L, Input_Opt, & State_Chm, State_Grid, State_Met, RC ) ! Total alkalinity [kg] ALK = ALK1 + ALK2 ! Compute seasalt reaction rates here if: ! (1 ) there is alkalinity, ! (2 ) there is SO2 present, and ! (3 ) O3 is in excess. AND ! (4a) we are computing sulfate chemistry in sulfate_mod.F90, or ! (4b) we are computing sulfate chemistry in KPP and FULLRUN = F. IF ( ( DO_SEASALT_CHEM ) .and. ( ALK > MINDAT ) .and. & ( SO2_cd > MINDAT ) .and. ( SO2_cd < O3 ) ) THEN ! Compute oxidation of SO2 -> SO4 and condensation of ! HNO3 -> nitrate within the seasalt aerosol CALL SEASALT_CHEM( I, J, L, ALK1, & ALK2, SO2_cd, Kt1, Kt2, & Kt1N, Kt2N, Kt1L, Kt2L, & SO2_ss, PSO4E, PSO4F, AlkA, & AlkC, Input_Opt, State_Met, State_Chm, & State_Diag, FullRun, RC ) ELSE ! Otherwise set equal to zero SO2_ss = SO2_cd PSO4E = 0.0_fp PSO4F = 0.0_fp PNITS(I,J,L) = 0.0_fp AlkA = 0.0_fp AlkC = 0.0_fp PNIT(I,J,L) = 0.0_fp PACL(I,J,L) = 0.0_fp PCCL(I,J,L) = 0.0_fp ENDIF ! If we are not using KPP to compute seasalt reaction rates, ! then update sea salt alkalinity [v/v] in FullRun (XW 12/8/17) ! This will make sure that SALAAL and SALCAL have the proper ! values befoe sulfate chemistry is computed below. IF ( FullRun .and. State_Chm%Do_SulfateMod_SeaSalt ) Then Spc(id_SALAAL)%Conc(I,J,L) = AlkA Spc(id_SALCAL)%Conc(I,J,L) = AlkC ENDIF !@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IF ( LDSTUP .and. FullRun ) THEN !============================================================== ! %%% NOTE: THIS IS ONLY DONE FOR ACID UPTAKE SIMULATIONS %%% ! ! Update SO2 conc. after DUST chemistry (tdf, 04/07/08) !============================================================== ! Get dust alkalinity ALK_d (NDSTBIN) [v/v], Uptake rates for ! sulfate, KTS(NDSTBIN), and nitrate, KTN(NDSTBIN) on dust [s-1] CALL GET_DUST_ALK( I, J, L, ALK_d, KTS, KTN, KTH, & Input_Opt, State_Met, State_Chm ) ! Total alkalinity [kg] ALK = 0.0e+0_fp DO IBIN = 1, NDSTBIN ALK = ALK + ALK_d (IBIN) END DO ! If (1) there is alkalinity, (2) there is SO2 present, and ! (3) O3 is in excess, then compute dust SO2 chemistry IF ( ( ALK > MINDAT ) .AND. & ( SO2_cd > MINDAT ) .AND. & ( SO2_cd < O3 ) ) THEN ! Compute oxidation of SO2 -> SO4 and condensation of ! HNO3 -> nitrate within the dust aerosol !tdf Call DUST_CHEM using updated SO2_ss after sea salt chemistry CALL DUST_CHEM( I, J, L, ALK_d, & SO2_ss, H2SO4_cd, KTS, KTN, & KTH, SO2_gas, H2SO4_gas, PSO4_d, & PH2SO4_d, PNIT_d, ALKA_d, Input_Opt, & State_Met, State_Chm, RC ) ! tdf "SO2_ss" is SO2 mixing ratio remaining after interaction ! with dust SO2_ss = SO2_gas ! tdf "H2SO4_cd" is H2SO4 remaining after interaction with dust H2SO4_cd = H2SO4_gas ELSE ! Otherwise set equal to zero SO2_ss = SO2_ss DO IBIN = 1, NDSTBIN PSO4_d (IBIN) = 0.e+0_fp PH2SO4_d (IBIN) = 0.e+0_fp PNIT_d (IBIN) = 0.e+0_fp END DO ENDIF ELSE ! Otherwise set equal to zero SO2_ss = SO2_ss DO IBIN = 1, NDSTBIN PSO4_d (IBIN) = 0.e+0_fp PH2SO4_d (IBIN) = 0.e+0_fp PNIT_d (IBIN) = 0.e+0_fp END DO ENDIF !tdf end of if (LDSTUP) condition !============================================================== ! Update SO2 concentration after cloud chemistry ! SO2 chemical loss rate = SO4 production rate [v/v/timestep] !============================================================== ! Get cloud fraction from met fields FC = State_Met%CLDF(I,J,L) ! Get liquid water content [m3 H2O/m3 air] within cloud from met flds ! Units: [kg H2O/kg air] * [kg air/m3 air] * [m3 H2O/1e3 kg H2O] #ifdef LUO_WETDEP ! Luo et al wetdep scheme LWC = State_Met%QL(I,J,L) & * State_Met%AIRDEN(I,J,L) & * 1e-3_fp & + MAX( 0.0_fp, State_Chm%QQ3D(I,J,L) * DTCHEM ) IF( LWC > 0.d0 ) THEN FC = FC & * LWC & / ( LWC + MAX( 0.0_fp, State_Met%QI(I,J,L) ) & * State_Met%AIRDEN(I,J,L) & * 1e-3_fp ) ELSE LWC = 0.d0 ENDIF #else ! Default scheme LWC = State_Met%QL(I,J,L) * State_Met%AIRDEN(I,J,L) * 1e-3_fp #endif LWC = MAX( 0.0e+0_fp, LWC ) ! LWC is a grid-box averaged quantity. To improve the representation ! of sulfate chemistry, we divide LWC by the cloud fraction and ! compute sulfate chemistry based on the LWC within the cloud. We ! get the appropriate grid-box averaged mass of SO2 and sulfate by ! multiplying these quantities by FC AFTER computing the aqueous ! sulfur chemistry within the cloud. (lzh, jaf, bmy, 5/27/11) LWC = SAFE_DIV( LWC, FC, 0e+0_fp ) ! Zero variables KaqH2O2 = 0.e+0_fp KaqO3 = 0.e+0_fp KaqO3_1 = 0.e+0_fp !(qjc, 04/10/16) L2 = 0.e+0_fp L3 = 0.e+0_fp L3_1 = 0.e+0_fp !(qjc, 04/10/16) L5 = 0.e+0_fp !(qjc, 04/10/16) L5_1 = 0.e+0_fp !(qjc, 04/10/16) L6 = 0.e+0_fp !XW L6_1 = 0.e+0_fp !XW L2S = 0.e+0_fp L3S = 0.e+0_fp L3S_1 = 0.e+0_fp !(qjc, 04/10/16) L5S = 0.e+0_fp !(qjc, 04/10/16) L5S_1 = 0.e+0_fp !(qjc, 04/10/16) KaqO2 = 0.e+0_fp L4 = 0.e+0_fp L4S = 0.e+0_fp L6S = 0.e+0_fp !XW L6S_1 = 0.e+0_fp !XW KaqHCHO = 0.e+0_fp !(jmm, 06/07/18) KaqHMS = 0.e+0_fp !(jmm, 06/07/18) KaqHMS2 = 0.e+0_fp !(jmm, 06/26/18) L7 = 0.e+0_fp !(jmm, 06/13/18) L7_b = 0.e+0_fp !(jmm, 06/13/18) L7S = 0.e+0_fp !(jmm, 06/13/18) L7S_b = 0.e+0_fp !(jmm, 06/13/18) L8 = 0.e+0_fp !(jmm, 06/26/18) L8S = 0.e+0_fp !(jmm, 06/26/18) ! If (1) there is cloud, (2) there is SO2 present, (3) T > -15 C, and ! (4) liquid water content (LWC) is present (but not small enough to ! make divisions blow up), then compute sulfate production in cloud. IF ( ( State_Chm%Do_SulfateMod_Cld ) .and. & ( FC > 1.e-4_fp ) .and. & ( SO2_ss > MINDAT ) .and. & #ifdef LUO_WETDEP ( TK > 237.0_fp ) .and. & #else ( TK > 258.0_fp ) .and. & #endif ( LWC > 1.0e-20_fp ) ) THEN !=========================================================== ! NOTE...Sulfate production from aquatic reactions of SO2 ! with H2O2 & O3 is computed here and followings are ! approximations or method used for analytical (integral) ! solution of these computations. ! ! 1) with H2O2(aq) ! [HSO3-] + [H+] + [H2O2(aq)] => [SO4=] (rxn) ! d[SO4=]/dt = k[H+][HSO3-][H2O2(aq)] (M/s) (rate) ! ! we can rewrite k[H+][HSO3-] as K1 pSO2 hSO2, ! where pSO2 is equilibrium vapor pressure of SO2(g) ! in atm, and hSO2 is henry's law constant for SO2 ! ! Therefore, rate can be written as ! ! k * K1 * pSO2 * hSO2 * pH2O2 * hH2O2, ! ! where pH2O2 is equilibrium vapor pressure of H2O2(g), ! and hH2O2 is henry's law constant for H2O2. Detailed ! values are given in AQCHEM_SO2 routine. ! ! Let us define a fraction of gas phase of A species ! in equilibrium with aqueous phase as ! ! xA = 1/(1+f), ! ! where f = hA * R * T * LWC, ! hA = Henry's constant, ! R = gas constant, ! T = temperature in kelvin, ! LWC = liquid water content [m3/m3] ! ! As a result, the rate would become: ! ! d[SO4=] ! ------- = k K1 hSO2 hH2O2 xSO2 xH2O2 P P [SO2][H2O2] ! dt ! ^ ^ ^ ^ ^ ! | |____________________________| | | ! ! mole/l/s mole/l/s v/v v/v ! ! ! And we multiply rate by (LWC * R * T / P) in order to ! convert unit from mole/l/s to v/v/s ! ! Finally we come to ! ! d[SO4=] ! ------- = KaqH2O2 [SO2][H2O2], ! dt ! ! where ! ! KaqH2O2 = k K1 hSO2 hH2O2 xSO2 xH2O2 P LWC R T, ! ! this new rate corresponds to a typical second order ! reaction of which analytical (integral) solution is ! ! X = A0 B0 ( exp[(A0-B0) Ka t] - 1 ) ! / ( A0 exp[(A0-B0) Ka t] - B0 ) ! ! inserting variables into solution then we get ! [SO4=] = [SO2][H2O2](exp[([SO2]-[H2O2]) KaqH2O2 t] - 1 ) ! / ( [SO2] exp[([SO2]-[H2O2]) KaqH2O2 t] - [H2O2] ) ! ! Note...Exactly same method can be applied to O3 reaction ! in aqueous phase with different rate constants. !=========================================================== ! Get concentrations for cloud pH calculation (bec, 12/23/11) ! Get sulfate concentration and convert from [v/v] to ! [moles/liter] ! Use a cloud scavenging ratio of 0.7 #ifdef LUO_WETDEP SO4nss = Spc(id_SO4)%Conc(I,J,L) * State_Met%AIRDEN(I,J,L) * & one_m_KRATE / ( AIRMW * LWC ) #else SO4nss = ( Spc(id_SO4)%Conc(I,J,L) * State_Met%AIRDEN(I,J,L) * & 0.7_fp / ( AIRMW * LWC ) ) & + ( Spc(id_SO4s)%Conc(I,J,L) * State_Met%AIRDEN(I,J,L) / & ( AIRMW * LWC ) ) #endif ! Get HMS cloud concentration and convert from [v/v] to ! [moles/liter] (jmm, 06/13/2018) ! Use a cloud scavenging ratio of 0.7 ! assume nonvolatile like sulfate for realistic cloud pH ! NOTE: Only needed for fullchem sims, otherwise it's zero HMSc = 0.0_fp IF ( Input_Opt%ITS_A_FULLCHEM_SIM ) THEN HMSc = Spc(id_HMS)%Conc(I,J,L) * State_Met%AIRDEN(I,J,L) * & 0.7e+0_fp / ( AIRMW * LWC ) ENDIF ! Get total ammonia (NH3 + NH4+) concentration [v/v] ! Use a cloud scavenging ratio of 0.7 for NH4+ #ifdef LUO_WETDEP TNH3 = ( Spc(id_NH4)%Conc(I,J,L) * one_m_KRATE ) + Spc(id_NH3)%Conc(I,J,L) #else TNH3 = ( Spc(id_NH4)%Conc(I,J,L) * 0.7_fp ) + Spc(id_NH3)%Conc(I,J,L) #endif ! Get total chloride (SALACL + HCL) concentration [v/v] ! Use a cloud scavenging ratio of 0.7 #ifdef LUO_WETDEP CL = ( Spc(id_SALACL)%Conc(I,J,L) * one_m_KRATE ) + Spc(id_SALCCL)%Conc(I,J,L) #else CL = ( Spc(id_SALACL)%Conc(I,J,L) * 0.7_fp ) + Spc(id_SALCCL)%Conc(I,J,L) #endif IF ( id_HCl > 0 ) THEN CL = CL + Spc(id_HCL)%Conc(I,J,L) ELSE CL = CL + GLOBAL_HCL(I,J,L) ENDIF ! Get total formic acid concentration [v/v] ! jmm (12/3/18) ! no cloud scavenging because gases? IF ( id_HCOOH > 0 ) THEN TFA = Spc(id_HCOOH)%Conc(I,J,L) ELSE TFA = GLOBAL_HCOOH(I,J,L) ENDIF ! Get total acetic acid concentration [v/v] ! jmm (12/3/18) ! no cloud scavenging b/c gases? IF ( id_ACTA > 0 ) THEN TAA = Spc(id_ACTA)%Conc(I,J,L) ELSE TAA = GLOBAL_ACTA(I,J,L) ENDIF ! Get total sea salt NVC concentration expressed as NA+ equivalents ! and convert from [v/v] to [moles/liter] ! NVC is calculated to balance initial Cl- + alkalinity in ! seas salt. Note that we should not consider SO4ss here. ! Use a cloud scavenging ratio of 0.7 for fine aerosols #ifdef LUO_WETDEP TNA = ( Spc(id_SALA)%Conc(I,J,L) * State_Met%AIRDEN(I,J,L) * & TNA_CONV * one_m_KRATE / & ( AIRMW * LWC ) ) & + ( Spc(id_SALC)%Conc(I,J,L) * State_Met%AIRDEN(I,J,L) * & TNA_CONV / ( AIRMW * LWC ) ) #else TNA = ( Spc(id_SALA)%Conc(I,J,L) * State_Met%AIRDEN(I,J,L) * & TNA_CONV * 0.7_fp / & ( AIRMW * LWC ) ) & + ( Spc(id_SALC)%Conc(I,J,L) * State_Met%AIRDEN(I,J,L) * & TNA_CONV / ( AIRMW * LWC ) ) #endif ! Get total dust cation concentration [mol/L] ! Use a cloud scavenging ratio of 1 for dust ! to be consistent for how it was calculated for ! metal catalyzed SO2 oxidation ! Use asumption of dust being 3% soluble Ca2+ and ! 0.6% soluble Mg2+ by mass (Fairlie et al., 2010) ! ! Dust treated at non-volatile cation and charge applied in ! pH calculation ! ! Move dust calculation from SO2 Metal catalzyed oxidation ! up here becasue needed for cloud pH ! jmm (12/3/18) ! ! Get dust concentrations [v/v -> ng/m3] ! Update to 7 dust bins (D. Zhang, 5 Mar 2025) #ifdef LUO_WETDEP DUST = ( (Spc(id_DSTbin1)%Conc(I,J,L) + Spc(id_DSTbin2)%Conc(I,J,L) + & Spc(id_DSTbin3)%Conc(I,J,L) + Spc(id_DSTbin4)%Conc(I,J,L))*one_m_KRATE + & Spc(id_DSTbin5)%Conc(I,J,L) + & Spc(id_DSTbin6)%Conc(I,J,L) + Spc(id_DSTbin7)%Conc(I,J,L) ) & * 1.e+12_fp * State_Met%AD(I,J,L) & / ( AIRMW / State_Chm%SpcData(id_DSTbin1)%Info%MW_g ) & / State_Met%AIRVOL(I,J,L) #else DUST = ( (Spc(id_DSTbin1)%Conc(I,J,L) + Spc(id_DSTbin2)%Conc(I,J,L) + & Spc(id_DSTbin3)%Conc(I,J,L) + Spc(id_DSTbin4)%Conc(I,J,L))*0.7_fp + & Spc(id_DSTbin5)%Conc(I,J,L) + & Spc(id_DSTbin6)%Conc(I,J,L) + Spc(id_DSTbin7)%Conc(I,J,L) ) & * 1.e+12_fp * State_Met%AD(I,J,L) & / ( AIRMW / State_Chm%SpcData(id_DSTbin1)%Info%MW_g ) & / State_Met%AIRVOL(I,J,L) #endif ! Conversion from dust mass to Ca2+ and Mg2+ mol: ! 0.071*(1/40.08)+0.011*(1/24.31) = 2.22e-3 ! (Engelbrecht et al., 2016) ! 1e-12_fp from m3->L & ng->g TDCA = DUST * 2.22e-15_fp / LWC ! Get total nitrate (HNO3 + NIT) concentrations [v/v] ! Use a cloud scavenging ratio of 0.7 for NIT IF ( Input_Opt%ITS_A_FULLCHEM_SIM ) THEN #ifdef LUO_WETDEP TNO3 = ( Spc(id_HNO3)%Conc(I,J,L) & + Spc(id_NIT )%Conc(I,J,L) & + Spc(id_NITs)%Conc(I,J,L) ) * one_m_KRATE #else TNO3 = Spc(id_HNO3)%Conc(I,J,L) & + ( Spc(id_NIT)%Conc(I,J,L) * 0.7_fp ) & + Spc(id_NITs)%Conc(I,J,L) #endif GNO3 = Spc(id_HNO3)%Conc(I,J,L) !For Fahey & Pandis decision algorithm ELSE IF ( IS_OFFLINE ) THEN TANIT = Spc(id_NIT)%Conc(I,J,L) !aerosol nitrate [v/v] GNO3 = GLOBAL_HNO3(I,J,L) - TANIT ! gas-phase nitric acid [v/v] ANIT = TANIT * 0.7e+0_fp ! aerosol nitrate in the cloud drops [v/v] TNO3 = GNO3 + ANIT ! total nitrate for cloud pH calculations ENDIF ! Calculate cloud pH CALL GET_HPLUS( SO4nss, HMSc, TNH3, TNO3, SO2_ss, CL, TNA, & TDCA, TFA, TAA, TK, PATM, LWC, HPLUS_45, & HPLUS ) ! Store the cloud pH quantities State_Chm%isCloud(I,J,L) = 1.0_fp State_Chm%pHCloud(I,J,L) = -1.0_fp * log10(HPLUS) State_Chm%QLxpHCloud(I,J,L) = State_Chm%pHCloud(I,J,L) & * State_Met%QL(I,J,L) IF ( Input_Opt%LMETALCATSO2 ) THEN !-------------------------------------------------------- ! Metal catalyzed oxidation of SO2 pathway !-------------------------------------------------------- ! Get dust concentrations [v/v -> ng/m3] #ifdef TOMAS ! TOMAS uses its own dust tracers and does not ! carry DST1-4. Set DUST to zero here. (mps, 2/2/18) DUST = 0e+0_fp #else DUST = ( (Spc(id_DSTbin1)%Conc(I,J,L) + Spc(id_DSTbin2)%Conc(I,J,L) + & Spc(id_DSTbin3)%Conc(I,J,L) + Spc(id_DSTbin4)%Conc(I,J,L))*0.7 + & Spc(id_DSTbin5)%Conc(I,J,L) + & Spc(id_DSTbin6)%Conc(I,J,L) + Spc(id_DSTbin7)%Conc(I,J,L) ) * & 1.e+12_fp * State_Met%AD(I,J,L) & / ( AIRMW / State_Chm%SpcData(id_DSTbin1)%Info%MW_g ) & / State_Met%AIRVOL(I,J,L) #endif ! Calculate Fe and Mn natural [ng m-3] ! Assume that Fe is 3.5% of total dust mass based on ! Taylor and McLennan [1985] Fe_nat = DUST * 35e-3_fp ! and Mn is 50 times less than Fe based on Desbouefs et al.[2005] Mn_nat = Fe_nat / 50e+0_fp ! Anthropogenic Fe concentrations [v/v -> ng/m3] IF ( id_pFe > 0 ) THEN Fe_ant = Spc(id_pFe)%Conc(I,J,L) * & 1.e+12_fp * State_Met%AD(I,J,L) & / ( AIRMW / State_Chm%SpcData(id_pFe)%Info%MW_g ) & / State_Met%AIRVOL(I,J,L) ELSE Fe_ant = 0e+0_fp ENDIF ! Calculate Mn anthropogenic [ng m-3] ! assume anthropogenic Mn is 1/30 times anthropogenic Fe Mn_ant = Fe_ant / 10e+0_fp ! Calculate total Mn and Fe [ng m-3] Mn_tot = Mn_ant + Mn_nat Fe_tot = Fe_ant + Fe_nat ! Convert Mn and Fe [ng m-3] to [mole l-1] ! Assume that 50% of Mn is dissolved [Spokes et al., 1994] ! Hardcoded MW for Mn IF ( LWC > 0e+0_fp ) THEN ! Units: ng/m3 * (g/ng) / (g/mol) / (m3 H2O / m3 air) * (m3/L) Mn_d = Mn_tot * 1e-9_fp / 54.94e+0_fp / LWC * 1e-3_fp Mn_d = Mn_d * 0.5e+0_fp ELSE Mn_d = 0e+0_fp ENDIF ! Solubility of Fe is 10% for anthropogenic, and 1% for dust IF ( LWC > 0e+0_fp ) THEN Fe_d_ant = Fe_ant * 1e-9_fp / & State_Chm%SpcData(id_pFe)%Info%MW_g / & LWC * 1e-3_fp Fe_d_nat = Fe_nat * 1e-9_fp / & State_Chm%SpcData(id_pFe)%Info%MW_g / & LWC * 1e-3_fp Fe_d = Fe_d_ant * 0.1e+0_fp + & Fe_d_nat * 0.01e+0_fp ELSE Fe_d = 0e+0_fp ENDIF ! Impose a dependence of Fe speciation on sunlight IF ( Input_Opt%ITS_A_FULLCHEM_SIM .or. & Input_Opt%ITS_AN_AEROSOL_SIM ) THEN IF ( State_Met%SUNCOS(I,J) > 0e+0_fp ) THEN ! Assume 10% of dissolved Fe is in Fe(III) !oxidation state during the daytime FeIII = Fe_d * 0.1e+0_fp ELSE ! Assume 90% of dissolved Fe is in Fe(III) ! oxidation state during the nighttime FeIII = Fe_d * 0.9e+0_fp ENDIF ENDIF ! Assume that dissolved Mn is in Mn(II) oxidation state all of ! the time MnII = Mn_d ELSE ! Set Fe and Mn concentrations to zero FeIII = 0.0e+0_fp MnII = 0.0e+0_fp ENDIF IONIC = 0.5e+0_fp * ( 4.0e+0_fp * SO4nss + & TNH3*State_Met%AIRDEN(I,J,L)/(28.97e+0_fp*LWC) + & TNO3*State_Met%AIRDEN(I,J,L)/(28.97e+0_fp*LWC) ) ! Compute aqueous rxn rates for SO2 CALL AQCHEM_SO2( LWC, TK, PATM, SO2_ss, H2O20, & O3, HPLUS, MnII, FeIII, IONIC, & KaqH2O2, KaqO3, KaqO3_1, KaqO2, & HSO3aq, SO3aq, HCHO0, KaqHCHO, & KaqHMS, KaqHMS2 ) !---------------------------------------------------------- ! Compute loss by H2O2. Prevent floating-point exception ! by not allowing the exponential to go to infinity if ! the argument is too large. (win, bmy, 1/4/09) !---------------------------------------------------------- ! Argument of the exponential XX = ( SO2_ss - H2O20 ) * KaqH2O2 * DTCHEM ! Test if EXP(XX) can be computed w/o numerical exception IF ( IS_SAFE_EXP( XX ) .and. ABS( XX ) > 0e+0_fp ) THEN ! Aqueous phase SO2 loss rate w/ H2O2 [v/v/timestep] L2 = EXP( XX ) ! Loss by H2O2 L2S = SO2_ss * H2O20 * ( L2 - 1.e+0_fp ) / & ( (SO2_ss * L2) - H2O20 ) ELSE ! NOTE from Jintai Lin (4/28/10): ! However, in the case of a negative XX, L2S should be ! approximated as SO2_ss, instead of H2O20. In other words, ! L2S = SO2_ss * H2O20 * ( L2 - 1.D0 ) / ( (SO2_ss*L2) - H2O20 ) ! reaches different limits when XX reaches positive infinity ! and negative infinity. IF ( XX > 0.e+0_fp ) THEN L2S = H2O20 ELSE IF ( XX < 0.e+0_fp) THEN L2S = SO2_ss ELSE !(qjc, 04/10/16) different solution when SO2_ss = H2O20 L2S = SO2_ss - 1/(KaqH2O2*DTCHEM+1/SO2_ss) ENDIF ENDIF !---------------------------------------------------------- ! Compute loss by O3. Prevent floating-point exception ! by not allowing the exponential to go to infinity if ! the argument is too large. (win, bmy, 1/4/09) !---------------------------------------------------------- ! Argument of the exponential XX = ( SO2_ss - O3 ) * KaqO3 * DTCHEM ! Test if EXP(XX) can be computed w/o numerical exception IF ( IS_SAFE_EXP( XX ) .and. ABS( XX ) > 0e+0_fp ) THEN ! Aqueous phase SO2 loss rate w/ O3 [v/v/timestep] L3 = EXP( XX ) ! Loss by O3 L3S = SO2_ss * O3 * (L3 - 1.e+0_fp)/((SO2_ss * L3) - O3) ELSE ! Follow the same logic for L3S as described in ! Jintai Lin's note above (bmy, 4/28/10) IF ( XX > 0.e+0_fp ) THEN L3S = O3 ELSE IF ( XX < 0.e+0_fp) THEN L3S = SO2_ss ELSE !(qjc, 04/10/16) different solution when SO2_ss = O3 L3S = SO2_ss - 1/(KaqO3*DTCHEM+1/SO2_ss) ENDIF ENDIF !(qjc, 04/10/16) !---------------------------------------------------------- ! Compute loss by O3, but SO3-- only. Prevent floating-point ! exception by not allowing the exponential to go to infinity ! if the argument is too large. !---------------------------------------------------------- ! Argument of the exponential XX = ( SO2_ss - O3 ) * KaqO3_1 * DTCHEM ! Test if EXP(XX) can be computed w/o numerical exception IF ( IS_SAFE_EXP( XX ) .and. ABS( XX ) > 0e+0_fp ) THEN ! Aqueous phase SO2 loss rate w/ O3 [v/v/timestep] L3_1 = EXP( XX ) ! Loss by O3 L3S_1 = SO2_ss * O3*(L3_1 - 1.e+0_fp)/((SO2_ss*L3_1)-O3) ELSE ! Follow the same logic for L3S_1 as described in ! Jintai Lin's note above IF ( XX > 0.e+0_fp ) THEN L3S_1 = O3 ELSE IF ( XX < 0.e+0_fp) THEN L3S_1 = SO2_ss ELSE !(qjc, 04/10/16) different solution when SO2_ss = O3 L3S_1 = SO2_ss - 1/(KaqO3_1*DTCHEM+1/SO2_ss) ENDIF ENDIF IF ( Input_Opt%LMETALCATSO2 ) THEN !-------------------------------------------------------- ! Metal catalyzed oxidation of SO2 pathway ! ! Compute loss by O2. I did not do what Jintai Lin did ! above for the other aqueous-phase reactions because it ! doesn't make sense for this reaction (bec, 7/7/15) !---------------------------------------------------------- ! Argument of the exponential XX = -KaqO2 * DTCHEM IF ( IS_SAFE_EXP( XX ) ) THEN ! Aqueous phase SO2 loss rate w/ O2 [v/v/timestep] L4 = EXP( XX ) ! Loss by O2 L4S = SO2_ss * (1.e+0_fp - L4) ELSE L4S = SO2_ss ENDIF ELSE ! Set loss by O2 to zero L4S = 0.0e+0_fp ENDIF !---------------------------------------------------------- ! Compute loss by HOBr. Prevent floating-point exception ! by not allowing the exponential to go to infinity if ! the argument is too large. !qjc (04/05/16) ! Add loss by HOCl, XW (11/08/18) !---------------------------------------------------------- ! Get SO4H (sulfate produced via HOBr) from the Spc array [v/v dry] SO4H1_vv = 0.e+0_fp SO4H2_vv = 0.e+0_fp SO4H3_vv = 0.e+0_fp SO4H4_vv = 0.e+0_fp IF ( Input_Opt%ITS_A_FULLCHEM_SIM ) THEN SO4H1_vv = Spc(id_SO4H1)%Conc(I,J,L) SO4H2_vv = Spc(id_SO4H2)%Conc(I,J,L) SO4H3_vv = Spc(id_SO4H3)%Conc(I,J,L) SO4H4_vv = Spc(id_SO4H4)%Conc(I,J,L) ENDIF L5S = SO4H1_vv + SO4H2_vv L5S_1 = SO4H2_vv L6S = SO4H3_vv + SO4H4_vv L6S_1 = SO4H3_vv ! make sure sulfate produced is less than SO2 available ! (qjc, 06/20/16) IF (L5S > SO2_ss) THEN fupdateHOBr_0 = SO2_ss/L5S L5S = SO2_ss L5S_1 = SO2_ss * L5S_1/L5S ELSE L5S = L5S L5S_1 = L5S_1 fupdateHOBr_0 = 1.e+0_fp ENDIF IF (L6S > SO2_ss) THEN fupdateHOCl_0 = SO2_ss/L6S L6S = SO2_ss L6S_1 = SO2_ss * L6S_1/L6S ELSE L6S = L6S L6S_1 = L6S_1 fupdateHOCl_0 = 1.e+0_fp ENDIF !---------------------------------------------------------- ! Compute loss by HCHO. Prevent floating-point exception ! by not allowing the exponential to go to infinity if ! the argument is too large. (jmm, 06/13/18) !---------------------------------------------------------- IF ( Input_Opt%ITS_A_FULLCHEM_SIM ) THEN ! Argument of the exponential XX = ( SO2_ss - HCHO0 ) * KaqHCHO * DTCHEM ! Test if EXP(XX) can be computed w/o numerical exception IF ( IS_SAFE_EXP( XX ) .and. ABS( XX ) > 0e+0_fp ) THEN ! Aqueous phase SO2 loss rate w/ HCHO [v/v/timestep] L7 = EXP( XX ) ! Loss by HCHO L7S = SO2_ss * HCHO0 * ( L7 - 1.e+0_fp ) / & ( (SO2_ss * L7) - HCHO0 ) ELSE ! NOTE from Jintai Lin (4/28/10): ! However, in the case of a negative XX, L7S should be ! approximated as SO2_ss, instead of HCHO0. In other words, ! L7S = SO2_ss * HCHO0 * ( L7 - 1.D0 ) / ( (SO2_ss*L7) - HCHO0 ) ! reaches different limits when XX reaches positive infinity ! and negative infinity. IF ( XX > 0.e+0_fp ) THEN L7S = HCHO0 ELSE IF ( XX < 0.e+0_fp) THEN L7S = SO2_ss ELSE !(qjc, 04/10/16) different solution when SO2_ss = H2O20 L7S = SO2_ss - 1/(KaqHCHO*DTCHEM+1/SO2_ss) ENDIF ENDIF IF ( L7S > 1.0e+15_fp .or. L7S < 0 ) THEN RC = GC_FAILURE PRINT *,'Loc:',I,J,L PRINT *,'L7S:',L7S PRINT *,'HCHO :',HCHO0 PRINT *,'SO2_ss',SO2_ss PRINT *,'in exp:',XX PRINT *,'L7:',L7 PRINT *,'KaqHCHO',KaqHCHO ENDIF !---------------------------------------------------------- ! Compute aqueous SO2 from HMS decomposition. Prevent floating-point ! exception by not allowing the exponential to go to infinity if ! the argument is too large. This reaction also produces HCHO. ! (jmm, 06/13/18) ! ! This is treated as a pseudo first order reaction as it depends ! on [HMS] and [OH-]. The [OH-] is incorporated into the rate ! constant (KaqHMS) with HPLUS determined seperately. Updates to ! [OH-] are incorporated in the next call of GET_HPLUS, which ! includes [HMS] in the pH calculation ! ! Also note that [HMS] is in mol/L, and the conversion for the ! rate from [mol/L/s] to [v/v/s] is done here ! ! Followed proceedure as done with oxidation by O2 (metal catalyzed) !---------------------------------------------------------- ! Argument of the exponential XX = -KaqHMS * DTCHEM ! Test if EXP(XX) can be computed w/o numerical exception IF ( IS_SAFE_EXP( XX ) ) THEN ! Aqueous phase SO2 production rate w/ HMS [v/v/timestep] L7_b = EXP( XX ) ! Production by HMS L7S_b = HMSc * ( 1.e+0_fp - L7_b ) ELSE L7S_b = HMSc ENDIF ! Convert HMS produced from [mol/L] to [v/v] (jmm, 06/15/18) L7S_b = L7S_b *LWC * 0.08205e+0_fp * TK / PATM IF ( L7S_b > 1.0e+15_fp .or. L7S_b < 0 ) THEN RC = GC_FAILURE PRINT *,'Loc: ',I,J,L PRINT *,'L7S_b: ',L7S_b PRINT *,'HMSc: ',HMSc PRINT *,'in exp: ',XX PRINT *,'L7_b: ',L7_b PRINT *,'KaqHMS: ',KaqHMS PRINT *,'TK: ',TK PRINT *,'LWC: ',LWC PRINT *,'PATM :',PATM ! CALL ERROR_STOP( 'L6s_b >1e15 or <0, point 3', LOC ) ENDIF L7S = 0.e+0_fp L7S_b = 0.e+0_fp L8S = 0.e+0_fp !---------------------------------------------------------- ! Compute HMS loss by aqueous OH. Prevent floating-point exception ! by not allowing the exponential to go to infinity if ! the argument is too large. (jmm, 06/27/18) ! ! HMS oxidation by aqueous OH is converted to v/v/s in the KaqHMS2 ! term. See aqchem_so2 subroutine for reaction details. ! ! This is a simplified version of a radical chain. ! L8S consumes 1 HMS, 1 OH, and 1 SO2 and produces 2 SO4-- !---------------------------------------------------------- ! Convert KaqHMS2 from [m^6 kg^-2 s^-1] to [v/v/s] KaqHMS2 = KaqHMS2 * State_Met%AIRDEN(I,J,L) * & State_Met%AIRDEN(I,J,L) ! Argument of the exponential XX = ( HMS0 - OH0 ) * KaqHMS2 * DTCHEM ! Test if EXP(XX) can be computed w/o numerical exception IF ( IS_SAFE_EXP( XX ) .and. ABS( XX ) > 0e+0_fp ) THEN ! Aqueous phase HMS loss rate w/ OH(aq) [v/v/timestep] L8 = EXP( XX ) ! Loss by OH(aq) L8S = HMS0 * OH0 * ( L8 - 1.e+0_fp ) / & ( (HMS0 * L8) - OH0 ) ELSE ! NOTE from Jintai Lin (4/28/10): ! However, in the case of a negative XX, L8S should be ! approximated as , instead of HCHO0. In other words, ! L8S = HMS0 * OH0 * ( L7 - 1.D0 ) / ( (HMS0*L8) - OH0 ) ! reaches different limits when XX reaches positive infinity ! and negative infinity. IF ( XX > 0.e+0_fp ) THEN L8S = OH0 ELSE IF ( XX < 0.e+0_fp) THEN L8S = HMS0 ELSE !(qjc, 04/10/16) different solution when HMS0 = OH0 L8S = HMS0 - 1/(KaqHMS2*DTCHEM+1/HMS0) ENDIF ENDIF ELSE L7S = 0.e+0_fp L7S_b = 0.e+0_fp L8S = 0.e+0_fp ENDIF L2S = L2S * FC L3S = L3S * FC L3S_1 = L3S_1 * FC !(qjc, 06/20/16) L4S = L4S * FC L5S = L5S !(qjc, 06/20/16), do not multiply by FC if it ! is not divided by FC at the begining L5S_1 = L5S_1 !(qjc, 06/20/16) L6S = L6S L6S_1 = L6S_1 L7S = L7S * FC ! Note: consumes SO2 but for HMS (jmm, 06/13/18) L7S_b = L7S_b * FC ! Note: releases SO2 from HMS (jmm, 06/13/18) L8S = L8S * FC ! Notes: releases 2 sulfate and 1 HCHO for 1 HMS and 1 SO2 (jmm, 06/29/18) ! make sure HMS produced is less than HCHO available ! (jmm, 06/28/18) LSTOT_HMS = L7S - L7S_b - L8S IF (LSTOT_HMS > HCHO0) THEN L7S = HCHO0 + L7S_b + L8S ELSE L7S = L7S ENDIF ! make sure HMS decomposed to HCHO and SO2 is less than HMS available ! (jmm, 06/28/18) IF (-LSTOT_HMS > HMS0) THEN L7S_b = ( HMS0 + L7S ) * L7S_b / ( L7S_b + L8S ) L7S = ( HMS0 + L7S ) * L8S / ( L7S_b + L8S ) ELSE L7S_b = L7S_b L8S = L8S ENDIF LSTOT0 = L2S + L3S + L4S + L5S + L6S + L7S - L7S_b + L8S ! (qjc, 11/04/16), (jmm, 06/13/18) ! make sure sulfate produced is less than SO2 available ! (qjc, 06/20/16) IF (LSTOT0 > SO2_ss) THEN L2S = SO2_ss * L2S / LSTOT0 L3S = SO2_ss * L3S / LSTOT0 L4S = SO2_SS * L4S / LSTOT0 L5S = SO2_ss * L5S / LSTOT0 L3S_1 = SO2_ss * L3S_1 / LSTOT0 L5S_1 = SO2_ss * L5S_1 / LSTOT0 L6S_1 = SO2_ss * L6S_1 / LSTOT0 L7S = SO2_SS * L7S / LSTOT0 ! (jmm, 06/13/18) L8S = SO2_SS * L8S / LSTOT0 ! (jmm, 06/29/18) ! This is the ratio used to calculate the actual removal of ! HOBr by SO2 for use in gckpp_HetRates.F90 (qjc, 06/20/16) State_Chm%fupdateHOBr(I,J,L) = fupdateHOBr_0 * SO2_ss/ LSTOT0 State_Chm%fupdateHOCl(I,J,L) = fupdateHOCl_0 * SO2_ss/ LSTOT0 ELSE L2S = L2S L3S = L3S L4S = L4S L5S = L5S L6S = L6S L3S_1 = L3S_1 L5S_1 = L5S_1 L6S_1 = L6S_1 L7S = L7S ! (jmm, 06/13/18) L8S = L8S ! (jmm, 06/29/18) ! This is the ratio used to calculate the actual removal of ! HOBr by SO2 (qjc, 06/20/16) State_Chm%fupdateHOBr(I,J,L) = fupdateHOBr_0 State_Chm%fupdateHOCl(I,J,L) = fupdateHOCl_0 ENDIF ! Decide whether or not it is necessary to use heterogeneous cloud ! pH calculations based on the Fahey and Pandis, 2001 decision ! algorithm (bec, 12/23/11) ! Add up total seasalt and dust and convert to ug/m3 ! Note that it is better to use dust and sea-salt alkalinity ! tracers if these are being transported (bec, 12/23/11) #ifdef TOMAS !%%%%%%%%%%%%%%%%% BUG FIX FOR TOMAS %%%%%%%%%%%%%%%%%%%%%%% ! NOTE: TOMAS uses its own dust tracers and does not ! carry ALKdst. Set ALKdst to zero here. (bmy, 1/28/14) ALKdst = 0e+0_fp #else ! For other simulations, Sum up the contributions from ! DST1 thru DST4 tracers into ALKdst. (bmy, 1/28/14) ! Update to 7 dust bins (D. Zhang, 5 Mar 2025) ALKdst = ( Spc(id_DSTbin1)%Conc(I,J,L) + Spc(id_DSTbin2)%Conc(I,J,L) + Spc(id_DSTbin3)%Conc(I,J,L) + & Spc(id_DSTbin4)%Conc(I,J,L) + Spc(id_DSTbin5)%Conc(I,J,L) + Spc(id_DSTbin6)%Conc(I,J,L) + & Spc(id_DSTbin7)%Conc(I,J,L)) * & 1.e+9_fp * State_Met%AD(I,J,L) & / ( AIRMW / State_Chm%SpcData(id_DSTbin1)%Info%MW_g ) & / State_Met%AIRVOL(I,J,L) #endif ALKss = ( Spc(id_SALA)%Conc(I,J,L) + Spc(id_SALC)%Conc(I,J,L) ) * & 1.e+9_fp * State_Met%AD(I,J,L) & / ( AIRMW / State_Chm%SpcData(id_SALA)%Info%MW_g ) & / State_Met%AIRVOL(I,J,L) ALKds = ALKdst + ALKss ! Get NH3 concentrations (v/v) NH3 = Spc(id_NH3)%Conc(I,J,L) ! Initialize BULK = 0 SIZE_RES = 0 ! Fahey and Seinfeld decision algorithm IF ( H2O20 > SO2_ss + 1e-9_fp ) THEN BULK = 1 ELSEIF( LWC < 0.1e-6_fp ) THEN !10^-6 coversion from g/m3 --> m3/m3 SIZE_RES = 1 ELSEIF( gno3 > NH3 ) THEN IF ( SO2_ss >= 5.e-9_fp .and. & H2O20 >= SO20 ) & BULK = 1 IF ( LWC >= 0.3e-6_fp .and. & SO2_ss >= 3.e-9_fp .and. & H2O20 >= SO2_ss ) & BULK = 1 IF ( ALKds >= 5.e+0_fp .and. & LWC >= 0.5e-6_fp .and. & H2O20 >= SO2_ss ) & BULK = 1 IF ( LWC >= 0.1e-6_fp .and. & gno3 <= (NH3 + 2.e-9_fp) ) & BULK = 1 ELSEIF( LWC >= 0.5e-6_fp ) THEN IF ( H2O20 >= (0.9e+0_fp * SO2_ss) ) & BULK = 1 IF ( NH3 <= 1.e-9_fp .and. & ALKds >= 5.e+0_fp .and. & SO2_ss <= 10.e-9_fp ) & BULK = 1 ELSEIF( LWC >= 0.3e-6_fp ) THEN IF ( NH3 >= (gno3 + 5.e-9_fp) .and. & SO2_ss <= 10.e-9_fp ) & BULK = 1 IF ( gno3 <= 1.e-9_fp .and. & NH3 >= (gno3 + 2.e-9_fp) ) & BULK = 1 IF ( gno3 <= 7.e-9_fp .and. & NH3 >= (gno3 + 3.e-9_fp) ) & BULK = 1 IF ( ALKds >= 3.e+0_fp .and. & NH3 <= 10e-9_fp .and. & SO2_ss <= 5e-9_fp ) & BULK = 1 IF ( ALKds >= 5.e+0_fp .and. & NH3 <= 10.e-9_fp .and. & SO2_ss <= 5.e-9_fp ) & BULK = 1 IF ( SO2_ss >= 1.5e-9_fp .and. & H2O20 >= SO2_ss ) & BULK = 1 IF ( NH3 <= 12.e-9_fp .and. & ALKds >=10.e+0_fp ) & BULK = 1 IF ( NH3 <= 1.e-9_fp .and. & ALKds >= 4.e+0_fp .and. & SO2_ss <= 10.e-9_fp ) & BULK = 1 IF ( NH3 <= 5.e-9_fp .and. & ALKds >= 6.e+0_fp .and. & SO2_ss <= 10.e-9_fp ) & BULK = 1 IF ( NH3 <= 7.e-9_fp .and. & ALKds >-8.e+0_fp .and. & SO2_ss <= 10.e-9_fp ) & BULK = 1 ELSEIF( LWC >= 0.1e-6_fp ) THEN IF ( NH3 <= 1.e-9_fp .and. & ALKds >= 5.e+0_fp ) & BULK = 1 IF ( NH3 <= 5.e-9_fp .and. & ALKds >= 10.e+0_fp ) & BULK = 1 IF ( gno3 <= 1.e-9_fp .and. & NH3 >= (gno3 + 2.e-9_fp) .and. & SO2_ss <= 7.e-9_fp ) & BULK = 1 IF ( gno3 <= 1.e-9_fp .and. & NH3 >= (gno3 + 2.e-9_fp) .and. & ALKds >= 2.e+0_fp ) & BULK = 1 IF ( gno3 <= 3.e-9_fp .and. & NH3 >= (gno3 + 4.e-9_fp) ) & BULK = 1 IF ( gno3 <= 7.e-9_fp .and. & NH3 >= (gno3 + 3.e-9_fp) .and. & SO2_ss <= 5.e-9_fp ) & BULK = 1 IF ( gno3 <= 7.e-9_fp .and. & NH3 >= (gno3 + 3.e-9_fp) .and. & ALKds >= 4.e+0_fp .and. & SO2_ss <= 9.e-9_fp ) & BULK = 1 IF ( ALKds >= 3.e+0_fp .and. & NH3 <= 3.e-9_fp .and. & SO2_ss <= 4.e-9_fp ) & BULK = 1 IF ( ALKds >= 5.e+0_fp .and. & SO2_ss <= 5.e-9_fp .and. & NH3 <= 7.e-9_fp ) & BULK = 1 IF ( NH3 >= (gno3 + 2.e-9_fp) .and. & SO2_ss <= 5.e-9_fp ) & BULK = 1 IF ( NH3 >= (gno3 + 4.e-9_fp) .and. & SO2_ss <= 10.e-9_fp ) & BULK = 1 IF ( ALKds >= 2.e+0_fp .and. & NH3 <= 10.e-9_fp .and. & H2O20 >= SO2_ss ) & BULK = 1 IF ( NH3 <= 1.e-9_fp .and. & SO2_ss >= 3.e-9_fp .and. & H2O20 >= SO2_ss ) & BULK = 1 ELSE SIZE_RES = 1 ENDIF ! Decide whether or not to perform sulfate production rate ! enhancement due to cloud drop heterogenity in pH over the oceans ! (bec, 12/23/11) IF ( SIZE_RES == 1 .AND. State_Met%IsWater(I,J) .AND. & TK > 268.15 ) THEN ! Get total in-cloud sulfate production based on bulk cloud pH ! calculations for use in HET_DROP_CHEM ! added in SO4 from HMS (jmm, 06/29/18) LSTOT = (L2S + L3S + L4S + L5S + L6S + L8S + L8S) / FC !(qjc, 06/20/16) ! Get coarse-mode sea-salt concentration for use in ! HET_DROP_CHEM [v/v] ! Note that it is better to use coarse sea salt alkalinity ! tracer if it is being transported (bec, 12/23/11) SSCvv = Spc(id_SALC)%Conc(I,J,L) ! Get sulfate concentrations for use in HET_DROP_CHEM [v/v] aSO4 = Spc(id_SO4)%Conc(I,J,L) ! This is to make sure HET_DROP_CHEM does not compute more ! sulfate then there is SO2 ! Add L5S (qjc, 11/04/16) ! Add L7S, L7S_b, and L8S (jmm, 06/29/18) SO2_sr = MAX( SO2_ss - ( L2S + L3S + L4S + L5S + L6S + & L7S - L7S_b + L8S), MINDAT) CALL HET_DROP_CHEM( I, J, L, LSTOT, SSCvv, & aSO4, NH3, SO2_sr, H2O20, GNO3, SR, & Input_Opt, State_Met, State_Chm ) ! Henry's Law constant of O3 and HOBr (M atm-1) HCO3 = 1.13e-2_fp * EXP( 8.51e+0_fp * & ( 298.15e+0_fp / TK - 1.e+0_fp ) ) HCHOBr = 1.3e+3_fp HCHOCl = 6.6e+2_fp ! Rate coefficient (M-1 s-1) KO3 = 7.32e+14_fp * EXP( -4.03e+3_fp / TK ) ! for O3+SO3 KHOBr = 5.0e+9_fp ! for HOBr+SO3 KHOCl = 7.6e+8_fp ! for HOCl+SO3 ! Make sure we don't divide by zero (ckeller, 1/25/18) TMP = KHOBr*HOBr0*HCHOBr + KO3*O3*HCO3 + KHOCl*HOCl0*HCHOCl IF ( TMP > 0.0_fp ) THEN f_srhobr = KHOBr*HOBr0*HCHOBr / TMP f_srhocl = KHOCl*HOCl0*HCHOCl / TMP SRhobr = SR * f_srhobr SRhocl = SR * f_srhocl SRo3 = SR * (1-f_srhobr-f_srhocl) ELSE SR = 0.e+0_fp SRhobr = 0.e+0_fp SRhocl = 0.e+0_fp SRo3 = 0.e+0_fp so2_sr = 0.e+0_fp ENDIF ELSE SR = 0.0_fp SRhobr = 0.0_fp SRhocl = 0.e+0_fp SRo3 = 0.0_fp so2_sr = 0.0_fp LSTOT = 0.0_fp ENDIF ! We have used the in-cloud LWC to compute the sulfate ! aqueous chemistry. We get the appropriate grid-box averaged ! mass of SO2 and sulfate by multiplying the reaction rates ! L2S and L3s by the cloud fraction after the aqueous chemistry ! has been done. (lzh, jaf, bmy, 5/27/11) SR = SR * FC SRo3 = SRo3 * FC !(qjc, 04/10/16) SRhobr = SRhobr * FC !(qjc, 04/10/16) SRhocl = SRhocl * FC ! Store initial SO2_ss (qjc, 06/20/16) SO2_ss0 = SO2_ss ! Make sure SO2_ss and H2O20 are in the proper range ! Add L5S (qjc, 11/04/16) ! Add L7S and L7S_b (jmm, 06/13/18) ! Add loss and production of HCHO (jmm, 06/13/18) ! Add loss and production of HMS (jmm, 06/15/18) SO2_ss = MAX( SO2_ss - ( L2S+L3S+L4S+L5S+L6S+ & L7S-L7S_b+L8S+SR ), MINDAT ) H2O20 = MAX( H2O20 - L2S, MINDAT ) HCHO0 = MAX( HCHO0 - L7S + L7S_b + L8S, MINDAT ) HMS0 = MAX( HMS0 + L7S - L7S_b - L8S, MINDAT ) O3 = MAX( O3 - L3S, MINDAT ) OH0 = MAX( OH0 - L8S, MINDAT ) ! Factor to calculate effective SO3 and HSO3 in aqchem_so2 to ! be used in HOBr+HSO3/SO3 (qjc, 06/20/16) rSIV = SO2_sr/SO2_ss0 rSIV = MAX(rSIV, 0.e+0_fp) rSIV = MIN(rSIV, 1.e+0_fp) ! Store HSO3aq, SO3aq for use in gckpp_HetRates.F90 State_Chm%HSO3_AQ(I,J,L) = HSO3aq * ( 1.0_fp + rSIV ) / 2.0_fp State_Chm%SO3_AQ(I,J,L) = SO3aq * ( 1.0_fp + rSIV ) / 2.0_fp ! Update SO2 level, save SO2[ppv], H2O2[ppv] for WETDEP SO2s( I,J,L) = SO2_ss H2O2s(I,J,L) = H2O20 ! SO2 chemical loss rate = SO4 production rate [v/v/timestep] ! Add HMS (jmm, 06/13/18) PSO4_SO2(I,J,L) = LSTOT + PSO4E PSO4_ss (I,J,L) = PSO4F PHMS_SO2(I,J,L) = L7S PSO2_HMS(I,J,L) = L7S_b PSO4_HMS(I,J,L) = L8S + L8S ELSE ! Otherwise, don't do aqueous chemistry, and ! save the original concentrations into SO2 and H2O2 H2O2s(I,J,L) = MAX( H2O20, 1.0e-32_fp ) SO2s(I,J,L ) = MAX( SO2_ss, 1.0e-32_fp ) L2S = 0.e+0_fp L3S = 0.e+0_fp L3S_1 = 0.e+0_fp !(qjc, 11/04/16) L4S = 0.e+0_fp L5S = 0.e+0_fp !(qjc, 11/04/16) L5S_1 = 0.e+0_fp !(qjc, 11/04/16) L6S = 0.e+0_fp L6S_1 = 0.e+0_fp SR = 0.e+0_fp SRhobr = 0.e+0_fp SRhocl = 0.e+0_fp SRo3 = 0.e+0_fp HPLUS = 0.e+0_fp L7S = 0.e+0_fp !(jmm, 06/13/18) L7S_b = 0.e+0_fp !(jmm, 06/13/18) L8S = 0.e+0_fp !(jmm, 06/13/18) ! Store HSO3aq, SO3aq for use in gckpp_HetRates.F90 ! Avoid divide-by-zero errors State_Chm%HSO3_AQ(I,J,L) = 1.0e-32_fp State_Chm%SO3_AQ(I,J,L) = 1.0e-32_fp ! This is the ratio used to calculate the actual removal of ! HOBr by SO2 for use in gckpp_HetRates.F90 (qjc, 06/20/16) State_Chm%fupdateHOBr(I,J,L) = 0.e+0_fp State_Chm%fupdateHOCl(I,J,L) = 0.e+0_fp ! SO2 chemical loss rate = SO4 production rate [v/v/timestep] ! Add HMS (jmm, 06/13/18) PSO4_SO2(I,J,L) = PSO4E PSO4_ss (I,J,L) = PSO4F PHMS_SO2(I,J,L) = 0.0e+0_fp PSO2_HMS(I,J,L) = 0.0e+0_fp PSO4_HMS(I,J,L) = 0.0e+0_fp ENDIF ! Store updated SO2, H2O2 back to the tracer arrays ! Add HCHO, OH, O3, and HMS (jmm, 06/13/18) If (FullRun) Then Spc(id_SO2)%Conc(I,J,L) = SO2s( I,J,L) Spc(id_H2O2)%Conc(I,J,L) = H2O2s(I,J,L) IF ( Input_Opt%ITS_A_FULLCHEM_SIM ) THEN Spc(id_OH)%Conc(I,J,L) = OH0 Spc(id_O3)%Conc(I,J,L) = O3 Spc(id_CH2O)%Conc(I,J,L) = HCHO0 Spc(id_HMS)%Conc(I,J,L) = HMS0 ENDIF ! Set SO4H1 and SO4H2 to zero at end of each timestep IF ( id_SO4H1 > 0 ) Spc(id_SO4H1)%Conc(I,J,L) = 0.0e+0_fp IF ( id_SO4H2 > 0 ) Spc(id_SO4H2)%Conc(I,J,L) = 0.0e+0_fp IF ( id_SO4H3 > 0 ) Spc(id_SO4H3)%Conc(I,J,L) = 0.0e+0_fp IF ( id_SO4H4 > 0 ) Spc(id_SO4H4)%Conc(I,J,L) = 0.0e+0_fp End If ! SO2 chemical loss rate = SO4 production rate [v/v/timestep] ! Add L5S (qjc, 11/04/16) ! Add L8S (jmm, 06/29/18) PSO4_SO2(I,J,L) = L1 + L2S + L3S + L4S + L5S + PSO4E + SR + & L6S + L8S + L8S ! Production of sulfate on sea salt PSO4_ss (I,J,L) = PSO4F #ifdef APM PSO4_SO2APM(I,J,L) = L2S + L3S + L4S + L5S + SR PSO4_SO2APM(I,J,L) = MAX(0.d0,PSO4_SO2APM(I,J,L)) PSO4_SO2SEA(I,J,L) = PSO4E + PSO4F PSO4_SO2SEA(I,J,L) = MAX(0.d0,PSO4_SO2SEA(I,J,L)) #endif #ifdef TOMAS PSO4_SO2AQ(I,J,L) = L2S + L3S + SR ! For TOMAS microphysics #endif ! tdf Production of sulfate and nitrate on dust IF ( LDSTUP ) THEN ! NB Fine dust mass excluded from PSO4_SO2 - kept separately ! (tdf 07/24/08) ! tdf PNIT_d, PH2SO4_d, and PSO4_d computed in DUST_CHEM DO IBIN = 1, NDSTBIN ! included P(SO4) due to uptake of H2SO4(g) !tdf 3/2/2K9 PSO4_dust(I,J,L,IBIN) = PSO4_d(IBIN) + PH2SO4_d(IBIN) PNIT_dust(I,J,L,IBIN) = PNIT_d(IBIN) END DO ! tdf Subtract from PSO4_SO2 that which is now diverted to dust DO IBIN = 1, NDSTBIN PSO4_SO2(I,J,L) = PSO4_SO2(I,J,L) - PH2SO4_d(IBIN) END DO ENDIF !tdf end of if (LDSTUP) condition !================================================================= ! HISTORY (aka netCDF diagnostics) !================================================================= IF ( FullRun ) THEN ! P(SO4) from gas-phase oxidation [kg S/s] IF ( State_Diag%Archive_ProdSO4fromGasPhase ) THEN State_Diag%ProdSO4fromGasPhase(I,J,L) = & ( L1 * State_Met%AD(I,J,L) / TCVV_S ) / DTCHEM ENDIF ! P(SO4) from aqueous-phase oxidation with H2O2 [kg S/s] IF ( State_Diag%Archive_ProdSO4fromH2O2inCloud ) THEN State_Diag%ProdSO4fromH2O2inCloud(I,J,L) = & ( L2S * State_Met%AD(I,J,L) / TCVV_S ) / DTCHEM ENDIF ! P(SO4) from aqueous-phase oxidation with O3 [kg S/s] IF ( State_Diag%Archive_ProdSO4fromO3InCloud ) THEN State_Diag%ProdSO4fromO3InCloud(I,J,L) = & ( ( L3S + SRo3 ) * State_Met%AD(I,J,L) / TCVV_S ) / DTCHEM ENDIF ! P(SO4) from aqueous-phase oxidation with HOBr [kg S/s] IF ( State_Diag%Archive_ProdSO4fromHOBrInCloud ) THEN State_Diag%ProdSO4fromHOBrInCloud(I,J,L) = & ( ( L5S + SRhobr ) * State_Met%AD(I,J,L) / TCVV_S ) / DTCHEM ENDIF ! P(SO4) from aqueous-phase oxidation with O2 metal-catalyzed ! [kg S/s] IF ( State_Diag%Archive_ProdSO4fromO2InCloudMetal ) THEN State_Diag%ProdSO4fromO2InCloudMetal(I,J,L) = & ( L4S * State_Met%AD(I,J,L) / TCVV_S ) / DTCHEM ENDIF ! P(SO4) from O3 in sea salt aerosol [kg S/s] IF ( State_Diag%Archive_ProdSO4fromO3inSeaSalt ) THEN State_Diag%ProdSO4fromO3inSeaSalt(I,J,L) = & ( ( PSO4E + PSO4F ) * State_Met%AD(I,J,L) / TCVV_S ) / DTCHEM ENDIF ! P(SO4) by SRo3 [kg S/s] IF ( State_Diag%Archive_ProdSO4fromSRO3 ) THEN State_Diag%ProdSO4fromSRO3(I,J,L) = & ( SRo3 * State_Met%AD(I,J,L) / TCVV_S ) / DTCHEM ENDIF ! P(SO4) by SRhobr [kg S/s] IF ( State_Diag%Archive_ProdSO4fromSRHOBr ) THEN State_Diag%ProdSO4fromSRHOBr(I,J,L) = & ( SRhobr * State_Met%AD(I,J,L) / TCVV_S ) / DTCHEM ENDIF ! P(SO4) by o3s [kg S/s] IF ( State_Diag%Archive_ProdSO4fromO3s ) THEN State_Diag%ProdSO4fromO3s(I,J,L) = & ( L3S_1 * State_Met%AD(I,J,L) / TCVV_S ) / DTCHEM ENDIF ! P(HMS) by SO2 and HCHO [kg S/s] ! jmm (06/13/18) IF ( State_Diag%Archive_ProdHMSfromSO2andHCHOinCloud ) THEN State_Diag%ProdHMSfromSO2andHCHOinCloud(I,J,L) = & ( L7S * State_Met%AD(I,J,L) / TCVV_S ) / DTCHEM ENDIF ! P(SO2 and HCHO) from HMS decomp [kg S/s] ! jmm (06/13/18) IF ( State_Diag%Archive_ProdSO2andHCHOfromHMSinCloud ) THEN State_Diag%ProdSO2andHCHOfromHMSinCloud(I,J,L) = & ( L7S_b * State_Met%AD(I,J,L) / TCVV_S ) / DTCHEM ENDIF ! P(SO4) from aqueous-phase oxidation of HMS [kg S/s] ! jmm (07/06/18) IF ( State_Diag%Archive_ProdSO4fromHMSinCloud ) THEN State_Diag%ProdSO4fromHMSinCloud(I,J,L) = & ( 2.e+0_fp * L8S * State_Met%AD(I,J,L) / & TCVV_S ) / DTCHEM ENDIF !----------------------------------------------------------- ! Diagnostics for acid uptake on dust aerosol simulations !----------------------------------------------------------- IF ( LDSTUP ) THEN ! Zero PSO4d_tot = 0.e+0_fp PH2SO4d_tot = 0.e+0_fp PNITd_tot = 0.e+0_fp DO IBIN = 1, NDSTBIN PSO4d_tot = PSO4d_tot + PSO4_d(IBIN) PNITd_tot = PNITd_tot + PNIT_d(IBIN) PH2SO4d_tot = PH2SO4d_tot + PH2SO4_d(IBIN) END DO ! P(SO4) from O3 oxidation on dust aerosols [kg S/s] IF ( State_Diag%Archive_ProdSO4fromOxidationOnDust ) THEN State_Diag%ProdSO4fromOxidationOnDust(I,J,L) = & ( PSO4d_tot * State_Met%AD(I,J,L) / TCVV_S ) / DTCHEM ENDIF ! P(NIT) from HNO3 uptake on dust [kg N/s] IF ( State_Diag%Archive_ProdNITfromHNO3uptakeOnDust ) THEN State_Diag%ProdNITfromHNO3uptakeOnDust(I,J,L) = & ( PNITd_tot * State_Met%AD(I,J,L) / TCVV_N ) / DTCHEM ENDIF ! P(SO4) from uptake of H2SO4 on dust aerosols [kg S/s] IF ( State_Diag%Archive_ProdSO4fromUptakeOfH2SO4g ) THEN State_Diag%ProdSO4fromUptakeOfH2SO4g(I,J,L) = & ( PH2SO4d_tot * State_Met%AD(I,J,L) / TCVV_S )/DTCHEM ENDIF ENDIF ENDIF #ifdef LUO_WETDEP ! Luo et al 2020 wtdep IF( SUM( State_Chm%QQ3D (I,J,L:State_Grid%NZ) * & State_Met%BXHEIGHT(I,J,L:State_Grid%NZ) ) > 1.D-30 ) THEN State_Chm%pHRain(I,J,L) = & SUM( State_Chm%pHCloud (I,J,L:State_Grid%NZ) * & State_Chm%QQ3D (I,J,L:State_Grid%NZ) * & State_Met%BXHEIGHT(I,J,L:State_Grid%NZ) ) / & SUM( State_Chm%QQ3D (I,J,L:State_Grid%NZ) * & State_Met%BXHEIGHT(I,J,L:State_Grid%NZ) ) State_Chm%QQpHRain(I,J,L) = & SUM( State_Chm%pHCloud (I,J,L:State_Grid%NZ) * & State_Chm%QQ3D (I,J,L:State_Grid%NZ) * & State_Met%BXHEIGHT(I,J,L:State_Grid%NZ) ) State_Chm%QQRain(I,J,L) = & SUM( State_Chm%QQ3D (I,J,L:State_Grid%NZ) * & State_Met%BXHEIGHT(I,J,L:State_Grid%NZ) ) ELSE ! Default wetdep scheme State_Chm%pHrain(I,J,L) = 5.6D0 State_Chm%QQpHrain(I,J,L) = 0.D0 State_Chm%QQrain(I,J,L) = 0.D0 ENDIF #endif ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ! Deallocate if allocated IF ( ASSOCIATED( NDENS_SALA ) ) DEALLOCATE ( NDENS_SALA ) IF ( ASSOCIATED( NDENS_SALC ) ) DEALLOCATE ( NDENS_SALC ) ! Free pointers Spc => NULL() !SSAlk => NULL() H2O2s => NULL() SO2s => NULL() NDENS_SALA => NULL() NDENS_SALC => NULL() END SUBROUTINE CHEM_SO2 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: seasalt_chem ! ! !DESCRIPTION: Subroutine SEASALT\_CHEM computes SO4 formed from S(IV) + O3 on ! seasalt aerosols as a function of seasalt alkalinity. (bec, bmy, 4/13/05, ! 10/7/08) !\\ !\\ ! !INTERFACE: ! SUBROUTINE SEASALT_CHEM( I, J, L, & ALK1, ALK2, SO2_cd, & Kt1, Kt2, Kt1N, & Kt2N, Kt1L, Kt2L, & SO2_ss, PSO4E, & PSO4F, AlkA, AlkC, & Input_Opt, State_Met, State_Chm, & State_Diag, FullRun, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_TS_CHEM USE TIME_MOD, ONLY : GET_MONTH USE TIME_MOD, ONLY : ITS_A_NEW_MONTH ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I, J, L ! Grid box indices REAL(fp), INTENT(IN) :: SO2_cd ! SO2 mixing ratio [v/v] after ! gas phase chemistry and ! dry deposition REAL(fp), INTENT(IN) :: Kt1, Kt2 ! Rate constant [s-1] for ! sulfate formation on sea ! salt aerosols from GET_ALK ! (1=fine; 2=coarse) REAL(fp), INTENT(IN) :: Kt1N, Kt2N REAL(fp), INTENT(IN) :: Kt1L, Kt2L REAL(fp), INTENT(IN) :: ALK1, ALK2 ! Alkalinity [kg] from ! seasalt_mod TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object LOGICAL, INTENT(IN) :: FullRun ! Modify species conc? ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: SO2_ss ! SO2 mixing ratio [v/v] ! after sea salt chemistry REAL(fp), INTENT(OUT) :: PSO4E ! SO4E (sulfate produced by ! S(IV)+O3 on fine seasalt) ! mixing ratio [v/v] REAL(fp), INTENT(OUT) :: PSO4F ! SO4F (sulfate produced by ! S(IV)+O3 on coarse seasalt) REAL(fp), INTENT(OUT) :: AlkA ! Modified SSA alkalinity [v/v] REAL(fp), INTENT(OUT) :: AlkC ! Modified SSA alkalinity [v/v] INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! Chemical reactions: ! ============================================================================ ! (R1) SO2 + O3 + ALK => SO4 + O2 ! Modeled after Chamedies and Stelson, 1992? ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! REAL(fp), PARAMETER :: MINDAT = 1.0e-20_fp ! ! !LOCAL VARIABLES: ! ! Scalars REAL(fp) :: SO2_chem, DTCHEM REAL(fp) :: EQ_1_C, EQ_2_C REAL(fp) :: SO4E, SO2_new, SO4F REAL(fp) :: SO2_eq, N_FLUX_A, N_FLUX_C REAL(fp) :: END_ALK, L5A, L5C REAL(fp) :: EQ1, EQ2, TITR_SO2 REAL(fp) :: TITR_HNO3, NIT_vv, NITs_vv REAL(fp) :: NIT0, NITS0 REAL(fp) :: F_SO2, FALK_A_SO2, FALK_C_SO2 REAL(fp) :: EQ_BEG, F_SO2_A, F_SO2_C REAL(fp) :: TOTAL_ACID_FLUX REAL(fp) :: HNO3_EQ, TOT_FLUX_A, TOT_FLUX_C REAL(fp) :: FALK_A_HNO3, HNO3_vv REAL(fp) :: FALK_C_HNO3, F_HNO3_A, F_HNO3_C REAL(fp) :: EQ_1_N, EQ_2_N, F_HNO3 REAL(fp) :: HNO3_SSA, HNO3_SSC, N_FLUX REAL(fp) :: HNO3_EQ_C, L6A, L6C REAL(fp) :: C_FLUX_A, C_FLUX_C, C_FLUX REAL(fp) :: HNO3_ss, HNO3_kg REAL(fp) :: MW_SAL1, MW_SAL2 ! for salinity/alkalinity REAL(fp) :: L_FLUX_A, L_FLUX_C, TITR_HCl REAL(fp) :: ACL_vv, CCL_vv, ACL0 REAL(fp) :: CCL0, HCl_eq, FALK_A_HCl REAL(fp) :: FALK_C_HCl, HCl_vv, F_HCl_A REAL(fp) :: F_HCl_C, EQ_1_L, EQ_2_L REAL(fp) :: F_HCl, L_FLUX, HCl_SSA REAL(fp) :: HCl_ss, HCl_kg, HCl_SSC REAL(fp) :: L7A, L7C, HCl_EQ_C ! Pointers TYPE(SpcConc), POINTER :: Spc(:) REAL(fp), POINTER :: AD(:,:,:) REAL(fp), POINTER :: AIRVOL(:,:,:) !================================================================= ! SEASALT_CHEM begins here! !================================================================= ! Assume success RC = GC_SUCCESS ! Initialize pointers Spc => State_Chm%Species AD => State_Met%AD AIRVOL => State_Met%AIRVOL ! Uncomment if transporting salinity/alkalinity as needed MW_SAL1 = State_Chm%SpcData(id_SALAAL)%Info%MW_g MW_SAL2 = State_Chm%SpcData(id_SALCAL)%Info%MW_g ! DTCHEM is the chemistry timestep in seconds DTCHEM = GET_TS_CHEM() ! Convert SO2 [v/v] to [eq/gridbox] ! Remove species molecular weights from equation (bmy, 2/10/17) SO2_eq = ( ( 2.0_fp * SO2_cd * AD(I,J,L) ) / AIRMW ) * 1000.0_fp SO2_eq = MAX( SO2_eq, MINDAT ) ! Get the HNO3 and HCl concentration [v/v], either from the species ! array (fullchem sims) or from HEMCO (aerosol-only sims) IF ( Input_Opt%ITS_A_FULLCHEM_SIM ) THEN HNO3_vv = Spc(id_HNO3)%Conc(I,J,L) HCl_vv = Spc(id_HCL)%Conc(I,J,L) ELSE HNO3_vv = GLOBAL_HNO3(I,J,L) HCl_vv = GLOBAL_HCl(I,J,L) ENDIF ! Convert HNO3 and HCl [v/v] to [equivalents] HNO3_eq = ( ( HNO3_vv * AD(I,J,L) ) / AIRMW ) * 1000.0_fp HCl_eq = ( ( HCl_vv * AD(I,J,L) ) / AIRMW ) * 1000.0_fp !----------- ! SO2 !----------- ! Available flux of SO2 to accum sea salt aerosols [v/v/timestep] L5A = EXP( -Kt1 * DTCHEM ) F_SO2_A = SO2_cd * ( 1.e+0_fp - L5A ) F_SO2_A = MAX( F_SO2_A, 1.e-32_fp ) ! Convert to [eq/timestep] ! Remove species molecular weight from equation (bmy, 2/10/17) C_FLUX_A = ( 2.0_fp * F_SO2_A * AD(I,J,L) / AIRMW ) * 1000.0_fp ! Available flux of SO2 to coarse sea salt aerosols [v/v/timestep] L5C = EXP( - Kt2 * DTCHEM ) F_SO2_C = SO2_cd * ( 1.e+0_fp - L5C ) F_SO2_C = MAX( F_SO2_C, 1.0e-32_fp ) ! Convert to [eq/timestep] ! Remove species molecular weight from equation (bmy, 2/10/17) C_FLUX_C = ( 2.0_fp * F_SO2_C * AD(I,J,L) / AIRMW ) * 1000.0_fp ! Total flux of SO2 [v/v/timestep] F_SO2 = F_SO2_A + F_SO2_C ! Total flux of SO2 [eq/timestep] C_FLUX = C_FLUX_A + C_FLUX_C !----------- ! HNO3 !----------- ! Available flux of HNO3 to accum sea salt aerosols [v/v/timestep] L6A = EXP( - Kt1N * DTCHEM ) F_HNO3_A = HNO3_vv * ( 1.e+0_fp - L6A ) F_HNO3_A = MAX( F_HNO3_A, 1.0e-32_fp ) ! Convert to [eq/timestep] ! Remove species molecular weight from equation (bmy, 2/10/17) N_FLUX_A = ( F_HNO3_A * AD(I,J,L) / AIRMW ) * 1000.0_fp ! Available flux of HNO3 to coarse sea salt aerosols [v/v/timestep] L6C = EXP( - Kt2N * DTCHEM ) F_HNO3_C = HNO3_vv * ( 1.e+0_fp - L6C ) F_HNO3_C = MAX( F_HNO3_C, 1.0e-32_fp ) ! convert to [eq/timestep] ! Remove species molecular weight from equation (bmy, 2/10/17) N_FLUX_C = ( F_HNO3_C * AD(I,J,L) / AIRMW ) * 1000.0_fp ! Total flux of HNO3 F_HNO3 = F_HNO3_A + F_HNO3_C ![v/v/timestep] N_FLUX = N_FLUX_A + N_FLUX_C ![eq/timestep] !----------- ! HCl !----------- ! Available flux of HCl to accum sea salt aerosols [v/v/timestep] L7A = EXP( - Kt1L * DTCHEM ) F_HCl_A = HCl_vv * ( 1.e+0_fp - L7A ) F_HCl_A = MAX( F_HCl_A, 1.0e-32_fp ) ! Convert to [eq/timestep] ! Remove species molecular weight from equation (bmy, 2/10/17) L_FLUX_A = ( F_HCl_A * AD(I,J,L) / AIRMW ) * 1000.0_fp ! Available flux of HCl to coarse sea salt aerosols ! [v/v/timestep] L7C = EXP( - Kt2L * DTCHEM ) F_HCl_C = HCl_vv * ( 1.e+0_fp - L7C ) F_HCl_C = MAX( F_HCl_C, 1.0e-32_fp ) ! convert to [eq/timestep] ! Remove species molecular weight from equation (bmy, 2/10/17) L_FLUX_C = ( F_HCl_C * AD(I,J,L) / AIRMW ) * 1000.0_fp ! Total flux of HCl F_HCl = F_HCl_A + F_HCl_C ![v/v/timestep] L_FLUX = L_FLUX_A + L_FLUX_C ![eq/timestep] !----------- ! Acid !----------- ! Total acid flux to accum sea-salt aerosols [eq/box/timestep] TOT_FLUX_A = C_FLUX_A + N_FLUX_A + L_FLUX_A TOT_FLUX_A = MAX( TOT_FLUX_A, MINDAT ) ! Total acid flux to coarse sea-salt aerosols [eq/box/timestep] TOT_FLUX_C = C_FLUX_C + N_FLUX_C + L_FLUX_C TOT_FLUX_C = MAX( TOT_FLUX_C, MINDAT ) ! Total acid flux to sea salt aerosols TOTAL_ACID_FLUX = TOT_FLUX_A + TOT_FLUX_C ! Total available alkalinity [eq] !---------------------------------------------------------------------- ! From Alexander et al., buffering capacity (or alkalinity) of sea-salt ! aerosols is equal to 0.07 equivalents per kg dry sea salt emitted ! Gurciullo et al., 1999. JGR 104(D17) 21,719-21,731. ! tdf !---------------------------------------------------------------------- EQ1 = ALK1 * 0.07e+0_fp EQ2 = ALK2 * 0.07e+0_fp !---------------------------------------------------------------------- ! NOTE: This was a sensitivity simulation, keep for future reference ! cf Alexander et al 2005 (bec, bmy, 4/13/05) !! Total available alkalinity [eq] doubled for Sievering run !EQ1 = ALK1 * 0.14e+0_fp !EQ2 = ALK2 * 0.14e+0_fp !---------------------------------------------------------------------- IF ( TOT_FLUX_A > EQ1 ) THEN ! Fraction of alkalinity available for each acid FALK_A_SO2 = C_FLUX_A / TOT_FLUX_A FALK_A_HNO3 = N_FLUX_A / TOT_FLUX_A FALK_A_HCl = L_FLUX_A / TOT_FLUX_A FALK_A_SO2 = MAX( FALK_A_SO2, MINDAT ) FALK_A_HNO3 = MAX( FALK_A_HNO3, MINDAT ) FALK_A_HCl = MAX( FALK_A_HCl, MINDAT ) ELSE FALK_A_SO2 = 1.0e+0_fp FALK_A_HNO3 = 1.0e+0_fp FALK_A_HCl = 1.0e+0_fp ENDIF IF ( TOT_FLUX_C > EQ2 ) THEN ! Fraction of flkalinity available for each acid FALK_C_SO2 = C_FLUX_C/TOT_FLUX_C FALK_C_HNO3 = N_FLUX_C/TOT_FLUX_C FALK_C_HCl = L_FLUX_C/TOT_FLUX_C FALK_C_SO2 = MAX( FALK_C_SO2, MINDAT ) FALK_C_HNO3 = MAX( FALK_C_HNO3, MINDAT ) FALK_C_HCl = MAX( FALK_C_HCl, MINDAT ) ELSE FALK_C_SO2 = 1.0e+0_fp FALK_C_HNO3 = 1.0e+0_fp FALK_C_HCl = 1.0e+0_fp ENDIF ! Alkalinity available for S(IV) --> S(VI) EQ_1_C = EQ1 * FALK_A_SO2 EQ_1_C = MAX( EQ_1_C, MINDAT ) EQ_1_N = EQ1 * FALK_A_HNO3 EQ_1_N = MAX( EQ_1_N, MINDAT ) EQ_1_L = EQ1 * FALK_A_HCl EQ_1_L = MAX( EQ_1_L, MINDAT ) EQ_2_C = EQ2 * FALK_C_SO2 EQ_2_C = MAX( EQ_2_C, MINDAT ) EQ_2_N = EQ2 * FALK_C_HNO3 EQ_2_N = MAX( EQ_2_N, MINDAT ) EQ_2_L = EQ2 * FALK_C_HCl EQ_2_L = MAX( EQ_2_L, MINDAT ) !----------------- ! Fine Seasalt !----------------- ! don't produce more SO4 than available ALK or SO2 SO4E = MIN( C_FLUX_A, EQ_1_C, SO2_eq ) SO4E = MAX( SO4E, MINDAT ) ! Update SO2 concentration [eq/box] SO2_new = SO2_eq - SO4E SO2_new = MAX( SO2_new, MINDAT ) !----------------- ! Coarse Seasalt !----------------- IF ( SO2_new > MINDAT ) THEN ! don't produce more SO4 than available ALK or SO2 SO4F = MIN( C_FLUX_C, SO2_new, EQ_2_C ) SO4F = MAX( SO4F, MINDAT ) !Update SO2 concentration [eq] SO2_chem = SO2_new - SO4F SO2_chem = MAX( SO2_chem, MINDAT ) ELSE SO4F = MINDAT SO2_chem = MINDAT ENDIF ! Alkalinity titrated by S(IV) --> S(VI) [eq] TITR_SO2 = SO4E + SO4F ! Modified SO2 [eq] converted back to [v/v] ! Remove species molecular weights from equation (bmy, 2/10/17) SO2_ss = ( SO2_chem * AIRMW / AD(I,J,L) ) / 2000.0_fp SO2_ss = MAX( SO2_ss, MINDAT ) ! SO4E produced converted from [eq/timestep] to [v/v/timestep] ! Remove species molecular weights from equation (bmy, 2/10/17) PSO4E = ( SO4E * AIRMW / AD(I,J,L) ) / 2000.0_fp ! SO4F produced converted from [eq/timestep] to [v/v/timestep] ! Remove species molecular weights from equation (bmy, 2/10/17) ! ! NOTE: This new equation will correct the prior 3X overestimate ! caused by switching the MW of SO4S from 96 to 31.4 (bmy, 2/10/17) PSO4F = ( SO4F * AIRMW / AD(I,J,L) ) / 2000.0_fp ! Alkalinity titrated by HNO3 HNO3_SSA = MIN(N_FLUX_A, HNO3_EQ, EQ_1_N) HNO3_SSA = MAX(HNO3_SSA, MINDAT) HNO3_EQ_C = HNO3_EQ - HNO3_SSA HNO3_EQ_C = MAX(HNO3_EQ_C, MINDAT) HNO3_SSC = MIN(N_FLUX_C, HNO3_EQ_C, EQ_2_N) HNO3_SSC = MAX(HNO3_SSC, MINDAT) TITR_HNO3 = HNO3_SSA + HNO3_SSC ! Alkalinity titrated by HCl HCl_SSA = MIN(L_FLUX_A, HCl_EQ, EQ_1_L) HCl_SSA = MAX(HCl_SSA, MINDAT) HCl_EQ_C = HCl_EQ - HCl_SSA HCl_EQ_C = MAX(HCl_EQ_C, MINDAT) HCl_SSC = MIN(L_FLUX_C, HCl_EQ_C, EQ_2_L) HCl_SSC = MAX(HCl_SSC, MINDAT) TITR_HCl = HCl_SSA + HCl_SSC ! HNO3 lost [eq/timestep] converted back to [v/v/timestep] IF ( id_HNO3 > 0 ) THEN ! Fullchem simulations: Get HNO3 from the species array ! Remove species molecular weights from equation (bmy, 2/10/17) !HNO3_ss = ( HNO3_SSC * AIRMW / AD(I,J,L) ) / 1000.0_fp ! Should remvoe HNO3 by both SALA and SALC (xnw, 12/8/17) HNO3_ss = ( TITR_HNO3 * AIRMW / AD(I,J,L) ) / 1000.0_fp If (FullRun) Then ! Store back into the species array Spc(id_HNO3)%Conc(I,J,L) = MAX( HNO3_vv - HNO3_ss, MINDAT ) End If ELSE ! Aerosol-only simulations: Use TITR_HNO3 ! Remove species molecular weight from equation (bmy, 2/10/17) HNO3_ss = ( TITR_HNO3 * AIRMW / AD(I,J,L) ) / 1000.0_fp ENDIF ! HCl lost [eq/timestep] converted back to [v/v/timestep] IF ( FullRun .and. id_HCl > 0 ) THEN HCl_ss = ( TITR_HCl * AIRMW / AD(I,J,L) ) / 1000.0_fp Spc(id_HCl)%Conc(I,J,L) = MAX( HCl_vv - HCl_ss, MINDAT ) ENDIF !================================================================= ! HISTORY (aka netCDF diagnostics) ! ! Loss of HNO3 on sea salt [kg/s] !================================================================= IF ( FullRun .and. State_Diag%Archive_LossHNO3onSeaSalt ) THEN State_Diag%LossHNO3onSeaSalt(I,J,L) = & ( HNO3_ss * State_Met%AD(I,J,L) / TCVV_N ) / DTCHEM ENDIF ! NITS produced converted from [eq/timestep] to [v/v/timestep] ! Remove species molecular weight from equation (bmy, 2/10/17) ! ! NOTE: This new equation will correct the prior 2X overestimate ! caused by switching the MW of NITs from 62 to 31.4 (bmy, 2/10/17) PNITs(I,J,L) = ( HNO3_SSC * AIRMW / AD(I,J,L) ) / 1000.0_fp !Add NIT and Cl productions, xnw 12/8/17 PNIT(I,J,L) = ( HNO3_SSA * AIRMW / AD(I,J,L) ) / 1000.0_fp PACL(I,J,L) = ( HCl_SSA * AIRMW / AD(I,J,L) ) / 1000.0_fp PCCL(I,J,L) = ( HCl_SSC * AIRMW / AD(I,J,L) ) / 1000.0_fp ! Modified accum alkalinity ALKA = EQ1 - (SO4E + HNO3_SSA + HCl_SSA) !ALKA = MAX( ALKA, MINDAT ) !------------------------------------------------------------------------ ! Uncomment this if you want to transport alkalinity (bec, bmy, 4/13/05) ![eq] --> [kg] --> [v/v] use this only if transporting alkalinity ALKA = (ALKA * ( AIRMW / MW_SAL1) ) / ( 7.0d-2 * AD(I,J,L) ) !ALKA = MAX( ALKAvv, MINDAT ) IF (ALKA .LE. MINDAT) ALKA = 0.e+0_fp !------------------------------------------------------------------------ ! Modified accum alkalinity ALKC = EQ2 - (SO4F + HNO3_SSC + HCl_SSC) !ALKC = MAX( ALKC, MINDAT ) !------------------------------------------------------------------------ ! Uncomment this if you want to transport alkalinity (bec, bmy, 4/13/05) !! [eq] --> [kg] --> [v/v] use this only if transporting alkalinity ALKC = (ALKC * ( AIRMW / MW_SAL2 ))/(7.0d-2 * AD(I,J,L)) !ALKC = MAX(ALKCvv, MINDAT) IF (ALKC .LE. MINDAT) ALKC = 0.e+0_fp !------------------------------------------------------------------------ ! Free pointers Spc => NULL() AD => NULL() AIRVOL => NULL() END SUBROUTINE SEASALT_CHEM !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: dust_chem ! ! !DESCRIPTION: Subroutine DUST\_CHEM computes SO4 formed from S(IV) + O3 on ! dust aerosols as a function of dust alkalinity (tdf 3/28/2K8) ! Based on routine SEASALT\_CHEM (bec, bmy, 4/13/05, 10/25/05) !\\ !\\ ! !INTERFACE: ! SUBROUTINE DUST_CHEM( I, J, L, & ALK, SO2_cd, H2SO4_cd, & KTS, KTN, KTH, & SO2_gas, H2SO4_gas, PSO4d, & PH2SO4d, PNITd, ALKA, & Input_Opt, State_Met, State_Chm, RC ) ! ! !USES: ! USE CMN_SIZE_Mod, ONLY : NDSTBIN USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_TS_CHEM USE TIME_MOD, ONLY : GET_MONTH USE TIME_MOD, ONLY : ITS_A_NEW_MONTH ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I, J, L ! Grid box indices REAL(fp), INTENT(IN) :: SO2_cd ! SO2 mixing ratio after ! gas phase chemistry and ! dry deposition [v/v] REAL(fp), INTENT(IN) :: H2SO4_cd ! H2SO4 mixing ratio after ! gas phase chemistry and ! dry deposition [v/v] REAL(fp), INTENT(IN) :: ALK(NDSTBIN) ! Dust Alkalinity [v/v] REAL(fp), INTENT(IN) :: KTS(NDSTBIN) ! Rate constant for uptake ! of SO2 on dust [s-1] REAL(fp), INTENT(IN) :: KTN(NDSTBIN) ! Rate constant for uptake ! of HNO3 on dust [s-1] REAL(fp), INTENT(IN) :: KTH(NDSTBIN) ! Size- and area-weighted ! FRACTION for uptake of ! H2SO4 on dust TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: SO2_gas ! SO2 mixing ratio after ! dust chem [v/v] REAL(fp), INTENT(OUT) :: PSO4d(NDSTBIN) ! Sulfate produced by ! S(IV)+O3 on dust in ! each size bin REAL(fp), INTENT(OUT) :: H2SO4_gas ! H2SO4 mixing ratio ! after dust chem [v/v] REAL(fp), INTENT(OUT) :: PNITd (NDSTBIN) ! Nitrate produced by ! HNO3 uptake on dust ! in each size bin REAL(fp), INTENT(OUT) :: PH2SO4d(NDSTBIN)! Sulfate produced by ! uptake of H2SO4 on ! dust in each size bin REAL(fp), INTENT(OUT) :: ALKA(NDSTBIN) ! Dust Alkalinity after ! dust chemistry [v/v] INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! Chemical reactions: ! ============================================================================ ! (R1) SO2 + O3 + CaCO3 => CaSO4 + O2 + CO2 ! . ! (R2) 2(HNO3) + CaCO3 => Ca(NO3)2 + CO2 + H2O ! . ! Added sulfate production due to H2SO4 adsorption tdf 2/13/2K9 ! (R3) H2SO4 + CaCO3 => CaSO4 + H2O + CO2 ! ! !REVISION HISTORY: ! 28 Mar 2008 - T.D. Fairlie- Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! REAL(fp), PARAMETER :: MINDAT = 1.0e-20_fp ! ! !LOCAL VARIABLES: ! LOGICAL :: IT_IS_A_FULLCHEM_SIM INTEGER :: IBIN REAL(fp) :: EQ1 REAL(fp) :: HNO3_gas REAL(fp) :: T_SO2, T_HNO3, T_H2SO4, KT1 REAL(fp) :: RH2 REAL(fp) :: SO2_chem, DTCHEM REAL(fp) :: SO2_eq, SO2_new, SO4d REAL(fp) :: H2SO4_eq, H2SO4_new REAL(fp) :: HNO3_eq, HNO3_vv, HNO3_new REAL(fp) :: HNO3_kg, HNO3d REAL(fp) :: F_SO2_A, F_SO2_T, F_SO2 REAL(fp) :: S_FLUX_A, S_FLUX_T, S_FLUX(NDSTBIN) REAL(fp) :: F_H2SO4_A, F_H2SO4_T, F_H2SO4 REAL(fp) :: H_FLUX_A, H_FLUX_T, H_FLUX(NDSTBIN) REAL(fp) :: F_HNO3_A, F_HNO3_T, F_HNO3 REAL(fp) :: N_FLUX_A, N_FLUX_T, N_FLUX(NDSTBIN) REAL(fp) :: T_FLUX_A, TOT_FLUX(NDSTBIN) REAL(fp) :: FALK_SO2, FALK_HNO3, FALK_H2SO4 REAL(fp) :: ALK_EQ_S (NDSTBIN), ALK_EQ_N (NDSTBIN) REAL(fp) :: ALK_EQ_H (NDSTBIN), TITR_H2SO4(NDSTBIN) REAL(fp) :: TITR_SO2 (NDSTBIN), TITR_HNO3(NDSTBIN) REAL(fp) :: ALK1_vv, ALK1_kg, ALK1_eq REAL(fp) :: ALKA_vv, ALKA_kg, ALKA_eq REAL(fp) :: END_ALK, L5A, L6A, L7A REAL(fp) :: EQ_BEG, MW_SO2, MW_SO4 REAL(fp) :: MW_NIT, MW_HNO3 ! Pointers TYPE(SpcConc), POINTER :: Spc(:) REAL(fp), POINTER :: AD(:,:,:) REAL(fp), POINTER :: AIRVOL(:,:,:) !================================================================= ! DUST_CHEM begins here! !================================================================= ! Assume success RC = GC_SUCCESS IT_IS_A_FULLCHEM_SIM = Input_Opt%ITS_A_FULLCHEM_SIM ! Set pointers Spc => State_Chm%Species ! Chemical species [kg] AD => State_Met%AD AIRVOL => State_Met%AIRVOL ! Set molecular weights locally MW_SO2 = State_Chm%SpcData(id_SO2)%Info%MW_g MW_SO4 = State_Chm%SpcData(id_SO4)%Info%MW_g MW_NIT = State_Chm%SpcData(id_NIT)%Info%MW_g MW_HNO3 = State_Chm%SpcData(id_HNO3)%Info%MW_g ! DTCHEM is the chemistry timestep in seconds DTCHEM = GET_TS_CHEM() ! Convert SO2 [v/v] to [eq/gridbox] !tdf Equivalence defined as moles of a substance * its valence !tdf Note 0.064D0 is Mw of SO2 in kg ! Hence, SO2_eq = 2 * moles(SO2) / gridbox SO2_eq = ( 2.e+0_fp * SO2_cd * AD(I,J,L) ) / & ( ( AIRMW / MW_SO2 ) * 0.064e+0_fp ) SO2_eq = MAX( SO2_eq, MINDAT ) !tdf 2/13/2K9 ! Convert H2SO4 [v/v] to [eq/gridbox] ! Note: H2SO4_cd [v/v] provided by H2SO4 production * DTCHEM !tdf Equivalence defined as moles of a substance * its valence !tdf Note 0.098D0 is Mw of H2SO4 in kg ! Hence, H2SO4_eq = 2 * moles(H2SO4) / gridbox H2SO4_eq = ( 2.e+0_fp * H2SO4_cd * AD(I,J,L) ) & / ( AIRMW / 98.e+0_fp ) / 98.e-3_fp H2SO4_eq = MAX( H2SO4_eq, MINDAT ) !tdf 2/13/2K9 ! HNO3 mixing ratio IF ( IT_IS_A_FULLCHEM_SIM ) THEN ! Convert HNO3 [v/v] to [equivalents] !tdf Note 28.97/63.0 = Mw(air)/Mw(HNO3) ! Hence, HNO3_eq = 1. * moles(HNO3) / gridbox HNO3_vv = Spc(id_HNO3)%Conc(I,J,L) HNO3_eq = HNO3_vv * AD(I,J,L) / ( AIRMW / 63.e+0_fp ) / 63.e-3_fp ELSE ! HNO3 is in v/v (from HEMCO) HNO3_vv = GLOBAL_HNO3(I,J,L) ! Convert HNO3 [v/v] to [equivalents] HNO3_eq = HNO3_vv * AD(I,J,L) / ( AIRMW / 63e+0_fp ) / 63.e-3_fp ENDIF !-------------------------------------------------------- ! Compute Available SO2 fluxes to dust, S_FLUX (NDSTBIN) !-------------------------------------------------------- S_FLUX_T = 0.0e+0_fp F_SO2_T = 0.0e+0_fp RH2 = State_Met%RH(I,J,L) * 1.0e-2_fp DO IBIN = 1, NDSTBIN KT1 = 0.e+0_fp ! Choose a threshold of 18% RH for SO2 uptake flux tdf 4/22/08 IF ( RH2 >= 0.18e+0_fp ) THEN KT1 = KTS(IBIN) ENDIF ! Available flux of SO2 to dust aerosols [v/v/timestep] L5A = EXP( -KT1 * DTCHEM ) F_SO2_A = SO2_cd * ( 1.e+0_fp - L5A ) F_SO2_A = MAX( F_SO2_A, 1.e-32_fp ) ! Available flux of SO2 converted to [eq/timestep] S_FLUX_A = 2.e+0_fp * F_SO2_A * AD(I,J,L) / & ( AIRMW / MW_SO2 ) / 0.064e+0_fp S_FLUX (IBIN) = S_FLUX_A ! Total available flux of SO2 [v/v/timestep] F_SO2_T = F_SO2_T + F_SO2_A ! Total available flux of SO2 [eq/timestep] S_FLUX_T = S_FLUX_T + S_FLUX_A END DO !-------------------------------------------------------- ! Compute Available H2SO4 fluxes to dust, H_FLUX (NDSTBIN) ! tdf 2/13/2K9 !-------------------------------------------------------- H_FLUX_T = 0.0e+0_fp F_H2SO4_T = 0.0e+0_fp DO IBIN = 1, NDSTBIN ! Supplied uptake rates, KTH, for H2SO4 uptake tdf 2/13/2K9 ! Now KTH is a fraction, so the flux is H2SO4_cd * KTH(IBIN) !tdf 08/20/09 KT1 = KTH(IBIN) ! Available flux of H2SO4 to dust aerosols [v/v/timestep] !tdf L7A = EXP( -KT1 * DTCHEM ) !tdf F_H2SO4_A = H2SO4_cd * ( 1.e+0_fp - L7A ) F_H2SO4_A = H2SO4_cd * KT1 F_H2SO4_A = MAX( F_H2SO4_A, 1.e-32_fp ) ! Available flux of H2SO4 converted to [eq/timestep] H_FLUX_A = 2.e+0_fp * F_H2SO4_A * AD(I,J,L) & / ( AIRMW / 98.e+0_fp ) / 0.098e+0_fp H_FLUX (IBIN) = H_FLUX_A ! Total available flux of H2SO4 [v/v/timestep] F_H2SO4_T = F_H2SO4_T + F_H2SO4_A ! Total available flux of H2SO4 [eq/timestep] H_FLUX_T = H_FLUX_T + H_FLUX_A END DO !-------------------------------------------------------- ! Compute Available HNO3 fluxes to dust, N_FLUX (NDSTBIN) !-------------------------------------------------------- F_HNO3_T = 0.0e+0_fp N_FLUX_T = 0.0e+0_fp DO IBIN = 1, NDSTBIN ! Available flux of HNO3 to dust aerosols [v/v/timestep] L6A = EXP( - KTN(IBIN) * DTCHEM ) F_HNO3_A = HNO3_vv * ( 1.e+0_fp - L6A ) F_HNO3_A = MAX( F_HNO3_A, 1.0e-32_fp ) ! Available flux of HNO3 converted to [eq/timestep] N_FLUX_A = F_HNO3_A * AD(I,J,L) / ( AIRMW / 63.e+0_fp ) / 0.063e+0_fp N_FLUX (IBIN) = N_FLUX_A !tdf 3/28/2K8 ! Accumulate Total available flux of HNO3 F_HNO3_T = F_HNO3_T + F_HNO3_A ![v/v/timestep] N_FLUX_T = N_FLUX_T + N_FLUX_A ![eq/timestep] END DO !------------------------------------------ ! Compute Total Available Acid Flux to dust !------------------------------------------ DO IBIN = 1, NDSTBIN ! Total acid flux to DUST aerosols [eq/box/timestep] by size bin !tdf T_FLUX_A = S_FLUX (IBIN) + N_FLUX (IBIN) !tdf Include sulfuric acid flux tdf 2/13/2K9 T_FLUX_A = S_FLUX (IBIN) + N_FLUX (IBIN) + H_FLUX (IBIN) T_FLUX_A = MAX( T_FLUX_A, MINDAT ) ! Total acid flux to DUST aerosols TOT_FLUX (IBIN) = T_FLUX_A END DO !------------------------------------- ! Find Total Available Alkalinity [eq] !------------------------------------- DO IBIN = 1, NDSTBIN ALK1_vv = ALK (IBIN) !tdf 04/08/08 ! Convert dust alkalinity from vv to eq., using Mw(Ca) for ! Mw (alkalinity). Recall, Equvalents = moles * valency ! In this case, we have taken the valency of alkalinity as 2. ! Units of ALK1_eq (below) work out to be moles * 2. ALK1_eq = 2.e+0_fp * ALK1_vv * AD(I,J,L) & / ( AIRMW / 40.e+0_fp ) / 40.e-3_fp ! total acid flux available; exclude flux from H2SO4, since it is ! not limited by dust alkalinity ! tdf 3/02/2K9 T_FLUX_A = S_FLUX (IBIN) + N_FLUX (IBIN) T_FLUX_A = MAX ( T_FLUX_A, MINDAT ) ! if the total acid flux available exceeds the available alkalinity ! then compute the fraction of the available alkalinity for each acid IF ( T_FLUX_A > ALK1_eq ) THEN S_FLUX_A = S_FLUX (IBIN) N_FLUX_A = N_FLUX (IBIN) ! Fraction of alkalinity available for each acid FALK_SO2 = S_FLUX_A / T_FLUX_A FALK_SO2 = MAX( FALK_SO2, MINDAT ) FALK_HNO3 = N_FLUX_A / T_FLUX_A FALK_HNO3 = MAX( FALK_HNO3, MINDAT ) ELSE ! Fraction of alkalinity available for each acid FALK_SO2 = 1.0e+0_fp FALK_HNO3 = 1.0e+0_fp ENDIF !tdf Add sulfuric acid flux (not limited by alkalinity) tdf 2/13/2K9 FALK_H2SO4 = 1.0e+0_fp ! Alkalinity available for S(IV) --> S(VI) EQ1 = ALK1_eq * FALK_SO2 EQ1 = MAX( EQ1, MINDAT ) ALK_EQ_S (IBIN) = EQ1 ! Alkalinity available for HNO3 update tdf 04/07/08 EQ1 = ALK1_eq * FALK_HNO3 EQ1 = MAX( EQ1, MINDAT ) ALK_EQ_N (IBIN) = EQ1 ! H2SO4 not limited by dust alkalinity tdf 3/02/2K9 END DO !------------------- ! Sulfate production !------------------- SO2_new = SO2_eq ! Don't produce more SO4 than available ALK or SO2 DO IBIN = 1, NDSTBIN S_FLUX_A = S_FLUX (IBIN) EQ1 = ALK_EQ_S (IBIN) SO4d = MIN( S_FLUX_A, EQ1, SO2_new ) SO4d = MAX( SO4d, MINDAT ) ! Update SO2 concentration [eq/box] SO2_new = SO2_new - SO4d SO2_new = MAX( SO2_new, MINDAT ) ! Alkalinity titrated by S(IV) --> S(VI) [eq] TITR_SO2 (IBIN) = SO4d !SO4d produced converted from [eq/timestep] to [v/v/timestep] PSO4d (IBIN) = SO4d * 0.096e+0_fp * ( AIRMW / MW_SO4 ) / & AD(I,J,L) / 2.0e+0_fp ! tdf !if (I .eq. 1 .and. J .eq. 63 .and. L .eq. 6) then ! print *,' CHEM_SO4: SO4 production, SO2' ! write (6,30) IBIN, KTS(IBIN) ! print *,' IBIN,EQ1,S_FLUX_A,SO2_new,SO4d,PSO4d(IBIN)' ! write (6,31) IBIN,EQ1,S_FLUX_A,SO2_new,SO4d,PSO4d(IBIN) !30 format (' IBIN, KTS(IBIN) ',I4,E12.3) !31 format (' ',I4,5E12.3) !endif END DO !Modified SO2 [eq] converted back to [v/v] SO2_gas = SO2_new * 0.064e+0_fp * ( AIRMW / MW_SO2 ) / & AD(I,J,L) / 2.0e+0_fp SO2_gas = MAX( SO2_gas, MINDAT ) !------------------------------------------------ ! Additional sulfate production from H2SO4 uptake !------------------------------------------------ H2SO4_new = H2SO4_eq ! Don't produce more SO4 than available H2SO4 ! Uptake not limited by alkalinity DO IBIN = 1, NDSTBIN H_FLUX_A = H_FLUX (IBIN) ! H2SO4 uptake not limited by dust alkalinity, EQ1 SO4d = MIN( H_FLUX_A, H2SO4_new ) SO4d = MAX( SO4d, MINDAT ) ! Update H2SO4 concentration [eq/box] H2SO4_new = H2SO4_new - SO4d H2SO4_new = MAX( H2SO4_new, MINDAT ) ! Alkalinity titrated by H2SO4 uptake [eq] TITR_H2SO4 (IBIN) = SO4d !SO4d produced converted from [eq/timestep] to [v/v/timestep] PH2SO4d (IBIN) = SO4d * 0.096e+0_fp * ( AIRMW / MW_SO4 ) / & AD(I,J,L) / 2.0e+0_fp ! tdf !if (I .eq. 1 .and. J .eq. 63 .and. L .eq. 6) then ! print *,' CHEM_SO4: SO4 production, H2SO4' ! write (6,40) IBIN, KTH(IBIN) ! print *,' IBIN,H_FLUX_A,H2SO4_new,SO4d,PH2SO4d(IBIN)' ! write (6,41) IBIN,H_FLUX_A,H2SO4_new,SO4d,PH2SO4d(IBIN) !40 format (' IBIN, KTH(IBIN) ',I4,E12.3) !41 format (' ',I4,4E12.3) !endif END DO !Modified H2SO4 [eq] converted back to [v/v] H2SO4_gas = H2SO4_new * 0.098e+0_fp * ( AIRMW & / 98.e+0_fp ) / AD(I,J,L) / 2.0e+0_fp ! Hard-coded MW H2SO4_gas = MAX( H2SO4_gas, MINDAT ) !------------------- ! Nitrate production !------------------- HNO3_new = HNO3_eq ! Alkalinity titrated by HNO3 in dust DO IBIN = 1, NDSTBIN N_FLUX_A = N_FLUX (IBIN) EQ1 = ALK_EQ_N (IBIN) HNO3d = MIN( N_FLUX_A, EQ1, HNO3_new ) HNO3d = MAX( HNO3d, MINDAT ) ! Update HNO3 concentration [eq/box] HNO3_new = HNO3_new - HNO3d HNO3_new = MAX( HNO3_new, MINDAT ) ! Alkalinity titrated by HNO3 [eq] TITR_HNO3 (IBIN) = HNO3d ! NIT produced converted from [eq/timestep] to [v/v/timestep] PNITd (IBIN) = HNO3d * 0.063e+0_fp * ( AIRMW / MW_NIT ) / AD(I,J,L) ! tdf !if (I .eq. 1 .and. J .eq. 63 .and. L .eq. 6) then ! print *,' CHEM_SO4: NIT production, HNO3' ! write (6,50) IBIN, KTN(IBIN) ! print *,' IBIN,EQ1,N_FLUX_A,HNO3_new,HNO3d,PNITd(IBIN)' ! write (6,51) IBIN,EQ1,N_FLUX_A,HNO3_new,HNO3d,PNITd(IBIN) !50 format (' IBIN, KTN(IBIN) ',I4,E12.3) !51 format (' ',I4,5E12.3) !endif END DO !Modified HNO3 [eq/timestep] converted back to [v/v/timestep] HNO3_gas = HNO3_new * 0.063e+0_fp * ( AIRMW / MW_HNO3 ) / AD(I,J,L) HNO3_gas = MAX( HNO3_gas, MINDAT ) ! HNO3 [v/v] IF ( id_HNO3 > 0 ) THEN Spc(id_HNO3)%Conc(I,J,L) = MAX( HNO3_gas, MINDAT ) ENDIF DO IBIN = 1, NDSTBIN ALK1_vv = ALK (IBIN) ALK1_eq = 2.e+0_fp * ALK1_vv * AD(I,J,L) & / ( AIRMW / 40.e+0_fp ) / 40.e-3_fp ! Hard-coded MW T_SO2 = TITR_SO2 (IBIN) T_HNO3 = TITR_HNO3 (IBIN) !tdf Include alkalinity titrated by sulfuric acid flux 2/13/2K9 T_H2SO4 = TITR_H2SO4 (IBIN) ! tdf ! if (I .eq. 1 .and. J .eq. 63 .and. L .eq. 6) then ! print *,' CHEM_DUST: Titrate Alkalinity' ! print *,' IBIN, ALK1_eq, T_SO2, T_HNO3, T_H2SO4' ! write (6,61) IBIN,ALK1_eq,T_SO2,T_HNO3,T_H2SO4 !61 format (' ',I4,4E12.3) !endif ! Titrate DUST alkalinity [eq] ALKA_eq = ALK1_eq - ( T_SO2 + T_HNO3 + T_H2SO4 ) ALKA_eq = MAX( ALKA_eq, MINDAT ) ! Note: Although we don't let the alkalinity go negative, ! the uptake of H2SO4 can continue when the alkalinity is ! fully titrated. ! tdf 3/02/2K9 ! Return remaining DUST Alkalinity [v/v] ALKA_vv = ALKA_eq / AD(I,J,L) * ( AIRMW / 40.e+0_fp ) * & 40e-3_fp / 2.e+0_fp ! Hard-coded MW ALKA (IBIN) = ALKA_vv END DO ! Update dust alkalinity ! NB Hardwired for 4 size bins tdf 04/08/08 ! Update to 7 dust bins (D. Zhang, 5 Mar 2025) Spc(id_DALbin1)%Conc(I,J,L) = MAX( ALKA(1), MINDAT ) Spc(id_DALbin2)%Conc(I,J,L) = MAX( ALKA(2), MINDAT ) Spc(id_DALbin3)%Conc(I,J,L) = MAX( ALKA(3), MINDAT ) Spc(id_DALbin4)%Conc(I,J,L) = MAX( ALKA(4), MINDAT ) Spc(id_DALbin5)%Conc(I,J,L) = MAX( ALKA(5), MINDAT ) Spc(id_DALbin6)%Conc(I,J,L) = MAX( ALKA(6), MINDAT ) Spc(id_DALbin7)%Conc(I,J,L) = MAX( ALKA(7), MINDAT ) ! Free pointers Spc => NULL() AD => NULL() AIRVOL => NULL() END SUBROUTINE DUST_CHEM !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: get_hplus ! ! !DESCRIPTION: Subroutine GET\_HPLUS computes H+ concentrations in cloud ! liquid water for pH dependent cloud chemistry. (bec, 4/11/11) !\\ !\\ ! !INTERFACE: ! SUBROUTINE GET_HPLUS( SO4nss, HMsc, TNH3, TNO3, SO2, CL, TNA, TDCA, TFA, & TAA, T, PRES, LWC, iHPLUS, HPLUS ) ! ! !USES: ! USE ERROR_MOD, ONLY : IT_IS_NAN, GEOS_CHEM_STOP ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: SO4nss ! Total nss sulfate mixing ratio [M] REAL(fp), INTENT(IN) :: HMSc ! Total HMS mixing ratio [M] REAL(fp), INTENT(IN) :: TNO3 ! Total nitrate (gas+particulate) mixing ! ratio [v/v] REAL(fp), INTENT(IN) :: TNH3 ! NH3 mixing ratio [v/v] REAL(fp), INTENT(IN) :: SO2 ! SO2 mixing ratio [v/v] REAL(fp), INTENT(IN) :: CL ! Total chloride (gas+particulate) mixing REAL(fp), INTENT(IN) :: TNA ! Sodium (particulate) [v/v] REAL(fp), INTENT(IN) :: TDCA ! Total Ca2+ and Mg2+ mixing ratio [M] ! jmm 12/3/18 REAL(fp), INTENT(IN) :: TAA ! Acetic acid mixing ratio [v/v] ! jmm 12/3/18 REAL(fp), INTENT(IN) :: TFA ! Formic acid mixing ratio [v/v] ! jmm 12/3/18 REAL(fp), INTENT(IN) :: T ! Temperature [K] REAL(fp), INTENT(IN) :: PRES ! Dry air partial ressure [atm] REAL(fp), INTENT(IN) :: LWC ! Cloud liquid water content [m3/m3] REAL(fp), INTENT(IN) :: iHPLUS ! Initial [H+] [M] ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: HPLUS ! Calculated [H+] [M] ! !REMARKS: ! Calculation: ! ============================================================================ ! Solve the following electroneutrality equation: ! [H+] = 2[SO4--] + [Cl-] + [OH-] + [HCO3-] + 2[CO3--] + [HSO3-] + 2[SO3--] +! ! [NO3-] + [HCOO-] + [CH3COO-] +[HMS] - [Na] - 2[Ca] - [NH4] ! Uses Newton's method to solve the equation: ! x_1 = x_0 -f(x_0)/f'(x_0) ! iterate until converge ! ! Let concentrations of [HCO3], [CO3], [HSO3], [SO3], [NO3] and [NH4] evolve ! according to Henry's law equilibrium. ! ! To add new species: ! - Add species not affected by HPLUS to the "D' term ! - Add species that disassociate once using the kHNO3 and dkHNO3 ! functions ! as a template ! - Add species that disassociate twice using the kSO21 and dkSO21 ! functions ! as a template for the single charged ion and kSO22 and dkSO22 ! functions for ! the double charged ion ! Assume [S(VI)] = [SO4]nss (this applies for pH > 3) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! Water dissociation constants REAL(fp), PARAMETER :: Kw = 1.0e-14_fp REAL(fp), PARAMETER :: DhrKw = -6710.e+0_fp REAL(fp), PARAMETER :: MINVAL = 0.01 ! ! !LOCAL VARIABLES: ! REAL(fp) :: D, Kw_T, ipH, newpH, nHPLUS REAL(fp) :: fHCO3, fCO3 REAL(fp) :: fHSO3, fSO3 REAL(fp) :: fHNO3, fNH4, fHCl REAL(fp) :: dHCO3, dCO3 REAL(fp) :: dHSO3, dSO3 REAL(fp) :: dHNO3, dNH4, dHCl REAL(fp) :: fAA, fFA, dAA, dFA REAL(fp) :: f, df, nnHPLUS, fCa, dCa INTEGER :: count !================================================================= ! GET_HPLUS begins here! !================================================================= ! Initial pH guess ipH = -log10(iHPLUS) ! Non-volatile aerosol concentration [M] ! For now sulfate is the only non-volatile species #ifdef LUO_WETDEP D = ( 1.5_fp * SO4nss ) - TNA - ( 2.0_fp * TDCA ) + HMSc #else D = ( 2.0_fp * SO4nss ) - TNA - ( 2.0_fp * TDCA ) + HMSc #endif ! Temperature dependent water equilibrium constant Kw_T = Kw*exp(DhrKw*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) ! Initialize newpH = 0.0 COUNT = 0 DO WHILE ( ABS(ipH-newpH) .gt. MINVAL ) COUNT = COUNT+1 IF ( COUNT .EQ. 1 ) THEN ipH = ipH ELSE ipH = newpH ENDIF nHPLUS = 10.e+0_fp**(-ipH) ! Get f(x) terms fHCO3 = kCO21 ( PRES, T, LWC, nHPLUS ) fCO3 = kCO22 ( PRES, T, LWC, nHPLUS ) fHSO3 = kSO21 ( PRES, T, LWC, nHPLUS, SO2 ) fSO3 = kSO22 ( PRES, T, LWC, nHPLUS, SO2 ) fHNO3 = kHNO3 ( PRES, T, LWC, nHPLUS, TNO3 ) fNH4 = kNH3 ( PRES, T, LWC, nHPLUS, TNH3, Kw_T ) ! include HCl in cloud pH calculations, xnw 10/17/17 fHCl = kHCl ( PRES, T, LWC, nHPLUS, CL ) fFA = kFA ( PRES, T, LWC, nHPLUS, TFA ) ! jmm 12/3/18 fAA = kAA ( PRES, T, LWC, nHPLUS, TAA ) ! jmm 12/3/18 ! Get f'(x) terms dHCO3 = dkCO21 ( PRES, T, LWC, nHPLUS ) dCO3 = dkCO22 ( PRES, T, LWC, nHPLUS ) dHSO3 = dkSO21 ( PRES, T, LWC, nHPLUS, SO2 ) dSO3 = dkSO22 ( PRES, T, LWC, nHPLUS, SO2 ) dHNO3 = dkHNO3 ( PRES, T, LWC, nHPLUS, TNO3 ) dNH4 = dkNH3 ( PRES, T, LWC, nHPLUS, TNH3, Kw_T ) dHCl = dkHCl ( PRES, T, LWC, nHPLUS, CL ) dFA = dkFA ( PRES, T, LWC, nHPLUS, TFA ) ! jmm 12/3/18 dAA = dkAA ( PRES, T, LWC, nHPLUS, TAA ) ! jmm 12/3/18 ! Calculate [Ca2+] in equilibrium with CaCO3(s) CALL CaCO3_PRECIP ( PRES, T, nHPLUS, fCa, dCa ) ! if [Ca2+] in equilibrium with CacO3(s) is greater than total [Ca2+] ! then all Ca is dissolved else [Ca2+] varies with [H+] IF ( fCa .ge. TDCA ) THEN ! Non-volatile aerosol concentration [M] #ifdef LUO_WETDEP D = (1.5e+0_fp*SO4nss) - (TNA+2.e+0_fp*TDCA) #else D = (2.e+0_fp*SO4nss) - (TNA+2.e+0_fp*TDCA) #endif ! Define f(x) f = D - nHPLUS + Kw/nHPLUS + fHCO3 + 2.e+0_fp * & fCO3 + fHSO3 + 2.e+0_fp * fSO3 + fHNO3 - fNH4 + & fHCl + fFA + fAA ! Define f'(x) df = - 1.d0 - Kw/nHPLUS/nHPLUS + dHCO3 + 2.e+0_fp * & dCO3 + dHSO3 + 2.e+0_fp * dSO3 + dHNO3 - dNH4 + & dHCl + dFA + dAA ELSE ! Non-volatile aerosol concentration [M] #ifdef LUO_WETDEP D = (1.5e+0_fp * SO4nss) - TNA #else D = (2.e+0_fp * SO4nss) - TNA #endif ! Define f(x) f = D - nHPLUS + Kw/nHPLUS + fHCO3 + 2.e+0_fp * fCO3 + & fHSO3 + 2.e+0_fp * fSO3 + fHNO3 - fNH4 + & fHCl + fFA + fAA - 2.e+0_fp * fCa ! Define f'(x) df = - 1.d0 - Kw/nHPLUS/nHPLUS + dHCO3 + 2.e+0_fp * dCO3 + & dHSO3 + 2.e+0_fp * dSO3 + dHNO3 - dNH4 + & dHCl + dFA + dAA - 2.e+0_fp * dCa ENDIF ! Apply Newton's method nnHPLUS = nHPLUS - f/df ! Set minimum [H+] = 1.d-14 (pH = 14) nnHPLUS = MAX(nnHPLUS,1.0e-14_fp) ! Set maximum [H+] = 1.d-1 (pH = 1) nnHPLUS = MIN(nnHPLUS,1.0e-1_fp) ! If solution does not converge after 50 iterations ! average last 2 pH calculations IF (count > 50) THEN newpH = ((-log10(nnHPLUS)) + (-log10(nHPLUS))) / 2.0e+0_fp IF (IT_IS_NAN( newpH )) THEN write(6,*) 'newpH = ', newpH write(6,*) 'nnHPLUS = ', nnHPLUS write(6,*) 'nHPLUS = ', nHPLUS CALL GEOS_CHEM_STOP ENDIF EXIT ELSE newpH = -log10(nnHPLUS) IF (IT_IS_NAN( newpH )) THEN write(6,*) 'newpH = ', newpH write(6,*) 'nnHPLUS = ', nnHPLUS CALL GEOS_CHEM_STOP ENDIF ENDIF ENDDO HPLUS = 10.0e+0_fp**(-newpH) END SUBROUTINE GET_HPLUS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: kCO21 ! ! !DESCRIPTION: Function kCO21 !\\ !\\ ! !INTERFACE: ! FUNCTION kCO21 ( P, T, LWC, HPLUS ) RESULT ( KCO2p ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: T, P, LWC, HPLUS ! ! !OUTPUT PARAMETERS: ! REAL(fp) :: KCO2p, KCO2p2 ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! CO2 dissociation constants REAL(fp), PARAMETER :: Kc1 = 4.3e-7 REAL(fp), PARAMETER :: Kc2 =4.68e-11 REAL(fp), PARAMETER :: DhrKc1 = -1000. REAL(fp), PARAMETER :: DhrKc2 = -1760. REAL(fp), PARAMETER :: Hco2 = 3.4e-2 REAL(fp), PARAMETER :: Dhco2 = 2.44e+3_fp ! CO2 concentration [v/v] REAL(fp), PARAMETER :: CO2 = 390.0e-6_fp ! ! !LOCAL VARIABLES: ! REAL(fp) :: Hco2_T, Kc1_T, Kc2_T REAL(fp) :: Hco2eff, xCO2, pCO2 !================================================================= ! kCO21 begins here! !================================================================= !CO2 dissolution constants Hco2_T = Hco2*exp(Dhco2*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) Kc1_T = Kc1*exp(DhrKc1*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) Kc2_T = Kc2*exp(DhrKc2*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) !CO2 dissolution Hco2eff = Hco2_T*(1.e+0_fp+(Kc1_T/HPLUS)+((Kc1_T*Kc2_T)/(HPLUS*HPLUS))) xCO2 = 1.e+0_fp / ( 1.e+0_fp + ( Hco2eff * 0.08205e+0_fp * T * LWC ) ) pCO2 = CO2 * P * xCO2 KCO2p = Hco2_T / HPLUS * Kc1_T * pCO2 END FUNCTION kCO21 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: dkCO21 ! ! !DESCRIPTION: Function dkCO21 !\\ !\\ ! !INTERFACE: ! FUNCTION dkCO21 ( P, T, LWC, HPLUS ) RESULT ( KCO2p ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: T, P, LWC, HPLUS ! ! !OUTPUT PARAMETERS: ! REAL(fp) :: KCO2p, KCO2p2 ! ! !REVISION HISTORY: ! 25 Jan 2012 - M. Payer - Added ProTeX headers ! 28 Apr 2015 - E. Lundgren - Input pressure is now dry air partial ! pressure ! 22 Mar 2017 - M. Sulprizio- Dhco2 value is from Table 7.3 of Seinfeld ! and ! Pandis (2006, pp 289) and should be ! positive for ! consistency with the way it is used here. ! Also, ! the value of R, in units of kcal mol-1 ! K-1, is ! 1.986x10^-3, not 0.04. (V. Shah) ! 15 Feb 2019 - J. Moch - updated function to make output ! derivative of [HCO3-] !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! CO2 dissociation constants REAL(fp), PARAMETER :: Kc1 = 4.3e-7 REAL(fp), PARAMETER :: Kc2 =4.68e-11 REAL(fp), PARAMETER :: DhrKc1 = -1000. REAL(fp), PARAMETER :: DhrKc2 = -1760. REAL(fp), PARAMETER :: Hco2 = 3.4e-2 REAL(fp), PARAMETER :: Dhco2 = 2.44e+3_fp ! CO2 concentration [v/v] REAL(fp), PARAMETER :: CO2 = 390.0e-6_fp ! ! !LOCAL VARIABLES: ! REAL(fp) :: Hco2_T, Kc1_T, Kc2_T ! !REMARKS: !================================================================= ! dkCO21 begins here! !================================================================= !CO2 dissolution constants Hco2_T = Hco2*exp(Dhco2*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) Kc1_T = Kc1*exp(DhrKc1*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) Kc2_T = Kc2*exp(DhrKc2*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) !CO2 dissolution KCO2p = Kc1_T * Hco2_T * CO2 * P * ( Kc1_T * Kc2_T * Hco2_T * & 0.08205e+0_fp * T * LWC - Hco2_T * 0.08205e+0_fp * T * & LWC * HPLUS * HPLUS - HPLUS * HPLUS) / (Kc1_T * Kc2_T * & Hco2_T * 0.08205e+0_fp * T * LWC + Kc1_T * Hco2_T * & 0.08205e+0_fp * T * LWC * HPLUS + Hco2_T * 0.08205e+0_fp * & T * LWC * HPLUS * HPLUS + HPLUS * HPLUS)**2 END FUNCTION dkCO21 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: kCO22 ! ! !DESCRIPTION: Function kCO22 !\\ !\\ ! !INTERFACE: ! FUNCTION kCO22 ( P, T, LWC, HPLUS ) RESULT ( KCO2p2 ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: T, P, LWC, HPLUS ! ! !OUTPUT PARAMETERS: ! REAL(fp) :: KCO2p, KCO2p2 ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! CO2 dissociation constants REAL(fp), PARAMETER :: Kc1 = 4.3e-7 REAL(fp), PARAMETER :: Kc2 =4.68e-11 REAL(fp), PARAMETER :: DhrKc1 = -1000. REAL(fp), PARAMETER :: DhrKc2 = -1760. REAL(fp), PARAMETER :: Hco2 = 3.4e-2 REAL(fp), PARAMETER :: Dhco2 = 2.44e+3_fp ! CO2 concentration [v/v] REAL(fp), PARAMETER :: CO2 = 390.0e-6_fp ! ! !LOCAL VARIABLES: ! REAL(fp) :: Hco2_T, Kc1_T, Kc2_T REAL(fp) :: Hco2eff, xCO2, pCO2 !================================================================= ! kCO22 begins here! !================================================================= !CO2 dissolution constants Hco2_T = Hco2*exp(Dhco2*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) Kc1_T = Kc1*exp(DhrKc1*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) Kc2_T = Kc2*exp(DhrKc2*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) !CO2 dissolution Hco2eff = Hco2_T*(1.e+0_fp+(Kc1_T/HPLUS)+((Kc1_T*Kc2_T)/(HPLUS*HPLUS))) xCO2 = 1.e+0_fp / ( 1.e+0_fp + ( Hco2eff * 0.08205e+0_fp * T * LWC ) ) pCO2 = CO2 * P * xCO2 KCO2p2 = Kc1_T * Kc2_T * Hco2_T / HPLUS / HPLUS * pCO2 END FUNCTION kCO22 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: dkCO22 ! ! !DESCRIPTION: Function dkCO22 !\\ !\\ ! !INTERFACE: ! FUNCTION dkCO22 ( P, T, LWC, HPLUS ) RESULT ( KCO2p2 ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: T, P, LWC, HPLUS ! ! !OUTPUT PARAMETERS: ! REAL(fp) :: KCO2p, KCO2p2 ! ! !REVISION HISTORY: ! 25 Jan 2012 - M. Payer - Added ProTeX headers ! 28 Apr 2015 - E. Lundgren - Input pressure is now dry air partial ! pressure ! 22 Mar 2017 - M. Sulprizio- Dhco2 value is from Table 7.3 of Seinfeld ! and ! Pandis (2006, pp 289) and should be ! positive for ! consistency with the way it is used here. ! Also, ! the value of R, in units of kcal mol-1 ! K-1, is ! 1.986x10^-3, not 0.04. (V. Shah) ! 15 Feb 2019 - J. Moch - updated function to make output deriviate ! of [CO3--] !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! CO2 dissociation constants REAL(fp), PARAMETER :: Kc1 = 4.3e-7 REAL(fp), PARAMETER :: Kc2 =4.68e-11 REAL(fp), PARAMETER :: DhrKc1 = -1000. REAL(fp), PARAMETER :: DhrKc2 = -1760. REAL(fp), PARAMETER :: Hco2 = 3.4e-2 REAL(fp), PARAMETER :: Dhco2 = 2.44e+3_fp ! CO2 concentration [v/v] REAL(fp), PARAMETER :: CO2 = 390.0e-6_fp ! ! !LOCAL VARIABLES: ! REAL(fp) :: Hco2_T, Kc1_T, Kc2_T !================================================================= ! dkCO22 begins here! !================================================================= !CO2 dissolution constants Hco2_T = Hco2*exp(Dhco2*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) Kc1_T = Kc1*exp(DhrKc1*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) Kc2_T = Kc2*exp(DhrKc2*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) !CO2 dissolution KCO2p2 = -1.e+0_fp * Kc1_T * Kc2_T * Hco2_T * CO2 * P * ( Kc1_T * & Hco2_T * 0.08205e+0_fp * T * LWC + 2.0e+0_fp * Hco2_T * & 0.08205e+0_fp * T * LWC * HPLUS + 2.0e+0_fp * HPLUS ) / & ( Kc1_T * Kc2_T * Hco2_T * 0.08205e+0_fp * T * LWC + & Kc1_T * Hco2_T * 0.08205e+0_fp * T * LWC * HPLUS + & Hco2_T *0.08205e+0_fp * T * LWC * HPLUS * HPLUS + & HPLUS * HPLUS )**2 END FUNCTION dkCO22 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: kSO21 ! ! !DESCRIPTION: Function kSO21 !\\ !\\ ! !INTERFACE: ! FUNCTION kSO21 ( P, T, LWC, HPLUS, SO2 ) RESULT ( KSO2p ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: T, P, LWC, HPLUS, SO2 ! ! !OUTPUT PARAMETERS: ! REAL(fp) :: KSO2p, KSO2p2 ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! SO2 dissociation constants REAL(fp), PARAMETER :: Ks1 = 1.3e-2 REAL(fp), PARAMETER :: Ks2 = 6.6e-8 REAL(fp), PARAMETER :: Hso2 = 1.23 REAL(fp), PARAMETER :: Dhso2 = 3.14e+3_fp REAL(fp), PARAMETER :: DhrKso21 = 1960. REAL(fp), PARAMETER :: DhrKso22 = 1500. ! ! !LOCAL VARIABLES: ! REAL(fp) :: Hso2_T, Ks1_T, Ks2_T REAL(fp) :: Hso2eff, xSO2, pSO2 !================================================================= ! kSO21 begins here! !================================================================= ! SO2 dissolution constants Hso2_T = Hso2*exp(Dhso2*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) Ks1_T = Ks1*exp(DhrKso21*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) Ks2_T = Ks2*exp(DhrKso22*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) ! SO2 dissolution Hso2eff = Hso2_T*(1.e+0_fp+(Ks1_T/HPLUS)+((Ks1_T*Ks2_T)/(HPLUS*HPLUS))) xSO2 = 1.e+0_fp / ( 1.e+0_fp + ( Hso2eff * 0.08205e+0_fp * T * LWC ) ) pSO2 = SO2 * P * xSO2 KSO2p = Hso2_T * Ks1_T * pSO2 / HPLUS END FUNCTION kSO21 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: dkSO21 ! ! !DESCRIPTION: Function dkSO21 !\\ !\\ ! !INTERFACE: ! FUNCTION dkSO21 ( P, T, LWC, HPLUS, SO2 ) RESULT ( KSO2p ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: T, P, LWC, HPLUS, SO2 ! ! !OUTPUT PARAMETERS: ! REAL(fp) :: KSO2p, KSO2p2 ! ! !REVISION HISTORY: ! 25 Jan 2012 - M. Payer - Added ProTeX headers ! 28 Apr 2015 - E. Lundgren - Input pressure is now dry air partial ! pressure ! 22 Mar 2017 - M. Sulprizio- Dhso2 value is from Table 7.3 of Seinfeld ! and ! Pandis (2006, pp 289) and should be ! positive for ! consistency with the way it is used here. ! Also, ! the value of R, in units of kcal mol-1 ! K-1, is ! 1.986x10^-3, not 0.04. (V. Shah) ! 15 Feb 2019 - J. Moch - updated function to make output ! derivative of [HSO3-] !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! SO2 dissociation constants REAL(fp), PARAMETER :: Ks1 = 1.3e-2 REAL(fp), PARAMETER :: Ks2 = 6.6e-8 REAL(fp), PARAMETER :: Hso2 = 1.23 REAL(fp), PARAMETER :: Dhso2 = 3.14e+3_fp REAL(fp), PARAMETER :: DhrKso21 = 1960. REAL(fp), PARAMETER :: DhrKso22 = 1500. ! ! !LOCAL VARIABLES: ! REAL(fp) :: Hso2_T, Ks1_T, Ks2_T !================================================================= ! dkSO21 begins here! !================================================================= ! SO2 dissolution constants Hso2_T = Hso2*exp(Dhso2*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) Ks1_T = Ks1*exp(DhrKso21*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) Ks2_T = Ks2*exp(DhrKso22*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) KSO2p = Ks1_T * Hso2_T * SO2 * P * ( Ks1_T * Ks2_T * Hso2_T * & 0.08205e+0_fp * T * LWC - Hso2_T * 0.08205e+0_fp * T * & LWC * HPLUS * HPLUS - HPLUS * HPLUS) / (Ks1_T * Ks2_T * & Hso2_T * 0.08205e+0_fp * T * LWC + Ks1_T * Hso2_T * & 0.08205e+0_fp * T * LWC * HPLUS + Hso2_T * 0.08205e+0_fp * & T * LWC * HPLUS * HPLUS + HPLUS * HPLUS)**2 END FUNCTION dkSO21 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: kSO22 ! ! !DESCRIPTION: Function kSO22 !\\ !\\ ! !INTERFACE: ! FUNCTION kSO22 ( P, T, LWC, HPLUS, SO2 ) RESULT ( KSO2p2 ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: T, P, LWC, HPLUS, SO2 ! ! !OUTPUT PARAMETERS: ! REAL(fp) :: KSO2p, KSO2p2 ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! SO2 dissociation constants REAL(fp), PARAMETER :: Ks1 = 1.3e-2 REAL(fp), PARAMETER :: Ks2 = 6.6e-8 REAL(fp), PARAMETER :: Hso2 = 1.23 REAL(fp), PARAMETER :: Dhso2 = 3.14e+3_fp REAL(fp), PARAMETER :: DhrKso21 = 1960. REAL(fp), PARAMETER :: DhrKso22 = 1500. ! ! !LOCAL VARIABLES: ! REAL(fp) :: Hso2_T, Ks1_T, Ks2_T REAL(fp) :: Hso2eff, xSO2, pSO2 !================================================================= ! kSO22 begins here! !================================================================= ! SO2 dissolution constants Hso2_T = Hso2*exp(Dhso2*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) Ks1_T = Ks1 *exp(DhrKso21*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) Ks2_T = Ks2 *exp(DhrKso22*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) !SO2 dissolution Hso2eff = Hso2_T*(1.e+0_fp+(Ks1_T/HPLUS)+((Ks1_T*Ks2_T)/(HPLUS*HPLUS))) xSO2 = 1.e+0_fp / ( 1.e+0_fp + ( Hso2eff * 0.08205e+0_fp * T * LWC ) ) pSO2 = SO2 * P * xSO2 KSO2p2 = Ks1_T * Ks2_T * Hso2_T / HPLUS / HPLUS * pSO2 END FUNCTION kSO22 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: dkSO22 ! ! !DESCRIPTION: Function dkSO22 !\\ !\\ ! !INTERFACE: ! FUNCTION dkSO22 ( P, T, LWC, HPLUS, SO2 ) RESULT ( KSO2p2 ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: T, P, LWC, HPLUS, SO2 ! ! !OUTPUT PARAMETERS: ! REAL(fp) :: KSO2p, KSO2p2 ! ! !REVISION HISTORY: ! 25 Jan 2012 - M. Payer - Added ProTeX headers ! 28 Apr 2015 - E. Lundgren - Input pressure is now dry air partial ! pressure ! 22 Mar 2017 - M. Sulprizio- Dhso2 value is from Table 7.3 of Seinfeld ! and ! Pandis (2006, pp 289) and should be ! positive for ! consistency with the way it is used here. ! Also, ! the value of R, in units of kcal mol-1 ! K-1, is ! 1.986x10^-3, not 0.04. (V. Shah) ! 15 Feb 2019 - J. Moch - updated function to make output ! derivative [SO3--] !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! SO2 dissociation constants REAL(fp), PARAMETER :: Ks1 = 1.3e-2 REAL(fp), PARAMETER :: Ks2 = 6.6e-8 REAL(fp), PARAMETER :: Hso2 = 1.23 REAL(fp), PARAMETER :: Dhso2 = 3.14e+3_fp REAL(fp), PARAMETER :: DhrKso21 = 1960. REAL(fp), PARAMETER :: DhrKso22 = 1500. ! ! !LOCAL VARIABLES: ! REAL(fp) :: Hso2_T, Ks1_T, Ks2_T !================================================================= ! dkSO22 begins here! !================================================================= ! SO2 dissolution constants Hso2_T = Hso2*exp(Dhso2*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) Ks1_T = Ks1 *exp(DhrKso21*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) Ks2_T = Ks2 *exp(DhrKso22*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) KSO2p2 = -1.e+0_fp * Ks1_T * Ks2_T * Hso2_T * SO2 * P * ( Ks1_T * & Hso2_T * 0.08205e+0_fp * T * LWC + 2.0e+0_fp * Hso2_T * & 0.08205e+0_fp * T * LWC * HPLUS + 2.0e+0_fp * HPLUS ) / & ( Ks1_T * Ks2_T * Hso2_T * 0.08205e+0_fp * T * LWC + & Ks1_T * Hso2_T * 0.08205e+0_fp * T * LWC * HPLUS + & Hso2_T *0.08205e+0_fp * T * LWC * HPLUS * HPLUS + & HPLUS * HPLUS )**2 END FUNCTION dkSO22 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: kHNO3 ! ! !DESCRIPTION: Function kNO3 !\\ !\\ ! !INTERFACE: ! FUNCTION kHNO3 ( P, T, LWC, HPLUS, HNO3 ) RESULT ( KHNO3p ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: T, P, LWC, HPLUS, HNO3 ! ! !OUTPUT PARAMETERS: ! REAL(fp) :: KHNO3p ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! HNO3 dissociation constants REAL(fp), PARAMETER :: Kn1 = 15.4 REAL(fp), PARAMETER :: Hhno3 = 2.1e5 REAL(fp), PARAMETER :: Dhhno3 = 0. REAL(fp), PARAMETER :: DhrKn1 = 8700. ! ! !LOCAL VARIABLES: ! REAL(fp) :: Hhno3_T, Kn1_T REAL(fp) :: Hhno3eff, xHNO3, pHNO3 !================================================================= ! kHNO3 begins here! !================================================================= ! HNO3 dissolution constants Hhno3_T = Hhno3*exp(Dhhno3*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) Kn1_T = Kn1*exp(DhrKn1*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) ! HNO3 dissolution ! The original Hhno3eff expression is valid for 298K (Seinfeld and Pandis ! 2006, pp 299-301), and Kn1 has a strong temperature dependence. The ! fix follows Eq. 7.59 of Seinfeld and Pandis (2006, pp 301). !Hhno3eff = 3.2e6/HPLUS Hhno3eff = Hhno3_T*(1.0e+0_fp+(Kn1_T/HPLUS)) xHNO3 = 1.e+0_fp / ( 1.e+0_fp + ( Hhno3eff * 0.08205e+0_fp * T * LWC ) ) pHNO3 = HNO3 * P * xHNO3 kHNO3p = Hhno3_T * Kn1_T * pHNO3 / HPLUS END FUNCTION kHNO3 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: dkHNO3 ! ! !DESCRIPTION: Function dkNO3 !\\ !\\ ! !INTERFACE: ! FUNCTION dkHNO3 ( P, T, LWC, HPLUS, HNO3 ) RESULT ( KHNO3p ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: T, P, LWC, HPLUS, HNO3 ! ! !OUTPUT PARAMETERS: ! REAL(fp) :: KHNO3p ! ! !REVISION HISTORY: ! 25 Jan 2012 - M. Payer - Added ProTeX headers ! 28 Apr 2015 - E. Lundgren - Input pressure is now dry air partial ! pressure ! 22 Mar 2017 - M. Sulprizio- Add fix for Hhno3eff from V. Shah ! 15 Feb 2019 - J. Moch - updated function to make output ! derivative of [HNO3-] !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! HNO3 dissociation constants REAL(fp), PARAMETER :: Kn1 = 15.4 REAL(fp), PARAMETER :: Hhno3 = 2.1e5 REAL(fp), PARAMETER :: Dhhno3 = 0. REAL(fp), PARAMETER :: DhrKn1 = 8700. ! ! !LOCAL VARIABLES: ! REAL(fp) :: Hhno3_T, Kn1_T !================================================================= ! dkHNO3 begins here! !================================================================= ! HNO3 dissolution constants Hhno3_T = Hhno3*exp(Dhhno3*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) Kn1_T = Kn1*exp(DhrKn1*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) ! HNO3 dissolution ! The original Hhno3eff expression is valid for 298K (Seinfeld and ! Pandis ! 2006, pp 299-301), and Kn1 has a strong temperature dependence. ! The ! fix follows Eq. 7.59 of Seinfeld and Pandis (2006, pp 301). kHNO3p = -1.0e+0_fp * Kn1_T * Hhno3_T * HNO3 * P * & ( 1.0e+0_fp + Hhno3_T * 0.08205e+0_fp * T * LWC ) / & ( Kn1_T * Hhno3_T * 0.08205e+0_fp * T * LWC + & Hhno3_T * 0.08205e+0_fp * T * LWC * HPLUS + & HPLUS )**2 END FUNCTION dkHNO3 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: kHCl ! ! !DESCRIPTION: Function kHCl !\\ !\\ ! !INTERFACE: ! FUNCTION kHCl ( P, T, LWC, HPLUS, Cl ) RESULT ( KHClp ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: T, P, LWC, HPLUS, Cl ! ! !OUTPUT PARAMETERS: ! REAL(fp) :: KHClp ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! HNO3 dissociation constants REAL(fp), PARAMETER :: Kcl = 1.74e+6_fp REAL(fp), PARAMETER :: Hcl = 1.5e+3_fp REAL(fp), PARAMETER :: Dhcl = 2.3e+3_fp REAL(fp), PARAMETER :: DhrKcl = 6900.e+0_fp ! ! !LOCAL VARIABLES: ! REAL(fp) :: Hcl_T, Kcl_T REAL(fp) :: Hcleff, xCl, pHCl !================================================================= ! kHCl begins here! !================================================================= ! HCl dissolution constants HCl_T = Hcl*exp(Dhcl*((1.0e+0_fp/T)-(1.0e+0_fp/298.0e+0_fp))) Kcl_T = Kcl*exp(DhrKcl*((1.0e+0_fp/T)-(1.0e+0_fp/298.0e+0_fp))) !HCl dissolution Hcleff = Hcl_T*(1.0e+0_fp+(Kcl_T/HPLUS)) xCl = 1.0e+0_fp / ( 1.0e+0_fp + ( Hcleff * 0.08205e+0_fp * T * LWC ) ) pHCl = Cl * P * xCl kHClp = Hcl_T * Kcl_T * pHCl / HPLUS END FUNCTION kHCl !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: dkHCl ! ! !DESCRIPTION: Function dkHCl !\\ !\\ ! !INTERFACE: ! FUNCTION dkHCl ( P, T, LWC, HPLUS, Cl ) RESULT ( KHClp ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: T, P, LWC, HPLUS, Cl ! ! !OUTPUT PARAMETERS: ! REAL(fp) :: KHClp ! ! !REVISION HISTORY: ! 03 Apr 2019 - X. Wang - Initial version !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! HCl dissociation constants REAL(fp), PARAMETER :: Kcl = 1.74e+6_fp REAL(fp), PARAMETER :: Hcl = 1.5e+3_fp REAL(fp), PARAMETER :: Dhcl = 2.3e+3_fp REAL(fp), PARAMETER :: DhrKcl = 6900.e+0_fp ! ! !LOCAL VARIABLES: ! REAL(fp) :: Hcl_T, Kcl_T !================================================================= ! dkHCl begins here! !================================================================= ! HCl dissolution constants Hcl_T = Hcl*exp(Dhcl*((1.0e+0_fp/T)-(1.0e+0_fp/298.0e+0_fp))) Kcl_T = Kcl*exp(DhrKcl*((1.0e+0_fp/T)-(1.0e+0_fp/298.0e+0_fp))) ! HCl dissolution ! The fix follows Eq. 7.59 of Seinfeld and Pandis (2006, pp 301). kHClp = -1.0e+0_fp * Kcl_T * Hcl_T * Cl * P * & ( 1.0e+0_fp + Hcl_T * 0.08205e+0_fp * T * LWC ) / & ( Kcl_T * Hcl_T * 0.08205e+0_fp * T * LWC + & Hcl_T * 0.08205e+0_fp * T * LWC * HPLUS + & HPLUS )**2 END FUNCTION dkHCl !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: kNH3 ! ! !DESCRIPTION: Function kNH3 !\\ !\\ ! !INTERFACE: ! FUNCTION kNH3 ( P, T, LWC, HPLUS, NH3, Kw ) RESULT ( KNH3p ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: T, P, LWC, HPLUS, NH3, Kw ! ! !OUTPUT PARAMETERS: ! REAL(fp) :: KNH3p ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! NH3 dissociation contants REAL(fp), PARAMETER :: Ka1 = 1.7e-5_fp REAL(fp), PARAMETER :: Dhnh3 = 4200.0_fp #ifdef LUO_WETDEP REAL(fp), PARAMETER :: Hnh3 = 59.8_fp REAL(fp), PARAMETER :: DhrKa1 = -4325.0_fp #else REAL(fp), PARAMETER :: Hnh3 = 60.0_fp REAL(fp), PARAMETER :: DhrKa1 = -450.0_fp #endif ! Variables REAL(fp) :: Hnh3_T, Ka1_T REAL(fp) :: Hnh3eff, xNH3, pNH3 !================================================================= ! kNH3 begins here! !================================================================= !NH3 dissolution constants Hnh3_T = Hnh3*exp(Dhnh3*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) Ka1_T = Ka1*exp(DhrKa1*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) !NH3 dissolution Hnh3eff = Hnh3_T*(1.e+0_fp+((Ka1_T* HPLUS) / Kw)) xNH3 = 1.e+0_fp / ( 1.e+0_fp + ( Hnh3eff * 0.08205e+0_fp * T * LWC ) ) pNH3 = NH3 * P * xNH3 KNH3p = HPLUS * Hnh3_T * Ka1_T * pNH3 / Kw END FUNCTION kNH3 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: dkNH3 ! ! !DESCRIPTION: Function dkNH3 !\\ !\\ ! !INTERFACE: ! FUNCTION dkNH3 ( P, T, LWC, HPLUS, NH3, Kw ) RESULT ( KNH3p ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: T, P, LWC, HPLUS, NH3, Kw ! ! !OUTPUT PARAMETERS: ! REAL(fp) :: KNH3p ! ! !REVISION HISTORY: ! 25 Jan 2012 - M. Payer - Added ProTeX headers ! 28 Apr 2015 - E. Lundgren - Input pressure is now dry air partial ! pressure ! 22 Mar 2017 - M. Sulprizio- Dhnh3 value is from Table 7.3 of Seinfeld ! and ! Pandis (2006, pp 289) and should be ! positive for ! consistency with the way it is used here. ! Also, ! the value of R, in units of kcal mol-1 ! K-1, is ! 1.986x10^-3, not 0.04. (V. Shah) ! 15 Feb 2019 - J. Moch - updated function to make output ! derivative of [NH4+] !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! NH3 dissociation contants REAL(fp), PARAMETER :: Ka1 = 1.7e-5_fp REAL(fp), PARAMETER :: Dhnh3 = 4200.0_fp #ifdef LUO_WETDEP REAL(fp), PARAMETER :: Hnh3 = 59.8_fp REAL(fp), PARAMETER :: DhrKa1 = -4325.0_fp #else REAL(fp), PARAMETER :: Hnh3 = 60.0_fp REAL(fp), PARAMETER :: DhrKa1 = -450.0_fp #endif ! Variables REAL(fp) :: Hnh3_T, Ka1_T !================================================================= ! dkNH3 begins here! !================================================================= !NH3 dissolution constants Hnh3_T = Hnh3*exp(Dhnh3*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) Ka1_T = Ka1*exp(DhrKa1*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) !NH3 dissolutionnyn KNH3p = Ka1_T * Hnh3_T * NH3 * Kw * P * ( 1.0e+0_fp + & Hnh3_T * 0.08205e+0_fp * T * LWC ) / & ( Hnh3_T * 0.08205e+0_fp * T * LWC * ( Kw + Ka1_T * & HPLUS ) + Kw)**2 END FUNCTION dkNH3 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: kFA ! ! !DESCRIPTION: Function kFA !\\ !\\ ! !INTERFACE: ! FUNCTION kFA ( P, T, LWC, HPLUS, FA ) RESULT ( kFAp ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: T, P, LWC, HPLUS, FA ! ! !OUTPUT PARAMETERS: ! REAL(fp) :: KFAp ! ! !REVISION HISTORY: ! 25 Jan 2012 - M. Payer - Added ProTeX headers ! 28 Apr 2015 - E. Lundgren - Input pressure is now dry air partial ! pressure ! 17 Oct 2017 - M. Sulprizio- Dhck value is from Table 7.3 of Seinfeld ! and ! Pandis (2006, pp 289) and should be ! positive for ! consistency with the way it is used here. ! Also, ! the value of R, in units of kcal mol-1 ! K-1, is ! 1.986x10^-3, not 0.04. (Qianjie Chen) ! 03 Dec 2018 - J. Moch - Modified for formic acid (HCOOH). Values ! taken from Sienfeld and Pandis. Made it ! to output is [FA] ! 01 May 2020 - V. Shah - Use correct equilibrium constants !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! HCOOH dissociation constants REAL(fp), PARAMETER :: Kformate = 1.8e-4_fp ! equib const REAL(fp), PARAMETER :: Hfa = 8800.0_fp ! henry const REAL(fp), PARAMETER :: Dhfa = 6100.0_fp ! henry temp REAL(fp), PARAMETER :: DhrKfa = 151.0_fp ! equib temp ! ! !LOCAL VARIABLES: ! REAL(fp) :: Hfa_T, Kfa_T REAL(fp) :: Hfaeff, xFA, pFA !================================================================= ! kFA begins here! !================================================================= ! Formic acid dissolution constants HFA_T = Hfa*exp(Dhfa*((1.0e+0_fp/T)-(1.0e+0_fp/298.0e+0_fp))) Kfa_T = Kformate*exp(DhrKfa*((1.0e+0_fp/T) & - (1.0e+0_fp/298.0e+0_fp))) !HCOOH dissolution Hfaeff = Hfa_T*(1.0e+0_fp+(Kfa_T/HPLUS)) xFA = 1.0e+0_fp / ( 1.0e+0_fp & + ( Hfaeff * 0.08205e+0_fp * T * LWC ) ) pFA = FA * P * xFA kFAp = Hfa_T * Kfa_T * pFA / HPLUS END FUNCTION kFA !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: dkFA ! ! !DESCRIPTION: Function dkFA !\\ !\\ ! !INTERFACE: ! FUNCTION dkFA ( P, T, LWC, HPLUS, FA ) RESULT ( kFAp ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: T, P, LWC, HPLUS, FA ! ! !OUTPUT PARAMETERS: ! REAL(fp) :: KFAp ! ! !REVISION HISTORY: ! 25 Jan 2012 - M. Payer - Added ProTeX headers ! 28 Apr 2015 - E. Lundgren - Input pressure is now dry air partial ! pressure ! 17 Oct 2017 - M. Sulprizio- Dhck value is from Table 7.3 of Seinfeld ! and ! Pandis (2006, pp 289) and should be ! positive for ! consistency with the way it is used here. ! Also, ! the value of R, in units of kcal mol-1 ! K-1, is ! 1.986x10^-3, not 0.04. (Qianjie Chen) ! 03 Dec 2018 - J. Moch - Modified for formic acid (HCOOH). Values ! taken from ! Sienfeld and Pandis. Made it to output is ! [FA] ! 01 May 2020 - V. Shah - Use correct equilibrium constants !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! HCOOH dissociation constants REAL(fp), PARAMETER :: Kformate = 1.8e-4_fp ! equib const REAL(fp), PARAMETER :: Hfa = 8800e+0_fp ! henry const REAL(fp), PARAMETER :: Dhfa = 6100e+0_fp ! henry temp REAL(fp), PARAMETER :: DhrKfa = 151.e+0_fp ! equib temp ! ! !LOCAL VARIABLES: ! REAL(fp) :: Hfa_T, Kfa_T !================================================================= ! dkFA begins here! !================================================================= ! Formic acid dissolution constants HFA_T = Hfa*exp(Dhfa*((1.0e+0_fp/T)-(1.0e+0_fp/298.0e+0_fp))) Kfa_T = Kformate*exp(DhrKfa*((1.0e+0_fp/T) & - (1.0e+0_fp/298.0e+0_fp))) !HCOOH dissolution kFAp = -1.0e+0_fp * Kfa_T * HFA_T * FA * P * & ( 1.0e+0_fp + HFA_T * 0.08205e+0_fp * T * LWC ) / & ( Kfa_T * HFA_T * 0.08205e+0_fp * T * LWC + & HFA_T * 0.08205e+0_fp * T * LWC * HPLUS + & HPLUS )**2 END FUNCTION dkFA !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: kAA ! ! !DESCRIPTION: Function kAA !\\ !\\ ! !INTERFACE: ! FUNCTION kAA ( P, T, LWC, HPLUS, AA ) RESULT ( kAAp ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: T, P, LWC, HPLUS, AA ! ! !OUTPUT PARAMETERS: ! REAL(fp) :: KAAp ! ! !REVISION HISTORY: ! 25 Jan 2012 - M. Payer - Added ProTeX headers ! 28 Apr 2015 - E. Lundgren - Input pressure is now dry air partial ! pressure ! 17 Oct 2017 - M. Sulprizio- Dhck value is from Table 7.3 of Seinfeld ! and ! Pandis (2006, pp 289) and should be ! positive for ! consistency with the way it is used here. ! Also, ! the value of R, in units of kcal mol-1 ! K-1, is ! 1.986x10^-3, not 0.04. (Qianjie Chen) ! 03 Dec 2018 - J. Moch - Modified for acetic acid (CH3COOH). ! Values taken from ! Sienfeld and Pandis, value of [HCOOH] ! 01 May 2020 - V. Shah - Use correct equilibrium constants !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! CH3HCOOH dissociation constants REAL(fp), PARAMETER :: Kacetate = 1.75e-5_fp REAL(fp), PARAMETER :: Haa = 4100.0_fp REAL(fp), PARAMETER :: Dhaa = 6200.0_fp REAL(fp), PARAMETER :: DhrKaa = 50.0_fp ! ! !LOCAL VARIABLES: ! REAL(fp) :: Haa_T, Kaa_T REAL(fp) :: Haaeff, xAA, pAA !================================================================= ! kAA begins here! !================================================================= ! Formic acid dissolution constants HAA_T = Haa*exp(Dhaa*((1.0e+0_fp/T)-(1.0e+0_fp/298.0e+0_fp))) Kaa_T = Kacetate*exp(DhrKaa*((1.0e+0_fp/T) & - (1.0e+0_fp/298.0e+0_fp))) !HCOOH dissolution Haaeff = Haa_T*(1.0e+0_fp+(Kaa_T/HPLUS)) xAA = 1.0e+0_fp / ( 1.0e+0_fp & + ( Haaeff * 0.08205e+0_fp * T * LWC ) ) pAA = AA * P * xAA kAAp = Haa_T * Kaa_T * pAA / HPLUS END FUNCTION kAA !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: dkAA ! ! !DESCRIPTION: Function kdAA !\\ !\\ ! !INTERFACE: ! FUNCTION dkAA ( P, T, LWC, HPLUS, AA ) RESULT ( kAAp ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: T, P, LWC, HPLUS, AA ! ! !OUTPUT PARAMETERS: ! REAL(fp) :: KAAp ! ! !REVISION HISTORY: ! 25 Jan 2012 - M. Payer - Added ProTeX headers ! 28 Apr 2015 - E. Lundgren - Input pressure is now dry air partial ! pressure ! 17 Oct 2017 - M. Sulprizio- Dhck value is from Table 7.3 of Seinfeld ! and ! Pandis (2006, pp 289) and should be ! positive for ! consistency with the way it is used here. ! Also, ! the value of R, in units of kcal mol-1 ! K-1, is ! 1.986x10^-3, not 0.04. (Qianjie Chen) ! 03 Dec 2018 - J. Moch - Modified for acetic acid (CH3COOH). ! Values taken from ! Sienfeld and Pandis. Output is ! derivative. ! 01 May 2020 - V. Shah - Use correct equilibrium constants !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! HCOOH dissociation constants REAL(fp), PARAMETER :: Kacetate = 1.75e-5_fp REAL(fp), PARAMETER :: Haa = 4100.0_fp REAL(fp), PARAMETER :: Dhaa = 6200.0_fp REAL(fp), PARAMETER :: DhrKaa = 50.0_fp ! ! !LOCAL VARIABLES: ! REAL(fp) :: Haa_T, Kaa_T !================================================================= ! kAA begins here! !================================================================= ! Formic acid dissolution constants HAA_T = Haa*exp(Dhaa*((1.0e+0_fp/T)-(1.0e+0_fp/298.0e+0_fp))) Kaa_T = Kacetate*exp(DhrKaa*((1.0e+0_fp/T) & - (1.0e+0_fp/298.0e+0_fp))) !HCOOH dissolution kAAp = -1.0e+0_fp * Kaa_T * HAA_T * AA * P * & ( 1.0e+0_fp + HAA_T * 0.08205e+0_fp * T * LWC ) / & ( Kaa_T * HAA_T * 0.08205e+0_fp * T * LWC + & HAA_T * 0.08205e+0_fp * T * LWC * HPLUS + & HPLUS )**2 END FUNCTION dkAA !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: CaCO3_PRECIP ! ! !DESCRIPTION: Subroutine CaCO3 to calculate [Ca++] in equilibrium with ! CaCO3(s) (dust particles) depending on [H+] !\\ !\\ ! !INTERFACE: ! SUBROUTINE CaCO3_PRECIP ( P, T, HPLUS, fCa, dCa ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: T, P, HPLUS ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT):: fCa, dCa ! [Ca2+] and d([Ca2+])/d[H+] ! ! !REVISION HISTORY: ! 25 Dec 2019 - V. Shah - Initial version !EOP !------------------------------------------------------------------------------ !BOC ! !DEFINED PARAMETERS: ! REAL(fp), PARAMETER :: Kc1 = 4.3e-7_fp REAL(fp), PARAMETER :: Kc2 = 4.68e-11_fp REAL(fp), PARAMETER :: DhrKc1 = -1000. REAL(fp), PARAMETER :: DhrKc2 = -1760. REAL(fp), PARAMETER :: Hco2 = 3.4e-2_fp REAL(fp), PARAMETER :: Dhco2 = 2.44e+3_fp ! CO2 concentration [v/v] REAL(fp), PARAMETER :: CO2 = 390.0e-6_fp REAL(fp), PARAMETER :: Ksp = 3.3e-9_fp REAL(fp), PARAMETER :: DHrKsp = -1200e+0_fp ! !LOCAL VARIABLES: REAL(fp) :: HCO2_T, Kc1_T, Kc2_T, Ksp_T ! !REMARKS: !================================================================= ! CaCO3_PRECIP begins here! !================================================================= !Temperature adjusted eq. constants !CO2 dissolution constants Hco2_T = Hco2*exp(Dhco2*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) Kc1_T = Kc1*exp(DhrKc1*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) Kc2_T = Kc2*exp(DhrKc2*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) ! CaCO3 eq constants Ksp_T = Ksp*exp(DhrKsp*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) !Ca concentrations [M] fCa = Ksp_T * HPLUS * HPLUS / (Kc1_T * Kc2_T * Hco2_T * CO2 * P) !derivative d[Ca2+]/dH+ dCa = 2e+0_fp * Ksp_T * HPLUS / (Kc1_T * Kc2_T * Hco2_T * CO2 * P) END SUBROUTINE CaCO3_PRECIP !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: aqchem_so2 ! ! !DESCRIPTION: Subroutine AQCHEM\_SO2 computes the reaction rates for aqueous ! SO2 chemistry. (rjp, bmy, 10/31/02, 12/12/02) !\\ !\\ ! !INTERFACE: ! SUBROUTINE AQCHEM_SO2( LWC, T, P, SO2, H2O2, & O3, Hplus, MnII, FeIII, IONIC, & KaqH2O2, KaqO3, KaqO3_1, KaqO2, & HSO3aq, SO3aq, HCHO, KaqHCHO, & KaqHMS, KaqHMS2 ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: LWC ! Liq water content [m3/m3]=1.E-6*L [g/m3] REAL(fp), INTENT(IN) :: T ! Temperature [K] REAL(fp), INTENT(IN) :: P ! Dry air partial pressure [atm] REAL(fp), INTENT(IN) :: SO2 ! SO2 mixing ratio [v/v] REAL(fp), INTENT(IN) :: H2O2 ! H2O2 mixing ratio [v/v] REAL(fp), INTENT(IN) :: O3 ! O3 mixing ratio [v/v] REAL(fp), INTENT(IN) :: HPLUS ! Concentration of H+ ion (i.e. pH) [v/v] REAL(fp), INTENT(IN) :: MnII ! Concentration of MnII [mole/l] REAL(fp), INTENT(IN) :: FeIII ! Concentration of FeIII [mole/l] REAL(fp), INTENT(IN) :: IONIC ! Ionic strength [mole/l]? REAL(fp), INTENT(IN) :: HCHO ! HCHO mixing ratio [v/v] (jmm, 06/13/18) ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: KaqH2O2 ! Reaction rate for H2O2 REAL(fp), INTENT(OUT) :: KaqO3 ! Reaction rate for O3 REAL(fp), INTENT(OUT) :: KaqO3_1 ! only the SO3-- oxidation, (qjc, 04/10/16) REAL(fp), INTENT(OUT) :: KaqO2 ! Reaction rate for O2 (metal cat) REAL(fp), INTENT(OUT) :: KaqHCHO ! Reaction rate for SO2 and HCHO (jmm, 06/13/18) REAL(fp), INTENT(OUT) :: KaqHMS ! Reaction rate for HMS and OH- (jmm, 06/13/18) REAL(fp), INTENT(OUT) :: KaqHMS2 ! Reaction rate for HMS and OH(aq) (jmm, 06/28/18) REAL(fp), INTENT(OUT) :: HSO3aq ! Cloud bisulfite [mol/l] (qjc, 06/10/16) REAL(fp), INTENT(OUT) :: SO3aq ! Cloud sulfite [mol/l] (qjc, 06/10/16) ! ! !REMARKS: ! Chemical Reactions: ! ============================================================================ ! (R1) HSO3- + H2O2(aq) + H+ => SO4-- + 2H+ + H2O [Jacob, 1986] ! . ! d[S(VI)]/dt = k[H+][H2O2(aq)][HSO3-]/(1 + K[H+]) ! [Seinfeld and Pandis, 1998, page 366] ! . ! (R2) SO2(aq) + O3(aq) => ! HSO3- + O3(aq) => ! SO3-- + O3(aq) => ! [Jacob, 1986; Jacobson, 1999] ! . ! d[S(VI)]/dt = (k0[SO2(aq)] + k1[HSO3-] + K2[SO3--])[O3(aq)] ! [Seinfeld and Pandis, 1998, page 363] ! . ! (R3) HSO3- + HCHO(aq) => HMS ! SO3-- + HCHO(aq) => HMS + OH- ! [Moch et al., 2018; Olson and Hoffman, 1986] ! . ! d[S(HMS)]/dt = (k1[HSO3-] + k2[SO3--])[HCHO(aq)] ! [Seinfeld and Pandis, 2016, 309] ! ! (R4) HMS + OH- => HCHO(aq) + SO3-- ! [Moch et al., 2018; Deister et al., 1986] ! (note treated as 1st order in contrast to other reactions here) ! ! (R5) HMS + OH(aq) =(SO2,HO2,O2)=> HCHO + 2SO4-- + O2 + 3H+ + 2H2O ! [Jacob et al, 1986, Olson and Fessenden, 1992; ! Seinfeld and Pandis, 2016, Table 7A.7] ! Net reaction (R5): ! HMS + OH(aq) =(O2)=> SO5- + HCHO + H2O ! HO2 <=> H+ + O2- ! SO5- + O2- =(H2O)=> HSO5- + OH- + O2 ! SO2(aq) <=> HSO3- + H+ ! H+ + OH- <=> H2O ! HSO5- + HSO3- => 2SO4-- + 2H+ ! ! Reaction rates can be given as ! Ra = k [H2O2(ag)] [S(IV)] [mole/liter*s] OR ! Krate = Ra LWC R T / P [1/s] ! . ! Where: ! LWC = Liquid water content(g/m3)*10-6 [m3(water)/m3(gas)] ! R = 0.08205 (atm L / mol-K), Universal gas const. ! T = Temperature (K) ! P = Pressure (atm) ! . ! Procedure: ! ============================================================================ ! (a ) Given [SO2] which is assumed to be total SO2 (gas+liquid) in ! equilibrium between gas and liquid phase. ! . ! (b ) We can compute SO2(g) using Henry's law ! P(so2(g)) = Xg * [SO2] ! Xg = 1/(1 + Faq), Fraction of SO2 in gas ! where: ! Faq = Kheff * R * T * LWC, ! KHeff = Effective Henry's constant ! . ! (c ) Then Calculate Aquous phase, S[IV] concentrations ! S[IV] = Kheff * P(so2(g) in atm) [M] ! . ! (d ) The exact same procedure is applied to calculate H2O2(aq) and HCHO(aq) ! ! !REVISION HISTORY: ! (1 ) Updated by Rokjin Park (rjp, bmy, 12/12/02) ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! REAL(fp), PARAMETER :: R = 0.08205e+0_fp REAL(fp), PARAMETER :: dOH = 1.0e-19_fp ! [M cm^3 molec^-1] (jmm, 06/28/18) ! ! !LOCAL VARIABLES: ! REAL(fp) :: KH2O2, RA, KS1, KS2, HCSO2 REAL(fp) :: FHCSO2, XSO2G, SIV, HSO3, XSO2AQ REAL(fp) :: XHSO3, XSO3, KH1, HCH2O2, FHCH2O2 REAL(fp) :: XH2O2G, H2O2aq, KO0, KO1, KO2 REAL(fp) :: HCO3, XO3g, O3aq, XHCHOg, HCHCHO ! (jmm, 06/13/18) REAL(fp) :: FHCHCHO,KHCHO1, KHCHO2, KHMS ! (jmm, 06/13/18) REAL(fp) :: KW1, KHC1, KHMS2 ! (jmm, 06/15/18) REAL(fp) :: Eff_mn, Eff_fe !jys !================================================================= ! AQCHEM_SO2 begins here! ! ! Aqueous reaction rate ! HSO3- + H2O2 + H+ => SO4-- + 2H+ + H2O [Jacob, 1986] !================================================================= ! [Jacob, 1986] KH2O2 = 6.31e+14_fp * EXP( -4.76e+3_fp / T ) !! [Jacobson, 1999] !KH2O2 = 7.45e+0_fp7 * EXP( -15.96e+0_fp * ( (298.15/T) - 1.) ) / & ! ( 1.e+0_fp + 13.e+0_fp * Hplus) !================================================================= ! Equilibrium reaction of SO2-H2O ! SO2 + H2O = SO2(aq) (s0) ! SO2(ag) = HSO3- + H+ (s1) ! HSO3- = SO3-- + H+ (s2) ! ! Reaction constant for Aqueous chemistry -- No big difference ! between Jacob and Jacobson, choose one of them. ! ! Reaction rate dependent on Temperature is given ! H = A exp ( B (T./T - 1) ) ! ! For equilibrium reactions of SO2: ! As1 Bs1 As2 Bs2 ! Seinfeld 1.30d-2 7.02 6.60d-8 3.76 [1998] ! Jacob 1.30d-2 6.75 6.31d-8 5.05 [1986] ! Jacobson 1.71d-2 7.04 5.99d-8 3.74 [1996] !================================================================= Ks1 = 1.30e-2_fp * EXP( 6.75e+0_fp * ( 298.15e+0_fp / T - 1.e+0_fp ) ) Ks2 = 6.31e-8_fp * EXP( 5.05e+0_fp * ( 298.15e+0_fp / T - 1.e+0_fp ) ) ! SIV Fraction XSO2aq = 1.e+0_fp/(1.e+0_fp + Ks1/Hplus + Ks1*Ks2/(Hplus*Hplus)) XHSO3 = 1.e+0_fp/(1.e+0_fp + Hplus/Ks1 + Ks2/Hplus) XSO3 = 1.e+0_fp/(1.e+0_fp + Hplus/Ks2 + Hplus*Hplus/(Ks1*Ks2)) ! Henry's constant [mol/l-atm] and Effective Henry's constant for SO2 HCSO2 = 1.22e+0_fp * EXP( 10.55e+0_fp * ( 298.15e+0_fp / T - 1.e+0_fp) ) FHCSO2 = HCSO2 * (1.e+0_fp + (Ks1/Hplus) + (Ks1*Ks2 / (Hplus*Hplus))) XSO2g = 1.e+0_fp / ( 1.e+0_fp + ( FHCSO2 * R * T * LWC ) ) SIV = FHCSO2 * XSO2g * SO2 * P !HSO3 = Ks1 * HCSO2 * XSO2g * SO2 * P ! Effective HSO3aq for HOBr+HSO3 HSO3aq = SIV * XHSO3 ! unit: M (qjc, 06/10/16) ! Effective SO3aq for HOBr+SO3 SO3aq = SIV * XSO3 ! unit: M (qjc, 06/10/16) !================================================================= ! H2O2 equilibrium reaction ! H2O2 + H2O = H2O2.H2O ! H2O2.H2O = HO2- + H+ 1) ! ! Reaction rate dependent on Temperature is given ! H = A exp ( B (T./T - 1) ) ! ! For equilibrium reactions of SO2 ! Ah1 Bh1 ! Jacob 1.58E-12 -12.49 [1986] ! Jacobson 2.20E-12 -12.52 [1996] !================================================================= Kh1 = 2.20e-12_fp * EXP( -12.52e+0_fp * ( 298.15e+0_fp / T - 1.e+0_fp ) ) ! Henry's constant [mol/l-atm] and Effective Henry's constant for H2O2 ! [Seinfeld and Pandis, 1998] ! HCH2O2 = 7.45D4 * EXP( 24.48e+0_fp * ( 298.15e+0_fp / T - 1.e+0_fp) ) ! [Jacobson,1999] HCH2O2 = 7.45e+4_fp * EXP( 22.21e+0_fp * (298.15e+0_fp / T - 1.e+0_fp) ) FHCH2O2 = HCH2O2 * (1.e+0_fp + (Kh1 / Hplus)) XH2O2g = 1.e+0_fp / ( 1.e+0_fp + ( FHCH2O2 * R * T * LWC ) ) !H2O2aq = FHCH2O2 * XH2O2g * H2O2 * P ! Conversion rate from SO2 to SO4 via reaction with H2O2 KaqH2O2 = kh2o2 * Ks1 * FHCH2O2 * HCSO2 * XH2O2g * XSO2g & * P * LWC * R * T ! [v/v/s] !================================================================= ! Aqueous reactions of SO2 with O3 ! SO2(aq) + O3 => (0) ! HSO3- + O3 => SO4-- + H+ + O2 (1) ! SO3-- + O3 => SO4-- + O2 (2) ! ! NOTE ! [Jacob, 1986] ! KO1 = 3.49E12 * EXP( -4.83E3 / T ) ! KO2 = 7.32E14 * EXP( -4.03E3 / T ) ! ! [Jacobson, 1999] ! KO0 = 2.40E+4 ! KO1 = 3.70E+5 * EXP( -18.56 * ((298.15/T) - 1.)) ! KO2 = 1.50E+9 * EXP( -17.72 * ((298.15/T) - 1.)) ! ! Rate constants from Jacobson is larger than those of Jacob ! and results in faster conversion from S(IV) to S(VI) ! We choose Jacob 1) 2) and Jacobson 0) here !================================================================= KO0 = 2.40e+4_fp KO1 = 3.49e+12_fp * EXP( -4.83e+3_fp / T ) KO2 = 7.32e+14_fp * EXP( -4.03e+3_fp / T ) !================================================================= ! H2O2 equilibrium reaction ! O3 + H2O = O3.H2O ! HCO3 = 1.13E-2 * EXP( 8.51 * (298.15/T -1.) ), S & P ! HCO3 = 1.13E-2 * EXP( 7.72 * (298.15/T -1.) ), Jacobson !================================================================= ! Calculate Henry's Law constant for atmospheric temperature HCO3 = 1.13e-2_fp * EXP( 8.51e+0_fp * ( 298.15e+0_fp / T - 1.e+0_fp ) ) XO3g = 1.e+0_fp / ( 1.e+0_fp + ( HCO3 * R * T * LWC ) ) !O3aq = HCO3 * XO3g * O3 * P ! Conversion rate from SO2 to SO4 via reaction with O3 KaqO3 = (KO0*XSO2AQ + KO1*XHSO3 + KO2*XSO3) * FHCSO2 * XSO2g & * P * HCO3 * XO3g * LWC * R * T ! [v/v/s] !(qjc, 04/10/16) KaqO3_1 = KO2*XSO3 * FHCSO2 * XSO2g & * P * HCO3 * XO3g * LWC * R * T ! [v/v/s] ! =================================================================== ! Metal (Fe, Mn) catalyzed O2 oxidation (bec, 7/12/04) ! R = d[S(VI)]/dt = 750*[Mn(II)]*[S(IV)] + 2600*[Fe(III)]*[S(IV)] + ! 1.d10*[Mn(II)]*[Fe(III)]*[S(IV)] ! from Seinfeld and Pandis, 1998 pg. 371 ! S(IV) = HFCSO2 * XSO2*P*[SO2] ! R = KaqO2*[SO2] (v/v/s) ! KaqO2 = FHCSO2 * XSO2g * P * ! ((750*[Mn(II)])+(2600[Fe(III)])+(1.d10*[Mn(II)]*[Fe(III)])) ! in units of [M/s] ! KaqO2 = FHCSO2 * XSO2g * P * ! ((750*[Mn(II)])+(2600[Fe(III)])+(1.d10*[Mn(II)]*[Fe(III)])) * ! LWC * R * T/P ! in units of [v/v/s] ! =================================================================== ! Conversion rate from SO2 to SO4 via reaction with O2 (met cat) ! Commented out becasue using ionic strength pH modifiers version !KaqO2 = FHCSO2 * XSO2g * ( (750e+0_fp * MnII ) + & ! ( 2600e+0_fp * FeIII ) + (1e+10_fp * MnII * FeIII ) ) * & ! LWC * R * T ! [s-1] ! Conversion rate from SO2 to SO4 via reaction with O2 (met cat) ! added by shaojy16 10/13/2017 ! takes into account pH and ionic strength Eff_mn = 10.0**(-4.0*(SQRT(IONIC)/(1.0+SQRT(IONIC)))) Eff_fe = 10.0**(-2.0*(SQRT(IONIC)/(1.0+SQRT(IONIC)))) IF ( Hplus > 10.0**(-4.2) ) THEN KaqO2 = FHCSO2 * XSO2g * & (3.72e+7_fp*Hplus**(-0.74)* & (MnII*FeIII*Eff_fe*Eff_mn)) * & LWC * R * T ! [s-1] ELSE KaqO2 = FHCSO2 * XSO2g * & (2.51e+13_fp*Hplus**(0.67) * & (MnII*FeIII*Eff_fe*Eff_mn)) * & LWC * R * T ! [s-1] ENDIF !================================================================= ! Aqueous reactions of SO2 with HCHO ! HSO3- + HCHO(aq) => HMS + OH- (1) ! SO3-- + HCHO(aq) => HMS (2) ! ! NOTE: ! [Boyce and Hoffman, 1984] ! KHCHO1 = 7.9E2 * EXP( -16.435 * ((298.15/T) - 1.)) ! KHCHO2 = 2.5E7 * EXP( -6.037 * ((298.15/T) - 1.)) ! ! ! Aqueous reaction of HMS with OH- ! HMS + OH- => HCHO(aq) + SO3-- (3) ! ! NOTE: unclear where B (E/R) value in Seinfeld and Pandis from, ! but close to Deister. Using Seinfeld and Pandis value for now ! [Deister et al., 1986] ! KHMS = 3.6E3 * EXP( -22.027 * ((298.15/T) - 1.)) ! [Seinfeld and Pandis, 2016; Munger et al., 1986] ! KHMS = 3.6E3 * EXP( -15.09 * ((298.15/T) - 1.)) ! ! ! Aqueous reaction of HMS with OH(aq) ! HMS + OH(aq) =(SO2,O2,HO2)=> 2SO4-- + HCHO + O2 + 3H+ + 2H2O (4) ! ! NOTE: O2, SO2, and HO2 particpate in the stoichiometry but not kinetics. ! Assume steady state for sulfur radicals and the following reaction chain: ! HMS + OH(aq) =(O2)=> SO5- + HCHO + H2O [Olsen and Fessenden, 1992] ! HO2 <=> H+ + O2- [Jacob, 1986] ! SO5- + O2- =(H2O)=> HSO5- + OH- + O2 [Jacob, 1986] ! SO2(aq) <=> HSO3- + H+ ! H+ + OH- <=> H2O ! HSO5- + HSO3- => 2SO4-- + 2H+ [Jacob, 1986] ! Instead of assuming Henry's law for OH, use the parameter from ! Jacob et al, 2005 that relates gas phase OH to aqueous phase OH ! accounting for the HO2(aq)/O2- cylcing in cloud droplets: ! dOH = 1E-19 [M cm^3 molec^-1] ! [Olson and Fessenden, 1992] ! KHMS2 = 6.2E8 * EXP( -5.03 * ((298.15/T) -1.)) ! ! ! (jmm, 06/28/18) !================================================================= KHCHO1 = 7.9e+2_fp * EXP( -16.44e+0_fp & * ( 298.15e+0_fp / T - 1.e+0_fp ) ) KHCHO2 = 2.5e+7_fp * EXP( -6.04e+0_fp & * ( 298.15e+0_fp / T - 1.e+0_fp ) ) KHMS = 3.6e+3_fp * EXP( -15.09e+0_fp & * ( 298.15e+0_fp / T - 1.e+0_fp ) ) KHMS2 = 6.2e+8_fp * EXP( -5.03e+0_fp & * ( 298.15e+0_fp / T - 1.e+0_fp ) ) !================================================================= ! HCHO equilibrium reaction ! HCHO(aq) + H2O = HCH(OH)2 ! ! Reaction rate dependent on Temperature is given ! H = A exp ( B (T./T - 1) ) ! ! For equilibrium reactions of HCHO ! Ah1 Bh1 ! Sienfeld and Pandis 2.53E3 13.48 [2016] ! ! (jmm, 06/15/18) !================================================================= Khc1 = 2.53e+3_fp * EXP( 13.48e+0_fp & * ( 298.15e+0_fp / T - 1.e+0_fp ) ) !================================================================= ! H2O equilibrium reaction ! H2O = H+ + OH- ! ! Reaction rate dependent on Temperature is given ! H = A exp ( B (T./T - 1) ) ! ! For equilibrium reactions of HCHO ! Ah1 Bh1 ! Sienfeld and Pandis 1E-14 -22.51 [2016] ! ! (jmm, 06/15/18) !================================================================= Kw1 = 1e-14_fp * EXP( -22.51e+0_fp & * ( 298.15e+0_fp / T - 1.e+0_fp ) ) ! Henry's constant [mol/l-atm] and Effective Henry's constant for HCHO ! [Seinfeld and Pandis, 2016] ! HCHCHO = 2.5 * EXP( 21.6e+0_fp * ( 298.15e+0_fp / T - 1.e+0_fp) ) ! (jmm, -6/15/18) HCHCHO = 2.5e+0_fp * EXP( 21.6e+0_fp & * (298.15e+0_fp / T - 1.e+0_fp) ) FHCHCHO = HCHCHO * (1.e+0_fp + Khc1 ) XHCHOg = 1.e+0_fp / ( 1.e+0_fp + ( FHCHCHO * R * T * LWC ) ) ! Conversion rate from SO2 to HMS via reaction with HCHO ! (jmm, 06/15/18) KaqHCHO = (KHCHO1*XHSO3 + KHCHO2*XSO3) * FHCSO2 * XSO2G & * P * HCHCHO * XHCHOg * LWC * R * T ! [v/v/s] ! Conversion rate from HMS to SO2 via reaction with OH- ! (jmm, 06/15/18) KaqHMS = KHMS * ( Kw1 / Hplus ) ! [mol/L/s] ! Conversion rate from HMS to SO42- & HCHO via reaction with OH(aq) ! (jmm, 06/28/18) KaqHMS2 = KHMS2 * dOH / AIRMW / AIRMW * 7.e-4_fp * AVO & * T * R / P ! [m^6 kg^-2 s^-1] END SUBROUTINE AQCHEM_SO2 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: het_drop_chem ! ! !DESCRIPTION: Subroutine HET\_DROP\_CHEM estimates the in-cloud sulfate ! production rate in heterogeneous cloud droplets based on the Yuen et al., ! 1996 parameterization. (bec, 6/16/11) !\\ !\\ ! !INTERFACE: ! SUBROUTINE HET_DROP_CHEM( I, J, L, LSTOT, SSCvv, & aSO4, GNH3, SO2_sr, H2O20, GNO3, & SR, Input_Opt, State_Met, State_Chm ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_TS_CHEM ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I, J, L REAL(fp), INTENT(IN) :: LSTOT REAL(fp), INTENT(IN) :: SSCvv REAL(fp), INTENT(IN) :: aSO4 REAL(fp), INTENT(IN) :: GNH3 REAL(fp), INTENT(IN) :: SO2_sr REAL(fp), INTENT(IN) :: H2O20 REAL(fp), INTENT(IN) :: GNO3 TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: SR ! Sulfate production rate ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! REAL(fp), PARAMETER :: SS_DEN = 2200.e+0_fp !dry sea-salt density [kg/m3] ! sigma of the size distribution for sea-salt (Jaegle et al., 2011) REAL(fp), PARAMETER :: SIG_S = 1.8e+0_fp ! geometric dry mean diameters [m] for computing lognormal size distribution REAL(fp), PARAMETER :: RG_S = 0.4e-6_fp !(Jaegle et a., 2011) REAL(fp), PARAMETER :: RG_D2 = 1.5e-6_fp!(Ginoux et al., 2001) REAL(fp), PARAMETER :: RG_D3 = 2.5e-6_fp REAL(fp), PARAMETER :: RG_D4 = 4.e-6_fp ! ! !LOCAL VARIABLES: ! REAL(fp) :: alpha_NH3, alpha_SO2, alpha_H2O2 REAL(fp) :: alpha_HNO3, alpha_B, alpha_CN REAL(fp) :: alpha_W, alpha_SO4, sum_gas, H REAL(fp) :: NDss, NDd2, NDd3, NDd4, CN, DEN, REFF, W REAL(fp) :: DTCHEM, APV, DSVI REAL(fp) :: B, NH3, SO2, H2O2, HNO3, SO4 REAL(fp) :: CNss, CNd2, CNd3, CNd4 REAL(fp) :: MW_SO4, MW_SALC ! Pointers REAL(fp), POINTER :: AD(:,:,:) REAL(fp), POINTER :: AIRDEN(:,:,:) REAL(fp), POINTER :: AIRVOL(:,:,:) REAL(fp), POINTER :: OMEGA(:,:,:) REAL(fp), POINTER :: U(:,:,:) REAL(fp), POINTER :: V(:,:,:) !================================================================= ! HET_DROP_CHEM begins here! !================================================================= ! Initialize pointers AD => State_Met%AD AIRDEN => State_Met%AIRDEN AIRVOL => State_Met%AIRVOL OMEGA => State_Met%OMEGA U => State_Met%U V => State_Met%V ! Convert gas phase concentrations from [v/v] to [pptv] NH3 = GNH3 * 1.0e+12_fp SO2 = SO2_sr * 1.0e+12_fp H2O2 = H2O20 * 1.0e12_fp HNO3 = GNO3 * 1.0e12_fp ! Set molecular weight local variables MW_SO4 = State_Chm%SpcData(id_SO4)%Info%MW_g MW_SALC = State_Chm%SpcData(id_SALC)%Info%MW_g ! Convert sulfate aerosol concentrations from [v/v] to [ug/m3] SO4 = ( aSO4 * AD(I,J,L) * 1.0e+9_fp ) / & ( ( AIRMW / MW_SO4 ) * AIRVOL(I,J,L) ) ! Convert in cloud sulfate production rate from [v/v/timestep] to ! [ug/m3/timestep] B = ( LSTOT * AD(I,J,L) * 1.0e+9_fp ) / & ( ( AIRMW / MW_SO4 ) * AIRVOL(I,J,L) ) ! Convert coarse-mode aerosol concentrations from [v/v] to [#/cm3] ! based on equation in Hofmann, Science, 1990. ! First convert from [v/v] to [kg/m3 air] CNss = SSCvv * AD(I,J,L) / ( ( AIRMW / MW_SALC ) * AIRVOL(I,J,L) ) ! Now convert from [kg/m3 air] to [#/cm3 air] ! Sea-salt NDss = ( (3.e+0_fp/4.e+0_fp) * CNss ) / (PI * SS_DEN * RG_S**3.e+0_fp * & exp( (9.e+0_fp/2.e+0_fp) * (LOG(SIG_S)) ** 2.e+0_fp ) ) * 1.e-6_fp ! Total coarse mode number concentration [#/cm3] CN = NDss ! sea-salt ! Determine regression coefficients based on the local SO2 concentration IF ( SO2 <= 200.0e+0_fp ) THEN alpha_B = 0.5318e+0_fp alpha_NH3 = -1.67e-7_fp alpha_SO2 = 2.59e-6_fp alpha_H2O2 = -1.77e-7_fp alpha_HNO3 = -1.72e-7_fp alpha_W = 1.22e-6_fp alpha_CN = 4.58e-6_fp alpha_SO4 = -1.00e-5_fp ELSE IF ( SO2 > 200.0e+0_fp .AND. SO2 <= 500.0e+0_fp ) THEN alpha_B = 0.5591e+0_fp alpha_NH3 = 3.62e-6_fp alpha_SO2 = 1.66e-6_fp alpha_H2O2 = 1.06e-7_fp alpha_HNO3 = -5.45e-7_fp alpha_W = -5.79e-7_fp alpha_CN = 1.63e-5_fp alpha_SO4 = -7.40e-6_fp ELSE IF ( SO2 > 500.0e+0_fp .AND. SO2 < 1000.0e+0_fp ) THEN alpha_B = 1.1547e+0_fp alpha_NH3 = -4.28e-8_fp alpha_SO2 = -1.23e-7_fp alpha_H2O2 = -9.05e-7_fp alpha_HNO3 = 1.73e-7_fp alpha_W = 7.22e-6_fp alpha_CN = 2.44e-5_fp alpha_SO4 = 3.25e-5_fp ELSE IF ( SO2 >= 1000.0e+0_fp ) THEN alpha_B = 1.1795e+0_fp alpha_NH3 = 2.57e-7_fp alpha_SO2 = -5.54e-7_fp alpha_H2O2 = -1.08e-6_fp alpha_HNO3 = 1.95e-6_fp alpha_W = 6.14e-6_fp alpha_CN = 1.64e-5_fp alpha_SO4 = 2.48e-6_fp ENDIF ! Updraft velocity over the oceans [cm/s] ! 500 cm/s is too high. Get W from the met field. (qjc, 04/10/16) !W = 500e+0_fp W = -OMEGA(I,J,L) / ( AIRDEN(I,J,L) * g0 ) * 100e+0_fp ! Compute H (integration time interval * air parcel velocity) [m] ! DTCHEM is the chemistry timestep in seconds DTCHEM = GET_TS_CHEM() ! Compute air parcel velocity [m/s] !APV = SQRT( (U(I,J,L) * U(I,J,L)) + (V(I,J,L) * V(I,J,L)) ) !(qjc, 04/10/16) APV = SQRT( (U(I,J,L) * U(I,J,L)) + (V(I,J,L) * V(I,J,L)) + & W * W *1.e-4_fp ) H = DTCHEM * APV ![m] sum_gas = (alpha_NH3 * NH3) + (alpha_SO2 * SO2) + & (alpha_H2O2 * H2O2) + (alpha_HNO3 * HNO3) DSVI = ( alpha_B * B ) + & ( ( (alpha_CN * CN) + (alpha_W * W) + (alpha_SO4 * SO4) + & sum_gas ) * H ) ! Only calculate SR when air parcel rises, in consistence with ! Yuen et al. (1996) (qjc, 04/10/16) IF ( W > 0e+0_fp ) THEN ! additional sulfate production that can be attributed to ! ozone [ug/m3/timestep] SR = DSVI - B ! Convert SR from [ug/m3/timestep] to [v/v/timestep] SR = SR * ( AIRMW / MW_SO4 ) * 1.e-9_fp / AIRDEN(I,J,L) ! Don't allow SR to be negative SR = MAX( SR, 0.e+0_fp ) ! Don't produce more SO4 than SO2 available after AQCHEM_SO2 SR = MIN( SR, SO2_sr ) ELSE SR = 0.e+0_fp ENDIF ! Free pointers AD => NULL() AIRDEN => NULL() AIRVOL => NULL() OMEGA => NULL() U => NULL() V => NULL() END SUBROUTINE HET_DROP_CHEM !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: chem_so4 ! ! !DESCRIPTION: Subroutine CHEM\_SO4 is the SO4 chemistry subroutine from Mian ! Chin's GOCART model, modified for the GEOS-CHEM model. Now also modified to ! account for production of crystalline and aqueous sulfur tracers. ! (rjp, bdf, cas, bmy, 5/31/00, 5/23/06) !\\ !\\ ! !INTERFACE: ! SUBROUTINE CHEM_SO4( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE CMN_SIZE_Mod, ONLY : NDSTBIN USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState #ifdef APM USE APM_INIT_MOD, ONLY : APMIDS USE APM_INIT_MOD, ONLY : NGCOND, NSO4, NSEA USE APM_INIT_MOD, ONLY : NCTSO4,NCTBC,NCTOC,NCTDST,NCTSEA USE APM_INIT_MOD, ONLY : IFEMITBCOCS USE APM_DRIV_MOD, ONLY : PSO4GAS USE APM_DRIV_MOD, ONLY : FCLOUD #endif ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! The only production is from SO2 oxidation (save in CHEM_SO2). Dry ! deposition is now handled in mixing_mod.F90, so we can must add the ! production from SO2 into the SO4 tracers. ! . ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! LOGICAL :: LDSTUP INTEGER :: I, J, L, N INTEGER :: IBIN ! tdf REAL(fp) :: SO4, SO40, SO4s, SO40s REAL(fp) :: PSO4d, SO40_dust ! tdf 04/07/08 ! Arrays REAL(fp) :: SO4d (NDSTBIN) ! tdf 04/07/08 REAL(fp) :: SO40d(NDSTBIN) ! tdf 04/07/08 ! Following are index arrays to hold pointers to STT ! tdf 04/07/08 INTEGER :: IDTRC(NDSTBIN) ! Pointers TYPE(SpcConc), POINTER :: Spc(:) #ifdef APM REAL(fp), PARAMETER :: AIRMW_96 = AIRMW / 96.0d0 #endif !================================================================= ! CHEM_SO4 begins here! !================================================================= ! Return if tracers are not defined IF ( id_SO4 < 0 .or. id_SO4s < 0 ) RETURN ! Assume success RC = GC_SUCCESS ! Copy fields from INPUT_OPT to local variables for use below LDSTUP = Input_Opt%LDSTUP #ifdef APM !------------------------------------------ ! Call APM size-resolved drydep algorithm !------------------------------------------ CALL WET_SETTLINGBIN( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) #endif ! Point to chemical species array [kg] Spc => State_Chm%Species ! Loop over chemistry grid boxes !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, L, N, SO4, SO4s, SO40 )& !$OMP PRIVATE( SO40s, SO4d, SO40d, SO40_dust, IBIN, PSO4d, IDTRC )& !$OMP SCHEDULE( DYNAMIC ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Zero loop variables SO4 = 0.0_fp SO4s = 0.0_fp SO40 = 0.0_fp SO40s = 0.0_fp ! Skip non-chemistry boxes IF ( .not. State_Met%InChemGrid(I,J,L) ) CYCLE !============================================================== ! Initial concentrations before chemistry !============================================================== ! SO4 [v/v] SO40 = Spc(id_SO4)%Conc(I,J,L) ! SO4 within coarse seasalt aerosol [v/v] SO40s = Spc(id_SO4s)%Conc(I,J,L) IF ( LDSTUP ) THEN ! Initial Sulfate w/in dust bins [v/v] ! tdf 04/07/08 SO40d(1) = Spc(id_SO4dbin1)%Conc(I,J,L) SO40d(2) = Spc(id_SO4dbin2)%Conc(I,J,L) SO40d(3) = Spc(id_SO4dbin3)%Conc(I,J,L) SO40d(4) = Spc(id_SO4dbin4)%Conc(I,J,L) SO40d(5) = Spc(id_SO4dbin5)%Conc(I,J,L) SO40d(6) = Spc(id_SO4dbin6)%Conc(I,J,L) SO40d(7) = Spc(id_SO4dbin7)%Conc(I,J,L) ENDIF !============================================================== ! SO4 chemistry !============================================================== ! SO4 production from SO2 and HMS [v/v/timestep] SO4 = SO40 + PSO4_SO2(I,J,L) !============================================================== ! SO4s (SO4 w/in seasalt aerosol) chemistry: !============================================================== ! SO4 production from SO2 [v/v/timestep] SO4s = SO40s + PSO4_ss(I,J,L) !============================================================== ! SO4d (SO4 w/in dust aerosol) chemistry: tdf 04/07/08 !============================================================== IF ( LDSTUP ) THEN IDTRC(1) = id_SO4dbin1 IDTRC(2) = id_SO4dbin2 IDTRC(3) = id_SO4dbin3 IDTRC(4) = id_SO4dbin4 IDTRC(5) = id_SO4dbin5 IDTRC(6) = id_SO4dbin6 IDTRC(7) = id_SO4dbin7 ! tdf Loop over size bins DO IBIN = 1, NDSTBIN ! Initial amount of sulfate on dust size bin IBIN SO40_dust = SO40d(IBIN) ! Production of sulfate on dust [v/v/timestep] PSO4d = PSO4_dust(I,J,L,IBIN) ! SO4 production from SO2 [v/v/timestep] SO4d(IBIN) = SO40_dust + PSO4d ENDDO ENDIF !tdf end of if ( LDSTUP) condition !============================================================== ! Final concentrations after chemistry !============================================================== ! Error check IF ( SO4 < SMALLNUM ) SO4 = 0e+0_fp IF ( SO4s < SMALLNUM ) SO4s = 0e+0_fp ! Final concentrations [v/v] Spc(id_SO4)%Conc(I,J,L) = SO4 Spc(id_SO4s)%Conc(I,J,L) = SO4s !APM_GanLuo+ #ifdef APM IF ( NSO4 >= 1 ) THEN DO N = 1, NSO4 ! Updated SO4 (gas phase) [v/v] Spc(APMIDS%id_SO4BIN1+N-1)%Conc(I,J,L) = & Spc(APMIDS%id_SO4BIN1+N-1)%Conc(I,J,L) + & ( PSO4_SO2APM(I,J,L) + & State_Chm%PSO4_SO2APM2(I,J,L) * AIRMW_96 / & ( g0_100 * State_Met%DELP_DRY(I,J,L) ) ) * & FCLOUD(I,J,L,N) ENDDO ENDIF IF ( NCTBC >=1 ) THEN N = 1 Spc(APMIDS%id_CTBC)%Conc(I,J,L) = & Spc(APMIDS%id_CTBC)%Conc(I,J,L) + & ( PSO4_SO2APM(I,J,L) + & State_Chm%PSO4_SO2APM2(I,J,L) * AIRMW_96 / & ( g0_100 * State_Met%DELP_DRY(I,J,L) ) ) * & FCLOUD(I,J,L,(NSO4+N)) ENDIF IF ( NCTOC >= 1 ) THEN N = 1 Spc(APMIDS%id_CTOC)%Conc(I,J,L) = & Spc(APMIDS%id_CTOC)%Conc(I,J,L) + & ( PSO4_SO2APM(I,J,L) + & State_Chm%PSO4_SO2APM2(I,J,L) * AIRMW_96 / & ( g0_100 *State_Met%DELP_DRY(I,J,L) ) ) * & FCLOUD(I,J,L,(NSO4+N)) ENDIF IF ( NCTDST >= 1 ) THEN N = 1 Spc(APMIDS%id_CTDST)%Conc(I,J,L) = & Spc(APMIDS%id_CTDST)%Conc(I,J,L) + & ( PSO4_SO2APM(I,J,L) + & State_Chm%PSO4_SO2APM2(I,J,L) * AIRMW_96 / & ( g0_100 * State_Met%DELP_DRY(I,J,L) ) ) * & FCLOUD(I,J,L,(NSO4+3)) ENDIF IF ( NCTSEA >= 1 ) THEN N = 1 Spc(APMIDS%id_CTSEA)%Conc(I,J,L) = & Spc(APMIDS%id_CTSEA)%Conc(I,J,L) + & ( PSO4_SO2APM(I,J,L) + & State_Chm%PSO4_SO2APM2(I,J,L) * AIRMW_96 / & ( g0_100 * State_Met%DELP_DRY(I,J,L) ) ) * & FCLOUD(I,J,L,(NSO4+4)) + & PSO4_SO2SEA(I,J,L) ENDIF #endif !tdf IF ( LDSTUP ) THEN DO IBIN = 1, NDSTBIN SO40_dust = SO4d(IBIN) IF ( SO40_dust < SMALLNUM ) SO40_dust = 0e+0_fp Spc(IDTRC(IBIN))%Conc(I,J,L) = SO40_dust ! dust sulfate ENDDO ENDIF !tdf end of if ( LDSTUP) condition ENDDO ENDDO ENDDO !$OMP END PARALLEL DO #ifdef APM ! Reset the PSO4_SO2APM2 which tracks SO4 from wetdep State_Chm%PSO4_SO2APM2 = 0.0d0 #endif ! Free pointers Spc => NULL() END SUBROUTINE CHEM_SO4 !EOC #ifdef TOMAS !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: chem_so4_aq ! ! !DESCRIPTION: Subroutine CHEM\_SO4\_AQ takes the SO4 produced via aqueous ! chemistry of SO2 and distribute onto the size-resolved aerosol number and ! sulfate mass as a part of the TOMAS aerosol microphysics module ! (win, 1/25/10) !\\ !\\ ! !INTERFACE: ! SUBROUTINE CHEM_SO4_AQ( Input_Opt, State_Chm, State_Grid, State_Met, & State_Diag, RC ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD USE Input_Opt_Mod, ONLY : OptINput USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE State_Diag_Mod, ONLY : DgnState USE TOMAS_MOD, ONLY : AQOXID, GETACTBIN USE UnitConv_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diag State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! NOTE: This subroutine is ignored unless we compile for TOMAS microphysics. ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, J, L INTEGER :: k, binact1, binact2 INTEGER :: KMIN, previous_units REAL(fp) :: SO4OXID !================================================================= ! CHEM_SO4_AQ begins here! !================================================================= ! Assume success RC = GC_SUCCESS ! Convert species from to [kg] ! NOTE: For TOMAS, convert all species units, in order not to ! break internal unit conversions (Bob Yantosca, 11 Apr 2024) CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & new_units = KG_SPECIES, & previous_units = previous_units, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN CALL GC_Error('Unit conversion error', RC, & 'Start of CHEM_SO4_AQ in sulfate_mod.F90') RETURN ENDIF !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, L, KMIN, SO4OXID, BINACT1, BINACT2 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Zero private loop variables BINACT1 = 0.0_fp BINACT2 = 0.0_fp KMIN = 0.0_fp SO4OXID = 0.0_fp ! Skip non-chemistry boxes IF ( .not. State_Met%InChemGrid(I,J,L) ) CYCLE SO4OXID = PSO4_SO2AQ(I,J,L) * State_Met%AD(I,J,L) & / ( AIRMW / State_Chm%SpcData(id_SO4)%Info%MW_g ) IF ( SO4OXID > 0e+0_fp ) THEN ! JKodros (6/2/15 - Set activating bin based on which TOMAS bin !length being used) #if defined( TOMAS12 ) CALL GETACTBIN( I, J, L, id_NK05, .TRUE. , BINACT1, State_Chm, RC ) CALL GETACTBIN( I, J, L, id_NK05, .FALSE., BINACT2, State_Chm, RC ) #elif defined( TOMAS15 ) CALL GETACTBIN( I, J, L, id_NK08, .TRUE. , BINACT1, State_Chm, RC ) CALL GETACTBIN( I, J, L, id_NK08, .FALSE., BINACT2, State_Chm, RC ) #elif defined( TOMAS30 ) CALL GETACTBIN( I, J, L, id_NK10, .TRUE. , BINACT1, State_Chm, RC ) CALL GETACTBIN( I, J, L, id_NK10, .FALSE., BINACT2, State_Chm, RC ) #else CALL GETACTBIN( I, J, L, id_NK20, .TRUE. , BINACT1, State_Chm, RC ) CALL GETACTBIN( I, J, L, id_NK20, .FALSE., BINACT2, State_Chm, RC ) #endif KMIN = ( BINACT1 + BINACT2 )/ 2. ! Indicate that we are NOT calling AqOxid from wetdep, which ! will avoid doing any further internal unit conversion (as ! units are already in kg here). -- Bob Yantosca (11 Apr 2024) CALL AqOxid( & I = I, & J = J, & L = L, & MOXID = SO4OXID, & KMIN = KMIN, & fromWetDep = .FALSE., & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & State_Diag = State_Diag, & RC = RC ) ENDIF ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ! Convert species back to original units ! NOTE: For TOMAS, convert all species units, in order not to ! break internal unit conversions (Bob Yantosca, 11 Apr 2024) CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & new_units = previous_units, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN CALL GC_Error('Unit conversion error', RC, & 'End of CHEM_SO4_AQ in sulfate_mod.F90') RETURN ENDIF END SUBROUTINE CHEM_SO4_AQ !EOC #endif !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: chem_msa ! ! !DESCRIPTION: Subroutine CHEM\_MSA is the SO4 chemistry subroutine from Mian ! Chin's GOCART model, modified for the GEOS-CHEM model. (rjp, bdf, bmy, ! 5/31/00, 10/25/05) !\\ !\\ ! !INTERFACE: ! SUBROUTINE CHEM_MSA( Input_Opt, State_Chm, State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! The only production is from DMS oxidation (saved in CHEM_DMS). ! Dry deposition is now treaded in mixing_mod.F90. ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I, J, L REAL(fp) :: MSA0, MSA ! Pointers TYPE(SpcConc), POINTER :: Spc(:) !================================================================= ! CHEM_MSA begins here! !================================================================= IF ( id_MSA < 0 ) RETURN ! Assume success RC = GC_SUCCESS ! Point to chemical species array [v/v/ dry] Spc => State_Chm%Species ! Loop over chemistry grid boxes !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, MSA0, MSA ) & !$OMP SCHEDULE( DYNAMIC ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Skip non-chemistry boxes IF ( .not. State_Met%InChemGrid(I,J,L) ) CYCLE ! Initial MSA [v/v] MSA0 = Spc(id_MSA)%Conc(I,J,L) ! MSA production from DMS [v/v/timestep] MSA = MSA0 + PMSA_DMS(I,J,L) ! Final MSA [v/v] IF ( MSA < SMALLNUM ) MSA = 0e+0_fp Spc(id_MSA)%Conc(I,J,L) = MSA ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ! Free pointer Spc => NULL() END SUBROUTINE CHEM_MSA !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: chem_nit ! ! !DESCRIPTION: Subroutine CHEM\_NIT removes SULFUR NITRATES (NIT) from the ! surface via dry deposition. (rjp, bdf, bmy, 1/2/02, 5/23/06) !\\ !\\ ! !INTERFACE: ! SUBROUTINE CHEM_NIT( Input_Opt, State_Chm, State_Grid, State_Met, RC ) ! ! !USES: ! USE CMN_SIZE_Mod, ONLY : NDSTBIN USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! Dry deposition is now applied in mixing_mod.F90. Therefore we can ! . ! !REMARKS: ! Reaction List: ! ============================================================================ ! (1 ) NIT = NIT_0 * EXP( -dt ) where d = dry deposition rate [s-1] ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I, IBIN, J, L, N REAL(fp) :: PNITd ! Arrays INTEGER :: IDTRC(NDSTBIN) REAL(fp) :: NITd (NDSTBIN) REAL(fp) :: NIT0d(NDSTBIN) ! Pointers TYPE(SpcConc), POINTER :: Spc(:) !================================================================= ! CHEM_NIT begins here! !================================================================= ! Return if tracers are not defined IF ( id_NIT < 0 .OR.id_NITs < 0 ) RETURN ! If we are doing a dust uptake simulation, ! return if dust uptake tracers are undefined IF ( Input_Opt%LDSTUP ) THEN IF ( id_NITdbin1 < 0 .or. id_NITdbin2 < 0 .or. & id_NITdbin3 < 0 .or. id_NITdbin4 < 0 .or. & id_NITdbin5 < 0 .or. id_NITdbin6 < 0 .or. id_NITdbin7 < 0 ) RETURN ENDIF ! Assume success RC = GC_SUCCESS ! Point to chemical species array [v/v dry] Spc => State_Chm%Species ! Assign pointers to Spc arrays for loop over dust size bins, ! since this can be done outside the parallel DO loop. ! These will be set to a missing value (-1) if undefined. IDTRC(1) = id_NITdbin1 IDTRC(2) = id_NITdbin2 IDTRC(3) = id_NITdbin3 IDTRC(4) = id_NITdbin4 IDTRC(5) = id_NITdbin5 IDTRC(6) = id_NITdbin6 IDTRC(7) = id_NITdbin7 !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, NITd, NIT0d, IBIN, PNITd ) & !$OMP SCHEDULE( DYNAMIC, 1 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Skip non-chemistry boxes IF ( .not. State_Met%InChemGrid(I,J,L) ) CYCLE !============================================================== ! NITs chemistry !============================================================== ! Add NIT prod from HNO3 uptake on fine sea-salt [v/v/timestep] ! to the NITs concentration in the Spc array [v/v dry] ! Should do for both fine and coarse mode (xnw 12/8/17) Spc(id_NIT)%Conc(I,J,L) = Spc(id_NIT)%Conc(I,J,L) + PNIT(I,J,L) Spc(id_NITs)%Conc(I,J,L) = Spc(id_NITs)%Conc(I,J,L) + PNITs(I,J,L) !============================================================== ! NITd chemistry (cf. Duncan Fairlie) !============================================================== IF ( Input_Opt%LDSTUP ) THEN ! Initialize variables NITd = 0.0_fp ! Initial NITRATE w/in dust bins [v/v] NIT0d(1) = Spc(id_NITdbin1)%Conc(I,J,L) NIT0d(2) = Spc(id_NITdbin2)%Conc(I,J,L) NIT0d(3) = Spc(id_NITdbin3)%Conc(I,J,L) NIT0d(4) = Spc(id_NITdbin4)%Conc(I,J,L) NIT0d(5) = Spc(id_NITdbin5)%Conc(I,J,L) NIT0d(6) = Spc(id_NITdbin6)%Conc(I,J,L) NIT0d(7) = Spc(id_NITdbin7)%Conc(I,J,L) ! Loop over size bins DO IBIN = 1, NDSTBIN ! Production of nitrate on dust [v/v/timestep] PNITd = PNIT_dust(I,J,L,IBIN) ! NIT prod from HNO3 uptake on dust [v/v/timestep] NITd(IBIN) = NIT0d(IBIN) + PNITd ! Store final concentration in Spc [v/v] Spc(IDTRC(IBIN))%Conc(I,J,L) = NITd(IBIN) ENDDO ENDIF ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ! Free pointer Spc => NULL() END SUBROUTINE CHEM_NIT !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: chem_cl ! ! !DESCRIPTION: Subroutine CHEM\_CL cacluate sea-salt chloride from ! uptake of HCl by alkalinity. (xnw, 12/8/17) !\\ !\\ ! !INTERFACE: SUBROUTINE CHEM_CL( Input_Opt, State_Met, State_Chm, State_Grid, RC ) ! ! !USES: ! USE CMN_SIZE_MOD USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Met_Mod, ONLY : MetState USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object TYPE(GrdState), INTENT(IN) :: State_Grid ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? !----------------------------------------------------------------------------- !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I, J, L ! Pointers TYPE(SpcConc), POINTER :: Spc(:) !================================================================= ! CHEM_NIT begins here! !================================================================= ! Return if tracers are not defined IF ( id_SALACL < 0 .OR.id_SALCCL < 0 ) RETURN ! Assume success RC = GC_SUCCESS ! Point to chemical species array [v/v dry] Spc => State_Chm%Species !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L) & !$OMP SCHEDULE( DYNAMIC, 1 ) DO L = 1, State_Met%MaxChemLev DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Skip non-chemistry boxes ! IF ( ITS_IN_THE_NOCHEMGRID( I, J, L, State_Met ) ) CYCLE !============================================================== ! Cl chemistry !============================================================== ! Add Cl prod from HCl uptake on fine and coarse sea-salt [v/v/timestep] Spc(id_SALACL)%Conc(I,J,L) = Spc(id_SALACL)%Conc(I,J,L) + PACL(I,J,L) Spc(id_SALCCL)%Conc(I,J,L) = Spc(id_SALCCL)%Conc(I,J,L) + PCCL(I,J,L) ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ! Free pointer Spc => NULL() END SUBROUTINE CHEM_CL !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: get_oh ! ! !DESCRIPTION: Function GET\_OH returns OH from State\_Chm%Species (for ! coupled runs) or monthly mean OH (for offline runs). Imposes a diurnal ! variation on OH for offline simulations. (bmy, 12/16/02, 7/20/04) !\\ !\\ ! !INTERFACE: ! FUNCTION GET_OH( I, J, L, Input_Opt, State_Chm, State_Met ) & RESULT( OH_MOLEC_CM3 ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_TS_CHEM ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I, J, L ! Lon, lat, level indices TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object ! ! !RETURN VALUE: ! REAL(fp) :: OH_MOLEC_CM3 ! OH conc [molec/cm3] ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC !================================================================= ! GET_OH begins here! !================================================================= IF ( Input_Opt%ITS_A_FULLCHEM_SIM ) THEN !--------------------- ! Coupled simulation !--------------------- ! OH is defined only in the chemistry grid IF ( State_Met%InChemGrid(I,J,L) ) THEN ! Get OH from State_Chm%Species [v/v] converted to [molec/cm3] OH_MOLEC_CM3 = State_Chm%Species(id_OH)%Conc(I,J,L) * & State_Met%AIRNUMDEN(I,J,L) ELSE OH_MOLEC_CM3 = 0e+0_fp ENDIF ELSE IF ( Input_Opt%ITS_AN_AEROSOL_SIM ) THEN !--------------------- ! Offline simulation !--------------------- ! Test for sunlight... IF ( State_Met%SUNCOS(I,J) > 0e+0_fp .and. TCOSZ(I,J) > 0e+0_fp ) THEN ! OH from HEMCO is in mol/mol, convert to molec/cm3 OH_MOLEC_CM3 = GLOBAL_OH(I,J,L) * State_Met%AIRNUMDEN(I,J,L) ! Impose a diurnal variation on OH during the day OH_MOLEC_CM3 = OH_MOLEC_CM3 * & ( State_Met%SUNCOS(I,J) / TCOSZ(I,J) ) * & ( 86400e+0_fp / GET_TS_CHEM() ) ! Make sure OH is not negative OH_MOLEC_CM3 = MAX( OH_MOLEC_CM3, 0e+0_fp ) ELSE ! At night, OH goes to zero OH_MOLEC_CM3 = 0e+0_fp ENDIF ENDIF END FUNCTION GET_OH !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ohno3time ! ! !DESCRIPTION: Subroutine OHNO3TIME computes the sum of cosine of the solar ! zenith angle over a 24 hour day, as well as the total length of daylight. ! This is needed to scale the offline OH and NO3 concentrations. ! (rjp, bmy, 12/16/02, 3/30/04) !\\ !\\ ! !INTERFACE: ! SUBROUTINE OHNO3TIME( State_Grid ) ! ! !USES: ! USE TIME_MOD, ONLY : GET_NHMSb, GET_ELAPSED_SEC USE TIME_MOD, ONLY : GET_TS_CHEM, GET_DAY_OF_YEAR, GET_GMT USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! LOGICAL, SAVE :: FIRST = .TRUE. INTEGER :: I, J, L, N, NT, NDYSTEP REAL(fp) :: A0, A1, A2, A3, B1, B2, B3 REAL(fp) :: LHR0, R, AHR, DEC, TIMLOC, YMID_R REAL(fp) :: SUNTMP(State_Grid%NX,State_Grid%NY) !================================================================= ! OHNO3TIME begins here! !================================================================= ! Solar declination angle (low precision formula, good enough for us): A0 = 0.006918 A1 = 0.399912 A2 = 0.006758 A3 = 0.002697 B1 = 0.070257 B2 = 0.000907 B3 = 0.000148 R = 2.* PI * float( GET_DAY_OF_YEAR() - 1 ) / 365. DEC = A0 - A1*cos( R) + B1*sin( R) & - A2*cos(2*R) + B2*sin(2*R) & - A3*cos(3*R) + B3*sin(3*R) LHR0 = int(float( GET_NHMSb() )/10000.) ! Only do the following at the start of a new day IF ( FIRST .or. GET_GMT() < 1e-5 ) THEN ! Zero arrays TTDAY(:,:) = 0e+0_fp TCOSZ(:,:) = 0e+0_fp COSZM(:,:) = 0e+0_fp ! NDYSTEP is # of chemistry time steps in this day NDYSTEP = ( 24 - INT( GET_GMT() ) ) * 3600 / GET_TS_CHEM() ! NT is the elapsed time [s] since the beginning of the run NT = GET_ELAPSED_SEC() ! Loop forward through NDYSTEP "fake" timesteps for this day DO N = 1, NDYSTEP ! Zero SUNTMP array SUNTMP = 0e+0_fp ! Loop over surface grid boxes DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Grid box latitude center [radians] YMID_R = State_Grid%YMid_R(I,J) TIMLOC = real(LHR0) + real(NT)/3600.0 + State_Grid%XMid(I,J)/15.0 DO WHILE (TIMLOC .lt. 0) TIMLOC = TIMLOC + 24.0 ENDDO DO WHILE (TIMLOC .gt. 24.0) TIMLOC = TIMLOC - 24.0 ENDDO AHR = abs(TIMLOC - 12.) * 15.0 * PI_180 !=========================================================== ! The cosine of the solar zenith angle (SZA) is given by: ! ! cos(SZA) = sin(LAT)*sin(DEC) + cos(LAT)*cos(DEC)*cos(AHR) ! ! where LAT = the latitude angle, ! DEC = the solar declination angle, ! AHR = the hour angle, all in radians. ! ! If SUNCOS < 0, then the sun is below the horizon, and ! therefore does not contribute to any solar heating. !=========================================================== ! Compute Cos(SZA) SUNTMP(I,J) = sin(YMID_R) * sin(DEC) + & cos(YMID_R) * cos(DEC) * cos(AHR) ! TCOSZ is the sum of SUNTMP at location (I,J) ! Do not include negative values of SUNTMP TCOSZ(I,J) = TCOSZ(I,J) + MAX( SUNTMP(I,J), 0e+0_fp ) ! COSZM is the peak value of SUMTMP during a day at (I,J) ! (rjp, bmy, 3/30/04) COSZM(I,J) = MAX( COSZM(I,J), SUNTMP(I,J) ) ! TTDAY is the total daylight time at location (I,J) IF ( SUNTMP(I,J) > 0e+0_fp ) THEN TTDAY(I,J) = TTDAY(I,J) + DBLE( GET_TS_CHEM() ) * 60e+0_fp ENDIF ENDDO ENDDO !### Debug !PRINT*, '### IN OHNO3TIME' !PRINT*, '### N : ', N !PRINT*, '### NDYSTEP : ', NDYSTEP !PRINT*, '### NT : ', NT !PRINT*, '### JDAY : ', JDAY !PRINT*, '### RLAT : ', RLAT !PRINT*, '### XMID : ', XMID !PRINT*, '### SUNTMP : ', SUNTMP !PRINT*, '### TCOSZ : ', MINVAL( TCOSZ ), MAXVAL( TCOSZ ) !PRINT*, '### TTDAY : ', MINVAL( TCOSZ ), MAXVAL( TCOSZ ) ! Increment elapsed time [sec] NT = NT + GET_TS_CHEM() ENDDO ! Reset first-time flag FIRST = .FALSE. ENDIF END SUBROUTINE OHNO3TIME !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: get_alk ! ! !DESCRIPTION: Subroutine GET\_ALK returns the seasalt alkalinity emitted at ! each timestep to sulfate\_mod.F90 for chemistry on seasalt aerosols. ! (bec, 12/7/04, 11/23/09) !\\ !\\ ! !INTERFACE: ! SUBROUTINE GET_ALK( I, J, L, ALK1, ALK2, Kt1, Kt2, Kt1N, Kt2N, Kt1L, Kt2L, & Input_Opt, State_Chm, State_Grid, State_Met, RC) ! ! !USES: ! USE CMN_SIZE_MOD, ONLY : NDUST USE ErrCode_Mod USE HCO_Utilities_GC_Mod, ONLY : GetHcoValEmis USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I, J, L ! Lon-lat-alt indices TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: ALK1, ALK2 ! [kg] REAL(fp), INTENT(OUT) :: Kt1, Kt2, Kt1N, Kt2N, Kt1L, Kt2L ! [s-1] ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: RC TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) :: N1, N2, Kt REAL(fp) :: HGF, ALK REAL(fp) :: RAD1, RAD2, RAD3 REAL(fp) :: term1a, term2a, term3a REAL(fp) :: term1b, term2b, term3b REAL(fp) :: term1aN, term2aN, term3aN REAL(fp) :: term1bN, term2bN, term3bN REAL(fp) :: const1, const2, const1N, const2N REAL(fp) :: const1L, const2L REAL(fp) :: a1, a2, b1, b2, a1N, a2N, b1N, b2N REAL(fp) :: SLA, SLC !SeaSalt concentration [kg] REAL(fp), PARAMETER :: MINDAT = 1.e-20_fp INTEGER :: IRH REAL(fp), PARAMETER :: gamma_SO2 = 0.11e+0_fp !from Worsnop et al.(1989) REAL(fp), PARAMETER :: gamma_HNO3 = 0.5e+0_fp !from JPL [2015] ! Mass accommodation coefficient alpha for HCl on liquid water surfaces, from JPL,2015 REAL(fp), PARAMETER :: gamma_HCl = 0.07e+0_fp REAL(fp) :: Dg !gas phase diffusion coeff. [cm2/s] REAL(fp), PARAMETER :: v = 3.0e+4_fp !cm/s REAL(fp) :: SA1, SA2 ! SSA surface area [cm2/cm3] REAL(fp) :: R1, R2 ! SSA radius [cm] ! HEMCO update REAL(fp) :: FEMIS !INTEGER :: NTOP !LOGICAL :: FOUND ! Pointers REAL(fp), POINTER :: ERADIUS(:,:,:,:) REAL(fp), POINTER :: TAREA(:,:,:,:) !================================================================= ! GET_ALK begins here! !================================================================= ! Zero variables KT1 = 0.e+0_fp KT2 = 0.e+0_fp KT1N = 0.e+0_fp KT2N = 0.e+0_fp KT1L = 0.e+0_fp KT2L = 0.e+0_fp N1 = 0.e+0_fp N2 = 0.e+0_fp ALK1 = 0.e+0_fp ALK2 = 0.e+0_fp ! Initialize pointers ERADIUS => State_Chm%AeroRadi TAREA => State_Chm%AeroArea !----------------------------------------------------------------------- ! Get alkalinity from HEMCO. This is just the current emissions, ! converted from kg/m2/s to kg. In the original seasalt code, the ! alkalinity was set to the total surface flux for every layer within ! the PBL, and to zero above. This seems unrealistic, and in the code ! below the alkalinity (and number density) are scaled by the fraction ! of PBL. This approach ensures that the total number density and ! alkalinity is preserved. ! (ckeller, 10/31/2014) !----------------------------------------------------------------------- ! [kg] use this when not transporting alk !ALK1 = ALK_EMIS(I,J,L,1) !ALK2 = ALK_EMIS(I,J,L,2) ! Layer in which the PBL top occurs !NTOP = CEILING( State_Met%PBL_TOP_L(I,J) ) ! Do the following only if we are within the PBL !IF ( L <= NTOP ) THEN ! Fraction of the PBL spanned by box (I,J,L) [unitless] FEMIS = State_Met%F_OF_PBL(I,J,L) ! Uncomment the following line to reproduce pre-HEMCO code. ! FEMIS = 1.0d0 ! Get ALK1 and ALK2 surface emissions from HEMCO. These are in ! kg/m2/s. !CALL GetHcoValEmis( Input_Opt, State_Grid, id_SALA, I, J, 1, FOUND, ALK1 ) !CALL GetHcoValEmis( Input_Opt, State_Grid, id_SALC, I, J, 1, FOUND, ALK2, AltBuffer=.true. ) ! kg/m2/s --> kg. Weight by fraction of PBL ALK1 = MAX(ALK1,0.0e+0_fp) * State_Grid%Area_M2(I,J) * TS_EMIS * FEMIS ALK2 = MAX(ALK2,0.0e+0_fp) * State_Grid%Area_M2(I,J) * TS_EMIS * FEMIS ! Get number densities in # / cm3. Weight by fraction of PBL !IF ( ASSOCIATED(NDENS_SALA) ) THEN ! N1 = NDENS_SALA(I,J) / State_Met%AIRVOL(I,J,L) & ! * 1.e-6_fp * FEMIS !ENDIF !IF ( ASSOCIATED(NDENS_SALC) ) THEN ! N2 = NDENS_SALC(I,J) / State_Met%AIRVOL(I,J,L) & ! * 1.e-6_fp * FEMIS !ENDIF !ENDIF !----------------------------------------------------------------------- ! NOTE: If you want to transport alkalinity then uncomment this section ! (bec, bmy, 4/13/05) ! !! alkalinity [v/v] to [kg] use this when transporting alk !! or using Liao et al [2004] assumption of a continuous supply of ! alkalinity based on Laskin et al. [2003] !ALK1 = Spc(id_SALA)%Conc(I,J,L) * State_Met%AD(I,J,L)/ ! & ( AIRMW / State_Chm%SpcData(id_SALA)%Info%MW_g ) !ALK2 = Spc(id_SALC)%Conc(I,J,L) * State_Met%AD(I,J,L)/ ! & ( AIRMW / State_Chm%SpcData(id_SALC)%Info%MW_g ) !----------------------------------------------------------------------- ! Conversion from [m-3] --> [cm-3] !N1 = N_DENS(I,J,L,1) * 1.d-6 !N2 = N_DENS(I,J,L,2) * 1.d-6 !Read Alkalinity from Alkalinity tracers [v/v] to [kg], xnw 12/8/17 ALK1 = State_Chm%Species(id_SALAAL)%Conc(I,J,L) * State_Met%AD(I,J,L)/ & ( AIRMW / State_Chm%SpcData(id_SALAAL)%Info%MW_g ) ALK2 = State_Chm%Species(id_SALCAL)%Conc(I,J,L) * State_Met%AD(I,J,L)/ & ( AIRMW / State_Chm%SpcData(id_SALCAL)%Info%MW_g ) !Seasalt mass, [v/v] to [kg] !SLA = State_Chm%Species(id_SALA)%Conc(I,J,L) * State_Met%AD(I,J,L)/ ! & ( AIRMW / State_Chm%SpcData(id_SALA)%Info%MW_g ) !SLC = State_Chm%Species(id_SALC)%Conc(I,J,L) * State_Met%AD(I,J,L)/ ! & ( AIRMW / State_Chm%SpcData(id_SALC)%Info%MW_g ) ALK = ALK1 + ALK2 ! If there is any alkalinity ... IF ( ALK > MINDAT ) THEN SA1= TAREA(I,J,L,4+NDUST) !in cm2/cm3 SA2= TAREA(I,J,L,5+NDUST) !in cm2/cm3 R1 = ERADIUS(I,J,L,4+NDUST) !in cm R2 = ERADIUS(I,J,L,5+NDUST) !in cm ! set humidity index IRH as a percent !IRH = State_Met%RH(I,J,L) !IRH = MAX( 1, IRH ) !IRH = MIN( 99, IRH ) ! Hygroscopic growth factor for sea-salt from Chin et al. (2002) ! Updated (bec, bmy, 11/23/09) !IF ( IRH < 100 ) HGF = 4.8e+0_fp !IF ( IRH < 99 ) HGF = 2.9e+0_fp !IF ( IRH < 95 ) HGF = 2.4e+0_fp !IF ( IRH < 90 ) HGF = 2.0e+0_fp !IF ( IRH < 80 ) HGF = 1.8e+0_fp !IF ( IRH < 70 ) HGF = 1.6e+0_fp !IF ( IRH < 50 ) HGF = 1.0e+0_fp ! radius of sea-salt aerosol size bins [cm] accounting for ! hygroscopic growth !RAD1 = Input_Opt%SALA_REDGE_um(1) * HGF * 1.e-4_fp !RAD2 = Input_Opt%SALA_REDGE_um(2) * HGF * 1.e-4_fp !RAD3 = Input_Opt%SALC_REDGE_um(2) * HGF * 1.e-4_fp !---------------------------------- ! SO2 uptake onto fine particles !---------------------------------- DG = 9.45E+17_fp/State_Met%AIRNUMDEN(I,J,L) * & SQRT(State_Met%T(I,J,L)) * SQRT(3.472E-2_fp +1.E+0_fp/64.e+0_fp) ! calculate gas-to-particle rate constant for uptake of ! SO2 onto fine sea-salt aerosols [Jacob, 2000] analytical solution CONST1 = 4.e+0_fp/(V*GAMMA_SO2) !A1 = (RAD1/DG)+CONST1 !B1 = (RAD2/DG)+CONST1 !TERM1A = ((B1**2)/2.0e+0_fp) - ((A1**2)/2.0e+0_fp) !TERM2A = 2.e+0_fp*CONST1*(B1-A1) !TERM3A = (CONST1**2)*LOG(B1/A1) !KT1 = 4.e+0_fp*PI*N1*(DG**3)*(TERM1A - TERM2A + TERM3A) ! now calculate rate of uptake as kt = [SSA]/( r/Dg + 4/(v*gamma) ) KT1 = SA1/((R1/DG) + CONST1) !---------------------------------- ! SO2 uptake onto coarse particles !---------------------------------- ! calculate gas-to-particle rate constant for uptake of ! SO2 onto coarse sea-salt aerosols [Jacob, 2000] analytical solution CONST2 = 4.e+0_fp/(V*GAMMA_SO2) !A2 = (RAD2/DG)+CONST2 !B2 = (RAD3/DG)+CONST2 !TERM1B = ((B2**2)/2.0e+0_fp) - ((A2**2)/2.0e+0_fp) !TERM2B = 2.e+0_fp*CONST2*(B2-A2) !TERM3B = (CONST2**2)*LOG(B2/A2) !KT2 = 4.e+0_fp*PI*N2*(DG**3)*(TERM1B - TERM2B + TERM3B) KT2 = SA2/((R2/DG) + CONST2) KT = KT1 + KT2 !---------------------------------- ! HNO3 uptake onto fine particles !---------------------------------- DG = 9.45E+17_fp/State_Met%AIRNUMDEN(I,J,L) * & SQRT(State_Met%T(I,J,L)) * SQRT(3.472E-2_fp +1.E+0_fp/63.e+0_fp) ! calculate gas-to-particle rate constant for uptake of ! HNO3 onto fine sea-salt aerosols [Jacob, 2000] analytical solution CONST1N = 4.e+0_fp/(V*GAMMA_HNO3) !A1N = (RAD1/DG)+CONST1N !B1N = (RAD2/DG)+CONST1N !TERM1AN = ((B1N**2)/2.0e+0_fp) - ((A1N**2)/2.0e+0_fp) !TERM2AN = 2.e+0_fp*CONST1N*(B1N-A1N) !TERM3AN = (CONST1N**2)*LOG(B1N/A1N) !KT1N = 4.e+0_fp*PI*N1*(DG**3)*(TERM1AN - TERM2AN + TERM3AN) KT1N = SA1/((R1/DG) + CONST1N) !---------------------------------- ! HNO3 uptake onto coarse particles !---------------------------------- ! calculate gas-to-particle rate constant for uptake of ! HNO3 onto coarse sea-salt aerosols [Jacob, 2000] analytical solution CONST2N = 4.e+0_fp/(V*GAMMA_HNO3) !A2N = (RAD2/DG)+CONST2N !B2N = (RAD3/DG)+CONST2N !TERM1BN = ((B2N**2)/2.0e+0_fp) - ((A2N**2)/2.0e+0_fp) !TERM2BN = 2.e+0_fp*CONST2N*(B2N-A2N) !TERM3BN = (CONST2N**2)*LOG(B2N/A2N) !KT2N = 4.e+0_fp*PI*N2*(DG**3)*(TERM1BN - TERM2BN + TERM3BN) KT2N = SA2/((R2/DG) + CONST2N) !---------------------------------- ! HCl uptake onto fine particles !---------------------------------- DG = 9.45E+17_fp/State_Met%AIRNUMDEN(I,J,L) * & SQRT(State_Met%T(I,J,L))*SQRT(3.472E-2_fp +1.E+0_fp/36.45e+0_fp) CONST1L = 4.e+0_fp/(V*GAMMA_HCl) KT1L = SA1/((R1/DG) + CONST1L) !---------------------------------- ! HCl uptake onto coarse particles !---------------------------------- CONST2L = 4.e+0_fp/(V*GAMMA_HCl) KT2L = SA2/((R2/DG) + CONST2L) ELSE ! If no alkalinity, set everything to zero ALK1 = 0.e+0_fp ALK2 = 0.e+0_fp KT1 = 0.e+0_fp KT1N = 0.e+0_fp KT2 = 0.e+0_fp KT2N = 0.e+0_fp ENDIF ! Free pointers NULLIFY( ERADIUS, TAREA ) ! Return w/ success RC = GC_SUCCESS END SUBROUTINE GET_ALK !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: init_sulfate ! ! !DESCRIPTION: Subroutine INIT\_SULFATE initializes and zeros all allocatable ! arrays declared in "sulfate\_mod.F90" (bmy, 6/2/00, 10/15/09) !\\ !\\ ! !INTERFACE: ! SUBROUTINE INIT_SULFATE( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE CMN_SIZE_Mod, ONLY : NDSTBIN USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Chm_Mod, ONLY : Ind_ USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(IN) :: State_Diag ! Diagnostics State object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 02 Jun 2000 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I, J, N ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc !================================================================= ! INIT_SULFATE begins here! !================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Init_Sulfate (in module GeosCore/sulfate_mod.F90)' ! Exit immediately if this is a dry-run simulation IF ( Input_Opt%DryRun ) RETURN !================================================================= ! Error check !================================================================= IF ( ( .not. Input_Opt%ITS_A_FULLCHEM_SIM ) .and. & ( .not. Input_Opt%ITS_AN_AEROSOL_SIM ) ) THEN ErrMsg = 'Invalid simulation for sulfate_mod!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !================================================================= ! Allocate arrays !================================================================= ALLOCATE( SSTEMP( State_Grid%NX, State_Grid%NY ), STAT=RC ) CALL GC_CheckVar( 'sulfate_mod.F90:SSTEMP', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN SSTEMP = 0e+0_fp ALLOCATE( DMSo( State_Grid%NX, State_Grid%NY ), STAT=RC ) CALL GC_CheckVar( 'sulfate_mod.F90:DMSo', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN DMSo = 0e+0_fp ALLOCATE( PMSA_DMS( State_Grid%NX, State_Grid%NY, State_Met%MaxChemLev ), & STAT=RC ) CALL GC_CheckVar( 'sulfate_mod.F90:PMSA_DMS', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN PMSA_DMS = 0e+0_fp ALLOCATE( PSO2_DMS( State_Grid%NX, State_Grid%NY, State_Met%MaxChemLev ), & STAT=RC ) CALL GC_CheckVar( 'sulfate_mod.F90:PSO2_DMS', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN PSO2_DMS = 0e+0_fp ALLOCATE( PSO4_SO2( State_Grid%NX, State_Grid%NY, State_Met%MaxChemLev ), & STAT=RC ) CALL GC_CheckVar( 'sulfate_mod.F90:PSO4_SO2', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN PSO4_SO2 = 0e+0_fp ALLOCATE( PHMS_SO2( State_Grid%NX, State_Grid%NY, State_Met%MaxChemLev ), & STAT=RC ) CALL GC_CheckVar( 'sulfate_mod.F90:PHMS_SO2', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN PHMS_SO2 = 0e+0_fp ALLOCATE( PSO2_HMS( State_Grid%NX, State_Grid%NY, State_Met%MaxChemLev ), & STAT=RC ) CALL GC_CheckVar( 'sulfate_mod.F90:PSO2_HMS', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN PSO2_HMS = 0e+0_fp ALLOCATE( PSO4_HMS( State_Grid%NX, State_Grid%NY, State_Met%MaxChemLev ), & STAT=RC ) CALL GC_CheckVar( 'sulfate_mod.F90:PSO4_HMS', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN PSO4_HMS = 0e+0_fp ALLOCATE( PSO4_ss( State_Grid%NX, State_Grid%NY, State_Met%MaxChemLev ), & STAT=RC ) CALL GC_CheckVar( 'sulfate_mod.F90:PSO4_ss', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN PSO4_ss = 0e+0_fp ALLOCATE( PNITs( State_Grid%NX, State_Grid%NY, State_Met%MaxChemLev ), & STAT=RC ) CALL GC_CheckVar( 'sulfate_mod.F90:PNITs', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN PNITs = 0e+0_fp !xnw ALLOCATE( PNIT( State_Grid%NX, State_Grid%NY, State_Met%MaxChemLev), STAT=RC ) CALL GC_CheckVar( 'sulfate_mod.F:PNIT', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN PNIT = 0e+0_fp !xnw ALLOCATE( PACL( State_Grid%NX, State_Grid%NY, State_Met%MaxChemLev ), STAT=RC ) CALL GC_CheckVar( 'sulfate_mod.F:PACL', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN PACL = 0e+0_fp !xnw ALLOCATE( PCCL( State_Grid%NX, State_Grid%NY, State_Met%MaxChemLev ), STAT=RC ) CALL GC_CheckVar( 'sulfate_mod.F:PCCL', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN PCCL = 0e+0_fp !tdf ALLOCATE( PSO4_dust( State_Grid%NX, State_Grid%NY, State_Met%MaxChemLev, & NDSTBIN ), STAT=RC ) CALL GC_CheckVar( 'sulfate_mod.F90:PSO4_dust', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN PSO4_dust = 0e+0_fp !tdf ALLOCATE( PNIT_dust( State_Grid%NX, State_Grid%NY, State_Met%MaxChemLev, & NDSTBIN ), STAT=RC ) CALL GC_CheckVar( 'sulfate_mod.F90:PNIT_dust', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN PNIT_dust = 0e+0_fp ALLOCATE( SOx_SCALE( State_Grid%NX, State_Grid%NY ), STAT=RC ) CALL GC_CheckVar( 'sulfate_mod.F90:SOx_SCALE', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN SOx_SCALE = 0e+0_fp #ifdef APM ! Allocate for APM microphysics ALLOCATE( PSO4_SO2APM( State_Grid%NX, State_Grid%NY, State_Grid%NZ ), & STAT=RC ) CALL GC_CheckVar( 'sulfate_mod.F90:PSO4_SO2APM', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN PSO4_SO2APM = 0e+0_fp ALLOCATE( PSO4_SO2SEA( State_Grid%NX, State_Grid%NY, State_Grid%NZ ), & STAT=RC ) CALL GC_CheckVar( 'sulfate_mod.F90:PSO4_SO2SEA', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN PSO4_SO2SEA = 0e+0_fp #endif #ifdef TOMAS ! Allocate for TOMAS microphysics ALLOCATE( PSO4_SO2AQ( State_Grid%NX, State_Grid%NY, State_Grid%NZ ), & STAT=RC ) CALL GC_CheckVar( 'sulfate_mod.F90:PSO4_SO2aq', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN PSO4_SO2AQ = 0e+0_fp ALLOCATE( SO4_ANTH( State_Grid%NX, State_Grid%NY, State_Grid%NZ ), & STAT=RC ) CALL GC_CheckVar( 'sulfate_mod.F90:SO4_ANTH', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN SO4_ANTH = 0e+0_fp #endif !================================================================= ! Only initialize the following for offline aerosol simulations !================================================================= IF ( Input_Opt%ITS_AN_AEROSOL_SIM ) THEN ALLOCATE( TCOSZ( State_Grid%NX, State_Grid%NY ), STAT=RC ) CALL GC_CheckVar( 'sulfate_mod.F90:TCOSZ', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN TCOSZ = 0e+0_fp ALLOCATE( TTDAY( State_Grid%NX, State_Grid%NY ), STAT=RC ) CALL GC_CheckVar( 'sulfate_mod.F90:TTDAY', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN TTDAY = 0e+0_fp ALLOCATE( COSZM( State_Grid%NX, State_Grid%NY ), STAT=RC ) CALL GC_CheckVar( 'sulfate_mod.F90:COSZM', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN COSZM = 0e+0_fp ALLOCATE(GLOBAL_OH(State_Grid%NX,State_Grid%NY,State_Grid%NZ), STAT=RC) CALL GC_CheckVar( 'sulfate_mod.F90:GLOBAL_OH', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN GLOBAL_OH = 0e+0_fp ALLOCATE(GLOBAL_HNO3(State_Grid%NX,State_Grid%NY,State_Grid%NZ), STAT=RC) CALL GC_CheckVar( 'sulfate_mod.F90:GLOBAL_HNO3', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN GLOBAL_HNO3 = 0e+0_fp ALLOCATE(GLOBAL_HCl(State_Grid%NX,State_Grid%NY,State_Grid%NZ), STAT=RC) CALL GC_CheckVar( 'sulfate_mod.F90:GLOBAL_HCl', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN GLOBAL_HCl = 0e+0_fp ALLOCATE(GLOBAL_HCOOH(State_Grid%NX,State_Grid%NY,State_Grid%NZ), STAT=RC) CALL GC_CheckVar( 'sulfate_mod.F90:GLOBAL_HCOOH', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN GLOBAL_HCOOH = 0e+0_fp ALLOCATE(GLOBAL_ACTA(State_Grid%NX,State_Grid%NY,State_Grid%NZ), STAT=RC) CALL GC_CheckVar( 'sulfate_mod.F90:GLOBAL_ACTA', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN GLOBAL_ACTA = 0e+0_fp ENDIF !================================================================ ! Find drydep species !================================================================= ! Define flags for species ID's ! 7 dust bins (D. Zhang, 5 Mar 2025) id_AS = Ind_('AS' ) id_AHS = Ind_('AHS' ) id_AW01 = Ind_('AW01' ) id_DALbin1 = Ind_('DSTALbin1' ) id_DALbin2 = Ind_('DSTALbin2' ) id_DALbin3 = Ind_('DSTALbin3' ) id_DALbin4 = Ind_('DSTALbin4' ) id_DALbin5 = Ind_('DSTALbin5' ) id_DALbin6 = Ind_('DSTALbin6' ) id_DALbin7 = Ind_('DSTALbin7' ) id_DMS = Ind_('DMS' ) id_DSTbin1 = Ind_('DSTbin1' ) id_DSTbin2 = Ind_('DSTbin2' ) id_DSTbin3 = Ind_('DSTbin3' ) id_DSTbin4 = Ind_('DSTbin4' ) id_DSTbin5 = Ind_('DSTbin5' ) id_DSTbin6 = Ind_('DSTbin6' ) id_DSTbin7 = Ind_('DSTbin7' ) id_H2O2 = Ind_('H2O2' ) id_HNO3 = Ind_('HNO3' ) id_HOBr = Ind_('HOBr' ) id_HOCl = Ind_('HOCl' ) id_LET = Ind_('LET' ) id_MSA = Ind_('MSA' ) id_NH3 = Ind_('NH3' ) id_NH4 = Ind_('NH4' ) id_NH4aq = Ind_('NH4aq' ) id_NIT = Ind_('NIT' ) id_NITdbin1 = Ind_('NITDbin1' ) id_NITdbin2 = Ind_('NITDbin2' ) id_NITdbin3 = Ind_('NITDbin3' ) id_NITdbin4 = Ind_('NITDbin4' ) id_NITdbin5 = Ind_('NITDbin5' ) id_NITdbin6 = Ind_('NITDbin6' ) id_NITdbin7 = Ind_('NITDbin7' ) id_NITs = Ind_('NITs' ) id_NK01 = Ind_('NK01' ) id_NK05 = Ind_('NK05' ) id_NK08 = Ind_('NK08' ) id_NK10 = Ind_('NK10' ) id_NK20 = Ind_('NK20' ) id_NO3 = Ind_('NO3' ) id_O3 = Ind_('O3' ) id_OH = Ind_('OH' ) id_pFe = Ind_('pFe' ) id_PSO4 = Ind_('PSO4' ) id_SALA = Ind_('SALA' ) id_SALC = Ind_('SALC' ) id_SF01 = Ind_('SF01' ) id_SO2 = Ind_('SO2' ) id_SO4 = Ind_('SO4' ) id_SO4aq = Ind_('SO4aq' ) id_SO4dbin1 = Ind_('SO4Dbin1' ) id_SO4dbin2 = Ind_('SO4Dbin2' ) id_SO4dbin3 = Ind_('SO4Dbin3' ) id_SO4dbin4 = Ind_('SO4Dbin4' ) id_SO4dbin5 = Ind_('SO4Dbin5' ) id_SO4dbin6 = Ind_('SO4Dbin6' ) id_SO4dbin7 = Ind_('SO4Dbin7' ) id_SO4s = Ind_('SO4s' ) id_SALACL= Ind_('SALACL' ) id_HCL = Ind_('HCL' ) !id_NH4s = Ind_('NH4s' ) id_SALCCL= Ind_('SALCCL' ) id_SALAAL= Ind_('SALAAL' ) id_SALCAL= Ind_('SALCAL' ) id_SO4H1 = Ind_('SO4H1' ) id_SO4H2 = Ind_('SO4H2' ) id_SO4H3 = Ind_('SO4H3' ) id_SO4H4 = Ind_('SO4H4' ) id_HCOOH = Ind_('HCOOH' ) ! (jmm, 12/3/18) id_ACTA = Ind_('ACTA' ) ! (jmm, 12/3/18) id_CH2O = Ind_('CH2O' ) ! (jmm, 06/15/18) id_HMS = Ind_('HMS' ) ! (jmm, 06/15/18) ! Define flags for species drydep indices DRYNITs = Ind_('NITs', 'D') DRYNITdbin1 = Ind_('NITDbin1','D') DRYNITdbin2 = Ind_('NITDbin2','D') DRYNITdbin3 = Ind_('NITDbin3','D') DRYNITdbin4 = Ind_('NITDbin4','D') DRYNITdbin5 = Ind_('NITDbin5','D') DRYNITdbin6 = Ind_('NITDbin6','D') DRYNITdbin7 = Ind_('NITDbin7','D') DRYSO4s = Ind_('SO4s', 'D') DRYSO4dbin1 = Ind_('SO4dbin1','D') DRYSO4dbin2 = Ind_('SO4dbin2','D') DRYSO4dbin3 = Ind_('SO4dbin3','D') DRYSO4dbin4 = Ind_('SO4dbin4','D') DRYSO4dbin5 = Ind_('SO4dbin5','D') DRYSO4dbin6 = Ind_('SO4dbin6','D') DRYSO4dbin7 = Ind_('SO4dbin7','D') ! Error check the dust uptake species IF ( Input_Opt%LDSTUP ) THEN IF ( id_DALbin1 < 0 .or. id_DALbin2 < 0 .or. id_DALbin3 < 0 .or. & id_DALbin4 < 0 .or. id_DALbin5 < 0 .or. id_DALbin6 < 0 .or. id_DALbin7 < 0 .or. & id_NITdbin1 < 0 .or. id_NITdbin2 < 0 .or. id_NITdbin3 < 0 .or. & id_NITdbin4 < 0 .or. id_NITdbin5 < 0 .or. id_NITdbin6 < 0 .or. id_NITdbin7 < 0 .or. & id_SO4dbin1 < 0 .or. id_SO4dbin2 < 0 .or. id_SO4dbin3 < 0 .or. & id_SO4dbin4 < 0 .or. id_SO4dbin5 < 0 .or. id_SO4dbin6 < 0 .or. id_SO4dbin7 < 0 ) THEN ErrMsg =' Dust uptake tracers are undefined!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF END SUBROUTINE INIT_SULFATE !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: cleanup_sulfate ! ! !DESCRIPTION: Subroutine CLEANUP\_SULFATE deallocates all previously ! allocated arrays for sulfate emissions -- call at the end of the run ! (bmy, 6/1/00, 10/15/09) !\\ !\\ ! !INTERFACE: ! SUBROUTINE CLEANUP_SULFATE() ! ! !REVISION HISTORY: ! 01 Jun 2000 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC IF ( ALLOCATED( DMSo ) ) DEALLOCATE( DMSo ) IF ( ALLOCATED( PMSA_DMS ) ) DEALLOCATE( PMSA_DMS ) IF ( ALLOCATED( PNITs ) ) DEALLOCATE( PNITs ) IF ( ALLOCATED( PNIT ) ) DEALLOCATE( PNIT ) IF ( ALLOCATED( PACL ) ) DEALLOCATE( PACL ) IF ( ALLOCATED( PCCL ) ) DEALLOCATE( PCCL ) IF ( ALLOCATED( PSO2_DMS ) ) DEALLOCATE( PSO2_DMS ) IF ( ALLOCATED( PSO4_SO2 ) ) DEALLOCATE( PSO4_SO2 ) IF ( ALLOCATED( PHMS_SO2 ) ) DEALLOCATE( PHMS_SO2 ) IF ( ALLOCATED( PSO2_HMS ) ) DEALLOCATE( PSO2_HMS ) IF ( ALLOCATED( PSO4_HMS ) ) DEALLOCATE( PSO4_HMS ) #ifdef APM IF ( ALLOCATED( PSO4_SO2APM ) ) DEALLOCATE( PSO4_SO2APM ) IF ( ALLOCATED( PSO4_SO2SEA ) ) DEALLOCATE( PSO4_SO2SEA ) #endif #ifdef TOMAS IF ( ALLOCATED( PSO4_SO2AQ ) ) DEALLOCATE( PSO4_SO2AQ ) IF ( ALLOCATED( SO4_ANTH )) DEALLOCATE( SO4_ANTH ) #endif IF ( ALLOCATED( PSO4_ss ) ) DEALLOCATE( PSO4_ss ) IF ( ALLOCATED( PSO4_dust ) ) DEALLOCATE( PSO4_dust ) IF ( ALLOCATED( PNIT_dust ) ) DEALLOCATE( PNIT_dust ) IF ( ALLOCATED( SOx_SCALE ) ) DEALLOCATE( SOx_SCALE ) IF ( ALLOCATED( SSTEMP ) ) DEALLOCATE( SSTEMP ) IF ( ALLOCATED( TCOSZ ) ) DEALLOCATE( TCOSZ ) IF ( ALLOCATED( TTDAY ) ) DEALLOCATE( TTDAY ) IF ( ALLOCATED( COSZM ) ) DEALLOCATE( COSZM ) IF ( ALLOCATED( GLOBAL_OH ) ) DEALLOCATE( GLOBAL_OH ) IF ( ALLOCATED( GLOBAL_HNO3 ) ) DEALLOCATE( GLOBAL_HNO3 ) IF ( ALLOCATED( GLOBAL_HCl ) ) DEALLOCATE( GLOBAL_HCl ) IF ( ALLOCATED( GLOBAL_HCOOH) ) DEALLOCATE( GLOBAL_HCOOH) IF ( ALLOCATED( GLOBAL_ACTA ) ) DEALLOCATE( GLOBAL_ACTA ) ! Free pointers IF ( ASSOCIATED( NDENS_SALA ) ) NDENS_SALA => NULL() IF ( ASSOCIATED( NDENS_SALC ) ) NDENS_SALC => NULL() END SUBROUTINE CLEANUP_SULFATE !EOC #ifdef APM !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: wet_settlingbin ! ! !DESCRIPTION: Subroutine WET\_SETTLINGBIN computes the dry settling of ! aerosol tracers. Modified for APM simulation. (G. Luo) !\\ !\\ ! !INTERFACE: ! SUBROUTINE WET_SETTLINGBIN( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Diag_Mod, ONLY : DgnState USE State_Met_Mod, ONLY : MetState USE PRESSURE_MOD, ONLY : GET_PCENTER USE TIME_MOD, ONLY : GET_TS_CHEM USE PhysConstants USE APM_INIT_MOD, ONLY : APMIDS USE APM_INIT_MOD, ONLY : NCTSO4,NSO4 USE APM_INIT_MOD, ONLY : RDRY USE APM_DRIV_MOD, ONLY : GFTOT3D,DENWET3D ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Local variables INTEGER :: I, J, L, N, K INTEGER :: IDTEMP1, IDTEMP2 REAL*8 :: DT_SETTL, DELZ, DELZ1 REAL*8 :: REFF, DEN, CONST REAL*8 :: NUM, LAMDA, FLUX REAL*8 :: AREA_CM2, TC0(State_Grid%NZ) REAL*8 :: TOT1, TOT2 ! Pressure in Kpa 1 mb = 100 pa = 0.1 kPa REAL*8 :: P ! Diameter of aerosol [um] REAL*8 :: Dp ! Pressure * DP REAL*8 :: PDp ! Temperature (K) REAL*8 :: TEMP ! Slip correction factor REAL*8 :: Slip ! Viscosity of air (Pa s) REAL*8 :: Visc ! Settling velocity of particle (m/s) REAL*8 :: VTS(State_Grid%NZ) REAL*8 :: MASS(State_Grid%NZ) REAL*8 :: OLD(State_Grid%NZ,NCTSO4+2) ! Make a pointer to the tracer array TYPE(SpcConc), POINTER :: Spc(:) !================================================================= ! WET_SETTLINGBIN begins here! !================================================================= ! Assume success RC = GC_SUCCESS ! Point to Spc Spc => State_Chm%Species ! Aerosol settling timestep [s] DT_SETTL = GET_TS_CHEM() IDTEMP1 = APMIDS%id_SO4BIN1 IDTEMP2 = APMIDS%id_SO4BIN1+NSO4-1 !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, L, N, K, DEN, REFF )& !$OMP PRIVATE( DP, CONST, VTS, TEMP, P, PDP, SLIP )& !$OMP PRIVATE( MASS, OLD, VISC, TC0, DELZ, DELZ1 )& !$OMP SCHEDULE( DYNAMIC, 1 ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Zero private loop variables CONST = 0.0_fp DELZ = 0.0_fp DELZ1 = 0.0_fp DEN = 0.0_fp DP = 0.0_fp MASS = 0.0_fp OLD = 0.0_fp P = 0.0_fp PDP = 0.0_fp REFF = 0.0_fp SLIP = 0.0_fp TEMP = 0.0_fp TC0 = 0.0_fp VISC = 0.0_fp VTS = 0.0_fp DO L = 1, State_Grid%NZ !MASS(L) = 0.0d0 DO N = IDTEMP1, IDTEMP2 MASS(L) = MASS(L) + Spc(N)%Conc(I,J,L) ENDDO DO K = 1, NCTSO4 OLD(L,K) = Spc(APMIDS%id_CTSO4+K-1)%Conc(I,J,L) Spc(APMIDS%id_CTSO4+K-1)%Conc(I,J,L) = 0.D0 ENDDO OLD(L,NCTSO4+1) = Spc(APMIDS%id_NIT)%Conc(I,J,L) OLD(L,NCTSO4+2) = Spc(APMIDS%id_NH4)%Conc(I,J,L) Spc(APMIDS%id_NIT)%Conc(I,J,L) = 0.D0 Spc(APMIDS%id_NH4)%Conc(I,J,L) = 0.D0 ENDDO ! Loop over aerosol bins DO N = 1, NSO4 DO L = 1, State_Grid%NZ TC0(L) = Spc(APMIDS%id_SO4BIN1+N-1)%Conc(I,J,L) IF(TC0(L)>1.D-30)THEN ! Initialize DEN = DENWET3D(I,J,L,1)*1.d3 REFF = RDRY(N)*GFTOT3D(I,J,L,1) DP = 2D0 * REFF * 1.D6 ! Dp [um] = particle diameter CONST = 2D0 * DEN * REFF**2 * g0 / 9D0 ! Get P [kPa], T [K], and P*DP P = GET_PCENTER(I,J,L) * 0.1d0 TEMP = State_Met%T(I,J,L) PDP = P * DP ! Slip correction factor as function of (P*dp) SLIP = 1d0 + ( 15.60d0 + 7.0d0 * EXP(-0.059d0*PDP) ) / PDP ! Viscosity [Pa s] of air as a function of temp (K) VISC = 1.458d-6 * (TEMP)**(1.5d0) / ( TEMP + 110.4d0 ) ! Settling velocity [m/s] VTS(L) = CONST * SLIP / VISC ELSE VTS(L) = 0.D0 ENDIF ENDDO ! Method is to solve bidiagonal matrix ! which is implicit and first order accurate in Z L = State_Grid%NZ IF(MASS(L)>1.D-30)THEN DELZ = State_Met%BXHEIGHT(I,J,L) Spc(APMIDS%id_SO4BIN1+N-1)%Conc(I,J,L) = & Spc(APMIDS%id_SO4BIN1+N-1)%Conc(I,J,L) / & ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) DO K = 1, NCTSO4 Spc(APMIDS%id_CTSO4+K-1)%Conc(I,J,L) = & Spc(APMIDS%id_CTSO4+K-1)%Conc(I,J,L)+ & OLD(L,K)*TC0(L)/MASS(L) / & ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) ENDDO Spc(APMIDS%id_NIT)%Conc(I,J,L) = & Spc(APMIDS%id_NIT)%Conc(I,J,L)+ & OLD(L,NCTSO4+1)*TC0(L)/MASS(L) / & ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) Spc(APMIDS%id_NH4)%Conc(I,J,L) = & Spc(APMIDS%id_NH4)%Conc(I,J,L)+ & OLD(L,NCTSO4+2)*TC0(L)/MASS(L) / & ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) ENDIF DO L = State_Grid%NZ-1, 1, -1 IF((MASS(L)*MASS(L+1))>1.D-30)THEN DELZ = State_Met%BXHEIGHT(I,J,L) DELZ1 = State_Met%BXHEIGHT(I,J,L+1) Spc(APMIDS%id_SO4BIN1+N-1)%Conc(I,J,L) = 1.e+0_fp / & ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) & * (Spc(APMIDS%id_SO4BIN1+N-1)%Conc(I,J,L) & + DT_SETTL * VTS(L+1) / DELZ1 * TC0(L+1) ) DO K = 1, NCTSO4 Spc(APMIDS%id_CTSO4+K-1)%Conc(I,J,L) = & Spc(APMIDS%id_CTSO4+K-1)%Conc(I,J,L)+ & 1.e+0_fp / & ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) & * (OLD(L,K)*TC0(L)/MASS(L) & + DT_SETTL * VTS(L+1) / DELZ1 & * OLD(L+1,K)*TC0(L+1)/MASS(L+1) ) ENDDO Spc(APMIDS%id_NIT)%Conc(I,J,L) = & Spc(APMIDS%id_NIT)%Conc(I,J,L)+ & 1.e+0_fp / & ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) & * (OLD(L,NCTSO4+1)*TC0(L)/MASS(L) & + DT_SETTL * VTS(L+1) / DELZ1 & * OLD(L+1,NCTSO4+1)*TC0(L+1)/MASS(L+1) ) Spc(APMIDS%id_NH4)%Conc(I,J,L) = & Spc(APMIDS%id_NH4)%Conc(I,J,L)+ & 1.e+0_fp / & ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) & * (OLD(L,NCTSO4+2)*TC0(L)/MASS(L) & + DT_SETTL * VTS(L+1) / DELZ1 & * OLD(L+1,NCTSO4+2)*TC0(L+1)/MASS(L+1) ) ELSE IF(MASS(L)>1.D-30)THEN DELZ = State_Met%BXHEIGHT(I,J,L) DELZ1 = State_Met%BXHEIGHT(I,J,L+1) Spc(APMIDS%id_SO4BIN1+N-1)%Conc(I,J,L) = 1.e+0_fp / & ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) & * (Spc(APMIDS%id_SO4BIN1+N-1)%Conc(I,J,L) & + DT_SETTL * VTS(L+1) / DELZ1 * TC0(L+1) ) DO K = 1, NCTSO4 Spc(APMIDS%id_CTSO4+K-1)%Conc(I,J,L) = & Spc(APMIDS%id_CTSO4+K-1)%Conc(I,J,L)+ & 1.e+0_fp / & ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) & * OLD(L,K)*TC0(L)/MASS(L) ENDDO Spc(APMIDS%id_NIT)%Conc(I,J,L) = & Spc(APMIDS%id_NIT)%Conc(I,J,L)+ & 1.e+0_fp / & ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) & * OLD(L,NCTSO4+1)*TC0(L)/MASS(L) Spc(APMIDS%id_NH4)%Conc(I,J,L) = & Spc(APMIDS%id_NH4)%Conc(I,J,L)+ & 1.e+0_fp / & ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) & * OLD(L,NCTSO4+2)*TC0(L)/MASS(L) ELSE IF(MASS(L+1)>1.D-30)THEN DELZ = State_Met%BXHEIGHT(I,J,L) DELZ1 = State_Met%BXHEIGHT(I,J,L+1) Spc(APMIDS%id_SO4BIN1+N-1)%Conc(I,J,L) = 1.e+0_fp / & ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) & * (Spc(APMIDS%id_SO4BIN1+N-1)%Conc(I,J,L) & + DT_SETTL * VTS(L+1) / DELZ1 * TC0(L+1) ) DO K = 1, NCTSO4 Spc(APMIDS%id_CTSO4+K-1)%Conc(I,J,L) = & Spc(APMIDS%id_CTSO4+K-1)%Conc(I,J,L)+ & 1.e+0_fp / & ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) & * DT_SETTL * VTS(L+1) / DELZ1 & * OLD(L+1,K)*TC0(L+1)/MASS(L+1) ENDDO Spc(APMIDS%id_NIT)%Conc(I,J,L) = & Spc(APMIDS%id_NIT)%Conc(I,J,L)+ & 1.e+0_fp / & ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) & * DT_SETTL * VTS(L+1) / DELZ1 & * OLD(L+1,NCTSO4+1)*TC0(L+1)/MASS(L+1) Spc(APMIDS%id_NH4)%Conc(I,J,L) = & Spc(APMIDS%id_NH4)%Conc(I,J,L)+ & 1.e+0_fp / & ( 1.e+0_fp + DT_SETTL * VTS(L) / DELZ ) & * DT_SETTL * VTS(L+1) / DELZ1 & * OLD(L+1,NCTSO4+2)*TC0(L+1)/MASS(L+1) ENDIF ENDDO ENDDO DO L = 1, State_Grid%NZ DO K = 1, NCTSO4 Spc(APMIDS%id_CTSO4+K-1)%Conc(I,J,L) = & MAX(1.d-30,Spc(APMIDS%id_CTSO4+K-1)%Conc(I,J,L)) ENDDO Spc(APMIDS%id_NIT)%Conc(I,J,L) = MAX(1.d-30,Spc(APMIDS%id_NIT)%Conc(I,J,L)) Spc(APMIDS%id_NH4)%Conc(I,J,L) = MAX(1.d-30,Spc(APMIDS%id_NH4)%Conc(I,J,L)) ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ! Clear the pointer NULLIFY( Spc ) END SUBROUTINE WET_SETTLINGBIN #endif END MODULE SULFATE_MOD ================================================ FILE: GeosCore/tagged_o3_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: tagged_o3_mod.F90 ! ! !DESCRIPTION: Contains variables and routines to perform a tagged O3 ! simulation. P(O3) and L(O3) rates need to be archived from a full ! chemistry simulation (via the "ProdLoss" History diagnostics collection). !\\ !\\ ! !INTERFACE: ! MODULE Tagged_O3_Mod ! ! !USES: ! USE Precision_Mod IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: Chem_Tagged_O3 PUBLIC :: Init_Tagged_O3 ! ! !REMARKS: ! THE EXTENDED TAGGED O3 SIMULATION (DEFAULT) HAS THESE ADVECTED SPECIES ! ---------------------------------------------------------------------------- ! O3 : Total O3 ! O3Strat : O3 from the Stratosphere (tropopause - atm top ) ! O3ut : O3 produced in Upper Trop (350 hPa - tropopause) ! O3mt : O3 produced in Middle Trop (PBL top - 350 hPa ) ! O3row : O3 produced in Rest of World (surface - PBL top ) ! O3pcbl : O3 produced in Pacific BL (surface - PBL top ) ! O3nabl : O3 produced in N. American BL (surface - PBL top ) ! O3atbl : O3 produced in Atlantic BL (surface - PBL top ) ! O3eubl : O3 produced in European BL (surface - PBL top ) ! O3afbl : O3 produced in N. African BL (surface - PBL top ) ! O3asbl : O3 produced in Asian (surface - PBL top ) ! O3init : O3 initial conditions (all levels ) ! O3usa : O3 produced over the USA (all levels ) ! . ! THE SIMPLE TAGGED O3 SIMULATION HAS THESE ADVECTED SPECIES: ! ----------------------------------------------------------------------------- ! O3 : Total O3 ! O3Strat : Stratospheric O3 ! . ! NOTES: ! ---------------------------------------------------------------------------- ! When starting a long tagged O3 simulation, we recommend that you use ! a restart file where all species concentrations are set to zero. ! Then spin up for as many years as it takes to get into steady-state. !EOP !------------------------------------------------------------------------------ !BOC ! ! !PRIVATE TYPES: ! ! Species ID's INTEGER :: id_O3, id_O3Strat, id_O3ut, id_O3mt, id_O3row INTEGER :: id_O3pcbl, id_O3nabl, id_O3atbl, id_O3eubl, id_O3afbl INTEGER :: id_O3asbl, id_O3init, id_O3usa ! Global variables REAL(fp) :: molcm3_to_kgm3 ! Conversion factor [molec/cm3] -> [kg/m3] CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: TagSpcId ! ! !DESCRIPTION: Returns the tagged species ID corresponding to the given ! (X,Y) horizontal position and level L in the atmosphere. !\\ !\\ ! !INTERFACE: ! FUNCTION TagSpcId( X, Y, L, InTrop ) RESULT( tagId ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: X ! Longitude value [deg] REAL(fp), INTENT(IN) :: Y ! Latitude value [deg] INTEGER, INTENT(IN) :: L ! Level index [1] LOGICAL, INTENT(IN) :: InTrop ! =T if we are in the troposphere ! =F otherwise ! ! !RETURN VALUE: ! INTEGER :: tagId ! # of the region !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! LOGICAL :: Its_In_TROP, Its_In_PBL, Its_In_MT LOGICAL :: Its_In_UT, Its_In_NH, Its_In_ATL LOGICAL :: Its_In_PAC, Its_In_AS, Its_In_EUR LOGICAL :: Its_In_NAM, Its_In_NAF, Its_In_USA INTEGER :: PblTop, MtTop !======================================================================== ! Region begins here! !======================================================================== ! Return 0 by default tagId = 0 ! Return if we are not in the troposphere IF ( .not. InTrop ) RETURN !======================================================================== ! Set up logicals that define each of the extended tagged regions !======================================================================== ! PBLTOP is the model level at ~ 750 hPa ! MTTOP is the model level at ~ 350 hPa PblTop = 16 MtTop = 27 ! Define flags for various geographic & altitude regions Its_In_PBL = ( L <= PblTop ) Its_In_MT = ( L > PblTop .and. L <= MtTop ) Its_In_UT = ( L > MtTop .and. InTrop ) Its_In_NH = ( Y >= 0.0 ) Its_In_EUR = ( Y >= 36.0 .and. ( X > -15.0 .and. X <= 55.0 ) ) Its_In_NAM = ( Y >= 15.0 .and. ( X > -127.5 .and. X <= -65.0 ) ) Its_In_AS = ( Y >= -10.0 .and. ( X > 55.0 .and. X <= 145.0 ) ) Its_In_ATL = ( Its_In_NH .and. ( X > -65.0 .and. X <= -15.0 ) ) Its_In_PAC = ( Its_In_NH .and. ( X > 145.0 .or. X <= -127.5 ) ) Its_In_NAF = ( ( X >= -15.0 .and. X <= 55.0 ) .and. & ( Y >= 0.0 .and. Y < 36.0 ) ) !======================================================================== ! Return the tagged species ID corresponding to the given location !======================================================================== IF ( Its_In_UT ) THEN tagId = id_O3ut ! Upper trop ELSE IF ( Its_In_MT ) THEN tagId = id_O3mt ! Middle trop ELSE IF ( Its_In_PAC .and. Its_In_PBL ) THEN tagId = id_O3pcbl ! Pacific PBL ELSE IF ( Its_In_NAM .and. Its_In_PBL ) THEN tagId = id_O3nabl ! N. Am. PBL ELSE IF ( Its_In_ATL .and. Its_In_PBL ) THEN tagId = id_O3atbl ! Atlantic PBL ELSE IF ( Its_In_EUR .and. Its_In_PBL ) THEN tagId = id_O3eubl ! European PBL ELSE IF ( Its_In_NAF .and. Its_In_PBL ) THEN tagId = id_O3afbl ! N. African PBL ELSE IF ( Its_In_AS .and. Its_In_PBL ) THEN tagId = id_O3asbl ! Asian PBL ELSE tagId = id_O3row ! Rest of world ENDIF END FUNCTION TagSpcId !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ConUS ! ! !DESCRIPTION: Indicates if a lon/lat position is over the Continental USA. ! If so, returns the species ID of the USA tagged species (id_O3usa) !\\ !\\ ! !INTERFACE: ! FUNCTION ConUS( X, Y, inTrop ) RESULT( isConUS ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: X ! Longitude value [deg] REAL(fp), INTENT(IN) :: Y ! Latitude value [deg] LOGICAL, INTENT(IN) :: inTrop ! =T if we are in the troposphere ! =F otherwise ! ! !RETURN VALUE: ! INTEGER :: isConUS ! = 1 if over Continental US ! ! = 0 otherwise !EOP !------------------------------------------------------------------------------ !BOC ! ! Return 0 by default isConUS = 0 ! Exit if we are not in the tropopshere IF ( .not. InTrop ) RETURN ! If we are over CONUS, return the ID of the O3usa species IF ( ( X > -127.5_fp .and. X <= -65.0_fp ) .and. & ( Y > 22.0_fp .and. Y <= 50.0_fp ) ) THEN isConUS = id_O3usa ENDIF END FUNCTION ConUS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: chem_tagged_o3 ! ! !DESCRIPTION: Performs chemistry (by applying archived prod and loss rates) ! for several O3 species tagged by geographic and altitude regions. This ! is useful for attributing where O3 is being produced in the atmosphere. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Chem_Tagged_O3( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE Hco_Utilities_GC_Mod, ONLY : Hco_GC_EvalFld USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE Time_Mod, ONLY : Get_Ts_Chem ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I, J, L, N REAL(fp) :: dtChem, LO3_kg, LO3_kgps, PO3_kg, PO3_kgps ! Arrays INTEGER :: GeoMask(State_Grid%NX,State_Grid%NY,State_Grid%NZ) INTEGER :: UsaMask(State_Grid%NX,State_Grid%NY,State_Grid%NZ) REAL(fp) :: PO3_hco(State_Grid%NX,State_Grid%NY,State_Grid%NZ) REAL(fp) :: LO3_hco(State_Grid%NX,State_Grid%NY,State_Grid%NZ) ! Pointers TYPE(SpcConc), POINTER :: Spc(:) ! Strings CHARACTER(LEN=255) :: thisLoc CHARACTER(LEN=512) :: errMsg !======================================================================== ! Chem_Tagged_O3 begins here! !======================================================================== ! Initialize RC = GC_SUCCESS ! Success or failure Spc => State_Chm%Species ! Ptr to State_ geoMask = 0 ! Geo-tagged O3 species numbers usaMask = 0 ! Mask for CONUS-produced O3 PO3_hco = 0.0_fp ! Array for P(O3) from HEMCO LO3_hco = 0.0_fp ! Array for L(O3) from HEMCO dtChem = Get_Ts_Chem() ! Chemistry timestep [s] errMsg = '' thisLoc = & ' -> at Chem_Tagged_O3 (in module GeosCore/tagged_o3_mod.F90)' ! Zero diagnostic archival arrays to make sure that we don't have any ! leftover values from the last timestep near the top of the chemgrid IF ( State_Diag%Archive_Loss ) State_Diag%Loss = 0.0_f4 IF ( State_Diag%Archive_Prod ) State_Diag%Prod = 0.0_f4 !======================================================================== ! Get production and loss frequencies from HEMCO. These are read ! from the "ProdLoss" History collection (archived from a fullchem ! simulation) and have units [molec/cm3/s]. !======================================================================== ! P(O3) from HEMCO [molec/cm3/s] CALL HCO_GC_EvalFld( Input_Opt, State_Grid, 'O3_PROD', PO3_hco, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Cannot get O3_PROD [molec/cm3/s]!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! L(O3) from HEMCO [molec/cm3/s] CALL HCO_GC_EvalFld( Input_Opt, State_Grid, 'O3_LOSS', LO3_hco, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Cannot get O3_LOSS [molec/cm3/s]!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !======================================================================== ! Tagged O3 chemistry contains the following terms: ! ! New O3 = Old O3 + ( P(O3,region) - L(O3) ) ! ! P(O3) and L(O3) are archived from a previous fullchem run using ! the ProdLoss collection from the History diagnostics. !======================================================================== ! Loop over the # of advected species !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, L, N, LO3_kg, LO3_kgps, PO3_kg, PO3_kgps )& !$OMP COLLAPSE( 3 )& !$OMP SCHEDULE( DYNAMIC, 4 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX !===================================================================== ! Convert P(O3) and L(O3) from [molec/cm3/s] -> [kg] ! cf. https://github.com/geoschem/geos-chem/issues/1109 by Xingpei Ye !===================================================================== ! P(O3) in [kg/s] and [kg] PO3_kgps = PO3_hco(I,J,L) & ! in molec/cm3/s * molcm3_to_kgm3 & ! molec/cm3/s -> kg/m3/s * State_Met%AIRVOL(I,J,L) ! kg/m3/s -> kg/s PO3_kg = PO3_kgps * dtChem ! kg/s -> kg ! L(O3) in [kg/s] and [kg] LO3_kgps = LO3_hco(I,J,L) & ! in molec/cm3/s * molcm3_to_kgm3 & ! molec/cm3/s -> kg/m3/s * State_Met%AIRVOL(I,J,L) ! kg/m3/s -> kg/s LO3_kg = LO3_kgps * dtchem ! kg/s -> kg ! Prevent denormal values PO3_kg = MAX( PO3_kg, 1.0e-30_fp ) PO3_kgps = MAX( PO3_kgps, 1.0e-30_fp ) LO3_kg = MAX( LO3_kg, 1.0e-30_fp ) LO3_kgps = MAX( LO3_kgps, 1.0e-30_fp ) !------------------------------------------------------------------ ! Find species IDs corresponding to geographic location & altitude ! (Extended tagged O3 simulaton only) !------------------------------------------------------------------ IF ( Input_Opt%LSplit ) THEN ! O3usa usaMask(I,J,L) = ConUS( & X = State_Grid%XMid(I,J), & Y = State_Grid%YMid(I,J), & inTrop = State_Met%InTroposphere(I,J,L) ) ! All other species except O3init geoMask(I,J,L) = TagSpcId( & X = State_Grid%XMid(I,J), & Y = State_Grid%YMid(I,J), & L = L, & inTrop = State_Met%InTroposphere(I,J,L) ) ENDIF !===================================================================== ! Apply chemical production of ozone (only where it is produced) !===================================================================== ! Add P(O3) [kg] to the total O3 species Spc(id_O3)%Conc(I,J,L) = Spc(id_O3)%Conc(I,J,L) + PO3_kg ! Add P(O3) [kg] to the stratospheric O3 species IF ( State_Met%InStratosphere(I,J,L) ) THEN Spc(id_O3Strat)%Conc(I,J,L) = Spc(id_O3Strat)%Conc(I,J,L) + PO3_kg ENDIF ! Add P(O3) to extended tagged O3 species IF ( Input_Opt%LSPLIT ) THEN ! Add P(O3) [kg] to the tagged species corresponding to the ! geographic/altitude region at this grid box (I,J,L) ! These regions only are defined in the troposphere (N > 0). ! Also, do not apply N = GeoMask(I,J,L) IF ( N > 0 ) THEN Spc(N)%Conc(I,J,L) = Spc(N)%Conc(I,J,L) + PO3_kg ENDIF ! Add P(O3) [kg] to the O3usa species, if we are within ! the continental USA and below the tropopause. N = UsaMask(I,J,L) IF ( N == id_O3usa ) THEN Spc(N)%Conc(I,J,L) = Spc(N)%Conc(I,J,L) + PO3_kg ENDIF ENDIF !--------------------------------------------------------------------- ! HISTORY (aka netCDF diagnostics) ! ! Archive chemical loss of tagged O3 species [kg/s] !--------------------------------------------------------------------- IF ( State_Diag%Archive_Prod ) THEN ! Total P(O3) and Stratospheric P(O3) State_Diag%Prod(I,J,L,id_O3 ) = PO3_kgps State_Diag%Prod(I,J,L,id_O3Strat) = PO3_kgps ! Archve P(O3) for extended tagged O3 species to History IF ( Input_Opt%LSplit ) THEN ! P(O3) over the continental US IF ( usaMask(I,J,L) == id_O3usa ) THEN State_Diag%Prod(I,J,L,id_O3usa) = PO3_kgps ENDIF ! P(O3) over the continental USA N = GeoMask(I,J,L) IF ( N > 0 ) THEN State_Diag%Prod(I,J,L,N) = PO3_kgps ENDIF ENDIF ENDIF !===================================================================== ! Apply chemical loss of ozone (everywhere) !===================================================================== DO N = 1, State_Chm%nAdvect ! Do not apply loss to the O3init species, ! which preserves the initial conditions. IF ( N /= id_O3init ) THEN ! Apply chemical loss [kg] Spc(N)%Conc(I,J,L) = Spc(N)%Conc(I,J,L) - LO3_kg ! Prevent denormal values IF ( Spc(N)%Conc(I,J,L) < 1.0e-30_fp ) Spc(N)%Conc(I,J,L) = 0.0_fp !--------------------------------------------------------------- ! HISTORY (aka netCDF diagnostics) ! ! Archive chemical loss of tagged O3 species [kg/s] !--------------------------------------------------------------- IF ( State_Diag%Archive_Loss ) THEN State_Diag%Loss(I,J,L,N) = LO3_kgps ENDIF ENDIF ENDDO ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ! Free pointer Spc => NULL() END SUBROUTINE Chem_Tagged_O3 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: init_tagged_o3 ! ! !DESCRIPTION: Gets species indices defines the conversion molcm3_to_kgm3 ! conversion factor. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_Tagged_O3( Input_Opt, State_Chm, State_Diag, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE PhysConstants, ONLY : AVO USE State_Chm_Mod, ONLY : ChmState USE State_Chm_Mod, ONLY : Ind_ USE State_Diag_Mod, ONLY : DgnState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(IN) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 20 Aug 2003 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: errMsg, thisLoc !======================================================================== ! Init_Tagged_O3 begins here !======================================================================== ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = ' -> at Init_Tagged_O3 (in module GeosCore/tagged_o3_mod.F90)' ! Exit immediately if this is a dry-run IF ( Input_Opt%DryRun ) RETURN !------------------------------------------------------------------------ ! Get O3 and O3Strat species indices !------------------------------------------------------------------------ id_O3 = Ind_('O3') IF ( id_O3 < 0 ) THEN errMsg = 'O3 is an undefined species!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Define species ID flag for strat O3 (should be 2) id_O3Strat = Ind_('O3Strat') IF ( id_O3Strat < 0 ) THEN errMsg = 'O3Strat is an undefined species!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Conversion factor from molec/cm3 to kg/m3 ! cf https://github.com/geoschem/geos-chem/issues/1109 !------------------------------------------------------------------------ molcm3_to_kgm3 = ( State_Chm%SpcData(id_O3)%Info%MW_g * 1000.0_fp ) / AVO !------------------------------------------------------------------------ ! Define ID's for extended tagged O3 species !------------------------------------------------------------------------ IF ( Input_Opt%LSplit ) THEN id_O3ut = Ind_('O3ut') IF ( id_O3ut < 0 ) THEN errMsg = 'O3ut is an undefined species!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF id_O3mt = Ind_('O3mt') IF ( id_O3ut < 0 ) THEN errMsg = 'O3mt is an undefined species!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF id_O3row = Ind_('O3row') IF ( id_O3row < 0 ) THEN errMsg = 'O3row is an undefined species!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF id_O3pcbl = Ind_('O3pcbl') IF ( id_O3pcbl < 0 ) THEN errMsg = 'O3pcbl is an undefined species!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF id_O3nabl = Ind_('O3nabl') IF ( id_O3nabl < 0 ) THEN errMsg = 'O3nabl is an undefined species!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF id_O3atbl = Ind_('O3atbl') IF ( id_O3atbl < 0 ) THEN errMsg = 'O3atbl is an undefined species!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF id_O3eubl = Ind_('O3eubl') IF ( id_O3eubl < 0 ) THEN errMsg = 'O3eubl is an undefined species!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF id_O3afbl = Ind_('O3afbl') IF ( id_O3afbl < 0 ) THEN errMsg = 'O3afbl is an undefined species!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF id_O3asbl = Ind_('O3asbl') IF ( id_O3asbl < 0 ) THEN errMsg = 'O3asbl is an undefined species!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF id_O3init = Ind_('O3init') IF ( id_O3init < 0 ) THEN errMsg = 'O3init is an undefined species!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF id_O3usa = Ind_('O3usa') IF ( id_O3usa < 0 ) THEN errMsg = 'O3usa is an undefined species!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF END SUBROUTINE Init_Tagged_O3 !EOC END MODULE Tagged_O3_Mod ================================================ FILE: GeosCore/tccon_ch4_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: tccon_ch4_mod.F90 ! ! !DESCRIPTION: Module TCCON\_CH4\_MOD !\\ !\\ ! !INTERFACE: ! MODULE TCCON_CH4_MOD ! ! !USES: ! USE m_netcdf_io_open ! netCDF open USE m_netcdf_io_get_dimlen ! netCDF dimension queries USE m_netcdf_io_read ! netCDF data reads USE m_netcdf_io_close ! netCDF close USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: CALC_TCCON_CH4_FORCE ! ! !REVISION HISTORY: ! 17 Aug 2017 - M. Sulprizio- Initial version based on TCCON CH4 observation ! operator from GC Adjoint v35j with updates from ! M. Sulprizio, J.D. Maasakkers, and A. Turner ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! INTEGER, PARAMETER :: MAXLEV = 71 INTEGER, PARAMETER :: MAXTCC = 10000 INTEGER, PARAMETER :: NT_FD = 237 !142 ! Index for the FD test REAL(fp), PARAMETER :: GC_XCH4_ERROR = 0e+0_fp !ppb REAL(fp), PARAMETER :: PMAG = 1e0_fp ! Perturbation magnitude (%) LOGICAL, PARAMETER :: LDCH4SAT = .TRUE. LOGICAL, PARAMETER :: FORCE_TCCON = .FALSE. ! Assimilate? ! ! !MODULE VARIABLES ! ! Record to store data from each TCCON obs TYPE TCCON_CH4_OBS INTEGER :: LTCC(1) REAL(fp) :: LAT(1) REAL(fp) :: LON(1) INTEGER :: YEAR(1) INTEGER :: MONTH(1) INTEGER :: DAY(1) INTEGER :: HOUR(1) INTEGER :: MINUTE(1) INTEGER :: SEC(1) REAL(fp) :: TIME(1) REAL(fp) :: CH4(1) REAL(fp) :: CH4_ERROR(1) REAL(fp) :: XH2O(1) REAL(fp) :: XH2OE(1) REAL(fp) :: PSURF(1) REAL(fp) :: MH2O(1) REAL(fp) :: MAIR(1) REAL(fp) :: AVNUM(1) REAL(fp) :: PRES(MAXLEV) REAL(fp) :: PRIOR(MAXLEV) REAL(fp) :: AVG_KERNEL(MAXLEV) REAL(fp) :: GRAVITY(MAXLEV) REAL(fp) :: H2O(MAXLEV) CHARACTER(LEN=2) :: SITE(MAXLEV) INTEGER :: QFLAG(1) ENDTYPE TCCON_CH4_OBS TYPE(TCCON_CH4_OBS) :: TCC(MAXTCC) CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: read_tcc_ch4_obs ! ! !DESCRIPTION: Subroutine READ\_TCC\_CH4\_OBS reads the file and passes back ! info contained therein. (ajt, 01/13/14) !\\ !\\ ! !INTERFACE: ! SUBROUTINE READ_TCC_CH4_OBS( YYYYMMDD, NTCC ) ! ! ! USES: ! USE TIME_MOD, ONLY : EXPAND_DATE USE ERROR_MOD, ONLY : ALLOC_ERR USE ERROR_MOD, ONLY : GEOS_CHEM_STOP USE TIME_MOD, ONLY : GET_YEAR ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: YYYYMMDD ! Current date ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: NTCC ! Number of TCC retrievals ! ! !REVISION HISTORY: ! 12 Jan 2014 - A. Turner - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: LTCC INTEGER :: N, J INTEGER :: MYEAR CHARACTER(LEN=4) :: CYEAR LOGICAL :: EXIST_VAR REAL*4 :: temppres(MAXLEV) REAL*4 :: tempprior(MAXLEV) REAL*4 :: tempak(MAXLEV) REAL*4, ALLOCATABLE :: pres(:,:) REAL*4, ALLOCATABLE :: prior(:,:) REAL*4, ALLOCATABLE :: ak(:,:) REAL*4, ALLOCATABLE :: pres_w(:,:) REAL*4, ALLOCATABLE :: lat(:) REAL*4, ALLOCATABLE :: lon(:) INTEGER, ALLOCATABLE :: year(:) INTEGER, ALLOCATABLE :: month(:) INTEGER, ALLOCATABLE :: day(:) INTEGER, ALLOCATABLE :: hour(:) INTEGER, ALLOCATABLE :: minute(:) INTEGER, ALLOCATABLE :: second(:) REAL*4, ALLOCATABLE :: xch4(:) REAL*4, ALLOCATABLE :: xch4_error(:) REAL*4, ALLOCATABLE :: xh2o(:) REAL*4, ALLOCATABLE :: xh2o_error(:) REAL*4, ALLOCATABLE :: mass_h2o(:) REAL*4, ALLOCATABLE :: mass_dry_air(:) REAL*4, ALLOCATABLE :: AvNum(:) REAL*4, ALLOCATABLE :: grav_apri(:,:) REAL*4, ALLOCATABLE :: tccon_h2o(:,:) INTEGER, ALLOCATABLE :: qflag(:) CHARACTER(LEN=2), ALLOCATABLE :: TCCON_site(:) INTEGER :: NLEV, StrLen INTEGER :: I, L, AS ! For reading netCDF file INTEGER :: fId ! netCDF file ID INTEGER :: Status ! 0 means variable in file INTEGER :: X, Y, Z, T ! netCDF file dimensions INTEGER :: time_index ! Read this slice of data INTEGER :: st1d(1), ct1d(1) ! Start + count for 1D arrays INTEGER :: st2d(2), ct2d(2) ! Start + count for 2D arrays CHARACTER(LEN=16) :: stamp ! Time and date stamp CHARACTER(LEN=255) :: nc_file ! netCDF file name CHARACTER(LEN=255) :: v_name ! netCDF variable name CHARACTER(LEN=255) :: dir ! Data directory path CHARACTER(LEN=255) :: errMsg ! Error message CHARACTER(LEN=255) :: caller ! Name of this routine !================================================================= ! READ_TCC_CH4_OBS begins here! !================================================================= caller = 'READ_TCC_CH4_OBS in tccon_ch4_mod.F90' ! Get current year MYEAR = GET_YEAR() WRITE( CYEAR, '(i4)' ) MYEAR ! Filename nc_file = 'TCCON_dat_YYYYMMDD.ncdf' CALL Expand_Date( nc_file, YYYYMMDD, 9999 ) ! Construct complete filename dir = 'ExtData/Obs/TCCON/' // CYEAR // '/' nc_file = TRIM( dir ) // TRIM( nc_file ) WRITE( 6, 10 ) TRIM( nc_file ) 10 FORMAT( ' - Reading ', a) ! Make sure the file exists (ajt, 03/31/2013) INQUIRE( FILE=nc_file, EXIST=EXIST_VAR ) IF ( .not. EXIST_VAR ) THEN NTCC = -1d0 RETURN ENDIF ! Open netCDF file CALL NcOp_Rd( fId, TRIM( nc_file ) ) ! Read the dimensions from the netCDF file CALL NcGet_DimLen( fId, 'numexp', NTCC ) CALL NcGet_DimLen( fId, 'levels', NLEV ) CALL NcGet_DimLen( fId, 'string_length', StrLen ) IF ( NLEV > MAXLEV ) THEN print*,' # Levels this day = ', NLEV print*, 'WARNING: NLEV > MAXLEV. Need to increase' print*, ' MAXLEV in tccon_ch4_mod.F90.' CALL GEOS_CHEM_STOP ENDIF print*,' # TCCON Observations this day = ', NTCC print*, 'levels', NLEV !-------------------------------- ! Read 1-D Data !-------------------------------- ALLOCATE( lat( NTCC ), STAT=AS ) ALLOCATE( lon( NTCC ), STAT=AS ) ALLOCATE( year( NTCC ), STAT=AS ) ALLOCATE( month( NTCC ), STAT=AS ) ALLOCATE( day( NTCC ), STAT=AS ) ALLOCATE( hour( NTCC ), STAT=AS ) ALLOCATE( minute( NTCC ), STAT=AS ) ALLOCATE( second( NTCC ), STAT=AS ) ALLOCATE( qflag( NTCC ), STAT=AS ) ALLOCATE( xch4( NTCC ), STAT=AS ) ALLOCATE( xch4_error( NTCC ), STAT=AS ) ALLOCATE( xh2o( NTCC ), STAT=AS ) ALLOCATE( xh2o_error( NTCC ), STAT=AS ) ALLOCATE( mass_h2o( NTCC ), STAT=AS ) ALLOCATE( mass_dry_air( NTCC ), STAT=AS ) ALLOCATE( AvNum( NTCC ), STAT=AS ) ALLOCATE( TCCON_site( NTCC ), STAT=AS ) ALLOCATE( prior( NLEV, NTCC ), STAT=AS ) ALLOCATE( pres( NLEV, NTCC ), STAT=AS ) ALLOCATE( ak( NLEV, NTCC ), STAT=AS ) ALLOCATE( pres_w( NLEV, NTCC ), STAT=AS ) ALLOCATE( grav_apri( NLEV, NTCC ), STAT=AS ) ALLOCATE( tccon_h2o( NLEV, NTCC ), STAT=AS ) ! Latitude v_name = 'lat' st1d = (/ 1 /) ct1d = (/ NTCC /) CALL NcRd( lat, fId, TRIM(v_name), st1d, ct1d ) ! Longitude v_name = 'lon' st1d = (/ 1 /) ct1d = (/ NTCC /) CALL NcRd( lon, fId, TRIM(v_name), st1d, ct1d ) ! Year v_name = 'year' st1d = (/ 1 /) ct1d = (/ NTCC /) CALL NcRd( year, fId, TRIM(v_name), st1d, ct1d ) ! Month v_name = 'month' st1d = (/ 1 /) ct1d = (/ NTCC /) CALL NcRd( month, fId, TRIM(v_name), st1d, ct1d ) ! Day v_name = 'day' st1d = (/ 1 /) ct1d = (/ NTCC /) CALL NcRd( day, fId, TRIM(v_name), st1d, ct1d ) ! Hour v_name = 'hour' st1d = (/ 1 /) ct1d = (/ NTCC /) CALL NcRd( hour, fId, TRIM(v_name), st1d, ct1d ) ! Minute v_name = 'minute' st1d = (/ 1 /) ct1d = (/ NTCC /) CALL NcRd( minute, fId, TRIM(v_name), st1d, ct1d ) ! Second v_name = 'second' st1d = (/ 1 /) ct1d = (/ NTCC /) CALL NcRd( second, fId, TRIM(v_name), st1d, ct1d ) ! Qflag (0=good) v_name = 'quality_flag' st1d = (/ 1 /) ct1d = (/ NTCC /) CALL NcRd( qflag, fId, TRIM(v_name), st1d, ct1d ) ! XCH4 (ppm) v_name = 'xch4_ppm' st1d = (/ 1 /) ct1d = (/ NTCC /) CALL NcRd( xch4, fId, TRIM(v_name), st1d, ct1d ) ! XCH4_Error (ppm) v_name = 'xch4_ppm_error' st1d = (/ 1 /) ct1d = (/ NTCC /) CALL NcRd( xch4_error, fId, TRIM(v_name), st1d, ct1d ) ! XH2O (ppm) v_name = 'xh2o_ppm' st1d = (/ 1 /) ct1d = (/ NTCC /) CALL NcRd( xh2o, fId, TRIM(v_name), st1d, ct1d ) ! XH2O_Error (ppm) v_name = 'xh2o_ppm_error' st1d = (/ 1 /) ct1d = (/ NTCC /) CALL NcRd( xh2o_error, fId, TRIM(v_name), st1d, ct1d ) ! Mass of water (kg/mol) v_name = 'mass_h2o' st1d = (/ 1 /) ct1d = (/ NTCC /) CALL NcRd( mass_h2o, fId, TRIM(v_name), st1d, ct1d ) ! Mass of dry air (kg/mol) v_name = 'mass_dry_air' st1d = (/ 1 /) ct1d = (/ NTCC /) CALL NcRd( mass_dry_air, fId, TRIM(v_name), st1d, ct1d ) ! Avogadro's number (molecules/mol) v_name = 'avogadros_number' st1d = (/ 1 /) ct1d = (/ NTCC /) CALL NcRd( AvNum, fId, TRIM(v_name), st1d, ct1d ) ! Site v_name = 'site' st2d = (/ 1, 1 /) ct2d = (/ StrLen, NTCC /) CALL NcRd( TCCON_site, fId, TRIM(v_name), st2d, ct2d ) !-------------------------------- ! Read 2-D Data !-------------------------------- ! APRIORI (ppb) v_name = 'ch4_apriori' st2d = (/ 1, 1 /) ct2d = (/ NLEV, NTCC /) CALL NcRd( prior, fId, TRIM(v_name), st2d, ct2d ) ! Pressure (hPa) v_name = 'pressure_apriori' st2d = (/ 1, 1 /) ct2d = (/ NLEV, NTCC /) CALL NcRd( pres, fId, TRIM(v_name), st2d, ct2d ) ! Averaging Kernel (unitless) v_name = 'ch4_ak' st2d = (/ 1, 1 /) ct2d = (/ NLEV, NTCC /) CALL NcRd( ak, fId, TRIM(v_name), st2d, ct2d ) ! Pressure weights (unitless) v_name = 'pressure_ak' st2d = (/ 1, 1 /) ct2d = (/ NLEV, NTCC /) CALL NcRd( pres_w, fId, TRIM(v_name), st2d, ct2d ) ! Gravity from the apriori (m/s2) v_name = 'grav_apriori' st2d = (/ 1, 1 /) ct2d = (/ NLEV, NTCC /) CALL NcRd( grav_apri, fId, TRIM(v_name), st2d, ct2d ) ! H2O from the apriori (m/s2) v_name = 'h2o_apriori' st2d = (/ 1, 1 /) ct2d = (/ NLEV, NTCC /) CALL NcRd( tccon_h2o, fId, TRIM(v_name), st2d, ct2d ) !-------------------------------- ! Place data into TCC structure !-------------------------------- DO N = 1, NTCC ! 0-D data TCC(N)%LTCC(1) = NLEV TCC(N)%LAT(1) = lat(N) TCC(N)%LON(1) = lon(N) TCC(N)%YEAR(1) = year(N) TCC(N)%MONTH(1) = month(N) TCC(N)%DAY(1) = day(N) TCC(N)%HOUR(1) = hour(N) TCC(N)%MINUTE(1) = minute(N) TCC(N)%SEC(1) = second(N) TCC(N)%CH4(1) = xch4(N) * 1d3 ! ppm --> ppb TCC(N)%CH4_ERROR(1) = xch4_error(N) * 1d3 ! ppm --> ppb TCC(N)%XH2O(1) = xh2o(N) * 1d-6 ! ppm --> v/v TCC(N)%XH2OE(1) = xh2o_error(N) * 1d-6 ! ppm --> v/v TCC(N)%PSURF(1) = pres(1,N) TCC(N)%QFLAG(1) = qflag(N) TCC(N)%AVNUM(1) = AvNum(N) ! molecules/mole TCC(N)%MH2O(1) = mass_h2o(N) / AvNum(N) ! kg/molecule TCC(N)%MAIR(1) = mass_dry_air(N) / AvNum(N) ! kg/molecule TCC(N)%SITE(1) = TCCON_site(N) ! Time fraction of day TCC(N)%TIME(1) = ( REAL(HOUR(N))*3600. + REAL(MINUTE(N))*60. & + REAL(SECOND(N)) ) / 86400d0 ! 1-D data LTCC = NLEV TCC(N)%PRES(1:LTCC) = pres(1:LTCC,N) TCC(N)%PRIOR(1:LTCC) = prior(1:LTCC,N) * 1d-9 ! ppb --> v/v TCC(N)%AVG_KERNEL(1:LTCC) = ak(1:LTCC,N) TCC(N)%GRAVITY(1:LTCC) = grav_apri(1:LTCC,N) TCC(N)%H2O(1:LTCC) = tccon_h2o(1:LTCC,N) !! Reverse indices so that L=1 is surface !LTCC = NLEV !temppres(:) = 0d0 !tempprior(:) = 0d0 !tempak(:) = 0d0 !DO L = 1, LTCC ! tempak(L) = ak(LTCC+1-L,N) ! tempprior(L) = prior(LTCC+1-L,N) ! temppres(L) = pres(LTCC+1-L,N) * 1d-2 ! [Pa] --> [hPa] !ENDDO ! !TCC(N)%PRES(1:LTCC) = temppres(1:LTCC) !TCC(N)%PRIOR(1:LTCC) = tempprior(1:LTCC) !TCC(N)%AVG_KERNEL(1:LTCC) = tempak(1:LTCC) ! Store the surface pressure TCC(N)%PSURF(1) = TCC(N)%PRES(1) ENDDO !-------------------------------- ! Close netCDF file !-------------------------------- ! Echo info WRITE( 6, 20 ) YYYYMMDD 20 FORMAT( ' - Finished reading TCCON CH4 observations for ', i8) ! Close netCDF file CALL NcCl( fId ) END SUBROUTINE READ_TCC_CH4_OBS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: calc_tccon_ch4_force ! ! !DESCRIPTION: Subroutine CALC\_TCCON\_CH4\_FORCE calculates the adjoint ! forcing from the TCCON CH4 observations and updates the cost function. ! (dkh, 10/12/10) !\\ !\\ ! !INTERFACE: ! SUBROUTINE CALC_TCCON_CH4_FORCE( Input_Opt, State_Chm, State_Grid, & State_Met ) ! ! !USES: ! USE ERROR_MOD, ONLY : IT_IS_NAN USE ERROR_MOD, ONLY : IT_IS_FINITE USE GC_GRID_MOD, ONLY : GET_IJ USE Input_Opt_Mod, ONLY : OptInput USE PRESSURE_MOD, ONLY : GET_PCENTER, GET_PEDGE USE TIME_MOD USE PhysConstants, ONLY : XNUMOLAIR, AIRMW USE State_Chm_Mod, ONLY : ChmState, Ind_ USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input options TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !REVISION HISTORY: ! 17 Aug 2017 - M. Sulprizio- Initial version based on TCCON CH4 observation ! operator from GC Adjoint v35j with updates from ! M. Sulprizio, J.D. Maasakkers, and A. Turner ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp), SAVE :: COST_FUNC ! Cost function [unitless] INTEGER :: id_CH4 INTEGER :: NTSTART, NTSTOP, NT, YYYYMMDD INTEGER :: IIJJ(2), I, J INTEGER :: L, LL, LTCC INTEGER :: JLOOP, NOBS, IND INTEGER :: INDS(MAXTCC) REAL(fp) :: GC_PRES(State_Grid%NZ) REAL(fp) :: GC_PEDGE(State_Grid%NZ+1) REAL(fp) :: GC_CH4_NATIVE(State_Grid%NZ) REAL(fp) :: GC_H2O_NATIVE(State_Grid%NZ) REAL(fp) :: GC_CH4(MAXLEV) REAL(fp) :: GC_H2O(MAXLEV) REAL(fp) :: GC_CH4_cm2(MAXLEV) REAL(fp) :: GC_PSURF REAL(fp) :: MAP(State_Grid%NZ,MAXLEV) REAL(fp) :: CH4_HAT(MAXLEV) REAL(fp) :: NEW_COST(MAXTCC) REAL(fp) :: OLD_COST REAL(fp), SAVE :: TIME_FRAC(MAXTCC) INTEGER,SAVE :: NTCC REAL(fp) :: frac, RHS, LHS REAL(fp) :: CH4_PRIOR(MAXLEV) REAL(fp) :: CH4_PRIOR_cm2(MAXLEV) REAL(fp) :: molecongos(MAXLEV) REAL(fp) :: TCC_XCH4, GC_XCH4, TCC_XCH4_ERROR REAL(fp) :: TCC_P_EDGE(MAXLEV) REAL(fp) :: p(MAXLEV), h(MAXLEV), psurf REAL(fp) :: ak(MAXLEV), prior(MAXLEV) REAL(fp) :: XCH4m, XCH4a REAL(fp) :: SATELLITE_BIAS(3) ! Hardcode for now (mps,6/16/17) REAL(fp) :: MEAN_MODEL_BIAS ! Hardcode for now (mps,6/16/17) REAL(fp) :: FORCE REAL(fp) :: DIFF REAL(fp) :: S_OBS ! For miscellaneous LOGICAL, SAVE :: FIRST = .TRUE. LOGICAL :: WRITE_FILE = .TRUE. INTEGER :: IOS INTEGER, SAVE :: TotalObs = 0 CHARACTER(LEN=255) :: FILENAME !================================================================= ! CALC_TCCON_CH4_FORCE begins here! !================================================================= print*, ' - CALC_TCCON_CH4_FORCE ' ! Initialize species ID flag id_CH4 = Ind_('CH4' ) ! Reset NEW_COST(:) = 0.0_fp ! Hardcode bias values for now (mps, 6/16/17) SATELLITE_BIAS(1) = 0.0e+0_fp SATELLITE_BIAS(2) = 0.0e+0_fp SATELLITE_BIAS(3) = 0.0e+0_fp MEAN_MODEL_BIAS = 0.0e+0_fp ! Open files for diagnostic output IF ( FIRST ) THEN ! For recording model and observation values FILENAME = 'tccon_obs.00.m' FILENAME = TRIM( Input_Opt%RUN_DIR ) // TRIM( FILENAME ) ! Check if file exists INQUIRE( FILE=TRIM(FILENAME), EXIST=WRITE_FILE ) IF ( WRITE_FILE ) THEN OPEN( 119, FILE=TRIM( FILENAME ), STATUS='UNKNOWN', & IOSTAT=IOS, FORM='FORMATTED', ACCESS='SEQUENTIAL' ) ELSE OPEN( 119, FILE=TRIM( FILENAME ), STATUS='UNKNOWN', & IOSTAT=IOS, FORM='FORMATTED', ACCESS='APPEND' ) ! Write header of tccon_obs.NN.m WRITE( 119, 281 ) ' NNN', & ' I', ' J', ' LON',' LAT','YYYY', & 'MM', 'DD', 'hh', 'mm', 'ss', 'site', & ' TAU', ' TCCON', & ' model', ' S_OBS', & ' COST_FUN', 'XH2O', 'XH2O_ERROR' ENDIF 281 FORMAT( A10,2x,A4,2x,A4,2x,A8,2x,A8,2x,A4,2x,A2,2x,A2,2x,A2,2x, & A2,2x,A2,2x,A4,2x,A12,2x,A36,2x,A36,2x,A36,2x,A36,2x, & A36,2x,A36 ) ! Set Total Observations = 0 TotalObs = 0 ENDIF ! Save a value of the cost function first OLD_COST = COST_FUNC ! Read Observations at first call and at end of the day IF ( FIRST .OR. ITS_A_NEW_DAY() ) THEN ! Read the TCC CH4 file for this month YYYYMMDD = 1d4*GET_YEAR() + 1d2*GET_MONTH() + GET_DAY() CALL READ_TCC_CH4_OBS( YYYYMMDD, NTCC ) IF ( FIRST ) FIRST = .FALSE. ! Make sure there are observations on this day IF ( NTCC .EQ. -1d0 ) RETURN ENDIF ! Get indices of TCC observations in the current hour ! At the start of each hour, assimilate observations that ! were made in the previous 60 minutes. ! For example, at time 18:00, assimilate observations ! made from 18:00 - 18:59 INDS(:) = 0d0 NOBS = 0 DO NT=1,NTCC IF ( TCC(NT)%MONTH(1) .EQ. GET_MONTH() .AND. & TCC(NT)%DAY(1) .EQ. GET_DAY() .AND. & TCC(NT)%HOUR(1) .EQ. GET_HOUR() ) THEN NOBS = NOBS + 1 INDS(NOBS) = NT !print*,'Found a good observation! NT = ', NT ENDIF ENDDO IF ( NOBS == 0 ) THEN print*, ' No matching TCCON CH4 obs for this hour' RETURN ENDIF print*, ' for hour range: ', GET_HOUR(), GET_HOUR()+1 print*, ' found # observations: ', NOBS !! need to update this in order to do i/o with this loop parallel !! ! Now do a parallel loop for analyzing data !!!$OMP PARALLEL DO & !!!$OMP DEFAULT( PRIVATE ) & !!!$OMP PRIVATE( IND, NT, MAP, LTCC, IIJJ, I, J, L, LL, JLOOP ) & !!!$OMP PRIVATE( GC_CH4, FORCE, CH4_PRIOR, GC_PRES, FILENAME ) & !!!$OMP PRIVATE( GC_PEDGE, GC_PSURF, GC_CH4_NATIVE, TCC_XCH4 ) & !!!$OMP PRIVATE( GC_H2O, GC_H2O_NATIVE, ) & !!!$OMP PRIVATE( TCC_XCH4_ERROR, S_OBS, h, psurf, p, XCH4a, XCH4m ) & !!!$OMP PRIVATE( GC_XCH4, DIFF, DIFF_ADJ, GC_XCH4_ADJ ) & !!!$OMP PRIVATE( GC_CH4_NATIVE_ADJ, GC_CH4_ADJ, TotalObs ) DO IND = 1, NOBS NT = INDS(IND) !print*, ' - CALC_TCCON_CH4_FORCE: analyzing record ', NT ! quality screening (0 is good!) IF ( TCC(NT)%QFLAG(1) .NE. 0 ) THEN print*, ' BAD QFLAG, skipping record ', NT CYCLE ENDIF ! Check for NaN in data IF ( IT_IS_NAN( TCC(NT)%CH4(1) ) ) THEN print*, ' XCH4 is NaN, skipping record ', NT CYCLE ENDIF ! Check for infinity in data IF ( .not. IT_IS_FINITE( TCC(NT)%CH4(1) ) ) THEN print*, ' XCH4 is infinity, skipping record ', NT CYCLE ENDIF ! Check for negative/zero data IF ( TCC(NT)%CH4(1) <= 0d0 ) THEN print*, ' XCH4 is <= 0, skipping record ', NT CYCLE ENDIF ! Skip observations outside the nested domain IF ( TCC(NT)%LAT(1) < State_Grid%YMin .OR. & TCC(NT)%LAT(1) > State_Grid%YMax .OR. & TCC(NT)%LON(1) < State_Grid%XMin .OR. & TCC(NT)%LON(1) > State_Grid%XMax ) THEN print*, ' Outside nested domain, skipping record ', NT CYCLE ENDIF ! Get grid box of current record IIJJ = GET_IJ( REAL(TCC(NT)%LON(1),4), REAL(TCC(NT)%LAT(1),4), & State_Grid ) I = IIJJ(1) J = IIJJ(2) !! skip observations where the TCCON surface pressure is !! less than the model. Use w/ updated interp (ajt, 11/6/13) !IF ( (TCC(NT)%PSURF(1) - GET_PEDGE(I,J,1)) .GT. 50d0 ) THEN ! print*, ' Psurf threshold not met, skipping record ', NT ! CYCLE !ENDIF ! begin good observations print*,'Begin assimilating good observation. NT = ', NT ! For safety, initialize these up to LTCC LTCC = 0 GC_CH4(:) = 0.0_fp MAP(:,:) = 0.0_fp FORCE = 0.0_fp CH4_PRIOR(:) = 0.0_fp ! Copy variable names to make coding a bit cleaner LTCC = TCC(NT)%LTCC(1) DO L = 1, LTCC CH4_PRIOR(L) = TCC(NT)%PRIOR(L) ENDDO ! Get GC pressure levels (mbar) DO L = 1, State_Grid%NZ GC_PRES(L) = State_Met%PMID(I,J,L) ENDDO ! Get GC pressure edges (mbar) DO L = 1, State_Grid%NZ+1 GC_PEDGE(L) = State_Met%PEDGE(I,J,L) ENDDO ! Get GC surface pressure (mbar) GC_PSURF = State_Met%PEDGE(I,J,1) ! Calculate the interpolation weight matrix MAP(:,:) = 0.0_fp CALL GET_INTMAP( State_Grid, GC_PRES, TCC(NT)%PRES, MAP ) ! Get CH4 values at native model resolution GC_CH4_NATIVE(:) = 0.0_fp GC_H2O_NATIVE(:) = 0.0_fp ! Get species concentrations [v/v] GC_CH4_NATIVE(:) = State_Chm%Species(id_CH4)%Conc(I,J,:) GC_H2O_NATIVE(:) = State_Met%AVGW(I,J,:) !! Interpolate GC CH4 column to TCCON grid !! use the method of Parker et al., (2011) !GC_CH4 = INTERP_GC_TCC( LTCC, State_Grid%NZ, GC_PRES, GC_PEDGE, & ! TCC(NT)%PRES(1:LTCC), GC_CH4_NATIVE ) ! Old interpolation method from kjw DO LL = 1, LTCC GC_CH4(LL) = 0.0_fp GC_H2O(LL) = 0.0_fp DO L = 1, State_Grid%NZ GC_CH4(LL) = GC_CH4(LL) + MAP(L,LL) * GC_CH4_NATIVE(L) GC_H2O(LL) = GC_H2O(LL) + MAP(L,LL) * GC_H2O_NATIVE(L) !GC_H2O(LL) = TCC(NT)%H2O(LL) ENDDO ENDDO ! Store the TCCON XCH4 proxy in [v/v] TCC_XCH4 = TCC(NT)%CH4(1) * 1e-9_fp TCC_XCH4_ERROR = TCC(NT)%CH4_ERROR(1) * 1e-9_fp ! Remove any TCCON bias (probably not...) !TCC_XCH4 = TCC_XCH4 + 1d-9 * ( SATELLITE_BIAS(1) & ! + SATELLITE_BIAS(2)*(TCC(NT)%LAT(1)) & ! + SATELLITE_BIAS(3)*(TCC(NT)%LAT(1))**2 ) ! Get the S_obs, assume stddev adds in quadrature, variance ! adds linearly. (ajt, 03/27/2013) S_OBS = TCC_XCH4_ERROR**2 + (GC_XCH4_ERROR * 1e-9_fp)**2 !-------------------------------------------------------------- ! Apply TCCON observation operator ! ! Xch4_m = Xch4_a + SUM_j( h_j * a_j * (x_m - x_a) ) ! ! Xch4_m - model XCH4 ! Xch4_a - apriori XCH4 = h^T * x_a ! h - pressure weighting function ! a - column averaging kernel ! x_m - model CH4 [v/v] ! x_a - apriori CH4 [v/v] ! ! The pressure weighting function is defined in Connor et al. 2008 ! and the OCO-2 ATBD !-------------------------------------------------------------- ! Pressure weighting array h(:) = 0.0_fp psurf = TCC(NT)%PSURF(1) p(1:LTCC) = TCC(NT)%PRES(1:LTCC) ak(1:LTCC) = TCC(NT)%AVG_KERNEL(1:LTCC) prior(1:LTCC) = TCC(NT)%PRIOR(1:LTCC) ! Need to integrate from the toa to surface (ajt, 05/21/13) IF (LTCC .GT. 1) THEN IF(TCC(NT)%PRES(2) .LT. TCC(NT)%PRES(1)) THEN p(1:LTCC) = p(LTCC:1:-1) ENDIF ENDIF L = 1 h(L) = 1./TCC(NT)%PSURF(1) * ABS( & ( -1e0*p(L) + ( (p(L+1)-p(L))/(LOG(p(L+1)/p(L))) ) ) ) L = LTCC h(L) = 1./TCC(NT)%PSURF(1) * ABS( & ( p(L) - ( (p(L)-p(L-1))/(LOG(p(L)/p(L-1))) ) ) ) DO L=2,LTCC-1 h(L) = 1./TCC(NT)%PSURF(1) * ABS( & ( -1e0*p(L) + ( (p(L+1)-p(L))/(LOG(p(L+1)/p(L))) ) ) + & ( p(L) - ( (p(L)-p(L-1))/(LOG(p(L)/p(L-1))) ) ) ) ENDDO ! Now return to the orientation of the other variables IF (LTCC .GT. 1) THEN IF(TCC(NT)%PRES(2) .LT. TCC(NT)%PRES(1)) THEN h(1:LTCC) = h(LTCC:1:-1) p(1:LTCC) = p(LTCC:1:-1) ENDIF ENDIF ! Get the TCCON pressure edges TCC_P_EDGE = TCC_PEDGE( LTCC, TCC(NT)%PRES(1:LTCC) ) ! Compute h and convert the prior to a dry-air mole fraction DO L = 1, LTCC !h(L) = ( ( TCC_P_EDGE(L) - TCC_P_EDGE(L+1) ) & ! / ( TCC(NT)%GRAV(L) * TCC(NT)%MAIR(1) & ! * (1e0 + GC_H2O(L) / ( 1e0 - GC_H2O(L) ) & ! * (TCC(NT)%MH2O(1) / TCC(NT%MAIR(1)) ) ) ) ) & ! / ( psurf & ! / ( TCC(NT)%GRAV(L) * TCC(NT)%MAIR(1) & ! * (1e0 + GC_H2O(L) / ( 1e0 - GC_H2O(L) ) & ! * (TCC(NT)%MH2O(1) / TCC(NT%MAIR(1)) ) ) ) ) !h(L) = ( TCC_P_EDGE(L) - TCC_P_EDGE(L+1) ) & ! / ( TCC(NT)%GRAV(L) * TCC(NT)%MAIR(1) & ! * (1e0 + GC_H2O(L) / ( 1e0 - GC_H2O(L) ) & ! * (TCC(NT)%MH2O(1) / TCC(NT%MAIR(1)) ) ) ) prior(L) = prior(L) / ( 1.0_fp - GC_H2O(L) ) ENDDO ! Calculate Xch4_a XCH4a = 0.0_fp DO L = 1,LTCC XCH4a = XCH4a + h(L) * prior(L) ENDDO ! Calculate Xch4_m XCH4m = 0.0_fp XCH4m = XCH4a DO L = 1, LTCC XCH4m = XCH4m + ( h(L) * ak(L) * ( GC_CH4(L) - prior(L) ) ) ENDDO GC_XCH4 = 0.0_fp GC_XCH4 = XCH4m ! Remove any GEOS-Chem bias GC_XCH4 = GC_XCH4 + ( 1e-9_fp * MEAN_MODEL_BIAS ) !-------------------------------------------------------------- ! Calculate cost function, given S is error in vmr ! J = 1/2 [ model - obs ]^T S_{obs}^{-1} [ model - obs ] !-------------------------------------------------------------- ! Calculate difference between modeled and observed profile DIFF = GC_XCH4 - TCC_XCH4 ! Calculate 1/2 * DIFF^T * S_{obs}^{-1} * DIFF ! Need to account for the model error (ajt, 03/27/2013) FORCE = ( 1.0_fp / (S_OBS) ) * DIFF NEW_COST(NT) = NEW_COST(NT) + 0.5e0 * DIFF * FORCE TotalObs = TotalObs + 1 ! Record information for satellite diagnostics IF ( LDCH4SAT ) THEN WRITE( 119, 282 ) TotalObs, I, J, TCC(NT)%LON(1), & TCC(NT)%LAT(1),TCC(NT)%YEAR(1), & TCC(NT)%MONTH(1),TCC(NT)%DAY(1), TCC(NT)%HOUR(1), & TCC(NT)%MINUTE(1), TCC(NT)%SEC(1), TCC(NT)%SITE(1), & GET_TAU(), TCC_XCH4, GC_XCH4, S_OBS, 0.5d0*FORCE*DIFF, & TCC(NT)%XH2O(1), TCC(NT)%XH2OE(1) ENDIF ENDDO ! NT !!!$OMP END PARALLEL DO ! Number of observations processed in total !TotalObs = TotalObs + NOBS ! Update cost function IF ( FORCE_TCCON ) THEN COST_FUNC = COST_FUNC + SUM(NEW_COST(:)) ELSE COST_FUNC = OLD_COST ENDIF 282 FORMAT( I10,2x,I4,2x,I4,2x,F8.3,2x,F8.4,2x,I4,2x,I2,2x,I2,2x,I2, & 2x,I2,2x,I2,2x,A4,2x,F12.3,2x,E36.30,2x,E36.30,2x,E36.30, & 2x,E36.30,2x,E36.30,2x,E36.30) print*, ' Updated value of COST_FUNC = ', COST_FUNC print*, ' TCC contribution = ', COST_FUNC - OLD_COST print*, ' Number of observations this hour = ', NOBS print*, ' Number of observations total = ', TotalObs END SUBROUTINE CALC_TCCON_CH4_FORCE !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: get_intmap ! ! !DESCRIPTION: Function GET\_INTMAP linearly interpolates column quatities ! based upon the centered (average) pressue levels. !\\ !\\ ! !INTERFACE: ! SUBROUTINE GET_INTMAP( State_Grid, GCPCEN, TCCPCEN, HINTERPZ ) ! ! !USES: ! USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid REAL(fp), INTENT(IN) :: GCPCEN(State_Grid%NZ) REAL(fp), INTENT(IN) :: TCCPCEN(MAXLEV) ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: HINTERPZ(State_Grid%NZ,MAXLEV) ! ! !REVISION HISTORY: ! 17 Aug 2017 - M. Sulprizio- Initial version based on TCCON CH4 observation ! operator from GC Adjoint v35j ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: LGC, LTM, NGC, NSAT REAL(fp) :: DIFF, HI, MID, LOW LOGICAL :: WHICH_MAP = .TRUE. !================================================================= ! GET_HINTERPZ_2 begins here! !================================================================= HINTERPZ(:,:) = 0e+0_fp !! Determine what to map onto !IF ( MAXLEV > State_Grid%NZ ) THEN ! WHICH_MAP = .FALSE. !ENDIF ! Determine the looping IF ( WHICH_MAP ) THEN NGC = State_Grid%NZ-1 NSAT = MAXLEV ELSE NSAT = MAXLEV-1 NGC = State_Grid%NZ ENDIF ! Loop over each pressure level of TCCON grid DO LTM = 1, NSAT ! Find the levels from TCCON that bracket GC DO LGC = 1, NGC ! Find the bounding values IF (MAXLEV > State_Grid%NZ) THEN LOW = GCPCEN(LGC+1) HI = GCPCEN(LGC) MID = TCCPCEN(LTM) ELSE LOW = TCCPCEN(LTM+1) HI = TCCPCEN(LTM) MID = GCPCEN(LGC) ENDIF ! Match TCCON level to the GEOS-Chem level IF ( ( MID <= HI ) .AND. ( MID > LOW ) ) THEN DIFF = HI - LOW IF (MAXLEV > State_Grid%NZ) THEN HINTERPZ(LGC+1,LTM) = ( HI - MID ) / DIFF HINTERPZ(LGC ,LTM) = ( MID - LOW ) / DIFF ELSE HINTERPZ(LGC,LTM+1) = ( HI - MID ) / DIFF HINTERPZ(LGC,LTM ) = ( MID - LOW ) / DIFF ENDIF ENDIF ENDDO ENDDO ! Correct for case where TCCON pressure is higher than the ! highest GC pressure center. In this case, just 1:1 map. DO LTM = 1, MAXLEV IF ( TCCPCEN(LTM) > GCPCEN(1) ) THEN HINTERPZ(:,LTM) = 0e+0_fp HINTERPZ(1,LTM) = 1e+0_fp ENDIF ENDDO END SUBROUTINE GET_INTMAP !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: tcc_pedge ! ! !DESCRIPTION: Function TCC\_PEDGE get the pressure edges for the TCCON ! pressure grid !\\ !\\ ! !INTERFACE: ! FUNCTION TCC_PEDGE( LTCC, TCC_P_I ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: LTCC ! # TCCON presure levels REAL(fp), INTENT(IN) :: TCC_P_I(LTCC) ! TCCON pressure levels [mbar] ! ! !RETURN VALUE: ! REAL(fp) :: TCC_PEDGE(LTCC+1) ! TCCON pressure edges ! ! !REVISION HISTORY: ! 17 Aug 2017 - M. Sulprizio- Initial version based on TCCON CH4 observation ! operator from GC Adjoint v35j ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: LL REAL(fp) :: p(LTCC) REAL(fp) :: PEDGE(LTCC+1) REAL(fp) :: LAYER_BOT(LTCC) REAL(fp) :: LAYER_TOP(LTCC) REAL(fp) :: TCC_P(LTCC) REAL(fp) :: test1, test2 !================================================================= ! TCC_PEDGE begins here! !================================================================= ! Reverse the array orders so toa is first TCC_P = TCC_P_I IF (LTCC .GT. 1) THEN IF (TCC_P_I(2) .LT. TCC_P_I(1)) TCC_P = TCC_P(LTCC:1:-1) ENDIF ! Determine how much a level influences the levels above and below it DO LL = 1, LTCC ! Make coding cleaner p = TCC_P ! Different cases: (a) toa, (b) surface, (c) else IF (LL .EQ. 1) THEN test1 = ABS( -1e0*p(LL) + ( ( p(LL+1) - p(LL) ) & / LOG( p(LL+1) / p(LL) ) ) ) test2 = 0e+0_fp ELSE IF (LL .EQ. LTCC) THEN test1 = 0e+0_fp test2 = ABS( p(LL) - ( ( p(LL) - p(LL-1) ) & / LOG( p(LL) / p(LL-1) ) ) ) ELSE test1 = ABS( -1e0*p(LL) + ( ( p(LL+1) - p(LL) ) & / LOG( p(LL+1) / p(LL) ) ) ) test2 = ABS( p(LL) - ( ( p(LL) - p(LL-1) ) & / LOG( p(LL) / p(LL-1) ) ) ) ENDIF ! Get the three layers (bottom, top, and center) LAYER_BOT(LL) = ( TCC_P(LL) + test1 ) LAYER_TOP(LL) = ( TCC_P(LL) - test2 ) ENDDO ! Get the edges DO LL = 1, LTCC+1 IF (LL .EQ. LTCC+1) THEN PEDGE(LL) = LAYER_BOT(LL-1) ELSE PEDGE(LL) = LAYER_TOP(LL) ENDIF ENDDO ! Return to the original grid formatting IF (LTCC .GT. 1) THEN IF (TCC_P_I(2) .LT. TCC_P_I(1)) PEDGE = PEDGE(LTCC+1:1:-1) ENDIF ! Store the output TCC_PEDGE = PEDGE END FUNCTION TCC_PEDGE !EOC END MODULE TCCON_CH4_MOD ================================================ FILE: GeosCore/tomas_mod.F90 ================================================ #ifdef TOMAS !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: tomas_mod.F90 ! ! !DESCRIPTION: Module TOMAS\_MOD contains variable specific to the TOMAS ! aerosol microphysics simulation, e.g. number of species, number of size-bins, ! mass per particle bin boundaries and arrays used inside the microphysics ! subroutine. (win, 7/9/07) !\\ !\\ ! !INTERFACE: ! MODULE TOMAS_MOD ! ! !USES: ! USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE ! ! !REMARKS: ! This module also contains what used to be in sizecode.COM header file ! containing common blocks for TOMAS aerosol microphysics algorithm ! originally implemented in GISS GCM-II' by Peter Adams. Below is the original ! comment from sizecode.COM ! ! This header file includes all the variables used by the ! size-resolved aerosol microphysics code incorporated into ! the GISS GCM II' by Peter Adams. The microphysics algorithm ! conserves aerosol number and mass using the schemes developed ! by Graham Feingold and others. ! ! References: ! ============================================================================ ! Tzivion, S., Feingold, G., and Levin, Z., An Efficient ! Numerical Solution to the Stochastic Collection Equation, ! J. Atmos. Sci., 44, 3139-3149, 1987. ! Feingold, G., Tzivion, S., and Levin, Z., Evolution of ! Raindrop Spectra. Part I: Solution to the Stochastic ! Collection/Breakup Equation Using the Method of Moments, ! J. Atmos. Sci., 45, 3387-3399, 1988. ! Tzivion, S., Feingold, G., and Levin, Z., The Evolution of ! Raindrop Spectra. Part II: Collisional Collection/Breakup ! and Evaporation in a Rainshaft, J. Atmos. Sci., 46, 3312- ! 3327, 1989. ! Feingold, G., Levin, Z., and Tzivion, S., The Evolution of ! Raindrop Spectra. Part III: Downdraft Generation in an ! Axisymmetrical Rainshaft Model, J. Atmos. Sci., 48, 315- ! 330, 1991. ! ! The algorithms described in these papers have been extended ! to include multicomponent aerosols and modified for a moving ! sectional approach. Using this approach, the boundaries ! between size bins are defined in terms of dry aerosol mass ! such that the actual sizes of the sections move as water ! is added to or lost from the aerosol. ! ! All of the subroutines needed for this aerosol microphysics ! algorithm use only their own internal variables or the ones ! listed here. GISS GCM II' variables are not used (a driver ! subroutine performs the necessary swapping between the GCM ! and the microphysics code). The microphysics code is, ! therefore, completely modular. ! ! !REVISION HISTORY: ! 09 Jul 2006 - W. Trivitayanurak - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC !======================================================================== ! Module Variables: ! ICOMP : Number of aerosol mass species + 1 for number ! Nk : Aerosol number internal array ! Mk : Aerosol mass internal array ! Gc : Condensing gas ! Nkd : Aerosol number diagnostic array ! Mkd : Aerosol mass diagnostic array ! Gcd : Condensing gas diagnostic array ! Xk : Size bin boundary in dry mass per particle ! MOLWT : Aerosol molecular weight ! SRTSO4 : ID of sulfate ! SRTNACL : ID of sea-salt ! SRTH2O : ID of aerosol water ! SRTECOB : ID of hydrophobic EC ! SRTECIL : ID of hydrophilic EC ! SRTOCOB : ID of hydrophobic OC ! SRTOCIL : ID of hydrophilic OC ! dust?? : ID of internally mixed dust (future work) ! dust?? : ID of externally mixed dust (future work) ! BOXVOL : Grid box volume (cm3) ! BOXMASS : Grid box air mass (kg) ! TEMPTMS : Temperature (K) of each grid box ! PRES : Pressure (Pa) in grid box ! RHTOMAS : Relative humidity (0-1) ! BINACT1 : Activated bin as a function of composition ! FRACTION: Activated fraction as a fcn of composition ! IDIAG : Number of diagnostic tracer (NH4 and H2O) !======================================================================== ! ! !DEFINED PARAMETERS: ! INTEGER, PARAMETER :: SRTSO4 = 1 INTEGER, PARAMETER :: SRTNACL = 2 INTEGER, PARAMETER :: SRTECOB = 3 INTEGER, PARAMETER :: SRTECIL = 4 INTEGER, PARAMETER :: SRTOCOB = 5 INTEGER, PARAMETER :: SRTOCIL = 6 INTEGER, PARAMETER :: SRTDUST = 7 INTEGER, PARAMETER :: SRTNH4 = 8 INTEGER, PARAMETER :: SRTH2O = 9 INTEGER, PARAMETER :: ICOMPHARD = 9 ! ! !PUBLIC DATA MEMBERS: ! ! Scalars INTEGER :: ICOMP, IDIAG ! Arrays REAL(fp), SAVE, ALLOCATABLE, TARGET :: Xk(:) REAL*4, SAVE, ALLOCATABLE :: MOLWT(:) INTEGER, SAVE :: BINACT1(101,101,101) REAL(fp), SAVE :: FRACTION1(101,101,101) INTEGER, SAVE :: BINACT2(101,101,101) REAL(fp), SAVE :: FRACTION2(101,101,101) REAL(fp), ALLOCATABLE :: AVGMASS(:) ! Average mass per particle ! mid-range of size bin ! [kg/no.] REAL(fp) :: cosmic_ions(72,46,9) !careful, this is not GCHP safe! ! [ion pairs kg^-1 s^-1] REAL(fp), SAVE, ALLOCATABLE :: OCSCALE30(:) REAL(fp), SAVE, ALLOCATABLE :: OCSCALE100(:) REAL(fp), SAVE, ALLOCATABLE :: ECSCALE30(:) REAL(fp), SAVE, ALLOCATABLE :: ECSCALE100(:) INTEGER :: bin_nuc = 1, tern_nuc = 1 ! Switches for nucleation type. INTEGER :: act_nuc = 0 ! in BL INTEGER :: ion_nuc = 0 ! 1 for modgil, 2 for Yu ! (Yu currently broken, JRP 202101) INTEGER :: absall = 1 ! 1 for soa absorb to all specnapari ! nucleation tuned by factor of 1.0D-5 REAL(fp) :: soaareafrac=1.0e+0_fp ! fraction of SOA that goes ! to SA rather than into mass INTEGER :: xSOA = 1 !Switch for xSOA. If set to one, emit 100 ! Tg/yr SOA correlated with anrtho CO ! (JKodros 6/3/15) ! switch to 0 for anthro-free ! runs (Pengfei Liu 4/18/2018) INTEGER :: lowRH = 1 !This is to match AW more with AERONET (JKODROS 6/15) REAL(fp), ALLOCATABLE :: H2SO4_RATE(:,:,:) ! H2SO4 prod rate [kg s-1] REAL(fp), ALLOCATABLE :: PSO4AQ_RATE(:,:,:) ! Cld chem sulfate prod rate [kg s-1] ! Subgrid coagulation timescale (win, 10/28/08) REAL*4 :: SGCTSCALE ! ! !PRIVATE TYPES: ! ! Number of bins (copied from State_Chm%nTomasBins) INTEGER, PRIVATE, SAVE :: IBINS ! Species ID flags INTEGER, PRIVATE :: id_AW01 INTEGER, PRIVATE :: id_DUST01 INTEGER, PRIVATE :: id_ECIL01 INTEGER, PRIVATE :: id_ECOB01 INTEGER, PRIVATE :: id_H2SO4 INTEGER, PRIVATE :: id_NH3 INTEGER, PRIVATE :: id_NH4 INTEGER, PRIVATE :: id_NK01 INTEGER, PRIVATE :: id_OCIL01 INTEGER, PRIVATE :: id_OCOB01 INTEGER, PRIVATE :: id_SF01 INTEGER, PRIVATE :: id_SO4 INTEGER, PRIVATE :: id_SS01 CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: do_tomas ! ! !DESCRIPTION: Subroutine DO\_TOMAS is the driver subroutine that calls the ! appropriate aerosol microphysics and dry deposition subroutines. (win, ! 7/23/07) !\\ !\\ ! !INTERFACE: ! SUBROUTINE DO_TOMAS( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE UnitConv_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N ! Strings CHARACTER(LEN=255) :: MSG, LOC !================================================================= ! DO_TOMAS begins here !================================================================= ! Assume success RC = GC_SUCCESS ! Check that species units are in [kg] IF ( .not. Check_Units( State_Chm, KG_SPECIES ) ) THEN MSG = 'Not all species are in kg!' LOC = 'Routine DO_TOMAS in tomas_mod.F90' CALL GC_Error( MSG, RC, LOC ) ENDIF ! Do TOMAS aerosol microphysics CALL AEROPHYS( Input_Opt, State_Chm, State_Grid, State_Met, & State_Diag, RC ) !print *, 'call checkmn in tomas_mod:222' CALL CHECKMN( 0, 0, 0, Input_Opt, State_Chm, State_Grid, & State_Met, State_Diag, 'Before Aerodrydep', RC) ! in kg ! Do dry deposition IF ( Input_Opt%LDRYD ) THEN CALL AERO_DRYDEP( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ENDIF ! not in kg !print *, 'call checkmn in tomas_mod:229' CALL CHECKMN( 0, 0, 0, Input_Opt, State_Chm, State_Grid, & State_Met, State_Diag, 'Before exiting DO_TOMAS', RC ) END SUBROUTINE DO_TOMAS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: aerophys ! ! !DESCRIPTION: Subroutine AEROPHYS does aerosol microphysics, including ! nucleation, coagulation, and condensation. !\\ !\\ ! !INTERFACE: ! SUBROUTINE AEROPHYS( Input_Opt, State_Chm, State_Grid, State_Met, & State_Diag, RC ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE State_Diag_Mod, ONLY : DgnState USE TIME_MOD, ONLY : GET_TS_CHEM USE UnitConv_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES ! INTEGER :: I, J, L, N, JC, K !counters INTEGER :: MPNUM !microphysical process id # REAL*4 :: ADT !aerosol microphysics time step (seconds) REAL(fp) :: QSAT !used in RH calculation INTEGER :: TRACNUM REAL(fp) :: FRAC CHARACTER(LEN=255) :: MSG, LOC ! species unit check ! Arguments for CHECK_VALUE; avoids array temporaries (bmy, 1/28/14) CHARACTER(LEN=255) :: ERR_VAR CHARACTER(LEN=255) :: ERR_MSG INTEGER :: ERR_IND(4) !--------- !sfarina - move definitions of these from module common !to within each sub and pass them around for openmp REAL(fp) :: Nk(IBINS), Nkd(IBINS) REAL(fp) :: Mk(IBINS, ICOMP) REAL(fp) :: Mkd(IBINS,ICOMP) REAL(fp) :: Gc(ICOMP - 1) REAL(fp) :: Gcd(ICOMP - 1) REAL*4 :: BOXVOL, BOXMASS, TEMPTMS REAL*4 :: PRES, RHTOMAS REAL(fp) :: surf_area ! aerosol surface area [micon^2 cm^-3] REAL(fp) :: ionrate ! ion pair formation ! rate [ion pairs cm^-3 s^-1] !--------- REAL(fp) :: Nkout(ibins), Mkout(ibins,icomp) REAL(fp) :: Gcout(icomp-1) REAL(fp) :: Nknuc(ibins), Mknuc(ibins,icomp) REAL(fp) :: Nkcond(ibins), Mkcond(ibins,icomp) REAL(fp) :: fn ! nucleation rate of clusters cm-3 s-1 REAL(fp) :: fn1 ! formation rate of particles to first size bin cm-3 s-1 REAL(fp) :: nucrate(State_Grid%NY,State_Grid%NZ) REAL(fp) :: nucrate1(State_Grid%NY,State_Grid%NZ) REAL(fp) :: tot_n_1, tot_n_1a, tot_n_2, tot_n_i ! used for nitrogen mass checks REAL(fp) :: tot_s_1, tot_s_1a, tot_s_2 ! used for sulfur mass checks REAL(fp) :: h2so4rate_o ! H2SO4rate for the specific grid cell REAL(fp) :: TOT_Mk, TOT_nk ! for checking mass and number REAL(fp) :: transfer(ibins) LOGICAL :: PRINTNEG ! (win, 3/24/05) logical :: ERRORSWITCH ! To see where mnfix found negative value (win, 9/12/05) logical :: errspot ! To see where so4cond found errors (win, 9/21/05) logical :: printdebug ! Print out for debugging (win, 9/16/05) logical :: COND, COAG, NUCL ! switch for each process (win 4/8/06) integer :: iob, job,lob !Just declare in case I want to debug (4/8/06) data iob, job, lob / 1 , 1 , 1 / real(fp) :: NH3_to_NH4, CEPS parameter ( CEPS=1.e-17_fp ) real(fp) igR parameter (igR=8.314) !Ideal gas constant J/mol.K !The following are constants used in calculating rel. humidity real(fp) axcons, bxcons, bytf, tf !for RH calculation parameter(axcons=1.8094520287589733, & bxcons=0.0021672473136556273, & bytf=0.0036608580560606877, tf=273.16) !lhe and lhs are the latent heats of evaporation and sublimation logical, save :: firsttime = .true. integer :: num_iter real(fp) cplevels(9) ! cosmic ray pressure levels (for interp) data cplevels / 959., 894., 786., 634., 468., & 321., 201., 103., 27. / integer lev real(fp) weight double precision soil_ions(9) ! ion pairs cm-3 s-1 from radioactive elements in soil data soil_ions / 5.,3.3,1.8,0.7,0.,0.,0.,0.,0./ ! Pointers TYPE(SpcConc), POINTER :: Spc(:) !================================================================= ! AEROPHYS begins here !================================================================= ! Assume success RC = GC_SUCCESS ! Check that species units are in [kg]. While species units ! are now generally [kg/kg] in GEOS-Chem, they are converted to ! kg for TOMAS elsewhere in tomas_mod prior to calling this subroutine ! (ewl, 8/13/15) IF ( .not. Check_Units( State_Chm, KG_SPECIES ) ) THEN MSG = 'Not all species are in kg!' LOC = 'Routine AEROPHYS in tomas_mod.F90' CALL GC_Error( MSG, RC, LOC ) ENDIF ! Point to chemical species array [kg] Spc => State_Chm%Species ! Initialize debugging and error-signal switches printneg = .FALSE. errorswitch = .FALSE. PRINTDEBUG = .FALSE. ERRSPOT = .FALSE. ! Initialize switches for each microphysical process COND = .TRUE. COAG = .TRUE. NUCL = .TRUE. ! Initialize nucleation rate arrays nucrate(:,:) = 0.e+0_fp nucrate1(:,:) = 0.e+0_fp ! First-time setup if (firsttime) then !==================================================================== ! Make sure there is access to the H2SO4 production rate array ! H2SO4RATE, which saves the H2SO4 production rate for EACH chemistry ! timestep. The prod/loss family has to be set with at least one ! with the family name PSO4 and SO4 as its one member. (win, 9/30/08) !==================================================================== write(*,*) 'AEROPHYS: This run uses coupled condensation-', & 'nucleation scheme with pseudo-steady state H2SO4' if(tern_nuc == 1) then write(*,*)' Nucleation: Ternary (Napari ', & 'et al. 2002) and Binary (Vehkamaki et al. 2002)' else write(*,*)' Nucleation: Binary (Vehkamaki et al. 2002)' endif firsttime = .false. endif ! Get chemistry timestep for use below [s] ! NOTE: This doesn't have to be !$OMP+PRIVATE (bmy, 2/7/20) ADT = GET_TS_CHEM() !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !%%% NOTE: THIS PARALLEL LOOP MAY BE ABLE TO BE REVERSED TO L-J-I !%%% WHICH IS MUCH MORE EFFICIENT (bmy, 1/28/14) !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L ) & !$OMP PRIVATE( PRES, TEMPTMS, BOXMASS, RHTOMAS, BOXVOL ) & !$OMP PRIVATE( printneg, ionrate, lev, weight, GC, N, NK, JC ) & !$OMP PRIVATE( MK, H2SO4rate_o, tot_n_1, k, tot_s_1, MPNUM ) & !$OMP PRIVATE( Nkd, Mkd, TOT_NK, TOT_MK, TRANSFER ) & !$OMP PRIVATE( Nkout,Mkout,Gcout,fn,fn1 ) & !$OMP PRIVATE( num_iter,Nknuc,Mknuc,Nkcond ) & !$OMP PRIVATE( Mkcond, ERRORSWITCH, tot_s_1a, tot_n_1a ) & !$OMP PRIVATE( ERR_VAR, ERR_MSG, ERR_IND ) & !$OMP PRIVATE( TRACNUM, NH3_TO_NH4, SURF_AREA ) & !$OMP SCHEDULE( DYNAMIC ) DO I = 1, State_Grid%NX DO J = 1, State_Grid%NY DO L = 1, State_Grid%NZ ! Skip non-chemgrid boxes IF ( .not. State_Met%InChemGrid(I,J,L) ) CYCLE !vbn write(890,89)I,J,L,Spc(id_H2SO4)%Conc(i,j,l) !if(printdebug) print *,'+++++',I,J,L,'inside Aerophys' ! Get info on this grid box PRES = State_Met%PMID(i,j,l)*100.0 ! in Pa TEMPTMS = State_Met%T(I,J,L) BOXMASS = State_Met%AD(I,J,L) RHTOMAS = State_Met%RH(I,J,L)/ 1.e2 IF ( RHTOMAS > 0.99 ) RHTOMAS = 0.99 BOXVOL = State_Met%AIRVOL(I,J,L) * 1.e6 !convert from m3 -> cm3 printneg = .FALSE. ! determine ion rate ionrate = 10.0_fp ! set as constant now !!jrp, bc 18/12/23 and comment out below ! IF ( TRIM(State_Grid%GridRes) == '4.0x5.0' ) THEN ! ! if( (pres / 100.) .lt. cplevels(9) ) then ! ionrate = cosmic_ions(i,j,9) * boxmass / boxvol ! if(State_Met%FRCLND(I,J) .gt. 0.2) then ! ionrate = ionrate + soil_ions(9) ! endif ! elseif((pres/100.) .gt. cplevels(1)) then ! ionrate = cosmic_ions(i,j,1) * boxmass / boxvol ! if( State_Met%FRCLND(I,J) .gt. 0.2 ) then ! ionrate = ionrate + soil_ions(1) ! endif ! else ! lev=2 ! do while (pres / 100. .lt. cplevels(lev)) ! lev=lev+1 ! enddo ! weight=( cplevels( lev - 1 ) - pres / 100. ) / & ! ( cplevels( lev - 1 ) - cplevels(lev) ) ! ionrate=( cosmic_ions(i,j,lev ) * weight + & ! cosmic_ions(i,j,lev-1) * (1.e+0_fp - weight) ) & ! * boxmass / boxvol ! if( State_Met%FRCLND(I,J) .gt. 0.2) then ! ionrate=ionrate + ( soil_ions( lev ) * weight + & ! soil_ions( lev-1 ) * (1.e+0_fp-weight) ) ! endif ! endif ! ! ELSE ! ionrate = 0.e+0_fp ! ENDIF ! ! if(ionrate .le. 1.501) ionrate = 1.501 !print*,'i',i,'j',j,'l',l,'ionrate',ionrate ! Initialize all condensible gas values to zero ! Gc(srtso4) will remain zero until within cond_nuc where the ! pseudo steady state H2SO4 concentration will be put in this place. DO JC=1, ICOMP-1 Gc(JC) = 0.e+0_fp ENDDO ! Swap Spc into Nk, Mk, Gc arrays DO N = 1, IBINS NK(N) = Spc(id_NK01-1+N)%Conc(I,J,L) DO JC = 1, ICOMP-IDIAG MK(N,JC) = Spc(id_NK01-1+N+JC*IBINS)%Conc(I,J,L) IF( IT_IS_NAN( MK(N,JC) ) ) THEN PRINT *,'+++++++ Found NaN in AEROPHYS ++++++++' PRINT *,'Location (I,J,L):',I,J,L,'Bin',N,'comp',JC ENDIF ENDDO MK(N,SRTH2O) = Spc(id_AW01-1+N)%Conc(I,J,L) ENDDO ! Get NH4 mass from the bulk mass and scale to bin with sulfate IF ( SRTNH4 > 0 ) THEN CALL NH4BULKTOBIN( MK(:,SRTSO4), Spc(id_NH4)%Conc(I,J,L), TRANSFER ) MK(1:IBINS,SRTNH4) = TRANSFER(1:IBINS) Gc(SRTNH4) = Spc(id_NH3)%Conc(I,J,L) ENDIF ! Give it the pseudo-steady state value instead later (win,9/30/08) !GC(SRTSO4) = Spc(id_H2SO4)%Conc(I,J,L) H2SO4rate_o = H2SO4_RATE(I,J,L) ! [kg s-1] ! Pengfei Liu add 2018/04/18, debug IF ( H2SO4rate_o .lt. 0.e0 ) THEN Print*, 'Debug TOMAS: H2SO4RATE = ', H2SO4rate_o, 'I = ', I, & 'J = ', J, 'L = ', L H2SO4rate_o = 0.e+0_fp ENDIF ! IF ( Input_Opt%Verbose ) THEN IF ( I == 10 .and. J == 10 .and. L == 10 ) THEN Print*, 'Debug TOMAS: H2SO4RATE =', H2SO4rate_o ENDIF ENDIF ! nitrogen and sulfur mass checks ! get the total mass of N tot_n_1 = Gc(srtnh4)*14.e+0_fp/17.e+0_fp do k=1,ibins tot_n_1 = tot_n_1 + Mk(k,srtnh4)*14.e+0_fp/18.e+0_fp enddo ! get the total mass of S tot_s_1 = H2SO4rate_o*adt*32.e+0_fp/98.e+0_fp do k=1,ibins tot_s_1 = tot_s_1 + Mk(k,srtso4)*32.e+0_fp/96.e+0_fp enddo !if (printdebug.and.i==iob .and. j==job .and. l==lob ) then ! CALL DEBUGPRINT( Nk, Mk, I, J, L, 'Begin aerophys' ) ! print *,'H2SO4RATE ',H2SO4rate_o !endif !********************* ! Aerosol dynamics !********************* !Do water eqm at appropriate times CALL EZWATEREQM( MK, RHTOMAS ) !Fix any inconsistencies in M/N distribution (because of advection) CALL STORENM(Nk, Nkd, Mk, Mkd, Gc, Gcd) !if(printdebug .and. i==iob.and.j==job.and.l==lob) ERRORSWITCH =.TRUE. !print *, 'mnfix in tomas_mod:533' CALL MNFIX( NK, MK, ERRORSWITCH ) IF ( ERRORSWITCH ) THEN PRINT *,'Aerophys: MNFIX found error at',I,J,L CALL ERROR_STOP('AEROPHYS-MNFIX (1)','Enter microphys') ENDIF MPNUM = 11 IF ( State_Diag%Archive_TomasMNFIXezwat1mass .or. & State_Diag%Archive_TomasMNFIXezwat1number ) THEN CALL AERODIAG( MPNUM, I, J, L, Nk, Nkd, Mk, Mkd, BOXMASS, & State_Grid, State_Diag ) ENDIF !IF ( printdebug.and.i==iob .and. j==job .and. l==lob ) THEN ! CALL DEBUGPRINT( Nk, Mk, I, J, L, 'After mnfix before cond/nucl' ) !ENDIF ! Before doing any cond/nucl/coag, check if there's any aerosol in ! the current box TOT_NK = 0.e+0_fp TOT_MK = 0.e+0_fp do k = 1, ibins TOT_NK = TOT_NK + Nk(K) do jc=1, icomp-idiag TOT_MK = TOT_MK + Mk(k,jc) enddo enddo if(TOT_NK .lt. 1.e-10_fp) then if( .NOT. SPINUP(5.0)) then print *,'No aerosol in box ',I,J,L,'-->SKIP' endif CYCLE endif !------------------------------------- ! Condensation and nucleation (coupled) !------------------------------------- IF ( COND .AND. NUCL .AND. H2SO4rate_o > 0.e0_fp) THEN !if(printdebug .and. i==iob.and.j==job.and.l==lob) ERRORSWITCH =.TRUE. CALL STORENM(Nk, Nkd, Mk, Mkd, Gc, Gcd) !sfdebug if(printdebug) then !sfdebug !print*,'Before COND_NUC Gc(srtso4)=',Gc(srtso4) !sfdebug do N = 1,IBINS !sfdebug IF( IT_IS_NAN( NK(N) ) ) THEN !sfdebug print*, "found NAN in nk", n, nk !sfdebug endif !sfdebug DO JC=1, ICOMP-1 !sfdebug IF( IT_IS_NAN( Gc(JC) ) ) THEN !sfdebug print*, "found NAN in gc", jc, gc !sfdebug endif !sfdebug ENDDO !sfdebug enddo !sfdebug endif CALL COND_NUC(Nk,Mk,Gc,Nkout,Mkout,Gcout,fn,fn1, & H2SO4rate_o,adt,num_iter,Nknuc,Mknuc,Nkcond,Mkcond, & ionrate, surf_area, BOXVOL, BOXMASS, TEMPTMS, PRES, & RHTOMAS, ERRORSWITCH, l) !sfdebug if(printdebug) then !sfdebug !print*,'Before COND_NUC Gc(srtso4)=',Gc(srtso4) !sfdebug do N = 1,IBINS !sfdebug IF( IT_IS_NAN( NKout(N) ) ) THEN !sfdebug print*, "found NAN in nkout", n, nkout !sfdebug endif !sfdebug DO JC=1, ICOMP-1 !sfdebug IF( IT_IS_NAN( Gcout(JC) ) ) THEN !sfdebug print*, "found NAN in gcout", jc, gcout !sfdebug endif !sfdebug ENDDO !sfdebug enddo !sfdebug endif IF ( ERRORSWITCH ) THEN PRINT *,'Aerophys: found error at',I,J,L CALL ERROR_STOP('AEROPHYS','After cond_nuc') ENDIF ERR_VAR = 'Gcout' ERR_MSG = 'After COND_NUC' ! check for NaN and Inf (win, 10/4/08) do jc = 1, icomp-1 ERR_IND(1) = I ERR_IND(2) = J ERR_IND(3) = L ERR_IND(4) = 0 ! IF (SPINUP(14.0) .and. Gcout(jc) /= Gcout(jc) ) THEN IF( SPINUP(14.0) .AND. IT_IS_NAN( Gcout(jc) ) ) THEN Gcout(jc) = 0.0e+0_fp ! reset Nan to zero during spinup, bc 18/12/23 print*,'Reset Gcout NaN to zero at ',I,J,L ELSEIF ( SPINUP(14.0) .AND. .not. IT_IS_FINITE( Gcout(jc) ) ) THEN Gcout(jc) = 0.0e+0_fp ! reset Inf to zero during spinup, bc 18/12/23 print*,'Reset Gcout Inf to zero at ',I,J,L ELSE call check_value( Gcout(jc), ERR_IND, ERR_VAR, ERR_MSG ) ENDIF !if( IT_IS_FINITE(Gcout(jc))) then ! print *,'xxxxxxxxx Found Inf in Gcout xxxxxxxxxxxxxx' ! print *,'Location ',I,J,L, 'comp',jc ! call debugprint( Nkout, Mkout, i,j,l,'After COND_NUC') ! stop !endif enddo !get nucleation diagnostic DO N = 1, IBINS NK(N) = NKnuc(N) DO JC = 1, ICOMP MK(N,JC) = MKnuc(N,JC) ENDDO ENDDO MPNUM = 3 IF ( State_Diag%Archive_TomasNUCLmass .or. & State_Diag%Archive_TomasNUCLnumber ) THEN CALL AERODIAG( MPNUM, I, J, L, Nk, Nkd, Mk, Mkd, BOXMASS, & State_Grid, State_Diag ) ENDIF MPNUM = 7 IF ( State_Diag%Archive_TomasNUCRATEnumber) THEN CALL AERODIAG( MPNUM, I, J, L, Nk, Nkd, Mk, Mkd, BOXMASS, & State_Grid, State_Diag ) ENDIF IF ( printdebug.and.i==iob .and. j==job .and. l==lob ) THEN CALL DEBUGPRINT( Nk, Mk, I, J, L,'After nucleation' ) ENDIF !get condensation diagnostic DO N = 1, IBINS NK(N) = NKcond(N) DO JC = 1, ICOMP MK(N,JC) = MKcond(N,JC) ENDDO ENDDO Gc(srtnh4)=Gcout(srtnh4) Gc(srtso4)=Gcout(srtso4) MPNUM = 1 IF ( State_Diag%Archive_TomasNUCLmass .or. & State_Diag%Archive_TomasNUCLnumber ) THEN CALL AERODIAG( MPNUM, I, J, L, Nk, Nkd, Mk, Mkd, BOXMASS, & State_Grid, State_Diag ) ENDIF IF ( printdebug.and.i==iob .and. j==job .and. l==lob ) THEN CALL DEBUGPRINT( Nk, Mk, I, J, L,'After condensation' ) ENDIF nucrate(j,l)=nucrate(j,l)+fn nucrate1(j,l)=nucrate1(j,l)+fn1 ! replaces old ND61 diagnostic! IF ( State_Diag%Archive_TomasNUCRATEFN ) THEN State_Diag%TomasNUCRATEFN(I,J,L) = fn ENDIF DO N = 1, IBINS NK(N) = NKout(N) DO JC = 1, ICOMP MK(N,JC) = MKout(N,JC) ENDDO ENDDO ENDIF ! end of cond and nuc ! ! nitrogen and sulfur mass checks ! get the total mass of N tot_n_1a = Gc(srtnh4)*14.e+0_fp/17.e+0_fp do k=1,ibins tot_n_1a = tot_n_1a + Mk(k,srtnh4)*14.e+0_fp/18.e+0_fp enddo ! get the total mass of S tot_s_1a = 0.e+0_fp do k=1,ibins tot_s_1a = tot_s_1a + Mk(k,srtso4)*32.e+0_fp/96.e+0_fp enddo CALL STORENM(Nk, Nkd, Mk, Mkd, Gc, Gcd) !print *, 'mnfix in tomas_mod:677' CALL MNFIX( Nk, Mk, ERRORSWITCH ) IF ( ERRORSWITCH ) THEN PRINT *,'Aerophys: MNFIX found error at',I,J,L IF( .not. SPINUP(14.0) ) THEN CALL ERROR_STOP('AEROPHYS-MNFIX (2)','After cond/nucl') ELSE PRINT *,'Let error go during spin up' ENDIF ENDIF MPNUM = 14 IF ( State_Diag%Archive_TomasMNFIXh2so4mass .or. & State_Diag%Archive_TomasMNFIXh2so4number ) THEN CALL AERODIAG( MPNUM, I, J, L, Nk, Nkd, Mk, Mkd, BOXMASS, & State_Grid, State_Diag ) ENDIF !----------------------------- ! Coagulation !----------------------------- if(printdebug .and. i==iob.and.j==job.and.l==lob) ERRORSWITCH =.TRUE. !if (i==iob .and. j==job .and. l==lob ) & ! CALL DEBUGPRINT( Nk, Mk, I, J, L,'Before coagulation' ) IF( COAG ) THEN CALL STORENM(Nk, Nkd, Mk, Mkd, Gc, Gcd) CALL MULTICOAG( ADT, Nk, Mk, BOXVOL, PRES, TEMPTMS, errorswitch ) if ( errorswitch ) & CALL DEBUGPRINT( Nk, Mk, I, J, L,'After coagulation' ) !if (i==iob .and. j==job .and. l==lob ) & ! CALL DEBUGPRINT( Nk, Mk, I, J, L,'After coagulation' ) MPNUM = 2 IF ( State_Diag%Archive_TomasCOAGmass .or. & State_Diag%Archive_TomasCOAGnumber ) THEN CALL AERODIAG( MPNUM, I, J, L, Nk, Nkd, Mk, Mkd, BOXMASS, & State_Grid, State_Diag ) ENDIF !Fix any inconsistency after coagulation (win, 4/18/06) CALL STORENM(Nk, Nkd, Mk, Mkd, Gc, Gcd) if(printdebug .and. i==iob.and.j==job.and.l==lob) & ERRORSWITCH=.true. !4/18/06 win !print *, 'mnfix in tomas_mod:719' CALL MNFIX( NK, MK, ERRORSWITCH ) IF ( ERRORSWITCH ) THEN PRINT *,'MNFIX found error at',I,J,L IF( .not. SPINUP(14.0) ) THEN CALL ERROR_STOP('AEROPHYS-MNFIX (3)', 'After COAGULATION' ) ELSE PRINT *,'Let error go during spin up' ENDIF ENDIF MPNUM = 15 IF ( State_Diag%Archive_TomasMNFIXcoagmass .or. & State_Diag%Archive_TomasMNFIXcoagnumber ) THEN CALL AERODIAG( MPNUM, I, J, L, Nk, Nkd, Mk, Mkd, BOXMASS, & State_Grid, State_Diag ) ENDIF ENDIF ! Coagulation ! Do water eqm at appropriate times CALL EZNH3EQM( Gc, Mk ) CALL EZWATEREQM ( MK, RHTOMAS ) !**************************** ! End of aerosol dynamics !**************************** !Fix any inconsistencies in M/N distribution (because of advection) CALL STORENM(Nk, Nkd, Mk, Mkd, Gc, Gcd) ! Make sure anything that leaves AEROPHYS is free of any error ! This MNFIX call could be temporary (?) or just leave it here and ! monitor if the error fixed is significantly large meaning some ! serious problem needs to be investigated if(printdebug .and. i==iob.and.j==job.and.l==lob) ERRORSWITCH =.true. !print *, 'mnfix in tomas_mod:758' CALL MNFIX(NK,MK,ERRORSWITCH) IF ( ERRORSWITCH ) THEN PRINT *,'End of Aerophys: MNFIX found error at',I,J,L IF( .not. SPINUP(14.0) ) THEN CALL ERROR_STOP('AEROPHYS-MNFIX (4)', 'End of microphysics') ELSE PRINT *,'Let error go during spin up' ENDIF ENDIF ! Accumulate changes by mnfix to diagnostic (win, 9/8/05) MPNUM = 12 IF ( State_Diag%Archive_TomasMNFIXezwat2mass .or. & State_Diag%Archive_TomasMNFIXezwat2number ) THEN CALL AERODIAG( MPNUM, I, J, L, Nk, Nkd, Mk, Mkd, BOXMASS, & State_Grid, State_Diag ) ENDIF ! Swap Nk, Mk, and Gc arrays back to Spc DO N = 1, IBINS TRACNUM = id_NK01 - 1 + N Spc(TRACNUM)%Conc(I,J,L) = NK(N) DO JC = 1, ICOMP-IDIAG TRACNUM = id_NK01 - 1 + N + IBINS * JC Spc(TRACNUM)%Conc(I,J,L) = MK(N,JC) ENDDO Spc(id_AW01-1+N)%Conc(I,J,L) = MK(N,SRTH2O) ENDDO Spc(id_H2SO4)%Conc(I,J,L) = GC(SRTSO4) ! print to file to check mass conserv !write(*,77) I,J,L, Spc(id_NH3)%Conc(I,J,L), Spc(id_NH3)%Conc(I,J,L)-GC(SRTNH4) ! Calculate NH3 gas lost to aerosol phase as NH4 NH3_to_NH4 = Spc(id_NH3)%Conc(I,J,L)-GC(SRTNH4) ! Update the bulk NH4 aerosol species if ( NH3_to_NH4 > 0e+0_fp ) & Spc(id_NH4)%Conc(I,J,L) = Spc(id_NH4)%Conc(I,J,L) + & NH3_to_NH4/17.e+0_fp*18.e+0_fp ! Update NH3 gas species (win, 10/6/08) ! plus tiny amount CEPS in case zero causes some problem Spc(id_NH3)%Conc(I,J,L) = GC(SRTNH4) + CEPS !MUST CHECK THIS!! (win,9/26/08) !vbn write(889,89)I,J,L,Spc(id_H2SO4)%Conc(I,J,L) 89 format(3I3,'Spc(id_H2SO4)%Conc(I,J,L) kg', E13.5) ENDDO !L loop ENDDO !J loop ENDDO !I loop !$OMP END PARALLEL DO !WRITE(777,*) '---------------------------' 77 FORMAT(3I4, ' Spc(id_NH3)%Conc(I,J,L),'E13.5,' Used', E13.5 ) IF ( COND .and. Input_Opt%Verbose ) THEN PRINT *,'### AEROPHYS: SO4 CONDENSATION' ENDIF IF ( COAG .and. Input_Opt%Verbose ) THEN PRINT *,'### AEROPHYS: COAGULATION' ENDIF IF ( NUCL .and. Input_Opt%Verbose ) THEN PRINT *,'### AEROPHYS: NUCLEATION' ENDIF ! Free pointer memory Spc => NULL() END SUBROUTINE AEROPHYS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: cond_nuc ! ! !DESCRIPTION: This subroutine calculates the change in the aerosol size ! distribution due to so4 condensation and binary/ternary nucleation during ! the overal microphysics timestep. ! WRITTEN BY Jeff Pierce, May 2007 for GISS GCM-II' ! Put in GEOS-Chem by Win T. 9/30/08 !\\ !\\ ! !INTERFACE: ! SUBROUTINE COND_NUC(Nki,Mki,Gci,Nkf,Mkf,Gcf,fnavg,fn1avg, & H2SO4rate,dti,num_iter,Nknuc,Mknuc,Nkcond,Mkcond, & ionrate, surf_area, BOXVOL, BOXMASS, TEMPTMS, PRES, & RHTOMAS, errswitch, lev) ! ! !INPUT PARAMETERS: ! ! Nki(ibins) - number of particles per size bin in grid cell ! Nnuci - number of nucleation size particles per size bin in ! grid cell ! Mnuci - mass of given species in nucleation pseudo-bin ! (kg/grid cell) ! Mki(ibins, icomp) - mass of a given species per size bin/grid cell ! Gci(icomp-1) - amount (kg/grid cell) of all species present in the ! gas phase except water ! H2SO4rate - rate of H2SO4 chemical production [kg s^-1] ! dt - total model time step to be taken (s) REAL(fp) Nki(ibins), Mki(ibins, icomp), Gci(icomp-1) double precision H2SO4rate real dti ! ! !OUTPUT PARAMETERS: ! ! Nkf, Mkf, Gcf - same as above, but final values ! Nknuc, Mknuc - same as above, final values from just nucleation ! Nkcond, Mkcond - same as above, but final values from just condensation ! fn, fn1 REAL(fp) Nkf(ibins), Mkf(ibins, icomp), Gcf(icomp-1) REAL(fp) Nknuc(ibins), Mknuc(ibins, icomp) REAL(fp) Nkcond(ibins),Mkcond(ibins,icomp) double precision fnavg ! nucleation rate of clusters cm-3 s-1 double precision fn1avg ! formation rate of particles to first size bin cm-3 s-1 REAL*4 BOXVOL, BOXMASS, TEMPTMS, RHTOMAS, PRES logical errswitch ! signal for error integer lev ! layer of the model REAL(fp) surf_area REAL(fp) ionrate ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! double precision dt integer i,j,k,c ! counters double precision fn ! nucleation rate of clusters cm-3 s-1 double precision fn1 ! formation rate of particles to first size bin cm-3 s-1 double precision pi, R ! pi and gas constant (J/mol K) double precision CSi,CSa ! intial and average condensation sinks double precision CS1,CS2 ! guesses for condensation sink [s^-1] double precision CStest ! guess for condensation sink REAL(fp) Nk1(ibins), Mk1(ibins, icomp), Gc1(icomp-1) REAL(fp) Nk2(ibins), Mk2(ibins, icomp), Gc2(icomp-1) REAL(fp) Nk3(ibins), Mk3(ibins, icomp), Gc3(icomp-1) logical nflg ! returned from nucleation, says whether nucleation occurred or not double precision mcond,mcond1 ! mass to condense [kg] double precision tol ! tolerance double precision eps ! small number double precision sinkfrac(ibins) ! fraction of condensation sink coming from bin k double precision totmass ! the total mass of H2SO4 generated during the timestep double precision tmass double precision CSch ! fractional change in condensation sink double precision CSch_tol ! tolerance in change in condensation sink double precision addt ! adaptive timestep time double precision time_rem ! time remaining integer num_iter ! number of iteration double precision sumH2SO4 ! used for finding average H2SO4 conc over timestep integer iter ! number of iteration double precision rnuc ! critical radius [nm] double precision gasConc ! gas concentration [kg] double precision mass_change ! change in mass during nucleation double precision total_nh4_1,total_nh4_2 double precision min_tstep ! minimum timestep [s] integer nuc_bin ! the nucleation bin double precision sumfn, sumfn1 ! used for getting average nucleation rates logical tempvar, pdbg real(fp) tnumb ! ! !DEFINED PARAMETERS: ! parameter(pi=3.141592654, R=8.314) !pi and gas constant (J/mol K) parameter(eps=1E-40) parameter(CSch_tol=0.01) parameter(min_tstep=1.0e+0_fp) !================================================================= ! COND_NUC begins here !================================================================= pdbg = errswitch ! transfer the signal to print debug from outside errswitch = .false. ! flag error to outide to terminate program. dt = dble(dti) ! Initialize values of Nkf, Mkf, Gcf, and time do j=1,icomp-1 Gc1(j)=Gci(j) Gcf(j)=Gci(j) enddo do k=1,ibins Nk1(k)=Nki(k) Nknuc(k)=Nki(k) Nkcond(k)=Nki(k) do j=1,icomp Mk1(k,j)=Mki(k,j) Mknuc(k,j)=Mki(k,j) Mkcond(k,j)=Mki(k,j) enddo enddo ! Get initial condensation sink CS1 = 0.e+0_fp call getCondSink(Nk1,Mk1,srtso4,CS1,sinkfrac,surf_area,BOXVOL,TEMPTMS,PRES) if( pdbg) print*,'CS1', CS1 !CS1 = max(CS1,eps) !Get initial H2SO4 concentration guess (assuming no nucleation) !Make sure that H2SO4 concentration doesn't exceed the amount generated !during that timestep (this will happen when the condensation sink is very low) ! get the steady state H2SO4 concentration call getH2SO4conc(Nk1, Mk1, H2SO4rate, CS1, Gc1(srtnh4), & gasConc, ionrate, surf_area, & BOXVOL, BOXMASS, TEMPTMS, PRES, RHTOMAS, lev) if( pdbg) print*,'gasConc',gasConc Gc1(srtso4) = gasConc addt = min_tstep !addt = 3600.e+0_fp totmass = H2SO4rate*addt*96.e+0_fp/98.e+0_fp tempvar = pdbg !Get change size distribution due to nucleation with initial guess call nucleation(Nk1,Mk1,Gc1,Nk2,Mk2,Gc2,fn,fn1,totmass,nuc_bin, & addt, ionrate, surf_area, BOXVOL, BOXMASS, TEMPTMS, & PRES, RHTOMAS, PDBG, lev) if(pdbg) then print*,'COND_NUC: Found an error at nucleation --> TERMINATE' errswitch = .true. return endif pdbg = tempvar !put the print debug switch back to pdbg if(pdbg) call debugprint(Nk2, Mk2, 0,0,0,'After nucleation[1]') !print*,'after nucleation' !print*,'Nnuc1',Nnuc1 !print*,'Nnuc2',Nnuc2 !print*,'Mnuc1',Mnuc1 !print*,'Mnuc2',Mnuc2 mass_change = 0.e+0_fp do k=1,ibins mass_change = mass_change + (Mk2(k,srtso4)-Mk1(k,srtso4)) enddo if( pdbg) print*,'mass_change',mass_change mcond = totmass-mass_change ! mass of h2so4 to condense if( pdbg) print*,'after nucleation' if( pdbg) print*,'totmass',totmass,'mass_change1',mass_change,'mcond',mcond if( pdbg) print*,'cs1',CS1, Gc1(srtso4) if (mcond.lt.0.e+0_fp)then tmass = 0.e+0_fp do k=1,ibins do j=1,icomp-idiag tmass = tmass + Mk2(k,j) enddo enddo !if (abs(mcond).gt.tmass*1.0D-8) then if (abs(mcond).gt.totmass*1.0e-8_fp) then if (-mcond.lt.Mk2(nuc_bin,srtso4)) then !if (CS1.gt.1.0D-5)then ! print*,'budget fudge 1 in cond_nuc' !endif tmass = 0.e+0_fp do j=1,icomp-idiag tmass = tmass + Mk2(nuc_bin,j) enddo Nk2(nuc_bin) = Nk2(nuc_bin)*(tmass+mcond)/tmass Mk2(nuc_bin,srtso4) = Mk2(nuc_bin,srtso4) + mcond mcond = 0.e+0_fp else print*,'budget fudge 2 in cond_nuc' do k=2,ibins Nk2(k) = Nk1(k) Mk2(k,srtso4) = Mk1(k,srtso4) enddo Nk2(1) = Nk1(1)+totmass/sqrt(xk(1)*xk(2)) Mk2(1,srtso4) = Mk1(1,srtso4) + totmass mcond = 0.e+0_fp !print*,'mcond < 0 in cond_nuc', mcond, totmass !stop endif else mcond = 0.e+0_fp endif endif !if (mcond.lt.0.e+0_fp)then ! print*,'mcond < 0 in cond_nuc', mcond ! stop !endif tmass = 0.e+0_fp do k=1,ibins do j=1,icomp-idiag tmass = tmass + Mk2(k,j) enddo enddo if( pdbg) print*, 'mcond',mcond,'tmass',tmass,'nuc',Nk2(1)-Nk1(1) tempvar = pdbg ! Get guess for condensation call ezcond(Nk2,Mk2,mcond,srtso4,Nk3,Mk3,surf_area, & BOXVOL, TEMPTMS, PRES, pdbg ) if(pdbg) then print*,'COND_NUC: Found an error at EZCOND --> TERMINATE' errswitch = .true. return endif pdbg = tempvar if(pdbg) call debugprint(Nk3, Mk3, 0,0,0,'After EZCOND[1]') !print*,'after ezcond',Nk2,Nk3 !jrp mcond1 = 0.e+0_fp !jrp do k=1,ibins !jrp do j=1,icomp !jrp mcond1 = mcond1 + (Mk3(k,j)-Mk2(k,j)) !jrp enddo !jrp enddo !print*,'mcond',mcond,'mcond1',mcond1 Gc3(srtnh4) = Gc1(srtnh4) call eznh3eqm(Gc3,Mk3) call ezwatereqm(Mk3, RHTOMAS) ! check to see how much condensation sink changed call getCondSink(Nk3,Mk3,srtso4,CS2,sinkfrac,surf_area, & BOXVOL,TEMPTMS, PRES) CSch = abs(CS2 - CS1)/CS1 !if (CSch.gt.CSch_tol) then ! condensation sink didn't change much use whole timesteps ! get starting adaptive timestep to not allow condensationk sink ! to change that much ! Avoid div-by-zero (bmy, 1/28/14) IF ( ABS( CSch ) > 0e+0_fp ) THEN addt = addt*CSch_tol/CSch/2e+0_fp ELSE addt = 0e+0_fp ENDIF addt = min(addt,dt) addt = max(addt,min_tstep) time_rem = dt ! time remaining if( pdbg) print*,'addt',addt,time_rem num_iter = 0 sumH2SO4=0.e+0_fp sumfn = 0.e+0_fp sumfn1 = 0.e+0_fp ! do adaptive timesteps do while (time_rem .gt. 0.e+0_fp) num_iter = num_iter + 1 if( pdbg) print*, 'iter', num_iter, ' addt', addt, 'time_rem', time_rem ! get the steady state H2SO4 concentration if (num_iter.gt.1)then ! no need to recalculate for first step call getH2SO4conc(Nk1, Mk1, H2SO4rate, CS1, Gc1(srtnh4), & gasConc, ionrate, surf_area, & BOXVOL, BOXMASS, TEMPTMS, PRES, RHTOMAS, lev) Gc1(srtso4) = gasConc endif if( pdbg) print*,'gasConc',gasConc sumH2SO4 = sumH2SO4 + Gc1(srtso4)*addt totmass = H2SO4rate*addt*96.e+0_fp/98.e+0_fp !call nucleation(Nk1,Mk1,Gc1,Nnuc1,Mnuc1,totmass,addt,Nk2, & ! Mk2,Gc2,Nnuc2,Mnuc2,nflg,lev) !Debug to see what goes in nucleation (win, 10/3/08) if(pdbg) then print*,'Temperature',TEMPTMS,'RH',RHTOMAS print*,'H2SO4',Gc1(srtso4)/boxvol*1000.e+0_fp/98.e+0_fp*6.022e+23_fp print*,'NH3ppt',Gc1(srtnh4)/17.e+0_fp/(boxmass/29.e+0_fp)*1e+12_fp endif tempvar = pdbg call nucleation(Nk1,Mk1,Gc1,Nk2,Mk2,Gc2,fn,fn1,totmass, & nuc_bin,addt, ionrate, surf_area, BOXVOL, BOXMASS, & TEMPTMS, PRES, RHTOMAS, PDBG, lev) if(pdbg) then print*,'COND_NUC: Error at nucleation[2] --> TERMINATE' errswitch=.true. return endif pdbg = tempvar if(pdbg) call debugprint(Nk2, Mk2, 0,0,0, 'After nucleation[2]') !print*,'after nucleation iter' sumfn = sumfn + fn*addt sumfn1 = sumfn1 + fn1*addt !total_nh4_1 = Mnuc1(srtnh4) !total_nh4_2 = Mnuc2(srtnh4) !do i=1,ibins ! total_nh4_1 = total_nh4_1 + Mk1(i,srtnh4) ! total_nh4_2 = total_nh4_2 + Mk2(i,srtnh4) !enddo !print*,'total_nh4',total_nh4_1,total_nh4_2 mass_change = 0.e+0_fp do k=1,ibins mass_change = mass_change + (Mk2(k,srtso4)-Mk1(k,srtso4)) enddo if( pdbg) print*,'mass_change2',mass_change mcond = totmass-mass_change ! mass of h2so4 to condense !print*,'after nucleation' !print*,'totmass',totmass,'mass_change',mass_change,'mcond',mcond !print*,'2 mass_change',mass_change,mcond,totmass !print*,'2 cs1',CS1, Gc1(srtso4) if (mcond.lt.0.e+0_fp)then tmass = 0.e+0_fp do k=1,ibins do j=1,icomp-idiag tmass = tmass + Mk2(k,j) enddo enddo !if (abs(mcond).gt.tmass*1.0D-8) then if (abs(mcond).gt.totmass*1.0e-8_fp) then if (-mcond.lt.Mk2(nuc_bin,srtso4)) then !if (CS1.gt.1.0D-5)then ! print*,'budget fudge 1 in cond_nuc' !endif tmass = 0.e+0_fp do j=1,icomp-idiag tmass = tmass + Mk2(nuc_bin,j) enddo Nk2(nuc_bin) = Nk2(nuc_bin)*(tmass+mcond)/tmass Mk2(nuc_bin,srtso4) = Mk2(nuc_bin,srtso4) + mcond mcond = 0.e+0_fp else print*,'budget fudge 2 in cond_nuc' do k=2,ibins Nk2(k) = Nk1(k) Mk2(k,srtso4) = Mk1(k,srtso4) enddo Nk2(1) = Nk1(1)+totmass/sqrt(xk(1)*xk(2)) Mk2(1,srtso4) = Mk1(1,srtso4) + totmass print*,'mcond < 0 in cond_nuc', mcond, totmass mcond = 0.e+0_fp ! should I stop or not?? (win, 10/4/08) !stop ! change from stop here to stop outside with more info (win, 10/4/08) print*,'COND_NUC: --> TERMINATE' !10/4/08 errswitch = .true. !10/4/08 return endif else mcond = 0.e+0_fp endif endif do k=1,ibins Nknuc(k) = Nknuc(k)+Nk2(k)-Nk1(k) do j=1,icomp-idiag Mknuc(k,j)=Mknuc(k,j)+Mk2(k,j)-Mk1(k,j) enddo enddo !Gc2(srtnh4) = Gc1(srtnh4) !call eznh3eqm(Gc2,Mk2,Mnuc2) !call ezwatereqm(Mk2,Mnuc2) !call getCondSink(Nk2,Mk2,Nnuc2,Mnuc2,srtso4,CStest,sinkfrac) ! Before entering ezcond, check if there's enough aerosol to ! condense onto. After several iteration in the case with high ! H2SO4 amount but little existing aerosol and also lack the conditions ! for nucleation, the whole size distribution is grown out of our ! tracked size bins, so let's exit the loop if there is no aerosol ! to condense onto anymore. (win, 10/4/08) tmass = 0.e+0_fp tnumb = 0.e+0_fp do k=1,ibins tnumb = tnumb + Nk2(k) do j=1,icomp-idiag tmass = tmass + Mk2(k,j) enddo enddo if( (tmass+mcond)/tnumb > Xk(ibins) ) then if( .not. SPINUP(10.0) ) then print*,'Not enough aerosol for condensation!' print*,' Exiting COND_NUC iteration with ' print*,time_rem,'sec remaining time' endif Gc3(srtnh4)=Gc2(srtnh4) do k=1,ibins Nk3(k)=Nk2(k) do j=1,icomp Mk3(k,j)=Mk2(k,j) enddo enddo goto 100 endif tempvar = pdbg call ezcond(Nk2,Mk2,mcond,srtso4,Nk3,Mk3,surf_area, & BOXVOL, TEMPTMS, PRES, pdbg) do k=1,ibins Nkcond(k) = Nkcond(k)+Nk3(k)-Nk2(k) do j=1,icomp-idiag Mkcond(k,j)=Mkcond(k,j)+Mk3(k,j)-Mk2(k,j) enddo enddo Gc3(srtnh4) = Gc1(srtnh4) if(pdbg) then print*,'COND_NUC: Error at EZCOND[2] --> TERMINATE' errswitch=.true. return endif pdbg = tempvar if(pdbg) call debugprint(Nk3, Mk3, 0,0,0,'After EZCOND[2]') if( pdbg) print*,'after ezcond iter' call eznh3eqm(Gc3,Mk3) call ezwatereqm(Mk3, RHTOMAS) ! check to see how much condensation sink changed call getCondSink(Nk3,Mk3,srtso4,CS2,sinkfrac,surf_area, & BOXVOL,TEMPTMS, PRES) time_rem = time_rem - addt if (time_rem .gt. 0.e+0_fp) then CSch = abs(CS2 - CS1)/CS1 !jrp if (CSch.lt.0.e+0_fp) then !jrp print*,'' !jrp print*,'CSch LESS THAN ZERO!!!!!', CS1,CStest,CS2 !jrp print*,'Nnuc',Nnuc1,Nnuc2 !jrp print*,'' !jrp !jrp addt = min(addt,time_rem) !jrp else ! Allow adaptive timestep to change ! Avoid div-by-zero error IF ( ABS( CSch ) > 0e+0_fp ) THEN addt = min(addt*CSch_tol/CSch,addt*1.5e+0_fp) ELSE addt = 0e+0_fp ENDIF ! allow adaptive timestep to change again addt = min(addt,time_rem) addt = max(addt,min_tstep) !jrp endif if( pdbg) print*,'CS1',CS1,'CS2',CS2 CS1 = CS2 Gc1(srtnh4)=Gc3(srtnh4) do k=1,ibins Nk1(k)=Nk3(k) do j=1,icomp Mk1(k,j)=Mk3(k,j) enddo enddo endif enddo ! while loop 100 continue Gcf(srtso4)=sumH2SO4/dt fnavg = sumfn/dt fn1avg = sumfn1/dt if( pdbg) print*,'AVERAGE GAS CONC',Gcf(srtso4) !jrp else !jrp num_iter = 1 !jrp Gcf(srtso4)=Gc1(srtso4) !jrp endif if( pdbg) print*, 'cond_nuc num_iter =', num_iter !T0M(1,1,1,3) = double(num_iter) ! store iterations here if(pdbg) call debugprint(Nk3, Mk3, 0,0,0,'End of COND_NUC') do k=1,ibins Nkf(k)=Nk3(k) do j=1,icomp Mkf(k,j)=Mk3(k,j) enddo enddo Gcf(srtnh4)=Gc3(srtnh4) return END SUBROUTINE COND_NUC !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: getcondsink ! ! !DESCRIPTION: This subroutine calculates the condensation sink (first order ! loss rate of condensing gases) from the aerosol size distribution. ! WRITTEN BY Jeff Pierce, May 2007 for GISS GCM-II ! Put in GEOS-Chem by Win T. (9/30/08) !\\ !\\ ! !INTERFACE: ! SUBROUTINE getCondSink(Nko, Mko, spec, CS, sinkfrac, surf_area, & BOXVOL, TEMPTMS, PRES) ! ! !INPUT PARAMETERS: ! !Initial values of !================= !Nk(ibins) - number of particles per size bin in grid cell !Nnuc - number of particles per size bin in grid cell !Mnuc - mass of given species in nucleation pseudo-bin (kg/grid cell) !Mk(ibins, icomp) - mass of a given species per size bin/grid cell !spec - number of the species we are finding the condensation sink for double precision Nko(ibins), Mko(ibins, icomp) REAL*4, INTENT(IN) :: BOXVOL, TEMPTMS, PRES integer spec ! ! !OUTPUT PARAMETERS: ! !CS - condensation sink [s^-1] !sinkfrac(ibins) - fraction of condensation sink from a bin double precision CS, sinkfrac(ibins) REAL(fp), INTENT(OUT) :: surf_area ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! integer i,j,k,c ! counters double precision pi, R ! pi and gas constant (J/mol K) double precision mu !viscosity of air (kg/m s) double precision mfp !mean free path of air molecule (m) double precision l_ab !mean free path of h2so4 molecule (m) real Di !diffusivity of gas in air (m2/s) double precision Neps !tolerance for number real density !density [kg m^-3] double precision mp !mass per particle [kg] double precision Dpk(ibins) !diameter of particle [m] double precision Kn !Knudson number double precision beta(ibins) !non-continuum correction factor double precision Mktot !total mass in bin [kg] double precision c_a !average speed of a, h2so4 molecule ! ! !DEFINED PARAMETERS: ! parameter(pi=3.141592654, R=8.314) !pi and gas constant (J/mol K) parameter(Neps=1.0e+10_fp) double precision alpha(icomp) ! accomodation coef !data alpha/0.65,0.,0.,0.,0.,0.,0.,0.,0./ real Sv(icomp) !parameter used for estimating diffusivity !data Sv /42.88,42.88,42.88,42.88,42.88,42.88,42.88, & ! 42.88,42.88/ !================================================================= ! getCondSink begins here !================================================================= ! have to find a better way to simply assign contants to these array ! The problem is I declare the array with ICOMP - its value will be ! determined at time of run, so I can't use DATA statement DO J=1,ICOMP !IF ( J == SRTSO4 ) THEN alpha(J) = 0.65 !ELSE ! alpha(J) = 0. !ENDIF Sv(J) = 42.88 ENDDO ! get some parameters !mu=2.5277e-7 * TEMPTMS**0.75302 !mfp=2.0*mu / ( pres*sqrt( 8.0 * 0.6589 / (pi*R*TEMPTMS) ) ) !S&P eqn 8.6 !mfp=2.0*mu / ( pres*sqrt( 8.0 * 0.0289 / (pi*R*TEMPTMS) ) ) !S&P eqn 8.6 Di=gasdiff(TEMPTMS,pres,98.0,Sv(spec)) c_a = sqrt(8.0 * TEMPTMS * R / 0.098) l_ab = 2.0 * Di / c_a ! get size dependent values do k=1,ibins if (Nko(k) .gt. Neps) then Mktot=0.e+0_fp do j=1,icomp Mktot=Mktot+Mko(k,j) enddo !kpc Density should be changed due to more species involed. density=aerodens(Mko(k,srtso4),0.e+0_fp, & Mko(k,srtnh4),Mko(k,srtnacl),Mko(k,srtecil), & Mko(k,srtecob),Mko(k,srtocil),Mko(k,srtocob), & Mko(k,srtdust),Mko(k,srth2o)) !assume bisulfate mp=Mktot/Nko(k) else !nothing in this bin - set to "typical value" density=1500. #if defined(TOMAS12) || defined(TOMAS15) mp=sqrt(xk(k)*xk(k+1)) #else mp=1.4*xk(k) #endif endif Dpk(k) = ( (mp/density)*(6./pi) )**(0.333) !Kn = 2.0 * mfp / Dpk(k) !S&P eqn 11.35 (text) Kn = 2.0 * l_ab / Dpk(k) !S&Pv2 chapter 12 - Kn for Dahneke correction factor beta(k) = ( 1.+Kn ) / ( 1.+2.*Kn*(1.+Kn)/alpha(spec) ) !S&P eqn 11.35 enddo ! get condensation sink CS = 0.e+0_fp surf_area = 0.e+0_fp do k=1,ibins CS = CS + Dpk(k)*Nko(k)*beta(k) surf_area = surf_area+Nko(k)*pi*(Dpk(k)*1.0e+6_fp)**2 enddo !bc 21/01/2022 - check if divide by zero below -added 2 if do k=1,ibins sinkfrac(k) = 0.e-0_fp if (CS > 0.e-0_fp) then sinkfrac(k) = Dpk(k)*Nko(k)*beta(k)/CS endif enddo CS = 2.e+0_fp*pi*dble(Di)*CS/(dble(boxvol)*1.e-6_fp) surf_area = 0.e-0_fp if (CS > 0.e-0_fp) then surf_area = surf_area/(dble(boxvol)) endif return end subroutine getcondsink !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: getH2SO2conc ! ! !DESCRIPTION: This subroutine uses newtons method to solve for the steady ! state H2SO4 concentration when nucleation is occuring. ! It solves for H2SO4 in 0 = P - CS*H2SO4 - M(H2SO4) ! where P is the production rate of H2SO4, CS is the condensation sink ! and M(H2SO4) is the loss of mass towards making new particles. ! WRITTEN BY Jeff Pierce, May 2007 for GISS GCM-II ! Put in GEOS-CHEM by Win T. (9/30/08) !\\ !\\ ! !INTERFACE: ! SUBROUTINE getH2SO4conc(Nk, Mk, H2SO4rate, CS, NH3conc, gasConc, & ionrate, surf_area, BOXVOL, BOXMASS, & TEMPTMS, PRES, RHTOMAS, lev) ! ! !USES: ! USE ERROR_MOD, ONLY : ERROR_STOP, IT_IS_NAN ! ! !INPUT PARAMETERS: ! !Initial values of !================= ! H2SO4rate - H2SO4 generation rate [kg box-1 s-1] ! CS - condensation sink [s-1] ! NH3conc - ammonium in box [kg box-1] REAL(fp) :: Nk(IBINS) REAL(fp) :: Mk(IBINS, ICOMP) double precision H2SO4rate double precision CS double precision NH3conc REAL*4, INTENT(IN) :: BOXVOL, BOXMASS, TEMPTMS REAL*4, INTENT(IN) :: PRES, RHTOMAS integer lev ! ! !OUTPUT PARAMETERS: ! ! gasConc - gas H2SO4 [kg/box] double precision gasConc REAL(fp) :: ionrate REAL(fp) :: surf_area ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! integer i,j,k,c ! counters double precision fn, rnuc ! nucleation rate [# cm-3 s-1] and critical radius [nm] double precision mnuc, mnuc1 ! mass of nucleated particle [kg] double precision fn1, rnuc1 ! nucleation rate [# cm-3 s-1] and critical radius [nm] double precision res ! d[H2SO4]/dt, need to find the solution where res = 0 double precision massnuc ! mass being removed by nucleation [kg s-1 box-1] double precision gasConc1 ! perturbed gasConc double precision gasConc_hi, gasConc_lo double precision res1 ! perturbed res double precision res_new ! new guess for res double precision dresdgasConc ! derivative for newtons method double precision Gci(icomp-1) !array to carry gas concentrations logical nflg !says if nucleation occured double precision H2SO4min !minimum H2SO4 concentration in parameterizations (molec/cm3) double precision pi integer iter,iter1 double precision CSeps ! low limit for CS double precision max_H2SO4conc !maximum H2SO4 concentration in parameterizations (kg/box) double precision nh3ppt !ammonia concentration in ppt ! ! !DEFINED PARAMETERS: ! parameter(pi=3.141592654) !parameter(H2SO4min=1.D4) !molecules cm-3 parameter(CSeps=1.0e-20_fp) !================================================================= ! getH2SO4conc begins here !================================================================= do i=1,icomp-1 Gci(i)=0.e+0_fp enddo Gci(srtnh4)=NH3conc ! make sure CS doesn't equal zero !CS = max(CS,CSeps) ! some specific stuff for napari vs. vehk if (ion_nuc.eq.1) then H2SO4min=1.0e+5_fp elseif (ion_nuc.eq.2) then H2SO4min=5.0e+5_fp else H2SO4min=1.0e+4_fp endif if ((bin_nuc.eq.1).or.(tern_nuc.eq.1).or.(ion_nuc.le.2))then nh3ppt = Gci(srtnh4)/17.e+0_fp/(boxmass/29.e+0_fp)*1e+12_fp* & & PRES/101325.*273./TEMPTMS ! corrected for pressure (because this should be concentration) if (ion_nuc.eq.1)then max_H2SO4conc=1.0e+8_fp*boxvol/1000.e+0_fp*98.e+0_fp/6.022e+23_fp elseif (ion_nuc.eq.2)then max_H2SO4conc=5.0e+8_fp*boxvol/1000.e+0_fp*98.e+0_fp/6.022e+23_fp elseif ((nh3ppt.gt.1.0e+0_fp).and.(tern_nuc.eq.1))then max_H2SO4conc=1.0e+9_fp*boxvol/1000.e+0_fp*98.e+0_fp/6.022e+23_fp elseif (bin_nuc.eq.1)then max_H2SO4conc=1.0e+11_fp*boxvol/1000.e+0_fp*98.e+0_fp/6.022e+23_fp else max_H2SO4conc = 1.0e+100_fp endif else max_H2SO4conc = 1.0e+100_fp endif ! Checks for when condensation sink is very small if (CS.gt.CSeps) then gasConc = H2SO4rate/CS else if((bin_nuc.gt.0).or.(tern_nuc.gt.0).or. (ion_nuc.gt.0))then gasConc = max_H2SO4conc else print*,'condesation sink too small in getH2SO4conc' STOP endif endif gasConc = min(gasConc,max_H2SO4conc) Gci(srtso4) = gasConc call getNucRate(Nk, Mk, Gci,fn,mnuc,nflg,ionrate, surf_area, & BOXVOL, BOXMASS, TEMPTMS, PRES, RHTOMAS, lev) if (fn.gt.0.e+0_fp) then ! nucleation occured !convert to kg/box gasConc_lo = H2SO4min*boxvol/(1000.e+0_fp/98.e+0_fp*6.022e+23_fp) ! Test to see if gasConc_lo gives a res < 0 ! (this means ANY nucleation is too high) Gci(srtso4) = gasConc_lo*1.000001e+0_fp call getNucRate(Nk,Mk,Gci,fn1,mnuc1,nflg,ionrate,surf_area, & BOXVOL, BOXMASS, TEMPTMS, PRES, RHTOMAS, lev) if (fn1.gt.0.e+0_fp) then massnuc = mnuc1*fn1*boxvol*98.e+0_fp/96.e+0_fp !massnuc = 4.e+0_fp/3.e+0_fp*pi*(rnuc1*1.e-9_fp)**3*1350.*fn1*boxvol* !massnuc = 4.e+0_fp/3.e+0_fp*pi*(rnuc1*1.e-9_fp)**3*1800.*fn1*boxvol*% ! 98.e+0_fp/96.e+0_fp !jrp print*,'res',res !jrp print*,'H2SO4rate',H2SO4rate !jrp print*,'CS*gasConc_lo',CS*gasConc_lo !jrp print*,'mnuc',mnuc res = H2SO4rate - CS*gasConc_lo - massnuc if (res.lt.0.e+0_fp) then ! any nucleation too high ! if (.not. spinup(14.0)) print*,'nucleation cuttoff' ! have nucleation occur and fix mass balance after gasConc = gasConc_lo*1.000001 return endif endif ! we know this must be the upper limit (since no nucleation) gasConc_hi = gasConc !take density of nucleated particle to be 1350 kg/m3 massnuc = mnuc*fn*boxvol*98.e+0_fp/96.e+0_fp !print*,'H2SO4rate',H2SO4rate,'CS*gasConc',CS*gasConc,'mnuc',mnuc res = H2SO4rate - CS*gasConc - massnuc ! check to make sure that we can get solution if (res.gt.H2SO4rate*1.e-10_fp) then print*,'gas production rate too high in getH2SO4conc' print*,H2SO4rate,CS,gasConc,massnuc,res return !STOP endif iter = 0 !jrp print*, 'iter',iter !jrp print*,'gasConc_lo',gasConc_lo,'gasConc_hi',gasConc_hi !jrp print*,'res',res do while ((abs(res/H2SO4rate).gt.1.e-4_fp).and.(iter.lt.40)) iter = iter+1 if (res .lt. 0.e+0_fp) then ! H2SO4 concentration too high, must reduce gasConc_hi = gasConc ! old guess is new upper bound elseif (res .gt. 0.e+0_fp) then ! H2SO4 concentration too low, must increase gasConc_lo = gasConc ! old guess is new lower bound endif !print*, 'iter',iter !print*,'gasConc_lo',gasConc_lo,'gasConc_hi',gasConc_hi gasConc = sqrt(gasConc_hi*gasConc_lo) ! take new guess as logmean Gci(srtso4) = gasConc call getNucRate(Nk, Mk,Gci,fn,mnuc,nflg,ionrate,surf_area, & BOXVOL, BOXMASS, TEMPTMS, PRES, RHTOMAS, lev) massnuc = mnuc*fn*boxvol*98.e+0_fp/96.e+0_fp res = H2SO4rate - CS*gasConc - massnuc !print*,'res',res !print*,'H2SO4rate',H2SO4rate,'CS',CS,'gasConc',gasConc if (iter.eq.40.and.CS.gt.1.0e-4_fp)then print*,'getH2SO4conc iter break' print*,'H2SO4rate',H2SO4rate,'CS',CS print*,'gasConc',gasConc,'massnuc',massnuc print*,'max_H2SO4conc',max_H2SO4conc print*,'fn',fn print*,'res/H2SO4rate',res/H2SO4rate endif enddo !print*,'IN getH2SO4conc' !print*,'fn',fn !print*,'H2SO4rate',H2SO4rate !print*,'massnuc',massnuc,'CS*gasConc',CS*gasConc else ! nucleation didn't occur endif return end SUBROUTINE GETH2SO4CONC !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: getnucrate ! ! !DESCRIPTION: This subroutine calls the Vehkamaki 2002 and Napari 2002 ! nucleation parameterizations and gets the binary and ternary nucleation ! rates. ! WRITTEN BY Jeff Pierce, April 2007 for GISS GCM-II ! Put in GEOS-Chem by win T. 9/30/08 !\\ !\\ ! !INTERFACE: ! SUBROUTINE getNucRate(Nk, Mk, Gci,fn,mnuc,nflg, ionrate,surf_area, & BOXVOL, BOXMASS, TEMPTMS, PRES, RHTOMAS, lev) ! ! !USES: ! USE ERROR_MOD, ONLY : ERROR_STOP, IT_IS_NAN ! ! !INPUT PARAMETERS: ! !Initial values of !================= ! Gci(icomp-1) - amount (kg/grid cell) of all species present in the ! gas phase except water REAL*4, INTENT(IN) :: BOXVOL, BOXMASS, TEMPTMS REAL*4, INTENT(IN) :: PRES, RHTOMAS REAL(fp), INTENT(IN) :: Gci(icomp-1) ! ! !INPUT/OUTPUT PARAMETERS: ! REAL(fp), INTENT(INOUT) :: Nk(IBINS) REAL(fp), INTENT(INOUT) :: Mk(IBINS, ICOMP) ! ! !OUTPUT PARAMETERS: ! ! fn - nucleation rate [# cm-3 s-1] ! rnuc - radius of nuclei [nm] ! nflg - says if nucleation happend REAL(fp) :: surf_area REAL(fp) :: ionrate integer j,i,k double precision fn ! nucleation rate to first bin cm-3 s-1 double precision mnuc !mass of nucleating particle [kg] logical nflg integer lev ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! double precision nh3ppt ! gas phase ammonia in pptv double precision h2so4 ! gas phase h2so4 in molec cc-1 double precision gtime ! time to grow to first size bin [s] double precision ltc, ltc1, ltc2 ! coagulation loss rates [s-1] double precision Mktot ! total mass in bin double precision neps double precision meps double precision density ! density of particle [kg/m3] double precision pi double precision frac ! fraction of particles growing into first size bin double precision d1,d2 ! diameters of particles [m] double precision mp ! mass of particle [kg] double precision mold ! saved mass in first bin double precision rnuc ! critical nucleation radius [nm] double precision sinkfrac(ibins) ! fraction of loss to different size bins double precision nadd ! number to add double precision CS ! kerminan condensation sink [m-2] double precision Dpmean ! the number wet mean diameter of the existing aerosol double precision Dp1 ! the wet diameter of bin 1 double precision dens1 ! density in bin 1 [kg m-3] double precision GR ! growth rate [nm hr-1] double precision gamma,eta ! used in kerminen 2004 parameterzation double precision drymass,wetmass,WR double precision fn_c ! barrierless nucleation rate double precision h1,h2,h3,h4,h5,h6 double precision dum1,dum2,dum3,dum4 ! dummy variables double precision rhin,tempin ! rel hum in real(fp) mydummy ! ! !DEFINED PARAMETERS: ! parameter (neps=1E8, meps=1E-8) parameter (pi=3.14159) !================================================================= ! getNucRate begins here !================================================================= h2so4 = Gci(srtso4)/boxvol*1000.e+0_fp/98.e+0_fp*6.022e+23_fp nh3ppt = Gci(srtnh4)/17.e+0_fp/(boxmass/29.e+0_fp)*1e+12_fp* & PRES/101325.*273./TEMPTMS ! corrected for pressure (because this should be concentration) fn = 0.e+0_fp rnuc = 0.e+0_fp !print*,'h2so4',h2so4,'nh3ppt',nh3ppt ! if requirements for nucleation are met, call nucleation subroutines ! and get the nucleation rate and critical cluster size if (h2so4.gt.1.e+4_fp) then if ((nh3ppt.gt.0.1).and.(tern_nuc.eq.1)) then ! print*, 'napari' call napa_nucl(TEMPTMS,RHTOMAS,h2so4,nh3ppt,fn,rnuc) !ternary nuc if (ion_nuc.eq.1.and.ionrate.ge.1.e+0_fp) then call ion_nucl(h2so4,surf_area,TEMPTMS,ionrate,RHTOMAS, & h1,h2,h3,h4,h5,h6) else h1=0.e+0_fp endif if (h1.gt.fn)then fn=h1 rnuc=h5 endif nflg=.true. elseif (bin_nuc.eq.1) then ! print*, 'vehk' call vehk_nucl(TEMPTMS,RHTOMAS,h2so4,fn,rnuc) !binary nuc if ((ion_nuc.eq.1).and.(ionrate.ge.1.e+0_fp)) then call ion_nucl(h2so4,surf_area,TEMPTMS,ionrate,RHTOMAS, & h1,h2,h3,h4,h5,h6) else h1=0.e+0_fp endif if (h1.gt.fn)then fn=h1 rnuc=h5 endif if (fn.gt.1.0e-6_fp)then nflg=.true. else fn = 0.e+0_fp nflg=.false. endif elseif ((ion_nuc.eq.1).and.(ionrate.ge.1.e+0_fp)) then call ion_nucl(h2so4,surf_area,TEMPTMS,ionrate,RHTOMAS, & h1,h2,h3,h4,h5,h6) fn=h1 rnuc=h5 nflg=.true. elseif(ion_nuc.eq.2) then ! Yu Ion nucleation !! first we need to calculate the available surface area !surf_area = 0.e+0_fp !do k=1, ibins ! if (Nki(k) .gt. Neps) then ! Mktot=0.e+0_fp ! do j=1,icomp ! Mktot=Mktot+Mki(k,j) ! enddo ! mp=Mktot/Nki(k) ! density=aerodens(Mki(k,srtso4),0.e+0_fp, & ! Mki(k,srtnh4),0.e+0_fp,Mki(k,srth2o)) ! assume bisulfate ! ! diameter = ((mass/density)*(6/pi))**(1/3) ! d2 = 1.D6*((mp/density)*(6.D0/pi))**(1.D0/3.D0) ! (micrometers) ! ! surface area per particle = pi*diameter**2 ! surf_area = surf_area + 1.D-6*(Nki(k)/boxvol)* & ! pi*(d2**2.D0) ! (um2 cm-2) ! endif !enddo rhin=dble(RHTOMAS*100.e+0_fp) tempin=dble(TEMPTMS) !call YUJIMN(h2so4, rhin, tempin, ionrate, surf_area, & ! fn, dum1, rnuc, dum2) fn=0. rnuc=1E-9 nflg=.true. else nflg=.false. endif if((act_nuc.eq.1).and.(lev.le.7))then call bl_nucl(h2so4,fn,rnuc) nflg=.true. endif call cf_nucl(TEMPTMS,RHTOMAS,h2so4,nh3ppt,fn_c) ! use barrierless nucleation as a max for ternary fn = min(fn,fn_c) else nflg=.false. endif if (fn.gt.0.e+0_fp) then call getCondSink_kerm(Nk,Mk,CS,Dpmean,Dp1,dens1, & BOXVOL, TEMPTMS, PRES) d1 = rnuc*2.e+0_fp*1e-9_fp drymass = 0.e+0_fp do j=1,icomp-idiag drymass = drymass + Mk(1,j) enddo wetmass = 0.e+0_fp do j=1,icomp wetmass = wetmass + Mk(1,j) enddo !prior 10/15/08 !WR = wetmass/drymass ! prevent division by zero (win, 10/15/08) if( drymass == 0.e+0_fp ) then WR = 1.e+0_fp else WR = wetmass/drymass endif !print*,'[getnucrate] Gci',Gci !print*,'WR',WR, 'drymass',drymass, 'wetmass',wetmass call getGrowthTime(d1,Dp1,Gci(srtso4)*WR,TEMPTMS, & boxvol,dens1,gtime) GR = (Dp1-d1)*1e+9_fp/gtime*3600.e+0_fp ! growth rate, nm hr-1 gamma = 0.23e+0_fp*(d1*1.0e+9_fp)**(0.2e+0_fp)* & (Dp1*1.0e+9_fp/3.e+0_fp)**0.075e+0_fp* & (Dpmean*1.0e+9_fp/150.e+0_fp)** & 0.048e+0_fp*(dens1*1.0e-3_fp)** & (-0.33e+0_fp)*(TEMPTMS/293.e+0_fp) ! equation 5 in kerminen eta = gamma*CS/GR !print*,'fn1',fn if (Dp1.gt.d1)then fn = fn*exp(eta/(Dp1*1.0e+9_fp)-eta/(d1*1.0e+9_fp)) endif !print*,'fn2',fn if( IT_IS_NAN( fn ) ) then print*, '---------------->>> Found NAN in GETNUCRATE' print*,'fn',fn print*,'eta',eta, 'Dp1',Dp1,'d1',d1 print*,'gamma',gamma,'CS',CS,'GR',GR,'gtime',gtime call ERROR_STOP('Found NaN in fn','getnucrate') endif mnuc = sqrt(xk(1)*xk(2)) endif return end SUBROUTINE GETNUCRATE !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: vehk_nucl ! ! !DESCRIPTION: Subroutine vehk_nucl calculates the binary nucleation rate and ! radius of the critical nucleation cluster using the parameterization of... ! . ! Vehkamaki, H., M. Kulmala, I. Napari, K. E. J. Lehtinen, C. Timmreck, ! M. Noppel, and A. Laaksonen. "An Improved Parameterization for Sulfuric ! Acid-Water Nucleation Rates for Tropospheric and Stratospheric Conditions." ! Journal of Geophysical Research-Atmospheres 107, no. D22 (2002). ! . ! WRITTEN BY Jeff Pierce, April 2007 for GISS GCM-II' ! Introduce to GEOS-Chem by Win Trivitayanurak Sep 29,2008 !\\ !\\ ! !INTERFACE: ! SUBROUTINE VEHK_NUCL (tempi,rhi,cnai,fn,rnuc) ! ! !INPUT PARAMETERS: ! real*4, intent(in) :: tempi ! temperature of air [K] real*4, intent(in) :: rhi ! relative humidity of air as a fraction real(fp), intent(in) :: cnai ! concentration of gas phase sulfuric acid [molec cm-3] ! ! !OUTPUT PARAMETERS: ! real(fp), intent(out) :: fn ! nucleation rate [cm-3 s-1] real(fp), intent(out) :: rnuc ! critical cluster radius [nm] ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) :: fb0(10),fb1(10),fb2(10),fb3(10),fb4(10),fb(10) REAL(fp) :: gb0(10),gb1(10),gb2(10),gb3(10),gb4(10),gb(10) ! set parameters REAL(fp) :: temp ! temperature of air [K] REAL(fp) :: rh ! relative humidity of air as a fraction REAL(fp) :: cna ! concentration of gas phase sulfuric acid [molec cm-3] REAL(fp) :: xstar ! mole fraction sulfuric acid in cluster REAL(fp) :: ntot ! total number of molecules in cluster integer :: i ! counter ! Nucleation Rate Coefficients data fb0 /0.14309, 0.117489, -0.215554, -3.58856, 1.14598, & 2.15855, 1.6241, 9.71682, -1.05611, -0.148712 / data fb1 /2.21956, 0.462532, -0.0810269, 0.049508, -0.600796, & 0.0808121, -0.0160106, -0.115048, 0.00903378, 0.00283508/ data fb2 /-0.0273911, -0.0118059, 0.00143581, -0.00021382, & 0.00864245, -0.000407382, 0.0000377124, 0.000157098, & -0.0000198417, -9.24619e-6_fp / data fb3 /0.0000722811, 0.0000404196, & -4.7758e-6_fp, 3.10801e-7_fp, & -0.0000228947, -4.01957e-7_fp, & 3.21794e-8_fp, 4.00914e-7_fp, & 2.46048e-8_fp, 5.00427e-9_fp / data fb4 /5.91822, 15.7963, -2.91297, -0.0293333, -8.44985, & 0.721326, -0.0113255, 0.71186, -0.0579087, -0.0127081 / ! Coefficients of total number of molecules in cluster data gb0 /-0.00295413, -0.00205064, 0.00322308, 0.0474323, & -0.0125211, -0.038546, -0.0183749, -0.0619974, & 0.0121827, 0.000320184 / data gb1 /-0.0976834, -0.00758504, 0.000852637, -0.000625104, & 0.00580655, -0.000672316, 0.000172072, 0.000906958, & -0.00010665, -0.0000174762 / data gb2 /0.00102485, 0.000192654, & -0.0000154757, 2.65066e-6_fp, & -0.000101674, 2.60288e-6_fp, & -3.71766e-7_fp, -9.11728e-7_fp, & 2.5346e-7_fp, 6.06504e-8_fp / data gb3 /-2.18646e-6_fp, -6.7043e-7_fp, & 5.66661e-8_fp, -3.67471e-9_fp, & 2.88195e-7_fp, 1.19416e-8_fp, & -5.14875e-10_fp, -5.36796e-9_fp, & -3.63519e-10_fp, -1.42177e-11_fp / data gb4 /-0.101717, -0.255774, 0.0338444, -0.000267251, & 0.0942243, -0.00851515, 0.00026866, -0.00774234, & 0.000610065, 0.000135751 / !================================================================= ! VEHK_NUCL begins here! !================================================================= temp=dble(tempi) rh=dble(rhi) cna=cnai ! Respect the limits of the parameterization if (cna .lt. 1.e4_fp) then ! limit sulf acid conc fn = 0. rnuc = 1. !print*,'cna < 1D4', cna goto 10 endif if (cna .gt. 1.0e+11_fp) cna=1.0e11 ! limit sulfuric acid conc if (temp .lt. 230.15) temp=230.15 ! limit temp if (temp .gt. 305.15) temp=305.15 ! limit temp if (rh .lt. 1e-4_fp) rh=1e-4_fp ! limit rh if (rh .gt. 1.) rh=1. ! limit rh ! Mole fraction of sulfuric acid xstar=0.740997-0.00266379*temp-0.00349998*log(cna) & +0.0000504022*temp*log(cna)+0.00201048*log(rh) & -0.000183289*temp*log(rh)+0.00157407*(log(rh))**2. & -0.0000179059*temp*(log(rh))**2. & +0.000184403*(log(rh))**3. & -1.50345e-6_fp*temp*(log(rh))**3. ! Nucleation rate coefficients do i=1, 10 fb(i) = fb0(i)+fb1(i)*temp+fb2(i)*temp**2. & +fb3(i)*temp**3.+fb4(i)/xstar enddo ! Nucleation rate (1/cm3-s) fn = exp(fb(1)+fb(2)*log(rh)+fb(3)*(log(rh))**2. & +fb(4)*(log(rh))**3.+fb(5)*log(cna) & +fb(6)*log(rh)*log(cna)+fb(7)*(log(rh))**2.*log(cna) & +fb(8)*(log(cna))**2.+fb(9)*log(rh)*(log(cna))**2. & +fb(10)*(log(cna))**3.) !print*,'in vehk_nuc, fn',fn !print*,'cna',cna,'rh',rh,'temp',temp !print*,'xstar',xstar ! Cap at 10^6 particles/s, limit for parameterization if (fn.gt.1.0e+6_fp) then fn=1.0e+6_fp endif ! Coefficients of total number of molecules in cluster do i=1, 10 gb(i) = gb0(i)+gb1(i)*temp+gb2(i)*temp**2. & +gb3(i)*temp**3.+gb4(i)/xstar enddo ! Total number of molecules in cluster ntot=exp(gb(1)+gb(2)*log(rh)+gb(3)*(log(rh))**2. & +gb(4)*(log(rh))**3.+gb(5)*log(cna) & +gb(6)*log(rh)*log(cna)+gb(7)*log(rh)**2.*log(cna) & +gb(8)*(log(cna))**2.+gb(9)*log(rh)*(log(cna))**2. & +gb(10)*(log(cna))**3.) ! cluster radius rnuc=exp(-1.6524245+0.42316402*xstar+0.3346648*log(ntot)) ! [nm] 10 return end SUBROUTINE VEHK_NUCL !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: bl_nucl ! ! !DESCRIPTION: This subroutine calculates a simple binary nucleation rate of ! 1 nm particles. ! WRITTEN BY Jeff Pierce, April 2007 !\\ !\\ ! !INTERFACE: ! SUBROUTINE bl_nucl(cnai,fn,rnuc) ! ! !INPUT PARAMETERS: ! ! concentration of gas phase sulfuric acid [molec cm-3] double precision cnai ! ! !OUTPUT PARAMETERS: ! double precision fn ! nucleation rate [cm-3 s-1] double precision rnuc ! critical cluster radius [nm] ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! double precision cna ! concentration of gas phase sulfuric acid [molec cm-3] double precision A ! prefactor... empirical ! ! !DEFINED PARAMETERS: ! parameter(A=2.0e-6_fp) !================================================================= ! bl_nucl begins here !================================================================= cna=cnai fn=A*cna rnuc=0.5e+0_fp ! particle diameter of 1 nm 10 return end SUBROUTINE bl_nucl !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: napa_nucl ! ! !DESCRIPTION: Subroutine NAPA_NUCL calculates the ternary nucleation rate ! and radius of the critical nucleation cluster using the parameterization of ! . ! Napari, I., M. Noppel, H. Vehkamaki, and M. Kulmala. "Parametrization of ! Ternary Nucleation Rates for H2so4-Nh3-H2o Vapors." Journal of Geophysical ! Research-Atmospheres 107, no. D19 (2002). ! . ! WRITTEN BY Jeff Pierce, April 2007 for GISS GCM-II' ! Introduce to GEOS-Chem by Win Trivitayanurak Sep 29, 2008 !\\ !\\ ! !INTERFACE: ! SUBROUTINE napa_nucl(tempi,rhi,cnai,nh3ppti,fn,rnuc) ! ! !INPUT PARAMETERS: ! real*4, intent(in) :: tempi ! temperature of air [K] real*4, intent(in) :: rhi ! relative humidity of air as a fraction real(fp), intent(in) :: cnai ! concentration of gas phase sulfuric acid [molec cm-3] real(fp), intent(in) :: nh3ppti ! concentration of gas phase ammonia ! ! !OUTPUT PARAMETERS: ! real(fp), intent(out):: fn ! nucleation rate [cm-3 s-1] real(fp), intent(out):: rnuc ! critical cluster radius [nm] ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! real(fp) :: aa0(20),a1(20),a2(20),a3(20),fa(20) ! set parameters real(fp) :: fnl ! natural log of nucleation rate real(fp) :: temp ! temperature of air [K] real(fp) :: rh ! relative humidity of air as a fraction real(fp) :: cna ! concentration of gas phase sulfuric acid [molec cm-3] real(fp) :: nh3ppt ! concentration of gas phase ammonia integer :: i ! counter ! Adjustable parameters data aa0 /-0.355297, 3.13735, 19.0359, 1.07605, 6.0916, & 0.31176, -0.0200738, 0.165536, & 6.52645, 3.68024, -0.066514, 0.65874, & 0.0599321, -0.732731, 0.728429, 41.3016, & -0.160336, 8.57868, 0.0530167, -2.32736 / data a1 /-33.8449, -0.772861, -0.170957, 1.48932, -1.25378, & 1.64009, -0.752115, 3.26623, -0.258002, -0.204098, & -7.82382, 0.190542, 5.96475, -0.0184179, 3.64736, & -0.35752, 0.00889881, -0.112358, -1.98815, 0.0234646/ data a2 /0.34536, 0.00561204, 0.000479808, -0.00796052, & 0.00939836, -0.00343852, 0.00525813, -0.0489703, & 0.00143456, 0.00106259, 0.0122938, -0.00165718, & -0.0362432, 0.000147186, -0.027422, 0.000904383, & -5.39514d-05, 0.000472626, 0.0157827, -0.000076519/ data a3 /-0.000824007, -9.74576e-06_fp, & -4.14699e-07_fp, 7.61229e-06_fp, & -1.74927e-05_fp, -1.09753e-05_fp, & -8.98038e-06_fp, 0.000146967, & -2.02036e-06_fp, -1.2656e-06_fp, & 6.18554e-05_fp, 3.41744e-06_fp, & 4.93337e-05_fp, -2.37711e-07_fp, & 4.93478e-05_fp, -5.73788e-07_fp, & 8.39522e-08_fp, -6.48365e-07_fp, & -2.93564e-05_fp, 8.0459e-08_fp / !================================================================= ! NAPA_NUCL begins here! !================================================================= temp=dble(tempi) rh=dble(rhi) cna=cnai nh3ppt=nh3ppti ! Napari's parameterization is only valid within limited area if ((cna .lt. 1.e+4_fp).or.(nh3ppt.lt.0.1)) then ! limit sulf acid and nh3 conc fn = 0. rnuc = 1 goto 10 endif if (cna .gt. 1.0e+9_fp) cna=1.0e+9_fp ! limit sulfuric acid conc if (nh3ppt .gt. 100.) nh3ppt=100. ! limit temp if (temp .lt. 240.) temp=240. ! limit temp if (temp .gt. 300.) temp=300. ! limit temp if (rh .lt. 0.05) rh=0.05 ! limit rh if (rh .gt. 0.95) rh=0.95 ! limit rh do i=1,20 fa(i)=aa0(i)+a1(i)*temp+a2(i)*temp**2.+a3(i)*temp**3. enddo fnl=-84.7551+fa(1)/log(cna)+fa(2)*log(cna)+fa(3)*(log(cna))**2. & +fa(4)*log(nh3ppt)+fa(5)*(log(nh3ppt))**2.+fa(6)*rh & +fa(7)*log(rh)+fa(8)*log(nh3ppt)/log(cna)+fa(9)*log(nh3ppt) & *log(cna)+fa(10)*rh*log(cna)+fa(11)*rh/log(cna) & +fa(12)*rh & *log(nh3ppt)+fa(13)*log(rh)/log(cna)+fa(14)*log(rh) & *log(nh3ppt)+fa(15)*(log(nh3ppt))**2./log(cna)+fa(16)*log(cna) & *(log(nh3ppt))**2.+fa(17)*(log(cna))**2.*log(nh3ppt) & +fa(18)*rh & *(log(nh3ppt))**2.+fa(19)*rh*log(nh3ppt)/log(cna)+fa(20) & *(log(cna))**2.*(log(nh3ppt))**2. fn=exp(fnl) ! Try scaling down the rate by 1e-5 to see how the param is ! doing on the false positive nucleation (win, 12/18/08) !sensitivity simulation, change scaling factor down to 1e-4 fn = fn * 1.e-5 ! Cap at 10^6 particles/cm3-s, limit for parameterization if (fn.gt.1.0e+6_fp) then fn=1.0e+6_fp fnl=log(fn) endif rnuc=0.141027-0.00122625*fnl-7.82211e-6_fp*fnl**2. & -0.00156727*temp-0.00003076*temp*fnl & +0.0000108375*temp**2. 10 return end subroutine napa_nucl !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: getcondsink ! ! !DESCRIPTION: Subroutine GETCONDSINK\_KERM calculates the condensation sink ! (first order loss rate of condensing gases) from the aerosol size ! distribution. ! . ! This is the cond sink in kerminen et al 2004 Parameterization for ! new particle formation AS&T Eqn 6. ! . ! Written by Jeff Pierce, May 2007 for GISS GCM-II' ! Introduced to GEOS-Chem by Win Trivitayanurak, Sep 29, 2008 !\\ !\\ ! !INTERFACE: ! SUBROUTINE getCondSink_kerm(Nko,Mko,CS,Dpmean,Dp1,dens1, & BOXVOL, TEMPTMS, PRES) ! ! !INPUT PARAMETERS: ! ! Nk(ibins) - number of particles per size bin in grid cell ! Mk(ibins, icomp) - mass of a given species per size bin/grid cell REAL(fp), INTENT(IN) :: Nko(ibins), Mko(ibins, icomp) REAL*4, INTENT(IN) :: BOXVOL, TEMPTMS, PRES ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: CS ! CS - condensation sink [s^-1] REAL(fp), INTENT(OUT) :: Dpmean ! the number mean diameter [m] REAL(fp), INTENT(OUT) :: Dp1 ! the size of the first size bin [m] REAL(fp), INTENT(OUT) :: dens1 ! the density of the first size bin [kg/m3] ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Nnuc - number of particles per size bin in grid cell ! Mnuc - mass of given species in nucleation pseudo-bin (kg/grid cell) ! spec - number of the species we are finding the condensation sink for ! sinkfrac(ibins) - fraction of condensation sink from a bin integer :: i,j,k,c ! counters REAL(fp) :: pi, R ! pi and gas constant (J/mol K) REAL(fp) :: mu !viscosity of air (kg/m s) REAL(fp) :: mfp !mean free path of air molecule (m) REAL*4 :: Di !diffusivity of gas in air (m2/s) REAL(fp) :: Neps !tolerance for number REAL*4 :: density !density [kg m^-3] REAL(fp) :: mp !mass per particle [kg] REAL(fp) :: Dpk(ibins) !diameter of particle [m] REAL(fp) :: Kn !Knudson number REAL(fp) :: beta(ibins) !non-continuum correction factor REAL(fp) :: Mktot !total mass in bin [kg] REAL(fp) :: Dtot,Ntot ! used on getting the number mean diameter ! ! !DEFINED PARAMETERS: ! parameter(pi=3.141592654, R=8.314) !pi and gas constant (J/mol K) parameter(Neps=1.0e+10_fp) !================================================================= ! GETCONDSINK_KERM begins here! !================================================================= ! get some parameters mu=2.5277e-7*TEMPTMS**0.75302 !mfp=2.0*mu / ( pres*sqrt( 8.0 * 0.6589 / (pi*R*TEMPTMS) ) ) !S&P eqn 8.6 mfp=2.0*mu / ( pres*sqrt( 8.0 * 0.0289 / (pi*R*TEMPTMS) ) ) !S&P eqn 8.6 !Di=gasdiff(temp,pres,98.0,Sv(srtso4)) !print*,'Di',Di ! get size dependent values CS = 0.e+0_fp Ntot = 0.e+0_fp Dtot = 0.e+0_fp do k=1,ibins if (Nko(k) .gt. Neps) then Mktot=0.e+0_fp do j=1,icomp Mktot=Mktot+Mko(k,j) enddo !kpc Density should be changed due to more species involed. density=aerodens(Mko(k,srtso4),0.e+0_fp, & Mko(k,srtnh4),Mko(k,srtnacl),Mko(k,srtecil), & Mko(k,srtecob),Mko(k,srtocil),Mko(k,srtocob), & Mko(k,srtdust),Mko(k,srth2o)) mp=Mktot/Nko(k) else !nothing in this bin - set to "typical value" density=1500. mp=1.4*xk(k) endif Dpk(k)=((mp/density)*(6./pi))**(0.333) Kn=2.0*mfp/Dpk(k) !S&P eqn 11.35 (text) CS=CS+0.5e+0_fp*(Dpk(k)*Nko(k)/(dble(boxvol)*1.0e-6_fp)*(1+Kn)) & /(1.e+0_fp+0.377e+0_fp*Kn+1.33e+0_fp*Kn*(1+Kn)) Ntot = Ntot + Nko(k) Dtot = Dtot + Nko(k)*Dpk(k) if (k.eq.1)then Dp1=Dpk(k) dens1 = density endif enddo if (Ntot.gt.1e+15_fp)then Dpmean = Dtot/Ntot else Dpmean = 150.e+0_fp endif return END SUBROUTINE GETCONDSINK_KERM !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: getgrowthtime ! ! !DESCRIPTION: This subroutine calculates the time it takes for a particle to ! grow from one size to the next by condensation of sulfuric acid (and ! associated NH3 and water) onto particles. ! . ! This subroutine assumes that the growth happens entirely in the kinetic ! regine such that the dDp/dt is not size dependent. The time for growth ! to the first size bin may then be approximated by the time for growth via ! sulfuric acid (not including nh4 and water) to the size of the first size bin ! (not including nh4 and water). ! WRITTEN BY Jeff Pierce, April 2007 for GISS GCM-II' ! Introduce to GEOS-Chem by Win Trivitayanurak (win, 9/29/08) !\\ !\\ ! !INTERFACE: ! SUBROUTINE getGrowthTime (d1,d2,h2so4,temp,boxvol,density,gtime) ! ! !USES: ! USE ERROR_MOD, ONLY : ERROR_STOP, IT_IS_NAN ! ! !INPUT PARAMETERS: ! ! d1: intial diameter [m] ! d2: final diameter [m] ! h2so4: h2so4 ammount [kg] ! temp: temperature [K] ! boxvol: box volume [cm3] REAL(fp), INTENT(IN) :: d1,d2 ! initial and final diameters [m] REAL(fp), INTENT(IN) :: h2so4 ! h2so4 amount [kg] real*4, INTENT(IN) :: temp ! temperature [K] real*4, INTENT(IN) :: boxvol ! box volume [cm3] REAL(fp), INTENT(IN) :: density ! density of particles in first bin [kg/m3] ! ! !OUTPUT PARAMETERS: ! ! gtime: the time it takes the particle to grow to first size bin [s] REAL(fp), INTENT(OUT) :: gtime ! the time it will take the particle to ! grow to first size bin [s] ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) :: pi, R, MW REAL(fp) :: csulf ! concentration of sulf acid [kmol/m3] REAL(fp) :: mspeed ! mean speed of molecules [m/s] REAL(fp) :: alpha ! accomidation coef ! ! !DEFINED PARAMETERS: ! parameter(pi=3.141592654e+0_fp, R=8.314e+0_fp) !pi and gas constant (J/mol K) parameter(MW=98.e+0_fp) ! density [kg/m3], mol wgt sulf [kg/kmol] parameter(alpha=0.65) !================================================================= ! GETGROWTHTIME begins here! !================================================================= !print *,'h2so4',h2so4,'MW',MW,'boxvol',boxvol,dble(boxvol) csulf = h2so4/MW/(dble(boxvol)*1e-6_fp) ! SA conc. [kmol/m3] mspeed = sqrt(8.e+0_fp*R*dble(temp)*1000.e+0_fp/(pi*MW)) ! Kinetic regime expression (S&P 11.25) solved for T gtime = (d2-d1)/(4.e+0_fp*MW/density*mspeed*alpha*csulf) if ( IT_IS_NAN(gtime) ) then !jrp print*,'IN GET GROWTH TIME' print*,'d1',d1,'d2',d2 print*,'h2so4',h2so4 print*,'boxvol',boxvol print*,'csulf',csulf,'mspeed',mspeed print*,'density',density,'gtime',gtime call ERROR_STOP('Found NaN in fn','getnucrate') endif RETURN END SUBROUTINE GETGROWTHTIME !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: nucleation ! ! !DESCRIPTION: This subroutine calls the Vehkamaki 2002 and Napari 2002 ! nucleation parameterizations and gets the binary and ternary nucleation ! rates. The number of particles added to the first size bin is calculated ! by comparing the growth rate of the new particles to the coagulation sink. ! WRITTEN BY Jeff Pierce, April 2007 for GISS GCM-II' ! Introduce to GEOS-Chem by Win Trivitayanurak (win, 9/30/08) !\\ !\\ ! !INTERFACE: ! SUBROUTINE NUCLEATION(Nki,Mki,Gci,Nkf,Mkf,Gcf,fn,fn1,totsulf, & nuc_bin,dt,ionrate, surf_area, BOXVOL, BOXMASS, & TEMPTMS, PRES, RHTOMAS, pdbg,lev) ! ! !USES: ! USE ERROR_MOD, ONLY : ERROR_STOP, IT_IS_NAN ! ! !INPUT PARAMETERS: ! !Initial values of !================= !Nki(ibins) - number of particles per size bin in grid cell !Mki(ibins, icomp) - mass of a given species per size bin/grid cell !Gci(icomp-1) - amount (kg/grid cell) of all species present in the ! gas phase except water !dt - total model time step to be taken (s) double precision Nki(ibins), Mki(ibins, icomp), Gci(icomp-1) REAL*4, INTENT(IN) :: BOXVOL, BOXMASS, TEMPTMS REAL*4, INTENT(IN) :: PRES, RHTOMAS ! ! !OUTPUT PARAMETERS: ! !Nkf, Mkf, Gcf - same as above, but final values !fn, fn1 double precision Nkf(ibins), Mkf(ibins, icomp), Gcf(icomp-1) integer j,i,k double precision totsulf integer nuc_bin double precision dt double precision fn ! nucleation rate of clusters cm-3 s-1 double precision fn1 ! formation rate of particles to first size bin cm-3 s-1 LOGICAL PDBG ! Signal print for debug integer lev ! layer of model REAL(fp) ionrate REAL(fp) surf_area ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! double precision nh3ppt ! gas phase ammonia in pptv double precision h2so4 ! gas phase h2so4 in molec cc-1 double precision rnuc ! critical nucleation radius [nm] double precision gtime ! time to grow to first size bin [s] double precision ltc, ltc1, ltc2 ! coagulation loss rates [s-1] double precision Mktot ! total mass in bin double precision neps double precision meps double precision density ! density of particle [kg/m3] double precision pi double precision frac ! fraction of particles growing into first size bin double precision d1,d2 ! diameters of particles [m] double precision mp ! mass of particle [kg] double precision mold ! saved mass in first bin double precision mnuc !mass of nucleation double precision sinkfrac(ibins) ! fraction of loss to different size bins double precision nadd ! number to add double precision CS ! kerminan condensation sink [m-2] double precision Dpmean ! the number wet mean diameter of the existing aerosol double precision Dp1 ! the wet diameter of bin 1 double precision dens1 ! density in bin 1 [kg m-3] double precision GR ! growth rate [nm hr-1] double precision gamma,eta ! used in kerminen 2004 parameterzation double precision drymass,wetmass,WR double precision fn_c ! barrierless nucleation rate double precision h1,h2,h3,h4,h5,h6 double precision dum1,dum2,dum3,dum4 ! dummy variables double precision rhin,tempin ! rel hum in LOGICAL ERRORSWITCH ! ! !DEFINED PARAMETERS: ! parameter (neps=1E8, meps=1E-8) parameter (pi=3.14159) !================================================================= ! NUCLEATION begins here !================================================================= errorswitch = .false. h2so4 = Gci(srtso4)/boxvol*1000.e+0_fp/98.e+0_fp*6.022e+23_fp nh3ppt = Gci(srtnh4)/17.e+0_fp/(boxmass/29.e+0_fp)*1e+12_fp* & PRES/101325.*273./TEMPTMS ! corrected for pressure (because this should be concentration) fn = 0.e+0_fp fn1 = 0.e+0_fp rnuc = 0.e+0_fp gtime = 0.e+0_fp nuc_bin = 1 ! added by Pengfei Liu,initialize nuc_bin value ! if requirements for nucleation are met, call nucleation subroutines ! and get the nucleation rate and critical cluster size if (h2so4.gt.1.e+4_fp) then if (nh3ppt.gt.0.1.and.tern_nuc.eq.1) then call napa_nucl(TEMPTMS,RHTOMAS,h2so4,nh3ppt,fn,rnuc) !ternary nuc if (ion_nuc.eq.1.and.ionrate.ge.1.e+0_fp) then call ion_nucl(h2so4,surf_area,TEMPTMS,ionrate,RHTOMAS, & h1,h2,h3,h4,h5,h6) else h1=0.e+0_fp endif if (h1.gt.fn)then fn=h1 rnuc=h5 endif elseif (bin_nuc.eq.1) then call vehk_nucl(TEMPTMS,RHTOMAS,h2so4,fn,rnuc) !binary nuc if ((ion_nuc.eq.1).and.(ionrate.ge.1.e+0_fp)) then call ion_nucl(h2so4,surf_area,TEMPTMS,ionrate,RHTOMAS, & h1,h2,h3,h4,h5,h6) else h1=0.e+0_fp endif if (h1.gt.fn)then fn=h1 rnuc=h5 endif if (fn.lt.1.0e-6_fp)then fn = 0.e+0_fp endif elseif ((ion_nuc.eq.1).and.(ionrate.ge.1.e+0_fp)) then call ion_nucl(h2so4,surf_area,TEMPTMS,ionrate,RHTOMAS, & h1,h2,h3,h4,h5,h6) fn=h1 rnuc=h5 elseif(ion_nuc.eq.2) then ! Yu Ion nucleation !! first we need to calculate the available surface area !surf_area = 0.e+0_fp !do k=1, ibins ! if (Nki(k) .gt. Neps) then ! Mktot=0.e+0_fp ! do j=1,icomp ! Mktot=Mktot+Mki(k,j) ! enddo ! mp=Mktot/Nki(k) ! density=aerodens(Mki(k,srtso4),0.e+0_fp, & ! Mki(k,srtnh4),0.e+0_fp,Mki(k,srth2o)) ! assume bisulfate ! ! diameter = ((mass/density)*(6/pi))**(1/3) ! d2 = 1.D6*((mp/density)*(6.D0/pi))**(1.D0/3.D0) ! (micrometers) ! ! surface area per particle = pi*diameter**2 ! surf_area = surf_area + 1.D-6*(Nki(k)/boxvol)* & ! pi*(d2**2.D0) ! (um2 cm-2) ! endif !enddo rhin=dble(RHTOMAS*100.e+0_fp) tempin=dble(TEMPTMS) !call YUJIMN(h2so4, rhin, tempin, ionrate, surf_area, & ! fn, dum1, rnuc, dum2) fn=0. rnuc=1E-9 endif if((act_nuc.eq.1).and.(lev.le.7))then call bl_nucl(h2so4,fn,rnuc) endif call cf_nucl(TEMPTMS,RHTOMAS,h2so4,nh3ppt,fn_c) ! use barrierless nucleation as a max fn = min(fn,fn_c) !if (fn.gt.1.0)then ! print*, 'fn',fn ! print*, 'Yu Yes!' ! print*, 'ionrate',ionrate ! print*, 'surf_area',surf_area !endif endif if (pdbg) then if( bin_nuc == 1 ) then print *, 'BINARY cluster form rate : fn',fn else print *, 'TERNARY cluster form rate: fn',fn endif endif ! if nucleation occured, see how many particles grow to join the first size ! section if (fn.gt.0.e+0_fp) then if(pdbg) print*,'Nki',Nki if(pdbg) print*,'Mki',Mki call getCondSink_kerm(Nki,Mki,CS,Dpmean,Dp1,dens1,BOXVOL,TEMPTMS,PRES) if(pdbg) print*,'CS',CS,'Dpmean',Dpmean,'Dp1',Dp1,'dens1',dens1 d1 = rnuc*2.e+0_fp*1e-9_fp drymass = 0.e+0_fp do j=1,icomp-idiag drymass = drymass + Mki(1,j) enddo wetmass = 0.e+0_fp do j=1,icomp wetmass = wetmass + Mki(1,j) enddo ! to prevent division by zero (win, 10/1/08) if(drymass == 0.e+0_fp) then WR = 1.e+0_fp else WR = wetmass/drymass endif if(pdbg) print*,'rnuc',rnuc,'WR',WR if(pdbg) print*,'d1',d1,'Gci(srtso4)',Gci(srtso4),& 'TEMP',temptms,'boxvol',boxvol if( IT_IS_NAN( Gci(srtso4) )) then print*,'rnuc',rnuc,'WR',WR print*,'d1',d1,'Gci(srtso4)',Gci(srtso4) call ERROR_STOP('Found NaN in Gci','nucleation') endif ! print*,'[nucleation] Gci',Gci call getGrowthTime(d1,Dp1,Gci(srtso4)*WR,TEMPTMS, & boxvol,dens1,gtime) if (pdbg) print*,'gtime',gtime GR = (Dp1-d1)*1e+9_fp/gtime*3600.e+0_fp ! growth rate, nm hr-1 gamma = 0.23e+0_fp*(d1*1.0e+9_fp)**(0.2e+0_fp)* & (Dp1*1.0d9/3.e+0_fp)**0.075e+0_fp* & (Dpmean*1.0e+9_fp/150.e+0_fp)** & 0.048e+0_fp*(dens1*1.0e-3_fp)** & (-0.33e+0_fp)*(TEMPTMS/293.e+0_fp) ! equation 5 in kerminen eta = gamma*CS/GR if (Dp1.gt.d1)then fn1 = fn*exp(eta/(Dp1*1.0e+9_fp)-eta/(d1*1.0e+9_fp)) else fn1 = fn endif if (pdbg) print*,'eta',eta,'Dp1',Dp1,'d1',d1,'fn1',fn1 mnuc = sqrt(xk(1)*xk(2)) nadd = fn1 nuc_bin = 1 mold = Mki(nuc_bin,srtso4) Mkf(nuc_bin,srtso4) = Mki(nuc_bin,srtso4)+nadd*mnuc*boxvol*dt Nkf(nuc_bin) = Nki(nuc_bin)+nadd*boxvol*dt Gcf(srtso4) = Gci(srtso4) ! - (Mkf(nuc_bin,srtso4)-mold) Gcf(srtnh4) = Gci(srtnh4) if (pdbg) then print*, 'nadd',nadd print *,'Mass add to bin',nuc_bin,'=',nadd*mnuc*boxvol*dt print *,'Number added',nadd*boxvol*dt print *,'Gcf(srtso4)',Gcf(srtso4) print *,'Gcf(srtnh4)',Gcf(srtnh4) endif do k=1,ibins if (k .ne. nuc_bin)then Nkf(k) = Nki(k) do i=1,icomp Mkf(k,i) = Mki(k,i) enddo else do i=1,icomp if (i.ne.srtso4) then Mkf(k,i) = Mki(k,i) endif enddo endif enddo do k=1,ibins if (Nkf(k).lt.1.e+0_fp) then Nkf(k) = 0.e+0_fp do j=1,icomp Mkf(k,j) = 0.e+0_fp enddo endif enddo !print *, 'mnfix in tomas_mod:2679' call mnfix(Nkf,Mkf, ERRORSWITCH) pdbg = errorswitch ! carry the error signal from mnfix to outside if (errorswitch) print*,'NUCLEATION: Error after mnfix' ! there is a chance that Gcf will go less than zero because we are ! artificially growing particles into the first size bin. ! don't let it go less than zero. else do k=1,ibins Nkf(k) = Nki(k) do i=1,icomp Mkf(k,i) = Mki(k,i) enddo enddo endif pdbg = errorswitch ! carry the error signal from mnfix to outside RETURN END SUBROUTINE NUCLEATION !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ezcond ! ! !DESCRIPTION: This subroutine takes a given amount of mass and condenses it ! across the bins accordingly. ! WRITTEN BY Jeff Pierce, May 2007 for GISS GCM-II' ! Put in GEOS-Chem by Win T. 9/30/08 !\\ !\\ ! !INTERFACE: ! SUBROUTINE EZCOND (Nki,Mki,mcondi,spec,Nkf,Mkf,surf_area, & BOXVOL, TEMPTMS, PRES, errswitch) ! ! !INPUT PARAMETERS: ! !Initial values of !================= !Nki(ibins) - number of particles per size bin in grid cell !Mki(ibins, icomp) - mass of a given species per size bin/grid cell [kg] !mcond - mass of species to condense [kg/grid cell] !spec - the number of the species to condense double precision Nki(ibins), Mki(ibins, icomp) double precision mcondi REAL*4, INTENT(IN) :: BOXVOL, TEMPTMS, PRES LOGICAL ERRSWITCH ! signal error to outside ! ! !OUTPUT PARAMETERS: ! !Nkf, Mkf - same as above, but final values double precision Nkf(ibins), Mkf(ibins, icomp) REAL(fp) surf_area integer spec ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! integer i,j,k,c ! counters double precision mcond double precision pi, R ! pi and gas constant (J/mol K) double precision CS ! condensation sink [s^-1] double precision sinkfrac(ibins+1) ! fraction of CS in size bin double precision Nk1(ibins), Mk1(ibins, icomp) double precision Nk2(ibins), Mk2(ibins, icomp) double precision madd ! mass to add to each bin [kg] double precision maddp(ibins) ! mass to add per particle [kg] double precision mconds ! mass to add per step [kg] integer nsteps ! number of condensation steps necessary integer my_floor, my_ceil ! the floor and ceiling (temporary) double precision eps ! small number double precision tdt !the value 2/3 double precision mpo,mpw !dry and "wet" mass of particle double precision WR !wet ratio double precision tau(ibins) !driving force for condensation double precision totsinkfrac ! total sink fraction not including nuc bin double precision CSeps ! lower limit for condensation sink double precision tot_m,tot_s !total mass, total sulfate mass double precision ratio ! used in mass correction double precision fracch(ibins,icomp) double precision totch double precision tot_i,tot_f,tot_fa ! used for conservation of mass check LOGICAL PDBG, ERRORSWITCH real(fp) zeros(ibins) ! ! !DEFINED PARAMETERS: ! parameter(pi=3.141592654, R=8.314) !pi and gas constant (J/mol K) parameter(eps=1.e-40_fp) parameter(CSeps=1.e-20_fp) !================================================================= ! EZCOND begins here !================================================================= pdbg = errswitch ! take the signal for print debug from outside errswitch = .false. !signal to terminate with error. Initialize with .false. tdt=2.e+0_fp/3.e+0_fp mcond=mcondi ! initialize variables do k=1,ibins Nk1(k)=Nki(k) do j=1,icomp Mk1(k,j)=Mki(k,j) enddo enddo !print *, 'mnfix in tomas_mod:2804' call mnfix(Nk1,Mk1, errorswitch) if(errorswitch) then print *, 'EZCOND: MNFIX[1] found error --> TERMINATE' errswitch=.true. return endif ! get the sink fractions ! set Nnuc to zero for this calc call getCondSink(Nk1,Mk1,spec,CS,sinkfrac,surf_area, & BOXVOL,TEMPTMS, PRES) ! make sure that condensation sink isn't too small if (CS.lt.CSeps) then ! just make particles in first bin Mkf(1,spec) = Mk1(1,spec) + mcond Nkf(1) = Nk1(1) + mcond/sqrt(xk(1)*xk(2)) do j=1,icomp if (icomp.ne.spec) then Mkf(1,j) = Mk1(1,j) endif enddo do k=2,ibins Nkf(k) = Nk1(k) do j=1,icomp Mkf(k,j) = Mk1(k,j) enddo enddo return endif if (pdbg) then print*,'CS',CS print*,'sinkfrac',sinkfrac print*,'mcond',mcond endif ! determine how much mass to add to each size bin ! also determine how many condensation steps we need totsinkfrac = 0.e+0_fp do k=1,ibins totsinkfrac = totsinkfrac + sinkfrac(k) ! get sink frac total not including nuc bin enddo nsteps = 1 do k=1,ibins if (sinkfrac(k).lt.1.0e-20_fp)then madd = 0.e+0_fp else madd = mcond*sinkfrac(k)/totsinkfrac endif mpo=0.0 do j=1,icomp-idiag mpo=mpo + Mk1(k,j) enddo if(mpo == 0.0 ) then ! prevent division by zero (win, 10/16/08) my_floor = 0 else my_floor = int(madd*0.00001/mpo) endif my_ceil = my_floor + 1 nsteps = max(nsteps,my_ceil) ! don't let the mass increase by more than 10% enddo if(pdbg) print*,'nsteps',nsteps ! mass to condense each step mconds = mcond/nsteps ! do steps of condensation do i=1,nsteps if (i.ne.1) then ! set Nnuc to zero for this calculation call getCondSink(Nk1,Mk1,spec,CS,sinkfrac,surf_area, & BOXVOL,TEMPTMS, PRES) totsinkfrac = 0.e+0_fp do k=1,ibins totsinkfrac = totsinkfrac + sinkfrac(k) ! get sink frac total not including nuc bin enddo endif tot_m=0.e+0_fp tot_s=0.e+0_fp do k=1,ibins do j=1,icomp-idiag tot_m = tot_m + Mk1(k,j) if (j.eq.srtso4) then tot_s = tot_s + Mk1(k,j) endif enddo enddo if (pdbg) print *,'tot_s ',tot_s,' tot_m ',tot_m ! change criteria to bigger amount (win, 9/30/08) if (mcond.gt.tot_m*5.0e-2_fp) then if (pdbg) print *,'Entering TMCOND ' do k=1,ibins mpo=0.0 mpw=0.0 !WIN'S CODE MODIFICATION 6/19/06 !THIS MUST CHANGED WITH THE NEW dmdt_int do j=1,icomp-idiag mpo = mpo+Mk1(k,j) !accumulate dry mass enddo do j=1,icomp mpw = mpw+Mk1(k,j) ! have wet mass include amso4 enddo if( mpo > 0.0 ) then ! prevent division by zero (win, 10/16/08) WR = mpw/mpo !WR = wet ratio = total mass/dry mass else WR = 1.0 endif if (Nk1(k) .gt. 0.e+0_fp) then !Change maddp(k) from mass/no. to be just mass (win,10/3/08) ! this is because in tmcond here, the moxd argument takes ! mass to add for each bin array, not mass/no. array. maddp(k) = mconds*sinkfrac(k)/totsinkfrac !Prior to 10/3/08 (win) !maddp(k) = mconds*sinkfrac(k)/totsinkfrac/Nk1(k) mpw=mpw/Nk1(k) if(pdbg) print*,'mpw',mpw,'maddp',maddp(k),'WR',WR !Change the maddp(k) to accordingly -- adding the /Nk1(k) (win, 10/3/08) tau(k)=1.5e+0_fp*((mpw+maddp(k)/Nk1(k)*WR)**tdt-mpw**tdt) ! Prior to 10/3/08 (win) !tau(k)=1.5e+0_fp*((mpw+maddp(k)*WR)**tdt-mpw**tdt) !added WR to moxid term (win, 5/15/06) ! tau(k)=0.e+0_fp ! maddp(k)=0.e+0_fp else !nothing in this bin - set tau to zero tau(k)=0.e+0_fp maddp(k) = 0.e+0_fp endif enddo !print*,'tau',tau !print *, 'mnfix in tomas_mod:2942' call mnfix(Nk1,Mk1, errorswitch) if (errorswitch) then print *, 'EZCOND: MNFIX[2] found error --> TERMINATE' errswitch=.true. return endif ! do condensation errorswitch = pdbg !prior to 9/30/08 from Jeff's version call tmcond(tau,xk,Mk1,Nk1,Mk2,Nk2,spec,errorswitch,maddp) ! For SO4 condensation, the last argument should be zeroes (win, 9/30/08) !zeros(:) = 0.e+0_fp !call tmcond(tau,xk,Mk1,Nk1,Mk2,Nk2,spec,errorswitch,zeros) if( errorswitch) then errswitch=.true. print *,'EZCOND: error after TMCOND --> TERMINATE' return endif errorswitch = pdbg !call tmcond(tau,xk,Mk1,Nk1,Mk2,Nk2,spec) !jrp totch=0.0 !jrp do k=1,ibins !jrp do j=1,icomp !jrp fracch(k,j)=(Mk2(k,j)-Mk1(k,j)) !jrp totch = totch + (Mk2(k,j)-Mk1(k,j)) !jrp enddo !jrp enddo !print*,'fracch',fracch,'totch',totch elseif (mcond.gt.tot_s*1.0e-12_fp) then if (pdbg) print *,'Small mcond: distrib w/ sinkfrac ' if (pdbg) print *, 'maddp(bin) to add to SO4' do k=1,ibins if (Nk1(k) .gt. 0.e+0_fp) then maddp(k) = mconds*sinkfrac(k)/totsinkfrac else maddp(k) = 0.e+0_fp endif if(pdbg) print *, maddp(k) Mk2(k,srtso4)=Mk1(k,srtso4)+maddp(k) do j=1,icomp if (j.ne.srtso4) then Mk2(k,j)=Mk1(k,j) endif enddo Nk2(k)=Nk1(k) enddo if(pdbg) errorswitch = .true. !print *, 'mnfix in tomas_mod:2999' call mnfix(Nk2,Mk2, errorswitch) if(errorswitch) then print *, 'EZCOND: MNFIX[3] found error --> TERMINATE' errswitch=.true. return endif else ! do nothing if (pdbg) print *,'Very small mcond: do nothing!' mcond = 0.e+0_fp do k=1,ibins Nk2(k)=Nk1(k) do j=1,icomp Mk2(k,j)=Mk1(k,j) enddo enddo endif if (i.ne.nsteps)then do k=1,ibins Nk1(k)=Nk2(k) do j=1,icomp Mk1(k,j)=Mk2(k,j) enddo enddo endif enddo do k=1,ibins Nkf(k)=Nk2(k) do j=1,icomp Mkf(k,j)=Mk2(k,j) enddo enddo ! check for conservation of mass tot_i = 0.e+0_fp tot_fa = mcond tot_f = 0.e+0_fp do k=1,ibins tot_i=tot_i+Mki(k,srtso4) tot_f=tot_f+Mkf(k,srtso4) tot_fa=tot_fa+Mki(k,srtso4) enddo if(pdbg) then print *,'Check conserv of mass after mcond is distrib' print *,' Initial total so4 ',tot_i print *,' Final total so4 ',tot_f print *,'Percent error=',abs((mcond-(tot_f-tot_i))/mcond)*1e2 endif if ( mcond > 0.0_fp ) then if ( abs((mcond-(tot_f-tot_i))/mcond).gt.0.e+0_fp) then IF(mcond > 1.e-8_fp .and. tot_i > 5.e-2_fp) THEN !Add a check to check error if mcond is significant (win, 10/2/08) IF (abs((mcond-(tot_f-tot_i))/mcond).lt.1.e+0_fp .OR. & spinup(31.0) ) THEN !Prior to 10/2/08 (win) .. original was Jeff's fix !! do correction of mass !ratio = (tot_f-tot_i)/mcond !if(pdbg) print *,'Mk at mass correction ' !if(pdbg) print *,' ratio',ratio !do k=1,ibins ! Mkf(k,srtso4)=Mki(k,srtso4)+ ! & (Mkf(k,srtso4)-Mki(k,srtso4))/ratio ! if(pdbg) print *,Mkf(k,srtso4) !enddo ! Do mass correction (win, 10/2/08) ratio = (tot_i+mcond)/tot_f if(pdbg) print *,'Mk at mass correction apply ratio= ',ratio do k=1,ibins Mkf(k,srtso4)=Mkf(k,srtso4) * ratio if(pdbg) print *,Mkf(k,srtso4) enddo if(pdbg) errorswitch=.true. !print *, 'mnfix in tomas_mod:3079' call mnfix(Nkf,Mkf, errorswitch) if(errorswitch) then print *, 'EZCOND: MNFIX[4] found error --> TERMINATE' errswitch=.true. return endif else print*,'ERROR in ezcond' print*,'Condensation error',(mcond-(tot_f-tot_i))/mcond print*,'mcond',mcond,'change',tot_f-tot_i print*,'tot_i',tot_i,'tot_fa',tot_fa,'tot_f',tot_f print*,'Nki',Nki print*,'Nkf',Nkf print*,'Mki',Mki print*,'Mkf',Mkf !Prior to 10/2/08 (win) !STOP ! Send error signal to outside and terminate with more info ! (win, 10/2/08) !!as of 10/27/08, try comment out this signal to stop the run ! (win, 10/27/08) !! the problem is that maybe or mostly the mass conservation is ! ruined becuase of the fudging inside mnfix. !ERRSWITCH=.TRUE. !RETURN ENDIF ENDIF endif endif !jrp if (abs(tot_f-tot_fa)/tot_i.gt.1.0D-8)then !jrp print*,'No S conservation in ezcond' !jrp print*,'initial',tot_fa !jrp print*,'final',tot_f !jrp print*,'mcond',mcond,'change',tot_f-tot_i !jrp print*,'ERROR',(mcond-(tot_f-tot_i))/mcond !jrp endif ! check for conservation of mass tot_i = 0.e+0_fp tot_f = 0.e+0_fp do k=1,ibins tot_i=tot_i+Mki(k,srtnh4) tot_f=tot_f+Mkf(k,srtnh4) enddo if (.not. spinup(14.0)) then if (abs(tot_f-tot_i)/tot_i.gt.1.0e-8_fp)then if ( tot_i > 1.0e-20_fp ) then print*,'No N conservation in ezcond' print*,'initial',tot_i print*,'final ',tot_f endif endif endif return end SUBROUTINE EZCOND !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: aqoxid ! ! !DESCRIPTION: Subroutine AQOXID takes an amount of SO4 produced via in-cloud ! oxidation and condenses it onto an existing aerosol size distribution. It ! assumes that only particles larger than the critical activation diameter ! activate and that all of these have grown to roughly the same size. ! Therefore, the mass of SO4 produced by oxidation is partitioned to the ! various size bins according to the number of particles in that size bin. ! Values of tau are calculated for each size bin accordingly and the TMCOND ! subroutine is called to update Nk and Mk. (win, 7/23/07) ! Originally written by Peter Adams for TOMAS in GISS GCM-II', June 2000 ! Modified by Win Trivitayanurak (win@cmu.edu), Oct 3, 2005 !\\ !\\ ! !INTERFACE: ! SUBROUTINE AQOXID( MOXID, KMIN, I, J, & L, Input_Opt, State_Chm, State_Grid, & State_Met, State_Diag, fromWetdep, RC ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE State_Diag_Mod, ONLY : DgnState USE UnitConv_Mod ! ! !INPUT PARAMETERS: ! REAL(fp) :: MOXID INTEGER :: KMIN, I, J, L TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input options TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object LOGICAL, INTENT(IN) :: fromWetDep ! Called from wetdep? [T/F] ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diag State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! ! !REMARKS: ! Species units are converted to kg outside of AQOXID. ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER, PARAMETER :: K_MIN = 4 REAL(fp) :: Nact, Mact, MPO, AQTAU(IBINS) REAL(fp) :: Nko(IBINS), Mko(IBINS, ICOMP) REAL(fp) :: Nkf(IBINS), Mkf(IBINS, ICOMP) REAL(fp), PARAMETER :: TDT = 2.e+0_fp / 3.e+0_fp REAL(fp) :: M_OXID(IBINS) INTEGER :: K, MPNUM, JC, TRACNUM INTEGER :: NKID LOGICAL :: PDBG REAL(fp) :: Nk(IBINS), Nkd(IBINS) REAL(fp) :: Mk(IBINS, ICOMP) REAL(fp) :: Mkd(IBINS,ICOMP) REAL(fp) :: Gc(ICOMP - 1) REAL(fp) :: Gcd(ICOMP - 1) REAL*4 :: BOXVOL REAL*4 :: BOXMASS REAL*4 :: thresh CHARACTER(LEN=255) :: MSG, LOC ! (ewl) LOGICAL, SAVE :: doPrintErr = .TRUE. ! Pointers TYPE(SpcConc), POINTER :: Spc(:) !================================================================= ! AQOXID begins here !================================================================= ! Assume success RC = GC_SUCCESS !--------------------------------------------------------------------- ! If called from wetdep, convert species units to kg !--------------------------------------------------------------------- IF ( fromWetDep ) THEN CALL ConvertBox_Kgm2_to_Kg( & I = I, & J = J, & L = L, & State_Chm = State_Chm, & State_Grid = State_Grid, & isAdjoint = .FALSE. ) ENDIF Spc => State_Chm%Species PDBG = .FALSE. !For print debugging !debug IF ( I == 46 .AND. J == 59 .AND. L == 9) PDBG = .TRUE. BOXVOL = State_Met%AIRVOL(I,J,L) * 1.e6 !convert from m3 -> cm3 BOXMASS = State_Met%AD(I,J,L) ! in kg ! Update aerosol water from the current RH DO K = 1, IBINS CALL EZWATEREQM2( I, J, L, K, State_Met, State_Chm, RC ) ENDDO #if defined(TOMAS12) || defined(TOMAS15) thresh = 4.0 #else thresh = 1.0 #endif ! Swap GEOSCHEM variables into aerosol algorithm variables DO K = 1, IBINS NKID = id_NK01 - 1 + K NK(K) = Spc(NKID)%Conc(I,J,L) DO JC = 1, ICOMP-IDIAG MK(K,JC) = Spc(NKID+JC*IBINS)%Conc(I,J,L) ENDDO MK(K,SRTH2O) = Spc(id_AW01-1+K)%Conc(I,J,L) ENDDO !sfarina - initialize Gc to ensure storenm doesn't go NaN on us. DO JC=1, ICOMP-1 Gc(JC) = 0.e+0_fp ENDDO ! Take the bulk NH4 and allocate to size-resolved NH4 IF ( SRTNH4 > 0 ) THEN CALL NH4BULKTOBIN( MK(:,SRTSO4), Spc(id_NH4)%Conc(I,J,L), MK(:,SRTNH4) ) ENDIF ! Fix any inconsistencies in M/N distribution CALL STORENM(Nk, Nkd, Mk, Mkd, Gc, Gcd) !debug IF ( I == 46 .AND. J == 59 .AND. L == 9) PDBG = .TRUE. ! print *, 'mnfix in tomas_mod:3225' CALL MNFIX( NK, MK, PDBG ) IF( PDBG ) THEN PRINT *,'AQOXID: MNFIX found error at',I,J,L CALL ERROR_STOP('Found bad error in MNFIX', & 'Beginning AQOXID after MNFIX' ) ENDIF MPNUM = 13 IF ( State_Diag%Archive_TomasMNFIXezwat3mass .or. & State_Diag%Archive_TomasMNFIXezwat3number ) THEN CALL AERODIAG( MPNUM, I, J, L, Nk, Nkd, Mk, Mkd, BOXMASS, & State_Grid, State_Diag ) ENDIF CALL STORENM(Nk, Nkd, Mk, Mkd, Gc, Gcd) !debug IF ( I == 46 .AND. J == 59 .AND. L == 9) & ! call debugprint(Nk,Mk,I,J,L,'AQOXID after MNFIX_1') ! Calculate which particles activate 10 CONTINUE ! Continue here if KMIN has to be lowered Nact = 0.e+0_fp Mact = 0.e+0_fp DO K = KMIN, IBINS Nact = Nact + Nk(k) DO JC = 1, ICOMP-IDIAG !accumulate dry mass exclude NH4 Mact = Mact + Mk(K,JC) ENDDO ENDDO ! No particles to condense on, then just exit AQOXID IF ( Nact == 0e+0_fp ) GOTO 20 ! If condensing mass is too large for the alloted portion of NK ! then lower KMIN IF ( ( Mact + MOXID )/ Nact > XK(IBINS+1) / thresh ) THEN IF ( KMIN > K_MIN ) THEN KMIN = KMIN - 1 GOTO 10 ELSE ! If there is really not enough number to condense onto when lower ! KMIN to the threshold K_MIN (set to 4), then ! IF current time is within first 2 weeks from initialization ! (spin-up), then skip and exit ! IF current time is after the first 2 weeks, then terminate ! with an error message. IF ( .not. SPINUP(14.0) ) THEN !WRITE(*,*) 'Location: ',I,J,L !WRITE(*,*) 'Kmin/Nact: ',KMIN,NACT !WRITE(*,*) 'MOXID/Mact: ',MOXID,Mact !DO K = 1, IBINS ! WRITE(*,*) 'K, N, MSO4, MH2O: ',K,Nk(k), & ! MK(K,SRTSO4),MK(K,SRTH2O) !ENDDO IF ( MOXID > 5e+0_fp .and. & ( .not. State_Met%InChemGrid(I,J,L) ) ) THEN CALL ERROR_STOP( 'Too few number for condensing mass', & 'AQOXID:1' ) ELSE WRITE(*,*) 'AQOXID WARNING: SO4 mass is being discarded' GOTO 20 ENDIF ELSE IF ( PDBG ) print *,'AQOXID: Discard mass (spin-up)' GOTO 20 ENDIF ENDIF ENDIF ! Calculate Tau (driving force) for each size bin MOXID = MOXID/ Nact !Moxid becomes kg SO4 per activated particle !NOTE: NOT using kg of H2SO4 DO K = 1, IBINS IF ( K < KMIN ) THEN !too small to activate - no sulfate for this particle AQTAU(K) = 0.e+0_fp M_OXID(K) = 0.e+0_fp ELSE !activated particle - calculate appropriate tau MPO=0.e+0_fp DO JC = 1, ICOMP-IDIAG MPO = MPO + Mk(K,JC) !accumulate dry mass ENDDO M_OXID(K) = MOXID * NK(K) IF (Nk(K) > 0.e+0_fp) THEN ! Calculate Tau MPO = MPO / Nk(K) AQTAU(K) = 1.5e+0_fp * ( ( ( MPO + MOXID) ** TDT ) - & ( MPO ** TDT ) ) ! Error checking for negative Tau IF ( AQTAU(K) < 0.e+0_fp ) THEN IF ( ABS(AQTAU(K)) < 1.e+0_fp ) THEN AQTAU(K)=1.d-50 !0.e+0_fp !try change to tiny number instead of 0e+0_fp (win, 5/28/06) ELSE PRINT *,' ######### aqoxid: NEGATIVE TAU' PRINT *,'Error at',i,j,l,'bin',k PRINT *,'aqtau(k)',aqtau(k) CALL ERROR_STOP( 'Negative Tau','AQOXID:2' ) ENDIF ENDIF ELSE ! Nothing in this bin - set tau to zero AQTAU(K) = 0.e+0_fp ENDIF ! Nk>0 ENDIF ! K NULL() !------------------------------------------------------------------------ ! If called from wetdep, convert species units back to kg/m2. !------------------------------------------------------------------------ IF ( fromWetDep ) THEN CALL ConvertBox_Kg_to_Kgm2( & I = I, & J = J, & L = L, & State_Chm = State_Chm, & State_Grid = State_Grid, & isAdjoint = .FALSE. ) ENDIF END SUBROUTINE AQOXID !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: soacond ! ! !DESCRIPTION: Subroutine SOACOND takes the SOA calculated via 10% yeild ! assumption and condense onto existing aerosol size distribution in a similar ! manner as in aqoxid. The difference is that SOA condensational driving force ! is a function of the amount of soluble mass existing in each bin, unlike ! aqoxid where driving force depends on activated number (proportional to ! surface) of each bin. (win, 9/25/07) !\\ !\\ ! !INTERFACE: ! SUBROUTINE SOACOND( MSOA, I, J, L, BOXVOL, TEMPTMS, PRES, BOXMASS,& State_Chm, State_Grid, State_Diag, RC ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE UnitConv_Mod ! ! !INPUT PARAMETERS: ! REAL(fp) :: MSOA INTEGER, INTENT(IN) :: I, J, L REAL*4, INTENT(IN) :: BOXVOL, TEMPTMS, PRES, BOXMASS TYPE(GrdState), INTENT(IN) :: State_Grid ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) :: surf_area REAL(fp) :: MPO, OCTAU(IBINS), ntot, mtot REAL(fp) :: Nko(IBINS), Mko(IBINS, ICOMP) REAL(fp) :: Nkf(IBINS), Mkf(IBINS, ICOMP) REAL(fp), PARAMETER :: TDT = 2.e+0_fp / 3.e+0_fp REAL(fp) :: MEDTOT, MED(IBINS), MABS(IBINS) REAL(fp) :: MKTOT(IBINS), DENSITY, PI REAL(fp) :: M_NH4 REAL(fp) :: CS, sinkfrac(IBINS) REAL(fp) :: partfrac(IBINS),avgfrac(IBINS) INTEGER :: K, MPNUM, JC, TRACNUM LOGICAL :: PDBG, negvalue ! negvalue added for xSOA ! (JKodros, 6/2/15) PARAMETER (PI = 3.141592654e+0_fp) !sfarina REAL(fp) :: Nk(IBINS), Nkd(IBINS) REAL(fp) :: Mk(IBINS, ICOMP) REAL(fp) :: Mkd(IBINS,ICOMP) REAL(fp) :: Gc(ICOMP - 1) REAL(fp) :: Gcd(ICOMP - 1) REAL*4 :: thresh CHARACTER(LEN=255) :: MSG, LOC ! For species unit check (ewl) LOGICAL :: ERRORSWITCH = .FALSE. ! Pointers TYPE(SpcConc), POINTER :: Spc(:) ! For SOACOND warnings INTEGER, SAVE :: SOACOND_WARNING_CT = -1 INTEGER, PARAMETER :: SOACOND_WARNING_MAX = 2 !bc 02/01/24 shut off too many warnings !================================================================= ! SOACOND begins here !================================================================= ! Assume success RC = GC_SUCCESS SOACOND_WARNING_CT = 0 ! Check that species units are in [kg] IF ( .not. Check_Units( State_Chm, KG_SPECIES ) ) THEN MSG = 'Not all species are in kg!' LOC = 'Routine SOACOND in tomas_mod.F90' CALL ERROR_STOP( MSG, LOC ) ENDIF ! Point to the chemical species array Spc => State_Chm%Species pdbg = .false. #if defined (TOMAS12) || defined (TOMAS15) thresh = 1.0 #else thresh = 1.0 #endif ! Swap GEOSCHEM variables into TOMAS variables DO K = 1, IBINS TRACNUM = id_NK01 - 1 + K NK(K) = Spc(TRACNUM)%Conc(I,J,L) DO JC = 1, ICOMP-IDIAG ! do I need aerosol water here? TRACNUM = id_NK01 - 1 + K + IBINS*JC MK(K,JC) = Spc(TRACNUM)%Conc(I,J,L) IF( IT_IS_NAN( MK(K,JC) ) ) THEN PRINT *,'+++++++ Found NaN in SOACOND ++++++++' PRINT *,'Location (I,J,L):',I,J,L,'Bin',K,'comp',JC ENDIF ENDDO MK(K,SRTH2O) = Spc(id_AW01-1+K)%Conc(I,J,L) ENDDO ! Take the bulk NH4 and allocate to size-resolved NH4 IF ( SRTNH4 > 0 ) THEN CALL NH4BULKTOBIN( MK(:,SRTSO4), Spc(id_NH4)%Conc(I,J,L), & MK(:,SRTNH4) ) ENDIF CALL STORENM(Nk, Nkd, Mk, Mkd, Gc, Gcd) ! Establish an 30-bin array and accculate the total ! of the absorbing media. The choices can be: ! organic mass, surface area, organic+inorganic. (win, 3/5/08) MEDTOT = 0.e+0_fp MED = 0.e+0_fp mtot = 0.e+0_fp MKTOT(:) = 0.e+0_fp ! Accumulate the total absorbing media DO K = 1, IBINS DO JC = 1, ICOMP Mktot(k) = Mktot(k) + Mk(k,jc) ENDDO mtot = mtot + Mktot(k) if (absall.eq.1)then ! partition to all mass MED(K) = Mktot(k) MEDTOT = MEDTOT + Mktot(k) else MED(K) = Mk(k,srtocil) ! partition to just hydrophilic organic MEDTOT = MEDTOT + Mk(k,srtocil) endif ENDDO ! Fraction to each bin for mass partitioning ! Skip this if no absorbing media - bc, 20/01/2022 if (MEDTOT > 0.e+0_fp) then do k = 1,IBINS partfrac(k) = MED(K) / MEDTOT ! MSOA (kg SOA) become (kg SOA per ! total absorbing media) enddo ! Fraction to each bin for surface condensation call getCondSink(Nk,Mk,srtocil,CS,sinkfrac,surf_area, & BOXVOL,TEMPTMS, PRES) do k = 1,IBINS avgfrac(k)=soaareafrac*sinkfrac(k)+(1.e+0_fp-soaareafrac)*partfrac(k) enddo !temporary ntot = 0.e+0_fp do k = 1, ibins ntot = ntot + Nk(k) enddo !bc 21/01/2021 - prevent divide by zero as a test if (Ntot .LE. 0.e+0_fp) then ! set to some small negative print *, 'negative Ntot found', Ntot Ntot = 1.e-35_fp print *, 'new Ntot ', Ntot endif IF ( ( Mtot + MSOA ) / Ntot > XK(IBINS+1) / thresh ) THEN IF ( .not. SPINUP(14.0) ) THEN WRITE(*,*) 'Location: ',I,J,L WRITE(*,*) 'Mtot_&_Ntot: ',Mtot, Ntot IF ( MSOA > 5e+0_fp ) THEN CALL ERROR_STOP('Too few no. for SOAcond','SOACOND:1') ENDIF ELSE ! Put a limit on the amount of screen warnings that we get ! to keep logfile sizes low (bmy, 9/30/19) SOACOND_WARNING_CT = SOACOND_WARNING_CT + 1 IF ( SOACOND_WARNING_CT < SOACOND_WARNING_MAX ) THEN WRITE(*,*) 'SOACOND WARNING: SOA mass is being discarded' ENDIF GOTO 30 ENDIF ENDIF DO K = 1, IBINS MPO = 0.e+0_fp DO JC = 1, ICOMP-IDIAG MPO = MPO + MK(K,JC) ! Accumulate dry mass ENDDO MABS(K) = MSOA * avgfrac(K) IF ( Nk(K) > 0.e+0_fp ) THEN MPO = MPO / Nk(K) OCTAU(K) = 1.5e+0_fp * ( ( ( MPO + MABS(K)/Nk(K) ) ** TDT ) - & ( MPO ** TDT ) ) ! Error checking for negative Tau IF ( OCTAU(K) < 0.e+0_fp ) THEN IF ( ABS(OCTAU(K)) < 1.e+0_fp ) THEN ! change to tiny number instead of 0e+0_fp (win, 5/28/06) OCTAU(K)=1.e-50_fp ELSE PRINT *,' ######### Subroutine SOACOND: NEGATIVE TAU' PRINT *,'Error at',i,j,l,'bin',k PRINT *,'octau(k)',octau(k) CALL ERROR_STOP( 'Negative Tau','SOACOND:2' ) ENDIF ENDIF ELSE OCTAU(K) = 0.e+0_fp ENDIF ENDDO ! Call condensation algorithm ! Swap into Nko, Mko Mko(:,:) = 0.e+0_fp DO K = 1, IBINS Nko(K) = Nk(K) DO JC = 1, ICOMP-IDIAG ! Now do SOA condensation "dry" Mko(K,JC) = Mk(K,JC) ! dry mass excl. nh4 ENDDO ENDDO !debug if(i==24.and.j==13) pdbg = .true. CALL TMCOND( OCTAU, XK, Mko, Nko, Mkf, Nkf, SRTOCIL, PDBG, MABS ) ! ----------- JRP ADD MNFIX...This is for xSOA (JKodros 6/2/15) -------- if (pdbg) negvalue=.true. !signal received to printdebug (win, 4/8/06) call mnfix(Nkf,Mkf,negvalue) ! bug fix call argument !(win, 4/15/06) ! Add call argument to carry tell where mnfix !found if(negvalue) STOP 'MNFIX terminate' !(win, 9/12/05) ! the negative value (win, 9/12/05) !----------------------------------------------------------------------- IF( PDBG ) THEN !print 12, I,J,L 12 FORMAT( 'Error in SOAcond at ', 3I4 ) if( .not. SPINUP(60.) )write(116,*) 'Error in SOACOND at',i,j,l ELSE PDBG = .false. ENDIF ! Swap out of Nkf, Mkf DO K = 1, IBINS Nk(k)=Nkf(k) DO JC = 1, ICOMP-IDIAG Mk(K,JC) = Mkf(K,JC) ENDDO ENDDO elseif ( .not. SPINUP(60.0) ) THEN IF ( MSOA > 5e+0_fp ) THEN CALL ERROR_STOP('Too few no. for SOAcond','SOACOND:10') ENDIF else ! Put a limit on the amount of screen warnings that we get ! to keep logfile sizes low (bmy, 9/30/19) SOACOND_WARNING_CT = SOACOND_WARNING_CT + 1 IF ( SOACOND_WARNING_CT < SOACOND_WARNING_MAX ) THEN WRITE(*,*) 'SOACOND WARNING: SOA mass is being discarded' ENDIF endif ! bc, 13/01/22 medtot can be low on spinup 30 CONTINUE ! Save changes to diagnostic MPNUM = 6 IF ( State_Diag%Archive_TomasSOAmass .or. & State_Diag%Archive_TomasSOAnumber ) THEN CALL AERODIAG( MPNUM, I, J, L, Nk, Nkd, Mk, Mkd, BOXMASS, & State_Grid, State_Diag ) ENDIF ! Fix any inconsistencies in M/N distribution !this never happened? ! Swap Nk and Mk arrays back to Spc array DO K = 1, IBINS TRACNUM = id_NK01 - 1 + K Spc(TRACNUM)%Conc(I,J,L) = Nk(K) DO JC = 1, ICOMP-IDIAG TRACNUM = id_NK01 - 1 + K + IBINS*JC Spc(TRACNUM)%Conc(I,J,L) = Mk(K,JC) ENDDO Spc(id_AW01-1+K)%Conc(I,J,L) = Mk(K,SRTH2O) ENDDO ! Free pointer memory Spc => NULL() END SUBROUTINE SOACOND !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: multicoag ! ! !DESCRIPTION: !\\ !\\ ! !INTERFACE: ! SUBROUTINE MULTICOAG( DT, Nk, Mk, BOXVOL, PRES, TEMPTMS, PDBG ) ! ! !INPUT PARAMETERS: ! REAL*4, INTENT(IN) :: DT ! Time step (s) REAL*4, INTENT(IN) :: PRES REAL*4, INTENT(IN) :: TEMPTMS REAL*4, INTENT(IN) :: BOXVOL ! ! !INPUT/OUTPUT PARAMETERS: ! REAL(fp), INTENT(INOUT) :: Nk(IBINS) REAL(fp), INTENT(INOUT) :: Mk(IBINS, ICOMP) LOGICAL, INTENT(INOUT) :: PDBG ! For signalling print debug ! ! !REMARKS: ! Some key variables ! kij represents the coagulation coefficient (cm3/s) normalized by the ! volume of the GCM grid cell (boxvol, cm3) such that its units are (s-1) ! dNdt and dMdt are the rates of change of Nk and Mk. xk contains ! the mass boundaries of the size bins. xbar is the average mass ! of a given size bin (it varies with time in this algorithm). phi ! and eff are defined in the reference, equations 13a and b. ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: K, J, I, JJ REAL(fp) :: dNdt(ibins), dMdt(ibins,icomp-idiag) REAL(fp) :: xbar(ibins), phi(ibins), eff(ibins) REAL*4 :: kij(ibins,ibins) REAL*4 :: Dpk(ibins) !diameter (m) of particles in bin k REAL*4 :: Dk(ibins) !Diffusivity (m2/s) of bin k particles REAL*4 :: ck(ibins) !Mean velocity (m/2) of bin k particles REAL*4 :: olddiff !used to iterate to find diffusivity REAL*4 :: density !density (kg/m3) of particles REAL*4 :: mu !viscosity of air (kg/m s) REAL*4 :: mfp !mean free path of air molecule (m) REAL*4 :: Kn !Knudsen number of particle REAL(fp) :: mp !particle mass (kg) REAL*4 :: beta !correction for coagulation coeff. ! real(fp), external :: aerodens ! try change to double precision (win, 1/4/06) !temporary summation variables REAL(fp) :: k1m(icomp-idiag),k1mx(icomp-idiag) REAL(fp) :: k1mx2(icomp-idiag) REAL(fp) :: k1mtot,k1mxtot REAL(fp) :: sk2mtot, sk2mxtot REAL(fp) :: sk2m(icomp-idiag), sk2mx(icomp-idiag) REAL(fp) :: sk2mx2(icomp-idiag) REAL(fp) :: High_in REAL(fp) :: mtotal, mktot REAL*4 :: zeta !see reference, eqn 6 REAL*4 :: tlimit, dtlimit, itlimit !fractional change in M/N allowed in one time step REAL*4 :: dts !internal time step (
!write(6,*)'+++ Nk(1:30) =',Nk(1:30) !write(6,*)'+++ Mk(1:30,SO4)=',Mk(1:30,srtso4) !write(6,*)'+++ Mk(1:30,H2O)=',Mk(1:30,srth2o) if (pdbg) call debugprint(Nk,Mk,0,0,0,'Inside MULTICOAG') ! Calculate particle sizes and diffusivities do k=1,ibins IF ( SRTNH4 > 0 ) THEN M_NH4 = Mk(k,SRTNH4) ELSE M_NH4 = 0.1875e+0_fp*Mk(k,srtso4) !assume bisulfate ENDIF !tmp write(6,*)'+++ multicoag: Mk(',k,'srtso4)=',Mk(k,srtso4) density=aerodens(Mk(k,srtso4),0.e+0_fp, M_NH4, & Mk(k,srtnacl), Mk(k,srtecil), Mk(k,srtecob), & Mk(k,srtocil), Mk(k,srtocob), Mk(k,srtdust), & Mk(k,srth2o)) !use Mk for sea salt mass(win, 4/18/06) !Update mp calculation to include all species (win, 4/18/06) !prior to 9/26/08 (win) !Mktot=0.1875e+0_fp*Mk(k,srtso4) !start with NH4 mass Mktot = M_NH4 ! start with ammonium (win, 9/26/08) Mktot = Mktot + Mk(k,srth2o) ! then include water do j=1, icomp-idiag Mktot=Mktot+Mk(k,j) enddo mp=Mktot/Nk(k) Dpk(k)=((mp/density)*(6./pi))**(0.333) Kn=2.0*mfp/Dpk(k) !S&P Table 12.1 Dk(k)=kB*temptms/(3.0*pi*mu*Dpk(k)) & !S&P Table 12.1 *((5.0+4.0*Kn+6.0*Kn**2+18.0*Kn**3)/(5.0-Kn+(8.0+pi)*Kn**2)) ck(k)=sqrt(8.0*kB*temptms/(pi*mp)) !S&P Table 12.1 enddo ! Calculate coagulation coefficients do i=1,ibins do j=1,ibins Kn=4.0*(Dk(i)+Dk(j)) & /(sqrt(ck(i)**2+ck(j)**2)*(Dpk(i)+Dpk(j))) !S&P eqn 12.51 beta=(1.0+Kn)/(1.0+2.0*Kn*(1.0+Kn)) !S&P eqn 12.50 !This is S&P eqn 12.46 with non-continuum correction, beta kij(i,j)=2.0*pi*(Dpk(i)+Dpk(j))*(Dk(i)+Dk(j))*beta kij(i,j)=kij(i,j)*1.0e+6_fp/boxvol !normalize by grid cell volume enddo enddo 10 continue !repeat process here if multiple time steps are needed if(pdbg) print*,'In the time steps loop +++++++++++++' ! Calculate xbar, phi and eff #if defined(TOMAS12) || defined(TOMAS15) do k=1,ibins xbar(k)=0.0 do j=1,icomp-idiag xbar(k)=xbar(k)+Mk(k,j)/Nk(k) !eqn 8b enddo if(k.lt.ibins-1)then !from 1 to 10 bins eff(k)=2./9.*Nk(k)/xk(k) *(4.-xbar(k)/xk(k)) !eqn 4 in tzivion 1999 phi(k)=2./9.*Nk(k)/xk(k) *(xbar(k)/xk(k)-1.) !eqn 4 in tzivion 1999 !Constraints in equation 15 if (xbar(k) .lt. xk(k)) then eff(k)=2./3.*Nk(k)/xk(k) phi(k)=0.0 else if (xbar(k) .gt. xk(k+1)) then phi(k)=2./3.*Nk(k)/xk(k) eff(k)=0.0 endif else ! from 11 bins to 12 bins eff(k)=2./31./31.*Nk(k)/xk(k) & *(32.-xbar(k)/xk(k)) !eqn 4 in tzivion 1999 phi(k)=2./31./31.*Nk(k)/xk(k) & *(xbar(k)/xk(k)-1.) !eqn 4 in tzivion 1999 !Constraints in equation 15 if (xbar(k) .lt. xk(k)) then eff(k)=2./31.*Nk(k)/xk(k) phi(k)=0.0 else if (xbar(k) .gt. xk(k+1)) then phi(k)=2./31.*Nk(k)/xk(k) eff(k)=0.0 endif endif enddo #else do k=1,ibins xbar(k)=0.0 do j=1,icomp-idiag xbar(k)=xbar(k)+Mk(k,j)/Nk(k) !eqn 8b enddo eff(k)=2.*Nk(k)/xk(k)*(2.-xbar(k)/xk(k)) !eqn 13a phi(k)=2.*Nk(k)/xk(k)*(xbar(k)/xk(k)-1.) !eqn 13b !Constraints in equation 15 if (xbar(k) .lt. xk(k)) then eff(k)=2.*Nk(k)/xk(k) phi(k)=0.0 else if (xbar(k) .gt. xk(k+1)) then phi(k)=2.*Nk(k)/xk(k) eff(k)=0.0 endif enddo #endif ! Necessary initializations sk2mtot=0.0 sk2mxtot=0.0 do j=1,icomp-idiag sk2m(j)=0.0 sk2mx(j)=0.0 sk2mx2(j)=0.0 enddo ! Calculate rates of change for Nk and Mk do k=1,ibins !Initialize to zero do j=1,icomp-idiag k1m(j)=0.0 k1mx(j)=0.0 k1mx2(j)=0.0 enddo High_in=0.0 k1mtot=0.0 k1mxtot=0.0 !Calculate sums #if defined(TOMAS12) || defined(TOMAS15) do j=1,icomp-idiag if (k .gt. 1.and.k.lt.ibins) then do i=1,k-1 k1m(j)=k1m(j)+kij(k,i)*Mk(i,j) k1mx(j)=k1mx(j)+kij(k,i)*Mk(i,j)*xbar(i)*zeta k1mx2(j)=k1mx2(j)+kij(k,i)*Mk(i,j)*xbar(i)**2.*zeta**3. enddo elseif(k.eq.ibins)then k1m(j)= sk2m(j)+kij(k,k-1)*Mk(k-1,j) k1mx(j)=sk2mx(j)+kij(k,k-1)*Mk(k-1,j)*xbar(k-1)*4.754 k1mx2(j)=sk2mx2(j)+kij(k,k-1)*Mk(k-1,j)*xbar(k-1)**2.*107.4365 endif k1mtot=k1mtot+k1m(j) k1mxtot=k1mxtot+k1mx(j) enddo #else do j=1,icomp-idiag if (k .gt. 1) then do i=1,k-1 k1m(j)=k1m(j)+kij(k,i)*Mk(i,j) k1mx(j)=k1mx(j)+kij(k,i)*Mk(i,j)*xbar(i) k1mx2(j)=k1mx2(j)+kij(k,i)*Mk(i,j)*xbar(i)**2 enddo endif k1mtot=k1mtot+k1m(j) k1mxtot=k1mxtot+k1mx(j) enddo #endif if (k .lt. ibins) then do i=k+1,ibins High_in=High_in+Nk(i)*kij(k,i) enddo endif !Calculate rates of change #if defined(TOMAS12) || defined(TOMAS15) if(k.lt.ibins-1)then dNdt(k)= -Nk(k)*High_in-kij(k,k)*Nk(k)**2.*1.125 & -(phi(k)*k1mtot+(eff(k)-phi(k))/6./xk(k)*k1mxtot) & -kij(k,k)*(phi(k)/3.*xbar(k)*Nk(k)+(eff(k)-phi(k))/18. & /xk(k)*zeta*xbar(k)*xbar(k)*Nk(k)) if (k .gt. 1) then !yhl Nk*low_in changes to -0.5*Kij*Nk**2. dNdt(k)=dNdt(k)+0.625*kij(k-1,k-1)*Nk(k-1)**2 & +(phi(k-1)*sk2mtot+(eff(k-1)-phi(k-1))/6./xk(k-1) & *sk2mxtot) & +kij(k-1,k-1)*(phi(k-1)/3.*xbar(k-1)*Nk(k-1)+(eff(k-1) & -phi(k-1))/18./xk(k-1)*zeta*xbar(k-1)*xbar(k-1) & *Nk(k-1)) endif do j=1,icomp-idiag dMdt(k,j)= Nk(k)*k1m(j)-Mk(k,j)*High_in & ! !term5,term6 -(phi(k)*xk(k+1)*k1m(j)+ & (eff(k)+2.*phi(k))/6.*k1mx(j) & +(eff(k)-phi(k))/6./xk(k)*k1mx2(j)) & ! term3 - kij(k,k)*Nk(k)*Mk(k,j)/3. & ! I assume 1/2Nk and 2/3Mk for half bin - kij(k,k)*(phi(k)*xk(k+1)*Mk(k,j)/3. & +(eff(k)+2.*phi(k))/6.*zeta*xbar(k)*Mk(k,j)/3. & +(eff(k)-phi(k))/6./xk(k)*zeta**3.*xbar(k)**2. & *Mk(k,j)/3.) !yhl Term9(-kij(k,k)*Nk(k)*Mk(k,j)) is cancled out by term6 (k) if (k .gt. 1) then dMdt(k,j)=dMdt(k,j) & +(phi(k-1)*xk(k)*sk2m(j)+(eff(k-1) & +2.*phi(k-1))/6.*sk2mx(j) & +(eff(k-1)-phi(k-1))/6./xk(k-1)*sk2mx2(j)) & !term1 +kij(k-1,k-1)*Nk(k-1)*Mk(k-1,j)/3. & +kij(k-1,k-1)*(phi(k-1)*xk(k)*Mk(k-1,j)/3. & +(eff(k-1)+2.*phi(k-1))/6.*zeta & *xbar(k-1)*Mk(k-1,j)/3.+(eff(k-1)-phi(k-1))/6. & /xk(k-1)*zeta**3.*xbar(k-1)**2.*Mk(k-1,j)/3.) endif enddo else if (k.eq.ibins-1)then dNdt(k)=0.625*kij(k-1,k-1)*Nk(k-1)**2 & +(phi(k-1)*sk2mtot+(eff(k-1)-phi(k-1))/6./xk(k-1) & *sk2mxtot) & +kij(k-1,k-1)*xbar(k-1)*Nk(k-1)/3.*(phi(k-1) & +(eff(k-1) & -phi(k-1))/6./xk(k-1)*zeta*xbar(k-1)) !yhl updated the following dNdt(k)=dNdt(k)-Nk(k)*High_in-kij(k,k)*Nk(k)**2.*1.02 & -(phi(k)*k1mtot+(eff(k)-phi(k))/62./xk(k)*k1mxtot) & -kij(k,k)*xbar(k)*Nk(k)*0.484*(phi(k)+(eff(k) & -phi(k))/62./xk(k)*4.754*xbar(k)) !yhl I am not sure how it bring 0.5*kij(k-1,k-1)*Nk(k-1)**2 here. But !yhl It results in much closer result as 30 bins. Apr.27.08 do j=1,icomp-idiag dMdt(k,j)= & +(phi(k-1)*xk(k)*sk2m(j)+(eff(k-1) & +2.*phi(k-1))/6.*sk2mx(j) & +(eff(k-1)-phi(k-1))/6./xk(k-1)*sk2mx2(j)) & !term1 +kij(k-1,k-1)*Nk(k-1)*Mk(k-1,j)/3. & +kij(k-1,k-1)*(phi(k-1)*xk(k)*Mk(k-1,j)/3. & +(eff(k-1)+2.*phi(k-1))/6.*zeta & *xbar(k-1)*Mk(k-1,j)/3.+(eff(k-1)-phi(k-1))/6. & /xk(k-1)*zeta**3.*xbar(k-1)**2.*Mk(k-1,j)/3.) !yhl updated the following dMdt(k,j)= dMdt(k,j)+Nk(k)*k1m(j)-Mk(k,j)*High_in & ! !term5,term6 -(phi(k)*xk(k+1)*k1m(j)+(eff(k)/62.+0.484*phi(k)) & *k1mx(j)+(eff(k)-phi(k))/62./xk(k)*k1mx2(j)) & ! term3 -kij(k,k)*Nk(k)*Mk(k,j)*0.103226 & ! I assume 1/2Nk and 2/3Mk for half bin -kij(k,k)*Mk(k,j)*0.484*(phi(k)*xk(k+1)+(eff(k)/62. & +0.484*phi(k))*4.754*xbar(k) & +(eff(k)-phi(k))/62./xk(k)*107.4365*xbar(k)**2.) enddo else if (k.eq.ibins)then dNdt(k)=-Nk(k)*High_in-kij(k,k)*Nk(k)**2.*1.103226 & -(phi(k)*k1mtot+(eff(k)-phi(k))/62./xk(k)*k1mxtot) & -kij(k,k)*0.484*xbar(k)*Nk(k)*(phi(k)+(eff(k)-phi(k)) & /62./xk(k)*4.754*xbar(k)) & +0.52*kij(k-1,k-1)*Nk(k-1)**2 & +(phi(k-1)*sk2mtot+(eff(k-1)-phi(k-1))/62./xk(k-1) & *sk2mxtot) & +kij(k-1,k-1)*xbar(k-1)*Nk(k-1)*0.484*(phi(k-1) & +(eff(k-1) & -phi(k-1))/62./xk(k-1)*4.754*xbar(k-1)) do j=1,icomp-idiag dMdt(k,j)= Nk(k)*k1m(j)-Mk(k,j)*High_in & ! !term5,term6 -(phi(k)*xk(k+1)*k1m(j)+(eff(k)/62.+0.484 & *phi(k))*k1mx(j) & +(eff(k)-phi(k))/62./xk(k)*k1mx2(j)) & ! term3 -kij(k,k)*Nk(k)*Mk(k,j)*0.103226 & ! I assume 1/2Nk and 2/3Mk for half bin -kij(k,k)*Mk(k,j)*0.484*(phi(k)*xk(k+1)+(eff(k)/62. & +0.484*phi(k))*4.754*xbar(k) & +(eff(k)-phi(k))/62./xk(k)*107.4365*xbar(k)**2.) & +(phi(k-1)*xk(k)*sk2m(j)+(eff(k-1)/62.+0.484 & *phi(k-1)) & *sk2mx(j)+(eff(k-1)-phi(k-1))/62./xk(k-1)*sk2mx2(j)) & !term1 +kij(k-1,k-1)*Nk(k-1)*Mk(k-1,j)*0.103226 & +kij(k-1,k-1)*Mk(k-1,j)*0.484*(phi(k-1)*xk(k) & +(eff(k-1)/62.+0.484*phi(k-1))*4.754*xbar(k-1) & +(eff(k-1)-phi(k-1))/62./xk(k-1)*107.4365 & *xbar(k-1)**2.) enddo endif #else dNdt(k)= & -kij(k,k)*Nk(k)**2 & -phi(k)*k1mtot & -zeta*(eff(k)-phi(k))/(2*xk(k))*k1mxtot & -Nk(k)*High_in if (k .gt. 1) then dNdt(k)=dNdt(k)+ & 0.5*kij(k-1,k-1)*Nk(k-1)**2 & +phi(k-1)*sk2mtot & +zeta*(eff(k-1)-phi(k-1))/(2*xk(k-1))*sk2mxtot endif do j=1,icomp-idiag dMdt(k,j)= & +Nk(k)*k1m(j) & -kij(k,k)*Nk(k)*Mk(k,j) & -Mk(k,j)*High_in & -phi(k)*xk(k+1)*k1m(j) & -0.5*zeta*eff(k)*k1mx(j) & +zeta**3*(phi(k)-eff(k))/(2*xk(k))*k1mx2(j) if (k .gt. 1) then dMdt(k,j)=dMdt(k,j)+ & kij(k-1,k-1)*Nk(k-1)*Mk(k-1,j) & +phi(k-1)*xk(k)*sk2m(j) & +0.5*zeta*eff(k-1)*sk2mx(j) & -zeta**3*(phi(k-1)-eff(k-1))/(2*xk(k-1))*sk2mx2(j) endif !dbg if (j. eq. srtso4) then !dbg if (k. gt. 1) then !dbg write(*,1) Nk(k)*k1m(j), kij(k,k)*Nk(k)*Mk(k,j), & !dbg Mk(k,j)*in, phi(k)*xk(k+1)*k1m(j), & !dbg 0.5*zeta*eff(k)*k1mx(j), & !dbg zeta**3*(phi(k)-eff(k))/(2*xk(k))*k1mx2(j), & !dbg kij(k-1,k-1)*Nk(k-1)*Mk(k-1,j), & !dbg phi(k-1)*xk(k)*sk2m(j), & !dbg 0.5*zeta*eff(k-1)*sk2mx(j), & !dbg zeta**3*(phi(k-1)-eff(k-1))/(2*xk(k-1))*sk2mx2(j) !dbg else !dbg write(*,1) Nk(k)*k1m(j), kij(k,k)*Nk(k)*Mk(k,j), & !dbg Mk(k,j)*in, phi(k)*xk(k+1)*k1m(j), & !dbg 0.5*zeta*eff(k)*k1mx(j), & !dbg zeta**3*(phi(k)-eff(k))/(2*xk(k))*k1mx2(j) !dbg endif !dbg endif enddo #endif !dbg if(pdbg) write(*,*) 'k,dNdt,dMdt: ', k, dNdt(k), dMdt(k,srtso4) !Save the summations that are needed for the next size bin sk2mtot=k1mtot sk2mxtot=k1mxtot do j=1,icomp-idiag sk2m(j)=k1m(j) sk2mx(j)=k1mx(j) sk2mx2(j)=k1mx2(j) enddo enddo !end of main k loop ! Update Nk and Mk according to rates of change and time step !If any Mkj are zero, add a small amount to achieve finite !time steps do k=1,ibins do j=1,icomp-idiag if (Mk(k,j) .eq. 0.e+0_fp) then !add a small amount of mass mtotal=0.e+0_fp do jj=1,icomp-idiag mtotal=mtotal+Mk(k,jj) enddo Mk(k,j)=1.e-10_fp*mtotal endif enddo enddo call mnfix(NK, MK, PDBG) !Choose time step dts=dt-tsum !try to take entire remaining time step limit='comp' do k=1,ibins if(pdbg) print*,'At bin ',k if (Nk(k) .gt. Neps) then !limit rates of change for this bin if (dNdt(k) .lt. 0.0) tlimit=dtlimit if (dNdt(k) .gt. 0.0) tlimit=itlimit if (abs(dNdt(k)*dts) .gt. Nk(k)*tlimit) then dts=Nk(k)*tlimit/abs(dNdt(k)) if(pdbg) print*,'tlimit',tlimit,'Nk(',k,')',Nk(k), & 'dNdt',dNdt(k), ' == dts ',dts limit='number' if(pdbg) write(limit(8:9),'(I2)') k if(pdbg) write(*,*) Nk(k), dNdt(k) endif do j=1,icomp-idiag !limit rates of change x(win, 4/22/06) if (dMdt(k,j) .lt. 0.0) tlimit=dtlimit if (dMdt(k,j) .gt. 0.0) tlimit=itlimit if (abs(dMdt(k,j)*dts) .gt. Mk(k,j)*tlimit) then mtotal=0.e+0_fp do jj=1,icomp-idiag mtotal=mtotal+Mk(k,jj) enddo !only use this criteria if this species is significant if ((Mk(k,j)/mtotal) .gt. 1.e-5_fp) then dts=Mk(k,j)*tlimit/abs(dMdt(k,j)) if(pdbg) print*,'tlimit',tlimit,'Mk(',k,j,')',Mk(k,j), & 'dMdt',dMdt(k,j), ' == dts ',dts else if (dMdt(k,j) .lt. 0.0) then !set dmdt to 0 to avoid very small mk going negative dMdt(k,j)=0.0 if(pdbg) print*,' dMdt(k,j) < 0 ' endif endif limit='mass' if(pdbg) write(limit(6:7),'(I2)') k if(pdbg) write(limit(9:9),'(I1)') j if(pdbg) write(*,*) Mk(k,j), dMdt(k,j) endif enddo else !nothing in this bin - don't let it affect time step Nk(k)=Neps #if defined(TOMAS12) || defined(TOMAS15) Mk(k,srtso4)=Neps*sqrt(xk(k)*xk(k+1)) !make the added particles SO4 #else Mk(k,srtso4)=Neps*1.4e+0_fp*xk(k) !make the added particles SO4 #endif !make sure mass/number don't go negative if (dNdt(k) .lt. 0.0) dNdt(k)=0.0 if (pdbg) print*,' dNdt(k) < 0 ' do j=1,icomp-idiag if (dMdt(k,j) .lt. 0.0) dMdt(k,j)=0.0 enddo endif enddo !loop bin if (pdbg .and. dts .lt. 1. ) then write(*,*), dts, 'dts < 1. in multicoag' endif if (dts .eq. 0.) then write(*,*) 'time step is 0 in multicoag - inf/nan/tiny error' !pause do k = 1,ibins print *, 'dNdt(k)', dNdt(k) print *, 'dMdt(k,j)' do j = 1,icomp - idiag print *, dMdt(k,j) end do end do call debugprint(nk, mk, 0,0,0,'MULTICOAG before terminate: dts=0') PDBG = .true. return !stop !go to 20 endif !Change Nk and Mk !dbg if(pdbg) write(*,*) 'tsum=',tsum+dts,' ',limit do k=1,ibins Nk(k)=Nk(k)+dNdt(k)*dts do j=1,icomp-idiag Mk(k,j)=Mk(k,j)+dMdt(k,j)*dts enddo enddo !Update time and repeat process if necessary tsum=tsum+dts if (tsum .lt. dt) then !print*,'tsum',tsum, 'less than 3600. loop again' goto 10 endif RETURN END SUBROUTINE MULTICOAG !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: so4cond ! ! !DESCRIPTION: Subroutine SO4COND determines the condensational driving force ! for mass transfer of sulfate between gas and aerosol phases. It then calls ! a mass- and number-conserving algorithm for condensation (/evaporation) of ! aerosol. ! . ! An adaptive time step is used to prevent numerical difficulties. ! To account for the changing gas phase concentration of sulfuric ! acid, its decrease during a condensational time step is well- ! approximated by an exponential decay with a constant, sK (Hz). ! sK is calculated from the mass and number distribution of the ! aerosol. Not only does this approach accurately take into account ! the changing sulfuric acid concentration, it is also used to ! predict (and limit) the final sulfuric acid concentration. This ! approach is more accurate and faster (allows longer condensational ! time steps) than assuming a constant supersaturation of sulfate. ! . ! Written by Peter Adams, June 2000, based on thermocond.f ! Introduced to GEOS-CHEM by Win Trivitayanurak (win@cmu.edu) July 2007 !\\ !\\ ! !INTERFACE: ! SUBROUTINE SO4COND(Nki,Mki,Gci,Nkf,Mkf,Gcf,dt, & BOXVOL, BOXMASS, TEMPTMS, PRES, RHTOMAS, errspot) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD ! ! !INPUT PARAMETERS: ! ! Initial values of ! Nki(ibins) - number of particles per size bin in grid cell ! Mki(ibins, icomp) - mass of a given species per size bin/grid cell ! Gci(icomp-1) - amount (kg/grid cell) of all species present in the ! gas phase except water ! dt - total model time step to be taken (s) REAL(fp) :: Nki(ibins), Mki(ibins, icomp), Gci(icomp-1) REAL*4 :: dt LOGICAL :: errspot REAL*4, INTENT(IN) :: BOXVOL, BOXMASS, TEMPTMS REAL*4, INTENT(IN) :: PRES, RHTOMAS ! ! !OUTPUT PARAMETERS: ! ! Nkf, Mkf, Gcf - same as above, but final values REAL(fp) :: Nkf(ibins), Mkf(ibins, icomp), Gcf(icomp-1) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) :: dp(ibins, icomp-1) !Driving force for condensation (Pa) REAL(fp) :: tau(ibins) !condensation parameter (see cond) REAL(fp) :: atau(ibins, icomp) !same as tau, but all species REAL(fp) :: atauc(ibins, icomp) !same as atau, but for const dp REAL*4 :: time !amount of time (s) that has been simulated REAL*4 :: cdt !internal, adaptive time step REAL*4 :: mu !viscosity of air (kg/m s) REAL*4 :: mfp !mean free path of air molecule (m) REAL*4 :: Kn !Knudsen number of particle REAL*4 :: Dpk(ibins) !diameter (m) of particles in bin k REAL*4 :: density !density (kg/m3) of particles INTEGER :: j,k,jj,kk !counters REAL(fp) :: tj(icomp-1), tk(ibins) !factors used for calculating tau REAL(fp) :: sK !exponential decay const for H2SO4(g) REAL(fp) :: pi, R !constants REAL(fp) :: zeta13 !from Eqn B30 of Tzivion et al. (1989) REAL*4 ::Di !diffusivity of gas in air (m2/s) REAL*4 ::gmw(icomp-1) !molecular weight of condensing gas REAL*4 ::Sv(icomp-1) !parameter used for estimating diffusivity REAL*4 ::alpha(icomp-1) !accomodation coefficients REAL*4 ::beta !correction for non-continuum REAL(fp) :: mp !particle mass (kg) REAL(fp) :: Nko(ibins), Mko(ibins, icomp), Gco(icomp-1) !output of cond routine REAL(fp) :: mi, mf !initial and final aerosol masses (updates Gc) REAL(fp) :: tr ! used to calculate time step limits REAL(fp) :: mc, ttr REAL(fp) :: Neps !value below which Nk is insignificant REAL(fp) :: cthresh !determines minimum gas conc. for cond. !dbg character*12 limit !description of what limits time step REAL(fp) :: tdt !the value 2/3 REAL(fp) :: Ntotf, Ntoto, dNerr !used to track number cons. !dbg integer numcalls !number of times cond routine is called REAL(fp) :: Mktot ! total mass (win, 4/14/06) REAL(fp) :: zeros(IBINS) LOGICAL :: negvalue ! negative check variable LOGICAL :: printdebug ! signal received from aerophys to print values for debug (win, 4/8/06) LOGICAL :: tempvar ! just a temporary variable (win, 4/12/06) !REAL(fp), EXTERNAL :: AERODENS !REAL, EXTERNAL :: GASDIFF PARAMETER(PI=3.141592654, R=8.314) !pi and gas constant (J/mol K) PARAMETER(Neps=1.0e10_fp, zeta13=0.98483, cthresh=1.e-16_fp) !================================================================= ! SO4COND begins here! !================================================================= negvalue = .false. printdebug = .false. tempvar = .false. ! Set some constants ! Note: Could have declare this using DATA statement but don't want to ! keep modifying when changing the multi-component mass species DO J = 1, ICOMP-1 IF( J == SRTSO4 ) THEN gmw(J) = 98. Sv(J) = 42.88 alpha(J)= 0.65 !alpha from U. Poschl et al., J. Phys. Chem. A, 102, 10082-10089, 1998 ELSE IF( J == SRTNACL ) THEN gmw(J) = 0. Sv(J) = 42.88 !use 42.88 for all components following Jeff Pierce's code (win,9/26/08) alpha(J)= 0. ELSE IF( J == SRTECOB .or. J == SRTECIL .or. & J == SRTOCOB .or. J == SRTOCIL ) THEN gmw(J) = 12. ! check these values with Jeff again (win, 8/22/07) Sv(J) = 42.88 alpha(J)= 0. ELSE IF( J == SRTDUST ) THEN gmw(J) = 0. Sv(J) = 42.88 alpha(J)= 0. ELSE IF( J == SRTNH4 ) THEN gmw(J) = 0. Sv(J) = 42.88 alpha(J)= 0. ELSE PRINT *, 'Modify SO4cond for the new species' CALL ERROR_STOP('SO4COND','Need values for Gmw, Sv, alpha') ENDIF ENDDO !dbg numcalls=0 printdebug = errspot !taking the signal to printdebug from aerophys (win, 4/8/06) errspot = .true. ! Flag for showing error location outside this subroutine (win,9/21/05) dNerr=0.0 tdt=2.e+0_fp/3.e+0_fp ! Initialize values of Nkf, Mkf, Gcf, and time !-------------------------------------------------- TIME = 0.0 !subroutine exits when time=dt DO J = 1, ICOMP-1 GCF(J) = GCI(J) ENDDO DO K = 1, IBINS NKF(K) = NKI(K) DO J = 1, ICOMP MKF(K,J) = MKI(K,J) ENDDO ENDDO !Leave everything the same if nothing to condense IF ( GCI(SRTSO4) < CTHRESH * BOXMASS ) GOTO 100 IF ( PRINTDEBUG ) PRINT*,'COND NOW: H2SO4=',Gci(srtso4) ! Repeat from this point if multiple internal time steps are needed !------------------------------------------------------------------ 10 CONTINUE ! Call thermodynamics to get dp forcings for volatile species do k=1,ibins do j = 1, icomp-1 dp(k,j)=0.0 enddo enddo ! Set dp for nonvolatile species do k=1,ibins ! correct the MW of Gcf(srtso4) to be 98. (win, 10/13/05) dp(k,srtso4)=(Gcf(srtso4)/98.)/(boxmass/28.9)*pres enddo ! Calculate tj and tk factors needed to calculate tau values mu=2.5277e-7*temptms**0.75302 mfp=2.0*mu/(pres*sqrt(8.0*0.0289/(pi*R*temptms))) !S&P eqn 8.6 do j=1,icomp-1 Di=gasdiff(temptms,pres,gmw(j),Sv(j)) tj(j)=2.*pi*Di*molwt(j)*1.0e-3_fp/(R*temptms) enddo sK=0.0e+0_fp do k=1,ibins if (Nkf(k) .gt. Neps) then density=aerodens(Mkf(k,srtso4),0.e+0_fp, & 0.1875e+0_fp*Mkf(k,srtso4),Mkf(k,srtnacl), & Mkf(k,srtecil), Mkf(k,srtecob), & Mkf(k,srtocil), Mkf(k,srtocob), & Mkf(k,srtdust), & Mkf(k,srth2o)) !factor of 1.2 assumes ammonium bisulfate !(NH4)H has MW of 19 which is = 0.2*96 !So the Mass of ammonium bisulfate = 1.2*mass sulfate !win, 4/14/06 mp=(1.2*Mkf(k,srtso4)+Mkf(k,srth2o))/Nkf(k) !Need to include new mass species in mp (win, 4/14/06) !Add 0.1875x first for ammonium, and then add 1.0x in the loop (win, 4/14/06) Mktot=0.1875e+0_fp*Mkf(k,srtso4) do j=1, icomp Mktot=Mktot+Mkf(k,j) enddo mp=Mktot/Nkf(k) else !nothing in this bin - set to "typical value" density=1500. #if defined(TOMAS12) || defined(TOMAS15) mp=sqrt(xk(k)*xk(k+1)) #else mp=1.4*xk(k) #endif endif Dpk(k)=((mp/density)*(6./pi))**(0.333) Kn=2.0*mfp/Dpk(k) !S&P eqn 11.35 (text) beta=(1.+Kn)/(1.+2.*Kn*(1.+Kn)/alpha(srtso4)) !S&P eqn 11.35 tk(k)=(6./(pi*density))**(1./3.)*beta if (Nkf(k) .gt. 0.0) then do kk=1,icomp sK=sK+tk(k)*Nkf(k)*(Mkf(k,kk)/Nkf(k))**(1.e+0_fp/3.e+0_fp) ! (win, 4/14/06) enddo endif enddo !bin loop sK=sK*zeta13*tj(srtso4)*R*temptms/(molwt(srtso4)*1.e-3_fp)/(boxvol*1.e-6_fp) ! Choose appropriate time step !Try to take full time step cdt=dt-time !dbg limit='complete' !Not more than 15 minutes if (cdt .gt. 900.) then cdt=900. !dbg limit='max' endif 20 continue !if time step is shortened, repeat from here !Calculate tau values for all species/bins do k=1,ibins do j=1,icomp atauc(k,j)=0.e+0_fp atau(k,j)=0.e+0_fp enddo !debug%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% if(printdebug)then write(*,*)'+++ k loop at',k ! write(*,*)'+++ tj(srtso4)', tj(srtso4) ! write(*,*)'+++ dp(k,srtso4)', dp(k,srtso4) ! write(*,*)'+++ tk(k)',tk(k) ! write(*,*)'+++ cdt',cdt ! endif !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% atauc(k,srtso4)=tj(srtso4)*tk(k)*dp(k,srtso4)*cdt if (sK .gt. 0.e+0_fp) then atau(k,srtso4)=tj(srtso4)*R*temptms/(molwt(srtso4)*1.e-3_fp) & /(boxvol*1.e-6_fp)*tk(k)*Gcf(srtso4)/sK & *(1.e+0_fp-exp(-1.e+0_fp*sK*cdt)) else !nothing to condense onto atau(k,srtso4)=0.e+0_fp endif enddo !debug%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% if (printdebug) then do j=1,icomp print *,'atauc(1:ibins,comp) at comp',j print *,atauc(1:ibins,j) print *,'atau(1:ibins,comp) at comp',j print *,atau(1:ibins,j) enddo endif !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !The following sections limit the condensation time step !when necessary. tr is a factor that describes by !how much to reduce the time step. tr=1.e+0_fp !make sure tr is double precision (win, 3/20/05) !Make sure masses of individual species don't change too much do j=1,icomp-1 do k=1,ibins if (Nkf(k) .gt. Neps) then mc=0.e+0_fp do jj=1,icomp mc=mc+Mkf(k,jj)/Nkf(k) enddo if (mc/xk(k) .gt. 1.0e-3_fp) then !species has significant mass in particle - limit change if (abs(atau(k,j))/mc**(2.e+0_fp/3.e+0_fp) > 0.1) then ttr=abs(atau(k,j))/mc**(2.e+0_fp/3.e+0_fp)/5.e-2_fp if (ttr .gt. tr) then tr=ttr !dbg limit='amass' !dbg write(limit(7:11),'(I2,X,I2)') k,j endif endif else !species is new to particle - set max time step if ((cdt/tr.gt.1.e-1_fp).and.(atau(k,j)>0.e+0_fp)) then tr=cdt/1.e-1_fp !Make sure tr is double precision (win,3/20/05) !dbg limit='nspec' !dbg write(limit(7:11),'(I2,X,I2)') k,j endif endif endif enddo !Make sure gas phase concentrations don't change too much if (exp(-1.e+0_fp*sK*cdt) .lt. 2.5e-1_fp) then ttr=-2.e+0_fp*cdt*sK/log(2.5e-1_fp) if (ttr .gt. tr) then tr=ttr !dbg limit='gphas' !dbg write(limit(7:8),'(I2)') j endif endif enddo !Never shorten timestep by less than half if (tr .gt. 1.e+0_fp) tr=max(tr,2.e+0_fp) !make sure tr is double precision (win,3/20/05) !Repeat for shorter time step if necessary if (tr .gt. 1.e+0_fp) then !make sure tr is double precision (win,3/20/05) cdt=cdt/tr goto 20 endif ! Call condensation subroutine to do mass transfer do j=1,icomp-1 !Loop over all aerosol components !debug%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% if(printdebug) print *,'Call condensation at comp',j !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !Swap tau values for this species into array for cond do k=1,ibins tau(k)=atau(k,j) enddo !dbg write(*,*) 'so4cond - time = ', time, ' ',limit !dbg if (j .eq. srtso4) then !dbg do k=1,ibins !dbg write(*,'(I3,4E12.4)') & !dbg k,sK,cdt,atauc(k,srtso4),atau(k,srtso4) !dbg enddo !dbg endif if (printdebug) negvalue=.true. !signal received to printdebug (win, 4/8/06) call mnfix(Nkf,Mkf,negvalue) ! bug fix call argument (win, 4/15/06) ! Add call argument to carry tell where mnfix found ! the negative value (win, 9/12/05) if ( negvalue ) STOP 'MNFIX terminate' !(win, 9/12/05) !Call condensation routine Ntotf=0.e+0_fp !Force double precision (win, 4/20/06) do k=1,ibins Ntotf=Ntotf+Nkf(k) enddo ! Skip tmcond call if there is absolutely no particle (win, 4/20/06) if(Ntotf.gt.0e+0_fp) then !debug%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% if(printdebug) print *,'=== Entering TMCOND ===' tempvar = printdebug !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% zeros(:) = 0.e+0_fp call tmcond(tau,xk,Mkf,Nkf,Mko,Nko,j,printdebug,zeros) !dbg numcalls=numcalls+1 errspot = printdebug !receive the error signal from inside tmcond (win,4/12/06) printdebug = tempvar !printdebug gets the originally assigned value (win, 4/12/06) !8/2/07 if(errspot) goto 100 !Exit so4cond right away when found error from tmcond. (win, 4/13/06) !Check for number conservation Ntoto=0.0 do k=1,ibins Ntoto=Ntoto+Nko(k) enddo !dbg write(*,*) 'Time=', time !dbg write(*,*) 'Ntoto=', Ntoto !dbg write(*,*) 'Ntotf=', Ntotf dNerr=dNerr+Ntotf-Ntoto if (abs(dNerr/Ntoto) .gt. 1.e-4) then write(*,*) 'ERROR in so4cond: Number not conserved' write(*,*) 'time=',time write(*,*) Ntoto, Ntotf write(*,*) (Nkf(k),k=1,ibins) errspot = .true. ! This flag will trigger printing of location with error (win, 9/21/05) endif else !(win, 4/20/06) if(printdebug) print *,'so4cond: Nk=0 -> skip tmcond' do k=1,ibins nko(k) = 0e+0_fp do jj=1,icomp-1 Mko(k,jj) = 0e+0_fp enddo enddo endif !(win, 4/20/06) if(printdebug) print *,'Initial gas conc:',Gcf(j) ! (win, 4/11/06) !Update gas phase concentration mi=0.0 mf=0.0 do k=1,ibins mi=mi+Mkf(k,j) mf=mf+Mko(k,j) enddo Gcf(j)=Gcf(j)+(mi-mf)*gmw(j)/molwt(j) if(printdebug) print *,'Updated gas conc:',Gcf(j) ! (win, 4/11/06) !Swap into Nkf, Mkf do k=1,ibins Nkf(k)=Nko(k) do jj=1,icomp-1 Mkf(k,jj)=Mko(k,jj) enddo enddo !Update water concentrations call ezwatereqm(Mkf, RHTOMAS) enddo ! Update time time=time+cdt !dbg write(*,*) 'so4cond - time = ', time, ' ',limit !dbg write(*,*) 'H2SO4(g)= ', Gcf(srtso4) if (Gcf(srtso4) .lt. 0.0) then if (abs(Gcf(srtso4)) .gt. 1.e-5_fp) then !Gcf is substantially less than zero - this is a problem write(*,*) 'ERROR in so4cond: H2SO4(g) < 0' write(*,*) 'time=',time write(*,*) 'Gcf()=',Gcf(srtso4) !4/11/06 STOP !Let the run STOP outside so4cond so I can know where the run died (win, 4/11/06) errspot=.true. !win, 4/11/06 else !Gcf is negligibly less than zero - probably roundoff error Gcf(srtso4)=0.0 endif endif ! Repeat process if necessary if (time .lt. dt) goto 10 !dbg write(*,*) 'Cond routine called ',numcalls,' times' !dbg write(*,*) 'Number cons. error was ', dNerr 100 continue !skip to here if there is no gas phase to condense RETURN END SUBROUTINE SO4COND !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: tmcond ! ! !DESCRIPTION: Subroutine TMCOND do condensation calculation. ! Original code from Peter Adams ! Modified for GEOS-CHEM by Win Trivitayaurak (win@cmu.edu) ! CONDENSATION ! Based on Tzivion, Feingold, Levin, JAS 1989 and ! Stevens, Feingold, Cotton, JAS 1996 !\\ !\\ ! !INTERFACE: ! SUBROUTINE TMCOND(TAU,X,AMKD,ANKD,AMK,ANK,CSPECIES,pdbug,moxd) ! ! !INPUT PARAMETERS: ! ! TAU(k) ...... Forcing for diffusion = (2/3)*CPT*ETA_BAR*DELTA_T ! X(K) ........ Array of bin limits in mass space ! AMKD(K,J) ... Input array of mass moments ! ANKD(K) ..... Input array of number moments ! CSPECIES .... Index of chemical species that is condensing REAL(fp) :: TAU(ibins) REAL(fp) :: X(ibins+1),AMKD(ibins,icomp),ANKD(ibins) INTEGER :: CSPECIES LOGICAL :: pdbug !(win, 4/10/06) REAL(fp) :: moxd(IBINS) ! condensing mass distributed to size bins ! according to the selected absorbing media (win, 3/5/08) ! ! !OUTPUT PARAMETERS: ! ! AMK(K,J) .... Output array of mass moments ! ANK(K) ...... Output array of number moments REAL(fp) :: AMK(ibins,icomp),ANK(ibins) ! ! !REMARKS: ! The supersaturation is calculated outside of the routine and assumed ! to be constant at its average value over the timestep. ! . ! The method has three basic components: ! (1) first a top hat representation of the distribution is construced ! in each bin and these are translated according to the analytic ! solutions ! (2) The translated tophats are then remapped to bins. Here if a ! top hat entirely or in part lies below the lowest bin it is ! not counted. ! . ! Additional notes (Peter Adams) ! . ! I have changed the routine to handle multicomponent aerosols. The ! arrays of mass moments are now two dimensional (size and species). ! Only a single component (CSPECIES) is allowed to condense during ! a given call to this routine. Multicomponent condensation/evaporation ! is accomplished via multiple calls. Variables YLC and YUC are ! similar to YL and YU except that they refer to the mass of the ! condensing species, rather than total aerosol mass. ! . ! I have removed ventilation variables (VSW/VNTF) from the subroutine ! call. They still exist internally within this subroutine, but ! are initialized such that they do nothing. ! . ! I have created a new variable, AMKDRY, which is the total mass in ! a size bin (sum of all chemical components excluding water). I ! have also created WR, which is the ratio of total wet mass to ! total dry mass in a size bin. ! . ! AMKC(k,j) is the total amount of mass after condensation of species ! j in particles that BEGAN in bin k. It is used as a diagnostic ! for tracking down numerical errors. ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: L,I,J,K,IMN REAL(fp) :: DN,DM,DYI,XL,XU,YL,YLC,YU,YUC REAL(fp) :: TEPS,NEPS,NEPS2,EX2,ZERO REAL(fp) :: XI,XX,XP,YM,WTH,W1,W2,WW,AVG REAL(fp) :: VSW,VNTF(ibins) REAL(fp) :: TAU_L, maxtau REAL(fp) :: AMKDRY(ibins), WR(ibins), AMKWET(ibins) REAL(fp) :: AMKDRYSOL(ibins) LOGICAL :: errspot !(win, 4/12/06) REAL(fp) :: c1, c2 !correction factor (win, 5/25/06) REAL(fp) :: madd(ibins) !condensing mass to be added by aqoxid !or SOAcond. For error fixing (win, 9/27/07) REAL(fp) :: xadd(ibins) !mass per particle to be added by aqoxid ! or SOAcond. For error fixing (win, 9/27/07) REAL(fp) :: macc !accumulating the condensing mass (win, 7/24/06) REAL(fp) :: delt1,delt2 !the delta = mass not conserved (win, 7/24/06) REAL(fp) :: dummy, xtra,maddtot ! for mass conserv fixing (win, 9/27/07) integer :: kk !counter (wint, 7/24/06) REAL(fp) :: AMKD_tot PARAMETER (TEPS=1.0e-40_fp,NEPS=1.0e-20_fp) PARAMETER (EX2=2.e+0_fp/3.e+0_fp,ZERO=0.0e+0_fp) PARAMETER (NEPS2=1.0e-10_fp) !================================================================= ! TMCOND begins here! !================================================================= 3 format(I4,200E20.11) ! This first check cause the error of 'number not conserved' ! though only with the small amounts because when ANKD(k) = 0.e+0_fp from start, ! the original check just give it a value NEPS = 1.d-20, and then undergo ! tmcond calculation. I'm changing the check to if ANKD(k)= 0.e+0_fp, ! then keep it that way and make the following calculations skip when ! ANKD(k) is zero (win, 10/18/05) ! If any ANKD are zero, set them to a small value to avoid division by zero !do k=1,ibins ! if (ANKD(k) .lt. NEPS) then ! ANKD(k)=NEPS ! AMKD(k,srtso4)=NEPS*1.4*xk(k) !make the added particles SO4 ! endif !enddo !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! Add print for debugging (win, 4/10/06) if (pdbug) then call debugprint(ANKD, AMKD, 0,0,0,'Entering TMCOND') ! print *, 'TMCOND:entering*************************' ! print *,'Nk(1:30)' ! print *, ANKD(1:30) ! print *,'Mk(1:30,comp)' ! do j=1,icomp ! print *,'comp',j ! print *, AMKD(1:30,j) ! enddo endif !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% errspot = .false. !initialize error signal as false (Win, 4/12/06) !pja Sometimes, after repeated condensation calls, the average bin mass !pja can be just above the bin boundary - in that case, transfer a some !pja to the next highest bin !sfarina this is also true when small particles are growing really fast? !sfarina SOACOND throws thousands of errors for XI < 1 !sfarina what this really means is AVG particle massfor bin k > XK(k+1) !sfarina through the debugger I found that mostly the difference is small do k=1,ibins-1 if ( ANKD(k) .lt. NEPS2) goto 300 ! (win, 10/18/05) ! Modify the check to include all dry mass (win, 10/3/08) AMKD_tot = 0.e+0_fp do kk=1,icomp-idiag AMKD_tot = AMKD_tot + AMKD(k,kk) enddo if ((AMKD_tot)/ANKD(k).gt.xk(k+1)) then !Prior to 10/3/08 (win) !if ((AMKD(k,srtso4))/ANKD(k).gt.xk(k+1)) then !sfarina: this does noting to help our avg mass per particle ! falling outside of bin boundaries: ! amkd_tot / ankd(k) = (amkd_tot * 0.9) / (ankd(k) * 0.9) ! we need to shift more mass than number. ! assuming we have some kind of distributionof particle sizes in bin K ! the largest ones will have more mass than average, so we can safly move ! more mass than number. ! that or we redistribute mass before SOAcond ! do j=1,icomp-idiag AMKD(k+1,j)=AMKD(k+1,j)+0.1e+0_fp*AMKD(k,j) AMKD(k,j)=AMKD(k,j)*0.9e+0_fp enddo ANKD(k+1)=ANKD(k+1)+0.1e+0_fp*ANKD(k) ANKD(k)=ANKD(k)*0.9e+0_fp !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! Add print for debugging (win, 4/10/06) if (pdbug) then print *, 'Modified at checkpoint1: BIN',k print *,'ANKD(k)',ANKD(k),'ANKD(k+1)',ANKD(k+1) print *,'Mk(k,comp) Mk(k+1,comp)' do j=1,icomp print *,'comp',j print *, AMKD(k,j), AMKD(k+1,j) enddo endif !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% endif 300 continue ! If aerosol number is zero (win, 10/18/05) enddo !pja Initialize ventilation variables so they don't do anything VSW=0.0e+0_fp DO L=1,ibins VNTF(L)=0.0e+0_fp ENDDO !pja Initialize AMKDRY and WR DO L=1,ibins AMKDRY(L)=0.e+0_fp AMKWET(L)=0.e+0_fp AMKDRYSOL(L) = 0.e+0_fp DO J=1,icomp-idiag ! dry mass excl. nh4 (win, 9/26/08) AMKDRY(L)=AMKDRY(L)+AMKD(L,J) ! Accumulate the absorbing media (win, 3/5/08) IF ( J == SRTOCIL ) & AMKDRYSOL(L) = AMKDRYSOL(L) + AMKD(L,J) ENDDO DO J=1,ICOMP AMKWET(L) = AMKWET(L) + AMKD(L,J) ENDDO if (AMKDRY(L) .gt. 0.e+0_fp) & ! In case there is no mass, then just skip (win, 10/18/05) WR(L)= AMKWET(L) / AMKDRY(L) ENDDO !debug%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% if(pdbug)then print*,'AMKDRY(1:ibins)' print *,AMKDRY(1:ibins) print *,'WR(1:ibins)' print *,WR(1:ibins) endif !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !pja Initialize X() array of particle masses based on xk() DO L=1,ibins X(L)=xk(L) ENDDO ! ! Only solve when significant forcing is available ! maxtau=0.0e+0_fp do l=1,ibins maxtau=max(maxtau,abs(TAU(l))) enddo !debug%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% if(pdbug) then print*,'tau(1:ibins)' print *,tau(1:ibins) endif !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% IF(ABS(maxtau).LT.TEPS)THEN DO L=1,ibins DO J=1,icomp AMK(L,J)=AMKD(L,J) ENDDO ANK(L)=ANKD(L) ENDDO ELSE ! Try to fix the error of mass conservation ! during aqueous oxidation. Too little mass is used up ! (win, 7/24/06) IF ( MAXVAL(MOXD(:)) > 0e+0_fp ) THEN IF( PDBUG ) PRINT *,'Mass_to_add_by_aqoxid_or_SOAcond' maddtot = 0e+0_fp DO L = 1, IBINS IF(TAU(L) > 0e+0_fp ) THEN MADD(L) = MOXD(L) XADD(L) = MOXD(L) / ANKD(L) !IF( CSPECIES == SRTSO4 ) THEN ! MADD(L) = MOXD * ANKD(L) ! absolute condensing mass ! XADD(L) = MOXD ! mass per particle !ELSE IF ( CSPECIES == SRTOCIL ) THEN ! MADD(L) = MOXD * AMKDRYSOL(L) ! XADD(L) = MADD(L) / ANKD(L) !ELSE ! PRINT *,'TMCOND ERROR : mass fixing not supported' !ENDIF ELSE MADD(L) = 0e+0_fp XADD(L) = 0e+0_fp ENDIF IF ( PDBUG ) PRINT *,L,madd(L), xadd(L) maddtot = maddtot + madd(L) ENDDO ENDIF DO L=1,ibins DO J=1,icomp AMK(L,J)=0.e+0_fp ENDDO ANK(L)=0.e+0_fp ENDDO WW=0.5e+0_fp ! IF(TAU.LT.0.)WW=.5e+0_fp ! ! identify tophats and do lagrangian growth ! DO L=1,ibins IF(ANKD(L) .LT. NEPS2)GOTO 200 !skip if Number is effectively zero !if tau is zero, leave everything in same bin IF (TAU(L) .EQ. 0.) THEN ANK(L)=ANK(L)+ANKD(L) DO J=1,icomp AMK(L,J)=AMK(L,J)+AMKD(L,J) ENDDO ENDIF IF (TAU(L) .EQ. 0.) GOTO 200 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! Add print for debugging (win, 4/10/06) if (pdbug) then print *, 'Identify_tophat_and_grow-BIN',L print *,'Starting_Nk(1:ibins)' print *, ANK(1:ibins) print *,'Starting_Mk(1:ibins,comp)' do j=1,icomp-1 print *,'comp',j print *, AMK(1:ibins,j) enddo endif !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !pja Limiting AVG, the average particle size to lie within the size !pja bounds causes particles to grow or shrink arbitrarily and is !pja wreacking havoc with choosing condensational timesteps and !pja conserving mass. I have turned them off. !AVG=MAX(X(L),MIN(X(L+1),AMKDRY(L)/(NEPS+ANKD(L)))) !try bring the above line back, win 4/10/06 !win 4/10/06 AVG=AMKDRY(L)/ANKD(L) XX=X(L)/AVG #if defined(TOMAS12) || defined(TOMAS15) if(l.lt.ibins-1)then ! bin quadrupuling XI=.5e+0_fp + XX*(2.5e+0_fp - 2.0e+0_fp*XX) !XI<1 means the AVG falls out of bin bounds if (XI .LT. 1.e+0_fp) then !W1 will have sqrt of negative number write(*,*)'ERROR: tmcond - XI<1 for bin: ',L write(*,*)'AVG is ',AVG write(*,*)'Nk is ', ANKD(L) write(*,*)'Mk are ', (AMKD(L,j),j=1,icomp) write(*,*)'Initial N and M are: ',ANKD(L),AMKDRY(L) errspot = .true. RETURN endif W1 =SQRT(12.e+0_fp*(XI-1.e+0_fp))*AVG/4.0e+0_fp ! cyhl 4.0=xk(k+1)/xk(k) W2 =(MIN(X(L+1)-AVG,AVG-X(L)))*2.0e+0_fp else ! final 2 bins mass*32 XI=.5e+0_fp + XX*(16.5e+0_fp - 16.0e+0_fp*XX) if (XI .LT. 1.e+0_fp) then !W1 will have sqrt of negative number write(*,*)'ERROR: tmcond - XI<1 for bin: ',L write(*,*)'lower limit is',X(L) write(*,*)'AVG is ',AVG write(*,*)'Nk is ', ANKD(L) write(*,*)'Mk are ', (AMKD(L,j),j=1,icomp) write(*,*)'Initial N and M are: ',ANKD(L),AMKDRY(L) errspot = .true. RETURN endif W1 =SQRT(12.e+0_fp*(XI-1.e+0_fp))*AVG/32.0e+0_fp ! cyhl 32.0=xk(k+1)/xk(k) W2 =(MIN(X(L+1)-AVG,AVG-X(L)))*2.0e+0_fp endif #else XI=.5e+0_fp + XX*(1.5e+0_fp - XX) !XI<1 means the AVG falls out of bin bounds if (XI .LT. 1.e+0_fp) then !W1 will have sqrt of negative number write(*,*)'ERROR: tmcond - XI<1 for bin: ',L write(*,*)'AVG is ',AVG write(*,*)'Nk is ', ANKD(L) write(*,*)'Mk are ', (AMKD(L,j),j=1,icomp) write(*,*)'Initial N and M are: ',ANKD(L),AMKDRY(L) errspot = .true. RETURN endif W1 =SQRT(12.e+0_fp*(XI-1.e+0_fp))*AVG W2 =MIN(X(L+1)-AVG,AVG-X(L)) #endif WTH=W1*WW+W2*(1.e+0_fp-WW) IF(WTH.GT.1.) then write(*,*)'WTH>1 in cond, bin #',L errspot = .true. RETURN ENDIF XU=AVG+WTH*.5e+0_fp XL=AVG-WTH*.5e+0_fp ! Ventilation added bin-by-bin TAU_L=TAU(l)*MAX(1.e+0_fp,VNTF(L)*VSW) IF(TAU_L/TAU(l).GT. 6.) THEN PRINT *,'TAU..>6.',TAU(l),TAU_L,VSW,L ENDIF IF(TAU_L.GT.TAU(l)) THEN PRINT *,'TAU...',TAU(l),TAU_L,VSW,L ENDIF ! prior to 5/25/06 (win) !YU=DMDT_INT(XU,TAU_L,WR(L)) !YUC=XU*AMKD(L,CSPECIES)/AMKDRY(L)+YU-XU !IF (YU .GT. X(ibins+1) ) THEN ! YUC=YUC*X(ibins+1)/YU ! YU=X(ibins+1) !ENDIF !YL=DMDT_INT(XL,TAU_L,WR(L)) !YLC=XL*AMKD(L,CSPECIES)/AMKDRY(L)+YL-XL !add new correction factor to YU and YL (win, 5/25/06) YU=DMDT_INT(XU,TAU_L,WR(L)) YL=DMDT_INT(XL,TAU_L,WR(L)) ! change to check MOXD of current bin (win, 10/3/08) IF( MOXD(L) == 0e+0_fp) THEN !Prior to 10/3/08 (win) !IF( MAXVAL(MOXD(:)) == 0e+0_fp ) THEN C1=1.e+0_fp !for so4cond call, without correction factor. ELSE C1 = XADD(L)*2.e+0_fp/(YU+YL-XU-XL) ENDIF C2 = C1 - ( C1 - 1.e+0_fp ) * ( XU + XL )/( YU + YL ) !prior to 10/2/08 (win) YU = YU * C2 YL = YL * C2 ! Run into a problem that YU < XU creating YUC<0 ! So let's limit the application of C2 to only if ! it does not result in YU < XU and YL < XL (win, 10/2/08) !IF(TAU_L > 0.e+0_fp) YU = max( YU*C2, XU ) !IF(TAU_L > 0.e+0_fp) YL = max( YL*C2, XL ) !end part for fudging to get higher AVG YUC=XU*AMKD(L,CSPECIES)/AMKDRY(L)+YU-XU IF (YU .GT. X(ibins+1) ) THEN !IF(.not.SPINUP(60.)) write(116,*) & ! 'YU > Xk(30+1) ++++++++++++' !debug (win, 7/17/06) YUC=YUC*X(ibins+1)/YU YU=X(ibins+1) !errspot=.true. !just try temp (win, 7/30/07) ENDIF YLC=XL*AMKD(L,CSPECIES)/AMKDRY(L)+YL-XL DYI=1.e+0_fp/(YU-YL) !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! Debug why there is extra mass added when called ! by aqoxid. (win, 5/10/06) if (pdbug) then print *, 'XU',XU,'YU',YU,'YUC',YUC,'c2',c2 print *, 'XL',XL,'YL',YL,'YLC',YLC endif !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !deal with tiny negative (win, 5/28/06) if(YUC.lt.0e+0_fp .or. YLC.lt.0e+0_fp)then if(YLC.lt.0e+0_fp) YLC=0e+0_fp if(YUC.lt.0e+0_fp) then YUC = 0e+0_fp YLC = 0e+0_fp endif if(pdbug) print *,'Fudge negative YUC, YLC to zero' endif ! ! deal with portion of distribution that lies below lowest gridpoint ! IF(YL.LT.X(1))THEN !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! Debug step-by-step (win, 5/10/06) if (pdbug) print *,'YL Debug step-by-step (win, 5/10/06) if(pdbug) print *,'Now_remapping_in_bin',I !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% IF(YL.LT.X(I+1))THEN ![1] lower bound of new tophat in the current I bin IF(YU.LE.X(I+1))THEN ![2] upper bound of new tophat also in the current I bin DN=ANKD(L) ! DN = number from the bin L being remapped do j=1,icomp DM=AMKD(L,J) IF (J.EQ.CSPECIES) THEN !Add mass from new tophat to the existing mass of bin I AMK(I,J)=(YUC+YLC)*.5e+0_fp*DN+AMK(I,J) !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! Debug step-by-step (win, 5/10/06) if (pdbug) then print *,'CASE_1:_New_Tophat_in_a_single_bin' print *,'SO4_from_tophat=',(YUC+YLC)*.5e+0_fp*DN endif ! Check mass conservation (win, 7/24/06) if(MAXVAL(moxd(:)).gt.0e+0_fp)then delt1 = (YUC+YLC)*.5e+0_fp*DN-AMKD(L,J)-madd(L) if( abs(delt1)/madd(L).gt.1e-6_fp .and. & madd(L).gt.1e-4_fp)then ! Just print out this for debugging IF(.not.SPINUP(60.) .and. pdbug ) then !write(116,*)'CASE1_mass_conserv_fix' write(116,13) L, madd(L), delt1 13 FORMAT('CASE_1 Bin ',I2,' moxid ', & E13.5,' delta ',E13.5 ) !errspot=.true. !just try temp (win, 7/30/07) ENDIF AMK(I,J) = AMK(I,J)-delt1 !fix the error endif endif !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ELSE !For non-condensing, migrate the mass to bin I AMK(I,J)=AMK(I,J)+DM !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! Debug step-by-step (win, 5/10/06) if (pdbug) then !print *,' Migrating_mass(',j,')',DM !use this debugging line if there are more than seasalt+so4 print *,'Migrating_mass',DM endif !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ENDIF enddo !Add number of old bin to ANK (which is blank for the first loop of bin I) ANK(I)=ANK(I)+DN !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! (win, 5/10/06) if(pdbug) print*,'Migrating_number',DN !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ELSE ![3] upper bound of new tophat grow beyond the upper bound of bin I DN=ANKD(L)*(X(I+1)-YL)*DYI !DN= proportion of the number from tophat that still stays in the bin I !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! (win, 5/10/06) if ( pdbug) then print*,'Case_2:_Tophat_cross_bin_boundary' print *,'Number_that_remain_in_low_bin',DN endif !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! For fixing mass conserv problem (win, 7/24/06) macc=0e+0_fp do j=1,icomp !DM= proporation of the mass that is still in bin I DM=AMKD(L,J)*(X(I+1)-YL)*DYI IF (J.EQ.CSPECIES) THEN !XP= what would have grown to be X(I+1) XP=DMDT_INT(X(I+1),-1.0e+0_fp*TAU_L,WR(L)) YM=XP*AMKD(L,J)/AMKDRY(L)+X(I+1)-XP !add the condensing mass to the existing sulfate of bin I AMK(I,J)=DN*(YM+YLC)*0.5e+0_fp+AMK(I,J) !Accumulating the condensing mass for error check (win, 7/24/06) macc = macc + DN*(YM+YLC)*0.5e+0_fp !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! (win, 5/10/06) if(pdbug)then print *,'XP',XP,'YM',YM print *,'Cond_TophatLowEnd',DN*(YM+YLC)*0.5e+0_fp endif !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ELSE !Add DM to AMK (which is blank for the first loop of bin I) AMK(I,J)=AMK(I,J)+DM !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% if(pdbug) print*,'Other___in_low_end',DM !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ENDIF enddo ANK(I)=ANK(I)+DN ! Add DN number to ANK (which is blank for the first loop of bin I) ! Remapping loop from bin I+1 to bin30 DO K=I+1,ibins !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% if(pdbug) print *,'Spreading_to_bin',K !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% IF(YU.LE.X(K+1))GOTO 100 ![4] Found the bin where the high end of the tophat is in --> do the final loop ![5.1] This part for distributing to the bins in between ! the original and the furthest bin that growing occurs !Use width of bin K to proportionate number from old bin wrt. to the top hat (YU-YL) DN=ANKD(L)*(X(K+1)-X(K))*DYI !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% if(pdbug) then print *,'Number_migrated',DN endif !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% do j=1,icomp !Proportion of old-bin mass that falls in this current bin K DM=AMKD(L,J)*(X(K+1)-X(K))*DYI IF (J.EQ.CSPECIES) THEN XP=DMDT_INT(X(K),-1.0e+0_fp*TAU_L,WR(L)) !what would have grown to be X(k) YM=XP*AMKD(L,J)/AMKDRY(L)+X(K)-XP !what would have grown to be X(k) but just for sulfate AMK(K,J)=DN*1.5e+0_fp*YM+AMK(K,J) ! A factor of 1.5 is from averaging (YM+2*YM) ! Accumulating condensing mass for error check (win, 7/24/06) macc = macc+DN*1.5e+0_fp*YM !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! (win, 5/10/06) if(pdbug)then print *,'XP',XP,'YM',YM print *,'Cond_mass_spread',DN*1.5e+0_fp*YM endif !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ELSE AMK(K,J)=AMK(K,J)+DM !Add migrating mass of non-condensing species !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% if(pdbug) print*,'No-cond_mass_migrate',DM !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ENDIF enddo ANK(K)=ANK(K)+DN !Add migrating number to the exising number of bin K ENDDO !This STOP is for when there's excessive growth over bin30 STOP 'Trying to put stuff in bin ibins+1' 100 CONTINUE ![5.2] Final section that the tophat grows to. DN=ANKD(L)*(YU-X(K))*DYI !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% if(pdbug) then print *,'Found_right_edge_for_tophat' print *,'Number_migrated',DN endif !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% do j=1,icomp DM=AMKD(L,J)*(YU-X(K))*DYI ! proportion of old mass that gets to this furthest bin. IF (J.EQ.CSPECIES) THEN XP=DMDT_INT(X(K),-1.0e+0_fp*TAU_L,WR(L)) !what would have grown to be X(k) YM=XP*AMKD(L,J)/AMKDRY(L)+X(K)-XP !=XP for just sulfate AMK(K,J)=DN*(YUC+YM)*0.5e+0_fp+AMK(K,J) !add condensing mass to existing sulfate of bin K !Accumulating condensing mass for error check (win, 7/24/06) macc = macc+DN*(YUC+YM)*0.5e+0_fp !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! (win, 5/10/06) if(pdbug)then print *,'XP',XP,'YM',YM print *,'Cond_mass_spread_final', & DN*(YM+YUC)*0.5e+0_fp endif !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ELSE AMK(K,J)=AMK(K,J)+DM !This adds the migrating mass to the exising mass of non-condensing species !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% if(pdbug) print*,'No-cond_mass_migrated',DM !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ENDIF enddo ANK(K)=ANK(K)+DN !This adds the migrating number to the existing number of bin K ! Check mass conservation (win, 7/24/06) if(MAXVAL(moxd(:)).gt.0e+0_fp)then delt2 = 0e+0_fp delt2 = macc-AMKD(L,CSPECIES)-madd(L) if(abs(delt2)/ madd(L) > 1e-6)then if( madd(L) > 10.e+0_fp .and. & abs(delt2)/ madd(L) > 15e-2_fp ) then !print *,'TMCOND ERROR: mass condensation', & ! 'discrep >15% during aqoxid or SOAcond' IF(.not.SPINUP(60.)) THEN 14 FORMAT('CASE_2 Bin',I2,' moxid',F7.1, & ' delta',F7.1 ) write(116,14) L, madd(L),delt2 !write(116,*)'CASE_2_mass_not_conserve' !write(116,*)'For_bin',L,'moxid',madd(L) & ! ,'delta',delt2 ENDIF errspot=.true. !just try temp (win, 7/30/07) endif !significant mass add (10 kg) - then print error. ! Fix the problem of mass not conserved !in case of aqueous oxidation by find the missing mass !and spread them equally into the bins that the final !tophat has grown to. (win, 7/24/06) xtra = 0e+0_fp dummy = 0e+0_fp do kk = I,K !AMK(kk,CSPECIES) = AMK(kk,CSPECIES)-delt2/(K-I+1) dummy = AMK(kk,CSPECIES) - & ( delt2/(K-I+1) + xtra ) if(dummy < 0.e+0_fp )then xtra = xtra + delt2/(K-I+1) else AMK(kk,CSPECIES) = dummy xtra = 0.e+0_fp endif enddo endif !error>treshold endif !moxd>0 ENDIF !YU.LE.X(I+1) GOTO 200 ELSE !YL > X(I+1) IF(I == IBINS .and.(madd(L)/maddtot)> 1.5e-1_fp) THEN 11 FORMAT( 'Tophat>Xk(31) at bin ',I3,' loosing ', & E13.5,' kg = ',F5.1,'%') if(MAXVAL(moxd(:)) > 0e+0_fp) then print 11, L, madd(L),(madd(L)/maddtot)*1.e+2_fp !write(116,11) L, madd(L),(madd(L)/maddtot)*1.e+2_fp !write(117,*) madd(L) !for accumulating mass loss !PRINT *,'Tophat > Xk(31): growth over bin30,Loss%' !if(moxd >0e+0_fp)print *,madd(L),(madd(L)/maddtot)*1.d2 !errspot = .true. endif ENDIF ENDIF !YL.LT.X(I+1) ENDDO !I loop 200 CONTINUE ENDDO !L loop ENDIF !Signal error out to so4cond so the run can stop in aerophys and show i,j,l (win, 4/12/06) pdbug = errspot RETURN END SUBROUTINE TMCOND !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: aerodiag ! ! !DESCRIPTION: Subroutine AERODIAG saves changes to the appropriate diagnostic ! arrays (win, 7/23/07) !\\ !\\ ! !INTERFACE: ! SUBROUTINE AERODIAG( PTYPE, I, J, L, Nk, Nkd, Mk, Mkd, BOXMASS, & State_Grid, State_Diag ) ! ! !USES: ! USE ERROR_MOD, ONLY : IT_IS_NAN USE State_Grid_Mod, ONLY : GrdState USE State_Diag_Mod, ONLY : DgnState USE TIME_MOD, ONLY : GET_TS_CHEM ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: PTYPE ! Number assigned to each dianostic INTEGER , INTENT(IN) :: I, J, L ! Grid box indices REAL(fp), INTENT(IN) :: Nk(IBINS) REAL(fp), INTENT(IN) :: Nkd(IBINS) REAL(fp), INTENT(IN) :: Mk(IBINS, ICOMP) REAL(fp), INTENT(IN) :: Mkd(IBINS,ICOMP) REAL*4, INTENT(IN) :: BOXMASS TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: K, JS, S REAL*4 :: DTCHEM !================================================================= ! AERODIAG begins here! !================================================================= DTCHEM = GET_TS_CHEM() ! chemistry time step in sec IF ( PTYPE == 1 ) THEN DO K=1,IBINS State_Diag%TomasH2SO4mass(I,J,L,K) = 0.e+0_fp State_Diag%TomasH2SO4number(I,J,L,K) = 0.e+0_fp DO JS = 1, ICOMP-IDIAG IF ( State_Diag%Archive_TomasH2SO4mass ) THEN S = State_Diag%Map_TomasH2SO4mass%id2slot(K) IF ( S > 0 ) THEN State_Diag%TomasH2SO4mass(I,J,L,K) = & State_Diag%TomasH2SO4mass(I,J,L,K) + & (MK(K,JS) - MKD(K,JS)) / DTCHEM / BOXMASS ! kg/kg air/sec ENDIF ENDIF ENDDO IF ( State_Diag%Archive_TomasH2SO4number ) THEN S = State_Diag%Map_TomasH2SO4number%id2slot(K) IF ( S > 0 ) THEN State_Diag%TomasH2SO4number(I,J,L,K) = & State_Diag%TomasH2SO4number(I,J,L,K) + & (NK(K) - NKD(K))/ DTCHEM / BOXMASS ! no./kg air/sec ENDIF ENDIF ENDDO ENDIF IF ( PTYPE == 2 ) THEN DO K=1,IBINS State_Diag%TomasCOAGmass(I,J,L,K) = 0.e+0_fp State_Diag%TomasCOAGnumber(I,J,L,K) = 0.e+0_fp DO JS = 1, ICOMP-IDIAG IF ( State_Diag%Archive_TomasCOAGmass ) THEN S = State_Diag%Map_TomasCOAGmass%id2slot(K) IF ( S > 0 ) THEN State_Diag%TomasCOAGmass(I,J,L,K) = & State_Diag%TomasCOAGmass(I,J,L,K) + (MK(K,JS) - MKD(K,JS))/ & DTCHEM / BOXMASS ! kg/kg air/sec ENDIF ENDIF ENDDO IF ( State_Diag%Archive_TomasCOAGnumber ) THEN S = State_Diag%Map_TomasCOAGnumber%id2slot(K) IF ( S > 0 ) THEN State_Diag%TomasCOAGnumber(I,J,L,K) = & State_Diag%TomasCOAGnumber(I,J,L,K) + (NK(K) - NKD(K))/ & DTCHEM / BOXMASS ! no./kg air/sec ENDIF ENDIF ENDDO ENDIF IF ( PTYPE == 3 ) THEN DO K=1,IBINS State_Diag%TomasNUCLmass(I,J,L,K) = 0.e+0_fp State_Diag%TomasNUCLnumber(I,J,L,K) = 0.e+0_fp DO JS = 1, ICOMP-IDIAG IF ( State_Diag%Archive_TomasNUCLmass ) THEN S = State_Diag%Map_TomasNUCLmass%id2slot(K) IF ( S > 0 ) THEN State_Diag%TomasNUCLmass(I,J,L,K) = & State_Diag%TomasNUCLmass(I,J,L,K) + (MK(K,JS) - MKD(K,JS))/ & DTCHEM / BOXMASS ! kg/kg air/sec ENDIF ENDIF ENDDO IF ( State_Diag%Archive_TomasNUCLnumber ) THEN S = State_Diag%Map_TomasNUCLnumber%id2slot(K) IF ( S > 0 ) THEN State_Diag%TomasNUCLnumber(I,J,L,K) = & State_Diag%TomasNUCLnumber(I,J,L,K) + (NK(K) - NKD(K))/ & DTCHEM / BOXMASS ! no./kg air/sec ENDIF ENDIF ENDDO ENDIF IF ( PTYPE == 4 ) THEN DO K=1,IBINS State_Diag%TomasAQOXmass(I,J,L,K) = 0.e+0_fp State_Diag%TomasAQOXnumber(I,J,L,K) = 0.e+0_fp DO JS = 1, ICOMP-IDIAG IF ( State_Diag%Archive_TomasAQOXmass ) THEN S = State_Diag%Map_TomasAQOXmass%id2slot(K) IF ( S > 0 ) THEN State_Diag%TomasAQOXmass(I,J,L,K) = & State_Diag%TomasAQOXmass(I,J,L,K) + (MK(K,JS) - MKD(K,JS))/ & DTCHEM / BOXMASS ! kg/kg air/sec ENDIF ENDIF ENDDO IF ( State_Diag%Archive_TomasAQOXnumber ) THEN S = State_Diag%Map_TomasAQOXnumber%id2slot(K) IF ( S > 0 ) THEN State_Diag%TomasAQOXnumber(I,J,L,K) = & State_Diag%TomasAQOXnumber(I,J,L,K) + (NK(K) - NKD(K))/ & DTCHEM / BOXMASS ! no./kg air/sec \ ENDIF ENDIF ENDDO ENDIF IF ( PTYPE == 5 ) THEN DO K=1,IBINS State_Diag%TomasMNFIXmass(I,J,L,K) = 0.e+0_fp State_Diag%TomasMNFIXnumber(I,J,L,K) = 0.e+0_fp DO JS = 1, ICOMP-IDIAG IF ( State_Diag%Archive_TomasMNFIXmass ) THEN S = State_Diag%Map_TomasMNFIXmass%id2slot(K) IF ( S > 0 ) THEN State_Diag%TomasMNFIXmass(I,J,L,K) = & State_Diag%TomasMNFIXmass(I,J,L,K) + (MK(K,JS) - MKD(K,JS))/ & DTCHEM / BOXMASS ! kg/kg air/sec ENDIF ENDIF ENDDO IF ( State_Diag%Archive_TomasMNFIXnumber ) THEN S = State_Diag%Map_TomasMNFIXnumber%id2slot(K) IF ( S > 0 ) THEN State_Diag%TomasMNFIXnumber(I,J,L,K) = & State_Diag%TomasMNFIXnumber(I,J,L,K) + (NK(K) - NKD(K))/ & DTCHEM / BOXMASS ! no./kg air/sec ENDIF ENDIF ENDDO ENDIF IF ( PTYPE == 6 ) THEN DO K=1,IBINS State_Diag%TomasSOAmass(I,J,L,K) = 0.e+0_fp State_Diag%TomasSOAnumber(I,J,L,K) = 0.e+0_fp DO JS = 1, ICOMP-IDIAG IF ( State_Diag%Archive_TomasSOAmass ) THEN S = State_Diag%Map_TomasSOAmass%id2slot(K) IF ( S > 0 ) THEN State_Diag%TomasSOAmass(I,J,L,K) = & State_Diag%TomasSOAmass(I,J,L,K) + (MK(K,JS) - MKD(K,JS))/ & DTCHEM / BOXMASS ! kg/kg air/sec ENDIF ENDIF ENDDO IF ( State_Diag%Archive_TomasSOAnumber ) THEN S = State_Diag%Map_TomasSOAnumber%id2slot(K) IF ( S > 0 ) THEN State_Diag%TomasSOAnumber(I,J,L,K) = & State_Diag%TomasSOAnumber(I,J,L,K) + (NK(K) - NKD(K))/ & DTCHEM / BOXMASS ! no./kg air/sec ENDIF ENDIF ENDDO ENDIF IF ( PTYPE == 7 ) THEN DO K=1,IBINS State_Diag%TomasNUCRATEnumber(I,J,L,K) = 0.e+0_fp IF ( State_Diag%Archive_TomasNUCRATEnumber ) THEN S = State_Diag%Map_TomasNUCRATEnumber%id2slot(K) IF ( S > 0 ) THEN State_Diag%TomasNUCRATEnumber(I,J,L,K) = & State_Diag%TomasNUCRATEnumber(I,J,L,K) + (NK(K) - NKD(K)) / & DTCHEM / BOXMASS ! no./kg air/sec ! print*,'Values for nuc',BOXMASS,DTCHEM,NK(K),NKD(K),K, & ! (NK(K) - NKD(K)), (NK(K) - NKD(K)) / & ! DTCHEM / BOXMASS ! no./kg air/sec ENDIF ENDIF ENDDO ENDIF IF ( PTYPE == 11 ) THEN DO K=1,IBINS State_Diag%TomasMNFIXezwat1mass(I,J,L,K) = 0.e+0_fp State_Diag%TomasMNFIXezwat1number(I,J,L,K) = 0.e+0_fp DO JS = 1, ICOMP-IDIAG IF ( State_Diag%Archive_TomasMNFIXezwat1mass ) THEN S = State_Diag%Map_TomasMNFIXezwat1mass%id2slot(K) IF ( S > 0 ) THEN State_Diag%TomasMNFIXezwat1mass(I,J,L,K) = & State_Diag%TomasMNFIXezwat1mass(I,J,L,K) + & (MK(K,JS) - MKD(K,JS))/ DTCHEM / BOXMASS ! kg/kg air/sec ENDIF ENDIF ENDDO IF ( State_Diag%Archive_TomasMNFIXezwat1number ) THEN S = State_Diag%Map_TomasMNFIXezwat1number%id2slot(K) IF ( S > 0 ) THEN State_Diag%TomasMNFIXezwat1number(I,J,L,K) = & State_Diag%TomasMNFIXezwat1number(I,J,L,K) + & (NK(K) - NKD(K))/ DTCHEM / BOXMASS ! no./kg air/sec ENDIF ENDIF ENDDO ENDIF IF ( PTYPE == 12 ) THEN DO K=1,IBINS State_Diag%TomasMNFIXezwat2mass(I,J,L,K) = 0.e+0_fp State_Diag%TomasMNFIXezwat2number(I,J,L,K) = 0.e+0_fp DO JS = 1, ICOMP-IDIAG IF ( State_Diag%Archive_TomasMNFIXezwat2mass ) THEN S = State_Diag%Map_TomasMNFIXezwat2mass%id2slot(K) IF ( S > 0 ) THEN State_Diag%TomasMNFIXezwat2mass(I,J,L,K) = & State_Diag%TomasMNFIXezwat2mass(I,J,L,K) + & (MK(K,JS) - MKD(K,JS))/ DTCHEM / BOXMASS ! kg/kg air/sec ENDIF ENDIF ENDDO IF ( State_Diag%Archive_TomasMNFIXezwat2number ) THEN S = State_Diag%Map_TomasMNFIXezwat2number%id2slot(K) IF ( S > 0 ) THEN State_Diag%TomasMNFIXezwat2number(I,J,L,K) = & State_Diag%TomasMNFIXezwat2number(I,J,L,K) + & (NK(K) - NKD(K))/ DTCHEM / BOXMASS ! no./kg air/sec ENDIF ENDIF ENDDO ENDIF IF ( PTYPE == 13 ) THEN DO K=1,IBINS State_Diag%TomasMNFIXezwat3mass(I,J,L,K) = 0.e+0_fp State_Diag%TomasMNFIXezwat3number(I,J,L,K) = 0.e+0_fp DO JS = 1, ICOMP-IDIAG IF ( State_Diag%Archive_TomasMNFIXezwat3mass ) THEN S = State_Diag%Map_TomasMNFIXezwat3mass%id2slot(K) IF ( S > 0 ) THEN State_Diag%TomasMNFIXezwat3mass(I,J,L,K) = & State_Diag%TomasMNFIXezwat3mass(I,J,L,K) + & (MK(K,JS) - MKD(K,JS))/ DTCHEM / BOXMASS ! kg/kg air/sec ENDIF ENDIF ENDDO IF ( State_Diag%Archive_TomasMNFIXezwat3number ) THEN S = State_Diag%Map_TomasMNFIXezwat3number%id2slot(K) IF ( S > 0 ) THEN State_Diag%TomasMNFIXezwat3number(I,J,L,K) = & State_Diag%TomasMNFIXezwat3number(I,J,L,K) + & (NK(K) - NKD(K))/ DTCHEM / BOXMASS ! no./kg air/sec ENDIF ENDIF ENDDO ENDIF IF ( PTYPE == 14 ) THEN DO K=1,IBINS State_Diag%TomasMNFIXh2so4mass(I,J,L,K) = 0.e+0_fp State_Diag%TomasMNFIXh2so4number(I,J,L,K) = 0.e+0_fp DO JS = 1, ICOMP-IDIAG IF ( State_Diag%Archive_TomasMNFIXh2so4mass ) THEN S = State_Diag%Map_TomasMNFIXh2so4mass%id2slot(K) IF ( S > 0 ) THEN State_Diag%TomasMNFIXh2so4mass(I,J,L,K) = & State_Diag%TomasMNFIXh2so4mass(I,J,L,K) + & (MK(K,JS) - MKD(K,JS))/ DTCHEM / BOXMASS ! kg/kg air/sec ENDIF ENDIF ENDDO IF ( State_Diag%Archive_TomasMNFIXh2so4number ) THEN S = State_Diag%Map_TomasMNFIXh2so4number%id2slot(K) IF ( S > 0 ) THEN State_Diag%TomasMNFIXh2so4number(I,J,L,K) = & State_Diag%TomasMNFIXh2so4number(I,J,L,K) + & (NK(K) - NKD(K))/ DTCHEM / BOXMASS ! no./kg air/sec ENDIF ENDIF ENDDO ENDIF IF ( PTYPE == 15 ) THEN DO K=1,IBINS State_Diag%TomasMNFIXcoagmass(I,J,L,K) = 0.e+0_fp State_Diag%TomasMNFIXcoagnumber(I,J,L,K) = 0.e+0_fp DO JS = 1, ICOMP-IDIAG IF ( State_Diag%Archive_TomasMNFIXcoagmass ) THEN S = State_Diag%Map_TomasMNFIXcoagmass%id2slot(K) IF ( S > 0 ) THEN State_Diag%TomasMNFIXcoagmass(I,J,L,K) = & State_Diag%TomasMNFIXcoagmass(I,J,L,K) + & (MK(K,JS) - MKD(K,JS))/ DTCHEM / BOXMASS ! kg/kg air/sec ENDIF ENDIF ENDDO IF ( State_Diag%Archive_TomasMNFIXcoagnumber ) THEN S = State_Diag%Map_TomasMNFIXcoagnumber%id2slot(K) IF ( S > 0 ) THEN State_Diag%TomasMNFIXcoagnumber(I,J,L,K) = & State_Diag%TomasMNFIXcoagnumber(I,J,L,K) + & (NK(K) - NKD(K))/ DTCHEM / BOXMASS ! no./kg air/sec ENDIF ENDIF ENDDO ENDIF IF ( PTYPE == 16 ) THEN DO K=1,IBINS State_Diag%TomasMNFIXaqoxmass(I,J,L,K) = 0.e+0_fp State_Diag%TomasMNFIXaqoxnumber(I,J,L,K) = 0.e+0_fp DO JS = 1, ICOMP-IDIAG IF ( State_Diag%Archive_TomasMNFIXaqoxmass ) THEN S = State_Diag%Map_TomasMNFIXaqoxmass%id2slot(K) IF ( S > 0 ) THEN State_Diag%TomasMNFIXaqoxmass(I,J,L,K) = & State_Diag%TomasMNFIXaqoxmass(I,J,L,K) + & (MK(K,JS) - MKD(K,JS))/ DTCHEM / BOXMASS ! kg/kg air/sec ENDIF ENDIF ENDDO IF ( State_Diag%Archive_TomasMNFIXaqoxnumber ) THEN S = State_Diag%Map_TomasMNFIXaqoxnumber%id2slot(K) IF ( S > 0 ) THEN State_Diag%TomasMNFIXaqoxnumber(I,J,L,K) = & State_Diag%TomasMNFIXaqoxnumber(I,J,L,K) + & (NK(K) - NKD(K))/ DTCHEM / BOXMASS ! no./kg air/sec ENDIF ENDIF ENDDO ENDIF IF ( PTYPE == 17 ) THEN DO K=1,IBINS State_Diag%TomasMNFIXcheck1mass(I,J,L,K) = 0.e+0_fp State_Diag%TomasMNFIXcheck1number(I,J,L,K) = 0.e+0_fp DO JS = 1, ICOMP-IDIAG IF ( State_Diag%Archive_TomasMNFIXcheck1mass ) THEN S = State_Diag%Map_TomasMNFIXcheck1mass%id2slot(K) IF ( S > 0 ) THEN State_Diag%TomasMNFIXcheck1mass(I,J,L,K) = & State_Diag%TomasMNFIXcheck1mass(I,J,L,K) + & (MK(K,JS) - MKD(K,JS))/ DTCHEM / BOXMASS ! kg/kg air/sec ENDIF ENDIF ENDDO IF ( State_Diag%Archive_TomasMNFIXcheck1number ) THEN S = State_Diag%Map_TomasMNFIXcheck1number%id2slot(K) IF ( S > 0 ) THEN State_Diag%TomasMNFIXcheck1number(I,J,L,K) = & State_Diag%TomasMNFIXcheck1number(I,J,L,K) + & (NK(K) - NKD(K))/ DTCHEM / BOXMASS ! no./kg air/sec ENDIF ENDIF ENDDO ENDIF IF ( PTYPE == 18 ) THEN DO K=1,IBINS State_Diag%TomasMNFIXcheck2mass(I,J,L,K) = 0.e+0_fp State_Diag%TomasMNFIXcheck2number(I,J,L,K) = 0.e+0_fp DO JS = 1, ICOMP-IDIAG IF ( State_Diag%Archive_TomasMNFIXcheck2mass ) THEN S = State_Diag%Map_TomasMNFIXcheck2mass%id2slot(K) IF ( S > 0 ) THEN State_Diag%TomasMNFIXcheck2mass(I,J,L,K) = & State_Diag%TomasMNFIXcheck2mass(I,J,L,K) + & (MK(K,JS) - MKD(K,JS))/ DTCHEM / BOXMASS ! kg/kg air/sec ENDIF ENDIF ENDDO IF ( State_Diag%Archive_TomasMNFIXcheck2number ) THEN S = State_Diag%Map_TomasMNFIXcheck2number%id2slot(K) IF ( S > 0 ) THEN State_Diag%TomasMNFIXcheck2number(I,J,L,K) = & State_Diag%TomasMNFIXcheck2number(I,J,L,K) + & (NK(K) - NKD(K))/ DTCHEM / BOXMASS ! no./kg air/sec ENDIF ENDIF ENDDO ENDIF IF ( PTYPE == 19 ) THEN DO K=1,IBINS State_Diag%TomasMNFIXcheck3mass(I,J,L,K) = 0.e+0_fp State_Diag%TomasMNFIXcheck3number(I,J,L,K) = 0.e+0_fp DO JS = 1, ICOMP-IDIAG IF ( State_Diag%Archive_TomasMNFIXcheck3mass ) THEN S = State_Diag%Map_TomasMNFIXcheck3mass%id2slot(K) IF ( S > 0 ) THEN State_Diag%TomasMNFIXcheck3mass(I,J,L,K) = & State_Diag%TomasMNFIXcheck3mass(I,J,L,K) + & ( MK(K,JS) - MKD(K,JS))/ DTCHEM / BOXMASS ! kg/kg air/sec ENDIF ENDIF ENDDO IF ( State_Diag%Archive_TomasMNFIXcheck3number ) THEN S = State_Diag%Map_TomasMNFIXcheck3number%id2slot(K) IF ( S > 0 ) THEN State_Diag%TomasMNFIXcheck3number(I,J,L,K) = & State_Diag%TomasMNFIXcheck3number(I,J,L,K) + & (NK(K) - NKD(K))/ DTCHEM / BOXMASS ! no/kg air/sec ENDIF ENDIF ENDDO ENDIF END SUBROUTINE AERODIAG !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: init_tomas ! ! !DESCRIPTION: Subroutine INIT_TOMAS intializes variables for TOMAS ! microphysics based on switches from geoschem_config.yml, e.g. what aerosol ! species to simulate.(win, 7/9/07) !\\ !\\ ! !INTERFACE: ! SUBROUTINE INIT_TOMAS( Input_Opt, State_Chm, State_Grid, RC ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD, ONLY : ALLOC_ERR, ERROR_STOP USE Input_Opt_Mod, ONLY : OptInput USE inquireMod, ONLY : findFreeLUN USE State_Chm_Mod, ONLY : ChmState USE State_Chm_Mod, ONLY : Ind_ USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: AS, K, I,J,L, dum1, dum2, dum3, LUN REAL(fp) :: Mo CHARACTER(LEN=255) :: filename CHARACTER(LEN=255) :: fname(4) CHARACTER(LEN=255) :: DATA_DIR CHARACTER(LEN=255) :: MSG, LOC !================================================================= ! INIT_TOMAS begins here! !================================================================= ! Assume success RC = GC_SUCCESS ! Exit if this is a dry-run IF ( Input_Opt%DryRun ) RETURN ! Define species indices here, these are now saved as ! module variables (bmy, 6/20/16) id_NK01 = Ind_('NK01' ) id_H2SO4 = Ind_('H2SO4') id_AW01 = Ind_('AW01' ) id_SF01 = Ind_('SF01' ) id_SO4 = Ind_('SO4' ) id_NH3 = Ind_('NH3' ) id_NH4 = Ind_('NH4' ) id_SS01 = Ind_('SS01' ) id_ECIL01 = Ind_('ECIL01') id_ECOB01 = Ind_('ECOB01') id_OCIL01 = Ind_('OCIL01') id_OCOB01 = Ind_('OCOB01') id_DUST01 = Ind_('DUST01') ! Number of size bins IBINS = State_Chm%nTomasBins ! Check to make sure TOMAS species are in the expected order IF (.NOT. (id_SF01 + IBINS == id_SS01 .AND. & id_SS01 + IBINS == id_ECOB01 .AND. & id_ECOB01 + IBINS == id_ECIL01 .AND. & id_ECIL01 + IBINS == id_OCOB01 .AND. & id_OCOB01 + IBINS == id_OCIL01 .AND. & id_OCIL01 + IBINS == id_DUST01) ) THEN MSG = 'TOMAS species are not in the expected order!' LOC = 'Routine INIT_TOMAS in tomas_mod.F90' CALL ERROR_STOP( MSG, LOC ) ENDIF ! Now read large TOMAS input files from a common disk directory ! (bmy, 1/30/14) DATA_DIR = TRIM( Input_Opt%CHEM_INPUTS_DIR ) // 'TOMAS_201402/' ! comment out if shut off subgridcoag 14/12/23, bc ! Define subgrid coagulation timescale (win, 10/28/08) !IF ( TRIM(State_Grid%GridRes) == '4.0x5.0' ) THEN ! SGCTSCALE = 10.0_fp*3600.0_fp ! 10 hours !ELSE IF ( TRIM(State_Grid%GridRes) == '2.0x2.5' ) THEN ! SGCTSCALE = 5.0_fp*3600.0_fp !ELSE IF ( TRIM(State_Grid%GridRes) == '0.5x0.625' ) THEN ! SGCTSCALE = 1.0_fp*3600.0_fp !ELSE IF ( TRIM(State_Grid%GridRes) == '0.25x0.3125' ) THEN ! SGCTSCALE = 0.50_fp*3600.0_fp !ELSE IF ( TRIM(State_Grid%GridRes) == '0.125x0.15625' ) THEN ! SGCTSCALE = 0.25_fp*3600.0_fp !ENDIF #if defined(TOMAS40) Mo = 1.0e-21_fp*2.e+0_fp**(-10) #elif defined(TOMAS15) Mo = 1.0e-21_fp*4.e+0_fp**(-3) #else Mo = 1.0e-21_fp #endif ICOMP = 0 IDIAG = 0 K = 0 IF (id_SF01 > 0) THEN ICOMP = ICOMP + 1 ENDIF IF ( id_SS01 > 0 ) THEN ICOMP = ICOMP + 1 ENDIF IF ( id_ECIL01 > 0 .AND. id_ECOB01 > 0 .AND. & id_OCIL01 > 0 .AND. id_OCOB01 > 0 ) THEN ICOMP = ICOMP + 1 ICOMP = ICOMP + 1 ICOMP = ICOMP + 1 ICOMP = ICOMP + 1 ENDIF IF ( id_DUST01 > 0 ) THEN ICOMP = ICOMP + 1 ENDIF ! Have to add one more for aerosol water IF( ICOMP > 1 ) THEN ICOMP = ICOMP + 1 IDIAG = IDIAG + 1 ICOMP = ICOMP + 1 IDIAG = IDIAG + 1 ENDIF IF ( Input_Opt%Verbose ) THEN print *, 'In init_TOMAS, ICOMP = ', ICOMP print *, 'In init_TOMAS, IBINS = ', IBINS ENDIF !================================================================= ! Allocate arrays !================================================================= ALLOCATE( Xk( State_Chm%nTomasBins+1 ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'Xk [TOMAS]' ) Xk(:) = 0e+0_fp ALLOCATE( AVGMASS( State_Chm%nTomasBins ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'AVGMASS [TOMAS]' ) AVGMASS(:) = 0e+0_fp ALLOCATE( OCSCALE30( State_Chm%nTomasBins ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'OCSCALE30 [TOMAS]' ) OCSCALE30(:) = 0e+0_fp ALLOCATE( OCSCALE100( State_Chm%nTomasBins ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'OCSCALE100 [TOMAS]' ) OCSCALE100(:) = 0e+0_fp ALLOCATE( ECSCALE30( State_Chm%nTomasBins ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'ECSCALE30 [TOMAS]' ) ECSCALE30(:) = 0e+0_fp ALLOCATE( ECSCALE100( State_Chm%nTomasBins ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'ECSCALE100 [TOMAS]' ) ECSCALE100(:) = 0e+0_fp ALLOCATE( MOLWT( ICOMP ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'MOLWT [TOMAS]' ) MOLWT(:) = 0e+0_fp ALLOCATE( H2SO4_RATE(State_Grid%NX,State_Grid%NY,State_Grid%NZ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'H2SO4_RATE' ) H2SO4_RATE = 0.0e+0_fp ALLOCATE( PSO4AQ_RATE(State_Grid%NX,State_Grid%NY,State_Grid%NZ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'PSO4AQ_RATE' ) PSO4AQ_RATE = 0.0e+0_fp #if defined( TOMAS12 ) || defined( TOMAS15 ) !tomas12 or tomas15 ! use for fossil fuel (bimodal) OCSCALE30 = [ & #ifdef TOMAS15 0.0e+0_fp, 0.0e+0_fp, 0.0e+0_fp, & #endif 1.1291e-03_fp, 4.9302e-03_fp, 1.2714e-02_fp, 3.6431e-02_fp, & 1.0846e-01_fp, 2.1994e-01_fp, 2.7402e-01_fp, 2.0750e-01_fp, & 9.5304e-02_fp, 2.6504e-02_fp, 1.2925e-02_fp, 1.6069e-05_fp ] ! use for biomass burning OCSCALE100 = [ & #ifdef TOMAS15 0.0e+0_fp, 0.0e+0_fp, 0.0e+0_fp, & #endif 1.9827e-06_fp, 3.9249e-05_fp, 5.0202e-04_fp, 4.1538e-03_fp, & 2.2253e-02_fp, 7.7269e-02_fp, 1.7402e-01_fp, 2.5432e-01_fp, & 2.4126e-01_fp, 1.4856e-01_fp, 7.6641e-02_fp, 9.8120e-04_fp ] ! use for fossil fuel (bimodal) ECSCALE30 = [ & #ifdef TOMAS15 0.0e+0_fp, 0.0e+0_fp, 0.0e+0_fp, & #endif 1.1291e-03_fp, 4.9302e-03_fp, 1.2714e-02_fp, 3.6431e-02_fp, & 1.0846e-01_fp, 2.1994e-01_fp, 2.7402e-01_fp, 2.0750e-01_fp, & 9.5304e-02_fp, 2.6504e-02_fp, 1.2925e-02_fp, 1.6069e-05_fp ] ! use for biomass burning ECSCALE100 = [ & #ifdef TOMAS15 0.0e+0_fp, 0.0e+0_fp, 0.0e+0_fp, & #endif 1.9827e-06_fp, 3.9249e-05_fp, 5.0202e-04_fp, 4.1538e-03_fp, & 2.2253e-02_fp, 7.7269e-02_fp, 1.7402e-01_fp, 2.5432e-01_fp, & 2.4126e-01_fp, 1.4856e-01_fp, 7.6641e-02_fp, 9.8120e-04_fp ] #else !tomas30 or tomas40 ! use for fossil fuel OCSCALE30 = [ & #ifdef TOMAS40 0.0e+0_fp, 0.0e+0_fp, 0.0e+0_fp, 0.0e+0_fp, 0.0e+0_fp, & 0.0e+0_fp, 0.0e+0_fp, 0.0e+0_fp, 0.0e+0_fp, 0.0e+0_fp, & #endif 1.04e-03_fp, 2.77e-03_fp, 6.60e-03_fp, 1.41e-02_fp, 2.69e-02_fp, & 4.60e-02_fp, 7.06e-02_fp, 9.69e-02_fp, 1.19e-01_fp, 1.31e-01_fp, & 1.30e-01_fp, 1.15e-01_fp, 9.07e-02_fp, 6.44e-02_fp, 4.09e-02_fp, & 2.33e-02_fp, 1.19e-02_fp, 5.42e-03_fp, 2.22e-03_fp, 8.12e-04_fp, & 2.66e-04_fp, 7.83e-05_fp, 2.06e-05_fp, 4.86e-06_fp, 1.03e-06_fp, & 1.94e-07_fp, 3.29e-08_fp, 4.99e-09_fp, 6.79e-10_fp, 8.26e-11_fp ] ! use for biomass burning OCSCALE100 = [ & #ifdef TOMAS40 0.0e+0_fp, 0.0e+0_fp, 0.0e+0_fp, 0.0e+0_fp, 0.0e+0_fp, & 0.0e+0_fp, 0.0e+0_fp, 0.0e+0_fp, 0.0e+0_fp, 0.0e+0_fp, & #endif 3.2224e-07_fp, 1.6605e-06_fp, 7.6565e-06_fp, 3.1592e-05_fp, 0.00011664_fp, & 0.00038538_fp, 0.0011394_fp, 0.0030144_fp, 0.0071362_fp, 0.015117_fp, & 0.028657_fp, 0.048612_fp, 0.073789_fp, 0.10023_fp, 0.12182_fp, & 0.1325_fp, 0.12895_fp, 0.11231_fp, 0.087525_fp, 0.061037_fp, & 0.038089_fp, 0.02127_fp, 0.010628_fp, 0.0047523_fp, 0.0019015_fp, & 0.00068081_fp, 0.00021813_fp, 6.2536e-05_fp, 1.6044e-05_fp, 3.6831e-06_fp ] ! use for fossil fuel ECSCALE30 = [ & #ifdef TOMAS40 0.0e+0_fp, 0.0e+0_fp, 0.0e+0_fp, 0.0e+0_fp, 0.0e+0_fp, & 0.0e+0_fp, 0.0e+0_fp, 0.0e+0_fp, 0.0e+0_fp, 0.0e+0_fp, & #endif 1.04e-03_fp, 2.77e-03_fp, 6.60e-03_fp, 1.41e-02_fp, 2.69e-02_fp, & 4.60e-02_fp, 7.06e-02_fp, 9.69e-02_fp, 1.19e-01_fp, 1.31e-01_fp, & 1.30e-01_fp, 1.15e-01_fp, 9.07e-02_fp, 6.44e-02_fp, 4.09e-02_fp, & 2.33e-02_fp, 1.19e-02_fp, 5.42e-03_fp, 2.22e-03_fp, 8.12e-04_fp, & 2.66e-04_fp, 7.83e-05_fp, 2.06e-05_fp, 4.86e-06_fp, 1.03e-06_fp, & 1.94e-07_fp, 3.29e-08_fp, 4.99e-09_fp, 6.79e-10_fp, 8.26e-11_fp ] ! use for biomass burning ECSCALE100 = [ & #ifdef TOMAS40 0.0e+0_fp, 0.0e+0_fp, 0.0e+0_fp, 0.0e+0_fp, 0.0e+0_fp, & 0.0e+0_fp, 0.0e+0_fp, 0.0e+0_fp, 0.0e+0_fp, 0.0e+0_fp, & #endif 3.2224e-07_fp, 1.6605e-06_fp, 7.6565e-06_fp, 3.1592e-05_fp, 0.00011664_fp, & 0.00038538_fp, 0.0011394_fp, 0.0030144_fp, 0.0071362_fp, 0.015117_fp, & 0.028657_fp, 0.048612_fp, 0.073789_fp, 0.10023_fp, 0.12182_fp, & 0.1325_fp, 0.12895_fp, 0.11231_fp, 0.087525_fp, 0.061037_fp, & 0.038089_fp, 0.02127_fp, 0.010628_fp, 0.0047523_fp, 0.0019015_fp, & 0.00068081_fp, 0.00021813_fp, 6.2536e-05_fp, 1.6044e-05_fp, 3.6831e-06_fp ] #endif !================================================================= ! Calculate aerosol size bin boundaries (dry mass / particle) !================================================================= #if defined(TOMAS12) || defined(TOMAS15) DO K = 1, IBINS + 1 if(k.lt.ibins)then xk(k)=Mo * 4.e+0_fp**(k-1) !mass quadrupling else xk(k)=xk(k-1) * 32.e+0_fp endif ENDDO #else DO K = 1, IBINS + 1 Xk( k ) = Mo * 2.e+0_fp ** ( K-1 ) ENDDO #endif DO K = 1, IBINS AVGMASS( k ) = sqrt(Xk(k)*Xk(k+1)) ENDDO DO J = 1, ICOMP IF ( J == SRTSO4 ) THEN MOLWT(J) = 98.0 ELSE IF ( J == SRTNACL ) THEN MOLWT(J) = 58.5 ELSE IF ( J == SRTH2O ) THEN MOLWT(J) = 18.0 ELSE IF ( J == SRTECIL ) THEN MOLWT(J) = 12.0 ELSE IF ( J == SRTECOB ) THEN MOLWT(J) = 12.0 ELSE IF ( J == SRTOCIL ) THEN MOLWT(J) = 12.0 ELSE IF ( J == SRTOCOB ) THEN MOLWT(J) = 12.0 ELSE IF ( J == SRTDUST ) THEN MOLWT(J) = 100.0 ELSE IF ( J == SRTNH4 ) THEN MOLWT(J) = 18.0 ELSE PRINT *,'INIT_TOMAS ERROR: Modify code for more species!!' CALL ERROR_STOP('INIT_TOMAS','Modify code for new species') ENDIF ENDDO !================================================================= ! Create a look-up table for activating bin and scavenging ! fraction as a function of chemical composition. !================================================================= IF ( IBINS == 12 .OR. IBINS == 15 ) THEN fname(1) = TRIM( DATA_DIR ) // 'binact02_12.dat' fname(2) = TRIM( DATA_DIR ) // 'binact10_12.dat' fname(3) = TRIM( DATA_DIR ) // 'fraction02_12.dat' fname(4) = TRIM( DATA_DIR ) // 'fraction10_12.dat' ELSE IF ( IBINS == 30 .OR. IBINS == 40 ) THEN fname(1) = TRIM( DATA_DIR ) // 'binact02.dat' fname(2) = TRIM( DATA_DIR ) // 'binact10.dat' fname(3) = TRIM( DATA_DIR ) // 'fraction02.dat' fname(4) = TRIM( DATA_DIR ) // 'fraction10.dat' END IF CALL READBINACT ( fname(1), BINACT1 ) CALL READBINACT ( fname(2), BINACT2 ) CALL READFRACTION( fname(3), FRACTION1 ) CALL READFRACTION( fname(4), FRACTION2 ) !initialize yu lookup table !call READJIMN5D( Input_Opt, RC ) ! yu nucleation inputs ! Find a free file LUN LUN = findFreeLUN() ! Read cosmic ray ion input file FILENAME = TRIM( DATA_DIR ) // 'IonPairs1GV.4x5' OPEN( unit=LUN, FILE=TRIM( FILENAME ), FORM='FORMATTED', STATUS='OLD' ) DO L=1,9 DO J=1,46 DO I=1,72 READ( LUN ,'(I5,I5,I5,E10.3)') dum1,dum2,dum3,cosmic_ions(I,J,L) IF ( Input_Opt%Verbose ) THEN if (I.eq.50.and.J.eq.20.and.L.eq.5)then print*,'ion test',cosmic_ions(I,J,L) endif ENDIF ENDDO ENDDO ENDDO !carbon emission factors: ! Close file CLOSE( LUN ) END SUBROUTINE INIT_TOMAS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: readbinact ! ! !DESCRIPTION: !\\ !\\ ! !INTERFACE: ! SUBROUTINE READBINACT( INFILE, BINACT ) ! ! !USES: ! USE inquireMod, ONLY : findFreeLun ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=255) INFILE ! ! !OUTPUT PARAMETERS: ! INTEGER BINACT(101,101,101) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER INNUM, II, JJ, KK, LUN ! Find a free file LUN INNUM = findFreeLun() 1 FORMAT(I2) OPEN(UNIT=INNUM,FILE=INFILE,FORM='FORMATTED',STATUS='OLD') DO II=1,101 DO JJ=1,101 DO KK=1,101 READ(INNUM,1) BINACT(KK,JJ,II) IF (BINACT(KK,JJ,II).eq.0) BINACT(KK,JJ,II)=IBINS + 1 ENDDO ENDDO ENDDO CLOSE(INNUM) RETURN END SUBROUTINE READBINACT !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: readfraction ! ! !DESCRIPTION: !\\ !\\ ! !INTERFACE: ! SUBROUTINE READFRACTION(INFILE,FRACTION) ! ! !USES: ! USE inquireMod, ONLY : findFreeLun ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=255) INFILE ! ! !OUTPUT PARAMETERS: ! REAL(fp) FRACTION(101,101,101) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER INNUM, II, JJ, KK ! Find a free file LUN INNUM = findFreeLun() 1 FORMAT(F6.5) OPEN(UNIT=INNUM,FILE=INFILE,FORM='FORMATTED',STATUS='OLD') DO II=1,101 DO JJ=1,101 DO KK=1,101 READ(INNUM,1) FRACTION(KK,JJ,II) IF (FRACTION(KK,JJ,II).GT.1.) FRACTION(KK,JJ,II)=0. ENDDO ENDDO ENDDO CLOSE(INNUM) RETURN END SUBROUTINE READFRACTION !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: getfraction ! ! !DESCRIPTION: Subroutine GETFRACTION calculate the mass fraction of each ! soluble component i.e. SO4, sea-salt, hydrophilic OC to use as inputs for a ! lookup table of activating bin and scavenging fraction. (win, 9/10/07) !\\ !\\ ! !INTERFACE: ! SUBROUTINE GETFRACTION( I, J, L, N, & LS, State_Chm, State_Grid, State_Met, & FRACTION, SOLFRAC, UnitFactor ) ! ! !USES: ! USE ERROR_MOD, ONLY : ERROR_STOP USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Chm_Mod, ONLY : Ind_ USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE UnitConv_Mod ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I, J, L ! Grid box index INTEGER, INTENT(IN) :: N ! Species ID LOGICAL, INTENT(IN) :: LS ! True=LS (stratiform) precip, ! False= convective precip TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Met State object REAL(fp), INTENT(IN) :: UnitFactor ! Unit conversion factor ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: FRACTION ! Scavenging fraction ! in grid box REAL(fp), INTENT(OUT) :: SOLFRAC ! Soluble mass fraction ! ! of aerosol population ! ! in grid box ! ! !REMARKS: ! This routine is called from the convection routines (via wetscav_mod.F90 ! routines COMPUTE_F and DO_RAINOUT_ONLY. (bmy, 7/18/16) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars REAL*4 :: MECIL, MOCIL, MOCOB, MSO4, MNACL, MTOT REAL*4 :: MECOB, MDUST REAL*4 :: XOCIL, XSO4, XNACL INTEGER :: ISO4, INACL, IOCIL INTEGER :: GETBINACT INTEGER :: BIN INTEGER :: OFFSET CHARACTER(LEN=255) :: MSG, LOC ! Pointers TYPE(SpcConc), POINTER :: Spc(:) !================================================================= ! GETFRACTION begins here !================================================================= ! Point to chemical species array ! Units are now [kg/m2] in wet deposition and [kg/kg total air] in ! convection (ewl, 9/29/15) Spc => State_Chm%Species BIN = N - id_NK01 + 1 IF ( BIN > IBINS ) THEN BIN = MOD( BIN, IBINS ) IF ( BIN == 0 ) BIN = IBINS ENDIF MECIL = 0.E0 MOCIL = 0.E0 MOCOB = 0.E0 MSO4 = 0.E0 MNACL = 0.E0 MDUST = 0.E0 IF ( id_ECIL01 > 0 .AND.id_OCIL01 > 0 .AND. id_OCOB01 > 0 ) THEN MECIL = Spc(id_ECIL01-1+BIN)%Conc(I,J,L) * UNITFACTOR MOCIL = Spc(id_OCIL01-1+BIN)%Conc(I,J,L) * UNITFACTOR MOCOB = Spc(id_OCOB01-1+BIN)%Conc(I,J,L) * UNITFACTOR ENDIF IF ( id_DUST01 > 0 ) MDUST = Spc(id_DUST01-1+BIN)%Conc(I,J,L) * UNITFACTOR !account for ammonium sulfate IF ( id_SF01 > 0 ) MSO4 = Spc(id_SF01-1+BIN)%Conc(I,J,L) * 1.2 * UNITFACTOR IF ( id_SS01 > 0 ) MNACL = Spc(id_SS01-1+BIN)%Conc(I,J,L) * UNITFACTOR MTOT = MECIL + MOCIL + MOCOB + MSO4 + MNACL + MDUST + 1.e-20 XOCIL = MOCIL / MTOT XSO4 = MSO4 / MTOT XNACL = MNACL / MTOT ISO4 = MIN(101, INT(XSO4*100)+1) INACL = MIN(101, INT(XNACL*100)+1) IOCIL = MIN(101, INT(XOCIL*100)+1) !========================================================== ! subroutine was written considering bin 1 is 10nm ! in TOMAS-40, bin 1 is 1nm and bin 11 is 10nm !========================================================== #if defined(TOMAS40) OFFSET = 10 #elif defined(TOMAS15) OFFSET = 3 #else OFFSET = 0 #endif IF ( LS ) THEN GETBINACT = BINACT1(ISO4, INACL, IOCIL) + OFFSET ELSE GETBINACT = BINACT2(ISO4, INACL, IOCIL) + OFFSET ENDIF if((GETBINACT.lt.0).or.(GETBINACT.gt.50))then print*,'BINACT ERROR GETBINACT=',GETBINACT stop endif !print*,'N, BINACT = ',N,GETBINACT IF ( GETBINACT > BIN ) THEN FRACTION = 0. !NOT ACTIVATED ELSE IF ( GETBINACT == BIN ) THEN IF ( LS ) THEN FRACTION = FRACTION1(ISO4, INACL, IOCIL ) !PARTLY ACTIVATED ELSE FRACTION = FRACTION2(ISO4, INACL, IOCIL ) !PARTLY ACTIVATED ENDIF ELSE FRACTION = 1. !ALL ACTIVATED ENDIF ! Calculate the soluble fraction of mass MECOB = 0.E0 IF ( id_ECOB01 > 0 ) MECOB = Spc(id_ECOB01-1+BIN)%Conc(I,J,L) * UNITFACTOR SOLFRAC = MTOT / ( MTOT + MECOB ) ! Free pointer Spc => NULL() END SUBROUTINE GETFRACTION !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: getactbin ! ! !DESCRIPTION: !\\ !\\ ! !INTERFACE: ! SUBROUTINE GETACTBIN ( I, J, L, N, LS, BINACT, State_Chm, RC ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE UnitConv_Mod ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I, J, L ! Grid box index INTEGER, INTENT(IN) :: N ! Species ID LOGICAL, INTENT(IN) :: LS ! True=LS (stratiform) precip, ! False= convective precip ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: BINACT INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL*4 :: MECIL, MOCIL, MOCOB, MSO4, MNACL, MTOT REAL*4 :: MECOB, MDUST REAL*4 :: XOCIL, XSO4, XNACL INTEGER :: ISO4, INACL, IOCIL INTEGER :: BIN INTEGER :: OFFSET CHARACTER(LEN=255) :: MSG, LOC ! For species unit check (ewl) ! Pointers TYPE(SpcConc), POINTER :: Spc(:) !================================================================= ! GETACTBIN begins here !================================================================= ! Assume success RC = GC_SUCCESS ! Check that species units are in [kg] IF ( .not. Check_Units( State_Chm, KG_SPECIES ) ) THEN MSG = 'Not all species are in kg!' LOC = 'Routine GETACTBIN in tomas_mod.F90' CALL ERROR_STOP( MSG, LOC ) ENDIF ! Point to chemical species array Spc => State_Chm%Species BIN = N - id_NK01 + 1 IF ( BIN > IBINS ) THEN BIN = MOD( BIN, IBINS ) IF ( BIN == 0 ) BIN = IBINS ENDIF MECIL = 0.E0 MOCIL = 0.E0 MOCOB = 0.E0 MSO4 = 0.E0 MNACL = 0.E0 IF ( id_ECIL01 > 0 .AND.id_OCIL01 > 0 .AND. id_OCOB01 > 0 ) THEN MECIL = Spc(id_ECIL01-1+BIN)%Conc(I,J,L) MOCIL = Spc(id_OCIL01-1+BIN)%Conc(I,J,L) MOCOB = Spc(id_OCOB01-1+BIN)%Conc(I,J,L) ENDIF IF ( id_DUST01 > 0 ) MDUST = Spc(id_DUST01-1+BIN)%Conc(I,J,L) MSO4 = Spc(id_SF01-1+BIN)%Conc(I,J,L) * 1.2 !account for ammonium sulfate MNACL = Spc(id_SS01-1+BIN)%Conc(I,J,L) MTOT = MECIL + MOCIL + MOCOB + MSO4 + MNACL + MDUST + 1.e-20 XOCIL = MOCIL / MTOT XSO4 = MSO4 / MTOT XNACL = MNACL / MTOT ISO4 = MIN(101, INT(XSO4*100)+1) INACL = MIN(101, INT(XNACL*100)+1) IOCIL = MIN(101, INT(XOCIL*100)+1) !========================================================== ! subroutine was written considering bin 1 is 10nm ! in TOMAS-40, bin 1 is 1nm and bin 11 is 10nm !========================================================== #if defined(TOMAS40) OFFSET = 10 #elif defined(TOMAS15) OFFSET = 3 #else OFFSET = 0 #endif IF ( LS ) THEN BINACT = BINACT1(ISO4, INACL, IOCIL) + OFFSET ELSE BINACT = BINACT2(ISO4, INACL, IOCIL) + OFFSET ENDIF ! Free pointer Spc => NULL() RETURN END SUBROUTINE GETACTBIN !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ezwatereqm ! ! !DESCRIPTION: WRITTEN BY Peter Adams, March 2000 ! . ! This routine uses the current RH to calculate how much water is ! in equilibrium with the aerosol. Aerosol water concentrations ! are assumed to be in equilibrium at all times and the array of ! concentrations is updated accordingly. ! . ! Introduced to GEOS-CHEM by Win Trivitayanurak. May 8, 2006. ! This file is replacing the old ezwatereqm that was not compatible ! with multicomponent aerosols. The new ezwatereqm use external ! functions to do ISORROPIA-result curve fitting for each aerosol ! component. ! WARNING : ! *** Watch out for the new aerosol species added in the future! ! . ! This version of the routine works for sulfate and sea salt ! particles. They are assumed to be externally mixed and their ! associated water is added up to get total aerosol water. ! wr is the ratio of wet mass to dry mass of a particle. Instead ! of calling a thermodynamic equilibrium code, this routine uses a ! simple curve fits to estimate wr based on the current humidity. ! The curve fit is based on ISORROPIA/HETP results for ammonium bisulfate ! at 273 K and sea salt at 273 K. !\\ !\\ ! !INTERFACE: ! SUBROUTINE EZWATEREQM( Mke, RHTOMAS ) ! ! !INPUT PARAMETERS: ! REAL*4, INTENT(IN) :: RHTOMAS ! ! !INPUT/OUTPUT PARAMETERS: ! REAL(fp),INTENT(INOUT) :: Mke(IBINS,ICOMP) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: k, j REAL(fp) :: so4mass, naclmass, ocilmass REAL(fp) :: wrso4, wrnacl, wrocil REAL(fp) :: rhe !======================================================================== ! EZWATEREQM begins here! !======================================================================== rhe=100.e+0_fp*rhtomas if (lowRH == 1) THEN !JKodros RH switch if (rhe .gt. 90.e+0_fp) rhe=90.e+0_fp ELSE if (rhe .gt. 99.e+0_fp) rhe=99.e+0_fp END IF !JKodros RH switch if (rhe .lt. 1.e+0_fp) rhe=1.e+0_fp do k=1,ibins so4mass=Mke(k,srtso4)*1.2 !1.2 converts kg so4 to kg nh4hso4 wrso4=waterso4(rhe) ! Add condition for srtnacl in case of running so4 only. (win, 5/8/06) if (srtnacl.gt.0) then naclmass=Mke(k,srtnacl) !already as kg nacl - no conv necessary wrnacl=waternacl(rhe) else naclmass = 0.e+0_fp wrnacl = 1.e+0_fp endif if (srtocil.gt.0) then ocilmass=Mke(k,srtocil) !already as kg ocil - no conv necessary wrocil=waterocil(rhe) else ocilmass = 0.e+0_fp wrocil = 1.e+0_fp endif Mke(k,srth2o)=so4mass*(wrso4-1.e+0_fp)+naclmass & *(wrnacl-1.e+0_fp) & +ocilmass*(wrocil-1.e+0_fp) enddo RETURN END SUBROUTINE EZWATEREQM !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ezwatereqm2 ! ! !DESCRIPTION: Subroutine EZWATEREQM2 is just like EZWATEREQM but access ! directly to STT array unlike EZWATEREQM that needs the array Mke to be ! passed in and out. This subroutine is for calling from outside microphysics ! module. (win, 8/6/07) !\\ !\\ ! !INTERFACE: ! SUBROUTINE EZWATEREQM2( I, J, L, BIN, State_Met, State_Chm, RC ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I, J, L, BIN TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars REAL(fp) :: RHE REAL(fp) :: SO4MASS, NACLMASS, OCILMASS REAL(fp) :: WRSO4, WRNACL, WROCIL CHARACTER(LEN=255) :: MSG, LOC ! For species unit check (ewl) ! Pointers TYPE(SpcConc), POINTER :: Spc(:) !======================================================================== ! EZWATEREQM2 begins here! !======================================================================== ! Assume success RC = GC_SUCCESS ! Point to chemical species array [kg] Spc => State_Chm%Species rhe = State_Met%RH(i,j,l) !RH [=] percent if (rhe .gt. 99.) rhe=99. if (rhe .lt. 1.) rhe=1. so4mass=Spc(id_SF01-1+bin)%Conc(I,J,L)*1.2 !1.2 converts kg so4 to kg nh4hso4 wrso4=waterso4(rhe) !use external function ! Add condition for srtnacl in case of running so4 only. (win, 5/8/06) if (id_SS01.gt.0) then naclmass=Spc(id_SS01-1+bin)%Conc(I,J,L) !already as kg nacl - no conv necessary wrnacl=waternacl(rhe) !use external function else naclmass = 0.e+0_fp wrnacl = 1.e+0_fp endif if (id_OCIL01 > 0) then ocilmass=Spc(id_OCIL01-1+bin)%Conc(I,J,L) !already as kg ocil - no conv necessary wrocil=waterocil(rhe) else ocilmass = 0.e+0_fp wrocil = 1.e+0_fp endif Spc(id_AW01-1+bin)%Conc(I,J,L)= so4mass*(wrso4-1.e+0_fp) + & naclmass*(wrnacl-1.e+0_fp) & + ocilmass*(wrocil-1.e+0_fp) ! Free pointer Spc => NULL() RETURN END SUBROUTINE EZWATEREQM2 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: eznh3eqm ! ! !DESCRIPTION: Subroutine EZNH3REQM2 puts ammonia to the particle phase until ! there is 2 moles of ammonium per mole of sulfate and the remainder ! of ammonia is left in the gas phase. (win, 9/30/08) !\\ !\\ ! !INTERFACE: ! SUBROUTINE EZNH3EQM( Gce, Mke ) ! ! !INPUT/OUTPUT PARAMETERS: ! REAL(fp), INTENT(INOUT) :: Gce(icomp - 1) !sfarina - fixed incorrect definition of Gc array REAL(fp), INTENT(INOUT) :: Mke(ibins,icomp) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! integer :: k REAL(fp) :: tot_nh3 !total kmoles of ammonia REAL(fp) :: tot_so4 !total kmoles of so4 REAL(fp) :: sfrac !fraction of sulfate that is in that bin !======================================================================== ! EZNH3EQM begins here! !======================================================================== ! get the total number of kmol nh3 tot_nh3 = Gce(srtnh4)/17.e+0_fp do k=1,ibins tot_nh3 = tot_nh3 + Mke(k,srtnh4)/18.e+0_fp enddo ! get the total number of kmol so4 tot_so4 = 0.e+0_fp do k=1,ibins tot_so4 = tot_so4 + Mke(k,srtso4)/96.e+0_fp enddo ! see if there is free ammonia if (tot_nh3/2.e+0_fp.lt.tot_so4)then ! no free ammonia Gce(srtnh4) = 0.e+0_fp ! no gas phase ammonia do k=1,ibins sfrac = Mke(k,srtso4)/96.e+0_fp/tot_so4 Mke(k,srtnh4) = sfrac*tot_nh3*18.e+0_fp ! put the ammonia where the sulfate is ! Debug !if ( Mke(k,srtnh4) < 0.0 ) then ! print *,'negative gas phase ammonia in eznh3eqm!!' ! print *,'bin ', k !endif enddo else ! free ammonia do k=1,ibins Mke(k,srtnh4) = Mke(k,srtso4)/96.e+0_fp*2.e+0_fp*18.e+0_fp ! fill the particle phase ! Debug !if ( Mke(k,srtnh4) < 0.0 ) then ! print *,'negative gas phase ammonia in eznh3eqm!!' ! print *,'bin ', k !endif enddo Gce(srtnh4) = (tot_nh3 - tot_so4*2.e+0_fp)*17.e+0_fp ! put whats left over in the gas phase ! Debug !if ( Gce(srtnh4) < 0.0 ) then ! print *,'negative gas phase ammonia in eznh3eqm!!' !endif endif RETURN END SUBROUTINE EZNH3EQM !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: aero_diaden ! ! !DESCRIPTION: AERO/_DIADEN calculate the diameter and density by calling ! external functions GETDP and AERODENS respectively. (win, 7/19/07) ! Note: This subroutine is created for supplying diameter and density for ! dry dep velocity calculation in DEPVEL. Did not want to add much ! to DEPVEL. !\\ !\\ ! !INTERFACE: ! SUBROUTINE AERO_DIADEN( LEV, Input_Opt, State_Chm, State_Grid, State_Met, & State_Diag, DIA, DENSITY, RC ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE UnitConv_Mod ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: LEV TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diag State object ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: DIA(State_Grid%NX,State_Grid%NY,IBINS) REAL(fp), INTENT(OUT) :: DENSITY(State_Grid%NX,State_Grid%NY,IBINS) INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I,J, BIN, JC, TRACID, WID INTEGER :: N, NA, nAdvect, previous_units REAL(fp) :: MSO4, MNACL, MH2O REAL(fp) :: MECIL, MECOB, MOCIL, MOCOB, MDUST CHARACTER(LEN=255) :: MSG, LOC ! Arrays REAL(fp) :: AMASS(ICOMP) ! Pointers TYPE(SpcConc), POINTER :: Spc(:) !======================================================================== ! AERO_DIADEN begins here! !======================================================================== ! Assume success RC = GC_SUCCESS ! Convert species units to [kg] for this routine. ! NOTE: For complete area-independence, species units will need to be ! mixing ratio or mass per unit area in TOMAS CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & new_units = KG_SPECIES, & previous_units = previous_units, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN CALL GC_Error('Unit conversion error', RC, & 'Routine AERO_DIADEN in tomas_mod.F90') RETURN ENDIF ! Check that species units are in [kg] IF ( State_Chm%Species(id_NK01)%Units /= KG_SPECIES ) THEN MSG = 'Not all species have units "kg"!' LOC = 'Routine AERO_DIADEN in tomas_mod.F90' CALL GC_Error( MSG, RC, LOC ) ENDIF ! Point to the chemical species array Spc => State_Chm%Species ! Initialize mass mixing ratios MSO4 = 0e+0_fp MNACL = 0e+0_fp MH2O = 0e+0_fp MECIL = 0e+0_fp MECOB = 0e+0_fp MOCIL = 0e+0_fp MOCOB = 0e+0_fp MDUST = 0e+0_fp CALL CHECKMN( 0, 0, 0, Input_Opt, State_Chm, State_Grid, State_Met, & State_Diag, 'AERO_DIADEN called from DEPVEL', RC ) !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( MECIL, MECOB, MOCIL, MOCOB, MDUST ) & !$OMP PRIVATE( BIN, I, J, TRACID, WID, MH2O, MSO4, MNACL ) & !$OMP SCHEDULE( DYNAMIC ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX DO BIN = 1, IBINS TRACID = id_NK01 + BIN - 1 !print *,"TRACID=",TRACID,"id_NK01=",id_NK01, "BIN=", BIN WID = id_NK01 + (ICOMP - 1)*IBINS - 1 + BIN !(fixed WID to 281-310. dmw 10/3/09) !print *, "wid=", WID, "ICOMP=", ICOMP, "IBINS=", IBINS ! Get the diameter from an external function DIA(I,J,BIN) = GETDP( I, J, LEV, TRACID, State_Met, State_Chm, RC ) ! Prepare the mass mixing ratio to call external function ! for density MH2O = Spc(WID)%Conc(I,J,1) IF ( id_SF01 > 0 ) MSO4 = Spc(id_SF01-1+BIN)%Conc(I,J,LEV) IF ( id_SS01 > 0 ) MNACL = Spc(id_SS01-1+BIN)%Conc(I,J,LEV) IF ( id_ECIL01 > 0 .AND. id_ECOB01 > 0 .AND. & id_OCIL01 > 0 .AND. id_OCOB01 > 0 ) THEN MECIL = Spc(id_ECIL01-1+BIN)%Conc(I,J,LEV) MECOB = Spc(id_ECOB01-1+BIN)%Conc(I,J,LEV) MOCIL = Spc(id_OCIL01-1+BIN)%Conc(I,J,LEV) MOCOB = Spc(id_OCOB01-1+BIN)%Conc(I,J,LEV) ENDIF IF ( id_DUST01 > 0 ) MDUST = Spc(id_DUST01-1+BIN)%Conc(I,J,LEV) ! Get density from external function DENSITY(I,J,BIN) = AERODENS(MSO4,0.e+0_fp,1.875e-1_fp*MSO4, & MNACL, MECIL, MECOB, & MOCIL, MOCOB, MDUST, MH2O ) ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ! Check that species units are in [kg] IF ( .not. Check_Units( State_Chm, KG_SPECIES ) ) THEN MSG = 'Not all species are in kg!' LOC = 'Routine AERO_DIADEN in tomas_mod.F90' CALL GC_Error( MSG, RC, LOC ) ENDIF ! Convert species units back to original unit CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & new_units = previous_units, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN CALL GC_Error('Unit conversion error', RC, & 'Routine AERO_DIADEN in tomas_mod.F90') RETURN ENDIF ! Free pointer Spc => NULL() RETURN END SUBROUTINE AERO_DIADEN !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: check_mn ! ! !DESCRIPTION: Subroutine CHECKMN use the subroutine MNFIX to check for error ! in the aerosol mass and number inconsistencies. (win, 7/24/07) !\\ !\\ ! !INTERFACE: ! SUBROUTINE CHECKMN( II, JJ, LL, Input_Opt, State_Chm, & State_Grid, State_Met, State_Diag, & LOCATION, RC ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE State_Diag_Mod, ONLY : DgnState USE UnitConv_Mod ! ! !INPUT PARAMETERS: ! INTEGER :: II, JJ, LL CHARACTER(LEN=*), INTENT(IN) :: LOCATION TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diag State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, J, L INTEGER :: I1, I2, J1, J2, L1, L2 INTEGER :: K, JC, NKID, TRACNUM, MPNUM CHARACTER(LEN=255) :: MSG, LOC ! For species unit check (ewl) LOGICAL :: ERRORSWITCH ! Make ERRORSWITCH = .TRUE. to get full print ! for debugging !sfarina REAL(fp) :: Nk(IBINS), Nkd(IBINS) REAL(fp) :: Mk(IBINS, ICOMP) REAL(fp) :: Mkd(IBINS,ICOMP) REAL(fp) :: Gc(ICOMP - 1) REAL(fp) :: Gcd(ICOMP - 1) REAL*4 :: BOXVOL REAL*4 :: BOXMASS REAL(fp) :: XFER(IBINS) ! Pointers TYPE(SpcConc), POINTER :: Spc(:) !================================================================= ! CHECKMN begins here! !================================================================= ! Assume success RC = GC_SUCCESS ! Point to chemical species array [kg] Spc => State_Chm%Species ERRORSWITCH = .FALSE. ! Check that species units are in [kg] IF ( .not. Check_Units( State_Chm, KG_SPECIES ) ) THEN MSG = 'Not all species are in kg!' LOC = 'Routine CHECKMN in tomas_mod.F90: ' // TRIM( LOCATION ) CALL ERROR_STOP( MSG, LOC ) ENDIF ! Check throughout all grid boxes IF ( II == 0 .and. JJ == 0 .and. LL == 0 ) THEN I1 = 1 I2 = State_Grid%NX J1 = 1 J2 = State_Grid%NY L1 = 1 L2 = State_Grid%NZ ELSE ! Check at a single grid I1 = II I2 = II J1 = JJ J2 = JJ L1 = LL L2 = LL ENDIF !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L ) & !$OMP PRIVATE( Nk, Nkd, Mk, Mkd, K, TRACNUM, JC, MPNUM, BOXVOL, BOXMASS ) & !$OMP PRIVATE( GC, GCd, ERRORSWITCH ) & !$OMP SCHEDULE( DYNAMIC ) DO I = I1, I2 DO J = J1, J2 DO L = L1, L2 BOXVOL = State_Met%AIRVOL(I,J,L) * 1.e6 !convert from m3 -> cm3 BOXMASS = State_Met%AD(I,J,L) !kg ! Swap GEOSCHEM variables into aerosol algorithm variables DO K = 1, IBINS TRACNUM = id_NK01 - 1 + K ! Check for nan IF ( IT_IS_NAN( Spc(TRACNUM)%Conc(I,J,L) ) ) & print *, 'Found NaN at',I, J, L,'Species',TRACNUM NK(K) = Spc(TRACNUM)%Conc(I,J,L) DO JC = 1, ICOMP-IDIAG TRACNUM = id_NK01 - 1 + K + IBINS*JC IF ( IT_IS_NAN( Spc(TRACNUM)%Conc(I,J,L) ) ) & print *, 'Found NaN at',I, J, L,'Species',TRACNUM MK(K,JC) = Spc(TRACNUM)%Conc(I,J,L) ENDDO MK(K,SRTH2O) = Spc(id_AW01-1+K)%Conc(I,J,L) ENDDO DO JC = 1, ICOMP - 1 Gc(JC) = 0.0 !sfarina - init Gc so storenm doesn't go NaN on us. END DO ! Get NH4 mass from the bulk mass and scale to bin with sulfate IF ( SRTNH4 > 0 ) THEN CALL NH4BULKTOBIN( MK(:,SRTSO4), Spc(id_NH4)%Conc(I,J,L), XFER ) MK(1:IBINS,SRTNH4) = XFER(1:IBINS) Gc(SRTNH4) = Spc(id_NH3)%Conc(I,J,L) ENDIF !if ( i==26 .and. j==57 .and. l==13 ) & ! call debugprint(Nk,Mk,i,j,l,'In CHECKMN') CALL STORENM(Nk, Nkd, Mk, Mkd, Gc, Gcd) !if(i==47.and.j==10.and.l==7) ERRORSWITCH = .TRUE. !if(i==22.and.j==33.and.l==2) ! call debugprint( NK, MK, i,j,l,LOCATION) CALL MNFIX( NK, MK, ERRORSWITCH ) IF ( ERRORSWITCH ) THEN PRINT *, 'CHECKMN is going to terminate at grid',I,J,L !IF( .not. SPINUP(14.0) ) THEN CALL ERROR_STOP( 'MNFIX found error', LOCATION ) !ELSE ! PRINT *,'Let error go during spin up' !ENDIF ENDIF ! Save the error fixing to diagnostic AERO-FIX IF ( LOCATION .eq. 'Before Aerodrydep') THEN MPNUM = 17 IF ( State_Diag%Archive_TomasMNFIXcheck1mass .or. & State_Diag%Archive_TomasMNFIXcheck1number ) THEN CALL AERODIAG( MPNUM, I, J, L, Nk, Nkd, Mk, Mkd, BOXMASS, & State_Grid, State_Diag ) ENDIF ELSEIF ( LOCATION .eq. 'Before exiting DO_TOMAS') THEN MPNUM = 18 IF ( State_Diag%Archive_TomasMNFIXcheck2mass .or. & State_Diag%Archive_TomasMNFIXcheck2number ) THEN CALL AERODIAG( MPNUM, I, J, L, Nk, Nkd, Mk, Mkd, BOXMASS, & State_Grid, State_Diag ) ENDIF ELSEIF ( LOCATION .eq. 'AERO_DIADEN called from DEPVEL' ) THEN MPNUM = 19 IF ( State_Diag%Archive_TomasMNFIXcheck3mass .or. & State_Diag%Archive_TomasMNFIXcheck3number ) THEN CALL AERODIAG( MPNUM, I, J, L, Nk, Nkd, Mk, Mkd, BOXMASS, & State_Grid, State_Diag ) ENDIF ENDIF ! Swap Nk and Mk arrays back to Spc DO K = 1, IBINS TRACNUM = id_NK01 - 1 + K Spc(TRACNUM)%Conc(I,J,L) = Nk(K) DO JC = 1, ICOMP-IDIAG TRACNUM = id_NK01 - 1 + K + IBINS*JC Spc(TRACNUM)%Conc(I,J,L) = Mk(K,JC) ENDDO Spc(id_AW01-1+K)%Conc(I,J,L) = MK(K,SRTH2O) ENDDO ENDDO ENDDO ENDDO !$OMP END PARALLEL DO IF ( Input_Opt%Verbose ) THEN WRITE(6,*)' #### CHECKMN: finish at ',LOCATION ENDIF ! Free pointer Spc => NULL() END SUBROUTINE CHECKMN !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: mnfix ! ! !DESCRIPTION: Subroutine MNFIX examines the mass and number distrubution and ! determine if any bins have an average mass outside their normal range. This ! can happen because some process, e.g. advection, seems to treat the mass and ! number species inconsistently. If any bins are out of range, I shift some ! mass and number to a new bin in a way that conserves both. (win, 7/23/07) ! Originally written by Peter Adams, September 2000 ! Modified for GEOS-CHEM by Win Trivitayanurak (win@cmu.edu) !\\ !\\ ! !INTERFACE: ! SUBROUTINE MNFIX ( NK, MK, ERRORSWITCH ) ! ! !USES: ! USE ERROR_MOD, ONLY : ERROR_STOP, IT_IS_NAN ! ! !INPUT/OUTPUT PARAMETERS: ! REAL(fp), INTENT(INOUT) :: NK(IBINS), MK(IBINS, ICOMP) LOGICAL, INTENT(INOUT) :: ERRORSWITCH ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! integer :: K,J,KK !counters integer :: NEWBIN !bin number into which mass is shifted REAL(fp) :: XOLD, XNEW !average masses of old and new bins REAL(fp) :: DRYMASS !dry mass of in a bin REAL(fp) :: AVG !average dry mass of particles in bin REAL(fp) :: NUM_INITIAL !number of particles initially in problem bin REAL(fp) :: NSHIFT !number to shift to new bin REAL(fp) :: MSHIFT !mass to shift to new bin REAL(fp) :: FJ !fraction of mass that is component j REAL(fp) :: save1,save2,save3,save4,save5 REAL(fp), PARAMETER :: EPS = 1.e-20_fp !small number for Nk REAL(fp), PARAMETER :: EPS2 = 1.e-28_fp !small number for Mk REAL(fp), PARAMETER :: TINY = 1.e-36_fp !small number REAL(fp), PARAMETER :: VTINY= 1.e-50_fp !very small number LOGICAL :: FIXERROR LOGICAL :: PRT REAL(fp) :: TOTMAS, TOTNUM !for print debug !================================================================= ! MNFIX begins here! !================================================================= FIXERROR = .TRUE. PRT = .FALSE. PRT = ERRORSWITCH !just carrying a signal to print out value at the observed box - since mnfix does not have any information about I,J,L location. (Win, 9/27/05) ERRORSWITCH = .FALSE. PRT = .FALSE. !TO AVOID THE HUGE AMOUNT OF PRINTING (JKodros 6/2/15) !xk(1)=xk(2)/2.e+0_fp ! jrp for some reason xk(1) is changing?! save1=xk(1) ! Check for any incoming negative values or NaN !-------------------------------------------------------------------------- DO K = 1, IBINS IF ( IT_IS_NAN(NK(K)) ) THEN PRINT *,'11 Found Nan in Nk at bin',K ERRORSWITCH = .TRUE. print *,'11 MNFIX(0): Found NaN in Nk(,',k,')' GOTO 300 ENDIF DO J = 1, ICOMP IF ( IT_IS_NAN(MK(K,J)) ) THEN PRINT *,'11 Found Nan in Mk at bin',K,'component',J ERRORSWITCH = .TRUE. GOTO 300 ENDIF ENDDO IF ( NK(K) < 0e+0_fp ) THEN IF ( PRT ) THEN PRINT *,'MNFIX[0]: FOUND NEGATIVE N' PRINT *, 'Bin, N', K, NK(K) ENDIF IF ( ABS(NK(K)) < 1e+0_fp .and. FIXERROR ) THEN NK(K) = 0e+0_fp IF ( PRT ) PRINT *,'Negative N > -1.0 Reset to zero' ELSE ERRORSWITCH = .TRUE. print *,'MNFIX(0): Found negative Nk(',k,') <-1e+0_fp' GOTO 300 !exit mnfix if found negative error (win, 4/18/06) ENDIF ENDIF IF ( IT_IS_NAN(NK(K)) ) THEN PRINT *,'Found Nan in Nk at bin',K ERRORSWITCH = .TRUE. print *,'MNFIX(0): Found NaN in Nk(,',k,')' GOTO 300 ENDIF DO J = 1, ICOMP IF ( MK(K,J) < 0e+0_fp ) THEN IF ( PRT ) THEN PRINT *,'MNFIX[0]: FOUND NEGATIVE M' PRINT *,'Bin, Comp, Mk', K, J, MK(K,J) ENDIF IF( ABS(MK(K,J)) < 1e-5_fp .and. FIXERROR ) THEN MK(K,J) = 0e+0_fp IF ( PRT ) PRINT *,'Negative M > -1.d-5 Reset to zero' ELSE ERRORSWITCH =.TRUE. print *,'MNFIX(0): Found negative Mk(',k,',comp',j,')' GOTO 300 !exit mnfix if found negative error (win, 4/18/06) ENDIF ENDIF IF ( IT_IS_NAN(MK(K,J)) ) THEN PRINT *,'Found Nan in Mk at bin',K,'component',J ERRORSWITCH = .TRUE. GOTO 300 ENDIF ENDDO !icomp ENDDO !ibins save2=xk(1) ! JRP check for neg numbers !DO K = 1,IBINS ! IF (NK(K) < 0.e+0_fp) THEN ! print*,'1 NK < 0 in MNFIX',K,NK(K) ! ENDIF ! DO J=1,ICOMP ! IF (MK(K,J) < 0.e+0_fp) THEN ! print*,'1 MK < 0 in MNFIX',K,J,MK(K,J) ! ENDIF ! ENDDO ! IF ( IT_IS_NAN(NK(K)) ) THEN ! PRINT *,'11 Found Nan in Nk at bin',K ! ERRORSWITCH = .TRUE. ! print *,'11 MNFIX(0): Found NaN in Nk(,',k,')' ! GOTO 300 ! ENDIF ! DO J = 1, ICOMP ! IF ( IT_IS_NAN(MK(K,J)) ) THEN ! PRINT *,'11 Found Nan in Mk at bin',K,'component',J ! ERRORSWITCH = .TRUE. ! GOTO 300 ! ENDIF ! ENDDO !ENDDO ! Check if both number and mass are zero, if yes then exit mnfix. !---------------------------------------------------------------- TOTNUM = 0e+0_fp TOTMAS = 0e+0_fp DO K = 1,IBINS TOTNUM = TOTNUM + NK(K) DO J=1,ICOMP-IDIAG TOTMAS = TOTMAS + MK(K,J) ENDDO ENDDO IF ( TOTNUM == 0e+0_fp .AND. TOTMAS == 0e+0_fp ) THEN IF ( PRT ) PRINT *,'MNFIX: Nk=Mk=0. Exit now' GOTO 300 ENDIF ! If number is tiny ( < EPS) then set it to zero !DO K = 1,IBINS ! IF ( NK(K) <= EPS ) THEN ! NK(K) = 0e+0_fp ! DO J= 1, ICOMP-1 ! MK(K,J) = 0e+0_fp ! ENDDO !STOP !original (win, 9/1/05) ! ENDIF !ENDDO ! If N is tiny and M is tiny, set both to zeroes !-------------------------------------------------------- DO K = 1, IBINS IF ( IT_IS_NAN(NK(K)) ) THEN PRINT *,'22 Found Nan in Nk at bin',K ERRORSWITCH = .TRUE. print *,'22 MNFIX(0): Found NaN in Nk(,',k,')' GOTO 300 ENDIF DO J = 1, ICOMP IF ( IT_IS_NAN(MK(K,J)) ) THEN PRINT *,'22 Found Nan in Mk at bin',K,'component',J ERRORSWITCH = .TRUE. GOTO 300 ENDIF ENDDO IF ( NK(K) <= EPS .AND. NK(K)>= 0e+0_fp ) THEN !print*,'1111' !print*,k,EPS,xk(K),xk(K+1) !print*,'word up' NK(K) = EPS !NK(K) = 0.e+0_fp !DO J = 1, ICOMP-IDIAG DO J = 1, ICOMP if (J .eq. 1) then !MK(K,J) = EPS*sqrt(xk(K)*xk(K+1)) MK(K,J) = EPS*AVGMASS(k) !MK(K,J) = 0.e+0_fp else MK(K,J) = VTINY endif enddo !print*,'allbins',MK(:,1) ENDIF ! If tiny number TOTMAS = SUM(MK(K,1:ICOMP-IDIAG)) if (TOTMAS.lt.eps2) then !print*,'2222' NK(K) = EPS !NK(K) = 0.e+0_fp DO J = 1, ICOMP !DO J = 1, ICOMP-IDIAG if (J .eq. 1) then !MK(K,J) = EPS*sqrt(xk(K)*xk(K+1)) MK(K,J) = EPS*AVGMASS(k) !MK(K,J) = 0.e+0_fp else MK(K,J) = VTINY endif enddo endif ENDDO save3=xk(1) ! JRP check for neg numbers DO K = 1,IBINS IF (NK(K) < 0.e+0_fp) THEN print*,'2 NK < 0 in MNFIX',K,NK(K) ENDIF DO J=1,ICOMP IF (MK(K,J) < 0.e+0_fp) THEN print*,'2 MK < 0 in MNFIX',K,J,MK(K,J) ENDIF ENDDO IF ( IT_IS_NAN(NK(K)) ) THEN PRINT *,'2 Found Nan in Nk at bin',K ERRORSWITCH = .TRUE. print *,'2 MNFIX(0): Found NaN in Nk(,',k,')' GOTO 300 ENDIF DO J = 1, ICOMP IF ( IT_IS_NAN(MK(K,J)) ) THEN PRINT *,'2 Found Nan in Mk at bin',K,'component',J ERRORSWITCH = .TRUE. GOTO 300 ENDIF ENDDO ENDDO ! Check to see if any bins are completely out of bounds for min or max bin !------------------------------------------------------------------------- DO K = 1, IBINS DRYMASS = 0.e+0_fp DO J = 1, ICOMP-IDIAG DRYMASS = DRYMASS + MK(K,J) ENDDO IF ( NK(k) == 0e+0_fp ) THEN !AVG = SQRT( xk(K)* xk(K+1) ) AVG = SQRT( AVGMASS(k) ) ELSE AVG = DRYMASS/ NK(K) ENDIF IF ( AVG > xk(IBINS+1) ) THEN IF ( PRT ) PRINT *, 'MNFIX [1]: AVG > Xk(ibins+1) at bin',K IF ( FIXERROR ) THEN !out of bin range - remove some mass MSHIFT = NK(k)* xk(IBINS+1)/ 1.2 DO J= 1, ICOMP MK(K,J) = MK(K,J)* MSHIFT/ (DRYMASS+EPS2) ENDDO ELSE ERRORSWITCH = .TRUE. print *,'MNFIX(1): AVG>Xk(ibins+1) at bin',K GOTO 300 ENDIF ENDIF IF ( AVG < xk(1)) THEN IF( PRT ) PRINT *,'MNFIX [2]: AVG < Xk(1)' IF( FIXERROR ) THEN !out of bin range - remove some number NK(K) = DRYMASS/ ( xk(1)* 1.2 ) ELSE ERRORSWITCH = .TRUE. print *,'MNFIX(1): AVG < Xk(1) at bin',K GOTO 300 ENDIF ENDIF ENDDO ! JRP check for neg numbers DO K = 1,IBINS IF (NK(K) < 0.e+0_fp) THEN print*,'3 NK < 0 in MNFIX',K,NK(K) ENDIF DO J=1,ICOMP IF (MK(K,J) < 0.e+0_fp) THEN print*,'3 MK < 0 in MNFIX',K,J,MK(K,J) ENDIF ENDDO IF ( IT_IS_NAN(NK(K)) ) THEN PRINT *,'3 Found Nan in Nk at bin',K ERRORSWITCH = .TRUE. print *,'3 MNFIX(0): Found NaN in Nk(,',k,')' GOTO 300 ENDIF DO J = 1, ICOMP IF ( IT_IS_NAN(MK(K,J)) ) THEN PRINT *,'3 Found Nan in Mk at bin',K,'component',J ERRORSWITCH = .TRUE. GOTO 300 ENDIF ENDDO ENDDO save4=xk(1) !if (PRT) then ! ! print *,'After_Check2 ---------------------' ! do k=1,ibins ! totmas = sum(MK(k,1:icomp-1)) ! print *, totmas,NK(k), totmas/NK(k) ! enddo !endif !print*,1,NK(1),NK(2) !print*,1,MK(1,:) !print*,1,MK(2,:) ! Check to see if any bins are out of bounds !------------------------------------------------------------------- DO K = 1, IBINS !if (PRT) print *,'Now at bin',k !tmp (win, 9/28/05) DRYMASS = 0.e+0_fp DO J = 1, ICOMP-IDIAG DRYMASS = DRYMASS + MK(K,J) ENDDO IF ( NK(K) == 0e+0_fp ) THEN !AVG = SQRT(xk(K)*xk(K+1)) !set to mid-range value AVG = AVGMASS(k) !set to mid-range value ELSE AVG = DRYMASS/NK(K) ENDIF !if (PRT) then ! ! print *,'After_Check3---------------------' ! totmas = sum(MK(k,1:icomp-1)) ! print *, totmas,NK(k), totmas/NK(k) !endif ! If over boundary of the current bin IF ( AVG > xk(K+1) ) THEN IF ( PRT ) PRINT *, 'MNFIX [3]: AVG>Xk(',K+1,')' IF ( PRT ) CALL DEBUGPRINT(NK,MK,0,0,0,'inside MNFIX') IF ( FIXERROR ) THEN !Average mass is too high - shift to higher bin !KK = K + 1 ! jrp, this was causing errors !ERRORSWITCH=.TRUE. KK = K XNEW = xk(KK+1)/ 1.1 if ( PRT ) PRINT *, 'k',k,'AVG',AVG,' XNEW ',XNEW 100 IF ( XNEW <= AVG ) THEN IF ( KK < IBINS ) THEN KK = KK + 1 XNEW = xk(KK+1)/ 1.1 if (PRT) PRINT *, '..move up to bin ',KK,' XNEW ',XNEW GOTO 100 ELSE ! Already reach highest bin - must remove some mass (win, 8/1/07) ! Updated by jrp 3/1/2012 MSHIFT = NK(k)* xk(k+1)/ 1.1 if( PRT ) PRINT*,' Mass being discarded: ' DO J= 1, ICOMP !if (PRT) !print*,'Removing mass in MNFIX',MSHIFT, DRYMASS MK(K,J) = MK(K,J)* MSHIFT/ (DRYMASS) ENDDO ! and recalculate dry mass (win, 8/1/07) DRYMASS = 0.e+0_fp ! jrp fix 2/29/12 DO J = 1, ICOMP-IDIAG DRYMASS = DRYMASS + MK(K,J) ENDDO GOTO 111 ENDIF ENDIF if(PRT)print*,'Old NK',NK(k),'Old DRYMASS',DRYMASS,'bin',k !XOLD = SQRT( xk(K)* xk(K+1) ) XOLD = AVGMASS(k) NUM_INITIAL = NK(K) NSHIFT = ( DRYMASS - XOLD * NUM_INITIAL )/ ( XNEW - XOLD ) MSHIFT = XNEW * NSHIFT NK(K) = NK(K) - NSHIFT NK(KK) =NK(KK) + NSHIFT if(prt) then print*,'NSHIFT',NSHIFT, 'MSHIFT',MSHIFT print*,'New NK',k,NK(k),' Nk(kk)',kk,NK(kk) print*,'Total mass bin',k,sum(MK(k,1:icomp-idiag)) print*,'SO4 mass bin ',k,(MK(k,srtso4)) print*,'Total mass bin',kk,sum(MK(kk,1:icomp-idiag)) print*,'SO4 mass bin ' ,kk,(MK(kk,srtso4)) endif DO J = 1, ICOMP-IDIAG FJ = MK(K,J)/ DRYMASS MK(K,J) = XOLD * NK(K) * FJ MK(KK,J) = MK(KK,J) + MSHIFT * FJ ENDDO if(prt) then print*,'After shift mass' print*,'Total mass bin',k,sum(MK(k,1:icomp-idiag)) print*,'SO4 mass bin ',k,(MK(k,srtso4)) print*,'Total mass bin',kk,sum(MK(kk,1:icomp-idiag)) print*,'SO4 mass bin ',kk,(MK(kk,srtso4)) endif ELSE ERRORSWITCH = .TRUE. PRINT *, 'MNFIX(3) : AVG>Xk(',K+1,')' GOTO 300 ENDIF ! Fixerror ENDIF ! AVG > Xk(k+1) !if (PRT) then ! ! print *,'After_Check4---------------------' ! totmas = sum(MK(k,1:icomp-1)) ! print *, totmas,NK(k), totmas/NK(k) !endif ! If under boundary of the current bin 111 IF ( AVG < xk(K) ) THEN IF ( PRT ) PRINT *,'MNFIX [4]: AVG= AVG ) THEN IF ( KK > 1 ) THEN KK = KK - 1 XNEW = xk(KK)* 1.1 GOTO 200 ELSE ! Already reach lowest bin - must remove some number (win, 8/1/07) NK(K) = DRYMASS/ ( xk(1)* 1.2 ) GOTO 222 ENDIF ENDIF !XOLD = SQRT(xk(K)* xk(K+1)) XOLD = AVGMASS(k) NUM_INITIAL = NK(K) NSHIFT = NUM_INITIAL - DRYMASS/XOLD !(win, 10/20/08) !Prior to 10/20/08 (win) !NSHIFT = (DRYMASS - XOLD * NUMBER)/ ( XNEW - XOLD ) MSHIFT = XNEW * NSHIFT NK(K) = NK(K) - NSHIFT NK(KK) = NK(KK) + NSHIFT DO J=1,ICOMP FJ = MK(K,J)/ DRYMASS MK(K,J) = XOLD * NK(K) * FJ MK(KK,J) = MK(KK,J) + MSHIFT * FJ ENDDO ELSE ERRORSWITCH = .TRUE. PRINT *, 'MNFIX(4): AVG < Xk(',k,')' GOTO 300 ENDIF 222 ENDIF !if (PRT) then ! ! print *,'After_Check5---------------------' ! totmas = sum(MK(k,1:icomp-1)) ! print *, totmas,NK(k), totmas/NK(k) !endif !if (PRT) print *,MK(k,1),NK(k), MK(k,1)/NK(k),'Check5'!tmp (win, 9/28/05) ENDDO ! loop bin save5=xk(1) !print*,2,NK(1),NK(2) !print*,2,MK(1,:) !print*,2,MK(2,:) ! JRP check for neg numbers DO K = 1,IBINS IF (NK(K) < 0.e+0_fp) THEN print*,'4 NK < 0 in MNFIX',K,NK(K) ENDIF DO J=1,ICOMP IF (MK(K,J) < 0.e+0_fp) THEN print*,'4 MK < 0 in MNFIX',K,J,MK(K,J) print*,'saved xk1s',save1,save2,save3,save4,save5 print*,'xk',xk ENDIF ENDDO IF ( IT_IS_NAN(NK(K)) ) THEN PRINT *,'4 Found Nan in Nk at bin',K ERRORSWITCH = .TRUE. print *,'4 MNFIX(0): Found NaN in Nk(,',k,')' GOTO 300 ENDIF DO J = 1, ICOMP IF ( IT_IS_NAN(MK(K,J)) ) THEN PRINT *,'4 Found Nan in Mk at bin',K,'component',J ERRORSWITCH = .TRUE. GOTO 300 ENDIF ENDDO ENDDO !if (PRT) then ! ! Catch any small negative values resulting from fixing !-------------------------------------------------------------------------- DO K = 1, IBINS IF ( NK(K) < 0e+0_fp ) THEN IF ( PRT ) THEN PRINT *,'MNFIX[5]: FOUND NEGATIVE N' PRINT *, 'Bin, N', K, NK(K) ENDIF IF ( ABS(NK(K)) < 1e+0_fp .and. FIXERROR ) THEN NK(K) = 0e+0_fp IF ( PRT ) PRINT *,'Negative N > -1.0 Reset to zero' ELSE ERRORSWITCH = .TRUE. PRINT *, 'MNFIX(5): Negative N after fixing at bin',k GOTO 300 !exit mnfix if found negative error (win, 4/18/06) ENDIF ENDIF DO J = 1, ICOMP IF ( MK(K,J) < 0e+0_fp ) THEN IF ( PRT ) THEN PRINT *,'MNFIX[6]: FOUND NEGATIVE M' PRINT *,'Bin, Comp, Mk', K, J, MK(K,J) ENDIF IF( ABS(MK(K,J)) < 1D-5 .and. FIXERROR ) THEN MK(K,J) = 0e+0_fp IF ( PRT ) PRINT *,'Negative M > -1.d-5 Reset to zero' ELSE ERRORSWITCH =.TRUE. PRINT *, 'MNFIX(6): Negative M after fixing at bin',k GOTO 300 !exit mnfix if found negative error (win, 4/18/06) ENDIF ENDIF ENDDO !icomp ENDDO !ibins ! JRP check for neg numbers DO K = 1,IBINS IF (NK(K) < 0.e+0_fp) THEN print*,'5 NK < 0 in MNFIX',K,NK(K) ENDIF DO J=1,ICOMP IF (MK(K,J) < 0.e+0_fp) THEN print*,'5 MK < 0 in MNFIX',K,J,MK(K,J) ENDIF ENDDO IF ( IT_IS_NAN(NK(K)) ) THEN PRINT *,'5 Found Nan in Nk at bin',K ERRORSWITCH = .TRUE. print *,'5 MNFIX(0): Found NaN in Nk(,',k,')' GOTO 300 ENDIF DO J = 1, ICOMP IF ( IT_IS_NAN(MK(K,J)) ) THEN PRINT *,'5 Found Nan in Mk at bin',K,'component',J ERRORSWITCH = .TRUE. GOTO 300 ENDIF ENDDO ENDDO ! Check any last inconsistent M=0 or N=0 !-------------------------------------------------------- DO K = 1, IBINS DRYMASS = 0.e+0_fp DO J = 1, ICOMP-IDIAG DRYMASS = DRYMASS + MK(K,J) ENDDO IF ( NK(K) /= 0e+0_fp .AND. DRYMASS == 0e+0_fp .or. & NK(K) == 0e+0_fp .AND. DRYMASS /= 0e+0_fp ) THEN PRINT *, '5.5 set nk, mk to ZERO for all bins' DO J = 1, ICOMP MK(K,J)=0.e+0_fp NK(K) = 0.e+0_fp ENDDO MK(K,ICOMP) = 0.e+0_fp !Set aerosol water to zero too ENDIF ! If tiny number ENDDO ! JRP check for neg numbers DO K = 1,IBINS IF (NK(K) < 0.e+0_fp) THEN print*,'6 NK < 0 in MNFIX',K,NK(K) STOP ENDIF DO J=1,ICOMP IF (MK(K,J) < 0.e+0_fp) THEN print*,'6 MK < 0 in MNFIX',K,J,MK(K,J) STOP ENDIF ENDDO ENDDO 300 CONTINUE IF (ERRORSWITCH) THEN 555 FORMAT (3E15.5E2) WRITE(6,*)'END OF MNFIX ( WHERE? )' WRITE(6,*)'DRYMAS-excl-NH4 NK DRYMASS/NK' DO K = 1,IBINS TOTMAS = SUM(MK(K,1:ICOMP-1)) !PRINT *, TOTMAS,NK(K), TOTMAS/NK(K) ENDDO !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !%%% NOTE: NK will be IBINS+1 upon exiting the loop, which will cause an !%%% out-of-bounds error. Comment this out for now, unless it should be !%%% inserted into the DOloop !WRITE(6,555) ! TOTMAS, NK(K), ! TOTMAS/ NK(K) !print*,'-----------' !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% call debugprint( NK, MK, 0,0,0,'End of MNFIX') !write(*,*)'Nk' !write(*,*) NK(1:30) !write(*,*)'Mk(srtso4)' !write(*,*) MK(1:30,srtso4) !write(*,*)'Mk(srth2o)' !write(*,*) MK(1:30,srth2o) !STOP 'Negative Nk or Mk at after mnfix' !comment out this to make it stop outside mnfix so that I can print out the i,j,l (location) of the error (win, 9/1/05) ENDIF RETURN END SUBROUTINE MNFIX !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: subgridcoag ! ! !DESCRIPTION: Subroutine SUBGRIDCOAG determine how much of each size of ! freshly emitted aerosol will be scavenged by coagulation prior to being ! completely mixed in the gridbox and will give the new emissions size ! distribution along with where the mass of coagulated particles should be ! added. ! Written by Jeff Pierce, December, 2006 ! Implement in GEOS-Chem by Win Trivitayanurak, 10/4/07 !\\ !\\ ! !INTERFACE: ! SUBROUTINE SUBGRIDCOAG( NDISTINIT, NDIST, MDIST, BOXVOLUME,TEMP, & PRES,TSCALE, NDISTFINAL, MADDFINAL, pdbug) ! ! !ARGUMENTS: ! !ndistinit(nbins) : the number of particles being added to the gridbox ! before subgrid coag !ndist(nbins) : the number of particles in the box !mdist(nbins,icomp) : the mass of each component in the box. (kg) !boxvolume : volume of box in cm3 !tscale : the scale time for mixing (s) !ndistfinal(nbins) : the number of particles being added to the gridbox ! after subgrid coag !maddfinal(nbins) : the mass that should be added to each bin due to ! coagulation (kg) REAL(fp) ndistinit(ibins) REAL(fp) ndist(ibins) REAL(fp) mdist(ibins,icomp) REAL*4 boxvolume, temp , PRES REAL*4 tscale REAL(fp) ndistfinal(ibins) REAL(fp) maddfinal(ibins) logical pdbug ! for pringing out during debugging ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) mp ! mass of the particle (kg) REAL*4 density !density (kg/m3) of particles REAL(fp) fracdiaml(ibins,ibins) ! fraction of coagulation that occurs with each bin larger REAL(fp) kcoag(ibins) ! the coagulation rate for the particles in each bin (s^-1) !REAL*4 aerodens !external aerodens REAL*4 mu !viscosity of air (kg/m s) REAL*4 mfp !mean free path of air molecule (m) REAL*4 Kn !Knudsen number of particle REAL*4 beta !correction for coagulation coeff. REAL(fp) Mktot !total mass of aerosol REAL*4 kij(ibins,ibins) REAL*4 Dpk(ibins) !diameter (m) of particles in bin k REAL*4 Dk(ibins) !Diffusivity (m2/s) of bin k particles REAL*4 ck(ibins) !Mean velocity (m/2) of bin k particles REAL*4 neps REAL*4 meps INTEGER I, J, K, KK LOGICAL ERRORSWITCH ! Adjustable parameters real*4 pi, kB !kB is Boltzmann constant (J/K) real*4 R !gas constant (J/ mol K) parameter (pi=3.141592654, kB=1.38e-23, R=8.314) parameter (neps=1E8, meps=1E-8) !================================================================= ! SUBGRIDCOAG begins here! !================================================================= if (pdbug) call debugprint(Ndist,Mdist,0,0,0,'SUBDGRIDCOAG: Entering') !Before going in to calculation, check and fix Nk and Mk ERRORSWITCH = .FALSE. !print *, 'mnfix in tomas_mod:7495' CALL MNFIX( NDIST, MDIST, ERRORSWITCH ) IF ( ERRORSWITCH ) THEN PRINT *,'SUBGRIDCOAG: MNFIX found error: Entering SUBGRIDCOAG' PDBUG = .TRUE. GOTO 11 ENDIF if (pdbug) call debugprint(Ndist,Mdist,0,0,0,'SUBDGRIDCOAG: after MNFIX_1') mu=2.5277e-7*temp**0.75302 mfp=2.0*mu / ( pres*sqrt( 8.0 * 0.0289 / (pi*R*temp) ) ) !S&P eqn 9.6 ! Calculate particle sizes and diffusivities do k=1,ibins Mktot=0.2*mdist(k,srtso4) do j=1, icomp Mktot=Mktot+mdist(k,j) enddo if (Mktot.gt.meps)then density=aerodens(mdist(k,srtso4),0e+0_fp, & 0.1875e+0_fp*mdist(k,srtso4),mdist(k,srtnacl), & mdist(k,srtecil),mdist(k,srtecob), & mdist(k,srtocil),mdist(k,srtocob),mdist(k,srtdust), & mdist(k,srth2o)) !assume bisulfate else density = 1400. endif if(ndist(k).gt.neps .and. Mktot.gt.meps)then mp=Mktot/ndist(k) else mp=sqrt(xk(k)*xk(k+1)) endif Dpk(k)=((mp/density)*(6./pi))**(0.333) Kn=2.0*mfp/Dpk(k) !S&P Table 12.1 Dk(k)=kB*temp/(3.0*pi*mu*Dpk(k)) & !S&P Table 12.1 *((5.0+4.0*Kn+6.0*Kn**2+18.0*Kn**3)/(5.0-Kn+(8.0+pi)*Kn**2)) ck(k)=sqrt(8.0*kB*temp/(pi*mp)) !S&P Table 12.1 enddo ! Calculate coagulation coefficients do i=1,ibins do j=1,ibins Kn=4.0*(Dk(i)+Dk(j)) & /(sqrt(ck(i)**2+ck(j)**2)*(Dpk(i)+Dpk(j))) !S&P eqn 12.51 beta=(1.0+Kn)/(1.0+2.0*Kn*(1.0+Kn)) !S&P eqn 12.50 !This is S&P eqn 12.46 with non-continuum correction, beta kij(i,j)=2.0*pi*(Dpk(i)+Dpk(j))*(Dk(i)+Dk(j))*beta kij(i,j)=kij(i,j)*1.0e6/boxvolume !normalize by grid cell volume enddo enddo ! get the first order loss rate kcoag(ibins)=0.0 !debug if(pdbug) print *,'Bin KCOAG' do k=1,ibins-1 kcoag(k)=0.0 do kk=k+1,ibins kcoag(k)=kcoag(k)+kij(k,kk)*ndist(kk) enddo !debug if(pdbug) print *, k, kcoag(k) enddo ! get the fraction of the coagulation that occurs from each bin larger do k=1,ibins do kk=1,ibins fracdiaml(k,kk)=0. enddo enddo do k=1,ibins-1 !debug if(pdbug) print *, 'Bin k', k !debug if(pdbug) print *, 'Bin kk fracdiaml(k,kk)' do kk=k+1,ibins if (kcoag(k).gt.0.e+0_fp)then fracdiaml(k,kk)=kij(k,kk)*ndist(kk)/kcoag(k) else fracdiaml(k,kk)=0.e+0_fp endif !debug if(pdbug) print *, kk, fracdiaml(k,kk) enddo enddo ! determine the number of new particles left after coagulation do k=1,ibins !ndistfinal(k)=ndistinit(k)*exp(-kcoag(k)*tscale) !print*, 'Betty is here tscale ',tscale,k,kcoag(k) ndistfinal(k)=ndistinit(k)*exp(-1.e+0_fp*kcoag(k)*tscale) enddo ! determine the mass added to each bin coagulation do k=1,ibins maddfinal(k)=0. enddo do k=1,ibins-1 do kk=k+1,ibins maddfinal(kk)=maddfinal(kk) + (ndistinit(k)-ndistfinal(k))* & fracdiaml(k,kk)*AVGMASS(k) !sfarina - not the slowest part of subgridcoag, but every little bit helps !maddfinal(kk)=maddfinal(kk) + (ndistinit(k)-ndistfinal(k))* & ! fracdiaml(k,kk)*sqrt(xk(k)*xk(k+1)) enddo enddo pdbug = .FALSE. 11 continue return END SUBROUTINE SUBGRIDCOAG !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: storenm ! ! !DESCRIPTION: Subroutine STORENM stores values of Nk and Mk into Nkd and Mkd ! for diagnostic purposes. Also do gas phase concentrations. (win, 7/23/07) !\\ !\\ ! !INTERFACE: ! SUBROUTINE STORENM(Nk, Nkd, Mk, Mkd, Gc, Gcd ) ! ! !INPUT PARAMETERS: ! REAL(fp),INTENT(IN) :: Nk(IBINS) REAL(fp),INTENT(IN) :: Mk(IBINS, ICOMP) REAL(fp),INTENT(IN) :: Gc(ICOMP - 1) ! ! !OUTPUT PARAMETERS: ! REAL(fp),INTENT(OUT) :: Nkd(IBINS) REAL(fp),INTENT(OUT) :: Mkd(IBINS,ICOMP) REAL(fp),INTENT(OUT) :: Gcd(ICOMP - 1) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: J, K !sfarina DO J= 1, ICOMP-1 Gcd(J)=Gc(J) ENDDO DO K = 1, IBINS Nkd(K)=Nk(K) DO J= 1, ICOMP Mkd(K,J)=Mk(K,J) ENDDO ENDDO RETURN END SUBROUTINE STORENM !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: debugprint ! ! !DESCRIPTION: Subroutine DEBUGPRINT print out the Nk and Mk values for error ! checking (win, 9/30/08) !\\ !\\ ! !INTERFACE: ! SUBROUTINE DEBUGPRINT( NK, MK, I,J,L, LOCATION) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: Nk(IBINS), MK(IBINS,ICOMP) INTEGER, INTENT(IN) :: I,J,L CHARACTER(LEN=*), INTENT(IN) :: LOCATION ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: JC, k, B WRITE(*,*) LOCATION, I, J, L !write(6,*) 'Nk(1:30)' !write(6,*) Nk(1:30) !do jc=1,icomp ! write(6,*) 'Mk(1:30) comp:',jc ! write(6,*) Mk(1:30,jc) !enddo write(*,111) 'Bin Num SO4 NaCl ', & 'ECIL ECOB OCIL OCOB ', & 'Dust NH4 Water ' DO K = 1, IBINS write(*,110) k,Nk(k), ( Mk(K,B), B=1,ICOMP ) ENDDO write(*,*) ' ' 110 FORMAT ( I2, 10E12.5 ) 111 FORMAT (a,a,a) END SUBROUTINE DEBUGPRINT !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: nh4bulktobin ! ! !DESCRIPTION: Subroutine NH4BULKTOBIN takes the bulk ammonium aerosol from ! GEOS-Chem and fraction it to each bin according to sulfate mole fraction in ! each bin ! Written by Win Trivityanurak, Sep 26, 2008 ! . ! Make sure that we work with mass or mass conc. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NH4BULKTOBIN( MSULF, NH4B, MAMMO ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: MSULF(IBINS) ! size-resolved sulfate [kg] REAL(fp), INTENT(IN) :: NH4B ! Bulk NH4 mass [kg] ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: MAMMO(IBINS) ! size-resolved NH4 [kg] ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: K REAL(fp) :: TOTMASS, NH4TEMP !================================================================= ! NH4BULKTOBIN begins here !================================================================= MAMMO(:) = 0.e+0_fp ! Sum the total sulfate TOTMASS = 0.e+0_fp DO K = 1, IBINS TOTMASS = TOTMASS + MSULF(K) ENDDO IF ( TOTMASS .eq. 0.e+0_fp ) RETURN ! Limit the amount of NH4 entering TOMAS calculation ! if it is very NH4-rich, just limit the amount to balance ! existing 30-bin-summed SO4 assuming (NH4)2SO4 in such case ! (NH4)2 mass = (SO4)mass / 96. * 2. * 18. = 0.375*(SO4)mass ! (win, 9/28/08) NH4TEMP = NH4B IF ( NH4B/TOTMASS > 0.375e+0_fp ) & !make sure we use mass ratio NH4TEMP = 0.375e+0_fp * TOTMASS ! Calculate ammonium aerosol scale to each bin DO K = 1, IBINS MAMMO(K) = MSULF(K) / TOTMASS * NH4TEMP ENDDO !write(777,*) NH4B/TOTMASS RETURN END SUBROUTINE NH4BULKTOBIN !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: aerodens ! ! !DESCRIPTION: Function AERODENS calculates the density (kg/m3) of a sulfate- ! nitrate-ammonium-nacl-OC-EC-dust-water mixture. Inorganic mass (sulfate- ! nitrate-ammonium-nacl-water) is assumed to be internally mixed. Then the ! density of inorg and EC, OC, and dust is combined weighted by mass. ! WRITTEN BY Peter Adams, May 1999 in GISS GCM-II' and extened to include ! carbonaceous aerosol in Jan, 2002. !\\ !\\ ! !INTERFACE: ! FUNCTION AERODENS( MSO4, MNO3, MNH4, MNACL, MECIL, MECOB, MOCIL, & MOCOB, MDUST, MH2O ) RESULT( VALUE ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: MSO4, MNO3, MNH4, MNACL, MH2O REAL(fp), INTENT(IN) :: MECIL, MECOB, MOCIL, MOCOB, MDUST ! ! !RETURN VALUE: ! REAL(fp) :: VALUE ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! real(fp) :: IDENSITY, DEC, DOC, DDUST, MTOT parameter(dec=2200., doc=1400., ddust=2650.) !================================================================= ! AERODENS begins here! !================================================================= IDENSITY = INODENS( MSO4, MNO3, MNH4, MNACL, MH2O ) MTOT = MSO4+MNO3+MNH4+MNACL+MH2O+MECIL+MECOB+MOCIL+MDUST+MOCOB IF ( MTOT > 0.e+0_fp ) THEN VALUE = ( IDENSITY*(MSO4+MNO3+MNH4+MNACL+MH2O) + & DEC*(MECIL+MECOB) + DOC*(MOCIL+MOCOB)+ & DDUST*MDUST )/MTOT ELSE VALUE = 1400. ENDIF END FUNCTION AERODENS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: inodens ! ! !DESCRIPTION: Function INODENS calculates the density (kg/m3) of a sulfate- ! nitrate-ammonium-nacl-water mixture that is assumed to be internally mixed. ! WRITTEN BY Peter Adams, May 1999 in GISS GCM-II' ! Introduced to GEOS-CHEM by Win Trivitayanurak (win@cmu.edu) 8/6/07 first ! as AERODENS, then change to INODENS on 9/3/07 !\\ !\\ ! !INTERFACE: ! FUNCTION INODENS( MSO4_, MNO3_, MNH4_, MNACL_, MH2O_ ) & RESULT( VALUE ) ! ! !INPUT PARAMETERS: ! ! mso4, mno3, mnh4, mh2o, mnacl - These are the masses of each aerosol ! component. Since the density is an intensive property, ! these may be input in a variety of units (ug/m3, mass/cell, etc.). REAL(fp), INTENT(IN) :: MSO4_, MNO3_, MNH4_, MNACL_, MH2O_ ! ! !RETURN VALUE: ! REAL(fp) :: VALUE ! ! !REMARKS: ! ----Literature cited---- ! I. N. Tang and H. R. Munkelwitz, Water activities, densities, and ! refractive indices of aqueous sulfates and sodium nitrate droplets ! of atmospheric importance, JGR, 99, 18,801-18,808, 1994 ! Ignatius N. Tang, Chemical and size effects of hygroscopic aerosols ! on light scattering coefficients, JGR, 101, 19,245-19,250, 1996 ! Ignatius N. Tang, Thermodynamic and optical properties of mixed-salt ! aerosols of atmospheric importance, JGR, 102, 1883-1893, 1997 ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! real(fp) MSO4, MNO3, MNH4, MNACL, MH2O !real(fp) so4temp, no3temp, nh4temp, nacltemp, h2otemp real(fp) mwso4, mwno3, mwnh4, mwnacl, mwh2o !molecular weights real(fp) ntot, mtot !total number of moles, mass real(fp) nso4, nno3, nnh4, nnacl, nh2o !moles of each species real(fp) xso4, xno3, xnh4, xnacl, xh2o !mole fractions real(fp) rso4, rno3, rnh4, rnacl, rh2o !partial molar refractions real(fp) ran, rs0, rs1, rs15, rs2 !same, but for solute species real(fp) asr !ammonium/sulfate molar ratio real(fp) nan, ns0, ns1, ns15, ns2, nss !moles of dry solutes (nss = sea salt) real(fp) xan, xs0, xs1, xs15, xs2, xss !mass % of dry solutes - Tang (1997) eq. 10 real(fp) dan, ds0, ds1, ds15, ds2, dss !binary solution densities - Tang (1997) eq. 10 real(fp) mwan, mws0, mws1, mws15, mws2 !molecular weights real(fp) yan, ys0, ys1, ys15, ys2, yss !mole fractions of dry solutes real(fp) yh2o real(fp) d !mixture density real(fp) xtot ! In the lines above, "an" refers to ammonium nitrate, "s0" to ! sulfuric acid, "s1" to ammonium bisulfate, and "s2" to ammonium sulfate. ! "nacl" or "ss" is sea salt. parameter(mwso4=96.e+0_fp, & mwno3=62.e+0_fp, & mwnh4=18.e+0_fp, & mwh2o=18.e+0_fp, & mwnacl=58.45e+0_fp) parameter(mwan=mwnh4+mwno3, & mws0=mwso4+2.e+0_fp, & mws1=mwso4+1.e+0_fp+mwnh4, & mws2=2.e+0_fp*mwnh4+mwso4) !================================================================= ! INODENS begins here! !================================================================= ! Pass initial component masses to local variables mso4=mso4_ mno3=mno3_ mnh4=mnh4_ mnacl=mnacl_ mh2o=mh2o_ !so4temp=mso4 !no3temp=mno3 !nh4temp=mnh4 !h2otemp=mh2o !nacltemp=mnacl ! [Pengfei Liu, avoid equality test with floating-point real numbers ! if the aerosol mass is zero - then just return the !typical density = 1500 kg/m3 (win, 1/4/06) !if (mso4 .eq. 0.e+0_fp .and. mno3 .eq.0.e+0_fp & ! .and. mnh4.eq.0.e+0_fp .and. mnacl .eq. 0.e+0_fp ) then ! VALUE = 1500.e+0_fp !kg/m3 ! goto 10 !endif if ((mso4+mno3+mnh4+mnacl) .gt. 0.e+0_fp) then CONTINUE else VALUE = 1500.e+0_fp !kg/m3 RETURN endif ! Pengfei Liu, 2018/02/07] ! Calculate mole fractions mtot = mso4+mno3+mnh4+mnacl+mh2o nso4 = mso4/mwso4 nno3 = mno3/mwno3 nnh4 = mnh4/mwnh4 nnacl = mnacl/mwnacl nh2o = mh2o/mwh2o ntot = nso4+nno3+nnh4+nnacl+nh2o xso4 = nso4/ntot xno3 = nno3/ntot xnh4 = nnh4/ntot xnacl = nnacl/ntot xh2o = nh2o/ntot ! If there are more moles of nitrate than ammonium, treat unneutralized ! HNO3 as H2SO4 if (nno3 .gt. nnh4) then !make the switch nso4=nso4+(nno3-nnh4) nno3=nnh4 mso4=nso4*mwso4 mno3=nno3*mwno3 !recalculate quantities mtot = mso4+mno3+mnh4+mnacl+mh2o nso4 = mso4/mwso4 nno3 = mno3/mwno3 nnh4 = mnh4/mwnh4 nnacl = mnacl/mwnacl nh2o = mh2o/mwh2o ntot = nso4+nno3+nnh4+nnacl+nh2o xso4 = nso4/ntot xno3 = nno3/ntot xnh4 = nnh4/ntot xnacl = nnacl/ntot xh2o = nh2o/ntot endif ! Calculate the mixture density ! Assume that nitrate exists as ammonium nitrate and that other ammonium ! contributes to neutralizing sulfate nan=nno3 if (nnh4 .gt. nno3) then !extra ammonium asr=(nnh4-nno3)/nso4 else !less ammonium than nitrate - all sulfate is sulfuric acid asr=0.e+0_fp endif if (asr .ge. 2.e+0_fp) asr=2.e+0_fp if (asr .ge. 1.e+0_fp) then !assume NH4HSO4 and (NH4)2(SO4) mixture !NH4HSO4 ns1=nso4*(2.e+0_fp-asr) !(NH4)2SO4 ns2=nso4*(asr-1.e+0_fp) ns0=0.e+0_fp else !assume H2SO4 and NH4HSO4 mixture !NH4HSO4 ns1=nso4*asr !H2SO4 ns0=nso4*(1.e+0_fp-asr) ns2=0.e+0_fp endif !Calculate weight percent of solutes xan=nan*mwan/mtot*100.e+0_fp xs0=ns0*mws0/mtot*100.e+0_fp xs1=ns1*mws1/mtot*100.e+0_fp xs2=ns2*mws2/mtot*100.e+0_fp xnacl=nnacl*mwnacl/mtot*100.e+0_fp xtot=xan+xs0+xs1+xs2+xnacl ! [Pengfei Liu, fix the polynomial issue !Calculate binary mixture densities (Tang, eqn 9) !dan=0.9971e+0_fp +4.05e-3_fp*xtot +9.0e-6_fp*xtot**2.e+0_fp !ds0=0.9971e+0_fp +7.367e-3_fp*xtot -4.934d-5*xtot**2.e+0_fp & ! +1.754e-6_fp*xtot**3.e+0_fp - 1.104d-8*xtot**4.e+0_fp !ds1=0.9971e+0_fp +5.87e-3_fp*xtot -1.89e-6_fp*xtot**2.e+0_fp & ! +1.763e-7_fp*xtot**3.e+0_fp !ds2=0.9971e+0_fp +5.92e-3_fp*xtot -5.036e-6_fp*xtot**2.e+0_fp & ! +1.024d-8*xtot**3.e+0_fp !dss=0.9971e+0_fp +7.41e-3_fp*xtot -3.741d-5*xtot**2.e+0_fp & ! +2.252e-6_fp*xtot**3.e+0_fp -2.06d-8*xtot**4.e+0_fp dan=0.9971e+0_fp + xtot * (4.05e-3_fp + 9.0e-6_fp * xtot) ds0=0.9971e+0_fp & +xtot*(7.367e-3_fp & +xtot*(-4.934d-5 & +xtot*(1.754e-6_fp & +xtot*(-1.104d-8 )))) ds1=0.9971e+0_fp & +xtot*(5.87e-3_fp & +xtot*(-1.89e-6_fp & +xtot*(1.763e-7_fp ))) ds2=0.9971e+0_fp & +xtot*(5.92e-3_fp & +xtot*(-5.036e-6_fp & +xtot*(1.024d-8 ))) dss=0.9971e+0_fp & +xtot*(7.41e-3_fp & +xtot*(-3.741d-5 & +xtot*(2.252e-6_fp & +xtot*(-2.06d-8 )))) ! Pengfei Liu, 2018/02/07] !Convert x's (weight percent of solutes) to fraction of dry solute (scale to 1) xtot=xan+xs0+xs1+xs2+xnacl xan=xan/xtot xs0=xs0/xtot xs1=xs1/xtot xs2=xs2/xtot xnacl=xnacl/xtot !Calculate mixture density d=1.e+0_fp/(xan/dan+xs0/ds0+xs1/ds1+xs2/ds2+xnacl/dss) !Tang, eq. 10 if ((d .gt. 2.e+0_fp) .or. (d .lt. 0.997e+0_fp)) then write(*,*) 'ERROR in aerodens' write(*,*) mso4,mno3,mnh4,mnacl,mh2o print *, 'xtot',xtot print *, 'xs1',xs1, 'ns1',ns1,'mtot',mtot,'asr',asr write(*,*) 'density(g/cm3)',d STOP endif ! Restore masses passed !mso4=so4temp !mno3=no3temp !mnh4=nh4temp !mnacl=nacltemp !mh2o=h2otemp ! Return the density VALUE = 1000.e+0_fp*d !Convert g/cm3 to kg/m3 ! negative value check (win, 1/4/06) if ( VALUE < 0e+0_fp ) then print *, 'ERROR :: aerodens - negative', VALUE STOP endif 10 CONTINUE END FUNCTION INODENS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: dmdt_int ! ! !DESCRIPTION: Function DMDT_INT apply the analytic solution to the droplet ! growth equation in mass space for a given scale length which mimics the ! inclusion of gas kinetic effects. (win, 7/23/07) ! Originally written by Peter Adams ! Modified for GEOS-CHEM by Win Trivitayanurak (win@cmu.edu) !\\ !\\ ! !INTERFACE: ! FUNCTION DMDT_INT ( M0, TAU, WR ) RESULT( VALUE ) ! ! !INPUT PARAMETERS: ! ! M0 initial mass ! L0 length scale ! Tau forcing from vapor field REAL(fp), INTENT(IN) :: M0, TAU, WR ! ! !RETURN VALUE: ! REAL(fp) :: VALUE ! ! !REMARKS: ! Original note from Peter Adams: ! I have changed the length scale. Non-continuum effects are ! assumed to be taken into account in choice of tau (in so4cond subroutine). ! . ! I have also added another argument to the function call, WR. This ! is the ratio of wet mass to dry mass of the particle. I use this ! information to calculate the amount of growth of the wet particle, ! but then return the resulting dry mass. This is the appropriate ! way to implement the condensation algorithm in a moving sectional ! framework. ! . ! Reference: Stevens et al. 1996, Elements of the Microphysical Structure ! of Numerically Simulated Nonprecipitating Stratocumulus, ! J. Atmos. Sci., 53(7),980-1006. ! This calculates a solution for m(t+dt) using eqn.(A3) from the reference ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) :: X, L0, C, ZERO, MH2O PARAMETER (C=2.e+0_fp/3.e+0_fp,L0=0.0e+0_fp,ZERO=0.0e+0_fp) !================================================================= ! DMDT_INT begins here! !================================================================= MH2O = ( WR - 1.e+0_fp ) * M0 X = ( ( M0 + MH2O ) ** C + L0 ) X = MAX( ZERO, SQRT(MAX(ZERO,C*TAU+X))-L0 ) ! Do aqueous oxidation dry - so no need to select process (win, 7/14/06) ! For so4cond condensation, use constant water amount. ! For aqueous oxidation, use constant wet ratio. (win, 7/13/06) !prior to 10/2/08 !VALUE = X * X * X - MH2O !!DMDT_INT = X*X*X/WR ! change calculation to keep WR constant after condensation/evap (win, 5/14/06) ! bring back the previously reverted back (win, 10/2/08) VALUE = X*X*X/WR !pja Perform some numerical checks on dmdt_int IF ((TAU > 0.0) .and. (VALUE < M0)) VALUE = M0 IF ((TAU < 0.0) .and. (VALUE > M0)) VALUE = M0 END FUNCTION DMDT_INT !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: gasdiff ! ! !DESCRIPTION: Function GASDIFF returns the diffusion constant of a species in ! air (m2/s). It uses the method of Fuller, Schettler, and Giddings as ! described in Perry's Handbook for Chemical Engineers. ! WRITTEN BY Peter Adams, May 2000 !\\ !\\ ! !INTERFACE: ! FUNCTION GASDIFF( TEMP, PRES, MW, SV ) RESULT( VALUE ) ! ! !INPUT PARAMETERS: ! real temp, pres !temperature (K) and pressure (Pa) of air real mw !molecular weight (g/mol) of diffusing species real Sv !sum of atomic diffusion volumes of diffusing species ! ! !RETURN VALUE: ! real VALUE ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! real mwair, Svair !same as above, but for air real mwf, Svf parameter(mwair=28.9, Svair=20.1) !======================================================================== ! GASDIFF begins here! !======================================================================== mwf=sqrt((mw+mwair)/(mw*mwair)) Svf=(Sv**(1./3.)+Svair**(1./3.))**2. VALUE =1.0e-7*temp**1.75*mwf/pres*1.0e5/Svf END FUNCTION GASDIFF !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: getdp ! ! !DESCRIPTION: Function GETDP calculate multi-component aerosol diameter ! Originally written by Peter Adams in GISS GCM-II' ! Use in GEOS-CHEM v5-07-08 and later by Win Trivitayanurak (win@cmu.edu) !\\ !\\ ! !INTERFACE: ! FUNCTION GETDP( I, J, L, N, State_Met, State_Chm, RC ) & RESULT( VALUE ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I, J, L ! Grid box indices INTEGER, INTENT(IN) :: N ! Species index TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !RETURN VALUE: ! REAL(fp) :: VALUE ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: NUMBIN, ID, JC REAL(fp) :: MSO4, MNO3, MNH4, MH2O, MNACL REAL(fp) :: MECIL, MECOB, MOCIL, MOCOB, MDUST REAL(fp) :: DENSITY !density (kg/m3) of current size bin REAL(fp) :: TOTALMASS !(kg) REAL(fp) :: MCONC, NCONC CHARACTER(LEN=255) :: MSG, LOC ! For species unit check (ewl) !real(fp), external :: aerodens REAL(fp) :: pi parameter (pi=3.141592654e+0_fp) ! Pointers TYPE(SpcConc), POINTER :: Spc(:) !================================================================= ! GETDP begins here! !================================================================= ! Assume success RC = GC_SUCCESS ! Point to chemical species array [kg] Spc => State_Chm%Species !------------------------------------------------------------- ! Calculate bin that we're working with !------------------------------------------------------------- NUMBIN = MOD(N-id_NK01+1,IBINS) IF (NUMBIN==0) NUMBIN = IBINS ID = id_NK01-1+NUMBIN !ID = Species ID of number at current bin !------------------------------------------------------------- ! Calculate aerosol water in case it has not been initialized elsewhere !------------------------------------------------------------- CALL EZWATEREQM2( I, J, L, NUMBIN, State_Met, State_Chm, RC ) !------------------------------------------------------------- ! Check negative Spc !------------------------------------------------------------- ! Significance limit in concentration unit ! Treshold for mass concentration 1d-4 ug/m3 = 1d-13 kg/m3 ! Treshold for numb concentration 1d-1 #/cm3 = 1d5 kg/m3 (fake kg = #) IF( Spc(ID)%Conc(I,J,L) == 0e+0_fp ) GOTO 10 IF( Spc(ID)%Conc(I,J,L) < 0e+0_fp ) THEN NCONC = ABS( Spc(ID)%Conc(I,J,L) )/ State_Met%AIRVOL(I,J,L)/1e+6_fp IF ( nconc <= 1e-1_fp ) THEN Spc(ID)%Conc(I,J,L) = 0e+0_fp ELSE PRINT *,'#### GETDP: negative NK at',I,J,L,'bin',NUMBIN PRINT *,'Species',N,'Spc=',Spc(ID)%Conc(I,J,L) CALL ERROR_STOP('Negative NK', 'GETDP:1') ENDIF ENDIF IF(IT_IS_NAN(Spc(ID)%Conc(I,J,L))) PRINT *,'+++++++++ Found Nan in ' , & 'GETDP at (I,J,L)',I,J,L,'Bin',NUMBIN,': Nk' DO JC = 1, ICOMP-IDIAG IF( Spc(ID+JC*IBINS)%Conc(I,J,L) < 0e+0_fp ) THEN MCONC = ( ABS(Spc(ID+JC*IBINS)%Conc(I,J,L)) * 1.e+9_fp / & State_Met%AIRVOL(I,J,L) ) IF ( MCONC <= 1.e-4_fp ) THEN Spc(ID+JC*IBINS)%Conc(I,J,L) = 0e+0_fp ELSE PRINT *,'#### GETDP: negative mass at',I,J,L,'bin',NUMBIN PRINT *,'Species',N,'Spc=',Spc(ID+JC*IBINS)%Conc(I,J,L) CALL ERROR_STOP('Negative mass','GETDP:2') ENDIF ENDIF IF(IT_IS_NAN(Spc(ID+JC*IBINS)%Conc(I,J,L))) PRINT *,'+++++++++ ', & 'Found Nan in GETDP at (I,J,L)',I,J,L,'Bin',NUMBIN,'comp',JC ENDDO !------------------------------------------------------------- ! Begin calculation of diameter !------------------------------------------------------------- ! Totalmass is the total mass per particle (including water and ammonia) ! The factor of 0.1875 is the proportion of nh4 to make the particle ! ammonium bisulfate MSO4 = 0.e+0_fp MNACL = 0.e+0_fp MH2O = 0.e+0_fp MECIL = 0.e+0_fp MECOB = 0.e+0_fp MOCIL = 0.e+0_fp MOCOB = 0.e+0_fp MDUST = 0.e+0_fp ! Get aerosol masses from GEOS-CHEM's Spc array DO JC = 1, ICOMP-IDIAG IF( JC == SRTSO4 ) MSO4 = Spc(ID+JC*IBINS)%Conc(I,J,L) IF( JC == SRTNACL ) MNACL = Spc(ID+JC*IBINS)%Conc(I,J,L) IF( JC == SRTECIL ) MECIL = Spc(ID+JC*IBINS)%Conc(I,J,L) IF( JC == SRTECOB ) MECOB = Spc(ID+JC*IBINS)%Conc(I,J,L) IF( JC == SRTOCIL ) MOCIL = Spc(ID+JC*IBINS)%Conc(I,J,L) IF( JC == SRTOCOB ) MOCOB = Spc(ID+JC*IBINS)%Conc(I,J,L) IF( JC == SRTDUST ) MDUST = Spc(ID+JC*IBINS)%Conc(I,J,L) ENDDO MH2O = Spc(id_AW01-1+NUMBIN)%Conc(I,J,L) !dbg print *,'mh2o',mh2o,'at',i,j,l MNO3 = 0.e+0_fp MNH4 = MSO4 * 1.875e-1_fp TOTALMASS = ( MSO4 + MNO3 + MNH4 + MNACL + MH2O + & MECIL + MECOB + MOCIL + MOCOB + MDUST)/ & Spc(ID)%Conc(I,J,L) DENSITY = AERODENS( MSO4, MNO3, MNH4, MNACL, MECIL, MECOB, & MOCIL, MOCOB, MDUST, MH2O) VALUE = ( TOTALMASS* 6.e+0_fp/ DENSITY/ PI ) **(1.e+0_fp/3.e+0_fp) !getdp [=] meter GOTO 20 !if number and mass is zero - calculate dp based on the density=1500 kg/m3 10 CONTINUE TOTALMASS = 1.414e+0_fp * Xk(NUMBIN) ! Mid-bin mass per particle VALUE = ( TOTALMASS* 6.e+0_fp/ 1500.e+0_fp/ PI ) & **(1.e+0_fp/3.e+0_fp) !getdp [=] meter 20 CONTINUE IF( IT_IS_NAN( VALUE )) & CALL ERROR_STOP('Result is NaN', 'GETDP:3') ! Free pointer Spc => NULL() END FUNCTION GETDP !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: spinup ! ! !DESCRIPTION: Function SPINUP retuns .TRUE. or .FALSE. whether or not the ! current time in the run have passed the spin-up period. This would be used ! to determine if certain errors should be fixed and let slipped or to stop a ! run with an error message. (win, 8/2/07) ! ====> Be cautious that TIMEBEGIN should be changed according to ! whatever your spin-up beginning time is ! Example of TIMEBEGIN (in julian time) ! 2001/07/01 = 144600.0 ! 2000/11/01 = 138792.0 !\\ !\\ ! !INTERFACE: ! FUNCTION SPINUP( DAYS ) RESULT( VALUE ) ! ! !USES: ! USE TIME_MOD, ONLY : GET_TAU , GET_TAUb ! ! !INPUT PARAMETERS: ! REAL*4, INTENT(IN) :: DAYS ! Spin-up duration (day) ! ! !RETURN VALUE: ! LOGICAL :: VALUE ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL*4 :: TIMENOW, TIMEBEGIN, TIMEINIT, HOURS !======================================================================== ! SPINUP begins here! !======================================================================== TIMENOW = GET_TAU() ! Current time in the run (Julian time) (hrs) TIMEBEGIN = GET_TAUb() ! Begin time of this run (hrs) TIMEINIT = 141000. !2/1/2001 ! Start time for spin-up (hrs) HOURS = DAYS * 24.0 ! Period allow error to pass (hrs) ! Criteria to let error go or to terminate the run !IF ( TIMENOW > MIN( TIMEBEGIN, TIMEINIT ) + HOURS ) THEN IF ( TIMENOW > TIMEBEGIN + HOURS ) THEN VALUE = .FALSE. ELSE VALUE = .TRUE. ENDIF END FUNCTION SPINUP !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: aerodens ! ! !DESCRIPTION: Function STRATSCAV is basically a lookup table to get the below- ! cloud scavenging rate (per mm of rainfall) as a function of particle ! diameter. The data are taken from Dana, M. T., and ! J. M. Hales, Statistical Aspects of the Washout of Polydisperse ! Aerosols, Atmos. Environ., 10, 45-50, 1976. I am using the ! monodisperse aerosol curve from Figure 2 which assumes a ! lognormal distribution of rain drops with Rg=0.02 cm and a ! sigma of 1.86, values typical of a frontal rain spectrum ! (stratiform clouds). ! WRITTEN BY Peter Adams, January 2001 ! Intoduced to GEOS-Chem by Win Trivitayanurak, 8/6/07 !\\ !\\ ! !INTERFACE: ! FUNCTION STRATSCAV( DP ) RESULT( VALUE ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: DP !particle diameter (m) ! ! !RETURN VALUE: ! REAL*4 :: VALUE ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! integer numpts !number of points in lookup table real dpdat !particle diameter in lookup table (m) real scdat !scavenging rate in lookup table (mm-1) integer n1, n2 !indices of nearest data points parameter(numpts=37) dimension dpdat(numpts), scdat(numpts) data dpdat/ 2.0E-09, 4.0E-09, 6.0E-09, 8.0E-09, 1.0E-08, & 1.2E-08, 1.4E-08, 1.6E-08, 1.8E-08, 2.0E-08, & 4.0E-08, 6.0E-08, 8.0E-08, 1.0E-07, 1.2E-07, & 1.4E-07, 1.6E-07, 1.8E-07, 2.0E-07, 4.0E-07, & 6.0E-07, 8.0E-07, 1.0E-06, 1.2E-06, 1.4E-06, & 1.6E-06, 1.8E-06, 2.0E-06, 4.0E-06, 6.0E-06, & 8.0E-06, 1.0E-05, 1.2E-05, 1.4E-05, 1.6E-05, & 1.8E-05, 2.0E-05/ data scdat/ 6.99E-02, 2.61E-02, 1.46E-02, 9.67E-03, 7.07E-03, & 5.52E-03, 4.53E-03, 3.87E-03, 3.42E-03, 3.10E-03, & 1.46E-03, 1.08E-03, 9.75E-04, 9.77E-04, 1.03E-03, & 1.11E-03, 1.21E-03, 1.33E-03, 1.45E-03, 3.09E-03, & 4.86E-03, 7.24E-03, 1.02E-02, 1.36E-02, 1.76E-02, & 2.21E-02, 2.70E-02, 3.24E-02, 4.86E-01, 8.36E-01, & 1.14E+00, 1.39E+00, 1.59E+00, 1.75E+00, 1.85E+00, & 1.91E+00, 1.91E+00/ !================================================================= ! STRATSCAV begins here! !================================================================= ! If particle diameter is in bounds, interpolate to find value if ((dp .gt. dpdat(1)) .and. (dp .lt. dpdat(numpts))) then !loop over lookup table points to find nearest values n1=1 do while (dp .gt. dpdat(n1+1)) n1=n1+1 enddo n2=n1+1 VALUE=scdat(n1)+(scdat(n2)-scdat(n1)) & *(dp-dpdat(n1))/(dpdat(n2)-dpdat(n1)) endif ! If particle diameter is out of bounds, return reasonable value if (dp .gt. dpdat(numpts)) VALUE=2.0 if (dp .lt. dpdat(1)) VALUE=7.0e-2 END FUNCTION STRATSCAV !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: waternacl ! ! !DESCRIPTION: Function WATERNACL uses the current RH to calculate how much ! water is in equilibrium with the seasalt. Aerosol water concentrations are ! assumed to be in equilibrium at all times and the array of concentrations is ! updated accordingly. ! WRITTEN BY Peter Adams, November 2001 ! Introduced to GEOS-CHEM by Win Trivitayanurak. 8/6/07 !\\ !\\ ! !INTERFACE: ! FUNCTION WATERNACL( RHE ) RESULT( VALUE ) ! ! !INPUT PARAMETERS: ! REAL(fp) :: RHE ! Relative humidity (0-100 scale) ! ! !RETURN VALUE: ! REAL(fp) :: VALUE ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC !================================================================= ! WATERNACL begins here! !================================================================= if (rhe .gt. 99.) rhe=99. if (rhe .lt. 1.) rhe=1. if (rhe .gt. 90.) then VALUE=5.1667642e-2*rhe**3-14.153121*rhe**2+1292.8377*rhe-3.9373536e4 else if (rhe .gt. 80.) then VALUE=1.0629e-3*rhe**3-0.25281*rhe**2+20.171*rhe-5.3558e2 else if (rhe .gt. 50.) then VALUE=4.2967e-5*rhe**3-7.3654e-3*rhe**2+.46312*rhe-7.5731 else if (rhe .gt. 20.) then VALUE=2.9443e-5*rhe**3-2.4739e-3*rhe**2+7.3430e-2*rhe+1.3727 else VALUE=1.17 endif endif endif endif !check for error if (VALUE .gt. 45.) then write(*,*) 'ERROR in waternacl' write(*,*) rhe,VALUE STOP endif END FUNCTION WATERNACL !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: waterocil ! ! !DESCRIPTION: Function WATEROCIL uses the current RH to calculate how much ! water is in equilibrium with the hydrophillic OA. Aerosol water ! concentrations are assumed to be in equilibrium at all times and the array of ! concentrations is updated accordingly. ! MODIFIED BY YUNHA LEE, AUG, 2006 ! Bring to GEOS-CHEM by Win Trivitayanurak 9/3/07 !\\ !\\ ! !INTERFACE: ! FUNCTION WATEROCIL( RHE ) RESULT( VALUE ) ! ! !INPUT PARAMETERS: ! REAL(fp) :: RHE ! Relative humidity (0-100 scale) ! ! !RETURN VALUE: ! REAL(fp) :: VALUE ! ! !REMARKS: ! waterocil is the ratio of wet mass to dry mass of a particle. Instead ! of calling a thermodynamic equilibrium code, this routine uses a ! simple curve fit to estimate waterocil based on the current humidity. ! The curve fit is based on observations of Dick et al. JGR D1 1471-1479 ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) :: a, b, c, d, e, f, prefactor, activcoef parameter(a=1.0034, b=0.1614, c=1.1693,d=-3.1,e=6.0) !================================================================= ! WATEROCIL begins here! !================================================================= if (rhe .gt. 99.) rhe=99. if (rhe .lt. 1.) rhe=1. if (rhe .gt. 85.) then VALUE =d+e*(rhe/100) !yhl Growth factor above RH 85% is not available, so it assumes linear !yhl growth at above 85%. else VALUE =a+b*(rhe/100)+c*(rhe/100)**2. !yhl This eq is based on the extrapolation curve obtained from !yhl Dick et al 2000 figure 5.(High organic,density=1400g/cm3) endif !check for error if (VALUE .gt. 10.) then write(*,*) 'ERROR in waterocil' write(*,*) rhe, value STOP endif RETURN END FUNCTION WATEROCIL !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: waterso4 ! ! !DESCRIPTION: Function WATERSO4 uses the current RH to calculate how much ! water is in equilibrium with the sulfate. Aerosol water concentrations are ! assumed to be in equilibrium at all times and the array of concentrations is ! updated accordingly. ! Introduced to GEOS-CHEM by Win Trivitayanurak. 8/6/07 ! Adaptation of ezwatereqm used in size-resolved sulfate only sim ! November, 2001 ! ezwatereqm WRITTEN BY Peter Adams, March 2000 !\\ !\\ ! !INTERFACE: ! FUNCTION WATERSO4( RHE ) RESULT( VALUE ) ! ! !INPUT PARAMETERS: ! REAL(fp) :: RHE ! Relative humidity (0-100 scale) ! ! !RETURN VALUE: ! REAL(fp) :: VALUE ! !REMARKS: ! waterso4 is the ratio of wet mass to dry mass of a particle. Instead ! of calling a thermodynamic equilibrium code, this routine uses a ! simple curve fit to estimate wr based on the current humidity. ! The curve fit is based on ISORROPIA results for ammonium bisulfate ! at 273 K. ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC !================================================================= ! WATERSO4 begins here! !================================================================= if (rhe .gt. 99.) rhe=99. if (rhe .lt. 1.) rhe=1. if (rhe .gt. 96.) then value=0.7540688*rhe**3-218.5647*rhe**2+21118.19*rhe-6.801999e5 else if (rhe .gt. 91.) then value=8.517e-2*rhe**2 -15.388*rhe +698.25 else if (rhe .gt. 81.) then value=8.2696e-3*rhe**2 -1.3076*rhe +53.697 else if (rhe .gt. 61.) then value=9.3562e-4*rhe**2 -0.10427*rhe +4.3155 else if (rhe .gt. 41.) then value=1.9149e-4*rhe**2 -8.8619e-3*rhe +1.2535 else value=5.1337e-5*rhe**2 +2.6266e-3*rhe +1.0149 endif endif endif endif endif !check for error if (value .gt. 30.) then write(*,*) 'ERROR in waterso4' write(*,*) rhe,value STOP endif END FUNCTION WATERSO4 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: cf_nucl ! ! !DESCRIPTION: This subroutine calculates the barrierless nucleation rate and ! radius of the critical nucleation cluster using the parameterization of... ! Clement and Ford (1999) Atmos. Environ. 33:489-499 ! WRITTEN BY Jeff Pierce, April 2007 !\\ !\\ ! !INTERFACE: ! SUBROUTINE cf_nucl(tempi,rhi,cna,nh3ppt,fn) ! ! !INPUT PARAMETERS: ! real tempi ! temperature of air [K] real rhi ! relative humidity of air as a fraction double precision cna ! concentration of gas phase sulfuric acid [molec cm-3] double precision nh3ppt ! mixing ratio of ammonia in ppt ! ! !OUTPUT PARAMETERS: ! double precision fn ! nucleation rate [cm-3 s-1] double precision rnuc ! critical cluster radius [nm] ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! double precision temp ! temperature of air [K] double precision rh ! relative humidity of air as a fraction double precision alpha1 temp=dble(tempi) rh=dble(rhi) if (nh3ppt .lt. 0.1) then alpha1=4.276e-10*sqrt(temp/293.15) ! For sulfuric acid else alpha1=3.684e-10*sqrt(temp/293.15) ! For ammonium sulfate endif fn = alpha1*cna**2*3600. ! sensitivity fn = 1.e-3 * fn ! 10^-3 tuner if (fn.gt.1.0e9) fn=1.0e9 ! For numerical conversion 10 return end subroutine cf_nucl !EOC !-------------------------------------------------------------------- ! ! Ion nucleation Rate calculation ! from Modgil et al.(2005), JGR, vol. 110, D19205 ! !-------------------------------------------------------------------- ! Mathematical Expressions for particle nucleation rate (h1,cm-3 s-1), ! nucleating H2SO4 flux (h2, cm-3 s-1), number of H2SO4 in average ! nucleating cluster (h3), number of H2O in average nucleating cluster (h4), ! radius of average nucleating cluster (h5, nm), and first order loss of ! H2SO4 to particles (h6) are given below, subroutine ion_nucl(h2so4i,sai,ti,qi,rhi,h1,h2,h3,h4,h5,h6) ! h2so4 = h2so4 concentration [molec cm^-3] ! sa = aerosol surface area [um^2 cm^-3] ! t = temperature [K] ! q = ion formation rate [ion pairs cm^-3 s-1] ! rh = relative humidity as a fraction real ti, rhi double precision h2so4i,qi,sai double precision t,rh,h2so4,q,sa double precision h1,h2,h3,h4,h6,h5 t=dble(ti) rh=dble(rhi) h2so4=h2so4i q=qi sa=sai if (h2so4.lt.1.e+5_fp.or.t.gt.260.e+0_fp) then ! changed to 2E5 because function was diverging ! diverges above 260K h1=0.e+0_fp h2=0.e+0_fp h3=0.e+0_fp h4=0.e+0_fp h5=0.e+0_fp h6=0.e+0_fp return endif if (h2so4 .gt. 1e+8_fp) h2so4 = 1e+8_fp if (sa .lt. 2.e+0_fp) sa = 2.e+0_fp if (sa .gt. 100.e+0_fp) sa = 100.e+0_fp if (t .lt. 190.e+0_fp) t = 190.e+0_fp if (t .gt. 300.e+0_fp) t = 300.e+0_fp if (rh .lt. 0.05e+0_fp) rh = 0.05e+0_fp if (rh .gt. 0.95e+0_fp) rh = 0.95e+0_fp if (q .lt. 1.e+0_fp) q = 1.e+0_fp if (q .gt. 50.e+0_fp) q = 50.e+0_fp h6=0.000026859579119003205*SA + 1.7477354270484002e-8_fp*q*SA + & 1.5718068902491457e-8_fp*SA**2+8.060796806911441e-8_fp*SA*T + & 3.904048293417882e-7_fp*SA*Log(H2SO4) + & 2.727259306977938e-7_fp*SA*Log(RH) h3=-198.8039518313554 + 3357.132963009284*h6 - 130510.31325149858* & h6**2 - 0.7093715033997716*q - 10.713505046150196*h6*q + & 1103.4737682776713*h6**2*q + 0.0052565148186649*q**2 - & 0.20195850414426988*h6*q**2 + 10.961027676935213*h6**2*q**2 - & 26.553841269634976*RH + 2913.499196899548*h6*RH - & 7558.996305824136*h6**2*RH + 0.050092880471591994*q*RH + & 0.39840936335061017*h6*q*RH + 16.140386509938388*h6**2*q*RH - & 0.0008159572217147427*q**2*RH - 0.02492462618304389*h6*q**2*RH + & 3.2372842210428825*RH**2 + 1709.7485838150235*h6*RH**2 - & 4016.182638678486*h6**2*RH**2 - 0.022142010235491123*q*RH**2 - & 1.620063009925805*h6*q*RH**2-0.00028477984814528825*q**2*RH**2 + & 22.136724153656015*RH**3 + 170.8982375938333*h6*RH**3 - & 0.01881686723215867*q*RH**3 + 2.6974144456100957*T - & 96.60591604496483*h6*T + 1772.137264721083*h6**2*T - & 0.0009432251807207652*q*T + 0.06072064184950673*h6*q*T - & 2.5196932894429502*h6**2*q*T - 0.000013848768113392552*q**2*T - & 0.0001948394841164792*h6*q**2*T + 0.1828636512279507*RH*T - & 55.135341874839185*h6*RH*T + 164.02631709083576*h6**2*RH*T + & 0.001745921048607296*q*RH*T + 0.035017713828742754*h6*q*RH*T + & 4.057082638293583e-6_fp*q**2*RH*T - 0.3900441693913758*RH**2*T - & 8.955078982582657*h6*RH**2*T+0.00021434974336412074*q*RH**2*T - & 0.14947568974964962*RH**3*T - 0.022748394377623382*T**2 + & 0.7227721843282815*h6*T**2 - 5.386480671871808*h6**2*T**2 - & 0.000035250836279611095*q*T**2-0.0003363405774846326*h6*q*T**2+ & 2.9254973516794257d-8*q**2*T**2 + 0.003994529829421164*RH*T**2+ & 0.2074067980035454*h6*RH*T**2-5.136172472264946e-6_fp*q*RH*T**2+ & 0.0020603328018819816*RH**2*T**2+0.000042019279193164354*T**3 - & 0.002100661388749787*h6*T**3+7.309966632740304e-8_fp*q*T**3 - & 0.000016323969052607556*RH*T**3+ 12.330627568298462*Log(H2SO4) + & 768.3961789008589*h6*Log(H2SO4)-11568.47324943553*h6**2* & Log(H2SO4)+0.14349043416922366*q*Log(H2SO4)+0.8946851157223353* & h6*q*Log(H2SO4) - 68.46004143191098*h6**2*q*Log(H2SO4) - & 0.0006241121793370407*q**2*Log(H2SO4)+0.011897674833907721*h6* & q**2*Log(H2SO4) + 1.7860574934328677*RH*Log(H2SO4) + & 316.5406316191978*h6*RH*Log(H2SO4) - 2036.825340216443*h6**2*RH* & Log(H2SO4) - 0.026323914507434605*q*RH*Log(H2SO4) - & 0.37505804775954393*h6*q*RH*Log(H2SO4) + 0.00003454867680790666* & q**2*RH*Log(H2SO4) + 2.844877302874606*RH**2*Log(H2SO4) - & 1.5845895178086176*h6*RH**2*Log(H2SO4) + 0.001732608008714275*q* & RH**2*Log(H2SO4) + 0.5611003862827533*RH**3*Log(H2SO4) + & 0.18033151281768975*T*Log(H2SO4) - 7.807090214680351*h6*T* & Log(H2SO4) + 52.76241348342321*h6**2*T*Log(H2SO4) + & 0.0011535134888316242*q*T*Log(H2SO4) + 0.0068466874844708295*h6* & q*T*Log(H2SO4) - 4.231224168766194e-7_fp*q**2*T*Log(H2SO4) - & 0.10505349775719895*RH*T*Log(H2SO4) - 1.9241106452950727*h6*RH* & T*Log(H2SO4) + 2.0451815715440337e-6_fp*q*RH*T*Log(H2SO4) - & 0.015299483302534183*RH**2*T*Log(H2SO4) + 0.000775633115370002* & T**2*Log(H2SO4) + 0.04228608723566267*h6*T**2*Log(H2SO4) - & 9.572221299803945e-7_fp*q*T**2*Log(H2SO4) + & 0.0002669785990812474* & RH*T**2*Log(H2SO4) - 1.7595742533055222e-6_fp*T**3*Log(H2SO4) - & 2.7165200489046812*Log(H2SO4)**2 + 1.963036665672805*h6* & Log(H2SO4)**2 + 33.88545004559797*h6**2*Log(H2SO4)**2 - & 0.01647722099703982*q*Log(H2SO4)**2 - 0.08498050322218324*h6*q* & Log(H2SO4)**2 + 0.00003320475358154802*q**2*Log(H2SO4)**2 + & 0.50626436977659*RH*Log(H2SO4)**2 + 3.914586690682404*h6*RH* & Log(H2SO4)**2 + 0.0006654515705980484*q*RH*Log(H2SO4)**2 - & 0.025122425208873058*RH**2*Log(H2SO4)**2 - 0.021380868797539664* & T*Log(H2SO4)**2 - 0.35405514523597137*h6*T*Log(H2SO4)**2 - & 0.000020639290758942666*q*T*Log(H2SO4)**2+0.0003587951811915662* & RH*T*Log(H2SO4)**2+7.620708111644729e-6_fp*T**2*Log(H2SO4)**2 + & 0.2196641696573127*Log(H2SO4)**3 + 1.7291708055805226*h6* & Log(H2SO4)**3 + 0.00038146321602426414*q*Log(H2SO4)**3 - & 0.011997306640487447*RH*Log(H2SO4)**3 + 0.0003857955558500776*T* & Log(H2SO4)**3 - 0.004779827937902779*Log(H2SO4)**4 h3=EXP(h3) h1=456229.3726785317 - 696754.0061755505/h3 - & 8.954389043957226e+7_fp*h6 + (1.4677717736521986e+8_fp*h6)/h3 + & 1867.5296995211318*q - (2798.172491398116*q)/h3 + & 1500.05530404756*h6*q - (171625.68387665015*h6*q)/h3 - & 5924.898937400813*T + (7657.054762118453*T)/h3 + & 1.1074613167489376e+6_fp*h6*T-(1.556115054313954e+6_fp*h6*T)/h3- & 28.49469750360138*q*T + (50.46283217861981*q*T)/h3 + & 1753.7251886642075*h6*q*T - (975.4050494746682*h6*q*T)/h3 + & 25.45577410331681*T**2 - (26.190051353137182*T**2)/h3 - & 4516.4884641323815*h6*T**2 + (5030.318058537955*h6*T**2)/h3 + & 0.14403307295844858*q*T**2 - (0.2897062226196713*q*T**2)/h3 - & 15.561717210345154*h6*q*T**2+(18.061492698402766*h6*q*T**2)/h3- & 0.03621852394282133*T**3 + (0.02659567895141871*T**3)/h3 + & 6.0696427040893886*h6*T**3 - (4.585112604562606*h6*T**3)/h3 - & 0.00024142548506534756*q*T**3 + & (0.0005400351895947918*q*T**3)/h3+0.0341853829283136*h6*q*T**3- & (0.04459905758423761*h6*q*T**3)/h3-81941.3895777097*Log(H2SO4)+ & (90462.54571516594*Log(H2SO4))/h3 + & 1.6483362741354546e+7_fp*h6*Log(H2SO4) - & (2.3542460879418086e+7_fp*h6*Log(H2SO4))/h3 - & 319.8790300996385*q*Log(H2SO4) + & (226.84336756604796*q*Log(H2SO4))/h3 - & 26455.51148372377*h6*q*Log(H2SO4) + & (60326.79915791394*h6*q*Log(H2SO4))/h3 + & 1063.8621634534027*T*Log(H2SO4) - & (891.6122304868614*T*Log(H2SO4))/h3 - & 203718.41653995324*h6*T*Log(H2SO4) + & (243001.1509313233*h6*T*Log(H2SO4))/h3 + & 4.963508394566835*q*T*Log(H2SO4) - & (5.401955915120605*q*T*Log(H2SO4))/h3 + & 25.811543727271804*h6*q*T*Log(H2SO4) - & (355.292262810142*h6*q*T*Log(H2SO4))/h3 - & 4.5691538346459195*T**2*Log(H2SO4) + & (2.468423948121569*T**2*Log(H2SO4))/h3 + & 830.195816015575*h6*T**2*Log(H2SO4) - & (745.2009340266254*h6*T**2*Log(H2SO4))/h3 - & 0.025450884793884514*q*T**2*Log(H2SO4) + & (0.03593327468289806*q*T**2*Log(H2SO4))/h3 + & 1.3302486952619124*h6*q*T**2*Log(H2SO4) - & (0.320851018492291*h6*q*T**2*Log(H2SO4))/h3 + & 0.006498242231697865*T**3*Log(H2SO4) - & (0.0013540108127227987*T**3*Log(H2SO4))/h3 - & 1.1150374268629073*h6*T**3*Log(H2SO4) + & (0.5953715882656012*h6*T**3*Log(H2SO4))/h3 + & 0.000043146778270078744*q*T**3*Log(H2SO4) - & (0.0000735656618351653*q*T**3*Log(H2SO4))/h3 - & 0.004059155580949069*h6*q*T**3*Log(H2SO4) + & (0.0028886014749212705*h6*q*T**3*Log(H2SO4))/h3 + & 4912.2066512397205*Log(H2SO4)**2 - & (3022.0044642322964*Log(H2SO4)**2)/h3 - & 1.0095170363345986d6*h6*Log(H2SO4)**2 + & (1.1998313113698033d6*h6*Log(H2SO4)**2)/h3 + & 18.018115617541998*q*Log(H2SO4)**2 + & (7.561352267717425*q*Log(H2SO4)**2)/h3 + & 3133.188395383639*h6*q*Log(H2SO4)**2 - & (3338.848456178725*h6*q*Log(H2SO4)**2)/h3 - & 63.77612570995598*T*Log(H2SO4)**2 + & (20.100257708705428*T*Log(H2SO4)**2)/h3 + & 12469.209965937996*h6*T*Log(H2SO4)**2 - & (11883.666207080118*h6*T*Log(H2SO4)**2)/h3 - & 0.2853187730266578*q*T*Log(H2SO4)**2 + & (0.03880844916086884*q*T*Log(H2SO4)**2)/h3 - & 21.708027380830988*h6*q*T*Log(H2SO4)**2 + & (28.111166854183463*h6*q*T*Log(H2SO4)**2)/h3 + & 0.27388018029546984*T**2*Log(H2SO4)**2 + & (0.005568448436161079*T**2*Log(H2SO4)**2)/h3 - & 50.78398945757657*h6*T**2*Log(H2SO4)**2 + & (33.25484929904544*h6*T**2*Log(H2SO4)**2)/h3 + & 0.0014875097131454307*q*T**2*Log(H2SO4)**2 - & (0.0008810798671059988*q*T**2*Log(H2SO4)**2)/h3 + & 0.007045532214236005*h6*q*T**2*Log(H2SO4)**2 - & (0.05521643331038819*h6*q*T**2*Log(H2SO4)**2)/h3 - & 0.00038943745406964085*T**3*Log(H2SO4)**2 - & (0.00015308439633013156*T**3*Log(H2SO4)**2)/h3 + & 0.06817761559886615*h6*T**3*Log(H2SO4)**2 - & (0.019520711865759842*h6*T**3*Log(H2SO4)**2)/h3 - & 2.554240267270117e-6_fp*q*T**3*Log(H2SO4)**2 + & (2.526957991768314e-6_fp*q*T**3*Log(H2SO4)**2)/h3 + & 0.00011978108924107446*h6*q*T**3*Log(H2SO4)**2 - & 98.09290363960072*Log(H2SO4)**3 + & (3.8697214915504805*Log(H2SO4)**3)/h3 + & 20559.743351544734*h6*Log(H2SO4)**3 - & (18687.867717989076*h6*Log(H2SO4)**3)/h3 - & 0.33118998078526996*q*Log(H2SO4)**3 - & (0.6955616584928909*q*Log(H2SO4)**3)/h3 - & 92.45613590327787*h6*q*Log(H2SO4)**3 + & (8.948488896745264*h6*q*Log(H2SO4)**3)/h3 + & 1.273863980203035*T*Log(H2SO4)**3 + & (0.38051947439108685*T*Log(H2SO4)**3)/h3 - & 253.8228380167286*h6*T*Log(H2SO4)**3 + & (171.19178070061787*h6*T*Log(H2SO4)**3)/h3 + & 0.005376622635136611*q*T*Log(H2SO4)**3 + & (0.006658042079999949*q*T*Log(H2SO4)**3)/h3 + & 0.8230892248689082*h6*q*T*Log(H2SO4)**3 - & (0.058021973134188776*h6*q*T*Log(H2SO4)**3)/h3 - & 0.005471105747328322*T**2*Log(H2SO4)**3 - & (0.003699167378319841*T**2*Log(H2SO4)**3)/h3 + & 1.0332570198673408*h6*T**2*Log(H2SO4)**3 - & (0.38600322062471826*h6*T**2*Log(H2SO4)**3)/h3 - & 0.000028584962254144285*q*T**2*Log(H2SO4)**3 - & (0.000016062832568931284*q*T**2*Log(H2SO4)**3)/h3 - & 0.001819022861961261*h6*q*T**2*Log(H2SO4)**3 + & 7.779696142330516e-6_fp*T**3*Log(H2SO4)**3 + & (8.513832613126146e-6_fp*T**3*Log(H2SO4)**3)/h3 - & 0.0013866861532058*h6*T**3*Log(H2SO4)**3 + & 4.981099027173453e-8_fp*q*T**3*Log(H2SO4)**3 + & 178821.264938151*Log(RH) - (634125.5419575685*Log(RH))/h3 - & 2.310391119522488e+7_fp*h6*Log(RH) + & (3.564836811852359e+7_fp*h6*Log(RH))/h3 - & 744.9440395010726*q*Log(RH)+(1019.4951846825716*q*Log(RH))/h3- & 28008.93484108728*h6*q*Log(RH) - & (7136.405275749431*h6*q*Log(RH))/h3 - & 2275.393426900043*T*Log(RH) + (9231.8244493922*T*Log(RH))/h3 + & 237571.37589421016*h6*T*Log(RH) - & (295411.0553218543*h6*T*Log(RH))/h3 + & 4.451622613453289*q*T*Log(RH) - & (4.150562571935793*q*T*Log(RH))/h3 + & 595.8398944235868*h6*q*T*Log(RH) - & (210.09033695512161*h6*q*T*Log(RH))/h3 + & 9.678343416541734*T**2*Log(RH) - & (45.69882758602488*T**2*Log(RH))/h3 - & 747.9878102876322*h6*T**2*Log(RH) + & (649.4424346377774*h6*T**2*Log(RH))/h3 + & 0.005153649541788936*q*T**2*Log(RH) - & (0.0023655719118541533*q*T**2*Log(RH))/h3 - & 2.848932474900831*h6*q*T**2*Log(RH) + & (0.2889680076326506*h6*q*T**2*Log(RH))/h3 - & 0.013824587420637588*T**3*Log(RH) + & (0.07673955581386811*T**3*Log(RH))/h3 + & 0.6813253055163031*h6*T**3*Log(RH) - & (0.2663343569482817*h6*T**3*Log(RH))/h3 - & 0.00004364745106737275*q*T**3*Log(RH) - & (9.434880576275503e-6_fp*q*T**3*Log(RH))/h3 + & 0.0030430214338531205*h6*q*T**3*Log(RH) + & (0.00371157673745342*h6*q*T**3*Log(RH))/h3 - & 31842.277946766168*Log(H2SO4)*Log(RH) + & (68134.57926920953*Log(H2SO4)*Log(RH))/h3 + & 3.493985612508899e+6_fp*h6*Log(H2SO4)*Log(RH) - & (4.587173661378969e+6_fp*h6*Log(H2SO4)*Log(RH))/h3 + & 190.19310993267845*q*Log(H2SO4)*Log(RH) - & (233.68205749312318*q*Log(H2SO4)*Log(RH))/h3 - & 1547.3248018686509*h6*q*Log(H2SO4)*Log(RH) + & (4045.133810971437*h6*q*Log(H2SO4)*Log(RH))/h3 + & 405.31725032582267*T*Log(H2SO4)*Log(RH) - & (1057.655396923827*T*Log(H2SO4)*Log(RH))/h3 - & 33903.90722480216*h6*T*Log(H2SO4)*Log(RH) + & (32965.76708786528*h6*T*Log(H2SO4)*Log(RH))/h3 - & 1.5034587825111836*q*T*Log(H2SO4)*Log(RH) + & (1.106270806420077*q*T*Log(H2SO4)*Log(RH))/h3 - & 25.549725610666396*h6*q*T*Log(H2SO4)*Log(RH) + & (20.09072468984517*h6*q*T*Log(H2SO4)*Log(RH))/h3 - & 1.7253372988643991*T**2*Log(H2SO4)*Log(RH) + & (5.612615323997249*T**2*Log(H2SO4)*Log(RH))/h3 + & 95.62445916373963*h6*T**2*Log(H2SO4)*Log(RH) - & (48.96291394056088*h6*T**2*Log(H2SO4)*Log(RH))/h3 + & 0.0019300142376745193*q*T**2*Log(H2SO4)*Log(RH) + & (0.00015584582354154648*q*T**2*Log(H2SO4)*Log(RH))/h3 + & 0.19177967246162606*h6*q*T**2*Log(H2SO4)*Log(RH) - & (0.16871358892301552*h6*q*T**2*Log(H2SO4)*Log(RH))/h3 + & 0.00246781658651071*T**3*Log(H2SO4)*Log(RH) - & (0.01009444649935961*T**3*Log(H2SO4)*Log(RH))/h3 - & 0.06589616928988701*h6*T**3*Log(H2SO4)*Log(RH) - & (0.01596274185896012*h6*T**3*Log(H2SO4)*Log(RH))/h3 + & 4.109041091272658e-6_fp*q*T**3*Log(H2SO4)*Log(RH) + & (2.041743340493583e-7_fp*q*T**3*Log(H2SO4)*Log(RH))/h3 - & 0.0001572125066332154*h6*q*T**3*Log(H2SO4)*Log(RH) + & 1932.4011188760162*Log(H2SO4)**2*Log(RH) - & (781.4228432455719*Log(H2SO4)**2*Log(RH))/h3 - & 181291.39888342103*h6*Log(H2SO4)**2*Log(RH) + & (210184.24050416853*h6*Log(H2SO4)**2*Log(RH))/h3 - & 13.666906354559005*q*Log(H2SO4)**2*Log(RH) + & (15.930151624229865*q*Log(H2SO4)**2*Log(RH))/h3 + & 305.7703887043172*h6*q*Log(H2SO4)**2*Log(RH) - & (391.71164595591085*h6*q*Log(H2SO4)**2*Log(RH))/h3 - & 24.621398404913865*T*Log(H2SO4)**2*Log(RH) + & (20.079316822912197*T*Log(H2SO4)**2*Log(RH))/h3 + & 1658.5845815289838*h6*T*Log(H2SO4)**2*Log(RH) - & (1404.5530139788664*h6*T*Log(H2SO4)**2*Log(RH))/h3 + & 0.11823318365930788*q*T*Log(H2SO4)**2*Log(RH) - & (0.08056635668752316*q*T*Log(H2SO4)**2*Log(RH))/h3 - & 1.0034435154436134*h6*q*T*Log(H2SO4)**2*Log(RH) + & (1.6021411957310931*h6*q*T*Log(H2SO4)**2*Log(RH))/h3 + & 0.10491613716181539*T**2*Log(H2SO4)**2*Log(RH) - & (0.1492097929648805*T**2*Log(H2SO4)**2*Log(RH))/h3 - & 4.0934834940398215*h6*T**2*Log(H2SO4)**2*Log(RH) + & (1.896735315742051*h6*T**2*Log(H2SO4)**2*Log(RH))/h3 - & 0.00022870693934890214*q*T**2*Log(H2SO4)**2*Log(RH) + & (0.000013175311622036916*q*T**2*Log(H2SO4)**2*Log(RH))/h3- & 0.00231560013471937*h6*q*T**2*Log(H2SO4)**2*Log(RH) - & 0.00015023186988448507*T**3*Log(H2SO4)**2*Log(RH) + & (0.0003388679191513823*T**3*Log(H2SO4)**2*Log(RH))/h3 + & 0.0015784630518057667*h6*T**3*Log(H2SO4)**2*Log(RH) - & 1.0056424638350849e-7_fp*q*T**3*Log(H2SO4)**2*Log(RH) - & 39.74503165968021*Log(H2SO4)**3*Log(RH) - & (68.29220045487304*Log(H2SO4)**3*Log(RH))/h3 + & 3236.6794930454566*h6*Log(H2SO4)**3*Log(RH) - & (2511.4313482742737*h6*Log(H2SO4)**3*Log(RH))/h3 + & 0.3044230466506939*q*Log(H2SO4)**3*Log(RH) - & (0.321694018076018*q*Log(H2SO4)**3*Log(RH))/h3 - & 7.83632554091337*h6*q*Log(H2SO4)**3*Log(RH) + & (1.2615699211576334*h6*q*Log(H2SO4)**3*Log(RH))/h3 + & 0.5071743553774433*T*Log(H2SO4)**3*Log(RH) + & (0.6993184748948513*T*Log(H2SO4)**3*Log(RH))/h3 - & 28.064969097031586*h6*T*Log(H2SO4)**3*Log(RH) + & (12.010607450658807*h6*T*Log(H2SO4)**3*Log(RH))/h3 - & 0.0027511166431233884*q*T*Log(H2SO4)**3*Log(RH) + & (0.0015662272224653852*q*T*Log(H2SO4)**3*Log(RH))/h3 + & 0.03815288545975011*h6*q*T*Log(H2SO4)**3*Log(RH) - & 0.0021639947693271114*T**2*Log(H2SO4)**3*Log(RH) - & (0.0017767382579465334*T**2*Log(H2SO4)**3*Log(RH))/h3 + & 0.059762491440998364*h6*T**2*Log(H2SO4)**3*Log(RH) + & 6.130388542051968e-6_fp*q*T**2*Log(H2SO4)**3*Log(RH) + & 3.1017462628108047e-6_fp*T**3*Log(H2SO4)**3*Log(RH) - & 7689.12786121461*Log(RH)**2-(25856.380361656236*Log(RH)**2)/h3- & 1.3915437178042033e+6_fp*h6*Log(RH)**2 + & (1.9928171556602388e+6_fp*h6*Log(RH)**2)/h3 + & 53.79216985973448*q*Log(RH)**2 - & (134.8787674139501*q*Log(RH)**2)/h3 - & 1440.4837667461468*h6*q*Log(RH)**2 - & (3141.0130344871345*h6*q*Log(RH)**2)/h3 + & 94.7545268444358*T*Log(RH)**2 + & (342.5857682014369*T*Log(RH)**2)/h3 + & 11341.294070320842*h6*T*Log(RH)**2 - & (18070.160441620144*h6*T*Log(RH)**2)/h3 - & 0.44696864139255954*q*T*Log(RH)**2 + & (1.1199451205710647*q*T*Log(RH)**2)/h3 + & 19.01601691757823*h6*q*T*Log(RH)**2 + & (31.604766584775273*h6*q*T*Log(RH)**2)/h3 - & 0.3470127737474881*T**2*Log(RH)**2 - & (1.4877879003131458*T**2*Log(RH)**2)/h3 - & 18.727169614346867*h6*T**2*Log(RH)**2 + & (42.5448759900235*h6*T**2*Log(RH)**2)/h3 + & 0.0007727701515171791*q*T**2*Log(RH)**2 - & (0.0032041999804810098*q*T**2*Log(RH)**2)/h3 - & 0.055631814243943*h6*q*T**2*Log(RH)**2 - & (0.07696588905487615*h6*q*T**2*Log(RH)**2)/h3 + & 0.00033600378567117826*T**3*Log(RH)**2 + & (0.002069337837641118*T**3*Log(RH)**2)/h3 - & 0.015788853514098967*h6*T**3*Log(RH)**2 - & (0.009301939734036398*h6*T**3*Log(RH)**2)/h3 + & 5.572064421478949e-7_fp*q*T**3*Log(RH)**2 + & (5.677455521083783e-6_fp*q*T**3*Log(RH)**2)/h3 - & 0.00003507762649727548*h6*q*T**3*Log(RH)**2 + & 1392.9578972108989*Log(H2SO4)*Log(RH)**2 + & (1911.734041113941*Log(H2SO4)*Log(RH)**2)/h3 + & 179329.36146873524*h6*Log(H2SO4)*Log(RH)**2 - & (119328.53674704138*h6*Log(H2SO4)*Log(RH)**2)/h3 - & 6.462104618811676*q*Log(H2SO4)*Log(RH)**2 + & (11.294074621589449*q*Log(H2SO4)*Log(RH)**2)/h3 + & 13.39033080899747*h6*q*Log(H2SO4)*Log(RH)**2 - & (8.52831107206456*h6*q*Log(H2SO4)*Log(RH)**2)/h3 - & 16.8958062365253*T*Log(H2SO4)*Log(RH)**2 - & (24.81735534395592*T*Log(H2SO4)*Log(RH)**2)/h3 - & 1464.394638508739*h6*T*Log(H2SO4)*Log(RH)**2 + & (981.4137808275404*h6*T*Log(H2SO4)*Log(RH)**2)/h3 + & 0.051952833287610724*q*T*Log(H2SO4)*Log(RH)**2 - & (0.061982178004231*q*T*Log(H2SO4)*Log(RH)**2)/h3 - & 0.7507183329339466*h6*q*T*Log(H2SO4)*Log(RH)**2 - & (0.05082083499340442*h6*q*T*Log(H2SO4)*Log(RH)**2)/h3 + & 0.060317519684020285*T**2*Log(H2SO4)*Log(RH)**2 + & (0.10238074986938017*T**2*Log(H2SO4)*Log(RH)**2)/h3 + & 2.654746963853928*h6*T**2*Log(H2SO4)*Log(RH)**2 - & (1.9505367684260284*h6*T**2*Log(H2SO4)*Log(RH)**2)/h3 - & 0.00008828022840243558*q*T**2*Log(H2SO4)*Log(RH)**2 - & (7.843133775464917e-6_fp*q*T**2*Log(H2SO4)*Log(RH)**2)/h3 + & 0.00439346543661198*h6*q*T**2*Log(H2SO4)*Log(RH)**2 - & 0.00005488176049657228*T**3*Log(H2SO4)*Log(RH)**2 - & (0.00012357549613231235*T**3*Log(H2SO4)*Log(RH)**2)/h3 + & 0.000877040667994904*h6*T**3*Log(H2SO4)*Log(RH)**2 - & 4.394231627146249e-8_fp*q*T**3*Log(H2SO4)*Log(RH)**2 - & 72.11406227014747*Log(H2SO4)**2*Log(RH)**2 - & (16.86445272085156*Log(H2SO4)**2*Log(RH)**2)/h3 - & 6535.765336704547*h6*Log(H2SO4)**2*Log(RH)**2 + & (941.2813201741736*h6*Log(H2SO4)**2*Log(RH)**2)/h3 + & 0.2428031989628447*q*Log(H2SO4)**2*Log(RH)**2 - & (0.3050220578412721*q*Log(H2SO4)**2*Log(RH)**2)/h3 + & 3.3649457326647947*h6*q*Log(H2SO4)**2*Log(RH)**2 + & (0.9000970248172522*h6*q*Log(H2SO4)**2*Log(RH)**2)/h3 + & 0.8503624487797692*T*Log(H2SO4)**2*Log(RH)**2 + & (0.2527834506442179*T*Log(H2SO4)**2*Log(RH)**2)/h3 + & 50.73348890297342*h6*T*Log(H2SO4)**2*Log(RH)**2 - & (4.356161470448808*h6*T*Log(H2SO4)**2*Log(RH)**2)/h3 - & 0.0018342607279861292*q*T*Log(H2SO4)**2*Log(RH)**2 + & (0.0020365272689109475*q*T*Log(H2SO4)**2*Log(RH)**2)/h3 - & 0.03276629834613374*h6*q*T*Log(H2SO4)**2*Log(RH)**2 - & 0.0028420227040081517*T**2*Log(H2SO4)**2*Log(RH)**2 - & (0.0009263932662681723*T**2*Log(H2SO4)**2*Log(RH)**2)/h3 - & 0.08964774960777555*h6*T**2*Log(H2SO4)**2*Log(RH)**2 + & 3.036637047548649e-6_fp*q*T**2*Log(H2SO4)**2*Log(RH)**2 + & 2.0594310710626316e-6_fp*T**3*Log(H2SO4)**2*Log(RH)**2 + & 0.9950338851031777*Log(H2SO4)**3*Log(RH)**2 - & (0.622965174549953*Log(H2SO4)**3*Log(RH)**2)/h3 + & 48.41845482837981*h6*Log(H2SO4)**3*Log(RH)**2 - & (1.7738934087048919*h6*Log(H2SO4)**3*Log(RH)**2)/h3 - & 0.0022234755298572505*q*Log(H2SO4)**3*Log(RH)**2 - & (0.002437957119890622*q*Log(H2SO4)**3*Log(RH)**2)/h3 + & 0.08069009533680993*h6*q*Log(H2SO4)**3*Log(RH)**2 - & 0.010935011617216193*T*Log(H2SO4)**3*Log(RH)**2 + & (0.003456846985810427*T*Log(H2SO4)**3*Log(RH)**2)/h3 - & 0.24482068250824904*h6*T*Log(H2SO4)**3*Log(RH)**2 + & 0.000011334503487127534*q*T*Log(H2SO4)**3*Log(RH)**2 + & 0.000029425270779265584*T**2*Log(H2SO4)**3*Log(RH)**2 h1=EXP(h1) if (h1.gt.q)then h1=q elseif (h1.lt.0.e+0_fp)then h1=0.e+0_fp endif h2=-32043.03148295406 + 59725.428570008815/h3 + & 7.128537634261564e+6_fp*h6 - (1.3833467233343722e+7_fp*h6)/h3+ & 33.63110252227136*q-(48.61215633992165*q)/h3 - 16602.414377611287 & *h6*q + (40754.788181739124* h6*q)/h3 -2.3397851800516185*q**2 + & (4.426964073992281*q**2)/h3 + 18.971418767591036*h6*q**2 + & (60.446718551038344*h6*q**2)/h3+396.33752593131607*T- & (650.8601684277011*T)/h3-83753.25337253512*h6*T+ & (140932.8771905448*h6*T)/h3 + 1.7779514612590905*q*T - & (4.1201474547289845*q*T)/h3 - 14.23100399324848*h6*q*T - & (199.64146093004214*h6*q*T)/h3 + 0.017586270137944494*q**2*T - & (0.040669111407675304*q**2*T)/h3 - 0.5190592639152767*h6*q**2*T + & (0.4152291779457336*h6*q**2*T)/h3 - 1.6239261240452716*T**2 + & (2.290370025362425*T**2)/h3 + 323.71145981054207*h6*T**2 - & (443.70978129586814*h6*T**2)/h3 - 0.016944490878752067*q*T**2 + & (0.03190748579500371*q*T**2)/h3 + 0.9921294086888162*h6*q*T**2 - & (0.017807643647025154*h6*q*T**2)/h3-0.000026182356192850867*q**2* & T**2+(0.00018413948144606674*q**2*T**2)/h3+0.001418259144142961* & h6*q**2*T**2 - (0.0005314099952660705*h6*q**2*T**2)/h3 + & 0.002203350630670886*T**3-(0.002628197592847762*T**3)/h3 - & 0.41364399538414304*h6*T**3+(0.4236315079925672*h6*T**3)/h3 + & 0.000036034470518775974*q*T**3-(0.00005072877953687334*q*T**3)/h3 & -0.0025779163615301994*h6*q*T**3-(0.0001801635475946943*h6*q* & T**3)/h3 - 1.0397496813871261e-8_fp*q**2*T**3 - & (4.794510915054545e-7_fp*q**2*T**3)/h3+ & 1.0037940606886203e-6_fp*h6* & q**2*T**3 +4057.4863055406972*Log(H2SO4) - (4857.4895775507075* & Log(H2SO4))/h3 - 873923.0975121224*h6*Log(H2SO4) + & (1.3884698205066123e+6_fp*h6*Log(H2SO4))/h3- & 16.567334471680468*q*Log(H2SO4)+(39.06695157867744*q* & Log(H2SO4))/h3 + & 4033.3161579197213*h6*q*Log(H2SO4) - (4837.3892389479715*h6*q* & Log(H2SO4))/h3 + 0.32643050327864925*q**2*Log(H2SO4) - & (0.29168894526478634*q**2*Log(H2SO4))/h3 + 3.0197469938934343* & h6*q**2*Log(H2SO4) - (13.620934035683936*h6*q**2*Log(H2SO4))/h3 - & 50.64853826213881*T*Log(H2SO4) + (46.190674056264115*T* & Log(H2SO4))/h3 +10309.186386370407*h6*T*Log(H2SO4) - & (13393.112078195805*h6*T* & Log(H2SO4))/h3 - 0.05988575301198189*q*T*Log(H2SO4) + & (0.12991016720908877*q*T*Log(H2SO4))/h3-25.211481437032155*h6*q* & T*Log(H2SO4) + (25.76780209283505*h6*q*T*Log(H2SO4))/h3 - & 0.0025433151017881413*q**2*T*Log(H2SO4)-(0.00003896417606619728* & q**2*T*Log(H2SO4))/h3+0.018638367565640454*h6*q**2*T*Log(H2SO4)- & (0.009466280650899394*h6*q**2*T*Log(H2SO4))/h3+ & 0.20947015213812362*T**2*Log(H2SO4)-(0.1282261301435015*T**2* & Log(H2SO4))/h3-40.05118528139879*h6*T**2*Log(H2SO4)+ & (37.82992227601891* h6*T**2*Log(H2SO4))/h3+0.001426085690256897* & q*T**2*Log(H2SO4)-(0.0026110978166799066*q*T**2*Log(H2SO4))/h3 - & 0.0017889111275040672*h6*q*T**2*Log(H2SO4) - & (0.0010479732179162718* h6*q*T**2*Log(H2SO4))/h3 + & 4.179579131654065e-6_fp * q**2*T**2*Log(H2SO4) + & (7.970218003902365e-6_fp * q**2 * & T**2*Log(H2SO4))/h3-0.000116249941623789*h6*q**2*T**2*Log(H2SO4)- & 0.0002870253324673844*T**3*Log(H2SO4)+(0.00009186981667688776* & T**3*Log(H2SO4))/h3 + 0.05147918448072947*h6*T**3*Log(H2SO4) - & (0.028081229965757286*h6*T**3*Log(H2SO4))/h3 - & 3.560981861287522e-6_fp* q* & T**3*Log(H2SO4)+(4.961243888005889e-6_fp*q*T**3*Log(H2SO4))/h3+ & 0.0001420993695424454*h6*q*T**3*Log(H2SO4)+ & 1.2719812342415112e-9_fp* & q**2*T**3*Log(H2SO4) - 124.19545742393447*Log(H2SO4)**2 + & (41.54331926307027*Log(H2SO4)**2)/h3 + 26490.80092234763*h6* & Log(H2SO4)**2- (31462.37707525288*h6*Log(H2SO4)**2)/h3 + & 0.8500524958176608*q* Log(H2SO4)**2 - (3.2674516205233317*q* & Log(H2SO4)**2)/h3 - 170.8115272895333*h6*q*Log(H2SO4)**2 + & (120.16514929908757*h6*q* Log(H2SO4)**2)/h3 - & 0.011268864148405246*q**2*Log(H2SO4)**2 +(0.019897271615564007* & q**2*Log(H2SO4)**2)/h3 - 0.2574159414899909* & h6*q**2*Log(H2SO4)**2 + (0.5058681955079796*h6*q**2* & Log(H2SO4)**2)/h3 +1.5616031047481935*T*Log(H2SO4)**2 + & (0.04762580087464638*T* Log(H2SO4)**2)/h3 - 313.57384684195245* & h6*T*Log(H2SO4)**2+(270.50302801880633*h6*T*Log(H2SO4)**2)/h3 - & 0.0026826956178692776* q* & T*Log(H2SO4)**2 + (0.02263655181544639*q*T*Log(H2SO4)**2)/h3 + & 1.4230688700541085*h6*q*T*Log(H2SO4)**2 - (0.6649649390384627* & h6* q* T*Log(H2SO4)**2)/h3 + 0.00009215121101630449*q**2*T* & Log(H2SO4)**2 - & (0.00010215400234653555*q**2*T*Log(H2SO4)**2)/h3 + & 0.0010136511879910042*h6*q**2*T*Log(H2SO4)**2 - & 0.006504837589925847*T**2*Log(H2SO4)**2 - (0.002702979699750996* & T**2*Log(H2SO4)**2)/h3 + 1.223462360247441*h6*T**2*Log(H2SO4)**2- & (0.5623561810520002*h6*T**2*Log(H2SO4)**2)/h3 - & 0.000024272415265506407*q*T**2*Log(H2SO4)**2 - & (0.0000317372505770328*q*T**2*Log(H2SO4)**2)/h3 - & 0.0028928533476792*h6*q*T**2* & Log(H2SO4)**2-1.7589107450560238e-7_fp* & q**2*T**2*Log(H2SO4)** & 2+8.98009092200891e-6_fp*T**3*Log(H2SO4)**2+ & (7.173660190761036e-6_fp*T**3*Log(H2SO4)**2)/h3 - & 0.0015801362599946241*h6*T**3* & Log(H2SO4)**2+8.220297383016583e-8_fp* & q*T**3*Log(H2SO4)**2 - 12589.220049398413*Log(RH)+ & (71533.62210328173*Log(RH))/h3+ & 1.0678104434003264e+6_fp*h6*Log(RH)- & (1.6102655953002474e+6_fp*h6*Log(RH))/h3+ & 51.82639715490156*q*Log(RH)- & (38.71320196661908*q*Log(RH))/h3+3767.8963041701336*h6*q*Log(RH)- & (2025.2741146328435*h6*q*Log(RH))/h3+0.43253945689885376*q**2* & Log(RH) - (0.5285905724764535*q**2*Log(RH))/h3+2.800088035800146* & h6*q**2*Log(RH)+(5.830987444741845*h6*q**2*Log(RH))/h3+ & 156.76303859222733*T*Log(RH) - (1050.9788795963977*T* & Log(RH))/h3 + 2968.558570914762*h6*T*Log(RH)- & (13144.694726104603*h6*T*Log(RH))/h3-0.3939836553978611*q*T* & Log(RH) - (0.15149542273585964*q*T*Log(RH))/h3-52.00514647221519* & h6*q*T*Log(RH)+(33.50499777824741*h6*q*T*Log(RH))/h3- & 0.0044939367750510195*q**2*T*Log(RH)+ & (0.0037387212699065446*q**2*T*Log(RH))/h3 - & 0.019659867844446746*h6*q**2*T*Log(RH) - (0.013728505197733986* & h6*q**2*T*Log(RH))/h3-0.6541703069347068*T**2*Log(RH) + & (5.190500347012039*T**2*Log(RH))/h3- & 87.05017506628032*h6*T**2*Log(RH) + (179.83498689899525*h6*T**2* & Log(RH))/h3 + 0.00042182566738198824*q*T**2*Log(RH) + & (0.004271845253967774*q*T**2*Log(RH))/h3+0.12589872273911631*h6* & q* T**2*Log(RH) - (0.08117178992783239*h6*q*T**2*Log(RH))/h3 + & 0.000010942253625927065*q**2*T**2*Log(RH) - & (3.4136292496834907e-6_fp*q**2* & T**2*Log(RH))/h3+3.7003812518449353e-6_fp*h6*q**2*T**2*Log(RH) + & 0.0009227426647911644*T**3*Log(RH) - (0.008600685587907114*T**3* & Log(RH))/h3 + 0.23093344962838908*h6*T**3*Log(RH) - & (0.38790097045592176*h6*T**3*Log(RH))/h3 + & 1.2941739001871342e-6_fp* & q*T**3*Log(RH)-(0.000013459445557723903*q*T**3*Log(RH))/h3 + & 0.00016881487161048804* h6*q*T**3*Log(RH) + & 2.609280671396356e-9_fp* & q**2*T**3 *Log(RH)+2130.4592878663534*Log(H2SO4)*Log(RH) - & (4313.3562495734495*Log(H2SO4)*Log(RH))/h3 - & 291848.82747478905*h6*Log(H2SO4)*Log(RH) + & (488820.18312982953*h6*Log(H2SO4)*Log(RH))/h3-9.405300971012823* & q*Log(H2SO4)*Log(RH) + (12.85263348658218*q*Log(H2SO4)* & Log(RH))/h3+102.49140755096978*h6*q*Log(H2SO4)*Log(RH) - & (289.1347848442807*h6*q*Log(H2SO4)*Log(RH))/h3 - & 0.01500268773941549*q**2*Log(H2SO4)*Log(RH) + & (0.018600134825856034*q**2*Log(H2SO4)*Log(RH))/h3 - & 0.07717355560425733* & h6*q**2*Log(H2SO4)*Log(RH)-(0.161938896012148*h6*q**2*Log(H2SO4)* & Log(RH))/h3 - 27.134659704074295*T*Log(H2SO4)*Log(RH) + & (69.2483692103918*T*Log(H2SO4)*Log(RH))/h3 + 1882.179099085481* & h6*T*Log(H2SO4)*Log(RH)-(3332.724995554323*h6*T*Log(H2SO4)* & Log(RH))/h3 + 0.0786126279415837*q* & T*Log(H2SO4)*Log(RH) - (0.12353477014379059*q*T*Log(H2SO4)* & Log(RH))/h3+2.221848005253306*h6*q*T*Log(H2SO4)*Log(RH) + & (0.532770625490143*h6 *q*T*Log(H2SO4)*Log(RH))/h3 + & 0.00020323051093599427*q**2*T* Log(H2SO4)* & Log(RH) - (0.00014374306638210478*q**2*T*Log(H2SO4)*Log(RH))/h3 + & 0.0006995787862129086*h6*q**2*T*Log(H2SO4)*Log(RH) + & 0.11535250161710112*T**2*Log(H2SO4)*Log(RH)-(0.37254120769567123* & T**2*Log(H2SO4)*Log(RH))/h3 + 0.3210533828417492*h6*T**2* & Log(H2SO4)*Log(RH)+(4.899886058456062*h6*T**2*Log(H2SO4)* & Log(RH))/h3-0.00013223802083620908*q*T**2*Log(H2SO4)*Log(RH) + & (0.00031364246871883094*q*T**2*Log(H2SO4)*Log(RH))/h3 - & 0.013017818218354784*h6*q*T**2*Log(H2SO4)*Log(RH) - & 6.285230956812909e-7_fp* & q**2*T**2*Log(H2SO4)*Log(RH) -0.0001644893214543928*T**3* & Log(H2SO4)*Log(RH)+(0.0006683187277334718*T**3*Log(H2SO4)* & Log(RH))/h3-0.012564516901538326*h6*T**3*Log(H2SO4)*Log(RH)- & 1.2575655284907035e-7_fp*q*T**3*Log(H2SO4)*Log(RH) - & 79.49703918541012*Log(H2SO4)**2*Log(RH) - & (101.22507090731304*Log(H2SO4)**2*Log(RH))/h3 + & 12719.306036991808*h6*Log(H2SO4)**2*Log(RH)-(7977.5339222745315* & h6*Log(H2SO4)**2*Log(RH))/h3 & +0.3744372178099974*q*Log(H2SO4)**2*Log(RH)-(0.025682479965146*q* & Log(H2SO4)**2*Log(RH))/h3-22.19218619809272*h6*q*Log(H2SO4)**2* & Log(RH) + (5.910834971937343*h6*q*Log(H2SO4)**2*Log(RH))/h3 - & 0.00037981877987097496*q**2*Log(H2SO4)**2*Log(RH) + & (0.00032985668220561373*q**2*Log(H2SO4)**2*Log(RH))/h3 - & 0.0003940881289017262*h6*q**2*Log(H2SO4)**2*Log(RH) + & 1.0255615837685275*T*Log(H2SO4)**2*Log(RH) + & (1.0124457331884233*T* & Log(H2SO4)**2*Log(RH))/h3-111.19643387882614*h6*T*Log(H2SO4)**2* & Log(RH) + (37.058545749337576*h6*T*Log(H2SO4)**2*Log(RH))/h3 - & 0.0034094873321621174*q*T*Log(H2SO4)**2*Log(RH) + & (0.000015597253696421123*q*T*Log(H2SO4)**2*Log(RH))/h3 + & 0.10750304600542902*h6*q*T*Log(H2SO4)**2*Log(RH) + & 1.8808923253076581e-6_fp* & q**2*T*Log(H2SO4)**2*Log(RH) - 0.0044066707400722644*T**2* & Log(H2SO4)**2*Log(RH) - (0.0025163539282379434*T**2* & Log(H2SO4)**2*Log(RH))/h3 + 0.24020207161395796*h6*T**2* & Log(H2SO4)**2*Log(RH)+7.634986243805219e-6_fp* & q*T**2*Log(H2SO4)**2* & Log(RH) + 6.328401246898811e-6_fp*T**3*Log(H2SO4)**2*Log(RH) + & 3630.6862033225625*Log(RH)**2-(1075.4966438125716*Log(RH)**2)/h3+ & 54546.69751557024*h6*Log(RH)**2-(49710.530231480734*h6* & Log(RH)**2)/h3 - 1.5893360668636096*q*Log(RH)**2 + & (7.970183065343727*q*Log(RH)**2)/h3 + 400.88335315886525*h6*q* & Log(RH)**2 -(219.0329650802132*h6*q*Log(RH)**2)/h3 + & 0.015009992625400783*q**2*Log(RH)**2 + (0.0036804085191588995* & q**2*Log(RH)**2)/h3+0.4203732847045355*h6*q**2*Log(RH)**2 + & (0.20391771437862574*h6*q**2*Log(RH)**2)/h3 - 44.579109086853684* & T*Log(RH)**2 + (8.53054910480424*T* & Log(RH)**2)/h3 + 76.04921125760566*h6*T*Log(RH)**2 - & (329.28669019015933*h6*T*Log(RH)**2)/h3 - 0.019940534315381526*q & *T*Log(RH)**2 - (0.050640623913744444*q*T*Log(RH)**2)/h3 - & 1.5765203107981385*h6*q*T*Log(RH)**2 + (0.3694218342124642*h6* & q*T* Log(RH)**2)/h3-0.0001222138921423729*q**2*T*Log(RH)**2 - & (0.000049403831741944986*q**2* & T*Log(RH)**2)/h3 - 0.0025870767829077484*h6*q**2*T*Log(RH)**2 + & 0.17463801499094986*T**2*Log(RH)**2 - (0.02046987546015939*T**2* & Log(RH)**2)/h3 - 1.3780954635968534*h6*T**2*Log(RH)**2 + & (2.0745682824062985*h6*T**2*Log(RH)**2)/h3 + & 0.00015350888582331981* q*T**2*Log(RH)**2 + & (0.00011285744022151752*q*T**2*Log(RH)**2)/h3 + & 0.00004952110557031714*h6*q*T**2* & Log(RH)**2+3.968468979853371e-7_fp* & q**2*T**2*Log(RH)**2 - 0.00021374165659919817*T**3*Log(RH)**2 + & (0.000023714077438108623*T**3*Log(RH)**2)/h3 - & 0.0010671420677054659* h6* & T**3*Log(RH)**2 - 1.8562790214558605e-7_fp*q*T**3*Log(RH)**2 - & 279.60556688841575*Log(H2SO4)*Log(RH)**2 + (44.483779255378025* & Log(H2SO4)*Log(RH)**2)/h3 -11085.947063809159*h6*Log(H2SO4)* & Log(RH)**2 +(10910.046235786824*h6*Log(H2SO4)*Log(RH)**2)/h3 + & 0.47924678115681674*q*Log(H2SO4)*Log(RH)**2-(0.3759508982199312* & q*Log(H2SO4)*Log(RH)**2)/h3-29.071647637053548*h6*q*Log(H2SO4)* & Log(RH)**2 + (8.887445070958586*h6*q*Log(H2SO4)*Log(RH)**2)/h3- & 0.00029636660559253115*q**2 * Log(H2SO4)*Log(RH)**2 + & (0.00046301434118339234*q**2*Log(H2SO4)*Log(RH)**2)/h3 + & 0.005479820108166143*h6*q**2*Log(H2SO4)*Log(RH)**2 + & 3.2937887074139884*T*Log(H2SO4)*Log(RH)**2 - & (0.053358185813312024*T*Log(H2SO4)*Log(RH)**2)/h3 + & 29.117876039650476*h6*T*Log(H2SO4)*Log(RH)**2 - & (34.13451610985067*h6*T*Log(H2SO4)*Log(RH)**2)/h3 - & 0.001150661716592889*q*T*Log(H2SO4)*Log(RH)**2 + & (0.0005497364286653244*q*T* Log(H2SO4)* & Log(RH)**2)/h3+0.09171149584822953*h6*q*T*Log(H2SO4)*Log(RH)**2- & 2.9335804996871176e-6_fp*q**2*T*Log(H2SO4)*Log(RH)**2 - & 0.012024558565450824*T**2*Log(H2SO4)*Log(RH)**2 - & (0.0008282043267863183*T**2*Log(H2SO4)*Log(RH)**2)/h3 + & 0.11350434127907331*h6* T**2* & Log(H2SO4)*Log(RH)**2-3.206307709389464e-6_fp*q*T**2*Log(H2SO4)* & Log(RH)**2 + 0.000012855779740625904*T**3*Log(H2SO4)*Log(RH)**2 + & 3.7577104325072703*Log(H2SO4)**2*Log(RH)**2 -(2.6641547962978636* & Log(H2SO4)**2*Log(RH)**2)/h3 + 476.38347866428205*h6* & Log(H2SO4)**2 *Log(RH)**2 - (127.7453688897455*h6*Log(H2SO4)**2* & Log(RH)**2)/h3 -0.01970020856731193*q*Log(H2SO4)**2*Log(RH)**2 + & (0.006983199758249699*q*Log(H2SO4)**2*Log(RH)**2)/h3 + & 0.3243000572140283*h6*q*Log(H2SO4)**2* & Log(RH)**2+0.00002903250111944733*q**2*Log(H2SO4)**2*Log(RH)**2- & 0.037500815576593044*T*Log(H2SO4)**2*Log(RH)**2 + & (0.013073560271857765*T*Log(H2SO4)**2*Log(RH)**2)/h3 - & 2.2753830913797373*h6*T* Log(H2SO4)**2* & Log(RH)**2 + 0.00007918460467376976*q*T*Log(H2SO4)**2*Log(RH)**2+ & 0.00009291148493939081*T**2*Log(H2SO4)**2*Log(RH)**2 h2=exp(h2) h4=-233.3693139924163 + 3711.127600293859*h6 - & 127375.45943800849*h6**2 - 0.6541599370168311*q - & 8.950348936875036*h6*q + 1420.4060399615116*h6**2*q + & 0.006010885721884837*q**2 - 0.2514391282801529*h6*q**2 + & 11.74107168004114*h6**2*q**2 - 27.242866772851034*RH + & 3230.6550683739456*h6*RH - 7739.349030052802*h6**2*RH + & 0.02657310586465451*q*RH + 0.8072083676135904*h6*q*RH + & 21.19451916114249*h6**2*q*RH - 0.0013789987709190107*q**2*RH - & 0.02985872690339605*h6*q**2*RH + 10.1858919054768*RH**2 + & 1831.5638235525591*h6*RH**2 - 3345.6757256829833*h6**2*RH**2 - & 0.006667965604100408*q*RH**2 - 1.6996949068091805*h6*q*RH**2 - & 0.0002938711589315329*q**2*RH**2 + 20.8476664473087*RH**3 + & 153.46841353011587*h6*RH**3 - 0.023573221099724897*q*RH**3 + & 3.1234153503175706*T - 106.11845318552218*h6*T + & 1616.0925045006472*h6**2*T - 0.000870039433136904*q*T + & 0.07485289069770486*h6*q*T - 2.8492194924162093*h6**2*q*T - & 0.000025041587132070856*q**2*T - & 0.00009872033200025474*h6*q**2*T + 0.1139999815738393*RH*T - & 59.3235586131405*h6*RH*T + 188.66428911211182*h6**2*RH*T + & 0.0021232663933975797*q*RH*T + 0.03525906170060478*h6*q*RH*T + & 5.50009952133025e-6_fp*q**2*RH*T - 0.40949236112495135*RH**2*T - & 9.19061496536003*h6*RH**2*T + & 0.00018605332374157369*q*RH**2*T - & 0.15228517482883766*RH**3*T - 0.026779347826859368*T**2 + & 0.7791278560987452*h6*T**2 - 5.635512845808971*h6**2*T**2 - & 0.00004290197829367679*q*T**2 - & 0.00034888935617559023*h6*q*T**2 + & 3.399576950217114e-8_fp*q**2*T**2 + & 0.0047495543899101315*RH*T**2 + & 0.21966980586301704*h6*RH*T**2 - & 5.402900826149558e-6_fp*q*RH*T**2 + & 0.00209481671640675*RH**2*T**2 + 0.00004712913787763615*T**3- & 0.0022395082766246705*h6*T**3 + 7.857921629051029e-8_fp*q*T**3 - & 0.000017637397545586075*RH*T**3 + & 14.487613189612244*Log(H2SO4) + & 834.2954132542228*h6*Log(H2SO4) - & 9818.723117205202*h6**2*Log(H2SO4) + & 0.1293876064755356*q*Log(H2SO4) + & 0.5266286653232314*h6*q*Log(H2SO4) - & 85.4813173795405*h6**2*q*Log(H2SO4) - & 0.0005441269120155648*q**2*Log(H2SO4) + & 0.013203398533271429*h6*q**2*Log(H2SO4) + & 2.9312753776692975*RH*Log(H2SO4) + & 329.1801633051309*h6*RH*Log(H2SO4) - & 2384.7570613779067*h6**2*RH*Log(H2SO4) - & 0.02754902616213419*q*RH*Log(H2SO4) - & 0.39067534860398334*h6*q*RH*Log(H2SO4) + & 0.000059670451934966084*q**2*RH*Log(H2SO4) + & 2.1796062691153963*RH**2*Log(H2SO4) - & 4.33856569910847*h6*RH**2*Log(H2SO4) + & 0.0016947748838741473*q*RH**2*Log(H2SO4) + & 0.7647868504545748*RH**3*Log(H2SO4) + & 0.22920773390043764*T*Log(H2SO4) - & 8.113046295543565*h6*T*Log(H2SO4) + & 68.80414049795816*h6**2*T*Log(H2SO4) + & 0.0014123733231002104*q*T*Log(H2SO4) + & 0.0062552686253774335*h6*q*T*Log(H2SO4) + & 3.138422092020368d-8*q**2*T*Log(H2SO4) - & 0.11854147612732342*RH*T*Log(H2SO4) - & 2.0186043272890317*h6*RH*T*Log(H2SO4) - & 0.000017510448352402354*q*RH*T*Log(H2SO4) - & 0.014662481263341446*RH**2*T*Log(H2SO4) + & 0.001037948515905241*T**2*Log(H2SO4) + & 0.04470222473271311*h6*T**2*Log(H2SO4) - & 7.507637022804968e-7_fp*q*T**2*Log(H2SO4) + & 0.0002763185325508037*RH*T**2*Log(H2SO4) - & 2.046693588795596e-6_fp*T**3*Log(H2SO4) - & 3.3271552306181786*Log(H2SO4)**2 - & 0.6732293679771482*h6*Log(H2SO4)**2 - & 123.7357115914075*h6**2*Log(H2SO4)**2 - & 0.017682151597098173*q*Log(H2SO4)**2 - & 0.06932927383915821*h6*q*Log(H2SO4)**2 + & 0.000028013174553488913*q**2*Log(H2SO4)**2 + & 0.5385357123752617*RH*Log(H2SO4)**2 + & 4.405735442137794*h6*RH*Log(H2SO4)**2 + & 0.0007699683891127761*q*RH*Log(H2SO4)**2 - & 0.01981622019488726*RH**2*Log(H2SO4)**2 - & 0.02863075409562691*T*Log(H2SO4)**2 - & 0.3815368435566718*h6*T*Log(H2SO4)**2 - & 0.000032173458991045656*q*T*Log(H2SO4)**2 + & 0.0006610846557652917*RH*T*Log(H2SO4)**2 + & 5.708155280776268e-6_fp*T**2*Log(H2SO4)**2 + & 0.2841922065650612*Log(H2SO4)**3 + & 1.937916853785423*h6*Log(H2SO4)**3 + & 0.00046645968682534585*q*Log(H2SO4)**3 - & 0.01392240494812053*RH*Log(H2SO4)**3 + & 0.0005604898286672238*T*Log(H2SO4)**3 - & 0.00648946009121241*Log(H2SO4)**4 H4=EXP(H4) h5=68.64045827314231-3277.3575769882523*h6 + 1.0798559249565618*q- & 25.296110707348316*h6*q + 13.398992645698215*RH + & 922.4932305036297*h6*RH - 0.27140107873619296*q*RH + & 20.08312325165439*h6*q*RH + 66.82077511984484*RH**2 + & 1611.1977384351555*h6*RH**2 - 0.02661518788217287*q*RH**2 + & 3.0843227537972138*h6*q*RH**2 - 1.4080258142983926*T - & 1.8568570408634648*h6*T - 0.0037450866352058397*q*T - & 0.2576980690602505*h6*q*T - 1.3810906781490837*RH*T - & 17.730890154257356*h6*RH*T + 0.001076745543266636*q*RH*T - & 0.08909158555166723*h6*q*RH*T - 0.87735596568044*RH**2*T - & 5.603639080904061*h6*RH**2*T + 0.0002224812194282388*q*RH**2*T + & 0.015404311250124585*T**2 + 0.009972776386592903*h6*T**2 - & 7.895537111616416e-7_fp*q*T**2-0.0003918985727565079*h6*q*T**2 + & 0.014090613376170114*RH*T**2 + 0.029815313352513736*h6*RH*T**2 - & 3.607688962369381e-6_fp*q*RH*T** & 2+0.0028248811086430334*RH**2*T**2- & 0.00010105566309790024*T**3 - 0.00008368737713099654*h6*T**3 + & 1.0956121068002908e-8_fp*q*T**3-0.000042201374093774165*RH*T**3+ & 2.429718549962505e-7_fp*T**4 - 0.9150072698367441*Log(H2SO4) + & 653.1422380210507*h6*Log(H2SO4) - 0.16169777329907886*q* & Log(H2SO4)+6.860485142132651*h6*q*Log(H2SO4)+13.912279451959678* & RH*Log(H2SO4) - 12.99843208521885*h6*RH*Log(H2SO4) + & 0.021566098556935497*q*RH*Log(H2SO4) - 0.17455209117051437*h6*q* & RH*Log(H2SO4) + 3.4003096116229066*RH**2*Log(H2SO4) - & 36.48723431979357*h6*RH**2*Log(H2SO4) - 0.001787998461490877*q* & RH**2*Log(H2SO4) - 0.11123959974265946*T*Log(H2SO4) + & 1.4641341095178422*h6*T*Log(H2SO4) + 0.0005023439404053182*q*T* & Log(H2SO4) + 0.031171816066622334*h6*q*T*Log(H2SO4) - & 0.1666443655044969*RH*T*Log(H2SO4) + 0.9274525071251363*h6*RH*T* & Log(H2SO4) + 0.00003323858217484082*q*RH*T*Log(H2SO4) - & 0.021039758605777333*RH**2*T*Log(H2SO4) + 0.0018827939246916288* & T**2*Log(H2SO4) + 0.0014616406839659635*h6*T**2*Log(H2SO4) - & 2.8887052861955783e-7_fp*q*T**2*Log(H2SO4) + & 0.0007036899839828474* & RH*T**2*Log(H2SO4) - 6.077113667352327e-6_fp*T**3*Log(H2SO4) + & 0.8758449734328851*Log(H2SO4)**2 - 61.130559299849466*h6* & Log(H2SO4)**2 + 0.007311434341744119*q*Log(H2SO4)**2 - & 0.4613762652439876*h6*q*Log(H2SO4)**2 + 0.11048996127121676*RH* & Log(H2SO4)**2 - 5.241218416739315*h6*RH*Log(H2SO4)**2 - & 0.0009849834685920686*q*RH*Log(H2SO4)**2 + 0.034417912409269905* & RH**2*Log(H2SO4)**2 - 0.01737690919778605*T*Log(H2SO4)**2 - & 0.10868884345327394*h6*T*Log(H2SO4)**2-0.000013815430650770167* & q*T*Log(H2SO4)**2 - 0.0038903960432723123*RH*T*Log(H2SO4)**2 + & 0.00005879779401379263*T**2*Log(H2SO4)**2 + 0.03393085910585771* & Log(H2SO4)**3 + 2.2221405215918755*h6*Log(H2SO4)**3 - & 0.00009520679794957912*q*Log(H2SO4)**3 + 0.0166181059051036*RH* & Log(H2SO4)**3 - 0.00014027668903237805*T*Log(H2SO4)**3 if(h5.lt.0.2)then h5=0.5 elseif(h5.gt.5.)then h5=5. endif !if (h1 .gt. 1.d5) then ! take care of weird nuc rate blow up ! h1=0.e+0_fp ! h2=0.e+0_fp ! h3=0.e+0_fp ! h4=0.e+0_fp ! h5=0.e+0_fp ! h6=0.e+0_fp ! return !endif return End subroutine ion_nucl !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: cleanup_tomas ! ! !DESCRIPTION: Subroutine CLEANUP/_TOMAS deallocates all module arrays ! (win, 7/9/07) !\\ !\\ ! !INTERFACE: ! SUBROUTINE CLEANUP_TOMAS ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC !================================================================= ! CLEANUP_TOMAS begins here! !================================================================= IF ( ALLOCATED( Xk ) ) DEALLOCATE( Xk ) IF ( ALLOCATED( AVGMASS ) ) DEALLOCATE( AVGMASS ) IF ( ALLOCATED( OCSCALE30 ) ) DEALLOCATE( OCSCALE30 ) IF ( ALLOCATED( OCSCALE100 ) ) DEALLOCATE( OCSCALE100 ) IF ( ALLOCATED( ECSCALE30 ) ) DEALLOCATE( ECSCALE30 ) IF ( ALLOCATED( ECSCALE100 ) ) DEALLOCATE( ECSCALE100 ) IF ( ALLOCATED( MOLWT ) ) DEALLOCATE( MOLWT ) IF ( ALLOCATED( MOLWT ) ) DEALLOCATE( MOLWT ) IF ( ALLOCATED( H2SO4_RATE ) ) DEALLOCATE( H2SO4_RATE ) IF ( ALLOCATED( PSO4AQ_RATE ) ) DEALLOCATE( PSO4AQ_RATE ) END SUBROUTINE CLEANUP_TOMAS !EOC END MODULE TOMAS_MOD #endif ================================================ FILE: GeosCore/toms_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: toms_mod.F90 ! ! !DESCRIPTION: Module TOMS\_MOD contains variables and routines for reading ! the TOMS/SBUV O3 column data from disk (for use w/ the FAST-J photolysis ! routines). !\\ !\\ ! !INTERFACE: ! MODULE TOMS_MOD ! ! !USES: ! USE PRECISION_MOD ! For GEOS-Chem Precision (fp) USE ErrCode_Mod IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: COMPUTE_OVERHEAD_O3 PUBLIC :: GET_OVERHEAD_O3 ! ! !PUBLIC DATA MEMBERS: ! ! First & last years for which TOMS/SBUV data is is available ! (update these as new data is added to the archive) INTEGER, PUBLIC, PARAMETER :: FIRST_TOMS_YEAR = 1979 INTEGER, PUBLIC, PARAMETER :: LAST_TOMS_YEAR = 2010 ! ! !REMARKS: ! References: ! ============================================================================ ! Version 8 Merged Ozone Data Sets ! Total Ozone Revision 05 ! DATA THROUGH: MAR 2009 ! LAST MODIFIED: 01 MAY 2009 ! . ! http://acdb-ext.gsfc.nasa.gov/Data_services/merged/index.html ! . ! TOMS/SBUV MERGED TOTAL OZONE DATA, Version 8, Revision 5. ! Resolution: 5 x 10 deg. ! . ! * Includes reprocessed N16 and N17 SBUV/2 data using latest calibration. ! * OMI data updated from Collection 2 to Collection 3. ! * New offsets derived based on revised data sets. ! * 1970-1972 N4 BUV data added with no adjustments. User may wish to apply ! offset based on Comparisons between BUV and Dobson Measurements. ! . ! Responsible NASA official: ! Dr. Richard Stolarski (Richard.S.Stolarski@nasa.gov) ! Stacey Frith (Stacey.M.Frith@nasa.gov ) ! ! !REVISION HISTORY: ! 14 Jul 2003 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: compute_overhead_o3 ! ! !DESCRIPTION: Subroutine COMPUTE\_OVERHEAD\_O3 returns the resultant total ! overhead O3 column for the FAST-J photolysis. This will be one of two ! options: ! \begin{enumerate} ! \item Default: TOMS/SBUV overhead O3 columns. These will be used be ! the FAST-J routine set\_prof.F90 to overwrite the existing FAST-J ! climatology (cf McPeters \& Nagatani 1992). Missing data (i.e. ! for months \& locations where TOMS/SBUV data does not exist) ! is denoted by the value -999; FAST-J will skip over these points. ! \item Overhead O3 columns taken directly from the met fields. These ! will be returned if the flag USE\_O3\_FROM\_MET is set to TRUE. ! \end{enumerate} ! ! !INTERFACE: ! SUBROUTINE COMPUTE_OVERHEAD_O3( Input_Opt, State_Grid, State_Chm, & DAY, USE_O3_FROM_MET, TO3, & RC ) ! ! !USES: ! USE HCO_Utilities_GC_Mod, ONLY : HCO_GC_EvalFld USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState USE State_Chm_Mod, ONLY : ChmState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State INTEGER, INTENT(IN) :: DAY ! Day of month LOGICAL, INTENT(IN) :: USE_O3_FROM_MET ! Use TO3 rom met? REAL(fp), INTENT(IN) :: TO3(State_Grid%NX, & State_Grid%NY) ! Met TO3 [Dobsons] ! ! !INPUT/OUTPUT PARAMETERS ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success/failure? ! ! !REMARKS: ! Reference for the TOMS/SBUV merged O3 columns: ! . ! 1985 - 2005 are taken from: ! . ! http://code916.gsfc.nasa.gov/Data_services/merged/index.html ! . ! TOMS/SBUV MERGED TOTAL OZONE DATA, Version 8, Revision 3. ! Resolution: 5 x 10 deg. ! . ! Contact person for the merged data product: ! Stacey Hollandsworth Frith (smh@hyperion.gsfc.nasa.gov) ! . ! 2006 and 2007 are taken from: ! . ! http://code916.gsfc.nasa.gov/Data_services/merged/index.html ! . ! Version 8 Merged Ozone Data Sets ! Revision 04 ! DATA THROUGH: SEP 2008 ! LAST MODIFIED: 20 OCT 2008 ! . ! Methodology (bmy, 2/12/07) ! ---------------------------------------------------------------- ! FAST-J comes with its own default O3 column climatology (from ! McPeters 1992 & Nagatani 1991), which is stored in the input ! file "jv_atms.dat". These "FAST-J default" O3 columns are used ! in the computation of the actinic flux and other optical ! quantities for the FAST-J photolysis. ! . ! The TOMS/SBUV O3 columns and 1/2-monthly O3 trends (contained ! in the TOMS_200701 directory) are read into GEOS-Chem by routine ! READ_TOMS in "toms_mod.F90". Missing values (i.e. locations where ! there are no data) in the TOMS/SBUV O3 columns are defined by ! the flag -999. ! . ! After being read from disk in routine READ_TOMS, the TOMS/SBUV ! O3 data are then passed to the FAST-J routine "set_prof.F90". In ! "set_prof.F90", a test is done to make sure that the TOMS/SBUV O3 ! columns and 1/2-monthly trends do not have any missing values ! for (lat,lon) location for the given month. If so, then the ! TOMS/SBUV O3 column data is interpolated to the current day and ! is used to weight the "FAST-J default" O3 column. This ! essentially "forces" the "FAST-J default" O3 column values to ! better match the observations, as defined by TOMS/SBUV. ! . ! If there are no TOMS/SBUV O3 columns (and 1/2-monthly trends) ! at a (lat,lon) location for given month, then FAST-J will revert ! to its own "default" climatology for that location and month. ! Therefore, the TOMS O3 can be thought of as an "overlay" data ! -- it is only used if it exists. ! . ! Note that there are no TOMS/SBUV O3 columns at the higher ! latitudes. At these latitudes, the code will revert to using ! the "FAST-J default" O3 columns. ! . ! As of February 2007, we have TOMS/SBUV data for 1979 thru 2005. ! 2006 TOMS/SBUV data is incomplete as of this writing. For years ! 2006 and onward, we use 2005 TOMS O3 columns. ! . ! This methodology was originally adopted by Mat Evans. Symeon ! Koumoutsaris was responsible for creating the downloading and ! processing the TOMS O3 data files from 1979 thru 2005 in the ! TOMS_200701 directory. ! ! !REVISION HISTORY: ! 06 Mar 2012 - R. Yantosca - Initial version, pulled code out from ! the FAST-J routine SET_PROF; based on the ! GEOS-Chem column code routine ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! LOGICAL, SAVE :: FIRST = .TRUE. INTEGER :: I, J CHARACTER(LEN=255) :: ErrMsg ! Assume success RC = GC_SUCCESS ! Initialize State_Chm%TO3_DAILY = 0e+0_fp !================================================================= ! Now weight the O3 column by the observed monthly mean TOMS. ! Missing data is denoted by the flag -999. (mje, bmy, 7/15/03) !================================================================= IF ( USE_O3_FROM_MET ) THEN !--------------------------------------------------------------- ! Here we are using the overhead O3 from the meteorology; ! we won't overwrite this with TOMS/SBUV O3 columns ! NOTE: Only print if debug output is on (bmy, 05 Dec 2022) !--------------------------------------------------------------- IF ( FIRST .and. Input_Opt%amIRoot .and. Input_Opt%Verbose ) THEN WRITE( 6, '(a)' ) REPEAT( '%', 45 ) WRITE( 6, 100 ) 100 FORMAT( '%%% USING O3 COLUMNS FROM THE MET FIELDS! %%% ' ) WRITE( 6, '(a)' ) REPEAT( '%', 45 ) FIRST = .FALSE. ENDIF ! Get the overhead O3 column directly from the met field O3 State_Chm%TO3_DAILY = TO3 ELSE ! Evalulate the first day TOMS O3 columns from HEMCO CALL HCO_GC_EvalFld( Input_Opt, State_Grid, 'TOMS1_O3_COL', State_Chm%TOMS1, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not find TOMS1_O3_COL in HEMCO data list!' CALL GC_Error( ErrMsg, RC, 'toms_mod.F' ) RETURN ENDIF ! Evalulate the last day TOMS O3 columns from HEMCO CALL HCO_GC_EvalFld( Input_Opt, State_Grid, 'TOMS2_O3_COL', State_Chm%TOMS2, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not find TOMS2_O3_COL in HEMCO data list!' CALL GC_Error( ErrMsg, RC, 'toms_mod.F' ) RETURN ENDIF !--------------------------------------------------------------- ! Here we are returning the default FAST-J overhead O3 ! climatology with the TOMS/SBUV O3 columns (where data exists) !--------------------------------------------------------------- ! Interpolate O3 to current day (w/in 2nd half of month) !$OMP PARALLEL DO & !$OMP PRIVATE( I, J ) & !$OMP DEFAULT( SHARED ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX State_Chm%TO3_DAILY(I,J) = State_Chm%TOMS1(I,J) + (DAY - 1) * & ( (State_Chm%TOMS2(I,J)-State_Chm%TOMS1(I,J))/30.0_fp ) ENDDO ENDDO !$OMP END PARALLEL DO ENDIF END SUBROUTINE COMPUTE_OVERHEAD_O3 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: get_overhead_o3 ! ! !DESCRIPTION: Function GET\_OVERHEAD\_O3 returns the total overhead O3 ! column [DU] (which is taken either from TOMS/SBUV or directly from the ! met fields) at a given surface grid box location (I,J). !\\ !\\ ! !INTERFACE: ! FUNCTION GET_OVERHEAD_O3( State_Chm, I, J ) RESULT( OVERHEAD_O3 ) ! ! !USES: ! USE State_Chm_Mod, ONLY : ChmState ! ! !INPUT PARAMETERS: ! TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object INTEGER :: I ! Grid box longitude index INTEGER :: J ! Grid box latitude index ! ! !RETURN VALUE: ! REAL(fp) :: OVERHEAD_O3 ! Total overhead O3 column [DU] ! ! !REVISION HISTORY: ! 06 Mar 2012 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC OVERHEAD_O3 = State_Chm%TO3_DAILY(I,J) END FUNCTION GET_OVERHEAD_O3 !EOC END MODULE TOMS_MOD ================================================ FILE: GeosCore/tpcore_fvdas_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: tpcore_fvdas_mod.F90 ! ! !DESCRIPTION: \subsection*{Overview} ! Module Tpcore\_Fvdas\_Mod contains routines for the TPCORE ! transport scheme, as implemented in the GMI model (cf. John Tannahill), ! based on Lin \ Rood 1995. The Harvard Atmospheric Chemistry Modeling Group ! has added modifications to implement the Philip-Cameron Smith pressure ! fixer for mass conservation. Mass flux diagnostics have also been added. ! !\subsection*{References} ! \begin{enumerate} ! \item Lin, S.-J., and R. B. Rood, 1996: \emph{Multidimensional flux ! form semi-Lagrangian transport schemes}, ! \underline{ Mon. Wea. Rev.}, \textbf{124}, 2046-2070. ! \item Lin, S.-J., W. C. Chao, Y. C. Sud, and G. K. Walker, 1994: ! \emph{A class of the van Leer-type transport schemes and its ! applications to the moisture transport in a General Circulation ! Model}, \underline{Mon. Wea. Rev.}, \textbf{122}, 1575-1593. ! \end{enumerate} ! !\subsection*{Selecting E/W, N/S and vertical advection options} ! ! The flags IORD, JORD, KORD select which transport schemes are used in the ! E/W, N/S, and vertical directions, respectively. Here is a list of the ! possible values that IORD, JORD, KORD may be set to (original notes from ! S-J Lin): ! ! \begin{enumerate} ! \item 1st order upstream scheme (too diffusive, not a real option; ! it can be used for debugging purposes; this is THE only known ! "linear" monotonic advection scheme.). ! \item 2nd order van Leer (full monotonicity constraint; ! see Lin et al 1994, MWR) ! \item monotonic PPM* (Collela \& Woodward 1984) ! \item semi-monotonic PPM (same as 3, but overshoots are allowed) ! \item positive-definite PPM (constraint on the subgrid distribution is ! only strong enough to prevent generation of negative values; ! both overshoots \& undershoots are possible). ! \item un-constrained PPM (nearly diffusion free; faster but ! positivity of the subgrid distribution is not quaranteed. Use ! this option only when the fields and winds are very smooth. ! \item Huynh/Van Leer/Lin full monotonicity constraint. Only KORD can be ! set to 7 to enable the use of Huynh's 2nd monotonicity constraint ! for piece-wise parabolic distribution. ! \end {enumerate} ! ! Recommended values: ! ! \begin{itemize} ! \item IORD=JORD=3 for high horizontal resolution. ! \item KORD=3 or 7 ! \end{itemize} ! ! The implicit numerical diffusion decreases as \_ORD increases. ! DO NOT use option 4 or 5 for non-positive definite scalars ! (such as Ertel Potential Vorticity). !\\ !\\ ! In GEOS-Chem we have been using IORD=3, JORD=3, KORD=7. We have tested ! the OpenMP parallelization with these options. GEOS-Chem users who wish to ! use different (I,J,K)ORD options should consider doing single-procsessor ! vs. multi-processor tests to test the implementation of the parallelization. ! !\subsection*{GEOS-4 and GEOS-5 Hybrid Grid Definition} ! ! For GEOS-4 and GEOS-5 met fields, the pressure at the bottom edge of ! grid box (I,J,L) is defined as follows: ! ! $$P_{edge}(I,J,L) = A_{k}(L) + [ B_{k}(L) * P_{surface}(I,J) ]$$ ! ! where ! ! \begin{itemize} ! \item $P_{surface}$(I,J) is the "true" surface pressure at lon,lat (I,J) ! \item $A_{k}$(L) has the same units as surface pressure [hPa] ! \item $B_{k}$(L) is a unitless constant given at level edges ! \end{itemize} ! ! $A_{k}(L)$ and $B_{k}(L)$ are supplied to us by GMAO. !\\ !\\ ! !REMARKS: ! Ak(L) and Bk(L) are defined at layer edges. ! ! ! ///////////////////////////////// ! / \ ------ Model top P=ak(1) --------- ak(1), bk(1) ! | ! delp(1) | ........... q(i,j,1) ............ ! | ! \ / --------------------------------- ak(2), bk(2) ! ! ! ! / \ --------------------------------- ak(k), bk(k) ! | ! delp(k) | ........... q(i,j,k) ............ ! | ! \ / --------------------------------- ak(k+1), bk(k+1) ! ! ! ! / \ --------------------------------- ak(km), bk(km) ! | ! delp(km) | ........... q(i,j,km) ......... ! | ! \ / -----Earth's surface P=Psfc ------ ak(km+1), bk(km+1) ! ////////////////////////////////// ! ! Note: surface pressure can be of any unit (e.g., pascal or mb) as ! long as it is consistent with the definition of (ak, bk) defined above. ! ! Winds (u,v), ps, and q are assumed to be defined at the same points. ! ! The latitudes are given to the initialization routine: init_tpcore. ! ! !INTERFACE: ! MODULE Tpcore_FvDas_Mod ! ! !USES: ! USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: Init_Tpcore PUBLIC :: Exit_Tpcore PUBLIC :: Tpcore_FvDas ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: Average_Const_Poles PRIVATE :: Set_Cross_Terms PRIVATE :: Calc_Vert_Mass_Flux PRIVATE :: Set_Jn_Js PRIVATE :: Calc_Advec_Cross_Terms PRIVATE :: Qckxyz PRIVATE :: Set_Lmts PRIVATE :: Set_Press_Terms PRIVATE :: Calc_Courant PRIVATE :: Calc_Divergence PRIVATE :: Do_Divergence_Pole_Sum PRIVATE :: Do_Cross_Terms_Pole_I2d2 PRIVATE :: Xadv_Dao2 PRIVATE :: Yadv_Dao2 PRIVATE :: Do_Yadv_Pole_I2d2 PRIVATE :: Do_Yadv_Pole_Sum PRIVATE :: Xtp PRIVATE :: Xmist PRIVATE :: Fxppm PRIVATE :: Lmtppm PRIVATE :: Ytp PRIVATE :: Ymist PRIVATE :: Do_Ymist_Pole1_I2d2 PRIVATE :: Do_Ymist_Pole2_I2d2 PRIVATE :: Fyppm PRIVATE :: Do_Fyppm_Pole_I2d2 PRIVATE :: Do_Ytp_Pole_Sum PRIVATE :: Fzppm PRIVATE :: Average_Press_Poles ! ! !PRIVATE DATA MEMBERS: ! REAL(fp), ALLOCATABLE, SAVE :: dtdx5(:) REAL(fp), ALLOCATABLE, SAVE :: dtdy5(:) REAL(fp), ALLOCATABLE, SAVE :: cosp(:) REAL(fp), ALLOCATABLE, SAVE :: cose(:) REAL(fp), ALLOCATABLE, SAVE :: gw(:) REAL(fp), ALLOCATABLE, SAVE :: DLAT(:) ! ! !AUTHOR: ! Original code from Shian-Jiann Lin, GMAO ! Modified for GMI model by John Tannahill, LLNL (jrt@llnl.gov) ! Implemented into GEOS-Chem by Claire Carouge (ccarouge@seas.harvard.edu) ! ProTeX documentation added by Bob Yantosca (yantosca@seas.harvard.edu) ! OpenMP parallelization added by Bob Yantosca (yantosca@seas.harvard.edu) ! ! !REVISION HISTORY: ! 05 Dec 2008 - C. Carouge - Replaced TPCORE routines by S-J Lin and Kevin ! Yeh with the TPCORE routines from the GMI model. ! This eliminates the polar overshoot in the ! stratosphere. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_Tpcore ! ! !DESCRIPTION: Subroutine Init\_Tpcore allocates and initializes all module ! variables, !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_Tpcore( IM, JM, KM, JFIRST, JLAST, NG, & MG, dt, ae, clat, verbose, RC ) ! ! !USES: ! USE PhysConstants USE ErrCode_Mod ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: IM ! Global E-W dimension INTEGER, INTENT(IN) :: JM ! Global N-S dimension INTEGER, INTENT(IN) :: KM ! Vertical dimension INTEGER, INTENT(IN) :: NG ! large ghost width INTEGER, INTENT(IN) :: MG ! small ghost width REAL(fp), INTENT(IN) :: dt ! Time step in seconds REAL(fp), INTENT(IN) :: ae ! Earth's radius (m) REAL(fp), INTENT(IN) :: clat(JM) ! latitude in radian LOGICAL, INTENT(IN) :: verbose ! Print verbose output? ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: JFIRST ! Local first index for N-S axis INTEGER, INTENT(OUT) :: JLAST ! Local last index for N-S axis INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REVISION HISTORY: ! 05 Dec 2008 - C. Carouge - Replaced TPCORE routines by S-J Lin and Kevin ! Yeh with the TPCORE routines from GMI model. ! This eliminates the polar overshoot in the ! stratosphere. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars REAL(fp) :: elat(jm+1) ! cell edge latitude in radian REAL(fp) :: sine(jm+1) REAL(fp) :: SINE_25(JM+1) ! REAL(fp) :: dlon INTEGER :: I, J ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc !======================================================================= ! Init_Tpcore begins here! !======================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Init_Tpcore (in module GeosCore/tpcore_fvas_mod.F90)' ! NOTE: since we are not using MPI parallelization, we can set JFIRST ! and JLAST to the global grid limits in latitude. (bmy, 12/3/08) jfirst = 1 jlast = jm if ( jlast - jfirst < 2 ) then write(*,*) 'Minimum size of subdomain is 3' endif !----------------------------------------------------------------------- ! Allocate arrays !----------------------------------------------------------------------- ALLOCATE( cosp( JM ), STAT=RC ) CALL GC_CheckVar( 'tpcore_fvdas_mod.F90:cosp', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ALLOCATE( cose( JM ), STAT=RC ) CALL GC_CheckVar( 'tpcore_fvdas_mod.F90:cose', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ALLOCATE( gw( JM ), STAT=RC ) CALL GC_CheckVar( 'tpcore_fvdas_mod.F90:gw', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ALLOCATE( dtdx5( JM ), STAT=RC ) CALL GC_CheckVar( 'tpcore_fvdas_mod.F90:dtdx5', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ALLOCATE( dtdy5( JM ), STAT=RC ) CALL GC_CheckVar( 'tpcore_fvdas_mod.F90:dtdy5', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ALLOCATE( DLAT( JM ), STAT=RC ) ! For PJC pressure-fixer CALL GC_CheckVar( 'tpcore_fvdas_mod.F90:dlat', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN !----------------------------------------------------------------------- ! Define quantities !----------------------------------------------------------------------- dlon = 2.e+0_fp * PI / DBLE( IM ) ! S. Pole elat(1) = -0.5e+0_fp*PI sine(1) = -1.0e+0_fp SINE_25(1) = -1.0e+0_fp cose(1) = 0.0e+0_fp do j=2,jm elat(j) = 0.5e+0_fp*(clat(j-1) + clat(j)) sine(j) = SIN( elat(j) ) SINE_25(J) = SIN( CLAT(J) ) cose(j) = COS( elat(j) ) enddo ! N. Pole elat(jm+1) = 0.5e+0_fp*PI sine(jm+1) = 1.0e+0_fp SINE_25(JM+1) = 1.0e+0_fp ! Polar cap (S. Pole) dlat(1) = 2.e+0_fp*(elat(2) - elat(1)) do j=2,jm-1 dlat(j) = elat(j+1) - elat(j) enddo ! Polar cap (N. Pole) dlat(jm) = 2.0e+0_fp*(elat(jm+1) - elat(jm)) do j=1,jm gw(j) = sine(j+1) - sine(j) cosp(j) = gw(j) / dlat(j) dtdx5(j) = 0.5e+0_fp * dt / (dlon*ae*cosp(j)) dtdy5(j) = 0.5e+0_fp * dt / (ae*dlat(j)) enddo ! Write a message only when debug printout is on (bmy, 05 Dec 2022) IF ( verbose ) THEN WRITE( 6, '(a)' ) REPEAT( '=', 79 ) WRITE( 6, '(a)' ) & 'TPCORE_FVDAS (based on GMI) Tracer Transport Module successfully initialized' WRITE( 6, '(a)' ) REPEAT( '=', 79 ) ENDIF END SUBROUTINE Init_Tpcore !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Exit_Tpcore ! ! !DESCRIPTION: Subroutine Exit\_Tpcore deallocates all module variables. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Exit_Tpcore ! ! !REVISION HISTORY: ! 05 Dec 2008 - C. Carouge - Replaced TPCORE routines by S-J Lin and Kevin ! Yeh with the TPCORE routines from GMI model. ! This eliminates the polar overshoot in the ! stratosphere. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! Deallocate arrays only if they are allocated IF ( ALLOCATED( COSP ) ) DEALLOCATE( COSP ) IF ( ALLOCATED( COSE ) ) DEALLOCATE( COSE ) IF ( ALLOCATED( GW ) ) DEALLOCATE( GW ) IF ( ALLOCATED( DTDX5 ) ) DEALLOCATE( DTDX5 ) IF ( ALLOCATED( DTDY5 ) ) DEALLOCATE( DTDY5 ) IF ( ALLOCATED( DLAT ) ) DEALLOCATE( DLAT ) END SUBROUTINE Exit_Tpcore !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Tpcore_FvDas ! ! !DESCRIPTION: Subroutine Tpcore\_FvDas takes horizontal winds on sigma ! (or hybrid sigma-p) surfaces and calculates mass fluxes, and then updates ! the 3D mixing ratio fields one time step (tdt). The basic scheme is a ! Multi-Dimensional Flux Form Semi-Lagrangian (FFSL) based on the van Leer ! or PPM (see Lin and Rood, 1995). !\\ !\\ ! !INTERFACE: ! SUBROUTINE Tpcore_FvDas( dt, ae, IM, JM, KM, & JFIRST, JLAST, ng, mg, nq, & ak, bk, u, v, ps1, & ps2, ps, iord, jord, kord, & n_adj, XMASS, YMASS, FILL, AREA_M2, & State_Chm, State_Diag ) ! ! !USES: ! ! Include files w/ physical constants and met values USE PhysConstants USE ErrCode_Mod USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE error_mod ! ! !INPUT PARAMETERS: ! ! Transport time step [s] REAL(fp), INTENT(IN) :: dt ! Earth's radius [m] REAL(fp), INTENT(IN) :: ae ! Global E-W, N-S, and vertical dimensions INTEGER, INTENT(IN) :: IM INTEGER, INTENT(IN) :: JM INTEGER, INTENT(IN) :: KM ! Latitude indices for local first box and local last box ! (NOTE: for global grids these are 1 and JM, respectively) INTEGER, INTENT(IN) :: JFIRST INTEGER, INTENT(IN) :: JLAST ! Primary ghost region ! (NOTE: only required for MPI parallelization; use 0 otherwise) INTEGER, INTENT(IN) :: ng ! Secondary ghost region ! (NOTE: only required for MPI parallelization; use 0 otherwise) INTEGER, INTENT(IN) :: mg ! Ghosted latitudes (3 required by PPM) ! (NOTE: only required for MPI parallelization; use 0 otherwise) INTEGER, INTENT(IN) :: nq ! Flags to denote E-W, N-S, and vertical transport schemes INTEGER, INTENT(IN) :: iord INTEGER, INTENT(IN) :: jord INTEGER, INTENT(IN) :: kord ! Number of adjustments to air_mass_flux (0 = no adjustment) INTEGER, INTENT(IN) :: n_adj ! Ak and Bk coordinates to specify the hybrid grid ! (see the REMARKS section below) REAL(fp), INTENT(IN) :: ak(KM+1) REAL(fp), INTENT(IN) :: bk(KM+1) ! u-wind (m/s) at mid-time-level (t=t+dt/2) REAL(fp), INTENT(IN) :: u(:,:,:) ! E/W and N/S mass fluxes [kg/s] ! (These are computed by the pressure fixer, and passed into TPCORE) REAL(fp), INTENT(IN) :: XMASS(:,:,:) REAL(fp), INTENT(IN) :: YMASS(:,:,:) ! Grid box surface area for mass flux diag [m2] REAL(fp), INTENT(IN) :: AREA_M2(JM) LOGICAL, INTENT(IN) :: FILL ! Fill negatives ? ! ! !INPUT/OUTPUT PARAMETERS: ! ! V-wind (m/s) at mid-time-level (t=t+dt/2) REAL(fp), INTENT(INOUT) :: v(:,:,:) ! surface pressure at current time REAL(fp), INTENT(INOUT) :: ps1(IM, JFIRST:JLAST) ! surface pressure at future time=t+dt REAL(fp), INTENT(INOUT) :: ps2(IM, JFIRST:JLAST) ! Diagnostics state object TYPE(ChmState), INTENT(INOUT) :: State_Chm TYPE(DgnState), INTENT(INOUT) :: State_Diag ! ! !OUTPUT PARAMETERS: ! ! "Predicted" surface pressure [hPa] REAL(fp), INTENT(OUT) :: ps(IM,JFIRST:JLAST) ! ! !AUTHOR: ! Original code from Shian-Jiann Lin, DAO) ! John Tannahill, LLNL (jrt@llnl.gov) ! ! !REVISION HISTORY: ! 05 Dec 2008 - C. Carouge - Replaced TPCORE routines by S-J Lin and Kevin ! Yeh with the TPCORE routines from GMI model. ! This eliminates the polar overshoot in the ! stratosphere. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! INTEGER, PARAMETER :: ADVEC_CONSRV_OPT = 2 ! 2=floating pressure LOGICAL, PARAMETER :: CROSS = .true. ! ! !LOCAL VARIABLES: ! INTEGER :: rj2m1 INTEGER :: j1p, j2p INTEGER :: jn (km) INTEGER :: js (km) INTEGER :: il, ij, ik, iq, k, j, i, Kflip INTEGER :: num, k2m1, S INTEGER :: north, south REAL(fp) :: dap (km) REAL(fp) :: dbk (km) REAL(fp) :: cx(im,jfirst-ng:jlast+ng,km) ! E-W CFL # on C-grid REAL(fp) :: cy(im,jfirst:jlast+mg,km) ! N-S CFL # on C-grid REAL(fp) :: delp1(im, jm, km) REAL(fp) :: delp2(im, jm, km) REAL(fp) :: delpm(im, jm, km) REAL(fp) :: pu (im, jm, km) REAL(fp) :: dpi(im, jm, km) REAL(fp) :: geofac (jm) ! geometrical factor for meridional ! advection; geofac uses correct ! spherical geometry, and replaces ! RGW_25. (ccc, 4/1/09) REAL(fp) :: geofac_pc ! geometrical gactor for poles. REAL(fp) :: dp REAL(fp) :: dps_ctm(im,jm) REAL(fp) :: ua (im, jm, km) REAL(fp) :: va (im, jm, km) REAL(fp) :: wz(im, jm, km) REAL(fp) :: dq1(im,jfirst-ng:jlast+ng,km) ! qqu, qqv, adx and ady are now 2d arrays for parallelization purposes. !(ccc, 4/1/08) REAL(fp) :: qqu(im, jm) REAL(fp) :: qqv(im, jm) REAL(fp) :: adx(im, jm) REAL(fp) :: ady(im, jm) ! fx, fy, fz and qtp are now 4D arrays for parallelization purposes. ! (ccc, 4/1/09) REAL(fp) :: fx (im, jm, km, nq) REAL(fp) :: fy (im, jm+1, km, nq) ! one more for edges REAL(fp) :: fz (im, jm, km, nq) LOGICAL, SAVE :: first = .true. ! ---------------------------------------------------- ! ilmt : controls various options in E-W advection ! jlmt : controls various options in N-S advection ! klmt : controls various options in vertcal advection ! ---------------------------------------------------- INTEGER, SAVE :: ilmt, jlmt, klmt INTEGER :: js2g0, jn2g0 ! Add pointer to avoid array temporary in call to FZPPM (bmy, 6/5/13) REAL(fp), POINTER :: q_ptr(:,:,:) ! ---------------- ! Begin execution. ! ---------------- ! Add definition of j1p and j2p for enlarge polar cap. (ccc, 11/20/08) j1p = 3 j2p = jm - j1p + 1 #ifdef TOMAS !================================================================ ! For TOMAS microphysics: zero out UA and VA. ! ! Segregate this block from the code with an #ifdef block. ! We can't bring this into the standard GEOS-Chem yet, since ! that will make it hard to compare benchmark results to prior ! versions. When we do bring this change into the standard code, ! we will have to benchmark it. (sfarina, bmy, 5/30/13) !================================================================ do ik= 1, km do ij= 1, jm do il= 1, im va(il,ij,ik) = 0.e+0_fp ua(il,ij,ik) = 0.e+0_fp end do end do end do #endif ! Average surf. pressures in the polar cap. (ccc, 11/20/08) CALL Average_Press_Poles( area_m2, ps1, 1, im, 1, jm, 1, im, 1, jm ) CALL Average_Press_Poles( area_m2, ps2, 1, im, 1, jm, 1, im, 1, jm ) ! Calculation of some geographic factors. (ccc, 11/20/08) rj2m1 = jm - 1 dp = PI / rj2m1 do ij = 1, jm geofac(ij) = dp / (2.0e+0_fp * area_m2(ij)/(sum(area_m2) * im) * im) end do geofac_pc = & dp / (2.0e+0_fp * (Sum (area_m2(1:2))/(sum(area_m2) * im)) * im) if (first) then first = .false. ! ============= call Set_Lmts & ! ============= (ilmt, jlmt, klmt, im, jm, iord, jord, kord) end if ! Pressure calculations. (ccc, 11/20/08) do ik=1,km dap(ik) = ak(ik+1) - ak(ik) dbk(ik) = bk(ik+1) - bk(ik) enddo !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( IK, IQ, q_ptr ) do ik=1,km ! ==================== call Set_Press_Terms & ! ==================== (dap(ik), dbk(ik), ps1, ps2, delp1(:,:,ik), delpm(:,:,ik), & pu(:,:,ik), & 1, jm, 1, im, 1, jm, & j1p, j2p, 1, im, 1, jm) ! !...intent(in) dap - difference in ai across layer (mb) !...intent(in) dbk - difference in bi across layer (mb) !...intent(in) pres1 - surface pressure at t1 (mb) !...intent(in) pres2 - surface pressure at t1+tdt (mb) !...intent(out) delp1 - pressure thickness at t1 (mb) !...intent(out) delpm - pressure thickness at t1+tdt/2 (mb) !...intent(out) pu - pressure at edges of box for "u" (mb) ! if (j1p /= 1+1) then do iq = 1, nq q_ptr => State_Chm%Species(iq)%Conc(:,:,km:1:-1) ! ======================== call Average_Const_Poles & ! ======================== (dap(ik), dbk(ik), area_m2, ps1, q_ptr(:,:,ik), & 1, jm, im, & 1, im, 1, jm, 1, im, 1, jm) q_ptr => NULL() end do end if ! ================= call Calc_Courant & ! ================= (cose, delpm(:,:,ik), pu(:,:,ik), xmass(:,:,ik), ymass(:,:,ik),& cx(:,:,ik), cy(:,:,ik), & j1p, j2p, & 1, jm, 1, im, 1, jm, 1, im, 1, jm) ! ==================== call Calc_Divergence & ! ==================== (.true., geofac_pc, geofac, dpi(:,:,ik), xmass(:,:,ik), & ymass(:,:,ik), & j1p, j2p, 1, im, & 1, jm, 1, im, 1, jm, 1, im, 1, jm) ! ==================== call Set_Cross_Terms & ! ==================== (cx(:,:,ik), cy(:,:,ik), ua(:,:,ik), va(:,:,ik), & j1p, j2p, 1, im, 1, jm, & 1, im, 1, jm, 1, im, 1, jm, CROSS) end do !$OMP END PARALLEL DO dps_ctm(:,:) = Sum (dpi(:,:,:), dim=3) ! ======================== call Calc_Vert_Mass_Flux & ! ======================== (dbk, dps_ctm, dpi, wz, & 1, im, 1, jm, 1, km) !.sds2.. have all mass flux here: east-west(xmass), ! north-south(ymass), vertical(wz) !.sds2.. save omega (vertical flux) as diagnostic ! ============== call Set_Jn_Js & ! ============== (jn, js, cx, & 1, im, 1, jm, 1, jm, j1p, j2p, & 1, im, 1, jm, 1, km) if (advec_consrv_opt == 0) then !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( IK, IJ, IL ) do ik = 1, km do ij = 1, jm do il = 1, im delp2(il,ij,ik) = & dap(ik) + & (dbk(ik) * (ps1(il,ij) + & dps_ctm(il,ij))) end do end do end do !$OMP END PARALLEL DO else if ((advec_consrv_opt == 1) .or. & (advec_consrv_opt == 2)) then !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( IK, IJ, IL ) do ik = 1, km do ij = 1, jm do il = 1, im delp2(il,ij,ik) = & dap(ik) + & (dbk(ik) * ps2(il,ij)) end do end do end do !$OMP END PARALLEL DO end if ! Calculate surf. pressure at t+dt. (ccc, 11/20/08) ps = ak(1)+sum(delp2,dim=3) !---------------------------------------------------------------------------- ! For time optimization : we parallelize over tracers and we loop over the ! levels outside horizontal transport subroutines. (ccc, 4/1/09) ! ! Also zeroed PRIVATE variables within the loop, and set jn(ik) and js(ik) ! to PRIVATE loop variables. This seems to avoid small diffs in output. ! -- Bob Yantosca (04 Jan 2022) !--------------------------------------------------------------------------- !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( iq, dq1, ik, adx, ady, q_ptr, qqu, qqv, north, south ) do iq = 1, nq q_ptr => State_Chm%Species(iq)%Conc(:,:,km:1:-1) ! Zero 3-D arrays for each species dq1 = 0.0_fp do ik = 1, km ! Zero PRIVATE variables for safety's sake adx = 0.0_fp ady = 0.0_fp qqu = 0.0_fp qqv = 0.0_fp ! Northernmost and southernmost latitude indices by level north = jn(ik) south = js(ik) !.sds.. convert to "mass" dq1(:,:,ik) = q_ptr(:,:,ik) * delp1(:,:,ik) ! =========================== call Calc_Advec_Cross_Terms & ! =========================== ( north, south, q_ptr(:,:,ik), qqu, qqv, & ua(:,:,ik), va(:,:,ik), j1p, j2p, im, & 1, jm, 1, im, 1, & jm, 1, im, 1, jm, & CROSS ) !.sds.. notes on arrays ! q (in) - species mixing ratio ! qqu (out) - concentration contribution from E-W ! advection cross terms(mixing ratio) ! qqv (out) - concentration contribution from N-S ! advection cross terms(mixing ratio) ! ua (in) - average of Courant numbers from il and il+1 ! va (in) - average of Courant numbers from ij and ij+1 ! ---------------------------------------------------- ! Add advective form E-W operator for E-W cross terms. ! ---------------------------------------------------- ! ============== call Xadv_Dao2 & ! ============== ( 2, north, south, adx, qqv, ua(:,:,ik), & 1, im, 1, jm, 1, jm, & j1p, j2p, 1, im, 1, jm ) !.sds notes on output arrays ! adx (out)- cross term due to E-W advection (mixing ratio) ! qqv (in) - concentration contribution from N-S ! advection (mixing ratio) ! ua (in) - average of Courant numbers from il and il+1 !.sds ! ---------------------------------------------------- ! Add advective form N-S operator for N-S cross terms. ! ---------------------------------------------------- ! ============== call Yadv_Dao2 & ! ============== ( 2, ady, qqu, va(:,:,ik), 1, im, 1, jm, & j1p, j2p, 1, im, 1, jm, 1, im, & 1, jm ) !.sds notes on output arrays ! ady (out)- cross term due to N-S advection (mixing ratio) ! qqu (in) - concentration contribution from N-S advection ! (mixing ratio) ! va (in) - average of Courant numbers from il and il+1 !.sds ! !.bmy notes: use a polar cap of 2 boxes (i.e. the "2" as ! the first argument to YADV_DAO2. The older TPCORE only had ! a polar cap of 1 box (just the Pole itself). Claire figured ! this out. (bmy, 12/11/08) !... update constituent array qq1 by adding in cross terms ! - use in fzppm q_ptr(:,:,ik) = q_ptr(:,:,ik) + ady + adx ! ======== call Xtp & ! ======== ( ilmt, north, south, pu(:,:,ik), & cx(:,:,ik), dq1(:,:,ik), qqv, xmass(:,:,ik), & fx(:,:,ik,iq), j1p, j2p, im, & 1, jm, 1, im, & 1, jm, 1, im, & 1, jm, IORD ) !.sds notes on output arrays ! pu (in) - pressure at edges in "u" (mb) ! crx (in) - Courant number in E-W direction ! dq1 (inout) - species density (mb) - updated with the E-W flux ! fx in Xtp) ! qqv (inout) - continue oncentration contribution from N-S advection ! (mixing ratio) ! xmass(in) - horizontal mass flux in E-W direction (mb) ! fx (out) - species E-W mass flux !.sds ! ======== call Ytp & ! ======== ( jlmt, geofac_pc, geofac, cy(:,:,ik), dq1(:,:,ik), & qqu, qqv, ymass(:,:,ik), fy(:,:,ik,iq), j1p, & j2p, 1, im, 1, jm, & im, 1, im, 1, jm, & 1, im, 1, jm, JORD ) !.sds notes on output arrays ! cy (in) - Courant number in N-S direction ! dq1 (inout) - species density (mb) - updated with the N-S flux ! (fy in Ytp) ! qqu (in) - concentration contribution from E-W advection ! (mixing ratio) ! qqv (inout) - concentration contribution from N-S advection ! (mixing ratio) ! ymass(in) - horizontal mass flux in E-W direction (mb) ! fy (out) - species N-S mass flux (need to mult by geofac) !.sds end do ! IK ! ========== call Fzppm & ! ========== ( klmt, delp1, wz, dq1, q_ptr, fz(:,:,:,iq), j1p, & 1, jm, 1, im, 1, jm, im, & km, 1, im, 1, jm, 1, km ) !.sds notes on output arrays ! wz (in) : vertical mass flux ! dq1 (inout) : species density (mb) ! q (in) : species concentration (mixing ratio) !.sds if (FILL) then ! =========== call Qckxyz & ! =========== (dq1, j1p, j2p, 1, jm, 1, im, 1, jm, 1, im, 1, jm, 1, km ) end if q_ptr(:,:,:) = & dq1 / delp2 if (j1p /= 2) then q_ptr(:,2,:) = q_ptr(:,1,:) q_ptr(:,jm-1,:) = q_ptr(:,jm,:) end if !======================================================================== ! MODIFICATION by Harvard Atmospheric Chemistry Modeling Group ! ! Set tracer concentration to a small positive number if concentration ! is negative. Negative concentration may occur at the poles. This ! is an issue that should be looked into in the future. (ewl, 6/30/15) !======================================================================== WHERE ( q_ptr < 0.0_fp ) q_ptr = 1.0e-26_fp ENDWHERE q_ptr => NULL() ENDDO !$OMP END PARALLEL DO !====================================================================== ! MODIFICATION by Harvard Atmospheric Chemistry Modeling Group ! ! HISTORY (aka netCDF diagnostics) ! E/W flux of advected species [kg/s] (ccarouge 12/2/08) ! ! The unit conversion is: ! ! Mass P diff 100 1 area of kg tracer 1 ! ----- = in grid * --- * --- * grid box * ------------ * --- ! time box 1 g AREA_M2 kg moist air s ! ! kg hPa Pa s^2 m^2 1 ! ---- = ----- * ----- * ---- * ---- * -------- ! s 1 hPa m 1 DeltaT ! !====================================================================== IF ( State_Diag%Archive_AdvFluxZonal ) THEN ! Zero netCDF diagnostic array State_Diag%AdvFluxZonal = 0.0_f4 ! Calculate fluxes for diag. (ccc, 11/20/08) JS2G0 = MAX( J1P, JFIRST ) ! No ghosting JN2G0 = MIN( J2P, JLAST ) ! No ghosting ! Loop over diagnostic slots !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( S, IQ, K, J, I, Kflip ) DO S = 1, State_Diag%Map_AdvFluxZonal%nSlots ! Get the advectId from the slotId IQ = State_Diag%Map_AdvFluxZonal%slot2Id(S) ! Loop over grid boxes DO K = 1, KM DO J = JS2G0, JN2G0 DO I = 1, IM ! Units: [kg/s] ! But consider changing to area-independent units [kg/m2/s] Kflip = KM - K + 1 ! flip vert State_Diag%AdvFluxZonal(I,J,Kflip,S) = & FX(I,J,K,IQ) * AREA_M2(J) * g0_100 / DT ENDDO ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDIF !======================================================================= ! MODIFICATION by Harvard Atmospheric Chemistry Modeling Group ! ! HISTORY (aka netCDF diagnostics) ! ! N/S flux of tracer [kg/s] ! (bdf, bmy, 9/28/04, ccarouge 12/12/08) ! ! NOTE, the unit conversion is the same as desciribed above for the ! E-W diagnostics. The geometrical factor was already applied to ! fy in Ytp. (ccc, 4/1/09) !======================================================================= IF ( State_Diag%Archive_AdvFluxMerid ) THEN ! Zero netCDF diagnostic array State_Diag%AdvFluxMerid = 0.0_f4 !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( S, IQ, K, J, I, Kflip ) DO S = 1, State_Diag%Map_AdvFluxMerid%nSlots ! Get the advectId from the slotId IQ = State_Diag%Map_AdvFluxMerid%slot2Id(S) ! Loop over grid boxes DO K = 1, KM DO J = 1, JM DO I = 1, IM ! Compute mass flux [kg/s] ! Units: [kg/s] ! But consider changing to area-independent units [kg/m2/s] Kflip = KM - K + 1 ! flip vert State_Diag%AdvFluxMerid(I,J,Kflip,S) = & FY(I,J,K,IQ) * AREA_M2(J) * g0_100 / DT ENDDO ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDIF !====================================================================== ! MODIFICATION by Harvard Atmospheric Chemistry Modeling Group ! ! HISTORY (aka netCDF diagnostics) ! ! Up/down flux of tracer [kg/s] ! (bmy, bdf, 9/28/04, ccarouge 12/2/08) ! ! The vertical transport done in qmap. We need to find the difference ! in order to to interpret transport. ! ! Break up diagnostic into up & down fluxes using the surface boundary ! conditions. Start from top down (really surface up for flipped ! TPCORE) ! ! By construction, MASSFLUP is flux into the bottom of the box. The ! flux at the bottom of KM (the surface box) is not zero by design. ! (phs, 3/4/08) !====================================================================== IF ( State_Diag%Archive_AdvFluxVert ) THEN ! Zero netCDF diagnostic array State_Diag%AdvFluxVert = 0.0_f4 !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( S, IQ, K, J, I, Kflip ) DO S = 1, State_Diag%Map_AdvFluxVert%nSlots ! Get the advectId from the modelId IQ = State_Diag%Map_AdvFluxVert%slot2Id(S) ! Loop over grid boxes DO K = 1, KM DO J = 1, JM DO I = 1, IM ! Ilya Stanevic (stanevic@atmosp.physics.utoronto.ca) says that ! using FZ for the ND26 diagnostic should be correct. He writes: ! ! To be safe you can use FZ variable from Fzppm. That is ! the real vertical species mass. And it is zero at the ! surface. ! ! To be clear, Fz is present only in the tpcore for low ! resolution GLOBAL model (4x5, 2x2.5). Nested model has ! different way to calculate vertical advection and there ! is no such thing as FZ. Therefore, we have to calculate ! the species mass difference in the box before and after ! vertical advection in order to get vertical mass flux. ! ! -- Bob Yantosca (28 Mar 2017) ! ! Units: [kg/s] ! But consider changing to area-independent units [kg/m2/s] Kflip = KM - K + 1 !flip vert State_Diag%AdvFluxVert(I,J,Kflip,S) = & FZ(I,J,K,IQ) * AREA_M2(J) * g0_100 / DT ENDDO ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDIF END SUBROUTINE Tpcore_FvDas !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Average_Const_Poles ! ! !DESCRIPTION: Subroutine Average\_Const\_Poles averages the species ! concentrations at the Poles when the Polar cap is enlarged. It makes the ! last two latitudes equal. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Average_Const_Poles( dap , dbk, rel_area, pctm1, const1, & JU1_GL, J2_GL, I2_GL, I1, I2, & JU1, J2, ILO, & IHI, JULO, JHI ) ! ! !INPUT PARAMETERS: ! ! Global latitude indices of the South Pole and North Pole INTEGER, INTENT(IN) :: JU1_GL, J2_GL ! Global max longitude index INTEGER, INTENT(IN) :: I2_GL ! Local min & max longitude (I), latitude (J), altitude (K) indices INTEGER, INTENT(IN) :: I1, I2 INTEGER, INTENT(IN) :: JU1, J2 ! Local min & max longitude (I) and latitude (J) indices INTEGER, INTENT(IN) :: ILO, IHI INTEGER, INTENT(IN) :: JULO, JHI ! Pressure difference across layer from (ai * pt) term [hPa] REAL(fp), INTENT(IN) :: dap ! Difference in bi across layer - the dSigma term REAL(fp), INTENT(IN) :: dbk ! Relative surface area of grid box [fraction] REAL(fp), INTENT(IN) :: rel_area(JU1:J2) ! CTM surface pressure at t1 [hPa] REAL(fp), INTENT(IN) :: pctm1( ILO:IHI, JULO:JHI ) ! ! !INPUT/OUTPUT PARAMETERS: ! ! Species concentration, known at zone center [mixing ratio] REAL(fp), INTENT(INOUT) :: const1( I1:I2, JU1:J2) ! ! !AUTHOR: ! Original code from Shian-Jiann Lin, DAO) ! John Tannahill, LLNL (jrt@llnl.gov) ! ! !REVISION HISTORY: ! 05 Dec 2008 - C. Carouge - Replaced TPCORE routines by S-J Lin and Kevin ! Yeh with the TPCORE routines from GMI model. ! This eliminates the polar overshoot in the ! stratosphere. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: ik, il REAL(fp) :: meanq REAL(fp) :: sum1, sum2 ! ----------------------------------------------------------------- ! delp1n : pressure thickness at North Pole, the psudo-density in a ! hydrostatic system at t1 (mb) ! delp1s : pressure thickness at South Pole, the psudo-density in a ! hydrostatic system at t1 (mb) ! ----------------------------------------------------------------- REAL(fp) :: delp1n(i1:i2, j2-1:j2) REAL(fp) :: delp1s(i1:i2, ju1:ju1+1) ! ---------------- ! Begin execution. ! ---------------- ! ================= if (ju1 == ju1_gl) then ! ================= delp1s(i1:i2,ju1:ju1+1) = & dap + & (dbk * pctm1(i1:i2,ju1:ju1+1)) sum1=0.0e+0_fp sum2=0.0e+0_fp do il = i1, i2 sum1 = sum1 + & Sum (const1 (il,ju1:ju1+1) * & delp1s (il,ju1:ju1+1) * & rel_area(ju1:ju1+1)) & / (sum(rel_area) * i2_gl) sum2 = sum2 + & Sum (delp1s (il,ju1:ju1+1) * & rel_area(ju1:ju1+1)) & / (sum(rel_area) * i2_gl) enddo meanq = sum1 / sum2 const1(:,ju1:ju1+1) = meanq end if ! ================ if (j2 == j2_gl) then ! ================ delp1n(i1:i2,j2-1:j2) = & dap + & (dbk * pctm1(i1:i2,j2-1:j2)) sum1=0.0e+0_fp sum2=0.0e+0_fp do il = i1, i2 sum1 = sum1 + & Sum (const1 (il,j2-1:j2) * & delp1n (il,j2-1:j2) * & rel_area(j2-1:j2)) & / (sum(rel_area) * i2_gl) sum2 = sum2 + & Sum (delp1n (il,j2-1:j2) * & rel_area(j2-1:j2)) & / (sum(rel_area) * i2_gl) enddo meanq = sum1 / sum2 const1(:,j2-1:j2) = meanq end if END SUBROUTINE Average_Const_Poles !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Set_Cross_Terms ! ! !DESCRIPTION: Subroutine Set\_Cross\_Terms sets the cross terms for ! E-W horizontal advection. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Set_Cross_Terms( crx, cry, ua, va, J1P, J2P, & I1_GL, I2_GL, JU1_GL, J2_GL, ILO, & IHI, JULO, JHI, I1, I2, & JU1, J2, CROSS ) ! ! !INPUT PARAMETERS: ! ! Global latitude indices at the edges of the S/N polar caps ! J1P=JU1_GL+1; J2P=J2_GL-1 for a polar cap of 1 latitude band ! J1P=JU1_GL+2; J2P=J2_GL-2 for a polar cap of 2 latitude bands INTEGER, INTENT(IN) :: J1P, J2P ! Global min & max longitude (I) and latitude (J) indices INTEGER, INTENT(IN) :: I1_GL, I2_GL INTEGER, INTENT(IN) :: JU1_GL, J2_GL ! Local min & max longitude (I), latitude (J), altitude (K) indices INTEGER, INTENT(IN) :: I1, I2 INTEGER, INTENT(IN) :: JU1, J2 ! Local min & max longitude (I) and latitude (J) indices INTEGER, INTENT(IN) :: ILO, IHI INTEGER, INTENT(IN) :: JULO, JHI ! Courant number in E-W direction REAL(fp), INTENT(IN) :: crx(ILO:IHI, JULO:JHI) ! Courant number in N-S direction REAL(fp), INTENT(IN) :: cry(ILO:IHI, JULO:JHI) ! Logical switch. If CROSS=T then cross-terms will be computed. LOGICAL, INTENT(IN) :: CROSS ! ! !OUTPUT PARAMETERS: ! ! Average of Courant numbers from il and il+1 REAL(fp), INTENT(OUT) :: ua(ILO:IHI, JULO:JHI) ! Average of Courant numbers from ij and ij+1 REAL(fp), INTENT(OUT) :: va(ILO:IHI, JULO:JHI) ! !AUTHOR: ! Original code from Shian-Jiann Lin, DAO) ! John Tannahill, LLNL (jrt@llnl.gov) ! ! !REVISION HISTORY: ! 05 Dec 2008 - C. Carouge - Replaced TPCORE routines by S-J Lin and Kevin ! Yeh with the TPCORE routines from GMI model. ! This eliminates the polar overshoot in the ! stratosphere. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Grid box indices for lon & lat INTEGER :: il, ij ! ---------------- ! Begin execution. ! ---------------- if (.not. CROSS) then ua(:,:) = 0.0e+0_fp va(:,:) = 0.0e+0_fp else do ij = j1p, j2p do il = i1, i2-1 ua(il,ij) = 0.5e+0_fp * (crx(il,ij) + crx(il+1,ij)) end do ua(i2,ij) = 0.5e+0_fp * (crx(i2,ij) + crx(1,ij)) end do do ij = ju1+1, j2-1 do il = i1, i2 va(il,ij) = 0.5e+0_fp * (cry(il,ij) + cry(il,ij+1)) end do end do ! ============================= call Do_Cross_Terms_Pole_I2d2 & ! ============================= (cry, va, & i1_gl, i2_gl, ju1_gl, j2_gl, j1p, & ilo, ihi, julo, jhi, i1, i2, ju1, j2) end if END SUBROUTINE Set_Cross_Terms !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Calc_Vert_Mass_Flux ! ! !DESCRIPTION: Subroutine Calc\_Vert\_Mass\_Flux calculates the vertical ! mass flux. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Calc_Vert_Mass_Flux( dbk, dps_ctm, dpi, wz, I1, & I2, JU1, J2, K1, K2 ) ! ! !INPUT PARAMETERS: ! ! Local min & max longitude (I), latitude (J), altitude (K) indices INTEGER, INTENT(IN) :: I1, I2 INTEGER, INTENT(IN) :: JU1, J2 INTEGER, INTENT(IN) :: K1, K2 ! Difference in bi across layer - the dSigma term REAL(fp), INTENT(IN) :: dbk(K1:K2) ! CTM surface pressure tendency; sum over vertical of dpi ! calculated from original mass fluxes [hPa] REAL(fp), INTENT(IN) :: dps_ctm(I1:I2, JU1:J2) ! Divergence at a grid point; used to calculate vertical motion [mb] REAL(fp), INTENT(IN) :: dpi(I1:I2, JU1:J2, K1:K2) ! ! !OUTPUT PARAMETERS: ! ! Large scale mass flux (per time step tdt) in the vertical ! direction as diagnosed from the hydrostatic relationship [hPa] REAL(fp), INTENT(OUT) :: wz(I1:I2, JU1:J2, K1:K2) ! ! !AUTHOR: ! Original code from Shian-Jiann Lin, DAO) ! John Tannahill, LLNL (jrt@llnl.gov) ! ! !REVISION HISTORY: ! 05 Dec 2008 - C. Carouge - Replaced TPCORE routines by S-J Lin and Kevin ! Yeh with the TPCORE routines from GMI model. ! This eliminates the polar overshoot in the ! stratosphere. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: ik, ij, il ! ---------------- ! Begin execution. ! ---------------- ! -------------------------------------------------- ! Compute vertical mass flux from mass conservation. ! -------------------------------------------------- !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( IJ, IL ) do ij = ju1, j2 do il = i1, i2 wz(il,ij,k1) = & dpi(il,ij,k1) - & (dbk(k1) * dps_ctm(il,ij)) wz(il,ij,k2) = 0.0e+0_fp end do end do !$OMP END PARALLEL DO do ik = k1 + 1, k2 - 1 !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( IJ, IL ) do ij = ju1, j2 do il = i1, i2 wz(il,ij,ik) = & wz (il,ij,ik-1) + & dpi(il,ij,ik) - & (dbk(ik) * dps_ctm(il,ij)) end do end do !$OMP END PARALLEL DO end do END SUBROUTINE Calc_Vert_Mass_Flux !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Set_Jn_Js ! ! !DESCRIPTION: Subroutine Set\_Jn\_Js determines Jn and Js, by looking ! where Courant number is > 1. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Set_Jn_Js( jn, js, crx, ILO, IHI, JULO, & JHI, JU1_GL, J2_GL, J1P, J2P, I1, & I2, JU1, J2, K1, K2 ) ! ! !INPUT PARAMETERS: ! ! Global latitude indices at the edges of the S/N polar caps ! J1P=JU1_GL+1; J2P=J2_GL-1 for a polar cap of 1 latitude band ! J1P=JU1_GL+2; J2P=J2_GL-2 for a polar cap of 2 latitude bands INTEGER, INTENT(IN) :: J1P, J2P ! Global min & max longitude (I) and latitude (J) indices INTEGER, INTENT(IN) :: JU1_GL, J2_GL ! Local min & max longitude (I), latitude (J), altitude (K) indices INTEGER, INTENT(IN) :: I1, I2 INTEGER, INTENT(IN) :: JU1, J2 INTEGER, INTENT(IN) :: K1, K2 ! Local min & max longitude (I) and latitude (J) indices INTEGER, INTENT(IN) :: ILO, IHI INTEGER, INTENT(IN) :: JULO, JHI ! Courant number in E-W direction REAL(fp), INTENT(IN) :: crx(ILO:IHI, JULO:JHI, K1:K2) ! ! !OUTPUT PARAMETERS: ! ! Northward of latitude index = jn; Courant numbers could be > 1, ! so use the flux-form semi-Lagrangian scheme INTEGER, INTENT(OUT) :: jn(K1:K2) ! Southward of latitude index = js; Courant numbers could be > 1, ! so use the flux-form semi-Lagrangian scheme INTEGER, INTENT(OUT) :: js(K1:K2) ! ! !AUTHOR: ! Original code from Shian-Jiann Lin, DAO) ! John Tannahill, LLNL (jrt@llnl.gov) ! ! !REMARKS: ! We cannot parallelize this subroutine because there is a CYCLE statement ! within the outer loop. ! ! !REVISION HISTORY: ! 05 Dec 2008 - C. Carouge - Replaced TPCORE routines by S-J Lin and Kevin ! Yeh with the TPCORE routines from GMI model. ! This eliminates the polar overshoot in the ! stratosphere. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: INTEGER :: il, ij, ik INTEGER :: jn0, js0 INTEGER :: jst, jend ! ---------------- ! Begin execution. ! ---------------- js0 = (j2_gl + 1 ) / 2 jn0 = j2_gl - js0 + 1 jst = Max (ju1, j1p) jend = Min (j2, js0) ikloop1: do ik = k1, k2 js(ik) = j1p do ij = jend, jst, -1 do il = i1, i2 if (Abs (crx(il,ij,ik)) > 1.0e+0_fp) then js(ik) = ij ! ============= cycle ikloop1 ! ============= end if end do end do end do ikloop1 jst = Max (ju1, jn0) jend = Min (j2, j2p) ikloop2: do ik = k1, k2 jn(ik) = j2p do ij = jst, jend do il = i1, i2 if (Abs (crx(il,ij,ik)) > 1.0e+0_fp) then jn(ik) = ij ! ============= cycle ikloop2 ! ============= end if end do end do end do ikloop2 END SUBROUTINE Set_Jn_Js !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Calc_Advec_Cross_Terms ! ! !DESCRIPTION: Subroutine Calc\_Advec\_Cross\_Terms calculates the advective ! cross terms. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Calc_Advec_Cross_Terms( jn, js, qq1, qqu, qqv, & ua, va, J1P, J2P, I2_GL, & JU1_GL, J2_GL, ILO, IHI, JULO, & JHI, I1, I2, JU1, J2, & CROSS ) ! ! !INPUT PARAMETERS: ! ! Global latitude indices at the edges of the S/N polar caps ! J1P=JU1_GL+1; J2P=J2_GL-1 for a polar cap of 1 latitude band ! J1P=JU1_GL+2; J2P=J2_GL-2 for a polar cap of 2 latitude bands INTEGER, INTENT(IN) :: J1P, J2P ! Global min & max longitude (I) and latitude (J) indices INTEGER, INTENT(IN) :: I2_GL INTEGER, INTENT(IN) :: JU1_GL, J2_GL ! Local min & max longitude (I), latitude (J), altitude (K) indices INTEGER, INTENT(IN) :: I1, I2 INTEGER, INTENT(IN) :: JU1, J2 ! Local min & max longitude (I) and latitude (J) indices INTEGER, INTENT(IN) :: ILO, IHI INTEGER, INTENT(IN) :: JULO, JHI ! Northward of latitude index = jn, Courant numbers could be > 1, ! so use the flux-form semi-Lagrangian scheme INTEGER, INTENT(IN) :: Jn ! Southward of latitude index = js, Courant numbers could be > 1, ! so use the flux-form semi-Lagrangian scheme INTEGER, INTENT(IN) :: Js ! Species concentration (mixing ratio) REAL(fp), INTENT(IN) :: qq1(ILO:IHI, JULO:JHI) ! Average of Courant numbers from il and il+1 REAL(fp), INTENT(IN) :: ua (ILO:IHI, JULO:JHI) ! Average of Courant numbers from ij and ij+1 REAL(fp), INTENT(IN) :: va (ILO:IHI, JULO:JHI) ! Logical switch: If CROSS=T then cross-terms are being computed LOGICAL, INTENT(IN) :: CROSS ! ! !OUTPUT PARAMETERS: ! ! Concentration contribution from E-W advection [mixing ratio] REAL(fp), INTENT(OUT) :: qqu(ILO:IHI, JULO:JHI) ! concentration contribution from N-S advection [mixing ratio] REAL(fp), INTENT(OUT) :: qqv(ILO:IHI, JULO:JHI) ! ! !AUTHOR: ! Original code from Shian-Jiann Lin, DAO) ! John Tannahill, LLNL (jrt@llnl.gov) ! ! !REVISION HISTORY: ! 05 Dec 2008 - C. Carouge - Replaced TPCORE routines by S-J Lin and Kevin ! Yeh with the TPCORE routines from GMI model. ! This eliminates the polar overshoot in the ! stratosphere. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: i, imp, il, ij, iu INTEGER :: jv, iuw, iue REAL(fp) :: ril, rij, riu REAL(fp) :: ru REAL(fp) :: qtmp(-i2/3:i2+i2/3, julo:jhi) ! ---------------- ! Begin execution. ! ---------------- do ij = julo, jhi do i = 1, i2 qtmp(i,ij) = qq1(i,ij) enddo do il = -i2/3, 0 qtmp(il,ij) = qq1(i2+il,ij) enddo do il = i2+1,i2+i2/3 qtmp(il,ij) = qq1(il-i2,ij) enddo enddo ! ================ if (.not. CROSS) then ! ================ qqu(:,:) = qq1(:,:) qqv(:,:) = qq1(:,:) ! ==== else ! ==== qqu(:,:) = 0.0e+0_fp qqv(:,:) = 0.0e+0_fp do ij = j1p, j2p if ((ij <= js) .or. (ij >= jn)) then ! ---------------------------------------------------------- ! In Polar area, so need to deal with large courant numbers. ! ---------------------------------------------------------- do il = i1, i2 !c? iu = ua(il,ij) riu = iu ru = ua(il,ij) - riu iu = il - iu if (ua(il,ij) >= 0.0e+0_fp) then qqu(il,ij) = & qtmp(iu,ij) + & ru * (qtmp(iu-1,ij) - qtmp(iu,ij)) else qqu(il,ij) = & qtmp(iu,ij) + & ru * (qtmp(iu,ij) - qtmp(iu+1,ij)) end if qqu(il,ij) = qqu(il,ij) - qtmp(il,ij) end do else ! js < ij < jn ! --------------------------- ! Do interior area (use PPM). ! --------------------------- do il = i1, i2 ril = il iu = ril - ua(il,ij) qqu(il,ij) = & ua(il,ij) * & (qtmp(iu,ij) - qtmp(iu+1,ij)) end do end if do il = i1, i2 !c? rij = ij jv = rij - va(il,ij) qqv(il,ij) = & va(il,ij) * & (qtmp(il,jv) - qtmp(il,jv+1)) end do end do do ij = ju1, j2 do il = i1, i2 qqu(il,ij) = & qtmp(il,ij) + (0.5e+0_fp * qqu(il,ij)) qqv(il,ij) = & qtmp(il,ij) + (0.5e+0_fp * qqv(il,ij)) enddo enddo ! ====== end if ! ====== END SUBROUTINE Calc_Advec_Cross_Terms !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Qckxyz ! ! !DESCRIPTION: Subroutine Qckxyz routine checks for "filling". !\\ !\\ ! !INTERFACE: ! SUBROUTINE Qckxyz( dq1, J1P, J2P, JU1_GL, J2_GL, & ILO, IHI, JULO, JHI, I1, & I2, JU1, J2, K1, K2 ) ! ! !INPUT PARAMETERS: ! ! Global latitude indices at the edges of the S/N polar caps ! J1P=JU1_GL+1; J2P=J2_GL-1 for a polar cap of 1 latitude band ! J1P=JU1_GL+2; J2P=J2_GL-2 for a polar cap of 2 latitude bands INTEGER, INTENT(IN) :: J1P, J2P ! Global min & max latitude (J) indices INTEGER, INTENT(IN) :: JU1_GL, J2_GL ! Local min & max longitude (I), latitude (J), altitude (K) indices INTEGER, INTENT(IN) :: I1, I2 INTEGER, INTENT(IN) :: JU1, J2 INTEGER, INTENT(IN) :: K1, K2 ! Local min & max longitude (I) and latitude (J) indices INTEGER, INTENT(IN) :: ILO, IHI INTEGER, INTENT(IN) :: JULO, JHI ! ! !INPUT/OUTPUT PARAMETERS: ! ! Species density [hPa] REAL(fp), INTENT(INOUT) :: dq1(ILO:IHI, JULO:JHI, K1:K2) ! ! !AUTHOR: ! Original code from Shian-Jiann Lin, DAO) ! John Tannahill, LLNL (jrt@llnl.gov) ! ! !REVISION HISTORY: ! 05 Dec 2008 - C. Carouge - Replaced TPCORE routines by S-J Lin and Kevin ! Yeh with the TPCORE routines from GMI model. ! This eliminates the polar overshoot in the ! stratosphere. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! LOGICAL, PARAMETER :: FILL_DIAG = .false. ! ! LOCAL VARIABLES: ! INTEGER :: il, ij, ik INTEGER :: ip INTEGER :: k1p1, k2m1 REAL(fp) :: dup, qup REAL(fp) :: qly REAL(fp) :: sum ! ---------------- ! Begin execution. ! ---------------- ip = 0 ! ---------- ! Top layer. ! ---------- k1p1 = k1 + 1 !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( IJ, IL, IP ) do ij = j1p, j2p do il = i1, i2 if (dq1(il,ij,k1) < 0.0e+0_fp) then ip = ip + 1 dq1(il,ij,k1p1) = dq1(il,ij,k1p1) + dq1(il,ij,k1) dq1(il,ij,k1) = 0.0e+0_fp end if end do end do !$OMP END PARALLEL DO do ik = k1 + 1, k2 - 1 !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( IJ, IL, IP, QUP, QLY, DUP ) do ij = j1p, j2p do il = i1, i2 if (dq1(il,ij,ik) < 0.0e+0_fp) then ip = ip + 1 ! ----------- ! From above. ! ----------- qup = dq1(il,ij,ik-1) qly = -dq1(il,ij,ik) dup = Min (qly, qup) dq1(il,ij,ik-1) = qup - dup dq1(il,ij,ik) = dup - qly ! ----------- ! From below. ! ----------- dq1(il,ij,ik+1) = dq1(il,ij,ik+1) + dq1(il,ij,ik) dq1(il,ij,ik) = 0.0e+0_fp end if end do end do !$OMP END PARALLEL DO end do ! ------------- ! Bottom layer. ! ------------- sum = 0.0e+0_fp k2m1 = k2 - 1 ! NOTE: Sum seems to be not used in the loop below! !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( IJ, IL, IP, QUP, QLY, DUP ) & !$OMP REDUCTION( +:SUM ) do ij = j1p, j2p do il = i1, i2 if (dq1(il,ij,k2) < 0.0e+0_fp) then ip = ip + 1 ! ----------- ! From above. ! ----------- qup = dq1(il,ij,k2m1) qly = -dq1(il,ij,k2) dup = Min (qly, qup) dq1(il,ij,k2m1) = qup - dup ! ------------------------- ! From "below" the surface. ! ------------------------- sum = sum + qly - dup dq1(il,ij,k2) = 0.0e+0_fp end if end do end do !$OMP END PARALLEL DO ! We don't want to replace zero values by 1e-30. (ccc, 11/20/08) !! ======================================= ! where ((dq1(i1:i2,j1p:j2p,:) < 1.0d-30)) & ! dq1(i1:i2,j1p:j2p,:) = 1.0d-30 !! ======================================= END SUBROUTINE Qckxyz !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Set_Lmts ! ! !DESCRIPTION: Subroutine Set\_Lmts sets ILMT, JLMT, KLMT. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Set_Lmts( ilmt, jlmt, klmt, I2_GL, J2_GL, iord, jord, kord ) ! ! !INPUT PARAMETERS: ! ! Global maximum longitude (I) and longitude (J) indices INTEGER, INTENT(IN) :: I2_GL, J2_GL ! Flags to denote E-W, N-S, and vertical transport schemes ! (See REMARKS section of routine Tpcore_FvDas for more info) INTEGER, INTENT(IN) :: iord, jord, kord ! ! !OUTPUT PARAMETERS: ! ! Controls various options in E-W advection INTEGER, INTENT(OUT) :: ilmt ! Controls various options in N-S advection INTEGER, INTENT(OUT) :: jlmt ! Controls various options in vertical advection INTEGER, INTENT(OUT) :: klmt ! ! !AUTHOR: ! Original code from Shian-Jiann Lin, DAO) ! John Tannahill, LLNL (jrt@llnl.gov) ! ! !REVISION HISTORY: ! 05 Dec 2008 - C. Carouge - Replaced TPCORE routines by S-J Lin and Kevin ! Yeh with the TPCORE routines from GMI model. ! This eliminates the polar overshoot in the ! stratosphere. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: INTEGER :: j2_glm1 ! ---------------- ! Begin execution. ! ---------------- j2_glm1 = j2_gl - 1 !c? if (IORD <= 0) then if (i2_gl >= 144) then ilmt = 0 else if (i2_gl >= 72) then ilmt = 1 else ilmt = 2 end if else ilmt = IORD - 3 end if !c? if (JORD <= 0) then if (j2_glm1 >= 90) then jlmt = 0 else if (j2_glm1 >= 45) then jlmt = 1 else jlmt = 2 end if else jlmt = JORD - 3 end if klmt = Max ((KORD-3), 0) END SUBROUTINE Set_Lmts !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Set_Press_Terms ! ! !DESCRIPTION: Subroutine Set\_Press\_Terms sets the pressure terms: ! DELP1, DELPM, PU. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Set_Press_Terms( dap, dbk, pres1, pres2, delp1, & delpm, pu, JU1_GL, J2_GL, ILO, & IHI, JULO, JHI, J1P, J2P, & I1, I2, JU1, J2) ! ! !INPUT PARAMETERS: ! ! Global latitude indices at the edges of the S/N polar caps ! J1P=JU1_GL+1; J2P=J2_GL-1 for a polar cap of 1 latitude band ! J1P=JU1_GL+2; J2P=J2_GL-2 for a polar cap of 2 latitude bands INTEGER, INTENT(IN) :: J1P, J2P ! Global min & max latitude (J) indices INTEGER, INTENT(IN) :: JU1_GL, J2_GL ! Local min & max longitude (I), latitude (J), altitude (K) indices INTEGER, INTENT(IN) :: I1, I2 INTEGER, INTENT(IN) :: JU1, J2 ! Local min & max longitude (I) and latitude (J) indices INTEGER, INTENT(IN) :: ILO, IHI INTEGER, INTENT(IN) :: JULO, JHI ! Pressure difference across layer from (ai * pt) term [hPa] REAL(fp), INTENT(IN) :: dap ! Difference in bi across layer - the dSigma term REAL(fp), INTENT(IN) :: dbk ! Surface pressure at t1 [hPa] REAL(fp), INTENT(IN) :: pres1(ILO:IHI, JULO:JHI) ! Surface pressure at t1+tdt [hPa] REAL(fp), INTENT(IN) :: pres2(ILO:IHI, JULO:JHI) ! ! !OUTPUT PARAMETERS: ! ! Pressure thickness, the pseudo-density in a ! hydrostatic system at t1 [hPa] REAL(fp), INTENT(OUT) :: delp1(ILO:IHI, JULO:JHI) ! Pressure thickness, the pseudo-density in a ! hydrostatic system at t1+tdt/2 (approximate) [hPa] REAL(fp), INTENT(OUT) :: delpm(ILO:IHI, JULO:JHI) ! Pressure at edges in "u" [hPa] REAL(fp), INTENT(OUT) :: pu(ILO:IHI, JULO:JHI) ! ! !AUTHOR: ! Original code from Shian-Jiann Lin, DAO) ! John Tannahill, LLNL (jrt@llnl.gov) ! ! !REVISION HISTORY: ! 05 Dec 2008 - C. Carouge - Replaced TPCORE routines by S-J Lin and Kevin ! Yeh with the TPCORE routines from GMI model. ! This eliminates the polar overshoot in the ! stratosphere. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: il, ij ! ---------------- ! Begin execution. ! ---------------- delp1(:,:) = dap + (dbk * pres1(:,:)) delpm(:,:) = & dap+ & (dbk * 0.5e+0_fp * (pres1(:,:) + pres2(:,:))) do ij = j1p, j2p pu(1,ij) = 0.5e+0_fp * (delpm(1,ij) + delpm(i2,ij)) do il = i1+1, i2 pu(il,ij) = 0.5e+0_fp * (delpm(il,ij) + delpm(il-1,ij)) end do end do END SUBROUTINE Set_Press_Terms !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Calc_Courant ! ! !DESCRIPTION: Subroutine Calc\_Courant calculates courant numbers from ! the horizontal mass fluxes. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Calc_Courant( cose, delpm, pu, xmass, ymass, crx, cry, & J1P, J2P, JU1_GL, J2_GL, ILO, IHI, JULO, & JHI, I1, I2, JU1, J2 ) ! ! !INPUT PARAMETERS: ! ! Global latitude indices at the edges of the S/N polar caps ! J1P=JU1_GL+1; J2P=J2_GL-1 for a polar cap of 1 latitude band ! J1P=JU1_GL+2; J2P=J2_GL-2 for a polar cap of 2 latitude bands INTEGER, INTENT(IN) :: J1P, J2P ! Global min & max latitude (J) indices INTEGER, INTENT(IN) :: JU1_GL, J2_GL ! Local min & max longitude (I), latitude (J), altitude (K) indices INTEGER, INTENT(IN) :: I1, I2 INTEGER, INTENT(IN) :: JU1, J2 ! Local min & max longitude (I) and latitude (J) indices INTEGER, INTENT(IN) :: ILO, IHI INTEGER, INTENT(IN) :: JULO, JHI ! Cosine of grid box edges REAL(fp), INTENT(IN) :: cose (JU1_GL:J2_GL) ! Pressure thickness, the pseudo-density in a hydrostatic system ! at t1+tdt/2 (approximate) (mb) REAL(fp), INTENT(IN) :: delpm(ILO:IHI, JULO:JHI) ! pressure at edges in "u" (mb) REAL(fp), INTENT(IN) :: pu (iLO:IHI, JULO:JHI) ! horizontal mass flux in E-W and N-S directions [hPa] REAL(fp), INTENT(IN) :: xmass(ILO:IHI, JULO:JHI) REAL(fp), INTENT(IN) :: ymass(ILO:IHI, JULO:JHI) ! ! !OUTPUT PARAMETERS: ! ! Courant numbers in E-W and N-S directions REAL(fp), INTENT(OUT) :: crx(ILO:IHI, JULO:JHI) REAL(fp), INTENT(OUT) :: cry(ILO:IHI, JULO:JHI) ! ! !AUTHOR: ! Original code from Shian-Jiann Lin, DAO) ! John Tannahill, LLNL (jrt@llnl.gov) ! ! !REVISION HISTORY: ! 05 Dec 2008 - C. Carouge - Replaced TPCORE routines by S-J Lin and Kevin ! Yeh with the TPCORE routines from GMI model. ! This eliminates the polar overshoot in the ! stratosphere. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: ij ! ---------------- ! Begin execution. ! ---------------- crx(:,:) = 0.0e+0_fp cry(:,:) = 0.0e+0_fp ! --------------------------------------------- ! Calculate E-W and N-S horizontal mass fluxes. ! --------------------------------------------- do ij = j1p, j2p crx(:,ij) = & xmass(:,ij) / pu(:,ij) cry(:,ij) = & ymass(:,ij) / & ((0.5e+0_fp * cose(ij)) * & (delpm(:,ij) + delpm(:,ij-1))) end do cry(:,j2p+1) = & ymass(:,j2p+1) / & ((0.5e+0_fp * cose(j2p+1)) * & (delpm(:,j2p+1) + delpm(:,j2p))) END SUBROUTINE Calc_Courant !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Calc_Divergence ! ! !DESCRIPTION: Subroutine Calc\_Divergence calculates the divergence. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Calc_Divergence( do_reduction, geofac_pc, geofac, dpi, & xmass, ymass, J1P, J2P, & I1_GL, I2_GL, JU1_GL, J2_GL, & ILO, IHI, JULO, JHI, & I1, I2, JU1, J2 ) ! ! !INPUT PARAMETERS: ! ! Global latitude indices at the edges of the S/N polar caps ! J1P=JU1_GL+1; J2P=J2_GL-1 for a polar cap of 1 latitude band ! J1P=JU1_GL+2; J2P=J2_GL-2 for a polar cap of 2 latitude bands INTEGER, INTENT(IN) :: J1P, J2P ! Global min & max longitude (I) and latitude (J) indices INTEGER, INTENT(IN) :: I1_GL, I2_GL INTEGER, INTENT(IN) :: JU1_GL, J2_GL ! Local min & max longitude (I), latitude (J), altitude (K) indices INTEGER, INTENT(IN) :: I1, I2 INTEGER, INTENT(IN) :: JU1, J2 ! Local min & max longitude (I) and latitude (J) indices INTEGER, INTENT(IN) :: ILO, IHI INTEGER, INTENT(IN) :: JULO, JHI ! Set to F if called on root core or T if called by secondary cores ! (NOTE: This is only for MPI parallelization, for OPENMP it should be F) LOGICAL, INTENT(IN) :: do_reduction ! Special geometrical factor (geofac) for Polar cap REAL(fp) , INTENT(IN) :: geofac_pc ! Geometrical factor for meridional advection; geofac uses correct ! spherical geometry, and replaces acosp as the meridional geometrical ! factor in TPCORE REAL(fp) , INTENT(IN) :: geofac(JU1_GL:J2_GL) ! Horizontal mass flux in E/W and N/S directions [hPa] REAL(fp) , INTENT(IN) :: xmass(ILO:IHI, JULO:JHI) REAL(fp) , INTENT(IN) :: ymass(ILO:IHI, JULO:JHI) ! ! !OUTPUT PARAMETERS: ! ! Divergence at a grid point; used to calculate vertical motion [hPa] REAL(fp), INTENT(OUT) :: dpi(I1:I2, JU1:J2) ! ! !AUTHOR: ! Original code from Shian-Jiann Lin, DAO ! John Tannahill, LLNL (jrt@llnl.gov) ! ! !REVISION HISTORY: ! 05 Dec 2008 - C. Carouge - Replaced TPCORE routines by S-J Lin and Kevin ! Yeh with the TPCORE routines from GMI model. ! This eliminates the polar overshoot in the ! stratosphere. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: il, ij ! ---------------- ! Begin execution. ! ---------------- ! ------------------------- ! Calculate N-S divergence. ! ------------------------- do ij = j1p, j2p dpi(:,ij) = & (ymass(:,ij) - ymass(:,ij+1)) * & geofac(ij) ! ------------------------- ! Calculate E-W divergence. ! ------------------------- do il = i1, i2-1 dpi(il,ij) = & dpi(il,ij) + & xmass(il,ij) - xmass(il+1,ij) end do dpi(i2,ij) = & dpi(i2,ij) + & xmass(i2,ij) - xmass(1,ij) end do ! =========================== call Do_Divergence_Pole_Sum & ! =========================== (do_reduction, geofac_pc, dpi, ymass, & i1_gl, i2_gl, j1p, j2p, & ju1_gl, j2_gl, ilo, ihi, julo, jhi, i1, i2, ju1, j2) if (j1p /= ju1_gl+1) then ! -------------------------------------------- ! Polar cap enlarged: copy dpi to polar ring. ! -------------------------------------------- dpi(:,ju1+1) = dpi(:,ju1) dpi(:,j2-1) = dpi(:,j2) end if END SUBROUTINE Calc_Divergence !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Do_Divergence_Pole_Sum ! ! !DESCRIPTION: Subroutine Do\_Divergence\_Pole\_Sum sets the divergence ! at the Poles. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Do_Divergence_Pole_Sum( do_reduction, geofac_pc, dpi, ymass, & I1_GL, I2_GL, J1P, J2P, & JU1_GL, J2_GL, ILO, IHI, & JULO, JHI, I1, I2, & JU1, J2) ! ! !INPUT PARAMETERS: ! ! Global latitude indices at the edges of the S/N polar caps ! J1P=JU1_GL+1; J2P=J2_GL-1 for a polar cap of 1 latitude band ! J1P=JU1_GL+2; J2P=J2_GL-2 for a polar cap of 2 latitude bands INTEGER, INTENT(IN) :: J1P, J2P ! Global min & max longitude (I) and latitude (J) indices INTEGER, INTENT(IN) :: I1_GL, I2_GL INTEGER, INTENT(IN) :: JU1_GL, J2_GL ! Local min & max longitude (I), latitude (J), altitude (K) indices INTEGER, INTENT(IN) :: I1, I2 INTEGER, INTENT(IN) :: JU1, J2 ! Local min & max longitude (I) and latitude (J) indices INTEGER, INTENT(IN) :: ILO, IHI INTEGER, INTENT(IN) :: JULO, JHI ! Set to T if called on root core or F if called by secondary cores ! NOTE: This seems not to be used here....) LOGICAL, INTENT(IN) :: do_reduction ! Special geometrical factor (geofac) for Polar cap REAL(fp), INTENT(in) :: geofac_pc ! Horizontal mass flux in N-S direction [hPa] REAL(fp), INTENT(IN) :: ymass(ILO:IHI, JULO:JHI) ! ! !OUTPUT PARAMETERS: ! ! Divergence at a grid point; used to calculate vertical motion [hPa] REAL(fp), INTENT(OUT) :: dpi(I1:I2, JU1:J2) ! !AUTHOR: ! Original code from Shian-Jiann Lin, DAO ! John Tannahill, LLNL (jrt@llnl.gov) ! ! !REVISION HISTORY: ! 05 Dec 2008 - C. Carouge - Replaced TPCORE routines by S-J Lin and Kevin ! Yeh with the TPCORE routines from GMI model. ! This eliminates the polar overshoot in the ! stratosphere. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: il REAL(fp) :: ri2 REAL(fp) :: mean_np REAL(fp) :: mean_sp REAL(fp) :: sumnp REAL(fp) :: sumsp ! ---------------- ! Begin execution. ! ---------------- ri2 = i2_gl ! ================== if (ju1 == ju1_gl) then ! ================== sumsp = 0.0e+0_fp do il = i1, i2 sumsp = sumsp + ymass(il,j1p) end do mean_sp = -sumsp / ri2 * geofac_pc do il = i1, i2 dpi(il,ju1) = mean_sp end do ! ====== end if ! ====== ! ================ if (j2 == j2_gl) then ! ================ sumnp = 0.0e+0_fp do il = i1, i2 sumnp = sumnp + ymass(il,j2p+1) end do mean_np = sumnp / ri2 * geofac_pc do il = i1, i2 dpi(il,j2) = mean_np end do ! ====== end if ! ====== END SUBROUTINE Do_Divergence_Pole_Sum !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Do_Cross_Terms_Pole_I2d2 ! ! !DESCRIPTION: Subroutine Do\_Cross\_Terms\_Pole\_I2d2 sets "va" at the Poles. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Do_Cross_Terms_Pole_I2d2( cry, va, I1_GL, I2_GL, JU1_GL, & J2_GL, J1P, ILO, IHI, JULO, & JHI, I1, I2, JU1, J2 ) ! ! !INPUT PARAMETERS: ! ! Global latitude indices at the edge of the South polar cap ! J1P=JU1_GL+1 for a polar cap of 1 latitude band ! J1P=JU1_GL+2 for a polar cap of 2 latitude bands INTEGER, INTENT(IN) :: J1P ! Global min & max longitude (I) and latitude (J) indices INTEGER, INTENT(IN) :: I1_GL, I2_GL INTEGER, INTENT(IN) :: JU1_GL, J2_GL ! Local min & max longitude (I), latitude (J), altitude (K) indices INTEGER, INTENT(IN) :: I1, I2 INTEGER, INTENT(IN) :: JU1, J2 ! Local min & max longitude (I) and latitude (J) indices INTEGER, INTENT(IN) :: ILO, IHI INTEGER, INTENT(IN) :: JULO, JHI ! Courant number in N-S direction REAL(fp), INTENT(IN) :: cry(ILO:IHI, JULO:JHI) ! ! !OUTPUT PARAMETERS: ! ! Average of Courant numbers from ij and ij+1 REAL(fp), INTENT(OUT) :: va(ILO:IHI, JULO:JHI) ! ! !AUTHOR: ! Original code from Shian-Jiann Lin, DAO ! John Tannahill, LLNL (jrt@llnl.gov) ! ! !REVISION HISTORY: ! 05 Dec 2008 - C. Carouge - Replaced TPCORE routines by S-J Lin and Kevin ! Yeh with the TPCORE routines from GMI model. ! This eliminates the polar overshoot in the ! stratosphere. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: i2d2 INTEGER :: il ! ---------------- ! Begin execution. ! ---------------- i2d2 = i2_gl / 2 ! ==================== if (j1p == ju1_gl+1) then ! ==================== ! --------------------------------------------- ! Polar Cap NOT Enlarged: ! Get cross terms for N-S horizontal advection. ! --------------------------------------------- ! ================== if (ju1 == ju1_gl) then ! ================== do il = i1, i2d2 va(il,ju1) = & 0.5e+0_fp * (cry(il,ju1+1) - cry(il+i2d2,ju1+1)) va(il+i2d2,ju1) = -va(il,ju1) end do ! ====== end if ! ====== ! ================ if (j2 == j2_gl) then ! ================ do il = i1, i2d2 va(il,j2) = & 0.5e+0_fp * (cry(il,j2) - cry(il+i2d2,j2-1)) va(il+i2d2,j2) = -va(il,j2) end do ! ====== end if ! ====== ! ====== end if ! ====== END SUBROUTINE Do_Cross_Terms_Pole_I2d2 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Xadv_Dao2 ! ! !DESCRIPTION: Subroutine Xadv\_Dao2 is the advective form E-W operator for ! computing the adx (E-W) cross term. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Xadv_Dao2( iad, jn, js, adx, qqv, & ua, ILO, IHI, JULO, JHI, & JU1_GL, J2_GL, J1P, J2P, I1, & I2, JU1, J2) ! ! !INPUT PARAMETERS: ! ! Global latitude indices at the edges of the S/N polar caps ! J1P=JU1_GL+1; J2P=J2_GL-1 for a polar cap of 1 latitude band ! J1P=JU1_GL+2; J2P=J2_GL-2 for a polar cap of 2 latitude bands INTEGER, INTENT(IN) :: J1P, J2P ! Global min & max latitude (J) indices INTEGER, INTENT(IN) :: JU1_GL, J2_GL ! Local min & max longitude (I), latitude (J), altitude (K) indices INTEGER, INTENT(IN) :: I1, I2 INTEGER, INTENT(IN) :: JU1, J2 ! Local min & max longitude (I) and latitude (J) indices INTEGER, INTENT(IN) :: ILO, IHI INTEGER, INTENT(IN) :: JULO, JHI ! if iad = 1, use 1st order accurate scheme; ! if iad = 2, use 2nd order accurate scheme INTEGER, INTENT(IN) :: iad ! Northward of latitude index = jn, Courant numbers could be > 1, ! so use the flux-form semi-Lagrangian scheme INTEGER, INTENT(IN) :: jn ! southward of latitude index = js, Courant numbers could be > 1, ! so use the flux-form semi-Lagrangian scheme INTEGER, INTENT(IN) :: js ! Concentration contribution from N-S advection [mixing ratio] REAL(fp), INTENT(IN) :: qqv(ILO:IHI, JULO:JHI) ! Average of Courant numbers from il and il+1 REAL(fp), INTENT(IN) :: ua(ILO:IHI, JULO:JHI) ! ! !OUTPUT PARAMETERS: ! ! Cross term due to E-W advection [mixing ratio] REAL(fp), INTENT(OUT) :: adx(ILO:IHI, JULO:JHI) ! ! !AUTHOR: ! Original code from Shian-Jiann Lin, DAO ! John Tannahill, LLNL (jrt@llnl.gov) ! ! !REVISION HISTORY: ! 05 Dec 2008 - C. Carouge - Replaced TPCORE routines by S-J Lin and Kevin ! Yeh with the TPCORE routines from GMI model. ! This eliminates the polar overshoot in the ! stratosphere. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: il, ij, iu INTEGER :: imp, iue, iuw REAL(fp) :: a1, b1, c1 REAL(fp) :: rdiff REAL(fp) :: ril, riu real(fp) :: ru ! Arrays REAL(fp) :: qtmp(-i2/3:i2+i2/3, julo:jhi) ! ---------------- ! Begin execution. ! ---------------- ! Zero output array adx = 0e+0_fp do ij = julo, jhi do il=1,i2 qtmp(il,ij) = qqv(il,ij) enddo do il=-i2/3,0 qtmp(il,ij) = qqv(i2+il,ij) enddo do il=i2+1,i2+i2/3 qtmp(il,ij) = qqv(il-i2,ij) enddo enddo ! ============= if (iad == 1) then ! ============= ! ---------- ! 1st order. ! ---------- do ij = j1p, j2p if ((ij <= js) .or. (ij >= jn)) then ! -------------- ! In Polar area. ! -------------- do il = i1, i2 iu = ua(il,ij) riu = iu ru = ua(il,ij) - riu iu = il - iu if (ua(il,ij) >= 0.0e+0_fp) then rdiff = qtmp(iu-1,ij) - qtmp(iu,ij) else rdiff = qtmp(iu,ij) - qtmp(iu+1,ij) end if adx(il,ij) = (qtmp(iu,ij) - qtmp(il,ij)) + & (ru * rdiff) end do else ! js < ij < jn ! ---------------- ! Eulerian upwind. ! ---------------- do il = i1, i2 ril = il iu = ril - ua(il,ij) adx(il,ij) = ua(il,ij) * & (qtmp(iu,ij) - qtmp(iu+1,ij)) end do end if end do ! ================== else if (iad == 2) then ! ================== do ij = j1p, j2p if ((ij <= js) .or. (ij >= jn)) then ! -------------- ! In Polar area. ! -------------- do il = i1, i2 iu = Nint (ua(il,ij)) riu = iu ru = riu - ua(il,ij) iu = il - iu a1 = 0.5e+0_fp * (qtmp(iu+1,ij) + qtmp(iu-1,ij)) - & qtmp(iu,ij) b1 = 0.5e+0_fp * (qtmp(iu+1,ij) - qtmp(iu-1,ij)) c1 = qtmp(iu,ij) - qtmp(il,ij) adx(il,ij) = (ru * ((a1 * ru) + b1)) + c1 end do else ! js < ij < jn ! ---------------- ! Eulerian upwind. ! ---------------- do il = i1, i2 iu = Nint (ua(il,ij)) riu = iu ru = riu - ua(il,ij) iu = il - iu a1 = 0.5e+0_fp * (qtmp(iu+1,ij) + qtmp(iu-1,ij)) - & qtmp(iu,ij) b1 = 0.5e+0_fp * (qtmp(iu+1,ij) - qtmp(iu-1,ij)) c1 = qtmp(iu,ij) - qtmp(il,ij) adx(il,ij) = (ru * ((a1 * ru) + b1)) + c1 end do end if end do ! ====== end if ! ====== if (ju1 == ju1_gl) then adx(i1:i2,ju1) = 0.0e+0_fp if (j1p /= ju1_gl+1) then adx(i1:i2,ju1+1) = 0.0e+0_fp end if end if if (j2 == j2_gl) then adx(i1:i2,j2) = 0.0e+0_fp if (j1p /= ju1_gl+1) then adx(i1:i2,j2-1) = 0.0e+0_fp end if end if END SUBROUTINE Xadv_Dao2 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Yadv_Dao2 ! ! !DESCRIPTION: Subroutine Yadv\_Dao2 is the advective form N-S operator ! for computing the ady (N-S) cross term. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Yadv_Dao2( iad, ady, qqu, va, I1_GL, & I2_GL, JU1_GL, J2_GL, J1P, J2P, & ILO, IHI, JULO, JHI, I1, & I2, JU1, J2) ! ! !INPUT PARAMETERS: ! ! Global latitude indices at the edges of the S/N polar caps ! J1P=JU1_GL+1; J2P=J2_GL-1 for a polar cap of 1 latitude band ! J1P=JU1_GL+2; J2P=J2_GL-2 for a polar cap of 2 latitude bands INTEGER, INTENT(IN) :: J1P, J2P ! Global min & max longitude (I) and latitude (J) indices INTEGER, INTENT(IN) :: I1_GL, I2_GL INTEGER, INTENT(IN) :: JU1_GL, J2_GL ! Local min & max longitude (I), latitude (J), altitude (K) indices INTEGER, INTENT(IN) :: I1, I2 INTEGER, INTENT(IN) :: JU1, J2 ! Local min & max longitude (I) and latitude (J) indices INTEGER, INTENT(IN) :: ILO, IHI INTEGER, INTENT(IN) :: JULO, JHI ! If iad = 1, use 1st order accurate scheme; ! If iad = 2, use 2nd order accurate scheme INTEGER, INTENT(IN) :: iad ! Concentration contribution from E-W advection [mixing ratio] REAL(fp), INTENT(IN) :: qqu(ILO:IHI, JULO:JHI) ! Average of Courant numbers from ij and ij+1 REAL(fp), INTENT(IN) :: va(ILO:IHI, JULO:JHI) ! ! !OUTPUT PARAMETERS: ! ! Cross term due to N-S advection (mixing ratio) REAL(fp), INTENT(OUT) :: ady(ILO:IHI, JULO:JHI) ! !AUTHOR: ! Original code from Shian-Jiann Lin, DAO ! John Tannahill, LLNL (jrt@llnl.gov) ! ! !REVISION HISTORY: ! 05 Dec 2008 - C. Carouge - Replaced TPCORE routines by S-J Lin and Kevin ! Yeh with the TPCORE routines from GMI model. ! This eliminates the polar overshoot in the ! stratosphere. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: il, ij INTEGER :: jv REAL(fp) :: a1, b1, c1 REAL(fp) :: rij, rjv REAL(fp) :: rv ! Arrays ! We may need a small ghost zone depending ! on the polar cap used REAL(fp) :: qquwk(ilo:ihi, julo-2:jhi+2) ! ---------------- ! Begin execution. ! ---------------- ! Zero output array ady = 0e+0_fp ! Make work array do ij = julo, jhi qquwk(:,ij) = qqu(:,ij) end do !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! This routine creates a ghost zone in latitude in case of ! not enlarged polar cap ! (ccc, 11/20/08) ! ====================== call Do_Yadv_Pole_I2d2 & ! ====================== (qqu, qquwk, & i1_gl, i2_gl, ju1_gl, j2_gl, j1p, & ilo, ihi, julo, jhi, i1, i2, ju1, j2) ! ============= if (iad == 1) then ! ============= ! ---------- ! 1st order. ! ---------- do ij = j1p-1, j2p+1 do il = i1, i2 !c? rij = ij jv = rij - va(il,ij) ady(il,ij) = va(il,ij) * & (qquwk(il,jv) - qquwk(il,jv+1)) end do end do ! ================== else if (iad == 2) then ! ================== do ij = j1p-1, j2p+1 do il = i1, i2 !c? jv = Nint (va(il,ij)) rjv = jv rv = rjv - va(il,ij) jv = ij - jv a1 = 0.5e+0_fp * (qquwk(il,jv+1) + qquwk(il,jv-1)) - & qquwk(il,jv) b1 = 0.5e+0_fp * (qquwk(il,jv+1) - qquwk(il,jv-1)) c1 = qquwk(il,jv) - qquwk(il,ij) ady(il,ij) = (rv * ((a1 * rv) + b1)) + c1 end do end do end if ! ===================== call Do_Yadv_Pole_Sum & ! ===================== ( ady, & i1_gl, i2_gl, ju1_gl, j2_gl, j1p, & ilo, ihi, julo, jhi, i1, i2, ju1, j2) END SUBROUTINE Yadv_Dao2 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Do_Yadv_Pole_I2d2 ! ! !DESCRIPTION: Subroutine Do\_Yadv\_Pole\_I2d2 sets "qquwk" at the Poles. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Do_Yadv_Pole_I2d2 ( qqu, qquwk, I1_GL, I2_GL, JU1_GL, J2_GL, & J1P, ILO, IHI, JULO, JHI, I1, & I2, JU1, J2 ) ! ! !INPUT PARAMETERS: ! ! Global latitude indices at the edges of the South polar cap ! J1P=JU1_GL+1 for a polar cap of 1 latitude band ! J1P=JU1_GL+2 for a polar cap of 2 latitude bands INTEGER, INTENT(IN) :: J1P ! Global min & max longitude (I) and latitude (J) indices INTEGER, INTENT(IN) :: I1_GL, I2_GL INTEGER, INTENT(IN) :: JU1_GL, J2_GL ! Local min & max longitude (I), latitude (J), altitude (K) indices INTEGER, INTENT(IN) :: I1, I2 INTEGER, INTENT(IN) :: JU1, J2 ! Local min & max longitude (I) and latitude (J) indices INTEGER, INTENT(IN) :: ILO, IHI INTEGER, INTENT(IN) :: JULO, JHI ! concentration contribution from E-W advection [mixing ratio] REAL(fp), INTENT(IN) :: qqu(ILO:IHI, JULO:JHI) ! ! !OUTPUT PARAMETERS: ! ! qqu working array [mixing ratio] REAL(fp), INTENT(OUT) :: qquwk(ILO:IHI, JULO-2:JHI+2) ! ! !AUTHOR: ! Original code from Shian-Jiann Lin, DAO ! John Tannahill, LLNL (jrt@llnl.gov) ! ! !REVISION HISTORY: ! 05 Dec 2008 - C. Carouge - Replaced TPCORE routines by S-J Lin and Kevin ! Yeh with the TPCORE routines from GMI model. ! This eliminates the polar overshoot in the ! stratosphere. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: i2d2 INTEGER :: il, ij INTEGER :: inb ! ---------------- ! Begin execution. ! ---------------- i2d2 = i2_gl / 2 ! ==================== if (j1p == ju1_gl+1) then ! ==================== ! ----------------------- ! Polar Cap NOT Enlarged. ! ----------------------- ! ================== if (ju1 == ju1_gl) then ! ================== do il = i1, i2d2 do inb = 1, 2 qquwk(il, ju1-inb) = qqu(il+i2d2,ju1+inb) qquwk(il+i2d2,ju1-inb) = qqu(il, ju1+inb) end do end do ! ====== end if ! ====== ! ================ if (j2 == j2_gl) then ! ================ do il = i1, i2d2 do inb = 1, 2 qquwk(il, j2+inb) = qqu(il+i2d2,j2-inb) qquwk(il+i2d2,j2+inb) = qqu(il, j2-inb) end do end do ! ====== end if ! ====== ! ====== end if ! ====== END SUBROUTINE Do_Yadv_Pole_I2d2 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Do_Yadv_Pole_Sum ! ! !DESCRIPTION: Subroutine Do\_Yadv\_Pole\_Sum sets the cross term due to ! N-S advection at the Poles. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Do_Yadv_Pole_Sum( ady, I1_GL, I2_GL, JU1_GL, J2_GL, J1P, & ILO, IHI, JULO, JHI, I1, I2, & JU1, J2) ! ! !INPUT PARAMETERS: ! ! Global latitude index at the edge of the South polar cap ! J1P=JU1_GL+1; for a polar cap of 1 latitude band ! J1P=JU1_GL+2; for a polar cap of 2 latitude bands INTEGER, INTENT(IN) :: J1P ! Global min & max longitude (I) and latitude (J) indices INTEGER, INTENT(IN) :: I1_GL, I2_GL INTEGER, INTENT(IN) :: JU1_GL, J2_GL ! Local min & max longitude (I), latitude (J), altitude (K) indices INTEGER, INTENT(IN) :: I1, I2 INTEGER, INTENT(IN) :: JU1, J2 ! Local min & max longitude (I) and latitude (J) indices INTEGER, INTENT(IN) :: ILO, IHI INTEGER, INTENT(IN) :: JULO, JHI ! ! !OUTPUT PARAMETERS: ! ! Cross term due to N-S advection (mixing ratio) REAL(fp), INTENT(INOUT) :: ady(ILO:IHI, JULO:JHI) ! ! !AUTHOR: ! Original code from Shian-Jiann Lin, DAO ! John Tannahill, LLNL (jrt@llnl.gov) ! ! !REVISION HISTORY: ! 05 Dec 2008 - C. Carouge - Replaced TPCORE routines by S-J Lin and Kevin ! Yeh with the TPCORE routines from GMI model. ! This eliminates the polar overshoot in the ! stratosphere. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: il ! Arrays REAL(fp) :: sumnp REAL(fp) :: sumsp ! Add LOGICAL :: IS_EXT_POLAR_CAP ! ---------------- ! Begin execution. ! ---------------- ! Test if we are using extended polar caps (i.e. the S pole and next N ! latitude and N. Pole and next S latitude). Do this outside the loops. ! (bmy, 12/11/08) IS_EXT_POLAR_CAP = ( J1P == JU1_GL + 2 ) ! ------------ ! South Pole ! ------------ sumsp = 0.0e+0_fp sumnp = 0.0e+0_fp if ( IS_EXT_POLAR_CAP ) then ! For a 2-latitude polar cap (S. Pole + next Northward latitude) do il = i1, i2 sumsp = sumsp + ady(il,ju1+1) sumnp = sumnp + ady(il,j2-1) end do else ! For a 1-latitude polar cap (S. Pole only) do il = i1, i2 sumsp = sumsp + ady(il,ju1) sumnp = sumnp + ady(il,j2) end do end if sumsp = sumsp / i2_gl sumnp = sumnp / i2_gl if ( IS_EXT_POLAR_CAP ) then ! For a 2-latitude polar cap (S. Pole + next Northward latitude) do il = i1, i2 ady(il,ju1+1) = sumsp ady(il,ju1) = sumsp ady(il,j2-1) = sumnp ady(il,j2) = sumnp end do else ! For a 1-latitude polar cap (S. Pole only) do il = i1, i2 ady(il,ju1) = sumsp ady(il,j2) = sumnp end do end if END SUBROUTINE Do_Yadv_Pole_Sum !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Xtp ! ! !DESCRIPTION: Subroutine Xtp does horizontal advection in the E-W direction. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Xtp( ilmt, jn, js, pu, crx, dq1, qqv, xmass, fx, & J1P, J2P, I2_GL, JU1_GL, J2_GL, ILO, IHI, JULO, JHI, & I1, I2, JU1, J2, iord ) ! ! !INPUT PARAMETERS: ! ! Global latitude indices at the edges of the S/N polar caps ! J1P=JU1_GL+1; J2P=J2_GL-1 for a polar cap of 1 latitude band ! J1P=JU1_GL+2; J2P=J2_GL-2 for a polar cap of 2 latitude bands INTEGER, INTENT(IN) :: J1P, J2P ! Global min & max longitude (I) and latitude (J) indices INTEGER, INTENT(IN) :: I2_GL INTEGER, INTENT(IN) :: JU1_GL, J2_GL ! Local min & max longitude (I), latitude (J), altitude (K) indices INTEGER, INTENT(IN) :: I1, I2 INTEGER, INTENT(IN) :: JU1, J2 ! Local min & max longitude (I) and latitude (J) indices INTEGER, INTENT(IN) :: ILO, IHI INTEGER, INTENT(IN) :: JULO, JHI ! Controls various options in E-W advection INTEGER, INTENT(IN) :: ilmt ! Northward of latitude index = jn, Courant numbers could be > 1, ! so use the flux-form semi-Lagrangian scheme INTEGER, INTENT(IN) :: jn ! Southward of latitude index = js, Courant numbers could be > 1, ! so use the flux-form semi-Lagrangian scheme INTEGER, INTENT(IN) :: js ! Option for E-W transport scheme. See module header for more info. INTEGER, INTENT(IN) :: iord ! pressure at edges in "u" [hPa] REAL(fp), INTENT(IN) :: pu(ILO:IHI, JULO:JHI) ! Courant number in E-W direction REAL(fp), INTENT(IN) :: crx(ILO:IHI, JULO:JHI) ! Horizontal mass flux in E-W direction [hPa] REAL(fp), INTENT(IN) :: xmass(ILO:IHI, JULO:JHI) ! ! !INPUT/OUTPUT PARAMETERS: ! ! Species density [hPa] REAL(fp), INTENT(INOUT) :: dq1(ILO:IHI, JULO:JHI) ! Concentration contribution from N-S advection [mixing ratio] REAL(fp), INTENT(INOUT) :: qqv(ILO:IHI, JULO:JHI) ! ! !OUTPUT PARAMETERS: ! ! E-W flux [mixing ratio] REAL(fp), INTENT(OUT) :: fx(ILO:IHI, JULO:JHI) ! ! !AUTHOR: ! Original code from Shian-Jiann Lin, DAO ! John Tannahill, LLNL (jrt@llnl.gov) ! ! !REVISION HISTORY: ! 05 Dec 2008 - C. Carouge - Replaced TPCORE routines by S-J Lin and Kevin ! Yeh with the TPCORE routines from GMI model. ! This eliminates the polar overshoot in the ! stratosphere. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: il, ij, ic INTEGER :: iu, ix, iuw, iue, imp INTEGER :: jvan REAL(fp) :: rc REAL(fp) :: ric, ril ! Arrays INTEGER :: isav(i1:i2) REAL(fp) :: dcx(-i2/3:i2+i2/3, julo:jhi) REAL(fp) :: qtmp(-i2/3:i2+i2/3, julo:jhi) ! ---------------- ! Begin execution. ! ---------------- dcx(:,:) = 0.0e+0_fp fx(:,:) = 0.0e+0_fp imp = i2+1 ! NOTE: these loops do not parallelize well (bmy, 12/5/08) ! Populate qtmp do il=i1,i2 qtmp(il,:) = qqv(il,:) enddo do il = -i2/3,0 qtmp(il,:) = qqv(i2+il,:) enddo do il = i2+1,i2+i2/3 qtmp(il,:) = qqv(il-i2,:) enddo if (IORD /= 1) then qtmp(i1-1,:) = qqv(i2,:) qtmp(i1-2,:) = qqv(i2-1,:) qtmp(i2+1,:) = qqv(i1,:) qtmp(i2+2,:) = qqv(i1+1,:) ! ========== call Xmist & ! ========== (dcx, qtmp, & j1p, j2p, i2_gl, ju1_gl, j2_gl, ilo, ihi, julo, jhi, & i1, i2, ju1, j2) end if jvan = Max (1, j2_gl / 18) ! ============== do ij = j1p, j2p ! ================= ! ====================================== if ((ij > js) .and. (ij < jn)) then ! ====================================== ! ------------------------------------------------------ ! Do horizontal Eulerian advection in the E-W direction. ! ------------------------------------------------------ if ((IORD == 1) .or. & (ij == j1p) .or. (ij == j2p)) then do il = i1, i2 ril = il iu = ril - crx(il,ij) fx(il,ij) = qtmp(iu,ij) end do else if ((IORD == 2) .or. & (ij <= (j1p+jvan)) .or. (ij >= (j2p-jvan))) then do il = i1, i2 ril = il iu = ril - crx(il,ij) fx(il,ij) = & qtmp(iu,ij) + & (dcx(iu,ij) * & (Sign (1.0e+0_fp, crx(il,ij)) - crx(il,ij))) end do else ! ========== call Fxppm & (ij, ilmt, crx, dcx, fx, qtmp, & -i2/3, i2+i2/3, julo, jhi, i1, i2) ! qtmp (inout) - can be updated ! ========== end if end if do il = i1, i2 fx(il,ij) = fx(il,ij) * xmass(il,ij) enddo ! ==== else ! ==== ! ------------------------------------------------------------ ! Do horizontal Conservative (flux-form) Semi-Lagrangian ! advection in the E-W direction (van Leer at high latitudes). ! ------------------------------------------------------------ if ((IORD == 1) .or. & (ij == j1p) .or. (ij == j2p)) then do il = i1, i2 ic = crx(il,ij) isav(il) = il - ic ril = il iu = ril - crx(il,ij) ric = ic rc = crx(il,ij) - ric fx(il,ij) = rc * qtmp(iu,ij) end do else do il = i1, i2 ic = crx(il,ij) isav(il) = il - ic ril = il iu = ril - crx(il,ij) ric = ic rc = crx(il,ij) - ric fx(il,ij) = & rc * & (qtmp(iu,ij) + & (dcx(iu,ij) * (Sign (1.0e+0_fp, rc) - rc))) end do end if do il = i1, i2 if (crx(il,ij) > 1.0e+0_fp) then do ix = isav(il), il - 1 fx(il,ij) = fx(il,ij) + qtmp(ix,ij) end do else if (crx(il,ij) < -1.0e+0_fp) then do ix = il, isav(il) - 1 fx(il,ij) = fx(il,ij) - qtmp(ix,ij) end do end if end do do il = i1, i2 fx(il,ij) = pu(il,ij) * fx(il,ij) enddo ! ====== end if ! ====== ! ====== end do ! ====== ! NOTE: This loop does not parallelize well (bmy, 12/5/08) do ij = j1p, j2p do il = i1, i2-1 dq1(il,ij) = dq1(il,ij) + & (fx(il,ij) - fx(il+1,ij)) end do dq1(i2,ij) = dq1(i2,ij) + & (fx(i2,ij) - fx(i1,ij)) end do END SUBROUTINE Xtp !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Xmist ! ! !DESCRIPTION: Subroutine Xmist computes the linear tracer slope in the ! E-W direction. It uses the Lin et. al. 1994 algorithm. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Xmist( dcx, qqv, J1P, J2P, I2_GL, JU1_GL, J2_GL, ILO, IHI, & JULO, JHI, I1, I2, JU1, J2 ) ! ! !INPUT PARAMETERS: ! ! Global latitude indices at the edges of the S/N polar caps ! J1P=JU1_GL+1; J2P=J2_GL-1 for a polar cap of 1 latitude band ! J1P=JU1_GL+2; J2P=J2_GL-2 for a polar cap of 2 latitude bands INTEGER, INTENT(IN) :: J1P, J2P ! Global min & max longitude (I) and latitude (J) indices INTEGER, INTENT(IN) :: I2_GL INTEGER, INTENT(IN) :: JU1_GL, J2_GL ! Local min & max longitude (I), latitude (J), altitude (K) indices INTEGER, INTENT(IN) :: I1, I2 INTEGER, INTENT(IN) :: JU1, J2 ! Local min & max longitude (I) and latitude (J) indices INTEGER, INTENT(IN) :: ILO, IHI INTEGER, INTENT(IN) :: JULO, JHI ! Concentration contribution from N-S advection [mixing ratio] REAL(fp), INTENT(IN) :: qqv(-I2/3:I2+I2/3, JULO:JHI) ! ! !OUTPUT PARAMETERS: ! ! Slope of concentration distribution in E-W direction [mixing ratio] REAL(fp), INTENT(OUT) :: dcx(-I2/3:I2+I2/3, JULO:JHI) ! ! !AUTHOR: ! Original code from Shian-Jiann Lin, DAO ! John Tannahill, LLNL (jrt@llnl.gov) ! ! !REVISION HISTORY: ! 05 Dec 2008 - C. Carouge - Replaced TPCORE routines by S-J Lin and Kevin ! Yeh with the TPCORE routines from GMI model. ! This eliminates the polar overshoot in the ! stratosphere. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: il, ij REAL(fp) :: pmax, pmin REAL(fp) :: r24 REAL(fp) :: tmp ! ---------------- ! Begin execution. ! ---------------- r24 = 1.0e+0_fp / 24.0e+0_fp do ij = j1p+1, j2p-1 do il = i1, i2 tmp = & ((8.0e+0_fp * (qqv(il+1,ij) - qqv(il-1,ij))) + & qqv(il-2,ij) - qqv(il+2,ij)) * & r24 pmax = & Max (qqv(il-1,ij), qqv(il,ij), qqv(il+1,ij)) - & qqv(il,ij) pmin = & qqv(il,ij) - & Min (qqv(il-1,ij), qqv(il,ij), qqv(il+1,ij)) dcx(il,ij) = Sign (Min (Abs (tmp), pmax, pmin), tmp) end do end do ! Populate ghost zones of dcx (ccc, 11/20/08) do ij = julo, jhi do il = -i2/3, 0 dcx(il,ij) = dcx(i2+il,ij) enddo do il = i2+1, i2+i2/3 dcx(il,ij) = dcx(il-i2,ij) enddo enddo END SUBROUTINE Xmist !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Fxppm ! ! !DESCRIPTION: Subroutine Fxppm is the 1D "outer" flux form operator based ! on the Piecewise Parabolic Method (PPM; see also Lin and Rood 1996) for ! computing the fluxes in the E-W direction. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Fxppm( ij, ilmt, crx, dcx, fx, qqv, & ILO, IHI, JULO, JHI, I1, I2 ) ! ! !INPUT PARAMETERS: ! ! Local min & max longitude (I) and altitude (K) indices INTEGER, INTENT(IN) :: I1, I2 ! Local min & max longitude (I) and latitude (J) indices INTEGER, INTENT(IN) :: ILO, IHI INTEGER, INTENT(IN) :: JULO, JHI ! Latitude (IJ) and altitude (IK) indices INTEGER, INTENT(IN) :: ij ! Controls various options in E-W advection INTEGER, INTENT(IN) :: ilmt ! Courant number in E-W direction REAL(fp), INTENT(IN) :: crx(I1:I2, JULO:JHI) ! ! !INPUT/OUTPUT PARAMETERS: ! ! Concentration contribution from N-S advection [mixing ratio] REAL(fp), INTENT(INOUT) :: qqv(ILO:IHI, JULO:JHI) ! ! !OUTPUT PARAMETERS: ! ! Slope of concentration distribution in E-W direction (mixing ratio) REAL(fp), INTENT(OUT) :: dcx(ILO:IHI, JULO:JHI) ! E-W flux [mixing ratio] REAL(fp), INTENT(OUT) :: fx(I1:I2, JULO:JHI) ! ! !AUTHOR: ! Original code from Shian-Jiann Lin, DAO ! John Tannahill, LLNL (jrt@llnl.gov) ! ! !REMARKS: ! This routine is called from w/in a OpenMP parallel loop fro ! ! !REVISION HISTORY: ! 05 Dec 2008 - C. Carouge - Replaced TPCORE routines by S-J Lin and Kevin ! Yeh with the TPCORE routines from GMI model. ! This eliminates the polar overshoot in the ! stratosphere. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: il INTEGER :: ilm1 INTEGER :: lenx REAL(fp) :: r13, r23 REAL(fp) :: rval ! Arrays REAL(fp) :: a6( ILO:IHI ) REAL(fp) :: al( ILO:IHI ) REAL(fp) :: ar( ILO:IHI ) REAL(fp) :: a61( (IHI-1) - (ILO+1) + 1 ) REAL(fp) :: al1( (IHI-1) - (ILO+1) + 1 ) REAL(fp) :: ar1( (IHI-1) - (ILO+1) + 1 ) REAL(fp) :: dcxi1( (IHI-1) - (ILO+1) + 1 ) REAL(fp) :: qqvi1( (IHI-1) - (ILO+1) + 1 ) ! ---------------- ! Begin execution. ! ---------------- ! Zero arrays (bmy, 12/5/08) a6 = 0.0e+0_fp al = 0.0e+0_fp ar = 0.0e+0_fp a61 = 0.0e+0_fp al1 = 0.0e+0_fp ar1 = 0.0e+0_fp dcxi1 = 0.0e+0_fp qqvi1 = 0.0e+0_fp r13 = 1.0e+0_fp / 3.0e+0_fp r23 = 2.0e+0_fp / 3.0e+0_fp do il = ilo + 1, ihi rval = 0.5e+0_fp * (qqv(il-1,ij) + qqv(il,ij)) + & (dcx(il-1,ij) - dcx(il,ij)) * r13 al(il) = rval ar(il-1) = rval end do do il = ilo + 1, ihi - 1 a6(il) = 3.0e+0_fp * & (qqv(il,ij) + qqv(il,ij) - (al(il) + ar(il))) end do ! ============== if (ilmt <= 2) then ! ============== a61(:) = 0.0e+0_fp al1(:) = 0.0e+0_fp ar1(:) = 0.0e+0_fp dcxi1(:) = 0.0e+0_fp qqvi1(:) = 0.0e+0_fp lenx = 0 do il = ilo + 1, ihi - 1 lenx = lenx + 1 a61(lenx) = a6(il) al1(lenx) = al(il) ar1(lenx) = ar(il) dcxi1(lenx) = dcx(il,ij) qqvi1(lenx) = qqv(il,ij) end do ! =========== call Lmtppm & (lenx, ilmt, a61, al1, ar1, dcxi1, qqvi1) ! =========== lenx = 0 do il = ilo + 1, ihi - 1 lenx = lenx + 1 a6(il) = a61(lenx) al(il) = al1(lenx) ar(il) = ar1(lenx) dcx(il,ij) = dcxi1(lenx) qqv(il,ij) = qqvi1(lenx) end do ! Populate ghost zones of qqv and dcx with new values (ccc, 11/20/08) do il = -i2/3,0 dcx(il,ij) = dcx(i2+il,ij) qqv(il,ij) = qqv(i2+il,ij) enddo do il = i2+1, i2+i2/3 dcx(il,ij) = dcx(il-i2,ij) qqv(il,ij) = qqv(il-i2,ij) enddo end if do il = i1+1, i2 if (crx(il,ij) > 0.0e+0_fp) then ilm1 = il - 1 fx(il,ij) = & ar(ilm1) + & 0.5e+0_fp * crx(il,ij) * & (al(ilm1) - ar(ilm1) + & (a6(ilm1) * (1.0e+0_fp - (r23 * crx(il,ij))))) else fx(il,ij) = & al(il) - & 0.5e+0_fp * crx(il,ij) * & (ar(il) - al(il) + & (a6(il) * (1.0e+0_fp + (r23 * crx(il,ij))))) end if end do ! First box case (ccc, 11/20/08) if (crx(i1,ij) > 0.0e+0_fp) then ilm1 = i2 fx(i1,ij) = & ar(ilm1) + & 0.5e+0_fp * crx(i1,ij) * & (al(ilm1) - ar(ilm1) + & (a6(ilm1) * (1.0e+0_fp - (r23 * crx(i1,ij))))) else fx(i1,ij) = & al(i1) - & 0.5e+0_fp * crx(i1,ij) * & (ar(i1) - al(i1) + & (a6(i1) * (1.0e+0_fp + (r23 * crx(i1,ij))))) end if END SUBROUTINE Fxppm !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Lmtppm ! ! !DESCRIPTION: Subroutine Lmtppm enforces the full monotonic, semi-monotonic, ! or the positive-definite constraint to the sub-grid parabolic distribution ! of the Piecewise Parabolic Method (PPM). !\\ !\\ ! !INTERFACE: ! SUBROUTINE Lmtppm( lenx, lmt, a6, al, ar, dc, qa ) ! ! !INPUT PARAMETERS: ! If 0 => full monotonicity; ! If 1 => semi-monotonic constraint (no undershoots); ! If 2 => positive-definite constraint INTEGER, INTENT(IN) :: lmt ! Vector length INTEGER, INTENT(IN) :: lenx ! ! !INPUT/OUTPUT PARAMETERS: ! ! Curvature of the test parabola REAL(fp), INTENT(INOUT) :: a6(lenx) ! Left edge value of the test parabola REAL(fp), INTENT(INOUT) :: al(lenx) ! Right edge value of the test parabola REAL(fp), INTENT(INOUT) :: ar(lenx) ! 0.5 * mismatch REAL(fp), INTENT(INOUT) :: dc(lenx) ! Cell-averaged value REAL(fp), INTENT(INOUT) :: qa(lenx) ! ! !AUTHOR: ! Original code from Shian-Jiann Lin, DAO ! John Tannahill, LLNL (jrt@llnl.gov) ! ! !REVISION HISTORY: ! 05 Dec 2008 - C. Carouge - Replaced TPCORE routines by S-J Lin and Kevin ! Yeh with the TPCORE routines from GMI model. ! This eliminates the polar overshoot in the ! stratosphere. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: il REAL(fp) :: a6da REAL(fp) :: da1, da2 REAL(fp) :: fmin, ftmp REAL(fp) :: r12 ! ---------------- ! Begin execution. ! ---------------- r12 = 1.0e+0_fp / 12.0e+0_fp ! ============= if (lmt == 0) then ! ============= ! ---------------- ! Full constraint. ! ---------------- do il = 1, lenx if (dc(il) == 0.0e+0_fp) then a6(il) = 0.0e+0_fp al(il) = qa(il) ar(il) = qa(il) else da1 = ar(il) - al(il) da2 = da1 * da1 a6da = a6(il) * da1 if (a6da < -da2) then a6(il) = 3.0e+0_fp * (al(il) - qa(il)) ar(il) = al(il) - a6(il) else if (a6da > da2) then a6(il) = 3.0e+0_fp * (ar(il) - qa(il)) al(il) = ar(il) - a6(il) end if end if end do ! ================== else if (lmt == 1) then ! ================== ! -------------------------- ! Semi-monotonic constraint. ! -------------------------- do il = 1, lenx if (Abs (ar(il) - al(il)) < -a6(il)) then if ((qa(il) < ar(il)) .and. (qa(il) < al(il))) then a6(il) = 0.0e+0_fp al(il) = qa(il) ar(il) = qa(il) else if (ar(il) > al(il)) then a6(il) = 3.0e+0_fp * (al(il) - qa(il)) ar(il) = al(il) - a6(il) else a6(il) = 3.0e+0_fp * (ar(il) - qa(il)) al(il) = ar(il) - a6(il) end if end if end do ! ================== else if (lmt == 2) then ! ================== do il = 1, lenx if (Abs (ar(il) - al(il)) < -a6(il)) then ftmp = ar(il) - al(il) fmin = qa(il) + & 0.25e+0_fp * (ftmp * ftmp) / a6(il) + & a6(il) * r12 if (fmin < 0.0e+0_fp) then if ((qa(il) < ar(il)) .and. (qa(il) < al(il))) then a6(il) = 0.0e+0_fp al(il) = qa(il) ar(il) = qa(il) else if (ar(il) > al(il)) then a6(il) = 3.0e+0_fp * (al(il) - qa(il)) ar(il) = al(il) - a6(il) else a6(il) = 3.0e+0_fp * (ar(il) - qa(il)) al(il) = ar(il) - a6(il) end if end if end if end do end if END SUBROUTINE Lmtppm !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ytp ! ! !DESCRIPTION: Subroutine Ytp does horizontal advection in the N-S direction. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Ytp( jlmt, geofac_pc, geofac, cry, dq1, qqu, qqv, & ymass, fy, J1P, J2P, I1_GL, I2_GL, JU1_GL, & J2_GL, ilong, ILO, IHI, JULO, JHI, I1, & I2, JU1, J2, jord ) ! ! !INPUT PARAMETERS: ! ! Global latitude indices at the edges of the S/N polar caps ! J1P=JU1_GL+1; J2P=J2_GL-1 for a polar cap of 1 latitude band ! J1P=JU1_GL+2; J2P=J2_GL-2 for a polar cap of 2 latitude bands INTEGER, INTENT(IN) :: J1P, J2P ! Global min & max longitude (I) and latitude (J) indices INTEGER, INTENT(IN) :: I1_GL, I2_GL INTEGER, INTENT(IN) :: JU1_GL, J2_GL ! Local min & max longitude (I), latitude (J), altitude (K) indices INTEGER, INTENT(IN) :: I1, I2 INTEGER, INTENT(IN) :: JU1, J2 ! Local min & max longitude (I) and latitude (J) indices INTEGER, INTENT(IN) :: ILO, IHI INTEGER, INTENT(IN) :: JULO, JHI ! ??? INTEGER, INTENT(IN) :: ilong ! Controls various options in N-S advection INTEGER, INTENT(IN) :: jlmt ! N-S transport scheme (see module header for more info) INTEGER, INTENT(IN) :: jord ! special geometrical factor (geofac) for Polar cap REAL(fp), INTENT(IN) :: geofac_pc ! geometrical factor for meridional advection; geofac uses correct ! spherical geometry, and replaces acosp as the meridional geometrical ! factor in tpcore REAL(fp), INTENT(IN) :: geofac(JU1_GL:J2_GL) ! Courant number in N-S direction REAL(fp), INTENT(IN) :: cry(ILO:IHI, JULO:JHI) ! Concentration contribution from E-W advection [mixing ratio] REAL(fp), INTENT(IN) :: qqu(ILO:IHI, JULO:JHI) ! Horizontal mass flux in N-S direction [hPa] REAL(fp), INTENT(IN) :: ymass(ILO:IHI, JULO:JHI) ! ! !INPUT/OUTPUT PARAMETERS: ! ! Species density [hPa] REAL(fp), INTENT(INOUT) :: dq1(ILO:IHI, JULO:JHI) ! Concentration contribution from N-S advection [mixing ratio] REAL(fp), INTENT(INOUT) :: qqv(ILO:IHI, JULO:JHI) ! ! !OUTPUT PARAMETERS: ! ! N-S flux [mixing ratio] REAL(fp), INTENT(OUT) :: fy(ILO:IHI, JULO:JHI+1) ! ! !AUTHOR: ! Original code from Shian-Jiann Lin, DAO ! John Tannahill, LLNL (jrt@llnl.gov) ! ! !REVISION HISTORY: ! 05 Dec 2008 - C. Carouge - Replaced TPCORE routines by S-J Lin and Kevin ! Yeh with the TPCORE routines from GMI model. ! This eliminates the polar overshoot in the ! stratosphere. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: il, ij INTEGER :: jv REAL(fp) :: rj1p ! Arrays REAL(fp) :: dcy(ilo:ihi, julo:jhi) ! ---------------- ! Begin execution. ! ---------------- dcy(:,:) = 0.0e+0_fp fy(:,:) = 0.0e+0_fp rj1p = j1p ! ============== if (JORD == 1) then ! ============== do ij = j1p, j2p+1 do il = i1, i2 !c? jv = rj1p - cry(il,ij) qqv(il,ij) = qqu(il,jv) end do end do ! ==== else ! ==== ! ========== call Ymist & ! ========== (4, dcy, qqu, & i1_gl, i2_gl, ju1_gl, j2_gl, j1p, & ilo, ihi, julo, jhi, i1, i2, ju1, j2) if ((JORD <= 0) .or. (JORD >= 3)) then ! ========== call Fyppm & ! ========== (jlmt, cry, dcy, qqu, qqv, & j1p, j2p, i1_gl, i2_gl, ju1_gl, j2_gl, ilong, & ilo, ihi, julo, jhi, i1, i2, ju1, j2) else do ij = j1p, j2p+1 do il = i1, i2 !c? jv = rj1p - cry(il,ij) qqv(il,ij) = & qqu(il,jv) + & ((Sign (1.0e+0_fp, cry(il,ij)) - cry(il,ij)) * & dcy(il,jv)) end do end do end if end if do ij = j1p, j2p+1 qqv(i1:i2,ij) = qqv(i1:i2,ij) * ymass(i1:i2,ij) end do !.sds.. save N-S species flux as diagnostic do ij = i1,i2 fy(ij,j1p:j2p+1) = qqv(ij,j1p:j2p+1) * geofac(j1p:j2p+1) enddo !... meridional flux update do ij = j1p, j2p dq1(i1:i2,ij) = & dq1(i1:i2,ij) + & (qqv(i1:i2,ij) - qqv(i1:i2,ij+1)) * geofac(ij) end do ! ==================== call Do_Ytp_Pole_Sum & ! ==================== (geofac_pc, dq1, qqv, fy, & i1_gl, i2_gl, ju1_gl, j2_gl, j1p, j2p, & ilo, ihi, julo, jhi, i1, i2, ju1, j2) END SUBROUTINE Ytp !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ymist ! ! !DESCRIPTION: Subroutine Ymist computes the linear tracer slope in the N-S ! direction. It uses the Lin et. al. 1994 algorithm. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Ymist( id, dcy, qqu, I1_GL, I2_GL, JU1_GL, & J2_GL, J1P, ILO, IHI, JULO, JHI, & I1, I2, JU1, J2 ) ! ! !INPUT PARAMETERS: ! ! Global latitude index at the edge of the South polar cap ! J1P=JU1_GL+1 for a polar cap of 1 latitude band ! J1P=JU1_GL+2 for a polar cap of 2 latitude bands INTEGER, INTENT(IN) :: J1P ! Global min & max longitude (I) and latitude (J) indices INTEGER, INTENT(IN) :: I1_GL, I2_GL INTEGER, INTENT(IN) :: JU1_GL, J2_GL ! Local min & max longitude (I), latitude (J), altitude (K) indices INTEGER, INTENT(IN) :: I1, I2 INTEGER, INTENT(IN) :: JU1, J2 ! Local min & max longitude (I) and latitude (J) indices INTEGER, INTENT(IN) :: ILO, IHI INTEGER, INTENT(IN) :: JULO, JHI ! The "order" of the accuracy in the computed linear "slope" ! (or mismatch, Lin et al. 1994); it is either 2 or 4. INTEGER, INTENT(IN) :: id ! Concentration contribution from E-W advection (mixing ratio) REAL(fp), INTENT(IN) :: qqu(ILO:IHI, JULO:JHI) ! ! !OUTPUT PARAMETERS: ! ! Slope of concentration distribution in N-S direction [mixing ratio] REAL(fp), INTENT(OUT) :: dcy(ILO:IHI, JULO:JHI) ! ! !AUTHOR: ! Original code from Shian-Jiann Lin, DAO ! John Tannahill, LLNL (jrt@llnl.gov) ! ! !REVISION HISTORY: ! 05 Dec 2008 - C. Carouge - Replaced TPCORE routines by S-J Lin and Kevin ! Yeh with the TPCORE routines from GMI model. ! This eliminates the polar overshoot in the ! stratosphere. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: il, ij REAL(fp) :: pmax, pmin REAL(fp) :: r24 REAL(fp) :: tmp ! Arrays ! I suppose the values for these indexes are 0. ! It should work as the pole values are re-calculated in the ! pole functions. (ccc) REAL(fp) :: qtmp(ilo:ihi, julo-2:jhi+2) ! ---------------- ! Begin execution. ! ---------------- r24 = 1.0e+0_fp / 24.0e+0_fp ! Populate qtmp qtmp = 0. do ij=ju1,j2 qtmp(:,ij) = qqu(:,ij) enddo ! ============ if (id == 2) then ! ============ do ij = ju1 - 1, j2 - 1 do il = i1, i2 tmp = 0.25e+0_fp * (qtmp(il,ij+2) - qtmp(il,ij)) pmax = & Max (qtmp(il,ij), qtmp(il,ij+1), qtmp(il,ij+2)) - & qtmp(il,ij+1) pmin = & qtmp(il,ij+1) - & Min (qtmp(il,ij), qtmp(il,ij+1), qtmp(il,ij+2)) dcy(il,ij+1) = Sign (Min (Abs (tmp), pmin, pmax), tmp) end do end do ! ==== else ! ==== ! ======================== call Do_Ymist_Pole1_I2d2 & ! ======================== (dcy, qtmp, & i1_gl, i2_gl, ju1_gl, j2_gl, & ilo, ihi, julo, jhi, i1, i2, ju1, j2) do ij = ju1 - 2, j2 - 2 do il = i1, i2 tmp = ((8.0e+0_fp * (qtmp(il,ij+3) - qtmp(il,ij+1))) + & qtmp(il,ij) - qtmp(il,ij+4)) * & r24 pmax = & Max (qtmp(il,ij+1), qtmp(il,ij+2), qtmp(il,ij+3)) & - qtmp(il,ij+2) pmin = & qtmp(il,ij+2) - & Min (qtmp(il,ij+1), qtmp(il,ij+2), qtmp(il,ij+3)) dcy(il,ij+2) = Sign (Min (Abs (tmp), pmin, pmax), tmp) end do end do end if ! ======================== call Do_Ymist_Pole2_I2d2 & ! ======================== (dcy, qtmp, & i1_gl, i2_gl, ju1_gl, j2_gl, j1p, & ilo, ihi, julo, jhi, i1, i2, ju1, j2) END SUBROUTINE Ymist !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Do_Ymist_Pole1_I2d2 ! ! !DESCRIPTION: Subroutine Do\_Ymist\_Pole1\_I2d2 sets "dcy" at the Poles. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Do_Ymist_Pole1_I2d2( dcy, qqu, I1_GL, I2_GL, JU1_GL, & J2_GL, ILO, IHI, JULO, JHI, & I1, I2, JU1, J2 ) ! ! !INPUT PARAMETERS: ! ! Global min & max longitude (I) and latitude (J) indices ! J1P=JU1_GL+1; J2P=J2_GL-1 for a polar cap of 1 latitude band ! J1P=JU1_GL+2; J2P=J2_GL-2 for a polar cap of 2 latitude bands INTEGER, INTENT(IN) :: I1_GL, I2_GL INTEGER, INTENT(IN) :: JU1_GL, J2_GL ! Local min & max longitude (I), latitude (J), altitude (K) indices INTEGER, INTENT(IN) :: I1, I2 INTEGER, INTENT(IN) :: JU1, J2 ! Local min & max longitude (I) and latitude (J) indices INTEGER, INTENT(IN) :: ILO, IHI INTEGER, INTENT(IN) :: JULO, JHI ! Concentration contribution from E-W advection [mixing ratio] REAL(fp), INTENT(IN) :: qqu(ILO:IHI, JULO-2:JHI+2) ! ! !OUTPUT PARAMETERS: ! ! Slope of concentration distribution in N-S direction [mixing ratio] REAL(fp), INTENT(OUT) :: dcy(ILO:IHI, JULO:JHI) ! ! !AUTHOR: ! Original code from Shian-Jiann Lin, DAO ! John Tannahill, LLNL (jrt@llnl.gov) ! ! !REVISION HISTORY: ! 05 Dec 2008 - C. Carouge - Replaced TPCORE routines by S-J Lin and Kevin ! Yeh with the TPCORE routines from GMI model. ! This eliminates the polar overshoot in the ! stratosphere. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: i2d2 INTEGER :: il REAL(fp) :: pmax, pmin REAL(fp) :: r24 REAL(fp) :: tmp ! ---------------- ! Begin execution. ! ---------------- i2d2 = i2_gl / 2 r24 = 1.0e+0_fp / 24.0e+0_fp ! ================== if (ju1 == ju1_gl) then ! ================== do il = i1, i2d2 tmp = & ((8.0e+0_fp * (qqu(il,ju1+2) - qqu(il,ju1))) + & qqu(il+i2d2,ju1+1) - qqu(il,ju1+3)) * & r24 pmax = Max (qqu(il,ju1), qqu(il,ju1+1), & qqu(il,ju1+2)) - & qqu(il,ju1+1) pmin = qqu(il,ju1+1) - & Min (qqu(il,ju1), qqu(il,ju1+1), & qqu(il,ju1+2)) dcy(il,ju1+1) = & Sign (Min (Abs (tmp), pmin, pmax), tmp) end do do il = i1 + i2d2, i2 tmp = & ((8.0e+0_fp * (qqu(il,ju1+2) - qqu(il,ju1))) + & qqu(il-i2d2,ju1+1) - qqu(il,ju1+3)) * & r24 pmax = Max (qqu(il,ju1), qqu(il,ju1+1), & qqu(il,ju1+2)) - & qqu(il,ju1+1) pmin = qqu(il,ju1+1) - & Min (qqu(il,ju1), qqu(il,ju1+1), & qqu(il,ju1+2)) dcy(il,ju1+1) = & Sign (Min (Abs (tmp), pmin, pmax), tmp) end do ! ====== end if ! ====== ! ================ if (j2 == j2_gl) then ! ================ do il = i1, i2d2 tmp = & ((8.0e+0_fp * (qqu(il,j2) - qqu(il,j2-2))) + & qqu(il,j2-3) - qqu(il+i2d2,j2-1)) * & r24 pmax = Max (qqu(il,j2-2), qqu(il,j2-1), & qqu(il,j2)) - & qqu(il,j2-1) pmin = qqu(il,j2-1) - & Min (qqu(il,j2-2), qqu(il,j2-1), & qqu(il,j2)) dcy(il,j2-1) = & Sign (Min (Abs (tmp), pmin, pmax), tmp) end do do il = i1 + i2d2, i2 tmp = & ((8.0e+0_fp * (qqu(il,j2) - qqu(il,j2-2))) + & qqu(il,j2-3) - qqu(il-i2d2,j2-1)) * & r24 pmax = Max (qqu(il,j2-2), qqu(il,j2-1), & qqu(il,j2)) - & qqu(il,j2-1) pmin = qqu(il,j2-1) - & Min (qqu(il,j2-2), qqu(il,j2-1), & qqu(il,j2)) dcy(il,j2-1) = & Sign (Min (Abs (tmp), pmin, pmax), tmp) end do ! ====== end if ! ====== END SUBROUTINE Do_Ymist_Pole1_I2d2 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Do_Ymist_Pole2_I2d2 ! ! !DESCRIPTION: Subroutine Do\_Ymist\_Pole2\_I2d2 sets "dcy" at the Poles. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Do_Ymist_Pole2_I2d2( dcy, qqu, I1_GL, I2_GL, JU1_GL, & J2_GL, J1P, ILO, IHI, JULO, & JHI, I1, I2, JU1, J2 ) ! ! !INPUT PARAMETERS: ! ! Global latitude index at the edge of the South polar cap ! J1P=JU1_GL+1 for a polar cap of 1 latitude band ! J1P=JU1_GL+2 for a polar cap of 2 latitude bands INTEGER, INTENT(IN) :: J1P ! Global min & max longitude (I) and latitude (J) indices INTEGER, INTENT(IN) :: I1_GL, I2_GL INTEGER, INTENT(IN) :: JU1_GL, J2_GL ! Local min & max longitude (I), latitude (J), altitude (K) indices INTEGER, INTENT(IN) :: I1, I2 INTEGER, INTENT(IN) :: JU1, J2 ! Local min & max longitude (I) and latitude (J) indices INTEGER, INTENT(IN) :: ILO, IHI INTEGER, INTENT(IN) :: JULO, JHI ! Concentration contribution from E-W advection [mixing ratio] REAL(fp), INTENT(IN) :: qqu(ILO:IHI, JULO-2:JHI+2) ! ! !OUTPUT PARAMETERS: ! ! Slope of concentration distribution in N-S direction [mixing ratio] REAL(fp), INTENT(OUT) :: dcy(ILO:IHI, JULO:JHI) ! ! !AUTHOR: ! Original code from Shian-Jiann Lin, DAO ! John Tannahill, LLNL (jrt@llnl.gov) ! ! !REVISION HISTORY: ! 05 Dec 2008 - C. Carouge - Replaced TPCORE routines by S-J Lin and Kevin ! Yeh with the TPCORE routines from GMI model. ! This eliminates the polar overshoot in the ! stratosphere. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: i2d2 INTEGER :: il REAL(fp) :: pmax, pmin REAL(fp) :: tmp ! ---------------- ! Begin execution. ! ---------------- i2d2 = i2_gl / 2 ! ================== if (ju1 == ju1_gl) then ! ================== if (j1p /= ju1_gl+1) then dcy(i1:i2,ju1) = 0.0e+0_fp else ! ----------------------------------------------- ! Determine slope in South Polar cap for scalars. ! ----------------------------------------------- do il = i1, i2d2 tmp = & 0.25e+0_fp * & (qqu(il,ju1+1) - qqu(il+i2d2,ju1+1)) pmax = & Max (qqu(il,ju1+1), qqu(il,ju1), & qqu(il+i2d2,ju1+1)) - & qqu(il,ju1) pmin = & qqu(il,ju1) - & Min (qqu(il,ju1+1), qqu(il,ju1), & qqu(il+i2d2,ju1+1)) dcy(il,ju1) = & Sign (Min (Abs (tmp), pmax, pmin), tmp) end do do il = i1 + i2d2, i2 dcy(il,ju1) = -dcy(il-i2d2,ju1) end do end if ! ====== end if ! ====== ! ================ if (j2 == j2_gl) then ! ================ if (j1p /= ju1_gl+1) then dcy(i1:i2,j2) = 0.0e+0_fp else ! ----------------------------------------------- ! Determine slope in North Polar cap for scalars. ! ----------------------------------------------- do il = i1, i2d2 tmp = & 0.25e+0_fp * & (qqu(il+i2d2,j2-1) - qqu(il,j2-1)) pmax = & Max (qqu(il+i2d2,j2-1), qqu(il,j2), & qqu(il,j2-1)) - & qqu(il,j2) pmin = & qqu(il,j2) - & Min (qqu(il+i2d2,j2-1), qqu(il,j2), & qqu(il,j2-1)) dcy(il,j2) = & Sign (Min (Abs (tmp), pmax, pmin), tmp) end do do il = i1 + i2d2, i2 dcy(il,j2) = -dcy(il-i2d2,j2) end do end if ! ====== end if ! ====== END SUBROUTINE Do_Ymist_Pole2_I2d2 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Fyppm ! ! !DESCRIPTION: Subroutine Fyppm is the 1D "outer" flux form operator based ! on the Piecewise Parabolic Method (PPM; see also Lin and Rood 1996) for ! computing the fluxes in the N-S direction. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Fyppm( jlmt, cry, dcy, qqu, qqv, j1p, j2p, & i1_gl, i2_gl, ju1_gl, j2_gl, ilong, ilo, ihi, & julo, jhi, i1, i2, ju1, j2 ) ! ! !INPUT PARAMETERS: ! ! Global latitude indices at the edges of the S/N polar caps ! J1P=JU1_GL+1; J2P=J2_GL-1 for a polar cap of 1 latitude band ! J1P=JU1_GL+2; J2P=J2_GL-2 for a polar cap of 2 latitude bands INTEGER, INTENT(IN) :: J1P, J2P ! Global min & max longitude (I) and latitude (J) indices INTEGER, INTENT(IN) :: I1_GL, I2_GL INTEGER, INTENT(IN) :: JU1_GL, J2_GL ! Local min & max longitude (I), latitude (J), altitude (K) indices INTEGER, INTENT(IN) :: I1, I2 INTEGER, INTENT(IN) :: JU1, J2 ! Local min & max longitude (I) and latitude (J) indices INTEGER, INTENT(IN) :: ILO, IHI INTEGER, INTENT(IN) :: JULO, JHI ! ILONG ?? INTEGER, INTENT(IN) :: ilong ! Controls various options in N-S advection INTEGER, INTENT(IN) :: jlmt ! Courant number in N-S direction REAL(fp), INTENT(IN) :: cry(ILO:IHI, JULO:JHI) ! Slope of concentration distribution in N-S direction [mixing ratio] REAL(fp), INTENT(IN) :: dcy(ILO:IHI, JULO:JHI) ! Concentration contribution from E-W advection [mixing ratio] REAL(fp), INTENT(IN) :: qqu(ILO:IHI, JULO:JHI) ! ! !OUTPUT PARAMETERS: ! ! Concentration contribution from N-S advection [mixing ratio] REAL(fp), INTENT(OUT) :: qqv(ILO:IHI, JULO:JHI) ! ! !AUTHOR: ! Original code from Shian-Jiann Lin, DAO ! John Tannahill, LLNL (jrt@llnl.gov) ! ! !REVISION HISTORY: ! 05 Dec 2008 - C. Carouge - Replaced TPCORE routines by S-J Lin and Kevin ! Yeh with the TPCORE routines from GMI model. ! This eliminates the polar overshoot in the ! stratosphere. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: ijm1 INTEGER :: il, ij INTEGER :: lenx REAL(fp) :: r13, r23 ! Arrays REAL(fp) :: a61 (ilong*((JHI-1)-(JULO+1)+1)) REAL(fp) :: al1 (ilong*((JHI-1)-(JULO+1)+1)) REAL(fp) :: ar1 (ilong*((JHI-1)-(JULO+1)+1)) REAL(fp) :: dcy1(ilong*((JHI-1)-(JULO+1)+1)) REAL(fp) :: qqu1(ilong*((JHI-1)-(JULO+1)+1)) REAL(fp) :: a6(ILO:IHI, JULO:JHI) REAL(fp) :: al(ILO:IHI, JULO:JHI) REAL(fp) :: ar(ILO:IHI, JULO:JHI) ! NOTE: The code was writtein with I1:I2 as the first dimension of AL, ! AR, A6, AL1, A61, AR1. However, the limits should really should be ! ILO:IHI. In practice, however, for a global grid (and OpenMP ! parallelization) ILO=I1 and IHI=I2. Nevertheless, we will change the ! limits to ILO:IHI to be consistent and to avoid future problems. ! (bmy, 12/5/08) ! ---------------- ! Begin execution. ! ---------------- a6(:,:) = 0.0e+0_fp; al(:,:) = 0.0e+0_fp; ar(:,:) = 0.0e+0_fp r13 = 1.0e+0_fp / 3.0e+0_fp r23 = 2.0e+0_fp / 3.0e+0_fp do ij = julo+1, jhi do il = ilo, ihi al(il,ij) = & 0.5e+0_fp * (qqu(il,ij-1) + qqu(il,ij)) + & (dcy(il,ij-1) - dcy(il,ij)) * r13 ar(il,ij-1) = al(il,ij) end do end do ! ======================= call Do_Fyppm_Pole_I2d2 & ! ======================= (al, ar, & i1_gl, i2_gl, ju1_gl, j2_gl, & ilo, ihi, julo, jhi, i1, i2, ju1, j2) do ij = julo+1, jhi-1 do il = ilo, ihi a6(il,ij) = & 3.0e+0_fp * & (qqu(il,ij) + qqu(il,ij) - & (al(il,ij) + ar(il,ij))) end do end do ! ============== if (jlmt <= 2) then ! ============== lenx = 0 do ij = julo + 1, jhi - 1 do il = ilo, ihi lenx = lenx + 1 a61 (lenx) = a6 (il,ij) al1 (lenx) = al (il,ij) ar1 (lenx) = ar (il,ij) dcy1(lenx) = dcy(il,ij) qqu1(lenx) = qqu(il,ij) end do end do ! =========== call Lmtppm & (lenx, jlmt, a61, al1, ar1, dcy1, qqu1) ! =========== lenx = 0 do ij = julo + 1, jhi - 1 do il = ilo, ihi lenx = lenx + 1 a6(il,ij) = a61(lenx) al(il,ij) = al1(lenx) ar(il,ij) = ar1(lenx) end do end do end if do ij = j1p, j2p+1 ijm1 = ij - 1 do il = ilo, ihi if (cry(il,ij) > 0.0e+0_fp) then qqv(il,ij) = & ar(il,ijm1) + & 0.5e+0_fp * cry(il,ij) * & (al(il,ijm1) - ar(il,ijm1) + & (a6(il,ijm1) * (1.0e+0_fp - (r23 * cry(il,ij))))) else qqv(il,ij) = & al(il,ij) - & 0.5e+0_fp * cry(il,ij) * & (ar(il,ij) - al(il,ij) + & (a6(il,ij) * (1.0e+0_fp + (r23 * cry(il,ij))))) end if end do end do END SUBROUTINE Fyppm !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Do_Fyppm_Pole_I2d2 ! ! !DESCRIPTION: Subroutine Do\_Fyppm\_Pole\_I2d2 sets "al" \& "ar" at ! the Poles. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Do_Fyppm_Pole_I2d2( al, ar, I1_GL, I2_GL, JU1_GL, J2_GL, & ILO, IHI, JULO, JHI, I1, I2, & JU1, J2 ) ! ! !INPUT PARAMETERS: ! ! Global min & max longitude (I) and latitude (J) indices INTEGER, INTENT(IN) :: I1_GL, I2_GL INTEGER, INTENT(IN) :: JU1_GL, J2_GL ! Local min & max longitude (I), latitude (J), altitude (K) indices INTEGER, INTENT(IN) :: I1, I2 INTEGER, INTENT(IN) :: JU1, J2 ! Local min & max longitude (I) and latitude (J) indices INTEGER, INTENT(IN) :: ILO, IHI INTEGER, INTENT(IN) :: JULO, JHI ! ! !OUTPUT PARAMETERS: ! ! Left (al) and right (ar) edge values of the test parabola REAL(fp), INTENT(INOUT) :: al(ILO:IHI, JULO:JHI) REAL(fp), INTENT(INOUT) :: ar(ILO:IHI, JULO:JHI) ! ! !AUTHOR: ! Original code from Shian-Jiann Lin, DAO ! John Tannahill, LLNL (jrt@llnl.gov) ! ! !REVISION HISTORY: ! 05 Dec 2008 - C. Carouge - Replaced TPCORE routines by S-J Lin and Kevin ! Yeh with the TPCORE routines from GMI model. ! This eliminates the polar overshoot in the ! stratosphere. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: i2d2 INTEGER :: il ! ---------------- ! Begin execution. ! ---------------- i2d2 = i2_gl / 2 do il = i1, i2d2 al(il, ju1) = al(il+i2d2,ju1+1) al(il+i2d2,ju1) = al(il, ju1+1) ar(il, j2) = ar(il+i2d2,j2-1) ar(il+i2d2,j2) = ar(il, j2-1) end do END SUBROUTINE Do_Fyppm_Pole_I2d2 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Do_Ytp_Pole_Sum ! ! !DESCRIPTION: Subroutine Do\_Ytp\_Pole\_Sum sets "dq1" at the Poles. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Do_Ytp_Pole_Sum( geofac_pc, dq1, qqv, fy, I1_GL, & I2_GL, JU1_GL, J2_GL, J1P, J2P, & ILO, IHI, JULO, JHI, I1, & I2, JU1, J2 ) ! ! !input PARAMETERS: ! ! Global latitude indices at the edges of the S/N polar caps ! J1P=JU1_GL+1; J2P=J2_GL-1 for a polar cap of 1 latitude band ! J1P=JU1_GL+2; J2P=J2_GL-2 for a polar cap of 2 latitude bands INTEGER, INTENT(IN) :: J1P, J2P ! Global min & max longitude (I) and latitude (J) indices INTEGER, INTENT(IN) :: I1_GL, I2_GL INTEGER, INTENT(IN) :: JU1_GL, J2_GL ! Local min & max longitude (I), latitude (J), altitude (K) indices INTEGER, INTENT(IN) :: I1, I2 INTEGER, INTENT(IN) :: JU1, J2 ! Local min & max longitude (I) and latitude (J) indices INTEGER, INTENT(IN) :: ILO, IHI INTEGER, INTENT(IN) :: JULO, JHI ! Special geometrical factor (geofac) for Polar cap REAL(fp), INTENT(IN) :: geofac_pc ! Concentration contribution from N-S advection [mixing ratio] REAL(fp), INTENT(IN) :: qqv(ILO:IHI, JULO:JHI) ! ! !INPUT/OUTPUT PARAMETERS: ! ! Species density [hPa] REAL(fp), INTENT(INOUT) :: dq1(ILO:IHI, JULO:JHI) ! N-S mass flux [mixing ratio] REAL(fp), INTENT(INOUT) :: fy (ILO:IHI, JULO:JHI+1) ! ! !AUTHOR: ! Original code from Shian-Jiann Lin, DAO ! John Tannahill, LLNL (jrt@llnl.gov) ! ! !REVISION HISTORY: ! 05 Dec 2008 - C. Carouge - Replaced TPCORE routines by S-J Lin and Kevin ! Yeh with the TPCORE routines from GMI model. ! This eliminates the polar overshoot in the ! stratosphere. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: il, ik REAL(fp) :: ri2 ! Arrays REAL(fp) :: dq_np REAL(fp) :: dq_sp REAL(fp) :: dqik(2) ! 2 elements array for each pole value. REAL(fp) :: sumnp REAL(fp) :: sumsp ! ---------------- ! Begin execution. ! ---------------- ri2 = i2_gl dqik(:) = 0.0e+0_fp !... Integrate N-S flux around polar cap lat circle for each level sumsp = 0.0e+0_fp sumnp = 0.0e+0_fp do il = i1, i2 sumsp = sumsp + qqv(il,j1p) sumnp = sumnp + qqv(il,j2p+1) enddo !... wrap in E-W direction if (i1 == i1_gl) then dqik(1) = dq1(i1,ju1) dqik(2) = dq1(i1,j2) endif !... normalize and set inside polar cap dq_sp = dqik(1) - (sumsp / ri2 * geofac_pc) dq_np = dqik(2) + (sumnp / ri2 * geofac_pc) do il = i1, i2 dq1(il,ju1) = dq_sp dq1(il,j2) = dq_np !... save polar flux fy(il,ju1) = - (sumsp / ri2 * geofac_pc) fy(il,j2+1) = (sumnp / ri2* geofac_pc) enddo if (j1p /= ju1_gl+1) then do il = i1, i2 dq1(il,ju1+1) = dq_sp dq1(il,j2-1) = dq_np !... save polar flux fy(il,ju1+1) = - (sumsp / ri2 * geofac_pc) fy(il,j2) = (sumnp / ri2* geofac_pc) enddo endif END SUBROUTINE Do_Ytp_Pole_Sum !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Fzppm ! ! !DESCRIPTION: Subroutine Fzppm is the 1D "outer" flux form operator based ! on the Piecewise Parabolic Method (PPM; see also Lin and Rood 1996) for ! computing the fluxes in the vertical direction. !\\ !\\ ! Fzppm was modified by S.-J. Lin, 12/14/98, to allow the use of the KORD=7 ! (klmt=4) option. KORD=7 enforces the 2nd monotonicity constraint of ! Huynh (1996). Note that in Huynh's original scheme, two constraints are ! necessary for the preservation of monotonicity. To use Huynh's ! algorithm, it was modified as follows. The original PPM is still used to ! obtain the first guesses for the cell edges, and as such Huynh's 1st ! constraint is no longer needed. Huynh's median function is also replaced ! by a simpler yet functionally equivalent in-line algorithm. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Fzppm( klmt, delp1, wz, dq1, qq1, fz, & J1P, JU1_GL, J2_GL, ILO, IHI, JULO, JHI, & ILONG, IVERT, I1, I2, JU1, J2, K1, K2 ) ! ! !INPUT PARAMETERS: ! ! Global latitude index at the edges of the South polar cap ! J1P=JU1_GL+1 for a polar cap of 1 latitude band ! J1P=JU1_GL+2 for a polar cap of 2 latitude bands INTEGER, INTENT(IN) :: J1P ! Global min & max longitude (I) and latitude (J) indices INTEGER, INTENT(IN) :: JU1_GL, J2_GL ! Local min & max longitude (I), latitude (J), altitude (K) indices INTEGER, INTENT(IN) :: I1, I2 INTEGER, INTENT(IN) :: JU1, J2 INTEGER, INTENT(IN) :: K1, K2 ! Local min & max longitude (I) and latitude (J) indices INTEGER, INTENT(IN) :: ILO, IHI INTEGER, INTENT(IN) :: JULO, JHI ! Dimensions in longitude & altitude ??? INTEGER, INTENT(IN) :: ilong, ivert ! Controls various options in vertical advection INTEGER, INTENT(IN) :: klmt ! Pressure thickness, the pseudo-density in a ! hydrostatic system at t1 [hPa] REAL(fp), INTENT(IN) :: delp1(ILO:IHI, JULO:JHI, K1:K2) ! Large scale mass flux (per time step tdt) in the vertical ! direction as diagnosed from the hydrostatic relationship [hPa] REAL(fp), INTENT(IN) :: wz(I1:I2, JU1:J2, K1:K2) ! Species concentration [mixing ratio] REAL(fp), INTENT(IN) :: qq1(:,:,:) ! ! !INPUT/OUTPUT PARAMETERS: ! ! Species density [hPa] REAL(fp), INTENT(INOUT) :: dq1(ILO:IHI, JULO:JHI, K1:K2) ! ! !OUTPUT PARAMETERS: ! ! Vertical flux [mixing ratio] REAL(fp), INTENT(OUT) :: fz(ILO:IHI, JULO:JHI, K1:K2) ! ! !AUTHOR: ! Original code from Shian-Jiann Lin, DAO ! John Tannahill, LLNL (jrt@llnl.gov) ! ! !REVISION HISTORY: ! 05 Dec 2008 - C. Carouge - Replaced TPCORE routines by S-J Lin and Kevin ! Yeh with the TPCORE routines from GMI model. ! This eliminates the polar overshoot in the ! stratosphere. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: il, ij, ik INTEGER :: k1p1, k1p2 INTEGER :: k2m1, k2m2 INTEGER :: lenx REAL(fp) :: a1, a2 REAL(fp) :: aa, bb REAL(fp) :: c0, c1, c2 REAL(fp) :: cm, cp REAL(fp) :: fac1, fac2 REAL(fp) :: lac REAL(fp) :: qmax, qmin REAL(fp) :: qmp REAL(fp) :: r13, r23 REAL(fp) :: tmp ! Arrays REAL(fp) :: a61 (ilong*(ivert-4)) REAL(fp) :: al1 (ilong*(ivert-4)) REAL(fp) :: ar1 (ilong*(ivert-4)) REAL(fp) :: dca1 (ilong*(ivert-4)) REAL(fp) :: qq1a1(ilong*(ivert-4)) REAL(fp) :: a6 (i1:i2, k1:k2) REAL(fp) :: al (i1:i2, k1:k2) REAL(fp) :: ar (i1:i2, k1:k2) REAL(fp) :: dca (i1:i2, k1:k2) REAL(fp) :: dlp1a(i1:i2, k1:k2) REAL(fp) :: qq1a (i1:i2, k1:k2) REAL(fp) :: wza (i1:i2, k1:k2) REAL(fp) :: dc (i1:i2, ju1:j2, k1:k2) ! Work array REAL(fp) :: dpi(I1:I2, JU1:J2, K1:K2) ! ---------------- ! Begin execution. ! ---------------- a6(:,:) = 0.0e+0_fp al(:,:) = 0.0e+0_fp ar(:,:) = 0.0e+0_fp dc(:,:,:) = 0.0e+0_fp !.sds... diagnostic vertical flux for species - set top to 0.0 fz(:,:,:) = 0.0 k1p1 = k1 + 1 k1p2 = k1 + 2 k2m1 = k2 - 1 k2m2 = k2 - 2 r13 = 1.0e+0_fp / 3.0e+0_fp r23 = 2.0e+0_fp / 3.0e+0_fp ! ------------------- ! Compute dc for PPM. ! ------------------- do ik = k1, k2m1 dpi(:,:,ik) = qq1(i1:i2,ju1:j2,ik+1) - qq1(i1:i2,ju1:j2,ik) end do do ik = k1p1, k2m1 do ij = ju1, j2 do il = i1, i2 c0 = delp1(il,ij,ik) / & (delp1(il,ij,ik-1) + delp1(il,ij,ik) + & delp1(il,ij,ik+1)) c1 = (delp1(il,ij,ik-1) + (0.5e+0_fp * delp1(il,ij,ik))) / & (delp1(il,ij,ik+1) + delp1(il,ij,ik)) c2 = (delp1(il,ij,ik+1) + (0.5e+0_fp * delp1(il,ij,ik))) / & (delp1(il,ij,ik-1) + delp1(il,ij,ik)) tmp = c0 * & ((c1 * dpi(il,ij,ik)) + & (c2 * dpi(il,ij,ik-1))) qmax = & Max (qq1(il,ij,ik-1), & qq1(il,ij,ik), & qq1(il,ij,ik+1)) - & qq1(il,ij,ik) qmin = & qq1(il,ij,ik) - & Min (qq1(il,ij,ik-1), & qq1(il,ij,ik), & qq1(il,ij,ik+1)) dc(il,ij,ik) = Sign (Min (Abs (tmp), qmax, qmin), tmp) end do end do end do !c? ! ------------------------------------- ! Loop over latitudes (to save memory). ! ------------------------------------- ! ======================= ijloop: do ij = ju1, j2 ! ======================= if (((ij == ju1_gl+1) .or. (ij == j2_gl-1)) .and. & (j1p /= ju1_gl+1)) then ! ============ cycle ijloop ! ============ end if do ik = k1, k2 do il = i1, i2 dca (il,ik) = dc (il,ij,ik) ! the monotone slope wza (il,ik) = wz (il,ij,ik) dlp1a(il,ik) = delp1(il,ij,ik) qq1a (il,ik) = qq1 (il,ij,ik) enddo enddo ! ---------------------------------------------------------------- ! Compute first guesses at cell interfaces. First guesses are ! required to be continuous. Three-cell parabolic subgrid ! distribution at model top; two-cell parabolic with zero gradient ! subgrid distribution at the surface. ! ---------------------------------------------------------------- ! --------------------------- ! First guess top edge value. ! --------------------------- do il = i1, i2 ! ------------------------------------------------------------ ! Three-cell PPM; compute a, b, & c of q = aP^2 + bP + c using ! cell averages and dlp1a. ! ------------------------------------------------------------ fac1 = dpi(il,ij,k1p1) - & dpi(il,ij,k1) * (dlp1a(il,k1p1) + dlp1a(il,k1p2)) / & (dlp1a(il,k1) + dlp1a(il,k1p1)) fac2 = (dlp1a(il,k1p1) + dlp1a(il,k1p2)) * & (dlp1a(il,k1) + dlp1a(il,k1p1) + dlp1a(il,k1p2)) aa = 3.0e+0_fp * fac1 / fac2 bb = & 2.0e+0_fp * dpi(il,ij,k1) / (dlp1a(il,k1) + dlp1a(il,k1p1)) - & r23 * aa * (2.0e+0_fp * dlp1a(il,k1) + dlp1a(il,k1p1)) al(il,k1) = qq1a(il,k1) - & dlp1a(il,k1) * & (r13 * aa * dlp1a(il,k1) + & 0.5e+0_fp * bb) al(il,k1p1) = dlp1a(il,k1) * (aa * dlp1a(il,k1) + bb) + & al(il,k1) ! --------------------- ! Check if change sign. ! --------------------- if ((qq1a(il,k1) * al(il,k1)) <= 0.0e+0_fp) then al (il,k1) = 0.0e+0_fp dca(il,k1) = 0.0e+0_fp else dca(il,k1) = qq1a(il,k1) - al(il,k1) end if end do ! ------- ! Bottom. ! ------- do il = i1, i2 ! --------------------------------------------------- ! 2-cell PPM with zero gradient right at the surface. ! --------------------------------------------------- fac1 = dpi(il,ij,k2m1) * (dlp1a(il,k2) * dlp1a(il,k2)) / & ((dlp1a(il,k2) + dlp1a(il,k2m1)) * & (2.0e+0_fp * dlp1a(il,k2) + dlp1a(il,k2m1))) ar(il,k2) = qq1a(il,k2) + fac1 al(il,k2) = qq1a(il,k2) - (fac1 + fac1) if ((qq1a(il,k2) * ar(il,k2)) <= 0.0e+0_fp) then ar(il,k2) = 0.0e+0_fp end if dca(il,k2) = ar(il,k2) - qq1a(il,k2) end do ! ---------------------------------------- ! 4th order interpolation in the interior. ! ---------------------------------------- do ik = k1p2, k2m1 do il = i1, i2 c1 = (dpi(il,ij,ik-1) * dlp1a(il,ik-1)) / & (dlp1a(il,ik-1) + dlp1a(il,ik)) c2 = 2.0e+0_fp / & (dlp1a(il,ik-2) + dlp1a(il,ik-1) + & dlp1a(il,ik) + dlp1a(il,ik+1)) a1 = (dlp1a(il,ik-2) + dlp1a(il,ik-1)) / & (2.0e+0_fp * dlp1a(il,ik-1) + dlp1a(il,ik)) a2 = (dlp1a(il,ik) + dlp1a(il,ik+1)) / & (2.0e+0_fp * dlp1a(il,ik) + dlp1a(il,ik-1)) al(il,ik) = & qq1a(il,ik-1) + c1 + & c2 * & (dlp1a(il,ik) * (c1 * (a1 - a2) + a2 * dca(il,ik-1)) - & dlp1a(il,ik-1) * a1 * dca(il,ik)) end do end do do ik = k1, k2m1 do il = i1, i2 ar(il,ik) = al(il,ik+1) end do end do ! --------------------------------------- ! Top & Bottom 2 layers always monotonic. ! --------------------------------------- lenx = i2 - i1 + 1 do ik = k1, k1p1 do il = i1, i2 a6(il,ik) = & 3.0e+0_fp * (qq1a(il,ik) + qq1a(il,ik) - & (al(il,ik) + ar(il,ik))) end do ! =========== call Lmtppm & (lenx, 0, a6(i1,ik), al(i1,ik), ar(i1,ik), & dca(i1,ik), qq1a(i1,ik)) ! =========== end do do ik = k2m1, k2 do il = i1, i2 a6(il,ik) = & 3.0e+0_fp * (qq1a(il,ik) + qq1a(il,ik) - & (al(il,ik) + ar(il,ik))) end do ! =========== call Lmtppm & (lenx, 0, a6(i1,ik), al(i1,ik), ar(i1,ik), & dca(i1,ik), qq1a(i1,ik)) ! =========== end do ! --------------------------- ! Interior depending on klmt. ! --------------------------- ! ============== if (klmt == 4) then ! ============== ! ------------------------------- ! KORD=7, Huynh's 2nd constraint. ! ------------------------------- do ik = k1p1, k2m1 do il = i1, i2 dca(il,ik) = dpi(il,ij,ik) - dpi(il,ij,ik-1) end do end do do ik = k1p2, k2m2 do il = i1, i2 ! ------------ ! Right edges. ! ------------ qmp = qq1a(il,ik) + (2.0e+0_fp * dpi(il,ij,ik-1)) lac = qq1a(il,ik) + & (1.5e+0_fp * dca(il,ik-1)) + (0.5e+0_fp * dpi(il,ij,ik-1)) qmin = Min (qq1a(il,ik), qmp, lac) qmax = Max (qq1a(il,ik), qmp, lac) ar(il,ik) = Min (Max (ar(il,ik), qmin), qmax) ! ----------- ! Left edges. ! ----------- qmp = qq1a(il,ik) - (2.0e+0_fp * dpi(il,ij,ik)) lac = qq1a(il,ik) + & (1.5e+0_fp * dca(il,ik+1)) - (0.5e+0_fp * dpi(il,ij,ik)) qmin = Min (qq1a(il,ik), qmp, lac) qmax = Max (qq1a(il,ik), qmp, lac) al(il,ik) = Min (Max (al(il,ik), qmin), qmax) ! ------------- ! Recompute a6. ! ------------- a6(il,ik) = & 3.0e+0_fp * (qq1a(il,ik) + qq1a(il,ik) - & (ar(il,ik) + al(il,ik))) end do end do ! =================== else if (klmt <= 2) then ! =================== lenx = 0 do ik = k1p2, k2m2 do il = i1, i2 lenx = lenx + 1 al1 (lenx) = al (il,ik) ar1 (lenx) = ar (il,ik) dca1 (lenx) = dca (il,ik) qq1a1(lenx) = qq1a(il,ik) a61 (lenx) = 3.0e+0_fp * (qq1a1(lenx) + qq1a1(lenx) - & (al1(lenx) + ar1(lenx))) end do end do ! =========== call Lmtppm & (lenx, klmt, a61, al1, ar1, dca1, qq1a1) ! =========== lenx = 0 do ik = k1p2, k2m2 do il = i1, i2 lenx = lenx + 1 a6 (il,ik) = a61 (lenx) al (il,ik) = al1 (lenx) ar (il,ik) = ar1 (lenx) dca (il,ik) = dca1 (lenx) qq1a(il,ik) = qq1a1(lenx) end do end do end if do ik = k1, k2m1 do il = i1, i2 if (wza(il,ik) > 0.0e+0_fp) then cm = wza(il,ik) / dlp1a(il,ik) dca(il,ik+1) = & ar(il,ik) + & 0.5e+0_fp * cm * & (al(il,ik) - ar(il,ik) + & a6(il,ik) * (1.0e+0_fp - r23 * cm)) else cp = wza(il,ik) / dlp1a(il,ik+1) dca(il,ik+1) = & al(il,ik+1) + & 0.5e+0_fp * cp * & (al(il,ik+1) - ar(il,ik+1) - & a6(il,ik+1) * (1.0e+0_fp + r23 * cp)) end if end do end do do ik = k1, k2m1 do il = i1, i2 dca(il,ik+1) = wza(il,ik) * dca(il,ik+1) !.sds.. save vertical flux for species as diagnostic fz(il,ij,ik+1) = dca(il,ik+1) end do end do do il = i1, i2 dq1(il,ij,k1) = dq1(il,ij,k1) - dca(il,k1p1) dq1(il,ij,k2) = dq1(il,ij,k2) + dca(il,k2) enddo do ik = k1p1, k2m1 do il = i1, i2 dq1(il,ij,ik) = & dq1(il,ij,ik) + dca(il,ik) - dca(il,ik+1) end do end do ! ============= end do ijloop ! ============= END SUBROUTINE Fzppm !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Average_Press_Poles ! ! !DESCRIPTION: Subroutine Average\_Press\_Poles averages pressure at the ! Poles when the Polar cap is enlarged. It makes the last two latitudes ! equal. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Average_Press_Poles( area_1D, press, I1, I2, JU1, & J2, ILO, IHI, JULO, JHI ) ! ! !INPUT PARAMETERS: ! ! Local min & max longitude (I), latitude (J) INTEGER, INTENT(IN) :: I1, I2 INTEGER, INTENT(IN) :: JU1, J2 ! Local min & max longitude (I) and latitude (J) indices INTEGER, INTENT(IN) :: ILO, IHI INTEGER, INTENT(IN) :: JULO, JHI ! Surface area of grid box REAL(fp), INTENT(IN) :: AREA_1D(JU1:J2) ! ! !INPUT/OUTPUT PARAMETERS: ! ! Surface pressure [hPa] REAL(fp), INTENT(INOUT) :: press(ILO:IHI, JULO:JHI) ! ! !AUTHOR: ! Philip Cameron-Smith and John Tannahill, GMI project @ LLNL (2003) ! Implemented into GEOS-Chem by Claire Carouge (ccarouge@seas.harvard.edu) ! ! !REMARKS: ! Subroutine from pjc_pfix. Call this one once everything is working fine. ! ! !REVISION HISTORY: ! 05 Dec 2008 - C. Carouge - Replaced TPCORE routines by S-J Lin and Kevin ! Yeh with the TPCORE routines from GMI model. ! This eliminates the polar overshoot in the ! stratosphere. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I, J REAL(fp) :: meanp REAL(fp) :: REL_AREA(JU1:J2) REAL(fp) :: SUM_AREA !---------------- !Begin execution. !---------------- ! Compute the sum of surface area SUM_AREA = SUM( AREA_1D ) * DBLE( I2 ) ! Calculate rel_area for each lat. (ccc, 11/20/08) DO J = JU1, J2 REL_AREA(J) = AREA_1D(J) / SUM_AREA ENDDO !-------------- ! South Pole !-------------- ! Surface area of the S. Polar cap SUM_AREA = SUM( rel_area( JU1:JU1+1 ) ) * DBLE( I2 ) ! Zero meanp = 0.e+0_fp ! Sum pressure * surface area over the S. Polar cap DO J = JU1, JU1+1 DO I = I1, I2 meanp = meanp + ( rel_area(J) * press(I,J) ) ENDDO ENDDO ! Normalize pressure in all grid boxes w/in the S. Polar cap press( :, JU1:JU1+1 ) = meanp / SUM_AREA !-------------- ! North Pole !-------------- ! Surface area of the N. Polar cap SUM_AREA = SUM( rel_area( J2-1:J2 ) ) * DBLE( I2 ) ! Zero meanp = 0.e+0_fp ! Sum pressure * surface area over the N. Polar cap DO J = J2-1, J2 DO I = I1, I2 meanp = meanp + ( rel_area(J) * press(I,J) ) ENDDO ENDDO ! Normalize pressure in all grid boxes w/in the N. Polar cap press( :, J2-1:J2 ) = meanp / SUM_AREA END SUBROUTINE Average_Press_Poles END MODULE Tpcore_FvDas_mod !EOC ================================================ FILE: GeosCore/tpcore_window_mod.F90 ================================================ ! $Id: tpcore_window_mod.f90,v 1.2 2009/10/15 17:46:23 bmy Exp $ module TPCORE_WINDOW_MOD ! !****************************************************************************** ! Module TPCORE_WINDOW_MOD contains routines for the GEOS-4/fvDAS ! transport scheme. Original code from S-J Lin and Kevin Yeh. ! (bdf, bmy, 5/7/03, 10/29/04) ! ! The Harvard Atmospheric Chemistry Modeling Group has modified the original ! code in order to implement the Philip-Cameron Smith pressure fixer for mass ! conservation, and also to save out mass fluxes. These changes are denoted ! in the code by comment tag lines !%%%%%%%. Also, all modifications to the ! original code are written in ALL CAPITALS. ! ! Module Routines: ! ============================================================================ ! (1 ) INIT_TPCORE : Initialization routine for TPCORE ! (2 ) EXIT_TPCORE : Cleanup and exit routine for TPCORE ! (3 ) TPCORE_FVDAS : Driver routine for GEOS-4/TPCORE transport scheme ! (4 ) AIR_MASS_FLUX : TPCORE internal routine ! (5 ) TP2G : TPCORE internal routine ! (6 ) TP2D : TPCORE internal routine ! (7 ) XTP : TPCORE internal routine ! (8 ) XMIST : TPCORE internal routine ! (9 ) FXPPM : TPCORE internal routine ! (10) LMPPM : TPCORE internal routine ! (11) HUYNH : TPCORE internal routine ! (12) YTP : TPCORE internal routine ! (13) YMIST : TPCORE internal routine ! (14) FYPPM : TPCORE internal routine ! (15) XPAVG : TPCORE internal routine ! (16) QMAP : TPCORE internal routine ! (17) MAP1_PPM : TPCORE internal routine ! (18) PPM2M : TPCORE internal routine ! (19) STEEPZ : TPCORE internal routine ! (20) KMPPM : TPCORE internal routine ! (21) FCT_X : TPCORE internal routine ! (22) FILLZ : TPCORE internal routine ! (23) PFIX : TPCORE internal routine ! (24) GMEAN : TPCORE internal routine ! (25) ADJ_FX : TPCORE internal routine ! ! GEOS-CHEM modules referenced by "tpcore_fvdas_mod.f90" ! ============================================================================ ! none ! ! NOTES: ! (1 ) Renamed this module from "transport_fv.F90" to "tpcore_fvdas_mod.f90" ! to be more consistent with GEOS-CHEM naming convention. ! (2 ) Renamed routine TPCORE to TPCORE_FVDAS to avoid conflict with ! existing routine TPCORE from S-J Lin's version 7.1.m. ! (3 ) Added code for PJC pressure fixer. Also now declare everything ! PRIVATE except for INIT_TPCORE, TPCORE_FVDAS, and EXIT_TPCORE. ! (bdf, bmy, 5/7/03) ! (4 ) Added modifications to save mass fluxes in ND24, ND25, ND26 ! diagnostics. Also now make places in the code which have been ! modified by Harvard more clear to discern. (bdf, bmy, 9/28/04) ! (5 ) Bug fix: Need to multiply ND25 N/S transport fluxes by the array ! RGW_25 which accounts for the latitude factor (bdf, bmy, 10/29/04) ! (6 ) Bug fix: In INIT_GEOS5_WINDOW, need to dimension COSE with JM+1 ! instead of JM. (Xiaoguang Gu, bmy, 1/20/09) ! 09 Sep 2010 - C. Carouge - Modify declarations of MASSFLEW, MASSFLNS and ! MASSFLUP to save memory space. ! 04 Nov 2015 - M. Sulprizio- Rename from tpcore_geos5_window_mod.F90 to ! tpcore_window_mod.F90 for use with all nested ! grids ! 11 Jan 2016 - E. Lundgren - Add diagnostics for output to netcdf. ! Block off both bpch and netcdf diagnostic ! code within pre-processor statements. ! 19 Jan 2016 - E. Lundgren - combine bpch and netcdf diagnostic code !****************************************************************************** ! ! The original module documentation header is listed here: ! ! TransPort module for NASA Goddard Chemistry Transport Model ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Last modified: February 27, 2002 ! ! Purpose: perform the transport of 3-D mixing ratio fields using ! externally specified winds and surface pressure on the ! hybrid Eta-coordinate. ! One call to tpcore updates the 3-D mixing ratio ! fields for one time step (DT). ! ! Schemes: Multi-dimensional Flux Form Semi-Lagrangian (FFSL) schemes ! (Lin and Rood 1996, MWR) with many unpublished modifications ! ! Messaging passing library based on "Pilgrim" developed by W. Sawyer ! ! Suggested compiler options: ! SGI Origin: f90 -c -r8 -64 -O3 -mips4 -mp ! loader: f90 -64 -mp ! Linux Lahey/Fujitsu lf95 -c -CcdRR8 --tpp ! ! Send comments/suggestions to the algorithm developers: ! ! S.-J. Lin ! Code 910.3, NASA/GSFC, Greenbelt, MD 20771 ! E-mail: slin@dao.gsfc.nasa.gov ! ! Kevin Yeh ! Code 910.3, NASA/GSFC, Greenbelt, MD 20771 ! E-mail: kyeh@dao.gsfc.nasa.gov ! ! The algorithm is primarily based on the following papers: ! ! 1. Lin, S.-J., and R. B. Rood, 1996: Multidimensional flux form semi- ! Lagrangian transport schemes. Mon. Wea. Rev., 124, 2046-2070. ! ! 2. Lin, S.-J., W. C. Chao, Y. C. Sud, and G. K. Walker, 1994: A class of ! the van Leer-type transport schemes and its applications to the moist- ! ure transport in a General Circulation Model. Mon. Wea. Rev., 122, ! 1575-1593. !****************************************************************************** ! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !%%% MODIFICATION by Harvard Atmospheric Chemistry Modeling Group !%%% !%%% Add MODULE PRIVATE declarations. For safety's sake, declare all !%%% routines and variables PRIVATE except for INIT_TPCORE and !%%% TPCORE_FVDAS, which need to be seen outside. (bdf, bmy, 5/7/03) !%%% PRIVATE PUBLIC :: TPCORE_WINDOW PUBLIC :: INIT_WINDOW PUBLIC :: EXIT_TPCORE_WINDOW !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #if defined(SPMD) #define PRT_PREFIX if(gid.eq.0) #if defined(PILGRIM) use decompmodule, only: decomptype use ghostmodule, only: ghosttype use parutilitiesmodule, only: gid, parpatterntype, & parbegintransfer, parendtransfer type(parpatterntype) :: pattern2dmg, pattern2dng type(decomptype) :: decomp2d type(ghosttype) :: ghost2dmg, ghost2dng #else use mod_comm, only: gid, mp_barrier, mp_send3d_ns, & mp_recv3d_ns, mp_allgather1d #endif #else #define PRT_PREFIX #endif real ,ALLOCATABLE, save :: dtdx5(:) real ,ALLOCATABLE, save :: dtdy5(:) real ,ALLOCATABLE, save :: cosp(:) real ,ALLOCATABLE, save :: cose(:) real ,ALLOCATABLE, save :: gw(:) real ,ALLOCATABLE, save :: rgw(:) !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !%%% MODIFICATION by Harvard Atmospheric Chemistry Modeling Group !%%% !%%% Added DLAT as allocatable array for PJC pressure fixer !%%% (bdf, bmy, 5/7/03) !%%% REAL, ALLOCATABLE, SAVE :: DLAT(:) !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !%%% MODIFICATION by Harvard Atmospheric Chemistry Modeling Group !%%% !%%% Added RGW_25 as allocatable array for ND25 N/S mass flux diagnostic. !%%% This accounts for the latitude factor. (bdf, bmy, 10/29/04) !%%% REAL, ALLOCATABLE, SAVE :: RGW_25(:) REAL, ALLOCATABLE, SAVE :: SINE_25(:) !(dan 0803) !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% CONTAINS !------------------------------------------------------------------------- subroutine init_WINDOW(State_Grid, im,jm,km,jfirst,jlast,ng, mg, dt, ae, clat) !------------------------------------------------------------------------- #if defined(SPMD) #if defined(PILGRIM) use decompmodule, only : decompcreate use ghostmodule, only : ghostcreate use parutilitiesmodule, only : gid, gsize, commglobal, parpatterncreate #else use mod_comm, only : gid, y_decomp #endif #endif USE State_Grid_Mod, ONLY : GrdState implicit none !------- ! Input !------- TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object integer, intent(in):: im ! Global E-W dimension integer, intent(in):: jm ! Global N-S dimension integer, intent(in):: km ! Vertical dimension integer, intent(out):: jfirst ! Local first index for N-S integer, intent(out):: jlast ! Local last index for N-S integer, intent(in):: ng ! large ghost width integer, intent(in):: mg ! small ghost width real, intent(in):: dt ! Time step in seconds real, intent(in):: ae ! Earth's radius (m) real, intent(in):: clat(0:jm+1) ! latitude in radian (dan) !----- ! Local !----- real elat(jm+1) ! cell edge latitude in radian real sine(jm+1) !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !%%% MODIFICATION by Harvard Atmospheric Chemistry Modeling Group !%%% !%%% Comment out this declaration of DLAT. DLAT has now been declared !%%% as ALLOCATABLE for use in TPCORE_FVDAS. (bdf, bmy, 5/7/03) !%%% !%%%real dlat(jm) ! delta-latitude in radian !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !%%% MODIFICATION by Harvard Atmospheric Chemistry Modeling Group !%%% !%%% Add SINE_25 array as a local variable. This is used to initialize !%%% the RGW_25 array, which is necessary for the ND25 diagnostic. !%%% (bdf, bmy, 10/29/04) !%%% ! REAL SINE_25(JM+1) !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% real dlon real pi integer i, j #if defined(SPMD) #if defined(PILGRIM) integer, allocatable :: xdist(:), ydist(:) allocate(xdist(1)) allocate(ydist(gsize)) ! ! Decomposition ! xdist(1) = im call newdecomp(jm,gsize,ydist) jfirst = 1 do i=1,gid jfirst = jfirst + ydist(i) enddo jlast = jfirst + ydist(gid+1) - 1 call decompcreate(1, gsize, xdist, ydist, decomp2d ) ! 2D region with 1D lat decomposition call ghostcreate(decomp2d, gid, im, 1, im, .false., & jm, jfirst-mg, jlast+mg, .false., ghost2dmg ) call ghostcreate(decomp2d, gid, im, 1, im, .false., & jm, jfirst-ng, jlast+ng, .false., ghost2dng ) call parpatterncreate(commglobal, ghost2dmg, pattern2dmg) call parpatterncreate(commglobal, ghost2dng, pattern2dng) #else ! ! Default decomposition ! call y_decomp(jm, km, jfirst, jlast, 1, km, gid) #endif #else jfirst = 1 jlast = jm #endif if ( jlast - jfirst < 2 ) then write(*,*) 'Minimum size of subdomain is 3' endif !---------------- ! Allocate arrays !---------------- allocate ( cosp(jm) ) allocate ( cose(jm+1) ) allocate ( gw(jm) ) allocate ( rgw(jm) ) allocate ( dtdx5(jm) ) allocate ( dtdy5(jm) ) !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !%%% MODIFICATION by Harvard Atmospheric Chemistry Modeling Group !%%% !%%% We must allocate DLAT here for PJC pressure fixer (bdf, bmy, 5/7/03) !%%% ALLOCATE ( DLAT(JM) ) !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !%%% MODIFICATION by Harvard Atmospheric Chemistry Modeling Group !%%% !%%% We must allocate RGW_25 here for ND25 N/S transport fluxes diagnostic. !%%% This accounts for the latitude factor. (bdf, bmy, 10/29/04) !%%% ALLOCATE ( RGW_25(JM) ) !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ALLOCATE ( SINE_25(JM+1) ) !(dan 0803) pi = 4. * atan(1.) IF ( TRIM(State_Grid%GridRes) == '0.5x0.625' ) THEN dlon = 2.*pi / float(576) ELSE IF ( TRIM(State_Grid%GridRes) == '0.25x0.3125' ) THEN dlon = 2.*pi / float(1152) ELSE IF ( TRIM(State_Grid%GridRes) == '0.125x0.15625' ) THEN dlon = 2.*pi / float(2304) ENDIF ! dan for window !elat(1) = -0.5*pi ! S. Pole !sine(1) = -1. !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !%%% MODIFICATION by Harvard Atmospheric Chemistry Modeling Group !%%% !%%% Initialize SINE_25 array (bmy, bdf, 10/29/04) !%%% !SINE_25(1) = -1.0 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !cose(1) = 0. do j=1,jm+1 !(dan) elat(j) = 0.5*(clat(j-1) + clat(j)) sine(j) = sin(elat(j)) !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !%%% MODIFICATION by Harvard Atmospheric Chemistry Modeling Group !%%% !%%% Initialize SINE_25 array (bmy, bdf, 10/29/04) !%%% SINE_25(J) = SIN( CLAT(J) ) !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% cose(j) = cos(elat(j)) enddo !dan for window !elat(jm+1) = 0.5*pi ! N. Pole !sine(jm+1) = 1. !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !%%% MODIFICATION by Harvard Atmospheric Chemistry Modeling Group !%%% !%%% Initialize SINE_25 array (bmy, bdf, 10/29/04) !%%% !SINE_25(JM+1) = 1.0 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !dlat(1) = 2.*(elat(2) - elat(1)) ! Polar cap (dan) do j=1,jm dlat(j) = elat(j+1) - elat(j) enddo !dlat(jm) = 2.*(elat(jm+1) - elat(jm)) ! Polar cap (dan) do j=1,jm gw(j) = sine(j+1) - sine(j) cosp(j) = gw(j) / dlat(j) rgw(j) = 1. / gw(j) !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !%%% MODIFICATION by Harvard Atmospheric Chemistry Modeling Group !%%% !%%% Initialize RGW_25 for the ND25 N/S transport fluxes diagnostic. !%%% RGW_25 takes into account the latitude factor. (bdf, bmy, 10/29/04) !%%% RGW_25(J) = 1. / ( SINE_25(J+1) - SINE_25(J) ) !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% dtdx5(j) = 0.5 * dt / (dlon*ae*cosp(j)) dtdy5(j) = 0.5 * dt / (ae*dlat(j)) enddo !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !%%% MODIFICATION by Harvard Atmospheric Chemistry Modeling Group !%%% Comment out the === lines (bmy, 7/20/04) !%%%! Now use REPEAT cmd (bmy, 4/29/03) !%%%PRT_PREFIX write( 6, '(a)' ) REPEAT( '=', 79 ) !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% PRT_PREFIX write( 6, '(a)' ) 'NASA-GSFC Tracer Transport Module successfully initialized' !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !%%% MODIFICATION by Harvard Atmospheric Chemistry Modeling Group !%%% Comment out the === lines (bmy, 7/20/04) !%%%PRT_PREFIX write( 6, '(a)' ) REPEAT( '=', 79 ) !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% end subroutine init_WINDOW !------------------------------------------------------------------------- subroutine EXIT_TPCORE_WINDOW !------------------------------------------------------------------------- #if defined(SPMD) && defined(PILGRIM) use decompmodule, only : decompfree use ghostmodule, only : ghostfree use parutilitiesmodule, only : commglobal, parpatternfree call parpatternfree(commglobal, pattern2dmg) call parpatternfree(commglobal, pattern2dng) call ghostfree(ghost2dmg) call ghostfree(ghost2dng) call decompfree(decomp2d) #endif !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !%%% MODIFICATION by Harvard Atmospheric Chemistry Modeling Group !%%% !%%% Comment out original code below (bdf, bmy, 5/9/03) !%%% !%%%deallocate ( cosp ) !%%%deallocate ( cose ) !%%%deallocate ( gw ) !%%%deallocate ( rgw ) !%%%deallocate ( dtdx5 ) !%%%deallocate ( dtdy5 ) !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !%%% MODIFICATION by Harvard Atmospheric Chemistry Modeling Group !%%% !%%% Now deallocate arrays only if they have been allocated (bmy, 5/9/03) !%%% Also deallocate RGW_25 array (bdf, bmy, 10/29/04) !%%% IF ( ALLOCATED( COSP ) ) DEALLOCATE( COSP ) IF ( ALLOCATED( COSE ) ) DEALLOCATE( COSE ) IF ( ALLOCATED( GW ) ) DEALLOCATE( GW ) IF ( ALLOCATED( RGW ) ) DEALLOCATE( RGW ) IF ( ALLOCATED( RGW_25 ) ) DEALLOCATE( RGW_25 ) ! (bdf, bmy, 10/29/04) IF ( ALLOCATED( DTDX5 ) ) DEALLOCATE( DTDX5 ) IF ( ALLOCATED( DTDY5 ) ) DEALLOCATE( DTDY5 ) IF ( ALLOCATED( DLAT ) ) DEALLOCATE( DLAT ) IF ( ALLOCATED( SINE_25) ) DEALLOCATE( SINE_25) !(dan 0803) !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% end subroutine EXIT_TPCORE_WINDOW !---------------------------------------------------------------------------- subroutine TPCORE_WINDOW( dt, ae, im, jm, km, jfirst, & jlast, ng, mg, & nq, ak, bk, u, v, ps1, ps2, ps, q, & iord, jord, kord, n_adj, & !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !%%% MODIFICATION by Harvard Atmospheric Chemistry Modeling Group !%%% !%%% Added XMASS, YMASS arguments to arg list of TPCORE_FVDAS for PJC/LLNL !%%% pressure fixer (bdf, bmy, 5/7/03) !%%% XMASS, YMASS, & !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% AREA_M2, State_Chm, State_Diag ) !---------------------------------------------------------------------------- ! Uses: USE PhysConstants ! Physical constants g0_100 and AIRMW USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState implicit none ! Input: integer, intent(in):: im ! Global E-W dimension integer, intent(in):: jm ! Global N-S dimension integer, intent(in):: km ! Vertical dimension integer, intent(in):: jfirst ! Local first index for N-S integer, intent(in):: jlast ! Local last index for N-S integer, intent(in):: ng ! Primary ghost region integer, intent(in):: mg ! Secondary ghost region integer, intent(in):: nq ! Ghosted latitudes (3 required by PPM) integer, intent(in):: iord ! E-W transport scheme integer, intent(in):: jord ! N-S transport scheme integer, intent(in):: kord ! Vertical mapping scheme integer, intent(in):: n_adj ! Number of adjustemnt to air_mass_flux ! 0 --> no adjustment ! Recommended values : iord=jord=4, kord=7 ! _ord: !--------------------------------------------------------------------------- ! 1: 1st order upstream scheme ! 2: 2nd order van Leer (full monotonicity constraint; ! see Lin et al 1994, MWR) ! 3: Standard monotonic PPM* (Collela & Woodward 1984) ! 4: New & Improved monotonic PPM ! 5: positive-definite PPM (constraint on the subgrid distribution is ! only strong enough to prevent generation of negative values; ! both overshoots & undershootes are possible). ! 6: un-constrained PPM (nearly diffusion free; faster but ! positivity of the subgrid distribution is not quaranteed. ! 7: Huynh/Van Leer/Lin full monotonicity constraint !--------------------------------------------------------------------------- ! Only kord can be set to 7 to enable the use of Huynh's 2nd monotonicity ! constraint for piece-wise parabolic distribution. ! *PPM: Piece-wise Parabolic Method real, intent(in):: ak(km+1) ! See below real, intent(in):: bk(km+1) ! See below real, intent(in):: u(:,:,:) ! u-wind (m/s) at mid-time-level (t=t+dt/2) real, intent(inout):: v(:,:,:) ! v-wind (m/s) at mid-time-level (t=t+dt/2) !------------------------------------------------------ ! The hybrid ETA-coordinate: ! pressure at layer edges are defined as follows: ! ! p(i,j,k) = ak(k) + bk(k)*ps(i,j) !------------------------------------------------------ ! ak and bk are defined at layer edges. ! ///////////////////////////////// ! / \ ------ Model top P=ak(1) --------- ak(1), bk(1) ! | ! delp(1) | ........... q(i,j,1) ............ ! | ! \ / --------------------------------- ak(2), bk(2) ! ! ! ! / \ --------------------------------- ak(k), bk(k) ! | ! delp(k) | ........... q(i,j,k) ............ ! | ! \ / --------------------------------- ak(k+1), bk(k+1) ! ! ! ! / \ --------------------------------- ak(km), bk(km) ! | ! delp(km) | ........... q(i,j,km) ......... ! | ! \ / -----Earth's surface P=Psfc ------ ak(km+1), bk(km+1) ! ////////////////////////////////// ! Note: surface pressure can be of any unit (e.g., pascal or mb) as long as it is ! consistent with the definition of (ak, bk) defined above ! Winds (u,v), ps, and q are assumed to be defined at the same points. ! The latitudes are given by clat, input to the initialization routine: init_tpcore. real, intent(in):: ps1(im,jfirst:jlast) ! surface pressure at current time real, intent(in):: ps2(im,jfirst:jlast) ! surface pressure at future time=t+dt real, intent(in):: dt ! Transport time step in seconds real, intent(in):: ae ! Earth's radius (m) real, intent(inout):: q(:,:,:,:) ! Tracer "mixing ratios" ! q could easily be re-dimensioned real, intent(out):: ps(im,jfirst:jlast) ! "predicted" surface pressure real delp(im,jfirst:jlast,km) ! Predicted thickness at future time (t=t+dt) real pe(im,km+1,jfirst:jlast) ! Pressure at layer edges (predicted) real fx(im,jfirst:jlast,km) ! E-W air mass flux real va(im,jfirst:jlast,km) ! N-S CFL at cell center (scalar points) !%%% Added XMASS, YMASS for the PJC pressure-fixer (bdf, bmy, 5/7/03) REAL, INTENT(IN) :: XMASS(:,:,:), YMASS(:,:,:) REAL, INTENT(IN) :: AREA_M2(JM) ! box area for mass flux diag ! Chemistry and diagnostic state objects TYPE(ChmState), INTENT(INOUT) :: State_Chm TYPE(DgnState), INTENT(INOUT) :: State_Diag !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !----------------------- ! Ghosted local arrays: !----------------------- real cx(im,jfirst-ng:jlast+ng,km) ! E-W CFL number on C-grid real delp1(im,jfirst-mg:jlast+mg,km) ! Pressure thickness at current time (t) real fy(im,jfirst:jlast+mg,km) ! N-S air mass flux real cy(im,jfirst:jlast+mg,km) ! N-S CFL number on C-grid real psg(im,jfirst-mg:jlast+mg,2) ! Was psm and psn real q2(im,jfirst-ng:jlast+ng) ! local 2D q array logical ffsl(jfirst-ng:jlast+ng,km) ! Flag to compute Integer fluxes ! Local variables: integer i,j,k,iq integer iord_bg ! E-W scheme for background mass flux integer jord_bg ! N-S scheme for background mass flux integer js1gd ! Southern latitude border (1 on SP PE) integer jn1gd ! Northern latitude border (JM on NP PE) integer nx ! Internal E-W OpenMP decomposition integer iv ! Monotonicity constraints for top and bottom ! Binary diagnostics are retired but netcdf needs implementation. ! Comment out for now (ewl, 3/10/22) ! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! !%%% MODIFICATION by Harvard Atmospheric Chemistry Modeling Group ! !%%% ! !%%% Define DTC, QTEMP, TRACE_DIFF for ND26 diagnostic (bdf, bmy, 9/28/04) ! !%%% ! REAL DTC(IM,JM,KM,NQ) ! up/down flux temp array ! REAL QTEMP(IM,JM,KM,NQ) ! up/down flux array ! REAL TRACE_DIFF ! up/down flux variable ! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% parameter (nx = 1) ! Try 2 or 4 if large number of OMP threads ! is to be used js1gd = max(1, jfirst-ng) ! NG latitudes on S (starting at 1) jn1gd = min(jm,jlast+ng) ! NG latitudes on N (ending at jm) ! Eloise Marais questioned why iord_bg and jord_bg are set to 1 instead of ! being set to the iord and jord values from geoschem_config.yml. I looked back ! into the Git history and couldn't find where this change was made, so ! this issue has probably persisted for quite some time. We will set these ! values to iord and jord in an attempt to avoid negative values. ! See Github issue: https://github.com/geoschem/geos-chem/issues/840. ! -- Bob Yantosca (31 Aug 2021) iord_bg = iord jord_bg = jord iv = 1 ! Enforce strong constraint at top & bottom ! May want to change to iv=0 if diffusion is a problem ! iv =0 !(dan.iv 0803) ! iv=-1 !(dan 0803) ! Ensure inputs are single-valued at poles: do j=jfirst,jlast do i=1,im psg(i,j,1) = ps1(i,j) psg(i,j,2) = ps2(i,j) enddo enddo ! if ( jfirst == 1 ) then ! call xpavg(psg(:,1,1), im) ! call xpavg(psg(:,1,2), im) ! endif ! if ( jlast == jm ) then ! call xpavg(psg(:,jm,1), im) ! call xpavg(psg(:,jm,2), im) ! endif #if defined(SPMD) ! Ghost v, psm and psn north/south --> now in one array psg #if defined(PILGRIM) call parbegintransfer(pattern2dmg, km, v, v) call parbegintransfer(pattern2dmg, 2, psg, psg) #else call mp_send3d_ns(im, jm, jfirst, jlast, 1, km, mg, mg, v, 1) call mp_send3d_ns(im, jm, jfirst, jlast, 1, 2, mg, mg, psg, 2) #endif #endif ! Average q at both poles ! do iq=1,nq !!$omp parallel do & !!$omp shared(im) & !!$omp private(k) ! do k=1,km ! if ( jfirst == 1 ) then ! call xpavg(q(:,1,k,iq), im) ! endif ! if ( jlast == jm ) then ! call xpavg(q(:,jm,k,iq), im) ! endif ! enddo ! enddo #if defined(SPMD) #if defined(PILGRIM) call parendtransfer(pattern2dmg, km, v, v) call parendtransfer(pattern2dmg, 2, psg, psg) #else call mp_barrier() call mp_recv3d_ns(im, jm, jfirst, jlast, 1, km, mg, mg, v, 1) call mp_recv3d_ns(im, jm, jfirst, jlast, 1, 2, mg, mg, psg, 2) call mp_barrier() #endif #endif !---------------------------------------------- ! Compute background air mass fluxes !---------------------------------------------- call air_mass_flux(im, jm, km, jfirst, jlast, & iord_bg, jord_bg, ak, bk, & psg, ps, u, v, & cx, cy, va, fx, fy, ng, mg, & ffsl, delp1, delp, pe, dt, & ae, n_adj, & !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !%%% MODIFICATION by Harvard Atmospheric Chemistry Modeling Group !%%% !%%% Added XMASS, YMASS to the arg list of AIR_MASS_FLUX !%%% for the PJC/LLNL pressure-fixer (bdf, bmy, 5/7/03) !%%% XMASS, YMASS ) !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !--------------------------------------------------- ! Do tracer transport !--------------------------------------------------- #if defined(SPMD) ! non-blocking-send for tracer #1 #if defined(PILGRIM) call parbegintransfer(pattern2dng,km,q(:,:,:,1),q(:,:,:,1)) #else call mp_send3d_ns(im, jm, jfirst, jlast, 1, km, ng, ng, & q(1,jfirst-ng,1,1), 1) #endif #endif ! Multi_Tracer: do iq=1,nq #if defined(SPMD) ! Receive current tracer #if defined(PILGRIM) call parendtransfer(pattern2dng,km,q(:,:,:,iq),q(:,:,:,iq)) if (iq < nq) then call parbegintransfer(pattern2dng,km,q(:,:,:,iq+1),q(:,:,:,iq+1)) endif #else call mp_barrier() call mp_recv3d_ns(im, jm, jfirst, jlast, 1, km, ng, ng, & q(1,jfirst-ng,1,iq),iq) call mp_barrier() if ( iq < nq ) then ! non-blocking send for next tracer call mp_send3d_ns(im, jm, jfirst, jlast, 1, km, ng, ng, & q(1,jfirst-ng,1,iq+1),iq+1) endif #endif #endif !$omp parallel do & !$omp default( shared ) & !$omp private( i, j, k, q2 ) ! Vertical_OMP: do k=1,km q2(:,:) = 0.d0 ! Copying q to 2d work array for transport. This allows q to be dimensioned ! differently from the calling routine. do j=js1gd,jn1gd do i=1,im q2(i,j) = q(i,j,k,iq) enddo enddo !--- Previous to (ccc, 9/9/10) ! call tp2g( q2(1,jfirst-ng), va(1,jfirst,k), & ! cx(1,jfirst-ng,k), cy(1,jfirst,k), & ! im, jm, iv, iord, jord, & ! ng, mg, fx(1,jfirst,k), fy(1,jfirst,k), & ! ffsl(jfirst-ng,k), jfirst, jlast, & ! delp1(1,jfirst-mg,k), delp(1,jfirst,k), & ! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! !%%% MODIFICATION by Harvard Atmospheric Chemistry Modeling Group ! !%%% ! !%%% Now pass MASSFLEW, MASSFLNS, AREA_M2, TCVV, ND24, ND25, DT as ! !%%% arguments to routine TP2G for GEOS-CHEM mass flux diagnostics ! !%%% (bdf, bmy, 9/28/04) ! !%%% ! MASSFLEW(1,1,K,IQ), MASSFLNS(1,1,K,IQ), & ! AREA_M2, TCVV(IQ), ND24, ND25, DT ) ! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% call tp2g( q2(1,jfirst-ng), va(1,jfirst,k), & cx(1,jfirst-ng,k), cy(1,jfirst,k), & im, jm, iv, iord, jord, & ng, mg, fx(1,jfirst,k), fy(1,jfirst,k), & ffsl(jfirst-ng,k), jfirst, jlast, & delp1(1,jfirst-mg,k), delp(1,jfirst,k))!, & ! Binary diagnostics are retired but netcdf needs implementation. ! Comment out for now (ewl, 3/10/22) ! AREA_M2, ND24, ND25, DT ) !------------------------------------------------------------------------------ ! Prior to 4/1/15: ! Preserve original code here. Lin Zhang submitted the fix below. ! !do j=jfirst,jlast ! do j=max(jfirst,jord+1),min(jlast,jm-jord+1) ! Lin_20140518 ! do i=1,im ! q(i,j,k,iq) = q2(i,j) ! enddo ! enddo !------------------------------------------------------------------------------ ! NOTE: This fix was submitted by Lin Zhang. Not sure if it supersedes ! the previous code but we'll put it here for now. (bmy, 4/1/15) do j=jfirst+2,jlast-2 ! (lzh, 05/10/2014) do i=3,im-2 q(i,j,k,iq) = q2(i,j) enddo enddo ! enddo Vertical_OMP ! enddo Multi_Tracer enddo enddo !--------------------------------------------------------------- ! Perform Remapping back to the hybrid sigma-pressure coordinate ! Mass will be conserved if predicted ps2 == psn (data/model) !--------------------------------------------------------------- ! Binary diagnostics are retired but netcdf needs implementation. ! Comment out for now (ewl, 3/10/22) !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !%%% MODIFICATION by Harvard Atmospheric Chemistry Modeling Group !%%% !%%% Save tracer values before vertical transport (bdf, bmy, 9/28/04) !%%% ! IF ( ND26 > 0 ) THEN ! QTEMP = Q ! ENDIF !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% call qmap(pe, q, im, jm, km, nx, jfirst, jlast, ng, nq, & ps, ak, bk, kord, iv) ! Binary diagnostics are retired but netcdf needs implementation. ! Comment out for now (ewl, 3/10/22) ! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! !%%% MODIFICATION by Harvard Atmospheric Chemistry Modeling Group ! !%%% ! !%%% Implement ND26 diag: Up/down flux of tracer [kg/s] (bmy, bdf, 9/28/04) ! !%%% ! !%%% The vertical transport done in qmap. We need to find the difference ! !%%% in order to to interpret transport. ! !%%% ! !%%% Break up diagnostic into up & down fluxes using the surface boundary ! !%%% conditions. Start from top down (really surface up for flipped TPCORE) ! !%%% ! IF ( ND26 > 0 ) THEN ! ! !----------------- ! ! start with top ! !----------------- ! K = 1 ! !!$OMP PARALLEL DO & !!$OMP DEFAULT( SHARED ) & !!$OMP PRIVATE( I, J, IQ ) ! DO IQ = 1, NQ ! DO I = 1, IM ! DO J = 1, JM ! ! DTC(I,J,K,IQ) = ( Q(I,J,K,IQ) * DELP1(I,J,K) - & ! QTEMP(I,J,K,IQ) * DELP(I,J,K) ) * & ! AREA_M2(J) * g0_100 ! ! ! top layer should have no residual. the small residual is from ! ! a non-pressure fixed flux diag. The z direction may be off by ! ! a few percent. ! !MASSFLUP(I,J,K,IQ) = MASSFLUP(I,J,K,IQ) + DTC(I,J,K,IQ)/dt ! ENDDO ! ENDDO ! ENDDO !!$OMP END PARALLEL DO ! ! !---------------------------------------------------- ! ! get the other fluxes using a mass balance equation ! !---------------------------------------------------- ! DO K = 2, KM !!$OMP PARALLEL DO & !!$OMP DEFAULT( SHARED ) & !!$OMP PRIVATE( I, J, IQ, TRACE_DIFF ) ! DO IQ = 1, NQ ! DO I = 1, IM ! DO J = 1, JM ! ! TRACE_DIFF = ( Q(I,J,K,IQ) * DELP1(I,J,K) - & ! QTEMP(I,J,K,IQ) * DELP(I,J,K) ) * & ! AREA_M2(J) * g0_100 ! ! DTC(I,J,K,IQ) = DTC(I,J,K-1,IQ) + TRACE_DIFF ! ! ENDDO ! ENDDO ! ENDDO !!$OMP END PARALLEL DO ! ENDDO ! ! ENDIF END subroutine TPCORE_WINDOW subroutine air_mass_flux(im, jm, km, jfirst, jlast, iord, jord, & ak, bk, psg, ps, u, v, cx, cy, va, & fx, fy, ng, mg, ffsl, delp1, delp, & pe, dt, ae, n_adj, & !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !%%% MODIFICATION by Harvard Atmospheric Chemistry Modeling Group !%%% !%%% Added XMASS, YMASS to the arg list of AIR_MASS_FLUX !%%% for the PJC/LLNL pressure-fixer (bdf, bmy, 5/7/03) !%%% XMASS, YMASS ) !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !------------------------------------------------------ ! The hybrid ETA-coordinate: ! pressure at layer edges are defined as follows: ! ! p(i,j,k) = ak(k) + bk(k)*ps(i,j) (1) !------------------------------------------------------ ! Input from Data/Model: ! (u,v) is the time mean wind at Time=t+dt/2 ! delp1 is the layer thickness at Time=t ! Output: ! delp is the predicted thickness at Time=t+dt ! (fx,fy): background air mass flxues ! (cx,cy): CFL number implicit none integer, intent(in):: im integer, intent(in):: jm integer, intent(in):: km integer, intent(in):: jfirst integer, intent(in):: jlast integer, intent(in):: iord integer, intent(in):: jord integer, intent(in):: ng integer, intent(in):: mg integer, intent(in):: n_adj real, intent(in):: dt real, intent(in):: ae real, intent(in):: ak(km+1) real, intent(in):: bk(km+1) real, intent(in):: psg(im,jfirst-mg:jlast+mg,2) ! Was ps1 and ps2 real, intent(in):: u(im,jfirst:jlast,km) real, intent(in):: v(im,jfirst-mg:jlast+mg,km) !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !%%% MODIFICATION by Harvard Atmospheric Chemistry Modeling Group !%%% !%%% Added XMASS, YMASS for PJC/LLNL pressure fixer (bdf, bmy, 5/7/03) !%%% REAL, INTENT(IN) :: XMASS(IM,JM,KM), YMASS(IM,JM,KM) !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! Output: logical,intent(out):: ffsl(jfirst-ng:jlast+ng,km) real, intent(out):: cx(im,jfirst-ng:jlast+ng,km) real, intent(out):: delp (im,jfirst:jlast,km) real, intent(out):: ps(im,jfirst:jlast) real, intent(out):: fx(im,jfirst:jlast,km) real, intent(out):: cy(im,jfirst:jlast+mg,km) real, intent(out):: fy(im,jfirst:jlast+mg,km) real, intent(out):: va(im,jfirst:jlast,km) real, intent(out):: delp1(im,jfirst-mg:jlast+mg,km) real, intent(out):: pe(im,km+1,jfirst:jlast) ! Local: real yms(im,jfirst:jlast+mg,km) real tiny parameter (tiny = 1.e-10) real dak, dbk real dtoa, vt integer i,j,k integer js2g0 integer jn2g0 integer jn1g1 integer js2gd, jn2gd !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !%%% MODIFICATION by Harvard Atmospheric Chemistry Modeling Group !%%% !%%% Declare extra variables PJC/LLNL pressure fixer (bdf, bmy, 5/7/03) !%%% REAL :: DELPM(IM,JM,KM), FACTY, UT !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% js2g0 = max(2,jfirst) ! No ghosting jn2g0 = min(jm-1,jlast) ! No ghosting jn1g1 = min(jm,jlast+1) ! Ghost 1 on N js2gd = max(2, jfirst-ng) ! NG latitudes on S (starting at 1) jn2gd = min(jm-1,jlast+ng) ! NG latitudes on N (ending at jm-1) dtoa = .5*dt/ae cx(:,:,:)=0D0 cy(:,:,:)=0D0 fx(:,:,:)=0D0 fy(:,:,:)=0D0 delp(:,:,:)=0D0 ps(:,:)=0D0 va(:,:,:)=0D0 delp1(:,:,:)=0D0 pe(:,:,:)=0D0 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !%%% MODIFICATION by Harvard Atmospheric Chemistry Modeling Group !%%% !%%% Define DELPM for PJC pressure fixer (bdf, bmy, 5/7/03) !%%% DO K = 1, KM DO J = 1, JM DO I = 1, IM DELPM(I,J,K) = ( AK(K+1) - AK(K) ) + & ( BK(K+1) - BK(K) ) * & ( 0.5d0 * ( PSG(I,J,1) + PSG(I,J,2 ) + 2d0 * AK(1) ) ) ENDDO ENDDO ENDDO !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !%%% MODIFICATION by Harvard Atmospheric Chemistry Modeling Group !%%% !%%% Added for PJC/LLNL pressure-fixer (bdf, bmy, 5/7/03) !%%% Note that DTDY5 is the same everywhere except at the poles, so !%%% we can just pick a value roughly close to the equator !%%% FACTY = DTDY5(JM/2) !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !$omp parallel do private(i, j, k, vt, UT ) do k=1,km do j=js2g0, jn1g1 do i=1,im !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !%%% MODIFICATION by Harvard Atmospheric Chemistry Modeling Group !%%% !%%% Change calculation of VT for PJC pressure fixer (bdf, bmy, 5/7/03) !%%% VT = YMASS(I,J,K) / FACTY / COSE(J) / DELPM(I,J,K) + & V(I,J-1,K) * ( 1d0 - DELPM(I,J-1,K) / DELPM(I,J,K) ) !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% if ( vt > 0. ) then cy(i,j,k) = dtdy5(j-1)*vt else cy(i,j,k) = dtdy5(j)*vt endif yms(i,j,k) = dtoa*vt*cose(j) enddo enddo do j=js2g0,jn2g0 do i=1,im if( cy(i,j,k)*cy(i,j+1,k) > 0. ) then if( cy(i,j,k) > 0. ) then va(i,j,k) = cy(i,j,k) else va(i,j,k) = cy(i,j+1,k) endif else va(i,j,k) = 0. endif enddo enddo !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !%%% MODIFICATION by Harvard Atmospheric Chemistry Modeling Group !%%% !%%% Removed this section for PJC pressure fixer (bdf, bmy, 5/7/03) !%%% do j=js2g0,jn2g0 !%%% cx(1,j,k) = dtdx5(j)*(u(1,j,k)+u(im,j,k)) !%%% do i=2,im !%%% cx(i,j,k) = dtdx5(j)*(u(i,j,k)+u(i-1,j,k)) !%%% enddo !%%% enddo !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !%%% MODIFICATION by Harvard Atmospheric Chemistry Modeling Group !%%% !%%% Added this section for PJC pressure fixer (bdf, bmy, 5/7/03) !%%% DO J = JS2G0, JN2G0 UT = XMASS(1,J,K) / DTDX5(J) / DELPM(1,J,K) + & U(IM,J,K) * ( 1d0 - DELPM(IM,J,K) / DELPM(1,J,K) ) CX(1,J,K) = DTDX5(J) * UT DO I = 2, IM UT = XMASS(I,J,K) / DTDX5(J) / DELPM(I,J,K) + & U(I-1,J,K) * ( 1d0 - DELPM(I-1,J,K) / DELPM(I,J,K) ) CX(I,J,K) = DTDX5(J) * UT ENDDO ENDDO !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% enddo #if defined(SPMD) ! No buffer version (km calls to mpi_sendrecv) #if defined(PILGRIM) call parbegintransfer(pattern2dng, km, cx, cx) call parendtransfer(pattern2dng, km, cx, cx) #else call mp_send3d_ns(im, jm, jfirst, jlast, 1, km, ng, ng, cx, 3) call mp_barrier() call mp_recv3d_ns(im, jm, jfirst, jlast, 1, km, ng, ng, cx, 3) call mp_barrier() #endif #endif !--------------------------------------------------- ! Compute background mass-flux (fx, fy) and (cx, cy) !--------------------------------------------------- !$omp parallel do & !$omp shared(im,jm,iord,jord,mg,jfirst,jlast) & !$omp private(i, j, k, dak, dbk) do k=1,km do j=js2gd,jn2gd ! ffsl needed on N*ng S*ng ffsl(j,k) = .false. do i=1,im if( abs(cx(i,j,k)) > 1. ) then ffsl(j,k) = .true. go to 2222 endif enddo 2222 continue enddo dak = ak(k+1) - ak(k) dbk = bk(k+1) - bk(k) do j=max(1,jfirst-mg),min(jm,jlast+mg) do i=1,im delp1(i,j,k) = dak + dbk*psg(i,j,1) enddo enddo call tp2d(va(1,jfirst,k), delp1(1,jfirst-mg,k), cx(1,jfirst-mg,k), & cy(1,jfirst,k), im, jm, iord, jord, mg, mg, & fx(1,jfirst,k), fy(1,jfirst,k), ffsl(jfirst-mg,k), & cx(1,jfirst,k), yms(1,jfirst,k), 0, jfirst, jlast) !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !%%% MODIFICATION by Harvard Atmospheric Chemistry Modeling Group !%%% !%%% Fix mass fluxes in regions not over the courant limit (bdf, bmy, 5/7/03) !%%% DO J = 4, JM-4 FX(:,J,K) = XMASS(:,J,K) FY(:,J,K) = YMASS(:,J,K) * DLAT(J) ENDDO !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% do j=js2g0,jn2g0 do i=1,im-1 delp(i,j,k) = delp1(i,j,k) + fx(i,j,k) - fx(i+1,j,k) + & (fy(i,j,k)-fy(i,j+1,k))*rgw(j) enddo delp(im,j,k) = delp1(im,j,k) + fx(im,j,k) - fx(1,j,k) + & (fy(im,j,k)-fy(im,j+1,k))*rgw(j) enddo if ( jfirst == 1 ) then do i=1,im delp(i,1,k) = delp1(i,1,k) - fy(i,2,k)*rgw(1) enddo ! call xpavg(delp(:,1,k), im) endif if ( jlast == jm ) then do i=1,im delp(i,jm,k) = delp1(i,jm,k) + fy(i,jm,k)*rgw(jm) enddo ! call xpavg(delp(:,jm,k), im) endif if ( n_adj == 0 ) then do j=js2g0,jn2g0 if( ffsl(j,k) ) then do i=1,im fx(i,j,k) = fx(i,j,k)/sign(max(abs(cx(i,j,k)),tiny),cx(i,j,k)) enddo endif enddo endif enddo !-------------- ! Compute ps: !-------------- !$omp parallel do private(i, j, k) do j=jfirst,jlast do i=1,im pe(i,1,j) = ak(1) enddo do k=1,km do i=1,im pe(i,k+1,j) = pe(i,k,j) + delp(i,j,k) enddo enddo do i=1,im ps(i,j) = pe(i,km+1,j) enddo enddo !-------------------------------------------------------------- ! Apply mass_flux adjuster to nudge predicted ps towards "data" !-------------------------------------------------------------- if ( n_adj > 0 ) then call adj_fx(im, jm, km, jfirst, jlast, ak, bk, ffsl, & ps, psg(:,:,2), pe, delp, fx, cx, fy, ng, mg, & tiny, n_adj) endif end subroutine air_mass_flux subroutine tp2g(h, va, crx, cry, im, jm, iv, & iord, jord, ng, mg, xfx, yfx, ffsl, & jfirst, jlast, dp, dpp ) ! Uses: USE PhysConstants ! Physical constants g0_100 implicit none ! !INPUT PARAMETERS: integer, intent(in):: im, jm ! Dimensions integer, intent(in):: jfirst, jlast ! Latitude strip integer, intent(in):: iv ! iv=-1 --> vector integer, intent(in):: iord, jord ! Interpolation order in x,y integer, intent(in):: ng ! Max. NS dependencies integer, intent(in):: mg ! Secondary ghosting zones logical, intent(in):: ffsl(jfirst-ng:jlast+ng) ! Use flux-form semi-Lagrangian trans.? real, intent(in):: va(im,jfirst:jlast) ! CFL in y at cell center real, intent(in):: dp(im,jfirst-mg:jlast+mg) real, intent(in):: dpp(im,jfirst:jlast) real, intent(in):: crx(im,jfirst-ng:jlast+ng) ! ( N*NG S*NG ) real, intent(in):: cry(im,jfirst:jlast+mg) ! ( N like FY ) real, intent(in):: xfx(im,jfirst:jlast) ! x-mass flux real, intent(in):: yfx(im,jfirst:jlast+mg) ! y-mass flux real, intent(inout) :: h(im,jfirst-ng:jlast+ng) ! Binary diagnostics are retired but netcdf needs implementation. ! Comment out for now (ewl, 3/10/22) ! REAL, INTENT(IN) :: AREA_M2(JM) ! Grid bos surface area [m2] ! INTEGER, INTENT(IN) :: ND24 ! flux diag ! INTEGER, INTENT(IN) :: ND25 ! flux diag ! REAL, INTENT(IN) :: DT ! time step for flux diagnostic ! Local real fx(im,jfirst:jlast) ! tracer flux in x ( unghosted ) real fy(im,jfirst:jlast+mg) ! tracer flux in y ( N, see tp2c ) integer i, j, js2g0, jn2g0 real sum1, DTC js2g0 = max(2,jfirst) ! No ghosting jn2g0 = min(jm-1,jlast) ! No ghosting call tp2d(va, h(1,jfirst-ng), crx(1,jfirst-ng), cry, im, jm, & iord, jord, ng, mg, fx, fy, ffsl(jfirst-ng), & xfx, yfx, 1, jfirst, jlast) !------------------------------------------------------------------------------ ! Prior to 4/1/15: ! Don't treat edges (Lin Zhang, 4/1/15) ! do j=js2g0,jn2g0 ! do i=1,im-1 ! h(i,j) = h(i,j)*dp(i,j) + fx(i,j)-fx(i+1,j)+(fy(i,j)-fy(i,j+1))*rgw(j) ! enddo ! enddo ! ! do j=js2g0,jn2g0 ! h(im,j) = h(im,j)*dp(im,j) + fx(im,j)-fx(1,j)+(fy(im,j)-fy(im,j+1))*rgw(j) ! enddo !------------------------------------------------------------------------------ do j=js2g0,jn2g0 do i=2,im-1 h(i,j) = h(i,j)*dp(i,j) + fx(i,j)-fx(i+1,j)+(fy(i,j)-fy(i,j+1))*rgw(j) enddo enddo ! Poles if ( jfirst == 1 ) then do i=1,im h(i,1) = h(i,1)*dp(i,1) - fy(i,2)*rgw(1) enddo ! call xpavg(h(:, 1), im) endif if ( jlast == jm ) then do i=1,im h(i,jm) = h(i,jm)*dp(i,jm) + fy(i,jm)*rgw(jm) enddo ! call xpavg(h(:,jm), im) endif ! Binary diagnostics are retired but netcdf needs implementation. ! Comment out for now (ewl, 3/10/22) ! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! !%%% MODIFICATION by Harvard Atmospheric Chemistry Modeling Group ! !%%% ! !%%% Implement ND24 diag: E/W flux of tracer [kg/s] (bmy, bdf, 9/28/04) ! !%%% ! !%%% (1) H is in units of mixing ratio (input as Q) ! !%%% (2) Unit conversion needs multiply from mixing ! !%%% (airmass/tracer mass)/timestep to get into kg/s ! !%%% (3) DP is current pressure thickness ! !%%% ! IF ( ND24 > 0 ) THEN ! DO J = JS2G0, JN2G0 ! ! DO I = 1, IM-1 ! ! DTC = FX(I,J) * AREA_M2(J) * g0_100 / DT ! ! ENDDO ! ! DTC = FX(IM,J) * AREA_M2(J) * g0_100 / DT ! ! ENDDO ! ENDIF ! ! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! !%%% MODIFICATION by Harvard Atmospheric Chemistry Modeling Group ! !%%% ! !%%% Implement ND25 diag: N/S flux of tracer [kg/s] (bdf, bmy, 9/28/04) ! !%%% Now multiply fluxes by latitude factor RGW_25 (bdf, bmy, 10/29/04) ! !%%% ! IF ( ND25 > 0 ) THEN ! DO J = JS2G0, JN2G0 ! DO I = 1, IM ! ! DTC = FY(I,J) * RGW_25(J) * AREA_M2(J) * g0_100 / DT ! ! ENDDO ! ENDDO ! ! ! South Pole ! IF ( JFIRST == 1 ) THEN ! DO I = 1, IM ! ! DTC = -FY(I,2) * RGW_25(1) * AREA_M2(1) * g0_100 / DT ! ! ENDDO ! ENDIF ! ! ! North Pole ! IF ( JLAST == JM ) THEN ! DO I = 1, IM ! ! DTC = FY(I,JM) * RGW_25(JM) * AREA_M2(JM) * g0_100 / DT ! ! ENDDO ! ENDIF ! ENDIF ! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !------------------------------------------------------------------- ! Apply a simple nearest neighbor flux correction to reduce negatives !------------------------------------------------------------------- if ( iv /= -1 ) then call fct_x(h, im, jm, jfirst, jlast, ng, i) endif do j=jfirst,jlast do i=1,im h(i,j) = h(i,j) / dpp(i,j) enddo enddo end subroutine tp2g subroutine tp2d(va, q, crx, cry, im, jm, iord, jord, ng, mg, fx, fy, & ffsl, xfx, yfx, id, jfirst, jlast) implicit none ! !INPUT PARAMETERS: integer, intent(in):: im, jm ! Dimensions integer, intent(in):: jfirst, jlast ! Latitude strip integer iord, jord ! Interpolation order in x,y integer ng ! Max. NS dependencies integer mg ! integer id ! density (0) (mfx = C) ! mixing ratio (1) (mfx = mass flux) logical ffsl(jfirst-ng:jlast+ng) ! Use flux-form semi-Lagrangian trans.? ! ghosted N*ng S*ng real va(im,jfirst:jlast) ! Courant (unghosted) real q(im,jfirst-ng:jlast+ng) ! transported scalar ( N*NG S*NG ) real crx(im,jfirst-ng:jlast+ng) ! Ask S.-J. ( N*NG S*NG ) real cry(im,jfirst:jlast+mg) ! Ask S.-J. ( N like FY ) real xfx(im,jfirst:jlast) ! Ask S.-J. ( unghosted like FX ) real yfx(im,jfirst:jlast+mg) ! Ask S.-J. ( N like FY ) ! !OUTPUT PARAMETERS: real fx(im,jfirst:jlast) ! Flux in x ( unghosted ) real fy(im,jfirst:jlast+mg) ! Flux in y ( N, see tp2c ) ! Local: integer i, j, iad, jp, js2g0, js2gng, jn2g0, jn2gng real adx(im,jfirst-ng:jlast+ng) real wk1(im) real dm(-im/3:im+im/3) real qtmp(-im/3:im+im/3) real al(-im/3:im+im/3) real ar(-im/3:im+im/3) real a6(-im/3:im+im/3) ! Number of ghost latitudes js2g0 = max(2,jfirst) ! No ghosting jn2g0 = min(jm-1,jlast) ! No ghosting js2gng = max(2,jfirst-ng) ! Number needed on S jn2gng = min(jm-1,jlast+ng) ! Number needed on N iad = 1 do j=js2gng,jn2gng ! adx needed on N*ng S*ng call xtp(im, ffsl(j), wk1, q(1,j), & crx(1,j), iad, crx(1,j), cosp(j), 0, & dm, qtmp, al, ar, a6) do i=1,im-1 adx(i,j) = q(i,j) + 0.5 * & (wk1(i)-wk1(i+1) + q(i,j)*(crx(i+1,j)-crx(i,j))) enddo adx(im,j) = q(im,j) + 0.5 * & (wk1(im)-wk1(1) + q(im,j)*(crx(1,j)-crx(im,j))) enddo if ( jfirst == 1 ) then do i=1,im adx(i, 1) = q(i,1) enddo endif if ( jlast == jm ) then do i=1,im adx(i,jm) = q(i,jm) enddo endif call ytp(im,jm,fy, adx,cry,yfx,ng,mg,jord,0,jfirst,jlast) do j=js2g0,jn2g0 do i=1,im jp = j-va(i,j) wk1(i) = q(i,j) +0.5*va(i,j)*(q(i,jp)-q(i,jp+1)) enddo call xtp(im, ffsl(j), fx(1,j), wk1, & crx(1,j), iord, xfx(1,j), cosp(j), id, & dm, qtmp, al, ar, a6) enddo end subroutine tp2d subroutine xtp(im, ffsl, fx, q, c, iord, mfx, & cosa, id, dm, qtmp, al, ar, a6) implicit none ! !INPUT PARAMETERS: integer id ! ID = 0: density (mfx = C) ! ID = 1: mixing ratio (mfx is mass flux) integer im ! Total longitudes real c(im) ! Courant numbers real q(im) real mfx(im) logical ffsl integer iord real cosa ! !INPUT/OUTPUT PARAMETERS: real qtmp(-im/3:im+im/3) ! Input work arrays: real dm(-im/3:im+im/3) real al(-im/3:im+im/3) real ar(-im/3:im+im/3) real a6(-im/3:im+im/3) ! !OUTPUT PARAMETERS: real fx(im) ! Local: real cos_upw !critical cosine for upwind real cos_van !critical cosine for van Leer real cos_ppm !critical cosine for ppm parameter (cos_upw = 0.05) !roughly at 87 deg. parameter (cos_van = 0.25) !roughly at 75 deg. parameter (cos_ppm = 0.25) integer i, imp real qmax, qmin real rut, tmp integer iu, itmp, ist integer isave(im) integer iuw, iue imp = im + 1 do i=1,im qtmp(i) = q(i) enddo if( ffsl ) then ! Figure out ghost zone for the western edge: iuw = -c(1) iuw = min(0, iuw) do i=iuw, 0 qtmp(i) = q(im+i) enddo ! Figure out ghost zone for the eastern edge: iue = im - c(im) iue = max(imp, iue) do i=imp, iue qtmp(i) = q(i-im) enddo if( iord == 1 .or. cosa < cos_upw) then do i=1,im iu = c(i) if(c(i) <= 0.) then itmp = i - iu isave(i) = itmp - 1 else itmp = i - iu - 1 isave(i) = itmp + 1 endif fx(i) = (c(i)-iu) * qtmp(itmp) enddo else do i=1,im ! 2nd order slope tmp = 0.25*(qtmp(i+1) - qtmp(i-1)) qmax = max(qtmp(i-1), qtmp(i), qtmp(i+1)) - qtmp(i) qmin = qtmp(i) - min(qtmp(i-1), qtmp(i), qtmp(i+1)) dm(i) = sign(min(abs(tmp),qmax,qmin), tmp) enddo do i=iuw, 0 dm(i) = dm(im+i) enddo do i=imp, iue dm(i) = dm(i-im) enddo if(iord >= 3 .and. cosa > cos_ppm) then call fxppm(im, c, mfx, qtmp, dm, fx, iord, al, ar, a6, & iuw, iue, ffsl, isave) else do i=1,im iu = c(i) rut = c(i) - iu if(c(i) .le. 0.) then itmp = i - iu isave(i) = itmp - 1 fx(i) = rut*(qtmp(itmp)-dm(itmp)*(1.+rut)) else itmp = i - iu - 1 isave(i) = itmp + 1 fx(i) = rut*(qtmp(itmp)+dm(itmp)*(1.-rut)) endif enddo endif endif do i=1,im if(c(i) >= 1.) then do ist = isave(i),i-1 fx(i) = fx(i) + qtmp(ist) enddo elseif(c(i) <= -1.) then do ist = i,isave(i) fx(i) = fx(i) - qtmp(ist) enddo endif enddo if(id .ne. 0) then do i=1,im fx(i) = fx(i)*mfx(i) enddo endif else ! Regular PPM (Eulerian without FFSL extension) qtmp(imp) = q(1) qtmp( 0) = q(im) if(iord == 1 .or. cosa < cos_upw) then do i=1,im iu = float(i) - c(i) fx(i) = mfx(i)*qtmp(iu) enddo else qtmp(-1) = q(im-1) qtmp(imp+1) = q(2) if(iord > 0 .or. cosa < cos_van) then call xmist(im, qtmp, dm, 2) else call xmist(im, qtmp, dm, iord) endif dm(0) = dm(im) if( abs(iord) ==2 .or. cosa < cos_van ) then do i=1,im iu = float(i) - c(i) fx(i) = mfx(i)*(qtmp(iu)+dm(iu)*(sign(1.,c(i))-c(i))) enddo else call fxppm(im, c, mfx, qtmp, dm, fx, iord, al, ar, a6, & iuw, iue, ffsl, isave) endif endif endif end subroutine xtp subroutine xmist(im, q, dm, id) implicit none ! !INPUT PARAMETERS: integer, intent(in):: im ! Total number of longitudes integer, intent(in):: id ! ID = 0: density (mfx = C) ! ID = 1: mixing ratio (mfx is mass flux) real, intent(in):: q(-im/3:im+im/3) ! scalar field ! !OUTPUT PARAMETERS: real, intent(out):: dm(-im/3:im+im/3) ! ! Local real r24 parameter( r24 = 1./24.) integer i real qmin, qmax if(id <= 2) then do i=1,im dm(i) = r24*(8.*(q(i+1) - q(i-1)) + q(i-2) - q(i+2)) enddo else do i=1,im dm(i) = 0.25*(q(i+1) - q(i-1)) enddo endif if( id < 0 ) return ! Apply monotonicity constraint (Lin et al. 1994, MWR) do i=1,im qmax = max( q(i-1), q(i), q(i+1) ) - q(i) qmin = q(i) - min( q(i-1), q(i), q(i+1) ) dm(i) = sign( min(abs(dm(i)), qmax, qmin), dm(i) ) enddo end subroutine xmist subroutine fxppm(im, c, mfx, p, dm, fx, iord, al, ar, a6, & iuw, iue, ffsl, isave) implicit none ! !INPUT PARAMETERS: integer, intent(in):: im, iord integer, intent(in):: iuw, iue logical, intent(in):: ffsl real, intent(in):: c(im) real, intent(in):: p(-im/3:im+im/3) real, intent(in):: dm(-im/3:im+im/3) real, intent(in):: mfx(im) ! !INPUT/OUTPUT PARAMETERS: integer, intent(inout):: isave(im) real, intent(out):: fx(im) real, intent(out):: al(-im/3:im+im/3) real, intent(out):: ar(-im/3:im+im/3) real, intent(out):: a6(-im/3:im+im/3) ! LOCAL VARIABLES: real r3, r23 parameter ( r3 = 1./3., r23 = 2./3. ) integer i, lmt integer iu, itmp real ru do i=1,im al(i) = 0.5*(p(i-1)+p(i)) + (dm(i-1) - dm(i))*r3 enddo do i=1,im-1 ar(i) = al(i+1) enddo ar(im) = al(1) if(iord == 7) then call huynh(im, ar(1), al(1), p(1), a6(1), dm(1)) else if(iord == 3 .or. iord == 5) then do i=1,im a6(i) = 3.*(p(i)+p(i) - (al(i)+ar(i))) enddo endif lmt = iord - 3 call lmppm( dm(1), a6(1), ar(1), al(1), p(1), im, lmt ) endif if( ffsl ) then do i=iuw, 0 al(i) = al(im+i) ar(i) = ar(im+i) a6(i) = a6(im+i) enddo do i=im+1, iue al(i) = al(i-im) ar(i) = ar(i-im) a6(i) = a6(i-im) enddo do i=1,im iu = c(i) ru = c(i) - iu if(c(i) > 0.) then itmp = i - iu - 1 isave(i) = itmp + 1 fx(i) = ru*(ar(itmp)+0.5*ru*(al(itmp)-ar(itmp) + & a6(itmp)*(1.-r23*ru)) ) else itmp = i - iu isave(i) = itmp - 1 fx(i) = ru*(al(itmp)-0.5*ru*(ar(itmp)-al(itmp) + & a6(itmp)*(1.+r23*ru)) ) endif enddo else al(0) = al(im) ar(0) = ar(im) a6(0) = a6(im) do i=1,im if(c(i) > 0.) then fx(i) = ar(i-1) + 0.5*c(i)*(al(i-1) - ar(i-1) + & a6(i-1)*(1.-r23*c(i)) ) else fx(i) = al(i) - 0.5*c(i)*(ar(i) - al(i) + & a6(i)*(1.+r23*c(i))) endif fx(i) = mfx(i) * fx(i) enddo endif end subroutine fxppm subroutine lmppm(dm, a6, ar, al, p, im, lmt) implicit none ! !INPUT PARAMETERS: integer, intent(in):: im ! Total longitudes integer, intent(in):: lmt ! LMT = 0: full monotonicity ! LMT = 1: Improved and simplified full monotonic constraint ! LMT = 2: positive-definite constraint ! LMT = 3: Quasi-monotone constraint real, intent(in):: p(im) real, intent(in):: dm(im) real, intent(inout):: a6(im) real, intent(inout):: ar(im) real, intent(inout):: al(im) ! !LOCAL VARIABLES: real r12 parameter ( r12 = 1./12. ) real da1, da2, fmin, a6da real dr, dl integer i ! LMT = 0: full monotonicity ! LMT = 1: Improved and simplified full monotonic constraint ! LMT = 2: positive-definite constraint ! LMT = 3: Quasi-monotone constraint if( lmt == 0 ) then ! Full constraint do i=1,im if(dm(i) == 0.) then ar(i) = p(i) al(i) = p(i) a6(i) = 0. else da1 = ar(i) - al(i) da2 = da1**2 a6da = a6(i)*da1 if(a6da < -da2) then a6(i) = 3.*(al(i)-p(i)) ar(i) = al(i) - a6(i) elseif(a6da > da2) then a6(i) = 3.*(ar(i)-p(i)) al(i) = ar(i) - a6(i) endif endif enddo elseif( lmt == 1 ) then ! Improved (Lin 200?) full constraint do i=1,im da1 = dm(i) + dm(i) dl = sign(min(abs(da1),abs(al(i)-p(i))), da1) dr = sign(min(abs(da1),abs(ar(i)-p(i))), da1) ar(i) = p(i) + dr al(i) = p(i) - dl a6(i) = 3.*(dl-dr) enddo elseif( lmt == 2 ) then ! Positive definite only constraint do 250 i=1,im if(abs(ar(i)-al(i)) .ge. -a6(i)) go to 250 fmin = p(i) + 0.25*(ar(i)-al(i))**2/a6(i) + a6(i)*r12 if(fmin.ge.0.) go to 250 if(p(i) < ar(i) .and. p(i) < al(i)) then ar(i) = p(i) al(i) = p(i) a6(i) = 0. elseif(ar(i) > al(i)) then a6(i) = 3.*(al(i)-p(i)) ar(i) = al(i) - a6(i) else a6(i) = 3.*(ar(i)-p(i)) al(i) = ar(i) - a6(i) endif 250 continue elseif(lmt == 3) then ! Quasi-monotone constraint do i=1,im da1 = 4.*dm(i) dl = sign(min(abs(da1),abs(al(i)-p(i))), da1) dr = sign(min(abs(da1),abs(ar(i)-p(i))), da1) ar(i) = p(i) + dr al(i) = p(i) - dl a6(i) = 3.*(dl-dr) enddo endif end subroutine lmppm subroutine huynh(im, ar, al, p, d2, d1) implicit none ! !INPUT PARAMETERS: integer im real p(im) ! !OUTPUT PARAMETERS: real ar(im) real al(im) real d2(im) real d1(im) ! !LOCAL VARIABLES: integer i real pmp real lac real pmin real pmax ! Compute d1 and d2 d1(1) = p(1) - p(im) do i=2,im d1(i) = p(i) - p(i-1) enddo do i=1,im-1 d2(i) = d1(i+1) - d1(i) enddo d2(im) = d1(1) - d1(im) ! Constraint for AR ! i = 1 pmp = p(1) + 2.0 * d1(1) lac = p(1) + 0.5 * (d1(1)+d2(im)) + d2(im) pmin = min(p(1), pmp, lac) pmax = max(p(1), pmp, lac) ar(1) = min(pmax, max(ar(1), pmin)) do i=2, im pmp = p(i) + 2.0*d1(i) lac = p(i) + 0.5*(d1(i)+d2(i-1)) + d2(i-1) pmin = min(p(i), pmp, lac) pmax = max(p(i), pmp, lac) ar(i) = min(pmax, max(ar(i), pmin)) enddo ! Constraint for AL do i=1, im-1 pmp = p(i) - 2.0*d1(i+1) lac = p(i) + 0.5*(d2(i+1)-d1(i+1)) + d2(i+1) pmin = min(p(i), pmp, lac) pmax = max(p(i), pmp, lac) al(i) = min(pmax, max(al(i), pmin)) enddo ! i=im i = im pmp = p(im) - 2.0*d1(1) lac = p(im) + 0.5*(d2(1)-d1(1)) + d2(1) pmin = min(p(im), pmp, lac) pmax = max(p(im), pmp, lac) al(im) = min(pmax, max(al(im), pmin)) ! compute A6 (d2) do i=1, im d2(i) = 3.*(p(i)+p(i) - (al(i)+ar(i))) enddo end subroutine huynh subroutine ytp(im, jm, fy, q, c, yfx, ng, mg, jord, iv, jfirst, jlast) implicit none ! !INPUT PARAMETERS: integer im, jm ! Dimensions integer jfirst, jlast ! Latitude strip integer ng ! Max. NS dependencies integer mg ! integer jord ! order of subgrid dist integer iv ! Scalar=0, Vector=1 real q(im,jfirst-ng:jlast+ng) ! advected scalar N*jord S*jord real c(im,jfirst:jlast+mg) ! Courant N (like FY) real yfx(im,jfirst:jlast+mg) ! Backgrond mass flux ! !OUTPUT PARAMETERS: real fy(im,jfirst:jlast+mg) ! Flux N (see tp2c) ! !LOCAL VARIABLES: integer i, j, jt integer js2g0, jn1g1 ! work arrays (should pass in eventually for performance enhancement): real dm(im,jfirst-ng:jlast+ng) ! real ar(im,jfirst-1:jlast+1) ! AR needs to be ghosted on NS ! real al(im,jfirst-1:jlast+2) ! AL needs to be ghosted on N2S ! real a6(im,jfirst-1:jlast+1) ! A6 needs to be ghosted on NS js2g0 = max(2,jfirst) ! No ghosting jn1g1 = min(jm,jlast+1) ! Ghost N*1 if(jord == 1) then do j=js2g0,jn1g1 do i=1,im jt = float(j) - c(i,j) fy(i,j) = q(i,jt) enddo enddo else ! ! YMIST requires q on NS; Only call to YMIST here ! call ymist(im, jm, q, dm, ng, jord, iv, jfirst, jlast) if( abs(jord) .ge. 3 ) then call fyppm(c,q,dm,fy,im,jm,ng,mg,jord,iv,jfirst,jlast) else ! ! JORD can either have the value 2 or -2 at this point ! do j=js2g0,jn1g1 do i=1,im jt = float(j) - c(i,j) fy(i,j) = q(i,jt) + (sign(1.,c(i,j))-c(i,j))*dm(i,jt) enddo enddo endif endif do j=js2g0,jn1g1 do i=1,im fy(i,j) = fy(i,j)*yfx(i,j) enddo enddo end subroutine ytp subroutine ymist(im, jm, q, dm, ng, jord, iv, jfirst, jlast) implicit none ! !INPUT PARAMETERS: integer im, jm ! Dimensions integer jfirst, jlast ! Latitude strip integer ng ! NS dependencies integer jord ! order of subgrid distribution integer iv ! Scalar (==0) Vector (==1) real q(im,jfirst-ng:jlast+ng) ! transported scalar N*ng S*ng ! !OUTPUT PARAMETERS: real dm(im,jfirst-ng:jlast+ng) ! Slope only N*(ng-1) S*(ng-1) used ! Local variables integer i, j, jm1, im2, js2gng1, jn2gng1 real qmax, qmin, tmp js2gng1 = max(2, jfirst-ng+1) ! Number needed on S jn2gng1 = min(jm-1,jlast+ng-1) ! Number needed on N jm1 = jm - 1 im2 = im / 2 do j=js2gng1,jn2gng1 do i=1,im dm(i,j) = 0.25*(q(i,j+1) - q(i,j-1)) enddo enddo if( iv == 0 ) then if ( jfirst == 1 ) then ! S pole do i=1,im2 tmp = 0.25*(q(i,2)-q(i+im2,2)) qmax = max(q(i,2),q(i,1), q(i+im2,2)) - q(i,1) qmin = q(i,1) - min(q(i,2),q(i,1), q(i+im2,2)) dm(i,1) = sign(min(abs(tmp),qmax,qmin),tmp) enddo do i=im2+1,im dm(i, 1) = - dm(i-im2, 1) enddo endif if ( jlast == jm ) then ! N pole do i=1,im2 tmp = 0.25*(q(i+im2,jm1)-q(i,jm1)) qmax = max(q(i+im2,jm1),q(i,jm), q(i,jm1)) - q(i,jm) qmin = q(i,jm) - min(q(i+im2,jm1),q(i,jm), q(i,jm1)) dm(i,jm) = sign(min(abs(tmp),qmax,qmin),tmp) enddo do i=im2+1,im dm(i,jm) = - dm(i-im2,jm) enddo endif else if ( jfirst == 1 ) then ! South do i=1,im2 tmp = 0.25*(q(i,2)+q(i+im2,2)) qmax = max(q(i,2),q(i,1), -q(i+im2,2)) - q(i,1) qmin = q(i,1) - min(q(i,2),q(i,1),-q(i+im2,2)) dm(i,1) = sign(min(abs(tmp),qmax,qmin),tmp) enddo do i=im2+1,im dm(i, 1) = dm(i-im2, 1) enddo endif if ( jlast == jm ) then ! North do i=1,im2 tmp = -0.25*(q(i+im2,jm1)+q(i,jm1)) qmax = max(-q(i+im2,jm1),q(i,jm), q(i,jm1)) - q(i,jm) qmin = q(i,jm) - min(-q(i+im2,jm1),q(i,jm), q(i,jm1)) dm(i,jm) = sign(min(abs(tmp),qmax,qmin),tmp) enddo do i=im2+1,im dm(i,jm) = dm(i-im2,jm) enddo endif endif if( jord > 0 ) then ! ! Applies monotonic slope constraint (off if jord less than zero) ! do j=js2gng1,jn2gng1 do i=1,im qmax = max(q(i,j-1),q(i,j),q(i,j+1)) - q(i,j) qmin = q(i,j) - min(q(i,j-1),q(i,j),q(i,j+1)) dm(i,j) = sign(min(abs(dm(i,j)),qmin,qmax),dm(i,j)) enddo enddo endif end subroutine ymist subroutine fyppm(c, q, dm, flux, im, jm, ng,mg, jord, iv, jfirst, jlast) implicit none ! !INPUT PARAMETERS: integer im, jm ! Dimensions integer jfirst, jlast ! Latitude strip integer ng ! Max. NS dependencies integer mg ! integer jord ! Approximation order integer iv ! Scalar=0, Vector=1 real q(im,jfirst-ng:jlast+ng) ! mean value needed only N*2 S*2 real dm(im,jfirst-ng:jlast+ng) ! Slope needed only N*2 S*2 real c(im,jfirst:jlast+mg) ! Courant N (like FLUX) ! !INPUT/OUTPUT PARAMETERS: real ar(im,jfirst-1:jlast+1) ! AR needs to be ghosted on NS real al(im,jfirst-1:jlast+2) ! AL needs to be ghosted on N2S real a6(im,jfirst-1:jlast+1) ! A6 needs to be ghosted on NS ! !OUTPUT PARAMETERS: real flux(im,jfirst:jlast+mg) ! Flux N (see tp2c) ! Local real r3, r23 parameter ( r3 = 1./3., r23 = 2./3. ) integer i, j, imh, jm1, lmt integer js1g1, js2g0, js2g1, jn1g2, jn1g1, jn2g1 !--------------------------------------------------------------------- ! Initialize local variables (bmy, 7/10/17) ar = 0.0 al = 0.0 a6 = 0.0 !--------------------------------------------------------------------- imh = im / 2 jm1 = jm - 1 js1g1 = max(1,jfirst-1) ! Ghost S*1 js2g0 = max(2,jfirst) ! No ghosting js2g1 = max(2,jfirst-1) ! Ghost S*1 jn1g1 = min(jm,jlast+1) ! Ghost N*1 jn1g2 = min(jm,jlast+2) ! Ghost N*2 jn2g1 = min(jm-1,jlast+1) ! Ghost N*1 do j=js2g1,jn1g2 ! AL needed N2S do i=1,im ! P, dm ghosted N2S2 (at least) al(i,j) = 0.5*(q(i,j-1)+q(i,j)) + r3*(dm(i,j-1) - dm(i,j)) enddo enddo do j=js1g1,jn2g1 ! AR needed NS do i=1,im ar(i,j) = al(i,j+1) ! AL ghosted N2S enddo enddo ! Poles: if( iv == 0 ) then if ( jfirst .eq. 1 ) then do i=1,imh al(i, 1) = al(i+imh,2) al(i+imh,1) = al(i, 2) enddo endif if ( jlast .eq. jm ) then do i=1,imh ar(i, jm) = ar(i+imh,jm1) ar(i+imh,jm) = ar(i, jm1) enddo endif else if ( jfirst .eq. 1 ) then do i=1,imh al(i, 1) = -al(i+imh,2) al(i+imh,1) = -al(i, 2) enddo endif if ( jlast .eq. jm ) then do i=1,imh ar(i, jm) = -ar(i+imh,jm1) ar(i+imh,jm) = -ar(i, jm1) enddo endif endif if( jord == 3 .or. jord == 5 ) then do j=js1g1,jn1g1 ! A6 needed NS do i=1,im a6(i,j) = 3.*(q(i,j)+q(i,j) - (al(i,j)+ar(i,j))) enddo enddo endif lmt = jord - 3 call lmppm(dm(1,js1g1), a6(1,js1g1), ar(1,js1g1), & al(1,js1g1), q(1,js1g1), im*(jn1g1-js1g1+1), lmt) do j=js2g0,jn1g1 ! flux needed N do i=1,im if(c(i,j) > 0.) then flux(i,j) = ar(i,j-1) + 0.5*c(i,j)*(al(i,j-1) - ar(i,j-1) + & a6(i,j-1)*(1.-r23*c(i,j)) ) else flux(i,j) = al(i,j) - 0.5*c(i,j)*(ar(i,j) - al(i,j) + & a6(i,j)*(1.+r23*c(i,j))) endif enddo enddo end subroutine fyppm subroutine xpavg(p, im) implicit none ! !INPUT PARAMETERS: integer im ! !INPUT/OUTPUT PARAMETERS: real p(im) integer i real sum1 p(1:im) = sum(p(1:im))/im ! sum1 = 0. ! do i=1,im ! sum1 = sum1 + p(i) ! enddo ! sum1 = sum1 / im ! do i=1,im ! p(i) = sum1 ! enddo end subroutine xpavg subroutine qmap(pe, q, im, jm, km, nx, jfirst, jlast, ng, nq, & ps, ak, bk, kord, iv) implicit none !INPUT integer im, jm, km ! x, y, z dimensions integer nq ! number of tracers integer nx ! number of SMP "decomposition" in x integer iv ! monotonicity at top and bottom ! iv=0 : weak constraint ! iv=1 : strong constraint ! iv=-1: for vector integer jfirst, jlast ! starting & ending latitude index integer ng ! width of ghost regions real, intent(in):: ak(km+1) real, intent(in):: bk(km+1) real, intent(in):: pe(im,km+1,jfirst:jlast) ! INPUT/OUTPUT real q(im,jfirst-ng:jlast+ng,km,nq) ! tracers including specific humidity real ps(im,jfirst:jlast) ! surface pressure ! Local arrays: real pe2(im,km+1) real temp integer i, j, k, iq integer ixj, jp, it, i1, i2 integer kord it = im / nx jp = nx * ( jlast - jfirst + 1 ) !$omp parallel do & !$omp shared(im,km,jfirst,jlast,ng,iv,kord) & !$omp private(i, j, k, iq, i1, i2, ixj, pe2) ! do 2000 j=jfirst,jlast do 2000 ixj=1,jp j = jfirst + (ixj-1) / nx i1 = 1 + it * mod(ixj-1, nx) i2 = i1 + it - 1 ! k=1 do i=i1,i2 pe2(i,1) = ak(1) enddo do k=2,km do i=i1,i2 pe2(i,k) = ak(k) + bk(k)*ps(i,j) enddo enddo ! k=km+1 do i=i1,i2 pe2(i,km+1) = ps(i,j) enddo temp = sum(q) do iq=1,nq call map1_ppm ( km, pe(1,1,j), q(1,jfirst-ng,1,iq), & km, pe2, q(1,jfirst-ng,1,iq), & im, i1, i2, j, jfirst, jlast, ng, iv, kord) enddo 2000 continue end subroutine qmap subroutine map1_ppm( km, pe1, q1, & kn, pe2, q2, & im, i1, i2, j, jfirst, jlast, ng, iv, kord) implicit none !INPUT PARAMETERS: integer i1 ! Starting longitude integer i2 ! Finishing longitude integer im ! E-W dimension integer iv ! Mode: 0 == constituents 1 == ??? integer kord ! Method order integer j ! Current latitude integer jfirst ! Starting latitude integer jlast ! Finishing latitude integer ng ! Width of ghost regions integer km ! Original vertical dimension integer kn ! Target vertical dimension real pe1(im,km+1) ! pressure at layer edges ! (from model top to bottom surface) ! in the original vertical coordinate real pe2(im,kn+1) ! pressure at layer edges ! (from model top to bottom surface) ! in the new vertical coordinate real q1(im,jfirst-ng:jlast+ng,km) ! Field input !OUTPUT PARAMETERS: real q2(im,jfirst-ng:jlast+ng,kn) ! Field output ! LOCAL VARIABLES: real dp1(i1:i2,km) real q4(4,i1:i2,km) integer i, k, l, ll, k0 real pl, pr, qsum, delp, esl real r3, r23 real temp parameter (r3 = 1./3., r23 = 2./3.) ! Initialize local arrays (bmy, 7/10/17) dp1 = 0.0 q4 = 0.0 do k=1,km do i=i1,i2 dp1(i,k) = pe1(i,k+1) - pe1(i,k) q4(1,i,k) = q1(i,j,k) enddo enddo temp = sum(q4) ! Compute vertical subgrid distribution call ppm2m( q4, dp1, km, i1, i2, iv, kord ) temp = sum(q2) ! Mapping do 1000 i=i1,i2 k0 = 1 do 555 k=1,kn do 100 l=k0,km ! locate the top edge: pe2(i,k) if(pe2(i,k) .ge. pe1(i,l) .and. pe2(i,k) .le. pe1(i,l+1)) then pl = (pe2(i,k)-pe1(i,l)) / dp1(i,l) if(pe2(i,k+1) .le. pe1(i,l+1)) then ! entire new grid is within the original grid pr = (pe2(i,k+1)-pe1(i,l)) / dp1(i,l) q2(i,j,k) = q4(2,i,l) + 0.5*(q4(4,i,l)+q4(3,i,l)-q4(2,i,l)) & *(pr+pl)-q4(4,i,l)*r3*(pr*(pr+pl)+pl**2) k0 = l goto 555 else ! Fractional area... qsum = (pe1(i,l+1)-pe2(i,k))*(q4(2,i,l)+0.5*(q4(4,i,l)+ & q4(3,i,l)-q4(2,i,l))*(1.+pl)-q4(4,i,l)* & (r3*(1.+pl*(1.+pl)))) do ll=l+1,km ! locate the bottom edge: pe2(i,k+1) if(pe2(i,k+1) > pe1(i,ll+1) ) then ! Whole layer.. qsum = qsum + dp1(i,ll)*q4(1,i,ll) else delp = pe2(i,k+1)-pe1(i,ll) esl = delp / dp1(i,ll) qsum = qsum + delp*(q4(2,i,ll)+0.5*esl* & (q4(3,i,ll)-q4(2,i,ll)+q4(4,i,ll)*(1.-r23*esl))) k0 = ll goto 123 endif enddo goto 123 endif endif 100 continue 123 q2(i,j,k) = qsum / ( pe2(i,k+1) - pe2(i,k) ) 555 continue 1000 continue end subroutine map1_ppm subroutine ppm2m(a4, delp, km, i1, i2, iv, kord) implicit none ! INPUT PARAMETERS: integer, intent(in):: iv ! iv =-1: winds ! iv = 0: positive definite scalars ! iv = 1: others integer, intent(in):: i1 ! Starting longitude integer, intent(in):: i2 ! Finishing longitude integer, intent(in):: km ! vertical dimension integer, intent(in):: kord ! Order (or more accurately method no.): ! real, intent(in):: delp(i1:i2,km) ! layer pressure thickness real, intent(inout):: a4(4,i1:i2,km) ! Interpolated values ! local arrays. real dc(i1:i2,km) real h2(i1:i2,km) real delq(i1:i2,km) real df2(i1:i2,km) real d4(i1:i2,km) real fac real a1, a2, c1, c2, c3, d1, d2 real qmax, qmin, cmax, cmin real qm, dq, tmp real qmp, pmp real lac integer lmt integer i, k, km1 integer it km1 = km - 1 it = i2 - i1 + 1 do k=2,km do i=i1,i2 delq(i,k-1) = a4(1,i,k) - a4(1,i,k-1) d4(i,k ) = delp(i,k-1) + delp(i,k) enddo enddo do k=2,km1 do i=i1,i2 c1 = (delp(i,k-1)+0.5*delp(i,k))/d4(i,k+1) c2 = (delp(i,k+1)+0.5*delp(i,k))/d4(i,k) tmp = delp(i,k)*(c1*delq(i,k) + c2*delq(i,k-1)) / & (d4(i,k)+delp(i,k+1)) qmax = max(a4(1,i,k-1),a4(1,i,k),a4(1,i,k+1)) - a4(1,i,k) qmin = a4(1,i,k) - min(a4(1,i,k-1),a4(1,i,k),a4(1,i,k+1)) dc(i,k) = sign(min(abs(tmp),qmax,qmin), tmp) df2(i,k) = tmp enddo enddo !------------------------------------------------------------ ! 4th order interpolation of the provisional cell edge value !------------------------------------------------------------ do k=3,km1 do i=i1,i2 c1 = delq(i,k-1)*delp(i,k-1) / d4(i,k) a1 = d4(i,k-1) / (d4(i,k) + delp(i,k-1)) a2 = d4(i,k+1) / (d4(i,k) + delp(i,k)) a4(2,i,k) = a4(1,i,k-1) + c1 + 2./(d4(i,k-1)+d4(i,k+1)) * & ( delp(i,k)*(c1*(a1 - a2)+a2*dc(i,k-1)) - & delp(i,k-1)*a1*dc(i,k ) ) enddo enddo if(kord>3) call steepz(i1, i2, km, a4, df2, dc, delq, delp, d4) ! Area preserving cubic with 2nd deriv. = 0 at the boundaries ! Top do i=i1,i2 d1 = delp(i,1) d2 = delp(i,2) qm = (d2*a4(1,i,1)+d1*a4(1,i,2)) / (d1+d2) dq = 2.*(a4(1,i,2)-a4(1,i,1)) / (d1+d2) c1 = (a4(2,i,3)-qm-d2*dq) / ( d2*(2.*d2*d2+d1*(d2+3.*d1)) ) c3 = dq - 2.0*c1*(d2*(5.*d1+d2)-3.*d1**2) a4(2,i,2) = qm - c1*d1*d2*(d2+3.*d1) a4(2,i,1) = d1*(8.*c1*d1**2-c3) + a4(2,i,2) dc(i,1) = a4(1,i,1) - a4(2,i,1) ! No over- and undershoot condition cmax = max(a4(1,i,1), a4(1,i,2)) cmin = min(a4(1,i,1), a4(1,i,2)) a4(2,i,2) = max(cmin,a4(2,i,2)) a4(2,i,2) = min(cmax,a4(2,i,2)) enddo if( iv == 0 ) then do i=i1,i2 a4(2,i,1) = max(0.,a4(2,i,1)) enddo elseif ( iv == 1 ) then ! Monotone tracers: do i=i1,i2 dc(i,1) = 0. a4(2,i,1) = a4(1,i,1) a4(2,i,2) = a4(1,i,1) enddo elseif ( iv == -1 ) then ! Winds: do i=i1,i2 if( a4(1,i,1)*a4(2,i,1) <= 0. ) then a4(2,i,1) = 0. else a4(2,i,1) = sign(min(abs(a4(1,i,1)), & abs(a4(2,i,1))), & a4(1,i,1) ) endif enddo endif ! Bottom ! Area preserving cubic with 2nd deriv. = 0 at the surface do i=i1,i2 d1 = delp(i,km) d2 = delp(i,km1) qm = (d2*a4(1,i,km)+d1*a4(1,i,km1)) / (d1+d2) dq = 2.*(a4(1,i,km1)-a4(1,i,km)) / (d1+d2) c1 = (a4(2,i,km1)-qm-d2*dq) / (d2*(2.*d2*d2+d1*(d2+3.*d1))) c3 = dq - 2.0*c1*(d2*(5.*d1+d2)-3.*d1**2) a4(2,i,km) = qm - c1*d1*d2*(d2+3.*d1) a4(3,i,km) = d1*(8.*c1*d1**2-c3) + a4(2,i,km) dc(i,km) = a4(3,i,km) - a4(1,i,km) ! No over- and under-shoot condition cmax = max(a4(1,i,km), a4(1,i,km1)) cmin = min(a4(1,i,km), a4(1,i,km1)) a4(2,i,km) = max(cmin,a4(2,i,km)) a4(2,i,km) = min(cmax,a4(2,i,km)) enddo ! Enforce constraint at the surface if ( iv == 0 ) then ! Positive definite scalars: do i=i1,i2 a4(3,i,km) = max(0., a4(3,i,km)) enddo elseif ( iv == 1 ) then ! Monotone tracers: do i=i1,i2 dc(i,km) = 0. a4(2,i,km) = a4(1,i,km) a4(3,i,km) = a4(1,i,km) enddo elseif ( iv == -1 ) then ! Winds: do i=i1,i2 if( a4(1,i,km)*a4(3,i,km) <= 0. ) then a4(3,i,km) = 0. else a4(3,i,km) = sign( min(abs(a4(1,i,km)), & abs(a4(3,i,km))), & a4(1,i,km) ) endif enddo endif do k=1,km1 do i=i1,i2 a4(3,i,k) = a4(2,i,k+1) enddo enddo ! f(s) = AL + s*[(AR-AL) + A6*(1-s)] ( 0 <= s <= 1 ) ! Top 2 and bottom 2 layers always use monotonic mapping do k=1,2 do i=i1,i2 a4(4,i,k) = 3.*(2.*a4(1,i,k) - (a4(2,i,k)+a4(3,i,k))) enddo call kmppm(dc(i1,k), a4(1,i1,k), it, 0) enddo if(kord .ge. 7) then !---------------------------------------- ! Huynh's 2nd constraint !---------------------------------------- do k=2, km1 do i=i1,i2 ! Method#1 ! h2(i,k) = delq(i,k) - delq(i,k-1) ! Method#2 ! h2(i,k) = 2.*(dc(i,k+1)/delp(i,k+1) - dc(i,k-1)/delp(i,k-1)) ! & / ( delp(i,k)+0.5*(delp(i,k-1)+delp(i,k+1)) ) ! & * delp(i,k)**2 ! Method#3 h2(i,k) = dc(i,k+1) - dc(i,k-1) enddo enddo if( kord == 7 ) then fac = 1.5 ! original quasi-monotone else fac = 0.125 ! full monotone endif do k=3, km-2 do i=i1,i2 ! Right edges ! qmp = a4(1,i,k) + 2.0*delq(i,k-1) ! lac = a4(1,i,k) + fac*h2(i,k-1) + 0.5*delq(i,k-1) ! pmp = 2.*dc(i,k) qmp = a4(1,i,k) + pmp lac = a4(1,i,k) + fac*h2(i,k-1) + dc(i,k) qmin = min(a4(1,i,k), qmp, lac) qmax = max(a4(1,i,k), qmp, lac) a4(3,i,k) = min(max(a4(3,i,k), qmin), qmax) ! Left edges ! qmp = a4(1,i,k) - 2.0*delq(i,k) ! lac = a4(1,i,k) + fac*h2(i,k+1) - 0.5*delq(i,k) ! qmp = a4(1,i,k) - pmp lac = a4(1,i,k) + fac*h2(i,k+1) - dc(i,k) qmin = min(a4(1,i,k), qmp, lac) qmax = max(a4(1,i,k), qmp, lac) a4(2,i,k) = min(max(a4(2,i,k), qmin), qmax) ! Recompute A6 a4(4,i,k) = 3.*(2.*a4(1,i,k) - (a4(2,i,k)+a4(3,i,k))) enddo ! Additional constraint to prevent negatives when kord=7 if (iv /= -1 .and. kord == 7) then call kmppm(dc(i1,k), a4(1,i1,k), it, 2) endif enddo else lmt = kord - 3 lmt = max(0, lmt) if (iv == 0) lmt = min(2, lmt) do k=3, km-2 if( kord .ne. 4) then do i=i1,i2 a4(4,i,k) = 3.*(2.*a4(1,i,k) - (a4(2,i,k)+a4(3,i,k))) enddo endif call kmppm(dc(i1,k), a4(1,i1,k), it, lmt) enddo endif do k=km1,km do i=i1,i2 a4(4,i,k) = 3.*(2.*a4(1,i,k) - (a4(2,i,k)+a4(3,i,k))) enddo call kmppm(dc(i1,k), a4(1,i1,k), it, 0) enddo end subroutine ppm2m subroutine steepz(i1, i2, km, a4, df2, dm, dq, dp, d4) implicit none !INPUT PARAMETERS: integer km ! Total levels integer i1 ! Starting longitude integer i2 ! Finishing longitude real dp(i1:i2,km) ! grid size real dq(i1:i2,km) ! backward diff of q real d4(i1:i2,km) ! backward sum: dp(k)+ dp(k-1) real df2(i1:i2,km) ! first guess mismatch real dm(i1:i2,km) ! monotonic mismatch ! !INPUT/OUTPUT PARAMETERS: real a4(4,i1:i2,km) ! first guess/steepened ! !LOCAL VARIABLES: integer i, k real alfa(i1:i2,km) real f(i1:i2,km) real rat(i1:i2,km) real dg2 ! Compute ratio of dq/dp do k=2,km do i=i1,i2 rat(i,k) = dq(i,k-1) / d4(i,k) enddo enddo ! Compute F do k=2,km-1 do i=i1,i2 f(i,k) = (rat(i,k+1) - rat(i,k)) & / ( dp(i,k-1)+dp(i,k)+dp(i,k+1) ) enddo enddo do k=3,km-2 do i=i1,i2 if(f(i,k+1)*f(i,k-1) < 0. .and. df2(i,k).ne.0.) then dg2 = (f(i,k+1)-f(i,k-1))*((dp(i,k+1)-dp(i,k-1))**2 & + d4(i,k)*d4(i,k+1) ) alfa(i,k) = max(0., min(0.5, -0.1875*dg2/df2(i,k))) else alfa(i,k) = 0. endif enddo enddo do k=4,km-2 do i=i1,i2 a4(2,i,k) = (1.-alfa(i,k-1)-alfa(i,k)) * a4(2,i,k) + & alfa(i,k-1)*(a4(1,i,k)-dm(i,k)) + & alfa(i,k)*(a4(1,i,k-1)+dm(i,k-1)) enddo enddo end subroutine steepz subroutine kmppm(dm, a4, itot, lmt) implicit none ! !INPUT PARAMETERS: real dm(*) ! ?????? integer itot ! Total Longitudes integer lmt ! 0: Standard PPM constraint ! 1: Improved full monotonicity constraint (Lin) ! 2: Positive definite constraint ! 3: do nothing (return immediately) ! !INPUT/OUTPUT PARAMETERS: real a4(4,*) ! AA <-- a4(1,i) ! AL <-- a4(2,i) ! AR <-- a4(3,i) ! A6 <-- a4(4,i) ! !LOCAL VARIABLES: real r12 parameter (r12 = 1./12.) real qmp integer i real da1, da2, a6da real fmin if ( lmt == 3 ) return if(lmt == 0) then ! Standard PPM constraint do i=1,itot if(dm(i) .eq. 0.) then a4(2,i) = a4(1,i) a4(3,i) = a4(1,i) a4(4,i) = 0. else da1 = a4(3,i) - a4(2,i) da2 = da1**2 a6da = a4(4,i)*da1 if(a6da < -da2) then a4(4,i) = 3.*(a4(2,i)-a4(1,i)) a4(3,i) = a4(2,i) - a4(4,i) elseif(a6da > da2) then a4(4,i) = 3.*(a4(3,i)-a4(1,i)) a4(2,i) = a4(3,i) - a4(4,i) endif endif enddo elseif (lmt == 1) then ! Improved full monotonicity constraint (Lin) ! Note: no need to provide first guess of A6 <-- a4(4,i) do i=1, itot qmp = 2.*dm(i) a4(2,i) = a4(1,i)-sign(min(abs(qmp),abs(a4(2,i)-a4(1,i))), qmp) a4(3,i) = a4(1,i)+sign(min(abs(qmp),abs(a4(3,i)-a4(1,i))), qmp) a4(4,i) = 3.*( 2.*a4(1,i) - (a4(2,i)+a4(3,i)) ) enddo elseif (lmt == 2) then ! Positive definite constraint do i=1,itot if( abs(a4(3,i)-a4(2,i)) < -a4(4,i) ) then fmin = a4(1,i)+0.25*(a4(3,i)-a4(2,i))**2/a4(4,i)+a4(4,i)*r12 if( fmin < 0. ) then if(a4(1,i) < a4(3,i) .and. a4(1,i) < a4(2,i)) then a4(3,i) = a4(1,i) a4(2,i) = a4(1,i) a4(4,i) = 0. elseif(a4(3,i) > a4(2,i)) then a4(4,i) = 3.*(a4(2,i)-a4(1,i)) a4(3,i) = a4(2,i) - a4(4,i) else a4(4,i) = 3.*(a4(3,i)-a4(1,i)) a4(2,i) = a4(3,i) - a4(4,i) endif endif endif enddo endif end subroutine kmppm subroutine fct_x(q, im, jm, jfirst, jlast, ng, ipx) implicit none ! !INPUT PARAMETERS: integer im ! Longitudes integer jm ! Total latitudes integer jfirst ! Starting latitude integer jlast ! Finishing latitude integer ng real tiny ! A small number to pump up value parameter (tiny = 1.e-40) ! !INPUT/OUTPUT PARAMETERS: real q(im,jfirst-ng:jlast+ng) ! Field to adjust ! !OUTPUT PARAMETERS: integer ipx ! Flag: 0 if Q not change, 1 if changed ! !LOCAL VARIABLES: real d0, d1, d2 real qtmp(jfirst:jlast,im) integer i, j, jm1, ip2 integer j1, j2 j1 = max( jfirst, 2 ) j2 = min( jlast, jm-1 ) jm1 = jm-1 ipx = 0 ! Copy & swap direction for vectorization. do i=1,im do j=j1,j2 qtmp(j,i) = q(i,j) enddo enddo do i=2,im-1 do j=j1,j2 if(qtmp(j,i) < 0.) then ipx = 1 ! west d0 = max(0.,qtmp(j,i-1)) d1 = min(-qtmp(j,i),d0) qtmp(j,i-1) = qtmp(j,i-1) - d1 qtmp(j,i) = qtmp(j,i) + d1 ! east d0 = max(0.,qtmp(j,i+1)) d2 = min(-qtmp(j,i),d0) qtmp(j,i+1) = qtmp(j,i+1) - d2 qtmp(j,i) = qtmp(j,i) + d2 + tiny endif enddo enddo i=1 do j=j1,j2 if(qtmp(j,i) < 0.) then ipx = 1 ! west d0 = max(0.,qtmp(j,im)) d1 = min(-qtmp(j,i),d0) qtmp(j,im) = qtmp(j,im) - d1 qtmp(j,i) = qtmp(j,i) + d1 ! east d0 = max(0.,qtmp(j,i+1)) d2 = min(-qtmp(j,i),d0) qtmp(j,i+1) = qtmp(j,i+1) - d2 qtmp(j,i) = qtmp(j,i) + d2 + tiny endif enddo i=im do j=j1,j2 if(qtmp(j,i) < 0.) then ipx = 1 ! west d0 = max(0.,qtmp(j,i-1)) d1 = min(-qtmp(j,i),d0) qtmp(j,i-1) = qtmp(j,i-1) - d1 qtmp(j,i) = qtmp(j,i) + d1 ! east d0 = max(0.,qtmp(j,1)) d2 = min(-qtmp(j,i),d0) qtmp(j,1) = qtmp(j,1) - d2 qtmp(j,i) = qtmp(j,i) + d2 + tiny endif enddo if(ipx .ne. 0) then !----------- ! Final pass !----------- do i=1,im-1 do j=j1,j2 if (qtmp(j,i) < 0. ) then ! Take mass from east (essentially adjusting fx(i+1,j)) qtmp(j,i+1) = qtmp(j,i+1) + qtmp(j,i) qtmp(j,i) = 0. endif enddo enddo ! Final sweep do i=im,2,-1 do j=j1,j2 if (qtmp(j,i) < 0. ) then ! Take mass from west (essentially adjusting fx(i,j)) qtmp(j,i-1) = qtmp(j,i-1) + qtmp(j,i) qtmp(j,i) = 0. endif enddo ! Note: qtmp(j,1) could still be negative enddo do j=j1,j2 do i=1,im q(i,j) = qtmp(j,i) q(i,j) = max(0., qtmp(j,i)) !(dan 0803) enddo enddo endif ! Check Poles. if ( jfirst == 1 ) then ip2 = 0 ! SP if(q(1,1) < 0.) then call pfix(q(1,2),q(1,1),im,ipx) else ! Check j=2 do i=1,im if(q(i,2) < 0.) then ip2 = 1 go to 322 endif enddo 322 continue if(ip2.ne.0) call pfix(q(1,2),q(1,1),im,ipx) endif endif if ( jlast == jm ) then ip2 = 0 ! NP if(q(1,jm) < 0.) then call pfix(q(1,jm1),q(1,jm),im,ipx) else ! Check j=jm1 do i=1,im if(q(i,jm1) < 0.) then ip2 = 1 go to 323 endif enddo 323 continue if(ip2.ne.0) call pfix(q(1,jm1),q(1,jm),im,ipx) endif endif end subroutine fct_x subroutine fillz(im, i1, i2, km, nq, q, dp) implicit none ! !INPUT PARAMETERS: integer, intent(in) :: im ! No. of longitudes integer, intent(in) :: km ! No. of levels integer, intent(in) :: i1 ! Starting longitude integer, intent(in) :: i2 ! Finishing longitude integer, intent(in) :: nq ! Total number of tracers real, intent(in) :: dp(im,km) ! pressure thickness ! !INPUT/OUTPUT PARAMETERS: real, intent(inout) :: q(im,km,nq) ! tracer mixing ratio ! !LOCAL VARIABLES: integer i, k, ic real qup, qly, dup do ic=1,nq ! Top layer do i=i1,i2 if( q(i,1,ic) < 0.) then q(i,2,ic) = q(i,2,ic) + q(i,1,ic)*dp(i,1)/dp(i,2) q(i,1,ic) = 0. endif enddo ! Interior do k=2,km-1 do i=i1,i2 if( q(i,k,ic) < 0. ) then ! Borrow from above qup = q(i,k-1,ic)*dp(i,k-1) qly = -q(i,k ,ic)*dp(i,k ) dup = min( 0.5*qly, qup ) !borrow no more than 50% q(i,k-1,ic) = q(i,k-1,ic) - dup/dp(i,k-1) ! Borrow from below: q(i,k,ic) is still negative at this stage q(i,k+1,ic) = q(i,k+1,ic) + (dup-qly)/dp(i,k+1) q(i,k ,ic) = 0. endif enddo enddo ! Bottom layer k = km do i=i1,i2 if( q(i,k,ic) < 0.) then ! Borrow from above qup = q(i,k-1,ic)*dp(i,k-1) qly = -q(i,k ,ic)*dp(i,k ) dup = min( qly, qup ) q(i,k-1,ic) = q(i,k-1,ic) - dup/dp(i,k-1) q(i,k,ic) = 0. endif enddo enddo end subroutine fillz subroutine pfix(q, qp, im, ipx) implicit none ! !INPUT PARAMETERS: integer im ! Longitudes ! !INPUT/OUTPUT PARAMETERS: real q(im) ! Latitude-level field to adjust real qp(im) ! Second latitude-level field to adjust (usually pole) ! !OUTPUT PARAMETERS: integer ipx ! Flag: 0 if Q not change, 1 if changed ! !LOCAL VARIABLES: integer i real summ, sump, pmean summ = 0. sump = 0. do i=1,im summ = summ + q(i) sump = sump + qp(i) enddo pmean = (sump*gw(1) + summ*gw(2)) / (im*(gw(1)+gw(2))) do i=1,im q(i) = pmean qp(i) = pmean enddo if( qp(1) < 0. ) ipx = 1 end subroutine pfix subroutine gmean(im, jm, jfirst, jlast, q, qmean) #if defined(SPMD) #if defined(PILGRIM) use parutilitiesmodule, only : parcollective, commglobal, sumop #else use mod_comm, only: mp_allgather1d, gid #endif #endif implicit none #if defined(SPMD) real gsum(jm) #endif integer im, jm ! Horizontal dimensions integer jfirst, jlast ! Latitude strip real, intent(in):: q(im,jfirst:jlast) ! 2D field real qmean real xsum(jfirst:jlast) integer i, j integer ierror do j=jfirst,jlast xsum(j) = 0. do i=1,im xsum(j) = xsum(j) + q(i,j) enddo xsum(j) = xsum(j)*gw(j) enddo #if defined(SPMD) gsum = 0. #if defined(PILGRIM) do j=jfirst,jlast gsum(j) = xsum(j) enddo call parcollective(commglobal, sumop, jm, gsum) #else call mp_allgather1d(jm, jfirst, jlast, xsum(jfirst), gsum) #endif if (gid == 0 ) then qmean = 0.0 do j=1,jm qmean = qmean + gsum(j) enddo qmean = qmean / (2*im) endif #else qmean = 0.0 do j=1,jm qmean = qmean + xsum(j) enddo qmean = qmean / (2*im) #endif end subroutine gmean subroutine adj_fx(im, jm, km, jfirst, jlast, ak, bk, ffsl, & ps0, ps2, pe, delp, fx3, cx, fy3, ng, & mg, tiny, n_adj) implicit none integer, intent(in):: im integer, intent(in):: jm integer, intent(in):: km integer, intent(in):: ng, mg integer, intent(in):: jfirst, jlast integer, intent(in):: n_adj real, intent(in):: tiny real, intent(in):: ak(km+1) real, intent(in):: bk(km+1) real, intent(in):: ps2(im,jfirst-mg:jlast+mg) real, intent(in):: cx(im,jfirst-ng:jlast+ng,km) real, intent(inout):: pe(im,km+1,jfirst:jlast) logical, intent(in):: ffsl(jfirst-ng:jlast+ng,km) real, intent(inout):: ps0(im,jfirst:jlast) real, intent(inout):: fx3(im,jfirst:jlast,km) real, intent(inout):: fy3(im,jfirst:jlast+mg,km) real, intent(inout):: delp(im,jfirst:jlast,km) ! Local real ps(im,jfirst-mg:jlast+mg) real fy(im,jfirst:jlast+mg) real fx(im+1) real dps(0:im) real dpy(im,jfirst-mg:jlast+mg) real er0, er1 integer i,j,k, it real tmpf, dh real dbk integer js2g0, jn2g0 real fac parameter ( fac = 0.25 ) js2g0 = max(2,jfirst) ! No ghosting jn2g0 = min(jm-1,jlast) ! No ghosting do j=jfirst,jlast do i=1,im ps(i,j) = ps0(i,j) enddo enddo fx_iteration: do it=1,n_adj #if defined(SPMD) #if defined(PILGRIM) call parbegintransfer(pattern2dmg, ps, ps) call parendtransfer(pattern2dmg, ps, ps) #else call mp_send3d_ns(im, jm, jfirst, jlast, 1, 1, mg, mg, ps, 2) call mp_barrier() call mp_recv3d_ns(im, jm, jfirst, jlast, 1, 1, mg, mg, ps, 2) call mp_barrier() #endif #endif !$omp parallel do & !$omp shared(im) & !$omp private(i, j, k, dbk, dps, dpy, tmpf, fx, fy) !--- adjust fx ---- do k=3,km dbk = bk(k+1) - bk(k) if( dbk > 0.001 ) then do j=js2g0,jn2g0 do i=1,im dps(i) = (ps(i,j) - ps2(i,j))*dbk enddo dps(0) = dps(im) do i=1,im fx(i) = fac*(dps(i-1)-dps(i)) tmpf = fx3(i,j,k) + fx(i) if ( tmpf*fx3(i,j,k) > 0. ) then fx3(i,j,k) = tmpf else fx(i) = fx3(i,j,k) fx3(i,j,k) = sign(min(abs(tmpf), abs(fx3(i,j,k))), fx3(i,j,k)) fx(i) = fx3(i,j,k) - fx(i) endif enddo fx(im+1) = fx(1) ! update delp do i=1,im delp(i,j,k) = delp(i,j,k) + fx(i) - fx(i+1) enddo enddo ! j-loop !--- adjust fy ---- do j=max(jfirst-1,1) ,min(jm,jlast+1) ! Need ps at jlast+1 do i=1,im dpy(i,j) = (ps(i,j) - ps2(i,j))*dbk*gw(j) enddo enddo do j=js2g0,min(jm,jlast+1) do i=1,im fy(i,j) = fac*(dpy(i,j-1)-dpy(i,j)) tmpf = fy3(i,j,k) + fy(i,j) if ( tmpf*fy3(i,j,k) > 0. ) then fy3(i,j,k) = tmpf else fy(i,j) = fy3(i,j,k) fy3(i,j,k) = sign(min(abs(tmpf), abs(fy3(i,j,k))), fy3(i,j,k)) fy(i,j) = fy3(i,j,k) - fy(i,j) endif enddo enddo ! update delp do j=js2g0,jn2g0 do i=1,im delp(i,j,k) = delp(i,j,k) + (fy(i,j) - fy(i,j+1)) * rgw(j) enddo enddo ! Poles: if ( jfirst == 1 ) then do i=1,im delp(i,1,k) = delp(i,1,k) - fy(i,2)*rgw(1) enddo ! call xpavg(delp(:,1,k), im) endif if ( jlast == jm ) then do i=1,im delp(i,jm,k) = delp(i,jm,k) + fy(i,jm)*rgw(jm) enddo ! call xpavg(delp(:,jm,k), im) endif endif enddo ! k-loop ! Update pe and ps !$omp parallel do private(i, j, k) do j=jfirst,jlast do i=1,im pe(i,1,j) = ak(1) enddo do k=1,km do i=1,im pe(i,k+1,j) = pe(i,k,j) + delp(i,j,k) enddo enddo do i=1,im ps(i,j) = pe(i,km+1,j) enddo enddo enddo fx_iteration !$omp parallel do private(i, j, k, dbk, dps, tmpf, fx, er0, er1, dh) do 2000 j=js2g0,jn2g0 do k=km,3,-1 dbk = bk(k+1) - bk(k) if( dbk > 0.001 ) then do i=1,im dps(i) = (ps(i,j) - ps2(i,j))*dbk enddo dps(0) = dps(im) ! i=1 er0 = dps(i-1) er1 = dps(i) if( er0*er1 < 0. ) then if( er1 > 0. ) then dh = min(-er0, er1) fx3(i,j,k) = fx3(i,j,k) - dh delp(im,j,k) = delp(im,j,k) + dh delp(i,j,k) = delp(i,j,k) - dh else dh = min(er0, -er1) fx3(i,j,k) = fx3(i,j,k) + dh delp(im,j,k) = delp(im,j,k) - dh delp(i,j,k) = delp(i,j,k) + dh endif endif do i=2,im er0 = dps(i-1) er1 = dps(i) if( er0*er1 < 0. ) then if( er1 > 0. ) then dh = min(-er0, er1) fx3(i,j,k) = fx3(i,j,k) - dh delp(i-1,j,k) = delp(i-1,j,k) + dh delp(i,j,k) = delp(i,j,k) - dh else dh = min(er0, -er1) fx3(i,j,k) = fx3(i,j,k) + dh delp(i-1,j,k) = delp(i-1,j,k) - dh delp(i,j,k) = delp(i,j,k) + dh endif endif enddo endif enddo ! k-loop do i=1,im pe(i,1,j) = ak(1) enddo do k=1,km do i=1,im pe(i,k+1,j) = pe(i,k,j) + delp(i,j,k) enddo enddo do i=1,im ps(i,j) = pe(i,km+1,j) enddo do k=1,km if( ffsl(j,k) ) then do i=1,im fx3(i,j,k) = fx3(i,j,k)/sign(max(abs(cx(i,j,k)),tiny),cx(i,j,k)) enddo endif enddo 2000 continue !* Copy adjusted surface pressure !* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ do j = jfirst, jlast do i = 1, im ps0(i,j) = ps(i,j) enddo enddo end subroutine adj_fx end module TPCORE_WINDOW_MOD ================================================ FILE: GeosCore/tracer_mod.F90 ================================================ #if defined( MODEL_GEOS ) || defined( MODEL_GCHP ) #include "MAPL_Generic.h" #endif !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: tracer_mod.F90 ! ! !DESCRIPTION: Module TRACER\_MOD is used to implement passive tracers, ! typically used in the TransportTracers simulation. !\\ !\\ ! !INTERFACE: ! MODULE Tracer_Mod ! ! !USES: ! USE Precision_Mod ! For GEOS-Chem Precision (fp) IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: Tracer_Source_Phase PUBLIC :: Tracer_Sink_Phase ! ! !PRIVATE MEMBER FUNCTIONS: ! ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: tracer_source_phase ! ! !DESCRIPTION: Subroutine TRACER\_SOURCE\_PHASE !\\ !\\ ! !INTERFACE: ! SUBROUTINE Tracer_Source_Phase( Input_Opt, State_Chm, State_Grid, & State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE HCO_State_GC_Mod, ONLY : HcoState USE HCO_EmisList_Mod, ONLY : HCO_GetPtr USE Input_Opt_Mod, ONLY : OptInput USE PhysConstants, ONLY : AVO USE Species_Mod, ONLY : Species USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE Time_Mod, ONLY : Get_Ts_Chem USE Timers_Mod, ONLY : Timer_End, Timer_Start USE UnitConv_Mod #if defined( MODEL_GEOS ) || defined( MODEL_GCHP ) USE ESMF USE MAPL #endif ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN ) :: Input_Opt ! Input options object TYPE(GrdState), INTENT(IN ) :: State_Grid ! Grid state object TYPE(MetState), INTENT(IN ) :: State_Met ! Meteorology state object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry state object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Failure or success ! ! !REMARKS: ! ! !REVISION HISTORY: ! 02 Mar 2023 - M. Sulprizio- Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I, J, L, N, DT INTEGER :: previous_units REAL(fp) :: Local_Tally REAL(fp) :: Total_Area REAL(fp) :: Total_Spc REAL(fp) :: Flux ! SAVEd scalars LOGICAL, SAVE :: First = .TRUE. ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc ! Arrays REAL(fp) :: Mask(State_Grid%NX,State_Grid%NY,State_Grid%NZ) ! Objects TYPE(Species), POINTER :: SpcInfo #if defined( MODEL_GEOS ) || defined( MODEL_GCHP ) INTEGER :: status TYPE(ESMF_VM) :: vm #endif !======================================================================== ! Tracer_Source_Phase begins here! !======================================================================== ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = & ' -> at Tracer_Source_Phase (in module GeosCore/tracer_mod.F90)' DT = GET_TS_CHEM() Local_Tally = 0.0_fp Total_Area = 0.0_fp Total_Spc = 0.0_fp Flux = 0.0_fp #if defined( MODEL_GEOS ) || defined( MODEL_GCHP ) call ESMF_VmGetCurrent(vm, rc=status) _VERIFY(status) #endif !======================================================================= ! Convert species units to v/v dry !======================================================================= ! Halt "All chem" timer (so that unit conv can be timed separately) IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "All chemistry", RC ) ENDIF ! Convert units CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & mapping = State_Chm%Map_Advect, & new_units = MOLES_SPECIES_PER_MOLES_DRY_AIR, & previous_units = previous_units, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Unit conversion error (kg -> v/v dry)' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Start "All chem" timer again IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "All chemistry", RC ) ENDIF !======================================================================== ! Apply tracer source !======================================================================== ! Loop over species DO N = 1, State_Chm%nAdvect ! Point to the Species Database entry for species N SpcInfo => State_Chm%SpcData(N)%Info ! Skip Rn-Pb-Be tracers for now IF ( SpcInfo%Is_RadioNuclide ) CYCLE ! Initialize mask for each species Mask = 1.0_fp ! Skip if this species does not have a source or if the ! source is handled by HEMCO IF ( TRIM(SpcInfo%Src_Mode) == 'none' .or. & TRIM(SpcInfo%Src_Mode) == 'HEMCO' ) CYCLE IF ( First ) THEN !------------------------------------------------------------------ ! Convert Src_Value to v/v !------------------------------------------------------------------ IF(TRIM(SpcInfo%Src_Units) == 'ppmv' ) THEN SpcInfo%Src_Value = SpcInfo%Src_Value * 1.0E-06 ELSE IF(TRIM(SpcInfo%Src_Units) == 'ppbv' ) THEN SpcInfo%Src_Value = SpcInfo%Src_Value * 1.0E-09 ELSE IF(TRIM(SpcInfo%Src_Units) == 'pptv' ) THEN SpcInfo%Src_Value = SpcInfo%Src_Value * 1.0E-12 !------------------------------------------------------------------ ! Convert timesteps (s) to expected units (e.g. days) !------------------------------------------------------------------ ELSE IF ( TRIM(SpcInfo%Src_Units) == 'timestep' ) THEN IF ( TRIM(SpcInfo%Units) == 'hours' ) THEN SpcInfo%Src_Value = SpcInfo%Src_Value * DT / ( 3600_fp ) ELSE IF(TRIM(SpcInfo%Units) == 'days' ) THEN SpcInfo%Src_Value = SpcInfo%Src_Value * DT / & ( 3600_fp * 24.0_fp ) ELSE IF(TRIM(SpcInfo%Units) == 'years' ) THEN SpcInfo%Src_Value = SpcInfo%Src_Value * DT / & ( 3600_fp * 24.0_fp * 365.25_fp ) ELSE ErrMsg = TRIM( SpcInfo%Name ) // ': Src_Units: timestep' // & ' requires species Units hours, days or years.' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF ENDIF !--------------------------------------------------------------------- ! Determine mask !--------------------------------------------------------------------- IF ( TRIM(SpcInfo%Src_Horiz) == 'lat_zone' ) THEN !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J )& !$OMP COLLAPSE( 2 ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Set mask to zero outside of latitude zone IF ( State_Grid%YMid(I,J) < SpcInfo%Src_LatMin .and. & State_Grid%YMid(I,J) > SpcInfo%Src_LatMax ) THEN Mask(I,J,:) = 0.0_fp ENDIF ENDDO ENDDO !$OMP END PARALLEL DO ENDIF IF ( TRIM(SpcInfo%Src_Vert) == 'surface' ) THEN ! Set mask to zero above the surface MASK(:,:,2:State_Grid%NZ) = 0.0_fp ELSE IF ( TRIM(SpcInfo%Src_Vert) == 'pressures' ) THEN !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, L )& !$OMP COLLAPSE( 3 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Set mask to zero outside of pressure levels IF ( .not. ( State_Met%PMID(I,J,L) >= SpcInfo%Src_PresMin .and. & State_Met%PMID(I,J,L) <= SpcInfo%Src_PresMax ) ) THEN Mask(I,J,L) = 0.0_fp ENDIF ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ELSE IF ( TRIM(SpcInfo%Src_Vert) == 'troposphere' ) THEN !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, L )& !$OMP COLLAPSE( 3 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Set mask to zero outside of troposphere IF ( .not. State_Met%InTroposphere(I,J,L) ) & Mask(I,J,L) = 0.0_fp ENDDO ENDDO ENDDO ELSE IF ( TRIM(SpcInfo%Src_Vert) == 'stratosphere' ) THEN !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, L )& !$OMP COLLAPSE( 3 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Set mask to zero outside of stratosphere IF ( .not. State_Met%InStratosphere(I,J,L) ) & Mask(I,J,L) = 0.0_fp ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDIF !-------------------------------------------------------------------- ! Apply source !-------------------------------------------------------------------- IF ( TRIM(SpcInfo%Src_Mode) == 'constant' ) THEN !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, L )& !$OMP COLLAPSE( 3 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX IF ( Mask(I,J,L) > 0 ) THEN IF ( SpcInfo%Src_Add ) THEN ! Add source State_Chm%Species(N)%Conc(I,J,L) = & State_Chm%Species(N)%Conc(I,J,L) + SpcInfo%Src_Value ELSE ! Replace value State_Chm%Species(N)%Conc(I,J,L) = SpcInfo%Src_Value ENDIF ENDIF ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ELSE IF ( TRIM(SpcInfo%Src_Mode) == 'maintain_mixing_ratio' ) THEN ! To distrubute tracer uniformly on the surface, compute the ! total area [m2] DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX IF ( Mask(I,J,1) > 0 ) THEN Local_Tally = Local_Tally + State_Grid%Area_M2(I,J) ENDIF ENDDO ENDDO #if defined( MODEL_GCHP ) || defined( MODEL_GEOS ) ! Sum across all nodes call MAPL_CommsAllReduceSum(vm, sendbuf=Local_Tally, recvbuf=Total_Area, cnt=1, RC=status) #else Total_Area = Local_Tally #endif ! Reinitialize Local_Tally = 0.0_fp ! Compute mol of tracer needed to achieve the desired value DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX IF ( Mask(I,J,L) > 0 ) THEN Local_Tally = Local_Tally & + ( SpcInfo%Src_Value - State_Chm%Species(N)%Conc(I,J,L) ) & * ( State_Met%AIRNUMDEN(I,J,L) / AVO ) & * State_Met%AIRVOL(I,J,L) ENDIF ENDDO ENDDO ENDDO #if defined( MODEL_GCHP ) || defined( MODEL_GEOS ) ! Sum across all nodes call MAPL_CommsAllReduceSum(vm, sendbuf=Local_Tally, recvbuf=Total_Spc, cnt=1, __RC__) #else Total_Spc = Local_Tally #endif ! Compute flux [mol/m2] Flux = Total_Spc / Total_Area ! Update species concentrations at surface [mol/mol] State_Chm%Species(N)%Conc(:,:,1) = State_Chm%Species(N)%Conc(:,:,1) & + ( ( Flux * AVO ) & / ( State_Met%BXHEIGHT(:,:,1) & * State_Met%AIRNUMDEN(:,:,1) ) ) * Mask(:,:,1) ELSE ErrMsg = TRIM( SpcInfo%Name ) // ': Src_Mode ' // & TRIM( SpcInfo%Src_Mode ) // ' not currently supported. ' // & 'Please modify species_database.yml or add this ' // & 'capability in tracer_mod.F90.' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Free pointers SpcInfo => NULL() ENDDO !======================================================================= ! Convert species units back to original unit !======================================================================= ! Halt "all chem" timer (so that unit conv can be timed separately) IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "All chemistry", RC ) ENDIF ! Convert units CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & mapping = State_Chm%Map_Advect, & new_units = previous_units, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Unit conversion error' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Start "all chem" timer again IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "All chemistry", RC ) ENDIF ! Reset after the first time IF ( First ) First = .FALSE. END SUBROUTINE Tracer_Source_Phase !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: tracer_sink_phase ! ! !DESCRIPTION: Subroutine TRACER\_SINK\_PHASE performs loss chemistry ! on passive species with finite atmospheric lifetimes. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Tracer_Sink_Phase( Input_Opt, State_Chm, State_Grid, & State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE HCO_State_GC_Mod, ONLY : HcoState USE HCO_EmisList_Mod, ONLY : HCO_GetPtr USE Input_Opt_Mod, ONLY : OptInput USE PhysConstants, ONLY : AVO USE Species_Mod, ONLY : Species USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE Time_Mod, ONLY : Get_Ts_Chem ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN ) :: Input_Opt ! Input options object TYPE(GrdState), INTENT(IN ) :: State_Grid ! Grid state object TYPE(MetState), INTENT(IN ) :: State_Met ! Meteorology state object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry state object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Failure or success ! ! !REMARKS: ! ! !REVISION HISTORY: ! 04 Sep 2015 - C. Keller - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I, J, L, N REAL(fp) :: DT REAL(fp) :: DecayConstant REAL(fp) :: DecayRate ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc ! Arrays REAL(fp) :: Mask(State_Grid%NX,State_Grid%NY,State_Grid%NZ) ! Parameters REAL(fp), PARAMETER :: ln2 = 0.693147181E+00_fp REAL(fp), PARAMETER :: Day2Sec = 86400_fp ! Objects TYPE(Species), POINTER :: SpcInfo !======================================================================== ! Tracer_Sink_Phase begins here! !======================================================================== ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = & ' -> at Tracer_Sink_Phase (in module GeosCore/tracer_mod.F90)' DT = GET_TS_CHEM() !======================================================================== ! Apply tracer sink !======================================================================== ! Loop over species DO N = 1, State_Chm%nAdvect ! Initialize mask for each species Mask = 1.0_fp ! Point to the Species Database entry for species N SpcInfo => State_Chm%SpcData(N)%Info ! Skip Rn-Pb-Be tracers for now IF ( SpcInfo%Is_RadioNuclide ) CYCLE ! Skip if no sink IF ( TRIM(SpcInfo%Snk_Mode) == 'none' ) CYCLE !--------------------------------------------------------------------- ! Compute the decay rate (if needed) !--------------------------------------------------------------------- IF ( TRIM(SpcInfo%Snk_Mode) == 'efolding' .or. & TRIM(SpcInfo%Snk_Mode) == 'halflife' ) THEN IF ( TRIM(SpcInfo%Snk_Mode) == 'efolding' ) THEN ! Compute the decay constant (s-1) from the e-folding time ! ln(N/No) = ln(1/e) = (-1) = -decayConstant * e-folding time DecayConstant = 1.0 / ( SpcInfo%Snk_Period * Day2Sec ) ELSE IF ( TRIM(SpcInfo%Snk_Mode) == 'halflife' ) THEN ! Compute the decay constant (s-1) from the half-life: ! ln(N/No) = ln(1/2) = -decayConstant * halfLife DecayConstant = ln2 / ( SpcInfo%Snk_Period * Day2Sec ) ENDIF DecayRate = EXP( - DecayConstant * DT ) !### Debug output IF ( Input_Opt%Verbose ) THEN WRITE( 6,100 ) ADJUSTL( SpcInfo%Name ), DecayRate 100 FORMAT( ' - Species name, decay rate: ', a15, es13.6 ) ENDIF ENDIF !--------------------------------------------------------------------- ! Determine mask !--------------------------------------------------------------------- IF ( TRIM(SpcInfo%Snk_Horiz) == 'lat_zone' ) THEN !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J )& !$OMP COLLAPSE( 2 ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Set mask to zero outside of latitude zone IF ( State_Grid%YMid(I,J) < SpcInfo%Snk_LatMin .or. & State_Grid%YMid(I,J) > SpcInfo%Snk_LatMax ) THEN Mask(I,J,:) = 0.0_fp ENDIF ENDDO ENDDO !$OMP END PARALLEL DO ENDIF IF ( TRIM(SpcInfo%Snk_Vert) == 'surface' ) THEN ! Set mask to zero above the surface MASK(:,:,2:State_Grid%NZ) = 0.0_fp ELSE IF ( TRIM(SpcInfo%Snk_Vert) == 'boundary_layer' ) THEN !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, L )& !$OMP COLLAPSE( 3 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Set mask to zero outside the boundary layer IF ( L > State_Met%PBL_TOP_L(I,J) ) THEN Mask(I,J,L) = 0.0_fp ENDIF ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ELSE IF ( TRIM(SpcInfo%Snk_Vert) == 'troposphere' ) THEN !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, L )& !$OMP COLLAPSE( 3 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Set mask to zero outside of troposphere IF ( .not. State_Met%InTroposphere(I,J,L) ) & Mask(I,J,L) = 0.0_fp ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ELSE IF ( TRIM(SpcInfo%Snk_Vert) == 'stratosphere' ) THEN !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, L )& !$OMP COLLAPSE( 3 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Set mask to zero outside of stratosphere IF ( .not. State_Met%InStratosphere(I,J,L) ) & Mask(I,J,L) = 0.0_fp ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDIF !--------------------------------------------------------------------- ! Apply loss !--------------------------------------------------------------------- IF ( TRIM(SpcInfo%Snk_Mode) == 'efolding' .or. & TRIM(SpcInfo%Snk_Mode) == 'halflife' ) THEN !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, L )& !$OMP COLLAPSE( 3 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX IF ( Mask(I,J,L) > 0 ) THEN State_Chm%Species(N)%Conc(I,J,L) = & State_Chm%Species(N)%Conc(I,J,L) * DecayRate ENDIF ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ELSE IF ( TRIM(SpcInfo%Snk_Mode) == 'constant' ) THEN !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, L )& !$OMP COLLAPSE( 3 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX IF ( Mask(I,J,L) > 0 ) THEN State_Chm%Species(N)%Conc(I,J,L) = SpcInfo%Snk_Value ENDIF ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDIF ENDDO END SUBROUTINE Tracer_Sink_Phase !EOC END MODULE Tracer_Mod ================================================ FILE: GeosCore/transport_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: transport_mod.F90 ! ! !DESCRIPTION: Module TRANSPORT\_MOD is used to call the proper version of ! the TPCORE advection scheme for different met field datasets and their ! nested or global grids. !\\ !\\ ! !INTERFACE: ! MODULE TRANSPORT_MOD ! ! !USES: ! USE PRECISION_MOD ! For GEOS-Chem Precision (fp) USE PRESSURE_MOD IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: CLEANUP_TRANSPORT PUBLIC :: DO_TRANSPORT PUBLIC :: INIT_TRANSPORT PUBLIC :: INIT_WINDOW_TRANSPORT ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: DO_GLOBAL_ADV PRIVATE :: DO_WINDOW_TRANSPORT ! ! !REVISION HISTORY: ! 10 Mar 2003 - Y. Wang, R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC !================================================================= ! MODULE VARIABLES: ! ! (1 ) Ap (REAL(fp) ) : Vertical coordinate array for TPCORE ! (2 ) A_M2 (REAL(fp) ) : Grid box surface areas [m2] ! (3 ) Bp (REAL(fp) ) : Vertical coordinate array for TPCORE ! (7 ) JLAST (INTEGER) : For fvDAS TPCORE ! (8 ) MG (INTEGER) : For fvDAS TPCORE ! (9 ) NG (INTEGER) : For fvDAS TPCORE ! (10) N_ADJ (INTEGER) : For fvDAS TPCORE !================================================================= INTEGER :: JFIRST INTEGER :: JLAST, NG, MG, N_ADJ REAL(fp), ALLOCATABLE :: Ap(:) REAL(fp), ALLOCATABLE :: Bp(:) REAL(fp), ALLOCATABLE, TARGET :: A_M2(:) CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: do_transport ! ! !DESCRIPTION: Subroutine DO\_TRANSPORT is the driver routine for the proper ! TPCORE program for GEOS-3, GEOS-4/GEOS-5, or window simulations. !\\ !\\ ! !INTERFACE: ! SUBROUTINE DO_TRANSPORT( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE Diagnostics_Mod, ONLY : Compute_Budget_Diagnostics USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_TS_DYN ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 10 Mar 2003 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL, SAVE :: FIRST = .TRUE. INTEGER :: BUFF_SIZE, I0_W1, J0_W1, IM_W1, JM_W1 INTEGER :: TS_Dyn REAL(f8) :: DT_Dyn ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc !======================================================================== ! DO_TRANSPORT begins here! !======================================================================== ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Do_Transport (in module GeosCore/transport_mod.F90)' !------------------------------------------------------------------------ ! Transport budget diagnostics - Part 1 of 2 !------------------------------------------------------------------------ IF ( State_Diag%Archive_BudgetTransport ) THEN ! Get initial column masses (full, trop, PBL) CALL Compute_Budget_Diagnostics( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & isFull = State_Diag%Archive_BudgetTransportFull, & diagFull = NULL(), & mapDataFull = State_Diag%Map_BudgetTransportFull, & isTrop = State_Diag%Archive_BudgetTransportTrop, & diagTrop = NULL(), & mapDataTrop = State_Diag%Map_BudgetTransportTrop, & isPBL = State_Diag%Archive_BudgetTransportPBL, & diagPBL = NULL(), & mapDataPBL = State_Diag%Map_BudgetTransportPBL, & isLevs = State_Diag%Archive_BudgetTransportLevs, & diagLevs = NULL(), & mapDataLevs = State_Diag%Map_BudgetTransportLevs, & colMass = State_Diag%BudgetColumnMass, & before_op = .TRUE., & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Transport budget diagnostics error 1' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF ! First-time initialization IF ( FIRST ) THEN IF ( State_Grid%NestedGrid ) THEN ! All nested grid simulations CALL INIT_WINDOW_TRANSPORT( Input_Opt, State_Grid, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Init_Window_Transport"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ELSE ! All global simulations CALL INIT_TRANSPORT( Input_Opt, State_Grid, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Init_Transport"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF FIRST = .FALSE. ENDIF !======================================================================== ! Choose the proper version of TPCORE for the nested-grid window ! region (usually 1x1 grids) or for the entire globe !======================================================================== IF ( State_Grid%NestedGrid ) THEN ! Set buffer size BUFF_SIZE = 2 ! (lzh, 09/01/2014) IM_W1 = ( State_Grid%NX - State_Grid%WestBuffer - & State_Grid%EastBuffer ) + 2 * BUFF_SIZE JM_W1 = ( State_Grid%NY - State_Grid%SouthBuffer - & State_Grid%NorthBuffer ) + 2 * BUFF_SIZE I0_W1 = State_Grid%WestBuffer - BUFF_SIZE J0_W1 = State_Grid%SouthBuffer - BUFF_SIZE ! Nested-grid simulation with GEOS-FP/MERRA2 met CALL DO_WINDOW_TRANSPORT( I0_W1, IM_W1, J0_W1, JM_W1, & Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Do_Window_Transport"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !======================================================================== ! Choose the proper version of TPCORE for global simulations !======================================================================== ELSE ! Call TPCORE w/ proper settings for the GEOS-FP/MERRA2 met fields CALL DO_GLOBAL_ADV( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Do_Global_Adv"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !------------------------------------------------------------------------ ! Transport (advection) budget diagnostics - Part 2 of 2 !------------------------------------------------------------------------ IF ( State_Diag%Archive_BudgetTransport ) THEN ! Dynamic timestep [s] TS_Dyn = GET_TS_DYN() DT_Dyn = DBLE( TS_Dyn ) ! Compute change in column masses (after transport - before transport) ! and store in diagnostic arrays. Units are [kg/s]. CALL Compute_Budget_Diagnostics( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & isFull = State_Diag%Archive_BudgetTransportFull, & diagFull = State_Diag%BudgetTransportFull, & mapDataFull = State_Diag%Map_BudgetTransportFull, & isTrop = State_Diag%Archive_BudgetTransportTrop, & diagTrop = State_Diag%BudgetTransportTrop, & mapDataTrop = State_Diag%Map_BudgetTransportTrop, & isPBL = State_Diag%Archive_BudgetTransportPBL, & diagPBL = State_Diag%BudgetTransportPBL, & mapDataPBL = State_Diag%Map_BudgetTransportPBL, & isLevs = State_Diag%Archive_BudgetTransportLevs, & diagLevs = State_Diag%BudgetTransportLevs, & mapDataLevs = State_Diag%Map_BudgetTransportLevs, & colMass = State_Diag%BudgetColumnMass, & timeStep = DT_Dyn, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Transport budget diagnostics error 2' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF END SUBROUTINE DO_TRANSPORT !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: do_global_adv ! ! !DESCRIPTION: Subroutine DO\_GLOBAL\_ADV is the driver routine ! for TPCORE with the GMAO GEOS-FP or MERRA-2 met fields. !\\ !\\ ! !INTERFACE: ! SUBROUTINE DO_GLOBAL_ADV( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE Calc_Met_Mod, ONLY : AIRQNT USE ErrCode_Mod USE ERROR_MOD USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE PhysConstants ! Physical constants USE PJC_PFIX_MOD, ONLY : DO_PJC_PFIX USE TIME_MOD, ONLY : GET_TS_DYN USE TPCORE_FVDAS_MOD, ONLY : TPCORE_FVDAS USE UnitConv_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! As of July 2016, we assume that all of the advected species are listed ! first in the species database. This is the easiest way to pass a slab ! to the TPCORE routine. This may change in the future. (bmy, 7/13/16) ! . ! Note: the mass flux diagnostic arrays (MASSFLEW, MASSFLNS and MASSFLUP) ! are incremented upside-down (level 1 = top of the atmosphere). ! The levels order is reversed only when written out to diagnostic output. ! ! !REVISION HISTORY: ! 30 Oct 2007 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: LFILL INTEGER :: IORD, JORD, KORD INTEGER :: I, J, L, L2, N, N_DYN, NA, nAdvect REAL(fp) :: D_DYN ! Arrays REAL(fp) :: P_TP1 (State_Grid%NX,State_Grid%NY) REAL(fp) :: P_TP2 (State_Grid%NX,State_Grid%NY) REAL(fp) :: P_TEMP(State_Grid%NX,State_Grid%NY) REAL(fp), TARGET :: XMASS (State_Grid%NX,State_Grid%NY,State_Grid%NZ) REAL(fp), TARGET :: YMASS (State_Grid%NX,State_Grid%NY,State_Grid%NZ) ! Pointers REAL(fp), POINTER :: p_UWND (:,:,: ) REAL(fp), POINTER :: p_VWND (:,:,: ) REAL(fp), POINTER :: p_XMASS(:,:,: ) REAL(fp), POINTER :: p_YMASS(:,:,: ) !================================================================= ! DO_GLOBAL_ADV begins here! !================================================================= ! Assume success RC = GC_SUCCESS ! Initialize LFILL = Input_Opt%LFILL IORD = Input_Opt%TPCORE_IORD JORD = Input_Opt%TPCORE_JORD KORD = Input_Opt%TPCORE_KORD nAdvect = State_Chm%nAdvect ! Dynamic timestep [s] N_DYN = GET_TS_DYN() D_DYN = REAL( N_DYN, fp ) !================================================================= ! Prepare variables for calls to PJC pressure-fixer and TPCORE ! ! For hybrid grids, the pressure at the ! bottom edge of grid box (I,J,L) is given by: ! ! P(I,J,L) = Ap(L) + [ Bp(L) * Psurface(I,J) ] ! ! where Psurface is the true surface pressure (i.e. not PS-PTOP). ! and Ap(L), Bp(L) define the vertical grid (see pressure_mod.f) !================================================================= !!### DEBUG: Print a few global species sums !IF ( Input_Opt%Verbose ) THEN ! CALL Print_Global_Species_Kg( 20, 20, 1, 'O3', & ! Input_Opt, State_Chm, & ! State_Grid, State_Met, & ! "do_global_adv: pre-advection", & ! RC ) !ENDIF !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Set true dry sfc pressure at midpoint of dynamic timestep [hPa] P_TP1(I,J) = GET_PEDGE_DRY(I,J,1) ! Set true dry sfc pressure at end of dynamic timestep [hPa] P_TP2(I,J) = State_Met%PSC2_DRY(I,J) ENDDO ENDDO !$OMP END PARALLEL DO !================================================================= ! Call the PJC/LLNL pressure fixer to get the adjusted air ! masses XMASS and YMASS. XMASS and YMASS need to be passed to ! TPCORE_FVDAS in order to ensure mass conservation. !================================================================= ! NOTE: P_TP1 and P_TP2 are the true surface pressures! CALL DO_PJC_PFIX( State_Grid, D_DYN, P_TP1, P_TP2, & State_Met%U, State_Met%V, XMASS, YMASS ) !================================================================= ! Call TPCORE_FVDAS to perform the advection !================================================================= ! Flip array indices in the vertical using pointer storage p_UWND => State_Met%U (:,:,State_Grid%NZ:1:-1) p_VWND => State_Met%V (:,:,State_Grid%NZ:1:-1) p_XMASS => XMASS (:,:,State_Grid%NZ:1:-1) p_YMASS => YMASS (:,:,State_Grid%NZ:1:-1) ! NOTE: For now, so as to avoid having to rewrite the internals ! of the TPCORE routines, just point to 1:nAdvect entries of ! State_Chm%Species. This is OK for now, as of July 2016, all of ! the advected species are listed first. This may change in the ! future, but we'll worry about that later. The units of p_SPC ! will be converted to [kg/kg moist air] below. (bmy, 7/13/16) ! Do the advection CALL TPCORE_FVDAS( D_DYN, Re, State_Grid%NX, State_Grid%NY, & State_Grid%NZ, JFIRST, JLAST, NG, & MG, nAdvect, Ap, Bp, & p_UWND, p_VWND, P_TP1, P_TP2, & P_TEMP, IORD, JORD, KORD, & N_ADJ, p_XMASS, p_YMASS, LFILL, & A_M2, State_Chm, State_Diag ) ! Free pointer memory p_UWND => NULL() p_VWND => NULL() p_XMASS => NULL() p_YMASS => NULL() !================================================================= ! Reset surface pressure and ensure mass conservation !================================================================= ! Update dry and wet floating pressures to the most recently ! interpolated values (State_Met%PSC2_DRY and State_Met%PSC2) ! (ewl, 7/6/16) CALL SET_FLOATING_PRESSURES( State_Grid, State_Met, RC) ! Update State_Met air quantities with new pressures. ! Do not update tracer mixing ratio because after advection ! the mixing ratio values reflect the new air pressure (ewl, 3/31/15) CALL AIRQNT( Input_Opt, State_Chm, State_Grid, State_Met, RC ) !!### DEBUG: Print a few global species sums !IF ( Input_Opt%Verbose ) THEN ! CALL Print_Global_Species_Kg( 20, 20, 1, 'O3', & ! Input_Opt, State_Chm, & ! State_Grid, State_Met, & ! "do_global_adv: post-airqnt", & ! RC ) ! CALL DEBUG_MSG( '### G4_G5_GLOB_ADV: a TPCORE' ) !ENDIF END SUBROUTINE DO_GLOBAL_ADV !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: do_window_transport ! ! !DESCRIPTION: Subroutine DO\_WINDOW\_TRANSPORT is the driver program ! for the proper TPCORE program for the GEOS-FP/MERRA2 nested-grid ! simulations. !\\ !\\ ! !INTERFACE: ! SUBROUTINE DO_WINDOW_TRANSPORT( I0, IM, J0, JM, & Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE Calc_Met_Mod, ONLY : AIRQNT USE ErrCode_Mod USE ERROR_MOD USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE PhysConstants ! Physical constants USE PJC_PFIX_WINDOW_MOD, ONLY : DO_PJC_PFIX_WINDOW USE TIME_MOD, ONLY : GET_TS_DYN USE TPCORE_WINDOW_MOD, ONLY : TPCORE_WINDOW USE UnitConv_Mod ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I0 INTEGER, INTENT(IN) :: IM INTEGER, INTENT(IN) :: J0 INTEGER, INTENT(IN) :: JM TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! As of July 2016, we assume that all of the advected species are listed ! first in the species database. This is the easiest way to pass a slab ! to the TPCORE routine. This may change in the future. (bmy, 7/13/16) ! . ! Note: the mass flux diagnostic arrays (MASSFLEW, MASSFLNS and MASSFLUP) ! are incremented upside-down (level 1 = top of the atmosphere). ! The levels order is reversed only when written out to diagnostic output. ! ! !REVISION HISTORY: ! 10 Mar 2003 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: LFILL INTEGER :: IORD, JORD, KORD INTEGER :: IA, IB, JA, JB INTEGER :: NA, nAdvect, N_DYN INTEGER :: I, J, L, L2, N REAL(fp) :: D_DYN ! Arrays REAL(fp), TARGET :: P_TP1 (State_Grid%NX,State_Grid%NY) REAL(fp), TARGET :: P_TP2 (State_Grid%NX,State_Grid%NY) REAL(fp), TARGET :: P_TEMP(State_Grid%NX,State_Grid%NY) REAL(fp), TARGET :: XMASS (State_Grid%NX,State_Grid%NY,State_Grid%NZ) REAL(fp), TARGET :: YMASS (State_Grid%NX,State_Grid%NY,State_Grid%NZ) REAL(fp), TARGET :: Q_Spc (IM,JM,State_Grid%NZ,State_Chm%nAdvect) ! Pointers REAL(fp), POINTER :: p_A_M2 ( : ) REAL(fp), POINTER :: p_P_TP1 (:,: ) REAL(fp), POINTER :: p_P_TP2 (:,: ) REAL(fp), POINTER :: p_P_TEMP(:,: ) REAL(fp), POINTER :: p_UWND (:,:,: ) REAL(fp), POINTER :: p_VWND (:,:,: ) REAL(fp), POINTER :: p_XMASS (:,:,: ) REAL(fp), POINTER :: p_YMASS (:,:,: ) REAL(fp), POINTER :: p_Spc (:,:,:,:) !================================================================= ! DO_FVDAS_WINDOW_TRANSPORT begins here! !================================================================= ! Assume success RC = GC_SUCCESS ! Copy values from Input_Opt LFILL = Input_Opt%LFILL IORD = Input_Opt%TPCORE_IORD JORD = Input_Opt%TPCORE_JORD KORD = Input_Opt%TPCORE_KORD nAdvect = State_Chm%nAdvect ! Initialize pointers p_A_M2 => NULL() p_P_TP1 => NULL() p_P_TP2 => NULL() p_P_TEMP => NULL() p_UWND => NULL() p_VWND => NULL() p_XMASS => NULL() p_YMASS => NULL() p_Spc => NULL() ! Dynamic timestep [s] N_DYN = GET_TS_DYN() D_DYN = N_DYN ! Set start and end indices for the window IA = I0 + 1 IB = I0 + IM JA = J0 + 1 JB = J0 + JM ! Set local array for species concentrations in window DO N = 1, State_Chm%nAdvect Q_Spc(:,:,:,N)= State_Chm%Species(N)%Conc(IA:IB,JA:JB,:) ENDDO !================================================================= ! Prepare variables for calls to PJC pressure-fixer and TPCORE ! ! For hybrid grids, the pressure at the ! bottom edge of grid box (I,J,L) is given by: ! ! P(I,J,L) = Ap(L) + [ Bp(L) * Psurface(I,J) ] ! ! where Psurface is the true surface pressure (i.e. not PS-PTOP). ! and Ap(L), Bp(L) define the vertical grid (see pressure_mod.f) !================================================================= !IF ( Input_Opt%Verbose ) THEN ! CALL Print_Global_Species_Kg( 20, 20, 1, 'SPC_O3', & ! Input_Opt, State_Chm, & ! State_Grid, State_Met, & ! "do_window_transport: pre-advection", & ! RC ) !ENDIF !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Set true dry sfc pressure at midpoint of dynamic timestep [hPa] P_TP1(I,J) = GET_PEDGE_DRY(I,J,1) ! Set true dry sfc pressure at end of dynamic timestep [hPa] P_TP2(I,J) = State_Met%PSC2_DRY(I,J) ENDDO ENDDO !$OMP END PARALLEL DO !================================================================= ! Call the PJC/LLNL pressure fixer to get the adjusted air ! masses XMASS and YMASS. XMASS and YMASS need to be passed to ! TPCORE_FVDAS in order to ensure mass conservation. !================================================================= XMASS = 0e+0_fp !(dan) YMASS = 0e+0_fp ! NOTE: P_TP1 and P_TP2 are the true surface pressures! CALL DO_PJC_PFIX_WINDOW( State_Grid, D_DYN, & P_TP1, P_TP2, & State_Met%U, State_Met%V, & XMASS, YMASS ) IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### FVDAS_WINDOW: a PJC_PFIX_WINDOW') ENDIF ! Flip array indices in the vertical using pointer storage ! Exclude the buffer zone (lzh, 4/1/2015) p_A_M2 => A_M2 ( JA:JB ) p_P_TP1 => P_TP1 ( IA:IB, JA:JB ) p_P_TP2 => P_TP2 ( IA:IB, JA:JB ) p_P_TEMP => P_TEMP ( IA:IB, JA:JB ) p_UWND => State_Met%U( IA:IB, JA:JB, State_Grid%NZ:1:-1 ) p_VWND => State_Met%V( IA:IB, JA:JB, State_Grid%NZ:1:-1 ) p_XMASS => XMASS ( IA:IB, JA:JB, State_Grid%NZ:1:-1 ) p_YMASS => YMASS ( IA:IB, JA:JB, State_Grid%NZ:1:-1 ) p_Spc => Q_Spc ( :, :, State_Grid%NZ:1:-1, : ) ! Do the advection CALL TPCORE_WINDOW(D_DYN, Re, IM, JM, State_Grid%NZ, & JFIRST, JLAST, NG, MG, nAdvect, & Ap, Bp, p_UWND, p_VWND, p_P_TP1, & p_P_TP2, p_P_TEMP, p_Spc, IORD, JORD, & KORD, N_ADJ, p_XMASS, p_YMASS, & p_A_M2, State_Chm, State_Diag ) ! Update species concentrations from local array DO N = 1, State_Chm%nAdvect State_Chm%Species(N)%Conc(IA:IB,JA:JB,:) = Q_Spc(:,:,:,N) ENDDO ! Free pointer memory p_UWND => NULL() p_VWND => NULL() p_Spc => NULL() p_XMASS => NULL() p_YMASS => NULL() p_P_TP1 => NULL() p_P_TP2 => NULL() p_P_TEMP => NULL() p_A_M2 => NULL() !================================================================= ! Reset surface pressure and ensure mass conservation !================================================================= ! Update dry and wet floating pressures to the most recently ! interpolated values (State_Met%PSC2_DRY and State_Met%PSC2) ! (ewl, 7/6/16) CALL SET_FLOATING_PRESSURES( State_Grid, State_Met, RC) ! Update State_Met air quantities with new pressures. ! Do not update tracer mixing ratio because after advection ! the mixing ratio values reflect the new air pressure (ewl, 3/31/15) CALL AIRQNT( Input_Opt, State_Chm, State_Grid, State_Met, RC ) !!### Debug !IF ( Input_Opt%Verbose ) THEN ! CALL Print_Global_Species_Kg( 20, 20, 1, 'SPC_O3', & ! Input_Opt, State_Chm, & ! State_Grid, State_Met, & ! "do_window_transport: post-airqnt", & ! RC ) ! CALL DEBUG_MSG( '### NESTED_ADV: a TPCORE' ) !ENDIF END SUBROUTINE DO_WINDOW_TRANSPORT !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: init_transport ! ! !DESCRIPTION: Subroutine INIT\_TRANSPORT initializes all module variables ! and arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE INIT_TRANSPORT( Input_Opt, State_Grid, RC ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD, ONLY : ALLOC_ERR USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState USE PhysConstants ! Re USE TIME_MOD, ONLY : GET_TS_DYN USE TPCORE_FVDAS_MOD, ONLY : INIT_TPCORE ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 10 Mar 2003 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: LTRAN INTEGER :: J, K, L, N_DYN REAL(fp) :: YMID_R(State_Grid%NY) REAL(fp) :: REAL_N_DYN ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc !================================================================= ! Initialize !================================================================= RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Init_Transport (in module GeosCore/transport_mod.F90)' !================================================================= ! Allocate arrays for TPCORE vertical coordinates ! ! For fvDAS TPCORE with for GEOS-FP or MERRA-2 met fields: ! ! P(I,J,L) = Ap(L) + ( Bp(L) * Psurf(I,J) ) ! ! Also here Ap, Bp will be flipped since both TPCORE versions ! index levels from the atm. top downwards (bdf, bmy, 10/30/07) !================================================================= ALLOCATE( Ap( State_Grid%NZ+1 ), STAT=RC ) CALL GC_CheckVar( 'transport_mod.F:Ap', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ALLOCATE( Bp( State_Grid%NZ+1 ), STAT=RC ) CALL GC_CheckVar( 'transport_mod.F:Bp', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ! Flip Ap and Bp for TPCORE DO L = 1, State_Grid%NZ+1 ! As L runs from the surface up, ! K runs from the top down K = ( State_Grid%NZ + 1 ) - L + 1 Ap(L) = GET_AP(K) ! Ap(L) is in [hPa] Bp(L) = GET_BP(K) ENDDO !================================================================= ! Allocate arrays for surface area and layer thickness !================================================================= ALLOCATE( A_M2( State_Grid%NY ), STAT=RC ) CALL GC_CheckVar( 'transport_mod.F:A_m2', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ! Surface area [m2] DO J = 1, State_Grid%NY A_M2(J) = State_Grid%Area_M2(1,J) ENDDO !================================================================= ! Additional setup for the fvDAS version of TPCORE !================================================================= ! Initialize N_DYN = GET_TS_DYN() N_ADJ = 0 NG = 0 MG = 0 ! YMID_R is latitude of grid box center [radian] DO J = 1,State_Grid%NY YMID_R(J) = State_Grid%YMid_R(1,J) ENDDO REAL_N_DYN = N_DYN ! Call INIT routine from "tpcore_fvdas_mod.f" CALL INIT_TPCORE( & State_Grid%NX, State_Grid%NY, State_Grid%NZ, & JFIRST, JLAST, NG, & MG, REAL_N_DYN, Re, & YMID_R, Input_Opt%Verbose, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Init_Tpcore"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF END SUBROUTINE INIT_TRANSPORT !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: init_window_transport ! ! !DESCRIPTION: Subroutine INIT\_WINDOW\_TRANSPORT initializes all ! module variables and arrays for the GEOS-FP/MERRA2 nested grid ! simulation. !\\ !\\ ! !INTERFACE: ! SUBROUTINE INIT_WINDOW_TRANSPORT( Input_Opt, State_Grid, RC ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD, ONLY : ALLOC_ERR USE Input_Opt_Mod, ONLY : OptInput USE PhysConstants ! Re USE State_Grid_Mod, ONLY : GrdState USE TIME_MOD, ONLY : GET_TS_DYN USE TPCORE_WINDOW_MOD, ONLY : INIT_WINDOW ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 06 Jun 2008 - D. Chen & R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: LTRAN INTEGER :: BUFF_SIZE INTEGER :: J, K, L, N_DYN INTEGER :: IM_W1, JM_W1, I0_W1, J0_W1 ! Arrays REAL(fp) :: YMID_R_W(0:State_Grid%NY+1) !================================================================= ! Initialize !================================================================= ! Assume success RC = GC_SUCCESS ! Copy values from Input_Opt LTRAN = Input_Opt%LTRAN !================================================================= ! Allocate arrays for TPCORE vertical coordinates ! GEOS-FP/MERRA2 nested grid simulation only!!! ! ! For fvDAS TPCORE with for GEOS-FP/MERRA2 met fields: ! ! P(I,J,L) = Ap(L) + ( Bp(L) * Psurf(I,J) ) ! ! Also here Ap, Bp will be flipped since both TPCORE versions ! index levels from the atm. top downwards (bdf, bmy, 10/30/07) !================================================================= ALLOCATE( Ap( State_Grid%NZ+1 ), STAT=RC ) IF ( RC /= 0 ) CALL ALLOC_ERR( 'Ap' ) ALLOCATE( Bp( State_Grid%NZ+1 ), STAT=RC ) IF ( RC /= 0 ) CALL ALLOC_ERR( 'Bp' ) ! Flip Ap and Bp for TPCORE DO L = 1, State_Grid%NZ+1 ! As L runs from the surface up, ! K runs from the top down K = ( State_Grid%NZ + 1 ) - L + 1 Ap(L) = GET_AP(K) Bp(L) = GET_BP(K) ENDDO !================================================================= ! Allocate arrays for surface area and layer thickness !================================================================= ALLOCATE( A_M2( State_Grid%NY ), STAT=RC ) IF ( RC /= 0 ) CALL ALLOC_ERR( 'A_M2' ) ! Surface area [m2] DO J = 1, State_Grid%NY A_M2(J) = State_Grid%Area_M2(1,J) ENDDO !================================================================= ! Additional setup for the fvDAS version of TPCORE !================================================================= ! Initialize N_DYN = GET_TS_DYN() N_ADJ = 0 NG = 0 MG = 0 ! (lzh, 4/1/2015) BUFF_SIZE = 2 IM_W1 = ( State_Grid%NX - State_Grid%WestBuffer - & State_Grid%EastBuffer ) + 2 * BUFF_SIZE JM_W1 = ( State_Grid%NY - State_Grid%SouthBuffer - & State_Grid%NorthBuffer ) + 2 * BUFF_SIZE I0_W1 = State_Grid%WestBuffer - BUFF_SIZE J0_W1 = State_Grid%SouthBuffer - BUFF_SIZE ! YMID_R is latitude of grid box center [radians] DO J = 1, State_Grid%NY YMID_R_W(J) = State_Grid%YMid_R(1,J) ENDDO ! Compute YMID_R_W at southern edge of nested region J = 0 YMID_R_W(J) = State_Grid%YMid_R(1,J+1) - (State_Grid%DY * PI_180) ! Compute YMID_R_W at northern edge of nested region J = State_Grid%NY+1 YMID_R_W(J) = State_Grid%YMid_R(1,J-1) + (State_Grid%DY * PI_180) ! Call INIT routine from "tpcore_window_mod.F90" CALL INIT_WINDOW( & State_Grid = State_Grid, & IM = IM_W1, & JM = JM_W1, & KM = State_Grid%NZ, & JFIRST = JFIRST, & JLAST = JLAST, & NG = NG, & MG = MG, & DT = REAL( N_DYN, fp ), & AE = REAL( Re, fp ), & CLAT = YMID_R_W( J0_W1:(J0_W1+JM_W1+1) ) ) END SUBROUTINE INIT_WINDOW_TRANSPORT !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: cleanup_transport ! ! !DESCRIPTION: Subroutine CLEANUP\_TRANSPORT deallocates all module arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CLEANUP_TRANSPORT ! ! !REVISION HISTORY: ! 10 Mar 2003 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC IF ( ALLOCATED( Ap ) ) DEALLOCATE( Ap ) IF ( ALLOCATED( A_M2 ) ) DEALLOCATE( A_M2 ) IF ( ALLOCATED( Bp ) ) DEALLOCATE( Bp ) END SUBROUTINE CLEANUP_TRANSPORT !EOC END MODULE TRANSPORT_MOD ================================================ FILE: GeosCore/ucx_mod.F90 ================================================ !------------------------------------------------------------------------------ ! MIT Laboratory for Aviation and the Environment ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: ucx_mod.F90 ! ! !DESCRIPTION: Module UCX\_MOD contains routines and variables which ! are associated with the addition of full stratospheric chemistry to ! GEOS-Chem (based on the NASA GMI implementation, forming the Unified ! Chemistry eXtension (UCX). !\\ !\\ ! !INTERFACE: ! MODULE UCX_MOD ! ! !USES: ! USE ERROR_MOD, ONLY : DEBUG_MSG USE inquireMod, ONLY : findFreeLUN USE PhysConstants ! Physical constants USE PRECISION_MOD ! For GEOS-Chem Precision (fp) #if !defined( EXTERNAL_GRID ) ! NcdfUtil modules for netCDF I/O USE m_netcdf_io_open ! netCDF open USE m_netcdf_io_get_dimlen ! netCDF dimension queries USE m_netcdf_io_read ! netCDF data reads USE m_netcdf_io_close ! netCDF close #endif IMPLICIT NONE #if !defined( EXTERNAL_GRID ) # include "netcdf.inc" #endif PRIVATE ! ! !PUBLIC DATA MEMBERS: ! PUBLIC :: T_STS ! Max temperature of STS formation (K) ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: SET_H2O_TRAC PUBLIC :: SETTLE_STRAT_AER PUBLIC :: SO4_PHOTFRAC PUBLIC :: UCX_NOX PUBLIC :: UCX_H2SO4PHOT PUBLIC :: CALC_STRAT_AER PUBLIC :: GET_STRAT_OPT PUBLIC :: INIT_UCX ! ! PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: TERNARY PRIVATE :: CARSLAW_DENSITY PRIVATE :: CALC_H2SO4_GAS PRIVATE :: CALC_SLA_GAMMA PRIVATE :: MOLEC_SPEED PRIVATE :: NOXCOEFF_INIT PRIVATE :: GET_JJNOX ! ! !REVISION HISTORY: ! 26 Mar 2013 - S. D. Eastham - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! !================================================================= ! MODULE PARAMETERS ! ! UCX_NLEVS : Number of levels in AER data ! UCX_NLAT : Number of latitudes in AER data ! T_STS : Maximum temperature of STS formation (K) ! I_SLA : Index of liquid aerosols ! I_SPA : Index of particulate PSCs ! INITMR_BASIS : Year for which the initializing mixing ratios ! were calculated (needed for future-scaling) !================================================================= INTEGER, PARAMETER :: UCX_NLEVS=51 INTEGER, PARAMETER :: UCX_NLAT=19 REAL(fp), PARAMETER :: T_STS=240.0e+0_fp INTEGER, PARAMETER :: I_SLA=1 INTEGER, PARAMETER :: I_SPA=2 INTEGER, PARAMETER :: INITMR_BASIS = 2005 ! ! PRIVATE TYPES: ! !================================================================= ! MODULE VARIABLES: ! ! Scalars ! ! TRAC_IDX : Species index for output ! SLA_VA : SLA volume-area conversion ! SLA_RR : SLA effective-liquid radius conversion ! SLA_VR : SLA volume-effective radius conversion ! NATMW : Molar mass of NAT (kg/kmol) ! ICEMEW : Molar mass of ice (kg/kmol) ! DENSNAT : Density of pure NAT (kg/m3) ! DENSICE : Density of pure ice (kg/m3) ! ISR_ClNO3 : ClNO3 MW (inverse sqrt) (kg/kmol)^-0.5 ! ISR_BrNO3 : BrNO3 MW (inverse sqrt) (kg/kmol)^-0.5 ! ISR_N2O5 : N2O5 MW (inverse sqrt) (kg/kmol)^-0.5 ! ISR_HOCl : HOCl MW (inverse sqrt) (kg/kmol)^-0.5 ! ISR_HOBr : HOBr MW (inverse sqrt) (kg/kmol)^-0.5 ! ! Arrays (now moved to State_Chm object) ! ! State_Chm%UCX_PLEVS : Pressure levels of 2D data (hPa) ! State_Chm%UCX_LATS : Latitude edges of 2D data (deg) ! State_Chm%RAD_AER : Strat. aerosol radius (cm) ! State_Chm%KG_AER : Aerosol mass (kg/box) ! State_Chm%SAD_AER : Aerosol surface area density (cm2/cm3) ! State_Chm%NDENS_AER : Aerosol number density (#/m3) ! State_Chm%RHO_AER : Aerosol mass density (kg/m3 aerosol) ! State_Chm%AERFRAC : Mass fraction of species in liquid aerosols ! State_Chm%AERFRACIND : Indices of liquid aerosol species ! State_Chm%NOX_O : Monthly mean noontime O3P/O1D for NOx calcs ! State_Chm%NOX_J : Monthly mean noontime J-rates for NOx calcs ! State_Chm%SO4_TOPPHOT : Photolysis rate at the top of the chemgrid (1/s) ! !================================================================= ! Scalars REAL(fp) :: SLA_VA REAL(fp) :: SLA_RR REAL(fp) :: SLA_VR REAL(fp), PARAMETER :: NATMW = 117.0_fp REAL(fp), PARAMETER :: ICEMW = 18.0_fp REAL(fp), PARAMETER :: DENSNAT = 1626.e+0_fp REAL(fp), PARAMETER :: DENSICE = 990.0e+0_fp REAL(fp), PARAMETER :: ISR_ClNO3=1.e+0_fp/sqrt(97.46e+0_fp) REAL(fp), PARAMETER :: ISR_BrNO3=1.e+0_fp/sqrt(141.9e+0_fp) REAL(fp), PARAMETER :: ISR_N2O5 =1.e+0_fp/sqrt(108.0e+0_fp) REAL(fp), PARAMETER :: ISR_HOCl =1.e+0_fp/sqrt(52.46e+0_fp) REAL(fp), PARAMETER :: ISR_HOBr =1.e+0_fp/sqrt(96.91e+0_fp) !================================================================= ! Species ID flags ! These are now defined in INIT_UCX and used where needed. ! (sde, bmy, 6/21/16) !================================================================= INTEGER :: id_BCPI, id_Br, id_Br2, id_BrCl, id_BrNO2 INTEGER :: id_BrNO3, id_BrO, id_CCl4 INTEGER :: id_CH3Br, id_CHBr3, id_CH2Br2, id_CH3Cl INTEGER :: id_CH3CCl3, id_CH4, id_Cl, id_Cl2, id_Cl2O2 INTEGER :: id_ClNO2, id_ClNO3, id_ClO, id_ClOO, id_H1211 INTEGER :: id_H1301, id_H2, id_H2402, id_H2O, id_HBr INTEGER :: id_HCl, id_HNO2, id_HNO3, id_N INTEGER :: id_HNO4, id_HOBr, id_HOCl, id_N2O, id_N2O5 INTEGER :: id_NIT, id_NO, id_NO2, id_NO3, id_O3 INTEGER :: id_OClO, id_PAN, id_SO2, id_SO4 CONTAINS ! !EOC !------------------------------------------------------------------------------ ! MIT Laboratory for Aviation and the Environment ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ucx_nox ! ! !DESCRIPTION: Subroutine UCX\_NOX calculates NOx and N2O loss ! rates above the chemistry grid, based on estimates of j-rates from ! a 2D model and simple photochemical assumptiones. !\\ !\\ ! !INTERFACE: ! SUBROUTINE UCX_NOX( Input_Opt, State_Chm, State_Grid, State_Met ) ! ! !USES: ! USE ERROR_MOD, ONLY : ERROR_STOP USE ERROR_MOD, ONLY : DEBUG_MSG USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_TS_CHEM USE TIME_MOD, ONLY : GET_DAY_OF_YEAR USE TIME_MOD, ONLY : GET_MONTH USE TIME_MOD, ONLY : ITS_A_LEAPYEAR USE TIME_MOD, ONLY : GET_HOUR USE TIME_MOD, ONLY : GET_LOCALTIME USE TIME_MOD, ONLY : GET_MINUTE ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input options TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !REVISION HISTORY: ! 16 Jul 2013 - S. D. Eastham - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! For indexing the O1D/O3P concentration array INTEGER, PARAMETER :: O3PIDX = 1 INTEGER, PARAMETER :: O1DIDX = 2 ! For indexing the J-rate coefficient array INTEGER, PARAMETER :: JNOIDX = 1 INTEGER, PARAMETER :: JNO2IDX= 2 INTEGER, PARAMETER :: JNO3IDX= 3 INTEGER, PARAMETER :: JN2OIDX= 4 ! Reaction rates and indices REAL(fp),DIMENSION(12):: RRATE INTEGER, PARAMETER :: k_JNO = 6 INTEGER, PARAMETER :: k_JNO2 = 4 INTEGER, PARAMETER :: k_JNO3 = 5 INTEGER, PARAMETER :: k_JN2O = 12 ! Intermediate variables REAL(fp) :: LOCALNOX, LOCALN2O, LOCALO3, LOCALO1D, LOCALO3P REAL(fp) :: OLD_NO3, OLD_NO2, OLD_NO, OLD_N, OLD_N2O REAL(fp) :: NEW_NO3, NEW_NO2, NEW_NO, NEW_N, NEW_N2O REAL(fp) :: FRACNO, FRACNO2, FRACNO3, FRACN REAL(fp) :: NOXRATE, N2ORATE, KGNOX, KGN2O REAL(fp) :: NO_ALPHA, NO_BETA, NO_GAMMA, NO_EPSILON REAL(fp) :: NO_QA, NO_QX, NO_QC, DNOX, DN2O REAL(fp) :: MESONOX_DELTA REAL(fp) :: MESON2O_DELTA ! Local air number density (molec/cm3) and box mass (kg) REAL(fp) :: NDAIR REAL(fp) :: XAIR ! Local temperature (K) and inverted T (1/K) REAL(fp) :: T3K, TINV ! Chemistry timestep in seconds REAL(f8) :: DTCHEM ! Timestep in hours REAL(f8) :: DTCHEM_HR ! Timing information INTEGER, SAVE :: LASTMONTH=0 ! Grid indexing INTEGER :: I,J,L REAL(fp) :: MIDLAT, ZDEL, ZBASE REAL(fp) :: ZMID(State_Grid%NX,State_Grid%NY,State_Grid%NZ) ! Local daylight fraction REAL(fp) :: DAYFRAC LOGICAL :: CYCLEBOX CHARACTER(LEN=255) :: DBGMSG ! Pointers TYPE(SpcConc), POINTER :: Spc(:) REAL(fp), POINTER :: ZPJ(:,:,:,:) ! Required for updated chemistry Integer :: LMinPhot !================================================================= ! UCX_NOX begins here! !================================================================= ! Point to GEOS-Chem species array and J-values Spc => State_Chm%Species ZPJ => State_Chm%Phot%ZPJ ! Retrieve monthly mean data if necessary IF (LASTMONTH.ne.GET_MONTH()) THEN LASTMONTH = GET_MONTH() CALL GET_NOXCOEFF( LASTMONTH, Input_Opt, State_Grid, State_Chm, State_Met ) ENDIF ! Get chemistry step length in seconds DTCHEM = GET_TS_CHEM() DTCHEM_HR = DTCHEM/3600.e+0_f8 ! Reset NOx/N2O mass counters MESONOX_DELTA = 0e+0_fp MESON2O_DELTA = 0e+0_fp ! First compute ZMID outside of main parallel loop !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, ZBASE, ZDEL ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Zero base height ZBASE = 0e+0_fp ! Compute the array of midpoint heights [m] DO L = 1, State_Grid%NZ ZDEL = State_Met%BXHEIGHT(I,J,L) ZMID(I,J,L) = ZBASE + (ZDEL/2.e+0_fp) ZBASE = ZBASE + ZDEL ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ! Main parallel DO loop over lon, lat, alt !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L ) & !$OMP PRIVATE( DAYFRAC, DN2O, CYCLEBOX ) & !$OMP PRIVATE( RRATE, T3K, TINV ) & !$OMP PRIVATE( NDAIR, XAIR, KGNOX, KGN2O ) & !$OMP PRIVATE( LOCALNOX, LOCALN2O, LOCALO3, LOCALO3P ) & !$OMP PRIVATE( LOCALO1D, NO_ALPHA, NO_BETA, NO_GAMMA ) & !$OMP PRIVATE( FRACNO2, FRACNO3, FRACNO, FRACN ) & !$OMP PRIVATE( NOXRATE, N2ORATE, DNOX ) & !$OMP PRIVATE( OLD_NO3, OLD_NO2, OLD_NO, OLD_N ) & !$OMP PRIVATE( NEW_NO3, NEW_NO2, NEW_NO, NEW_N ) & !$OMP PRIVATE( OLD_N2O, NEW_N2O, LMinPhot ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Calculate daylight fraction DAYFRAC = State_Met%SUNCOSmid(I,J) LMINPHOT = State_Met%ChemGridLev(I,J) CycleBox = (L.le.LMinPhot) ! Are the pre-calculated J-rates zero (ie in darkness)? IF (CYCLEBOX) CYCLE ! Reset reaction rates RRATE = 0e+0_fp ! Retrieve air mass (kg) and local temperature (K) T3K = State_Met%T(I,J,L) TINV = 1.e+0_fp/T3K ! Calculate air number density (molec/cm3) ! Now using dry air partial pressure (ewl, 3/2/15) NDAIR = State_Met%PMID_DRY(I,J,L)*1.d-4*AVO/(RSTARG*T3K) XAIR = NDAIR / State_Met%AD(I,J,L) ! Get total mass of N2O kgN2O = Spc(id_N2O)%Conc(I,J,L) ! Get local concentrations in molec/cm3 ! Ignore the data for atomic N - not well defined for ! non-chemgrid boxes, and in any case the molar mass ! may not be present or correctly defined OLD_N = 0.0_fp OLD_NO = Spc(id_NO)%Conc(I,J,L) * & (AIRMW / State_Chm%SpcData(id_NO )%Info%MW_g) * XAIR OLD_NO2 = Spc(id_NO2)%Conc(I,J,L) * & (AIRMW / State_Chm%SpcData(id_NO2)%Info%MW_g) * XAIR OLD_NO3 = Spc(id_NO3)%Conc(I,J,L) * & (AIRMW / State_Chm%SpcData(id_NO3)%Info%MW_g) * XAIR OLD_N2O = kgN2O * & (AIRMW / State_Chm%SpcData(id_N2O)%Info%MW_g) * XAIR ! Total concentrations localNOx = OLD_N + OLD_NO + OLD_NO2 + OLD_NO3 localN2O = OLD_N2O ! Get ozone from model LOCALO3 = Spc(id_O3)%Conc(I,J,L) * ( AIRMW / & State_Chm%SpcData(id_O3)%Info%MW_g ) * XAIR ! These reactions are relevant during both day and night-time ! chemistry ! 2: NO + O3 -> NO2 + O2 RRATE(2) = 3.0e-12_fp*exp(-1500.e+0_fp*TINV) ! 3: NO2 + O3 -> NO3 + O2 RRATE(3) = 1.2e-13_fp*exp(-2450.e+0_fp*TINV) ! During night time, assume everything is NO2 and ! that there is no significant production or loss. ! The only exception is NO3, which is assumed to ! remain unchanged If (DayFrac.lt.1.0e-10_fp) Then ! Simple assumption: all N and NO go to NO2 ! NO3 remains unchanged DN2O = 0.0e+0_fp DNOx = 0.0e+0_fp ! Complex assumption: all N goes to NO ! Night-time chemistry is slow; assume zero ! O1D or O3P. ! Simplified reactions - allow slow conversion of NO -> NO2 ! and NO2 -> NO3. Ignore all others. This can be solved ! analytically (decay chain) NEW_N = 0.0e+0_fp NEW_NO = (OLD_NO + OLD_N)*dexp(-dtChem*RRATE(2)*localO3) NEW_NO2 = OLD_NO2*dexp(-dtChem*RRATE(3)*localO3) + & ((OLD_NO + OLD_N)/((RRATE(3)/RRATE(2))-1.0e+0_fp)) & *(dexp(-dtChem*RRATE(2)*localO3) - & dexp(-dtChem*RRATE(3)*localO3)) NEW_NO3 = OLD_NO3 + (OLD_NO2 + OLD_NO + OLD_N) - & (NEW_NO2 + NEW_NO + NEW_N) FRACN = 0.0e+0_fp ! Enforce safe division (bmy, 9/17/20) IF ( localNOx > 0.0_fp ) THEN FRACNO = NEW_NO/localNOx FRACNO2 = NEW_NO2/localNOx FRACNO3 = NEW_NO3/localNOx ELSE FRACNO = 0.0_fp FRACNO2 = 0.0_fp FRACNO3 = 0.0_fp ENDIF Else ! Calculate remaining rate constants ! 1: NO2 + O -> NO + O2 RRATE(1) = 5.1e-12_fp*exp(210.e+0_fp*TINV) ! 4: NO2 + hv -> NO + O1D !RRATE(k_JNO2) = State_Chm%NOX_J(I,J,L,JNO2IDX)*DAYFRAC IF ( State_Chm%Phot%RXN_NO2 > 0 ) THEN RRATE(k_JNO2) = ZPJ(LMINPHOT,State_Chm%Phot%RXN_NO2,I,J) ENDIF ! 5: NO3 + hv -> NO2 + O !RRATE(k_JNO3) = State_Chm%NOX_J(I,J,L,JNO3IDX)*DAYFRAC IF ( State_Chm%Phot%RXN_NO3 > 0 ) THEN RRATE(k_JNO3) = ZPJ(LMINPHOT,State_Chm%Phot%RXN_NO3,I,J) ENDIF ! 6: NO + hv -> N + O !RRATE(k_JNO ) = State_Chm%NOX_J(I,J,L,JNOIDX)*DAYFRAC IF ( State_Chm%Phot%RXN_NO > 0 ) THEN RRATE(k_JNO) = ZPJ(LMINPHOT,State_Chm%Phot%RXN_NO,I,J) ENDIF ! 7: N + NO2 -> N2O + O RRATE(7) = 5.8e-12_fp*exp(220.e+0_fp*TINV) ! 8: N + NO -> N2 + O RRATE(8) = 2.1e-11_fp*exp(100.e+0_fp*TINV) ! 9: N + O2 -> NO + O RRATE(9) = 1.5e-11_fp*exp(-3600.e+0_fp*TINV) ! 10: N2O + O1D -> N2 + O2 RRATE(10) = 4.63e-11_fp*exp(20.e+0_fp*TINV) ! 11: N2O + O1D -> 2NO RRATE(11) = 7.25e-11_fp*exp(20.e+0_fp*TINV) ! 12: N2O + hv -> N2 + O1D !RRATE(k_JN2O) = State_Chm%NOX_J(I,J,L,JN2OIDX)*DAYFRAC IF ( State_Chm%Phot%RXN_N2O > 0 ) THEN RRATE(k_JN2O) = ZPJ(LMINPHOT,State_Chm%Phot%RXN_N2O,I,J) ENDIF ! Sanity check Where(RRate.lt.0.0e+0_fp) RRate = 0.0e+0_fp ! Retrieve local O3P/O1D mixing ratios and relevant ! j-rates from interpolated 2D arrays LOCALO3P = State_Chm%NOX_O(I,J,L,1)*NDAIR*DAYFRAC LOCALO1D = State_Chm%NOX_O(I,J,L,2)*NDAIR*DAYFRAC ! Partition NOx into N, NO, NO2 and NO3 based on PSSA ! Two cases: Daytime/nighttime NO_ALPHA = RRATE(k_JNO) / (RRATE(9)*0.21e+0_fp*NDAIR) ! Enforce safe division (bmy, 9/17/20) IF ( RRATE(2) * LocalO3 > 0.0_fp ) THEN NO_BETA = (RRATE(k_JNO2)+(RRATE(1)*LOCALO3P)) / (RRATE(2)*LOCALO3) ELSE NO_BETA = 0.0_fp ENDIF IF ( RRATE(k_JNO3) > 0.0_fp ) THEN NO_GAMMA = (RRATE(3)*LOCALO3) / RRATE(k_JNO3) ELSE NO_GAMMA = 0.0_fp ENDIF ! Calculate the partition fractions FRACNO2 = 1.e+0_fp/(1.e+0_fp+NO_GAMMA+(NO_BETA* & (1.e+0_fp+NO_ALPHA))) FRACNO3 = NO_GAMMA * FRACNO2 FRACNO = NO_BETA * FRACNO2 FRACN = NO_ALPHA * FRACNO ! Estimate net production rates for NOx and N2O NOXRATE = 2.e+0_fp*((RRATE(11)*LOCALN2O*LOCALO1D) - & (((RRATE(7)*FRACN*FRACNO2)+(RRATE(8)*FRACN*FRACNO)) & *LOCALNOX*LOCALNOX)) N2ORATE = (RRATE(7)*FRACN*FRACNO2*LOCALNOX*LOCALNOX) - & ((RRATE(k_JN2O)+((RRATE(10)+RRATE(11))*LOCALO1D))*LOCALN2O) ! Calculate NOx in kg NO at the beginning kgNOx = localNOx / (AIRMW / & State_Chm%SpcData(id_NO )%Info%MW_g*XAIR) ! Calculate total change in NOx and N2O ! Explicit Euler method (fast) DNOX = NOXRATE * DTCHEM / ( ( AIRMW / & State_Chm%SpcData(id_NO)%Info%MW_g) * XAIR ) DN2O = N2ORATE * DTCHEM / ( AIRMW / & State_Chm%SpcData(id_N2O)%Info%MW_g * XAIR ) ! Safety check - ensure NOx and N2O are positive IF ((DNOX*-1e+0_fp).gt.KGNOX) THEN DNOX = -1e+0_fp*KGNOX KGNOX = 0e+0_fp LOCALNOX = 0e+0_fp ELSE KGNOX = KGNOX + DNOX LOCALNOX = LOCALNOX + (NOXRATE*DTCHEM) ENDIF IF ((DN2O*-1e+0_fp).gt.KGN2O) THEN DN2O = -1e+0_fp*KGN2O KGN2O = 0e+0_fp ELSE KGN2O = KGN2O + DN2O ENDIF EndIf ! DayFrac < 0 ! Convert to kg ! Now add all N to NO to get around problems caused by ! using negative molar mass for N (SDE 2018-03-19) NEW_N = 0.0e+0_fp NEW_NO = localNOx*(fracN+fracNO) / (AIRMW/ & State_Chm%SpcData(id_NO )%Info%MW_g * XAIR) NEW_NO2 = localNOx*fracNO2/(AIRMW/ & State_Chm%SpcData(id_NO2)%Info%MW_g * XAIR) NEW_NO3 = localNOx*fracNO3/(AIRMW/ & State_Chm%SpcData(id_NO3)%Info%MW_g * XAIR) NEW_N2O = kgN2O Spc(id_N)%Conc(I,J,L) = 0.d0 Spc(id_NO)%Conc(I,J,L) = NEW_NO Spc(id_NO2)%Conc(I,J,L) = NEW_NO2 Spc(id_NO3)%Conc(I,J,L) = NEW_NO3 Spc(id_N2O)%Conc(I,J,L) = NEW_N2O MESONOX_DELTA = MESONOX_DELTA + DNOX MESON2O_DELTA = MESON2O_DELTA + DN2O ENDDO ! J ENDDO ! I ENDDO ! L !$OMP END PARALLEL DO IF ( Input_Opt%Verbose ) THEN ! Print mean NOx tendency in mesosphere DBGMSG = ' ### UCX_NOX: Mesospheric NOx processed' CALL DEBUG_MSG(TRIM(DBGMSG)) WRITE(DBGMSG,'(a,1(1x,F10.5),a)') ' ### Timestep: ', & DTCHEM_HR, ' hours' CALL DEBUG_MSG(TRIM(DBGMSG)) WRITE(DBGMSG,'(a,1x,E10.4,1x,a)') ' ### NOx direct delta: ', & MESONOX_DELTA, ' kg' CALL DEBUG_MSG(TRIM(DBGMSG)) WRITE(DBGMSG,'(a,1x,E10.4,1x,a)') ' ### N2O direct delta: ', & MESON2O_DELTA, ' kg' CALL DEBUG_MSG(TRIM(DBGMSG)) ENDIF ! Free pointers NULLIFY( Spc ) NULLIFY( ZPJ ) END SUBROUTINE UCX_NOX !EOC !------------------------------------------------------------------------------ ! MIT Laboratory for Aviation and the Environment ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: get_noxcoeff ! ! !DESCRIPTION: Subroutine GET\_NOXCOEFF reads in O1D and O3P mixing ! ratios along with NO, NO2, NO3 and N2O J-rates from 2D data, ! interpolating onto the 3D grid and storing in NOX\_O and NOX\_J. !\\ !\\ ! !INTERFACE: ! SUBROUTINE GET_NOXCOEFF( TARG_MONTH, Input_Opt, State_Grid, State_Chm, State_Met ) ! ! !USES: ! USE ERROR_MOD, ONLY : ERROR_STOP USE ERROR_MOD, ONLY : ALLOC_ERR USE FILE_MOD, ONLY : IOERROR USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState USE State_Chm_Mod, ONLY : ChmState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: TARG_MONTH TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input options TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !REMARKS: ! At some later point we should attempt to rewrite the parallel DO loop so ! that the loop order is L-J-I. Not sure how easy that is. (bmy, 2/14/14) ! ! !REVISION HISTORY: ! 26 Mar 2013 - S. D. Eastham - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: ILEV INTEGER :: I, J, L, ITRAC INTEGER :: JJNOX REAL(fp) :: PCENTER REAL(fp) :: CURRVAL INTEGER :: VERTCOUNT, AS LOGICAL :: FOUNDLEV,EXTRAP LOGICAL :: ISRATE CHARACTER(LEN=255) :: TARG_TRAC CHARACTER(LEN=255) :: DBGMSG REAL(fp), DIMENSION(:,:,:), POINTER :: NOXDATA2D => NULL() REAL(fp), DIMENSION(:,:), ALLOCATABLE :: NOXD2D_IN INTEGER :: LSTART !================================================================= ! GET_NOXCOEFF begins here! !================================================================= ! Clear interpolated arrays State_Chm%NOX_O = 0e+0_fp State_Chm%NOX_J = 0e+0_fp ! All the coefficients are now stored in State_Chm%NOXCOEFF. ! NOXDATA2D points to the desired month slice. ! (ckeller, 05/12/14) NOXDATA2D => State_Chm%NOXCOEFF(:,:,:,TARG_MONTH) ! Scan through target array, element by element !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, VERTCOUNT ) & !$OMP PRIVATE( EXTRAP, LSTART, PCENTER, FOUNDLEV ) & !$OMP PRIVATE( ITRAC, ISRATE, CURRVAL, JJNOX ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Get corresponding J value in NOXDATA2D. This can be different ! from J if the simulation grid is not 2x25 or 4x5. JJNOX = GET_JJNOX( I, J, State_Grid, State_Chm ) ! Vertcount is the layer count for the input, where layer 1 ! is at the *top* of the atmosphere VERTCOUNT = 51 EXTRAP = .TRUE. LSTART = State_Met%ChemGridLev(I,J) DO L = LSTART, State_Grid%NZ IF ( State_Met%InChemGrid(I,J,L) ) CYCLE ! Pressure at center of cell PCENTER = State_Met%PMID(I,J,L) FOUNDLEV = (PCENTER.gt.State_Chm%UCX_PLEVS(VERTCOUNT)) DO WHILE (.not. FOUNDLEV) IF (VERTCOUNT.eq.1) THEN ! At top layer; use it anyway FOUNDLEV = .TRUE. EXTRAP = .TRUE. ELSE VERTCOUNT = VERTCOUNT - 1 FOUNDLEV = (PCENTER.gt.State_Chm%UCX_PLEVS(VERTCOUNT)) EXTRAP = .FALSE. ENDIF ENDDO DO ITRAC=1,6 ISRATE = (ITRAC.gt.2) ! Interpolate data IF (EXTRAP) THEN ! Just take outside value if at edges CURRVAL = NOXDATA2D(JJNOX,VERTCOUNT,ITRAC) ELSE ! Interpolate by pressure CURRVAL = (State_Chm%UCX_PLEVS(VERTCOUNT+1)-PCENTER) CURRVAL = CURRVAL/(State_Chm%UCX_PLEVS(VERTCOUNT+1)-State_Chm%UCX_PLEVS(VERTCOUNT)) CURRVAL = CURRVAL * & (NOXDATA2D(JJNOX,VERTCOUNT+1,ITRAC)- & NOXDATA2D(JJNOX,VERTCOUNT,ITRAC)) CURRVAL = NOXDATA2D(JJNOX,VERTCOUNT+1,ITRAC) - CURRVAL ENDIF IF (.not.ISRATE) THEN ! Reading in mixing ratios (v/v) State_Chm%NOX_O(I,J,L,ITRAC) = CURRVAL ELSE ! J-rate (no conversion necessary) State_Chm%NOX_J(I,J,L,ITRAC-2) = CURRVAL ENDIF ENDDO ! ITRAC ENDDO ! L ENDDO ! I ENDDO ! J !$OMP END PARALLEL DO ! Cleanup NOXDATA2D => NULL() END SUBROUTINE GET_NOXCOEFF !EOC !------------------------------------------------------------------------------ ! MIT Laboratory for Aviation and the Environment ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: settle_strat_aer ! ! !DESCRIPTION: Subroutine SETTLE\_STRAT\_AER performs gravitational settling ! of stratospheric aerosols. It is copied largely from GRAV\_SETTLING in ! sulfate\_mod.F90. All of this is ignored if APM is active. !\\ !\\ ! !INTERFACE: ! SUBROUTINE SETTLE_STRAT_AER( Input_Opt, State_Chm, State_Grid, State_Met, RC ) ! ! !USES: ! #ifdef FASTJX USE CMN_FJX_Mod, ONLY : RAA #else USE Cldj_Cmn_Mod, ONLY : RAA #endif USE CMN_SIZE_Mod, ONLY : NDUST USE ErrCode_Mod USE ERROR_MOD, ONLY : IT_IS_NAN,ERROR_STOP USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_ELAPSED_SEC, GET_TS_CHEM ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input options TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object INTEGER, INTENT(INOUT) :: RC ! Return code ! ! !REVISION HISTORY: ! 11 Apr 2013 - S. D. Eastham - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Common INTEGER :: I, J, L, DTCHEM REAL(fp) :: DELZ, DELZ1 REAL(fp) :: P, TEMP, DP, PDP REAL(fp) :: CONST, SLIP, VISC, FAC1 REAL(fp) :: FAC2, FLUX, AREA_CM2, RHB REAL(fp) :: RCM REAL(fp) :: TOT1, TOT2, NIT_MW_G, HNO3_MW_G INTEGER :: K LOGICAL :: NATCOL ! Specific to each class REAL(fp) :: RWET(2),CONST_V(2) REAL(fp) :: RHO(2),RATIO_R(2),REFF(2) REAL(fp) :: VTS(State_Grid%NZ,2) ! Used for old Seinfeld & Pandis slip factor calc REAL(fp) :: sp_Lambda, sp_Num ! Indexing INTEGER, PARAMETER :: IBC = 1 INTEGER, PARAMETER :: ILIQ = 2 INTEGER, PARAMETER :: NSETTLE = 2 INTEGER :: IAERO LOGICAL :: RUNCALC ! Partitioning REAL(fp) :: PHASEMASS(3,2) REAL(fp) :: SEDMASS INTEGER :: IDTCURRENT ! NAT only REAL(fp) :: VFALLMAX REAL(fp) :: VNAT(State_Grid%NZ) INTEGER :: MAXALT, MINALT REAL(fp) :: BXMIN, SEDSTEP, TEMPREAL, P_0, P_ABOVE REAL(fp) :: PSED0, PSEDABOVE, INVAIR_0, INVAIR_ABOVE REAL(fp) :: XPSC_ABOVE, XPSC_0, XPSC_BELOW REAL(fp) :: XNAT_ABOVE, XNAT_0, XNAT_BELOW REAL(fp) :: XNO3_ABOVE, XNO3_0, XNO3_BELOW REAL(fp) :: XICE_ABOVE, XICE_0, XICE_BELOW REAL(fp) :: SEDPSC, SEDNAT, SEDICE, SEDQUANT REAL(fp) :: SEDH2O, SEDNO3 REAL(fp) :: BELOWGRAD, ABOVEGRAD INTEGER :: LOCALPROFILE, NUMSEDSTEPS, STARTPT, ISED ! Local variables for quantities from Input_Opt LOGICAL :: LGRAVSTRAT ! Pointers TYPE(SpcConc), POINTER :: Spc(:) REAL(f4), POINTER :: STATE_PSC(:,:,:) REAL(fp), POINTER :: WERADIUS(:,:,:,:) !================================================================= ! SETTLE_STRAT_AER begins here! !================================================================= ! Assume success RC = GC_SUCCESS ! Copy fields from INPUT_OPT LGRAVSTRAT = Input_Opt%LGRAVSTRAT ! Copy fields from species database NIT_MW_G = State_Chm%SpcData(id_NIT)%Info%MW_g ! g/mol HNO3_MW_G = State_Chm%SpcData(id_HNO3)%Info%MW_g ! g/mol ! Initialize pointers Spc => State_Chm%Species ! Chemical species vector STATE_PSC => State_Chm%STATE_PSC ! PSC type (Kirner et al. 2011, GMD) WERADIUS => State_Chm%WetAeroRadi ! Aerosol Radius [cm] ! Return if gravitational settling disabled IF (.not. LGRAVSTRAT) RETURN ! Chemistry timestep [s] DTCHEM = GET_TS_CHEM() ! First settle liquid aerosols (SLA) using scheme found ! elsewhere in GEOS-Chem !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( J, I, L, VTS ) & !$OMP PRIVATE( VNAT, NATCOL, BXMIN, MINALT ) & !$OMP PRIVATE( MAXALT, VFALLMAX, TEMP, P ) & !$OMP PRIVATE( RUNCALC, RWET, RHO ) & !$OMP PRIVATE( SP_NUM, SP_LAMBDA, VISC, IAERO ) & !$OMP PRIVATE( DP, PDP, CONST, SLIP ) & !$OMP PRIVATE( DELZ, CONST_V, PHASEMASS, K ) & !$OMP PRIVATE( IDTCURRENT, SEDMASS, DELZ1, SEDSTEP ) & !$OMP PRIVATE( NUMSEDSTEPS, TEMPREAL, ISED, STARTPT ) & !$OMP PRIVATE( XNO3_0, XNAT_0, XICE_0, XPSC_0 ) & !$OMP PRIVATE( INVAIR_0, INVAIR_ABOVE, XNO3_ABOVE, XNAT_ABOVE ) & !$OMP PRIVATE( XICE_ABOVE, XPSC_ABOVE, P_ABOVE, ABOVEGRAD ) & !$OMP PRIVATE( XNO3_BELOW, XNAT_BELOW, XICE_BELOW, XPSC_BELOW ) & !$OMP PRIVATE( P_0, PSED0, PSEDABOVE, BELOWGRAD ) & !$OMP PRIVATE( LOCALPROFILE, SEDQUANT, SEDNO3, SEDICE ) & !$OMP PRIVATE( SEDH2O, SEDNAT, SEDPSC ) & !$OMP SCHEDULE( DYNAMIC ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Initialize DO L = 1, State_Grid%NZ VTS(L,:) = 0e+0_fp VNAT(L) = 0e+0_fp ENDDO NATCOL = .FALSE. ! Arbitrary limits BXMIN = 1.e+20_fp MINALT = State_Grid%NZ+1 MAXALT = 0 VFALLMAX = 0e+0_fp ! Loop over levels DO L = 1, State_Grid%NZ ! Temperature [K] TEMP = State_Met%T(I,J,L) ! Pressure at center of the level [kPa] ! Use moist air pressure for mean free path (ewl, 3/2/15) P = State_Met%PMID(I,J,L) * 0.1e+0_fp RUNCALC = State_Met%InStratMeso(I,J,L) IF (RUNCALC) THEN ! Need to translate for BC radii IF ( State_Met%InChemGrid(I,J,L) ) THEN RWET(IBC) = WERADIUS(I,J,L,2+NDUST)*1.e-2_fp ELSE ! Use defaults, assume dry (!) #ifdef FASTJX RWET(IBC) = RAA(State_Chm%Phot%IND999,29) * 1.0e-6_fp #else RWET(IBC) = RAA(29) * 1.0e-6_fp #endif ENDIF RHO(IBC) = State_Chm%SpcData(id_BCPI)%Info%Density ! Get aerosol properties RWET(ILIQ) = State_Chm%RAD_AER(I,J,L,I_SLA)*1.e-2_fp RHO(ILIQ) = State_Chm%RHO_AER(I,J,L,I_SLA) ! Do we need to sediment NAT? IF (State_Chm%NDENS_AER(I,J,L,I_SPA).gt.TINY(0e+0_fp)) THEN NATCOL = .TRUE. BXMIN = MIN(BXMIN, State_Met%BXHEIGHT(I,J,L)) MINALT = MIN(L,MINALT) MAXALT = MAX(L,MAXALT) ENDIF ENDIF IF (.not.RUNCALC) THEN VTS(L,:) = 0e+0_fp VNAT(L) = 0e+0_fp ELSE ! Calculate common variables first sp_Num = P * 1.e+3_fp * AVO / (RSTARG * Temp) sp_Lambda = 1.e+6_fp / ( SQRT(2e+0_fp) * sp_Num * PI & * (3.7e-10_fp)**2 ) ! Viscosity [Pa*s] of air as a function of temperature VISC = 1.458e-6_fp * (Temp)**(1.5e+0_fp) & / ( Temp + 110.4e+0_fp ) DO IAERO=1,2 IF (RWET(IAERO).le.TINY(0e+0_fp)) THEN VTS(L,IAERO) = 0e+0_fp ELSE ! Dp = particle diameter [um] DP = 2.e+0_fp * RWET(IAERO) * 1.e+6_fp ! PdP = P * dP [hPa * um] PDp = P * Dp ! Constant CONST = 2.e+0_fp * RHO(IAERO) * RWET(IAERO)**2 & * g0 / 9.e+0_fp !========================================================= ! NOTE: Slip correction factor calculations following ! Seinfeld, pp464 which is thought to be more accurate ! but more computation required. (rjp, 1/24/02) ! ! # air molecule number density ! num = P * 1d3 * 6.023d23 / (8.314 * Temp) ! ! # gas mean free path ! lamda = 1.d6/( 1.41421 * num * 3.141592 * (3.7d-10)**2 ) ! ! # Slip correction ! Slip = 1. + 2. * lamda * (1.257 + 0.4 * exp( -1.1 * Dp ! & / (2. * lamda))) / Dp ! ! NOTE: Eq) 3.22 pp 50 in Hinds (Aerosol Technology) ! which produces slip correction factore with small error ! compared to the above with less computation. !========================================================= ! Slip correction factor (as function of P*dp) ! Slip = 1.e+0_fp+(15.60e+0_fp + 7.0e+0_fp * & ! EXP(-0.059e+0_fp * PDp)) / PDp ! Reverting to Seinfeld and Pandis Slip = 1. + 2. * sp_Lambda * (1.257 + 0.4*exp(-1.1* & Dp / (2. * sp_Lambda))) / Dp ! Settling velocity [m/s] VTS(L,IAERO) = CONST * Slip / VISC ENDIF ! RWET ENDDO ! IAERO ! Now solid PSC particles IF (NATCOL) THEN ! sp_Num: Air molecule#/m3 VNAT(L) = CALC_FALLVEL(State_Chm%RHO_AER(I,J,L,I_SPA), & State_Chm%RAD_AER(I,J,L,I_SPA),TEMP,P) IF (VNAT(L).gt.VFALLMAX) VFALLMAX = VNAT(L) ELSE VNAT(L) = 0.e+0_fp ENDIF ENDIF ! RUNCALC ENDDO ! First apply simpler SLA sedimentation scheme ! Handle model top condition L = State_Grid%NZ DELZ = State_Met%BXHEIGHT(I,J,L) DO IAERO=1,2 CONST_V(IAERO) = 1.e+0_fp / (1.e+0_fp + DTCHEM * VTS(L,IAERO) / DELZ) ENDDO ! Zero arrays PHASEMASS(:,:) = 0e+0_fp ! Only want to sediment fraction of species currently ! in the aerosol DO K = 1,7 ! Only process transported species IDTCURRENT = State_Chm%AERFRACIND(K) IF (IDTCURRENT.ne.0) THEN ! Calculate local phase partitioning ! Total upper gridbox mass PHASEMASS(3,2) = Spc(IDTCURRENT)%Conc(I,J,L) ! Aerosol-phase upper gridbox mass PHASEMASS(2,2) = State_Chm%AERFRAC(I,J,L,K)*PHASEMASS(3,2) ! Gas-phase upper gridbox mass PHASEMASS(1,2) = PHASEMASS(3,2) - PHASEMASS(2,2) ! Calculate total sedimented mass SEDMASS = PHASEMASS(2,2) * (1.e+0_fp-CONST_V(ILIQ)) ! Remove from upper gridbox PHASEMASS(2,2) = PHASEMASS(2,2) - SEDMASS PHASEMASS(3,2) = PHASEMASS(1,2) + PHASEMASS(2,2) ! Recalculate phase fractions IF (PHASEMASS(3,2).gt.TINY(1e+0_fp)) THEN State_Chm%AERFRAC(I,J,L,K) = PHASEMASS(2,2)/PHASEMASS(3,2) ELSE State_Chm%AERFRAC(I,J,L,K) = 0e+0_fp ENDIF ! Store result Spc(IDTCURRENT)%Conc(I,J,L) = PHASEMASS(3,2) ENDIF ENDDO Spc(id_BCPI)%Conc(I,J,L) = Spc(id_BCPI)%Conc(I,J,L) * CONST_V(IBC) DO L = State_Grid%NZ-1,1,-1 IF ( State_Met%InTroposphere(I,J,L+1) ) CYCLE DELZ = State_Met%BXHEIGHT(I,J,L) DELZ1 = State_Met%BXHEIGHT(I,J,L+1) DO K=1,7 IDTCURRENT = State_Chm%AERFRACIND(K) IF (IDTCURRENT.ne.0) THEN ! Total upper gridbox mass PHASEMASS(3,2) = Spc(IDTCURRENT)%Conc(I,J,L+1) ! Aerosol-phase upper gridbox mass PHASEMASS(2,2) = State_Chm%AERFRAC(I,J,L+1,K)*PHASEMASS(3,2) ! Gas-phase upper gridbox mass PHASEMASS(1,2) = PHASEMASS(3,2) - PHASEMASS(2,2) ! Total lower gridbox mass PHASEMASS(3,1) = Spc(IDTCURRENT)%Conc(I,J,L) ! Aerosol-phase lower gridbox mass PHASEMASS(2,1) = State_Chm%AERFRAC(I,J,L,K)*PHASEMASS(3,1) ! Gas-phase lower gridbox mass PHASEMASS(1,1) = PHASEMASS(3,1) - PHASEMASS(2,1) ! New lower gridbox mass PHASEMASS(2,1) = 1.e+0_fp/(1.e+0_fp+DTCHEM & * VTS(L,ILIQ) / DELZ) & * (PHASEMASS(2,1)+DTCHEM*VTS(L+1,ILIQ)/DELZ1 & * PHASEMASS(2,2)) ! Calculate new total mass in lower gridbox PHASEMASS(3,1) = PHASEMASS(2,1) + PHASEMASS(1,1) ! Recalculate phase fraction IF (PHASEMASS(3,1).gt.TINY(1e+0_fp)) THEN State_Chm%AERFRAC(I,J,L,K) = PHASEMASS(2,1)/PHASEMASS(3,1) ELSE State_Chm%AERFRAC(I,J,L,K) = 0e+0_fp ENDIF ! Store result Spc(IDTCURRENT)%Conc(I,J,L) = PHASEMASS(3,1) ENDIF ENDDO Spc(id_BCPI)%Conc(I,J,L) = 1.e+0_fp/(1.e+0_fp+DTCHEM & * VTS(L,IBC) / DELZ) & * ( Spc(id_BCPI)%Conc(I,J,L) & + DTCHEM * VTS(L+1,IBC) / DELZ1 & * Spc(id_BCPI)%Conc(I,J,L+1) ) ENDDO ! Now perform trapezoidal scheme for particulates ! Calculate maximum allowable timestep (seconds) IF (VFALLMAX.gt.TINY(1e+0_fp)) THEN SEDSTEP = BXMIN/VFALLMAX IF(DTCHEM.le.SEDSTEP)THEN NUMSEDSTEPS = 1 SEDSTEP = DTCHEM ELSE ! Will need to run iteratively ! Calculate minimum necessary number of steps, limiting to ! 10 steps if excessive TEMPREAL = DTCHEM/SEDSTEP NUMSEDSTEPS = CEILING(TEMPREAL) NUMSEDSTEPS = MIN(10,NUMSEDSTEPS) SEDSTEP = DTCHEM/(NUMSEDSTEPS*1.e+0_fp) VFALLMAX = BXMIN/SEDSTEP ENDIF SEDSTEPLOOP: DO ISED=1,NUMSEDSTEPS STARTPT = MAX(1,MINALT-1) ! XPSC is the number of molecules tied up in solid particles ! per m3 in a grid box L = STARTPT IF (STATE_PSC(I,J,L) < 2.0e+0_f4 ) THEN XNO3_0 = 0e+0_fp XNAT_0 = 0e+0_fp XICE_0 = 0e+0_fp ELSE XNO3_0 = Spc(id_NIT)%Conc(I,J,L) * AIRMW / & ( NIT_MW_G * State_Met%AD(I,J,L) ) XNAT_0 = XNO3_0! * 4.e+0_fp XICE_0 = (State_Chm%KG_AER(I,J,L,I_SPA)- & ( ( NATMW / NIT_MW_G ) * & Spc(id_NIT)%Conc(I,J,L)))*AIRMW/(ICEMW* & State_Met%AD(I,J,L)) ENDIF XPSC_0 = XNAT_0 + XICE_0 P_0 = 100.0e+0_fp * State_Met%PMID(I,J,L) INVAIR_0 = AIRMW/State_Met%AD(I,J,L) IF (L .lt. (State_Grid%NZ-1)) THEN INVAIR_ABOVE = AIRMW/State_Met%AD(I,J,L+1) IF (STATE_PSC(I,J,L+1) < 2.0e+0_f4 ) THEN XNO3_ABOVE = 0e+0_fp XNAT_ABOVE = 0e+0_fp XICE_ABOVE = 0e+0_fp ELSE XNO3_ABOVE = Spc(id_NIT)%Conc(I,J,L+1) & * INVAIR_ABOVE / NIT_MW_G ! NAT = HNO3.3H2O = 4 molecules XNAT_ABOVE = XNO3_ABOVE! * 4.e+0_fp ! XICE_ABOVE = (State_Chm%KG_AER(I,J,L+1,I_SPA)-Spc(id_NIT)%Conc(I,J,L+1)) & ! *INVAIR_ABOVE/ICEMW XICE_ABOVE = (State_Chm%KG_AER(I,J,L+1,I_SPA)- & ( ( NATMW / NIT_MW_G ) * & Spc(id_NIT)%Conc(I,J,L+1)))*INVAIR_ABOVE/ICEMW ENDIF XPSC_ABOVE = XNAT_ABOVE + XICE_ABOVE P_ABOVE = 100.0e+0_fp * State_Met%PMID(I,J,L+1) ! Replace PEDGE(I,J,L+1) - PEDGE(I,J,L+2) ! with equivalent State_Met%DELP(I,J,L+1) ! (ewl, 3/2/15) PSEDABOVE = VNAT(L+1) * SEDSTEP * 1.e+2_fp * & State_Met%DELP(I,J,L+1) & / State_Met%BXHEIGHT(I,J,L+1) !PSEDABOVE=g0 * (1.0d3*AIRMW) * P_ABOVE * & ! VNAT(L+1) / (Rd * T(I,J,L+1))*SEDSTEP ELSE INVAIR_ABOVE = 1.0e+0_fp XNO3_ABOVE = 0.0e+0_fp XNAT_ABOVE = 0.0e+0_fp XICE_ABOVE = 0.0e+0_fp XPSC_ABOVE = 0.0e+0_fp P_ABOVE = State_Met%PEDGE(I,J,L+2) * 100.0e+0_fp PSEDABOVE = 0.0e+0_fp ENDIF ABOVEGRAD = (XPSC_ABOVE-XPSC_0)/(P_0-P_ABOVE) SED_LLOOP: DO L=STARTPT,MAXALT ! Actually calculating sedimentation for the box above this ! one. By the time we get around to processing a given ! box, it is actually the (i-1)th box ! We are therefore concerned with calculating ! sedimentation *out* of the box above us and *into* this ! one XNO3_BELOW = XNO3_0 XNAT_BELOW = XNAT_0 XICE_BELOW = XICE_0 XPSC_BELOW = XPSC_0 XNO3_0 = XNO3_ABOVE XNAT_0 = XNAT_ABOVE XICE_0 = XICE_ABOVE XPSC_0 = XPSC_ABOVE P_0 = P_ABOVE PSED0 = PSEDABOVE INVAIR_0 = INVAIR_ABOVE IF (L.lt.(State_Grid%NZ-1)) THEN INVAIR_ABOVE = AIRMW/State_Met%AD(I,J,L+2) IF (STATE_PSC(I,J,L+2) >= 2.0e+0_f4 ) THEN XNO3_ABOVE = Spc(id_NIT)%Conc(I,J,L+2)*INVAIR_ABOVE/NIT_MW_G XNAT_ABOVE = XNO3_ABOVE! * 4.e+0_fp XICE_ABOVE = (State_Chm%KG_AER(I,J,L+2,I_SPA)- & ( ( NATMW / NIT_MW_G )* & Spc(id_NIT)%Conc(I,J,L+2)))*INVAIR_ABOVE/ICEMW ELSE XNO3_ABOVE = 0e+0_fp XNAT_ABOVE = 0e+0_fp XICE_ABOVE = 0e+0_fp ENDIF XPSC_ABOVE = XNAT_ABOVE + XICE_ABOVE P_ABOVE = State_Met%PMID(I,J,L+2) * 100.0e+0_fp ! Replace PEDGE(I,J,L+2) - PEDGE(I,J,L+3) ! with equivalent State_Met%DELP(I,J,L+2) ! (ewl, 3/2/15) PSEDABOVE = VNAT(L+2) * SEDSTEP * 1.e+2_fp * & State_Met%DELP(I,J,L+2) & / State_Met%BXHEIGHT(I,J,L+2) !PSEDABOVE = g0 * (1.0d3*AIRMW) * P_ABOVE * & ! VNAT(L+2)/(Rd * T(I,J,L+2))*SEDSTEP ELSE INVAIR_ABOVE = 0.0e+0_fp XNO3_ABOVE = 0.0e+0_fp XNAT_ABOVE = 0.0e+0_fp XICE_ABOVE = 0.0e+0_fp XPSC_ABOVE = 0.0e+0_fp P_ABOVE = State_Met%PEDGE(I,J,L+2) * 100.0e+0_fp PSEDABOVE = 0.0e+0_fp ENDIF ! Note reversal of pressure values as pressure falls with ! height. If a value is positive, PSC particle substance ! mixing ratios are increasing with height, and vice versa BELOWGRAD = ABOVEGRAD ABOVEGRAD = (XPSC_ABOVE-XPSC_0)/(P_0-P_ABOVE) ! NB: Order of following conditionals is important! Could ! theoretically do without localprofile as a variable, but ! should be sure to check for the possible (but phenomenally ! unlikely) condition that the gradients are both zero IF ((ABOVEGRAD .eq. 0e+0_fp) .and. & (BELOWGRAD .eq. 0e+0_fp)) THEN ! Extremelely unlikely case, but use standard scheme ! for flat vertical profile LOCALPROFILE = 0 ELSEIF ((ABOVEGRAD .le. 0e+0_fp) .and. & (BELOWGRAD .le. 0e+0_fp)) THEN ! Consistently decreasing with height - above a peak LOCALPROFILE = -1 ELSEIF ((ABOVEGRAD .ge. 0e+0_fp) .and. & (BELOWGRAD .ge. 0e+0_fp)) THEN ! Consistently increasing with height - below a peak LOCALPROFILE = +1 ELSE ! Local minmum or maximum LOCALPROFILE = 0 ENDIF IF (LOCALPROFILE.eq.0) THEN ! Standard sedimentation scheme SEDQUANT = XPSC_0 * PSED0 SEDNO3 = XNO3_0 * PSED0 SEDICE = XICE_0 * PSED0 ELSEIF (LOCALPROFILE.eq.1) THEN ! Currently below a peak ! Use gradient of bottom and centre boxes IF (XPSC_0 .le. (0.5e+0_fp * XPSC_ABOVE)) THEN ! Interpret as nearing peak; use lower gradient SEDQUANT = (XPSC_0+XPSC_BELOW)*0.5e+0_fp*PSED0 SEDNO3 = (XNO3_BELOW+XNO3_0)*0.50*PSED0 SEDICE = (XICE_BELOW+XICE_0)*0.50*PSED0 ELSE SEDQUANT = (XPSC_ABOVE+XPSC_0)*0.50*PSED0 SEDNO3 = (XNO3_ABOVE+XNO3_0)*0.50*PSED0 SEDICE = (XICE_ABOVE+XICE_0)*0.50*PSED0 ENDIF ELSE ! Above a peak SEDQUANT = (XPSC_0+XPSC_BELOW)*0.5e+0_fp*PSED0 SEDNO3 = (XNO3_0+XNO3_BELOW)*0.5e+0_fp*PSED0 SEDICE = (XICE_0+XICE_BELOW)*0.5e+0_fp*PSED0 ENDIF ! Divide sedimenting quantity by the pressure difference ! across the box being sedimented from ! Note conversion from hPa to Pa for denominator, ie ! multiply numerator by (1/100) IF (L .ne. State_Grid%NZ) THEN ! Replace PEDGE(I,J,L+1) - PEDGE(I,J,L+2) ! with equivalent State_Met%DELP(I,J,L+1) ! (ewl, 3/2/15) SEDQUANT = (1.e-2_fp) * SEDQUANT / State_Met%DELP(I,J,L+1) SEDNO3 = (1.e-2_fp) * SEDNO3 / State_Met%DELP(I,J,L+1) SEDICE = (1.e-2_fp) * SEDICE / State_Met%DELP(I,J,L+1) ELSE ! This shouldn't be possible? CALL ERROR_STOP('Unknown sedimentation error', 'UCX_mod.F90') ENDIF ! Apply limits so that sedimented quantity is: ! Greater than or equal to zero ! Less than or equal to the total available quantity ! Note that we are calculating sedimentation using ! the total ice and NAT, but are only actually ! transporting the local NO3 SEDQUANT = MAX(0.0e+0_fp,SEDQUANT) SEDNO3 = MAX(0.0e+0_fp,SEDNO3) SEDICE = MAX(0.0e+0_fp,SEDICE) ! Convert v/v to kg/box SEDNO3 = SEDNO3 * NIT_MW_G / INVAIR_0 SEDICE = SEDICE*ICEMW/INVAIR_0 SEDNO3 = MIN(SEDNO3,Spc(id_NIT)%Conc(I,J,L+1)) Spc(id_NIT)%Conc(I,J,L) = Spc(id_NIT)%Conc(I,J,L) + SEDNO3 Spc(id_NIT)%Conc(I,J,L+1)=Spc(id_NIT)%Conc(I,J,L+1)-SEDNO3 ! Settle the ice out too SEDH2O = MIN(SEDICE,Spc(id_H2O)%Conc(I,J,L+1)) Spc(id_H2O)%Conc(I,J,L) = Spc(id_H2O)%Conc(I,J,L) + SEDH2O Spc(id_H2O)%Conc(I,J,L+1)=Spc(id_H2O)%Conc(I,J,L+1)-SEDH2O ! Now correct aerosol totals SEDNAT = SEDNO3 * NATMW / NIT_MW_G SEDPSC = SEDNAT + SEDICE SEDPSC = MIN(SEDPSC,State_Chm%KG_AER(I,J,L+1,I_SPA)) State_Chm%KG_AER(I,J,L,I_SPA) = State_Chm%KG_AER(I,J,L,I_SPA) + SEDPSC State_Chm%KG_AER(I,J,L+1,I_SPA)=State_Chm%KG_AER(I,J,L+1,I_SPA)-SEDPSC ENDDO SED_LLOOP ENDDO SEDSTEPLOOP ENDIF ! VFALLMAX > 0 ENDDO ENDDO !$OMP END PARALLEL DO ! Free pointers Spc => NULL() STATE_PSC => NULL() WERADIUS => NULL() END SUBROUTINE SETTLE_STRAT_AER !EOC !------------------------------------------------------------------------------ ! MIT Laboratory for Aviation and the Environment ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: calc_h2so4_gas ! ! !DESCRIPTION: Subroutine CALC\_H2SO4\_GAS calculates the fraction of strat. ! SO4 aerosol which can be considered to be gaseous H2SO4. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CALC_H2SO4_GAS( Input_Opt, State_Chm, State_Grid, State_Met ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input options TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !REVISION HISTORY: ! 11 Apr 2013 - S. D. Eastham - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! LOGICAL, SAVE :: FIRST=.TRUE. REAL(fp),PARAMETER :: GF_THRESHOLD = 0.0e+0_fp REAL(fp),PARAMETER :: GF_RANGE = 1.0e-8_fp REAL(fp),PARAMETER :: GF_DELTAHBYR = 10156.e+0_fp REAL(fp),PARAMETER :: GF_T0 = 360.e+0_fp REAL(fp),PARAMETER :: GF_TC = 905.e+0_fp REAL(fp),SAVE :: GF_LOGP0 REAL(fp),SAVE :: GF_BFACTOR REAL(fp),SAVE :: GF_ATMCONV REAL(fp),SAVE :: GF_INVT0 REAL(fp) :: GF_INVT,GF_LOGPSULFATE,GF_CFACTOR REAL(fp) :: GF_AFACTOR REAL(fp) :: GF_PP,GF_PVAP,GF_DIFF INTEGER :: I, J, L REAL(fp) :: PCENTER, PCENTER_P, TCENTER, H2SO4SUM REAL(fp) :: INVAIR REAL(fp) :: SO4_MW_G ! Pointers TYPE(SpcConc), POINTER :: Spc(:) !================================================================= ! CALC_H2SO4_GAS begins here! !================================================================= ! Copy fields from species database SO4_MW_G = State_Chm%SpcData(id_SO4)%Info%MW_g ! g/mol ! Point GEOS-Chem species array Spc => State_Chm%Species IF (FIRST) THEN FIRST = .FALSE. ! Calculate H2SO4 gas phase prefactors GF_INVT0 = 1.e+0_fp/GF_T0 GF_LOGP0 = (-1.e+0_fp*GF_DELTAHBYR*GF_INVT0) + 16.259e+0_fp GF_BFACTOR = 0.38e+0_fp/(GF_TC - GF_T0) GF_ATMCONV = LOG(ATM) ENDIF !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( J, I, L ) & !$OMP PRIVATE( PCENTER, PCENTER_P, TCENTER ) & !$OMP PRIVATE( INVAIR ) & !$OMP PRIVATE( H2SO4SUM, GF_PP, GF_INVT ) & !$OMP PRIVATE( GF_CFACTOR, GF_LOGPSULFATE, GF_PVAP ) & !$OMP PRIVATE( GF_DIFF ) & !$OMP SCHEDULE( DYNAMIC ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Only interested in low-pressure boxes TCENTER = State_Met%T(I,J,L) ! Use moist air pressure thresholding (ewl, 3/26/15) PCENTER = State_Met%PMID(I,J,L) ! Use dry air partial pressure for part. P calc (ewl, 3/26/15) PCENTER_P = State_Met%PMID_DRY(I,J,L) INVAIR = AIRMW / State_Met%AD(I,J,L) IF (PCENTER.ge.1.e+2_fp) THEN State_Chm%AERFRAC(I,J,L,1) = 1e+0_fp ELSEIF ( State_Met%InTroposphere(I,J,L) ) THEN ! Don't want to interfere with tropospheric aerosols State_Chm%AERFRAC(I,J,L,1) = 1e+0_fp ELSE H2SO4SUM = Spc(id_SO4)%Conc(I,J,L) * INVAIR / SO4_MW_G ! Use approximation from Kumala (1990) ! Use dry air partial pressure (ewl, 3/26/15) GF_PP = H2SO4SUM*PCENTER_P GF_INVT = 1./TCENTER GF_CFACTOR = 1.e+0_fp+(LOG(GF_T0*GF_INVT))-(GF_T0*GF_INVT) GF_LOGPSULFATE = GF_LOGP0 + (GF_DELTAHBYR*(GF_INVT0 - & GF_INVT + (GF_BFACTOR*GF_CFACTOR))) GF_LOGPSULFATE = GF_LOGPSULFATE + GF_ATMCONV GF_PVAP = 1.e-2_fp * EXP(GF_LOGPSULFATE) GF_DIFF = (GF_PVAP+GF_THRESHOLD) - GF_PP IF (GF_DIFF .lt. 0) THEN State_Chm%AERFRAC(I,J,L,1) = 1.e+0_fp ELSEIF (GF_DIFF .lt. GF_RANGE) THEN State_Chm%AERFRAC(I,J,L,1) = 1.e+0_fp-(GF_DIFF/GF_RANGE) ELSE State_Chm%AERFRAC(I,J,L,1) = 0e+0_fp ENDIF ENDIF ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ! Free pointer NULLIFY( Spc ) IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### UCX: H2SO4 partitioned' ) ENDIF END SUBROUTINE CALC_H2SO4_GAS !EOC !------------------------------------------------------------------------------ ! MIT Laboratory for Aviation and the Environment ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: so4_photfrac ! ! !DESCRIPTION: FUNCTION SO4\_PHOTFRAC returns the fraction of H2SO4 which ! is available for photolysis. !\\ !\\ ! !INTERFACE: ! REAL(fp) FUNCTION SO4_PHOTFRAC(I,J,L,State_Chm) ! ! !USES: ! USE State_Chm_Mod, ONLY : ChmState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I,J,L ! Location indices ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !OUTPUT VARIABLES: ! ! REAL(fp), INTENT(OUT) :: PHOTFRAC ! Gaseous fraction of H2SO4 ! ! !REVISION HISTORY: ! 11 Apr 2013 - S. D. Eastham - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC !================================================================= ! SO4_PHOTFRAC begins here! !================================================================= SO4_PHOTFRAC = 1.e+0_fp - State_Chm%AERFRAC(I,J,L,1) END FUNCTION SO4_PHOTFRAC !EOC !------------------------------------------------------------------------------ ! MIT Laboratory for Aviation and the Environment ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: calc_strat_aer ! ! !DESCRIPTION: Subroutine CALC\_STRAT\_AER calculates aerosol properties ! stratosphere using the thermodynamic parameterization described in ! Kirner et al. (`Simulation of polar stratospheric clouds in the ! chemistry-climate-model EMAC via the submodel PSC', Geosci. Mod. Dev., ! 4, 169-182, 2011). !\\ !\\ ! !INTERFACE: ! SUBROUTINE CALC_STRAT_AER( Input_Opt, State_Chm, State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD, ONLY : DEBUG_MSG USE ERROR_MOD, ONLY : ERROR_STOP USE ERROR_MOD, ONLY : IS_SAFE_DIV USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input options TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 13 Apr 2013 - S. D. Eastham - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Limits on PSC formation REAL(fp),PARAMETER :: PSC_MAXLAT = 45.0e+0_fp REAL(fp),PARAMETER :: PSC_MINLAT = -55.0e+0_fp REAL(fp),PARAMETER :: PSC_PMAX = 18.0e+3_fp REAL(fp),PARAMETER :: PSC_PMIN = 5.0e+2_fp ! Allow PSC formation outsize Kirner limits? LOGICAL,PARAMETER :: PSC_FULL =.FALSE. ! Saturation and nucleation properties of HNO3 REAL(fp), PARAMETER :: TSATHNO3_A = -2.7836e+0_fp REAL(fp), PARAMETER :: TSATHNO3_B = -0.00088e+0_fp REAL(fp), PARAMETER :: TSATHNO3_C = 38.9855e+0_fp REAL(fp), PARAMETER :: TSATHNO3_D = -11397.0e+0_fp REAL(fp), PARAMETER :: TSATHNO3_E = 0.009179e+0_fp ! Saturation and nucleation properties of water REAL(fp), PARAMETER :: TSATH2O_A = -2663.5e+0_fp REAL(fp), PARAMETER :: TSATH2O_B = 12.537e+0_fp ! Peak pressure at which NAT can form homogeneously REAL(fp), PARAMETER :: P_MAXNAT = 1.40e+4_fp ! Pa ! Maximum temperature for PSC formation (K) REAL(fp), PARAMETER :: T_MAX = 215.0e+0_fp ! Limits on NAT/ice formation REAL(fp), PARAMETER :: MIN_RAD = 1.0e-7_fp ! m REAL(fp), PARAMETER :: MAX_NDENS=42.0e+3_fp ! #/m3 ! Local conditions REAL(fp) :: TCENTER, PCENTER, PCENTER_PA, DENAIR REAL(fp) :: INVAIR, TINV, TOFFSET ! Gridbox mixing ratios and partial pressures REAL(fp) :: HNO3SUM, H2OSUM REAL(fp) :: HNO3PP, H2OPP REAL(fp) :: PSATHNO3_SUPERCOOL REAL(fp) :: PSATH2O_SUPERSAT REAL(fp) :: PSATHNO3, PSATH2O REAL(fp) :: H2SO4SUM REAL(fp) :: ClNO3SUM, HClSUM, HOClSUM REAL(fp) :: BrNO3SUM, HBrSUM, HOBrSUM ! Gridbox aerosol and phase data REAL(fp) :: HNO3_BOX_G, HNO3_BOX_L, HNO3_BOX_S REAL(fp) :: H2O_BOX_G, H2O_BOX_L, H2O_BOX_S REAL(fp) :: H2SO4_BOX_G,H2SO4_BOX_L REAL(fp) :: HCl_BOX_G, HCl_BOX_L REAL(fp) :: HOCl_BOX_G, HOCl_BOX_L REAL(fp) :: HBr_BOX_G, HBr_BOX_L REAL(fp) :: HOBr_BOX_G, HOBr_BOX_L REAL(fp) :: HNO3GASFRAC, HClGASFRAC, HOClGASFRAC REAL(fp) :: HBrGASFRAC, HOBrGASFRAC REAL(fp) :: VOL_NAT, VOL_ICE, VOL_SLA, VOL_TOT REAL(fp) :: RAD_AER_BOX,RHO_AER_BOX REAL(fp) :: KG_AER_BOX,NDENS_AER_BOX,SAD_AER_BOX REAL(fp) :: KG_NAT, KG_ICE, KG_NO3 ! SLA weight fractions REAL(fp) :: W_H2SO4, W_H2O, W_HNO3 REAL(fp) :: W_HCl, W_HOCl, W_HBr, W_HOBr ! Reaction prefactors REAL(fp) :: KHET_COMMON REAL(fp) :: KHET_SPECIFIC ! Grid box location REAL(fp) :: BOX_LAT_S, BOX_LAT_N, BOX_LAT LOGICAL :: IS_VALID, IS_POLAR, IS_STRAT ! Local properties REAL(fp), DIMENSION(11) :: GAMMA_BOX INTEGER :: STATE_LOCAL ! Loop variables INTEGER :: I, J, L, K ! Local variables for quantities from Input_Opt LOGICAL :: LHOMNUCNAT LOGICAL :: LSOLIDPSC LOGICAL :: LACTIVEH2O ! Local variables for quantities from species database REAL(fp) :: NIT_MW_G, HNO3_MW_G, H2O_MW_G ! Pointers TYPE(SpcConc), POINTER :: Spc(:) REAL(fp), POINTER :: KHETI_SLA(:,:,:,:) REAL(f4), POINTER :: STATE_PSC(:,:,:) !================================================================= ! CALC_STRAT_AER begins here! !================================================================= ! Assume success RC = GC_SUCCESS ! Copy fields from INPUT_OPT LHOMNUCNAT = Input_Opt%LHOMNUCNAT LSOLIDPSC = Input_Opt%LSOLIDPSC LACTIVEH2O = Input_Opt%LACTIVEH2O ! Copy fields from species database NIT_MW_G = State_Chm%SpcData(id_NIT)%Info%MW_g ! g/mol HNO3_MW_G = State_Chm%SpcData(id_HNO3)%Info%MW_g ! g/mol H2O_MW_G = State_Chm%SpcData(id_H2O)%Info%MW_g ! g/mol ! Point to GEOS-Chem species array Spc => State_Chm%Species ! Initialize sticking coefficients for PSC reactions on SLA KHETI_SLA => State_Chm%KHETI_SLA ! Initialize gridbox PSC type (see Kirner et al. 2011, GMD) STATE_PSC => State_Chm%STATE_PSC IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### UCX: start CALC_STRAT_AER' ) ENDIF ! Partition H2SO4 before proceeding CALL CALC_H2SO4_GAS( Input_Opt, State_Chm, State_Grid, State_Met ) ! Loop over latitude boxes first !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L ) & !$OMP PRIVATE( K, IS_POLAR, IS_STRAT ) & !$OMP PRIVATE( PCENTER, PCENTER_PA, DENAIR ) & !$OMP PRIVATE( INVAIR, PSATHNO3, PSATH2O ) & !$OMP PRIVATE( VOL_NAT, VOL_ICE ) & !$OMP PRIVATE( VOL_SLA, PSATHNO3_SUPERCOOL, TCENTER ) & !$OMP PRIVATE( TINV, IS_VALID ) & !$OMP PRIVATE( RAD_AER_BOX, RHO_AER_BOX ) & !$OMP PRIVATE( KG_AER_BOX, NDENS_AER_BOX, SAD_AER_BOX ) & !$OMP PRIVATE( KG_NAT, KG_ICE, KG_NO3 ) & !$OMP PRIVATE( GAMMA_BOX, PSATH2O_SUPERSAT, H2OSUM ) & !$OMP PRIVATE( H2OPP, H2O_BOX_S, H2O_BOX_L ) & !$OMP PRIVATE( H2O_BOX_G, H2SO4SUM, HNO3SUM ) & !$OMP PRIVATE( HNO3PP, HNO3_BOX_S, HNO3_BOX_L ) & !$OMP PRIVATE( HNO3_BOX_G, BrNO3SUM, HBrSUM ) & !$OMP PRIVATE( HOBrSUM, ClNO3SUM, HClSUM ) & !$OMP PRIVATE( HOClSUM, STATE_LOCAL, HBrGASFRAC ) & !$OMP PRIVATE( HOBrGASFRAC, HNO3GASFRAC, HClGASFRAC ) & !$OMP PRIVATE( HOClGASFRAC, TOFFSET, W_H2SO4 ) & !$OMP PRIVATE( W_H2O, W_HCl, W_HOCl ) & !$OMP PRIVATE( W_HBr, W_HOBr, W_HNO3 ) & !$OMP PRIVATE( HCl_BOX_G, HCl_BOX_L, HOCl_BOX_G ) & !$OMP PRIVATE( HOCl_BOX_L, H2SO4_BOX_G, HBr_BOX_G ) & !$OMP PRIVATE( HBr_BOX_L, HOBr_BOX_G, HOBr_BOX_L ) & !$OMP PRIVATE( H2SO4_BOX_L, KHET_COMMON, KHET_SPECIFIC ) & !$OMP PRIVATE( VOL_TOT, BOX_LAT ) & !$OMP SCHEDULE( DYNAMIC, 1 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX !-------------------------------------------------------------------- ! Initialize met-field-related quantities !-------------------------------------------------------------------- ! Now do IS_POLAR check for every grid box separately ! and using mid-point instead of edges. This is to be ! applicable to cube-sphere systems (ckeller, 1/16/15). BOX_LAT = State_Grid%YMid(I,J) IS_POLAR = ( (BOX_LAT <= PSC_MINLAT) .OR. & (BOX_LAT >= PSC_MAXLAT) ) ! Get local conditions ! Now using dry air partial pressure (ewl, 3/2/15) PCENTER = State_Met%PMID_DRY(I,J,L) PCENTER_PA = PCENTER*1.e+2_fp TCENTER = State_Met%T(I,J,L) TINV = 1.e+0_fp/TCENTER ! Apply other limits from Kirner et al. IS_STRAT = State_Met%InStratMeso(I,J,L) IS_VALID = (IS_POLAR).and.(IS_STRAT).and. & (.not.((PCENTER_PA.lt.PSC_PMIN).or. & (PCENTER_PA.gt.PSC_PMAX))) IS_VALID = (IS_VALID.or.PSC_FULL) ! Polar strat clouds in grid box STATE_LOCAL = NINT(STATE_PSC(I,J,L)) ! Calculate local air density DENAIR = AVO * PCENTER_PA / (TCENTER*RSTARG) INVAIR = AIRMW / State_Met%AD(I,J,L) ! Get available NO3 mass KG_NO3 = ( Spc(id_HNO3)%Conc(I,J,L) * NIT_MW_G / HNO3_MW_g ) + & Spc(id_NIT)%Conc(I,J,L) ! Calculate HNO3 mixing ratio HNO3SUM = Spc(id_HNO3)%Conc(I,J,L) * INVAIR / HNO3_MW_G HNO3SUM = HNO3SUM + Spc(id_NIT)%Conc(I,J,L) * INVAIR / NIT_MW_G ! Calculate H2O mixing ratio H2OSUM = Spc(id_H2O)%Conc(I,J,L) * INVAIR / H2O_MW_G ! Calculate partial pressures (Pa) HNO3PP = PCENTER_PA * HNO3SUM H2OPP = PCENTER_PA * H2OSUM !-------------------------------------------------------------------- ! Zero non-initialized PRIVATE variables for safety's sake !-------------------------------------------------------------------- BrNO3SUM = 0.0_fp ClNO3SUM = 0.0_fp GAMMA_BOX = 0.0_fp H2O_BOX_G = 0.0_fp H2O_BOX_L = 0.0_fp H2O_BOX_S = 0.0_fp H2SO4_BOX_G = 0.0_fp H2SO4_BOX_L = 0.0_fp H2SO4SUM = 0.0_fp HBr_BOX_G = 0.0_fp HBr_BOX_L = 0.0_fp HBrGASFRAC = 0.0_fp HBrSUM = 0.0_fp HCl_BOX_G = 0.0_fp HCl_BOX_L = 0.0_fp HClGASFRAC = 0.0_fp HClSUM = 0.0_fp HOBr_BOX_G = 0.0_fp HOBr_BOX_L = 0.0_fp HOBrGASFRAC = 0.0_fp HOBrSUM = 0.0_fp HOCl_BOX_G = 0.0_fp HOCl_BOX_L = 0.0_fp HOClGASFRAC = 0.0_fp HOClSUM = 0.0_fp HNO3_BOX_G = 0.0_fp HNO3_BOX_S = 0.0_fp HNO3_BOX_L = 0.0_fp HNO3GASFRAC = 0.0_fp KG_AER_BOX = 0.0_fp KG_NAT = 0.0_fp KG_ICE = 0.0_fp KHET_COMMON = 0.0_fp KHET_SPECIFIC = 0.0_fp NDENS_AER_BOX = 0.0_fp PSATHNO3 = 0.0_fp PSATH2O = 0.0_fp PSATHNO3_SUPERCOOL = 0.0_fp RAD_AER_BOX = 0.0_fp RHO_AER_BOX = 0.0_fp SAD_AER_BOX = 0.0_fp TOFFSET = 0.0_fp VOL_ICE = 0.0_fp VOL_NAT = 0.0_fp VOL_SLA = 0.0_fp VOL_TOT = 0.0_fp W_HBr = 0.0_fp W_HCl = 0.0_fp W_HOBr = 0.0_fp W_HOCl = 0.0_fp W_H2O = 0.0_fp W_H2SO4 = 0.0_fp W_HNO3 = 0.0_fp !-------------------------------------------------------------------- ! Continue computations ... !-------------------------------------------------------------------- IF (.not.IS_VALID) THEN ! No PSCs (SSA only) STATE_LOCAL = 0 ELSEIF (TCENTER.gt.T_MAX) THEN ! STS/SSA only STATE_LOCAL = 1 ELSE ! Calculate saturation pressures PSATHNO3 = (10.e+0_fp**(((TSATHNO3_A+(TCENTER* & TSATHNO3_B))*LOG10(H2OPP*760.0e+0_fp/ATM))+ & (TSATHNO3_C+(TSATHNO3_D*TINV)+(TSATHNO3_E* & TCENTER))))*ATM/760.0e+0_fp PSATH2O = 10.0e+0_fp**((TSATH2O_A*TINV)+TSATH2O_B) ! Supersaturation requirement for ice PSATH2O_SUPERSAT = PSATH2O * Input_Opt%P_ICE_SUPERSAT ! If homogeneous NAT nucleation allowed, calculate ! threshold saturation pressure IF (LHOMNUCNAT) THEN ! Calculate as if temperature is (T+T_NAT_SUPERCOOL) TOFFSET = TCENTER + Input_Opt%T_NAT_SUPERCOOL PSATHNO3_SUPERCOOL = 10.e+0_fp**(((TSATHNO3_A+ & (TOFFSET*TSATHNO3_B))*LOG10(H2OPP*760.0e+0_fp/ATM))+ & (TSATHNO3_C+(TSATHNO3_D/TOFFSET)+(TSATHNO3_E* & TOFFSET)))*ATM/760.0e+0_fp ELSE ! Make homogeneous nucleation impossible TOFFSET = 280.0e+0_fp PSATHNO3_SUPERCOOL = HNO3PP + 1e+0_fp ENDIF IF (LACTIVEH2O) THEN ! Only interested in sign IF (STATE_LOCAL .gt. 1) THEN H2O_BOX_S = H2OPP-PSATH2O ELSE H2O_BOX_S = H2OPP-PSATH2O_SUPERSAT ENDIF ELSE ! Use local ice mass ratio from GEOS-5 data ! Note that we are using this only for its sign! H2O_BOX_S = State_Met%QI(I,J,L) ENDIF ! Ice exists/possible? IF (H2O_BOX_S.gt.TINY(0e+0_fp)) THEN STATE_LOCAL = 3 HNO3_BOX_S = HNO3PP-PSATHNO3 ELSE ! If ice not possible could still have NAT H2O_BOX_S = 0e+0_fp ! 1. Homogeneous nucleation IF ((LHOMNUCNAT).and.(STATE_LOCAL.eq.1)) THEN HNO3_BOX_S = HNO3PP-PSATHNO3_SUPERCOOL ENDIF ! 2. Box formerly contained ice or NAT IF (STATE_LOCAL.eq.2) THEN HNO3_BOX_S = HNO3PP-PSATHNO3 ENDIF IF (HNO3_BOX_S.gt.TINY(1e+0_fp)) THEN STATE_LOCAL = 2 ELSE STATE_LOCAL = 1 ENDIF ENDIF ENDIF ! Store state STATE_PSC(I,J,L) = REAL(STATE_LOCAL,f4) ! Only continue if we want online solid PSCs IF (LSOLIDPSC) THEN IF (STATE_LOCAL.eq.3) THEN ! Form ice PSCs IF (LACTIVEH2O) THEN H2O_BOX_S = (H2OPP-PSATH2O)/PCENTER_PA H2O_BOX_S = MAX(0e+0_fp,H2O_BOX_S) KG_ICE = H2O_BOX_S*ICEMW*State_Met%AD(I,J,L)/AIRMW ELSE H2O_BOX_S = State_Met%QI(I,J,L) * & State_Met%CLDF(I,J,L) * AIRMW / ICEMW KG_ICE = State_Met%QI(I,J,L) * & State_Met%CLDF(I,J,L) * State_Met%AD(I,J,L) ENDIF VOL_ICE = H2O_BOX_S * DENAIR * (1.e-3_fp) * ICEMW / & (DENSICE*AVO) ! m3 ice/m3 air ELSE VOL_ICE = 0e+0_fp H2O_BOX_S = 0e+0_fp KG_ICE = 0e+0_fp ENDIF ! Calculate NAT if relevant IF ((HNO3_BOX_S.gt.TINY(1e+0_fp)).and.(STATE_LOCAL.ge.2)) THEN HNO3_BOX_S = (HNO3PP-PSATHNO3)/PCENTER_PA HNO3_BOX_S = MAX(0e+0_fp,HNO3_BOX_S) ! Calculate m3 NAT/m3 air ! HNO3_BOX_S is the number of moles of HNO3 ! which will be frozen into HNO3.3H2O (NAT) ! Therefore volume calculation must be done ! with care! VOL_NAT = HNO3_BOX_S * DENAIR * (1.e-3_fp) * NATMW / (DENSNAT*AVO) KG_NAT = HNO3_BOX_S * NATMW * State_Met%AD(I,J,L) / AIRMW ELSE HNO3_BOX_S = 0e+0_fp VOL_NAT = 0e+0_fp KG_NAT = 0e+0_fp ENDIF ! Calculate particle properties IF (STATE_LOCAL.lt.2) THEN ! Zero all! KG_AER_BOX = 0e+0_fp RAD_AER_BOX = 0e+0_fp RHO_AER_BOX = DENSICE NDENS_AER_BOX= 0e+0_fp ELSE VOL_TOT = VOL_NAT + VOL_ICE KG_AER_BOX = KG_NAT + KG_ICE RAD_AER_BOX = MIN_RAD NDENS_AER_BOX = (3.0e+0_fp*(VOL_TOT)/ & (4.0e+0_fp*PI*(RAD_AER_BOX**3.0e+0_fp))) IF (NDENS_AER_BOX.gt.MAX_NDENS) THEN NDENS_AER_BOX = MAX_NDENS RAD_AER_BOX = (3.0e+0_fp*(VOL_TOT)/ & (4.0e+0_fp*PI*MAX_NDENS))**(1.e+0_fp/3.e+0_fp) ENDIF ! Prevent div-zero (ckeller, 1/16/15) IF ( VOL_TOT > 0.0_fp ) THEN RHO_AER_BOX = ((VOL_ICE*DENSICE)+(VOL_NAT*DENSNAT))/VOL_TOT ELSE RHO_AER_BOX = DENSICE ! Is that correct? ENDIF ENDIF ! Calculate SAD (cm2/cm3) SAD_AER_BOX = 4.0e-2_fp * RAD_AER_BOX * & RAD_AER_BOX * NDENS_AER_BOX * PI ELSE ! Solid PSCs not active RAD_AER_BOX = 0e+0_fp RHO_AER_BOX = 1000e+0_fp KG_AER_BOX = 0e+0_fp NDENS_AER_BOX = 0e+0_fp SAD_AER_BOX = 0e+0_fp HNO3_BOX_S = 0e+0_fp H2O_BOX_S = 0e+0_fp ENDIF ! Store in outer arrays State_Chm%RAD_AER(I,J,L,I_SPA) = RAD_AER_BOX*1.e+2_fp ! cm State_Chm%RHO_AER(I,J,L,I_SPA) = RHO_AER_BOX ! kg/m3 State_Chm%KG_AER(I,J,L,I_SPA) = KG_AER_BOX ! kg State_Chm%NDENS_AER(I,J,L,I_SPA) = NDENS_AER_BOX !#/m3 State_Chm%SAD_AER(I,J,L,I_SPA) = SAD_AER_BOX ! cm2/cm3 ! Repartition NIT and HNO3 in strat/meso IF (LSOLIDPSC.and.IS_STRAT) THEN ! Convert NAT from kg NAT to kg NO3 Spc(id_NIT)%Conc(I,J,L) = KG_NAT * NIT_MW_G / NATMW ! Remove (kg NO3 as NAT) from total kg NO3 ! then convert to kg HNO3 Spc(id_HNO3)%Conc(I,J,L) = (KG_NO3-Spc(id_NIT)%Conc(I,J,L)) & * HNO3_MW_G / NIT_MW_G ENDIF ! Now start liquid aerosol consideration ! Start by assuming all non-solid H2O/HNO3 is gaseous HNO3_BOX_G = HNO3SUM - HNO3_BOX_S HNO3_BOX_L = 0e+0_fp H2O_BOX_G = H2OSUM - H2O_BOX_S H2O_BOX_L = 0e+0_fp ! Calculate mixing ratios of other relevant species H2SO4SUM = Spc(id_SO4)%Conc(I,J,L) * INVAIR / & State_Chm%SpcData(id_SO4)%Info%MW_g BrNO3SUM = Spc(id_BrNO3)%Conc(I,J,L) * INVAIR / & State_Chm%SpcData(id_BrNO3)%Info%MW_g ClNO3SUM = Spc(id_ClNO3)%Conc(I,J,L) * INVAIR / & State_Chm%SpcData(id_ClNO3)%Info%MW_g HOClSUM = Spc(id_HOCl)%Conc(I,J,L) * INVAIR / & State_Chm%SpcData(id_HOCl)%Info%MW_g HClSUM = Spc(id_HCl)%Conc(I,J,L) * INVAIR / & State_Chm%SpcData(id_HCl)%Info%MW_g HOBrSUM = Spc(id_HOBr)%Conc(I,J,L) * INVAIR / & State_Chm%SpcData(id_HOBr)%Info%MW_g HBrSUM = Spc(id_HBr)%Conc(I,J,L) * INVAIR / & State_Chm%SpcData(id_HBr)%Info%MW_g ! H2SO4 gas fraction calculated earlier throughout grid ! Consider gaseoues H2SO4 to be unavailable for SLA H2SO4_BOX_L = H2SO4SUM * State_Chm%AERFRAC(I,J,L,1) H2SO4_BOX_G = H2SO4SUM - H2SO4_BOX_L ! Zero local properties RHO_AER_BOX = 1000e+0_fp RAD_AER_BOX = 0e+0_fp KG_AER_BOX = 0e+0_fp NDENS_AER_BOX = 0e+0_fp SAD_AER_BOX = 0e+0_fp VOL_SLA = 0e+0_fp W_H2O = 0e+0_fp W_H2SO4 = 1e+0_fp IF (.not.IS_STRAT) THEN ! Use JPL 10-06/Oslo CTM data, where available, ! for conventional sulfates/H2SO4 GAMMA_BOX(1) = 0.1e+0_fp GAMMA_BOX(2) = 0.0e+0_fp GAMMA_BOX(3) = 0.0e+0_fp GAMMA_BOX(4) = 0.0e+0_fp GAMMA_BOX(5) = 0.3e+0_fp GAMMA_BOX(6) = 0.4e+0_fp GAMMA_BOX(7) = 0.9e+0_fp GAMMA_BOX(8) = 0.0e+0_fp GAMMA_BOX(9) = 0.0e+0_fp GAMMA_BOX(10) = 0.2e+0_fp GAMMA_BOX(11) = 0.0e+0_fp ELSEIF (H2SO4_BOX_L.lt.1e-15_fp) THEN ! No aerosol to speak of DO K=1,11 GAMMA_BOX(K) = 0.0e+0_fp ENDDO ELSE IF (STATE_LOCAL.eq.0) THEN ! Allow binary H2SO4.nH2O only CALL TERNARY( PCENTER,TCENTER,H2OSUM,H2SO4_BOX_L, & 0.e+0_fp ,HClSUM,HOClSUM,HBrSUM,HOBrSUM, & W_H2SO4,W_H2O,W_HNO3,W_HCl,W_HOCl,W_HBr,W_HOBr, & HNO3GASFRAC,HClGASFRAC,HOClGASFRAC, & HBrGASFRAC,HOBrGASFRAC,VOL_SLA,RHO_AER_BOX) ! For safety's sake, zero out HNO3 uptake HNO3GASFRAC = 1.e+0_fp W_H2O = W_H2O + W_HNO3 W_HNO3 = 0.e+0_fp HNO3_BOX_G = HNO3SUM - HNO3_BOX_S HNO3_BOX_L = 0.e+0_fp ELSE ! As per Buchholz, use only non-NAT HNO3 for STS HNO3_BOX_G = HNO3SUM - HNO3_BOX_S CALL TERNARY( PCENTER,TCENTER,H2OSUM,H2SO4_BOX_L, & HNO3_BOX_G,HClSUM,HOClSUM,HBrSUM,HOBrSUM, & W_H2SO4,W_H2O,W_HNO3,W_HCl,W_HOCl,W_HBr,W_HOBr, & HNO3GASFRAC,HClGASFRAC,HOClGASFRAC, & HBrGASFRAC,HOBrGASFRAC,VOL_SLA,RHO_AER_BOX) ! Partition HNO3 here for safety HNO3_BOX_G = HNO3_BOX_G*HNO3GASFRAC HNO3_BOX_L = HNO3SUM - (HNO3_BOX_G+HNO3_BOX_S) ENDIF ! Partition minor species HCl_BOX_G = HClSUM *HClGASFRAC HCl_BOX_L = HClSUM -HCl_BOX_G HOCl_BOX_G = HOClSUM*HOClGASFRAC HOCl_BOX_L = HOClSUM-HOCl_BOX_G HBr_BOX_G = HBrSUM *HBrGASFRAC HBr_BOX_L = HBrSUM -HBr_BOX_G HOBr_BOX_G = HOBrSUM*HOBrGASFRAC HOBr_BOX_L = HOBrSUM-HOBr_BOX_G ! Calculate SLA parameters (Grainger 1995) SAD_AER_BOX = SLA_VA*(VOL_SLA**0.751e+0_fp) ! cm2/cm3 RAD_AER_BOX = SLA_VR*SLA_RR*(VOL_SLA**0.249e+0_fp) ! m KG_AER_BOX = RHO_AER_BOX*VOL_SLA*State_Met%AIRVOL(I,J,L) ! kg IF (VOL_SLA.gt.1.e-30_fp) THEN ! Approximate particles as spherical for calculation ! of aerosol number density NDENS_AER_BOX = VOL_SLA*3.e+0_fp/ & (4.e+0_fp*PI*(RAD_AER_BOX**3.e+0_fp)) ! DENAIR in #/m3 - convert to #/cm3 ! RHO_AER_BOX in kg/m3 - convert to g/cm3 ! RAD_AER_BOX in m - convert to cm CALL CALC_SLA_GAMMA(DENAIR*1.e-6_fp,TCENTER,PCENTER, & W_H2SO4,H2OSUM,HClSUM,HBrSUM,HOBrSUM, & ClNO3SUM,BrNO3SUM,RHO_AER_BOX*1.e-3_fp, & RAD_AER_BOX*1.e+2_fp,GAMMA_BOX) ELSE ! Ignore SLA DO K=1,11 GAMMA_BOX(K) = 0.0e+0_fp ENDDO ENDIF ENDIF ! Store liquid fractions ! Liquid H2O is removed from the sum, then it is assumed ! that the pre-calculated solid H2O is taken out of this ! liquid total H2O_BOX_L = (98.09e+0_fp/18.02e+0_fp)*H2SO4_BOX_L * (W_H2O/W_H2SO4) H2O_BOX_L = MAX(0e+0_fp,MIN(H2O_BOX_L-H2O_BOX_S,H2OSUM)) H2O_BOX_G = MAX(0e+0_fp,H2O_BOX_G-(H2O_BOX_L+H2O_BOX_S)) ! If very low number density, ignore settling State_Chm%AERFRAC(I,J,L,2) = 0e+0_fp State_Chm%AERFRAC(I,J,L,3) = 0e+0_fp State_Chm%AERFRAC(I,J,L,4) = 0e+0_fp State_Chm%AERFRAC(I,J,L,5) = 0e+0_fp State_Chm%AERFRAC(I,J,L,6) = 0e+0_fp State_Chm%AERFRAC(I,J,L,7) = 0e+0_fp IF ((HNO3SUM.gt.1e+0_fp).and.(IS_SAFE_DIV(HNO3_BOX_L,HNO3SUM))) THEN State_Chm%AERFRAC(I,J,L,2) = HNO3_BOX_L/HNO3SUM ENDIF IF ((HClSUM.gt.1e+0_fp).and.(IS_SAFE_DIV(HCl_BOX_L,HClSUM))) THEN State_Chm%AERFRAC(I,J,L,3) = HCl_BOX_L/HClSUM ENDIF IF ((HOClSUM.gt.1e+0_fp).and. (IS_SAFE_DIV(HOCl_BOX_L,HOClSUM))) THEN State_Chm%AERFRAC(I,J,L,4) = HOCl_BOX_L/HOClSUM ENDIF IF ((HBrSUM.gt.1e+0_fp).and.(IS_SAFE_DIV(HBr_BOX_L,HBrSUM))) THEN State_Chm%AERFRAC(I,J,L,5) = HBr_BOX_L/HBrSUM ENDIF IF ((HOBrSUM.gt.1e+0_fp).and.(IS_SAFE_DIV(HOBr_BOX_L,HOBrSUM))) THEN State_Chm%AERFRAC(I,J,L,6) = HOBr_BOX_L/HOBrSUM ENDIF IF ((H2OSUM.gt.1e+0_fp).and.(IS_SAFE_DIV(H2O_BOX_L,H2OSUM))) THEN State_Chm%AERFRAC(I,J,L,7) = H2O_BOX_L/H2OSUM ENDIF ! Send properties to larger array ! Convert sticking coefficients into ! premultiplying factors ((Kirner) KHET_COMMON = 0.25e+0_fp*MOLEC_SPEED(TCENTER,1e+0_fp) ! N2O5 + H2O/HCl KHET_SPECIFIC= KHET_COMMON*ISR_N2O5 KHETI_SLA(I,J,L,1) = GAMMA_BOX(1 )*KHET_SPECIFIC KHETI_SLA(I,J,L,2) = GAMMA_BOX(2 )*KHET_SPECIFIC ! ClNO3 + H2O/HCl/HBr KHET_SPECIFIC= KHET_COMMON*ISR_ClNO3 KHETI_SLA(I,J,L,3) = GAMMA_BOX(3 )*KHET_SPECIFIC KHETI_SLA(I,J,L,4) = GAMMA_BOX(4 )*KHET_SPECIFIC KHETI_SLA(I,J,L,5) = GAMMA_BOX(5 )*KHET_SPECIFIC ! BrNO3 + H2O/HCl KHET_SPECIFIC= KHET_COMMON*ISR_BrNO3 KHETI_SLA(I,J,L,6) = GAMMA_BOX(6 )*KHET_SPECIFIC KHETI_SLA(I,J,L,7) = GAMMA_BOX(7 )*KHET_SPECIFIC ! HOCl + HCl/HBr KHET_SPECIFIC= KHET_COMMON*ISR_HOCl KHETI_SLA(I,J,L,8) = GAMMA_BOX(8 )*KHET_SPECIFIC KHETI_SLA(I,J,L,9) = GAMMA_BOX(9 )*KHET_SPECIFIC ! HOBr + HBr/HCl KHET_SPECIFIC= KHET_COMMON*ISR_HOBr KHETI_SLA(I,J,L,10) = GAMMA_BOX(10)*KHET_SPECIFIC KHETI_SLA(I,J,L,11) = GAMMA_BOX(11)*KHET_SPECIFIC State_Chm%RAD_AER(I,J,L,I_SLA) = RAD_AER_BOX*1.e+2_fp ! cm State_Chm%RHO_AER(I,J,L,I_SLA) = RHO_AER_BOX ! kg/m3 State_Chm%KG_AER(I,J,L,I_SLA) = KG_AER_BOX ! kg State_Chm%NDENS_AER(I,J,L,I_SLA)= NDENS_AER_BOX ! #/m3 State_Chm%SAD_AER(I,J,L,I_SLA) = SAD_AER_BOX ! cm2/cm3 ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ! Free pointers NULLIFY( Spc, STATE_PSC, KHETI_SLA ) END SUBROUTINE CALC_STRAT_AER !EOC !------------------------------------------------------------------------------ ! MIT Laboratory for Aviation and the Environment ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: get_strat_opt ! ! !DESCRIPTION: Subroutine GET\_STRAT\_OPT returns local optical properties ! for a given stratospheric aerosol. The routine is essentially just an ! interface to allow external routines to "see" the arrays. However, local ! aerosol radius is adjusted from liquid to effective radius for aerosol ! optical depth calculations with liquid aerosols. !\\ !\\ ! !INTERFACE: ! SUBROUTINE GET_STRAT_OPT (State_Chm,I,J,L,IAER,RAER,REFF,SAD,XSA) ! ! !USES: ! USE State_Chm_Mod, ONLY : ChmState ! ! !INPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object INTEGER, INTENT(IN) :: I, J, L ! Grid indices INTEGER, INTENT(IN) :: IAER ! Aerosol index ! 1 = Liquid aerosols ! 2 = Solid PSC ! ! !OUTPUT VARIABLES: ! REAL(fp), INTENT(OUT) :: REFF ! Effective radius (cm) REAL(fp), INTENT(OUT) :: RAER ! Physical radius (cm) REAL(fp), INTENT(OUT) :: SAD ! Surface area density (cm2/cm3) REAL(fp), INTENT(OUT) :: XSA ! X-S area density (m2/m3) ! ! !REMARKS: ! Seb Eastham writes: "I would edit GET_STRAT_OPT so that, when SAD is less ! than some small value (say 1 nm2/cm3, which is a vanishingly small surface ! area), it returns SADSTRAT=XSASTRAT=0.d0 and RAER=REFF=0.1d0 for safety's ! sake. I think that will prevent code blow-up later on." ! ! !REVISION HISTORY: ! 17 Apr 2013 - S. D. Eastham - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC !================================================================= ! GET_STRAT_OPT begins here! !================================================================= ! Surface area density [cm2/cm3] SAD = State_Chm%SAD_AER(I,J,L,IAER) ! Add error check: threshold is 1e-14 cm2/cm3 (bmy, 4/7/15) IF ( SAD < 1e-14_fp ) THEN !-------------------------------------------------------------- ! FOR SAFETY'S SAKE: Set outputs to "safe" values and ! exit if very small SAD is encountered. (bmy, 4/7/15) !-------------------------------------------------------------- SAD = 0.0e+0_fp XSA = 0.0e+0_fp RAER = 0.1e+0_fp REFF = 0.1e+0_fp ELSE !-------------------------------------------------------------- ! Otherwise, compute RAER, REFF, XSA normally !-------------------------------------------------------------- ! For SLA, convert liquid radius to effective optical radius RAER = State_Chm%RAD_AER(I,J,L,IAER) IF (IAER.eq.I_SLA) THEN REFF = RAER/SLA_RR ELSE REFF = RAER ENDIF ! Standard log-normal distribution approach ! Probably OK for PSCs too? Note cm2/cm3 to m2/m3 = x100 XSA = 0.25e+2_fp*SAD ENDIF END SUBROUTINE GET_STRAT_OPT !EOC !------------------------------------------------------------------------------ ! MIT Laboratory for Aviation and the Environment ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ternary ! ! !DESCRIPTION: Subroutine TERNARY calculates the composition of SSA/STS ! aerosols using a paramaterization from Carslaw et al. "A Thermodynamic ! Model of the System HCl-HNO3-H2SO4-H2O, Including Solubilities of HBr, ! from <200 to 328 K". The bulk of this code was taken directly from the ! Global Modeling Initiative implementation by David Considine. !\\ !\\ ! !INTERFACE: ! SUBROUTINE TERNARY( PCENTER_IN,TCENTER_IN,H2OSUM_IN,H2SO4SUM, & HNO3SUM,HClSUM,HOClSUM,HBRSum,HOBrSUM, & W_H2SO4,W_H2O,W_HNO3,W_HCl,W_HOCl,W_HBr,W_HOBr, & HNO3GASFRAC,HClGASFRAC,HOClGASFRAC, & HBrGASFRAC,HOBrGASFRAC,SLA_VOL,SLA_RHO) ! ! !USES: ! ! Temporary - for debug USE ERROR_MOD, ONLY : IT_IS_NAN,ERROR_STOP ! Test for NaN USE ERROR_MOD, ONLY : SAFE_EXP,SAFE_DIV, DEBUG_MSG ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: PCENTER_IN ! Pressure (hPa) REAL(fp), INTENT(IN) :: TCENTER_IN ! Temperature (K) REAL(fp), INTENT(IN) :: H2OSUM_IN ! Total H2O mixing ratio REAL(fp), INTENT(IN) :: H2SO4SUM ! Liquid H2SO4 mixing ratio REAL(fp), INTENT(IN) :: HNO3SUM ! Total HNO3 mixing ratio REAL(fp), INTENT(IN) :: HClSUM ! Total HCl mixing ratio REAL(fp), INTENT(IN) :: HOClSUM ! Total HOCl mixing ratio REAL(fp), INTENT(IN) :: HBrSUM ! Total HBr mixing ratio REAL(fp), INTENT(IN) :: HOBrSUM ! Total HOBr mixing ratio ! ! !OUTPUT VARIABLES: ! REAL(fp), INTENT(OUT) :: W_H2SO4 ! kg H2SO4/kg SLA REAL(fp), INTENT(OUT) :: W_H2O ! kg H2O /kg SLA REAL(fp), INTENT(OUT) :: W_HNO3 ! kg HNO3 /kg SLA REAL(fp), INTENT(OUT) :: W_HCl ! kg HCl /kg SLA REAL(fp), INTENT(OUT) :: W_HOCl ! kg HOCl /kg SLA REAL(fp), INTENT(OUT) :: W_HBr ! kg HBr /kg SLA REAL(fp), INTENT(OUT) :: W_HOBr ! kg HOBr /kg SLA REAL(fp), INTENT(OUT) :: HNO3GASFRAC ! Gas fraction HNO3 REAL(fp), INTENT(OUT) :: HClGASFRAC ! Gas fraction HCl REAL(fp), INTENT(OUT) :: HOClGASFRAC ! Gas fraction HOCl REAL(fp), INTENT(OUT) :: HBrGASFRAC ! Gas fraction HBr REAL(fp), INTENT(OUT) :: HOBrGASFRAC ! Gas fraction HOBr REAL(fp), INTENT(OUT) :: SLA_VOL ! Aerosol volume (m3/m3) REAL(fp), INTENT(OUT) :: SLA_RHO ! Aer. mass density (kg/m3) ! ! !REVISION HISTORY: ! 19 Apr 2013 - S. D. Eastham - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Derived inputs REAL(fp) :: H2OSUM REAL(fp) :: TCENTER REAL(fp) :: PCENTER ! Partial pressures REAL(fp) :: PATMH2O REAL(fp) :: PATMHNO3 REAL(fp) :: PATMHCl REAL(fp) :: PATMHOCl REAL(fp) :: PATMHBr REAL(fp) :: PATMHOBr ! Molar densities (mol/m3) REAL(fp) :: MOLDENS_H2SO4 ! Mass totals REAL(fp) :: M_H2SO4,M_HNO3 REAL(fp) :: M_HCl,M_HOCl REAL(fp) :: M_HBr,M_HOBr ! Binary solutions denoted with BIN ! Mole fractions REAL(fp) :: X_H2SO4_BIN REAL(fp) :: X_HNO3_BIN ! Mass fractions REAL(fp) :: M_H2SO4_BIN REAL(fp) :: M_HNO3_BIN ! Effective Henry's Law coefficients REAL(fp) :: H_H2SO4_BIN REAL(fp) :: H_HNO3_BIN REAL(fp) :: H_HCL, H_HOCL REAL(fp) :: H_HBr, H_HOBr ! Frost point REAL(fp) :: T_ICE ! Equilibrium vapor pressure REAL(fp) :: PVAP_HNO3 REAL(fp) :: PVAP_HCl REAL(fp) :: PVAP_HBr REAL(fp) :: PVAP_HOBr ! R in m3.atm/(mol K) REAL(fp), PARAMETER :: R_ATM = Rd * AIRMW * 1e-3_fp / ATM ! Transitional variables REAL(fp) :: DENSITY REAL(fp) :: TEMPERATURE REAL(fp) :: PR REAL(fp) :: TR REAL(fp) :: TT ! Coefficients (q, k) for calculation of H* for H2SO4 and HNO3 REAL(fp),DIMENSION(10) :: QN,QS REAL(fp),DIMENSION(7) :: KN,KS ! Derived parameters REAL(fp) :: A,B,C,PHI ! Error trapping REAL(fp) :: TMP1,TMP2,TMP3,TMP4,TMP5,TMP6 REAL(fp), PARAMETER :: TNY = 1.0e-28_fp ! Debug message CHARACTER(LEN=255) :: DBGMSG ! ====================================================================== DATA QN/14.5734e+0_fp,0.0615994e+0_fp,-1.14895e+0_fp, & 0.691693e+0_fp,-0.098863e+0_fp, & 0.0051579e+0_fp,0.123472e+0_fp,-0.115574e+0_fp, & 0.0110113e+0_fp,0.0097914e+0_fp/ DATA QS/14.4700e+0_fp,0.0638795e+0_fp,-3.29597e+0_fp, & 1.778224e+0_fp,-0.223244e+0_fp, & 0.0086486e+0_fp,0.536695e+0_fp,-0.335164e+0_fp, & 0.0265153e+0_fp,0.0157550e+0_fp/ DATA KN/-39.136e+0_fp,6358.4e+0_fp,83.29e+0_fp, & -17650.0e+0_fp,198.53e+0_fp, & -11948.e+0_fp,-28.469e+0_fp/ DATA KS/-21.661e+0_fp,2724.2e+0_fp,51.81e+0_fp, & -15732.0e+0_fp,47.004e+0_fp, & -6969.0e+0_fp,-4.6183e+0_fp/ ! ====================================================================== SAVE QN, QS, KN, KS !================================================================= ! TERNARY begins here! !================================================================= ! Routine only valid for certain limits H2OSUM = MAX(H2OSUM_IN,5.0e-7_fp) PCENTER = MAX(PCENTER_IN,5.0e+0_fp) TCENTER = TCENTER_IN ! Calculate partial pressure of H2O & HNO3 ! PCENTER is in hPa, so need to convert ATM from Pa to hPa PATMH2O = H2OSUM * PCENTER / (ATM*1e-2_fp) ! Carslaw only valid for 2e-5 < PPH2O < 2e-3 (hPa) PATMH2O = MAX(PATMH2O,1.9738465e-8_fp) PATMH2O = MIN(PATMH2O,1.9738465e-6_fp) PATMHNO3 = HNO3SUM * PCENTER / (ATM*1e-2_fp) PATMHCl = HClSUM * PCENTER / (ATM*1e-2_fp) PATMHOCl = HOClSUM * PCENTER / (ATM*1e-2_fp) PATMHBr = HBrSUM * PCENTER / (ATM*1e-2_fp) PATMHOBr = HOBrSUM * PCENTER / (ATM*1e-2_fp) ! Moles of H2SO4 per m3 air MOLDENS_H2SO4 = 100.e+0_fp*PCENTER*H2SO4SUM/(RSTARG*TCENTER) ! Nucleation temperature of ice T_ICE = 2668.70e+0_fp/ & (10.4310e+0_fp-(LOG(PATMH2O)+LOG(760.0e+0_fp))/LOG(10.0e+0_fp)) ! Pressure relation PR = LOG(PATMH2O)+18.4e+0_fp ! Therefore if temperature lower, set to T_ICE-3 IF (TCENTER .lt. (T_ICE-3.0e+0_fp)) THEN TCENTER = (T_ICE-3.0e+0_fp) ENDIF IF (TCENTER .lt. 185.0e+0_fp) THEN TCENTER = 185.0e+0_fp ENDIF ! ?? TT = TCENTER * R_ATM * MOLDENS_H2SO4 ! Temperature relation TR = 1.0e+4_fp/TCENTER-43.4782608e+0_fp ! Determine H2SO4/H2O pure solution concentration ! Mole fraction of H2SO4 in binary solution TMP1 = (KS(1)+KS(2)/TCENTER)** & 2.0e+0_fp-4.0e+0_fp*(KS(3)+KS(4)/TCENTER)*(KS(5)+KS(6)/ & TCENTER+KS(7)*LOG(TCENTER)-LOG(PATMH2O)) IF ( TMP1 > 0.0_fp ) THEN X_H2SO4_BIN = 1.0e+0_fp/(2.0e+0_fp*(KS(3)+KS(4)/TCENTER))* & (-KS(1)-KS(2)/TCENTER-(TMP1)**0.5e+0_fp) ELSE !X_H2SO4_BIN = 1.0e+0_fp/(2.0e+0_fp*(KS(3)+KS(4)/TCENTER))* & ! (-KS(1)-KS(2)/TCENTER) X_H2SO4_BIN = 0.0_fp ENDIF !X_H2SO4_BIN = 1.0e+0_fp/(2.0e+0_fp*(KS(3)+KS(4)/TCENTER))* & ! (-KS(1)-KS(2)/TCENTER-((KS(1)+KS(2)/TCENTER)** & ! 2.0e+0_fp-4.0e+0_fp*(KS(3)+KS(4)/TCENTER)*(KS(5)+KS(6)/ & ! TCENTER+KS(7)*LOG(TCENTER)-LOG(PATMH2O)))**0.5e+0_fp) ! Molality (mol H2SO4/kg H2O) in binary solution M_H2SO4_BIN = 55.51e+0_fp*X_H2SO4_BIN/(1.0e+0_fp-X_H2SO4_BIN) IF ((TCENTER.le.215.0e+0_fp).AND.(PATMHNO3.gt.TNY)) THEN ! Determine HNO3/H2SO4/H2O solution composition H_H2SO4_BIN = EXP(QS(1)+QS(2)*TR**2+(QS(3)+QS(4)*TR+ & QS(5)*TR**2+QS(6)*TR**3)*PR+(QS(7)+QS(8)*TR+ & QS(9)*TR**2)*PR**2+QS(10)*TR*PR**3) X_HNO3_BIN=1.0e+0_fp/(2.0e+0_fp*(KN(3)+KN(4)/TCENTER))* & (-KN(1)-KN(2)/TCENTER-((KN(1)+KN(2)/TCENTER)** & 2-4.0e+0_fp*(KN(3)+KN(4)/TCENTER)*(KN(5)+ & KN(6)/TCENTER+KN(7)*LOG(TCENTER)-LOG(PATMH2O) & ))**0.5e+0_fp) M_HNO3_BIN=55.51e+0_fp*X_HNO3_BIN/(1.0e+0_fp-X_HNO3_BIN) H_HNO3_BIN=EXP(QN(1)+QN(2)*TR**2+(QN(3)+QN(4)*TR+QN(5)* & TR**2+QN(6)*TR**3)*PR+(QN(7)+QN(8)*TR+QN(9)*TR**2)* & PR**2+QN(10)*TR*PR**3) A=(TT*H_HNO3_BIN*M_HNO3_BIN**2-TT*H_H2SO4_BIN*M_HNO3_BIN* & M_H2SO4_BIN-2.0e+0_fp*M_HNO3_BIN**2*M_H2SO4_BIN+ & M_HNO3_BIN*M_H2SO4_BIN**2+H_HNO3_BIN*M_HNO3_BIN* & M_H2SO4_BIN*PATMHNO3-H_H2SO4_BIN*M_H2SO4_BIN**2* & PATMHNO3)/(M_HNO3_BIN**2-M_HNO3_BIN*M_H2SO4_BIN) B=M_H2SO4_BIN*(-2.0e+0_fp*TT*H_HNO3_BIN*M_HNO3_BIN+TT* & H_H2SO4_BIN*M_H2SO4_BIN+M_HNO3_BIN*M_H2SO4_BIN- & H_HNO3_BIN*M_H2SO4_BIN*PATMHNO3)/(M_HNO3_BIN- & M_H2SO4_BIN) C=(TT*H_HNO3_BIN*M_HNO3_BIN*M_H2SO4_BIN**2)/ & (M_HNO3_BIN-M_H2SO4_BIN) PHI=ATAN(SQRT(4.0e+0_fp*(A**2-3.0e+0_fp*B)**3-(-2.0e+0_fp*A**3+ & 9.0e+0_fp*A*B-27.0e+0_fp*C)**2)/(-2.0e+0_fp*A**3+9.0e+0_fp*A & *B-27.0e+0_fp*C)) IF (PHI.lt.0.e+0_fp) THEN PHI = PHI + PI ENDIF M_H2SO4=-1.0e+0_fp/3.0e+0_fp*(A+2.0e+0_fp* & SQRT(A**2-3.0e+0_fp*B)* & COS((PI+PHI)/3.0e+0_fp)) M_HNO3=M_HNO3_BIN*(1.0e+0_fp-M_H2SO4/M_H2SO4_BIN) W_H2SO4 = M_H2SO4*0.098076e+0_fp/(1.0e+0_fp+M_H2SO4* & 0.098076e+0_fp+M_HNO3*0.063012e+0_fp) ! Check for low H2SO4 IF (M_H2SO4 .lt. TNY) THEN M_H2SO4 = 0.0e+0_fp M_HNO3 = M_HNO3_BIN W_H2SO4 = 0.0e+0_fp ENDIF PVAP_HNO3=M_HNO3/(H_HNO3_BIN*M_HNO3/(M_HNO3+ & M_H2SO4)+H_H2SO4_BIN*M_H2SO4/(M_HNO3+M_H2SO4)) W_HNO3 = (M_HNO3*0.063012e+0_fp)/(1.0e+0_fp+M_H2SO4* & 0.098076e+0_fp+M_HNO3*0.063012e+0_fp) HNO3GASFRAC=(1.0e+0_fp-(PATMHNO3-PVAP_HNO3)/PATMHNO3) ELSE ! Solution is pure H2SO4/H2O M_H2SO4 = M_H2SO4_BIN M_HNO3 = 0.0e+0_fp W_H2SO4 = M_H2SO4_BIN*0.098076e+0_fp/(1.0e+0_fp+M_H2SO4_BIN* & 0.098076e+0_fp) W_HNO3 = 0.0e+0_fp PVAP_HNO3 = 0.0e+0_fp HNO3GASFRAC=1.0e+0_fp ENDIF ! ckeller: restrict values to range that prevents float invalids IF ( M_H2SO4 < TNY ) M_H2SO4 = 0.0_fp IF ( M_HNO3 < TNY ) M_HNO3 = 0.0_fp IF ( W_HNO3 < TNY ) W_HNO3 = 0.0_fp ! Handle HCl (Luo et al., Vapor pressures of ! H2SO4/HNO3/HCl/HBr/H2O solutions to low stratospheric ! temperatures, 1995) #ifdef MODEL_GEOS IF (PATMHCL.gt.0.0e+0_fp) THEN TMP1 = W_HNO3+0.610e+0_fp*W_H2SO4 IF ( TMP1 <= 0.0_fp ) THEN TMP2 = 0.0_fp ELSE TMP2 = LOG(TMP1) ENDIF TMP3 = 36.461e+0_fp/(1000.0e+0_fp+98.076e+0_fp* & M_H2SO4+63.012e+0_fp* M_HNO3) IF ( TMP3 <= 0.0_fp ) THEN TMP4 = 0.0_fp ELSE TMP4 = LOG(TMP3) ENDIF H_HCL = EXP(-(21.0e+0_fp+46.610e+0_fp*W_HNO3+ & 4.0690e+0_fp*W_H2SO4- & 4.8370e+0_fp*SQRT(W_HNO3)+2.1860e+0_fp* & SQRT(W_H2SO4)-63.0e+0_fp* & W_HNO3**2-40.170e+0_fp*W_HNO3*W_H2SO4- & 1.5710e+0_fp*W_H2SO4**2)- & 1.0e+0_fp/TCENTER*(-7437.0e+0_fp-8327.80e+0_fp* & W_HNO3+1300.90e+0_fp* & W_H2SO4+1087.20e+0_fp*SQRT(W_HNO3)-242.710e+0_fp* & SQRT(W_H2SO4)+ & 18749.0e+0_fp*W_HNO3**2+18500.0e+0_fp*W_HNO3*W_H2SO4+ & 5632.0e+0_fp*W_H2SO4**2)-TMP2-TMP4)*(ATM*1e-2_fp) !H_HCL = EXP(-(21.0e+0_fp+46.610e+0_fp*W_HNO3+ & ! 4.0690e+0_fp*W_H2SO4- & ! 4.8370e+0_fp*SQRT(W_HNO3)+2.1860e+0_fp* & ! SQRT(W_H2SO4)-63.0e+0_fp* & ! W_HNO3**2-40.170e+0_fp*W_HNO3*W_H2SO4- & ! 1.5710e+0_fp*W_H2SO4**2)- & ! 1.0e+0_fp/TCENTER*(-7437.0e+0_fp-8327.80e+0_fp* & ! W_HNO3+1300.90e+0_fp* & ! W_H2SO4+1087.20e+0_fp*SQRT(W_HNO3)-242.710e+0_fp* & ! SQRT(W_H2SO4)+ & ! 18749.0e+0_fp*W_HNO3**2+18500.0e+0_fp*W_HNO3*W_H2SO4+ & ! 5632.0e+0_fp*W_H2SO4**2)-LOG(W_HNO3+0.610e+0_fp*W_H2SO4)- & ! LOG(36.461e+0_fp/(1000.0e+0_fp+98.076e+0_fp* & ! M_H2SO4+63.012e+0_fp* & ! M_HNO3)))*(ATM*1e-2_fp) IF ( M_H2SO4 <= 0.0_fp ) THEN TMP1 = 0.0_fp ELSE TMP1 = MOLDENS_H2SO4/M_H2SO4 ENDIF IF ( H_HCL <= 0.0_fp ) THEN TMP2 = 0.0_fp ELSE TMP2 = 1.0e+0_fp/R_ATM/TCENTER/H_HCL ENDIF IF ( TMP1 == 0.0_fp .AND. TMP2 == 0.0_fp ) THEN M_HCl = 0.0_fp ELSE M_HCl = (1.0e+0_fp/R_ATM/TCENTER*PATMHCL)/(TMP1 + TMP2) ENDIF !M_HCl = (1.0e+0_fp/R_ATM/TCENTER*PATMHCL)/ & ! (MOLDENS_H2SO4/M_H2SO4 + 1.0e+0_fp/R_ATM/TCENTER/H_HCL) TMP1 = 1.0e+3_fp+98.076e+0_fp*M_H2SO4+63.012e+0_fp*M_HNO3 IF ( TMP1 <= 0.0_fp ) THEN W_HCL=0.0_fp ELSE W_HCL=M_HCL*36.461e+0_fp/TMP1 ENDIF !W_HCL=M_HCL*36.461e+0_fp/(1.0e+3_fp+98.076e+0_fp*M_H2SO4+ ! 63.012e+0_fp*M_HNO3) IF ( H_HCl <= 0.0_fp ) THEN PVAP_HCl = 0.0_fp ELSE PVAP_HCl = M_HCl/H_HCl ENDIF HClGASFRAC=1.0e+0_fp-(PATMHCL-PVAP_HCL)/PATMHCL ELSE W_HCl=0.0e+0_fp HClGASFRAC=1.0e+0_fp ENDIF #else W_HCl=0.0e+0_fp HClGASFRAC=1.0e+0_fp IF ( PATMHCL .gt. TNY .AND. & M_H2SO4 .gt. TNY .AND. & M_HNO3 .gt. TNY ) THEN TMP1 = W_HNO3+0.610e+0_fp*W_H2SO4 IF ( TMP1 > TNY ) THEN TMP2 = LOG(TMP1) TMP3 = 36.461e+0_fp/(1000.0e+0_fp+98.076e+0_fp* & M_H2SO4+63.012e+0_fp*M_HNO3) IF ( TMP3 > TNY ) THEN TMP4 = LOG(TMP3) H_HCL = EXP(-(21.0e+0_fp+46.610e+0_fp*W_HNO3+ & 4.0690e+0_fp*W_H2SO4- & 4.8370e+0_fp*SQRT(W_HNO3)+2.1860e+0_fp* & SQRT(W_H2SO4)-63.0e+0_fp* & W_HNO3**2-40.170e+0_fp*W_HNO3*W_H2SO4- & 1.5710e+0_fp*W_H2SO4**2)- & 1.0e+0_fp/TCENTER*(-7437.0e+0_fp-8327.80e+0_fp* & W_HNO3+1300.90e+0_fp* & W_H2SO4+1087.20e+0_fp*SQRT(W_HNO3)-242.710e+0_fp* & SQRT(W_H2SO4)+ & 18749.0e+0_fp*W_HNO3**2+18500.0e+0_fp*W_HNO3*W_H2SO4+ & 5632.0e+0_fp*W_H2SO4**2)-TMP2-TMP4)*(ATM*1e-2_fp) IF ( H_HCL > TNY ) THEN TMP1 = MOLDENS_H2SO4/M_H2SO4 TMP2 = 1.0e+0_fp/R_ATM/TCENTER/H_HCL IF ( TMP1+TMP2 > TNY ) THEN M_HCl = (1.0e+0_fp/R_ATM/TCENTER*PATMHCL)/(TMP1 + TMP2) TMP1 = 1.0e+3_fp+98.076e+0_fp*M_H2SO4+63.012e+0_fp*M_HNO3 W_HCL=M_HCL*36.461e+0_fp/TMP1 PVAP_HCl = M_HCl/H_HCl HClGASFRAC=1.0e+0_fp-(PATMHCL-PVAP_HCL)/PATMHCL ENDIF ENDIF ENDIF ENDIF ENDIF #endif ! Now HOCl W_HOCl=0.0e+0_fp HOClGASFRAC=1.0e+0_fp IF (PATMHOCl>TNY .AND. M_H2SO4>TNY ) THEN H_HOCl=EXP(6.49460e+0_fp-(-0.041070e+0_fp+54.56e+0_fp/TCENTER)* & (M_H2SO4+M_HNO3)-5862.0e+0_fp*(1.0e+0_fp/298.15e+0_fp- & 1.0e+0_fp/TCENTER)) #ifdef MODEL_GEOS IF ( M_H2SO4 <= 0.0_fp ) THEN TMP1 = 0.0_fp ELSE TMP1 = MOLDENS_H2SO4/M_H2SO4 ENDIF IF ( H_HOCL <= 0.0_fp ) THEN TMP2 = 0.0_fp ELSE TMP2 = 1.0e+0_fp/R_ATM/TCENTER/H_HOCL ENDIF IF ( TMP1 == 0.0_fp .AND. TMP2 == 0.0_fp ) THEN M_HOCl = 0.0_fp ELSE M_HOCl = (1.0e+0_fp/R_ATM/TCENTER*PATMHOCl)/(TMP1+TMP2) ENDIF !M_HOCl=(1.0e+0_fp/R_ATM/TCENTER*PATMHOCl)/ & ! (MOLDENS_H2SO4/M_H2SO4 + 1.0e+0_fp/R_ATM/TCENTER/H_HOCL) W_HOCL=M_HOCL*52.46e+0_fp/(1.0e+3_fp+98.076e+0_fp*M_H2SO4+ & 63.012e+0_fp*M_HNO3) ! Realistically expect no gas phase removal HOCLGASFRAC=1.0e+0_fp ELSE W_HOCl=0.0e+0_fp HOClGASFRAC=1.0e+0_fp #else IF ( H_HOCL > TNY ) THEN TMP1 = MOLDENS_H2SO4/M_H2SO4 TMP2 = 1.0e+0_fp/R_ATM/TCENTER/H_HOCL IF ( TMP1+TMP2 > TNY ) THEN M_HOCl = (1.0e+0_fp/R_ATM/TCENTER*PATMHOCl)/(TMP1+TMP2) W_HOCL = M_HOCL*52.46e+0_fp/(1.0e+3_fp+98.076e+0_fp*M_H2SO4+ & 63.012e+0_fp*M_HNO3) ! Realistically expect no gas phase removal HOCLGASFRAC=1.0e+0_fp ENDIF ENDIF #endif ENDIF ! Now HBr (Luo et al., Vapor pressures of ! H2SO4/HNO3/HCl/HBr/H2O solutions to low stratospheric ! temperatures, 1995) #ifdef MODEL_GEOS IF (PATMHBr.gt.0.0e+0_fp) THEN TMP1 = W_HNO3+0.410e+0_fp*W_H2SO4 IF ( TMP1 <= 0.0_fp ) THEN TMP2 = 0.0_fp ELSE TMP2 = LOG(TMP1) ENDIF TMP3 = 36.461e+0_fp/(1000.0e+0_fp+98.076e+0_fp* & M_H2SO4+63.012e+0_fp*M_HNO3) IF ( TMP3 > 0.0_fp ) THEN TMP4 = LOG(TMP3) ELSE TMP4 = 0.0_fp ENDIF H_HBr = EXP(-(17.83e+0_fp+1.02e+0_fp*W_HNO3-1.08e+0_fp*W_H2SO4+ & 3.9e+0_fp*SQRT(W_HNO3)+4.38e+0_fp*SQRT(W_H2SO4)-8.87e+0_fp* & W_HNO3**2-17.0e+0_fp*W_HNO3*W_H2SO4+3.73e+0_fp*W_H2SO4**2)- & 1.0e+0_fp/TCENTER*(-8220.5e+0_fp-362.76e+0_fp* & W_HNO3+658.93e+0_fp* & W_H2SO4-914.0e+0_fp*SQRT(W_HNO3)-955.3e+0_fp*SQRT(W_H2SO4)+ & 9976.6e+0_fp*W_HNO3**2+19778.5e+0_fp*W_HNO3*W_H2SO4+ & 7680.0e+0_fp*W_H2SO4**2)-TMP2-TMP4)*(ATM*1e-2_fp) !H_HBr = EXP(-(17.83e+0_fp+1.02e+0_fp*W_HNO3-1.08e+0_fp*W_H2SO4+ & ! 3.9e+0_fp*SQRT(W_HNO3)+4.38e+0_fp*SQRT(W_H2SO4)-8.87e+0_fp* & ! W_HNO3**2-17.0e+0_fp*W_HNO3*W_H2SO4+3.73e+0_fp*W_H2SO4**2)- & ! 1.0e+0_fp/TCENTER*(-8220.5e+0_fp-362.76e+0_fp* & ! W_HNO3+658.93e+0_fp* & ! W_H2SO4-914.0e+0_fp*SQRT(W_HNO3)-955.3e+0_fp*SQRT(W_H2SO4)+ & ! 9976.6e+0_fp*W_HNO3**2+19778.5e+0_fp*W_HNO3*W_H2SO4+ & ! 7680.0e+0_fp*W_H2SO4**2)-LOG(W_HNO3+0.410e+0_fp*W_H2SO4)- & ! LOG(36.461e+0_fp/(1000.0e+0_fp+98.076e+0_fp* & ! M_H2SO4+63.012e+0_fp* & ! M_HNO3)))*(ATM*1e-2_fp) IF ( M_H2SO4 <= 0.0_fp ) THEN TMP1 = 0.0_fp ELSE TMP1 = MOLDENS_H2SO4/M_H2SO4 ENDIF IF ( H_HBr <= 0.0_fp ) THEN TMP2 = 0.0_fp ELSE TMP2 = 1.0e+0_fp/R_ATM/TCENTER/H_HBr ENDIF IF ( TMP1==0.0_fp .AND. TMP2==0.0_fp ) THEN M_HBr = 0.0_fp ELSE M_HBr = (1.0e+0_fp/R_ATM/TCENTER*PATMHBr)/(TMP1+TMP2) ENDIF !M_HBr = (1.0e+0_fp/R_ATM/TCENTER*PATMHBr)/ & ! (MOLDENS_H2SO4/M_H2SO4 + 1.0e+0_fp/R_ATM/TCENTER/H_HBr) W_HBr = M_HBr*80.91e+0_fp/(1.0e+3_fp+98.076e+0_fp*M_H2SO4+ & 63.012e+0_fp*M_HNO3) IF ( H_HBr <= 0.0_fp ) THEN PVAP_HBr = 0.0_fp ELSE PVAP_HBr = M_HBr/H_HBr ENDIF HBrGASFRAC=1.0e+0_fp-(PATMHBr-PVAP_HBr)/PATMHBr ELSE W_HBr=0.0e+0_fp HBrGASFRAC=1.0e+0_fp ENDIF #else W_HBr=0.0e+0_fp HBrGASFRAC=1.0e+0_fp IF (PATMHBr > TNY .AND. M_H2SO4 > TNY ) THEN TMP1 = W_HNO3+0.410e+0_fp*W_H2SO4 IF ( TMP1 > TNY ) THEN TMP2 = LOG(TMP1) TMP3 = 36.461e+0_fp/(1000.0e+0_fp+98.076e+0_fp* & M_H2SO4+63.012e+0_fp*M_HNO3) IF ( TMP3 > TNY ) THEN TMP4 = LOG(TMP3) H_HBr = EXP(-(17.83_fp+1.02_fp*W_HNO3-1.08_fp*W_H2SO4+ & 3.9e+0_fp*SQRT(W_HNO3)+4.38e+0_fp*SQRT(W_H2SO4)-8.87e+0_fp* & W_HNO3**2-17.0e+0_fp*W_HNO3*W_H2SO4+3.73e+0_fp*W_H2SO4**2)- & 1.0e+0_fp/TCENTER*(-8220.5e+0_fp-362.76e+0_fp* & W_HNO3+658.93e+0_fp* & W_H2SO4-914.0e+0_fp*SQRT(W_HNO3)-955.3e+0_fp*SQRT(W_H2SO4)+ & 9976.6e+0_fp*W_HNO3**2+19778.5e+0_fp*W_HNO3*W_H2SO4+ & 7680.0e+0_fp*W_H2SO4**2)-TMP2-TMP4)*(ATM*1e-2_fp) IF ( H_HBr > TNY ) THEN TMP1 = MOLDENS_H2SO4/M_H2SO4 TMP2 = 1.0e+0_fp/R_ATM/TCENTER/H_HBr IF ( TMP1+TMP2 > TNY ) THEN M_HBr = (1.0e+0_fp/R_ATM/TCENTER*PATMHBr)/(TMP1+TMP2) W_HBr = M_HBr*80.91e+0_fp/(1.0e+3_fp+98.076e+0_fp*M_H2SO4+ & 63.012e+0_fp*M_HNO3) PVAP_HBr = M_HBr/H_HBr HBrGASFRAC=1.0e+0_fp-(PATMHBr-PVAP_HBr)/PATMHBr ENDIF ENDIF ENDIF ENDIF ENDIF #endif ! Finally HOBr (Hanson and Ravishankara, Heterogeneous ! chemistry of Bromine species in sulfuric acid under ! stratospheric conditions, 1995) W_HOBr=0e+0_fp HOBrGASFRAC=1.0e+0_fp IF (PATMHOBr > TNY .and. M_H2SO4 > TNY ) THEN ! Hanson and Ravishankara state that the volume-based ! Henry's Law coefficient for HOBr in H2SO4 is 10^6 M/atm. ! The molality-based Henry's law constant, H_HOBr, is ! therefore: #ifdef MODEL_GEOS IF ( M_H2SO4 <= 0.0_fp ) THEN H_HOBr = 0.0_fp ELSE H_HOBr = (1.0e+6_fp) * MOLDENS_H2SO4 / M_H2SO4 ENDIF IF ( M_H2SO4 <= 0.0_fp ) THEN TMP1 = 0.0_fp ELSE TMP1 = MOLDENS_H2SO4/M_H2SO4 ENDIF IF ( H_HOBr <= 0.0_fp ) THEN TMP2 = 0.0_fp ELSE TMP2 = 1.0e+0_fp/R_ATM/TCENTER/H_HOBr ENDIF IF ( TMP1 == 0.0_fp .AND. TMP2 == 0.0_fp ) THEN M_HOBr = 0.0_fp ELSE M_HOBr = (1.0e+0_fp/R_ATM/TCENTER*PATMHOBr)/(TMP1 + TMP2) ENDIF M_HOBr = (1.0e+0_fp/R_ATM/TCENTER*PATMHOBr)/ & (MOLDENS_H2SO4/M_H2SO4 + 1.0e+0_fp/R_ATM/TCENTER/H_HOBr) W_HOBr = M_HOBr*96.911e+0_fp/(1.0e+3_fp+98.076e+0_fp*M_H2SO4+ & 63.012e+0_fp*M_HNO3) IF ( H_HOBr <= 0.0_fp ) THEN PVAP_HOBr = 0.0_fp ELSE PVAP_HOBr = M_HOBr/H_HOBr ENDIF HOBrGASFRAC=1.0e+0_fp-(PATMHOBr-PVAP_HOBr)/PATMHOBr ELSE W_HOBr=0e+0_fp HOBrGASFRAC=1.0e+0_fp ENDIF #else H_HOBr = (1.0e+6_fp) * MOLDENS_H2SO4 / M_H2SO4 IF ( H_HOBr > TNY ) THEN TMP1 = MOLDENS_H2SO4/M_H2SO4 TMP2 = 1.0e+0_fp/R_ATM/TCENTER/H_HOBr IF ( TMP1+TMP2 > TNY ) THEN M_HOBr = (1.0e+0_fp/R_ATM/TCENTER*PATMHOBr)/(TMP1+TMP2) W_HOBr = M_HOBr*96.911_fp/(1.0e+3_fp+98.076_fp*M_H2SO4+ & 63.012e+0_fp*M_HNO3) PVAP_HOBr = M_HOBr/H_HOBr HOBrGASFRAC=1.0e+0_fp-(PATMHOBr-PVAP_HOBr)/PATMHOBr ENDIF ENDIF ENDIF #endif ! Take W_H2O as remainder W_H2O = 1.e+0_fp-(W_H2SO4+W_HNO3+W_HCl+W_HOCl+W_HBr+W_HOBr) #ifdef MODEL_GEOS ! restrict values to range that prevents invalids (12/29/17) IF ( M_H2SO4 < 1.0e-30_fp ) M_H2SO4 = 0.0_fp IF ( M_HNO3 < 1.0e-30_fp ) M_HNO3 = 0.0_fp #endif ! Aerosol mass density in kg/m3 aerosol SLA_RHO = CARSLAW_DENSITY(M_H2SO4,M_HNO3,TCENTER) ! Aerosol volume in m3/m3 air IF ( W_H2SO4 < TNY .OR. SLA_RHO < TNY ) THEN SLA_VOL = 0.0_fp ELSE SLA_VOL = (MOLDENS_H2SO4*98.076e+0_fp/W_H2SO4/SLA_RHO)*1.e-3_fp ENDIF END SUBROUTINE TERNARY !EOC !------------------------------------------------------------------------------ ! MIT Laboratory for Aviation and the Environment ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: carslaw_density ! ! !DESCRIPTION: Function CARSLAW\_DENSITY determines the density of a ! sol'n through a relationship from Carslaw et al.. Result is in kg/m3. !\\ !\\ ! !INTERFACE: ! REAL(fp) FUNCTION CARSLAW_DENSITY(CS,CN,T) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: CS ! H2SO4 molality (mol H2SO4/kg solvent) REAL(fp), INTENT(IN) :: CN ! HNO3 molality (mol HNO3/kg solvent) REAL(fp), INTENT(IN) :: T ! Temperature (K) ! ! !REVISION HISTORY: ! 19 Apr 2013 - S. D. Eastham - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) :: DENSS,DENSN !================================================================= ! CARSLAW_DENSITY begins here! !================================================================= DENSS=1000.0e+0_fp+123.64e+0_fp*CS-5.6e-4_fp*CS*T**2 & -29.54e+0_fp*CS**1.5e+0_fp + 1.814e-4_fp*CS**1.5e+0_fp & *T**2+2.343e+0_fp*CS**2 -1.487e-3_fp*CS**2*T & -1.324e-5_fp*CS**2*T**2 DENSN=1000.0e+0_fp+85.107e+0_fp*CN-5.043e-4_fp*CN*T**2 & -18.96e+0_fp*CN**1.5e+0_fp + 1.427e-4_fp*CN**1.5e+0_fp & *T**2+1.458e+0_fp*CN**2 -1.198e-3_fp*CN**2*T & -9.703e-6_fp*CN**2*T**2 ! Error trap for zeros (ckeller, 12/29/17) IF ( CS == 0.0_fp .AND. CN == 0.0_fp ) THEN CARSLAW_DENSITY = 0.0_fp ELSE CARSLAW_DENSITY=1.0e+0_fp/((1.0e+0_fp/DENSS*CS/(CS+CN) & +1.0e+0_fp/DENSN*CN/(CS+CN))) ENDIF RETURN END FUNCTION CARSLAW_DENSITY !EOC !------------------------------------------------------------------------------ ! MIT Laboratory for Aviation and the Environment ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: calc_fallvel ! ! !DESCRIPTION: Function CALC\_FALLVEL calculates the terminal velocity of a ! solid particle. !\\ !\\ ! !INTERFACE: ! FUNCTION CALC_FALLVEL(DENSITY,RADIUS,TCENTER,PCENTER) RESULT(VEL) ! ! !USES: ! USE ERROR_MOD, ONLY : ERROR_STOP ! ! !INPUT PARAMETERS: ! REAL(fp),INTENT(IN) :: RADIUS ! Particle radius (cm) REAL(fp),INTENT(IN) :: DENSITY ! Particle density (kg/m3) REAL(fp),INTENT(IN) :: TCENTER ! Local temperature (K) REAL(fp),INTENT(IN) :: PCENTER ! Local pressure (kPa) ! ! !OUTPUT VARIABLES: ! REAL(fp) :: VEL ! Fall velocity (m/s) ! ! !REMARKS: ! (1) A remark ! ! !REVISION HISTORY: ! 11 Aug 2012 - S. D. Eastham - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) :: Vy ! Intermediate velocity (m/s) REAL(fp),PARAMETER :: eta=6.45e-8_fp ! Constant (kg/(msK)) REAL(fp) :: val_x ! Dimensionless variable REAL(fp),DIMENSION(3) :: alpha ! Auxiliary variables REAL(fp) :: PR ! Pressure times radius !================================================================= ! CALC_FALLVEL begins here! !================================================================= DATA ALPHA/1.49e-5_fp,5.02e-6_fp,2.64e-5_fp/ ! Sanity check IF ((RADIUS.le.0.e+0_fp).or.(DENSITY.le.0.e+0_fp)) THEN VEL=0.e+0_fp ELSE ! PCENTER (kPa -> Pa) = *1.d3 ! RADIUS (cm -> m ) = *1.d-2 ! Therefore multiply PR by 10 PR = PCENTER * RADIUS * 10e+0_fp VAL_X = -1.0e+0_fp*PR/(ALPHA(3)*TCENTER) VAL_X = ALPHA(2)*TCENTER*EXP(VAL_X)/PR VAL_X = 1.0e+0_fp + VAL_X + (ALPHA(1)*TCENTER/PR) Vy = g0*DENSITY*RADIUS*RADIUS*(1.e-4_fp)/(4.5*ETA*TCENTER) VEL = 0.893e+0_fp * Vy * VAL_X ENDIF ! Velocities should be of the order of 0.1 m/s IF (VEL.gt.10.e+0_fp) THEN CALL ERROR_STOP(' Excessive fall velocity? ', ' CALC_FALLVEL, UCX_mod') ENDIF END FUNCTION CALC_FALLVEL !EOC !------------------------------------------------------------------------------ ! MIT Laboratory for Aviation and the Environment ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: cacl_sla_gamma ! ! !DESCRIPTION: Subroutine CALC\_SLA\_GAMMA calculates 11 different sticking ! coefficients on the surface of local stratospheric liquid aerosols, ! relevant to each of the 11 reactions listed in Kirner's paper. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CALC_SLA_GAMMA( NDENS, T, P, WT_FRC, H2OSUM, HClSUM, & HBrSUM, HOBrSUM, ClNO3SUM, BrNO3SUM, & RHO, ARAD, RXNGAMMA ) ! ! !USES: ! USE ERROR_MOD, ONLY : IT_IS_NAN,ERROR_STOP ! Test for NaN ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: NDENS ! Air number density (molec/cm3) REAL(fp), INTENT(IN) :: T ! Temperature (K) REAL(fp), INTENT(IN) :: P ! Pressure (hPa) REAL(fp), INTENT(IN) :: WT_FRC ! Weight fraction of H2SO4 (kg/kg) REAL(fp), INTENT(IN) :: H2OSUM ! H2O mixing ratio REAL(fp), INTENT(IN) :: HClSUM ! HCl mixing ratio REAL(fp), INTENT(IN) :: HBrSUM ! HBr mixing ratio REAL(fp), INTENT(IN) :: HOBrSUM ! HOBr mixing ratio REAL(fp), INTENT(IN) :: ClNO3SUM ! ClNO3 mixing ratio REAL(fp), INTENT(IN) :: BrNO3SUM ! BrNO3 mixing ratio REAL(fp), INTENT(IN) :: RHO ! STS density (g/cm3) REAL(fp), INTENT(IN) :: ARAD ! SLA radius (cm) ! ! !OUTPUT VARIABLES: ! REAL(fp), INTENT(OUT) :: RXNGAMMA(11) ! Premultiplying factors ! ! !REVISION HISTORY: ! 10 Oct 2012 - S. D. Eastham - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(f8) :: WT ! Weight percentage H2SO4 (100*kg/kg) REAL(f8) :: H2OPP ! Partial pressure of H2O (hPa) REAL(f8) :: HClPP ! Partial pressure of HCl (atm) REAL(f8) :: HBrPP ! Partial pressure of HBr (atm) REAL(f8) :: HOBrPP ! Partial pressure of HOBr (atm) REAL(f8) :: ClNO3PP ! Partial p. of ClONO2 (atm) REAL(f8) :: BrNO3PP ! Partial p. of BrONO2 (atm) REAL(f8) :: PSATH2O ! Water vapor sat. pressure (hPa) REAL(f8) :: ACTH2O ! Activity of water REAL(f8) :: MOLAL ! Molality of H2SO4 (mol H2SO4/kg solvent) REAL(f8), DIMENSION(3) :: Z ! Parameters for H2SO4 sol'n REAL(f8) :: M_H2SO4 ! Mass of H2SO4 ! HOBr parameters REAL(f8) :: c_HOBr REAL(f8) :: SHOBr REAL(f8) :: HHOBr REAL(f8) :: DHOBr REAL(f8) :: kHOBr_HCl REAL(f8) :: GHOBrrxn REAL(f8) :: lHOBr REAL(f8) :: fHOBr REAL(f8) :: gHOBr_HCl ! HOCl parameters REAL(f8) :: c_HOCl REAL(f8) :: SHOCl REAL(f8) :: HHOCl REAL(f8) :: DHOCl REAL(f8) :: kHOCl_HCl REAL(f8) :: GHOClrxn REAL(f8) :: lHOCl REAL(f8) :: fHOCl REAL(f8) :: gHOCl_HCl ! ClNO3 parameters REAL(f8) :: c_ClNO3 REAL(f8) :: SClNO3 REAL(f8) :: HClNO3 REAL(f8) :: DClNO3 REAL(f8) :: GClNO3rxn REAL(f8) :: lClNO3 REAL(f8) :: fClNO3 REAL(f8) :: gClNO3 REAL(f8) :: gClNO3_HCl REAL(f8) :: gClNO3_H2O ! N2O5 parameters REAL(f8), DIMENSION(3) :: AK ! Other parameters REAL(f8) :: kH2O,kH,khdr,GbH2O,HHCl,MHCl,kHCl,GbHCl,Gs,FHCl,Gsp REAL(f8) :: GbHClp, Gb, khydr, kII, k_dl ! Interim variables REAL(f8) :: X,A,H,T_THRESHOLD,aH REAL(f8), PARAMETER :: MAX_T_DIFF = 6.0e+0_fp ! Control whether to run calculations LOGICAL :: HClOK, HOBrOK ! Debug variables INTEGER :: I CHARACTER(LEN=255) :: DBGMSG !================================================================= ! CALC_SLA_GAMMA begins here! !================================================================= PSATH2O = EXP(18.452406985e+0_f8-3505.1578807e+0_f8 & /T-330918.55082e+0_f8/(T*T) & +12725068.262e+0_f8/(T*T*T)) ! Saturation pressure of H2O H2OPP = H2OSUM * P ! Partial pressure of H2O ACTH2O = MAX((H2OPP/PSATH2O),1.0e+0_f8) ! Water activity ! Calculate molality of solution !WT = MIN(100.0e+0_fp,100.0e+0_fp*WT_FRC) ! Convert from fraction to % WT = 100.0e+0_f8*WT_FRC ! Convert from fraction to % MOLAL = 1000.0e+0_f8 * (WT/98.0e+0_f8/(100.0-WT)) ! Parameters for H2SO4 solution !---------------------------------------------------------- ! The solution density is calculated earlier, including ! contributions from HNO3. This code treats it as a binary ! solution - so far this is just a kludge. Need to update ! all this code to acknowledge the presence of at least ! HNO3 (e.g. X is still calculated based on pure H2O ! solvent!) !---------------------------------------------------------- !Z(1) = 0.12364e+0_fp-5.6d-7*T*T !Z(2) = -0.02954e+0_fp+1.814d-7*T*T !Z(3) = 2.343d-3-1.487d-6*T-1.324d-8*T*T !RHO = 1.0e+0_fp+Z(1)*MOLAL+Z(2)*MOLAL**1.5+Z(3)*MOLAL*MOLAL !---------------------------------------------------------- M_H2SO4 = RHO*WT/9.8 ! Molality (mol H2SO4/kg solvent) X = WT/(WT+(100.-WT)*98./18.) A = 169.5+5.18*WT-0.0825*WT*WT+3.27e-3_f8*WT*WT*WT T_THRESHOLD = 144.11+0.166*WT-0.015*WT*WT+2.18e-4_f8*WT*WT*WT IF ((T-T_THRESHOLD).gt.MAX_T_DIFF) THEN H = A*T**(-1.43)*EXP(448./(T-T_THRESHOLD)) ELSE H = A*T**(-1.43)*EXP(448./MAX_T_DIFF) ENDIF aH = EXP(60.51-0.095*WT+0.0077*WT*WT-1.61e-5_f8*WT*WT*WT & -(1.76+2.52e-4_f8*WT*WT)*SQRT(T) + & (-805.89+253.05*WT**0.076)/SQRT(T)) HClPP = HClSUM *P/(ATM*1e-2_f8) ! Note atm, not hPa ClNO3PP = ClNO3SUM*P/(ATM*1e-2_f8) BrNO3PP = BrNO3SUM*P/(ATM*1e-2_f8) HOBrPP = HOBrSUM *P/(ATM*1e-2_f8) ! Note atm, not hPa ! Should we bother running calculations? HClOK = (HClPP .gt. 1.e-30_f8) HOBrOK = (HOBrPP .gt. 1.e-30_f8) ! Reaction 1. N2O5 + H2O (hydrolysis of N2O5) AK(1)=-25.5265-0.133188*WT+0.0093084*WT**2-9.0194E-5_f8*WT**3 AK(2)=9283.76+115.345*WT-5.19258*WT**2+0.0483464*WT**3 AK(3)=-851801-22191.2*WT+766.916*WT**2-6.85427*WT**3 RXNGAMMA(1)=exp(AK(1)+AK(2)/T+AK(3)/T**2) ! Reaction 2. N2O5 + HCl ! JPL 10-06 suggests near-zero gamma !---------------------------------------------------------------------- ! NOTE: Use 0.0_fp instead of TINY, which is a denormal number ! that can cause floating-point issues (bmy, 06 Jul 2021) !RXNGAMMA(2) = TINY(1e+0_f8) !---------------------------------------------------------------------- RXNGAMMA(2) = 0.0_f8 ! Reactions 3/4. ClNO3 + H2O/HCl ! Now od only if HCl concentrations are large enough ! (to avoid div-by-zero errors), ckeller, 2/10/15. IF (HClOK) THEN c_ClNO3 = 1474.e+0_f8*SQRT(T) SClNO3 = 0.306e+0_f8+24.e+0_f8/T HClNO3 = 1.6e-6_f8*EXP(4710.e+0_f8/T) * EXP(-SClNO3*M_H2SO4) DClNO3 = 5e-8_f8*T/h kH2O = 1.95e+10_f8*EXP(-2800.e+0_f8/T) kH = 1.22e+12_f8*EXP(-6200.e+0_f8/T) khydr = kH2O*ACTH2O + kH*aH*ACTH2O GbH2O = 4*HClNO3*0.082*T*SQRT(DClNO3*khydr) / c_ClNO3 HHCl = (0.094e+0_f8-0.61e+0_f8*X+1.2e+0_f8*X*X) & * EXP(-8.68+(8515-10718*X**0.7)/T) MHCl = HHCl *HClPP kHCl = 7.9e+11_f8*aH*DClNO3*MHCl lClNO3 = SQRT(DClNO3/(khydr+kHCl)) if (lClNO3.gt.(1.e+5_f8*arad)) then ! Limiting rate fClNO3 = arad/(3.e+0_f8*lClNO3) else fClNO3 = 1.e+0_f8/tanh(arad/lClNO3)- lClNO3/arad endif GClNO3rxn = fClNO3*GbH2O *SQRT(1.e+0_f8+kHCl/khydr) GbHCl = GClNO3rxn* kHCl/(kHCl+ khydr) Gs = 66.12e+0_f8*EXP(-1374.e+0_f8/T)*HClNO3*MHCl FHCl = 1.e+0_f8/(1.e+0_f8+0.612e+0_f8*(Gs+GbHCl)* & ClNO3PP/ HClPP) Gsp = FHCl*Gs GbHClp = FHCl*GbHCl Gb = GbHClp + GClNO3rxn* khydr/( kHCl+ khydr) ! Catch for zero (ckeller, 12/29/17) IF ( Gsp == 0.0_fp .AND. Gb == 0.0_fp ) THEN !-------------------------------------------------------------- ! NOTE: Use 0.0_fp instead of TINY, which is a denormal number ! that can cause floating-point issues (bmy, 06 Jul 2021) !gClNO3_HCl = TINY(1e+0_f8) !gClNO3_H2O = TINY(1e+0_f8) !-------------------------------------------------------------- gClNO3_HCl = 0.0_f8 gClNO3_H2O = 0.0_f8 ELSE gClNO3 = 1.e+0_f8/(1.e+0_f8+1.e+0_f8/(Gsp + Gb)) gClNO3_HCl = gClNO3 *(Gsp + GbHClp)/(Gsp + Gb) gClNO3_H2O = gClNO3 - gClNO3_HCl ENDIF !IF (HClOK) THEN RXNGAMMA(3) = gClNO3_H2O RXNGAMMA(4) = gClNO3_HCl ELSE !-------------------------------------------------------------- ! NOTE: Use 0.0_fp instead of TINY, which is a denormal number ! that can cause floating-point issues (bmy, 06 Jul 2021) !RXNGAMMA(3) = TINY(1e+0_f8) !RXNGAMMA(4) = TINY(1e+0_f8) !-------------------------------------------------------------- RXNGAMMA(3) = 0.0_f8 RXNGAMMA(4) = 0.0_f8 ENDIF ! Reaction 5. ClNO3 + HBr ! Not present in JPL 10-06 for H2SO4 !---------------------------------------------------------------------- ! NOTE: Use 0.0_fp instead of TINY, which is a denormal number ! that can cause floating-point issues (bmy, 06 Jul 2021) !RXNGAMMA(5) = TINY(1e+0_f8) !---------------------------------------------------------------------- RXNGAMMA(5) = 0.0_f8 ! Reaction 6. BrNO3 + H2O !RXNGAMMA(6) = 1.0/(1.0/0.88+exp(-17.832+0.245*WT)) RXNGAMMA(6) = 1.e+0_f8/(1.e+0_f8/0.80e+0_f8+1.e+0_f8/ & (exp(29.2e+0_f8-0.4e+0_f8*WT )+0.11)) ! Reaction 7. BrNO3 + HCl RXNGAMMA(7) = 0.9e+0_f8 ! JPL 10-06 ! Reaction 8. HOCl + HCl IF (HClOK) THEN c_HOCl = MOLEC_SPEED(T,52.46e+0_fp) ! input variable, fp SHOCl = 0.0776e+0_f8+59.18e+0_f8/T HHOCl = 1.91e-6_f8*EXP(5862.4e+0_f8/T)*EXP(-SHOCl*M_H2SO4) DHOCl = 6.4e-8_f8*T/H kHOCl_HCl = 1.25e+9_f8*aH*DHOCl*MHCl lHOCl = SQRT(DHOCl/kHOCl_HCl) if (lHOCl.gt.(1.e+5_f8*arad)) then ! Limiting rate fHOCl = arad/(3.e+0_f8*lHOCl) else fHOCl = 1.e+0_f8/tanh(arad/lHOCl)- lHOCl/arad endif GHOClrxn = 4.e+0_f8*HHOCl*0.082e+0_f8*T* & sqrt(DHOCl*kHOCl_HCl)/c_HOCl !IF (fHOCl.eq.0.) THEN ! Catch for zero (ckeller, 12/29/17) IF ((fHOCl*GHOClrxn*FHCl).eq.0.) THEN !-------------------------------------------------------------------- ! NOTE: Use 0.0_fp instead of TINY, which is a denormal number ! that can cause floating-point issues (bmy, 06 Jul 2021) !gHOCl_HCl = TINY(1e+0_f8) !-------------------------------------------------------------------- gHOCl_HCl = 0.0_f8 ELSE gHOCl_HCl = 1.e+0_f8/(1.e+0_f8+1.e+0_f8/(fHOCl*GHOClrxn*FHCl)) ENDIF ELSE !-------------------------------------------------------------------- ! NOTE: Use 0.0_fp instead of TINY, which is a denormal number ! that can cause floating-point issues (bmy, 06 Jul 2021) !gHOCl_HCl = TINY(1e+0_f8) !-------------------------------------------------------------------- gHOCl_HCl = 0.0_f8 ENDIF RXNGAMMA(8) = gHOCl_HCl ! Reaction 9. HOCl + HBr ! Not yet implemented for STS; JPL 10-06 suggests complex ! relationship, not yet sufficiently well understood or ! parameterized for the purposes of simulation. Ignore for now !---------------------------------------------------------------------- ! NOTE: Use 0.0_fp instead of TINY, which is a denormal number ! that can cause floating-point issues (bmy, 06 Jul 2021) !RXNGAMMA(9) = TINY(1e+0_f8) !---------------------------------------------------------------------- RXNGAMMA(9) = 0.0_f8 ! Reaction 10. HOBr + HCl IF ((HClOK).and.(HOBrOK)) THEN c_HOBr = MOLEC_SPEED(T,96.91e+0_fp) ! input variable, fp SHOBr = 0.0776e+0_f8+59.18e+0_f8/T !HHOBr = 30.D0 HHOBR = exp(-9.86e+0_f8+5427.e+0_f8/T) DHOBr = 1.E-8_f8 kII = exp(154.e+0_f8-1.63e+0_f8*WT)*exp(-(3.85e+4_f8- & 478.e+0_f8*WT)/T) k_dl = 7.5e+14_f8*(DHOBr*arad*1.e7_f8) IF (kII.gt.k_dl) kII=k_dl kHOBr_HCl = kII*HHOBr*HOBrPP !IF (kHOBr_HCl.eq.0.) THEN ! catch for zero (mdy, 04/15) ! kHOBr_HCl = TINY(1e+0_fp) !ENDIF GHOBrrxn = 4.e+0_f8*HHCl*0.082e+0_f8*T*sqrt(DHOBr*kHOBr_HCl)/c_HOBr lHOBr = sqrt(DHOBr/kHOBr_HCl) if (lHOBr.gt.(1.e+3_f8*arad)) then ! Limiting rate fHOBr = arad/(3.e+0_f8*lHOBr) else fHOBr = 1.e+0_f8/tanh(arad/lHOBr)- lHOBr/arad endif ! catch for zeros (ckeller, 12/29/17) IF ((fHOBr*GHOBrrxn).eq.0.) THEN !------------------------------------------------------------------ ! NOTE: Use 0.0_fp instead of TINY, which is a denormal number ! that can cause floating-point issues (bmy, 06 Jul 2021) !gHOBr_HCl = TINY(1e+0_f8) !------------------------------------------------------------------ gHOBr_HCl = 0.0_f8 !gHOBr_HCl = 1.e+0_fp/(1.e+0_fp+1.e+0_fp/TINY(1e+0_fp)) ELSE gHOBr_HCl = 1.e+0_f8/(1.e+0_f8+1.e+0_f8/(fHOBr*GHOBrrxn)) ENDIF RXNGAMMA(10) = gHOBr_HCl ELSE !------------------------------------------------------------------ ! NOTE: Use 0.0_fp instead of TINY, which is a denormal number ! that can cause floating-point issues (bmy, 06 Jul 2021) !RXNGAMMA(10) = TINY(1e+0_f8) !------------------------------------------------------------------ RXNGAMMA(10) = 0.0_f8 ENDIF ! Reaction 11. HOBr + HBr ! Data from JPL limited; ignore for now !---------------------------------------------------------------------- ! NOTE: Use 0.0_fp instead of TINY, which is a denormal number ! that can cause floating-point issues (bmy, 06 Jul 2021) !RXNGAMMA(11) = TINY(1e+0_f8) !---------------------------------------------------------------------- RXNGAMMA(11) = 0.0_f8 ! SDE 2013-10-18: DEBUG DO I=1,11 IF (IT_IS_NAN(RXNGAMMA(I))) THEN WRITE(DBGMSG,'(a,I2)') 'RXNGAMMA NaN: ', I CALL DEBUG_MSG( TRIM(DBGMSG) ) WRITE(DBGMSG,'(a,E10.4)') 'NDENS: ', NDENS CALL DEBUG_MSG( TRIM(DBGMSG) ) WRITE(DBGMSG,'(a,E10.4)') 'T: ', T CALL DEBUG_MSG( TRIM(DBGMSG) ) WRITE(DBGMSG,'(a,E10.4)') 'P: ', P CALL DEBUG_MSG( TRIM(DBGMSG) ) WRITE(DBGMSG,'(a,E10.4)') 'WT_FRC: ', WT_FRC CALL DEBUG_MSG( TRIM(DBGMSG) ) WRITE(DBGMSG,'(a,E10.4)') 'H2OSUM: ', H2OSUM CALL DEBUG_MSG( TRIM(DBGMSG) ) WRITE(DBGMSG,'(a,E10.4)') 'HClSUM: ', HClSUM CALL DEBUG_MSG( TRIM(DBGMSG) ) WRITE(DBGMSG,'(a,E10.4)') 'HBrSUM: ', HBrSUM CALL DEBUG_MSG( TRIM(DBGMSG) ) WRITE(DBGMSG,'(a,E10.4)') 'HOBrSUM: ', HOBrSUM CALL DEBUG_MSG( TRIM(DBGMSG) ) WRITE(DBGMSG,'(a,E10.4)') 'ClNO3SUM: ', ClNO3SUM CALL DEBUG_MSG( TRIM(DBGMSG) ) WRITE(DBGMSG,'(a,E10.4)') 'BrNO3SUM: ', BrNO3SUM CALL DEBUG_MSG( TRIM(DBGMSG) ) WRITE(DBGMSG,'(a,E10.4)') 'RHO: ', RHO CALL DEBUG_MSG( TRIM(DBGMSG) ) WRITE(DBGMSG,'(a,E10.4)') 'ARAD: ', ARAD CALL DEBUG_MSG( TRIM(DBGMSG) ) CALL ERROR_STOP('BAD GAMMA','UCX_mod') ENDIF ENDDO END SUBROUTINE CALC_SLA_GAMMA !EOC !------------------------------------------------------------------------------ ! MIT Laboratory for Aviation and the Environment ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: molec_speed ! ! !DESCRIPTION: Function MOLEC\_SPEED calculates the mean velocity of gas ! phase particles based on temperature and molecular mass. !\\ !\\ ! !INTERFACE: ! REAL(fp) FUNCTION MOLEC_SPEED(T,MOLMASS) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: T ! Temperature (K) REAL(fp), INTENT(IN) :: MOLMASS ! Molecular mass (g/mol) ! ! !REVISION HISTORY: ! 10 Oct 2012 - S. D. Eastham - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC !================================================================= ! MOLEC_SPEED begins here! !================================================================= MOLEC_SPEED=SQRT(8.0e+0_fp*RSTARG*1e+7_fp*T/(PI*MOLMASS)) END FUNCTION MOLEC_SPEED !EOC !------------------------------------------------------------------------------ ! MIT Laboratory for Aviation and the Environment ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: set_h2o_trac ! ! !DESCRIPTION: Subroutine SET\_H2O\_TRAC sets the H2O species throughout ! the selected domain (either troposphere only or the full grid). !\\ !\\ ! !INTERFACE: ! SUBROUTINE SET_H2O_TRAC( SETSTRAT, Input_Opt, State_Chm, State_Grid, & State_Met, RC ) ! ! !USES: ! USE Calc_Met_Mod, ONLY : AIRQNT USE ErrCode_Mod USE ERROR_MOD USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState, Ind_ USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE UnitConv_Mod ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: SETSTRAT ! Set strat H2O? TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input options TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State object TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 28 Mar 2013 - S. D. Eastham - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I,J,L, LEVCPT INTEGER :: TPLEV LOGICAL :: READ_SPHU REAL(fp) :: SPHU_kgkg, H2OVV_moist, Ev_mid REAL(fp) :: Esat, EsatA, EsatB, EsatC, EsatD CHARACTER(LEN=255):: MSG, LOC ! Local variables for quantities from Input_Opt LOGICAL :: LACTIVEH2O ! Empirical parameters for water vapor saturation pressure ! (Source: Nordquist, 1973. "Numerical Approximiations of ! Selected Meteorological Parameters Related to Cloud Physics" ! Text quality clarifications from Stipanuk, 1973. "Algorithms ! for Generating a Skew-T, Log P Diagram and Computing Selected ! Meteorological Quantities") REAL(fp), PARAMETER :: ESATP1 = 2.3832241e+1_fp REAL(fp), PARAMETER :: ESATP2 = -5.02808e+0_fp REAL(fp), PARAMETER :: ESATP3 = 8.1328e-3_fp REAL(fp), PARAMETER :: ESATP4 = 3.49149e+0_fp REAL(fp), PARAMETER :: ESATP5 = -1.3028844e+3_fp REAL(fp), PARAMETER :: ESATP6 = -1.3816e-7_fp REAL(fp), PARAMETER :: ESATP7 = 1.1344e+1_fp REAL(fp), PARAMETER :: ESATP8 = -3.03998e-2_fp REAL(fp), PARAMETER :: ESATP9 = -2.949076e+3_fp ! Pointers TYPE(SpcConc), POINTER :: Spc(:) ! If H2O in strat. is not prescribed, set H2O up to tropopause ! level plus a given offset (to avoid H2O leaking into ! stratosphere). INTEGER, PARAMETER :: TROPPLEV_OFFSET = 0 !================================================================= ! SET_H2O_TRAC begins here !================================================================= ! Assume success RC = GC_SUCCESS ! Copy fields from INPUT_OPT LACTIVEH2O = Input_Opt%LACTIVEH2O ! Point to GEOS-Chem species array Spc => State_Chm%Species ! Error trap: make sure id_H2O is defined. There are instances ! in GEOS-5 where we want to call this routine even with UCX ! turned off, in which case id_H2O might be undefined. ! (ckeller, 3/13/17) IF ( id_H2O <= 0 ) THEN id_H2O = Ind_('H2O') ENDIF ! Check that species concentration units are as expected IF ( Spc(id_H2O)%Units /= KG_SPECIES_PER_KG_DRY_AIR ) THEN MSG = 'Incorrect species units: ' // & TRIM( UNIT_STR(Spc(id_H2O)%Units) ) LOC = 'UCX_MOD: SET_H2O_TRAC' CALL GC_Error( TRIM(MSG), RC, TRIM(LOC) ) Spc => NULL() RETURN ENDIF !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, TPLEV, READ_SPHU, LEVCPT) & !$OMP PRIVATE( SPHU_kgkg, H2OVV_moist, Ev_mid ) & !$OMP PRIVATE( Esat, EsatA, EsatB, EsatC, EsatD ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Tropopause level for this grid box TPLEV = State_Met%TropLev(I,J) ! Between 30S-30N, find the level of cold point tropopause, ! the altitude with the coldest temperature below 10 hPa IF ( ABS(State_Grid%YMid(I,J)) <= 30 ) THEN ! Level with minimum temperature, ! use MASK to screen for >10 hPa If (Input_Opt%LStaticH2OBC) Then LEVCPT = MINLOC(ABS(State_Met%PMID(I,J,:) - 70), DIM=1) Else LEVCPT = MINLOC( State_Met%T(I,J,:), DIM=1, & MASK=(State_Met%PMID(I,J,:) >= 10) ) End If ELSE LEVCPT = -1 ENDIF DO L = 1, State_Grid%NZ ! Mark as tropospheric air everything that is at current ! tropopause or offset levels above. This is to avoid H2O ! leaks into the stratosphere due to jumps in the model ! tropopause. The offset is 0 by default (ckeller, 11/12/17) ! Logical flag determines if we are in a region where H2O from ! met files should overwrite the value from the chemical solver ! C. Holmes) READ_SPHU = ( ( (L-TPLEV) < TROPPLEV_OFFSET ) .or. & SETSTRAT .or. ( .not. LACTIVEH2O ) .or. & (L < LEVCPT) ) IF ( READ_SPHU ) THEN ! Calculate specific humidity [g H2O/kg total air] as ! [kg/kg] SPHU_kgkg = State_Met%SPHU(I,J,L) * 1.e-3_fp ! Set H2O species concentration [kg/kg dry] using SPHU ! [kg/kg] ! without using box mass (ewl, 7/18/16) Spc(id_H2O)%Conc(I,J,L) = SPHU_kgkg / ( 1.0e+0_fp - SPHU_kgkg ) ELSE ! Calculate specific humidity in [kg H2O / kg total air] ! using transported H2O [kg/kg dry] (ewl, 7/18/16) SPHU_kgkg = Spc(id_H2O)%Conc(I,J,L) / & ( 1.0e+0_fp + Spc(id_H2O)%Conc(I,J,L) ) ! Set State_Met specific humidity [g/kg] State_Met%SPHU(I,J,L) = SPHU_kgkg * 1.e+3_fp ! Calculate water vapor saturation pressure [hPa] from T ! (see local variables above for method reference) EsatA = ESATP1 + ESATP2 * log10( State_Met%T(I,J,L) ) EsatB = ESATP3 * 10**( ESATP4+ESATP5/State_Met%T(I,J,L) ) EsatC = ESATP6 * 10**( ESATP7+ESATP8*State_Met%T(I,J,L) ) EsatD = ESATP9 / State_Met%T(I,J,L) Esat = 10**( EsatA + EsatB + EsatC + EsatD ) ! Calculate mol water vapor per mol moist air from SPHU ! Note that SPHU must be converted to [kg/kg] to use 1-SPHU ! as mass dry air / mass moist air H2OVV_moist = SPHU_kgkg * AIRMW & / ( SPHU_kgkg * AIRMW + (1 - SPHU_kgkg) * H2OMW ) ! Calculate water vapor partial pressure at grid box center [hPa] ! Note that grid box center is defined as the arithmetic average ! of the grid box pressure edges not the vertical mid-point. Ev_mid = State_Met%PMID(I,J,L) * H2OVV_MOIST ! Set State_Met relative humidity [%] State_Met%RH(I,J,L) = ( Ev_mid / Esat ) * 100e+0_fp ENDIF ENDDO ! L ENDDO ! I ENDDO ! J !$OMP END PARALLEL DO ! If humidity was updated, update all moist-dependent air quantities ! and species mixing ratio with the new moisture content (ewl, 4/29/15) IF ( LActiveH2O .and. ( .not. SetStrat ) ) THEN CALL AIRQNT( Input_Opt, State_Chm, State_Grid, State_Met, & RC, Update_Mixing_Ratio=.TRUE. ) ENDIF ! Free pointer NULLIFY( Spc ) END SUBROUTINE SET_H2O_TRAC !EOC !------------------------------------------------------------------------------ ! MIT Laboratory for Aviation and the Environment ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ucx_h2so4phot ! ! !DESCRIPTION: Subroutine UCX\_H2SO4PHOT propagates the calculated H2SO4 ! photolysis (J) rate at the top of the chemistry grid through to the top ! of the transport grid, approximating H2SO4 photolysis in the mesosphere. !\\ !\\ ! !INTERFACE: ! SUBROUTINE UCX_H2SO4PHOT( Input_Opt, State_Chm, State_Grid, State_Met ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_TS_CHEM ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !REVISION HISTORY: ! 17 Aug 2013 - S. D. Eastham - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, J, L, IJWINDOW REAL(fp) :: GMU,SO4_IN,PHOTDELTA,DTCHEM REAL(fp) :: SO2_MW_G, SO4_MW_g, SO4_DELTA LOGICAL :: DAYCOLUMN INTEGER :: LMINPHOT REAL(fp) :: RELWT LOGICAL,SAVE :: FIRST=.TRUE. INTEGER :: ICS ! Pointers TYPE(SpcConc), POINTER :: Spc(:) !================================================================= ! UCX_H2SO4PHOT begins here! !================================================================= ! Initialize PHOTDELTA = 0.0_fp ! Copy fields from species database SO2_MW_G = State_Chm%SpcData(id_SO2)%Info%MW_g ! g/mol SO4_MW_G = State_Chm%SpcData(id_SO4)%Info%MW_g ! g/mol RELWT = SO2_MW_G / SO4_MW_G ! Point to GEOS-Chem species array Spc => State_Chm%Species ! Allow for the possibility of variable timestep DTCHEM = GET_TS_CHEM() !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, DAYCOLUMN, GMU ) & !$OMP PRIVATE( LMINPHOT, PHOTDELTA, SO4_IN, SO4_DELTA ) DO J=1,State_Grid%NY DO I=1,State_Grid%NX GMU = State_Met%SUNCOSmid(I,J) DAYCOLUMN = (GMU.gt.0e+0_fp) IF (DAYCOLUMN) THEN LMINPHOT = State_Met%ChemGridLev(I,J) ! Retrieve photolysis rate as a fraction of gaseous SO4 IF ( State_Chm%Phot%RXN_H2SO4 > 0 ) THEN PHOTDELTA = State_Chm%Phot%ZPJ(LMINPHOT,State_Chm%Phot%RXN_H2SO4,I,J)& * DTCHEM ENDIF PHOTDELTA = MIN(1.e+0_fp,PHOTDELTA) DO L=LMINPHOT+1,State_Grid%NZ ! Apply photolysis to SO4 ! First retrieve gaseous fraction SO4_IN = Spc(id_SO4)%Conc(I,J,L)*SO4_PHOTFRAC(I,J,L,State_Chm) SO4_DELTA = PHOTDELTA*SO4_IN ! Remove from SO4 Spc(id_SO4)%Conc(I,J,L) = Spc(id_SO4)%Conc(I,J,L) - SO4_DELTA ! Add to SO2. Note change in molar mass Spc(id_SO2)%Conc(I,J,L) = Spc(id_SO2)%Conc(I,J,L) + (SO4_DELTA*RELWT) ENDDO ENDIF ENDDO ENDDO !$OMP END PARALLEL DO ! Free pointer NULLIFY( Spc ) END SUBROUTINE UCX_H2SO4PHOT !EOC !------------------------------------------------------------------------------ ! MIT Laboratory for Aviation and the Environment ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: noxcoeff_init ! ! !DESCRIPTION: Subroutine NOXCOEFF\_INIT initializes the NOX 2D interpolation ! values. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NOXCOEFF_INIT( Input_Opt, State_Grid, State_Chm ) ! ! !USES: ! USE ERROR_MOD, ONLY : ALLOC_ERR USE ERROR_MOD, ONLY : ERROR_STOP USE FILE_MOD, ONLY : IoError USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState USE State_Chm_Mod, ONLY : ChmState #if defined( MODEL_CESM ) USE UNITS, ONLY : freeUnit #endif ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input options TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState),INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !REVISION HISTORY: ! 05 Dec 2014 - C. Keller - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: FileExists INTEGER :: I, AS, IOS INTEGER :: IMON, ITRAC, ILEV INTEGER :: IU_FILE ! Strings CHARACTER(LEN=255) :: NOX_FILE CHARACTER(LEN=255) :: TARG_TRAC CHARACTER(LEN=255) :: DBGMSG CHARACTER(LEN=255) :: FileMsg CHARACTER(LEN=255) :: GridSpec CHARACTER(LEN=255) :: NOON_FILE_ROOT #if defined( MODEL_CESM ) CHARACTER(LEN=*), PARAMETER :: subname = 'NOXCOEFF_INIT' #endif !================================================================= ! NOXCOEFF_INIT begins here! !================================================================= ! -------------------------------------------------------------- ! Input data sources ! -------------------------------------------------------------- ! For ASCII input, use 2x25 grid for all other grids than 4x5. ! This is ok for the NOx coeffs which can be regridded on the fly ! from 2x25 onto any other grid. This won't work for the 2D ! boundary conditions, but those have been checked in the logical ! check above (USE2DDATA). IF ( TRIM(State_Grid%GridRes) == '4.0x5.0' ) THEN GRIDSPEC = 'Grid4x5/InitCFC_' ELSE GRIDSPEC = 'Grid2x25/InitCFC_' ENDIF WRITE( NOON_FILE_ROOT,'(a,a,a)') TRIM(Input_Opt%CHEM_INPUTS_DIR), & #ifdef MODEL_GEOS 'UCX_201902/NoonTime/', TRIM(GRIDSPEC) #else 'UCX_201403/NoonTime/', TRIM(GRIDSPEC) #endif !================================================================= ! In dry-run mode, print file paths to dryrun log and exit. !================================================================= IF ( Input_Opt%DryRun ) THEN ! Loop over months and tracers DO IMON = 1,12 DO ITRAC = 1,6 ! Pick tracer name SELECT CASE (ITRAC) CASE ( 1 ) TARG_TRAC = 'O' CASE ( 2 ) TARG_TRAC = 'O1D' CASE ( 3 ) TARG_TRAC = 'JNO' CASE ( 4 ) TARG_TRAC = 'JNO2' CASE ( 5 ) TARG_TRAC = 'JNO3' CASE ( 6 ) TARG_TRAC = 'JN2O' END SELECT ! Create file name for each tracer and month WRITE( NOx_File, '(a,a,a,I0.2,a)' ) & TRIM(NOON_FILE_ROOT), TRIM(TARG_TRAC), '_', IMON, '.dat' ! Test if the file exists INQUIRE( FILE=TRIM( NOx_File ), EXIST=FileExists ) ! Test if the file exists and define an output string IF ( FileExists ) THEN FileMsg = 'UCX (SFCMR_READ): Opening' ELSE FileMsg = 'UCX (SFCMR_READ): REQUIRED FILE NOT FOUND' ENDIF ! Write to stdout for both regular and dry-run simulations IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 300 ) TRIM( FileMsg ), TRIM( NOx_File ) 300 FORMAT( a, ' ', a ) ENDIF ENDDO ENDDO ! exit without doing any computation (dry-run only) RETURN ENDIF !================================================================= ! If this is a regular simulation, then read data from files !================================================================= ! Number of latitude levels of State_Chm%NOXCOEFF array. Data is only ! available for 2x25 and 4x5. Use 2x25 for any different grid ! and map NOx coeffs onto simulation grid when calling ! GET_NOXCOEFF. IF ( TRIM(State_Grid%GridRes) == '4.0x5.0' .or. & TRIM(State_Grid%GridRes) == '2.0x2.5' ) THEN State_Chm%JJNOXCOEFF = State_Grid%NY ELSE State_Chm%JJNOXCOEFF = 91 ENDIF ! Fill NOx latitudes ALLOCATE(State_Chm%NOXLAT(State_Chm%JJNOXCOEFF+1), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'State_Chm%NOXLAT' ) ! Fill manually State_Chm%NOXLAT(2) = -89.0e+0_fp DO I = 3,State_Chm%JJNOXCOEFF State_Chm%NOXLAT(I) = State_Chm%NOXLAT(I-1) + 2e+0_fp ENDDO ! Overshoot to make sure that a latitude of 90.0 will be properly ! matched onto State_Chm%JJNOXCOEFF. State_Chm%NOXLAT(State_Chm%JJNOXCOEFF+1) = 90.5e+0_fp ! Initialize the State_Chm%NOXCOEFF array. This array holds monthly NOx ! coefficients on 51 levels and for 6 species. ALLOCATE(State_Chm%NOXCOEFF(State_Chm%JJNOXCOEFF,UCX_NLEVS,6,12), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'State_Chm%NOXCOEFF' ) State_Chm%NOXCOEFF = 0.0e+0_fp #if defined( MODEL_CESM ) IF ( Input_Opt%amIRoot ) THEN #endif ! Fill array DO IMON = 1,12 DO ITRAC = 1,6 SELECT CASE (ITRAC) CASE ( 1 ) TARG_TRAC = 'O' CASE ( 2 ) TARG_TRAC = 'O1D' CASE ( 3 ) TARG_TRAC = 'JNO' CASE ( 4 ) TARG_TRAC = 'JNO2' CASE ( 5 ) TARG_TRAC = 'JNO3' CASE ( 6 ) TARG_TRAC = 'JN2O' END SELECT WRITE(NOX_FILE,'(a,a,a,I0.2,a)') TRIM(NOON_FILE_ROOT), & TRIM(TARG_TRAC), '_', IMON, '.dat' ! Get a free LUN IU_FILE = findFreeLUN() IOS = 1 ! Test if the file exists INQUIRE( FILE=TRIM( NOx_File ), EXIST=FileExists ) ! Define an output string IF ( FileExists ) THEN FileMsg = 'UCX (SFCMR_READ): Opening' ELSE FileMsg = 'UCX (SFCMR_READ): REQUIRED FILE NOT FOUND' ENDIF ! Print the name of the file being read to stdout (bmy, 10/23/19) IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 300 ) TRIM( FileMsg ), TRIM( NOx_File ) ENDIF OPEN( IU_FILE,FILE=TRIM(NOX_FILE),STATUS='OLD',IOSTAT=IOS) IF ( IOS /= 0 ) THEN WRITE(6,*) 'UCX_MOD: Could not read ', TRIM(NOX_FILE) CALL IOERROR( IOS, IU_FILE,'UCX_MOD:NOXCOEFF_INIT') ENDIF IF ( Input_Opt%Verbose ) THEN WRITE(DBGMSG,'(a,a)') ' ### UCX: Reading ', TRIM( NOX_FILE ) CALL DEBUG_MSG( TRIM(DBGMSG) ) ENDIF ! Read in data DO ILEV = 1,UCX_NLEVS IF ( TRIM(State_Grid%GridRes) =='4.0x5.0' ) THEN READ(IU_FILE, 110, IOSTAT=IOS ) State_Chm%NOXCOEFF(:,ILEV,ITRAC,IMON) 110 FORMAT(46E10.3) ELSE ! Use 2x25 as default READ(IU_FILE, 120, IOSTAT=IOS ) State_Chm%NOXCOEFF(:,ILEV,ITRAC,IMON) 120 FORMAT(91E10.3) ENDIF IF ( IOS /= 0 ) THEN WRITE(6,'(a,a,I4,a,1x,a)') 'UCX_MOD: Error reading ', & 'line ', ILEV, ' in file ', TRIM( NOX_FILE ) CALL IOERROR( IOS, IU_FILE,'UCX_MOD:NOXCOEFF_INIT') ENDIF ENDDO CLOSE(IU_FILE) #if defined( MODEL_CESM ) CALL freeUnit( IU_FILE ) #endif ENDDO !ITRAC ENDDO !IMON #if defined( MODEL_CESM ) ENDIF #endif END SUBROUTINE NOXCOEFF_INIT !EOC !------------------------------------------------------------------------------ ! MIT Laboratory for Aviation and the Environment ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: get_jjnox ! ! !DESCRIPTION: Subroutine GET\_JJNOX maps grid box at location IISIM, JJSIM of ! the simulation grid onto the latitude grid of the State_Chm%NOXCOEFF array. !\\ !\\ ! This routine simply returns the index of the NOx latitude vector that covers ! the latitude value of interest. No grid box weighting, etc. is performed. !\\ !\\ ! !INTERFACE: ! FUNCTION GET_JJNOX( IISIM, JJSIM, State_Grid, State_Chm ) RESULT ( JJNOX ) ! ! !USES: ! USE State_Grid_Mod, ONLY : GrdState USE State_Chm_Mod, ONLY : ChmState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: IISIM ! Latitude index on simulation grid INTEGER, INTENT(IN) :: JJSIM ! Latitude index on simulation grid TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object ! ! !OUTPUT VARIABLES: ! INTEGER :: JJNOX ! Latitude index on State_Chm%NOXCOEFF grid ! ! !REVISION HISTORY: ! 05 Dec 2014 - C. Keller - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I REAL(fp) :: LAT !================================================================= ! GET_JJNOX begins here! !================================================================= ! Init JJNOX = -1 ! Get latitude in degrees north on simulation grid LAT = State_Grid%YMid( IISIM, JJSIM ) ! Loop over all latitudes of the NOx grid until we reach the grid ! box where the simulation latitude sits in. DO I = 1,State_Chm%JJNOXCOEFF IF ( LAT < State_Chm%NOXLAT(I+1) ) THEN JJNOX = I EXIT ENDIF ENDDO END FUNCTION GET_JJNOX !EOC !------------------------------------------------------------------------------ ! MIT Laboratory for Aviation and the Environment ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: init_ucx ! ! !DESCRIPTION: Subroutine INIT\_UCX initializes module arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE INIT_UCX( Input_Opt, State_Chm, State_Diag, State_Grid ) ! ! !USES: ! USE CMN_SIZE_Mod, ONLY : NSTRATAER USE ERROR_MOD, ONLY : ALLOC_ERR USE ERROR_MOD, ONLY : IS_SAFE_DIV USE ERROR_MOD, ONLY : ERROR_STOP USE Input_Opt_Mod, ONLY : OptInput USE PhysConstants, ONLY : PI_180 USE State_Chm_Mod, ONLY : ChmState USE State_Chm_Mod, ONLY : Ind_ USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE TIME_MOD, ONLY : GET_YEAR ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input options TYPE(DgnState), INTENT(IN) :: State_Diag ! Diagnostics State object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !REVISION HISTORY: ! 04 Apr 2013 - S. D. Eastham - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: FileExists INTEGER :: N, AS INTEGER :: JIN, JOUT REAL(fp) :: JMIN_IN, JMAX_IN, JDIF_IN REAL(fp) :: JMIN_OUT,JMAX_OUT,JDIF_OUT REAL(fp) :: JMIN_TMP,JMAX_TMP,JDIF_TMP REAL(fp) :: JRATIO REAL(fp) :: DEG_SUM ! Strings CHARACTER(LEN=255) :: DBGMSG, GRIDSPEC, FileMsg, FileName ! Return code INTEGER :: RC !================================================================= ! INIT_UCX begins here! !================================================================= ! Exit unless we are doing a full-chemistry or aerosol-only simulation IF ( .not. Input_Opt%ITS_A_FULLCHEM_SIM .and. & .not. Input_Opt%ITS_AN_AEROSOL_SIM ) RETURN ! Initialize species ID flags id_BCPI = Ind_('BCPI' ) id_BrNO3 = Ind_('BrNO3' ) id_ClNO3 = Ind_('ClNO3' ) id_H2O = Ind_('H2O' ) id_HBr = Ind_('HBr' ) id_HCl = Ind_('HCl' ) id_HNO3 = Ind_('HNO3' ) id_HOBr = Ind_('HOBr' ) id_HOCl = Ind_('HOCl' ) id_N2O = Ind_('N2O' ) id_NIT = Ind_('NIT' ) id_N = Ind_('N' ) id_NO = Ind_('NO' ) id_NO2 = Ind_('NO2' ) id_NO3 = Ind_('NO3' ) id_O3 = Ind_('O3' ) id_SO2 = Ind_('SO2' ) id_SO4 = Ind_('SO4' ) ! Print info IF ( Input_Opt%Verbose ) THEN WRITE( 6,'(a)') REPEAT( '=', 79 ) WRITE( 6,'(a)') 'U N I F I E D C H E M I S T R Y' WRITE( 6,'(a)') 'Routines written by SEBASTIAN D. EASTHAM' WRITE( 6,'(a)') REPEAT( '=', 79 ) ENDIF !================================================================= ! In dry-run mode, print file path to dryrun log and return. !================================================================= IF ( Input_Opt%DryRun ) THEN ! Get dry-run output from NOXCOEFF_INIT as well CALL NOXCOEFF_INIT( Input_Opt, State_Grid, State_Chm ) ! Exit without doing any computation (dry-run only) RETURN ENDIF !================================================================= ! For regular simulations, allocate arrays !================================================================= ! Allocate arrays of input pressure levels and lat edges ALLOCATE( State_Chm%UCX_PLEVS( UCX_NLEVS ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'State_Chm%UCX_PLEVS' ) ALLOCATE( State_Chm%UCX_LATS( UCX_NLAT+1 ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'State_Chm%UCX_LATS' ) ! Set input pressure levels (hPa) State_Chm%UCX_PLEVS = (/ 0.2200e+00_fp, 0.2600e+00_fp, & 0.3100e+00_fp, 0.3600e+00_fp, & 0.4300e+00_fp, 0.5100e+00_fp, & 0.6000e+00_fp, 0.7100e+00_fp, & 0.8400e+00_fp, 0.9900e+00_fp, & 1.1700e+00_fp, 1.3800e+00_fp, & 1.6300e+00_fp, 1.9300e+00_fp, & 2.2800e+00_fp, 2.6900e+00_fp, & 3.1800e+00_fp, 3.7600e+00_fp, & 4.4400e+00_fp, 5.2500e+00_fp, & 6.2000e+00_fp, 7.3200e+00_fp, & 8.6500e+00_fp, 1.0220e+01_fp, & 1.2070e+01_fp, 1.4260e+01_fp, & 1.6850e+01_fp, 1.9910e+01_fp, & 2.3520e+01_fp, 2.7780e+01_fp, & 3.2820e+01_fp, 3.8770e+01_fp, & 4.5810e+01_fp, 5.4110e+01_fp, & 6.3930e+01_fp, 7.5220e+01_fp, & 8.9220e+01_fp, 1.0540e+02_fp, & 1.2451e+02_fp, 1.4710e+02_fp, & 1.7377e+02_fp, 2.0529e+02_fp, & 2.4252e+02_fp, 2.8650e+02_fp, & 3.3847e+02_fp, 3.9985e+02_fp, & 4.7237e+02_fp, 5.5804e+02_fp, & 6.5924e+02_fp, 7.7880e+02_fp, & 9.2004e+02_fp /) ! Set input latitude edges (degrees) State_Chm%UCX_LATS(1) = -90.0e+0_fp State_Chm%UCX_LATS(2) = (-90.0e+0_fp) + (9.5e+0_fp/2.0e+0_fp) State_Chm%UCX_LATS(20) = 90.0e+0_fp DO N=2,18 State_Chm%UCX_LATS(N+1) = State_Chm%UCX_LATS(N) + 9.5e+0_fp ENDDO ! Calculate conversion factors for SLA ! Factor to convert volume (m3 SLA/m3 air) to ! surface area density (cm2 SLA/cm3 air) SLA_VA = (8.406e-8_fp)*(10.e+0_fp**(12.e+0_fp*0.751e+0_fp)) ! Factor to convert effective radius to ! liquid radius (unitless) SLA_RR = EXP(-0.173e+0_fp) ! Factor to convert volume (m3/m3) to effective ! radius (m) SLA_VR = (0.357e-6_fp)*(10.e+0_fp**(12.e+0_fp*0.249)) ! Initialize NOx coefficient arrays ALLOCATE( State_Chm%NOX_O( State_Grid%NX, State_Grid%NY, State_Grid%NZ, 2 ), & STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'State_Chm%NOX_O' ) State_Chm%NOX_O = 0e+0_fp ALLOCATE( State_Chm%NOX_J( State_Grid%NX, State_Grid%NY, State_Grid%NZ, 4 ), & STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'State_Chm%NOX_J' ) State_Chm%NOX_J = 0e+0_fp ! Initialize PSC variables ALLOCATE( State_Chm%RAD_AER( State_Grid%NX, State_Grid%NY, State_Grid%NZ, & NSTRATAER ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'State_Chm%RAD_AER' ) State_Chm%RAD_AER = 0e+0_fp ALLOCATE( State_Chm%KG_AER( State_Grid%NX, State_Grid%NY, State_Grid%NZ, & NSTRATAER ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'State_Chm%KG_AER' ) State_Chm%KG_AER = 0e+0_fp ALLOCATE( State_Chm%SAD_AER( State_Grid%NX, State_Grid%NY, State_Grid%NZ, & NSTRATAER ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'State_Chm%SAD_AER' ) State_Chm%SAD_AER = 0e+0_fp ALLOCATE( State_Chm%NDENS_AER( State_Grid%NX, State_Grid%NY, State_Grid%NZ, & NSTRATAER ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'State_Chm%NDENS_AER' ) State_Chm%NDENS_AER = 0e+0_fp ALLOCATE( State_Chm%RHO_AER( State_Grid%NX, State_Grid%NY, State_Grid%NZ, & NSTRATAER ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'State_Chm%RHO_AER' ) State_Chm%RHO_AER = 0e+0_fp ! Mass fraction of species contained in liquid aerosol ! Indices: 1 - SO4 ! 2 - HNO3 ! 3 - HCl ! 4 - HOCl ! 5 - HBr ! 6 - HOBr ! 7 - H2O ALLOCATE( State_Chm%AERFRAC( State_Grid%NX, State_Grid%NY, State_Grid%NZ,7), & STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'State_Chm%AERFRAC' ) State_Chm%AERFRAC = 0e+0_fp ALLOCATE( State_Chm%AERFRACIND( 7 ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'State_Chm%AERFRACIND' ) State_Chm%AERFRACIND(1) = id_SO4 State_Chm%AERFRACIND(2) = id_HNO3 State_Chm%AERFRACIND(3) = id_HCl State_Chm%AERFRACIND(4) = id_HOCl State_Chm%AERFRACIND(5) = id_HBr State_Chm%AERFRACIND(6) = id_HOBr State_Chm%AERFRACIND(7) = id_H2O ! H2SO4 photolysis rate at the top of the chemgrid ALLOCATE( State_Chm%SO4_TOPPHOT( State_Grid%NX,State_Grid%NY ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'State_Chm%SO4_TOPPHOT' ) State_Chm%SO4_TOPPHOT = 0.e+0_fp ALLOCATE( State_Chm%UCX_REGRID( State_Grid%NY, UCX_NLAT ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'State_Chm%UCX_REGRID' ) State_Chm%UCX_REGRID = 0e+0_fp ! Calculate the scaling matrix ! Note cosine (area-weighted) JMAX_OUT = State_Grid%YEdge(1,1) DO JOUT=1,State_Grid%NY JMIN_OUT = JMAX_OUT JMAX_OUT = State_Grid%YEdge(1,JOUT+1) JDIF_OUT = SIN( JMAX_OUT * PI_180 ) & - SIN( JMIN_OUT * PI_180 ) DEG_SUM = 0e+0_fp DO JIN=1,UCX_NLAT JMIN_IN = State_Chm%UCX_LATS(JIN) JMAX_IN = State_Chm%UCX_LATS(JIN+1) IF ((JMAX_OUT.ge.JMIN_IN).and.(JMIN_OUT.le.JMAX_IN)) THEN JMAX_TMP = MIN(JMAX_IN,JMAX_OUT) JMIN_TMP = MAX(JMIN_IN,JMIN_OUT) JDIF_TMP = SIN( JMAX_TMP * PI_180 ) & - SIN( JMIN_TMP * PI_180 ) IF (IS_SAFE_DIV(JDIF_TMP,JDIF_OUT)) THEN JRATIO = JDIF_TMP/JDIF_OUT State_Chm%UCX_REGRID(JOUT,JIN) = JRATIO DEG_SUM = DEG_SUM + JRATIO ENDIF ENDIF ENDDO ! Normalize IF (DEG_SUM.gt.0e+0_fp) THEN DO JIN=1,UCX_NLAT State_Chm%UCX_REGRID(JOUT,JIN) = State_Chm%UCX_REGRID(JOUT,JIN)/DEG_SUM ENDDO ELSE State_Chm%UCX_REGRID(JOUT,:) = 0e+0_fp ENDIF !! Debug !IF ( Input_Opt%Verbose ) THEN ! WRITE(DBGMSG,'(a,I03,a,3(F6.2,x))') '### UCX: Exgrid: J-', & ! JOUT, '->',JMIN_OUT,JMAX_OUT,JDIF_OUT ! CALL DEBUG_MSG( TRIM(DBGMSG) ) ! WRITE(DBGMSG,'(a,I03,a,F6.2)') '### UCX: Regrid: J-', & ! JOUT, '->',DEG_SUM ! CALL DEBUG_MSG( TRIM(DBGMSG) ) !ENDIF ENDDO ! Initialize State_Chm%NOXCOEFF arrays CALL NOXCOEFF_INIT( Input_Opt, State_Grid, State_Chm ) END SUBROUTINE INIT_UCX !EOC END MODULE UCX_MOD ================================================ FILE: GeosCore/uvalbedo_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: uvalbedo_mod.F90 ! ! !DESCRIPTION: Module UVALBEDO\_MOD contains variables and routines for ! reading the UV Albedo data. This data is required by the FAST-JX photolysis ! module. UV albedo data will now be obtained from the HEMCO data structure. !\\ !\\ ! !INTERFACE: ! MODULE UValbedo_Mod ! ! !USES: ! USE Precision_Mod ! For GEOS-Chem Precision (fp) IMPLICIT NONE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: Get_UValbedo ! ! !REMARKS: ! References: ! ============================================================================ ! Herman, J.R and Celarier, E.A., "Earth surface reflectivity climatology ! at 340-380 nm from TOMS data", __J. Geophys. Res__, Vol. 102, D23, ! pp. 28003-28011, Dec 20, 1997. ! ! !REVISION HISTORY: ! 06 Jan 2015 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: get_uvalbedo ! ! !DESCRIPTION: Copies the UV Albedo data from the HEMCO data structure ! into the State\_Met derived type object. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Get_UValbedo( Input_Opt, State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE HCO_Utilities_GC_Mod, ONLY : HCO_GC_EvalFld USE Input_Opt_Mod, ONLY : OptInput USE State_Met_Mod, ONLY : MetState USE State_Grid_Mod, ONLY : GrdState ! ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 06 Jan 2015 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: ErrMsg CHARACTER(LEN=255) :: ThisLoc !======================================================================= ! READ_UVALBEDO begins here! !======================================================================= ! Assume success RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Get_UValbedo (in GeosCore/uvalbedo_mod.F90)' ! Skip unless we are doing a fullchem or aerosol-only simulation IF ( ( .not. Input_Opt%ITS_A_FULLCHEM_SIM ) .and. & ( .not. Input_Opt%ITS_AN_AEROSOL_SIM ) ) THEN RETURN ENDIF ! Evalulate the UV albedo from HEMCO CALL HCO_GC_EvalFld( Input_Opt, State_Grid, 'UV_ALBEDO', State_Met%UVALBEDO, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not find UV_ALBEDO in HEMCO data list!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF END SUBROUTINE Get_UValbedo !EOC END MODULE UValbedo_Mod ================================================ FILE: GeosCore/vdiff_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: vdiff_mod.F90 ! ! !DESCRIPTION: Module VDIFF\_MOD includes all routines for the non-local PBL ! mixing scheme. !\\ !\\ ! !INTERFACE: ! MODULE Vdiff_Mod ! ! !USES: ! USE Error_Mod, ONLY : Debug_Msg USE PhysConstants, ONLY : AIRMW, AVO, g0, Rd, Rv, Rdg0, VON_KARMAN USE Precision_Mod IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: Cleanup_Vdiff PUBLIC :: Do_Vdiff PUBLIC :: Init_Vdiff PUBLIC :: Max_PblHt_For_Vdiff ! ! !REMARKS: ! The non-local PBL mixing routine VDIFF modifies the specific humidity, ! (State_Met%SPHU) field. Therefore, we must pass State_Met as an argument ! to DO_PBL_MIX_2 and VDIFFDR with INTENT(INOUT). ! . ! !REVISION HISTORY: ! (1 ) This code is modified from mo_vdiff.F90 in MOZART-2.4. (lin, 5/14/09) ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! Physical constants REAL(fp), PARAMETER :: cpair = 1004.64_fp REAL(fp), PARAMETER :: latvap = 2.5104e+06_fp REAL(fp), PARAMETER :: rhoh2o = 1.0e+3_fp REAL(fp), PARAMETER :: tfh2o = 273.16_fp REAL(fp), PARAMETER :: rair = Rd REAL(fp), PARAMETER :: rh2o = Rv REAL(fp), PARAMETER :: g = G0 REAL(fp), PARAMETER :: gravit = g0 REAL(fp), PARAMETER :: zvir = rh2o/rair - 1.0_fp REAL(fp), PARAMETER :: cappa = Rd/cpair REAL(fp), PARAMETER :: r_g = Rdg0 ! PBL constants REAL(fp), PARAMETER :: betam = 15.0_fp ! For wind gradient expression REAL(fp), PARAMETER :: betas = 5.0_fp ! For surface layer gradient REAL(fp), PARAMETER :: betah = 15.0_fp ! For temperature gradient REAL(fp), PARAMETER :: fak = 8.50_fp ! For surface temperature excess REAL(fp), PARAMETER :: fakn = 7.20_fp ! For turbulent prandtl number REAL(fp), PARAMETER :: ricr = 0.3_fp ! For critical richardson number REAL(fp), PARAMETER :: sffrac = 0.1_fp ! For surface layer fraction of BL REAL(fp), PARAMETER :: vk = VON_KARMAN ! Derived constants REAL(fp), PARAMETER :: ccon = fak * sffrac * vk REAL(fp), PARAMETER :: binm = betam * sffrac REAL(fp), PARAMETER :: binh = betah * sffrac REAL(fp), PARAMETER :: onet = 1.0_fp / 3.0_fp ! Options LOGICAL, PARAMETER :: divdiff = .TRUE. LOGICAL, PARAMETER :: arvdiff = .FALSE. LOGICAL, PARAMETER :: pblh_ar = .TRUE. ! ! !PRIVATE DATA MEMBERS: ! INTEGER :: nspcmix ! # of species for mixing INTEGER :: plev ! # of levels INTEGER :: plevp ! # of level edges INTEGER :: ntopfl ! top level to which vertical ! diffusion is applied. INTEGER :: npbl ! max # of levels in pbl REAL(fp) :: zkmin ! minimum kneutral*f(ri) REAL(fp), ALLOCATABLE :: ml2(:) ! mixing lengths squared REAL(fp), ALLOCATABLE :: qmincg(:) ! min. constituent concentration CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: vdiff ! ! !DESCRIPTION: ! Subroutine vdiff is the driver routine to compute vertical diffusion of ! momentum, moisture, trace constituents and potential temperature. !\\ !\\ ! !INTERFACE: ! subroutine vdiff( lat, ip, uwnd, vwnd, & tadv, pmid, pint, rpdel_arg, & rpdeli_arg, ztodt, zm_arg, shflx_arg, & sflx, thp_arg, pblh_arg, & kvh_arg, kvm_arg, tpert_arg, qpert_arg, & cgs_arg, shp, wvflx_arg, plonl, & Input_Opt, State_Met, State_Grid, State_Chm, & State_Diag, taux_arg, tauy_arg, ustar_arg, RC ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD, ONLY : IS_SAFE_DIV USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Met_Mod, ONLY : MetState USE State_Grid_Mod, ONLY : GrdState implicit none ! ! !INPUT PARAMETERS: ! integer, intent(in) :: lat, ip ! latitude index, long tile index integer, intent(in) :: plonl ! number of local longitudes real(fp), intent(in) :: & ztodt ! 2 delta-t real(fp), intent(in) :: & uwnd(:,:,:), & ! u wind input vwnd(:,:,:), & ! v wind input tadv(:,:,:), & ! temperature input pmid(:,:,:), & ! midpoint pressures pint(:,:,:), & ! interface pressures rpdel_arg(:,:,:), & ! 1./pdel (thickness bet interfaces) rpdeli_arg(:,:,:), & ! 1./pdeli (thickness bet midpoints) zm_arg(:,:,:), & ! midpoint geoptl height above sfc shflx_arg(:,:), & ! surface sensible heat flux (w/m2) sflx(:,:,:), & ! surface constituent flux (kg/m2/s) wvflx_arg(:,:) ! water vapor flux (kg/m2/s) TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! real(fp), intent(inout) :: & shp(:,:,:), & ! specific humidity (kg/kg) thp_arg(:,:,:) ! pot temp after vert. diffusion TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object real(fp), optional, intent(inout) :: & taux_arg(:,:), & ! x surface stress (n) tauy_arg(:,:), & ! y surface stress (n) ustar_arg(:,:) ! surface friction velocity real(fp), intent(inout) :: pblh_arg(:,:) ! boundary-layer height [m] ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC real(fp), intent(out) :: & kvh_arg(:,:,:), & ! coefficient for heat and tracers kvm_arg(:,:,:), & ! coefficient for momentum tpert_arg(:,:), & ! convective temperature excess qpert_arg(:,:), & ! convective humidity excess cgs_arg(:,:,:) ! counter-grad star (cg/flux) ! ! !REMARKS: ! Free atmosphere diffusivities are computed first; then modified by the ! boundary layer scheme; then passed to individual parameterizations mvdiff, ! qvdiff. ! ! The free atmosphere diffusivities are based on standard mixing length forms ! for the neutral diffusivity multiplied by functions of Richardson number. ! k = l^2 * |dv/dz| * f(ri). The same functions are used for momentum, ! potential temperature, and constitutents. ! ! The stable Richardson num function (ri>0) is taken from Holtslag and ! Beljaars (1989), ECMWF proceedings. f = 1 / (1 + 10*ri*(1 + 8*ri)). ! The unstable richardson number function (ri<0) is taken from ccm1. ! f = sqrt(1 - 18*ri) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! integer :: & i, & ! longitude index k, l, & ! vertical index m ! constituent index integer :: & indx(plonl), & ! array of indices of potential q<0 nval, & ! num of values which meet criteria ii ! longitude index of found points real(fp) :: & dvdz2 , & ! (du/dz)**2 + (dv/dz)**2 dz , & ! delta z between midpoints fstab , & ! stable f(ri) funst , & ! unstable f(ri) rinub, & ! richardson no=(g/theta)(dtheta/dz)/ ! (du/dz**2+dv/dz**2) sstab, & ! static stability = g/th * dth/dz kvn, & ! neutral kv tmp2, & ! temporary storage rcpair, & ! 1./cpair ztodtgor, & ! ztodt*gravit/rair gorsq ! (gravit/rair)**2 real(fp) :: & cah(plonl,plev), & ! -upper diag for heat and constituts cam(plonl,plev), & ! -upper diagonal for momentum cch(plonl,plev), & ! -lower diag for heat and constits ccm(plonl,plev), & ! -lower diagonal for momentum cgh(plonl,plevp), & ! countergradient term for heat cgq(plonl,plevp,nspcmix),&! countergrad term for constituent cgsh(plonl,plevp), & ! countergrad term for sh kvf(plonl,plevp) ! free atmosphere kv at interfaces real(fp) :: & potbar(plonl,plevp), & ! pintm1(k)/(.5*(tm1(k)+tm1(k-1)) tmp1(plonl), & ! temporary storage dubot(plonl), & ! lowest layer u change from stress dvbot(plonl), & ! lowest layer v change from stress dtbot(plonl), & ! lowest layer t change from heat flx dqbot(plonl,nspcmix), & ! lowest layer q change from const flx dshbot(plonl), & ! lowest layer sh change from wvflx thx(plonl,plev), & ! temperature input + counter gradient thv(plonl,plev), & ! virtual potential temperature qmx(plonl,plev,nspcmix), &! constituents input + counter grad shmx(plonl,plev), & ! sh input + counter grad zeh(plonl,plev), & ! term in tri-diag. matrix system (t & q) zem(plonl,plev), & ! term in tri-diag. matrix system (momentum) termh(plonl,plev), & ! 1./(1.+cah(k) + cch(k) - cch(k)*zeh(k-1)) termm(plonl,plev) ! 1./(1.+cam(k) + ccm(k) - ccm(k)*zem(k-1)) logical :: adjust(plonl) real(fp) :: & um1(plonl,plev), & ! u wind input vm1(plonl,plev), & ! v wind input tm1(plonl,plev), & ! temperature input pmidm1(plonl,plev), & ! midpoint pressures pintm1(plonl,plevp), & ! interface pressures rpdel(plonl,plev), & ! 1./pdel (thickness bet interfaces) rpdeli(plonl,plev), & ! 1./pdeli (thickness bet midpoints) zm(plonl,plev), & ! midpoint geoptl height above sfc shflx(plonl), & ! surface sensible heat flux (w/m2) cflx(plonl,nspcmix), & ! surface constituent flux (kg/m2/s) wvflx(plonl) ! water vapor flux (kg/m2/s) real(fp) :: & qp1(plonl,plev,nspcmix), &! moist, tracers after vert. diff shp1(plonl,plev), & ! specific humidity (kg/kg) thp(plonl,plev) ! pot temp after vert. diffusion real(fp) :: & kvh(plonl,plevp), & ! coefficient for heat and tracers kvm(plonl,plevp), & ! coefficient for momentum tpert(plonl), & ! convective temperature excess qpert(plonl), & ! convective humidity excess cgs(plonl,plevp) ! counter-grad star (cg/flux) real(fp) :: & taux(plonl), & ! x surface stress (n) tauy(plonl), & ! y surface stress (n) ustar(plonl) ! surface friction velocity real(fp) :: pblh(plonl) ! boundary-layer height [m] real(fp) :: qp0(plonl,plev,nspcmix) ! To store initial concentration values real(fp) :: sum_qp0, sum_qp1 ! Jintai Lin 20180809 INTEGER :: L_REVERSE REAL(fp), POINTER :: Conc(:,:,:) !================================================================= ! vdiff begins here! !================================================================= ! Assume success RC = GC_SUCCESS ! Zero/initialize local variables for safety's sake indx = 0 adjust = .FALSE. sum_qp0 = 0.0_fp sum_qp1 = 0.0_fp cah = 0.0_fp cam = 0.0_fp cch = 0.0_fp ccm = 0.0_fp cgh = 0.0_fp cgq = 0.0_fp cgs = 0.0_fp cgsh = 0.0_fp kvf = 0.0_fp potbar = 0.0_fp tmp1 = 0.0_fp dubot = 0.0_fp dvbot = 0.0_fp dtbot = 0.0_fp dqbot = 0.0_fp dshbot = 0.0_fp thx = 0.0_fp thv = 0.0_fp qmx = 0.0_fp shmx = 0.0_fp zeh = 0.0_fp zem = 0.0_fp termh = 0.0_fp termm = 0.0_fp taux = 0.0_fp tauy = 0.0_fp ustar = 0.0_fp qp0 = 0.0_fp um1 = uwnd(:,lat,:) vm1 = vwnd(:,lat,:) tm1 = tadv(:,lat,:) pmidm1 = pmid(:,lat,:) pintm1 = pint(:,lat,:) rpdel = rpdel_arg(:,lat,:) rpdeli = rpdeli_arg(:,lat,:) zm = zm_arg(:,lat,:) shflx = shflx_arg(:,lat) cflx = sflx(:,lat,:) wvflx = wvflx_arg(:,lat) !ewl qp1 = as2(:,lat,:,:) !ewl qp0 = as2(:,lat,:,:) shp1 = shp(:,lat,:) thp = thp_arg(:,lat,:) kvh = kvh_arg(:,lat,:) kvm = kvm_arg(:,lat,:) tpert = tpert_arg(:,lat) qpert = qpert_arg(:,lat) cgs = cgs_arg(:,lat,:) pblh = pblh_arg(:,lat) !### Debug IF ( Input_Opt%Verbose .and. ip < 5 .and. lat < 5 ) & CALL DEBUG_MSG( '### VDIFF: vdiff begins' ) IF (PRESENT(taux_arg )) taux = taux_arg(:,lat) IF (PRESENT(tauy_arg )) tauy = tauy_arg(:,lat) IF (PRESENT(ustar_arg)) ustar = ustar_arg(:,lat) ! Set initial species concentrations !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( M, L, I, Conc, L_REVERSE ) DO M = 1, nspcmix ! Point to the species concentrations Conc => State_Chm%Species(M)%Conc ! Loop over levels (and pull out the computation ! of the level in reverse order, for efficiency) DO L = 1, plev L_REVERSE = plev - L + 1 ! Tell OpenMP to vectorize this loop !$OMP SIMD DO I = 1, plonl qp1(I,L,M) = Conc(I,lat,L_REVERSE) qp0(I,L,M) = Conc(I,lat,L_REVERSE) ENDDO ENDDO ! Free pointer Conc => NULL() ENDDO !$OMP END PARALLEL DO ! resume... !----------------------------------------------------------------------- ! ... convert the surface fluxes to lowest level tendencies !----------------------------------------------------------------------- rcpair = 1.0_fp/cpair do i = 1,plonl tmp1(i) = ztodt*gravit*rpdel(i,plev) ! simplified treatment -- dubot and dvbot are not used under current PBL scheme, anyway !ccc if (present(taux) .and. present(tauy)) then if (present(taux_arg) .and. present(tauy_arg)) then dubot(i) = taux(i)*tmp1(i) dvbot(i) = tauy(i)*tmp1(i) endif dshbot(i) = wvflx(i)*tmp1(i) dtbot(i) = shflx(i)*tmp1(i)*rcpair kvf(i,plevp) = 0.0_fp end do do m = 1,nspcmix dqbot(:plonl,m) = cflx(:plonl,m)*tmp1(:plonl) end do ! !### Debug IF ( Input_Opt%Verbose .and. ip < 5 .and. lat < 5 ) & CALL DEBUG_MSG( '### VDIFF: diffusion begins' ) !----------------------------------------------------------------------- ! ... set the vertical diffusion coefficient above the top diffusion level !----------------------------------------------------------------------- do k = 1,ntopfl kvf(:plonl,k) = 0.0_fp end do !----------------------------------------------------------------------- ! ... compute virtual potential temperature for use in static stability ! calculation. 0.61 is 1. - r(water vapor)/r(dry air). use 0.61 instead ! of a computed variable in order to obtain an identical simulation to ! case 414. !----------------------------------------------------------------------- ! call virtem( thp, shp1, thv, plonl ) do k = 1,plev thv(:,k) = thp(:,k)*(1. + zvir*shp1(:,k)) end do ! !### Debug IF ( Input_Opt%Verbose .and. ip < 5 .and. lat < 5 ) & CALL DEBUG_MSG( '### VDIFF: compute free atmos. diffusion' ) !----------------------------------------------------------------------- ! ... compute the free atmosphere vertical diffusion coefficients ! kvh = kvq = kvm. !----------------------------------------------------------------------- do k = ntopfl,plev-1 do i = 1,plonl !----------------------------------------------------------------------- ! ... vertical shear squared, min value of (delta v)**2 prevents zero shear. !----------------------------------------------------------------------- dvdz2 = (um1(i,k) - um1(i,k+1))**2 + & (vm1(i,k) - vm1(i,k+1))**2 dvdz2 = max( dvdz2,1.e-36_fp ) dz = zm(i,k) - zm(i,k+1) dvdz2 = dvdz2/(dz**2) !----------------------------------------------------------------------- ! ... static stability (use virtual potential temperature) !----------------------------------------------------------------------- sstab = gravit*2.0_fp*(thv(i,k) - thv(i,k+1))/((thv(i,k) & + thv(i,k+1))*dz) !----------------------------------------------------------------------- ! ... richardson number, stable and unstable modifying functions !----------------------------------------------------------------------- rinub = sstab/dvdz2 fstab = 1.0_fp/(1.0_fp + 10.0_fp*rinub*(1.0_fp & + 8.0_fp*rinub)) funst = max( 1.0_fp - 18.0_fp*rinub,0.0_fp ) !----------------------------------------------------------------------- ! ... select the appropriate function of the richardson number !----------------------------------------------------------------------- if( rinub < 0.0_fp ) then fstab = sqrt( funst ) end if !----------------------------------------------------------------------- ! ... neutral diffusion coefficient ! compute mixing length (z), where z is the interface height estimated ! with an 8 km scale height. !----------------------------------------------------------------------- kvn = ml2(k)*sqrt( dvdz2 ) !----------------------------------------------------------------------- ! ... full diffusion coefficient (modified by f(ri)), !----------------------------------------------------------------------- kvf(i,k+1) = max( zkmin,kvn*fstab ) end do end do !### Debug IF ( Input_Opt%Verbose .and. ip < 5 .and. lat < 5 ) & CALL DEBUG_MSG( '### VDIFF: pbldif begins' ) !----------------------------------------------------------------------- ! ... determine the boundary layer kvh (=kvq), kvm, ! counter gradient terms (cgh, cgq, cgs) ! boundary layer height (pblh) and ! the perturbation temperature and moisture (tpert and qpert) ! the free atmosphere kv is returned above the boundary layer top. !----------------------------------------------------------------------- ! ustar must always be inputted !ccc if (present(taux) .and. present(tauy)) then if (present(taux_arg) .and. present(tauy_arg)) then call pbldif( thp, shp1, zm, um1, vm1, & tm1, pmidm1, kvf, cflx, shflx, & kvm, kvh, & cgh, cgq, cgs, pblh, tpert, qpert, & wvflx, cgsh, plonl, & taux=taux, tauy=tauy, ustar=ustar ) else call pbldif( thp, shp1, zm, um1, vm1, & tm1, pmidm1, kvf, cflx, shflx, & kvm, kvh, & cgh, cgq, cgs, pblh, tpert, qpert, & wvflx, cgsh, plonl, ustar=ustar ) endif !### Debug IF ( Input_Opt%Verbose .and. ip < 5 .and. lat < 5 ) & CALL DEBUG_MSG( '### VDIFF: after pbldif' ) !----------------------------------------------------------------------- ! ... add the counter grad terms to potential temp, specific humidity ! and other constituents in the bdry layer. note, npbl gives the max ! num of levels which are permitted to be within the boundary layer. !----------------------------------------------------------------------- !----------------------------------------------------------------------- ! ... first set values above boundary layer !----------------------------------------------------------------------- do k = 1,plev-npbl do i = 1,plonl thx(i,k) = thp(i,k) shmx(i,k) = shp1(i,k) end do do m = 1,nspcmix do i = 1,plonl qmx(i,k,m) = qp1(i,k,m) end do end do end do do k = 2,plev do i = 1,plonl potbar(i,k) = pintm1(i,k)/(0.5_fp*(tm1(i,k) + tm1(i,k-1))) end do end do do i = 1,plonl potbar(i,plevp) = pintm1(i,plevp)/tm1(i,plev) end do !----------------------------------------------------------------------- ! ... now focus on the boundary layer !----------------------------------------------------------------------- ztodtgor = ztodt*gravit/rair do k = plev-npbl+1,plev do i = 1,plonl tmp1(i) = ztodtgor*rpdel(i,k) thx(i,k) = thp(i,k) + tmp1(i) & *(potbar(i,k+1)*kvh(i,k+1)*cgh(i,k+1) & - potbar(i,k)*kvh(i,k)*cgh(i,k)) shmx(i,k) = shp1(i,k) + tmp1(i) & *(potbar(i,k+1)*kvh(i,k+1)*cgsh(i,k+1) & - potbar(i,k)*kvh(i,k)*cgsh(i,k)) end do do m = 1,nspcmix do i = 1,plonl qmx(i,k,m) = qp1(i,k,m) + tmp1(i) & *(potbar(i,k+1)*kvh(i,k+1)*cgq(i,k+1,m) & - potbar(i,k)*kvh(i,k)*cgq(i,k,m)) end do end do end do !----------------------------------------------------------------------- ! ... check for neg qs in each constituent and put the original vertical ! profile back if a neg value is found. a neg value implies that the ! quasi-equilibrium conditions assumed for the countergradient term are ! strongly violated. !----------------------------------------------------------------------- do m = 1,nspcmix adjust(:plonl) = .false. do k = plev-npbl+1,plev do i = 1,plonl if( qmx(i,k,m) < qmincg(m) ) then adjust(i) = .true. end if end do end do !----------------------------------------------------------------------- ! ... find long indices of those columns for which negatives were found !----------------------------------------------------------------------- nval = count( adjust(:plonl) ) !----------------------------------------------------------------------- ! ... replace those columns with original values !----------------------------------------------------------------------- if( nval > 0 ) then do k = plev-npbl+1,plev where( adjust(:plonl) ) qmx(:plonl,k,m) = qp1(:plonl,k,m) endwhere end do end if end do !----------------------------------------------------------------------- ! ... repeat above for sh !----------------------------------------------------------------------- adjust(:plonl) = .false. do k = plev-npbl+1,plev do i = 1,plonl !----------------------------------------------------------------------- ! ... 1.e-12 is the value of qmin (=qmincg) used in ccm2. !----------------------------------------------------------------------- if( shmx(i,k) < 1.0e-12_fp ) then adjust(i) = .true. end if end do end do !----------------------------------------------------------------------- ! ... find long indices of those columns for which negatives were found !----------------------------------------------------------------------- nval = count( adjust(:plonl) ) !----------------------------------------------------------------------- ! ... replace those columns with original values !----------------------------------------------------------------------- if( nval > 0 ) then do k = plev-npbl+1,plev where( adjust(:plonl) ) shmx(:plonl,k) = shp1(:plonl,k) endwhere end do end if !----------------------------------------------------------------------- ! ... determine superdiagonal (ca(k)) and subdiagonal (cc(k)) coeffs ! of the tridiagonal diffusion matrix. the diagonal elements are a ! combination of ca and cc; they are not explicitly provided to the ! solver !----------------------------------------------------------------------- gorsq = (gravit/rair)**2 do k = ntopfl,plev-1 do i = 1,plonl tmp2 = ztodt*gorsq*rpdeli(i,k)*(potbar(i,k+1)**2) cah(i,k ) = kvh(i,k+1)*tmp2*rpdel(i,k ) cam(i,k ) = kvm(i,k+1)*tmp2*rpdel(i,k ) cch(i,k+1) = kvh(i,k+1)*tmp2*rpdel(i,k+1) ccm(i,k+1) = kvm(i,k+1)*tmp2*rpdel(i,k+1) end do end do !----------------------------------------------------------------------- ! ... the last element of the upper diagonal is zero. !----------------------------------------------------------------------- do i = 1,plonl cah(i,plev) = 0.0_fp cam(i,plev) = 0.0_fp end do !----------------------------------------------------------------------- ! ... calculate e(k) for heat & momentum vertical diffusion. this term is ! required in solution of tridiagonal matrix defined by implicit diffusion eqn. !----------------------------------------------------------------------- do i = 1,plonl termh(i,ntopfl) = 1.0_fp/(1.0_fp + cah(i,ntopfl)) termm(i,ntopfl) = 1.0_fp/(1.0_fp + cam(i,ntopfl)) zeh(i,ntopfl) = cah(i,ntopfl)*termh(i,ntopfl) zem(i,ntopfl) = cam(i,ntopfl)*termm(i,ntopfl) end do do k = ntopfl+1,plev-1 do i = 1,plonl ! Suspect that these lines lead to numerical instability ! termh(i,k) = 1.e+0_fp/(1.e+0_fp + cah(i,k) + cch(i,k) & ! - cch(i,k)*zeh(i,k-1)) ! termm(i,k) = 1.e+0_fp/(1.e+0_fp + cam(i,k) + ccm(i,k) & ! - ccm(i,k)*zem(i,k-1)) termh(i,k) = & 1.0_fp / ( 1.0_fp + cah(i,k) + cch(i,k)*( 1.0_fp - zeh(i,k-1) ) ) termm(i,k) = & 1.0_fp / ( 1.0_fp + cam(i,k) + ccm(i,k)*( 1.0_fp - zem(i,k-1) ) ) zeh(i,k) = cah(i,k)*termh(i,k) zem(i,k) = cam(i,k)*termm(i,k) end do end do !### Debug IF ( Input_Opt%Verbose .and. ip < 5 .and. lat < 5 ) & CALL DEBUG_MSG( '### VDIFF: starting diffusion' ) !----------------------------------------------------------------------- ! ... diffuse constituents !----------------------------------------------------------------------- call qvdiff( nspcmix, qmx, dqbot, cch, zeh, & termh, qp1, plonl ) !----------------------------------------------------------------------- ! ... identify and correct constituents exceeding user defined bounds !----------------------------------------------------------------------- ! call qneg3( 'vdiff ', lat, qp1, plonl ) ! just use a simplified treatment where (qp1 < 0.0_fp) qp1 = 0.0_fp endwhere !----------------------------------------------------------------------- ! Simple bug fix to ensure mass conservation - Jintai Lin 20180809 ! Without this fix, mass is almost but not completed conserved, ! which is OK for full chemistry simulations but a big problem ! for long lived species such as CH4 and CO2 !----------------------------------------------------------------------- DO M = 1, nspcmix do I = 1, plonl ! total mass in the PBL (ignoring the v/v -> m/m conversion) ! including pre-mixing mass and surface flux (emis+drydep) sum_qp0 = sum(qp0(I,ntopfl:plev,M) * & State_Met%AD(I,lat,plev-ntopfl+1:1:-1)) & + (cflx(I,M) * State_Grid%AREA_M2(I,lat) * ztodt) ! total mass in the PBL (ignoring the v/v -> m/m conversion) sum_qp1 = sum(qp1(I,ntopfl:plev,M) * & State_Met%AD(I,lat,plev-ntopfl+1:1:-1)) IF ( IS_SAFE_DIV( sum_qp0, sum_qp1 ) ) THEN qp1(I,ntopfl:plev,M) = qp1(I,ntopfl:plev,M) * & sum_qp0 / sum_qp1 ENDIF enddo ENDDO !----------------------------------------------------------------------- ! ... diffuse sh !----------------------------------------------------------------------- call qvdiff( 1, shmx, dshbot, cch, zeh, & termh, shp1, plonl ) !----------------------------------------------------------------------- ! ... correct sh !----------------------------------------------------------------------- ! call shneg( 'vdiff:sh', lat, shp1, plonl ) ! just use a simplified treatment where (shp1 < 1.d-12) shp1 = 0.0_fp endwhere !----------------------------------------------------------------------- ! ... diffuse potential temperature !----------------------------------------------------------------------- call qvdiff( 1, thx, dtbot, cch, zeh, & termh, thp, plonl ) !Output values from local variables to arguments.(ccc, 11/17/09) shp(:,lat,:) = shp1 thp_arg(:,lat,:) = thp kvh_arg(:,lat,:) = kvh kvm_arg(:,lat,:) = kvm tpert_arg(:,lat) = tpert qpert_arg(:,lat) = qpert cgs_arg(:,lat,:) = cgs pblh_arg(:,lat) = pblh IF (PRESENT(taux_arg )) taux_arg(:,lat) = taux IF (PRESENT(tauy_arg )) tauy_arg(:,lat) = tauy IF (PRESENT(ustar_arg)) ustar_arg(:,lat) = ustar ! Set species concentrations !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( M, L, I )& !$OMP COLLAPSE( 3 ) DO M = 1, nspcmix DO L = 1, plev DO I = 1, plonl State_Chm%Species(M)%Conc(I,lat,L) = qp1(I,plev-L+1,M) ENDDO ENDDO ENDDO !$OMP END PARALLEL DO end subroutine vdiff !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: pbldif ! ! !DESCRIPTION: Subroutine PBLDIF computes the atmospheric boundary layer. ! The nonlocal scheme determines eddy diffusivities based on a diagnosed ! boundary layer height and a turbulent velocity scale. Also, countergradient ! effects for heat and moisture, and constituents are included, along with ! temperature and humidity perturbations which measure the strength of ! convective thermals in the lower part of the atmospheric boundary layer. !\\ !\\ ! References: ! ! \begin{enumerate} ! \item Holtslag, A. A. M., and B. A. Boville, 1993: \emph{Local versus ! nonlocal boundary-layer diffusion in a global climate model}, ! \underline{J. Clim.}, \textbf{6}, 1825-1842. ! \end{enumerate} ! ! !INTERFACE: ! subroutine pbldif( th ,q ,z ,u ,v, & t ,pmid ,kvf ,cflx ,shflx, & kvm ,kvh, & cgh ,cgq ,cgs ,pblh ,tpert, & qpert ,wvflx ,cgsh ,plonl, & taux ,tauy ,ustar ) ! ! !USES: ! implicit none ! ! !INPUT PARAMETERS: ! integer, intent(in) :: & plonl real(fp), intent(in) :: & th(plonl,plev), & ! potential temperature [k] q(plonl,plev), & ! specific humidity [kg/kg] z(plonl,plev), & ! height above surface [m] u(plonl,plev), & ! windspeed x-direction [m/s] v(plonl,plev), & ! windspeed y-direction [m/s] t(plonl,plev), & ! temperature (used for density) pmid(plonl,plev), & ! midpoint pressures kvf(plonl,plevp), & ! free atmospheric eddy diffsvty [m2/s] cflx(plonl,nspcmix), & ! surface constituent flux (kg/m2/s) wvflx(plonl), & ! water vapor flux (kg/m2/s) shflx(plonl) ! surface heat flux (w/m2) ! ! !INPUT/OUTPUT PARAMETERS: ! real(fp), optional, intent(inout) :: & taux(plonl), & ! x surface stress (n) tauy(plonl), & ! y surface stress (n) ustar(plonl) ! surface friction velocity real(fp), intent(inout) :: pblh(plonl) ! boundary-layer height [m] ! ! !OUTPUT PARAMETERS: ! real(fp), intent(out) :: & kvm(plonl,plevp), & ! eddy diffusivity for momentum [m2/s] kvh(plonl,plevp), & ! eddy diffusivity for heat [m2/s] cgh(plonl,plevp), & ! counter-gradient term for heat [k/m] cgq(plonl,plevp,nspcmix), &! counter-gradient term for constituents cgsh(plonl,plevp), & ! counter-gradient term for sh cgs(plonl,plevp), & ! counter-gradient star (cg/flux) tpert(plonl), & ! convective temperature excess qpert(plonl) ! convective humidity excess ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! real(fp), parameter :: tiny = 1.0e-20_fp !e-36 ! lower bound for wind magnitude integer :: & i, & ! longitude index k, & ! level index m ! constituent index logical :: & unstbl(plonl), & ! pts w/unstbl pbl (positive virtual ht flx) stblev(plonl), & ! stable pbl with levels within pbl unslev(plonl), & ! unstbl pbl with levels within pbl unssrf(plonl), & ! unstb pbl w/lvls within srf pbl lyr unsout(plonl), & ! unstb pbl w/lvls in outer pbl lyr check(plonl) ! true=>chk if richardson no.>critcal real(fp) :: & heatv(plonl), & ! surface virtual heat flux thvsrf(plonl), & ! sfc (bottom) level virtual temperature thvref(plonl), & ! reference level virtual temperature tkv, & ! model level potential temperature therm(plonl), & ! thermal virtual temperature excess phiminv(plonl), & ! inverse phi function for momentum phihinv(plonl), & ! inverse phi function for heat wm(plonl), & ! turbulent velocity scale for momentum vvk, & ! velocity magnitude squared zm(plonl), & ! current level height zp(plonl), & ! current level height + one level up khfs(plonl), & ! surface kinematic heat flux [mk/s] kqfs(plonl,nspcmix), & ! sfc kinematic constituent flux [m/s] kshfs(plonl), & ! sfc kinematic moisture flux [m/s] zmzp ! level height halfway between zm and zp real(fp) :: & rino(plonl,plev), & ! bulk richardson no. from level to ref lev tlv(plonl), & ! ref. level pot tmp + tmp excess fak1(plonl), & ! k*ustar*pblh fak2(plonl), & ! k*wm*pblh fak3(plonl), & ! fakn*wstr/wm pblk(plonl), & ! level eddy diffusivity for momentum pr(plonl), & ! prandtl number for eddy diffusivities zl(plonl), & ! zmzp / obukhov length zh(plonl), & ! zmzp / pblh zzh(plonl), & ! (1-(zmzp/pblh))**2 wstr(plonl), & ! w*, convective velocity scale rrho(plonl), & ! 1./bottom level density (temporary) obklen(plonl), & ! obukhov length ustr ! unbounded ustar real(fp) :: & term, & ! intermediate calculation fac, & ! interpolation factor pblmin ! min pbl height due to mechanical mixing !================================================================= ! pbldif begins here! !================================================================= ! Zero/initialize local variables if they are not initialized below unstbl = .FALSE. stblev = .FALSE. unslev = .FALSE. unssrf = .FALSE. unsout = .FALSE. check = .FALSE. thvref = 0.0_fp tkv = 0.0_fp phiminv = 0.0_fp phihinv = 0.0_fp vvk = 0.0_fp zm = 0.0_fp zp = 0.0_fp khfs = 0.0_fp kqfs = 0.0_fp kshfs = 0.0_fp zmzp = 0.0_fp rino = 0.0_fp tlv = 0.0_fp fak1 = 0.0_fp fak2 = 0.0_fp pblk = 0.0_fp pr = 0.0_fp zl = 0.0_fp zzh = 0.0_fp wstr = 0.0_fp rrho = 0.0_fp ustr = 0.0_fp term = 0.0_fp fac = 0.0_fp pblmin = 0.0_fp !------------------------------------------------------------------------ ! ... compute kinematic surface fluxes !------------------------------------------------------------------------ do i = 1,plonl rrho(i) = rair*t(i,plev)/pmid(i,plev) if (present(taux) .and. present(tauy)) then ustr = sqrt( sqrt( taux(i)**2 + tauy(i)**2 )*rrho(i) ) ustar(i) = max( ustr, 0.01_fp ) endif khfs(i) = shflx(i)*rrho(i)/cpair kshfs(i) = wvflx(i)*rrho(i) end do do m = 1,nspcmix kqfs(:plonl,m) = cflx(:plonl,m)*rrho(:plonl) end do !------------------------------------------------------------------------ ! ... initialize output arrays with free atmosphere values !------------------------------------------------------------------------ do k = 1,plevp kvm(:,k) = kvf(:,k) kvh(:,k) = kvf(:,k) cgh(:,k) = 0.0_fp cgsh(:,k) = 0.0_fp cgs(:,k) = 0.0_fp end do do m = 1,nspcmix do k = 1,plevp cgq(:,k,m) = 0.0_fp end do end do !------------------------------------------------------------------------ ! ... compute various arrays for use later: !------------------------------------------------------------------------ do i = 1,plonl thvsrf(i) = th(i,plev)*(1.0_fp + 0.61_fp*q(i,plev)) heatv(i) = khfs(i) + 0.61_fp*th(i,plev)*kshfs(i) wm(i) = 0.0_fp therm(i) = 0.0_fp qpert(i) = 0.0_fp tpert(i) = 0.0_fp fak3(i) = 0.0_fp zh(i) = 0.0_fp obklen(i) = -thvsrf(i)*ustar(i)**3 & /(g*vk*(heatv(i) + sign( 1.0e-10_fp, heatv(i) ))) end do if (pblh_ar) then ! use archived PBLH do i = 1,plonl if( heatv(i) > 0.0_fp ) then unstbl(i) = .true. else unstbl(i) = .false. end if thvref(i) = th(i,plev)*(1.0_fp + 0.61_fp*q(i,plev)) end do else ! use derived PBLH !------------------------------------------------------------------------ ! ... define first a new factor fac=100 for use in richarson number ! calculate virtual potential temperature first level ! and initialize pbl height to z1 !------------------------------------------------------------------------ fac = 100.0_fp do i = 1,plonl thvref(i) = th(i,plev)*(1.0_fp + 0.61_fp*q(i,plev)) pblh(i) = z(i,plev) check(i) = .true. !------------------------------------------------------------------------ ! ... initialization of lowest level ri number ! (neglected in initial holtslag implementation) !------------------------------------------------------------------------ rino(i,plev) = 0.0_fp end do !------------------------------------------------------------------------ ! ... pbl height calculation: ! search for level of pbl. scan upward until the richardson number between ! the first level and the current level exceeds the "critical" value. !------------------------------------------------------------------------ do k = plev-1,plev-npbl+1,-1 do i = 1,plonl if( check(i) ) then vvk = (u(i,k) - u(i,plev))**2 + (v(i,k) - v(i,plev))**2 + & fac*ustar(i)**2 vvk = max( vvk,tiny ) tkv = th(i,k)*(1.0_fp + 0.61_fp*q(i,k)) rino(i,k) = g*(tkv - thvref(i))*(z(i,k)-z(i,plev))/ & (thvref(i)*vvk) if( rino(i,k) >= ricr ) then pblh(i) = z(i,k+1) & + (ricr - rino(i,k+1)) & /(rino(i,k) - rino(i,k+1))*(z(i,k) - z(i,k+1)) check(i) = .false. end if end if end do end do !------------------------------------------------------------------------ ! ... set pbl height to maximum value where computation exceeds number of ! layers allowed !------------------------------------------------------------------------ do i = 1,plonl if( check(i) ) then pblh(i) = z(i,plevp-npbl) end if end do !------------------------------------------------------------------------ ! ... improve estimate of pbl height for the unstable points. ! find unstable points (virtual heat flux is positive): !------------------------------------------------------------------------ do i = 1,plonl if( heatv(i) > 0.0_fp ) then unstbl(i) = .true. check(i) = .true. else unstbl(i) = .false. check(i) = .false. end if end do !------------------------------------------------------------------------ ! ... for the unstable case, compute velocity scale and the ! convective temperature excess: !------------------------------------------------------------------------ do i = 1,plonl if( check(i) ) then phiminv(i) = (1.0_fp - binm*pblh(i)/obklen(i))**onet wm(i) = ustar(i)*phiminv(i) therm(i) = heatv(i)*fak/wm(i) rino(i,plev) = 0.0_fp tlv(i) = thvref(i) + therm(i) end if end do !------------------------------------------------------------------------ ! ... improve pblh estimate for unstable conditions using the ! convective temperature excess: !------------------------------------------------------------------------ do k = plev-1,plev-npbl+1,-1 do i = 1,plonl if( check(i) ) then vvk = (u(i,k) - u(i,plev))**2 + (v(i,k) - v(i,plev))**2 & + fac*ustar(i)**2 vvk = max( vvk,tiny ) tkv = th(i,k)*(1. + 0.61_fp*q(i,k)) rino(i,k) = g*(tkv - tlv(i))*(z(i,k)-z(i,plev)) & /(thvref(i)*vvk) if( rino(i,k) >= ricr ) then pblh(i) = z(i,k+1) + (ricr - rino(i,k+1)) & /(rino(i,k) - rino(i,k+1))*(z(i,k) - z(i,k+1)) check(i) = .false. end if end if end do end do !------------------------------------------------------------------------ ! ... points for which pblh exceeds number of pbl layers allowed; ! set to maximum !------------------------------------------------------------------------ do i = 1,plonl if( check(i) ) then pblh(i) = z(i,plevp-npbl) end if end do !------------------------------------------------------------------------ ! pbl height must be greater than some minimum mechanical mixing depth ! several investigators have proposed minimum mechanical mixing depth ! relationships as a function of the local friction velocity, u*. we ! make use of a linear relationship of the form h = c u* where c=700. ! the scaling arguments that give rise to this relationship most often ! represent the coefficient c as some constant over the local coriolis ! parameter. here we make use of the experimental results of koracin ! and berkowicz (1988) [blm, vol 43] for wich they recommend 0.07/f ! where f was evaluated at 39.5 n and 52 n. thus we use a typical mid ! latitude value for f so that c = 0.07/f = 700. !------------------------------------------------------------------------ do i = 1,plonl pblmin = 700.0_fp*ustar(i) pblh(i) = max( pblh(i),pblmin ) end do endif ! if pblh_ar !------------------------------------------------------------------------ ! ... pblh is now available; do preparation for diffusivity calculation: !------------------------------------------------------------------------ do i = 1,plonl pblk(i) = 0.0_fp fak1(i) = ustar(i)*pblh(i)*vk !------------------------------------------------------------------------ ! ... do additional preparation for unstable cases only, set temperature ! and moisture perturbations depending on stability. !------------------------------------------------------------------------ if( unstbl(i) ) then phiminv(i) = (1.0_fp - binm*pblh(i)/obklen(i))**onet phihinv(i) = sqrt(1.0_fp - binh*pblh(i)/obklen(i)) wm(i) = ustar(i)*phiminv(i) fak2(i) = wm(i)*pblh(i)*vk wstr(i) = (heatv(i)*g*pblh(i)/thvref(i))**onet fak3(i) = fakn*wstr(i)/wm(i) tpert(i) = max( khfs(i)*fak/wm(i),0.0_fp ) qpert(i) = max( kshfs(i)*fak/wm(i),0.0_fp ) else tpert(i) = max( khfs(i)*fak/ustar(i),0.0_fp ) qpert(i) = max( kshfs(i)*fak/ustar(i),0.0_fp ) end if end do !------------------------------------------------------------------------ ! ... main level loop to compute the diffusivities and counter-gradient terms !------------------------------------------------------------------------ do k = plev,plev-npbl+2,-1 !------------------------------------------------------------------------ ! ... find levels within boundary layer !------------------------------------------------------------------------ do i = 1,plonl unslev(i) = .false. stblev(i) = .false. zm(i) = z(i,k) zp(i) = z(i,k-1) ! NOTE: Do not test for floating-point equality, which due to roundoff ! may never occur. ! if( zkmin == 0.0_fp .and. zp(i) > pblh(i) ) then if ( ( .not. ABS( zkmin ) > 0.0_fp ) .and. ( zp(i) > pblh(i) ) ) then zp(i) = pblh(i) end if if( zm(i) < pblh(i) ) then zmzp = 0.5_fp*(zm(i) + zp(i)) zh(i) = zmzp/pblh(i) zl(i) = zmzp/obklen(i) if( zh(i) <= 1.0_fp ) then zzh(i) = (1.0_fp - zh(i))**2 else zzh(i) = 0.0_fp end if !------------------------------------------------------------------------ ! ... stblev for points zm < plbh and stable and neutral ! unslev for points zm < plbh and unstable !------------------------------------------------------------------------ if( unstbl(i) ) then unslev(i) = .true. else stblev(i) = .true. end if end if end do !------------------------------------------------------------------------ ! ... stable and neutral points; set diffusivities; counter-gradient ! terms zero for stable case: !------------------------------------------------------------------------ do i = 1,plonl if( stblev(i) ) then if( zl(i) <= 1.0_fp ) then pblk(i) = fak1(i)*zh(i)*zzh(i)/(1. + betas*zl(i)) else pblk(i) = fak1(i)*zh(i)*zzh(i)/(betas + zl(i)) end if kvm(i,k) = max( pblk(i),kvf(i,k) ) kvh(i,k) = kvm(i,k) end if end do !------------------------------------------------------------------------ ! ... unssrf, unstable within surface layer of pbl ! unsout, unstable within outer layer of pbl !------------------------------------------------------------------------ do i = 1,plonl unssrf(i) = .false. unsout(i) = .false. if( unslev(i) ) then if( zh(i) < sffrac ) then unssrf(i) = .true. else unsout(i) = .true. end if end if end do !------------------------------------------------------------------------ ! ... unstable for surface layer; counter-gradient terms zero !------------------------------------------------------------------------ do i = 1,plonl if( unssrf(i) ) then term = (1.0_fp - betam*zl(i))**onet pblk(i) = fak1(i)*zh(i)*zzh(i)*term pr(i) = term/sqrt(1.0_fp - betah*zl(i)) end if end do !------------------------------------------------------------------------ ! ... unstable for outer layer; counter-gradient terms non-zero: !------------------------------------------------------------------------ do i = 1,plonl if( unsout(i) ) then pblk(i) = fak2(i)*zh(i)*zzh(i) cgs(i,k) = fak3(i)/(pblh(i)*wm(i)) cgh(i,k) = khfs(i)*cgs(i,k) pr(i) = phiminv(i)/phihinv(i) + ccon*fak3(i)/fak cgsh(i,k) = kshfs(i)*cgs(i,k) end if end do do m = 1,nspcmix do i = 1,plonl if( unsout(i) ) then cgq(i,k,m) = kqfs(i,m)*cgs(i,k) end if end do end do !------------------------------------------------------------------------ ! ... for all unstable layers, set diffusivities !------------------------------------------------------------------------ do i = 1,plonl if( unslev(i) ) then kvm(i,k) = max( pblk(i),kvf(i,k) ) kvh(i,k) = max( pblk(i)/pr(i),kvf(i,k) ) end if end do end do end subroutine pbldif !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: qvdiff ! ! !DESCRIPTION: Subroutine QVDIFF solve vertical diffusion eqtn for constituent ! with explicit srfc flux. !\\ !\\ ! !INTERFACE: ! subroutine qvdiff( ncnst, qm1, qflx, cc, ze, & term, qp1, plonl, lat ) ! ! !USES: ! implicit none ! ! !INPUT PARAMETERS: ! integer, intent(in) :: & plonl integer, intent(in) :: & ncnst ! num of constituents being diffused real(fp), intent(in) :: & qm1(plonl,plev,ncnst), & ! initial constituent qflx(plonl,ncnst), & ! sfc q flux into lowest model level cc(plonl,plev), & ! -lower diag coeff.of tri-diag matrix term(plonl,plev) ! 1./(1. + ca(k) + cc(k) - cc(k)*ze(k-1)) integer, optional :: lat ! ! !INPUT/OUTPUT PARAMETERS: ! real(fp), intent(inout) :: & ze(plonl,plev) ! term in tri-diag. matrix system ! ! !OUTPUT PARAMETERS: ! real(fp), intent(out) :: & qp1(plonl,plev,ncnst) ! final constituent ! ! !REMARKS: ! Procedure for solution of the implicit equation follows : ! Richtmyer and Morton (1967,pp 198-199) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! real(fp) :: & zfq(plonl,plev,nspcmix), & ! terms appear in soln of tri-diag sys tmp1d(plonl) ! temporary workspace (1d array) integer :: & i, k, & ! longitude,vertical indices m ! constituent index logical :: doPrt !================================================================= ! qvdiff begins here! !================================================================= doPrt = .FALSE. if ( present( lat ) ) doPrt = ( lat == 6 ) ! Zero output arguments for safety's sake qp1 = 0.0_fp ! Zero local variables for safety's sake zfq = 0.0_fp tmp1d = 0.0_fp !----------------------------------------------------------------------- ! ... calculate fq(k). terms fq(k) and e(k) are required in solution of ! tridiagonal matrix defined by implicit diffusion eqn. ! note that only levels ntopfl through plev need be solved for. ! no vertical diffusion is applied above this level !----------------------------------------------------------------------- do m = 1,ncnst do i = 1,plonl zfq(i,ntopfl,m) = qm1(i,ntopfl,m) * term(i,ntopfl) end do do k = ntopfl+1,plev-1 do i = 1,plonl zfq(i,k,m) = (qm1(i,k,m) + ( cc(i,k) * zfq(i,k-1,m) ) ) & * term(i,k) end do end do end do !----------------------------------------------------------------------- ! ... bottom level: (includes surface fluxes) !----------------------------------------------------------------------- do i = 1,plonl ! Suspect that this line leads to numerical instability ! tmp1d(i) = 1.0_fp / & ! (1.0_fp + cc(i,plev) - ( cc(i,plev) * ze(i,plev-1) ) ) tmp1d(i) = 1.0_fp / ( 1.0_fp + cc(i,plev) * ( 1.0_fp - ze(i,plev-1) ) ) ze(i,plev) = 0.0_fp end do do m = 1,ncnst do i = 1,plonl zfq(i,plev,m) = & (qm1(i,plev,m) + qflx(i,m) + cc(i,plev)*zfq(i,plev-1,m)) & * tmp1d(i) end do end do !----------------------------------------------------------------------- ! ... perform back substitution !----------------------------------------------------------------------- do m = 1,ncnst do i = 1,plonl qp1(i,plev,m) = zfq(i,plev,m) end do do k = plev-1,ntopfl,-1 do i = 1,plonl qp1(i,k,m) = zfq(i,k,m) + ( ze(i,k) * qp1(i,k+1,m) ) end do end do end do end subroutine qvdiff !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: pbldifar ! ! !DESCRIPTION: Subroutine PBLDIFAR is a modified version of pbldif which only ! calculates cgq given cgs. !\\ !\\ ! !INTERFACE: ! SUBROUTINE PBLDIFAR( t, pmid, cflx, cgs, cgq, plonl ) ! ! !USES: ! implicit none ! ! !INPUT PARAMETERS: ! integer, intent(in) :: & plonl real(fp), intent(in) :: & t(plonl,plev), & ! temperature (used for density) pmid(plonl,plev), & ! midpoint pressures cflx(plonl,nspcmix), & ! surface constituent flux (kg/m2/s) cgs(plonl,plevp) ! counter-gradient star (cg/flux) ! ! !OUTPUT PARAMETERS: ! real(fp), intent(out) :: & cgq(plonl,plevp,nspcmix) ! counter-gradient term for constituents ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! integer :: & i, & ! longitude index k, & ! level index m ! constituent index real(fp) :: & rrho(plonl), & ! 1./bottom level density kqfs(plonl,nspcmix) ! sfc kinematic constituent flux [m/s] !================================================================= ! pbldifar begins here! !================================================================= ! Zero output arguments for safety's sake cgq = 0.0_fp ! Zero local variables for safety's sake rrho = 0.0_fp kqfs = 0.0_fp !------------------------------------------------------------------------ ! ... compute kinematic surface fluxes !------------------------------------------------------------------------ rrho(:) = rair*t(:,plev)/pmid(:,plev) do m = 1,nspcmix kqfs(:,m) = cflx(:,m)*rrho(:) end do !------------------------------------------------------------------------ ! ... initialize output arrays with free atmosphere values !------------------------------------------------------------------------ do m = 1,nspcmix do k = 1,plevp cgq(:,k,m) = 0.0_fp end do end do !------------------------------------------------------------------------ ! ... compute the counter-gradient terms: !------------------------------------------------------------------------ do k = plev,plev-npbl+2,-1 do m = 1,nspcmix cgq(:,k,m) = kqfs(:,m)*cgs(:,k) end do end do END SUBROUTINE PBLDIFAR !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_Vdiff ! ! !DESCRIPTION: Initializes fields used by the non-local BL mixing scheme. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_Vdiff( Input_Opt, State_Chm, State_Grid, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chem State object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC !================================================================= ! Init_Vdiff begins here! !================================================================= ! Assume success RC = GC_SUCCESS ! Exit if this is a dry-run simulation IF ( Input_Opt%DryRun ) RETURN ! Initialize plev = State_Grid%NZ ! # of levels plevp = State_Grid%NZ + 1 ! # of level edges nspcmix = State_Chm%nAdvect ! # of species zkmin = 0.01_fp ! = minimum k = kneutral * f(ri) ! Set the square of the mixing lengths ALLOCATE( ml2(plevp), STAT=RC ) CALL GC_CheckVar( 'vdiff_mod:ML2', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ml2(1 ) = 0.0_fp ml2(2:plev) = 900.0_fp ! = (30.0_fp)**2 ml2(plevp ) = 0.0_fp ! Set the minimum mixing ratio for the counter-gradient term. ! normally this should be the same as qmin. ALLOCATE( qmincg(nspcmix), STAT=RC ) CALL GC_CheckVar( 'vdiff_mod:QMINCG', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN qmincg = 0.0_fp END SUBROUTINE Init_Vdiff !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Max_PblHt_For_Vdiff ! ! !DESCRIPTION: Computes the maximum boundary layer height variables ! for the non-local mixing. This was rewritten to avoid assuming the ! a specific grid configuration. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Max_PblHt_For_Vdiff( Input_Opt, State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt TYPE(GrdState), INTENT(IN) :: State_Grid TYPE(MetState), INTENT(IN) :: State_Met ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! ! !REMARKS: ! This routine contains code that was originally in Init_Vdiff. But it ! has to be separated so that it can be called after the initial met fields ! are read from disk. This allows us to use the surface pressure field ! instead of referencing the Ap and Bp parameters directly. ! ! !REVISION HISTORY: ! 18 May 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! REAL(fp), PARAMETER :: pbl_press = 400.0_fp ! pressure cap for pbl (Pa) ! ! !LOCAL VARIABLES ! ! Scalars INTEGER :: K REAL(fp) :: cells_per_layer ! Arrays REAL(fp) :: ref_pmid(State_Grid%NZ) ! Strings CHARACTER(LEN=255) :: errMsg CHARACTER(LEN=255) :: thisLoc !=================================================================== ! Max_PblHt_for_Vdiff begins here! !=================================================================== ! Assume success RC = GC_SUCCESS ! Exit if the non-local PBL mixing is not being used IF ( .not. ( Input_Opt%LTURB .and. Input_Opt%LNLPBL ) ) RETURN ! Initialize ref_pmid = 0.0_fp cells_per_layer = DBLE( State_Grid%NX * State_Grid%NY ) errMsg = '' thisLoc = & ' -> at Max_PblHt_for_Vdiff (in module GeosCore/vdiff_mod.F90)' ! Now use the average initial surface pressure per layer instead of ! having to reference the Ap and Bp. This should make it easier ! to interface to external models such as CESM. DO k = 1, plev ref_pmid(plev-k+1) = SUM( State_Met%PMid(:,:,K) ) / cells_per_layer ENDDO ! Derived constants ! ntopfl = top level to which v-diff is applied ! npbl = max number of levels (from bottom) in pbl DO k = plev,1,-1 IF( ref_pmid(k) < pbl_press ) then EXIT ENDIF ENDDO ! Compute the number of PBL levels ! Write out the message as debug output (bmy, 05 Dec 2022) npbl = MAX( 1, plev - k ) IF ( Input_Opt%Verbose ) THEN WRITE(6,*) 'Init_Vdiff: pbl height will be limited to bottom ',npbl, & ' model levels.' WRITE(6,*) 'Top is ',ref_pmid(plevp-npbl),' hpa' ENDIF ! Set the ntopfl IF ( plev == 1 ) THEN ntopfl = 0 ELSE ntopfl = 1 ENDIF END SUBROUTINE Max_PblHt_For_Vdiff !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: vdiffdr ! ! !DESCRIPTION: Subroutine VDIFFDR calculates the vertical diffusion on a ! latitude slice of data. ! ! \begin{enumerate} ! \item The dummy argument as2 is in v\/v. (lin, 06/04/08) ! \item TCVV and TRACER\_MW\_KG assume 12 g/mol for all HCs. Thus, when using ! them to convert units of HCs to be the inputs for vdiffdr, the ! converted units are NOT kg/kg for concentrations and kg/m2/s for ! surface flux. However, since the units for both inputs are ! consistent, there should not be any problem. (lin, 06/04/08) ! \end{enumerate} ! ! !INTERFACE: ! SUBROUTINE VDIFFDR( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE GET_NDEP_MOD, ONLY : SOIL_DRYDEP USE Input_Opt_Mod, ONLY : OptInput USE PBL_MIX_MOD, ONLY : COMPUTE_PBL_HEIGHT USE Species_Mod, ONLY : Species USE State_Chm_Mod, ONLY : ChmState USE State_Chm_Mod, ONLY : Ind_ USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_TS_CONV, GET_TS_EMIS, GET_TS_CHEM USE OCEAN_MERCURY_MOD, ONLY : Fg !hma USE OCEAN_MERCURY_MOD, ONLY : OMMFP => Fp USE OCEAN_MERCURY_MOD, ONLY : LHg2HalfAerosol !cdh implicit none ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State object TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! (1) Need to declare the Meteorology State object (State_MET) with ! INTENT(INOUT). This is because VDIFF will modify the specific ! humidity field. (bmy, 11/21/12) ! . ! (2) As of July 2016, we assume that all of the advected species are listed ! first in the species database. This is the easiest way to pass a slab ! to the TPCORE routine. This may change in the future. (bmy, 7/13/16) ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I, J, L, N, NA, nAdvect, EC REAL(fp) :: dtime #ifdef LUO_WETDEP REAL(fp) :: F_CLD REAL(fp) :: YCLDICE, FICE, YB, volx34pi_cd, rrate, SQM, STK REAL(fp) :: log2R, DFKG, uptkrate REAL(fp), PARAMETER :: ROOT_TWO_THIRDS = SQRT(2.D0/3.D0) #endif ! Arrays REAL(fp), TARGET :: tpert (State_Grid%NX,State_Grid%NY) REAL(fp), TARGET :: qpert (State_Grid%NX,State_Grid%NY) REAL(fp), TARGET :: shflx (State_Grid%NX,State_Grid%NY) REAL(fp), TARGET :: pmid (State_Grid%NX,State_Grid%NY,State_Grid%NZ) REAL(fp), TARGET :: rpdel (State_Grid%NX,State_Grid%NY,State_Grid%NZ) REAL(fp), TARGET :: rpdeli(State_Grid%NX,State_Grid%NY,State_Grid%NZ) REAL(fp), TARGET :: thp (State_Grid%NX,State_Grid%NY,State_Grid%NZ) REAL(fp), TARGET :: t1 (State_Grid%NX,State_Grid%NY,State_Grid%NZ) REAL(fp), TARGET :: zm (State_Grid%NX,State_Grid%NY,State_Grid%NZ) REAL(fp), TARGET :: cgs (State_Grid%NX, State_Grid%NY,State_Grid%NZ+1) REAL(fp), TARGET :: pint (State_Grid%NX, State_Grid%NY,State_Grid%NZ+1) REAL(fp), TARGET :: kvh (State_Grid%NX, State_Grid%NY,State_Grid%NZ+1) REAL(fp), TARGET :: kvm (State_Grid%NX, State_Grid%NY,State_Grid%NZ+1) ! Pointers REAL(fp), POINTER :: p_pblh (:,: ) REAL(fp), POINTER :: p_sflx (:,:,: ) REAL(fp), POINTER :: p_um1 (:,:,: ) REAL(fp), POINTER :: p_vm1 (:,:,: ) REAL(fp), POINTER :: p_tadv (:,:,: ) REAL(fp), POINTER :: p_hflux (:,: ) REAL(fp), POINTER :: p_ustar (:,: ) REAL(fp), POINTER :: p_pmid (:,:,: ) REAL(fp), POINTER :: p_pint (:,:,: ) REAL(fp), POINTER :: p_rpdel (:,:,: ) REAL(fp), POINTER :: p_rpdeli(:,:,: ) REAL(fp), POINTER :: p_zm (:,:,: ) REAL(fp), POINTER :: p_thp (:,:,: ) REAL(fp), POINTER :: p_kvh (:,:,: ) REAL(fp), POINTER :: p_kvm (:,:,: ) REAL(fp), POINTER :: p_cgs (:,:,: ) REAL(fp), POINTER :: p_shp (:,:,: ) REAL(fp), POINTER :: p_t1 (:,:,: ) ! For error trapping CHARACTER(LEN=255) :: ErrMsg, ThisLoc ! ! !DEFINED PARAMETERS: ! REAL(fp), PARAMETER :: p0 = 1.e+5_fp !================================================================= ! Vdiffdr begins here! !================================================================= !### Debug info IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### VDIFFDR: VDIFFDR begins' ) ENDIF ! Initialize RC = GC_SUCCESS nAdvect = State_Chm%nAdvect ErrMsg = '' ThisLoc = ' -> at VDIFF (in module GeosCore/vdiff_mod.F90)' pmid = 0.0_fp rpdel = 0.0_fp rpdeli = 0.0_fp zm = 0.0_fp pint = 0.0_fp cgs = 0.0_fp kvh = 0.0_fp kvm = 0.0_fp tpert = 0.0_fp qpert = 0.0_fp thp = 0.0_fp shflx = 0.0_fp t1 = 0.0_fp dtime = GET_TS_CONV() ! second shflx = State_Met%EFLUX / latvap ! latent heat -> water vapor flux !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX DO L = 1, State_Grid%NZ ! Convert PMID and PEDGE from hPa to Pa pmid(I,J,L) = State_Met%PMID(I,J,L) * 100.0_fp pint(I,J,L) = State_Met%PEDGE(I,J,L) * 100.0_fp ! Potential temperature [K] thp(I,J,L) = State_Met%T(I,J,L)*(p0/pmid(I,J,L))**cappa ENDDO ! PEDGE at the top of the atmosphere pint(I,J,State_Grid%NZ+1) = State_Met%PEDGE(I,J,State_Grid%NZ+1) & * 100.0_fp ! Corrected calculation of zm. ! Box height calculation now uses virtual temperature. ! Therefore, use virtual temperature in hypsometric equation. ! (ewl, 3/3/15) do L = 1, State_Grid%NZ zm(I,J,L) = SUM( State_Met%BXHEIGHT(I,J,1:L)) & - log( pmid(I,J,L)/pint(I,J,L+1) ) & * r_g * State_Met%TV(I,J,L) rpdel(I,J,L) = 1.0_fp / (pint(I,J,L) - pint(I,J,L+1)) enddo !rpdeli(I,J,1) = 1.e+0_fp / (PS(I,J) - pmid(I,J,1)) rpdeli(I,J,1) = 0.0_fp ! follow mozart setup (shown in mo_physlic.F90) do L = 2, State_Grid%NZ rpdeli(I,J,L) = 1.0_fp / (pmid(I,J,L-1) - pmid(I,J,L)) enddo enddo enddo !$OMP END PARALLEL DO !### Debug IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### VDIFFDR: after emis. and depdrp' ) ENDIF !-------------------------------------------------------------------- ! Now use pointers to flip arrays in the vertical (bmy, 6/22/15) !-------------------------------------------------------------------- p_sflx => State_Chm%SurfaceFlux p_hflux => State_Met%HFLUX p_ustar => State_Met%USTAR p_pblh => State_Met%PBL_TOP_m p_um1 => State_Met%U (:, :, State_Grid%NZ :1:-1 ) p_vm1 => State_Met%V (:, :, State_Grid%NZ :1:-1 ) p_tadv => State_Met%T (:, :, State_Grid%NZ :1:-1 ) p_pmid => pmid (:, :, State_Grid%NZ :1:-1 ) p_rpdel => rpdel (:, :, State_Grid%NZ :1:-1 ) p_rpdeli => rpdeli (:, :, State_Grid%NZ :1:-1 ) p_zm => zm (:, :, State_Grid%NZ :1:-1 ) p_thp => thp (:, :, State_Grid%NZ :1:-1 ) p_shp => State_Met%SPHU (:, :, State_Grid%NZ :1:-1 ) p_pint => pint (:, :, State_Grid%NZ+1:1:-1 ) p_kvh => kvh (:, :, State_Grid%NZ+1:1:-1 ) p_kvm => kvm (:, :, State_Grid%NZ+1:1:-1 ) p_cgs => cgs (:, :, State_Grid%NZ+1:1:-1 ) ! Convert g/kg -> kg/kg p_shp = p_shp * 1.e-3_fp !### Debug IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### VDIFFDR: before vdiff' ) ENDIF !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( J, EC ) DO J = 1, State_Grid%NY CALL Vdiff( J, 1, p_um1, p_vm1, & p_tadv, p_pmid, p_pint, p_rpdel, & p_rpdeli, dtime, p_zm, p_hflux, & p_sflx, p_thp, p_pblh, & p_kvh, p_kvm, tpert, qpert, & p_cgs, p_shp, shflx, State_Grid%NX, & Input_Opt, State_Met, State_Grid, & State_Chm, State_Diag, & ustar_arg=p_ustar, RC=EC ) ENDDO !$OMP END PARALLEL DO !### Debug IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### VDIFFDR: after vdiff' ) ENDIF ! Convert kg/kg -> g/kg p_shp = p_shp * 1.0e+3_fp #ifdef LUO_WETDEP !$OMP PARALLEL DO DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L, F_CLD ) & !$OMP PRIVATE( YCLDICE, FICE, YB, volx34pi_cd, rrate, SQM, STK ) & !$OMP PRIVATE( log2R, DFKG, uptkrate ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX IF(L>State_Met%PBL_TOP_L(I,J))THEN State_Met%WUP(I,J,L)=(0.5D0*(kvh(I,J,L)+kvh(I,J,L+1))/30.D0/& 0.516D0)*ROOT_TWO_THIRDS ELSE State_Met%WUP(I,J,L)=(0.5D0*(kvh(I,J,L)+kvh(I,J,L+1))/& MAX(30.D0,(1.D0/(1.D0/(0.4D0*SUM(State_Met%BXHEIGHT(I,J,1:L)))+& 1.D0/300.D0)))/& 0.516D0)*ROOT_TWO_THIRDS ENDIF State_Met%WUP(I,J,L)=MIN(20.D0,MAX(0.2D0,State_Met%WUP(I,J,L))) F_CLD = State_Met%CLDF(I,J,L) IF(F_CLD>1.D-4)THEN State_Met%KINC(I,J,L) = State_Met%WUP(I,J,L)*& (SQRT(F_CLD)*State_Met%BXHEIGHT(I,J,L)*& (State_Grid%DYWE_M(I,J)+State_Grid%DXSN_M(I,J))+& F_CLD*State_Grid%Area_M2(I,J))/& (1.D-30+F_CLD*State_Grid%Area_M2(I,J)*& State_Met%BXHEIGHT(I,J,L)) ELSE State_Met%KINC(I,J,L) = 1.D-30 F_CLD = 1.D-4 ENDIF State_Met%KINC(I,J,L) = MAX(1.D-30,State_Met%KINC(I,J,L)) State_Met%NUMCD(I,J,L) = 1.D-30 State_Met%ICESF(I,J,L) = 1.D-30 State_Met%RADCD(I,J,L) = 20.D-4 State_Met%TKICE(I,J,L) = 0.D0 IF(State_Met%T(I,J,L)<237.D0 .AND. State_Met%CLDF(I,J,L)>1.D-6)THEN YCLDICE = State_Met%QI(I,J,L)*State_Met%AIRDEN(I,J,L)*1.0D3 IF(YCLDICE>1.D-20)THEN FICE=State_Met%CLDF(I,J,L)*YCLDICE/& (YCLDICE+State_Met%QL(I,J,L)*State_Met%AIRDEN(I,J,L)*1.0D3) IF(FICE>1.D-6)THEN YCLDICE=YCLDICE/FICE State_Met%RADCD(I,J,L) = 0.5d0*53.005d0*(YCLDICE**0.006d0)*& exp(0.013d0*(State_Met%T(I,J,L)-273.d0)) State_Met%RADCD(I,J,L) = max(5.D0,MIN(1000.D0,State_Met%RADCD(I,J,L))) State_Met%RADCD(I,J,L) = State_Met%RADCD(I,J,L)*1.D-4 log2R = log(State_Met%RADCD(I,J,L)*2.d0) IF(State_Met%T(I,J,L)<218.15D0)THEN volx34pi_cd = exp(-9.24318d0+0.57189d0*log2R-& 0.17865d0*(log2R*log2R)) State_Met%ICESF(I,J,L) = exp(-2.43451d0+1.60639d0*log2R-& 0.01164d0*(log2R*log2R)) ELSE IF(State_Met%T(I,J,L)<233.15D0)THEN volx34pi_cd = exp(-6.44787d0+1.64429d0*log2R-& 0.07788d0*(log2R*log2R)) State_Met%ICESF(I,J,L) = exp(-2.38913d0+1.40166d0*log2R-& 0.05219d0*(log2R*log2R)) ELSE volx34pi_cd = exp(-6.67252d0+1.36857d0*log2R-& 0.12293d0*(log2R*log2R)) State_Met%ICESF(I,J,L) = exp(-2.40314d0+1.29749d0*log2R-& 0.07233d0*(log2R*log2R)) ENDIF State_Met%NUMCD(I,J,L) = YCLDICE/volx34pi_cd*1.D-6 rrate = 7.0D-3 - 4.D-3*MAX(0.D0,MIN(1.D0,(State_Met%T(I,J,L)-209.5D0)/& (220.D0-209.5D0))) SQM = sqrt(63.D0) STK = sqrt(State_Met%T(I,J,L)) DFKG = 9.45e+17_f8/State_Met%AIRNUMDEN(I,J,L) * STK * & SQRT(3.472e-2_f8 + 1.e+0_f8/(SQM*SQM)) uptkrate = State_Met%NUMCD(I,J,L)*State_Met%ICESF(I,J,L)/& (State_Met%RADCD(I,J,L)/DFKG+2.749064D-4*SQM/(rrate*STK)) State_Met%TKICE(I,J,L) = uptkrate*(State_Met%KINC(I,J,L)/& (State_Met%KINC(I,J,L)+(1.D0-State_Met%CLDF(I,J,L))*uptkrate)) ENDIF ENDIF ENDIF ENDDO ENDDO ENDDO !$OMP END PARALLEL DO #endif ! Nullify pointers p_sflx => NULL() p_um1 => NULL() p_vm1 => NULL() p_tadv => NULL() p_hflux => NULL() p_ustar => NULL() p_pmid => NULL() p_rpdel => NULL() p_rpdeli => NULL() p_zm => NULL() p_thp => NULL() p_shp => NULL() p_pint => NULL() p_kvh => NULL() p_kvm => NULL() p_cgs => NULL() !### Debug IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### VDIFFDR: VDIFFDR finished' ) ENDIF END SUBROUTINE VDIFFDR !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Do_Vdiff ! ! !DESCRIPTION: Subroutine DO\_PBL\_MIX\_2 is the driver routine for planetary ! boundary layer mixing. The PBL layer height and related quantities are ! always computed. Mixing of tracers underneath the PBL top is toggled ! by the DO\_TURBDAY switch. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Do_Vdiff( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE Calc_Met_Mod, ONLY : AirQnt USE Diagnostics_Mod, ONLY : Compute_Budget_Diagnostics USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : ITS_TIME_FOR_EMIS USE Time_Mod, ONLY : Get_Ts_Dyn USE Timers_Mod, ONLY : Timer_End, Timer_Start USE UnitConv_Mod IMPLICIT NONE ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State object TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 11 Feb 2005 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: TS_Dyn INTEGER :: previous_units REAL(fp) :: DT_Dyn ! Strings CHARACTER(LEN=255) :: errMsg CHARACTER(LEN=255) :: thisLoc !======================================================================= ! DO_VDIFF begins here! !======================================================================= ! Initialize RC = GC_SUCCESS ! Assume success ErrMsg = '' ThisLoc = ' -> at DO_PBL_MIX_2 (in module GeosCore/vdiff_mod.F90)' !======================================================================= ! Non-local PBL mixing budget diagnostics - Part 1 of 2 ! ! WARNING: The mixing budget diagnostic includes the application ! of species tendencies (emissions fluxes and dry deposition ! rates) below the PBL when using non-local PBL mixing. This is ! done for all species with defined emissions / dry deposition ! rates, including dust. These tendencies below the PBL are ! therefore not included in the emissions/dry deposition budget ! diagnostics when using non-local PBL mixing. (ewl, 9/26/18) !======================================================================= IF ( State_Diag%Archive_BudgetMixing ) THEN ! Get initial column masses (full, trop, PBL) CALL Compute_Budget_Diagnostics( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & isFull = State_Diag%Archive_BudgetMixingFull, & diagFull = NULL(), & mapDataFull = State_Diag%Map_BudgetMixingFull, & isTrop = State_Diag%Archive_BudgetMixingTrop, & diagTrop = NULL(), & mapDataTrop = State_Diag%Map_BudgetMixingTrop, & isPBL = State_Diag%Archive_BudgetMixingPBL, & diagPBL = NULL(), & mapDataPBL = State_Diag%Map_BudgetMixingPBL, & isLevs = State_Diag%Archive_BudgetMixingLevs, & diagLevs = NULL(), & mapDataLevs = State_Diag%Map_BudgetMixingLevs, & colMass = State_Diag%BudgetColumnMass, & before_op = .TRUE., & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Non-local mixing budget diagnostics error 1' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !======================================================================= ! PBL mixing !======================================================================= ! Do non-local PBL mixing CALL VDIFFDR( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountred in "VDIFFDR"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Debug print IF( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### DO_PBL_MIX_2: after VDIFFDR' ) ENDIF !======================================================================= ! Update airmass etc. and mixing ratios !======================================================================= ! Update air quantities and species concentrations with updated ! specific humidity (ewl, 10/28/15) CALL AirQnt( Input_Opt, State_Chm, State_Grid, & State_Met, RC, Update_Mixing_Ratio=.TRUE. ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountred in "AIRQNT"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Debug print IF( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### DO_PBL_MIX_2: after AIRQNT' ) ENDIF !======================================================================= ! Non-local PBL mixing budget diagnostics - Part 2 of 2 !======================================================================= IF ( State_Diag%Archive_BudgetMixing ) THEN ! Get dynamics timestep [s] TS_Dyn = Get_Ts_Dyn() DT_Dyn = DBLE( Ts_Dyn ) ! Compute change in column masses (after mixing - before mixing) ! and store in diagnostic arrays. Units are [kg/s]. CALL Compute_Budget_Diagnostics( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & isFull = State_Diag%Archive_BudgetMixingFull, & diagFull = State_Diag%BudgetMixingFull, & mapDataFull = State_Diag%Map_BudgetMixingFull, & isTrop = State_Diag%Archive_BudgetMixingTrop, & diagTrop = State_Diag%BudgetMixingTrop, & mapDataTrop = State_Diag%Map_BudgetMixingTrop, & isPBL = State_Diag%Archive_BudgetMixingPBL, & diagPBL = State_Diag%BudgetMixingPBL, & mapDataPBL = State_Diag%Map_BudgetMixingPBL, & isLevs = State_Diag%Archive_BudgetMixingLevs, & diagLevs = State_Diag%BudgetMixingLevs, & mapDataLevs = State_Diag%Map_BudgetMixingLevs, & colMass = State_Diag%BudgetColumnMass, & timeStep = DT_Dyn, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Non-local mixing budget diagnostics error 2' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF END SUBROUTINE Do_Vdiff !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Cleanup_Vdiff ! ! !DESCRIPTION: Deallocates module arrays !\\ !\\ ! !INTERFACE: ! SUBROUTINE Cleanup_VDiff( RC ) ! ! !USES: ! USE ErrCode_Mod ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! ! !REVISION HISTORY: ! 06 Jan 2015 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! Initialize RC = GC_SUCCESS ! Deallocate arrays IF ( ALLOCATED( ml2 ) ) THEN DEALLOCATE( ml2, STAT=RC ) CALL GC_CheckVar( 'vdiff_mod.F90:ML2', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( qmincg ) ) THEN DEALLOCATE( qmincg, STAT=RC ) CALL GC_CheckVar( 'vdiff_mod.F90:QMINCG', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF END SUBROUTINE Cleanup_Vdiff !EOC END MODULE Vdiff_Mod ================================================ FILE: GeosCore/wetscav_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: wetscav_mod.F90 ! ! !DESCRIPTION: Module WETSCAV\_MOD contains routines and variables used in ! the wet scavenging of species in cloud updrafts, rainout, and washout. !\\ !\\ ! !INTERFACE: ! MODULE WETSCAV_MOD ! ! !USES: ! USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: COMPUTE_F PUBLIC :: DO_WETDEP PUBLIC :: INIT_WETSCAV PUBLIC :: SETUP_WETSCAV PUBLIC :: WASHOUT PUBLIC :: LS_K_RAIN PUBLIC :: LS_F_PRIME PUBLIC :: CONV_F_PRIME ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: COMPUTE_L2G PRIVATE :: E_ICE PRIVATE :: RAINOUT PRIVATE :: GET_RAINFRAC PRIVATE :: SAFETY PRIVATE :: WASHFRAC_FINE_AEROSOL PRIVATE :: WASHFRAC_COARSE_AEROSOL PRIVATE :: WASHFRAC_LIQ_GAS PRIVATE :: WASHFRAC_HNO3 PRIVATE :: GET_VUD #ifdef LUO_WETDEP PRIVATE :: WASHFRAC_HNO3LUO PRIVATE :: WASHFRAC_FINE_AEROSOLLUOPO PRIVATE :: WASHFRAC_FINE_AEROSOLLUOPI PRIVATE :: WASHFRAC_COARSE_AEROSOLLUO #endif ! ! !REMARKS: ! References: ! ============================================================================ ! (1 ) Liu,H., D.J. Jacob, I. Bey and R.M. Yantosca, "Constraints from 210Pb ! and 7Be on wet deposition and transport in a global three-dimensional ! chemical tracer model driven by assimilated meteorological fields", ! JGR, Vol 106, pp 12109-12128, 2001. ! (2 ) D.J. Jacob, H. Liu, C. Mari, and R. M. Yantosca, "Harvard wet ! deposition scheme for GMI", Harvard Atmospheric Chemistry Modeling ! Group, March 2000. ! (3 ) Chin, M., D.J. Jacob, G.M. Gardner, M.S. Foreman-Fowler, and P.A. ! Spiro, "A global three-dimensional model of tropospheric sulfate", ! J. Geophys. Res., 101, 18667-18690, 1996. ! (4 ) Balkanski, Y D.J. Jacob, G.M. Gardner, W.C. Graustein, and K.K. ! Turekian, "Transport and Residence Times of Tropospheric Aerosols ! from a Global Three-Dimensional Simulation of 210Pb", JGR, Vol 98, ! (D11) pp 20573-20586, 1993. ! (5 ) Giorgi, F, & W.L. Chaimedes, "Rainout Lifetimes of Highly Soluble ! Aerosols and Gases as Inferred from Simulations With a General ! Circulation Model", JGR, Vol 86 (D13) pp 14367-14376, 1986. ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! TINY number REAL(fp), PARAMETER :: TINY_FP = TINY(1.0_fp) REAL(f8), PARAMETER :: INV_T298 = 1.0_f8 / 298.15_f8 ! ! !LOCAL VARIABLES: ! ! Define local shadow variables for values in Input_Opt LOGICAL :: LGTMM LOGICAL :: LSOILNOX LOGICAL :: LDYNOCEAN LOGICAL :: ITS_A_MERCURY_SIM LOGICAL :: ITS_A_POPS_SIM ! Species ID flags INTEGER :: id_DUST01 INTEGER :: id_H2O2 INTEGER :: id_NK01 INTEGER :: id_NH3 INTEGER :: id_SF01 INTEGER :: id_SO2 INTEGER :: id_SO4 CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: do_wetdep ! ! !DESCRIPTION: Subroutine DO\_WETDEP is a driver for the wet deposition code, ! called from the MAIN program. !\\ !\\ ! !INTERFACE: ! SUBROUTINE DO_WETDEP( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE Diagnostics_Mod, ONLY : Compute_Budget_Diagnostics USE ErrCode_Mod USE Error_Mod, ONLY : Debug_MSG USE Input_Opt_Mod, ONLY : OptInput USE PhysConstants USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_TS_DYN USE UnitConv_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 27 Mar 2003 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: TS_Dyn REAL(f8) :: DT_Dyn ! Strings CHARACTER(LEN=255) :: errMsg CHARACTER(LEN=255) :: thisLoc !======================================================================== ! Initialize !======================================================================== ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Do_WetDep (in module GeosCore/wetscav_mod.F90)' ! Copy values from Input_Opt to module shadow variables LGTMM = Input_Opt%LGTMM LSOILNOX = Input_Opt%LSOILNOX LDYNOCEAN = Input_Opt%LDYNOCEAN ITS_A_MERCURY_SIM = Input_Opt%ITS_A_MERCURY_SIM ITS_A_POPS_SIM = Input_Opt%ITS_A_POPS_SIM !------------------------------------------------------------------------ ! WetDep budget diagnostics - Part 1 of 2 !------------------------------------------------------------------------ IF ( State_Diag%Archive_BudgetWetDep ) THEN ! Get initial column masses (full, trop, PBL) CALL Compute_Budget_Diagnostics( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & isFull = State_Diag%Archive_BudgetWetDepFull, & diagFull = NULL(), & mapDataFull = State_Diag%Map_BudgetWetDepFull, & isTrop = State_Diag%Archive_BudgetWetDepTrop, & diagTrop = NULL(), & mapDataTrop = State_Diag%Map_BudgetWetDepTrop, & isPBL = State_Diag%Archive_BudgetWetDepPBL, & diagPBL = NULL(), & mapDataPBL = State_Diag%Map_BudgetWetDepPBL, & isLevs = State_Diag%Archive_BudgetWetDepLevs, & diagLevs = NULL(), & mapDataLevs = State_Diag%Map_BudgetWetDepLevs, & colMass = State_Diag%BudgetColumnMass, & before_op = .TRUE., & isWetDep = .TRUE., & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'WetDep budget diagnostics error 1' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !======================================================================== ! Only do wet deposition for large-scale + anvil precip !======================================================================== !------------------------------------------ ! Zero diagnostic arrays in State_Diag ! at the start of a new wetdep cycle ! ! *FracLs diagnostics might need work... !------------------------------------------ !### Comment out these diagnostics for now (bmy, 6/2/20) !### IF ( State_Diag%Archive_PrecipFracLS ) State_Diag%PrecipFracLS = 0.0_f4 !### IF ( State_Diag%Archive_RainFracLS ) State_Diag%RainFracLS = 0.0_f4 !### IF ( State_Diag%Archive_WashFracLS ) State_Diag%WashFracLS = 0.0_f4 IF ( State_Diag%Archive_WetLossLS ) THEN State_Diag%WetLossLS = 0.0_f4 ENDIF IF ( State_Diag%Archive_SatDiagnWetLossLS ) THEN State_Diag%SatDiagnWetLossLS = 0.0_f4 ENDIF !------------------------------------------ ! Create precip fields ! (Always assume large-scale precip) !------------------------------------------ CALL MAKE_QQ( State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & LS =.TRUE., & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Make_QQ"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Debug print IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### DO_WETDEP: before LS wetdep' ) ENDIF !----------------------------------------- ! Do wet deposition ! (Always assume large-scale precip) !----------------------------------------- CALL WETDEP( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & LS = .TRUE., & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Wetdep"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Debug print IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### DO_WETDEP: after LS wetdep' ) ENDIF !------------------------------------------------------------------------ ! Wet deposition budget diagnostics - Part 2 of 2 !------------------------------------------------------------------------ IF ( State_Diag%Archive_BudgetWetDep ) THEN ! Timestep for diagnostics [s] TS_Dyn = Get_Ts_Dyn() DT_Dyn = DBLE( TS_Dyn ) ! Compute change in column masses (after wetdep - before wetdep) ! and store in diagnostic arrays. Units are [kg/s]. CALL Compute_Budget_Diagnostics( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & isFull = State_Diag%Archive_BudgetWetDepFull, & diagFull = State_Diag%BudgetWetDepFull, & mapDataFull = State_Diag%Map_BudgetWetDepFull, & isTrop = State_Diag%Archive_BudgetWetDepTrop, & diagTrop = State_Diag%BudgetWetDepTrop, & mapDataTrop = State_Diag%Map_BudgetWetDepTrop, & isPBL = State_Diag%Archive_BudgetWetDepPBL, & diagPBL = State_Diag%BudgetWetDepPBL, & mapDataPBL = State_Diag%Map_BudgetWetDepPBL, & isLevs = State_Diag%Archive_BudgetWetDepLevs, & diagLevs = State_Diag%BudgetWetDepLevs, & mapDataLevs = State_Diag%Map_BudgetWetDepLevs, & colMass = State_Diag%BudgetColumnMass, & timeStep = DT_Dyn, & isWetDep = .TRUE., & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'WetDep budget diagnostics error 2' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF END SUBROUTINE DO_WETDEP !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: make_qq ! ! !DESCRIPTION: Subroutine MAKE\_QQ computes the large-scale or convective ! precipitation fields for use with WETDEP !\\ !\\ ! !INTERFACE: ! SUBROUTINE MAKE_QQ( State_Chm, State_Grid, State_Met, LS, RC ) ! ! !USES: ! USE ErrCode_Mod USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object LOGICAL, INTENT(IN) :: LS ! =T, denotes large scale precip ! =F, denotes convective precip ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REMARKS: ! Construct QQ and PDOWN directly from met fields. ! . ! This only applies to large-scale precip, as the #if defined ! block in routine DO_WETDEP prevents the wet deposition ! routines from being called if it is convective precip. ! . ! Met fields: ! ================= ! DQRLSAN = 3-D precip production rate (LS+anvil) [kg/kg/s] ! PFILSAN = Dwnwd flux of ice precip (LS+anvil) [kg/m2/s] ! PFLLSAN = Dwnwd flux of liquid precip (LS+anvil) [kg/m2/s] ! REEVAPLS = Evap of precip'ing LS+anvil condensate [kg/kg/s] ! . ! Unit conversion for QQ: ! ======================= ! ! kg H2O | m^3 H2O | AIRDEN kg air m^3 H2O ! ------------+-------------+--------------- = ------------- ! kg air * s | 1000 kg H2O | m^3 air m^3 air * s ! ! and [m^3 H2O/m3 air] = [cm^3 H2O/cm3 air] because the same conversion ! factor from m^3 -> cm^3 is in both the numerator and the denominator. ! . ! Unit conversion for PDOWN: ! ========================== ! . ! kg H2O | m^3 H2O | 1e6 cm^3 | m^2 ! ----------+-------------+----------+--------- + ! m^2 * s | 1000 kg H2O | m^3 | 1e4 cm2 ! . ! kg ice | m^3 ice | 1e6 cm^3 | m^2 ! ----------+-------------+----------+--------- ! m^2 * s | 917 kg ice | m^3 | 1e4 cm2 ! . ! = [ (PFILSAN/1000) * 100 ] + [ (PFILSAN/1000) * 100] ! ! !REMARKS: ! The PFILSAN and PFLLSAN fields are defined on level edges. ! Therefore, we must use L+1 to index them. ! ! !REVISION HISTORY: ! 29 Feb 2000 - H. Liu, R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, J, L !================================================================= ! Loop over surface grid boxes !================================================================= ! Initialize RC = GC_SUCCESS !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L ) & !$OMP COLLAPSE( 3 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Rate of new precipitation formation in grid box (I,J,L) ! [cm3 H2O/cm3 air/s] State_Met%QQ(L,I,J) = ( State_Met%DQRLSAN(I,J,L) ) & * ( State_Met%MAIRDEN(I,J,L) / 1000.0_fp ) #ifdef LUO_WETDEP ! Luo et al scheme: save QQ to State_Chm for further use State_Chm%QQ3D(I,J,L) = MAX(0.0_fp,State_Met%QQ(L,I,J)) #endif ! Rate of re-evaporation in grid box (I,J,L) ! [cm3 H2O/cm3 air/s] State_Met%REEVAP(L,I,J) = ( State_Met%REEVAPLS(I,J,L) ) & * ( State_Met%AIRDEN(I,J,L) / 1000.0_fp ) ! Column precipitation [cm3 H2O/cm2 air/s] #ifdef LUO_WETDEP State_Met%REEVAP(L,I,J) = MAX(0.0_fp,State_Met%REEVAP(L,I,J)) ! Luo et al scheme: Use level L State_Met%PDOWN(L,I,J) = ( ( State_Met%PFLLSAN(I,J,L) / 1000.0_fp ) & + ( State_Met%PFILSAN(I,J,L) / 917.0_fp ) ) & * 100.0_fp State_Met%PDOWN(L,I,J) = MAX(0.0_fp,State_Met%PDOWN(L,I,J)) #else ! Default scheme: Use level L+1 State_Met%PDOWN(L,I,J) = ( ( State_Met%PFLLSAN(I,J,L+1) / 1000.0_fp ) & + ( State_Met%PFILSAN(I,J,L+1) / 917.0_fp ) ) & * 100.0_fp #endif ENDDO ENDDO ENDDO !$OMP END PARALLEL DO END SUBROUTINE MAKE_QQ !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: e_ice ! ! !DESCRIPTION: Subroutine E\_ICE computes Eice(T), the saturation vapor ! pressure of ice at a given Celsius temperature. !\\ !\\ ! !INTERFACE: ! FUNCTION E_ICE( TK ) RESULT( VALUE ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: TK ! Temperature [K] ! ! !RETURN VALUE: ! REAL(fp) :: VALUE ! Saturation vapor pressure [hPa] ! ! !REMARKS: ! Marti & Mauersberber (GRL '93) formulation of saturation ! vapor pressure of ice [Pa] is: log P = A/TK + B ! ! !REVISION HISTORY: ! 08 Feb 2005 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! REAL(fp), PARAMETER :: A = -2663.5e+0_fp REAL(fp), PARAMETER :: B = 12.537e+0_fp !================================================================= ! E_ICE begins here! !================================================================= ! Saturation vap press of Ice [Pa] -- divide by 100 for [hPa] IF ( TK <= TINY_FP ) THEN VALUE = 0.0_fp ELSE VALUE = ( 10e+0_fp**( A/TK + B ) ) / 100e+0_fp ENDIF END FUNCTION E_ICE !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: compute_l2g ! ! !DESCRIPTION: Subroutine COMPUTE\_L2G computes the ratio L2G = Cliq / Cgas, ! which is the mixing ratio of species in the liquid phase, divided by the ! mixing ratio of species in the gas phase. !\\ !\\ ! !INTERFACE: ! SUBROUTINE COMPUTE_L2G( K0, CR, pKa, TK, H2OLIQ, pH, L2G ) ! ! !USES: ! USE Henry_Mod, ONLY : Calc_KH USE Henry_Mod, ONLY : Calc_Heff ! ! !INPUT PARAMETERS: ! REAL(f8), INTENT(IN) :: K0 ! Henry's solubility constant [M/atm] REAL(f8), INTENT(IN) :: CR ! Henry's volatility constant [K] REAL(f8), INTENT(IN) :: pKa ! Henry's pH correction factor [1] REAL(fp), INTENT(IN) :: TK ! Temperature [K] REAL(fp), INTENT(IN) :: H2OLIQ ! Liquid water content [cm3 H2O/cm3 air] REAL(f8), INTENT(IN) :: pH ! pH of input water ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: L2G ! Cliq/Cgas ratio [1] ! ! !REMARKS: ! The ratio Cliq / Cgas is obtained via Henry's law. The appropriate ! values of Kstar298 and H298_R must be supplied for each species. ! (cf Jacob et al 2000, p. 3) ! ! !REVISION HISTORY: ! 23 Feb 2000 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: RC REAL(f8) :: HEFF, KH, TK_8 !================================================================= ! COMPUTE_L2G begins here! !================================================================= ! Cast temperature to REAL*8 TK_8 = TK ! Calculate the Henry's law constant CALL CALC_KH( K0, CR, TK_8, KH, RC ) ! Calculate effective Henry's law constant, corrected for pH ! (for those species that have a defined pKa value) CALL CALC_HEFF( pKa, pH, KH, HEFF, RC ) ! Use Henry's Law to get the ratio: ! [ mixing ratio in liquid phase / mixing ratio in gas phase ] L2G = HEFF * H2OLIQ END SUBROUTINE COMPUTE_L2G !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: compute_f ! ! !DESCRIPTION: Subroutine COMPUTE\_F computes F, the fraction of soluble ! species lost by scavenging in convective cloud updrafts. !\\ !\\ ! !INTERFACE: ! SUBROUTINE COMPUTE_F( N, F, ISOL, Input_Opt, State_Chm, State_Grid, & State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE Error_Mod USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : Species USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState #ifdef TOMAS USE Tomas_Mod, ONLY : GetFraction #endif USE UnitConv_Mod ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: N ! Species ID TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: ISOL ! Index for ND38 diag REAL(fp), INTENT(OUT) :: F(:,:,:) ! Soluble fraction of species INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 23 Feb 2000 - H. Liu, R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I, J, L REAL(fp) :: SO2LOSS, Ki #ifdef LUO_WETDEP REAL(fp) :: LIQCOV, ICECOV #endif #ifdef TOMAS REAL(fp) :: SOLFRAC, XFRAC #endif ! Arrays REAL(fp) :: KcScale(3) ! Pointers REAL(fp), POINTER :: p_C_H2O REAL(fp), POINTER :: p_CLDICE REAL(fp), POINTER :: p_CLDLIQ REAL(fp), POINTER :: p_T REAL(fp), POINTER :: H2O2s(:,:,:) REAL(fp), POINTER :: SO2s(:,:,:) #ifdef LUO_WETDEP REAL(fp), POINTER :: p_pHcloud #endif ! Objects TYPE(Species), POINTER :: SpcInfo ! ! !DEFINED PARAMETERS: ! ! Kc is the conversion rate from cloud condensate to precip [s^-1] REAL(fp), PARAMETER :: Kc = 5e-3_fp !================================================================= ! COMPUTE_F begins here! !================================================================= ! Assume success RC = GC_SUCCESS ! Initialize F = 0.0_fp p_C_H2O => NULL() p_CLDICE => NULL() p_CLDLIQ => NULL() p_T => NULL() H2O2s => State_Chm%H2O2AfterChem SO2s => State_Chm%SO2AfterChem SpcInfo => State_Chm%SpcData(N)%Info ! ISOL is the wetdep ID (will be -999 if not a wetdep species) ISOL = SpcInfo%WetDepId ! Exit with F=0, ISOL=0 if this is not a wetdep species IF ( .not. SpcInfo%Is_WetDep ) THEN SpcInfo => NULL() RETURN ENDIF ! Temperature-dependent scale factors for the KC rate ! (conversion of cloud condensate -> precipitation) KcScale = SpcInfo%WD_KcScaleFac !================================================================= ! %%% SPECIAL CASE %%% ! SO2 scavenges like an aerosol although it is considered ! to be a gas-phase species elsewhere (e.g. dry deposition) !================================================================= #ifdef LUO_WETDEP !-------------------------------------------------------------- ! Soluble gas-phase species ! ! NOTE: HNO3 scavenges like an aerosol, although it is ! considered a gas-phase species elsewhere. Compute the ! fraction of HNO3 scavenged out of the column further down ! in the last ELSE block. !-------------------------------------------------------------- IF ( SpcInfo%Is_Gas .and. ( .not. SpcInfo%WD_Is_HNO3 ) ) THEN ! No scavenging at the surface F(:,:,1) = 0.0_fp ! Start scavenging at level 2 DO L = 2, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Set pointers p_C_H2O => State_Met%C_H2O (I,J,L) p_CLDICE => State_Met%CLDICE(I,J,L) p_CLDLIQ => State_Met%CLDLIQ(I,J,L) p_T => State_Met%T(I,J,L) ! Use a default cloud pH of 5.6, stored in State_Chm%phCloud ! (unless this value is recomputed in sulfate chemistry) p_pHcloud => State_Chm%pHcloud(I,J,L) LIQCOV = p_CLDLIQ / MAX(1.D-4,State_Met%CLDF(I,J,L)) ICECOV = p_CLDICE / MAX(1.D-4,State_Met%CLDF(I,J,L)) ! Compute Ki, the loss rate of a gas-phase species from ! the convective updraft (Eq. 1, Jacob et al, 2000) CALL COMPUTE_Ki( SpcInfo, p_C_H2O, ICECOV, LIQCOV, & p_pHcloud, Kc, p_T, Ki ) ! Free pointers p_C_H2O => NULL() p_CLDICE => NULL() p_CLDLIQ => NULL() p_T => NULL() p_pHcloud => NULL() ! Compute F, the fraction of scavenged H2O2. ! (Eq. 2, Jacob et al, 2000) F(I,J,L) = GET_F( Input_Opt, State_Met, I, J, L, Ki ) ENDDO ENDDO ENDDO #else IF ( SpcInfo%WD_Is_SO2 ) THEN ! Default scheme: Compute fraction of SO2 scavenged CALL F_AEROSOL( KC, KcScale, Input_Opt, State_Grid, State_Met, F ) !-------------------------------------------------------------- ! Coupled full chemistry/aerosol simulation: ! Use the wet scavenging formula of Chin et al [1996], ! such that a soluble fraction of SO2 is limited by the ! availability of H2O2 in the precipitating grid box. ! Scavenge the soluble SO2 at the same rate as the sulfate. ! Update H2O2_sav and SO2_sav for use in RAINOUT, WASHOUT !-------------------------------------------------------------- DO L = 2, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Make sure to deplete H2O2s the same as SO2s. ! (dkh, rjp, bmy, 11/17/05) IF ( SO2s(I,J,L) > TINY_FP ) THEN ! Limit F SO2LOSS = MIN( H2O2s(I,J,L), SO2s(I,J,L) ) F(I,J,L) = F(I,J,L) * SO2LOSS / SO2s(I,J,L) F(I,J,L) = MAX(F(I,J,L), 0e+0_fp) ! Update saved H2O2 concentration H2O2s(I,J,L) = H2O2s(I,J,L) - ( SO2s(I,J,L) * F(I,J,L) ) H2O2s(I,J,L) = MAX( H2O2s(I,J,L), TINY_FP ) ELSE ! Set F = 0 if SO2s < EPSILON (dkh, rjp, bmy, 11/17/05) F(I,J,L) = 0e+0_fp ENDIF ! Update SO2 SO2s(I,J,L) = SO2s(I,J,L) * ( 1e+0_fp - F(I,J,L) ) SO2s(I,J,L) = MAX( SO2s(I,J,L), TINY_FP ) ENDDO ENDDO ENDDO !================================================================= ! For all other species, compute the fraction of species ! scavenged in updrafts. !================================================================= !-------------------------------------------------------------- ! Soluble gas-phase species ! ! NOTE: HNO3 scavenges like an aerosol, although it is ! considered a gas-phase species elsewhere. Compute the ! fraction of HNO3 scavenged out of the column further down ! in the last ELSE block. !-------------------------------------------------------------- ELSE IF ( SpcInfo%Is_Gas .and. ( .not. SpcInfo%WD_Is_HNO3 ) ) THEN ! No scavenging at the surface F(:,:,1) = 0.0_fp ! Start scavenging at level 2 DO L = 2, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Set pointers p_C_H2O => State_Met%C_H2O (I,J,L) p_CLDICE => State_Met%CLDICE(I,J,L) p_CLDLIQ => State_Met%CLDLIQ(I,J,L) p_T => State_Met%T(I,J,L) ! Compute Ki, the loss rate of a gas-phase species from ! the convective updraft (Eq. 1, Jacob et al, 2000) CALL COMPUTE_Ki( SpcInfo, p_C_H2O, p_CLDICE, p_CLDLIQ, & Kc, p_T, Ki ) ! Free pointers p_C_H2O => NULL() p_CLDICE => NULL() p_CLDLIQ => NULL() p_T => NULL() ! Compute F, the fraction of scavenged H2O2. ! (Eq. 2, Jacob et al, 2000) F(I,J,L) = GET_F( Input_Opt, State_Met, I, J, L, Ki ) ENDDO ENDDO ENDDO #endif !----------------------------------------------------------- ! Size-resolved soluble aerosol species ! (Microphysics simulations only) !----------------------------------------------------------- ELSE IF ( SpcInfo%MP_SizeResAer ) THEN #ifdef TOMAS ! Get the fraction of species scavenged in updrafts ! NOTE: The surface layer F(:,:,1) will be returned ! as zero, to shut off scavenging at the surface CALL F_AEROSOL( KC, KcScale, Input_Opt, State_Grid, State_Met, F ) ! Adjust F for size-resolved aerosol (multiply by XFRAC) ! NOTE: Here species units are in kg/kg dry, so State_Met%AD(I,J,L) ! is the unit conversion factor (Bob Yantosca, 10 Apr 2024) DO L = 2, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX CALL GETFRACTION( I, J, L, & N, .FALSE., State_Chm, & State_Grid, State_Met, XFRAC, & SOLFRAC, State_Met%AD(I,J,L) ) F(I,J,L) = XFRAC * F(I,J,L) ENDDO ENDDO ENDDO #endif !----------------------------------------------------------- ! Size-resolved aerosol number ! (Microphysics simulations only) !----------------------------------------------------------- ELSE IF ( SpcInfo%MP_SizeResNum ) THEN #ifdef TOMAS ! Get the fraction of species scavenged in updrafts ! NOTE: The surface layer F(:,:,1) will be returned ! as zero, to shut off scavenging at the surface CALL F_AEROSOL( KC, KcScale, Input_Opt, State_Grid, State_Met, F ) ! Adjust F for size-resolved aerosol number ! (multiply by XFRAC * SOLFRAC) ! NOTE: Here species units are in kg/kg dry, so State_Met%AD(I,J,L) ! is the unit conversion factor (Bob Yantosca, 10 Apr 2024) DO L = 2, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX CALL GETFRACTION( I, J, L, & N, .FALSE., State_Chm, & State_Grid, State_Met, XFRAC, & SOLFRAC, State_Met%AD(I,J,L) ) F(I,J,L) = XFRAC * SOLFRAC * F(I,J,L) ENDDO ENDDO ENDDO #endif !----------------------------------------------------------- ! Soluble aerosol species (non-size-resolved) ! including the special case of HNO3 as well as H2SO4 ! if using TOMAS microphysics !----------------------------------------------------------- ELSE ! Get the fraction of species scavenged in updrafts ! NOTE: The surface layer F(:,:,1) will be returned ! as zero, to shut off scavenging at the surface CALL F_AEROSOL( KC, KcScale, Input_Opt, State_Grid, State_Met, F ) ! Multiply by the aerosol scavenging efficiency ! For most species this is 1.0 ! For SOA species this is usually 0.8 IF ( SpcInfo%WD_AerScavEff > 0.0_fp ) THEN F = F * SpcInfo%WD_AerScavEff ENDIF ENDIF ! Nullify pointers p_C_H2O => NULL() p_CLDICE => NULL() p_CLDLIQ => NULL() p_T => NULL() H2O2s => NULL() SO2s => NULL() SpcInfo => NULL() END SUBROUTINE COMPUTE_F !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: compute_ki ! ! !DESCRIPTION: Subroutine COMPUTE\_Ki computes the loss of species ! by scavenging according to Jacob et al 2000, eq. 1. !\\ !\\ ! !INTERFACE: ! #ifdef LUO_WETDEP SUBROUTINE COMPUTE_Ki( SpcInfo, C_H2O, CLDICE, CLDLIQ, & pHCloud, Kc, T, Ki ) #else SUBROUTINE COMPUTE_Ki( SpcInfo, C_H2O, CLDICE, CLDLIQ, Kc, T, Ki ) #endif ! ! !USES: ! USE Species_Mod, ONLY : Species ! ! !INPUT PARAMETERS: ! TYPE(Species), INTENT(IN) :: SpcInfo ! Species database object REAL(fp), INTENT(IN) :: C_H2O ! Mixing ratio of H2O [v/v] REAL(fp), INTENT(IN) :: CLDICE ! Cloud ice mixing ratio ! [cm3 ice/cm3 air] REAL(fp), INTENT(IN) :: CLDLIQ ! Cloud liquid water mix ratio ! [cm3 H2O/cm3 air] REAL(fp), INTENT(IN) :: Kc ! Rate for conversion of cloud ! condensate -> precip [1/s] REAL(fp), INTENT(IN) :: T ! Temperature [K] #ifdef LUO_WETDEP REAL(fp), INTENT(IN) :: pHCloud ! pH in cloud #endif ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: Ki ! Loss of species from updraft ! (cf Eq. 1, Jacob et al, 2000) ! ! !REMARKS: ! This routine centralizes computations that are used in routines ! COMPUTE_F and RAINOUT. ! ! !REVISION HISTORY: ! 25 Sep 2015 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars REAL(fp) :: L2G, I2G, C_TOT, F_L, F_I REAL(f8) :: K0, CR, pKa #ifdef LUO_WETDEP REAL(f8) :: Hplus, Henry, Ks1, Ks2, T_term #endif !================================================================= ! COMPUTE_Ki begins here! !================================================================= ! Get Henry's law parameters K0 = SpcInfo%Henry_K0 CR = SpcInfo%Henry_CR pKa = SpcInfo%Henry_pKa #ifdef LUO_WETDEP IF ( SpcInfo%WD_is_SO2 ) THEN Hplus = 10.0_f8**( -pHCloud ) T_term = ( 298.15_f8 / T - 1.0_f8 ) Henry = 1.22_f8 * EXP( 10.55_f8 * T_term ) Ks1 = 1.30e-2_f8 * EXP( 6.75_f8 * T_term ) Ks2 = 6.31e-8_f8 * EXP( 5.05_f8 * T_term ) K0 = Henry * ( 1.0_f8 + Ks1/Hplus + Ks1*Ks2/(Hplus*Hplus) ) CR = 0.d0 pKa = -999.0_f8 ENDIF IF ( SpcInfo%ModelId == id_NH3 ) THEN Hplus = 10.0_f8**( -pHCloud ) T_term = ( 1.0_f8 / T ) - INV_T298 Henry = 59.8_f8 * EXP( 4200.0_fp * T_term ) Ks1 = 1.0e-14_f8 * EXP( -6710.0_fp * T_term ) Ks2 = 1.7e-5_f8 * EXP( -4325.0_fp * T_term ) K0 = Henry * ( 1.0_f8 + ( ( Ks2* Hplus ) / Ks1 ) ) CR = 0.0_f8 pKa = -999.0_f8 ENDIF #endif IF ( SpcInfo%WD_LiqAndGas ) THEN ! For species that consider ice and liquid phases ! in wet deposition, compute ice to gas ratio for by ! co-condensation (Eq. 9, Jacob et al, 2000) IF ( C_H2O > 0.0_fp ) THEN I2G = ( CLDICE / C_H2O ) * SpcInfo%WD_ConvFacI2G ELSE I2G = 0.0_fp ENDIF ELSE ! For all other species, set the ice/gas ratio to zero I2G = 0.0_fp ENDIF ! Compute liquid to gas ratio for using ! the appropriate parameters for Henry's law ! (Eqs. 7, 8, and Table 1, Jacob et al, 2000) #ifdef LUO_WETDEP CALL COMPUTE_L2G( K0, CR, pKa, T, CLDLIQ, pHCloud, L2G ) ! pH in Cloud #else CALL COMPUTE_L2G( K0, CR, pKa, T, CLDLIQ, 4.5_f8, L2G ) ! Default pH #endif ! Fraction of species in liquid & ice phases ! (Eqs. 4, 5, 6, Jacob et al, 2000) C_TOT = 1.0_fp + L2G + I2G F_L = L2G / C_TOT F_I = I2G / C_TOT ! Compute the rate constant Ki for loss of species from ! convective updraft scavenging (Eq. 1, Jacob et al, 2000) IF ( T >= 268.0_fp ) THEN Ki = KC * ( F_L + F_I ) ELSE IF ( T > 248.0_fp .and. T < 268.0_fp ) THEN Ki = KC * ( ( SpcInfo%WD_RetFactor * F_L ) + F_I ) ELSE Ki = KC * F_I ENDIF END SUBROUTINE COMPUTE_Ki !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: f_aerosol ! ! !DESCRIPTION: Subroutine F\_AEROSOL returns the fraction of aerosol ! scavenged in updrafts !\\ !\\ ! !INTERFACE: ! SUBROUTINE F_AEROSOL( KC, KcScale, Input_Opt, State_Grid, State_Met, F ) ! ! !USES: ! USE Input_Opt_Mod, ONLY: OptInput USE State_Grid_Mod, ONLY: GrdState USE State_Met_Mod, ONLY: MetState ! ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: KC ! Cloud condensate to ! precipitation rate ! [1/s] REAL(fp), INTENT(IN) :: KcScale(3) ! Scale factors for Kc ! for 3 temperature ! regimes TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State Object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State ! ! !OUTPUT PARAMETERS: ! ! Fraction of aerosol scavenged in convective updrafts REAL(fp), INTENT(OUT) :: F(State_Grid%NX,State_Grid%NY,State_Grid%NZ) ! ! !REVISION HISTORY: ! 07 Nov 2002 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I, J, L REAL(fp) :: TMP, FF, Scaled_KC !================================================================= ! F_AEROSOL begins here! ! ! Aerosol species are 100% in the cloud condensate phase, so ! we set K = Kc, and compute F accordingly (cf Jacob et al 2000 ) !================================================================= ! Turn off scavenging in the first level by setting F = 0 F(:,:,1) = 0.0_fp ! Apply scavenging in levels 2 and higher DO L = 2, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Apply temperature-dependent scale factors to the KC rate for .. IF ( State_Met%T(I,J,L) < 237.0_fp ) THEN ! Ice: T < 237 K: Scaled_KC = KC * KcScale(1) ELSE IF ( State_Met%T(I,J,L) >= 237.0_fp .and. & State_Met%T(I,J,L) < 258.0_fp ) THEN ! Snow: 237 K <= T < 258 K Scaled_KC = KC * KcScale(2) ELSE ! Rain: T > 258 K Scaled_KC = KC * KcScale(3) ENDIF ! (Eq. 2, Jacob et al, 2000, with K = Kc) ! Kc now has been scaled for impaction scavenging (bmy, 9/24/15) F(I,J,L) = GET_F( Input_Opt, State_Met, I, J, L, Scaled_KC ) ENDDO ENDDO ENDDO END SUBROUTINE F_AEROSOL !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: rainout ! ! !DESCRIPTION: Subroutine RAINOUT computes RAINFRAC, the fraction of soluble ! species lost to rainout events in precipitation. !\\ !\\ ! !INTERFACE: ! SUBROUTINE RAINOUT( I, J, L, N, & K_RAIN, DT, F, RAINFRAC, & Input_Opt, State_Met, State_Chm, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : Species USE State_Chm_Mod, ONLY : ChmState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I ! Longitude index INTEGER, INTENT(IN) :: J ! Latitude index INTEGER, INTENT(IN) :: L ! Level index INTEGER, INTENT(IN) :: N ! Species number REAL(fp), INTENT(IN) :: K_RAIN ! Rainout rate constant [1/s] REAL(fp), INTENT(IN) :: DT ! Timestep for rainout event [s] REAL(fp), INTENT(IN) :: F ! Fraction of grid box that is ! precipitating [unitless] TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input options TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: RAINFRAC ! Fraction of species lost ! to rainout [unitless] INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 28 Feb 2000 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars REAL(fp) :: Ki, SO2LOSS #ifdef LUO_WETDEP REAL(fp) :: LIQCLD, ICECLD REAL(fp) :: YCLDICE, FICE, FC, RAINRATE #endif ! Pointers REAL(fp), POINTER :: p_C_H2O REAL(fp), POINTER :: p_CLDICE REAL(fp), POINTER :: p_CLDLIQ REAL(fp), POINTER :: p_T #ifdef LUO_WETDEP REAL(fp), POINTER :: p_pHCloud #endif REAL(fp), POINTER :: H2O2s(:,:,:) REAL(fp), POINTER :: SO2s(:,:,:) ! Objects TYPE(Species), POINTER :: SpcInfo !================================================================== ! RAINOUT begins here! ! ! For aerosols, set Kc = K_RAIN and compute RAINFRAC according ! to Eq. 10 of Jacob et al 2000. Call function GET_RAINFRAC. !================================================================== ! Initialize RC = GC_SUCCESS ! Set pointers p_C_H2O => State_Met%C_H2O(I,J,L) p_CLDICE => State_Met%CLDICE(I,J,L) p_CLDLIQ => State_Met%CLDLIQ(I,J,L) p_T => State_Met%T(I,J,L) H2O2s => State_Chm%H2O2AfterChem SO2s => State_Chm%SO2AfterChem SpcInfo => State_Chm%SpcData(N)%Info #ifdef LUO_WETDEP ! Set pointer p_pHCloud => State_Chm%pHCloud(I,J,L) !================================================================= ! %%% SPECIAL CASE %%% !================================================================= ! Compute rainout fraction for soluble gas-phase species ! (except for HNO3 and H2SO4 which scavenge like aerosols) !================================================================= IF ( SpcInfo%Is_Gas .and. & ( .not. SpcInfo%WD_Is_HNO3 ) .and. & ( .not. SpcInfo%WD_Is_H2SO4 ) ) THEN LIQCLD = p_CLDLIQ / MAX(1.D-4,State_Met%CLDF(I,J,L)) ICECLD = p_CLDICE / MAX(1.D-4,State_Met%CLDF(I,J,L)) ! Compute Ki, the loss rate of a gas-phase species from ! the convective updraft (Eq. 1, Jacob et al, 2000) CALL COMPUTE_Ki( SpcInfo, p_C_H2O, ICECLD, LIQCLD, & p_pHCloud, K_RAIN, p_T, Ki ) ! Compute RAINFRAC, the fraction of rained-out H2O2 ! (Eq. 10, Jacob et al, 2000) RAINFRAC = GET_RAINFRAC( Ki, F, DT ) !================================================================= ! Compute rainout fraction for aerosol species ! (including HNO3 and H2SO4 which scavenge like aerosols) !================================================================= ELSE ! Compute rainout fraction for aerosol tracres RAINFRAC = GET_RAINFRAC( K_RAIN, F, DT ) IF(SpcInfo%WD_Is_HNO3)THEN IF(p_T<237.D0)THEN IF(p_T>185.D0)THEN RAINFRAC = (MAX(0.d0,State_Met%QI(I,J,L))+& MAX(0.d0,State_Met%QL(I,J,L)))*& State_Met%AIRDEN(I,J,L)*1.D-3*& (SpcInfo%MW_g/18.D0)/& MAX(1.D-4,State_Met%CLDF(I,J,L))*& (10.D0**(-26.4641D0*& (1.00155D0**p_T)+30.6534D0)) RAINFRAC = RAINFRAC/& MAX(1.D-30,(State_Chm%Species(N)%Conc(I,J,L)*& 28.9644d0/SpcInfo%MW_g/& (State_Met%AIRDEN(I,J,L)*& State_Met%BXHEIGHT(I,J,L)))) RAINFRAC = MAX(0.D0,MIN(1.D0,RAINFRAC)) ELSE CALL APPLY_RAINOUT_EFF( p_T, SpcInfo, RAINFRAC ) ENDIF ELSE CALL APPLY_RAINOUT_EFF( p_T, SpcInfo, RAINFRAC ) ENDIF ELSE CALL APPLY_RAINOUT_EFF( p_T, SpcInfo, RAINFRAC ) IF(p_T<237.D0)THEN IF(State_Chm%Species(N)%Conc(I,J,L)>1.D-20)THEN RAINFRAC = RAINFRAC*MAX(0.D0,& MIN( (0.06*MAX(0.d0,MIN(1.d0,((237.d0-p_T)/27.d0)))*& (State_Met%QI(I,J,L)+State_Met%QL(I,J,L))*& State_Met%AIRDEN(I,J,L)/& MAX(1.D-4,State_Met%CLDF(I,J,L))*& State_Met%BXHEIGHT(I,J,L)& *SpcInfo%MW_g/18.d0),& State_Chm%Species(N)%Conc(I,J,L) )/& State_Chm%Species(N)%Conc(I,J,L)) ENDIF ENDIF ENDIF ENDIF #ifdef LUO_WETDEP IF(p_T<237.D0 .AND. State_Met%CLDF(I,J,L)>1.D-6)THEN YCLDICE = State_Met%QI(I,J,L)*State_Met%AIRDEN(I,J,L)*1.0D3 IF(YCLDICE>1.D-20)THEN FICE=State_Met%CLDF(I,J,L)*YCLDICE/& (YCLDICE+State_Met%QL(I,J,L)*State_Met%AIRDEN(I,J,L)*1.0D3) IF(FICE>1.D-6)THEN IF(SpcInfo%WD_RainoutEff(3)>0.6D0)THEN RAINFRAC = RAINFRAC*(1.D0-EXP(-MIN(100.D0,DT*State_Met%TKICE(I,J,L)))) ENDIF ENDIF ENDIF ENDIF FC=MAX(1.D-4,State_Met%CLDF(I,J,L)) IF(RAINFRAC>0.D0)THEN RAINRATE = RAINFRAC/DT/FC RAINFRAC = RAINFRAC*(State_Met%KINC(I,J,L)/ & (State_Met%KINC(I,J,L)+ & (1.D0-FC)*RAINRATE)) ENDIF #endif ! Free pointer p_pHCloud => NULL() #else !================================================================= ! %%% SPECIAL CASE %%% ! SO2 scavenges like an aerosol although it is considered ! to be a gas-phase species elsewhere (e.g. dry deposition) !================================================================= IF ( SpcInfo%WD_Is_SO2 ) THEN ! Update SO2 and H2O2 IF ( SO2s(I,J,L) > TINY_FP ) THEN ! Default scheme: Treat SO2 as an aerosol ! Then apply temperature-dependent rainout efficiencies ! This accounts for impaction scavenging of certain aerosols RAINFRAC = GET_RAINFRAC( K_RAIN, F, DT ) CALL APPLY_RAINOUT_EFF( p_T, SpcInfo, RAINFRAC ) ! Limit RAINFRAC SO2LOSS = MIN( SO2s(I,J,L), H2O2s(I,J,L) ) RAINFRAC = SO2LOSS * RAINFRAC / SO2s(I,J,L) RAINFRAC = MAX( RAINFRAC, 0e+0_fp ) ! Update saved H2O2 concentration H2O2s(I,J,L) = H2O2s(I,J,L) - ( SO2s(I,J,L) * RAINFRAC ) H2O2s(I,J,L) = MAX( H2O2s(I,J,L), TINY_FP ) ELSE ! If SO2s is not defined (i.e. if wetdep and convection ! are turned off), then set RAINFRAC = 0.0_fp ENDIF ! Update saved SO2 concentration SO2s(I,J,L) = SO2s(I,J,L) * ( 1.0_fp - RAINFRAC ) SO2s(I,J,L) = MAX( SO2s(I,J,L), TINY_FP ) !================================================================= ! Compute rainout fraction for soluble gas-phase species ! (except for HNO3 and H2SO4 which scavenge like aerosols) !================================================================= ELSE IF ( SpcInfo%Is_Gas .and. & ( .not. SpcInfo%WD_Is_HNO3 ) .and. & ( .not. SpcInfo%WD_Is_H2SO4 ) ) THEN ! Compute Ki, the loss rate of a gas-phase species from ! the convective updraft (Eq. 1, Jacob et al, 2000) CALL COMPUTE_Ki( SpcInfo, p_C_H2O, p_CLDICE, & p_CLDLIQ, K_RAIN, p_T, Ki ) ! Compute RAINFRAC, the fraction of rained-out H2O2 ! (Eq. 10, Jacob et al, 2000) RAINFRAC = GET_RAINFRAC( Ki, F, DT ) !================================================================= ! Compute rainout fraction for aerosol species ! (including HNO3 and H2SO4 which scavenge like aerosols) !================================================================= ELSE ! Compute rainout fraction for aerosol tracres RAINFRAC = GET_RAINFRAC( K_RAIN, F, DT ) ! Apply temperature-dependent rainout efficiencies ! This accounts for impaction scavenging of certain aerosols CALL APPLY_RAINOUT_EFF( p_T, SpcInfo, RAINFRAC ) ENDIF #endif ! Free pointers p_C_H2O => NULL() p_CLDICE => NULL() p_CLDLIQ => NULL() p_T => NULL() H2O2s => NULL() SO2s => NULL() SpcInfo => NULL() END SUBROUTINE RAINOUT !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: apply_rainout_eff ! ! !DESCRIPTION: Subroutine APPLY\_RAINOUT\_EFF multiplies the rainout fraction ! computed by RAINOUT with the rainout efficiency for one of 3 temperature ! ranges: (1) T < 237 K; (2) 237 K <= T < 258 K; (3) T > 258 K. The rainout ! efficiencies for each aerosol species are defined in the species database ! object (i.e. State\_Chm%SpcData(:)%Info). !\\ !\\ ! This allows us to apply the impaction scavenging of certain aerosol species ! (BC, dust, HNO3) as implemented by Qiaoqiao Wang, while also suppressing ! rainout for other aerosol species. The prior code achieved this by using ! a large and confusing IF statement, whose logic was hard to understand. !\\ !\\ ! !INTERFACE: ! SUBROUTINE APPLY_RAINOUT_EFF( TK, SpcInfo, RainFrac ) ! ! !USES: ! USE Species_Mod, ONLY : Species ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: TK ! Temperature [K] TYPE(Species), INTENT(IN) :: SpcInfo ! Species Database object ! ! !INPUT/OUTPUT PARAMETERS: ! REAL(fp), INTENT(INOUT) :: RainFrac ! Rainout fraction ! ! !REVISION HISTORY: ! 06 Jan 2015 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Apply temperature-dependent rainout efficiencies ! This accounts for impaction scavenging of certain aerosols IF ( TK < 237.0_fp ) THEN ! Ice: T < 237 K RainFrac = RainFrac * SpcInfo%WD_RainoutEff(1) ELSE IF ( TK >= 237.0_fp .and. TK < 258.0_fp ) THEN #ifdef LUO_WETDEP IF ( SpcInfo%WD_RainoutEff(2) > 0.0_fp ) THEN RainFrac = & RainFrac * & SpcInfo%WD_RainoutEff(1) * & ( EXP( 0.46_fp * ( 273.16_fp - TK ) - 11.6_fp ) / 153.5_fp ) ELSE RainFrac = RainFrac * SpcInfo%WD_RainoutEff(2) ENDIF #else ! Snow: 237 K <= T < 258 K RainFrac = RainFrac * SpcInfo%WD_RainoutEff(2) #endif ELSE ! Liquid rain: T > 258 K RainFrac = RainFrac * SpcInfo%WD_RainoutEff(3) ENDIF END SUBROUTINE APPLY_RAINOUT_EFF !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: get_rainfrac ! ! !DESCRIPTION: Function GET\_RAINFRAC computes the fraction of species ! lost to rainout according to Jacob et al 2000. !\\ !\\ ! !INTERFACE: ! FUNCTION GET_RAINFRAC( K, F, DT ) RESULT( RAINFRAC ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: K ! Rainout rate constant [1/s] REAL(fp), INTENT(IN) :: F ! Timestep for rainout event [s] REAL(fp), INTENT(IN) :: DT ! Fraction of grid box that is ! undergoing precipitation [unitless] ! ! !RETURN VALUE: ! REAL(fp) :: RAINFRAC ! Fraction of species lost to rainout ! ! !REVISION HISTORY: ! 08 Nov 2002 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC !================================================================= ! GET_RAINFRAC begins here! !================================================================= ! (Eq. 10, Jacob et al, 2000 ) RAINFRAC = F * ( 1 - EXP( -K * DT ) ) END FUNCTION GET_RAINFRAC !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: washout ! ! !DESCRIPTION: Subroutine WASHOUT computes WASHFRAC, the fraction of ! soluble species lost to washout events in precipitation. !\\ !\\ ! !INTERFACE: ! SUBROUTINE WASHOUT( I, J, L, N, & BXHEIGHT, TK, PP, DT, & F, H2O2s, SO2s, WASHFRAC, & KIN, Input_Opt, State_Chm, State_Grid, & State_Met, & #ifdef LUO_WETDEP pHRain, & #endif #ifdef TOMAS fromWetDep, & #endif RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : Species USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState #ifdef APM USE APM_INIT_MOD, ONLY : APMIDS USE APM_INIT_MOD, ONLY : RDRY, RSALT, RDST, DENDST USE APM_DRIV_MOD, ONLY : GFTOT3D, DENWET3D, MWSIZE3D #endif #ifdef TOMAS USE ERROR_MOD USE UnitConv_Mod #endif ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I ! Longitude index INTEGER, INTENT(IN) :: J ! Latitude index INTEGER, INTENT(IN) :: L ! Level index INTEGER, INTENT(IN) :: N ! Species number (modelId) REAL(fp), INTENT(IN) :: BXHEIGHT ! Grid box height [m] REAL(fp), INTENT(IN) :: TK ! Temperature [K] REAL(fp), INTENT(IN) :: PP ! Precip rate thru bottom ! of grid (I,J,L) ! [cm3 H2O/cm2 air/s] REAL(fp), INTENT(IN) :: DT ! Timestep [s] REAL(fp), INTENT(IN) :: F ! Fraction of grid box that ! is precipitating [1] TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State #ifdef LUO_WETDEP REAL(fp), INTENT(IN) :: pHRain #endif #ifdef TOMAS LOGICAL, INTENT(IN) :: fromWetDep ! Called from wetdep (T/F)? #endif ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object REAL(fp), INTENT(INOUT) :: H2O2s ! H2O2 [v/v] and SO2 [v/v] REAL(fp), INTENT(INOUT) :: SO2s ! conc's after aqueous rxns ! are applied. These are ! computed in the sulfate ! chemistry module and ! passed here as arguments. ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: WASHFRAC ! Fraction of species lost ! to washout [1] LOGICAL, INTENT(OUT) :: KIN ! =T washout is a ! kinetic process ! =F washout is an ! equilibrium process INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 28 Feb 2000 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars REAL(fp) :: L2G, DZ, SO2LOSS REAL(f8) :: K0, CR, pKa #ifdef APM REAL(fp) :: RIN #endif #ifdef LUO_WETDEP REAL(f8) :: Hplus, HCSO2, HCNH3, Ks1, Ks2, T_Term REAL(fp) :: WASHRATE #endif ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc ! Pointers TYPE(Species), POINTER :: SpcInfo !================================================================= ! WASHOUT begins here! ! ! Call either WASHFRAC_FINE_AEROSOL, WASHFRAC_COARSE_AEROSOL, ! or WASHFRAC_LIQ_GAS to compute the fraction of species lost to ! washout according to Jacob et al 2000 !================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Washout (in module GeosCore/wetscav_mod.F90)' ! DZ is the height of the grid box in cm DZ = BXHEIGHT * 1e+2_fp ! Get info about Nth species from the species database SpcInfo => State_Chm%SpcData(N)%Info #ifdef TOMAS !------------------------------------------------------------------------ ! TOMAS MICROPHYSICS ONLY: ! If called from wetdep, convert kg/m2 -> kg ! If called fron convection, convert kg/kg dry -> kg !------------------------------------------------------------------------ IF ( fromWetDep ) THEN CALL ConvertBox_Kgm2_to_Kg( I, J, L, State_Chm, State_Grid, .FALSE. ) ELSE CALL ConvertBox_KgKgDry_to_Kg( I, J, L, State_Met, State_Chm, .FALSE. ) ENDIF #endif #ifdef LUO_WETDEP !================================================================= ! %%% LUO WETDEP ONLY %%% ! %%% SPECIAL CASE %%% ! HNO3 scavenges like an aerosol although it is considered ! to be a gas-phase species elsewhere (e.g. dry deposition) !================================================================= ! Initialize Hplus = 0.0_f8 HCSO2 = 0.0_f8 HCNH3 = 0.0_f8 Ks1 = 0.0_f8 Ks2 = 0.0_f8 T_Term = 0.0_f8 IF ( SpcInfo%WD_Is_HNO3 ) THEN ! Washout is a kinetic process KIN = .TRUE. ! Get washout fraction WASHFRAC = WASHFRAC_HNO3LUO( DT, F, PP, TK ) !================================================================= ! %%% LUO WETDEP ONLY %%% ! %%% SPECIAL CASE %%% ! SO2 scavenges like an aerosol although it is considered ! to be a gas-phase species elsewhere (e.g. dry deposition) !================================================================= ELSE IF ( SpcInfo%WD_Is_SO2 ) THEN Hplus = 10.0**(-pHRain) ! Henry's constant [mol/l-atm] and Effective Henry's constant for SO2 HCSO2 = 1.22e+0_fp * EXP( 10.55e+0_fp& * ( 298.15e+0_fp / TK - 1.e+0_fp) ) Ks1 = 1.30e-2_fp * EXP( 6.75e+0_fp& * ( 298.15e+0_fp / TK - 1.e+0_fp ) ) Ks2 = 6.31e-8_fp * EXP( 5.05e+0_fp& * ( 298.15e+0_fp / TK - 1.e+0_fp ) ) K0 = HCSO2*& (1.e+0_fp + Ks1/Hplus + Ks1*Ks2/(Hplus*Hplus)) CR = 0.d0 pKa = -999.d0 ! Get the washout fraction for this species CALL WASHFRAC_LIQ_GAS( K0, CR, pKa, PP, pHRain, DT, & F, DZ, TK, WASHFRAC, KIN ) #else !================================================================= ! %%% DEFAULT WETDEP SCHEME %%% ! %%% SPECIAL CASE %%% ! HNO3 scavenges like an aerosol although it is considered ! to be a gas-phase species elsewhere (e.g. dry deposition) !================================================================= IF ( SpcInfo%WD_Is_HNO3 ) THEN ! Washout is a kinetic process KIN = .TRUE. ! Get washout fraction WASHFRAC = WASHFRAC_HNO3( DT, F, PP, TK ) !================================================================= ! %%% DEFAULT WETDEP SCHEME %%% ! %%% SPECIAL CASE %%% ! SO2 scavenges like an aerosol although it is considered ! to be a gas-phase species elsewhere (e.g. dry deposition) !================================================================= ELSE IF ( SpcInfo%WD_Is_SO2 ) THEN ! NOTE: Even though SO2 is not an aerosol we treat it as SO4 in ! wet scavenging. When evaporation occurs, it returns to SO4. KIN = .TRUE. WASHFRAC = WASHFRAC_FINE_AEROSOL( DT, F, PP, TK ) ! Use the wet-scavenging following [Chin et al, 1996] such ! that a soluble fraction of SO2 is limited by the availability ! of H2O2 in the precipitating grid box. Then scavenge the ! soluble SO2 at the same rate as sulfate. IF ( TK >= 268e+0_fp .AND. SO2s > TINY_FP ) THEN ! Adjust WASHFRAC SO2LOSS = MIN( SO2s, H2O2s ) WASHFRAC = SO2LOSS * WASHFRAC / SO2s WASHFRAC = MAX( WASHFRAC, 0e+0_fp ) ! Deplete H2O2s the same as SO2s (dkh, rjp, bmy, 11/17/05) H2O2s = H2O2s - ( SO2s * WASHFRAC ) H2O2s = MAX( H2O2s, TINY_FP ) ELSE WASHFRAC = 0e+0_fp ENDIF #endif ! Update saved SO2 concentration SO2s = SO2s * ( 1e+0_fp - WASHFRAC ) SO2s = MAX( SO2s, TINY_FP ) !================================================================= ! All other species !================================================================= !----------------------------------------------------------------- ! Washout for gas-phase species ! (except H2SO4, NO3, and SO2, which scavenge like aerosols; ! NO3 and SO2 are handled above and H2SO4 is handled in TOMAS ! block further below) !----------------------------------------------------------------- ELSE IF ( SpcInfo%Is_Gas .and. ( .not. SpcInfo%WD_Is_H2SO4 ) ) THEN ! Get Henry's law parameters K0 = SpcInfo%Henry_K0 CR = SpcInfo%Henry_CR pKa = SpcInfo%Henry_pKa ! Washout is an equilibrium process KIN = .FALSE. #ifdef LUO_WETDEP IF ( SpcInfo%ModelID == id_NH3 ) THEN ! NOTE: This should end in _f8 Hplus = 10.0**( -pHRain ) T_term = ( 1.0_f8 / TK ) - INV_T298 HCNH3 = 59.8_fp * EXP( 4200.0_f8 * T_term ) Ks1 = 1.0e-14_fp * EXP( -6710.0_f8 * T_term ) Ks2 = 1.7e-5_fp * EXP( -4325.0_fp * T_term ) K0 = HCNH3 * ( 1.0_f8 + ( ( Ks2 * Hplus) / Ks1 ) ) CR = 0.0_f8 pKa = -999.0_f8 ENDIF CALL WASHFRAC_LIQ_GAS( K0, CR, pKa, PP, pHRain, DT, & F, DZ, TK, WASHFRAC, KIN ) #else ! Get the washout fraction for this species CALL WASHFRAC_LIQ_GAS( K0, CR, pKa, PP, DT, & F, DZ, TK, WASHFRAC, KIN ) #endif !----------------------------------------------------------------- ! Washout for size-resolved aerosol species or ! size-resolved aerosol number (e.g. from TOMAS) ! NOTE: treat H2SO4 as an aerosol for wetdep in TOMAS !----------------------------------------------------------------- ELSE IF ( SpcInfo%MP_SizeResAer .or. SpcInfo%MP_SizeResNum ) THEN #ifdef APM ! Washout is a kinetic process KIN = .TRUE. RIN = 0.0_fp IF(SpcInfo%Name(1:8)=='APMSPBIN')THEN RIN = RDRY(N-APMIDS%id_SO4BIN1+1) * GFTOT3D(I,J,L,1) ENDIF IF(SpcInfo%Name(1:9)=='APMSEABIN')THEN RIN = RSALT(N-APMIDS%id_SEABIN1+1) * GFTOT3D(I,J,L,2) ENDIF IF(SpcInfo%Name(1:9)=='APMDSTBIN')THEN RIN = RDST(N-APMIDS%id_DSTBIN1+1) ENDIF IF(SpcInfo%Name(1:8)=='APMLVSOA')THEN RIN = MWSIZE3D(I,J,1,1) ENDIF IF(SpcInfo%Name(1:8)=='APMCTSEA')THEN RIN = MWSIZE3D(I,J,1,2) ENDIF IF(SpcInfo%Name(1:8)=='APMCTDST')THEN RIN = MWSIZE3D(I,J,1,3) ENDIF CALL WASHFRAC_APMSIZE_AEROSOL(RIN, DT, F, PP, TK, WASHFRAC) #endif #ifdef TOMAS ! Washout is a kinetic process KIN = .TRUE. ! Compute washout fraction CALL WASHFRAC_SIZE_AEROSOL( DT, F, PP, TK, N, I, J, L, & State_Met, State_Chm, WASHFRAC, RC ) #endif !----------------------------------------------------------------- ! Washout for dust species (D. Zhang, 28 Jun 2024) !----------------------------------------------------------------- ELSEIF (SpcInfo%WD_Is_DSTbin) THEN ! Washout is a kinetic process KIN = .TRUE. ! Compute washout fraction WASHFRAC = WASHFRAC_DUSTBIN( SpcInfo%WD_WashoutRainPara(1), SpcInfo%WD_WashoutRainPara(2), & SpcInfo%WD_WashoutSnowPara(1), SpcInfo%WD_WashoutSnowPara(2), & DT, F, PP, TK) !----------------------------------------------------------------- ! Washout for coarse aerosol species (Reff >= 1um) !----------------------------------------------------------------- ELSE IF ( ( .not. SpcInfo%WD_Is_DSTbin ) .and. SpcInfo%WD_CoarseAer ) THEN ! Washout is a kinetic process KIN = .TRUE. ! Compute washout fraction #ifdef LUO_WETDEP WASHFRAC = WASHFRAC_COARSE_AEROSOLLUO( DT, F, PP, TK) #else WASHFRAC = WASHFRAC_COARSE_AEROSOL( DT, F, PP, TK) #endif !----------------------------------------------------------------- ! Washout for fine-aerosol species (Reff < 1um) !----------------------------------------------------------------- ELSE ! Washout is a kinetic process KIN = .TRUE. ! Compute washout fraction #ifdef LUO_WETDEP IF(TK>258.D0)THEN ! Luo et al scheme: Compute washout fraction. If the efficiency ! for T > 258 K is less than .999, treat it as hydrophobic aerosol IF ( SpcInfo%WD_RainoutEff(3) < 0.999_fp ) THEN WASHFRAC = WASHFRAC_FINE_AEROSOLLUOPO( DT, F, PP, TK ) ELSE WASHFRAC = WASHFRAC_FINE_AEROSOLLUOPI( DT, F, PP, TK ) ENDIF ELSE WASHFRAC = WASHFRAC_FINE_AEROSOLLUOPO( DT, F, PP, TK ) ENDIF #else ! Default scheme: Compute washout fraction, but always ! assume that it is for fine aerosol. WASHFRAC = WASHFRAC_FINE_AEROSOL( DT, F, PP, TK ) #endif ENDIF #ifdef LUO_WETDEP ! NOTE: Even though SO2 is not an aerosol we treat it as SO4 in ! wet scavenging. When evaporation occurs, it returns to SO4. IF(SpcInfo%WD_Is_SO2)THEN IF(.not.KIN)THEN KIN = .TRUE. WASHFRAC = F*WASHFRAC ENDIF ENDIF IF(WASHFRAC>0.D0)THEN IF(KIN)THEN WASHRATE = WASHFRAC/DT/F WASHFRAC = WASHFRAC*(State_Met%KINC(I,J,L)/ & (State_Met%KINC(I,J,L)+ & (1.D0-F)*WASHRATE)) ELSE WASHRATE = WASHFRAC/DT WASHFRAC = WASHFRAC*(State_Met%KINC(I,J,L)/ & (State_Met%KINC(I,J,L)+ & (1.D0-F)*WASHRATE)) ENDIF ENDIF #endif #ifdef TOMAS !------------------------------------------------------------------------ ! TOMAS MICROPHYSICS ONLY: ! If called from wetdep, convert kg -> kg/m2 ! If called fron convection, convert kg -> kg/kg dry !------------------------------------------------------------------------ IF ( fromWetDep ) THEN CALL ConvertBox_Kg_to_Kgm2( I, J, L, State_Chm, State_Grid, .FALSE. ) ELSE CALL ConvertBox_Kg_to_KgKgDry( I, J, L, State_Met, State_Chm, .FALSE. ) ENDIF #endif ! Free pointer SpcInfo => NULL() END SUBROUTINE WASHOUT !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: washfrac_fine_aerosolluopo ! ! !DESCRIPTION: Function WASHFRAC\_FINE\_AEROSOLLUOPO returns the fraction of ! hydrophobic aerosol species lost to washout. !\\ !\\ ! !INTERFACE: ! FUNCTION WASHFRAC_FINE_AEROSOLLUOPO( DT, F, PP, TK ) & RESULT( WASHFRAC ) ! ! !USES: ! ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: DT ! Timestep of washout event [s] REAL(fp), INTENT(IN) :: F ! Fraction of grid box that is ! precipitating [unitless] REAL(fp), INTENT(IN) :: PP ! Precip rate thru bottom of grid ! box (I,J,L) [cm3 H2O/cm2 air/s] REAL(fp), INTENT(IN) :: TK ! Temperature in grid box [K] ! ! !RETURN VALUE: ! REAL(fp) :: WASHFRAC ! Fraction of soluble species ! lost to washout [1] ! ! !REVISION HISTORY: ! 08 Nov 2002 - R. Yantosca - Initial version ! (1 ) WASHFRAC_AEROSOL used to be an internal function to subroutine WASHOUT. ! This caused NaN's in the parallel loop on Altix, so we moved it to ! the module and now pass Iall arguments explicitly (bmy, 7/20/04) ! 16 Sep 2010 - R. Yantosca - Added ProTeX headers ! 21 Jan 2011 - J. Fisher & Q. Wang - Update to account for time-dependent ! shift in aerosol size distribution that slows washout as a rain ! event proceeds (see e.g. Feng et al., 2007, 2009). ! 16 Aug 2011 - H Amos - Remove K_WASH from input list, make a defined ! parameter. ! 20 Jan 2012 - H Amos - rename WASHFRAC_FINE_AEROSOL to distinguish ! this function from WASHFRAC_COARSE_AEROSOL ! 04 Sep 2013 - R. Yantosca - Bug fix: Prevent div-by-zero if F=0. Because F ! multiplies the whole expression for WASHFRAC, ! WASHFRAC=0 whenever F=0 anyway. !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETER: ! ! Washout rate constant for aerosols: aP^b (p: mm h^-1) ! K_WASH for aerosols in accumulation mode (qq,10/11/2011) REAL(fp), PARAMETER :: K_WASH = 1.06e-3_fp !================================================================= ! WASHFRAC_FINE_AEROSOL begins here! !================================================================= IF ( ( TK >= 268e+0_fp ) .OR. ITS_A_POPS_SIM ) THEN !--------------------------------- ! T >= 268K (or POPS simulation) !--------------------------------- IF ( F > 0e+0_fp ) THEN WASHFRAC = F *(1e+0_fp - EXP( -5.0D-7 * & (PP / F*3.6e+4_fp )**0.7e+0_fp * DT )) ELSE WASHFRAC = 0e+0_fp ENDIF ELSE !--------------------------------- ! T < 268K !--------------------------------- IF ( F > 0e+0_fp ) THEN IF ( TK >= 248e+0_fp ) THEN WASHFRAC = F *(1e+0_fp - EXP( -1.0D-5 * & (PP / F*3.6e+4_fp )**0.66e+0_fp * DT )) ELSE WASHFRAC = F *(1e+0_fp - EXP( -1.0D-5/5.d0 * & (PP / F*3.6e+4_fp )**0.66e+0_fp * DT )) ENDIF ELSE WASHFRAC = 0e+0_fp ENDIF ENDIF END FUNCTION WASHFRAC_FINE_AEROSOLLUOPO !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: washfrac_fine_aerosolluopi ! ! !DESCRIPTION: Function WASHFRAC\_FINE\_AEROSOLLUOPI returns the fraction of ! soluble aerosol species lost to washout. !\\ !\\ ! !INTERFACE: ! FUNCTION WASHFRAC_FINE_AEROSOLLUOPI( DT, F, PP, TK ) & RESULT( WASHFRAC ) ! ! !USES: ! ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: DT ! Timestep of washout event [s] REAL(fp), INTENT(IN) :: F ! Fraction of grid box that is ! precipitating [unitless] REAL(fp), INTENT(IN) :: PP ! Precip rate thru bottom of grid ! box (I,J,L) [cm3 H2O/cm2 air/s] REAL(fp), INTENT(IN) :: TK ! Temperature in grid box [K] ! ! !RETURN VALUE: ! REAL(fp) :: WASHFRAC ! Fraction of soluble species ! lost to washout [1] ! ! !REVISION HISTORY: ! 08 Nov 2002 - R. Yantosca - Initial version ! (1 ) WASHFRAC_AEROSOL used to be an internal function to subroutine WASHOUT. ! This caused NaN's in the parallel loop on Altix, so we moved it to ! the module and now pass Iall arguments explicitly (bmy, 7/20/04) ! 16 Sep 2010 - R. Yantosca - Added ProTeX headers ! 21 Jan 2011 - J. Fisher & Q. Wang - Update to account for time-dependent ! shift in aerosol size distribution that slows washout as a rain ! event proceeds (see e.g. Feng et al., 2007, 2009). ! 16 Aug 2011 - H Amos - Remove K_WASH from input list, make a defined ! parameter. ! 20 Jan 2012 - H Amos - rename WASHFRAC_FINE_AEROSOL to distinguish ! this function from WASHFRAC_COARSE_AEROSOL ! 04 Sep 2013 - R. Yantosca - Bug fix: Prevent div-by-zero if F=0. Because F ! multiplies the whole expression for WASHFRAC, ! WASHFRAC=0 whenever F=0 anyway. !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETER: ! ! Washout rate constant for aerosols: aP^b (p: mm h^-1) ! K_WASH for aerosols in accumulation mode (qq,10/11/2011) REAL(fp), PARAMETER :: K_WASH = 1.06e-3_fp REAL(fp) :: RATE !================================================================= ! WASHFRAC_FINE_AEROSOLLUOPI begins here! !================================================================= IF ( ( TK >= 268e+0_fp ) .OR. ITS_A_POPS_SIM ) THEN !--------------------------------- ! T >= 268K (or POPS simulation) !--------------------------------- IF ( F > 0e+0_fp ) THEN WASHFRAC = F *(1e+0_fp - EXP( -1.0D-5 *& (PP / F*3.6e+4_fp )**0.7e+0_fp * DT )) ELSE WASHFRAC = 0e+0_fp ENDIF ELSE !--------------------------------- ! T < 268K !--------------------------------- IF ( F > 0e+0_fp ) THEN IF ( TK >= 248e+0_fp ) THEN WASHFRAC = F *(1e+0_fp - EXP( -2.0D-4 *& (PP / F*3.6e+4_fp )**0.66e+0_fp * DT )) ELSE WASHFRAC = F *(1e+0_fp - EXP( -2.0D-4/5.d0 *& (PP / F*3.6e+4_fp )**0.66e+0_fp * DT )) ENDIF ELSE WASHFRAC = 0e+0_fp ENDIF ENDIF END FUNCTION WASHFRAC_FINE_AEROSOLLUOPI !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: washfrac_coarse_aerosolluo ! ! !DESCRIPTION: Function WASHFRAC\_COARSE\_AEROSOL returns the fraction of ! coarse aerosol species lost to washout. !\\ !\\ ! !INTERFACE: ! FUNCTION WASHFRAC_COARSE_AEROSOLLUO( DT, F, PP, TK ) & RESULT( WASHFRAC ) ! ! !USES: ! ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: DT ! Timestep of washout event [s] REAL(fp), INTENT(IN) :: F ! Fraction of grid box that is ! precipitating [unitless] REAL(fp), INTENT(IN) :: PP ! Precip rate thru bottom of grid ! box (I,J,L) [cm3 H2O/cm2 air/s] REAL(fp), INTENT(IN) :: TK ! Temperature in grid box [K] ! ! !RETURN VALUE: ! REAL(fp) :: WASHFRAC ! Fraction of soluble species ! lost to washout ! ! !REVISION HISTORY: ! 08 Nov 2002 - R. Yantosca - Initial version ! (1 ) WASHFRAC_AEROSOL used to be an internal function to subroutine WASHOUT. ! This caused NaN's in the parallel loop on Altix, so we moved it to ! the module and now pass Iall arguments explicitly (bmy, 7/20/04) ! 16 Sep 2010 - R. Yantosca - Added ProTeX headers ! 16 Aug 2011 - H Amos - Remove K_WASH from input list, make a defined ! parameter. ! 20 Jan 2012 - H Amos - WASHFRAC_COARSE_AEROSOL created to handle ! SALC and DST4 ! 04 Sep 2013 - R. Yantosca - Bug fix: Prevent div-by-zero if F=0. Because F ! multiplies the whole expression for WASHFRAC, ! WASHFRAC=0 whenever F=0 anyway. !EOP !------------------------------------------------------------------------------ !BOC ! !================================================================= ! WASHFRAC_COARSE_AEROSOLLUO begins here! !================================================================= IF ( TK >= 268e+0_fp .OR. ITS_A_POPS_SIM ) THEN !--------------------------------- ! T >= 268K (or POPS simulation) !--------------------------------- IF ( F > 0e+0_fp ) THEN WASHFRAC = F*(1.0_fp - EXP(-2.e-4_fp * (PP / F*3.6e+4_fp)& ** 0.85_fp * DT )) ELSE WASHFRAC = 0.0_fp ENDIF ELSE !--------------------------------- ! T < 268K !--------------------------------- IF ( F > 0e+0_fp ) THEN IF ( TK >= 248e+0_fp ) THEN WASHFRAC = F *(1e+0_fp - EXP( -2.0e-3_fp *& (PP / F*3.6e+4_fp )**0.7e+0_fp * DT )) ELSE WASHFRAC = F *(1e+0_fp - EXP( -2.0e-3_fp/5.d0 *& (PP / F*3.6e+4_fp )**0.7e+0_fp * DT )) ENDIF ELSE WASHFRAC = 0.0_fp ENDIF ENDIF END FUNCTION WASHFRAC_COARSE_AEROSOLLUO !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: washfrac_hno3luo ! ! !DESCRIPTION: Function WASHFRAC\_HNO3LUO returns the fraction of HNO3 ! species lost to washout. !\\ !\\ ! !INTERFACE: ! FUNCTION WASHFRAC_HNO3LUO( DT, F, PP, TK ) RESULT( WASHFRAC ) ! ! !USES: ! ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: DT ! Timestep of washout event [s] REAL(fp), INTENT(IN) :: F ! Fraction of grid box that is ! precipitating [unitless] REAL(fp), INTENT(IN) :: PP ! Precip rate thru bottom of grid ! box (I,J,L) [cm3 H2O/cm2 air/s] REAL(fp), INTENT(IN) :: TK ! Temperature in grid box [K] ! ! !RETURN VALUE: ! REAL(fp) :: WASHFRAC ! Fraction of soluble species ! ! !REVISION HISTORY: ! 13 Aug 2011, H Amos: Initial version, modeled after WASHFRAC_AEROSOL. ! Seperate function created to emphasize that the new, ! updated washout coefficients from Feng et al (2007; ! 2009) should only be applied to aerosol species. It ! was a coincidence before that the original washout ! coefficients for aerosols and HNO3 were the same. ! 16 Aug 2011, H Amos: Remove K_WASH from input list, now a defined parameter ! 04 Sep 2013 - R. Yantosca - Bug fix: Prevent div-by-zero if F=0. Because F ! multiplies the whole expression for WASHFRAC, ! WASHFRAC=0 whenever F=0 anyway. !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETER: ! REAL(fp), PARAMETER :: K_WASH = 1.0_fp ! First order washout rate ! constant [cm^-1]. REAL(fp) :: RATE !================================================================= ! WASHFRAC_HNO3LUO begins here! !================================================================= IF ( F > 0e+0_fp ) THEN IF ( TK >= 248e+0_fp ) THEN RATE = 2.D0*((PP/F)**0.62) ELSE RATE = 2.D0*((PP/F)**0.62)/5.d0 ENDIF WASHFRAC = F * (1e+0_fp - EXP( - RATE * DT )) ELSE WASHFRAC = 0e+0_fp ENDIF END FUNCTION WASHFRAC_HNO3LUO !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: washfrac_fine_aerosol ! ! !DESCRIPTION: Function WASHFRAC\_FINE\_AEROSOL returns the fraction of ! soluble aerosol species lost to washout. !\\ !\\ ! !INTERFACE: ! !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: washfrac_dustbin ! ! !DESCRIPTION: Function WASHFRAC\_DUSTBIN returns the fraction of ! dust species lost to washout. !\\ !\\ ! !INTERFACE: ! FUNCTION WASHFRAC_DUSTBIN( RainPara1, RainPara2, SnowPara1, SnowPara2, DT, F, PP, TK) & RESULT( WASHFRAC ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: RainPara1 ! prefactor for washout due to rain precipotation REAL(fp), INTENT(IN) :: RainPara2 ! Exponent for washout due to rain precipotation REAL(fp), INTENT(IN) :: SnowPara1 ! prefactor for washout due to snow precipotation REAL(fp), INTENT(IN) :: SnowPara2 ! Exponent for washout due to snow precipotation REAL(fp), INTENT(IN) :: DT ! Timestep of washout event [s] REAL(fp), INTENT(IN) :: F ! Fraction of grid box that is ! precipitating [unitless] REAL(fp), INTENT(IN) :: PP ! Precip rate thru bottom of grid ! box (I,J,L) [cm3 H2O/cm2 air/s] REAL(fp), INTENT(IN) :: TK ! Temperature in grid box [K] ! ! !RETURN VALUE: ! REAL(fp) :: WASHFRAC ! Fraction of soluble species ! ! !REVISION HISTORY: ! 25 Jun 2024 - D. Zhang - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETER: ! ! Washout rate constant for aerosols: aP^b (p: mm h^-1) !================================================================= ! WASHFRAC_DUSTBIN begins here! !================================================================= IF ( ( TK >= 268e+0_fp ) .OR. ITS_A_POPS_SIM ) THEN !--------------------------------- ! T >= 268K (or POPS simulation) !--------------------------------- IF ( F > 0e+0_fp ) THEN WASHFRAC = F *(1e+0_fp - EXP( - RainPara1 * & (PP / F*3.6e+4_fp ) ** RainPara2 * DT )) ELSE WASHFRAC = 0e+0_fp ENDIF ELSE !--------------------------------- ! T < 268K !--------------------------------- IF ( F > 0e+0_fp ) THEN WASHFRAC = F *(1e+0_fp - EXP( - SnowPara1 * & (PP / F*3.6e+4_fp ) ** SnowPara2 * DT )) ELSE WASHFRAC = 0e+0_fp ENDIF ENDIF END FUNCTION WASHFRAC_DUSTBIN !EOC FUNCTION WASHFRAC_FINE_AEROSOL( DT, F, PP, TK ) & RESULT( WASHFRAC ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: DT ! Timestep of washout event [s] REAL(fp), INTENT(IN) :: F ! Fraction of grid box that is ! precipitating [unitless] REAL(fp), INTENT(IN) :: PP ! Precip rate thru bottom of grid ! box (I,J,L) [cm3 H2O/cm2 air/s] REAL(fp), INTENT(IN) :: TK ! Temperature in grid box [K] ! ! !RETURN VALUE: ! REAL(fp) :: WASHFRAC ! Fraction of soluble species ! lost to washout [1] ! ! !REVISION HISTORY: ! 08 Nov 2002 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETER: ! ! Washout rate constant for aerosols: aP^b (p: mm h^-1) ! K_WASH for aerosols in accumulation mode (qq,10/11/2011) REAL(fp), PARAMETER :: K_WASH = 1.06e-3_fp !================================================================= ! WASHFRAC_FINE_AEROSOL begins here! !================================================================= IF ( ( TK >= 268e+0_fp ) .OR. ITS_A_POPS_SIM ) THEN !--------------------------------- ! T >= 268K (or POPS simulation) !--------------------------------- IF ( F > 0e+0_fp ) THEN WASHFRAC = F *(1e+0_fp - EXP( -K_WASH * & (PP / F*3.6e+4_fp )**0.61e+0_fp * DT / 3.6e+3_fp )) ELSE WASHFRAC = 0e+0_fp ENDIF ELSE !--------------------------------- ! T < 268K !--------------------------------- IF ( F > 0e+0_fp ) THEN WASHFRAC = F *(1e+0_fp - EXP( -2.6e+1_fp*K_WASH * & (PP / F*3.6e+4_fp )**0.96e+0_fp * DT / 3.6e+3_fp )) ELSE WASHFRAC = 0e+0_fp ENDIF ENDIF END FUNCTION WASHFRAC_FINE_AEROSOL !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: washfrac_coarse_aerosol ! ! !DESCRIPTION: Function WASHFRAC\_COARSE\_AEROSOL returns the fraction of ! soluble aerosol species lost to washout. !\\ !\\ ! !INTERFACE: ! FUNCTION WASHFRAC_COARSE_AEROSOL( DT, F, PP, TK ) & RESULT( WASHFRAC ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: DT ! Timestep of washout event [s] REAL(fp), INTENT(IN) :: F ! Fraction of grid box that is ! precipitating [unitless] REAL(fp), INTENT(IN) :: PP ! Precip rate thru bottom of grid ! box (I,J,L) [cm3 H2O/cm2 air/s] REAL(fp), INTENT(IN) :: TK ! Temperature in grid box [K] ! ! !RETURN VALUE: ! REAL(fp) :: WASHFRAC ! Fraction of soluble species ! lost to washout ! ! !REVISION HISTORY: ! 08 Nov 2002 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! !================================================================= ! WASHFRAC_COARSE_AEROSOL begins here! !================================================================= IF ( TK >= 268.0_fp .OR. ITS_A_POPS_SIM ) THEN !--------------------------------- ! T >= 268K (or POPS simulation) !--------------------------------- IF ( F > 0e+0_fp ) THEN WASHFRAC = F*(1.0_fp - EXP(-0.92_fp * (PP / F*3.6e+4_fp) & ** 0.79_fp * DT / 3.6e+3_fp )) ELSE WASHFRAC = 0.0_fp ENDIF ELSE !--------------------------------- ! T < 268K !--------------------------------- IF ( F > 0e+0_fp ) THEN WASHFRAC = F *(1.0_fp - EXP( -1.57_fp * & (PP / F*3.6e+4_fp)**0.96_fp * DT / 3.6e+3_fp )) ELSE WASHFRAC = 0.0_fp ENDIF ENDIF END FUNCTION WASHFRAC_COARSE_AEROSOL !EOC #ifdef TOMAS !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: washfrac_size_aerosol ! ! !DESCRIPTION: Subroutine WASHFRAC\_SIZE\_AEROSOL retrieves fraction of ! soluble aerosol species lost to washout. Size resolved version for TOMAS. !\\ !\\ ! !INTERFACE: ! SUBROUTINE WASHFRAC_SIZE_AEROSOL( DT, F, PP, TK, N, I, J, L, & State_Met, State_Chm, WASHFRAC, RC ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD USE State_Chm_Mod, ONLY : ChmState USE State_Met_Mod, ONLY : MetState USE TOMAS_MOD, ONLY : GETDP, STRATSCAV ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: DT ! Dynamic timestep [s] REAL(fp), INTENT(IN) :: F ! Fraction of grid box ! that is precipitating REAL(fp), INTENT(IN) :: PP ! Precip rate thru bottom ! of grid box (I,J,L) ! [cm3 H2O/cm2 air/s] REAL(fp), INTENT(IN) :: TK ! Temperature [K] INTEGER, INTENT(IN) :: I ! Longitude index INTEGER, INTENT(IN) :: J ! Latitude index INTEGER, INTENT(IN) :: L ! Level index INTEGER, INTENT(IN) :: N ! Species index TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: WASHFRAC ! Fraction of species ! lost to washout [1] INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) :: DPAERO ! Average diameter of particle REAL(fp) :: SCAVR !Below-cloud scavenging coefficient (per cm rain) !================================================================= ! WASHFRAC_SIZE_AEROSOL begins here! !================================================================= IF ( TK >= 268e+0_fp ) THEN !------------- ! T >= 268K !------------- DPAERO = GETDP( I, J, L, N, State_Met, State_Chm, RC ) ! External function stratscav returns the scavenging rate (mm^-1) ! Let scavr has a unit of cm^-1 SCAVR = 10.e+0_fp* STRATSCAV( DPAERO ) ! Prevent div by zero (bmy, 9/4/13) IF ( F > 0e+0_fp ) THEN WASHFRAC = F * ( 1e+0_fp - EXP( -SCAVR * ( PP / F ) * DT ) ) ELSE WASHFRAC = 0e+0_fp ENDIF ELSE !------------- ! T < 268K !------------- WASHFRAC = 0e+0_fp ENDIF END SUBROUTINE WASHFRAC_SIZE_AEROSOL !EOC #endif !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: washfrac_hno3 ! ! !DESCRIPTION: Function WASHFRAC\_HNO3 returns the fraction of HNO3 ! species lost to washout. !\\ !\\ ! !INTERFACE: ! FUNCTION WASHFRAC_HNO3( DT, F, PP, TK ) RESULT( WASHFRAC ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: DT ! Timestep of washout event [s] REAL(fp), INTENT(IN) :: F ! Fraction of grid box that is ! precipitating [unitless] REAL(fp), INTENT(IN) :: PP ! Precip rate thru bottom of grid ! box (I,J,L) [cm3 H2O/cm2 air/s] REAL(fp), INTENT(IN) :: TK ! Temperature in grid box [K] ! ! !RETURN VALUE: ! REAL(fp) :: WASHFRAC ! Fraction of soluble species ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! REAL(fp), PARAMETER :: K_WASH = 1.0_fp ! First order washout rate ! constant [cm^-1]. #ifdef MODEL_GEOS ! For online GEOS model only, apply for T >= 240 K (cf. Eric Fleming) REAL(fp), PARAMETER :: TK_THRESHOLD = 240.0_fp #else ! Otherwise set temperature threshold T >= 268 K REAL(fp), PARAMETER :: TK_THRESHOLD = 268.0_fp #endif ! ! !LOCAL VARIABLES: ! !================================================================= ! WASHFRAC_HNO3 begins here! !================================================================= IF ( TK >= TK_THRESHOLD ) THEN !------------------------ ! T >= 268K: Do washout !------------------------ IF ( F > 0e+0_fp ) THEN ! Default scheme WASHFRAC = F * ( 1e+0_fp - EXP( -K_WASH * (PP / F) * DT) ) ELSE WASHFRAC = 0e+0_fp ENDIF ELSE !------------------------ ! T < threshold: No washout !------------------------ WASHFRAC = 0e+0_fp ENDIF END FUNCTION WASHFRAC_HNO3 #ifdef APM !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: washfrac_apmsize_aerosol ! ! !DESCRIPTION: !\\ !\\ ! !INTERFACE: ! SUBROUTINE WASHFRAC_APMSIZE_AEROSOL( RIN, DT, F, PP, TK, WASHFRAC ) ! ! !INPUT PARAMETERS: ! REAL*8, INTENT(IN) :: RIN ! Aerosol size [m] REAL*8, INTENT(IN) :: DT ! Dynamic timestep [s] REAL*8, INTENT(IN) :: F ! Fraction of grid box ! that is precipitating REAL*8, INTENT(IN) :: PP ! Precip rate thru bottom ! of grid box (I,J,L) ! [cm3 H2O/cm2 air/s] REAL*8, INTENT(IN) :: TK ! Temperature [K] REAL*8, INTENT(OUT) :: WASHFRAC ! Fraction of tracer lost to washout ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: N REAL*8 :: RINUM,PAR1,PAR2,PAR3,WASHRATE REAL*8 :: PHOUR ! ! !DEFINED PARAMETERS: ! REAL(fp), PARAMETER :: K_WASH = 1.06e-3_fp integer,parameter :: resol=100 ! number of differential scav coefs used real*8,parameter,dimension(resol) :: A0 = (/ & 1.2421339D-03, 1.1542652D-03, 1.0697728D-03, 9.8944578D-04, & 9.1371929D-04, 8.4278590D-04, 7.7667052D-04, 7.1528548D-04, & 6.5846901D-04, 6.0600966D-04, 5.5766889D-04, 5.1319298D-04, & 4.7232405D-04, 4.3480799D-04, 4.0039657D-04, 3.6885168D-04, & 3.3994846D-04, 3.1347378D-04, 2.8923032D-04, 2.6703325D-04, & 2.4671193D-04, 2.2810873D-04, 2.1107841D-04, 1.9548827D-04, & 1.8121649D-04, 1.6815161D-04, 1.5619207D-04, 1.4524521D-04, & 1.3522667D-04, 1.2605986D-04, 1.1767508D-04, 1.1000906D-04, & 1.0300445D-04, 9.6609200D-05, 9.0776336D-05, 8.6302263D-05, & 8.1774526D-05, 7.7650854D-05, 7.3907784D-05, 7.0525143D-05, & 6.7486259D-05, 6.4778164D-05, 6.2440762D-05, 6.0625356D-05, & 5.8598430D-05, 5.7528951D-05, 5.6584556D-05, 5.5783209D-05, & 5.5543436D-05, 5.5543436D-05, 5.5543436D-05, 5.7475162D-05, & 5.8920602D-05, 6.1073444D-05, 6.4497544D-05, 6.8131062D-05, & 7.2558585D-05, 7.7855845D-05, 8.4144327D-05, 9.1530451D-05, & 1.0014767D-04, 1.1015226D-04, 1.2173151D-04, 1.3511098D-04, & 1.3144316D+00, 2.1080957D+01, 6.4889491D+01, 1.9500575D+02, & 7.2548248D+02, 9.6941400D+02, 1.1577594D+03, 1.3120109D+03, & 1.4584424D+03, 1.5450455D+03, 1.6161885D+03, 1.6828528D+03, & 1.7346022D+03, 2.3845894D+03, 2.6876754D+03, 2.7387250D+03, & 2.7742642D+03, 2.8069166D+03, 2.8392922D+03, 2.7104748D+03, & 2.0122139D+03, 1.4870979D+03, 1.1876294D+03, 8.0640117D+02, & 3.2910188D+02, 7.1894308D+01, 2.1724393D+00, 1.3292166D-01, & 1.2247745D-01, 1.1591321D-01, 1.1317314D-01, 1.1448342D-01, & 1.2051768D-01, 1.3249278D-01, 1.5257908D-01, 1.8452159D-01 /) real*8,parameter,dimension(resol) :: A1 = (/ & 5.0580353D-03, 4.7109454D-03, 4.4035710D-03, 4.1284255D-03, & 3.8799211D-03, 3.6537793D-03, 3.4466705D-03, 3.2559540D-03, & 3.0795037D-03, 2.9155923D-03, 2.7627973D-03, 2.6199358D-03, & 2.4860212D-03, 2.3602081D-03, 2.2417832D-03, 2.1301353D-03, & 2.0247372D-03, 1.9251300D-03, 1.8309154D-03, 1.7417413D-03, & 1.6573005D-03, 1.5773210D-03, 1.5015609D-03, 1.4298067D-03, & 1.3618641D-03, 1.2975605D-03, 1.2367403D-03, 1.1792643D-03, & 1.1250047D-03, 1.0738467D-03, 1.0256848D-03, 9.8042322D-04, & 9.3797448D-04, 8.9825859D-04, 8.6120289D-04, 8.2707145D-04, & 7.9140109D-04, 7.5859975D-04, 7.2858162D-04, 7.0127807D-04, & 6.7664220D-04, 6.5465171D-04, 6.3491029D-04, 6.1917999D-04, & 6.0180213D-04, 5.9237683D-04, 5.8410135D-04, 5.7713998D-04, & 5.7521646D-04, 5.7521646D-04, 5.7521646D-04, 5.9573825D-04, & 6.1128457D-04, 6.3433325D-04, 6.7077811D-04, 7.0902428D-04, & 7.5496154D-04, 8.0921016D-04, 8.7210055D-04, 9.4417636D-04, & 1.0260809D-03, 1.1184538D-03, 1.2219490D-03, 1.3372226D-03, & 3.3669307D-06, 6.8382524D-07, 4.0853339D-07, 2.0483149D-07, & 7.4624009D-08, 7.0603692D-08, 7.1071154D-08, 7.2576727D-08, & 7.3354584D-08, 7.6011076D-08, 7.8321576D-08, 7.9914898D-08, & 8.1448083D-08, 6.1700605D-08, 5.6634320D-08, 5.7221333D-08, & 5.7962467D-08, 5.8669217D-08, 5.9349052D-08, 6.3637204D-08, & 8.7872021D-08, 1.2220386D-07, 1.5786685D-07, 2.4108266D-07, & 6.1647029D-07, 2.9680970D-06, 1.0439819D-04, 1.8745902D-03, & 2.2149189D-03, 2.5806136D-03, 2.9535205D-03, 3.3070670D-03, & 3.6059673D-03, 3.8132840D-03, 3.8954592D-03, 3.8302728D-03 /) real*8,parameter,dimension(resol) :: A2 = (/ & 6.6424127D-01, 6.6576376D-01, 6.6713995D-01, 6.6839236D-01, & 6.6953812D-01, 6.7059130D-01, 6.7156306D-01, 6.7246240D-01, & 6.7329683D-01, 6.7407304D-01, 6.7479637D-01, 6.7547196D-01, & 6.7610345D-01, 6.7669458D-01, 6.7724858D-01, 6.7776851D-01, & 6.7825605D-01, 6.7871442D-01, 6.7914446D-01, 6.7954857D-01, & 6.7992783D-01, 6.8028357D-01, 6.8061731D-01, 6.8092889D-01, & 6.8121941D-01, 6.8148927D-01, 6.8173855D-01, 6.8196686D-01, & 6.8217380D-01, 6.8235808D-01, 6.8251825D-01, 6.8265207D-01, & 6.8275644D-01, 6.8282760D-01, 6.8286013D-01, 6.8282405D-01, & 6.8277795D-01, 6.8266725D-01, 6.8247922D-01, 6.8219803D-01, & 6.8180393D-01, 6.8127402D-01, 6.8056216D-01, 6.7977710D-01, & 6.7843974D-01, 6.7732850D-01, 6.7585803D-01, 6.7349287D-01, & 6.7115454D-01, 6.7115454D-01, 6.7115454D-01, 6.6188326D-01, & 6.5857402D-01, 6.5475758D-01, 6.5009930D-01, 6.4629666D-01, & 6.4264392D-01, 6.3921057D-01, 6.3599722D-01, 6.3311369D-01, & 6.3051789D-01, 6.2819509D-01, 6.2612153D-01, 6.2426768D-01, & 4.9996833D-01, 6.0034315D-01, 6.6171289D-01, 6.9929362D-01, & 7.2455931D-01, 7.4315159D-01, 7.5769135D-01, 7.6946300D-01, & 7.7915407D-01, 7.8717177D-01, 7.9378675D-01, 7.9919713D-01, & 8.0356028D-01, 8.0700554D-01, 8.0963902D-01, 8.1154737D-01, & 8.1280391D-01, 8.1342701D-01, 8.1346568D-01, 8.1291308D-01, & 8.1175022D-01, 8.0993808D-01, 8.0742008D-01, 8.0412217D-01, & 7.9996035D-01, 7.9483587D-01, 7.8800543D-01, 7.6975396D-01, & 7.6003299D-01, 7.4935955D-01, 7.3794038D-01, 7.2605591D-01, & 7.1404544D-01, 7.0226337D-01, 6.9104364D-01, 6.8066128D-01 /) real*8,parameter,dimension(resol) :: radresol = (/ & 1.1220191D-03, 1.2589269D-03, 1.4125401D-03, 1.5848971D-03, & 1.7782848D-03, 1.9952694D-03, 2.2387304D-03, 2.5118983D-03, & 2.8183979D-03, 3.1622965D-03, 3.5481569D-03, 3.9810999D-03, & 4.4668699D-03, 5.0119134D-03, 5.6234631D-03, 6.3096331D-03, & 7.0795286D-03, 7.9433667D-03, 8.9126099D-03, 1.0000118D-02, & 1.1220323D-02, 1.2589417D-02, 1.4125566D-02, 1.5849154D-02, & 1.7783055D-02, 1.9952927D-02, 2.2387566D-02, 2.5119277D-02, & 2.8184310D-02, 3.1623334D-02, 3.5481986D-02, 3.9811466D-02, & 4.4669226D-02, 5.0119724D-02, 5.6235291D-02, 6.3097067D-02, & 7.0796117D-02, 7.9434596D-02, 8.9127131D-02, 1.0000235D-01, & 1.1220455D-01, 1.2589565D-01, 1.4125732D-01, 1.5849341D-01, & 1.7783263D-01, 1.9953163D-01, 2.2387829D-01, 2.5119573D-01, & 2.8184637D-01, 3.1623703D-01, 3.5482404D-01, 3.9811930D-01, & 4.4669750D-01, 5.0120312D-01, 5.6235945D-01, 6.3097805D-01, & 7.0796943D-01, 7.9435527D-01, 8.9128178D-01, 1.0000352D+00, & 1.1220586D+00, 1.2589712D+00, 1.4125898D+00, 1.5849527D+00, & 1.7783473D+00, 1.9953395D+00, 2.2388091D+00, 2.5119867D+00, & 2.8184969D+00, 3.1624076D+00, 3.5482817D+00, 3.9812400D+00, & 4.4670272D+00, 5.0120902D+00, 5.6236610D+00, 6.3098550D+00, & 7.0797777D+00, 7.9436460D+00, 8.9129219D+00, 1.0000469D+01, & 1.1220717D+01, 1.2589860D+01, 1.4126063D+01, 1.5849712D+01, & 1.7783680D+01, 1.9953630D+01, 2.2388355D+01, 2.5120161D+01, & 2.8185301D+01, 3.1624447D+01, 3.5483231D+01, 3.9812866D+01, & 4.4670795D+01, 5.0121487D+01, 5.6237267D+01, 6.3099289D+01, & 7.0798607D+01, 7.9437386D+01, 8.9130272D+01, 1.0000587D+02 /) !================================================================= ! WASHFRAC_APMSIZE_AEROSOL begins here! !================================================================= WASHFRAC = 0d0 IF ( TK >= 268d0 ) THEN IF ( F > 0d0 ) THEN !------------- ! T >= 268K !------------- !PP cm/s PHOUR=PP*3.6d4/F !mm/hour RINUM=RIN*1.D6 !m to um DO N=2,resol IF(RINUM<=radresol(1))THEN PAR1=A0(1) PAR2=A1(1) PAR3=A2(1) ELSE IF(RINUM>radresol(resol))THEN PAR1=A0(resol) PAR2=A1(resol) PAR3=A2(resol) ELSE IF((RINUM>radresol(N-1)).AND.(RINUM<=radresol(N)))THEN PAR1=A0(N) PAR2=A1(N) PAR3=A2(N) ENDIF ENDDO WASHRATE = PAR1*(EXP(PAR2*(PHOUR**PAR3))-1.D0) !s-1 WASHFRAC = F * (1.D0-EXP(-WASHRATE*DT)) ELSE WASHFRAC = 0e+0_fp ENDIF ELSE !--------------------------------- ! T < 268K !--------------------------------- WASHFRAC = 0e+0_fp ENDIF END SUBROUTINE WASHFRAC_APMSIZE_AEROSOL #endif !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: washfrac_liq_gas !! ! !DESCRIPTION: Subroutine WASHFRAC\_LIQ\_GAS returns the fraction of soluble ! liquid/gas phase species lost to washout. !\\ !\\ ! !INTERFACE: ! #ifdef LUO_WETDEP SUBROUTINE WASHFRAC_LIQ_GAS( K0, CR, pKa, PP, pHRain, DT,& F, DZ, TK, WASHFRAC, KIN ) #else SUBROUTINE WASHFRAC_LIQ_GAS( K0, CR, pKa, PP, DT, & F, DZ, TK, WASHFRAC, KIN ) #endif ! ! !INPUT PARAMETERS: ! REAL(f8), INTENT(IN) :: K0 ! Henry's solubility constant [M/atm] REAL(f8), INTENT(IN) :: CR ! Henry's volatility constant [K] REAL(f8), INTENT(IN) :: pKa ! Henry's pH correction [1] REAL(fp), INTENT(IN) :: PP ! Precip rate thru bottom of the ! grid box [cm3 H2O/cm2 air/s] #ifdef LUO_WETDEP REAL(fp), INTENT(IN) :: pHrain #endif REAL(fp), INTENT(IN) :: DT ! Timestep for washout event [s] REAL(fp), INTENT(IN) :: F ! Fraction of grid box that is ! precipitating [unitless] REAL(fp), INTENT(IN) :: DZ ! Height of grid box [cm] REAL(fp), INTENT(IN) :: TK ! Temperature in grid box [K] ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: WASHFRAC ! Fraction of species lost to washout LOGICAL, INTENT(OUT) :: KIN ! T = washout is a kinetic process ! F = washout is an equilibrium process ! ! !REVISION HISTORY: ! 20 Jul 2004 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) :: L2G, LP, WASHFRAC_F_14 ! ! !DEFINED PARAMETERS ! REAL(fp), PARAMETER :: K_WASH = 1.0_fp ! First order washout rate ! constant [cm^-1]. !================================================================= ! WASHFRAC_LIQ_GAS begins here! !================================================================= ! Start with the assumption that washout will be an ! equilibrium process (H Amos, 03 Jun 2011) KIN = .FALSE. ! Suppress washout below 268 K IF ( TK >= 268.0_fp ) THEN !------------------------ ! T >= 268K: Do washout !------------------------ ! Rainwater content in the grid box (Eq. 17, Jacob et al, 2000) LP = ( PP * DT ) / ( F * DZ ) ! Compute liquid to gas ratio for H2O2, using the appropriate ! parameters for Henry's law -- also use rainwater content Lp ! (Eqs. 7, 8, and Table 1, Jacob et al, 2000) #ifdef LUO_WETDEP CALL COMPUTE_L2G( K0, CR, pKa, TK, LP, pHRain, L2G ) ! pH of rain #else CALL COMPUTE_L2G( K0, CR, pKa, TK, LP, 4.5_f8, L2G ) ! Default pH #endif ! Washout fraction from Henry's law (Eq. 16, Jacob et al, 2000) WASHFRAC = L2G / ( 1e+0_fp + L2G ) ! Washout fraction / F from Eq. 14, Jacob et al, 2000 ! Note: WASHFRAC_F_14 should match what's used for HNO3 (hma, 13aug2011) WASHFRAC_F_14 = 1e+0_fp - EXP( -K_WASH * ( PP / F ) * DT ) ! Do not let the Henry's law washout fraction exceed ! that of HNO3 -- this is a cap IF ( WASHFRAC > WASHFRAC_F_14 ) THEN WASHFRAC = F * WASHFRAC_F_14 KIN = .TRUE. ! washout is a kinetic process ENDIF ELSE !------------------------ ! T < 268K: No washout !------------------------ WASHFRAC = 0e+0_fp ENDIF END SUBROUTINE WASHFRAC_LIQ_GAS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: wetdep ! ! !DESCRIPTION: Subroutine WETDEP computes the downward mass flux of ! species due to washout and rainout of aerosols and soluble species in a ! column. This subroutine implements an algorithm in which the ! precipitation fields come directly from the met archive. !\\ !\\ ! !INTERFACE: ! SUBROUTINE WETDEP( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, LS, RC ) ! ! !USES: ! USE DEPO_MERCURY_MOD, ONLY : ADD_Hg2_WD USE DEPO_MERCURY_MOD, ONLY : ADD_HgP_WD USE DEPO_MERCURY_MOD, ONLY : ADD_Hg2_SNOWPACK USE ErrCode_Mod USE ERROR_MOD USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE TIME_MOD, ONLY : GET_TS_DYN USE Timers_Mod USE Species_Mod, ONLY : Species USE UnitConv_Mod ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: LS ! =T for large-scale precip ! =F for convective precip TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input options TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! Precipitation fields: ! ===================== ! . ! Layer Formation of Precipitation ! New Precip falling down ! ==================================================== Top of Atm. ! LM QQ(L,I,J) PDOWN(LM,I,J) ! | | ! ---------------------------------------------------- ! LM-1 QQ(L,I,J) PDOWN(LM-1,I,J) ! | | ! -------------------V-------------------V------------ ! ... ... ! | | ! -------------------V-------------------V------------ ! 3 QQ(L,I,J) PDOWN(3,I,J) ! | | ! -------------------V-------------------------------- ! 2 QQ(L,I,J) PDOWN(2,I,J) ! | | ! ---------------------------------------------------- ! 1 QQ(L,I,J) PDOWN(1,I,J) ! | | ! ===================V===================V============ Ground ! . ! Where: ! (a) New formation forming in grid box (I,J,L) = QQ(L,I,J) ! (b) Precip coming in thru top of layer L = PDOWN(L+1,I,J) ! (c) Precip going out thru bottom of layer L = PDOWN(L, I,J) ! . ! Rainout: ! ======== ! Rainout occurs when there is more precipitation in grid box (I,J,L) than ! in grid box (I,J,L+1). In other words, rainout occurs when the amount of ! rain falling through the bottom of grid box (I,J,L) is more than the amount ! of rain coming in through the top of grid box (I,J,L). ! . ! Soluble gases/aerosols are incorporated into the raindrops and are ! completely removed from grid box (I,J,NZ). There is no evaporation ! and "resuspension" of aerosols during a rainout event. ! . ! For large-scale (a.k.a. stratiform) precipitation, the first order rate ! constant for rainout in the grid box (I,J,L=NZ) (cf. Eq. 12, Jacob ! et al, 2000) is given by: ! . ! Q ! K_RAIN = K_MIN + ------- [units: s^-1] ! L + W ! . ! and the areal fraction of grid box (I,J,L=NZ) that is actually ! experiencing large-scale precipitation (cf. Eq. 11, Jacob et al, 2000) ! is given by: ! . ! Q ! F' = ------------------- [unitless] ! K_RAIN * ( L + W ) ! . ! Where: ! . ! K_MIN = minimum value for K_RAIN ! = 1.0e-4 [s^-1] ! . ! L + W = condensed water content in cloud ! = 1.5e-6 [cm3 H2O/cm3 air] ! . ! Q = QQ = rate of precipitation formation ! [ cm3 H2O / cm3 air / s ] ! . ! For convective precipitation, K_RAIN = 5.0e-3 [s^-1], and the expression ! for F' (cf. Eq. 13, Jacob et al, 2000) becomes: ! . ! { DT } ! FMAX * Q * MIN{ --- , 1.0 } ! { TAU } ! F' = ------------------------------------------------------ ! { DT } ! Q * MIN{ --- , 1.0 } + FMAX * K_RAIN * ( L + W ) ! { TAU } ! . ! Where: ! . ! Q = QQ = rate of precipitation formation ! [cm3 H2O/cm3 air/s] ! . ! FMAX = maximum value for F' ! = 0.3 ! . ! DT = dynamic time step from the CTM [s] ! . ! TAU = duration of rainout event ! = 1800 s (30 min) ! . ! L + W = condensed water content in cloud ! = 2.0e-6 [cm3 H2O/cm3 air] ! . ! K_RAIN and F' are needed to compute the fraction of species in grid box ! (I,J,L=NZ) lost to rainout. This is done in module routine RAINOUT. ! . ! Washout: ! ======== ! Washout occurs when we have evaporation (or no precipitation at all) at ! grid box (I,J,L), but have rain coming down from grid box (I,J,L+1). ! . ! !REVISION HISTORY: ! 20 Sep 2010 - R. Yantosca - Initial version, based on WETDEP ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! SAVEd Scalars LOGICAL, SAVE :: FIRST = .TRUE. LOGICAL :: printErr ! Scalars LOGICAL :: errPrint LOGICAL :: IS_Hg LOGICAL :: KIN LOGICAL :: IS_RAINOUT, IS_WASHOUT, IS_BOTH INTEGER :: I, IDX, J, L INTEGER :: N, NW, Hg_Cat, EC INTEGER :: previous_units REAL(fp) :: Q, QDOWN, DT, DT_OVER_TAU REAL(fp) :: K, K_MIN, K_RAIN, RAINFRAC REAL(fp) :: F, FTOP, F_PRIME, WASHFRAC REAL(fp) :: LOST, GAINED, MASS_WASH, MASS_NOWASH REAL(fp) :: ALPHA, ALPHA2, WETLOSS, TMP REAL(fp) :: F_RAINOUT, F_WASHOUT REAL(fp) :: DEP_HG REAL(fp) :: CNVSCL REAL(fp) :: COND_WATER_CONTENT ! Arrays ! DSpc is the accumulator array of rained-out ! soluble species for a given (I,J) column REAL(fp) :: DSpc(State_Chm%nWetDep, & State_Grid%NZ,State_Grid%NX,State_Grid%NY) ! Strings CHARACTER(LEN=255) :: ErrMsg, ErrorMsg, ThisLoc ! Pointers TYPE(Species), POINTER :: SpcInfo !================================================================= ! (1) I n i t i a l i z e V a r i a b l e s !================================================================= ! Initialize RC = GC_SUCCESS errPrint = .TRUE. ErrorMsg = '' ThisLoc = ' -> at WetDep (in module GeosCore/wetscav_mod.F90)' ! Is this a mercury simulation? IS_Hg = ITS_A_MERCURY_SIM ! Initialize pointers SpcInfo => NULL() ! Halt wetdep timer (so that unit conv can be timed separately) IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "Wet deposition", RC ) ENDIF ! Convert species concentration to mass per unit area (kg/m2) for ! wet deposition since computation is done per column (ewl, 9/8/15) CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & #ifndef TOMAS mapping = State_Chm%Map_WetDep, & #endif new_units = KG_SPECIES_PER_M2, & previous_units = previous_units, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrorMsg = 'Unit conversion error at start of WETDEP!' CALL GC_Error( ErrorMsg, RC, ThisLoc ) RETURN ENDIF ! Start wetdep timer again IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "Wet deposition", RC ) ENDIF ! Dynamic timestep [s] DT = GET_TS_DYN() #ifdef LUO_WETDEP State_Chm%KRATE = 0.d0 #endif ! Select index for diagnostic arrays -- will archive either ! large-scale or convective rainout/washout fractions !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !%%%% NOTE: FOR GEOS-FP AND MERRA-2, WE ALWAYS ASSUME THAT %%%%% !%%%% WETDEP OPERATES ONLY ON LARGE-SCALE PRECIP. THUS, LS %%%%% !%%%% IS ALWAYS SET TO "TRUE" IN THE CALLING ROUTINE, AND %%%%% !%%%% IDX WILL ALWAYS BE 1 HERE AND IN SUBSEQUENT ROUTINES. %%%%% !%%%% (bmy, 11/13/17) %%%%% !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% IF ( LS ) THEN IDX = 1 ELSE IDX = 2 ENDIF ! CNVSCL is the scale factor to be applied to convective large ! scale precipitation: a fraction of model-resolved vertical ! transport is of convective nature (especially at high model ! resolution). Treating all of it as large-scale precipiation ! may overestimate total washout. CNVSCL is a scale factor to ! adjust the convective fraction of the precipitation. If set ! to 1.0, it will yield the same result as without correction. ! If set to 0.0, all convective large-scale precipitation is ! suppressed (ckeller, 3/4/16). CNVSCL = -1.0 IF ( ASSOCIATED(State_Met%CNV_FRC) ) THEN CNVSCL = Input_Opt%WETD_CONV_SCAL CNVSCL = MIN(MAX(CNVSCL,0.0_fp),1.0_fp) ENDIF !================================================================= ! (2) L o o p O v e r (I, J) S u r f a c e B o x e s !================================================================= !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, FTOP, L ) & !$OMP PRIVATE( NW, ERRMSG, F, F_PRIME ) & !$OMP PRIVATE( F_RAINOUT, F_WASHOUT, K_RAIN, Q ) & !$OMP PRIVATE( QDOWN, IS_RAINOUT, IS_WASHOUT, N ) & !$OMP PRIVATE( DEP_HG, SpcInfo, Hg_Cat, EC ) & !$OMP PRIVATE( COND_WATER_CONTENT ) & !$OMP COLLAPSE( 2 ) & !$OMP SCHEDULE( DYNAMIC, 24 ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Initialize PRIVATE error-handling variables EC = GC_SUCCESS ErrorMsg = '' ! Don't do wetdep in nested-grid buffer zone (lzh, 4/1/15) IF ( State_Grid%NestedGrid ) THEN IF ( J <= State_Grid%SouthBuffer ) CYCLE IF ( J > State_Grid%NY - State_Grid%NorthBuffer ) CYCLE IF ( I <= State_Grid%WestBuffer ) CYCLE IF ( I > State_Grid%NX - State_Grid%EastBuffer ) CYCLE ENDIF ! Zero FTOP FTOP = 0e+0_fp ! Zero accumulator array DO L = 1, State_Grid%NZ DO NW = 1, State_Chm%nWetDep DSpc(NW,L,I,J) = 0e+0_fp ENDDO ENDDO #ifndef LUO_WETDEP !============================================================== ! (3) R a i n o u t F r o m T o p L a y e r ! (L = State_Grid%NZ) ! ! Skip for Luo et al scheme, since we want to avoid doing ! wet scavenging in the stratosphere. (bmy, 2/19/20) ! See: https://github.com/geoschem/geos-chem/issues/211 !============================================================== ! Zero variables for this level ERRMSG = 'RAINOUT: Top of atm' F = 0.0_fp F_PRIME = 0.0_fp F_RAINOUT = 0.0_fp F_WASHOUT = 0.0_fp K_RAIN = 0.0_fp Q = 0.0_fp COND_WATER_CONTENT = 0.0_fp ! Start at the top of the atmosphere L = State_Grid%NZ ! If precip forms at (I,J,L), assume it all rains out IF ( State_Met%QQ(L,I,J) > 0.0_fp ) THEN ! Q is the new precip that is forming within grid box (I,J,L) Q = State_Met%QQ(L,I,J) !--------------------------------------------------------------------------- ! Prior to 2/19/20: ! Comment out for now, in case we need to restore this (bmy, 2/19/20) !#ifdef LUO_WETDEP ! ! Luo et al scheme: Compute the condensed water ! ! content instead of using a constant value. ! ! Then compute K_RAIN and F_RAINOUT for LS precip. ! COND_WATER_CONTENT = MAX(1.e-30_fp,(QQ(L,I,J)*DT+ & ! State_Met%QL(I,J,L)*State_Met%AIRDEN(I,J,L)*1e-3_fp)) ! K_RAIN = LS_K_RAIN( QQ(L,I,J), COND_WATER_CONTENT ) ! F_RAINOUT = MAX( 1.e-4_fp, State_Met%CLDF(I,J,L) ) ! F_RAINOUT = F_RAINOUT * MIN(1.e+0_fp, & ! QQ(L,I,J) / ( COND_WATER_CONTENT * K_RAIN) ) !#else !--------------------------------------------------------------------------- ! Default scheme: Compute K_RAIN and F_RAINOUT for LS ! precipitation (cf. Eqs. 11-13, Jacob et al, 2000). ! Use COND_WATER_CONTENT = 1e-6 [cm3/cm3], which ! was recommended by Qiaoqiao Wang et al [2014]. K_RAIN = LS_K_RAIN( Q, 1.0e-6_fp ) F_RAINOUT = LS_F_PRIME( Q, K_RAIN, 1.0e-6_fp ) !--------------------------------------------------------------------------- ! Prior to 2/19/20: ! Comment out for now, in case we need to restore this (bmy, 2/19/20) !#endif !--------------------------------------------------------------------------- ! Set F = F_RAINOUT, since there is no FTOP at L = State_Grid%NZ F = F_RAINOUT ! Adjust convective large-scale precip (ckeller, 3/4/16) IF ( CNVSCL >= 0.0_fp ) THEN F = ( ( 1.0_fp - State_Met%CNV_FRC(I,J) ) * F ) & + ( ( CNVSCL * State_Met%CNV_FRC(I,J) ) * F ) ENDIF ! Only compute rainout if F > 0. ! This helps to eliminate unnecessary CPU cycles. IF ( F > 0.0_fp ) THEN CALL DO_RAINOUT_ONLY( LS = LS, & I = I, & J = J, & L = L, & IDX = IDX, & ERRMSG = ERRMSG, & F_RAINOUT = F, & K_RAIN = K_RAIN, & DT = DT, & DSpc = DSpc, & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & errPrint = errPrint, & RC = EC ) ! Trap potential errors IF ( EC /= GC_SUCCESS ) THEN IF( errPrint ) THEN ErrorMsg = 'Error encountered in "Do_Rainout_Only (3)"!' ENDIF RC = EC errPrint = .FALSE. ENDIF ENDIF ! Save FTOP for the next lower level FTOP = F ENDIF #endif !============================================================== ! (4) R a i n o u t a n d W a s h o u t ! i n t h e M i d d l e L e v e l s !============================================================== #ifdef LUO_WETDEP ! Luo et al scheme: Avoid wet scavenging in the stratosphere. ! See: https://github.com/geoschem/geos-chem/issues/211 ! (bmy, 2/19/20) DO L = State_Grid%NZ-1, 1, -1 IF ( State_Met%InStratMeso(I,J,L) ) CYCLE #else ! Default scheme DO L = State_Grid%NZ-1, 2, -1 #endif ! Zero variables for each level F = 0e+0_fp F_PRIME = 0e+0_fp F_RAINOUT = 0e+0_fp F_WASHOUT = 0e+0_fp K_RAIN = 0e+0_fp Q = 0e+0_fp QDOWN = 0e+0_fp ! If there is new precip forming w/in the grid box ... IF ( State_Met%QQ(L,I,J) > 0e+0_fp ) THEN #ifdef LUO_WETDEP ! Luo et al scheme: Compute the condensed water ! content instead of using a defined constant value. ! Then compute K_RAIN and F_PRIME for LS precip. ! Now use QL and QI in formula for COND_WATER_CONTENT ! (bmy, 2/7/20) COND_WATER_CONTENT = ( State_Met%QQ(L,I,J) * DT ) + & (( State_Met%QL(I,J,L) + State_Met%QI(I,J,L))& *( State_Met%AIRDEN(I,J,L) * 1e-3_fp ) ) COND_WATER_CONTENT = MAX( 1e-30_fp, COND_WATER_CONTENT ) K_RAIN = LS_K_RAIN( State_Met%QQ(L,I,J), COND_WATER_CONTENT ) F_PRIME = MAX(1.e-4_fp,State_Met%CLDF(I,J,L)) F_PRIME = F_PRIME*MIN(1.e+0_fp, & State_Met%QQ(L,I,J) / ( K_RAIN * COND_WATER_CONTENT ) ) State_Chm%KRATE(I,J,L) = State_Met%QQ(L,I,J)*DT/COND_WATER_CONTENT #else ! Default scheme: Compute K_RAIN and F_RAINOUT for LS ! precipitation (cf. Eqs. 11-13, Jacob et al, 2000). ! Use COND_WATER_CONTENT = 1e-6 [cm3/cm3], which ! was recommended by Qiaoqiao Wang et al [2014]. K_RAIN = LS_K_RAIN( State_Met%QQ(L,I,J), 1.0e-6_fp ) F_PRIME = LS_F_PRIME( State_Met%QQ(L,I,J), K_RAIN, 1.0e-6_fp ) #endif ELSE F_PRIME = 0e+0_fp ENDIF ! The following block implements Qiaoqiao's changes ! Calculate the fractional areas subjected to rainout and ! washout. If PDOWN = 0, then all dissolved species returns ! to the atmosphere. (cdh, 7/13/10) IF ( State_Met%PDOWN(L,I,J) > 0e+0_fp ) THEN F_RAINOUT = F_PRIME ! Washout occurs where there is no rainout F_WASHOUT = MAX( FTOP - F_RAINOUT, 0e+0_fp ) ELSE F_RAINOUT = 0e+0_fp F_WASHOUT = 0e+0_fp ENDIF ! Adjust convective large-scale precip (ckeller, 3/4/16) IF ( CNVSCL >= 0.0_fp ) THEN F_RAINOUT = ( ( 1.0_fp - State_Met%CNV_FRC(I,J) ) * F_RAINOUT ) & + ( ( CNVSCL * State_Met%CNV_FRC(I,J) ) * F_RAINOUT ) F_WASHOUT = ( ( 1.0_fp - State_Met%CNV_FRC(I,J) ) * F_WASHOUT ) & + ( ( CNVSCL * State_Met%CNV_FRC(I,J) ) * F_WASHOUT ) ENDIF IF ( F_WASHOUT > 0e+0_fp ) THEN ! QDOWN is the precip leaving thru the bottom of box (I,J,L) ! Q is the precip that is evaporating within box (I,J,L) QDOWN = State_Met%PDOWN(L,I,J) Q = State_Met%REEVAP(L,I,J) Q = MAX( Q, 0e+0_fp ) ! Negative values are unphysical ! Define PDOWN and p IF ( F_RAINOUT > 0e+0_fp ) THEN ! The precipitation causing washout ! is the precip entering thru the top QDOWN = State_Met%PDOWN(L+1,I,J) !** GEOS-FP and MERRA-2 distinguish between rates of ! new precipitation (field DQRLSAN) and evaporation of ! precipitation (field REEVAPLS). ! So the assumption below is not required. ** VPS (6/21/16) ! The amount of precipitating water entering from above ! which evaporates. If there is rainout (new precip ! forming) then we have no way to estimate this, so assume ! zero for now. Consequently there will be no resuspended ! aerosol. !Q = 0e+0_fp ENDIF ENDIF !----------------------------------------------------------- ! Determine if we have the following conditions: ! ! (a) Rainout ! (b) Washout ! ! Note that rainout and washout can happen in the same ! grid box. !----------------------------------------------------------- ! If a non-zero fraction of the grid box is ! experiencing rainout... IS_RAINOUT = ( F_RAINOUT > 0e+0_fp ) ! If a non-zero fraction of the grid box is ! experiencing washout... IS_WASHOUT = ( F_WASHOUT > 0e+0_fp ) IF ( IS_RAINOUT ) THEN !-------------------------------------------------------- ! RAINOUT !-------------------------------------------------------- ! Error msg for stdout ERRMSG = 'RAINOUT' ! Do rainout if we meet the above criteria CALL DO_RAINOUT_ONLY( LS = LS, & I = I, & J = J, & L = L, & IDX = IDX, & ERRMSG = ERRMSG, & F_RAINOUT = F_RAINOUT, & K_RAIN = K_RAIN, & DT = DT, & DSpc = DSpc, & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & errPrint = errPrint, & RC = EC ) ! Trap potential errors IF ( EC /= GC_SUCCESS ) THEN IF ( errPrint ) THEN ErrorMsg = 'Error encountered in "Do_Rainout_Only (4)!' ENDIF RC = EC errPrint = .FALSE. ENDIF ENDIF #ifdef LUO_WETDEP ! Luo scheme: avoid double washout IF ( IS_WASHOUT .AND. L > 1 ) THEN #else ! Default scheme IF ( IS_WASHOUT ) THEN #endif !-------------------------------------------------------- ! WASHOUT ONLY !-------------------------------------------------------- ! Error msg for stdout ERRMSG = 'WASHOUT' ! Do the washout CALL DO_WASHOUT_ONLY( LS = LS, & I = I, & J = J, & L = L, & IDX = IDX, & ERRMSG = ERRMSG, & QDOWN = QDOWN, & Q = Q, & F_WASHOUT = F_WASHOUT, & F_RAINOUT = F_RAINOUT, & DT = DT, & PDOWN = State_Met%PDOWN, & DSpc = DSpc, & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & errPrint = errPrint, & RC = EC ) ! Trap potential errors IF ( EC /= GC_SUCCESS ) THEN IF ( errPrint ) THEN ErrorMsg = 'Error encountered in "Do_Washout_Only (4)!' ENDIF RC = EC errPrint = .FALSE. ENDIF ENDIF !=========================================================== ! (6) N o D o w n w a r d P r e c i p i t a t i o n ! ! If there is no precipitation leaving grid box (I,J,L), ! then set F, the effective area of precipitation in grid ! box (I,J,L), to zero. ! ! Also, all of the previously rained-out species that is now ! coming down from grid box (I,J,L+1) will evaporate and ! re-enter the atmosphere in the gas phase in grid box ! (I,J,L). This is called "resuspension". !=========================================================== ! Check if there is precip entering grid box, but not ! leaving grid box IF ( F_WASHOUT == 0e+0_fp .and. F_RAINOUT == 0e+0_fp ) THEN ! No precipitation at grid box (I,J,L), thus F = 0 F = 0e+0_fp ! Error message ERRMSG = 'RESUSPENSION in middle levels' ! Re-evaporate all of the rain CALL DO_COMPLETE_REEVAP( LS = LS, & I = I, & J = J, & L = L, & IDX = IDX, & ERRMSG = ERRMSG, & DT = DT, & DSpc = DSpc, & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & errPrint = errPrint, & RC = EC ) ! Trap potential errors IF ( EC /= GC_SUCCESS ) THEN IF ( errPrint ) THEN ErrorMsg = 'Error encountered in "Do_Complete_Reevap" (6)!' ENDIF RC = EC errPrint = .FALSE. ENDIF ENDIF ! Save FTOP for next level FTOP = F_RAINOUT + F_WASHOUT ENDDO !============================================================== ! (7) W a s h o u t i n L e v e l 1 !============================================================== ! Zero variables for this level ERRMSG = 'WASHOUT: at surface' F = 0e+0_fp F_PRIME = 0e+0_fp K_RAIN = 0e+0_fp Q = 0e+0_fp QDOWN = 0e+0_fp ! We are at the surface, set L = 1 L = 1 ! Washout at level 1 criteria IF ( State_Met%PDOWN(L+1,I,J) > 0e+0_fp ) THEN ! QDOWN is the precip leaving thru the bottom of box (I,J,L+1) QDOWN = State_Met%PDOWN(L+1,I,J) #ifdef LUO_WETDEP ! Luo et al scheme: Only consider washout F = F_WASHOUT #else ! Default scheme: Since no precip is forming within grid box ! (I,J,L), F' = 0, and F = MAX( F', FTOP ) reduces to F = FTOP. F = FTOP #endif ! Only compute washout if F > 0. IF ( F > 0e+0_fp ) THEN CALL DO_WASHOUT_AT_SFC( LS = LS, & I = I, & J = J, & L = L, & IDX = IDX, & ERRMSG = ERRMSG, & QDOWN = QDOWN, & F = F, & DT = DT, & DSpc = DSpc, & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & errPrint = errPrint, & RC = EC ) ! Trap potential errors IF ( EC /= GC_SUCCESS ) THEN IF ( errPrint ) THEN ErrorMsg = 'Error encountered in "Do_Washout_at_Sfc (7)!' ENDIF RC = EC errPrint = .FALSE. ENDIF ENDIF ENDIF !============================================================== ! (8) M e r c u r y S i m u l a t i o n O n l y ! ! For the mercury simulation, we need to archive the amt of ! Hg2 [kg] that is scavenged out of the column. Also applies ! to the tagged Hg simulation. ! ! NOTES: ! (a) Now moved outside the loop above for clarity and to ! fix a bug where HgP scavenging was not recorded. ! (b) The values of DSpc in the first layer accumulates all ! scavenging and washout in the column ! (c) Updates from cdh. (ccc, 5/17/10) !============================================================== IF ( IS_Hg ) THEN ! Loop over soluble species and/or aerosol species DO NW = 1, State_Chm%nWetDep ! Get the species index from the wetdep index N = State_Chm%Map_WetDep(NW) ! Amount of Hg wet-deposited out of the column DEP_HG = DSpc(NW,1,I,J) ! Point to the Species Database entry for species N SpcInfo => State_Chm%SpcData(N)%Info ! Check if it is a gaseous Hg2 tag IF ( SpcInfo%Is_Hg2 ) THEN ! Archive wet-deposited Hg2 CALL ADD_Hg2_WD ( I, J, DEP_HG ) CALL ADD_Hg2_SNOWPACK( I, J, DEP_HG, & State_Met, State_Chm, State_Diag ) ! Check if it is a HgP tag ELSE IF ( SpcInfo%Is_HgP ) THEN ! Archive wet-deposited HgP CALL ADD_HgP_WD ( I, J, DEP_HG ) CALL ADD_Hg2_SNOWPACK( I, J, DEP_HG, & State_Met, State_Chm, State_Diag ) ENDIF ! Free pointer SpcInfo => NULL() ENDDO ENDIF ENDDO ENDDO !$OMP END PARALLEL DO ! Exit with error condition IF ( RC /= GC_SUCCESS ) THEN CALL GC_Error( ErrorMsg, RC, ThisLoc ) RETURN ENDIF ! Halt wetdep timer (so that unit conv can be timed separately) IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "Wet deposition", RC ) ENDIF ! Convert species concentration back to original unit (ewl, 9/8/15) CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & #ifndef TOMAS mapping = State_Chm%Map_WetDep, & #endif new_units = previous_units, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Unit conversion error at end of WETDEP!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Start wetdep timer again IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "Wet deposition", RC ) ENDIF END SUBROUTINE WETDEP !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ls_k_rain ! ! !DESCRIPTION: Function LS\_K\_RAIN computes K\_RAIN, the first order ! rainout rate constant for large-scale (a.k.a. stratiform) precipitation. !\\ !\\ ! !INTERFACE: ! FUNCTION LS_K_RAIN( Q, COND_WATER ) RESULT( K_RAIN ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: Q ! Rate of precipitation formation ! [cm3 H2O/cm3 air/s] REAL(fp), INTENT(IN) :: COND_WATER ! Condensed water content ! [cm3 H2O/cm3 air/s] ! ! !RETURN VALUE: ! REAL(fp) :: K_RAIN ! 1st order rate constant [1/s] ! ! !REVISION HISTORY: ! 18 Mar 2004 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC !================================================================== ! LS_K_RAIN begins here! !================================================================== ! Compute rainout rate constant K in s^-1 (Eq. 12, Jacob et al, 2000). ! (1) 1.0d-4 = K_MIN, a minimum value for K_RAIN ! (2) COND_WATER_CONTENT = L + W [cm3/cm3], the condensed water ! content (liquid + ice) in the cloud, ! (cf. Jacob et al 2000, Eq. 12) K_RAIN = 1.0e-4_fp + ( Q / COND_WATER ) END FUNCTION LS_K_RAIN !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ls_f_prime ! ! !DESCRIPTION: Function LS\_F\_PRIME computes F', the fraction of the ! grid box that is precipitating during large scale (a.k.a. stratiform) ! precipitation. !\\ !\\ ! !INTERFACE: ! FUNCTION LS_F_PRIME( Q, K_RAIN, COND_WATER ) RESULT( F_PRIME ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: Q ! Rate of precipitation formation ! [cm3 H2O/cm3 air/s] REAL(fp), INTENT(IN) :: K_RAIN ! 1st order rate constant [1/s] REAL(fp), INTENT(IN) :: COND_WATER ! Condensed water content ! [cm3 H2O/cm3 air/s] ! ! !REMARKS: ! REAL(fp) :: F_PRIME ! Fraction of grid box undergoing ! large-scale precipitation [1] ! ! !REVISION HISTORY: ! 18 Mar 2004 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! !================================================================= ! LS_F_PRIME begins here! !================================================================= ! Compute F', the area of the grid box undergoing precipitation ! COND_WATER = L + W [cm3/cm3], the condensed water ! content (liquid + ice) in the cloud ! (cf. Jacob et al 2000, Eq. 12) F_PRIME = Q / ( K_RAIN * COND_WATER ) END FUNCTION LS_F_PRIME !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: conv_f_prime ! ! !DESCRIPTION: Function CONV\_F\_PRIME computes F', the fraction of the ! grid box that is precipitating during convective precipitation. !\\ !\\ ! !INTERFACE: ! FUNCTION CONV_F_PRIME( Q, K_RAIN, DT ) RESULT( F_PRIME ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: Q ! Rate of precipitation formation ! [cm3 H2O/cm3 air/s] REAL(fp), INTENT(IN) :: K_RAIN ! 1st order rainout rate constant [1/s] REAL(fp), INTENT(IN) :: DT ! Wet deposition timestep [s] ! ! !RETURN VALUE: ! REAL(fp) :: F_PRIME ! Frac. of grid box undergoing ! convective precipitation [1] ! ! !REVISION HISTORY: ! 18 Mar 2004 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) :: TIME !================================================================= ! CONV_F_PRIME begins here! !================================================================= #ifdef LUO_WETDEP TIME = DT / 1800e+0_fp #else ! Assume the rainout event happens in 30 minutes (1800 s) ! Compute the minimum of DT / 1800s and 1.0 TIME = MIN( DT / 1800e+0_fp, 1e+0_fp ) #endif ! Compute F' for convective precipitation (Eq. 13, Jacob et al, 2000) ! 0.3 = FMAX, the maximum value of F' for convective precip ! 2d-6 = L + W, the condensed water content [cm3 H2O/cm3 air] F_PRIME = ( 0.3e+0_fp * Q * TIME ) / & ( ( Q * TIME ) + ( 0.3e+0_fp * K_RAIN * 2e-6_fp ) ) END FUNCTION CONV_F_PRIME !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: do_rainout_only ! ! !DESCRIPTION: Subroutine DO\_RAINOUT\_ONLY removes species by rainout. !\\ !\\ ! !INTERFACE: ! SUBROUTINE DO_RAINOUT_ONLY( LS, I, J, L, IDX, & ERRMSG, F_RAINOUT, K_RAIN, & DT, DSpc, Input_Opt, & State_Chm, State_Diag, State_Grid, & State_Met, errPrint, RC ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD, ONLY : IT_IS_NAN ! Test for NaN USE GET_NDEP_MOD, ONLY : SOIL_WETDEP ! Wet deposited species USE Input_Opt_Mod, ONLY : OptInput ! Input options type USE Species_Mod, ONLY : SpcConc ! Species conc pointer array USE State_Chm_Mod, ONLY : ChmState ! Chem State object USE State_Diag_Mod, ONLY : DgnState ! Diag State object USE State_Grid_Mod, ONLY : GrdState ! Grid State object USE State_Met_Mod, ONLY : MetState ! Met State object #ifdef TOMAS USE TOMAS_MOD, ONLY : GETFRACTION #endif ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: LS ! =T denotes LS precip INTEGER, INTENT(IN) :: I ! Longitude index INTEGER, INTENT(IN) :: J ! Latitude index INTEGER, INTENT(IN) :: L ! Level index INTEGER, INTENT(IN) :: IDX ! ND38 index REAL(fp), INTENT(IN) :: F_RAINOUT ! Fraction of grid box ! undergoing rainout REAL(fp), INTENT(IN) :: K_RAIN ! Rainout constant REAL(fp), INTENT(IN) :: DT ! Rainout timestep [s] CHARACTER(LEN=*), INTENT(IN) :: ERRMSG ! Error message TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input options TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Met State object LOGICAL, INTENT(IN) :: errPrint ! Print error messages? ! ! !INPUT/OUTPUT PARAMETERS: ! REAL(fp), INTENT(INOUT) :: DSpc(:,:,:,:) ! Accumulator array [kg] TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diags State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! An IF statement in WETDEP decides if this rainout is to be done (and thus ! if this routine will be called. The criteria for rainout is: ! . ! There is rainout if there is new precip formation in the grid box ! (i.e. DQRLSAN(I,J,L) > 0) and the fraction of the grid box experiencing ! rainout (i.e. F_RAINOUT) is greater than or equal to the fraction of ! the grid box directly overhead experiencing precip (i.e. FTOP). ! -- Helen Amos (9/10/10) ! ! !REVISION HISTORY: ! 16 Sep 2010 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N, NW, S REAL(fp) :: RAINFRAC, WETLOSS ! Strings CHARACTER(LEN=255) :: ErrorMsg, ThisLoc ! Pointers TYPE(SpcConc), POINTER :: Spc(:) #ifdef TOMAS ! Scavenging fraction of 30-bin aerosols (win, 7/16/09) REAL(fp) :: TOM_SC_FRACTION(State_Chm%nTomasBins) REAL(fp) :: SOLFRAC, XFRAC #endif !======================================================================= ! DO_RAINOUT_ONLY begins here! !======================================================================= ! Initialize RC = GC_SUCCESS ErrorMsg = '' ThisLoc = ' -> at DO_RAINOUT_ONLY (in module GeosCore/wetscav_mod.F90)' ! Point to the chemical species array [kg/m2] Spc => State_Chm%Species !----------------------------------------------------------------------- ! HISTORY (aka netCDF diagnostics) ! ! Archive the fraction of the box that is undergoing large-scale ! precipitation (PrecipFracLs). This includes contributions ! from both rainout and washout. Here we add the contribution ! from rainout. ! ! NOTE: We always assume large-scale precipitation, because ! the LS flag is always set to TRUE in the calling routine ! for both GEOS-FP and MERRA-2 meteorology. !----------------------------------------------------------------------- !### Comment out this diagnostic for now (bmy, 6/2/20) !### ! NOTE: This diagnostic may need some work !### ! Units: [1] !### IF ( State_Diag%Archive_PrecipFracLS ) THEN !### State_Diag%PrecipFracLS(I,J,L) = State_Diag%PrecipFracLS(I,J,L) + & !### F_Rainout !### ENDIF !----------------------------------------------------------------- ! Loop over all wet deposition species !----------------------------------------------------------------- DO NW = 1, State_Chm%nWetDep ! Get the species ID from the wetdep ID N = State_Chm%Map_WetDep(NW) ! Call subroutine RAINOUT to comptue the fraction ! of species lost to rainout in grid box (I,J,L) CALL RAINOUT( I, J, L, N, K_RAIN, DT, F_RAINOUT, RAINFRAC, & Input_Opt, State_Met, State_Chm, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN IF ( errPrint ) THEN ErrorMsg = 'Error encountered in "Rainout"!' CALL GC_Error( ErrorMsg, RC, ThisLoc ) ENDIF Spc => NULL() RETURN ENDIF #ifdef TOMAS ! NOTE: Here the units are kg/m2, so State_Grid%Area_M2(I,J) is ! the proper unit conversion factor. (Bob Yantosca, 10 Apr 2024) IF ( id_NK01 > 0 ) THEN IF ( N >= id_NK01 .and. N < id_NK01 + State_Chm%nTomasBins ) THEN CALL GETFRACTION( I, J, & L, N, & LS, State_Chm, & State_Grid, State_Met, & XFRAC, SOLFRAC, & State_Grid%Area_M2(I,J) ) RAINFRAC = RAINFRAC * XFRAC * SOLFRAC ELSE IF ( N >= id_SF01 .and. & N < id_DUST01 + State_Chm%nTomasBins ) THEN CALL GETFRACTION( I, J, & L, N, & LS, State_Chm, & State_Grid, State_Met, & XFRAC, SOLFRAC, & State_Grid%Area_M2(I,J) ) RAINFRAC = RAINFRAC * XFRAC ENDIF ENDIF #endif ! WETLOSS is the amount of species in grid box per unit area ! (I,J,L) that is lost to rainout [kg/m2] WETLOSS = Spc(N)%Conc(I,J,L) * RAINFRAC ! Subtract the rainout loss in grid box (I,J,L) from Spc [kg/m2] Spc(N)%Conc(I,J,L) = Spc(N)%Conc(I,J,L) - WETLOSS IF ( L == State_Grid%NZ ) THEN ! DSpc is an accumulator array for rained-out species. ! The species in DSpc are in the liquid phase and will ! precipitate to the levels below until a washout occurs. ! Initialize DSpc at (I,J,L=State_Grid%NZ) with WETLOSS. DSpc(NW,L,I,J) = WETLOSS ELSE ! Add to DSpc the species lost to rainout in grid box ! (I,J,L) plus the species lost to rainout from grid box ! (I,J,L+1), which has by now precipitated down into ! grid box (I,J,L). DSpc will continue to accumulate ! rained out species in this manner until a washout ! event occurs. DSpc(NW,L,I,J) = DSpc(NW,L+1,I,J) + WETLOSS ENDIF !-------------------------------------------------------------------- ! HISTORY (aka netCDF diagnostics) ! ! (1) Archive the fraction of soluble species lost to rainout ! in large-scale precipitation (RainFracLS) ! ! (2) Archive the amount of soluble species lost to large- ! scale precipitation (WetLossLS). This includes ! contributions from rainout, washout, and reevaporation. ! Here we add the component from rainout. !-------------------------------------------------------------------- !### Comment out this diagnostic for now (bmy, 6/2/20) !### ! Units: [1] !### IF ( State_Diag%Archive_RainFracLs .and. & !### F_Rainout > 0.0_fp ) THEN !### State_Diag%RainFracLs(I,J,L,NW) = RainFrac / F_Rainout !### ENDIF ! Units: [kg/s], but eventually consider changing to [kg/m2/s] IF ( State_Diag%Archive_WetLossLS ) THEN S = State_Diag%Map_WetLossLS%id2slot(NW) IF ( S > 0 ) THEN State_Diag%WetLossLs(I,J,L,S) = & State_Diag%WetLossLs(I,J,L,S) + ( WetLoss / DT ) & * State_Grid%Area_M2(I,J) ENDIF ENDIF ! Satellite diagnostic collection ! Units: [kg/s], but eventually consider changing to [kg/m2/s] IF ( State_Diag%Archive_SatDiagnWetLossLS ) THEN S = State_Diag%Map_SatDiagnWetLossLS%id2slot(NW) IF ( S > 0 ) THEN State_Diag%SatDiagnWetLossLS(I,J,L,S) = & State_Diag%SatDiagnWetLossLS(I,J,L,S) + ( WetLoss / DT ) & * State_Grid%Area_M2(I,J) ENDIF ENDIF ! Archive wet loss in kg/m2/s IF ( LSOILNOX ) THEN CALL SOIL_WETDEP ( I, J, N, WETLOSS / DT, State_Chm ) ENDIF !--------------------------------------------------------------------- ! Error checks (only prints if this is the first error) !--------------------------------------------------------------------- IF ( IT_IS_NAN( Spc(N)%Conc(I,J,L) ) .or. & Spc(N)%Conc(I,J,L) < 0e+0_fp .or. & DSpc(NW,L,I,J) < 0e+0_fp ) THEN ! Print error message IF ( errPrint ) THEN CALL SAFETY( I, J, L, N, ERRMSG, & LS = LS, & PDOWN = State_Met%PDOWN(L,I,J), & QQ = State_Met%QQ(L,I,J), & ALPHA = 0e+0_fp, & ALPHA2 = 0e+0_fp, & RAINFRAC = RAINFRAC, & WASHFRAC = 0e+0_fp, & MASS_WASH = 0e+0_fp, & MASS_NOWASH = 0e+0_fp, & WETLOSS = WETLOSS, & GAINED = 0e+0_fp, & LOST = 0e+0_fp, & State_Grid = State_Grid, & DSpc = DSpc(NW,:,I,J), & Spc = Spc(N)%Conc(I,J,:), & RC = RC ) ENDIF ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN IF ( errPrint ) THEN ErrorMsg = 'Error encountered in "Safety"!' CALL GC_Error( ErrorMsg, RC, ThisLoc ) ENDIF Spc => NULL() RETURN ENDIF ENDIF ENDDO ! Free pointer Spc => NULL() END SUBROUTINE DO_RAINOUT_ONLY !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: do_washout_only ! ! !DESCRIPTION: Subroutine DO\_WASHOUT\_ONLY removes species by washout. !\\ !\\ ! !INTERFACE: ! SUBROUTINE DO_WASHOUT_ONLY( LS, I, J, L, & IDX, ERRMSG, QDOWN, Q, & F_WASHOUT, F_RAINOUT, DT, PDOWN, & DSpc, Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, errPrint, RC, & REEVAP ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD USE GET_NDEP_MOD, ONLY : SOIL_WETDEP ! Wet deposited species USE Input_Opt_Mod, ONLY : OptInput ! Input options USE Species_Mod, ONLY : SpcConc ! Species conc pointer array USE State_Chm_Mod, ONLY : ChmState ! Chemistry State object USE State_Diag_Mod, ONLY : DgnState ! Diagnostic State object USE State_Grid_Mod, ONLY : GrdState ! Grid State object USE State_Met_Mod, ONLY : MetState ! Met State object #ifdef TOMAS USE TOMAS_MOD, ONLY : AQOXID #endif USE UnitConv_Mod ! ! !INPUT PARAMETERS: ! LOGICAL,OPTIONAL, INTENT(IN) :: REEVAP ! Do re-evaporation? LOGICAL, INTENT(IN) :: LS ! =T denotes LS precip INTEGER, INTENT(IN) :: I ! Longitude index INTEGER, INTENT(IN) :: J ! Latitude index INTEGER, INTENT(IN) :: L ! Level index INTEGER, INTENT(IN) :: IDX ! ND38 index CHARACTER(LEN=*), INTENT(IN) :: ERRMSG ! Error message REAL(fp), INTENT(IN) :: QDOWN ! Precip leaving thru ! bottom of box (I,J,L) REAL(fp), INTENT(IN) :: Q ! Precip forming or ! evaporating ! in box (I,J,L) REAL(fp), INTENT(IN) :: F_WASHOUT ! Fraction of grid box ! undergoing washout REAL(fp), INTENT(IN) :: F_RAINOUT ! Fraction of grid box ! undergoing rainout REAL(fp), INTENT(IN) :: DT ! Rainout timestep [s] REAL(fp), INTENT(IN) :: PDOWN(:,:,:) ! Precip TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input options TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Met State object LOGICAL, INTENT(IN) :: errPrint ! Print error messages ! ! !INPUT/OUTPUT PARAMETERS: ! REAL(fp), INTENT(INOUT) :: DSpc(:,:,:,:) ! Accumulator array ! [kg/m2] TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diags State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! A fraction ALPHA of the raindrops falling down from grid ! box (I,J,L+1) to grid box (I,J,L) will evaporate along the ! way. ALPHA is given by: ! ! precip leaving (I,J,L+1) - precip leaving (I,J,L) ! ALPHA = --------------------------------------------------- ! precip leaving (I,J,L+1) ! ! ! -QQ(L,I,J) * DZ(I,J,L) ! = -------------------------- ! PDOWN(L+1,I,J) ! ! We assume that a fraction ALPHA2 = 0.5 * ALPHA of the ! previously rained-out aerosols and HNO3 coming down from ! level (I,J,L+1) will evaporate and re-enter the atmosphere ! in the gas phase in grid box (I,J,L). This process is ! called "resuspension". ! ! For non-aerosol species, the amount of previously rained ! out mass coming down from grid box (I,J,L+1) to grid box ! (I,J,L) is figured into the total mass available for ! washout in grid box (I,J,L). We therefore do not have to ! use the fraction ALPHA2 to compute the resuspension. ! ! NOTE from Hongyu Liu about ALPHA (hyl, 2/29/00) ! ============================================================= ! If our QQ field was perfect, the evaporated amount in grid ! box (I,J,L) would be at most the total rain amount coming ! from above (i.e. PDOWN(I,J,L+1) ). But this is not true for ! the MOISTQ field we are using. Sometimes the evaporation in ! grid box (I,J,L) can be more than the rain amount from above. ! The reason is our "evaporation" also includes the effect of ! cloud detrainment. For now we cannot find a way to ! distinguish betweeen the two. We then decided to release ! aerosols in both the detrained air and the evaporated air. ! ! Therefore, we should use this term in the numerator: ! ! -QQ(I,J,L) * BXHEIGHT(I,J,L) ! ! instead of the term: ! ! PDOWN(L+1)-PDOWN(L) ! ! Recall that in make_qq.f we have restricted PDOWN to ! positive values, otherwise, QQ would be equal to ! PDOWN(L+1)-PDOWN(L). ! ============================================================= ! Update (V. Shah 6/29/16) ! For GEOS-FP and MERRA2 met fields we use the ! following term in the numerator instead: ! REEVAP(L,I,J) * BXHEIGHT(I,J,L) ! ============================================================= ! ! !REVISION HISTORY: ! 16 Sep 2010 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: KIN, DO_REEVAP INTEGER :: N, NW, S REAL(fp) :: ALPHA, ALPHA2, GAINED, LOST REAL(fp) :: MASS_WASH, MASS_NOWASH, WASHFRAC, WETLOSS REAL(fp) :: TK, TF ! Strings CHARACTER(LEN=255) :: ErrorMsg, ThisLoc ! Pointers ! We need to define local array to hold species concentraiton values ! from the Chemistry State (State_Chm) object [kg/m2] (ewl, 9/29/15) TYPE(SpcConc), POINTER :: Spc(:) #ifdef TOMAS REAL(fp) :: REEVAPSO2 !(win, 7/16/09) INTEGER :: KMIN !(win, 7/16/09) #endif !======================================================================= ! DO_WASHOUT_ONLY begins here! !======================================================================= ! Initialize RC = GC_SUCCESS ErrorMsg = '' ThisLoc = ' -> at Do_Washout_Only (in module GeosCore/wetscav_mod.F90)' ! Point to the chemical species array [kg/m2] Spc => State_Chm%Species !----------------------------------------------------------------------- ! HISTORY (aka netCDF diagnostics) ! ! Archive the fraction of the box that is undergoing large-scale ! precipitation (PrecipFracLs). This includes contributions ! from both rainout and washout. Here we add the contribution ! from washout. ! ! NOTE: We always assume large-scale precipitation, because ! the LS flag is always set to TRUE in the calling routine ! for both GEOS-FP and MERRA-2 meteorology. !----------------------------------------------------------------------- !### Comment out this diagnostic for now (bmy, 6/2/20) !### ! NOTE: This diagnostic may need some work !### ! Units: [1] !### IF ( State_Diag%Archive_PrecipFracLS ) THEN !### State_Diag%PrecipFracLS(I,J,L) = State_Diag%PrecipFracLS(I,J,L) + & !### F_Washout !### ENDIF ! air temperature [K] TK = State_Met%T(I,J,L) ! TOTAL precipitation fraction TF = F_WASHOUT + F_RAINOUT !----------------------------------------------------------------------- ! Loop over all wet deposition species !----------------------------------------------------------------------- DO NW = 1, State_Chm%nWetDep ! Get the species ID from the wetdep ID N = State_Chm%Map_WetDep(NW) ! zero local variables ALPHA = 0e+0_fp ALPHA2 = 0e+0_fp WASHFRAC = 0e+0_fp MASS_WASH = 0e+0_fp MASS_NOWASH = 0e+0_fp WETLOSS = 0e+0_fp GAINED = 0e+0_fp LOST = 0e+0_fp #ifdef TOMAS REEVAPSO2 = 0.0_fp KMIN = 0 #endif ! Call WASHOUT to compute the fraction of ! species lost to washout in grid box (I,J,L) CALL WASHOUT( & ! --- Input --- I = I, & J = J, & L = L, & N = N, & BXHEIGHT = State_Met%BXHEIGHT(I,J,L), & TK = TK, & PP = QDOWN, & DT = DT, & F = TF, & Input_Opt = Input_Opt, & State_Grid = State_Grid, & State_Met = State_Met, & #ifdef LUO_WETDEP pHRain = State_Chm%pHRain(I,J,L), & #endif #ifdef TOMAS fromWetDep = .TRUE., & #endif ! --- Input/Output --- State_Chm = State_Chm, & H2O2s = State_Chm%H2O2AfterChem(I,J,L), & SO2s = State_Chm%SO2AfterChem(I,J,L), & ! --- Output --- WASHFRAC = WASHFRAC, & KIN = KIN, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN IF ( errPrint ) THEN ErrorMsg = 'Error encountered in "Washout"!' CALL GC_Error( ErrorMsg, RC, ThisLoc ) ENDIF RETURN ENDIF !%%% BUG FIX (bmy, hamos, 5/26/11, 8/12/15) ! ! Check if WASHFRAC = NaN or WASHFRAC < 0.1 % ! ! If WASHFRAC = NaN, then DSpc = NaN and SAFETY trips because ! species concentrations must be finite.WASHFRAC = NaN when F = 0. ! When less than 0.1% of a soluble species is available for washout ! DSpc < 0 and SAFETY trips. (Helen Amos, 20100928) ! ! Viral Shah wrote: ! The condition requiring that the WASHFRAC>1D-3 or any number ! greater than 0 for washout to occur, prevents the partial ! resuspension of the dissolved mass falling from above, and leads ! to an overestimate in the wet deposited mass... I recommend that ! the condition on WASHFRAC should be removed. If this leads to ! negative values of DSpc, we should add a few lines to restrict ! DSpc to a minimum of 0. (mps, 5/20/15) ! IF ( IT_IS_NAN( WASHFRAC ) ) THEN CYCLE ENDIF ! Adjust WASHFRAC accordingly for aerosols. NOTE: TF is always ! > 0 since DO_WASHOUT_ONLY is only called if F_WASHOUT > 0. ! We will never get a div-by-zero error here. (bmy, 5/27/11) IF ( KIN ) THEN WASHFRAC = WASHFRAC / TF * F_WASHOUT ENDIF !==================================================================== ! Washout of aerosol species -- ! this is modeled as a kinetic process !==================================================================== IF ( KIN ) THEN ! Define ALPHA, the fraction of the raindrops that ! re-evaporate when falling from (I,J,L+1) to (I,J,L) #ifdef LUO_WETDEP ALPHA = ( ABS( Q ) * State_Met%BXHEIGHT(I,J,L) * 100e+0_fp ) & / MAX( 1.D-30, PDOWN(L+1,I,J) ) #else ALPHA = ( ABS( Q ) * State_Met%BXHEIGHT(I,J,L) * 100e+0_fp ) & / ( PDOWN(L+1,I,J) ) #endif ! Restrict ALPHA to be less than 1 (>1 is unphysical) ! (hma, 24-Dec-2010) IF ( ALPHA > 1e+0_fp ) THEN ALPHA = 1e+0_fp ENDIF ! ALPHA2 is the fraction of the rained-out aerosols ! that gets resuspended in grid box (I,J,L) ALPHA2 = 0.5e+0_fp * ALPHA ! GAINED is the rained out aerosol coming down from ! grid box (I,J,L+1) that will evaporate and re-enter ! the atmosphere in the gas phase in grid box (I,J,L). GAINED = DSpc(NW,L+1,I,J) * ALPHA2 ! Amount of aerosol lost to washout in grid box ! (qli, bmy, 10/29/02) WETLOSS = Spc(N)%Conc(I,J,L) * WASHFRAC - GAINED ! Remove washout losses in grid box (I,J,L) from Spc. ! Add the aerosol that was reevaporated in (I,J,L). ! SO2 in sulfate chemistry is wet-scavenged on the ! raindrop and converted to SO4 by aqeuous chem. ! If evaporation occurs then SO2 comes back as SO4 ! (rjp, bmy, 3/23/03) IF ( N == id_SO2 ) THEN Spc(id_SO4)%Conc(I,J,L) = Spc(id_SO4)%Conc(I,J,L) & + GAINED * 96e+0_fp / 64e+0_fp #ifdef APM State_Chm%PSO4_SO2APM2(I,J,L) = & State_Chm%PSO4_SO2APM2(I,J,L) + GAINED * 96e+0_fp / 64e+0_fp #endif Spc(N)%Conc(I,J,L) = Spc(N)%Conc(I,J,L) * ( 1e+0_fp - WASHFRAC ) #ifdef TOMAS !added for TOMAS (win, 7/16/09) ! Re-evaporated portion get distributed onto ! size-resolved sulfate by AQOXID (win, 7/16/09) IF ( GAINED > 0e+0_fp ) THEN IF ( LS ) THEN ! JKodros (6/2/15 - allow for different TOMAS bin lengths) #if defined( TOMAS12 ) KMIN = 5 #elif defined( TOMAS15 ) KMIN = 8 #elif defined( TOMAS30 ) KMIN = 10 #else KMIN = 20 #endif ELSE #if defined( TOMAS12 ) KMIN = 3 #elif defined( TOMAS15 ) KMIN = 6 #elif defined( TOMAS30 ) KMIN = 6 #else KMIN = 16 #endif ENDIF ! ***NOTE*** Species concentration units are currently in ! [kg/m2] which is incompatible with TOMAS. Units are ! therefore converted to [kg] locally within AQOXID. ! GAINED is now [kg/m2] ans so is multiplied ! by area prior to passing REEVAPSO2 to AQOXID (ewl, 9/30/15) REEVAPSO2 = GAINED * 96e+0_fp / 64e+0_fp IF ( Spc(id_SO2)%Units == KG_SPECIES_PER_M2 ) THEN REEVAPSO2 = REEVAPSO2 * State_Grid%Area_M2(I,J) ENDIF ! NOTE: Species units are kg here CALL AqOxid( & I = I, & J = J, & L = L, & fromWetDep = .TRUE., & MOXID = REEVAPSO2, & KMIN = KMIN, & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & State_Diag = State_Diag, & RC = RC ) ENDIF !end -added for TOMAS (win, 7/16/09) #endif ELSE Spc(N)%Conc(I,J,L) = Spc(N)%Conc(I,J,L) - WETLOSS ENDIF ! LOST is the rained out aerosol coming down from ! grid box (I,J,L+1) that will remain in the liquid ! phase in grid box (I,J,L) and will NOT re-evaporate. LOST = DSpc(NW,L+1,I,J) - GAINED ! Add the washed out species from grid box (I,J,L) to ! DSpc. Also add the amount of species coming down ! from grid box (I,J,L+1) that does NOT re-evaporate. IF ( F_RAINOUT > 0e+0_fp ) THEN DSpc(NW,L,I,J) = DSpc(NW,L, I,J) + WETLOSS ELSE DSpc(NW,L,I,J) = DSpc(NW,L+1,I,J) + WETLOSS ENDIF !----------------------------------------------------------------- ! HISTORY (aka netCDF diagnostics) ! ! Archive the fraction of soluble species lost to washout ! in large-scale precipitation (WashFracLS) ! ! Here we only handle the soluble aerosol species !----------------------------------------------------------------- !### Comment out this diagnostic for now (bmy, 6/2/20) !### ! Units: [1] !### IF ( State_Diag%Archive_WashFracLS .and. F_Washout > 0.0_fp ) THEN !### State_Diag%WashFracLS(I,J,L,NW) = WashFrac / F_Washout !### ENDIF !==================================================================== ! Washout of non-aerosol species ! This is modeled as an equilibrium process !==================================================================== ELSE ! MASS_NOWASH is the amount of non-aerosol species in ! grid box (I,J,L) that is NOT available for washout. MASS_NOWASH = ( 1e+0_fp - F_WASHOUT ) * Spc(N)%Conc(I,J,L) ! MASS_WASH is the total amount of non-aerosol species ! that is available for washout in grid box (I,J,L). ! It consists of the mass in the precipitating ! part of box (I,J,L), plus the previously rained-out ! species coming down from grid box (I,J,L+1). ! (Eq. 15, Jacob et al, 2000). MASS_WASH = ( F_WASHOUT*Spc(N)%Conc(I,J,L) ) + DSpc(NW,L+1,I,J) ! WETLOSS is the amount of species mass in ! grid box (I,J,L) that is lost to washout. ! (Eq. 16, Jacob et al, 2000) WETLOSS = ( MASS_WASH - DSpc(NW,L+1,I,J) ) * WASHFRAC ! The species left in grid box (I,J,L) is what was ! in originally in the non-precipitating fraction ! of the box, plus MASS_WASH, less WETLOSS. Spc(N)%Conc(I,J,L) = Spc(N)%Conc(I,J,L) - WETLOSS ! Add washout losses in grid box (I,J,L) to DSpc IF ( F_RAINOUT > 0e+0_fp ) THEN DSpc(NW,L,I,J) = DSpc(NW,L, I,J) + WETLOSS ELSE DSpc(NW,L,I,J) = DSpc(NW,L+1,I,J) + WETLOSS ENDIF !----------------------------------------------------------------- ! HISTORY (aka netCDF diagnostics) ! ! Archive the fraction of soluble species lost to washout ! in large-scale precipitation (WashFracLS) ! ! Here we handle the non-aerosol soluble species. We don't ! have to divide by F_Washout, since this has already been ! accounted for in the equations above. !----------------------------------------------------------------- !### Comment out this diagnostic for now (bmy, 6/2/20) !### ! Units: [1] !### IF ( State_Diag%Archive_WashFracLS ) THEN !### State_Diag%WashFracLS(I,J,L,NW) = WashFrac !### ENDIF ENDIF !-------------------------------------------------------------------- ! HISTORY (aka netCDF diagnostics) ! ! Archive the amount of soluble species lost to large-scale ! precipitation (WetLossLS). This includes contributions ! from rainout, washout, and reevaporation. Here we add the ! component from washout. !-------------------------------------------------------------------- ! Units: [kg/s], but eventually consider changing to [kg/m2/s] IF ( State_Diag%Archive_WetLossLS ) THEN S = State_Diag%Map_WetLossLS%id2slot(NW) IF ( S > 0 ) THEN State_Diag%WetLossLS(I,J,L,S) = & State_Diag%WetLossLS(I,J,L,S) + ( WetLoss / DT ) & * State_Grid%Area_M2(I,J) ENDIF ENDIF ! Satellite diagnostic collection ! Units: [kg/s], but eventually consider changing to [kg/m2/s] IF ( State_Diag%Archive_SatDiagnWetLossLS ) THEN S = State_Diag%Map_SatDiagnWetLossLS%id2slot(NW) IF ( S > 0 ) THEN State_Diag%SatDiagnWetLossLS(I,J,L,S) = & State_Diag%SatDiagnWetLossLS(I,J,L,S) + ( WetLoss / DT ) & * State_Grid%Area_M2(I,J) ENDIF ENDIF ! Archive wet loss in kg/m2/s IF ( LSOILNOX ) THEN CALL SOIL_WETDEP ( I, J, N, WETLOSS / DT, State_Chm ) ENDIF !--------------------------------------------------------------------- ! Error checks !--------------------------------------------------------------------- IF ( IT_IS_NAN( Spc(N)%Conc(I,J,L) ) .or. & Spc(N)%Conc(I,J,L) < 0e+0_fp .or. & DSpc(NW,L,I,J) < 0e+0_fp ) THEN ! Print error message and stop simulaton IF ( errPrint ) THEN CALL SAFETY( I, J, L, N, ERRMSG, & LS = LS, & PDOWN = State_Met%PDOWN(L+1,I,J), & QQ = State_Met%QQ(L,I,J), & ALPHA = ALPHA, & ALPHA2 = ALPHA2, & RAINFRAC = 0e+0_fp, & WASHFRAC = WASHFRAC, & MASS_WASH = MASS_WASH, & MASS_NOWASH = MASS_NOWASH, & WETLOSS = WETLOSS, & GAINED = GAINED, & LOST = LOST, & State_Grid = State_Grid, & DSpc = DSpc(NW,:,I,J), & Spc = Spc(N)%Conc(I,J,:), & RC = RC ) ENDIF ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN IF ( errPrint ) THEN ErrorMsg = 'Error encountered in "Safety"!' CALL GC_Error( ErrorMsg, RC, ThisLoc ) ENDIF Spc => NULL() RETURN ENDIF ENDIF ENDDO ! Free pointer Spc => NULL() END SUBROUTINE DO_WASHOUT_ONLY !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: do_complete_reevap ! ! !DESCRIPTION: Subroutine DO\_COMPLETE\_REEVAP re-evaporates all of the ! soluble species back into the atmosphere. !\\ !\\ ! !INTERFACE: ! SUBROUTINE DO_COMPLETE_REEVAP( LS, I, J, & L, IDX, ERRMSG, & DT, DSpc, errPrint, & Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE Error_Mod, ONLY : It_Is_Nan USE GET_NDEP_MOD, ONLY : SOIL_WETDEP ! Wet deposited species USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState #ifdef TOMAS USE TOMAS_MOD, ONLY : AQOXID #endif USE UnitConv_Mod ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: LS ! =T denotes LS precip INTEGER, INTENT(IN) :: I ! Longitude index INTEGER, INTENT(IN) :: J ! Latitude index INTEGER, INTENT(IN) :: L ! Level index INTEGER, INTENT(IN) :: IDX ! ND38 index CHARACTER(LEN=*), INTENT(IN) :: ERRMSG ! Error message REAL(fp), INTENT(IN) :: DT ! Rainout timestep [s] LOGICAL, INTENT(IN) :: errPrint ! Print error messages TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input options TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Met State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostic State object REAL(fp), INTENT(INOUT) :: DSpc(:,:,:,:) ! Accumulator array [kg/m2] ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 16 Sep 2010 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N, NW, S REAL(fp) :: WETLOSS ! Strings CHARACTER(LEN=255) :: ErrorMsg, ThisLoc ! Pointers TYPE(SpcConc), POINTER :: Spc(:) #ifdef TOMAS REAL(fp) :: REEVAPSO2 !(win, 7/16/09) INTEGER :: KMIN !(win, 7/16/09) #endif !======================================================================== ! DO_COMPLETE_REEVAP begins here! !======================================================================== ! Initialize RC = GC_SUCCESS ErrorMsg = '' ThisLoc = ' -> at Do_Complete_Reevap (in module GeosCore/wetscav_mod.F90)' ! Point to chemical species array [kg/m2] Spc => State_Chm%Species ! Loop over wetdep species DO NW = 1, State_Chm%nWetDep ! Get the species ID from the wetdep ID N = State_Chm%Map_WetDep(NW) ! WETLOSS is the amount of species in grid box (I,J,L) per area ! that is lost to rainout. (qli, bmy, 10/29/02) WETLOSS = -DSpc(NW,L+1,I,J) ! All of the rained-out species coming from grid box ! (I,J,L+1) goes back into the gas phase at (I,J,L) ! In evap, SO2 comes back as SO4 (rjp, bmy, 3/23/03) IF ( N == id_SO2 ) THEN Spc(id_SO4)%Conc(I,J,L) = Spc(id_SO4)%Conc(I,J,L) - & ( WETLOSS * 96e+0_fp / 64e+0_fp ) #ifdef APM State_Chm%PSO4_SO2APM2(I,J,L) = & State_Chm%PSO4_SO2APM2(I,J,L) - ( WETLOSS * 96e+0_fp / 64e+0_fp ) #endif #ifdef TOMAS !added for TOMAS (win, 7/16/09) ! Save the amout of SO4 [kg S] added via aqueous ! chem to ND05(6) diagnostic assuming it's all ! by reacting with H2O2 (win, 7/16/09) !================================================================= ! sfarina - commenting out this DIAG for now... unclear if this ! was even correct in the older verions because of an ! error in the calculation of GAINED !================================================================= !IF ( ND05 > 0 .and. L <= LD05 ) & ! AD05(I,J,L,6) = AD05(I,J,L,6) + ( GAINED * 32D0 / 64D0 ) ! Re-evaporated portion get distributed onto ! size-resolved sulfate by AQOXID (win, 7/16/09) IF ( ABS(WETLOSS) > 0e+0_fp ) THEN IF ( LS ) THEN ! JKodros (6/2/15) - Allow for different TOMAS bin lengths #if defined( TOMAS12 ) KMIN = 5 #elif defined( TOMAS15 ) KMIN = 8 #elif defined( TOMAS30 ) KIMIN = 10 #else KMIN = 20 #endif ELSE #if defined( TOMAS12 ) KMIN = 3 #elif defined( TOMAS15 ) KMIN = 6 #elif defined( TOMAS30 ) KIMIN = 6 #else KMIN = 16 #endif ENDIF ! ***NOTE*** Species concentration units are currently in ! [kg/m2] which is incompatible with TOMAS. Units are ! therefore converted to [kg] locally within AQOXID. ! GAINED is now [kg/m2] ans so is multiplied ! by area prior to passing REEVAPSO2 to AQOXID (ewl, 9/30/15) REEVAPSO2 = - ( WETLOSS * 96e+0_fp / 64e+0_fp ) IF ( Spc(id_SO2)%Units == KG_SPECIES_PER_M2 ) THEN REEVAPSO2 = REEVAPSO2 * State_Grid%Area_M2(I,J) ENDIF CALL AqOxid( & I = I, & J = J, & L = L, & MOXID = REEVAPSO2, & KMIN = KMIN, & fromWetDep = .TRUE., & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & State_Diag = State_Diag, & RC = RC ) ENDIF !end- added for TOMAS (win, 7/16/09) #endif ELSE Spc(N)%Conc(I,J,L) = Spc(N)%Conc(I,J,L) - WETLOSS ENDIF ! There is nothing rained out/washed out in grid box ! (I,J,L), so set DSpc at grid box (I,J,L) to zero. DSpc(NW,L,I,J) = 0e+0_fp !-------------------------------------------------------------------- ! HISTORY (aka netCDF diagnostics) ! ! Archive the amount of soluble species lost to large-scale ! precipitation (WetLossLs). This includes contributions ! from rainout, washout, and reevaporation. Here we add the ! component from reevaporation (which is negative). !-------------------------------------------------------------------- ! Units: [kg/s], but eventually consider changing to [kg/m2/s] IF ( State_Diag%Archive_WetLossLs ) THEN S = State_Diag%Map_WetLossLs%id2slot(NW) IF ( S > 0 ) THEN State_Diag%WetLossLs(I,J,L,S) = & State_Diag%WetLossLs(I,J,L,S) + ( WetLoss / DT ) & * State_Grid%Area_M2(I,J) ENDIF ENDIF ! Satellite diagnostic collection ! Units: [kg/s], but eventually consider changing to [kg/m2/s] IF ( State_Diag%Archive_SatDiagnWetLossLS ) THEN S = State_Diag%Map_SatDiagnWetLossLS%id2slot(NW) IF ( S > 0 ) THEN State_Diag%SatDiagnWetLossLS(I,J,L,S) = & State_Diag%SatDiagnWetLossLS(I,J,L,S) + ( WetLoss / DT ) & * State_Grid%Area_M2(I,J) ENDIF ENDIF ! Archive wet loss in kg/m2/s IF ( LSOILNOX ) THEN CALL SOIL_WETDEP ( I, J, N, WETLOSS / DT, State_Chm ) ENDIF !-------------------------------------------------------------------- ! Error checks !-------------------------------------------------------------------- IF ( IT_IS_NAN( Spc(N)%Conc(I,J,L) ) .or. & Spc(N)%Conc(I,J,L) < 0e+0_fp .or. & DSpc(NW,L,I,J) < 0e+0_fp ) THEN ! Print error message and stop simulaton IF ( errPrint ) THEN CALL SAFETY( I, J, L, N, ERRMSG, & LS = LS, & PDOWN = 0e+0_fp, & QQ = 0e+0_fp, & ALPHA = 0e+0_fp, & ALPHA2 = 0e+0_fp, & RAINFRAC = 0e+0_fp, & WASHFRAC = 0e+0_fp, & MASS_WASH = 0e+0_fp, & MASS_NOWASH = 0e+0_fp, & WETLOSS = WETLOSS, & GAINED = 0e+0_fp, & LOST = 0e+0_fp, & State_Grid = State_Grid, & DSpc = DSpc(NW,:,I,J), & Spc = Spc(N)%Conc(I,J,:), & RC = RC ) ENDIF ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN IF ( errPrint ) THEN ErrorMsg = 'Error encountered in "Safety"!' CALL GC_Error( ErrorMsg, RC, ThisLoc ) ENDIF Spc => NULL() RETURN ENDIF ENDIF ENDDO ! Free pointer Spc => NULL() END SUBROUTINE DO_COMPLETE_REEVAP !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: do_washout_at_sfc ! ! !DESCRIPTION: Subroutine DO\_WASHOUT\_AT\_SFC washes out the species ! at the surface. !\\ !\\ ! !INTERFACE: ! SUBROUTINE DO_WASHOUT_AT_SFC( LS, I, J, & L, IDX, ERRMSG, & QDOWN, F, DT, & DSpc, errPrint, Input_Opt, & State_Chm, State_Diag, State_Grid, & State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD, ONLY : IT_IS_NAN ! Test for NaN USE GET_NDEP_MOD, ONLY : SOIL_WETDEP ! Wet deposited species USE Input_Opt_Mod, ONLY : OptInput ! Input options USE Species_Mod, ONLY : SpcConc ! Species conc pointer array USE State_Chm_Mod, ONLY : ChmState ! Chm State object USE State_Diag_Mod, ONLY : DgnState ! Diagnostic State object USE State_Grid_Mod, ONLY : GrdState ! Grid State object USE State_Met_Mod, ONLY : MetState ! Met State object ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: LS ! =T denotes LS precip INTEGER, INTENT(IN) :: I ! Longitude index INTEGER, INTENT(IN) :: J ! Latitude index INTEGER, INTENT(IN) :: L ! Level index INTEGER, INTENT(IN) :: IDX ! ND38 index CHARACTER(LEN=*), INTENT(IN) :: ERRMSG ! Error message REAL(fp), INTENT(IN) :: QDOWN ! Precip leaving thru ! bottom of box (I,J,L) REAL(fp), INTENT(IN) :: F ! Fraction of grid box ! undergoing precip REAL(fp), INTENT(IN) :: DT ! Rainout timestep [s] LOGICAL, INTENT(IN) :: errPrint ! Print error message? TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input options TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Met State object ! ! !INPUT/OUTPUT PARAMETERS: ! REAL(fp), INTENT(INOUT) :: DSpc(:,:,:,:) ! Accumulator array ! [kg/m2] TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diags State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! Assume all of the species precipitating down from grid box (I,J,L=2) to ! grid box (I,J,L=1) gets washed out in grid box (I,J,L=1). ! ! !REVISION HISTORY: ! 16 Sep 2010 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: KIN INTEGER :: N, NW, S REAL(fp) :: WASHFRAC, WETLOSS, TMP, TK ! Strings CHARACTER(LEN=255) :: ErrorMsg, ThisLoc ! Pointers TYPE(SpcConc), POINTER :: Spc(:) !======================================================================= ! DO_WASHOUT_AT_SFC begins here! !======================================================================= ! Initialize RC = GC_SUCCESS ErrorMsg = '' ThisLoc = ' -> at Do_Washout_at_Sfc (in module GeosCore/wetscav_mod.F90)' ! Point to the chemical species array [kg/m2] Spc => State_Chm%Species !----------------------------------------------------------------------- ! HISTORY (aka netCDF diagnostics) ! ! Archive the fraction of the box that is undergoing large-scale ! precipitation (PrecipFracLs). This includes contributions ! from both rainout and washout. Here we add the contribution ! from washout. ! ! NOTE: We always assume large-scale precipitation, because ! the LS flag is always set to TRUE in the calling routine ! for both GEOS-FP and MERRA-2 meteorology. !----------------------------------------------------------------------- !### Comment out this diagnostic for now (bmy, 6/2/20) !### ! NOTE: This diagnostic may need some work !### ! Units: [1] !### IF ( State_Diag%Archive_PrecipFracLS ) THEN !### State_Diag%PrecipFracLS(I,J,L) = State_Diag%PrecipFracLS(I,J,L) + F !### ENDIF ! air temperature [K] TK = State_Met%T(I,J,L) !----------------------------------------------------------------------- ! Loop over all wet deposition species !----------------------------------------------------------------------- DO NW = 1, State_Chm%nWetDep ! Get species ID from wetdep ID N = State_Chm%Map_WetDep(NW) ! Call WASHOUT to compute the fraction of species ! in grid box (I,J,L) that is lost to washout. CALL WASHOUT( & ! --- Input --- I = I, & J = J, & L = L, & N = N, & BXHEIGHT = State_Met%BXHEIGHT(I,J,L), & TK = TK, & PP = QDOWN, & DT = DT, & F = F, & Input_Opt = Input_Opt, & State_Grid = State_Grid, & State_Met = State_Met, & #ifdef LUO_WETDEP pHRain = State_Chm%pHRain(I,J,L), & #endif #ifdef TOMAS fromWetDep = .TRUE., & #endif ! --- Input/Output --- State_Chm = State_Chm, & H2O2s = State_Chm%H2O2AfterChem(I,J,L), & SO2s = State_Chm%SO2AfterChem(I,J,L), & ! --- Output --- WASHFRAC = WASHFRAC, & KIN = KIN, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN IF ( errPrint ) THEN ErrorMsg = 'Error encountered in "Washout"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) ENDIF Spc => NULL() RETURN ENDIF ! NOTE: for HNO3 and aerosols, there is an F factor ! already present in WASHFRAC. For other soluble ! gases, we need to multiply by the F (hyl, bmy, 10/27/00) IF ( KIN ) THEN WETLOSS = Spc(N)%Conc(I,J,L) * WASHFRAC ELSE WETLOSS = Spc(N)%Conc(I,J,L) * WASHFRAC * F ENDIF ! Subtract WETLOSS from Spc [kg/m2] Spc(N)%Conc(I,J,L) = Spc(N)%Conc(I,J,L) - WETLOSS ! Add washout losses in grid box (I,J,L=1) to DSpc [kg/m2] ! (added cdh, 4/14/2009) DSpc(NW,L,I,J) = DSpc(NW,L+1,I,J) + WETLOSS !-------------------------------------------------------------- ! HISTORY (aka netCDF diagnostics) ! ! Archive the fraction of soluble species lost to washout ! in large-scale precipitation (WashFracLS) !-------------------------------------------------------------- !### Comment out this diagnostic for now (bmy, 6/2/20) !### IF ( State_Diag%Archive_WashFracLS ) THEN !### !### ! Only divide WASHFRAC by F for aerosols, since !### ! for non-aerosols this is already accounted for !### IF ( KIN ) THEN !### Tmp = WashFrac / F !### ELSE !### TMP = WashFrac !### ENDIF !### !### ! Units: [1] !### State_Diag%WashFracLS(I,J,L,NW) = Tmp !### ENDIF !-------------------------------------------------------------- ! HISTORY (aka netCDF diagnostics) ! ! Archive the amount of soluble species lost to large-scale ! precipitation (WetLossLS). This includes contributions ! from rainout, washout, and reevaporation. Here we add the ! component from washout. !-------------------------------------------------------------- ! Units: [kg/s], but eventually consider changing to [kg/m2/s] IF ( State_Diag%Archive_WetLossLS ) THEN S = State_Diag%Map_WetLossLS%id2slot(NW) IF ( S > 0 ) THEN State_Diag%WetLossLS(I,J,L,S) = & State_Diag%WetLossLS(I,J,L,S) + ( WetLoss / DT ) & * State_Grid%Area_M2(I,J) ENDIF ENDIF ! Satellite diagnostic collection ! Units: [kg/s], but eventually consider changing to [kg/m2/s] IF ( State_Diag%Archive_SatDiagnWetLossLS ) THEN S = State_Diag%Map_SatDiagnWetLossLS%id2slot(NW) IF ( S > 0 ) THEN State_Diag%SatDiagnWetLossLS(I,J,L,S) = & State_Diag%SatDiagnWetLossLS(I,J,L,S) + ( WetLoss / DT ) & * State_Grid%Area_M2(I,J) ENDIF ENDIF ! Archive wet loss in kg/m2/s IF ( LSOILNOX ) THEN CALL SOIL_WETDEP ( I, J, N, WETLOSS / DT, State_Chm ) ENDIF !-------------------------------------------------------------------- ! Dirty kludge to prevent wet deposition from removing ! stuff from stratospheric boxes -- this can cause ! negative species (rvm, bmy, 6/21/00) ! IF ( Spc(N)%Conc(I,J,L) < 0e+0_fp .and. L > 23 ) THEN WRITE ( 6, 101 ) I, J, L, N, 7 101 FORMAT( 'WETDEP - Spc < 0 at ', 3i4, & ' for species ', i4, 'in area ', i4 ) PRINT*, 'Spc:', Spc(N)%Conc(I,J,:) Spc(N)%Conc(I,J,L) = 0e+0_fp ENDIF !-------------------------------------------------------------------- !-------------------------------------------------------------------- ! Error checks !-------------------------------------------------------------------- IF ( IT_IS_NAN( Spc(N)%Conc(I,J,L) ) .or. & Spc(N)%Conc(I,J,L) < 0e+0_fp .or. & DSpc(NW,L,I,J) < 0e+0_fp ) THEN !PRINT*, 'WASHFRAC = ', WASHFRAC !PRINT*, 'F = ', F ! Print error message and stop simulaton IF ( errPrint ) THEN CALL SAFETY( I, J, L, N, ERRMSG, & LS = LS, & PDOWN = 0e+0_fp, & QQ = 0e+0_fp, & ALPHA = 0e+0_fp, & ALPHA2 = 0e+0_fp, & RAINFRAC = 0e+0_fp, & WASHFRAC = 0e+0_fp, & MASS_WASH = 0e+0_fp, & MASS_NOWASH = 0e+0_fp, & WETLOSS = WETLOSS, & GAINED = 0e+0_fp, & LOST = 0e+0_fp, & State_Grid = State_Grid, & DSpc = DSpc(NW,:,I,J), & Spc = Spc(N)%Conc(I,J,:), & RC = RC ) ENDIF ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN IF ( errPrint ) THEN ErrorMsg = 'Error encountered in "Safety"!' CALL GC_Error( ErrorMsg, RC, ThisLoc ) ENDIF Spc => NULL() RETURN ENDIF ENDIF ENDDO ! Free pointer Spc => NULL() END SUBROUTINE DO_WASHOUT_AT_SFC !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: safety ! ! !DESCRIPTION: Subroutine SAFETY stops the run with debug output and an ! error message if negative species are found. !\\ !\\ ! !INTERFACE: ! SUBROUTINE SAFETY( I, J, L, N, & A, LS, PDOWN, QQ, & ALPHA, ALPHA2, RAINFRAC, WASHFRAC, & MASS_WASH, MASS_NOWASH, WETLOSS, GAINED, & LOST, State_Grid, DSpc, Spc, & RC ) ! ! !USES: ! USE ErrCode_Mod USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: LS ! INTEGER, INTENT(IN) :: I ! INTEGER, INTENT(IN) :: J ! INTEGER, INTENT(IN) :: L ! INTEGER, INTENT(IN) :: N ! CHARACTER(LEN=*), INTENT(IN) :: A ! REAL(fp), INTENT(IN) :: PDOWN ! REAL(fp), INTENT(IN) :: QQ ! REAL(fp), INTENT(IN) :: ALPHA ! REAL(fp), INTENT(IN) :: ALPHA2 ! REAL(fp), INTENT(IN) :: RAINFRAC ! REAL(fp), INTENT(IN) :: WASHFRAC ! REAL(fp), INTENT(IN) :: MASS_WASH ! REAL(fp), INTENT(IN) :: MASS_NOWASH ! REAL(fp), INTENT(IN) :: WETLOSS ! REAL(fp), INTENT(IN) :: GAINED ! REAL(fp), INTENT(IN) :: LOST ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object REAL(fp), INTENT(IN) :: DSpc(State_Grid%NZ) ! ! !INPUT/OUTPUT PARAMETERS: ! REAL(fp), INTENT(INOUT) :: Spc(State_Grid%NZ) ! ! ! OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 18 Mar 2004 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc !====================================================================== ! SAFETY begins here! !====================================================================== ! TL Added: 9/29/25: Start WetDep-Safety-Update ! TL Added: 9/29/25: Following suggestion by yantosca (https://github.com/geoschem/geos-chem/issues/501) ! TL Added: 2/9/26: Removed Print and Flush Statements and BAD following comment by yantosca (https://github.com/geoschem/geos-chem/pull/3164/changes) ! TL Added: 9/29/25: WetDep-Safety-Update IF ( MINVAL(Spc) < 0.0_fp ) THEN !TL Added: 2/9/26: Wrapped Print in OMP CRITICAL following comment by yantosca (https://github.com/geoschem/geos-chem/pull/3164/changes) !$OMP CRITICAL PRINT*, 'Species', N, 'has a negative value', & 'at ', I, J, L, 'set to zero' !$OMP END CRITICAL ENDIF WHERE ( Spc < 0.0_fp ) ! Fix The Negative Spc = 0.0_fp ENDWHERE !TL Added: 9/29/25: End WetDep-Safety-Update ! Initialize RC = GC_SUCCESS ErrMsg = 'Error encountered in wet deposition!' ThisLoc = ' -> at SAFETY (in module GeosCore/wetscav_mod.F90)' ! Print line WRITE( 6, '(a)' ) REPEAT( '=', 79 ) ! Write error message and stop the run WRITE ( 6, 100 ) I, J, L, N, TRIM( A ) 100 FORMAT( 'WETDEP: ERROR at ', 3i4, ' for species ', i4, ' in area ', a ) PRINT*, 'LS : ', LS PRINT*, 'PDOWN : ', PDOWN PRINT*, 'QQ : ', QQ PRINT*, 'ALPHA : ', ALPHA PRINT*, 'ALPHA2 : ', ALPHA2 PRINT*, 'RAINFRAC : ', RAINFRAC PRINT*, 'WASHFRAC : ', WASHFRAC PRINT*, 'MASS_WASH : ', MASS_WASH PRINT*, 'MASS_NOWASH : ', MASS_NOWASH PRINT*, 'WETLOSS : ', WETLOSS PRINT*, 'GAINED : ', GAINED PRINT*, 'LOST : ', LOST PRINT*, 'DSpc(NW,:) : ', DSpc(:) PRINT*, 'Spc(I,J,:N) : ', Spc(:) ! Print line WRITE( 6, '(a)' ) REPEAT( '=', 79 ) ! Return with error CALL GC_Error( ErrMsg, RC, ThisLoc ) END SUBROUTINE SAFETY !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: get_vud ! ! !DESCRIPTION: Function GET\_VUD returns the vertical updraft velocity in ! m/s at location I, J, L. !\\ !\\ ! !INTERFACE: ! FUNCTION GET_VUD( State_Met, Input_Opt, I, J, L ) RESULT( VUD ) ! ! !USES: ! USE State_Met_Mod, ONLY : MetState USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT PARAMETERS: ! TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object INTEGER, INTENT(IN) :: I, J, L ! Location ! ! !RETURN VALUE: ! REAL(fp) :: VUD ! Vertical updraft velocity in m/s. ! ! !REVISION HISTORY: ! 12 Feb 2015 - C. Keller - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! LOGICAL :: VUD_DEFINED !================================================================= ! GET_VUD begins here! !================================================================= ! Init VUD_DEFINED = .FALSE. !================================================================= ! Use vertical updraft velocity from State_Met ! Convert hPa/s to m/s here !================================================================= #ifdef MODEL_GEOS IF ( Input_Opt%UseOnlineVUD ) THEN IF ( ASSOCIATED( State_Met%UPDVVEL ) ) THEN IF ( State_Met%DELP(I,J,L) > TINY_FP .AND. & State_Met%UPDVVEL(I,J,L) > 0.0_fp ) THEN ! Compute VUD VUD = State_Met%UPDVVEL (I,J,L) * State_Met%BXHEIGHT(I,J,L) / & State_Met%DELP (I,J,L) ! VUD is now defined VUD_DEFINED = .TRUE. ENDIF ENDIF ENDIF #else IF ( ASSOCIATED( State_Met%UPDVVEL ) ) THEN IF ( State_Met%DELP(I,J,L) > TINY_FP .AND. & State_Met%UPDVVEL(I,J,L) > 0.0_fp ) THEN ! Compute VUD VUD = State_Met%UPDVVEL (I,J,L) * State_Met%BXHEIGHT(I,J,L) / & State_Met%DELP (I,J,L) ! VUD is now defined VUD_DEFINED = .TRUE. ENDIF ENDIF #endif !================================================================= ! Traditional GEOS-Chem: ! Compute Vud -- 5 m/s over oceans, 10 m/s over land (or ice?) ! Assume Vud is the same at all altitudes; the array can be 2-D !================================================================= IF ( .NOT. VUD_DEFINED ) THEN IF ( State_Met%IsWater(I,J) ) THEN VUD = 5e+0_fp ELSE VUD = 10e+0_fp ENDIF ENDIF END FUNCTION GET_VUD !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: get_f ! ! !DESCRIPTION: Function GET\_F returns the scavenged fraction at location ! I, J, L and for the given rate constant K. !\\ !\\ ! !INTERFACE: ! FUNCTION GET_F( Input_Opt, State_Met, I, J, L, K ) RESULT( F ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object INTEGER, INTENT(IN) :: I, J, L ! Lon, lat, level indices REAL(fp), INTENT(IN) :: K ! Rate constant ! ! !RETURN VALUE: ! REAL(fp) :: F ! Fraction of species scavenged ! out of the updraft [1] ! ! !REVISION HISTORY: ! 12 Feb 2015 - C. Keller - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) :: TMP, VUD !================================================================= ! GET_F begins here! !================================================================= ! Distance between grid box centers [m] TMP = 0.5_fp * ( State_Met%BXHEIGHT(I,J,L-1) + State_Met%BXHEIGHT(I,J,L) ) ! Vertical updraft velocity [m/s] Vud = GET_VUD( State_Met, Input_Opt, I, J, L ) ! Compute F (avoid div-by-zero errors) IF ( Vud > TINY_FP ) THEN F = 1.0_fp - EXP( -K * TMP / Vud ) ELSE F = 0.0_fp ENDIF END FUNCTION GET_F !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: init_wetscav ! ! !DESCRIPTION: Subroutine INIT\_WETSCAV initializes updraft velocity, cloud ! liquid water content, cloud ice content, and mixing ratio of water fields, ! which are used in the wet scavenging routines. !\\ !\\ ! !INTERFACE: ! SUBROUTINE INIT_WETSCAV( Input_Opt, State_Chm, State_Diag, State_Grid, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : Species USE State_Chm_Mod, ONLY : ChmState USE State_Chm_Mod, ONLY : Ind_ USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(IN) :: State_Diag ! Diagnostics State object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 03 Sep 2015 - R. Yantosca - Split off from the old INIT_WETSCAV ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N, N_WD LOGICAL, SAVE :: FIRST = .TRUE. ! Strings CHARACTER(LEN=9) :: K0, CR, pKA CHARACTER(LEN=80) :: LINE ! Pointers TYPE(Species), POINTER :: SpcInfo !================================================================= ! INIT_WETSCAV begins here! !================================================================= ! Assume success RC = GC_SUCCESS ! Exit if this is a GEOS-Chem dryrun IF ( Input_Opt%DryRun ) RETURN ! Exit if we have already executed this routine IF ( .not. FIRST ) RETURN ! Initialize SpcInfo => NULL() ! Define species ID flags id_NK01 = Ind_('NK01' ) id_NH3 = Ind_('NH3' ) id_SF01 = Ind_('SF01' ) id_DUST01 = Ind_('DUST01') id_SO2 = Ind_('SO2' ) id_SO4 = Ind_('SO4' ) id_H2O2 = Ind_('H2O2' ) !================================================================= ! Print information about wet-depositing species !================================================================= IF ( Input_Opt%amIRoot .and. Input_Opt%Verbose & .and. State_Chm%nWetDep > 0 ) THEN ! Title LINE = 'INIT_WETSCAV: List of soluble species: ' WRITE( 6, '(/,a,/)' ) TRIM( LINE ) ! 1st line LINE = ' # Name Species Mol Wt ' // & ' Henry K0 Henry CR Henry pKa' WRITE( 6, '(a)' ) TRIM( LINE ) ! 2nd line LINE = 'ID g/mol M/atm K 1' WRITE( 6, '(24x,a)' ) TRIM( LINE ) ! Separator line WRITE( 6, '(a)' ) REPEAT( '-', 70 ) ! Loop over all wet-depositing species DO N_WD = 1, State_Chm%nWetDep ! Get the corresponding species ID N = State_Chm%Map_WetDep(N_WD) ! Get physical parameters from the species database object SpcInfo => State_Chm%SpcData(N)%Info ! Convert Henry's law K0 parameter to string IF ( SpcInfo%Henry_K0 > 0.0_f8 ) THEN WRITE( K0, '(es9.2)' ) SpcInfo%Henry_K0 ELSE K0 = ' - ' ENDIF ! Convert Henry's law CR parameter to string IF ( SpcInfo%Henry_K0 > 0.0_f8 ) THEN WRITE( CR, '(es9.2)' ) SpcInfo%Henry_CR ELSE CR = ' - ' ENDIF ! Convert Henry's law pKa parameter to string IF ( SpcInfo%Henry_pKa > 0.0_f8 ) THEN WRITE( pKa, '(es9.2)' ) SpcInfo%Henry_pKa ELSE pKa = ' - ' ENDIF ! Write info to stdout WRITE( 6, 100 ) N_WD, & TRIM( SpcInfo%Name ), & N, & SpcInfo%MW_g, & K0, CR, pKA 100 FORMAT( i3,3x,a14,3x,i3,3x,f6.1,3(1x,a9) ) ! Free pointer SpcInfo => NULL() ENDDO ENDIF ! Reset flag FIRST = .FALSE. END SUBROUTINE INIT_WETSCAV !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: setup_wetscav ! ! !DESCRIPTION: Subroutine SETUP\_WETSCAV initializes updraft velocity, cloud ! liquid water content, cloud ice content, and mixing ratio of water fields, ! which are used in the wet scavenging routines. !\\ !\\ ! !INTERFACE: ! SUBROUTINE SETUP_WETSCAV( Input_Opt, State_Chm, State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE Error_Mod, ONLY : Alloc_Err USE Input_Opt_Mod, ONLY : OptInput USE PhysConstants, ONLY : AIRMW USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE UnitConv_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 23 Feb 2000 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL, SAVE :: FIRST = .TRUE. INTEGER :: I, J, L ! Pointers REAL(fp), POINTER :: PL REAL(fp), POINTER :: TK !===================================================================== ! Compute Vud, CLDLIQ, CLDICE, C_H2O, following Jacob et al, 2000. !===================================================================== ! Initialize PL => NULL() TK => NULL() RC = GC_SUCCESS ! Only do computation if wetdep or convection is turned on IF ( Input_Opt%LWETD .or. Input_Opt%LCONV ) THEN !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( I, J, L, TK, PL )& !$OMP COLLAPSE( 3 )& !$OMP SCHEDULE( DYNAMIC, 24 ) DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Point to Temp [K] and Pressure [hPa] TK => State_Met%T(I,J,L) PL => State_Met%PMID(I,J,L) #ifdef LUO_WETDEP !-------------------------------------------------------------- ! Luo et al scheme: ! Compute CLDLIQ directly from met fields !-------------------------------------------------------------- IF ( TK >= 237.0_fp ) THEN State_Met%CLDLIQ(I,J,L) = MAX(0.d0,State_Met%QL(I,J,L))*& State_Met%AIRDEN(I,J,L) * 1e-3_fp ELSE State_Met%CLDLIQ(I,J,L) = 0.0_fp ENDIF #else !-------------------------------------------------------------- ! Default scheme: ! CLDLIQ, the cloud liquid water content [cm3 H2O/cm3 air], ! is a function of the local Kelvin temperature: ! Tunable parameter and use 1e-6 here (qq,10/14/2011) ! CLDLIQ = 1e-6 [ T >= 268 K ] ! CLDLIQ = 1e-6 * ((T - 248) / 20) [ 248 K < T < 268 K ] ! CLDLIQ = 0 [ T <= 248 K ] !-------------------------------------------------------------- IF ( TK >= 268.0_fp ) THEN State_Met%CLDLIQ(I,J,L) = 1e-6_fp ELSE IF ( TK > 248.0_fp .and. TK < 268.0_fp ) THEN State_Met%CLDLIQ(I,J,L) = 1e-6_fp * ((TK - 248.0_fp) / 20.0_fp ) ELSE State_Met%CLDLIQ(I,J,L) = 0.0_fp ENDIF #endif State_Met%CLDLIQ(I,J,L) = MAX(State_Met%CLDLIQ(I,J,L),0.0_fp) #ifdef LUO_WETDEP !-------------------------------------------------------------- ! Luo et al scheme: ! ompute CLDICE from met fields !-------------------------------------------------------------- State_Met%CLDICE(I,J,L) = (State_Met%QL(I,J,L)+State_Met%QI(I,J,L))* & State_Met%AIRDEN(I,J,L) * 1e-3_fp - State_Met%CLDLIQ(I,J,L) #else !-------------------------------------------------------------- ! Default scheme: ! CLDICE, the cloud ice content [cm3 ice/cm3 air] is given by: ! ! CLDICE = 1.0e-6 - CLDLIQ !-------------------------------------------------------------- State_Met%CLDICE(I,J,L) = 1e-6_fp - State_Met%CLDLIQ(I,J,L) #endif ! Avoid negatives State_Met%CLDICE(I,J,L) = MAX( State_Met%CLDICE(I,J,L), 0.0_fp ) !-------------------------------------------------------------- ! C_H2O is given by Dalton's Law as: ! ! C_H2O = Eice( Tk(I,J,L) ) / P(I,J,L) ! ! where P(L) = pressure in grid box (I,J,L) ! ! and Tk(I,J,L) is the Kelvin temp. of grid box (I,J,L). ! ! and Eice( Tk(I,J,L) ) is the saturation vapor pressure ! of ice [hPa] at temperature Tk(I,J,L) -- computed in ! routine E_ICE above. !-------------------------------------------------------------- IF ( PL <= TINY_FP ) THEN State_Met%C_H2O(I,J,L) = 0.0_fp ELSE State_Met%C_H2O(I,J,L) = E_ICE( TK ) / PL ENDIF ! Free pointers PL => NULL() TK => NULL() ENDDO ENDDO ENDDO !$OMP END PARALLEL DO ENDIF !==================================================================== ! We need to initialize the H2O2s and SO2s arrays to the values ! of State_Chm%Species%Conc for H2O2 and SO2. This only needs to be ! done the first time this routine is called (which happens after ! the restart file is read from disk). If State_Chm%H2O2AfterChem ! or State_Chm%SO2AfterChem are already populated from the restart ! restart file then do not overwrite. (ewl, 11/13/19) !==================================================================== IF ( FIRST ) THEN ! Set H2O2s to the initial H2O2 from the species array, so that we will ! have nonzero values for the first call to COMPUTE_F (bmy, 1/14/03) ! While State_Chm%Species%Conc are now in units of [kg/kg dry air] for ! call to SETUP_WETSCAV, store H2O2s in legacy units [v/v dry air] ! for now for use in sulfate_mod and WASHOUT (ewl, 10/15/15) IF ( ( id_H2O2 > 0 ) .AND. & ( SUM(State_Chm%H2O2AfterChem(:,:,:)) < 1e-31 ) ) THEN State_Chm%H2O2AfterChem = State_Chm%Species(id_H2O2)%Conc & * ( AIRMW / State_Chm%SpcData(id_H2O2)%Info%MW_g ) ENDIF ! Set SO2s to the initial SO2 from the species array, so that we will ! have nonzero values for the first call to COMPUTE_F (bmy, 1/14/03) ! While State_Chm%Species%Conc are now in units of [kg/kg dry air] for ! call to SETUP_WETSCAV, store SO2s in units [v/v dry air] for now ! for use in sulfate_mod and WASHOUT (ewl, 10/15/15) IF ( ( id_SO2 > 0 ) .AND. & ( SUM(State_Chm%SO2AfterChem(:,:,:)) < 1e-31 ) ) THEN State_Chm%SO2AfterChem = State_Chm%Species(id_SO2)%Conc & * ( AIRMW / State_Chm%SpcData(id_SO2)%Info%MW_g ) ENDIF ! Reset first-time flag FIRST = .FALSE. ENDIF END SUBROUTINE SETUP_WETSCAV !EOC END MODULE WETSCAV_MOD ================================================ FILE: GeosRad/.gitignore ================================================ *.[oax] *.mod *.MOD *~* geos geostomas geosapm *.pp.* *.pdb *.inst.* *.continue.* *.ppk core.* ================================================ FILE: GeosRad/CMakeLists.txt ================================================ add_library(GeosRad STATIC EXCLUDE_FROM_ALL mcica_random_numbers.F90 mcica_subcol_gen_lw.F90 mcica_subcol_gen_sw.F90 parkind.F90 parrrsw.F90 parrrtm.F90 rrlw_cld.F90 rrlw_con.F90 rrlw_kg01.F90 rrlw_kg02.F90 rrlw_kg03.F90 rrlw_kg04.F90 rrlw_kg05.F90 rrlw_kg06.F90 rrlw_kg07.F90 rrlw_kg08.F90 rrlw_kg09.F90 rrlw_kg10.F90 rrlw_kg11.F90 rrlw_kg12.F90 rrlw_kg13.F90 rrlw_kg14.F90 rrlw_kg15.F90 rrlw_kg16.F90 rrlw_ncpar.F90 rrlw_ref.F90 rrlw_tbl.F90 rrlw_vsn.F90 rrlw_wvn.F90 rrsw_aer.F90 rrsw_cld.F90 rrsw_con.F90 rrsw_kg16.F90 rrsw_kg17.F90 rrsw_kg18.F90 rrsw_kg19.F90 rrsw_kg20.F90 rrsw_kg21.F90 rrsw_kg22.F90 rrsw_kg23.F90 rrsw_kg24.F90 rrsw_kg25.F90 rrsw_kg26.F90 rrsw_kg27.F90 rrsw_kg28.F90 rrsw_kg29.F90 rrsw_ref.F90 rrsw_tbl.F90 rrsw_vsn.F90 rrsw_wvn.F90 rrtmg_lw_cldprmc.F90 rrtmg_lw_init.F90 rrtmg_lw_k_g.F90 rrtmg_lw_rad.F90 rrtmg_lw_rtrnmc.F90 rrtmg_lw_setcoef.F90 rrtmg_lw_taumol.F90 rrtmg_sw_cldprmc.F90 rrtmg_sw_init.F90 rrtmg_sw_k_g.F90 rrtmg_sw_rad.F90 rrtmg_sw_reftra.F90 rrtmg_sw_setcoef.F90 rrtmg_sw_spcvmc.F90 rrtmg_sw_taumol.F90 rrtmg_sw_vrtqdr.F90 test_arr_mult.F90 ) if(NOT GC_EXTERNAL_CONFIG) target_link_libraries(GeosRad PUBLIC GEOSChemBuildProperties ) endif() target_compile_options(GeosRad PRIVATE $<$:-r8 -O1 -qoverride-limits> $<$:-fdefault-real-8 -fdefault-double-8 -O1 -override-limits -fno-range-check> ) ================================================ FILE: GeosRad/Makefile.nomcica ================================================ #------------------------------------------------------------------------------ # Harvard University Atmospheric Chemistry Modeling Group ! #------------------------------------------------------------------------------ #BOP # # !MODULE: Makefile (in the GeosRad/ subdirectory) # # !DESCRIPTION: This makefile compiles the RAD codes. # the MOD directory. #\\ #\\ # !REMARKS: # To build the programs, call "make" with the following syntax: # . # make TARGET [ OPTIONAL-FLAGS ] # . # To display a complete list of options, type "make help". # . # %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% # %%% NOTE: Normally you will not have to call this Makefile directly, %%% # %%% it will be called automatically from the Makefile in the directory %%% # %%% just above this one! %%% # %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% # . # Makefile uses the following variables: # . # Variable Description # -------- ----------- # SHELL Specifies the shell for "make" to use (usually SHELL=/bin/sh) # ROOTDIR Specifies the root-level directory of the GEOS-Chem code # HDR Specifies the directory where GEOS-Chem include files are found # LIB Specifies the directory where library files (*.a) are stored # MOD Specifies the directory where module files (*.mod) are stored # AR Sys var w/ name of library creator program (i.e., "ar", "ranlib") # MAKE Sys var w/ name of Make command (i.e, "make" or "gmake") # R8 Interprets REAL as REAL*8 # # !REVISION HISTORY: # 08 Aug 2012 - K. Cady-Pereira - Initial version # 22 Aug 2012 - R. Yantosca - Fixed typo in depend list for rrsw_kg24.o # 22 Aug 2012 - R. Yantosca - Added white space for readability #EOP #------------------------------------------------------------------------------ #BOC # Define variables SHELL = /bin/sh ROOTDIR = .. HDR = $(ROOTDIR)/Headers HELP = $(ROOTDIR)/help LIB = $(ROOTDIR)/lib MOD = $(ROOTDIR)/mod GEOSDIR = $(ROOTDIR)/GeosCore # Sometimes we may need to compile RRTMG with a lower optimization setting, # so use the OPT variable if necessary OPT = -O1 -override-limits # Include header file. This returns variables CC, F90, FREEFORM, LD, R8, # as well as the default Makefile compilation rules for source code files. include $(ROOTDIR)/Makefile_header.mk #============================================================================= # List of files to compile (the order is important!). We specify these as # a list of object files (*.o). For each object file, the "make" utility # will find the corresponding source code file (*.F) and compile it. #============================================================================= # List of source files SRC = $(wildcard *.f90) # Replace .F and .F90 extensions with *.o OBJ = $(SRC:.f90=.o) #============================================================================= # Makefile targets: type "make help" for a complete listing! #============================================================================= .PHONY: clean help lib: $(OBJ) $(AR) crs librad.a $(OBJ) mv librad.a $(LIB) clean: rm -f *.o *.mod help: @$(MAKE) -c $(HELP) debug: @echo "Obj: $(OBJ)" @echo "Mod: $(MOD)" @echo "FFLAGS: $(FFLAGS)" @echo "F90 $(F90)" #============================================================================= # Dependencies listing (grep "USE " to get the list of module references!) # # From this list of dependencies, the "make" utility will figure out the # correct order of compilation (so we don't have to do that ourselves!) #============================================================================= parkind.o : parkind.f90 $(F90) $(R8) -c $(OPT) $< parrrtm.o : parrrtm.f90 parkind.o $(F90) $(R8) -c $(OPT) $< rad_driver.o : rad_driver.f90 \ parkind.o parrrtm.o \ parrrsw.o rrlw_con.o \ rrtmg_lw_rad.nomcica.o rrtmg_sw_rad.nomcica.o $(F90) $(R8) -c $(OPT) $< rrlw_cld.o : rrlw_cld.f90 parkind.o $(F90) $(R8) -c $(OPT) $< rrlw_con.o : rrlw_con.f90 parkind.o $(F90) $(R8) -c $(OPT) $< rrlw_kg01.o : rrlw_kg01.f90 parkind.o $(F90) $(R8) -c $(OPT) $< rrlw_kg02.o : rrlw_kg02.f90 parkind.o $(F90) $(R8) -c $(OPT) $< rrlw_kg03.o : rrlw_kg03.f90 parkind.o $(F90) $(R8) -c $(OPT) $< rrlw_kg04.o : rrlw_kg04.f90 parkind.o $(F90) $(R8) -c $(OPT) $< rrlw_kg05.o : rrlw_kg05.f90 parkind.o $(F90) $(R8) -c $(OPT) $< rrlw_kg06.o : rrlw_kg06.f90 parkind.o $(F90) $(R8) -c $(OPT) $< rrlw_kg07.o : rrlw_kg07.f90 parkind.o $(F90) $(R8) -c $(OPT) $< rrlw_kg08.o : rrlw_kg08.f90 parkind.o $(F90) $(R8) -c $(OPT) $< rrlw_kg09.o : rrlw_kg09.f90 parkind.o $(F90) $(R8) -c $(OPT) $< rrlw_kg10.o : rrlw_kg10.f90 parkind.o $(F90) $(R8) -c $(OPT) $< rrlw_kg11.o : rrlw_kg11.f90 parkind.o $(F90) $(R8) -c $(OPT) $< rrlw_kg12.o : rrlw_kg12.f90 parkind.o $(F90) $(R8) -c $(OPT) $< rrlw_kg13.o : rrlw_kg13.f90 parkind.o $(F90) $(R8) -c $(OPT) $< rrlw_kg14.o : rrlw_kg14.f90 parkind.o $(F90) $(R8) -c $(OPT) $< rrlw_kg15.o : rrlw_kg15.f90 parkind.o $(F90) $(R8) -c $(OPT) $< rrlw_kg16.o : rrlw_kg16.f90 parkind.o $(F90) $(R8) -c $(OPT) $< rrlw_ncpar.o : rrlw_ncpar.f90 parkind.o $(F90) $(R8) -c $(OPT) $< rrlw_ref.o : rrlw_ref.f90 parkind.o $(F90) $(R8) -c $(OPT) $< rrlw_tbl.o : rrlw_tbl.f90 parkind.o $(F90) $(R8) -c $(OPT) $< rrlw_vsn.o : rrlw_vsn.f90 $(F90) $(R8) -c $(OPT) $< rrlw_wvn.o : rrlw_wvn.f90 \ parkind.o parrrtm.o $(F90) $(R8) -c $(OPT) $< rrtmg_lw_cldprop.o : rrtmg_lw_cldprop.f90 \ parkind.o parrrtm.o \ rrlw_cld.o rrlw_vsn.o $(F90) $(R8) -c $(OPT) $< rrtmg_lw_init.o : rrtmg_lw_init.f90 \ parkind.o parrrtm.o \ rrlw_cld.o rrlw_vsn.o \ rrlw_wvn.o rrlw_tbl.o \ rrlw_con.o rrtmg_lw_setcoef.o \ rrlw_kg01.o rrlw_kg02.o \ rrlw_kg03.o rrlw_kg04.o \ rrlw_kg05.o rrlw_kg06.o \ rrlw_kg07.o rrlw_kg08.o \ rrlw_kg09.o rrlw_kg10.o \ rrlw_kg11.o rrlw_kg12.o \ rrlw_kg13.o rrlw_kg14.o \ rrlw_kg15.o rrlw_kg16.o $(F90) $(R8) -c $(OPT) $< rrtmg_lw_k_g.o : rrtmg_lw_k_g.f90 \ parkind.o rrlw_vsn.o \ rrlw_kg01.o rrlw_kg02.o \ rrlw_kg03.o rrlw_kg04.o \ rrlw_kg05.o rrlw_kg06.o \ rrlw_kg07.o rrlw_kg08.o \ rrlw_kg05.o rrlw_kg06.o \ rrlw_kg07.o rrlw_kg08.o \ rrlw_kg09.o rrlw_kg10.o \ rrlw_kg11.o rrlw_kg12.o \ rrlw_kg13.o rrlw_kg14.o \ rrlw_kg15.o rrlw_kg16.o $(F90) $(R8) -c $(OPT) $< rrtmg_lw_rad.nomcica.o : rrtmg_lw_rad.nomcica.f90 \ parkind.o parrrtm.o \ rrlw_cld.o rrlw_vsn.o \ rrlw_wvn.o rrlw_tbl.o \ rrlw_con.o rrtmg_lw_setcoef.o \ rrtmg_lw_taumol.o rrtmg_lw_rtrn.o \ rrtmg_lw_rtrnmr.o rrlw_wvn.o \ rrlw_tbl.o rrtmg_lw_cldprop.o $(F90) $(R8) -c $(OPT) $< rrtmg_lw_rtrn.o : rrtmg_lw_rtrn.f90 \ parkind.o parrrtm.o \ rrlw_vsn.o rrlw_wvn.o \ rrlw_tbl.o rrlw_con.o $(F90) $(R8) -c $(OPT) $< rrtmg_lw_rtrnmr.o : rrtmg_lw_rtrnmr.f90 \ parkind.o parrrtm.o \ rrlw_vsn.o rrlw_wvn.o \ rrlw_tbl.o rrlw_con.o $(F90) $(R8) -c $(OPT) $< rrtmg_lw_setcoef.o : rrtmg_lw_setcoef.f90 \ parkind.o parrrtm.o \ rrlw_vsn.o rrlw_wvn.o \ rrlw_ref.o $(F90) $(R8) -c $(OPT) $< rrtmg_lw_taumol.o : rrtmg_lw_taumol.f90 \ parkind.o rrlw_vsn.o \ rrlw_vsn.o rrlw_wvn.o \ rrlw_con.o rrlw_ref.o \ rrlw_kg01.o rrlw_kg02.o \ rrlw_kg03.o rrlw_kg04.o \ rrlw_kg05.o rrlw_kg06.o \ rrlw_kg07.o rrlw_kg08.o \ rrlw_kg09.o rrlw_kg10.o \ rrlw_kg11.o rrlw_kg12.o \ rrlw_kg13.o rrlw_kg14.o \ rrlw_kg15.o rrlw_kg16.o $(F90) $(R8) -c $(OPT) $< parrrsw.o : parrrsw.f90 parkind.o $(F90) $(R8) -c $(OPT) $< rrsw_aer.o : rrsw_aer.f90 \ parkind.o parrrsw.o $(F90) $(R8) -c $(OPT) $< rrsw_cld.o : rrsw_cld.f90 parkind.o $(F90) $(R8) -c $(OPT) $< rrsw_con.o : rrsw_con.f90 parkind.o $(F90) $(R8) -c $(OPT) $< rrsw_kg16.o : rrsw_kg16.f90 \ parkind.o parrrsw.o $(F90) $(R8) -c $(OPT) $< rrsw_kg17.o : rrsw_kg17.f90 \ parkind.o parrrsw.o $(F90) $(R8) -c $(OPT) $< rrsw_kg18.o : rrsw_kg18.f90 \ parkind.o parrrsw.o $(F90) $(R8) -c $(OPT) $< rrsw_kg19.o : rrsw_kg19.f90 \ parkind.o parrrsw.o $(F90) $(R8) -c $(OPT) $< rrsw_kg20.o : rrsw_kg20.f90 \ parkind.o parrrsw.o $(F90) $(R8) -c $(OPT) $< rrsw_kg21.o : rrsw_kg21.f90 \ parkind.o parrrsw.o $(F90) $(R8) -c $(OPT) $< rrsw_kg22.o : rrsw_kg22.f90 \ parkind.o parrrsw.o $(F90) $(R8) -c $(OPT) $< rrsw_kg23.o : rrsw_kg23.f90 \ parkind.o parrrsw.o $(F90) $(R8) -c $(OPT) $< rrsw_kg24.o : rrsw_kg24.f90 \ parkind.o parrrsw.o $(F90) $(R8) -c $(OPT) $< rrsw_kg25.o : rrsw_kg25.f90 \ parkind.o parrrsw.o $(F90) $(R8) -c $(OPT) $< rrsw_kg26.o : rrsw_kg26.f90 \ parkind.o parrrsw.o $(F90) $(R8) -c $(OPT) $< rrsw_kg27.o : rrsw_kg27.f90 parkind.o \ parrrsw.o $(F90) $(R8) -c $(OPT) $< rrsw_kg28.o : rrsw_kg28.f90 \ parkind.o parrrsw.o $(F90) $(R8) -c $(OPT) $< rrsw_kg29.o : rrsw_kg29.f90 \ parkind.o parrrsw.o $(F90) $(R8) -c $(OPT) $< rrsw_ref.o : rrsw_ref.f90 parkind.o $(F90) $(R8) -c $(OPT) $< rrsw_tbl.o : rrsw_tbl.f90 parkind.o $(F90) $(R8) -c $(OPT) $< rrsw_vsn.o : rrsw_vsn.f90 $(F90) $(R8) -c $(OPT) $< rrsw_wvn.o : rrsw_wvn.f90 \ parkind.o parrrsw.o $(F90) $(R8) -c $(OPT) $< rrtmg_sw_cldprop.o : rrtmg_sw_cldprop.f90 \ parkind.o parrrsw.o \ rrsw_cld.o rrsw_wvn.o \ rrsw_vsn.o $(F90) $(R8) -c $(OPT) $< rrtmg_sw_init.o : rrtmg_sw_init.f90 \ parkind.o parrrsw.o \ rrsw_cld.o rrsw_wvn.o \ rrsw_vsn.o rrsw_tbl.o \ rrsw_con.o rrsw_aer.o \ rrsw_con.o rrtmg_sw_setcoef.o \ rrsw_kg16.o rrsw_kg17.o \ rrsw_kg18.o rrsw_kg19.o \ rrsw_kg20.o rrsw_kg21.o \ rrsw_kg22.o rrsw_kg23.o \ rrsw_kg24.o rrsw_kg25.o \ rrsw_kg26.o rrsw_kg27.o \ rrsw_kg28.o rrsw_kg29.o $(F90) $(R8) -c $(OPT) $< rrtmg_sw_k_g.o : rrtmg_sw_k_g.f90 \ parkind.o rrsw_kg16.o \ rrsw_kg17.o rrsw_kg18.o \ rrsw_kg19.o rrsw_kg20.o \ rrsw_kg21.o rrsw_kg22.o \ rrsw_kg23.o rrsw_kg24.o \ rrsw_kg25.o rrsw_kg26.o \ rrsw_kg27.o rrsw_kg28.o \ rrsw_kg29.o $(F90) $(R8) -c $(OPT) $< rrtmg_sw_rad.nomcica.o : rrtmg_sw_rad.nomcica.f90 \ parkind.o parrrsw.o \ rrsw_wvn.o rrsw_vsn.o \ rrsw_con.o rrsw_aer.o \ rrsw_con.o rrtmg_sw_cldprop.o \ rrtmg_sw_init.o rrtmg_sw_setcoef.o \ rrtmg_sw_spcvrt.o $(F90) $(R8) -c $(OPT) $< rrtmg_sw_reftra.o : rrtmg_sw_reftra.f90 \ parkind.o rrsw_vsn.o \ rrsw_tbl.o $(F90) $(R8) -c $(OPT) $< rrtmg_sw_setcoef.o : rrtmg_sw_setcoef.f90 \ parkind.o rrsw_vsn.o \ rrsw_tbl.o parrrsw.o \ rrsw_ref.o $(F90) $(R8) -c $(OPT) $< rrtmg_sw_spcvrt.o : rrtmg_sw_spcvrt.f90 \ parkind.o parrrsw.o \ rrsw_wvn.o rrsw_vsn.o \ rrsw_tbl.o rrtmg_sw_reftra.o \ rrtmg_sw_taumol.o rrtmg_sw_vrtqdr.o $(F90) $(R8) -c $(OPT) $< rrtmg_sw_taumol.o : rrtmg_sw_taumol.f90 \ parkind.o parrrsw.o \ rrsw_con.o rrsw_wvn.o \ rrsw_vsn.o rrsw_kg16.o \ rrsw_kg17.o rrsw_kg18.o \ rrsw_kg19.o rrsw_kg20.o \ rrsw_kg21.o rrsw_kg22.o \ rrsw_kg23.o rrsw_kg24.o \ rrsw_kg25.o rrsw_kg26.o \ rrsw_kg27.o rrsw_kg28.o \ rrsw_kg29.o $(F90) $(R8) -c $(OPT) $< rrtmg_sw_vrtqdr.o : rrtmg_sw_vrtqdr.f90 \ parkind.o parrrsw.o $(F90) $(R8) -c $(OPT) $< #EOC ================================================ FILE: GeosRad/mcica_random_numbers.F90 ================================================ ! path: $Source: /storm/rc1/cvsroot/rc/rrtmg_lw/src/mcica_random_numbers.f90,v $ ! author: $Author: mike $ ! revision: $Revision: 1.3 $ ! created: $Date: 2008/08/29 16:04:15 $ ! ! Fortran-95 implementation of the Mersenne Twister 19937, following ! the C implementation described below (code mt19937ar-cok.c, dated 2002/2/10), ! adapted cosmetically by making the names more general. ! Users must declare one or more variables of type randomNumberSequence in the calling ! procedure which are then initialized using a required seed. If the ! variable is not initialized the random numbers will all be 0. ! For example: ! program testRandoms ! use RandomNumbers ! type(randomNumberSequence) :: randomNumbers ! integer :: i ! ! randomNumbers = new_RandomNumberSequence(seed = 100) ! do i = 1, 10 ! print ('(f12.10, 2x)'), getRandomReal(randomNumbers) ! end do ! end program testRandoms ! ! Fortran-95 implementation by ! Robert Pincus ! NOAA-CIRES Climate Diagnostics Center ! Boulder, CO 80305 ! email: Robert.Pincus@colorado.edu ! ! This documentation in the original C program reads: ! ------------------------------------------------------------- ! A C-program for MT19937, with initialization improved 2002/2/10. ! Coded by Takuji Nishimura and Makoto Matsumoto. ! This is a faster version by taking Shawn Cokus's optimization, ! Matthe Bellew's simplification, Isaku Wada's real version. ! ! Before using, initialize the state by using init_genrand(seed) ! or init_by_array(init_key, key_length). ! ! Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, ! All rights reserved. ! ! Redistribution and use in source and binary forms, with or without ! modification, are permitted provided that the following conditions ! are met: ! ! 1. Redistributions of source code must retain the above copyright ! notice, this list of conditions and the following disclaimer. ! ! 2. Redistributions in binary form must reproduce the above copyright ! notice, this list of conditions and the following disclaimer in the ! documentation and/or other materials provided with the distribution. ! ! 3. The names of its contributors may not be used to endorse or promote ! products derived from this software without specific prior written ! permission. ! ! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ! "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ! LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ! A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR ! CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, ! EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, ! PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR ! PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF ! LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING ! NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS ! SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ! ! ! Any feedback is very welcome. ! http://www.math.keio.ac.jp/matumoto/emt.html ! email: matumoto@math.keio.ac.jp ! ------------------------------------------------------------- module MersenneTwister ! ------------------------------------------------------------- use parkind, only : im => kind_im, rb => kind_rb implicit none private ! Algorithm parameters ! ------- ! Period parameters integer(kind=im), parameter :: blockSize = 624, & M = 397, & MATRIX_A = -1727483681, & ! constant vector a (0x9908b0dfUL) UMASK = -2147483648, & ! most significant w-r bits (0x80000000UL) LMASK = 2147483647 ! least significant r bits (0x7fffffffUL) ! Tempering parameters integer(kind=im), parameter :: TMASKB= -1658038656, & ! (0x9d2c5680UL) TMASKC= -272236544 ! (0xefc60000UL) ! ------- ! The type containing the state variable type randomNumberSequence integer(kind=im) :: currentElement ! = blockSize integer(kind=im), dimension(0:blockSize -1) :: state ! = 0 end type randomNumberSequence interface new_RandomNumberSequence module procedure initialize_scalar, initialize_vector end interface new_RandomNumberSequence public :: randomNumberSequence public :: new_RandomNumberSequence, finalize_RandomNumberSequence, & getRandomInt, getRandomPositiveInt, getRandomReal ! ------------------------------------------------------------- contains ! ------------------------------------------------------------- ! Private functions ! --------------------------- function mixbits(u, v) integer(kind=im), intent( in) :: u, v integer(kind=im) :: mixbits mixbits = ior(iand(u, UMASK), iand(v, LMASK)) end function mixbits ! --------------------------- function twist(u, v) integer(kind=im), intent( in) :: u, v integer(kind=im) :: twist ! Local variable integer(kind=im), parameter, dimension(0:1) :: t_matrix = (/ 0_im, MATRIX_A /) twist = ieor(ishft(mixbits(u, v), -1_im), t_matrix(iand(v, 1_im))) twist = ieor(ishft(mixbits(u, v), -1_im), t_matrix(iand(v, 1_im))) end function twist ! --------------------------- subroutine nextState(twister) type(randomNumberSequence), intent(inout) :: twister ! Local variables integer(kind=im) :: k do k = 0, blockSize - M - 1 twister%state(k) = ieor(twister%state(k + M), & twist(twister%state(k), twister%state(k + 1_im))) end do do k = blockSize - M, blockSize - 2 twister%state(k) = ieor(twister%state(k + M - blockSize), & twist(twister%state(k), twister%state(k + 1_im))) end do twister%state(blockSize - 1_im) = ieor(twister%state(M - 1_im), & twist(twister%state(blockSize - 1_im), twister%state(0_im))) twister%currentElement = 0_im end subroutine nextState ! --------------------------- elemental function temper(y) integer(kind=im), intent(in) :: y integer(kind=im) :: temper integer(kind=im) :: x ! Tempering x = ieor(y, ishft(y, -11)) x = ieor(x, iand(ishft(x, 7), TMASKB)) x = ieor(x, iand(ishft(x, 15), TMASKC)) temper = ieor(x, ishft(x, -18)) end function temper ! ------------------------------------------------------------- ! Public (but hidden) functions ! -------------------- function initialize_scalar(seed) result(twister) integer(kind=im), intent(in ) :: seed type(randomNumberSequence) :: twister integer(kind=im) :: i ! See Knuth TAOCP Vol2. 3rd Ed. P.106 for multiplier. In the previous versions, ! MSBs of the seed affect only MSBs of the array state[]. ! 2002/01/09 modified by Makoto Matsumoto twister%state(0) = iand(seed, -1_im) do i = 1, blockSize - 1 ! ubound(twister%state) twister%state(i) = 1812433253_im * ieor(twister%state(i-1), & ishft(twister%state(i-1), -30_im)) + i twister%state(i) = iand(twister%state(i), -1_im) ! for >32 bit machines end do twister%currentElement = blockSize end function initialize_scalar ! ------------------------------------------------------------- function initialize_vector(seed) result(twister) integer(kind=im), dimension(0:), intent(in) :: seed type(randomNumberSequence) :: twister integer(kind=im) :: i, j, k, nFirstLoop, nWraps nWraps = 0 twister = initialize_scalar(19650218_im) nFirstLoop = max(blockSize, size(seed)) do k = 1, nFirstLoop i = mod(k + nWraps, blockSize) j = mod(k - 1, size(seed)) if(i == 0) then twister%state(i) = twister%state(blockSize - 1) twister%state(1) = ieor(twister%state(1), & ieor(twister%state(1-1), & ishft(twister%state(1-1), -30_im)) * 1664525_im) + & seed(j) + j ! Non-linear twister%state(i) = iand(twister%state(i), -1_im) ! for >32 bit machines nWraps = nWraps + 1 else twister%state(i) = ieor(twister%state(i), & ieor(twister%state(i-1), & ishft(twister%state(i-1), -30_im)) * 1664525_im) + & seed(j) + j ! Non-linear twister%state(i) = iand(twister%state(i), -1_im) ! for >32 bit machines end if end do ! ! Walk through the state array, beginning where we left off in the block above ! do i = mod(nFirstLoop, blockSize) + nWraps + 1, blockSize - 1 twister%state(i) = ieor(twister%state(i), & ieor(twister%state(i-1), & ishft(twister%state(i-1), -30_im)) * 1566083941_im) - i ! Non-linear twister%state(i) = iand(twister%state(i), -1_im) ! for >32 bit machines end do twister%state(0) = twister%state(blockSize - 1) do i = 1, mod(nFirstLoop, blockSize) + nWraps twister%state(i) = ieor(twister%state(i), & ieor(twister%state(i-1), & ishft(twister%state(i-1), -30_im)) * 1566083941_im) - i ! Non-linear twister%state(i) = iand(twister%state(i), -1_im) ! for >32 bit machines end do twister%state(0) = UMASK twister%currentElement = blockSize end function initialize_vector ! ------------------------------------------------------------- ! Public functions ! -------------------- function getRandomInt(twister) type(randomNumberSequence), intent(inout) :: twister integer(kind=im) :: getRandomInt ! Generate a random integer on the interval [0,0xffffffff] ! Equivalent to genrand_int32 in the C code. ! Fortran doesn't have a type that's unsigned like C does, ! so this is integers in the range -2**31 - 2**31 ! All functions for getting random numbers call this one, ! then manipulate the result if(twister%currentElement >= blockSize) call nextState(twister) getRandomInt = temper(twister%state(twister%currentElement)) twister%currentElement = twister%currentElement + 1 end function getRandomInt ! -------------------- function getRandomPositiveInt(twister) type(randomNumberSequence), intent(inout) :: twister integer(kind=im) :: getRandomPositiveInt ! Generate a random integer on the interval [0,0x7fffffff] ! or [0,2**31] ! Equivalent to genrand_int31 in the C code. ! Local integers integer(kind=im) :: localInt localInt = getRandomInt(twister) getRandomPositiveInt = ishft(localInt, -1) end function getRandomPositiveInt ! -------------------- !! mji - modified Jan 2007, double converted to rrtmg real kind type function getRandomReal(twister) type(randomNumberSequence), intent(inout) :: twister ! double precision :: getRandomReal real(kind=rb) :: getRandomReal ! Generate a random number on [0,1] ! Equivalent to genrand_real1 in the C code ! The result is stored as double precision but has 32 bit resolution integer(kind=im) :: localInt localInt = getRandomInt(twister) if(localInt < 0) then ! getRandomReal = dble(localInt + 2.0d0**32)/(2.0d0**32 - 1.0d0) getRandomReal = (localInt + 2.0**32_rb)/(2.0**32_rb - 1.0_rb) else ! getRandomReal = dble(localInt )/(2.0d0**32 - 1.0d0) getRandomReal = (localInt )/(2.0**32_rb - 1.0_rb) end if end function getRandomReal ! -------------------- subroutine finalize_RandomNumberSequence(twister) type(randomNumberSequence), intent(inout) :: twister twister%currentElement = blockSize twister%state(:) = 0_im end subroutine finalize_RandomNumberSequence ! -------------------- end module MersenneTwister module mcica_random_numbers ! Generic module to wrap random number generators. ! The module defines a type that identifies the particular stream of random ! numbers, and has procedures for initializing it and getting real numbers ! in the range 0 to 1. ! This version uses the Mersenne Twister to generate random numbers on [0, 1]. ! use MersenneTwister, only: randomNumberSequence, & ! The random number engine. new_RandomNumberSequence, getRandomReal !! mji !! use time_manager_mod, only: time_type, get_date use parkind, only : im => kind_im, rb => kind_rb implicit none private type randomNumberStream type(randomNumberSequence) :: theNumbers end type randomNumberStream interface getRandomNumbers module procedure getRandomNumber_Scalar, getRandomNumber_1D, getRandomNumber_2D end interface getRandomNumbers interface initializeRandomNumberStream module procedure initializeRandomNumberStream_S, initializeRandomNumberStream_V end interface initializeRandomNumberStream public :: randomNumberStream, & initializeRandomNumberStream, getRandomNumbers !! mji !! initializeRandomNumberStream, getRandomNumbers, & !! constructSeed contains ! --------------------------------------------------------- ! Initialization ! --------------------------------------------------------- function initializeRandomNumberStream_S(seed) result(new) integer(kind=im), intent( in) :: seed type(randomNumberStream) :: new new%theNumbers = new_RandomNumberSequence(seed) end function initializeRandomNumberStream_S ! --------------------------------------------------------- function initializeRandomNumberStream_V(seed) result(new) integer(kind=im), dimension(:), intent( in) :: seed type(randomNumberStream) :: new new%theNumbers = new_RandomNumberSequence(seed) end function initializeRandomNumberStream_V ! --------------------------------------------------------- ! Procedures for drawing random numbers ! --------------------------------------------------------- subroutine getRandomNumber_Scalar(stream, number) type(randomNumberStream), intent(inout) :: stream real(kind=rb), intent( out) :: number number = getRandomReal(stream%theNumbers) end subroutine getRandomNumber_Scalar ! --------------------------------------------------------- subroutine getRandomNumber_1D(stream, numbers) type(randomNumberStream), intent(inout) :: stream real(kind=rb), dimension(:), intent( out) :: numbers ! Local variables integer(kind=im) :: i do i = 1, size(numbers) numbers(i) = getRandomReal(stream%theNumbers) end do end subroutine getRandomNumber_1D ! --------------------------------------------------------- subroutine getRandomNumber_2D(stream, numbers) type(randomNumberStream), intent(inout) :: stream real(kind=rb), dimension(:, :), intent( out) :: numbers ! Local variables integer(kind=im) :: i do i = 1, size(numbers, 2) call getRandomNumber_1D(stream, numbers(:, i)) end do end subroutine getRandomNumber_2D ! mji ! ! --------------------------------------------------------- ! ! Constructing a unique seed from grid cell index and model date/time ! ! Once we have the GFDL stuff we'll add the year, month, day, hour, minute ! ! --------------------------------------------------------- ! function constructSeed(i, j, time) result(seed) ! integer(kind=im), intent( in) :: i, j ! type(time_type), intent( in) :: time ! integer(kind=im), dimension(8) :: seed ! ! ! Local variables ! integer(kind=im) :: year, month, day, hour, minute, second ! ! ! call get_date(time, year, month, day, hour, minute, second) ! seed = (/ i, j, year, month, day, hour, minute, second /) ! end function constructSeed end module mcica_random_numbers ================================================ FILE: GeosRad/mcica_subcol_gen_lw.F90 ================================================ ! path: $Source: /storm/rc1/cvsroot/rc/rrtmg_lw/src/mcica_subcol_gen_lw.f90,v $ ! author: $Author: mike $ ! revision: $Revision: 1.6 $ ! created: $Date: 2009/05/22 21:04:30 $ ! module mcica_subcol_gen_lw ! -------------------------------------------------------------------------- ! | | ! | Copyright 2006-2009, Atmospheric & Environmental Research, Inc. (AER). | ! | This software may be used, copied, or redistributed as long as it is | ! | not sold and this copyright notice is reproduced on each copy made. | ! | This model is provided as is without any express or implied warranties. | ! | (http://www.rtweb.aer.com/) | ! | | ! -------------------------------------------------------------------------- ! Purpose: Create McICA stochastic arrays for cloud physical or optical properties. ! Two options are possible: ! 1) Input cloud physical properties: cloud fraction, ice and liquid water ! paths, ice fraction, and particle sizes. Output will be stochastic ! arrays of these variables. (inflag = 1) ! 2) Input cloud optical properties directly: cloud optical depth, single ! scattering albedo and asymmetry parameter. Output will be stochastic ! arrays of these variables. (inflag = 0; longwave scattering is not ! yet available, ssac and asmc are for future expansion) ! --------- Modules ---------- use parkind, only : im => kind_im, rb => kind_rb use parrrtm, only : nbndlw, ngptlw use rrlw_con, only: grav use rrlw_wvn, only: ngb use rrlw_vsn implicit none ! public interfaces/functions/subroutines public :: mcica_subcol_lw, generate_stochastic_clouds contains !------------------------------------------------------------------ ! Public subroutines !------------------------------------------------------------------ recursive subroutine mcica_subcol_lw(ncol, nlay, icld, permuteseed, irng, play, & cldfrac, ciwp, clwp, rei, rel, tauc, cldfmcl, & ciwpmcl, clwpmcl, reicmcl, relqmcl, taucmcl) ! ----- Input ----- ! Control integer(kind=im), intent(in) :: ncol ! number of columns integer(kind=im), intent(in) :: nlay ! number of model layers integer(kind=im), intent(in) :: icld ! clear/cloud, cloud overlap flag integer(kind=im), intent(in) :: permuteseed ! if the cloud generator is called multiple times, ! permute the seed between each call. ! between calls for LW and SW, recommended ! permuteseed differes by 'ngpt' integer(kind=im), intent(inout) :: irng ! flag for random number generator ! 0 = kissvec ! 1 = Mersenne Twister ! Atmosphere real(kind=rb), intent(in) :: play(ncol,nlay) ! layer pressures (mb) ! Dimensions: (ncol,nlay) ! Atmosphere/clouds - cldprop real(kind=rb), intent(in) :: cldfrac(ncol,nlay) ! layer cloud fraction ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: tauc(nbndlw,ncol,nlay) ! in-cloud optical depth ! Dimensions: (nbndlw,ncol,nlay) ! real(kind=rb), intent(in) :: ssac(ngptlw,ncol,nlay) ! in-cloud single scattering albedo ! Dimensions: (nbndlw,ncol,nlay) ! real(kind=rb), intent(in) :: asmc(ngptlw,ncol,nlay) ! in-cloud asymmetry parameter ! Dimensions: (nbndlw,ncol,nlay) real(kind=rb), intent(in) :: ciwp(ncol,nlay) ! in-cloud ice water path ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: clwp(ncol,nlay) ! in-cloud liquid water path ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: rei(ncol,nlay) ! cloud ice particle size ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: rel(ncol,nlay) ! cloud liquid particle size ! Dimensions: (ncol,nlay) ! ----- Output ----- ! Atmosphere/clouds - cldprmc [mcica] real(kind=rb), intent(out) :: cldfmcl(ngptlw,ncol,nlay) ! cloud fraction [mcica] ! Dimensions: (ngptlw,ncol,nlay) real(kind=rb), intent(out) :: ciwpmcl(ngptlw,ncol,nlay) ! in-cloud ice water path [mcica] ! Dimensions: (ngptlw,ncol,nlay) real(kind=rb), intent(out) :: clwpmcl(ngptlw,ncol,nlay) ! in-cloud liquid water path [mcica] ! Dimensions: (ngptlw,ncol,nlay) real(kind=rb), intent(out) :: relqmcl(ncol,nlay) ! liquid particle size (microns) ! Dimensions: (ncol,nlay) real(kind=rb), intent(out) :: reicmcl(ncol,nlay) ! ice partcle size (microns) ! Dimensions: (ncol,nlay) real(kind=rb), intent(out) :: taucmcl(ngptlw,ncol,nlay) ! in-cloud optical depth [mcica] ! Dimensions: (ngptlw,ncol,nlay) ! real(kind=rb), intent(out) :: ssacmcl(ngptlw,ncol,nlay) ! in-cloud single scattering albedo [mcica] ! Dimensions: (ngptlw,ncol,nlay) ! real(kind=rb), intent(out) :: asmcmcl(ngptlw,ncol,nlay) ! in-cloud asymmetry parameter [mcica] ! Dimensions: (ngptlw,ncol,nlay) ! ----- Local ----- ! Stochastic cloud generator variables [mcica] integer(kind=im), parameter :: nsubclw = ngptlw ! number of sub-columns (g-point intervals) integer(kind=im) :: ilev ! loop index real(kind=rb) :: pmid(ncol, nlay) ! layer pressures (Pa) ! real(kind=rb) :: pdel(ncol, nlay) ! layer pressure thickness (Pa) ! real(kind=rb) :: qi(ncol, nlay) ! ice water (specific humidity) ! real(kind=rb) :: ql(ncol, nlay) ! liq water (specific humidity) ! Return if clear sky; or stop if icld out of range if (icld.eq.0) return if (icld.lt.0.or.icld.gt.3) then stop 'MCICA_SUBCOL: INVALID ICLD' endif ! NOTE: For GCM mode, permuteseed must be offset between LW and SW by at least the number of subcolumns ! Pass particle sizes to new arrays, no subcolumns for these properties yet ! Convert pressures from mb to Pa reicmcl(:ncol,:nlay) = rei(:ncol,:nlay) relqmcl(:ncol,:nlay) = rel(:ncol,:nlay) pmid(:ncol,:nlay) = play(:ncol,:nlay)*1.e2_rb ! Convert input ice and liquid cloud water paths to specific humidity ice and liquid components ! cwp = (q * pdel * 1000.) / gravit) ! = (kg/kg * kg m-1 s-2 *1000.) / m s-2 ! = (g m-2) ! ! q = (cwp * gravit) / (pdel *1000.) ! = (g m-2 * m s-2) / (kg m-1 s-2 * 1000.) ! = kg/kg ! do ilev = 1, nlay ! qi(ilev) = (ciwp(ilev) * grav) / (pdel(ilev) * 1000._rb) ! ql(ilev) = (clwp(ilev) * grav) / (pdel(ilev) * 1000._rb) ! enddo ! Generate the stochastic subcolumns of cloud optical properties for the longwave; call generate_stochastic_clouds (ncol, nlay, nsubclw, icld, irng, pmid, cldfrac, clwp, ciwp, tauc, & cldfmcl, clwpmcl, ciwpmcl, taucmcl, permuteseed) end subroutine mcica_subcol_lw !------------------------------------------------------------------------------------------------- recursive subroutine generate_stochastic_clouds(ncol, nlay, nsubcol, icld, irng, pmid, cld, clwp, ciwp, tauc, & cld_stoch, clwp_stoch, ciwp_stoch, tauc_stoch, changeSeed) !------------------------------------------------------------------------------------------------- !---------------------------------------------------------------------------------------------------------------- ! --------------------- ! Contact: Cecile Hannay (hannay@ucar.edu) ! ! Original code: Based on Raisanen et al., QJRMS, 2004. ! ! Modifications: Generalized for use with RRTMG and added Mersenne Twister as the default ! random number generator, which can be changed to the optional kissvec random number generator ! with flag 'irng'. Some extra functionality has been commented or removed. ! Michael J. Iacono, AER, Inc., February 2007 ! ! Given a profile of cloud fraction, cloud water and cloud ice, we produce a set of subcolumns. ! Each layer within each subcolumn is homogeneous, with cloud fraction equal to zero or one ! and uniform cloud liquid and cloud ice concentration. ! The ensemble as a whole reproduces the probability function of cloud liquid and ice within each layer ! and obeys an overlap assumption in the vertical. ! ! Overlap assumption: ! The cloud are consistent with 4 overlap assumptions: random, maximum, maximum-random and exponential. ! The default option is maximum-random (option 3) ! The options are: 1=random overlap, 2=max/random, 3=maximum overlap, 4=exponential overlap ! This is set with the variable "overlap" !mji - Exponential overlap option (overlap=4) has been deactivated in this version ! The exponential overlap uses also a length scale, Zo. (real, parameter :: Zo = 2500. ) ! ! Seed: ! If the stochastic cloud generator is called several times during the same timestep, ! one should change the seed between the call to insure that the subcolumns are different. ! This is done by changing the argument 'changeSeed' ! For example, if one wants to create a set of columns for the shortwave and another set for the longwave , ! use 'changeSeed = 1' for the first call and'changeSeed = 2' for the second call ! ! PDF assumption: ! We can use arbitrary complicated PDFS. ! In the present version, we produce homogeneuous clouds (the simplest case). ! Future developments include using the PDF scheme of Ben Johnson. ! ! History file: ! Option to add diagnostics variables in the history file. (using FINCL in the namelist) ! nsubcol = number of subcolumns ! overlap = overlap type (1-3) ! Zo = length scale ! CLOUD_S = mean of the subcolumn cloud fraction ('_S" means Stochastic) ! CLDLIQ_S = mean of the subcolumn cloud water ! CLDICE_S = mean of the subcolumn cloud ice ! ! Note: ! Here: we force that the cloud condensate to be consistent with the cloud fraction ! i.e we only have cloud condensate when the cell is cloudy. ! In CAM: The cloud condensate and the cloud fraction are obtained from 2 different equations ! and the 2 quantities can be inconsistent (i.e. CAM can produce cloud fraction ! without cloud condensate or the opposite). !--------------------------------------------------------------------------------------------------------------- use mcica_random_numbers ! The Mersenne Twister random number engine use MersenneTwister, only: randomNumberSequence, & new_RandomNumberSequence, getRandomReal type(randomNumberSequence) :: randomNumbers ! -- Arguments integer(kind=im), intent(in) :: ncol ! number of columns integer(kind=im), intent(in) :: nlay ! number of layers integer(kind=im), intent(in) :: icld ! clear/cloud, cloud overlap flag integer(kind=im), intent(inout) :: irng ! flag for random number generator ! 0 = kissvec ! 1 = Mersenne Twister integer(kind=im), intent(in) :: nsubcol ! number of sub-columns (g-point intervals) integer(kind=im), optional, intent(in) :: changeSeed ! allows permuting seed ! Column state (cloud fraction, cloud water, cloud ice) + variables needed to read physics state real(kind=rb), intent(in) :: pmid(:,:) ! layer pressure (Pa) ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: cld(:,:) ! cloud fraction ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: clwp(:,:) ! in-cloud liquid water path ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: ciwp(:,:) ! in-cloud ice water path ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: tauc(:,:,:) ! in-cloud optical depth ! Dimensions: (nbndlw,ncol,nlay) ! real(kind=rb), intent(in) :: ssac(:,:,:) ! in-cloud single scattering albedo ! Dimensions: (nbndlw,ncol,nlay) ! inactive - for future expansion ! real(kind=rb), intent(in) :: asmc(:,:,:) ! in-cloud asymmetry parameter ! Dimensions: (nbndlw,ncol,nlay) ! inactive - for future expansion real(kind=rb), intent(out) :: cld_stoch(:,:,:) ! subcolumn cloud fraction ! Dimensions: (ngptlw,ncol,nlay) real(kind=rb), intent(out) :: clwp_stoch(:,:,:) ! subcolumn in-cloud liquid water path ! Dimensions: (ngptlw,ncol,nlay) real(kind=rb), intent(out) :: ciwp_stoch(:,:,:) ! subcolumn in-cloud ice water path ! Dimensions: (ngptlw,ncol,nlay) real(kind=rb), intent(out) :: tauc_stoch(:,:,:) ! subcolumn in-cloud optical depth ! Dimensions: (ngptlw,ncol,nlay) ! real(kind=rb), intent(out) :: ssac_stoch(:,:,:)! subcolumn in-cloud single scattering albedo ! Dimensions: (ngptlw,ncol,nlay) ! inactive - for future expansion ! real(kind=rb), intent(out) :: asmc_stoch(:,:,:)! subcolumn in-cloud asymmetry parameter ! Dimensions: (ngptlw,ncol,nlay) ! inactive - for future expansion ! -- Local variables real(kind=rb) :: cldf(ncol,nlay) ! cloud fraction ! Mean over the subcolumns (cloud fraction, cloud water , cloud ice) - inactive ! real(kind=rb) :: mean_cld_stoch(ncol, nlay) ! cloud fraction ! real(kind=rb) :: mean_clwp_stoch(ncol, nlay) ! cloud water ! real(kind=rb) :: mean_ciwp_stoch(ncol, nlay) ! cloud ice ! real(kind=rb) :: mean_tauc_stoch(ncol, nlay) ! cloud optical depth ! real(kind=rb) :: mean_ssac_stoch(ncol, nlay) ! cloud single scattering albedo ! real(kind=rb) :: mean_asmc_stoch(ncol, nlay) ! cloud asymmetry parameter ! Set overlap integer(kind=im) :: overlap ! 1 = random overlap, 2 = maximum/random, ! 3 = maximum overlap, ! real(kind=rb), parameter :: Zo = 2500._rb ! length scale (m) ! real(kind=rb) :: zm(ncol,nlay) ! Height of midpoints (above surface) ! real(kind=rb), dimension(nlay) :: alpha=0.0_rb ! overlap parameter ! Constants (min value for cloud fraction and cloud water and ice) real(kind=rb), parameter :: cldmin = 1.0e-20_rb ! min cloud fraction ! real(kind=rb), parameter :: qmin = 1.0e-10_rb ! min cloud water and cloud ice (not used) ! Variables related to random number and seed real(kind=rb), dimension(nsubcol, ncol, nlay) :: CDF, CDF2 ! random numbers integer(kind=im), dimension(ncol) :: seed1, seed2, seed3, seed4 ! seed to create random number (kissvec) real(kind=rb), dimension(ncol) :: rand_num ! random number (kissvec) integer(kind=im) :: iseed ! seed to create random number (Mersenne Teister) real(kind=rb) :: rand_num_mt ! random number (Mersenne Twister) ! Flag to identify cloud fraction in subcolumns logical, dimension(nsubcol, ncol, nlay) :: iscloudy ! flag that says whether a gridbox is cloudy ! Indices integer(kind=im) :: ilev, isubcol, i, n ! indices !------------------------------------------------------------------------------------------ ! Check that irng is in bounds; if not, set to default if (irng .ne. 0) irng = 1 ! Pass input cloud overlap setting to local variable overlap = icld ! Ensure that cloud fractions are in bounds do ilev = 1, nlay do i = 1, ncol cldf(i,ilev) = cld(i,ilev) if (cldf(i,ilev) < cldmin) then cldf(i,ilev) = 0._rb endif enddo enddo ! ----- Create seed -------- ! Advance randum number generator by changeseed values if (irng.eq.0) then ! For kissvec, create a seed that depends on the state of the columns. Maybe not the best way, but it works. ! Must use pmid from bottom four layers. do i=1,ncol if (pmid(i,1).lt.pmid(i,2)) then stop 'MCICA_SUBCOL: KISSVEC SEED GENERATOR REQUIRES PMID FROM BOTTOM FOUR LAYERS.' endif seed1(i) = (pmid(i,1) - int(pmid(i,1))) * 1000000000_im seed2(i) = (pmid(i,2) - int(pmid(i,2))) * 1000000000_im seed3(i) = (pmid(i,3) - int(pmid(i,3))) * 1000000000_im seed4(i) = (pmid(i,4) - int(pmid(i,4))) * 1000000000_im enddo do i=1,changeSeed call kissvec(seed1, seed2, seed3, seed4, rand_num) enddo elseif (irng.eq.1) then randomNumbers = new_RandomNumberSequence(seed = changeSeed) endif ! ------ Apply overlap assumption -------- ! generate the random numbers select case (overlap) case(1) ! Random overlap ! i) pick a random value at every level if (irng.eq.0) then do isubcol = 1,nsubcol do ilev = 1,nlay call kissvec(seed1, seed2, seed3, seed4, rand_num) ! we get different random number for each level CDF(isubcol,:,ilev) = rand_num enddo enddo elseif (irng.eq.1) then do isubcol = 1, nsubcol do i = 1, ncol do ilev = 1, nlay rand_num_mt = getRandomReal(randomNumbers) CDF(isubcol,i,ilev) = rand_num_mt enddo enddo enddo endif case(2) ! Maximum-Random overlap ! i) pick a random number for top layer. ! ii) walk down the column: ! - if the layer above is cloudy, we use the same random number than in the layer above ! - if the layer above is clear, we use a new random number if (irng.eq.0) then do isubcol = 1,nsubcol do ilev = 1,nlay call kissvec(seed1, seed2, seed3, seed4, rand_num) CDF(isubcol,:,ilev) = rand_num enddo enddo elseif (irng.eq.1) then do isubcol = 1, nsubcol do i = 1, ncol do ilev = 1, nlay rand_num_mt = getRandomReal(randomNumbers) CDF(isubcol,i,ilev) = rand_num_mt enddo enddo enddo endif do ilev = 2,nlay do i = 1, ncol do isubcol = 1, nsubcol if (CDF(isubcol, i, ilev-1) > 1._rb - cldf(i,ilev-1) ) then CDF(isubcol,i,ilev) = CDF(isubcol,i,ilev-1) else CDF(isubcol,i,ilev) = CDF(isubcol,i,ilev) * (1._rb - cldf(i,ilev-1)) endif enddo enddo enddo case(3) ! Maximum overlap ! i) pick the same random numebr at every level if (irng.eq.0) then do isubcol = 1,nsubcol call kissvec(seed1, seed2, seed3, seed4, rand_num) do ilev = 1,nlay CDF(isubcol,:,ilev) = rand_num enddo enddo elseif (irng.eq.1) then do isubcol = 1, nsubcol do i = 1, ncol rand_num_mt = getRandomReal(randomNumbers) do ilev = 1, nlay CDF(isubcol,i,ilev) = rand_num_mt enddo enddo enddo endif ! case(4) - inactive ! ! Exponential overlap: weighting between maximum and random overlap increases with the distance. ! ! The random numbers for exponential overlap verify: ! ! j=1 RAN(j)=RND1 ! ! j>1 if RND1 < alpha(j,j-1) => RAN(j) = RAN(j-1) ! ! RAN(j) = RND2 ! ! alpha is obtained from the equation ! ! alpha = exp(- (Zi-Zj-1)/Zo) where Zo is a characteristic length scale ! ! compute alpha ! zm = state%zm ! alpha(:, 1) = 0. ! do ilev = 2,nlay ! alpha(:, ilev) = exp( -( zm (:, ilev-1) - zm (:, ilev)) / Zo) ! end do ! ! generate 2 streams of random numbers ! do isubcol = 1,nsubcol ! do ilev = 1,nlay ! call kissvec(seed1, seed2, seed3, seed4, rand_num) ! CDF(isubcol, :, ilev) = rand_num ! call kissvec(seed1, seed2, seed3, seed4, rand_num) ! CDF2(isubcol, :, ilev) = rand_num ! end do ! end do ! ! generate random numbers ! do ilev = 2,nlay ! where (CDF2(:, :, ilev) < spread(alpha (:,ilev), dim=1, nCopies=nsubcol) ) ! CDF(:,:,ilev) = CDF(:,:,ilev-1) ! end where ! end do end select ! -- generate subcolumns for homogeneous clouds ----- do ilev = 1,nlay iscloudy(:,:,ilev) = (CDF(:,:,ilev) >= 1._rb - spread(cldf(:,ilev), dim=1, nCopies=nsubcol) ) enddo ! where the subcolumn is cloudy, the subcolumn cloud fraction is 1; ! where the subcolumn is not cloudy, the subcolumn cloud fraction is 0; ! where there is a cloud, define the subcolumn cloud properties, ! otherwise set these to zero do ilev = 1,nlay do i = 1, ncol do isubcol = 1, nsubcol if (iscloudy(isubcol,i,ilev) ) then cld_stoch(isubcol,i,ilev) = 1._rb clwp_stoch(isubcol,i,ilev) = clwp(i,ilev) ciwp_stoch(isubcol,i,ilev) = ciwp(i,ilev) n = ngb(isubcol) tauc_stoch(isubcol,i,ilev) = tauc(n,i,ilev) ! ssac_stoch(isubcol,i,ilev) = ssac(n,i,ilev) ! asmc_stoch(isubcol,i,ilev) = asmc(n,i,ilev) else cld_stoch(isubcol,i,ilev) = 0._rb clwp_stoch(isubcol,i,ilev) = 0._rb ciwp_stoch(isubcol,i,ilev) = 0._rb tauc_stoch(isubcol,i,ilev) = 0._rb ! ssac_stoch(isubcol,i,ilev) = 1._rb ! asmc_stoch(isubcol,i,ilev) = 1._rb endif enddo enddo enddo ! -- compute the means of the subcolumns --- ! mean_cld_stoch(:,:) = 0._rb ! mean_clwp_stoch(:,:) = 0._rb ! mean_ciwp_stoch(:,:) = 0._rb ! mean_tauc_stoch(:,:) = 0._rb ! mean_ssac_stoch(:,:) = 0._rb ! mean_asmc_stoch(:,:) = 0._rb ! do i = 1, nsubcol ! mean_cld_stoch(:,:) = cld_stoch(i,:,:) + mean_cld_stoch(:,:) ! mean_clwp_stoch(:,:) = clwp_stoch( i,:,:) + mean_clwp_stoch(:,:) ! mean_ciwp_stoch(:,:) = ciwp_stoch( i,:,:) + mean_ciwp_stoch(:,:) ! mean_tauc_stoch(:,:) = tauc_stoch( i,:,:) + mean_tauc_stoch(:,:) ! mean_ssac_stoch(:,:) = ssac_stoch( i,:,:) + mean_ssac_stoch(:,:) ! mean_asmc_stoch(:,:) = asmc_stoch( i,:,:) + mean_asmc_stoch(:,:) ! end do ! mean_cld_stoch(:,:) = mean_cld_stoch(:,:) / nsubcol ! mean_clwp_stoch(:,:) = mean_clwp_stoch(:,:) / nsubcol ! mean_ciwp_stoch(:,:) = mean_ciwp_stoch(:,:) / nsubcol ! mean_tauc_stoch(:,:) = mean_tauc_stoch(:,:) / nsubcol ! mean_ssac_stoch(:,:) = mean_ssac_stoch(:,:) / nsubcol ! mean_asmc_stoch(:,:) = mean_asmc_stoch(:,:) / nsubcol end subroutine generate_stochastic_clouds !------------------------------------------------------------------ ! Private subroutines !------------------------------------------------------------------ !-------------------------------------------------------------------------------------------------- subroutine kissvec(seed1,seed2,seed3,seed4,ran_arr) !-------------------------------------------------------------------------------------------------- ! public domain code ! made available from http://www.fortran.com/ ! downloaded by pjr on 03/16/04 for NCAR CAM ! converted to vector form, functions inlined by pjr,mvr on 05/10/2004 ! The KISS (Keep It Simple Stupid) random number generator. Combines: ! (1) The congruential generator x(n)=69069*x(n-1)+1327217885, period 2^32. ! (2) A 3-shift shift-register generator, period 2^32-1, ! (3) Two 16-bit multiply-with-carry generators, period 597273182964842497>2^59 ! Overall period>2^123; ! real(kind=rb), dimension(:), intent(inout) :: ran_arr integer(kind=im), dimension(:), intent(inout) :: seed1,seed2,seed3,seed4 integer(kind=im) :: i,sz,kiss integer(kind=im) :: m, k, n ! inline function m(k, n) = ieor (k, ishft (k, n) ) sz = size(ran_arr) do i = 1, sz seed1(i) = 69069_im * seed1(i) + 1327217885_im seed2(i) = m (m (m (seed2(i), 13_im), - 17_im), 5_im) seed3(i) = 18000_im * iand (seed3(i), 65535_im) + ishft (seed3(i), - 16_im) seed4(i) = 30903_im * iand (seed4(i), 65535_im) + ishft (seed4(i), - 16_im) kiss = seed1(i) + seed2(i) + ishft (seed3(i), 16_im) + seed4(i) ran_arr(i) = kiss*2.328306e-10_rb + 0.5_rb end do end subroutine kissvec end module mcica_subcol_gen_lw ================================================ FILE: GeosRad/mcica_subcol_gen_sw.F90 ================================================ ! path: $Source: /storm/rc1/cvsroot/rc/rrtmg_sw/src/mcica_subcol_gen_sw.f90,v $ ! author: $Author: mike $ ! revision: $Revision: 1.6 $ ! created: $Date: 2009/02/09 19:45:52 $ ! module mcica_subcol_gen_sw ! -------------------------------------------------------------------------- ! | | ! | Copyright 2006-2008, Atmospheric & Environmental Research, Inc. (AER). | ! | This software may be used, copied, or redistributed as long as it is | ! | not sold and this copyright notice is reproduced on each copy made. | ! | This model is provided as is without any express or implied warranties. | ! | (http://www.rtweb.aer.com/) | ! | | ! -------------------------------------------------------------------------- ! Purpose: Create McICA stochastic arrays for cloud physical or optical properties. ! Two options are possible: ! 1) Input cloud physical properties: cloud fraction, ice and liquid water ! paths, ice fraction, and particle sizes. Output will be stochastic ! arrays of these variables. (inflag = 1) ! 2) Input cloud optical properties directly: cloud optical depth, single ! scattering albedo and asymmetry parameter. Output will be stochastic ! arrays of these variables. (inflag = 0) ! --------- Modules ---------- use parkind, only : im => kind_im, rb => kind_rb use parrrsw, only : nbndsw, ngptsw use rrsw_con, only: grav use rrsw_wvn, only: ngb use rrsw_vsn implicit none ! public interfaces/functions/subroutines public :: mcica_subcol_sw, generate_stochastic_clouds_sw contains !------------------------------------------------------------------ ! Public subroutines !------------------------------------------------------------------ subroutine mcica_subcol_sw(ncol, nlay, icld, permuteseed, irng, play, & cldfrac, ciwp, clwp, rei, rel, tauc, ssac, asmc, fsfc, & cldfmcl, ciwpmcl, clwpmcl, reicmcl, relqmcl, & taucmcl, ssacmcl, asmcmcl, fsfcmcl) ! ----- Input ----- ! Control integer(kind=im), intent(in) :: ncol ! number of columns integer(kind=im), intent(in) :: nlay ! number of model layers integer(kind=im), intent(in) :: icld ! clear/cloud, cloud overlap flag integer(kind=im), intent(in) :: permuteseed ! if the cloud generator is called multiple times, ! permute the seed between each call; ! between calls for LW and SW, recommended ! permuteseed differs by 'ngpt' integer(kind=im), intent(inout) :: irng ! flag for random number generator ! 0 = kissvec ! 1 = Mersenne Twister ! Atmosphere real(kind=rb), intent(in) :: play(ncol,nlay) ! layer pressures (mb) ! Dimensions: (ncol,nlay) ! Atmosphere/clouds - cldprop real(kind=rb), intent(in) :: cldfrac(ncol,nlay) ! layer cloud fraction ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: tauc(nbndsw,ncol,nlay) ! in-cloud optical depth ! Dimensions: (nbndsw,ncol,nlay) real(kind=rb), intent(in) :: ssac(nbndsw,ncol,nlay) ! in-cloud single scattering albedo (non-delta scaled) ! Dimensions: (nbndsw,ncol,nlay) real(kind=rb), intent(in) :: asmc(nbndsw,ncol,nlay) ! in-cloud asymmetry parameter (non-delta scaled) ! Dimensions: (nbndsw,ncol,nlay) real(kind=rb), intent(in) :: fsfc(nbndsw,ncol,nlay) ! in-cloud forward scattering fraction (non-delta scaled) ! Dimensions: (nbndsw,ncol,nlay) real(kind=rb), intent(in) :: ciwp(ncol,nlay) ! in-cloud ice water path ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: clwp(ncol,nlay) ! in-cloud liquid water path ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: rei(ncol,nlay) ! cloud ice particle size ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: rel(ncol,nlay) ! cloud liquid particle size ! Dimensions: (ncol,nlay) ! ----- Output ----- ! Atmosphere/clouds - cldprmc [mcica] real(kind=rb), intent(out) :: cldfmcl(ngptsw,ncol,nlay) ! cloud fraction [mcica] ! Dimensions: (ngptsw,ncol,nlay) real(kind=rb), intent(out) :: ciwpmcl(ngptsw,ncol,nlay) ! in-cloud ice water path [mcica] ! Dimensions: (ngptsw,ncol,nlay) real(kind=rb), intent(out) :: clwpmcl(ngptsw,ncol,nlay) ! in-cloud liquid water path [mcica] ! Dimensions: (ngptsw,ncol,nlay) real(kind=rb), intent(out) :: relqmcl(ncol,nlay) ! liquid particle size (microns) ! Dimensions: (ncol,nlay) real(kind=rb), intent(out) :: reicmcl(ncol,nlay) ! ice partcle size (microns) ! Dimensions: (ncol,nlay) real(kind=rb), intent(out) :: taucmcl(ngptsw,ncol,nlay) ! in-cloud optical depth [mcica] ! Dimensions: (ngptsw,ncol,nlay) real(kind=rb), intent(out) :: ssacmcl(ngptsw,ncol,nlay) ! in-cloud single scattering albedo [mcica] ! Dimensions: (ngptsw,ncol,nlay) real(kind=rb), intent(out) :: asmcmcl(ngptsw,ncol,nlay) ! in-cloud asymmetry parameter [mcica] ! Dimensions: (ngptsw,ncol,nlay) real(kind=rb), intent(out) :: fsfcmcl(ngptsw,ncol,nlay) ! in-cloud forward scattering fraction [mcica] ! Dimensions: (ngptsw,ncol,nlay) ! ----- Local ----- ! Stochastic cloud generator variables [mcica] integer(kind=im), parameter :: nsubcsw = ngptsw ! number of sub-columns (g-point intervals) integer(kind=im) :: ilev ! loop index real(kind=rb) :: pmid(ncol,nlay) ! layer pressures (Pa) ! real(kind=rb) :: pdel(ncol,nlay) ! layer pressure thickness (Pa) ! real(kind=rb) :: qi(ncol,nlay) ! ice water (specific humidity) ! real(kind=rb) :: ql(ncol,nlay) ! liq water (specific humidity) ! Return if clear sky; or stop if icld out of range if (icld.eq.0) return if (icld.lt.0.or.icld.gt.3) then stop 'MCICA_SUBCOL: INVALID ICLD' endif ! NOTE: For GCM mode, permuteseed must be offset between LW and SW by at least number of subcolumns ! Pass particle sizes to new arrays, no subcolumns for these properties yet ! Convert pressures from mb to Pa reicmcl(:ncol,:nlay) = rei(:ncol,:nlay) relqmcl(:ncol,:nlay) = rel(:ncol,:nlay) pmid(:ncol,:nlay) = play(:ncol,:nlay)*1.e2_rb ! Convert input ice and liquid cloud water paths to specific humidity ice and liquid components ! cwp = (q * pdel * 1000.) / gravit) ! = (kg/kg * kg m-1 s-2 *1000.) / m s-2 ! = (g m-2) ! ! q = (cwp * gravit) / (pdel *1000.) ! = (g m-2 * m s-2) / (kg m-1 s-2 * 1000.) ! = kg/kg ! do ilev = 1, nlay ! qi(ilev) = (ciwp(ilev) * grav) / (pdel(ilev) * 1000._rb) ! ql(ilev) = (clwp(ilev) * grav) / (pdel(ilev) * 1000._rb) ! enddo ! Generate the stochastic subcolumns of cloud optical properties for the shortwave; call generate_stochastic_clouds_sw (ncol, nlay, nsubcsw, icld, irng, pmid, cldfrac, clwp, ciwp, & tauc, ssac, asmc, fsfc, cldfmcl, clwpmcl, ciwpmcl, & taucmcl, ssacmcl, asmcmcl, fsfcmcl, permuteseed) end subroutine mcica_subcol_sw !------------------------------------------------------------------------------------------------- subroutine generate_stochastic_clouds_sw(ncol, nlay, nsubcol, icld, irng, pmid, cld, clwp, ciwp, & tauc, ssac, asmc, fsfc, cld_stoch, clwp_stoch, ciwp_stoch, & tauc_stoch, ssac_stoch, asmc_stoch, fsfc_stoch, changeSeed) !------------------------------------------------------------------------------------------------- !---------------------------------------------------------------------------------------------------------------- ! --------------------- ! Contact: Cecile Hannay (hannay@ucar.edu) ! ! Original code: Based on Raisanen et al., QJRMS, 2004. ! ! Modifications: Generalized for use with RRTMG and added Mersenne Twister as the default ! random number generator, which can be changed to the optional kissvec random number generator ! with flag 'irng'. Some extra functionality has been commented or removed. ! Michael J. Iacono, AER, Inc., February 2007 ! ! Given a profile of cloud fraction, cloud water and cloud ice, we produce a set of subcolumns. ! Each layer within each subcolumn is homogeneous, with cloud fraction equal to zero or one ! and uniform cloud liquid and cloud ice concentration. ! The ensemble as a whole reproduces the probability function of cloud liquid and ice within each layer ! and obeys an overlap assumption in the vertical. ! ! Overlap assumption: ! The cloud are consistent with 4 overlap assumptions: random, maximum, maximum-random and exponential. ! The default option is maximum-random (option 3) ! The options are: 1=random overlap, 2=max/random, 3=maximum overlap, 4=exponential overlap ! This is set with the variable "overlap" !mji - Exponential overlap option (overlap=4) has been deactivated in this version ! The exponential overlap uses also a length scale, Zo. (real, parameter :: Zo = 2500. ) ! ! Seed: ! If the stochastic cloud generator is called several times during the same timestep, ! one should change the seed between the call to insure that the subcolumns are different. ! This is done by changing the argument 'changeSeed' ! For example, if one wants to create a set of columns for the shortwave and another set for the longwave , ! use 'changeSeed = 1' for the first call and'changeSeed = 2' for the second call ! ! PDF assumption: ! We can use arbitrary complicated PDFS. ! In the present version, we produce homogeneuous clouds (the simplest case). ! Future developments include using the PDF scheme of Ben Johnson. ! ! History file: ! Option to add diagnostics variables in the history file. (using FINCL in the namelist) ! nsubcol = number of subcolumns ! overlap = overlap type (1-3) ! Zo = length scale ! CLOUD_S = mean of the subcolumn cloud fraction ('_S" means Stochastic) ! CLDLIQ_S = mean of the subcolumn cloud water ! CLDICE_S = mean of the subcolumn cloud ice ! ! Note: ! Here: we force that the cloud condensate to be consistent with the cloud fraction ! i.e we only have cloud condensate when the cell is cloudy. ! In CAM: The cloud condensate and the cloud fraction are obtained from 2 different equations ! and the 2 quantities can be inconsistent (i.e. CAM can produce cloud fraction ! without cloud condensate or the opposite). !--------------------------------------------------------------------------------------------------------------- use mcica_random_numbers ! The Mersenne Twister random number engine use MersenneTwister, only: randomNumberSequence, & new_RandomNumberSequence, getRandomReal type(randomNumberSequence) :: randomNumbers ! -- Arguments integer(kind=im), intent(in) :: ncol ! number of layers integer(kind=im), intent(in) :: nlay ! number of layers integer(kind=im), intent(in) :: icld ! clear/cloud, cloud overlap flag integer(kind=im), intent(inout) :: irng ! flag for random number generator ! 0 = kissvec ! 1 = Mersenne Twister integer(kind=im), intent(in) :: nsubcol ! number of sub-columns (g-point intervals) integer(kind=im), optional, intent(in) :: changeSeed ! allows permuting seed ! Column state (cloud fraction, cloud water, cloud ice) + variables needed to read physics state real(kind=rb), intent(in) :: pmid(:,:) ! layer pressure (Pa) ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: cld(:,:) ! cloud fraction ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: clwp(:,:) ! in-cloud liquid water path (g/m2) ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: ciwp(:,:) ! in-cloud ice water path (g/m2) ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: tauc(:,:,:) ! in-cloud optical depth (non-delta scaled) ! Dimensions: (nbndsw,ncol,nlay) real(kind=rb), intent(in) :: ssac(:,:,:) ! in-cloud single scattering albedo (non-delta scaled) ! Dimensions: (nbndsw,ncol,nlay) real(kind=rb), intent(in) :: asmc(:,:,:) ! in-cloud asymmetry parameter (non-delta scaled) ! Dimensions: (nbndsw,ncol,nlay) real(kind=rb), intent(in) :: fsfc(:,:,:) ! in-cloud forward scattering fraction (non-delta scaled) ! Dimensions: (nbndsw,ncol,nlay) real(kind=rb), intent(out) :: cld_stoch(:,:,:) ! subcolumn cloud fraction ! Dimensions: (ngptsw,ncol,nlay) real(kind=rb), intent(out) :: clwp_stoch(:,:,:) ! subcolumn in-cloud liquid water path ! Dimensions: (ngptsw,ncol,nlay) real(kind=rb), intent(out) :: ciwp_stoch(:,:,:) ! subcolumn in-cloud ice water path ! Dimensions: (ngptsw,ncol,nlay) real(kind=rb), intent(out) :: tauc_stoch(:,:,:) ! subcolumn in-cloud optical depth ! Dimensions: (ngptsw,ncol,nlay) real(kind=rb), intent(out) :: ssac_stoch(:,:,:) ! subcolumn in-cloud single scattering albedo ! Dimensions: (ngptsw,ncol,nlay) real(kind=rb), intent(out) :: asmc_stoch(:,:,:) ! subcolumn in-cloud asymmetry parameter ! Dimensions: (ngptsw,ncol,nlay) real(kind=rb), intent(out) :: fsfc_stoch(:,:,:) ! subcolumn in-cloud forward scattering fraction ! Dimensions: (ngptsw,ncol,nlay) ! -- Local variables real(kind=rb) :: cldf(ncol,nlay) ! cloud fraction ! Dimensions: (ncol,nlay) ! Mean over the subcolumns (cloud fraction, cloud water , cloud ice) - inactive ! real(kind=rb) :: mean_cld_stoch(ncol,nlay) ! cloud fraction ! real(kind=rb) :: mean_clwp_stoch(ncol,nlay) ! cloud water ! real(kind=rb) :: mean_ciwp_stoch(ncol,nlay) ! cloud ice ! real(kind=rb) :: mean_tauc_stoch(ncol,nlay) ! cloud optical depth ! real(kind=rb) :: mean_ssac_stoch(ncol,nlay) ! cloud single scattering albedo ! real(kind=rb) :: mean_asmc_stoch(ncol,nlay) ! cloud asymmetry parameter ! real(kind=rb) :: mean_fsfc_stoch(ncol,nlay) ! cloud forward scattering fraction ! Set overlap integer(kind=im) :: overlap ! 1 = random overlap, 2 = maximum/random, ! 3 = maximum overlap, ! real(kind=rb), parameter :: Zo = 2500._rb ! length scale (m) ! real(kind=rb) :: zm(ncon,nlay) ! Height of midpoints (above surface) ! real(kind=rb), dimension(nlay) :: alpha=0.0_rb ! overlap parameter ! Constants (min value for cloud fraction and cloud water and ice) real(kind=rb), parameter :: cldmin = 1.0e-20_rb ! min cloud fraction ! real(kind=rb), parameter :: qmin = 1.0e-10_rb ! min cloud water and cloud ice (not used) ! Variables related to random number and seed real(kind=rb), dimension(nsubcol, ncol, nlay) :: CDF, CDF2 ! random numbers integer(kind=im), dimension(ncol) :: seed1, seed2, seed3, seed4 ! seed to create random number real(kind=rb), dimension(ncol) :: rand_num ! random number (kissvec) integer(kind=im) :: iseed ! seed to create random number (Mersenne Twister) real(kind=rb) :: rand_num_mt ! random number (Mersenne Twister) ! Flag to identify cloud fraction in subcolumns logical, dimension(nsubcol, ncol, nlay) :: isCloudy ! flag that says whether a gridbox is cloudy ! Indices integer(kind=im) :: ilev, isubcol, i, n, ngbm ! indices !------------------------------------------------------------------------------------------ ! Check that irng is in bounds; if not, set to default if (irng .ne. 0) irng = 1 ! Pass input cloud overlap setting to local variable overlap = icld ! Ensure that cloud fractions are in bounds do ilev = 1, nlay do i = 1, ncol cldf(i,ilev) = cld(i,ilev) if (cldf(i,ilev) < cldmin) then cldf(i,ilev) = 0._rb endif enddo enddo ! ----- Create seed -------- ! Advance randum number generator by changeseed values if (irng.eq.0) then ! For kissvec, create a seed that depends on the state of the columns. Maybe not the best way, but it works. ! Must use pmid from bottom four layers. do i=1,ncol if (pmid(i,1).lt.pmid(i,2)) then stop 'MCICA_SUBCOL: KISSVEC SEED GENERATOR REQUIRES PMID FROM BOTTOM FOUR LAYERS.' endif seed1(i) = (pmid(i,1) - int(pmid(i,1))) * 1000000000_im seed2(i) = (pmid(i,2) - int(pmid(i,2))) * 1000000000_im seed3(i) = (pmid(i,3) - int(pmid(i,3))) * 1000000000_im seed4(i) = (pmid(i,4) - int(pmid(i,4))) * 1000000000_im enddo do i=1,changeSeed call kissvec(seed1, seed2, seed3, seed4, rand_num) enddo elseif (irng.eq.1) then randomNumbers = new_RandomNumberSequence(seed = changeSeed) endif ! ------ Apply overlap assumption -------- ! generate the random numbers select case (overlap) case(1) ! Random overlap ! i) pick a random value at every level if (irng.eq.0) then do isubcol = 1,nsubcol do ilev = 1,nlay call kissvec(seed1, seed2, seed3, seed4, rand_num) CDF(isubcol,:,ilev) = rand_num enddo enddo elseif (irng.eq.1) then do isubcol = 1, nsubcol do i = 1, ncol do ilev = 1, nlay rand_num_mt = getRandomReal(randomNumbers) CDF(isubcol,i,ilev) = rand_num_mt enddo enddo enddo endif case(2) ! Maximum-Random overlap ! i) pick a random number for top layer. ! ii) walk down the column: ! - if the layer above is cloudy, we use the same random number than in the layer above ! - if the layer above is clear, we use a new random number if (irng.eq.0) then do isubcol = 1,nsubcol do ilev = 1,nlay call kissvec(seed1, seed2, seed3, seed4, rand_num) CDF(isubcol,:,ilev) = rand_num enddo enddo elseif (irng.eq.1) then do isubcol = 1, nsubcol do i = 1, ncol do ilev = 1, nlay rand_num_mt = getRandomReal(randomNumbers) CDF(isubcol,i,ilev) = rand_num_mt enddo enddo enddo endif do ilev = 2,nlay do i = 1, ncol do isubcol = 1, nsubcol if (CDF(isubcol, i, ilev-1) > 1._rb - cldf(i,ilev-1) ) then CDF(isubcol,i,ilev) = CDF(isubcol,i,ilev-1) else CDF(isubcol,i,ilev) = CDF(isubcol,i,ilev) * (1._rb - cldf(i,ilev-1)) endif enddo enddo enddo case(3) ! Maximum overlap ! i) pick same random numebr at every level if (irng.eq.0) then do isubcol = 1,nsubcol call kissvec(seed1, seed2, seed3, seed4, rand_num) do ilev = 1,nlay CDF(isubcol,:,ilev) = rand_num enddo enddo elseif (irng.eq.1) then do isubcol = 1, nsubcol do i = 1, ncol rand_num_mt = getRandomReal(randomNumbers) do ilev = 1, nlay CDF(isubcol,i,ilev) = rand_num_mt enddo enddo enddo endif ! case(4) - inactive ! ! Exponential overlap: weighting between maximum and random overlap increases with the distance. ! ! The random numbers for exponential overlap verify: ! ! j=1 RAN(j)=RND1 ! ! j>1 if RND1 < alpha(j,j-1) => RAN(j) = RAN(j-1) ! ! RAN(j) = RND2 ! ! alpha is obtained from the equation ! ! alpha = exp(- (Zi-Zj-1)/Zo) where Zo is a characteristic length scale ! ! compute alpha ! zm = state%zm ! alpha(:, 1) = 0._rb ! do ilev = 2,nlay ! alpha(:, ilev) = exp( -( zm (:, ilev-1) - zm (:, ilev)) / Zo) ! end do ! ! generate 2 streams of random numbers ! do isubcol = 1,nsubcol ! do ilev = 1,nlay ! call kissvec(seed1, seed2, seed3, seed4, rand_num) ! CDF(isubcol, :, ilev) = rand_num ! call kissvec(seed1, seed2, seed3, seed4, rand_num) ! CDF2(isubcol, :, ilev) = rand_num ! end do ! end do ! ! generate random numbers ! do ilev = 2,nlay ! where (CDF2(:, :, ilev) < spread(alpha (:,ilev), dim=1, nCopies=nsubcol) ) ! CDF(:,:,ilev) = CDF(:,:,ilev-1) ! end where ! end do end select ! -- generate subcolumns for homogeneous clouds ----- do ilev = 1, nlay isCloudy(:,:,ilev) = (CDF(:,:,ilev) >= 1._rb - spread(cldf(:,ilev), dim=1, nCopies=nsubcol) ) enddo ! where the subcolumn is cloudy, the subcolumn cloud fraction is 1; ! where the subcolumn is not cloudy, the subcolumn cloud fraction is 0; ! where there is a cloud, define the subcolumn cloud properties, ! otherwise set these to zero ngbm = ngb(1) - 1 do ilev = 1,nlay do i = 1, ncol do isubcol = 1, nsubcol if ( iscloudy(isubcol,i,ilev) ) then cld_stoch(isubcol,i,ilev) = 1._rb clwp_stoch(isubcol,i,ilev) = clwp(i,ilev) ciwp_stoch(isubcol,i,ilev) = ciwp(i,ilev) n = ngb(isubcol) - ngbm tauc_stoch(isubcol,i,ilev) = tauc(n,i,ilev) ssac_stoch(isubcol,i,ilev) = ssac(n,i,ilev) asmc_stoch(isubcol,i,ilev) = asmc(n,i,ilev) fsfc_stoch(isubcol,i,ilev) = fsfc(n,i,ilev) else cld_stoch(isubcol,i,ilev) = 0._rb clwp_stoch(isubcol,i,ilev) = 0._rb ciwp_stoch(isubcol,i,ilev) = 0._rb tauc_stoch(isubcol,i,ilev) = 0._rb ssac_stoch(isubcol,i,ilev) = 1._rb asmc_stoch(isubcol,i,ilev) = 0._rb fsfc_stoch(isubcol,i,ilev) = 0._rb endif enddo enddo enddo ! -- compute the means of the subcolumns --- ! mean_cld_stoch(:,:) = 0._rb ! mean_clwp_stoch(:,:) = 0._rb ! mean_ciwp_stoch(:,:) = 0._rb ! mean_tauc_stoch(:,:) = 0._rb ! mean_ssac_stoch(:,:) = 0._rb ! mean_asmc_stoch(:,:) = 0._rb ! mean_fsfc_stoch(:,:) = 0._rb ! do i = 1, nsubcol ! mean_cld_stoch(:,:) = cld_stoch(i,:,:) + mean_cld_stoch(:,:) ! mean_clwp_stoch(:,:) = clwp_stoch( i,:,:) + mean_clwp_stoch(:,:) ! mean_ciwp_stoch(:,:) = ciwp_stoch( i,:,:) + mean_ciwp_stoch(:,:) ! mean_tauc_stoch(:,:) = tauc_stoch( i,:,:) + mean_tauc_stoch(:,:) ! mean_ssac_stoch(:,:) = ssac_stoch( i,:,:) + mean_ssac_stoch(:,:) ! mean_asmc_stoch(:,:) = asmc_stoch( i,:,:) + mean_asmc_stoch(:,:) ! mean_fsfc_stoch(:,:) = fsfc_stoch( i,:,:) + mean_fsfc_stoch(:,:) ! end do ! mean_cld_stoch(:,:) = mean_cld_stoch(:,:) / nsubcol ! mean_clwp_stoch(:,:) = mean_clwp_stoch(:,:) / nsubcol ! mean_ciwp_stoch(:,:) = mean_ciwp_stoch(:,:) / nsubcol ! mean_tauc_stoch(:,:) = mean_tauc_stoch(:,:) / nsubcol ! mean_ssac_stoch(:,:) = mean_ssac_stoch(:,:) / nsubcol ! mean_asmc_stoch(:,:) = mean_asmc_stoch(:,:) / nsubcol ! mean_fsfc_stoch(:,:) = mean_fsfc_stoch(:,:) / nsubcol end subroutine generate_stochastic_clouds_sw !-------------------------------------------------------------------------------------------------- subroutine kissvec(seed1,seed2,seed3,seed4,ran_arr) !-------------------------------------------------------------------------------------------------- ! public domain code ! made available from http://www.fortran.com/ ! downloaded by pjr on 03/16/04 for NCAR CAM ! converted to vector form, functions inlined by pjr,mvr on 05/10/2004 ! The KISS (Keep It Simple Stupid) random number generator. Combines: ! (1) The congruential generator x(n)=69069*x(n-1)+1327217885, period 2^32. ! (2) A 3-shift shift-register generator, period 2^32-1, ! (3) Two 16-bit multiply-with-carry generators, period 597273182964842497>2^59 ! Overall period>2^123; ! real(kind=rb), dimension(:), intent(inout) :: ran_arr integer(kind=im), dimension(:), intent(inout) :: seed1,seed2,seed3,seed4 integer(kind=im) :: i,sz,kiss integer(kind=im) :: m, k, n ! inline function m(k, n) = ieor (k, ishft (k, n) ) sz = size(ran_arr) do i = 1, sz seed1(i) = 69069_im * seed1(i) + 1327217885_im seed2(i) = m (m (m (seed2(i), 13_im), - 17_im), 5_im) seed3(i) = 18000_im * iand (seed3(i), 65535_im) + ishft (seed3(i), - 16_im) seed4(i) = 30903_im * iand (seed4(i), 65535_im) + ishft (seed4(i), - 16_im) kiss = seed1(i) + seed2(i) + ishft (seed3(i), 16_im) + seed4(i) ran_arr(i) = kiss*2.328306e-10_rb + 0.5_rb end do end subroutine kissvec end module mcica_subcol_gen_sw ================================================ FILE: GeosRad/parkind.F90 ================================================ module parkind implicit none save !------------------------------------------------------------------ ! rrtmg kinds ! Define integer and real kinds for various types. ! ! Initial version: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !------------------------------------------------------------------ ! ! integer kinds ! ------------- ! integer, parameter :: kind_ib = selected_int_kind(13) ! 8 byte integer integer, parameter :: kind_im = selected_int_kind(6) ! 4 byte integer integer, parameter :: kind_in = kind(1) ! native integer ! ! real kinds ! ---------- ! integer, parameter :: kind_rb = selected_real_kind(12) ! 8 byte real integer, parameter :: kind_rm = selected_real_kind(6) ! 4 byte real integer, parameter :: kind_rn = kind(1.0) ! native real end module parkind ================================================ FILE: GeosRad/parrrsw.F90 ================================================ module parrrsw use parkind ,only : im => kind_im, rb => kind_rb implicit none save !------------------------------------------------------------------ ! rrtmg_sw main parameters ! ! Initial version: JJMorcrette, ECMWF, jul1998 ! Revised: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !------------------------------------------------------------------ ! name type purpose ! ----- : ---- : ---------------------------------------------- ! mxlay : integer: maximum number of layers ! mg : integer: number of original g-intervals per spectral band ! nbndsw : integer: number of spectral bands ! naerec : integer: number of aerosols (iaer=6, ecmwf aerosol option) ! ngptsw : integer: total number of reduced g-intervals for rrtmg_lw ! ngNN : integer: number of reduced g-intervals per spectral band ! ngsNN : integer: cumulative number of g-intervals per band !------------------------------------------------------------------ integer(kind=im), parameter :: mxlay = 203 !jplay, klev integer(kind=im), parameter :: mg = 16 !jpg integer(kind=im), parameter :: nbndsw = 14 !jpsw, ksw integer(kind=im), parameter :: naerec = 6 !jpaer integer(kind=im), parameter :: mxmol = 38 integer(kind=im), parameter :: nstr = 2 integer(kind=im), parameter :: nmol = 7 ! Use for 112 g-point model integer(kind=im), parameter :: ngptsw = 112 !jpgpt ! Use for 224 g-point model ! integer(kind=im), parameter :: ngptsw = 224 !jpgpt ! may need to rename these - from v2.6 integer(kind=im), parameter :: jpband = 29 integer(kind=im), parameter :: jpb1 = 16 !istart integer(kind=im), parameter :: jpb2 = 29 !iend integer(kind=im), parameter :: jmcmu = 32 integer(kind=im), parameter :: jmumu = 32 integer(kind=im), parameter :: jmphi = 3 integer(kind=im), parameter :: jmxang = 4 integer(kind=im), parameter :: jmxstr = 16 ! ^ ! Use for 112 g-point model integer(kind=im), parameter :: ng16 = 6 integer(kind=im), parameter :: ng17 = 12 integer(kind=im), parameter :: ng18 = 8 integer(kind=im), parameter :: ng19 = 8 integer(kind=im), parameter :: ng20 = 10 integer(kind=im), parameter :: ng21 = 10 integer(kind=im), parameter :: ng22 = 2 integer(kind=im), parameter :: ng23 = 10 integer(kind=im), parameter :: ng24 = 8 integer(kind=im), parameter :: ng25 = 6 integer(kind=im), parameter :: ng26 = 6 integer(kind=im), parameter :: ng27 = 8 integer(kind=im), parameter :: ng28 = 6 integer(kind=im), parameter :: ng29 = 12 integer(kind=im), parameter :: ngs16 = 6 integer(kind=im), parameter :: ngs17 = 18 integer(kind=im), parameter :: ngs18 = 26 integer(kind=im), parameter :: ngs19 = 34 integer(kind=im), parameter :: ngs20 = 44 integer(kind=im), parameter :: ngs21 = 54 integer(kind=im), parameter :: ngs22 = 56 integer(kind=im), parameter :: ngs23 = 66 integer(kind=im), parameter :: ngs24 = 74 integer(kind=im), parameter :: ngs25 = 80 integer(kind=im), parameter :: ngs26 = 86 integer(kind=im), parameter :: ngs27 = 94 integer(kind=im), parameter :: ngs28 = 100 integer(kind=im), parameter :: ngs29 = 112 ! Use for 224 g-point model ! integer(kind=im), parameter :: ng16 = 16 ! integer(kind=im), parameter :: ng17 = 16 ! integer(kind=im), parameter :: ng18 = 16 ! integer(kind=im), parameter :: ng19 = 16 ! integer(kind=im), parameter :: ng20 = 16 ! integer(kind=im), parameter :: ng21 = 16 ! integer(kind=im), parameter :: ng22 = 16 ! integer(kind=im), parameter :: ng23 = 16 ! integer(kind=im), parameter :: ng24 = 16 ! integer(kind=im), parameter :: ng25 = 16 ! integer(kind=im), parameter :: ng26 = 16 ! integer(kind=im), parameter :: ng27 = 16 ! integer(kind=im), parameter :: ng28 = 16 ! integer(kind=im), parameter :: ng29 = 16 ! integer(kind=im), parameter :: ngs16 = 16 ! integer(kind=im), parameter :: ngs17 = 32 ! integer(kind=im), parameter :: ngs18 = 48 ! integer(kind=im), parameter :: ngs19 = 64 ! integer(kind=im), parameter :: ngs20 = 80 ! integer(kind=im), parameter :: ngs21 = 96 ! integer(kind=im), parameter :: ngs22 = 112 ! integer(kind=im), parameter :: ngs23 = 128 ! integer(kind=im), parameter :: ngs24 = 144 ! integer(kind=im), parameter :: ngs25 = 160 ! integer(kind=im), parameter :: ngs26 = 176 ! integer(kind=im), parameter :: ngs27 = 192 ! integer(kind=im), parameter :: ngs28 = 208 ! integer(kind=im), parameter :: ngs29 = 224 ! Source function solar constant real(kind=rb), parameter :: rrsw_scon = 1.36822e+03 ! W/m2 end module parrrsw ================================================ FILE: GeosRad/parrrtm.F90 ================================================ module parrrtm use parkind ,only : im => kind_im implicit none save !------------------------------------------------------------------ ! rrtmg_lw main parameters ! ! Initial version: JJMorcrette, ECMWF, Jul 1998 ! Revised: MJIacono, AER, Jun 2006 ! Revised: MJIacono, AER, Aug 2007 ! Revised: MJIacono, AER, Aug 2008 !------------------------------------------------------------------ ! name type purpose ! ----- : ---- : ---------------------------------------------- ! mxlay : integer: maximum number of layers ! mg : integer: number of original g-intervals per spectral band ! nbndlw : integer: number of spectral bands ! maxxsec: integer: maximum number of cross-section molecules ! (e.g. cfcs) ! maxinpx: integer: ! ngptlw : integer: total number of reduced g-intervals for rrtmg_lw ! ngNN : integer: number of reduced g-intervals per spectral band ! ngsNN : integer: cumulative number of g-intervals per band !------------------------------------------------------------------ integer(kind=im), parameter :: mxlay = 203 integer(kind=im), parameter :: mg = 16 integer(kind=im), parameter :: nbndlw = 16 integer(kind=im), parameter :: maxxsec= 4 integer(kind=im), parameter :: mxmol = 38 integer(kind=im), parameter :: maxinpx= 38 integer(kind=im), parameter :: nmol = 7 ! Use for 140 g-point model integer(kind=im), parameter :: ngptlw = 140 ! Use for 256 g-point model ! integer(kind=im), parameter :: ngptlw = 256 ! Use for 140 g-point model integer(kind=im), parameter :: ng1 = 10 integer(kind=im), parameter :: ng2 = 12 integer(kind=im), parameter :: ng3 = 16 integer(kind=im), parameter :: ng4 = 14 integer(kind=im), parameter :: ng5 = 16 integer(kind=im), parameter :: ng6 = 8 integer(kind=im), parameter :: ng7 = 12 integer(kind=im), parameter :: ng8 = 8 integer(kind=im), parameter :: ng9 = 12 integer(kind=im), parameter :: ng10 = 6 integer(kind=im), parameter :: ng11 = 8 integer(kind=im), parameter :: ng12 = 8 integer(kind=im), parameter :: ng13 = 4 integer(kind=im), parameter :: ng14 = 2 integer(kind=im), parameter :: ng15 = 2 integer(kind=im), parameter :: ng16 = 2 integer(kind=im), parameter :: ngs1 = 10 integer(kind=im), parameter :: ngs2 = 22 integer(kind=im), parameter :: ngs3 = 38 integer(kind=im), parameter :: ngs4 = 52 integer(kind=im), parameter :: ngs5 = 68 integer(kind=im), parameter :: ngs6 = 76 integer(kind=im), parameter :: ngs7 = 88 integer(kind=im), parameter :: ngs8 = 96 integer(kind=im), parameter :: ngs9 = 108 integer(kind=im), parameter :: ngs10 = 114 integer(kind=im), parameter :: ngs11 = 122 integer(kind=im), parameter :: ngs12 = 130 integer(kind=im), parameter :: ngs13 = 134 integer(kind=im), parameter :: ngs14 = 136 integer(kind=im), parameter :: ngs15 = 138 ! Use for 256 g-point model ! integer(kind=im), parameter :: ng1 = 16 ! integer(kind=im), parameter :: ng2 = 16 ! integer(kind=im), parameter :: ng3 = 16 ! integer(kind=im), parameter :: ng4 = 16 ! integer(kind=im), parameter :: ng5 = 16 ! integer(kind=im), parameter :: ng6 = 16 ! integer(kind=im), parameter :: ng7 = 16 ! integer(kind=im), parameter :: ng8 = 16 ! integer(kind=im), parameter :: ng9 = 16 ! integer(kind=im), parameter :: ng10 = 16 ! integer(kind=im), parameter :: ng11 = 16 ! integer(kind=im), parameter :: ng12 = 16 ! integer(kind=im), parameter :: ng13 = 16 ! integer(kind=im), parameter :: ng14 = 16 ! integer(kind=im), parameter :: ng15 = 16 ! integer(kind=im), parameter :: ng16 = 16 ! integer(kind=im), parameter :: ngs1 = 16 ! integer(kind=im), parameter :: ngs2 = 32 ! integer(kind=im), parameter :: ngs3 = 48 ! integer(kind=im), parameter :: ngs4 = 64 ! integer(kind=im), parameter :: ngs5 = 80 ! integer(kind=im), parameter :: ngs6 = 96 ! integer(kind=im), parameter :: ngs7 = 112 ! integer(kind=im), parameter :: ngs8 = 128 ! integer(kind=im), parameter :: ngs9 = 144 ! integer(kind=im), parameter :: ngs10 = 160 ! integer(kind=im), parameter :: ngs11 = 176 ! integer(kind=im), parameter :: ngs12 = 192 ! integer(kind=im), parameter :: ngs13 = 208 ! integer(kind=im), parameter :: ngs14 = 224 ! integer(kind=im), parameter :: ngs15 = 240 ! integer(kind=im), parameter :: ngs16 = 256 end module parrrtm ================================================ FILE: GeosRad/rad_driver.F90.safe ================================================ !------------------------------------------------------------------------------ ! Atmospheric and Environmental Research (AER Corp.) !------------------------------------------------------------------------------ !BOP ! ! !ROUTINE: ! !\\ !\\ ! !INTERFACE: ! SUBROUTINE rad_driver( IIPAR, JJPAR, NLAY, NCOL, T, TSKIN, & AVGW, SUNCOS, DOY, PEDGE, PCENTER, & O3VMR, CH4VMR,TAUCLD,CLDFR,CLIQWP,CICEWP, & RELIQ,REICE,lw_uflux,lw_dflux,sw_uflux,sw_dflux) ! ! !USES: use parkind, only : im=>kind_im, rb=>kind_rb use rrlw_con, only: gascon, avogad use parrrtm, only : nbndlw use parrrsw, only : nbndsw,naerec use rrtmg_lw_rad, only : rrtmg_lw use rrtmg_sw_rad, only : rrtmg_sw implicit none ! ! ! !INPUT PARAMETERS: ! ! Scalars REAL*8, INTENT(IN) :: DOY INTEGER, INTENT(IN) :: IIPAR INTEGER, INTENT(IN) :: JJPAR INTEGER, INTENT(IN) :: NCOL !! NCOL = IIPAR*JJPAR INTEGER, INTENT(IN) :: NLAY !! NLAY = LLPAR ! 2-D Arrays REAL*8, INTENT(IN) :: TSKIN (IIPAR,JJPAR ) REAL*8, INTENT(IN) :: SUNCOS (IIPAR*JJPAR ) real (kind=rb), intent(in) :: o3vmr(ncol,nlay) real (kind=rb), intent(in) :: ch4vmr(ncol,nlay) real (kind=rb), intent(in) :: taucld(ncol,nlay) real (kind=rb), intent(in) :: cldfr(ncol,nlay) ! Common cloud variables real (kind=rb), intent(in) :: cicewp(ncol,nlay) real (kind=rb), intent(in) :: cliqwp(ncol,nlay) real (kind=rb), intent(in) :: reice(ncol,nlay) real (kind=rb), intent(in) :: reliq(ncol,nlay) ! 3-D arrays REAL*8, INTENT(IN) :: AVGW (IIPAR,JJPAR,NLAY) REAL*8, INTENT(IN) :: PEDGE (IIPAR,JJPAR,NLAY) REAL*8, INTENT(IN) :: PCENTER(IIPAR,JJPAR,NLAY) REAL*8, INTENT(IN) :: T (IIPAR,JJPAR,NLAY) ! ! !OUTPUT PARAMETERS: REAL*8, INTENT(INOUT) :: LW_UFLUX(ncol,nlay+1) REAL*8, INTENT(INOUT) :: LW_DFLUX(ncol,nlay+1) REAL*8, INTENT(INOUT) :: SW_UFLUX(ncol,nlay+1) REAL*8, INTENT(INOUT) :: SW_DFLUX(ncol,nlay+1) ! ! ! !RETURN VALUE: ! ! ! !REMARKS: ! ! ! !REVISION HISTORY: ! 01 Oct 1995 - R. Yantosca - Initial version ! 08 Dec 2009 - R. Yantosca - Added ProTeX headers !EOP !------------------------------------------------------------------------------ !BOC ! ! Flags and dimensions integer (kind=im) :: icld, idrv integer (kind=im) :: inflglw, iceflglw,liqflglw integer (kind=im) :: inflgsw, iceflgsw,liqflgsw ! Profile variables real (kind=rb) :: play(ncol,nlay) real (kind=rb) :: plev(ncol,nlay+1) real (kind=rb) :: tlay(ncol,nlay) real (kind=rb) :: tlev(ncol,nlay+1) real (kind=rb) :: h2ovmr(ncol,nlay) real (kind=rb) :: co2vmr(ncol,nlay) real (kind=rb) :: n2ovmr(ncol,nlay) real (kind=rb) :: o2vmr(ncol,nlay) real (kind=rb) :: cfc11vmr(ncol,nlay) real (kind=rb) :: cfc12vmr(ncol,nlay) real (kind=rb) :: cfc22vmr(ncol,nlay) real (kind=rb) :: ccl4vmr(ncol,nlay) ! LW Surface variables real (kind=rb) :: emis(ncol,nbndlw) real (kind=rb) :: tsfc(ncol) ! LW Cloud variables real (kind=rb) :: taucld_lw(nbndlw,ncol,nlay) ! SW Surface variables real(kind=rb) :: asdir(ncol) ! UV/vis surface albedo direct rad ! Dimensions: (ncol) real(kind=rb) :: aldir(ncol) ! Near-IR surface albedo direct rad ! Dimensions: (ncol) real(kind=rb) :: asdif(ncol) ! UV/vis surface albedo: diffuse rad ! Dimensions: (ncol) real(kind=rb) :: aldif(ncol) ! Near-IR surface albedo: diffuse rad ! Dimensions: (ncol) ! SW solar variables integer(kind=im) :: dyofyr ! Day of the year (used to get Earth/Sun ! distance if adjflx not provided) real(kind=rb) :: adjes=1.0 ! Flux adjustment for Earth/Sun distance real(kind=rb) :: coszen(ncol) ! Cosine of solar zenith angle ! Dimensions: (ncol) real(kind=rb) :: scon=1368.22 ! Solar constant (W/m2) ! SW cloud variables real(kind=rb) :: taucld_sw(nbndsw,ncol,nlay) ! In-cloud optical depth ! Dimensions: (nbndsw,ncol,nlay) real(kind=rb) :: ssacld(nbndsw,ncol,nlay) ! In-cloud single scattering albedo ! Dimensions: (nbndsw,ncol,nlay) real(kind=rb) :: asmcld(nbndsw,ncol,nlay) ! In-cloud asymmetry parameter ! Dimensions: (nbndsw,ncol,nlay) real(kind=rb) :: fsfcld(nbndsw,ncol,nlay) ! In-cloud forward scattering fraction ! Dimensions: (nbndsw,ncol,nlay) ! Aerosol variables ! LW real (kind=rb) :: tauaer_lw(ncol,nlay,nbndlw) !SW real(kind=rb) :: tauaer_sw(ncol,nlay,nbndsw) ! Aerosol optical depth (iaer=10 only) ! Dimensions: (ncol,nlay,nbndsw) ! (non-delta scaled) real(kind=rb) :: ssaaer(ncol,nlay,nbndsw) ! Aerosol single scattering albedo (iaer=10 only) ! Dimensions: (ncol,nlay,nbndsw) ! (non-delta scaled) real(kind=rb) :: asmaer(ncol,nlay,nbndsw) ! Aerosol asymmetry parameter (iaer=10 only) ! Dimensions: ! (ncol,nlay,nbndsw) real(kind=rb) :: ecaer(ncol,nlay,naerec) ! Aerosol optical depth at 0.55 micron (iaer=6 only) ! Dimensions: ! (ncol,nlay,naerec) ! Longwave Flux variables real(kind=rb) :: uflx(ncol,nlay+1) ! Total sky longwave upward flux (W/m2) ! Dimensions: ! (ncol,nlay+1) real(kind=rb) :: dflx(ncol,nlay+1) ! Total sky longwave downward flux (W/m2) ! Dimensions: ! (ncol,nlay+1) real(kind=rb) :: hr(ncol,nlay) ! Total sky longwave radiative heating rate (K/d) ! Dimensions: ! (ncol,nlay) real(kind=rb) :: uflxc(ncol,nlay+1)! Clear sky longwave upward flux (W/m2) ! Dimensions: ! (ncol,nlay+1) real(kind=rb) :: dflxc(ncol,nlay+1)! Clear sky longwave downward flux (W/m2) ! Dimensions: ! (ncol,nlay+1) real(kind=rb) :: hrc(ncol,nlay) ! Clear sky longwave radiative heating rate (K/d) ! Dimensions: ! (ncol,nlay) !- Optional Output real(kind=rb) :: duflx_dt(ncol,nlay) ! change in upward longwave flux (w/m2/k) ! with respect to surface temperature ! Dimensions: (ncol,nlay) real(kind=rb) :: duflxc_dt(ncol,nlay) ! change in clear sky upward longwave flux (w/m2/k) ! with respect to surface temperature ! Dimensions: ! (ncol,nlay) ! Shortwave flux variables ! ----- Output ----- real(kind=rb) :: swuflx(ncol,nlay+1) ! Total sky shortwave upward flux (W/m2) ! Dimensions: ! (ncol,nlay+1) real(kind=rb) :: swdflx(ncol,nlay+1) ! Total sky shortwave downward flux (W/m2) ! Dimensions: ! (ncol,nlay+1) real(kind=rb) :: swhr(ncol,nlay) ! Total sky shortwave radiative heating rate (K/d) ! Dimensions: ! (ncol,nlay) real(kind=rb) :: swuflxc(ncol,nlay+1) ! Clear sky shortwave upward flux (W/m2) ! Dimensions: ! (ncol,nlay+1) real(kind=rb) :: swdflxc(ncol,nlay+1) ! Clear sky shortwave downward flux (W/m2) ! Dimensions: ! (ncol,nlay+1) real(kind=rb) :: swhrc(ncol,nlay) ! Clear sky shortwave radiative heating rate (K/d) ! Dimensions: ! (ncol,nlay) ! Local variables integer :: i, j, l, ib, jloop, ijloop real*8 :: gcair real*8 :: rhoa, rhob, rhosum real*8 :: hr_temp real (kind=rb) :: cldfr_sw(ncol,nlay) ! Pressure related variables real*8 :: plev_temp(ncol,nlay) !Shape array for reshaping arrays from 3D to 2D (nlon,nlat,nlay) to (ncol,nlay) integer :: ishape1(1) integer :: ishape2(2) ishape1(1) = ncol ishape2(1) = ncol ishape2(2) = nlay print *,'rad_driver' ! Gridding is somewhat difficult ! GC provides variables at the center of grid boxes (including T and P) ! I will assume these are layer values (in RRTMG language) and calculate ! the values at the edges and call them level values (sort of backwards ! from what we usually do) ! Reshape arrays from GC to reduce to 2D h2ovmr = reshape(avgw,ishape2) tlay = reshape(t,ishape2) play = reshape(pcenter,ishape2) plev_temp = reshape(pedge,ishape2) tsfc = reshape(tskin,ishape1) ! Get level values gcair = 1.0e-3*gascon/avogad do i=1,ncol plev(i,1) = plev_temp(i,1) ! set lowest level to surface pressure tlev(i,1) = tlay(i,1) ! set lowest level to layer temperature (KLUDGE) plev(i,nlay+1) = play(i,nlay) tlev(i,nlay+1) = tlay(i,nlay) do l=2,nlay rhoa = play(i,l-1)/(gcair*tlay(i,l-1)) rhob = play(i,l)/(gcair*tlay(i,l)) rhosum = rhoa+rhob plev(i,l) = (rhoa*play(i,l-1)+rhob*play(i,l))/rhosum tlev(i,l) = (rhoa*tlay(i,l-1)+rhob*tlay(i,l))/rhosum end do end do ! Fill co2, n2o and o2 arrays with reasonable atmospheric values co2vmr(:,:) = 3.90e-4 n2ovmr(:,:) = 3.20e-7 o2vmr(:,:) = 0.209 emis(:,:) = 0.99 ! Turn off CFCs, aerosols for now cfc11vmr(:,:) = 0.0 cfc12vmr(:,:) = 0.0 cfc22vmr(:,:) = 0.0 ccl4vmr(:,:) = 0.0 asdir(:) = 0.01 aldir(:) = 0.01 asdif(:) = 0.01 aldif(:) = 0.01 ssacld(:,:,:) = 0.0 asmcld(:,:,:) = 0.0 fsfcld(:,:,:) = 0.0 tauaer_lw (:,:,:) = 0.0 tauaer_sw (:,:,:) = 0.0 ssaaer(:,:,:) = 0.0 asmaer(:,:,:) = 0.0 ! Cloud setup for clear ! idrv = 0 ! icld = 0 ! inflglw = 0 ! inflgsw = 0 ! do ib=1,nbndlw ! taucld_lw(ib,:,:) = 0.0 ! taucld_sw(ib,:,:) = 0.0 ! end do ! iceflglw = 0 !Streamer ! liqflglw = 0 !Hu and Stamnes ! iceflgsw = 0 !Streamer ! liqflgsw = 0 !Hu and Stamnes ! Cloud setup for grey cloud ! idrv = 0 ! icld = 1 ! inflglw = 0 ! inflgsw = 0 ! do ib=1,nbndlw ! taucld_lw(ib,:,:) = taucld(:,:) ! taucld_sw(ib,:,:) = taucld(:,:) ! end do ! iceflglw = 0 !Streamer ! liqflglw = 0 !Hu and Stamnes ! iceflgsw = 0 !Streamer ! liqflgsw = 0 !Hu and Stamnes ! Cloud setup for spectral cloud idrv = 0 icld = 1 inflglw = 2 inflgsw = 2 do ib=1,nbndlw taucld_lw(ib,:,:) = 0.0 taucld_sw(ib,:,:) = 0.0 end do iceflglw = 2 !Streamer liqflglw = 1 !Hu and Stamnes iceflgsw = 2 !Streamer liqflgsw = 1 !Hu and Stamnes ! Set solar variables coszen = suncos dyofyr = doy ! Initialize fluxes to avoid nasty surprises uflx(:,:) = 0.0 dflx(:,:) = 0.0 hr(:,:) = 0.0 uflxc(:,:) = 0.0 dflxc(:,:) = 0.0 hrc(:,:) = 0.0 duflx_dt(:,:) = 0.0 duflxc_dt(:,:) = 0.0 swuflx(:,:) = 0.0 swdflx(:,:) = 0.0 swhr(:,:) = 0.0 swuflxc(:,:) = 0.0 swdflxc(:,:) = 0.0 swhrc(:,:) = 0.0 open (86,file='RRTMG_OUTPUT',form='formatted') print *,'will call rrtmg_lw' call rrtmg_lw & (ncol ,nlay ,icld ,idrv , & play ,plev ,tlay ,tlev ,tsfc , & h2ovmr ,o3vmr ,co2vmr ,ch4vmr ,n2ovmr ,o2vmr, & cfc11vmr,cfc12vmr,cfc22vmr,ccl4vmr ,emis , & inflglw ,iceflglw,liqflglw,cldfr , & taucld_lw ,cicewp ,cliqwp ,reice ,reliq , & tauaer_lw , & uflx ,dflx ,hr ,uflxc ,dflxc, hrc, & duflx_dt,duflxc_dt ) do ib=1,nbndsw cldfr_sw(:,:) = 1.0 end do print *,'will call rrtmg_sw' call rrtmg_sw & (ncol ,nlay ,icld , & play ,plev ,tlay ,tlev ,tsfc , & h2ovmr ,o3vmr ,co2vmr ,ch4vmr ,n2ovmr ,o2vmr, & asdir ,asdif ,aldir ,aldif , & coszen ,adjes ,dyofyr ,scon , & inflgsw ,iceflgsw,liqflgsw,cldfr_sw , & taucld_sw ,ssacld ,asmcld ,fsfcld , & cicewp ,cliqwp ,reice ,reliq , & tauaer_sw ,ssaaer ,asmaer ,ecaer , & swuflx ,swdflx ,swhr ,swuflxc ,swdflxc ,swhrc) ! lw_uflux = uflx lw_dflux = dflx sw_uflux = swuflx sw_dflux = swdflx ! do i=1,ncol,10 write (86,100) i,tsfc(i), coszen(i), maxval(taucld_lw(1,i,:)*cldfr(i,:)), & uflx(i,1),uflx(i,nlay+1),dflx(i,1),dflx(i,nlay+1), & swuflx(i,1),swuflx(i,nlay+1),swdflx(i,1),swdflx(i,nlay+1) end do close(86) ! 100 format (i10,3f10.2,8f15.3) return end subroutine rad_driver ================================================ FILE: GeosRad/rrlw_cld.F90 ================================================ module rrlw_cld use parkind, only : rb => kind_rb implicit none save !------------------------------------------------------------------ ! rrtmg_lw cloud property coefficients ! Revised: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !------------------------------------------------------------------ ! name type purpose ! ----- : ---- : ---------------------------------------------- ! abscld1: real : ! absice0: real : ! absice1: real : ! absice2: real : ! absice3: real : ! absliq0: real : ! absliq1: real : !------------------------------------------------------------------ real(kind=rb) :: abscld1 real(kind=rb) , dimension(2) :: absice0 real(kind=rb) , dimension(2,5) :: absice1 real(kind=rb) , dimension(43,16) :: absice2 real(kind=rb) , dimension(46,16) :: absice3 real(kind=rb) :: absliq0 real(kind=rb) , dimension(58,16) :: absliq1 end module rrlw_cld ================================================ FILE: GeosRad/rrlw_con.F90 ================================================ module rrlw_con use parkind, only : rb => kind_rb implicit none save !------------------------------------------------------------------ ! rrtmg_lw constants ! Initial version: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !------------------------------------------------------------------ ! name type purpose ! ----- : ---- : ---------------------------------------------- ! fluxfac: real : radiance to flux conversion factor ! heatfac: real : flux to heating rate conversion factor !oneminus: real : 1.-1.e-6 ! pi : real : pi ! grav : real : acceleration of gravity ! planck : real : planck constant ! boltz : real : boltzmann constant ! clight : real : speed of light ! avogad : real : avogadro constant ! alosmt : real : loschmidt constant ! gascon : real : molar gas constant ! radcn1 : real : first radiation constant ! radcn2 : real : second radiation constant ! sbcnst : real : stefan-boltzmann constant ! secdy : real : seconds per day !------------------------------------------------------------------ real(kind=rb) :: fluxfac, heatfac real(kind=rb) :: oneminus, pi, grav real(kind=rb) :: planck, boltz, clight real(kind=rb) :: avogad, alosmt, gascon real(kind=rb) :: radcn1, radcn2 real(kind=rb) :: sbcnst, secdy end module rrlw_con ================================================ FILE: GeosRad/rrlw_kg01.F90 ================================================ module rrlw_kg01 use parkind ,only : im => kind_im, rb => kind_rb implicit none save !----------------------------------------------------------------- ! rrtmg_lw ORIGINAL abs. coefficients for interval 1 ! band 1: 10-250 cm-1 (low - h2o; high - h2o) ! ! Initial version: JJMorcrette, ECMWF, jul1998 ! Revised: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- !fracrefao: real !fracrefbo: real ! kao : real ! kbo : real ! kao_mn2 : real ! kbo_mn2 : real ! selfrefo: real ! forrefo : real !----------------------------------------------------------------- integer(kind=im), parameter :: no1 = 16 real(kind=rb) :: fracrefao(no1) , fracrefbo(no1) real(kind=rb) :: kao(5,13,no1) real(kind=rb) :: kbo(5,13:59,no1) real(kind=rb) :: kao_mn2(19,no1) , kbo_mn2(19,no1) real(kind=rb) :: selfrefo(10,no1), forrefo(4,no1) !----------------------------------------------------------------- ! rrtmg_lw COMBINED abs. coefficients for interval 1 ! band 1: 10-250 cm-1 (low - h2o; high - h2o) ! ! Initial version: JJMorcrette, ECMWF, jul1998 ! Revised: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- !fracrefa : real !fracrefb : real ! ka : real ! kb : real ! absa : real ! absb : real ! ka_mn2 : real ! kb_mn2 : real ! selfref : real ! forref : real !----------------------------------------------------------------- integer(kind=im), parameter :: ng1 = 10 real(kind=rb) :: fracrefa(ng1) , fracrefb(ng1) real(kind=rb) :: ka(5,13,ng1) , absa(65,ng1) real(kind=rb) :: kb(5,13:59,ng1), absb(235,ng1) real(kind=rb) :: ka_mn2(19,ng1) , kb_mn2(19,ng1) real(kind=rb) :: selfref(10,ng1), forref(4,ng1) equivalence (ka(1,1,1),absa(1,1)), (kb(1,13,1),absb(1,1)) end module rrlw_kg01 ================================================ FILE: GeosRad/rrlw_kg02.F90 ================================================ module rrlw_kg02 use parkind ,only : im => kind_im, rb => kind_rb implicit none save !----------------------------------------------------------------- ! rrtmg_lw ORIGINAL abs. coefficients for interval 2 ! band 2: 250-500 cm-1 (low - h2o; high - h2o) ! ! Initial version: JJMorcrette, ECMWF, jul1998 ! Revised: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- !fracrefao: real !fracrefbo: real ! kao : real ! kbo : real ! selfrefo: real ! forrefo : real !----------------------------------------------------------------- integer(kind=im), parameter :: no2 = 16 real(kind=rb) :: fracrefao(no2) , fracrefbo(no2) real(kind=rb) :: kao(5,13,no2) real(kind=rb) :: kbo(5,13:59,no2) real(kind=rb) :: selfrefo(10,no2) , forrefo(4,no2) !----------------------------------------------------------------- ! rrtmg_lw COMBINED abs. coefficients for interval 2 ! band 2: 250-500 cm-1 (low - h2o; high - h2o) ! ! Initial version: JJMorcrette, ECMWF, jul1998 ! Revised: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- !fracrefa : real !fracrefb : real ! ka : real ! kb : real ! absa : real ! absb : real ! selfref : real ! forref : real ! ! refparam: real !----------------------------------------------------------------- integer(kind=im), parameter :: ng2 = 12 real(kind=rb) :: fracrefa(ng2) , fracrefb(ng2) real(kind=rb) :: ka(5,13,ng2) , absa(65,ng2) real(kind=rb) :: kb(5,13:59,ng2), absb(235,ng2) real(kind=rb) :: selfref(10,ng2), forref(4,ng2) real(kind=rb) :: refparam(13) equivalence (ka(1,1,1),absa(1,1)),(kb(1,13,1),absb(1,1)) end module rrlw_kg02 ================================================ FILE: GeosRad/rrlw_kg03.F90 ================================================ module rrlw_kg03 use parkind ,only : im => kind_im, rb => kind_rb implicit none save !----------------------------------------------------------------- ! rrtmg_lw ORIGINAL abs. coefficients for interval 3 ! band 3: 500-630 cm-1 (low - h2o,co2; high - h2o,co2) ! ! Initial version: JJMorcrette, ECMWF, jul1998 ! Revised: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- !fracrefao: real !fracrefbo: real ! kao : real ! kbo : real ! kao_mn2o: real ! kbo_mn2o: real ! selfrefo: real ! forrefo : real !----------------------------------------------------------------- integer(kind=im), parameter :: no3 = 16 real(kind=rb) :: fracrefao(no3,9) ,fracrefbo(no3,5) real(kind=rb) :: kao(9,5,13,no3) real(kind=rb) :: kbo(5,5,13:59,no3) real(kind=rb) :: kao_mn2o(9,19,no3), kbo_mn2o(5,19,no3) real(kind=rb) :: selfrefo(10,no3) real(kind=rb) :: forrefo(4,no3) !----------------------------------------------------------------- ! rrtmg_lw COMBINED abs. coefficients for interval 3 ! band 3: 500-630 cm-1 (low - h2o,co2; high - h2o,co2) ! ! Initial version: JJMorcrette, ECMWF, jul1998 ! Revised: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- !fracrefa : real !fracrefb : real ! ka : real ! kb : real ! ka_mn2o : real ! kb_mn2o : real ! selfref : real ! forref : real ! ! absa : real ! absb : real !----------------------------------------------------------------- integer(kind=im), parameter :: ng3 = 16 real(kind=rb) :: fracrefa(ng3,9) ,fracrefb(ng3,5) real(kind=rb) :: ka(9,5,13,ng3) ,absa(585,ng3) real(kind=rb) :: kb(5,5,13:59,ng3),absb(1175,ng3) real(kind=rb) :: ka_mn2o(9,19,ng3), kb_mn2o(5,19,ng3) real(kind=rb) :: selfref(10,ng3) real(kind=rb) :: forref(4,ng3) equivalence (ka(1,1,1,1),absa(1,1)),(kb(1,1,13,1),absb(1,1)) end module rrlw_kg03 ================================================ FILE: GeosRad/rrlw_kg04.F90 ================================================ module rrlw_kg04 use parkind ,only : im => kind_im, rb => kind_rb implicit none save !----------------------------------------------------------------- ! rrtmg_lw ORIGINAL abs. coefficients for interval 4 ! band 4: 630-700 cm-1 (low - h2o,co2; high - o3,co2) ! ! Initial version: JJMorcrette, ECMWF, jul1998 ! Revised: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- !fracrefao: real !fracrefbo: real ! kao : real ! kbo : real ! selfrefo: real ! forrefo : real !----------------------------------------------------------------- integer(kind=im), parameter :: no4 = 16 real(kind=rb) :: fracrefao(no4,9) ,fracrefbo(no4,5) real(kind=rb) :: kao(9,5,13,no4) real(kind=rb) :: kbo(5,5,13:59,no4) real(kind=rb) :: selfrefo(10,no4) ,forrefo(4,no4) !----------------------------------------------------------------- ! rrtmg_lw COMBINED abs. coefficients for interval 4 ! band 4: 630-700 cm-1 (low - h2o,co2; high - o3,co2) ! ! Initial version: JJMorcrette, ECMWF, jul1998 ! Revised: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! absa : real ! absb : real !fracrefa : real !fracrefb : real ! ka : real ! kb : real ! selfref : real ! forref : real !----------------------------------------------------------------- integer(kind=im), parameter :: ng4 = 14 real(kind=rb) :: fracrefa(ng4,9) ,fracrefb(ng4,5) real(kind=rb) :: ka(9,5,13,ng4) ,absa(585,ng4) real(kind=rb) :: kb(5,5,13:59,ng4),absb(1175,ng4) real(kind=rb) :: selfref(10,ng4) ,forref(4,ng4) equivalence (ka(1,1,1,1),absa(1,1)),(kb(1,1,13,1),absb(1,1)) end module rrlw_kg04 ================================================ FILE: GeosRad/rrlw_kg05.F90 ================================================ module rrlw_kg05 use parkind ,only : im => kind_im, rb => kind_rb implicit none save !----------------------------------------------------------------- ! rrtmg_lw ORIGINAL abs. coefficients for interval 5 ! band 5: 700-820 cm-1 (low - h2o,co2; high - o3,co2) ! ! Initial version: JJMorcrette, ECMWF, jul1998 ! Revised: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- !fracrefao: real !fracrefbo: real ! kao : real ! kbo : real ! kao_mo3 : real ! selfrefo: real ! forrefo : real ! ccl4o : real !----------------------------------------------------------------- integer(kind=im), parameter :: no5 = 16 real(kind=rb) :: fracrefao(no5,9) ,fracrefbo(no5,5) real(kind=rb) :: kao(9,5,13,no5) real(kind=rb) :: kbo(5,5,13:59,no5) real(kind=rb) :: kao_mo3(9,19,no5) real(kind=rb) :: selfrefo(10,no5) real(kind=rb) :: forrefo(4,no5) real(kind=rb) :: ccl4o(no5) !----------------------------------------------------------------- ! rrtmg_lw COMBINED abs. coefficients for interval 5 ! band 5: 700-820 cm-1 (low - h2o,co2; high - o3,co2) ! ! Initial version: JJMorcrette, ECMWF, jul1998 ! Revised: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- !fracrefa : real !fracrefb : real ! ka : real ! kb : real ! ka_mo3 : real ! selfref : real ! forref : real ! ccl4 : real ! ! absa : real ! absb : real !----------------------------------------------------------------- integer(kind=im), parameter :: ng5 = 16 real(kind=rb) :: fracrefa(ng5,9) ,fracrefb(ng5,5) real(kind=rb) :: ka(9,5,13,ng5) ,absa(585,ng5) real(kind=rb) :: kb(5,5,13:59,ng5),absb(1175,ng5) real(kind=rb) :: ka_mo3(9,19,ng5) real(kind=rb) :: selfref(10,ng5) real(kind=rb) :: forref(4,ng5) real(kind=rb) :: ccl4(ng5) equivalence (ka(1,1,1,1),absa(1,1)),(kb(1,1,13,1),absb(1,1)) end module rrlw_kg05 ================================================ FILE: GeosRad/rrlw_kg06.F90 ================================================ module rrlw_kg06 use parkind ,only : im => kind_im, rb => kind_rb implicit none save !----------------------------------------------------------------- ! rrtmg_lw ORIGINAL abs. coefficients for interval 6 ! band 6: 820-980 cm-1 (low - h2o; high - nothing) ! ! Initial version: JJMorcrette, ECMWF, jul1998 ! Revised: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- !fracrefao: real ! kao : real ! kao_mco2: real ! selfrefo: real ! forrefo : real !cfc11adjo: real ! cfc12o : real !----------------------------------------------------------------- integer(kind=im), parameter :: no6 = 16 real(kind=rb) , dimension(no6) :: fracrefao real(kind=rb) :: kao(5,13,no6) real(kind=rb) :: kao_mco2(19,no6) real(kind=rb) :: selfrefo(10,no6) real(kind=rb) :: forrefo(4,no6) real(kind=rb) , dimension(no6) :: cfc11adjo real(kind=rb) , dimension(no6) :: cfc12o !----------------------------------------------------------------- ! rrtmg_lw COMBINED abs. coefficients for interval 6 ! band 6: 820-980 cm-1 (low - h2o; high - nothing) ! ! Initial version: JJMorcrette, ECMWF, jul1998 ! Revised: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- !fracrefa : real ! ka : real ! ka_mco2 : real ! selfref : real ! forref : real !cfc11adj : real ! cfc12 : real ! ! absa : real !----------------------------------------------------------------- integer(kind=im), parameter :: ng6 = 8 real(kind=rb) , dimension(ng6) :: fracrefa real(kind=rb) :: ka(5,13,ng6),absa(65,ng6) real(kind=rb) :: ka_mco2(19,ng6) real(kind=rb) :: selfref(10,ng6) real(kind=rb) :: forref(4,ng6) real(kind=rb) , dimension(ng6) :: cfc11adj real(kind=rb) , dimension(ng6) :: cfc12 equivalence (ka(1,1,1),absa(1,1)) end module rrlw_kg06 ================================================ FILE: GeosRad/rrlw_kg07.F90 ================================================ module rrlw_kg07 use parkind ,only : im => kind_im, rb => kind_rb implicit none save !----------------------------------------------------------------- ! rrtmg_lw ORIGINAL abs. coefficients for interval 7 ! band 7: 980-1080 cm-1 (low - h2o,o3; high - o3) ! ! Initial version: JJMorcrette, ECMWF, jul1998 ! Revised: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- !fracrefao: real !fracrefbo: real ! kao : real ! kbo : real ! kao_mco2: real ! kbo_mco2: real ! selfrefo: real ! forrefo : real !----------------------------------------------------------------- integer(kind=im), parameter :: no7 = 16 real(kind=rb) , dimension(no7) :: fracrefbo real(kind=rb) :: fracrefao(no7,9) real(kind=rb) :: kao(9,5,13,no7) real(kind=rb) :: kbo(5,13:59,no7) real(kind=rb) :: kao_mco2(9,19,no7) real(kind=rb) :: kbo_mco2(19,no7) real(kind=rb) :: selfrefo(10,no7) real(kind=rb) :: forrefo(4,no7) !----------------------------------------------------------------- ! rrtmg_lw COMBINED abs. coefficients for interval 7 ! band 7: 980-1080 cm-1 (low - h2o,o3; high - o3) ! ! Initial version: JJMorcrette, ECMWF, jul1998 ! Revised: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- !fracrefa : real !fracrefb : real ! ka : real ! kb : real ! ka_mco2 : real ! kb_mco2 : real ! selfref : real ! forref : real ! ! absa : real !----------------------------------------------------------------- integer(kind=im), parameter :: ng7 = 12 real(kind=rb) , dimension(ng7) :: fracrefb real(kind=rb) :: fracrefa(ng7,9) real(kind=rb) :: ka(9,5,13,ng7) ,absa(585,ng7) real(kind=rb) :: kb(5,13:59,ng7),absb(235,ng7) real(kind=rb) :: ka_mco2(9,19,ng7) real(kind=rb) :: kb_mco2(19,ng7) real(kind=rb) :: selfref(10,ng7) real(kind=rb) :: forref(4,ng7) equivalence (ka(1,1,1,1),absa(1,1)),(kb(1,13,1),absb(1,1)) end module rrlw_kg07 ================================================ FILE: GeosRad/rrlw_kg08.F90 ================================================ module rrlw_kg08 use parkind ,only : im => kind_im, rb => kind_rb implicit none save !----------------------------------------------------------------- ! rrtmg_lw ORIGINAL abs. coefficients for interval 8 ! band 8: 1080-1180 cm-1 (low (i.e.>~300mb) - h2o; high - o3) ! ! Initial version: JJMorcrette, ECMWF, jul1998 ! Revised: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- !fracrefao: real !fracrefbo: real ! kao : real ! kbo : real ! kao_mco2: real ! kbo_mco2: real ! kao_mn2o: real ! kbo_mn2o: real ! kao_mo3 : real ! selfrefo: real ! forrefo : real ! cfc12o : real !cfc22adjo: real !----------------------------------------------------------------- integer(kind=im), parameter :: no8 = 16 real(kind=rb) , dimension(no8) :: fracrefao real(kind=rb) , dimension(no8) :: fracrefbo real(kind=rb) , dimension(no8) :: cfc12o real(kind=rb) , dimension(no8) :: cfc22adjo real(kind=rb) :: kao(5,13,no8) real(kind=rb) :: kao_mco2(19,no8) real(kind=rb) :: kao_mn2o(19,no8) real(kind=rb) :: kao_mo3(19,no8) real(kind=rb) :: kbo(5,13:59,no8) real(kind=rb) :: kbo_mco2(19,no8) real(kind=rb) :: kbo_mn2o(19,no8) real(kind=rb) :: selfrefo(10,no8) real(kind=rb) :: forrefo(4,no8) !----------------------------------------------------------------- ! rrtmg_lw COMBINED abs. coefficients for interval 8 ! band 8: 1080-1180 cm-1 (low (i.e.>~300mb) - h2o; high - o3) ! ! Initial version: JJMorcrette, ECMWF, jul1998 ! Revised: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- !fracrefa : real !fracrefb : real ! ka : real ! kb : real ! ka_mco2 : real ! kb_mco2 : real ! ka_mn2o : real ! kb_mn2o : real ! ka_mo3 : real ! selfref : real ! forref : real ! cfc12 : real ! cfc22adj: real ! ! absa : real ! absb : real !----------------------------------------------------------------- integer(kind=im), parameter :: ng8 = 8 real(kind=rb) , dimension(ng8) :: fracrefa real(kind=rb) , dimension(ng8) :: fracrefb real(kind=rb) , dimension(ng8) :: cfc12 real(kind=rb) , dimension(ng8) :: cfc22adj real(kind=rb) :: ka(5,13,ng8) ,absa(65,ng8) real(kind=rb) :: kb(5,13:59,ng8) ,absb(235,ng8) real(kind=rb) :: ka_mco2(19,ng8) real(kind=rb) :: ka_mn2o(19,ng8) real(kind=rb) :: ka_mo3(19,ng8) real(kind=rb) :: kb_mco2(19,ng8) real(kind=rb) :: kb_mn2o(19,ng8) real(kind=rb) :: selfref(10,ng8) real(kind=rb) :: forref(4,ng8) equivalence (ka(1,1,1),absa(1,1)),(kb(1,13,1),absb(1,1)) end module rrlw_kg08 ================================================ FILE: GeosRad/rrlw_kg09.F90 ================================================ module rrlw_kg09 use parkind ,only : im => kind_im, rb => kind_rb implicit none save !----------------------------------------------------------------- ! rrtmg_lw ORIGINAL abs. coefficients for interval 9 ! band 9: 1180-1390 cm-1 (low - h2o,ch4; high - ch4) ! ! Initial version: JJMorcrette, ECMWF, jul1998 ! Revised: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- !fracrefao: real !fracrefbo: real ! kao : real ! kbo : real ! kao_mn2o: real ! kbo_mn2o: real ! selfrefo: real ! forrefo : real !----------------------------------------------------------------- integer(kind=im), parameter :: no9 = 16 real(kind=rb) , dimension(no9) :: fracrefbo real(kind=rb) :: fracrefao(no9,9) real(kind=rb) :: kao(9,5,13,no9) real(kind=rb) :: kbo(5,13:59,no9) real(kind=rb) :: kao_mn2o(9,19,no9) real(kind=rb) :: kbo_mn2o(19,no9) real(kind=rb) :: selfrefo(10,no9) real(kind=rb) :: forrefo(4,no9) !----------------------------------------------------------------- ! rrtmg_lw COMBINED abs. coefficients for interval 9 ! band 9: 1180-1390 cm-1 (low - h2o,ch4; high - ch4) ! ! Initial version: JJMorcrette, ECMWF, jul1998 ! Revised: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- !fracrefa : real !fracrefb : real ! ka : real ! kb : real ! ka_mn2o : real ! kb_mn2o : real ! selfref : real ! forref : real ! ! absa : real ! absb : real !----------------------------------------------------------------- integer(kind=im), parameter :: ng9 = 12 real(kind=rb) , dimension(ng9) :: fracrefb real(kind=rb) :: fracrefa(ng9,9) real(kind=rb) :: ka(9,5,13,ng9) ,absa(585,ng9) real(kind=rb) :: kb(5,13:59,ng9) ,absb(235,ng9) real(kind=rb) :: ka_mn2o(9,19,ng9) real(kind=rb) :: kb_mn2o(19,ng9) real(kind=rb) :: selfref(10,ng9) real(kind=rb) :: forref(4,ng9) equivalence (ka(1,1,1,1),absa(1,1)),(kb(1,13,1),absb(1,1)) end module rrlw_kg09 ================================================ FILE: GeosRad/rrlw_kg10.F90 ================================================ module rrlw_kg10 use parkind ,only : im => kind_im, rb => kind_rb implicit none save !----------------------------------------------------------------- ! rrtmg_lw ORIGINAL abs. coefficients for interval 10 ! band 10: 1390-1480 cm-1 (low - h2o; high - h2o) ! ! Initial version: JJMorcrette, ECMWF, jul1998 ! Revised: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- !fracrefao: real !fracrefbo: real ! kao : real ! kbo : real ! selfrefo: real ! forrefo : real !----------------------------------------------------------------- integer(kind=im), parameter :: no10 = 16 real(kind=rb) , dimension(no10) :: fracrefao real(kind=rb) , dimension(no10) :: fracrefbo real(kind=rb) :: kao(5,13,no10) real(kind=rb) :: kbo(5,13:59,no10) real(kind=rb) :: selfrefo(10,no10) real(kind=rb) :: forrefo(4,no10) !----------------------------------------------------------------- ! rrtmg_lw COMBINED abs. coefficients for interval 10 ! band 10: 1390-1480 cm-1 (low - h2o; high - h2o) ! ! Initial version: JJMorcrette, ECMWF, jul1998 ! Revised: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- !fracrefao: real !fracrefbo: real ! kao : real ! kbo : real ! selfref : real ! forref : real ! ! absa : real ! absb : real !----------------------------------------------------------------- integer(kind=im), parameter :: ng10 = 6 real(kind=rb) , dimension(ng10) :: fracrefa real(kind=rb) , dimension(ng10) :: fracrefb real(kind=rb) :: ka(5,13,ng10) , absa(65,ng10) real(kind=rb) :: kb(5,13:59,ng10), absb(235,ng10) real(kind=rb) :: selfref(10,ng10) real(kind=rb) :: forref(4,ng10) equivalence (ka(1,1,1),absa(1,1)),(kb(1,13,1),absb(1,1)) end module rrlw_kg10 ================================================ FILE: GeosRad/rrlw_kg11.F90 ================================================ module rrlw_kg11 use parkind ,only : im => kind_im, rb => kind_rb implicit none save !----------------------------------------------------------------- ! rrtmg_lw ORIGINAL abs. coefficients for interval 11 ! band 11: 1480-1800 cm-1 (low - h2o; high - h2o) ! ! Initial version: JJMorcrette, ECMWF, jul1998 ! Revised: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- !fracrefao: real !fracrefbo: real ! kao : real ! kbo : real ! kao_mo2 : real ! kbo_mo2 : real ! selfrefo: real ! forrefo : real !----------------------------------------------------------------- integer(kind=im), parameter :: no11 = 16 real(kind=rb) , dimension(no11) :: fracrefao real(kind=rb) , dimension(no11) :: fracrefbo real(kind=rb) :: kao(5,13,no11) real(kind=rb) :: kbo(5,13:59,no11) real(kind=rb) :: kao_mo2(19,no11) real(kind=rb) :: kbo_mo2(19,no11) real(kind=rb) :: selfrefo(10,no11) real(kind=rb) :: forrefo(4,no11) !----------------------------------------------------------------- ! rrtmg_lw COMBINED abs. coefficients for interval 11 ! band 11: 1480-1800 cm-1 (low - h2o; high - h2o) ! ! Initial version: JJMorcrette, ECMWF, jul1998 ! Revised: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- !fracrefa : real !fracrefb : real ! ka : real ! kb : real ! ka_mo2 : real ! kb_mo2 : real ! selfref : real ! forref : real ! ! absa : real ! absb : real !----------------------------------------------------------------- integer(kind=im), parameter :: ng11 = 8 real(kind=rb) , dimension(ng11) :: fracrefa real(kind=rb) , dimension(ng11) :: fracrefb real(kind=rb) :: ka(5,13,ng11) , absa(65,ng11) real(kind=rb) :: kb(5,13:59,ng11), absb(235,ng11) real(kind=rb) :: ka_mo2(19,ng11) real(kind=rb) :: kb_mo2(19,ng11) real(kind=rb) :: selfref(10,ng11) real(kind=rb) :: forref(4,ng11) equivalence (ka(1,1,1),absa(1,1)),(kb(1,13,1),absb(1,1)) end module rrlw_kg11 ================================================ FILE: GeosRad/rrlw_kg12.F90 ================================================ module rrlw_kg12 use parkind ,only : im => kind_im, rb => kind_rb implicit none save !----------------------------------------------------------------- ! rrtmg_lw ORIGINAL abs. coefficients for interval 12 ! band 12: 1800-2080 cm-1 (low - h2o,co2; high - nothing) ! ! Initial version: JJMorcrette, ECMWF, jul1998 ! Revised: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- !fracrefao: real ! kao : real ! selfrefo: real ! forrefo : real !----------------------------------------------------------------- integer(kind=im), parameter :: no12 = 16 real(kind=rb) :: fracrefao(no12,9) real(kind=rb) :: kao(9,5,13,no12) real(kind=rb) :: selfrefo(10,no12) real(kind=rb) :: forrefo(4,no12) !----------------------------------------------------------------- ! rrtmg_lw COMBINED abs. coefficients for interval 12 ! band 12: 1800-2080 cm-1 (low - h2o,co2; high - nothing) ! ! Initial version: JJMorcrette, ECMWF, jul1998 ! Revised: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- !fracrefa : real ! ka : real ! selfref : real ! forref : real ! ! absa : real !----------------------------------------------------------------- integer(kind=im), parameter :: ng12 = 8 real(kind=rb) :: fracrefa(ng12,9) real(kind=rb) :: ka(9,5,13,ng12) ,absa(585,ng12) real(kind=rb) :: selfref(10,ng12) real(kind=rb) :: forref(4,ng12) equivalence (ka(1,1,1,1),absa(1,1)) end module rrlw_kg12 ================================================ FILE: GeosRad/rrlw_kg13.F90 ================================================ module rrlw_kg13 use parkind ,only : im => kind_im, rb => kind_rb implicit none save !----------------------------------------------------------------- ! rrtmg_lw ORIGINAL abs. coefficients for interval 13 ! band 13: 2080-2250 cm-1 (low - h2o,n2o; high - nothing) ! ! Initial version: JJMorcrette, ECMWF, jul1998 ! Revised: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- !fracrefao: real ! kao : real ! kao_mco2: real ! kao_mco : real ! kbo_mo3 : real ! selfrefo: real ! forrefo : real !----------------------------------------------------------------- integer(kind=im), parameter :: no13 = 16 real(kind=rb) , dimension(no13) :: fracrefbo real(kind=rb) :: fracrefao(no13,9) real(kind=rb) :: kao(9,5,13,no13) real(kind=rb) :: kao_mco2(9,19,no13) real(kind=rb) :: kao_mco(9,19,no13) real(kind=rb) :: kbo_mo3(19,no13) real(kind=rb) :: selfrefo(10,no13) real(kind=rb) :: forrefo(4,no13) !----------------------------------------------------------------- ! rrtmg_lw COMBINED abs. coefficients for interval 13 ! band 13: 2080-2250 cm-1 (low - h2o,n2o; high - nothing) ! ! Initial version: JJMorcrette, ECMWF, jul1998 ! Revised: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- !fracrefa : real ! ka : real ! ka_mco2 : real ! ka_mco : real ! kb_mo3 : real ! selfref : real ! forref : real ! ! absa : real !----------------------------------------------------------------- integer(kind=im), parameter :: ng13 = 4 real(kind=rb) , dimension(ng13) :: fracrefb real(kind=rb) :: fracrefa(ng13,9) real(kind=rb) :: ka(9,5,13,ng13) ,absa(585,ng13) real(kind=rb) :: ka_mco2(9,19,ng13) real(kind=rb) :: ka_mco(9,19,ng13) real(kind=rb) :: kb_mo3(19,ng13) real(kind=rb) :: selfref(10,ng13) real(kind=rb) :: forref(4,ng13) equivalence (ka(1,1,1,1),absa(1,1)) end module rrlw_kg13 ================================================ FILE: GeosRad/rrlw_kg14.F90 ================================================ module rrlw_kg14 use parkind ,only : im => kind_im, rb => kind_rb implicit none save !----------------------------------------------------------------- ! rrtmg_lw ORIGINAL abs. coefficients for interval 14 ! band 14: 2250-2380 cm-1 (low - co2; high - co2) ! ! Initial version: JJMorcrette, ECMWF, jul1998 ! Revised: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- !fracrefao: real !fracrefbo: real ! kao : real ! kbo : real ! selfrefo: real ! forrefo : real !----------------------------------------------------------------- integer(kind=im), parameter :: no14 = 16 real(kind=rb) , dimension(no14) :: fracrefao real(kind=rb) , dimension(no14) :: fracrefbo real(kind=rb) :: kao(5,13,no14) real(kind=rb) :: kbo(5,13:59,no14) real(kind=rb) :: selfrefo(10,no14) real(kind=rb) :: forrefo(4,no14) !----------------------------------------------------------------- ! rrtmg_lw COMBINED abs. coefficients for interval 14 ! band 14: 2250-2380 cm-1 (low - co2; high - co2) ! ! Initial version: JJMorcrette, ECMWF, jul1998 ! Revised: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- !fracrefa : real !fracrefb : real ! ka : real ! kb : real ! selfref : real ! forref : real ! ! absa : real ! absb : real !----------------------------------------------------------------- integer(kind=im), parameter :: ng14 = 2 real(kind=rb) , dimension(ng14) :: fracrefa real(kind=rb) , dimension(ng14) :: fracrefb real(kind=rb) :: ka(5,13,ng14) ,absa(65,ng14) real(kind=rb) :: kb(5,13:59,ng14),absb(235,ng14) real(kind=rb) :: selfref(10,ng14) real(kind=rb) :: forref(4,ng14) equivalence (ka(1,1,1),absa(1,1)), (kb(1,13,1),absb(1,1)) end module rrlw_kg14 ================================================ FILE: GeosRad/rrlw_kg15.F90 ================================================ module rrlw_kg15 use parkind ,only : im => kind_im, rb => kind_rb implicit none save !----------------------------------------------------------------- ! rrtmg_lw ORIGINAL abs. coefficients for interval 15 ! band 15: 2380-2600 cm-1 (low - n2o,co2; high - nothing) ! ! Initial version: JJMorcrette, ECMWF, jul1998 ! Revised: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- !fracrefao: real ! kao : real ! kao_mn2 : real ! selfrefo: real ! forrefo : real !----------------------------------------------------------------- integer(kind=im), parameter :: no15 = 16 real(kind=rb) :: fracrefao(no15,9) real(kind=rb) :: kao(9,5,13,no15) real(kind=rb) :: kao_mn2(9,19,no15) real(kind=rb) :: selfrefo(10,no15) real(kind=rb) :: forrefo(4,no15) !----------------------------------------------------------------- ! rrtmg_lw COMBINED abs. coefficients for interval 15 ! band 15: 2380-2600 cm-1 (low - n2o,co2; high - nothing) ! ! Initial version: JJMorcrette, ECMWF, jul1998 ! Revised: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- !fracrefa : real ! ka : real ! ka_mn2 : real ! selfref : real ! forref : real ! ! absa : real !----------------------------------------------------------------- integer(kind=im), parameter :: ng15 = 2 real(kind=rb) :: fracrefa(ng15,9) real(kind=rb) :: ka(9,5,13,ng15) ,absa(585,ng15) real(kind=rb) :: ka_mn2(9,19,ng15) real(kind=rb) :: selfref(10,ng15) real(kind=rb) :: forref(4,ng15) equivalence (ka(1,1,1,1),absa(1,1)) end module rrlw_kg15 ================================================ FILE: GeosRad/rrlw_kg16.F90 ================================================ module rrlw_kg16 use parkind ,only : im => kind_im, rb => kind_rb implicit none save !----------------------------------------------------------------- ! rrtmg_lw ORIGINAL abs. coefficients for interval 16 ! band 16: 2600-3000 cm-1 (low - h2o,ch4; high - nothing) ! ! Initial version: JJMorcrette, ECMWF, jul1998 ! Revised: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- !fracrefao: real ! kao : real ! kbo : real ! selfrefo: real ! forrefo : real !----------------------------------------------------------------- integer(kind=im), parameter :: no16 = 16 real(kind=rb) , dimension(no16) :: fracrefbo real(kind=rb) :: fracrefao(no16,9) real(kind=rb) :: kao(9,5,13,no16) real(kind=rb) :: kbo(5,13:59,no16) real(kind=rb) :: selfrefo(10,no16) real(kind=rb) :: forrefo(4,no16) !----------------------------------------------------------------- ! rrtmg_lw COMBINED abs. coefficients for interval 16 ! band 16: 2600-3000 cm-1 (low - h2o,ch4; high - nothing) ! ! Initial version: JJMorcrette, ECMWF, jul1998 ! Revised: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- !fracrefa : real ! ka : real ! kb : real ! selfref : real ! forref : real ! ! absa : real ! absb : real !----------------------------------------------------------------- integer(kind=im), parameter :: ng16 = 2 real(kind=rb) , dimension(ng16) :: fracrefb real(kind=rb) :: fracrefa(ng16,9) real(kind=rb) :: ka(9,5,13,ng16) ,absa(585,ng16) real(kind=rb) :: kb(5,13:59,ng16), absb(235,ng16) real(kind=rb) :: selfref(10,ng16) real(kind=rb) :: forref(4,ng16) equivalence (ka(1,1,1,1),absa(1,1)), (kb(1,13,1),absb(1,1)) end module rrlw_kg16 ================================================ FILE: GeosRad/rrlw_ncpar.F90 ================================================ module rrlw_ncpar use parkind ,only : im => kind_im, rb => kind_rb implicit none save real(kind=rb), parameter :: cpdair = 1003.5 ! Specific heat capacity of dry air ! at constant pressure at 273 K ! (J kg-1 K-1) integer(kind=im), parameter :: maxAbsorberNameLength = 5, & Absorber = 12 character(len = maxAbsorberNameLength), dimension(Absorber), parameter :: & AbsorberNames = (/ & 'N2 ', & 'CCL4 ', & 'CFC11', & 'CFC12', & 'CFC22', & 'H2O ', & 'CO2 ', & 'O3 ', & 'N2O ', & 'CO ', & 'CH4 ', & 'O2 ' /) integer(kind=im), dimension(40) :: status integer(kind=im) :: i integer(kind=im), parameter :: keylower = 9, & keyupper = 5, & Tdiff = 5, & ps = 59, & plower = 13, & pupper = 47, & Tself = 10, & Tforeign = 4, & pforeign = 4, & T = 19, & Tplanck = 181, & band = 16, & GPoint = 16, & GPointSet = 2 contains subroutine getAbsorberIndex(AbsorberName,AbsorberIndex) character(len = *), intent(in) :: AbsorberName integer(kind=im), intent(out) :: AbsorberIndex integer(kind=im) :: m AbsorberIndex = -1 do m = 1, Absorber if (trim(AbsorberNames(m)) == trim(AbsorberName)) then AbsorberIndex = m end if end do if (AbsorberIndex == -1) then print*, "Absorber name index lookup failed." end if end subroutine getAbsorberIndex end module rrlw_ncpar ================================================ FILE: GeosRad/rrlw_ref.F90 ================================================ module rrlw_ref use parkind, only : im => kind_im, rb => kind_rb implicit none save !------------------------------------------------------------------ ! rrtmg_lw reference atmosphere ! Based on standard mid-latitude summer profile ! ! Initial version: JJMorcrette, ECMWF, jul1998 ! Revised: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !------------------------------------------------------------------ ! name type purpose ! ----- : ---- : ---------------------------------------------- ! pref : real : Reference pressure levels ! preflog: real : Reference pressure levels, ln(pref) ! tref : real : Reference temperature levels for MLS profile ! chi_mls: real : !------------------------------------------------------------------ real(kind=rb) , dimension(59) :: pref real(kind=rb) , dimension(59) :: preflog real(kind=rb) , dimension(59) :: tref real(kind=rb) :: chi_mls(7,59) end module rrlw_ref ================================================ FILE: GeosRad/rrlw_tbl.F90 ================================================ module rrlw_tbl use parkind, only : im => kind_im, rb => kind_rb implicit none save !------------------------------------------------------------------ ! rrtmg_lw exponential lookup table arrays ! Initial version: JJMorcrette, ECMWF, jul1998 ! Revised: MJIacono, AER, Jun 2006 ! Revised: MJIacono, AER, Aug 2007 ! Revised: MJIacono, AER, Aug 2008 !------------------------------------------------------------------ ! name type purpose ! ----- : ---- : ---------------------------------------------- ! ntbl : integer: Lookup table dimension ! tblint : real : Lookup table conversion factor ! tau_tbl: real : Clear-sky optical depth (used in cloudy radiative ! transfer) ! exp_tbl: real : Transmittance lookup table ! tfn_tbl: real : Tau transition function; i.e. the transition of ! the Planck function from that for the mean layer ! temperature to that for the layer boundary ! temperature as a function of optical depth. ! The "linear in tau" method is used to make ! the table. ! pade : real : Pade constant ! bpade : real : Inverse of Pade constant !------------------------------------------------------------------ integer(kind=im), parameter :: ntbl = 10000 real(kind=rb), parameter :: tblint = 10000.0_rb real(kind=rb) , dimension(0:ntbl) :: tau_tbl real(kind=rb) , dimension(0:ntbl) :: exp_tbl real(kind=rb) , dimension(0:ntbl) :: tfn_tbl real(kind=rb), parameter :: pade = 0.278_rb real(kind=rb) :: bpade end module rrlw_tbl ================================================ FILE: GeosRad/rrlw_vsn.F90 ================================================ module rrlw_vsn implicit none save !------------------------------------------------------------------ ! rrtmg_lw version information ! Initial version: JJMorcrette, ECMWF, jul1998 ! Revised: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !------------------------------------------------------------------ ! name type purpose ! ----- : ---- : ---------------------------------------------- !hnamrtm :character: !hnamini :character: !hnamcld :character: !hnamclc :character: !hnamrtr :character: !hnamrtx :character: !hnamrtc :character: !hnamset :character: !hnamtau :character: !hnamatm :character: !hnamutl :character: !hnamext :character: !hnamkg :character: ! ! hvrrtm :character: ! hvrini :character: ! hvrcld :character: ! hvrclc :character: ! hvrrtr :character: ! hvrrtx :character: ! hvrrtc :character: ! hvrset :character: ! hvrtau :character: ! hvratm :character: ! hvrutl :character: ! hvrext :character: ! hvrkg :character: !------------------------------------------------------------------ character*18 hvrrtm,hvrini,hvrcld,hvrclc,hvrrtr,hvrrtx, & hvrrtc,hvrset,hvrtau,hvratm,hvrutl,hvrext character*20 hnamrtm,hnamini,hnamcld,hnamclc,hnamrtr,hnamrtx, & hnamrtc,hnamset,hnamtau,hnamatm,hnamutl,hnamext character*18 hvrkg character*20 hnamkg end module rrlw_vsn ================================================ FILE: GeosRad/rrlw_wvn.F90 ================================================ module rrlw_wvn use parkind, only : im => kind_im, rb => kind_rb use parrrtm, only : nbndlw, mg, ngptlw, maxinpx implicit none save !------------------------------------------------------------------ ! rrtmg_lw spectral information ! Initial version: JJMorcrette, ECMWF, jul1998 ! Revised: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !------------------------------------------------------------------ ! name type purpose ! ----- : ---- : ---------------------------------------------- ! ng : integer: Number of original g-intervals in each spectral band ! nspa : integer: For the lower atmosphere, the number of reference ! atmospheres that are stored for each spectral band ! per pressure level and temperature. Each of these ! atmospheres has different relative amounts of the ! key species for the band (i.e. different binary ! species parameters). ! nspb : integer: Same as nspa for the upper atmosphere !wavenum1: real : Spectral band lower boundary in wavenumbers !wavenum2: real : Spectral band upper boundary in wavenumbers ! delwave: real : Spectral band width in wavenumbers ! totplnk: real : Integrated Planck value for each band; (band 16 ! includes total from 2600 cm-1 to infinity) ! Used for calculation across total spectrum !totplk16: real : Integrated Planck value for band 16 (2600-3250 cm-1) ! Used for calculation in band 16 only if ! individual band output requested !totplnkderiv: real: Integrated Planck function derivative with respect ! to temperature for each band; (band 16 ! includes total from 2600 cm-1 to infinity) ! Used for calculation across total spectrum !totplk16deriv:real: Integrated Planck function derivative with respect ! to temperature for band 16 (2600-3250 cm-1) ! Used for calculation in band 16 only if ! individual band output requested ! ! ngc : integer: The number of new g-intervals in each band ! ngs : integer: The cumulative sum of new g-intervals for each band ! ngm : integer: The index of each new g-interval relative to the ! original 16 g-intervals in each band ! ngn : integer: The number of original g-intervals that are ! combined to make each new g-intervals in each band ! ngb : integer: The band index for each new g-interval ! wt : real : RRTM weights for the original 16 g-intervals ! rwgt : real : Weights for combining original 16 g-intervals ! (256 total) into reduced set of g-intervals ! (140 total) ! nxmol : integer: Number of cross-section molecules ! ixindx : integer: Flag for active cross-sections in calculation !------------------------------------------------------------------ integer(kind=im) :: ng(nbndlw) integer(kind=im) :: nspa(nbndlw) integer(kind=im) :: nspb(nbndlw) real(kind=rb) :: wavenum1(nbndlw) real(kind=rb) :: wavenum2(nbndlw) real(kind=rb) :: delwave(nbndlw) real(kind=rb) :: totplnk(181,nbndlw) real(kind=rb) :: totplk16(181) real(kind=rb) :: totplnkderiv(181,nbndlw) real(kind=rb) :: totplk16deriv(181) integer(kind=im) :: ngc(nbndlw) integer(kind=im) :: ngs(nbndlw) integer(kind=im) :: ngn(ngptlw) integer(kind=im) :: ngb(ngptlw) integer(kind=im) :: ngm(nbndlw*mg) real(kind=rb) :: wt(mg) real(kind=rb) :: rwgt(nbndlw*mg) integer(kind=im) :: nxmol integer(kind=im) :: ixindx(maxinpx) end module rrlw_wvn ================================================ FILE: GeosRad/rrsw_aer.F90 ================================================ module rrsw_aer use parkind, only : im => kind_im, rb => kind_rb use parrrsw, only : nbndsw, naerec implicit none save !------------------------------------------------------------------ ! rrtmg_sw aerosol optical properties ! ! Data derived from six ECMWF aerosol types and defined for ! the rrtmg_sw spectral intervals ! ! Initial: J.-J. Morcrette, ECMWF, mar2003 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !------------------------------------------------------------------ ! !-- The six ECMWF aerosol types are respectively: ! ! 1/ continental average 2/ maritime ! 3/ desert 4/ urban ! 5/ volcanic active 6/ stratospheric background ! ! computed from Hess and Koepke (con, mar, des, urb) ! from Bonnel et al. (vol, str) ! ! rrtmg_sw 14 spectral intervals (microns): ! 3.846 - 3.077 ! 3.077 - 2.500 ! 2.500 - 2.150 ! 2.150 - 1.942 ! 1.942 - 1.626 ! 1.626 - 1.299 ! 1.299 - 1.242 ! 1.242 - 0.7782 ! 0.7782- 0.6250 ! 0.6250- 0.4415 ! 0.4415- 0.3448 ! 0.3448- 0.2632 ! 0.2632- 0.2000 ! 12.195 - 3.846 ! !------------------------------------------------------------------ ! ! name type purpose ! ----- : ---- : ---------------------------------------------- ! rsrtaua : real : ratio of average optical thickness in ! spectral band to that at 0.55 micron ! rsrpiza : real : average single scattering albedo (unitless) ! rsrasya : real : average asymmetry parameter (unitless) !------------------------------------------------------------------ real(kind=rb) :: rsrtaua(nbndsw,naerec) real(kind=rb) :: rsrpiza(nbndsw,naerec) real(kind=rb) :: rsrasya(nbndsw,naerec) end module rrsw_aer ================================================ FILE: GeosRad/rrsw_cld.F90 ================================================ module rrsw_cld use parkind, only : im => kind_im, rb => kind_rb implicit none save !------------------------------------------------------------------ ! rrtmg_sw cloud property coefficients ! ! Initial: J.-J. Morcrette, ECMWF, oct1999 ! Revised: J. Delamere/MJIacono, AER, aug2005 ! Revised: MJIacono, AER, nov2005 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !------------------------------------------------------------------ ! ! name type purpose ! ----- : ---- : ---------------------------------------------- ! xxxliq1 : real : optical properties (extinction coefficient, single ! scattering albedo, assymetry factor) from ! Hu & Stamnes, j. clim., 6, 728-742, 1993. ! xxxice2 : real : optical properties (extinction coefficient, single ! scattering albedo, assymetry factor) from streamer v3.0, ! Key, streamer user's guide, cooperative institude ! for meteorological studies, 95 pp., 2001. ! xxxice3 : real : optical properties (extinction coefficient, single ! scattering albedo, assymetry factor) from ! Fu, j. clim., 9, 1996. ! xbari : real : optical property coefficients for five spectral ! intervals (2857-4000, 4000-5263, 5263-7692, 7692-14285, ! and 14285-40000 wavenumbers) following ! Ebert and Curry, jgr, 97, 3831-3836, 1992. !------------------------------------------------------------------ real(kind=rb) :: extliq1(58,16:29), ssaliq1(58,16:29), asyliq1(58,16:29) real(kind=rb) :: extice2(43,16:29), ssaice2(43,16:29), asyice2(43,16:29) real(kind=rb) :: extice3(46,16:29), ssaice3(46,16:29), asyice3(46,16:29) real(kind=rb) :: fdlice3(46,16:29) real(kind=rb) :: abari(5),bbari(5),cbari(5),dbari(5),ebari(5),fbari(5) end module rrsw_cld ================================================ FILE: GeosRad/rrsw_con.F90 ================================================ module rrsw_con use parkind, only : im => kind_im, rb => kind_rb implicit none save !------------------------------------------------------------------ ! rrtmg_sw constants ! Initial version: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !------------------------------------------------------------------ ! name type purpose ! ----- : ---- : ---------------------------------------------- ! fluxfac: real : radiance to flux conversion factor ! heatfac: real : flux to heating rate conversion factor !oneminus: real : 1.-1.e-6 ! pi : real : pi ! grav : real : acceleration of gravity ! planck : real : planck constant ! boltz : real : boltzmann constant ! clight : real : speed of light ! avogad : real : avogadro constant ! alosmt : real : loschmidt constant ! gascon : real : molar gas constant ! radcn1 : real : first radiation constant ! radcn2 : real : second radiation constant ! sbcnst : real : stefan-boltzmann constant ! secdy : real : seconds per day !------------------------------------------------------------------ real(kind=rb) :: fluxfac, heatfac real(kind=rb) :: oneminus, pi, grav real(kind=rb) :: planck, boltz, clight real(kind=rb) :: avogad, alosmt, gascon real(kind=rb) :: radcn1, radcn2 real(kind=rb) :: sbcnst, secdy end module rrsw_con ================================================ FILE: GeosRad/rrsw_kg16.F90 ================================================ module rrsw_kg16 use parkind ,only : im => kind_im, rb => kind_rb use parrrsw, only : ng16 implicit none save !----------------------------------------------------------------- ! rrtmg_sw ORIGINAL abs. coefficients for interval 16 ! band 16: 2600-3250 cm-1 (low - h2o,ch4; high - ch4) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! kao : real ! kbo : real ! selfrefo: real ! forrefo : real !sfluxrefo: real !----------------------------------------------------------------- integer(kind=im), parameter :: no16 = 16 real(kind=rb) :: kao(9,5,13,no16) real(kind=rb) :: kbo(5,13:59,no16) real(kind=rb) :: selfrefo(10,no16), forrefo(3,no16) real(kind=rb) :: sfluxrefo(no16) integer(kind=im) :: layreffr real(kind=rb) :: rayl, strrat1 !----------------------------------------------------------------- ! rrtmg_sw COMBINED abs. coefficients for interval 16 ! band 16: 2600-3250 cm-1 (low - h2o,ch4; high - ch4) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! ka : real ! kb : real ! absa : real ! absb : real ! selfref : real ! forref : real ! sfluxref: real !----------------------------------------------------------------- real(kind=rb) :: ka(9,5,13,ng16) , absa(585,ng16) real(kind=rb) :: kb(5,13:59,ng16), absb(235,ng16) real(kind=rb) :: selfref(10,ng16), forref(3,ng16) real(kind=rb) :: sfluxref(ng16) equivalence (ka(1,1,1,1),absa(1,1)), (kb(1,13,1),absb(1,1)) end module rrsw_kg16 ================================================ FILE: GeosRad/rrsw_kg17.F90 ================================================ module rrsw_kg17 use parkind ,only : im => kind_im, rb => kind_rb use parrrsw, only : ng17 implicit none save !----------------------------------------------------------------- ! rrtmg_sw ORIGINAL abs. coefficients for interval 17 ! band 17: 3250-4000 cm-1 (low - h2o,co2; high - h2o,co2) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! kao : real ! kbo : real ! selfrefo: real ! forrefo : real !sfluxrefo: real !----------------------------------------------------------------- integer(kind=im), parameter :: no17 = 16 real(kind=rb) :: kao(9,5,13,no17) real(kind=rb) :: kbo(5,5,13:59,no17) real(kind=rb) :: selfrefo(10,no17), forrefo(4,no17) real(kind=rb) :: sfluxrefo(no17,5) integer(kind=im) :: layreffr real(kind=rb) :: rayl, strrat !----------------------------------------------------------------- ! rrtmg_sw COMBINED abs. coefficients for interval 17 ! band 17: 3250-4000 cm-1 (low - h2o,co2; high - h2o,co2) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! ka : real ! kb : real ! absa : real ! absb : real ! selfref : real ! forref : real ! sfluxref: real !----------------------------------------------------------------- real(kind=rb) :: ka(9,5,13,ng17) , absa(585,ng17) real(kind=rb) :: kb(5,5,13:59,ng17), absb(1175,ng17) real(kind=rb) :: selfref(10,ng17), forref(4,ng17) real(kind=rb) :: sfluxref(ng17,5) equivalence (ka(1,1,1,1),absa(1,1)), (kb(1,1,13,1),absb(1,1)) end module rrsw_kg17 ================================================ FILE: GeosRad/rrsw_kg18.F90 ================================================ module rrsw_kg18 use parkind ,only : im => kind_im, rb => kind_rb use parrrsw, only : ng18 implicit none save !----------------------------------------------------------------- ! rrtmg_sw ORIGINAL abs. coefficients for interval 18 ! band 18: 4000-4650 cm-1 (low - h2o,ch4; high - ch4) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! kao : real ! kbo : real ! selfrefo: real ! forrefo : real !sfluxrefo: real !----------------------------------------------------------------- integer(kind=im), parameter :: no18 = 16 real(kind=rb) :: kao(9,5,13,no18) real(kind=rb) :: kbo(5,13:59,no18) real(kind=rb) :: selfrefo(10,no18), forrefo(3,no18) real(kind=rb) :: sfluxrefo(no18,9) integer(kind=im) :: layreffr real(kind=rb) :: rayl, strrat !----------------------------------------------------------------- ! rrtmg_sw COMBINED abs. coefficients for interval 18 ! band 18: 4000-4650 cm-1 (low - h2o,ch4; high - ch4) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! ka : real ! kb : real ! absa : real ! absb : real ! selfref : real ! forref : real ! sfluxref: real !----------------------------------------------------------------- real(kind=rb) :: ka(9,5,13,ng18), absa(585,ng18) real(kind=rb) :: kb(5,13:59,ng18), absb(235,ng18) real(kind=rb) :: selfref(10,ng18), forref(3,ng18) real(kind=rb) :: sfluxref(ng18,9) equivalence (ka(1,1,1,1),absa(1,1)), (kb(1,13,1),absb(1,1)) end module rrsw_kg18 ================================================ FILE: GeosRad/rrsw_kg19.F90 ================================================ module rrsw_kg19 use parkind ,only : im => kind_im, rb => kind_rb use parrrsw, only : ng19 implicit none save !----------------------------------------------------------------- ! rrtmg_sw ORIGINAL abs. coefficients for interval 19 ! band 19: 4650-5150 cm-1 (low - h2o,co2; high - co2) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! kao : real ! kbo : real ! selfrefo: real ! forrefo : real !sfluxrefo: real !----------------------------------------------------------------- integer(kind=im), parameter :: no19 = 16 real(kind=rb) :: kao(9,5,13,no19) real(kind=rb) :: kbo(5,13:59,no19) real(kind=rb) :: selfrefo(10,no19), forrefo(3,no19) real(kind=rb) :: sfluxrefo(no19,9) integer(kind=im) :: layreffr real(kind=rb) :: rayl, strrat !----------------------------------------------------------------- ! rrtmg_sw COMBINED abs. coefficients for interval 19 ! band 19: 4650-5150 cm-1 (low - h2o,co2; high - co2) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! ka : real ! kb : real ! absa : real ! absb : real ! selfref : real ! forref : real ! sfluxref: real !----------------------------------------------------------------- real(kind=rb) :: ka(9,5,13,ng19), absa(585,ng19) real(kind=rb) :: kb(5,13:59,ng19), absb(235,ng19) real(kind=rb) :: selfref(10,ng19), forref(3,ng19) real(kind=rb) :: sfluxref(ng19,9) equivalence (ka(1,1,1,1),absa(1,1)), (kb(1,13,1),absb(1,1)) end module rrsw_kg19 ================================================ FILE: GeosRad/rrsw_kg20.F90 ================================================ module rrsw_kg20 use parkind ,only : im => kind_im, rb => kind_rb use parrrsw, only : ng20 implicit none save !----------------------------------------------------------------- ! rrtmg_sw ORIGINAL abs. coefficients for interval 20 ! band 20: 5150-6150 cm-1 (low - h2o; high - h2o) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! kao : real ! kbo : real ! selfrefo: real ! forrefo : real !sfluxrefo: real ! absch4o : real !----------------------------------------------------------------- integer(kind=im), parameter :: no20 = 16 real(kind=rb) :: kao(5,13,no20) real(kind=rb) :: kbo(5,13:59,no20) real(kind=rb) :: selfrefo(10,no20), forrefo(4,no20) real(kind=rb) :: sfluxrefo(no20) real(kind=rb) :: absch4o(no20) integer(kind=im) :: layreffr real(kind=rb) :: rayl !----------------------------------------------------------------- ! rrtmg_sw COMBINED abs. coefficients for interval 20 ! band 20: 5150-6150 cm-1 (low - h2o; high - h2o) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! ka : real ! kb : real ! absa : real ! absb : real ! selfref : real ! forref : real ! sfluxref: real ! absch4 : real !----------------------------------------------------------------- real(kind=rb) :: ka(5,13,ng20), absa(65,ng20) real(kind=rb) :: kb(5,13:59,ng20), absb(235,ng20) real(kind=rb) :: selfref(10,ng20), forref(4,ng20) real(kind=rb) :: sfluxref(ng20) real(kind=rb) :: absch4(ng20) equivalence (ka(1,1,1),absa(1,1)), (kb(1,13,1),absb(1,1)) end module rrsw_kg20 ================================================ FILE: GeosRad/rrsw_kg21.F90 ================================================ module rrsw_kg21 use parkind ,only : im => kind_im, rb => kind_rb use parrrsw, only : ng21 implicit none save !----------------------------------------------------------------- ! rrtmg_sw ORIGINAL abs. coefficients for interval 21 ! band 21: 6150-7700 cm-1 (low - h2o,co2; high - h2o,co2) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! kao : real ! kbo : real ! selfrefo: real ! forrefo : real !sfluxrefo: real !----------------------------------------------------------------- integer(kind=im), parameter :: no21 = 16 real(kind=rb) :: kao(9,5,13,no21) real(kind=rb) :: kbo(5,5,13:59,no21) real(kind=rb) :: selfrefo(10,no21), forrefo(4,no21) real(kind=rb) :: sfluxrefo(no21,9) integer(kind=im) :: layreffr real(kind=rb) :: rayl, strrat !----------------------------------------------------------------- ! rrtmg_sw COMBINED abs. coefficients for interval 21 ! band 21: 6150-7700 cm-1 (low - h2o,co2; high - h2o,co2) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! ka : real ! kb : real ! absa : real ! absb : real ! selfref : real ! forref : real ! sfluxref: real !----------------------------------------------------------------- real(kind=rb) :: ka(9,5,13,ng21), absa(585,ng21) real(kind=rb) :: kb(5,5,13:59,ng21), absb(1175,ng21) real(kind=rb) :: selfref(10,ng21), forref(4,ng21) real(kind=rb) :: sfluxref(ng21,9) equivalence (ka(1,1,1,1),absa(1,1)), (kb(1,1,13,1),absb(1,1)) end module rrsw_kg21 ================================================ FILE: GeosRad/rrsw_kg22.F90 ================================================ module rrsw_kg22 use parkind ,only : im => kind_im, rb => kind_rb use parrrsw, only : ng22 implicit none save !----------------------------------------------------------------- ! rrtmg_sw ORIGINAL abs. coefficients for interval 22 ! band 22: 7700-8050 cm-1 (low - h2o,o2; high - o2) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! kao : real ! kbo : real ! selfrefo: real ! forrefo : real !sfluxrefo: real !----------------------------------------------------------------- integer(kind=im), parameter :: no22 = 16 real(kind=rb) :: kao(9,5,13,no22) real(kind=rb) :: kbo(5,13:59,no22) real(kind=rb) :: selfrefo(10,no22), forrefo(3,no22) real(kind=rb) :: sfluxrefo(no22,9) integer(kind=im) :: layreffr real(kind=rb) :: rayl, strrat !----------------------------------------------------------------- ! rrtmg_sw COMBINED abs. coefficients for interval 22 ! band 22: 7700-8050 cm-1 (low - h2o,o2; high - o2) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! ka : real ! kb : real ! absa : real ! absb : real ! selfref : real ! forref : real ! sfluxref: real !----------------------------------------------------------------- real(kind=rb) :: ka(9,5,13,ng22), absa(585,ng22) real(kind=rb) :: kb(5,13:59,ng22), absb(235,ng22) real(kind=rb) :: selfref(10,ng22), forref(3,ng22) real(kind=rb) :: sfluxref(ng22,9) equivalence (ka(1,1,1,1),absa(1,1)), (kb(1,13,1),absb(1,1)) end module rrsw_kg22 ================================================ FILE: GeosRad/rrsw_kg23.F90 ================================================ module rrsw_kg23 use parkind ,only : im => kind_im, rb => kind_rb use parrrsw, only : ng23 implicit none save !----------------------------------------------------------------- ! rrtmg_sw ORIGINAL abs. coefficients for interval 23 ! band 23: 8050-12850 cm-1 (low - h2o; high - nothing) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! kao : real ! kbo : real ! selfrefo: real ! forrefo : real !sfluxrefo: real !----------------------------------------------------------------- integer(kind=im), parameter :: no23 = 16 real(kind=rb) :: kao(5,13,no23) real(kind=rb) :: selfrefo(10,no23), forrefo(3,no23) real(kind=rb) :: sfluxrefo(no23) real(kind=rb) :: raylo(no23) integer(kind=im) :: layreffr real(kind=rb) :: givfac !----------------------------------------------------------------- ! rrtmg_sw COMBINED abs. coefficients for interval 23 ! band 23: 8050-12850 cm-1 (low - h2o; high - nothing) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! ka : real ! kb : real ! absa : real ! absb : real ! selfref : real ! forref : real ! sfluxref: real !----------------------------------------------------------------- real(kind=rb) :: ka(5,13,ng23), absa(65,ng23) real(kind=rb) :: selfref(10,ng23), forref(3,ng23) real(kind=rb) :: sfluxref(ng23), rayl(ng23) equivalence (ka(1,1,1),absa(1,1)) end module rrsw_kg23 ================================================ FILE: GeosRad/rrsw_kg24.F90 ================================================ module rrsw_kg24 use parkind ,only : im => kind_im, rb => kind_rb use parrrsw, only : ng24 implicit none save !----------------------------------------------------------------- ! rrtmg_sw ORIGINAL abs. coefficients for interval 24 ! band 24: 12850-16000 cm-1 (low - h2o,o2; high - o2) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! kao : real ! kbo : real ! selfrefo: real ! forrefo : real !sfluxrefo: real ! abso3ao : real ! abso3bo : real ! raylao : real ! raylbo : real !----------------------------------------------------------------- integer(kind=im), parameter :: no24 = 16 real(kind=rb) :: kao(9,5,13,no24) real(kind=rb) :: kbo(5,13:59,no24) real(kind=rb) :: selfrefo(10,no24), forrefo(3,no24) real(kind=rb) :: sfluxrefo(no24,9) real(kind=rb) :: abso3ao(no24), abso3bo(no24) real(kind=rb) :: raylao(no24,9), raylbo(no24) integer(kind=im) :: layreffr real(kind=rb) :: strrat !----------------------------------------------------------------- ! rrtmg_sw COMBINED abs. coefficients for interval 24 ! band 24: 12850-16000 cm-1 (low - h2o,o2; high - o2) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! ka : real ! kb : real ! absa : real ! absb : real ! selfref : real ! forref : real ! sfluxref: real ! abso3a : real ! abso3b : real ! rayla : real ! raylb : real !----------------------------------------------------------------- real(kind=rb) :: ka(9,5,13,ng24), absa(585,ng24) real(kind=rb) :: kb(5,13:59,ng24), absb(235,ng24) real(kind=rb) :: selfref(10,ng24), forref(3,ng24) real(kind=rb) :: sfluxref(ng24,9) real(kind=rb) :: abso3a(ng24), abso3b(ng24) real(kind=rb) :: rayla(ng24,9), raylb(ng24) equivalence (ka(1,1,1,1),absa(1,1)), (kb(1,13,1),absb(1,1)) end module rrsw_kg24 ================================================ FILE: GeosRad/rrsw_kg25.F90 ================================================ module rrsw_kg25 use parkind ,only : im => kind_im, rb => kind_rb use parrrsw, only : ng25 implicit none save !----------------------------------------------------------------- ! rrtmg_sw ORIGINAL abs. coefficients for interval 25 ! band 25: 16000-22650 cm-1 (low - h2o; high - nothing) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! kao : real !sfluxrefo: real ! abso3ao : real ! abso3bo : real ! raylo : real !----------------------------------------------------------------- integer(kind=im), parameter :: no25 = 16 real(kind=rb) :: kao(5,13,no25) real(kind=rb) :: sfluxrefo(no25) real(kind=rb) :: abso3ao(no25), abso3bo(no25) real(kind=rb) :: raylo(no25) integer(kind=im) :: layreffr !----------------------------------------------------------------- ! rrtmg_sw COMBINED abs. coefficients for interval 25 ! band 25: 16000-22650 cm-1 (low - h2o; high - nothing) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! ka : real ! absa : real ! sfluxref: real ! abso3a : real ! abso3b : real ! rayl : real !----------------------------------------------------------------- real(kind=rb) :: ka(5,13,ng25), absa(65,ng25) real(kind=rb) :: sfluxref(ng25) real(kind=rb) :: abso3a(ng25), abso3b(ng25) real(kind=rb) :: rayl(ng25) equivalence (ka(1,1,1),absa(1,1)) end module rrsw_kg25 ================================================ FILE: GeosRad/rrsw_kg26.F90 ================================================ module rrsw_kg26 use parkind ,only : im => kind_im, rb => kind_rb use parrrsw, only : ng26 implicit none save !----------------------------------------------------------------- ! rrtmg_sw ORIGINAL abs. coefficients for interval 26 ! band 26: 22650-29000 cm-1 (low - nothing; high - nothing) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- !sfluxrefo: real ! raylo : real !----------------------------------------------------------------- integer(kind=im), parameter :: no26 = 16 real(kind=rb) :: sfluxrefo(no26) real(kind=rb) :: raylo(no26) !----------------------------------------------------------------- ! rrtmg_sw COMBINED abs. coefficients for interval 26 ! band 26: 22650-29000 cm-1 (low - nothing; high - nothing) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! sfluxref: real ! rayl : real !----------------------------------------------------------------- real(kind=rb) :: sfluxref(ng26) real(kind=rb) :: rayl(ng26) end module rrsw_kg26 ================================================ FILE: GeosRad/rrsw_kg27.F90 ================================================ module rrsw_kg27 use parkind ,only : im => kind_im, rb => kind_rb use parrrsw, only : ng27 implicit none save !----------------------------------------------------------------- ! rrtmg_sw ORIGINAL abs. coefficients for interval 27 ! band 27: 29000-38000 cm-1 (low - o3; high - o3) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! kao : real ! kbo : real !sfluxrefo: real ! raylo : real !----------------------------------------------------------------- integer(kind=im), parameter :: no27 = 16 real(kind=rb) :: kao(5,13,no27) real(kind=rb) :: kbo(5,13:59,no27) real(kind=rb) :: sfluxrefo(no27) real(kind=rb) :: raylo(no27) integer(kind=im) :: layreffr real(kind=rb) :: scalekur !----------------------------------------------------------------- ! rrtmg_sw COMBINED abs. coefficients for interval 27 ! band 27: 29000-38000 cm-1 (low - o3; high - o3) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! ka : real ! kb : real ! absa : real ! absb : real ! sfluxref: real ! rayl : real !----------------------------------------------------------------- real(kind=rb) :: ka(5,13,ng27), absa(65,ng27) real(kind=rb) :: kb(5,13:59,ng27), absb(235,ng27) real(kind=rb) :: sfluxref(ng27) real(kind=rb) :: rayl(ng27) equivalence (ka(1,1,1),absa(1,1)), (kb(1,13,1),absb(1,1)) end module rrsw_kg27 ================================================ FILE: GeosRad/rrsw_kg28.F90 ================================================ module rrsw_kg28 use parkind ,only : im => kind_im, rb => kind_rb use parrrsw, only : ng28 implicit none save !----------------------------------------------------------------- ! rrtmg_sw ORIGINAL abs. coefficients for interval 28 ! band 28: 38000-50000 cm-1 (low - o3, o2; high - o3, o2) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! kao : real ! kbo : real !sfluxrefo: real !----------------------------------------------------------------- integer(kind=im), parameter :: no28 = 16 real(kind=rb) :: kao(9,5,13,no28) real(kind=rb) :: kbo(5,5,13:59,no28) real(kind=rb) :: sfluxrefo(no28,5) integer(kind=im) :: layreffr real(kind=rb) :: rayl, strrat !----------------------------------------------------------------- ! rrtmg_sw COMBINED abs. coefficients for interval 28 ! band 28: 38000-50000 cm-1 (low - o3, o2; high - o3, o2) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! ka : real ! kb : real ! sfluxref: real !----------------------------------------------------------------- real(kind=rb) :: ka(9,5,13,ng28), absa(585,ng28) real(kind=rb) :: kb(5,5,13:59,ng28), absb(1175,ng28) real(kind=rb) :: sfluxref(ng28,5) equivalence (ka(1,1,1,1),absa(1,1)), (kb(1,1,13,1),absb(1,1)) end module rrsw_kg28 ================================================ FILE: GeosRad/rrsw_kg29.F90 ================================================ module rrsw_kg29 use parkind ,only : im => kind_im, rb => kind_rb use parrrsw, only : ng29 implicit none save !----------------------------------------------------------------- ! rrtmg_sw ORIGINAL abs. coefficients for interval 29 ! band 29: 820-2600 cm-1 (low - h2o; high - co2) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! kao : real ! kbo : real ! selfrefo: real ! forrefo : real !sfluxrefo: real ! absh2oo : real ! absco2o : real !----------------------------------------------------------------- integer(kind=im), parameter :: no29 = 16 real(kind=rb) :: kao(5,13,no29) real(kind=rb) :: kbo(5,13:59,no29) real(kind=rb) :: selfrefo(10,no29), forrefo(4,no29) real(kind=rb) :: sfluxrefo(no29) real(kind=rb) :: absh2oo(no29), absco2o(no29) integer(kind=im) :: layreffr real(kind=rb) :: rayl !----------------------------------------------------------------- ! rrtmg_sw COMBINED abs. coefficients for interval 29 ! band 29: 820-2600 cm-1 (low - h2o; high - co2) ! ! Initial version: JJMorcrette, ECMWF, oct1999 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !----------------------------------------------------------------- ! ! name type purpose ! ---- : ---- : --------------------------------------------- ! ka : real ! kb : real ! selfref : real ! forref : real ! sfluxref: real ! absh2o : real ! absco2 : real !----------------------------------------------------------------- real(kind=rb) :: ka(5,13,ng29), absa(65,ng29) real(kind=rb) :: kb(5,13:59,ng29), absb(235,ng29) real(kind=rb) :: selfref(10,ng29), forref(4,ng29) real(kind=rb) :: sfluxref(ng29) real(kind=rb) :: absh2o(ng29), absco2(ng29) equivalence (ka(1,1,1),absa(1,1)), (kb(1,13,1),absb(1,1)) end module rrsw_kg29 ================================================ FILE: GeosRad/rrsw_ref.F90 ================================================ module rrsw_ref use parkind, only : im => kind_im, rb => kind_rb implicit none save !------------------------------------------------------------------ ! rrtmg_sw reference atmosphere ! Based on standard mid-latitude summer profile ! ! Initial version: JJMorcrette, ECMWF, jul1998 ! Revised: MJIacono, AER, jun2006 ! Revised: MJIacono, AER, aug2008 !------------------------------------------------------------------ ! name type purpose ! ----- : ---- : ---------------------------------------------- ! pref : real : Reference pressure levels ! preflog: real : Reference pressure levels, ln(pref) ! tref : real : Reference temperature levels for MLS profile !------------------------------------------------------------------ real(kind=rb) , dimension(59) :: pref real(kind=rb) , dimension(59) :: preflog real(kind=rb) , dimension(59) :: tref end module rrsw_ref ================================================ FILE: GeosRad/rrsw_tbl.F90 ================================================ module rrsw_tbl use parkind, only : im => kind_im, rb => kind_rb implicit none save !------------------------------------------------------------------ ! rrtmg_sw lookup table arrays ! Initial version: MJIacono, AER, may2007 ! Revised: MJIacono, AER, aug2007 ! Revised: MJIacono, AER, aug2008 !------------------------------------------------------------------ ! name type purpose ! ----- : ---- : ---------------------------------------------- ! ntbl : integer: Lookup table dimension ! tblint : real : Lookup table conversion factor ! tau_tbl: real : Clear-sky optical depth ! exp_tbl: real : Exponential lookup table for transmittance ! od_lo : real : Value of tau below which expansion is used ! : in place of lookup table ! pade : real : Pade approximation constant ! bpade : real : Inverse of Pade constant !------------------------------------------------------------------ integer(kind=im), parameter :: ntbl = 10000 real(kind=rb), parameter :: tblint = 10000.0_rb real(kind=rb), parameter :: od_lo = 0.06_rb real(kind=rb) :: tau_tbl real(kind=rb) , dimension(0:ntbl) :: exp_tbl real(kind=rb), parameter :: pade = 0.278_rb real(kind=rb) :: bpade end module rrsw_tbl ================================================ FILE: GeosRad/rrsw_vsn.F90 ================================================ module rrsw_vsn implicit none save !------------------------------------------------------------------ ! rrtmg_sw version information ! Initial version: JJMorcrette, ECMWF, jul1998 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !------------------------------------------------------------------ ! name type purpose ! ----- : ---- : ---------------------------------------------- !hnamrtm :character: !hnamini :character: !hnamcld :character: !hnamclc :character: !hnamrft :character: !hnamspv :character: !hnamspc :character: !hnamset :character: !hnamtau :character: !hnamvqd :character: !hnamatm :character: !hnamutl :character: !hnamext :character: !hnamkg :character: ! ! hvrrtm :character: ! hvrini :character: ! hvrcld :character: ! hvrclc :character: ! hvrrft :character: ! hvrspv :character: ! hvrspc :character: ! hvrset :character: ! hvrtau :character: ! hvrvqd :character: ! hvratm :character: ! hvrutl :character: ! hvrext :character: ! hvrkg :character: !------------------------------------------------------------------ character*18 hvrrtm,hvrini,hvrcld,hvrclc,hvrrft,hvrspv, & hvrspc,hvrset,hvrtau,hvrvqd,hvratm,hvrutl,hvrext character*20 hnamrtm,hnamini,hnamcld,hnamclc,hnamrft,hnamspv, & hnamspc,hnamset,hnamtau,hnamvqd,hnamatm,hnamutl,hnamext character*18 hvrkg character*20 hnamkg end module rrsw_vsn ================================================ FILE: GeosRad/rrsw_wvn.F90 ================================================ module rrsw_wvn use parkind, only : im => kind_im, rb => kind_rb use parrrsw, only : nbndsw, mg, ngptsw, jpb1, jpb2 implicit none save !------------------------------------------------------------------ ! rrtmg_sw spectral information ! Initial version: JJMorcrette, ECMWF, jul1998 ! Revised: MJIacono, AER, jul2006 ! Revised: MJIacono, AER, aug2008 !------------------------------------------------------------------ ! name type purpose ! ----- : ---- : ---------------------------------------------- ! ng : integer: Number of original g-intervals in each spectral band ! nspa : integer: ! nspb : integer: !wavenum1: real : Spectral band lower boundary in wavenumbers !wavenum2: real : Spectral band upper boundary in wavenumbers ! delwave: real : Spectral band width in wavenumbers ! ! ngc : integer: The number of new g-intervals in each band ! ngs : integer: The cumulative sum of new g-intervals for each band ! ngm : integer: The index of each new g-interval relative to the ! original 16 g-intervals in each band ! ngn : integer: The number of original g-intervals that are ! combined to make each new g-intervals in each band ! ngb : integer: The band index for each new g-interval ! wt : real : RRTM weights for the original 16 g-intervals ! rwgt : real : Weights for combining original 16 g-intervals ! (224 total) into reduced set of g-intervals ! (112 total) !------------------------------------------------------------------ integer(kind=im) :: ng(jpb1:jpb2) integer(kind=im) :: nspa(jpb1:jpb2) integer(kind=im) :: nspb(jpb1:jpb2) real(kind=rb) :: wavenum1(jpb1:jpb2) real(kind=rb) :: wavenum2(jpb1:jpb2) real(kind=rb) :: delwave(jpb1:jpb2) integer(kind=im) :: ngc(nbndsw) integer(kind=im) :: ngs(nbndsw) integer(kind=im) :: ngn(ngptsw) integer(kind=im) :: ngb(ngptsw) integer(kind=im) :: ngm(nbndsw*mg) real(kind=rb) :: wt(mg) real(kind=rb) :: rwgt(nbndsw*mg) end module rrsw_wvn ================================================ FILE: GeosRad/rrtmg_lw_cldprmc.F90 ================================================ ! path: $Source: /storm/rc1/cvsroot/rc/rrtmg_lw/src/rrtmg_lw_cldprmc.f90,v $ ! author: $Author: mike $ ! revision: $Revision: 1.8 $ ! created: $Date: 2009/05/22 21:04:30 $ ! module rrtmg_lw_cldprmc ! -------------------------------------------------------------------------- ! | | ! | Copyright 2002-2009, Atmospheric & Environmental Research, Inc. (AER). | ! | This software may be used, copied, or redistributed as long as it is | ! | not sold and this copyright notice is reproduced on each copy made. | ! | This model is provided as is without any express or implied warranties. | ! | (http://www.rtweb.aer.com/) | ! | | ! -------------------------------------------------------------------------- ! --------- Modules ---------- use parkind, only : im => kind_im, rb => kind_rb use parrrtm, only : ngptlw, nbndlw use rrlw_cld, only: abscld1, absliq0, absliq1, & absice0, absice1, absice2, absice3 use rrlw_wvn, only: ngb use rrlw_vsn, only: hvrclc, hnamclc implicit none contains ! ------------------------------------------------------------------------------ subroutine cldprmc(nlayers, inflag, iceflag, liqflag, cldfmc, & ciwpmc, clwpmc, reicmc, relqmc, ncbands, taucmc) ! ------------------------------------------------------------------------------ ! Purpose: Compute the cloud optical depth(s) for each cloudy layer. ! ------- Input ------- integer(kind=im), intent(in) :: nlayers ! total number of layers integer(kind=im), intent(in) :: inflag ! see definitions integer(kind=im), intent(in) :: iceflag ! see definitions integer(kind=im), intent(in) :: liqflag ! see definitions real(kind=rb), intent(in) :: cldfmc(:,:) ! cloud fraction [mcica] ! Dimensions: (ngptlw,nlayers) real(kind=rb), intent(in) :: ciwpmc(:,:) ! cloud ice water path [mcica] ! Dimensions: (ngptlw,nlayers) real(kind=rb), intent(in) :: clwpmc(:,:) ! cloud liquid water path [mcica] ! Dimensions: (ngptlw,nlayers) real(kind=rb), intent(in) :: relqmc(:) ! liquid particle effective radius (microns) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: reicmc(:) ! ice particle effective radius (microns) ! Dimensions: (nlayers) ! specific definition of reicmc depends on setting of iceflag: ! iceflag = 0: ice effective radius, r_ec, (Ebert and Curry, 1992), ! r_ec must be >= 10.0 microns ! iceflag = 1: ice effective radius, r_ec, (Ebert and Curry, 1992), ! r_ec range is limited to 13.0 to 130.0 microns ! iceflag = 2: ice effective radius, r_k, (Key, Streamer Ref. Manual, 1996) ! r_k range is limited to 5.0 to 131.0 microns ! iceflag = 3: generalized effective size, dge, (Fu, 1996), ! dge range is limited to 5.0 to 140.0 microns ! [dge = 1.0315 * r_ec] ! ------- Output ------- integer(kind=im), intent(out) :: ncbands ! number of cloud spectral bands real(kind=rb), intent(inout) :: taucmc(:,:) ! cloud optical depth [mcica] ! Dimensions: (ngptlw,nlayers) ! ------- Local ------- integer(kind=im) :: lay ! Layer index integer(kind=im) :: ib ! spectral band index integer(kind=im) :: ig ! g-point interval index integer(kind=im) :: index integer(kind=im) :: icb(nbndlw) real(kind=rb) :: abscoice(ngptlw) ! ice absorption coefficients real(kind=rb) :: abscoliq(ngptlw) ! liquid absorption coefficients real(kind=rb) :: cwp ! cloud water path real(kind=rb) :: radice ! cloud ice effective size (microns) real(kind=rb) :: factor ! real(kind=rb) :: fint ! real(kind=rb) :: radliq ! cloud liquid droplet radius (microns) real(kind=rb), parameter :: eps = 1.e-6_rb ! epsilon real(kind=rb), parameter :: cldmin = 1.e-20_rb ! minimum value for cloud quantities ! ------- Definitions ------- ! Explanation of the method for each value of INFLAG. Values of ! 0 or 1 for INFLAG do not distingish being liquid and ice clouds. ! INFLAG = 2 does distinguish between liquid and ice clouds, and ! requires further user input to specify the method to be used to ! compute the aborption due to each. ! INFLAG = 0: For each cloudy layer, the cloud fraction and (gray) ! optical depth are input. ! INFLAG = 1: For each cloudy layer, the cloud fraction and cloud ! water path (g/m2) are input. The (gray) cloud optical ! depth is computed as in CCM2. ! INFLAG = 2: For each cloudy layer, the cloud fraction, cloud ! water path (g/m2), and cloud ice fraction are input. ! ICEFLAG = 0: The ice effective radius (microns) is input and the ! optical depths due to ice clouds are computed as in CCM3. ! ICEFLAG = 1: The ice effective radius (microns) is input and the ! optical depths due to ice clouds are computed as in ! Ebert and Curry, JGR, 97, 3831-3836 (1992). The ! spectral regions in this work have been matched with ! the spectral bands in RRTM to as great an extent ! as possible: ! E&C 1 IB = 5 RRTM bands 9-16 ! E&C 2 IB = 4 RRTM bands 6-8 ! E&C 3 IB = 3 RRTM bands 3-5 ! E&C 4 IB = 2 RRTM band 2 ! E&C 5 IB = 1 RRTM band 1 ! ICEFLAG = 2: The ice effective radius (microns) is input and the ! optical properties due to ice clouds are computed from ! the optical properties stored in the RT code, ! STREAMER v3.0 (Reference: Key. J., Streamer ! User's Guide, Cooperative Institute for ! Meteorological Satellite Studies, 2001, 96 pp.). ! Valid range of values for re are between 5.0 and ! 131.0 micron. ! ICEFLAG = 3: The ice generalized effective size (dge) is input ! and the optical properties, are calculated as in ! Q. Fu, J. Climate, (1998). Q. Fu provided high resolution ! tables which were appropriately averaged for the ! bands in RRTM_LW. Linear interpolation is used to ! get the coefficients from the stored tables. ! Valid range of values for dge are between 5.0 and ! 140.0 micron. ! LIQFLAG = 0: The optical depths due to water clouds are computed as ! in CCM3. ! LIQFLAG = 1: The water droplet effective radius (microns) is input ! and the optical depths due to water clouds are computed ! as in Hu and Stamnes, J., Clim., 6, 728-742, (1993). ! The values for absorption coefficients appropriate for ! the spectral bands in RRTM have been obtained for a ! range of effective radii by an averaging procedure ! based on the work of J. Pinto (private communication). ! Linear interpolation is used to get the absorption ! coefficients for the input effective radius. data icb /1,2,3,3,3,4,4,4,5, 5, 5, 5, 5, 5, 5, 5/ hvrclc = '$Revision: 1.8 $' ncbands = 1 ! This initialization is done in rrtmg_lw_subcol.F90. ! do lay = 1, nlayers ! do ig = 1, ngptlw ! taucmc(ig,lay) = 0.0_rb ! enddo ! enddo ! Main layer loop do lay = 1, nlayers do ig = 1, ngptlw cwp = ciwpmc(ig,lay) + clwpmc(ig,lay) if (cldfmc(ig,lay) .ge. cldmin .and. & (cwp .ge. cldmin .or. taucmc(ig,lay) .ge. cldmin)) then ! Ice clouds and water clouds combined. if (inflag .eq. 0) then ! Cloud optical depth already defined in taucmc, return to main program return elseif(inflag .eq. 1) then stop 'INFLAG = 1 OPTION NOT AVAILABLE WITH MCICA' ! cwp = ciwpmc(ig,lay) + clwpmc(ig,lay) ! taucmc(ig,lay) = abscld1 * cwp ! Separate treatement of ice clouds and water clouds. elseif(inflag .eq. 2) then radice = reicmc(lay) ! Calculation of absorption coefficients due to ice clouds. if (ciwpmc(ig,lay) .eq. 0.0_rb) then abscoice(ig) = 0.0_rb elseif (iceflag .eq. 0) then if (radice .lt. 10.0_rb) then write(6,*) 'ICE RADIUS TOO SMALL' endif abscoice(ig) = absice0(1) + absice0(2)/radice elseif (iceflag .eq. 1) then if (radice .lt. 13.0_rb .or. radice .gt. 130._rb) then write(6,*) 'ICE RADIUS OUT OF BOUNDS',radice,cldfmc(ig,lay) endif ncbands = 5 ib = icb(ngb(ig)) abscoice(ig) = absice1(1,ib) + absice1(2,ib)/radice ! For iceflag=2 option, ice particle effective radius is limited to 5.0 to 131.0 microns elseif (iceflag .eq. 2) then if (radice .lt. 5.0_rb .or. radice .gt. 131.0_rb) then write(6,*) 'ICE RADIUS OUT OF BOUNDS',radice,cldfmc(ig,lay) endif ncbands = 16 factor = (radice - 2._rb)/3._rb index = int(factor) if (index .eq. 43) index = 42 fint = factor - float(index) ib = ngb(ig) abscoice(ig) = & absice2(index,ib) + fint * & (absice2(index+1,ib) - (absice2(index,ib))) ! For iceflag=3 option, ice particle generalized effective size is limited to 5.0 to 140.0 microns elseif (iceflag .eq. 3) then if (radice .lt. 5.0_rb .or. radice .gt. 140.0_rb) then write(6,*) 'ICE GENERALIZED EFFECTIVE SIZE OUT OF BOUNDS' endif ncbands = 16 factor = (radice - 2._rb)/3._rb index = int(factor) if (index .eq. 46) index = 45 fint = factor - float(index) ib = ngb(ig) abscoice(ig) = & absice3(index,ib) + fint * & (absice3(index+1,ib) - (absice3(index,ib))) endif ! Calculation of absorption coefficients due to water clouds. if (clwpmc(ig,lay) .eq. 0.0_rb) then abscoliq(ig) = 0.0_rb elseif (liqflag .eq. 0) then abscoliq(ig) = absliq0 elseif (liqflag .eq. 1) then radliq = relqmc(lay) if (radliq .lt. 2.5_rb .or. radliq .gt. 60._rb) then write(6,*) 'LIQUID EFFECTIVE RADIUS OUT OF BOUNDS',radliq,cldfmc(ig,lay) endif index = int(radliq - 1.5_rb) if (index .eq. 0) index = 1 if (index .eq. 58) index = 57 fint = radliq - 1.5_rb - float(index) ib = ngb(ig) abscoliq(ig) = & absliq1(index,ib) + fint * & (absliq1(index+1,ib) - (absliq1(index,ib))) endif taucmc(ig,lay) = ciwpmc(ig,lay) * abscoice(ig) + & clwpmc(ig,lay) * abscoliq(ig) endif endif enddo enddo end subroutine cldprmc end module rrtmg_lw_cldprmc ================================================ FILE: GeosRad/rrtmg_lw_cldprop.F90.safe ================================================ ! path: $Source: /storm/rc1/cvsroot/rc/rrtmg_lw/src/rrtmg_lw_cldprop.f90,v $ ! author: $Author: mike $ ! revision: $Revision: 1.8 $ ! created: $Date: 2009/05/22 21:04:30 $ ! module rrtmg_lw_cldprop ! -------------------------------------------------------------------------- ! | | ! | Copyright 2002-2009, Atmospheric & Environmental Research, Inc. (AER). | ! | This software may be used, copied, or redistributed as long as it is | ! | not sold and this copyright notice is reproduced on each copy made. | ! | This model is provided as is without any express or implied warranties. | ! | (http://www.rtweb.aer.com/) | ! | | ! -------------------------------------------------------------------------- ! --------- Modules ---------- use parkind, only : im => kind_im, rb => kind_rb use parrrtm, only : nbndlw use rrlw_cld, only: abscld1, absliq0, absliq1, & absice0, absice1, absice2, absice3 use rrlw_vsn, only: hvrcld, hnamcld implicit none contains ! ------------------------------------------------------------------------------ subroutine cldprop(nlayers, inflag, iceflag, liqflag, cldfrac, tauc, & ciwp, clwp, rei, rel, ncbands, taucloud) ! ------------------------------------------------------------------------------ ! Purpose: Compute the cloud optical depth(s) for each cloudy layer. ! ------- Input ------- integer(kind=im), intent(in) :: nlayers ! total number of layers integer(kind=im), intent(in) :: inflag ! see definitions integer(kind=im), intent(in) :: iceflag ! see definitions integer(kind=im), intent(in) :: liqflag ! see definitions real(kind=rb), intent(in) :: cldfrac(:) ! cloud fraction ! Dimensions: (nlayers) real(kind=rb), intent(in) :: ciwp(:) ! cloud ice water path ! Dimensions: (nlayers) real(kind=rb), intent(in) :: clwp(:) ! cloud liquid water path ! Dimensions: (nlayers) real(kind=rb), intent(in) :: rei(:) ! cloud ice particle effective size (microns) ! Dimensions: (nlayers) ! specific definition of rei depends on setting of iceflag: ! iceflag = 0: ice effective radius, r_ec, (Ebert and Curry, 1992), ! r_ec must be >= 10.0 microns ! iceflag = 1: ice effective radius, r_ec, (Ebert and Curry, 1992), ! r_ec range is limited to 13.0 to 130.0 microns ! iceflag = 2: ice effective radius, r_k, (Key, Streamer Ref. Manual, 1996) ! r_k range is limited to 5.0 to 131.0 microns ! iceflag = 3: generalized effective size, dge, (Fu, 1996), ! dge range is limited to 5.0 to 140.0 microns ! [dge = 1.0315 * r_ec] real(kind=rb), intent(in) :: rel(:) ! cloud liquid particle effective radius (microns) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: tauc(:,:) ! cloud optical depth ! Dimensions: (nbndlw,nlayers) ! ------- Output ------- integer(kind=im), intent(out) :: ncbands ! number of cloud spectral bands real(kind=rb), intent(out) :: taucloud(:,:) ! cloud optical depth ! Dimensions: (nlayers,nbndlw) ! ------- Local ------- integer(kind=im) :: lay ! Layer index integer(kind=im) :: ib ! spectral band index integer(kind=im) :: index integer(kind=im) :: iceind integer(kind=im) :: liqind integer(kind=im) :: icb(nbndlw,0:2) real(kind=rb) :: abscoice(nbndlw) ! ice absorption coefficients real(kind=rb) :: abscoliq(nbndlw) ! liquid absorption coefficients real(kind=rb) :: cwp ! cloud water path real(kind=rb) :: radliq ! cloud liquid droplet radius (microns) real(kind=rb) :: radice ! cloud ice effective size (microns) real(kind=rb) :: factor ! real(kind=rb) :: fint ! real(kind=rb) :: tauctot(nlayers) ! band integrated cloud optical depth real(kind=rb), parameter :: eps = 1.e-6_rb ! epsilon real(kind=rb), parameter :: cldmin = 1.e-20_rb ! minimum value for cloud quantities ! ------- Definitions ------- ! Explanation of the method for each value of INFLAG. Values of ! 0 or 1 for INFLAG do not distingish being liquid and ice clouds. ! INFLAG = 2 does distinguish between liquid and ice clouds, and ! requires further user input to specify the method to be used to ! compute the aborption due to each. ! INFLAG = 0: For each cloudy layer, the cloud fraction and (gray) ! optical depth are input. ! INFLAG = 1: For each cloudy layer, the cloud fraction and cloud ! water path (g/m2) are input. The (gray) cloud optical ! depth is computed as in CCM2. ! INFLAG = 2: For each cloudy layer, the cloud fraction, cloud ! water path (g/m2), and cloud ice fraction are input. ! ICEFLAG = 0: The ice effective radius (microns) is input and the ! optical depths due to ice clouds are computed as in CCM3. ! ICEFLAG = 1: The ice effective radius (microns) is input and the ! optical depths due to ice clouds are computed as in ! Ebert and Curry, JGR, 97, 3831-3836 (1992). The ! spectral regions in this work have been matched with ! the spectral bands in RRTM to as great an extent ! as possible: ! E&C 1 IB = 5 RRTM bands 9-16 ! E&C 2 IB = 4 RRTM bands 6-8 ! E&C 3 IB = 3 RRTM bands 3-5 ! E&C 4 IB = 2 RRTM band 2 ! E&C 5 IB = 1 RRTM band 1 ! ICEFLAG = 2: The ice effective radius (microns) is input and the ! optical properties due to ice clouds are computed from ! the optical properties stored in the RT code, ! STREAMER v3.0 (Reference: Key. J., Streamer ! User's Guide, Cooperative Institute for ! Meteorological Satellite Studies, 2001, 96 pp.). ! Valid range of values for re are between 5.0 and ! 131.0 micron. ! ICEFLAG = 3: The ice generalized effective size (dge) is input ! and the optical properties, are calculated as in ! Q. Fu, J. Climate, (1998). Q. Fu provided high resolution ! tables which were appropriately averaged for the ! bands in RRTM_LW. Linear interpolation is used to ! get the coefficients from the stored tables. ! Valid range of values for dge are between 5.0 and ! 140.0 micron. ! LIQFLAG = 0: The optical depths due to water clouds are computed as ! in CCM3. ! LIQFLAG = 1: The water droplet effective radius (microns) is input ! and the optical depths due to water clouds are computed ! as in Hu and Stamnes, J., Clim., 6, 728-742, (1993). ! The values for absorption coefficients appropriate for ! the spectral bands in RRTM have been obtained for a ! range of effective radii by an averaging procedure ! based on the work of J. Pinto (private communication). ! Linear interpolation is used to get the absorption ! coefficients for the input effective radius. data icb /1,1,1,1,1,1,1,1,1, 1, 1, 1, 1, 1, 1, 1, & 1,2,3,3,3,4,4,4,5, 5, 5, 5, 5, 5, 5, 5, & 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16/ hvrcld = '$Revision: 1.8 $' ncbands = 1 tauctot(:) = 0._rb do lay = 1, nlayers do ib = 1, nbndlw taucloud(lay,ib) = 0.0_rb tauctot(lay) = tauctot(lay) + tauc(ib,lay) enddo enddo ! Main layer loop do lay = 1, nlayers cwp = ciwp(lay) + clwp(lay) if (cldfrac(lay) .ge. cldmin .and. & (cwp .ge. cldmin .or. tauctot(lay) .ge. cldmin)) then ! Ice clouds and water clouds combined. if (inflag .eq. 0) then ncbands = 16 do ib = 1, ncbands taucloud(lay,ib) = tauc(ib,lay) end do elseif (inflag .eq. 1) then ncbands = 16 do ib = 1, ncbands taucloud(lay,ib) = abscld1 * cwp end do ! Separate treatement of ice clouds and water clouds. elseif (inflag .eq. 2) then radice = rei(lay) ! Calculation of absorption coefficients due to ice clouds. if (ciwp(lay) .eq. 0.0_rb) then abscoice(1) = 0.0_rb iceind = 0 elseif (iceflag .eq. 0) then if (radice .lt. 10.0_rb) stop 'ICE RADIUS TOO SMALL' abscoice(1) = absice0(1) + absice0(2)/radice iceind = 0 elseif (iceflag .eq. 1) then if (radice .lt. 13.0_rb .or. radice .gt. 130._rb) stop & 'ICE RADIUS OUT OF BOUNDS' ncbands = 5 do ib = 1, ncbands abscoice(ib) = absice1(1,ib) + absice1(2,ib)/radice enddo iceind = 1 ! For iceflag=2 option, ice particle effective radius is limited to 5.0 to 131.0 microns elseif (iceflag .eq. 2) then if (radice .lt. 5.0_rb .or. radice .gt. 131.0_rb) stop 'ICE RADIUS OUT OF BOUNDS' ncbands = 16 factor = (radice - 2._rb)/3._rb index = int(factor) if (index .ge. 43) index = 42 fint = factor - float(index) do ib = 1, ncbands abscoice(ib) = & absice2(index,ib) + fint * & (absice2(index+1,ib) - (absice2(index,ib))) enddo iceind = 2 ! For iceflag=3 option, ice particle generalized effective size is limited to 5.0 to 140.0 microns elseif (iceflag .eq. 3) then if (radice .lt. 5.0_rb .or. radice .gt. 140.0_rb) stop 'ICE GENERALIZED EFFECTIVE SIZE OUT OF BOUNDS' ncbands = 16 factor = (radice - 2._rb)/3._rb index = int(factor) if (index .eq. 46) index = 45 fint = factor - float(index) do ib = 1, ncbands abscoice(ib) = & absice3(index,ib) + fint * & (absice3(index+1,ib) - (absice3(index,ib))) enddo iceind = 2 endif ! Calculation of absorption coefficients due to water clouds. if (clwp(lay) .eq. 0.0_rb) then abscoliq(1) = 0.0_rb liqind = 0 if (iceind .eq. 1) iceind = 2 elseif (liqflag .eq. 0) then abscoliq(1) = absliq0 liqind = 0 if (iceind .eq. 1) iceind = 2 elseif (liqflag .eq. 1) then radliq = rel(lay) if (radliq .lt. 2.5_rb .or. radliq .gt. 60._rb) stop & 'LIQUID EFFECTIVE RADIUS OUT OF BOUNDS' index = int(radliq - 1.5_rb) if (index .eq. 0) index = 1 if (index .ge. 58) index = 57 fint = radliq - 1.5_rb - float(index) ! Adde by KCP 8/28/12 if (fint.gt.1) fint = 1.0 ncbands = 16 do ib = 1, ncbands abscoliq(ib) = & absliq1(index,ib) + fint * & (absliq1(index+1,ib) - (absliq1(index,ib))) enddo liqind = 2 endif do ib = 1, ncbands taucloud(lay,ib) = ciwp(lay) * abscoice(icb(ib,iceind)) + & clwp(lay) * abscoliq(icb(ib,liqind)) enddo endif endif enddo end subroutine cldprop end module rrtmg_lw_cldprop ================================================ FILE: GeosRad/rrtmg_lw_init.F90 ================================================ ! path: $Source: /storm/rc1/cvsroot/rc/rrtmg_lw/src/rrtmg_lw_init.f90,v $ ! author: $Author: mike $ ! revision: $Revision: 1.5 $ ! created: $Date: 2009/11/12 20:52:25 $ ! module rrtmg_lw_init ! -------------------------------------------------------------------------- ! | | ! | Copyright 2002-2009, Atmospheric & Environmental Research, Inc. (AER). | ! | This software may be used, copied, or redistributed as long as it is | ! | not sold and this copyright notice is reproduced on each copy made. | ! | This model is provided as is without any express or implied warranties. | ! | (http://www.rtweb.aer.com/) | ! | | ! -------------------------------------------------------------------------- ! ------- Modules ------- use parkind, only : im => kind_im, rb => kind_rb use rrlw_wvn use rrtmg_lw_setcoef, only: lwatmref, lwavplank, lwavplankderiv implicit none contains ! ************************************************************************** ! subroutine rrtmg_lw_ini(cpdair) subroutine rrtmg_lw_ini ! ************************************************************************** ! ! Original version: Michael J. Iacono; July, 1998 ! First revision for GCMs: September, 1998 ! Second revision for RRTM_V3.0: September, 2002 ! ! This subroutine performs calculations necessary for the initialization ! of the longwave model. Lookup tables are computed for use in the LW ! radiative transfer, and input absorption coefficient data for each ! spectral band are reduced from 256 g-point intervals to 140. ! ************************************************************************** use parrrtm, only : mg, nbndlw, ngptlw use rrlw_tbl, only: ntbl, tblint, pade, bpade, tau_tbl, exp_tbl, tfn_tbl use rrlw_vsn, only: hvrini, hnamini real(kind=rb), parameter :: cpdair=1003.5 ! Specific heat capacity of dry air ! at constant pressure at 273 K ! (J kg-1 K-1) ! ------- Local ------- integer(kind=im) :: itr, ibnd, igc, ig, ind, ipr integer(kind=im) :: igcsm, iprsm real(kind=rb) :: wtsum, wtsm(mg) ! real(kind=rb) :: tfn ! real(kind=rb), parameter :: expeps = 1.e-20_rb ! Smallest value for exponential table ! ------- Definitions ------- ! Arrays for 10000-point look-up tables: ! TAU_TBL Clear-sky optical depth (used in cloudy radiative transfer) ! EXP_TBL Exponential lookup table for ransmittance ! TFN_TBL Tau transition function; i.e. the transition of the Planck ! function from that for the mean layer temperature to that for ! the layer boundary temperature as a function of optical depth. ! The "linear in tau" method is used to make the table. ! PADE Pade approximation constant (= 0.278) ! BPADE Inverse of the Pade approximation constant ! hvrini = '$Revision: 1.5 $' ! Initialize model data call lwdatinit(cpdair) call lwcmbdat ! g-point interval reduction data call lwcldpr ! cloud optical properties call lwatmref ! reference MLS profile call lwavplank ! Planck function call lwavplankderiv ! Planck function derivative wrt temp call lw_kgb01 ! molecular absorption coefficients call lw_kgb02 call lw_kgb03 call lw_kgb04 call lw_kgb05 call lw_kgb06 call lw_kgb07 call lw_kgb08 call lw_kgb09 call lw_kgb10 call lw_kgb11 call lw_kgb12 call lw_kgb13 call lw_kgb14 call lw_kgb15 call lw_kgb16 ! Compute lookup tables for transmittance, tau transition function, ! and clear sky tau (for the cloudy sky radiative transfer). Tau is ! computed as a function of the tau transition function, transmittance ! is calculated as a function of tau, and the tau transition function ! is calculated using the linear in tau formulation at values of tau ! above 0.01. TF is approximated as tau/6 for tau < 0.01. All tables ! are computed at intervals of 0.001. The inverse of the constant used ! in the Pade approximation to the tau transition function is set to b. tau_tbl(0) = 0.0_rb tau_tbl(ntbl) = 1.e10_rb exp_tbl(0) = 1.0_rb exp_tbl(ntbl) = expeps tfn_tbl(0) = 0.0_rb tfn_tbl(ntbl) = 1.0_rb bpade = 1.0_rb / pade do itr = 1, ntbl-1 tfn = float(itr) / float(ntbl) tau_tbl(itr) = bpade * tfn / (1._rb - tfn) exp_tbl(itr) = exp(-tau_tbl(itr)) if (exp_tbl(itr) .le. expeps) exp_tbl(itr) = expeps if (tau_tbl(itr) .lt. 0.06_rb) then tfn_tbl(itr) = tau_tbl(itr)/6._rb else tfn_tbl(itr) = 1._rb-2._rb*((1._rb/tau_tbl(itr))-(exp_tbl(itr)/(1.-exp_tbl(itr)))) endif enddo ! Perform g-point reduction from 16 per band (256 total points) to ! a band dependant number (140 total points) for all absorption ! coefficient input data and Planck fraction input data. ! Compute relative weighting for new g-point combinations. igcsm = 0 do ibnd = 1,nbndlw iprsm = 0 if (ngc(ibnd).lt.mg) then do igc = 1,ngc(ibnd) igcsm = igcsm + 1 wtsum = 0._rb do ipr = 1, ngn(igcsm) iprsm = iprsm + 1 wtsum = wtsum + wt(iprsm) enddo wtsm(igc) = wtsum enddo do ig = 1, ng(ibnd) ind = (ibnd-1)*mg + ig rwgt(ind) = wt(ig)/wtsm(ngm(ind)) enddo else do ig = 1, ng(ibnd) igcsm = igcsm + 1 ind = (ibnd-1)*mg + ig rwgt(ind) = 1.0_rb enddo endif enddo ! Reduce g-points for absorption coefficient data in each LW spectral band. call cmbgb1 call cmbgb2 call cmbgb3 call cmbgb4 call cmbgb5 call cmbgb6 call cmbgb7 call cmbgb8 call cmbgb9 call cmbgb10 call cmbgb11 call cmbgb12 call cmbgb13 call cmbgb14 call cmbgb15 call cmbgb16 end subroutine rrtmg_lw_ini !*************************************************************************** subroutine lwdatinit(cpdair) !*************************************************************************** ! --------- Modules ---------- use parrrtm, only : maxxsec, maxinpx use rrlw_con, only: heatfac, grav, planck, boltz, & clight, avogad, alosmt, gascon, radcn1, radcn2, & sbcnst, secdy use rrlw_vsn save real(kind=rb), intent(in) :: cpdair ! Specific heat capacity of dry air ! at constant pressure at 273 K ! (J kg-1 K-1) ! Longwave spectral band limits (wavenumbers) wavenum1(:) = (/ 10._rb, 350._rb, 500._rb, 630._rb, 700._rb, 820._rb, & 980._rb,1080._rb,1180._rb,1390._rb,1480._rb,1800._rb, & 2080._rb,2250._rb,2380._rb,2600._rb/) wavenum2(:) = (/350._rb, 500._rb, 630._rb, 700._rb, 820._rb, 980._rb, & 1080._rb,1180._rb,1390._rb,1480._rb,1800._rb,2080._rb, & 2250._rb,2380._rb,2600._rb,3250._rb/) delwave(:) = (/340._rb, 150._rb, 130._rb, 70._rb, 120._rb, 160._rb, & 100._rb, 100._rb, 210._rb, 90._rb, 320._rb, 280._rb, & 170._rb, 130._rb, 220._rb, 650._rb/) ! Spectral band information ng(:) = (/16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16/) nspa(:) = (/1,1,9,9,9,1,9,1,9,1,1,9,9,1,9,9/) nspb(:) = (/1,1,5,5,5,0,1,1,1,1,1,0,0,1,0,0/) ! nxmol - number of cross-sections input by user ! ixindx(i) - index of cross-section molecule corresponding to Ith ! cross-section specified by user ! = 0 -- not allowed in rrtm ! = 1 -- ccl4 ! = 2 -- cfc11 ! = 3 -- cfc12 ! = 4 -- cfc22 nxmol = 4 ixindx(1) = 1 ixindx(2) = 2 ixindx(3) = 3 ixindx(4) = 4 ixindx(5:maxinpx) = 0 ! Fundamental physical constants from NIST 2002 grav = 9.8066_rb ! Acceleration of gravity ! (m s-2) planck = 6.62606876e-27_rb ! Planck constant ! (ergs s; g cm2 s-1) boltz = 1.3806503e-16_rb ! Boltzmann constant ! (ergs K-1; g cm2 s-2 K-1) clight = 2.99792458e+10_rb ! Speed of light in a vacuum ! (cm s-1) avogad = 6.02214199e+23_rb ! Avogadro constant ! (mol-1) alosmt = 2.6867775e+19_rb ! Loschmidt constant ! (cm-3) gascon = 8.31447200e+07_rb ! Molar gas constant ! (ergs mol-1 K-1) radcn1 = 1.191042722e-12_rb ! First radiation constant ! (W cm2 sr-1) radcn2 = 1.4387752_rb ! Second radiation constant ! (cm K) sbcnst = 5.670400e-04_rb ! Stefan-Boltzmann constant ! (W cm-2 K-4) secdy = 8.6400e4_rb ! Number of seconds per day ! (s d-1) ! ! units are generally cgs ! ! The first and second radiation constants are taken from NIST. ! They were previously obtained from the relations: ! radcn1 = 2.*planck*clight*clight*1.e-07 ! radcn2 = planck*clight/boltz ! Heatfac is the factor by which delta-flux / delta-pressure is ! multiplied, with flux in W/m-2 and pressure in mbar, to get ! the heating rate in units of degrees/day. It is equal to: ! Original value: ! (g)x(#sec/day)x(1e-5)/(specific heat of air at const. p) ! Here, cpdair (1.004) is in units of J g-1 K-1, and the ! constant (1.e-5) converts mb to Pa and g-1 to kg-1. ! = (9.8066)(86400)(1e-5)/(1.004) ! heatfac = 8.4391_rb ! ! Modified value for consistency with CAM3: ! (g)x(#sec/day)x(1e-5)/(specific heat of air at const. p) ! Here, cpdair (1.00464) is in units of J g-1 K-1, and the ! constant (1.e-5) converts mb to Pa and g-1 to kg-1. ! = (9.80616)(86400)(1e-5)/(1.00464) ! heatfac = 8.43339130434_rb ! ! Calculated value: ! (grav) x (#sec/day) / (specific heat of dry air at const. p x 1.e2) ! Here, cpdair is in units of J kg-1 K-1, and the constant (1.e2) ! converts mb to Pa when heatfac is multiplied by W m-2 mb-1. heatfac = grav * secdy / (cpdair * 1.e2_rb) end subroutine lwdatinit !*************************************************************************** subroutine lwcmbdat !*************************************************************************** save ! ------- Definitions ------- ! Arrays for the g-point reduction from 256 to 140 for the 16 LW bands: ! This mapping from 256 to 140 points has been carefully selected to ! minimize the effect on the resulting fluxes and cooling rates, and ! caution should be used if the mapping is modified. The full 256 ! g-point set can be restored with ngptlw=256, ngc=16*16, ngn=256*1., etc. ! ngptlw The total number of new g-points ! ngc The number of new g-points in each band ! ngs The cumulative sum of new g-points for each band ! ngm The index of each new g-point relative to the original ! 16 g-points for each band. ! ngn The number of original g-points that are combined to make ! each new g-point in each band. ! ngb The band index for each new g-point. ! wt RRTM weights for 16 g-points. ! ------- Data statements ------- ngc(:) = (/10,12,16,14,16,8,12,8,12,6,8,8,4,2,2,2/) ngs(:) = (/10,22,38,52,68,76,88,96,108,114,122,130,134,136,138,140/) ngm(:) = (/1,2,3,3,4,4,5,5,6,6,7,7,8,8,9,10, & ! band 1 1,2,3,4,5,6,7,8,9,9,10,10,11,11,12,12, & ! band 2 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, & ! band 3 1,2,3,4,5,6,7,8,9,10,11,12,13,14,14,14, & ! band 4 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, & ! band 5 1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8, & ! band 6 1,1,2,2,3,4,5,6,7,8,9,10,11,11,12,12, & ! band 7 1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8, & ! band 8 1,2,3,4,5,6,7,8,9,9,10,10,11,11,12,12, & ! band 9 1,1,2,2,3,3,4,4,5,5,5,5,6,6,6,6, & ! band 10 1,2,3,3,4,4,5,5,6,6,7,7,7,8,8,8, & ! band 11 1,2,3,4,5,5,6,6,7,7,7,7,8,8,8,8, & ! band 12 1,1,1,2,2,2,3,3,3,3,4,4,4,4,4,4, & ! band 13 1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2, & ! band 14 1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2, & ! band 15 1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2/) ! band 16 ngn(:) = (/1,1,2,2,2,2,2,2,1,1, & ! band 1 1,1,1,1,1,1,1,1,2,2,2,2, & ! band 2 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, & ! band 3 1,1,1,1,1,1,1,1,1,1,1,1,1,3, & ! band 4 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, & ! band 5 2,2,2,2,2,2,2,2, & ! band 6 2,2,1,1,1,1,1,1,1,1,2,2, & ! band 7 2,2,2,2,2,2,2,2, & ! band 8 1,1,1,1,1,1,1,1,2,2,2,2, & ! band 9 2,2,2,2,4,4, & ! band 10 1,1,2,2,2,2,3,3, & ! band 11 1,1,1,1,2,2,4,4, & ! band 12 3,3,4,6, & ! band 13 8,8, & ! band 14 8,8, & ! band 15 4,12/) ! band 16 ngb(:) = (/1,1,1,1,1,1,1,1,1,1, & ! band 1 2,2,2,2,2,2,2,2,2,2,2,2, & ! band 2 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, & ! band 3 4,4,4,4,4,4,4,4,4,4,4,4,4,4, & ! band 4 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, & ! band 5 6,6,6,6,6,6,6,6, & ! band 6 7,7,7,7,7,7,7,7,7,7,7,7, & ! band 7 8,8,8,8,8,8,8,8, & ! band 8 9,9,9,9,9,9,9,9,9,9,9,9, & ! band 9 10,10,10,10,10,10, & ! band 10 11,11,11,11,11,11,11,11, & ! band 11 12,12,12,12,12,12,12,12, & ! band 12 13,13,13,13, & ! band 13 14,14, & ! band 14 15,15, & ! band 15 16,16/) ! band 16 wt(:) = (/ 0.1527534276_rb, 0.1491729617_rb, 0.1420961469_rb, & 0.1316886544_rb, 0.1181945205_rb, 0.1019300893_rb, & 0.0832767040_rb, 0.0626720116_rb, 0.0424925000_rb, & 0.0046269894_rb, 0.0038279891_rb, 0.0030260086_rb, & 0.0022199750_rb, 0.0014140010_rb, 0.0005330000_rb, & 0.0000750000_rb/) end subroutine lwcmbdat !*************************************************************************** subroutine cmbgb1 !*************************************************************************** ! ! Original version: MJIacono; July 1998 ! Revision for GCMs: MJIacono; September 1998 ! Revision for RRTMG: MJIacono, September 2002 ! Revision for F90 reformatting: MJIacono, June 2006 ! ! The subroutines CMBGB1->CMBGB16 input the absorption coefficient ! data for each band, which are defined for 16 g-points and 16 spectral ! bands. The data are combined with appropriate weighting following the ! g-point mapping arrays specified in RRTMINIT. Plank fraction data ! in arrays FRACREFA and FRACREFB are combined without weighting. All ! g-point reduced data are put into new arrays for use in RRTM. ! ! band 1: 10-350 cm-1 (low key - h2o; low minor - n2) ! (high key - h2o; high minor - n2) ! note: previous versions of rrtm band 1: ! 10-250 cm-1 (low - h2o; high - h2o) !*************************************************************************** use parrrtm, only : mg, nbndlw, ngptlw, ng1 use rrlw_kg01, only: fracrefao, fracrefbo, kao, kbo, kao_mn2, kbo_mn2, & selfrefo, forrefo, & fracrefa, fracrefb, absa, ka, absb, kb, ka_mn2, kb_mn2, & selfref, forref ! ------- Local ------- integer(kind=im) :: jt, jp, igc, ipr, iprsm real(kind=rb) :: sumk, sumk1, sumk2, sumf1, sumf2 do jt = 1,5 do jp = 1,13 iprsm = 0 do igc = 1,ngc(1) sumk = 0. do ipr = 1, ngn(igc) iprsm = iprsm + 1 sumk = sumk + kao(jt,jp,iprsm)*rwgt(iprsm) enddo ka(jt,jp,igc) = sumk enddo enddo do jp = 13,59 iprsm = 0 do igc = 1,ngc(1) sumk = 0. do ipr = 1, ngn(igc) iprsm = iprsm + 1 sumk = sumk + kbo(jt,jp,iprsm)*rwgt(iprsm) enddo kb(jt,jp,igc) = sumk enddo enddo enddo do jt = 1,10 iprsm = 0 do igc = 1,ngc(1) sumk = 0. do ipr = 1, ngn(igc) iprsm = iprsm + 1 sumk = sumk + selfrefo(jt,iprsm)*rwgt(iprsm) enddo selfref(jt,igc) = sumk enddo enddo do jt = 1,4 iprsm = 0 do igc = 1,ngc(1) sumk = 0. do ipr = 1, ngn(igc) iprsm = iprsm + 1 sumk = sumk + forrefo(jt,iprsm)*rwgt(iprsm) enddo forref(jt,igc) = sumk enddo enddo do jt = 1,19 iprsm = 0 do igc = 1,ngc(1) sumk1 = 0. sumk2 = 0. do ipr = 1, ngn(igc) iprsm = iprsm + 1 sumk1 = sumk1 + kao_mn2(jt,iprsm)*rwgt(iprsm) sumk2 = sumk2 + kbo_mn2(jt,iprsm)*rwgt(iprsm) enddo ka_mn2(jt,igc) = sumk1 kb_mn2(jt,igc) = sumk2 enddo enddo iprsm = 0 do igc = 1,ngc(1) sumf1 = 0. sumf2 = 0. do ipr = 1, ngn(igc) iprsm = iprsm + 1 sumf1= sumf1+ fracrefao(iprsm) sumf2= sumf2+ fracrefbo(iprsm) enddo fracrefa(igc) = sumf1 fracrefb(igc) = sumf2 enddo end subroutine cmbgb1 !*************************************************************************** subroutine cmbgb2 !*************************************************************************** ! ! band 2: 350-500 cm-1 (low key - h2o; high key - h2o) ! ! note: previous version of rrtm band 2: ! 250 - 500 cm-1 (low - h2o; high - h2o) !*************************************************************************** use parrrtm, only : mg, nbndlw, ngptlw, ng2 use rrlw_kg02, only: fracrefao, fracrefbo, kao, kbo, selfrefo, forrefo, & fracrefa, fracrefb, absa, ka, absb, kb, selfref, forref ! ------- Local ------- integer(kind=im) :: jt, jp, igc, ipr, iprsm real(kind=rb) :: sumk, sumf1, sumf2 do jt = 1,5 do jp = 1,13 iprsm = 0 do igc = 1,ngc(2) sumk = 0. do ipr = 1, ngn(ngs(1)+igc) iprsm = iprsm + 1 sumk = sumk + kao(jt,jp,iprsm)*rwgt(iprsm+16) enddo ka(jt,jp,igc) = sumk enddo enddo do jp = 13,59 iprsm = 0 do igc = 1,ngc(2) sumk = 0. do ipr = 1, ngn(ngs(1)+igc) iprsm = iprsm + 1 sumk = sumk + kbo(jt,jp,iprsm)*rwgt(iprsm+16) enddo kb(jt,jp,igc) = sumk enddo enddo enddo do jt = 1,10 iprsm = 0 do igc = 1,ngc(2) sumk = 0. do ipr = 1, ngn(ngs(1)+igc) iprsm = iprsm + 1 sumk = sumk + selfrefo(jt,iprsm)*rwgt(iprsm+16) enddo selfref(jt,igc) = sumk enddo enddo do jt = 1,4 iprsm = 0 do igc = 1,ngc(2) sumk = 0. do ipr = 1, ngn(ngs(1)+igc) iprsm = iprsm + 1 sumk = sumk + forrefo(jt,iprsm)*rwgt(iprsm+16) enddo forref(jt,igc) = sumk enddo enddo iprsm = 0 do igc = 1,ngc(2) sumf1 = 0. sumf2 = 0. do ipr = 1, ngn(ngs(1)+igc) iprsm = iprsm + 1 sumf1= sumf1+ fracrefao(iprsm) sumf2= sumf2+ fracrefbo(iprsm) enddo fracrefa(igc) = sumf1 fracrefb(igc) = sumf2 enddo end subroutine cmbgb2 !*************************************************************************** subroutine cmbgb3 !*************************************************************************** ! ! band 3: 500-630 cm-1 (low key - h2o,co2; low minor - n2o) ! (high key - h2o,co2; high minor - n2o) ! ! old band 3: 500-630 cm-1 (low - h2o,co2; high - h2o,co2) !*************************************************************************** use parrrtm, only : mg, nbndlw, ngptlw, ng3 use rrlw_kg03, only: fracrefao, fracrefbo, kao, kbo, kao_mn2o, kbo_mn2o, & selfrefo, forrefo, & fracrefa, fracrefb, absa, ka, absb, kb, ka_mn2o, kb_mn2o, & selfref, forref ! ------- Local ------- integer(kind=im) :: jn, jt, jp, igc, ipr, iprsm real(kind=rb) :: sumk, sumf do jn = 1,9 do jt = 1,5 do jp = 1,13 iprsm = 0 do igc = 1,ngc(3) sumk = 0. do ipr = 1, ngn(ngs(2)+igc) iprsm = iprsm + 1 sumk = sumk + kao(jn,jt,jp,iprsm)*rwgt(iprsm+32) enddo ka(jn,jt,jp,igc) = sumk enddo enddo enddo enddo do jn = 1,5 do jt = 1,5 do jp = 13,59 iprsm = 0 do igc = 1,ngc(3) sumk = 0. do ipr = 1, ngn(ngs(2)+igc) iprsm = iprsm + 1 sumk = sumk + kbo(jn,jt,jp,iprsm)*rwgt(iprsm+32) enddo kb(jn,jt,jp,igc) = sumk enddo enddo enddo enddo do jn = 1,9 do jt = 1,19 iprsm = 0 do igc = 1,ngc(3) sumk = 0. do ipr = 1, ngn(ngs(2)+igc) iprsm = iprsm + 1 sumk = sumk + kao_mn2o(jn,jt,iprsm)*rwgt(iprsm+32) enddo ka_mn2o(jn,jt,igc) = sumk enddo enddo enddo do jn = 1,5 do jt = 1,19 iprsm = 0 do igc = 1,ngc(3) sumk = 0. do ipr = 1, ngn(ngs(2)+igc) iprsm = iprsm + 1 sumk = sumk + kbo_mn2o(jn,jt,iprsm)*rwgt(iprsm+32) enddo kb_mn2o(jn,jt,igc) = sumk enddo enddo enddo do jt = 1,10 iprsm = 0 do igc = 1,ngc(3) sumk = 0. do ipr = 1, ngn(ngs(2)+igc) iprsm = iprsm + 1 sumk = sumk + selfrefo(jt,iprsm)*rwgt(iprsm+32) enddo selfref(jt,igc) = sumk enddo enddo do jt = 1,4 iprsm = 0 do igc = 1,ngc(3) sumk = 0. do ipr = 1, ngn(ngs(2)+igc) iprsm = iprsm + 1 sumk = sumk + forrefo(jt,iprsm)*rwgt(iprsm+32) enddo forref(jt,igc) = sumk enddo enddo do jp = 1,9 iprsm = 0 do igc = 1,ngc(3) sumf = 0. do ipr = 1, ngn(ngs(2)+igc) iprsm = iprsm + 1 sumf = sumf + fracrefao(iprsm,jp) enddo fracrefa(igc,jp) = sumf enddo enddo do jp = 1,5 iprsm = 0 do igc = 1,ngc(3) sumf = 0. do ipr = 1, ngn(ngs(2)+igc) iprsm = iprsm + 1 sumf = sumf + fracrefbo(iprsm,jp) enddo fracrefb(igc,jp) = sumf enddo enddo end subroutine cmbgb3 !*************************************************************************** subroutine cmbgb4 !*************************************************************************** ! ! band 4: 630-700 cm-1 (low key - h2o,co2; high key - o3,co2) ! ! old band 4: 630-700 cm-1 (low - h2o,co2; high - o3,co2) !*************************************************************************** use parrrtm, only : mg, nbndlw, ngptlw, ng4 use rrlw_kg04, only: fracrefao, fracrefbo, kao, kbo, selfrefo, forrefo, & fracrefa, fracrefb, absa, ka, absb, kb, selfref, forref ! ------- Local ------- integer(kind=im) :: jn, jt, jp, igc, ipr, iprsm real(kind=rb) :: sumk, sumf do jn = 1,9 do jt = 1,5 do jp = 1,13 iprsm = 0 do igc = 1,ngc(4) sumk = 0. do ipr = 1, ngn(ngs(3)+igc) iprsm = iprsm + 1 sumk = sumk + kao(jn,jt,jp,iprsm)*rwgt(iprsm+48) enddo ka(jn,jt,jp,igc) = sumk enddo enddo enddo enddo do jn = 1,5 do jt = 1,5 do jp = 13,59 iprsm = 0 do igc = 1,ngc(4) sumk = 0. do ipr = 1, ngn(ngs(3)+igc) iprsm = iprsm + 1 sumk = sumk + kbo(jn,jt,jp,iprsm)*rwgt(iprsm+48) enddo kb(jn,jt,jp,igc) = sumk enddo enddo enddo enddo do jt = 1,10 iprsm = 0 do igc = 1,ngc(4) sumk = 0. do ipr = 1, ngn(ngs(3)+igc) iprsm = iprsm + 1 sumk = sumk + selfrefo(jt,iprsm)*rwgt(iprsm+48) enddo selfref(jt,igc) = sumk enddo enddo do jt = 1,4 iprsm = 0 do igc = 1,ngc(4) sumk = 0. do ipr = 1, ngn(ngs(3)+igc) iprsm = iprsm + 1 sumk = sumk + forrefo(jt,iprsm)*rwgt(iprsm+48) enddo forref(jt,igc) = sumk enddo enddo do jp = 1,9 iprsm = 0 do igc = 1,ngc(4) sumf = 0. do ipr = 1, ngn(ngs(3)+igc) iprsm = iprsm + 1 sumf = sumf + fracrefao(iprsm,jp) enddo fracrefa(igc,jp) = sumf enddo enddo do jp = 1,5 iprsm = 0 do igc = 1,ngc(4) sumf = 0. do ipr = 1, ngn(ngs(3)+igc) iprsm = iprsm + 1 sumf = sumf + fracrefbo(iprsm,jp) enddo fracrefb(igc,jp) = sumf enddo enddo end subroutine cmbgb4 !*************************************************************************** subroutine cmbgb5 !*************************************************************************** ! ! band 5: 700-820 cm-1 (low key - h2o,co2; low minor - o3, ccl4) ! (high key - o3,co2) ! ! old band 5: 700-820 cm-1 (low - h2o,co2; high - o3,co2) !*************************************************************************** use parrrtm, only : mg, nbndlw, ngptlw, ng5 use rrlw_kg05, only: fracrefao, fracrefbo, kao, kbo, kao_mo3, ccl4o, & selfrefo, forrefo, & fracrefa, fracrefb, absa, ka, absb, kb, ka_mo3, ccl4, & selfref, forref ! ------- Local ------- integer(kind=im) :: jn, jt, jp, igc, ipr, iprsm real(kind=rb) :: sumk, sumf do jn = 1,9 do jt = 1,5 do jp = 1,13 iprsm = 0 do igc = 1,ngc(5) sumk = 0. do ipr = 1, ngn(ngs(4)+igc) iprsm = iprsm + 1 sumk = sumk + kao(jn,jt,jp,iprsm)*rwgt(iprsm+64) enddo ka(jn,jt,jp,igc) = sumk enddo enddo enddo enddo do jn = 1,5 do jt = 1,5 do jp = 13,59 iprsm = 0 do igc = 1,ngc(5) sumk = 0. do ipr = 1, ngn(ngs(4)+igc) iprsm = iprsm + 1 sumk = sumk + kbo(jn,jt,jp,iprsm)*rwgt(iprsm+64) enddo kb(jn,jt,jp,igc) = sumk enddo enddo enddo enddo do jn = 1,9 do jt = 1,19 iprsm = 0 do igc = 1,ngc(5) sumk = 0. do ipr = 1, ngn(ngs(4)+igc) iprsm = iprsm + 1 sumk = sumk + kao_mo3(jn,jt,iprsm)*rwgt(iprsm+64) enddo ka_mo3(jn,jt,igc) = sumk enddo enddo enddo do jt = 1,10 iprsm = 0 do igc = 1,ngc(5) sumk = 0. do ipr = 1, ngn(ngs(4)+igc) iprsm = iprsm + 1 sumk = sumk + selfrefo(jt,iprsm)*rwgt(iprsm+64) enddo selfref(jt,igc) = sumk enddo enddo do jt = 1,4 iprsm = 0 do igc = 1,ngc(5) sumk = 0. do ipr = 1, ngn(ngs(4)+igc) iprsm = iprsm + 1 sumk = sumk + forrefo(jt,iprsm)*rwgt(iprsm+64) enddo forref(jt,igc) = sumk enddo enddo do jp = 1,9 iprsm = 0 do igc = 1,ngc(5) sumf = 0. do ipr = 1, ngn(ngs(4)+igc) iprsm = iprsm + 1 sumf = sumf + fracrefao(iprsm,jp) enddo fracrefa(igc,jp) = sumf enddo enddo do jp = 1,5 iprsm = 0 do igc = 1,ngc(5) sumf = 0. do ipr = 1, ngn(ngs(4)+igc) iprsm = iprsm + 1 sumf = sumf + fracrefbo(iprsm,jp) enddo fracrefb(igc,jp) = sumf enddo enddo iprsm = 0 do igc = 1,ngc(5) sumk = 0. do ipr = 1, ngn(ngs(4)+igc) iprsm = iprsm + 1 sumk = sumk + ccl4o(iprsm)*rwgt(iprsm+64) enddo ccl4(igc) = sumk enddo end subroutine cmbgb5 !*************************************************************************** subroutine cmbgb6 !*************************************************************************** ! ! band 6: 820-980 cm-1 (low key - h2o; low minor - co2) ! (high key - nothing; high minor - cfc11, cfc12) ! ! old band 6: 820-980 cm-1 (low - h2o; high - nothing) !*************************************************************************** use parrrtm, only : mg, nbndlw, ngptlw, ng6 use rrlw_kg06, only: fracrefao, kao, kao_mco2, cfc11adjo, cfc12o, & selfrefo, forrefo, & fracrefa, absa, ka, ka_mco2, cfc11adj, cfc12, & selfref, forref ! ------- Local ------- integer(kind=im) :: jt, jp, igc, ipr, iprsm real(kind=rb) :: sumk, sumf, sumk1, sumk2 do jt = 1,5 do jp = 1,13 iprsm = 0 do igc = 1,ngc(6) sumk = 0. do ipr = 1, ngn(ngs(5)+igc) iprsm = iprsm + 1 sumk = sumk + kao(jt,jp,iprsm)*rwgt(iprsm+80) enddo ka(jt,jp,igc) = sumk enddo enddo enddo do jt = 1,19 iprsm = 0 do igc = 1,ngc(6) sumk = 0. do ipr = 1, ngn(ngs(5)+igc) iprsm = iprsm + 1 sumk = sumk + kao_mco2(jt,iprsm)*rwgt(iprsm+80) enddo ka_mco2(jt,igc) = sumk enddo enddo do jt = 1,10 iprsm = 0 do igc = 1,ngc(6) sumk = 0. do ipr = 1, ngn(ngs(5)+igc) iprsm = iprsm + 1 sumk = sumk + selfrefo(jt,iprsm)*rwgt(iprsm+80) enddo selfref(jt,igc) = sumk enddo enddo do jt = 1,4 iprsm = 0 do igc = 1,ngc(6) sumk = 0. do ipr = 1, ngn(ngs(5)+igc) iprsm = iprsm + 1 sumk = sumk + forrefo(jt,iprsm)*rwgt(iprsm+80) enddo forref(jt,igc) = sumk enddo enddo iprsm = 0 do igc = 1,ngc(6) sumf = 0. sumk1= 0. sumk2= 0. do ipr = 1, ngn(ngs(5)+igc) iprsm = iprsm + 1 sumf = sumf + fracrefao(iprsm) sumk1= sumk1+ cfc11adjo(iprsm)*rwgt(iprsm+80) sumk2= sumk2+ cfc12o(iprsm)*rwgt(iprsm+80) enddo fracrefa(igc) = sumf cfc11adj(igc) = sumk1 cfc12(igc) = sumk2 enddo end subroutine cmbgb6 !*************************************************************************** subroutine cmbgb7 !*************************************************************************** ! ! band 7: 980-1080 cm-1 (low key - h2o,o3; low minor - co2) ! (high key - o3; high minor - co2) ! ! old band 7: 980-1080 cm-1 (low - h2o,o3; high - o3) !*************************************************************************** use parrrtm, only : mg, nbndlw, ngptlw, ng7 use rrlw_kg07, only: fracrefao, fracrefbo, kao, kbo, kao_mco2, kbo_mco2, & selfrefo, forrefo, & fracrefa, fracrefb, absa, ka, absb, kb, ka_mco2, kb_mco2, & selfref, forref ! ------- Local ------- integer(kind=im) :: jn, jt, jp, igc, ipr, iprsm real(kind=rb) :: sumk, sumf do jn = 1,9 do jt = 1,5 do jp = 1,13 iprsm = 0 do igc = 1,ngc(7) sumk = 0. do ipr = 1, ngn(ngs(6)+igc) iprsm = iprsm + 1 sumk = sumk + kao(jn,jt,jp,iprsm)*rwgt(iprsm+96) enddo ka(jn,jt,jp,igc) = sumk enddo enddo enddo enddo do jt = 1,5 do jp = 13,59 iprsm = 0 do igc = 1,ngc(7) sumk = 0. do ipr = 1, ngn(ngs(6)+igc) iprsm = iprsm + 1 sumk = sumk + kbo(jt,jp,iprsm)*rwgt(iprsm+96) enddo kb(jt,jp,igc) = sumk enddo enddo enddo do jn = 1,9 do jt = 1,19 iprsm = 0 do igc = 1,ngc(7) sumk = 0. do ipr = 1, ngn(ngs(6)+igc) iprsm = iprsm + 1 sumk = sumk + kao_mco2(jn,jt,iprsm)*rwgt(iprsm+96) enddo ka_mco2(jn,jt,igc) = sumk enddo enddo enddo do jt = 1,19 iprsm = 0 do igc = 1,ngc(7) sumk = 0. do ipr = 1, ngn(ngs(6)+igc) iprsm = iprsm + 1 sumk = sumk + kbo_mco2(jt,iprsm)*rwgt(iprsm+96) enddo kb_mco2(jt,igc) = sumk enddo enddo do jt = 1,10 iprsm = 0 do igc = 1,ngc(7) sumk = 0. do ipr = 1, ngn(ngs(6)+igc) iprsm = iprsm + 1 sumk = sumk + selfrefo(jt,iprsm)*rwgt(iprsm+96) enddo selfref(jt,igc) = sumk enddo enddo do jt = 1,4 iprsm = 0 do igc = 1,ngc(7) sumk = 0. do ipr = 1, ngn(ngs(6)+igc) iprsm = iprsm + 1 sumk = sumk + forrefo(jt,iprsm)*rwgt(iprsm+96) enddo forref(jt,igc) = sumk enddo enddo do jp = 1,9 iprsm = 0 do igc = 1,ngc(7) sumf = 0. do ipr = 1, ngn(ngs(6)+igc) iprsm = iprsm + 1 sumf = sumf + fracrefao(iprsm,jp) enddo fracrefa(igc,jp) = sumf enddo enddo iprsm = 0 do igc = 1,ngc(7) sumf = 0. do ipr = 1, ngn(ngs(6)+igc) iprsm = iprsm + 1 sumf = sumf + fracrefbo(iprsm) enddo fracrefb(igc) = sumf enddo end subroutine cmbgb7 !*************************************************************************** subroutine cmbgb8 !*************************************************************************** ! ! band 8: 1080-1180 cm-1 (low key - h2o; low minor - co2,o3,n2o) ! (high key - o3; high minor - co2, n2o) ! ! old band 8: 1080-1180 cm-1 (low (i.e.>~300mb) - h2o; high - o3) !*************************************************************************** use parrrtm, only : mg, nbndlw, ngptlw, ng8 use rrlw_kg08, only: fracrefao, fracrefbo, kao, kao_mco2, kao_mn2o, & kao_mo3, kbo, kbo_mco2, kbo_mn2o, selfrefo, forrefo, & cfc12o, cfc22adjo, & fracrefa, fracrefb, absa, ka, ka_mco2, ka_mn2o, & ka_mo3, absb, kb, kb_mco2, kb_mn2o, selfref, forref, & cfc12, cfc22adj ! ------- Local ------- integer(kind=im) :: jt, jp, igc, ipr, iprsm real(kind=rb) :: sumk, sumk1, sumk2, sumk3, sumk4, sumk5, sumf1, sumf2 do jt = 1,5 do jp = 1,13 iprsm = 0 do igc = 1,ngc(8) sumk = 0. do ipr = 1, ngn(ngs(7)+igc) iprsm = iprsm + 1 sumk = sumk + kao(jt,jp,iprsm)*rwgt(iprsm+112) enddo ka(jt,jp,igc) = sumk enddo enddo enddo do jt = 1,5 do jp = 13,59 iprsm = 0 do igc = 1,ngc(8) sumk = 0. do ipr = 1, ngn(ngs(7)+igc) iprsm = iprsm + 1 sumk = sumk + kbo(jt,jp,iprsm)*rwgt(iprsm+112) enddo kb(jt,jp,igc) = sumk enddo enddo enddo do jt = 1,10 iprsm = 0 do igc = 1,ngc(8) sumk = 0. do ipr = 1, ngn(ngs(7)+igc) iprsm = iprsm + 1 sumk = sumk + selfrefo(jt,iprsm)*rwgt(iprsm+112) enddo selfref(jt,igc) = sumk enddo enddo do jt = 1,4 iprsm = 0 do igc = 1,ngc(8) sumk = 0. do ipr = 1, ngn(ngs(7)+igc) iprsm = iprsm + 1 sumk = sumk + forrefo(jt,iprsm)*rwgt(iprsm+112) enddo forref(jt,igc) = sumk enddo enddo do jt = 1,19 iprsm = 0 do igc = 1,ngc(8) sumk1 = 0. sumk2 = 0. sumk3 = 0. sumk4 = 0. sumk5 = 0. do ipr = 1, ngn(ngs(7)+igc) iprsm = iprsm + 1 sumk1 = sumk1 + kao_mco2(jt,iprsm)*rwgt(iprsm+112) sumk2 = sumk2 + kbo_mco2(jt,iprsm)*rwgt(iprsm+112) sumk3 = sumk3 + kao_mo3(jt,iprsm)*rwgt(iprsm+112) sumk4 = sumk4 + kao_mn2o(jt,iprsm)*rwgt(iprsm+112) sumk5 = sumk5 + kbo_mn2o(jt,iprsm)*rwgt(iprsm+112) enddo ka_mco2(jt,igc) = sumk1 kb_mco2(jt,igc) = sumk2 ka_mo3(jt,igc) = sumk3 ka_mn2o(jt,igc) = sumk4 kb_mn2o(jt,igc) = sumk5 enddo enddo iprsm = 0 do igc = 1,ngc(8) sumf1= 0. sumf2= 0. sumk1= 0. sumk2= 0. do ipr = 1, ngn(ngs(7)+igc) iprsm = iprsm + 1 sumf1= sumf1+ fracrefao(iprsm) sumf2= sumf2+ fracrefbo(iprsm) sumk1= sumk1+ cfc12o(iprsm)*rwgt(iprsm+112) sumk2= sumk2+ cfc22adjo(iprsm)*rwgt(iprsm+112) enddo fracrefa(igc) = sumf1 fracrefb(igc) = sumf2 cfc12(igc) = sumk1 cfc22adj(igc) = sumk2 enddo end subroutine cmbgb8 !*************************************************************************** subroutine cmbgb9 !*************************************************************************** ! ! band 9: 1180-1390 cm-1 (low key - h2o,ch4; low minor - n2o) ! (high key - ch4; high minor - n2o)! ! old band 9: 1180-1390 cm-1 (low - h2o,ch4; high - ch4) !*************************************************************************** use parrrtm, only : mg, nbndlw, ngptlw, ng9 use rrlw_kg09, only: fracrefao, fracrefbo, kao, kao_mn2o, & kbo, kbo_mn2o, selfrefo, forrefo, & fracrefa, fracrefb, absa, ka, ka_mn2o, & absb, kb, kb_mn2o, selfref, forref ! ------- Local ------- integer(kind=im) :: jn, jt, jp, igc, ipr, iprsm real(kind=rb) :: sumk, sumf do jn = 1,9 do jt = 1,5 do jp = 1,13 iprsm = 0 do igc = 1,ngc(9) sumk = 0. do ipr = 1, ngn(ngs(8)+igc) iprsm = iprsm + 1 sumk = sumk + kao(jn,jt,jp,iprsm)*rwgt(iprsm+128) enddo ka(jn,jt,jp,igc) = sumk enddo enddo enddo enddo do jt = 1,5 do jp = 13,59 iprsm = 0 do igc = 1,ngc(9) sumk = 0. do ipr = 1, ngn(ngs(8)+igc) iprsm = iprsm + 1 sumk = sumk + kbo(jt,jp,iprsm)*rwgt(iprsm+128) enddo kb(jt,jp,igc) = sumk enddo enddo enddo do jn = 1,9 do jt = 1,19 iprsm = 0 do igc = 1,ngc(9) sumk = 0. do ipr = 1, ngn(ngs(8)+igc) iprsm = iprsm + 1 sumk = sumk + kao_mn2o(jn,jt,iprsm)*rwgt(iprsm+128) enddo ka_mn2o(jn,jt,igc) = sumk enddo enddo enddo do jt = 1,19 iprsm = 0 do igc = 1,ngc(9) sumk = 0. do ipr = 1, ngn(ngs(8)+igc) iprsm = iprsm + 1 sumk = sumk + kbo_mn2o(jt,iprsm)*rwgt(iprsm+128) enddo kb_mn2o(jt,igc) = sumk enddo enddo do jt = 1,10 iprsm = 0 do igc = 1,ngc(9) sumk = 0. do ipr = 1, ngn(ngs(8)+igc) iprsm = iprsm + 1 sumk = sumk + selfrefo(jt,iprsm)*rwgt(iprsm+128) enddo selfref(jt,igc) = sumk enddo enddo do jt = 1,4 iprsm = 0 do igc = 1,ngc(9) sumk = 0. do ipr = 1, ngn(ngs(8)+igc) iprsm = iprsm + 1 sumk = sumk + forrefo(jt,iprsm)*rwgt(iprsm+128) enddo forref(jt,igc) = sumk enddo enddo do jp = 1,9 iprsm = 0 do igc = 1,ngc(9) sumf = 0. do ipr = 1, ngn(ngs(8)+igc) iprsm = iprsm + 1 sumf = sumf + fracrefao(iprsm,jp) enddo fracrefa(igc,jp) = sumf enddo enddo iprsm = 0 do igc = 1,ngc(9) sumf = 0. do ipr = 1, ngn(ngs(8)+igc) iprsm = iprsm + 1 sumf = sumf + fracrefbo(iprsm) enddo fracrefb(igc) = sumf enddo end subroutine cmbgb9 !*************************************************************************** subroutine cmbgb10 !*************************************************************************** ! ! band 10: 1390-1480 cm-1 (low key - h2o; high key - h2o) ! ! old band 10: 1390-1480 cm-1 (low - h2o; high - h2o) !*************************************************************************** use parrrtm, only : mg, nbndlw, ngptlw, ng10 use rrlw_kg10, only: fracrefao, fracrefbo, kao, kbo, & selfrefo, forrefo, & fracrefa, fracrefb, absa, ka, absb, kb, & selfref, forref ! ------- Local ------- integer(kind=im) :: jt, jp, igc, ipr, iprsm real(kind=rb) :: sumk, sumf1, sumf2 do jt = 1,5 do jp = 1,13 iprsm = 0 do igc = 1,ngc(10) sumk = 0. do ipr = 1, ngn(ngs(9)+igc) iprsm = iprsm + 1 sumk = sumk + kao(jt,jp,iprsm)*rwgt(iprsm+144) enddo ka(jt,jp,igc) = sumk enddo enddo enddo do jt = 1,5 do jp = 13,59 iprsm = 0 do igc = 1,ngc(10) sumk = 0. do ipr = 1, ngn(ngs(9)+igc) iprsm = iprsm + 1 sumk = sumk + kbo(jt,jp,iprsm)*rwgt(iprsm+144) enddo kb(jt,jp,igc) = sumk enddo enddo enddo do jt = 1,10 iprsm = 0 do igc = 1,ngc(10) sumk = 0. do ipr = 1, ngn(ngs(9)+igc) iprsm = iprsm + 1 sumk = sumk + selfrefo(jt,iprsm)*rwgt(iprsm+144) enddo selfref(jt,igc) = sumk enddo enddo do jt = 1,4 iprsm = 0 do igc = 1,ngc(10) sumk = 0. do ipr = 1, ngn(ngs(9)+igc) iprsm = iprsm + 1 sumk = sumk + forrefo(jt,iprsm)*rwgt(iprsm+144) enddo forref(jt,igc) = sumk enddo enddo iprsm = 0 do igc = 1,ngc(10) sumf1= 0. sumf2= 0. do ipr = 1, ngn(ngs(9)+igc) iprsm = iprsm + 1 sumf1= sumf1+ fracrefao(iprsm) sumf2= sumf2+ fracrefbo(iprsm) enddo fracrefa(igc) = sumf1 fracrefb(igc) = sumf2 enddo end subroutine cmbgb10 !*************************************************************************** subroutine cmbgb11 !*************************************************************************** ! ! band 11: 1480-1800 cm-1 (low - h2o; low minor - o2) ! (high key - h2o; high minor - o2) ! ! old band 11: 1480-1800 cm-1 (low - h2o; low minor - o2) ! (high key - h2o; high minor - o2) !*************************************************************************** use parrrtm, only : mg, nbndlw, ngptlw, ng11 use rrlw_kg11, only: fracrefao, fracrefbo, kao, kao_mo2, & kbo, kbo_mo2, selfrefo, forrefo, & fracrefa, fracrefb, absa, ka, ka_mo2, & absb, kb, kb_mo2, selfref, forref ! ------- Local ------- integer(kind=im) :: jt, jp, igc, ipr, iprsm real(kind=rb) :: sumk, sumk1, sumk2, sumf1, sumf2 do jt = 1,5 do jp = 1,13 iprsm = 0 do igc = 1,ngc(11) sumk = 0. do ipr = 1, ngn(ngs(10)+igc) iprsm = iprsm + 1 sumk = sumk + kao(jt,jp,iprsm)*rwgt(iprsm+160) enddo ka(jt,jp,igc) = sumk enddo enddo enddo do jt = 1,5 do jp = 13,59 iprsm = 0 do igc = 1,ngc(11) sumk = 0. do ipr = 1, ngn(ngs(10)+igc) iprsm = iprsm + 1 sumk = sumk + kbo(jt,jp,iprsm)*rwgt(iprsm+160) enddo kb(jt,jp,igc) = sumk enddo enddo enddo do jt = 1,19 iprsm = 0 do igc = 1,ngc(11) sumk1 = 0. sumk2 = 0. do ipr = 1, ngn(ngs(10)+igc) iprsm = iprsm + 1 sumk1 = sumk1 + kao_mo2(jt,iprsm)*rwgt(iprsm+160) sumk2 = sumk2 + kbo_mo2(jt,iprsm)*rwgt(iprsm+160) enddo ka_mo2(jt,igc) = sumk1 kb_mo2(jt,igc) = sumk2 enddo enddo do jt = 1,10 iprsm = 0 do igc = 1,ngc(11) sumk = 0. do ipr = 1, ngn(ngs(10)+igc) iprsm = iprsm + 1 sumk = sumk + selfrefo(jt,iprsm)*rwgt(iprsm+160) enddo selfref(jt,igc) = sumk enddo enddo do jt = 1,4 iprsm = 0 do igc = 1,ngc(11) sumk = 0. do ipr = 1, ngn(ngs(10)+igc) iprsm = iprsm + 1 sumk = sumk + forrefo(jt,iprsm)*rwgt(iprsm+160) enddo forref(jt,igc) = sumk enddo enddo iprsm = 0 do igc = 1,ngc(11) sumf1= 0. sumf2= 0. do ipr = 1, ngn(ngs(10)+igc) iprsm = iprsm + 1 sumf1= sumf1+ fracrefao(iprsm) sumf2= sumf2+ fracrefbo(iprsm) enddo fracrefa(igc) = sumf1 fracrefb(igc) = sumf2 enddo end subroutine cmbgb11 !*************************************************************************** subroutine cmbgb12 !*************************************************************************** ! ! band 12: 1800-2080 cm-1 (low - h2o,co2; high - nothing) ! ! old band 12: 1800-2080 cm-1 (low - h2o,co2; high - nothing) !*************************************************************************** use parrrtm, only : mg, nbndlw, ngptlw, ng12 use rrlw_kg12, only: fracrefao, kao, selfrefo, forrefo, & fracrefa, absa, ka, selfref, forref ! ------- Local ------- integer(kind=im) :: jn, jt, jp, igc, ipr, iprsm real(kind=rb) :: sumk, sumf do jn = 1,9 do jt = 1,5 do jp = 1,13 iprsm = 0 do igc = 1,ngc(12) sumk = 0. do ipr = 1, ngn(ngs(11)+igc) iprsm = iprsm + 1 sumk = sumk + kao(jn,jt,jp,iprsm)*rwgt(iprsm+176) enddo ka(jn,jt,jp,igc) = sumk enddo enddo enddo enddo do jt = 1,10 iprsm = 0 do igc = 1,ngc(12) sumk = 0. do ipr = 1, ngn(ngs(11)+igc) iprsm = iprsm + 1 sumk = sumk + selfrefo(jt,iprsm)*rwgt(iprsm+176) enddo selfref(jt,igc) = sumk enddo enddo do jt = 1,4 iprsm = 0 do igc = 1,ngc(12) sumk = 0. do ipr = 1, ngn(ngs(11)+igc) iprsm = iprsm + 1 sumk = sumk + forrefo(jt,iprsm)*rwgt(iprsm+176) enddo forref(jt,igc) = sumk enddo enddo do jp = 1,9 iprsm = 0 do igc = 1,ngc(12) sumf = 0. do ipr = 1, ngn(ngs(11)+igc) iprsm = iprsm + 1 sumf = sumf + fracrefao(iprsm,jp) enddo fracrefa(igc,jp) = sumf enddo enddo end subroutine cmbgb12 !*************************************************************************** subroutine cmbgb13 !*************************************************************************** ! ! band 13: 2080-2250 cm-1 (low key - h2o,n2o; high minor - o3 minor) ! ! old band 13: 2080-2250 cm-1 (low - h2o,n2o; high - nothing) !*************************************************************************** use parrrtm, only : mg, nbndlw, ngptlw, ng13 use rrlw_kg13, only: fracrefao, fracrefbo, kao, kao_mco2, kao_mco, & kbo_mo3, selfrefo, forrefo, & fracrefa, fracrefb, absa, ka, ka_mco2, ka_mco, & kb_mo3, selfref, forref ! ------- Local ------- integer(kind=im) :: jn, jt, jp, igc, ipr, iprsm real(kind=rb) :: sumk, sumk1, sumk2, sumf do jn = 1,9 do jt = 1,5 do jp = 1,13 iprsm = 0 do igc = 1,ngc(13) sumk = 0. do ipr = 1, ngn(ngs(12)+igc) iprsm = iprsm + 1 sumk = sumk + kao(jn,jt,jp,iprsm)*rwgt(iprsm+192) enddo ka(jn,jt,jp,igc) = sumk enddo enddo enddo enddo do jn = 1,9 do jt = 1,19 iprsm = 0 do igc = 1,ngc(13) sumk1 = 0. sumk2 = 0. do ipr = 1, ngn(ngs(12)+igc) iprsm = iprsm + 1 sumk1 = sumk1 + kao_mco2(jn,jt,iprsm)*rwgt(iprsm+192) sumk2 = sumk2 + kao_mco(jn,jt,iprsm)*rwgt(iprsm+192) enddo ka_mco2(jn,jt,igc) = sumk1 ka_mco(jn,jt,igc) = sumk2 enddo enddo enddo do jt = 1,19 iprsm = 0 do igc = 1,ngc(13) sumk = 0. do ipr = 1, ngn(ngs(12)+igc) iprsm = iprsm + 1 sumk = sumk + kbo_mo3(jt,iprsm)*rwgt(iprsm+192) enddo kb_mo3(jt,igc) = sumk enddo enddo do jt = 1,10 iprsm = 0 do igc = 1,ngc(13) sumk = 0. do ipr = 1, ngn(ngs(12)+igc) iprsm = iprsm + 1 sumk = sumk + selfrefo(jt,iprsm)*rwgt(iprsm+192) enddo selfref(jt,igc) = sumk enddo enddo do jt = 1,4 iprsm = 0 do igc = 1,ngc(13) sumk = 0. do ipr = 1, ngn(ngs(12)+igc) iprsm = iprsm + 1 sumk = sumk + forrefo(jt,iprsm)*rwgt(iprsm+192) enddo forref(jt,igc) = sumk enddo enddo iprsm = 0 do igc = 1,ngc(13) sumf = 0. do ipr = 1, ngn(ngs(12)+igc) iprsm = iprsm + 1 sumf = sumf + fracrefbo(iprsm) enddo fracrefb(igc) = sumf enddo do jp = 1,9 iprsm = 0 do igc = 1,ngc(13) sumf = 0. do ipr = 1, ngn(ngs(12)+igc) iprsm = iprsm + 1 sumf = sumf + fracrefao(iprsm,jp) enddo fracrefa(igc,jp) = sumf enddo enddo end subroutine cmbgb13 !*************************************************************************** subroutine cmbgb14 !*************************************************************************** ! ! band 14: 2250-2380 cm-1 (low - co2; high - co2) ! ! old band 14: 2250-2380 cm-1 (low - co2; high - co2) !*************************************************************************** use parrrtm, only : mg, nbndlw, ngptlw, ng14 use rrlw_kg14, only: fracrefao, fracrefbo, kao, kbo, & selfrefo, forrefo, & fracrefa, fracrefb, absa, ka, absb, kb, & selfref, forref ! ------- Local ------- integer(kind=im) :: jt, jp, igc, ipr, iprsm real(kind=rb) :: sumk, sumf1, sumf2 do jt = 1,5 do jp = 1,13 iprsm = 0 do igc = 1,ngc(14) sumk = 0. do ipr = 1, ngn(ngs(13)+igc) iprsm = iprsm + 1 sumk = sumk + kao(jt,jp,iprsm)*rwgt(iprsm+208) enddo ka(jt,jp,igc) = sumk enddo enddo enddo do jt = 1,5 do jp = 13,59 iprsm = 0 do igc = 1,ngc(14) sumk = 0. do ipr = 1, ngn(ngs(13)+igc) iprsm = iprsm + 1 sumk = sumk + kbo(jt,jp,iprsm)*rwgt(iprsm+208) enddo kb(jt,jp,igc) = sumk enddo enddo enddo do jt = 1,10 iprsm = 0 do igc = 1,ngc(14) sumk = 0. do ipr = 1, ngn(ngs(13)+igc) iprsm = iprsm + 1 sumk = sumk + selfrefo(jt,iprsm)*rwgt(iprsm+208) enddo selfref(jt,igc) = sumk enddo enddo do jt = 1,4 iprsm = 0 do igc = 1,ngc(14) sumk = 0. do ipr = 1, ngn(ngs(13)+igc) iprsm = iprsm + 1 sumk = sumk + forrefo(jt,iprsm)*rwgt(iprsm+208) enddo forref(jt,igc) = sumk enddo enddo iprsm = 0 do igc = 1,ngc(14) sumf1= 0. sumf2= 0. do ipr = 1, ngn(ngs(13)+igc) iprsm = iprsm + 1 sumf1= sumf1+ fracrefao(iprsm) sumf2= sumf2+ fracrefbo(iprsm) enddo fracrefa(igc) = sumf1 fracrefb(igc) = sumf2 enddo end subroutine cmbgb14 !*************************************************************************** subroutine cmbgb15 !*************************************************************************** ! ! band 15: 2380-2600 cm-1 (low - n2o,co2; low minor - n2) ! (high - nothing) ! ! old band 15: 2380-2600 cm-1 (low - n2o,co2; high - nothing) !*************************************************************************** use parrrtm, only : mg, nbndlw, ngptlw, ng15 use rrlw_kg15, only: fracrefao, kao, kao_mn2, selfrefo, forrefo, & fracrefa, absa, ka, ka_mn2, selfref, forref ! ------- Local ------- integer(kind=im) :: jn, jt, jp, igc, ipr, iprsm real(kind=rb) :: sumk, sumf do jn = 1,9 do jt = 1,5 do jp = 1,13 iprsm = 0 do igc = 1,ngc(15) sumk = 0. do ipr = 1, ngn(ngs(14)+igc) iprsm = iprsm + 1 sumk = sumk + kao(jn,jt,jp,iprsm)*rwgt(iprsm+224) enddo ka(jn,jt,jp,igc) = sumk enddo enddo enddo enddo do jn = 1,9 do jt = 1,19 iprsm = 0 do igc = 1,ngc(15) sumk = 0. do ipr = 1, ngn(ngs(14)+igc) iprsm = iprsm + 1 sumk = sumk + kao_mn2(jn,jt,iprsm)*rwgt(iprsm+224) enddo ka_mn2(jn,jt,igc) = sumk enddo enddo enddo do jt = 1,10 iprsm = 0 do igc = 1,ngc(15) sumk = 0. do ipr = 1, ngn(ngs(14)+igc) iprsm = iprsm + 1 sumk = sumk + selfrefo(jt,iprsm)*rwgt(iprsm+224) enddo selfref(jt,igc) = sumk enddo enddo do jt = 1,4 iprsm = 0 do igc = 1,ngc(15) sumk = 0. do ipr = 1, ngn(ngs(14)+igc) iprsm = iprsm + 1 sumk = sumk + forrefo(jt,iprsm)*rwgt(iprsm+224) enddo forref(jt,igc) = sumk enddo enddo do jp = 1,9 iprsm = 0 do igc = 1,ngc(15) sumf = 0. do ipr = 1, ngn(ngs(14)+igc) iprsm = iprsm + 1 sumf = sumf + fracrefao(iprsm,jp) enddo fracrefa(igc,jp) = sumf enddo enddo end subroutine cmbgb15 !*************************************************************************** subroutine cmbgb16 !*************************************************************************** ! ! band 16: 2600-3250 cm-1 (low key- h2o,ch4; high key - ch4) ! ! old band 16: 2600-3000 cm-1 (low - h2o,ch4; high - nothing) !*************************************************************************** use parrrtm, only : mg, nbndlw, ngptlw, ng16 use rrlw_kg16, only: fracrefao, fracrefbo, kao, kbo, selfrefo, forrefo, & fracrefa, fracrefb, absa, ka, absb, kb, selfref, forref ! ------- Local ------- integer(kind=im) :: jn, jt, jp, igc, ipr, iprsm real(kind=rb) :: sumk, sumf do jn = 1,9 do jt = 1,5 do jp = 1,13 iprsm = 0 do igc = 1,ngc(16) sumk = 0. do ipr = 1, ngn(ngs(15)+igc) iprsm = iprsm + 1 sumk = sumk + kao(jn,jt,jp,iprsm)*rwgt(iprsm+240) enddo ka(jn,jt,jp,igc) = sumk enddo enddo enddo enddo do jt = 1,5 do jp = 13,59 iprsm = 0 do igc = 1,ngc(16) sumk = 0. do ipr = 1, ngn(ngs(15)+igc) iprsm = iprsm + 1 sumk = sumk + kbo(jt,jp,iprsm)*rwgt(iprsm+240) enddo kb(jt,jp,igc) = sumk enddo enddo enddo do jt = 1,10 iprsm = 0 do igc = 1,ngc(16) sumk = 0. do ipr = 1, ngn(ngs(15)+igc) iprsm = iprsm + 1 sumk = sumk + selfrefo(jt,iprsm)*rwgt(iprsm+240) enddo selfref(jt,igc) = sumk enddo enddo do jt = 1,4 iprsm = 0 do igc = 1,ngc(16) sumk = 0. do ipr = 1, ngn(ngs(15)+igc) iprsm = iprsm + 1 sumk = sumk + forrefo(jt,iprsm)*rwgt(iprsm+240) enddo forref(jt,igc) = sumk enddo enddo iprsm = 0 do igc = 1,ngc(16) sumf = 0. do ipr = 1, ngn(ngs(15)+igc) iprsm = iprsm + 1 sumf = sumf + fracrefbo(iprsm) enddo fracrefb(igc) = sumf enddo do jp = 1,9 iprsm = 0 do igc = 1,ngc(16) sumf = 0. do ipr = 1, ngn(ngs(15)+igc) iprsm = iprsm + 1 sumf = sumf + fracrefao(iprsm,jp) enddo fracrefa(igc,jp) = sumf enddo enddo end subroutine cmbgb16 !*************************************************************************** subroutine lwcldpr !*************************************************************************** ! --------- Modules ---------- use rrlw_cld, only: abscld1, absliq0, absliq1, & absice0, absice1, absice2, absice3 save ! ABSCLDn is the liquid water absorption coefficient (m2/g). ! For INFLAG = 1. abscld1 = 0.0602410_rb ! ! Everything below is for INFLAG = 2. ! ABSICEn(J,IB) are the parameters needed to compute the liquid water ! absorption coefficient in spectral region IB for ICEFLAG=n. The units ! of ABSICEn(1,IB) are m2/g and ABSICEn(2,IB) has units (microns (m2/g)). ! For ICEFLAG = 0. absice0(:)= (/0.005_rb, 1.0_rb/) ! For ICEFLAG = 1. absice1(1,:) = (/0.0036_rb, 0.0068_rb, 0.0003_rb, 0.0016_rb, 0.0020_rb/) absice1(2,:) = (/1.136_rb , 0.600_rb , 1.338_rb , 1.166_rb , 1.118_rb /) ! For ICEFLAG = 2. In each band, the absorption ! coefficients are listed for a range of effective radii from 5.0 ! to 131.0 microns in increments of 3.0 microns. ! Spherical Ice Particle Parameterization ! absorption units (abs coef/iwc): [(m^-1)/(g m^-3)] absice2(:,1) = (/ & ! band 1 7.798999e-02_rb,6.340479e-02_rb,5.417973e-02_rb,4.766245e-02_rb,4.272663e-02_rb, & 3.880939e-02_rb,3.559544e-02_rb,3.289241e-02_rb,3.057511e-02_rb,2.855800e-02_rb, & 2.678022e-02_rb,2.519712e-02_rb,2.377505e-02_rb,2.248806e-02_rb,2.131578e-02_rb, & 2.024194e-02_rb,1.925337e-02_rb,1.833926e-02_rb,1.749067e-02_rb,1.670007e-02_rb, & 1.596113e-02_rb,1.526845e-02_rb,1.461739e-02_rb,1.400394e-02_rb,1.342462e-02_rb, & 1.287639e-02_rb,1.235656e-02_rb,1.186279e-02_rb,1.139297e-02_rb,1.094524e-02_rb, & 1.051794e-02_rb,1.010956e-02_rb,9.718755e-03_rb,9.344316e-03_rb,8.985139e-03_rb, & 8.640223e-03_rb,8.308656e-03_rb,7.989606e-03_rb,7.682312e-03_rb,7.386076e-03_rb, & 7.100255e-03_rb,6.824258e-03_rb,6.557540e-03_rb/) absice2(:,2) = (/ & ! band 2 2.784879e-02_rb,2.709863e-02_rb,2.619165e-02_rb,2.529230e-02_rb,2.443225e-02_rb, & 2.361575e-02_rb,2.284021e-02_rb,2.210150e-02_rb,2.139548e-02_rb,2.071840e-02_rb, & 2.006702e-02_rb,1.943856e-02_rb,1.883064e-02_rb,1.824120e-02_rb,1.766849e-02_rb, & 1.711099e-02_rb,1.656737e-02_rb,1.603647e-02_rb,1.551727e-02_rb,1.500886e-02_rb, & 1.451045e-02_rb,1.402132e-02_rb,1.354084e-02_rb,1.306842e-02_rb,1.260355e-02_rb, & 1.214575e-02_rb,1.169460e-02_rb,1.124971e-02_rb,1.081072e-02_rb,1.037731e-02_rb, & 9.949167e-03_rb,9.526021e-03_rb,9.107615e-03_rb,8.693714e-03_rb,8.284096e-03_rb, & 7.878558e-03_rb,7.476910e-03_rb,7.078974e-03_rb,6.684586e-03_rb,6.293589e-03_rb, & 5.905839e-03_rb,5.521200e-03_rb,5.139543e-03_rb/) absice2(:,3) = (/ & ! band 3 1.065397e-01_rb,8.005726e-02_rb,6.546428e-02_rb,5.589131e-02_rb,4.898681e-02_rb, & 4.369932e-02_rb,3.947901e-02_rb,3.600676e-02_rb,3.308299e-02_rb,3.057561e-02_rb, & 2.839325e-02_rb,2.647040e-02_rb,2.475872e-02_rb,2.322164e-02_rb,2.183091e-02_rb, & 2.056430e-02_rb,1.940407e-02_rb,1.833586e-02_rb,1.734787e-02_rb,1.643034e-02_rb, & 1.557512e-02_rb,1.477530e-02_rb,1.402501e-02_rb,1.331924e-02_rb,1.265364e-02_rb, & 1.202445e-02_rb,1.142838e-02_rb,1.086257e-02_rb,1.032445e-02_rb,9.811791e-03_rb, & 9.322587e-03_rb,8.855053e-03_rb,8.407591e-03_rb,7.978763e-03_rb,7.567273e-03_rb, & 7.171949e-03_rb,6.791728e-03_rb,6.425642e-03_rb,6.072809e-03_rb,5.732424e-03_rb, & 5.403748e-03_rb,5.086103e-03_rb,4.778865e-03_rb/) absice2(:,4) = (/ & ! band 4 1.804566e-01_rb,1.168987e-01_rb,8.680442e-02_rb,6.910060e-02_rb,5.738174e-02_rb, & 4.902332e-02_rb,4.274585e-02_rb,3.784923e-02_rb,3.391734e-02_rb,3.068690e-02_rb, & 2.798301e-02_rb,2.568480e-02_rb,2.370600e-02_rb,2.198337e-02_rb,2.046940e-02_rb, & 1.912777e-02_rb,1.793016e-02_rb,1.685420e-02_rb,1.588193e-02_rb,1.499882e-02_rb, & 1.419293e-02_rb,1.345440e-02_rb,1.277496e-02_rb,1.214769e-02_rb,1.156669e-02_rb, & 1.102694e-02_rb,1.052412e-02_rb,1.005451e-02_rb,9.614854e-03_rb,9.202335e-03_rb, & 8.814470e-03_rb,8.449077e-03_rb,8.104223e-03_rb,7.778195e-03_rb,7.469466e-03_rb, & 7.176671e-03_rb,6.898588e-03_rb,6.634117e-03_rb,6.382264e-03_rb,6.142134e-03_rb, & 5.912913e-03_rb,5.693862e-03_rb,5.484308e-03_rb/) absice2(:,5) = (/ & ! band 5 2.131806e-01_rb,1.311372e-01_rb,9.407171e-02_rb,7.299442e-02_rb,5.941273e-02_rb, & 4.994043e-02_rb,4.296242e-02_rb,3.761113e-02_rb,3.337910e-02_rb,2.994978e-02_rb, & 2.711556e-02_rb,2.473461e-02_rb,2.270681e-02_rb,2.095943e-02_rb,1.943839e-02_rb, & 1.810267e-02_rb,1.692057e-02_rb,1.586719e-02_rb,1.492275e-02_rb,1.407132e-02_rb, & 1.329989e-02_rb,1.259780e-02_rb,1.195618e-02_rb,1.136761e-02_rb,1.082583e-02_rb, & 1.032552e-02_rb,9.862158e-03_rb,9.431827e-03_rb,9.031157e-03_rb,8.657217e-03_rb, & 8.307449e-03_rb,7.979609e-03_rb,7.671724e-03_rb,7.382048e-03_rb,7.109032e-03_rb, & 6.851298e-03_rb,6.607615e-03_rb,6.376881e-03_rb,6.158105e-03_rb,5.950394e-03_rb, & 5.752942e-03_rb,5.565019e-03_rb,5.385963e-03_rb/) absice2(:,6) = (/ & ! band 6 1.546177e-01_rb,1.039251e-01_rb,7.910347e-02_rb,6.412429e-02_rb,5.399997e-02_rb, & 4.664937e-02_rb,4.104237e-02_rb,3.660781e-02_rb,3.300218e-02_rb,3.000586e-02_rb, & 2.747148e-02_rb,2.529633e-02_rb,2.340647e-02_rb,2.174723e-02_rb,2.027731e-02_rb, & 1.896487e-02_rb,1.778492e-02_rb,1.671761e-02_rb,1.574692e-02_rb,1.485978e-02_rb, & 1.404543e-02_rb,1.329489e-02_rb,1.260066e-02_rb,1.195636e-02_rb,1.135657e-02_rb, & 1.079664e-02_rb,1.027257e-02_rb,9.780871e-03_rb,9.318505e-03_rb,8.882815e-03_rb, & 8.471458e-03_rb,8.082364e-03_rb,7.713696e-03_rb,7.363817e-03_rb,7.031264e-03_rb, & 6.714725e-03_rb,6.413021e-03_rb,6.125086e-03_rb,5.849958e-03_rb,5.586764e-03_rb, & 5.334707e-03_rb,5.093066e-03_rb,4.861179e-03_rb/) absice2(:,7) = (/ & ! band 7 7.583404e-02_rb,6.181558e-02_rb,5.312027e-02_rb,4.696039e-02_rb,4.225986e-02_rb, & 3.849735e-02_rb,3.538340e-02_rb,3.274182e-02_rb,3.045798e-02_rb,2.845343e-02_rb, & 2.667231e-02_rb,2.507353e-02_rb,2.362606e-02_rb,2.230595e-02_rb,2.109435e-02_rb, & 1.997617e-02_rb,1.893916e-02_rb,1.797328e-02_rb,1.707016e-02_rb,1.622279e-02_rb, & 1.542523e-02_rb,1.467241e-02_rb,1.395997e-02_rb,1.328414e-02_rb,1.264164e-02_rb, & 1.202958e-02_rb,1.144544e-02_rb,1.088697e-02_rb,1.035218e-02_rb,9.839297e-03_rb, & 9.346733e-03_rb,8.873057e-03_rb,8.416980e-03_rb,7.977335e-03_rb,7.553066e-03_rb, & 7.143210e-03_rb,6.746888e-03_rb,6.363297e-03_rb,5.991700e-03_rb,5.631422e-03_rb, & 5.281840e-03_rb,4.942378e-03_rb,4.612505e-03_rb/) absice2(:,8) = (/ & ! band 8 9.022185e-02_rb,6.922700e-02_rb,5.710674e-02_rb,4.898377e-02_rb,4.305946e-02_rb, & 3.849553e-02_rb,3.484183e-02_rb,3.183220e-02_rb,2.929794e-02_rb,2.712627e-02_rb, & 2.523856e-02_rb,2.357810e-02_rb,2.210286e-02_rb,2.078089e-02_rb,1.958747e-02_rb, & 1.850310e-02_rb,1.751218e-02_rb,1.660205e-02_rb,1.576232e-02_rb,1.498440e-02_rb, & 1.426107e-02_rb,1.358624e-02_rb,1.295474e-02_rb,1.236212e-02_rb,1.180456e-02_rb, & 1.127874e-02_rb,1.078175e-02_rb,1.031106e-02_rb,9.864433e-03_rb,9.439878e-03_rb, & 9.035637e-03_rb,8.650140e-03_rb,8.281981e-03_rb,7.929895e-03_rb,7.592746e-03_rb, & 7.269505e-03_rb,6.959238e-03_rb,6.661100e-03_rb,6.374317e-03_rb,6.098185e-03_rb, & 5.832059e-03_rb,5.575347e-03_rb,5.327504e-03_rb/) absice2(:,9) = (/ & ! band 9 1.294087e-01_rb,8.788217e-02_rb,6.728288e-02_rb,5.479720e-02_rb,4.635049e-02_rb, & 4.022253e-02_rb,3.555576e-02_rb,3.187259e-02_rb,2.888498e-02_rb,2.640843e-02_rb, & 2.431904e-02_rb,2.253038e-02_rb,2.098024e-02_rb,1.962267e-02_rb,1.842293e-02_rb, & 1.735426e-02_rb,1.639571e-02_rb,1.553060e-02_rb,1.474552e-02_rb,1.402953e-02_rb, & 1.337363e-02_rb,1.277033e-02_rb,1.221336e-02_rb,1.169741e-02_rb,1.121797e-02_rb, & 1.077117e-02_rb,1.035369e-02_rb,9.962643e-03_rb,9.595509e-03_rb,9.250088e-03_rb, & 8.924447e-03_rb,8.616876e-03_rb,8.325862e-03_rb,8.050057e-03_rb,7.788258e-03_rb, & 7.539388e-03_rb,7.302478e-03_rb,7.076656e-03_rb,6.861134e-03_rb,6.655197e-03_rb, & 6.458197e-03_rb,6.269543e-03_rb,6.088697e-03_rb/) absice2(:,10) = (/ & ! band 10 1.593628e-01_rb,1.014552e-01_rb,7.458955e-02_rb,5.903571e-02_rb,4.887582e-02_rb, & 4.171159e-02_rb,3.638480e-02_rb,3.226692e-02_rb,2.898717e-02_rb,2.631256e-02_rb, & 2.408925e-02_rb,2.221156e-02_rb,2.060448e-02_rb,1.921325e-02_rb,1.799699e-02_rb, & 1.692456e-02_rb,1.597177e-02_rb,1.511961e-02_rb,1.435289e-02_rb,1.365933e-02_rb, & 1.302890e-02_rb,1.245334e-02_rb,1.192576e-02_rb,1.144037e-02_rb,1.099230e-02_rb, & 1.057739e-02_rb,1.019208e-02_rb,9.833302e-03_rb,9.498395e-03_rb,9.185047e-03_rb, & 8.891237e-03_rb,8.615185e-03_rb,8.355325e-03_rb,8.110267e-03_rb,7.878778e-03_rb, & 7.659759e-03_rb,7.452224e-03_rb,7.255291e-03_rb,7.068166e-03_rb,6.890130e-03_rb, & 6.720536e-03_rb,6.558794e-03_rb,6.404371e-03_rb/) absice2(:,11) = (/ & ! band 11 1.656227e-01_rb,1.032129e-01_rb,7.487359e-02_rb,5.871431e-02_rb,4.828355e-02_rb, & 4.099989e-02_rb,3.562924e-02_rb,3.150755e-02_rb,2.824593e-02_rb,2.560156e-02_rb, & 2.341503e-02_rb,2.157740e-02_rb,2.001169e-02_rb,1.866199e-02_rb,1.748669e-02_rb, & 1.645421e-02_rb,1.554015e-02_rb,1.472535e-02_rb,1.399457e-02_rb,1.333553e-02_rb, & 1.273821e-02_rb,1.219440e-02_rb,1.169725e-02_rb,1.124104e-02_rb,1.082096e-02_rb, & 1.043290e-02_rb,1.007336e-02_rb,9.739338e-03_rb,9.428223e-03_rb,9.137756e-03_rb, & 8.865964e-03_rb,8.611115e-03_rb,8.371686e-03_rb,8.146330e-03_rb,7.933852e-03_rb, & 7.733187e-03_rb,7.543386e-03_rb,7.363597e-03_rb,7.193056e-03_rb,7.031072e-03_rb, & 6.877024e-03_rb,6.730348e-03_rb,6.590531e-03_rb/) absice2(:,12) = (/ & ! band 12 9.194591e-02_rb,6.446867e-02_rb,4.962034e-02_rb,4.042061e-02_rb,3.418456e-02_rb, & 2.968856e-02_rb,2.629900e-02_rb,2.365572e-02_rb,2.153915e-02_rb,1.980791e-02_rb, & 1.836689e-02_rb,1.714979e-02_rb,1.610900e-02_rb,1.520946e-02_rb,1.442476e-02_rb, & 1.373468e-02_rb,1.312345e-02_rb,1.257858e-02_rb,1.209010e-02_rb,1.164990e-02_rb, & 1.125136e-02_rb,1.088901e-02_rb,1.055827e-02_rb,1.025531e-02_rb,9.976896e-03_rb, & 9.720255e-03_rb,9.483022e-03_rb,9.263160e-03_rb,9.058902e-03_rb,8.868710e-03_rb, & 8.691240e-03_rb,8.525312e-03_rb,8.369886e-03_rb,8.224042e-03_rb,8.086961e-03_rb, & 7.957917e-03_rb,7.836258e-03_rb,7.721400e-03_rb,7.612821e-03_rb,7.510045e-03_rb, & 7.412648e-03_rb,7.320242e-03_rb,7.232476e-03_rb/) absice2(:,13) = (/ & ! band 13 1.437021e-01_rb,8.872535e-02_rb,6.392420e-02_rb,4.991833e-02_rb,4.096790e-02_rb, & 3.477881e-02_rb,3.025782e-02_rb,2.681909e-02_rb,2.412102e-02_rb,2.195132e-02_rb, & 2.017124e-02_rb,1.868641e-02_rb,1.743044e-02_rb,1.635529e-02_rb,1.542540e-02_rb, & 1.461388e-02_rb,1.390003e-02_rb,1.326766e-02_rb,1.270395e-02_rb,1.219860e-02_rb, & 1.174326e-02_rb,1.133107e-02_rb,1.095637e-02_rb,1.061442e-02_rb,1.030126e-02_rb, & 1.001352e-02_rb,9.748340e-03_rb,9.503256e-03_rb,9.276155e-03_rb,9.065205e-03_rb, & 8.868808e-03_rb,8.685571e-03_rb,8.514268e-03_rb,8.353820e-03_rb,8.203272e-03_rb, & 8.061776e-03_rb,7.928578e-03_rb,7.803001e-03_rb,7.684443e-03_rb,7.572358e-03_rb, & 7.466258e-03_rb,7.365701e-03_rb,7.270286e-03_rb/) absice2(:,14) = (/ & ! band 14 1.288870e-01_rb,8.160295e-02_rb,5.964745e-02_rb,4.703790e-02_rb,3.888637e-02_rb, & 3.320115e-02_rb,2.902017e-02_rb,2.582259e-02_rb,2.330224e-02_rb,2.126754e-02_rb, & 1.959258e-02_rb,1.819130e-02_rb,1.700289e-02_rb,1.598320e-02_rb,1.509942e-02_rb, & 1.432666e-02_rb,1.364572e-02_rb,1.304156e-02_rb,1.250220e-02_rb,1.201803e-02_rb, & 1.158123e-02_rb,1.118537e-02_rb,1.082513e-02_rb,1.049605e-02_rb,1.019440e-02_rb, & 9.916989e-03_rb,9.661116e-03_rb,9.424457e-03_rb,9.205005e-03_rb,9.001022e-03_rb, & 8.810992e-03_rb,8.633588e-03_rb,8.467646e-03_rb,8.312137e-03_rb,8.166151e-03_rb, & 8.028878e-03_rb,7.899597e-03_rb,7.777663e-03_rb,7.662498e-03_rb,7.553581e-03_rb, & 7.450444e-03_rb,7.352662e-03_rb,7.259851e-03_rb/) absice2(:,15) = (/ & ! band 15 8.254229e-02_rb,5.808787e-02_rb,4.492166e-02_rb,3.675028e-02_rb,3.119623e-02_rb, & 2.718045e-02_rb,2.414450e-02_rb,2.177073e-02_rb,1.986526e-02_rb,1.830306e-02_rb, & 1.699991e-02_rb,1.589698e-02_rb,1.495199e-02_rb,1.413374e-02_rb,1.341870e-02_rb, & 1.278883e-02_rb,1.223002e-02_rb,1.173114e-02_rb,1.128322e-02_rb,1.087900e-02_rb, & 1.051254e-02_rb,1.017890e-02_rb,9.873991e-03_rb,9.594347e-03_rb,9.337044e-03_rb, & 9.099589e-03_rb,8.879842e-03_rb,8.675960e-03_rb,8.486341e-03_rb,8.309594e-03_rb, & 8.144500e-03_rb,7.989986e-03_rb,7.845109e-03_rb,7.709031e-03_rb,7.581007e-03_rb, & 7.460376e-03_rb,7.346544e-03_rb,7.238978e-03_rb,7.137201e-03_rb,7.040780e-03_rb, & 6.949325e-03_rb,6.862483e-03_rb,6.779931e-03_rb/) absice2(:,16) = (/ & ! band 16 1.382062e-01_rb,8.643227e-02_rb,6.282935e-02_rb,4.934783e-02_rb,4.063891e-02_rb, & 3.455591e-02_rb,3.007059e-02_rb,2.662897e-02_rb,2.390631e-02_rb,2.169972e-02_rb, & 1.987596e-02_rb,1.834393e-02_rb,1.703924e-02_rb,1.591513e-02_rb,1.493679e-02_rb, & 1.407780e-02_rb,1.331775e-02_rb,1.264061e-02_rb,1.203364e-02_rb,1.148655e-02_rb, & 1.099099e-02_rb,1.054006e-02_rb,1.012807e-02_rb,9.750215e-03_rb,9.402477e-03_rb, & 9.081428e-03_rb,8.784143e-03_rb,8.508107e-03_rb,8.251146e-03_rb,8.011373e-03_rb, & 7.787140e-03_rb,7.577002e-03_rb,7.379687e-03_rb,7.194071e-03_rb,7.019158e-03_rb, & 6.854061e-03_rb,6.697986e-03_rb,6.550224e-03_rb,6.410138e-03_rb,6.277153e-03_rb, & 6.150751e-03_rb,6.030462e-03_rb,5.915860e-03_rb/) ! ICEFLAG = 3; Fu parameterization. Particle size 5 - 140 micron in ! increments of 3 microns. ! units = m2/g ! Hexagonal Ice Particle Parameterization ! absorption units (abs coef/iwc): [(m^-1)/(g m^-3)] absice3(:,1) = (/ & ! band 1 3.110649e-03_rb,4.666352e-02_rb,6.606447e-02_rb,6.531678e-02_rb,6.012598e-02_rb, & 5.437494e-02_rb,4.906411e-02_rb,4.441146e-02_rb,4.040585e-02_rb,3.697334e-02_rb, & 3.403027e-02_rb,3.149979e-02_rb,2.931596e-02_rb,2.742365e-02_rb,2.577721e-02_rb, & 2.433888e-02_rb,2.307732e-02_rb,2.196644e-02_rb,2.098437e-02_rb,2.011264e-02_rb, & 1.933561e-02_rb,1.863992e-02_rb,1.801407e-02_rb,1.744812e-02_rb,1.693346e-02_rb, & 1.646252e-02_rb,1.602866e-02_rb,1.562600e-02_rb,1.524933e-02_rb,1.489399e-02_rb, & 1.455580e-02_rb,1.423098e-02_rb,1.391612e-02_rb,1.360812e-02_rb,1.330413e-02_rb, & 1.300156e-02_rb,1.269801e-02_rb,1.239127e-02_rb,1.207928e-02_rb,1.176014e-02_rb, & 1.143204e-02_rb,1.109334e-02_rb,1.074243e-02_rb,1.037786e-02_rb,9.998198e-03_rb, & 9.602126e-03_rb/) absice3(:,2) = (/ & ! band 2 3.984966e-04_rb,1.681097e-02_rb,2.627680e-02_rb,2.767465e-02_rb,2.700722e-02_rb, & 2.579180e-02_rb,2.448677e-02_rb,2.323890e-02_rb,2.209096e-02_rb,2.104882e-02_rb, & 2.010547e-02_rb,1.925003e-02_rb,1.847128e-02_rb,1.775883e-02_rb,1.710358e-02_rb, & 1.649769e-02_rb,1.593449e-02_rb,1.540829e-02_rb,1.491429e-02_rb,1.444837e-02_rb, & 1.400704e-02_rb,1.358729e-02_rb,1.318654e-02_rb,1.280258e-02_rb,1.243346e-02_rb, & 1.207750e-02_rb,1.173325e-02_rb,1.139941e-02_rb,1.107487e-02_rb,1.075861e-02_rb, & 1.044975e-02_rb,1.014753e-02_rb,9.851229e-03_rb,9.560240e-03_rb,9.274003e-03_rb, & 8.992020e-03_rb,8.713845e-03_rb,8.439074e-03_rb,8.167346e-03_rb,7.898331e-03_rb, & 7.631734e-03_rb,7.367286e-03_rb,7.104742e-03_rb,6.843882e-03_rb,6.584504e-03_rb, & 6.326424e-03_rb/) absice3(:,3) = (/ & ! band 3 6.933163e-02_rb,8.540475e-02_rb,7.701816e-02_rb,6.771158e-02_rb,5.986953e-02_rb, & 5.348120e-02_rb,4.824962e-02_rb,4.390563e-02_rb,4.024411e-02_rb,3.711404e-02_rb, & 3.440426e-02_rb,3.203200e-02_rb,2.993478e-02_rb,2.806474e-02_rb,2.638464e-02_rb, & 2.486516e-02_rb,2.348288e-02_rb,2.221890e-02_rb,2.105780e-02_rb,1.998687e-02_rb, & 1.899552e-02_rb,1.807490e-02_rb,1.721750e-02_rb,1.641693e-02_rb,1.566773e-02_rb, & 1.496515e-02_rb,1.430509e-02_rb,1.368398e-02_rb,1.309865e-02_rb,1.254634e-02_rb, & 1.202456e-02_rb,1.153114e-02_rb,1.106409e-02_rb,1.062166e-02_rb,1.020224e-02_rb, & 9.804381e-03_rb,9.426771e-03_rb,9.068205e-03_rb,8.727578e-03_rb,8.403876e-03_rb, & 8.096160e-03_rb,7.803564e-03_rb,7.525281e-03_rb,7.260560e-03_rb,7.008697e-03_rb, & 6.769036e-03_rb/) absice3(:,4) = (/ & ! band 4 1.765735e-01_rb,1.382700e-01_rb,1.095129e-01_rb,8.987475e-02_rb,7.591185e-02_rb, & 6.554169e-02_rb,5.755500e-02_rb,5.122083e-02_rb,4.607610e-02_rb,4.181475e-02_rb, & 3.822697e-02_rb,3.516432e-02_rb,3.251897e-02_rb,3.021073e-02_rb,2.817876e-02_rb, & 2.637607e-02_rb,2.476582e-02_rb,2.331871e-02_rb,2.201113e-02_rb,2.082388e-02_rb, & 1.974115e-02_rb,1.874983e-02_rb,1.783894e-02_rb,1.699922e-02_rb,1.622280e-02_rb, & 1.550296e-02_rb,1.483390e-02_rb,1.421064e-02_rb,1.362880e-02_rb,1.308460e-02_rb, & 1.257468e-02_rb,1.209611e-02_rb,1.164628e-02_rb,1.122287e-02_rb,1.082381e-02_rb, & 1.044725e-02_rb,1.009154e-02_rb,9.755166e-03_rb,9.436783e-03_rb,9.135163e-03_rb, & 8.849193e-03_rb,8.577856e-03_rb,8.320225e-03_rb,8.075451e-03_rb,7.842755e-03_rb, & 7.621418e-03_rb/) absice3(:,5) = (/ & ! band 5 2.339673e-01_rb,1.692124e-01_rb,1.291656e-01_rb,1.033837e-01_rb,8.562949e-02_rb, & 7.273526e-02_rb,6.298262e-02_rb,5.537015e-02_rb,4.927787e-02_rb,4.430246e-02_rb, & 4.017061e-02_rb,3.669072e-02_rb,3.372455e-02_rb,3.116995e-02_rb,2.894977e-02_rb, & 2.700471e-02_rb,2.528842e-02_rb,2.376420e-02_rb,2.240256e-02_rb,2.117959e-02_rb, & 2.007567e-02_rb,1.907456e-02_rb,1.816271e-02_rb,1.732874e-02_rb,1.656300e-02_rb, & 1.585725e-02_rb,1.520445e-02_rb,1.459852e-02_rb,1.403419e-02_rb,1.350689e-02_rb, & 1.301260e-02_rb,1.254781e-02_rb,1.210941e-02_rb,1.169468e-02_rb,1.130118e-02_rb, & 1.092675e-02_rb,1.056945e-02_rb,1.022757e-02_rb,9.899560e-03_rb,9.584021e-03_rb, & 9.279705e-03_rb,8.985479e-03_rb,8.700322e-03_rb,8.423306e-03_rb,8.153590e-03_rb, & 7.890412e-03_rb/) absice3(:,6) = (/ & ! band 6 1.145369e-01_rb,1.174566e-01_rb,9.917866e-02_rb,8.332990e-02_rb,7.104263e-02_rb, & 6.153370e-02_rb,5.405472e-02_rb,4.806281e-02_rb,4.317918e-02_rb,3.913795e-02_rb, & 3.574916e-02_rb,3.287437e-02_rb,3.041067e-02_rb,2.828017e-02_rb,2.642292e-02_rb, & 2.479206e-02_rb,2.335051e-02_rb,2.206851e-02_rb,2.092195e-02_rb,1.989108e-02_rb, & 1.895958e-02_rb,1.811385e-02_rb,1.734245e-02_rb,1.663573e-02_rb,1.598545e-02_rb, & 1.538456e-02_rb,1.482700e-02_rb,1.430750e-02_rb,1.382150e-02_rb,1.336499e-02_rb, & 1.293447e-02_rb,1.252685e-02_rb,1.213939e-02_rb,1.176968e-02_rb,1.141555e-02_rb, & 1.107508e-02_rb,1.074655e-02_rb,1.042839e-02_rb,1.011923e-02_rb,9.817799e-03_rb, & 9.522962e-03_rb,9.233688e-03_rb,8.949041e-03_rb,8.668171e-03_rb,8.390301e-03_rb, & 8.114723e-03_rb/) absice3(:,7) = (/ & ! band 7 1.222345e-02_rb,5.344230e-02_rb,5.523465e-02_rb,5.128759e-02_rb,4.676925e-02_rb, & 4.266150e-02_rb,3.910561e-02_rb,3.605479e-02_rb,3.342843e-02_rb,3.115052e-02_rb, & 2.915776e-02_rb,2.739935e-02_rb,2.583499e-02_rb,2.443266e-02_rb,2.316681e-02_rb, & 2.201687e-02_rb,2.096619e-02_rb,2.000112e-02_rb,1.911044e-02_rb,1.828481e-02_rb, & 1.751641e-02_rb,1.679866e-02_rb,1.612598e-02_rb,1.549360e-02_rb,1.489742e-02_rb, & 1.433392e-02_rb,1.380002e-02_rb,1.329305e-02_rb,1.281068e-02_rb,1.235084e-02_rb, & 1.191172e-02_rb,1.149171e-02_rb,1.108936e-02_rb,1.070341e-02_rb,1.033271e-02_rb, & 9.976220e-03_rb,9.633021e-03_rb,9.302273e-03_rb,8.983216e-03_rb,8.675161e-03_rb, & 8.377478e-03_rb,8.089595e-03_rb,7.810986e-03_rb,7.541170e-03_rb,7.279706e-03_rb, & 7.026186e-03_rb/) absice3(:,8) = (/ & ! band 8 6.711058e-02_rb,6.918198e-02_rb,6.127484e-02_rb,5.411944e-02_rb,4.836902e-02_rb, & 4.375293e-02_rb,3.998077e-02_rb,3.683587e-02_rb,3.416508e-02_rb,3.186003e-02_rb, & 2.984290e-02_rb,2.805671e-02_rb,2.645895e-02_rb,2.501733e-02_rb,2.370689e-02_rb, & 2.250808e-02_rb,2.140532e-02_rb,2.038609e-02_rb,1.944018e-02_rb,1.855918e-02_rb, & 1.773609e-02_rb,1.696504e-02_rb,1.624106e-02_rb,1.555990e-02_rb,1.491793e-02_rb, & 1.431197e-02_rb,1.373928e-02_rb,1.319743e-02_rb,1.268430e-02_rb,1.219799e-02_rb, & 1.173682e-02_rb,1.129925e-02_rb,1.088393e-02_rb,1.048961e-02_rb,1.011516e-02_rb, & 9.759543e-03_rb,9.421813e-03_rb,9.101089e-03_rb,8.796559e-03_rb,8.507464e-03_rb, & 8.233098e-03_rb,7.972798e-03_rb,7.725942e-03_rb,7.491940e-03_rb,7.270238e-03_rb, & 7.060305e-03_rb/) absice3(:,9) = (/ & ! band 9 1.236780e-01_rb,9.222386e-02_rb,7.383997e-02_rb,6.204072e-02_rb,5.381029e-02_rb, & 4.770678e-02_rb,4.296928e-02_rb,3.916131e-02_rb,3.601540e-02_rb,3.335878e-02_rb, & 3.107493e-02_rb,2.908247e-02_rb,2.732282e-02_rb,2.575276e-02_rb,2.433968e-02_rb, & 2.305852e-02_rb,2.188966e-02_rb,2.081757e-02_rb,1.982974e-02_rb,1.891599e-02_rb, & 1.806794e-02_rb,1.727865e-02_rb,1.654227e-02_rb,1.585387e-02_rb,1.520924e-02_rb, & 1.460476e-02_rb,1.403730e-02_rb,1.350416e-02_rb,1.300293e-02_rb,1.253153e-02_rb, & 1.208808e-02_rb,1.167094e-02_rb,1.127862e-02_rb,1.090979e-02_rb,1.056323e-02_rb, & 1.023786e-02_rb,9.932665e-03_rb,9.646744e-03_rb,9.379250e-03_rb,9.129409e-03_rb, & 8.896500e-03_rb,8.679856e-03_rb,8.478852e-03_rb,8.292904e-03_rb,8.121463e-03_rb, & 7.964013e-03_rb/) absice3(:,10) = (/ & ! band 10 1.655966e-01_rb,1.134205e-01_rb,8.714344e-02_rb,7.129241e-02_rb,6.063739e-02_rb, & 5.294203e-02_rb,4.709309e-02_rb,4.247476e-02_rb,3.871892e-02_rb,3.559206e-02_rb, & 3.293893e-02_rb,3.065226e-02_rb,2.865558e-02_rb,2.689288e-02_rb,2.532221e-02_rb, & 2.391150e-02_rb,2.263582e-02_rb,2.147549e-02_rb,2.041476e-02_rb,1.944089e-02_rb, & 1.854342e-02_rb,1.771371e-02_rb,1.694456e-02_rb,1.622989e-02_rb,1.556456e-02_rb, & 1.494415e-02_rb,1.436491e-02_rb,1.382354e-02_rb,1.331719e-02_rb,1.284339e-02_rb, & 1.239992e-02_rb,1.198486e-02_rb,1.159647e-02_rb,1.123323e-02_rb,1.089375e-02_rb, & 1.057679e-02_rb,1.028124e-02_rb,1.000607e-02_rb,9.750376e-03_rb,9.513303e-03_rb, & 9.294082e-03_rb,9.092003e-03_rb,8.906412e-03_rb,8.736702e-03_rb,8.582314e-03_rb, & 8.442725e-03_rb/) absice3(:,11) = (/ & ! band 11 1.775615e-01_rb,1.180046e-01_rb,8.929607e-02_rb,7.233500e-02_rb,6.108333e-02_rb, & 5.303642e-02_rb,4.696927e-02_rb,4.221206e-02_rb,3.836768e-02_rb,3.518576e-02_rb, & 3.250063e-02_rb,3.019825e-02_rb,2.819758e-02_rb,2.643943e-02_rb,2.487953e-02_rb, & 2.348414e-02_rb,2.222705e-02_rb,2.108762e-02_rb,2.004936e-02_rb,1.909892e-02_rb, & 1.822539e-02_rb,1.741975e-02_rb,1.667449e-02_rb,1.598330e-02_rb,1.534084e-02_rb, & 1.474253e-02_rb,1.418446e-02_rb,1.366325e-02_rb,1.317597e-02_rb,1.272004e-02_rb, & 1.229321e-02_rb,1.189350e-02_rb,1.151915e-02_rb,1.116859e-02_rb,1.084042e-02_rb, & 1.053338e-02_rb,1.024636e-02_rb,9.978326e-03_rb,9.728357e-03_rb,9.495613e-03_rb, & 9.279327e-03_rb,9.078798e-03_rb,8.893383e-03_rb,8.722488e-03_rb,8.565568e-03_rb, & 8.422115e-03_rb/) absice3(:,12) = (/ & ! band 12 9.465447e-02_rb,6.432047e-02_rb,5.060973e-02_rb,4.267283e-02_rb,3.741843e-02_rb, & 3.363096e-02_rb,3.073531e-02_rb,2.842405e-02_rb,2.651789e-02_rb,2.490518e-02_rb, & 2.351273e-02_rb,2.229056e-02_rb,2.120335e-02_rb,2.022541e-02_rb,1.933763e-02_rb, & 1.852546e-02_rb,1.777763e-02_rb,1.708528e-02_rb,1.644134e-02_rb,1.584009e-02_rb, & 1.527684e-02_rb,1.474774e-02_rb,1.424955e-02_rb,1.377957e-02_rb,1.333549e-02_rb, & 1.291534e-02_rb,1.251743e-02_rb,1.214029e-02_rb,1.178265e-02_rb,1.144337e-02_rb, & 1.112148e-02_rb,1.081609e-02_rb,1.052642e-02_rb,1.025178e-02_rb,9.991540e-03_rb, & 9.745130e-03_rb,9.512038e-03_rb,9.291797e-03_rb,9.083980e-03_rb,8.888195e-03_rb, & 8.704081e-03_rb,8.531306e-03_rb,8.369560e-03_rb,8.218558e-03_rb,8.078032e-03_rb, & 7.947730e-03_rb/) absice3(:,13) = (/ & ! band 13 1.560311e-01_rb,9.961097e-02_rb,7.502949e-02_rb,6.115022e-02_rb,5.214952e-02_rb, & 4.578149e-02_rb,4.099731e-02_rb,3.724174e-02_rb,3.419343e-02_rb,3.165356e-02_rb, & 2.949251e-02_rb,2.762222e-02_rb,2.598073e-02_rb,2.452322e-02_rb,2.321642e-02_rb, & 2.203516e-02_rb,2.096002e-02_rb,1.997579e-02_rb,1.907036e-02_rb,1.823401e-02_rb, & 1.745879e-02_rb,1.673819e-02_rb,1.606678e-02_rb,1.544003e-02_rb,1.485411e-02_rb, & 1.430574e-02_rb,1.379215e-02_rb,1.331092e-02_rb,1.285996e-02_rb,1.243746e-02_rb, & 1.204183e-02_rb,1.167164e-02_rb,1.132567e-02_rb,1.100281e-02_rb,1.070207e-02_rb, & 1.042258e-02_rb,1.016352e-02_rb,9.924197e-03_rb,9.703953e-03_rb,9.502199e-03_rb, & 9.318400e-03_rb,9.152066e-03_rb,9.002749e-03_rb,8.870038e-03_rb,8.753555e-03_rb, & 8.652951e-03_rb/) absice3(:,14) = (/ & ! band 14 1.559547e-01_rb,9.896700e-02_rb,7.441231e-02_rb,6.061469e-02_rb,5.168730e-02_rb, & 4.537821e-02_rb,4.064106e-02_rb,3.692367e-02_rb,3.390714e-02_rb,3.139438e-02_rb, & 2.925702e-02_rb,2.740783e-02_rb,2.578547e-02_rb,2.434552e-02_rb,2.305506e-02_rb, & 2.188910e-02_rb,2.082842e-02_rb,1.985789e-02_rb,1.896553e-02_rb,1.814165e-02_rb, & 1.737839e-02_rb,1.666927e-02_rb,1.600891e-02_rb,1.539279e-02_rb,1.481712e-02_rb, & 1.427865e-02_rb,1.377463e-02_rb,1.330266e-02_rb,1.286068e-02_rb,1.244689e-02_rb, & 1.205973e-02_rb,1.169780e-02_rb,1.135989e-02_rb,1.104492e-02_rb,1.075192e-02_rb, & 1.048004e-02_rb,1.022850e-02_rb,9.996611e-03_rb,9.783753e-03_rb,9.589361e-03_rb, & 9.412924e-03_rb,9.253977e-03_rb,9.112098e-03_rb,8.986903e-03_rb,8.878039e-03_rb, & 8.785184e-03_rb/) absice3(:,15) = (/ & ! band 15 1.102926e-01_rb,7.176622e-02_rb,5.530316e-02_rb,4.606056e-02_rb,4.006116e-02_rb, & 3.579628e-02_rb,3.256909e-02_rb,3.001360e-02_rb,2.791920e-02_rb,2.615617e-02_rb, & 2.464023e-02_rb,2.331426e-02_rb,2.213817e-02_rb,2.108301e-02_rb,2.012733e-02_rb, & 1.925493e-02_rb,1.845331e-02_rb,1.771269e-02_rb,1.702531e-02_rb,1.638493e-02_rb, & 1.578648e-02_rb,1.522579e-02_rb,1.469940e-02_rb,1.420442e-02_rb,1.373841e-02_rb, & 1.329931e-02_rb,1.288535e-02_rb,1.249502e-02_rb,1.212700e-02_rb,1.178015e-02_rb, & 1.145348e-02_rb,1.114612e-02_rb,1.085730e-02_rb,1.058633e-02_rb,1.033263e-02_rb, & 1.009564e-02_rb,9.874895e-03_rb,9.669960e-03_rb,9.480449e-03_rb,9.306014e-03_rb, & 9.146339e-03_rb,9.001138e-03_rb,8.870154e-03_rb,8.753148e-03_rb,8.649907e-03_rb, & 8.560232e-03_rb/) absice3(:,16) = (/ & ! band 16 1.688344e-01_rb,1.077072e-01_rb,7.994467e-02_rb,6.403862e-02_rb,5.369850e-02_rb, & 4.641582e-02_rb,4.099331e-02_rb,3.678724e-02_rb,3.342069e-02_rb,3.065831e-02_rb, & 2.834557e-02_rb,2.637680e-02_rb,2.467733e-02_rb,2.319286e-02_rb,2.188299e-02_rb, & 2.071701e-02_rb,1.967121e-02_rb,1.872692e-02_rb,1.786931e-02_rb,1.708641e-02_rb, & 1.636846e-02_rb,1.570743e-02_rb,1.509665e-02_rb,1.453052e-02_rb,1.400433e-02_rb, & 1.351407e-02_rb,1.305631e-02_rb,1.262810e-02_rb,1.222688e-02_rb,1.185044e-02_rb, & 1.149683e-02_rb,1.116436e-02_rb,1.085153e-02_rb,1.055701e-02_rb,1.027961e-02_rb, & 1.001831e-02_rb,9.772141e-03_rb,9.540280e-03_rb,9.321966e-03_rb,9.116517e-03_rb, & 8.923315e-03_rb,8.741803e-03_rb,8.571472e-03_rb,8.411860e-03_rb,8.262543e-03_rb, & 8.123136e-03_rb/) ! For LIQFLAG = 0. absliq0 = 0.0903614_rb ! For LIQFLAG = 1. In each band, the absorption ! coefficients are listed for a range of effective radii from 2.5 ! to 59.5 microns in increments of 1.0 micron. absliq1(:, 1) = (/ & ! band 1 1.64047e-03_rb, 6.90533e-02_rb, 7.72017e-02_rb, 7.78054e-02_rb, 7.69523e-02_rb, & 7.58058e-02_rb, 7.46400e-02_rb, 7.35123e-02_rb, 7.24162e-02_rb, 7.13225e-02_rb, & 6.99145e-02_rb, 6.66409e-02_rb, 6.36582e-02_rb, 6.09425e-02_rb, 5.84593e-02_rb, & 5.61743e-02_rb, 5.40571e-02_rb, 5.20812e-02_rb, 5.02245e-02_rb, 4.84680e-02_rb, & 4.67959e-02_rb, 4.51944e-02_rb, 4.36516e-02_rb, 4.21570e-02_rb, 4.07015e-02_rb, & 3.92766e-02_rb, 3.78747e-02_rb, 3.64886e-02_rb, 3.53632e-02_rb, 3.41992e-02_rb, & 3.31016e-02_rb, 3.20643e-02_rb, 3.10817e-02_rb, 3.01490e-02_rb, 2.92620e-02_rb, & 2.84171e-02_rb, 2.76108e-02_rb, 2.68404e-02_rb, 2.61031e-02_rb, 2.53966e-02_rb, & 2.47189e-02_rb, 2.40678e-02_rb, 2.34418e-02_rb, 2.28392e-02_rb, 2.22586e-02_rb, & 2.16986e-02_rb, 2.11580e-02_rb, 2.06356e-02_rb, 2.01305e-02_rb, 1.96417e-02_rb, & 1.91682e-02_rb, 1.87094e-02_rb, 1.82643e-02_rb, 1.78324e-02_rb, 1.74129e-02_rb, & 1.70052e-02_rb, 1.66088e-02_rb, 1.62231e-02_rb/) absliq1(:, 2) = (/ & ! band 2 2.19486e-01_rb, 1.80687e-01_rb, 1.59150e-01_rb, 1.44731e-01_rb, 1.33703e-01_rb, & 1.24355e-01_rb, 1.15756e-01_rb, 1.07318e-01_rb, 9.86119e-02_rb, 8.92739e-02_rb, & 8.34911e-02_rb, 7.70773e-02_rb, 7.15240e-02_rb, 6.66615e-02_rb, 6.23641e-02_rb, & 5.85359e-02_rb, 5.51020e-02_rb, 5.20032e-02_rb, 4.91916e-02_rb, 4.66283e-02_rb, & 4.42813e-02_rb, 4.21236e-02_rb, 4.01330e-02_rb, 3.82905e-02_rb, 3.65797e-02_rb, & 3.49869e-02_rb, 3.35002e-02_rb, 3.21090e-02_rb, 3.08957e-02_rb, 2.97601e-02_rb, & 2.86966e-02_rb, 2.76984e-02_rb, 2.67599e-02_rb, 2.58758e-02_rb, 2.50416e-02_rb, & 2.42532e-02_rb, 2.35070e-02_rb, 2.27997e-02_rb, 2.21284e-02_rb, 2.14904e-02_rb, & 2.08834e-02_rb, 2.03051e-02_rb, 1.97536e-02_rb, 1.92271e-02_rb, 1.87239e-02_rb, & 1.82425e-02_rb, 1.77816e-02_rb, 1.73399e-02_rb, 1.69162e-02_rb, 1.65094e-02_rb, & 1.61187e-02_rb, 1.57430e-02_rb, 1.53815e-02_rb, 1.50334e-02_rb, 1.46981e-02_rb, & 1.43748e-02_rb, 1.40628e-02_rb, 1.37617e-02_rb/) absliq1(:, 3) = (/ & ! band 3 2.95174e-01_rb, 2.34765e-01_rb, 1.98038e-01_rb, 1.72114e-01_rb, 1.52083e-01_rb, & 1.35654e-01_rb, 1.21613e-01_rb, 1.09252e-01_rb, 9.81263e-02_rb, 8.79448e-02_rb, & 8.12566e-02_rb, 7.44563e-02_rb, 6.86374e-02_rb, 6.36042e-02_rb, 5.92094e-02_rb, & 5.53402e-02_rb, 5.19087e-02_rb, 4.88455e-02_rb, 4.60951e-02_rb, 4.36124e-02_rb, & 4.13607e-02_rb, 3.93096e-02_rb, 3.74338e-02_rb, 3.57119e-02_rb, 3.41261e-02_rb, & 3.26610e-02_rb, 3.13036e-02_rb, 3.00425e-02_rb, 2.88497e-02_rb, 2.78077e-02_rb, & 2.68317e-02_rb, 2.59158e-02_rb, 2.50545e-02_rb, 2.42430e-02_rb, 2.34772e-02_rb, & 2.27533e-02_rb, 2.20679e-02_rb, 2.14181e-02_rb, 2.08011e-02_rb, 2.02145e-02_rb, & 1.96561e-02_rb, 1.91239e-02_rb, 1.86161e-02_rb, 1.81311e-02_rb, 1.76673e-02_rb, & 1.72234e-02_rb, 1.67981e-02_rb, 1.63903e-02_rb, 1.59989e-02_rb, 1.56230e-02_rb, & 1.52615e-02_rb, 1.49138e-02_rb, 1.45791e-02_rb, 1.42565e-02_rb, 1.39455e-02_rb, & 1.36455e-02_rb, 1.33559e-02_rb, 1.30761e-02_rb/) absliq1(:, 4) = (/ & ! band 4 3.00925e-01_rb, 2.36949e-01_rb, 1.96947e-01_rb, 1.68692e-01_rb, 1.47190e-01_rb, & 1.29986e-01_rb, 1.15719e-01_rb, 1.03568e-01_rb, 9.30028e-02_rb, 8.36658e-02_rb, & 7.71075e-02_rb, 7.07002e-02_rb, 6.52284e-02_rb, 6.05024e-02_rb, 5.63801e-02_rb, & 5.27534e-02_rb, 4.95384e-02_rb, 4.66690e-02_rb, 4.40925e-02_rb, 4.17664e-02_rb, & 3.96559e-02_rb, 3.77326e-02_rb, 3.59727e-02_rb, 3.43561e-02_rb, 3.28662e-02_rb, & 3.14885e-02_rb, 3.02110e-02_rb, 2.90231e-02_rb, 2.78948e-02_rb, 2.69109e-02_rb, & 2.59884e-02_rb, 2.51217e-02_rb, 2.43058e-02_rb, 2.35364e-02_rb, 2.28096e-02_rb, & 2.21218e-02_rb, 2.14700e-02_rb, 2.08515e-02_rb, 2.02636e-02_rb, 1.97041e-02_rb, & 1.91711e-02_rb, 1.86625e-02_rb, 1.81769e-02_rb, 1.77126e-02_rb, 1.72683e-02_rb, & 1.68426e-02_rb, 1.64344e-02_rb, 1.60427e-02_rb, 1.56664e-02_rb, 1.53046e-02_rb, & 1.49565e-02_rb, 1.46214e-02_rb, 1.42985e-02_rb, 1.39871e-02_rb, 1.36866e-02_rb, & 1.33965e-02_rb, 1.31162e-02_rb, 1.28453e-02_rb/) absliq1(:, 5) = (/ & ! band 5 2.64691e-01_rb, 2.12018e-01_rb, 1.78009e-01_rb, 1.53539e-01_rb, 1.34721e-01_rb, & 1.19580e-01_rb, 1.06996e-01_rb, 9.62772e-02_rb, 8.69710e-02_rb, 7.87670e-02_rb, & 7.29272e-02_rb, 6.70920e-02_rb, 6.20977e-02_rb, 5.77732e-02_rb, 5.39910e-02_rb, & 5.06538e-02_rb, 4.76866e-02_rb, 4.50301e-02_rb, 4.26374e-02_rb, 4.04704e-02_rb, & 3.84981e-02_rb, 3.66948e-02_rb, 3.50394e-02_rb, 3.35141e-02_rb, 3.21038e-02_rb, & 3.07957e-02_rb, 2.95788e-02_rb, 2.84438e-02_rb, 2.73790e-02_rb, 2.64390e-02_rb, & 2.55565e-02_rb, 2.47263e-02_rb, 2.39437e-02_rb, 2.32047e-02_rb, 2.25056e-02_rb, & 2.18433e-02_rb, 2.12149e-02_rb, 2.06177e-02_rb, 2.00495e-02_rb, 1.95081e-02_rb, & 1.89917e-02_rb, 1.84984e-02_rb, 1.80269e-02_rb, 1.75755e-02_rb, 1.71431e-02_rb, & 1.67283e-02_rb, 1.63303e-02_rb, 1.59478e-02_rb, 1.55801e-02_rb, 1.52262e-02_rb, & 1.48853e-02_rb, 1.45568e-02_rb, 1.42400e-02_rb, 1.39342e-02_rb, 1.36388e-02_rb, & 1.33533e-02_rb, 1.30773e-02_rb, 1.28102e-02_rb/) absliq1(:, 6) = (/ & ! band 6 8.81182e-02_rb, 1.06745e-01_rb, 9.79753e-02_rb, 8.99625e-02_rb, 8.35200e-02_rb, & 7.81899e-02_rb, 7.35939e-02_rb, 6.94696e-02_rb, 6.56266e-02_rb, 6.19148e-02_rb, & 5.83355e-02_rb, 5.49306e-02_rb, 5.19642e-02_rb, 4.93325e-02_rb, 4.69659e-02_rb, & 4.48148e-02_rb, 4.28431e-02_rb, 4.10231e-02_rb, 3.93332e-02_rb, 3.77563e-02_rb, & 3.62785e-02_rb, 3.48882e-02_rb, 3.35758e-02_rb, 3.23333e-02_rb, 3.11536e-02_rb, & 3.00310e-02_rb, 2.89601e-02_rb, 2.79365e-02_rb, 2.70502e-02_rb, 2.62618e-02_rb, & 2.55025e-02_rb, 2.47728e-02_rb, 2.40726e-02_rb, 2.34013e-02_rb, 2.27583e-02_rb, & 2.21422e-02_rb, 2.15522e-02_rb, 2.09869e-02_rb, 2.04453e-02_rb, 1.99260e-02_rb, & 1.94280e-02_rb, 1.89501e-02_rb, 1.84913e-02_rb, 1.80506e-02_rb, 1.76270e-02_rb, & 1.72196e-02_rb, 1.68276e-02_rb, 1.64500e-02_rb, 1.60863e-02_rb, 1.57357e-02_rb, & 1.53975e-02_rb, 1.50710e-02_rb, 1.47558e-02_rb, 1.44511e-02_rb, 1.41566e-02_rb, & 1.38717e-02_rb, 1.35960e-02_rb, 1.33290e-02_rb/) absliq1(:, 7) = (/ & ! band 7 4.32174e-02_rb, 7.36078e-02_rb, 6.98340e-02_rb, 6.65231e-02_rb, 6.41948e-02_rb, & 6.23551e-02_rb, 6.06638e-02_rb, 5.88680e-02_rb, 5.67124e-02_rb, 5.38629e-02_rb, & 4.99579e-02_rb, 4.86289e-02_rb, 4.70120e-02_rb, 4.52854e-02_rb, 4.35466e-02_rb, & 4.18480e-02_rb, 4.02169e-02_rb, 3.86658e-02_rb, 3.71992e-02_rb, 3.58168e-02_rb, & 3.45155e-02_rb, 3.32912e-02_rb, 3.21390e-02_rb, 3.10538e-02_rb, 3.00307e-02_rb, & 2.90651e-02_rb, 2.81524e-02_rb, 2.72885e-02_rb, 2.62821e-02_rb, 2.55744e-02_rb, & 2.48799e-02_rb, 2.42029e-02_rb, 2.35460e-02_rb, 2.29108e-02_rb, 2.22981e-02_rb, & 2.17079e-02_rb, 2.11402e-02_rb, 2.05945e-02_rb, 2.00701e-02_rb, 1.95663e-02_rb, & 1.90824e-02_rb, 1.86174e-02_rb, 1.81706e-02_rb, 1.77411e-02_rb, 1.73281e-02_rb, & 1.69307e-02_rb, 1.65483e-02_rb, 1.61801e-02_rb, 1.58254e-02_rb, 1.54835e-02_rb, & 1.51538e-02_rb, 1.48358e-02_rb, 1.45288e-02_rb, 1.42322e-02_rb, 1.39457e-02_rb, & 1.36687e-02_rb, 1.34008e-02_rb, 1.31416e-02_rb/) absliq1(:, 8) = (/ & ! band 8 1.41881e-01_rb, 7.15419e-02_rb, 6.30335e-02_rb, 6.11132e-02_rb, 6.01931e-02_rb, & 5.92420e-02_rb, 5.78968e-02_rb, 5.58876e-02_rb, 5.28923e-02_rb, 4.84462e-02_rb, & 4.60839e-02_rb, 4.56013e-02_rb, 4.45410e-02_rb, 4.31866e-02_rb, 4.17026e-02_rb, & 4.01850e-02_rb, 3.86892e-02_rb, 3.72461e-02_rb, 3.58722e-02_rb, 3.45749e-02_rb, & 3.33564e-02_rb, 3.22155e-02_rb, 3.11494e-02_rb, 3.01541e-02_rb, 2.92253e-02_rb, & 2.83584e-02_rb, 2.75488e-02_rb, 2.67925e-02_rb, 2.57692e-02_rb, 2.50704e-02_rb, & 2.43918e-02_rb, 2.37350e-02_rb, 2.31005e-02_rb, 2.24888e-02_rb, 2.18996e-02_rb, & 2.13325e-02_rb, 2.07870e-02_rb, 2.02623e-02_rb, 1.97577e-02_rb, 1.92724e-02_rb, & 1.88056e-02_rb, 1.83564e-02_rb, 1.79241e-02_rb, 1.75079e-02_rb, 1.71070e-02_rb, & 1.67207e-02_rb, 1.63482e-02_rb, 1.59890e-02_rb, 1.56424e-02_rb, 1.53077e-02_rb, & 1.49845e-02_rb, 1.46722e-02_rb, 1.43702e-02_rb, 1.40782e-02_rb, 1.37955e-02_rb, & 1.35219e-02_rb, 1.32569e-02_rb, 1.30000e-02_rb/) absliq1(:, 9) = (/ & ! band 9 6.72726e-02_rb, 6.61013e-02_rb, 6.47866e-02_rb, 6.33780e-02_rb, 6.18985e-02_rb, & 6.03335e-02_rb, 5.86136e-02_rb, 5.65876e-02_rb, 5.39839e-02_rb, 5.03536e-02_rb, & 4.71608e-02_rb, 4.63630e-02_rb, 4.50313e-02_rb, 4.34526e-02_rb, 4.17876e-02_rb, & 4.01261e-02_rb, 3.85171e-02_rb, 3.69860e-02_rb, 3.55442e-02_rb, 3.41954e-02_rb, & 3.29384e-02_rb, 3.17693e-02_rb, 3.06832e-02_rb, 2.96745e-02_rb, 2.87374e-02_rb, & 2.78662e-02_rb, 2.70557e-02_rb, 2.63008e-02_rb, 2.52450e-02_rb, 2.45424e-02_rb, & 2.38656e-02_rb, 2.32144e-02_rb, 2.25885e-02_rb, 2.19873e-02_rb, 2.14099e-02_rb, & 2.08554e-02_rb, 2.03230e-02_rb, 1.98116e-02_rb, 1.93203e-02_rb, 1.88482e-02_rb, & 1.83944e-02_rb, 1.79578e-02_rb, 1.75378e-02_rb, 1.71335e-02_rb, 1.67440e-02_rb, & 1.63687e-02_rb, 1.60069e-02_rb, 1.56579e-02_rb, 1.53210e-02_rb, 1.49958e-02_rb, & 1.46815e-02_rb, 1.43778e-02_rb, 1.40841e-02_rb, 1.37999e-02_rb, 1.35249e-02_rb, & 1.32585e-02_rb, 1.30004e-02_rb, 1.27502e-02_rb/) absliq1(:,10) = (/ & ! band 10 7.97040e-02_rb, 7.63844e-02_rb, 7.36499e-02_rb, 7.13525e-02_rb, 6.93043e-02_rb, & 6.72807e-02_rb, 6.50227e-02_rb, 6.22395e-02_rb, 5.86093e-02_rb, 5.37815e-02_rb, & 5.14682e-02_rb, 4.97214e-02_rb, 4.77392e-02_rb, 4.56961e-02_rb, 4.36858e-02_rb, & 4.17569e-02_rb, 3.99328e-02_rb, 3.82224e-02_rb, 3.66265e-02_rb, 3.51416e-02_rb, & 3.37617e-02_rb, 3.24798e-02_rb, 3.12887e-02_rb, 3.01812e-02_rb, 2.91505e-02_rb, & 2.81900e-02_rb, 2.72939e-02_rb, 2.64568e-02_rb, 2.54165e-02_rb, 2.46832e-02_rb, & 2.39783e-02_rb, 2.33017e-02_rb, 2.26531e-02_rb, 2.20314e-02_rb, 2.14359e-02_rb, & 2.08653e-02_rb, 2.03187e-02_rb, 1.97947e-02_rb, 1.92924e-02_rb, 1.88106e-02_rb, & 1.83483e-02_rb, 1.79043e-02_rb, 1.74778e-02_rb, 1.70678e-02_rb, 1.66735e-02_rb, & 1.62941e-02_rb, 1.59286e-02_rb, 1.55766e-02_rb, 1.52371e-02_rb, 1.49097e-02_rb, & 1.45937e-02_rb, 1.42885e-02_rb, 1.39936e-02_rb, 1.37085e-02_rb, 1.34327e-02_rb, & 1.31659e-02_rb, 1.29075e-02_rb, 1.26571e-02_rb/) absliq1(:,11) = (/ & ! band 11 1.49438e-01_rb, 1.33535e-01_rb, 1.21542e-01_rb, 1.11743e-01_rb, 1.03263e-01_rb, & 9.55774e-02_rb, 8.83382e-02_rb, 8.12943e-02_rb, 7.42533e-02_rb, 6.70609e-02_rb, & 6.38761e-02_rb, 5.97788e-02_rb, 5.59841e-02_rb, 5.25318e-02_rb, 4.94132e-02_rb, & 4.66014e-02_rb, 4.40644e-02_rb, 4.17706e-02_rb, 3.96910e-02_rb, 3.77998e-02_rb, & 3.60742e-02_rb, 3.44947e-02_rb, 3.30442e-02_rb, 3.17079e-02_rb, 3.04730e-02_rb, & 2.93283e-02_rb, 2.82642e-02_rb, 2.72720e-02_rb, 2.61789e-02_rb, 2.53277e-02_rb, & 2.45237e-02_rb, 2.37635e-02_rb, 2.30438e-02_rb, 2.23615e-02_rb, 2.17140e-02_rb, & 2.10987e-02_rb, 2.05133e-02_rb, 1.99557e-02_rb, 1.94241e-02_rb, 1.89166e-02_rb, & 1.84317e-02_rb, 1.79679e-02_rb, 1.75238e-02_rb, 1.70983e-02_rb, 1.66901e-02_rb, & 1.62983e-02_rb, 1.59219e-02_rb, 1.55599e-02_rb, 1.52115e-02_rb, 1.48761e-02_rb, & 1.45528e-02_rb, 1.42411e-02_rb, 1.39402e-02_rb, 1.36497e-02_rb, 1.33690e-02_rb, & 1.30976e-02_rb, 1.28351e-02_rb, 1.25810e-02_rb/) absliq1(:,12) = (/ & ! band 12 3.71985e-02_rb, 3.88586e-02_rb, 3.99070e-02_rb, 4.04351e-02_rb, 4.04610e-02_rb, & 3.99834e-02_rb, 3.89953e-02_rb, 3.74886e-02_rb, 3.54551e-02_rb, 3.28870e-02_rb, & 3.32576e-02_rb, 3.22444e-02_rb, 3.12384e-02_rb, 3.02584e-02_rb, 2.93146e-02_rb, & 2.84120e-02_rb, 2.75525e-02_rb, 2.67361e-02_rb, 2.59618e-02_rb, 2.52280e-02_rb, & 2.45327e-02_rb, 2.38736e-02_rb, 2.32487e-02_rb, 2.26558e-02_rb, 2.20929e-02_rb, & 2.15579e-02_rb, 2.10491e-02_rb, 2.05648e-02_rb, 1.99749e-02_rb, 1.95704e-02_rb, & 1.91731e-02_rb, 1.87839e-02_rb, 1.84032e-02_rb, 1.80315e-02_rb, 1.76689e-02_rb, & 1.73155e-02_rb, 1.69712e-02_rb, 1.66362e-02_rb, 1.63101e-02_rb, 1.59928e-02_rb, & 1.56842e-02_rb, 1.53840e-02_rb, 1.50920e-02_rb, 1.48080e-02_rb, 1.45318e-02_rb, & 1.42631e-02_rb, 1.40016e-02_rb, 1.37472e-02_rb, 1.34996e-02_rb, 1.32586e-02_rb, & 1.30239e-02_rb, 1.27954e-02_rb, 1.25728e-02_rb, 1.23559e-02_rb, 1.21445e-02_rb, & 1.19385e-02_rb, 1.17376e-02_rb, 1.15417e-02_rb/) absliq1(:,13) = (/ & ! band 13 3.11868e-02_rb, 4.48357e-02_rb, 4.90224e-02_rb, 4.96406e-02_rb, 4.86806e-02_rb, & 4.69610e-02_rb, 4.48630e-02_rb, 4.25795e-02_rb, 4.02138e-02_rb, 3.78236e-02_rb, & 3.74266e-02_rb, 3.60384e-02_rb, 3.47074e-02_rb, 3.34434e-02_rb, 3.22499e-02_rb, & 3.11264e-02_rb, 3.00704e-02_rb, 2.90784e-02_rb, 2.81463e-02_rb, 2.72702e-02_rb, & 2.64460e-02_rb, 2.56698e-02_rb, 2.49381e-02_rb, 2.42475e-02_rb, 2.35948e-02_rb, & 2.29774e-02_rb, 2.23925e-02_rb, 2.18379e-02_rb, 2.11793e-02_rb, 2.07076e-02_rb, & 2.02470e-02_rb, 1.97981e-02_rb, 1.93613e-02_rb, 1.89367e-02_rb, 1.85243e-02_rb, & 1.81240e-02_rb, 1.77356e-02_rb, 1.73588e-02_rb, 1.69935e-02_rb, 1.66392e-02_rb, & 1.62956e-02_rb, 1.59624e-02_rb, 1.56393e-02_rb, 1.53259e-02_rb, 1.50219e-02_rb, & 1.47268e-02_rb, 1.44404e-02_rb, 1.41624e-02_rb, 1.38925e-02_rb, 1.36302e-02_rb, & 1.33755e-02_rb, 1.31278e-02_rb, 1.28871e-02_rb, 1.26530e-02_rb, 1.24253e-02_rb, & 1.22038e-02_rb, 1.19881e-02_rb, 1.17782e-02_rb/) absliq1(:,14) = (/ & ! band 14 1.58988e-02_rb, 3.50652e-02_rb, 4.00851e-02_rb, 4.07270e-02_rb, 3.98101e-02_rb, & 3.83306e-02_rb, 3.66829e-02_rb, 3.50327e-02_rb, 3.34497e-02_rb, 3.19609e-02_rb, & 3.13712e-02_rb, 3.03348e-02_rb, 2.93415e-02_rb, 2.83973e-02_rb, 2.75037e-02_rb, & 2.66604e-02_rb, 2.58654e-02_rb, 2.51161e-02_rb, 2.44100e-02_rb, 2.37440e-02_rb, & 2.31154e-02_rb, 2.25215e-02_rb, 2.19599e-02_rb, 2.14282e-02_rb, 2.09242e-02_rb, & 2.04459e-02_rb, 1.99915e-02_rb, 1.95594e-02_rb, 1.90254e-02_rb, 1.86598e-02_rb, & 1.82996e-02_rb, 1.79455e-02_rb, 1.75983e-02_rb, 1.72584e-02_rb, 1.69260e-02_rb, & 1.66013e-02_rb, 1.62843e-02_rb, 1.59752e-02_rb, 1.56737e-02_rb, 1.53799e-02_rb, & 1.50936e-02_rb, 1.48146e-02_rb, 1.45429e-02_rb, 1.42782e-02_rb, 1.40203e-02_rb, & 1.37691e-02_rb, 1.35243e-02_rb, 1.32858e-02_rb, 1.30534e-02_rb, 1.28270e-02_rb, & 1.26062e-02_rb, 1.23909e-02_rb, 1.21810e-02_rb, 1.19763e-02_rb, 1.17766e-02_rb, & 1.15817e-02_rb, 1.13915e-02_rb, 1.12058e-02_rb/) absliq1(:,15) = (/ & ! band 15 5.02079e-03_rb, 2.17615e-02_rb, 2.55449e-02_rb, 2.59484e-02_rb, 2.53650e-02_rb, & 2.45281e-02_rb, 2.36843e-02_rb, 2.29159e-02_rb, 2.22451e-02_rb, 2.16716e-02_rb, & 2.11451e-02_rb, 2.05817e-02_rb, 2.00454e-02_rb, 1.95372e-02_rb, 1.90567e-02_rb, & 1.86028e-02_rb, 1.81742e-02_rb, 1.77693e-02_rb, 1.73866e-02_rb, 1.70244e-02_rb, & 1.66815e-02_rb, 1.63563e-02_rb, 1.60477e-02_rb, 1.57544e-02_rb, 1.54755e-02_rb, & 1.52097e-02_rb, 1.49564e-02_rb, 1.47146e-02_rb, 1.43684e-02_rb, 1.41728e-02_rb, & 1.39762e-02_rb, 1.37797e-02_rb, 1.35838e-02_rb, 1.33891e-02_rb, 1.31961e-02_rb, & 1.30051e-02_rb, 1.28164e-02_rb, 1.26302e-02_rb, 1.24466e-02_rb, 1.22659e-02_rb, & 1.20881e-02_rb, 1.19131e-02_rb, 1.17412e-02_rb, 1.15723e-02_rb, 1.14063e-02_rb, & 1.12434e-02_rb, 1.10834e-02_rb, 1.09264e-02_rb, 1.07722e-02_rb, 1.06210e-02_rb, & 1.04725e-02_rb, 1.03269e-02_rb, 1.01839e-02_rb, 1.00436e-02_rb, 9.90593e-03_rb, & 9.77080e-03_rb, 9.63818e-03_rb, 9.50800e-03_rb/) absliq1(:,16) = (/ & ! band 16 5.64971e-02_rb, 9.04736e-02_rb, 8.11726e-02_rb, 7.05450e-02_rb, 6.20052e-02_rb, & 5.54286e-02_rb, 5.03503e-02_rb, 4.63791e-02_rb, 4.32290e-02_rb, 4.06959e-02_rb, & 3.74690e-02_rb, 3.52964e-02_rb, 3.33799e-02_rb, 3.16774e-02_rb, 3.01550e-02_rb, & 2.87856e-02_rb, 2.75474e-02_rb, 2.64223e-02_rb, 2.53953e-02_rb, 2.44542e-02_rb, & 2.35885e-02_rb, 2.27894e-02_rb, 2.20494e-02_rb, 2.13622e-02_rb, 2.07222e-02_rb, & 2.01246e-02_rb, 1.95654e-02_rb, 1.90408e-02_rb, 1.84398e-02_rb, 1.80021e-02_rb, & 1.75816e-02_rb, 1.71775e-02_rb, 1.67889e-02_rb, 1.64152e-02_rb, 1.60554e-02_rb, & 1.57089e-02_rb, 1.53751e-02_rb, 1.50531e-02_rb, 1.47426e-02_rb, 1.44428e-02_rb, & 1.41532e-02_rb, 1.38734e-02_rb, 1.36028e-02_rb, 1.33410e-02_rb, 1.30875e-02_rb, & 1.28420e-02_rb, 1.26041e-02_rb, 1.23735e-02_rb, 1.21497e-02_rb, 1.19325e-02_rb, & 1.17216e-02_rb, 1.15168e-02_rb, 1.13177e-02_rb, 1.11241e-02_rb, 1.09358e-02_rb, & 1.07525e-02_rb, 1.05741e-02_rb, 1.04003e-02_rb/) end subroutine lwcldpr end module rrtmg_lw_init ================================================ FILE: GeosRad/rrtmg_lw_k_g.F90 ================================================ ! path: $Source: /storm/rc1/cvsroot/rc/rrtmg_lw/src/rrtmg_lw_k_g.f90,v $ ! author: $Author: mike $ ! revision: $Revision: 1.4 $ ! created: $Date: 2009/05/22 21:04:30 $ ! ! -------------------------------------------------------------------------- ! | | ! | Copyright 2002-2009, Atmospheric & Environmental Research, Inc. (AER). | ! | This software may be used, copied, or redistributed as long as it is | ! | not sold and this copyright notice is reproduced on each copy made. | ! | This model is provided as is without any express or implied warranties. | ! | (http://www.rtweb.aer.com/) | ! | | ! -------------------------------------------------------------------------- ! ************************************************************************** ! subroutine lw_kgbnn ! ************************************************************************** ! RRTM Longwave Radiative Transfer Model ! Atmospheric and Environmental Research, Inc., Cambridge, MA ! ! Original version: E. J. Mlawer, et al. ! Revision for GCMs: Michael J. Iacono; October, 2002 ! Revision for F90 formatting: Michael J. Iacono; June 2006 ! ! This file contains 16 subroutines that include the ! absorption coefficients and other data for each of the 16 longwave ! spectral bands used in RRTM. Here, the data are defined for 16 ! g-points, or sub-intervals, per band. These data are combined and ! weighted using a mapping procedure in routine RRTMG_LW_INIT to reduce ! the total number of g-points from 256 to 140 for use in the GCM. ! ************************************************************************** subroutine lw_kgb01 ! ************************************************************************** use parkind, only : im => kind_im, rb => kind_rb use rrlw_kg01, only : fracrefao, fracrefbo, kao, kbo, kao_mn2, kbo_mn2, & selfrefo, forrefo use rrlw_vsn, only: hvrkg, hnamkg implicit none save hvrkg = '$Revision: 1.4 $' ! Planck fraction mapping level: P = 212.7250 mbar, T = 223.06 K fracrefao(:) = (/ & 2.1227E-01_rb,1.8897E-01_rb,1.3934E-01_rb,1.1557E-01_rb,9.5282E-02_rb,8.3359E-02_rb, & 6.5333E-02_rb,5.2016E-02_rb,3.4272E-02_rb,4.0257E-03_rb,3.1857E-03_rb,2.6014E-03_rb, & 1.9141E-03_rb,1.2612E-03_rb,5.3169E-04_rb,7.6476E-05_rb/) ! Planck fraction mapping level: P = 212.7250 mbar, T = 223.06 K ! These Planck fractions were calculated using lower atmosphere ! parameters. fracrefbo(:) = (/ & 2.1227E-01_rb,1.8897E-01_rb,1.3934E-01_rb,1.1557E-01_rb,9.5282E-02_rb,8.3359E-02_rb, & 6.5333E-02_rb,5.2016E-02_rb,3.4272E-02_rb,4.0257E-03_rb,3.1857E-03_rb,2.6014E-03_rb, & 1.9141E-03_rb,1.2612E-03_rb,5.3169E-04_rb,7.6476E-05_rb/) ! The array KAO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels > ~100mb and temperatures. The first ! index in the array, JT, which runs from 1 to 5, corresponds to ! different temperatures. More specifically, JT = 3 means that the ! data are for the corresponding TREF for this pressure level, ! JT = 2 refers to the temperatureTREF-15, JT = 1 is for TREF-30, ! JT = 4 is for TREF+15, and JT = 5 is for TREF+30. The second ! index, JP, runs from 1 to 13 and refers to the corresponding ! pressure level in PREF (e.g. JP = 1 is for a pressure of 1053.63 mb). ! The third index, IG, goes from 1 to 16, and tells us which ! g-interval the absorption coefficients are for. kao(:, 1, 1) = (/ & &1.1936e-01_rb,1.2127e-01_rb,1.2290e-01_rb,1.2324e-01_rb,1.2302e-01_rb/) kao(:, 2, 1) = (/ & &9.3666e-02_rb,9.6336e-02_rb,9.8457e-02_rb,9.9155e-02_rb,9.9330e-02_rb/) kao(:, 3, 1) = (/ & &7.3480e-02_rb,7.5571e-02_rb,7.7998e-02_rb,7.9619e-02_rb,8.0000e-02_rb/) kao(:, 4, 1) = (/ & &5.8417e-02_rb,6.0062e-02_rb,6.2150e-02_rb,6.4024e-02_rb,6.4943e-02_rb/) kao(:, 5, 1) = (/ & &4.6742e-02_rb,4.8171e-02_rb,4.9840e-02_rb,5.1580e-02_rb,5.2974e-02_rb/) kao(:, 6, 1) = (/ & &3.7093e-02_rb,3.8712e-02_rb,4.0031e-02_rb,4.1473e-02_rb,4.2868e-02_rb/) kao(:, 7, 1) = (/ & &2.9515e-02_rb,3.1114e-02_rb,3.2344e-02_rb,3.3496e-02_rb,3.4715e-02_rb/) kao(:, 8, 1) = (/ & &2.3548e-02_rb,2.5012e-02_rb,2.6176e-02_rb,2.7253e-02_rb,2.8263e-02_rb/) kao(:, 9, 1) = (/ & &1.9136e-02_rb,2.0420e-02_rb,2.1607e-02_rb,2.2607e-02_rb,2.3502e-02_rb/) kao(:,10, 1) = (/ & &1.6947e-02_rb,1.8986e-02_rb,2.0617e-02_rb,2.1896e-02_rb,2.2928e-02_rb/) kao(:,11, 1) = (/ & &1.4724e-02_rb,1.6490e-02_rb,1.8468e-02_rb,1.9875e-02_rb,2.1095e-02_rb/) kao(:,12, 1) = (/ & &1.2332e-02_rb,1.3992e-02_rb,1.5549e-02_rb,1.7137e-02_rb,1.8190e-02_rb/) kao(:,13, 1) = (/ & &1.0144e-02_rb,1.1539e-02_rb,1.2861e-02_rb,1.4225e-02_rb,1.5224e-02_rb/) kao(:, 1, 2) = (/ & &3.5138e-01_rb,3.5502e-01_rb,3.5774e-01_rb,3.5894e-01_rb,3.5740e-01_rb/) kao(:, 2, 2) = (/ & &2.8740e-01_rb,2.8961e-01_rb,2.9119e-01_rb,2.9268e-01_rb,2.9128e-01_rb/) kao(:, 3, 2) = (/ & &2.3142e-01_rb,2.3495e-01_rb,2.3595e-01_rb,2.3731e-01_rb,2.3828e-01_rb/) kao(:, 4, 2) = (/ & &1.8684e-01_rb,1.9090e-01_rb,1.9387e-01_rb,1.9355e-01_rb,1.9518e-01_rb/) kao(:, 5, 2) = (/ & &1.5108e-01_rb,1.5525e-01_rb,1.5832e-01_rb,1.5904e-01_rb,1.5962e-01_rb/) kao(:, 6, 2) = (/ & &1.2219e-01_rb,1.2585e-01_rb,1.2901e-01_rb,1.3090e-01_rb,1.3158e-01_rb/) kao(:, 7, 2) = (/ & &9.8743e-02_rb,1.0185e-01_rb,1.0506e-01_rb,1.0763e-01_rb,1.0820e-01_rb/) kao(:, 8, 2) = (/ & &7.9966e-02_rb,8.2922e-02_rb,8.5859e-02_rb,8.8462e-02_rb,8.9282e-02_rb/) kao(:, 9, 2) = (/ & &6.5726e-02_rb,6.8954e-02_rb,7.1786e-02_rb,7.3678e-02_rb,7.5233e-02_rb/) kao(:,10, 2) = (/ & &6.0011e-02_rb,6.2230e-02_rb,6.5254e-02_rb,6.7031e-02_rb,6.9052e-02_rb/) kao(:,11, 2) = (/ & &5.5743e-02_rb,5.7099e-02_rb,5.8802e-02_rb,6.0875e-02_rb,6.2690e-02_rb/) kao(:,12, 2) = (/ & &4.9598e-02_rb,5.1234e-02_rb,5.2659e-02_rb,5.3951e-02_rb,5.5431e-02_rb/) kao(:,13, 2) = (/ & &4.1938e-02_rb,4.3540e-02_rb,4.4990e-02_rb,4.6074e-02_rb,4.6999e-02_rb/) kao(:, 1, 3) = (/ & &8.4590e-01_rb,8.4151e-01_rb,8.3682e-01_rb,8.3729e-01_rb,8.3944e-01_rb/) kao(:, 2, 3) = (/ & &6.8809e-01_rb,6.8696e-01_rb,6.8512e-01_rb,6.8470e-01_rb,6.8864e-01_rb/) kao(:, 3, 3) = (/ & &5.6065e-01_rb,5.5891e-01_rb,5.5871e-01_rb,5.5784e-01_rb,5.6029e-01_rb/) kao(:, 4, 3) = (/ & &4.6097e-01_rb,4.6021e-01_rb,4.5874e-01_rb,4.6110e-01_rb,4.6088e-01_rb/) kao(:, 5, 3) = (/ & &3.8076e-01_rb,3.8128e-01_rb,3.8007e-01_rb,3.8126e-01_rb,3.8214e-01_rb/) kao(:, 6, 3) = (/ & &3.1396e-01_rb,3.1576e-01_rb,3.1554e-01_rb,3.1478e-01_rb,3.1602e-01_rb/) kao(:, 7, 3) = (/ & &2.5841e-01_rb,2.6039e-01_rb,2.6160e-01_rb,2.6034e-01_rb,2.6147e-01_rb/) kao(:, 8, 3) = (/ & &2.1354e-01_rb,2.1540e-01_rb,2.1664e-01_rb,2.1675e-01_rb,2.1689e-01_rb/) kao(:, 9, 3) = (/ & &1.8409e-01_rb,1.8340e-01_rb,1.8423e-01_rb,1.8535e-01_rb,1.8550e-01_rb/) kao(:,10, 3) = (/ & &1.7687e-01_rb,1.8149e-01_rb,1.8138e-01_rb,1.8043e-01_rb,1.8050e-01_rb/) kao(:,11, 3) = (/ & &1.6660e-01_rb,1.6980e-01_rb,1.7005e-01_rb,1.7156e-01_rb,1.6983e-01_rb/) kao(:,12, 3) = (/ & &1.4699e-01_rb,1.5037e-01_rb,1.5032e-01_rb,1.5012e-01_rb,1.5041e-01_rb/) kao(:,13, 3) = (/ & &1.2497e-01_rb,1.2733e-01_rb,1.2732e-01_rb,1.2710e-01_rb,1.2722e-01_rb/) kao(:, 1, 4) = (/ & &1.8528e+00_rb,1.8358e+00_rb,1.8100e+00_rb,1.7728e+00_rb,1.7348e+00_rb/) kao(:, 2, 4) = (/ & &1.5191e+00_rb,1.5067e+00_rb,1.4864e+00_rb,1.4586e+00_rb,1.4273e+00_rb/) kao(:, 3, 4) = (/ & &1.2421e+00_rb,1.2332e+00_rb,1.2184e+00_rb,1.1999e+00_rb,1.1763e+00_rb/) kao(:, 4, 4) = (/ & &1.0235e+00_rb,1.0199e+00_rb,1.0105e+00_rb,9.9649e-01_rb,9.8141e-01_rb/) kao(:, 5, 4) = (/ & &8.4444e-01_rb,8.4579e-01_rb,8.4104e-01_rb,8.3201e-01_rb,8.2148e-01_rb/) kao(:, 6, 4) = (/ & &6.9623e-01_rb,7.0066e-01_rb,6.9879e-01_rb,6.9507e-01_rb,6.8745e-01_rb/) kao(:, 7, 4) = (/ & &5.7271e-01_rb,5.7848e-01_rb,5.7971e-01_rb,5.7773e-01_rb,5.7376e-01_rb/) kao(:, 8, 4) = (/ & &4.7082e-01_rb,4.7730e-01_rb,4.8061e-01_rb,4.7996e-01_rb,4.7783e-01_rb/) kao(:, 9, 4) = (/ & &3.8997e-01_rb,3.9821e-01_rb,4.0249e-01_rb,4.0315e-01_rb,4.0145e-01_rb/) kao(:,10, 4) = (/ & &3.5012e-01_rb,3.4335e-01_rb,3.3833e-01_rb,3.3654e-01_rb,3.3448e-01_rb/) kao(:,11, 4) = (/ & &3.1060e-01_rb,3.1084e-01_rb,3.0440e-01_rb,2.9201e-01_rb,2.8482e-01_rb/) kao(:,12, 4) = (/ & &2.7883e-01_rb,2.7190e-01_rb,2.6805e-01_rb,2.5917e-01_rb,2.4860e-01_rb/) kao(:,13, 4) = (/ & &2.3244e-01_rb,2.2666e-01_rb,2.2365e-01_rb,2.1647e-01_rb,2.0828e-01_rb/) kao(:, 1, 5) = (/ & &3.3225e+00_rb,3.2784e+00_rb,3.2423e+00_rb,3.2074e+00_rb,3.1704e+00_rb/) kao(:, 2, 5) = (/ & &2.7581e+00_rb,2.7256e+00_rb,2.6962e+00_rb,2.6686e+00_rb,2.6375e+00_rb/) kao(:, 3, 5) = (/ & &2.2798e+00_rb,2.2570e+00_rb,2.2330e+00_rb,2.2089e+00_rb,2.1829e+00_rb/) kao(:, 4, 5) = (/ & &1.8979e+00_rb,1.8796e+00_rb,1.8601e+00_rb,1.8393e+00_rb,1.8181e+00_rb/) kao(:, 5, 5) = (/ & &1.5861e+00_rb,1.5695e+00_rb,1.5550e+00_rb,1.5372e+00_rb,1.5203e+00_rb/) kao(:, 6, 5) = (/ & &1.3252e+00_rb,1.3124e+00_rb,1.3013e+00_rb,1.2872e+00_rb,1.2740e+00_rb/) kao(:, 7, 5) = (/ & &1.1027e+00_rb,1.0966e+00_rb,1.0870e+00_rb,1.0776e+00_rb,1.0667e+00_rb/) kao(:, 8, 5) = (/ & &9.1563e-01_rb,9.1410e-01_rb,9.0764e-01_rb,8.9982e-01_rb,8.9251e-01_rb/) kao(:, 9, 5) = (/ & &7.6595e-01_rb,7.6784e-01_rb,7.6494e-01_rb,7.5888e-01_rb,7.5288e-01_rb/) kao(:,10, 5) = (/ & &6.3388e-01_rb,6.4169e-01_rb,6.4724e-01_rb,6.4562e-01_rb,6.3971e-01_rb/) kao(:,11, 5) = (/ & &5.2794e-01_rb,5.2411e-01_rb,5.2455e-01_rb,5.2936e-01_rb,5.2927e-01_rb/) kao(:,12, 5) = (/ & &4.3721e-01_rb,4.3826e-01_rb,4.3490e-01_rb,4.3598e-01_rb,4.3794e-01_rb/) kao(:,13, 5) = (/ & &3.6693e-01_rb,3.6670e-01_rb,3.6374e-01_rb,3.6513e-01_rb,3.6694e-01_rb/) kao(:, 1, 6) = (/ & &6.6283e+00_rb,6.5357e+00_rb,6.4205e+00_rb,6.3046e+00_rb,6.1937e+00_rb/) kao(:, 2, 6) = (/ & &5.5921e+00_rb,5.5122e+00_rb,5.4227e+00_rb,5.3355e+00_rb,5.2548e+00_rb/) kao(:, 3, 6) = (/ & &4.6918e+00_rb,4.6295e+00_rb,4.5667e+00_rb,4.5016e+00_rb,4.4390e+00_rb/) kao(:, 4, 6) = (/ & &3.9477e+00_rb,3.9046e+00_rb,3.8607e+00_rb,3.8148e+00_rb,3.7628e+00_rb/) kao(:, 5, 6) = (/ & &3.3255e+00_rb,3.2963e+00_rb,3.2647e+00_rb,3.2299e+00_rb,3.1875e+00_rb/) kao(:, 6, 6) = (/ & &2.7972e+00_rb,2.7784e+00_rb,2.7561e+00_rb,2.7282e+00_rb,2.6941e+00_rb/) kao(:, 7, 6) = (/ & &2.3458e+00_rb,2.3342e+00_rb,2.3185e+00_rb,2.2969e+00_rb,2.2704e+00_rb/) kao(:, 8, 6) = (/ & &1.9572e+00_rb,1.9527e+00_rb,1.9423e+00_rb,1.9266e+00_rb,1.9056e+00_rb/) kao(:, 9, 6) = (/ & &1.6385e+00_rb,1.6357e+00_rb,1.6281e+00_rb,1.6171e+00_rb,1.6000e+00_rb/) kao(:,10, 6) = (/ & &1.4144e+00_rb,1.4143e+00_rb,1.4078e+00_rb,1.4009e+00_rb,1.3895e+00_rb/) kao(:,11, 6) = (/ & &1.1820e+00_rb,1.1847e+00_rb,1.1842e+00_rb,1.1773e+00_rb,1.1681e+00_rb/) kao(:,12, 6) = (/ & &9.7725e-01_rb,9.8091e-01_rb,9.8204e-01_rb,9.7703e-01_rb,9.7159e-01_rb/) kao(:,13, 6) = (/ & &8.1815e-01_rb,8.2185e-01_rb,8.2056e-01_rb,8.1693e-01_rb,8.1119e-01_rb/) kao(:, 1, 7) = (/ & &1.4313e+01_rb,1.4082e+01_rb,1.3850e+01_rb,1.3623e+01_rb,1.3382e+01_rb/) kao(:, 2, 7) = (/ & &1.2515e+01_rb,1.2314e+01_rb,1.2108e+01_rb,1.1882e+01_rb,1.1633e+01_rb/) kao(:, 3, 7) = (/ & &1.0802e+01_rb,1.0631e+01_rb,1.0439e+01_rb,1.0228e+01_rb,1.0005e+01_rb/) kao(:, 4, 7) = (/ & &9.2958e+00_rb,9.1469e+00_rb,8.9753e+00_rb,8.7884e+00_rb,8.6020e+00_rb/) kao(:, 5, 7) = (/ & &7.9646e+00_rb,7.8400e+00_rb,7.6929e+00_rb,7.5385e+00_rb,7.3901e+00_rb/) kao(:, 6, 7) = (/ & &6.7986e+00_rb,6.6983e+00_rb,6.5761e+00_rb,6.4518e+00_rb,6.3346e+00_rb/) kao(:, 7, 7) = (/ & &5.7703e+00_rb,5.6909e+00_rb,5.5962e+00_rb,5.4989e+00_rb,5.4062e+00_rb/) kao(:, 8, 7) = (/ & &4.8763e+00_rb,4.8159e+00_rb,4.7441e+00_rb,4.6692e+00_rb,4.5978e+00_rb/) kao(:, 9, 7) = (/ & &4.0868e+00_rb,4.0475e+00_rb,3.9918e+00_rb,3.9346e+00_rb,3.8784e+00_rb/) kao(:,10, 7) = (/ & &3.5589e+00_rb,3.5215e+00_rb,3.4698e+00_rb,3.4096e+00_rb,3.3531e+00_rb/) kao(:,11, 7) = (/ & &3.0702e+00_rb,3.0357e+00_rb,2.9927e+00_rb,2.9456e+00_rb,2.8950e+00_rb/) kao(:,12, 7) = (/ & &2.6022e+00_rb,2.5722e+00_rb,2.5392e+00_rb,2.5002e+00_rb,2.4548e+00_rb/) kao(:,13, 7) = (/ & &2.1727e+00_rb,2.1507e+00_rb,2.1220e+00_rb,2.0892e+00_rb,2.0541e+00_rb/) kao(:, 1, 8) = (/ & &3.4174e+01_rb,3.3741e+01_rb,3.3273e+01_rb,3.2762e+01_rb,3.2231e+01_rb/) kao(:, 2, 8) = (/ & &3.1501e+01_rb,3.1077e+01_rb,3.0621e+01_rb,3.0167e+01_rb,2.9717e+01_rb/) kao(:, 3, 8) = (/ & &2.8624e+01_rb,2.8247e+01_rb,2.7846e+01_rb,2.7455e+01_rb,2.7037e+01_rb/) kao(:, 4, 8) = (/ & &2.5860e+01_rb,2.5530e+01_rb,2.5179e+01_rb,2.4813e+01_rb,2.4424e+01_rb/) kao(:, 5, 8) = (/ & &2.3133e+01_rb,2.2868e+01_rb,2.2552e+01_rb,2.2222e+01_rb,2.1874e+01_rb/) kao(:, 6, 8) = (/ & &2.0417e+01_rb,2.0203e+01_rb,1.9954e+01_rb,1.9685e+01_rb,1.9370e+01_rb/) kao(:, 7, 8) = (/ & &1.7808e+01_rb,1.7656e+01_rb,1.7468e+01_rb,1.7234e+01_rb,1.6957e+01_rb/) kao(:, 8, 8) = (/ & &1.5349e+01_rb,1.5257e+01_rb,1.5109e+01_rb,1.4918e+01_rb,1.4683e+01_rb/) kao(:, 9, 8) = (/ & &1.3085e+01_rb,1.3031e+01_rb,1.2930e+01_rb,1.2779e+01_rb,1.2590e+01_rb/) kao(:,10, 8) = (/ & &1.0971e+01_rb,1.0917e+01_rb,1.0852e+01_rb,1.0748e+01_rb,1.0603e+01_rb/) kao(:,11, 8) = (/ & &9.5673e+00_rb,9.4985e+00_rb,9.4337e+00_rb,9.3153e+00_rb,9.1800e+00_rb/) kao(:,12, 8) = (/ & &8.2885e+00_rb,8.2471e+00_rb,8.1591e+00_rb,8.0541e+00_rb,7.9348e+00_rb/) kao(:,13, 8) = (/ & &7.1017e+00_rb,7.0462e+00_rb,6.9629e+00_rb,6.8569e+00_rb,6.7518e+00_rb/) kao(:, 1, 9) = (/ & &9.9761e+01_rb,9.8762e+01_rb,9.7605e+01_rb,9.6340e+01_rb,9.4995e+01_rb/) kao(:, 2, 9) = (/ & &9.9948e+01_rb,9.8866e+01_rb,9.7644e+01_rb,9.6363e+01_rb,9.4985e+01_rb/) kao(:, 3, 9) = (/ & &9.9007e+01_rb,9.8007e+01_rb,9.6838e+01_rb,9.5570e+01_rb,9.4251e+01_rb/) kao(:, 4, 9) = (/ & &9.6662e+01_rb,9.5791e+01_rb,9.4804e+01_rb,9.3746e+01_rb,9.2558e+01_rb/) kao(:, 5, 9) = (/ & &9.3093e+01_rb,9.2470e+01_rb,9.1704e+01_rb,9.0779e+01_rb,8.9739e+01_rb/) kao(:, 6, 9) = (/ & &8.8508e+01_rb,8.8114e+01_rb,8.7530e+01_rb,8.6816e+01_rb,8.5948e+01_rb/) kao(:, 7, 9) = (/ & &8.2974e+01_rb,8.2771e+01_rb,8.2394e+01_rb,8.1879e+01_rb,8.1118e+01_rb/) kao(:, 8, 9) = (/ & &7.6684e+01_rb,7.6645e+01_rb,7.6457e+01_rb,7.6020e+01_rb,7.5326e+01_rb/) kao(:, 9, 9) = (/ & &6.9973e+01_rb,7.0055e+01_rb,6.9978e+01_rb,6.9596e+01_rb,6.8941e+01_rb/) kao(:,10, 9) = (/ & &6.2676e+01_rb,6.2928e+01_rb,6.2907e+01_rb,6.2549e+01_rb,6.1993e+01_rb/) kao(:,11, 9) = (/ & &5.5263e+01_rb,5.5480e+01_rb,5.5306e+01_rb,5.4944e+01_rb,5.4442e+01_rb/) kao(:,12, 9) = (/ & &4.8636e+01_rb,4.8624e+01_rb,4.8458e+01_rb,4.8148e+01_rb,4.7712e+01_rb/) kao(:,13, 9) = (/ & &4.2167e+01_rb,4.2169e+01_rb,4.2037e+01_rb,4.1794e+01_rb,4.1453e+01_rb/) kao(:, 1,10) = (/ & &2.2059e+02_rb,2.1997e+02_rb,2.1921e+02_rb,2.1843e+02_rb,2.1743e+02_rb/) kao(:, 2,10) = (/ & &2.3102e+02_rb,2.3132e+02_rb,2.3151e+02_rb,2.3081e+02_rb,2.3008e+02_rb/) kao(:, 3,10) = (/ & &2.4111e+02_rb,2.4197e+02_rb,2.4166e+02_rb,2.4016e+02_rb,2.3836e+02_rb/) kao(:, 4,10) = (/ & &2.5158e+02_rb,2.5229e+02_rb,2.5082e+02_rb,2.4795e+02_rb,2.4522e+02_rb/) kao(:, 5,10) = (/ & &2.5765e+02_rb,2.5772e+02_rb,2.5582e+02_rb,2.5268e+02_rb,2.4923e+02_rb/) kao(:, 6,10) = (/ & &2.5856e+02_rb,2.5749e+02_rb,2.5502e+02_rb,2.5166e+02_rb,2.4826e+02_rb/) kao(:, 7,10) = (/ & &2.5368e+02_rb,2.5237e+02_rb,2.4999e+02_rb,2.4711e+02_rb,2.4470e+02_rb/) kao(:, 8,10) = (/ & &2.4476e+02_rb,2.4415e+02_rb,2.4213e+02_rb,2.4060e+02_rb,2.3968e+02_rb/) kao(:, 9,10) = (/ & &2.3178e+02_rb,2.3169e+02_rb,2.3048e+02_rb,2.3066e+02_rb,2.3132e+02_rb/) kao(:,10,10) = (/ & &2.1736e+02_rb,2.1726e+02_rb,2.1730e+02_rb,2.1880e+02_rb,2.1934e+02_rb/) kao(:,11,10) = (/ & &2.0114e+02_rb,2.0172e+02_rb,2.0351e+02_rb,2.0457e+02_rb,2.0387e+02_rb/) kao(:,12,10) = (/ & &1.8488e+02_rb,1.8650e+02_rb,1.8715e+02_rb,1.8619e+02_rb,1.8458e+02_rb/) kao(:,13,10) = (/ & &1.7142e+02_rb,1.7281e+02_rb,1.7236e+02_rb,1.7114e+02_rb,1.6934e+02_rb/) kao(:, 1,11) = (/ & &2.9459e+02_rb,2.9267e+02_rb,2.9151e+02_rb,2.8931e+02_rb,2.8695e+02_rb/) kao(:, 2,11) = (/ & &3.1654e+02_rb,3.1722e+02_rb,3.1773e+02_rb,3.1519e+02_rb,3.1185e+02_rb/) kao(:, 3,11) = (/ & &3.3345e+02_rb,3.3361e+02_rb,3.3487e+02_rb,3.3474e+02_rb,3.3330e+02_rb/) kao(:, 4,11) = (/ & &3.4222e+02_rb,3.4143e+02_rb,3.4230e+02_rb,3.4254e+02_rb,3.4132e+02_rb/) kao(:, 5,11) = (/ & &3.5206e+02_rb,3.5057e+02_rb,3.4997e+02_rb,3.4857e+02_rb,3.4588e+02_rb/) kao(:, 6,11) = (/ & &3.6028e+02_rb,3.6070e+02_rb,3.6119e+02_rb,3.5790e+02_rb,3.5262e+02_rb/) kao(:, 7,11) = (/ & &3.6620e+02_rb,3.6652e+02_rb,3.6631e+02_rb,3.6276e+02_rb,3.5799e+02_rb/) kao(:, 8,11) = (/ & &3.6855e+02_rb,3.6845e+02_rb,3.6741e+02_rb,3.6316e+02_rb,3.5815e+02_rb/) kao(:, 9,11) = (/ & &3.6490e+02_rb,3.6506e+02_rb,3.6353e+02_rb,3.5922e+02_rb,3.5455e+02_rb/) kao(:,10,11) = (/ & &3.5317e+02_rb,3.5433e+02_rb,3.5339e+02_rb,3.5013e+02_rb,3.4719e+02_rb/) kao(:,11,11) = (/ & &3.3639e+02_rb,3.3748e+02_rb,3.3591e+02_rb,3.3444e+02_rb,3.3466e+02_rb/) kao(:,12,11) = (/ & &3.1388e+02_rb,3.1454e+02_rb,3.1501e+02_rb,3.1656e+02_rb,3.1666e+02_rb/) kao(:,13,11) = (/ & &2.9044e+02_rb,2.9107e+02_rb,2.9274e+02_rb,2.9324e+02_rb,2.9124e+02_rb/) kao(:, 1,12) = (/ & &3.8243e+02_rb,3.8335e+02_rb,3.8560e+02_rb,3.8967e+02_rb,3.9390e+02_rb/) kao(:, 2,12) = (/ & &4.2476e+02_rb,4.2018e+02_rb,4.1643e+02_rb,4.1764e+02_rb,4.1841e+02_rb/) kao(:, 3,12) = (/ & &4.5902e+02_rb,4.5366e+02_rb,4.4789e+02_rb,4.4616e+02_rb,4.4366e+02_rb/) kao(:, 4,12) = (/ & &4.8576e+02_rb,4.8192e+02_rb,4.7838e+02_rb,4.7712e+02_rb,4.7436e+02_rb/) kao(:, 5,12) = (/ & &5.0548e+02_rb,5.0130e+02_rb,4.9886e+02_rb,4.9965e+02_rb,4.9992e+02_rb/) kao(:, 6,12) = (/ & &5.2714e+02_rb,5.1902e+02_rb,5.1379e+02_rb,5.1543e+02_rb,5.1780e+02_rb/) kao(:, 7,12) = (/ & &5.5149e+02_rb,5.4136e+02_rb,5.3395e+02_rb,5.3343e+02_rb,5.3337e+02_rb/) kao(:, 8,12) = (/ & &5.7260e+02_rb,5.6332e+02_rb,5.5702e+02_rb,5.5596e+02_rb,5.5242e+02_rb/) kao(:, 9,12) = (/ & &5.8640e+02_rb,5.7843e+02_rb,5.7443e+02_rb,5.7374e+02_rb,5.6970e+02_rb/) kao(:,10,12) = (/ & &5.9437e+02_rb,5.8760e+02_rb,5.8375e+02_rb,5.8166e+02_rb,5.7639e+02_rb/) kao(:,11,12) = (/ & &5.8998e+02_rb,5.8468e+02_rb,5.8336e+02_rb,5.7943e+02_rb,5.7161e+02_rb/) kao(:,12,12) = (/ & &5.7429e+02_rb,5.7360e+02_rb,5.7128e+02_rb,5.6564e+02_rb,5.6011e+02_rb/) kao(:,13,12) = (/ & &5.5035e+02_rb,5.5083e+02_rb,5.4893e+02_rb,5.4549e+02_rb,5.4357e+02_rb/) kao(:, 1,13) = (/ & &4.9343e+02_rb,4.9586e+02_rb,4.9750e+02_rb,4.9873e+02_rb,4.9898e+02_rb/) kao(:, 2,13) = (/ & &5.4485e+02_rb,5.4781e+02_rb,5.5082e+02_rb,5.5168e+02_rb,5.5417e+02_rb/) kao(:, 3,13) = (/ & &6.1399e+02_rb,6.1257e+02_rb,6.1216e+02_rb,6.1051e+02_rb,6.1193e+02_rb/) kao(:, 4,13) = (/ & &6.9330e+02_rb,6.8682e+02_rb,6.8040e+02_rb,6.7417e+02_rb,6.7247e+02_rb/) kao(:, 5,13) = (/ & &7.6881e+02_rb,7.6265e+02_rb,7.5375e+02_rb,7.4386e+02_rb,7.3721e+02_rb/) kao(:, 6,13) = (/ & &8.3052e+02_rb,8.2987e+02_rb,8.2363e+02_rb,8.1336e+02_rb,8.0445e+02_rb/) kao(:, 7,13) = (/ & &8.8082e+02_rb,8.8344e+02_rb,8.8117e+02_rb,8.7395e+02_rb,8.6653e+02_rb/) kao(:, 8,13) = (/ & &9.2485e+02_rb,9.2603e+02_rb,9.2355e+02_rb,9.1727e+02_rb,9.1414e+02_rb/) kao(:, 9,13) = (/ & &9.7276e+02_rb,9.7146e+02_rb,9.6566e+02_rb,9.5635e+02_rb,9.5212e+02_rb/) kao(:,10,13) = (/ & &1.0175e+03_rb,1.0163e+03_rb,1.0069e+03_rb,9.9610e+02_rb,9.9075e+02_rb/) kao(:,11,13) = (/ & &1.0564e+03_rb,1.0547e+03_rb,1.0423e+03_rb,1.0316e+03_rb,1.0272e+03_rb/) kao(:,12,13) = (/ & &1.0856e+03_rb,1.0807e+03_rb,1.0716e+03_rb,1.0657e+03_rb,1.0617e+03_rb/) kao(:,13,13) = (/ & &1.1006e+03_rb,1.0930e+03_rb,1.0868e+03_rb,1.0845e+03_rb,1.0783e+03_rb/) kao(:, 1,14) = (/ & &7.0211e+02_rb,7.0175e+02_rb,7.0131e+02_rb,6.9909e+02_rb,6.9776e+02_rb/) kao(:, 2,14) = (/ & &7.9113e+02_rb,7.9461e+02_rb,7.9834e+02_rb,7.9969e+02_rb,7.9813e+02_rb/) kao(:, 3,14) = (/ & &8.8896e+02_rb,8.9686e+02_rb,9.0679e+02_rb,9.1320e+02_rb,9.1562e+02_rb/) kao(:, 4,14) = (/ & &9.9457e+02_rb,1.0048e+03_rb,1.0163e+03_rb,1.0256e+03_rb,1.0309e+03_rb/) kao(:, 5,14) = (/ & &1.1171e+03_rb,1.1226e+03_rb,1.1342e+03_rb,1.1464e+03_rb,1.1541e+03_rb/) kao(:, 6,14) = (/ & &1.2650e+03_rb,1.2607e+03_rb,1.2659e+03_rb,1.2764e+03_rb,1.2854e+03_rb/) kao(:, 7,14) = (/ & &1.4362e+03_rb,1.4239e+03_rb,1.4228e+03_rb,1.4266e+03_rb,1.4315e+03_rb/) kao(:, 8,14) = (/ & &1.6263e+03_rb,1.6088e+03_rb,1.5994e+03_rb,1.5975e+03_rb,1.5958e+03_rb/) kao(:, 9,14) = (/ & &1.8039e+03_rb,1.7901e+03_rb,1.7817e+03_rb,1.7757e+03_rb,1.7698e+03_rb/) kao(:,10,14) = (/ & &1.9623e+03_rb,1.9495e+03_rb,1.9467e+03_rb,1.9462e+03_rb,1.9411e+03_rb/) kao(:,11,14) = (/ & &2.1010e+03_rb,2.0894e+03_rb,2.0912e+03_rb,2.0963e+03_rb,2.0914e+03_rb/) kao(:,12,14) = (/ & &2.2319e+03_rb,2.2209e+03_rb,2.2201e+03_rb,2.2217e+03_rb,2.2137e+03_rb/) kao(:,13,14) = (/ & &2.3516e+03_rb,2.3425e+03_rb,2.3393e+03_rb,2.3344e+03_rb,2.3274e+03_rb/) kao(:, 1,15) = (/ & &1.0409e+03_rb,1.0602e+03_rb,1.0710e+03_rb,1.0853e+03_rb,1.1018e+03_rb/) kao(:, 2,15) = (/ & &1.2151e+03_rb,1.2303e+03_rb,1.2347e+03_rb,1.2478e+03_rb,1.2680e+03_rb/) kao(:, 3,15) = (/ & &1.4193e+03_rb,1.4320e+03_rb,1.4382e+03_rb,1.4463e+03_rb,1.4605e+03_rb/) kao(:, 4,15) = (/ & &1.6341e+03_rb,1.6472e+03_rb,1.6601e+03_rb,1.6700e+03_rb,1.6846e+03_rb/) kao(:, 5,15) = (/ & &1.8786e+03_rb,1.8904e+03_rb,1.9028e+03_rb,1.9104e+03_rb,1.9250e+03_rb/) kao(:, 6,15) = (/ & &2.1492e+03_rb,2.1663e+03_rb,2.1776e+03_rb,2.1833e+03_rb,2.1940e+03_rb/) kao(:, 7,15) = (/ & &2.4310e+03_rb,2.4567e+03_rb,2.4727e+03_rb,2.4804e+03_rb,2.4891e+03_rb/) kao(:, 8,15) = (/ & &2.7261e+03_rb,2.7552e+03_rb,2.7803e+03_rb,2.7970e+03_rb,2.8141e+03_rb/) kao(:, 9,15) = (/ & &3.0867e+03_rb,3.0994e+03_rb,3.1170e+03_rb,3.1402e+03_rb,3.1679e+03_rb/) kao(:,10,15) = (/ & &3.5269e+03_rb,3.5204e+03_rb,3.5225e+03_rb,3.5345e+03_rb,3.5601e+03_rb/) kao(:,11,15) = (/ & &4.0271e+03_rb,4.0096e+03_rb,4.0024e+03_rb,4.0052e+03_rb,4.0246e+03_rb/) kao(:,12,15) = (/ & &4.5798e+03_rb,4.5585e+03_rb,4.5503e+03_rb,4.5442e+03_rb,4.5532e+03_rb/) kao(:,13,15) = (/ & &5.1911e+03_rb,5.1717e+03_rb,5.1553e+03_rb,5.1395e+03_rb,5.1397e+03_rb/) kao(:, 1,16) = (/ & &1.2071e+03_rb,1.2414e+03_rb,1.3062e+03_rb,1.3645e+03_rb,1.4123e+03_rb/) kao(:, 2,16) = (/ & &1.4670e+03_rb,1.4886e+03_rb,1.5547e+03_rb,1.6269e+03_rb,1.6875e+03_rb/) kao(:, 3,16) = (/ & &1.7847e+03_rb,1.7994e+03_rb,1.8394e+03_rb,1.9097e+03_rb,1.9863e+03_rb/) kao(:, 4,16) = (/ & &2.1409e+03_rb,2.1717e+03_rb,2.1953e+03_rb,2.2438e+03_rb,2.3059e+03_rb/) kao(:, 5,16) = (/ & &2.5417e+03_rb,2.5918e+03_rb,2.6196e+03_rb,2.6591e+03_rb,2.7124e+03_rb/) kao(:, 6,16) = (/ & &3.0242e+03_rb,3.0688e+03_rb,3.1113e+03_rb,3.1534e+03_rb,3.2074e+03_rb/) kao(:, 7,16) = (/ & &3.6491e+03_rb,3.6695e+03_rb,3.6939e+03_rb,3.7229e+03_rb,3.7906e+03_rb/) kao(:, 8,16) = (/ & &4.4223e+03_rb,4.4232e+03_rb,4.4297e+03_rb,4.4268e+03_rb,4.4608e+03_rb/) kao(:, 9,16) = (/ & &5.3502e+03_rb,5.3400e+03_rb,5.3338e+03_rb,5.3140e+03_rb,5.2816e+03_rb/) kao(:,10,16) = (/ & &6.4333e+03_rb,6.4257e+03_rb,6.4093e+03_rb,6.3744e+03_rb,6.3162e+03_rb/) kao(:,11,16) = (/ & &7.6805e+03_rb,7.6778e+03_rb,7.6466e+03_rb,7.5865e+03_rb,7.5106e+03_rb/) kao(:,12,16) = (/ & &9.1073e+03_rb,9.0972e+03_rb,9.0428e+03_rb,8.9445e+03_rb,8.8997e+03_rb/) kao(:,13,16) = (/ & &1.0699e+04_rb,1.0668e+04_rb,1.0580e+04_rb,1.0493e+04_rb,1.0473e+04_rb/) ! The array KBO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels < ~100mb and temperatures. The first ! index in the array, JT, which runs from 1 to 5, corresponds to ! different temperatures. More specifically, JT = 3 means that the ! data are for the reference temperature TREF for this pressure ! level, JT = 2 refers to the temperature TREF-15, JT = 1 is for ! TREF-30, JT = 4 is for TREF+15, and JT = 5 is for TREF+30. ! The second index, JP, runs from 13 to 59 and refers to the JPth ! reference pressure level (see taumol.f for the value of these ! pressure levels in mb). The third index, IG, goes from 1 to 16, ! and tells us which g-interval the absorption coefficients are for. kbo(:,13, 1) = (/ & &1.0144e-02_rb,1.1539e-02_rb,1.2861e-02_rb,1.4225e-02_rb,1.5224e-02_rb/) kbo(:,14, 1) = (/ & &8.4327e-03_rb,9.5989e-03_rb,1.0734e-02_rb,1.1890e-02_rb,1.2872e-02_rb/) kbo(:,15, 1) = (/ & &6.9967e-03_rb,7.9676e-03_rb,8.9559e-03_rb,9.9119e-03_rb,1.0533e-02_rb/) kbo(:,16, 1) = (/ & &5.7988e-03_rb,6.6068e-03_rb,7.4553e-03_rb,8.2402e-03_rb,8.5310e-03_rb/) kbo(:,17, 1) = (/ & &4.8055e-03_rb,5.4781e-03_rb,6.1884e-03_rb,6.8148e-03_rb,6.9563e-03_rb/) kbo(:,18, 1) = (/ & &3.9877e-03_rb,4.5423e-03_rb,5.1325e-03_rb,5.5098e-03_rb,5.6946e-03_rb/) kbo(:,19, 1) = (/ & &3.3110e-03_rb,3.7880e-03_rb,4.2806e-03_rb,4.4996e-03_rb,4.6784e-03_rb/) kbo(:,20, 1) = (/ & &2.7631e-03_rb,3.1756e-03_rb,3.5803e-03_rb,3.7100e-03_rb,3.8598e-03_rb/) kbo(:,21, 1) = (/ & &2.3113e-03_rb,2.6584e-03_rb,2.9347e-03_rb,3.0481e-03_rb,3.1824e-03_rb/) kbo(:,22, 1) = (/ & &1.9510e-03_rb,2.2389e-03_rb,2.4076e-03_rb,2.5106e-03_rb,2.6293e-03_rb/) kbo(:,23, 1) = (/ & &1.6490e-03_rb,1.8833e-03_rb,1.9839e-03_rb,2.0707e-03_rb,2.1757e-03_rb/) kbo(:,24, 1) = (/ & &1.3921e-03_rb,1.5822e-03_rb,1.6416e-03_rb,1.7136e-03_rb,1.8019e-03_rb/) kbo(:,25, 1) = (/ & &1.1754e-03_rb,1.2986e-03_rb,1.3546e-03_rb,1.4184e-03_rb,1.4951e-03_rb/) kbo(:,26, 1) = (/ & &9.9384e-04_rb,1.0692e-03_rb,1.1181e-03_rb,1.1767e-03_rb,1.2423e-03_rb/) kbo(:,27, 1) = (/ & &8.3932e-04_rb,8.8446e-04_rb,9.2496e-04_rb,9.7555e-04_rb,1.0286e-03_rb/) kbo(:,28, 1) = (/ & &7.0655e-04_rb,7.3418e-04_rb,7.6647e-04_rb,8.0853e-04_rb,8.5091e-04_rb/) kbo(:,29, 1) = (/ & &5.8016e-04_rb,6.0558e-04_rb,6.3439e-04_rb,6.6940e-04_rb,7.0187e-04_rb/) kbo(:,30, 1) = (/ & &4.7757e-04_rb,4.9924e-04_rb,5.2442e-04_rb,5.5397e-04_rb,5.7829e-04_rb/) kbo(:,31, 1) = (/ & &3.9420e-04_rb,4.1123e-04_rb,4.3298e-04_rb,4.5563e-04_rb,4.7437e-04_rb/) kbo(:,32, 1) = (/ & &3.2571e-04_rb,3.3960e-04_rb,3.5704e-04_rb,3.7387e-04_rb,3.8849e-04_rb/) kbo(:,33, 1) = (/ & &2.6741e-04_rb,2.8027e-04_rb,2.9349e-04_rb,3.0636e-04_rb,3.1790e-04_rb/) kbo(:,34, 1) = (/ & &2.2029e-04_rb,2.3073e-04_rb,2.4120e-04_rb,2.5116e-04_rb,2.5977e-04_rb/) kbo(:,35, 1) = (/ & &1.8092e-04_rb,1.8913e-04_rb,1.9723e-04_rb,2.0490e-04_rb,2.1120e-04_rb/) kbo(:,36, 1) = (/ & &1.4775e-04_rb,1.5426e-04_rb,1.6038e-04_rb,1.6643e-04_rb,1.7137e-04_rb/) kbo(:,37, 1) = (/ & &1.2005e-04_rb,1.2534e-04_rb,1.3001e-04_rb,1.3495e-04_rb,1.3888e-04_rb/) kbo(:,38, 1) = (/ & &9.7560e-05_rb,1.0177e-04_rb,1.0540e-04_rb,1.0924e-04_rb,1.1256e-04_rb/) kbo(:,39, 1) = (/ & &7.9344e-05_rb,8.2615e-05_rb,8.5368e-05_rb,8.8405e-05_rb,9.1186e-05_rb/) kbo(:,40, 1) = (/ & &6.4575e-05_rb,6.7008e-05_rb,6.9369e-05_rb,7.1740e-05_rb,7.4003e-05_rb/) kbo(:,41, 1) = (/ & &5.2697e-05_rb,5.4334e-05_rb,5.6409e-05_rb,5.8228e-05_rb,6.0014e-05_rb/) kbo(:,42, 1) = (/ & &4.3089e-05_rb,4.4120e-05_rb,4.5815e-05_rb,4.7218e-05_rb,4.8658e-05_rb/) kbo(:,43, 1) = (/ & &3.4429e-05_rb,3.5847e-05_rb,3.7149e-05_rb,3.8380e-05_rb,3.9479e-05_rb/) kbo(:,44, 1) = (/ & &2.7169e-05_rb,2.9300e-05_rb,3.0128e-05_rb,3.1175e-05_rb,3.2021e-05_rb/) kbo(:,45, 1) = (/ & &2.1411e-05_rb,2.3782e-05_rb,2.4360e-05_rb,2.5287e-05_rb,2.6025e-05_rb/) kbo(:,46, 1) = (/ & &1.6754e-05_rb,1.8795e-05_rb,1.9931e-05_rb,2.0532e-05_rb,2.1145e-05_rb/) kbo(:,47, 1) = (/ & &1.3067e-05_rb,1.4757e-05_rb,1.6247e-05_rb,1.6575e-05_rb,1.7184e-05_rb/) kbo(:,48, 1) = (/ & &1.0193e-05_rb,1.1527e-05_rb,1.2841e-05_rb,1.3599e-05_rb,1.3946e-05_rb/) kbo(:,49, 1) = (/ & &7.9417e-06_rb,8.9971e-06_rb,1.0112e-05_rb,1.1045e-05_rb,1.1285e-05_rb/) kbo(:,50, 1) = (/ & &6.1950e-06_rb,7.0678e-06_rb,7.9571e-06_rb,8.7859e-06_rb,9.3116e-06_rb/) kbo(:,51, 1) = (/ & &4.8121e-06_rb,5.5540e-06_rb,6.2634e-06_rb,6.9968e-06_rb,7.5750e-06_rb/) kbo(:,52, 1) = (/ & &3.7732e-06_rb,4.3400e-06_rb,4.9368e-06_rb,5.5255e-06_rb,6.0507e-06_rb/) kbo(:,53, 1) = (/ & &2.9588e-06_rb,3.3855e-06_rb,3.8934e-06_rb,4.3558e-06_rb,4.8377e-06_rb/) kbo(:,54, 1) = (/ & &2.2637e-06_rb,2.6550e-06_rb,3.0640e-06_rb,3.4670e-06_rb,3.8645e-06_rb/) kbo(:,55, 1) = (/ & &1.7394e-06_rb,2.1318e-06_rb,2.4092e-06_rb,2.7718e-06_rb,3.0969e-06_rb/) kbo(:,56, 1) = (/ & &1.3379e-06_rb,1.6962e-06_rb,1.9182e-06_rb,2.2019e-06_rb,2.5057e-06_rb/) kbo(:,57, 1) = (/ & &1.0894e-06_rb,1.3086e-06_rb,1.5250e-06_rb,1.7825e-06_rb,2.0078e-06_rb/) kbo(:,58, 1) = (/ & &8.2505e-07_rb,1.0180e-06_rb,1.2548e-06_rb,1.4584e-06_rb,1.7398e-06_rb/) kbo(:,59, 1) = (/ & &7.1802e-07_rb,8.6784e-07_rb,1.0974e-06_rb,1.3504e-06_rb,1.4314e-06_rb/) kbo(:,13, 2) = (/ & &4.1938e-02_rb,4.3540e-02_rb,4.4990e-02_rb,4.6074e-02_rb,4.6999e-02_rb/) kbo(:,14, 2) = (/ & &3.5928e-02_rb,3.7447e-02_rb,3.8935e-02_rb,3.9816e-02_rb,4.0666e-02_rb/) kbo(:,15, 2) = (/ & &3.0539e-02_rb,3.1836e-02_rb,3.3086e-02_rb,3.4096e-02_rb,3.5203e-02_rb/) kbo(:,16, 2) = (/ & &2.5542e-02_rb,2.6607e-02_rb,2.7654e-02_rb,2.8622e-02_rb,2.9849e-02_rb/) kbo(:,17, 2) = (/ & &2.1059e-02_rb,2.2159e-02_rb,2.3097e-02_rb,2.3970e-02_rb,2.5021e-02_rb/) kbo(:,18, 2) = (/ & &1.7420e-02_rb,1.8344e-02_rb,1.9223e-02_rb,2.0092e-02_rb,2.0887e-02_rb/) kbo(:,19, 2) = (/ & &1.4527e-02_rb,1.5294e-02_rb,1.6071e-02_rb,1.6950e-02_rb,1.7660e-02_rb/) kbo(:,20, 2) = (/ & &1.2057e-02_rb,1.2740e-02_rb,1.3375e-02_rb,1.4212e-02_rb,1.4836e-02_rb/) kbo(:,21, 2) = (/ & &1.0024e-02_rb,1.0630e-02_rb,1.1202e-02_rb,1.1918e-02_rb,1.2460e-02_rb/) kbo(:,22, 2) = (/ & &8.3586e-03_rb,8.8721e-03_rb,9.4319e-03_rb,1.0016e-02_rb,1.0451e-02_rb/) kbo(:,23, 2) = (/ & &7.0023e-03_rb,7.4292e-03_rb,7.9425e-03_rb,8.4001e-03_rb,8.6668e-03_rb/) kbo(:,24, 2) = (/ & &5.8805e-03_rb,6.2414e-03_rb,6.6855e-03_rb,7.0380e-03_rb,7.1881e-03_rb/) kbo(:,25, 2) = (/ & &4.9300e-03_rb,5.2659e-03_rb,5.6130e-03_rb,5.8139e-03_rb,5.9744e-03_rb/) kbo(:,26, 2) = (/ & &4.1346e-03_rb,4.4268e-03_rb,4.6994e-03_rb,4.8189e-03_rb,4.9700e-03_rb/) kbo(:,27, 2) = (/ & &3.4478e-03_rb,3.6949e-03_rb,3.8760e-03_rb,3.9800e-03_rb,4.1083e-03_rb/) kbo(:,28, 2) = (/ & &2.8662e-03_rb,3.0720e-03_rb,3.1855e-03_rb,3.2844e-03_rb,3.3841e-03_rb/) kbo(:,29, 2) = (/ & &2.3700e-03_rb,2.5289e-03_rb,2.6049e-03_rb,2.6846e-03_rb,2.7555e-03_rb/) kbo(:,30, 2) = (/ & &1.9529e-03_rb,2.0734e-03_rb,2.1236e-03_rb,2.1766e-03_rb,2.2279e-03_rb/) kbo(:,31, 2) = (/ & &1.5951e-03_rb,1.6761e-03_rb,1.7103e-03_rb,1.7458e-03_rb,1.7856e-03_rb/) kbo(:,32, 2) = (/ & &1.2965e-03_rb,1.3546e-03_rb,1.3767e-03_rb,1.4016e-03_rb,1.4345e-03_rb/) kbo(:,33, 2) = (/ & &1.0497e-03_rb,1.0916e-03_rb,1.1061e-03_rb,1.1259e-03_rb,1.1490e-03_rb/) kbo(:,34, 2) = (/ & &8.5263e-04_rb,8.8439e-04_rb,8.9299e-04_rb,9.0901e-04_rb,9.2683e-04_rb/) kbo(:,35, 2) = (/ & &6.8961e-04_rb,7.1452e-04_rb,7.2125e-04_rb,7.3408e-04_rb,7.4718e-04_rb/) kbo(:,36, 2) = (/ & &5.5538e-04_rb,5.7454e-04_rb,5.8468e-04_rb,5.9295e-04_rb,6.0312e-04_rb/) kbo(:,37, 2) = (/ & &4.4687e-04_rb,4.6228e-04_rb,4.7485e-04_rb,4.8052e-04_rb,4.8826e-04_rb/) kbo(:,38, 2) = (/ & &3.5911e-04_rb,3.7176e-04_rb,3.8278e-04_rb,3.8998e-04_rb,3.9487e-04_rb/) kbo(:,39, 2) = (/ & &2.8825e-04_rb,2.9868e-04_rb,3.0761e-04_rb,3.1500e-04_rb,3.2065e-04_rb/) kbo(:,40, 2) = (/ & &2.3221e-04_rb,2.4117e-04_rb,2.4916e-04_rb,2.5539e-04_rb,2.6149e-04_rb/) kbo(:,41, 2) = (/ & &1.8711e-04_rb,1.9520e-04_rb,2.0184e-04_rb,2.0732e-04_rb,2.1208e-04_rb/) kbo(:,42, 2) = (/ & &1.5044e-04_rb,1.5806e-04_rb,1.6349e-04_rb,1.6813e-04_rb,1.7186e-04_rb/) kbo(:,43, 2) = (/ & &1.2147e-04_rb,1.2754e-04_rb,1.3202e-04_rb,1.3603e-04_rb,1.3922e-04_rb/) kbo(:,44, 2) = (/ & &9.7631e-05_rb,1.0254e-04_rb,1.0664e-04_rb,1.1000e-04_rb,1.1278e-04_rb/) kbo(:,45, 2) = (/ & &7.8551e-05_rb,8.2386e-05_rb,8.6252e-05_rb,8.8821e-05_rb,9.1113e-05_rb/) kbo(:,46, 2) = (/ & &6.3082e-05_rb,6.6217e-05_rb,6.9264e-05_rb,7.1597e-05_rb,7.3596e-05_rb/) kbo(:,47, 2) = (/ & &5.0668e-05_rb,5.3148e-05_rb,5.5648e-05_rb,5.8023e-05_rb,5.9460e-05_rb/) kbo(:,48, 2) = (/ & &4.0723e-05_rb,4.2652e-05_rb,4.4714e-05_rb,4.6562e-05_rb,4.8110e-05_rb/) kbo(:,49, 2) = (/ & &3.2577e-05_rb,3.4241e-05_rb,3.5845e-05_rb,3.7418e-05_rb,3.8704e-05_rb/) kbo(:,50, 2) = (/ & &2.6548e-05_rb,2.7645e-05_rb,2.8887e-05_rb,3.0243e-05_rb,3.1285e-05_rb/) kbo(:,51, 2) = (/ & &2.1632e-05_rb,2.2305e-05_rb,2.3402e-05_rb,2.4420e-05_rb,2.5424e-05_rb/) kbo(:,52, 2) = (/ & &1.7494e-05_rb,1.8158e-05_rb,1.8946e-05_rb,1.9746e-05_rb,2.0626e-05_rb/) kbo(:,53, 2) = (/ & &1.4060e-05_rb,1.4924e-05_rb,1.5296e-05_rb,1.6047e-05_rb,1.6661e-05_rb/) kbo(:,54, 2) = (/ & &1.1502e-05_rb,1.2189e-05_rb,1.2591e-05_rb,1.3072e-05_rb,1.3585e-05_rb/) kbo(:,55, 2) = (/ & &9.4731e-06_rb,9.9000e-06_rb,1.0499e-05_rb,1.0730e-05_rb,1.1201e-05_rb/) kbo(:,56, 2) = (/ & &7.7842e-06_rb,8.0609e-06_rb,8.6328e-06_rb,8.9073e-06_rb,9.2258e-06_rb/) kbo(:,57, 2) = (/ & &6.1271e-06_rb,6.6999e-06_rb,7.0368e-06_rb,7.4466e-06_rb,7.6395e-06_rb/) kbo(:,58, 2) = (/ & &4.7873e-06_rb,5.5615e-06_rb,5.7470e-06_rb,6.1637e-06_rb,6.3705e-06_rb/) kbo(:,59, 2) = (/ & &3.8649e-06_rb,4.5966e-06_rb,4.7965e-06_rb,5.1490e-06_rb,5.3880e-06_rb/) kbo(:,13, 3) = (/ & &1.2497e-01_rb,1.2733e-01_rb,1.2732e-01_rb,1.2710e-01_rb,1.2722e-01_rb/) kbo(:,14, 3) = (/ & &1.0770e-01_rb,1.1044e-01_rb,1.0994e-01_rb,1.0972e-01_rb,1.0842e-01_rb/) kbo(:,15, 3) = (/ & &9.2313e-02_rb,9.4782e-02_rb,9.3928e-02_rb,9.2439e-02_rb,9.0946e-02_rb/) kbo(:,16, 3) = (/ & &7.7737e-02_rb,7.9134e-02_rb,7.7340e-02_rb,7.6811e-02_rb,7.6114e-02_rb/) kbo(:,17, 3) = (/ & &6.5446e-02_rb,6.4598e-02_rb,6.3955e-02_rb,6.3795e-02_rb,6.3695e-02_rb/) kbo(:,18, 3) = (/ & &5.3197e-02_rb,5.2989e-02_rb,5.2755e-02_rb,5.2824e-02_rb,5.2780e-02_rb/) kbo(:,19, 3) = (/ & &4.3741e-02_rb,4.3850e-02_rb,4.3971e-02_rb,4.3934e-02_rb,4.3215e-02_rb/) kbo(:,20, 3) = (/ & &3.6203e-02_rb,3.6356e-02_rb,3.6481e-02_rb,3.6039e-02_rb,3.5482e-02_rb/) kbo(:,21, 3) = (/ & &2.9983e-02_rb,3.0109e-02_rb,3.0136e-02_rb,2.9600e-02_rb,2.9205e-02_rb/) kbo(:,22, 3) = (/ & &2.4798e-02_rb,2.4802e-02_rb,2.4628e-02_rb,2.4239e-02_rb,2.4061e-02_rb/) kbo(:,23, 3) = (/ & &2.0477e-02_rb,2.0405e-02_rb,2.0149e-02_rb,1.9990e-02_rb,1.9997e-02_rb/) kbo(:,24, 3) = (/ & &1.6953e-02_rb,1.6782e-02_rb,1.6632e-02_rb,1.6618e-02_rb,1.6673e-02_rb/) kbo(:,25, 3) = (/ & &1.3995e-02_rb,1.3802e-02_rb,1.3748e-02_rb,1.3853e-02_rb,1.3849e-02_rb/) kbo(:,26, 3) = (/ & &1.1507e-02_rb,1.1388e-02_rb,1.1372e-02_rb,1.1472e-02_rb,1.1479e-02_rb/) kbo(:,27, 3) = (/ & &9.4100e-03_rb,9.3552e-03_rb,9.3927e-03_rb,9.4480e-03_rb,9.4683e-03_rb/) kbo(:,28, 3) = (/ & &7.6709e-03_rb,7.6555e-03_rb,7.7364e-03_rb,7.7513e-03_rb,7.7691e-03_rb/) kbo(:,29, 3) = (/ & &6.2318e-03_rb,6.2179e-03_rb,6.2783e-03_rb,6.2823e-03_rb,6.2984e-03_rb/) kbo(:,30, 3) = (/ & &5.0369e-03_rb,5.0223e-03_rb,5.0690e-03_rb,5.0675e-03_rb,5.0877e-03_rb/) kbo(:,31, 3) = (/ & &4.0270e-03_rb,4.0248e-03_rb,4.0530e-03_rb,4.0550e-03_rb,4.0668e-03_rb/) kbo(:,32, 3) = (/ & &3.2266e-03_rb,3.2233e-03_rb,3.2444e-03_rb,3.2484e-03_rb,3.2485e-03_rb/) kbo(:,33, 3) = (/ & &2.5826e-03_rb,2.5793e-03_rb,2.5980e-03_rb,2.5954e-03_rb,2.5860e-03_rb/) kbo(:,34, 3) = (/ & &2.0751e-03_rb,2.0785e-03_rb,2.0913e-03_rb,2.0819e-03_rb,2.0719e-03_rb/) kbo(:,35, 3) = (/ & &1.6732e-03_rb,1.6746e-03_rb,1.6840e-03_rb,1.6712e-03_rb,1.6630e-03_rb/) kbo(:,36, 3) = (/ & &1.3540e-03_rb,1.3534e-03_rb,1.3539e-03_rb,1.3458e-03_rb,1.3380e-03_rb/) kbo(:,37, 3) = (/ & &1.1025e-03_rb,1.0986e-03_rb,1.0965e-03_rb,1.0906e-03_rb,1.0838e-03_rb/) kbo(:,38, 3) = (/ & &8.9827e-04_rb,8.9144e-04_rb,8.8894e-04_rb,8.8260e-04_rb,8.7601e-04_rb/) kbo(:,39, 3) = (/ & &7.3039e-04_rb,7.2351e-04_rb,7.1956e-04_rb,7.1446e-04_rb,7.0735e-04_rb/) kbo(:,40, 3) = (/ & &6.0257e-04_rb,5.9335e-04_rb,5.8899e-04_rb,5.8497e-04_rb,5.7809e-04_rb/) kbo(:,41, 3) = (/ & &4.9748e-04_rb,4.8829e-04_rb,4.8330e-04_rb,4.7897e-04_rb,4.7418e-04_rb/) kbo(:,42, 3) = (/ & &4.0962e-04_rb,4.0192e-04_rb,3.9631e-04_rb,3.9272e-04_rb,3.8922e-04_rb/) kbo(:,43, 3) = (/ & &3.3511e-04_rb,3.3335e-04_rb,3.2739e-04_rb,3.2309e-04_rb,3.2009e-04_rb/) kbo(:,44, 3) = (/ & &2.7494e-04_rb,2.7440e-04_rb,2.7166e-04_rb,2.6681e-04_rb,2.6291e-04_rb/) kbo(:,45, 3) = (/ & &2.2409e-04_rb,2.2465e-04_rb,2.2546e-04_rb,2.2120e-04_rb,2.1688e-04_rb/) kbo(:,46, 3) = (/ & &1.8344e-04_rb,1.8445e-04_rb,1.8370e-04_rb,1.8435e-04_rb,1.8060e-04_rb/) kbo(:,47, 3) = (/ & &1.5220e-04_rb,1.5094e-04_rb,1.5093e-04_rb,1.5107e-04_rb,1.5073e-04_rb/) kbo(:,48, 3) = (/ & &1.2685e-04_rb,1.2406e-04_rb,1.2418e-04_rb,1.2347e-04_rb,1.2407e-04_rb/) kbo(:,49, 3) = (/ & &1.0283e-04_rb,1.0360e-04_rb,1.0186e-04_rb,1.0181e-04_rb,1.0123e-04_rb/) kbo(:,50, 3) = (/ & &8.3231e-05_rb,8.5593e-05_rb,8.4616e-05_rb,8.3839e-05_rb,8.3224e-05_rb/) kbo(:,51, 3) = (/ & &6.6892e-05_rb,7.0153e-05_rb,7.0699e-05_rb,6.9691e-05_rb,6.9167e-05_rb/) kbo(:,52, 3) = (/ & &5.4090e-05_rb,5.6975e-05_rb,5.8223e-05_rb,5.8345e-05_rb,5.7364e-05_rb/) kbo(:,53, 3) = (/ & &4.3363e-05_rb,4.5702e-05_rb,4.7865e-05_rb,4.7887e-05_rb,4.7945e-05_rb/) kbo(:,54, 3) = (/ & &3.4722e-05_rb,3.7579e-05_rb,3.9122e-05_rb,3.9883e-05_rb,3.9754e-05_rb/) kbo(:,55, 3) = (/ & &2.7984e-05_rb,3.0530e-05_rb,3.1930e-05_rb,3.3227e-05_rb,3.3134e-05_rb/) kbo(:,56, 3) = (/ & &2.2565e-05_rb,2.4737e-05_rb,2.6495e-05_rb,2.7386e-05_rb,2.7845e-05_rb/) kbo(:,57, 3) = (/ & &1.8624e-05_rb,1.9996e-05_rb,2.1604e-05_rb,2.2454e-05_rb,2.3200e-05_rb/) kbo(:,58, 3) = (/ & &1.5567e-05_rb,1.6215e-05_rb,1.7630e-05_rb,1.8795e-05_rb,1.9192e-05_rb/) kbo(:,59, 3) = (/ & &1.3180e-05_rb,1.3591e-05_rb,1.4748e-05_rb,1.5698e-05_rb,1.6153e-05_rb/) kbo(:,13, 4) = (/ & &2.3244e-01_rb,2.2666e-01_rb,2.2365e-01_rb,2.1647e-01_rb,2.0828e-01_rb/) kbo(:,14, 4) = (/ & &1.9358e-01_rb,1.8830e-01_rb,1.8743e-01_rb,1.8019e-01_rb,1.7506e-01_rb/) kbo(:,15, 4) = (/ & &1.6047e-01_rb,1.5782e-01_rb,1.5488e-01_rb,1.5178e-01_rb,1.4896e-01_rb/) kbo(:,16, 4) = (/ & &1.3221e-01_rb,1.3030e-01_rb,1.2930e-01_rb,1.2731e-01_rb,1.2502e-01_rb/) kbo(:,17, 4) = (/ & &1.0863e-01_rb,1.0862e-01_rb,1.0815e-01_rb,1.0706e-01_rb,1.0464e-01_rb/) kbo(:,18, 4) = (/ & &9.0031e-02_rb,9.0210e-02_rb,9.0179e-02_rb,8.8891e-02_rb,8.7072e-02_rb/) kbo(:,19, 4) = (/ & &7.4933e-02_rb,7.5517e-02_rb,7.5432e-02_rb,7.4716e-02_rb,7.4259e-02_rb/) kbo(:,20, 4) = (/ & &6.2292e-02_rb,6.2900e-02_rb,6.2796e-02_rb,6.2799e-02_rb,6.2655e-02_rb/) kbo(:,21, 4) = (/ & &5.1753e-02_rb,5.2259e-02_rb,5.2338e-02_rb,5.2648e-02_rb,5.2692e-02_rb/) kbo(:,22, 4) = (/ & &4.2879e-02_rb,4.3337e-02_rb,4.3671e-02_rb,4.3911e-02_rb,4.3964e-02_rb/) kbo(:,23, 4) = (/ & &3.5511e-02_rb,3.5957e-02_rb,3.6400e-02_rb,3.6560e-02_rb,3.6588e-02_rb/) kbo(:,24, 4) = (/ & &2.9490e-02_rb,3.0002e-02_rb,3.0363e-02_rb,3.0503e-02_rb,3.0607e-02_rb/) kbo(:,25, 4) = (/ & &2.4491e-02_rb,2.5028e-02_rb,2.5370e-02_rb,2.5485e-02_rb,2.5616e-02_rb/) kbo(:,26, 4) = (/ & &2.0405e-02_rb,2.0858e-02_rb,2.1166e-02_rb,2.1267e-02_rb,2.1358e-02_rb/) kbo(:,27, 4) = (/ & &1.6966e-02_rb,1.7305e-02_rb,1.7522e-02_rb,1.7603e-02_rb,1.7664e-02_rb/) kbo(:,28, 4) = (/ & &1.4041e-02_rb,1.4283e-02_rb,1.4398e-02_rb,1.4482e-02_rb,1.4540e-02_rb/) kbo(:,29, 4) = (/ & &1.1473e-02_rb,1.1643e-02_rb,1.1712e-02_rb,1.1784e-02_rb,1.1808e-02_rb/) kbo(:,30, 4) = (/ & &9.3128e-03_rb,9.4393e-03_rb,9.4816e-03_rb,9.5274e-03_rb,9.5277e-03_rb/) kbo(:,31, 4) = (/ & &7.5018e-03_rb,7.5697e-03_rb,7.5938e-03_rb,7.6234e-03_rb,7.6068e-03_rb/) kbo(:,32, 4) = (/ & &6.0276e-03_rb,6.0587e-03_rb,6.0760e-03_rb,6.0793e-03_rb,6.0890e-03_rb/) kbo(:,33, 4) = (/ & &4.8317e-03_rb,4.8465e-03_rb,4.8480e-03_rb,4.8590e-03_rb,4.8679e-03_rb/) kbo(:,34, 4) = (/ & &3.8930e-03_rb,3.8936e-03_rb,3.8908e-03_rb,3.9081e-03_rb,3.9148e-03_rb/) kbo(:,35, 4) = (/ & &3.1327e-03_rb,3.1329e-03_rb,3.1313e-03_rb,3.1437e-03_rb,3.1485e-03_rb/) kbo(:,36, 4) = (/ & &2.5288e-03_rb,2.5255e-03_rb,2.5228e-03_rb,2.5303e-03_rb,2.5349e-03_rb/) kbo(:,37, 4) = (/ & &2.0481e-03_rb,2.0483e-03_rb,2.0398e-03_rb,2.0467e-03_rb,2.0499e-03_rb/) kbo(:,38, 4) = (/ & &1.6558e-03_rb,1.6596e-03_rb,1.6492e-03_rb,1.6534e-03_rb,1.6569e-03_rb/) kbo(:,39, 4) = (/ & &1.3374e-03_rb,1.3400e-03_rb,1.3351e-03_rb,1.3347e-03_rb,1.3383e-03_rb/) kbo(:,40, 4) = (/ & &1.0845e-03_rb,1.0921e-03_rb,1.0887e-03_rb,1.0875e-03_rb,1.0897e-03_rb/) kbo(:,41, 4) = (/ & &8.8154e-04_rb,8.8864e-04_rb,8.8779e-04_rb,8.8674e-04_rb,8.8749e-04_rb/) kbo(:,42, 4) = (/ & &7.1843e-04_rb,7.2263e-04_rb,7.2341e-04_rb,7.2250e-04_rb,7.2207e-04_rb/) kbo(:,43, 4) = (/ & &5.8799e-04_rb,5.8635e-04_rb,5.8966e-04_rb,5.8857e-04_rb,5.8778e-04_rb/) kbo(:,44, 4) = (/ & &4.7968e-04_rb,4.7905e-04_rb,4.7843e-04_rb,4.7895e-04_rb,4.7900e-04_rb/) kbo(:,45, 4) = (/ & &3.9220e-04_rb,3.9274e-04_rb,3.8844e-04_rb,3.8841e-04_rb,3.8937e-04_rb/) kbo(:,46, 4) = (/ & &3.2002e-04_rb,3.2007e-04_rb,3.1928e-04_rb,3.1499e-04_rb,3.1489e-04_rb/) kbo(:,47, 4) = (/ & &2.6159e-04_rb,2.6272e-04_rb,2.6214e-04_rb,2.5941e-04_rb,2.5552e-04_rb/) kbo(:,48, 4) = (/ & &2.1397e-04_rb,2.1500e-04_rb,2.1426e-04_rb,2.1370e-04_rb,2.0956e-04_rb/) kbo(:,49, 4) = (/ & &1.7795e-04_rb,1.7554e-04_rb,1.7551e-04_rb,1.7452e-04_rb,1.7328e-04_rb/) kbo(:,50, 4) = (/ & &1.4762e-04_rb,1.4610e-04_rb,1.4428e-04_rb,1.4351e-04_rb,1.4273e-04_rb/) kbo(:,51, 4) = (/ & &1.2354e-04_rb,1.2144e-04_rb,1.1938e-04_rb,1.1805e-04_rb,1.1688e-04_rb/) kbo(:,52, 4) = (/ & &1.0353e-04_rb,1.0111e-04_rb,9.9958e-05_rb,9.7469e-05_rb,9.6574e-05_rb/) kbo(:,53, 4) = (/ & &8.8311e-05_rb,8.4522e-05_rb,8.3164e-05_rb,8.1847e-05_rb,7.9623e-05_rb/) kbo(:,54, 4) = (/ & &7.5002e-05_rb,7.1277e-05_rb,6.9429e-05_rb,6.8546e-05_rb,6.7044e-05_rb/) kbo(:,55, 4) = (/ & &6.4688e-05_rb,6.1558e-05_rb,5.8597e-05_rb,5.7310e-05_rb,5.6741e-05_rb/) kbo(:,56, 4) = (/ & &5.4545e-05_rb,5.2835e-05_rb,4.9722e-05_rb,4.8222e-05_rb,4.7437e-05_rb/) kbo(:,57, 4) = (/ & &4.5567e-05_rb,4.5770e-05_rb,4.3541e-05_rb,4.1141e-05_rb,3.9867e-05_rb/) kbo(:,58, 4) = (/ & &3.8423e-05_rb,3.8314e-05_rb,3.7767e-05_rb,3.5438e-05_rb,3.3984e-05_rb/) kbo(:,59, 4) = (/ & &3.2695e-05_rb,3.2545e-05_rb,3.2199e-05_rb,3.0741e-05_rb,2.9151e-05_rb/) kbo(:,13, 5) = (/ & &3.6693e-01_rb,3.6670e-01_rb,3.6374e-01_rb,3.6513e-01_rb,3.6694e-01_rb/) kbo(:,14, 5) = (/ & &3.1193e-01_rb,3.1009e-01_rb,3.0785e-01_rb,3.1108e-01_rb,3.1338e-01_rb/) kbo(:,15, 5) = (/ & &2.6635e-01_rb,2.6398e-01_rb,2.6603e-01_rb,2.6792e-01_rb,2.6974e-01_rb/) kbo(:,16, 5) = (/ & &2.2560e-01_rb,2.2536e-01_rb,2.2722e-01_rb,2.2790e-01_rb,2.2934e-01_rb/) kbo(:,17, 5) = (/ & &1.9102e-01_rb,1.9205e-01_rb,1.9235e-01_rb,1.9256e-01_rb,1.9454e-01_rb/) kbo(:,18, 5) = (/ & &1.6220e-01_rb,1.6268e-01_rb,1.6247e-01_rb,1.6354e-01_rb,1.6555e-01_rb/) kbo(:,19, 5) = (/ & &1.3796e-01_rb,1.3803e-01_rb,1.3823e-01_rb,1.3977e-01_rb,1.4117e-01_rb/) kbo(:,20, 5) = (/ & &1.1636e-01_rb,1.1631e-01_rb,1.1719e-01_rb,1.1821e-01_rb,1.1915e-01_rb/) kbo(:,21, 5) = (/ & &9.7502e-02_rb,9.7703e-02_rb,9.8615e-02_rb,9.9561e-02_rb,1.0025e-01_rb/) kbo(:,22, 5) = (/ & &8.1562e-02_rb,8.1981e-02_rb,8.2659e-02_rb,8.3450e-02_rb,8.3918e-02_rb/) kbo(:,23, 5) = (/ & &6.8080e-02_rb,6.8683e-02_rb,6.9366e-02_rb,6.9894e-02_rb,7.0282e-02_rb/) kbo(:,24, 5) = (/ & &5.7119e-02_rb,5.7682e-02_rb,5.8192e-02_rb,5.8547e-02_rb,5.9029e-02_rb/) kbo(:,25, 5) = (/ & &4.7811e-02_rb,4.8293e-02_rb,4.8606e-02_rb,4.8996e-02_rb,4.9473e-02_rb/) kbo(:,26, 5) = (/ & &3.9890e-02_rb,4.0316e-02_rb,4.0576e-02_rb,4.1016e-02_rb,4.1455e-02_rb/) kbo(:,27, 5) = (/ & &3.3117e-02_rb,3.3470e-02_rb,3.3770e-02_rb,3.4189e-02_rb,3.4527e-02_rb/) kbo(:,28, 5) = (/ & &2.7406e-02_rb,2.7694e-02_rb,2.7971e-02_rb,2.8332e-02_rb,2.8599e-02_rb/) kbo(:,29, 5) = (/ & &2.2401e-02_rb,2.2630e-02_rb,2.2890e-02_rb,2.3150e-02_rb,2.3396e-02_rb/) kbo(:,30, 5) = (/ & &1.8227e-02_rb,1.8399e-02_rb,1.8623e-02_rb,1.8850e-02_rb,1.9028e-02_rb/) kbo(:,31, 5) = (/ & &1.4683e-02_rb,1.4830e-02_rb,1.5011e-02_rb,1.5187e-02_rb,1.5326e-02_rb/) kbo(:,32, 5) = (/ & &1.1826e-02_rb,1.1971e-02_rb,1.2101e-02_rb,1.2245e-02_rb,1.2313e-02_rb/) kbo(:,33, 5) = (/ & &9.5307e-03_rb,9.6419e-03_rb,9.7421e-03_rb,9.8284e-03_rb,9.8826e-03_rb/) kbo(:,34, 5) = (/ & &7.7176e-03_rb,7.8031e-03_rb,7.8838e-03_rb,7.9405e-03_rb,7.9679e-03_rb/) kbo(:,35, 5) = (/ & &6.2512e-03_rb,6.3124e-03_rb,6.3712e-03_rb,6.4126e-03_rb,6.4324e-03_rb/) kbo(:,36, 5) = (/ & &5.0560e-03_rb,5.1076e-03_rb,5.1576e-03_rb,5.1918e-03_rb,5.2018e-03_rb/) kbo(:,37, 5) = (/ & &4.0965e-03_rb,4.1427e-03_rb,4.1869e-03_rb,4.2164e-03_rb,4.2222e-03_rb/) kbo(:,38, 5) = (/ & &3.3169e-03_rb,3.3541e-03_rb,3.3940e-03_rb,3.4174e-03_rb,3.4236e-03_rb/) kbo(:,39, 5) = (/ & &2.6806e-03_rb,2.7157e-03_rb,2.7440e-03_rb,2.7658e-03_rb,2.7739e-03_rb/) kbo(:,40, 5) = (/ & &2.1766e-03_rb,2.2105e-03_rb,2.2356e-03_rb,2.2533e-03_rb,2.2654e-03_rb/) kbo(:,41, 5) = (/ & &1.7690e-03_rb,1.7997e-03_rb,1.8217e-03_rb,1.8373e-03_rb,1.8492e-03_rb/) kbo(:,42, 5) = (/ & &1.4370e-03_rb,1.4625e-03_rb,1.4833e-03_rb,1.4970e-03_rb,1.5072e-03_rb/) kbo(:,43, 5) = (/ & &1.1671e-03_rb,1.1863e-03_rb,1.2051e-03_rb,1.2193e-03_rb,1.2276e-03_rb/) kbo(:,44, 5) = (/ & &9.4820e-04_rb,9.6187e-04_rb,9.7830e-04_rb,9.9143e-04_rb,9.9963e-04_rb/) kbo(:,45, 5) = (/ & &7.6916e-04_rb,7.7831e-04_rb,7.9153e-04_rb,8.0495e-04_rb,8.1281e-04_rb/) kbo(:,46, 5) = (/ & &6.2348e-04_rb,6.3114e-04_rb,6.4009e-04_rb,6.5199e-04_rb,6.6002e-04_rb/) kbo(:,47, 5) = (/ & &5.0390e-04_rb,5.1138e-04_rb,5.1807e-04_rb,5.2655e-04_rb,5.3606e-04_rb/) kbo(:,48, 5) = (/ & &4.0606e-04_rb,4.1379e-04_rb,4.1952e-04_rb,4.2537e-04_rb,4.3314e-04_rb/) kbo(:,49, 5) = (/ & &3.2659e-04_rb,3.3285e-04_rb,3.3902e-04_rb,3.4315e-04_rb,3.4880e-04_rb/) kbo(:,50, 5) = (/ & &2.6466e-04_rb,2.6781e-04_rb,2.7393e-04_rb,2.7826e-04_rb,2.8216e-04_rb/) kbo(:,51, 5) = (/ & &2.1507e-04_rb,2.1721e-04_rb,2.2109e-04_rb,2.2570e-04_rb,2.2911e-04_rb/) kbo(:,52, 5) = (/ & &1.7470e-04_rb,1.7639e-04_rb,1.7813e-04_rb,1.8197e-04_rb,1.8512e-04_rb/) kbo(:,53, 5) = (/ & &1.4115e-04_rb,1.4348e-04_rb,1.4425e-04_rb,1.4633e-04_rb,1.4939e-04_rb/) kbo(:,54, 5) = (/ & &1.1575e-04_rb,1.1704e-04_rb,1.1812e-04_rb,1.1890e-04_rb,1.2106e-04_rb/) kbo(:,55, 5) = (/ & &9.4726e-05_rb,9.5455e-05_rb,9.6825e-05_rb,9.7465e-05_rb,9.8412e-05_rb/) kbo(:,56, 5) = (/ & &7.9719e-05_rb,7.8475e-05_rb,7.9571e-05_rb,8.0057e-05_rb,8.0565e-05_rb/) kbo(:,57, 5) = (/ & &6.7373e-05_rb,6.4174e-05_rb,6.4600e-05_rb,6.5492e-05_rb,6.6130e-05_rb/) kbo(:,58, 5) = (/ & &5.8248e-05_rb,5.4990e-05_rb,5.3012e-05_rb,5.3610e-05_rb,5.4283e-05_rb/) kbo(:,59, 5) = (/ & &5.0210e-05_rb,4.6885e-05_rb,4.4678e-05_rb,4.4690e-05_rb,4.5330e-05_rb/) kbo(:,13, 6) = (/ & &8.1815e-01_rb,8.2185e-01_rb,8.2056e-01_rb,8.1693e-01_rb,8.1119e-01_rb/) kbo(:,14, 6) = (/ & &6.9938e-01_rb,7.0403e-01_rb,7.0310e-01_rb,6.9893e-01_rb,6.9382e-01_rb/) kbo(:,15, 6) = (/ & &6.0306e-01_rb,6.0562e-01_rb,6.0433e-01_rb,6.0124e-01_rb,5.9539e-01_rb/) kbo(:,16, 6) = (/ & &5.1717e-01_rb,5.1741e-01_rb,5.1602e-01_rb,5.1303e-01_rb,5.0799e-01_rb/) kbo(:,17, 6) = (/ & &4.3954e-01_rb,4.3996e-01_rb,4.3917e-01_rb,4.3585e-01_rb,4.3144e-01_rb/) kbo(:,18, 6) = (/ & &3.7098e-01_rb,3.7164e-01_rb,3.7046e-01_rb,3.6778e-01_rb,3.6412e-01_rb/) kbo(:,19, 6) = (/ & &3.1410e-01_rb,3.1452e-01_rb,3.1318e-01_rb,3.1054e-01_rb,3.0829e-01_rb/) kbo(:,20, 6) = (/ & &2.6425e-01_rb,2.6434e-01_rb,2.6287e-01_rb,2.6129e-01_rb,2.6054e-01_rb/) kbo(:,21, 6) = (/ & &2.2166e-01_rb,2.2161e-01_rb,2.2078e-01_rb,2.2017e-01_rb,2.1929e-01_rb/) kbo(:,22, 6) = (/ & &1.8499e-01_rb,1.8512e-01_rb,1.8480e-01_rb,1.8474e-01_rb,1.8395e-01_rb/) kbo(:,23, 6) = (/ & &1.5462e-01_rb,1.5460e-01_rb,1.5448e-01_rb,1.5440e-01_rb,1.5366e-01_rb/) kbo(:,24, 6) = (/ & &1.2929e-01_rb,1.2940e-01_rb,1.2953e-01_rb,1.2932e-01_rb,1.2872e-01_rb/) kbo(:,25, 6) = (/ & &1.0802e-01_rb,1.0819e-01_rb,1.0834e-01_rb,1.0817e-01_rb,1.0761e-01_rb/) kbo(:,26, 6) = (/ & &9.0060e-02_rb,9.0350e-02_rb,9.0334e-02_rb,9.0150e-02_rb,8.9781e-02_rb/) kbo(:,27, 6) = (/ & &7.4680e-02_rb,7.4863e-02_rb,7.4908e-02_rb,7.4831e-02_rb,7.4608e-02_rb/) kbo(:,28, 6) = (/ & &6.1687e-02_rb,6.1865e-02_rb,6.1970e-02_rb,6.1917e-02_rb,6.1874e-02_rb/) kbo(:,29, 6) = (/ & &5.0513e-02_rb,5.0701e-02_rb,5.0801e-02_rb,5.0773e-02_rb,5.0734e-02_rb/) kbo(:,30, 6) = (/ & &4.1201e-02_rb,4.1379e-02_rb,4.1449e-02_rb,4.1422e-02_rb,4.1408e-02_rb/) kbo(:,31, 6) = (/ & &3.3339e-02_rb,3.3480e-02_rb,3.3517e-02_rb,3.3503e-02_rb,3.3496e-02_rb/) kbo(:,32, 6) = (/ & &2.6941e-02_rb,2.7025e-02_rb,2.7045e-02_rb,2.7032e-02_rb,2.7041e-02_rb/) kbo(:,33, 6) = (/ & &2.1746e-02_rb,2.1784e-02_rb,2.1791e-02_rb,2.1788e-02_rb,2.1780e-02_rb/) kbo(:,34, 6) = (/ & &1.7618e-02_rb,1.7652e-02_rb,1.7653e-02_rb,1.7651e-02_rb,1.7645e-02_rb/) kbo(:,35, 6) = (/ & &1.4278e-02_rb,1.4314e-02_rb,1.4305e-02_rb,1.4306e-02_rb,1.4294e-02_rb/) kbo(:,36, 6) = (/ & &1.1580e-02_rb,1.1612e-02_rb,1.1606e-02_rb,1.1608e-02_rb,1.1605e-02_rb/) kbo(:,37, 6) = (/ & &9.4219e-03_rb,9.4537e-03_rb,9.4624e-03_rb,9.4565e-03_rb,9.4577e-03_rb/) kbo(:,38, 6) = (/ & &7.6536e-03_rb,7.6870e-03_rb,7.7033e-03_rb,7.6954e-03_rb,7.6994e-03_rb/) kbo(:,39, 6) = (/ & &6.2054e-03_rb,6.2357e-03_rb,6.2573e-03_rb,6.2573e-03_rb,6.2600e-03_rb/) kbo(:,40, 6) = (/ & &5.0787e-03_rb,5.1000e-03_rb,5.1231e-03_rb,5.1304e-03_rb,5.1270e-03_rb/) kbo(:,41, 6) = (/ & &4.1553e-03_rb,4.1734e-03_rb,4.1950e-03_rb,4.2100e-03_rb,4.2073e-03_rb/) kbo(:,42, 6) = (/ & &3.3951e-03_rb,3.4115e-03_rb,3.4321e-03_rb,3.4456e-03_rb,3.4459e-03_rb/) kbo(:,43, 6) = (/ & &2.7739e-03_rb,2.7892e-03_rb,2.8063e-03_rb,2.8198e-03_rb,2.8248e-03_rb/) kbo(:,44, 6) = (/ & &2.2638e-03_rb,2.2784e-03_rb,2.2918e-03_rb,2.3046e-03_rb,2.3113e-03_rb/) kbo(:,45, 6) = (/ & &1.8451e-03_rb,1.8580e-03_rb,1.8678e-03_rb,1.8806e-03_rb,1.8860e-03_rb/) kbo(:,46, 6) = (/ & &1.5013e-03_rb,1.5134e-03_rb,1.5237e-03_rb,1.5316e-03_rb,1.5391e-03_rb/) kbo(:,47, 6) = (/ & &1.2205e-03_rb,1.2340e-03_rb,1.2429e-03_rb,1.2503e-03_rb,1.2568e-03_rb/) kbo(:,48, 6) = (/ & &9.8959e-04_rb,1.0036e-03_rb,1.0115e-03_rb,1.0182e-03_rb,1.0235e-03_rb/) kbo(:,49, 6) = (/ & &8.0128e-04_rb,8.1327e-04_rb,8.2211e-04_rb,8.2807e-04_rb,8.3181e-04_rb/) kbo(:,50, 6) = (/ & &6.5077e-04_rb,6.6049e-04_rb,6.6942e-04_rb,6.7493e-04_rb,6.7909e-04_rb/) kbo(:,51, 6) = (/ & &5.2860e-04_rb,5.3765e-04_rb,5.4562e-04_rb,5.5099e-04_rb,5.5519e-04_rb/) kbo(:,52, 6) = (/ & &4.2741e-04_rb,4.3678e-04_rb,4.4379e-04_rb,4.4944e-04_rb,4.5321e-04_rb/) kbo(:,53, 6) = (/ & &3.4420e-04_rb,3.5368e-04_rb,3.5979e-04_rb,3.6513e-04_rb,3.6858e-04_rb/) kbo(:,54, 6) = (/ & &2.7911e-04_rb,2.8752e-04_rb,2.9393e-04_rb,2.9865e-04_rb,3.0238e-04_rb/) kbo(:,55, 6) = (/ & &2.2659e-04_rb,2.3415e-04_rb,2.4084e-04_rb,2.4534e-04_rb,2.4896e-04_rb/) kbo(:,56, 6) = (/ & &1.8317e-04_rb,1.9078e-04_rb,1.9656e-04_rb,2.0135e-04_rb,2.0466e-04_rb/) kbo(:,57, 6) = (/ & &1.4828e-04_rb,1.5527e-04_rb,1.6035e-04_rb,1.6503e-04_rb,1.6825e-04_rb/) kbo(:,58, 6) = (/ & &1.1818e-04_rb,1.2542e-04_rb,1.3082e-04_rb,1.3476e-04_rb,1.3831e-04_rb/) kbo(:,59, 6) = (/ & &9.6673e-05_rb,1.0368e-04_rb,1.0861e-04_rb,1.1211e-04_rb,1.1553e-04_rb/) kbo(:,13, 7) = (/ & &2.1727e+00_rb,2.1507e+00_rb,2.1220e+00_rb,2.0892e+00_rb,2.0541e+00_rb/) kbo(:,14, 7) = (/ & &1.7980e+00_rb,1.7753e+00_rb,1.7493e+00_rb,1.7241e+00_rb,1.6941e+00_rb/) kbo(:,15, 7) = (/ & &1.5327e+00_rb,1.5148e+00_rb,1.4951e+00_rb,1.4705e+00_rb,1.4480e+00_rb/) kbo(:,16, 7) = (/ & &1.3007e+00_rb,1.2909e+00_rb,1.2720e+00_rb,1.2527e+00_rb,1.2359e+00_rb/) kbo(:,17, 7) = (/ & &1.1117e+00_rb,1.1002e+00_rb,1.0859e+00_rb,1.0728e+00_rb,1.0608e+00_rb/) kbo(:,18, 7) = (/ & &9.4895e-01_rb,9.3669e-01_rb,9.2658e-01_rb,9.1630e-01_rb,9.0461e-01_rb/) kbo(:,19, 7) = (/ & &8.0771e-01_rb,7.9960e-01_rb,7.9052e-01_rb,7.8134e-01_rb,7.7103e-01_rb/) kbo(:,20, 7) = (/ & &6.8397e-01_rb,6.7733e-01_rb,6.6931e-01_rb,6.6104e-01_rb,6.5276e-01_rb/) kbo(:,21, 7) = (/ & &5.7680e-01_rb,5.7078e-01_rb,5.6416e-01_rb,5.5706e-01_rb,5.4996e-01_rb/) kbo(:,22, 7) = (/ & &4.8402e-01_rb,4.7901e-01_rb,4.7292e-01_rb,4.6701e-01_rb,4.6224e-01_rb/) kbo(:,23, 7) = (/ & &4.0435e-01_rb,4.0004e-01_rb,3.9588e-01_rb,3.9219e-01_rb,3.8835e-01_rb/) kbo(:,24, 7) = (/ & &3.3766e-01_rb,3.3478e-01_rb,3.3178e-01_rb,3.2887e-01_rb,3.2604e-01_rb/) kbo(:,25, 7) = (/ & &2.8141e-01_rb,2.7941e-01_rb,2.7716e-01_rb,2.7469e-01_rb,2.7266e-01_rb/) kbo(:,26, 7) = (/ & &2.3429e-01_rb,2.3260e-01_rb,2.3087e-01_rb,2.2897e-01_rb,2.2751e-01_rb/) kbo(:,27, 7) = (/ & &1.9420e-01_rb,1.9275e-01_rb,1.9122e-01_rb,1.8991e-01_rb,1.8923e-01_rb/) kbo(:,28, 7) = (/ & &1.6015e-01_rb,1.5905e-01_rb,1.5800e-01_rb,1.5718e-01_rb,1.5696e-01_rb/) kbo(:,29, 7) = (/ & &1.3094e-01_rb,1.3014e-01_rb,1.2944e-01_rb,1.2906e-01_rb,1.2899e-01_rb/) kbo(:,30, 7) = (/ & &1.0666e-01_rb,1.0604e-01_rb,1.0563e-01_rb,1.0549e-01_rb,1.0548e-01_rb/) kbo(:,31, 7) = (/ & &8.6275e-02_rb,8.5845e-02_rb,8.5617e-02_rb,8.5505e-02_rb,8.5535e-02_rb/) kbo(:,32, 7) = (/ & &6.9798e-02_rb,6.9528e-02_rb,6.9393e-02_rb,6.9336e-02_rb,6.9374e-02_rb/) kbo(:,33, 7) = (/ & &5.6418e-02_rb,5.6253e-02_rb,5.6185e-02_rb,5.6126e-02_rb,5.6165e-02_rb/) kbo(:,34, 7) = (/ & &4.5866e-02_rb,4.5727e-02_rb,4.5682e-02_rb,4.5616e-02_rb,4.5707e-02_rb/) kbo(:,35, 7) = (/ & &3.7274e-02_rb,3.7180e-02_rb,3.7143e-02_rb,3.7120e-02_rb,3.7200e-02_rb/) kbo(:,36, 7) = (/ & &3.0350e-02_rb,3.0274e-02_rb,3.0257e-02_rb,3.0235e-02_rb,3.0299e-02_rb/) kbo(:,37, 7) = (/ & &2.4821e-02_rb,2.4753e-02_rb,2.4742e-02_rb,2.4741e-02_rb,2.4790e-02_rb/) kbo(:,38, 7) = (/ & &2.0268e-02_rb,2.0223e-02_rb,2.0196e-02_rb,2.0200e-02_rb,2.0236e-02_rb/) kbo(:,39, 7) = (/ & &1.6521e-02_rb,1.6487e-02_rb,1.6459e-02_rb,1.6462e-02_rb,1.6499e-02_rb/) kbo(:,40, 7) = (/ & &1.3551e-02_rb,1.3542e-02_rb,1.3531e-02_rb,1.3538e-02_rb,1.3571e-02_rb/) kbo(:,41, 7) = (/ & &1.1139e-02_rb,1.1135e-02_rb,1.1130e-02_rb,1.1141e-02_rb,1.1171e-02_rb/) kbo(:,42, 7) = (/ & &9.1492e-03_rb,9.1515e-03_rb,9.1518e-03_rb,9.1649e-03_rb,9.1900e-03_rb/) kbo(:,43, 7) = (/ & &7.5083e-03_rb,7.5191e-03_rb,7.5258e-03_rb,7.5334e-03_rb,7.5552e-03_rb/) kbo(:,44, 7) = (/ & &6.1594e-03_rb,6.1707e-03_rb,6.1785e-03_rb,6.1865e-03_rb,6.2090e-03_rb/) kbo(:,45, 7) = (/ & &5.0436e-03_rb,5.0526e-03_rb,5.0656e-03_rb,5.0711e-03_rb,5.0867e-03_rb/) kbo(:,46, 7) = (/ & &4.1291e-03_rb,4.1408e-03_rb,4.1483e-03_rb,4.1539e-03_rb,4.1670e-03_rb/) kbo(:,47, 7) = (/ & &3.3808e-03_rb,3.3903e-03_rb,3.4014e-03_rb,3.4059e-03_rb,3.4179e-03_rb/) kbo(:,48, 7) = (/ & &2.7630e-03_rb,2.7730e-03_rb,2.7794e-03_rb,2.7876e-03_rb,2.7961e-03_rb/) kbo(:,49, 7) = (/ & &2.2529e-03_rb,2.2614e-03_rb,2.2681e-03_rb,2.2743e-03_rb,2.2825e-03_rb/) kbo(:,50, 7) = (/ & &1.8409e-03_rb,1.8507e-03_rb,1.8571e-03_rb,1.8629e-03_rb,1.8694e-03_rb/) kbo(:,51, 7) = (/ & &1.5059e-03_rb,1.5160e-03_rb,1.5224e-03_rb,1.5287e-03_rb,1.5343e-03_rb/) kbo(:,52, 7) = (/ & &1.2303e-03_rb,1.2392e-03_rb,1.2461e-03_rb,1.2522e-03_rb,1.2570e-03_rb/) kbo(:,53, 7) = (/ & &1.0020e-03_rb,1.0115e-03_rb,1.0178e-03_rb,1.0227e-03_rb,1.0281e-03_rb/) kbo(:,54, 7) = (/ & &8.2130e-04_rb,8.3060e-04_rb,8.3778e-04_rb,8.4304e-04_rb,8.4741e-04_rb/) kbo(:,55, 7) = (/ & &6.7498e-04_rb,6.8670e-04_rb,6.9292e-04_rb,6.9895e-04_rb,7.0313e-04_rb/) kbo(:,56, 7) = (/ & &5.5427e-04_rb,5.6524e-04_rb,5.7318e-04_rb,5.7892e-04_rb,5.8355e-04_rb/) kbo(:,57, 7) = (/ & &4.5437e-04_rb,4.6585e-04_rb,4.7333e-04_rb,4.7899e-04_rb,4.8346e-04_rb/) kbo(:,58, 7) = (/ & &3.7314e-04_rb,3.8385e-04_rb,3.9164e-04_rb,3.9732e-04_rb,4.0183e-04_rb/) kbo(:,59, 7) = (/ & &3.1164e-04_rb,3.2163e-04_rb,3.2929e-04_rb,3.3498e-04_rb,3.3967e-04_rb/) kbo(:,13, 8) = (/ & &7.1017e+00_rb,7.0462e+00_rb,6.9629e+00_rb,6.8569e+00_rb,6.7518e+00_rb/) kbo(:,14, 8) = (/ & &5.9884e+00_rb,5.9470e+00_rb,5.8924e+00_rb,5.8216e+00_rb,5.7342e+00_rb/) kbo(:,15, 8) = (/ & &4.9849e+00_rb,4.9563e+00_rb,4.9071e+00_rb,4.8502e+00_rb,4.7771e+00_rb/) kbo(:,16, 8) = (/ & &4.1453e+00_rb,4.1136e+00_rb,4.0790e+00_rb,4.0345e+00_rb,3.9753e+00_rb/) kbo(:,17, 8) = (/ & &3.5269e+00_rb,3.5022e+00_rb,3.4717e+00_rb,3.4323e+00_rb,3.3830e+00_rb/) kbo(:,18, 8) = (/ & &3.0258e+00_rb,3.0139e+00_rb,2.9887e+00_rb,2.9518e+00_rb,2.9096e+00_rb/) kbo(:,19, 8) = (/ & &2.6100e+00_rb,2.6057e+00_rb,2.5839e+00_rb,2.5531e+00_rb,2.5181e+00_rb/) kbo(:,20, 8) = (/ & &2.2532e+00_rb,2.2444e+00_rb,2.2242e+00_rb,2.2015e+00_rb,2.1737e+00_rb/) kbo(:,21, 8) = (/ & &1.9361e+00_rb,1.9257e+00_rb,1.9080e+00_rb,1.8885e+00_rb,1.8663e+00_rb/) kbo(:,22, 8) = (/ & &1.6493e+00_rb,1.6394e+00_rb,1.6256e+00_rb,1.6084e+00_rb,1.5911e+00_rb/) kbo(:,23, 8) = (/ & &1.3971e+00_rb,1.3901e+00_rb,1.3774e+00_rb,1.3628e+00_rb,1.3482e+00_rb/) kbo(:,24, 8) = (/ & &1.1828e+00_rb,1.1757e+00_rb,1.1653e+00_rb,1.1541e+00_rb,1.1420e+00_rb/) kbo(:,25, 8) = (/ & &9.9841e-01_rb,9.9173e-01_rb,9.8314e-01_rb,9.7419e-01_rb,9.6526e-01_rb/) kbo(:,26, 8) = (/ & &8.3815e-01_rb,8.3237e-01_rb,8.2631e-01_rb,8.2072e-01_rb,8.1439e-01_rb/) kbo(:,27, 8) = (/ & &6.9885e-01_rb,6.9534e-01_rb,6.9172e-01_rb,6.8787e-01_rb,6.8202e-01_rb/) kbo(:,28, 8) = (/ & &5.8056e-01_rb,5.7858e-01_rb,5.7609e-01_rb,5.7252e-01_rb,5.6730e-01_rb/) kbo(:,29, 8) = (/ & &4.7795e-01_rb,4.7646e-01_rb,4.7447e-01_rb,4.7127e-01_rb,4.6716e-01_rb/) kbo(:,30, 8) = (/ & &3.9180e-01_rb,3.9040e-01_rb,3.8874e-01_rb,3.8567e-01_rb,3.8256e-01_rb/) kbo(:,31, 8) = (/ & &3.1850e-01_rb,3.1735e-01_rb,3.1544e-01_rb,3.1324e-01_rb,3.1109e-01_rb/) kbo(:,32, 8) = (/ & &2.5851e-01_rb,2.5736e-01_rb,2.5590e-01_rb,2.5439e-01_rb,2.5264e-01_rb/) kbo(:,33, 8) = (/ & &2.0938e-01_rb,2.0841e-01_rb,2.0741e-01_rb,2.0615e-01_rb,2.0501e-01_rb/) kbo(:,34, 8) = (/ & &1.7037e-01_rb,1.6964e-01_rb,1.6891e-01_rb,1.6812e-01_rb,1.6728e-01_rb/) kbo(:,35, 8) = (/ & &1.3875e-01_rb,1.3827e-01_rb,1.3776e-01_rb,1.3724e-01_rb,1.3661e-01_rb/) kbo(:,36, 8) = (/ & &1.1324e-01_rb,1.1288e-01_rb,1.1260e-01_rb,1.1226e-01_rb,1.1182e-01_rb/) kbo(:,37, 8) = (/ & &9.2766e-02_rb,9.2595e-02_rb,9.2422e-02_rb,9.2186e-02_rb,9.1910e-02_rb/) kbo(:,38, 8) = (/ & &7.5939e-02_rb,7.5826e-02_rb,7.5761e-02_rb,7.5637e-02_rb,7.5518e-02_rb/) kbo(:,39, 8) = (/ & &6.2076e-02_rb,6.2014e-02_rb,6.2019e-02_rb,6.2000e-02_rb,6.1957e-02_rb/) kbo(:,40, 8) = (/ & &5.1067e-02_rb,5.1119e-02_rb,5.1147e-02_rb,5.1217e-02_rb,5.1232e-02_rb/) kbo(:,41, 8) = (/ & &4.2004e-02_rb,4.2110e-02_rb,4.2194e-02_rb,4.2288e-02_rb,4.2348e-02_rb/) kbo(:,42, 8) = (/ & &3.4565e-02_rb,3.4686e-02_rb,3.4772e-02_rb,3.4891e-02_rb,3.5001e-02_rb/) kbo(:,43, 8) = (/ & &2.8439e-02_rb,2.8558e-02_rb,2.8651e-02_rb,2.8781e-02_rb,2.8908e-02_rb/) kbo(:,44, 8) = (/ & &2.3381e-02_rb,2.3495e-02_rb,2.3607e-02_rb,2.3736e-02_rb,2.3863e-02_rb/) kbo(:,45, 8) = (/ & &1.9178e-02_rb,1.9302e-02_rb,1.9411e-02_rb,1.9527e-02_rb,1.9645e-02_rb/) kbo(:,46, 8) = (/ & &1.5718e-02_rb,1.5824e-02_rb,1.5935e-02_rb,1.6052e-02_rb,1.6161e-02_rb/) kbo(:,47, 8) = (/ & &1.2888e-02_rb,1.2994e-02_rb,1.3091e-02_rb,1.3201e-02_rb,1.3310e-02_rb/) kbo(:,48, 8) = (/ & &1.0534e-02_rb,1.0644e-02_rb,1.0741e-02_rb,1.0828e-02_rb,1.0922e-02_rb/) kbo(:,49, 8) = (/ & &8.5773e-03_rb,8.6840e-03_rb,8.7716e-03_rb,8.8561e-03_rb,8.9344e-03_rb/) kbo(:,50, 8) = (/ & &7.0118e-03_rb,7.1121e-03_rb,7.1954e-03_rb,7.2655e-03_rb,7.3372e-03_rb/) kbo(:,51, 8) = (/ & &5.7344e-03_rb,5.8326e-03_rb,5.9098e-03_rb,5.9770e-03_rb,6.0423e-03_rb/) kbo(:,52, 8) = (/ & &4.6784e-03_rb,4.7703e-03_rb,4.8415e-03_rb,4.9016e-03_rb,4.9646e-03_rb/) kbo(:,53, 8) = (/ & &3.8084e-03_rb,3.8892e-03_rb,3.9565e-03_rb,4.0107e-03_rb,4.0624e-03_rb/) kbo(:,54, 8) = (/ & &3.1302e-03_rb,3.1988e-03_rb,3.2604e-03_rb,3.3140e-03_rb,3.3627e-03_rb/) kbo(:,55, 8) = (/ & &2.5815e-03_rb,2.6417e-03_rb,2.7045e-03_rb,2.7548e-03_rb,2.8045e-03_rb/) kbo(:,56, 8) = (/ & &2.1299e-03_rb,2.1858e-03_rb,2.2412e-03_rb,2.2906e-03_rb,2.3394e-03_rb/) kbo(:,57, 8) = (/ & &1.7549e-03_rb,1.8058e-03_rb,1.8577e-03_rb,1.9050e-03_rb,1.9496e-03_rb/) kbo(:,58, 8) = (/ & &1.4508e-03_rb,1.4946e-03_rb,1.5437e-03_rb,1.5867e-03_rb,1.6288e-03_rb/) kbo(:,59, 8) = (/ & &1.2226e-03_rb,1.2669e-03_rb,1.3143e-03_rb,1.3547e-03_rb,1.3969e-03_rb/) kbo(:,13, 9) = (/ & &4.2167e+01_rb,4.2169e+01_rb,4.2037e+01_rb,4.1794e+01_rb,4.1453e+01_rb/) kbo(:,14, 9) = (/ & &3.6302e+01_rb,3.6287e+01_rb,3.6134e+01_rb,3.5895e+01_rb,3.5553e+01_rb/) kbo(:,15, 9) = (/ & &3.1018e+01_rb,3.0974e+01_rb,3.0831e+01_rb,3.0595e+01_rb,3.0284e+01_rb/) kbo(:,16, 9) = (/ & &2.6381e+01_rb,2.6327e+01_rb,2.6171e+01_rb,2.5940e+01_rb,2.5630e+01_rb/) kbo(:,17, 9) = (/ & &2.2159e+01_rb,2.2069e+01_rb,2.1921e+01_rb,2.1709e+01_rb,2.1443e+01_rb/) kbo(:,18, 9) = (/ & &1.8546e+01_rb,1.8422e+01_rb,1.8249e+01_rb,1.8049e+01_rb,1.7832e+01_rb/) kbo(:,19, 9) = (/ & &1.5581e+01_rb,1.5418e+01_rb,1.5257e+01_rb,1.5071e+01_rb,1.4880e+01_rb/) kbo(:,20, 9) = (/ & &1.3153e+01_rb,1.2997e+01_rb,1.2837e+01_rb,1.2663e+01_rb,1.2482e+01_rb/) kbo(:,21, 9) = (/ & &1.1154e+01_rb,1.1003e+01_rb,1.0876e+01_rb,1.0723e+01_rb,1.0559e+01_rb/) kbo(:,22, 9) = (/ & &9.6248e+00_rb,9.4985e+00_rb,9.3603e+00_rb,9.2175e+00_rb,9.0746e+00_rb/) kbo(:,23, 9) = (/ & &8.3452e+00_rb,8.2318e+00_rb,8.1134e+00_rb,7.9935e+00_rb,7.8653e+00_rb/) kbo(:,24, 9) = (/ & &7.2560e+00_rb,7.1534e+00_rb,7.0580e+00_rb,6.9498e+00_rb,6.8440e+00_rb/) kbo(:,25, 9) = (/ & &6.3013e+00_rb,6.2279e+00_rb,6.1411e+00_rb,6.0460e+00_rb,5.9566e+00_rb/) kbo(:,26, 9) = (/ & &5.4473e+00_rb,5.3837e+00_rb,5.3066e+00_rb,5.2353e+00_rb,5.1609e+00_rb/) kbo(:,27, 9) = (/ & &4.6665e+00_rb,4.6055e+00_rb,4.5477e+00_rb,4.4876e+00_rb,4.4277e+00_rb/) kbo(:,28, 9) = (/ & &3.9616e+00_rb,3.9145e+00_rb,3.8668e+00_rb,3.8180e+00_rb,3.7694e+00_rb/) kbo(:,29, 9) = (/ & &3.3226e+00_rb,3.2862e+00_rb,3.2469e+00_rb,3.2091e+00_rb,3.1718e+00_rb/) kbo(:,30, 9) = (/ & &2.7659e+00_rb,2.7390e+00_rb,2.7094e+00_rb,2.6815e+00_rb,2.6543e+00_rb/) kbo(:,31, 9) = (/ & &2.2826e+00_rb,2.2617e+00_rb,2.2409e+00_rb,2.2203e+00_rb,2.1979e+00_rb/) kbo(:,32, 9) = (/ & &1.8802e+00_rb,1.8648e+00_rb,1.8493e+00_rb,1.8340e+00_rb,1.8168e+00_rb/) kbo(:,33, 9) = (/ & &1.5466e+00_rb,1.5353e+00_rb,1.5232e+00_rb,1.5114e+00_rb,1.4999e+00_rb/) kbo(:,34, 9) = (/ & &1.2752e+00_rb,1.2674e+00_rb,1.2588e+00_rb,1.2512e+00_rb,1.2426e+00_rb/) kbo(:,35, 9) = (/ & &1.0520e+00_rb,1.0466e+00_rb,1.0412e+00_rb,1.0356e+00_rb,1.0296e+00_rb/) kbo(:,36, 9) = (/ & &8.6897e-01_rb,8.6546e-01_rb,8.6220e-01_rb,8.5818e-01_rb,8.5421e-01_rb/) kbo(:,37, 9) = (/ & &7.1978e-01_rb,7.1767e-01_rb,7.1572e-01_rb,7.1373e-01_rb,7.1176e-01_rb/) kbo(:,38, 9) = (/ & &5.9482e-01_rb,5.9396e-01_rb,5.9353e-01_rb,5.9295e-01_rb,5.9232e-01_rb/) kbo(:,39, 9) = (/ & &4.9071e-01_rb,4.9116e-01_rb,4.9162e-01_rb,4.9173e-01_rb,4.9201e-01_rb/) kbo(:,40, 9) = (/ & &4.0707e-01_rb,4.0846e-01_rb,4.0948e-01_rb,4.1018e-01_rb,4.1089e-01_rb/) kbo(:,41, 9) = (/ & &3.3813e-01_rb,3.3959e-01_rb,3.4089e-01_rb,3.4218e-01_rb,3.4329e-01_rb/) kbo(:,42, 9) = (/ & &2.8061e-01_rb,2.8231e-01_rb,2.8363e-01_rb,2.8501e-01_rb,2.8630e-01_rb/) kbo(:,43, 9) = (/ & &2.3284e-01_rb,2.3448e-01_rb,2.3606e-01_rb,2.3737e-01_rb,2.3893e-01_rb/) kbo(:,44, 9) = (/ & &1.9306e-01_rb,1.9456e-01_rb,1.9627e-01_rb,1.9759e-01_rb,1.9913e-01_rb/) kbo(:,45, 9) = (/ & &1.5984e-01_rb,1.6139e-01_rb,1.6282e-01_rb,1.6435e-01_rb,1.6569e-01_rb/) kbo(:,46, 9) = (/ & &1.3218e-01_rb,1.3367e-01_rb,1.3504e-01_rb,1.3656e-01_rb,1.3780e-01_rb/) kbo(:,47, 9) = (/ & &1.0925e-01_rb,1.1079e-01_rb,1.1209e-01_rb,1.1337e-01_rb,1.1463e-01_rb/) kbo(:,48, 9) = (/ & &9.0249e-02_rb,9.1522e-02_rb,9.2774e-02_rb,9.3960e-02_rb,9.5177e-02_rb/) kbo(:,49, 9) = (/ & &7.4377e-02_rb,7.5400e-02_rb,7.6569e-02_rb,7.7633e-02_rb,7.8742e-02_rb/) kbo(:,50, 9) = (/ & &6.1418e-02_rb,6.2415e-02_rb,6.3422e-02_rb,6.4413e-02_rb,6.5389e-02_rb/) kbo(:,51, 9) = (/ & &5.0729e-02_rb,5.1644e-02_rb,5.2564e-02_rb,5.3444e-02_rb,5.4353e-02_rb/) kbo(:,52, 9) = (/ & &4.1908e-02_rb,4.2660e-02_rb,4.3502e-02_rb,4.4323e-02_rb,4.5095e-02_rb/) kbo(:,53, 9) = (/ & &3.4462e-02_rb,3.5223e-02_rb,3.5939e-02_rb,3.6640e-02_rb,3.7360e-02_rb/) kbo(:,54, 9) = (/ & &2.8588e-02_rb,2.9269e-02_rb,2.9929e-02_rb,3.0560e-02_rb,3.1160e-02_rb/) kbo(:,55, 9) = (/ & &2.3807e-02_rb,2.4406e-02_rb,2.4997e-02_rb,2.5573e-02_rb,2.6196e-02_rb/) kbo(:,56, 9) = (/ & &1.9841e-02_rb,2.0395e-02_rb,2.0945e-02_rb,2.1491e-02_rb,2.2006e-02_rb/) kbo(:,57, 9) = (/ & &1.6519e-02_rb,1.7032e-02_rb,1.7546e-02_rb,1.8054e-02_rb,1.8550e-02_rb/) kbo(:,58, 9) = (/ & &1.3793e-02_rb,1.4292e-02_rb,1.4753e-02_rb,1.5213e-02_rb,1.5695e-02_rb/) kbo(:,59, 9) = (/ & &1.1809e-02_rb,1.2269e-02_rb,1.2713e-02_rb,1.3163e-02_rb,1.3635e-02_rb/) kbo(:,13,10) = (/ & &1.7142e+02_rb,1.7281e+02_rb,1.7236e+02_rb,1.7114e+02_rb,1.6934e+02_rb/) kbo(:,14,10) = (/ & &1.5574e+02_rb,1.5556e+02_rb,1.5469e+02_rb,1.5334e+02_rb,1.5193e+02_rb/) kbo(:,15,10) = (/ & &1.3728e+02_rb,1.3704e+02_rb,1.3637e+02_rb,1.3560e+02_rb,1.3459e+02_rb/) kbo(:,16,10) = (/ & &1.1953e+02_rb,1.1932e+02_rb,1.1895e+02_rb,1.1818e+02_rb,1.1715e+02_rb/) kbo(:,17,10) = (/ & &1.0359e+02_rb,1.0375e+02_rb,1.0320e+02_rb,1.0240e+02_rb,1.0131e+02_rb/) kbo(:,18,10) = (/ & &8.8878e+01_rb,8.9020e+01_rb,8.8706e+01_rb,8.7973e+01_rb,8.6746e+01_rb/) kbo(:,19,10) = (/ & &7.4020e+01_rb,7.4305e+01_rb,7.4019e+01_rb,7.3466e+01_rb,7.2562e+01_rb/) kbo(:,20,10) = (/ & &6.0721e+01_rb,6.1015e+01_rb,6.0921e+01_rb,6.0532e+01_rb,5.9983e+01_rb/) kbo(:,21,10) = (/ & &5.0465e+01_rb,5.0665e+01_rb,5.0241e+01_rb,4.9849e+01_rb,4.9385e+01_rb/) kbo(:,22,10) = (/ & &4.0819e+01_rb,4.0731e+01_rb,4.0529e+01_rb,4.0271e+01_rb,3.9749e+01_rb/) kbo(:,23,10) = (/ & &3.4205e+01_rb,3.4202e+01_rb,3.4020e+01_rb,3.3582e+01_rb,3.3186e+01_rb/) kbo(:,24,10) = (/ & &2.9307e+01_rb,2.9168e+01_rb,2.8849e+01_rb,2.8552e+01_rb,2.8160e+01_rb/) kbo(:,25,10) = (/ & &2.5427e+01_rb,2.5125e+01_rb,2.4814e+01_rb,2.4511e+01_rb,2.4195e+01_rb/) kbo(:,26,10) = (/ & &2.2227e+01_rb,2.1953e+01_rb,2.1723e+01_rb,2.1344e+01_rb,2.1061e+01_rb/) kbo(:,27,10) = (/ & &1.9562e+01_rb,1.9387e+01_rb,1.9087e+01_rb,1.8779e+01_rb,1.8567e+01_rb/) kbo(:,28,10) = (/ & &1.7147e+01_rb,1.6935e+01_rb,1.6668e+01_rb,1.6479e+01_rb,1.6263e+01_rb/) kbo(:,29,10) = (/ & &1.4781e+01_rb,1.4573e+01_rb,1.4404e+01_rb,1.4242e+01_rb,1.4093e+01_rb/) kbo(:,30,10) = (/ & &1.2615e+01_rb,1.2471e+01_rb,1.2325e+01_rb,1.2193e+01_rb,1.2047e+01_rb/) kbo(:,31,10) = (/ & &1.0637e+01_rb,1.0540e+01_rb,1.0405e+01_rb,1.0303e+01_rb,1.0219e+01_rb/) kbo(:,32,10) = (/ & &8.9113e+00_rb,8.8364e+00_rb,8.7502e+00_rb,8.6801e+00_rb,8.6141e+00_rb/) kbo(:,33,10) = (/ & &7.4220e+00_rb,7.3714e+00_rb,7.3296e+00_rb,7.2916e+00_rb,7.2335e+00_rb/) kbo(:,34,10) = (/ & &6.2166e+00_rb,6.1844e+00_rb,6.1565e+00_rb,6.1097e+00_rb,6.0839e+00_rb/) kbo(:,35,10) = (/ & &5.1978e+00_rb,5.1804e+00_rb,5.1597e+00_rb,5.1357e+00_rb,5.1182e+00_rb/) kbo(:,36,10) = (/ & &4.3470e+00_rb,4.3385e+00_rb,4.3233e+00_rb,4.3177e+00_rb,4.3104e+00_rb/) kbo(:,37,10) = (/ & &3.6398e+00_rb,3.6424e+00_rb,3.6345e+00_rb,3.6386e+00_rb,3.6334e+00_rb/) kbo(:,38,10) = (/ & &3.0434e+00_rb,3.0512e+00_rb,3.0559e+00_rb,3.0639e+00_rb,3.0639e+00_rb/) kbo(:,39,10) = (/ & &2.5458e+00_rb,2.5538e+00_rb,2.5569e+00_rb,2.5728e+00_rb,2.5769e+00_rb/) kbo(:,40,10) = (/ & &2.1317e+00_rb,2.1438e+00_rb,2.1539e+00_rb,2.1706e+00_rb,2.1835e+00_rb/) kbo(:,41,10) = (/ & &1.7848e+00_rb,1.8052e+00_rb,1.8158e+00_rb,1.8336e+00_rb,1.8470e+00_rb/) kbo(:,42,10) = (/ & &1.4932e+00_rb,1.5091e+00_rb,1.5289e+00_rb,1.5466e+00_rb,1.5621e+00_rb/) kbo(:,43,10) = (/ & &1.2466e+00_rb,1.2672e+00_rb,1.2843e+00_rb,1.3063e+00_rb,1.3216e+00_rb/) kbo(:,44,10) = (/ & &1.0395e+00_rb,1.0592e+00_rb,1.0758e+00_rb,1.0990e+00_rb,1.1149e+00_rb/) kbo(:,45,10) = (/ & &8.6570e-01_rb,8.8331e-01_rb,9.0051e-01_rb,9.1956e-01_rb,9.3855e-01_rb/) kbo(:,46,10) = (/ & &7.2006e-01_rb,7.3467e-01_rb,7.5104e-01_rb,7.6845e-01_rb,7.8787e-01_rb/) kbo(:,47,10) = (/ & &5.9818e-01_rb,6.0970e-01_rb,6.2444e-01_rb,6.4248e-01_rb,6.5898e-01_rb/) kbo(:,48,10) = (/ & &4.9441e-01_rb,5.0661e-01_rb,5.1925e-01_rb,5.3379e-01_rb,5.5029e-01_rb/) kbo(:,49,10) = (/ & &4.0883e-01_rb,4.1946e-01_rb,4.3019e-01_rb,4.4310e-01_rb,4.5870e-01_rb/) kbo(:,50,10) = (/ & &3.3724e-01_rb,3.4698e-01_rb,3.5791e-01_rb,3.6811e-01_rb,3.8262e-01_rb/) kbo(:,51,10) = (/ & &2.7937e-01_rb,2.8820e-01_rb,2.9748e-01_rb,3.0671e-01_rb,3.1956e-01_rb/) kbo(:,52,10) = (/ & &2.3100e-01_rb,2.3806e-01_rb,2.4610e-01_rb,2.5504e-01_rb,2.6621e-01_rb/) kbo(:,53,10) = (/ & &1.9108e-01_rb,1.9654e-01_rb,2.0325e-01_rb,2.1194e-01_rb,2.2154e-01_rb/) kbo(:,54,10) = (/ & &1.5899e-01_rb,1.6347e-01_rb,1.6947e-01_rb,1.7655e-01_rb,1.8610e-01_rb/) kbo(:,55,10) = (/ & &1.3326e-01_rb,1.3696e-01_rb,1.4221e-01_rb,1.4834e-01_rb,1.5647e-01_rb/) kbo(:,56,10) = (/ & &1.1049e-01_rb,1.1469e-01_rb,1.1935e-01_rb,1.2428e-01_rb,1.3176e-01_rb/) kbo(:,57,10) = (/ & &9.2761e-02_rb,9.6003e-02_rb,9.9705e-02_rb,1.0515e-01_rb,1.1098e-01_rb/) kbo(:,58,10) = (/ & &7.7951e-02_rb,8.0603e-02_rb,8.4255e-02_rb,8.8708e-02_rb,9.3824e-02_rb/) kbo(:,59,10) = (/ & &6.6831e-02_rb,6.9853e-02_rb,7.3196e-02_rb,7.7714e-02_rb,8.2447e-02_rb/) kbo(:,13,11) = (/ & &2.9044e+02_rb,2.9107e+02_rb,2.9274e+02_rb,2.9324e+02_rb,2.9124e+02_rb/) kbo(:,14,11) = (/ & &2.7118e+02_rb,2.7257e+02_rb,2.7251e+02_rb,2.7007e+02_rb,2.6710e+02_rb/) kbo(:,15,11) = (/ & &2.5062e+02_rb,2.5131e+02_rb,2.4974e+02_rb,2.4698e+02_rb,2.4378e+02_rb/) kbo(:,16,11) = (/ & &2.2673e+02_rb,2.2541e+02_rb,2.2341e+02_rb,2.2106e+02_rb,2.1873e+02_rb/) kbo(:,17,11) = (/ & &1.9976e+02_rb,1.9861e+02_rb,1.9716e+02_rb,1.9539e+02_rb,1.9362e+02_rb/) kbo(:,18,11) = (/ & &1.7313e+02_rb,1.7242e+02_rb,1.7179e+02_rb,1.7065e+02_rb,1.6917e+02_rb/) kbo(:,19,11) = (/ & &1.5014e+02_rb,1.4982e+02_rb,1.4894e+02_rb,1.4750e+02_rb,1.4584e+02_rb/) kbo(:,20,11) = (/ & &1.2916e+02_rb,1.2859e+02_rb,1.2771e+02_rb,1.2637e+02_rb,1.2459e+02_rb/) kbo(:,21,11) = (/ & &1.0806e+02_rb,1.0775e+02_rb,1.0718e+02_rb,1.0610e+02_rb,1.0475e+02_rb/) kbo(:,22,11) = (/ & &8.9165e+01_rb,8.9073e+01_rb,8.8652e+01_rb,8.7815e+01_rb,8.6979e+01_rb/) kbo(:,23,11) = (/ & &7.2556e+01_rb,7.2172e+01_rb,7.1575e+01_rb,7.1058e+01_rb,7.0305e+01_rb/) kbo(:,24,11) = (/ & &5.8830e+01_rb,5.8306e+01_rb,5.7758e+01_rb,5.7080e+01_rb,5.6291e+01_rb/) kbo(:,25,11) = (/ & &4.9821e+01_rb,4.9499e+01_rb,4.8965e+01_rb,4.8414e+01_rb,4.7810e+01_rb/) kbo(:,26,11) = (/ & &4.2622e+01_rb,4.2267e+01_rb,4.1876e+01_rb,4.1470e+01_rb,4.0806e+01_rb/) kbo(:,27,11) = (/ & &3.6706e+01_rb,3.6324e+01_rb,3.5968e+01_rb,3.5540e+01_rb,3.5058e+01_rb/) kbo(:,28,11) = (/ & &3.1978e+01_rb,3.1566e+01_rb,3.1237e+01_rb,3.0772e+01_rb,3.0454e+01_rb/) kbo(:,29,11) = (/ & &2.7828e+01_rb,2.7575e+01_rb,2.7171e+01_rb,2.6860e+01_rb,2.6508e+01_rb/) kbo(:,30,11) = (/ & &2.4147e+01_rb,2.3835e+01_rb,2.3571e+01_rb,2.3332e+01_rb,2.3114e+01_rb/) kbo(:,31,11) = (/ & &2.0703e+01_rb,2.0408e+01_rb,2.0254e+01_rb,2.0067e+01_rb,1.9883e+01_rb/) kbo(:,32,11) = (/ & &1.7639e+01_rb,1.7476e+01_rb,1.7324e+01_rb,1.7159e+01_rb,1.7076e+01_rb/) kbo(:,33,11) = (/ & &1.4975e+01_rb,1.4865e+01_rb,1.4744e+01_rb,1.4668e+01_rb,1.4624e+01_rb/) kbo(:,34,11) = (/ & &1.2711e+01_rb,1.2631e+01_rb,1.2589e+01_rb,1.2550e+01_rb,1.2508e+01_rb/) kbo(:,35,11) = (/ & &1.0751e+01_rb,1.0723e+01_rb,1.0704e+01_rb,1.0702e+01_rb,1.0681e+01_rb/) kbo(:,36,11) = (/ & &9.0814e+00_rb,9.0752e+00_rb,9.0908e+00_rb,9.1081e+00_rb,9.1217e+00_rb/) kbo(:,37,11) = (/ & &7.6820e+00_rb,7.7040e+00_rb,7.7379e+00_rb,7.7515e+00_rb,7.7864e+00_rb/) kbo(:,38,11) = (/ & &6.4923e+00_rb,6.5176e+00_rb,6.5490e+00_rb,6.5779e+00_rb,6.6281e+00_rb/) kbo(:,39,11) = (/ & &5.4567e+00_rb,5.4975e+00_rb,5.5468e+00_rb,5.5843e+00_rb,5.6396e+00_rb/) kbo(:,40,11) = (/ & &4.6201e+00_rb,4.6597e+00_rb,4.7074e+00_rb,4.7531e+00_rb,4.8054e+00_rb/) kbo(:,41,11) = (/ & &3.8974e+00_rb,3.9399e+00_rb,3.9967e+00_rb,4.0418e+00_rb,4.1011e+00_rb/) kbo(:,42,11) = (/ & &3.2907e+00_rb,3.3361e+00_rb,3.3839e+00_rb,3.4382e+00_rb,3.4997e+00_rb/) kbo(:,43,11) = (/ & &2.7732e+00_rb,2.8146e+00_rb,2.8677e+00_rb,2.9201e+00_rb,2.9866e+00_rb/) kbo(:,44,11) = (/ & &2.3284e+00_rb,2.3728e+00_rb,2.4251e+00_rb,2.4785e+00_rb,2.5440e+00_rb/) kbo(:,45,11) = (/ & &1.9528e+00_rb,1.9951e+00_rb,2.0498e+00_rb,2.1003e+00_rb,2.1644e+00_rb/) kbo(:,46,11) = (/ & &1.6318e+00_rb,1.6755e+00_rb,1.7227e+00_rb,1.7737e+00_rb,1.8354e+00_rb/) kbo(:,47,11) = (/ & &1.3599e+00_rb,1.4032e+00_rb,1.4486e+00_rb,1.4978e+00_rb,1.5556e+00_rb/) kbo(:,48,11) = (/ & &1.1311e+00_rb,1.1685e+00_rb,1.2136e+00_rb,1.2615e+00_rb,1.3144e+00_rb/) kbo(:,49,11) = (/ & &9.3555e-01_rb,9.7341e-01_rb,1.0126e+00_rb,1.0587e+00_rb,1.1063e+00_rb/) kbo(:,50,11) = (/ & &7.7693e-01_rb,8.0966e-01_rb,8.4684e-01_rb,8.9020e-01_rb,9.3317e-01_rb/) kbo(:,51,11) = (/ & &6.4536e-01_rb,6.7488e-01_rb,7.0604e-01_rb,7.4875e-01_rb,7.8723e-01_rb/) kbo(:,52,11) = (/ & &5.3457e-01_rb,5.5971e-01_rb,5.9092e-01_rb,6.2609e-01_rb,6.6312e-01_rb/) kbo(:,53,11) = (/ & &4.4222e-01_rb,4.6435e-01_rb,4.9056e-01_rb,5.2208e-01_rb,5.5614e-01_rb/) kbo(:,54,11) = (/ & &3.6743e-01_rb,3.8638e-01_rb,4.1127e-01_rb,4.3844e-01_rb,4.6892e-01_rb/) kbo(:,55,11) = (/ & &3.0658e-01_rb,3.2360e-01_rb,3.4391e-01_rb,3.6924e-01_rb,3.9670e-01_rb/) kbo(:,56,11) = (/ & &2.5551e-01_rb,2.6954e-01_rb,2.8819e-01_rb,3.1080e-01_rb,3.3508e-01_rb/) kbo(:,57,11) = (/ & &2.1322e-01_rb,2.2632e-01_rb,2.4139e-01_rb,2.5957e-01_rb,2.8310e-01_rb/) kbo(:,58,11) = (/ & &1.7898e-01_rb,1.8948e-01_rb,2.0228e-01_rb,2.1870e-01_rb,2.4000e-01_rb/) kbo(:,59,11) = (/ & &1.5351e-01_rb,1.6320e-01_rb,1.7439e-01_rb,1.8953e-01_rb,2.0982e-01_rb/) kbo(:,13,12) = (/ & &5.5035e+02_rb,5.5083e+02_rb,5.4893e+02_rb,5.4549e+02_rb,5.4357e+02_rb/) kbo(:,14,12) = (/ & &5.1666e+02_rb,5.1747e+02_rb,5.1731e+02_rb,5.1865e+02_rb,5.1926e+02_rb/) kbo(:,15,12) = (/ & &4.8259e+02_rb,4.8322e+02_rb,4.8500e+02_rb,4.8625e+02_rb,4.8440e+02_rb/) kbo(:,16,12) = (/ & &4.4814e+02_rb,4.5080e+02_rb,4.5253e+02_rb,4.5080e+02_rb,4.4664e+02_rb/) kbo(:,17,12) = (/ & &4.1611e+02_rb,4.1780e+02_rb,4.1594e+02_rb,4.1174e+02_rb,4.0672e+02_rb/) kbo(:,18,12) = (/ & &3.8097e+02_rb,3.8017e+02_rb,3.7694e+02_rb,3.7269e+02_rb,3.6847e+02_rb/) kbo(:,19,12) = (/ & &3.3900e+02_rb,3.3735e+02_rb,3.3499e+02_rb,3.3205e+02_rb,3.2864e+02_rb/) kbo(:,20,12) = (/ & &2.9644e+02_rb,2.9567e+02_rb,2.9387e+02_rb,2.9171e+02_rb,2.8914e+02_rb/) kbo(:,21,12) = (/ & &2.5711e+02_rb,2.5659e+02_rb,2.5545e+02_rb,2.5349e+02_rb,2.5090e+02_rb/) kbo(:,22,12) = (/ & &2.2227e+02_rb,2.2144e+02_rb,2.1973e+02_rb,2.1742e+02_rb,2.1472e+02_rb/) kbo(:,23,12) = (/ & &1.8874e+02_rb,1.8786e+02_rb,1.8655e+02_rb,1.8434e+02_rb,1.8190e+02_rb/) kbo(:,24,12) = (/ & &1.5708e+02_rb,1.5682e+02_rb,1.5564e+02_rb,1.5414e+02_rb,1.5250e+02_rb/) kbo(:,25,12) = (/ & &1.2691e+02_rb,1.2649e+02_rb,1.2582e+02_rb,1.2476e+02_rb,1.2335e+02_rb/) kbo(:,26,12) = (/ & &1.0261e+02_rb,1.0208e+02_rb,1.0124e+02_rb,1.0027e+02_rb,9.9263e+01_rb/) kbo(:,27,12) = (/ & &8.5769e+01_rb,8.4989e+01_rb,8.4207e+01_rb,8.3351e+01_rb,8.2249e+01_rb/) kbo(:,28,12) = (/ & &7.3314e+01_rb,7.2801e+01_rb,7.2005e+01_rb,7.1293e+01_rb,7.0277e+01_rb/) kbo(:,29,12) = (/ & &6.2526e+01_rb,6.2052e+01_rb,6.1497e+01_rb,6.0774e+01_rb,6.0060e+01_rb/) kbo(:,30,12) = (/ & &5.3636e+01_rb,5.3199e+01_rb,5.2692e+01_rb,5.1970e+01_rb,5.1392e+01_rb/) kbo(:,31,12) = (/ & &4.6032e+01_rb,4.5690e+01_rb,4.5122e+01_rb,4.4615e+01_rb,4.4345e+01_rb/) kbo(:,32,12) = (/ & &3.9736e+01_rb,3.9262e+01_rb,3.8850e+01_rb,3.8552e+01_rb,3.8247e+01_rb/) kbo(:,33,12) = (/ & &3.4154e+01_rb,3.3807e+01_rb,3.3534e+01_rb,3.3264e+01_rb,3.3008e+01_rb/) kbo(:,34,12) = (/ & &2.9451e+01_rb,2.9219e+01_rb,2.9024e+01_rb,2.8833e+01_rb,2.8685e+01_rb/) kbo(:,35,12) = (/ & &2.5346e+01_rb,2.5246e+01_rb,2.5119e+01_rb,2.4977e+01_rb,2.4976e+01_rb/) kbo(:,36,12) = (/ & &2.1817e+01_rb,2.1779e+01_rb,2.1703e+01_rb,2.1681e+01_rb,2.1750e+01_rb/) kbo(:,37,12) = (/ & &1.8813e+01_rb,1.8767e+01_rb,1.8799e+01_rb,1.8847e+01_rb,1.8941e+01_rb/) kbo(:,38,12) = (/ & &1.6125e+01_rb,1.6141e+01_rb,1.6208e+01_rb,1.6337e+01_rb,1.6455e+01_rb/) kbo(:,39,12) = (/ & &1.3770e+01_rb,1.3861e+01_rb,1.3953e+01_rb,1.4099e+01_rb,1.4238e+01_rb/) kbo(:,40,12) = (/ & &1.1787e+01_rb,1.1887e+01_rb,1.2028e+01_rb,1.2178e+01_rb,1.2352e+01_rb/) kbo(:,41,12) = (/ & &1.0073e+01_rb,1.0213e+01_rb,1.0351e+01_rb,1.0547e+01_rb,1.0724e+01_rb/) kbo(:,42,12) = (/ & &8.5925e+00_rb,8.7331e+00_rb,8.9300e+00_rb,9.0948e+00_rb,9.2833e+00_rb/) kbo(:,43,12) = (/ & &7.3118e+00_rb,7.4895e+00_rb,7.6577e+00_rb,7.8465e+00_rb,8.0457e+00_rb/) kbo(:,44,12) = (/ & &6.2222e+00_rb,6.3886e+00_rb,6.5774e+00_rb,6.7646e+00_rb,6.9710e+00_rb/) kbo(:,45,12) = (/ & &5.2923e+00_rb,5.4528e+00_rb,5.6365e+00_rb,5.8147e+00_rb,6.0122e+00_rb/) kbo(:,46,12) = (/ & &4.4844e+00_rb,4.6394e+00_rb,4.8198e+00_rb,4.9986e+00_rb,5.1861e+00_rb/) kbo(:,47,12) = (/ & &3.7915e+00_rb,3.9458e+00_rb,4.1119e+00_rb,4.2905e+00_rb,4.4702e+00_rb/) kbo(:,48,12) = (/ & &3.2031e+00_rb,3.3449e+00_rb,3.4984e+00_rb,3.6554e+00_rb,3.8276e+00_rb/) kbo(:,49,12) = (/ & &2.6829e+00_rb,2.8156e+00_rb,2.9666e+00_rb,3.1113e+00_rb,3.2647e+00_rb/) kbo(:,50,12) = (/ & &2.2570e+00_rb,2.3778e+00_rb,2.5052e+00_rb,2.6542e+00_rb,2.7988e+00_rb/) kbo(:,51,12) = (/ & &1.8957e+00_rb,2.0048e+00_rb,2.1275e+00_rb,2.2538e+00_rb,2.3944e+00_rb/) kbo(:,52,12) = (/ & &1.5859e+00_rb,1.6936e+00_rb,1.7982e+00_rb,1.9164e+00_rb,2.0433e+00_rb/) kbo(:,53,12) = (/ & &1.3268e+00_rb,1.4138e+00_rb,1.5132e+00_rb,1.6183e+00_rb,1.7346e+00_rb/) kbo(:,54,12) = (/ & &1.1132e+00_rb,1.1981e+00_rb,1.2847e+00_rb,1.3880e+00_rb,1.4926e+00_rb/) kbo(:,55,12) = (/ & &9.3399e-01_rb,1.0137e+00_rb,1.0949e+00_rb,1.1891e+00_rb,1.2944e+00_rb/) kbo(:,56,12) = (/ & &7.8822e-01_rb,8.5806e-01_rb,9.3275e-01_rb,1.0165e+00_rb,1.1194e+00_rb/) kbo(:,57,12) = (/ & &6.5846e-01_rb,7.2237e-01_rb,7.9487e-01_rb,8.7625e-01_rb,9.6708e-01_rb/) kbo(:,58,12) = (/ & &5.5082e-01_rb,6.0932e-01_rb,6.7677e-01_rb,7.5228e-01_rb,8.3907e-01_rb/) kbo(:,59,12) = (/ & &4.7097e-01_rb,5.2693e-01_rb,5.8955e-01_rb,6.6574e-01_rb,7.5245e-01_rb/) kbo(:,13,13) = (/ & &1.1006e+03_rb,1.0930e+03_rb,1.0868e+03_rb,1.0845e+03_rb,1.0783e+03_rb/) kbo(:,14,13) = (/ & &1.0959e+03_rb,1.0919e+03_rb,1.0910e+03_rb,1.0859e+03_rb,1.0743e+03_rb/) kbo(:,15,13) = (/ & &1.0739e+03_rb,1.0736e+03_rb,1.0715e+03_rb,1.0637e+03_rb,1.0554e+03_rb/) kbo(:,16,13) = (/ & &1.0348e+03_rb,1.0368e+03_rb,1.0336e+03_rb,1.0297e+03_rb,1.0251e+03_rb/) kbo(:,17,13) = (/ & &9.8104e+02_rb,9.8318e+02_rb,9.8416e+02_rb,9.8388e+02_rb,9.8177e+02_rb/) kbo(:,18,13) = (/ & &9.1939e+02_rb,9.2259e+02_rb,9.2492e+02_rb,9.2597e+02_rb,9.2235e+02_rb/) kbo(:,19,13) = (/ & &8.5744e+02_rb,8.6138e+02_rb,8.6320e+02_rb,8.6092e+02_rb,8.5380e+02_rb/) kbo(:,20,13) = (/ & &7.9222e+02_rb,7.9480e+02_rb,7.9309e+02_rb,7.8688e+02_rb,7.7879e+02_rb/) kbo(:,21,13) = (/ & &7.2352e+02_rb,7.2196e+02_rb,7.1706e+02_rb,7.1061e+02_rb,7.0329e+02_rb/) kbo(:,22,13) = (/ & &6.4947e+02_rb,6.4590e+02_rb,6.4130e+02_rb,6.3579e+02_rb,6.2875e+02_rb/) kbo(:,23,13) = (/ & &5.7230e+02_rb,5.6958e+02_rb,5.6554e+02_rb,5.6079e+02_rb,5.5572e+02_rb/) kbo(:,24,13) = (/ & &4.9907e+02_rb,4.9687e+02_rb,4.9379e+02_rb,4.8982e+02_rb,4.8472e+02_rb/) kbo(:,25,13) = (/ & &4.3090e+02_rb,4.2914e+02_rb,4.2610e+02_rb,4.2208e+02_rb,4.1721e+02_rb/) kbo(:,26,13) = (/ & &3.6834e+02_rb,3.6617e+02_rb,3.6313e+02_rb,3.5932e+02_rb,3.5509e+02_rb/) kbo(:,27,13) = (/ & &3.0815e+02_rb,3.0692e+02_rb,3.0435e+02_rb,3.0103e+02_rb,2.9773e+02_rb/) kbo(:,28,13) = (/ & &2.5402e+02_rb,2.5274e+02_rb,2.5083e+02_rb,2.4862e+02_rb,2.4624e+02_rb/) kbo(:,29,13) = (/ & &2.0985e+02_rb,2.0878e+02_rb,2.0729e+02_rb,2.0573e+02_rb,2.0375e+02_rb/) kbo(:,30,13) = (/ & &1.7400e+02_rb,1.7284e+02_rb,1.7160e+02_rb,1.7041e+02_rb,1.6891e+02_rb/) kbo(:,31,13) = (/ & &1.4590e+02_rb,1.4515e+02_rb,1.4409e+02_rb,1.4281e+02_rb,1.4174e+02_rb/) kbo(:,32,13) = (/ & &1.2352e+02_rb,1.2281e+02_rb,1.2185e+02_rb,1.2095e+02_rb,1.2000e+02_rb/) kbo(:,33,13) = (/ & &1.0504e+02_rb,1.0445e+02_rb,1.0374e+02_rb,1.0318e+02_rb,1.0254e+02_rb/) kbo(:,34,13) = (/ & &8.9914e+01_rb,8.9264e+01_rb,8.8774e+01_rb,8.8232e+01_rb,8.7968e+01_rb/) kbo(:,35,13) = (/ & &7.7137e+01_rb,7.6673e+01_rb,7.6351e+01_rb,7.5989e+01_rb,7.5812e+01_rb/) kbo(:,36,13) = (/ & &6.6630e+01_rb,6.6370e+01_rb,6.6000e+01_rb,6.5870e+01_rb,6.5834e+01_rb/) kbo(:,37,13) = (/ & &5.7835e+01_rb,5.7711e+01_rb,5.7500e+01_rb,5.7478e+01_rb,5.7625e+01_rb/) kbo(:,38,13) = (/ & &5.0326e+01_rb,5.0239e+01_rb,5.0196e+01_rb,5.0287e+01_rb,5.0433e+01_rb/) kbo(:,39,13) = (/ & &4.3783e+01_rb,4.3749e+01_rb,4.3859e+01_rb,4.3984e+01_rb,4.4262e+01_rb/) kbo(:,40,13) = (/ & &3.8311e+01_rb,3.8366e+01_rb,3.8494e+01_rb,3.8770e+01_rb,3.9082e+01_rb/) kbo(:,41,13) = (/ & &3.3505e+01_rb,3.3696e+01_rb,3.3809e+01_rb,3.4139e+01_rb,3.4534e+01_rb/) kbo(:,42,13) = (/ & &2.9251e+01_rb,2.9507e+01_rb,2.9744e+01_rb,3.0106e+01_rb,3.0543e+01_rb/) kbo(:,43,13) = (/ & &2.5517e+01_rb,2.5852e+01_rb,2.6152e+01_rb,2.6566e+01_rb,2.7067e+01_rb/) kbo(:,44,13) = (/ & &2.2216e+01_rb,2.2648e+01_rb,2.3006e+01_rb,2.3424e+01_rb,2.3903e+01_rb/) kbo(:,45,13) = (/ & &1.9313e+01_rb,1.9753e+01_rb,2.0163e+01_rb,2.0601e+01_rb,2.1122e+01_rb/) kbo(:,46,13) = (/ & &1.6765e+01_rb,1.7207e+01_rb,1.7660e+01_rb,1.8173e+01_rb,1.8710e+01_rb/) kbo(:,47,13) = (/ & &1.4512e+01_rb,1.4984e+01_rb,1.5402e+01_rb,1.5957e+01_rb,1.6479e+01_rb/) kbo(:,48,13) = (/ & &1.2486e+01_rb,1.2967e+01_rb,1.3459e+01_rb,1.3983e+01_rb,1.4524e+01_rb/) kbo(:,49,13) = (/ & &1.0733e+01_rb,1.1206e+01_rb,1.1665e+01_rb,1.2207e+01_rb,1.2773e+01_rb/) kbo(:,50,13) = (/ & &9.2157e+00_rb,9.6749e+00_rb,1.0151e+01_rb,1.0704e+01_rb,1.1247e+01_rb/) kbo(:,51,13) = (/ & &7.9591e+00_rb,8.3907e+00_rb,8.8535e+00_rb,9.3811e+00_rb,9.9247e+00_rb/) kbo(:,52,13) = (/ & &6.8068e+00_rb,7.2371e+00_rb,7.6934e+00_rb,8.2063e+00_rb,8.7553e+00_rb/) kbo(:,53,13) = (/ & &5.7967e+00_rb,6.2085e+00_rb,6.6421e+00_rb,7.1263e+00_rb,7.6815e+00_rb/) kbo(:,54,13) = (/ & &4.9653e+00_rb,5.3639e+00_rb,5.8069e+00_rb,6.2889e+00_rb,6.8002e+00_rb/) kbo(:,55,13) = (/ & &4.2889e+00_rb,4.6915e+00_rb,5.1242e+00_rb,5.6024e+00_rb,6.0981e+00_rb/) kbo(:,56,13) = (/ & &3.6900e+00_rb,4.0833e+00_rb,4.5086e+00_rb,4.9809e+00_rb,5.4831e+00_rb/) kbo(:,57,13) = (/ & &3.1898e+00_rb,3.5703e+00_rb,3.9801e+00_rb,4.4470e+00_rb,4.9431e+00_rb/) kbo(:,58,13) = (/ & &2.7316e+00_rb,3.0989e+00_rb,3.5187e+00_rb,3.9710e+00_rb,4.4675e+00_rb/) kbo(:,59,13) = (/ & &2.4661e+00_rb,2.8142e+00_rb,3.2518e+00_rb,3.7206e+00_rb,4.2604e+00_rb/) kbo(:,13,14) = (/ & &2.3516e+03_rb,2.3425e+03_rb,2.3393e+03_rb,2.3344e+03_rb,2.3274e+03_rb/) kbo(:,14,14) = (/ & &2.4560e+03_rb,2.4460e+03_rb,2.4416e+03_rb,2.4361e+03_rb,2.4328e+03_rb/) kbo(:,15,14) = (/ & &2.5504e+03_rb,2.5434e+03_rb,2.5388e+03_rb,2.5327e+03_rb,2.5248e+03_rb/) kbo(:,16,14) = (/ & &2.6346e+03_rb,2.6312e+03_rb,2.6203e+03_rb,2.6088e+03_rb,2.5971e+03_rb/) kbo(:,17,14) = (/ & &2.7008e+03_rb,2.6935e+03_rb,2.6794e+03_rb,2.6636e+03_rb,2.6477e+03_rb/) kbo(:,18,14) = (/ & &2.7305e+03_rb,2.7239e+03_rb,2.7111e+03_rb,2.6981e+03_rb,2.6813e+03_rb/) kbo(:,19,14) = (/ & &2.7180e+03_rb,2.7110e+03_rb,2.7049e+03_rb,2.6968e+03_rb,2.6814e+03_rb/) kbo(:,20,14) = (/ & &2.6672e+03_rb,2.6665e+03_rb,2.6675e+03_rb,2.6606e+03_rb,2.6429e+03_rb/) kbo(:,21,14) = (/ & &2.5815e+03_rb,2.5893e+03_rb,2.5905e+03_rb,2.5819e+03_rb,2.5661e+03_rb/) kbo(:,22,14) = (/ & &2.4673e+03_rb,2.4773e+03_rb,2.4773e+03_rb,2.4699e+03_rb,2.4562e+03_rb/) kbo(:,23,14) = (/ & &2.3326e+03_rb,2.3404e+03_rb,2.3409e+03_rb,2.3341e+03_rb,2.3220e+03_rb/) kbo(:,24,14) = (/ & &2.1770e+03_rb,2.1831e+03_rb,2.1839e+03_rb,2.1779e+03_rb,2.1650e+03_rb/) kbo(:,25,14) = (/ & &2.0113e+03_rb,2.0166e+03_rb,2.0154e+03_rb,2.0063e+03_rb,1.9910e+03_rb/) kbo(:,26,14) = (/ & &1.8365e+03_rb,1.8415e+03_rb,1.8363e+03_rb,1.8253e+03_rb,1.8117e+03_rb/) kbo(:,27,14) = (/ & &1.6595e+03_rb,1.6581e+03_rb,1.6515e+03_rb,1.6428e+03_rb,1.6322e+03_rb/) kbo(:,28,14) = (/ & &1.4809e+03_rb,1.4771e+03_rb,1.4724e+03_rb,1.4658e+03_rb,1.4569e+03_rb/) kbo(:,29,14) = (/ & &1.3089e+03_rb,1.3068e+03_rb,1.3044e+03_rb,1.2991e+03_rb,1.2930e+03_rb/) kbo(:,30,14) = (/ & &1.1460e+03_rb,1.1478e+03_rb,1.1472e+03_rb,1.1450e+03_rb,1.1415e+03_rb/) kbo(:,31,14) = (/ & &9.9693e+02_rb,1.0002e+03_rb,1.0008e+03_rb,1.0017e+03_rb,1.0008e+03_rb/) kbo(:,32,14) = (/ & &8.6070e+02_rb,8.6544e+02_rb,8.6833e+02_rb,8.7044e+02_rb,8.7331e+02_rb/) kbo(:,33,14) = (/ & &7.4260e+02_rb,7.4642e+02_rb,7.5058e+02_rb,7.5528e+02_rb,7.5991e+02_rb/) kbo(:,34,14) = (/ & &6.3829e+02_rb,6.4348e+02_rb,6.4940e+02_rb,6.5551e+02_rb,6.6078e+02_rb/) kbo(:,35,14) = (/ & &5.4846e+02_rb,5.5540e+02_rb,5.6285e+02_rb,5.6932e+02_rb,5.7603e+02_rb/) kbo(:,36,14) = (/ & &4.7198e+02_rb,4.7993e+02_rb,4.8784e+02_rb,4.9478e+02_rb,5.0307e+02_rb/) kbo(:,37,14) = (/ & &4.0498e+02_rb,4.1318e+02_rb,4.2147e+02_rb,4.2948e+02_rb,4.3820e+02_rb/) kbo(:,38,14) = (/ & &3.4831e+02_rb,3.5680e+02_rb,3.6471e+02_rb,3.7305e+02_rb,3.8282e+02_rb/) kbo(:,39,14) = (/ & &3.0154e+02_rb,3.0929e+02_rb,3.1734e+02_rb,3.2632e+02_rb,3.3596e+02_rb/) kbo(:,40,14) = (/ & &2.6084e+02_rb,2.6836e+02_rb,2.7578e+02_rb,2.8455e+02_rb,2.9457e+02_rb/) kbo(:,41,14) = (/ & &2.2737e+02_rb,2.3379e+02_rb,2.4131e+02_rb,2.4917e+02_rb,2.5928e+02_rb/) kbo(:,42,14) = (/ & &1.9807e+02_rb,2.0493e+02_rb,2.1238e+02_rb,2.2005e+02_rb,2.2904e+02_rb/) kbo(:,43,14) = (/ & &1.7261e+02_rb,1.7936e+02_rb,1.8667e+02_rb,1.9473e+02_rb,2.0355e+02_rb/) kbo(:,44,14) = (/ & &1.5104e+02_rb,1.5759e+02_rb,1.6444e+02_rb,1.7229e+02_rb,1.8143e+02_rb/) kbo(:,45,14) = (/ & &1.3320e+02_rb,1.3908e+02_rb,1.4536e+02_rb,1.5288e+02_rb,1.6210e+02_rb/) kbo(:,46,14) = (/ & &1.1788e+02_rb,1.2339e+02_rb,1.2957e+02_rb,1.3630e+02_rb,1.4477e+02_rb/) kbo(:,47,14) = (/ & &1.0441e+02_rb,1.0994e+02_rb,1.1542e+02_rb,1.2186e+02_rb,1.2998e+02_rb/) kbo(:,48,14) = (/ & &9.2989e+01_rb,9.8393e+01_rb,1.0367e+02_rb,1.0970e+02_rb,1.1684e+02_rb/) kbo(:,49,14) = (/ & &8.3245e+01_rb,8.8109e+01_rb,9.3736e+01_rb,9.8882e+01_rb,1.0570e+02_rb/) kbo(:,50,14) = (/ & &7.4420e+01_rb,7.9603e+01_rb,8.4592e+01_rb,9.0187e+01_rb,9.6226e+01_rb/) kbo(:,51,14) = (/ & &6.6553e+01_rb,7.2000e+01_rb,7.7144e+01_rb,8.2193e+01_rb,8.8503e+01_rb/) kbo(:,52,14) = (/ & &5.9519e+01_rb,6.4793e+01_rb,7.0321e+01_rb,7.5806e+01_rb,8.1580e+01_rb/) kbo(:,53,14) = (/ & &5.3233e+01_rb,5.8402e+01_rb,6.4217e+01_rb,6.9900e+01_rb,7.5580e+01_rb/) kbo(:,54,14) = (/ & &4.7589e+01_rb,5.2923e+01_rb,5.8451e+01_rb,6.4196e+01_rb,7.0322e+01_rb/) kbo(:,55,14) = (/ & &4.2742e+01_rb,4.7820e+01_rb,5.3445e+01_rb,5.9447e+01_rb,6.5405e+01_rb/) kbo(:,56,14) = (/ & &3.8175e+01_rb,4.3483e+01_rb,4.9069e+01_rb,5.5046e+01_rb,6.1266e+01_rb/) kbo(:,57,14) = (/ & &3.4510e+01_rb,3.9326e+01_rb,4.4806e+01_rb,5.1166e+01_rb,5.7169e+01_rb/) kbo(:,58,14) = (/ & &3.1419e+01_rb,3.6120e+01_rb,4.1281e+01_rb,4.7436e+01_rb,5.4030e+01_rb/) kbo(:,59,14) = (/ & &3.0087e+01_rb,3.4624e+01_rb,3.9514e+01_rb,4.5129e+01_rb,5.1873e+01_rb/) kbo(:,13,15) = (/ & &5.1911e+03_rb,5.1717e+03_rb,5.1553e+03_rb,5.1395e+03_rb,5.1397e+03_rb/) kbo(:,14,15) = (/ & &5.8547e+03_rb,5.8285e+03_rb,5.7963e+03_rb,5.7766e+03_rb,5.7715e+03_rb/) kbo(:,15,15) = (/ & &6.5298e+03_rb,6.4858e+03_rb,6.4506e+03_rb,6.4312e+03_rb,6.4243e+03_rb/) kbo(:,16,15) = (/ & &7.2117e+03_rb,7.1510e+03_rb,7.1189e+03_rb,7.1000e+03_rb,7.0870e+03_rb/) kbo(:,17,15) = (/ & &7.8953e+03_rb,7.8291e+03_rb,7.7890e+03_rb,7.7670e+03_rb,7.7489e+03_rb/) kbo(:,18,15) = (/ & &8.5855e+03_rb,8.5208e+03_rb,8.4668e+03_rb,8.4206e+03_rb,8.3980e+03_rb/) kbo(:,19,15) = (/ & &9.2674e+03_rb,9.2049e+03_rb,9.1326e+03_rb,9.0736e+03_rb,9.0525e+03_rb/) kbo(:,20,15) = (/ & &9.9108e+03_rb,9.8356e+03_rb,9.7636e+03_rb,9.7141e+03_rb,9.6905e+03_rb/) kbo(:,21,15) = (/ & &1.0486e+04_rb,1.0415e+04_rb,1.0355e+04_rb,1.0317e+04_rb,1.0287e+04_rb/) kbo(:,22,15) = (/ & &1.0985e+04_rb,1.0920e+04_rb,1.0875e+04_rb,1.0845e+04_rb,1.0804e+04_rb/) kbo(:,23,15) = (/ & &1.1398e+04_rb,1.1342e+04_rb,1.1308e+04_rb,1.1276e+04_rb,1.1234e+04_rb/) kbo(:,24,15) = (/ & &1.1709e+04_rb,1.1672e+04_rb,1.1645e+04_rb,1.1614e+04_rb,1.1576e+04_rb/) kbo(:,25,15) = (/ & &1.1914e+04_rb,1.1896e+04_rb,1.1878e+04_rb,1.1862e+04_rb,1.1837e+04_rb/) kbo(:,26,15) = (/ & &1.2040e+04_rb,1.2031e+04_rb,1.2029e+04_rb,1.2020e+04_rb,1.1998e+04_rb/) kbo(:,27,15) = (/ & &1.2071e+04_rb,1.2081e+04_rb,1.2089e+04_rb,1.2085e+04_rb,1.2069e+04_rb/) kbo(:,28,15) = (/ & &1.2021e+04_rb,1.2058e+04_rb,1.2068e+04_rb,1.2068e+04_rb,1.2073e+04_rb/) kbo(:,29,15) = (/ & &1.1886e+04_rb,1.1940e+04_rb,1.1970e+04_rb,1.1995e+04_rb,1.2017e+04_rb/) kbo(:,30,15) = (/ & &1.1676e+04_rb,1.1749e+04_rb,1.1808e+04_rb,1.1861e+04_rb,1.1908e+04_rb/) kbo(:,31,15) = (/ & &1.1416e+04_rb,1.1515e+04_rb,1.1609e+04_rb,1.1694e+04_rb,1.1764e+04_rb/) kbo(:,32,15) = (/ & &1.1108e+04_rb,1.1250e+04_rb,1.1385e+04_rb,1.1503e+04_rb,1.1598e+04_rb/) kbo(:,33,15) = (/ & &1.0773e+04_rb,1.0963e+04_rb,1.1141e+04_rb,1.1294e+04_rb,1.1425e+04_rb/) kbo(:,34,15) = (/ & &1.0438e+04_rb,1.0673e+04_rb,1.0885e+04_rb,1.1077e+04_rb,1.1249e+04_rb/) kbo(:,35,15) = (/ & &1.0089e+04_rb,1.0368e+04_rb,1.0621e+04_rb,1.0852e+04_rb,1.1064e+04_rb/) kbo(:,36,15) = (/ & &9.7201e+03_rb,1.0041e+04_rb,1.0341e+04_rb,1.0614e+04_rb,1.0861e+04_rb/) kbo(:,37,15) = (/ & &9.3163e+03_rb,9.6805e+03_rb,1.0024e+04_rb,1.0342e+04_rb,1.0632e+04_rb/) kbo(:,38,15) = (/ & &8.9272e+03_rb,9.3307e+03_rb,9.7169e+03_rb,1.0074e+04_rb,1.0402e+04_rb/) kbo(:,39,15) = (/ & &8.5526e+03_rb,8.9993e+03_rb,9.4206e+03_rb,9.8154e+03_rb,1.0180e+04_rb/) kbo(:,40,15) = (/ & &8.1494e+03_rb,8.6355e+03_rb,9.0962e+03_rb,9.5285e+03_rb,9.9305e+03_rb/) kbo(:,41,15) = (/ & &7.7529e+03_rb,8.2788e+03_rb,8.7766e+03_rb,9.2446e+03_rb,9.6773e+03_rb/) kbo(:,42,15) = (/ & &7.3760e+03_rb,7.9339e+03_rb,8.4681e+03_rb,8.9681e+03_rb,9.4340e+03_rb/) kbo(:,43,15) = (/ & &6.9819e+03_rb,7.5721e+03_rb,8.1409e+03_rb,8.6746e+03_rb,9.1691e+03_rb/) kbo(:,44,15) = (/ & &6.5827e+03_rb,7.2081e+03_rb,7.8084e+03_rb,8.3740e+03_rb,8.8982e+03_rb/) kbo(:,45,15) = (/ & &6.1901e+03_rb,6.8485e+03_rb,7.4795e+03_rb,8.0786e+03_rb,8.6303e+03_rb/) kbo(:,46,15) = (/ & &5.8024e+03_rb,6.4801e+03_rb,7.1413e+03_rb,7.7702e+03_rb,8.3548e+03_rb/) kbo(:,47,15) = (/ & &5.3938e+03_rb,6.0870e+03_rb,6.7778e+03_rb,7.4341e+03_rb,8.0495e+03_rb/) kbo(:,48,15) = (/ & &5.0092e+03_rb,5.7052e+03_rb,6.4111e+03_rb,7.0962e+03_rb,7.7409e+03_rb/) kbo(:,49,15) = (/ & &4.6045e+03_rb,5.3446e+03_rb,6.0469e+03_rb,6.7562e+03_rb,7.4302e+03_rb/) kbo(:,50,15) = (/ & &4.2414e+03_rb,4.9940e+03_rb,5.7177e+03_rb,6.4318e+03_rb,7.1308e+03_rb/) kbo(:,51,15) = (/ & &3.9058e+03_rb,4.6435e+03_rb,5.4144e+03_rb,6.1320e+03_rb,6.8340e+03_rb/) kbo(:,52,15) = (/ & &3.5828e+03_rb,4.3242e+03_rb,5.0835e+03_rb,5.8308e+03_rb,6.5455e+03_rb/) kbo(:,53,15) = (/ & &3.2733e+03_rb,3.9950e+03_rb,4.7590e+03_rb,5.5300e+03_rb,6.2613e+03_rb/) kbo(:,54,15) = (/ & &2.9973e+03_rb,3.7033e+03_rb,4.4798e+03_rb,5.2468e+03_rb,6.0054e+03_rb/) kbo(:,55,15) = (/ & &2.7347e+03_rb,3.4529e+03_rb,4.2020e+03_rb,4.9932e+03_rb,5.7360e+03_rb/) kbo(:,56,15) = (/ & &2.4953e+03_rb,3.1956e+03_rb,3.9366e+03_rb,4.7176e+03_rb,5.4818e+03_rb/) kbo(:,57,15) = (/ & &2.2617e+03_rb,2.9413e+03_rb,3.6881e+03_rb,4.4499e+03_rb,5.2349e+03_rb/) kbo(:,58,15) = (/ & &2.0370e+03_rb,2.7148e+03_rb,3.4460e+03_rb,4.2224e+03_rb,4.9906e+03_rb/) kbo(:,59,15) = (/ & &1.9478e+03_rb,2.6130e+03_rb,3.3529e+03_rb,4.1205e+03_rb,4.8990e+03_rb/) kbo(:,13,16) = (/ & &1.0699e+04_rb,1.0668e+04_rb,1.0580e+04_rb,1.0493e+04_rb,1.0473e+04_rb/) kbo(:,14,16) = (/ & &1.2469e+04_rb,1.2443e+04_rb,1.2338e+04_rb,1.2279e+04_rb,1.2260e+04_rb/) kbo(:,15,16) = (/ & &1.4513e+04_rb,1.4466e+04_rb,1.4361e+04_rb,1.4360e+04_rb,1.4376e+04_rb/) kbo(:,16,16) = (/ & &1.6769e+04_rb,1.6706e+04_rb,1.6727e+04_rb,1.6775e+04_rb,1.6795e+04_rb/) kbo(:,17,16) = (/ & &1.9233e+04_rb,1.9285e+04_rb,1.9387e+04_rb,1.9445e+04_rb,1.9443e+04_rb/) kbo(:,18,16) = (/ & &2.2082e+04_rb,2.2141e+04_rb,2.2296e+04_rb,2.2362e+04_rb,2.2373e+04_rb/) kbo(:,19,16) = (/ & &2.5392e+04_rb,2.5419e+04_rb,2.5533e+04_rb,2.5623e+04_rb,2.5622e+04_rb/) kbo(:,20,16) = (/ & &2.9227e+04_rb,2.9228e+04_rb,2.9232e+04_rb,2.9272e+04_rb,2.9286e+04_rb/) kbo(:,21,16) = (/ & &3.3689e+04_rb,3.3556e+04_rb,3.3511e+04_rb,3.3436e+04_rb,3.3399e+04_rb/) kbo(:,22,16) = (/ & &3.8640e+04_rb,3.8494e+04_rb,3.8304e+04_rb,3.8118e+04_rb,3.8006e+04_rb/) kbo(:,23,16) = (/ & &4.4135e+04_rb,4.3894e+04_rb,4.3600e+04_rb,4.3191e+04_rb,4.3063e+04_rb/) kbo(:,24,16) = (/ & &5.0120e+04_rb,4.9723e+04_rb,4.9276e+04_rb,4.8847e+04_rb,4.8550e+04_rb/) kbo(:,25,16) = (/ & &5.6400e+04_rb,5.5824e+04_rb,5.5260e+04_rb,5.4753e+04_rb,5.4318e+04_rb/) kbo(:,26,16) = (/ & &6.2742e+04_rb,6.2101e+04_rb,6.1449e+04_rb,6.0838e+04_rb,6.0246e+04_rb/) kbo(:,27,16) = (/ & &6.9256e+04_rb,6.8498e+04_rb,6.7755e+04_rb,6.7035e+04_rb,6.6255e+04_rb/) kbo(:,28,16) = (/ & &7.5845e+04_rb,7.4890e+04_rb,7.4038e+04_rb,7.3125e+04_rb,7.2119e+04_rb/) kbo(:,29,16) = (/ & &8.2416e+04_rb,8.1292e+04_rb,8.0172e+04_rb,7.8988e+04_rb,7.7733e+04_rb/) kbo(:,30,16) = (/ & &8.8923e+04_rb,8.7524e+04_rb,8.6114e+04_rb,8.4633e+04_rb,8.3083e+04_rb/) kbo(:,31,16) = (/ & &9.5128e+04_rb,9.3474e+04_rb,9.1409e+04_rb,8.9609e+04_rb,8.8121e+04_rb/) kbo(:,32,16) = (/ & &1.0109e+05_rb,9.9056e+04_rb,9.6959e+04_rb,9.4838e+04_rb,9.2728e+04_rb/) kbo(:,33,16) = (/ & &1.0668e+05_rb,1.0426e+05_rb,1.0177e+05_rb,9.9309e+04_rb,9.6864e+04_rb/) kbo(:,34,16) = (/ & &1.1181e+05_rb,1.0901e+05_rb,1.0619e+05_rb,1.0339e+05_rb,1.0062e+05_rb/) kbo(:,35,16) = (/ & &1.1669e+05_rb,1.1352e+05_rb,1.1036e+05_rb,1.0724e+05_rb,1.0414e+05_rb/) kbo(:,36,16) = (/ & &1.2143e+05_rb,1.1741e+05_rb,1.1444e+05_rb,1.1099e+05_rb,1.0759e+05_rb/) kbo(:,37,16) = (/ & &1.2629e+05_rb,1.2248e+05_rb,1.1868e+05_rb,1.1492e+05_rb,1.1120e+05_rb/) kbo(:,38,16) = (/ & &1.3077e+05_rb,1.2669e+05_rb,1.2260e+05_rb,1.1857e+05_rb,1.1458e+05_rb/) kbo(:,39,16) = (/ & &1.3413e+05_rb,1.3013e+05_rb,1.2620e+05_rb,1.2191e+05_rb,1.1768e+05_rb/) kbo(:,40,16) = (/ & &1.3905e+05_rb,1.3448e+05_rb,1.2993e+05_rb,1.2540e+05_rb,1.2095e+05_rb/) kbo(:,41,16) = (/ & &1.4302e+05_rb,1.3822e+05_rb,1.3346e+05_rb,1.2873e+05_rb,1.2407e+05_rb/) kbo(:,42,16) = (/ & &1.4675e+05_rb,1.4173e+05_rb,1.3673e+05_rb,1.3182e+05_rb,1.2698e+05_rb/) kbo(:,43,16) = (/ & &1.5047e+05_rb,1.4528e+05_rb,1.4010e+05_rb,1.3500e+05_rb,1.2941e+05_rb/) kbo(:,44,16) = (/ & &1.5413e+05_rb,1.4878e+05_rb,1.4344e+05_rb,1.3816e+05_rb,1.3300e+05_rb/) kbo(:,45,16) = (/ & &1.5764e+05_rb,1.5214e+05_rb,1.4665e+05_rb,1.4055e+05_rb,1.3586e+05_rb/) kbo(:,46,16) = (/ & &1.6104e+05_rb,1.5546e+05_rb,1.4981e+05_rb,1.4422e+05_rb,1.3874e+05_rb/) kbo(:,47,16) = (/ & &1.6453e+05_rb,1.5891e+05_rb,1.5314e+05_rb,1.4742e+05_rb,1.4180e+05_rb/) kbo(:,48,16) = (/ & &1.6775e+05_rb,1.6219e+05_rb,1.5640e+05_rb,1.5054e+05_rb,1.4481e+05_rb/) kbo(:,49,16) = (/ & &1.7104e+05_rb,1.6528e+05_rb,1.5957e+05_rb,1.5363e+05_rb,1.4773e+05_rb/) kbo(:,50,16) = (/ & &1.7401e+05_rb,1.6818e+05_rb,1.6240e+05_rb,1.5648e+05_rb,1.5051e+05_rb/) kbo(:,51,16) = (/ & &1.7667e+05_rb,1.7104e+05_rb,1.6499e+05_rb,1.5912e+05_rb,1.5318e+05_rb/) kbo(:,52,16) = (/ & &1.7922e+05_rb,1.7356e+05_rb,1.6772e+05_rb,1.6169e+05_rb,1.5572e+05_rb/) kbo(:,53,16) = (/ & &1.8153e+05_rb,1.7622e+05_rb,1.7035e+05_rb,1.6422e+05_rb,1.5819e+05_rb/) kbo(:,54,16) = (/ & &1.8363e+05_rb,1.7848e+05_rb,1.7259e+05_rb,1.6657e+05_rb,1.6042e+05_rb/) kbo(:,55,16) = (/ & &1.8551e+05_rb,1.8043e+05_rb,1.7479e+05_rb,1.6867e+05_rb,1.6267e+05_rb/) kbo(:,56,16) = (/ & &1.8723e+05_rb,1.8233e+05_rb,1.7687e+05_rb,1.7089e+05_rb,1.6480e+05_rb/) kbo(:,57,16) = (/ & &1.8886e+05_rb,1.8420e+05_rb,1.7883e+05_rb,1.7299e+05_rb,1.6681e+05_rb/) kbo(:,58,16) = (/ & &1.9037e+05_rb,1.8581e+05_rb,1.8067e+05_rb,1.7477e+05_rb,1.6881e+05_rb/) kbo(:,59,16) = (/ & &1.9100e+05_rb,1.8659e+05_rb,1.8132e+05_rb,1.7562e+05_rb,1.6956e+05_rb/) kao_mn2(:, 1) = (/ & & 5.12042e-08_rb, 5.51239e-08_rb, 5.93436e-08_rb, 6.38863e-08_rb, 6.87767e-08_rb, & & 7.40415e-08_rb, 7.97093e-08_rb, 8.58110e-08_rb, 9.23797e-08_rb, 9.94513e-08_rb, & & 1.07064e-07_rb, 1.15260e-07_rb, 1.24083e-07_rb, 1.33581e-07_rb, 1.43807e-07_rb, & & 1.54815e-07_rb, 1.66666e-07_rb, 1.79424e-07_rb, 1.93159e-07_rb/) kao_mn2(:, 2) = (/ & & 2.30938e-07_rb, 2.41696e-07_rb, 2.52955e-07_rb, 2.64738e-07_rb, 2.77071e-07_rb, & & 2.89978e-07_rb, 3.03486e-07_rb, 3.17623e-07_rb, 3.32419e-07_rb, 3.47904e-07_rb, & & 3.64111e-07_rb, 3.81072e-07_rb, 3.98824e-07_rb, 4.17402e-07_rb, 4.36846e-07_rb, & & 4.57196e-07_rb, 4.78494e-07_rb, 5.00784e-07_rb, 5.24112e-07_rb/) kao_mn2(:, 3) = (/ & & 6.70458e-07_rb, 7.04274e-07_rb, 7.39795e-07_rb, 7.77109e-07_rb, 8.16304e-07_rb, & & 8.57476e-07_rb, 9.00724e-07_rb, 9.46154e-07_rb, 9.93876e-07_rb, 1.04400e-06_rb, & & 1.09666e-06_rb, 1.15197e-06_rb, 1.21008e-06_rb, 1.27111e-06_rb, 1.33522e-06_rb, & & 1.40256e-06_rb, 1.47331e-06_rb, 1.54761e-06_rb, 1.62567e-06_rb/) kao_mn2(:, 4) = (/ & & 1.84182e-06_rb, 1.89203e-06_rb, 1.94360e-06_rb, 1.99658e-06_rb, 2.05101e-06_rb, & & 2.10692e-06_rb, 2.16435e-06_rb, 2.22335e-06_rb, 2.28396e-06_rb, 2.34622e-06_rb, & & 2.41017e-06_rb, 2.47587e-06_rb, 2.54337e-06_rb, 2.61270e-06_rb, 2.68392e-06_rb, & & 2.75708e-06_rb, 2.83224e-06_rb, 2.90944e-06_rb, 2.98875e-06_rb/) kao_mn2(:, 5) = (/ & & 3.41996e-06_rb, 3.32758e-06_rb, 3.23770e-06_rb, 3.15024e-06_rb, 3.06515e-06_rb, & & 2.98235e-06_rb, 2.90180e-06_rb, 2.82341e-06_rb, 2.74715e-06_rb, 2.67294e-06_rb, & & 2.60074e-06_rb, 2.53049e-06_rb, 2.46214e-06_rb, 2.39563e-06_rb, 2.33092e-06_rb, & & 2.26796e-06_rb, 2.20670e-06_rb, 2.14709e-06_rb, 2.08910e-06_rb/) kao_mn2(:, 6) = (/ & & 3.38746e-06_rb, 3.25966e-06_rb, 3.13669e-06_rb, 3.01836e-06_rb, 2.90449e-06_rb, & & 2.79491e-06_rb, 2.68947e-06_rb, 2.58801e-06_rb, 2.49037e-06_rb, 2.39642e-06_rb, & & 2.30601e-06_rb, 2.21902e-06_rb, 2.13530e-06_rb, 2.05475e-06_rb, 1.97723e-06_rb, & & 1.90264e-06_rb, 1.83086e-06_rb, 1.76179e-06_rb, 1.69532e-06_rb/) kao_mn2(:, 7) = (/ & & 3.17530e-06_rb, 3.07196e-06_rb, 2.97199e-06_rb, 2.87527e-06_rb, 2.78170e-06_rb, & & 2.69118e-06_rb, 2.60360e-06_rb, 2.51887e-06_rb, 2.43690e-06_rb, 2.35759e-06_rb, & & 2.28087e-06_rb, 2.20664e-06_rb, 2.13483e-06_rb, 2.06536e-06_rb, 1.99814e-06_rb, & & 1.93312e-06_rb, 1.87021e-06_rb, 1.80934e-06_rb, 1.75046e-06_rb/) kao_mn2(:, 8) = (/ & & 2.84701e-06_rb, 2.77007e-06_rb, 2.69521e-06_rb, 2.62237e-06_rb, 2.55150e-06_rb, & & 2.48254e-06_rb, 2.41545e-06_rb, 2.35017e-06_rb, 2.28666e-06_rb, 2.22486e-06_rb, & & 2.16473e-06_rb, 2.10623e-06_rb, 2.04930e-06_rb, 1.99392e-06_rb, 1.94003e-06_rb, & & 1.88760e-06_rb, 1.83659e-06_rb, 1.78695e-06_rb, 1.73866e-06_rb/) kao_mn2(:, 9) = (/ & & 2.79917e-06_rb, 2.73207e-06_rb, 2.66658e-06_rb, 2.60266e-06_rb, 2.54027e-06_rb, & & 2.47937e-06_rb, 2.41994e-06_rb, 2.36192e-06_rb, 2.30530e-06_rb, 2.25004e-06_rb, & & 2.19610e-06_rb, 2.14346e-06_rb, 2.09208e-06_rb, 2.04193e-06_rb, 1.99298e-06_rb, & & 1.94520e-06_rb, 1.89857e-06_rb, 1.85306e-06_rb, 1.80864e-06_rb/) kao_mn2(:,10) = (/ & & 2.74910e-06_rb, 2.64462e-06_rb, 2.54412e-06_rb, 2.44743e-06_rb, 2.35442e-06_rb, & & 2.26495e-06_rb, 2.17887e-06_rb, 2.09606e-06_rb, 2.01641e-06_rb, 1.93978e-06_rb, & & 1.86606e-06_rb, 1.79514e-06_rb, 1.72692e-06_rb, 1.66129e-06_rb, 1.59815e-06_rb, & & 1.53742e-06_rb, 1.47899e-06_rb, 1.42278e-06_rb, 1.36871e-06_rb/) kao_mn2(:,11) = (/ & & 2.63952e-06_rb, 2.60263e-06_rb, 2.56626e-06_rb, 2.53039e-06_rb, 2.49503e-06_rb, & & 2.46016e-06_rb, 2.42578e-06_rb, 2.39188e-06_rb, 2.35845e-06_rb, 2.32549e-06_rb, & & 2.29299e-06_rb, 2.26094e-06_rb, 2.22934e-06_rb, 2.19819e-06_rb, 2.16747e-06_rb, & & 2.13717e-06_rb, 2.10731e-06_rb, 2.07786e-06_rb, 2.04882e-06_rb/) kao_mn2(:,12) = (/ & & 2.94106e-06_rb, 2.82819e-06_rb, 2.71966e-06_rb, 2.61528e-06_rb, 2.51492e-06_rb, & & 2.41841e-06_rb, 2.32560e-06_rb, 2.23635e-06_rb, 2.15053e-06_rb, 2.06800e-06_rb, & & 1.98863e-06_rb, 1.91232e-06_rb, 1.83893e-06_rb, 1.76836e-06_rb, 1.70049e-06_rb, & & 1.63524e-06_rb, 1.57248e-06_rb, 1.51214e-06_rb, 1.45411e-06_rb/) kao_mn2(:,13) = (/ & & 2.94607e-06_rb, 2.87369e-06_rb, 2.80309e-06_rb, 2.73422e-06_rb, 2.66705e-06_rb, & & 2.60152e-06_rb, 2.53760e-06_rb, 2.47526e-06_rb, 2.41445e-06_rb, 2.35513e-06_rb, & & 2.29726e-06_rb, 2.24082e-06_rb, 2.18577e-06_rb, 2.13207e-06_rb, 2.07969e-06_rb, & & 2.02859e-06_rb, 1.97875e-06_rb, 1.93014e-06_rb, 1.88272e-06_rb/) kao_mn2(:,14) = (/ & & 2.58051e-06_rb, 2.48749e-06_rb, 2.39782e-06_rb, 2.31139e-06_rb, 2.22807e-06_rb, & & 2.14775e-06_rb, 2.07033e-06_rb, 1.99570e-06_rb, 1.92376e-06_rb, 1.85441e-06_rb, & & 1.78756e-06_rb, 1.72313e-06_rb, 1.66101e-06_rb, 1.60114e-06_rb, 1.54342e-06_rb, & & 1.48778e-06_rb, 1.43415e-06_rb, 1.38245e-06_rb, 1.33262e-06_rb/) kao_mn2(:,15) = (/ & & 3.03447e-06_rb, 2.88559e-06_rb, 2.74401e-06_rb, 2.60938e-06_rb, 2.48135e-06_rb, & & 2.35961e-06_rb, 2.24384e-06_rb, 2.13375e-06_rb, 2.02906e-06_rb, 1.92951e-06_rb, & & 1.83484e-06_rb, 1.74481e-06_rb, 1.65921e-06_rb, 1.57780e-06_rb, 1.50039e-06_rb, & & 1.42677e-06_rb, 1.35677e-06_rb, 1.29020e-06_rb, 1.22690e-06_rb/) kao_mn2(:,16) = (/ & & 1.48655e-06_rb, 1.48283e-06_rb, 1.47913e-06_rb, 1.47543e-06_rb, 1.47174e-06_rb, & & 1.46806e-06_rb, 1.46439e-06_rb, 1.46072e-06_rb, 1.45707e-06_rb, 1.45343e-06_rb, & & 1.44979e-06_rb, 1.44617e-06_rb, 1.44255e-06_rb, 1.43894e-06_rb, 1.43534e-06_rb, & & 1.43176e-06_rb, 1.42817e-06_rb, 1.42460e-06_rb, 1.42104e-06_rb/) kbo_mn2(:, 1) = (/ & & 5.12042e-08_rb, 5.51239e-08_rb, 5.93436e-08_rb, 6.38863e-08_rb, 6.87767e-08_rb, & & 7.40415e-08_rb, 7.97093e-08_rb, 8.58110e-08_rb, 9.23797e-08_rb, 9.94513e-08_rb, & & 1.07064e-07_rb, 1.15260e-07_rb, 1.24083e-07_rb, 1.33581e-07_rb, 1.43807e-07_rb, & & 1.54815e-07_rb, 1.66666e-07_rb, 1.79424e-07_rb, 1.93159e-07_rb/) kbo_mn2(:, 2) = (/ & & 2.30938e-07_rb, 2.41696e-07_rb, 2.52955e-07_rb, 2.64738e-07_rb, 2.77071e-07_rb, & & 2.89978e-07_rb, 3.03486e-07_rb, 3.17623e-07_rb, 3.32419e-07_rb, 3.47904e-07_rb, & & 3.64111e-07_rb, 3.81072e-07_rb, 3.98824e-07_rb, 4.17402e-07_rb, 4.36846e-07_rb, & & 4.57196e-07_rb, 4.78494e-07_rb, 5.00784e-07_rb, 5.24112e-07_rb/) kbo_mn2(:, 3) = (/ & & 6.70458e-07_rb, 7.04274e-07_rb, 7.39795e-07_rb, 7.77109e-07_rb, 8.16304e-07_rb, & & 8.57476e-07_rb, 9.00724e-07_rb, 9.46154e-07_rb, 9.93876e-07_rb, 1.04400e-06_rb, & & 1.09666e-06_rb, 1.15197e-06_rb, 1.21008e-06_rb, 1.27111e-06_rb, 1.33522e-06_rb, & & 1.40256e-06_rb, 1.47331e-06_rb, 1.54761e-06_rb, 1.62567e-06_rb/) kbo_mn2(:, 4) = (/ & & 1.84182e-06_rb, 1.89203e-06_rb, 1.94360e-06_rb, 1.99658e-06_rb, 2.05101e-06_rb, & & 2.10692e-06_rb, 2.16435e-06_rb, 2.22335e-06_rb, 2.28396e-06_rb, 2.34622e-06_rb, & & 2.41017e-06_rb, 2.47587e-06_rb, 2.54337e-06_rb, 2.61270e-06_rb, 2.68392e-06_rb, & & 2.75708e-06_rb, 2.83224e-06_rb, 2.90944e-06_rb, 2.98875e-06_rb/) kbo_mn2(:, 5) = (/ & & 3.41996e-06_rb, 3.32758e-06_rb, 3.23770e-06_rb, 3.15024e-06_rb, 3.06515e-06_rb, & & 2.98235e-06_rb, 2.90180e-06_rb, 2.82341e-06_rb, 2.74715e-06_rb, 2.67294e-06_rb, & & 2.60074e-06_rb, 2.53049e-06_rb, 2.46214e-06_rb, 2.39563e-06_rb, 2.33092e-06_rb, & & 2.26796e-06_rb, 2.20670e-06_rb, 2.14709e-06_rb, 2.08910e-06_rb/) kbo_mn2(:, 6) = (/ & & 3.38746e-06_rb, 3.25966e-06_rb, 3.13669e-06_rb, 3.01836e-06_rb, 2.90449e-06_rb, & & 2.79491e-06_rb, 2.68947e-06_rb, 2.58801e-06_rb, 2.49037e-06_rb, 2.39642e-06_rb, & & 2.30601e-06_rb, 2.21902e-06_rb, 2.13530e-06_rb, 2.05475e-06_rb, 1.97723e-06_rb, & & 1.90264e-06_rb, 1.83086e-06_rb, 1.76179e-06_rb, 1.69532e-06_rb/) kbo_mn2(:, 7) = (/ & & 3.17530e-06_rb, 3.07196e-06_rb, 2.97199e-06_rb, 2.87527e-06_rb, 2.78170e-06_rb, & & 2.69118e-06_rb, 2.60360e-06_rb, 2.51887e-06_rb, 2.43690e-06_rb, 2.35759e-06_rb, & & 2.28087e-06_rb, 2.20664e-06_rb, 2.13483e-06_rb, 2.06536e-06_rb, 1.99814e-06_rb, & & 1.93312e-06_rb, 1.87021e-06_rb, 1.80934e-06_rb, 1.75046e-06_rb/) kbo_mn2(:, 8) = (/ & & 2.84701e-06_rb, 2.77007e-06_rb, 2.69521e-06_rb, 2.62237e-06_rb, 2.55150e-06_rb, & & 2.48254e-06_rb, 2.41545e-06_rb, 2.35017e-06_rb, 2.28666e-06_rb, 2.22486e-06_rb, & & 2.16473e-06_rb, 2.10623e-06_rb, 2.04930e-06_rb, 1.99392e-06_rb, 1.94003e-06_rb, & & 1.88760e-06_rb, 1.83659e-06_rb, 1.78695e-06_rb, 1.73866e-06_rb/) kbo_mn2(:, 9) = (/ & & 2.79917e-06_rb, 2.73207e-06_rb, 2.66658e-06_rb, 2.60266e-06_rb, 2.54027e-06_rb, & & 2.47937e-06_rb, 2.41994e-06_rb, 2.36192e-06_rb, 2.30530e-06_rb, 2.25004e-06_rb, & & 2.19610e-06_rb, 2.14346e-06_rb, 2.09208e-06_rb, 2.04193e-06_rb, 1.99298e-06_rb, & & 1.94520e-06_rb, 1.89857e-06_rb, 1.85306e-06_rb, 1.80864e-06_rb/) kbo_mn2(:,10) = (/ & & 2.74910e-06_rb, 2.64462e-06_rb, 2.54412e-06_rb, 2.44743e-06_rb, 2.35442e-06_rb, & & 2.26495e-06_rb, 2.17887e-06_rb, 2.09606e-06_rb, 2.01641e-06_rb, 1.93978e-06_rb, & & 1.86606e-06_rb, 1.79514e-06_rb, 1.72692e-06_rb, 1.66129e-06_rb, 1.59815e-06_rb, & & 1.53742e-06_rb, 1.47899e-06_rb, 1.42278e-06_rb, 1.36871e-06_rb/) kbo_mn2(:,11) = (/ & & 2.63952e-06_rb, 2.60263e-06_rb, 2.56626e-06_rb, 2.53039e-06_rb, 2.49503e-06_rb, & & 2.46016e-06_rb, 2.42578e-06_rb, 2.39188e-06_rb, 2.35845e-06_rb, 2.32549e-06_rb, & & 2.29299e-06_rb, 2.26094e-06_rb, 2.22934e-06_rb, 2.19819e-06_rb, 2.16747e-06_rb, & & 2.13717e-06_rb, 2.10731e-06_rb, 2.07786e-06_rb, 2.04882e-06_rb/) kbo_mn2(:,12) = (/ & & 2.94106e-06_rb, 2.82819e-06_rb, 2.71966e-06_rb, 2.61528e-06_rb, 2.51492e-06_rb, & & 2.41841e-06_rb, 2.32560e-06_rb, 2.23635e-06_rb, 2.15053e-06_rb, 2.06800e-06_rb, & & 1.98863e-06_rb, 1.91232e-06_rb, 1.83893e-06_rb, 1.76836e-06_rb, 1.70049e-06_rb, & & 1.63524e-06_rb, 1.57248e-06_rb, 1.51214e-06_rb, 1.45411e-06_rb/) kbo_mn2(:,13) = (/ & & 2.94607e-06_rb, 2.87369e-06_rb, 2.80309e-06_rb, 2.73422e-06_rb, 2.66705e-06_rb, & & 2.60152e-06_rb, 2.53760e-06_rb, 2.47526e-06_rb, 2.41445e-06_rb, 2.35513e-06_rb, & & 2.29726e-06_rb, 2.24082e-06_rb, 2.18577e-06_rb, 2.13207e-06_rb, 2.07969e-06_rb, & & 2.02859e-06_rb, 1.97875e-06_rb, 1.93014e-06_rb, 1.88272e-06_rb/) kbo_mn2(:,14) = (/ & & 2.58051e-06_rb, 2.48749e-06_rb, 2.39782e-06_rb, 2.31139e-06_rb, 2.22807e-06_rb, & & 2.14775e-06_rb, 2.07033e-06_rb, 1.99570e-06_rb, 1.92376e-06_rb, 1.85441e-06_rb, & & 1.78756e-06_rb, 1.72313e-06_rb, 1.66101e-06_rb, 1.60114e-06_rb, 1.54342e-06_rb, & & 1.48778e-06_rb, 1.43415e-06_rb, 1.38245e-06_rb, 1.33262e-06_rb/) kbo_mn2(:,15) = (/ & & 3.03447e-06_rb, 2.88559e-06_rb, 2.74401e-06_rb, 2.60938e-06_rb, 2.48135e-06_rb, & & 2.35961e-06_rb, 2.24384e-06_rb, 2.13375e-06_rb, 2.02906e-06_rb, 1.92951e-06_rb, & & 1.83484e-06_rb, 1.74481e-06_rb, 1.65921e-06_rb, 1.57780e-06_rb, 1.50039e-06_rb, & & 1.42677e-06_rb, 1.35677e-06_rb, 1.29020e-06_rb, 1.22690e-06_rb/) kbo_mn2(:,16) = (/ & & 1.48655e-06_rb, 1.48283e-06_rb, 1.47913e-06_rb, 1.47543e-06_rb, 1.47174e-06_rb, & & 1.46806e-06_rb, 1.46439e-06_rb, 1.46072e-06_rb, 1.45707e-06_rb, 1.45343e-06_rb, & & 1.44979e-06_rb, 1.44617e-06_rb, 1.44255e-06_rb, 1.43894e-06_rb, 1.43534e-06_rb, & & 1.43176e-06_rb, 1.42817e-06_rb, 1.42460e-06_rb, 1.42104e-06_rb/) ! The array FORREFO contains the coefficient of the water vapor ! foreign-continuum (including the energy term). The first ! index refers to reference temperature (296,260,224,260) and ! pressure (970,475,219,3 mbar) levels. The second index ! runs over the g-channel (1 to 16). forrefo(1,:) = (/ & &3.6742e-02_rb,1.0664e-01_rb,2.6132e-01_rb,2.7906e-01_rb,2.8151e-01_rb,2.7465e-01_rb, & &2.8530e-01_rb,2.9123e-01_rb,3.0697e-01_rb,3.1801e-01_rb,3.2444e-01_rb,2.7746e-01_rb, & &3.1994e-01_rb,2.9750e-01_rb,2.1226e-01_rb,1.2847e-01_rb/) forrefo(2,:) = (/ & &4.0450e-02_rb,1.1085e-01_rb,2.9205e-01_rb,3.1934e-01_rb,3.1739e-01_rb,3.1450e-01_rb, & &3.2797e-01_rb,3.2223e-01_rb,3.3099e-01_rb,3.4800e-01_rb,3.4046e-01_rb,3.5700e-01_rb, & &3.8264e-01_rb,3.6679e-01_rb,3.3481e-01_rb,3.2113e-01_rb/) forrefo(3,:) = (/ & &4.6952e-02_rb,1.1999e-01_rb,3.1473e-01_rb,3.7015e-01_rb,3.6913e-01_rb,3.6352e-01_rb, & &3.7754e-01_rb,3.7402e-01_rb,3.7113e-01_rb,3.7720e-01_rb,3.8365e-01_rb,4.0876e-01_rb, & &4.2968e-01_rb,4.4186e-01_rb,4.3468e-01_rb,4.7083e-01_rb/) forrefo(4,:) = (/ & &7.0645e-02_rb,1.6618e-01_rb,2.8516e-01_rb,3.1819e-01_rb,3.0131e-01_rb,2.9552e-01_rb, & &2.8972e-01_rb,2.9348e-01_rb,2.8668e-01_rb,2.8483e-01_rb,2.8130e-01_rb,2.7757e-01_rb, & &2.9735e-01_rb,3.1684e-01_rb,3.0681e-01_rb,3.6778e-01_rb/) ! The array SELFREFO contains the coefficient of the water vapor ! self-continuum (including the energy term). The first index ! refers to temperature in 7.2 degree increments. For instance, ! JT = 1 refers to a temperature of 245.6, JT = 2 refers to 252.8, ! etc. The second index runs over the g-channel (1 to 16). selfrefo(:, 1) = (/ & & 2.16803e+00_rb, 1.98236e+00_rb, 1.81260e+00_rb, 1.65737e+00_rb, 1.51544e+00_rb, & & 1.38567e+00_rb, 1.26700e+00_rb, 1.15850e+00_rb, 1.05929e+00_rb, 9.68576e-01_rb/) selfrefo(:, 2) = (/ & & 3.70149e+00_rb, 3.43145e+00_rb, 3.18110e+00_rb, 2.94902e+00_rb, 2.73387e+00_rb, & & 2.53441e+00_rb, 2.34951e+00_rb, 2.17810e+00_rb, 2.01919e+00_rb, 1.87188e+00_rb/) selfrefo(:, 3) = (/ & & 6.17433e+00_rb, 5.62207e+00_rb, 5.11920e+00_rb, 4.66131e+00_rb, 4.24438e+00_rb, & & 3.86474e+00_rb, 3.51906e+00_rb, 3.20430e+00_rb, 2.91769e+00_rb, 2.65672e+00_rb/) selfrefo(:, 4) = (/ & & 6.56459e+00_rb, 5.94787e+00_rb, 5.38910e+00_rb, 4.88282e+00_rb, 4.42410e+00_rb, & & 4.00848e+00_rb, 3.63190e+00_rb, 3.29070e+00_rb, 2.98155e+00_rb, 2.70145e+00_rb/) selfrefo(:, 5) = (/ & & 6.49581e+00_rb, 5.91114e+00_rb, 5.37910e+00_rb, 4.89494e+00_rb, 4.45436e+00_rb, & & 4.05344e+00_rb, 3.68860e+00_rb, 3.35660e+00_rb, 3.05448e+00_rb, 2.77956e+00_rb/) selfrefo(:, 6) = (/ & & 6.50189e+00_rb, 5.89381e+00_rb, 5.34260e+00_rb, 4.84294e+00_rb, 4.39001e+00_rb, & & 3.97944e+00_rb, 3.60727e+00_rb, 3.26990e+00_rb, 2.96409e+00_rb, 2.68687e+00_rb/) selfrefo(:, 7) = (/ & & 6.64768e+00_rb, 6.01719e+00_rb, 5.44650e+00_rb, 4.92993e+00_rb, 4.46236e+00_rb, & & 4.03914e+00_rb, 3.65605e+00_rb, 3.30930e+00_rb, 2.99543e+00_rb, 2.71134e+00_rb/) selfrefo(:, 8) = (/ & & 6.43744e+00_rb, 5.87166e+00_rb, 5.35560e+00_rb, 4.88490e+00_rb, 4.45557e+00_rb, & & 4.06397e+00_rb, 3.70679e+00_rb, 3.38100e+00_rb, 3.08384e+00_rb, 2.81281e+00_rb/) selfrefo(:, 9) = (/ & & 6.55466e+00_rb, 5.99777e+00_rb, 5.48820e+00_rb, 5.02192e+00_rb, 4.59525e+00_rb, & & 4.20484e+00_rb, 3.84759e+00_rb, 3.52070e+00_rb, 3.22158e+00_rb, 2.94787e+00_rb/) selfrefo(:,10) = (/ & & 6.84510e+00_rb, 6.26933e+00_rb, 5.74200e+00_rb, 5.25902e+00_rb, 4.81667e+00_rb, & & 4.41152e+00_rb, 4.04046e+00_rb, 3.70060e+00_rb, 3.38933e+00_rb, 3.10424e+00_rb/) selfrefo(:,11) = (/ & & 6.83128e+00_rb, 6.25536e+00_rb, 5.72800e+00_rb, 5.24510e+00_rb, 4.80291e+00_rb, & & 4.39799e+00_rb, 4.02722e+00_rb, 3.68770e+00_rb, 3.37681e+00_rb, 3.09212e+00_rb/) selfrefo(:,12) = (/ & & 7.35969e+00_rb, 6.61719e+00_rb, 5.94960e+00_rb, 5.34936e+00_rb, 4.80968e+00_rb, & & 4.32445e+00_rb, 3.88817e+00_rb, 3.49590e+00_rb, 3.14321e+00_rb, 2.82610e+00_rb/) selfrefo(:,13) = (/ & & 7.50064e+00_rb, 6.80749e+00_rb, 6.17840e+00_rb, 5.60744e+00_rb, 5.08925e+00_rb, & & 4.61894e+00_rb, 4.19210e+00_rb, 3.80470e+00_rb, 3.45310e+00_rb, 3.13399e+00_rb/) selfrefo(:,14) = (/ & & 7.40801e+00_rb, 6.71328e+00_rb, 6.08370e+00_rb, 5.51316e+00_rb, 4.99613e+00_rb, & & 4.52759e+00_rb, 4.10298e+00_rb, 3.71820e+00_rb, 3.36950e+00_rb, 3.05351e+00_rb/) selfrefo(:,15) = (/ & & 7.51895e+00_rb, 6.68846e+00_rb, 5.94970e+00_rb, 5.29254e+00_rb, 4.70796e+00_rb, & & 4.18795e+00_rb, 3.72538e+00_rb, 3.31390e+00_rb, 2.94787e+00_rb, 2.62227e+00_rb/) selfrefo(:,16) = (/ & & 7.84774e+00_rb, 6.80673e+00_rb, 5.90380e+00_rb, 5.12065e+00_rb, 4.44138e+00_rb, & & 3.85223e+00_rb, 3.34122e+00_rb, 2.89800e+00_rb, 2.51357e+00_rb, 2.18014e+00_rb/) end subroutine lw_kgb01 ! ************************************************************************** subroutine lw_kgb02 ! ************************************************************************** use parkind, only : im => kind_im, rb => kind_rb use rrlw_kg02, only : fracrefao, fracrefbo, kao, kbo, selfrefo, forrefo implicit none save ! Planck fraction mapping level: P = 1053.630 mbar, T = 294.2 K fracrefao(:) = (/ & 1.6388e-01_rb, 1.5241e-01_rb, 1.4290e-01_rb, 1.2864e-01_rb, & 1.1615e-01_rb, 1.0047e-01_rb, 8.0013e-02_rb, 6.0445e-02_rb, & 4.0530e-02_rb, 4.3879e-03_rb, 3.5726e-03_rb, 2.7669e-03_rb, & 2.0078e-03_rb, 1.2864e-03_rb, 4.7630e-04_rb, 6.9109e-05_rb/) ! Planck fraction mapping level: P = 3.206e-2 mb, T = 197.92 K fracrefbo(:) = (/ & 1.4697e-01_rb, 1.4826e-01_rb, 1.4278e-01_rb, 1.3320e-01_rb, & 1.1965e-01_rb, 1.0297e-01_rb, 8.4170e-02_rb, 6.3282e-02_rb, & 4.2868e-02_rb, 4.6644e-03_rb, 3.8619e-03_rb, 3.0533e-03_rb, & 2.2359e-03_rb, 1.4226e-03_rb, 5.3642e-04_rb, 7.6316e-05_rb/) ! The array KAO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels > ~100mb and temperatures. The first ! index in the array, JT, which runs from 1 to 5, corresponds to ! different temperatures. More specifically, JT = 3 means that the ! data are for the corresponding TREF for this pressure level, ! JT = 2 refers to the temperatureTREF-15, JT = 1 is for TREF-30, ! JT = 4 is for TREF+15, and JT = 5 is for TREF+30. The second ! index, JP, runs from 1 to 13 and refers to the corresponding ! pressure level in PREF (e.g. JP = 1 is for a pressure of 1053.63 mb). ! The third index, IG, goes from 1 to 16, and tells us which ! g-interval the absorption coefficients are for. kao(:, 1, 1) = (/ & &4.9444e-03_rb,5.9459e-03_rb,7.0909e-03_rb,8.2082e-03_rb,9.2071e-03_rb/) kao(:, 2, 1) = (/ & &3.6253e-03_rb,4.3860e-03_rb,5.2541e-03_rb,6.0419e-03_rb,6.8835e-03_rb/) kao(:, 3, 1) = (/ & &2.5338e-03_rb,3.0985e-03_rb,3.7400e-03_rb,4.2996e-03_rb,4.9675e-03_rb/) kao(:, 4, 1) = (/ & &1.7755e-03_rb,2.1973e-03_rb,2.6664e-03_rb,3.1111e-03_rb,3.6091e-03_rb/) kao(:, 5, 1) = (/ & &1.2565e-03_rb,1.5789e-03_rb,1.9196e-03_rb,2.3096e-03_rb,2.6519e-03_rb/) kao(:, 6, 1) = (/ & &8.8624e-04_rb,1.1175e-03_rb,1.3818e-03_rb,1.6934e-03_rb,1.9635e-03_rb/) kao(:, 7, 1) = (/ & &6.2843e-04_rb,7.9253e-04_rb,1.0012e-03_rb,1.2222e-03_rb,1.4734e-03_rb/) kao(:, 8, 1) = (/ & &4.5023e-04_rb,5.6483e-04_rb,7.1568e-04_rb,8.9026e-04_rb,1.0929e-03_rb/) kao(:, 9, 1) = (/ & &3.2520e-04_rb,4.0407e-04_rb,5.1209e-04_rb,6.4949e-04_rb,7.9581e-04_rb/) kao(:,10, 1) = (/ & &2.4126e-04_rb,2.9581e-04_rb,3.7404e-04_rb,4.7585e-04_rb,5.9085e-04_rb/) kao(:,11, 1) = (/ & &1.9501e-04_rb,2.4152e-04_rb,3.0649e-04_rb,3.9104e-04_rb,4.8881e-04_rb/) kao(:,12, 1) = (/ & &1.5881e-04_rb,1.9763e-04_rb,2.5177e-04_rb,3.2441e-04_rb,4.0632e-04_rb/) kao(:,13, 1) = (/ & &1.3003e-04_rb,1.6216e-04_rb,2.0768e-04_rb,2.6864e-04_rb,3.3497e-04_rb/) kao(:, 1, 2) = (/ & &1.0027e-02_rb,1.1791e-02_rb,1.3932e-02_rb,1.6666e-02_rb,2.0126e-02_rb/) kao(:, 2, 2) = (/ & &7.4056e-03_rb,8.8285e-03_rb,1.0460e-02_rb,1.2669e-02_rb,1.5282e-02_rb/) kao(:, 3, 2) = (/ & &5.2661e-03_rb,6.2928e-03_rb,7.5540e-03_rb,9.2387e-03_rb,1.1182e-02_rb/) kao(:, 4, 2) = (/ & &3.7830e-03_rb,4.5144e-03_rb,5.4622e-03_rb,6.6869e-03_rb,8.1435e-03_rb/) kao(:, 5, 2) = (/ & &2.7480e-03_rb,3.3042e-03_rb,3.9726e-03_rb,4.8258e-03_rb,5.9510e-03_rb/) kao(:, 6, 2) = (/ & &2.0063e-03_rb,2.3984e-03_rb,2.8713e-03_rb,3.4864e-03_rb,4.3135e-03_rb/) kao(:, 7, 2) = (/ & &1.4846e-03_rb,1.7453e-03_rb,2.0981e-03_rb,2.5444e-03_rb,3.1056e-03_rb/) kao(:, 8, 2) = (/ & &1.1210e-03_rb,1.2879e-03_rb,1.5449e-03_rb,1.8524e-03_rb,2.2562e-03_rb/) kao(:, 9, 2) = (/ & &8.5574e-04_rb,9.6423e-04_rb,1.1336e-03_rb,1.3659e-03_rb,1.6594e-03_rb/) kao(:,10, 2) = (/ & &6.6848e-04_rb,7.4016e-04_rb,8.5479e-04_rb,1.0274e-03_rb,1.2343e-03_rb/) kao(:,11, 2) = (/ & &5.5022e-04_rb,6.0473e-04_rb,6.9963e-04_rb,8.4106e-04_rb,1.0097e-03_rb/) kao(:,12, 2) = (/ & &4.4972e-04_rb,4.9436e-04_rb,5.7239e-04_rb,6.8738e-04_rb,8.3038e-04_rb/) kao(:,13, 2) = (/ & &3.6745e-04_rb,4.0460e-04_rb,4.6828e-04_rb,5.6427e-04_rb,6.8387e-04_rb/) kao(:, 1, 3) = (/ & &2.0475e-02_rb,2.4886e-02_rb,2.8056e-02_rb,3.1687e-02_rb,3.6011e-02_rb/) kao(:, 2, 3) = (/ & &1.5293e-02_rb,1.8649e-02_rb,2.1197e-02_rb,2.4106e-02_rb,2.7485e-02_rb/) kao(:, 3, 3) = (/ & &1.0918e-02_rb,1.3480e-02_rb,1.5496e-02_rb,1.7769e-02_rb,2.0398e-02_rb/) kao(:, 4, 3) = (/ & &7.7395e-03_rb,9.6625e-03_rb,1.1379e-02_rb,1.3130e-02_rb,1.5170e-02_rb/) kao(:, 5, 3) = (/ & &5.4995e-03_rb,6.9063e-03_rb,8.5233e-03_rb,9.8125e-03_rb,1.1368e-02_rb/) kao(:, 6, 3) = (/ & &3.9002e-03_rb,4.9307e-03_rb,6.2037e-03_rb,7.3100e-03_rb,8.4689e-03_rb/) kao(:, 7, 3) = (/ & &2.7369e-03_rb,3.5078e-03_rb,4.4352e-03_rb,5.5098e-03_rb,6.3463e-03_rb/) kao(:, 8, 3) = (/ & &1.9294e-03_rb,2.5028e-03_rb,3.1751e-03_rb,4.0255e-03_rb,4.7593e-03_rb/) kao(:, 9, 3) = (/ & &1.2806e-03_rb,1.7659e-03_rb,2.2786e-03_rb,2.8933e-03_rb,3.6112e-03_rb/) kao(:,10, 3) = (/ & &8.6429e-04_rb,1.2871e-03_rb,1.6661e-03_rb,2.1207e-03_rb,2.6956e-03_rb/) kao(:,11, 3) = (/ & &7.0989e-04_rb,1.0555e-03_rb,1.3691e-03_rb,1.7450e-03_rb,2.2184e-03_rb/) kao(:,12, 3) = (/ & &5.8630e-04_rb,8.6615e-04_rb,1.1265e-03_rb,1.4357e-03_rb,1.8221e-03_rb/) kao(:,13, 3) = (/ & &4.8372e-04_rb,7.1031e-04_rb,9.2618e-04_rb,1.1787e-03_rb,1.4998e-03_rb/) kao(:, 1, 4) = (/ & &3.4150e-02_rb,4.0367e-02_rb,4.9280e-02_rb,5.9100e-02_rb,6.9499e-02_rb/) kao(:, 2, 4) = (/ & &2.5504e-02_rb,3.0447e-02_rb,3.7321e-02_rb,4.4944e-02_rb,5.3298e-02_rb/) kao(:, 3, 4) = (/ & &1.8371e-02_rb,2.2085e-02_rb,2.7226e-02_rb,3.2994e-02_rb,3.9403e-02_rb/) kao(:, 4, 4) = (/ & &1.3235e-02_rb,1.6046e-02_rb,1.9813e-02_rb,2.4156e-02_rb,2.9082e-02_rb/) kao(:, 5, 4) = (/ & &9.5998e-03_rb,1.1709e-02_rb,1.4338e-02_rb,1.7707e-02_rb,2.1505e-02_rb/) kao(:, 6, 4) = (/ & &6.9022e-03_rb,8.5630e-03_rb,1.0395e-02_rb,1.2869e-02_rb,1.5787e-02_rb/) kao(:, 7, 4) = (/ & &5.0622e-03_rb,6.1861e-03_rb,7.5642e-03_rb,9.2835e-03_rb,1.1530e-02_rb/) kao(:, 8, 4) = (/ & &3.7734e-03_rb,4.4956e-03_rb,5.5749e-03_rb,6.7721e-03_rb,8.4253e-03_rb/) kao(:, 9, 4) = (/ & &2.9619e-03_rb,3.3315e-03_rb,4.0621e-03_rb,4.9694e-03_rb,6.1117e-03_rb/) kao(:,10, 4) = (/ & &2.2204e-03_rb,2.5123e-03_rb,3.0176e-03_rb,3.7321e-03_rb,4.5545e-03_rb/) kao(:,11, 4) = (/ & &1.8288e-03_rb,2.0602e-03_rb,2.4838e-03_rb,3.0685e-03_rb,3.7508e-03_rb/) kao(:,12, 4) = (/ & &1.5051e-03_rb,1.6916e-03_rb,2.0466e-03_rb,2.5239e-03_rb,3.0905e-03_rb/) kao(:,13, 4) = (/ & &1.2373e-03_rb,1.3907e-03_rb,1.6848e-03_rb,2.0764e-03_rb,2.5455e-03_rb/) kao(:, 1, 5) = (/ & &7.4128e-02_rb,9.0328e-02_rb,1.0845e-01_rb,1.2842e-01_rb,1.4993e-01_rb/) kao(:, 2, 5) = (/ & &5.6421e-02_rb,6.8932e-02_rb,8.3294e-02_rb,9.9111e-02_rb,1.1617e-01_rb/) kao(:, 3, 5) = (/ & &4.0916e-02_rb,5.0385e-02_rb,6.1257e-02_rb,7.3474e-02_rb,8.6732e-02_rb/) kao(:, 4, 5) = (/ & &2.9430e-02_rb,3.6556e-02_rb,4.4742e-02_rb,5.4199e-02_rb,6.4580e-02_rb/) kao(:, 5, 5) = (/ & &2.1212e-02_rb,2.6602e-02_rb,3.2780e-02_rb,4.0084e-02_rb,4.8236e-02_rb/) kao(:, 6, 5) = (/ & &1.5151e-02_rb,1.9129e-02_rb,2.3897e-02_rb,2.9436e-02_rb,3.5798e-02_rb/) kao(:, 7, 5) = (/ & &1.0718e-02_rb,1.3802e-02_rb,1.7389e-02_rb,2.1505e-02_rb,2.6440e-02_rb/) kao(:, 8, 5) = (/ & &7.4917e-03_rb,9.9125e-03_rb,1.2578e-02_rb,1.5770e-02_rb,1.9483e-02_rb/) kao(:, 9, 5) = (/ & &5.1168e-03_rb,7.0368e-03_rb,9.1089e-03_rb,1.1527e-02_rb,1.4293e-02_rb/) kao(:,10, 5) = (/ & &3.6983e-03_rb,5.0627e-03_rb,6.6991e-03_rb,8.5275e-03_rb,1.0696e-02_rb/) kao(:,11, 5) = (/ & &3.0484e-03_rb,4.1916e-03_rb,5.5346e-03_rb,7.0513e-03_rb,8.8498e-03_rb/) kao(:,12, 5) = (/ & &2.5174e-03_rb,3.4714e-03_rb,4.5718e-03_rb,5.8341e-03_rb,7.3195e-03_rb/) kao(:,13, 5) = (/ & &2.0770e-03_rb,2.8684e-03_rb,3.7718e-03_rb,4.8192e-03_rb,6.0412e-03_rb/) kao(:, 1, 6) = (/ & &2.0613e-01_rb,2.5157e-01_rb,3.0178e-01_rb,3.5683e-01_rb,4.1542e-01_rb/) kao(:, 2, 6) = (/ & &1.5819e-01_rb,1.9432e-01_rb,2.3452e-01_rb,2.7858e-01_rb,3.2587e-01_rb/) kao(:, 3, 6) = (/ & &1.1531e-01_rb,1.4306e-01_rb,1.7435e-01_rb,2.0876e-01_rb,2.4632e-01_rb/) kao(:, 4, 6) = (/ & &8.3284e-02_rb,1.0444e-01_rb,1.2864e-01_rb,1.5560e-01_rb,1.8535e-01_rb/) kao(:, 5, 6) = (/ & &6.0166e-02_rb,7.6315e-02_rb,9.4937e-02_rb,1.1604e-01_rb,1.3958e-01_rb/) kao(:, 6, 6) = (/ & &4.3003e-02_rb,5.5230e-02_rb,6.9447e-02_rb,8.5781e-02_rb,1.0424e-01_rb/) kao(:, 7, 6) = (/ & &3.0490e-02_rb,3.9769e-02_rb,5.0618e-02_rb,6.3200e-02_rb,7.7597e-02_rb/) kao(:, 8, 6) = (/ & &2.1570e-02_rb,2.8573e-02_rb,3.6803e-02_rb,4.6437e-02_rb,5.7626e-02_rb/) kao(:, 9, 6) = (/ & &1.5155e-02_rb,2.0450e-02_rb,2.6673e-02_rb,3.4004e-02_rb,4.2620e-02_rb/) kao(:,10, 6) = (/ & &1.0852e-02_rb,1.4893e-02_rb,1.9668e-02_rb,2.5324e-02_rb,3.1992e-02_rb/) kao(:,11, 6) = (/ & &9.0511e-03_rb,1.2422e-02_rb,1.6374e-02_rb,2.1084e-02_rb,2.6643e-02_rb/) kao(:,12, 6) = (/ & &7.5332e-03_rb,1.0338e-02_rb,1.3623e-02_rb,1.7531e-02_rb,2.2174e-02_rb/) kao(:,13, 6) = (/ & &6.2568e-03_rb,8.5754e-03_rb,1.1313e-02_rb,1.4562e-02_rb,1.8439e-02_rb/) kao(:, 1, 7) = (/ & &6.4924e-01_rb,7.7307e-01_rb,9.0386e-01_rb,1.0388e+00_rb,1.1773e+00_rb/) kao(:, 2, 7) = (/ & &5.0577e-01_rb,6.0786e-01_rb,7.1639e-01_rb,8.2855e-01_rb,9.4493e-01_rb/) kao(:, 3, 7) = (/ & &3.7384e-01_rb,4.5638e-01_rb,5.4361e-01_rb,6.3563e-01_rb,7.3108e-01_rb/) kao(:, 4, 7) = (/ & &2.7157e-01_rb,3.3769e-01_rb,4.0798e-01_rb,4.8298e-01_rb,5.6158e-01_rb/) kao(:, 5, 7) = (/ & &1.9648e-01_rb,2.4838e-01_rb,3.0521e-01_rb,3.6590e-01_rb,4.3005e-01_rb/) kao(:, 6, 7) = (/ & &1.3966e-01_rb,1.7987e-01_rb,2.2524e-01_rb,2.7405e-01_rb,3.2593e-01_rb/) kao(:, 7, 7) = (/ & &9.8353e-02_rb,1.2917e-01_rb,1.6445e-01_rb,2.0365e-01_rb,2.4531e-01_rb/) kao(:, 8, 7) = (/ & &6.8795e-02_rb,9.2244e-02_rb,1.1951e-01_rb,1.5053e-01_rb,1.8392e-01_rb/) kao(:, 9, 7) = (/ & &4.7720e-02_rb,6.5374e-02_rb,8.6294e-02_rb,1.1044e-01_rb,1.3721e-01_rb/) kao(:,10, 7) = (/ & &3.3881e-02_rb,4.7211e-02_rb,6.3377e-02_rb,8.2294e-02_rb,1.0374e-01_rb/) kao(:,11, 7) = (/ & &2.8304e-02_rb,3.9386e-02_rb,5.2911e-02_rb,6.8671e-02_rb,8.6477e-02_rb/) kao(:,12, 7) = (/ & &2.3643e-02_rb,3.2849e-02_rb,4.4121e-02_rb,5.7246e-02_rb,7.2052e-02_rb/) kao(:,13, 7) = (/ & &1.9678e-02_rb,2.7339e-02_rb,3.6693e-02_rb,4.7583e-02_rb,5.9838e-02_rb/) kao(:, 1, 8) = (/ & &1.5852e+00_rb,1.8937e+00_rb,2.2233e+00_rb,2.5759e+00_rb,2.9447e+00_rb/) kao(:, 2, 8) = (/ & &1.3020e+00_rb,1.5608e+00_rb,1.8408e+00_rb,2.1415e+00_rb,2.4614e+00_rb/) kao(:, 3, 8) = (/ & &1.0126e+00_rb,1.2239e+00_rb,1.4553e+00_rb,1.7040e+00_rb,1.9702e+00_rb/) kao(:, 4, 8) = (/ & &7.6856e-01_rb,9.4025e-01_rb,1.1316e+00_rb,1.3386e+00_rb,1.5605e+00_rb/) kao(:, 5, 8) = (/ & &5.7616e-01_rb,7.1359e-01_rb,8.6832e-01_rb,1.0388e+00_rb,1.2228e+00_rb/) kao(:, 6, 8) = (/ & &4.2350e-01_rb,5.3268e-01_rb,6.5605e-01_rb,7.9334e-01_rb,9.4223e-01_rb/) kao(:, 7, 8) = (/ & &3.0686e-01_rb,3.9225e-01_rb,4.9010e-01_rb,5.9944e-01_rb,7.1967e-01_rb/) kao(:, 8, 8) = (/ & &2.2070e-01_rb,2.8688e-01_rb,3.6348e-01_rb,4.5007e-01_rb,5.4597e-01_rb/) kao(:, 9, 8) = (/ & &1.5750e-01_rb,2.0832e-01_rb,2.6774e-01_rb,3.3584e-01_rb,4.1169e-01_rb/) kao(:,10, 8) = (/ & &1.1458e-01_rb,1.5398e-01_rb,2.0047e-01_rb,2.5420e-01_rb,3.1452e-01_rb/) kao(:,11, 8) = (/ & &9.6352e-02_rb,1.2945e-01_rb,1.6850e-01_rb,2.1343e-01_rb,2.6418e-01_rb/) kao(:,12, 8) = (/ & &8.0859e-02_rb,1.0869e-01_rb,1.4142e-01_rb,1.7905e-01_rb,2.2159e-01_rb/) kao(:,13, 8) = (/ & &6.7685e-02_rb,9.1028e-02_rb,1.1838e-01_rb,1.4990e-01_rb,1.8559e-01_rb/) kao(:, 1, 9) = (/ & &5.2550e+00_rb,6.3269e+00_rb,7.5188e+00_rb,8.8046e+00_rb,1.0194e+01_rb/) kao(:, 2, 9) = (/ & &4.6603e+00_rb,5.6500e+00_rb,6.7441e+00_rb,7.9369e+00_rb,9.2112e+00_rb/) kao(:, 3, 9) = (/ & &3.9124e+00_rb,4.7902e+00_rb,5.7591e+00_rb,6.8243e+00_rb,7.9677e+00_rb/) kao(:, 4, 9) = (/ & &3.2096e+00_rb,3.9597e+00_rb,4.8029e+00_rb,5.7377e+00_rb,6.7626e+00_rb/) kao(:, 5, 9) = (/ & &2.5970e+00_rb,3.2435e+00_rb,3.9726e+00_rb,4.7826e+00_rb,5.6814e+00_rb/) kao(:, 6, 9) = (/ & &2.0409e+00_rb,2.5854e+00_rb,3.2065e+00_rb,3.9078e+00_rb,4.6887e+00_rb/) kao(:, 7, 9) = (/ & &1.5708e+00_rb,2.0187e+00_rb,2.5381e+00_rb,3.1327e+00_rb,3.8016e+00_rb/) kao(:, 8, 9) = (/ & &1.1892e+00_rb,1.5546e+00_rb,1.9836e+00_rb,2.4782e+00_rb,3.0361e+00_rb/) kao(:, 9, 9) = (/ & &8.8412e-01_rb,1.1765e+00_rb,1.5263e+00_rb,1.9325e+00_rb,2.3921e+00_rb/) kao(:,10, 9) = (/ & &6.6160e-01_rb,8.9598e-01_rb,1.1789e+00_rb,1.5110e+00_rb,1.8897e+00_rb/) kao(:,11, 9) = (/ & &5.6952e-01_rb,7.7339e-01_rb,1.0185e+00_rb,1.3041e+00_rb,1.6292e+00_rb/) kao(:,12, 9) = (/ & &4.8820e-01_rb,6.6319e-01_rb,8.7290e-01_rb,1.1167e+00_rb,1.3956e+00_rb/) kao(:,13, 9) = (/ & &4.1555e-01_rb,5.6459e-01_rb,7.4208e-01_rb,9.4959e-01_rb,1.1894e+00_rb/) kao(:, 1,10) = (/ & &1.2977e+01_rb,1.5399e+01_rb,1.8084e+01_rb,2.1107e+01_rb,2.4279e+01_rb/) kao(:, 2,10) = (/ & &1.2242e+01_rb,1.4713e+01_rb,1.7530e+01_rb,2.0660e+01_rb,2.4161e+01_rb/) kao(:, 3,10) = (/ & &1.0793e+01_rb,1.3120e+01_rb,1.5954e+01_rb,1.9118e+01_rb,2.2561e+01_rb/) kao(:, 4,10) = (/ & &9.2115e+00_rb,1.1467e+01_rb,1.4090e+01_rb,1.6870e+01_rb,1.9865e+01_rb/) kao(:, 5,10) = (/ & &7.7076e+00_rb,9.6964e+00_rb,1.2018e+01_rb,1.4581e+01_rb,1.7283e+01_rb/) kao(:, 6,10) = (/ & &6.3938e+00_rb,8.1632e+00_rb,1.0170e+01_rb,1.2328e+01_rb,1.4702e+01_rb/) kao(:, 7,10) = (/ & &5.2643e+00_rb,6.8431e+00_rb,8.5879e+00_rb,1.0497e+01_rb,1.2599e+01_rb/) kao(:, 8,10) = (/ & &4.2306e+00_rb,5.5592e+00_rb,7.0542e+00_rb,8.7515e+00_rb,1.0687e+01_rb/) kao(:, 9,10) = (/ & &3.3029e+00_rb,4.4196e+00_rb,5.6740e+00_rb,7.1182e+00_rb,8.8343e+00_rb/) kao(:,10,10) = (/ & &2.6002e+00_rb,3.5171e+00_rb,4.6049e+00_rb,5.8654e+00_rb,7.3550e+00_rb/) kao(:,11,10) = (/ & &2.3411e+00_rb,3.1582e+00_rb,4.1576e+00_rb,5.3440e+00_rb,6.7154e+00_rb/) kao(:,12,10) = (/ & &2.0671e+00_rb,2.8097e+00_rb,3.7158e+00_rb,4.7938e+00_rb,5.9967e+00_rb/) kao(:,13,10) = (/ & &1.8130e+00_rb,2.4724e+00_rb,3.2908e+00_rb,4.2191e+00_rb,5.2351e+00_rb/) kao(:, 1,11) = (/ & &1.7369e+01_rb,2.0982e+01_rb,2.4652e+01_rb,2.8692e+01_rb,3.3179e+01_rb/) kao(:, 2,11) = (/ & &1.6823e+01_rb,2.0457e+01_rb,2.4236e+01_rb,2.8171e+01_rb,3.2333e+01_rb/) kao(:, 3,11) = (/ & &1.5375e+01_rb,1.8905e+01_rb,2.2457e+01_rb,2.6420e+01_rb,3.0766e+01_rb/) kao(:, 4,11) = (/ & &1.3375e+01_rb,1.6618e+01_rb,2.0128e+01_rb,2.4207e+01_rb,2.8664e+01_rb/) kao(:, 5,11) = (/ & &1.1552e+01_rb,1.4477e+01_rb,1.7747e+01_rb,2.1616e+01_rb,2.5966e+01_rb/) kao(:, 6,11) = (/ & &9.7662e+00_rb,1.2339e+01_rb,1.5425e+01_rb,1.9082e+01_rb,2.3024e+01_rb/) kao(:, 7,11) = (/ & &8.0435e+00_rb,1.0356e+01_rb,1.3162e+01_rb,1.6422e+01_rb,1.9976e+01_rb/) kao(:, 8,11) = (/ & &6.6475e+00_rb,8.6800e+00_rb,1.1208e+01_rb,1.4127e+01_rb,1.7194e+01_rb/) kao(:, 9,11) = (/ & &5.4286e+00_rb,7.1938e+00_rb,9.4274e+00_rb,1.1995e+01_rb,1.4788e+01_rb/) kao(:,10,11) = (/ & &4.4519e+00_rb,5.9777e+00_rb,7.8591e+00_rb,1.0067e+01_rb,1.2572e+01_rb/) kao(:,11,11) = (/ & &4.1097e+00_rb,5.5519e+00_rb,7.2615e+00_rb,9.2610e+00_rb,1.1615e+01_rb/) kao(:,12,11) = (/ & &3.7565e+00_rb,5.0648e+00_rb,6.6341e+00_rb,8.4916e+00_rb,1.0710e+01_rb/) kao(:,13,11) = (/ & &3.3842e+00_rb,4.5598e+00_rb,5.9909e+00_rb,7.7387e+00_rb,9.7720e+00_rb/) kao(:, 1,12) = (/ & &2.2275e+01_rb,2.7471e+01_rb,3.3492e+01_rb,4.0225e+01_rb,4.7465e+01_rb/) kao(:, 2,12) = (/ & &2.2476e+01_rb,2.7446e+01_rb,3.3072e+01_rb,3.9336e+01_rb,4.6205e+01_rb/) kao(:, 3,12) = (/ & &2.1150e+01_rb,2.6276e+01_rb,3.1885e+01_rb,3.7595e+01_rb,4.3863e+01_rb/) kao(:, 4,12) = (/ & &1.9455e+01_rb,2.4367e+01_rb,2.9875e+01_rb,3.5713e+01_rb,4.1802e+01_rb/) kao(:, 5,12) = (/ & &1.7406e+01_rb,2.2244e+01_rb,2.7648e+01_rb,3.3299e+01_rb,3.9489e+01_rb/) kao(:, 6,12) = (/ & &1.5271e+01_rb,1.9641e+01_rb,2.4614e+01_rb,3.0133e+01_rb,3.6348e+01_rb/) kao(:, 7,12) = (/ & &1.3343e+01_rb,1.7102e+01_rb,2.1495e+01_rb,2.6582e+01_rb,3.2562e+01_rb/) kao(:, 8,12) = (/ & &1.1399e+01_rb,1.4767e+01_rb,1.8657e+01_rb,2.3239e+01_rb,2.8870e+01_rb/) kao(:, 9,12) = (/ & &9.4462e+00_rb,1.2437e+01_rb,1.5942e+01_rb,2.0083e+01_rb,2.5175e+01_rb/) kao(:,10,12) = (/ & &7.9561e+00_rb,1.0576e+01_rb,1.3751e+01_rb,1.7625e+01_rb,2.2224e+01_rb/) kao(:,11,12) = (/ & &7.6703e+00_rb,1.0214e+01_rb,1.3362e+01_rb,1.7172e+01_rb,2.1565e+01_rb/) kao(:,12,12) = (/ & &7.3002e+00_rb,9.7613e+00_rb,1.2808e+01_rb,1.6448e+01_rb,2.0508e+01_rb/) kao(:,13,12) = (/ & &6.8227e+00_rb,9.1662e+00_rb,1.2005e+01_rb,1.5291e+01_rb,1.9104e+01_rb/) kao(:, 1,13) = (/ & &2.8154e+01_rb,3.5750e+01_rb,4.4791e+01_rb,5.4873e+01_rb,6.6140e+01_rb/) kao(:, 2,13) = (/ & &2.8745e+01_rb,3.6229e+01_rb,4.5340e+01_rb,5.5950e+01_rb,6.7860e+01_rb/) kao(:, 3,13) = (/ & &2.8731e+01_rb,3.5740e+01_rb,4.4190e+01_rb,5.4581e+01_rb,6.6390e+01_rb/) kao(:, 4,13) = (/ & &2.7586e+01_rb,3.5028e+01_rb,4.3053e+01_rb,5.2513e+01_rb,6.3590e+01_rb/) kao(:, 5,13) = (/ & &2.6083e+01_rb,3.3437e+01_rb,4.1632e+01_rb,5.0781e+01_rb,6.1113e+01_rb/) kao(:, 6,13) = (/ & &2.3829e+01_rb,3.1109e+01_rb,3.9228e+01_rb,4.8371e+01_rb,5.8278e+01_rb/) kao(:, 7,13) = (/ & &2.1209e+01_rb,2.8372e+01_rb,3.6376e+01_rb,4.5363e+01_rb,5.5372e+01_rb/) kao(:, 8,13) = (/ & &1.8790e+01_rb,2.5354e+01_rb,3.3043e+01_rb,4.1793e+01_rb,5.1443e+01_rb/) kao(:, 9,13) = (/ & &1.6798e+01_rb,2.2642e+01_rb,2.9578e+01_rb,3.7822e+01_rb,4.7058e+01_rb/) kao(:,10,13) = (/ & &1.4972e+01_rb,2.0558e+01_rb,2.6854e+01_rb,3.4253e+01_rb,4.2864e+01_rb/) kao(:,11,13) = (/ & &1.5310e+01_rb,2.0781e+01_rb,2.6920e+01_rb,3.4183e+01_rb,4.2625e+01_rb/) kao(:,12,13) = (/ & &1.5266e+01_rb,2.0520e+01_rb,2.6628e+01_rb,3.3712e+01_rb,4.2182e+01_rb/) kao(:,13,13) = (/ & &1.4957e+01_rb,1.9939e+01_rb,2.5957e+01_rb,3.3111e+01_rb,4.1486e+01_rb/) kao(:, 1,14) = (/ & &4.6330e+01_rb,6.0030e+01_rb,7.5480e+01_rb,9.2536e+01_rb,1.1059e+02_rb/) kao(:, 2,14) = (/ & &4.4855e+01_rb,5.8960e+01_rb,7.5059e+01_rb,9.2958e+01_rb,1.1209e+02_rb/) kao(:, 3,14) = (/ & &4.1447e+01_rb,5.4787e+01_rb,7.1113e+01_rb,8.9291e+01_rb,1.0911e+02_rb/) kao(:, 4,14) = (/ & &3.9104e+01_rb,5.0668e+01_rb,6.5934e+01_rb,8.3732e+01_rb,1.0396e+02_rb/) kao(:, 5,14) = (/ & &3.8023e+01_rb,4.8275e+01_rb,6.1835e+01_rb,7.8920e+01_rb,9.8684e+01_rb/) kao(:, 6,14) = (/ & &3.6671e+01_rb,4.6928e+01_rb,5.9373e+01_rb,7.4910e+01_rb,9.4120e+01_rb/) kao(:, 7,14) = (/ & &3.4713e+01_rb,4.5254e+01_rb,5.8164e+01_rb,7.3270e+01_rb,9.1067e+01_rb/) kao(:, 8,14) = (/ & &3.2317e+01_rb,4.2931e+01_rb,5.6350e+01_rb,7.1845e+01_rb,8.9533e+01_rb/) kao(:, 9,14) = (/ & &2.9466e+01_rb,3.9947e+01_rb,5.3450e+01_rb,6.9454e+01_rb,8.7436e+01_rb/) kao(:,10,14) = (/ & &2.7304e+01_rb,3.7491e+01_rb,5.1151e+01_rb,6.7458e+01_rb,8.6217e+01_rb/) kao(:,11,14) = (/ & &2.9371e+01_rb,4.0579e+01_rb,5.5614e+01_rb,7.3135e+01_rb,9.3406e+01_rb/) kao(:,12,14) = (/ & &3.1557e+01_rb,4.3832e+01_rb,5.9668e+01_rb,7.8288e+01_rb,9.9282e+01_rb/) kao(:,13,14) = (/ & &3.3702e+01_rb,4.7002e+01_rb,6.3302e+01_rb,8.2327e+01_rb,1.0363e+02_rb/) kao(:, 1,15) = (/ & &7.1097e+01_rb,9.1809e+01_rb,1.1513e+02_rb,1.4077e+02_rb,1.6931e+02_rb/) kao(:, 2,15) = (/ & &7.6481e+01_rb,9.9988e+01_rb,1.2655e+02_rb,1.5641e+02_rb,1.9001e+02_rb/) kao(:, 3,15) = (/ & &7.6089e+01_rb,1.0186e+02_rb,1.3121e+02_rb,1.6509e+02_rb,2.0316e+02_rb/) kao(:, 4,15) = (/ & &7.1689e+01_rb,9.8693e+01_rb,1.3061e+02_rb,1.6745e+02_rb,2.0924e+02_rb/) kao(:, 5,15) = (/ & &6.5396e+01_rb,9.2850e+01_rb,1.2644e+02_rb,1.6569e+02_rb,2.1030e+02_rb/) kao(:, 6,15) = (/ & &5.9839e+01_rb,8.4120e+01_rb,1.1791e+02_rb,1.5835e+02_rb,2.0497e+02_rb/) kao(:, 7,15) = (/ & &5.7504e+01_rb,7.7966e+01_rb,1.0776e+02_rb,1.4729e+02_rb,1.9476e+02_rb/) kao(:, 8,15) = (/ & &5.7004e+01_rb,7.5268e+01_rb,1.0086e+02_rb,1.3678e+02_rb,1.8339e+02_rb/) kao(:, 9,15) = (/ & &5.5577e+01_rb,7.3906e+01_rb,9.7044e+01_rb,1.2904e+02_rb,1.7226e+02_rb/) kao(:,10,15) = (/ & &5.5416e+01_rb,7.4211e+01_rb,9.6440e+01_rb,1.2687e+02_rb,1.6750e+02_rb/) kao(:,11,15) = (/ & &6.2860e+01_rb,8.4332e+01_rb,1.0913e+02_rb,1.4265e+02_rb,1.8694e+02_rb/) kao(:,12,15) = (/ & &7.1048e+01_rb,9.5286e+01_rb,1.2362e+02_rb,1.6046e+02_rb,2.0975e+02_rb/) kao(:,13,15) = (/ & &7.9451e+01_rb,1.0631e+02_rb,1.3951e+02_rb,1.8076e+02_rb,2.3534e+02_rb/) kao(:, 1,16) = (/ & &7.6064e+01_rb,1.0164e+02_rb,1.3126e+02_rb,1.6469e+02_rb,2.0152e+02_rb/) kao(:, 2,16) = (/ & &8.3803e+01_rb,1.1323e+02_rb,1.4816e+02_rb,1.8796e+02_rb,2.3219e+02_rb/) kao(:, 3,16) = (/ & &8.7402e+01_rb,1.1813e+02_rb,1.5778e+02_rb,2.0377e+02_rb,2.5553e+02_rb/) kao(:, 4,16) = (/ & &8.7865e+01_rb,1.1968e+02_rb,1.6142e+02_rb,2.1263e+02_rb,2.7144e+02_rb/) kao(:, 5,16) = (/ & &8.6499e+01_rb,1.2062e+02_rb,1.6367e+02_rb,2.1790e+02_rb,2.8301e+02_rb/) kao(:, 6,16) = (/ & &8.2494e+01_rb,1.1893e+02_rb,1.6400e+02_rb,2.2086e+02_rb,2.8964e+02_rb/) kao(:, 7,16) = (/ & &7.7078e+01_rb,1.1526e+02_rb,1.6302e+02_rb,2.2306e+02_rb,2.9645e+02_rb/) kao(:, 8,16) = (/ & &7.0841e+01_rb,1.1011e+02_rb,1.6059e+02_rb,2.2458e+02_rb,3.0342e+02_rb/) kao(:, 9,16) = (/ & &7.4013e+01_rb,1.0313e+02_rb,1.5566e+02_rb,2.2324e+02_rb,3.0785e+02_rb/) kao(:,10,16) = (/ & &8.3043e+01_rb,1.0119e+02_rb,1.5304e+02_rb,2.2535e+02_rb,3.1705e+02_rb/) kao(:,11,16) = (/ & &1.0007e+02_rb,1.2237e+02_rb,1.8107e+02_rb,2.6762e+02_rb,3.7672e+02_rb/) kao(:,12,16) = (/ & &1.1998e+02_rb,1.4801e+02_rb,2.1370e+02_rb,3.1623e+02_rb,4.4496e+02_rb/) kao(:,13,16) = (/ & &1.4282e+02_rb,1.7830e+02_rb,2.5018e+02_rb,3.7037e+02_rb,5.2070e+02_rb/) ! The array KBO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels < ~100mb and temperatures. The first ! index in the array, JT, which runs from 1 to 5, corresponds to ! different temperatures. More specifically, JT = 3 means that the ! data are for the reference temperature TREF for this pressure ! level, JT = 2 refers to the temperature TREF-15, JT = 1 is for ! TREF-30, JT = 4 is for TREF+15, and JT = 5 is for TREF+30. ! The second index, JP, runs from 13 to 59 and refers to the JPth ! reference pressure level (see taumol.f for the value of these ! pressure levels in mb). The third index, IG, goes from 1 to 16, ! and tells us which g-interval the absorption coefficients are for. kbo(:,13, 1) = (/ & &1.3000e-04_rb,1.6216e-04_rb,2.0768e-04_rb,2.6864e-04_rb,3.3497e-04_rb/) kbo(:,14, 1) = (/ & &1.0850e-04_rb,1.3602e-04_rb,1.7553e-04_rb,2.2686e-04_rb,2.8162e-04_rb/) kbo(:,15, 1) = (/ & &9.0864e-05_rb,1.1476e-04_rb,1.4832e-04_rb,1.9081e-04_rb,2.3698e-04_rb/) kbo(:,16, 1) = (/ & &7.6202e-05_rb,9.6897e-05_rb,1.2521e-04_rb,1.6032e-04_rb,1.9925e-04_rb/) kbo(:,17, 1) = (/ & &6.3984e-05_rb,8.1671e-05_rb,1.0565e-04_rb,1.3448e-04_rb,1.6696e-04_rb/) kbo(:,18, 1) = (/ & &5.3749e-05_rb,6.8759e-05_rb,8.9036e-05_rb,1.1274e-04_rb,1.3824e-04_rb/) kbo(:,19, 1) = (/ & &4.5160e-05_rb,5.7874e-05_rb,7.4954e-05_rb,9.4487e-05_rb,1.1485e-04_rb/) kbo(:,20, 1) = (/ & &3.8050e-05_rb,4.8934e-05_rb,6.3376e-05_rb,7.9393e-05_rb,9.5565e-05_rb/) kbo(:,21, 1) = (/ & &3.2121e-05_rb,4.1368e-05_rb,5.3585e-05_rb,6.6749e-05_rb,7.9704e-05_rb/) kbo(:,22, 1) = (/ & &2.7597e-05_rb,3.5606e-05_rb,4.6066e-05_rb,5.6919e-05_rb,6.7252e-05_rb/) kbo(:,23, 1) = (/ & &2.3703e-05_rb,3.0672e-05_rb,3.9251e-05_rb,4.8622e-05_rb,5.6783e-05_rb/) kbo(:,24, 1) = (/ & &2.0444e-05_rb,2.6471e-05_rb,3.3535e-05_rb,4.1441e-05_rb,4.8070e-05_rb/) kbo(:,25, 1) = (/ & &1.7691e-05_rb,2.2899e-05_rb,2.8737e-05_rb,3.4776e-05_rb,4.0820e-05_rb/) kbo(:,26, 1) = (/ & &1.5391e-05_rb,1.9900e-05_rb,2.4708e-05_rb,2.9438e-05_rb,3.4884e-05_rb/) kbo(:,27, 1) = (/ & &1.3401e-05_rb,1.7231e-05_rb,2.1300e-05_rb,2.5041e-05_rb,2.9843e-05_rb/) kbo(:,28, 1) = (/ & &1.1671e-05_rb,1.4827e-05_rb,1.8383e-05_rb,2.1307e-05_rb,2.5549e-05_rb/) kbo(:,29, 1) = (/ & &1.0183e-05_rb,1.2798e-05_rb,1.5535e-05_rb,1.8197e-05_rb,2.1838e-05_rb/) kbo(:,30, 1) = (/ & &8.8844e-06_rb,1.1043e-05_rb,1.3172e-05_rb,1.5593e-05_rb,1.8678e-05_rb/) kbo(:,31, 1) = (/ & &7.7313e-06_rb,9.5518e-06_rb,1.1237e-05_rb,1.3382e-05_rb,1.5999e-05_rb/) kbo(:,32, 1) = (/ & &6.6794e-06_rb,8.2781e-06_rb,9.5924e-06_rb,1.1496e-05_rb,1.3717e-05_rb/) kbo(:,33, 1) = (/ & &5.7815e-06_rb,7.0042e-06_rb,8.2098e-06_rb,9.8489e-06_rb,1.1766e-05_rb/) kbo(:,34, 1) = (/ & &4.9641e-06_rb,5.9235e-06_rb,7.0090e-06_rb,8.3895e-06_rb,1.0037e-05_rb/) kbo(:,35, 1) = (/ & &4.1780e-06_rb,4.9520e-06_rb,5.8797e-06_rb,7.0288e-06_rb,8.4123e-06_rb/) kbo(:,36, 1) = (/ & &3.4370e-06_rb,4.0690e-06_rb,4.8335e-06_rb,5.7766e-06_rb,6.9140e-06_rb/) kbo(:,37, 1) = (/ & &2.7366e-06_rb,3.2617e-06_rb,3.8617e-06_rb,4.6224e-06_rb,5.5308e-06_rb/) kbo(:,38, 1) = (/ & &2.1763e-06_rb,2.6155e-06_rb,3.0811e-06_rb,3.6939e-06_rb,4.4152e-06_rb/) kbo(:,39, 1) = (/ & &1.7313e-06_rb,2.1017e-06_rb,2.4606e-06_rb,2.9519e-06_rb,3.5266e-06_rb/) kbo(:,40, 1) = (/ & &1.3469e-06_rb,1.6693e-06_rb,1.9344e-06_rb,2.3182e-06_rb,2.7667e-06_rb/) kbo(:,41, 1) = (/ & &1.0461e-06_rb,1.2927e-06_rb,1.5201e-06_rb,1.8107e-06_rb,2.1653e-06_rb/) kbo(:,42, 1) = (/ & &8.0658e-07_rb,1.0022e-06_rb,1.1943e-06_rb,1.4143e-06_rb,1.6945e-06_rb/) kbo(:,43, 1) = (/ & &6.1022e-07_rb,7.6847e-07_rb,9.3637e-07_rb,1.0945e-06_rb,1.3137e-06_rb/) kbo(:,44, 1) = (/ & &4.5840e-07_rb,5.8613e-07_rb,7.2558e-07_rb,8.4731e-07_rb,1.0130e-06_rb/) kbo(:,45, 1) = (/ & &3.4424e-07_rb,4.4504e-07_rb,5.5242e-07_rb,6.5691e-07_rb,7.7925e-07_rb/) kbo(:,46, 1) = (/ & &2.5697e-07_rb,3.3261e-07_rb,4.1921e-07_rb,5.1218e-07_rb,5.9773e-07_rb/) kbo(:,47, 1) = (/ & &1.8987e-07_rb,2.4567e-07_rb,3.1544e-07_rb,3.9053e-07_rb,4.5787e-07_rb/) kbo(:,48, 1) = (/ & &1.4058e-07_rb,1.8138e-07_rb,2.3483e-07_rb,2.9330e-07_rb,3.5197e-07_rb/) kbo(:,49, 1) = (/ & &1.0462e-07_rb,1.3385e-07_rb,1.7347e-07_rb,2.2053e-07_rb,2.7396e-07_rb/) kbo(:,50, 1) = (/ & &7.9205e-08_rb,9.9611e-08_rb,1.2890e-07_rb,1.6695e-07_rb,2.0670e-07_rb/) kbo(:,51, 1) = (/ & &6.0628e-08_rb,7.4396e-08_rb,9.6049e-08_rb,1.2454e-07_rb,1.5638e-07_rb/) kbo(:,52, 1) = (/ & &4.5002e-08_rb,5.5943e-08_rb,7.1532e-08_rb,9.2844e-08_rb,1.1852e-07_rb/) kbo(:,53, 1) = (/ & &3.2555e-08_rb,4.2490e-08_rb,5.3383e-08_rb,6.9149e-08_rb,8.9727e-08_rb/) kbo(:,54, 1) = (/ & &2.3696e-08_rb,3.2653e-08_rb,4.0140e-08_rb,5.1914e-08_rb,6.7441e-08_rb/) kbo(:,55, 1) = (/ & &1.7247e-08_rb,2.4546e-08_rb,3.0469e-08_rb,3.9087e-08_rb,5.0840e-08_rb/) kbo(:,56, 1) = (/ & &1.2515e-08_rb,1.8025e-08_rb,2.3296e-08_rb,2.9456e-08_rb,3.8300e-08_rb/) kbo(:,57, 1) = (/ & &9.0211e-09_rb,1.3183e-08_rb,1.7891e-08_rb,2.2220e-08_rb,2.8857e-08_rb/) kbo(:,58, 1) = (/ & &6.4935e-09_rb,9.6472e-09_rb,1.3706e-08_rb,1.6858e-08_rb,2.1803e-08_rb/) kbo(:,59, 1) = (/ & &5.0413e-09_rb,7.5477e-09_rb,1.0800e-08_rb,1.3392e-08_rb,1.7290e-08_rb/) kbo(:,13, 2) = (/ & &3.6782e-04_rb,4.0460e-04_rb,4.6828e-04_rb,5.6427e-04_rb,6.8387e-04_rb/) kbo(:,14, 2) = (/ & &3.0206e-04_rb,3.3534e-04_rb,3.8904e-04_rb,4.6908e-04_rb,5.7354e-04_rb/) kbo(:,15, 2) = (/ & &2.4903e-04_rb,2.7718e-04_rb,3.2574e-04_rb,3.9271e-04_rb,4.8202e-04_rb/) kbo(:,16, 2) = (/ & &2.0570e-04_rb,2.3043e-04_rb,2.7323e-04_rb,3.2940e-04_rb,4.0539e-04_rb/) kbo(:,17, 2) = (/ & &1.6973e-04_rb,1.9226e-04_rb,2.2908e-04_rb,2.7627e-04_rb,3.4057e-04_rb/) kbo(:,18, 2) = (/ & &1.4059e-04_rb,1.6018e-04_rb,1.9182e-04_rb,2.3171e-04_rb,2.8730e-04_rb/) kbo(:,19, 2) = (/ & &1.1617e-04_rb,1.3358e-04_rb,1.6042e-04_rb,1.9424e-04_rb,2.4177e-04_rb/) kbo(:,20, 2) = (/ & &9.6546e-05_rb,1.1187e-04_rb,1.3461e-04_rb,1.6319e-04_rb,2.0430e-04_rb/) kbo(:,21, 2) = (/ & &8.0465e-05_rb,9.3512e-05_rb,1.1260e-04_rb,1.3712e-04_rb,1.7240e-04_rb/) kbo(:,22, 2) = (/ & &6.7521e-05_rb,7.9100e-05_rb,9.4853e-05_rb,1.1694e-04_rb,1.4756e-04_rb/) kbo(:,23, 2) = (/ & &5.6632e-05_rb,6.7211e-05_rb,8.0875e-05_rb,9.9624e-05_rb,1.2638e-04_rb/) kbo(:,24, 2) = (/ & &4.7866e-05_rb,5.7310e-05_rb,6.9154e-05_rb,8.5301e-05_rb,1.0831e-04_rb/) kbo(:,25, 2) = (/ & &4.0652e-05_rb,4.8933e-05_rb,5.9257e-05_rb,7.3835e-05_rb,9.2951e-05_rb/) kbo(:,26, 2) = (/ & &3.4655e-05_rb,4.1694e-05_rb,5.0935e-05_rb,6.3979e-05_rb,8.0042e-05_rb/) kbo(:,27, 2) = (/ & &2.9633e-05_rb,3.5562e-05_rb,4.3853e-05_rb,5.5348e-05_rb,6.8920e-05_rb/) kbo(:,28, 2) = (/ & &2.5432e-05_rb,3.0614e-05_rb,3.7665e-05_rb,4.7871e-05_rb,5.9328e-05_rb/) kbo(:,29, 2) = (/ & &2.1848e-05_rb,2.6432e-05_rb,3.2844e-05_rb,4.1383e-05_rb,5.1047e-05_rb/) kbo(:,30, 2) = (/ & &1.8680e-05_rb,2.2782e-05_rb,2.8578e-05_rb,3.5766e-05_rb,4.3772e-05_rb/) kbo(:,31, 2) = (/ & &1.5971e-05_rb,1.9690e-05_rb,2.4825e-05_rb,3.0907e-05_rb,3.7564e-05_rb/) kbo(:,32, 2) = (/ & &1.3804e-05_rb,1.6977e-05_rb,2.1562e-05_rb,2.6712e-05_rb,3.2275e-05_rb/) kbo(:,33, 2) = (/ & &1.1945e-05_rb,1.4856e-05_rb,1.8696e-05_rb,2.3037e-05_rb,2.7659e-05_rb/) kbo(:,34, 2) = (/ & &1.0252e-05_rb,1.2851e-05_rb,1.6075e-05_rb,1.9670e-05_rb,2.3561e-05_rb/) kbo(:,35, 2) = (/ & &8.6288e-06_rb,1.0847e-05_rb,1.3532e-05_rb,1.6502e-05_rb,1.9733e-05_rb/) kbo(:,36, 2) = (/ & &7.0970e-06_rb,8.9246e-06_rb,1.1130e-05_rb,1.3564e-05_rb,1.6217e-05_rb/) kbo(:,37, 2) = (/ & &5.6546e-06_rb,7.0912e-06_rb,8.8667e-06_rb,1.0842e-05_rb,1.2980e-05_rb/) kbo(:,38, 2) = (/ & &4.4964e-06_rb,5.6180e-06_rb,7.0484e-06_rb,8.6481e-06_rb,1.0377e-05_rb/) kbo(:,39, 2) = (/ & &3.5794e-06_rb,4.4460e-06_rb,5.6006e-06_rb,6.9055e-06_rb,8.2935e-06_rb/) kbo(:,40, 2) = (/ & &2.7849e-06_rb,3.4244e-06_rb,4.3497e-06_rb,5.3888e-06_rb,6.5103e-06_rb/) kbo(:,41, 2) = (/ & &2.1634e-06_rb,2.6661e-06_rb,3.3623e-06_rb,4.1856e-06_rb,5.0849e-06_rb/) kbo(:,42, 2) = (/ & &1.6951e-06_rb,2.0688e-06_rb,2.5958e-06_rb,3.2479e-06_rb,3.9733e-06_rb/) kbo(:,43, 2) = (/ & &1.3156e-06_rb,1.5889e-06_rb,1.9703e-06_rb,2.4872e-06_rb,3.0727e-06_rb/) kbo(:,44, 2) = (/ & &1.0083e-06_rb,1.2108e-06_rb,1.4918e-06_rb,1.8898e-06_rb,2.3484e-06_rb/) kbo(:,45, 2) = (/ & &7.7597e-07_rb,9.3178e-07_rb,1.1396e-06_rb,1.4323e-06_rb,1.7919e-06_rb/) kbo(:,46, 2) = (/ & &5.9640e-07_rb,7.1743e-07_rb,8.6664e-07_rb,1.0739e-06_rb,1.3585e-06_rb/) kbo(:,47, 2) = (/ & &4.5875e-07_rb,5.4303e-07_rb,6.5202e-07_rb,8.0415e-07_rb,1.0165e-06_rb/) kbo(:,48, 2) = (/ & &3.5634e-07_rb,4.1385e-07_rb,4.9968e-07_rb,6.0505e-07_rb,7.5779e-07_rb/) kbo(:,49, 2) = (/ & &2.7966e-07_rb,3.1607e-07_rb,3.7849e-07_rb,4.5539e-07_rb,5.6073e-07_rb/) kbo(:,50, 2) = (/ & &2.2335e-07_rb,2.4619e-07_rb,2.8832e-07_rb,3.4563e-07_rb,4.2520e-07_rb/) kbo(:,51, 2) = (/ & &1.6810e-07_rb,1.9184e-07_rb,2.2126e-07_rb,2.6681e-07_rb,3.2272e-07_rb/) kbo(:,52, 2) = (/ & &1.2477e-07_rb,1.5183e-07_rb,1.7051e-07_rb,2.0325e-07_rb,2.4465e-07_rb/) kbo(:,53, 2) = (/ & &9.1697e-08_rb,1.2163e-07_rb,1.3293e-07_rb,1.5546e-07_rb,1.8654e-07_rb/) kbo(:,54, 2) = (/ & &6.8066e-08_rb,9.0724e-08_rb,1.0426e-07_rb,1.1988e-07_rb,1.4459e-07_rb/) kbo(:,55, 2) = (/ & &5.0853e-08_rb,6.8116e-08_rb,8.2949e-08_rb,9.3086e-08_rb,1.1106e-07_rb/) kbo(:,56, 2) = (/ & &3.8097e-08_rb,5.0708e-08_rb,6.6601e-08_rb,7.3097e-08_rb,8.5626e-08_rb/) kbo(:,57, 2) = (/ & &2.8575e-08_rb,3.7778e-08_rb,5.0543e-08_rb,5.7226e-08_rb,6.6193e-08_rb/) kbo(:,58, 2) = (/ & &2.1274e-08_rb,2.8319e-08_rb,3.8061e-08_rb,4.5485e-08_rb,5.1336e-08_rb/) kbo(:,59, 2) = (/ & &1.6785e-08_rb,2.2389e-08_rb,3.0047e-08_rb,3.6850e-08_rb,4.1308e-08_rb/) kbo(:,13, 3) = (/ & &4.8329e-04_rb,7.1031e-04_rb,9.2618e-04_rb,1.1787e-03_rb,1.4998e-03_rb/) kbo(:,14, 3) = (/ & &4.1573e-04_rb,5.9621e-04_rb,7.7781e-04_rb,9.9253e-04_rb,1.2561e-03_rb/) kbo(:,15, 3) = (/ & &3.5745e-04_rb,5.0356e-04_rb,6.5391e-04_rb,8.3999e-04_rb,1.0559e-03_rb/) kbo(:,16, 3) = (/ & &3.0758e-04_rb,4.2512e-04_rb,5.5063e-04_rb,7.1032e-04_rb,8.8405e-04_rb/) kbo(:,17, 3) = (/ & &2.6428e-04_rb,3.5939e-04_rb,4.6476e-04_rb,5.9990e-04_rb,7.3444e-04_rb/) kbo(:,18, 3) = (/ & &2.2620e-04_rb,3.0371e-04_rb,3.9242e-04_rb,5.0569e-04_rb,6.1057e-04_rb/) kbo(:,19, 3) = (/ & &1.9349e-04_rb,2.5703e-04_rb,3.3045e-04_rb,4.2572e-04_rb,5.0885e-04_rb/) kbo(:,20, 3) = (/ & &1.6601e-04_rb,2.1679e-04_rb,2.7938e-04_rb,3.5877e-04_rb,4.2456e-04_rb/) kbo(:,21, 3) = (/ & &1.3973e-04_rb,1.8356e-04_rb,2.3660e-04_rb,3.0163e-04_rb,3.5438e-04_rb/) kbo(:,22, 3) = (/ & &1.2024e-04_rb,1.5775e-04_rb,2.0424e-04_rb,2.5718e-04_rb,2.9870e-04_rb/) kbo(:,23, 3) = (/ & &1.0421e-04_rb,1.3581e-04_rb,1.7576e-04_rb,2.1785e-04_rb,2.5256e-04_rb/) kbo(:,24, 3) = (/ & &9.0642e-05_rb,1.1736e-04_rb,1.5142e-04_rb,1.8334e-04_rb,2.1432e-04_rb/) kbo(:,25, 3) = (/ & &7.8653e-05_rb,1.0139e-04_rb,1.3046e-04_rb,1.5520e-04_rb,1.8200e-04_rb/) kbo(:,26, 3) = (/ & &6.8347e-05_rb,8.8330e-05_rb,1.1221e-04_rb,1.3139e-04_rb,1.5501e-04_rb/) kbo(:,27, 3) = (/ & &5.9438e-05_rb,7.7110e-05_rb,9.6484e-05_rb,1.1163e-04_rb,1.3198e-04_rb/) kbo(:,28, 3) = (/ & &5.1865e-05_rb,6.7062e-05_rb,8.1622e-05_rb,9.5189e-05_rb,1.1250e-04_rb/) kbo(:,29, 3) = (/ & &4.5229e-05_rb,5.8248e-05_rb,6.9371e-05_rb,8.1305e-05_rb,9.5987e-05_rb/) kbo(:,30, 3) = (/ & &3.9548e-05_rb,5.0236e-05_rb,5.8927e-05_rb,6.9361e-05_rb,8.1985e-05_rb/) kbo(:,31, 3) = (/ & &3.4672e-05_rb,4.3357e-05_rb,5.0119e-05_rb,5.9230e-05_rb,7.0087e-05_rb/) kbo(:,32, 3) = (/ & &3.0291e-05_rb,3.6761e-05_rb,4.2859e-05_rb,5.0621e-05_rb,5.9826e-05_rb/) kbo(:,33, 3) = (/ & &2.6343e-05_rb,3.1291e-05_rb,3.6685e-05_rb,4.3251e-05_rb,5.1136e-05_rb/) kbo(:,34, 3) = (/ & &2.2619e-05_rb,2.6479e-05_rb,3.1160e-05_rb,3.6817e-05_rb,4.3454e-05_rb/) kbo(:,35, 3) = (/ & &1.9044e-05_rb,2.2094e-05_rb,2.6069e-05_rb,3.0814e-05_rb,3.6332e-05_rb/) kbo(:,36, 3) = (/ & &1.5660e-05_rb,1.8150e-05_rb,2.1420e-05_rb,2.5318e-05_rb,2.9845e-05_rb/) kbo(:,37, 3) = (/ & &1.2481e-05_rb,1.4567e-05_rb,1.7160e-05_rb,2.0273e-05_rb,2.3924e-05_rb/) kbo(:,38, 3) = (/ & &9.9229e-06_rb,1.1707e-05_rb,1.3728e-05_rb,1.6208e-05_rb,1.9147e-05_rb/) kbo(:,39, 3) = (/ & &7.8980e-06_rb,9.3824e-06_rb,1.0994e-05_rb,1.2956e-05_rb,1.5319e-05_rb/) kbo(:,40, 3) = (/ & &6.1214e-06_rb,7.4148e-06_rb,8.6411e-06_rb,1.0203e-05_rb,1.2052e-05_rb/) kbo(:,41, 3) = (/ & &4.7079e-06_rb,5.8792e-06_rb,6.7814e-06_rb,8.0075e-06_rb,9.4649e-06_rb/) kbo(:,42, 3) = (/ & &3.6048e-06_rb,4.5698e-06_rb,5.3449e-06_rb,6.2854e-06_rb,7.4263e-06_rb/) kbo(:,43, 3) = (/ & &2.7216e-06_rb,3.5076e-06_rb,4.1783e-06_rb,4.8932e-06_rb,5.7661e-06_rb/) kbo(:,44, 3) = (/ & &2.0468e-06_rb,2.6504e-06_rb,3.2648e-06_rb,3.7820e-06_rb,4.4701e-06_rb/) kbo(:,45, 3) = (/ & &1.5361e-06_rb,1.9893e-06_rb,2.5184e-06_rb,2.9393e-06_rb,3.4602e-06_rb/) kbo(:,46, 3) = (/ & &1.1503e-06_rb,1.4832e-06_rb,1.9137e-06_rb,2.2823e-06_rb,2.6719e-06_rb/) kbo(:,47, 3) = (/ & &8.3777e-07_rb,1.0971e-06_rb,1.4217e-06_rb,1.7739e-06_rb,2.0443e-06_rb/) kbo(:,48, 3) = (/ & &6.1407e-07_rb,8.0972e-07_rb,1.0453e-06_rb,1.3363e-06_rb,1.5776e-06_rb/) kbo(:,49, 3) = (/ & &4.3890e-07_rb,5.9676e-07_rb,7.7449e-07_rb,1.0018e-06_rb,1.2151e-06_rb/) kbo(:,50, 3) = (/ & &3.0232e-07_rb,4.3632e-07_rb,5.7501e-07_rb,7.4600e-07_rb,9.3964e-07_rb/) kbo(:,51, 3) = (/ & &2.1820e-07_rb,3.2558e-07_rb,4.2933e-07_rb,5.5411e-07_rb,7.1236e-07_rb/) kbo(:,52, 3) = (/ & &1.6142e-07_rb,2.3096e-07_rb,3.1815e-07_rb,4.1428e-07_rb,5.3670e-07_rb/) kbo(:,53, 3) = (/ & &1.2239e-07_rb,1.5927e-07_rb,2.3415e-07_rb,3.0848e-07_rb,4.0010e-07_rb/) kbo(:,54, 3) = (/ & &9.4287e-08_rb,1.1772e-07_rb,1.7609e-07_rb,2.3226e-07_rb,2.9972e-07_rb/) kbo(:,55, 3) = (/ & &7.3559e-08_rb,8.8158e-08_rb,1.2627e-07_rb,1.7401e-07_rb,2.2659e-07_rb/) kbo(:,56, 3) = (/ & &5.7474e-08_rb,6.7419e-08_rb,8.9064e-08_rb,1.2949e-07_rb,1.7067e-07_rb/) kbo(:,57, 3) = (/ & &4.5317e-08_rb,5.2043e-08_rb,6.5424e-08_rb,9.7761e-08_rb,1.2882e-07_rb/) kbo(:,58, 3) = (/ & &3.4988e-08_rb,4.0617e-08_rb,4.8970e-08_rb,7.1601e-08_rb,9.7431e-08_rb/) kbo(:,59, 3) = (/ & &2.8131e-08_rb,3.2653e-08_rb,3.8986e-08_rb,5.5678e-08_rb,7.6933e-08_rb/) kbo(:,13, 4) = (/ & &1.2375e-03_rb,1.3907e-03_rb,1.6848e-03_rb,2.0764e-03_rb,2.5455e-03_rb/) kbo(:,14, 4) = (/ & &1.0352e-03_rb,1.1626e-03_rb,1.4153e-03_rb,1.7410e-03_rb,2.1410e-03_rb/) kbo(:,15, 4) = (/ & &8.6916e-04_rb,9.7450e-04_rb,1.1918e-03_rb,1.4617e-03_rb,1.8090e-03_rb/) kbo(:,16, 4) = (/ & &7.1556e-04_rb,8.1812e-04_rb,1.0040e-03_rb,1.2311e-03_rb,1.5286e-03_rb/) kbo(:,17, 4) = (/ & &5.8965e-04_rb,6.8521e-04_rb,8.4372e-04_rb,1.0375e-03_rb,1.2976e-03_rb/) kbo(:,18, 4) = (/ & &4.8726e-04_rb,5.7342e-04_rb,7.0979e-04_rb,8.7350e-04_rb,1.0996e-03_rb/) kbo(:,19, 4) = (/ & &4.0346e-04_rb,4.7923e-04_rb,5.9512e-04_rb,7.3474e-04_rb,9.2909e-04_rb/) kbo(:,20, 4) = (/ & &3.3252e-04_rb,4.0340e-04_rb,5.0129e-04_rb,6.2120e-04_rb,7.8738e-04_rb/) kbo(:,21, 4) = (/ & &2.7824e-04_rb,3.3959e-04_rb,4.2206e-04_rb,5.2456e-04_rb,6.6651e-04_rb/) kbo(:,22, 4) = (/ & &2.3686e-04_rb,2.9111e-04_rb,3.6067e-04_rb,4.4836e-04_rb,5.7225e-04_rb/) kbo(:,23, 4) = (/ & &2.0203e-04_rb,2.4985e-04_rb,3.0880e-04_rb,3.8545e-04_rb,4.9113e-04_rb/) kbo(:,24, 4) = (/ & &1.7215e-04_rb,2.1409e-04_rb,2.6491e-04_rb,3.3340e-04_rb,4.2129e-04_rb/) kbo(:,25, 4) = (/ & &1.4744e-04_rb,1.8341e-04_rb,2.2761e-04_rb,2.8826e-04_rb,3.6138e-04_rb/) kbo(:,26, 4) = (/ & &1.2712e-04_rb,1.5795e-04_rb,1.9671e-04_rb,2.5046e-04_rb,3.1109e-04_rb/) kbo(:,27, 4) = (/ & &1.1012e-04_rb,1.3626e-04_rb,1.6969e-04_rb,2.1697e-04_rb,2.6764e-04_rb/) kbo(:,28, 4) = (/ & &9.5268e-05_rb,1.1775e-04_rb,1.4811e-04_rb,1.8739e-04_rb,2.3002e-04_rb/) kbo(:,29, 4) = (/ & &8.1990e-05_rb,1.0183e-04_rb,1.2887e-04_rb,1.6155e-04_rb,1.9779e-04_rb/) kbo(:,30, 4) = (/ & &7.0812e-05_rb,8.8197e-05_rb,1.1209e-04_rb,1.3932e-04_rb,1.6990e-04_rb/) kbo(:,31, 4) = (/ & &6.1297e-05_rb,7.6242e-05_rb,9.7371e-05_rb,1.2004e-04_rb,1.4578e-04_rb/) kbo(:,32, 4) = (/ & &5.3068e-05_rb,6.6743e-05_rb,8.4358e-05_rb,1.0341e-04_rb,1.2514e-04_rb/) kbo(:,33, 4) = (/ & &4.6021e-05_rb,5.8210e-05_rb,7.2823e-05_rb,8.9095e-05_rb,1.0732e-04_rb/) kbo(:,34, 4) = (/ & &3.9611e-05_rb,5.0325e-05_rb,6.2484e-05_rb,7.6131e-05_rb,9.1418e-05_rb/) kbo(:,35, 4) = (/ & &3.3314e-05_rb,4.2493e-05_rb,5.2519e-05_rb,6.3851e-05_rb,7.6543e-05_rb/) kbo(:,36, 4) = (/ & &2.7397e-05_rb,3.4956e-05_rb,4.3170e-05_rb,5.2466e-05_rb,6.2879e-05_rb/) kbo(:,37, 4) = (/ & &2.1842e-05_rb,2.7769e-05_rb,3.4424e-05_rb,4.1912e-05_rb,5.0314e-05_rb/) kbo(:,38, 4) = (/ & &1.7352e-05_rb,2.1971e-05_rb,2.7389e-05_rb,3.3429e-05_rb,4.0195e-05_rb/) kbo(:,39, 4) = (/ & &1.3770e-05_rb,1.7414e-05_rb,2.1778e-05_rb,2.6648e-05_rb,3.2100e-05_rb/) kbo(:,40, 4) = (/ & &1.0696e-05_rb,1.3450e-05_rb,1.6968e-05_rb,2.0795e-05_rb,2.5164e-05_rb/) kbo(:,41, 4) = (/ & &8.2926e-06_rb,1.0301e-05_rb,1.3150e-05_rb,1.6196e-05_rb,1.9663e-05_rb/) kbo(:,42, 4) = (/ & &6.4321e-06_rb,7.9930e-06_rb,1.0153e-05_rb,1.2599e-05_rb,1.5345e-05_rb/) kbo(:,43, 4) = (/ & &4.9294e-06_rb,6.1147e-06_rb,7.7222e-06_rb,9.6711e-06_rb,1.1840e-05_rb/) kbo(:,44, 4) = (/ & &3.7796e-06_rb,4.6518e-06_rb,5.8136e-06_rb,7.3808e-06_rb,9.0677e-06_rb/) kbo(:,45, 4) = (/ & &2.8649e-06_rb,3.5446e-06_rb,4.4045e-06_rb,5.6003e-06_rb,6.9419e-06_rb/) kbo(:,46, 4) = (/ & &2.1636e-06_rb,2.6897e-06_rb,3.3348e-06_rb,4.2109e-06_rb,5.2785e-06_rb/) kbo(:,47, 4) = (/ & &1.6423e-06_rb,2.0325e-06_rb,2.5019e-06_rb,3.1092e-06_rb,3.9697e-06_rb/) kbo(:,48, 4) = (/ & &1.2438e-06_rb,1.5176e-06_rb,1.8805e-06_rb,2.3386e-06_rb,2.9598e-06_rb/) kbo(:,49, 4) = (/ & &9.6637e-07_rb,1.1421e-06_rb,1.4184e-06_rb,1.7520e-06_rb,2.2027e-06_rb/) kbo(:,50, 4) = (/ & &7.6681e-07_rb,8.7015e-07_rb,1.0718e-06_rb,1.3233e-06_rb,1.6436e-06_rb/) kbo(:,51, 4) = (/ & &5.7638e-07_rb,6.6674e-07_rb,8.0765e-07_rb,1.0019e-06_rb,1.2448e-06_rb/) kbo(:,52, 4) = (/ & &4.3579e-07_rb,5.2641e-07_rb,6.1480e-07_rb,7.6360e-07_rb,9.4101e-07_rb/) kbo(:,53, 4) = (/ & &3.2630e-07_rb,4.1175e-07_rb,4.6866e-07_rb,5.7670e-07_rb,7.1273e-07_rb/) kbo(:,54, 4) = (/ & &2.4508e-07_rb,3.1226e-07_rb,3.6234e-07_rb,4.3785e-07_rb,5.4334e-07_rb/) kbo(:,55, 4) = (/ & &1.8867e-07_rb,2.3849e-07_rb,2.8812e-07_rb,3.3656e-07_rb,4.1795e-07_rb/) kbo(:,56, 4) = (/ & &1.3888e-07_rb,1.8052e-07_rb,2.2770e-07_rb,2.5896e-07_rb,3.1922e-07_rb/) kbo(:,57, 4) = (/ & &9.9211e-08_rb,1.3628e-07_rb,1.7309e-07_rb,2.0040e-07_rb,2.4315e-07_rb/) kbo(:,58, 4) = (/ & &7.2311e-08_rb,1.0440e-07_rb,1.3249e-07_rb,1.5839e-07_rb,1.8707e-07_rb/) kbo(:,59, 4) = (/ & &5.6449e-08_rb,8.3969e-08_rb,1.0579e-07_rb,1.2870e-07_rb,1.4987e-07_rb/) kbo(:,13, 5) = (/ & &2.0768e-03_rb,2.8684e-03_rb,3.7718e-03_rb,4.8192e-03_rb,6.0412e-03_rb/) kbo(:,14, 5) = (/ & &1.7564e-03_rb,2.4332e-03_rb,3.1824e-03_rb,4.0625e-03_rb,5.0889e-03_rb/) kbo(:,15, 5) = (/ & &1.4908e-03_rb,2.0712e-03_rb,2.6934e-03_rb,3.4353e-03_rb,4.2909e-03_rb/) kbo(:,16, 5) = (/ & &1.2837e-03_rb,1.7624e-03_rb,2.2850e-03_rb,2.9120e-03_rb,3.6366e-03_rb/) kbo(:,17, 5) = (/ & &1.1007e-03_rb,1.4970e-03_rb,1.9372e-03_rb,2.4633e-03_rb,3.0868e-03_rb/) kbo(:,18, 5) = (/ & &9.3998e-04_rb,1.2697e-03_rb,1.6378e-03_rb,2.0802e-03_rb,2.6082e-03_rb/) kbo(:,19, 5) = (/ & &8.0100e-04_rb,1.0742e-03_rb,1.3849e-03_rb,1.7569e-03_rb,2.2030e-03_rb/) kbo(:,20, 5) = (/ & &6.8663e-04_rb,9.1195e-04_rb,1.1757e-03_rb,1.4883e-03_rb,1.8647e-03_rb/) kbo(:,21, 5) = (/ & &5.8705e-04_rb,7.7399e-04_rb,9.9752e-04_rb,1.2607e-03_rb,1.5771e-03_rb/) kbo(:,22, 5) = (/ & &5.1050e-04_rb,6.6826e-04_rb,8.5880e-04_rb,1.0835e-03_rb,1.3514e-03_rb/) kbo(:,23, 5) = (/ & &4.4216e-04_rb,5.7700e-04_rb,7.3906e-04_rb,9.3102e-04_rb,1.1572e-03_rb/) kbo(:,24, 5) = (/ & &3.8397e-04_rb,4.9926e-04_rb,6.3682e-04_rb,8.0099e-04_rb,9.9155e-04_rb/) kbo(:,25, 5) = (/ & &3.3452e-04_rb,4.3352e-04_rb,5.4972e-04_rb,6.8946e-04_rb,8.5204e-04_rb/) kbo(:,26, 5) = (/ & &2.9253e-04_rb,3.7705e-04_rb,4.7637e-04_rb,5.9546e-04_rb,7.3410e-04_rb/) kbo(:,27, 5) = (/ & &2.5516e-04_rb,3.2740e-04_rb,4.1271e-04_rb,5.1423e-04_rb,6.3183e-04_rb/) kbo(:,28, 5) = (/ & &2.2216e-04_rb,2.8389e-04_rb,3.5748e-04_rb,4.4367e-04_rb,5.4344e-04_rb/) kbo(:,29, 5) = (/ & &1.9425e-04_rb,2.4642e-04_rb,3.0966e-04_rb,3.8285e-04_rb,4.6743e-04_rb/) kbo(:,30, 5) = (/ & &1.6916e-04_rb,2.1405e-04_rb,2.6782e-04_rb,3.3008e-04_rb,4.0176e-04_rb/) kbo(:,31, 5) = (/ & &1.4722e-04_rb,1.8596e-04_rb,2.3162e-04_rb,2.8455e-04_rb,3.4535e-04_rb/) kbo(:,32, 5) = (/ & &1.2822e-04_rb,1.6146e-04_rb,2.0021e-04_rb,2.4528e-04_rb,2.9677e-04_rb/) kbo(:,33, 5) = (/ & &1.1158e-04_rb,1.4011e-04_rb,1.7313e-04_rb,2.1133e-04_rb,2.5496e-04_rb/) kbo(:,34, 5) = (/ & &9.6356e-05_rb,1.2055e-04_rb,1.4854e-04_rb,1.8079e-04_rb,2.1758e-04_rb/) kbo(:,35, 5) = (/ & &8.1343e-05_rb,1.0151e-04_rb,1.2490e-04_rb,1.5178e-04_rb,1.8239e-04_rb/) kbo(:,36, 5) = (/ & &6.6965e-05_rb,8.3520e-05_rb,1.0275e-04_rb,1.2482e-04_rb,1.4993e-04_rb/) kbo(:,37, 5) = (/ & &5.3206e-05_rb,6.6545e-05_rb,8.1990e-05_rb,9.9764e-05_rb,1.2001e-04_rb/) kbo(:,38, 5) = (/ & &4.2208e-05_rb,5.2902e-05_rb,6.5299e-05_rb,7.9577e-05_rb,9.5895e-05_rb/) kbo(:,39, 5) = (/ & &3.3472e-05_rb,4.2041e-05_rb,5.1984e-05_rb,6.3462e-05_rb,7.6593e-05_rb/) kbo(:,40, 5) = (/ & &2.5925e-05_rb,3.2660e-05_rb,4.0509e-05_rb,4.9627e-05_rb,6.0037e-05_rb/) kbo(:,41, 5) = (/ & &2.0003e-05_rb,2.5267e-05_rb,3.1469e-05_rb,3.8672e-05_rb,4.6923e-05_rb/) kbo(:,42, 5) = (/ & &1.5411e-05_rb,1.9519e-05_rb,2.4420e-05_rb,3.0101e-05_rb,3.6637e-05_rb/) kbo(:,43, 5) = (/ & &1.1687e-05_rb,1.4867e-05_rb,1.8698e-05_rb,2.3140e-05_rb,2.8269e-05_rb/) kbo(:,44, 5) = (/ & &8.7679e-06_rb,1.1261e-05_rb,1.4209e-05_rb,1.7673e-05_rb,2.1693e-05_rb/) kbo(:,45, 5) = (/ & &6.5931e-06_rb,8.5087e-06_rb,1.0776e-05_rb,1.3478e-05_rb,1.6614e-05_rb/) kbo(:,46, 5) = (/ & &4.9080e-06_rb,6.3755e-06_rb,8.1160e-06_rb,1.0213e-05_rb,1.2647e-05_rb/) kbo(:,47, 5) = (/ & &3.5919e-06_rb,4.7038e-06_rb,6.0534e-06_rb,7.6485e-06_rb,9.5281e-06_rb/) kbo(:,48, 5) = (/ & &2.6062e-06_rb,3.4739e-06_rb,4.4987e-06_rb,5.7085e-06_rb,7.1618e-06_rb/) kbo(:,49, 5) = (/ & &1.8621e-06_rb,2.5496e-06_rb,3.3246e-06_rb,4.2578e-06_rb,5.3684e-06_rb/) kbo(:,50, 5) = (/ & &1.3311e-06_rb,1.8748e-06_rb,2.4717e-06_rb,3.1893e-06_rb,4.0386e-06_rb/) kbo(:,51, 5) = (/ & &9.8374e-07_rb,1.3665e-06_rb,1.8393e-06_rb,2.3887e-06_rb,3.0388e-06_rb/) kbo(:,52, 5) = (/ & &7.2293e-07_rb,9.8525e-07_rb,1.3616e-06_rb,1.7795e-06_rb,2.2858e-06_rb/) kbo(:,53, 5) = (/ & &5.3539e-07_rb,7.1322e-07_rb,1.0025e-06_rb,1.3275e-06_rb,1.7157e-06_rb/) kbo(:,54, 5) = (/ & &3.9532e-07_rb,5.3074e-07_rb,7.3585e-07_rb,9.9485e-07_rb,1.2941e-06_rb/) kbo(:,55, 5) = (/ & &2.9574e-07_rb,3.9534e-07_rb,5.3898e-07_rb,7.4534e-07_rb,9.7510e-07_rb/) kbo(:,56, 5) = (/ & &2.2158e-07_rb,2.9575e-07_rb,3.9553e-07_rb,5.5662e-07_rb,7.3612e-07_rb/) kbo(:,57, 5) = (/ & &1.7387e-07_rb,2.1999e-07_rb,2.9597e-07_rb,4.1152e-07_rb,5.5434e-07_rb/) kbo(:,58, 5) = (/ & &1.3813e-07_rb,1.6569e-07_rb,2.2197e-07_rb,3.0386e-07_rb,4.1774e-07_rb/) kbo(:,59, 5) = (/ & &1.1153e-07_rb,1.3014e-07_rb,1.7513e-07_rb,2.3832e-07_rb,3.3096e-07_rb/) kbo(:,13, 6) = (/ & &6.2563e-03_rb,8.5754e-03_rb,1.1313e-02_rb,1.4562e-02_rb,1.8439e-02_rb/) kbo(:,14, 6) = (/ & &5.3407e-03_rb,7.2874e-03_rb,9.6031e-03_rb,1.2344e-02_rb,1.5616e-02_rb/) kbo(:,15, 6) = (/ & &4.5624e-03_rb,6.2026e-03_rb,8.1616e-03_rb,1.0480e-02_rb,1.3236e-02_rb/) kbo(:,16, 6) = (/ & &3.8957e-03_rb,5.2793e-03_rb,6.9259e-03_rb,8.8846e-03_rb,1.1202e-02_rb/) kbo(:,17, 6) = (/ & &3.3209e-03_rb,4.4815e-03_rb,5.8698e-03_rb,7.5204e-03_rb,9.4486e-03_rb/) kbo(:,18, 6) = (/ & &2.8290e-03_rb,3.8089e-03_rb,4.9773e-03_rb,6.3684e-03_rb,7.9890e-03_rb/) kbo(:,19, 6) = (/ & &2.4112e-03_rb,3.2462e-03_rb,4.2316e-03_rb,5.4060e-03_rb,6.7720e-03_rb/) kbo(:,20, 6) = (/ & &2.0691e-03_rb,2.7791e-03_rb,3.6122e-03_rb,4.6028e-03_rb,5.7715e-03_rb/) kbo(:,21, 6) = (/ & &1.7739e-03_rb,2.3724e-03_rb,3.0729e-03_rb,3.9123e-03_rb,4.9081e-03_rb/) kbo(:,22, 6) = (/ & &1.5468e-03_rb,2.0535e-03_rb,2.6512e-03_rb,3.3770e-03_rb,4.2260e-03_rb/) kbo(:,23, 6) = (/ & &1.3475e-03_rb,1.7768e-03_rb,2.2959e-03_rb,2.9141e-03_rb,3.6373e-03_rb/) kbo(:,24, 6) = (/ & &1.1752e-03_rb,1.5439e-03_rb,1.9895e-03_rb,2.5170e-03_rb,3.1328e-03_rb/) kbo(:,25, 6) = (/ & &1.0263e-03_rb,1.3444e-03_rb,1.7264e-03_rb,2.1761e-03_rb,2.6990e-03_rb/) kbo(:,26, 6) = (/ & &9.0166e-04_rb,1.1758e-03_rb,1.5031e-03_rb,1.8871e-03_rb,2.3306e-03_rb/) kbo(:,27, 6) = (/ & &7.9141e-04_rb,1.0269e-03_rb,1.3074e-03_rb,1.6348e-03_rb,2.0092e-03_rb/) kbo(:,28, 6) = (/ & &6.9371e-04_rb,8.9592e-04_rb,1.1355e-03_rb,1.4137e-03_rb,1.7327e-03_rb/) kbo(:,29, 6) = (/ & &6.0795e-04_rb,7.8166e-04_rb,9.8572e-04_rb,1.2233e-03_rb,1.4938e-03_rb/) kbo(:,30, 6) = (/ & &5.3230e-04_rb,6.8106e-04_rb,8.5522e-04_rb,1.0576e-03_rb,1.2859e-03_rb/) kbo(:,31, 6) = (/ & &4.6592e-04_rb,5.9303e-04_rb,7.4221e-04_rb,9.1346e-04_rb,1.1061e-03_rb/) kbo(:,32, 6) = (/ & &4.0751e-04_rb,5.1643e-04_rb,6.4366e-04_rb,7.8848e-04_rb,9.5095e-04_rb/) kbo(:,33, 6) = (/ & &3.5610e-04_rb,4.4934e-04_rb,5.5753e-04_rb,6.8015e-04_rb,8.1668e-04_rb/) kbo(:,34, 6) = (/ & &3.0849e-04_rb,3.8773e-04_rb,4.7909e-04_rb,5.8242e-04_rb,6.9697e-04_rb/) kbo(:,35, 6) = (/ & &2.6100e-04_rb,3.2729e-04_rb,4.0344e-04_rb,4.8961e-04_rb,5.8449e-04_rb/) kbo(:,36, 6) = (/ & &2.1525e-04_rb,2.6972e-04_rb,3.3236e-04_rb,4.0320e-04_rb,4.8106e-04_rb/) kbo(:,37, 6) = (/ & &1.7127e-04_rb,2.1505e-04_rb,2.6562e-04_rb,3.2288e-04_rb,3.8605e-04_rb/) kbo(:,38, 6) = (/ & &1.3592e-04_rb,1.7107e-04_rb,2.1184e-04_rb,2.5803e-04_rb,3.0917e-04_rb/) kbo(:,39, 6) = (/ & &1.0785e-04_rb,1.3607e-04_rb,1.6885e-04_rb,2.0614e-04_rb,2.4755e-04_rb/) kbo(:,40, 6) = (/ & &8.3445e-05_rb,1.0573e-04_rb,1.3174e-04_rb,1.6145e-04_rb,1.9465e-04_rb/) kbo(:,41, 6) = (/ & &6.4274e-05_rb,8.1836e-05_rb,1.0238e-04_rb,1.2600e-04_rb,1.5256e-04_rb/) kbo(:,42, 6) = (/ & &4.9425e-05_rb,6.3242e-05_rb,7.9461e-05_rb,9.8197e-05_rb,1.1940e-04_rb/) kbo(:,43, 6) = (/ & &3.7393e-05_rb,4.8142e-05_rb,6.0818e-05_rb,7.5575e-05_rb,9.2337e-05_rb/) kbo(:,44, 6) = (/ & &2.8031e-05_rb,3.6364e-05_rb,4.6223e-05_rb,5.7754e-05_rb,7.0960e-05_rb/) kbo(:,45, 6) = (/ & &2.0952e-05_rb,2.7396e-05_rb,3.5050e-05_rb,4.4048e-05_rb,5.4413e-05_rb/) kbo(:,46, 6) = (/ & &1.5504e-05_rb,2.0469e-05_rb,2.6380e-05_rb,3.3353e-05_rb,4.1465e-05_rb/) kbo(:,47, 6) = (/ & &1.1285e-05_rb,1.5071e-05_rb,1.9596e-05_rb,2.4961e-05_rb,3.1243e-05_rb/) kbo(:,48, 6) = (/ & &8.1713e-06_rb,1.1048e-05_rb,1.4507e-05_rb,1.8626e-05_rb,2.3478e-05_rb/) kbo(:,49, 6) = (/ & &5.8892e-06_rb,8.0594e-06_rb,1.0700e-05_rb,1.3854e-05_rb,1.7591e-05_rb/) kbo(:,50, 6) = (/ & &4.2527e-06_rb,5.8989e-06_rb,7.9160e-06_rb,1.0341e-05_rb,1.3223e-05_rb/) kbo(:,51, 6) = (/ & &3.0672e-06_rb,4.3146e-06_rb,5.8537e-06_rb,7.7179e-06_rb,9.9420e-06_rb/) kbo(:,52, 6) = (/ & &2.1919e-06_rb,3.1415e-06_rb,4.3130e-06_rb,5.7435e-06_rb,7.4576e-06_rb/) kbo(:,53, 6) = (/ & &1.5489e-06_rb,2.2740e-06_rb,3.1638e-06_rb,4.2575e-06_rb,5.5767e-06_rb/) kbo(:,54, 6) = (/ & &1.1055e-06_rb,1.6569e-06_rb,2.3353e-06_rb,3.1738e-06_rb,4.1929e-06_rb/) kbo(:,55, 6) = (/ & &7.7959e-07_rb,1.2025e-06_rb,1.7241e-06_rb,2.3677e-06_rb,3.1567e-06_rb/) kbo(:,56, 6) = (/ & &5.5393e-07_rb,8.6666e-07_rb,1.2673e-06_rb,1.7619e-06_rb,2.3695e-06_rb/) kbo(:,57, 6) = (/ & &3.8362e-07_rb,6.2174e-07_rb,9.3002e-07_rb,1.3068e-06_rb,1.7740e-06_rb/) kbo(:,58, 6) = (/ & &2.6381e-07_rb,4.4330e-07_rb,6.7991e-07_rb,9.7066e-07_rb,1.3310e-06_rb/) kbo(:,59, 6) = (/ & &2.0120e-07_rb,3.4415e-07_rb,5.3237e-07_rb,7.6501e-07_rb,1.0533e-06_rb/) kbo(:,13, 7) = (/ & &1.9678e-02_rb,2.7339e-02_rb,3.6693e-02_rb,4.7583e-02_rb,5.9838e-02_rb/) kbo(:,14, 7) = (/ & &1.6855e-02_rb,2.3332e-02_rb,3.1200e-02_rb,4.0354e-02_rb,5.0549e-02_rb/) kbo(:,15, 7) = (/ & &1.4447e-02_rb,1.9926e-02_rb,2.6539e-02_rb,3.4203e-02_rb,4.2741e-02_rb/) kbo(:,16, 7) = (/ & &1.2375e-02_rb,1.7007e-02_rb,2.2570e-02_rb,2.9011e-02_rb,3.6155e-02_rb/) kbo(:,17, 7) = (/ & &1.0572e-02_rb,1.4480e-02_rb,1.9148e-02_rb,2.4557e-02_rb,3.0543e-02_rb/) kbo(:,18, 7) = (/ & &9.0187e-03_rb,1.2308e-02_rb,1.6230e-02_rb,2.0762e-02_rb,2.5754e-02_rb/) kbo(:,19, 7) = (/ & &7.6960e-03_rb,1.0462e-02_rb,1.3757e-02_rb,1.7553e-02_rb,2.1712e-02_rb/) kbo(:,20, 7) = (/ & &6.5947e-03_rb,8.9295e-03_rb,1.1707e-02_rb,1.4880e-02_rb,1.8332e-02_rb/) kbo(:,21, 7) = (/ & &5.6518e-03_rb,7.6362e-03_rb,9.9897e-03_rb,1.2646e-02_rb,1.5515e-02_rb/) kbo(:,22, 7) = (/ & &4.9551e-03_rb,6.6562e-03_rb,8.6611e-03_rb,1.0883e-02_rb,1.3285e-02_rb/) kbo(:,23, 7) = (/ & &4.3463e-03_rb,5.8019e-03_rb,7.4874e-03_rb,9.3424e-03_rb,1.1393e-02_rb/) kbo(:,24, 7) = (/ & &3.8088e-03_rb,5.0439e-03_rb,6.4617e-03_rb,8.0406e-03_rb,9.7631e-03_rb/) kbo(:,25, 7) = (/ & &3.3364e-03_rb,4.3855e-03_rb,5.5891e-03_rb,6.9199e-03_rb,8.3730e-03_rb/) kbo(:,26, 7) = (/ & &2.9302e-03_rb,3.8269e-03_rb,4.8484e-03_rb,5.9724e-03_rb,7.1930e-03_rb/) kbo(:,27, 7) = (/ & &2.5694e-03_rb,3.3414e-03_rb,4.2035e-03_rb,5.1445e-03_rb,6.1710e-03_rb/) kbo(:,28, 7) = (/ & &2.2557e-03_rb,2.9117e-03_rb,3.6362e-03_rb,4.4284e-03_rb,5.2859e-03_rb/) kbo(:,29, 7) = (/ & &1.9791e-03_rb,2.5337e-03_rb,3.1431e-03_rb,3.8083e-03_rb,4.5227e-03_rb/) kbo(:,30, 7) = (/ & &1.7348e-03_rb,2.2004e-03_rb,2.7128e-03_rb,3.2695e-03_rb,3.8671e-03_rb/) kbo(:,31, 7) = (/ & &1.5168e-03_rb,1.9090e-03_rb,2.3389e-03_rb,2.8042e-03_rb,3.3063e-03_rb/) kbo(:,32, 7) = (/ & &1.3245e-03_rb,1.6546e-03_rb,2.0148e-03_rb,2.4067e-03_rb,2.8256e-03_rb/) kbo(:,33, 7) = (/ & &1.1547e-03_rb,1.4322e-03_rb,1.7355e-03_rb,2.0639e-03_rb,2.4127e-03_rb/) kbo(:,34, 7) = (/ & &9.9732e-04_rb,1.2299e-03_rb,1.4851e-03_rb,1.7585e-03_rb,2.0486e-03_rb/) kbo(:,35, 7) = (/ & &8.4240e-04_rb,1.0365e-03_rb,1.2482e-03_rb,1.4745e-03_rb,1.7149e-03_rb/) kbo(:,36, 7) = (/ & &6.9459e-04_rb,8.5479e-04_rb,1.0290e-03_rb,1.2151e-03_rb,1.4131e-03_rb/) kbo(:,37, 7) = (/ & &5.5418e-04_rb,6.8431e-04_rb,8.2605e-04_rb,9.7772e-04_rb,1.1393e-03_rb/) kbo(:,38, 7) = (/ & &4.4103e-04_rb,5.4666e-04_rb,6.6164e-04_rb,7.8531e-04_rb,9.1717e-04_rb/) kbo(:,39, 7) = (/ & &3.5078e-04_rb,4.3647e-04_rb,5.2986e-04_rb,6.3056e-04_rb,7.3809e-04_rb/) kbo(:,40, 7) = (/ & &2.7223e-04_rb,3.4099e-04_rb,4.1623e-04_rb,4.9763e-04_rb,5.8479e-04_rb/) kbo(:,41, 7) = (/ & &2.1016e-04_rb,2.6529e-04_rb,3.2578e-04_rb,3.9146e-04_rb,4.6190e-04_rb/) kbo(:,42, 7) = (/ & &1.6186e-04_rb,2.0599e-04_rb,2.5454e-04_rb,3.0749e-04_rb,3.6441e-04_rb/) kbo(:,43, 7) = (/ & &1.2244e-04_rb,1.5755e-04_rb,1.9631e-04_rb,2.3871e-04_rb,2.8458e-04_rb/) kbo(:,44, 7) = (/ & &9.1656e-05_rb,1.1940e-04_rb,1.5021e-04_rb,1.8408e-04_rb,2.2084e-04_rb/) kbo(:,45, 7) = (/ & &6.8343e-05_rb,9.0130e-05_rb,1.1460e-04_rb,1.4155e-04_rb,1.7102e-04_rb/) kbo(:,46, 7) = (/ & &5.0438e-05_rb,6.7336e-05_rb,8.6692e-05_rb,1.0813e-04_rb,1.3160e-04_rb/) kbo(:,47, 7) = (/ & &3.6553e-05_rb,4.9462e-05_rb,6.4648e-05_rb,8.1563e-05_rb,1.0018e-04_rb/) kbo(:,48, 7) = (/ & &2.6343e-05_rb,3.6142e-05_rb,4.7933e-05_rb,6.1264e-05_rb,7.5986e-05_rb/) kbo(:,49, 7) = (/ & &1.8866e-05_rb,2.6263e-05_rb,3.5311e-05_rb,4.5778e-05_rb,5.7425e-05_rb/) kbo(:,50, 7) = (/ & &1.3557e-05_rb,1.9139e-05_rb,2.6064e-05_rb,3.4268e-05_rb,4.3473e-05_rb/) kbo(:,51, 7) = (/ & &9.7297e-06_rb,1.3926e-05_rb,1.9216e-05_rb,2.5597e-05_rb,3.2867e-05_rb/) kbo(:,52, 7) = (/ & &6.9563e-06_rb,1.0085e-05_rb,1.4103e-05_rb,1.9022e-05_rb,2.4754e-05_rb/) kbo(:,53, 7) = (/ & &4.9502e-06_rb,7.2644e-06_rb,1.0302e-05_rb,1.4070e-05_rb,1.8558e-05_rb/) kbo(:,54, 7) = (/ & &3.5499e-06_rb,5.2696e-06_rb,7.5685e-06_rb,1.0462e-05_rb,1.3965e-05_rb/) kbo(:,55, 7) = (/ & &2.5517e-06_rb,3.8332e-06_rb,5.5671e-06_rb,7.7870e-06_rb,1.0502e-05_rb/) kbo(:,56, 7) = (/ & &1.8250e-06_rb,2.7802e-06_rb,4.0807e-06_rb,5.7760e-06_rb,7.8765e-06_rb/) kbo(:,57, 7) = (/ & &1.3020e-06_rb,2.0096e-06_rb,2.9783e-06_rb,4.2688e-06_rb,5.8872e-06_rb/) kbo(:,58, 7) = (/ & &9.3216e-07_rb,1.4580e-06_rb,2.1842e-06_rb,3.1634e-06_rb,4.4097e-06_rb/) kbo(:,59, 7) = (/ & &7.2634e-07_rb,1.1405e-06_rb,1.7167e-06_rb,2.4950e-06_rb,3.4919e-06_rb/) kbo(:,13, 8) = (/ & &6.7703e-02_rb,9.1028e-02_rb,1.1838e-01_rb,1.4990e-01_rb,1.8559e-01_rb/) kbo(:,14, 8) = (/ & &5.8222e-02_rb,7.8007e-02_rb,1.0118e-01_rb,1.2784e-01_rb,1.5811e-01_rb/) kbo(:,15, 8) = (/ & &5.0069e-02_rb,6.6838e-02_rb,8.6469e-02_rb,1.0901e-01_rb,1.3468e-01_rb/) kbo(:,16, 8) = (/ & &4.3038e-02_rb,5.7247e-02_rb,7.3838e-02_rb,9.2876e-02_rb,1.1462e-01_rb/) kbo(:,17, 8) = (/ & &3.6905e-02_rb,4.8922e-02_rb,6.2921e-02_rb,7.8980e-02_rb,9.7249e-02_rb/) kbo(:,18, 8) = (/ & &3.1539e-02_rb,4.1670e-02_rb,5.3450e-02_rb,6.6951e-02_rb,8.2335e-02_rb/) kbo(:,19, 8) = (/ & &2.6840e-02_rb,3.5366e-02_rb,4.5264e-02_rb,5.6569e-02_rb,6.9496e-02_rb/) kbo(:,20, 8) = (/ & &2.2918e-02_rb,3.0090e-02_rb,3.8404e-02_rb,4.7928e-02_rb,5.8831e-02_rb/) kbo(:,21, 8) = (/ & &1.9556e-02_rb,2.5586e-02_rb,3.2570e-02_rb,4.0587e-02_rb,4.9753e-02_rb/) kbo(:,22, 8) = (/ & &1.6988e-02_rb,2.2111e-02_rb,2.8028e-02_rb,3.4852e-02_rb,4.2609e-02_rb/) kbo(:,23, 8) = (/ & &1.4811e-02_rb,1.9201e-02_rb,2.4269e-02_rb,3.0112e-02_rb,3.6663e-02_rb/) kbo(:,24, 8) = (/ & &1.2965e-02_rb,1.6745e-02_rb,2.1118e-02_rb,2.6093e-02_rb,3.1689e-02_rb/) kbo(:,25, 8) = (/ & &1.1393e-02_rb,1.4643e-02_rb,1.8383e-02_rb,2.2644e-02_rb,2.7400e-02_rb/) kbo(:,26, 8) = (/ & &1.0038e-02_rb,1.2830e-02_rb,1.6015e-02_rb,1.9632e-02_rb,2.3704e-02_rb/) kbo(:,27, 8) = (/ & &8.8123e-03_rb,1.1178e-02_rb,1.3890e-02_rb,1.6992e-02_rb,2.0492e-02_rb/) kbo(:,28, 8) = (/ & &7.6974e-03_rb,9.7127e-03_rb,1.2040e-02_rb,1.4716e-02_rb,1.7696e-02_rb/) kbo(:,29, 8) = (/ & &6.7206e-03_rb,8.4382e-03_rb,1.0458e-02_rb,1.2740e-02_rb,1.5282e-02_rb/) kbo(:,30, 8) = (/ & &5.8552e-03_rb,7.3524e-03_rb,9.0759e-03_rb,1.1022e-02_rb,1.3175e-02_rb/) kbo(:,31, 8) = (/ & &5.1145e-03_rb,6.3996e-03_rb,7.8758e-03_rb,9.5283e-03_rb,1.1351e-02_rb/) kbo(:,32, 8) = (/ & &4.4686e-03_rb,5.5753e-03_rb,6.8326e-03_rb,8.2331e-03_rb,9.7798e-03_rb/) kbo(:,33, 8) = (/ & &3.9075e-03_rb,4.8544e-03_rb,5.9240e-03_rb,7.1154e-03_rb,8.4216e-03_rb/) kbo(:,34, 8) = (/ & &3.3885e-03_rb,4.1943e-03_rb,5.1017e-03_rb,6.1096e-03_rb,7.2102e-03_rb/) kbo(:,35, 8) = (/ & &2.8755e-03_rb,3.5515e-03_rb,4.3142e-03_rb,5.1540e-03_rb,6.0867e-03_rb/) kbo(:,36, 8) = (/ & &2.3819e-03_rb,2.9429e-03_rb,3.5744e-03_rb,4.2743e-03_rb,5.0503e-03_rb/) kbo(:,37, 8) = (/ & &1.9080e-03_rb,2.3651e-03_rb,2.8794e-03_rb,3.4539e-03_rb,4.0906e-03_rb/) kbo(:,38, 8) = (/ & &1.5252e-03_rb,1.8961e-03_rb,2.3154e-03_rb,2.7875e-03_rb,3.3076e-03_rb/) kbo(:,39, 8) = (/ & &1.2186e-03_rb,1.5204e-03_rb,1.8625e-03_rb,2.2483e-03_rb,2.6746e-03_rb/) kbo(:,40, 8) = (/ & &9.5047e-04_rb,1.1919e-03_rb,1.4679e-03_rb,1.7800e-03_rb,2.1255e-03_rb/) kbo(:,41, 8) = (/ & &7.3797e-04_rb,9.3055e-04_rb,1.1523e-03_rb,1.4042e-03_rb,1.6837e-03_rb/) kbo(:,42, 8) = (/ & &5.7195e-04_rb,7.2531e-04_rb,9.0341e-04_rb,1.1062e-03_rb,1.3320e-03_rb/) kbo(:,43, 8) = (/ & &4.3632e-04_rb,5.5716e-04_rb,6.9866e-04_rb,8.6074e-04_rb,1.0421e-03_rb/) kbo(:,44, 8) = (/ & &3.2967e-04_rb,4.2439e-04_rb,5.3607e-04_rb,6.6494e-04_rb,8.0995e-04_rb/) kbo(:,45, 8) = (/ & &2.4830e-04_rb,3.2230e-04_rb,4.1025e-04_rb,5.1229e-04_rb,6.2794e-04_rb/) kbo(:,46, 8) = (/ & &1.8517e-04_rb,2.4270e-04_rb,3.1143e-04_rb,3.9189e-04_rb,4.8363e-04_rb/) kbo(:,47, 8) = (/ & &1.3585e-04_rb,1.8008e-04_rb,2.3317e-04_rb,2.9603e-04_rb,3.6826e-04_rb/) kbo(:,48, 8) = (/ & &9.9135e-05_rb,1.3301e-04_rb,1.7388e-04_rb,2.2278e-04_rb,2.7947e-04_rb/) kbo(:,49, 8) = (/ & &7.1904e-05_rb,9.7733e-05_rb,1.2918e-04_rb,1.6699e-04_rb,2.1129e-04_rb/) kbo(:,50, 8) = (/ & &5.2307e-05_rb,7.2019e-05_rb,9.6216e-05_rb,1.2554e-04_rb,1.6020e-04_rb/) kbo(:,51, 8) = (/ & &3.7969e-05_rb,5.2997e-05_rb,7.1620e-05_rb,9.4315e-05_rb,1.2143e-04_rb/) kbo(:,52, 8) = (/ & &2.7413e-05_rb,3.8825e-05_rb,5.3093e-05_rb,7.0665e-05_rb,9.1720e-05_rb/) kbo(:,53, 8) = (/ & &1.9654e-05_rb,2.8289e-05_rb,3.9179e-05_rb,5.2708e-05_rb,6.9024e-05_rb/) kbo(:,54, 8) = (/ & &1.4176e-05_rb,2.0734e-05_rb,2.9077e-05_rb,3.9534e-05_rb,5.2234e-05_rb/) kbo(:,55, 8) = (/ & &1.0223e-05_rb,1.5194e-05_rb,2.1592e-05_rb,2.9664e-05_rb,3.9585e-05_rb/) kbo(:,56, 8) = (/ & &7.3305e-06_rb,1.1089e-05_rb,1.5976e-05_rb,2.2196e-05_rb,2.9906e-05_rb/) kbo(:,57, 8) = (/ & &5.2231e-06_rb,8.0475e-06_rb,1.1769e-05_rb,1.6548e-05_rb,2.2524e-05_rb/) kbo(:,58, 8) = (/ & &3.7230e-06_rb,5.8489e-06_rb,8.6848e-06_rb,1.2363e-05_rb,1.6999e-05_rb/) kbo(:,59, 8) = (/ & &2.8893e-06_rb,4.5778e-06_rb,6.8447e-06_rb,9.7955e-06_rb,1.3534e-05_rb/) kbo(:,13, 9) = (/ & &4.1576e-01_rb,5.6459e-01_rb,7.4208e-01_rb,9.4959e-01_rb,1.1894e+00_rb/) kbo(:,14, 9) = (/ & &3.6259e-01_rb,4.8996e-01_rb,6.4236e-01_rb,8.2178e-01_rb,1.0273e+00_rb/) kbo(:,15, 9) = (/ & &3.1572e-01_rb,4.2505e-01_rb,5.5650e-01_rb,7.1044e-01_rb,8.8534e-01_rb/) kbo(:,16, 9) = (/ & &2.7461e-01_rb,3.6869e-01_rb,4.8148e-01_rb,6.1276e-01_rb,7.6136e-01_rb/) kbo(:,17, 9) = (/ & &2.3842e-01_rb,3.1920e-01_rb,4.1566e-01_rb,5.2724e-01_rb,6.5339e-01_rb/) kbo(:,18, 9) = (/ & &2.0643e-01_rb,2.7580e-01_rb,3.5808e-01_rb,4.5284e-01_rb,5.5957e-01_rb/) kbo(:,19, 9) = (/ & &1.7844e-01_rb,2.3768e-01_rb,3.0746e-01_rb,3.8778e-01_rb,4.7826e-01_rb/) kbo(:,20, 9) = (/ & &1.5457e-01_rb,2.0515e-01_rb,2.6455e-01_rb,3.3275e-01_rb,4.0945e-01_rb/) kbo(:,21, 9) = (/ & &1.3372e-01_rb,1.7673e-01_rb,2.2718e-01_rb,2.8500e-01_rb,3.5014e-01_rb/) kbo(:,22, 9) = (/ & &1.1755e-01_rb,1.5455e-01_rb,1.9772e-01_rb,2.4719e-01_rb,3.0287e-01_rb/) kbo(:,23, 9) = (/ & &1.0319e-01_rb,1.3488e-01_rb,1.7188e-01_rb,2.1417e-01_rb,2.6161e-01_rb/) kbo(:,24, 9) = (/ & &9.0543e-02_rb,1.1778e-01_rb,1.4943e-01_rb,1.8553e-01_rb,2.2596e-01_rb/) kbo(:,25, 9) = (/ & &7.9491e-02_rb,1.0285e-01_rb,1.2998e-01_rb,1.6082e-01_rb,1.9540e-01_rb/) kbo(:,26, 9) = (/ & &7.0023e-02_rb,9.0152e-02_rb,1.1342e-01_rb,1.3988e-01_rb,1.6957e-01_rb/) kbo(:,27, 9) = (/ & &6.1675e-02_rb,7.9028e-02_rb,9.9049e-02_rb,1.2176e-01_rb,1.4715e-01_rb/) kbo(:,28, 9) = (/ & &5.4332e-02_rb,6.9290e-02_rb,8.6538e-02_rb,1.0602e-01_rb,1.2768e-01_rb/) kbo(:,29, 9) = (/ & &4.8016e-02_rb,6.0968e-02_rb,7.5734e-02_rb,9.2386e-02_rb,1.1090e-01_rb/) kbo(:,30, 9) = (/ & &4.2494e-02_rb,5.3680e-02_rb,6.6413e-02_rb,8.0729e-02_rb,9.6539e-02_rb/) kbo(:,31, 9) = (/ & &3.7548e-02_rb,4.7237e-02_rb,5.8255e-02_rb,7.0556e-02_rb,8.4102e-02_rb/) kbo(:,32, 9) = (/ & &3.3189e-02_rb,4.1551e-02_rb,5.1044e-02_rb,6.1646e-02_rb,7.3306e-02_rb/) kbo(:,33, 9) = (/ & &2.9274e-02_rb,3.6514e-02_rb,4.4704e-02_rb,5.3824e-02_rb,6.3833e-02_rb/) kbo(:,34, 9) = (/ & &2.5627e-02_rb,3.1864e-02_rb,3.8903e-02_rb,4.6747e-02_rb,5.5596e-02_rb/) kbo(:,35, 9) = (/ & &2.1952e-02_rb,2.7259e-02_rb,3.3247e-02_rb,4.0073e-02_rb,4.7679e-02_rb/) kbo(:,36, 9) = (/ & &1.8347e-02_rb,2.2808e-02_rb,2.7904e-02_rb,3.3738e-02_rb,4.0178e-02_rb/) kbo(:,37, 9) = (/ & &1.4833e-02_rb,1.8504e-02_rb,2.2807e-02_rb,2.7664e-02_rb,3.3111e-02_rb/) kbo(:,38, 9) = (/ & &1.1957e-02_rb,1.5000e-02_rb,1.8592e-02_rb,2.2638e-02_rb,2.7241e-02_rb/) kbo(:,39, 9) = (/ & &9.6263e-03_rb,1.2169e-02_rb,1.5133e-02_rb,1.8540e-02_rb,2.2409e-02_rb/) kbo(:,40, 9) = (/ & &7.5755e-03_rb,9.6595e-03_rb,1.2095e-02_rb,1.4919e-02_rb,1.8126e-02_rb/) kbo(:,41, 9) = (/ & &5.9308e-03_rb,7.6313e-03_rb,9.6291e-03_rb,1.1965e-02_rb,1.4606e-02_rb/) kbo(:,42, 9) = (/ & &4.6365e-03_rb,6.0158e-03_rb,7.6539e-03_rb,9.5769e-03_rb,1.1776e-02_rb/) kbo(:,43, 9) = (/ & &3.5646e-03_rb,4.6692e-03_rb,5.9951e-03_rb,7.5584e-03_rb,9.3611e-03_rb/) kbo(:,44, 9) = (/ & &2.7083e-03_rb,3.5831e-03_rb,4.6545e-03_rb,5.9178e-03_rb,7.3883e-03_rb/) kbo(:,45, 9) = (/ & &2.0498e-03_rb,2.7405e-03_rb,3.5962e-03_rb,4.6175e-03_rb,5.8123e-03_rb/) kbo(:,46, 9) = (/ & &1.5335e-03_rb,2.0746e-03_rb,2.7520e-03_rb,3.5687e-03_rb,4.5390e-03_rb/) kbo(:,47, 9) = (/ & &1.1263e-03_rb,1.5445e-03_rb,2.0740e-03_rb,2.7200e-03_rb,3.4958e-03_rb/) kbo(:,48, 9) = (/ & &8.2184e-04_rb,1.1429e-03_rb,1.5538e-03_rb,2.0625e-03_rb,2.6781e-03_rb/) kbo(:,49, 9) = (/ & &5.9594e-04_rb,8.3975e-04_rb,1.1570e-03_rb,1.5542e-03_rb,2.0406e-03_rb/) kbo(:,50, 9) = (/ & &4.3385e-04_rb,6.1951e-04_rb,8.6528e-04_rb,1.1761e-03_rb,1.5615e-03_rb/) kbo(:,51, 9) = (/ & &3.1545e-04_rb,4.5652e-04_rb,6.4640e-04_rb,8.8983e-04_rb,1.1948e-03_rb/) kbo(:,52, 9) = (/ & &2.2788e-04_rb,3.3444e-04_rb,4.7984e-04_rb,6.6976e-04_rb,9.1050e-04_rb/) kbo(:,53, 9) = (/ & &1.6338e-04_rb,2.4338e-04_rb,3.5401e-04_rb,5.0057e-04_rb,6.8907e-04_rb/) kbo(:,54, 9) = (/ & &1.1823e-04_rb,1.7879e-04_rb,2.6356e-04_rb,3.7767e-04_rb,5.2615e-04_rb/) kbo(:,55, 9) = (/ & &8.5773e-05_rb,1.3160e-04_rb,1.9666e-04_rb,2.8549e-04_rb,4.0286e-04_rb/) kbo(:,56, 9) = (/ & &6.1815e-05_rb,9.6294e-05_rb,1.4602e-04_rb,2.1495e-04_rb,3.0724e-04_rb/) kbo(:,57, 9) = (/ & &4.4282e-05_rb,7.0071e-05_rb,1.0785e-04_rb,1.6097e-04_rb,2.3304e-04_rb/) kbo(:,58, 9) = (/ & &3.1779e-05_rb,5.1099e-05_rb,7.9795e-05_rb,1.2084e-04_rb,1.7730e-04_rb/) kbo(:,59, 9) = (/ & &2.4962e-05_rb,4.0511e-05_rb,6.3843e-05_rb,9.7519e-05_rb,1.4426e-04_rb/) kbo(:,13,10) = (/ & &1.8139e+00_rb,2.4724e+00_rb,3.2908e+00_rb,4.2191e+00_rb,5.2351e+00_rb/) kbo(:,14,10) = (/ & &1.6219e+00_rb,2.2181e+00_rb,2.9298e+00_rb,3.7301e+00_rb,4.6329e+00_rb/) kbo(:,15,10) = (/ & &1.4445e+00_rb,1.9645e+00_rb,2.5717e+00_rb,3.2739e+00_rb,4.0834e+00_rb/) kbo(:,16,10) = (/ & &1.2756e+00_rb,1.7196e+00_rb,2.2454e+00_rb,2.8649e+00_rb,3.5710e+00_rb/) kbo(:,17,10) = (/ & &1.1121e+00_rb,1.4934e+00_rb,1.9517e+00_rb,2.4879e+00_rb,3.0883e+00_rb/) kbo(:,18,10) = (/ & &9.6871e-01_rb,1.2953e+00_rb,1.6900e+00_rb,2.1475e+00_rb,2.6630e+00_rb/) kbo(:,19,10) = (/ & &8.4238e-01_rb,1.1243e+00_rb,1.4633e+00_rb,1.8537e+00_rb,2.2906e+00_rb/) kbo(:,20,10) = (/ & &7.3459e-01_rb,9.7958e-01_rb,1.2711e+00_rb,1.6026e+00_rb,1.9721e+00_rb/) kbo(:,21,10) = (/ & &6.4101e-01_rb,8.5278e-01_rb,1.0998e+00_rb,1.3825e+00_rb,1.6970e+00_rb/) kbo(:,22,10) = (/ & &5.6942e-01_rb,7.5220e-01_rb,9.6596e-01_rb,1.2079e+00_rb,1.4762e+00_rb/) kbo(:,23,10) = (/ & &5.0503e-01_rb,6.6296e-01_rb,8.4599e-01_rb,1.0531e+00_rb,1.2851e+00_rb/) kbo(:,24,10) = (/ & &4.4682e-01_rb,5.8292e-01_rb,7.4005e-01_rb,9.1863e-01_rb,1.1187e+00_rb/) kbo(:,25,10) = (/ & &3.9593e-01_rb,5.1361e-01_rb,6.4951e-01_rb,8.0398e-01_rb,9.7427e-01_rb/) kbo(:,26,10) = (/ & &3.5212e-01_rb,4.5450e-01_rb,5.7266e-01_rb,7.0571e-01_rb,8.5181e-01_rb/) kbo(:,27,10) = (/ & &3.1284e-01_rb,4.0173e-01_rb,5.0408e-01_rb,6.1838e-01_rb,7.4572e-01_rb/) kbo(:,28,10) = (/ & &2.7721e-01_rb,3.5447e-01_rb,4.4231e-01_rb,5.4145e-01_rb,6.5404e-01_rb/) kbo(:,29,10) = (/ & &2.4517e-01_rb,3.1175e-01_rb,3.8832e-01_rb,4.7588e-01_rb,5.7437e-01_rb/) kbo(:,30,10) = (/ & &2.1578e-01_rb,2.7344e-01_rb,3.4039e-01_rb,4.1657e-01_rb,5.0271e-01_rb/) kbo(:,31,10) = (/ & &1.9067e-01_rb,2.4099e-01_rb,2.9914e-01_rb,3.6552e-01_rb,4.4046e-01_rb/) kbo(:,32,10) = (/ & &1.6874e-01_rb,2.1279e-01_rb,2.6352e-01_rb,3.2154e-01_rb,3.8678e-01_rb/) kbo(:,33,10) = (/ & &1.4979e-01_rb,1.8828e-01_rb,2.3277e-01_rb,2.8345e-01_rb,3.4103e-01_rb/) kbo(:,34,10) = (/ & &1.3170e-01_rb,1.6528e-01_rb,2.0425e-01_rb,2.4841e-01_rb,2.9642e-01_rb/) kbo(:,35,10) = (/ & &1.1324e-01_rb,1.4235e-01_rb,1.7590e-01_rb,2.1287e-01_rb,2.5375e-01_rb/) kbo(:,36,10) = (/ & &9.5231e-02_rb,1.1973e-01_rb,1.4778e-01_rb,1.7871e-01_rb,2.1338e-01_rb/) kbo(:,37,10) = (/ & &7.7445e-02_rb,9.7552e-02_rb,1.1991e-01_rb,1.4578e-01_rb,1.7559e-01_rb/) kbo(:,38,10) = (/ & &6.2913e-02_rb,7.9354e-02_rb,9.7396e-02_rb,1.1872e-01_rb,1.4502e-01_rb/) kbo(:,39,10) = (/ & &5.1069e-02_rb,6.4406e-02_rb,7.9431e-02_rb,9.7751e-02_rb,1.1994e-01_rb/) kbo(:,40,10) = (/ & &4.0487e-02_rb,5.1192e-02_rb,6.3494e-02_rb,7.8782e-02_rb,9.6672e-02_rb/) kbo(:,41,10) = (/ & &3.1933e-02_rb,4.0574e-02_rb,5.0815e-02_rb,6.3454e-02_rb,7.7908e-02_rb/) kbo(:,42,10) = (/ & &2.5104e-02_rb,3.2117e-02_rb,4.0690e-02_rb,5.1132e-02_rb,6.3360e-02_rb/) kbo(:,43,10) = (/ & &1.9359e-02_rb,2.4985e-02_rb,3.2134e-02_rb,4.0672e-02_rb,5.0944e-02_rb/) kbo(:,44,10) = (/ & &1.4822e-02_rb,1.9377e-02_rb,2.5087e-02_rb,3.2083e-02_rb,4.0842e-02_rb/) kbo(:,45,10) = (/ & &1.1292e-02_rb,1.4912e-02_rb,1.9592e-02_rb,2.5310e-02_rb,3.2495e-02_rb/) kbo(:,46,10) = (/ & &8.5215e-03_rb,1.1374e-02_rb,1.5134e-02_rb,1.9829e-02_rb,2.5701e-02_rb/) kbo(:,47,10) = (/ & &6.3304e-03_rb,8.5539e-03_rb,1.1519e-02_rb,1.5304e-02_rb,2.0043e-02_rb/) kbo(:,48,10) = (/ & &4.6596e-03_rb,6.3842e-03_rb,8.7184e-03_rb,1.1727e-02_rb,1.5575e-02_rb/) kbo(:,49,10) = (/ & &3.3978e-03_rb,4.7268e-03_rb,6.5354e-03_rb,8.9194e-03_rb,1.1986e-02_rb/) kbo(:,50,10) = (/ & &2.4889e-03_rb,3.5204e-03_rb,4.9247e-03_rb,6.8240e-03_rb,9.2921e-03_rb/) kbo(:,51,10) = (/ & &1.8182e-03_rb,2.6209e-03_rb,3.7132e-03_rb,5.2128e-03_rb,7.2010e-03_rb/) kbo(:,52,10) = (/ & &1.3186e-03_rb,1.9376e-03_rb,2.7823e-03_rb,3.9639e-03_rb,5.5462e-03_rb/) kbo(:,53,10) = (/ & &9.4728e-04_rb,1.4218e-03_rb,2.0704e-03_rb,2.9919e-03_rb,4.2442e-03_rb/) kbo(:,54,10) = (/ & &6.9069e-04_rb,1.0561e-03_rb,1.5627e-03_rb,2.2955e-03_rb,3.3049e-03_rb/) kbo(:,55,10) = (/ & &5.0377e-04_rb,7.8848e-04_rb,1.1876e-03_rb,1.7754e-03_rb,2.5917e-03_rb/) kbo(:,56,10) = (/ & &3.6627e-04_rb,5.8682e-04_rb,8.9763e-04_rb,1.3649e-03_rb,2.0311e-03_rb/) kbo(:,57,10) = (/ & &2.6429e-04_rb,4.3296e-04_rb,6.7428e-04_rb,1.0407e-03_rb,1.5759e-03_rb/) kbo(:,58,10) = (/ & &1.9120e-04_rb,3.1987e-04_rb,5.0621e-04_rb,7.9436e-04_rb,1.2215e-03_rb/) kbo(:,59,10) = (/ & &1.5379e-04_rb,2.5891e-04_rb,4.1558e-04_rb,6.6123e-04_rb,1.0327e-03_rb/) kbo(:,13,11) = (/ & &3.3861e+00_rb,4.5598e+00_rb,5.9909e+00_rb,7.7387e+00_rb,9.7720e+00_rb/) kbo(:,14,11) = (/ & &3.0835e+00_rb,4.1638e+00_rb,5.4907e+00_rb,7.0868e+00_rb,8.8764e+00_rb/) kbo(:,15,11) = (/ & &2.7946e+00_rb,3.7805e+00_rb,4.9918e+00_rb,6.3780e+00_rb,7.9256e+00_rb/) kbo(:,16,11) = (/ & &2.5106e+00_rb,3.4021e+00_rb,4.4602e+00_rb,5.6582e+00_rb,7.0321e+00_rb/) kbo(:,17,11) = (/ & &2.2366e+00_rb,3.0111e+00_rb,3.9217e+00_rb,4.9755e+00_rb,6.2040e+00_rb/) kbo(:,18,11) = (/ & &1.9672e+00_rb,2.6349e+00_rb,3.4220e+00_rb,4.3497e+00_rb,5.4155e+00_rb/) kbo(:,19,11) = (/ & &1.7131e+00_rb,2.2896e+00_rb,2.9754e+00_rb,3.7775e+00_rb,4.6830e+00_rb/) kbo(:,20,11) = (/ & &1.4996e+00_rb,1.9951e+00_rb,2.5864e+00_rb,3.2729e+00_rb,4.0503e+00_rb/) kbo(:,21,11) = (/ & &1.3113e+00_rb,1.7407e+00_rb,2.2502e+00_rb,2.8371e+00_rb,3.4967e+00_rb/) kbo(:,22,11) = (/ & &1.1682e+00_rb,1.5452e+00_rb,1.9872e+00_rb,2.4911e+00_rb,3.0547e+00_rb/) kbo(:,23,11) = (/ & &1.0421e+00_rb,1.3707e+00_rb,1.7516e+00_rb,2.1846e+00_rb,2.6659e+00_rb/) kbo(:,24,11) = (/ & &9.2979e-01_rb,1.2143e+00_rb,1.5435e+00_rb,1.9148e+00_rb,2.3275e+00_rb/) kbo(:,25,11) = (/ & &8.2875e-01_rb,1.0753e+00_rb,1.3588e+00_rb,1.6784e+00_rb,2.0353e+00_rb/) kbo(:,26,11) = (/ & &7.3934e-01_rb,9.5318e-01_rb,1.1984e+00_rb,1.4754e+00_rb,1.7853e+00_rb/) kbo(:,27,11) = (/ & &6.5883e-01_rb,8.4429e-01_rb,1.0568e+00_rb,1.2987e+00_rb,1.5650e+00_rb/) kbo(:,28,11) = (/ & &5.8647e-01_rb,7.4845e-01_rb,9.3430e-01_rb,1.1424e+00_rb,1.3714e+00_rb/) kbo(:,29,11) = (/ & &5.2333e-01_rb,6.6481e-01_rb,8.2647e-01_rb,1.0068e+00_rb,1.2071e+00_rb/) kbo(:,30,11) = (/ & &4.6646e-01_rb,5.9039e-01_rb,7.3092e-01_rb,8.8855e-01_rb,1.0662e+00_rb/) kbo(:,31,11) = (/ & &4.1617e-01_rb,5.2426e-01_rb,6.4699e-01_rb,7.8730e-01_rb,9.4645e-01_rb/) kbo(:,32,11) = (/ & &3.7143e-01_rb,4.6600e-01_rb,5.7506e-01_rb,6.9984e-01_rb,8.4024e-01_rb/) kbo(:,33,11) = (/ & &3.3164e-01_rb,4.1539e-01_rb,5.1227e-01_rb,6.2282e-01_rb,7.4734e-01_rb/) kbo(:,34,11) = (/ & &2.9391e-01_rb,3.6839e-01_rb,4.5381e-01_rb,5.5129e-01_rb,6.6077e-01_rb/) kbo(:,35,11) = (/ & &2.5539e-01_rb,3.2000e-01_rb,3.9467e-01_rb,4.7981e-01_rb,5.7557e-01_rb/) kbo(:,36,11) = (/ & &2.1634e-01_rb,2.7190e-01_rb,3.3604e-01_rb,4.0953e-01_rb,4.9314e-01_rb/) kbo(:,37,11) = (/ & &1.7643e-01_rb,2.2324e-01_rb,2.7784e-01_rb,3.4019e-01_rb,4.0996e-01_rb/) kbo(:,38,11) = (/ & &1.4359e-01_rb,1.8284e-01_rb,2.2947e-01_rb,2.8247e-01_rb,3.3992e-01_rb/) kbo(:,39,11) = (/ & &1.1703e-01_rb,1.4999e-01_rb,1.8946e-01_rb,2.3346e-01_rb,2.8235e-01_rb/) kbo(:,40,11) = (/ & &9.2508e-02_rb,1.1962e-01_rb,1.5225e-01_rb,1.8852e-01_rb,2.3037e-01_rb/) kbo(:,41,11) = (/ & &7.2812e-02_rb,9.4920e-02_rb,1.2149e-01_rb,1.5155e-01_rb,1.8718e-01_rb/) kbo(:,42,11) = (/ & &5.7212e-02_rb,7.5261e-02_rb,9.6717e-02_rb,1.2163e-01_rb,1.5109e-01_rb/) kbo(:,43,11) = (/ & &4.4118e-02_rb,5.8641e-02_rb,7.5812e-02_rb,9.6186e-02_rb,1.2035e-01_rb/) kbo(:,44,11) = (/ & &3.3705e-02_rb,4.5203e-02_rb,5.8991e-02_rb,7.5535e-02_rb,9.5312e-02_rb/) kbo(:,45,11) = (/ & &2.5795e-02_rb,3.4826e-02_rb,4.5764e-02_rb,5.9102e-02_rb,7.5973e-02_rb/) kbo(:,46,11) = (/ & &1.9500e-02_rb,2.6666e-02_rb,3.5264e-02_rb,4.5887e-02_rb,6.0050e-02_rb/) kbo(:,47,11) = (/ & &1.4478e-02_rb,2.0069e-02_rb,2.6758e-02_rb,3.5119e-02_rb,4.6750e-02_rb/) kbo(:,48,11) = (/ & &1.0673e-02_rb,1.5022e-02_rb,2.0274e-02_rb,2.6837e-02_rb,3.6213e-02_rb/) kbo(:,49,11) = (/ & &7.8044e-03_rb,1.1183e-02_rb,1.5301e-02_rb,2.0457e-02_rb,2.8037e-02_rb/) kbo(:,50,11) = (/ & &5.7286e-03_rb,8.3541e-03_rb,1.1590e-02_rb,1.5692e-02_rb,2.1700e-02_rb/) kbo(:,51,11) = (/ & &4.2038e-03_rb,6.2320e-03_rb,8.7867e-03_rb,1.2044e-02_rb,1.6737e-02_rb/) kbo(:,52,11) = (/ & &3.0623e-03_rb,4.6247e-03_rb,6.6271e-03_rb,9.2102e-03_rb,1.2933e-02_rb/) kbo(:,53,11) = (/ & &2.2163e-03_rb,3.3976e-03_rb,4.9642e-03_rb,7.0028e-03_rb,9.9664e-03_rb/) kbo(:,54,11) = (/ & &1.6196e-03_rb,2.5242e-03_rb,3.7641e-03_rb,5.3709e-03_rb,7.7537e-03_rb/) kbo(:,55,11) = (/ & &1.1913e-03_rb,1.8900e-03_rb,2.8670e-03_rb,4.1465e-03_rb,6.0719e-03_rb/) kbo(:,56,11) = (/ & &8.6854e-04_rb,1.4072e-03_rb,2.1797e-03_rb,3.2039e-03_rb,4.7482e-03_rb/) kbo(:,57,11) = (/ & &6.2940e-04_rb,1.0423e-03_rb,1.6521e-03_rb,2.4738e-03_rb,3.7243e-03_rb/) kbo(:,58,11) = (/ & &4.5766e-04_rb,7.7541e-04_rb,1.2578e-03_rb,1.9222e-03_rb,2.9509e-03_rb/) kbo(:,59,11) = (/ & &3.7158e-04_rb,6.4512e-04_rb,1.0666e-03_rb,1.6673e-03_rb,2.6085e-03_rb/) kbo(:,13,12) = (/ & &6.8265e+00_rb,9.1662e+00_rb,1.2005e+01_rb,1.5291e+01_rb,1.9104e+01_rb/) kbo(:,14,12) = (/ & &6.4505e+00_rb,8.6663e+00_rb,1.1302e+01_rb,1.4372e+01_rb,1.8022e+01_rb/) kbo(:,15,12) = (/ & &6.0333e+00_rb,8.0721e+00_rb,1.0531e+01_rb,1.3476e+01_rb,1.6920e+01_rb/) kbo(:,16,12) = (/ & &5.5683e+00_rb,7.4562e+00_rb,9.7508e+00_rb,1.2490e+01_rb,1.5606e+01_rb/) kbo(:,17,12) = (/ & &5.0713e+00_rb,6.8025e+00_rb,8.9065e+00_rb,1.1361e+01_rb,1.4093e+01_rb/) kbo(:,18,12) = (/ & &4.5774e+00_rb,6.1450e+00_rb,8.0133e+00_rb,1.0144e+01_rb,1.2548e+01_rb/) kbo(:,19,12) = (/ & &4.0864e+00_rb,5.4694e+00_rb,7.0931e+00_rb,8.9659e+00_rb,1.1117e+01_rb/) kbo(:,20,12) = (/ & &3.6294e+00_rb,4.8248e+00_rb,6.2421e+00_rb,7.9048e+00_rb,9.7882e+00_rb/) kbo(:,21,12) = (/ & &3.1876e+00_rb,4.2266e+00_rb,5.4689e+00_rb,6.9148e+00_rb,8.5415e+00_rb/) kbo(:,22,12) = (/ & &2.8446e+00_rb,3.7580e+00_rb,4.8472e+00_rb,6.1036e+00_rb,7.5044e+00_rb/) kbo(:,23,12) = (/ & &2.5375e+00_rb,3.3389e+00_rb,4.2884e+00_rb,5.3709e+00_rb,6.5794e+00_rb/) kbo(:,24,12) = (/ & &2.2687e+00_rb,2.9742e+00_rb,3.7979e+00_rb,4.7327e+00_rb,5.7691e+00_rb/) kbo(:,25,12) = (/ & &2.0354e+00_rb,2.6539e+00_rb,3.3704e+00_rb,4.1780e+00_rb,5.0680e+00_rb/) kbo(:,26,12) = (/ & &1.8347e+00_rb,2.3795e+00_rb,3.0035e+00_rb,3.7009e+00_rb,4.4678e+00_rb/) kbo(:,27,12) = (/ & &1.6539e+00_rb,2.1288e+00_rb,2.6709e+00_rb,3.2754e+00_rb,3.9447e+00_rb/) kbo(:,28,12) = (/ & &1.4848e+00_rb,1.8995e+00_rb,2.3700e+00_rb,2.8962e+00_rb,3.4805e+00_rb/) kbo(:,29,12) = (/ & &1.3323e+00_rb,1.6945e+00_rb,2.1064e+00_rb,2.5664e+00_rb,3.0755e+00_rb/) kbo(:,30,12) = (/ & &1.1951e+00_rb,1.5124e+00_rb,1.8729e+00_rb,2.2771e+00_rb,2.7207e+00_rb/) kbo(:,31,12) = (/ & &1.0723e+00_rb,1.3520e+00_rb,1.6707e+00_rb,2.0245e+00_rb,2.4134e+00_rb/) kbo(:,32,12) = (/ & &9.6436e-01_rb,1.2123e+00_rb,1.4924e+00_rb,1.8027e+00_rb,2.1488e+00_rb/) kbo(:,33,12) = (/ & &8.6875e-01_rb,1.0883e+00_rb,1.3350e+00_rb,1.6111e+00_rb,1.9241e+00_rb/) kbo(:,34,12) = (/ & &7.7744e-01_rb,9.7074e-01_rb,1.1897e+00_rb,1.4382e+00_rb,1.7216e+00_rb/) kbo(:,35,12) = (/ & &6.8108e-01_rb,8.5081e-01_rb,1.0447e+00_rb,1.2673e+00_rb,1.5231e+00_rb/) kbo(:,36,12) = (/ & &5.8251e-01_rb,7.3036e-01_rb,9.0117e-01_rb,1.0985e+00_rb,1.3262e+00_rb/) kbo(:,37,12) = (/ & &4.8147e-01_rb,6.0751e-01_rb,7.5487e-01_rb,9.2714e-01_rb,1.1257e+00_rb/) kbo(:,38,12) = (/ & &3.9749e-01_rb,5.0467e-01_rb,6.3154e-01_rb,7.8124e-01_rb,9.5438e-01_rb/) kbo(:,39,12) = (/ & &3.2829e-01_rb,4.1995e-01_rb,5.2901e-01_rb,6.5861e-01_rb,8.0986e-01_rb/) kbo(:,40,12) = (/ & &2.6399e-01_rb,3.4098e-01_rb,4.3333e-01_rb,5.4338e-01_rb,6.7333e-01_rb/) kbo(:,41,12) = (/ & &2.1121e-01_rb,2.7554e-01_rb,3.5340e-01_rb,4.4699e-01_rb,5.5819e-01_rb/) kbo(:,42,12) = (/ & &1.6875e-01_rb,2.2242e-01_rb,2.8790e-01_rb,3.6718e-01_rb,4.6248e-01_rb/) kbo(:,43,12) = (/ & &1.3242e-01_rb,1.7649e-01_rb,2.3091e-01_rb,2.9729e-01_rb,3.7802e-01_rb/) kbo(:,44,12) = (/ & &1.0268e-01_rb,1.3874e-01_rb,1.8350e-01_rb,2.3873e-01_rb,3.0615e-01_rb/) kbo(:,45,12) = (/ & &7.9157e-02_rb,1.0857e-01_rb,1.4543e-01_rb,1.9132e-01_rb,2.4703e-01_rb/) kbo(:,46,12) = (/ & &6.0349e-02_rb,8.3945e-02_rb,1.1412e-01_rb,1.5200e-01_rb,1.9783e-01_rb/) kbo(:,47,12) = (/ & &4.5026e-02_rb,6.3638e-02_rb,8.7982e-02_rb,1.1888e-01_rb,1.5630e-01_rb/) kbo(:,48,12) = (/ & &3.3400e-02_rb,4.7982e-02_rb,6.7403e-02_rb,9.2494e-02_rb,1.2316e-01_rb/) kbo(:,49,12) = (/ & &2.4633e-02_rb,3.5960e-02_rb,5.1349e-02_rb,7.1624e-02_rb,9.6517e-02_rb/) kbo(:,50,12) = (/ & &1.8199e-02_rb,2.7006e-02_rb,3.9181e-02_rb,5.5479e-02_rb,7.5913e-02_rb/) kbo(:,51,12) = (/ & &1.3397e-02_rb,2.0251e-02_rb,2.9827e-02_rb,4.2894e-02_rb,5.9697e-02_rb/) kbo(:,52,12) = (/ & &9.8047e-03_rb,1.5092e-02_rb,2.2613e-02_rb,3.3016e-02_rb,4.6660e-02_rb/) kbo(:,53,12) = (/ & &7.1233e-03_rb,1.1184e-02_rb,1.7048e-02_rb,2.5317e-02_rb,3.6316e-02_rb/) kbo(:,54,12) = (/ & &5.1904e-03_rb,8.3108e-03_rb,1.2872e-02_rb,1.9462e-02_rb,2.8342e-02_rb/) kbo(:,55,12) = (/ & &3.7706e-03_rb,6.1523e-03_rb,9.6915e-03_rb,1.4909e-02_rb,2.2083e-02_rb/) kbo(:,56,12) = (/ & &2.7214e-03_rb,4.5313e-03_rb,7.2581e-03_rb,1.1344e-02_rb,1.7112e-02_rb/) kbo(:,57,12) = (/ & &1.9679e-03_rb,3.3305e-03_rb,5.4024e-03_rb,8.5896e-03_rb,1.3181e-02_rb/) kbo(:,58,12) = (/ & &1.4312e-03_rb,2.4830e-03_rb,4.0992e-03_rb,6.5707e-03_rb,1.0148e-02_rb/) kbo(:,59,12) = (/ & &1.1735e-03_rb,2.0715e-03_rb,3.4672e-03_rb,5.6187e-03_rb,8.6747e-03_rb/) kbo(:,13,13) = (/ & &1.4965e+01_rb,1.9939e+01_rb,2.5957e+01_rb,3.3111e+01_rb,4.1486e+01_rb/) kbo(:,14,13) = (/ & &1.4891e+01_rb,1.9752e+01_rb,2.5714e+01_rb,3.2877e+01_rb,4.1201e+01_rb/) kbo(:,15,13) = (/ & &1.4632e+01_rb,1.9464e+01_rb,2.5349e+01_rb,3.2327e+01_rb,4.0239e+01_rb/) kbo(:,16,13) = (/ & &1.4224e+01_rb,1.8920e+01_rb,2.4612e+01_rb,3.1240e+01_rb,3.8764e+01_rb/) kbo(:,17,13) = (/ & &1.3596e+01_rb,1.8071e+01_rb,2.3399e+01_rb,2.9603e+01_rb,3.6827e+01_rb/) kbo(:,18,13) = (/ & &1.2765e+01_rb,1.6956e+01_rb,2.1940e+01_rb,2.7801e+01_rb,3.4621e+01_rb/) kbo(:,19,13) = (/ & &1.1845e+01_rb,1.5708e+01_rb,2.0355e+01_rb,2.5828e+01_rb,3.2043e+01_rb/) kbo(:,20,13) = (/ & &1.0881e+01_rb,1.4480e+01_rb,1.8761e+01_rb,2.3735e+01_rb,2.9355e+01_rb/) kbo(:,21,13) = (/ & &9.9388e+00_rb,1.3181e+01_rb,1.7060e+01_rb,2.1504e+01_rb,2.6520e+01_rb/) kbo(:,22,13) = (/ & &9.1395e+00_rb,1.2102e+01_rb,1.5540e+01_rb,1.9513e+01_rb,2.4061e+01_rb/) kbo(:,23,13) = (/ & &8.3446e+00_rb,1.0972e+01_rb,1.4055e+01_rb,1.7623e+01_rb,2.1727e+01_rb/) kbo(:,24,13) = (/ & &7.5591e+00_rb,9.8924e+00_rb,1.2651e+01_rb,1.5869e+01_rb,1.9520e+01_rb/) kbo(:,25,13) = (/ & &6.8143e+00_rb,8.8970e+00_rb,1.1359e+01_rb,1.4218e+01_rb,1.7424e+01_rb/) kbo(:,26,13) = (/ & &6.1698e+00_rb,8.0210e+00_rb,1.0220e+01_rb,1.2729e+01_rb,1.5532e+01_rb/) kbo(:,27,13) = (/ & &5.5728e+00_rb,7.2306e+00_rb,9.1639e+00_rb,1.1369e+01_rb,1.3833e+01_rb/) kbo(:,28,13) = (/ & &5.0450e+00_rb,6.5146e+00_rb,8.2221e+00_rb,1.0165e+01_rb,1.2320e+01_rb/) kbo(:,29,13) = (/ & &4.5820e+00_rb,5.8856e+00_rb,7.3962e+00_rb,9.1032e+00_rb,1.0999e+01_rb/) kbo(:,30,13) = (/ & &4.1619e+00_rb,5.3258e+00_rb,6.6581e+00_rb,8.1640e+00_rb,9.8348e+00_rb/) kbo(:,31,13) = (/ & &3.7986e+00_rb,4.8336e+00_rb,6.0169e+00_rb,7.3498e+00_rb,8.8372e+00_rb/) kbo(:,32,13) = (/ & &3.4747e+00_rb,4.3988e+00_rb,5.4556e+00_rb,6.6497e+00_rb,7.9860e+00_rb/) kbo(:,33,13) = (/ & &3.1806e+00_rb,4.0134e+00_rb,4.9644e+00_rb,6.0424e+00_rb,7.2445e+00_rb/) kbo(:,34,13) = (/ & &2.8901e+00_rb,3.6383e+00_rb,4.4979e+00_rb,5.4687e+00_rb,6.5591e+00_rb/) kbo(:,35,13) = (/ & &2.5701e+00_rb,3.2361e+00_rb,4.0067e+00_rb,4.8794e+00_rb,5.8576e+00_rb/) kbo(:,36,13) = (/ & &2.2323e+00_rb,2.8199e+00_rb,3.4998e+00_rb,4.2791e+00_rb,5.1575e+00_rb/) kbo(:,37,13) = (/ & &1.8736e+00_rb,2.3827e+00_rb,2.9738e+00_rb,3.6564e+00_rb,4.4360e+00_rb/) kbo(:,38,13) = (/ & &1.5728e+00_rb,2.0148e+00_rb,2.5311e+00_rb,3.1303e+00_rb,3.8226e+00_rb/) kbo(:,39,13) = (/ & &1.3237e+00_rb,1.7072e+00_rb,2.1603e+00_rb,2.6914e+00_rb,3.3072e+00_rb/) kbo(:,40,13) = (/ & &1.0847e+00_rb,1.4132e+00_rb,1.8059e+00_rb,2.2702e+00_rb,2.8143e+00_rb/) kbo(:,41,13) = (/ & &8.8581e-01_rb,1.1668e+00_rb,1.5064e+00_rb,1.9133e+00_rb,2.3935e+00_rb/) kbo(:,42,13) = (/ & &7.2374e-01_rb,9.6367e-01_rb,1.2577e+00_rb,1.6144e+00_rb,2.0403e+00_rb/) kbo(:,43,13) = (/ & &5.8123e-01_rb,7.8367e-01_rb,1.0353e+00_rb,1.3440e+00_rb,1.7177e+00_rb/) kbo(:,44,13) = (/ & &4.6198e-01_rb,6.3195e-01_rb,8.4539e-01_rb,1.1117e+00_rb,1.4376e+00_rb/) kbo(:,45,13) = (/ & &3.6584e-01_rb,5.0822e-01_rb,6.8932e-01_rb,9.1864e-01_rb,1.2028e+00_rb/) kbo(:,46,13) = (/ & &2.8644e-01_rb,4.0442e-01_rb,5.5738e-01_rb,7.5306e-01_rb,9.9957e-01_rb/) kbo(:,47,13) = (/ & &2.1956e-01_rb,3.1585e-01_rb,4.4303e-01_rb,6.0814e-01_rb,8.1897e-01_rb/) kbo(:,48,13) = (/ & &1.6674e-01_rb,2.4495e-01_rb,3.5019e-01_rb,4.8911e-01_rb,6.6858e-01_rb/) kbo(:,49,13) = (/ & &1.2553e-01_rb,1.8856e-01_rb,2.7515e-01_rb,3.9103e-01_rb,5.4421e-01_rb/) kbo(:,50,13) = (/ & &9.4665e-02_rb,1.4544e-01_rb,2.1677e-01_rb,3.1374e-01_rb,4.4454e-01_rb/) kbo(:,51,13) = (/ & &7.1191e-02_rb,1.1194e-01_rb,1.7036e-01_rb,2.5168e-01_rb,3.6277e-01_rb/) kbo(:,52,13) = (/ & &5.3052e-02_rb,8.5501e-02_rb,1.3304e-01_rb,2.0087e-01_rb,2.9517e-01_rb/) kbo(:,53,13) = (/ & &3.9132e-02_rb,6.4715e-02_rb,1.0314e-01_rb,1.5924e-01_rb,2.3881e-01_rb/) kbo(:,54,13) = (/ & &2.9043e-02_rb,4.9273e-02_rb,8.0552e-02_rb,1.2707e-01_rb,1.9473e-01_rb/) kbo(:,55,13) = (/ & &2.1525e-02_rb,3.7498e-02_rb,6.2875e-02_rb,1.0150e-01_rb,1.5889e-01_rb/) kbo(:,56,13) = (/ & &1.5833e-02_rb,2.8322e-02_rb,4.8765e-02_rb,8.0651e-02_rb,1.2905e-01_rb/) kbo(:,57,13) = (/ & &1.1526e-02_rb,2.1205e-02_rb,3.7510e-02_rb,6.3651e-02_rb,1.0431e-01_rb/) kbo(:,58,13) = (/ & &8.3779e-03_rb,1.5855e-02_rb,2.8776e-02_rb,5.0260e-02_rb,8.4604e-02_rb/) kbo(:,59,13) = (/ & &6.7851e-03_rb,1.3119e-02_rb,2.4293e-02_rb,4.3321e-02_rb,7.4531e-02_rb/) kbo(:,13,14) = (/ & &3.3721e+01_rb,4.7002e+01_rb,6.3302e+01_rb,8.2327e+01_rb,1.0363e+02_rb/) kbo(:,14,14) = (/ & &3.6911e+01_rb,5.0874e+01_rb,6.7511e+01_rb,8.6774e+01_rb,1.0872e+02_rb/) kbo(:,15,14) = (/ & &3.9962e+01_rb,5.4067e+01_rb,7.0780e+01_rb,9.0289e+01_rb,1.1312e+02_rb/) kbo(:,16,14) = (/ & &4.2338e+01_rb,5.6683e+01_rb,7.3332e+01_rb,9.3095e+01_rb,1.1626e+02_rb/) kbo(:,17,14) = (/ & &4.3916e+01_rb,5.8217e+01_rb,7.5023e+01_rb,9.4925e+01_rb,1.1793e+02_rb/) kbo(:,18,14) = (/ & &4.4576e+01_rb,5.8845e+01_rb,7.5702e+01_rb,9.5514e+01_rb,1.1830e+02_rb/) kbo(:,19,14) = (/ & &4.4328e+01_rb,5.8466e+01_rb,7.5196e+01_rb,9.4726e+01_rb,1.1748e+02_rb/) kbo(:,20,14) = (/ & &4.3798e+01_rb,5.7631e+01_rb,7.4169e+01_rb,9.3518e+01_rb,1.1584e+02_rb/) kbo(:,21,14) = (/ & &4.2847e+01_rb,5.6429e+01_rb,7.2627e+01_rb,9.1567e+01_rb,1.1316e+02_rb/) kbo(:,22,14) = (/ & &4.2232e+01_rb,5.5705e+01_rb,7.1694e+01_rb,9.0118e+01_rb,1.1101e+02_rb/) kbo(:,23,14) = (/ & &4.1301e+01_rb,5.4371e+01_rb,6.9797e+01_rb,8.7676e+01_rb,1.0772e+02_rb/) kbo(:,24,14) = (/ & &4.0036e+01_rb,5.2522e+01_rb,6.7301e+01_rb,8.4384e+01_rb,1.0387e+02_rb/) kbo(:,25,14) = (/ & &3.8535e+01_rb,5.0451e+01_rb,6.4572e+01_rb,8.0891e+01_rb,9.9814e+01_rb/) kbo(:,26,14) = (/ & &3.6990e+01_rb,4.8476e+01_rb,6.1896e+01_rb,7.7604e+01_rb,9.5632e+01_rb/) kbo(:,27,14) = (/ & &3.5439e+01_rb,4.6349e+01_rb,5.9201e+01_rb,7.4166e+01_rb,9.1237e+01_rb/) kbo(:,28,14) = (/ & &3.3799e+01_rb,4.4185e+01_rb,5.6512e+01_rb,7.0702e+01_rb,8.6988e+01_rb/) kbo(:,29,14) = (/ & &3.2225e+01_rb,4.2139e+01_rb,5.3908e+01_rb,6.7503e+01_rb,8.3109e+01_rb/) kbo(:,30,14) = (/ & &3.0748e+01_rb,4.0218e+01_rb,5.1459e+01_rb,6.4621e+01_rb,7.9612e+01_rb/) kbo(:,31,14) = (/ & &2.9425e+01_rb,3.8499e+01_rb,4.9352e+01_rb,6.2118e+01_rb,7.6745e+01_rb/) kbo(:,32,14) = (/ & &2.8242e+01_rb,3.7039e+01_rb,4.7648e+01_rb,6.0092e+01_rb,7.4536e+01_rb/) kbo(:,33,14) = (/ & &2.7263e+01_rb,3.5883e+01_rb,4.6290e+01_rb,5.8616e+01_rb,7.3025e+01_rb/) kbo(:,34,14) = (/ & &2.6245e+01_rb,3.4728e+01_rb,4.4963e+01_rb,5.7211e+01_rb,7.1614e+01_rb/) kbo(:,35,14) = (/ & &2.4792e+01_rb,3.3010e+01_rb,4.3016e+01_rb,5.5082e+01_rb,6.9332e+01_rb/) kbo(:,36,14) = (/ & &2.2854e+01_rb,3.0681e+01_rb,4.0335e+01_rb,5.2076e+01_rb,6.5971e+01_rb/) kbo(:,37,14) = (/ & &2.0215e+01_rb,2.7477e+01_rb,3.6561e+01_rb,4.7698e+01_rb,6.0990e+01_rb/) kbo(:,38,14) = (/ & &1.7901e+01_rb,2.4657e+01_rb,3.3200e+01_rb,4.3777e+01_rb,5.6518e+01_rb/) kbo(:,39,14) = (/ & &1.5916e+01_rb,2.2229e+01_rb,3.0285e+01_rb,4.0352e+01_rb,5.2594e+01_rb/) kbo(:,40,14) = (/ & &1.3687e+01_rb,1.9453e+01_rb,2.6865e+01_rb,3.6273e+01_rb,4.7801e+01_rb/) kbo(:,41,14) = (/ & &1.1706e+01_rb,1.6957e+01_rb,2.3775e+01_rb,3.2529e+01_rb,4.3345e+01_rb/) kbo(:,42,14) = (/ & &1.0015e+01_rb,1.4777e+01_rb,2.1056e+01_rb,2.9181e+01_rb,3.9336e+01_rb/) kbo(:,43,14) = (/ & &8.3602e+00_rb,1.2595e+01_rb,1.8289e+01_rb,2.5700e+01_rb,3.5139e+01_rb/) kbo(:,44,14) = (/ & &6.8842e+00_rb,1.0588e+01_rb,1.5702e+01_rb,2.2421e+01_rb,3.1090e+01_rb/) kbo(:,45,14) = (/ & &5.6505e+00_rb,8.8697e+00_rb,1.3428e+01_rb,1.9525e+01_rb,2.7445e+01_rb/) kbo(:,46,14) = (/ & &4.5669e+00_rb,7.3282e+00_rb,1.1331e+01_rb,1.6810e+01_rb,2.3987e+01_rb/) kbo(:,47,14) = (/ & &3.5910e+00_rb,5.9011e+00_rb,9.3338e+00_rb,1.4162e+01_rb,2.0590e+01_rb/) kbo(:,48,14) = (/ & &2.8046e+00_rb,4.7156e+00_rb,7.6334e+00_rb,1.1848e+01_rb,1.7577e+01_rb/) kbo(:,49,14) = (/ & &2.1748e+00_rb,3.7383e+00_rb,6.1955e+00_rb,9.8356e+00_rb,1.4909e+01_rb/) kbo(:,50,14) = (/ & &1.6968e+00_rb,2.9824e+00_rb,5.0552e+00_rb,8.1970e+00_rb,1.2692e+01_rb/) kbo(:,51,14) = (/ & &1.3228e+00_rb,2.3793e+00_rb,4.1196e+00_rb,6.8244e+00_rb,1.0784e+01_rb/) kbo(:,52,14) = (/ & &1.0245e+00_rb,1.8865e+00_rb,3.3355e+00_rb,5.6478e+00_rb,9.1028e+00_rb/) kbo(:,53,14) = (/ & &7.8728e-01_rb,1.4840e+00_rb,2.6816e+00_rb,4.6391e+00_rb,7.6341e+00_rb/) kbo(:,54,14) = (/ & &6.1018e-01_rb,1.1815e+00_rb,2.1812e+00_rb,3.8474e+00_rb,6.4584e+00_rb/) kbo(:,55,14) = (/ & &4.7246e-01_rb,9.4354e-01_rb,1.7799e+00_rb,3.1974e+00_rb,5.4714e+00_rb/) kbo(:,56,14) = (/ & &3.6268e-01_rb,7.4897e-01_rb,1.4435e+00_rb,2.6438e+00_rb,4.6110e+00_rb/) kbo(:,57,14) = (/ & &2.7617e-01_rb,5.8818e-01_rb,1.1638e+00_rb,2.1763e+00_rb,3.8632e+00_rb/) kbo(:,58,14) = (/ & &2.1026e-01_rb,4.6281e-01_rb,9.4334e-01_rb,1.8002e+00_rb,3.2506e+00_rb/) kbo(:,59,14) = (/ & &1.8510e-01_rb,4.1578e-01_rb,8.6198e-01_rb,1.6609e+00_rb,3.0231e+00_rb/) kbo(:,13,15) = (/ & &7.9497e+01_rb,1.0631e+02_rb,1.3951e+02_rb,1.8076e+02_rb,2.3534e+02_rb/) kbo(:,14,15) = (/ & &9.0008e+01_rb,1.2102e+02_rb,1.6070e+02_rb,2.0844e+02_rb,2.6891e+02_rb/) kbo(:,15,15) = (/ & &1.0142e+02_rb,1.3773e+02_rb,1.8424e+02_rb,2.3942e+02_rb,3.0596e+02_rb/) kbo(:,16,15) = (/ & &1.1444e+02_rb,1.5595e+02_rb,2.0951e+02_rb,2.7261e+02_rb,3.4599e+02_rb/) kbo(:,17,15) = (/ & &1.2871e+02_rb,1.7599e+02_rb,2.3611e+02_rb,3.0737e+02_rb,3.8849e+02_rb/) kbo(:,18,15) = (/ & &1.4444e+02_rb,1.9729e+02_rb,2.6334e+02_rb,3.4204e+02_rb,4.3103e+02_rb/) kbo(:,19,15) = (/ & &1.6121e+02_rb,2.1913e+02_rb,2.9095e+02_rb,3.7632e+02_rb,4.7170e+02_rb/) kbo(:,20,15) = (/ & &1.7880e+02_rb,2.4196e+02_rb,3.1956e+02_rb,4.1027e+02_rb,5.1312e+02_rb/) kbo(:,21,15) = (/ & &1.9582e+02_rb,2.6409e+02_rb,3.4675e+02_rb,4.4276e+02_rb,5.5264e+02_rb/) kbo(:,22,15) = (/ & &2.1631e+02_rb,2.9018e+02_rb,3.7825e+02_rb,4.8067e+02_rb,5.9651e+02_rb/) kbo(:,23,15) = (/ & &2.3693e+02_rb,3.1638e+02_rb,4.0986e+02_rb,5.1726e+02_rb,6.3877e+02_rb/) kbo(:,24,15) = (/ & &2.5815e+02_rb,3.4252e+02_rb,4.4099e+02_rb,5.5343e+02_rb,6.7985e+02_rb/) kbo(:,25,15) = (/ & &2.7940e+02_rb,3.6830e+02_rb,4.7141e+02_rb,5.8880e+02_rb,7.2036e+02_rb/) kbo(:,26,15) = (/ & &3.0147e+02_rb,3.9459e+02_rb,5.0246e+02_rb,6.2482e+02_rb,7.6276e+02_rb/) kbo(:,27,15) = (/ & &3.2318e+02_rb,4.2065e+02_rb,5.3313e+02_rb,6.6087e+02_rb,8.0529e+02_rb/) kbo(:,28,15) = (/ & &3.4508e+02_rb,4.4657e+02_rb,5.6379e+02_rb,6.9725e+02_rb,8.4792e+02_rb/) kbo(:,29,15) = (/ & &3.6777e+02_rb,4.7381e+02_rb,5.9626e+02_rb,7.3554e+02_rb,8.9251e+02_rb/) kbo(:,30,15) = (/ & &3.9103e+02_rb,5.0185e+02_rb,6.2997e+02_rb,7.7485e+02_rb,9.3819e+02_rb/) kbo(:,31,15) = (/ & &4.1560e+02_rb,5.3166e+02_rb,6.6523e+02_rb,8.1615e+02_rb,9.8559e+02_rb/) kbo(:,32,15) = (/ & &4.4194e+02_rb,5.6341e+02_rb,7.0244e+02_rb,8.5957e+02_rb,1.0345e+03_rb/) kbo(:,33,15) = (/ & &4.7004e+02_rb,5.9690e+02_rb,7.4161e+02_rb,9.0465e+02_rb,1.0849e+03_rb/) kbo(:,34,15) = (/ & &4.9560e+02_rb,6.2720e+02_rb,7.7702e+02_rb,9.4526e+02_rb,1.1301e+03_rb/) kbo(:,35,15) = (/ & &5.1020e+02_rb,6.4498e+02_rb,7.9798e+02_rb,9.6921e+02_rb,1.1571e+03_rb/) kbo(:,36,15) = (/ & &5.1153e+02_rb,6.4732e+02_rb,8.0146e+02_rb,9.7374e+02_rb,1.1629e+03_rb/) kbo(:,37,15) = (/ & &4.9411e+02_rb,6.2784e+02_rb,7.8019e+02_rb,9.5084e+02_rb,1.1384e+03_rb/) kbo(:,38,15) = (/ & &4.7607e+02_rb,6.0738e+02_rb,7.5785e+02_rb,9.2634e+02_rb,1.1122e+03_rb/) kbo(:,39,15) = (/ & &4.5860e+02_rb,5.8729e+02_rb,7.3571e+02_rb,9.0212e+02_rb,1.0835e+03_rb/) kbo(:,40,15) = (/ & &4.2990e+02_rb,5.5385e+02_rb,6.9803e+02_rb,8.6039e+02_rb,1.0406e+03_rb/) kbo(:,41,15) = (/ & &4.0087e+02_rb,5.1992e+02_rb,6.5921e+02_rb,8.1732e+02_rb,9.9347e+02_rb/) kbo(:,42,15) = (/ & &3.7298e+02_rb,4.8724e+02_rb,6.2146e+02_rb,7.7537e+02_rb,9.4699e+02_rb/) kbo(:,43,15) = (/ & &3.4053e+02_rb,4.4909e+02_rb,5.7712e+02_rb,7.2520e+02_rb,8.9154e+02_rb/) kbo(:,44,15) = (/ & &3.0753e+02_rb,4.1020e+02_rb,5.3144e+02_rb,6.7302e+02_rb,8.3358e+02_rb/) kbo(:,45,15) = (/ & &2.7654e+02_rb,3.7323e+02_rb,4.8808e+02_rb,6.2285e+02_rb,7.7741e+02_rb/) kbo(:,46,15) = (/ & &2.4531e+02_rb,3.3622e+02_rb,4.4437e+02_rb,5.7189e+02_rb,7.1969e+02_rb/) kbo(:,47,15) = (/ & &2.1302e+02_rb,2.9761e+02_rb,3.9853e+02_rb,5.1809e+02_rb,6.5783e+02_rb/) kbo(:,48,15) = (/ & &1.8355e+02_rb,2.6147e+02_rb,3.5562e+02_rb,4.6754e+02_rb,5.9909e+02_rb/) kbo(:,49,15) = (/ & &1.5701e+02_rb,2.2791e+02_rb,3.1569e+02_rb,4.2021e+02_rb,5.4365e+02_rb/) kbo(:,50,15) = (/ & &1.3468e+02_rb,1.9893e+02_rb,2.8071e+02_rb,3.7858e+02_rb,4.9472e+02_rb/) kbo(:,51,15) = (/ & &1.1526e+02_rb,1.7331e+02_rb,2.4880e+02_rb,3.4068e+02_rb,4.5000e+02_rb/) kbo(:,52,15) = (/ & &9.7991e+01_rb,1.5012e+02_rb,2.1915e+02_rb,3.0532e+02_rb,4.0798e+02_rb/) kbo(:,53,15) = (/ & &8.2622e+01_rb,1.2914e+02_rb,1.9179e+02_rb,2.7194e+02_rb,3.6825e+02_rb/) kbo(:,54,15) = (/ & &7.0111e+01_rb,1.1182e+02_rb,1.6882e+02_rb,2.4316e+02_rb,3.3408e+02_rb/) kbo(:,55,15) = (/ & &5.9451e+01_rb,9.6898e+01_rb,1.4869e+02_rb,2.1737e+02_rb,3.0323e+02_rb/) kbo(:,56,15) = (/ & &4.9982e+01_rb,8.3446e+01_rb,1.3033e+02_rb,1.9338e+02_rb,2.7397e+02_rb/) kbo(:,57,15) = (/ & &4.1621e+01_rb,7.1384e+01_rb,1.1363e+02_rb,1.7127e+02_rb,2.4633e+02_rb/) kbo(:,58,15) = (/ & &3.4650e+01_rb,6.1162e+01_rb,9.9313e+01_rb,1.5200e+02_rb,2.2168e+02_rb/) kbo(:,59,15) = (/ & &3.2067e+01_rb,5.7347e+01_rb,9.3961e+01_rb,1.4472e+02_rb,2.1224e+02_rb/) kbo(:,13,16) = (/ & &1.4292e+02_rb,1.7830e+02_rb,2.5018e+02_rb,3.7037e+02_rb,5.2070e+02_rb/) kbo(:,14,16) = (/ & &1.7229e+02_rb,2.1935e+02_rb,3.0306e+02_rb,4.4388e+02_rb,6.2020e+02_rb/) kbo(:,15,16) = (/ & &2.0873e+02_rb,2.6972e+02_rb,3.6756e+02_rb,5.2712e+02_rb,7.3393e+02_rb/) kbo(:,16,16) = (/ & &2.5439e+02_rb,3.3072e+02_rb,4.4570e+02_rb,6.2226e+02_rb,8.6517e+02_rb/) kbo(:,17,16) = (/ & &3.0902e+02_rb,4.0145e+02_rb,5.3763e+02_rb,7.3415e+02_rb,1.0082e+03_rb/) kbo(:,18,16) = (/ & &3.7239e+02_rb,4.8343e+02_rb,6.4354e+02_rb,8.6401e+02_rb,1.1697e+03_rb/) kbo(:,19,16) = (/ & &4.4344e+02_rb,5.7744e+02_rb,7.6245e+02_rb,1.0126e+03_rb,1.3544e+03_rb/) kbo(:,20,16) = (/ & &5.2591e+02_rb,6.8473e+02_rb,8.9843e+02_rb,1.1879e+03_rb,1.5662e+03_rb/) kbo(:,21,16) = (/ & &6.1975e+02_rb,8.0389e+02_rb,1.0527e+03_rb,1.3850e+03_rb,1.8066e+03_rb/) kbo(:,22,16) = (/ & &7.3890e+02_rb,9.5515e+02_rb,1.2474e+03_rb,1.6302e+03_rb,2.1130e+03_rb/) kbo(:,23,16) = (/ & &8.7503e+02_rb,1.1289e+03_rb,1.4705e+03_rb,1.9102e+03_rb,2.4554e+03_rb/) kbo(:,24,16) = (/ & &1.0277e+03_rb,1.3283e+03_rb,1.7241e+03_rb,2.2247e+03_rb,2.8319e+03_rb/) kbo(:,25,16) = (/ & &1.2034e+03_rb,1.5543e+03_rb,2.0073e+03_rb,2.5693e+03_rb,3.2356e+03_rb/) kbo(:,26,16) = (/ & &1.4042e+03_rb,1.8088e+03_rb,2.3218e+03_rb,2.9229e+03_rb,3.6714e+03_rb/) kbo(:,27,16) = (/ & &1.6234e+03_rb,2.0833e+03_rb,2.6544e+03_rb,3.3382e+03_rb,4.1196e+03_rb/) kbo(:,28,16) = (/ & &1.8563e+03_rb,2.3730e+03_rb,3.0002e+03_rb,3.7388e+03_rb,4.5730e+03_rb/) kbo(:,29,16) = (/ & &2.1060e+03_rb,2.6609e+03_rb,3.3576e+03_rb,4.1487e+03_rb,5.0295e+03_rb/) kbo(:,30,16) = (/ & &2.3669e+03_rb,2.9882e+03_rb,3.7190e+03_rb,4.5573e+03_rb,5.4823e+03_rb/) kbo(:,31,16) = (/ & &2.6382e+03_rb,3.3079e+03_rb,4.0851e+03_rb,4.9669e+03_rb,5.9326e+03_rb/) kbo(:,32,16) = (/ & &2.9162e+03_rb,3.6311e+03_rb,4.4535e+03_rb,5.3188e+03_rb,6.3774e+03_rb/) kbo(:,33,16) = (/ & &3.1977e+03_rb,3.9546e+03_rb,4.8182e+03_rb,5.7741e+03_rb,6.8136e+03_rb/) kbo(:,34,16) = (/ & &3.4540e+03_rb,4.2467e+03_rb,5.1445e+03_rb,6.1305e+03_rb,7.1986e+03_rb/) kbo(:,35,16) = (/ & &3.6329e+03_rb,4.4502e+03_rb,5.3698e+03_rb,6.3759e+03_rb,7.4635e+03_rb/) kbo(:,36,16) = (/ & &3.7190e+03_rb,4.5470e+03_rb,5.4751e+03_rb,6.4918e+03_rb,7.5883e+03_rb/) kbo(:,37,16) = (/ & &3.6766e+03_rb,4.4979e+03_rb,5.4194e+03_rb,6.4326e+03_rb,7.5253e+03_rb/) kbo(:,38,16) = (/ & &3.6175e+03_rb,4.4311e+03_rb,5.3444e+03_rb,6.3514e+03_rb,7.4384e+03_rb/) kbo(:,39,16) = (/ & &3.5511e+03_rb,4.3577e+03_rb,5.2603e+03_rb,6.2593e+03_rb,7.3011e+03_rb/) kbo(:,40,16) = (/ & &3.4038e+03_rb,4.1899e+03_rb,5.0730e+03_rb,6.0546e+03_rb,7.1202e+03_rb/) kbo(:,41,16) = (/ & &3.2449e+03_rb,4.0090e+03_rb,4.8718e+03_rb,5.8306e+03_rb,6.8794e+03_rb/) kbo(:,42,16) = (/ & &3.0878e+03_rb,3.8270e+03_rb,4.6679e+03_rb,5.6043e+03_rb,6.6342e+03_rb/) kbo(:,43,16) = (/ & &2.8974e+03_rb,3.6038e+03_rb,4.4171e+03_rb,5.3250e+03_rb,6.3295e+03_rb/) kbo(:,44,16) = (/ & &2.6963e+03_rb,3.3670e+03_rb,4.1477e+03_rb,5.0263e+03_rb,5.9993e+03_rb/) kbo(:,45,16) = (/ & &2.5060e+03_rb,3.1396e+03_rb,3.8862e+03_rb,4.7337e+03_rb,5.6766e+03_rb/) kbo(:,46,16) = (/ & &2.3164e+03_rb,2.9079e+03_rb,3.6158e+03_rb,4.4299e+03_rb,5.3398e+03_rb/) kbo(:,47,16) = (/ & &2.1174e+03_rb,2.6621e+03_rb,3.3261e+03_rb,4.0998e+03_rb,4.9727e+03_rb/) kbo(:,48,16) = (/ & &1.9329e+03_rb,2.4347e+03_rb,3.0518e+03_rb,3.7834e+03_rb,4.6186e+03_rb/) kbo(:,49,16) = (/ & &1.7595e+03_rb,2.2251e+03_rb,2.7943e+03_rb,3.4811e+03_rb,4.2776e+03_rb/) kbo(:,50,16) = (/ & &1.6082e+03_rb,2.0431e+03_rb,2.5690e+03_rb,3.2137e+03_rb,3.9707e+03_rb/) kbo(:,51,16) = (/ & &1.4710e+03_rb,1.8773e+03_rb,2.3673e+03_rb,2.9684e+03_rb,3.6854e+03_rb/) kbo(:,52,16) = (/ & &1.3426e+03_rb,1.7222e+03_rb,2.1800e+03_rb,2.7371e+03_rb,3.4141e+03_rb/) kbo(:,53,16) = (/ & &1.2224e+03_rb,1.5765e+03_rb,2.0045e+03_rb,2.5219e+03_rb,3.1562e+03_rb/) kbo(:,54,16) = (/ & &1.1196e+03_rb,1.4516e+03_rb,1.8541e+03_rb,2.3387e+03_rb,2.9325e+03_rb/) kbo(:,55,16) = (/ & &1.0267e+03_rb,1.3387e+03_rb,1.7175e+03_rb,2.1745e+03_rb,2.7302e+03_rb/) kbo(:,56,16) = (/ & &9.3987e+02_rb,1.2326e+03_rb,1.5894e+03_rb,2.0202e+03_rb,2.5405e+03_rb/) kbo(:,57,16) = (/ & &8.5792e+02_rb,1.1333e+03_rb,1.4474e+03_rb,1.8742e+03_rb,2.3631e+03_rb/) kbo(:,58,16) = (/ & &7.8443e+02_rb,1.0443e+03_rb,1.3605e+03_rb,1.7435e+03_rb,2.2055e+03_rb/) kbo(:,59,16) = (/ & &7.5656e+02_rb,1.0103e+03_rb,1.3189e+03_rb,1.6936e+03_rb,2.1455e+03_rb/) ! The array FORREFO contains the coefficient of the water vapor ! foreign-continuum (including the energy term). The first ! index refers to reference temperature (296,260,224,260) and ! pressure (970,475,219,3 mbar) levels. The second index ! runs over the g-channel (1 to 16). forrefo(1,:) = (/ & &2.8549e-03_rb,4.8281e-03_rb,6.2570e-03_rb,8.2731e-03_rb,7.9056e-03_rb,7.7840e-03_rb, & &1.0115e-02_rb,9.6599e-03_rb,1.0153e-02_rb,1.0921e-02_rb,1.2408e-02_rb,1.3496e-02_rb, & &1.5059e-02_rb,1.4636e-02_rb,1.6483e-02_rb,1.2394e-02_rb/) forrefo(2,:) = (/ & &3.0036e-03_rb,5.1093e-03_rb,5.7317e-03_rb,9.2246e-03_rb,8.9829e-03_rb,8.6477e-03_rb, & &1.1448e-02_rb,1.0391e-02_rb,1.0211e-02_rb,1.2921e-02_rb,1.2726e-02_rb,1.2426e-02_rb, & &1.4609e-02_rb,1.5783e-02_rb,1.6617e-02_rb,1.6858e-02_rb/) forrefo(3,:) = (/ & &3.0771e-03_rb,5.1206e-03_rb,5.8426e-03_rb,9.5727e-03_rb,1.0338e-02_rb,9.3737e-03_rb, & &1.2805e-02_rb,1.1272e-02_rb,1.1353e-02_rb,1.1837e-02_rb,1.1550e-02_rb,1.3020e-02_rb, & &1.3536e-02_rb,1.6226e-02_rb,1.6039e-02_rb,2.2578e-02_rb/) forrefo(4,:) = (/ & &3.3072e-03_rb,5.0240e-03_rb,6.8474e-03_rb,8.2736e-03_rb,8.6151e-03_rb,8.6762e-03_rb, & &1.1476e-02_rb,1.0246e-02_rb,1.0819e-02_rb,1.0640e-02_rb,1.0545e-02_rb,1.0533e-02_rb, & &1.0496e-02_rb,1.0142e-02_rb,9.7979e-03_rb,1.5255e-02_rb/) ! The array SELFREFO contains the coefficient of the water vapor ! self-continuum (including the energy term). The first index ! refers to temperature in 7.2 degree increments. For instance, ! JT = 1 refers to a temperature of 245.6, JT = 2 refers to 252.8, ! etc. The second index runs over the g-channel (1 to 16). selfrefo(:, 1) = (/ & & 7.25695e-01_rb, 6.53591e-01_rb, 5.88650e-01_rb, 5.30162e-01_rb, 4.77485e-01_rb, & & 4.30042e-01_rb, 3.87313e-01_rb, 3.48830e-01_rb, 3.14170e-01_rb, 2.82954e-01_rb/) selfrefo(:, 2) = (/ & & 9.61996e-01_rb, 8.77853e-01_rb, 8.01070e-01_rb, 7.31003e-01_rb, 6.67064e-01_rb, & & 6.08718e-01_rb, 5.55476e-01_rb, 5.06890e-01_rb, 4.62554e-01_rb, 4.22096e-01_rb/) selfrefo(:, 3) = (/ & & 9.72584e-01_rb, 9.02658e-01_rb, 8.37760e-01_rb, 7.77527e-01_rb, 7.21626e-01_rb, & & 6.69743e-01_rb, 6.21591e-01_rb, 5.76900e-01_rb, 5.35423e-01_rb, 4.96927e-01_rb/) selfrefo(:, 4) = (/ & & 1.24790e+00_rb, 1.14353e+00_rb, 1.04790e+00_rb, 9.60263e-01_rb, 8.79956e-01_rb, & & 8.06364e-01_rb, 7.38927e-01_rb, 6.77130e-01_rb, 6.20501e-01_rb, 5.68608e-01_rb/) selfrefo(:, 5) = (/ & & 1.23574e+00_rb, 1.12928e+00_rb, 1.03200e+00_rb, 9.43096e-01_rb, 8.61851e-01_rb, & & 7.87605e-01_rb, 7.19755e-01_rb, 6.57750e-01_rb, 6.01087e-01_rb, 5.49305e-01_rb/) selfrefo(:, 6) = (/ & & 1.20921e+00_rb, 1.10660e+00_rb, 1.01270e+00_rb, 9.26766e-01_rb, 8.48124e-01_rb, & & 7.76155e-01_rb, 7.10293e-01_rb, 6.50020e-01_rb, 5.94861e-01_rb, 5.44384e-01_rb/) selfrefo(:, 7) = (/ & & 1.38112e+00_rb, 1.26727e+00_rb, 1.16280e+00_rb, 1.06694e+00_rb, 9.78990e-01_rb, & & 8.98287e-01_rb, 8.24236e-01_rb, 7.56290e-01_rb, 6.93945e-01_rb, 6.36739e-01_rb/) selfrefo(:, 8) = (/ & & 1.30321e+00_rb, 1.20127e+00_rb, 1.10730e+00_rb, 1.02068e+00_rb, 9.40840e-01_rb, & & 8.67243e-01_rb, 7.99403e-01_rb, 7.36870e-01_rb, 6.79229e-01_rb, 6.26096e-01_rb/) selfrefo(:, 9) = (/ & & 1.26713e+00_rb, 1.17927e+00_rb, 1.09750e+00_rb, 1.02140e+00_rb, 9.50575e-01_rb, & & 8.84662e-01_rb, 8.23319e-01_rb, 7.66230e-01_rb, 7.13099e-01_rb, 6.63653e-01_rb/) selfrefo(:,10) = (/ & & 1.49824e+00_rb, 1.37053e+00_rb, 1.25370e+00_rb, 1.14683e+00_rb, 1.04908e+00_rb, & & 9.59651e-01_rb, 8.77849e-01_rb, 8.03020e-01_rb, 7.34569e-01_rb, 6.71954e-01_rb/) selfrefo(:,11) = (/ & & 1.44786e+00_rb, 1.34594e+00_rb, 1.25120e+00_rb, 1.16313e+00_rb, 1.08125e+00_rb, & & 1.00514e+00_rb, 9.34392e-01_rb, 8.68620e-01_rb, 8.07477e-01_rb, 7.50639e-01_rb/) selfrefo(:,12) = (/ & & 1.38460e+00_rb, 1.30437e+00_rb, 1.22880e+00_rb, 1.15760e+00_rb, 1.09053e+00_rb, & & 1.02735e+00_rb, 9.67825e-01_rb, 9.11750e-01_rb, 8.58924e-01_rb, 8.09159e-01_rb/) selfrefo(:,13) = (/ & & 1.51953e+00_rb, 1.42822e+00_rb, 1.34240e+00_rb, 1.26173e+00_rb, 1.18592e+00_rb, & & 1.11465e+00_rb, 1.04768e+00_rb, 9.84720e-01_rb, 9.25548e-01_rb, 8.69932e-01_rb/) selfrefo(:,14) = (/ & & 1.62608e+00_rb, 1.51021e+00_rb, 1.40260e+00_rb, 1.30266e+00_rb, 1.20983e+00_rb, & & 1.12363e+00_rb, 1.04356e+00_rb, 9.69200e-01_rb, 9.00138e-01_rb, 8.35998e-01_rb/) selfrefo(:,15) = (/ & & 1.65383e+00_rb, 1.54808e+00_rb, 1.44910e+00_rb, 1.35644e+00_rb, 1.26971e+00_rb, & & 1.18853e+00_rb, 1.11254e+00_rb, 1.04140e+00_rb, 9.74813e-01_rb, 9.12484e-01_rb/) selfrefo(:,16) = (/ & & 1.78105e+00_rb, 1.61421e+00_rb, 1.46300e+00_rb, 1.32595e+00_rb, 1.20174e+00_rb, & & 1.08917e+00_rb, 9.87141e-01_rb, 8.94670e-01_rb, 8.10861e-01_rb, 7.34904e-01_rb/) end subroutine lw_kgb02 ! ************************************************************************** subroutine lw_kgb03 ! ************************************************************************** use parkind, only : im => kind_im, rb => kind_rb use rrlw_kg03, only : fracrefao, fracrefbo, kao, kbo, kao_mn2o, & kbo_mn2o, selfrefo, forrefo implicit none save ! Planck fraction mapping level: P=212.7250 mbar, T = 223.06 K fracrefao(:, 1) = (/ & & 1.6251e-01_rb,1.5572e-01_rb,1.4557e-01_rb,1.3208e-01_rb,1.1582e-01_rb,9.6895e-02_rb, & & 7.8720e-02_rb,5.8462e-02_rb,3.9631e-02_rb,4.3001e-03_rb,3.5555e-03_rb,2.8101e-03_rb, & & 2.0547e-03_rb,1.3109e-03_rb,4.9403e-04_rb,6.9515e-05_rb/) fracrefao(:, 2) = (/ & & 1.6006e-01_rb,1.5576e-01_rb,1.4609e-01_rb,1.3276e-01_rb,1.1594e-01_rb,9.7336e-02_rb, & & 7.9035e-02_rb,5.8696e-02_rb,3.9723e-02_rb,4.3001e-03_rb,3.5555e-03_rb,2.8101e-03_rb, & & 2.0547e-03_rb,1.3109e-03_rb,4.9403e-04_rb,6.9515e-05_rb/) fracrefao(:, 3) = (/ & & 1.5952e-01_rb,1.5566e-01_rb,1.4590e-01_rb,1.3294e-01_rb,1.1599e-01_rb,9.7511e-02_rb, & & 7.9127e-02_rb,5.8888e-02_rb,3.9874e-02_rb,4.3001e-03_rb,3.5555e-03_rb,2.8102e-03_rb, & & 2.0547e-03_rb,1.3109e-03_rb,4.9403e-04_rb,6.9515e-05_rb/) fracrefao(:, 4) = (/ & & 1.5907e-01_rb,1.5541e-01_rb,1.4585e-01_rb,1.3316e-01_rb,1.1596e-01_rb,9.7647e-02_rb, & & 7.9243e-02_rb,5.9024e-02_rb,4.0028e-02_rb,4.3112e-03_rb,3.5555e-03_rb,2.8102e-03_rb, & & 2.0547e-03_rb,1.3109e-03_rb,4.9403e-04_rb,6.9515e-05_rb/) fracrefao(:, 5) = (/ & & 1.5862e-01_rb,1.5517e-01_rb,1.4588e-01_rb,1.3328e-01_rb,1.1585e-01_rb,9.7840e-02_rb, & & 7.9364e-02_rb,5.9174e-02_rb,4.0160e-02_rb,4.3403e-03_rb,3.5900e-03_rb,2.8102e-03_rb, & & 2.0547e-03_rb,1.3109e-03_rb,4.9403e-04_rb,6.9515e-05_rb/) fracrefao(:, 6) = (/ & & 1.5830e-01_rb,1.5490e-01_rb,1.4582e-01_rb,1.3331e-01_rb,1.1567e-01_rb,9.8079e-02_rb, & & 7.9510e-02_rb,5.9369e-02_rb,4.0326e-02_rb,4.3343e-03_rb,3.5908e-03_rb,2.8527e-03_rb, & & 2.0655e-03_rb,1.3109e-03_rb,4.9403e-04_rb,6.9515e-05_rb/) fracrefao(:, 7) = (/ & & 1.5789e-01_rb,1.5435e-01_rb,1.4595e-01_rb,1.3304e-01_rb,1.1566e-01_rb,9.8426e-02_rb, & & 7.9704e-02_rb,5.9618e-02_rb,4.0520e-02_rb,4.3812e-03_rb,3.6147e-03_rb,2.8395e-03_rb, & & 2.1301e-03_rb,1.3145e-03_rb,4.9403e-04_rb,6.9515e-05_rb/) fracrefao(:, 8) = (/ & & 1.5704e-01_rb,1.5398e-01_rb,1.4564e-01_rb,1.3222e-01_rb,1.1586e-01_rb,9.9230e-02_rb, & & 8.0011e-02_rb,6.0149e-02_rb,4.0790e-02_rb,4.4253e-03_rb,3.6534e-03_rb,2.9191e-03_rb, & & 2.1373e-03_rb,1.3558e-03_rb,5.1631e-04_rb,7.8794e-05_rb/) fracrefao(:, 9) = (/ & & 1.5270e-01_rb,1.5126e-01_rb,1.4264e-01_rb,1.3106e-01_rb,1.1740e-01_rb,1.0137e-01_rb, & & 8.3057e-02_rb,6.2282e-02_rb,4.2301e-02_rb,4.6486e-03_rb,3.8159e-03_rb,3.0472e-03_rb, & & 2.2870e-03_rb,1.4818e-03_rb,5.6773e-04_rb,7.8794e-05_rb/) ! Planck fraction mapping level: p = 95.8 mbar, t = 215.7 k fracrefbo(:, 1) = (/ & & 1.6413e-01_rb,1.5665e-01_rb,1.4606e-01_rb,1.3184e-01_rb,1.1517e-01_rb,9.6243e-02_rb, & & 7.7982e-02_rb,5.8165e-02_rb,3.9311e-02_rb,4.2586e-03_rb,3.5189e-03_rb,2.7793e-03_rb, & & 2.0376e-03_rb,1.2938e-03_rb,4.8853e-04_rb,6.8745e-05_rb/) fracrefbo(:, 2) = (/ & & 1.6254e-01_rb,1.5674e-01_rb,1.4652e-01_rb,1.3221e-01_rb,1.1535e-01_rb,9.6439e-02_rb, & & 7.8155e-02_rb,5.8254e-02_rb,3.9343e-02_rb,4.2586e-03_rb,3.5189e-03_rb,2.7793e-03_rb, & & 2.0376e-03_rb,1.2938e-03_rb,4.8853e-04_rb,6.8745e-05_rb/) fracrefbo(:, 3) = (/ & & 1.6177e-01_rb,1.5664e-01_rb,1.4669e-01_rb,1.3242e-01_rb,1.1541e-01_rb,9.6536e-02_rb, & & 7.8257e-02_rb,5.8387e-02_rb,3.9431e-02_rb,4.2587e-03_rb,3.5189e-03_rb,2.7793e-03_rb, & & 2.0376e-03_rb,1.2938e-03_rb,4.8853e-04_rb,6.8745e-05_rb/) fracrefbo(:, 4) = (/ & & 1.6077e-01_rb,1.5679e-01_rb,1.4648e-01_rb,1.3273e-01_rb,1.1546e-01_rb,9.6779e-02_rb, & & 7.8371e-02_rb,5.8546e-02_rb,3.9611e-02_rb,4.2772e-03_rb,3.5190e-03_rb,2.7793e-03_rb, & & 2.0376e-03_rb,1.2938e-03_rb,4.8853e-04_rb,6.8745e-05_rb/) fracrefbo(:, 5) = (/ & & 1.6067e-01_rb,1.5608e-01_rb,1.4247e-01_rb,1.2881e-01_rb,1.1449e-01_rb,9.8802e-02_rb, & & 8.0828e-02_rb,6.0977e-02_rb,4.1494e-02_rb,4.5116e-03_rb,3.7290e-03_rb,2.9460e-03_rb, & & 2.1948e-03_rb,1.3778e-03_rb,5.4552e-04_rb,7.9969e-05_rb/) ! The array KAO contains absorption coefs for each of the 16 g-intervals ! for a range of pressure levels > ~100mb, temperatures, and ratios ! of water vapor to CO2. The first index in the array, JS, runs ! from 1 to 10, and corresponds to different gas column amount ratios, ! as expressed through the binary species parameter eta, defined as ! eta = gas1/(gas1 + (rat) * gas2), where rat is the ! ratio of the reference MLS column amount value of gas 1 ! to that of gas2. ! The 2nd index in the array, JT, which runs from 1 to 5, corresponds ! to different temperatures. More specifically, JT = 3 means that the ! data are for the reference temperature TREF for this pressure ! level, JT = 2 refers to the temperature ! TREF-15, JT = 1 is for TREF-30, JT = 4 is for TREF+15, and JT = 5 ! is for TREF+30. The third index, JP, runs from 1 to 13 and refers ! to the reference pressure level (e.g. JP = 1 is for a ! pressure of 1053.63 mb). The fourth index, IG, goes from 1 to 16, ! and tells us which g-interval the absorption coefficients are for. kao(:, 1, 1, 1) = (/ & &3.1886e-07_rb,1.8969e-04_rb,4.1239e-04_rb,6.4667e-04_rb,8.5292e-04_rb,1.1836e-03_rb, & &1.4006e-03_rb,1.5411e-03_rb,8.3293e-04_rb/) kao(:, 2, 1, 1) = (/ & &4.3208e-07_rb,2.2286e-04_rb,4.4627e-04_rb,7.2330e-04_rb,9.3694e-04_rb,1.2337e-03_rb, & &1.5482e-03_rb,1.7773e-03_rb,1.0038e-03_rb/) kao(:, 3, 1, 1) = (/ & &5.8834e-07_rb,2.6143e-04_rb,5.0441e-04_rb,7.7424e-04_rb,1.0403e-03_rb,1.3331e-03_rb, & &1.7908e-03_rb,2.0845e-03_rb,1.1619e-03_rb/) kao(:, 4, 1, 1) = (/ & &7.9926e-07_rb,3.0532e-04_rb,5.7655e-04_rb,8.4667e-04_rb,1.1189e-03_rb,1.4849e-03_rb, & &1.7793e-03_rb,2.3392e-03_rb,1.2758e-03_rb/) kao(:, 5, 1, 1) = (/ & &1.0726e-06_rb,3.5559e-04_rb,6.6472e-04_rb,9.5586e-04_rb,1.2287e-03_rb,1.5629e-03_rb, & &1.9684e-03_rb,2.6521e-03_rb,1.4781e-03_rb/) kao(:, 1, 2, 1) = (/ & &3.7301e-07_rb,1.5101e-04_rb,3.0613e-04_rb,5.2444e-04_rb,6.6785e-04_rb,9.0347e-04_rb, & &1.1047e-03_rb,1.2717e-03_rb,6.0920e-04_rb/) kao(:, 2, 2, 1) = (/ & &5.0464e-07_rb,1.7900e-04_rb,3.4606e-04_rb,5.4112e-04_rb,7.7706e-04_rb,9.3108e-04_rb, & &1.2909e-03_rb,1.4671e-03_rb,7.3637e-04_rb/) kao(:, 3, 2, 1) = (/ & &6.9109e-07_rb,2.1210e-04_rb,4.0308e-04_rb,5.9670e-04_rb,8.3572e-04_rb,1.0539e-03_rb, & &1.2895e-03_rb,1.6281e-03_rb,8.3917e-04_rb/) kao(:, 4, 2, 1) = (/ & &9.4449e-07_rb,2.4973e-04_rb,4.6862e-04_rb,6.7662e-04_rb,9.0294e-04_rb,1.1388e-03_rb, & &1.4230e-03_rb,1.8780e-03_rb,9.5236e-04_rb/) kao(:, 5, 2, 1) = (/ & &1.2785e-06_rb,2.9283e-04_rb,5.4407e-04_rb,7.7522e-04_rb,1.0053e-03_rb,1.2254e-03_rb, & &1.5592e-03_rb,1.9031e-03_rb,1.1164e-03_rb/) kao(:, 1, 3, 1) = (/ & &5.5921e-07_rb,1.1924e-04_rb,2.2509e-04_rb,3.4318e-04_rb,5.2308e-04_rb,6.5616e-04_rb, & &8.5230e-04_rb,1.0069e-03_rb,4.1268e-04_rb/) kao(:, 2, 3, 1) = (/ & &7.5055e-07_rb,1.4483e-04_rb,2.6805e-04_rb,3.9345e-04_rb,5.4245e-04_rb,7.6863e-04_rb, & &8.6931e-04_rb,1.1266e-03_rb,5.0829e-04_rb/) kao(:, 3, 3, 1) = (/ & &1.0282e-06_rb,1.7418e-04_rb,3.1823e-04_rb,4.6052e-04_rb,6.0646e-04_rb,8.0699e-04_rb, & &9.9010e-04_rb,1.2822e-03_rb,5.8353e-04_rb/) kao(:, 4, 3, 1) = (/ & &1.4165e-06_rb,2.0776e-04_rb,3.7640e-04_rb,5.3896e-04_rb,6.9736e-04_rb,8.7108e-04_rb, & &1.0948e-03_rb,1.3035e-03_rb,6.8429e-04_rb/) kao(:, 5, 3, 1) = (/ & &1.9344e-06_rb,2.4744e-04_rb,4.4263e-04_rb,6.2983e-04_rb,8.0258e-04_rb,9.7503e-04_rb, & &1.1651e-03_rb,1.4497e-03_rb,8.1461e-04_rb/) kao(:, 1, 4, 1) = (/ & &8.5732e-07_rb,9.6467e-05_rb,1.7424e-04_rb,2.5100e-04_rb,3.3065e-04_rb,4.8724e-04_rb, & &6.0299e-04_rb,7.8582e-04_rb,2.9808e-04_rb/) kao(:, 2, 4, 1) = (/ & &1.1308e-06_rb,1.1826e-04_rb,2.1303e-04_rb,3.0261e-04_rb,3.9186e-04_rb,5.0849e-04_rb, & &7.0322e-04_rb,8.2275e-04_rb,3.5462e-04_rb/) kao(:, 3, 4, 1) = (/ & &1.5409e-06_rb,1.4413e-04_rb,2.5818e-04_rb,3.6263e-04_rb,4.6469e-04_rb,5.7592e-04_rb, & &7.3867e-04_rb,8.7496e-04_rb,4.2760e-04_rb/) kao(:, 4, 4, 1) = (/ & &2.1300e-06_rb,1.7563e-04_rb,3.1026e-04_rb,4.3228e-04_rb,5.4859e-04_rb,6.6681e-04_rb, & &7.9581e-04_rb,9.9932e-04_rb,5.0892e-04_rb/) kao(:, 5, 4, 1) = (/ & &2.9291e-06_rb,2.1272e-04_rb,3.6864e-04_rb,5.1165e-04_rb,6.4677e-04_rb,7.7619e-04_rb, & &8.9814e-04_rb,1.0897e-03_rb,6.0064e-04_rb/) kao(:, 1, 5, 1) = (/ & &1.2415e-06_rb,7.8277e-05_rb,1.3778e-04_rb,1.9284e-04_rb,2.4740e-04_rb,3.0422e-04_rb, & &4.5046e-04_rb,5.5097e-04_rb,2.1557e-04_rb/) kao(:, 2, 5, 1) = (/ & &1.5909e-06_rb,9.7521e-05_rb,1.7125e-04_rb,2.3852e-04_rb,3.0221e-04_rb,3.6563e-04_rb, & &4.6525e-04_rb,6.1320e-04_rb,2.5987e-04_rb/) kao(:, 3, 5, 1) = (/ & &2.1423e-06_rb,1.2163e-04_rb,2.0881e-04_rb,2.9129e-04_rb,3.6625e-04_rb,4.3908e-04_rb, & &5.2524e-04_rb,7.1422e-04_rb,3.1853e-04_rb/) kao(:, 4, 5, 1) = (/ & &2.9538e-06_rb,1.5072e-04_rb,2.5416e-04_rb,3.5255e-04_rb,4.4063e-04_rb,5.2156e-04_rb, & &6.0639e-04_rb,7.4820e-04_rb,3.8686e-04_rb/) kao(:, 5, 5, 1) = (/ & &4.0808e-06_rb,1.8492e-04_rb,3.0793e-04_rb,4.2155e-04_rb,5.2630e-04_rb,6.1892e-04_rb, & &7.0820e-04_rb,8.0049e-04_rb,4.6257e-04_rb/) kao(:, 1, 6, 1) = (/ & &1.7276e-06_rb,6.3066e-05_rb,1.0985e-04_rb,1.5043e-04_rb,1.8792e-04_rb,2.2547e-04_rb, & &2.7278e-04_rb,4.0029e-04_rb,1.5625e-04_rb/) kao(:, 2, 6, 1) = (/ & &2.1189e-06_rb,8.0476e-05_rb,1.3664e-04_rb,1.8841e-04_rb,2.3492e-04_rb,2.7888e-04_rb, & &3.2236e-04_rb,4.6057e-04_rb,1.9653e-04_rb/) kao(:, 3, 6, 1) = (/ & &2.7917e-06_rb,1.0200e-04_rb,1.6954e-04_rb,2.3141e-04_rb,2.8961e-04_rb,3.4143e-04_rb, & &3.9023e-04_rb,4.8352e-04_rb,2.3947e-04_rb/) kao(:, 4, 6, 1) = (/ & &3.8168e-06_rb,1.2811e-04_rb,2.1054e-04_rb,2.8370e-04_rb,3.5217e-04_rb,4.1385e-04_rb, & &4.6780e-04_rb,5.3253e-04_rb,2.9421e-04_rb/) kao(:, 5, 6, 1) = (/ & &5.2799e-06_rb,1.5893e-04_rb,2.5910e-04_rb,3.4517e-04_rb,4.2434e-04_rb,4.9842e-04_rb, & &5.5728e-04_rb,6.1195e-04_rb,3.4978e-04_rb/) kao(:, 1, 7, 1) = (/ & &2.6141e-06_rb,5.1662e-05_rb,8.7249e-05_rb,1.2099e-04_rb,1.4820e-04_rb,1.7386e-04_rb, & &1.9973e-04_rb,2.8823e-04_rb,1.2462e-04_rb/) kao(:, 2, 7, 1) = (/ & &3.0451e-06_rb,6.6903e-05_rb,1.1099e-04_rb,1.5079e-04_rb,1.8779e-04_rb,2.1746e-04_rb, & &2.4532e-04_rb,2.8791e-04_rb,1.5686e-04_rb/) kao(:, 3, 7, 1) = (/ & &3.8821e-06_rb,8.6234e-05_rb,1.4155e-04_rb,1.8817e-04_rb,2.3079e-04_rb,2.7142e-04_rb, & &3.0362e-04_rb,3.3424e-04_rb,1.9309e-04_rb/) kao(:, 4, 7, 1) = (/ & &5.2168e-06_rb,1.0990e-04_rb,1.7879e-04_rb,2.3488e-04_rb,2.8585e-04_rb,3.3138e-04_rb, & &3.7038e-04_rb,4.0029e-04_rb,2.2841e-04_rb/) kao(:, 5, 7, 1) = (/ & &7.1879e-06_rb,1.3891e-04_rb,2.2275e-04_rb,2.9114e-04_rb,3.5068e-04_rb,4.0298e-04_rb, & &4.4929e-04_rb,4.7758e-04_rb,2.7333e-04_rb/) kao(:, 1, 8, 1) = (/ & &4.8895e-06_rb,4.6642e-05_rb,7.3353e-05_rb,9.8230e-05_rb,1.2186e-04_rb,1.4040e-04_rb, & &1.5472e-04_rb,1.7158e-04_rb,1.2116e-04_rb/) kao(:, 2, 8, 1) = (/ & &5.4032e-06_rb,6.0479e-05_rb,9.5191e-05_rb,1.2606e-04_rb,1.5260e-04_rb,1.7774e-04_rb, & &1.9641e-04_rb,2.0965e-04_rb,1.4264e-04_rb/) kao(:, 3, 8, 1) = (/ & &6.5997e-06_rb,7.8772e-05_rb,1.2353e-04_rb,1.6212e-04_rb,1.9427e-04_rb,2.2313e-04_rb, & &2.4636e-04_rb,2.5986e-04_rb,1.7188e-04_rb/) kao(:, 4, 8, 1) = (/ & &8.6548e-06_rb,1.0205e-04_rb,1.5903e-04_rb,2.0720e-04_rb,2.4581e-04_rb,2.7759e-04_rb, & &3.0314e-04_rb,3.2037e-04_rb,2.0203e-04_rb/) kao(:, 5, 8, 1) = (/ & &1.1792e-05_rb,1.3168e-04_rb,2.0236e-04_rb,2.6066e-04_rb,3.0759e-04_rb,3.4497e-04_rb, & &3.7389e-04_rb,3.8968e-04_rb,2.4008e-04_rb/) kao(:, 1, 9, 1) = (/ & &1.7686e-05_rb,6.2925e-05_rb,8.5198e-05_rb,1.0213e-04_rb,1.1543e-04_rb,1.2780e-04_rb, & &1.3994e-04_rb,1.4164e-04_rb,1.0306e-04_rb/) kao(:, 2, 9, 1) = (/ & &1.8629e-05_rb,7.9145e-05_rb,1.0839e-04_rb,1.3177e-04_rb,1.5002e-04_rb,1.6481e-04_rb, & &1.7578e-04_rb,1.8331e-04_rb,1.3692e-04_rb/) kao(:, 3, 9, 1) = (/ & &2.1655e-05_rb,1.0259e-04_rb,1.4047e-04_rb,1.7139e-04_rb,1.9624e-04_rb,2.1451e-04_rb, & &2.2698e-04_rb,2.2863e-04_rb,1.7350e-04_rb/) kao(:, 4, 9, 1) = (/ & &2.7461e-05_rb,1.3575e-04_rb,1.8409e-04_rb,2.2366e-04_rb,2.5484e-04_rb,2.7815e-04_rb, & &2.9152e-04_rb,2.8719e-04_rb,2.1425e-04_rb/) kao(:, 5, 9, 1) = (/ & &3.6727e-05_rb,1.8189e-04_rb,2.4258e-04_rb,2.9022e-04_rb,3.2921e-04_rb,3.5617e-04_rb, & &3.6983e-04_rb,3.5850e-04_rb,2.5866e-04_rb/) kao(:, 1,10, 1) = (/ & &7.2663e-05_rb,1.2805e-04_rb,1.4610e-04_rb,1.5523e-04_rb,1.5931e-04_rb,1.5768e-04_rb, & &1.4950e-04_rb,1.3593e-04_rb,1.1207e-04_rb/) kao(:, 2,10, 1) = (/ & &7.4019e-05_rb,1.5108e-04_rb,1.7625e-04_rb,1.9103e-04_rb,1.9729e-04_rb,1.9817e-04_rb, & &1.9144e-04_rb,1.7408e-04_rb,1.5499e-04_rb/) kao(:, 3,10, 1) = (/ & &8.2403e-05_rb,1.8863e-04_rb,2.2414e-04_rb,2.4536e-04_rb,2.5373e-04_rb,2.5549e-04_rb, & &2.4939e-04_rb,2.2811e-04_rb,2.0551e-04_rb/) kao(:, 4,10, 1) = (/ & &1.0093e-04_rb,2.4723e-04_rb,2.9626e-04_rb,3.2296e-04_rb,3.3348e-04_rb,3.3522e-04_rb, & &3.2677e-04_rb,2.9826e-04_rb,2.6379e-04_rb/) kao(:, 5,10, 1) = (/ & &1.3200e-04_rb,3.3367e-04_rb,4.0011e-04_rb,4.3332e-04_rb,4.4493e-04_rb,4.4261e-04_rb, & &4.2611e-04_rb,3.8581e-04_rb,3.2912e-04_rb/) kao(:, 1,11, 1) = (/ & &1.0393e-04_rb,1.5840e-04_rb,1.7203e-04_rb,1.7648e-04_rb,1.7454e-04_rb,1.6667e-04_rb, & &1.5308e-04_rb,1.2939e-04_rb,1.0993e-04_rb/) kao(:, 2,11, 1) = (/ & &1.0623e-04_rb,1.8473e-04_rb,2.0510e-04_rb,2.1424e-04_rb,2.1529e-04_rb,2.0732e-04_rb, & &1.9332e-04_rb,1.6735e-04_rb,1.5034e-04_rb/) kao(:, 3,11, 1) = (/ & &1.1880e-04_rb,2.2821e-04_rb,2.5935e-04_rb,2.7369e-04_rb,2.7717e-04_rb,2.6782e-04_rb, & &2.5002e-04_rb,2.1993e-04_rb,1.9822e-04_rb/) kao(:, 4,11, 1) = (/ & &1.4561e-04_rb,2.9665e-04_rb,3.4318e-04_rb,3.6287e-04_rb,3.6642e-04_rb,3.5386e-04_rb, & &3.2944e-04_rb,2.8811e-04_rb,2.5319e-04_rb/) kao(:, 5,11, 1) = (/ & &1.9054e-04_rb,3.9809e-04_rb,4.6486e-04_rb,4.9198e-04_rb,4.9373e-04_rb,4.7462e-04_rb, & &4.3676e-04_rb,3.7664e-04_rb,3.1222e-04_rb/) kao(:, 1,12, 1) = (/ & &1.1070e-04_rb,1.5948e-04_rb,1.6935e-04_rb,1.7123e-04_rb,1.6742e-04_rb,1.5636e-04_rb, & &1.4108e-04_rb,1.1641e-04_rb,9.3609e-05_rb/) kao(:, 2,12, 1) = (/ & &1.1350e-04_rb,1.8499e-04_rb,2.0156e-04_rb,2.0690e-04_rb,2.0458e-04_rb,1.9450e-04_rb, & &1.7678e-04_rb,1.4985e-04_rb,1.2839e-04_rb/) kao(:, 3,12, 1) = (/ & &1.2733e-04_rb,2.2735e-04_rb,2.5402e-04_rb,2.6442e-04_rb,2.6348e-04_rb,2.5189e-04_rb, & &2.2992e-04_rb,1.9655e-04_rb,1.6928e-04_rb/) kao(:, 4,12, 1) = (/ & &1.5627e-04_rb,2.9456e-04_rb,3.3549e-04_rb,3.5142e-04_rb,3.5055e-04_rb,3.3475e-04_rb, & &3.0473e-04_rb,2.5892e-04_rb,2.1653e-04_rb/) kao(:, 5,12, 1) = (/ & &2.0441e-04_rb,3.9462e-04_rb,4.5461e-04_rb,4.7637e-04_rb,4.7456e-04_rb,4.5071e-04_rb, & &4.0805e-04_rb,3.4047e-04_rb,2.6779e-04_rb/) kao(:, 1,13, 1) = (/ & &9.4796e-05_rb,1.3566e-04_rb,1.4361e-04_rb,1.4479e-04_rb,1.4118e-04_rb,1.3147e-04_rb, & &1.1819e-04_rb,9.7170e-05_rb,7.6303e-05_rb/) kao(:, 2,13, 1) = (/ & &9.7387e-05_rb,1.5742e-04_rb,1.7115e-04_rb,1.7535e-04_rb,1.7300e-04_rb,1.6383e-04_rb, & &1.4824e-04_rb,1.2513e-04_rb,1.0469e-04_rb/) kao(:, 3,13, 1) = (/ & &1.0948e-04_rb,1.9354e-04_rb,2.1601e-04_rb,2.2450e-04_rb,2.2321e-04_rb,2.1287e-04_rb, & &1.9350e-04_rb,1.6433e-04_rb,1.3819e-04_rb/) kao(:, 4,13, 1) = (/ & &1.3445e-04_rb,2.5083e-04_rb,2.8549e-04_rb,2.9847e-04_rb,2.9725e-04_rb,2.8343e-04_rb, & &2.5763e-04_rb,2.1720e-04_rb,1.7601e-04_rb/) kao(:, 5,13, 1) = (/ & &1.7573e-04_rb,3.3657e-04_rb,3.8710e-04_rb,4.0560e-04_rb,4.0357e-04_rb,3.8257e-04_rb, & &3.4653e-04_rb,2.8685e-04_rb,2.1855e-04_rb/) kao(:, 1, 1, 2) = (/ & &1.3073e-06_rb,4.2059e-04_rb,6.7561e-04_rb,8.6609e-04_rb,1.3520e-03_rb,1.6085e-03_rb, & &2.0908e-03_rb,3.5262e-03_rb,1.7846e-03_rb/) kao(:, 2, 1, 2) = (/ & &1.8197e-06_rb,5.0768e-04_rb,8.4110e-04_rb,1.0238e-03_rb,1.3765e-03_rb,1.9239e-03_rb, & &2.2997e-03_rb,3.5756e-03_rb,2.0767e-03_rb/) kao(:, 3, 1, 2) = (/ & &2.5084e-06_rb,6.1290e-04_rb,1.0202e-03_rb,1.2693e-03_rb,1.5516e-03_rb,2.0078e-03_rb, & &2.5461e-03_rb,3.4922e-03_rb,2.2668e-03_rb/) kao(:, 4, 1, 2) = (/ & &3.4224e-06_rb,7.3392e-04_rb,1.2104e-03_rb,1.5455e-03_rb,1.8866e-03_rb,2.1966e-03_rb, & &2.9624e-03_rb,3.8708e-03_rb,2.5909e-03_rb/) kao(:, 5, 1, 2) = (/ & &4.5990e-06_rb,8.7030e-04_rb,1.4253e-03_rb,1.8395e-03_rb,2.2537e-03_rb,2.6314e-03_rb, & &3.0779e-03_rb,4.2442e-03_rb,2.9663e-03_rb/) kao(:, 1, 2, 2) = (/ & &1.5178e-06_rb,3.4269e-04_rb,6.0748e-04_rb,7.1986e-04_rb,9.3674e-04_rb,1.3121e-03_rb, & &1.6102e-03_rb,2.4069e-03_rb,1.3247e-03_rb/) kao(:, 2, 2, 2) = (/ & &2.1299e-06_rb,4.2524e-04_rb,7.3703e-04_rb,9.3776e-04_rb,1.0398e-03_rb,1.4367e-03_rb, & &1.7353e-03_rb,2.4061e-03_rb,1.5243e-03_rb/) kao(:, 3, 2, 2) = (/ & &2.9612e-06_rb,5.1753e-04_rb,8.8626e-04_rb,1.1500e-03_rb,1.2896e-03_rb,1.5263e-03_rb, & &2.0876e-03_rb,2.6389e-03_rb,1.6966e-03_rb/) kao(:, 4, 2, 2) = (/ & &4.0897e-06_rb,6.2596e-04_rb,1.0597e-03_rb,1.3843e-03_rb,1.5850e-03_rb,1.8098e-03_rb, & &2.1268e-03_rb,2.8656e-03_rb,1.9584e-03_rb/) kao(:, 5, 2, 2) = (/ & &5.5687e-06_rb,7.4555e-04_rb,1.2600e-03_rb,1.6347e-03_rb,1.9070e-03_rb,2.1914e-03_rb, & &2.4166e-03_rb,3.3007e-03_rb,2.2669e-03_rb/) kao(:, 1, 3, 2) = (/ & &2.2234e-06_rb,2.7444e-04_rb,5.0085e-04_rb,6.9534e-04_rb,7.7629e-04_rb,8.8854e-04_rb, & &1.1917e-03_rb,1.5373e-03_rb,9.1595e-04_rb/) kao(:, 2, 3, 2) = (/ & &3.1317e-06_rb,3.4263e-04_rb,6.2257e-04_rb,8.4941e-04_rb,1.0127e-03_rb,1.0143e-03_rb, & &1.3362e-03_rb,1.6583e-03_rb,1.0393e-03_rb/) kao(:, 3, 3, 2) = (/ & &4.4080e-06_rb,4.2422e-04_rb,7.6347e-04_rb,1.0279e-03_rb,1.2387e-03_rb,1.2967e-03_rb, & &1.3932e-03_rb,1.8408e-03_rb,1.2152e-03_rb/) kao(:, 4, 3, 2) = (/ & &6.1670e-06_rb,5.2130e-04_rb,9.2425e-04_rb,1.2412e-03_rb,1.4849e-03_rb,1.6022e-03_rb, & &1.6415e-03_rb,2.0935e-03_rb,1.4201e-03_rb/) kao(:, 5, 3, 2) = (/ & &8.5264e-06_rb,6.3507e-04_rb,1.1072e-03_rb,1.4843e-03_rb,1.7747e-03_rb,1.9362e-03_rb, & &2.0233e-03_rb,2.1572e-03_rb,1.6619e-03_rb/) kao(:, 1, 4, 2) = (/ & &3.2835e-06_rb,2.2111e-04_rb,3.9199e-04_rb,5.4782e-04_rb,7.1479e-04_rb,7.6154e-04_rb, & &8.2345e-04_rb,1.0888e-03_rb,6.1749e-04_rb/) kao(:, 2, 4, 2) = (/ & &4.6177e-06_rb,2.8239e-04_rb,4.9392e-04_rb,6.9299e-04_rb,8.7089e-04_rb,1.0035e-03_rb, & &9.4113e-04_rb,1.2776e-03_rb,7.2212e-04_rb/) kao(:, 3, 4, 2) = (/ & &6.5470e-06_rb,3.5777e-04_rb,6.1550e-04_rb,8.6066e-04_rb,1.0686e-03_rb,1.2181e-03_rb, & &1.2204e-03_rb,1.3196e-03_rb,8.5856e-04_rb/) kao(:, 4, 4, 2) = (/ & &9.2896e-06_rb,4.4826e-04_rb,7.6106e-04_rb,1.0547e-03_rb,1.2989e-03_rb,1.4671e-03_rb, & &1.5260e-03_rb,1.4238e-03_rb,1.0237e-03_rb/) kao(:, 5, 4, 2) = (/ & &1.3071e-05_rb,5.5733e-04_rb,9.3625e-04_rb,1.2821e-03_rb,1.5559e-03_rb,1.7516e-03_rb, & &1.8364e-03_rb,1.7115e-03_rb,1.2165e-03_rb/) kao(:, 1, 5, 2) = (/ & &4.5002e-06_rb,1.7869e-04_rb,3.1112e-04_rb,4.2906e-04_rb,5.3570e-04_rb,6.6321e-04_rb, & &6.6606e-04_rb,8.0088e-04_rb,4.3845e-04_rb/) kao(:, 2, 5, 2) = (/ & &6.2709e-06_rb,2.3526e-04_rb,3.9946e-04_rb,5.4822e-04_rb,6.8446e-04_rb,8.1650e-04_rb, & &8.9841e-04_rb,8.3661e-04_rb,5.3250e-04_rb/) kao(:, 3, 5, 2) = (/ & &8.9215e-06_rb,3.0515e-04_rb,5.1007e-04_rb,6.9053e-04_rb,8.5739e-04_rb,1.0092e-03_rb, & &1.0997e-03_rb,9.5118e-04_rb,6.4123e-04_rb/) kao(:, 4, 5, 2) = (/ & &1.2814e-05_rb,3.9188e-04_rb,6.4418e-04_rb,8.6120e-04_rb,1.0618e-03_rb,1.2430e-03_rb, & &1.3327e-03_rb,1.2360e-03_rb,7.6830e-04_rb/) kao(:, 5, 5, 2) = (/ & &1.8376e-05_rb,4.9865e-04_rb,8.0644e-04_rb,1.0670e-03_rb,1.3038e-03_rb,1.5043e-03_rb, & &1.6049e-03_rb,1.5432e-03_rb,9.1314e-04_rb/) kao(:, 1, 6, 2) = (/ & &5.7892e-06_rb,1.4663e-04_rb,2.4065e-04_rb,3.3064e-04_rb,4.1135e-04_rb,4.8169e-04_rb, & &5.8379e-04_rb,5.7710e-04_rb,3.1814e-04_rb/) kao(:, 2, 6, 2) = (/ & &7.9690e-06_rb,1.9590e-04_rb,3.2041e-04_rb,4.3222e-04_rb,5.3334e-04_rb,6.2056e-04_rb, & &7.1751e-04_rb,6.6758e-04_rb,3.9067e-04_rb/) kao(:, 3, 6, 2) = (/ & &1.1323e-05_rb,2.6004e-04_rb,4.1914e-04_rb,5.5855e-04_rb,6.8140e-04_rb,7.8989e-04_rb, & &8.8852e-04_rb,8.8775e-04_rb,4.8310e-04_rb/) kao(:, 4, 6, 2) = (/ & &1.6358e-05_rb,3.4053e-04_rb,5.4044e-04_rb,7.1305e-04_rb,8.6088e-04_rb,9.8765e-04_rb, & &1.0974e-03_rb,1.1000e-03_rb,5.7948e-04_rb/) kao(:, 5, 6, 2) = (/ & &2.3775e-05_rb,4.4089e-04_rb,6.9082e-04_rb,9.0148e-04_rb,1.0783e-03_rb,1.2236e-03_rb, & &1.3409e-03_rb,1.3317e-03_rb,6.9627e-04_rb/) kao(:, 1, 7, 2) = (/ & &8.0091e-06_rb,1.2605e-04_rb,1.9716e-04_rb,2.5635e-04_rb,3.1697e-04_rb,3.6727e-04_rb, & &4.1064e-04_rb,4.3234e-04_rb,2.4150e-04_rb/) kao(:, 2, 7, 2) = (/ & &1.0776e-05_rb,1.7034e-04_rb,2.6589e-04_rb,3.4715e-04_rb,4.2062e-04_rb,4.8583e-04_rb, & &5.3757e-04_rb,5.9551e-04_rb,2.9725e-04_rb/) kao(:, 3, 7, 2) = (/ & &1.5189e-05_rb,2.2959e-04_rb,3.5476e-04_rb,4.5964e-04_rb,5.5426e-04_rb,6.3049e-04_rb, & &6.9328e-04_rb,7.3902e-04_rb,3.6802e-04_rb/) kao(:, 4, 7, 2) = (/ & &2.2007e-05_rb,3.0657e-04_rb,4.6692e-04_rb,5.9983e-04_rb,7.1322e-04_rb,8.0913e-04_rb, & &8.7898e-04_rb,9.1398e-04_rb,4.5358e-04_rb/) kao(:, 5, 7, 2) = (/ & &3.2377e-05_rb,4.0363e-04_rb,6.0728e-04_rb,7.7481e-04_rb,9.1139e-04_rb,1.0238e-03_rb, & &1.0988e-03_rb,1.1244e-03_rb,5.4283e-04_rb/) kao(:, 1, 8, 2) = (/ & &1.3646e-05_rb,1.1718e-04_rb,1.7739e-04_rb,2.2327e-04_rb,2.5768e-04_rb,2.9227e-04_rb, & &3.2168e-04_rb,3.3945e-04_rb,2.0435e-04_rb/) kao(:, 2, 8, 2) = (/ & &1.7797e-05_rb,1.5982e-04_rb,2.4160e-04_rb,3.0351e-04_rb,3.5441e-04_rb,3.9644e-04_rb, & &4.3035e-04_rb,4.4547e-04_rb,2.6027e-04_rb/) kao(:, 3, 8, 2) = (/ & &2.4726e-05_rb,2.1816e-04_rb,3.2650e-04_rb,4.0893e-04_rb,4.7479e-04_rb,5.2784e-04_rb, & &5.6990e-04_rb,5.8414e-04_rb,3.2342e-04_rb/) kao(:, 4, 8, 2) = (/ & &3.5739e-05_rb,2.9719e-04_rb,4.3967e-04_rb,5.4459e-04_rb,6.2961e-04_rb,6.9435e-04_rb, & &7.4016e-04_rb,7.4703e-04_rb,3.9508e-04_rb/) kao(:, 5, 8, 2) = (/ & &5.2993e-05_rb,4.0333e-04_rb,5.8500e-04_rb,7.1845e-04_rb,8.2505e-04_rb,9.0108e-04_rb, & &9.4665e-04_rb,9.4587e-04_rb,4.7280e-04_rb/) kao(:, 1, 9, 2) = (/ & &4.5250e-05_rb,1.4686e-04_rb,2.0230e-04_rb,2.4828e-04_rb,2.8036e-04_rb,2.9801e-04_rb, & &2.9921e-04_rb,2.8815e-04_rb,2.4577e-04_rb/) kao(:, 2, 9, 2) = (/ & &5.6592e-05_rb,2.0110e-04_rb,2.8181e-04_rb,3.4405e-04_rb,3.8167e-04_rb,4.0863e-04_rb, & &4.1514e-04_rb,3.9115e-04_rb,3.2441e-04_rb/) kao(:, 3, 9, 2) = (/ & &7.7017e-05_rb,2.8027e-04_rb,3.9316e-04_rb,4.7187e-04_rb,5.1925e-04_rb,5.5669e-04_rb, & &5.6308e-04_rb,5.3177e-04_rb,4.1003e-04_rb/) kao(:, 4, 9, 2) = (/ & &1.1025e-04_rb,3.9471e-04_rb,5.4612e-04_rb,6.4824e-04_rb,7.1055e-04_rb,7.5245e-04_rb, & &7.5557e-04_rb,7.0714e-04_rb,5.0547e-04_rb/) kao(:, 5, 9, 2) = (/ & &1.6377e-04_rb,5.5266e-04_rb,7.5260e-04_rb,8.8463e-04_rb,9.6217e-04_rb,1.0084e-03_rb, & &1.0010e-03_rb,9.2831e-04_rb,5.9992e-04_rb/) kao(:, 1,10, 2) = (/ & &1.7408e-04_rb,2.8709e-04_rb,3.2527e-04_rb,3.4835e-04_rb,3.5894e-04_rb,3.5919e-04_rb, & &3.5263e-04_rb,3.1484e-04_rb,2.7571e-04_rb/) kao(:, 2,10, 2) = (/ & &2.0961e-04_rb,3.6816e-04_rb,4.3143e-04_rb,4.6881e-04_rb,4.9659e-04_rb,5.0147e-04_rb, & &4.9272e-04_rb,4.3339e-04_rb,3.8859e-04_rb/) kao(:, 3,10, 2) = (/ & &2.7776e-04_rb,5.0192e-04_rb,5.9603e-04_rb,6.5181e-04_rb,6.9357e-04_rb,7.0312e-04_rb, & &6.7864e-04_rb,5.9253e-04_rb,5.1467e-04_rb/) kao(:, 4,10, 2) = (/ & &3.9424e-04_rb,7.1243e-04_rb,8.4498e-04_rb,9.2473e-04_rb,9.7484e-04_rb,9.8216e-04_rb, & &9.3644e-04_rb,8.0724e-04_rb,6.5632e-04_rb/) kao(:, 5,10, 2) = (/ & &5.8403e-04_rb,1.0226e-03_rb,1.2011e-03_rb,1.3089e-03_rb,1.3689e-03_rb,1.3686e-03_rb, & &1.2847e-03_rb,1.0916e-03_rb,8.0745e-04_rb/) kao(:, 1,11, 2) = (/ & &2.5093e-04_rb,3.5665e-04_rb,3.8701e-04_rb,3.9631e-04_rb,3.9372e-04_rb,3.8144e-04_rb, & &3.5373e-04_rb,3.1423e-04_rb,3.0104e-04_rb/) kao(:, 2,11, 2) = (/ & &3.0561e-04_rb,4.5397e-04_rb,5.0521e-04_rb,5.3017e-04_rb,5.3366e-04_rb,5.2816e-04_rb, & &4.9620e-04_rb,4.3115e-04_rb,4.1409e-04_rb/) kao(:, 3,11, 2) = (/ & &4.0935e-04_rb,6.2197e-04_rb,6.9995e-04_rb,7.3845e-04_rb,7.4646e-04_rb,7.4054e-04_rb, & &7.0035e-04_rb,5.8985e-04_rb,5.4448e-04_rb/) kao(:, 4,11, 2) = (/ & &5.8584e-04_rb,8.9030e-04_rb,1.0016e-03_rb,1.0495e-03_rb,1.0645e-03_rb,1.0487e-03_rb, & &9.8184e-04_rb,8.1405e-04_rb,6.7706e-04_rb/) kao(:, 5,11, 2) = (/ & &8.7589e-04_rb,1.3050e-03_rb,1.4464e-03_rb,1.5053e-03_rb,1.5175e-03_rb,1.4779e-03_rb, & &1.3691e-03_rb,1.1154e-03_rb,8.3668e-04_rb/) kao(:, 1,12, 2) = (/ & &2.6981e-04_rb,3.6165e-04_rb,3.8393e-04_rb,3.8621e-04_rb,3.7773e-04_rb,3.5863e-04_rb, & &3.2723e-04_rb,2.8136e-04_rb,2.7937e-04_rb/) kao(:, 2,12, 2) = (/ & &3.3189e-04_rb,4.6172e-04_rb,5.0224e-04_rb,5.1546e-04_rb,5.1134e-04_rb,4.9419e-04_rb, & &4.6078e-04_rb,3.9503e-04_rb,3.8165e-04_rb/) kao(:, 3,12, 2) = (/ & &4.4945e-04_rb,6.3614e-04_rb,7.0015e-04_rb,7.2309e-04_rb,7.1840e-04_rb,6.9882e-04_rb, & &6.5062e-04_rb,5.4697e-04_rb,5.0283e-04_rb/) kao(:, 4,12, 2) = (/ & &6.4949e-04_rb,9.2459e-04_rb,1.0096e-03_rb,1.0404e-03_rb,1.0301e-03_rb,9.9704e-04_rb, & &9.2064e-04_rb,7.5726e-04_rb,6.3715e-04_rb/) kao(:, 5,12, 2) = (/ & &9.7948e-04_rb,1.3695e-03_rb,1.4755e-03_rb,1.5098e-03_rb,1.4823e-03_rb,1.4173e-03_rb, & &1.2918e-03_rb,1.0472e-03_rb,7.8120e-04_rb/) kao(:, 1,13, 2) = (/ & &2.3347e-04_rb,3.0984e-04_rb,3.2740e-04_rb,3.2836e-04_rb,3.1964e-04_rb,3.0307e-04_rb, & &2.7562e-04_rb,2.3564e-04_rb,2.3674e-04_rb/) kao(:, 2,13, 2) = (/ & &2.9027e-04_rb,3.9857e-04_rb,4.3170e-04_rb,4.4144e-04_rb,4.3482e-04_rb,4.1943e-04_rb, & &3.8943e-04_rb,3.3194e-04_rb,3.2365e-04_rb/) kao(:, 3,13, 2) = (/ & &3.9524e-04_rb,5.5472e-04_rb,6.0676e-04_rb,6.2319e-04_rb,6.1597e-04_rb,5.9710e-04_rb, & &5.5278e-04_rb,4.6213e-04_rb,4.2552e-04_rb/) kao(:, 4,13, 2) = (/ & &5.7486e-04_rb,8.1393e-04_rb,8.8216e-04_rb,9.0454e-04_rb,8.9206e-04_rb,8.5566e-04_rb, & &7.8499e-04_rb,6.4422e-04_rb,5.3476e-04_rb/) kao(:, 5,13, 2) = (/ & &8.7246e-04_rb,1.2122e-03_rb,1.2989e-03_rb,1.3221e-03_rb,1.2955e-03_rb,1.2260e-03_rb, & &1.1071e-03_rb,8.9174e-04_rb,6.5849e-04_rb/) kao(:, 1, 1, 3) = (/ & &5.2546e-06_rb,7.1189e-04_rb,1.0882e-03_rb,1.5407e-03_rb,1.6694e-03_rb,2.0484e-03_rb, & &2.8523e-03_rb,4.1696e-03_rb,2.5067e-03_rb/) kao(:, 2, 1, 3) = (/ & &7.7092e-06_rb,8.7649e-04_rb,1.3426e-03_rb,1.8360e-03_rb,2.2345e-03_rb,2.3018e-03_rb, & &2.9500e-03_rb,4.8247e-03_rb,2.8678e-03_rb/) kao(:, 3, 1, 3) = (/ & &1.1096e-05_rb,1.0569e-03_rb,1.6133e-03_rb,2.2145e-03_rb,2.7396e-03_rb,3.0159e-03_rb, & &3.2179e-03_rb,5.1113e-03_rb,3.6024e-03_rb/) kao(:, 4, 1, 3) = (/ & &1.5736e-05_rb,1.2601e-03_rb,1.9380e-03_rb,2.6510e-03_rb,3.2424e-03_rb,3.7893e-03_rb, & &3.9992e-03_rb,5.0794e-03_rb,4.4455e-03_rb/) kao(:, 5, 1, 3) = (/ & &2.1768e-05_rb,1.4881e-03_rb,2.3013e-03_rb,3.1272e-03_rb,3.8505e-03_rb,4.4934e-03_rb, & &5.1336e-03_rb,5.8796e-03_rb,5.3642e-03_rb/) kao(:, 1, 2, 3) = (/ & &6.4189e-06_rb,6.4436e-04_rb,9.4389e-04_rb,1.2239e-03_rb,1.5862e-03_rb,1.5943e-03_rb, & &2.1761e-03_rb,2.9768e-03_rb,1.8319e-03_rb/) kao(:, 2, 2, 3) = (/ & &9.5139e-06_rb,7.9863e-04_rb,1.1748e-03_rb,1.5104e-03_rb,1.9094e-03_rb,2.0876e-03_rb, & &2.2172e-03_rb,3.3690e-03_rb,2.2079e-03_rb/) kao(:, 3, 2, 3) = (/ & &1.3920e-05_rb,9.7738e-04_rb,1.4337e-03_rb,1.8422e-03_rb,2.2904e-03_rb,2.6664e-03_rb, & &2.6655e-03_rb,3.3322e-03_rb,2.7973e-03_rb/) kao(:, 4, 2, 3) = (/ & &1.9815e-05_rb,1.1745e-03_rb,1.7255e-03_rb,2.2150e-03_rb,2.7638e-03_rb,3.1950e-03_rb, & &3.5144e-03_rb,3.6601e-03_rb,3.4291e-03_rb/) kao(:, 5, 2, 3) = (/ & &2.7567e-05_rb,1.3937e-03_rb,2.0553e-03_rb,2.6513e-03_rb,3.2736e-03_rb,3.7952e-03_rb, & &4.2837e-03_rb,4.4922e-03_rb,4.1160e-03_rb/) kao(:, 1, 3, 3) = (/ & &9.6319e-06_rb,5.9789e-04_rb,9.0789e-04_rb,1.1077e-03_rb,1.2525e-03_rb,1.5120e-03_rb, & &1.4959e-03_rb,2.1276e-03_rb,1.3456e-03_rb/) kao(:, 2, 3, 3) = (/ & &1.4531e-05_rb,7.5640e-04_rb,1.1412e-03_rb,1.3989e-03_rb,1.5703e-03_rb,1.7944e-03_rb, & &1.9386e-03_rb,2.1696e-03_rb,1.7109e-03_rb/) kao(:, 3, 3, 3) = (/ & &2.1457e-05_rb,9.3610e-04_rb,1.4115e-03_rb,1.7272e-03_rb,1.9369e-03_rb,2.2003e-03_rb, & &2.5012e-03_rb,2.3167e-03_rb,2.1265e-03_rb/) kao(:, 4, 3, 3) = (/ & &3.1112e-05_rb,1.1388e-03_rb,1.7200e-03_rb,2.0901e-03_rb,2.3590e-03_rb,2.6864e-03_rb, & &2.9768e-03_rb,2.9114e-03_rb,2.5844e-03_rb/) kao(:, 5, 3, 3) = (/ & &4.3735e-05_rb,1.3632e-03_rb,2.0663e-03_rb,2.5031e-03_rb,2.8359e-03_rb,3.2124e-03_rb, & &3.5643e-03_rb,3.8138e-03_rb,3.0766e-03_rb/) kao(:, 1, 4, 3) = (/ & &1.4332e-05_rb,5.0481e-04_rb,8.3885e-04_rb,1.0386e-03_rb,1.1528e-03_rb,1.2153e-03_rb, & &1.3236e-03_rb,1.3236e-03_rb,9.9177e-04_rb/) kao(:, 2, 4, 3) = (/ & &2.1745e-05_rb,6.5797e-04_rb,1.0771e-03_rb,1.3282e-03_rb,1.4860e-03_rb,1.5492e-03_rb, & &1.6188e-03_rb,1.5468e-03_rb,1.2757e-03_rb/) kao(:, 3, 4, 3) = (/ & &3.2667e-05_rb,8.3614e-04_rb,1.3479e-03_rb,1.6673e-03_rb,1.8582e-03_rb,1.9416e-03_rb, & &2.0036e-03_rb,2.1024e-03_rb,1.5754e-03_rb/) kao(:, 4, 4, 3) = (/ & &4.8093e-05_rb,1.0472e-03_rb,1.6541e-03_rb,2.0462e-03_rb,2.2910e-03_rb,2.3927e-03_rb, & &2.4569e-03_rb,2.6010e-03_rb,1.9210e-03_rb/) kao(:, 5, 4, 3) = (/ & &6.8610e-05_rb,1.2933e-03_rb,1.9995e-03_rb,2.4752e-03_rb,2.7858e-03_rb,2.9107e-03_rb, & &2.9847e-03_rb,3.0912e-03_rb,2.3242e-03_rb/) kao(:, 1, 5, 3) = (/ & &1.9357e-05_rb,4.3188e-04_rb,6.9760e-04_rb,9.1881e-04_rb,1.0444e-03_rb,1.0861e-03_rb, & &1.0808e-03_rb,1.0528e-03_rb,7.6202e-04_rb/) kao(:, 2, 5, 3) = (/ & &2.9833e-05_rb,5.6548e-04_rb,9.1440e-04_rb,1.2005e-03_rb,1.3604e-03_rb,1.4256e-03_rb, & &1.3945e-03_rb,1.3872e-03_rb,9.4421e-04_rb/) kao(:, 3, 5, 3) = (/ & &4.5578e-05_rb,7.2730e-04_rb,1.1762e-03_rb,1.5269e-03_rb,1.7329e-03_rb,1.8168e-03_rb, & &1.7751e-03_rb,1.6935e-03_rb,1.1652e-03_rb/) kao(:, 4, 5, 3) = (/ & &6.7915e-05_rb,9.2227e-04_rb,1.4839e-03_rb,1.8964e-03_rb,2.1540e-03_rb,2.2580e-03_rb, & &2.2284e-03_rb,2.0768e-03_rb,1.4187e-03_rb/) kao(:, 5, 5, 3) = (/ & &9.8232e-05_rb,1.1614e-03_rb,1.8417e-03_rb,2.3162e-03_rb,2.6333e-03_rb,2.7678e-03_rb, & &2.7278e-03_rb,2.5343e-03_rb,1.7135e-03_rb/) kao(:, 1, 6, 3) = (/ & &2.4087e-05_rb,3.6023e-04_rb,5.7620e-04_rb,7.4775e-04_rb,8.9007e-04_rb,9.5429e-04_rb, & &9.1764e-04_rb,8.4636e-04_rb,5.7959e-04_rb/) kao(:, 2, 6, 3) = (/ & &3.7139e-05_rb,4.8232e-04_rb,7.6564e-04_rb,9.9341e-04_rb,1.1781e-03_rb,1.2665e-03_rb, & &1.2330e-03_rb,1.0918e-03_rb,7.2688e-04_rb/) kao(:, 3, 6, 3) = (/ & &5.7836e-05_rb,6.3457e-04_rb,9.9482e-04_rb,1.2902e-03_rb,1.5235e-03_rb,1.6284e-03_rb, & &1.5983e-03_rb,1.4005e-03_rb,8.9110e-04_rb/) kao(:, 4, 6, 3) = (/ & &8.7827e-05_rb,8.3029e-04_rb,1.2776e-03_rb,1.6365e-03_rb,1.9214e-03_rb,2.0538e-03_rb, & &2.0181e-03_rb,1.7675e-03_rb,1.0912e-03_rb/) kao(:, 5, 6, 3) = (/ & &1.2951e-04_rb,1.0725e-03_rb,1.6206e-03_rb,2.0554e-03_rb,2.3768e-03_rb,2.5369e-03_rb, & &2.5004e-03_rb,2.2047e-03_rb,1.3222e-03_rb/) kao(:, 1, 7, 3) = (/ & &3.1610e-05_rb,3.0736e-04_rb,4.8099e-04_rb,6.1875e-04_rb,7.2425e-04_rb,8.0714e-04_rb, & &8.2765e-04_rb,7.1397e-04_rb,4.2627e-04_rb/) kao(:, 2, 7, 3) = (/ & &4.8734e-05_rb,4.2352e-04_rb,6.5473e-04_rb,8.3909e-04_rb,9.8036e-04_rb,1.0919e-03_rb, & &1.1195e-03_rb,9.5621e-04_rb,5.5009e-04_rb/) kao(:, 3, 7, 3) = (/ & &7.5777e-05_rb,5.7189e-04_rb,8.6982e-04_rb,1.1085e-03_rb,1.2941e-03_rb,1.4332e-03_rb, & &1.4595e-03_rb,1.2666e-03_rb,6.8930e-04_rb/) kao(:, 4, 7, 3) = (/ & &1.1758e-04_rb,7.6635e-04_rb,1.1428e-03_rb,1.4431e-03_rb,1.6723e-03_rb,1.8359e-03_rb, & &1.8555e-03_rb,1.6214e-03_rb,8.4503e-04_rb/) kao(:, 5, 7, 3) = (/ & &1.7719e-04_rb,1.0176e-03_rb,1.4892e-03_rb,1.8529e-03_rb,2.1284e-03_rb,2.3074e-03_rb, & &2.3192e-03_rb,2.0277e-03_rb,1.0269e-03_rb/) kao(:, 1, 8, 3) = (/ & &5.0016e-05_rb,3.0350e-04_rb,4.3130e-04_rb,5.4117e-04_rb,6.2740e-04_rb,6.8603e-04_rb, & &7.1531e-04_rb,6.7206e-04_rb,3.4534e-04_rb/) kao(:, 2, 8, 3) = (/ & &7.6305e-05_rb,4.2110e-04_rb,6.0202e-04_rb,7.5262e-04_rb,8.6967e-04_rb,9.4998e-04_rb, & &9.8539e-04_rb,9.2682e-04_rb,4.4615e-04_rb/) kao(:, 3, 8, 3) = (/ & &1.1911e-04_rb,5.8304e-04_rb,8.2209e-04_rb,1.0213e-03_rb,1.1738e-03_rb,1.2774e-03_rb, & &1.3191e-03_rb,1.2307e-03_rb,5.5948e-04_rb/) kao(:, 4, 8, 3) = (/ & &1.8649e-04_rb,7.9923e-04_rb,1.1102e-03_rb,1.3602e-03_rb,1.5530e-03_rb,1.6805e-03_rb, & &1.7288e-03_rb,1.5932e-03_rb,6.8951e-04_rb/) kao(:, 5, 8, 3) = (/ & &2.8664e-04_rb,1.0891e-03_rb,1.4894e-03_rb,1.7956e-03_rb,2.0238e-03_rb,2.1795e-03_rb, & &2.2144e-03_rb,2.0105e-03_rb,8.3262e-04_rb/) kao(:, 1, 9, 3) = (/ & &1.5293e-04_rb,4.6711e-04_rb,5.9429e-04_rb,6.7143e-04_rb,7.0270e-04_rb,7.2578e-04_rb, & &7.2031e-04_rb,6.7023e-04_rb,4.6857e-04_rb/) kao(:, 2, 9, 3) = (/ & &2.2743e-04_rb,6.5435e-04_rb,8.3260e-04_rb,9.2221e-04_rb,9.8476e-04_rb,1.0204e-03_rb, & &1.0235e-03_rb,9.4955e-04_rb,5.6708e-04_rb/) kao(:, 3, 9, 3) = (/ & &3.5601e-04_rb,9.4855e-04_rb,1.1602e-03_rb,1.2875e-03_rb,1.3640e-03_rb,1.4067e-03_rb, & &1.4070e-03_rb,1.3032e-03_rb,6.4714e-04_rb/) kao(:, 4, 9, 3) = (/ & &5.5911e-04_rb,1.3606e-03_rb,1.6272e-03_rb,1.7782e-03_rb,1.8671e-03_rb,1.9159e-03_rb, & &1.8899e-03_rb,1.7374e-03_rb,7.3858e-04_rb/) kao(:, 5, 9, 3) = (/ & &8.7081e-04_rb,1.9356e-03_rb,2.2669e-03_rb,2.4429e-03_rb,2.5498e-03_rb,2.5834e-03_rb, & &2.5150e-03_rb,2.2763e-03_rb,8.7139e-04_rb/) kao(:, 1,10, 3) = (/ & &5.5025e-04_rb,9.1638e-04_rb,1.0524e-03_rb,1.1151e-03_rb,1.1173e-03_rb,1.0672e-03_rb, & &9.7649e-04_rb,7.7345e-04_rb,6.5002e-04_rb/) kao(:, 2,10, 3) = (/ & &7.9126e-04_rb,1.3002e-03_rb,1.4860e-03_rb,1.5598e-03_rb,1.5441e-03_rb,1.5015e-03_rb, & &1.3399e-03_rb,1.0909e-03_rb,8.3499e-04_rb/) kao(:, 3,10, 3) = (/ & &1.2237e-03_rb,1.9321e-03_rb,2.1587e-03_rb,2.2526e-03_rb,2.2235e-03_rb,2.1040e-03_rb, & &1.8744e-03_rb,1.5238e-03_rb,1.0298e-03_rb/) kao(:, 4,10, 3) = (/ & &1.9295e-03_rb,2.9068e-03_rb,3.1939e-03_rb,3.2884e-03_rb,3.1828e-03_rb,2.9739e-03_rb, & &2.6100e-03_rb,2.0967e-03_rb,1.2389e-03_rb/) kao(:, 5,10, 3) = (/ & &3.0420e-03_rb,4.3560e-03_rb,4.6911e-03_rb,4.7252e-03_rb,4.5246e-03_rb,4.1666e-03_rb, & &3.6292e-03_rb,2.8608e-03_rb,1.4677e-03_rb/) kao(:, 1,11, 3) = (/ & &8.0124e-04_rb,1.1600e-03_rb,1.2577e-03_rb,1.2913e-03_rb,1.2758e-03_rb,1.1948e-03_rb, & &1.0607e-03_rb,8.2464e-04_rb,6.8579e-04_rb/) kao(:, 2,11, 3) = (/ & &1.1673e-03_rb,1.6642e-03_rb,1.8003e-03_rb,1.8395e-03_rb,1.7987e-03_rb,1.6759e-03_rb, & &1.4977e-03_rb,1.1597e-03_rb,8.7714e-04_rb/) kao(:, 3,11, 3) = (/ & &1.8208e-03_rb,2.5072e-03_rb,2.6736e-03_rb,2.6935e-03_rb,2.6255e-03_rb,2.4196e-03_rb, & &2.1072e-03_rb,1.6350e-03_rb,1.1070e-03_rb/) kao(:, 4,11, 3) = (/ & &2.8872e-03_rb,3.8298e-03_rb,4.0028e-03_rb,4.0090e-03_rb,3.8400e-03_rb,3.4828e-03_rb, & &2.9827e-03_rb,2.2825e-03_rb,1.3306e-03_rb/) kao(:, 5,11, 3) = (/ & &4.5758e-03_rb,5.8214e-03_rb,5.9954e-03_rb,5.8806e-03_rb,5.5457e-03_rb,4.9671e-03_rb, & &4.1979e-03_rb,3.1537e-03_rb,1.5896e-03_rb/) kao(:, 1,12, 3) = (/ & &8.6957e-04_rb,1.1918e-03_rb,1.2597e-03_rb,1.2688e-03_rb,1.2375e-03_rb,1.1513e-03_rb, & &1.0110e-03_rb,7.8620e-04_rb,6.6607e-04_rb/) kao(:, 2,12, 3) = (/ & &1.2841e-03_rb,1.7262e-03_rb,1.8227e-03_rb,1.8310e-03_rb,1.7702e-03_rb,1.6364e-03_rb, & &1.4379e-03_rb,1.0990e-03_rb,8.6314e-04_rb/) kao(:, 3,12, 3) = (/ & &2.0183e-03_rb,2.6229e-03_rb,2.7286e-03_rb,2.7135e-03_rb,2.6112e-03_rb,2.3987e-03_rb, & &2.0472e-03_rb,1.5496e-03_rb,1.0681e-03_rb/) kao(:, 4,12, 3) = (/ & &3.2212e-03_rb,4.0504e-03_rb,4.1472e-03_rb,4.0702e-03_rb,3.8583e-03_rb,3.4748e-03_rb, & &2.9262e-03_rb,2.1914e-03_rb,1.2601e-03_rb/) kao(:, 5,12, 3) = (/ & &5.1511e-03_rb,6.2196e-03_rb,6.2591e-03_rb,6.0402e-03_rb,5.6302e-03_rb,4.9946e-03_rb, & &4.1641e-03_rb,3.0581e-03_rb,1.4932e-03_rb/) kao(:, 1,13, 3) = (/ & &7.5570e-04_rb,1.0245e-03_rb,1.0772e-03_rb,1.0860e-03_rb,1.0524e-03_rb,9.7557e-04_rb, & &8.5610e-04_rb,6.6220e-04_rb,5.7960e-04_rb/) kao(:, 2,13, 3) = (/ & &1.1289e-03_rb,1.4995e-03_rb,1.5736e-03_rb,1.5761e-03_rb,1.5191e-03_rb,1.4055e-03_rb, & &1.2213e-03_rb,9.3390e-04_rb,7.5295e-04_rb/) kao(:, 3,13, 3) = (/ & &1.7891e-03_rb,2.2942e-03_rb,2.3709e-03_rb,2.3513e-03_rb,2.2646e-03_rb,2.0616e-03_rb, & &1.7545e-03_rb,1.3283e-03_rb,9.2119e-04_rb/) kao(:, 4,13, 3) = (/ & &2.8872e-03_rb,3.5675e-03_rb,3.6372e-03_rb,3.5628e-03_rb,3.3407e-03_rb,3.0031e-03_rb, & &2.5207e-03_rb,1.8863e-03_rb,1.0888e-03_rb/) kao(:, 5,13, 3) = (/ & &4.6509e-03_rb,5.5327e-03_rb,5.4994e-03_rb,5.2862e-03_rb,4.8993e-03_rb,4.3534e-03_rb, & &3.6092e-03_rb,2.6447e-03_rb,1.2715e-03_rb/) kao(:, 1, 1, 4) = (/ & &2.0197e-05_rb,1.1667e-03_rb,1.8703e-03_rb,2.3597e-03_rb,2.8442e-03_rb,3.3004e-03_rb, & &3.9209e-03_rb,5.1050e-03_rb,4.4032e-03_rb/) kao(:, 2, 1, 4) = (/ & &2.9878e-05_rb,1.4283e-03_rb,2.2934e-03_rb,2.9621e-03_rb,3.4763e-03_rb,4.1665e-03_rb, & &4.8948e-03_rb,5.8620e-03_rb,5.4661e-03_rb/) kao(:, 3, 1, 4) = (/ & &4.2867e-05_rb,1.7152e-03_rb,2.7742e-03_rb,3.5744e-03_rb,4.2361e-03_rb,5.0272e-03_rb, & &5.9642e-03_rb,7.9378e-03_rb,6.6044e-03_rb/) kao(:, 4, 1, 4) = (/ & &5.9869e-05_rb,2.0335e-03_rb,3.2827e-03_rb,4.2442e-03_rb,5.1046e-03_rb,5.9179e-03_rb, & &7.1401e-03_rb,9.6601e-03_rb,7.8490e-03_rb/) kao(:, 5, 1, 4) = (/ & &8.1517e-05_rb,2.3834e-03_rb,3.8440e-03_rb,4.9959e-03_rb,6.0214e-03_rb,7.0692e-03_rb, & &8.4265e-03_rb,1.1443e-02_rb,9.2888e-03_rb/) kao(:, 1, 2, 4) = (/ & &2.5366e-05_rb,1.0671e-03_rb,1.6131e-03_rb,2.1123e-03_rb,2.3685e-03_rb,2.7185e-03_rb, & &3.0418e-03_rb,3.4879e-03_rb,3.3143e-03_rb/) kao(:, 2, 2, 4) = (/ & &3.7671e-05_rb,1.3088e-03_rb,2.0014e-03_rb,2.6106e-03_rb,3.0312e-03_rb,3.3873e-03_rb, & &3.9017e-03_rb,4.5215e-03_rb,4.1143e-03_rb/) kao(:, 3, 2, 4) = (/ & &5.4541e-05_rb,1.5795e-03_rb,2.4306e-03_rb,3.1726e-03_rb,3.7137e-03_rb,4.1208e-03_rb, & &4.7737e-03_rb,5.7376e-03_rb,4.9901e-03_rb/) kao(:, 4, 2, 4) = (/ & &7.7056e-05_rb,1.8857e-03_rb,2.9009e-03_rb,3.7836e-03_rb,4.4364e-03_rb,5.0235e-03_rb, & &5.6427e-03_rb,6.9365e-03_rb,5.9848e-03_rb/) kao(:, 5, 2, 4) = (/ & &1.0566e-04_rb,2.2344e-03_rb,3.4137e-03_rb,4.4552e-03_rb,5.2671e-03_rb,5.9853e-03_rb, & &6.7249e-03_rb,8.2397e-03_rb,7.1296e-03_rb/) kao(:, 1, 3, 4) = (/ & &3.9558e-05_rb,1.0742e-03_rb,1.5248e-03_rb,1.8501e-03_rb,2.1830e-03_rb,2.3261e-03_rb, & &2.4391e-03_rb,2.5890e-03_rb,2.3829e-03_rb/) kao(:, 2, 3, 4) = (/ & &5.9594e-05_rb,1.3476e-03_rb,1.8940e-03_rb,2.3182e-03_rb,2.7486e-03_rb,3.0410e-03_rb, & &3.0839e-03_rb,3.3287e-03_rb,2.9662e-03_rb/) kao(:, 3, 3, 4) = (/ & &8.7495e-05_rb,1.6651e-03_rb,2.3108e-03_rb,2.8515e-03_rb,3.3798e-03_rb,3.7359e-03_rb, & &3.8327e-03_rb,4.1905e-03_rb,3.5949e-03_rb/) kao(:, 4, 3, 4) = (/ & &1.2450e-04_rb,2.0293e-03_rb,2.7849e-03_rb,3.4502e-03_rb,4.0760e-03_rb,4.5002e-03_rb, & &4.7432e-03_rb,5.0708e-03_rb,4.3551e-03_rb/) kao(:, 5, 3, 4) = (/ & &1.7405e-04_rb,2.4316e-03_rb,3.3182e-03_rb,4.1142e-03_rb,4.8387e-03_rb,5.3673e-03_rb, & &5.6716e-03_rb,6.0036e-03_rb,5.2554e-03_rb/) kao(:, 1, 4, 4) = (/ & &6.0993e-05_rb,1.0865e-03_rb,1.5064e-03_rb,1.7956e-03_rb,1.9492e-03_rb,2.0758e-03_rb, & &2.1376e-03_rb,1.9974e-03_rb,1.7194e-03_rb/) kao(:, 2, 4, 4) = (/ & &9.3739e-05_rb,1.3938e-03_rb,1.9090e-03_rb,2.2655e-03_rb,2.4714e-03_rb,2.6468e-03_rb, & &2.7998e-03_rb,2.5993e-03_rb,2.1766e-03_rb/) kao(:, 3, 4, 4) = (/ & &1.3999e-04_rb,1.7512e-03_rb,2.3888e-03_rb,2.8018e-03_rb,3.0687e-03_rb,3.3097e-03_rb, & &3.4825e-03_rb,3.2297e-03_rb,2.6912e-03_rb/) kao(:, 4, 4, 4) = (/ & &2.0284e-04_rb,2.1576e-03_rb,2.9507e-03_rb,3.4179e-03_rb,3.7408e-03_rb,4.0628e-03_rb, & &4.2589e-03_rb,4.0554e-03_rb,3.2822e-03_rb/) kao(:, 5, 4, 4) = (/ & &2.8653e-04_rb,2.6101e-03_rb,3.5917e-03_rb,4.1189e-03_rb,4.5031e-03_rb,4.8876e-03_rb, & &5.1085e-03_rb,4.9728e-03_rb,3.9394e-03_rb/) kao(:, 1, 5, 4) = (/ & &8.6213e-05_rb,1.0235e-03_rb,1.4463e-03_rb,1.6932e-03_rb,1.8586e-03_rb,1.8899e-03_rb, & &1.8325e-03_rb,1.6931e-03_rb,1.2167e-03_rb/) kao(:, 2, 5, 4) = (/ & &1.3497e-04_rb,1.3639e-03_rb,1.8867e-03_rb,2.1813e-03_rb,2.3731e-03_rb,2.4352e-03_rb, & &2.3757e-03_rb,2.2169e-03_rb,1.5707e-03_rb/) kao(:, 3, 5, 4) = (/ & &2.0469e-04_rb,1.7684e-03_rb,2.3970e-03_rb,2.7679e-03_rb,2.9816e-03_rb,3.0549e-03_rb, & &3.0098e-03_rb,2.8798e-03_rb,1.9802e-03_rb/) kao(:, 4, 5, 4) = (/ & &3.0118e-04_rb,2.2412e-03_rb,2.9952e-03_rb,3.4514e-03_rb,3.7055e-03_rb,3.7675e-03_rb, & &3.7358e-03_rb,3.5681e-03_rb,2.4524e-03_rb/) kao(:, 5, 5, 4) = (/ & &4.3178e-04_rb,2.7692e-03_rb,3.6699e-03_rb,4.2507e-03_rb,4.5341e-03_rb,4.5904e-03_rb, & &4.5606e-03_rb,4.3497e-03_rb,2.9904e-03_rb/) kao(:, 1, 6, 4) = (/ & &1.1224e-04_rb,9.6248e-04_rb,1.3486e-03_rb,1.5651e-03_rb,1.6739e-03_rb,1.7217e-03_rb, & &1.6200e-03_rb,1.3812e-03_rb,9.3024e-04_rb/) kao(:, 2, 6, 4) = (/ & &1.7788e-04_rb,1.2979e-03_rb,1.7963e-03_rb,2.0621e-03_rb,2.2013e-03_rb,2.2377e-03_rb, & &2.1278e-03_rb,1.8809e-03_rb,1.2042e-03_rb/) kao(:, 3, 6, 4) = (/ & &2.7340e-04_rb,1.7148e-03_rb,2.3323e-03_rb,2.6619e-03_rb,2.8238e-03_rb,2.8631e-03_rb, & &2.7284e-03_rb,2.4183e-03_rb,1.5217e-03_rb/) kao(:, 4, 6, 4) = (/ & &4.0959e-04_rb,2.2331e-03_rb,2.9678e-03_rb,3.3799e-03_rb,3.5736e-03_rb,3.5928e-03_rb, & &3.4271e-03_rb,3.0552e-03_rb,1.8843e-03_rb/) kao(:, 5, 6, 4) = (/ & &5.9620e-04_rb,2.8328e-03_rb,3.7008e-03_rb,4.1972e-03_rb,4.4330e-03_rb,4.4525e-03_rb, & &4.2185e-03_rb,3.7711e-03_rb,2.2988e-03_rb/) kao(:, 1, 7, 4) = (/ & &1.5344e-04_rb,9.2316e-04_rb,1.2773e-03_rb,1.5000e-03_rb,1.6102e-03_rb,1.6127e-03_rb, & &1.5115e-03_rb,1.2377e-03_rb,7.0764e-04_rb/) kao(:, 2, 7, 4) = (/ & &2.4398e-04_rb,1.2809e-03_rb,1.7477e-03_rb,2.0347e-03_rb,2.1522e-03_rb,2.1311e-03_rb, & &1.9950e-03_rb,1.6669e-03_rb,9.1774e-04_rb/) kao(:, 3, 7, 4) = (/ & &3.8058e-04_rb,1.7477e-03_rb,2.3440e-03_rb,2.6829e-03_rb,2.8039e-03_rb,2.7555e-03_rb, & &2.5876e-03_rb,2.1763e-03_rb,1.1586e-03_rb/) kao(:, 4, 7, 4) = (/ & &5.7739e-04_rb,2.3349e-03_rb,3.0698e-03_rb,3.4470e-03_rb,3.5790e-03_rb,3.5331e-03_rb, & &3.3054e-03_rb,2.7805e-03_rb,1.4458e-03_rb/) kao(:, 5, 7, 4) = (/ & &8.5208e-04_rb,3.0383e-03_rb,3.9002e-03_rb,4.3347e-03_rb,4.5004e-03_rb,4.4415e-03_rb, & &4.1236e-03_rb,3.4788e-03_rb,1.7825e-03_rb/) kao(:, 1, 8, 4) = (/ & &2.5035e-04_rb,9.8089e-04_rb,1.3026e-03_rb,1.5173e-03_rb,1.6357e-03_rb,1.6535e-03_rb, & &1.5386e-03_rb,1.2613e-03_rb,5.4812e-04_rb/) kao(:, 2, 8, 4) = (/ & &3.9983e-04_rb,1.4074e-03_rb,1.8431e-03_rb,2.1183e-03_rb,2.2695e-03_rb,2.2610e-03_rb, & &2.0892e-03_rb,1.6966e-03_rb,7.0487e-04_rb/) kao(:, 3, 8, 4) = (/ & &6.2524e-04_rb,1.9883e-03_rb,2.5535e-03_rb,2.8971e-03_rb,3.0599e-03_rb,3.0259e-03_rb, & &2.7534e-03_rb,2.2128e-03_rb,8.9347e-04_rb/) kao(:, 4, 8, 4) = (/ & &9.6475e-04_rb,2.7489e-03_rb,3.4725e-03_rb,3.8856e-03_rb,4.0355e-03_rb,3.9357e-03_rb, & &3.5484e-03_rb,2.8450e-03_rb,1.1141e-03_rb/) kao(:, 5, 8, 4) = (/ & &1.4492e-03_rb,3.7234e-03_rb,4.6023e-03_rb,5.0761e-03_rb,5.1898e-03_rb,5.0041e-03_rb, & &4.4962e-03_rb,3.6082e-03_rb,1.3876e-03_rb/) kao(:, 1, 9, 4) = (/ & &7.7717e-04_rb,1.6076e-03_rb,1.9327e-03_rb,2.0950e-03_rb,2.1727e-03_rb,2.1507e-03_rb, & &2.0239e-03_rb,1.6619e-03_rb,6.5283e-04_rb/) kao(:, 2, 9, 4) = (/ & &1.2257e-03_rb,2.4216e-03_rb,2.8205e-03_rb,3.0706e-03_rb,3.1558e-03_rb,3.0893e-03_rb, & &2.8639e-03_rb,2.3215e-03_rb,8.1326e-04_rb/) kao(:, 3, 9, 4) = (/ & &1.9258e-03_rb,3.5788e-03_rb,4.1331e-03_rb,4.4121e-03_rb,4.4825e-03_rb,4.3456e-03_rb, & &3.9751e-03_rb,3.1546e-03_rb,1.0072e-03_rb/) kao(:, 4, 9, 4) = (/ & &3.0058e-03_rb,5.1816e-03_rb,5.8926e-03_rb,6.2133e-03_rb,6.2513e-03_rb,5.9943e-03_rb, & &5.4160e-03_rb,4.1735e-03_rb,1.2133e-03_rb/) kao(:, 5, 9, 4) = (/ & &4.5860e-03_rb,7.3561e-03_rb,8.1694e-03_rb,8.5315e-03_rb,8.5009e-03_rb,8.0696e-03_rb, & &7.1597e-03_rb,5.3914e-03_rb,1.4524e-03_rb/) kao(:, 1,10, 4) = (/ & &2.7632e-03_rb,3.7578e-03_rb,3.8929e-03_rb,3.8648e-03_rb,3.7150e-03_rb,3.4386e-03_rb, & &2.9824e-03_rb,2.3042e-03_rb,1.1595e-03_rb/) kao(:, 2,10, 4) = (/ & &4.3618e-03_rb,5.8439e-03_rb,6.0237e-03_rb,5.9173e-03_rb,5.6198e-03_rb,5.0739e-03_rb, & &4.3966e-03_rb,3.3846e-03_rb,1.3310e-03_rb/) kao(:, 3,10, 4) = (/ & &6.8076e-03_rb,8.8616e-03_rb,9.0867e-03_rb,8.8297e-03_rb,8.2980e-03_rb,7.5120e-03_rb, & &6.4366e-03_rb,4.8357e-03_rb,1.4427e-03_rb/) kao(:, 4,10, 4) = (/ & &1.0727e-02_rb,1.3247e-02_rb,1.3386e-02_rb,1.2895e-02_rb,1.2079e-02_rb,1.0841e-02_rb, & &9.1826e-03_rb,6.8074e-03_rb,1.5623e-03_rb/) kao(:, 5,10, 4) = (/ & &1.6578e-02_rb,1.9641e-02_rb,1.9517e-02_rb,1.8627e-02_rb,1.7184e-02_rb,1.5227e-02_rb, & &1.2710e-02_rb,9.3140e-03_rb,1.8266e-03_rb/) kao(:, 1,11, 4) = (/ & &4.3397e-03_rb,5.2633e-03_rb,5.2314e-03_rb,5.0017e-03_rb,4.6314e-03_rb,4.1308e-03_rb, & &3.4621e-03_rb,2.5597e-03_rb,1.2582e-03_rb/) kao(:, 2,11, 4) = (/ & &6.6934e-03_rb,8.1477e-03_rb,8.0949e-03_rb,7.7188e-03_rb,7.1188e-03_rb,6.2977e-03_rb, & &5.1713e-03_rb,3.7779e-03_rb,1.4574e-03_rb/) kao(:, 3,11, 4) = (/ & &1.0432e-02_rb,1.2428e-02_rb,1.2196e-02_rb,1.1560e-02_rb,1.0566e-02_rb,9.2464e-03_rb, & &7.6156e-03_rb,5.5141e-03_rb,1.6582e-03_rb/) kao(:, 4,11, 4) = (/ & &1.6491e-02_rb,1.8759e-02_rb,1.8258e-02_rb,1.7109e-02_rb,1.5472e-02_rb,1.3463e-02_rb, & &1.0963e-02_rb,7.7973e-03_rb,1.8335e-03_rb/) kao(:, 5,11, 4) = (/ & &2.5430e-02_rb,2.8078e-02_rb,2.7002e-02_rb,2.5032e-02_rb,2.2392e-02_rb,1.9261e-02_rb, & &1.5474e-02_rb,1.0784e-02_rb,2.0075e-03_rb/) kao(:, 1,12, 4) = (/ & &4.9273e-03_rb,5.7931e-03_rb,5.6746e-03_rb,5.3611e-03_rb,4.8847e-03_rb,4.2709e-03_rb, & &3.4855e-03_rb,2.4889e-03_rb,1.1526e-03_rb/) kao(:, 2,12, 4) = (/ & &7.6884e-03_rb,8.9132e-03_rb,8.6777e-03_rb,8.1782e-03_rb,7.4327e-03_rb,6.4648e-03_rb, & &5.2372e-03_rb,3.6981e-03_rb,1.3373e-03_rb/) kao(:, 3,12, 4) = (/ & &1.2107e-02_rb,1.3711e-02_rb,1.3177e-02_rb,1.2250e-02_rb,1.1036e-02_rb,9.5160e-03_rb, & &7.6801e-03_rb,5.4155e-03_rb,1.5194e-03_rb/) kao(:, 4,12, 4) = (/ & &1.8869e-02_rb,2.0811e-02_rb,1.9833e-02_rb,1.8325e-02_rb,1.6361e-02_rb,1.3983e-02_rb, & &1.1160e-02_rb,7.6837e-03_rb,1.7468e-03_rb/) kao(:, 5,12, 4) = (/ & &2.9063e-02_rb,3.1131e-02_rb,2.9461e-02_rb,2.6993e-02_rb,2.3838e-02_rb,2.0192e-02_rb, & &1.5924e-02_rb,1.0737e-02_rb,1.9884e-03_rb/) kao(:, 1,13, 4) = (/ & &4.3869e-03_rb,5.1798e-03_rb,5.0989e-03_rb,4.8169e-03_rb,4.3794e-03_rb,3.7839e-03_rb, & &3.0521e-03_rb,2.1587e-03_rb,9.4784e-04_rb/) kao(:, 2,13, 4) = (/ & &6.9481e-03_rb,8.0525e-03_rb,7.8458e-03_rb,7.3314e-03_rb,6.6078e-03_rb,5.7100e-03_rb, & &4.5663e-03_rb,3.2136e-03_rb,1.0961e-03_rb/) kao(:, 3,13, 4) = (/ & &1.1021e-02_rb,1.2458e-02_rb,1.1977e-02_rb,1.1021e-02_rb,9.8258e-03_rb,8.4083e-03_rb, & &6.7419e-03_rb,4.6947e-03_rb,1.2238e-03_rb/) kao(:, 4,13, 4) = (/ & &1.7310e-02_rb,1.8923e-02_rb,1.8001e-02_rb,1.6509e-02_rb,1.4657e-02_rb,1.2419e-02_rb, & &9.8548e-03_rb,6.6916e-03_rb,1.4326e-03_rb/) kao(:, 5,13, 4) = (/ & &2.6619e-02_rb,2.8296e-02_rb,2.6623e-02_rb,2.4187e-02_rb,2.1294e-02_rb,1.7939e-02_rb, & &1.4103e-02_rb,9.4141e-03_rb,1.6712e-03_rb/) kao(:, 1, 1, 5) = (/ & &1.5033e-04_rb,2.0446e-03_rb,3.1681e-03_rb,4.0928e-03_rb,4.9645e-03_rb,5.8752e-03_rb, & &6.8891e-03_rb,9.7460e-03_rb,8.2375e-03_rb/) kao(:, 2, 1, 5) = (/ & &2.0389e-04_rb,2.4966e-03_rb,3.8465e-03_rb,4.9929e-03_rb,6.1245e-03_rb,7.2940e-03_rb, & &8.7776e-03_rb,1.1499e-02_rb,1.0182e-02_rb/) kao(:, 3, 1, 5) = (/ & &2.6769e-04_rb,3.0079e-03_rb,4.6076e-03_rb,5.9938e-03_rb,7.3703e-03_rb,8.8250e-03_rb, & &1.0916e-02_rb,1.3468e-02_rb,1.2268e-02_rb/) kao(:, 4, 1, 5) = (/ & &3.4024e-04_rb,3.5831e-03_rb,5.4751e-03_rb,7.1124e-03_rb,8.7423e-03_rb,1.0600e-02_rb, & &1.2985e-02_rb,1.6757e-02_rb,1.4652e-02_rb/) kao(:, 5, 1, 5) = (/ & &4.2020e-04_rb,4.2180e-03_rb,6.4294e-03_rb,8.3453e-03_rb,1.0248e-02_rb,1.2449e-02_rb, & &1.5350e-02_rb,1.9955e-02_rb,1.7214e-02_rb/) kao(:, 1, 2, 5) = (/ & &1.8399e-04_rb,1.8419e-03_rb,2.8498e-03_rb,3.5822e-03_rb,4.2442e-03_rb,4.8814e-03_rb, & &5.3141e-03_rb,6.9582e-03_rb,6.1890e-03_rb/) kao(:, 2, 2, 5) = (/ & &2.5292e-04_rb,2.2771e-03_rb,3.4958e-03_rb,4.3938e-03_rb,5.2283e-03_rb,6.0330e-03_rb, & &6.8353e-03_rb,8.0230e-03_rb,7.6976e-03_rb/) kao(:, 3, 2, 5) = (/ & &3.3540e-04_rb,2.7711e-03_rb,4.2257e-03_rb,5.3109e-03_rb,6.3352e-03_rb,7.3450e-03_rb, & &8.3567e-03_rb,1.0142e-02_rb,9.3716e-03_rb/) kao(:, 4, 2, 5) = (/ & &4.2928e-04_rb,3.3267e-03_rb,5.0595e-03_rb,6.3597e-03_rb,7.5719e-03_rb,8.7753e-03_rb, & &1.0137e-02_rb,1.2487e-02_rb,1.1226e-02_rb/) kao(:, 5, 2, 5) = (/ & &5.3326e-04_rb,3.9397e-03_rb,5.9807e-03_rb,7.5174e-03_rb,8.9383e-03_rb,1.0365e-02_rb, & &1.1992e-02_rb,1.4789e-02_rb,1.3251e-02_rb/) kao(:, 1, 3, 5) = (/ & &2.8126e-04_rb,1.8765e-03_rb,2.6588e-03_rb,3.3485e-03_rb,3.8221e-03_rb,4.1636e-03_rb, & &4.4682e-03_rb,4.4846e-03_rb,4.3919e-03_rb/) kao(:, 2, 3, 5) = (/ & &3.9449e-04_rb,2.3306e-03_rb,3.3231e-03_rb,4.1650e-03_rb,4.7241e-03_rb,5.1684e-03_rb, & &5.5884e-03_rb,5.9167e-03_rb,5.5074e-03_rb/) kao(:, 3, 3, 5) = (/ & &5.3269e-04_rb,2.8500e-03_rb,4.0835e-03_rb,5.0834e-03_rb,5.7677e-03_rb,6.3235e-03_rb, & &6.8829e-03_rb,7.4745e-03_rb,6.8347e-03_rb/) kao(:, 4, 3, 5) = (/ & &6.9304e-04_rb,3.4418e-03_rb,4.9465e-03_rb,6.1263e-03_rb,6.9668e-03_rb,7.6366e-03_rb, & &8.3133e-03_rb,9.1010e-03_rb,8.2831e-03_rb/) kao(:, 5, 3, 5) = (/ & &8.7133e-04_rb,4.1178e-03_rb,5.9088e-03_rb,7.3026e-03_rb,8.3125e-03_rb,9.0996e-03_rb, & &9.9113e-03_rb,1.0888e-02_rb,9.8539e-03_rb/) kao(:, 1, 4, 5) = (/ & &4.2942e-04_rb,2.1209e-03_rb,2.6611e-03_rb,3.0954e-03_rb,3.5092e-03_rb,3.7795e-03_rb, & &3.7536e-03_rb,3.6803e-03_rb,3.1833e-03_rb/) kao(:, 2, 4, 5) = (/ & &6.1278e-04_rb,2.6801e-03_rb,3.3648e-03_rb,3.9108e-03_rb,4.4289e-03_rb,4.7305e-03_rb, & &4.7677e-03_rb,4.7187e-03_rb,4.0112e-03_rb/) kao(:, 3, 4, 5) = (/ & &8.4431e-04_rb,3.3316e-03_rb,4.1648e-03_rb,4.8597e-03_rb,5.4829e-03_rb,5.8484e-03_rb, & &5.9135e-03_rb,5.9451e-03_rb,4.9891e-03_rb/) kao(:, 4, 4, 5) = (/ & &1.1175e-03_rb,4.0506e-03_rb,5.0747e-03_rb,5.9647e-03_rb,6.6966e-03_rb,7.1102e-03_rb, & &7.2127e-03_rb,7.2668e-03_rb,6.0794e-03_rb/) kao(:, 5, 4, 5) = (/ & &1.4334e-03_rb,4.8948e-03_rb,6.1056e-03_rb,7.2069e-03_rb,8.0737e-03_rb,8.5555e-03_rb, & &8.6934e-03_rb,8.7560e-03_rb,7.1896e-03_rb/) kao(:, 1, 5, 5) = (/ & &6.0926e-04_rb,2.3529e-03_rb,2.8355e-03_rb,3.0797e-03_rb,3.2149e-03_rb,3.3400e-03_rb, & &3.3910e-03_rb,2.9801e-03_rb,2.2681e-03_rb/) kao(:, 2, 5, 5) = (/ & &8.8131e-04_rb,3.0196e-03_rb,3.6353e-03_rb,3.9718e-03_rb,4.1316e-03_rb,4.2694e-03_rb, & &4.3037e-03_rb,3.9012e-03_rb,2.9392e-03_rb/) kao(:, 3, 5, 5) = (/ & &1.2303e-03_rb,3.8066e-03_rb,4.5787e-03_rb,4.9631e-03_rb,5.1972e-03_rb,5.3645e-03_rb, & &5.3804e-03_rb,4.9263e-03_rb,3.6983e-03_rb/) kao(:, 4, 5, 5) = (/ & &1.6619e-03_rb,4.7363e-03_rb,5.6662e-03_rb,6.1253e-03_rb,6.4225e-03_rb,6.6560e-03_rb, & &6.6051e-03_rb,6.0844e-03_rb,4.5482e-03_rb/) kao(:, 5, 5, 5) = (/ & &2.1681e-03_rb,5.8273e-03_rb,6.8808e-03_rb,7.4389e-03_rb,7.8269e-03_rb,8.1204e-03_rb, & &8.0166e-03_rb,7.4003e-03_rb,5.4950e-03_rb/) kao(:, 1, 6, 5) = (/ & &8.3319e-04_rb,2.4541e-03_rb,2.9309e-03_rb,3.1239e-03_rb,3.1232e-03_rb,3.0304e-03_rb, & &2.8953e-03_rb,2.6232e-03_rb,1.6854e-03_rb/) kao(:, 2, 6, 5) = (/ & &1.2038e-03_rb,3.2544e-03_rb,3.8397e-03_rb,4.0740e-03_rb,4.0835e-03_rb,3.9879e-03_rb, & &3.7753e-03_rb,3.4082e-03_rb,2.1468e-03_rb/) kao(:, 3, 6, 5) = (/ & &1.6852e-03_rb,4.1990e-03_rb,4.9217e-03_rb,5.1945e-03_rb,5.2325e-03_rb,5.0738e-03_rb, & &4.7918e-03_rb,4.2939e-03_rb,2.6825e-03_rb/) kao(:, 4, 6, 5) = (/ & &2.3055e-03_rb,5.2874e-03_rb,6.1886e-03_rb,6.5148e-03_rb,6.5533e-03_rb,6.3614e-03_rb, & &5.9949e-03_rb,5.3440e-03_rb,3.2990e-03_rb/) kao(:, 5, 6, 5) = (/ & &3.0550e-03_rb,6.5592e-03_rb,7.6795e-03_rb,8.0591e-03_rb,8.0426e-03_rb,7.8256e-03_rb, & &7.4185e-03_rb,6.5412e-03_rb,4.0170e-03_rb/) kao(:, 1, 7, 5) = (/ & &1.2030e-03_rb,2.7895e-03_rb,3.1932e-03_rb,3.3085e-03_rb,3.2497e-03_rb,3.0373e-03_rb, & &2.6860e-03_rb,2.2491e-03_rb,1.3507e-03_rb/) kao(:, 2, 7, 5) = (/ & &1.7561e-03_rb,3.7366e-03_rb,4.1989e-03_rb,4.3780e-03_rb,4.3275e-03_rb,4.0454e-03_rb, & &3.5823e-03_rb,2.9962e-03_rb,1.7424e-03_rb/) kao(:, 3, 7, 5) = (/ & &2.4695e-03_rb,4.8641e-03_rb,5.4890e-03_rb,5.7046e-03_rb,5.6266e-03_rb,5.2456e-03_rb, & &4.6755e-03_rb,3.8694e-03_rb,2.1970e-03_rb/) kao(:, 4, 7, 5) = (/ & &3.4036e-03_rb,6.2572e-03_rb,7.0247e-03_rb,7.3182e-03_rb,7.1220e-03_rb,6.6595e-03_rb, & &5.9470e-03_rb,4.8905e-03_rb,2.7089e-03_rb/) kao(:, 5, 7, 5) = (/ & &4.5461e-03_rb,7.9331e-03_rb,8.8637e-03_rb,9.1326e-03_rb,8.9102e-03_rb,8.3275e-03_rb, & &7.4120e-03_rb,6.0989e-03_rb,3.2778e-03_rb/) kao(:, 1, 8, 5) = (/ & &2.0449e-03_rb,3.7053e-03_rb,4.0860e-03_rb,4.1499e-03_rb,3.9922e-03_rb,3.6227e-03_rb, & &3.0421e-03_rb,2.2282e-03_rb,1.0954e-03_rb/) kao(:, 2, 8, 5) = (/ & &3.0260e-03_rb,5.1232e-03_rb,5.5625e-03_rb,5.5873e-03_rb,5.3321e-03_rb,4.8458e-03_rb, & &4.0703e-03_rb,3.0319e-03_rb,1.4218e-03_rb/) kao(:, 3, 8, 5) = (/ & &4.3499e-03_rb,6.8685e-03_rb,7.3484e-03_rb,7.3183e-03_rb,6.9565e-03_rb,6.3086e-03_rb, & &5.3805e-03_rb,3.9991e-03_rb,1.7827e-03_rb/) kao(:, 4, 8, 5) = (/ & &6.0988e-03_rb,9.0048e-03_rb,9.4728e-03_rb,9.3798e-03_rb,8.9487e-03_rb,8.1669e-03_rb, & &6.9162e-03_rb,5.1727e-03_rb,2.2090e-03_rb/) kao(:, 5, 8, 5) = (/ & &8.2301e-03_rb,1.1592e-02_rb,1.2058e-02_rb,1.1936e-02_rb,1.1386e-02_rb,1.0345e-02_rb, & &8.7069e-03_rb,6.5415e-03_rb,2.6879e-03_rb/) kao(:, 1, 9, 5) = (/ & &6.4341e-03_rb,8.4932e-03_rb,8.6319e-03_rb,8.3108e-03_rb,7.7018e-03_rb,6.7763e-03_rb, & &5.5115e-03_rb,3.7767e-03_rb,9.5475e-04_rb/) kao(:, 2, 9, 5) = (/ & &9.6759e-03_rb,1.2213e-02_rb,1.2266e-02_rb,1.1725e-02_rb,1.0741e-02_rb,9.3855e-03_rb, & &7.5654e-03_rb,5.1517e-03_rb,1.1933e-03_rb/) kao(:, 3, 9, 5) = (/ & &1.4274e-02_rb,1.7116e-02_rb,1.6970e-02_rb,1.6030e-02_rb,1.4545e-02_rb,1.2624e-02_rb, & &1.0092e-02_rb,6.8273e-03_rb,1.4956e-03_rb/) kao(:, 4, 9, 5) = (/ & &2.0348e-02_rb,2.3456e-02_rb,2.2925e-02_rb,2.1415e-02_rb,1.9260e-02_rb,1.6502e-02_rb, & &1.3098e-02_rb,8.8597e-03_rb,1.8913e-03_rb/) kao(:, 5, 9, 5) = (/ & &2.7947e-02_rb,3.1392e-02_rb,3.0350e-02_rb,2.8042e-02_rb,2.4920e-02_rb,2.1171e-02_rb, & &1.6720e-02_rb,1.1275e-02_rb,2.3159e-03_rb/) kao(:, 1,10, 5) = (/ & &2.3218e-02_rb,2.4547e-02_rb,2.3456e-02_rb,2.1452e-02_rb,1.8855e-02_rb,1.5703e-02_rb, & &1.2047e-02_rb,7.7884e-03_rb,1.4115e-03_rb/) kao(:, 2,10, 5) = (/ & &3.5352e-02_rb,3.6479e-02_rb,3.4471e-02_rb,3.1299e-02_rb,2.7239e-02_rb,2.2668e-02_rb, & &1.7318e-02_rb,1.0990e-02_rb,1.7428e-03_rb/) kao(:, 3,10, 5) = (/ & &5.3041e-02_rb,5.3290e-02_rb,4.9753e-02_rb,4.4634e-02_rb,3.8593e-02_rb,3.1830e-02_rb, & &2.4004e-02_rb,1.5032e-02_rb,2.1711e-03_rb/) kao(:, 4,10, 5) = (/ & &7.6819e-02_rb,7.5905e-02_rb,7.0118e-02_rb,6.2386e-02_rb,5.3448e-02_rb,4.3595e-02_rb, & &3.2572e-02_rb,2.0010e-02_rb,2.6405e-03_rb/) kao(:, 5,10, 5) = (/ & &1.0741e-01_rb,1.0446e-01_rb,9.5780e-02_rb,8.4676e-02_rb,7.2117e-02_rb,5.8406e-02_rb, & &4.3338e-02_rb,2.6148e-02_rb,3.0152e-03_rb/) kao(:, 1,11, 5) = (/ & &3.5267e-02_rb,3.5419e-02_rb,3.3018e-02_rb,2.9652e-02_rb,2.5661e-02_rb,2.1081e-02_rb, & &1.5812e-02_rb,9.8203e-03_rb,1.5039e-03_rb/) kao(:, 2,11, 5) = (/ & &5.4088e-02_rb,5.3137e-02_rb,4.9102e-02_rb,4.3719e-02_rb,3.7498e-02_rb,3.0622e-02_rb, & &2.2914e-02_rb,1.4036e-02_rb,1.8588e-03_rb/) kao(:, 3,11, 5) = (/ & &8.1309e-02_rb,7.8515e-02_rb,7.1873e-02_rb,6.3455e-02_rb,5.4008e-02_rb,4.3709e-02_rb, & &3.2277e-02_rb,1.9424e-02_rb,2.2498e-03_rb/) kao(:, 4,11, 5) = (/ & &1.1800e-01_rb,1.1244e-01_rb,1.0217e-01_rb,8.9567e-02_rb,7.5664e-02_rb,6.0559e-02_rb, & &4.4387e-02_rb,2.6353e-02_rb,2.7248e-03_rb/) kao(:, 5,11, 5) = (/ & &1.6472e-01_rb,1.5538e-01_rb,1.4035e-01_rb,1.2265e-01_rb,1.0315e-01_rb,8.2131e-02_rb, & &5.9771e-02_rb,3.4979e-02_rb,3.2176e-03_rb/) kao(:, 1,12, 5) = (/ & &3.9647e-02_rb,3.8955e-02_rb,3.5866e-02_rb,3.1882e-02_rb,2.7372e-02_rb,2.2283e-02_rb, & &1.6581e-02_rb,1.0137e-02_rb,1.4428e-03_rb/) kao(:, 2,12, 5) = (/ & &6.1147e-02_rb,5.9154e-02_rb,5.3991e-02_rb,4.7633e-02_rb,4.0515e-02_rb,3.2821e-02_rb, & &2.4231e-02_rb,1.4611e-02_rb,1.7795e-03_rb/) kao(:, 3,12, 5) = (/ & &9.1962e-02_rb,8.7537e-02_rb,7.9486e-02_rb,6.9739e-02_rb,5.8957e-02_rb,4.7222e-02_rb, & &3.4488e-02_rb,2.0425e-02_rb,2.1548e-03_rb/) kao(:, 4,12, 5) = (/ & &1.3375e-01_rb,1.2593e-01_rb,1.1362e-01_rb,9.8983e-02_rb,8.2938e-02_rb,6.5961e-02_rb, & &4.7849e-02_rb,2.7977e-02_rb,2.5823e-03_rb/) kao(:, 5,12, 5) = (/ & &1.8619e-01_rb,1.7389e-01_rb,1.5614e-01_rb,1.3563e-01_rb,1.1356e-01_rb,8.9900e-02_rb, & &6.4743e-02_rb,3.7437e-02_rb,3.0416e-03_rb/) kao(:, 1,13, 5) = (/ & &3.5348e-02_rb,3.4594e-02_rb,3.1651e-02_rb,2.8032e-02_rb,2.3972e-02_rb,1.9476e-02_rb, & &1.4520e-02_rb,8.8483e-03_rb,1.2073e-03_rb/) kao(:, 2,13, 5) = (/ & &5.4657e-02_rb,5.2717e-02_rb,4.7880e-02_rb,4.2169e-02_rb,3.5919e-02_rb,2.9028e-02_rb, & &2.1424e-02_rb,1.2832e-02_rb,1.4997e-03_rb/) kao(:, 3,13, 5) = (/ & &8.2593e-02_rb,7.8668e-02_rb,7.1038e-02_rb,6.2226e-02_rb,5.2555e-02_rb,4.1980e-02_rb, & &3.0595e-02_rb,1.8057e-02_rb,1.8484e-03_rb/) kao(:, 4,13, 5) = (/ & &1.1968e-01_rb,1.1269e-01_rb,1.0134e-01_rb,8.8277e-02_rb,7.4125e-02_rb,5.9019e-02_rb, & &4.2726e-02_rb,2.4879e-02_rb,2.2113e-03_rb/) kao(:, 5,13, 5) = (/ & &1.6694e-01_rb,1.5606e-01_rb,1.3993e-01_rb,1.2146e-01_rb,1.0158e-01_rb,8.0368e-02_rb, & &5.7742e-02_rb,3.3361e-02_rb,2.6209e-03_rb/) kao(:, 1, 1, 6) = (/ & &5.8710e-04_rb,3.7447e-03_rb,5.6598e-03_rb,7.4215e-03_rb,9.2308e-03_rb,1.1302e-02_rb, & &1.3745e-02_rb,1.7130e-02_rb,1.6376e-02_rb/) kao(:, 2, 1, 6) = (/ & &7.1095e-04_rb,4.5295e-03_rb,6.8956e-03_rb,9.1329e-03_rb,1.1441e-02_rb,1.4069e-02_rb, & &1.7260e-02_rb,2.1984e-02_rb,2.0159e-02_rb/) kao(:, 3, 1, 6) = (/ & &8.4824e-04_rb,5.3994e-03_rb,8.2567e-03_rb,1.1010e-02_rb,1.3909e-02_rb,1.7204e-02_rb, & &2.1091e-02_rb,2.7132e-02_rb,2.4524e-02_rb/) kao(:, 4, 1, 6) = (/ & &9.9962e-04_rb,6.3675e-03_rb,9.7929e-03_rb,1.3116e-02_rb,1.6664e-02_rb,2.0670e-02_rb, & &2.5520e-02_rb,3.3009e-02_rb,2.9504e-02_rb/) kao(:, 5, 1, 6) = (/ & &1.1677e-03_rb,7.4449e-03_rb,1.1517e-02_rb,1.5476e-02_rb,1.9740e-02_rb,2.4530e-02_rb, & &3.0349e-02_rb,3.9385e-02_rb,3.5028e-02_rb/) kao(:, 1, 2, 6) = (/ & &7.3151e-04_rb,3.6448e-03_rb,5.2016e-03_rb,6.6421e-03_rb,7.9400e-03_rb,9.1018e-03_rb, & &1.0516e-02_rb,1.2549e-02_rb,1.2514e-02_rb/) kao(:, 2, 2, 6) = (/ & &8.8990e-04_rb,4.4216e-03_rb,6.3659e-03_rb,8.1663e-03_rb,9.8302e-03_rb,1.1392e-02_rb, & &1.3321e-02_rb,1.6283e-02_rb,1.5469e-02_rb/) kao(:, 3, 2, 6) = (/ & &1.0714e-03_rb,5.2883e-03_rb,7.6564e-03_rb,9.8457e-03_rb,1.1909e-02_rb,1.3940e-02_rb, & &1.6405e-02_rb,2.0166e-02_rb,1.8847e-02_rb/) kao(:, 4, 2, 6) = (/ & &1.2782e-03_rb,6.2637e-03_rb,9.0995e-03_rb,1.1738e-02_rb,1.4242e-02_rb,1.6761e-02_rb, & &1.9871e-02_rb,2.4604e-02_rb,2.2753e-02_rb/) kao(:, 5, 2, 6) = (/ & &1.5101e-03_rb,7.3491e-03_rb,1.0728e-02_rb,1.3865e-02_rb,1.6850e-02_rb,1.9892e-02_rb, & &2.3687e-02_rb,2.9581e-02_rb,2.7171e-02_rb/) kao(:, 1, 3, 6) = (/ & &1.1614e-03_rb,3.9286e-03_rb,5.2992e-03_rb,6.2920e-03_rb,7.1803e-03_rb,7.9571e-03_rb, & &8.5455e-03_rb,9.0349e-03_rb,9.0567e-03_rb/) kao(:, 2, 3, 6) = (/ & &1.4526e-03_rb,4.8338e-03_rb,6.5076e-03_rb,7.7704e-03_rb,8.9197e-03_rb,9.9629e-03_rb, & &1.0799e-02_rb,1.1625e-02_rb,1.1298e-02_rb/) kao(:, 3, 3, 6) = (/ & &1.7725e-03_rb,5.8343e-03_rb,7.8680e-03_rb,9.4298e-03_rb,1.0866e-02_rb,1.2179e-02_rb, & &1.3264e-02_rb,1.4525e-02_rb,1.3847e-02_rb/) kao(:, 4, 3, 6) = (/ & &2.1368e-03_rb,6.9576e-03_rb,9.3967e-03_rb,1.1298e-02_rb,1.3038e-02_rb,1.4633e-02_rb, & &1.6013e-02_rb,1.7774e-02_rb,1.6807e-02_rb/) kao(:, 5, 3, 6) = (/ & &2.5530e-03_rb,8.2213e-03_rb,1.1119e-02_rb,1.3386e-02_rb,1.5467e-02_rb,1.7396e-02_rb, & &1.9105e-02_rb,2.1405e-02_rb,2.0198e-02_rb/) kao(:, 1, 4, 6) = (/ & &1.8393e-03_rb,4.2719e-03_rb,5.6108e-03_rb,6.4238e-03_rb,6.8867e-03_rb,7.1924e-03_rb, & &7.4060e-03_rb,7.2862e-03_rb,6.3156e-03_rb/) kao(:, 2, 4, 6) = (/ & &2.3510e-03_rb,5.3330e-03_rb,6.9923e-03_rb,7.9801e-03_rb,8.5829e-03_rb,9.0352e-03_rb, & &9.3670e-03_rb,9.3790e-03_rb,7.9787e-03_rb/) kao(:, 3, 4, 6) = (/ & &2.9328e-03_rb,6.5477e-03_rb,8.5524e-03_rb,9.7522e-03_rb,1.0523e-02_rb,1.1105e-02_rb, & &1.1571e-02_rb,1.1684e-02_rb,9.9124e-03_rb/) kao(:, 4, 4, 6) = (/ & &3.6136e-03_rb,7.9708e-03_rb,1.0306e-02_rb,1.1748e-02_rb,1.2708e-02_rb,1.3440e-02_rb, & &1.4032e-02_rb,1.4271e-02_rb,1.2172e-02_rb/) kao(:, 5, 4, 6) = (/ & &4.3442e-03_rb,9.5761e-03_rb,1.2277e-02_rb,1.3997e-02_rb,1.5163e-02_rb,1.6053e-02_rb, & &1.6795e-02_rb,1.7163e-02_rb,1.4922e-02_rb/) kao(:, 1, 5, 6) = (/ & &2.6688e-03_rb,4.8052e-03_rb,5.7832e-03_rb,6.4797e-03_rb,6.8502e-03_rb,6.8218e-03_rb, & &6.5242e-03_rb,6.0722e-03_rb,4.6753e-03_rb/) kao(:, 2, 5, 6) = (/ & &3.4688e-03_rb,6.1297e-03_rb,7.3230e-03_rb,8.1782e-03_rb,8.6322e-03_rb,8.6195e-03_rb, & &8.3126e-03_rb,7.8540e-03_rb,5.9385e-03_rb/) kao(:, 3, 5, 6) = (/ & &4.4058e-03_rb,7.6630e-03_rb,9.1013e-03_rb,1.0147e-02_rb,1.0667e-02_rb,1.0680e-02_rb, & &1.0355e-02_rb,9.8543e-03_rb,7.3828e-03_rb/) kao(:, 4, 5, 6) = (/ & &5.5115e-03_rb,9.4361e-03_rb,1.1163e-02_rb,1.2385e-02_rb,1.2986e-02_rb,1.3010e-02_rb, & &1.2662e-02_rb,1.2099e-02_rb,9.0803e-03_rb/) kao(:, 5, 5, 6) = (/ & &6.7862e-03_rb,1.1482e-02_rb,1.3563e-02_rb,1.4942e-02_rb,1.5588e-02_rb,1.5643e-02_rb, & &1.5261e-02_rb,1.4627e-02_rb,1.1026e-02_rb/) kao(:, 1, 6, 6) = (/ & &3.5724e-03_rb,5.4370e-03_rb,6.0294e-03_rb,6.3914e-03_rb,6.6047e-03_rb,6.5232e-03_rb, & &6.0277e-03_rb,5.0661e-03_rb,3.1530e-03_rb/) kao(:, 2, 6, 6) = (/ & &4.7182e-03_rb,7.1382e-03_rb,7.8365e-03_rb,8.2706e-03_rb,8.5053e-03_rb,8.3495e-03_rb, & &7.7282e-03_rb,6.6198e-03_rb,4.1407e-03_rb/) kao(:, 3, 6, 6) = (/ & &6.1150e-03_rb,9.1981e-03_rb,9.9430e-03_rb,1.0464e-02_rb,1.0671e-02_rb,1.0482e-02_rb, & &9.6931e-03_rb,8.3868e-03_rb,5.3331e-03_rb/) kao(:, 4, 6, 6) = (/ & &7.7447e-03_rb,1.1494e-02_rb,1.2445e-02_rb,1.3024e-02_rb,1.3207e-02_rb,1.2894e-02_rb, & &1.1946e-02_rb,1.0395e-02_rb,6.6921e-03_rb/) kao(:, 5, 6, 6) = (/ & &9.6796e-03_rb,1.4190e-02_rb,1.5330e-02_rb,1.5967e-02_rb,1.6158e-02_rb,1.5661e-02_rb, & &1.4492e-02_rb,1.2674e-02_rb,8.2498e-03_rb/) kao(:, 1, 7, 6) = (/ & &4.9616e-03_rb,6.6121e-03_rb,6.8416e-03_rb,6.8101e-03_rb,6.6768e-03_rb,6.3696e-03_rb, & &5.8141e-03_rb,4.6733e-03_rb,2.5227e-03_rb/) kao(:, 2, 7, 6) = (/ & &6.6954e-03_rb,8.8189e-03_rb,9.1778e-03_rb,9.1281e-03_rb,8.8939e-03_rb,8.4196e-03_rb, & &7.6478e-03_rb,6.1227e-03_rb,3.2129e-03_rb/) kao(:, 3, 7, 6) = (/ & &8.9023e-03_rb,1.1584e-02_rb,1.1984e-02_rb,1.1899e-02_rb,1.1446e-02_rb,1.0830e-02_rb, & &9.7223e-03_rb,7.7935e-03_rb,4.0071e-03_rb/) kao(:, 4, 7, 6) = (/ & &1.1382e-02_rb,1.4883e-02_rb,1.5340e-02_rb,1.5077e-02_rb,1.4572e-02_rb,1.3613e-02_rb, & &1.2124e-02_rb,9.7242e-03_rb,4.9238e-03_rb/) kao(:, 5, 7, 6) = (/ & &1.4371e-02_rb,1.8723e-02_rb,1.9154e-02_rb,1.8910e-02_rb,1.8193e-02_rb,1.6854e-02_rb, & &1.4917e-02_rb,1.1939e-02_rb,6.0317e-03_rb/) kao(:, 1, 8, 6) = (/ & &8.7001e-03_rb,9.7747e-03_rb,9.5071e-03_rb,8.9379e-03_rb,8.2227e-03_rb,7.2962e-03_rb, & &6.1868e-03_rb,4.7953e-03_rb,2.0794e-03_rb/) kao(:, 2, 8, 6) = (/ & &1.1618e-02_rb,1.3178e-02_rb,1.2958e-02_rb,1.2245e-02_rb,1.1180e-02_rb,9.8759e-03_rb, & &8.4959e-03_rb,6.4689e-03_rb,2.6798e-03_rb/) kao(:, 3, 8, 6) = (/ & &1.5351e-02_rb,1.7665e-02_rb,1.7319e-02_rb,1.6267e-02_rb,1.4838e-02_rb,1.3188e-02_rb, & &1.1167e-02_rb,8.4425e-03_rb,3.4113e-03_rb/) kao(:, 4, 8, 6) = (/ & &2.0092e-02_rb,2.2911e-02_rb,2.2431e-02_rb,2.1181e-02_rb,1.9393e-02_rb,1.7119e-02_rb, & &1.4369e-02_rb,1.0695e-02_rb,4.2567e-03_rb/) kao(:, 5, 8, 6) = (/ & &2.5625e-02_rb,2.9136e-02_rb,2.8640e-02_rb,2.6980e-02_rb,2.4612e-02_rb,2.1703e-02_rb, & &1.8202e-02_rb,1.3310e-02_rb,5.2101e-03_rb/) kao(:, 1, 9, 6) = (/ & &2.8411e-02_rb,2.7805e-02_rb,2.5436e-02_rb,2.2677e-02_rb,1.9516e-02_rb,1.5867e-02_rb, & &1.1958e-02_rb,7.5969e-03_rb,2.0612e-03_rb/) kao(:, 2, 9, 6) = (/ & &3.8814e-02_rb,3.7908e-02_rb,3.4867e-02_rb,3.0948e-02_rb,2.6641e-02_rb,2.1668e-02_rb, & &1.6345e-02_rb,1.0429e-02_rb,2.5903e-03_rb/) kao(:, 3, 9, 6) = (/ & &5.1537e-02_rb,5.0347e-02_rb,4.6262e-02_rb,4.1144e-02_rb,3.5324e-02_rb,2.8924e-02_rb, & &2.1923e-02_rb,1.4064e-02_rb,3.2116e-03_rb/) kao(:, 4, 9, 6) = (/ & &6.6909e-02_rb,6.5234e-02_rb,6.0364e-02_rb,5.3943e-02_rb,4.6443e-02_rb,3.8124e-02_rb, & &2.8947e-02_rb,1.8549e-02_rb,3.8623e-03_rb/) kao(:, 5, 9, 6) = (/ & &8.6078e-02_rb,8.4018e-02_rb,7.7843e-02_rb,6.9506e-02_rb,5.9853e-02_rb,4.9159e-02_rb, & &3.7146e-02_rb,2.3977e-02_rb,4.6095e-03_rb/) kao(:, 1,10, 6) = (/ & &1.0479e-01_rb,9.4804e-02_rb,8.4158e-02_rb,7.2419e-02_rb,5.9897e-02_rb,4.7014e-02_rb, & &3.3513e-02_rb,1.8915e-02_rb,2.3959e-03_rb/) kao(:, 2,10, 6) = (/ & &1.4593e-01_rb,1.3214e-01_rb,1.1705e-01_rb,1.0074e-01_rb,8.3547e-02_rb,6.5542e-02_rb, & &4.6772e-02_rb,2.6375e-02_rb,2.8756e-03_rb/) kao(:, 3,10, 6) = (/ & &1.9678e-01_rb,1.7825e-01_rb,1.5773e-01_rb,1.3590e-01_rb,1.1277e-01_rb,8.8462e-02_rb, & &6.3144e-02_rb,3.5733e-02_rb,3.4719e-03_rb/) kao(:, 4,10, 6) = (/ & &2.5901e-01_rb,2.3451e-01_rb,2.0787e-01_rb,1.7931e-01_rb,1.4891e-01_rb,1.1693e-01_rb, & &8.3230e-02_rb,4.7067e-02_rb,4.3129e-03_rb/) kao(:, 5,10, 6) = (/ & &3.3485e-01_rb,3.0286e-01_rb,2.6808e-01_rb,2.3135e-01_rb,1.9236e-01_rb,1.5087e-01_rb, & &1.0672e-01_rb,6.0498e-02_rb,5.2412e-03_rb/) kao(:, 1,11, 6) = (/ & &1.5729e-01_rb,1.4058e-01_rb,1.2399e-01_rb,1.0596e-01_rb,8.6953e-02_rb,6.7449e-02_rb, & &4.7388e-02_rb,2.6098e-02_rb,2.4928e-03_rb/) kao(:, 2,11, 6) = (/ & &2.1957e-01_rb,1.9641e-01_rb,1.7272e-01_rb,1.4763e-01_rb,1.2135e-01_rb,9.4358e-02_rb, & &6.6246e-02_rb,3.6579e-02_rb,3.1141e-03_rb/) kao(:, 3,11, 6) = (/ & &2.9796e-01_rb,2.6647e-01_rb,2.3432e-01_rb,2.0028e-01_rb,1.6476e-01_rb,1.2810e-01_rb, & &8.9989e-02_rb,4.9741e-02_rb,3.7347e-03_rb/) kao(:, 4,11, 6) = (/ & &3.9483e-01_rb,3.5349e-01_rb,3.1058e-01_rb,2.6565e-01_rb,2.1911e-01_rb,1.7032e-01_rb, & &1.1939e-01_rb,6.5674e-02_rb,4.4794e-03_rb/) kao(:, 5,11, 6) = (/ & &5.1293e-01_rb,4.5889e-01_rb,4.0288e-01_rb,3.4402e-01_rb,2.8339e-01_rb,2.1998e-01_rb, & &1.5383e-01_rb,8.4493e-02_rb,5.3916e-03_rb/) kao(:, 1,12, 6) = (/ & &1.7496e-01_rb,1.5620e-01_rb,1.3720e-01_rb,1.1692e-01_rb,9.5664e-02_rb,7.3896e-02_rb, & &5.1517e-02_rb,2.8131e-02_rb,2.4011e-03_rb/) kao(:, 2,12, 6) = (/ & &2.4535e-01_rb,2.1911e-01_rb,1.9222e-01_rb,1.6394e-01_rb,1.3439e-01_rb,1.0379e-01_rb, & &7.2409e-02_rb,3.9528e-02_rb,2.9367e-03_rb/) kao(:, 3,12, 6) = (/ & &3.3489e-01_rb,2.9916e-01_rb,2.6204e-01_rb,2.2337e-01_rb,1.8311e-01_rb,1.4171e-01_rb, & &9.8967e-02_rb,5.4062e-02_rb,3.5110e-03_rb/) kao(:, 4,12, 6) = (/ & &4.4645e-01_rb,3.9881e-01_rb,3.4940e-01_rb,2.9764e-01_rb,2.4438e-01_rb,1.8899e-01_rb, & &1.3169e-01_rb,7.1745e-02_rb,4.2744e-03_rb/) kao(:, 5,12, 6) = (/ & &5.8440e-01_rb,5.2135e-01_rb,4.5608e-01_rb,3.8804e-01_rb,3.1784e-01_rb,2.4555e-01_rb, & &1.7082e-01_rb,9.2836e-02_rb,5.0546e-03_rb/) kao(:, 1,13, 6) = (/ & &1.5548e-01_rb,1.3934e-01_rb,1.2226e-01_rb,1.0396e-01_rb,8.5068e-02_rb,6.5711e-02_rb, & &4.5702e-02_rb,2.4873e-02_rb,2.0740e-03_rb/) kao(:, 2,13, 6) = (/ & &2.1897e-01_rb,1.9631e-01_rb,1.7240e-01_rb,1.4676e-01_rb,1.2003e-01_rb,9.2645e-02_rb, & &6.4538e-02_rb,3.5191e-02_rb,2.5124e-03_rb/) kao(:, 3,13, 6) = (/ & &3.0093e-01_rb,2.6954e-01_rb,2.3618e-01_rb,2.0119e-01_rb,1.6478e-01_rb,1.2740e-01_rb, & &8.8848e-02_rb,4.8366e-02_rb,3.0385e-03_rb/) kao(:, 4,13, 6) = (/ & &4.0480e-01_rb,3.6240e-01_rb,3.1715e-01_rb,2.6983e-01_rb,2.2076e-01_rb,1.7039e-01_rb, & &1.1847e-01_rb,6.4388e-02_rb,3.6949e-03_rb/) kao(:, 5,13, 6) = (/ & &5.3109e-01_rb,4.7451e-01_rb,4.1461e-01_rb,3.5239e-01_rb,2.8790e-01_rb,2.2202e-01_rb, & &1.5435e-01_rb,8.3628e-02_rb,4.3087e-03_rb/) kao(:, 1, 1, 7) = (/ & &1.3848e-03_rb,7.4265e-03_rb,1.1328e-02_rb,1.5765e-02_rb,2.0617e-02_rb,2.5760e-02_rb, & &3.1394e-02_rb,3.9174e-02_rb,3.7962e-02_rb/) kao(:, 2, 1, 7) = (/ & &1.6671e-03_rb,8.9945e-03_rb,1.3803e-02_rb,1.9211e-02_rb,2.5130e-02_rb,3.1434e-02_rb, & &3.8541e-02_rb,4.9244e-02_rb,4.6325e-02_rb/) kao(:, 3, 1, 7) = (/ & &1.9714e-03_rb,1.0738e-02_rb,1.6621e-02_rb,2.3153e-02_rb,3.0242e-02_rb,3.7827e-02_rb, & &4.6470e-02_rb,6.0286e-02_rb,5.5806e-02_rb/) kao(:, 4, 1, 7) = (/ & &2.3028e-03_rb,1.2683e-02_rb,1.9788e-02_rb,2.7634e-02_rb,3.6042e-02_rb,4.5063e-02_rb, & &5.5400e-02_rb,7.2329e-02_rb,6.6551e-02_rb/) kao(:, 5, 1, 7) = (/ & &2.6597e-03_rb,1.4839e-02_rb,2.3341e-02_rb,3.2680e-02_rb,4.2600e-02_rb,5.3211e-02_rb, & &6.5429e-02_rb,8.5816e-02_rb,7.8751e-02_rb/) kao(:, 1, 2, 7) = (/ & &1.7365e-03_rb,7.5104e-03_rb,1.0855e-02_rb,1.3649e-02_rb,1.6794e-02_rb,2.0487e-02_rb, & &2.4622e-02_rb,2.9785e-02_rb,2.9296e-02_rb/) kao(:, 2, 2, 7) = (/ & &2.1191e-03_rb,9.1841e-03_rb,1.3246e-02_rb,1.6722e-02_rb,2.0613e-02_rb,2.5164e-02_rb, & &3.0319e-02_rb,3.7310e-02_rb,3.6002e-02_rb/) kao(:, 3, 2, 7) = (/ & &2.5333e-03_rb,1.1030e-02_rb,1.5921e-02_rb,2.0206e-02_rb,2.4966e-02_rb,3.0432e-02_rb, & &3.6701e-02_rb,4.5559e-02_rb,4.3603e-02_rb/) kao(:, 4, 2, 7) = (/ & &2.9828e-03_rb,1.3051e-02_rb,1.8932e-02_rb,2.4145e-02_rb,2.9915e-02_rb,3.6454e-02_rb, & &4.3919e-02_rb,5.4674e-02_rb,5.2233e-02_rb/) kao(:, 5, 2, 7) = (/ & &3.4709e-03_rb,1.5291e-02_rb,2.2279e-02_rb,2.8573e-02_rb,3.5520e-02_rb,4.3284e-02_rb, & &5.2127e-02_rb,6.5008e-02_rb,6.1979e-02_rb/) kao(:, 1, 3, 7) = (/ & &2.8092e-03_rb,8.4318e-03_rb,1.1352e-02_rb,1.3672e-02_rb,1.5434e-02_rb,1.6834e-02_rb, & &1.8680e-02_rb,2.1551e-02_rb,2.1437e-02_rb/) kao(:, 2, 3, 7) = (/ & &3.4524e-03_rb,1.0436e-02_rb,1.4060e-02_rb,1.6891e-02_rb,1.9071e-02_rb,2.0847e-02_rb, & &2.3206e-02_rb,2.6955e-02_rb,2.6565e-02_rb/) kao(:, 3, 3, 7) = (/ & &4.1827e-03_rb,1.2653e-02_rb,1.7072e-02_rb,2.0477e-02_rb,2.3160e-02_rb,2.5389e-02_rb, & &2.8361e-02_rb,3.3016e-02_rb,3.2451e-02_rb/) kao(:, 4, 3, 7) = (/ & &4.9958e-03_rb,1.5103e-02_rb,2.0380e-02_rb,2.4512e-02_rb,2.7790e-02_rb,3.0621e-02_rb, & &3.4270e-02_rb,3.9878e-02_rb,3.9158e-02_rb/) kao(:, 5, 3, 7) = (/ & &5.8802e-03_rb,1.7776e-02_rb,2.4055e-02_rb,2.9030e-02_rb,3.2999e-02_rb,3.6516e-02_rb, & &4.0970e-02_rb,4.7651e-02_rb,4.6784e-02_rb/) kao(:, 1, 4, 7) = (/ & &4.5589e-03_rb,1.0079e-02_rb,1.2337e-02_rb,1.3994e-02_rb,1.5249e-02_rb,1.6070e-02_rb, & &1.6321e-02_rb,1.6191e-02_rb,1.5492e-02_rb/) kao(:, 2, 4, 7) = (/ & &5.6834e-03_rb,1.2638e-02_rb,1.5464e-02_rb,1.7583e-02_rb,1.9154e-02_rb,2.0166e-02_rb, & &2.0456e-02_rb,2.0438e-02_rb,1.9456e-02_rb/) kao(:, 3, 4, 7) = (/ & &6.9619e-03_rb,1.5492e-02_rb,1.8969e-02_rb,2.1612e-02_rb,2.3568e-02_rb,2.4770e-02_rb, & &2.5120e-02_rb,2.5223e-02_rb,2.3997e-02_rb/) kao(:, 4, 4, 7) = (/ & &8.4006e-03_rb,1.8644e-02_rb,2.2892e-02_rb,2.6108e-02_rb,2.8487e-02_rb,2.9981e-02_rb, & &3.0457e-02_rb,3.0724e-02_rb,2.9183e-02_rb/) kao(:, 5, 4, 7) = (/ & &1.0053e-02_rb,2.2099e-02_rb,2.7239e-02_rb,3.1080e-02_rb,3.3975e-02_rb,3.5831e-02_rb, & &3.6496e-02_rb,3.6989e-02_rb,3.5086e-02_rb/) kao(:, 1, 5, 7) = (/ & &6.7689e-03_rb,1.1903e-02_rb,1.3648e-02_rb,1.4571e-02_rb,1.5091e-02_rb,1.5249e-02_rb, & &1.4963e-02_rb,1.3941e-02_rb,1.1072e-02_rb/) kao(:, 2, 5, 7) = (/ & &8.5889e-03_rb,1.5080e-02_rb,1.7390e-02_rb,1.8530e-02_rb,1.9222e-02_rb,1.9473e-02_rb, & &1.9084e-02_rb,1.7764e-02_rb,1.3833e-02_rb/) kao(:, 3, 5, 7) = (/ & &1.0679e-02_rb,1.8745e-02_rb,2.1599e-02_rb,2.3039e-02_rb,2.3924e-02_rb,2.4268e-02_rb, & &2.3807e-02_rb,2.2090e-02_rb,1.7335e-02_rb/) kao(:, 4, 5, 7) = (/ & &1.3055e-02_rb,2.2828e-02_rb,2.6303e-02_rb,2.8136e-02_rb,2.9230e-02_rb,2.9685e-02_rb, & &2.9170e-02_rb,2.7046e-02_rb,2.1372e-02_rb/) kao(:, 5, 5, 7) = (/ & &1.5751e-02_rb,2.7271e-02_rb,3.1547e-02_rb,3.3833e-02_rb,3.5204e-02_rb,3.5707e-02_rb, & &3.5181e-02_rb,3.2654e-02_rb,2.6029e-02_rb/) kao(:, 1, 6, 7) = (/ & &9.2094e-03_rb,1.3724e-02_rb,1.5036e-02_rb,1.5371e-02_rb,1.5106e-02_rb,1.4473e-02_rb, & &1.3532e-02_rb,1.2020e-02_rb,8.1670e-03_rb/) kao(:, 2, 6, 7) = (/ & &1.1986e-02_rb,1.7634e-02_rb,1.9365e-02_rb,1.9834e-02_rb,1.9516e-02_rb,1.8750e-02_rb, & &1.7602e-02_rb,1.5593e-02_rb,1.0511e-02_rb/) kao(:, 3, 6, 7) = (/ & &1.5180e-02_rb,2.2067e-02_rb,2.4393e-02_rb,2.4963e-02_rb,2.4596e-02_rb,2.3680e-02_rb, & &2.2274e-02_rb,1.9750e-02_rb,1.3124e-02_rb/) kao(:, 4, 6, 7) = (/ & &1.8879e-02_rb,2.7272e-02_rb,3.0068e-02_rb,3.0821e-02_rb,3.0411e-02_rb,2.9355e-02_rb, & &2.7616e-02_rb,2.4539e-02_rb,1.6137e-02_rb/) kao(:, 5, 6, 7) = (/ & &2.3118e-02_rb,3.3049e-02_rb,3.6382e-02_rb,3.7419e-02_rb,3.7019e-02_rb,3.5790e-02_rb, & &3.3628e-02_rb,2.9915e-02_rb,1.9032e-02_rb/) kao(:, 1, 7, 7) = (/ & &1.3180e-02_rb,1.6672e-02_rb,1.7592e-02_rb,1.7458e-02_rb,1.6513e-02_rb,1.5058e-02_rb, & &1.3095e-02_rb,1.0650e-02_rb,5.4642e-03_rb/) kao(:, 2, 7, 7) = (/ & &1.7434e-02_rb,2.2125e-02_rb,2.3174e-02_rb,2.2835e-02_rb,2.1611e-02_rb,1.9729e-02_rb, & &1.7181e-02_rb,1.4117e-02_rb,7.1375e-03_rb/) kao(:, 3, 7, 7) = (/ & &2.2566e-02_rb,2.8274e-02_rb,2.9519e-02_rb,2.9093e-02_rb,2.7592e-02_rb,2.5177e-02_rb, & &2.2032e-02_rb,1.8185e-02_rb,9.3084e-03_rb/) kao(:, 4, 7, 7) = (/ & &2.8653e-02_rb,3.5321e-02_rb,3.6780e-02_rb,3.6287e-02_rb,3.4434e-02_rb,3.1535e-02_rb, & &2.7705e-02_rb,2.2900e-02_rb,1.1848e-02_rb/) kao(:, 5, 7, 7) = (/ & &3.5765e-02_rb,4.3430e-02_rb,4.5100e-02_rb,4.4435e-02_rb,4.2245e-02_rb,3.8834e-02_rb, & &3.4253e-02_rb,2.8260e-02_rb,1.4688e-02_rb/) kao(:, 1, 8, 7) = (/ & &2.1747e-02_rb,2.4454e-02_rb,2.4292e-02_rb,2.3080e-02_rb,2.1111e-02_rb,1.8543e-02_rb, & &1.5300e-02_rb,1.1054e-02_rb,4.8558e-03_rb/) kao(:, 2, 8, 7) = (/ & &3.0389e-02_rb,3.3327e-02_rb,3.2926e-02_rb,3.1134e-02_rb,2.8533e-02_rb,2.5003e-02_rb, & &2.0402e-02_rb,1.4724e-02_rb,6.1788e-03_rb/) kao(:, 3, 8, 7) = (/ & &4.0290e-02_rb,4.3505e-02_rb,4.2950e-02_rb,4.0676e-02_rb,3.7191e-02_rb,3.2422e-02_rb, & &2.6427e-02_rb,1.9111e-02_rb,7.6799e-03_rb/) kao(:, 4, 8, 7) = (/ & &5.2072e-02_rb,5.5809e-02_rb,5.4895e-02_rb,5.1714e-02_rb,4.6978e-02_rb,4.0907e-02_rb, & &3.3411e-02_rb,2.4362e-02_rb,9.3208e-03_rb/) kao(:, 5, 8, 7) = (/ & &6.6160e-02_rb,7.0258e-02_rb,6.8654e-02_rb,6.4320e-02_rb,5.8240e-02_rb,5.0667e-02_rb, & &4.1561e-02_rb,3.0531e-02_rb,1.1097e-02_rb/) kao(:, 1, 9, 7) = (/ & &6.9879e-02_rb,6.6386e-02_rb,6.1416e-02_rb,5.4862e-02_rb,4.7283e-02_rb,3.9112e-02_rb, & &2.9846e-02_rb,1.9026e-02_rb,5.0281e-03_rb/) kao(:, 2, 9, 7) = (/ & &9.7072e-02_rb,9.2199e-02_rb,8.5540e-02_rb,7.6855e-02_rb,6.6492e-02_rb,5.4707e-02_rb, & &4.1549e-02_rb,2.6366e-02_rb,6.3749e-03_rb/) kao(:, 3, 9, 7) = (/ & &1.3274e-01_rb,1.2639e-01_rb,1.1670e-01_rb,1.0412e-01_rb,8.9576e-02_rb,7.3400e-02_rb, & &5.5548e-02_rb,3.5017e-02_rb,7.9283e-03_rb/) kao(:, 4, 9, 7) = (/ & &1.7725e-01_rb,1.6726e-01_rb,1.5276e-01_rb,1.3606e-01_rb,1.1668e-01_rb,9.5385e-02_rb, & &7.1895e-02_rb,4.5017e-02_rb,9.7700e-03_rb/) kao(:, 5, 9, 7) = (/ & &2.2900e-01_rb,2.1469e-01_rb,1.9562e-01_rb,1.7346e-01_rb,1.4892e-01_rb,1.2126e-01_rb, & &9.1015e-02_rb,5.6621e-02_rb,1.1851e-02_rb/) kao(:, 1,10, 7) = (/ & &2.6110e-01_rb,2.3191e-01_rb,2.0431e-01_rb,1.7643e-01_rb,1.4693e-01_rb,1.1545e-01_rb, & &8.1908e-02_rb,4.6480e-02_rb,5.5448e-03_rb/) kao(:, 2,10, 7) = (/ & &3.6304e-01_rb,3.2305e-01_rb,2.8523e-01_rb,2.4612e-01_rb,2.0468e-01_rb,1.6117e-01_rb, & &1.1489e-01_rb,6.5350e-02_rb,7.0032e-03_rb/) kao(:, 3,10, 7) = (/ & &5.0185e-01_rb,4.4688e-01_rb,3.9417e-01_rb,3.3909e-01_rb,2.8117e-01_rb,2.2056e-01_rb, & &1.5648e-01_rb,8.9037e-02_rb,8.6105e-03_rb/) kao(:, 4,10, 7) = (/ & &6.7448e-01_rb,6.0038e-01_rb,5.2817e-01_rb,4.5305e-01_rb,3.7479e-01_rb,2.9367e-01_rb, & &2.0933e-01_rb,1.1852e-01_rb,1.0215e-02_rb/) kao(:, 5,10, 7) = (/ & &8.8770e-01_rb,7.8961e-01_rb,6.9429e-01_rb,5.9500e-01_rb,4.9158e-01_rb,3.8401e-01_rb, & &2.7292e-01_rb,1.5364e-01_rb,1.2140e-02_rb/) kao(:, 1,11, 7) = (/ & &4.0532e-01_rb,3.5824e-01_rb,3.1239e-01_rb,2.6732e-01_rb,2.2024e-01_rb,1.7123e-01_rb, & &1.1969e-01_rb,6.6094e-02_rb,5.4214e-03_rb/) kao(:, 2,11, 7) = (/ & &5.6606e-01_rb,5.0050e-01_rb,4.3693e-01_rb,3.7301e-01_rb,3.0650e-01_rb,2.3759e-01_rb, & &1.6618e-01_rb,9.1406e-02_rb,6.5476e-03_rb/) kao(:, 3,11, 7) = (/ & &7.7109e-01_rb,6.8230e-01_rb,5.9547e-01_rb,5.0803e-01_rb,4.1719e-01_rb,3.2299e-01_rb, & &2.2593e-01_rb,1.2450e-01_rb,7.8892e-03_rb/) kao(:, 4,11, 7) = (/ & &1.0345e+00_rb,9.1439e-01_rb,7.9746e-01_rb,6.7877e-01_rb,5.5627e-01_rb,4.3053e-01_rb, & &3.0103e-01_rb,1.6533e-01_rb,9.6823e-03_rb/) kao(:, 5,11, 7) = (/ & &1.3462e+00_rb,1.1891e+00_rb,1.0362e+00_rb,8.8065e-01_rb,7.2071e-01_rb,5.5791e-01_rb, & &3.9044e-01_rb,2.1464e-01_rb,1.1736e-02_rb/) kao(:, 1,12, 7) = (/ & &4.6420e-01_rb,4.0988e-01_rb,3.5698e-01_rb,3.0422e-01_rb,2.4918e-01_rb,1.9252e-01_rb, & &1.3423e-01_rb,7.3160e-02_rb,4.7396e-03_rb/) kao(:, 2,12, 7) = (/ & &6.5450e-01_rb,5.7811e-01_rb,5.0333e-01_rb,4.2804e-01_rb,3.4996e-01_rb,2.7019e-01_rb, & &1.8778e-01_rb,1.0212e-01_rb,5.9506e-03_rb/) kao(:, 3,12, 7) = (/ & &8.9348e-01_rb,7.8900e-01_rb,6.8666e-01_rb,5.8272e-01_rb,4.7603e-01_rb,3.6677e-01_rb, & &2.5473e-01_rb,1.3789e-01_rb,7.3179e-03_rb/) kao(:, 4,12, 7) = (/ & &1.1756e+00_rb,1.0374e+00_rb,9.0174e-01_rb,7.6533e-01_rb,6.2509e-01_rb,4.8180e-01_rb, & &3.3511e-01_rb,1.8185e-01_rb,8.9523e-03_rb/) kao(:, 5,12, 7) = (/ & &1.5297e+00_rb,1.3494e+00_rb,1.1729e+00_rb,9.9401e-01_rb,8.1052e-01_rb,6.2387e-01_rb, & &4.3290e-01_rb,2.3433e-01_rb,1.0845e-02_rb/) kao(:, 1,13, 7) = (/ & &4.2167e-01_rb,3.7276e-01_rb,3.2553e-01_rb,2.7726e-01_rb,2.2695e-01_rb,1.7522e-01_rb, & &1.2184e-01_rb,6.6143e-02_rb,4.0030e-03_rb/) kao(:, 2,13, 7) = (/ & &6.0140e-01_rb,5.3188e-01_rb,4.6380e-01_rb,3.9365e-01_rb,3.2184e-01_rb,2.4778e-01_rb, & &1.7190e-01_rb,9.3023e-02_rb,5.1104e-03_rb/) kao(:, 3,13, 7) = (/ & &8.1807e-01_rb,7.2295e-01_rb,6.3004e-01_rb,5.3457e-01_rb,4.3643e-01_rb,3.3605e-01_rb, & &2.3292e-01_rb,1.2549e-01_rb,6.4347e-03_rb/) kao(:, 4,13, 7) = (/ & &1.0778e+00_rb,9.5216e-01_rb,8.2890e-01_rb,7.0211e-01_rb,5.7259e-01_rb,4.4078e-01_rb, & &3.0511e-01_rb,1.6456e-01_rb,7.8490e-03_rb/) kao(:, 5,13, 7) = (/ & &1.3868e+00_rb,1.2246e+00_rb,1.0647e+00_rb,9.0150e-01_rb,7.3547e-01_rb,5.6615e-01_rb, & &3.9191e-01_rb,2.1135e-01_rb,9.6903e-03_rb/) kao(:, 1, 1, 8) = (/ & &3.5696e-03_rb,1.6007e-02_rb,2.9119e-02_rb,4.2110e-02_rb,5.4860e-02_rb,6.8076e-02_rb, & &8.3917e-02_rb,1.0558e-01_rb,1.0534e-01_rb/) kao(:, 2, 1, 8) = (/ & &4.2863e-03_rb,1.9722e-02_rb,3.5791e-02_rb,5.1660e-02_rb,6.7170e-02_rb,8.3493e-02_rb, & &1.0314e-01_rb,1.2980e-01_rb,1.2936e-01_rb/) kao(:, 3, 1, 8) = (/ & &5.0567e-03_rb,2.3939e-02_rb,4.3341e-02_rb,6.2437e-02_rb,8.1028e-02_rb,1.0094e-01_rb, & &1.2485e-01_rb,1.5697e-01_rb,1.5657e-01_rb/) kao(:, 4, 1, 8) = (/ & &5.8865e-03_rb,2.8699e-02_rb,5.1840e-02_rb,7.4548e-02_rb,9.6669e-02_rb,1.2066e-01_rb, & &1.4947e-01_rb,1.8794e-01_rb,1.8748e-01_rb/) kao(:, 5, 1, 8) = (/ & &6.7695e-03_rb,3.4031e-02_rb,6.1358e-02_rb,8.8096e-02_rb,1.1420e-01_rb,1.4289e-01_rb, & &1.7720e-01_rb,2.2237e-01_rb,2.2240e-01_rb/) kao(:, 1, 2, 8) = (/ & &4.7118e-03_rb,1.5877e-02_rb,2.5399e-02_rb,3.5918e-02_rb,4.6457e-02_rb,5.6939e-02_rb, & &6.8068e-02_rb,8.4536e-02_rb,8.5555e-02_rb/) kao(:, 2, 2, 8) = (/ & &5.7108e-03_rb,1.9571e-02_rb,3.1487e-02_rb,4.4433e-02_rb,5.7366e-02_rb,7.0154e-02_rb, & &8.4052e-02_rb,1.0472e-01_rb,1.0570e-01_rb/) kao(:, 3, 2, 8) = (/ & &6.7866e-03_rb,2.3743e-02_rb,3.8403e-02_rb,5.4069e-02_rb,6.9657e-02_rb,8.4997e-02_rb, & &1.0211e-01_rb,1.2762e-01_rb,1.2838e-01_rb/) kao(:, 4, 2, 8) = (/ & &7.9436e-03_rb,2.8460e-02_rb,4.6231e-02_rb,6.4990e-02_rb,8.3598e-02_rb,1.0182e-01_rb, & &1.2260e-01_rb,1.5356e-01_rb,1.5440e-01_rb/) kao(:, 5, 2, 8) = (/ & &9.1873e-03_rb,3.3722e-02_rb,5.4999e-02_rb,7.7194e-02_rb,9.9137e-02_rb,1.2068e-01_rb, & &1.4584e-01_rb,1.8285e-01_rb,1.8375e-01_rb/) kao(:, 1, 3, 8) = (/ & &7.9289e-03_rb,1.8898e-02_rb,2.5653e-02_rb,3.1610e-02_rb,3.8347e-02_rb,4.5822e-02_rb, & &5.3494e-02_rb,6.2174e-02_rb,6.4789e-02_rb/) kao(:, 2, 3, 8) = (/ & &9.7250e-03_rb,2.3378e-02_rb,3.1960e-02_rb,3.9650e-02_rb,4.8157e-02_rb,5.7463e-02_rb, & &6.6987e-02_rb,7.7905e-02_rb,8.1125e-02_rb/) kao(:, 3, 3, 8) = (/ & &1.1690e-02_rb,2.8477e-02_rb,3.9050e-02_rb,4.8735e-02_rb,5.9251e-02_rb,7.0590e-02_rb, & &8.2118e-02_rb,9.5596e-02_rb,9.9562e-02_rb/) kao(:, 4, 3, 8) = (/ & &1.3819e-02_rb,3.4230e-02_rb,4.7053e-02_rb,5.8936e-02_rb,7.1761e-02_rb,8.5391e-02_rb, & &9.9148e-02_rb,1.1547e-01_rb,1.2059e-01_rb/) kao(:, 5, 3, 8) = (/ & &1.6126e-02_rb,4.0610e-02_rb,5.5935e-02_rb,7.0350e-02_rb,8.5758e-02_rb,1.0193e-01_rb, & &1.1815e-01_rb,1.3794e-01_rb,1.4428e-01_rb/) kao(:, 1, 4, 8) = (/ & &1.3217e-02_rb,2.3479e-02_rb,2.9539e-02_rb,3.3751e-02_rb,3.6721e-02_rb,3.9161e-02_rb, & &4.2339e-02_rb,4.7025e-02_rb,4.7847e-02_rb/) kao(:, 2, 4, 8) = (/ & &1.6447e-02_rb,2.9417e-02_rb,3.7093e-02_rb,4.2546e-02_rb,4.6456e-02_rb,4.9765e-02_rb, & &5.3922e-02_rb,5.9724e-02_rb,6.0703e-02_rb/) kao(:, 3, 4, 8) = (/ & &2.0055e-02_rb,3.6163e-02_rb,4.5727e-02_rb,5.2541e-02_rb,5.7472e-02_rb,6.1844e-02_rb, & &6.7058e-02_rb,7.4090e-02_rb,7.5241e-02_rb/) kao(:, 4, 4, 8) = (/ & &2.4006e-02_rb,4.3785e-02_rb,5.5469e-02_rb,6.3755e-02_rb,6.9920e-02_rb,7.5527e-02_rb, & &8.2000e-02_rb,9.0387e-02_rb,9.1968e-02_rb/) kao(:, 5, 4, 8) = (/ & &2.8301e-02_rb,5.2295e-02_rb,6.6272e-02_rb,7.6263e-02_rb,8.3883e-02_rb,9.0941e-02_rb, & &9.8884e-02_rb,1.0876e-01_rb,1.1102e-01_rb/) kao(:, 1, 5, 8) = (/ & &1.9932e-02_rb,2.8909e-02_rb,3.3929e-02_rb,3.6963e-02_rb,3.8599e-02_rb,3.9090e-02_rb, & &3.8100e-02_rb,3.6647e-02_rb,3.4570e-02_rb/) kao(:, 2, 5, 8) = (/ & &2.5221e-02_rb,3.6867e-02_rb,4.3184e-02_rb,4.7147e-02_rb,4.9394e-02_rb,5.0060e-02_rb, & &4.9016e-02_rb,4.7379e-02_rb,4.4959e-02_rb/) kao(:, 3, 5, 8) = (/ & &3.1232e-02_rb,4.5824e-02_rb,5.3773e-02_rb,5.8918e-02_rb,6.1826e-02_rb,6.2626e-02_rb, & &6.1399e-02_rb,5.9643e-02_rb,5.6358e-02_rb/) kao(:, 4, 5, 8) = (/ & &3.7911e-02_rb,5.5890e-02_rb,6.5835e-02_rb,7.2317e-02_rb,7.5820e-02_rb,7.6769e-02_rb, & &7.5408e-02_rb,7.3611e-02_rb,6.9498e-02_rb/) kao(:, 5, 5, 8) = (/ & &4.5225e-02_rb,6.7203e-02_rb,7.9322e-02_rb,8.7058e-02_rb,9.1394e-02_rb,9.2728e-02_rb, & &9.1290e-02_rb,8.9467e-02_rb,8.4545e-02_rb/) kao(:, 1, 6, 8) = (/ & &2.7668e-02_rb,3.4842e-02_rb,3.8147e-02_rb,3.9719e-02_rb,4.0056e-02_rb,3.9073e-02_rb, & &3.6625e-02_rb,3.2055e-02_rb,2.4026e-02_rb/) kao(:, 2, 6, 8) = (/ & &3.5525e-02_rb,4.5073e-02_rb,4.9553e-02_rb,5.1630e-02_rb,5.2026e-02_rb,5.0818e-02_rb, & &4.7728e-02_rb,4.1935e-02_rb,3.1627e-02_rb/) kao(:, 3, 6, 8) = (/ & &4.4689e-02_rb,5.6776e-02_rb,6.2560e-02_rb,6.5413e-02_rb,6.6041e-02_rb,6.4568e-02_rb, & &6.0721e-02_rb,5.3252e-02_rb,4.0421e-02_rb/) kao(:, 4, 6, 8) = (/ & &5.5122e-02_rb,7.0187e-02_rb,7.7371e-02_rb,8.1166e-02_rb,8.2060e-02_rb,8.0200e-02_rb, & &7.5289e-02_rb,6.6107e-02_rb,5.0711e-02_rb/) kao(:, 5, 6, 8) = (/ & &6.6674e-02_rb,8.5247e-02_rb,9.4184e-02_rb,9.8741e-02_rb,9.9891e-02_rb,9.7702e-02_rb, & &9.1660e-02_rb,8.0784e-02_rb,6.3321e-02_rb/) kao(:, 1, 7, 8) = (/ & &4.0056e-02_rb,4.4898e-02_rb,4.5971e-02_rb,4.5352e-02_rb,4.3659e-02_rb,4.0747e-02_rb, & &3.6554e-02_rb,3.0205e-02_rb,1.8196e-02_rb/) kao(:, 2, 7, 8) = (/ & &5.2185e-02_rb,5.8633e-02_rb,6.0480e-02_rb,6.0085e-02_rb,5.7874e-02_rb,5.4080e-02_rb, & &4.8546e-02_rb,4.0072e-02_rb,2.4060e-02_rb/) kao(:, 3, 7, 8) = (/ & &6.6434e-02_rb,7.5122e-02_rb,7.7544e-02_rb,7.7216e-02_rb,7.4584e-02_rb,6.9858e-02_rb, & &6.2703e-02_rb,5.1788e-02_rb,3.0507e-02_rb/) kao(:, 4, 7, 8) = (/ & &8.3239e-02_rb,9.4089e-02_rb,9.7312e-02_rb,9.7000e-02_rb,9.3885e-02_rb,8.8076e-02_rb, & &7.9042e-02_rb,6.5047e-02_rb,3.6382e-02_rb/) kao(:, 5, 7, 8) = (/ & &1.0221e-01_rb,1.1561e-01_rb,1.1992e-01_rb,1.1954e-01_rb,1.1572e-01_rb,1.0845e-01_rb, & &9.7278e-02_rb,8.0126e-02_rb,4.5426e-02_rb/) kao(:, 1, 8, 8) = (/ & &6.9306e-02_rb,6.9494e-02_rb,6.7600e-02_rb,6.3267e-02_rb,5.7322e-02_rb,5.0091e-02_rb, & &4.1741e-02_rb,3.1433e-02_rb,1.2053e-02_rb/) kao(:, 2, 8, 8) = (/ & &9.1357e-02_rb,9.2237e-02_rb,8.9335e-02_rb,8.3857e-02_rb,7.6444e-02_rb,6.7451e-02_rb, & &5.6474e-02_rb,4.2659e-02_rb,1.6127e-02_rb/) kao(:, 3, 8, 8) = (/ & &1.1801e-01_rb,1.1955e-01_rb,1.1588e-01_rb,1.0908e-01_rb,9.9881e-02_rb,8.8243e-02_rb, & &7.4146e-02_rb,5.6165e-02_rb,2.1600e-02_rb/) kao(:, 4, 8, 8) = (/ & &1.4950e-01_rb,1.5197e-01_rb,1.4749e-01_rb,1.3894e-01_rb,1.2736e-01_rb,1.1271e-01_rb, & &9.4953e-02_rb,7.1880e-02_rb,2.7972e-02_rb/) kao(:, 5, 8, 8) = (/ & &1.8646e-01_rb,1.8942e-01_rb,1.8392e-01_rb,1.7346e-01_rb,1.5924e-01_rb,1.4113e-01_rb, & &1.1856e-01_rb,8.9580e-02_rb,3.5566e-02_rb/) kao(:, 1, 9, 8) = (/ & &2.2096e-01_rb,1.9931e-01_rb,1.8126e-01_rb,1.6106e-01_rb,1.3834e-01_rb,1.1283e-01_rb, & &8.4790e-02_rb,5.3465e-02_rb,1.3124e-02_rb/) kao(:, 2, 9, 8) = (/ & &3.0111e-01_rb,2.7269e-01_rb,2.4731e-01_rb,2.1828e-01_rb,1.8616e-01_rb,1.5202e-01_rb, & &1.1457e-01_rb,7.2434e-02_rb,1.6890e-02_rb/) kao(:, 3, 9, 8) = (/ & &3.9547e-01_rb,3.5811e-01_rb,3.2380e-01_rb,2.8636e-01_rb,2.4465e-01_rb,1.9968e-01_rb, & &1.5075e-01_rb,9.6319e-02_rb,2.1030e-02_rb/) kao(:, 4, 9, 8) = (/ & &5.0622e-01_rb,4.6008e-01_rb,4.1701e-01_rb,3.6806e-01_rb,3.1477e-01_rb,2.5740e-01_rb, & &1.9504e-01_rb,1.2517e-01_rb,2.5567e-02_rb/) kao(:, 5, 9, 8) = (/ & &6.3970e-01_rb,5.8282e-01_rb,5.2753e-01_rb,4.6589e-01_rb,3.9821e-01_rb,3.2594e-01_rb, & &2.4744e-01_rb,1.5892e-01_rb,3.0707e-02_rb/) kao(:, 1,10, 8) = (/ & &7.9609e-01_rb,6.9877e-01_rb,6.0631e-01_rb,5.1323e-01_rb,4.2176e-01_rb,3.3040e-01_rb, & &2.3557e-01_rb,1.3340e-01_rb,1.8364e-02_rb/) kao(:, 2,10, 8) = (/ & &1.1185e+00_rb,9.8179e-01_rb,8.5163e-01_rb,7.2111e-01_rb,5.9292e-01_rb,4.6368e-01_rb, & &3.2777e-01_rb,1.8494e-01_rb,2.2731e-02_rb/) kao(:, 3,10, 8) = (/ & &1.4977e+00_rb,1.3152e+00_rb,1.1422e+00_rb,9.6927e-01_rb,7.9815e-01_rb,6.2269e-01_rb, & &4.4054e-01_rb,2.4719e-01_rb,2.7714e-02_rb/) kao(:, 4,10, 8) = (/ & &1.9588e+00_rb,1.7209e+00_rb,1.4963e+00_rb,1.2699e+00_rb,1.0440e+00_rb,8.1231e-01_rb, & &5.7215e-01_rb,3.2165e-01_rb,3.3541e-02_rb/) kao(:, 5,10, 8) = (/ & &2.4948e+00_rb,2.1931e+00_rb,1.9066e+00_rb,1.6194e+00_rb,1.3305e+00_rb,1.0363e+00_rb, & &7.3187e-01_rb,4.1258e-01_rb,3.9461e-02_rb/) kao(:, 1,11, 8) = (/ & &1.1786e+00_rb,1.0326e+00_rb,8.9194e-01_rb,7.5040e-01_rb,6.1100e-01_rb,4.7311e-01_rb, & &3.3100e-01_rb,1.8184e-01_rb,1.9912e-02_rb/) kao(:, 2,11, 8) = (/ & &1.6577e+00_rb,1.4527e+00_rb,1.2557e+00_rb,1.0583e+00_rb,8.6330e-01_rb,6.6758e-01_rb, & &4.6659e-01_rb,2.5585e-01_rb,2.4574e-02_rb/) kao(:, 3,11, 8) = (/ & &2.2529e+00_rb,1.9745e+00_rb,1.7078e+00_rb,1.4395e+00_rb,1.1743e+00_rb,9.0668e-01_rb, & &6.3142e-01_rb,3.4477e-01_rb,2.9771e-02_rb/) kao(:, 4,11, 8) = (/ & &2.9660e+00_rb,2.6012e+00_rb,2.2499e+00_rb,1.8975e+00_rb,1.5469e+00_rb,1.1941e+00_rb, & &8.2956e-01_rb,4.5247e-01_rb,3.5340e-02_rb/) kao(:, 5,11, 8) = (/ & &3.8252e+00_rb,3.3560e+00_rb,2.9025e+00_rb,2.4493e+00_rb,1.9962e+00_rb,1.5364e+00_rb, & &1.0662e+00_rb,5.8207e-01_rb,4.0740e-02_rb/) kao(:, 1,12, 8) = (/ & &1.3334e+00_rb,1.1683e+00_rb,1.0080e+00_rb,8.4695e-01_rb,6.8881e-01_rb,5.3043e-01_rb, & &3.6715e-01_rb,1.9749e-01_rb,1.8810e-02_rb/) kao(:, 2,12, 8) = (/ & &1.8510e+00_rb,1.6221e+00_rb,1.4015e+00_rb,1.1795e+00_rb,9.6045e-01_rb,7.4002e-01_rb, & &5.1281e-01_rb,2.7717e-01_rb,2.2865e-02_rb/) kao(:, 3,12, 8) = (/ & &2.5252e+00_rb,2.2140e+00_rb,1.9140e+00_rb,1.6128e+00_rb,1.3137e+00_rb,1.0115e+00_rb, & &6.9957e-01_rb,3.7776e-01_rb,2.7421e-02_rb/) kao(:, 4,12, 8) = (/ & &3.3724e+00_rb,2.9581e+00_rb,2.5564e+00_rb,2.1530e+00_rb,1.7520e+00_rb,1.3471e+00_rb, & &9.2947e-01_rb,5.0112e-01_rb,3.2393e-02_rb/) kao(:, 5,12, 8) = (/ & &4.3792e+00_rb,3.8422e+00_rb,3.3210e+00_rb,2.7983e+00_rb,2.2755e+00_rb,1.7461e+00_rb, & &1.2059e+00_rb,6.4752e-01_rb,3.7070e-02_rb/) kao(:, 1,13, 8) = (/ & &1.2116e+00_rb,1.0627e+00_rb,9.1758e-01_rb,7.7277e-01_rb,6.2996e-01_rb,4.8487e-01_rb, & &3.3536e-01_rb,1.7964e-01_rb,1.5468e-02_rb/) kao(:, 2,13, 8) = (/ & &1.6818e+00_rb,1.4755e+00_rb,1.2746e+00_rb,1.0748e+00_rb,8.7634e-01_rb,6.7377e-01_rb, & &4.6518e-01_rb,2.4901e-01_rb,1.8709e-02_rb/) kao(:, 3,13, 8) = (/ & &2.2861e+00_rb,2.0071e+00_rb,1.7358e+00_rb,1.4644e+00_rb,1.1940e+00_rb,9.1837e-01_rb, & &6.3513e-01_rb,3.4226e-01_rb,2.2464e-02_rb/) kao(:, 4,13, 8) = (/ & &3.0747e+00_rb,2.7003e+00_rb,2.3365e+00_rb,1.9712e+00_rb,1.6050e+00_rb,1.2324e+00_rb, & &8.5082e-01_rb,4.5761e-01_rb,2.6279e-02_rb/) kao(:, 5,13, 8) = (/ & &4.0462e+00_rb,3.5547e+00_rb,3.0752e+00_rb,2.5948e+00_rb,2.1107e+00_rb,1.6188e+00_rb, & &1.1159e+00_rb,5.9825e-01_rb,3.0261e-02_rb/) kao(:, 1, 1, 9) = (/ & &7.9433e-03_rb,4.9696e-02_rb,8.9399e-02_rb,1.2891e-01_rb,1.7031e-01_rb,2.1327e-01_rb, & &2.5635e-01_rb,2.9834e-01_rb,3.4005e-01_rb/) kao(:, 2, 1, 9) = (/ & &9.5773e-03_rb,6.0610e-02_rb,1.0882e-01_rb,1.5730e-01_rb,2.0827e-01_rb,2.6089e-01_rb, & &3.1374e-01_rb,3.6559e-01_rb,4.1584e-01_rb/) kao(:, 3, 1, 9) = (/ & &1.1355e-02_rb,7.2723e-02_rb,1.3048e-01_rb,1.8917e-01_rb,2.5096e-01_rb,3.1435e-01_rb, & &3.7828e-01_rb,4.4211e-01_rb,5.0107e-01_rb/) kao(:, 4, 1, 9) = (/ & &1.3277e-02_rb,8.6204e-02_rb,1.5483e-01_rb,2.2520e-01_rb,2.9933e-01_rb,3.7480e-01_rb, & &4.5117e-01_rb,5.2865e-01_rb,5.9762e-01_rb/) kao(:, 5, 1, 9) = (/ & &1.5326e-02_rb,1.0116e-01_rb,1.8188e-01_rb,2.6559e-01_rb,3.5380e-01_rb,4.4327e-01_rb, & &5.3402e-01_rb,6.2664e-01_rb,7.0640e-01_rb/) kao(:, 1, 2, 9) = (/ & &1.1776e-02_rb,4.7878e-02_rb,8.4972e-02_rb,1.1878e-01_rb,1.5366e-01_rb,1.9061e-01_rb, & &2.3033e-01_rb,2.7211e-01_rb,3.0314e-01_rb/) kao(:, 2, 2, 9) = (/ & &1.4294e-02_rb,5.8956e-02_rb,1.0416e-01_rb,1.4559e-01_rb,1.8871e-01_rb,2.3457e-01_rb, & &2.8358e-01_rb,3.3549e-01_rb,3.7290e-01_rb/) kao(:, 3, 2, 9) = (/ & &1.7066e-02_rb,7.1345e-02_rb,1.2565e-01_rb,1.7589e-01_rb,2.2857e-01_rb,2.8471e-01_rb, & &3.4402e-01_rb,4.0658e-01_rb,4.5272e-01_rb/) kao(:, 4, 2, 9) = (/ & &2.0089e-02_rb,8.5201e-02_rb,1.4972e-01_rb,2.1022e-01_rb,2.7384e-01_rb,3.4170e-01_rb, & &4.1272e-01_rb,4.8704e-01_rb,5.4350e-01_rb/) kao(:, 5, 2, 9) = (/ & &2.3307e-02_rb,1.0059e-01_rb,1.7602e-01_rb,2.4834e-01_rb,3.2442e-01_rb,4.0570e-01_rb, & &4.8998e-01_rb,5.7844e-01_rb,6.4523e-01_rb/) kao(:, 1, 3, 9) = (/ & &2.2348e-02_rb,5.0240e-02_rb,8.0496e-02_rb,1.1072e-01_rb,1.3814e-01_rb,1.6488e-01_rb, & &1.9401e-01_rb,2.2881e-01_rb,2.5470e-01_rb/) kao(:, 2, 3, 9) = (/ & &2.7442e-02_rb,6.2748e-02_rb,1.0008e-01_rb,1.3702e-01_rb,1.7047e-01_rb,2.0379e-01_rb, & &2.4015e-01_rb,2.8371e-01_rb,3.1563e-01_rb/) kao(:, 3, 3, 9) = (/ & &3.3066e-02_rb,7.6711e-02_rb,1.2229e-01_rb,1.6700e-01_rb,2.0740e-01_rb,2.4849e-01_rb, & &2.9339e-01_rb,3.4685e-01_rb,3.8604e-01_rb/) kao(:, 4, 3, 9) = (/ & &3.9269e-02_rb,9.2366e-02_rb,1.4749e-01_rb,2.0103e-01_rb,2.4924e-01_rb,2.9944e-01_rb, & &3.5443e-01_rb,4.1958e-01_rb,4.6663e-01_rb/) kao(:, 5, 3, 9) = (/ & &4.5933e-02_rb,1.0972e-01_rb,1.7562e-01_rb,2.3869e-01_rb,2.9592e-01_rb,3.5671e-01_rb, & &4.2354e-01_rb,5.0205e-01_rb,5.5762e-01_rb/) kao(:, 1, 4, 9) = (/ & &4.2106e-02_rb,6.4369e-02_rb,8.4555e-02_rb,1.0542e-01_rb,1.2690e-01_rb,1.4750e-01_rb, & &1.6487e-01_rb,1.8576e-01_rb,2.0651e-01_rb/) kao(:, 2, 4, 9) = (/ & &5.2576e-02_rb,8.1026e-02_rb,1.0683e-01_rb,1.3280e-01_rb,1.5950e-01_rb,1.8491e-01_rb, & &2.0655e-01_rb,2.3307e-01_rb,2.5966e-01_rb/) kao(:, 3, 4, 9) = (/ & &6.4079e-02_rb,9.9622e-02_rb,1.3194e-01_rb,1.6392e-01_rb,1.9672e-01_rb,2.2769e-01_rb, & &2.5451e-01_rb,2.8781e-01_rb,3.2142e-01_rb/) kao(:, 4, 4, 9) = (/ & &7.6781e-02_rb,1.2036e-01_rb,1.6040e-01_rb,1.9955e-01_rb,2.3909e-01_rb,2.7584e-01_rb, & &3.0872e-01_rb,3.5017e-01_rb,3.9149e-01_rb/) kao(:, 5, 4, 9) = (/ & &9.0605e-02_rb,1.4314e-01_rb,1.9223e-01_rb,2.3943e-01_rb,2.8645e-01_rb,3.2911e-01_rb, & &3.6945e-01_rb,4.2071e-01_rb,4.7061e-01_rb/) kao(:, 1, 5, 9) = (/ & &7.1850e-02_rb,8.9617e-02_rb,1.0358e-01_rb,1.1417e-01_rb,1.2410e-01_rb,1.3445e-01_rb, & &1.4500e-01_rb,1.5289e-01_rb,1.6393e-01_rb/) kao(:, 2, 5, 9) = (/ & &9.1160e-02_rb,1.1411e-01_rb,1.3218e-01_rb,1.4610e-01_rb,1.5890e-01_rb,1.7194e-01_rb, & &1.8487e-01_rb,1.9440e-01_rb,2.0899e-01_rb/) kao(:, 3, 5, 9) = (/ & &1.1266e-01_rb,1.4163e-01_rb,1.6452e-01_rb,1.8216e-01_rb,1.9856e-01_rb,2.1504e-01_rb, & &2.3093e-01_rb,2.4255e-01_rb,2.6179e-01_rb/) kao(:, 4, 5, 9) = (/ & &1.3642e-01_rb,1.7249e-01_rb,2.0078e-01_rb,2.2297e-01_rb,2.4396e-01_rb,2.6433e-01_rb, & &2.8347e-01_rb,2.9753e-01_rb,3.2213e-01_rb/) kao(:, 5, 5, 9) = (/ & &1.6239e-01_rb,2.0660e-01_rb,2.4114e-01_rb,2.6894e-01_rb,2.9484e-01_rb,3.1958e-01_rb, & &3.4207e-01_rb,3.5958e-01_rb,3.9095e-01_rb/) kao(:, 1, 6, 9) = (/ & &1.1140e-01_rb,1.2144e-01_rb,1.3218e-01_rb,1.3718e-01_rb,1.3653e-01_rb,1.3402e-01_rb, & &1.3174e-01_rb,1.2946e-01_rb,1.2677e-01_rb/) kao(:, 2, 6, 9) = (/ & &1.4420e-01_rb,1.5827e-01_rb,1.7119e-01_rb,1.7776e-01_rb,1.7742e-01_rb,1.7454e-01_rb, & &1.7134e-01_rb,1.6760e-01_rb,1.6399e-01_rb/) kao(:, 3, 6, 9) = (/ & &1.8124e-01_rb,2.0002e-01_rb,2.1589e-01_rb,2.2389e-01_rb,2.2423e-01_rb,2.2127e-01_rb, & &2.1711e-01_rb,2.1204e-01_rb,2.0793e-01_rb/) kao(:, 4, 6, 9) = (/ & &2.2248e-01_rb,2.4636e-01_rb,2.6609e-01_rb,2.7594e-01_rb,2.7715e-01_rb,2.7479e-01_rb, & &2.7017e-01_rb,2.6283e-01_rb,2.5856e-01_rb/) kao(:, 5, 6, 9) = (/ & &2.6774e-01_rb,2.9748e-01_rb,3.2183e-01_rb,3.3450e-01_rb,3.3675e-01_rb,3.3499e-01_rb, & &3.3006e-01_rb,3.2020e-01_rb,3.1680e-01_rb/) kao(:, 1, 7, 9) = (/ & &1.7732e-01_rb,1.7534e-01_rb,1.7803e-01_rb,1.7714e-01_rb,1.7022e-01_rb,1.5702e-01_rb, & &1.3821e-01_rb,1.1726e-01_rb,9.2624e-02_rb/) kao(:, 2, 7, 9) = (/ & &2.3477e-01_rb,2.3316e-01_rb,2.3664e-01_rb,2.3403e-01_rb,2.2497e-01_rb,2.0771e-01_rb, & &1.8285e-01_rb,1.5521e-01_rb,1.2312e-01_rb/) kao(:, 3, 7, 9) = (/ & &3.0054e-01_rb,2.9947e-01_rb,3.0371e-01_rb,2.9989e-01_rb,2.8797e-01_rb,2.6596e-01_rb, & &2.3476e-01_rb,1.9945e-01_rb,1.5929e-01_rb/) kao(:, 4, 7, 9) = (/ & &3.7459e-01_rb,3.7495e-01_rb,3.7937e-01_rb,3.7465e-01_rb,3.5915e-01_rb,3.3235e-01_rb, & &2.9471e-01_rb,2.5108e-01_rb,2.0370e-01_rb/) kao(:, 5, 7, 9) = (/ & &4.5653e-01_rb,4.5857e-01_rb,4.6346e-01_rb,4.5781e-01_rb,4.3887e-01_rb,4.0748e-01_rb, & &3.6268e-01_rb,3.0976e-01_rb,2.5195e-01_rb/) kao(:, 1, 8, 9) = (/ & &3.3219e-01_rb,3.0467e-01_rb,2.8618e-01_rb,2.6721e-01_rb,2.4601e-01_rb,2.1811e-01_rb, & &1.8145e-01_rb,1.3269e-01_rb,6.6401e-02_rb/) kao(:, 2, 8, 9) = (/ & &4.4950e-01_rb,4.1374e-01_rb,3.8999e-01_rb,3.6461e-01_rb,3.3388e-01_rb,2.9490e-01_rb, & &2.4508e-01_rb,1.7935e-01_rb,9.0026e-02_rb/) kao(:, 3, 8, 9) = (/ & &5.8717e-01_rb,5.4166e-01_rb,5.1100e-01_rb,4.7736e-01_rb,4.3579e-01_rb,3.8461e-01_rb, & &3.1925e-01_rb,2.3358e-01_rb,1.1833e-01_rb/) kao(:, 4, 8, 9) = (/ & &7.4406e-01_rb,6.8778e-01_rb,6.4996e-01_rb,6.0622e-01_rb,5.5241e-01_rb,4.8728e-01_rb, & &4.0419e-01_rb,2.9657e-01_rb,1.5189e-01_rb/) kao(:, 5, 8, 9) = (/ & &9.1907e-01_rb,8.5125e-01_rb,8.0569e-01_rb,7.5012e-01_rb,6.8369e-01_rb,6.0185e-01_rb, & &4.9995e-01_rb,3.6832e-01_rb,1.9101e-01_rb/) kao(:, 1, 9, 9) = (/ & &1.1485e+00_rb,1.0089e+00_rb,8.7880e-01_rb,7.5762e-01_rb,6.3622e-01_rb,5.1377e-01_rb, & &3.9068e-01_rb,2.5323e-01_rb,5.4057e-02_rb/) kao(:, 2, 9, 9) = (/ & &1.5919e+00_rb,1.3983e+00_rb,1.2193e+00_rb,1.0539e+00_rb,8.8759e-01_rb,7.1827e-01_rb, & &5.4603e-01_rb,3.5236e-01_rb,7.3567e-02_rb/) kao(:, 3, 9, 9) = (/ & &2.1202e+00_rb,1.8629e+00_rb,1.6282e+00_rb,1.4084e+00_rb,1.1875e+00_rb,9.6283e-01_rb, & &7.2992e-01_rb,4.6911e-01_rb,9.7269e-02_rb/) kao(:, 4, 9, 9) = (/ & &2.7354e+00_rb,2.4050e+00_rb,2.1038e+00_rb,1.8214e+00_rb,1.5366e+00_rb,1.2471e+00_rb, & &9.4177e-01_rb,6.0391e-01_rb,1.2338e-01_rb/) kao(:, 5, 9, 9) = (/ & &3.4317e+00_rb,3.0176e+00_rb,2.6421e+00_rb,2.2877e+00_rb,1.9310e+00_rb,1.5677e+00_rb, & &1.1814e+00_rb,7.5635e-01_rb,1.5353e-01_rb/) kao(:, 1,10, 9) = (/ & &4.4436e+00_rb,3.8882e+00_rb,3.3348e+00_rb,2.7888e+00_rb,2.2477e+00_rb,1.7134e+00_rb, & &1.1871e+00_rb,6.5782e-01_rb,7.0663e-02_rb/) kao(:, 2,10, 9) = (/ & &6.2997e+00_rb,5.5124e+00_rb,4.7288e+00_rb,3.9559e+00_rb,3.1897e+00_rb,2.4334e+00_rb, & &1.6915e+00_rb,9.3954e-01_rb,8.7418e-02_rb/) kao(:, 3,10, 9) = (/ & &8.5619e+00_rb,7.4925e+00_rb,6.4279e+00_rb,5.3771e+00_rb,4.3365e+00_rb,3.3136e+00_rb, & &2.3060e+00_rb,1.2843e+00_rb,1.0436e-01_rb/) kao(:, 4,10, 9) = (/ & &1.1219e+01_rb,9.8180e+00_rb,8.4228e+00_rb,7.0486e+00_rb,5.6898e+00_rb,4.3532e+00_rb, & &3.0319e+00_rb,1.6916e+00_rb,1.2593e-01_rb/) kao(:, 5,10, 9) = (/ & &1.4295e+01_rb,1.2510e+01_rb,1.0734e+01_rb,8.9819e+00_rb,7.2530e+00_rb,5.5514e+00_rb, & &3.8643e+00_rb,2.1564e+00_rb,1.5004e-01_rb/) kao(:, 1,11, 9) = (/ & &7.0050e+00_rb,6.1296e+00_rb,5.2549e+00_rb,4.3868e+00_rb,3.5242e+00_rb,2.6669e+00_rb, & &1.8245e+00_rb,9.8168e-01_rb,8.5745e-02_rb/) kao(:, 2,11, 9) = (/ & &9.9554e+00_rb,8.7114e+00_rb,7.4687e+00_rb,6.2351e+00_rb,5.0098e+00_rb,3.7942e+00_rb, & &2.5980e+00_rb,1.4001e+00_rb,1.0478e-01_rb/) kao(:, 3,11, 9) = (/ & &1.3533e+01_rb,1.1842e+01_rb,1.0152e+01_rb,8.4771e+00_rb,6.8123e+00_rb,5.1640e+00_rb, & &3.5405e+00_rb,1.9111e+00_rb,1.2573e-01_rb/) kao(:, 4,11, 9) = (/ & &1.7771e+01_rb,1.5551e+01_rb,1.3333e+01_rb,1.1134e+01_rb,8.9512e+00_rb,6.7876e+00_rb, & &4.6577e+00_rb,2.5172e+00_rb,1.4855e-01_rb/) kao(:, 5,11, 9) = (/ & &2.2680e+01_rb,1.9846e+01_rb,1.7019e+01_rb,1.4214e+01_rb,1.1430e+01_rb,8.6745e+00_rb, & &5.9538e+00_rb,3.2175e+00_rb,1.7203e-01_rb/) kao(:, 1,12, 9) = (/ & &8.1047e+00_rb,7.0920e+00_rb,6.0802e+00_rb,5.0761e+00_rb,4.0767e+00_rb,3.0841e+00_rb, & &2.1058e+00_rb,1.1266e+00_rb,9.0852e-02_rb/) kao(:, 2,12, 9) = (/ & &1.1567e+01_rb,1.0121e+01_rb,8.6775e+00_rb,7.2441e+00_rb,5.8181e+00_rb,4.4027e+00_rb, & &3.0080e+00_rb,1.6091e+00_rb,1.1081e-01_rb/) kao(:, 3,12, 9) = (/ & &1.5756e+01_rb,1.3787e+01_rb,1.1820e+01_rb,9.8684e+00_rb,7.9263e+00_rb,6.0014e+00_rb, & &4.1030e+00_rb,2.1969e+00_rb,1.3256e-01_rb/) kao(:, 4,12, 9) = (/ & &2.0731e+01_rb,1.8141e+01_rb,1.5554e+01_rb,1.2989e+01_rb,1.0436e+01_rb,7.9047e+00_rb, & &5.4071e+00_rb,2.8962e+00_rb,1.5690e-01_rb/) kao(:, 5,12, 9) = (/ & &2.6483e+01_rb,2.3176e+01_rb,1.9872e+01_rb,1.6594e+01_rb,1.3339e+01_rb,1.0111e+01_rb, & &6.9150e+00_rb,3.7095e+00_rb,1.8186e-01_rb/) kao(:, 1,13, 9) = (/ & &7.4699e+00_rb,6.5364e+00_rb,5.6062e+00_rb,4.6835e+00_rb,3.7650e+00_rb,2.8555e+00_rb, & &1.9560e+00_rb,1.0515e+00_rb,8.5273e-02_rb/) kao(:, 2,13, 9) = (/ & &1.0680e+01_rb,9.3454e+00_rb,8.0165e+00_rb,6.6976e+00_rb,5.3854e+00_rb,4.0877e+00_rb, & &2.8036e+00_rb,1.5078e+00_rb,1.0411e-01_rb/) kao(:, 3,13, 9) = (/ & &1.4620e+01_rb,1.2793e+01_rb,1.0973e+01_rb,9.1678e+00_rb,7.3735e+00_rb,5.5972e+00_rb, & &3.8382e+00_rb,2.0618e+00_rb,1.2386e-01_rb/) kao(:, 4,13, 9) = (/ & &1.9258e+01_rb,1.6852e+01_rb,1.4455e+01_rb,1.2079e+01_rb,9.7197e+00_rb,7.3817e+00_rb, & &5.0639e+00_rb,2.7225e+00_rb,1.4610e-01_rb/) kao(:, 5,13, 9) = (/ & &2.4621e+01_rb,2.1546e+01_rb,1.8485e+01_rb,1.5448e+01_rb,1.2432e+01_rb,9.4454e+00_rb, & &6.4771e+00_rb,3.4853e+00_rb,1.7007e-01_rb/) kao(:, 1, 1,10) = (/ & &1.3879e-02_rb,1.0986e-01_rb,1.9192e-01_rb,2.8700e-01_rb,3.8129e-01_rb,4.7527e-01_rb, & &5.7067e-01_rb,6.6779e-01_rb,7.6243e-01_rb/) kao(:, 2, 1,10) = (/ & &1.6954e-02_rb,1.3303e-01_rb,2.3564e-01_rb,3.5200e-01_rb,4.6702e-01_rb,5.8054e-01_rb, & &6.9523e-01_rb,8.1372e-01_rb,9.3367e-01_rb/) kao(:, 3, 1,10) = (/ & &2.0369e-02_rb,1.5906e-01_rb,2.8523e-01_rb,4.2640e-01_rb,5.6627e-01_rb,7.0405e-01_rb, & &8.3748e-01_rb,9.6604e-01_rb,1.1321e+00_rb/) kao(:, 4, 1,10) = (/ & &2.4061e-02_rb,1.8742e-01_rb,3.4065e-01_rb,5.0987e-01_rb,6.7810e-01_rb,8.4492e-01_rb, & &1.0078e+00_rb,1.1403e+00_rb,1.3558e+00_rb/) kao(:, 5, 1,10) = (/ & &2.7911e-02_rb,2.1680e-01_rb,4.0347e-01_rb,6.0365e-01_rb,8.0163e-01_rb,9.9663e-01_rb, & &1.1842e+00_rb,1.3430e+00_rb,1.6028e+00_rb/) kao(:, 1, 2,10) = (/ & &2.2158e-02_rb,1.1276e-01_rb,1.8891e-01_rb,2.7518e-01_rb,3.6524e-01_rb,4.5317e-01_rb, & &5.3652e-01_rb,6.1296e-01_rb,7.3020e-01_rb/) kao(:, 2, 2,10) = (/ & &2.7256e-02_rb,1.3808e-01_rb,2.3100e-01_rb,3.4051e-01_rb,4.5180e-01_rb,5.6015e-01_rb, & &6.6160e-01_rb,7.4973e-01_rb,9.0314e-01_rb/) kao(:, 3, 2,10) = (/ & &3.2742e-02_rb,1.6645e-01_rb,2.7575e-01_rb,4.1007e-01_rb,5.4427e-01_rb,6.7555e-01_rb, & &8.0050e-01_rb,9.1019e-01_rb,1.0879e+00_rb/) kao(:, 4, 2,10) = (/ & &3.8593e-02_rb,1.9807e-01_rb,3.2475e-01_rb,4.8552e-01_rb,6.4531e-01_rb,8.0341e-01_rb, & &9.5786e-01_rb,1.0994e+00_rb,1.2898e+00_rb/) kao(:, 5, 2,10) = (/ & &4.4713e-02_rb,2.3139e-01_rb,3.8401e-01_rb,5.7431e-01_rb,7.6329e-01_rb,9.5026e-01_rb, & &1.1317e+00_rb,1.3007e+00_rb,1.5256e+00_rb/) kao(:, 1, 3,10) = (/ & &4.4889e-02_rb,1.1945e-01_rb,1.9910e-01_rb,2.6592e-01_rb,3.2716e-01_rb,4.0820e-01_rb, & &4.8832e-01_rb,5.6450e-01_rb,6.5333e-01_rb/) kao(:, 2, 3,10) = (/ & &5.6096e-02_rb,1.4847e-01_rb,2.4845e-01_rb,3.3071e-01_rb,4.1171e-01_rb,5.1418e-01_rb, & &6.1578e-01_rb,7.1081e-01_rb,8.2224e-01_rb/) kao(:, 3, 3,10) = (/ & &6.8702e-02_rb,1.8161e-01_rb,3.0124e-01_rb,3.9617e-01_rb,5.0089e-01_rb,6.2554e-01_rb, & &7.4933e-01_rb,8.6662e-01_rb,1.0003e+00_rb/) kao(:, 4, 3,10) = (/ & &8.1949e-02_rb,2.1813e-01_rb,3.5788e-01_rb,4.6675e-01_rb,6.0112e-01_rb,7.4982e-01_rb, & &8.9722e-01_rb,1.0369e+00_rb,1.1996e+00_rb/) kao(:, 5, 3,10) = (/ & &9.5752e-02_rb,2.5792e-01_rb,4.1860e-01_rb,5.4742e-01_rb,7.1669e-01_rb,8.9255e-01_rb, & &1.0648e+00_rb,1.2234e+00_rb,1.4293e+00_rb/) kao(:, 1, 4,10) = (/ & &9.2779e-02_rb,1.3647e-01_rb,2.0374e-01_rb,2.6880e-01_rb,3.2474e-01_rb,3.6630e-01_rb, & &4.2915e-01_rb,4.9644e-01_rb,5.7357e-01_rb/) kao(:, 2, 4,10) = (/ & &1.1604e-01_rb,1.7477e-01_rb,2.5924e-01_rb,3.4288e-01_rb,4.1143e-01_rb,4.5661e-01_rb, & &5.3933e-01_rb,6.2792e-01_rb,7.1853e-01_rb/) kao(:, 3, 4,10) = (/ & &1.4325e-01_rb,2.1810e-01_rb,3.2204e-01_rb,4.2345e-01_rb,5.0270e-01_rb,5.5390e-01_rb, & &6.5839e-01_rb,7.6862e-01_rb,8.7526e-01_rb/) kao(:, 4, 4,10) = (/ & &1.7320e-01_rb,2.6694e-01_rb,3.8938e-01_rb,5.0945e-01_rb,6.0406e-01_rb,6.6936e-01_rb, & &8.0058e-01_rb,9.3405e-01_rb,1.0639e+00_rb/) kao(:, 5, 4,10) = (/ & &2.0528e-01_rb,3.2153e-01_rb,4.6268e-01_rb,6.0392e-01_rb,7.1636e-01_rb,8.0678e-01_rb, & &9.6596e-01_rb,1.1248e+00_rb,1.2848e+00_rb/) kao(:, 1, 5,10) = (/ & &1.7241e-01_rb,1.8815e-01_rb,2.2088e-01_rb,2.6810e-01_rb,3.2220e-01_rb,3.6810e-01_rb, & &3.9585e-01_rb,4.3476e-01_rb,4.9559e-01_rb/) kao(:, 2, 5,10) = (/ & &2.1928e-01_rb,2.4297e-01_rb,2.8762e-01_rb,3.4907e-01_rb,4.1506e-01_rb,4.6919e-01_rb, & &4.9756e-01_rb,5.5222e-01_rb,6.2884e-01_rb/) kao(:, 3, 5,10) = (/ & &2.7265e-01_rb,3.0607e-01_rb,3.6483e-01_rb,4.4370e-01_rb,5.1761e-01_rb,5.7690e-01_rb, & &6.0530e-01_rb,6.7866e-01_rb,7.7290e-01_rb/) kao(:, 4, 5,10) = (/ & &3.3288e-01_rb,3.7610e-01_rb,4.5166e-01_rb,5.4662e-01_rb,6.2951e-01_rb,6.9865e-01_rb, & &7.2973e-01_rb,8.2842e-01_rb,9.4575e-01_rb/) kao(:, 5, 5,10) = (/ & &3.9915e-01_rb,4.5195e-01_rb,5.4707e-01_rb,6.6103e-01_rb,7.5773e-01_rb,8.3891e-01_rb, & &8.7097e-01_rb,1.0005e+00_rb,1.1404e+00_rb/) kao(:, 1, 6,10) = (/ & &2.9778e-01_rb,2.8967e-01_rb,2.9242e-01_rb,2.9076e-01_rb,3.1606e-01_rb,3.5216e-01_rb, & &3.7514e-01_rb,3.6360e-01_rb,4.0286e-01_rb/) kao(:, 2, 6,10) = (/ & &3.8364e-01_rb,3.7347e-01_rb,3.8384e-01_rb,3.8402e-01_rb,4.1811e-01_rb,4.6141e-01_rb, & &4.8908e-01_rb,4.6937e-01_rb,5.2349e-01_rb/) kao(:, 3, 6,10) = (/ & &4.8196e-01_rb,4.7366e-01_rb,4.8805e-01_rb,4.9747e-01_rb,5.3761e-01_rb,5.8138e-01_rb, & &6.1239e-01_rb,5.8662e-01_rb,6.5890e-01_rb/) kao(:, 4, 6,10) = (/ & &5.9004e-01_rb,5.9246e-01_rb,6.0698e-01_rb,6.2535e-01_rb,6.7125e-01_rb,7.1432e-01_rb, & &7.4926e-01_rb,7.2627e-01_rb,8.2202e-01_rb/) kao(:, 5, 6,10) = (/ & &7.1225e-01_rb,7.2336e-01_rb,7.3969e-01_rb,7.6299e-01_rb,8.2248e-01_rb,8.6951e-01_rb, & &9.0679e-01_rb,8.7991e-01_rb,1.0003e+00_rb/) kao(:, 1, 7,10) = (/ & &5.2983e-01_rb,4.8709e-01_rb,4.4813e-01_rb,4.1883e-01_rb,3.8710e-01_rb,3.5910e-01_rb, & &3.5198e-01_rb,3.4364e-01_rb,3.2708e-01_rb/) kao(:, 2, 7,10) = (/ & &6.9820e-01_rb,6.4182e-01_rb,5.9773e-01_rb,5.6199e-01_rb,5.1585e-01_rb,4.8198e-01_rb, & &4.7538e-01_rb,4.5593e-01_rb,4.2838e-01_rb/) kao(:, 3, 7,10) = (/ & &8.9166e-01_rb,8.2011e-01_rb,7.7520e-01_rb,7.2195e-01_rb,6.6977e-01_rb,6.2908e-01_rb, & &6.1720e-01_rb,5.8358e-01_rb,5.4876e-01_rb/) kao(:, 4, 7,10) = (/ & &1.1048e+00_rb,1.0150e+00_rb,9.7493e-01_rb,9.0555e-01_rb,8.5261e-01_rb,7.9496e-01_rb, & &7.7495e-01_rb,7.2954e-01_rb,6.9328e-01_rb/) kao(:, 5, 7,10) = (/ & &1.3386e+00_rb,1.2295e+00_rb,1.1950e+00_rb,1.1151e+00_rb,1.0543e+00_rb,9.8064e-01_rb, & &9.5591e-01_rb,8.9484e-01_rb,8.5404e-01_rb/) kao(:, 1, 8,10) = (/ & &1.0881e+00_rb,9.5225e-01_rb,8.5699e-01_rb,7.4043e-01_rb,6.3719e-01_rb,5.4699e-01_rb, & &4.4366e-01_rb,3.3722e-01_rb,2.5365e-01_rb/) kao(:, 2, 8,10) = (/ & &1.4729e+00_rb,1.2892e+00_rb,1.1603e+00_rb,1.0057e+00_rb,8.7735e-01_rb,7.4624e-01_rb, & &6.0685e-01_rb,4.5839e-01_rb,3.4968e-01_rb/) kao(:, 3, 8,10) = (/ & &1.9193e+00_rb,1.6816e+00_rb,1.5156e+00_rb,1.3265e+00_rb,1.1534e+00_rb,9.7741e-01_rb, & &7.9951e-01_rb,6.0809e-01_rb,4.5275e-01_rb/) kao(:, 4, 8,10) = (/ & &2.4196e+00_rb,2.1220e+00_rb,1.9097e+00_rb,1.6942e+00_rb,1.4693e+00_rb,1.2439e+00_rb, & &1.0194e+00_rb,7.8139e-01_rb,5.7536e-01_rb/) kao(:, 5, 8,10) = (/ & &2.9662e+00_rb,2.6064e+00_rb,2.3390e+00_rb,2.0966e+00_rb,1.8122e+00_rb,1.5517e+00_rb, & &1.2698e+00_rb,9.8175e-01_rb,7.1420e-01_rb/) kao(:, 1, 9,10) = (/ & &4.0693e+00_rb,3.5609e+00_rb,3.0521e+00_rb,2.5470e+00_rb,2.0946e+00_rb,1.6231e+00_rb, & &1.1342e+00_rb,6.9341e-01_rb,2.3254e-01_rb/) kao(:, 2, 9,10) = (/ & &5.6525e+00_rb,4.9459e+00_rb,4.2396e+00_rb,3.5367e+00_rb,2.9143e+00_rb,2.2533e+00_rb, & &1.5867e+00_rb,9.6567e-01_rb,2.9706e-01_rb/) kao(:, 3, 9,10) = (/ & &7.5336e+00_rb,6.5921e+00_rb,5.6502e+00_rb,4.7197e+00_rb,3.8915e+00_rb,3.0030e+00_rb, & &2.1420e+00_rb,1.2862e+00_rb,3.6402e-01_rb/) kao(:, 4, 9,10) = (/ & &9.6696e+00_rb,8.4608e+00_rb,7.2526e+00_rb,6.0675e+00_rb,4.9886e+00_rb,3.8558e+00_rb, & &2.7779e+00_rb,1.6618e+00_rb,4.0961e-01_rb/) kao(:, 5, 9,10) = (/ & &1.2059e+01_rb,1.0552e+01_rb,9.0447e+00_rb,7.5858e+00_rb,6.2136e+00_rb,4.8233e+00_rb, & &3.4799e+00_rb,2.0915e+00_rb,3.7531e-01_rb/) kao(:, 1,10,10) = (/ & &1.7088e+01_rb,1.4952e+01_rb,1.2816e+01_rb,1.0681e+01_rb,8.5444e+00_rb,6.4081e+00_rb, & &4.3169e+00_rb,2.2612e+00_rb,1.5325e-01_rb/) kao(:, 2,10,10) = (/ & &2.4265e+01_rb,2.1232e+01_rb,1.8199e+01_rb,1.5167e+01_rb,1.2132e+01_rb,9.0996e+00_rb, & &6.1194e+00_rb,3.2115e+00_rb,2.0907e-01_rb/) kao(:, 3,10,10) = (/ & &3.2859e+01_rb,2.8752e+01_rb,2.4646e+01_rb,2.0537e+01_rb,1.6430e+01_rb,1.2323e+01_rb, & &8.2885e+00_rb,4.3528e+00_rb,2.8093e-01_rb/) kao(:, 4,10,10) = (/ & &4.2869e+01_rb,3.7512e+01_rb,3.2153e+01_rb,2.6795e+01_rb,2.1435e+01_rb,1.6077e+01_rb, & &1.0833e+01_rb,5.6764e+00_rb,3.4638e-01_rb/) kao(:, 5,10,10) = (/ & &5.4098e+01_rb,4.7336e+01_rb,4.0575e+01_rb,3.3816e+01_rb,2.7052e+01_rb,2.0291e+01_rb, & &1.3707e+01_rb,7.1952e+00_rb,4.8935e-01_rb/) kao(:, 1,11,10) = (/ & &2.9317e+01_rb,2.5652e+01_rb,2.1987e+01_rb,1.8324e+01_rb,1.4658e+01_rb,1.0994e+01_rb, & &7.3313e+00_rb,3.7877e+00_rb,2.2554e-01_rb/) kao(:, 2,11,10) = (/ & &4.1549e+01_rb,3.6355e+01_rb,3.1162e+01_rb,2.5968e+01_rb,2.0775e+01_rb,1.5581e+01_rb, & &1.0388e+01_rb,5.3868e+00_rb,2.3983e-01_rb/) kao(:, 3,11,10) = (/ & &5.6191e+01_rb,4.9168e+01_rb,4.2143e+01_rb,3.5117e+01_rb,2.8096e+01_rb,2.1071e+01_rb, & &1.4052e+01_rb,7.2903e+00_rb,2.8347e-01_rb/) kao(:, 4,11,10) = (/ & &7.3162e+01_rb,6.4016e+01_rb,5.4871e+01_rb,4.5729e+01_rb,3.6583e+01_rb,2.7439e+01_rb, & &1.8309e+01_rb,9.4965e+00_rb,3.4363e-01_rb/) kao(:, 5,11,10) = (/ & &9.2126e+01_rb,8.0611e+01_rb,6.9095e+01_rb,5.7582e+01_rb,4.6068e+01_rb,3.4554e+01_rb, & &2.3073e+01_rb,1.1954e+01_rb,4.6470e-01_rb/) kao(:, 1,12,10) = (/ & &3.6684e+01_rb,3.2099e+01_rb,2.7514e+01_rb,2.2927e+01_rb,1.8342e+01_rb,1.3757e+01_rb, & &9.1743e+00_rb,4.7217e+00_rb,2.6068e-01_rb/) kao(:, 2,12,10) = (/ & &5.1868e+01_rb,4.5387e+01_rb,3.8901e+01_rb,3.2419e+01_rb,2.5934e+01_rb,1.9452e+01_rb, & &1.2967e+01_rb,6.6916e+00_rb,2.7916e-01_rb/) kao(:, 3,12,10) = (/ & &7.0081e+01_rb,6.1322e+01_rb,5.2561e+01_rb,4.3801e+01_rb,3.5043e+01_rb,2.6282e+01_rb, & &1.7526e+01_rb,9.0530e+00_rb,3.3145e-01_rb/) kao(:, 4,12,10) = (/ & &9.0957e+01_rb,7.9591e+01_rb,6.8227e+01_rb,5.6859e+01_rb,4.5488e+01_rb,3.4114e+01_rb, & &2.2760e+01_rb,1.1751e+01_rb,3.6053e-01_rb/) kao(:, 5,12,10) = (/ & &1.1478e+02_rb,1.0044e+02_rb,8.6086e+01_rb,7.1743e+01_rb,5.7394e+01_rb,4.3046e+01_rb, & &2.8737e+01_rb,1.4814e+01_rb,4.5144e-01_rb/) kao(:, 1,13,10) = (/ & &3.5965e+01_rb,3.1472e+01_rb,2.6975e+01_rb,2.2479e+01_rb,1.7984e+01_rb,1.3488e+01_rb, & &9.0232e+00_rb,4.6648e+00_rb,2.4705e-01_rb/) kao(:, 2,13,10) = (/ & &5.0800e+01_rb,4.4451e+01_rb,3.8101e+01_rb,3.1752e+01_rb,2.5403e+01_rb,1.9053e+01_rb, & &1.2739e+01_rb,6.5982e+00_rb,2.8941e-01_rb/) kao(:, 3,13,10) = (/ & &6.8393e+01_rb,5.9846e+01_rb,5.1296e+01_rb,4.2746e+01_rb,3.4199e+01_rb,2.5650e+01_rb, & &1.7151e+01_rb,8.8890e+00_rb,3.3776e-01_rb/) kao(:, 4,13,10) = (/ & &8.8957e+01_rb,7.7837e+01_rb,6.6721e+01_rb,5.5604e+01_rb,4.4485e+01_rb,3.3364e+01_rb, & &2.2331e+01_rb,1.1554e+01_rb,3.9400e-01_rb/) kao(:, 5,13,10) = (/ & &1.1248e+02_rb,9.8422e+01_rb,8.4359e+01_rb,7.0296e+01_rb,5.6240e+01_rb,4.2182e+01_rb, & &2.8274e+01_rb,1.4614e+01_rb,4.6294e-01_rb/) kao(:, 1, 1,11) = (/ & &2.0991e-02_rb,1.4510e-01_rb,2.7530e-01_rb,4.1253e-01_rb,5.4888e-01_rb,6.8317e-01_rb, & &8.1040e-01_rb,9.0204e-01_rb,1.0977e+00_rb/) kao(:, 2, 1,11) = (/ & &2.6377e-02_rb,1.7420e-01_rb,3.3534e-01_rb,5.0284e-01_rb,6.6978e-01_rb,8.3508e-01_rb, & &9.9362e-01_rb,1.1152e+00_rb,1.3395e+00_rb/) kao(:, 3, 1,11) = (/ & &3.2301e-02_rb,2.0470e-01_rb,4.0014e-01_rb,5.9936e-01_rb,7.9730e-01_rb,9.9294e-01_rb, & &1.1840e+00_rb,1.3371e+00_rb,1.5943e+00_rb/) kao(:, 4, 1,11) = (/ & &3.8610e-02_rb,2.3990e-01_rb,4.7445e-01_rb,7.0939e-01_rb,9.4186e-01_rb,1.1687e+00_rb, & &1.3842e+00_rb,1.5657e+00_rb,1.8832e+00_rb/) kao(:, 5, 1,11) = (/ & &4.5285e-02_rb,2.8044e-01_rb,5.5866e-01_rb,8.3454e-01_rb,1.1074e+00_rb,1.3742e+00_rb, & &1.6243e+00_rb,1.8087e+00_rb,2.2141e+00_rb/) kao(:, 1, 2,11) = (/ & &3.0334e-02_rb,1.5806e-01_rb,2.5391e-01_rb,3.8056e-01_rb,5.0695e-01_rb,6.3318e-01_rb, & &7.5908e-01_rb,8.7813e-01_rb,1.0138e+00_rb/) kao(:, 2, 2,11) = (/ & &3.8224e-02_rb,1.9234e-01_rb,3.1173e-01_rb,4.6706e-01_rb,6.2209e-01_rb,7.7707e-01_rb, & &9.3334e-01_rb,1.0857e+00_rb,1.2438e+00_rb/) kao(:, 3, 2,11) = (/ & &4.7042e-02_rb,2.2793e-01_rb,3.7775e-01_rb,5.6573e-01_rb,7.5275e-01_rb,9.3856e-01_rb, & &1.1227e+00_rb,1.3034e+00_rb,1.5049e+00_rb/) kao(:, 4, 2,11) = (/ & &5.6790e-02_rb,2.6663e-01_rb,4.5515e-01_rb,6.8101e-01_rb,9.0489e-01_rb,1.1244e+00_rb, & &1.3363e+00_rb,1.5352e+00_rb,1.8090e+00_rb/) kao(:, 5, 2,11) = (/ & &6.7198e-02_rb,3.0909e-01_rb,5.3855e-01_rb,8.0620e-01_rb,1.0720e+00_rb,1.3339e+00_rb, & &1.5872e+00_rb,1.8075e+00_rb,2.1432e+00_rb/) kao(:, 1, 3,11) = (/ & &5.8386e-02_rb,1.7533e-01_rb,2.7134e-01_rb,3.4280e-01_rb,4.5327e-01_rb,5.6550e-01_rb, & &6.7606e-01_rb,7.8244e-01_rb,9.0646e-01_rb/) kao(:, 2, 3,11) = (/ & &7.4136e-02_rb,2.1912e-01_rb,3.3311e-01_rb,4.2266e-01_rb,5.6203e-01_rb,7.0075e-01_rb, & &8.3707e-01_rb,9.6959e-01_rb,1.1236e+00_rb/) kao(:, 3, 3,11) = (/ & &9.1573e-02_rb,2.6509e-01_rb,4.0096e-01_rb,5.1730e-01_rb,6.8812e-01_rb,8.5747e-01_rb, & &1.0237e+00_rb,1.1823e+00_rb,1.3753e+00_rb/) kao(:, 4, 3,11) = (/ & &1.1115e-01_rb,3.1410e-01_rb,4.7626e-01_rb,6.2447e-01_rb,8.3118e-01_rb,1.0365e+00_rb, & &1.2383e+00_rb,1.4280e+00_rb,1.6615e+00_rb/) kao(:, 5, 3,11) = (/ & &1.3245e-01_rb,3.6725e-01_rb,5.5683e-01_rb,7.4336e-01_rb,9.8988e-01_rb,1.2355e+00_rb, & &1.4780e+00_rb,1.7132e+00_rb,1.9788e+00_rb/) kao(:, 1, 4,11) = (/ & &1.1641e-01_rb,1.9770e-01_rb,2.9439e-01_rb,3.7525e-01_rb,4.3722e-01_rb,5.0094e-01_rb, & &6.0009e-01_rb,6.9731e-01_rb,8.0196e-01_rb/) kao(:, 2, 4,11) = (/ & &1.4966e-01_rb,2.5765e-01_rb,3.7252e-01_rb,4.6834e-01_rb,5.4216e-01_rb,6.3606e-01_rb, & &7.6075e-01_rb,8.7975e-01_rb,1.0184e+00_rb/) kao(:, 3, 4,11) = (/ & &1.8710e-01_rb,3.2245e-01_rb,4.5679e-01_rb,5.7205e-01_rb,6.6194e-01_rb,7.9151e-01_rb, & &9.4643e-01_rb,1.0919e+00_rb,1.2671e+00_rb/) kao(:, 4, 4,11) = (/ & &2.2853e-01_rb,3.9201e-01_rb,5.5041e-01_rb,6.8810e-01_rb,7.8876e-01_rb,9.5787e-01_rb, & &1.1458e+00_rb,1.3241e+00_rb,1.5335e+00_rb/) kao(:, 5, 4,11) = (/ & &2.7304e-01_rb,4.6530e-01_rb,6.5411e-01_rb,8.1513e-01_rb,9.2682e-01_rb,1.1406e+00_rb, & &1.3653e+00_rb,1.5825e+00_rb,1.8252e+00_rb/) kao(:, 1, 5,11) = (/ & &2.2361e-01_rb,2.4318e-01_rb,3.1539e-01_rb,3.9443e-01_rb,4.5716e-01_rb,5.0109e-01_rb, & &5.2154e-01_rb,6.0679e-01_rb,6.9571e-01_rb/) kao(:, 2, 5,11) = (/ & &2.8781e-01_rb,3.2451e-01_rb,4.1536e-01_rb,5.0630e-01_rb,5.8344e-01_rb,6.3855e-01_rb, & &6.7297e-01_rb,7.8266e-01_rb,8.9726e-01_rb/) kao(:, 3, 5,11) = (/ & &3.6159e-01_rb,4.1915e-01_rb,5.2707e-01_rb,6.2976e-01_rb,7.2674e-01_rb,7.9740e-01_rb, & &8.4985e-01_rb,9.8938e-01_rb,1.1325e+00_rb/) kao(:, 4, 5,11) = (/ & &4.4416e-01_rb,5.2452e-01_rb,6.5017e-01_rb,7.6880e-01_rb,8.8658e-01_rb,9.6270e-01_rb, & &1.0399e+00_rb,1.2125e+00_rb,1.3846e+00_rb/) kao(:, 5, 5,11) = (/ & &5.3394e-01_rb,6.3638e-01_rb,7.8407e-01_rb,9.2197e-01_rb,1.0572e+00_rb,1.1328e+00_rb, & &1.2555e+00_rb,1.4611e+00_rb,1.6711e+00_rb/) kao(:, 1, 6,11) = (/ & &3.9154e-01_rb,3.6960e-01_rb,3.6660e-01_rb,4.0826e-01_rb,4.6123e-01_rb,5.0084e-01_rb, & &5.2154e-01_rb,5.2728e-01_rb,6.0320e-01_rb/) kao(:, 2, 6,11) = (/ & &5.1275e-01_rb,4.8556e-01_rb,4.9732e-01_rb,5.4788e-01_rb,6.0699e-01_rb,6.5333e-01_rb, & &6.7418e-01_rb,6.8648e-01_rb,7.8580e-01_rb/) kao(:, 3, 6,11) = (/ & &6.5141e-01_rb,6.2128e-01_rb,6.5130e-01_rb,7.0712e-01_rb,7.7202e-01_rb,8.3303e-01_rb, & &8.5314e-01_rb,8.6953e-01_rb,9.9315e-01_rb/) kao(:, 4, 6,11) = (/ & &8.1112e-01_rb,7.6989e-01_rb,8.2193e-01_rb,8.8492e-01_rb,9.6073e-01_rb,1.0362e+00_rb, & &1.0443e+00_rb,1.0666e+00_rb,1.2159e+00_rb/) kao(:, 5, 6,11) = (/ & &9.8628e-01_rb,9.3596e-01_rb,1.0065e+00_rb,1.0840e+00_rb,1.1687e+00_rb,1.2489e+00_rb, & &1.2474e+00_rb,1.2983e+00_rb,1.4796e+00_rb/) kao(:, 1, 7,11) = (/ & &6.9811e-01_rb,6.2404e-01_rb,5.7431e-01_rb,5.2596e-01_rb,5.0219e-01_rb,5.1011e-01_rb, & &5.2289e-01_rb,4.9946e-01_rb,5.0228e-01_rb/) kao(:, 2, 7,11) = (/ & &9.3257e-01_rb,8.3430e-01_rb,7.6751e-01_rb,7.1360e-01_rb,6.8353e-01_rb,6.8813e-01_rb, & &6.9358e-01_rb,6.6018e-01_rb,6.7200e-01_rb/) kao(:, 3, 7,11) = (/ & &1.1984e+00_rb,1.0755e+00_rb,9.9660e-01_rb,9.4008e-01_rb,8.9760e-01_rb,8.9906e-01_rb, & &8.9631e-01_rb,8.4016e-01_rb,8.6247e-01_rb/) kao(:, 4, 7,11) = (/ & &1.5061e+00_rb,1.3555e+00_rb,1.2704e+00_rb,1.2009e+00_rb,1.1418e+00_rb,1.1469e+00_rb, & &1.1302e+00_rb,1.0283e+00_rb,1.0687e+00_rb/) kao(:, 5, 7,11) = (/ & &1.8551e+00_rb,1.6736e+00_rb,1.5791e+00_rb,1.4850e+00_rb,1.4175e+00_rb,1.4225e+00_rb, & &1.3804e+00_rb,1.2333e+00_rb,1.3098e+00_rb/) kao(:, 1, 8,11) = (/ & &1.4751e+00_rb,1.2907e+00_rb,1.1413e+00_rb,9.9788e-01_rb,8.3765e-01_rb,7.0312e-01_rb, & &5.8437e-01_rb,5.1212e-01_rb,4.0848e-01_rb/) kao(:, 2, 8,11) = (/ & &2.0110e+00_rb,1.7597e+00_rb,1.5595e+00_rb,1.3603e+00_rb,1.1539e+00_rb,9.7291e-01_rb, & &7.9698e-01_rb,7.0110e-01_rb,5.5259e-01_rb/) kao(:, 3, 8,11) = (/ & &2.6286e+00_rb,2.3001e+00_rb,2.0385e+00_rb,1.7785e+00_rb,1.5362e+00_rb,1.2889e+00_rb, & &1.0590e+00_rb,9.2250e-01_rb,7.2275e-01_rb/) kao(:, 4, 8,11) = (/ & &3.3350e+00_rb,2.9182e+00_rb,2.5850e+00_rb,2.2617e+00_rb,1.9780e+00_rb,1.6580e+00_rb, & &1.3758e+00_rb,1.1729e+00_rb,9.1532e-01_rb/) kao(:, 5, 8,11) = (/ & &4.1346e+00_rb,3.6181e+00_rb,3.2106e+00_rb,2.8264e+00_rb,2.4835e+00_rb,2.0714e+00_rb, & &1.7385e+00_rb,1.4468e+00_rb,1.1430e+00_rb/) kao(:, 1, 9,11) = (/ & &5.7681e+00_rb,5.0468e+00_rb,4.3260e+00_rb,3.6050e+00_rb,2.9109e+00_rb,2.2673e+00_rb, & &1.5776e+00_rb,9.1302e-01_rb,3.3856e-01_rb/) kao(:, 2, 9,11) = (/ & &8.0519e+00_rb,7.0463e+00_rb,6.0395e+00_rb,5.0331e+00_rb,4.0586e+00_rb,3.1762e+00_rb, & &2.2073e+00_rb,1.2968e+00_rb,3.9705e-01_rb/) kao(:, 3, 9,11) = (/ & &1.0740e+01_rb,9.3971e+00_rb,8.0549e+00_rb,6.7129e+00_rb,5.4190e+00_rb,4.2355e+00_rb, & &2.9531e+00_rb,1.7521e+00_rb,4.0437e-01_rb/) kao(:, 4, 9,11) = (/ & &1.3840e+01_rb,1.2110e+01_rb,1.0380e+01_rb,8.6502e+00_rb,7.0077e+00_rb,5.4549e+00_rb, & &3.8354e+00_rb,2.2704e+00_rb,5.4385e-01_rb/) kao(:, 5, 9,11) = (/ & &1.7291e+01_rb,1.5129e+01_rb,1.2969e+01_rb,1.0808e+01_rb,8.7913e+00_rb,6.8118e+00_rb, & &4.8594e+00_rb,2.8643e+00_rb,9.3844e-01_rb/) kao(:, 1,10,11) = (/ & &2.5281e+01_rb,2.2121e+01_rb,1.8961e+01_rb,1.5801e+01_rb,1.2641e+01_rb,9.4806e+00_rb, & &6.3207e+00_rb,3.2921e+00_rb,2.8225e-01_rb/) kao(:, 2,10,11) = (/ & &3.6089e+01_rb,3.1577e+01_rb,2.7066e+01_rb,2.2555e+01_rb,1.8044e+01_rb,1.3532e+01_rb, & &9.0226e+00_rb,4.7197e+00_rb,3.9375e-01_rb/) kao(:, 3,10,11) = (/ & &4.8997e+01_rb,4.2873e+01_rb,3.6749e+01_rb,3.0623e+01_rb,2.4498e+01_rb,1.8373e+01_rb, & &1.2249e+01_rb,6.4130e+00_rb,6.0950e-01_rb/) kao(:, 4,10,11) = (/ & &6.4090e+01_rb,5.6079e+01_rb,4.8068e+01_rb,4.0059e+01_rb,3.2048e+01_rb,2.4036e+01_rb, & &1.6029e+01_rb,8.3902e+00_rb,8.3229e-01_rb/) kao(:, 5,10,11) = (/ & &8.0977e+01_rb,7.0856e+01_rb,6.0735e+01_rb,5.0611e+01_rb,4.0489e+01_rb,3.0368e+01_rb, & &2.0260e+01_rb,1.0591e+01_rb,9.6456e-01_rb/) kao(:, 1,11,11) = (/ & &4.5405e+01_rb,3.9730e+01_rb,3.4055e+01_rb,2.8379e+01_rb,2.2704e+01_rb,1.7027e+01_rb, & &1.1352e+01_rb,5.7629e+00_rb,2.2978e-01_rb/) kao(:, 2,11,11) = (/ & &6.4516e+01_rb,5.6450e+01_rb,4.8385e+01_rb,4.0321e+01_rb,3.2258e+01_rb,2.4193e+01_rb, & &1.6129e+01_rb,8.1743e+00_rb,3.8450e-01_rb/) kao(:, 3,11,11) = (/ & &8.7570e+01_rb,7.6629e+01_rb,6.5678e+01_rb,5.4738e+01_rb,4.3785e+01_rb,3.2840e+01_rb, & &2.1894e+01_rb,1.1105e+01_rb,5.0528e-01_rb/) kao(:, 4,11,11) = (/ & &1.1421e+02_rb,9.9924e+01_rb,8.5650e+01_rb,7.1372e+01_rb,5.7099e+01_rb,4.2826e+01_rb, & &2.8549e+01_rb,1.4506e+01_rb,6.3580e-01_rb/) kao(:, 5,11,11) = (/ & &1.4404e+02_rb,1.2604e+02_rb,1.0803e+02_rb,9.0033e+01_rb,7.2026e+01_rb,5.4020e+01_rb, & &3.6011e+01_rb,1.8334e+01_rb,7.9612e-01_rb/) kao(:, 1,12,11) = (/ & &5.9271e+01_rb,5.1859e+01_rb,4.4453e+01_rb,3.7044e+01_rb,2.9635e+01_rb,2.2226e+01_rb, & &1.4818e+01_rb,7.4861e+00_rb,2.2024e-01_rb/) kao(:, 2,12,11) = (/ & &8.4185e+01_rb,7.3665e+01_rb,6.3138e+01_rb,5.2615e+01_rb,4.2094e+01_rb,3.1570e+01_rb, & &2.1046e+01_rb,1.0615e+01_rb,3.8802e-01_rb/) kao(:, 3,12,11) = (/ & &1.1399e+02_rb,9.9749e+01_rb,8.5496e+01_rb,7.1245e+01_rb,5.6997e+01_rb,4.2749e+01_rb, & &2.8499e+01_rb,1.4383e+01_rb,4.9342e-01_rb/) kao(:, 4,12,11) = (/ & &1.4842e+02_rb,1.2987e+02_rb,1.1132e+02_rb,9.2770e+01_rb,7.4216e+01_rb,5.5662e+01_rb, & &3.7107e+01_rb,1.8761e+01_rb,6.8194e-01_rb/) kao(:, 5,12,11) = (/ & &1.8694e+02_rb,1.6356e+02_rb,1.4020e+02_rb,1.1683e+02_rb,9.3474e+01_rb,7.0107e+01_rb, & &4.6738e+01_rb,2.3682e+01_rb,7.5051e-01_rb/) kao(:, 1,13,11) = (/ & &6.1162e+01_rb,5.3516e+01_rb,4.5871e+01_rb,3.8225e+01_rb,3.0581e+01_rb,2.2936e+01_rb, & &1.5291e+01_rb,7.7722e+00_rb,3.0501e-01_rb/) kao(:, 2,13,11) = (/ & &8.6643e+01_rb,7.5815e+01_rb,6.4984e+01_rb,5.4153e+01_rb,4.3324e+01_rb,3.2493e+01_rb, & &2.1662e+01_rb,1.1016e+01_rb,3.8069e-01_rb/) kao(:, 3,13,11) = (/ & &1.1697e+02_rb,1.0235e+02_rb,8.7727e+01_rb,7.3107e+01_rb,5.8486e+01_rb,4.3863e+01_rb, & &2.9242e+01_rb,1.4879e+01_rb,4.9510e-01_rb/) kao(:, 4,13,11) = (/ & &1.5186e+02_rb,1.3288e+02_rb,1.1389e+02_rb,9.4916e+01_rb,7.5936e+01_rb,5.6949e+01_rb, & &3.7967e+01_rb,1.9342e+01_rb,5.7912e-01_rb/) kao(:, 5,13,11) = (/ & &1.9078e+02_rb,1.6694e+02_rb,1.4309e+02_rb,1.1924e+02_rb,9.5394e+01_rb,7.1546e+01_rb, & &4.7697e+01_rb,2.4327e+01_rb,6.7000e-01_rb/) kao(:, 1, 1,12) = (/ & &4.4327e-02_rb,1.9901e-01_rb,3.9567e-01_rb,5.8848e-01_rb,7.7476e-01_rb,9.4853e-01_rb, & &1.0934e+00_rb,1.1527e+00_rb,1.5495e+00_rb/) kao(:, 2, 1,12) = (/ & &5.3905e-02_rb,2.4740e-01_rb,4.9242e-01_rb,7.3367e-01_rb,9.6823e-01_rb,1.1892e+00_rb, & &1.3767e+00_rb,1.4534e+00_rb,1.9364e+00_rb/) kao(:, 3, 1,12) = (/ & &6.4069e-02_rb,2.9762e-01_rb,5.9267e-01_rb,8.8396e-01_rb,1.1680e+00_rb,1.4379e+00_rb, & &1.6734e+00_rb,1.7853e+00_rb,2.3359e+00_rb/) kao(:, 4, 1,12) = (/ & &7.4599e-02_rb,3.4908e-01_rb,6.9548e-01_rb,1.0378e+00_rb,1.3725e+00_rb,1.6921e+00_rb, & &1.9734e+00_rb,2.1192e+00_rb,2.7449e+00_rb/) kao(:, 5, 1,12) = (/ & &8.5274e-02_rb,4.0394e-01_rb,8.0404e-01_rb,1.1983e+00_rb,1.5830e+00_rb,1.9477e+00_rb, & &2.2662e+00_rb,2.4521e+00_rb,3.1659e+00_rb/) kao(:, 1, 2,12) = (/ & &6.1665e-02_rb,2.1077e-01_rb,3.8355e-01_rb,5.7339e-01_rb,7.6055e-01_rb,9.4236e-01_rb, & &1.1091e+00_rb,1.2168e+00_rb,1.5210e+00_rb/) kao(:, 2, 2,12) = (/ & &7.6234e-02_rb,2.5639e-01_rb,4.7826e-01_rb,7.1532e-01_rb,9.5007e-01_rb,1.1793e+00_rb, & &1.3941e+00_rb,1.5452e+00_rb,1.9001e+00_rb/) kao(:, 3, 2,12) = (/ & &9.1892e-02_rb,3.0376e-01_rb,5.7761e-01_rb,8.6445e-01_rb,1.1488e+00_rb,1.4281e+00_rb, & &1.6923e+00_rb,1.8917e+00_rb,2.2975e+00_rb/) kao(:, 4, 2,12) = (/ & &1.0837e-01_rb,3.5273e-01_rb,6.8106e-01_rb,1.0192e+00_rb,1.3548e+00_rb,1.6858e+00_rb, & &2.0012e+00_rb,2.2488e+00_rb,2.7094e+00_rb/) kao(:, 5, 2,12) = (/ & &1.2523e-01_rb,4.0526e-01_rb,7.9735e-01_rb,1.1921e+00_rb,1.5816e+00_rb,1.9625e+00_rb, & &2.3213e+00_rb,2.6087e+00_rb,3.1625e+00_rb/) kao(:, 1, 3,12) = (/ & &1.1120e-01_rb,2.4868e-01_rb,3.6808e-01_rb,5.1840e-01_rb,6.9017e-01_rb,8.6056e-01_rb, & &1.0271e+00_rb,1.1758e+00_rb,1.3802e+00_rb/) kao(:, 2, 3,12) = (/ & &1.4053e-01_rb,3.1536e-01_rb,4.5583e-01_rb,6.5442e-01_rb,8.7173e-01_rb,1.0879e+00_rb, & &1.3003e+00_rb,1.4947e+00_rb,1.7433e+00_rb/) kao(:, 3, 3,12) = (/ & &1.7249e-01_rb,3.8643e-01_rb,5.4830e-01_rb,7.9885e-01_rb,1.0645e+00_rb,1.3292e+00_rb, & &1.5905e+00_rb,1.8338e+00_rb,2.1288e+00_rb/) kao(:, 4, 3,12) = (/ & &2.0676e-01_rb,4.5780e-01_rb,6.4549e-01_rb,9.5437e-01_rb,1.2710e+00_rb,1.5864e+00_rb, & &1.8970e+00_rb,2.1896e+00_rb,2.5411e+00_rb/) kao(:, 5, 3,12) = (/ & &2.4212e-01_rb,5.2871e-01_rb,7.5484e-01_rb,1.1269e+00_rb,1.5000e+00_rb,1.8700e+00_rb, & &2.2336e+00_rb,2.5647e+00_rb,2.9987e+00_rb/) kao(:, 1, 4,12) = (/ & &2.0092e-01_rb,3.0566e-01_rb,4.3321e-01_rb,5.2770e-01_rb,6.0160e-01_rb,7.5023e-01_rb, & &8.9870e-01_rb,1.0432e+00_rb,1.2013e+00_rb/) kao(:, 2, 4,12) = (/ & &2.6071e-01_rb,3.8703e-01_rb,5.5757e-01_rb,6.5930e-01_rb,7.6619e-01_rb,9.5732e-01_rb, & &1.1477e+00_rb,1.3364e+00_rb,1.5321e+00_rb/) kao(:, 3, 4,12) = (/ & &3.2640e-01_rb,4.7994e-01_rb,6.8737e-01_rb,7.9575e-01_rb,9.4617e-01_rb,1.1821e+00_rb, & &1.4178e+00_rb,1.6541e+00_rb,1.8914e+00_rb/) kao(:, 4, 4,12) = (/ & &3.9855e-01_rb,5.8348e-01_rb,8.2078e-01_rb,9.3830e-01_rb,1.1490e+00_rb,1.4352e+00_rb, & &1.7207e+00_rb,2.0041e+00_rb,2.2963e+00_rb/) kao(:, 5, 4,12) = (/ & &4.7570e-01_rb,6.9415e-01_rb,9.5472e-01_rb,1.0922e+00_rb,1.3776e+00_rb,1.7196e+00_rb, & &2.0594e+00_rb,2.3902e+00_rb,2.7528e+00_rb/) kao(:, 1, 5,12) = (/ & &3.3247e-01_rb,3.9594e-01_rb,4.9056e-01_rb,5.8813e-01_rb,6.5607e-01_rb,6.8035e-01_rb, & &7.9032e-01_rb,9.1840e-01_rb,1.0557e+00_rb/) kao(:, 2, 5,12) = (/ & &4.4282e-01_rb,5.1203e-01_rb,6.4486e-01_rb,7.7152e-01_rb,8.4090e-01_rb,8.6628e-01_rb, & &1.0179e+00_rb,1.1841e+00_rb,1.3589e+00_rb/) kao(:, 3, 5,12) = (/ & &5.6912e-01_rb,6.3900e-01_rb,8.2247e-01_rb,9.6727e-01_rb,1.0369e+00_rb,1.0698e+00_rb, & &1.2706e+00_rb,1.4785e+00_rb,1.6959e+00_rb/) kao(:, 4, 5,12) = (/ & &7.0931e-01_rb,7.8069e-01_rb,1.0153e+00_rb,1.1726e+00_rb,1.2423e+00_rb,1.3043e+00_rb, & &1.5604e+00_rb,1.8146e+00_rb,2.0829e+00_rb/) kao(:, 5, 5,12) = (/ & &8.5949e-01_rb,9.3825e-01_rb,1.2105e+00_rb,1.3829e+00_rb,1.4592e+00_rb,1.5748e+00_rb, & &1.8870e+00_rb,2.1938e+00_rb,2.5189e+00_rb/) kao(:, 1, 6,12) = (/ & &5.2509e-01_rb,5.1721e-01_rb,5.7378e-01_rb,6.3384e-01_rb,6.9692e-01_rb,7.3419e-01_rb, & &7.1864e-01_rb,7.9317e-01_rb,9.0866e-01_rb/) kao(:, 2, 6,12) = (/ & &7.0957e-01_rb,6.9625e-01_rb,7.6638e-01_rb,8.5821e-01_rb,9.3314e-01_rb,9.6244e-01_rb, & &9.2911e-01_rb,1.0410e+00_rb,1.1915e+00_rb/) kao(:, 3, 6,12) = (/ & &9.2892e-01_rb,9.0647e-01_rb,9.9421e-01_rb,1.1180e+00_rb,1.1912e+00_rb,1.2074e+00_rb, & &1.1606e+00_rb,1.3214e+00_rb,1.5144e+00_rb/) kao(:, 4, 6,12) = (/ & &1.1749e+00_rb,1.1432e+00_rb,1.2560e+00_rb,1.3977e+00_rb,1.4686e+00_rb,1.4691e+00_rb, & &1.4281e+00_rb,1.6462e+00_rb,1.8876e+00_rb/) kao(:, 5, 6,12) = (/ & &1.4442e+00_rb,1.4016e+00_rb,1.5480e+00_rb,1.6922e+00_rb,1.7621e+00_rb,1.7564e+00_rb, & &1.7321e+00_rb,2.0105e+00_rb,2.3048e+00_rb/) kao(:, 1, 7,12) = (/ & &9.1849e-01_rb,8.0624e-01_rb,7.9050e-01_rb,7.5675e-01_rb,7.6178e-01_rb,7.8133e-01_rb, & &7.7608e-01_rb,6.9116e-01_rb,7.7991e-01_rb/) kao(:, 2, 7,12) = (/ & &1.2413e+00_rb,1.0918e+00_rb,1.0769e+00_rb,1.0420e+00_rb,1.0608e+00_rb,1.0726e+00_rb, & &1.0404e+00_rb,9.1318e-01_rb,1.0358e+00_rb/) kao(:, 3, 7,12) = (/ & &1.6444e+00_rb,1.4500e+00_rb,1.4209e+00_rb,1.3929e+00_rb,1.4200e+00_rb,1.3992e+00_rb, & &1.3321e+00_rb,1.1740e+00_rb,1.3388e+00_rb/) kao(:, 4, 7,12) = (/ & &2.1122e+00_rb,1.8669e+00_rb,1.8040e+00_rb,1.8049e+00_rb,1.8188e+00_rb,1.7570e+00_rb, & &1.6501e+00_rb,1.4861e+00_rb,1.6989e+00_rb/) kao(:, 5, 7,12) = (/ & &2.6250e+00_rb,2.3265e+00_rb,2.2289e+00_rb,2.2673e+00_rb,2.2456e+00_rb,2.1426e+00_rb, & &2.0040e+00_rb,1.8373e+00_rb,2.0997e+00_rb/) kao(:, 1, 8,12) = (/ & &1.9827e+00_rb,1.7349e+00_rb,1.4981e+00_rb,1.3371e+00_rb,1.1453e+00_rb,9.6602e-01_rb, & &8.7309e-01_rb,7.7254e-01_rb,6.6571e-01_rb/) kao(:, 2, 8,12) = (/ & &2.7151e+00_rb,2.3758e+00_rb,2.0507e+00_rb,1.8313e+00_rb,1.5691e+00_rb,1.3551e+00_rb, & &1.2325e+00_rb,1.0537e+00_rb,8.9966e-01_rb/) kao(:, 3, 8,12) = (/ & &3.5997e+00_rb,3.1499e+00_rb,2.7291e+00_rb,2.4373e+00_rb,2.1034e+00_rb,1.8593e+00_rb, & &1.6579e+00_rb,1.3773e+00_rb,1.1789e+00_rb/) kao(:, 4, 8,12) = (/ & &4.6665e+00_rb,4.0832e+00_rb,3.5519e+00_rb,3.1544e+00_rb,2.7468e+00_rb,2.4617e+00_rb, & &2.1388e+00_rb,1.7464e+00_rb,1.5079e+00_rb/) kao(:, 5, 8,12) = (/ & &5.8669e+00_rb,5.1335e+00_rb,4.4792e+00_rb,3.9559e+00_rb,3.4817e+00_rb,3.1241e+00_rb, & &2.6649e+00_rb,2.1629e+00_rb,1.8732e+00_rb/) kao(:, 1, 9,12) = (/ & &8.0387e+00_rb,7.0340e+00_rb,6.0293e+00_rb,5.0245e+00_rb,4.0196e+00_rb,3.0957e+00_rb, & &2.1773e+00_rb,1.2357e+00_rb,4.2050e-01_rb/) kao(:, 2, 9,12) = (/ & &1.1280e+01_rb,9.8705e+00_rb,8.4601e+00_rb,7.0501e+00_rb,5.6402e+00_rb,4.3334e+00_rb, & &3.0492e+00_rb,1.7467e+00_rb,4.6837e-01_rb/) kao(:, 3, 9,12) = (/ & &1.5202e+01_rb,1.3302e+01_rb,1.1401e+01_rb,9.5008e+00_rb,7.6009e+00_rb,5.8446e+00_rb, & &4.1033e+00_rb,2.4072e+00_rb,9.0067e-01_rb/) kao(:, 4, 9,12) = (/ & &1.9804e+01_rb,1.7328e+01_rb,1.4853e+01_rb,1.2377e+01_rb,9.9040e+00_rb,7.6319e+00_rb, & &5.3589e+00_rb,3.2206e+00_rb,1.3277e+00_rb/) kao(:, 5, 9,12) = (/ & &2.5091e+01_rb,2.1955e+01_rb,1.8819e+01_rb,1.5683e+01_rb,1.2554e+01_rb,9.6970e+00_rb, & &6.8190e+00_rb,4.1412e+00_rb,1.6570e+00_rb/) kao(:, 1,10,12) = (/ & &3.6853e+01_rb,3.2247e+01_rb,2.7641e+01_rb,2.3035e+01_rb,1.8427e+01_rb,1.3820e+01_rb, & &9.2142e+00_rb,4.7017e+00_rb,5.2096e-01_rb/) kao(:, 2,10,12) = (/ & &5.2866e+01_rb,4.6255e+01_rb,3.9648e+01_rb,3.3040e+01_rb,2.6431e+01_rb,1.9825e+01_rb, & &1.3217e+01_rb,6.7223e+00_rb,8.5705e-01_rb/) kao(:, 3,10,12) = (/ & &7.2440e+01_rb,6.3382e+01_rb,5.4326e+01_rb,4.5272e+01_rb,3.6218e+01_rb,2.7164e+01_rb, & &1.8108e+01_rb,9.2103e+00_rb,9.7984e-01_rb/) kao(:, 4,10,12) = (/ & &9.5327e+01_rb,8.3414e+01_rb,7.1501e+01_rb,5.9582e+01_rb,4.7667e+01_rb,3.5750e+01_rb, & &2.3834e+01_rb,1.2146e+01_rb,1.1774e+00_rb/) kao(:, 5,10,12) = (/ & &1.2143e+02_rb,1.0625e+02_rb,9.1069e+01_rb,7.5889e+01_rb,6.0713e+01_rb,4.5537e+01_rb, & &3.0358e+01_rb,1.5516e+01_rb,1.3416e+00_rb/) kao(:, 1,11,12) = (/ & &6.9348e+01_rb,6.0680e+01_rb,5.2012e+01_rb,4.3342e+01_rb,3.4673e+01_rb,2.6006e+01_rb, & &1.7338e+01_rb,8.6702e+00_rb,3.0466e-01_rb/) kao(:, 2,11,12) = (/ & &9.9352e+01_rb,8.6930e+01_rb,7.4511e+01_rb,6.2093e+01_rb,4.9676e+01_rb,3.7257e+01_rb, & &2.4839e+01_rb,1.2419e+01_rb,6.8510e-01_rb/) kao(:, 3,11,12) = (/ & &1.3563e+02_rb,1.1868e+02_rb,1.0173e+02_rb,8.4769e+01_rb,6.7818e+01_rb,5.0866e+01_rb, & &3.3908e+01_rb,1.6957e+01_rb,1.0467e+00_rb/) kao(:, 4,11,12) = (/ & &1.7753e+02_rb,1.5535e+02_rb,1.3315e+02_rb,1.1096e+02_rb,8.8765e+01_rb,6.6576e+01_rb, & &4.4384e+01_rb,2.2206e+01_rb,1.3289e+00_rb/) kao(:, 5,11,12) = (/ & &2.2508e+02_rb,1.9694e+02_rb,1.6881e+02_rb,1.4068e+02_rb,1.1255e+02_rb,8.4405e+01_rb, & &5.6267e+01_rb,2.8168e+01_rb,1.6371e+00_rb/) kao(:, 1,12,12) = (/ & &9.5815e+01_rb,8.3836e+01_rb,7.1860e+01_rb,5.9885e+01_rb,4.7907e+01_rb,3.5931e+01_rb, & &2.3953e+01_rb,1.1977e+01_rb,2.4035e-01_rb/) kao(:, 2,12,12) = (/ & &1.3694e+02_rb,1.1982e+02_rb,1.0270e+02_rb,8.5588e+01_rb,6.8468e+01_rb,5.1352e+01_rb, & &3.4234e+01_rb,1.7118e+01_rb,5.7126e-01_rb/) kao(:, 3,12,12) = (/ & &1.8607e+02_rb,1.6282e+02_rb,1.3956e+02_rb,1.1630e+02_rb,9.3038e+01_rb,6.9781e+01_rb, & &4.6518e+01_rb,2.3259e+01_rb,8.8813e-01_rb/) kao(:, 4,12,12) = (/ & &2.4268e+02_rb,2.1235e+02_rb,1.8201e+02_rb,1.5168e+02_rb,1.2134e+02_rb,9.1010e+01_rb, & &6.0670e+01_rb,3.0335e+01_rb,1.1237e+00_rb/) kao(:, 5,12,12) = (/ & &3.0642e+02_rb,2.6813e+02_rb,2.2982e+02_rb,1.9152e+02_rb,1.5322e+02_rb,1.1491e+02_rb, & &7.6606e+01_rb,3.8310e+01_rb,1.5308e+00_rb/) kao(:, 1,13,12) = (/ & &1.0396e+02_rb,9.0973e+01_rb,7.7973e+01_rb,6.4982e+01_rb,5.1984e+01_rb,3.8991e+01_rb, & &2.5992e+01_rb,1.3003e+01_rb,2.8896e-01_rb/) kao(:, 2,13,12) = (/ & &1.4817e+02_rb,1.2965e+02_rb,1.1113e+02_rb,9.2604e+01_rb,7.4089e+01_rb,5.5562e+01_rb, & &3.7043e+01_rb,1.8523e+01_rb,6.4071e-01_rb/) kao(:, 3,13,12) = (/ & &2.0056e+02_rb,1.7549e+02_rb,1.5042e+02_rb,1.2535e+02_rb,1.0028e+02_rb,7.5210e+01_rb, & &5.0138e+01_rb,2.5080e+01_rb,7.6073e-01_rb/) kao(:, 4,13,12) = (/ & &2.6107e+02_rb,2.2842e+02_rb,1.9581e+02_rb,1.6317e+02_rb,1.3054e+02_rb,9.7901e+01_rb, & &6.5267e+01_rb,3.2665e+01_rb,1.0550e+00_rb/) kao(:, 5,13,12) = (/ & &3.2818e+02_rb,2.8717e+02_rb,2.4613e+02_rb,2.0512e+02_rb,1.6409e+02_rb,1.2307e+02_rb, & &8.2040e+01_rb,4.1093e+01_rb,1.4069e+00_rb/) kao(:, 1, 1,13) = (/ & &8.9189e-02_rb,2.7547e-01_rb,5.4755e-01_rb,8.1466e-01_rb,1.0734e+00_rb,1.3167e+00_rb, & &1.5262e+00_rb,1.6545e+00_rb,2.1467e+00_rb/) kao(:, 2, 1,13) = (/ & &1.0564e-01_rb,3.3448e-01_rb,6.6333e-01_rb,9.8354e-01_rb,1.2897e+00_rb,1.5719e+00_rb, & &1.8097e+00_rb,1.9474e+00_rb,2.5794e+00_rb/) kao(:, 3, 1,13) = (/ & &1.2232e-01_rb,4.0251e-01_rb,7.9745e-01_rb,1.1809e+00_rb,1.5463e+00_rb,1.8798e+00_rb, & &2.1512e+00_rb,2.2853e+00_rb,3.0925e+00_rb/) kao(:, 4, 1,13) = (/ & &1.3906e-01_rb,4.8151e-01_rb,9.5370e-01_rb,1.4117e+00_rb,1.8477e+00_rb,2.2440e+00_rb, & &2.5627e+00_rb,2.7054e+00_rb,3.6953e+00_rb/) kao(:, 5, 1,13) = (/ & &1.5537e-01_rb,5.6891e-01_rb,1.1282e+00_rb,1.6723e+00_rb,2.1918e+00_rb,2.6654e+00_rb, & &3.0480e+00_rb,3.1989e+00_rb,4.3834e+00_rb/) kao(:, 1, 2,13) = (/ & &1.2651e-01_rb,2.7511e-01_rb,5.4811e-01_rb,8.1792e-01_rb,1.0822e+00_rb,1.3369e+00_rb, & &1.5702e+00_rb,1.7388e+00_rb,2.1643e+00_rb/) kao(:, 2, 2,13) = (/ & &1.5153e-01_rb,3.4384e-01_rb,6.8417e-01_rb,1.0197e+00_rb,1.3466e+00_rb,1.6574e+00_rb, & &1.9318e+00_rb,2.0933e+00_rb,2.6930e+00_rb/) kao(:, 3, 2,13) = (/ & &1.7716e-01_rb,4.2323e-01_rb,8.4160e-01_rb,1.2530e+00_rb,1.6525e+00_rb,2.0285e+00_rb, & &2.3523e+00_rb,2.5052e+00_rb,3.3049e+00_rb/) kao(:, 4, 2,13) = (/ & &2.0304e-01_rb,5.0914e-01_rb,1.0128e+00_rb,1.5083e+00_rb,1.9894e+00_rb,2.4425e+00_rb, & &2.8273e+00_rb,2.9947e+00_rb,3.9785e+00_rb/) kao(:, 5, 2,13) = (/ & &2.2856e-01_rb,5.9708e-01_rb,1.1882e+00_rb,1.7705e+00_rb,2.3375e+00_rb,2.8753e+00_rb, & &3.3417e+00_rb,3.5598e+00_rb,4.6746e+00_rb/) kao(:, 1, 3,13) = (/ & &2.3155e-01_rb,3.6106e-01_rb,5.1524e-01_rb,7.7074e-01_rb,1.0237e+00_rb,1.2717e+00_rb, & &1.5079e+00_rb,1.7067e+00_rb,2.0474e+00_rb/) kao(:, 2, 3,13) = (/ & &2.8222e-01_rb,4.3122e-01_rb,6.6114e-01_rb,9.8854e-01_rb,1.3120e+00_rb,1.6278e+00_rb, & &1.9248e+00_rb,2.1616e+00_rb,2.6238e+00_rb/) kao(:, 3, 3,13) = (/ & &3.3490e-01_rb,5.0925e-01_rb,8.3049e-01_rb,1.2417e+00_rb,1.6476e+00_rb,2.0430e+00_rb, & &2.4133e+00_rb,2.6954e+00_rb,3.2949e+00_rb/) kao(:, 4, 3,13) = (/ & &3.8898e-01_rb,5.9951e-01_rb,1.0132e+00_rb,1.5151e+00_rb,2.0114e+00_rb,2.4964e+00_rb, & &2.9531e+00_rb,3.3043e+00_rb,4.0224e+00_rb/) kao(:, 5, 3,13) = (/ & &4.4295e-01_rb,6.9228e-01_rb,1.1941e+00_rb,1.7863e+00_rb,2.3719e+00_rb,2.9449e+00_rb, & &3.4879e+00_rb,3.9170e+00_rb,4.7434e+00_rb/) kao(:, 1, 4,13) = (/ & &4.2438e-01_rb,5.0777e-01_rb,6.1519e-01_rb,7.0596e-01_rb,9.3438e-01_rb,1.1645e+00_rb, & &1.3892e+00_rb,1.5946e+00_rb,1.8686e+00_rb/) kao(:, 2, 4,13) = (/ & &5.2911e-01_rb,6.2653e-01_rb,7.5903e-01_rb,9.2591e-01_rb,1.2320e+00_rb,1.5352e+00_rb, & &1.8307e+00_rb,2.0955e+00_rb,2.4637e+00_rb/) kao(:, 3, 4,13) = (/ & &6.3945e-01_rb,7.5086e-01_rb,9.2902e-01_rb,1.1816e+00_rb,1.5728e+00_rb,1.9600e+00_rb, & &2.3380e+00_rb,2.6793e+00_rb,3.1453e+00_rb/) kao(:, 4, 4,13) = (/ & &7.5432e-01_rb,8.7946e-01_rb,1.1073e+00_rb,1.4569e+00_rb,1.9394e+00_rb,2.4183e+00_rb, & &2.8875e+00_rb,3.3173e+00_rb,3.8782e+00_rb/) kao(:, 5, 4,13) = (/ & &8.7134e-01_rb,1.0123e+00_rb,1.2829e+00_rb,1.7403e+00_rb,2.3172e+00_rb,2.8902e+00_rb, & &3.4528e+00_rb,3.9744e+00_rb,4.6335e+00_rb/) kao(:, 1, 5,13) = (/ & &7.1207e-01_rb,6.8711e-01_rb,8.3241e-01_rb,8.6529e-01_rb,8.8550e-01_rb,1.0406e+00_rb, & &1.2451e+00_rb,1.4407e+00_rb,1.6670e+00_rb/) kao(:, 2, 5,13) = (/ & &9.0944e-01_rb,8.8418e-01_rb,1.0384e+00_rb,1.0957e+00_rb,1.1610e+00_rb,1.4029e+00_rb, & &1.6788e+00_rb,1.9429e+00_rb,2.2472e+00_rb/) kao(:, 3, 5,13) = (/ & &1.1217e+00_rb,1.1051e+00_rb,1.2550e+00_rb,1.3677e+00_rb,1.4770e+00_rb,1.8154e+00_rb, & &2.1738e+00_rb,2.5182e+00_rb,2.9077e+00_rb/) kao(:, 4, 5,13) = (/ & &1.3460e+00_rb,1.3429e+00_rb,1.4887e+00_rb,1.6567e+00_rb,1.8206e+00_rb,2.2609e+00_rb, & &2.7082e+00_rb,3.1425e+00_rb,3.6199e+00_rb/) kao(:, 5, 5,13) = (/ & &1.5795e+00_rb,1.5881e+00_rb,1.7517e+00_rb,1.9324e+00_rb,2.1859e+00_rb,2.7284e+00_rb, & &3.2694e+00_rb,3.7971e+00_rb,4.3676e+00_rb/) kao(:, 1, 6,13) = (/ & &1.1023e+00_rb,9.7526e-01_rb,1.0617e+00_rb,1.1008e+00_rb,1.0651e+00_rb,1.0178e+00_rb, & &1.0836e+00_rb,1.2590e+00_rb,1.4474e+00_rb/) kao(:, 2, 6,13) = (/ & &1.4464e+00_rb,1.2819e+00_rb,1.3748e+00_rb,1.4078e+00_rb,1.3857e+00_rb,1.3476e+00_rb, & &1.4882e+00_rb,1.7304e+00_rb,1.9875e+00_rb/) kao(:, 3, 6,13) = (/ & &1.8308e+00_rb,1.6242e+00_rb,1.7155e+00_rb,1.7456e+00_rb,1.7675e+00_rb,1.7237e+00_rb, & &1.9554e+00_rb,2.2760e+00_rb,2.6094e+00_rb/) kao(:, 4, 6,13) = (/ & &2.2453e+00_rb,1.9975e+00_rb,2.0781e+00_rb,2.1295e+00_rb,2.1828e+00_rb,2.1327e+00_rb, & &2.4652e+00_rb,2.8713e+00_rb,3.2893e+00_rb/) kao(:, 5, 6,13) = (/ & &2.6836e+00_rb,2.3986e+00_rb,2.4577e+00_rb,2.5567e+00_rb,2.5877e+00_rb,2.5663e+00_rb, & &3.0104e+00_rb,3.5064e+00_rb,4.0161e+00_rb/) kao(:, 1, 7,13) = (/ & &1.7788e+00_rb,1.5565e+00_rb,1.4296e+00_rb,1.4541e+00_rb,1.3809e+00_rb,1.2482e+00_rb, & &1.1009e+00_rb,1.0852e+00_rb,1.2442e+00_rb/) kao(:, 2, 7,13) = (/ & &2.4100e+00_rb,2.1089e+00_rb,1.9246e+00_rb,1.9363e+00_rb,1.8185e+00_rb,1.6636e+00_rb, & &1.4819e+00_rb,1.5124e+00_rb,1.7324e+00_rb/) kao(:, 3, 7,13) = (/ & &3.1319e+00_rb,2.7405e+00_rb,2.5003e+00_rb,2.4636e+00_rb,2.3111e+00_rb,2.1652e+00_rb, & &1.9114e+00_rb,2.0080e+00_rb,2.2982e+00_rb/) kao(:, 4, 7,13) = (/ & &3.9360e+00_rb,3.4440e+00_rb,3.1598e+00_rb,3.0372e+00_rb,2.8747e+00_rb,2.7334e+00_rb, & &2.3814e+00_rb,2.5579e+00_rb,2.9254e+00_rb/) kao(:, 5, 7,13) = (/ & &4.8010e+00_rb,4.2009e+00_rb,3.8764e+00_rb,3.6526e+00_rb,3.5065e+00_rb,3.3078e+00_rb, & &2.8824e+00_rb,3.1625e+00_rb,3.6156e+00_rb/) kao(:, 1, 8,13) = (/ & &3.4656e+00_rb,3.0324e+00_rb,2.5993e+00_rb,2.2536e+00_rb,2.0768e+00_rb,1.8323e+00_rb, & &1.4794e+00_rb,1.1100e+00_rb,1.0719e+00_rb/) kao(:, 2, 8,13) = (/ & &4.7953e+00_rb,4.1960e+00_rb,3.5964e+00_rb,3.1195e+00_rb,2.8558e+00_rb,2.4960e+00_rb, & &2.0234e+00_rb,1.5264e+00_rb,1.5151e+00_rb/) kao(:, 3, 8,13) = (/ & &6.4119e+00_rb,5.6106e+00_rb,4.8091e+00_rb,4.1637e+00_rb,3.7658e+00_rb,3.2529e+00_rb, & &2.6777e+00_rb,1.9921e+00_rb,2.0306e+00_rb/) kao(:, 4, 8,13) = (/ & &8.2532e+00_rb,7.2211e+00_rb,6.1898e+00_rb,5.3688e+00_rb,4.7948e+00_rb,4.1025e+00_rb, & &3.4458e+00_rb,2.5062e+00_rb,2.6143e+00_rb/) kao(:, 5, 8,13) = (/ & &1.0283e+01_rb,8.9971e+00_rb,7.7118e+00_rb,6.7087e+00_rb,5.9163e+00_rb,5.0630e+00_rb, & &4.2877e+00_rb,3.0597e+00_rb,3.2702e+00_rb/) kao(:, 1, 9,13) = (/ & &1.3039e+01_rb,1.1409e+01_rb,9.7786e+00_rb,8.1486e+00_rb,6.5192e+00_rb,4.9000e+00_rb, & &3.5526e+00_rb,2.2083e+00_rb,6.1249e-01_rb/) kao(:, 2, 9,13) = (/ & &1.8190e+01_rb,1.5916e+01_rb,1.3643e+01_rb,1.1369e+01_rb,9.0953e+00_rb,6.8331e+00_rb, & &4.9544e+00_rb,3.0917e+00_rb,1.3174e+00_rb/) kao(:, 3, 9,13) = (/ & &2.4717e+01_rb,2.1628e+01_rb,1.8538e+01_rb,1.5449e+01_rb,1.2359e+01_rb,9.2996e+00_rb, & &6.7414e+00_rb,4.1578e+00_rb,1.7841e+00_rb/) kao(:, 4, 9,13) = (/ & &3.2573e+01_rb,2.8503e+01_rb,2.4432e+01_rb,2.0359e+01_rb,1.6288e+01_rb,1.2267e+01_rb, & &8.8606e+00_rb,5.4011e+00_rb,2.3241e+00_rb/) kao(:, 5, 9,13) = (/ & &4.1562e+01_rb,3.6368e+01_rb,3.1173e+01_rb,2.5977e+01_rb,2.0781e+01_rb,1.5678e+01_rb, & &1.1261e+01_rb,6.8301e+00_rb,2.9541e+00_rb/) kao(:, 1,10,13) = (/ & &5.7951e+01_rb,5.0708e+01_rb,4.3464e+01_rb,3.6220e+01_rb,2.8976e+01_rb,2.1732e+01_rb, & &1.4488e+01_rb,7.2520e+00_rb,5.6538e-01_rb/) kao(:, 2,10,13) = (/ & &8.1306e+01_rb,7.1141e+01_rb,6.0979e+01_rb,5.0813e+01_rb,4.0652e+01_rb,3.0489e+01_rb, & &2.0326e+01_rb,1.0163e+01_rb,6.5761e-01_rb/) kao(:, 3,10,13) = (/ & &1.1158e+02_rb,9.7625e+01_rb,8.3679e+01_rb,6.9730e+01_rb,5.5786e+01_rb,4.1839e+01_rb, & &2.7893e+01_rb,1.3953e+01_rb,1.0530e+00_rb/) kao(:, 4,10,13) = (/ & &1.4877e+02_rb,1.3018e+02_rb,1.1158e+02_rb,9.2984e+01_rb,7.4388e+01_rb,5.5791e+01_rb, & &3.7194e+01_rb,1.8619e+01_rb,1.0469e+00_rb/) kao(:, 5,10,13) = (/ & &1.9259e+02_rb,1.6851e+02_rb,1.4444e+02_rb,1.2037e+02_rb,9.6298e+01_rb,7.2222e+01_rb, & &4.8145e+01_rb,2.4115e+01_rb,9.0336e-01_rb/) kao(:, 1,11,13) = (/ & &1.0724e+02_rb,9.3834e+01_rb,8.0425e+01_rb,6.7028e+01_rb,5.3621e+01_rb,4.0215e+01_rb, & &2.6808e+01_rb,1.3405e+01_rb,7.5947e-01_rb/) kao(:, 2,11,13) = (/ & &1.5135e+02_rb,1.3244e+02_rb,1.1352e+02_rb,9.4596e+01_rb,7.5677e+01_rb,5.6758e+01_rb, & &3.7839e+01_rb,1.8919e+01_rb,7.7568e-01_rb/) kao(:, 3,11,13) = (/ & &2.0634e+02_rb,1.8056e+02_rb,1.5476e+02_rb,1.2896e+02_rb,1.0317e+02_rb,7.7384e+01_rb, & &5.1587e+01_rb,2.5792e+01_rb,1.1446e+00_rb/) kao(:, 4,11,13) = (/ & &2.7388e+02_rb,2.3963e+02_rb,2.0540e+02_rb,1.7116e+02_rb,1.3692e+02_rb,1.0270e+02_rb, & &6.8464e+01_rb,3.4233e+01_rb,1.4967e+00_rb/) kao(:, 5,11,13) = (/ & &3.5254e+02_rb,3.0844e+02_rb,2.6442e+02_rb,2.2035e+02_rb,1.7628e+02_rb,1.3220e+02_rb, & &8.8134e+01_rb,4.4067e+01_rb,1.3951e+00_rb/) kao(:, 1,12,13) = (/ & &1.4929e+02_rb,1.3063e+02_rb,1.1197e+02_rb,9.3306e+01_rb,7.4648e+01_rb,5.5984e+01_rb, & &3.7322e+01_rb,1.8661e+01_rb,7.7179e-01_rb/) kao(:, 2,12,13) = (/ & &2.1213e+02_rb,1.8562e+02_rb,1.5909e+02_rb,1.3258e+02_rb,1.0606e+02_rb,7.9546e+01_rb, & &5.3033e+01_rb,2.6517e+01_rb,8.3102e-01_rb/) kao(:, 3,12,13) = (/ & &2.8848e+02_rb,2.5242e+02_rb,2.1635e+02_rb,1.8030e+02_rb,1.4425e+02_rb,1.0818e+02_rb, & &7.2116e+01_rb,3.6059e+01_rb,1.2769e+00_rb/) kao(:, 4,12,13) = (/ & &3.7976e+02_rb,3.3226e+02_rb,2.8481e+02_rb,2.3733e+02_rb,1.8986e+02_rb,1.4240e+02_rb, & &9.4932e+01_rb,4.7464e+01_rb,1.6812e+00_rb/) kao(:, 5,12,13) = (/ & &4.8508e+02_rb,4.2444e+02_rb,3.6380e+02_rb,3.0318e+02_rb,2.4253e+02_rb,1.8190e+02_rb, & &1.2127e+02_rb,6.0633e+01_rb,1.6837e+00_rb/) kao(:, 1,13,13) = (/ & &1.6844e+02_rb,1.4739e+02_rb,1.2633e+02_rb,1.0528e+02_rb,8.4219e+01_rb,6.3167e+01_rb, & &4.2110e+01_rb,2.1055e+01_rb,6.4746e-01_rb/) kao(:, 2,13,13) = (/ & &2.3974e+02_rb,2.0978e+02_rb,1.7981e+02_rb,1.4983e+02_rb,1.1987e+02_rb,8.9901e+01_rb, & &5.9937e+01_rb,2.9967e+01_rb,7.7977e-01_rb/) kao(:, 3,13,13) = (/ & &3.2617e+02_rb,2.8540e+02_rb,2.4462e+02_rb,2.0386e+02_rb,1.6309e+02_rb,1.2231e+02_rb, & &8.1544e+01_rb,4.0770e+01_rb,1.5118e+00_rb/) kao(:, 4,13,13) = (/ & &4.2665e+02_rb,3.7332e+02_rb,3.1999e+02_rb,2.6667e+02_rb,2.1333e+02_rb,1.5999e+02_rb, & &1.0667e+02_rb,5.3332e+01_rb,1.6652e+00_rb/) kao(:, 5,13,13) = (/ & &5.4098e+02_rb,4.7336e+02_rb,4.0573e+02_rb,3.3811e+02_rb,2.7048e+02_rb,2.0286e+02_rb, & &1.3525e+02_rb,6.7619e+01_rb,1.7274e+00_rb/) kao(:, 1, 1,14) = (/ & &1.4473e-01_rb,4.5196e-01_rb,8.9698e-01_rb,1.3316e+00_rb,1.7483e+00_rb,2.1329e+00_rb, & &2.4492e+00_rb,2.5366e+00_rb,3.4967e+00_rb/) kao(:, 2, 1,14) = (/ & &1.6846e-01_rb,5.5554e-01_rb,1.1039e+00_rb,1.6417e+00_rb,2.1611e+00_rb,2.6456e+00_rb, & &3.0463e+00_rb,3.1695e+00_rb,4.3222e+00_rb/) kao(:, 3, 1,14) = (/ & &1.9174e-01_rb,6.6749e-01_rb,1.3276e+00_rb,1.9756e+00_rb,2.6027e+00_rb,3.1886e+00_rb, & &3.6789e+00_rb,3.8433e+00_rb,5.2055e+00_rb/) kao(:, 4, 1,14) = (/ & &2.1490e-01_rb,7.8476e-01_rb,1.5609e+00_rb,2.3233e+00_rb,3.0639e+00_rb,3.7563e+00_rb, & &4.3396e+00_rb,4.5493e+00_rb,6.1279e+00_rb/) kao(:, 5, 1,14) = (/ & &2.3691e-01_rb,9.0765e-01_rb,1.8042e+00_rb,2.6834e+00_rb,3.5348e+00_rb,4.3362e+00_rb, & &5.0160e+00_rb,5.2774e+00_rb,7.0696e+00_rb/) kao(:, 1, 2,14) = (/ & &2.1296e-01_rb,4.6215e-01_rb,9.1984e-01_rb,1.3706e+00_rb,1.8091e+00_rb,2.2245e+00_rb, & &2.5860e+00_rb,2.7730e+00_rb,3.6182e+00_rb/) kao(:, 2, 2,14) = (/ & &2.5016e-01_rb,5.6432e-01_rb,1.1237e+00_rb,1.6756e+00_rb,2.2151e+00_rb,2.7294e+00_rb, & &3.1864e+00_rb,3.4606e+00_rb,4.4301e+00_rb/) kao(:, 3, 2,14) = (/ & &2.8692e-01_rb,6.7375e-01_rb,1.3425e+00_rb,2.0033e+00_rb,2.6512e+00_rb,3.2743e+00_rb, & &3.8384e+00_rb,4.2145e+00_rb,5.3023e+00_rb/) kao(:, 4, 2,14) = (/ & &3.2327e-01_rb,7.9645e-01_rb,1.5866e+00_rb,2.3669e+00_rb,3.1323e+00_rb,3.8679e+00_rb, & &4.5425e+00_rb,5.0100e+00_rb,6.2645e+00_rb/) kao(:, 5, 2,14) = (/ & &3.5851e-01_rb,9.3518e-01_rb,1.8621e+00_rb,2.7777e+00_rb,3.6730e+00_rb,4.5297e+00_rb, & &5.3029e+00_rb,5.8281e+00_rb,7.3458e+00_rb/) kao(:, 1, 3,14) = (/ & &4.0569e-01_rb,4.7346e-01_rb,9.0139e-01_rb,1.3483e+00_rb,1.7892e+00_rb,2.2204e+00_rb, & &2.6252e+00_rb,2.9358e+00_rb,3.5784e+00_rb/) kao(:, 2, 3,14) = (/ & &4.8357e-01_rb,5.7585e-01_rb,1.1016e+00_rb,1.6482e+00_rb,2.1888e+00_rb,2.7185e+00_rb, & &3.2205e+00_rb,3.6184e+00_rb,4.3777e+00_rb/) kao(:, 3, 3,14) = (/ & &5.6184e-01_rb,6.8539e-01_rb,1.3182e+00_rb,1.9726e+00_rb,2.6206e+00_rb,3.2555e+00_rb, & &3.8616e+00_rb,4.3597e+00_rb,5.2411e+00_rb/) kao(:, 4, 3,14) = (/ & &6.3937e-01_rb,8.0074e-01_rb,1.5659e+00_rb,2.3420e+00_rb,3.1101e+00_rb,3.8617e+00_rb, & &4.5735e+00_rb,5.1595e+00_rb,6.2201e+00_rb/) kao(:, 5, 3,14) = (/ & &7.1542e-01_rb,9.3290e-01_rb,1.8594e+00_rb,2.7803e+00_rb,3.6907e+00_rb,4.5815e+00_rb, & &5.4228e+00_rb,6.0997e+00_rb,7.3811e+00_rb/) kao(:, 1, 4,14) = (/ & &7.7613e-01_rb,7.2482e-01_rb,8.8213e-01_rb,1.2906e+00_rb,1.7174e+00_rb,2.1406e+00_rb, & &2.5536e+00_rb,2.9272e+00_rb,3.4348e+00_rb/) kao(:, 2, 4,14) = (/ & &9.4054e-01_rb,9.0136e-01_rb,1.0781e+00_rb,1.5850e+00_rb,2.1098e+00_rb,2.6295e+00_rb, & &3.1372e+00_rb,3.6020e+00_rb,4.2194e+00_rb/) kao(:, 3, 4,14) = (/ & &1.1095e+00_rb,1.0843e+00_rb,1.2887e+00_rb,1.9170e+00_rb,2.5512e+00_rb,3.1791e+00_rb, & &3.7919e+00_rb,4.3511e+00_rb,5.1021e+00_rb/) kao(:, 4, 4,14) = (/ & &1.2791e+00_rb,1.2603e+00_rb,1.5382e+00_rb,2.3038e+00_rb,3.0649e+00_rb,3.8173e+00_rb, & &4.5513e+00_rb,5.2083e+00_rb,6.1294e+00_rb/) kao(:, 5, 4,14) = (/ & &1.4465e+00_rb,1.4292e+00_rb,1.8362e+00_rb,2.7499e+00_rb,3.6579e+00_rb,4.5561e+00_rb, & &5.4280e+00_rb,6.2050e+00_rb,7.3150e+00_rb/) kao(:, 1, 5,14) = (/ & &1.3553e+00_rb,1.1859e+00_rb,1.1889e+00_rb,1.2820e+00_rb,1.6126e+00_rb,2.0133e+00_rb, & &2.4100e+00_rb,2.7917e+00_rb,3.2251e+00_rb/) kao(:, 2, 5,14) = (/ & &1.6746e+00_rb,1.4653e+00_rb,1.4722e+00_rb,1.5790e+00_rb,2.0132e+00_rb,2.5133e+00_rb, & &3.0071e+00_rb,3.4795e+00_rb,4.0262e+00_rb/) kao(:, 3, 5,14) = (/ & &2.0071e+00_rb,1.7563e+00_rb,1.7644e+00_rb,1.8926e+00_rb,2.4705e+00_rb,3.0826e+00_rb, & &3.6880e+00_rb,4.2630e+00_rb,4.9404e+00_rb/) kao(:, 4, 5,14) = (/ & &2.3461e+00_rb,2.0539e+00_rb,2.0623e+00_rb,2.2628e+00_rb,3.0107e+00_rb,3.7562e+00_rb, & &4.4918e+00_rb,5.1850e+00_rb,6.0203e+00_rb/) kao(:, 5, 5,14) = (/ & &2.6832e+00_rb,2.3569e+00_rb,2.3578e+00_rb,2.7266e+00_rb,3.6306e+00_rb,4.5292e+00_rb, & &5.4146e+00_rb,6.2480e+00_rb,7.2595e+00_rb/) kao(:, 1, 6,14) = (/ & &2.1798e+00_rb,1.9076e+00_rb,1.6634e+00_rb,1.6610e+00_rb,1.6126e+00_rb,1.8086e+00_rb, & &2.1681e+00_rb,2.5212e+00_rb,2.8955e+00_rb/) kao(:, 2, 6,14) = (/ & &2.7568e+00_rb,2.4124e+00_rb,2.1319e+00_rb,2.0890e+00_rb,2.0379e+00_rb,2.3402e+00_rb, & &2.8045e+00_rb,3.2592e+00_rb,3.7464e+00_rb/) kao(:, 3, 6,14) = (/ & &3.3653e+00_rb,2.9447e+00_rb,2.6494e+00_rb,2.5260e+00_rb,2.4774e+00_rb,2.9464e+00_rb, & &3.5300e+00_rb,4.0980e+00_rb,4.7178e+00_rb/) kao(:, 4, 6,14) = (/ & &3.9980e+00_rb,3.4981e+00_rb,3.2081e+00_rb,2.9759e+00_rb,2.9694e+00_rb,3.6441e+00_rb, & &4.3643e+00_rb,5.0633e+00_rb,5.8364e+00_rb/) kao(:, 5, 6,14) = (/ & &4.6371e+00_rb,4.0569e+00_rb,3.7676e+00_rb,3.4231e+00_rb,3.5724e+00_rb,4.4465e+00_rb, & &5.3245e+00_rb,6.1747e+00_rb,7.1186e+00_rb/) kao(:, 1, 7,14) = (/ & &3.6500e+00_rb,3.1940e+00_rb,2.7377e+00_rb,2.3521e+00_rb,2.2005e+00_rb,1.9226e+00_rb, & &1.8951e+00_rb,2.2032e+00_rb,2.5224e+00_rb/) kao(:, 2, 7,14) = (/ & &4.7380e+00_rb,4.1460e+00_rb,3.5535e+00_rb,3.0746e+00_rb,2.8560e+00_rb,2.4862e+00_rb, & &2.5325e+00_rb,2.9498e+00_rb,3.3790e+00_rb/) kao(:, 3, 7,14) = (/ & &5.9099e+00_rb,5.1713e+00_rb,4.4326e+00_rb,3.9038e+00_rb,3.5341e+00_rb,3.0823e+00_rb, & &3.2930e+00_rb,3.8333e+00_rb,4.3949e+00_rb/) kao(:, 4, 7,14) = (/ & &7.1406e+00_rb,6.2480e+00_rb,5.3561e+00_rb,4.7936e+00_rb,4.2290e+00_rb,3.7296e+00_rb, & &4.1867e+00_rb,4.8720e+00_rb,5.5890e+00_rb/) kao(:, 5, 7,14) = (/ & &8.4067e+00_rb,7.3559e+00_rb,6.3050e+00_rb,5.6953e+00_rb,4.9319e+00_rb,4.4981e+00_rb, & &5.2053e+00_rb,6.0551e+00_rb,6.9478e+00_rb/) kao(:, 1, 8,14) = (/ & &7.2793e+00_rb,6.3695e+00_rb,5.4593e+00_rb,4.5496e+00_rb,3.6668e+00_rb,3.0739e+00_rb, & &2.3812e+00_rb,1.8850e+00_rb,2.1414e+00_rb/) kao(:, 2, 8,14) = (/ & &9.7148e+00_rb,8.5004e+00_rb,7.2858e+00_rb,6.0719e+00_rb,4.9067e+00_rb,4.1050e+00_rb, & &3.1504e+00_rb,2.5960e+00_rb,2.9698e+00_rb/) kao(:, 3, 8,14) = (/ & &1.2408e+01_rb,1.0858e+01_rb,9.3058e+00_rb,7.7549e+00_rb,6.3008e+00_rb,5.2586e+00_rb, & &3.9820e+00_rb,3.4865e+00_rb,3.9886e+00_rb/) kao(:, 4, 8,14) = (/ & &1.5301e+01_rb,1.3388e+01_rb,1.1476e+01_rb,9.5632e+00_rb,7.8364e+00_rb,6.4696e+00_rb, & &4.8601e+00_rb,4.5513e+00_rb,5.2081e+00_rb/) kao(:, 5, 8,14) = (/ & &1.8319e+01_rb,1.6029e+01_rb,1.3740e+01_rb,1.1449e+01_rb,9.4798e+00_rb,7.7150e+00_rb, & &5.8215e+00_rb,5.7877e+00_rb,6.6226e+00_rb/) kao(:, 1, 9,14) = (/ & &2.7093e+01_rb,2.3706e+01_rb,2.0321e+01_rb,1.6934e+01_rb,1.3547e+01_rb,1.0161e+01_rb, & &6.7735e+00_rb,3.8947e+00_rb,1.7904e+00_rb/) kao(:, 2, 9,14) = (/ & &3.7356e+01_rb,3.2687e+01_rb,2.8017e+01_rb,2.3347e+01_rb,1.8679e+01_rb,1.4008e+01_rb, & &9.3393e+00_rb,5.3672e+00_rb,2.5563e+00_rb/) kao(:, 3, 9,14) = (/ & &4.9010e+01_rb,4.2883e+01_rb,3.6757e+01_rb,3.0630e+01_rb,2.4505e+01_rb,1.8379e+01_rb, & &1.2257e+01_rb,7.0400e+00_rb,3.5347e+00_rb/) kao(:, 4, 9,14) = (/ & &6.1735e+01_rb,5.4018e+01_rb,4.6300e+01_rb,3.8583e+01_rb,3.0868e+01_rb,2.3150e+01_rb, & &1.5458e+01_rb,8.8071e+00_rb,4.7393e+00_rb/) kao(:, 5, 9,14) = (/ & &7.5284e+01_rb,6.5873e+01_rb,5.6463e+01_rb,4.7052e+01_rb,3.7640e+01_rb,2.8233e+01_rb, & &1.8889e+01_rb,1.0654e+01_rb,6.1635e+00_rb/) kao(:, 1,10,14) = (/ & &1.1501e+02_rb,1.0064e+02_rb,8.6262e+01_rb,7.1883e+01_rb,5.7506e+01_rb,4.3130e+01_rb, & &2.8755e+01_rb,1.4378e+01_rb,5.7116e-01_rb/) kao(:, 2,10,14) = (/ & &1.6323e+02_rb,1.4283e+02_rb,1.2242e+02_rb,1.0202e+02_rb,8.1614e+01_rb,6.1213e+01_rb, & &4.0807e+01_rb,2.0405e+01_rb,4.6944e-01_rb/) kao(:, 3,10,14) = (/ & &2.1950e+02_rb,1.9206e+02_rb,1.6462e+02_rb,1.3718e+02_rb,1.0975e+02_rb,8.2311e+01_rb, & &5.4875e+01_rb,2.7438e+01_rb,1.0245e+00_rb/) kao(:, 4,10,14) = (/ & &2.8264e+02_rb,2.4730e+02_rb,2.1197e+02_rb,1.7666e+02_rb,1.4132e+02_rb,1.0599e+02_rb, & &7.0664e+01_rb,3.5330e+01_rb,2.8560e+00_rb/) kao(:, 5,10,14) = (/ & &3.5102e+02_rb,3.0716e+02_rb,2.6326e+02_rb,2.1939e+02_rb,1.7551e+02_rb,1.3164e+02_rb, & &8.7759e+01_rb,4.3879e+01_rb,5.5928e+00_rb/) kao(:, 1,11,14) = (/ & &2.0513e+02_rb,1.7948e+02_rb,1.5384e+02_rb,1.2821e+02_rb,1.0256e+02_rb,7.6924e+01_rb, & &5.1281e+01_rb,2.5640e+01_rb,9.4489e-01_rb/) kao(:, 2,11,14) = (/ & &2.8915e+02_rb,2.5300e+02_rb,2.1687e+02_rb,1.8072e+02_rb,1.4458e+02_rb,1.0844e+02_rb, & &7.2287e+01_rb,3.6146e+01_rb,1.0101e+00_rb/) kao(:, 3,11,14) = (/ & &3.8981e+02_rb,3.4108e+02_rb,2.9236e+02_rb,2.4364e+02_rb,1.9490e+02_rb,1.4617e+02_rb, & &9.7460e+01_rb,4.8730e+01_rb,5.8913e-01_rb/) kao(:, 4,11,14) = (/ & &5.0429e+02_rb,4.4124e+02_rb,3.7819e+02_rb,3.1515e+02_rb,2.5212e+02_rb,1.8910e+02_rb, & &1.2606e+02_rb,6.3034e+01_rb,1.0227e+00_rb/) kao(:, 5,11,14) = (/ & &6.2985e+02_rb,5.5113e+02_rb,4.7241e+02_rb,3.9368e+02_rb,3.1495e+02_rb,2.3621e+02_rb, & &1.5747e+02_rb,7.8734e+01_rb,3.1704e+00_rb/) kao(:, 1,12,14) = (/ & &2.7480e+02_rb,2.4043e+02_rb,2.0609e+02_rb,1.7173e+02_rb,1.3740e+02_rb,1.0305e+02_rb, & &6.8696e+01_rb,3.4350e+01_rb,1.0331e+00_rb/) kao(:, 2,12,14) = (/ & &3.8434e+02_rb,3.3629e+02_rb,2.8824e+02_rb,2.4020e+02_rb,1.9217e+02_rb,1.4412e+02_rb, & &9.6082e+01_rb,4.8041e+01_rb,1.0697e+00_rb/) kao(:, 3,12,14) = (/ & &5.1835e+02_rb,4.5357e+02_rb,3.8876e+02_rb,3.2398e+02_rb,2.5917e+02_rb,1.9438e+02_rb, & &1.2959e+02_rb,6.4795e+01_rb,6.6152e-01_rb/) kao(:, 4,12,14) = (/ & &6.7292e+02_rb,5.8878e+02_rb,5.0467e+02_rb,4.2055e+02_rb,3.3645e+02_rb,2.5234e+02_rb, & &1.6823e+02_rb,8.4112e+01_rb,1.1390e+00_rb/) kao(:, 5,12,14) = (/ & &8.4273e+02_rb,7.3739e+02_rb,6.3205e+02_rb,5.2668e+02_rb,4.2135e+02_rb,3.1602e+02_rb, & &2.1069e+02_rb,1.0534e+02_rb,2.2409e+00_rb/) kao(:, 1,13,14) = (/ & &2.9725e+02_rb,2.6009e+02_rb,2.2295e+02_rb,1.8578e+02_rb,1.4862e+02_rb,1.1147e+02_rb, & &7.4314e+01_rb,3.7158e+01_rb,8.5883e-01_rb/) kao(:, 2,13,14) = (/ & &4.1294e+02_rb,3.6134e+02_rb,3.0971e+02_rb,2.5809e+02_rb,2.0649e+02_rb,1.5487e+02_rb, & &1.0324e+02_rb,5.1621e+01_rb,7.4403e-01_rb/) kao(:, 3,13,14) = (/ & &5.5484e+02_rb,4.8548e+02_rb,4.1611e+02_rb,3.4677e+02_rb,2.7741e+02_rb,2.0806e+02_rb, & &1.3871e+02_rb,6.9351e+01_rb,6.5779e-01_rb/) kao(:, 4,13,14) = (/ & &7.2016e+02_rb,6.3017e+02_rb,5.4015e+02_rb,4.5013e+02_rb,3.6010e+02_rb,2.7007e+02_rb, & &1.8004e+02_rb,9.0025e+01_rb,1.1133e+00_rb/) kao(:, 5,13,14) = (/ & &9.0551e+02_rb,7.9235e+02_rb,6.7916e+02_rb,5.6596e+02_rb,4.5276e+02_rb,3.3958e+02_rb, & &2.2638e+02_rb,1.1319e+02_rb,2.5474e+00_rb/) kao(:, 1, 1,15) = (/ & &1.6993e-01_rb,6.2319e-01_rb,1.2302e+00_rb,1.8117e+00_rb,2.3534e+00_rb,2.8224e+00_rb, & &3.1427e+00_rb,3.0683e+00_rb,4.7067e+00_rb/) kao(:, 2, 1,15) = (/ & &1.9652e-01_rb,7.8355e-01_rb,1.5463e+00_rb,2.2775e+00_rb,2.9572e+00_rb,3.5450e+00_rb, & &3.9419e+00_rb,3.8320e+00_rb,5.9144e+00_rb/) kao(:, 3, 1,15) = (/ & &2.2200e-01_rb,9.5617e-01_rb,1.8872e+00_rb,2.7806e+00_rb,3.6114e+00_rb,4.3315e+00_rb, & &4.8212e+00_rb,4.6828e+00_rb,7.2228e+00_rb/) kao(:, 4, 1,15) = (/ & &2.4720e-01_rb,1.1411e+00_rb,2.2528e+00_rb,3.3193e+00_rb,4.3116e+00_rb,5.1713e+00_rb, & &5.7552e+00_rb,5.5959e+00_rb,8.6231e+00_rb/) kao(:, 5, 1,15) = (/ & &2.7067e-01_rb,1.3368e+00_rb,2.6392e+00_rb,3.8885e+00_rb,5.0531e+00_rb,6.0617e+00_rb, & &6.7490e+00_rb,6.5681e+00_rb,1.0106e+01_rb/) kao(:, 1, 2,15) = (/ & &2.5495e-01_rb,6.7714e-01_rb,1.3429e+00_rb,1.9911e+00_rb,2.6102e+00_rb,3.1741e+00_rb, & &3.6176e+00_rb,3.6989e+00_rb,5.2204e+00_rb/) kao(:, 2, 2,15) = (/ & &2.9713e-01_rb,8.6139e-01_rb,1.7085e+00_rb,2.5326e+00_rb,3.3191e+00_rb,4.0358e+00_rb, & &4.5977e+00_rb,4.6904e+00_rb,6.6382e+00_rb/) kao(:, 3, 2,15) = (/ & &3.3791e-01_rb,1.0632e+00_rb,2.1089e+00_rb,3.1273e+00_rb,4.0996e+00_rb,4.9862e+00_rb, & &5.6823e+00_rb,5.7948e+00_rb,8.1990e+00_rb/) kao(:, 4, 2,15) = (/ & &3.7751e-01_rb,1.2778e+00_rb,2.5347e+00_rb,3.7591e+00_rb,4.9277e+00_rb,5.9944e+00_rb, & &6.8345e+00_rb,6.9830e+00_rb,9.8554e+00_rb/) kao(:, 5, 2,15) = (/ & &4.1544e-01_rb,1.5054e+00_rb,2.9855e+00_rb,4.4278e+00_rb,5.8067e+00_rb,7.0647e+00_rb, & &8.0557e+00_rb,8.2364e+00_rb,1.1613e+01_rb/) kao(:, 1, 3,15) = (/ & &4.9608e-01_rb,6.8984e-01_rb,1.3746e+00_rb,2.0502e+00_rb,2.7121e+00_rb,3.3455e+00_rb, & &3.9122e+00_rb,4.2490e+00_rb,5.4242e+00_rb/) kao(:, 2, 3,15) = (/ & &5.8591e-01_rb,8.9422e-01_rb,1.7812e+00_rb,2.6579e+00_rb,3.5151e+00_rb,4.3360e+00_rb, & &5.0694e+00_rb,5.5020e+00_rb,7.0303e+00_rb/) kao(:, 3, 3,15) = (/ & &6.7409e-01_rb,1.1231e+00_rb,2.2377e+00_rb,3.3379e+00_rb,4.4153e+00_rb,5.4452e+00_rb, & &6.3666e+00_rb,6.9097e+00_rb,8.8307e+00_rb/) kao(:, 4, 3,15) = (/ & &7.5926e-01_rb,1.3688e+00_rb,2.7271e+00_rb,4.0692e+00_rb,5.3814e+00_rb,6.6410e+00_rb, & &7.7706e+00_rb,8.4452e+00_rb,1.0763e+01_rb/) kao(:, 5, 3,15) = (/ & &8.4200e-01_rb,1.6284e+00_rb,3.2443e+00_rb,4.8405e+00_rb,6.4040e+00_rb,7.9036e+00_rb, & &9.2460e+00_rb,1.0057e+01_rb,1.2808e+01_rb/) kao(:, 1, 4,15) = (/ & &9.7215e-01_rb,8.5067e-01_rb,1.3532e+00_rb,2.0247e+00_rb,2.6895e+00_rb,3.3419e+00_rb, & &3.9624e+00_rb,4.4662e+00_rb,5.3791e+00_rb/) kao(:, 2, 4,15) = (/ & &1.1632e+00_rb,1.0264e+00_rb,1.7937e+00_rb,2.6847e+00_rb,3.5667e+00_rb,4.4317e+00_rb, & &5.2538e+00_rb,5.9212e+00_rb,7.1333e+00_rb/) kao(:, 3, 4,15) = (/ & &1.3574e+00_rb,1.2217e+00_rb,2.2951e+00_rb,3.4352e+00_rb,4.5625e+00_rb,5.6686e+00_rb, & &6.7222e+00_rb,7.5788e+00_rb,9.1250e+00_rb/) kao(:, 4, 4,15) = (/ & &1.5473e+00_rb,1.4621e+00_rb,2.8487e+00_rb,4.2635e+00_rb,5.6651e+00_rb,7.0387e+00_rb, & &8.3491e+00_rb,9.4177e+00_rb,1.1330e+01_rb/) kao(:, 5, 4,15) = (/ & &1.7305e+00_rb,1.7312e+00_rb,3.4330e+00_rb,5.1366e+00_rb,6.8257e+00_rb,8.4825e+00_rb, & &1.0065e+01_rb,1.1356e+01_rb,1.3651e+01_rb/) kao(:, 1, 5,15) = (/ & &1.7388e+00_rb,1.5215e+00_rb,1.3772e+00_rb,1.9641e+00_rb,2.6140e+00_rb,3.2573e+00_rb, & &3.8853e+00_rb,4.4515e+00_rb,5.2280e+00_rb/) kao(:, 2, 5,15) = (/ & &2.1169e+00_rb,1.8521e+00_rb,1.7962e+00_rb,2.6470e+00_rb,3.5230e+00_rb,4.3915e+00_rb, & &5.2396e+00_rb,6.0117e+00_rb,7.0460e+00_rb/) kao(:, 3, 5,15) = (/ & &2.5041e+00_rb,2.1909e+00_rb,2.3110e+00_rb,3.4553e+00_rb,4.5986e+00_rb,5.7308e+00_rb, & &6.8405e+00_rb,7.8473e+00_rb,9.1972e+00_rb/) kao(:, 4, 5,15) = (/ & &2.8915e+00_rb,2.5301e+00_rb,2.9136e+00_rb,4.3640e+00_rb,5.8101e+00_rb,7.2418e+00_rb, & &8.6447e+00_rb,9.9184e+00_rb,1.1620e+01_rb/) kao(:, 5, 5,15) = (/ & &3.2655e+00_rb,2.8574e+00_rb,3.5660e+00_rb,5.3438e+00_rb,7.1123e+00_rb,8.8675e+00_rb, & &1.0583e+01_rb,1.2152e+01_rb,1.4224e+01_rb/) kao(:, 1, 6,15) = (/ & &2.8657e+00_rb,2.5077e+00_rb,2.1495e+00_rb,1.9426e+00_rb,2.5509e+00_rb,3.1827e+00_rb, & &3.8069e+00_rb,4.3973e+00_rb,5.1017e+00_rb/) kao(:, 2, 6,15) = (/ & &3.5656e+00_rb,3.1200e+00_rb,2.6742e+00_rb,2.5857e+00_rb,3.4175e+00_rb,4.2650e+00_rb, & &5.1021e+00_rb,5.8962e+00_rb,6.8350e+00_rb/) kao(:, 3, 6,15) = (/ & &4.2807e+00_rb,3.7458e+00_rb,3.2105e+00_rb,3.3891e+00_rb,4.4929e+00_rb,5.6082e+00_rb, & &6.7100e+00_rb,7.7616e+00_rb,8.9857e+00_rb/) kao(:, 4, 6,15) = (/ & &5.0170e+00_rb,4.3893e+00_rb,3.7667e+00_rb,4.3378e+00_rb,5.7738e+00_rb,7.2087e+00_rb, & &8.6270e+00_rb,9.9837e+00_rb,1.1548e+01_rb/) kao(:, 5, 6,15) = (/ & &5.7403e+00_rb,5.0226e+00_rb,4.3725e+00_rb,5.3984e+00_rb,7.1936e+00_rb,8.9774e+00_rb, & &1.0747e+01_rb,1.2440e+01_rb,1.4387e+01_rb/) kao(:, 1, 7,15) = (/ & &4.9113e+00_rb,4.2974e+00_rb,3.6835e+00_rb,3.0697e+00_rb,2.6153e+00_rb,3.1091e+00_rb, & &3.7251e+00_rb,4.3239e+00_rb,4.9783e+00_rb/) kao(:, 2, 7,15) = (/ & &6.2562e+00_rb,5.4743e+00_rb,4.6920e+00_rb,3.9102e+00_rb,3.4334e+00_rb,4.1812e+00_rb, & &5.0095e+00_rb,5.8168e+00_rb,6.6958e+00_rb/) kao(:, 3, 7,15) = (/ & &7.6604e+00_rb,6.7031e+00_rb,5.7453e+00_rb,4.7880e+00_rb,4.4844e+00_rb,5.5063e+00_rb, & &6.5975e+00_rb,7.6628e+00_rb,8.8178e+00_rb/) kao(:, 4, 7,15) = (/ & &9.1018e+00_rb,7.9643e+00_rb,6.8268e+00_rb,5.7331e+00_rb,5.7498e+00_rb,7.0854e+00_rb, & &8.4900e+00_rb,9.8659e+00_rb,1.1347e+01_rb/) kao(:, 5, 7,15) = (/ & &1.0558e+01_rb,9.2378e+00_rb,7.9183e+00_rb,6.7553e+00_rb,7.1878e+00_rb,8.8933e+00_rb, & &1.0658e+01_rb,1.2385e+01_rb,1.4238e+01_rb/) kao(:, 1, 8,15) = (/ & &1.0009e+01_rb,8.7571e+00_rb,7.5061e+00_rb,6.2547e+00_rb,5.0042e+00_rb,3.7993e+00_rb, & &3.6112e+00_rb,4.2052e+00_rb,4.8194e+00_rb/) kao(:, 2, 8,15) = (/ & &1.3089e+01_rb,1.1454e+01_rb,9.8171e+00_rb,8.1811e+00_rb,6.5451e+00_rb,5.0064e+00_rb, & &4.9059e+00_rb,5.7129e+00_rb,6.5481e+00_rb/) kao(:, 3, 8,15) = (/ & &1.6387e+01_rb,1.4339e+01_rb,1.2290e+01_rb,1.0242e+01_rb,8.1941e+00_rb,6.3517e+00_rb, & &6.5066e+00_rb,7.5778e+00_rb,8.6840e+00_rb/) kao(:, 4, 8,15) = (/ & &1.9809e+01_rb,1.7333e+01_rb,1.4856e+01_rb,1.2381e+01_rb,9.9047e+00_rb,7.9569e+00_rb, & &8.4189e+00_rb,9.8052e+00_rb,1.1235e+01_rb/) kao(:, 5, 8,15) = (/ & &2.3310e+01_rb,2.0396e+01_rb,1.7482e+01_rb,1.4569e+01_rb,1.1654e+01_rb,9.7998e+00_rb, & &1.0613e+01_rb,1.2362e+01_rb,1.4162e+01_rb/) kao(:, 1, 9,15) = (/ & &3.8130e+01_rb,3.3362e+01_rb,2.8596e+01_rb,2.3830e+01_rb,1.9065e+01_rb,1.4298e+01_rb, & &9.5322e+00_rb,4.9254e+00_rb,4.5210e+00_rb/) kao(:, 2, 9,15) = (/ & &5.1350e+01_rb,4.4933e+01_rb,3.8514e+01_rb,3.2094e+01_rb,2.5677e+01_rb,1.9258e+01_rb, & &1.2838e+01_rb,6.6242e+00_rb,6.3225e+00_rb/) kao(:, 3, 9,15) = (/ & &6.5865e+01_rb,5.7633e+01_rb,4.9398e+01_rb,4.1167e+01_rb,3.2931e+01_rb,2.4701e+01_rb, & &1.6465e+01_rb,8.5406e+00_rb,8.4711e+00_rb/) kao(:, 4, 9,15) = (/ & &8.1194e+01_rb,7.1041e+01_rb,6.0891e+01_rb,5.0738e+01_rb,4.0591e+01_rb,3.0449e+01_rb, & &2.0297e+01_rb,1.0902e+01_rb,1.1050e+01_rb/) kao(:, 5, 9,15) = (/ & &9.6976e+01_rb,8.4851e+01_rb,7.2734e+01_rb,6.0609e+01_rb,4.8485e+01_rb,3.6366e+01_rb, & &2.4244e+01_rb,1.3609e+01_rb,1.4022e+01_rb/) kao(:, 1,10,15) = (/ & &1.6495e+02_rb,1.4434e+02_rb,1.2371e+02_rb,1.0308e+02_rb,8.2478e+01_rb,6.1862e+01_rb, & &4.1240e+01_rb,2.0620e+01_rb,1.6305e+00_rb/) kao(:, 2,10,15) = (/ & &2.2828e+02_rb,1.9973e+02_rb,1.7121e+02_rb,1.4267e+02_rb,1.1414e+02_rb,8.5604e+01_rb, & &5.7062e+01_rb,2.8536e+01_rb,5.3393e+00_rb/) kao(:, 3,10,15) = (/ & &2.9925e+02_rb,2.6184e+02_rb,2.2444e+02_rb,1.8703e+02_rb,1.4963e+02_rb,1.1222e+02_rb, & &7.4815e+01_rb,3.7408e+01_rb,8.3308e+00_rb/) kao(:, 4,10,15) = (/ & &3.7719e+02_rb,3.3003e+02_rb,2.8287e+02_rb,2.3573e+02_rb,1.8859e+02_rb,1.4144e+02_rb, & &9.4294e+01_rb,4.7146e+01_rb,1.0953e+01_rb/) kao(:, 5,10,15) = (/ & &4.5955e+02_rb,4.0214e+02_rb,3.4467e+02_rb,2.8724e+02_rb,2.2979e+02_rb,1.7235e+02_rb, & &1.1490e+02_rb,5.7448e+01_rb,1.3975e+01_rb/) kao(:, 1,11,15) = (/ & &2.9347e+02_rb,2.5677e+02_rb,2.2010e+02_rb,1.8342e+02_rb,1.4673e+02_rb,1.1005e+02_rb, & &7.3365e+01_rb,3.6685e+01_rb,2.5030e-01_rb/) kao(:, 2,11,15) = (/ & &4.0846e+02_rb,3.5738e+02_rb,3.0635e+02_rb,2.5530e+02_rb,2.0423e+02_rb,1.5319e+02_rb, & &1.0212e+02_rb,5.1058e+01_rb,2.2261e+00_rb/) kao(:, 3,11,15) = (/ & &5.3934e+02_rb,4.7191e+02_rb,4.0450e+02_rb,3.3708e+02_rb,2.6969e+02_rb,2.0225e+02_rb, & &1.3483e+02_rb,6.7419e+01_rb,7.0745e+00_rb/) kao(:, 4,11,15) = (/ & &6.8280e+02_rb,5.9745e+02_rb,5.1209e+02_rb,4.2676e+02_rb,3.4141e+02_rb,2.5605e+02_rb, & &1.7070e+02_rb,8.5353e+01_rb,1.1909e+01_rb/) kao(:, 5,11,15) = (/ & &8.3619e+02_rb,7.3167e+02_rb,6.2713e+02_rb,5.2262e+02_rb,4.1810e+02_rb,3.1359e+02_rb, & &2.0904e+02_rb,1.0453e+02_rb,1.5372e+01_rb/) kao(:, 1,12,15) = (/ & &3.9587e+02_rb,3.4637e+02_rb,2.9690e+02_rb,2.4742e+02_rb,1.9794e+02_rb,1.4844e+02_rb, & &9.8964e+01_rb,4.9484e+01_rb,3.4642e-05_rb/) kao(:, 2,12,15) = (/ & &5.5272e+02_rb,4.8359e+02_rb,4.1455e+02_rb,3.4543e+02_rb,2.7636e+02_rb,2.0725e+02_rb, & &1.3818e+02_rb,6.9086e+01_rb,1.7207e+00_rb/) kao(:, 3,12,15) = (/ & &7.3408e+02_rb,6.4226e+02_rb,5.5052e+02_rb,4.5884e+02_rb,3.6704e+02_rb,2.7529e+02_rb, & &1.8352e+02_rb,9.1757e+01_rb,6.4555e+00_rb/) kao(:, 4,12,15) = (/ & &9.3778e+02_rb,8.2044e+02_rb,7.0331e+02_rb,5.8607e+02_rb,4.6883e+02_rb,3.5166e+02_rb, & &2.3443e+02_rb,1.1722e+02_rb,1.0884e+01_rb/) kao(:, 5,12,15) = (/ & &1.1629e+03_rb,1.0175e+03_rb,8.7216e+02_rb,7.2684e+02_rb,5.8142e+02_rb,4.3609e+02_rb, & &2.9073e+02_rb,1.4537e+02_rb,1.6871e+01_rb/) kao(:, 1,13,15) = (/ & &4.3408e+02_rb,3.7980e+02_rb,3.2553e+02_rb,2.7129e+02_rb,2.1704e+02_rb,1.6278e+02_rb, & &1.0851e+02_rb,5.4254e+01_rb,3.3387e-01_rb/) kao(:, 2,13,15) = (/ & &6.1113e+02_rb,5.3482e+02_rb,4.5841e+02_rb,3.8201e+02_rb,3.0560e+02_rb,2.2920e+02_rb, & &1.5279e+02_rb,7.6397e+01_rb,3.4060e+00_rb/) kao(:, 3,13,15) = (/ & &8.2033e+02_rb,7.1780e+02_rb,6.1525e+02_rb,5.1272e+02_rb,4.1017e+02_rb,3.0764e+02_rb, & &2.0509e+02_rb,1.0254e+02_rb,7.3848e+00_rb/) kao(:, 4,13,15) = (/ & &1.0623e+03_rb,9.2952e+02_rb,7.9671e+02_rb,6.6390e+02_rb,5.3111e+02_rb,3.9834e+02_rb, & &2.6556e+02_rb,1.3278e+02_rb,1.3310e+01_rb/) kao(:, 5,13,15) = (/ & &1.3308e+03_rb,1.1645e+03_rb,9.9813e+02_rb,8.3174e+02_rb,6.6542e+02_rb,4.9907e+02_rb, & &3.3271e+02_rb,1.6635e+02_rb,1.8499e+01_rb/) kao(:, 1, 1,16) = (/ & &1.7254e-01_rb,6.6462e-01_rb,1.3115e+00_rb,1.9318e+00_rb,2.5084e+00_rb,3.0076e+00_rb, & &3.3449e+00_rb,3.2523e+00_rb,5.0169e+00_rb/) kao(:, 2, 1,16) = (/ & &1.9945e-01_rb,8.1688e-01_rb,1.6118e+00_rb,2.3741e+00_rb,3.0836e+00_rb,3.6966e+00_rb, & &4.1116e+00_rb,3.9980e+00_rb,6.1673e+00_rb/) kao(:, 3, 1,16) = (/ & &2.2510e-01_rb,1.0070e+00_rb,1.9841e+00_rb,2.9159e+00_rb,3.7748e+00_rb,4.5037e+00_rb, & &4.9689e+00_rb,4.7883e+00_rb,7.5495e+00_rb/) kao(:, 4, 1,16) = (/ & &2.5048e-01_rb,1.2252e+00_rb,2.4140e+00_rb,3.5479e+00_rb,4.5928e+00_rb,5.4806e+00_rb, & &6.0471e+00_rb,5.7831e+00_rb,9.1856e+00_rb/) kao(:, 5, 1,16) = (/ & &2.7413e-01_rb,1.4585e+00_rb,2.8735e+00_rb,4.2233e+00_rb,5.4678e+00_rb,6.4913e+00_rb, & &7.1996e+00_rb,6.8835e+00_rb,1.0936e+01_rb/) kao(:, 1, 2,16) = (/ & &2.5949e-01_rb,7.4073e-01_rb,1.4685e+00_rb,2.1764e+00_rb,2.8509e+00_rb,3.4639e+00_rb, & &3.9405e+00_rb,4.0097e+00_rb,5.7017e+00_rb/) kao(:, 2, 2,16) = (/ & &3.0220e-01_rb,9.2128e-01_rb,1.8172e+00_rb,2.6931e+00_rb,3.5460e+00_rb,4.3080e+00_rb, & &4.9007e+00_rb,4.9876e+00_rb,7.0918e+00_rb/) kao(:, 3, 2,16) = (/ & &3.4341e-01_rb,1.1291e+00_rb,2.2360e+00_rb,3.3088e+00_rb,4.3252e+00_rb,5.2383e+00_rb, & &5.9360e+00_rb,6.0318e+00_rb,8.6502e+00_rb/) kao(:, 4, 2,16) = (/ & &3.8325e-01_rb,1.3874e+00_rb,2.7481e+00_rb,4.0666e+00_rb,5.3159e+00_rb,6.4367e+00_rb, & &7.2790e+00_rb,7.3059e+00_rb,1.0632e+01_rb/) kao(:, 5, 2,16) = (/ & &4.2153e-01_rb,1.6660e+00_rb,3.2992e+00_rb,4.8823e+00_rb,6.3819e+00_rb,7.7290e+00_rb, & &8.7410e+00_rb,8.7737e+00_rb,1.2764e+01_rb/) kao(:, 1, 3,16) = (/ & &5.0644e-01_rb,7.8255e-01_rb,1.5587e+00_rb,2.3239e+00_rb,3.0716e+00_rb,3.7848e+00_rb, & &4.4177e+00_rb,4.7740e+00_rb,6.1431e+00_rb/) kao(:, 2, 3,16) = (/ & &5.9759e-01_rb,9.9169e-01_rb,1.9751e+00_rb,2.9450e+00_rb,3.8926e+00_rb,4.7966e+00_rb, & &5.5986e+00_rb,6.0493e+00_rb,7.7852e+00_rb/) kao(:, 3, 3,16) = (/ & &6.8696e-01_rb,1.2186e+00_rb,2.4265e+00_rb,3.6186e+00_rb,4.7825e+00_rb,5.8630e+00_rb, & &6.8786e+00_rb,7.4328e+00_rb,9.5649e+00_rb/) kao(:, 4, 3,16) = (/ & &7.7291e-01_rb,1.5044e+00_rb,2.9942e+00_rb,4.4622e+00_rb,5.8918e+00_rb,7.2471e+00_rb, & &8.4308e+00_rb,9.0321e+00_rb,1.1784e+01_rb/) kao(:, 5, 3,16) = (/ & &8.5655e-01_rb,1.8308e+00_rb,3.6443e+00_rb,5.4303e+00_rb,7.1696e+00_rb,8.8191e+00_rb, & &1.0261e+01_rb,1.0994e+01_rb,1.4339e+01_rb/) kao(:, 1, 4,16) = (/ & &9.9660e-01_rb,8.7187e-01_rb,1.6058e+00_rb,2.4020e+00_rb,3.1900e+00_rb,3.9596e+00_rb, & &4.6884e+00_rb,5.2602e+00_rb,6.3800e+00_rb/) kao(:, 2, 4,16) = (/ & &1.1909e+00_rb,1.0454e+00_rb,2.0813e+00_rb,3.1135e+00_rb,4.1338e+00_rb,5.1320e+00_rb, & &6.0754e+00_rb,6.8176e+00_rb,8.2675e+00_rb/) kao(:, 3, 4,16) = (/ & &1.3883e+00_rb,1.3053e+00_rb,2.6054e+00_rb,3.8972e+00_rb,5.1746e+00_rb,6.4245e+00_rb, & &7.6056e+00_rb,8.5415e+00_rb,1.0349e+01_rb/) kao(:, 4, 4,16) = (/ & &1.5813e+00_rb,1.6017e+00_rb,3.1965e+00_rb,4.7803e+00_rb,6.3446e+00_rb,7.8728e+00_rb, & &9.3118e+00_rb,1.0423e+01_rb,1.2689e+01_rb/) kao(:, 5, 4,16) = (/ & &1.7666e+00_rb,1.9742e+00_rb,3.9398e+00_rb,5.8918e+00_rb,7.8191e+00_rb,9.6976e+00_rb, & &1.1463e+01_rb,1.2804e+01_rb,1.5638e+01_rb/) kao(:, 1, 5,16) = (/ & &1.7905e+00_rb,1.5668e+00_rb,1.6306e+00_rb,2.4424e+00_rb,3.2499e+00_rb,4.0478e+00_rb, & &4.8237e+00_rb,5.5141e+00_rb,6.4998e+00_rb/) kao(:, 2, 5,16) = (/ & &2.1763e+00_rb,1.9041e+00_rb,2.1658e+00_rb,3.2440e+00_rb,4.3166e+00_rb,5.3771e+00_rb, & &6.4071e+00_rb,7.3247e+00_rb,8.6332e+00_rb/) kao(:, 3, 5,16) = (/ & &2.5702e+00_rb,2.2488e+00_rb,2.7671e+00_rb,4.1446e+00_rb,5.5145e+00_rb,6.8692e+00_rb, & &8.1862e+00_rb,9.3584e+00_rb,1.1029e+01_rb/) kao(:, 4, 5,16) = (/ & &2.9652e+00_rb,2.5941e+00_rb,3.4291e+00_rb,5.1370e+00_rb,6.8346e+00_rb,8.5115e+00_rb, & &1.0142e+01_rb,1.1590e+01_rb,1.3669e+01_rb/) kao(:, 5, 5,16) = (/ & &3.3442e+00_rb,2.9260e+00_rb,4.2225e+00_rb,6.3231e+00_rb,8.4117e+00_rb,1.0473e+01_rb, & &1.2473e+01_rb,1.4226e+01_rb,1.6823e+01_rb/) kao(:, 1, 6,16) = (/ & &2.9659e+00_rb,2.5957e+00_rb,2.2251e+00_rb,2.4192e+00_rb,3.2212e+00_rb,4.0191e+00_rb, & &4.8055e+00_rb,5.5432e+00_rb,6.4424e+00_rb/) kao(:, 2, 6,16) = (/ & &3.6832e+00_rb,3.2223e+00_rb,2.7616e+00_rb,3.3057e+00_rb,4.4026e+00_rb,5.4931e+00_rb, & &6.5666e+00_rb,7.5768e+00_rb,8.8051e+00_rb/) kao(:, 3, 6,16) = (/ & &4.4116e+00_rb,3.8604e+00_rb,3.3096e+00_rb,4.3238e+00_rb,5.7589e+00_rb,7.1852e+00_rb, & &8.5905e+00_rb,9.9138e+00_rb,1.1518e+01_rb/) kao(:, 4, 6,16) = (/ & &5.1628e+00_rb,4.5167e+00_rb,3.8530e+00_rb,5.4598e+00_rb,7.2711e+00_rb,9.0722e+00_rb, & &1.0846e+01_rb,1.2515e+01_rb,1.4542e+01_rb/) kao(:, 5, 6,16) = (/ & &5.8968e+00_rb,5.1602e+00_rb,4.5054e+00_rb,6.7527e+00_rb,8.9935e+00_rb,1.1218e+01_rb, & &1.3409e+01_rb,1.5457e+01_rb,1.7987e+01_rb/) kao(:, 1, 7,16) = (/ & &5.1220e+00_rb,4.4578e+00_rb,3.8412e+00_rb,3.1847e+00_rb,3.1367e+00_rb,3.9170e+00_rb, & &4.6915e+00_rb,5.4417e+00_rb,6.2734e+00_rb/) kao(:, 2, 7,16) = (/ & &6.5146e+00_rb,5.7005e+00_rb,4.8852e+00_rb,4.0720e+00_rb,4.4224e+00_rb,5.5237e+00_rb, & &6.6151e+00_rb,7.6744e+00_rb,8.8447e+00_rb/) kao(:, 3, 7,16) = (/ & &7.9642e+00_rb,6.9679e+00_rb,5.9715e+00_rb,4.9772e+00_rb,5.9352e+00_rb,7.4116e+00_rb, & &8.8775e+00_rb,1.0298e+01_rb,1.1870e+01_rb/) kao(:, 4, 7,16) = (/ & &9.4454e+00_rb,8.2650e+00_rb,7.0847e+00_rb,5.9047e+00_rb,7.6537e+00_rb,9.5584e+00_rb, & &1.1448e+01_rb,1.3281e+01_rb,1.5307e+01_rb/) kao(:, 5, 7,16) = (/ & &1.0942e+01_rb,9.5731e+00_rb,8.2052e+00_rb,7.1985e+00_rb,9.5915e+00_rb,1.1978e+01_rb, & &1.4344e+01_rb,1.6634e+01_rb,1.9183e+01_rb/) kao(:, 1, 8,16) = (/ & &1.0533e+01_rb,9.2146e+00_rb,7.8983e+00_rb,6.5814e+00_rb,5.2661e+00_rb,3.9493e+00_rb, & &4.5315e+00_rb,5.2737e+00_rb,6.0497e+00_rb/) kao(:, 2, 8,16) = (/ & &1.3750e+01_rb,1.2032e+01_rb,1.0313e+01_rb,8.5934e+00_rb,6.8745e+00_rb,5.4846e+00_rb, & &6.5763e+00_rb,7.6139e+00_rb,8.7787e+00_rb/) kao(:, 3, 8,16) = (/ & &1.7175e+01_rb,1.5029e+01_rb,1.2881e+01_rb,1.0735e+01_rb,8.5883e+00_rb,7.5634e+00_rb, & &9.0692e+00_rb,1.0555e+01_rb,1.2107e+01_rb/) kao(:, 4, 8,16) = (/ & &2.0707e+01_rb,1.8120e+01_rb,1.5532e+01_rb,1.2944e+01_rb,1.0356e+01_rb,9.9766e+00_rb, & &1.1963e+01_rb,1.3921e+01_rb,1.5970e+01_rb/) kao(:, 5, 8,16) = (/ & &2.4320e+01_rb,2.1282e+01_rb,1.8238e+01_rb,1.5200e+01_rb,1.2161e+01_rb,1.2723e+01_rb, & &1.5254e+01_rb,1.7752e+01_rb,2.0364e+01_rb/) kao(:, 1, 9,16) = (/ & &4.0363e+01_rb,3.5318e+01_rb,3.0273e+01_rb,2.5227e+01_rb,2.0181e+01_rb,1.5134e+01_rb, & &1.0090e+01_rb,5.4212e+00_rb,6.1996e+00_rb/) kao(:, 2, 9,16) = (/ & &5.4231e+01_rb,4.7444e+01_rb,4.0667e+01_rb,3.3896e+01_rb,2.7114e+01_rb,2.0336e+01_rb, & &1.3557e+01_rb,7.4876e+00_rb,8.5638e+00_rb/) kao(:, 3, 9,16) = (/ & &6.9375e+01_rb,6.0706e+01_rb,5.2030e+01_rb,4.3363e+01_rb,3.4693e+01_rb,2.6019e+01_rb, & &1.7346e+01_rb,1.0642e+01_rb,1.2169e+01_rb/) kao(:, 4, 9,16) = (/ & &8.5364e+01_rb,7.4694e+01_rb,6.4003e+01_rb,5.3349e+01_rb,4.2675e+01_rb,3.2007e+01_rb, & &2.1338e+01_rb,1.4379e+01_rb,1.6444e+01_rb/) kao(:, 5, 9,16) = (/ & &1.0173e+02_rb,8.9011e+01_rb,7.6294e+01_rb,6.3578e+01_rb,5.0858e+01_rb,3.8147e+01_rb, & &2.5431e+01_rb,1.8715e+01_rb,2.1406e+01_rb/) kao(:, 1,10,16) = (/ & &1.7518e+02_rb,1.5326e+02_rb,1.3138e+02_rb,1.0946e+02_rb,8.7589e+01_rb,6.5684e+01_rb, & &4.3795e+01_rb,2.1898e+01_rb,6.6096e+00_rb/) kao(:, 2,10,16) = (/ & &2.4209e+02_rb,2.1181e+02_rb,1.8152e+02_rb,1.5127e+02_rb,1.2102e+02_rb,9.0779e+01_rb, & &6.0510e+01_rb,3.0258e+01_rb,8.7477e+00_rb/) kao(:, 3,10,16) = (/ & &3.1702e+02_rb,2.7739e+02_rb,2.3777e+02_rb,1.9810e+02_rb,1.5849e+02_rb,1.1888e+02_rb, & &7.9249e+01_rb,3.9623e+01_rb,1.2377e+01_rb/) kao(:, 4,10,16) = (/ & &3.9791e+02_rb,3.4817e+02_rb,2.9841e+02_rb,2.4869e+02_rb,1.9896e+02_rb,1.4923e+02_rb, & &9.9472e+01_rb,4.9736e+01_rb,1.7102e+01_rb/) kao(:, 5,10,16) = (/ & &4.8342e+02_rb,4.2295e+02_rb,3.6251e+02_rb,3.0211e+02_rb,2.4169e+02_rb,1.8128e+02_rb, & &1.2083e+02_rb,6.0427e+01_rb,2.2752e+01_rb/) kao(:, 1,11,16) = (/ & &3.1380e+02_rb,2.7453e+02_rb,2.3526e+02_rb,1.9609e+02_rb,1.5686e+02_rb,1.1764e+02_rb, & &7.8455e+01_rb,3.9219e+01_rb,4.1702e-05_rb/) kao(:, 2,11,16) = (/ & &4.3458e+02_rb,3.8032e+02_rb,3.2596e+02_rb,2.7165e+02_rb,2.1736e+02_rb,1.6300e+02_rb, & &1.0866e+02_rb,5.4331e+01_rb,1.0603e+01_rb/) kao(:, 3,11,16) = (/ & &5.7279e+02_rb,5.0121e+02_rb,4.2963e+02_rb,3.5802e+02_rb,2.8639e+02_rb,2.1479e+02_rb, & &1.4321e+02_rb,7.1606e+01_rb,1.4737e+01_rb/) kao(:, 4,11,16) = (/ & &7.2603e+02_rb,6.3199e+02_rb,5.4450e+02_rb,4.5379e+02_rb,3.6299e+02_rb,2.7226e+02_rb, & &1.8150e+02_rb,9.0755e+01_rb,2.0418e+01_rb/) kao(:, 5,11,16) = (/ & &8.9810e+02_rb,7.8584e+02_rb,6.7355e+02_rb,5.6126e+02_rb,4.4901e+02_rb,3.3674e+02_rb, & &2.2451e+02_rb,1.1225e+02_rb,2.7345e+01_rb/) kao(:, 1,12,16) = (/ & &4.2564e+02_rb,3.7252e+02_rb,3.1927e+02_rb,2.6605e+02_rb,2.1287e+02_rb,1.5962e+02_rb, & &1.0643e+02_rb,5.3212e+01_rb,3.3974e-05_rb/) kao(:, 2,12,16) = (/ & &5.9696e+02_rb,5.2232e+02_rb,4.4774e+02_rb,3.7307e+02_rb,2.9847e+02_rb,2.2385e+02_rb, & &1.4924e+02_rb,7.4619e+01_rb,1.2841e+01_rb/) kao(:, 3,12,16) = (/ & &8.0130e+02_rb,7.0109e+02_rb,6.0095e+02_rb,5.0082e+02_rb,4.0064e+02_rb,3.0049e+02_rb, & &2.0030e+02_rb,1.0016e+02_rb,1.7604e+01_rb/) kao(:, 4,12,16) = (/ & &1.0424e+03_rb,9.1209e+02_rb,7.8186e+02_rb,6.5151e+02_rb,5.2121e+02_rb,3.9092e+02_rb, & &2.6059e+02_rb,1.3030e+02_rb,2.4408e+01_rb/) kao(:, 5,12,16) = (/ & &1.3107e+03_rb,1.1467e+03_rb,9.8296e+02_rb,8.1915e+02_rb,6.5538e+02_rb,4.9148e+02_rb, & &3.2766e+02_rb,1.6385e+02_rb,3.2853e+01_rb/) kao(:, 1,13,16) = (/ & &4.8122e+02_rb,4.2105e+02_rb,3.6087e+02_rb,3.0076e+02_rb,2.4060e+02_rb,1.8046e+02_rb, & &1.2030e+02_rb,6.0148e+01_rb,7.3993e+00_rb/) kao(:, 2,13,16) = (/ & &6.9206e+02_rb,6.0557e+02_rb,5.1907e+02_rb,4.3255e+02_rb,3.4603e+02_rb,2.5955e+02_rb, & &1.7302e+02_rb,8.6508e+01_rb,1.5501e+01_rb/) kao(:, 3,13,16) = (/ & &9.4703e+02_rb,8.2867e+02_rb,7.1030e+02_rb,5.9189e+02_rb,4.7354e+02_rb,3.5512e+02_rb, & &2.3675e+02_rb,1.1838e+02_rb,2.1029e+01_rb/) kao(:, 4,13,16) = (/ & &1.2338e+03_rb,1.0854e+03_rb,9.3026e+02_rb,7.7526e+02_rb,6.2018e+02_rb,4.6513e+02_rb, & &3.1009e+02_rb,1.5423e+02_rb,2.9122e+01_rb/) kao(:, 5,13,16) = (/ & &1.5695e+03_rb,1.3734e+03_rb,1.1772e+03_rb,9.8104e+02_rb,7.8484e+02_rb,5.8860e+02_rb, & &3.9240e+02_rb,1.9620e+02_rb,3.9289e+01_rb/) ! The array KAO contains absorption coefs for each of the 16 g-intervals ! for a range of pressure levels > ~100mb, temperatures, and ratios ! of water vapor to CO2. The first index in the array, JS, runs ! from 1 to 10, and corresponds to different gas column amount ratios, ! as expressed through the binary species parameter eta, defined as ! eta = gas1/(gas1 + (rat) * gas2), where rat is the ! ratio of the reference MLS column amount value of gas 1 ! to that of gas2. ! The 2nd index in the array, JT, which runs from 1 to 5, corresponds ! to different temperatures. More specifically, JT = 3 means that the ! data are for the reference temperature TREF for this pressure ! level, JT = 2 refers to the temperature ! TREF-15, JT = 1 is for TREF-30, JT = 4 is for TREF+15, and JT = 5 ! is for TREF+30. The third index, JP, runs from 1 to 13 and refers ! to the reference pressure level (e.g. JP = 1 is for a ! pressure of 1053.63 mb). The fourth index, IG, goes from 1 to 16, ! and tells us which g-interval the absorption coefficients are for. kbo(:, 1,13, 1) = (/ & &9.4796e-05_rb,1.4361e-04_rb,1.4118e-04_rb,1.1819e-04_rb,7.6303e-05_rb/) kbo(:, 2,13, 1) = (/ & &9.7387e-05_rb,1.7115e-04_rb,1.7300e-04_rb,1.4824e-04_rb,1.0469e-04_rb/) kbo(:, 3,13, 1) = (/ & &1.0951e-04_rb,2.1604e-04_rb,2.2323e-04_rb,1.9350e-04_rb,1.3818e-04_rb/) kbo(:, 4,13, 1) = (/ & &1.3449e-04_rb,2.8552e-04_rb,2.9728e-04_rb,2.5764e-04_rb,1.7597e-04_rb/) kbo(:, 5,13, 1) = (/ & &1.7577e-04_rb,3.8714e-04_rb,4.0359e-04_rb,3.4654e-04_rb,2.1851e-04_rb/) kbo(:, 1,14, 1) = (/ & &7.9000e-05_rb,1.2113e-04_rb,1.1920e-04_rb,9.9664e-05_rb,6.3646e-05_rb/) kbo(:, 2,14, 1) = (/ & &8.1870e-05_rb,1.4526e-04_rb,1.4705e-04_rb,1.2557e-04_rb,8.6376e-05_rb/) kbo(:, 3,14, 1) = (/ & &9.2975e-05_rb,1.8451e-04_rb,1.9063e-04_rb,1.6489e-04_rb,1.1348e-04_rb/) kbo(:, 4,14, 1) = (/ & &1.1499e-04_rb,2.4478e-04_rb,2.5460e-04_rb,2.2031e-04_rb,1.4451e-04_rb/) kbo(:, 5,14, 1) = (/ & &1.5077e-04_rb,3.3228e-04_rb,3.4580e-04_rb,2.9716e-04_rb,1.7798e-04_rb/) kbo(:, 1,15, 1) = (/ & &6.3146e-05_rb,9.9373e-05_rb,9.8373e-05_rb,8.2691e-05_rb,5.2397e-05_rb/) kbo(:, 2,15, 1) = (/ & &6.6078e-05_rb,1.2006e-04_rb,1.2228e-04_rb,1.0469e-04_rb,7.0411e-05_rb/) kbo(:, 3,15, 1) = (/ & &7.5821e-05_rb,1.5360e-04_rb,1.5869e-04_rb,1.3814e-04_rb,9.1603e-05_rb/) kbo(:, 4,15, 1) = (/ & &9.4372e-05_rb,2.0448e-04_rb,2.1279e-04_rb,1.8521e-04_rb,1.1587e-04_rb/) kbo(:, 5,15, 1) = (/ & &1.2416e-04_rb,2.7753e-04_rb,2.8967e-04_rb,2.5010e-04_rb,1.4409e-04_rb/) kbo(:, 1,16, 1) = (/ & &4.9335e-05_rb,8.0237e-05_rb,8.0247e-05_rb,6.8036e-05_rb,4.2623e-05_rb/) kbo(:, 2,16, 1) = (/ & &5.2173e-05_rb,9.7834e-05_rb,1.0022e-04_rb,8.6725e-05_rb,5.7211e-05_rb/) kbo(:, 3,16, 1) = (/ & &6.0461e-05_rb,1.2605e-04_rb,1.3061e-04_rb,1.1470e-04_rb,7.4324e-05_rb/) kbo(:, 4,16, 1) = (/ & &7.5694e-05_rb,1.6827e-04_rb,1.7572e-04_rb,1.5404e-04_rb,9.3686e-05_rb/) kbo(:, 5,16, 1) = (/ & &9.9955e-05_rb,2.2866e-04_rb,2.3956e-04_rb,2.0826e-04_rb,1.1548e-04_rb/) kbo(:, 1,17, 1) = (/ & &3.8266e-05_rb,6.4449e-05_rb,6.5172e-05_rb,5.5789e-05_rb,3.5130e-05_rb/) kbo(:, 2,17, 1) = (/ & &4.0895e-05_rb,7.9297e-05_rb,8.1758e-05_rb,7.1548e-05_rb,4.6781e-05_rb/) kbo(:, 3,17, 1) = (/ & &4.7807e-05_rb,1.0278e-04_rb,1.0697e-04_rb,9.4840e-05_rb,6.0133e-05_rb/) kbo(:, 4,17, 1) = (/ & &6.0159e-05_rb,1.3765e-04_rb,1.4446e-04_rb,1.2759e-04_rb,7.5139e-05_rb/) kbo(:, 5,17, 1) = (/ & &7.9747e-05_rb,1.8704e-04_rb,1.9692e-04_rb,1.7259e-04_rb,9.1648e-05_rb/) kbo(:, 1,18, 1) = (/ & &2.9184e-05_rb,5.1211e-05_rb,5.2362e-05_rb,4.5451e-05_rb,2.8937e-05_rb/) kbo(:, 2,18, 1) = (/ & &3.1502e-05_rb,6.3605e-05_rb,6.6096e-05_rb,5.8591e-05_rb,3.8202e-05_rb/) kbo(:, 3,18, 1) = (/ & &3.7129e-05_rb,8.2865e-05_rb,8.6932e-05_rb,7.7931e-05_rb,4.8777e-05_rb/) kbo(:, 4,18, 1) = (/ & &4.6953e-05_rb,1.1128e-04_rb,1.1763e-04_rb,1.0496e-04_rb,6.0806e-05_rb/) kbo(:, 5,18, 1) = (/ & &6.2502e-05_rb,1.5129e-04_rb,1.6025e-04_rb,1.4184e-04_rb,7.4536e-05_rb/) kbo(:, 1,19, 1) = (/ & &2.2672e-05_rb,4.1242e-05_rb,4.2527e-05_rb,3.7342e-05_rb,2.3934e-05_rb/) kbo(:, 2,19, 1) = (/ & &2.4699e-05_rb,5.1600e-05_rb,5.3953e-05_rb,4.8350e-05_rb,3.1473e-05_rb/) kbo(:, 3,19, 1) = (/ & &2.9334e-05_rb,6.7547e-05_rb,7.1294e-05_rb,6.4461e-05_rb,4.0025e-05_rb/) kbo(:, 4,19, 1) = (/ & &3.7286e-05_rb,9.0838e-05_rb,9.6625e-05_rb,8.6862e-05_rb,4.9869e-05_rb/) kbo(:, 5,19, 1) = (/ & &4.9822e-05_rb,1.2352e-04_rb,1.3152e-04_rb,1.1713e-04_rb,6.1219e-05_rb/) kbo(:, 1,20, 1) = (/ & &1.8003e-05_rb,3.3802e-05_rb,3.5042e-05_rb,3.1068e-05_rb,2.0074e-05_rb/) kbo(:, 2,20, 1) = (/ & &1.9811e-05_rb,4.2600e-05_rb,4.4765e-05_rb,4.0426e-05_rb,2.6188e-05_rb/) kbo(:, 3,20, 1) = (/ & &2.3740e-05_rb,5.5990e-05_rb,5.9400e-05_rb,5.4019e-05_rb,3.3275e-05_rb/) kbo(:, 4,20, 1) = (/ & &3.0362e-05_rb,7.5435e-05_rb,8.0630e-05_rb,7.2808e-05_rb,4.1380e-05_rb/) kbo(:, 5,20, 1) = (/ & &4.0743e-05_rb,1.0263e-04_rb,1.0963e-04_rb,9.7998e-05_rb,5.0442e-05_rb/) kbo(:, 1,21, 1) = (/ & &1.4410e-05_rb,2.7872e-05_rb,2.9027e-05_rb,2.5943e-05_rb,1.6820e-05_rb/) kbo(:, 2,21, 1) = (/ & &1.6018e-05_rb,3.5348e-05_rb,3.7320e-05_rb,3.3900e-05_rb,2.1893e-05_rb/) kbo(:, 3,21, 1) = (/ & &1.9364e-05_rb,4.6630e-05_rb,4.9701e-05_rb,4.5376e-05_rb,2.7723e-05_rb/) kbo(:, 4,21, 1) = (/ & &2.4923e-05_rb,6.2936e-05_rb,6.7505e-05_rb,6.1129e-05_rb,3.4253e-05_rb/) kbo(:, 5,21, 1) = (/ & &3.3581e-05_rb,8.5657e-05_rb,9.1740e-05_rb,8.2183e-05_rb,4.1502e-05_rb/) kbo(:, 1,22, 1) = (/ & &1.1606e-05_rb,2.3345e-05_rb,2.4458e-05_rb,2.2044e-05_rb,1.4341e-05_rb/) kbo(:, 2,22, 1) = (/ & &1.3108e-05_rb,2.9860e-05_rb,3.1703e-05_rb,2.8973e-05_rb,1.8544e-05_rb/) kbo(:, 3,22, 1) = (/ & &1.6058e-05_rb,3.9598e-05_rb,4.2399e-05_rb,3.8843e-05_rb,2.3272e-05_rb/) kbo(:, 4,22, 1) = (/ & &2.0871e-05_rb,5.3592e-05_rb,5.7668e-05_rb,5.2303e-05_rb,2.8594e-05_rb/) kbo(:, 5,22, 1) = (/ & &2.8287e-05_rb,7.2910e-05_rb,7.8274e-05_rb,7.0191e-05_rb,3.4495e-05_rb/) kbo(:, 1,23, 1) = (/ & &9.3973e-06_rb,1.9636e-05_rb,2.0704e-05_rb,1.8793e-05_rb,1.2204e-05_rb/) kbo(:, 2,23, 1) = (/ & &1.0787e-05_rb,2.5322e-05_rb,2.7025e-05_rb,2.4831e-05_rb,1.5654e-05_rb/) kbo(:, 3,23, 1) = (/ & &1.3385e-05_rb,3.3729e-05_rb,3.6290e-05_rb,3.3307e-05_rb,1.9609e-05_rb/) kbo(:, 4,23, 1) = (/ & &1.7566e-05_rb,4.5745e-05_rb,4.9368e-05_rb,4.4833e-05_rb,2.3893e-05_rb/) kbo(:, 5,23, 1) = (/ & &2.3931e-05_rb,6.2215e-05_rb,6.6919e-05_rb,6.0045e-05_rb,2.8668e-05_rb/) kbo(:, 1,24, 1) = (/ & &7.7170e-06_rb,1.6679e-05_rb,1.7685e-05_rb,1.6128e-05_rb,1.0358e-05_rb/) kbo(:, 2,24, 1) = (/ & &9.0120e-06_rb,2.1659e-05_rb,2.3221e-05_rb,2.1395e-05_rb,1.3206e-05_rb/) kbo(:, 3,24, 1) = (/ & &1.1319e-05_rb,2.8989e-05_rb,3.1289e-05_rb,2.8717e-05_rb,1.6361e-05_rb/) kbo(:, 4,24, 1) = (/ & &1.4992e-05_rb,3.9385e-05_rb,4.2555e-05_rb,3.8633e-05_rb,1.9891e-05_rb/) kbo(:, 5,24, 1) = (/ & &2.0520e-05_rb,5.3479e-05_rb,5.7600e-05_rb,5.1654e-05_rb,2.3746e-05_rb/) kbo(:, 1,25, 1) = (/ & &6.3838e-06_rb,1.4248e-05_rb,1.5168e-05_rb,1.3906e-05_rb,8.8251e-06_rb/) kbo(:, 2,25, 1) = (/ & &7.5878e-06_rb,1.8635e-05_rb,2.0050e-05_rb,1.8513e-05_rb,1.1119e-05_rb/) kbo(:, 3,25, 1) = (/ & &9.6475e-06_rb,2.5052e-05_rb,2.7110e-05_rb,2.4846e-05_rb,1.3734e-05_rb/) kbo(:, 4,25, 1) = (/ & &1.2889e-05_rb,3.4075e-05_rb,3.6834e-05_rb,3.3385e-05_rb,1.6609e-05_rb/) kbo(:, 5,25, 1) = (/ & &1.7706e-05_rb,4.6181e-05_rb,4.9751e-05_rb,4.4544e-05_rb,1.9735e-05_rb/) kbo(:, 1,26, 1) = (/ & &5.3393e-06_rb,1.2288e-05_rb,1.3132e-05_rb,1.2096e-05_rb,7.5264e-06_rb/) kbo(:, 2,26, 1) = (/ & &6.4609e-06_rb,1.6189e-05_rb,1.7467e-05_rb,1.6131e-05_rb,9.4332e-06_rb/) kbo(:, 3,26, 1) = (/ & &8.3200e-06_rb,2.1853e-05_rb,2.3681e-05_rb,2.1653e-05_rb,1.1593e-05_rb/) kbo(:, 4,26, 1) = (/ & &1.1209e-05_rb,2.9737e-05_rb,3.2133e-05_rb,2.9046e-05_rb,1.3941e-05_rb/) kbo(:, 5,26, 1) = (/ & &1.5443e-05_rb,4.0196e-05_rb,4.3302e-05_rb,3.8639e-05_rb,1.6481e-05_rb/) kbo(:, 1,27, 1) = (/ & &4.5029e-06_rb,1.0646e-05_rb,1.1429e-05_rb,1.0549e-05_rb,6.4263e-06_rb/) kbo(:, 2,27, 1) = (/ & &5.5408e-06_rb,1.4124e-05_rb,1.5272e-05_rb,1.4080e-05_rb,8.0128e-06_rb/) kbo(:, 3,27, 1) = (/ & &7.2235e-06_rb,1.9128e-05_rb,2.0734e-05_rb,1.8902e-05_rb,9.7874e-06_rb/) kbo(:, 4,27, 1) = (/ & &9.8044e-06_rb,2.6022e-05_rb,2.8102e-05_rb,2.5321e-05_rb,1.1642e-05_rb/) kbo(:, 5,27, 1) = (/ & &1.3531e-05_rb,3.5058e-05_rb,3.7762e-05_rb,3.3580e-05_rb,1.3712e-05_rb/) kbo(:, 1,28, 1) = (/ & &3.8267e-06_rb,9.2605e-06_rb,9.9753e-06_rb,9.2087e-06_rb,5.4910e-06_rb/) kbo(:, 2,28, 1) = (/ & &4.7813e-06_rb,1.2361e-05_rb,1.3381e-05_rb,1.2301e-05_rb,6.7809e-06_rb/) kbo(:, 3,28, 1) = (/ & &6.3052e-06_rb,1.6784e-05_rb,1.8184e-05_rb,1.6520e-05_rb,8.1872e-06_rb/) kbo(:, 4,28, 1) = (/ & &8.6092e-06_rb,2.2800e-05_rb,2.4603e-05_rb,2.2078e-05_rb,9.6541e-06_rb/) kbo(:, 5,28, 1) = (/ & &1.1891e-05_rb,3.0613e-05_rb,3.2964e-05_rb,2.9199e-05_rb,1.1371e-05_rb/) kbo(:, 1,29, 1) = (/ & &3.2554e-06_rb,8.0646e-06_rb,8.7115e-06_rb,8.0443e-06_rb,4.6597e-06_rb/) kbo(:, 2,29, 1) = (/ & &4.1267e-06_rb,1.0826e-05_rb,1.1737e-05_rb,1.0754e-05_rb,5.7169e-06_rb/) kbo(:, 3,29, 1) = (/ & &5.4998e-06_rb,1.4722e-05_rb,1.5944e-05_rb,1.4441e-05_rb,6.8326e-06_rb/) kbo(:, 4,29, 1) = (/ & &7.5454e-06_rb,1.9957e-05_rb,2.1533e-05_rb,1.9256e-05_rb,8.0674e-06_rb/) kbo(:, 5,29, 1) = (/ & &1.0421e-05_rb,2.6692e-05_rb,2.8752e-05_rb,2.5378e-05_rb,9.4635e-06_rb/) kbo(:, 1,30, 1) = (/ & &2.7722e-06_rb,7.0257e-06_rb,7.6070e-06_rb,7.0209e-06_rb,3.9148e-06_rb/) kbo(:, 2,30, 1) = (/ & &3.5629e-06_rb,9.4753e-06_rb,1.0287e-05_rb,9.3951e-06_rb,4.7641e-06_rb/) kbo(:, 3,30, 1) = (/ & &4.7932e-06_rb,1.2893e-05_rb,1.3959e-05_rb,1.2600e-05_rb,5.6708e-06_rb/) kbo(:, 4,30, 1) = (/ & &6.5982e-06_rb,1.7431e-05_rb,1.8810e-05_rb,1.6759e-05_rb,6.6902e-06_rb/) kbo(:, 5,30, 1) = (/ & &9.1066e-06_rb,2.3231e-05_rb,2.5041e-05_rb,2.2031e-05_rb,7.8394e-06_rb/) kbo(:, 1,31, 1) = (/ & &2.3506e-06_rb,6.1052e-06_rb,6.6305e-06_rb,6.1196e-06_rb,3.2861e-06_rb/) kbo(:, 2,31, 1) = (/ & &3.0616e-06_rb,8.2670e-06_rb,8.9874e-06_rb,8.1933e-06_rb,3.9690e-06_rb/) kbo(:, 3,31, 1) = (/ & &4.1518e-06_rb,1.1245e-05_rb,1.2180e-05_rb,1.0973e-05_rb,4.7077e-06_rb/) kbo(:, 4,31, 1) = (/ & &5.7278e-06_rb,1.5154e-05_rb,1.6366e-05_rb,1.4549e-05_rb,5.5398e-06_rb/) kbo(:, 5,31, 1) = (/ & &7.8906e-06_rb,2.0109e-05_rb,2.1708e-05_rb,1.9053e-05_rb,6.4566e-06_rb/) kbo(:, 1,32, 1) = (/ & &2.0097e-06_rb,5.3323e-06_rb,5.8021e-06_rb,5.3502e-06_rb,2.7241e-06_rb/) kbo(:, 2,32, 1) = (/ & &2.6508e-06_rb,7.2383e-06_rb,7.8773e-06_rb,7.1648e-06_rb,3.2755e-06_rb/) kbo(:, 3,32, 1) = (/ & &3.6184e-06_rb,9.8348e-06_rb,1.0656e-05_rb,9.5737e-06_rb,3.8774e-06_rb/) kbo(:, 4,32, 1) = (/ & &4.9951e-06_rb,1.3205e-05_rb,1.4271e-05_rb,1.2656e-05_rb,4.5194e-06_rb/) kbo(:, 5,32, 1) = (/ & &6.8654e-06_rb,1.7445e-05_rb,1.8860e-05_rb,1.6511e-05_rb,5.2597e-06_rb/) kbo(:, 1,33, 1) = (/ & &1.7307e-06_rb,4.6719e-06_rb,5.0926e-06_rb,4.6864e-06_rb,2.2504e-06_rb/) kbo(:, 2,33, 1) = (/ & &2.3079e-06_rb,6.3540e-06_rb,6.9152e-06_rb,6.2764e-06_rb,2.6926e-06_rb/) kbo(:, 3,33, 1) = (/ & &3.1665e-06_rb,8.6147e-06_rb,9.3343e-06_rb,8.3614e-06_rb,3.1814e-06_rb/) kbo(:, 4,33, 1) = (/ & &4.3731e-06_rb,1.1528e-05_rb,1.2464e-05_rb,1.1023e-05_rb,3.7164e-06_rb/) kbo(:, 5,33, 1) = (/ & &5.9878e-06_rb,1.5151e-05_rb,1.6400e-05_rb,1.4316e-05_rb,4.2974e-06_rb/) kbo(:, 1,34, 1) = (/ & &1.4981e-06_rb,4.0834e-06_rb,4.4531e-06_rb,4.0843e-06_rb,1.8539e-06_rb/) kbo(:, 2,34, 1) = (/ & &2.0150e-06_rb,5.5569e-06_rb,6.0419e-06_rb,5.4716e-06_rb,2.2285e-06_rb/) kbo(:, 3,34, 1) = (/ & &2.7725e-06_rb,7.5151e-06_rb,8.1387e-06_rb,7.2690e-06_rb,2.6334e-06_rb/) kbo(:, 4,34, 1) = (/ & &3.8256e-06_rb,1.0019e-05_rb,1.0836e-05_rb,9.5549e-06_rb,3.0709e-06_rb/) kbo(:, 5,34, 1) = (/ & &5.2217e-06_rb,1.3116e-05_rb,1.4207e-05_rb,1.2368e-05_rb,3.5492e-06_rb/) kbo(:, 1,35, 1) = (/ & &1.2683e-06_rb,3.4717e-06_rb,3.7843e-06_rb,3.4639e-06_rb,1.5033e-06_rb/) kbo(:, 2,35, 1) = (/ & &1.7130e-06_rb,4.7242e-06_rb,5.1321e-06_rb,4.6386e-06_rb,1.8045e-06_rb/) kbo(:, 3,35, 1) = (/ & &2.3598e-06_rb,6.3794e-06_rb,6.9043e-06_rb,6.1552e-06_rb,2.1312e-06_rb/) kbo(:, 4,35, 1) = (/ & &3.2533e-06_rb,8.4861e-06_rb,9.1773e-06_rb,8.0771e-06_rb,2.4797e-06_rb/) kbo(:, 5,35, 1) = (/ & &4.4317e-06_rb,1.1084e-05_rb,1.2009e-05_rb,1.0436e-05_rb,2.8460e-06_rb/) kbo(:, 1,36, 1) = (/ & &1.0446e-06_rb,2.8596e-06_rb,3.1142e-06_rb,2.8488e-06_rb,1.1841e-06_rb/) kbo(:, 2,36, 1) = (/ & &1.4115e-06_rb,3.8911e-06_rb,4.2236e-06_rb,3.8148e-06_rb,1.4188e-06_rb/) kbo(:, 3,36, 1) = (/ & &1.9447e-06_rb,5.2529e-06_rb,5.6822e-06_rb,5.0612e-06_rb,1.6763e-06_rb/) kbo(:, 4,36, 1) = (/ & &2.6806e-06_rb,6.9854e-06_rb,7.5506e-06_rb,6.6402e-06_rb,1.9492e-06_rb/) kbo(:, 5,36, 1) = (/ & &3.6503e-06_rb,9.1210e-06_rb,9.8800e-06_rb,8.5784e-06_rb,2.2478e-06_rb/) kbo(:, 1,37, 1) = (/ & &8.3141e-07_rb,2.2606e-06_rb,2.4589e-06_rb,2.2521e-06_rb,9.1953e-07_rb/) kbo(:, 2,37, 1) = (/ & &1.1186e-06_rb,3.0759e-06_rb,3.3374e-06_rb,3.0170e-06_rb,1.1075e-06_rb/) kbo(:, 3,37, 1) = (/ & &1.5392e-06_rb,4.1590e-06_rb,4.4972e-06_rb,4.0085e-06_rb,1.3109e-06_rb/) kbo(:, 4,37, 1) = (/ & &2.1232e-06_rb,5.5433e-06_rb,5.9872e-06_rb,5.2697e-06_rb,1.5318e-06_rb/) kbo(:, 5,37, 1) = (/ & &2.8971e-06_rb,7.2549e-06_rb,7.8520e-06_rb,6.8216e-06_rb,1.7720e-06_rb/) kbo(:, 1,38, 1) = (/ & &6.6100e-07_rb,1.7834e-06_rb,1.9371e-06_rb,1.7763e-06_rb,7.1225e-07_rb/) kbo(:, 2,38, 1) = (/ & &8.8499e-07_rb,2.4255e-06_rb,2.6307e-06_rb,2.3793e-06_rb,8.6302e-07_rb/) kbo(:, 3,38, 1) = (/ & &1.2155e-06_rb,3.2848e-06_rb,3.5503e-06_rb,3.1675e-06_rb,1.0267e-06_rb/) kbo(:, 4,38, 1) = (/ & &1.6779e-06_rb,4.3885e-06_rb,4.7364e-06_rb,4.1721e-06_rb,1.2041e-06_rb/) kbo(:, 5,38, 1) = (/ & &2.2938e-06_rb,5.7578e-06_rb,6.2256e-06_rb,5.4129e-06_rb,1.3941e-06_rb/) kbo(:, 1,39, 1) = (/ & &5.2622e-07_rb,1.4074e-06_rb,1.5268e-06_rb,1.4013e-06_rb,5.4821e-07_rb/) kbo(:, 2,39, 1) = (/ & &7.0069e-07_rb,1.9130e-06_rb,2.0737e-06_rb,1.8765e-06_rb,6.6832e-07_rb/) kbo(:, 3,39, 1) = (/ & &9.6029e-07_rb,2.5942e-06_rb,2.8023e-06_rb,2.5024e-06_rb,8.0073e-07_rb/) kbo(:, 4,39, 1) = (/ & &1.3259e-06_rb,3.4737e-06_rb,3.7464e-06_rb,3.3022e-06_rb,9.3841e-07_rb/) kbo(:, 5,39, 1) = (/ & &1.8162e-06_rb,4.5691e-06_rb,4.9354e-06_rb,4.2944e-06_rb,1.0896e-06_rb/) kbo(:, 1,40, 1) = (/ & &4.1271e-07_rb,1.0842e-06_rb,1.1736e-06_rb,1.0777e-06_rb,4.1787e-07_rb/) kbo(:, 2,40, 1) = (/ & &5.4389e-07_rb,1.4709e-06_rb,1.5926e-06_rb,1.4421e-06_rb,5.1017e-07_rb/) kbo(:, 3,40, 1) = (/ & &7.4188e-07_rb,1.9982e-06_rb,2.1561e-06_rb,1.9284e-06_rb,6.1575e-07_rb/) kbo(:, 4,40, 1) = (/ & &1.0242e-06_rb,2.6854e-06_rb,2.8924e-06_rb,2.5529e-06_rb,7.2613e-07_rb/) kbo(:, 5,40, 1) = (/ & &1.4067e-06_rb,3.5476e-06_rb,3.8249e-06_rb,3.3331e-06_rb,8.4610e-07_rb/) kbo(:, 1,41, 1) = (/ & &3.2432e-07_rb,8.3392e-07_rb,9.0025e-07_rb,8.2659e-07_rb,3.1699e-07_rb/) kbo(:, 2,41, 1) = (/ & &4.2215e-07_rb,1.1277e-06_rb,1.2186e-06_rb,1.1049e-06_rb,3.8959e-07_rb/) kbo(:, 3,41, 1) = (/ & &5.7203e-07_rb,1.5335e-06_rb,1.6530e-06_rb,1.4808e-06_rb,4.7229e-07_rb/) kbo(:, 4,41, 1) = (/ & &7.8892e-07_rb,2.0682e-06_rb,2.2251e-06_rb,1.9663e-06_rb,5.6019e-07_rb/) kbo(:, 5,41, 1) = (/ & &1.0862e-06_rb,2.7447e-06_rb,2.9535e-06_rb,2.5776e-06_rb,6.5591e-07_rb/) kbo(:, 1,42, 1) = (/ & &2.5587e-07_rb,6.4253e-07_rb,6.9167e-07_rb,6.3420e-07_rb,2.3952e-07_rb/) kbo(:, 2,42, 1) = (/ & &3.2863e-07_rb,8.6497e-07_rb,9.3264e-07_rb,8.4649e-07_rb,2.9775e-07_rb/) kbo(:, 3,42, 1) = (/ & &4.4164e-07_rb,1.1761e-06_rb,1.2667e-06_rb,1.1361e-06_rb,3.6120e-07_rb/) kbo(:, 4,42, 1) = (/ & &6.0774e-07_rb,1.5914e-06_rb,1.7100e-06_rb,1.5131e-06_rb,4.3157e-07_rb/) kbo(:, 5,42, 1) = (/ & &8.3802e-07_rb,2.1211e-06_rb,2.2785e-06_rb,1.9912e-06_rb,5.0721e-07_rb/) kbo(:, 1,43, 1) = (/ & &2.0233e-07_rb,4.9120e-07_rb,5.2639e-07_rb,4.8089e-07_rb,1.7965e-07_rb/) kbo(:, 2,43, 1) = (/ & &2.5538e-07_rb,6.5692e-07_rb,7.0547e-07_rb,6.4075e-07_rb,2.2496e-07_rb/) kbo(:, 3,43, 1) = (/ & &3.3917e-07_rb,8.9179e-07_rb,9.5869e-07_rb,8.5986e-07_rb,2.7469e-07_rb/) kbo(:, 4,43, 1) = (/ & &4.6446e-07_rb,1.2101e-06_rb,1.2978e-06_rb,1.1498e-06_rb,3.3044e-07_rb/) kbo(:, 5,43, 1) = (/ & &6.4112e-07_rb,1.6212e-06_rb,1.7373e-06_rb,1.5201e-06_rb,3.9028e-07_rb/) kbo(:, 1,44, 1) = (/ & &1.6122e-07_rb,3.7551e-07_rb,3.9960e-07_rb,3.6377e-07_rb,1.3351e-07_rb/) kbo(:, 2,44, 1) = (/ & &1.9938e-07_rb,4.9773e-07_rb,5.3195e-07_rb,4.8258e-07_rb,1.6857e-07_rb/) kbo(:, 3,44, 1) = (/ & &2.6075e-07_rb,6.7334e-07_rb,7.2162e-07_rb,6.4719e-07_rb,2.0768e-07_rb/) kbo(:, 4,44, 1) = (/ & &3.5440e-07_rb,9.1528e-07_rb,9.7926e-07_rb,8.6831e-07_rb,2.5128e-07_rb/) kbo(:, 5,44, 1) = (/ & &4.8882e-07_rb,1.2321e-06_rb,1.3171e-06_rb,1.1536e-06_rb,2.9843e-07_rb/) kbo(:, 1,45, 1) = (/ & &1.2988e-07_rb,2.8870e-07_rb,3.0532e-07_rb,2.7582e-07_rb,9.8684e-08_rb/) kbo(:, 2,45, 1) = (/ & &1.5689e-07_rb,3.7846e-07_rb,4.0235e-07_rb,3.6402e-07_rb,1.2561e-07_rb/) kbo(:, 3,45, 1) = (/ & &2.0165e-07_rb,5.0920e-07_rb,5.4343e-07_rb,4.8733e-07_rb,1.5620e-07_rb/) kbo(:, 4,45, 1) = (/ & &2.7120e-07_rb,6.9216e-07_rb,7.3881e-07_rb,6.5533e-07_rb,1.9009e-07_rb/) kbo(:, 5,45, 1) = (/ & &3.7310e-07_rb,9.3568e-07_rb,9.9762e-07_rb,8.7425e-07_rb,2.2785e-07_rb/) kbo(:, 1,46, 1) = (/ & &1.0564e-07_rb,2.2197e-07_rb,2.3290e-07_rb,2.0875e-07_rb,7.2454e-08_rb/) kbo(:, 2,46, 1) = (/ & &1.2404e-07_rb,2.8745e-07_rb,3.0379e-07_rb,2.7335e-07_rb,9.2971e-08_rb/) kbo(:, 3,46, 1) = (/ & &1.5624e-07_rb,3.8369e-07_rb,4.0737e-07_rb,3.6500e-07_rb,1.1671e-07_rb/) kbo(:, 4,46, 1) = (/ & &2.0727e-07_rb,5.2051e-07_rb,5.5407e-07_rb,4.9156e-07_rb,1.4314e-07_rb/) kbo(:, 5,46, 1) = (/ & &2.8357e-07_rb,7.0586e-07_rb,7.5047e-07_rb,6.5798e-07_rb,1.7235e-07_rb/) kbo(:, 1,47, 1) = (/ & &8.6916e-08_rb,1.7066e-07_rb,1.7731e-07_rb,1.5740e-07_rb,5.2956e-08_rb/) kbo(:, 2,47, 1) = (/ & &9.8603e-08_rb,2.1737e-07_rb,2.2800e-07_rb,2.0365e-07_rb,6.8355e-08_rb/) kbo(:, 3,47, 1) = (/ & &1.2114e-07_rb,2.8693e-07_rb,3.0257e-07_rb,2.7060e-07_rb,8.6098e-08_rb/) kbo(:, 4,47, 1) = (/ & &1.5770e-07_rb,3.8735e-07_rb,4.1075e-07_rb,3.6401e-07_rb,1.0681e-07_rb/) kbo(:, 5,47, 1) = (/ & &2.1366e-07_rb,5.2607e-07_rb,5.5766e-07_rb,4.8899e-07_rb,1.2936e-07_rb/) kbo(:, 1,48, 1) = (/ & &7.2690e-08_rb,1.3243e-07_rb,1.3635e-07_rb,1.1959e-07_rb,3.9422e-08_rb/) kbo(:, 2,48, 1) = (/ & &7.9634e-08_rb,1.6556e-07_rb,1.7235e-07_rb,1.5270e-07_rb,4.9882e-08_rb/) kbo(:, 3,48, 1) = (/ & &9.5002e-08_rb,2.1570e-07_rb,2.2592e-07_rb,2.0102e-07_rb,6.3148e-08_rb/) kbo(:, 4,48, 1) = (/ & &1.2105e-07_rb,2.8907e-07_rb,3.0482e-07_rb,2.6976e-07_rb,7.9242e-08_rb/) kbo(:, 5,48, 1) = (/ & &1.6180e-07_rb,3.9224e-07_rb,4.1437e-07_rb,3.6322e-07_rb,9.6936e-08_rb/) kbo(:, 1,49, 1) = (/ & &6.1774e-08_rb,1.0401e-07_rb,1.0607e-07_rb,9.1394e-08_rb,2.9238e-08_rb/) kbo(:, 2,49, 1) = (/ & &6.5366e-08_rb,1.2732e-07_rb,1.3151e-07_rb,1.1526e-07_rb,3.6075e-08_rb/) kbo(:, 3,49, 1) = (/ & &7.5416e-08_rb,1.6321e-07_rb,1.6967e-07_rb,1.4985e-07_rb,4.6286e-08_rb/) kbo(:, 4,49, 1) = (/ & &9.3863e-08_rb,2.1656e-07_rb,2.2682e-07_rb,2.0018e-07_rb,5.8261e-08_rb/) kbo(:, 5,49, 1) = (/ & &1.2334e-07_rb,2.9285e-07_rb,3.0807e-07_rb,2.6986e-07_rb,7.1843e-08_rb/) kbo(:, 1,50, 1) = (/ & &5.3206e-08_rb,8.3103e-08_rb,8.3626e-08_rb,7.1042e-08_rb,2.0418e-08_rb/) kbo(:, 2,50, 1) = (/ & &5.4599e-08_rb,9.9314e-08_rb,1.0171e-07_rb,8.8074e-08_rb,2.6669e-08_rb/) kbo(:, 3,50, 1) = (/ & &6.0981e-08_rb,1.2515e-07_rb,1.2917e-07_rb,1.1305e-07_rb,3.4171e-08_rb/) kbo(:, 4,50, 1) = (/ & &7.3992e-08_rb,1.6416e-07_rb,1.7066e-07_rb,1.4995e-07_rb,4.3100e-08_rb/) kbo(:, 5,50, 1) = (/ & &9.5401e-08_rb,2.2074e-07_rb,2.3106e-07_rb,2.0200e-07_rb,5.3679e-08_rb/) kbo(:, 1,51, 1) = (/ & &4.6282e-08_rb,6.7151e-08_rb,6.6436e-08_rb,5.6117e-08_rb,1.4310e-08_rb/) kbo(:, 2,51, 1) = (/ & &4.6293e-08_rb,7.8464e-08_rb,7.9611e-08_rb,6.7952e-08_rb,2.0313e-08_rb/) kbo(:, 3,51, 1) = (/ & &5.0084e-08_rb,9.7036e-08_rb,9.9288e-08_rb,8.6023e-08_rb,2.5137e-08_rb/) kbo(:, 4,51, 1) = (/ & &5.9071e-08_rb,1.2553e-07_rb,1.2948e-07_rb,1.1300e-07_rb,3.2036e-08_rb/) kbo(:, 5,51, 1) = (/ & &7.4640e-08_rb,1.6747e-07_rb,1.7423e-07_rb,1.5170e-07_rb,4.0217e-08_rb/) kbo(:, 1,52, 1) = (/ & &4.0629e-08_rb,5.4875e-08_rb,5.3346e-08_rb,4.4940e-08_rb,9.9095e-09_rb/) kbo(:, 2,52, 1) = (/ & &3.9810e-08_rb,6.2753e-08_rb,6.2779e-08_rb,5.3045e-08_rb,1.4355e-08_rb/) kbo(:, 3,52, 1) = (/ & &4.1749e-08_rb,7.5935e-08_rb,7.6945e-08_rb,6.5932e-08_rb,1.8547e-08_rb/) kbo(:, 4,52, 1) = (/ & &4.7734e-08_rb,9.6672e-08_rb,9.8927e-08_rb,8.5559e-08_rb,2.3788e-08_rb/) kbo(:, 5,52, 1) = (/ & &5.9002e-08_rb,1.2763e-07_rb,1.3186e-07_rb,1.1423e-07_rb,2.9932e-08_rb/) kbo(:, 1,53, 1) = (/ & &3.5975e-08_rb,4.5399e-08_rb,4.2771e-08_rb,3.6200e-08_rb,6.7635e-09_rb/) kbo(:, 2,53, 1) = (/ & &3.4672e-08_rb,5.0776e-08_rb,4.9763e-08_rb,4.1778e-08_rb,1.0001e-08_rb/) kbo(:, 3,53, 1) = (/ & &3.5325e-08_rb,6.0020e-08_rb,6.0156e-08_rb,5.0998e-08_rb,1.3726e-08_rb/) kbo(:, 4,53, 1) = (/ & &3.9133e-08_rb,7.5038e-08_rb,7.6143e-08_rb,6.5063e-08_rb,1.7480e-08_rb/) kbo(:, 5,53, 1) = (/ & &4.7140e-08_rb,9.7792e-08_rb,1.0026e-07_rb,8.6276e-08_rb,2.2211e-08_rb/) kbo(:, 1,54, 1) = (/ & &3.2026e-08_rb,3.8173e-08_rb,3.4913e-08_rb,2.9554e-08_rb,4.7895e-09_rb/) kbo(:, 2,54, 1) = (/ & &3.0459e-08_rb,4.1712e-08_rb,4.0172e-08_rb,3.3417e-08_rb,7.2202e-09_rb/) kbo(:, 3,54, 1) = (/ & &3.0344e-08_rb,4.8248e-08_rb,4.7728e-08_rb,3.9999e-08_rb,1.0387e-08_rb/) kbo(:, 4,54, 1) = (/ & &3.2650e-08_rb,5.9169e-08_rb,5.9453e-08_rb,5.0241e-08_rb,1.3202e-08_rb/) kbo(:, 5,54, 1) = (/ & &3.8298e-08_rb,7.6040e-08_rb,7.7304e-08_rb,6.5975e-08_rb,1.6815e-08_rb/) kbo(:, 1,55, 1) = (/ & &2.8677e-08_rb,3.2441e-08_rb,2.8748e-08_rb,2.4151e-08_rb,3.5459e-09_rb/) kbo(:, 2,55, 1) = (/ & &2.6981e-08_rb,3.4720e-08_rb,3.2391e-08_rb,2.6974e-08_rb,5.3560e-09_rb/) kbo(:, 3,55, 1) = (/ & &2.6409e-08_rb,3.9355e-08_rb,3.8167e-08_rb,3.1739e-08_rb,7.7448e-09_rb/) kbo(:, 4,55, 1) = (/ & &2.7649e-08_rb,4.7215e-08_rb,4.6970e-08_rb,3.9144e-08_rb,1.0056e-08_rb/) kbo(:, 5,55, 1) = (/ & &3.1553e-08_rb,5.9776e-08_rb,6.0219e-08_rb,5.0851e-08_rb,1.2897e-08_rb/) kbo(:, 1,56, 1) = (/ & &2.5871e-08_rb,2.7896e-08_rb,2.4025e-08_rb,1.9941e-08_rb,2.5789e-09_rb/) kbo(:, 2,56, 1) = (/ & &2.4111e-08_rb,2.9230e-08_rb,2.6562e-08_rb,2.2012e-08_rb,3.9211e-09_rb/) kbo(:, 3,56, 1) = (/ & &2.3260e-08_rb,3.2443e-08_rb,3.0891e-08_rb,2.5392e-08_rb,5.7991e-09_rb/) kbo(:, 4,56, 1) = (/ & &2.3744e-08_rb,3.8105e-08_rb,3.7441e-08_rb,3.0750e-08_rb,7.7370e-09_rb/) kbo(:, 5,56, 1) = (/ & &2.6357e-08_rb,4.7419e-08_rb,4.7264e-08_rb,3.9435e-08_rb,9.8948e-09_rb/) kbo(:, 1,57, 1) = (/ & &2.3535e-08_rb,2.4259e-08_rb,2.0309e-08_rb,1.6435e-08_rb,1.8424e-09_rb/) kbo(:, 2,57, 1) = (/ & &2.1750e-08_rb,2.4981e-08_rb,2.1975e-08_rb,1.7965e-08_rb,2.8485e-09_rb/) kbo(:, 3,57, 1) = (/ & &2.0716e-08_rb,2.7095e-08_rb,2.5073e-08_rb,2.0518e-08_rb,4.3296e-09_rb/) kbo(:, 4,57, 1) = (/ & &2.0688e-08_rb,3.1150e-08_rb,2.9998e-08_rb,2.4389e-08_rb,6.0949e-09_rb/) kbo(:, 5,57, 1) = (/ & &2.2336e-08_rb,3.7957e-08_rb,3.7415e-08_rb,3.0783e-08_rb,7.5649e-09_rb/) kbo(:, 1,58, 1) = (/ & &1.0425e-08_rb,1.1830e-08_rb,1.1340e-08_rb,1.0982e-08_rb,1.3443e-09_rb/) kbo(:, 2,58, 1) = (/ & &9.5648e-09_rb,1.2002e-08_rb,1.2045e-08_rb,1.1710e-08_rb,2.0849e-09_rb/) kbo(:, 3,58, 1) = (/ & &9.0146e-09_rb,1.2747e-08_rb,1.3512e-08_rb,1.3201e-08_rb,3.2654e-09_rb/) kbo(:, 4,58, 1) = (/ & &8.8493e-09_rb,1.4369e-08_rb,1.5929e-08_rb,1.5466e-08_rb,4.7356e-09_rb/) kbo(:, 5,58, 1) = (/ & &9.3086e-09_rb,1.7138e-08_rb,1.9573e-08_rb,1.9214e-08_rb,5.8278e-09_rb/) kbo(:, 1,59, 1) = (/ & &9.0380e-09_rb,1.0080e-08_rb,9.6059e-09_rb,9.1584e-09_rb,1.1081e-09_rb/) kbo(:, 2,59, 1) = (/ & &8.2691e-09_rb,1.0165e-08_rb,1.0115e-08_rb,9.7014e-09_rb,1.7533e-09_rb/) kbo(:, 3,59, 1) = (/ & &7.7641e-09_rb,1.0688e-08_rb,1.1200e-08_rb,1.0889e-08_rb,2.7394e-09_rb/) kbo(:, 4,59, 1) = (/ & &7.5756e-09_rb,1.1927e-08_rb,1.3083e-08_rb,1.2667e-08_rb,3.9313e-09_rb/) kbo(:, 5,59, 1) = (/ & &7.8886e-09_rb,1.4088e-08_rb,1.5992e-08_rb,1.5688e-08_rb,4.8202e-09_rb/) kbo(:, 1,13, 2) = (/ & &2.3347e-04_rb,3.2740e-04_rb,3.1964e-04_rb,2.7562e-04_rb,2.3674e-04_rb/) kbo(:, 2,13, 2) = (/ & &2.9027e-04_rb,4.3170e-04_rb,4.3482e-04_rb,3.8943e-04_rb,3.2365e-04_rb/) kbo(:, 3,13, 2) = (/ & &3.9534e-04_rb,6.0684e-04_rb,6.1602e-04_rb,5.5281e-04_rb,4.2550e-04_rb/) kbo(:, 4,13, 2) = (/ & &5.7501e-04_rb,8.8229e-04_rb,8.9214e-04_rb,7.8504e-04_rb,5.3481e-04_rb/) kbo(:, 5,13, 2) = (/ & &8.7274e-04_rb,1.2992e-03_rb,1.2957e-03_rb,1.1072e-03_rb,6.5845e-04_rb/) kbo(:, 1,14, 2) = (/ & &2.0019e-04_rb,2.7999e-04_rb,2.7248e-04_rb,2.3561e-04_rb,2.0892e-04_rb/) kbo(:, 2,14, 2) = (/ & &2.5252e-04_rb,3.7448e-04_rb,3.7546e-04_rb,3.3478e-04_rb,2.8574e-04_rb/) kbo(:, 3,14, 2) = (/ & &3.4599e-04_rb,5.3246e-04_rb,5.3788e-04_rb,4.7751e-04_rb,3.6978e-04_rb/) kbo(:, 4,14, 2) = (/ & &5.0873e-04_rb,7.7992e-04_rb,7.8607e-04_rb,6.8145e-04_rb,4.6369e-04_rb/) kbo(:, 5,14, 2) = (/ & &7.7937e-04_rb,1.1544e-03_rb,1.1464e-03_rb,9.6300e-04_rb,5.7084e-04_rb/) kbo(:, 1,15, 2) = (/ & &1.6496e-04_rb,2.3313e-04_rb,2.2745e-04_rb,1.9815e-04_rb,1.7191e-04_rb/) kbo(:, 2,15, 2) = (/ & &2.0995e-04_rb,3.1642e-04_rb,3.1725e-04_rb,2.8352e-04_rb,2.3300e-04_rb/) kbo(:, 3,15, 2) = (/ & &2.9058e-04_rb,4.5406e-04_rb,4.6090e-04_rb,4.0582e-04_rb,3.0079e-04_rb/) kbo(:, 4,15, 2) = (/ & &4.3180e-04_rb,6.6786e-04_rb,6.7439e-04_rb,5.7938e-04_rb,3.7802e-04_rb/) kbo(:, 5,15, 2) = (/ & &6.6674e-04_rb,9.9697e-04_rb,9.8451e-04_rb,8.2076e-04_rb,4.7099e-04_rb/) kbo(:, 1,16, 2) = (/ & &1.3273e-04_rb,1.9160e-04_rb,1.8863e-04_rb,1.6534e-04_rb,1.4034e-04_rb/) kbo(:, 2,16, 2) = (/ & &1.7022e-04_rb,2.6274e-04_rb,2.6590e-04_rb,2.3774e-04_rb,1.8655e-04_rb/) kbo(:, 3,16, 2) = (/ & &2.3798e-04_rb,3.7894e-04_rb,3.8748e-04_rb,3.4032e-04_rb,2.3998e-04_rb/) kbo(:, 4,16, 2) = (/ & &3.5812e-04_rb,5.6381e-04_rb,5.6807e-04_rb,4.8599e-04_rb,3.0617e-04_rb/) kbo(:, 5,16, 2) = (/ & &5.5540e-04_rb,8.4478e-04_rb,8.3109e-04_rb,6.8770e-04_rb,3.7973e-04_rb/) kbo(:, 1,17, 2) = (/ & &1.0577e-04_rb,1.5680e-04_rb,1.5536e-04_rb,1.3786e-04_rb,1.1416e-04_rb/) kbo(:, 2,17, 2) = (/ & &1.3659e-04_rb,2.1658e-04_rb,2.2147e-04_rb,1.9766e-04_rb,1.5136e-04_rb/) kbo(:, 3,17, 2) = (/ & &1.9353e-04_rb,3.1591e-04_rb,3.2447e-04_rb,2.8337e-04_rb,1.9661e-04_rb/) kbo(:, 4,17, 2) = (/ & &2.9393e-04_rb,4.7241e-04_rb,4.7609e-04_rb,4.0460e-04_rb,2.4887e-04_rb/) kbo(:, 5,17, 2) = (/ & &4.5598e-04_rb,7.0740e-04_rb,6.9589e-04_rb,5.7452e-04_rb,3.0304e-04_rb/) kbo(:, 1,18, 2) = (/ & &8.2750e-05_rb,1.2686e-04_rb,1.2742e-04_rb,1.1403e-04_rb,9.3961e-05_rb/) kbo(:, 2,18, 2) = (/ & &1.0793e-04_rb,1.7707e-04_rb,1.8353e-04_rb,1.6336e-04_rb,1.2524e-04_rb/) kbo(:, 3,18, 2) = (/ & &1.5481e-04_rb,2.6078e-04_rb,2.6950e-04_rb,2.3444e-04_rb,1.6211e-04_rb/) kbo(:, 4,18, 2) = (/ & &2.3641e-04_rb,3.9024e-04_rb,3.9536e-04_rb,3.3586e-04_rb,2.0255e-04_rb/) kbo(:, 5,18, 2) = (/ & &3.6699e-04_rb,5.8299e-04_rb,5.7531e-04_rb,4.7694e-04_rb,2.4459e-04_rb/) kbo(:, 1,19, 2) = (/ & &6.5789e-05_rb,1.0377e-04_rb,1.0573e-04_rb,9.4747e-05_rb,7.8309e-05_rb/) kbo(:, 2,19, 2) = (/ & &8.6739e-05_rb,1.4667e-04_rb,1.5321e-04_rb,1.3630e-04_rb,1.0400e-04_rb/) kbo(:, 3,19, 2) = (/ & &1.2570e-04_rb,2.1696e-04_rb,2.2493e-04_rb,1.9585e-04_rb,1.3355e-04_rb/) kbo(:, 4,19, 2) = (/ & &1.9254e-04_rb,3.2492e-04_rb,3.2972e-04_rb,2.8110e-04_rb,1.6478e-04_rb/) kbo(:, 5,19, 2) = (/ & &2.9952e-04_rb,4.8402e-04_rb,4.8010e-04_rb,3.9892e-04_rb,1.9831e-04_rb/) kbo(:, 1,20, 2) = (/ & &5.3588e-05_rb,8.6632e-05_rb,8.9247e-05_rb,8.0067e-05_rb,6.5775e-05_rb/) kbo(:, 2,20, 2) = (/ & &7.1606e-05_rb,1.2377e-04_rb,1.3011e-04_rb,1.1561e-04_rb,8.7374e-05_rb/) kbo(:, 3,20, 2) = (/ & &1.0490e-04_rb,1.8400e-04_rb,1.9125e-04_rb,1.6630e-04_rb,1.1025e-04_rb/) kbo(:, 4,20, 2) = (/ & &1.6107e-04_rb,2.7570e-04_rb,2.7972e-04_rb,2.3864e-04_rb,1.3590e-04_rb/) kbo(:, 5,20, 2) = (/ & &2.5044e-04_rb,4.0870e-04_rb,4.0643e-04_rb,3.3832e-04_rb,1.6243e-04_rb/) kbo(:, 1,21, 2) = (/ & &4.3995e-05_rb,7.2776e-05_rb,7.5695e-05_rb,6.8050e-05_rb,5.5495e-05_rb/) kbo(:, 2,21, 2) = (/ & &5.9611e-05_rb,1.0482e-04_rb,1.1056e-04_rb,9.8202e-05_rb,7.3158e-05_rb/) kbo(:, 3,21, 2) = (/ & &8.7989e-05_rb,1.5634e-04_rb,1.6268e-04_rb,1.4172e-04_rb,9.0987e-05_rb/) kbo(:, 4,21, 2) = (/ & &1.3548e-04_rb,2.3394e-04_rb,2.3798e-04_rb,2.0295e-04_rb,1.1189e-04_rb/) kbo(:, 5,21, 2) = (/ & &2.1032e-04_rb,3.4525e-04_rb,3.4399e-04_rb,2.8683e-04_rb,1.3326e-04_rb/) kbo(:, 1,22, 2) = (/ & &3.6803e-05_rb,6.2518e-05_rb,6.5746e-05_rb,5.8989e-05_rb,4.7547e-05_rb/) kbo(:, 2,22, 2) = (/ & &5.0761e-05_rb,9.1003e-05_rb,9.6193e-05_rb,8.5393e-05_rb,6.0785e-05_rb/) kbo(:, 3,22, 2) = (/ & &7.5680e-05_rb,1.3601e-04_rb,1.4124e-04_rb,1.2316e-04_rb,7.5929e-05_rb/) kbo(:, 4,22, 2) = (/ & &1.1711e-04_rb,2.0303e-04_rb,2.0625e-04_rb,1.7599e-04_rb,9.2008e-05_rb/) kbo(:, 5,22, 2) = (/ & &1.8108e-04_rb,2.9768e-04_rb,2.9683e-04_rb,2.4768e-04_rb,1.0998e-04_rb/) kbo(:, 1,23, 2) = (/ & &3.1003e-05_rb,5.3823e-05_rb,5.7061e-05_rb,5.1271e-05_rb,4.0280e-05_rb/) kbo(:, 2,23, 2) = (/ & &4.3496e-05_rb,7.9103e-05_rb,8.3635e-05_rb,7.4369e-05_rb,5.0624e-05_rb/) kbo(:, 3,23, 2) = (/ & &6.5401e-05_rb,1.1830e-04_rb,1.2269e-04_rb,1.0707e-04_rb,6.2127e-05_rb/) kbo(:, 4,23, 2) = (/ & &1.0147e-04_rb,1.7576e-04_rb,1.7852e-04_rb,1.5248e-04_rb,7.5578e-05_rb/) kbo(:, 5,23, 2) = (/ & &1.5625e-04_rb,2.5690e-04_rb,2.5634e-04_rb,2.1357e-04_rb,9.0733e-05_rb/) kbo(:, 1,24, 2) = (/ & &2.6471e-05_rb,4.6863e-05_rb,4.9818e-05_rb,4.4807e-05_rb,3.2886e-05_rb/) kbo(:, 2,24, 2) = (/ & &3.7731e-05_rb,6.9280e-05_rb,7.2915e-05_rb,6.4892e-05_rb,4.1198e-05_rb/) kbo(:, 3,24, 2) = (/ & &5.7248e-05_rb,1.0347e-04_rb,1.0698e-04_rb,9.3403e-05_rb,5.0808e-05_rb/) kbo(:, 4,24, 2) = (/ & &8.8791e-05_rb,1.5319e-04_rb,1.5530e-04_rb,1.3247e-04_rb,6.1812e-05_rb/) kbo(:, 5,24, 2) = (/ & &1.3624e-04_rb,2.2303e-04_rb,2.2220e-04_rb,1.8474e-04_rb,7.4324e-05_rb/) kbo(:, 1,25, 2) = (/ & &2.2808e-05_rb,4.1048e-05_rb,4.3589e-05_rb,3.9316e-05_rb,2.6891e-05_rb/) kbo(:, 2,25, 2) = (/ & &3.2985e-05_rb,6.0936e-05_rb,6.3907e-05_rb,5.6898e-05_rb,3.3888e-05_rb/) kbo(:, 3,25, 2) = (/ & &5.0481e-05_rb,9.0713e-05_rb,9.3687e-05_rb,8.1693e-05_rb,4.1615e-05_rb/) kbo(:, 4,25, 2) = (/ & &7.8151e-05_rb,1.3406e-04_rb,1.3563e-04_rb,1.1547e-04_rb,5.0834e-05_rb/) kbo(:, 5,25, 2) = (/ & &1.1946e-04_rb,1.9452e-04_rb,1.9337e-04_rb,1.6037e-04_rb,6.0346e-05_rb/) kbo(:, 1,26, 2) = (/ & &1.9934e-05_rb,3.6349e-05_rb,3.8562e-05_rb,3.4809e-05_rb,2.2369e-05_rb/) kbo(:, 2,26, 2) = (/ & &2.9291e-05_rb,5.4051e-05_rb,5.6667e-05_rb,5.0301e-05_rb,2.7895e-05_rb/) kbo(:, 3,26, 2) = (/ & &4.5044e-05_rb,8.0419e-05_rb,8.2812e-05_rb,7.2007e-05_rb,3.4611e-05_rb/) kbo(:, 4,26, 2) = (/ & &6.9643e-05_rb,1.1855e-04_rb,1.1958e-04_rb,1.0144e-04_rb,4.1836e-05_rb/) kbo(:, 5,26, 2) = (/ & &1.0589e-04_rb,1.7128e-04_rb,1.6969e-04_rb,1.4033e-04_rb,4.9219e-05_rb/) kbo(:, 1,27, 2) = (/ & &1.7559e-05_rb,3.2313e-05_rb,3.4216e-05_rb,3.0835e-05_rb,1.8255e-05_rb/) kbo(:, 2,27, 2) = (/ & &2.6182e-05_rb,4.8079e-05_rb,5.0267e-05_rb,4.4498e-05_rb,2.3042e-05_rb/) kbo(:, 3,27, 2) = (/ & &4.0350e-05_rb,7.1540e-05_rb,7.3359e-05_rb,6.3538e-05_rb,2.8359e-05_rb/) kbo(:, 4,27, 2) = (/ & &6.2227e-05_rb,1.0500e-04_rb,1.0550e-04_rb,8.9231e-05_rb,3.3804e-05_rb/) kbo(:, 5,27, 2) = (/ & &9.4129e-05_rb,1.5114e-04_rb,1.4903e-04_rb,1.2285e-04_rb,4.0082e-05_rb/) kbo(:, 1,28, 2) = (/ & &1.5570e-05_rb,2.8729e-05_rb,3.0391e-05_rb,2.7331e-05_rb,1.4928e-05_rb/) kbo(:, 2,28, 2) = (/ & &2.3454e-05_rb,4.2868e-05_rb,4.4647e-05_rb,3.9416e-05_rb,1.8685e-05_rb/) kbo(:, 3,28, 2) = (/ & &3.6218e-05_rb,6.3627e-05_rb,6.4995e-05_rb,5.6106e-05_rb,2.2770e-05_rb/) kbo(:, 4,28, 2) = (/ & &5.5686e-05_rb,9.3113e-05_rb,9.3100e-05_rb,7.8497e-05_rb,2.7363e-05_rb/) kbo(:, 5,28, 2) = (/ & &8.3686e-05_rb,1.3339e-04_rb,1.3104e-04_rb,1.0755e-04_rb,3.2541e-05_rb/) kbo(:, 1,29, 2) = (/ & &1.3843e-05_rb,2.5623e-05_rb,2.7065e-05_rb,2.4295e-05_rb,1.2134e-05_rb/) kbo(:, 2,29, 2) = (/ & &2.1009e-05_rb,3.8248e-05_rb,3.9732e-05_rb,3.4977e-05_rb,1.5044e-05_rb/) kbo(:, 3,29, 2) = (/ & &3.2483e-05_rb,5.6676e-05_rb,5.7569e-05_rb,4.9592e-05_rb,1.8408e-05_rb/) kbo(:, 4,29, 2) = (/ & &4.9712e-05_rb,8.2574e-05_rb,8.2234e-05_rb,6.9025e-05_rb,2.2259e-05_rb/) kbo(:, 5,29, 2) = (/ & &7.4303e-05_rb,1.1753e-04_rb,1.1526e-04_rb,9.4159e-05_rb,2.6343e-05_rb/) kbo(:, 1,30, 2) = (/ & &1.2283e-05_rb,2.2826e-05_rb,2.4077e-05_rb,2.1586e-05_rb,9.7017e-06_rb/) kbo(:, 2,30, 2) = (/ & &1.8796e-05_rb,3.4070e-05_rb,3.5216e-05_rb,3.0990e-05_rb,1.2060e-05_rb/) kbo(:, 3,30, 2) = (/ & &2.9052e-05_rb,5.0361e-05_rb,5.0950e-05_rb,4.3716e-05_rb,1.4847e-05_rb/) kbo(:, 4,30, 2) = (/ & &4.4245e-05_rb,7.2929e-05_rb,7.2487e-05_rb,6.0571e-05_rb,1.7868e-05_rb/) kbo(:, 5,30, 2) = (/ & &6.5686e-05_rb,1.0336e-04_rb,1.0108e-04_rb,8.2235e-05_rb,2.0877e-05_rb/) kbo(:, 1,31, 2) = (/ & &1.0864e-05_rb,2.0303e-05_rb,2.1341e-05_rb,1.9138e-05_rb,7.8312e-06_rb/) kbo(:, 2,31, 2) = (/ & &1.6718e-05_rb,3.0263e-05_rb,3.1180e-05_rb,2.7363e-05_rb,9.6909e-06_rb/) kbo(:, 3,31, 2) = (/ & &2.5784e-05_rb,4.4485e-05_rb,4.4959e-05_rb,3.8436e-05_rb,1.1703e-05_rb/) kbo(:, 4,31, 2) = (/ & &3.9035e-05_rb,6.4113e-05_rb,6.3593e-05_rb,5.2930e-05_rb,1.4083e-05_rb/) kbo(:, 5,31, 2) = (/ & &5.7600e-05_rb,9.0427e-05_rb,8.8190e-05_rb,7.1491e-05_rb,1.6696e-05_rb/) kbo(:, 1,32, 2) = (/ & &9.6861e-06_rb,1.8129e-05_rb,1.9009e-05_rb,1.7005e-05_rb,6.3389e-06_rb/) kbo(:, 2,32, 2) = (/ & &1.4957e-05_rb,2.6929e-05_rb,2.7692e-05_rb,2.4209e-05_rb,7.7689e-06_rb/) kbo(:, 3,32, 2) = (/ & &2.2989e-05_rb,3.9434e-05_rb,3.9744e-05_rb,3.3837e-05_rb,9.3738e-06_rb/) kbo(:, 4,32, 2) = (/ & &3.4606e-05_rb,5.6545e-05_rb,5.5926e-05_rb,4.6356e-05_rb,1.1253e-05_rb/) kbo(:, 5,32, 2) = (/ & &5.0712e-05_rb,7.9301e-05_rb,7.7059e-05_rb,6.2285e-05_rb,1.3276e-05_rb/) kbo(:, 1,33, 2) = (/ & &8.6881e-06_rb,1.6215e-05_rb,1.6965e-05_rb,1.5122e-05_rb,5.0839e-06_rb/) kbo(:, 2,33, 2) = (/ & &1.3426e-05_rb,2.4037e-05_rb,2.4628e-05_rb,2.1434e-05_rb,6.2318e-06_rb/) kbo(:, 3,33, 2) = (/ & &2.0550e-05_rb,3.5027e-05_rb,3.5160e-05_rb,2.9820e-05_rb,7.5123e-06_rb/) kbo(:, 4,33, 2) = (/ & &3.0762e-05_rb,4.9971e-05_rb,4.9236e-05_rb,4.0640e-05_rb,8.9286e-06_rb/) kbo(:, 5,33, 2) = (/ & &4.4719e-05_rb,6.9592e-05_rb,6.7432e-05_rb,5.4322e-05_rb,1.0569e-05_rb/) kbo(:, 1,34, 2) = (/ & &7.7791e-06_rb,1.4442e-05_rb,1.5046e-05_rb,1.3360e-05_rb,4.1600e-06_rb/) kbo(:, 2,34, 2) = (/ & &1.2019e-05_rb,2.1346e-05_rb,2.1771e-05_rb,1.8857e-05_rb,5.0353e-06_rb/) kbo(:, 3,34, 2) = (/ & &1.8324e-05_rb,3.0972e-05_rb,3.0949e-05_rb,2.6117e-05_rb,6.0447e-06_rb/) kbo(:, 4,34, 2) = (/ & &2.7261e-05_rb,4.3932e-05_rb,4.3157e-05_rb,3.5442e-05_rb,7.1905e-06_rb/) kbo(:, 5,34, 2) = (/ & &3.9385e-05_rb,6.0888e-05_rb,5.8795e-05_rb,4.7179e-05_rb,8.5133e-06_rb/) kbo(:, 1,35, 2) = (/ & &6.6949e-06_rb,1.2390e-05_rb,1.2873e-05_rb,1.1410e-05_rb,3.2837e-06_rb/) kbo(:, 2,35, 2) = (/ & &1.0342e-05_rb,1.8289e-05_rb,1.8599e-05_rb,1.6068e-05_rb,4.0072e-06_rb/) kbo(:, 3,35, 2) = (/ & &1.5729e-05_rb,2.6447e-05_rb,2.6382e-05_rb,2.2198e-05_rb,4.8111e-06_rb/) kbo(:, 4,35, 2) = (/ & &2.3326e-05_rb,3.7424e-05_rb,3.6694e-05_rb,3.0052e-05_rb,5.7503e-06_rb/) kbo(:, 5,35, 2) = (/ & &3.3582e-05_rb,5.1735e-05_rb,4.9852e-05_rb,3.9921e-05_rb,6.8317e-06_rb/) kbo(:, 1,36, 2) = (/ & &5.5116e-06_rb,1.0195e-05_rb,1.0585e-05_rb,9.3814e-06_rb,2.5556e-06_rb/) kbo(:, 2,36, 2) = (/ & &8.5137e-06_rb,1.5037e-05_rb,1.5296e-05_rb,1.3209e-05_rb,3.1325e-06_rb/) kbo(:, 3,36, 2) = (/ & &1.2948e-05_rb,2.1753e-05_rb,2.1694e-05_rb,1.8250e-05_rb,3.7680e-06_rb/) kbo(:, 4,36, 2) = (/ & &1.9198e-05_rb,3.0787e-05_rb,3.0171e-05_rb,2.4706e-05_rb,4.5193e-06_rb/) kbo(:, 5,36, 2) = (/ & &2.7624e-05_rb,4.2550e-05_rb,4.0975e-05_rb,3.2811e-05_rb,5.3463e-06_rb/) kbo(:, 1,37, 2) = (/ & &4.2943e-06_rb,7.9625e-06_rb,8.2825e-06_rb,7.3555e-06_rb,1.9862e-06_rb/) kbo(:, 2,37, 2) = (/ & &6.6379e-06_rb,1.1772e-05_rb,1.1998e-05_rb,1.0386e-05_rb,2.4388e-06_rb/) kbo(:, 3,37, 2) = (/ & &1.0124e-05_rb,1.7087e-05_rb,1.7068e-05_rb,1.4395e-05_rb,2.9448e-06_rb/) kbo(:, 4,37, 2) = (/ & &1.5070e-05_rb,2.4266e-05_rb,2.3812e-05_rb,1.9543e-05_rb,3.5287e-06_rb/) kbo(:, 5,37, 2) = (/ & &2.1767e-05_rb,3.3653e-05_rb,3.2450e-05_rb,2.6024e-05_rb,4.1879e-06_rb/) kbo(:, 1,38, 2) = (/ & &3.3357e-06_rb,6.1963e-06_rb,6.4603e-06_rb,5.7499e-06_rb,1.5402e-06_rb/) kbo(:, 2,38, 2) = (/ & &5.1578e-06_rb,9.1863e-06_rb,9.3819e-06_rb,8.1434e-06_rb,1.8945e-06_rb/) kbo(:, 3,38, 2) = (/ & &7.8901e-06_rb,1.3380e-05_rb,1.3389e-05_rb,1.1321e-05_rb,2.2920e-06_rb/) kbo(:, 4,38, 2) = (/ & &1.1791e-05_rb,1.9066e-05_rb,1.8739e-05_rb,1.5418e-05_rb,2.7521e-06_rb/) kbo(:, 5,38, 2) = (/ & &1.7101e-05_rb,2.6537e-05_rb,2.5629e-05_rb,2.0591e-05_rb,3.2788e-06_rb/) kbo(:, 1,39, 2) = (/ & &2.5925e-06_rb,4.8221e-06_rb,5.0377e-06_rb,4.4928e-06_rb,1.1896e-06_rb/) kbo(:, 2,39, 2) = (/ & &4.0080e-06_rb,7.1657e-06_rb,7.3339e-06_rb,6.3822e-06_rb,1.4636e-06_rb/) kbo(:, 3,39, 2) = (/ & &6.1480e-06_rb,1.0471e-05_rb,1.0498e-05_rb,8.8998e-06_rb,1.7757e-06_rb/) kbo(:, 4,39, 2) = (/ & &9.2224e-06_rb,1.4975e-05_rb,1.4740e-05_rb,1.2159e-05_rb,2.1407e-06_rb/) kbo(:, 5,39, 2) = (/ & &1.3430e-05_rb,2.0919e-05_rb,2.0232e-05_rb,1.6286e-05_rb,2.5517e-06_rb/) kbo(:, 1,40, 2) = (/ & &1.9503e-06_rb,3.6256e-06_rb,3.7983e-06_rb,3.3983e-06_rb,9.0970e-07_rb/) kbo(:, 2,40, 2) = (/ & &3.0096e-06_rb,5.4072e-06_rb,5.5509e-06_rb,4.8509e-06_rb,1.1295e-06_rb/) kbo(:, 3,40, 2) = (/ & &4.6341e-06_rb,7.9436e-06_rb,7.9881e-06_rb,6.7974e-06_rb,1.3749e-06_rb/) kbo(:, 4,40, 2) = (/ & &6.9959e-06_rb,1.1429e-05_rb,1.1278e-05_rb,9.3390e-06_rb,1.6560e-06_rb/) kbo(:, 5,40, 2) = (/ & &1.0262e-05_rb,1.6061e-05_rb,1.5575e-05_rb,1.2573e-05_rb,1.9765e-06_rb/) kbo(:, 1,41, 2) = (/ & &1.4645e-06_rb,2.7131e-06_rb,2.8491e-06_rb,2.5571e-06_rb,6.9451e-07_rb/) kbo(:, 2,41, 2) = (/ & &2.2502e-06_rb,4.0586e-06_rb,4.1799e-06_rb,3.6674e-06_rb,8.6660e-07_rb/) kbo(:, 3,41, 2) = (/ & &3.4750e-06_rb,5.9931e-06_rb,6.0465e-06_rb,5.1654e-06_rb,1.0602e-06_rb/) kbo(:, 4,41, 2) = (/ & &5.2792e-06_rb,8.6774e-06_rb,8.5850e-06_rb,7.1396e-06_rb,1.2820e-06_rb/) kbo(:, 5,41, 2) = (/ & &7.8024e-06_rb,1.2273e-05_rb,1.1934e-05_rb,9.6653e-06_rb,1.5281e-06_rb/) kbo(:, 1,42, 2) = (/ & &1.1030e-06_rb,2.0298e-06_rb,2.1354e-06_rb,1.9220e-06_rb,5.2769e-07_rb/) kbo(:, 2,42, 2) = (/ & &1.6830e-06_rb,3.0429e-06_rb,3.1437e-06_rb,2.7680e-06_rb,6.5992e-07_rb/) kbo(:, 3,42, 2) = (/ & &2.6031e-06_rb,4.5149e-06_rb,4.5688e-06_rb,3.9192e-06_rb,8.1465e-07_rb/) kbo(:, 4,42, 2) = (/ & &3.9772e-06_rb,6.5768e-06_rb,6.5252e-06_rb,5.4495e-06_rb,9.8750e-07_rb/) kbo(:, 5,42, 2) = (/ & &5.9212e-06_rb,9.3604e-06_rb,9.1253e-06_rb,7.4182e-06_rb,1.1776e-06_rb/) kbo(:, 1,43, 2) = (/ & &8.2428e-07_rb,1.4953e-06_rb,1.5737e-06_rb,1.4196e-06_rb,3.9479e-07_rb/) kbo(:, 2,43, 2) = (/ & &1.2422e-06_rb,2.2430e-06_rb,2.3243e-06_rb,2.0532e-06_rb,4.9846e-07_rb/) kbo(:, 3,43, 2) = (/ & &1.9204e-06_rb,3.3444e-06_rb,3.3959e-06_rb,2.9263e-06_rb,6.1792e-07_rb/) kbo(:, 4,43, 2) = (/ & &2.9515e-06_rb,4.9083e-06_rb,4.8847e-06_rb,4.0977e-06_rb,7.5196e-07_rb/) kbo(:, 5,43, 2) = (/ & &4.4328e-06_rb,7.0409e-06_rb,6.8831e-06_rb,5.6178e-06_rb,9.0060e-07_rb/) kbo(:, 1,44, 2) = (/ & &6.1791e-07_rb,1.0964e-06_rb,1.1526e-06_rb,1.0396e-06_rb,2.9276e-07_rb/) kbo(:, 2,44, 2) = (/ & &9.1458e-07_rb,1.6410e-06_rb,1.7044e-06_rb,1.5103e-06_rb,3.7305e-07_rb/) kbo(:, 3,44, 2) = (/ & &1.4081e-06_rb,2.4567e-06_rb,2.5035e-06_rb,2.1667e-06_rb,4.6414e-07_rb/) kbo(:, 4,44, 2) = (/ & &2.1742e-06_rb,3.6323e-06_rb,3.6267e-06_rb,3.0560e-06_rb,5.6825e-07_rb/) kbo(:, 5,44, 2) = (/ & &3.2939e-06_rb,5.2553e-06_rb,5.1516e-06_rb,4.2228e-06_rb,6.8470e-07_rb/) kbo(:, 1,45, 2) = (/ & &4.6818e-07_rb,8.0720e-07_rb,8.4515e-07_rb,7.6099e-07_rb,2.1643e-07_rb/) kbo(:, 2,45, 2) = (/ & &6.7728e-07_rb,1.2013e-06_rb,1.2493e-06_rb,1.1096e-06_rb,2.7840e-07_rb/) kbo(:, 3,45, 2) = (/ & &1.0340e-06_rb,1.8032e-06_rb,1.8431e-06_rb,1.6011e-06_rb,3.4809e-07_rb/) kbo(:, 4,45, 2) = (/ & &1.6004e-06_rb,2.6834e-06_rb,2.6875e-06_rb,2.2740e-06_rb,4.2767e-07_rb/) kbo(:, 5,45, 2) = (/ & &2.4431e-06_rb,3.9144e-06_rb,3.8469e-06_rb,3.1675e-06_rb,5.1847e-07_rb/) kbo(:, 1,46, 2) = (/ & &3.5715e-07_rb,5.9421e-07_rb,6.1734e-07_rb,5.5305e-07_rb,1.5800e-07_rb/) kbo(:, 2,46, 2) = (/ & &5.0187e-07_rb,8.7381e-07_rb,9.0848e-07_rb,8.0843e-07_rb,2.0563e-07_rb/) kbo(:, 3,46, 2) = (/ & &7.5515e-07_rb,1.3118e-06_rb,1.3445e-06_rb,1.1721e-06_rb,2.5967e-07_rb/) kbo(:, 4,46, 2) = (/ & &1.1677e-06_rb,1.9633e-06_rb,1.9726e-06_rb,1.6766e-06_rb,3.2108e-07_rb/) kbo(:, 5,46, 2) = (/ & &1.7950e-06_rb,2.8885e-06_rb,2.8468e-06_rb,2.3553e-06_rb,3.9011e-07_rb/) kbo(:, 1,47, 2) = (/ & &2.7398e-07_rb,4.3581e-07_rb,4.4704e-07_rb,3.9668e-07_rb,1.1323e-07_rb/) kbo(:, 2,47, 2) = (/ & &3.7103e-07_rb,6.2850e-07_rb,6.5163e-07_rb,5.8000e-07_rb,1.4990e-07_rb/) kbo(:, 3,47, 2) = (/ & &5.4577e-07_rb,9.3956e-07_rb,9.6531e-07_rb,8.4415e-07_rb,1.9262e-07_rb/) kbo(:, 4,47, 2) = (/ & &8.3895e-07_rb,1.4116e-06_rb,1.4241e-06_rb,1.2169e-06_rb,2.3951e-07_rb/) kbo(:, 5,47, 2) = (/ & &1.2964e-06_rb,2.0956e-06_rb,2.0729e-06_rb,1.7247e-06_rb,2.9208e-07_rb/) kbo(:, 1,48, 2) = (/ & &2.1387e-07_rb,3.2471e-07_rb,3.2631e-07_rb,2.8559e-07_rb,7.9995e-08_rb/) kbo(:, 2,48, 2) = (/ & &2.7873e-07_rb,4.5569e-07_rb,4.6902e-07_rb,4.1584e-07_rb,1.0856e-07_rb/) kbo(:, 3,48, 2) = (/ & &3.9810e-07_rb,6.7425e-07_rb,6.9287e-07_rb,6.0740e-07_rb,1.4073e-07_rb/) kbo(:, 4,48, 2) = (/ & &6.0448e-07_rb,1.0143e-06_rb,1.0265e-06_rb,8.8097e-07_rb,1.7712e-07_rb/) kbo(:, 5,48, 2) = (/ & &9.3542e-07_rb,1.5166e-06_rb,1.5052e-06_rb,1.2587e-06_rb,2.1758e-07_rb/) kbo(:, 1,49, 2) = (/ & &1.6983e-07_rb,2.4624e-07_rb,2.4047e-07_rb,2.0742e-07_rb,5.5874e-08_rb/) kbo(:, 2,49, 2) = (/ & &2.1316e-07_rb,3.3392e-07_rb,3.3939e-07_rb,2.9852e-07_rb,7.7373e-08_rb/) kbo(:, 3,49, 2) = (/ & &2.9400e-07_rb,4.8579e-07_rb,4.9802e-07_rb,4.3681e-07_rb,1.0173e-07_rb/) kbo(:, 4,49, 2) = (/ & &4.3777e-07_rb,7.2867e-07_rb,7.3912e-07_rb,6.3632e-07_rb,1.2966e-07_rb/) kbo(:, 5,49, 2) = (/ & &6.7522e-07_rb,1.0953e-06_rb,1.0905e-06_rb,9.1600e-07_rb,1.6042e-07_rb/) kbo(:, 1,50, 2) = (/ & &1.3748e-07_rb,1.9105e-07_rb,1.8074e-07_rb,1.5294e-07_rb,4.0734e-08_rb/) kbo(:, 2,50, 2) = (/ & &1.6685e-07_rb,2.5027e-07_rb,2.4971e-07_rb,2.1712e-07_rb,5.5541e-08_rb/) kbo(:, 3,50, 2) = (/ & &2.2205e-07_rb,3.5580e-07_rb,3.6241e-07_rb,3.1709e-07_rb,7.4088e-08_rb/) kbo(:, 4,50, 2) = (/ & &3.2265e-07_rb,5.2953e-07_rb,5.3723e-07_rb,4.6323e-07_rb,9.5830e-08_rb/) kbo(:, 5,50, 2) = (/ & &4.9355e-07_rb,7.9777e-07_rb,7.9617e-07_rb,6.7111e-07_rb,1.2000e-07_rb/) kbo(:, 1,51, 2) = (/ & &1.1310e-07_rb,1.5095e-07_rb,1.3873e-07_rb,1.1416e-07_rb,2.8930e-08_rb/) kbo(:, 2,51, 2) = (/ & &1.3297e-07_rb,1.9104e-07_rb,1.8603e-07_rb,1.5944e-07_rb,3.9649e-08_rb/) kbo(:, 3,51, 2) = (/ & &1.7089e-07_rb,2.6387e-07_rb,2.6609e-07_rb,2.3142e-07_rb,5.4118e-08_rb/) kbo(:, 4,51, 2) = (/ & &2.4121e-07_rb,3.8782e-07_rb,3.9262e-07_rb,3.3860e-07_rb,7.0920e-08_rb/) kbo(:, 5,51, 2) = (/ & &3.6391e-07_rb,5.8370e-07_rb,5.8331e-07_rb,4.9304e-07_rb,8.9643e-08_rb/) kbo(:, 1,52, 2) = (/ & &9.4432e-08_rb,1.2100e-07_rb,1.0830e-07_rb,8.6173e-08_rb,2.0454e-08_rb/) kbo(:, 2,52, 2) = (/ & &1.0754e-07_rb,1.4816e-07_rb,1.4031e-07_rb,1.1784e-07_rb,2.8884e-08_rb/) kbo(:, 3,52, 2) = (/ & &1.3365e-07_rb,1.9803e-07_rb,1.9664e-07_rb,1.6925e-07_rb,3.9314e-08_rb/) kbo(:, 4,52, 2) = (/ & &1.8256e-07_rb,2.8565e-07_rb,2.8767e-07_rb,2.4757e-07_rb,5.1552e-08_rb/) kbo(:, 5,52, 2) = (/ & &2.7006e-07_rb,4.2782e-07_rb,4.2750e-07_rb,3.6187e-07_rb,6.6239e-08_rb/) kbo(:, 1,53, 2) = (/ & &7.9939e-08_rb,9.8272e-08_rb,8.6307e-08_rb,6.6012e-08_rb,1.4604e-08_rb/) kbo(:, 2,53, 2) = (/ & &8.8279e-08_rb,1.1673e-07_rb,1.0758e-07_rb,8.7937e-08_rb,2.0451e-08_rb/) kbo(:, 3,53, 2) = (/ & &1.0623e-07_rb,1.5078e-07_rb,1.4654e-07_rb,1.2425e-07_rb,2.8208e-08_rb/) kbo(:, 4,53, 2) = (/ & &1.4011e-07_rb,2.1203e-07_rb,2.1153e-07_rb,1.8129e-07_rb,3.7255e-08_rb/) kbo(:, 5,53, 2) = (/ & &2.0211e-07_rb,3.1443e-07_rb,3.1357e-07_rb,2.6539e-07_rb,4.8314e-08_rb/) kbo(:, 1,54, 2) = (/ & &6.8612e-08_rb,8.0858e-08_rb,7.0080e-08_rb,5.1088e-08_rb,1.0952e-08_rb/) kbo(:, 2,54, 2) = (/ & &7.3786e-08_rb,9.3902e-08_rb,8.4431e-08_rb,6.7059e-08_rb,1.4950e-08_rb/) kbo(:, 3,54, 2) = (/ & &8.6236e-08_rb,1.1751e-07_rb,1.1148e-07_rb,9.2909e-08_rb,2.0689e-08_rb/) kbo(:, 4,54, 2) = (/ & &1.1017e-07_rb,1.6065e-07_rb,1.5823e-07_rb,1.3458e-07_rb,2.7837e-08_rb/) kbo(:, 5,54, 2) = (/ & &1.5462e-07_rb,2.3495e-07_rb,2.3325e-07_rb,1.9698e-07_rb,3.6383e-08_rb/) kbo(:, 1,55, 2) = (/ & &5.9732e-08_rb,6.7403e-08_rb,5.7777e-08_rb,3.9915e-08_rb,8.5037e-09_rb/) kbo(:, 2,55, 2) = (/ & &6.2576e-08_rb,7.6690e-08_rb,6.7863e-08_rb,5.1930e-08_rb,1.1059e-08_rb/) kbo(:, 3,55, 2) = (/ & &7.1126e-08_rb,9.3200e-08_rb,8.6382e-08_rb,7.0395e-08_rb,1.5573e-08_rb/) kbo(:, 4,55, 2) = (/ & &8.8230e-08_rb,1.2378e-07_rb,1.1984e-07_rb,1.0085e-07_rb,2.1225e-08_rb/) kbo(:, 5,55, 2) = (/ & &1.2026e-07_rb,1.7765e-07_rb,1.7500e-07_rb,1.4721e-07_rb,2.7783e-08_rb/) kbo(:, 1,56, 2) = (/ & &5.2687e-08_rb,5.6857e-08_rb,4.7895e-08_rb,3.2001e-08_rb,6.6275e-09_rb/) kbo(:, 2,56, 2) = (/ & &5.3766e-08_rb,6.3415e-08_rb,5.5171e-08_rb,4.0341e-08_rb,8.2176e-09_rb/) kbo(:, 3,56, 2) = (/ & &5.9487e-08_rb,7.5070e-08_rb,6.7900e-08_rb,5.3874e-08_rb,1.1605e-08_rb/) kbo(:, 4,56, 2) = (/ & &7.1736e-08_rb,9.6663e-08_rb,9.1606e-08_rb,7.5983e-08_rb,1.6105e-08_rb/) kbo(:, 5,56, 2) = (/ & &9.4811e-08_rb,1.3547e-07_rb,1.3204e-07_rb,1.1036e-07_rb,2.1203e-08_rb/) kbo(:, 1,57, 2) = (/ & &4.7030e-08_rb,4.8568e-08_rb,3.9988e-08_rb,2.6219e-08_rb,4.9408e-09_rb/) kbo(:, 2,57, 2) = (/ & &4.6811e-08_rb,5.3015e-08_rb,4.5546e-08_rb,3.1769e-08_rb,6.1353e-09_rb/) kbo(:, 3,57, 2) = (/ & &5.0494e-08_rb,6.1370e-08_rb,5.4487e-08_rb,4.1710e-08_rb,8.6536e-09_rb/) kbo(:, 4,57, 2) = (/ & &5.9216e-08_rb,7.6592e-08_rb,7.0994e-08_rb,5.7693e-08_rb,1.1916e-08_rb/) kbo(:, 5,57, 2) = (/ & &7.5908e-08_rb,1.0451e-07_rb,1.0035e-07_rb,8.3097e-08_rb,1.6230e-08_rb/) kbo(:, 1,58, 2) = (/ & &2.0524e-08_rb,2.3377e-08_rb,2.2103e-08_rb,1.7291e-08_rb,3.6303e-09_rb/) kbo(:, 2,58, 2) = (/ & &2.0023e-08_rb,2.5008e-08_rb,2.4831e-08_rb,2.0273e-08_rb,4.7070e-09_rb/) kbo(:, 3,58, 2) = (/ & &2.1076e-08_rb,2.8356e-08_rb,2.8987e-08_rb,2.5840e-08_rb,6.5048e-09_rb/) kbo(:, 4,58, 2) = (/ & &2.4072e-08_rb,3.4377e-08_rb,3.6577e-08_rb,3.5144e-08_rb,8.9689e-09_rb/) kbo(:, 5,58, 2) = (/ & &3.0004e-08_rb,4.5626e-08_rb,5.0474e-08_rb,4.9976e-08_rb,1.2428e-08_rb/) kbo(:, 1,59, 2) = (/ & &1.7700e-08_rb,1.9843e-08_rb,1.8643e-08_rb,1.4520e-08_rb,2.9679e-09_rb/) kbo(:, 2,59, 2) = (/ & &1.7149e-08_rb,2.1008e-08_rb,2.0747e-08_rb,1.6830e-08_rb,3.9081e-09_rb/) kbo(:, 3,59, 2) = (/ & &1.7873e-08_rb,2.3612e-08_rb,2.4046e-08_rb,2.1098e-08_rb,5.4593e-09_rb/) kbo(:, 4,59, 2) = (/ & &2.0201e-08_rb,2.8287e-08_rb,2.9905e-08_rb,2.8473e-08_rb,7.4791e-09_rb/) kbo(:, 5,59, 2) = (/ & &2.4905e-08_rb,3.7065e-08_rb,4.0703e-08_rb,4.0125e-08_rb,1.0391e-08_rb/) kbo(:, 1,13, 3) = (/ & &7.5570e-04_rb,1.0772e-03_rb,1.0524e-03_rb,8.5610e-04_rb,5.7960e-04_rb/) kbo(:, 2,13, 3) = (/ & &1.1289e-03_rb,1.5736e-03_rb,1.5191e-03_rb,1.2213e-03_rb,7.5295e-04_rb/) kbo(:, 3,13, 3) = (/ & &1.7896e-03_rb,2.3714e-03_rb,2.2650e-03_rb,1.7547e-03_rb,9.2113e-04_rb/) kbo(:, 4,13, 3) = (/ & &2.8881e-03_rb,3.6381e-03_rb,3.3414e-03_rb,2.5211e-03_rb,1.0886e-03_rb/) kbo(:, 5,13, 3) = (/ & &4.6526e-03_rb,5.5012e-03_rb,4.9005e-03_rb,3.6099e-03_rb,1.2715e-03_rb/) kbo(:, 1,14, 3) = (/ & &6.5628e-04_rb,9.2369e-04_rb,9.0249e-04_rb,7.3144e-04_rb,5.2166e-04_rb/) kbo(:, 2,14, 3) = (/ & &1.0001e-03_rb,1.3681e-03_rb,1.3197e-03_rb,1.0469e-03_rb,6.6148e-04_rb/) kbo(:, 3,14, 3) = (/ & &1.6037e-03_rb,2.0859e-03_rb,1.9738e-03_rb,1.5151e-03_rb,7.9350e-04_rb/) kbo(:, 4,14, 3) = (/ & &2.6225e-03_rb,3.2284e-03_rb,2.9281e-03_rb,2.1941e-03_rb,9.2716e-04_rb/) kbo(:, 5,14, 3) = (/ & &4.2437e-03_rb,4.9002e-03_rb,4.3187e-03_rb,3.1691e-03_rb,1.0609e-03_rb/) kbo(:, 1,15, 3) = (/ & &5.5021e-04_rb,7.7058e-04_rb,7.4997e-04_rb,6.0721e-04_rb,4.5513e-04_rb/) kbo(:, 2,15, 3) = (/ & &8.5046e-04_rb,1.1533e-03_rb,1.1173e-03_rb,8.7626e-04_rb,5.6093e-04_rb/) kbo(:, 3,15, 3) = (/ & &1.3828e-03_rb,1.7898e-03_rb,1.6630e-03_rb,1.2772e-03_rb,6.6129e-04_rb/) kbo(:, 4,15, 3) = (/ & &2.2885e-03_rb,2.7671e-03_rb,2.4977e-03_rb,1.8674e-03_rb,7.6057e-04_rb/) kbo(:, 5,15, 3) = (/ & &3.7000e-03_rb,4.2354e-03_rb,3.7118e-03_rb,2.7146e-03_rb,8.7024e-04_rb/) kbo(:, 1,16, 3) = (/ & &4.5181e-04_rb,6.3192e-04_rb,6.1748e-04_rb,4.9522e-04_rb,3.6566e-04_rb/) kbo(:, 2,16, 3) = (/ & &7.0837e-04_rb,9.6443e-04_rb,9.2028e-04_rb,7.2449e-04_rb,4.4224e-04_rb/) kbo(:, 3,16, 3) = (/ & &1.1719e-03_rb,1.5071e-03_rb,1.3916e-03_rb,1.0704e-03_rb,5.1878e-04_rb/) kbo(:, 4,16, 3) = (/ & &1.9347e-03_rb,2.3410e-03_rb,2.1054e-03_rb,1.5750e-03_rb,5.9381e-04_rb/) kbo(:, 5,16, 3) = (/ & &3.1267e-03_rb,3.5933e-03_rb,3.1446e-03_rb,2.3012e-03_rb,6.8790e-04_rb/) kbo(:, 1,17, 3) = (/ & &3.7149e-04_rb,5.2008e-04_rb,5.0762e-04_rb,4.0757e-04_rb,2.8847e-04_rb/) kbo(:, 2,17, 3) = (/ & &5.8832e-04_rb,8.0612e-04_rb,7.6169e-04_rb,6.0348e-04_rb,3.4723e-04_rb/) kbo(:, 3,17, 3) = (/ & &9.7995e-04_rb,1.2582e-03_rb,1.1654e-03_rb,8.9803e-04_rb,4.0483e-04_rb/) kbo(:, 4,17, 3) = (/ & &1.6147e-03_rb,1.9685e-03_rb,1.7733e-03_rb,1.3298e-03_rb,4.7136e-04_rb/) kbo(:, 5,17, 3) = (/ & &2.6071e-03_rb,3.0247e-03_rb,2.6450e-03_rb,1.9458e-03_rb,5.5921e-04_rb/) kbo(:, 1,18, 3) = (/ & &3.0061e-04_rb,4.2884e-04_rb,4.1648e-04_rb,3.3754e-04_rb,2.3127e-04_rb/) kbo(:, 2,18, 3) = (/ & &4.8246e-04_rb,6.6793e-04_rb,6.3270e-04_rb,5.0432e-04_rb,2.7279e-04_rb/) kbo(:, 3,18, 3) = (/ & &8.0392e-04_rb,1.0486e-03_rb,9.7147e-04_rb,7.5301e-04_rb,3.2007e-04_rb/) kbo(:, 4,18, 3) = (/ & &1.3260e-03_rb,1.6386e-03_rb,1.4792e-03_rb,1.1164e-03_rb,3.8144e-04_rb/) kbo(:, 5,18, 3) = (/ & &2.1473e-03_rb,2.5126e-03_rb,2.2067e-03_rb,1.6276e-03_rb,4.4653e-04_rb/) kbo(:, 1,19, 3) = (/ & &2.4724e-04_rb,3.5910e-04_rb,3.4734e-04_rb,2.8349e-04_rb,1.8511e-04_rb/) kbo(:, 2,19, 3) = (/ & &4.0125e-04_rb,5.6017e-04_rb,5.3189e-04_rb,4.2493e-04_rb,2.2055e-04_rb/) kbo(:, 3,19, 3) = (/ & &6.6924e-04_rb,8.8342e-04_rb,8.2067e-04_rb,6.3860e-04_rb,2.6260e-04_rb/) kbo(:, 4,19, 3) = (/ & &1.1061e-03_rb,1.3792e-03_rb,1.2462e-03_rb,9.4376e-04_rb,3.1226e-04_rb/) kbo(:, 5,19, 3) = (/ & &1.7964e-03_rb,2.1126e-03_rb,1.8583e-03_rb,1.3721e-03_rb,3.6746e-04_rb/) kbo(:, 1,20, 3) = (/ & &2.0934e-04_rb,3.0700e-04_rb,2.9722e-04_rb,2.4267e-04_rb,1.4926e-04_rb/) kbo(:, 2,20, 3) = (/ & &3.4260e-04_rb,4.8187e-04_rb,4.5763e-04_rb,3.6566e-04_rb,1.7991e-04_rb/) kbo(:, 3,20, 3) = (/ & &5.7163e-04_rb,7.5991e-04_rb,7.0644e-04_rb,5.4990e-04_rb,2.1557e-04_rb/) kbo(:, 4,20, 3) = (/ & &9.4873e-04_rb,1.1845e-03_rb,1.0719e-03_rb,8.1150e-04_rb,2.5564e-04_rb/) kbo(:, 5,20, 3) = (/ & &1.5383e-03_rb,1.8175e-03_rb,1.5965e-03_rb,1.1755e-03_rb,3.0407e-04_rb/) kbo(:, 1,21, 3) = (/ & &1.7843e-04_rb,2.6350e-04_rb,2.5564e-04_rb,2.0870e-04_rb,1.2133e-04_rb/) kbo(:, 2,21, 3) = (/ & &2.9332e-04_rb,4.1557e-04_rb,3.9544e-04_rb,3.1597e-04_rb,1.4677e-04_rb/) kbo(:, 3,21, 3) = (/ & &4.9132e-04_rb,6.5537e-04_rb,6.0874e-04_rb,4.7437e-04_rb,1.7728e-04_rb/) kbo(:, 4,21, 3) = (/ & &8.1854e-04_rb,1.0220e-03_rb,9.2374e-04_rb,6.9881e-04_rb,2.1085e-04_rb/) kbo(:, 5,21, 3) = (/ & &1.3233e-03_rb,1.5674e-03_rb,1.3737e-03_rb,1.0105e-03_rb,2.5000e-04_rb/) kbo(:, 1,22, 3) = (/ & &1.5600e-04_rb,2.3165e-04_rb,2.2455e-04_rb,1.8380e-04_rb,9.8965e-05_rb/) kbo(:, 2,22, 3) = (/ & &2.5879e-04_rb,3.6647e-04_rb,3.4891e-04_rb,2.7934e-04_rb,1.2038e-04_rb/) kbo(:, 3,22, 3) = (/ & &4.3583e-04_rb,5.7888e-04_rb,5.3753e-04_rb,4.1782e-04_rb,1.4492e-04_rb/) kbo(:, 4,22, 3) = (/ & &7.2393e-04_rb,9.0328e-04_rb,8.1451e-04_rb,6.1366e-04_rb,1.7404e-04_rb/) kbo(:, 5,22, 3) = (/ & &1.1641e-03_rb,1.3807e-03_rb,1.2062e-03_rb,8.8532e-04_rb,2.0548e-04_rb/) kbo(:, 1,23, 3) = (/ & &1.3677e-04_rb,2.0433e-04_rb,1.9788e-04_rb,1.6232e-04_rb,8.0071e-05_rb/) kbo(:, 2,23, 3) = (/ & &2.2851e-04_rb,3.2392e-04_rb,3.0774e-04_rb,2.4623e-04_rb,9.8059e-05_rb/) kbo(:, 3,23, 3) = (/ & &3.8639e-04_rb,5.1167e-04_rb,4.7457e-04_rb,3.6749e-04_rb,1.1880e-04_rb/) kbo(:, 4,23, 3) = (/ & &6.3801e-04_rb,7.9694e-04_rb,7.1675e-04_rb,5.3954e-04_rb,1.4295e-04_rb/) kbo(:, 5,23, 3) = (/ & &1.0211e-03_rb,1.2096e-03_rb,1.0561e-03_rb,7.7552e-04_rb,1.6841e-04_rb/) kbo(:, 1,24, 3) = (/ & &1.2065e-04_rb,1.8059e-04_rb,1.7513e-04_rb,1.4381e-04_rb,6.4790e-05_rb/) kbo(:, 2,24, 3) = (/ & &2.0387e-04_rb,2.8742e-04_rb,2.7331e-04_rb,2.1771e-04_rb,7.9169e-05_rb/) kbo(:, 3,24, 3) = (/ & &3.4413e-04_rb,4.5518e-04_rb,4.2044e-04_rb,3.2458e-04_rb,9.5995e-05_rb/) kbo(:, 4,24, 3) = (/ & &5.6569e-04_rb,7.0542e-04_rb,6.3169e-04_rb,4.7542e-04_rb,1.1593e-04_rb/) kbo(:, 5,24, 3) = (/ & &8.9817e-04_rb,1.0616e-03_rb,9.2695e-04_rb,6.8043e-04_rb,1.3621e-04_rb/) kbo(:, 1,25, 3) = (/ & &1.0740e-04_rb,1.6092e-04_rb,1.5588e-04_rb,1.2763e-04_rb,5.2835e-05_rb/) kbo(:, 2,25, 3) = (/ & &1.8277e-04_rb,2.5653e-04_rb,2.4346e-04_rb,1.9325e-04_rb,6.4708e-05_rb/) kbo(:, 3,25, 3) = (/ & &3.0775e-04_rb,4.0577e-04_rb,3.7301e-04_rb,2.8766e-04_rb,7.8479e-05_rb/) kbo(:, 4,25, 3) = (/ & &5.0348e-04_rb,6.2434e-04_rb,5.5838e-04_rb,4.1972e-04_rb,9.2999e-05_rb/) kbo(:, 5,25, 3) = (/ & &7.9236e-04_rb,9.3393e-04_rb,8.1486e-04_rb,5.9712e-04_rb,1.1091e-04_rb/) kbo(:, 1,26, 3) = (/ & &9.7543e-05_rb,1.4515e-04_rb,1.4079e-04_rb,1.1469e-04_rb,4.3203e-05_rb/) kbo(:, 2,26, 3) = (/ & &1.6637e-04_rb,2.3211e-04_rb,2.1906e-04_rb,1.7338e-04_rb,5.3501e-05_rb/) kbo(:, 3,26, 3) = (/ & &2.7898e-04_rb,3.6497e-04_rb,3.3420e-04_rb,2.5717e-04_rb,6.4391e-05_rb/) kbo(:, 4,26, 3) = (/ & &4.5278e-04_rb,5.5785e-04_rb,4.9753e-04_rb,3.7293e-04_rb,7.6357e-05_rb/) kbo(:, 5,26, 3) = (/ & &7.0495e-04_rb,8.2859e-04_rb,7.2055e-04_rb,5.2702e-04_rb,9.1483e-05_rb/) kbo(:, 1,27, 3) = (/ & &8.8905e-05_rb,1.3136e-04_rb,1.2690e-04_rb,1.0312e-04_rb,3.5556e-05_rb/) kbo(:, 2,27, 3) = (/ & &1.5157e-04_rb,2.0993e-04_rb,1.9708e-04_rb,1.5550e-04_rb,4.3708e-05_rb/) kbo(:, 3,27, 3) = (/ & &2.5313e-04_rb,3.2779e-04_rb,2.9943e-04_rb,2.2974e-04_rb,5.2449e-05_rb/) kbo(:, 4,27, 3) = (/ & &4.0707e-04_rb,4.9850e-04_rb,4.4267e-04_rb,3.3107e-04_rb,6.3153e-05_rb/) kbo(:, 5,27, 3) = (/ & &6.2804e-04_rb,7.3434e-04_rb,6.3748e-04_rb,4.6470e-04_rb,7.4410e-05_rb/) kbo(:, 1,28, 3) = (/ & &8.1071e-05_rb,1.1893e-04_rb,1.1441e-04_rb,9.2670e-05_rb,2.9048e-05_rb/) kbo(:, 2,28, 3) = (/ & &1.3818e-04_rb,1.8937e-04_rb,1.7730e-04_rb,1.3932e-04_rb,3.5467e-05_rb/) kbo(:, 3,28, 3) = (/ & &2.2925e-04_rb,2.9449e-04_rb,2.6762e-04_rb,2.0484e-04_rb,4.2994e-05_rb/) kbo(:, 4,28, 3) = (/ & &3.6544e-04_rb,4.4427e-04_rb,3.9356e-04_rb,2.9338e-04_rb,5.1335e-05_rb/) kbo(:, 5,28, 3) = (/ & &5.5873e-04_rb,6.5113e-04_rb,5.6346e-04_rb,4.0933e-04_rb,6.0144e-05_rb/) kbo(:, 1,29, 3) = (/ & &7.4203e-05_rb,1.0781e-04_rb,1.0341e-04_rb,8.3458e-05_rb,2.3671e-05_rb/) kbo(:, 2,29, 3) = (/ & &1.2605e-04_rb,1.7113e-04_rb,1.5936e-04_rb,1.2487e-04_rb,2.9121e-05_rb/) kbo(:, 3,29, 3) = (/ & &2.0703e-04_rb,2.6395e-04_rb,2.3919e-04_rb,1.8248e-04_rb,3.5057e-05_rb/) kbo(:, 4,29, 3) = (/ & &3.2741e-04_rb,3.9598e-04_rb,3.4952e-04_rb,2.5961e-04_rb,4.1444e-05_rb/) kbo(:, 5,29, 3) = (/ & &4.9624e-04_rb,5.7661e-04_rb,4.9724e-04_rb,3.6006e-04_rb,4.8751e-05_rb/) kbo(:, 1,30, 3) = (/ & &6.7677e-05_rb,9.7468e-05_rb,9.3138e-05_rb,7.4923e-05_rb,1.9287e-05_rb/) kbo(:, 2,30, 3) = (/ & &1.1431e-04_rb,1.5374e-04_rb,1.4284e-04_rb,1.1153e-04_rb,2.3591e-05_rb/) kbo(:, 3,30, 3) = (/ & &1.8623e-04_rb,2.3583e-04_rb,2.1291e-04_rb,1.6193e-04_rb,2.8158e-05_rb/) kbo(:, 4,30, 3) = (/ & &2.9180e-04_rb,3.5163e-04_rb,3.0921e-04_rb,2.2892e-04_rb,3.3328e-05_rb/) kbo(:, 5,30, 3) = (/ & &4.3918e-04_rb,5.0854e-04_rb,4.3751e-04_rb,3.1569e-04_rb,3.9501e-05_rb/) kbo(:, 1,31, 3) = (/ & &6.1393e-05_rb,8.7694e-05_rb,8.3630e-05_rb,6.7048e-05_rb,1.5382e-05_rb/) kbo(:, 2,31, 3) = (/ & &1.0290e-04_rb,1.3743e-04_rb,1.2731e-04_rb,9.9241e-05_rb,1.8651e-05_rb/) kbo(:, 3,31, 3) = (/ & &1.6626e-04_rb,2.0956e-04_rb,1.8851e-04_rb,1.4301e-04_rb,2.2748e-05_rb/) kbo(:, 4,31, 3) = (/ & &2.5819e-04_rb,3.1016e-04_rb,2.7211e-04_rb,2.0081e-04_rb,2.7039e-05_rb/) kbo(:, 5,31, 3) = (/ & &3.8535e-04_rb,4.4535e-04_rb,3.8254e-04_rb,2.7522e-04_rb,3.1790e-05_rb/) kbo(:, 1,32, 3) = (/ & &5.5908e-05_rb,7.9178e-05_rb,7.5227e-05_rb,6.0166e-05_rb,1.2301e-05_rb/) kbo(:, 2,32, 3) = (/ & &9.3029e-05_rb,1.2336e-04_rb,1.1373e-04_rb,8.8415e-05_rb,1.5236e-05_rb/) kbo(:, 3,32, 3) = (/ & &1.4900e-04_rb,1.8677e-04_rb,1.6744e-04_rb,1.2652e-04_rb,1.8544e-05_rb/) kbo(:, 4,32, 3) = (/ & &2.2938e-04_rb,2.7443e-04_rb,2.4002e-04_rb,1.7648e-04_rb,2.2012e-05_rb/) kbo(:, 5,32, 3) = (/ & &3.3936e-04_rb,3.9112e-04_rb,3.3532e-04_rb,2.4040e-04_rb,2.5885e-05_rb/) kbo(:, 1,33, 3) = (/ & &5.1027e-05_rb,7.1592e-05_rb,6.7752e-05_rb,5.3984e-05_rb,1.0069e-05_rb/) kbo(:, 2,33, 3) = (/ & &8.4306e-05_rb,1.1082e-04_rb,1.0178e-04_rb,7.8786e-05_rb,1.2424e-05_rb/) kbo(:, 3,33, 3) = (/ & &1.3378e-04_rb,1.6666e-04_rb,1.4886e-04_rb,1.1198e-04_rb,1.5017e-05_rb/) kbo(:, 4,33, 3) = (/ & &2.0407e-04_rb,2.4310e-04_rb,2.1204e-04_rb,1.5519e-04_rb,1.7833e-05_rb/) kbo(:, 5,33, 3) = (/ & &2.9932e-04_rb,3.4399e-04_rb,2.9425e-04_rb,2.1002e-04_rb,2.0751e-05_rb/) kbo(:, 1,34, 3) = (/ & &4.6423e-05_rb,6.4385e-05_rb,6.0651e-05_rb,4.8084e-05_rb,8.2313e-06_rb/) kbo(:, 2,34, 3) = (/ & &7.6075e-05_rb,9.9124e-05_rb,9.0586e-05_rb,6.9780e-05_rb,1.0168e-05_rb/) kbo(:, 3,34, 3) = (/ & &1.1981e-04_rb,1.4811e-04_rb,1.3176e-04_rb,9.8597e-05_rb,1.2205e-05_rb/) kbo(:, 4,34, 3) = (/ & &1.8123e-04_rb,2.1472e-04_rb,1.8662e-04_rb,1.3590e-04_rb,1.4492e-05_rb/) kbo(:, 5,34, 3) = (/ & &2.6376e-04_rb,3.0190e-04_rb,2.5753e-04_rb,1.8301e-04_rb,1.6946e-05_rb/) kbo(:, 1,35, 3) = (/ & &4.0215e-05_rb,5.5516e-05_rb,5.2178e-05_rb,4.1265e-05_rb,6.6300e-06_rb/) kbo(:, 2,35, 3) = (/ & &6.5646e-05_rb,8.5207e-05_rb,7.7691e-05_rb,5.9694e-05_rb,8.1351e-06_rb/) kbo(:, 3,35, 3) = (/ & &1.0298e-04_rb,1.2694e-04_rb,1.1266e-04_rb,8.4059e-05_rb,9.8103e-06_rb/) kbo(:, 4,35, 3) = (/ & &1.5503e-04_rb,1.8334e-04_rb,1.5905e-04_rb,1.1551e-04_rb,1.1630e-05_rb/) kbo(:, 5,35, 3) = (/ & &2.2476e-04_rb,2.5697e-04_rb,2.1886e-04_rb,1.5514e-04_rb,1.3591e-05_rb/) kbo(:, 1,36, 3) = (/ & &3.2994e-05_rb,4.5660e-05_rb,4.2930e-05_rb,3.3969e-05_rb,5.1542e-06_rb/) kbo(:, 2,36, 3) = (/ & &5.3916e-05_rb,7.0104e-05_rb,6.3946e-05_rb,4.9132e-05_rb,6.3498e-06_rb/) kbo(:, 3,36, 3) = (/ & &8.4552e-05_rb,1.0443e-04_rb,9.2717e-05_rb,6.9170e-05_rb,7.6665e-06_rb/) kbo(:, 4,36, 3) = (/ & &1.2731e-04_rb,1.5086e-04_rb,1.3088e-04_rb,9.4999e-05_rb,9.0883e-06_rb/) kbo(:, 5,36, 3) = (/ & &1.8455e-04_rb,2.1131e-04_rb,1.8000e-04_rb,1.2756e-04_rb,1.0606e-05_rb/) kbo(:, 1,37, 3) = (/ & &2.5429e-05_rb,3.5502e-05_rb,3.3507e-05_rb,2.6612e-05_rb,3.9872e-06_rb/) kbo(:, 2,37, 3) = (/ & &4.1789e-05_rb,5.4774e-05_rb,5.0118e-05_rb,3.8644e-05_rb,4.9244e-06_rb/) kbo(:, 3,37, 3) = (/ & &6.5920e-05_rb,8.1963e-05_rb,7.2974e-05_rb,5.4610e-05_rb,5.9794e-06_rb/) kbo(:, 4,37, 3) = (/ & &9.9825e-05_rb,1.1892e-04_rb,1.0339e-04_rb,7.5254e-05_rb,7.1021e-06_rb/) kbo(:, 5,37, 3) = (/ & &1.4543e-04_rb,1.6731e-04_rb,1.4273e-04_rb,1.0135e-04_rb,8.2993e-06_rb/) kbo(:, 1,38, 3) = (/ & &1.9510e-05_rb,2.7499e-05_rb,2.6048e-05_rb,2.0774e-05_rb,3.0726e-06_rb/) kbo(:, 2,38, 3) = (/ & &3.2252e-05_rb,4.2623e-05_rb,3.9146e-05_rb,3.0291e-05_rb,3.8102e-06_rb/) kbo(:, 3,38, 3) = (/ & &5.1187e-05_rb,6.4097e-05_rb,5.7223e-05_rb,4.2970e-05_rb,4.6390e-06_rb/) kbo(:, 4,38, 3) = (/ & &7.8004e-05_rb,9.3430e-05_rb,8.1421e-05_rb,5.9437e-05_rb,5.5099e-06_rb/) kbo(:, 5,38, 3) = (/ & &1.1424e-04_rb,1.3207e-04_rb,1.1286e-04_rb,8.0305e-05_rb,6.4580e-06_rb/) kbo(:, 1,39, 3) = (/ & &1.4955e-05_rb,2.1282e-05_rb,2.0237e-05_rb,1.6208e-05_rb,2.3414e-06_rb/) kbo(:, 2,39, 3) = (/ & &2.4867e-05_rb,3.3144e-05_rb,3.0547e-05_rb,2.3724e-05_rb,2.9298e-06_rb/) kbo(:, 3,39, 3) = (/ & &3.9718e-05_rb,5.0092e-05_rb,4.4848e-05_rb,3.3792e-05_rb,3.5597e-06_rb/) kbo(:, 4,39, 3) = (/ & &6.0902e-05_rb,7.3365e-05_rb,6.4080e-05_rb,4.6913e-05_rb,4.2665e-06_rb/) kbo(:, 5,39, 3) = (/ & &8.9673e-05_rb,1.0416e-04_rb,8.9163e-05_rb,6.3592e-05_rb,5.0003e-06_rb/) kbo(:, 1,40, 3) = (/ & &1.0973e-05_rb,1.5834e-05_rb,1.5141e-05_rb,1.2207e-05_rb,1.7695e-06_rb/) kbo(:, 2,40, 3) = (/ & &1.8417e-05_rb,2.4851e-05_rb,2.3037e-05_rb,1.7992e-05_rb,2.2304e-06_rb/) kbo(:, 3,40, 3) = (/ & &2.9718e-05_rb,3.7867e-05_rb,3.4065e-05_rb,2.5810e-05_rb,2.7325e-06_rb/) kbo(:, 4,40, 3) = (/ & &4.6050e-05_rb,5.5927e-05_rb,4.9024e-05_rb,3.6065e-05_rb,3.2836e-06_rb/) kbo(:, 5,40, 3) = (/ & &6.8462e-05_rb,8.0022e-05_rb,6.8684e-05_rb,4.9179e-05_rb,3.8780e-06_rb/) kbo(:, 1,41, 3) = (/ & &7.9936e-06_rb,1.1702e-05_rb,1.1250e-05_rb,9.1326e-06_rb,1.3289e-06_rb/) kbo(:, 2,41, 3) = (/ & &1.3541e-05_rb,1.8510e-05_rb,1.7261e-05_rb,1.3563e-05_rb,1.6876e-06_rb/) kbo(:, 3,41, 3) = (/ & &2.2085e-05_rb,2.8450e-05_rb,2.5728e-05_rb,1.9606e-05_rb,2.0896e-06_rb/) kbo(:, 4,41, 3) = (/ & &3.4599e-05_rb,4.2393e-05_rb,3.7310e-05_rb,2.7591e-05_rb,2.5142e-06_rb/) kbo(:, 5,41, 3) = (/ & &5.1973e-05_rb,6.1166e-05_rb,5.2649e-05_rb,3.7859e-05_rb,2.9985e-06_rb/) kbo(:, 1,42, 3) = (/ & &5.8131e-06_rb,8.6287e-06_rb,8.3395e-06_rb,6.8180e-06_rb,9.9321e-07_rb/) kbo(:, 2,42, 3) = (/ & &9.9286e-06_rb,1.3753e-05_rb,1.2903e-05_rb,1.0201e-05_rb,1.2739e-06_rb/) kbo(:, 3,42, 3) = (/ & &1.6369e-05_rb,2.1324e-05_rb,1.9387e-05_rb,1.4861e-05_rb,1.5862e-06_rb/) kbo(:, 4,42, 3) = (/ & &2.5917e-05_rb,3.2058e-05_rb,2.8333e-05_rb,2.1064e-05_rb,1.9289e-06_rb/) kbo(:, 5,42, 3) = (/ & &3.9355e-05_rb,4.6652e-05_rb,4.0275e-05_rb,2.9099e-05_rb,2.3091e-06_rb/) kbo(:, 1,43, 3) = (/ & &4.1379e-06_rb,6.2276e-06_rb,6.0505e-06_rb,4.9862e-06_rb,7.3153e-07_rb/) kbo(:, 2,43, 3) = (/ & &7.1228e-06_rb,1.0012e-05_rb,9.4538e-06_rb,7.5288e-06_rb,9.4466e-07_rb/) kbo(:, 3,43, 3) = (/ & &1.1889e-05_rb,1.5688e-05_rb,1.4350e-05_rb,1.1075e-05_rb,1.1892e-06_rb/) kbo(:, 4,43, 3) = (/ & &1.9074e-05_rb,2.3844e-05_rb,2.1179e-05_rb,1.5845e-05_rb,1.4637e-06_rb/) kbo(:, 5,43, 3) = (/ & &2.9351e-05_rb,3.5073e-05_rb,3.0382e-05_rb,2.2068e-05_rb,1.7581e-06_rb/) kbo(:, 1,44, 3) = (/ & &2.9204e-06_rb,4.4462e-06_rb,4.3423e-06_rb,3.6069e-06_rb,5.3481e-07_rb/) kbo(:, 2,44, 3) = (/ & &5.0527e-06_rb,7.2110e-06_rb,6.8508e-06_rb,5.4982e-06_rb,6.9481e-07_rb/) kbo(:, 3,44, 3) = (/ & &8.5402e-06_rb,1.1419e-05_rb,1.0515e-05_rb,8.1724e-06_rb,8.8543e-07_rb/) kbo(:, 4,44, 3) = (/ & &1.3894e-05_rb,1.7562e-05_rb,1.5682e-05_rb,1.1814e-05_rb,1.0984e-06_rb/) kbo(:, 5,44, 3) = (/ & &2.1692e-05_rb,2.6150e-05_rb,2.2738e-05_rb,1.6619e-05_rb,1.3258e-06_rb/) kbo(:, 1,45, 3) = (/ & &2.0654e-06_rb,3.1706e-06_rb,3.1106e-06_rb,2.6027e-06_rb,3.8843e-07_rb/) kbo(:, 2,45, 3) = (/ & &3.5785e-06_rb,5.1800e-06_rb,4.9498e-06_rb,4.0029e-06_rb,5.0552e-07_rb/) kbo(:, 3,45, 3) = (/ & &6.1156e-06_rb,8.2899e-06_rb,7.6825e-06_rb,6.0114e-06_rb,6.4899e-07_rb/) kbo(:, 4,45, 3) = (/ & &1.0090e-05_rb,1.2899e-05_rb,1.1584e-05_rb,8.7849e-06_rb,8.1182e-07_rb/) kbo(:, 5,45, 3) = (/ & &1.5974e-05_rb,1.9436e-05_rb,1.6972e-05_rb,1.2481e-05_rb,9.9260e-07_rb/) kbo(:, 1,46, 3) = (/ & &1.4538e-06_rb,2.2381e-06_rb,2.2044e-06_rb,1.8570e-06_rb,2.7780e-07_rb/) kbo(:, 2,46, 3) = (/ & &2.5054e-06_rb,3.6761e-06_rb,3.5333e-06_rb,2.8803e-06_rb,3.6666e-07_rb/) kbo(:, 3,46, 3) = (/ & &4.3205e-06_rb,5.9430e-06_rb,5.5451e-06_rb,4.3709e-06_rb,4.7052e-07_rb/) kbo(:, 4,46, 3) = (/ & &7.2299e-06_rb,9.3616e-06_rb,8.4601e-06_rb,6.4628e-06_rb,5.9539e-07_rb/) kbo(:, 5,46, 3) = (/ & &1.1621e-05_rb,1.4285e-05_rb,1.2535e-05_rb,9.2836e-06_rb,7.3565e-07_rb/) kbo(:, 1,47, 3) = (/ & &1.0143e-06_rb,1.5538e-06_rb,1.5325e-06_rb,1.2979e-06_rb,1.9733e-07_rb/) kbo(:, 2,47, 3) = (/ & &1.7208e-06_rb,2.5538e-06_rb,2.4694e-06_rb,2.0305e-06_rb,2.6304e-07_rb/) kbo(:, 3,47, 3) = (/ & &2.9828e-06_rb,4.1702e-06_rb,3.9202e-06_rb,3.1167e-06_rb,3.4065e-07_rb/) kbo(:, 4,47, 3) = (/ & &5.0644e-06_rb,6.6541e-06_rb,6.0593e-06_rb,4.6660e-06_rb,4.3326e-07_rb/) kbo(:, 5,47, 3) = (/ & &8.2782e-06_rb,1.0300e-05_rb,9.0956e-06_rb,6.7879e-06_rb,5.4017e-07_rb/) kbo(:, 1,48, 3) = (/ & &7.2030e-07_rb,1.0845e-06_rb,1.0676e-06_rb,9.0611e-07_rb,1.3761e-07_rb/) kbo(:, 2,48, 3) = (/ & &1.1872e-06_rb,1.7730e-06_rb,1.7228e-06_rb,1.4271e-06_rb,1.8706e-07_rb/) kbo(:, 3,48, 3) = (/ & &2.0561e-06_rb,2.9161e-06_rb,2.7609e-06_rb,2.2135e-06_rb,2.4544e-07_rb/) kbo(:, 4,48, 3) = (/ & &3.5327e-06_rb,4.7102e-06_rb,4.3223e-06_rb,3.3540e-06_rb,3.1231e-07_rb/) kbo(:, 5,48, 3) = (/ & &5.8701e-06_rb,7.3943e-06_rb,6.5729e-06_rb,4.9432e-06_rb,3.9364e-07_rb/) kbo(:, 1,49, 3) = (/ & &5.2463e-07_rb,7.6406e-07_rb,7.4789e-07_rb,6.3224e-07_rb,9.4269e-08_rb/) kbo(:, 2,49, 3) = (/ & &8.2733e-07_rb,1.2326e-06_rb,1.2007e-06_rb,1.0005e-06_rb,1.3092e-07_rb/) kbo(:, 3,49, 3) = (/ & &1.4174e-06_rb,2.0342e-06_rb,1.9376e-06_rb,1.5657e-06_rb,1.7460e-07_rb/) kbo(:, 4,49, 3) = (/ & &2.4552e-06_rb,3.3221e-06_rb,3.0702e-06_rb,2.4004e-06_rb,2.2553e-07_rb/) kbo(:, 5,49, 3) = (/ & &4.1423e-06_rb,5.2851e-06_rb,4.7305e-06_rb,3.5840e-06_rb,2.8424e-07_rb/) kbo(:, 1,50, 3) = (/ & &3.9659e-07_rb,5.5178e-07_rb,5.3440e-07_rb,4.4722e-07_rb,6.5930e-08_rb/) kbo(:, 2,50, 3) = (/ & &5.9210e-07_rb,8.7140e-07_rb,8.4803e-07_rb,7.0817e-07_rb,9.3562e-08_rb/) kbo(:, 3,50, 3) = (/ & &9.9396e-07_rb,1.4345e-06_rb,1.3722e-06_rb,1.1160e-06_rb,1.2619e-07_rb/) kbo(:, 4,50, 3) = (/ & &1.7258e-06_rb,2.3624e-06_rb,2.1973e-06_rb,1.7292e-06_rb,1.6444e-07_rb/) kbo(:, 5,50, 3) = (/ & &2.9480e-06_rb,3.8052e-06_rb,3.4270e-06_rb,2.6131e-06_rb,2.0855e-07_rb/) kbo(:, 1,51, 3) = (/ & &3.0780e-07_rb,4.0724e-07_rb,3.8772e-07_rb,3.1909e-07_rb,4.7152e-08_rb/) kbo(:, 2,51, 3) = (/ & &4.3389e-07_rb,6.2376e-07_rb,6.0442e-07_rb,5.0387e-07_rb,6.6848e-08_rb/) kbo(:, 3,51, 3) = (/ & &7.0578e-07_rb,1.0183e-06_rb,9.7661e-07_rb,7.9773e-07_rb,9.1673e-08_rb/) kbo(:, 4,51, 3) = (/ & &1.2202e-06_rb,1.6857e-06_rb,1.5762e-06_rb,1.2481e-06_rb,1.2080e-07_rb/) kbo(:, 5,51, 3) = (/ & &2.1050e-06_rb,2.7463e-06_rb,2.4878e-06_rb,1.9078e-06_rb,1.5488e-07_rb/) kbo(:, 1,52, 3) = (/ & &2.4467e-07_rb,3.0672e-07_rb,2.8540e-07_rb,2.2927e-07_rb,3.3766e-08_rb/) kbo(:, 2,52, 3) = (/ & &3.2577e-07_rb,4.5139e-07_rb,4.3382e-07_rb,3.5906e-07_rb,4.7409e-08_rb/) kbo(:, 3,52, 3) = (/ & &5.0672e-07_rb,7.2555e-07_rb,6.9595e-07_rb,5.7001e-07_rb,6.5991e-08_rb/) kbo(:, 4,52, 3) = (/ & &8.6516e-07_rb,1.2018e-06_rb,1.1289e-06_rb,8.9884e-07_rb,8.8646e-08_rb/) kbo(:, 5,52, 3) = (/ & &1.5011e-06_rb,1.9777e-06_rb,1.8012e-06_rb,1.3890e-06_rb,1.1411e-07_rb/) kbo(:, 1,53, 3) = (/ & &1.9893e-07_rb,2.3655e-07_rb,2.1398e-07_rb,1.6650e-07_rb,2.3697e-08_rb/) kbo(:, 2,53, 3) = (/ & &2.5083e-07_rb,3.3159e-07_rb,3.1422e-07_rb,2.5680e-07_rb,3.3792e-08_rb/) kbo(:, 3,53, 3) = (/ & &3.6925e-07_rb,5.1963e-07_rb,4.9710e-07_rb,4.0705e-07_rb,4.7057e-08_rb/) kbo(:, 4,53, 3) = (/ & &6.1624e-07_rb,8.5716e-07_rb,8.0760e-07_rb,6.4558e-07_rb,6.4327e-08_rb/) kbo(:, 5,53, 3) = (/ & &1.0701e-06_rb,1.4207e-06_rb,1.3006e-06_rb,1.0081e-06_rb,8.3703e-08_rb/) kbo(:, 1,54, 3) = (/ & &1.6569e-07_rb,1.8826e-07_rb,1.6516e-07_rb,1.2463e-07_rb,1.7341e-08_rb/) kbo(:, 2,54, 3) = (/ & &1.9916e-07_rb,2.5095e-07_rb,2.3323e-07_rb,1.8716e-07_rb,2.4743e-08_rb/) kbo(:, 3,54, 3) = (/ & &2.7800e-07_rb,3.8083e-07_rb,3.6198e-07_rb,2.9489e-07_rb,3.4593e-08_rb/) kbo(:, 4,54, 3) = (/ & &4.4953e-07_rb,6.2218e-07_rb,5.8637e-07_rb,4.6947e-07_rb,4.7657e-08_rb/) kbo(:, 5,54, 3) = (/ & &7.7653e-07_rb,1.0348e-06_rb,9.5106e-07_rb,7.3964e-07_rb,6.2914e-08_rb/) kbo(:, 1,55, 3) = (/ & &1.4043e-07_rb,1.5348e-07_rb,1.3050e-07_rb,9.5790e-08_rb,1.3021e-08_rb/) kbo(:, 2,55, 3) = (/ & &1.6195e-07_rb,1.9454e-07_rb,1.7661e-07_rb,1.3842e-07_rb,1.8310e-08_rb/) kbo(:, 3,55, 3) = (/ & &2.1498e-07_rb,2.8400e-07_rb,2.6714e-07_rb,2.1561e-07_rb,2.5769e-08_rb/) kbo(:, 4,55, 3) = (/ & &3.3384e-07_rb,4.5663e-07_rb,4.2946e-07_rb,3.4367e-07_rb,3.5731e-08_rb/) kbo(:, 5,55, 3) = (/ & &5.6980e-07_rb,7.5956e-07_rb,6.9954e-07_rb,5.4544e-07_rb,4.7978e-08_rb/) kbo(:, 1,56, 3) = (/ & &1.2086e-07_rb,1.2723e-07_rb,1.0539e-07_rb,7.4446e-08_rb,9.2261e-09_rb/) kbo(:, 2,56, 3) = (/ & &1.3434e-07_rb,1.5407e-07_rb,1.3616e-07_rb,1.0396e-07_rb,1.3447e-08_rb/) kbo(:, 3,56, 3) = (/ & &1.7000e-07_rb,2.1506e-07_rb,1.9916e-07_rb,1.5861e-07_rb,1.9233e-08_rb/) kbo(:, 4,56, 3) = (/ & &2.5155e-07_rb,3.3746e-07_rb,3.1592e-07_rb,2.5204e-07_rb,2.6859e-08_rb/) kbo(:, 5,56, 3) = (/ & &4.2088e-07_rb,5.5907e-07_rb,5.1525e-07_rb,4.0220e-07_rb,3.6549e-08_rb/) kbo(:, 1,57, 3) = (/ & &1.0553e-07_rb,1.0707e-07_rb,8.7153e-08_rb,5.8944e-08_rb,6.8033e-09_rb/) kbo(:, 2,57, 3) = (/ & &1.1362e-07_rb,1.2487e-07_rb,1.0708e-07_rb,7.9506e-08_rb,9.8943e-09_rb/) kbo(:, 3,57, 3) = (/ & &1.3729e-07_rb,1.6577e-07_rb,1.5039e-07_rb,1.1755e-07_rb,1.4310e-08_rb/) kbo(:, 4,57, 3) = (/ & &1.9303e-07_rb,2.5185e-07_rb,2.3386e-07_rb,1.8533e-07_rb,2.0155e-08_rb/) kbo(:, 5,57, 3) = (/ & &3.1378e-07_rb,4.1313e-07_rb,3.8025e-07_rb,2.9656e-07_rb,2.7619e-08_rb/) kbo(:, 1,58, 3) = (/ & &4.5186e-08_rb,5.0890e-08_rb,4.7832e-08_rb,3.7472e-08_rb,5.1696e-09_rb/) kbo(:, 2,58, 3) = (/ & &4.7401e-08_rb,5.7618e-08_rb,5.6357e-08_rb,4.8955e-08_rb,7.4243e-09_rb/) kbo(:, 3,58, 3) = (/ & &5.5010e-08_rb,7.2882e-08_rb,7.5797e-08_rb,7.0136e-08_rb,1.0687e-08_rb/) kbo(:, 4,58, 3) = (/ & &7.3718e-08_rb,1.0653e-07_rb,1.1470e-07_rb,1.0884e-07_rb,1.5198e-08_rb/) kbo(:, 5,58, 3) = (/ & &1.1547e-07_rb,1.7203e-07_rb,1.8517e-07_rb,1.7422e-07_rb,2.1153e-08_rb/) kbo(:, 1,59, 3) = (/ & &3.8720e-08_rb,4.3027e-08_rb,4.0190e-08_rb,3.1252e-08_rb,4.1397e-09_rb/) kbo(:, 2,59, 3) = (/ & &4.0213e-08_rb,4.8103e-08_rb,4.6638e-08_rb,4.0062e-08_rb,6.0380e-09_rb/) kbo(:, 3,59, 3) = (/ & &4.5994e-08_rb,5.9694e-08_rb,6.1452e-08_rb,5.6505e-08_rb,8.8443e-09_rb/) kbo(:, 4,59, 3) = (/ & &6.0487e-08_rb,8.5685e-08_rb,9.1743e-08_rb,8.6818e-08_rb,1.2879e-08_rb/) kbo(:, 5,59, 3) = (/ & &9.3188e-08_rb,1.3722e-07_rb,1.4752e-07_rb,1.3892e-07_rb,1.7999e-08_rb/) kbo(:, 1,13, 4) = (/ & &4.3869e-03_rb,5.0989e-03_rb,4.3794e-03_rb,3.0521e-03_rb,9.4784e-04_rb/) kbo(:, 2,13, 4) = (/ & &6.9481e-03_rb,7.8458e-03_rb,6.6078e-03_rb,4.5663e-03_rb,1.0961e-03_rb/) kbo(:, 3,13, 4) = (/ & &1.1023e-02_rb,1.1980e-02_rb,9.8280e-03_rb,6.7431e-03_rb,1.2240e-03_rb/) kbo(:, 4,13, 4) = (/ & &1.7316e-02_rb,1.8007e-02_rb,1.4661e-02_rb,9.8568e-03_rb,1.4326e-03_rb/) kbo(:, 5,13, 4) = (/ & &2.6628e-02_rb,2.6632e-02_rb,2.1301e-02_rb,1.4107e-02_rb,1.6715e-03_rb/) kbo(:, 1,14, 4) = (/ & &3.8856e-03_rb,4.5615e-03_rb,3.8907e-03_rb,2.6924e-03_rb,7.6763e-04_rb/) kbo(:, 2,14, 4) = (/ & &6.2253e-03_rb,7.0528e-03_rb,5.8968e-03_rb,4.0418e-03_rb,8.6051e-04_rb/) kbo(:, 3,14, 4) = (/ & &1.0002e-02_rb,1.0752e-02_rb,8.8582e-03_rb,6.0065e-03_rb,1.0065e-03_rb/) kbo(:, 4,14, 4) = (/ & &1.5699e-02_rb,1.6229e-02_rb,1.3163e-02_rb,8.7970e-03_rb,1.2227e-03_rb/) kbo(:, 5,14, 4) = (/ & &2.4269e-02_rb,2.4030e-02_rb,1.9137e-02_rb,1.2536e-02_rb,1.4474e-03_rb/) kbo(:, 1,15, 4) = (/ & &3.2659e-03_rb,3.8770e-03_rb,3.3101e-03_rb,2.3048e-03_rb,5.7573e-04_rb/) kbo(:, 2,15, 4) = (/ & &5.3241e-03_rb,6.0372e-03_rb,5.0494e-03_rb,3.4916e-03_rb,6.8321e-04_rb/) kbo(:, 3,15, 4) = (/ & &8.6002e-03_rb,9.2086e-03_rb,7.6334e-03_rb,5.1974e-03_rb,8.4736e-04_rb/) kbo(:, 4,15, 4) = (/ & &1.3547e-02_rb,1.3992e-02_rb,1.1347e-02_rb,7.5834e-03_rb,1.0287e-03_rb/) kbo(:, 5,15, 4) = (/ & &2.1009e-02_rb,2.0762e-02_rb,1.6574e-02_rb,1.0811e-02_rb,1.2066e-03_rb/) kbo(:, 1,16, 4) = (/ & &2.6697e-03_rb,3.2234e-03_rb,2.7529e-03_rb,1.9451e-03_rb,4.4184e-04_rb/) kbo(:, 2,16, 4) = (/ & &4.4186e-03_rb,5.0347e-03_rb,4.2523e-03_rb,2.9486e-03_rb,5.5826e-04_rb/) kbo(:, 3,16, 4) = (/ & &7.1546e-03_rb,7.7280e-03_rb,6.4040e-03_rb,4.4001e-03_rb,6.8881e-04_rb/) kbo(:, 4,16, 4) = (/ & &1.1406e-02_rb,1.1811e-02_rb,9.5855e-03_rb,6.4241e-03_rb,8.3295e-04_rb/) kbo(:, 5,16, 4) = (/ & &1.7781e-02_rb,1.7577e-02_rb,1.4001e-02_rb,9.1645e-03_rb,9.7098e-04_rb/) kbo(:, 1,17, 4) = (/ & &2.1896e-03_rb,2.6538e-03_rb,2.2904e-03_rb,1.6414e-03_rb,3.5480e-04_rb/) kbo(:, 2,17, 4) = (/ & &3.6444e-03_rb,4.1897e-03_rb,3.5440e-03_rb,2.4805e-03_rb,4.4971e-04_rb/) kbo(:, 3,17, 4) = (/ & &5.9916e-03_rb,6.4686e-03_rb,5.3743e-03_rb,3.6974e-03_rb,5.5799e-04_rb/) kbo(:, 4,17, 4) = (/ & &9.5963e-03_rb,9.9128e-03_rb,8.0553e-03_rb,5.4068e-03_rb,6.7241e-04_rb/) kbo(:, 5,17, 4) = (/ & &1.5025e-02_rb,1.4809e-02_rb,1.1810e-02_rb,7.7160e-03_rb,7.7063e-04_rb/) kbo(:, 1,18, 4) = (/ & &1.7997e-03_rb,2.1886e-03_rb,1.9082e-03_rb,1.3670e-03_rb,2.9021e-04_rb/) kbo(:, 2,18, 4) = (/ & &3.0120e-03_rb,3.4746e-03_rb,2.9450e-03_rb,2.0706e-03_rb,3.7282e-04_rb/) kbo(:, 3,18, 4) = (/ & &4.9798e-03_rb,5.3990e-03_rb,4.4938e-03_rb,3.0816e-03_rb,4.5930e-04_rb/) kbo(:, 4,18, 4) = (/ & &8.0081e-03_rb,8.2644e-03_rb,6.7223e-03_rb,4.5032e-03_rb,5.4734e-04_rb/) kbo(:, 5,18, 4) = (/ & &1.2492e-02_rb,1.2373e-02_rb,9.8644e-03_rb,6.4255e-03_rb,6.3020e-04_rb/) kbo(:, 1,19, 4) = (/ & &1.5064e-03_rb,1.8451e-03_rb,1.6056e-03_rb,1.1522e-03_rb,2.4682e-04_rb/) kbo(:, 2,19, 4) = (/ & &2.5474e-03_rb,2.9294e-03_rb,2.4915e-03_rb,1.7507e-03_rb,3.1538e-04_rb/) kbo(:, 3,19, 4) = (/ & &4.2186e-03_rb,4.5798e-03_rb,3.8063e-03_rb,2.5988e-03_rb,3.8674e-04_rb/) kbo(:, 4,19, 4) = (/ & &6.8019e-03_rb,7.0063e-03_rb,5.6982e-03_rb,3.8032e-03_rb,4.6124e-04_rb/) kbo(:, 5,19, 4) = (/ & &1.0595e-02_rb,1.0486e-02_rb,8.3528e-03_rb,5.4249e-03_rb,5.3320e-04_rb/) kbo(:, 1,20, 4) = (/ & &1.3102e-03_rb,1.5983e-03_rb,1.3859e-03_rb,9.9291e-04_rb,2.1228e-04_rb/) kbo(:, 2,20, 4) = (/ & &2.2269e-03_rb,2.5410e-03_rb,2.1563e-03_rb,1.5072e-03_rb,2.6816e-04_rb/) kbo(:, 3,20, 4) = (/ & &3.6896e-03_rb,3.9778e-03_rb,3.2977e-03_rb,2.2454e-03_rb,3.2819e-04_rb/) kbo(:, 4,20, 4) = (/ & &5.9414e-03_rb,6.0960e-03_rb,4.9353e-03_rb,3.2744e-03_rb,3.9225e-04_rb/) kbo(:, 5,20, 4) = (/ & &9.2578e-03_rb,9.1102e-03_rb,7.2255e-03_rb,4.6712e-03_rb,4.5336e-04_rb/) kbo(:, 1,21, 4) = (/ & &1.1473e-03_rb,1.3888e-03_rb,1.2016e-03_rb,8.6011e-04_rb,1.8127e-04_rb/) kbo(:, 2,21, 4) = (/ & &1.9565e-03_rb,2.2181e-03_rb,1.8746e-03_rb,1.3038e-03_rb,2.2830e-04_rb/) kbo(:, 3,21, 4) = (/ & &3.2520e-03_rb,3.4808e-03_rb,2.8694e-03_rb,1.9461e-03_rb,2.7800e-04_rb/) kbo(:, 4,21, 4) = (/ & &5.2204e-03_rb,5.3317e-03_rb,4.2972e-03_rb,2.8342e-03_rb,3.3105e-04_rb/) kbo(:, 5,21, 4) = (/ & &8.1069e-03_rb,7.9508e-03_rb,6.2747e-03_rb,4.0360e-03_rb,3.8585e-04_rb/) kbo(:, 1,22, 4) = (/ & &1.0382e-03_rb,1.2396e-03_rb,1.0678e-03_rb,7.6273e-04_rb,1.5466e-04_rb/) kbo(:, 2,22, 4) = (/ & &1.7720e-03_rb,1.9893e-03_rb,1.6695e-03_rb,1.1556e-03_rb,1.9356e-04_rb/) kbo(:, 3,22, 4) = (/ & &2.9369e-03_rb,3.1200e-03_rb,2.5557e-03_rb,1.7237e-03_rb,2.3624e-04_rb/) kbo(:, 4,22, 4) = (/ & &4.6992e-03_rb,4.7636e-03_rb,3.8178e-03_rb,2.5063e-03_rb,2.7855e-04_rb/) kbo(:, 5,22, 4) = (/ & &7.2282e-03_rb,7.0542e-03_rb,5.5487e-03_rb,3.5490e-03_rb,3.2630e-04_rb/) kbo(:, 1,23, 4) = (/ & &9.4131e-04_rb,1.1095e-03_rb,9.5148e-04_rb,6.7660e-04_rb,1.3244e-04_rb/) kbo(:, 2,23, 4) = (/ & &1.6035e-03_rb,1.7844e-03_rb,1.4894e-03_rb,1.0262e-03_rb,1.6442e-04_rb/) kbo(:, 3,23, 4) = (/ & &2.6522e-03_rb,2.7950e-03_rb,2.2775e-03_rb,1.5271e-03_rb,2.0008e-04_rb/) kbo(:, 4,23, 4) = (/ & &4.2106e-03_rb,4.2402e-03_rb,3.3871e-03_rb,2.2131e-03_rb,2.3445e-04_rb/) kbo(:, 5,23, 4) = (/ & &6.4196e-03_rb,6.2427e-03_rb,4.8940e-03_rb,3.1130e-03_rb,2.7496e-04_rb/) kbo(:, 1,24, 4) = (/ & &8.5493e-04_rb,1.0008e-03_rb,8.5274e-04_rb,6.0213e-04_rb,1.1224e-04_rb/) kbo(:, 2,24, 4) = (/ & &1.4576e-03_rb,1.6070e-03_rb,1.3354e-03_rb,9.1642e-04_rb,1.3965e-04_rb/) kbo(:, 3,24, 4) = (/ & &2.4005e-03_rb,2.5083e-03_rb,2.0375e-03_rb,1.3606e-03_rb,1.6869e-04_rb/) kbo(:, 4,24, 4) = (/ & &3.7805e-03_rb,3.7882e-03_rb,3.0168e-03_rb,1.9590e-03_rb,1.9824e-04_rb/) kbo(:, 5,24, 4) = (/ & &5.7340e-03_rb,5.5429e-03_rb,4.3252e-03_rb,2.7397e-03_rb,2.2899e-04_rb/) kbo(:, 1,25, 4) = (/ & &7.8083e-04_rb,9.0613e-04_rb,7.6855e-04_rb,5.3955e-04_rb,9.3397e-05_rb/) kbo(:, 2,25, 4) = (/ & &1.3293e-03_rb,1.4516e-03_rb,1.2021e-03_rb,8.2125e-04_rb,1.1644e-04_rb/) kbo(:, 3,25, 4) = (/ & &2.1730e-03_rb,2.2546e-03_rb,1.8276e-03_rb,1.2136e-03_rb,1.4039e-04_rb/) kbo(:, 4,25, 4) = (/ & &3.3994e-03_rb,3.3901e-03_rb,2.6854e-03_rb,1.7374e-03_rb,1.6529e-04_rb/) kbo(:, 5,25, 4) = (/ & &5.1177e-03_rb,4.9296e-03_rb,3.8308e-03_rb,2.4138e-03_rb,1.9292e-04_rb/) kbo(:, 1,26, 4) = (/ & &7.2414e-04_rb,8.2998e-04_rb,6.9991e-04_rb,4.8962e-04_rb,7.9259e-05_rb/) kbo(:, 2,26, 4) = (/ & &1.2259e-03_rb,1.3255e-03_rb,1.0917e-03_rb,7.4177e-04_rb,9.7580e-05_rb/) kbo(:, 3,26, 4) = (/ & &1.9848e-03_rb,2.0462e-03_rb,1.6503e-03_rb,1.0895e-03_rb,1.1629e-04_rb/) kbo(:, 4,26, 4) = (/ & &3.0863e-03_rb,3.0554e-03_rb,2.4123e-03_rb,1.5502e-03_rb,1.3732e-04_rb/) kbo(:, 5,26, 4) = (/ & &4.5999e-03_rb,4.4081e-03_rb,3.4159e-03_rb,2.1402e-03_rb,1.6386e-04_rb/) kbo(:, 1,27, 4) = (/ & &6.7040e-04_rb,7.6049e-04_rb,6.3931e-04_rb,4.4424e-04_rb,6.5890e-05_rb/) kbo(:, 2,27, 4) = (/ & &1.1282e-03_rb,1.2096e-03_rb,9.9105e-04_rb,6.6941e-04_rb,8.0876e-05_rb/) kbo(:, 3,27, 4) = (/ & &1.8147e-03_rb,1.8556e-03_rb,1.4889e-03_rb,9.7714e-04_rb,9.6344e-05_rb/) kbo(:, 4,27, 4) = (/ & &2.7940e-03_rb,2.7516e-03_rb,2.1627e-03_rb,1.3811e-03_rb,1.1546e-04_rb/) kbo(:, 5,27, 4) = (/ & &4.1206e-03_rb,3.9340e-03_rb,3.0363e-03_rb,1.8956e-03_rb,1.3791e-04_rb/) kbo(:, 1,28, 4) = (/ & &6.1963e-04_rb,6.9617e-04_rb,5.8205e-04_rb,4.0239e-04_rb,5.3842e-05_rb/) kbo(:, 2,28, 4) = (/ & &1.0354e-03_rb,1.1013e-03_rb,8.9815e-04_rb,6.0298e-04_rb,6.6022e-05_rb/) kbo(:, 3,28, 4) = (/ & &1.6516e-03_rb,1.6797e-03_rb,1.3412e-03_rb,8.7507e-04_rb,8.0123e-05_rb/) kbo(:, 4,28, 4) = (/ & &2.5197e-03_rb,2.4709e-03_rb,1.9338e-03_rb,1.2274e-03_rb,9.7074e-05_rb/) kbo(:, 5,28, 4) = (/ & &3.6744e-03_rb,3.4958e-03_rb,2.6900e-03_rb,1.6731e-03_rb,1.1603e-04_rb/) kbo(:, 1,29, 4) = (/ & &5.7255e-04_rb,6.3719e-04_rb,5.3001e-04_rb,3.6415e-04_rb,4.3783e-05_rb/) kbo(:, 2,29, 4) = (/ & &9.4899e-04_rb,1.0006e-03_rb,8.1341e-04_rb,5.4243e-04_rb,5.3930e-05_rb/) kbo(:, 3,29, 4) = (/ & &1.4973e-03_rb,1.5143e-03_rb,1.2048e-03_rb,7.8083e-04_rb,6.6803e-05_rb/) kbo(:, 4,29, 4) = (/ & &2.2572e-03_rb,2.2044e-03_rb,1.7199e-03_rb,1.0861e-03_rb,8.0985e-05_rb/) kbo(:, 5,29, 4) = (/ & &3.2527e-03_rb,3.0849e-03_rb,2.3685e-03_rb,1.4686e-03_rb,9.6201e-05_rb/) kbo(:, 1,30, 4) = (/ & &5.2637e-04_rb,5.8081e-04_rb,4.8010e-04_rb,3.2816e-04_rb,3.5536e-05_rb/) kbo(:, 2,30, 4) = (/ & &8.6289e-04_rb,9.0357e-04_rb,7.3215e-04_rb,4.8521e-04_rb,4.4824e-05_rb/) kbo(:, 3,30, 4) = (/ & &1.3456e-03_rb,1.3553e-03_rb,1.0747e-03_rb,6.9223e-04_rb,5.5319e-05_rb/) kbo(:, 4,30, 4) = (/ & &2.0065e-03_rb,1.9507e-03_rb,1.5172e-03_rb,9.5518e-04_rb,6.6828e-05_rb/) kbo(:, 5,30, 4) = (/ & &2.8573e-03_rb,2.7008e-03_rb,2.0712e-03_rb,1.2802e-03_rb,7.9313e-05_rb/) kbo(:, 1,31, 4) = (/ & &4.7945e-04_rb,5.2447e-04_rb,4.3249e-04_rb,2.9383e-04_rb,2.9390e-05_rb/) kbo(:, 2,31, 4) = (/ & &7.7587e-04_rb,8.0972e-04_rb,6.5328e-04_rb,4.3065e-04_rb,3.6906e-05_rb/) kbo(:, 3,31, 4) = (/ & &1.1974e-03_rb,1.2004e-03_rb,9.4868e-04_rb,6.0827e-04_rb,4.5016e-05_rb/) kbo(:, 4,31, 4) = (/ & &1.7617e-03_rb,1.7074e-03_rb,1.3255e-03_rb,8.3172e-04_rb,5.4252e-05_rb/) kbo(:, 5,31, 4) = (/ & &2.4825e-03_rb,2.3423e-03_rb,1.7933e-03_rb,1.1061e-03_rb,6.4138e-05_rb/) kbo(:, 1,32, 4) = (/ & &4.3738e-04_rb,4.7509e-04_rb,3.9041e-04_rb,2.6369e-04_rb,2.4019e-05_rb/) kbo(:, 2,32, 4) = (/ & &6.9937e-04_rb,7.2599e-04_rb,5.8354e-04_rb,3.8245e-04_rb,2.9892e-05_rb/) kbo(:, 3,32, 4) = (/ & &1.0660e-03_rb,1.0639e-03_rb,8.3776e-04_rb,5.3497e-04_rb,3.6437e-05_rb/) kbo(:, 4,32, 4) = (/ & &1.5490e-03_rb,1.4965e-03_rb,1.1588e-03_rb,7.2497e-04_rb,4.3698e-05_rb/) kbo(:, 5,32, 4) = (/ & &2.1609e-03_rb,2.0352e-03_rb,1.5553e-03_rb,9.5666e-04_rb,5.1532e-05_rb/) kbo(:, 1,33, 4) = (/ & &3.9889e-04_rb,4.2999e-04_rb,3.5197e-04_rb,2.3634e-04_rb,1.9311e-05_rb/) kbo(:, 2,33, 4) = (/ & &6.2991e-04_rb,6.5021e-04_rb,5.2059e-04_rb,3.3932e-04_rb,2.4117e-05_rb/) kbo(:, 3,33, 4) = (/ & &9.4755e-04_rb,9.4129e-04_rb,7.3904e-04_rb,4.6991e-04_rb,2.9354e-05_rb/) kbo(:, 4,33, 4) = (/ & &1.3617e-03_rb,1.3113e-03_rb,1.0129e-03_rb,6.3180e-04_rb,3.5029e-05_rb/) kbo(:, 5,33, 4) = (/ & &1.8805e-03_rb,1.7688e-03_rb,1.3485e-03_rb,8.2760e-04_rb,4.1309e-05_rb/) kbo(:, 1,34, 4) = (/ & &3.6214e-04_rb,3.8716e-04_rb,3.1549e-04_rb,2.1059e-04_rb,1.5692e-05_rb/) kbo(:, 2,34, 4) = (/ & &5.6474e-04_rb,5.7963e-04_rb,4.6204e-04_rb,2.9966e-04_rb,1.9450e-05_rb/) kbo(:, 3,34, 4) = (/ & &8.4034e-04_rb,8.3067e-04_rb,6.4971e-04_rb,4.1144e-04_rb,2.3693e-05_rb/) kbo(:, 4,34, 4) = (/ & &1.1957e-03_rb,1.1475e-03_rb,8.8389e-04_rb,5.4962e-04_rb,2.8253e-05_rb/) kbo(:, 5,34, 4) = (/ & &1.6380e-03_rb,1.5373e-03_rb,1.1695e-03_rb,7.1576e-04_rb,3.2957e-05_rb/) kbo(:, 1,35, 4) = (/ & &3.1359e-04_rb,3.3446e-04_rb,2.7193e-04_rb,1.8091e-04_rb,1.2437e-05_rb/) kbo(:, 2,35, 4) = (/ & &4.8583e-04_rb,4.9752e-04_rb,3.9566e-04_rb,2.5593e-04_rb,1.5305e-05_rb/) kbo(:, 3,35, 4) = (/ & &7.1875e-04_rb,7.0909e-04_rb,5.5358e-04_rb,3.4993e-04_rb,1.8635e-05_rb/) kbo(:, 4,35, 4) = (/ & &1.0171e-03_rb,9.7513e-04_rb,7.5023e-04_rb,4.6569e-04_rb,2.2205e-05_rb/) kbo(:, 5,35, 4) = (/ & &1.3872e-03_rb,1.3015e-03_rb,9.8912e-04_rb,6.0449e-04_rb,2.6045e-05_rb/) kbo(:, 1,36, 4) = (/ & &2.5808e-04_rb,2.7599e-04_rb,2.2440e-04_rb,1.4937e-04_rb,9.6631e-06_rb/) kbo(:, 2,36, 4) = (/ & &3.9964e-04_rb,4.1003e-04_rb,3.2602e-04_rb,2.1097e-04_rb,1.1834e-05_rb/) kbo(:, 3,36, 4) = (/ & &5.9092e-04_rb,5.8383e-04_rb,4.5590e-04_rb,2.8824e-04_rb,1.4353e-05_rb/) kbo(:, 4,36, 4) = (/ & &8.3595e-04_rb,8.0277e-04_rb,6.1763e-04_rb,3.8334e-04_rb,1.7189e-05_rb/) kbo(:, 5,36, 4) = (/ & &1.1396e-03_rb,1.0707e-03_rb,8.1375e-04_rb,4.9743e-04_rb,2.0326e-05_rb/) kbo(:, 1,37, 4) = (/ & &2.0121e-04_rb,2.1647e-04_rb,1.7647e-04_rb,1.1785e-04_rb,7.4310e-06_rb/) kbo(:, 2,37, 4) = (/ & &3.1330e-04_rb,3.2327e-04_rb,2.5768e-04_rb,1.6717e-04_rb,9.1199e-06_rb/) kbo(:, 3,37, 4) = (/ & &4.6580e-04_rb,4.6262e-04_rb,3.6181e-04_rb,2.2919e-04_rb,1.1050e-05_rb/) kbo(:, 4,37, 4) = (/ & &6.6212e-04_rb,6.3859e-04_rb,4.9190e-04_rb,3.0576e-04_rb,1.3280e-05_rb/) kbo(:, 5,37, 4) = (/ & &9.0672e-04_rb,8.5472e-04_rb,6.5027e-04_rb,3.9796e-04_rb,1.5719e-05_rb/) kbo(:, 1,38, 4) = (/ & &1.5610e-04_rb,1.6913e-04_rb,1.3823e-04_rb,9.2645e-05_rb,5.6716e-06_rb/) kbo(:, 2,38, 4) = (/ & &2.4467e-04_rb,2.5398e-04_rb,2.0295e-04_rb,1.3206e-04_rb,6.9811e-06_rb/) kbo(:, 3,38, 4) = (/ & &3.6591e-04_rb,3.6541e-04_rb,2.8633e-04_rb,1.8175e-04_rb,8.4645e-06_rb/) kbo(:, 4,38, 4) = (/ & &5.2302e-04_rb,5.0671e-04_rb,3.9077e-04_rb,2.4331e-04_rb,1.0160e-05_rb/) kbo(:, 5,38, 4) = (/ & &7.1953e-04_rb,6.8071e-04_rb,5.1841e-04_rb,3.1771e-04_rb,1.2087e-05_rb/) kbo(:, 1,39, 4) = (/ & &1.2096e-04_rb,1.3199e-04_rb,1.0815e-04_rb,7.2736e-05_rb,4.3132e-06_rb/) kbo(:, 2,39, 4) = (/ & &1.9086e-04_rb,1.9937e-04_rb,1.5970e-04_rb,1.0426e-04_rb,5.3181e-06_rb/) kbo(:, 3,39, 4) = (/ & &2.8720e-04_rb,2.8844e-04_rb,2.2641e-04_rb,1.4405e-04_rb,6.4566e-06_rb/) kbo(:, 4,39, 4) = (/ & &4.1286e-04_rb,4.0180e-04_rb,3.1020e-04_rb,1.9350e-04_rb,7.7296e-06_rb/) kbo(:, 5,39, 4) = (/ & &5.7063e-04_rb,5.4191e-04_rb,4.1317e-04_rb,2.5355e-04_rb,9.2083e-06_rb/) kbo(:, 1,40, 4) = (/ & &9.0120e-05_rb,9.9405e-05_rb,8.1774e-05_rb,5.5348e-05_rb,3.2802e-06_rb/) kbo(:, 2,40, 4) = (/ & &1.4396e-04_rb,1.5172e-04_rb,1.2199e-04_rb,8.0081e-05_rb,4.0450e-06_rb/) kbo(:, 3,40, 4) = (/ & &2.1897e-04_rb,2.2172e-04_rb,1.7453e-04_rb,1.1150e-04_rb,4.9391e-06_rb/) kbo(:, 4,40, 4) = (/ & &3.1818e-04_rb,3.1148e-04_rb,2.4096e-04_rb,1.5075e-04_rb,5.9260e-06_rb/) kbo(:, 5,40, 4) = (/ & &4.4338e-04_rb,4.2299e-04_rb,3.2304e-04_rb,1.9869e-04_rb,7.0429e-06_rb/) kbo(:, 1,41, 4) = (/ & &6.6586e-05_rb,7.4344e-05_rb,6.1391e-05_rb,4.1826e-05_rb,2.4789e-06_rb/) kbo(:, 2,41, 4) = (/ & &1.0786e-04_rb,1.1471e-04_rb,9.2627e-05_rb,6.1134e-05_rb,3.0831e-06_rb/) kbo(:, 3,41, 4) = (/ & &1.6588e-04_rb,1.6943e-04_rb,1.3383e-04_rb,8.5899e-05_rb,3.7712e-06_rb/) kbo(:, 4,41, 4) = (/ & &2.4383e-04_rb,2.4037e-04_rb,1.8645e-04_rb,1.1700e-04_rb,4.5478e-06_rb/) kbo(:, 5,41, 4) = (/ & &3.4300e-04_rb,3.2889e-04_rb,2.5168e-04_rb,1.5514e-04_rb,5.3910e-06_rb/) kbo(:, 1,42, 4) = (/ & &4.8998e-05_rb,5.5419e-05_rb,4.5947e-05_rb,3.1516e-05_rb,1.8667e-06_rb/) kbo(:, 2,42, 4) = (/ & &8.0484e-05_rb,8.6481e-05_rb,7.0103e-05_rb,4.6544e-05_rb,2.3354e-06_rb/) kbo(:, 3,42, 4) = (/ & &1.2531e-04_rb,1.2923e-04_rb,1.0238e-04_rb,6.6044e-05_rb,2.8708e-06_rb/) kbo(:, 4,42, 4) = (/ & &1.8633e-04_rb,1.8503e-04_rb,1.4397e-04_rb,9.0645e-05_rb,3.4606e-06_rb/) kbo(:, 5,42, 4) = (/ & &2.6476e-04_rb,2.5534e-04_rb,1.9578e-04_rb,1.2098e-04_rb,4.1084e-06_rb/) kbo(:, 1,43, 4) = (/ & &3.5242e-05_rb,4.0436e-05_rb,3.3714e-05_rb,2.3281e-05_rb,1.3919e-06_rb/) kbo(:, 2,43, 4) = (/ & &5.8897e-05_rb,6.4054e-05_rb,5.2168e-05_rb,3.4865e-05_rb,1.7548e-06_rb/) kbo(:, 3,43, 4) = (/ & &9.3170e-05_rb,9.7046e-05_rb,7.7251e-05_rb,5.0106e-05_rb,2.1668e-06_rb/) kbo(:, 4,43, 4) = (/ & &1.4048e-04_rb,1.4075e-04_rb,1.0986e-04_rb,6.9448e-05_rb,2.6074e-06_rb/) kbo(:, 5,43, 4) = (/ & &2.0220e-04_rb,1.9644e-04_rb,1.5089e-04_rb,9.3492e-05_rb,3.1278e-06_rb/) kbo(:, 1,44, 4) = (/ & &2.5004e-05_rb,2.9138e-05_rb,2.4437e-05_rb,1.6989e-05_rb,1.0250e-06_rb/) kbo(:, 2,44, 4) = (/ & &4.2585e-05_rb,4.6938e-05_rb,3.8422e-05_rb,2.5865e-05_rb,1.3112e-06_rb/) kbo(:, 3,44, 4) = (/ & &6.8563e-05_rb,7.2232e-05_rb,5.7761e-05_rb,3.7700e-05_rb,1.6186e-06_rb/) kbo(:, 4,44, 4) = (/ & &1.0501e-04_rb,1.0630e-04_rb,8.3253e-05_rb,5.2860e-05_rb,1.9651e-06_rb/) kbo(:, 5,44, 4) = (/ & &1.5343e-04_rb,1.5019e-04_rb,1.1567e-04_rb,7.1872e-05_rb,2.3710e-06_rb/) kbo(:, 1,45, 4) = (/ & &1.7648e-05_rb,2.0899e-05_rb,1.7624e-05_rb,1.2332e-05_rb,7.4778e-07_rb/) kbo(:, 2,45, 4) = (/ & &3.0648e-05_rb,3.4228e-05_rb,2.8145e-05_rb,1.9101e-05_rb,9.7150e-07_rb/) kbo(:, 3,45, 4) = (/ & &5.0244e-05_rb,5.3520e-05_rb,4.3001e-05_rb,2.8243e-05_rb,1.2073e-06_rb/) kbo(:, 4,45, 4) = (/ & &7.8191e-05_rb,7.9995e-05_rb,6.2888e-05_rb,4.0157e-05_rb,1.4831e-06_rb/) kbo(:, 5,45, 4) = (/ & &1.1605e-04_rb,1.1449e-04_rb,8.8448e-05_rb,5.5140e-05_rb,1.7858e-06_rb/) kbo(:, 1,46, 4) = (/ & &1.2241e-05_rb,1.4754e-05_rb,1.2528e-05_rb,8.8151e-06_rb,5.3848e-07_rb/) kbo(:, 2,46, 4) = (/ & &2.1731e-05_rb,2.4625e-05_rb,2.0352e-05_rb,1.3921e-05_rb,7.0792e-07_rb/) kbo(:, 3,46, 4) = (/ & &3.6328e-05_rb,3.9139e-05_rb,3.1626e-05_rb,2.0940e-05_rb,8.9555e-07_rb/) kbo(:, 4,46, 4) = (/ & &5.7531e-05_rb,5.9510e-05_rb,4.7024e-05_rb,3.0210e-05_rb,1.1090e-06_rb/) kbo(:, 5,46, 4) = (/ & &8.6821e-05_rb,8.6443e-05_rb,6.7046e-05_rb,4.1968e-05_rb,1.3451e-06_rb/) kbo(:, 1,47, 4) = (/ & &8.2449e-06_rb,1.0146e-05_rb,8.6807e-06_rb,6.1518e-06_rb,3.8332e-07_rb/) kbo(:, 2,47, 4) = (/ & &1.4999e-05_rb,1.7293e-05_rb,1.4384e-05_rb,9.9184e-06_rb,5.1069e-07_rb/) kbo(:, 3,47, 4) = (/ & &2.5663e-05_rb,2.8031e-05_rb,2.2776e-05_rb,1.5214e-05_rb,6.5507e-07_rb/) kbo(:, 4,47, 4) = (/ & &4.1483e-05_rb,4.3442e-05_rb,3.4514e-05_rb,2.2339e-05_rb,8.2140e-07_rb/) kbo(:, 5,47, 4) = (/ & &6.3807e-05_rb,6.4263e-05_rb,5.0034e-05_rb,3.1504e-05_rb,1.0057e-06_rb/) kbo(:, 1,48, 4) = (/ & &5.5161e-06_rb,6.9345e-06_rb,5.9711e-06_rb,4.2630e-06_rb,2.7090e-07_rb/) kbo(:, 2,48, 4) = (/ & &1.0274e-05_rb,1.2067e-05_rb,1.0101e-05_rb,7.0075e-06_rb,3.6468e-07_rb/) kbo(:, 3,48, 4) = (/ & &1.7999e-05_rb,1.9964e-05_rb,1.6291e-05_rb,1.0982e-05_rb,4.7593e-07_rb/) kbo(:, 4,48, 4) = (/ & &2.9748e-05_rb,3.1502e-05_rb,2.5173e-05_rb,1.6424e-05_rb,6.0510e-07_rb/) kbo(:, 5,48, 4) = (/ & &4.6627e-05_rb,4.7519e-05_rb,3.7159e-05_rb,2.3556e-05_rb,7.4697e-07_rb/) kbo(:, 1,49, 4) = (/ & &3.6712e-06_rb,4.7085e-06_rb,4.0821e-06_rb,2.9344e-06_rb,1.8902e-07_rb/) kbo(:, 2,49, 4) = (/ & &6.9808e-06_rb,8.3574e-06_rb,7.0495e-06_rb,4.9158e-06_rb,2.5862e-07_rb/) kbo(:, 3,49, 4) = (/ & &1.2533e-05_rb,1.4129e-05_rb,1.1598e-05_rb,7.8741e-06_rb,3.4164e-07_rb/) kbo(:, 4,49, 4) = (/ & &2.1199e-05_rb,2.2725e-05_rb,1.8253e-05_rb,1.2008e-05_rb,4.3895e-07_rb/) kbo(:, 5,49, 4) = (/ & &3.3893e-05_rb,3.4945e-05_rb,2.7461e-05_rb,1.7529e-05_rb,5.4985e-07_rb/) kbo(:, 1,50, 4) = (/ & &2.4835e-06_rb,3.2299e-06_rb,2.8168e-06_rb,2.0358e-06_rb,1.3342e-07_rb/) kbo(:, 2,50, 4) = (/ & &4.7895e-06_rb,5.8338e-06_rb,4.9516e-06_rb,3.4721e-06_rb,1.8475e-07_rb/) kbo(:, 3,50, 4) = (/ & &8.7933e-06_rb,1.0062e-05_rb,8.3077e-06_rb,5.6722e-06_rb,2.4761e-07_rb/) kbo(:, 4,50, 4) = (/ & &1.5202e-05_rb,1.6503e-05_rb,1.3305e-05_rb,8.8168e-06_rb,3.2240e-07_rb/) kbo(:, 5,50, 4) = (/ & &2.4800e-05_rb,2.5828e-05_rb,2.0397e-05_rb,1.3093e-05_rb,4.0814e-07_rb/) kbo(:, 1,51, 4) = (/ & &1.7011e-06_rb,2.2256e-06_rb,1.9504e-06_rb,1.4154e-06_rb,9.4900e-08_rb/) kbo(:, 2,51, 4) = (/ & &3.2953e-06_rb,4.0790e-06_rb,3.4794e-06_rb,2.4537e-06_rb,1.3273e-07_rb/) kbo(:, 3,51, 4) = (/ & &6.1746e-06_rb,7.1689e-06_rb,5.9544e-06_rb,4.0832e-06_rb,1.8014e-07_rb/) kbo(:, 4,51, 4) = (/ & &1.0912e-05_rb,1.1993e-05_rb,9.7046e-06_rb,6.4754e-06_rb,2.3777e-07_rb/) kbo(:, 5,51, 4) = (/ & &1.8173e-05_rb,1.9097e-05_rb,1.5144e-05_rb,9.7867e-06_rb,3.0334e-07_rb/) kbo(:, 1,52, 4) = (/ & &1.1779e-06_rb,1.5381e-06_rb,1.3497e-06_rb,9.8158e-07_rb,6.6305e-08_rb/) kbo(:, 2,52, 4) = (/ & &2.2623e-06_rb,2.8412e-06_rb,2.4342e-06_rb,1.7266e-06_rb,9.4865e-08_rb/) kbo(:, 3,52, 4) = (/ & &4.3170e-06_rb,5.0854e-06_rb,4.2468e-06_rb,2.9260e-06_rb,1.3026e-07_rb/) kbo(:, 4,52, 4) = (/ & &7.7969e-06_rb,8.6772e-06_rb,7.0531e-06_rb,4.7333e-06_rb,1.7384e-07_rb/) kbo(:, 5,52, 4) = (/ & &1.3261e-05_rb,1.4075e-05_rb,1.1203e-05_rb,7.2837e-06_rb,2.2485e-07_rb/) kbo(:, 1,53, 4) = (/ & &8.3089e-07_rb,1.0687e-06_rb,9.3518e-07_rb,6.7997e-07_rb,4.5831e-08_rb/) kbo(:, 2,53, 4) = (/ & &1.5556e-06_rb,1.9711e-06_rb,1.6966e-06_rb,1.2083e-06_rb,6.7497e-08_rb/) kbo(:, 3,53, 4) = (/ & &3.0048e-06_rb,3.5908e-06_rb,3.0131e-06_rb,2.0844e-06_rb,9.3485e-08_rb/) kbo(:, 4,53, 4) = (/ & &5.5438e-06_rb,6.2468e-06_rb,5.1016e-06_rb,3.4387e-06_rb,1.2594e-07_rb/) kbo(:, 5,53, 4) = (/ & &9.6328e-06_rb,1.0329e-05_rb,8.2446e-06_rb,5.3978e-06_rb,1.6450e-07_rb/) kbo(:, 1,54, 4) = (/ & &6.1034e-07_rb,7.6407e-07_rb,6.6371e-07_rb,4.8016e-07_rb,3.1960e-08_rb/) kbo(:, 2,54, 4) = (/ & &1.0977e-06_rb,1.3930e-06_rb,1.2021e-06_rb,8.5784e-07_rb,4.9012e-08_rb/) kbo(:, 3,54, 4) = (/ & &2.1270e-06_rb,2.5705e-06_rb,2.1637e-06_rb,1.5024e-06_rb,6.8673e-08_rb/) kbo(:, 4,54, 4) = (/ & &3.9965e-06_rb,4.5514e-06_rb,3.7320e-06_rb,2.5226e-06_rb,9.3587e-08_rb/) kbo(:, 5,54, 4) = (/ & &7.0830e-06_rb,7.6654e-06_rb,6.1329e-06_rb,4.0351e-06_rb,1.2382e-07_rb/) kbo(:, 1,55, 4) = (/ & &4.6385e-07_rb,5.5921e-07_rb,4.8019e-07_rb,3.4337e-07_rb,2.2394e-08_rb/) kbo(:, 2,55, 4) = (/ & &7.8989e-07_rb,9.9640e-07_rb,8.5986e-07_rb,6.1313e-07_rb,3.5977e-08_rb/) kbo(:, 3,55, 4) = (/ & &1.5192e-06_rb,1.8516e-06_rb,1.5624e-06_rb,1.0878e-06_rb,5.1500e-08_rb/) kbo(:, 4,55, 4) = (/ & &2.8980e-06_rb,3.3321e-06_rb,2.7426e-06_rb,1.8581e-06_rb,7.0762e-08_rb/) kbo(:, 5,55, 4) = (/ & &5.2356e-06_rb,5.7136e-06_rb,4.5826e-06_rb,3.0253e-06_rb,9.4338e-08_rb/) kbo(:, 1,56, 4) = (/ & &3.6371e-07_rb,4.1822e-07_rb,3.5281e-07_rb,2.4786e-07_rb,1.6072e-08_rb/) kbo(:, 2,56, 4) = (/ & &5.7786e-07_rb,7.1776e-07_rb,6.1684e-07_rb,4.3889e-07_rb,2.6450e-08_rb/) kbo(:, 3,56, 4) = (/ & &1.0893e-06_rb,1.3335e-06_rb,1.1271e-06_rb,7.8636e-07_rb,3.8603e-08_rb/) kbo(:, 4,56, 4) = (/ & &2.1010e-06_rb,2.4368e-06_rb,2.0114e-06_rb,1.3652e-06_rb,5.3303e-08_rb/) kbo(:, 5,56, 4) = (/ & &3.8675e-06_rb,4.2536e-06_rb,3.4205e-06_rb,2.2622e-06_rb,7.1626e-08_rb/) kbo(:, 1,57, 4) = (/ & &2.9431e-07_rb,3.2133e-07_rb,2.6457e-07_rb,1.8146e-07_rb,1.1259e-08_rb/) kbo(:, 2,57, 4) = (/ & &4.3212e-07_rb,5.2280e-07_rb,4.4601e-07_rb,3.1527e-07_rb,1.9122e-08_rb/) kbo(:, 3,57, 4) = (/ & &7.8679e-07_rb,9.6129e-07_rb,8.1340e-07_rb,5.6766e-07_rb,2.8681e-08_rb/) kbo(:, 4,57, 4) = (/ & &1.5240e-06_rb,1.7810e-06_rb,1.4725e-06_rb,1.0013e-06_rb,4.0212e-08_rb/) kbo(:, 5,57, 4) = (/ & &2.8546e-06_rb,3.1617e-06_rb,2.5494e-06_rb,1.6875e-06_rb,5.4480e-08_rb/) kbo(:, 1,58, 4) = (/ & &1.1920e-07_rb,1.4193e-07_rb,1.3380e-07_rb,1.0782e-07_rb,7.9525e-09_rb/) kbo(:, 2,58, 4) = (/ & &1.6186e-07_rb,2.1696e-07_rb,2.1477e-07_rb,1.8165e-07_rb,1.3814e-08_rb/) kbo(:, 3,58, 4) = (/ & &2.8087e-07_rb,3.9076e-07_rb,3.8760e-07_rb,3.2679e-07_rb,2.1394e-08_rb/) kbo(:, 4,58, 4) = (/ & &5.4191e-07_rb,7.3009e-07_rb,7.0916e-07_rb,5.8413e-07_rb,3.0724e-08_rb/) kbo(:, 5,58, 4) = (/ & &1.0299e-06_rb,1.3167e-06_rb,1.2488e-06_rb,1.0008e-06_rb,4.1885e-08_rb/) kbo(:, 1,59, 4) = (/ & &1.0039e-07_rb,1.1714e-07_rb,1.0974e-07_rb,8.7504e-08_rb,6.4674e-09_rb/) kbo(:, 2,59, 4) = (/ & &1.3241e-07_rb,1.7435e-07_rb,1.7189e-07_rb,1.4496e-07_rb,1.1458e-08_rb/) kbo(:, 3,59, 4) = (/ & &2.2493e-07_rb,3.1060e-07_rb,3.0841e-07_rb,2.6052e-07_rb,1.7735e-08_rb/) kbo(:, 4,59, 4) = (/ & &4.3202e-07_rb,5.8172e-07_rb,5.6654e-07_rb,4.6829e-07_rb,2.5818e-08_rb/) kbo(:, 5,59, 4) = (/ & &8.2523e-07_rb,1.0563e-06_rb,1.0053e-06_rb,8.0852e-07_rb,3.5572e-08_rb/) kbo(:, 1,13, 5) = (/ & &3.5348e-02_rb,3.1651e-02_rb,2.3972e-02_rb,1.4520e-02_rb,1.2073e-03_rb/) kbo(:, 2,13, 5) = (/ & &5.4657e-02_rb,4.7880e-02_rb,3.5919e-02_rb,2.1424e-02_rb,1.4997e-03_rb/) kbo(:, 3,13, 5) = (/ & &8.2602e-02_rb,7.1045e-02_rb,5.2562e-02_rb,3.0599e-02_rb,1.8487e-03_rb/) kbo(:, 4,13, 5) = (/ & &1.1970e-01_rb,1.0136e-01_rb,7.4139e-02_rb,4.2733e-02_rb,2.2117e-03_rb/) kbo(:, 5,13, 5) = (/ & &1.6697e-01_rb,1.3996e-01_rb,1.0160e-01_rb,5.7755e-02_rb,2.6210e-03_rb/) kbo(:, 1,14, 5) = (/ & &3.1413e-02_rb,2.7971e-02_rb,2.1089e-02_rb,1.2782e-02_rb,9.9834e-04_rb/) kbo(:, 2,14, 5) = (/ & &4.9001e-02_rb,4.2669e-02_rb,3.1890e-02_rb,1.8901e-02_rb,1.2749e-03_rb/) kbo(:, 3,14, 5) = (/ & &7.3648e-02_rb,6.3169e-02_rb,4.6557e-02_rb,2.7140e-02_rb,1.5545e-03_rb/) kbo(:, 4,14, 5) = (/ & &1.0633e-01_rb,9.0035e-02_rb,6.5788e-02_rb,3.7842e-02_rb,1.8680e-03_rb/) kbo(:, 5,14, 5) = (/ & &1.4847e-01_rb,1.2452e-01_rb,9.0180e-02_rb,5.1123e-02_rb,2.2124e-03_rb/) kbo(:, 1,15, 5) = (/ & &2.6691e-02_rb,2.3767e-02_rb,1.7918e-02_rb,1.0846e-02_rb,8.4376e-04_rb/) kbo(:, 2,15, 5) = (/ & &4.1563e-02_rb,3.6328e-02_rb,2.7130e-02_rb,1.6082e-02_rb,1.0611e-03_rb/) kbo(:, 3,15, 5) = (/ & &6.2559e-02_rb,5.3858e-02_rb,3.9632e-02_rb,2.3133e-02_rb,1.2845e-03_rb/) kbo(:, 4,15, 5) = (/ & &9.0477e-02_rb,7.6844e-02_rb,5.6216e-02_rb,3.2223e-02_rb,1.5617e-03_rb/) kbo(:, 5,15, 5) = (/ & &1.2655e-01_rb,1.0613e-01_rb,7.6652e-02_rb,4.3561e-02_rb,1.9061e-03_rb/) kbo(:, 1,16, 5) = (/ & &2.1986e-02_rb,1.9716e-02_rb,1.4938e-02_rb,9.0172e-03_rb,6.9426e-04_rb/) kbo(:, 2,16, 5) = (/ & &3.4448e-02_rb,3.0201e-02_rb,2.2563e-02_rb,1.3402e-02_rb,8.6528e-04_rb/) kbo(:, 3,16, 5) = (/ & &5.1943e-02_rb,4.4837e-02_rb,3.3116e-02_rb,1.9274e-02_rb,1.0580e-03_rb/) kbo(:, 4,16, 5) = (/ & &7.5192e-02_rb,6.4048e-02_rb,4.6767e-02_rb,2.6829e-02_rb,1.3132e-03_rb/) kbo(:, 5,16, 5) = (/ & &1.0492e-01_rb,8.8109e-02_rb,6.3827e-02_rb,3.6312e-02_rb,1.6006e-03_rb/) kbo(:, 1,17, 5) = (/ & &1.8067e-02_rb,1.6242e-02_rb,1.2317e-02_rb,7.4587e-03_rb,5.8084e-04_rb/) kbo(:, 2,17, 5) = (/ & &2.8443e-02_rb,2.5054e-02_rb,1.8720e-02_rb,1.1098e-02_rb,7.2334e-04_rb/) kbo(:, 3,17, 5) = (/ & &4.2795e-02_rb,3.7062e-02_rb,2.7408e-02_rb,1.5965e-02_rb,9.0099e-04_rb/) kbo(:, 4,17, 5) = (/ & &6.1919e-02_rb,5.2891e-02_rb,3.8653e-02_rb,2.2221e-02_rb,1.1193e-03_rb/) kbo(:, 5,17, 5) = (/ & &8.6219e-02_rb,7.2608e-02_rb,5.2687e-02_rb,2.9957e-02_rb,1.3671e-03_rb/) kbo(:, 1,18, 5) = (/ & &1.4708e-02_rb,1.3327e-02_rb,1.0113e-02_rb,6.1290e-03_rb,4.8316e-04_rb/) kbo(:, 2,18, 5) = (/ & &2.3136e-02_rb,2.0491e-02_rb,1.5341e-02_rb,9.1147e-03_rb,6.0374e-04_rb/) kbo(:, 3,18, 5) = (/ & &3.4747e-02_rb,3.0283e-02_rb,2.2393e-02_rb,1.3077e-02_rb,7.6598e-04_rb/) kbo(:, 4,18, 5) = (/ & &5.0288e-02_rb,4.3057e-02_rb,3.1490e-02_rb,1.8130e-02_rb,9.5069e-04_rb/) kbo(:, 5,18, 5) = (/ & &6.9756e-02_rb,5.9005e-02_rb,4.2850e-02_rb,2.4412e-02_rb,1.1633e-03_rb/) kbo(:, 1,19, 5) = (/ & &1.2271e-02_rb,1.1130e-02_rb,8.4511e-03_rb,5.1168e-03_rb,4.1293e-04_rb/) kbo(:, 2,19, 5) = (/ & &1.9205e-02_rb,1.7036e-02_rb,1.2763e-02_rb,7.5902e-03_rb,5.1993e-04_rb/) kbo(:, 3,19, 5) = (/ & &2.8789e-02_rb,2.5103e-02_rb,1.8579e-02_rb,1.0864e-02_rb,6.5561e-04_rb/) kbo(:, 4,19, 5) = (/ & &4.1470e-02_rb,3.5549e-02_rb,2.6049e-02_rb,1.5006e-02_rb,8.1395e-04_rb/) kbo(:, 5,19, 5) = (/ & &5.7470e-02_rb,4.8743e-02_rb,3.5383e-02_rb,2.0175e-02_rb,9.9598e-04_rb/) kbo(:, 1,20, 5) = (/ & &1.0604e-02_rb,9.5861e-03_rb,7.2655e-03_rb,4.3823e-03_rb,3.5617e-04_rb/) kbo(:, 2,20, 5) = (/ & &1.6495e-02_rb,1.4613e-02_rb,1.0934e-02_rb,6.4798e-03_rb,4.4865e-04_rb/) kbo(:, 3,20, 5) = (/ & &2.4651e-02_rb,2.1430e-02_rb,1.5803e-02_rb,9.2155e-03_rb,5.6360e-04_rb/) kbo(:, 4,20, 5) = (/ & &3.5214e-02_rb,3.0218e-02_rb,2.2119e-02_rb,1.2722e-02_rb,7.0046e-04_rb/) kbo(:, 5,20, 5) = (/ & &4.8685e-02_rb,4.1243e-02_rb,2.9948e-02_rb,1.7048e-02_rb,8.5450e-04_rb/) kbo(:, 1,21, 5) = (/ & &9.2365e-03_rb,8.3349e-03_rb,6.3064e-03_rb,3.7870e-03_rb,3.0556e-04_rb/) kbo(:, 2,21, 5) = (/ & &1.4270e-02_rb,1.2642e-02_rb,9.4383e-03_rb,5.5694e-03_rb,3.8499e-04_rb/) kbo(:, 3,21, 5) = (/ & &2.1188e-02_rb,1.8415e-02_rb,1.3582e-02_rb,7.8888e-03_rb,4.8632e-04_rb/) kbo(:, 4,21, 5) = (/ & &3.0204e-02_rb,2.5895e-02_rb,1.8922e-02_rb,1.0859e-02_rb,6.0144e-04_rb/) kbo(:, 5,21, 5) = (/ & &4.1738e-02_rb,3.5266e-02_rb,2.5553e-02_rb,1.4491e-02_rb,7.3167e-04_rb/) kbo(:, 1,22, 5) = (/ & &8.2084e-03_rb,7.4154e-03_rb,5.5986e-03_rb,3.3447e-03_rb,2.6030e-04_rb/) kbo(:, 2,22, 5) = (/ & &1.2593e-02_rb,1.1132e-02_rb,8.2855e-03_rb,4.8830e-03_rb,3.3150e-04_rb/) kbo(:, 3,22, 5) = (/ & &1.8558e-02_rb,1.6118e-02_rb,1.1879e-02_rb,6.8818e-03_rb,4.1718e-04_rb/) kbo(:, 4,22, 5) = (/ & &2.6423e-02_rb,2.2608e-02_rb,1.6490e-02_rb,9.4242e-03_rb,5.1837e-04_rb/) kbo(:, 5,22, 5) = (/ & &3.6423e-02_rb,3.0712e-02_rb,2.2210e-02_rb,1.2556e-02_rb,6.2757e-04_rb/) kbo(:, 1,23, 5) = (/ & &7.2962e-03_rb,6.5767e-03_rb,4.9576e-03_rb,2.9518e-03_rb,2.2147e-04_rb/) kbo(:, 2,23, 5) = (/ & &1.1116e-02_rb,9.7878e-03_rb,7.2822e-03_rb,4.2736e-03_rb,2.8452e-04_rb/) kbo(:, 3,23, 5) = (/ & &1.6294e-02_rb,1.4142e-02_rb,1.0397e-02_rb,6.0039e-03_rb,3.5768e-04_rb/) kbo(:, 4,23, 5) = (/ & &2.3164e-02_rb,1.9768e-02_rb,1.4383e-02_rb,8.1899e-03_rb,4.4507e-04_rb/) kbo(:, 5,23, 5) = (/ & &3.1815e-02_rb,2.6782e-02_rb,1.9341e-02_rb,1.0913e-02_rb,5.3593e-04_rb/) kbo(:, 1,24, 5) = (/ & &6.5132e-03_rb,5.8530e-03_rb,4.4011e-03_rb,2.6156e-03_rb,1.8866e-04_rb/) kbo(:, 2,24, 5) = (/ & &9.8979e-03_rb,8.6925e-03_rb,6.4521e-03_rb,3.7670e-03_rb,2.4398e-04_rb/) kbo(:, 3,24, 5) = (/ & &1.4458e-02_rb,1.2498e-02_rb,9.1615e-03_rb,5.2667e-03_rb,3.0838e-04_rb/) kbo(:, 4,24, 5) = (/ & &2.0434e-02_rb,1.7400e-02_rb,1.2635e-02_rb,7.1775e-03_rb,3.8038e-04_rb/) kbo(:, 5,24, 5) = (/ & &2.8011e-02_rb,2.3552e-02_rb,1.6988e-02_rb,9.5542e-03_rb,4.5842e-04_rb/) kbo(:, 1,25, 5) = (/ & &5.8496e-03_rb,5.2463e-03_rb,3.9347e-03_rb,2.3271e-03_rb,1.6445e-04_rb/) kbo(:, 2,25, 5) = (/ & &8.8417e-03_rb,7.7604e-03_rb,5.7347e-03_rb,3.3321e-03_rb,2.1081e-04_rb/) kbo(:, 3,25, 5) = (/ & &1.2868e-02_rb,1.1077e-02_rb,8.0978e-03_rb,4.6433e-03_rb,2.6559e-04_rb/) kbo(:, 4,25, 5) = (/ & &1.8100e-02_rb,1.5382e-02_rb,1.1156e-02_rb,6.3115e-03_rb,3.2583e-04_rb/) kbo(:, 5,25, 5) = (/ & &2.4695e-02_rb,2.0722e-02_rb,1.4925e-02_rb,8.3824e-03_rb,3.9105e-04_rb/) kbo(:, 1,26, 5) = (/ & &5.3224e-03_rb,4.7440e-03_rb,3.5455e-03_rb,2.0856e-03_rb,1.4273e-04_rb/) kbo(:, 2,26, 5) = (/ & &7.9880e-03_rb,6.9773e-03_rb,5.1401e-03_rb,2.9750e-03_rb,1.8261e-04_rb/) kbo(:, 3,26, 5) = (/ & &1.1564e-02_rb,9.9215e-03_rb,7.2343e-03_rb,4.1334e-03_rb,2.2903e-04_rb/) kbo(:, 4,26, 5) = (/ & &1.6157e-02_rb,1.3698e-02_rb,9.9057e-03_rb,5.5934e-03_rb,2.7897e-04_rb/) kbo(:, 5,26, 5) = (/ & &2.1895e-02_rb,1.8349e-02_rb,1.3199e-02_rb,7.3992e-03_rb,3.3238e-04_rb/) kbo(:, 1,27, 5) = (/ & &4.8372e-03_rb,4.2909e-03_rb,3.1935e-03_rb,1.8703e-03_rb,1.2222e-04_rb/) kbo(:, 2,27, 5) = (/ & &7.2219e-03_rb,6.2785e-03_rb,4.6150e-03_rb,2.6594e-03_rb,1.5564e-04_rb/) kbo(:, 3,27, 5) = (/ & &1.0384e-02_rb,8.8912e-03_rb,6.4664e-03_rb,3.6778e-03_rb,1.9361e-04_rb/) kbo(:, 4,27, 5) = (/ & &1.4401e-02_rb,1.2183e-02_rb,8.7984e-03_rb,4.9566e-03_rb,2.3445e-04_rb/) kbo(:, 5,27, 5) = (/ & &1.9400e-02_rb,1.6243e-02_rb,1.1670e-02_rb,6.5316e-03_rb,2.7869e-04_rb/) kbo(:, 1,28, 5) = (/ & &4.3907e-03_rb,3.8800e-03_rb,2.8785e-03_rb,1.6793e-03_rb,1.0352e-04_rb/) kbo(:, 2,28, 5) = (/ & &6.5180e-03_rb,5.6500e-03_rb,4.1431e-03_rb,2.3781e-03_rb,1.3090e-04_rb/) kbo(:, 3,28, 5) = (/ & &9.2995e-03_rb,7.9428e-03_rb,5.7641e-03_rb,3.2684e-03_rb,1.6163e-04_rb/) kbo(:, 4,28, 5) = (/ & &1.2806e-02_rb,1.0816e-02_rb,7.7992e-03_rb,4.3863e-03_rb,1.9422e-04_rb/) kbo(:, 5,28, 5) = (/ & &1.7155e-02_rb,1.4361e-02_rb,1.0305e-02_rb,5.7599e-03_rb,2.3020e-04_rb/) kbo(:, 1,29, 5) = (/ & &3.9730e-03_rb,3.5033e-03_rb,2.5903e-03_rb,1.5043e-03_rb,8.6138e-05_rb/) kbo(:, 2,29, 5) = (/ & &5.8501e-03_rb,5.0589e-03_rb,3.6981e-03_rb,2.1165e-03_rb,1.0866e-04_rb/) kbo(:, 3,29, 5) = (/ & &8.2752e-03_rb,7.0540e-03_rb,5.1122e-03_rb,2.8938e-03_rb,1.3206e-04_rb/) kbo(:, 4,29, 5) = (/ & &1.1323e-02_rb,9.5548e-03_rb,6.8809e-03_rb,3.8639e-03_rb,1.5770e-04_rb/) kbo(:, 5,29, 5) = (/ & &1.5087e-02_rb,1.2624e-02_rb,9.0498e-03_rb,5.0491e-03_rb,1.8805e-04_rb/) kbo(:, 1,30, 5) = (/ & &3.5719e-03_rb,3.1399e-03_rb,2.3162e-03_rb,1.3392e-03_rb,7.1373e-05_rb/) kbo(:, 2,30, 5) = (/ & &5.2107e-03_rb,4.4986e-03_rb,3.2816e-03_rb,1.8730e-03_rb,8.8119e-05_rb/) kbo(:, 3,30, 5) = (/ & &7.3165e-03_rb,6.2315e-03_rb,4.5078e-03_rb,2.5469e-03_rb,1.0662e-04_rb/) kbo(:, 4,30, 5) = (/ & &9.9520e-03_rb,8.3892e-03_rb,6.0327e-03_rb,3.3847e-03_rb,1.2803e-04_rb/) kbo(:, 5,30, 5) = (/ & &1.3166e-02_rb,1.1029e-02_rb,7.9003e-03_rb,4.4030e-03_rb,1.5121e-04_rb/) kbo(:, 1,31, 5) = (/ & &3.1788e-03_rb,2.7864e-03_rb,2.0507e-03_rb,1.1825e-03_rb,5.7200e-05_rb/) kbo(:, 2,31, 5) = (/ & &4.5964e-03_rb,3.9617e-03_rb,2.8849e-03_rb,1.6429e-03_rb,7.0401e-05_rb/) kbo(:, 3,31, 5) = (/ & &6.4014e-03_rb,5.4495e-03_rb,3.9350e-03_rb,2.2208e-03_rb,8.5247e-05_rb/) kbo(:, 4,31, 5) = (/ & &8.6375e-03_rb,7.2878e-03_rb,5.2393e-03_rb,2.9385e-03_rb,1.0146e-04_rb/) kbo(:, 5,31, 5) = (/ & &1.1347e-02_rb,9.5229e-03_rb,6.8169e-03_rb,3.7997e-03_rb,1.1891e-04_rb/) kbo(:, 1,32, 5) = (/ & &2.8359e-03_rb,2.4792e-03_rb,1.8198e-03_rb,1.0462e-03_rb,4.5712e-05_rb/) kbo(:, 2,32, 5) = (/ & &4.0627e-03_rb,3.4962e-03_rb,2.5410e-03_rb,1.4431e-03_rb,5.6022e-05_rb/) kbo(:, 3,32, 5) = (/ & &5.6078e-03_rb,4.7711e-03_rb,3.4442e-03_rb,1.9418e-03_rb,6.7267e-05_rb/) kbo(:, 4,32, 5) = (/ & &7.5047e-03_rb,6.3406e-03_rb,4.5581e-03_rb,2.5548e-03_rb,7.9547e-05_rb/) kbo(:, 5,32, 5) = (/ & &9.7792e-03_rb,8.2213e-03_rb,5.8868e-03_rb,3.2848e-03_rb,9.2763e-05_rb/) kbo(:, 1,33, 5) = (/ & &2.5284e-03_rb,2.2057e-03_rb,1.6155e-03_rb,9.2588e-04_rb,3.6267e-05_rb/) kbo(:, 2,33, 5) = (/ & &3.5886e-03_rb,3.0844e-03_rb,2.2382e-03_rb,1.2695e-03_rb,4.4003e-05_rb/) kbo(:, 3,33, 5) = (/ & &4.9097e-03_rb,4.1805e-03_rb,3.0157e-03_rb,1.6993e-03_rb,5.2825e-05_rb/) kbo(:, 4,33, 5) = (/ & &6.5165e-03_rb,5.5167e-03_rb,3.9645e-03_rb,2.2215e-03_rb,6.1889e-05_rb/) kbo(:, 5,33, 5) = (/ & &8.4209e-03_rb,7.0899e-03_rb,5.0775e-03_rb,2.8354e-03_rb,7.2610e-05_rb/) kbo(:, 1,34, 5) = (/ & &2.2520e-03_rb,1.9602e-03_rb,1.4328e-03_rb,8.1868e-04_rb,2.9417e-05_rb/) kbo(:, 2,34, 5) = (/ & &3.1681e-03_rb,2.7215e-03_rb,1.9717e-03_rb,1.1166e-03_rb,3.5490e-05_rb/) kbo(:, 3,34, 5) = (/ & &4.2977e-03_rb,3.6615e-03_rb,2.6403e-03_rb,1.4869e-03_rb,4.1854e-05_rb/) kbo(:, 4,34, 5) = (/ & &5.6597e-03_rb,4.7967e-03_rb,3.4462e-03_rb,1.9298e-03_rb,4.9348e-05_rb/) kbo(:, 5,34, 5) = (/ & &7.2681e-03_rb,6.1253e-03_rb,4.3873e-03_rb,2.4514e-03_rb,5.8186e-05_rb/) kbo(:, 1,35, 5) = (/ & &1.9366e-03_rb,1.6854e-03_rb,1.2304e-03_rb,7.0199e-04_rb,2.3008e-05_rb/) kbo(:, 2,35, 5) = (/ & &2.7102e-03_rb,2.3296e-03_rb,1.6872e-03_rb,9.5490e-04_rb,2.7664e-05_rb/) kbo(:, 3,35, 5) = (/ & &3.6574e-03_rb,3.1206e-03_rb,2.2499e-03_rb,1.2662e-03_rb,3.3089e-05_rb/) kbo(:, 4,35, 5) = (/ & &4.7963e-03_rb,4.0694e-03_rb,2.9228e-03_rb,1.6371e-03_rb,3.9372e-05_rb/) kbo(:, 5,35, 5) = (/ & &6.1352e-03_rb,5.1795e-03_rb,3.7111e-03_rb,2.0740e-03_rb,4.6276e-05_rb/) kbo(:, 1,36, 5) = (/ & &1.6034e-03_rb,1.3976e-03_rb,1.0202e-03_rb,5.8186e-04_rb,1.7663e-05_rb/) kbo(:, 2,36, 5) = (/ & &2.2421e-03_rb,1.9307e-03_rb,1.3983e-03_rb,7.9118e-04_rb,2.1547e-05_rb/) kbo(:, 3,36, 5) = (/ & &3.0206e-03_rb,2.5824e-03_rb,1.8623e-03_rb,1.0484e-03_rb,2.5886e-05_rb/) kbo(:, 4,36, 5) = (/ & &3.9570e-03_rb,3.3630e-03_rb,2.4161e-03_rb,1.3541e-03_rb,3.0872e-05_rb/) kbo(:, 5,36, 5) = (/ & &5.0582e-03_rb,4.2785e-03_rb,3.0668e-03_rb,1.7150e-03_rb,3.6301e-05_rb/) kbo(:, 1,37, 5) = (/ & &1.2748e-03_rb,1.1146e-03_rb,8.1407e-04_rb,4.6450e-04_rb,1.3581e-05_rb/) kbo(:, 2,37, 5) = (/ & &1.7898e-03_rb,1.5447e-03_rb,1.1192e-03_rb,6.3354e-04_rb,1.6729e-05_rb/) kbo(:, 3,37, 5) = (/ & &2.4187e-03_rb,2.0714e-03_rb,1.4947e-03_rb,8.4187e-04_rb,2.0205e-05_rb/) kbo(:, 4,37, 5) = (/ & &3.1762e-03_rb,2.7057e-03_rb,1.9449e-03_rb,1.0902e-03_rb,2.4038e-05_rb/) kbo(:, 5,37, 5) = (/ & &4.0701e-03_rb,3.4504e-03_rb,2.4741e-03_rb,1.3836e-03_rb,2.8365e-05_rb/) kbo(:, 1,38, 5) = (/ & &1.0102e-03_rb,8.8559e-04_rb,6.4741e-04_rb,3.6947e-04_rb,1.0412e-05_rb/) kbo(:, 2,38, 5) = (/ & &1.4249e-03_rb,1.2327e-03_rb,8.9319e-04_rb,5.0584e-04_rb,1.2901e-05_rb/) kbo(:, 3,38, 5) = (/ & &1.9318e-03_rb,1.6579e-03_rb,1.1967e-03_rb,6.7434e-04_rb,1.5672e-05_rb/) kbo(:, 4,38, 5) = (/ & &2.5434e-03_rb,2.1714e-03_rb,1.5616e-03_rb,8.7562e-04_rb,1.8795e-05_rb/) kbo(:, 5,38, 5) = (/ & &3.2683e-03_rb,2.7765e-03_rb,1.9923e-03_rb,1.1142e-03_rb,2.2145e-05_rb/) kbo(:, 1,39, 5) = (/ & &7.9946e-04_rb,7.0298e-04_rb,5.1416e-04_rb,2.9368e-04_rb,7.9720e-06_rb/) kbo(:, 2,39, 5) = (/ & &1.1333e-03_rb,9.8290e-04_rb,7.1255e-04_rb,4.0353e-04_rb,9.9223e-06_rb/) kbo(:, 3,39, 5) = (/ & &1.5418e-03_rb,1.3259e-03_rb,9.5739e-04_rb,5.3970e-04_rb,1.2141e-05_rb/) kbo(:, 4,39, 5) = (/ & &2.0355e-03_rb,1.7418e-03_rb,1.2533e-03_rb,7.0303e-04_rb,1.4591e-05_rb/) kbo(:, 5,39, 5) = (/ & &2.6233e-03_rb,2.2332e-03_rb,1.6027e-03_rb,8.9673e-04_rb,1.7278e-05_rb/) kbo(:, 1,40, 5) = (/ & &6.1558e-04_rb,5.4339e-04_rb,3.9799e-04_rb,2.2761e-04_rb,6.0679e-06_rb/) kbo(:, 2,40, 5) = (/ & &8.8100e-04_rb,7.6638e-04_rb,5.5623e-04_rb,3.1507e-04_rb,7.6104e-06_rb/) kbo(:, 3,40, 5) = (/ & &1.2072e-03_rb,1.0404e-03_rb,7.5136e-04_rb,4.2373e-04_rb,9.3444e-06_rb/) kbo(:, 4,40, 5) = (/ & &1.6029e-03_rb,1.3742e-03_rb,9.8944e-04_rb,5.5501e-04_rb,1.1318e-05_rb/) kbo(:, 5,40, 5) = (/ & &2.0762e-03_rb,1.7710e-03_rb,1.2711e-03_rb,7.1134e-04_rb,1.3497e-05_rb/) kbo(:, 1,41, 5) = (/ & &4.7150e-04_rb,4.1786e-04_rb,3.0641e-04_rb,1.7559e-04_rb,4.6077e-06_rb/) kbo(:, 2,41, 5) = (/ & &6.8147e-04_rb,5.9486e-04_rb,4.3209e-04_rb,2.4498e-04_rb,5.8135e-06_rb/) kbo(:, 3,41, 5) = (/ & &9.4213e-04_rb,8.1372e-04_rb,5.8780e-04_rb,3.3145e-04_rb,7.1715e-06_rb/) kbo(:, 4,41, 5) = (/ & &1.2582e-03_rb,1.0809e-03_rb,7.7844e-04_rb,4.3685e-04_rb,8.7285e-06_rb/) kbo(:, 5,41, 5) = (/ & &1.6388e-03_rb,1.4010e-03_rb,1.0055e-03_rb,5.6266e-04_rb,1.0465e-05_rb/) kbo(:, 1,42, 5) = (/ & &3.6009e-04_rb,3.2039e-04_rb,2.3540e-04_rb,1.3511e-04_rb,3.4818e-06_rb/) kbo(:, 2,42, 5) = (/ & &5.2591e-04_rb,4.6075e-04_rb,3.3505e-04_rb,1.9005e-04_rb,4.4174e-06_rb/) kbo(:, 3,42, 5) = (/ & &7.3377e-04_rb,6.3539e-04_rb,4.5927e-04_rb,2.5904e-04_rb,5.4797e-06_rb/) kbo(:, 4,42, 5) = (/ & &9.8665e-04_rb,8.4900e-04_rb,6.1152e-04_rb,3.4335e-04_rb,6.7219e-06_rb/) kbo(:, 5,42, 5) = (/ & &1.2919e-03_rb,1.1071e-03_rb,7.9454e-04_rb,4.4455e-04_rb,8.0996e-06_rb/) kbo(:, 1,43, 5) = (/ & &2.7068e-04_rb,2.4195e-04_rb,1.7816e-04_rb,1.0249e-04_rb,2.5837e-06_rb/) kbo(:, 2,43, 5) = (/ & &4.0104e-04_rb,3.5254e-04_rb,2.5672e-04_rb,1.4582e-04_rb,3.3146e-06_rb/) kbo(:, 3,43, 5) = (/ & &5.6618e-04_rb,4.9150e-04_rb,3.5538e-04_rb,2.0045e-04_rb,4.1432e-06_rb/) kbo(:, 4,43, 5) = (/ & &7.6835e-04_rb,6.6216e-04_rb,4.7675e-04_rb,2.6781e-04_rb,5.1315e-06_rb/) kbo(:, 5,43, 5) = (/ & &1.0127e-03_rb,8.6923e-04_rb,6.2405e-04_rb,3.4899e-04_rb,6.1983e-06_rb/) kbo(:, 1,44, 5) = (/ & &2.0139e-04_rb,1.8106e-04_rb,1.3358e-04_rb,7.7094e-05_rb,1.8960e-06_rb/) kbo(:, 2,44, 5) = (/ & &3.0345e-04_rb,2.6774e-04_rb,1.9525e-04_rb,1.1112e-04_rb,2.4595e-06_rb/) kbo(:, 3,44, 5) = (/ & &4.3439e-04_rb,3.7822e-04_rb,2.7355e-04_rb,1.5433e-04_rb,3.1158e-06_rb/) kbo(:, 4,44, 5) = (/ & &5.9600e-04_rb,5.1425e-04_rb,3.7025e-04_rb,2.0795e-04_rb,3.8746e-06_rb/) kbo(:, 5,44, 5) = (/ & &7.9184e-04_rb,6.8038e-04_rb,4.8839e-04_rb,2.7303e-04_rb,4.7113e-06_rb/) kbo(:, 1,45, 5) = (/ & &1.4924e-04_rb,1.3479e-04_rb,9.9739e-05_rb,5.7756e-05_rb,1.3827e-06_rb/) kbo(:, 2,45, 5) = (/ & &2.2880e-04_rb,2.0270e-04_rb,1.4808e-04_rb,8.4395e-05_rb,1.8081e-06_rb/) kbo(:, 3,45, 5) = (/ & &3.3229e-04_rb,2.9032e-04_rb,2.1015e-04_rb,1.1857e-04_rb,2.3261e-06_rb/) kbo(:, 4,45, 5) = (/ & &4.6152e-04_rb,3.9893e-04_rb,2.8721e-04_rb,1.6120e-04_rb,2.9080e-06_rb/) kbo(:, 5,45, 5) = (/ & &6.1857e-04_rb,5.3204e-04_rb,3.8190e-04_rb,2.1341e-04_rb,3.5612e-06_rb/) kbo(:, 1,46, 5) = (/ & &1.0906e-04_rb,9.9059e-05_rb,7.3477e-05_rb,4.2734e-05_rb,1.0024e-06_rb/) kbo(:, 2,46, 5) = (/ & &1.7043e-04_rb,1.5165e-04_rb,1.1108e-04_rb,6.3473e-05_rb,1.3227e-06_rb/) kbo(:, 3,46, 5) = (/ & &2.5193e-04_rb,2.2079e-04_rb,1.6005e-04_rb,9.0376e-05_rb,1.7191e-06_rb/) kbo(:, 4,46, 5) = (/ & &3.5457e-04_rb,3.0711e-04_rb,2.2121e-04_rb,1.2412e-04_rb,2.1640e-06_rb/) kbo(:, 5,46, 5) = (/ & &4.8016e-04_rb,4.1350e-04_rb,2.9669e-04_rb,1.6585e-04_rb,2.6681e-06_rb/) kbo(:, 1,47, 5) = (/ & &7.7791e-05_rb,7.1164e-05_rb,5.2966e-05_rb,3.0950e-05_rb,7.1979e-07_rb/) kbo(:, 2,47, 5) = (/ & &1.2436e-04_rb,1.1134e-04_rb,8.1758e-05_rb,4.6856e-05_rb,9.5466e-07_rb/) kbo(:, 3,47, 5) = (/ & &1.8767e-04_rb,1.6518e-04_rb,1.1995e-04_rb,6.7855e-05_rb,1.2553e-06_rb/) kbo(:, 4,47, 5) = (/ & &2.6877e-04_rb,2.3350e-04_rb,1.6823e-04_rb,9.4438e-05_rb,1.6001e-06_rb/) kbo(:, 5,47, 5) = (/ & &3.6855e-04_rb,3.1774e-04_rb,2.2797e-04_rb,1.2742e-04_rb,1.9855e-06_rb/) kbo(:, 1,48, 5) = (/ & &5.5044e-05_rb,5.0693e-05_rb,3.7891e-05_rb,2.2267e-05_rb,5.1420e-07_rb/) kbo(:, 2,48, 5) = (/ & &9.0215e-05_rb,8.1170e-05_rb,5.9770e-05_rb,3.4413e-05_rb,6.9075e-07_rb/) kbo(:, 3,48, 5) = (/ & &1.3907e-04_rb,1.2292e-04_rb,8.9447e-05_rb,5.0716e-05_rb,9.0307e-07_rb/) kbo(:, 4,48, 5) = (/ & &2.0282e-04_rb,1.7688e-04_rb,1.2753e-04_rb,7.1593e-05_rb,1.1665e-06_rb/) kbo(:, 5,48, 5) = (/ & &2.8252e-04_rb,2.4382e-04_rb,1.7492e-04_rb,9.7702e-05_rb,1.4649e-06_rb/) kbo(:, 1,49, 5) = (/ & &3.8587e-05_rb,3.5798e-05_rb,2.6873e-05_rb,1.5895e-05_rb,3.6284e-07_rb/) kbo(:, 2,49, 5) = (/ & &6.4973e-05_rb,5.8784e-05_rb,4.3404e-05_rb,2.5118e-05_rb,4.9340e-07_rb/) kbo(:, 3,49, 5) = (/ & &1.0247e-04_rb,9.0960e-05_rb,6.6355e-05_rb,3.7720e-05_rb,6.5251e-07_rb/) kbo(:, 4,49, 5) = (/ & &1.5241e-04_rb,1.3334e-04_rb,9.6283e-05_rb,5.4131e-05_rb,8.4176e-07_rb/) kbo(:, 5,49, 5) = (/ & &2.1585e-04_rb,1.8661e-04_rb,1.3387e-04_rb,7.4762e-05_rb,1.0688e-06_rb/) kbo(:, 1,50, 5) = (/ & &2.7204e-05_rb,2.5412e-05_rb,1.9146e-05_rb,1.1397e-05_rb,2.5753e-07_rb/) kbo(:, 2,50, 5) = (/ & &4.7009e-05_rb,4.2778e-05_rb,3.1689e-05_rb,1.8416e-05_rb,3.5668e-07_rb/) kbo(:, 3,50, 5) = (/ & &7.5923e-05_rb,6.7680e-05_rb,4.9459e-05_rb,2.8188e-05_rb,4.7630e-07_rb/) kbo(:, 4,50, 5) = (/ & &1.1516e-04_rb,1.0107e-04_rb,7.3089e-05_rb,4.1129e-05_rb,6.1736e-07_rb/) kbo(:, 5,50, 5) = (/ & &1.6568e-04_rb,1.4364e-04_rb,1.0307e-04_rb,5.7556e-05_rb,7.8811e-07_rb/) kbo(:, 1,51, 5) = (/ & &1.9132e-05_rb,1.8022e-05_rb,1.3620e-05_rb,8.1585e-06_rb,1.8251e-07_rb/) kbo(:, 2,51, 5) = (/ & &3.4015e-05_rb,3.1104e-05_rb,2.3112e-05_rb,1.3493e-05_rb,2.5742e-07_rb/) kbo(:, 3,51, 5) = (/ & &5.6251e-05_rb,5.0351e-05_rb,3.6864e-05_rb,2.1082e-05_rb,3.4853e-07_rb/) kbo(:, 4,51, 5) = (/ & &8.7117e-05_rb,7.6686e-05_rb,5.5526e-05_rb,3.1296e-05_rb,4.5614e-07_rb/) kbo(:, 5,51, 5) = (/ & &1.2742e-04_rb,1.1075e-04_rb,7.9490e-05_rb,4.4386e-05_rb,5.8324e-07_rb/) kbo(:, 1,52, 5) = (/ & &1.3343e-05_rb,1.2680e-05_rb,9.6205e-06_rb,5.7937e-06_rb,1.2757e-07_rb/) kbo(:, 2,52, 5) = (/ & &2.4457e-05_rb,2.2489e-05_rb,1.6762e-05_rb,9.8342e-06_rb,1.8427e-07_rb/) kbo(:, 3,52, 5) = (/ & &4.1490e-05_rb,3.7272e-05_rb,2.7347e-05_rb,1.5697e-05_rb,2.5311e-07_rb/) kbo(:, 4,52, 5) = (/ & &6.5698e-05_rb,5.8019e-05_rb,4.2067e-05_rb,2.3741e-05_rb,3.3454e-07_rb/) kbo(:, 5,52, 5) = (/ & &9.7769e-05_rb,8.5199e-05_rb,6.1200e-05_rb,3.4184e-05_rb,4.3074e-07_rb/) kbo(:, 1,53, 5) = (/ & &9.2286e-06_rb,8.8438e-06_rb,6.7394e-06_rb,4.0796e-06_rb,8.7990e-08_rb/) kbo(:, 2,53, 5) = (/ & &1.7462e-05_rb,1.6145e-05_rb,1.2071e-05_rb,7.1204e-06_rb,1.3004e-07_rb/) kbo(:, 3,53, 5) = (/ & &3.0397e-05_rb,2.7436e-05_rb,2.0177e-05_rb,1.1626e-05_rb,1.8173e-07_rb/) kbo(:, 4,53, 5) = (/ & &4.9319e-05_rb,4.3681e-05_rb,3.1722e-05_rb,1.7943e-05_rb,2.4392e-07_rb/) kbo(:, 5,53, 5) = (/ & &7.4848e-05_rb,6.5369e-05_rb,4.7021e-05_rb,2.6269e-05_rb,3.1719e-07_rb/) kbo(:, 1,54, 5) = (/ & &6.4770e-06_rb,6.2515e-06_rb,4.7770e-06_rb,2.9074e-06_rb,6.2611e-08_rb/) kbo(:, 2,54, 5) = (/ & &1.2608e-05_rb,1.1724e-05_rb,8.7837e-06_rb,5.2044e-06_rb,9.4222e-08_rb/) kbo(:, 3,54, 5) = (/ & &2.2532e-05_rb,2.0405e-05_rb,1.5043e-05_rb,8.6950e-06_rb,1.3411e-07_rb/) kbo(:, 4,54, 5) = (/ & &3.7397e-05_rb,3.3212e-05_rb,2.4145e-05_rb,1.3685e-05_rb,1.8245e-07_rb/) kbo(:, 5,54, 5) = (/ & &5.7878e-05_rb,5.0645e-05_rb,3.6444e-05_rb,2.0382e-05_rb,2.3871e-07_rb/) kbo(:, 1,55, 5) = (/ & &4.5852e-06_rb,4.4390e-06_rb,3.4016e-06_rb,2.0767e-06_rb,4.4961e-08_rb/) kbo(:, 2,55, 5) = (/ & &9.1363e-06_rb,8.5468e-06_rb,6.4138e-06_rb,3.8136e-06_rb,6.9204e-08_rb/) kbo(:, 3,55, 5) = (/ & &1.6770e-05_rb,1.5238e-05_rb,1.1251e-05_rb,6.5245e-06_rb,1.0020e-07_rb/) kbo(:, 4,55, 5) = (/ & &2.8475e-05_rb,2.5343e-05_rb,1.8439e-05_rb,1.0474e-05_rb,1.3796e-07_rb/) kbo(:, 5,55, 5) = (/ & &4.4988e-05_rb,3.9423e-05_rb,2.8373e-05_rb,1.5872e-05_rb,1.8258e-07_rb/) kbo(:, 1,56, 5) = (/ & &3.2543e-06_rb,3.1469e-06_rb,2.4158e-06_rb,1.4787e-06_rb,3.1932e-08_rb/) kbo(:, 2,56, 5) = (/ & &6.5989e-06_rb,6.2038e-06_rb,4.6696e-06_rb,2.7831e-06_rb,5.0531e-08_rb/) kbo(:, 3,56, 5) = (/ & &1.2453e-05_rb,1.1352e-05_rb,8.3945e-06_rb,4.8820e-06_rb,7.4538e-08_rb/) kbo(:, 4,56, 5) = (/ & &2.1655e-05_rb,1.9314e-05_rb,1.4065e-05_rb,8.0028e-06_rb,1.0397e-07_rb/) kbo(:, 5,56, 5) = (/ & &3.4950e-05_rb,3.0673e-05_rb,2.2085e-05_rb,1.2363e-05_rb,1.3925e-07_rb/) kbo(:, 1,57, 5) = (/ & &2.3166e-06_rb,2.2390e-06_rb,1.7142e-06_rb,1.0504e-06_rb,2.2682e-08_rb/) kbo(:, 2,57, 5) = (/ & &4.7540e-06_rb,4.4892e-06_rb,3.3846e-06_rb,2.0245e-06_rb,3.6988e-08_rb/) kbo(:, 3,57, 5) = (/ & &9.2246e-06_rb,8.4320e-06_rb,6.2438e-06_rb,3.6425e-06_rb,5.5328e-08_rb/) kbo(:, 4,57, 5) = (/ & &1.6448e-05_rb,1.4704e-05_rb,1.0717e-05_rb,6.1069e-06_rb,7.8210e-08_rb/) kbo(:, 5,57, 5) = (/ & &2.7140e-05_rb,2.3849e-05_rb,1.7182e-05_rb,9.6233e-06_rb,1.0611e-07_rb/) kbo(:, 1,58, 5) = (/ & &8.1594e-07_rb,9.0016e-07_rb,8.0661e-07_rb,5.9543e-07_rb,1.6269e-08_rb/) kbo(:, 2,58, 5) = (/ & &1.6728e-06_rb,1.8193e-06_rb,1.6122e-06_rb,1.1689e-06_rb,2.7161e-08_rb/) kbo(:, 3,58, 5) = (/ & &3.3325e-06_rb,3.5076e-06_rb,3.0497e-06_rb,2.1581e-06_rb,4.1468e-08_rb/) kbo(:, 4,58, 5) = (/ & &6.0908e-06_rb,6.2615e-06_rb,5.3621e-06_rb,3.7018e-06_rb,5.9556e-08_rb/) kbo(:, 5,58, 5) = (/ & &1.0274e-05_rb,1.0375e-05_rb,8.7754e-06_rb,5.9519e-06_rb,8.1351e-08_rb/) kbo(:, 1,59, 5) = (/ & &6.5199e-07_rb,7.1682e-07_rb,6.4285e-07_rb,4.7533e-07_rb,1.3398e-08_rb/) kbo(:, 2,59, 5) = (/ & &1.3361e-06_rb,1.4531e-06_rb,1.2913e-06_rb,9.4099e-07_rb,2.2445e-08_rb/) kbo(:, 3,59, 5) = (/ & &2.6852e-06_rb,2.8341e-06_rb,2.4717e-06_rb,1.7572e-06_rb,3.4660e-08_rb/) kbo(:, 4,59, 5) = (/ & &4.9575e-06_rb,5.1104e-06_rb,4.3915e-06_rb,3.0485e-06_rb,4.9566e-08_rb/) kbo(:, 5,59, 5) = (/ & &8.4320e-06_rb,8.5398e-06_rb,7.2464e-06_rb,4.9418e-06_rb,6.8105e-08_rb/) kbo(:, 1,13, 6) = (/ & &1.5548e-01_rb,1.2226e-01_rb,8.5068e-02_rb,4.5702e-02_rb,2.0740e-03_rb/) kbo(:, 2,13, 6) = (/ & &2.1897e-01_rb,1.7240e-01_rb,1.2003e-01_rb,6.4538e-02_rb,2.5124e-03_rb/) kbo(:, 3,13, 6) = (/ & &3.0095e-01_rb,2.3621e-01_rb,1.6479e-01_rb,8.8859e-02_rb,3.0382e-03_rb/) kbo(:, 4,13, 6) = (/ & &4.0485e-01_rb,3.1719e-01_rb,2.2079e-01_rb,1.1848e-01_rb,3.6959e-03_rb/) kbo(:, 5,13, 6) = (/ & &5.3118e-01_rb,4.1467e-01_rb,2.8796e-01_rb,1.5438e-01_rb,4.3103e-03_rb/) kbo(:, 1,14, 6) = (/ & &1.3732e-01_rb,1.0825e-01_rb,7.5397e-02_rb,4.0495e-02_rb,1.7538e-03_rb/) kbo(:, 2,14, 6) = (/ & &1.9463e-01_rb,1.5344e-01_rb,1.0670e-01_rb,5.7417e-02_rb,2.1725e-03_rb/) kbo(:, 3,14, 6) = (/ & &2.6896e-01_rb,2.1173e-01_rb,1.4739e-01_rb,7.9254e-02_rb,2.6810e-03_rb/) kbo(:, 4,14, 6) = (/ & &3.6294e-01_rb,2.8446e-01_rb,1.9761e-01_rb,1.0591e-01_rb,3.1748e-03_rb/) kbo(:, 5,14, 6) = (/ & &4.7752e-01_rb,3.7323e-01_rb,2.5905e-01_rb,1.3864e-01_rb,3.7684e-03_rb/) kbo(:, 1,15, 6) = (/ & &1.1609e-01_rb,9.1864e-02_rb,6.4056e-02_rb,3.4496e-02_rb,1.4724e-03_rb/) kbo(:, 2,15, 6) = (/ & &1.6575e-01_rb,1.3099e-01_rb,9.1234e-02_rb,4.9161e-02_rb,1.8695e-03_rb/) kbo(:, 3,15, 6) = (/ & &2.2962e-01_rb,1.8109e-01_rb,1.2603e-01_rb,6.7814e-02_rb,2.2935e-03_rb/) kbo(:, 4,15, 6) = (/ & &3.1077e-01_rb,2.4430e-01_rb,1.6934e-01_rb,9.0957e-02_rb,2.7633e-03_rb/) kbo(:, 5,15, 6) = (/ & &4.0968e-01_rb,3.2160e-01_rb,2.2302e-01_rb,1.1925e-01_rb,3.2819e-03_rb/) kbo(:, 1,16, 6) = (/ & &9.6387e-02_rb,7.6493e-02_rb,5.3335e-02_rb,2.8835e-02_rb,1.2273e-03_rb/) kbo(:, 2,16, 6) = (/ & &1.3769e-01_rb,1.0917e-01_rb,7.6074e-02_rb,4.1117e-02_rb,1.5607e-03_rb/) kbo(:, 3,16, 6) = (/ & &1.9131e-01_rb,1.5123e-01_rb,1.0523e-01_rb,5.6738e-02_rb,1.9638e-03_rb/) kbo(:, 4,16, 6) = (/ & &2.5899e-01_rb,2.0399e-01_rb,1.4165e-01_rb,7.6203e-02_rb,2.3618e-03_rb/) kbo(:, 5,16, 6) = (/ & &3.4214e-01_rb,2.6934e-01_rb,1.8675e-01_rb,1.0014e-01_rb,2.8281e-03_rb/) kbo(:, 1,17, 6) = (/ & &7.9271e-02_rb,6.3126e-02_rb,4.4100e-02_rb,2.3917e-02_rb,1.0217e-03_rb/) kbo(:, 2,17, 6) = (/ & &1.1345e-01_rb,9.0182e-02_rb,6.2977e-02_rb,3.4156e-02_rb,1.3299e-03_rb/) kbo(:, 3,17, 6) = (/ & &1.5797e-01_rb,1.2511e-01_rb,8.7087e-02_rb,4.7059e-02_rb,1.6628e-03_rb/) kbo(:, 4,17, 6) = (/ & &2.1402e-01_rb,1.6897e-01_rb,1.1752e-01_rb,6.3332e-02_rb,2.0151e-03_rb/) kbo(:, 5,17, 6) = (/ & &2.8305e-01_rb,2.2332e-01_rb,1.5502e-01_rb,8.3415e-02_rb,2.4638e-03_rb/) kbo(:, 1,18, 6) = (/ & &6.4211e-02_rb,5.1302e-02_rb,3.5902e-02_rb,1.9554e-02_rb,8.7983e-04_rb/) kbo(:, 2,18, 6) = (/ & &9.2120e-02_rb,7.3433e-02_rb,5.1355e-02_rb,2.7890e-02_rb,1.1536e-03_rb/) kbo(:, 3,18, 6) = (/ & &1.2833e-01_rb,1.0186e-01_rb,7.1081e-02_rb,3.8483e-02_rb,1.4378e-03_rb/) kbo(:, 4,18, 6) = (/ & &1.7390e-01_rb,1.3787e-01_rb,9.6012e-02_rb,5.1930e-02_rb,1.7641e-03_rb/) kbo(:, 5,18, 6) = (/ & &2.3011e-01_rb,1.8206e-01_rb,1.2668e-01_rb,6.8404e-02_rb,2.1654e-03_rb/) kbo(:, 1,19, 6) = (/ & &5.2788e-02_rb,4.2299e-02_rb,2.9673e-02_rb,1.6227e-02_rb,7.6310e-04_rb/) kbo(:, 2,19, 6) = (/ & &7.5889e-02_rb,6.0648e-02_rb,4.2457e-02_rb,2.3108e-02_rb,1.0035e-03_rb/) kbo(:, 3,19, 6) = (/ & &1.0575e-01_rb,8.4190e-02_rb,5.8852e-02_rb,3.1993e-02_rb,1.2648e-03_rb/) kbo(:, 4,19, 6) = (/ & &1.4328e-01_rb,1.1394e-01_rb,7.9533e-02_rb,4.3155e-02_rb,1.5714e-03_rb/) kbo(:, 5,19, 6) = (/ & &1.8940e-01_rb,1.5028e-01_rb,1.0488e-01_rb,5.6817e-02_rb,1.9149e-03_rb/) kbo(:, 1,20, 6) = (/ & &4.4520e-02_rb,3.5758e-02_rb,2.5128e-02_rb,1.3753e-02_rb,6.6571e-04_rb/) kbo(:, 2,20, 6) = (/ & &6.4045e-02_rb,5.1271e-02_rb,3.5901e-02_rb,1.9582e-02_rb,8.7391e-04_rb/) kbo(:, 3,20, 6) = (/ & &8.9082e-02_rb,7.1164e-02_rb,4.9821e-02_rb,2.7122e-02_rb,1.1092e-03_rb/) kbo(:, 4,20, 6) = (/ & &1.2061e-01_rb,9.6051e-02_rb,6.7127e-02_rb,3.6518e-02_rb,1.3635e-03_rb/) kbo(:, 5,20, 6) = (/ & &1.5922e-01_rb,1.2658e-01_rb,8.8405e-02_rb,4.7977e-02_rb,1.6664e-03_rb/) kbo(:, 1,21, 6) = (/ & &3.7777e-02_rb,3.0383e-02_rb,2.1331e-02_rb,1.1694e-02_rb,5.7845e-04_rb/) kbo(:, 2,21, 6) = (/ & &5.4331e-02_rb,4.3484e-02_rb,3.0481e-02_rb,1.6684e-02_rb,7.5762e-04_rb/) kbo(:, 3,21, 6) = (/ & &7.5428e-02_rb,6.0294e-02_rb,4.2245e-02_rb,2.3058e-02_rb,9.5396e-04_rb/) kbo(:, 4,21, 6) = (/ & &1.0181e-01_rb,8.1193e-02_rb,5.6844e-02_rb,3.0978e-02_rb,1.1796e-03_rb/) kbo(:, 5,21, 6) = (/ & &1.3419e-01_rb,1.0693e-01_rb,7.4825e-02_rb,4.0693e-02_rb,1.4376e-03_rb/) kbo(:, 1,22, 6) = (/ & &3.2832e-02_rb,2.6387e-02_rb,1.8543e-02_rb,1.0190e-02_rb,5.0764e-04_rb/) kbo(:, 2,22, 6) = (/ & &4.6987e-02_rb,3.7684e-02_rb,2.6458e-02_rb,1.4480e-02_rb,6.6076e-04_rb/) kbo(:, 3,22, 6) = (/ & &6.5046e-02_rb,5.2018e-02_rb,3.6448e-02_rb,1.9932e-02_rb,8.2689e-04_rb/) kbo(:, 4,22, 6) = (/ & &8.7447e-02_rb,6.9814e-02_rb,4.8898e-02_rb,2.6679e-02_rb,1.0180e-03_rb/) kbo(:, 5,22, 6) = (/ & &1.1504e-01_rb,9.1878e-02_rb,6.4286e-02_rb,3.4972e-02_rb,1.2412e-03_rb/) kbo(:, 1,23, 6) = (/ & &2.8625e-02_rb,2.3013e-02_rb,1.6180e-02_rb,8.8954e-03_rb,4.4551e-04_rb/) kbo(:, 2,23, 6) = (/ & &4.0740e-02_rb,3.2715e-02_rb,2.2979e-02_rb,1.2589e-02_rb,5.7081e-04_rb/) kbo(:, 3,23, 6) = (/ & &5.6140e-02_rb,4.4931e-02_rb,3.1539e-02_rb,1.7244e-02_rb,7.1483e-04_rb/) kbo(:, 4,23, 6) = (/ & &7.5282e-02_rb,6.0221e-02_rb,4.2218e-02_rb,2.3054e-02_rb,8.7570e-04_rb/) kbo(:, 5,23, 6) = (/ & &9.9200e-02_rb,7.9197e-02_rb,5.5422e-02_rb,3.0138e-02_rb,1.0690e-03_rb/) kbo(:, 1,24, 6) = (/ & &2.5225e-02_rb,2.0294e-02_rb,1.4276e-02_rb,7.8427e-03_rb,3.8602e-04_rb/) kbo(:, 2,24, 6) = (/ & &3.5712e-02_rb,2.8695e-02_rb,2.0149e-02_rb,1.1049e-02_rb,4.9372e-04_rb/) kbo(:, 3,24, 6) = (/ & &4.9060e-02_rb,3.9310e-02_rb,2.7586e-02_rb,1.5091e-02_rb,6.1539e-04_rb/) kbo(:, 4,24, 6) = (/ & &6.5785e-02_rb,5.2643e-02_rb,3.6889e-02_rb,2.0124e-02_rb,7.5365e-04_rb/) kbo(:, 5,24, 6) = (/ & &8.6520e-02_rb,6.9119e-02_rb,4.8335e-02_rb,2.6295e-02_rb,9.2000e-04_rb/) kbo(:, 1,25, 6) = (/ & &2.2344e-02_rb,1.7976e-02_rb,1.2645e-02_rb,6.9412e-03_rb,3.3195e-04_rb/) kbo(:, 2,25, 6) = (/ & &3.1531e-02_rb,2.5281e-02_rb,1.7784e-02_rb,9.7415e-03_rb,4.2393e-04_rb/) kbo(:, 3,25, 6) = (/ & &4.3153e-02_rb,3.4621e-02_rb,2.4312e-02_rb,1.3288e-02_rb,5.2565e-04_rb/) kbo(:, 4,25, 6) = (/ & &5.7875e-02_rb,4.6285e-02_rb,3.2426e-02_rb,1.7676e-02_rb,6.4832e-04_rb/) kbo(:, 5,25, 6) = (/ & &7.6134e-02_rb,6.0793e-02_rb,4.2524e-02_rb,2.3109e-02_rb,7.8380e-04_rb/) kbo(:, 1,26, 6) = (/ & &1.9994e-02_rb,1.6102e-02_rb,1.1323e-02_rb,6.2216e-03_rb,2.8629e-04_rb/) kbo(:, 2,26, 6) = (/ & &2.8079e-02_rb,2.2581e-02_rb,1.5869e-02_rb,8.6875e-03_rb,3.6314e-04_rb/) kbo(:, 3,26, 6) = (/ & &3.8417e-02_rb,3.0834e-02_rb,2.1637e-02_rb,1.1805e-02_rb,4.5229e-04_rb/) kbo(:, 4,26, 6) = (/ & &5.1448e-02_rb,4.1174e-02_rb,2.8844e-02_rb,1.5712e-02_rb,5.5890e-04_rb/) kbo(:, 5,26, 6) = (/ & &6.7708e-02_rb,5.4151e-02_rb,3.7876e-02_rb,2.0559e-02_rb,6.6983e-04_rb/) kbo(:, 1,27, 6) = (/ & &1.7896e-02_rb,1.4429e-02_rb,1.0152e-02_rb,5.5772e-03_rb,2.4427e-04_rb/) kbo(:, 2,27, 6) = (/ & &2.5042e-02_rb,2.0157e-02_rb,1.4173e-02_rb,7.7571e-03_rb,3.0979e-04_rb/) kbo(:, 3,27, 6) = (/ & &3.4208e-02_rb,2.7475e-02_rb,1.9284e-02_rb,1.0527e-02_rb,3.8671e-04_rb/) kbo(:, 4,27, 6) = (/ & &4.5837e-02_rb,3.6717e-02_rb,2.5729e-02_rb,1.4005e-02_rb,4.7399e-04_rb/) kbo(:, 5,27, 6) = (/ & &6.0284e-02_rb,4.8205e-02_rb,3.3722e-02_rb,1.8275e-02_rb,5.6657e-04_rb/) kbo(:, 1,28, 6) = (/ & &1.6009e-02_rb,1.2912e-02_rb,9.0950e-03_rb,4.9907e-03_rb,2.0749e-04_rb/) kbo(:, 2,28, 6) = (/ & &2.2344e-02_rb,1.7993e-02_rb,1.2646e-02_rb,6.9273e-03_rb,2.6196e-04_rb/) kbo(:, 3,28, 6) = (/ & &3.0516e-02_rb,2.4521e-02_rb,1.7216e-02_rb,9.3897e-03_rb,3.2594e-04_rb/) kbo(:, 4,28, 6) = (/ & &4.0856e-02_rb,3.2755e-02_rb,2.2958e-02_rb,1.2475e-02_rb,3.9748e-04_rb/) kbo(:, 5,28, 6) = (/ & &5.3627e-02_rb,4.2900e-02_rb,3.0014e-02_rb,1.6247e-02_rb,4.7387e-04_rb/) kbo(:, 1,29, 6) = (/ & &1.4262e-02_rb,1.1522e-02_rb,8.1115e-03_rb,4.4530e-03_rb,1.7407e-04_rb/) kbo(:, 2,29, 6) = (/ & &1.9887e-02_rb,1.6027e-02_rb,1.1276e-02_rb,6.1687e-03_rb,2.1854e-04_rb/) kbo(:, 3,29, 6) = (/ & &2.7141e-02_rb,2.1827e-02_rb,1.5323e-02_rb,8.3518e-03_rb,2.7116e-04_rb/) kbo(:, 4,29, 6) = (/ & &3.6246e-02_rb,2.9092e-02_rb,2.0386e-02_rb,1.1064e-02_rb,3.2874e-04_rb/) kbo(:, 5,29, 6) = (/ & &4.7427e-02_rb,3.8019e-02_rb,2.6585e-02_rb,1.4385e-02_rb,3.8972e-04_rb/) kbo(:, 1,30, 6) = (/ & &1.2676e-02_rb,1.0246e-02_rb,7.2173e-03_rb,3.9637e-03_rb,1.4416e-04_rb/) kbo(:, 2,30, 6) = (/ & &1.7653e-02_rb,1.4244e-02_rb,1.0017e-02_rb,5.4770e-03_rb,1.8113e-04_rb/) kbo(:, 3,30, 6) = (/ & &2.4022e-02_rb,1.9341e-02_rb,1.3583e-02_rb,7.3998e-03_rb,2.2282e-04_rb/) kbo(:, 4,30, 6) = (/ & &3.1996e-02_rb,2.5721e-02_rb,1.8027e-02_rb,9.7785e-03_rb,2.6784e-04_rb/) kbo(:, 5,30, 6) = (/ & &4.1773e-02_rb,3.3512e-02_rb,2.3450e-02_rb,1.2688e-02_rb,3.1737e-04_rb/) kbo(:, 1,31, 6) = (/ & &1.1178e-02_rb,9.0514e-03_rb,6.3801e-03_rb,3.5048e-03_rb,1.1770e-04_rb/) kbo(:, 2,31, 6) = (/ & &1.5523e-02_rb,1.2547e-02_rb,8.8303e-03_rb,4.8276e-03_rb,1.4724e-04_rb/) kbo(:, 3,31, 6) = (/ & &2.1060e-02_rb,1.6992e-02_rb,1.1943e-02_rb,6.5025e-03_rb,1.7875e-04_rb/) kbo(:, 4,31, 6) = (/ & &2.7976e-02_rb,2.2531e-02_rb,1.5799e-02_rb,8.5667e-03_rb,2.1450e-04_rb/) kbo(:, 5,31, 6) = (/ & &3.6405e-02_rb,2.9271e-02_rb,2.0490e-02_rb,1.1088e-02_rb,2.5503e-04_rb/) kbo(:, 1,32, 6) = (/ & &9.9013e-03_rb,8.0343e-03_rb,5.6674e-03_rb,3.1129e-03_rb,9.6361e-05_rb/) kbo(:, 2,32, 6) = (/ & &1.3706e-02_rb,1.1101e-02_rb,7.8125e-03_rb,4.2746e-03_rb,1.1902e-04_rb/) kbo(:, 3,32, 6) = (/ & &1.8546e-02_rb,1.4995e-02_rb,1.0536e-02_rb,5.7328e-03_rb,1.4373e-04_rb/) kbo(:, 4,32, 6) = (/ & &2.4550e-02_rb,1.9811e-02_rb,1.3886e-02_rb,7.5313e-03_rb,1.7332e-04_rb/) kbo(:, 5,32, 6) = (/ & &3.1853e-02_rb,2.5667e-02_rb,1.7969e-02_rb,9.7246e-03_rb,2.0625e-04_rb/) kbo(:, 1,33, 6) = (/ & &8.7980e-03_rb,7.1519e-03_rb,5.0451e-03_rb,2.7712e-03_rb,7.8202e-05_rb/) kbo(:, 2,33, 6) = (/ & &1.2135e-02_rb,9.8435e-03_rb,6.9325e-03_rb,3.7902e-03_rb,9.6250e-05_rb/) kbo(:, 3,33, 6) = (/ & &1.6367e-02_rb,1.3251e-02_rb,9.3075e-03_rb,5.0637e-03_rb,1.1723e-04_rb/) kbo(:, 4,33, 6) = (/ & &2.1594e-02_rb,1.7451e-02_rb,1.2238e-02_rb,6.6390e-03_rb,1.4129e-04_rb/) kbo(:, 5,33, 6) = (/ & &2.7922e-02_rb,2.2553e-02_rb,1.5798e-02_rb,8.5480e-03_rb,1.6598e-04_rb/) kbo(:, 1,34, 6) = (/ & &7.8297e-03_rb,6.3727e-03_rb,4.4952e-03_rb,2.4671e-03_rb,6.3879e-05_rb/) kbo(:, 2,34, 6) = (/ & &1.0770e-02_rb,8.7510e-03_rb,6.1616e-03_rb,3.3644e-03_rb,7.9137e-05_rb/) kbo(:, 3,34, 6) = (/ & &1.4484e-02_rb,1.1741e-02_rb,8.2482e-03_rb,4.4844e-03_rb,9.6600e-05_rb/) kbo(:, 4,34, 6) = (/ & &1.9050e-02_rb,1.5427e-02_rb,1.0820e-02_rb,5.8678e-03_rb,1.1495e-04_rb/) kbo(:, 5,34, 6) = (/ & &2.4524e-02_rb,1.9867e-02_rb,1.3919e-02_rb,7.5292e-03_rb,1.3453e-04_rb/) kbo(:, 1,35, 6) = (/ & &6.7630e-03_rb,5.5126e-03_rb,3.8884e-03_rb,2.1340e-03_rb,5.1721e-05_rb/) kbo(:, 2,35, 6) = (/ & &9.2985e-03_rb,7.5662e-03_rb,5.3252e-03_rb,2.9070e-03_rb,6.4032e-05_rb/) kbo(:, 3,35, 6) = (/ & &1.2489e-02_rb,1.0141e-02_rb,7.1246e-03_rb,3.8749e-03_rb,7.6974e-05_rb/) kbo(:, 4,35, 6) = (/ & &1.6400e-02_rb,1.3312e-02_rb,9.3389e-03_rb,5.0659e-03_rb,9.1148e-05_rb/) kbo(:, 5,35, 6) = (/ & &2.1049e-02_rb,1.7098e-02_rb,1.1985e-02_rb,6.4857e-03_rb,1.0683e-04_rb/) kbo(:, 1,36, 6) = (/ & &5.6496e-03_rb,4.6119e-03_rb,3.2530e-03_rb,1.7852e-03_rb,4.0312e-05_rb/) kbo(:, 2,36, 6) = (/ & &7.7767e-03_rb,6.3372e-03_rb,4.4630e-03_rb,2.4380e-03_rb,4.9929e-05_rb/) kbo(:, 3,36, 6) = (/ & &1.0461e-02_rb,8.5144e-03_rb,5.9836e-03_rb,3.2549e-03_rb,6.0118e-05_rb/) kbo(:, 4,36, 6) = (/ & &1.3740e-02_rb,1.1182e-02_rb,7.8492e-03_rb,4.2598e-03_rb,7.1064e-05_rb/) kbo(:, 5,36, 6) = (/ & &1.7612e-02_rb,1.4350e-02_rb,1.0064e-02_rb,5.4485e-03_rb,8.3577e-05_rb/) kbo(:, 1,37, 6) = (/ & &4.5423e-03_rb,3.7134e-03_rb,2.6216e-03_rb,1.4392e-03_rb,3.1256e-05_rb/) kbo(:, 2,37, 6) = (/ & &6.2879e-03_rb,5.1321e-03_rb,3.6149e-03_rb,1.9739e-03_rb,3.8734e-05_rb/) kbo(:, 3,37, 6) = (/ & &8.4900e-03_rb,6.9227e-03_rb,4.8667e-03_rb,2.6482e-03_rb,4.6682e-05_rb/) kbo(:, 4,37, 6) = (/ & &1.1183e-02_rb,9.1172e-03_rb,6.4017e-03_rb,3.4761e-03_rb,5.5592e-05_rb/) kbo(:, 5,37, 6) = (/ & &1.4352e-02_rb,1.1719e-02_rb,8.2209e-03_rb,4.4549e-03_rb,6.5503e-05_rb/) kbo(:, 1,38, 6) = (/ & &3.6392e-03_rb,2.9801e-03_rb,2.1050e-03_rb,1.1562e-03_rb,2.4090e-05_rb/) kbo(:, 2,38, 6) = (/ & &5.0658e-03_rb,4.1416e-03_rb,2.9194e-03_rb,1.5946e-03_rb,2.9868e-05_rb/) kbo(:, 3,38, 6) = (/ & &6.8711e-03_rb,5.6107e-03_rb,3.9454e-03_rb,2.1481e-03_rb,3.6072e-05_rb/) kbo(:, 4,38, 6) = (/ & &9.0731e-03_rb,7.4127e-03_rb,5.2066e-03_rb,2.8281e-03_rb,4.3140e-05_rb/) kbo(:, 5,38, 6) = (/ & &1.1663e-02_rb,9.5418e-03_rb,6.6954e-03_rb,3.6310e-03_rb,5.1139e-05_rb/) kbo(:, 1,39, 6) = (/ & &2.9118e-03_rb,2.3886e-03_rb,1.6882e-03_rb,9.2755e-04_rb,1.8391e-05_rb/) kbo(:, 2,39, 6) = (/ & &4.0750e-03_rb,3.3381e-03_rb,2.3540e-03_rb,1.2863e-03_rb,2.2806e-05_rb/) kbo(:, 3,39, 6) = (/ & &5.5513e-03_rb,4.5420e-03_rb,3.1948e-03_rb,1.7397e-03_rb,2.7682e-05_rb/) kbo(:, 4,39, 6) = (/ & &7.3492e-03_rb,6.0179e-03_rb,4.2285e-03_rb,2.2979e-03_rb,3.3352e-05_rb/) kbo(:, 5,39, 6) = (/ & &9.4667e-03_rb,7.7616e-03_rb,5.4485e-03_rb,2.9560e-03_rb,3.9651e-05_rb/) kbo(:, 1,40, 6) = (/ & &2.2712e-03_rb,1.8658e-03_rb,1.3192e-03_rb,7.2479e-04_rb,1.3995e-05_rb/) kbo(:, 2,40, 6) = (/ & &3.2040e-03_rb,2.6288e-03_rb,1.8549e-03_rb,1.0140e-03_rb,1.7455e-05_rb/) kbo(:, 3,40, 6) = (/ & &4.3985e-03_rb,3.6050e-03_rb,2.5372e-03_rb,1.3813e-03_rb,2.1295e-05_rb/) kbo(:, 4,40, 6) = (/ & &5.8565e-03_rb,4.8013e-03_rb,3.3753e-03_rb,1.8342e-03_rb,2.5756e-05_rb/) kbo(:, 5,40, 6) = (/ & &7.5776e-03_rb,6.2219e-03_rb,4.3685e-03_rb,2.3699e-03_rb,3.0715e-05_rb/) kbo(:, 1,41, 6) = (/ & &1.7612e-03_rb,1.4492e-03_rb,1.0250e-03_rb,5.6325e-04_rb,1.0604e-05_rb/) kbo(:, 2,41, 6) = (/ & &2.5080e-03_rb,2.0608e-03_rb,1.4546e-03_rb,7.9552e-04_rb,1.3310e-05_rb/) kbo(:, 3,41, 6) = (/ & &3.4681e-03_rb,2.8477e-03_rb,2.0051e-03_rb,1.0923e-03_rb,1.6349e-05_rb/) kbo(:, 4,41, 6) = (/ & &4.6501e-03_rb,3.8188e-03_rb,2.6845e-03_rb,1.4588e-03_rb,1.9855e-05_rb/) kbo(:, 5,41, 6) = (/ & &6.0491e-03_rb,4.9741e-03_rb,3.4944e-03_rb,1.8953e-03_rb,2.3793e-05_rb/) kbo(:, 1,42, 6) = (/ & &1.3619e-03_rb,1.1225e-03_rb,7.9390e-04_rb,4.3654e-04_rb,7.9892e-06_rb/) kbo(:, 2,42, 6) = (/ & &1.9585e-03_rb,1.6109e-03_rb,1.1375e-03_rb,6.2244e-04_rb,1.0111e-05_rb/) kbo(:, 3,42, 6) = (/ & &2.7289e-03_rb,2.2437e-03_rb,1.5805e-03_rb,8.6127e-04_rb,1.2500e-05_rb/) kbo(:, 4,42, 6) = (/ & &3.6852e-03_rb,3.0311e-03_rb,2.1316e-03_rb,1.1583e-03_rb,1.5248e-05_rb/) kbo(:, 5,42, 6) = (/ & &4.8235e-03_rb,3.9702e-03_rb,2.7892e-03_rb,1.5134e-03_rb,1.8350e-05_rb/) kbo(:, 1,43, 6) = (/ & &1.0392e-03_rb,8.5695e-04_rb,6.0598e-04_rb,3.3332e-04_rb,5.9552e-06_rb/) kbo(:, 2,43, 6) = (/ & &1.5101e-03_rb,1.2436e-03_rb,8.7832e-04_rb,4.8071e-04_rb,7.5961e-06_rb/) kbo(:, 3,43, 6) = (/ & &2.1254e-03_rb,1.7498e-03_rb,1.2325e-03_rb,6.7181e-04_rb,9.4477e-06_rb/) kbo(:, 4,43, 6) = (/ & &2.8974e-03_rb,2.3860e-03_rb,1.6788e-03_rb,9.1195e-04_rb,1.1585e-05_rb/) kbo(:, 5,43, 6) = (/ & &3.8244e-03_rb,3.1517e-03_rb,2.2140e-03_rb,1.2005e-03_rb,1.4013e-05_rb/) kbo(:, 1,44, 6) = (/ & &7.8683e-04_rb,6.4875e-04_rb,4.5878e-04_rb,2.5223e-04_rb,4.3968e-06_rb/) kbo(:, 2,44, 6) = (/ & &1.1559e-03_rb,9.5305e-04_rb,6.7277e-04_rb,3.6830e-04_rb,5.6394e-06_rb/) kbo(:, 3,44, 6) = (/ & &1.6454e-03_rb,1.3558e-03_rb,9.5534e-04_rb,5.2055e-04_rb,7.0859e-06_rb/) kbo(:, 4,44, 6) = (/ & &2.2669e-03_rb,1.8686e-03_rb,1.3148e-03_rb,7.1399e-04_rb,8.7462e-06_rb/) kbo(:, 5,44, 6) = (/ & &3.0201e-03_rb,2.4917e-03_rb,1.7509e-03_rb,9.4904e-04_rb,1.0639e-05_rb/) kbo(:, 1,45, 6) = (/ & &5.9365e-04_rb,4.8959e-04_rb,3.4607e-04_rb,1.9020e-04_rb,3.2229e-06_rb/) kbo(:, 2,45, 6) = (/ & &8.8218e-04_rb,7.2803e-04_rb,5.1390e-04_rb,2.8115e-04_rb,4.1709e-06_rb/) kbo(:, 3,45, 6) = (/ & &1.2705e-03_rb,1.0482e-03_rb,7.3838e-04_rb,4.0225e-04_rb,5.2818e-06_rb/) kbo(:, 4,45, 6) = (/ & &1.7692e-03_rb,1.4597e-03_rb,1.0269e-03_rb,5.5768e-04_rb,6.5567e-06_rb/) kbo(:, 5,45, 6) = (/ & &2.3806e-03_rb,1.9657e-03_rb,1.3812e-03_rb,7.4841e-04_rb,8.0347e-06_rb/) kbo(:, 1,46, 6) = (/ & &4.4335e-04_rb,3.6560e-04_rb,2.5820e-04_rb,1.4186e-04_rb,2.3394e-06_rb/) kbo(:, 2,46, 6) = (/ & &6.6652e-04_rb,5.5048e-04_rb,3.8857e-04_rb,2.1254e-04_rb,3.0543e-06_rb/) kbo(:, 3,46, 6) = (/ & &9.7139e-04_rb,8.0233e-04_rb,5.6521e-04_rb,3.0796e-04_rb,3.9016e-06_rb/) kbo(:, 4,46, 6) = (/ & &1.3697e-03_rb,1.1313e-03_rb,7.9539e-04_rb,4.3177e-04_rb,4.8930e-06_rb/) kbo(:, 5,46, 6) = (/ & &1.8630e-03_rb,1.5401e-03_rb,1.0822e-03_rb,5.8603e-04_rb,6.0211e-06_rb/) kbo(:, 1,47, 6) = (/ & &3.2494e-04_rb,2.6781e-04_rb,1.8906e-04_rb,1.0379e-04_rb,1.6703e-06_rb/) kbo(:, 2,47, 6) = (/ & &4.9477e-04_rb,4.0876e-04_rb,2.8822e-04_rb,1.5780e-04_rb,2.2235e-06_rb/) kbo(:, 3,47, 6) = (/ & &7.3190e-04_rb,6.0441e-04_rb,4.2581e-04_rb,2.3196e-04_rb,2.8600e-06_rb/) kbo(:, 4,47, 6) = (/ & &1.0450e-03_rb,8.6362e-04_rb,6.0711e-04_rb,3.2954e-04_rb,3.6203e-06_rb/) kbo(:, 5,47, 6) = (/ & &1.4403e-03_rb,1.1920e-03_rb,8.3715e-04_rb,4.5311e-04_rb,4.4864e-06_rb/) kbo(:, 1,48, 6) = (/ & &2.3680e-04_rb,1.9527e-04_rb,1.3764e-04_rb,7.5497e-05_rb,1.1789e-06_rb/) kbo(:, 2,48, 6) = (/ & &3.6634e-04_rb,3.0233e-04_rb,2.1313e-04_rb,1.1661e-04_rb,1.5963e-06_rb/) kbo(:, 3,48, 6) = (/ & &5.4895e-04_rb,4.5372e-04_rb,3.1944e-04_rb,1.7402e-04_rb,2.0888e-06_rb/) kbo(:, 4,48, 6) = (/ & &7.9543e-04_rb,6.5717e-04_rb,4.6181e-04_rb,2.5062e-04_rb,2.6621e-06_rb/) kbo(:, 5,48, 6) = (/ & &1.1099e-03_rb,9.1890e-04_rb,6.4520e-04_rb,3.4917e-04_rb,3.3226e-06_rb/) kbo(:, 1,49, 6) = (/ & &1.7167e-04_rb,1.4156e-04_rb,9.9697e-05_rb,5.4621e-05_rb,8.2177e-07_rb/) kbo(:, 2,49, 6) = (/ & &2.6978e-04_rb,2.2270e-04_rb,1.5688e-04_rb,8.5772e-05_rb,1.1335e-06_rb/) kbo(:, 3,49, 6) = (/ & &4.1033e-04_rb,3.3911e-04_rb,2.3859e-04_rb,1.2993e-04_rb,1.5022e-06_rb/) kbo(:, 4,49, 6) = (/ & &6.0289e-04_rb,4.9870e-04_rb,3.5040e-04_rb,1.9001e-04_rb,1.9421e-06_rb/) kbo(:, 5,49, 6) = (/ & &8.5268e-04_rb,7.0612e-04_rb,4.9559e-04_rb,2.6808e-04_rb,2.4464e-06_rb/) kbo(:, 1,50, 6) = (/ & &1.2531e-04_rb,1.0333e-04_rb,7.2754e-05_rb,3.9781e-05_rb,5.8260e-07_rb/) kbo(:, 2,50, 6) = (/ & &2.0028e-04_rb,1.6520e-04_rb,1.1625e-04_rb,6.3517e-05_rb,8.1312e-07_rb/) kbo(:, 3,50, 6) = (/ & &3.0881e-04_rb,2.5524e-04_rb,1.7955e-04_rb,9.7765e-05_rb,1.0963e-06_rb/) kbo(:, 4,50, 6) = (/ & &4.6015e-04_rb,3.8061e-04_rb,2.6731e-04_rb,1.4488e-04_rb,1.4340e-06_rb/) kbo(:, 5,50, 6) = (/ & &6.5988e-04_rb,5.4636e-04_rb,3.8320e-04_rb,2.0709e-04_rb,1.8202e-06_rb/) kbo(:, 1,51, 6) = (/ & &9.1633e-05_rb,7.5509e-05_rb,5.3128e-05_rb,2.9020e-05_rb,4.1464e-07_rb/) kbo(:, 2,51, 6) = (/ & &1.4891e-04_rb,1.2270e-04_rb,8.6279e-05_rb,4.7099e-05_rb,5.8807e-07_rb/) kbo(:, 3,51, 6) = (/ & &2.3292e-04_rb,1.9249e-04_rb,1.3529e-04_rb,7.3646e-05_rb,8.0371e-07_rb/) kbo(:, 4,51, 6) = (/ & &3.5233e-04_rb,2.9123e-04_rb,2.0433e-04_rb,1.1072e-04_rb,1.0615e-06_rb/) kbo(:, 5,51, 6) = (/ & &5.1166e-04_rb,4.2368e-04_rb,2.9697e-04_rb,1.6038e-04_rb,1.3623e-06_rb/) kbo(:, 1,52, 6) = (/ & &6.6748e-05_rb,5.4951e-05_rb,3.8637e-05_rb,2.1072e-05_rb,2.9423e-07_rb/) kbo(:, 2,52, 6) = (/ & &1.1034e-04_rb,9.0898e-05_rb,6.3804e-05_rb,3.4773e-05_rb,4.2185e-07_rb/) kbo(:, 3,52, 6) = (/ & &1.7525e-04_rb,1.4472e-04_rb,1.0161e-04_rb,5.5277e-05_rb,5.8386e-07_rb/) kbo(:, 4,52, 6) = (/ & &2.6896e-04_rb,2.2246e-04_rb,1.5598e-04_rb,8.4497e-05_rb,7.8029e-07_rb/) kbo(:, 5,52, 6) = (/ & &3.9638e-04_rb,3.2814e-04_rb,2.2978e-04_rb,1.2397e-04_rb,1.0114e-06_rb/) kbo(:, 1,53, 6) = (/ & &4.8387e-05_rb,3.9789e-05_rb,2.7956e-05_rb,1.5224e-05_rb,2.0710e-07_rb/) kbo(:, 2,53, 6) = (/ & &8.1422e-05_rb,6.7055e-05_rb,4.7034e-05_rb,2.5569e-05_rb,3.0032e-07_rb/) kbo(:, 3,53, 6) = (/ & &1.3143e-04_rb,1.0846e-04_rb,7.6092e-05_rb,4.1325e-05_rb,4.2132e-07_rb/) kbo(:, 4,53, 6) = (/ & &2.0478e-04_rb,1.6937e-04_rb,1.1872e-04_rb,6.4236e-05_rb,5.6954e-07_rb/) kbo(:, 5,53, 6) = (/ & &3.0662e-04_rb,2.5374e-04_rb,1.7755e-04_rb,9.5705e-05_rb,7.4673e-07_rb/) kbo(:, 1,54, 6) = (/ & &3.5548e-05_rb,2.9201e-05_rb,2.0499e-05_rb,1.1142e-05_rb,1.4888e-07_rb/) kbo(:, 2,54, 6) = (/ & &6.0867e-05_rb,5.0080e-05_rb,3.5102e-05_rb,1.9053e-05_rb,2.1957e-07_rb/) kbo(:, 3,54, 6) = (/ & &9.9905e-05_rb,8.2294e-05_rb,5.7679e-05_rb,3.1278e-05_rb,3.1167e-07_rb/) kbo(:, 4,54, 6) = (/ & &1.5784e-04_rb,1.3048e-04_rb,9.1376e-05_rb,4.9396e-05_rb,4.2569e-07_rb/) kbo(:, 5,54, 6) = (/ & &2.3990e-04_rb,1.9844e-04_rb,1.3879e-04_rb,7.4726e-05_rb,5.6432e-07_rb/) kbo(:, 1,55, 6) = (/ & &2.6254e-05_rb,2.1551e-05_rb,1.5109e-05_rb,8.2013e-06_rb,1.0776e-07_rb/) kbo(:, 2,55, 6) = (/ & &4.5756e-05_rb,3.7594e-05_rb,2.6330e-05_rb,1.4266e-05_rb,1.6227e-07_rb/) kbo(:, 3,55, 6) = (/ & &7.6387e-05_rb,6.2840e-05_rb,4.3983e-05_rb,2.3813e-05_rb,2.3322e-07_rb/) kbo(:, 4,55, 6) = (/ & &1.2233e-04_rb,1.0105e-04_rb,7.0729e-05_rb,3.8184e-05_rb,3.2242e-07_rb/) kbo(:, 5,55, 6) = (/ & &1.8866e-04_rb,1.5604e-04_rb,1.0907e-04_rb,5.8660e-05_rb,4.3190e-07_rb/) kbo(:, 1,56, 6) = (/ & &1.9352e-05_rb,1.5886e-05_rb,1.1124e-05_rb,6.0284e-06_rb,7.7832e-08_rb/) kbo(:, 2,56, 6) = (/ & &3.4378e-05_rb,2.8197e-05_rb,1.9721e-05_rb,1.0667e-05_rb,1.1948e-07_rb/) kbo(:, 3,56, 6) = (/ & &5.8349e-05_rb,4.7950e-05_rb,3.3520e-05_rb,1.8111e-05_rb,1.7363e-07_rb/) kbo(:, 4,56, 6) = (/ & &9.4866e-05_rb,7.8290e-05_rb,5.4723e-05_rb,2.9510e-05_rb,2.4385e-07_rb/) kbo(:, 5,56, 6) = (/ & &1.4839e-04_rb,1.2273e-04_rb,8.5680e-05_rb,4.6045e-05_rb,3.3022e-07_rb/) kbo(:, 1,57, 6) = (/ & &1.4255e-05_rb,1.1680e-05_rb,8.1776e-06_rb,4.4235e-06_rb,5.5927e-08_rb/) kbo(:, 2,57, 6) = (/ & &2.5815e-05_rb,2.1132e-05_rb,1.4763e-05_rb,7.9663e-06_rb,8.7522e-08_rb/) kbo(:, 3,57, 6) = (/ & &4.4552e-05_rb,3.6579e-05_rb,2.5531e-05_rb,1.3761e-05_rb,1.2925e-07_rb/) kbo(:, 4,57, 6) = (/ & &7.3589e-05_rb,6.0640e-05_rb,4.2341e-05_rb,2.2797e-05_rb,1.8364e-07_rb/) kbo(:, 5,57, 6) = (/ & &1.1687e-04_rb,9.6565e-05_rb,6.7349e-05_rb,3.6145e-05_rb,2.5190e-07_rb/) kbo(:, 1,58, 6) = (/ & &5.1283e-06_rb,4.8164e-06_rb,3.9533e-06_rb,2.5844e-06_rb,4.0411e-08_rb/) kbo(:, 2,58, 6) = (/ & &9.4663e-06_rb,8.8829e-06_rb,7.2756e-06_rb,4.7397e-06_rb,6.4616e-08_rb/) kbo(:, 3,58, 6) = (/ & &1.6608e-05_rb,1.5628e-05_rb,1.2791e-05_rb,8.3232e-06_rb,9.6916e-08_rb/) kbo(:, 4,58, 6) = (/ & &2.7869e-05_rb,2.6331e-05_rb,2.1549e-05_rb,1.4010e-05_rb,1.3884e-07_rb/) kbo(:, 5,58, 6) = (/ & &4.4916e-05_rb,4.2582e-05_rb,3.4830e-05_rb,2.2586e-05_rb,1.9305e-07_rb/) kbo(:, 1,59, 6) = (/ & &4.1166e-06_rb,3.8763e-06_rb,3.1932e-06_rb,2.0984e-06_rb,3.3138e-08_rb/) kbo(:, 2,59, 6) = (/ & &7.6679e-06_rb,7.2183e-06_rb,5.9356e-06_rb,3.8849e-06_rb,5.3542e-08_rb/) kbo(:, 3,59, 6) = (/ & &1.3578e-05_rb,1.2809e-05_rb,1.0527e-05_rb,6.8844e-06_rb,8.1037e-08_rb/) kbo(:, 4,59, 6) = (/ & &2.2972e-05_rb,2.1775e-05_rb,1.7891e-05_rb,1.1690e-05_rb,1.1735e-07_rb/) kbo(:, 5,59, 6) = (/ & &3.7296e-05_rb,3.5490e-05_rb,2.9150e-05_rb,1.9007e-05_rb,1.6270e-07_rb/) kbo(:, 1,13, 7) = (/ & &4.2167e-01_rb,3.2553e-01_rb,2.2695e-01_rb,1.2184e-01_rb,4.0030e-03_rb/) kbo(:, 2,13, 7) = (/ & &6.0140e-01_rb,4.6380e-01_rb,3.2184e-01_rb,1.7190e-01_rb,5.1104e-03_rb/) kbo(:, 3,13, 7) = (/ & &8.1816e-01_rb,6.3015e-01_rb,4.3650e-01_rb,2.3296e-01_rb,6.4365e-03_rb/) kbo(:, 4,13, 7) = (/ & &1.0780e+00_rb,8.2908e-01_rb,5.7271e-01_rb,3.0519e-01_rb,7.8514e-03_rb/) kbo(:, 5,13, 7) = (/ & &1.3871e+00_rb,1.0650e+00_rb,7.3566e-01_rb,3.9202e-01_rb,9.6931e-03_rb/) kbo(:, 1,14, 7) = (/ & &3.8425e-01_rb,2.9801e-01_rb,2.0688e-01_rb,1.1055e-01_rb,3.4668e-03_rb/) kbo(:, 2,14, 7) = (/ & &5.4386e-01_rb,4.2093e-01_rb,2.9177e-01_rb,1.5544e-01_rb,4.5429e-03_rb/) kbo(:, 3,14, 7) = (/ & &7.3998e-01_rb,5.7137e-01_rb,3.9497e-01_rb,2.0995e-01_rb,5.6171e-03_rb/) kbo(:, 4,14, 7) = (/ & &9.7642e-01_rb,7.5246e-01_rb,5.1952e-01_rb,2.7577e-01_rb,6.9867e-03_rb/) kbo(:, 5,14, 7) = (/ & &1.2610e+00_rb,9.7017e-01_rb,6.6888e-01_rb,3.5427e-01_rb,8.6535e-03_rb/) kbo(:, 1,15, 7) = (/ & &3.3299e-01_rb,2.5933e-01_rb,1.7991e-01_rb,9.5905e-02_rb,2.9886e-03_rb/) kbo(:, 2,15, 7) = (/ & &4.6962e-01_rb,3.6448e-01_rb,2.5234e-01_rb,1.3421e-01_rb,3.8718e-03_rb/) kbo(:, 3,15, 7) = (/ & &6.3987e-01_rb,4.9512e-01_rb,3.4211e-01_rb,1.8150e-01_rb,4.8805e-03_rb/) kbo(:, 4,15, 7) = (/ & &8.4586e-01_rb,6.5388e-01_rb,4.5155e-01_rb,2.3908e-01_rb,6.1279e-03_rb/) kbo(:, 5,15, 7) = (/ & &1.0948e+00_rb,8.4428e-01_rb,5.8246e-01_rb,3.0839e-01_rb,7.4849e-03_rb/) kbo(:, 1,16, 7) = (/ & &2.8051e-01_rb,2.1899e-01_rb,1.5183e-01_rb,8.0896e-02_rb,2.5509e-03_rb/) kbo(:, 2,16, 7) = (/ & &3.9506e-01_rb,3.0781e-01_rb,2.1302e-01_rb,1.1324e-01_rb,3.3108e-03_rb/) kbo(:, 3,16, 7) = (/ & &5.3870e-01_rb,4.1855e-01_rb,2.8938e-01_rb,1.5357e-01_rb,4.2013e-03_rb/) kbo(:, 4,16, 7) = (/ & &7.1526e-01_rb,5.5449e-01_rb,3.8283e-01_rb,2.0269e-01_rb,5.1902e-03_rb/) kbo(:, 5,16, 7) = (/ & &9.2727e-01_rb,7.1785e-01_rb,4.9548e-01_rb,2.6200e-01_rb,6.4068e-03_rb/) kbo(:, 1,17, 7) = (/ & &2.3378e-01_rb,1.8318e-01_rb,1.2698e-01_rb,6.7717e-02_rb,2.1927e-03_rb/) kbo(:, 2,17, 7) = (/ & &3.2948e-01_rb,2.5742e-01_rb,1.7822e-01_rb,9.4896e-02_rb,2.8584e-03_rb/) kbo(:, 3,17, 7) = (/ & &4.5000e-01_rb,3.5080e-01_rb,2.4241e-01_rb,1.2872e-01_rb,3.6126e-03_rb/) kbo(:, 4,17, 7) = (/ & &5.9887e-01_rb,4.6579e-01_rb,3.2151e-01_rb,1.7042e-01_rb,4.5208e-03_rb/) kbo(:, 5,17, 7) = (/ & &7.7711e-01_rb,6.0357e-01_rb,4.1660e-01_rb,2.2035e-01_rb,5.5539e-03_rb/) kbo(:, 1,18, 7) = (/ & &1.9227e-01_rb,1.5110e-01_rb,1.0483e-01_rb,5.6032e-02_rb,1.9220e-03_rb/) kbo(:, 2,18, 7) = (/ & &2.7135e-01_rb,2.1238e-01_rb,1.4707e-01_rb,7.8382e-02_rb,2.4923e-03_rb/) kbo(:, 3,18, 7) = (/ & &3.7049e-01_rb,2.8960e-01_rb,2.0022e-01_rb,1.0642e-01_rb,3.1976e-03_rb/) kbo(:, 4,18, 7) = (/ & &4.9231e-01_rb,3.8398e-01_rb,2.6515e-01_rb,1.4069e-01_rb,3.9529e-03_rb/) kbo(:, 5,18, 7) = (/ & &6.4035e-01_rb,4.9892e-01_rb,3.4418e-01_rb,1.8220e-01_rb,4.8074e-03_rb/) kbo(:, 1,19, 7) = (/ & &1.6097e-01_rb,1.2681e-01_rb,8.7983e-02_rb,4.7067e-02_rb,1.6998e-03_rb/) kbo(:, 2,19, 7) = (/ & &2.2674e-01_rb,1.7812e-01_rb,1.2337e-01_rb,6.5758e-02_rb,2.2148e-03_rb/) kbo(:, 3,19, 7) = (/ & &3.0942e-01_rb,2.4239e-01_rb,1.6768e-01_rb,8.9247e-02_rb,2.8171e-03_rb/) kbo(:, 4,19, 7) = (/ & &4.1121e-01_rb,3.2156e-01_rb,2.2226e-01_rb,1.1805e-01_rb,3.4852e-03_rb/) kbo(:, 5,19, 7) = (/ & &5.3661e-01_rb,4.1891e-01_rb,2.8897e-01_rb,1.5308e-01_rb,4.2703e-03_rb/) kbo(:, 1,20, 7) = (/ & &1.3816e-01_rb,1.0899e-01_rb,7.5568e-02_rb,4.0384e-02_rb,1.5084e-03_rb/) kbo(:, 2,20, 7) = (/ & &1.9390e-01_rb,1.5237e-01_rb,1.0558e-01_rb,5.6347e-02_rb,1.9533e-03_rb/) kbo(:, 3,20, 7) = (/ & &2.6431e-01_rb,2.0734e-01_rb,1.4349e-01_rb,7.6381e-02_rb,2.4829e-03_rb/) kbo(:, 4,20, 7) = (/ & &3.5230e-01_rb,2.7579e-01_rb,1.9049e-01_rb,1.0107e-01_rb,3.1175e-03_rb/) kbo(:, 5,20, 7) = (/ & &4.5959e-01_rb,3.5917e-01_rb,2.4774e-01_rb,1.3132e-01_rb,3.8257e-03_rb/) kbo(:, 1,21, 7) = (/ & &1.1885e-01_rb,9.3725e-02_rb,6.5041e-02_rb,3.4803e-02_rb,1.3411e-03_rb/) kbo(:, 2,21, 7) = (/ & &1.6635e-01_rb,1.3102e-01_rb,9.0813e-02_rb,4.8481e-02_rb,1.7301e-03_rb/) kbo(:, 3,21, 7) = (/ & &2.2707e-01_rb,1.7845e-01_rb,1.2348e-01_rb,6.5731e-02_rb,2.2027e-03_rb/) kbo(:, 4,21, 7) = (/ & &3.0299e-01_rb,2.3748e-01_rb,1.6403e-01_rb,8.7154e-02_rb,2.7646e-03_rb/) kbo(:, 5,21, 7) = (/ & &3.9491e-01_rb,3.0909e-01_rb,2.1323e-01_rb,1.1320e-01_rb,3.3663e-03_rb/) kbo(:, 1,22, 7) = (/ & &1.0371e-01_rb,8.1936e-02_rb,5.6886e-02_rb,3.0452e-02_rb,1.1973e-03_rb/) kbo(:, 2,22, 7) = (/ & &1.4515e-01_rb,1.1443e-01_rb,7.9345e-02_rb,4.2377e-02_rb,1.5408e-03_rb/) kbo(:, 3,22, 7) = (/ & &1.9815e-01_rb,1.5584e-01_rb,1.0788e-01_rb,5.7461e-02_rb,1.9609e-03_rb/) kbo(:, 4,22, 7) = (/ & &2.6352e-01_rb,2.0697e-01_rb,1.4313e-01_rb,7.6128e-02_rb,2.4333e-03_rb/) kbo(:, 5,22, 7) = (/ & &3.4221e-01_rb,2.6821e-01_rb,1.8537e-01_rb,9.8647e-02_rb,2.9393e-03_rb/) kbo(:, 1,23, 7) = (/ & &9.0639e-02_rb,7.1734e-02_rb,4.9824e-02_rb,2.6695e-02_rb,1.0611e-03_rb/) kbo(:, 2,23, 7) = (/ & &1.2684e-01_rb,1.0014e-01_rb,6.9426e-02_rb,3.7107e-02_rb,1.3714e-03_rb/) kbo(:, 3,23, 7) = (/ & &1.7268e-01_rb,1.3597e-01_rb,9.4123e-02_rb,5.0237e-02_rb,1.7212e-03_rb/) kbo(:, 4,23, 7) = (/ & &2.2866e-01_rb,1.7972e-01_rb,1.2432e-01_rb,6.6277e-02_rb,2.1161e-03_rb/) kbo(:, 5,23, 7) = (/ & &2.9584e-01_rb,2.3227e-01_rb,1.6067e-01_rb,8.5547e-02_rb,2.5346e-03_rb/) kbo(:, 1,24, 7) = (/ & &8.0071e-02_rb,6.3444e-02_rb,4.4064e-02_rb,2.3644e-02_rb,9.3348e-04_rb/) kbo(:, 2,24, 7) = (/ & &1.1181e-01_rb,8.8354e-02_rb,6.1271e-02_rb,3.2794e-02_rb,1.1882e-03_rb/) kbo(:, 3,24, 7) = (/ & &1.5149e-01_rb,1.1939e-01_rb,8.2725e-02_rb,4.4223e-02_rb,1.4832e-03_rb/) kbo(:, 4,24, 7) = (/ & &1.9978e-01_rb,1.5722e-01_rb,1.0888e-01_rb,5.8128e-02_rb,1.8190e-03_rb/) kbo(:, 5,24, 7) = (/ & &2.5770e-01_rb,2.0260e-01_rb,1.4030e-01_rb,7.4844e-02_rb,2.1747e-03_rb/) kbo(:, 1,25, 7) = (/ & &7.0951e-02_rb,5.6269e-02_rb,3.9108e-02_rb,2.1016e-02_rb,8.0964e-04_rb/) kbo(:, 2,25, 7) = (/ & &9.8623e-02_rb,7.8013e-02_rb,5.4088e-02_rb,2.9015e-02_rb,1.0247e-03_rb/) kbo(:, 3,25, 7) = (/ & &1.3295e-01_rb,1.0488e-01_rb,7.2709e-02_rb,3.8919e-02_rb,1.2776e-03_rb/) kbo(:, 4,25, 7) = (/ & &1.7470e-01_rb,1.3764e-01_rb,9.5373e-02_rb,5.0958e-02_rb,1.5592e-03_rb/) kbo(:, 5,25, 7) = (/ & &2.2493e-01_rb,1.7708e-01_rb,1.2270e-01_rb,6.5502e-02_rb,1.8657e-03_rb/) kbo(:, 1,26, 7) = (/ & &6.3451e-02_rb,5.0352e-02_rb,3.4999e-02_rb,1.8811e-02_rb,7.0696e-04_rb/) kbo(:, 2,26, 7) = (/ & &8.7646e-02_rb,6.9321e-02_rb,4.8128e-02_rb,2.5820e-02_rb,8.9108e-04_rb/) kbo(:, 3,26, 7) = (/ & &1.1756e-01_rb,9.2804e-02_rb,6.4336e-02_rb,3.4465e-02_rb,1.1063e-03_rb/) kbo(:, 4,26, 7) = (/ & &1.5401e-01_rb,1.2150e-01_rb,8.4218e-02_rb,4.5022e-02_rb,1.3420e-03_rb/) kbo(:, 5,26, 7) = (/ & &1.9847e-01_rb,1.5626e-01_rb,1.0822e-01_rb,5.7833e-02_rb,1.6057e-03_rb/) kbo(:, 1,27, 7) = (/ & &5.6793e-02_rb,4.5057e-02_rb,3.1339e-02_rb,1.6842e-02_rb,6.0571e-04_rb/) kbo(:, 2,27, 7) = (/ & &7.8027e-02_rb,6.1732e-02_rb,4.2853e-02_rb,2.2968e-02_rb,7.6180e-04_rb/) kbo(:, 3,27, 7) = (/ & &1.0421e-01_rb,8.2314e-02_rb,5.7109e-02_rb,3.0579e-02_rb,9.4573e-04_rb/) kbo(:, 4,27, 7) = (/ & &1.3651e-01_rb,1.0769e-01_rb,7.4645e-02_rb,3.9915e-02_rb,1.1425e-03_rb/) kbo(:, 5,27, 7) = (/ & &1.7591e-01_rb,1.3862e-01_rb,9.6018e-02_rb,5.1325e-02_rb,1.3608e-03_rb/) kbo(:, 1,28, 7) = (/ & &5.0832e-02_rb,4.0335e-02_rb,2.8062e-02_rb,1.5080e-02_rb,5.0959e-04_rb/) kbo(:, 2,28, 7) = (/ & &6.9491e-02_rb,5.4973e-02_rb,3.8187e-02_rb,2.0466e-02_rb,6.4488e-04_rb/) kbo(:, 3,28, 7) = (/ & &9.2684e-02_rb,7.3230e-02_rb,5.0823e-02_rb,2.7216e-02_rb,7.9606e-04_rb/) kbo(:, 4,28, 7) = (/ & &1.2155e-01_rb,9.5886e-02_rb,6.6455e-02_rb,3.5548e-02_rb,9.5678e-04_rb/) kbo(:, 5,28, 7) = (/ & &1.5688e-01_rb,1.2363e-01_rb,8.5583e-02_rb,4.5732e-02_rb,1.1415e-03_rb/) kbo(:, 1,29, 7) = (/ & &4.5296e-02_rb,3.5922e-02_rb,2.4992e-02_rb,1.3423e-02_rb,4.2743e-04_rb/) kbo(:, 2,29, 7) = (/ & &6.1694e-02_rb,4.8833e-02_rb,3.3922e-02_rb,1.8191e-02_rb,5.3907e-04_rb/) kbo(:, 3,29, 7) = (/ & &8.2276e-02_rb,6.5053e-02_rb,4.5148e-02_rb,2.4171e-02_rb,6.5935e-04_rb/) kbo(:, 4,29, 7) = (/ & &1.0791e-01_rb,8.5197e-02_rb,5.9066e-02_rb,3.1598e-02_rb,7.9358e-04_rb/) kbo(:, 5,29, 7) = (/ & &1.3964e-01_rb,1.1005e-01_rb,7.6235e-02_rb,4.0713e-02_rb,9.4519e-04_rb/) kbo(:, 1,30, 7) = (/ & &4.0185e-02_rb,3.1886e-02_rb,2.2195e-02_rb,1.1919e-02_rb,3.5485e-04_rb/) kbo(:, 2,30, 7) = (/ & &5.4626e-02_rb,4.3278e-02_rb,3.0084e-02_rb,1.6135e-02_rb,4.4303e-04_rb/) kbo(:, 3,30, 7) = (/ & &7.2953e-02_rb,5.7701e-02_rb,4.0048e-02_rb,2.1442e-02_rb,5.4169e-04_rb/) kbo(:, 4,30, 7) = (/ & &9.5812e-02_rb,7.5701e-02_rb,5.2497e-02_rb,2.8075e-02_rb,6.5509e-04_rb/) kbo(:, 5,30, 7) = (/ & &1.2402e-01_rb,9.7862e-02_rb,6.7806e-02_rb,3.6235e-02_rb,7.7850e-04_rb/) kbo(:, 1,31, 7) = (/ & &3.5348e-02_rb,2.8090e-02_rb,1.9559e-02_rb,1.0513e-02_rb,2.9039e-04_rb/) kbo(:, 2,31, 7) = (/ & &4.8053e-02_rb,3.8118e-02_rb,2.6496e-02_rb,1.4221e-02_rb,3.5964e-04_rb/) kbo(:, 3,31, 7) = (/ & &6.4212e-02_rb,5.0845e-02_rb,3.5309e-02_rb,1.8919e-02_rb,4.4117e-04_rb/) kbo(:, 4,31, 7) = (/ & &8.4429e-02_rb,6.6772e-02_rb,4.6322e-02_rb,2.4787e-02_rb,5.3116e-04_rb/) kbo(:, 5,31, 7) = (/ & &1.0928e-01_rb,8.6339e-02_rb,5.9901e-02_rb,3.2032e-02_rb,6.3348e-04_rb/) kbo(:, 1,32, 7) = (/ & &3.1311e-02_rb,2.4896e-02_rb,1.7336e-02_rb,9.3247e-03_rb,2.3608e-04_rb/) kbo(:, 2,32, 7) = (/ & &4.2575e-02_rb,3.3801e-02_rb,2.3511e-02_rb,1.2616e-02_rb,2.9452e-04_rb/) kbo(:, 3,32, 7) = (/ & &5.6935e-02_rb,4.5129e-02_rb,3.1359e-02_rb,1.6809e-02_rb,3.6093e-04_rb/) kbo(:, 4,32, 7) = (/ & &7.4842e-02_rb,5.9256e-02_rb,4.1156e-02_rb,2.2039e-02_rb,4.3435e-04_rb/) kbo(:, 5,32, 7) = (/ & &9.6933e-02_rb,7.6740e-02_rb,5.3274e-02_rb,2.8476e-02_rb,5.1533e-04_rb/) kbo(:, 1,33, 7) = (/ & &2.7886e-02_rb,2.2206e-02_rb,1.5465e-02_rb,8.3176e-03_rb,1.9330e-04_rb/) kbo(:, 2,33, 7) = (/ & &3.7954e-02_rb,3.0161e-02_rb,2.0981e-02_rb,1.1260e-02_rb,2.4048e-04_rb/) kbo(:, 3,33, 7) = (/ & &5.0729e-02_rb,4.0269e-02_rb,2.7996e-02_rb,1.5008e-02_rb,2.9283e-04_rb/) kbo(:, 4,33, 7) = (/ & &6.6680e-02_rb,5.2910e-02_rb,3.6768e-02_rb,1.9685e-02_rb,3.5174e-04_rb/) kbo(:, 5,33, 7) = (/ & &8.6325e-02_rb,6.8491e-02_rb,4.7579e-02_rb,2.5448e-02_rb,4.1781e-04_rb/) kbo(:, 1,34, 7) = (/ & &2.4971e-02_rb,1.9901e-02_rb,1.3860e-02_rb,7.4508e-03_rb,1.5943e-04_rb/) kbo(:, 2,34, 7) = (/ & &3.3993e-02_rb,2.7044e-02_rb,1.8817e-02_rb,1.0102e-02_rb,1.9737e-04_rb/) kbo(:, 3,34, 7) = (/ & &4.5431e-02_rb,3.6116e-02_rb,2.5118e-02_rb,1.3468e-02_rb,2.4097e-04_rb/) kbo(:, 4,34, 7) = (/ & &5.9751e-02_rb,4.7485e-02_rb,3.3007e-02_rb,1.7673e-02_rb,2.8983e-04_rb/) kbo(:, 5,34, 7) = (/ & &7.7416e-02_rb,6.1530e-02_rb,4.2751e-02_rb,2.2863e-02_rb,3.4328e-04_rb/) kbo(:, 1,35, 7) = (/ & &2.1796e-02_rb,1.7387e-02_rb,1.2111e-02_rb,6.5084e-03_rb,1.2835e-04_rb/) kbo(:, 2,35, 7) = (/ & &2.9698e-02_rb,2.3666e-02_rb,1.6479e-02_rb,8.8433e-03_rb,1.5863e-04_rb/) kbo(:, 3,35, 7) = (/ & &3.9760e-02_rb,3.1675e-02_rb,2.2035e-02_rb,1.1812e-02_rb,1.9396e-04_rb/) kbo(:, 4,35, 7) = (/ & &5.2402e-02_rb,4.1735e-02_rb,2.9029e-02_rb,1.5538e-02_rb,2.3292e-04_rb/) kbo(:, 5,35, 7) = (/ & &6.8053e-02_rb,5.4173e-02_rb,3.7664e-02_rb,2.0141e-02_rb,2.7598e-04_rb/) kbo(:, 1,36, 7) = (/ & &1.8439e-02_rb,1.4736e-02_rb,1.0269e-02_rb,5.5181e-03_rb,1.0059e-04_rb/) kbo(:, 2,36, 7) = (/ & &2.5228e-02_rb,2.0135e-02_rb,1.4024e-02_rb,7.5257e-03_rb,1.2421e-04_rb/) kbo(:, 3,36, 7) = (/ & &3.3891e-02_rb,2.7058e-02_rb,1.8832e-02_rb,1.0097e-02_rb,1.5179e-04_rb/) kbo(:, 4,36, 7) = (/ & &4.4855e-02_rb,3.5783e-02_rb,2.4899e-02_rb,1.3331e-02_rb,1.8254e-04_rb/) kbo(:, 5,36, 7) = (/ & &5.8411e-02_rb,4.6611e-02_rb,3.2419e-02_rb,1.7335e-02_rb,2.1654e-04_rb/) kbo(:, 1,37, 7) = (/ & &1.5025e-02_rb,1.2025e-02_rb,8.3808e-03_rb,4.5043e-03_rb,7.8293e-05_rb/) kbo(:, 2,37, 7) = (/ & &2.0678e-02_rb,1.6540e-02_rb,1.1522e-02_rb,6.1849e-03_rb,9.7252e-05_rb/) kbo(:, 3,37, 7) = (/ & &2.7964e-02_rb,2.2364e-02_rb,1.5572e-02_rb,8.3486e-03_rb,1.1926e-04_rb/) kbo(:, 4,37, 7) = (/ & &3.7225e-02_rb,2.9764e-02_rb,2.0719e-02_rb,1.1092e-02_rb,1.4386e-04_rb/) kbo(:, 5,37, 7) = (/ & &4.8779e-02_rb,3.9013e-02_rb,2.7143e-02_rb,1.4513e-02_rb,1.7127e-04_rb/) kbo(:, 1,38, 7) = (/ & &1.2194e-02_rb,9.7772e-03_rb,6.8154e-03_rb,3.6630e-03_rb,6.0721e-05_rb/) kbo(:, 2,38, 7) = (/ & &1.6892e-02_rb,1.3540e-02_rb,9.4349e-03_rb,5.0655e-03_rb,7.5931e-05_rb/) kbo(:, 3,38, 7) = (/ & &2.2993e-02_rb,1.8427e-02_rb,1.2834e-02_rb,6.8825e-03_rb,9.3480e-05_rb/) kbo(:, 4,38, 7) = (/ & &3.0804e-02_rb,2.4686e-02_rb,1.7192e-02_rb,9.2065e-03_rb,1.1312e-04_rb/) kbo(:, 5,38, 7) = (/ & &4.0626e-02_rb,3.2569e-02_rb,2.2673e-02_rb,1.2127e-02_rb,1.3481e-04_rb/) kbo(:, 1,39, 7) = (/ & &9.8863e-03_rb,7.9385e-03_rb,5.5336e-03_rb,2.9753e-03_rb,4.6829e-05_rb/) kbo(:, 2,39, 7) = (/ & &1.3782e-02_rb,1.1068e-02_rb,7.7135e-03_rb,4.1426e-03_rb,5.8903e-05_rb/) kbo(:, 3,39, 7) = (/ & &1.8884e-02_rb,1.5163e-02_rb,1.0568e-02_rb,5.6692e-03_rb,7.2758e-05_rb/) kbo(:, 4,39, 7) = (/ & &2.5472e-02_rb,2.0459e-02_rb,1.4252e-02_rb,7.6329e-03_rb,8.8280e-05_rb/) kbo(:, 5,39, 7) = (/ & &3.3793e-02_rb,2.7159e-02_rb,1.8912e-02_rb,1.0123e-02_rb,1.0549e-04_rb/) kbo(:, 1,40, 7) = (/ & &7.8183e-03_rb,6.2872e-03_rb,4.3840e-03_rb,2.3583e-03_rb,3.5934e-05_rb/) kbo(:, 2,40, 7) = (/ & &1.1002e-02_rb,8.8456e-03_rb,6.1665e-03_rb,3.3129e-03_rb,4.5505e-05_rb/) kbo(:, 3,40, 7) = (/ & &1.5204e-02_rb,1.2224e-02_rb,8.5201e-03_rb,4.5727e-03_rb,5.6603e-05_rb/) kbo(:, 4,40, 7) = (/ & &2.0667e-02_rb,1.6639e-02_rb,1.1596e-02_rb,6.2148e-03_rb,6.8922e-05_rb/) kbo(:, 5,40, 7) = (/ & &2.7656e-02_rb,2.2280e-02_rb,1.5521e-02_rb,8.3102e-03_rb,8.2779e-05_rb/) kbo(:, 1,41, 7) = (/ & &6.1500e-03_rb,4.9524e-03_rb,3.4538e-03_rb,1.8579e-03_rb,2.7494e-05_rb/) kbo(:, 2,41, 7) = (/ & &8.7326e-03_rb,7.0361e-03_rb,4.9035e-03_rb,2.6349e-03_rb,3.5036e-05_rb/) kbo(:, 3,41, 7) = (/ & &1.2182e-02_rb,9.8121e-03_rb,6.8364e-03_rb,3.6704e-03_rb,4.3900e-05_rb/) kbo(:, 4,41, 7) = (/ & &1.6698e-02_rb,1.3470e-02_rb,9.3901e-03_rb,5.0360e-03_rb,5.3809e-05_rb/) kbo(:, 5,41, 7) = (/ & &2.2541e-02_rb,1.8202e-02_rb,1.2686e-02_rb,6.7978e-03_rb,6.4784e-05_rb/) kbo(:, 1,42, 7) = (/ & &4.8216e-03_rb,3.8878e-03_rb,2.7121e-03_rb,1.4585e-03_rb,2.0930e-05_rb/) kbo(:, 2,42, 7) = (/ & &6.9151e-03_rb,5.5793e-03_rb,3.8882e-03_rb,2.0902e-03_rb,2.6862e-05_rb/) kbo(:, 3,42, 7) = (/ & &9.7317e-03_rb,7.8533e-03_rb,5.4747e-03_rb,2.9388e-03_rb,3.3897e-05_rb/) kbo(:, 4,42, 7) = (/ & &1.3459e-02_rb,1.0876e-02_rb,7.5844e-03_rb,4.0697e-03_rb,4.1759e-05_rb/) kbo(:, 5,42, 7) = (/ & &1.8320e-02_rb,1.4838e-02_rb,1.0343e-02_rb,5.5456e-03_rb,5.0540e-05_rb/) kbo(:, 1,43, 7) = (/ & &3.7271e-03_rb,3.0076e-03_rb,2.0983e-03_rb,1.1283e-03_rb,1.5715e-05_rb/) kbo(:, 2,43, 7) = (/ & &5.4034e-03_rb,4.3650e-03_rb,3.0427e-03_rb,1.6347e-03_rb,2.0366e-05_rb/) kbo(:, 3,43, 7) = (/ & &7.6865e-03_rb,6.2120e-03_rb,4.3312e-03_rb,2.3251e-03_rb,2.5938e-05_rb/) kbo(:, 4,43, 7) = (/ & &1.0735e-02_rb,8.6871e-03_rb,6.0565e-03_rb,3.2504e-03_rb,3.2151e-05_rb/) kbo(:, 5,43, 7) = (/ & &1.4744e-02_rb,1.1965e-02_rb,8.3459e-03_rb,4.4756e-03_rb,3.9126e-05_rb/) kbo(:, 1,44, 7) = (/ & &2.8560e-03_rb,2.3067e-03_rb,1.6088e-03_rb,8.6423e-04_rb,1.1691e-05_rb/) kbo(:, 2,44, 7) = (/ & &4.1914e-03_rb,3.3878e-03_rb,2.3617e-03_rb,1.2680e-03_rb,1.5336e-05_rb/) kbo(:, 3,44, 7) = (/ & &6.0257e-03_rb,4.8753e-03_rb,3.3991e-03_rb,1.8248e-03_rb,1.9674e-05_rb/) kbo(:, 4,44, 7) = (/ & &8.5074e-03_rb,6.8953e-03_rb,4.8067e-03_rb,2.5783e-03_rb,2.4601e-05_rb/) kbo(:, 5,44, 7) = (/ & &1.1798e-02_rb,9.5893e-03_rb,6.6876e-03_rb,3.5866e-03_rb,3.0110e-05_rb/) kbo(:, 1,45, 7) = (/ & &2.1795e-03_rb,1.7620e-03_rb,1.2288e-03_rb,6.5976e-04_rb,8.6355e-06_rb/) kbo(:, 2,45, 7) = (/ & &3.2384e-03_rb,2.6190e-03_rb,1.8255e-03_rb,9.8000e-04_rb,1.1470e-05_rb/) kbo(:, 3,45, 7) = (/ & &4.7095e-03_rb,3.8135e-03_rb,2.6589e-03_rb,1.4269e-03_rb,1.4819e-05_rb/) kbo(:, 4,45, 7) = (/ & &6.7188e-03_rb,5.4533e-03_rb,3.8021e-03_rb,2.0391e-03_rb,1.8692e-05_rb/) kbo(:, 5,45, 7) = (/ & &9.4160e-03_rb,7.6627e-03_rb,5.3428e-03_rb,2.8648e-03_rb,2.3071e-05_rb/) kbo(:, 1,46, 7) = (/ & &1.6442e-03_rb,1.3301e-03_rb,9.2731e-04_rb,4.9724e-04_rb,6.3123e-06_rb/) kbo(:, 2,46, 7) = (/ & &2.4756e-03_rb,2.0038e-03_rb,1.3961e-03_rb,7.4858e-04_rb,8.4887e-06_rb/) kbo(:, 3,46, 7) = (/ & &3.6430e-03_rb,2.9527e-03_rb,2.0584e-03_rb,1.1034e-03_rb,1.1065e-05_rb/) kbo(:, 4,46, 7) = (/ & &5.2551e-03_rb,4.2702e-03_rb,2.9775e-03_rb,1.5960e-03_rb,1.4093e-05_rb/) kbo(:, 5,46, 7) = (/ & &7.4490e-03_rb,6.0700e-03_rb,4.2323e-03_rb,2.2675e-03_rb,1.7540e-05_rb/) kbo(:, 1,47, 7) = (/ & &1.2145e-03_rb,9.8337e-04_rb,6.8536e-04_rb,3.6730e-04_rb,4.5517e-06_rb/) kbo(:, 2,47, 7) = (/ & &1.8591e-03_rb,1.5045e-03_rb,1.0482e-03_rb,5.6130e-04_rb,6.1946e-06_rb/) kbo(:, 3,47, 7) = (/ & &2.7714e-03_rb,2.2470e-03_rb,1.5654e-03_rb,8.3875e-04_rb,8.1842e-06_rb/) kbo(:, 4,47, 7) = (/ & &4.0468e-03_rb,3.2903e-03_rb,2.2941e-03_rb,1.2283e-03_rb,1.0514e-05_rb/) kbo(:, 5,47, 7) = (/ & &5.8053e-03_rb,4.7349e-03_rb,3.3018e-03_rb,1.7685e-03_rb,1.3244e-05_rb/) kbo(:, 1,48, 7) = (/ & &8.9209e-04_rb,7.2273e-04_rb,5.0348e-04_rb,2.6958e-04_rb,3.2450e-06_rb/) kbo(:, 2,48, 7) = (/ & &1.3877e-03_rb,1.1243e-03_rb,7.8261e-04_rb,4.1863e-04_rb,4.4867e-06_rb/) kbo(:, 3,48, 7) = (/ & &2.0991e-03_rb,1.7020e-03_rb,1.1852e-03_rb,6.3416e-04_rb,6.0052e-06_rb/) kbo(:, 4,48, 7) = (/ & &3.1030e-03_rb,2.5246e-03_rb,1.7595e-03_rb,9.4166e-04_rb,7.8064e-06_rb/) kbo(:, 5,48, 7) = (/ & &4.5012e-03_rb,3.6752e-03_rb,2.5627e-03_rb,1.3716e-03_rb,9.9188e-06_rb/) kbo(:, 1,49, 7) = (/ & &6.5052e-04_rb,5.2741e-04_rb,3.6738e-04_rb,1.9665e-04_rb,2.2928e-06_rb/) kbo(:, 2,49, 7) = (/ & &1.0291e-03_rb,8.3378e-04_rb,5.8035e-04_rb,3.1024e-04_rb,3.2141e-06_rb/) kbo(:, 3,49, 7) = (/ & &1.5816e-03_rb,1.2832e-03_rb,8.9291e-04_rb,4.7687e-04_rb,4.3608e-06_rb/) kbo(:, 4,49, 7) = (/ & &2.3687e-03_rb,1.9273e-03_rb,1.3422e-03_rb,7.1737e-04_rb,5.7390e-06_rb/) kbo(:, 5,49, 7) = (/ & &3.4765e-03_rb,2.8403e-03_rb,1.9797e-03_rb,1.0580e-03_rb,7.3616e-06_rb/) kbo(:, 1,50, 7) = (/ & &4.7889e-04_rb,3.8798e-04_rb,2.7009e-04_rb,1.4448e-04_rb,1.6356e-06_rb/) kbo(:, 2,50, 7) = (/ & &7.6956e-04_rb,6.2385e-04_rb,4.3396e-04_rb,2.3170e-04_rb,2.3299e-06_rb/) kbo(:, 3,50, 7) = (/ & &1.1998e-03_rb,9.7385e-04_rb,6.7714e-04_rb,3.6138e-04_rb,3.2007e-06_rb/) kbo(:, 4,50, 7) = (/ & &1.8222e-03_rb,1.4833e-03_rb,1.0320e-03_rb,5.5070e-04_rb,4.2632e-06_rb/) kbo(:, 5,50, 7) = (/ & &2.7064e-03_rb,2.2113e-03_rb,1.5405e-03_rb,8.2234e-04_rb,5.5273e-06_rb/) kbo(:, 1,51, 7) = (/ & &3.5344e-04_rb,2.8635e-04_rb,1.9912e-04_rb,1.0636e-04_rb,1.1680e-06_rb/) kbo(:, 2,51, 7) = (/ & &5.7631e-04_rb,4.6738e-04_rb,3.2502e-04_rb,1.7332e-04_rb,1.6902e-06_rb/) kbo(:, 3,51, 7) = (/ & &9.1142e-04_rb,7.3982e-04_rb,5.1424e-04_rb,2.7410e-04_rb,2.3543e-06_rb/) kbo(:, 4,51, 7) = (/ & &1.4045e-03_rb,1.1437e-03_rb,7.9544e-04_rb,4.2395e-04_rb,3.1729e-06_rb/) kbo(:, 5,51, 7) = (/ & &2.1131e-03_rb,1.7268e-03_rb,1.2023e-03_rb,6.4090e-04_rb,4.1620e-06_rb/) kbo(:, 1,52, 7) = (/ & &2.5933e-04_rb,2.1020e-04_rb,1.4608e-04_rb,7.7951e-05_rb,8.2759e-07_rb/) kbo(:, 2,52, 7) = (/ & &4.3070e-04_rb,3.4917e-04_rb,2.4257e-04_rb,1.2919e-04_rb,1.2165e-06_rb/) kbo(:, 3,52, 7) = (/ & &6.9048e-04_rb,5.6079e-04_rb,3.8962e-04_rb,2.0733e-04_rb,1.7208e-06_rb/) kbo(:, 4,52, 7) = (/ & &1.0785e-03_rb,8.7815e-04_rb,6.1039e-04_rb,3.2491e-04_rb,2.3474e-06_rb/) kbo(:, 5,52, 7) = (/ & &1.6449e-03_rb,1.3448e-03_rb,9.3585e-04_rb,4.9830e-04_rb,3.1177e-06_rb/) kbo(:, 1,53, 7) = (/ & &1.8893e-04_rb,1.5324e-04_rb,1.0643e-04_rb,5.6765e-05_rb,5.8012e-07_rb/) kbo(:, 2,53, 7) = (/ & &3.2030e-04_rb,2.5977e-04_rb,1.8033e-04_rb,9.5988e-05_rb,8.6790e-07_rb/) kbo(:, 3,53, 7) = (/ & &5.2133e-04_rb,4.2303e-04_rb,2.9359e-04_rb,1.5604e-04_rb,1.2459e-06_rb/) kbo(:, 4,53, 7) = (/ & &8.2474e-04_rb,6.7149e-04_rb,4.6612e-04_rb,2.4781e-04_rb,1.7256e-06_rb/) kbo(:, 5,53, 7) = (/ & &1.2742e-03_rb,1.0424e-03_rb,7.2493e-04_rb,3.8558e-04_rb,2.3164e-06_rb/) kbo(:, 1,54, 7) = (/ & &1.3969e-04_rb,1.1317e-04_rb,7.8561e-05_rb,4.1870e-05_rb,4.1563e-07_rb/) kbo(:, 2,54, 7) = (/ & &2.4197e-04_rb,1.9607e-04_rb,1.3602e-04_rb,7.2325e-05_rb,6.3273e-07_rb/) kbo(:, 3,54, 7) = (/ & &4.0015e-04_rb,3.2487e-04_rb,2.2527e-04_rb,1.1951e-04_rb,9.2081e-07_rb/) kbo(:, 4,54, 7) = (/ & &6.4075e-04_rb,5.2162e-04_rb,3.6218e-04_rb,1.9219e-04_rb,1.2926e-06_rb/) kbo(:, 5,54, 7) = (/ & &1.0011e-03_rb,8.1978e-04_rb,5.6992e-04_rb,3.0275e-04_rb,1.7539e-06_rb/) kbo(:, 1,55, 7) = (/ & &1.0370e-04_rb,8.4064e-05_rb,5.8320e-05_rb,3.1035e-05_rb,3.0125e-07_rb/) kbo(:, 2,55, 7) = (/ & &1.8386e-04_rb,1.4899e-04_rb,1.0330e-04_rb,5.4881e-05_rb,4.6624e-07_rb/) kbo(:, 3,55, 7) = (/ & &3.0954e-04_rb,2.5123e-04_rb,1.7413e-04_rb,9.2312e-05_rb,6.8850e-07_rb/) kbo(:, 4,55, 7) = (/ & &5.0203e-04_rb,4.0855e-04_rb,2.8330e-04_rb,1.5019e-04_rb,9.7772e-07_rb/) kbo(:, 5,55, 7) = (/ & &7.9354e-04_rb,6.4976e-04_rb,4.5113e-04_rb,2.3954e-04_rb,1.3409e-06_rb/) kbo(:, 1,56, 7) = (/ & &7.6693e-05_rb,6.2162e-05_rb,4.3120e-05_rb,2.2933e-05_rb,2.1684e-07_rb/) kbo(:, 2,56, 7) = (/ & &1.3934e-04_rb,1.1294e-04_rb,7.8219e-05_rb,4.1520e-05_rb,3.4179e-07_rb/) kbo(:, 3,56, 7) = (/ & &2.3910e-04_rb,1.9403e-04_rb,1.3441e-04_rb,7.1189e-05_rb,5.1274e-07_rb/) kbo(:, 4,56, 7) = (/ & &3.9378e-04_rb,3.2054e-04_rb,2.2198e-04_rb,1.1748e-04_rb,7.3840e-07_rb/) kbo(:, 5,56, 7) = (/ & &6.2957e-04_rb,5.1531e-04_rb,3.5753e-04_rb,1.8952e-04_rb,1.0222e-06_rb/) kbo(:, 1,57, 7) = (/ & &5.6535e-05_rb,4.5829e-05_rb,3.1754e-05_rb,1.6880e-05_rb,1.5535e-07_rb/) kbo(:, 2,57, 7) = (/ & &1.0543e-04_rb,8.5393e-05_rb,5.9099e-05_rb,3.1336e-05_rb,2.4941e-07_rb/) kbo(:, 3,57, 7) = (/ & &1.8447e-04_rb,1.4976e-04_rb,1.0364e-04_rb,5.4850e-05_rb,3.7980e-07_rb/) kbo(:, 4,57, 7) = (/ & &3.0910e-04_rb,2.5132e-04_rb,1.7397e-04_rb,9.1976e-05_rb,5.5506e-07_rb/) kbo(:, 5,57, 7) = (/ & &4.9998e-04_rb,4.0888e-04_rb,2.8341e-04_rb,1.4999e-04_rb,7.7934e-07_rb/) kbo(:, 1,58, 7) = (/ & &2.0338e-05_rb,1.8913e-05_rb,1.5378e-05_rb,9.8853e-06_rb,1.1183e-07_rb/) kbo(:, 2,58, 7) = (/ & &3.8917e-05_rb,3.6144e-05_rb,2.9335e-05_rb,1.8800e-05_rb,1.8309e-07_rb/) kbo(:, 3,58, 7) = (/ & &6.9478e-05_rb,6.4684e-05_rb,5.2517e-05_rb,3.3620e-05_rb,2.8333e-07_rb/) kbo(:, 4,58, 7) = (/ & &1.1843e-04_rb,1.1052e-04_rb,8.9713e-05_rb,5.7328e-05_rb,4.1951e-07_rb/) kbo(:, 5,58, 7) = (/ & &1.9434e-04_rb,1.8218e-04_rb,1.4806e-04_rb,9.4685e-05_rb,5.9796e-07_rb/) kbo(:, 1,59, 7) = (/ & &1.6486e-05_rb,1.5394e-05_rb,1.2565e-05_rb,8.1204e-06_rb,9.1178e-08_rb/) kbo(:, 2,59, 7) = (/ & &3.1937e-05_rb,2.9800e-05_rb,2.4292e-05_rb,1.5665e-05_rb,1.5065e-07_rb/) kbo(:, 3,59, 7) = (/ & &5.7683e-05_rb,5.3905e-05_rb,4.3942e-05_rb,2.8299e-05_rb,2.3496e-07_rb/) kbo(:, 4,59, 7) = (/ & &9.9323e-05_rb,9.3088e-05_rb,7.5927e-05_rb,4.8813e-05_rb,3.4922e-07_rb/) kbo(:, 5,59, 7) = (/ & &1.6451e-04_rb,1.5507e-04_rb,1.2661e-04_rb,8.1439e-05_rb,5.0093e-07_rb/) kbo(:, 1,13, 8) = (/ & &1.2116e+00_rb,9.1758e-01_rb,6.2996e-01_rb,3.3536e-01_rb,1.5468e-02_rb/) kbo(:, 2,13, 8) = (/ & &1.6818e+00_rb,1.2746e+00_rb,8.7634e-01_rb,4.6518e-01_rb,1.8709e-02_rb/) kbo(:, 3,13, 8) = (/ & &2.2865e+00_rb,1.7360e+00_rb,1.1942e+00_rb,6.3525e-01_rb,2.2469e-02_rb/) kbo(:, 4,13, 8) = (/ & &3.0754e+00_rb,2.3371e+00_rb,1.6054e+00_rb,8.5102e-01_rb,2.6288e-02_rb/) kbo(:, 5,13, 8) = (/ & &4.0473e+00_rb,3.0761e+00_rb,2.1113e+00_rb,1.1162e+00_rb,3.0276e-02_rb/) kbo(:, 1,14, 8) = (/ & &1.1078e+00_rb,8.4059e-01_rb,5.7946e-01_rb,3.0612e-01_rb,1.2063e-02_rb/) kbo(:, 2,14, 8) = (/ & &1.5335e+00_rb,1.1661e+00_rb,8.0499e-01_rb,4.2627e-01_rb,1.4718e-02_rb/) kbo(:, 3,14, 8) = (/ & &2.0884e+00_rb,1.5886e+00_rb,1.0949e+00_rb,5.8050e-01_rb,1.7857e-02_rb/) kbo(:, 4,14, 8) = (/ & &2.8120e+00_rb,2.1413e+00_rb,1.4745e+00_rb,7.8098e-01_rb,2.1007e-02_rb/) kbo(:, 5,14, 8) = (/ & &3.6989e+00_rb,2.8189e+00_rb,1.9396e+00_rb,1.0257e+00_rb,2.4295e-02_rb/) kbo(:, 1,15, 8) = (/ & &9.7042e-01_rb,7.3947e-01_rb,5.1034e-01_rb,2.6949e-01_rb,9.7938e-03_rb/) kbo(:, 2,15, 8) = (/ & &1.3436e+00_rb,1.0262e+00_rb,7.0874e-01_rb,3.7517e-01_rb,1.2203e-02_rb/) kbo(:, 3,15, 8) = (/ & &1.8449e+00_rb,1.4109e+00_rb,9.7248e-01_rb,5.1316e-01_rb,1.4807e-02_rb/) kbo(:, 4,15, 8) = (/ & &2.4626e+00_rb,1.8840e+00_rb,1.3006e+00_rb,6.9030e-01_rb,1.7518e-02_rb/) kbo(:, 5,15, 8) = (/ & &3.2241e+00_rb,2.4640e+00_rb,1.6957e+00_rb,8.9766e-01_rb,2.0767e-02_rb/) kbo(:, 1,16, 8) = (/ & &8.2995e-01_rb,6.3671e-01_rb,4.3954e-01_rb,2.3206e-01_rb,8.0720e-03_rb/) kbo(:, 2,16, 8) = (/ & &1.1570e+00_rb,8.8835e-01_rb,6.1260e-01_rb,3.2369e-01_rb,1.0091e-02_rb/) kbo(:, 3,16, 8) = (/ & &1.5781e+00_rb,1.2128e+00_rb,8.3725e-01_rb,4.4354e-01_rb,1.2349e-02_rb/) kbo(:, 4,16, 8) = (/ & &2.1038e+00_rb,1.6176e+00_rb,1.1171e+00_rb,5.9216e-01_rb,1.4755e-02_rb/) kbo(:, 5,16, 8) = (/ & &2.7385e+00_rb,2.1023e+00_rb,1.4490e+00_rb,7.6892e-01_rb,1.7667e-02_rb/) kbo(:, 1,17, 8) = (/ & &7.0692e-01_rb,5.4586e-01_rb,3.7661e-01_rb,1.9889e-01_rb,6.7483e-03_rb/) kbo(:, 2,17, 8) = (/ & &9.8295e-01_rb,7.5893e-01_rb,5.2307e-01_rb,2.7659e-01_rb,8.4850e-03_rb/) kbo(:, 3,17, 8) = (/ & &1.3367e+00_rb,1.0327e+00_rb,7.1373e-01_rb,3.7884e-01_rb,1.0478e-02_rb/) kbo(:, 4,17, 8) = (/ & &1.7756e+00_rb,1.3697e+00_rb,9.4344e-01_rb,4.9980e-01_rb,1.2797e-02_rb/) kbo(:, 5,17, 8) = (/ & &2.3127e+00_rb,1.7838e+00_rb,1.2303e+00_rb,6.5347e-01_rb,1.5355e-02_rb/) kbo(:, 1,18, 8) = (/ & &5.9108e-01_rb,4.5836e-01_rb,3.1625e-01_rb,1.6744e-01_rb,5.7287e-03_rb/) kbo(:, 2,18, 8) = (/ & &8.2052e-01_rb,6.3681e-01_rb,4.3945e-01_rb,2.3289e-01_rb,7.3032e-03_rb/) kbo(:, 3,18, 8) = (/ & &1.1131e+00_rb,8.6338e-01_rb,5.9577e-01_rb,3.1578e-01_rb,9.0895e-03_rb/) kbo(:, 4,18, 8) = (/ & &1.4765e+00_rb,1.1444e+00_rb,7.8909e-01_rb,4.1827e-01_rb,1.1179e-02_rb/) kbo(:, 5,18, 8) = (/ & &1.9250e+00_rb,1.4898e+00_rb,1.0284e+00_rb,5.4576e-01_rb,1.3498e-02_rb/) kbo(:, 1,19, 8) = (/ & &5.0114e-01_rb,3.9028e-01_rb,2.6968e-01_rb,1.4303e-01_rb,5.0299e-03_rb/) kbo(:, 2,19, 8) = (/ & &6.9768e-01_rb,5.4308e-01_rb,3.7493e-01_rb,1.9896e-01_rb,6.4752e-03_rb/) kbo(:, 3,19, 8) = (/ & &9.4555e-01_rb,7.3537e-01_rb,5.0733e-01_rb,2.6864e-01_rb,8.1323e-03_rb/) kbo(:, 4,19, 8) = (/ & &1.2515e+00_rb,9.7204e-01_rb,6.7090e-01_rb,3.5577e-01_rb,1.0007e-02_rb/) kbo(:, 5,19, 8) = (/ & &1.6326e+00_rb,1.2674e+00_rb,8.7478e-01_rb,4.6363e-01_rb,1.2144e-02_rb/) kbo(:, 1,20, 8) = (/ & &4.3618e-01_rb,3.4070e-01_rb,2.3544e-01_rb,1.2514e-01_rb,4.4918e-03_rb/) kbo(:, 2,20, 8) = (/ & &6.0844e-01_rb,4.7506e-01_rb,3.2779e-01_rb,1.7405e-01_rb,5.8213e-03_rb/) kbo(:, 3,20, 8) = (/ & &8.2504e-01_rb,6.4315e-01_rb,4.4377e-01_rb,2.3521e-01_rb,7.3449e-03_rb/) kbo(:, 4,20, 8) = (/ & &1.0904e+00_rb,8.4892e-01_rb,5.8560e-01_rb,3.1033e-01_rb,9.1136e-03_rb/) kbo(:, 5,20, 8) = (/ & &1.4182e+00_rb,1.1040e+00_rb,7.6212e-01_rb,4.0404e-01_rb,1.1084e-02_rb/) kbo(:, 1,21, 8) = (/ & &3.8157e-01_rb,2.9889e-01_rb,2.0662e-01_rb,1.0989e-01_rb,4.0172e-03_rb/) kbo(:, 2,21, 8) = (/ & &5.3249e-01_rb,4.1652e-01_rb,2.8764e-01_rb,1.5288e-01_rb,5.2442e-03_rb/) kbo(:, 3,21, 8) = (/ & &7.2280e-01_rb,5.6456e-01_rb,3.8951e-01_rb,2.0661e-01_rb,6.6692e-03_rb/) kbo(:, 4,21, 8) = (/ & &9.5675e-01_rb,7.4634e-01_rb,5.1474e-01_rb,2.7285e-01_rb,8.2754e-03_rb/) kbo(:, 5,21, 8) = (/ & &1.2430e+00_rb,9.6862e-01_rb,6.6782e-01_rb,3.5364e-01_rb,1.0090e-02_rb/) kbo(:, 1,22, 8) = (/ & &3.4101e-01_rb,2.6749e-01_rb,1.8491e-01_rb,9.8339e-02_rb,3.6398e-03_rb/) kbo(:, 2,22, 8) = (/ & &4.7480e-01_rb,3.7184e-01_rb,2.5674e-01_rb,1.3643e-01_rb,4.7506e-03_rb/) kbo(:, 3,22, 8) = (/ & &6.4273e-01_rb,5.0295e-01_rb,3.4722e-01_rb,1.8435e-01_rb,6.0333e-03_rb/) kbo(:, 4,22, 8) = (/ & &8.5104e-01_rb,6.6530e-01_rb,4.5905e-01_rb,2.4340e-01_rb,7.4888e-03_rb/) kbo(:, 5,22, 8) = (/ & &1.1079e+00_rb,8.6526e-01_rb,5.9621e-01_rb,3.1544e-01_rb,9.1269e-03_rb/) kbo(:, 1,23, 8) = (/ & &3.0421e-01_rb,2.3897e-01_rb,1.6516e-01_rb,8.7923e-02_rb,3.2631e-03_rb/) kbo(:, 2,23, 8) = (/ & &4.2200e-01_rb,3.3116e-01_rb,2.2888e-01_rb,1.2169e-01_rb,4.2529e-03_rb/) kbo(:, 3,23, 8) = (/ & &5.7072e-01_rb,4.4747e-01_rb,3.0900e-01_rb,1.6407e-01_rb,5.3912e-03_rb/) kbo(:, 4,23, 8) = (/ & &7.5672e-01_rb,5.9253e-01_rb,4.0891e-01_rb,2.1688e-01_rb,6.6960e-03_rb/) kbo(:, 5,23, 8) = (/ & &9.8731e-01_rb,7.7239e-01_rb,5.3220e-01_rb,2.8204e-01_rb,8.2651e-03_rb/) kbo(:, 1,24, 8) = (/ & &2.7335e-01_rb,2.1493e-01_rb,1.4863e-01_rb,7.9120e-02_rb,2.9206e-03_rb/) kbo(:, 2,24, 8) = (/ & &3.7818e-01_rb,2.9704e-01_rb,2.0533e-01_rb,1.0922e-01_rb,3.7959e-03_rb/) kbo(:, 3,24, 8) = (/ & &5.1197e-01_rb,4.0167e-01_rb,2.7730e-01_rb,1.4723e-01_rb,4.8218e-03_rb/) kbo(:, 4,24, 8) = (/ & &6.8021e-01_rb,5.3323e-01_rb,3.6769e-01_rb,1.9508e-01_rb,6.0367e-03_rb/) kbo(:, 5,24, 8) = (/ & &8.8740e-01_rb,6.9520e-01_rb,4.7892e-01_rb,2.5373e-01_rb,7.4083e-03_rb/) kbo(:, 1,25, 8) = (/ & &2.4667e-01_rb,1.9408e-01_rb,1.3424e-01_rb,7.1436e-02_rb,2.6098e-03_rb/) kbo(:, 2,25, 8) = (/ & &3.4107e-01_rb,2.6809e-01_rb,1.8527e-01_rb,9.8480e-02_rb,3.3820e-03_rb/) kbo(:, 3,25, 8) = (/ & &4.6237e-01_rb,3.6308e-01_rb,2.5057e-01_rb,1.3298e-01_rb,4.3157e-03_rb/) kbo(:, 4,25, 8) = (/ & &6.1385e-01_rb,4.8168e-01_rb,3.3224e-01_rb,1.7632e-01_rb,5.3399e-03_rb/) kbo(:, 5,25, 8) = (/ & &7.9905e-01_rb,6.2682e-01_rb,4.3186e-01_rb,2.2913e-01_rb,6.4913e-03_rb/) kbo(:, 1,26, 8) = (/ & &2.2404e-01_rb,1.7649e-01_rb,1.2214e-01_rb,6.5022e-02_rb,2.3384e-03_rb/) kbo(:, 2,26, 8) = (/ & &3.1013e-01_rb,2.4403e-01_rb,1.6870e-01_rb,8.9741e-02_rb,3.0179e-03_rb/) kbo(:, 3,26, 8) = (/ & &4.2049e-01_rb,3.3066e-01_rb,2.2838e-01_rb,1.2138e-01_rb,3.8039e-03_rb/) kbo(:, 4,26, 8) = (/ & &5.5790e-01_rb,4.3821e-01_rb,3.0237e-01_rb,1.6056e-01_rb,4.6658e-03_rb/) kbo(:, 5,26, 8) = (/ & &7.2377e-01_rb,5.6837e-01_rb,3.9196e-01_rb,2.0795e-01_rb,5.6275e-03_rb/) kbo(:, 1,27, 8) = (/ & &2.0411e-01_rb,1.6088e-01_rb,1.1131e-01_rb,5.9303e-02_rb,2.0568e-03_rb/) kbo(:, 2,27, 8) = (/ & &2.8256e-01_rb,2.2260e-01_rb,1.5392e-01_rb,8.1961e-02_rb,2.6349e-03_rb/) kbo(:, 3,27, 8) = (/ & &3.8251e-01_rb,3.0112e-01_rb,2.0805e-01_rb,1.1068e-01_rb,3.2772e-03_rb/) kbo(:, 4,27, 8) = (/ & &5.0562e-01_rb,3.9785e-01_rb,2.7464e-01_rb,1.4598e-01_rb,4.0077e-03_rb/) kbo(:, 5,27, 8) = (/ & &6.5445e-01_rb,5.1441e-01_rb,3.5497e-01_rb,1.8851e-01_rb,4.8055e-03_rb/) kbo(:, 1,28, 8) = (/ & &1.8628e-01_rb,1.4699e-01_rb,1.0171e-01_rb,5.4235e-02_rb,1.7799e-03_rb/) kbo(:, 2,28, 8) = (/ & &2.5749e-01_rb,2.0322e-01_rb,1.4053e-01_rb,7.4881e-02_rb,2.2515e-03_rb/) kbo(:, 3,28, 8) = (/ & &3.4728e-01_rb,2.7380e-01_rb,1.8920e-01_rb,1.0075e-01_rb,2.7863e-03_rb/) kbo(:, 4,28, 8) = (/ & &4.5755e-01_rb,3.6044e-01_rb,2.4894e-01_rb,1.3243e-01_rb,3.3903e-03_rb/) kbo(:, 5,28, 8) = (/ & &5.9045e-01_rb,4.6494e-01_rb,3.2101e-01_rb,1.7052e-01_rb,4.0404e-03_rb/) kbo(:, 1,29, 8) = (/ & &1.6897e-01_rb,1.3358e-01_rb,9.2501e-02_rb,4.9422e-02_rb,1.5070e-03_rb/) kbo(:, 2,29, 8) = (/ & &2.3294e-01_rb,1.8406e-01_rb,1.2733e-01_rb,6.7942e-02_rb,1.8975e-03_rb/) kbo(:, 3,29, 8) = (/ & &3.1307e-01_rb,2.4704e-01_rb,1.7081e-01_rb,9.1043e-02_rb,2.3375e-03_rb/) kbo(:, 4,29, 8) = (/ & &4.1126e-01_rb,3.2432e-01_rb,2.2417e-01_rb,1.1931e-01_rb,2.8199e-03_rb/) kbo(:, 5,29, 8) = (/ & &5.2992e-01_rb,4.1770e-01_rb,2.8860e-01_rb,1.5337e-01_rb,3.3535e-03_rb/) kbo(:, 1,30, 8) = (/ & &1.5242e-01_rb,1.2071e-01_rb,8.3664e-02_rb,4.4778e-02_rb,1.2669e-03_rb/) kbo(:, 2,30, 8) = (/ & &2.0927e-01_rb,1.6559e-01_rb,1.1465e-01_rb,6.1290e-02_rb,1.5824e-03_rb/) kbo(:, 3,30, 8) = (/ & &2.8036e-01_rb,2.2167e-01_rb,1.5340e-01_rb,8.1865e-02_rb,1.9342e-03_rb/) kbo(:, 4,30, 8) = (/ & &3.6796e-01_rb,2.9065e-01_rb,2.0100e-01_rb,1.0707e-01_rb,2.3143e-03_rb/) kbo(:, 5,30, 8) = (/ & &4.7407e-01_rb,3.7431e-01_rb,2.5849e-01_rb,1.3745e-01_rb,2.7612e-03_rb/) kbo(:, 1,31, 8) = (/ & &1.3611e-01_rb,1.0796e-01_rb,7.4865e-02_rb,4.0122e-02_rb,1.0479e-03_rb/) kbo(:, 2,31, 8) = (/ & &1.8611e-01_rb,1.4751e-01_rb,1.0224e-01_rb,5.4734e-02_rb,1.2997e-03_rb/) kbo(:, 3,31, 8) = (/ & &2.4882e-01_rb,1.9706e-01_rb,1.3650e-01_rb,7.2954e-02_rb,1.5789e-03_rb/) kbo(:, 4,31, 8) = (/ & &3.2631e-01_rb,2.5819e-01_rb,1.7872e-01_rb,9.5286e-02_rb,1.8990e-03_rb/) kbo(:, 5,31, 8) = (/ & &4.2088e-01_rb,3.3264e-01_rb,2.2986e-01_rb,1.2231e-01_rb,2.2523e-03_rb/) kbo(:, 1,32, 8) = (/ & &1.2210e-01_rb,9.6994e-02_rb,6.7326e-02_rb,3.6123e-02_rb,8.5904e-04_rb/) kbo(:, 2,32, 8) = (/ & &1.6652e-01_rb,1.3210e-01_rb,9.1670e-02_rb,4.9107e-02_rb,1.0623e-03_rb/) kbo(:, 3,32, 8) = (/ & &2.2222e-01_rb,1.7626e-01_rb,1.2220e-01_rb,6.5357e-02_rb,1.2931e-03_rb/) kbo(:, 4,32, 8) = (/ & &2.9160e-01_rb,2.3096e-01_rb,1.5993e-01_rb,8.5342e-02_rb,1.5468e-03_rb/) kbo(:, 5,32, 8) = (/ & &3.7617e-01_rb,2.9768e-01_rb,2.0589e-01_rb,1.0971e-01_rb,1.8394e-03_rb/) kbo(:, 1,33, 8) = (/ & &1.0986e-01_rb,8.7382e-02_rb,6.0737e-02_rb,3.2609e-02_rb,7.0177e-04_rb/) kbo(:, 2,33, 8) = (/ & &1.4961e-01_rb,1.1887e-01_rb,8.2542e-02_rb,4.4260e-02_rb,8.6489e-04_rb/) kbo(:, 3,33, 8) = (/ & &1.9974e-01_rb,1.5861e-01_rb,1.0995e-01_rb,5.8836e-02_rb,1.0533e-03_rb/) kbo(:, 4,33, 8) = (/ & &2.6219e-01_rb,2.0793e-01_rb,1.4396e-01_rb,7.6884e-02_rb,1.2624e-03_rb/) kbo(:, 5,33, 8) = (/ & &3.3855e-01_rb,2.6852e-01_rb,1.8574e-01_rb,9.9060e-02_rb,1.4976e-03_rb/) kbo(:, 1,34, 8) = (/ & &9.9355e-02_rb,7.9091e-02_rb,5.5001e-02_rb,2.9534e-02_rb,5.8155e-04_rb/) kbo(:, 2,34, 8) = (/ & &1.3530e-01_rb,1.0764e-01_rb,7.4771e-02_rb,4.0076e-02_rb,7.1503e-04_rb/) kbo(:, 3,34, 8) = (/ & &1.8087e-01_rb,1.4373e-01_rb,9.9666e-02_rb,5.3339e-02_rb,8.6827e-04_rb/) kbo(:, 4,34, 8) = (/ & &2.3750e-01_rb,1.8867e-01_rb,1.3063e-01_rb,6.9822e-02_rb,1.0409e-03_rb/) kbo(:, 5,34, 8) = (/ & &3.0762e-01_rb,2.4432e-01_rb,1.6897e-01_rb,9.0140e-02_rb,1.2357e-03_rb/) kbo(:, 1,35, 8) = (/ & &8.7519e-02_rb,6.9769e-02_rb,4.8552e-02_rb,2.6085e-02_rb,4.6868e-04_rb/) kbo(:, 2,35, 8) = (/ & &1.1953e-01_rb,9.5204e-02_rb,6.6129e-02_rb,3.5470e-02_rb,5.7740e-04_rb/) kbo(:, 3,35, 8) = (/ & &1.6035e-01_rb,1.2756e-01_rb,8.8463e-02_rb,4.7361e-02_rb,7.0118e-04_rb/) kbo(:, 4,35, 8) = (/ & &2.1123e-01_rb,1.6801e-01_rb,1.1639e-01_rb,6.2235e-02_rb,8.4220e-04_rb/) kbo(:, 5,35, 8) = (/ & &2.7484e-01_rb,2.1861e-01_rb,1.5121e-01_rb,8.0717e-02_rb,1.0033e-03_rb/) kbo(:, 1,36, 8) = (/ & &7.4849e-02_rb,5.9737e-02_rb,4.1593e-02_rb,2.2353e-02_rb,3.6660e-04_rb/) kbo(:, 2,36, 8) = (/ & &1.0278e-01_rb,8.1972e-02_rb,5.6955e-02_rb,3.0544e-02_rb,4.5336e-04_rb/) kbo(:, 3,36, 8) = (/ & &1.3843e-01_rb,1.1029e-01_rb,7.6519e-02_rb,4.1000e-02_rb,5.5390e-04_rb/) kbo(:, 4,36, 8) = (/ & &1.8385e-01_rb,1.4649e-01_rb,1.0149e-01_rb,5.4257e-02_rb,6.6682e-04_rb/) kbo(:, 5,36, 8) = (/ & &2.4059e-01_rb,1.9160e-01_rb,1.3256e-01_rb,7.0808e-02_rb,7.9593e-04_rb/) kbo(:, 1,37, 8) = (/ & &6.1778e-02_rb,4.9350e-02_rb,3.4377e-02_rb,1.8481e-02_rb,2.8834e-04_rb/) kbo(:, 2,37, 8) = (/ & &8.5595e-02_rb,6.8343e-02_rb,4.7513e-02_rb,2.5474e-02_rb,3.5693e-04_rb/) kbo(:, 3,37, 8) = (/ & &1.1627e-01_rb,9.2744e-02_rb,6.4387e-02_rb,3.4481e-02_rb,4.3707e-04_rb/) kbo(:, 4,37, 8) = (/ & &1.5562e-01_rb,1.2411e-01_rb,8.6025e-02_rb,4.6007e-02_rb,5.2965e-04_rb/) kbo(:, 5,37, 8) = (/ & &2.0514e-01_rb,1.6357e-01_rb,1.1324e-01_rb,6.0461e-02_rb,6.3315e-04_rb/) kbo(:, 1,38, 8) = (/ & &5.0881e-02_rb,4.0678e-02_rb,2.8356e-02_rb,1.5247e-02_rb,2.2603e-04_rb/) kbo(:, 2,38, 8) = (/ & &7.1115e-02_rb,5.6873e-02_rb,3.9548e-02_rb,2.1211e-02_rb,2.8054e-04_rb/) kbo(:, 3,38, 8) = (/ & &9.7490e-02_rb,7.7896e-02_rb,5.4103e-02_rb,2.8959e-02_rb,3.4399e-04_rb/) kbo(:, 4,38, 8) = (/ & &1.3157e-01_rb,1.0506e-01_rb,7.2849e-02_rb,3.8945e-02_rb,4.1860e-04_rb/) kbo(:, 5,38, 8) = (/ & &1.7483e-01_rb,1.3966e-01_rb,9.6758e-02_rb,5.1645e-02_rb,5.0365e-04_rb/) kbo(:, 1,39, 8) = (/ & &4.1872e-02_rb,3.3548e-02_rb,2.3398e-02_rb,1.2576e-02_rb,1.7614e-04_rb/) kbo(:, 2,39, 8) = (/ & &5.9094e-02_rb,4.7316e-02_rb,3.2924e-02_rb,1.7662e-02_rb,2.1952e-04_rb/) kbo(:, 3,39, 8) = (/ & &8.1814e-02_rb,6.5458e-02_rb,4.5468e-02_rb,2.4343e-02_rb,2.7005e-04_rb/) kbo(:, 4,39, 8) = (/ & &1.1129e-01_rb,8.9026e-02_rb,6.1776e-02_rb,3.3031e-02_rb,3.3030e-04_rb/) kbo(:, 5,39, 8) = (/ & &1.4922e-01_rb,1.1944e-01_rb,8.2784e-02_rb,4.4132e-02_rb,4.0030e-04_rb/) kbo(:, 1,40, 8) = (/ & &3.3647e-02_rb,2.6996e-02_rb,1.8830e-02_rb,1.0123e-02_rb,1.3664e-04_rb/) kbo(:, 2,40, 8) = (/ & &4.8077e-02_rb,3.8535e-02_rb,2.6836e-02_rb,1.4394e-02_rb,1.7115e-04_rb/) kbo(:, 3,40, 8) = (/ & &6.7356e-02_rb,5.3948e-02_rb,3.7498e-02_rb,2.0063e-02_rb,2.1194e-04_rb/) kbo(:, 4,40, 8) = (/ & &9.2612e-02_rb,7.4161e-02_rb,5.1473e-02_rb,2.7514e-02_rb,2.6017e-04_rb/) kbo(:, 5,40, 8) = (/ & &1.2534e-01_rb,1.0040e-01_rb,6.9623e-02_rb,3.7148e-02_rb,3.1694e-04_rb/) kbo(:, 1,41, 8) = (/ & &2.6919e-02_rb,2.1625e-02_rb,1.5091e-02_rb,8.1073e-03_rb,1.0569e-04_rb/) kbo(:, 2,41, 8) = (/ & &3.8959e-02_rb,3.1258e-02_rb,2.1769e-02_rb,1.1674e-02_rb,1.3335e-04_rb/) kbo(:, 3,41, 8) = (/ & &5.5227e-02_rb,4.4304e-02_rb,3.0810e-02_rb,1.6485e-02_rb,1.6620e-04_rb/) kbo(:, 4,41, 8) = (/ & &7.6819e-02_rb,6.1609e-02_rb,4.2770e-02_rb,2.2843e-02_rb,2.0484e-04_rb/) kbo(:, 5,41, 8) = (/ & &1.0504e-01_rb,8.4290e-02_rb,5.8439e-02_rb,3.1171e-02_rb,2.5031e-04_rb/) kbo(:, 1,42, 8) = (/ & &2.1470e-02_rb,1.7281e-02_rb,1.2058e-02_rb,6.4788e-03_rb,8.1238e-05_rb/) kbo(:, 2,42, 8) = (/ & &3.1494e-02_rb,2.5316e-02_rb,1.7631e-02_rb,9.4523e-03_rb,1.0344e-04_rb/) kbo(:, 3,42, 8) = (/ & &4.5222e-02_rb,3.6333e-02_rb,2.5262e-02_rb,1.3522e-02_rb,1.2977e-04_rb/) kbo(:, 4,42, 8) = (/ & &6.3644e-02_rb,5.1128e-02_rb,3.5506e-02_rb,1.8951e-02_rb,1.6105e-04_rb/) kbo(:, 5,42, 8) = (/ & &8.7974e-02_rb,7.0671e-02_rb,4.9043e-02_rb,2.6143e-02_rb,1.9719e-04_rb/) kbo(:, 1,43, 8) = (/ & &1.6861e-02_rb,1.3590e-02_rb,9.4853e-03_rb,5.0945e-03_rb,6.1844e-05_rb/) kbo(:, 2,43, 8) = (/ & &2.5102e-02_rb,2.0210e-02_rb,1.4080e-02_rb,7.5450e-03_rb,7.9573e-05_rb/) kbo(:, 3,43, 8) = (/ & &3.6570e-02_rb,2.9430e-02_rb,2.0473e-02_rb,1.0954e-02_rb,1.0063e-04_rb/) kbo(:, 4,43, 8) = (/ & &5.2231e-02_rb,4.1980e-02_rb,2.9163e-02_rb,1.5562e-02_rb,1.2552e-04_rb/) kbo(:, 5,43, 8) = (/ & &7.3055e-02_rb,5.8741e-02_rb,4.0761e-02_rb,2.1719e-02_rb,1.5491e-04_rb/) kbo(:, 1,44, 8) = (/ & &1.3112e-02_rb,1.0583e-02_rb,7.3867e-03_rb,3.9656e-03_rb,4.6708e-05_rb/) kbo(:, 2,44, 8) = (/ & &1.9838e-02_rb,1.5995e-02_rb,1.1144e-02_rb,5.9703e-03_rb,6.0776e-05_rb/) kbo(:, 3,44, 8) = (/ & &2.9345e-02_rb,2.3649e-02_rb,1.6458e-02_rb,8.7984e-03_rb,7.7487e-05_rb/) kbo(:, 4,44, 8) = (/ & &4.2542e-02_rb,3.4237e-02_rb,2.3782e-02_rb,1.2696e-02_rb,9.7391e-05_rb/) kbo(:, 5,44, 8) = (/ & &6.0327e-02_rb,4.8544e-02_rb,3.3677e-02_rb,1.7934e-02_rb,1.2115e-04_rb/) kbo(:, 1,45, 8) = (/ & &1.0146e-02_rb,8.1985e-03_rb,5.7225e-03_rb,3.0712e-03_rb,3.5068e-05_rb/) kbo(:, 2,45, 8) = (/ & &1.5607e-02_rb,1.2601e-02_rb,8.7806e-03_rb,4.7019e-03_rb,4.6144e-05_rb/) kbo(:, 3,45, 8) = (/ & &2.3451e-02_rb,1.8930e-02_rb,1.3177e-02_rb,7.0434e-03_rb,5.9457e-05_rb/) kbo(:, 4,45, 8) = (/ & &3.4514e-02_rb,2.7825e-02_rb,1.9327e-02_rb,1.0311e-02_rb,7.5434e-05_rb/) kbo(:, 5,45, 8) = (/ & &4.9675e-02_rb,4.0043e-02_rb,2.7784e-02_rb,1.4786e-02_rb,9.4540e-05_rb/) kbo(:, 1,46, 8) = (/ & &7.7351e-03_rb,6.2590e-03_rb,4.3712e-03_rb,2.3470e-03_rb,2.6024e-05_rb/) kbo(:, 2,46, 8) = (/ & &1.2117e-02_rb,9.8019e-03_rb,6.8312e-03_rb,3.6581e-03_rb,3.4737e-05_rb/) kbo(:, 3,46, 8) = (/ & &1.8521e-02_rb,1.4972e-02_rb,1.0423e-02_rb,5.5707e-03_rb,4.5227e-05_rb/) kbo(:, 4,46, 8) = (/ & &2.7718e-02_rb,2.2376e-02_rb,1.5549e-02_rb,8.2942e-03_rb,5.8064e-05_rb/) kbo(:, 5,46, 8) = (/ & &4.0521e-02_rb,3.2720e-02_rb,2.2708e-02_rb,1.2084e-02_rb,7.3480e-05_rb/) kbo(:, 1,47, 8) = (/ & &5.7592e-03_rb,4.6672e-03_rb,3.2593e-03_rb,1.7501e-03_rb,1.9095e-05_rb/) kbo(:, 2,47, 8) = (/ & &9.2060e-03_rb,7.4576e-03_rb,5.1997e-03_rb,2.7848e-03_rb,2.5839e-05_rb/) kbo(:, 3,47, 8) = (/ & &1.4346e-02_rb,1.1614e-02_rb,8.0835e-03_rb,4.3208e-03_rb,3.4203e-05_rb/) kbo(:, 4,47, 8) = (/ & &2.1845e-02_rb,1.7678e-02_rb,1.2284e-02_rb,6.5493e-03_rb,4.4407e-05_rb/) kbo(:, 5,47, 8) = (/ & &3.2496e-02_rb,2.6280e-02_rb,1.8234e-02_rb,9.7018e-03_rb,5.6773e-05_rb/) kbo(:, 1,48, 8) = (/ & &4.2511e-03_rb,3.4498e-03_rb,2.4093e-03_rb,1.2936e-03_rb,1.3859e-05_rb/) kbo(:, 2,48, 8) = (/ & &6.9347e-03_rb,5.6254e-03_rb,3.9226e-03_rb,2.1019e-03_rb,1.9117e-05_rb/) kbo(:, 3,48, 8) = (/ & &1.1018e-02_rb,8.9390e-03_rb,6.2242e-03_rb,3.3284e-03_rb,2.5648e-05_rb/) kbo(:, 4,48, 8) = (/ & &1.7113e-02_rb,1.3870e-02_rb,9.6439e-03_rb,5.1401e-03_rb,3.3736e-05_rb/) kbo(:, 5,48, 8) = (/ & &2.5919e-02_rb,2.1005e-02_rb,1.4575e-02_rb,7.7539e-03_rb,4.3617e-05_rb/) kbo(:, 1,49, 8) = (/ & &3.1098e-03_rb,2.5273e-03_rb,1.7645e-03_rb,9.4708e-04_rb,9.9370e-06_rb/) kbo(:, 2,49, 8) = (/ & &5.1784e-03_rb,4.2068e-03_rb,2.9339e-03_rb,1.5725e-03_rb,1.3987e-05_rb/) kbo(:, 3,49, 8) = (/ & &8.3947e-03_rb,6.8228e-03_rb,4.7538e-03_rb,2.5418e-03_rb,1.9085e-05_rb/) kbo(:, 4,49, 8) = (/ & &1.3293e-02_rb,1.0799e-02_rb,7.5113e-03_rb,4.0058e-03_rb,2.5451e-05_rb/) kbo(:, 5,49, 8) = (/ & &2.0521e-02_rb,1.6668e-02_rb,1.1574e-02_rb,6.1522e-03_rb,3.3363e-05_rb/) kbo(:, 1,50, 8) = (/ & &2.2918e-03_rb,1.8636e-03_rb,1.3008e-03_rb,6.9789e-04_rb,7.1979e-06_rb/) kbo(:, 2,50, 8) = (/ & &3.8913e-03_rb,3.1670e-03_rb,2.2089e-03_rb,1.1842e-03_rb,1.0331e-05_rb/) kbo(:, 3,50, 8) = (/ & &6.4390e-03_rb,5.2441e-03_rb,3.6531e-03_rb,1.9538e-03_rb,1.4344e-05_rb/) kbo(:, 4,50, 8) = (/ & &1.0397e-02_rb,8.4649e-03_rb,5.8892e-03_rb,3.1423e-03_rb,1.9397e-05_rb/) kbo(:, 5,50, 8) = (/ & &1.6371e-02_rb,1.3317e-02_rb,9.2504e-03_rb,4.9185e-03_rb,2.5741e-05_rb/) kbo(:, 1,51, 8) = (/ & &1.6928e-03_rb,1.3767e-03_rb,9.6023e-04_rb,5.1382e-04_rb,5.2246e-06_rb/) kbo(:, 2,51, 8) = (/ & &2.9272e-03_rb,2.3839e-03_rb,1.6628e-03_rb,8.9103e-04_rb,7.6388e-06_rb/) kbo(:, 3,51, 8) = (/ & &4.9429e-03_rb,4.0319e-03_rb,2.8087e-03_rb,1.5020e-03_rb,1.0781e-05_rb/) kbo(:, 4,51, 8) = (/ & &8.1364e-03_rb,6.6389e-03_rb,4.6188e-03_rb,2.4654e-03_rb,1.4827e-05_rb/) kbo(:, 5,51, 8) = (/ & &1.3068e-02_rb,1.0656e-02_rb,7.4020e-03_rb,3.9372e-03_rb,1.9921e-05_rb/) kbo(:, 1,52, 8) = (/ & &1.2399e-03_rb,1.0091e-03_rb,7.0357e-04_rb,3.7650e-04_rb,3.7522e-06_rb/) kbo(:, 2,52, 8) = (/ & &2.1899e-03_rb,1.7829e-03_rb,1.2430e-03_rb,6.6579e-04_rb,5.6100e-06_rb/) kbo(:, 3,52, 8) = (/ & &3.7665e-03_rb,3.0795e-03_rb,2.1447e-03_rb,1.1464e-03_rb,8.0632e-06_rb/) kbo(:, 4,52, 8) = (/ & &6.3261e-03_rb,5.1729e-03_rb,3.5994e-03_rb,1.9224e-03_rb,1.1265e-05_rb/) kbo(:, 5,52, 8) = (/ & &1.0363e-02_rb,8.4710e-03_rb,5.8842e-03_rb,3.1302e-03_rb,1.5370e-05_rb/) kbo(:, 1,53, 8) = (/ & &9.0216e-04_rb,7.3408e-04_rb,5.1164e-04_rb,2.7340e-04_rb,2.6590e-06_rb/) kbo(:, 2,53, 8) = (/ & &1.6262e-03_rb,1.3270e-03_rb,9.2425e-04_rb,4.9425e-04_rb,4.0810e-06_rb/) kbo(:, 3,53, 8) = (/ & &2.8513e-03_rb,2.3327e-03_rb,1.6237e-03_rb,8.6789e-04_rb,5.9668e-06_rb/) kbo(:, 4,53, 8) = (/ & &4.8843e-03_rb,4.0007e-03_rb,2.7846e-03_rb,1.4866e-03_rb,8.4879e-06_rb/) kbo(:, 5,53, 8) = (/ & &8.1619e-03_rb,6.6885e-03_rb,4.6478e-03_rb,2.4735e-03_rb,1.1744e-05_rb/) kbo(:, 1,54, 8) = (/ & &6.6939e-04_rb,5.4497e-04_rb,3.7910e-04_rb,2.0225e-04_rb,1.9239e-06_rb/) kbo(:, 2,54, 8) = (/ & &1.2278e-03_rb,1.0030e-03_rb,6.9836e-04_rb,3.7314e-04_rb,3.0194e-06_rb/) kbo(:, 3,54, 8) = (/ & &2.1984e-03_rb,1.7996e-03_rb,1.2511e-03_rb,6.6777e-04_rb,4.5056e-06_rb/) kbo(:, 4,54, 8) = (/ & &3.8331e-03_rb,3.1457e-03_rb,2.1886e-03_rb,1.1687e-03_rb,6.4964e-06_rb/) kbo(:, 5,54, 8) = (/ & &6.5432e-03_rb,5.3709e-03_rb,3.7307e-03_rb,1.9859e-03_rb,9.1107e-06_rb/) kbo(:, 1,55, 8) = (/ & &5.0111e-04_rb,4.0755e-04_rb,2.8321e-04_rb,1.5081e-04_rb,1.4025e-06_rb/) kbo(:, 2,55, 8) = (/ & &9.3502e-04_rb,7.6365e-04_rb,5.3113e-04_rb,2.8338e-04_rb,2.2498e-06_rb/) kbo(:, 3,55, 8) = (/ & &1.7077e-03_rb,1.3993e-03_rb,9.7261e-04_rb,5.1891e-04_rb,3.4289e-06_rb/) kbo(:, 4,55, 8) = (/ & &3.0342e-03_rb,2.4941e-03_rb,1.7338e-03_rb,9.2454e-04_rb,5.0131e-06_rb/) kbo(:, 5,55, 8) = (/ & &5.2834e-03_rb,4.3447e-03_rb,3.0182e-03_rb,1.6053e-03_rb,7.1210e-06_rb/) kbo(:, 1,56, 8) = (/ & &3.7616e-04_rb,3.0519e-04_rb,2.1170e-04_rb,1.1247e-04_rb,1.0140e-06_rb/) kbo(:, 2,56, 8) = (/ & &7.1281e-04_rb,5.8173e-04_rb,4.0420e-04_rb,2.1505e-04_rb,1.6673e-06_rb/) kbo(:, 3,56, 8) = (/ & &1.3229e-03_rb,1.0846e-03_rb,7.5367e-04_rb,4.0126e-04_rb,2.5921e-06_rb/) kbo(:, 4,56, 8) = (/ & &2.4034e-03_rb,1.9754e-03_rb,1.3714e-03_rb,7.3027e-04_rb,3.8577e-06_rb/) kbo(:, 5,56, 8) = (/ & &4.2589e-03_rb,3.5089e-03_rb,2.4364e-03_rb,1.2956e-03_rb,5.5656e-06_rb/) kbo(:, 1,57, 8) = (/ & &2.8163e-04_rb,2.2851e-04_rb,1.5825e-04_rb,8.3801e-05_rb,7.2920e-07_rb/) kbo(:, 2,57, 8) = (/ & &5.4316e-04_rb,4.4288e-04_rb,3.0736e-04_rb,1.6324e-04_rb,1.2275e-06_rb/) kbo(:, 3,57, 8) = (/ & &1.0242e-03_rb,8.3907e-04_rb,5.8250e-04_rb,3.0984e-04_rb,1.9504e-06_rb/) kbo(:, 4,57, 8) = (/ & &1.8977e-03_rb,1.5630e-03_rb,1.0848e-03_rb,5.7691e-04_rb,2.9526e-06_rb/) kbo(:, 5,57, 8) = (/ & &3.4290e-03_rb,2.8298e-03_rb,1.9639e-03_rb,1.0437e-03_rb,4.3203e-06_rb/) kbo(:, 1,58, 8) = (/ & &1.0299e-04_rb,9.5896e-05_rb,7.7844e-05_rb,4.9788e-05_rb,5.2623e-07_rb/) kbo(:, 2,58, 8) = (/ & &2.0307e-04_rb,1.9013e-04_rb,1.5450e-04_rb,9.9035e-05_rb,9.0616e-07_rb/) kbo(:, 3,58, 8) = (/ & &3.8839e-04_rb,3.6515e-04_rb,2.9695e-04_rb,1.9078e-04_rb,1.4737e-06_rb/) kbo(:, 4,58, 8) = (/ & &7.3294e-04_rb,6.9303e-04_rb,5.6426e-04_rb,3.6255e-04_rb,2.2710e-06_rb/) kbo(:, 5,58, 8) = (/ & &1.3532e-03_rb,1.2806e-03_rb,1.0426e-03_rb,6.7017e-04_rb,3.3698e-06_rb/) kbo(:, 1,59, 8) = (/ & &8.5450e-05_rb,7.9848e-05_rb,6.5073e-05_rb,4.1875e-05_rb,4.3253e-07_rb/) kbo(:, 2,59, 8) = (/ & &1.7170e-04_rb,1.6133e-04_rb,1.3170e-04_rb,8.4866e-05_rb,7.5223e-07_rb/) kbo(:, 3,59, 8) = (/ & &3.3324e-04_rb,3.1480e-04_rb,2.5716e-04_rb,1.6610e-04_rb,1.2329e-06_rb/) kbo(:, 4,59, 8) = (/ & &6.4000e-04_rb,6.0786e-04_rb,4.9691e-04_rb,3.2112e-04_rb,1.9165e-06_rb/) kbo(:, 5,59, 8) = (/ & &1.2020e-03_rb,1.1456e-03_rb,9.3584e-04_rb,6.0398e-04_rb,2.8638e-06_rb/) kbo(:, 1,13, 9) = (/ & &7.4699e+00_rb,5.6062e+00_rb,3.7650e+00_rb,1.9560e+00_rb,8.5273e-02_rb/) kbo(:, 2,13, 9) = (/ & &1.0680e+01_rb,8.0165e+00_rb,5.3854e+00_rb,2.8036e+00_rb,1.0411e-01_rb/) kbo(:, 3,13, 9) = (/ & &1.4623e+01_rb,1.0976e+01_rb,7.3752e+00_rb,3.8391e+00_rb,1.2390e-01_rb/) kbo(:, 4,13, 9) = (/ & &1.9264e+01_rb,1.4459e+01_rb,9.7226e+00_rb,5.0654e+00_rb,1.4616e-01_rb/) kbo(:, 5,13, 9) = (/ & &2.4629e+01_rb,1.8491e+01_rb,1.2437e+01_rb,6.4792e+00_rb,1.7014e-01_rb/) kbo(:, 1,14, 9) = (/ & &6.8938e+00_rb,5.1783e+00_rb,3.4875e+00_rb,1.8264e+00_rb,7.6714e-02_rb/) kbo(:, 2,14, 9) = (/ & &9.8527e+00_rb,7.4006e+00_rb,4.9851e+00_rb,2.6106e+00_rb,9.2077e-02_rb/) kbo(:, 3,14, 9) = (/ & &1.3464e+01_rb,1.0115e+01_rb,6.8188e+00_rb,3.5707e+00_rb,1.0926e-01_rb/) kbo(:, 4,14, 9) = (/ & &1.7717e+01_rb,1.3311e+01_rb,8.9749e+00_rb,4.7000e+00_rb,1.2815e-01_rb/) kbo(:, 5,14, 9) = (/ & &2.2681e+01_rb,1.7041e+01_rb,1.1492e+01_rb,6.0178e+00_rb,1.4885e-01_rb/) kbo(:, 1,15, 9) = (/ & &6.1047e+00_rb,4.5908e+00_rb,3.1074e+00_rb,1.6392e+00_rb,6.2768e-02_rb/) kbo(:, 2,15, 9) = (/ & &8.7019e+00_rb,6.5442e+00_rb,4.4301e+00_rb,2.3356e+00_rb,7.5768e-02_rb/) kbo(:, 3,15, 9) = (/ & &1.1847e+01_rb,8.9091e+00_rb,6.0354e+00_rb,3.1840e+00_rb,9.0152e-02_rb/) kbo(:, 4,15, 9) = (/ & &1.5627e+01_rb,1.1753e+01_rb,7.9592e+00_rb,4.1918e+00_rb,1.0596e-01_rb/) kbo(:, 5,15, 9) = (/ & &2.0065e+01_rb,1.5096e+01_rb,1.0229e+01_rb,5.3867e+00_rb,1.2348e-01_rb/) kbo(:, 1,16, 9) = (/ & &5.2710e+00_rb,3.9706e+00_rb,2.7052e+00_rb,1.4383e+00_rb,5.0640e-02_rb/) kbo(:, 2,16, 9) = (/ & &7.4843e+00_rb,5.6386e+00_rb,3.8435e+00_rb,2.0428e+00_rb,6.0690e-02_rb/) kbo(:, 3,16, 9) = (/ & &1.0203e+01_rb,7.6869e+00_rb,5.2380e+00_rb,2.7809e+00_rb,7.2017e-02_rb/) kbo(:, 4,16, 9) = (/ & &1.3478e+01_rb,1.0155e+01_rb,6.9170e+00_rb,3.6687e+00_rb,8.5243e-02_rb/) kbo(:, 5,16, 9) = (/ & &1.7365e+01_rb,1.3088e+01_rb,8.9123e+00_rb,4.7182e+00_rb,9.9040e-02_rb/) kbo(:, 1,17, 9) = (/ & &4.4902e+00_rb,3.3911e+00_rb,2.3244e+00_rb,1.2481e+00_rb,4.0283e-02_rb/) kbo(:, 2,17, 9) = (/ & &6.3739e+00_rb,4.8152e+00_rb,3.3005e+00_rb,1.7693e+00_rb,4.9025e-02_rb/) kbo(:, 3,17, 9) = (/ & &8.7028e+00_rb,6.5740e+00_rb,4.5022e+00_rb,2.4070e+00_rb,5.9283e-02_rb/) kbo(:, 4,17, 9) = (/ & &1.1530e+01_rb,8.7139e+00_rb,5.9683e+00_rb,3.1839e+00_rb,7.0217e-02_rb/) kbo(:, 5,17, 9) = (/ & &1.4910e+01_rb,1.1266e+01_rb,7.7058e+00_rb,4.0973e+00_rb,8.1092e-02_rb/) kbo(:, 1,18, 9) = (/ & &3.7512e+00_rb,2.8459e+00_rb,1.9612e+00_rb,1.0622e+00_rb,3.4382e-02_rb/) kbo(:, 2,18, 9) = (/ & &5.3265e+00_rb,4.0412e+00_rb,2.7835e+00_rb,1.5026e+00_rb,4.2209e-02_rb/) kbo(:, 3,18, 9) = (/ & &7.2937e+00_rb,5.5341e+00_rb,3.8093e+00_rb,2.0485e+00_rb,5.1165e-02_rb/) kbo(:, 4,18, 9) = (/ & &9.7044e+00_rb,7.3625e+00_rb,5.0637e+00_rb,2.7136e+00_rb,6.0247e-02_rb/) kbo(:, 5,18, 9) = (/ & &1.2597e+01_rb,9.5561e+00_rb,6.5653e+00_rb,3.5052e+00_rb,7.0721e-02_rb/) kbo(:, 1,19, 9) = (/ & &3.1949e+00_rb,2.4358e+00_rb,1.6862e+00_rb,9.1523e-01_rb,2.9755e-02_rb/) kbo(:, 2,19, 9) = (/ & &4.5382e+00_rb,3.4601e+00_rb,2.3940e+00_rb,1.2945e+00_rb,3.7026e-02_rb/) kbo(:, 3,19, 9) = (/ & &6.2344e+00_rb,4.7532e+00_rb,3.2851e+00_rb,1.7697e+00_rb,4.5045e-02_rb/) kbo(:, 4,19, 9) = (/ & &8.3349e+00_rb,6.3521e+00_rb,4.3827e+00_rb,2.3518e+00_rb,5.3532e-02_rb/) kbo(:, 5,19, 9) = (/ & &1.0858e+01_rb,8.2689e+00_rb,5.6978e+00_rb,3.0490e+00_rb,6.2338e-02_rb/) kbo(:, 1,20, 9) = (/ & &2.7983e+00_rb,2.1430e+00_rb,1.4907e+00_rb,8.0787e-01_rb,2.6638e-02_rb/) kbo(:, 2,20, 9) = (/ & &3.9801e+00_rb,3.0473e+00_rb,2.1167e+00_rb,1.1423e+00_rb,3.3344e-02_rb/) kbo(:, 3,20, 9) = (/ & &5.4854e+00_rb,4.1978e+00_rb,2.9095e+00_rb,1.5650e+00_rb,4.0067e-02_rb/) kbo(:, 4,20, 9) = (/ & &7.3522e+00_rb,5.6240e+00_rb,3.8910e+00_rb,2.0868e+00_rb,4.7603e-02_rb/) kbo(:, 5,20, 9) = (/ & &9.6006e+00_rb,7.3375e+00_rb,5.0662e+00_rb,2.7087e+00_rb,5.5504e-02_rb/) kbo(:, 1,21, 9) = (/ & &2.4723e+00_rb,1.9017e+00_rb,1.3269e+00_rb,7.1717e-01_rb,2.3842e-02_rb/) kbo(:, 2,21, 9) = (/ & &3.5234e+00_rb,2.7089e+00_rb,1.8854e+00_rb,1.0156e+00_rb,2.9423e-02_rb/) kbo(:, 3,21, 9) = (/ & &4.8624e+00_rb,3.7359e+00_rb,2.5948e+00_rb,1.3934e+00_rb,3.5538e-02_rb/) kbo(:, 4,21, 9) = (/ & &6.5245e+00_rb,5.0095e+00_rb,3.4715e+00_rb,1.8586e+00_rb,4.1992e-02_rb/) kbo(:, 5,21, 9) = (/ & &8.5269e+00_rb,6.5419e+00_rb,4.5264e+00_rb,2.4180e+00_rb,4.9380e-02_rb/) kbo(:, 1,22, 9) = (/ & &2.2453e+00_rb,1.7353e+00_rb,1.2110e+00_rb,6.5234e-01_rb,2.1295e-02_rb/) kbo(:, 2,22, 9) = (/ & &3.1933e+00_rb,2.4664e+00_rb,1.7176e+00_rb,9.2252e-01_rb,2.6174e-02_rb/) kbo(:, 3,22, 9) = (/ & &4.4012e+00_rb,3.3958e+00_rb,2.3595e+00_rb,1.2638e+00_rb,3.1657e-02_rb/) kbo(:, 4,22, 9) = (/ & &5.8834e+00_rb,4.5350e+00_rb,3.1467e+00_rb,1.6824e+00_rb,3.7644e-02_rb/) kbo(:, 5,22, 9) = (/ & &7.6501e+00_rb,5.8912e+00_rb,4.0828e+00_rb,2.1806e+00_rb,4.4263e-02_rb/) kbo(:, 1,23, 9) = (/ & &2.0571e+00_rb,1.5967e+00_rb,1.1115e+00_rb,5.9605e-01_rb,1.8827e-02_rb/) kbo(:, 2,23, 9) = (/ & &2.9057e+00_rb,2.2535e+00_rb,1.5681e+00_rb,8.3999e-01_rb,2.3337e-02_rb/) kbo(:, 3,23, 9) = (/ & &3.9800e+00_rb,3.0833e+00_rb,2.1434e+00_rb,1.1464e+00_rb,2.8190e-02_rb/) kbo(:, 4,23, 9) = (/ & &5.2885e+00_rb,4.0922e+00_rb,2.8421e+00_rb,1.5182e+00_rb,3.3828e-02_rb/) kbo(:, 5,23, 9) = (/ & &6.8471e+00_rb,5.2918e+00_rb,3.6724e+00_rb,1.9594e+00_rb,3.9956e-02_rb/) kbo(:, 1,24, 9) = (/ & &1.9070e+00_rb,1.4857e+00_rb,1.0329e+00_rb,5.5181e-01_rb,1.6663e-02_rb/) kbo(:, 2,24, 9) = (/ & &2.6677e+00_rb,2.0773e+00_rb,1.4448e+00_rb,7.7214e-01_rb,2.0662e-02_rb/) kbo(:, 3,24, 9) = (/ & &3.6252e+00_rb,2.8187e+00_rb,1.9595e+00_rb,1.0463e+00_rb,2.5179e-02_rb/) kbo(:, 4,24, 9) = (/ & &4.7921e+00_rb,3.7213e+00_rb,2.5847e+00_rb,1.3784e+00_rb,3.0300e-02_rb/) kbo(:, 5,24, 9) = (/ & &6.1875e+00_rb,4.7981e+00_rb,3.3299e+00_rb,1.7738e+00_rb,3.5858e-02_rb/) kbo(:, 1,25, 9) = (/ & &1.7679e+00_rb,1.3823e+00_rb,9.6005e-01_rb,5.1215e-01_rb,1.4756e-02_rb/) kbo(:, 2,25, 9) = (/ & &2.4506e+00_rb,1.9149e+00_rb,1.3310e+00_rb,7.1009e-01_rb,1.8413e-02_rb/) kbo(:, 3,25, 9) = (/ & &3.3092e+00_rb,2.5821e+00_rb,1.7930e+00_rb,9.5566e-01_rb,2.2613e-02_rb/) kbo(:, 4,25, 9) = (/ & &4.3581e+00_rb,3.3956e+00_rb,2.3561e+00_rb,1.2539e+00_rb,2.7407e-02_rb/) kbo(:, 5,25, 9) = (/ & &5.6148e+00_rb,4.3684e+00_rb,3.0296e+00_rb,1.6108e+00_rb,3.2730e-02_rb/) kbo(:, 1,26, 9) = (/ & &1.6550e+00_rb,1.2970e+00_rb,8.9910e-01_rb,4.7856e-01_rb,1.3235e-02_rb/) kbo(:, 2,26, 9) = (/ & &2.2724e+00_rb,1.7804e+00_rb,1.2348e+00_rb,6.5702e-01_rb,1.6632e-02_rb/) kbo(:, 3,26, 9) = (/ & &3.0501e+00_rb,2.3862e+00_rb,1.6545e+00_rb,8.7945e-01_rb,2.0602e-02_rb/) kbo(:, 4,26, 9) = (/ & &3.9998e+00_rb,3.1253e+00_rb,2.1658e+00_rb,1.1505e+00_rb,2.5120e-02_rb/) kbo(:, 5,26, 9) = (/ & &5.1417e+00_rb,4.0125e+00_rb,2.7805e+00_rb,1.4756e+00_rb,3.0188e-02_rb/) kbo(:, 1,27, 9) = (/ & &1.5517e+00_rb,1.2181e+00_rb,8.4303e-01_rb,4.4762e-01_rb,1.1922e-02_rb/) kbo(:, 2,27, 9) = (/ & &2.1187e+00_rb,1.6625e+00_rb,1.1508e+00_rb,6.1078e-01_rb,1.5090e-02_rb/) kbo(:, 3,27, 9) = (/ & &2.8285e+00_rb,2.2174e+00_rb,1.5344e+00_rb,8.1390e-01_rb,1.8733e-02_rb/) kbo(:, 4,27, 9) = (/ & &3.6946e+00_rb,2.8938e+00_rb,2.0026e+00_rb,1.0611e+00_rb,2.2964e-02_rb/) kbo(:, 5,27, 9) = (/ & &4.7297e+00_rb,3.7026e+00_rb,2.5639e+00_rb,1.3585e+00_rb,2.7799e-02_rb/) kbo(:, 1,28, 9) = (/ & &1.4557e+00_rb,1.1450e+00_rb,7.9124e-01_rb,4.1922e-01_rb,1.0671e-02_rb/) kbo(:, 2,28, 9) = (/ & &1.9807e+00_rb,1.5572e+00_rb,1.0762e+00_rb,5.7024e-01_rb,1.3585e-02_rb/) kbo(:, 3,28, 9) = (/ & &2.6353e+00_rb,2.0694e+00_rb,1.4297e+00_rb,7.5652e-01_rb,1.7012e-02_rb/) kbo(:, 4,28, 9) = (/ & &3.4268e+00_rb,2.6900e+00_rb,1.8600e+00_rb,9.8357e-01_rb,2.1005e-02_rb/) kbo(:, 5,28, 9) = (/ & &4.3754e+00_rb,3.4337e+00_rb,2.3745e+00_rb,1.2550e+00_rb,2.5556e-02_rb/) kbo(:, 1,29, 9) = (/ & &1.3575e+00_rb,1.0707e+00_rb,7.3899e-01_rb,3.9163e-01_rb,9.5187e-03_rb/) kbo(:, 2,29, 9) = (/ & &1.8443e+00_rb,1.4534e+00_rb,1.0029e+00_rb,5.3089e-01_rb,1.2207e-02_rb/) kbo(:, 3,29, 9) = (/ & &2.4443e+00_rb,1.9245e+00_rb,1.3293e+00_rb,7.0249e-01_rb,1.5292e-02_rb/) kbo(:, 4,29, 9) = (/ & &3.1715e+00_rb,2.4958e+00_rb,1.7237e+00_rb,9.1036e-01_rb,1.8851e-02_rb/) kbo(:, 5,29, 9) = (/ & &4.0410e+00_rb,3.1790e+00_rb,2.1964e+00_rb,1.1590e+00_rb,2.3121e-02_rb/) kbo(:, 1,30, 9) = (/ & &1.2615e+00_rb,9.9705e-01_rb,6.8810e-01_rb,3.6451e-01_rb,8.4241e-03_rb/) kbo(:, 2,30, 9) = (/ & &1.7102e+00_rb,1.3510e+00_rb,9.3203e-01_rb,4.9262e-01_rb,1.0769e-02_rb/) kbo(:, 3,30, 9) = (/ & &2.2602e+00_rb,1.7845e+00_rb,1.2315e+00_rb,6.5024e-01_rb,1.3569e-02_rb/) kbo(:, 4,30, 9) = (/ & &2.9275e+00_rb,2.3103e+00_rb,1.5947e+00_rb,8.4085e-01_rb,1.6868e-02_rb/) kbo(:, 5,30, 9) = (/ & &3.7272e+00_rb,2.9401e+00_rb,2.0301e+00_rb,1.0701e+00_rb,2.0720e-02_rb/) kbo(:, 1,31, 9) = (/ & &1.1628e+00_rb,9.2130e-01_rb,6.3548e-01_rb,3.3629e-01_rb,7.3212e-03_rb/) kbo(:, 2,31, 9) = (/ & &1.5710e+00_rb,1.2442e+00_rb,8.5840e-01_rb,4.5341e-01_rb,9.4089e-03_rb/) kbo(:, 3,31, 9) = (/ & &2.0741e+00_rb,1.6418e+00_rb,1.1326e+00_rb,5.9743e-01_rb,1.1908e-02_rb/) kbo(:, 4,31, 9) = (/ & &2.6838e+00_rb,2.1236e+00_rb,1.4650e+00_rb,7.7246e-01_rb,1.4841e-02_rb/) kbo(:, 5,31, 9) = (/ & &3.4158e+00_rb,2.7036e+00_rb,1.8662e+00_rb,9.8360e-01_rb,1.8280e-02_rb/) kbo(:, 1,32, 9) = (/ & &1.0770e+00_rb,8.5530e-01_rb,5.8998e-01_rb,3.1205e-01_rb,6.3886e-03_rb/) kbo(:, 2,32, 9) = (/ & &1.4521e+00_rb,1.1529e+00_rb,7.9467e-01_rb,4.1942e-01_rb,8.2479e-03_rb/) kbo(:, 3,32, 9) = (/ & &1.9141e+00_rb,1.5187e+00_rb,1.0473e+00_rb,5.5229e-01_rb,1.0468e-02_rb/) kbo(:, 4,32, 9) = (/ & &2.4773e+00_rb,1.9665e+00_rb,1.3565e+00_rb,7.1494e-01_rb,1.3077e-02_rb/) kbo(:, 5,32, 9) = (/ & &3.1536e+00_rb,2.5044e+00_rb,1.7279e+00_rb,9.1011e-01_rb,1.6196e-02_rb/) kbo(:, 1,33, 9) = (/ & &1.0004e+00_rb,7.9686e-01_rb,5.4943e-01_rb,2.9036e-01_rb,5.6169e-03_rb/) kbo(:, 2,33, 9) = (/ & &1.3472e+00_rb,1.0720e+00_rb,7.3887e-01_rb,3.9002e-01_rb,7.2464e-03_rb/) kbo(:, 3,33, 9) = (/ & &1.7767e+00_rb,1.4145e+00_rb,9.7493e-01_rb,5.1400e-01_rb,9.1682e-03_rb/) kbo(:, 4,33, 9) = (/ & &2.3006e+00_rb,1.8321e+00_rb,1.2634e+00_rb,6.6568e-01_rb,1.1493e-02_rb/) kbo(:, 5,33, 9) = (/ & &2.9306e+00_rb,2.3339e+00_rb,1.6102e+00_rb,8.4827e-01_rb,1.4147e-02_rb/) kbo(:, 1,34, 9) = (/ & &9.3256e-01_rb,7.4416e-01_rb,5.1264e-01_rb,2.7079e-01_rb,4.9465e-03_rb/) kbo(:, 2,34, 9) = (/ & &1.2561e+00_rb,1.0020e+00_rb,6.9034e-01_rb,3.6434e-01_rb,6.3960e-03_rb/) kbo(:, 3,34, 9) = (/ & &1.6587e+00_rb,1.3239e+00_rb,9.1206e-01_rb,4.8092e-01_rb,8.1576e-03_rb/) kbo(:, 4,34, 9) = (/ & &2.1501e+00_rb,1.7167e+00_rb,1.1837e+00_rb,6.2351e-01_rb,1.0194e-02_rb/) kbo(:, 5,34, 9) = (/ & &2.7413e+00_rb,2.1905e+00_rb,1.5115e+00_rb,7.9635e-01_rb,1.2542e-02_rb/) kbo(:, 1,35, 9) = (/ & &8.4840e-01_rb,6.7846e-01_rb,4.6725e-01_rb,2.4678e-01_rb,4.2581e-03_rb/) kbo(:, 2,35, 9) = (/ & &1.1466e+00_rb,9.1713e-01_rb,6.3179e-01_rb,3.3319e-01_rb,5.5317e-03_rb/) kbo(:, 3,35, 9) = (/ & &1.5185e+00_rb,1.2151e+00_rb,8.3727e-01_rb,4.4133e-01_rb,7.0625e-03_rb/) kbo(:, 4,35, 9) = (/ & &1.9737e+00_rb,1.5810e+00_rb,1.0899e+00_rb,5.7421e-01_rb,8.8571e-03_rb/) kbo(:, 5,35, 9) = (/ & &2.5262e+00_rb,2.0251e+00_rb,1.3975e+00_rb,7.3625e-01_rb,1.0897e-02_rb/) kbo(:, 1,36, 9) = (/ & &7.5165e-01_rb,6.0226e-01_rb,4.1465e-01_rb,2.1892e-01_rb,3.5512e-03_rb/) kbo(:, 2,36, 9) = (/ & &1.0210e+00_rb,8.1866e-01_rb,5.6371e-01_rb,2.9729e-01_rb,4.6496e-03_rb/) kbo(:, 3,36, 9) = (/ & &1.3584e+00_rb,1.0902e+00_rb,7.5109e-01_rb,3.9583e-01_rb,5.9580e-03_rb/) kbo(:, 4,36, 9) = (/ & &1.7752e+00_rb,1.4261e+00_rb,9.8305e-01_rb,5.1817e-01_rb,7.4947e-03_rb/) kbo(:, 5,36, 9) = (/ & &2.2842e+00_rb,1.8370e+00_rb,1.2679e+00_rb,6.6806e-01_rb,9.2616e-03_rb/) kbo(:, 1,37, 9) = (/ & &6.4071e-01_rb,5.1457e-01_rb,3.5423e-01_rb,1.8691e-01_rb,2.9273e-03_rb/) kbo(:, 2,37, 9) = (/ & &8.7819e-01_rb,7.0566e-01_rb,4.8576e-01_rb,2.5612e-01_rb,3.8482e-03_rb/) kbo(:, 3,37, 9) = (/ & &1.1781e+00_rb,9.4755e-01_rb,6.5255e-01_rb,3.4395e-01_rb,4.9507e-03_rb/) kbo(:, 4,37, 9) = (/ & &1.5513e+00_rb,1.2498e+00_rb,8.6132e-01_rb,4.5404e-01_rb,6.2679e-03_rb/) kbo(:, 5,37, 9) = (/ & &2.0117e+00_rb,1.6227e+00_rb,1.1201e+00_rb,5.9042e-01_rb,7.7688e-03_rb/) kbo(:, 1,38, 9) = (/ & &5.4507e-01_rb,4.3885e-01_rb,3.0197e-01_rb,1.5934e-01_rb,2.3915e-03_rb/) kbo(:, 2,38, 9) = (/ & &7.5435e-01_rb,6.0772e-01_rb,4.1826e-01_rb,2.2053e-01_rb,3.1638e-03_rb/) kbo(:, 3,38, 9) = (/ & &1.0211e+00_rb,8.2323e-01_rb,5.6695e-01_rb,2.9883e-01_rb,4.0903e-03_rb/) kbo(:, 4,38, 9) = (/ & &1.3557e+00_rb,1.0950e+00_rb,7.5476e-01_rb,3.9799e-01_rb,5.2077e-03_rb/) kbo(:, 5,38, 9) = (/ & &1.7730e+00_rb,1.4345e+00_rb,9.9017e-01_rb,5.2203e-01_rb,6.5004e-03_rb/) kbo(:, 1,39, 9) = (/ & &4.6353e-01_rb,3.7406e-01_rb,2.5754e-01_rb,1.3588e-01_rb,1.9343e-03_rb/) kbo(:, 2,39, 9) = (/ & &6.4812e-01_rb,5.2360e-01_rb,3.6039e-01_rb,1.9002e-01_rb,2.5847e-03_rb/) kbo(:, 3,39, 9) = (/ & &8.8607e-01_rb,7.1665e-01_rb,4.9365e-01_rb,2.6013e-01_rb,3.3630e-03_rb/) kbo(:, 4,39, 9) = (/ & &1.1877e+00_rb,9.6199e-01_rb,6.6338e-01_rb,3.4986e-01_rb,4.2963e-03_rb/) kbo(:, 5,39, 9) = (/ & &1.5671e+00_rb,1.2712e+00_rb,8.7761e-01_rb,4.6286e-01_rb,5.3839e-03_rb/) kbo(:, 1,40, 9) = (/ & &3.8448e-01_rb,3.1107e-01_rb,2.1410e-01_rb,1.1297e-01_rb,1.5568e-03_rb/) kbo(:, 2,40, 9) = (/ & &5.4501e-01_rb,4.4126e-01_rb,3.0380e-01_rb,1.6009e-01_rb,2.1042e-03_rb/) kbo(:, 3,40, 9) = (/ & &7.5403e-01_rb,6.1132e-01_rb,4.2098e-01_rb,2.2180e-01_rb,2.7494e-03_rb/) kbo(:, 4,40, 9) = (/ & &1.0220e+00_rb,8.2995e-01_rb,5.7215e-01_rb,3.0165e-01_rb,3.5443e-03_rb/) kbo(:, 5,40, 9) = (/ & &1.3627e+00_rb,1.1080e+00_rb,7.6492e-01_rb,4.0348e-01_rb,4.4643e-03_rb/) kbo(:, 1,41, 9) = (/ & &3.1745e-01_rb,2.5733e-01_rb,1.7713e-01_rb,9.3436e-02_rb,1.2472e-03_rb/) kbo(:, 2,41, 9) = (/ & &4.5638e-01_rb,3.7042e-01_rb,2.5491e-01_rb,1.3436e-01_rb,1.6993e-03_rb/) kbo(:, 3,41, 9) = (/ & &6.3982e-01_rb,5.1972e-01_rb,3.5784e-01_rb,1.8851e-01_rb,2.2393e-03_rb/) kbo(:, 4,41, 9) = (/ & &8.7763e-01_rb,7.1397e-01_rb,4.9232e-01_rb,2.5948e-01_rb,2.9086e-03_rb/) kbo(:, 5,41, 9) = (/ & &1.1829e+00_rb,9.6420e-01_rb,6.6569e-01_rb,3.5114e-01_rb,3.6948e-03_rb/) kbo(:, 1,42, 9) = (/ & &2.6148e-01_rb,2.1244e-01_rb,1.4620e-01_rb,7.7106e-02_rb,9.9249e-04_rb/) kbo(:, 2,42, 9) = (/ & &3.8152e-01_rb,3.1036e-01_rb,2.1367e-01_rb,1.1258e-01_rb,1.3669e-03_rb/) kbo(:, 3,42, 9) = (/ & &5.4219e-01_rb,4.4152e-01_rb,3.0416e-01_rb,1.6017e-01_rb,1.8223e-03_rb/) kbo(:, 4,42, 9) = (/ & &7.5310e-01_rb,6.1412e-01_rb,4.2345e-01_rb,2.2321e-01_rb,2.3766e-03_rb/) kbo(:, 5,42, 9) = (/ & &1.0272e+00_rb,8.3945e-01_rb,5.7960e-01_rb,3.0577e-01_rb,3.0463e-03_rb/) kbo(:, 1,43, 9) = (/ & &2.1184e-01_rb,1.7233e-01_rb,1.1866e-01_rb,6.2577e-02_rb,7.7589e-04_rb/) kbo(:, 2,43, 9) = (/ & &3.1451e-01_rb,2.5652e-01_rb,1.7660e-01_rb,9.2987e-02_rb,1.0831e-03_rb/) kbo(:, 3,43, 9) = (/ & &4.5438e-01_rb,3.7074e-01_rb,2.5543e-01_rb,1.3448e-01_rb,1.4611e-03_rb/) kbo(:, 4,43, 9) = (/ & &6.4007e-01_rb,5.2328e-01_rb,3.6079e-01_rb,1.9007e-01_rb,1.9178e-03_rb/) kbo(:, 5,43, 9) = (/ & &8.8479e-01_rb,7.2477e-01_rb,5.0046e-01_rb,2.6398e-01_rb,2.4774e-03_rb/) kbo(:, 1,44, 9) = (/ & &1.6982e-01_rb,1.3846e-01_rb,9.5299e-02_rb,5.0248e-02_rb,5.9857e-04_rb/) kbo(:, 2,44, 9) = (/ & &2.5706e-01_rb,2.1005e-01_rb,1.4462e-01_rb,7.6126e-02_rb,8.4785e-04_rb/) kbo(:, 3,44, 9) = (/ & &3.7786e-01_rb,3.0904e-01_rb,2.1286e-01_rb,1.1204e-01_rb,1.1605e-03_rb/) kbo(:, 4,44, 9) = (/ & &5.4071e-01_rb,4.4303e-01_rb,3.0555e-01_rb,1.6090e-01_rb,1.5453e-03_rb/) kbo(:, 5,44, 9) = (/ & &7.5841e-01_rb,6.2258e-01_rb,4.2996e-01_rb,2.2675e-01_rb,1.9959e-03_rb/) kbo(:, 1,45, 9) = (/ & &1.3545e-01_rb,1.1062e-01_rb,7.6155e-02_rb,4.0151e-02_rb,4.5711e-04_rb/) kbo(:, 2,45, 9) = (/ & &2.0919e-01_rb,1.7120e-01_rb,1.1790e-01_rb,6.2073e-02_rb,6.5798e-04_rb/) kbo(:, 3,45, 9) = (/ & &3.1316e-01_rb,2.5663e-01_rb,1.7679e-01_rb,9.2995e-02_rb,9.1164e-04_rb/) kbo(:, 4,45, 9) = (/ & &4.5567e-01_rb,3.7416e-01_rb,2.5813e-01_rb,1.3590e-01_rb,1.2287e-03_rb/) kbo(:, 5,45, 9) = (/ & &6.4919e-01_rb,5.3401e-01_rb,3.6882e-01_rb,1.9448e-01_rb,1.6029e-03_rb/) kbo(:, 1,46, 9) = (/ & &1.0668e-01_rb,8.7165e-02_rb,6.0007e-02_rb,3.1628e-02_rb,3.4444e-04_rb/) kbo(:, 2,46, 9) = (/ & &1.6793e-01_rb,1.3770e-01_rb,9.4805e-02_rb,4.9929e-02_rb,5.0372e-04_rb/) kbo(:, 3,46, 9) = (/ & &2.5640e-01_rb,2.1057e-01_rb,1.4511e-01_rb,7.6324e-02_rb,7.0786e-04_rb/) kbo(:, 4,46, 9) = (/ & &3.8014e-01_rb,3.1276e-01_rb,2.1587e-01_rb,1.1362e-01_rb,9.6784e-04_rb/) kbo(:, 5,46, 9) = (/ & &5.5078e-01_rb,4.5406e-01_rb,3.1364e-01_rb,1.6534e-01_rb,1.2803e-03_rb/) kbo(:, 1,47, 9) = (/ & &8.2159e-02_rb,6.7194e-02_rb,4.6255e-02_rb,2.4369e-02_rb,2.5696e-04_rb/) kbo(:, 2,47, 9) = (/ & &1.3183e-01_rb,1.0829e-01_rb,7.4558e-02_rb,3.9260e-02_rb,3.8064e-04_rb/) kbo(:, 3,47, 9) = (/ & &2.0579e-01_rb,1.6932e-01_rb,1.1664e-01_rb,6.1365e-02_rb,5.4299e-04_rb/) kbo(:, 4,47, 9) = (/ & &3.1127e-01_rb,2.5673e-01_rb,1.7713e-01_rb,9.3234e-02_rb,7.5354e-04_rb/) kbo(:, 5,47, 9) = (/ & &4.5944e-01_rb,3.7947e-01_rb,2.6220e-01_rb,1.3818e-01_rb,1.0123e-03_rb/) kbo(:, 1,48, 9) = (/ & &6.2805e-02_rb,5.1372e-02_rb,3.5337e-02_rb,1.8627e-02_rb,1.8799e-04_rb/) kbo(:, 2,48, 9) = (/ & &1.0282e-01_rb,8.4440e-02_rb,5.8150e-02_rb,3.0624e-02_rb,2.8497e-04_rb/) kbo(:, 3,48, 9) = (/ & &1.6397e-01_rb,1.3516e-01_rb,9.3148e-02_rb,4.8994e-02_rb,4.1296e-04_rb/) kbo(:, 4,48, 9) = (/ & &2.5353e-01_rb,2.0948e-01_rb,1.4454e-01_rb,7.6030e-02_rb,5.7970e-04_rb/) kbo(:, 5,48, 9) = (/ & &3.8151e-01_rb,3.1578e-01_rb,2.1823e-01_rb,1.1499e-01_rb,7.9062e-04_rb/) kbo(:, 1,49, 9) = (/ & &4.7675e-02_rb,3.9033e-02_rb,2.6875e-02_rb,1.4167e-02_rb,1.3591e-04_rb/) kbo(:, 2,49, 9) = (/ & &7.9683e-02_rb,6.5540e-02_rb,4.5120e-02_rb,2.3756e-02_rb,2.0952e-04_rb/) kbo(:, 3,49, 9) = (/ & &1.2966e-01_rb,1.0708e-01_rb,7.3804e-02_rb,3.8837e-02_rb,3.0991e-04_rb/) kbo(:, 4,49, 9) = (/ & &2.0506e-01_rb,1.6980e-01_rb,1.1714e-01_rb,6.1628e-02_rb,4.4095e-04_rb/) kbo(:, 5,49, 9) = (/ & &3.1515e-01_rb,2.6147e-01_rb,1.8074e-01_rb,9.5226e-02_rb,6.0820e-04_rb/) kbo(:, 1,50, 9) = (/ & &3.6548e-02_rb,2.9943e-02_rb,2.0610e-02_rb,1.0865e-02_rb,9.9917e-05_rb/) kbo(:, 2,50, 9) = (/ & &6.2279e-02_rb,5.1209e-02_rb,3.5254e-02_rb,1.8566e-02_rb,1.5653e-04_rb/) kbo(:, 3,50, 9) = (/ & &1.0318e-01_rb,8.5332e-02_rb,5.8808e-02_rb,3.0962e-02_rb,2.3703e-04_rb/) kbo(:, 4,50, 9) = (/ & &1.6688e-01_rb,1.3839e-01_rb,9.5487e-02_rb,5.0236e-02_rb,3.4171e-04_rb/) kbo(:, 5,50, 9) = (/ & &2.6185e-01_rb,2.1767e-01_rb,1.5045e-01_rb,7.9263e-02_rb,4.7617e-04_rb/) kbo(:, 1,51, 9) = (/ & &2.7952e-02_rb,2.2969e-02_rb,1.5811e-02_rb,8.3417e-03_rb,7.4671e-05_rb/) kbo(:, 2,51, 9) = (/ & &4.8817e-02_rb,4.0171e-02_rb,2.7641e-02_rb,1.4555e-02_rb,1.1814e-04_rb/) kbo(:, 3,51, 9) = (/ & &8.2508e-02_rb,6.8219e-02_rb,4.6983e-02_rb,2.4707e-02_rb,1.8096e-04_rb/) kbo(:, 4,51, 9) = (/ & &1.3588e-01_rb,1.1285e-01_rb,7.7859e-02_rb,4.0970e-02_rb,2.6754e-04_rb/) kbo(:, 5,51, 9) = (/ & &2.1776e-01_rb,1.8131e-01_rb,1.2532e-01_rb,6.5999e-02_rb,3.7856e-04_rb/) kbo(:, 1,52, 9) = (/ & &2.1199e-02_rb,1.7459e-02_rb,1.2025e-02_rb,6.3452e-03_rb,5.5107e-05_rb/) kbo(:, 2,52, 9) = (/ & &3.8088e-02_rb,3.1354e-02_rb,2.1571e-02_rb,1.1353e-02_rb,8.8069e-05_rb/) kbo(:, 3,52, 9) = (/ & &6.5619e-02_rb,5.4321e-02_rb,3.7416e-02_rb,1.9692e-02_rb,1.3680e-04_rb/) kbo(:, 4,52, 9) = (/ & &1.1018e-01_rb,9.1593e-02_rb,6.3191e-02_rb,3.3254e-02_rb,2.0641e-04_rb/) kbo(:, 5,52, 9) = (/ & &1.8039e-01_rb,1.5044e-01_rb,1.0398e-01_rb,5.4762e-02_rb,2.9766e-04_rb/) kbo(:, 1,53, 9) = (/ & &1.5917e-02_rb,1.3124e-02_rb,9.0469e-03_rb,4.7728e-03_rb,4.0227e-05_rb/) kbo(:, 2,53, 9) = (/ & &2.9453e-02_rb,2.4295e-02_rb,1.6728e-02_rb,8.8064e-03_rb,6.5428e-05_rb/) kbo(:, 3,53, 9) = (/ & &5.2020e-02_rb,4.3058e-02_rb,2.9653e-02_rb,1.5599e-02_rb,1.0270e-04_rb/) kbo(:, 4,53, 9) = (/ & &8.9031e-02_rb,7.3955e-02_rb,5.0990e-02_rb,2.6843e-02_rb,1.5632e-04_rb/) kbo(:, 5,53, 9) = (/ & &1.4878e-01_rb,1.2427e-01_rb,8.5889e-02_rb,4.5242e-02_rb,2.3095e-04_rb/) kbo(:, 1,54, 9) = (/ & &1.2118e-02_rb,1.0014e-02_rb,6.9093e-03_rb,3.6479e-03_rb,3.0413e-05_rb/) kbo(:, 2,54, 9) = (/ & &2.3157e-02_rb,1.9122e-02_rb,1.3172e-02_rb,6.9364e-03_rb,5.0720e-05_rb/) kbo(:, 3,54, 9) = (/ & &4.1929e-02_rb,3.4711e-02_rb,2.3913e-02_rb,1.2578e-02_rb,8.0499e-05_rb/) kbo(:, 4,54, 9) = (/ & &7.3182e-02_rb,6.0821e-02_rb,4.1911e-02_rb,2.2054e-02_rb,1.2452e-04_rb/) kbo(:, 5,54, 9) = (/ & &1.2434e-01_rb,1.0391e-01_rb,7.1807e-02_rb,3.7810e-02_rb,1.8706e-04_rb/) kbo(:, 1,55, 9) = (/ & &9.2663e-03_rb,7.6785e-03_rb,5.3030e-03_rb,2.7962e-03_rb,2.3331e-05_rb/) kbo(:, 2,55, 9) = (/ & &1.8303e-02_rb,1.5169e-02_rb,1.0453e-02_rb,5.5039e-03_rb,4.0062e-05_rb/) kbo(:, 3,55, 9) = (/ & &3.4131e-02_rb,2.8258e-02_rb,1.9454e-02_rb,1.0230e-02_rb,6.4887e-05_rb/) kbo(:, 4,55, 9) = (/ & &6.0672e-02_rb,5.0398e-02_rb,3.4733e-02_rb,1.8270e-02_rb,1.0169e-04_rb/) kbo(:, 5,55, 9) = (/ & &1.0468e-01_rb,8.7488e-02_rb,6.0450e-02_rb,3.1810e-02_rb,1.5537e-04_rb/) kbo(:, 1,56, 9) = (/ & &7.0383e-03_rb,5.8452e-03_rb,4.0381e-03_rb,2.1288e-03_rb,1.7811e-05_rb/) kbo(:, 2,56, 9) = (/ & &1.4408e-02_rb,1.1966e-02_rb,8.2523e-03_rb,4.3448e-03_rb,3.1488e-05_rb/) kbo(:, 3,56, 9) = (/ & &2.7695e-02_rb,2.2953e-02_rb,1.5811e-02_rb,8.3080e-03_rb,5.2239e-05_rb/) kbo(:, 4,56, 9) = (/ & &5.0327e-02_rb,4.1815e-02_rb,2.8827e-02_rb,1.5149e-02_rb,8.2952e-05_rb/) kbo(:, 5,56, 9) = (/ & &8.8477e-02_rb,7.3786e-02_rb,5.0905e-02_rb,2.6783e-02_rb,1.2900e-04_rb/) kbo(:, 1,57, 9) = (/ & &5.2984e-03_rb,4.4048e-03_rb,3.0442e-03_rb,1.6062e-03_rb,1.3485e-05_rb/) kbo(:, 2,57, 9) = (/ & &1.1277e-02_rb,9.3839e-03_rb,6.4745e-03_rb,3.4126e-03_rb,2.4664e-05_rb/) kbo(:, 3,57, 9) = (/ & &2.2383e-02_rb,1.8598e-02_rb,1.2810e-02_rb,6.7278e-03_rb,4.2073e-05_rb/) kbo(:, 4,57, 9) = (/ & &4.1793e-02_rb,3.4722e-02_rb,2.3901e-02_rb,1.2561e-02_rb,6.8099e-05_rb/) kbo(:, 5,57, 9) = (/ & &7.4879e-02_rb,6.2449e-02_rb,4.3075e-02_rb,2.2643e-02_rb,1.0701e-04_rb/) kbo(:, 1,58, 9) = (/ & &1.9422e-03_rb,1.8562e-03_rb,1.5070e-03_rb,9.6178e-04_rb,1.0242e-05_rb/) kbo(:, 2,58, 9) = (/ & &4.2963e-03_rb,4.1126e-03_rb,3.3378e-03_rb,2.1278e-03_rb,1.9475e-05_rb/) kbo(:, 3,58, 9) = (/ & &8.8321e-03_rb,8.4312e-03_rb,6.8267e-03_rb,4.3437e-03_rb,3.4347e-05_rb/) kbo(:, 4,58, 9) = (/ & &1.7006e-02_rb,1.6220e-02_rb,1.3112e-02_rb,8.3245e-03_rb,5.6453e-05_rb/) kbo(:, 5,58, 9) = (/ & &3.1001e-02_rb,2.9664e-02_rb,2.4013e-02_rb,1.5274e-02_rb,9.0315e-05_rb/) kbo(:, 1,59, 9) = (/ & &1.6680e-03_rb,1.5995e-03_rb,1.3049e-03_rb,8.3836e-04_rb,9.2179e-06_rb/) kbo(:, 2,59, 9) = (/ & &3.7712e-03_rb,3.6258e-03_rb,2.9561e-03_rb,1.8979e-03_rb,1.8017e-05_rb/) kbo(:, 3,59, 9) = (/ & &7.9144e-03_rb,7.6082e-03_rb,6.1886e-03_rb,3.9647e-03_rb,3.2435e-05_rb/) kbo(:, 4,59, 9) = (/ & &1.5562e-02_rb,1.4917e-02_rb,1.2127e-02_rb,7.7579e-03_rb,5.4862e-05_rb/) kbo(:, 5,59, 9) = (/ & &2.8789e-02_rb,2.7607e-02_rb,2.2446e-02_rb,1.4356e-02_rb,8.9155e-05_rb/) kbo(:, 1,13,10) = (/ & &3.5965e+01_rb,2.6975e+01_rb,1.7984e+01_rb,9.0232e+00_rb,2.4705e-01_rb/) kbo(:, 2,13,10) = (/ & &5.0800e+01_rb,3.8101e+01_rb,2.5403e+01_rb,1.2739e+01_rb,2.8941e-01_rb/) kbo(:, 3,13,10) = (/ & &6.8409e+01_rb,5.1309e+01_rb,3.4208e+01_rb,1.7156e+01_rb,3.3771e-01_rb/) kbo(:, 4,13,10) = (/ & &8.8981e+01_rb,6.6739e+01_rb,4.4497e+01_rb,2.2337e+01_rb,3.9418e-01_rb/) kbo(:, 5,13,10) = (/ & &1.1252e+02_rb,8.4389e+01_rb,5.6260e+01_rb,2.8284e+01_rb,4.6348e-01_rb/) kbo(:, 1,14,10) = (/ & &3.4773e+01_rb,2.6079e+01_rb,1.7386e+01_rb,8.7850e+00_rb,2.3514e-01_rb/) kbo(:, 2,14,10) = (/ & &4.8754e+01_rb,3.6565e+01_rb,2.4376e+01_rb,1.2316e+01_rb,2.9035e-01_rb/) kbo(:, 3,14,10) = (/ & &6.5535e+01_rb,4.9151e+01_rb,3.2769e+01_rb,1.6566e+01_rb,3.5401e-01_rb/) kbo(:, 4,14,10) = (/ & &8.5152e+01_rb,6.3871e+01_rb,4.2583e+01_rb,2.1543e+01_rb,4.0952e-01_rb/) kbo(:, 5,14,10) = (/ & &1.0714e+02_rb,8.0354e+01_rb,5.3570e+01_rb,2.7127e+01_rb,4.6861e-01_rb/) kbo(:, 1,15,10) = (/ & &3.1708e+01_rb,2.3780e+01_rb,1.5854e+01_rb,8.0780e+00_rb,2.2725e-01_rb/) kbo(:, 2,15,10) = (/ & &4.4299e+01_rb,3.3227e+01_rb,2.2149e+01_rb,1.1301e+01_rb,2.7237e-01_rb/) kbo(:, 3,15,10) = (/ & &5.9451e+01_rb,4.4587e+01_rb,2.9727e+01_rb,1.5175e+01_rb,3.1480e-01_rb/) kbo(:, 4,15,10) = (/ & &7.6914e+01_rb,5.7688e+01_rb,3.8460e+01_rb,1.9633e+01_rb,3.5895e-01_rb/) kbo(:, 5,15,10) = (/ & &9.6187e+01_rb,7.2137e+01_rb,4.8097e+01_rb,2.4537e+01_rb,4.0136e-01_rb/) kbo(:, 1,16,10) = (/ & &2.8000e+01_rb,2.1001e+01_rb,1.4008e+01_rb,7.1879e+00_rb,1.8684e-01_rb/) kbo(:, 2,16,10) = (/ & &3.8983e+01_rb,2.9238e+01_rb,1.9500e+01_rb,1.0007e+01_rb,2.3111e-01_rb/) kbo(:, 3,16,10) = (/ & &5.2090e+01_rb,3.9071e+01_rb,2.6063e+01_rb,1.3380e+01_rb,2.7168e-01_rb/) kbo(:, 4,16,10) = (/ & &6.6962e+01_rb,5.0223e+01_rb,3.3517e+01_rb,1.7217e+01_rb,3.1091e-01_rb/) kbo(:, 5,16,10) = (/ & &8.3570e+01_rb,6.2687e+01_rb,4.1858e+01_rb,2.1531e+01_rb,3.6276e-01_rb/) kbo(:, 1,17,10) = (/ & &2.4264e+01_rb,1.8198e+01_rb,1.2195e+01_rb,6.2664e+00_rb,1.7021e-01_rb/) kbo(:, 2,17,10) = (/ & &3.3645e+01_rb,2.5234e+01_rb,1.6913e+01_rb,8.7049e+00_rb,1.9751e-01_rb/) kbo(:, 3,17,10) = (/ & &4.4643e+01_rb,3.3486e+01_rb,2.2452e+01_rb,1.1586e+01_rb,2.2201e-01_rb/) kbo(:, 4,17,10) = (/ & &5.7207e+01_rb,4.2902e+01_rb,2.8791e+01_rb,1.4899e+01_rb,2.5554e-01_rb/) kbo(:, 5,17,10) = (/ & &7.1193e+01_rb,5.3402e+01_rb,3.5856e+01_rb,1.8608e+01_rb,2.9547e-01_rb/) kbo(:, 1,18,10) = (/ & &2.0477e+01_rb,1.5356e+01_rb,1.0367e+01_rb,5.3622e+00_rb,1.3534e-01_rb/) kbo(:, 2,18,10) = (/ & &2.8178e+01_rb,2.1132e+01_rb,1.4278e+01_rb,7.4149e+00_rb,1.5634e-01_rb/) kbo(:, 3,18,10) = (/ & &3.7210e+01_rb,2.7911e+01_rb,1.8862e+01_rb,9.8384e+00_rb,1.8020e-01_rb/) kbo(:, 4,18,10) = (/ & &4.7546e+01_rb,3.5659e+01_rb,2.4100e+01_rb,1.2600e+01_rb,2.1507e-01_rb/) kbo(:, 5,18,10) = (/ & &5.8973e+01_rb,4.4229e+01_rb,2.9880e+01_rb,1.5650e+01_rb,2.3467e-01_rb/) kbo(:, 1,19,10) = (/ & &1.7373e+01_rb,1.3040e+01_rb,8.8390e+00_rb,4.6588e+00_rb,1.1972e-01_rb/) kbo(:, 2,19,10) = (/ & &2.3793e+01_rb,1.7857e+01_rb,1.2109e+01_rb,6.3963e+00_rb,1.3774e-01_rb/) kbo(:, 3,19,10) = (/ & &3.1336e+01_rb,2.3520e+01_rb,1.5961e+01_rb,8.4390e+00_rb,1.6091e-01_rb/) kbo(:, 4,19,10) = (/ & &3.9866e+01_rb,2.9935e+01_rb,2.0331e+01_rb,1.0756e+01_rb,1.7955e-01_rb/) kbo(:, 5,19,10) = (/ & &4.9495e+01_rb,3.7175e+01_rb,2.5257e+01_rb,1.3339e+01_rb,2.0663e-01_rb/) kbo(:, 1,20,10) = (/ & &1.5037e+01_rb,1.1322e+01_rb,7.6844e+00_rb,4.1127e+00_rb,1.0485e-01_rb/) kbo(:, 2,20,10) = (/ & &2.0515e+01_rb,1.5450e+01_rb,1.0499e+01_rb,5.6182e+00_rb,1.2148e-01_rb/) kbo(:, 3,20,10) = (/ & &2.6886e+01_rb,2.0252e+01_rb,1.3792e+01_rb,7.3741e+00_rb,1.4561e-01_rb/) kbo(:, 4,20,10) = (/ & &3.4287e+01_rb,2.5832e+01_rb,1.7615e+01_rb,9.3860e+00_rb,1.6294e-01_rb/) kbo(:, 5,20,10) = (/ & &4.2841e+01_rb,3.2278e+01_rb,2.2023e+01_rb,1.1711e+01_rb,1.8624e-01_rb/) kbo(:, 1,21,10) = (/ & &1.3152e+01_rb,9.9438e+00_rb,6.7780e+00_rb,3.6471e+00_rb,9.1853e-02_rb/) kbo(:, 2,21,10) = (/ & &1.7866e+01_rb,1.3511e+01_rb,9.2298e+00_rb,4.9595e+00_rb,1.1141e-01_rb/) kbo(:, 3,21,10) = (/ & &2.3469e+01_rb,1.7747e+01_rb,1.2135e+01_rb,6.5086e+00_rb,1.2785e-01_rb/) kbo(:, 4,21,10) = (/ & &3.0120e+01_rb,2.2761e+01_rb,1.5567e+01_rb,8.3305e+00_rb,1.5176e-01_rb/) kbo(:, 5,21,10) = (/ & &3.7884e+01_rb,2.8609e+01_rb,1.9560e+01_rb,1.0448e+01_rb,1.7309e-01_rb/) kbo(:, 1,22,10) = (/ & &1.1757e+01_rb,8.9118e+00_rb,6.1382e+00_rb,3.3115e+00_rb,8.1057e-02_rb/) kbo(:, 2,22,10) = (/ & &1.5980e+01_rb,1.2109e+01_rb,8.3336e+00_rb,4.4832e+00_rb,9.8906e-02_rb/) kbo(:, 3,22,10) = (/ & &2.1108e+01_rb,1.5991e+01_rb,1.0992e+01_rb,5.8971e+00_rb,1.1586e-01_rb/) kbo(:, 4,22,10) = (/ & &2.7285e+01_rb,2.0659e+01_rb,1.4174e+01_rb,7.5863e+00_rb,1.3507e-01_rb/) kbo(:, 5,22,10) = (/ & &3.4676e+01_rb,2.6248e+01_rb,1.7966e+01_rb,9.5810e+00_rb,1.5851e-01_rb/) kbo(:, 1,23,10) = (/ & &1.0481e+01_rb,7.9685e+00_rb,5.5490e+00_rb,2.9996e+00_rb,7.4309e-02_rb/) kbo(:, 2,23,10) = (/ & &1.4420e+01_rb,1.0955e+01_rb,7.5878e+00_rb,4.0805e+00_rb,8.6253e-02_rb/) kbo(:, 3,23,10) = (/ & &1.9219e+01_rb,1.4600e+01_rb,1.0073e+01_rb,5.3977e+00_rb,1.0580e-01_rb/) kbo(:, 4,23,10) = (/ & &2.5108e+01_rb,1.9069e+01_rb,1.3115e+01_rb,7.0020e+00_rb,1.2265e-01_rb/) kbo(:, 5,23,10) = (/ & &3.2043e+01_rb,2.4337e+01_rb,1.6704e+01_rb,8.8942e+00_rb,1.4381e-01_rb/) kbo(:, 1,24,10) = (/ & &9.5276e+00_rb,7.2768e+00_rb,5.0826e+00_rb,2.7465e+00_rb,6.4655e-02_rb/) kbo(:, 2,24,10) = (/ & &1.3271e+01_rb,1.0121e+01_rb,7.0214e+00_rb,3.7657e+00_rb,7.9291e-02_rb/) kbo(:, 3,24,10) = (/ & &1.7863e+01_rb,1.3622e+01_rb,9.4201e+00_rb,5.0307e+00_rb,9.5461e-02_rb/) kbo(:, 4,24,10) = (/ & &2.3325e+01_rb,1.7783e+01_rb,1.2273e+01_rb,6.5420e+00_rb,1.1274e-01_rb/) kbo(:, 5,24,10) = (/ & &2.9564e+01_rb,2.2536e+01_rb,1.5537e+01_rb,8.2816e+00_rb,1.3418e-01_rb/) kbo(:, 1,25,10) = (/ & &8.8160e+00_rb,6.7673e+00_rb,4.7220e+00_rb,2.5379e+00_rb,5.8489e-02_rb/) kbo(:, 2,25,10) = (/ & &1.2357e+01_rb,9.4685e+00_rb,6.5735e+00_rb,3.5130e+00_rb,7.2064e-02_rb/) kbo(:, 3,25,10) = (/ & &1.6557e+01_rb,1.2678e+01_rb,8.7976e+00_rb,4.6917e+00_rb,8.6281e-02_rb/) kbo(:, 4,25,10) = (/ & &2.1444e+01_rb,1.6408e+01_rb,1.1376e+01_rb,6.0717e+00_rb,1.0416e-01_rb/) kbo(:, 5,25,10) = (/ & &2.7072e+01_rb,2.0703e+01_rb,1.4347e+01_rb,7.6551e+00_rb,1.2572e-01_rb/) kbo(:, 1,26,10) = (/ & &8.2437e+00_rb,6.3645e+00_rb,4.4442e+00_rb,2.3799e+00_rb,5.3046e-02_rb/) kbo(:, 2,26,10) = (/ & &1.1483e+01_rb,8.8437e+00_rb,6.1605e+00_rb,3.2883e+00_rb,6.5278e-02_rb/) kbo(:, 3,26,10) = (/ & &1.5261e+01_rb,1.1739e+01_rb,8.1695e+00_rb,4.3593e+00_rb,8.0191e-02_rb/) kbo(:, 4,26,10) = (/ & &1.9700e+01_rb,1.5135e+01_rb,1.0534e+01_rb,5.6197e+00_rb,9.7601e-02_rb/) kbo(:, 5,26,10) = (/ & &2.4857e+01_rb,1.9072e+01_rb,1.3248e+01_rb,7.0653e+00_rb,1.1704e-01_rb/) kbo(:, 1,27,10) = (/ & &7.7081e+00_rb,5.9885e+00_rb,4.1814e+00_rb,2.2306e+00_rb,4.7409e-02_rb/) kbo(:, 2,27,10) = (/ & &1.0576e+01_rb,8.1915e+00_rb,5.7182e+00_rb,3.0504e+00_rb,5.8512e-02_rb/) kbo(:, 3,27,10) = (/ & &1.4014e+01_rb,1.0837e+01_rb,7.5629e+00_rb,4.0315e+00_rb,7.3955e-02_rb/) kbo(:, 4,27,10) = (/ & &1.8113e+01_rb,1.3973e+01_rb,9.7390e+00_rb,5.1847e+00_rb,9.0794e-02_rb/) kbo(:, 5,27,10) = (/ & &2.2862e+01_rb,1.7593e+01_rb,1.2246e+01_rb,6.5228e+00_rb,1.0871e-01_rb/) kbo(:, 1,28,10) = (/ & &7.2063e+00_rb,5.6196e+00_rb,3.9203e+00_rb,2.0882e+00_rb,4.3129e-02_rb/) kbo(:, 2,28,10) = (/ & &9.7817e+00_rb,7.6085e+00_rb,5.3084e+00_rb,2.8196e+00_rb,5.4812e-02_rb/) kbo(:, 3,28,10) = (/ & &1.2904e+01_rb,1.0029e+01_rb,7.0025e+00_rb,3.7236e+00_rb,6.8395e-02_rb/) kbo(:, 4,28,10) = (/ & &1.6696e+01_rb,1.2935e+01_rb,9.0135e+00_rb,4.7943e+00_rb,8.2716e-02_rb/) kbo(:, 5,28,10) = (/ & &2.1096e+01_rb,1.6309e+01_rb,1.1368e+01_rb,6.0506e+00_rb,9.9935e-02_rb/) kbo(:, 1,29,10) = (/ & &6.7278e+00_rb,5.2636e+00_rb,3.6717e+00_rb,1.9437e+00_rb,3.9266e-02_rb/) kbo(:, 2,29,10) = (/ & &9.0515e+00_rb,7.0710e+00_rb,4.9355e+00_rb,2.6130e+00_rb,4.9834e-02_rb/) kbo(:, 3,29,10) = (/ & &1.1919e+01_rb,9.2978e+00_rb,6.4770e+00_rb,3.4412e+00_rb,6.2077e-02_rb/) kbo(:, 4,29,10) = (/ & &1.5380e+01_rb,1.1978e+01_rb,8.3499e+00_rb,4.4362e+00_rb,7.6798e-02_rb/) kbo(:, 5,29,10) = (/ & &1.9420e+01_rb,1.5097e+01_rb,1.0536e+01_rb,5.6045e+00_rb,9.1669e-02_rb/) kbo(:, 1,30,10) = (/ & &6.2882e+00_rb,4.9355e+00_rb,3.4323e+00_rb,1.8115e+00_rb,3.5713e-02_rb/) kbo(:, 2,30,10) = (/ & &8.4169e+00_rb,6.5906e+00_rb,4.5841e+00_rb,2.4262e+00_rb,4.5752e-02_rb/) kbo(:, 3,30,10) = (/ & &1.1024e+01_rb,8.6363e+00_rb,6.0145e+00_rb,3.1864e+00_rb,5.7473e-02_rb/) kbo(:, 4,30,10) = (/ & &1.4192e+01_rb,1.1103e+01_rb,7.7439e+00_rb,4.1120e+00_rb,7.0729e-02_rb/) kbo(:, 5,30,10) = (/ & &1.7890e+01_rb,1.3978e+01_rb,9.7651e+00_rb,5.1860e+00_rb,8.5534e-02_rb/) kbo(:, 1,31,10) = (/ & &5.8439e+00_rb,4.6051e+00_rb,3.1957e+00_rb,1.6863e+00_rb,3.2654e-02_rb/) kbo(:, 2,31,10) = (/ & &7.8033e+00_rb,6.1378e+00_rb,4.2622e+00_rb,2.2515e+00_rb,4.2183e-02_rb/) kbo(:, 3,31,10) = (/ & &1.0196e+01_rb,8.0235e+00_rb,5.5836e+00_rb,2.9533e+00_rb,5.3011e-02_rb/) kbo(:, 4,31,10) = (/ & &1.3072e+01_rb,1.0286e+01_rb,7.1778e+00_rb,3.8005e+00_rb,6.4875e-02_rb/) kbo(:, 5,31,10) = (/ & &1.6463e+01_rb,1.2924e+01_rb,9.0292e+00_rb,4.7849e+00_rb,7.7772e-02_rb/) kbo(:, 1,32,10) = (/ & &5.4664e+00_rb,4.3291e+00_rb,2.9999e+00_rb,1.5808e+00_rb,2.9923e-02_rb/) kbo(:, 2,32,10) = (/ & &7.2874e+00_rb,5.7710e+00_rb,4.0068e+00_rb,2.1122e+00_rb,3.8267e-02_rb/) kbo(:, 3,32,10) = (/ & &9.5041e+00_rb,7.5231e+00_rb,5.2374e+00_rb,2.7661e+00_rb,4.7331e-02_rb/) kbo(:, 4,32,10) = (/ & &1.2176e+01_rb,9.6156e+00_rb,6.7066e+00_rb,3.5449e+00_rb,5.8625e-02_rb/) kbo(:, 5,32,10) = (/ & &1.5322e+01_rb,1.2084e+01_rb,8.4483e+00_rb,4.4709e+00_rb,6.9340e-02_rb/) kbo(:, 1,33,10) = (/ & &5.1512e+00_rb,4.0967e+00_rb,2.8362e+00_rb,1.4933e+00_rb,2.6393e-02_rb/) kbo(:, 2,33,10) = (/ & &6.8599e+00_rb,5.4552e+00_rb,3.7902e+00_rb,1.9993e+00_rb,3.4040e-02_rb/) kbo(:, 3,33,10) = (/ & &8.9395e+00_rb,7.1038e+00_rb,4.9489e+00_rb,2.6104e+00_rb,4.2820e-02_rb/) kbo(:, 4,33,10) = (/ & &1.1449e+01_rb,9.0816e+00_rb,6.3367e+00_rb,3.3421e+00_rb,5.1919e-02_rb/) kbo(:, 5,33,10) = (/ & &1.4423e+01_rb,1.1426e+01_rb,7.9850e+00_rb,4.2179e+00_rb,6.2402e-02_rb/) kbo(:, 1,34,10) = (/ & &4.8646e+00_rb,3.8880e+00_rb,2.6932e+00_rb,1.4194e+00_rb,2.3781e-02_rb/) kbo(:, 2,34,10) = (/ & &6.4672e+00_rb,5.1782e+00_rb,3.6018e+00_rb,1.8962e+00_rb,3.0492e-02_rb/) kbo(:, 3,34,10) = (/ & &8.4535e+00_rb,6.7497e+00_rb,4.7054e+00_rb,2.4770e+00_rb,3.8339e-02_rb/) kbo(:, 4,34,10) = (/ & &1.0856e+01_rb,8.6484e+00_rb,6.0350e+00_rb,3.1793e+00_rb,4.6570e-02_rb/) kbo(:, 5,34,10) = (/ & &1.3723e+01_rb,1.0909e+01_rb,7.6246e+00_rb,4.0214e+00_rb,5.6226e-02_rb/) kbo(:, 1,35,10) = (/ & &4.4902e+00_rb,3.6079e+00_rb,2.5027e+00_rb,1.3156e+00_rb,2.1238e-02_rb/) kbo(:, 2,35,10) = (/ & &5.9918e+00_rb,4.8154e+00_rb,3.3497e+00_rb,1.7639e+00_rb,2.7153e-02_rb/) kbo(:, 3,35,10) = (/ & &7.8693e+00_rb,6.3098e+00_rb,4.3964e+00_rb,2.3124e+00_rb,3.3573e-02_rb/) kbo(:, 4,35,10) = (/ & &1.0156e+01_rb,8.1193e+00_rb,5.6658e+00_rb,2.9812e+00_rb,4.1298e-02_rb/) kbo(:, 5,35,10) = (/ & &1.2867e+01_rb,1.0277e+01_rb,7.1860e+00_rb,3.7872e+00_rb,4.9619e-02_rb/) kbo(:, 1,36,10) = (/ & &4.0317e+00_rb,3.2575e+00_rb,2.2591e+00_rb,1.1864e+00_rb,1.8322e-02_rb/) kbo(:, 2,36,10) = (/ & &5.4230e+00_rb,4.3764e+00_rb,3.0444e+00_rb,1.6008e+00_rb,2.3437e-02_rb/) kbo(:, 3,36,10) = (/ & &7.1807e+00_rb,5.7770e+00_rb,4.0236e+00_rb,2.1147e+00_rb,2.8934e-02_rb/) kbo(:, 4,36,10) = (/ & &9.3214e+00_rb,7.4860e+00_rb,5.2247e+00_rb,2.7453e+00_rb,3.5476e-02_rb/) kbo(:, 5,36,10) = (/ & &1.1871e+01_rb,9.5152e+00_rb,6.6538e+00_rb,3.5057e+00_rb,4.2476e-02_rb/) kbo(:, 1,37,10) = (/ & &3.4945e+00_rb,2.8322e+00_rb,1.9642e+00_rb,1.0316e+00_rb,1.5292e-02_rb/) kbo(:, 2,37,10) = (/ & &4.7474e+00_rb,3.8477e+00_rb,2.6749e+00_rb,1.4057e+00_rb,1.9829e-02_rb/) kbo(:, 3,37,10) = (/ & &6.3563e+00_rb,5.1351e+00_rb,3.5754e+00_rb,1.8774e+00_rb,2.4925e-02_rb/) kbo(:, 4,37,10) = (/ & &8.3333e+00_rb,6.7182e+00_rb,4.6872e+00_rb,2.4610e+00_rb,3.0513e-02_rb/) kbo(:, 5,37,10) = (/ & &1.0705e+01_rb,8.6094e+00_rb,6.0143e+00_rb,3.1664e+00_rb,3.6834e-02_rb/) kbo(:, 1,38,10) = (/ & &3.0288e+00_rb,2.4619e+00_rb,1.7084e+00_rb,8.9674e-01_rb,1.2715e-02_rb/) kbo(:, 2,38,10) = (/ & &4.1608e+00_rb,3.3834e+00_rb,2.3515e+00_rb,1.2353e+00_rb,1.6555e-02_rb/) kbo(:, 3,38,10) = (/ & &5.6346e+00_rb,4.5721e+00_rb,3.1807e+00_rb,1.6688e+00_rb,2.1253e-02_rb/) kbo(:, 4,38,10) = (/ & &7.4639e+00_rb,6.0370e+00_rb,4.2092e+00_rb,2.2090e+00_rb,2.6215e-02_rb/) kbo(:, 5,38,10) = (/ & &9.6723e+00_rb,7.8054e+00_rb,5.4498e+00_rb,2.8669e+00_rb,3.1673e-02_rb/) kbo(:, 1,39,10) = (/ & &2.6346e+00_rb,2.1501e+00_rb,1.4897e+00_rb,7.8179e-01_rb,1.0494e-02_rb/) kbo(:, 2,39,10) = (/ & &3.6623e+00_rb,2.9868e+00_rb,2.0748e+00_rb,1.0900e+00_rb,1.3801e-02_rb/) kbo(:, 3,39,10) = (/ & &5.0149e+00_rb,4.0819e+00_rb,2.8376e+00_rb,1.4889e+00_rb,1.7948e-02_rb/) kbo(:, 4,39,10) = (/ & &6.7074e+00_rb,5.4432e+00_rb,3.7906e+00_rb,1.9883e+00_rb,2.2190e-02_rb/) kbo(:, 5,39,10) = (/ & &8.7675e+00_rb,7.1019e+00_rb,4.9572e+00_rb,2.6054e+00_rb,2.6961e-02_rb/) kbo(:, 1,40,10) = (/ & &2.2414e+00_rb,1.8312e+00_rb,1.2669e+00_rb,6.6464e-01_rb,8.6033e-03_rb/) kbo(:, 2,40,10) = (/ & &3.1461e+00_rb,2.5731e+00_rb,1.7855e+00_rb,9.3826e-01_rb,1.1425e-02_rb/) kbo(:, 3,40,10) = (/ & &4.3645e+00_rb,3.5639e+00_rb,2.4772e+00_rb,1.3001e+00_rb,1.5150e-02_rb/) kbo(:, 4,40,10) = (/ & &5.9195e+00_rb,4.8196e+00_rb,3.3561e+00_rb,1.7603e+00_rb,1.8984e-02_rb/) kbo(:, 5,40,10) = (/ & &7.8344e+00_rb,6.3662e+00_rb,4.4409e+00_rb,2.3324e+00_rb,2.3286e-02_rb/) kbo(:, 1,41,10) = (/ & &1.9009e+00_rb,1.5581e+00_rb,1.0772e+00_rb,5.6390e-01_rb,7.0145e-03_rb/) kbo(:, 2,41,10) = (/ & &2.6997e+00_rb,2.2094e+00_rb,1.5334e+00_rb,8.0488e-01_rb,9.5005e-03_rb/) kbo(:, 3,41,10) = (/ & &3.7885e+00_rb,3.1035e+00_rb,2.1567e+00_rb,1.1320e+00_rb,1.2665e-02_rb/) kbo(:, 4,41,10) = (/ & &5.2083e+00_rb,4.2587e+00_rb,2.9632e+00_rb,1.5552e+00_rb,1.6096e-02_rb/) kbo(:, 5,41,10) = (/ & &6.9899e+00_rb,5.6957e+00_rb,3.9715e+00_rb,2.0851e+00_rb,2.0007e-02_rb/) kbo(:, 1,42,10) = (/ & &1.6073e+00_rb,1.3214e+00_rb,9.1410e-01_rb,4.7869e-01_rb,5.6658e-03_rb/) kbo(:, 2,42,10) = (/ & &2.3166e+00_rb,1.9016e+00_rb,1.3175e+00_rb,6.9100e-01_rb,7.8082e-03_rb/) kbo(:, 3,42,10) = (/ & &3.2935e+00_rb,2.7045e+00_rb,1.8773e+00_rb,9.8575e-01_rb,1.0484e-02_rb/) kbo(:, 4,42,10) = (/ & &4.5881e+00_rb,3.7639e+00_rb,2.6177e+00_rb,1.3737e+00_rb,1.3601e-02_rb/) kbo(:, 5,42,10) = (/ & &6.2370e+00_rb,5.0967e+00_rb,3.5534e+00_rb,1.8654e+00_rb,1.7039e-02_rb/) kbo(:, 1,43,10) = (/ & &1.3404e+00_rb,1.1058e+00_rb,7.6461e-01_rb,4.0031e-01_rb,4.4847e-03_rb/) kbo(:, 2,43,10) = (/ & &1.9669e+00_rb,1.6173e+00_rb,1.1194e+00_rb,5.8704e-01_rb,6.2717e-03_rb/) kbo(:, 3,43,10) = (/ & &2.8361e+00_rb,2.3337e+00_rb,1.6185e+00_rb,8.4949e-01_rb,8.5308e-03_rb/) kbo(:, 4,43,10) = (/ & &4.0094e+00_rb,3.2948e+00_rb,2.2900e+00_rb,1.2020e+00_rb,1.1259e-02_rb/) kbo(:, 5,43,10) = (/ & &5.5262e+00_rb,4.5280e+00_rb,3.1542e+00_rb,1.6556e+00_rb,1.4384e-02_rb/) kbo(:, 1,44,10) = (/ & &1.1066e+00_rb,9.1547e-01_rb,6.3275e-01_rb,3.3150e-01_rb,3.4897e-03_rb/) kbo(:, 2,44,10) = (/ & &1.6542e+00_rb,1.3635e+00_rb,9.4399e-01_rb,4.9494e-01_rb,4.9430e-03_rb/) kbo(:, 3,44,10) = (/ & &2.4266e+00_rb,2.0020e+00_rb,1.3887e+00_rb,7.2847e-01_rb,6.8682e-03_rb/) kbo(:, 4,44,10) = (/ & &3.4886e+00_rb,2.8708e+00_rb,1.9931e+00_rb,1.0459e+00_rb,9.1381e-03_rb/) kbo(:, 5,44,10) = (/ & &4.8773e+00_rb,4.0046e+00_rb,2.7873e+00_rb,1.4630e+00_rb,1.1960e-02_rb/) kbo(:, 1,45,10) = (/ & &9.0739e-01_rb,7.5424e-01_rb,5.2128e-01_rb,2.7273e-01_rb,2.7098e-03_rb/) kbo(:, 2,45,10) = (/ & &1.3852e+00_rb,1.1467e+00_rb,7.9304e-01_rb,4.1578e-01_rb,3.8548e-03_rb/) kbo(:, 3,45,10) = (/ & &2.0713e+00_rb,1.7151e+00_rb,1.1892e+00_rb,6.2426e-01_rb,5.4604e-03_rb/) kbo(:, 4,45,10) = (/ & &3.0326e+00_rb,2.5006e+00_rb,1.7345e+00_rb,9.0988e-01_rb,7.3887e-03_rb/) kbo(:, 5,45,10) = (/ & &4.3008e+00_rb,3.5387e+00_rb,2.4612e+00_rb,1.2914e+00_rb,9.7321e-03_rb/) kbo(:, 1,46,10) = (/ & &7.3199e-01_rb,6.1145e-01_rb,4.2240e-01_rb,2.2117e-01_rb,2.0785e-03_rb/) kbo(:, 2,46,10) = (/ & &1.1438e+00_rb,9.5098e-01_rb,6.5833e-01_rb,3.4471e-01_rb,2.9805e-03_rb/) kbo(:, 3,46,10) = (/ & &1.7481e+00_rb,1.4525e+00_rb,1.0068e+00_rb,5.2845e-01_rb,4.2717e-03_rb/) kbo(:, 4,46,10) = (/ & &2.6098e+00_rb,2.1582e+00_rb,1.4963e+00_rb,7.8501e-01_rb,5.8631e-03_rb/) kbo(:, 5,46,10) = (/ & &3.7663e+00_rb,3.1031e+00_rb,2.1564e+00_rb,1.1312e+00_rb,7.7831e-03_rb/) kbo(:, 1,47,10) = (/ & &5.7232e-01_rb,4.8032e-01_rb,3.3210e-01_rb,1.7403e-01_rb,1.5461e-03_rb/) kbo(:, 2,47,10) = (/ & &9.2386e-01_rb,7.7116e-01_rb,5.3364e-01_rb,2.7934e-01_rb,2.3209e-03_rb/) kbo(:, 3,47,10) = (/ & &1.4429e+00_rb,1.2024e+00_rb,8.3406e-01_rb,4.3757e-01_rb,3.2763e-03_rb/) kbo(:, 4,47,10) = (/ & &2.2047e+00_rb,1.8273e+00_rb,1.2675e+00_rb,6.6495e-01_rb,4.5628e-03_rb/) kbo(:, 5,47,10) = (/ & &3.2456e+00_rb,2.6812e+00_rb,1.8614e+00_rb,9.7623e-01_rb,6.1070e-03_rb/) kbo(:, 1,48,10) = (/ & &4.4270e-01_rb,3.7313e-01_rb,2.5809e-01_rb,1.3535e-01_rb,1.1374e-03_rb/) kbo(:, 2,48,10) = (/ & &7.3749e-01_rb,6.1935e-01_rb,4.2906e-01_rb,2.2453e-01_rb,1.7379e-03_rb/) kbo(:, 3,48,10) = (/ & &1.1839e+00_rb,9.8928e-01_rb,6.8613e-01_rb,3.6002e-01_rb,2.5032e-03_rb/) kbo(:, 4,48,10) = (/ & &1.8512e+00_rb,1.5395e+00_rb,1.0677e+00_rb,5.6075e-01_rb,3.5238e-03_rb/) kbo(:, 5,48,10) = (/ & &2.7862e+00_rb,2.3065e+00_rb,1.6009e+00_rb,8.3981e-01_rb,4.7398e-03_rb/) kbo(:, 1,49,10) = (/ & &3.3829e-01_rb,2.8482e-01_rb,1.9699e-01_rb,1.0339e-01_rb,8.1861e-04_rb/) kbo(:, 2,49,10) = (/ & &5.8200e-01_rb,4.9068e-01_rb,3.4013e-01_rb,1.7816e-01_rb,1.2634e-03_rb/) kbo(:, 3,49,10) = (/ & &9.6365e-01_rb,8.0857e-01_rb,5.6081e-01_rb,2.9418e-01_rb,1.8795e-03_rb/) kbo(:, 4,49,10) = (/ & &1.5457e+00_rb,1.2894e+00_rb,8.9458e-01_rb,4.6973e-01_rb,2.7104e-03_rb/) kbo(:, 5,49,10) = (/ & &2.3812e+00_rb,1.9755e+00_rb,1.3708e+00_rb,7.1925e-01_rb,3.6105e-03_rb/) kbo(:, 1,50,10) = (/ & &2.5998e-01_rb,2.1962e-01_rb,1.5188e-01_rb,7.9506e-02_rb,6.0363e-04_rb/) kbo(:, 2,50,10) = (/ & &4.5974e-01_rb,3.8940e-01_rb,2.6982e-01_rb,1.4155e-01_rb,9.5023e-04_rb/) kbo(:, 3,50,10) = (/ & &7.8578e-01_rb,6.6189e-01_rb,4.5931e-01_rb,2.4091e-01_rb,1.4366e-03_rb/) kbo(:, 4,50,10) = (/ & &1.2930e+00_rb,1.0829e+00_rb,7.5147e-01_rb,3.9450e-01_rb,2.1250e-03_rb/) kbo(:, 5,50,10) = (/ & &2.0418e+00_rb,1.6990e+00_rb,1.1790e+00_rb,6.1880e-01_rb,2.8716e-03_rb/) kbo(:, 1,51,10) = (/ & &2.0132e-01_rb,1.6910e-01_rb,1.1674e-01_rb,6.1107e-02_rb,4.4485e-04_rb/) kbo(:, 2,51,10) = (/ & &3.6041e-01_rb,3.0656e-01_rb,2.1282e-01_rb,1.1161e-01_rb,7.3157e-04_rb/) kbo(:, 3,51,10) = (/ & &6.3582e-01_rb,5.3869e-01_rb,3.7423e-01_rb,1.9656e-01_rb,1.1225e-03_rb/) kbo(:, 4,51,10) = (/ & &1.0802e+00_rb,9.0777e-01_rb,6.3030e-01_rb,3.3074e-01_rb,1.6531e-03_rb/) kbo(:, 5,51,10) = (/ & &1.7498e+00_rb,1.4602e+00_rb,1.0135e+00_rb,5.3219e-01_rb,2.3172e-03_rb/) kbo(:, 1,52,10) = (/ & &1.5547e-01_rb,1.3052e-01_rb,9.0061e-02_rb,4.7075e-02_rb,3.3160e-04_rb/) kbo(:, 2,52,10) = (/ & &2.8347e-01_rb,2.4049e-01_rb,1.6666e-01_rb,8.7433e-02_rb,5.5078e-04_rb/) kbo(:, 3,52,10) = (/ & &5.1184e-01_rb,4.3501e-01_rb,3.0211e-01_rb,1.5868e-01_rb,8.7008e-04_rb/) kbo(:, 4,52,10) = (/ & &8.9697e-01_rb,7.5690e-01_rb,5.2561e-01_rb,2.7576e-01_rb,1.2672e-03_rb/) kbo(:, 5,52,10) = (/ & &1.4927e+00_rb,1.2493e+00_rb,8.6741e-01_rb,4.5551e-01_rb,1.8458e-03_rb/) kbo(:, 1,53,10) = (/ & &1.2003e-01_rb,1.0051e-01_rb,6.9268e-02_rb,3.6248e-02_rb,2.4457e-04_rb/) kbo(:, 2,53,10) = (/ & &2.2120e-01_rb,1.8754e-01_rb,1.2989e-01_rb,6.8226e-02_rb,4.0791e-04_rb/) kbo(:, 3,53,10) = (/ & &4.0694e-01_rb,3.4775e-01_rb,2.4176e-01_rb,1.2712e-01_rb,6.5057e-04_rb/) kbo(:, 4,53,10) = (/ & &7.3824e-01_rb,6.2670e-01_rb,4.3556e-01_rb,2.2862e-01_rb,9.8738e-04_rb/) kbo(:, 5,53,10) = (/ & &1.2666e+00_rb,1.0632e+00_rb,7.3852e-01_rb,3.8765e-01_rb,1.4077e-03_rb/) kbo(:, 1,54,10) = (/ & &9.3960e-02_rb,7.8771e-02_rb,5.4240e-02_rb,2.8401e-02_rb,1.9316e-04_rb/) kbo(:, 2,54,10) = (/ & &1.7676e-01_rb,1.4984e-01_rb,1.0336e-01_rb,5.4121e-02_rb,3.1568e-04_rb/) kbo(:, 3,54,10) = (/ & &3.2867e-01_rb,2.7969e-01_rb,1.9447e-01_rb,1.0231e-01_rb,5.2512e-04_rb/) kbo(:, 4,54,10) = (/ & &6.0965e-01_rb,5.1980e-01_rb,3.6169e-01_rb,1.9003e-01_rb,8.0976e-04_rb/) kbo(:, 5,54,10) = (/ & &1.0822e+00_rb,9.1223e-01_rb,6.3374e-01_rb,3.3269e-01_rb,1.1750e-03_rb/) kbo(:, 1,55,10) = (/ & &7.3906e-02_rb,6.2107e-02_rb,4.2864e-02_rb,2.2445e-02_rb,1.5599e-04_rb/) kbo(:, 2,55,10) = (/ & &1.4369e-01_rb,1.2050e-01_rb,8.3134e-02_rb,4.3567e-02_rb,2.5335e-04_rb/) kbo(:, 3,55,10) = (/ & &2.6760e-01_rb,2.2827e-01_rb,1.5835e-01_rb,8.3096e-02_rb,4.2909e-04_rb/) kbo(:, 4,55,10) = (/ & &5.0351e-01_rb,4.3105e-01_rb,3.0006e-01_rb,1.5782e-01_rb,6.9202e-04_rb/) kbo(:, 5,55,10) = (/ & &9.2458e-01_rb,7.8288e-01_rb,5.4396e-01_rb,2.8582e-01_rb,1.0207e-03_rb/) kbo(:, 1,56,10) = (/ & &5.7777e-02_rb,4.8496e-02_rb,3.3489e-02_rb,1.7579e-02_rb,1.2442e-04_rb/) kbo(:, 2,56,10) = (/ & &1.1665e-01_rb,9.7805e-02_rb,6.7433e-02_rb,3.5342e-02_rb,2.0689e-04_rb/) kbo(:, 3,56,10) = (/ & &2.1880e-01_rb,1.8636e-01_rb,1.2905e-01_rb,6.7804e-02_rb,3.5149e-04_rb/) kbo(:, 4,56,10) = (/ & &4.1579e-01_rb,3.5633e-01_rb,2.4779e-01_rb,1.3043e-01_rb,5.7437e-04_rb/) kbo(:, 5,56,10) = (/ & &7.8392e-01_rb,6.6810e-01_rb,4.6498e-01_rb,2.4434e-01_rb,8.7392e-04_rb/) kbo(:, 1,57,10) = (/ & &4.4962e-02_rb,3.7745e-02_rb,2.6020e-02_rb,1.3669e-02_rb,1.0074e-04_rb/) kbo(:, 2,57,10) = (/ & &9.3975e-02_rb,7.9039e-02_rb,5.4468e-02_rb,2.8583e-02_rb,1.6888e-04_rb/) kbo(:, 3,57,10) = (/ & &1.8083e-01_rb,1.5305e-01_rb,1.0598e-01_rb,5.5519e-02_rb,2.8180e-04_rb/) kbo(:, 4,57,10) = (/ & &3.4541e-01_rb,2.9431e-01_rb,2.0476e-01_rb,1.0780e-01_rb,4.7931e-04_rb/) kbo(:, 5,57,10) = (/ & &6.6212e-01_rb,5.6589e-01_rb,3.9390e-01_rb,2.0726e-01_rb,7.5979e-04_rb/) kbo(:, 1,58,10) = (/ & &1.7062e-02_rb,1.6422e-02_rb,1.3301e-02_rb,8.4676e-03_rb,8.2142e-05_rb/) kbo(:, 2,58,10) = (/ & &3.7044e-02_rb,3.5791e-02_rb,2.8933e-02_rb,1.8344e-02_rb,1.3979e-04_rb/) kbo(:, 3,58,10) = (/ & &7.3627e-02_rb,7.1176e-02_rb,5.7648e-02_rb,3.6534e-02_rb,2.3072e-04_rb/) kbo(:, 4,58,10) = (/ & &1.4036e-01_rb,1.3776e-01_rb,1.1219e-01_rb,7.1459e-02_rb,4.0521e-04_rb/) kbo(:, 5,58,10) = (/ & &2.7375e-01_rb,2.6857e-01_rb,2.1925e-01_rb,1.3965e-01_rb,6.6868e-04_rb/) kbo(:, 1,59,10) = (/ & &1.5026e-02_rb,1.4620e-02_rb,1.1891e-02_rb,7.6139e-03_rb,7.7772e-05_rb/) kbo(:, 2,59,10) = (/ & &3.3598e-02_rb,3.2618e-02_rb,2.6475e-02_rb,1.6873e-02_rb,1.3363e-04_rb/) kbo(:, 3,59,10) = (/ & &6.7778e-02_rb,6.5724e-02_rb,5.3548e-02_rb,3.4085e-02_rb,2.3127e-04_rb/) kbo(:, 4,59,10) = (/ & &1.2973e-01_rb,1.2749e-01_rb,1.0439e-01_rb,6.6705e-02_rb,3.9949e-04_rb/) kbo(:, 5,59,10) = (/ & &2.5383e-01_rb,2.5006e-01_rb,2.0520e-01_rb,1.3156e-01_rb,6.6551e-04_rb/) kbo(:, 1,13,11) = (/ & &6.1162e+01_rb,4.5871e+01_rb,3.0581e+01_rb,1.5291e+01_rb,3.0501e-01_rb/) kbo(:, 2,13,11) = (/ & &8.6643e+01_rb,6.4984e+01_rb,4.3324e+01_rb,2.1662e+01_rb,3.8069e-01_rb/) kbo(:, 3,13,11) = (/ & &1.1700e+02_rb,8.7751e+01_rb,5.8502e+01_rb,2.9250e+01_rb,4.9491e-01_rb/) kbo(:, 4,13,11) = (/ & &1.5190e+02_rb,1.1392e+02_rb,7.5955e+01_rb,3.7977e+01_rb,5.7908e-01_rb/) kbo(:, 5,13,11) = (/ & &1.9085e+02_rb,1.4314e+02_rb,9.5429e+01_rb,4.7715e+01_rb,6.6979e-01_rb/) kbo(:, 1,14,11) = (/ & &6.2014e+01_rb,4.6511e+01_rb,3.1007e+01_rb,1.5504e+01_rb,3.5592e-01_rb/) kbo(:, 2,14,11) = (/ & &8.7238e+01_rb,6.5431e+01_rb,4.3621e+01_rb,2.1811e+01_rb,3.9219e-01_rb/) kbo(:, 3,14,11) = (/ & &1.1714e+02_rb,8.7851e+01_rb,5.8570e+01_rb,2.9287e+01_rb,4.4292e-01_rb/) kbo(:, 4,14,11) = (/ & &1.5139e+02_rb,1.1354e+02_rb,7.5699e+01_rb,3.7864e+01_rb,5.2460e-01_rb/) kbo(:, 5,14,11) = (/ & &1.8982e+02_rb,1.4235e+02_rb,9.4908e+01_rb,4.7484e+01_rb,6.6257e-01_rb/) kbo(:, 1,15,11) = (/ & &5.9186e+01_rb,4.4388e+01_rb,2.9592e+01_rb,1.4841e+01_rb,3.2021e-01_rb/) kbo(:, 2,15,11) = (/ & &8.2638e+01_rb,6.1979e+01_rb,4.1319e+01_rb,2.0713e+01_rb,3.7708e-01_rb/) kbo(:, 3,15,11) = (/ & &1.1028e+02_rb,8.2716e+01_rb,5.5144e+01_rb,2.7652e+01_rb,4.6488e-01_rb/) kbo(:, 4,15,11) = (/ & &1.4201e+02_rb,1.0651e+02_rb,7.1008e+01_rb,3.5635e+01_rb,5.3643e-01_rb/) kbo(:, 5,15,11) = (/ & &1.7780e+02_rb,1.3336e+02_rb,8.8908e+01_rb,4.4680e+01_rb,6.1809e-01_rb/) kbo(:, 1,16,11) = (/ & &5.3877e+01_rb,4.0407e+01_rb,2.6940e+01_rb,1.3617e+01_rb,3.0459e-01_rb/) kbo(:, 2,16,11) = (/ & &7.4732e+01_rb,5.6052e+01_rb,3.7368e+01_rb,1.8895e+01_rb,3.6381e-01_rb/) kbo(:, 3,16,11) = (/ & &9.9303e+01_rb,7.4473e+01_rb,4.9649e+01_rb,2.5124e+01_rb,4.2325e-01_rb/) kbo(:, 4,16,11) = (/ & &1.2768e+02_rb,9.5754e+01_rb,6.3837e+01_rb,3.2325e+01_rb,4.7285e-01_rb/) kbo(:, 5,16,11) = (/ & &1.5927e+02_rb,1.1945e+02_rb,7.9632e+01_rb,4.0351e+01_rb,5.0976e-01_rb/) kbo(:, 1,17,11) = (/ & &4.7648e+01_rb,3.5735e+01_rb,2.3823e+01_rb,1.2164e+01_rb,2.5744e-01_rb/) kbo(:, 2,17,11) = (/ & &6.5724e+01_rb,4.9293e+01_rb,3.2863e+01_rb,1.6792e+01_rb,3.1059e-01_rb/) kbo(:, 3,17,11) = (/ & &8.7138e+01_rb,6.5349e+01_rb,4.3569e+01_rb,2.2270e+01_rb,3.5847e-01_rb/) kbo(:, 4,17,11) = (/ & &1.1169e+02_rb,8.3769e+01_rb,5.5845e+01_rb,2.8543e+01_rb,4.0184e-01_rb/) kbo(:, 5,17,11) = (/ & &1.3846e+02_rb,1.0385e+02_rb,6.9237e+01_rb,3.5386e+01_rb,4.6254e-01_rb/) kbo(:, 1,18,11) = (/ & &4.0731e+01_rb,3.0550e+01_rb,2.0398e+01_rb,1.0482e+01_rb,2.2929e-01_rb/) kbo(:, 2,18,11) = (/ & &5.6038e+01_rb,4.2027e+01_rb,2.8058e+01_rb,1.4421e+01_rb,2.6841e-01_rb/) kbo(:, 3,18,11) = (/ & &7.4130e+01_rb,5.5602e+01_rb,3.7127e+01_rb,1.9095e+01_rb,3.0083e-01_rb/) kbo(:, 4,18,11) = (/ & &9.4414e+01_rb,7.0811e+01_rb,4.7323e+01_rb,2.4371e+01_rb,3.4142e-01_rb/) kbo(:, 5,18,11) = (/ & &1.1687e+02_rb,8.7655e+01_rb,5.8604e+01_rb,3.0228e+01_rb,3.9932e-01_rb/) kbo(:, 1,19,11) = (/ & &3.5043e+01_rb,2.6281e+01_rb,1.7645e+01_rb,9.0880e+00_rb,1.9041e-01_rb/) kbo(:, 2,19,11) = (/ & &4.8095e+01_rb,3.6072e+01_rb,2.4224e+01_rb,1.2500e+01_rb,2.2005e-01_rb/) kbo(:, 3,19,11) = (/ & &6.3280e+01_rb,4.7465e+01_rb,3.1884e+01_rb,1.6505e+01_rb,2.5190e-01_rb/) kbo(:, 4,19,11) = (/ & &8.0459e+01_rb,6.0352e+01_rb,4.0562e+01_rb,2.1050e+01_rb,3.0347e-01_rb/) kbo(:, 5,19,11) = (/ & &9.9405e+01_rb,7.4555e+01_rb,5.0141e+01_rb,2.6072e+01_rb,3.3814e-01_rb/) kbo(:, 1,20,11) = (/ & &3.0698e+01_rb,2.3028e+01_rb,1.5559e+01_rb,8.0744e+00_rb,1.6851e-01_rb/) kbo(:, 2,20,11) = (/ & &4.1938e+01_rb,3.1449e+01_rb,2.1266e+01_rb,1.1075e+01_rb,1.9604e-01_rb/) kbo(:, 3,20,11) = (/ & &5.4971e+01_rb,4.1226e+01_rb,2.7873e+01_rb,1.4553e+01_rb,2.3334e-01_rb/) kbo(:, 4,20,11) = (/ & &6.9683e+01_rb,5.2264e+01_rb,3.5322e+01_rb,1.8474e+01_rb,2.8155e-01_rb/) kbo(:, 5,20,11) = (/ & &8.5796e+01_rb,6.4350e+01_rb,4.3496e+01_rb,2.2781e+01_rb,3.1819e-01_rb/) kbo(:, 1,21,11) = (/ & &2.6961e+01_rb,2.0239e+01_rb,1.3721e+01_rb,7.2357e+00_rb,1.5633e-01_rb/) kbo(:, 2,21,11) = (/ & &3.6624e+01_rb,2.7486e+01_rb,1.8642e+01_rb,9.8382e+00_rb,1.8477e-01_rb/) kbo(:, 3,21,11) = (/ & &4.7842e+01_rb,3.5913e+01_rb,2.4362e+01_rb,1.2852e+01_rb,2.2793e-01_rb/) kbo(:, 4,21,11) = (/ & &6.0403e+01_rb,4.5355e+01_rb,3.0794e+01_rb,1.6247e+01_rb,2.5875e-01_rb/) kbo(:, 5,21,11) = (/ & &7.4328e+01_rb,5.5827e+01_rb,3.7921e+01_rb,1.9978e+01_rb,3.0003e-01_rb/) kbo(:, 1,22,11) = (/ & &2.4106e+01_rb,1.8145e+01_rb,1.2318e+01_rb,6.5788e+00_rb,1.4346e-01_rb/) kbo(:, 2,22,11) = (/ & &3.2489e+01_rb,2.4455e+01_rb,1.6620e+01_rb,8.8645e+00_rb,1.7673e-01_rb/) kbo(:, 3,22,11) = (/ & &4.2111e+01_rb,3.1704e+01_rb,2.1585e+01_rb,1.1502e+01_rb,2.1135e-01_rb/) kbo(:, 4,22,11) = (/ & &5.3091e+01_rb,3.9979e+01_rb,2.7248e+01_rb,1.4479e+01_rb,2.4545e-01_rb/) kbo(:, 5,22,11) = (/ & &6.5531e+01_rb,4.9344e+01_rb,3.3661e+01_rb,1.7840e+01_rb,2.8184e-01_rb/) kbo(:, 1,23,11) = (/ & &2.1586e+01_rb,1.6314e+01_rb,1.1115e+01_rb,5.9696e+00_rb,1.3118e-01_rb/) kbo(:, 2,23,11) = (/ & &2.8872e+01_rb,2.1824e+01_rb,1.4900e+01_rb,7.9884e+00_rb,1.6791e-01_rb/) kbo(:, 3,23,11) = (/ & &3.7392e+01_rb,2.8256e+01_rb,1.9318e+01_rb,1.0333e+01_rb,1.9239e-01_rb/) kbo(:, 4,23,11) = (/ & &4.7286e+01_rb,3.5715e+01_rb,2.4417e+01_rb,1.3025e+01_rb,2.2854e-01_rb/) kbo(:, 5,23,11) = (/ & &5.8587e+01_rb,4.4225e+01_rb,3.0228e+01_rb,1.6103e+01_rb,2.6383e-01_rb/) kbo(:, 1,24,11) = (/ & &1.9610e+01_rb,1.4859e+01_rb,1.0204e+01_rb,5.4843e+00_rb,1.2305e-01_rb/) kbo(:, 2,24,11) = (/ & &2.6168e+01_rb,1.9825e+01_rb,1.3617e+01_rb,7.3028e+00_rb,1.4696e-01_rb/) kbo(:, 3,24,11) = (/ & &3.4009e+01_rb,2.5754e+01_rb,1.7666e+01_rb,9.4475e+00_rb,1.7619e-01_rb/) kbo(:, 4,24,11) = (/ & &4.3202e+01_rb,3.2697e+01_rb,2.2398e+01_rb,1.1966e+01_rb,2.0711e-01_rb/) kbo(:, 5,24,11) = (/ & &5.3950e+01_rb,4.0810e+01_rb,2.7914e+01_rb,1.4881e+01_rb,2.4491e-01_rb/) kbo(:, 1,25,11) = (/ & &1.7913e+01_rb,1.3599e+01_rb,9.4137e+00_rb,5.0616e+00_rb,1.1244e-01_rb/) kbo(:, 2,25,11) = (/ & &2.4002e+01_rb,1.8218e+01_rb,1.2577e+01_rb,6.7433e+00_rb,1.3574e-01_rb/) kbo(:, 3,25,11) = (/ & &3.1373e+01_rb,2.3808e+01_rb,1.6390e+01_rb,8.7732e+00_rb,1.6587e-01_rb/) kbo(:, 4,25,11) = (/ & &4.0212e+01_rb,3.0510e+01_rb,2.0949e+01_rb,1.1182e+01_rb,1.9353e-01_rb/) kbo(:, 5,25,11) = (/ & &5.0507e+01_rb,3.8314e+01_rb,2.6252e+01_rb,1.3993e+01_rb,2.2689e-01_rb/) kbo(:, 1,26,11) = (/ & &1.6610e+01_rb,1.2648e+01_rb,8.7899e+00_rb,4.7180e+00_rb,1.0410e-01_rb/) kbo(:, 2,26,11) = (/ & &2.2395e+01_rb,1.7048e+01_rb,1.1804e+01_rb,6.3257e+00_rb,1.2812e-01_rb/) kbo(:, 3,26,11) = (/ & &2.9495e+01_rb,2.2453e+01_rb,1.5498e+01_rb,8.2851e+00_rb,1.5321e-01_rb/) kbo(:, 4,26,11) = (/ & &3.7868e+01_rb,2.8829e+01_rb,1.9854e+01_rb,1.0593e+01_rb,1.8381e-01_rb/) kbo(:, 5,26,11) = (/ & &4.7321e+01_rb,3.6030e+01_rb,2.4795e+01_rb,1.3247e+01_rb,2.1577e-01_rb/) kbo(:, 1,27,11) = (/ & &1.5552e+01_rb,1.1893e+01_rb,8.2787e+00_rb,4.4401e+00_rb,9.5478e-02_rb/) kbo(:, 2,27,11) = (/ & &2.1129e+01_rb,1.6157e+01_rb,1.1211e+01_rb,5.9970e+00_rb,1.1930e-01_rb/) kbo(:, 3,27,11) = (/ & &2.7798e+01_rb,2.1248e+01_rb,1.4714e+01_rb,7.8588e+00_rb,1.4147e-01_rb/) kbo(:, 4,27,11) = (/ & &3.5437e+01_rb,2.7084e+01_rb,1.8740e+01_rb,1.0024e+01_rb,1.6966e-01_rb/) kbo(:, 5,27,11) = (/ & &4.4196e+01_rb,3.3778e+01_rb,2.3350e+01_rb,1.2494e+01_rb,2.0142e-01_rb/) kbo(:, 1,28,11) = (/ & &1.4683e+01_rb,1.1292e+01_rb,7.8718e+00_rb,4.2106e+00_rb,8.7356e-02_rb/) kbo(:, 2,28,11) = (/ & &1.9886e+01_rb,1.5281e+01_rb,1.0638e+01_rb,5.6861e+00_rb,1.0714e-01_rb/) kbo(:, 3,28,11) = (/ & &2.5973e+01_rb,1.9937e+01_rb,1.3871e+01_rb,7.4210e+00_rb,1.3061e-01_rb/) kbo(:, 4,28,11) = (/ & &3.3032e+01_rb,2.5345e+01_rb,1.7630e+01_rb,9.4399e+00_rb,1.5744e-01_rb/) kbo(:, 5,28,11) = (/ & &4.1210e+01_rb,3.1582e+01_rb,2.1933e+01_rb,1.1759e+01_rb,1.8456e-01_rb/) kbo(:, 1,29,11) = (/ & &1.3790e+01_rb,1.0662e+01_rb,7.4451e+00_rb,3.9766e+00_rb,7.8021e-02_rb/) kbo(:, 2,29,11) = (/ & &1.8507e+01_rb,1.4288e+01_rb,9.9758e+00_rb,5.3363e+00_rb,9.5820e-02_rb/) kbo(:, 3,29,11) = (/ & &2.4091e+01_rb,1.8575e+01_rb,1.2977e+01_rb,6.9398e+00_rb,1.1898e-01_rb/) kbo(:, 4,29,11) = (/ & &3.0652e+01_rb,2.3593e+01_rb,1.6474e+01_rb,8.8251e+00_rb,1.4373e-01_rb/) kbo(:, 5,29,11) = (/ & &3.8268e+01_rb,2.9419e+01_rb,2.0534e+01_rb,1.1026e+01_rb,1.6837e-01_rb/) kbo(:, 1,30,11) = (/ & &1.2835e+01_rb,9.9842e+00_rb,6.9893e+00_rb,3.7286e+00_rb,6.9765e-02_rb/) kbo(:, 2,30,11) = (/ & &1.7126e+01_rb,1.3305e+01_rb,9.3238e+00_rb,4.9785e+00_rb,8.7990e-02_rb/) kbo(:, 3,30,11) = (/ & &2.2319e+01_rb,1.7278e+01_rb,1.2100e+01_rb,6.4728e+00_rb,1.0830e-01_rb/) kbo(:, 4,30,11) = (/ & &2.8412e+01_rb,2.1956e+01_rb,1.5383e+01_rb,8.2493e+00_rb,1.2854e-01_rb/) kbo(:, 5,30,11) = (/ & &3.5540e+01_rb,2.7422e+01_rb,1.9221e+01_rb,1.0332e+01_rb,1.5041e-01_rb/) kbo(:, 1,31,11) = (/ & &1.1866e+01_rb,9.2840e+00_rb,6.5153e+00_rb,3.4693e+00_rb,6.2880e-02_rb/) kbo(:, 2,31,11) = (/ & &1.5808e+01_rb,1.2342e+01_rb,8.6596e+00_rb,4.6193e+00_rb,7.8616e-02_rb/) kbo(:, 3,31,11) = (/ & &2.0587e+01_rb,1.6022e+01_rb,1.1250e+01_rb,6.0171e+00_rb,9.4908e-02_rb/) kbo(:, 4,31,11) = (/ & &2.6251e+01_rb,2.0378e+01_rb,1.4318e+01_rb,7.6818e+00_rb,1.1384e-01_rb/) kbo(:, 5,31,11) = (/ & &3.2893e+01_rb,2.5487e+01_rb,1.7928e+01_rb,9.6467e+00_rb,1.3241e-01_rb/) kbo(:, 1,32,11) = (/ & &1.1095e+01_rb,8.7224e+00_rb,6.1226e+00_rb,3.2519e+00_rb,5.6839e-02_rb/) kbo(:, 2,32,11) = (/ & &1.4751e+01_rb,1.1560e+01_rb,8.1226e+00_rb,4.3325e+00_rb,7.0855e-02_rb/) kbo(:, 3,32,11) = (/ & &1.9205e+01_rb,1.5015e+01_rb,1.0554e+01_rb,5.6424e+00_rb,8.5721e-02_rb/) kbo(:, 4,32,11) = (/ & &2.4504e+01_rb,1.9119e+01_rb,1.3461e+01_rb,7.2214e+00_rb,1.0137e-01_rb/) kbo(:, 5,32,11) = (/ & &3.0723e+01_rb,2.3918e+01_rb,1.6887e+01_rb,9.0922e+00_rb,1.2101e-01_rb/) kbo(:, 1,33,11) = (/ & &1.0469e+01_rb,8.2653e+00_rb,5.8027e+00_rb,3.0803e+00_rb,5.1389e-02_rb/) kbo(:, 2,33,11) = (/ & &1.3905e+01_rb,1.0963e+01_rb,7.7038e+00_rb,4.0998e+00_rb,6.3408e-02_rb/) kbo(:, 3,33,11) = (/ & &1.8080e+01_rb,1.4209e+01_rb,9.9969e+00_rb,5.3421e+00_rb,7.7128e-02_rb/) kbo(:, 4,33,11) = (/ & &2.3055e+01_rb,1.8085e+01_rb,1.2765e+01_rb,6.8504e+00_rb,9.2141e-02_rb/) kbo(:, 5,33,11) = (/ & &2.8901e+01_rb,2.2629e+01_rb,1.6031e+01_rb,8.6400e+00_rb,1.0949e-01_rb/) kbo(:, 1,34,11) = (/ & &9.9524e+00_rb,7.8988e+00_rb,5.5437e+00_rb,2.9382e+00_rb,4.7321e-02_rb/) kbo(:, 2,34,11) = (/ & &1.3224e+01_rb,1.0461e+01_rb,7.3463e+00_rb,3.9087e+00_rb,5.8418e-02_rb/) kbo(:, 3,34,11) = (/ & &1.7166e+01_rb,1.3560e+01_rb,9.5537e+00_rb,5.1034e+00_rb,7.0181e-02_rb/) kbo(:, 4,34,11) = (/ & &2.1887e+01_rb,1.7264e+01_rb,1.2211e+01_rb,6.5526e+00_rb,8.4706e-02_rb/) kbo(:, 5,34,11) = (/ & &2.7487e+01_rb,2.1622e+01_rb,1.5350e+01_rb,8.2698e+00_rb,9.8588e-02_rb/) kbo(:, 1,35,11) = (/ & &9.2896e+00_rb,7.3988e+00_rb,5.1836e+00_rb,2.7478e+00_rb,4.1417e-02_rb/) kbo(:, 2,35,11) = (/ & &1.2346e+01_rb,9.8120e+00_rb,6.8895e+00_rb,3.6621e+00_rb,5.1614e-02_rb/) kbo(:, 3,35,11) = (/ & &1.6038e+01_rb,1.2737e+01_rb,8.9856e+00_rb,4.7992e+00_rb,6.2173e-02_rb/) kbo(:, 4,35,11) = (/ & &2.0501e+01_rb,1.6246e+01_rb,1.1507e+01_rb,6.1715e+00_rb,7.4346e-02_rb/) kbo(:, 5,35,11) = (/ & &2.5865e+01_rb,2.0429e+01_rb,1.4515e+01_rb,7.8139e+00_rb,8.6989e-02_rb/) kbo(:, 1,36,11) = (/ & &8.4641e+00_rb,6.7680e+00_rb,4.7384e+00_rb,2.5089e+00_rb,3.5370e-02_rb/) kbo(:, 2,36,11) = (/ & &1.1283e+01_rb,9.0077e+00_rb,6.3272e+00_rb,3.3586e+00_rb,4.3427e-02_rb/) kbo(:, 3,36,11) = (/ & &1.4709e+01_rb,1.1740e+01_rb,8.2852e+00_rb,4.4192e+00_rb,5.3699e-02_rb/) kbo(:, 4,36,11) = (/ & &1.8892e+01_rb,1.5035e+01_rb,1.0652e+01_rb,5.7082e+00_rb,6.4287e-02_rb/) kbo(:, 5,36,11) = (/ & &2.3976e+01_rb,1.9028e+01_rb,1.3526e+01_rb,7.2706e+00_rb,7.5870e-02_rb/) kbo(:, 1,37,11) = (/ & &7.4506e+00_rb,5.9897e+00_rb,4.1905e+00_rb,2.2153e+00_rb,2.9963e-02_rb/) kbo(:, 2,37,11) = (/ & &1.0029e+01_rb,8.0389e+00_rb,5.6426e+00_rb,2.9898e+00_rb,3.7220e-02_rb/) kbo(:, 3,37,11) = (/ & &1.3144e+01_rb,1.0534e+01_rb,7.4309e+00_rb,3.9559e+00_rb,4.6416e-02_rb/) kbo(:, 4,37,11) = (/ & &1.6999e+01_rb,1.3585e+01_rb,9.6217e+00_rb,5.1490e+00_rb,5.5486e-02_rb/) kbo(:, 5,37,11) = (/ & &2.1741e+01_rb,1.7327e+01_rb,1.2322e+01_rb,6.6152e+00_rb,6.5816e-02_rb/) kbo(:, 1,38,11) = (/ & &6.5566e+00_rb,5.3014e+00_rb,3.7057e+00_rb,1.9579e+00_rb,2.5356e-02_rb/) kbo(:, 2,38,11) = (/ & &8.9151e+00_rb,7.1841e+00_rb,5.0400e+00_rb,2.6656e+00_rb,3.1891e-02_rb/) kbo(:, 3,38,11) = (/ & &1.1778e+01_rb,9.4689e+00_rb,6.6768e+00_rb,3.5488e+00_rb,3.9709e-02_rb/) kbo(:, 4,38,11) = (/ & &1.5333e+01_rb,1.2304e+01_rb,8.7122e+00_rb,4.6542e+00_rb,4.7360e-02_rb/) kbo(:, 5,38,11) = (/ & &1.9762e+01_rb,1.5812e+01_rb,1.1244e+01_rb,6.0319e+00_rb,5.6650e-02_rb/) kbo(:, 1,39,11) = (/ & &5.7815e+00_rb,4.6987e+00_rb,3.2839e+00_rb,1.7336e+00_rb,2.1361e-02_rb/) kbo(:, 2,39,11) = (/ & &7.9403e+00_rb,6.4302e+00_rb,4.5109e+00_rb,2.3848e+00_rb,2.6909e-02_rb/) kbo(:, 3,39,11) = (/ & &1.0589e+01_rb,8.5486e+00_rb,6.0232e+00_rb,3.1966e+00_rb,3.3274e-02_rb/) kbo(:, 4,39,11) = (/ & &1.3890e+01_rb,1.1188e+01_rb,7.9191e+00_rb,4.2244e+00_rb,4.0390e-02_rb/) kbo(:, 5,39,11) = (/ & &1.8032e+01_rb,1.4487e+01_rb,1.0297e+01_rb,5.5201e+00_rb,4.8824e-02_rb/) kbo(:, 1,40,11) = (/ & &4.9663e+00_rb,4.0580e+00_rb,2.8368e+00_rb,1.4961e+00_rb,1.7977e-02_rb/) kbo(:, 2,40,11) = (/ & &6.9269e+00_rb,5.6391e+00_rb,3.9540e+00_rb,2.0894e+00_rb,2.2949e-02_rb/) kbo(:, 3,40,11) = (/ & &9.3578e+00_rb,7.5891e+00_rb,5.3452e+00_rb,2.8327e+00_rb,2.8350e-02_rb/) kbo(:, 4,40,11) = (/ & &1.2407e+01_rb,1.0028e+01_rb,7.0894e+00_rb,3.7744e+00_rb,3.4399e-02_rb/) kbo(:, 5,40,11) = (/ & &1.6240e+01_rb,1.3091e+01_rb,9.2991e+00_rb,4.9787e+00_rb,4.2027e-02_rb/) kbo(:, 1,41,11) = (/ & &4.2485e+00_rb,3.4862e+00_rb,2.4352e+00_rb,1.2849e+00_rb,1.5088e-02_rb/) kbo(:, 2,41,11) = (/ & &6.0166e+00_rb,4.9271e+00_rb,3.4537e+00_rb,1.8243e+00_rb,1.9453e-02_rb/) kbo(:, 3,41,11) = (/ & &8.2485e+00_rb,6.7221e+00_rb,4.7321e+00_rb,2.5060e+00_rb,2.4198e-02_rb/) kbo(:, 4,41,11) = (/ & &1.1066e+01_rb,8.9791e+00_rb,6.3459e+00_rb,3.3734e+00_rb,2.9570e-02_rb/) kbo(:, 5,41,11) = (/ & &1.4636e+01_rb,1.1834e+01_rb,8.3996e+00_rb,4.4886e+00_rb,3.6128e-02_rb/) kbo(:, 1,42,11) = (/ & &3.6346e+00_rb,2.9948e+00_rb,2.0896e+00_rb,1.1018e+00_rb,1.2599e-02_rb/) kbo(:, 2,42,11) = (/ & &5.2244e+00_rb,4.2974e+00_rb,3.0116e+00_rb,1.5911e+00_rb,1.6323e-02_rb/) kbo(:, 3,42,11) = (/ & &7.2643e+00_rb,5.9499e+00_rb,4.1877e+00_rb,2.2172e+00_rb,2.0619e-02_rb/) kbo(:, 4,42,11) = (/ & &9.8747e+00_rb,8.0447e+00_rb,5.6854e+00_rb,3.0206e+00_rb,2.5282e-02_rb/) kbo(:, 5,42,11) = (/ & &1.3206e+01_rb,1.0716e+01_rb,7.6001e+00_rb,4.0544e+00_rb,3.0876e-02_rb/) kbo(:, 1,43,11) = (/ & &3.0660e+00_rb,2.5370e+00_rb,1.7687e+00_rb,9.3216e-01_rb,1.0308e-02_rb/) kbo(:, 2,43,11) = (/ & &4.4856e+00_rb,3.7056e+00_rb,2.5945e+00_rb,1.3700e+00_rb,1.3601e-02_rb/) kbo(:, 3,43,11) = (/ & &6.3372e+00_rb,5.2140e+00_rb,3.6676e+00_rb,1.9419e+00_rb,1.7306e-02_rb/) kbo(:, 4,43,11) = (/ & &8.7409e+00_rb,7.1536e+00_rb,5.0545e+00_rb,2.6839e+00_rb,2.1526e-02_rb/) kbo(:, 5,43,11) = (/ & &1.1846e+01_rb,9.6432e+00_rb,6.8374e+00_rb,3.6437e+00_rb,2.6238e-02_rb/) kbo(:, 1,44,11) = (/ & &2.5664e+00_rb,2.1306e+00_rb,1.4853e+00_rb,7.8185e-01_rb,8.3390e-03_rb/) kbo(:, 2,44,11) = (/ & &3.8265e+00_rb,3.1748e+00_rb,2.2204e+00_rb,1.1717e+00_rb,1.1111e-02_rb/) kbo(:, 3,44,11) = (/ & &5.5006e+00_rb,4.5418e+00_rb,3.1915e+00_rb,1.6892e+00_rb,1.4312e-02_rb/) kbo(:, 4,44,11) = (/ & &7.6990e+00_rb,6.3295e+00_rb,4.4707e+00_rb,2.3728e+00_rb,1.8022e-02_rb/) kbo(:, 5,44,11) = (/ & &1.0590e+01_rb,8.6508e+00_rb,6.1308e+00_rb,3.2656e+00_rb,2.2284e-02_rb/) kbo(:, 1,45,11) = (/ & &2.1449e+00_rb,1.7852e+00_rb,1.2434e+00_rb,6.5459e-01_rb,6.5374e-03_rb/) kbo(:, 2,45,11) = (/ & &3.2586e+00_rb,2.7120e+00_rb,1.8962e+00_rb,1.0002e+00_rb,8.9661e-03_rb/) kbo(:, 3,45,11) = (/ & &4.7677e+00_rb,3.9512e+00_rb,2.7729e+00_rb,1.4668e+00_rb,1.1723e-02_rb/) kbo(:, 4,45,11) = (/ & &6.7759e+00_rb,5.5907e+00_rb,3.9459e+00_rb,2.0943e+00_rb,1.4893e-02_rb/) kbo(:, 5,45,11) = (/ & &9.4617e+00_rb,7.7574e+00_rb,5.4954e+00_rb,2.9257e+00_rb,1.8879e-02_rb/) kbo(:, 1,46,11) = (/ & &1.7693e+00_rb,1.4778e+00_rb,1.0286e+00_rb,5.4110e-01_rb,5.0474e-03_rb/) kbo(:, 2,46,11) = (/ & &2.7478e+00_rb,2.2930e+00_rb,1.6009e+00_rb,8.4457e-01_rb,7.0726e-03_rb/) kbo(:, 3,46,11) = (/ & &4.0941e+00_rb,3.4053e+00_rb,2.3875e+00_rb,1.2626e+00_rb,9.5023e-03_rb/) kbo(:, 4,46,11) = (/ & &5.9189e+00_rb,4.8999e+00_rb,3.4535e+00_rb,1.8324e+00_rb,1.2322e-02_rb/) kbo(:, 5,46,11) = (/ & &8.3887e+00_rb,6.9026e+00_rb,4.8893e+00_rb,2.6020e+00_rb,1.5617e-02_rb/) kbo(:, 1,47,11) = (/ & &1.4241e+00_rb,1.1941e+00_rb,8.3002e-01_rb,4.3643e-01_rb,3.7828e-03_rb/) kbo(:, 2,47,11) = (/ & &2.2698e+00_rb,1.8986e+00_rb,1.3247e+00_rb,6.9822e-01_rb,5.4676e-03_rb/) kbo(:, 3,47,11) = (/ & &3.4547e+00_rb,2.8836e+00_rb,2.0196e+00_rb,1.0678e+00_rb,7.6213e-03_rb/) kbo(:, 4,47,11) = (/ & &5.0871e+00_rb,4.2288e+00_rb,2.9766e+00_rb,1.5778e+00_rb,9.9658e-03_rb/) kbo(:, 5,47,11) = (/ & &7.3321e+00_rb,6.0542e+00_rb,4.2837e+00_rb,2.2790e+00_rb,1.3055e-02_rb/) kbo(:, 1,48,11) = (/ & &1.1337e+00_rb,9.5606e-01_rb,6.6479e-01_rb,3.4941e-01_rb,2.8319e-03_rb/) kbo(:, 2,48,11) = (/ & &1.8661e+00_rb,1.5653e+00_rb,1.0902e+00_rb,5.7432e-01_rb,4.1758e-03_rb/) kbo(:, 3,48,11) = (/ & &2.9045e+00_rb,2.4321e+00_rb,1.7012e+00_rb,8.9870e-01_rb,5.9617e-03_rb/) kbo(:, 4,48,11) = (/ & &4.3570e+00_rb,3.6357e+00_rb,2.5565e+00_rb,1.3546e+00_rb,7.9840e-03_rb/) kbo(:, 5,48,11) = (/ & &6.3922e+00_rb,5.2980e+00_rb,3.7432e+00_rb,1.9904e+00_rb,1.0519e-02_rb/) kbo(:, 1,49,11) = (/ & &8.9211e-01_rb,7.5781e-01_rb,5.2674e-01_rb,2.7699e-01_rb,2.0587e-03_rb/) kbo(:, 2,49,11) = (/ & &1.5203e+00_rb,1.2812e+00_rb,8.9206e-01_rb,4.6970e-01_rb,3.1077e-03_rb/) kbo(:, 3,49,11) = (/ & &2.4343e+00_rb,2.0415e+00_rb,1.4265e+00_rb,7.5292e-01_rb,4.5062e-03_rb/) kbo(:, 4,49,11) = (/ & &3.7205e+00_rb,3.1142e+00_rb,2.1868e+00_rb,1.1585e+00_rb,6.1377e-03_rb/) kbo(:, 5,49,11) = (/ & &5.5564e+00_rb,4.6243e+00_rb,3.2638e+00_rb,1.7346e+00_rb,8.3879e-03_rb/) kbo(:, 1,50,11) = (/ & &6.9944e-01_rb,5.9730e-01_rb,4.1544e-01_rb,2.1892e-01_rb,1.5159e-03_rb/) kbo(:, 2,50,11) = (/ & &1.2386e+00_rb,1.0495e+00_rb,7.3105e-01_rb,3.8493e-01_rb,2.3639e-03_rb/) kbo(:, 3,50,11) = (/ & &2.0475e+00_rb,1.7233e+00_rb,1.2030e+00_rb,6.3443e-01_rb,3.5129e-03_rb/) kbo(:, 4,50,11) = (/ & &3.1987e+00_rb,2.6838e+00_rb,1.8828e+00_rb,9.9721e-01_rb,4.9131e-03_rb/) kbo(:, 5,50,11) = (/ & &4.8613e+00_rb,4.0604e+00_rb,2.8638e+00_rb,1.5216e+00_rb,6.8102e-03_rb/) kbo(:, 1,51,11) = (/ & &5.4324e-01_rb,4.6725e-01_rb,3.2546e-01_rb,1.7172e-01_rb,1.1297e-03_rb/) kbo(:, 2,51,11) = (/ & &1.0054e+00_rb,8.5632e-01_rb,5.9623e-01_rb,3.1426e-01_rb,1.7844e-03_rb/) kbo(:, 3,51,11) = (/ & &1.7180e+00_rb,1.4523e+00_rb,1.0136e+00_rb,5.3456e-01_rb,2.7288e-03_rb/) kbo(:, 4,51,11) = (/ & &2.7560e+00_rb,2.3178e+00_rb,1.6244e+00_rb,8.6011e-01_rb,3.9147e-03_rb/) kbo(:, 5,51,11) = (/ & &4.2636e+00_rb,3.5725e+00_rb,2.5176e+00_rb,1.3376e+00_rb,5.4601e-03_rb/) kbo(:, 1,52,11) = (/ & &4.1659e-01_rb,3.6012e-01_rb,2.5102e-01_rb,1.3270e-01_rb,8.3775e-04_rb/) kbo(:, 2,52,11) = (/ & &8.0451e-01_rb,6.9074e-01_rb,4.8148e-01_rb,2.5404e-01_rb,1.3424e-03_rb/) kbo(:, 3,52,11) = (/ & &1.4303e+00_rb,1.2146e+00_rb,8.4783e-01_rb,4.4730e-01_rb,2.0961e-03_rb/) kbo(:, 4,52,11) = (/ & &2.3661e+00_rb,1.9968e+00_rb,1.3985e+00_rb,7.3984e-01_rb,3.0912e-03_rb/) kbo(:, 5,52,11) = (/ & &3.7364e+00_rb,3.1393e+00_rb,2.2101e+00_rb,1.1738e+00_rb,4.3230e-03_rb/) kbo(:, 1,53,11) = (/ & &3.1784e-01_rb,2.7470e-01_rb,1.9112e-01_rb,1.0099e-01_rb,6.0100e-04_rb/) kbo(:, 2,53,11) = (/ & &6.3733e-01_rb,5.5043e-01_rb,3.8376e-01_rb,2.0263e-01_rb,1.0152e-03_rb/) kbo(:, 3,53,11) = (/ & &1.1810e+00_rb,1.0077e+00_rb,7.0333e-01_rb,3.7118e-01_rb,1.5799e-03_rb/) kbo(:, 4,53,11) = (/ & &2.0184e+00_rb,1.7109e+00_rb,1.1985e+00_rb,6.3377e-01_rb,2.3636e-03_rb/) kbo(:, 5,53,11) = (/ & &3.2693e+00_rb,2.7525e+00_rb,1.9355e+00_rb,1.0278e+00_rb,3.4086e-03_rb/) kbo(:, 1,54,11) = (/ & &2.4587e-01_rb,2.1298e-01_rb,1.4829e-01_rb,7.8206e-02_rb,4.4874e-04_rb/) kbo(:, 2,54,11) = (/ & &5.0524e-01_rb,4.3896e-01_rb,3.0674e-01_rb,1.6236e-01_rb,7.8054e-04_rb/) kbo(:, 3,54,11) = (/ & &9.7870e-01_rb,8.4204e-01_rb,5.8784e-01_rb,3.1052e-01_rb,1.2701e-03_rb/) kbo(:, 4,54,11) = (/ & &1.7368e+00_rb,1.4787e+00_rb,1.0357e+00_rb,5.4775e-01_rb,1.9340e-03_rb/) kbo(:, 5,54,11) = (/ & &2.8933e+00_rb,2.4419e+00_rb,1.7163e+00_rb,9.1082e-01_rb,2.8443e-03_rb/) kbo(:, 1,55,11) = (/ & &1.9418e-01_rb,1.6698e-01_rb,1.1582e-01_rb,6.0924e-02_rb,3.5209e-04_rb/) kbo(:, 2,55,11) = (/ & &3.9791e-01_rb,3.4892e-01_rb,2.4392e-01_rb,1.2929e-01_rb,6.3188e-04_rb/) kbo(:, 3,55,11) = (/ & &8.0845e-01_rb,6.9946e-01_rb,4.8912e-01_rb,2.5894e-01_rb,1.0591e-03_rb/) kbo(:, 4,55,11) = (/ & &1.4970e+00_rb,1.2804e+00_rb,8.9678e-01_rb,4.7424e-01_rb,1.6138e-03_rb/) kbo(:, 5,55,11) = (/ & &2.5700e+00_rb,2.1774e+00_rb,1.5304e+00_rb,8.1150e-01_rb,2.4277e-03_rb/) kbo(:, 1,56,11) = (/ & &1.5370e-01_rb,1.3145e-01_rb,9.1321e-02_rb,4.8124e-02_rb,2.7531e-04_rb/) kbo(:, 2,56,11) = (/ & &3.1616e-01_rb,2.7583e-01_rb,1.9245e-01_rb,1.0171e-01_rb,5.0269e-04_rb/) kbo(:, 3,56,11) = (/ & &6.6199e-01_rb,5.7649e-01_rb,4.0352e-01_rb,2.1386e-01_rb,8.6775e-04_rb/) kbo(:, 4,56,11) = (/ & &1.2822e+00_rb,1.1021e+00_rb,7.7256e-01_rb,4.0891e-01_rb,1.3519e-03_rb/) kbo(:, 5,56,11) = (/ & &2.2783e+00_rb,1.9368e+00_rb,1.3622e+00_rb,7.2221e-01_rb,2.0801e-03_rb/) kbo(:, 1,57,11) = (/ & &1.2165e-01_rb,1.0433e-01_rb,7.2303e-02_rb,3.8009e-02_rb,2.1938e-04_rb/) kbo(:, 2,57,11) = (/ & &2.5198e-01_rb,2.1938e-01_rb,1.5311e-01_rb,8.0877e-02_rb,3.9875e-04_rb/) kbo(:, 3,57,11) = (/ & &5.3606e-01_rb,4.7039e-01_rb,3.2945e-01_rb,1.7508e-01_rb,6.9954e-04_rb/) kbo(:, 4,57,11) = (/ & &1.0880e+00_rb,9.4273e-01_rb,6.6142e-01_rb,3.5027e-01_rb,1.1454e-03_rb/) kbo(:, 5,57,11) = (/ & &2.0139e+00_rb,1.7191e+00_rb,1.2097e+00_rb,6.4100e-01_rb,1.7901e-03_rb/) kbo(:, 1,58,11) = (/ & &4.6919e-02_rb,4.6268e-02_rb,3.7584e-02_rb,2.3911e-02_rb,1.7988e-04_rb/) kbo(:, 2,58,11) = (/ & &9.9628e-02_rb,9.8832e-02_rb,8.0744e-02_rb,5.1438e-02_rb,3.2482e-04_rb/) kbo(:, 3,58,11) = (/ & &2.1097e-01_rb,2.1358e-01_rb,1.7570e-01_rb,1.1318e-01_rb,5.8194e-04_rb/) kbo(:, 4,58,11) = (/ & &4.4837e-01_rb,4.4802e-01_rb,3.6936e-01_rb,2.3727e-01_rb,9.7962e-04_rb/) kbo(:, 5,58,11) = (/ & &8.6568e-01_rb,8.5230e-01_rb,7.0456e-01_rb,4.5178e-01_rb,1.5789e-03_rb/) kbo(:, 1,59,11) = (/ & &4.1955e-02_rb,4.1496e-02_rb,3.3924e-02_rb,2.1748e-02_rb,1.7054e-04_rb/) kbo(:, 2,59,11) = (/ & &9.0096e-02_rb,8.9872e-02_rb,7.3696e-02_rb,4.7378e-02_rb,3.1638e-04_rb/) kbo(:, 3,59,11) = (/ & &1.9169e-01_rb,1.9390e-01_rb,1.6037e-01_rb,1.0394e-01_rb,5.9374e-04_rb/) kbo(:, 4,59,11) = (/ & &4.1170e-01_rb,4.1459e-01_rb,3.4386e-01_rb,2.2297e-01_rb,1.0082e-03_rb/) kbo(:, 5,59,11) = (/ & &8.1839e-01_rb,8.1107e-01_rb,6.7470e-01_rb,4.3624e-01_rb,1.6869e-03_rb/) kbo(:, 1,13,12) = (/ & &1.0396e+02_rb,7.7973e+01_rb,5.1984e+01_rb,2.5992e+01_rb,2.8896e-01_rb/) kbo(:, 2,13,12) = (/ & &1.4817e+02_rb,1.1113e+02_rb,7.4089e+01_rb,3.7043e+01_rb,6.4071e-01_rb/) kbo(:, 3,13,12) = (/ & &2.0061e+02_rb,1.5046e+02_rb,1.0030e+02_rb,5.0152e+01_rb,7.6116e-01_rb/) kbo(:, 4,13,12) = (/ & &2.6114e+02_rb,1.9586e+02_rb,1.3057e+02_rb,6.5284e+01_rb,1.0553e+00_rb/) kbo(:, 5,13,12) = (/ & &3.2831e+02_rb,2.4622e+02_rb,1.6415e+02_rb,8.2071e+01_rb,1.4067e+00_rb/) kbo(:, 1,14,12) = (/ & &1.1135e+02_rb,8.3512e+01_rb,5.5676e+01_rb,2.7839e+01_rb,4.1053e-01_rb/) kbo(:, 2,14,12) = (/ & &1.5695e+02_rb,1.1771e+02_rb,7.8475e+01_rb,3.9240e+01_rb,6.2372e-01_rb/) kbo(:, 3,14,12) = (/ & &2.1121e+02_rb,1.5841e+02_rb,1.0560e+02_rb,5.2802e+01_rb,8.0301e-01_rb/) kbo(:, 4,14,12) = (/ & &2.7313e+02_rb,2.0485e+02_rb,1.3657e+02_rb,6.8283e+01_rb,1.0170e+00_rb/) kbo(:, 5,14,12) = (/ & &3.4124e+02_rb,2.5592e+02_rb,1.7062e+02_rb,8.5308e+01_rb,1.1064e+00_rb/) kbo(:, 1,15,12) = (/ & &1.1186e+02_rb,8.3897e+01_rb,5.5935e+01_rb,2.7966e+01_rb,4.8952e-01_rb/) kbo(:, 2,15,12) = (/ & &1.5638e+02_rb,1.1729e+02_rb,7.8194e+01_rb,3.9097e+01_rb,5.8507e-01_rb/) kbo(:, 3,15,12) = (/ & &2.0878e+02_rb,1.5659e+02_rb,1.0439e+02_rb,5.2197e+01_rb,6.7687e-01_rb/) kbo(:, 4,15,12) = (/ & &2.6790e+02_rb,2.0092e+02_rb,1.3395e+02_rb,6.6979e+01_rb,7.8981e-01_rb/) kbo(:, 5,15,12) = (/ & &3.3305e+02_rb,2.4981e+02_rb,1.6654e+02_rb,8.3272e+01_rb,9.5540e-01_rb/) kbo(:, 1,16,12) = (/ & &1.0741e+02_rb,8.0552e+01_rb,5.3706e+01_rb,2.6852e+01_rb,4.1874e-01_rb/) kbo(:, 2,16,12) = (/ & &1.4898e+02_rb,1.1174e+02_rb,7.4489e+01_rb,3.7244e+01_rb,5.0405e-01_rb/) kbo(:, 3,16,12) = (/ & &1.9721e+02_rb,1.4789e+02_rb,9.8599e+01_rb,4.9301e+01_rb,6.1901e-01_rb/) kbo(:, 4,16,12) = (/ & &2.5144e+02_rb,1.8859e+02_rb,1.2573e+02_rb,6.2879e+01_rb,7.4947e-01_rb/) kbo(:, 5,16,12) = (/ & &3.1058e+02_rb,2.3295e+02_rb,1.5529e+02_rb,7.7686e+01_rb,8.7491e-01_rb/) kbo(:, 1,17,12) = (/ & &9.9838e+01_rb,7.4879e+01_rb,4.9919e+01_rb,2.5012e+01_rb,3.9338e-01_rb/) kbo(:, 2,17,12) = (/ & &1.3717e+02_rb,1.0287e+02_rb,6.8583e+01_rb,3.4361e+01_rb,4.7893e-01_rb/) kbo(:, 3,17,12) = (/ & &1.8052e+02_rb,1.3539e+02_rb,9.0259e+01_rb,4.5242e+01_rb,5.7262e-01_rb/) kbo(:, 4,17,12) = (/ & &2.2880e+02_rb,1.7160e+02_rb,1.1440e+02_rb,5.7395e+01_rb,6.8306e-01_rb/) kbo(:, 5,17,12) = (/ & &2.8220e+02_rb,2.1165e+02_rb,1.4109e+02_rb,7.0870e+01_rb,7.6022e-01_rb/) kbo(:, 1,18,12) = (/ & &8.8836e+01_rb,6.6627e+01_rb,4.4421e+01_rb,2.2423e+01_rb,3.7355e-01_rb/) kbo(:, 2,18,12) = (/ & &1.2136e+02_rb,9.1017e+01_rb,6.0679e+01_rb,3.0651e+01_rb,4.3123e-01_rb/) kbo(:, 3,18,12) = (/ & &1.5857e+02_rb,1.1893e+02_rb,7.9284e+01_rb,4.0088e+01_rb,5.1039e-01_rb/) kbo(:, 4,18,12) = (/ & &2.0050e+02_rb,1.5036e+02_rb,1.0025e+02_rb,5.0735e+01_rb,5.8388e-01_rb/) kbo(:, 5,18,12) = (/ & &2.4631e+02_rb,1.8473e+02_rb,1.2316e+02_rb,6.2388e+01_rb,6.7078e-01_rb/) kbo(:, 1,19,12) = (/ & &7.8886e+01_rb,5.9167e+01_rb,3.9445e+01_rb,2.0119e+01_rb,3.3866e-01_rb/) kbo(:, 2,19,12) = (/ & &1.0689e+02_rb,8.0167e+01_rb,5.3444e+01_rb,2.7289e+01_rb,4.0283e-01_rb/) kbo(:, 3,19,12) = (/ & &1.3921e+02_rb,1.0440e+02_rb,6.9601e+01_rb,3.5553e+01_rb,4.5001e-01_rb/) kbo(:, 4,19,12) = (/ & &1.7541e+02_rb,1.3156e+02_rb,8.7714e+01_rb,4.4793e+01_rb,5.0843e-01_rb/) kbo(:, 5,19,12) = (/ & &2.1523e+02_rb,1.6142e+02_rb,1.0764e+02_rb,5.4993e+01_rb,5.9607e-01_rb/) kbo(:, 1,20,12) = (/ & &7.0328e+01_rb,5.2750e+01_rb,3.5209e+01_rb,1.8081e+01_rb,3.1237e-01_rb/) kbo(:, 2,20,12) = (/ & &9.4812e+01_rb,7.1110e+01_rb,4.7453e+01_rb,2.4387e+01_rb,3.6655e-01_rb/) kbo(:, 3,20,12) = (/ & &1.2307e+02_rb,9.2305e+01_rb,6.1607e+01_rb,3.1685e+01_rb,4.1127e-01_rb/) kbo(:, 4,20,12) = (/ & &1.5482e+02_rb,1.1612e+02_rb,7.7556e+01_rb,3.9922e+01_rb,4.7264e-01_rb/) kbo(:, 5,20,12) = (/ & &1.8921e+02_rb,1.4190e+02_rb,9.4818e+01_rb,4.8866e+01_rb,5.5288e-01_rb/) kbo(:, 1,21,12) = (/ & &6.2329e+01_rb,4.6745e+01_rb,3.1314e+01_rb,1.6132e+01_rb,2.8533e-01_rb/) kbo(:, 2,21,12) = (/ & &8.3734e+01_rb,6.2791e+01_rb,4.2073e+01_rb,2.1717e+01_rb,3.3097e-01_rb/) kbo(:, 3,21,12) = (/ & &1.0843e+02_rb,8.1321e+01_rb,5.4516e+01_rb,2.8198e+01_rb,3.8205e-01_rb/) kbo(:, 4,21,12) = (/ & &1.3597e+02_rb,1.0198e+02_rb,6.8398e+01_rb,3.5455e+01_rb,4.6172e-01_rb/) kbo(:, 5,21,12) = (/ & &1.6566e+02_rb,1.2424e+02_rb,8.3370e+01_rb,4.3320e+01_rb,5.2289e-01_rb/) kbo(:, 1,22,12) = (/ & &5.5853e+01_rb,4.1896e+01_rb,2.8239e+01_rb,1.4630e+01_rb,2.6479e-01_rb/) kbo(:, 2,22,12) = (/ & &7.4659e+01_rb,5.5993e+01_rb,3.7758e+01_rb,1.9621e+01_rb,3.0587e-01_rb/) kbo(:, 3,22,12) = (/ & &9.6287e+01_rb,7.2215e+01_rb,4.8710e+01_rb,2.5388e+01_rb,3.6961e-01_rb/) kbo(:, 4,22,12) = (/ & &1.2002e+02_rb,9.0023e+01_rb,6.0736e+01_rb,3.1753e+01_rb,4.4273e-01_rb/) kbo(:, 5,22,12) = (/ & &1.4596e+02_rb,1.0947e+02_rb,7.3878e+01_rb,3.8690e+01_rb,5.0560e-01_rb/) kbo(:, 1,23,12) = (/ & &4.9987e+01_rb,3.7501e+01_rb,2.5418e+01_rb,1.3325e+01_rb,2.4880e-01_rb/) kbo(:, 2,23,12) = (/ & &6.6514e+01_rb,4.9903e+01_rb,3.3828e+01_rb,1.7769e+01_rb,2.9089e-01_rb/) kbo(:, 3,23,12) = (/ & &8.5155e+01_rb,6.3887e+01_rb,4.3325e+01_rb,2.2796e+01_rb,3.6730e-01_rb/) kbo(:, 4,23,12) = (/ & &1.0588e+02_rb,7.9440e+01_rb,5.3898e+01_rb,2.8390e+01_rb,4.2226e-01_rb/) kbo(:, 5,23,12) = (/ & &1.2867e+02_rb,9.6554e+01_rb,6.5521e+01_rb,3.4526e+01_rb,4.8786e-01_rb/) kbo(:, 1,24,12) = (/ & &4.5237e+01_rb,3.3990e+01_rb,2.3082e+01_rb,1.2266e+01_rb,2.3374e-01_rb/) kbo(:, 2,24,12) = (/ & &5.9731e+01_rb,4.4882e+01_rb,3.0518e+01_rb,1.6222e+01_rb,2.9093e-01_rb/) kbo(:, 3,24,12) = (/ & &7.6147e+01_rb,5.7227e+01_rb,3.8961e+01_rb,2.0700e+01_rb,3.4607e-01_rb/) kbo(:, 4,24,12) = (/ & &9.4592e+01_rb,7.1092e+01_rb,4.8449e+01_rb,2.5703e+01_rb,4.0338e-01_rb/) kbo(:, 5,24,12) = (/ & &1.1508e+02_rb,8.6507e+01_rb,5.8986e+01_rb,3.1241e+01_rb,4.6347e-01_rb/) kbo(:, 1,25,12) = (/ & &4.1207e+01_rb,3.1054e+01_rb,2.1145e+01_rb,1.1344e+01_rb,2.1959e-01_rb/) kbo(:, 2,25,12) = (/ & &5.4029e+01_rb,4.0717e+01_rb,2.7774e+01_rb,1.4878e+01_rb,2.7843e-01_rb/) kbo(:, 3,25,12) = (/ & &6.8735e+01_rb,5.1802e+01_rb,3.5391e+01_rb,1.8919e+01_rb,3.2302e-01_rb/) kbo(:, 4,25,12) = (/ & &8.5416e+01_rb,6.4368e+01_rb,4.4030e+01_rb,2.3485e+01_rb,3.8140e-01_rb/) kbo(:, 5,25,12) = (/ & &1.0430e+02_rb,7.8570e+01_rb,5.3767e+01_rb,2.8613e+01_rb,4.3338e-01_rb/) kbo(:, 1,26,12) = (/ & &3.7870e+01_rb,2.8646e+01_rb,1.9592e+01_rb,1.0560e+01_rb,2.1067e-01_rb/) kbo(:, 2,26,12) = (/ & &4.9486e+01_rb,3.7425e+01_rb,2.5645e+01_rb,1.3791e+01_rb,2.5277e-01_rb/) kbo(:, 3,26,12) = (/ & &6.2993e+01_rb,4.7626e+01_rb,3.2666e+01_rb,1.7516e+01_rb,3.0077e-01_rb/) kbo(:, 4,26,12) = (/ & &7.8659e+01_rb,5.9439e+01_rb,4.0756e+01_rb,2.1814e+01_rb,3.5095e-01_rb/) kbo(:, 5,26,12) = (/ & &9.6658e+01_rb,7.2997e+01_rb,5.0039e+01_rb,2.6742e+01_rb,4.0727e-01_rb/) kbo(:, 1,27,12) = (/ & &3.5089e+01_rb,2.6619e+01_rb,1.8325e+01_rb,9.8881e+00_rb,1.9876e-01_rb/) kbo(:, 2,27,12) = (/ & &4.5899e+01_rb,3.4800e+01_rb,2.3944e+01_rb,1.2890e+01_rb,2.3298e-01_rb/) kbo(:, 3,27,12) = (/ & &5.8737e+01_rb,4.4506e+01_rb,3.0596e+01_rb,1.6445e+01_rb,2.8191e-01_rb/) kbo(:, 4,27,12) = (/ & &7.3770e+01_rb,5.5858e+01_rb,3.8369e+01_rb,2.0601e+01_rb,3.2481e-01_rb/) kbo(:, 5,27,12) = (/ & &9.1107e+01_rb,6.8940e+01_rb,4.7296e+01_rb,2.5356e+01_rb,3.8171e-01_rb/) kbo(:, 1,28,12) = (/ & &3.2818e+01_rb,2.4943e+01_rb,1.7280e+01_rb,9.3226e+00_rb,1.7817e-01_rb/) kbo(:, 2,28,12) = (/ & &4.3184e+01_rb,3.2811e+01_rb,2.2668e+01_rb,1.2208e+01_rb,2.1857e-01_rb/) kbo(:, 3,28,12) = (/ & &5.5616e+01_rb,4.2235e+01_rb,2.9105e+01_rb,1.5656e+01_rb,2.5762e-01_rb/) kbo(:, 4,28,12) = (/ & &7.0259e+01_rb,5.3319e+01_rb,3.6659e+01_rb,1.9693e+01_rb,3.0371e-01_rb/) kbo(:, 5,28,12) = (/ & &8.7123e+01_rb,6.6079e+01_rb,4.5396e+01_rb,2.4379e+01_rb,3.5478e-01_rb/) kbo(:, 1,29,12) = (/ & &3.0859e+01_rb,2.3511e+01_rb,1.6360e+01_rb,8.8280e+00_rb,1.6679e-01_rb/) kbo(:, 2,29,12) = (/ & &4.0867e+01_rb,3.1128e+01_rb,2.1584e+01_rb,1.1631e+01_rb,2.0451e-01_rb/) kbo(:, 3,29,12) = (/ & &5.2915e+01_rb,4.0294e+01_rb,2.7845e+01_rb,1.4987e+01_rb,2.3670e-01_rb/) kbo(:, 4,29,12) = (/ & &6.7028e+01_rb,5.1030e+01_rb,3.5190e+01_rb,1.8944e+01_rb,2.7999e-01_rb/) kbo(:, 5,29,12) = (/ & &8.3169e+01_rb,6.3273e+01_rb,4.3571e+01_rb,2.3474e+01_rb,3.2963e-01_rb/) kbo(:, 1,30,12) = (/ & &2.9181e+01_rb,2.2308e+01_rb,1.5570e+01_rb,8.4046e+00_rb,1.5217e-01_rb/) kbo(:, 2,30,12) = (/ & &3.8810e+01_rb,2.9664e+01_rb,2.0634e+01_rb,1.1131e+01_rb,1.8255e-01_rb/) kbo(:, 3,30,12) = (/ & &5.0316e+01_rb,3.8456e+01_rb,2.6686e+01_rb,1.4393e+01_rb,2.1489e-01_rb/) kbo(:, 4,30,12) = (/ & &6.3652e+01_rb,4.8625e+01_rb,3.3675e+01_rb,1.8188e+01_rb,2.5258e-01_rb/) kbo(:, 5,30,12) = (/ & &7.8956e+01_rb,6.0282e+01_rb,4.1671e+01_rb,2.2569e+01_rb,2.9642e-01_rb/) kbo(:, 1,31,12) = (/ & &2.7538e+01_rb,2.1159e+01_rb,1.4815e+01_rb,8.0002e+00_rb,1.3523e-01_rb/) kbo(:, 2,31,12) = (/ & &3.6621e+01_rb,2.8123e+01_rb,1.9646e+01_rb,1.0617e+01_rb,1.6072e-01_rb/) kbo(:, 3,31,12) = (/ & &4.7347e+01_rb,3.6341e+01_rb,2.5341e+01_rb,1.3718e+01_rb,1.9204e-01_rb/) kbo(:, 4,31,12) = (/ & &5.9881e+01_rb,4.5936e+01_rb,3.1977e+01_rb,1.7350e+01_rb,2.2658e-01_rb/) kbo(:, 5,31,12) = (/ & &7.4375e+01_rb,5.6987e+01_rb,3.9602e+01_rb,2.1563e+01_rb,2.6205e-01_rb/) kbo(:, 1,32,12) = (/ & &2.6147e+01_rb,2.0200e+01_rb,1.4192e+01_rb,7.6720e+00_rb,1.1829e-01_rb/) kbo(:, 2,32,12) = (/ & &3.4618e+01_rb,2.6728e+01_rb,1.8768e+01_rb,1.0173e+01_rb,1.4448e-01_rb/) kbo(:, 3,32,12) = (/ & &4.4733e+01_rb,3.4488e+01_rb,2.4181e+01_rb,1.3140e+01_rb,1.7290e-01_rb/) kbo(:, 4,32,12) = (/ & &5.6644e+01_rb,4.3620e+01_rb,3.0542e+01_rb,1.6653e+01_rb,2.0200e-01_rb/) kbo(:, 5,32,12) = (/ & &7.0667e+01_rb,5.4331e+01_rb,3.7949e+01_rb,2.0755e+01_rb,2.3023e-01_rb/) kbo(:, 1,33,12) = (/ & &2.4867e+01_rb,1.9325e+01_rb,1.3642e+01_rb,7.3884e+00_rb,1.0477e-01_rb/) kbo(:, 2,33,12) = (/ & &3.2857e+01_rb,2.5486e+01_rb,1.7993e+01_rb,9.7748e+00_rb,1.2807e-01_rb/) kbo(:, 3,33,12) = (/ & &4.2482e+01_rb,3.2899e+01_rb,2.3208e+01_rb,1.2658e+01_rb,1.5122e-01_rb/) kbo(:, 4,33,12) = (/ & &5.4028e+01_rb,4.1749e+01_rb,2.9378e+01_rb,1.6087e+01_rb,1.7656e-01_rb/) kbo(:, 5,33,12) = (/ & &6.7699e+01_rb,5.2220e+01_rb,3.6682e+01_rb,2.0157e+01_rb,2.0029e-01_rb/) kbo(:, 1,34,12) = (/ & &2.3698e+01_rb,1.8505e+01_rb,1.3121e+01_rb,7.1187e+00_rb,9.5888e-02_rb/) kbo(:, 2,34,12) = (/ & &3.1359e+01_rb,2.4427e+01_rb,1.7335e+01_rb,9.4402e+00_rb,1.1540e-01_rb/) kbo(:, 3,34,12) = (/ & &4.0701e+01_rb,3.1624e+01_rb,2.2413e+01_rb,1.2266e+01_rb,1.3371e-01_rb/) kbo(:, 4,34,12) = (/ & &5.2041e+01_rb,4.0338e+01_rb,2.8530e+01_rb,1.5676e+01_rb,1.5490e-01_rb/) kbo(:, 5,34,12) = (/ & &6.5491e+01_rb,5.0663e+01_rb,3.5768e+01_rb,1.9755e+01_rb,1.8157e-01_rb/) kbo(:, 1,35,12) = (/ & &2.2108e+01_rb,1.7359e+01_rb,1.2354e+01_rb,6.7085e+00_rb,8.3925e-02_rb/) kbo(:, 2,35,12) = (/ & &2.9390e+01_rb,2.2999e+01_rb,1.6388e+01_rb,8.9464e+00_rb,9.9962e-02_rb/) kbo(:, 3,35,12) = (/ & &3.8435e+01_rb,2.9966e+01_rb,2.1324e+01_rb,1.1694e+01_rb,1.1806e-01_rb/) kbo(:, 4,35,12) = (/ & &4.9418e+01_rb,3.8439e+01_rb,2.7323e+01_rb,1.5063e+01_rb,1.3630e-01_rb/) kbo(:, 5,35,12) = (/ & &6.2546e+01_rb,4.8535e+01_rb,3.4447e+01_rb,1.9092e+01_rb,1.6585e-01_rb/) kbo(:, 1,36,12) = (/ & &2.0129e+01_rb,1.5891e+01_rb,1.1346e+01_rb,6.1643e+00_rb,7.2166e-02_rb/) kbo(:, 2,36,12) = (/ & &2.6967e+01_rb,2.1198e+01_rb,1.5154e+01_rb,8.2858e+00_rb,8.5917e-02_rb/) kbo(:, 3,36,12) = (/ & &3.5568e+01_rb,2.7847e+01_rb,1.9901e+01_rb,1.0934e+01_rb,1.0193e-01_rb/) kbo(:, 4,36,12) = (/ & &4.6092e+01_rb,3.5975e+01_rb,2.5697e+01_rb,1.4200e+01_rb,1.2167e-01_rb/) kbo(:, 5,36,12) = (/ & &5.8785e+01_rb,4.5750e+01_rb,3.2634e+01_rb,1.8141e+01_rb,1.4958e-01_rb/) kbo(:, 1,37,12) = (/ & &1.7737e+01_rb,1.4074e+01_rb,1.0069e+01_rb,5.4659e+00_rb,6.3045e-02_rb/) kbo(:, 2,37,12) = (/ & &2.3991e+01_rb,1.8955e+01_rb,1.3586e+01_rb,7.4275e+00_rb,7.4702e-02_rb/) kbo(:, 3,37,12) = (/ & &3.1985e+01_rb,2.5160e+01_rb,1.8048e+01_rb,9.9281e+00_rb,8.9095e-02_rb/) kbo(:, 4,37,12) = (/ & &4.1889e+01_rb,3.2824e+01_rb,2.3555e+01_rb,1.3031e+01_rb,1.0656e-01_rb/) kbo(:, 5,37,12) = (/ & &5.3988e+01_rb,4.2162e+01_rb,3.0205e+01_rb,1.6815e+01_rb,1.3149e-01_rb/) kbo(:, 1,38,12) = (/ & &1.5671e+01_rb,1.2491e+01_rb,8.9462e+00_rb,4.8489e+00_rb,5.4067e-02_rb/) kbo(:, 2,38,12) = (/ & &2.1387e+01_rb,1.6974e+01_rb,1.2184e+01_rb,6.6604e+00_rb,6.5509e-02_rb/) kbo(:, 3,38,12) = (/ & &2.8785e+01_rb,2.2756e+01_rb,1.6373e+01_rb,9.0146e+00_rb,7.7568e-02_rb/) kbo(:, 4,38,12) = (/ & &3.8117e+01_rb,2.9996e+01_rb,2.1601e+01_rb,1.1967e+01_rb,9.4071e-02_rb/) kbo(:, 5,38,12) = (/ & &4.9667e+01_rb,3.8921e+01_rb,2.7995e+01_rb,1.5610e+01_rb,1.1469e-01_rb/) kbo(:, 1,39,12) = (/ & &1.3901e+01_rb,1.1137e+01_rb,7.9846e+00_rb,4.3195e+00_rb,4.6183e-02_rb/) kbo(:, 2,39,12) = (/ & &1.9150e+01_rb,1.5270e+01_rb,1.0976e+01_rb,5.9905e+00_rb,5.6093e-02_rb/) kbo(:, 3,39,12) = (/ & &2.6010e+01_rb,2.0653e+01_rb,1.4897e+01_rb,8.2086e+00_rb,6.7656e-02_rb/) kbo(:, 4,39,12) = (/ & &3.4809e+01_rb,2.7511e+01_rb,1.9872e+01_rb,1.1026e+01_rb,8.1649e-02_rb/) kbo(:, 5,39,12) = (/ & &4.5848e+01_rb,3.6052e+01_rb,2.6039e+01_rb,1.4537e+01_rb,9.9747e-02_rb/) kbo(:, 1,40,12) = (/ & &1.2081e+01_rb,9.7243e+00_rb,6.9733e+00_rb,3.7653e+00_rb,3.9581e-02_rb/) kbo(:, 2,40,12) = (/ & &1.6838e+01_rb,1.3484e+01_rb,9.6953e+00_rb,5.2801e+00_rb,4.8568e-02_rb/) kbo(:, 3,40,12) = (/ & &2.3104e+01_rb,1.8425e+01_rb,1.3302e+01_rb,7.3218e+00_rb,5.8955e-02_rb/) kbo(:, 4,40,12) = (/ & &3.1273e+01_rb,2.4818e+01_rb,1.7967e+01_rb,9.9757e+00_rb,7.0859e-02_rb/) kbo(:, 5,40,12) = (/ & &4.1711e+01_rb,3.2920e+01_rb,2.3848e+01_rb,1.3319e+01_rb,8.6539e-02_rb/) kbo(:, 1,41,12) = (/ & &1.0485e+01_rb,8.4800e+00_rb,6.0787e+00_rb,3.2769e+00_rb,3.3606e-02_rb/) kbo(:, 2,41,12) = (/ & &1.4786e+01_rb,1.1894e+01_rb,8.5576e+00_rb,4.6493e+00_rb,4.1457e-02_rb/) kbo(:, 3,41,12) = (/ & &2.0530e+01_rb,1.6437e+01_rb,1.1871e+01_rb,6.5218e+00_rb,5.0842e-02_rb/) kbo(:, 4,41,12) = (/ & &2.8093e+01_rb,2.2374e+01_rb,1.6223e+01_rb,9.0068e+00_rb,6.1229e-02_rb/) kbo(:, 5,41,12) = (/ & &3.7921e+01_rb,3.0039e+01_rb,2.1812e+01_rb,1.2190e+01_rb,7.5282e-02_rb/) kbo(:, 1,42,12) = (/ & &9.1079e+00_rb,7.3993e+00_rb,5.3023e+00_rb,2.8534e+00_rb,2.8075e-02_rb/) kbo(:, 2,42,12) = (/ & &1.3005e+01_rb,1.0510e+01_rb,7.5619e+00_rb,4.1019e+00_rb,3.5441e-02_rb/) kbo(:, 3,42,12) = (/ & &1.8277e+01_rb,1.4697e+01_rb,1.0617e+01_rb,5.8190e+00_rb,4.3089e-02_rb/) kbo(:, 4,42,12) = (/ & &2.5289e+01_rb,2.0221e+01_rb,1.4670e+01_rb,8.1365e+00_rb,5.2317e-02_rb/) kbo(:, 5,42,12) = (/ & &3.4535e+01_rb,2.7452e+01_rb,1.9969e+01_rb,1.1164e+01_rb,6.5436e-02_rb/) kbo(:, 1,43,12) = (/ & &7.8247e+00_rb,6.3834e+00_rb,4.5697e+00_rb,2.4551e+00_rb,2.3117e-02_rb/) kbo(:, 2,43,12) = (/ & &1.1336e+01_rb,9.1978e+00_rb,6.6143e+00_rb,3.5804e+00_rb,2.9659e-02_rb/) kbo(:, 3,43,12) = (/ & &1.6137e+01_rb,1.3030e+01_rb,9.4153e+00_rb,5.1449e+00_rb,3.6857e-02_rb/) kbo(:, 4,43,12) = (/ & &2.2622e+01_rb,1.8150e+01_rb,1.3165e+01_rb,7.2856e+00_rb,4.4557e-02_rb/) kbo(:, 5,43,12) = (/ & &3.1253e+01_rb,2.4925e+01_rb,1.8144e+01_rb,1.0136e+01_rb,5.5864e-02_rb/) kbo(:, 1,44,12) = (/ & &6.6782e+00_rb,5.4729e+00_rb,3.9116e+00_rb,2.0984e+00_rb,1.9194e-02_rb/) kbo(:, 2,44,12) = (/ & &9.8370e+00_rb,8.0127e+00_rb,5.7576e+00_rb,3.1087e+00_rb,2.4741e-02_rb/) kbo(:, 3,44,12) = (/ & &1.4194e+01_rb,1.1506e+01_rb,8.3119e+00_rb,4.5308e+00_rb,3.1291e-02_rb/) kbo(:, 4,44,12) = (/ & &2.0172e+01_rb,1.6246e+01_rb,1.1781e+01_rb,6.4997e+00_rb,3.7622e-02_rb/) kbo(:, 5,44,12) = (/ & &2.8219e+01_rb,2.2570e+01_rb,1.6428e+01_rb,9.1628e+00_rb,4.7831e-02_rb/) kbo(:, 1,45,12) = (/ & &5.6770e+00_rb,4.6794e+00_rb,3.3425e+00_rb,1.7902e+00_rb,1.5806e-02_rb/) kbo(:, 2,45,12) = (/ & &8.5322e+00_rb,6.9760e+00_rb,5.0078e+00_rb,2.6991e+00_rb,2.0417e-02_rb/) kbo(:, 3,45,12) = (/ & &1.2498e+01_rb,1.0162e+01_rb,7.3367e+00_rb,3.9899e+00_rb,2.6093e-02_rb/) kbo(:, 4,45,12) = (/ & &1.7997e+01_rb,1.4548e+01_rb,1.0552e+01_rb,5.8018e+00_rb,3.2356e-02_rb/) kbo(:, 5,45,12) = (/ & &2.5510e+01_rb,2.0455e+01_rb,1.4885e+01_rb,8.2823e+00_rb,4.0610e-02_rb/) kbo(:, 1,46,12) = (/ & &4.7638e+00_rb,3.9496e+00_rb,2.8218e+00_rb,1.5105e+00_rb,1.2604e-02_rb/) kbo(:, 2,46,12) = (/ & &7.3248e+00_rb,6.0189e+00_rb,4.3157e+00_rb,2.3220e+00_rb,1.6943e-02_rb/) kbo(:, 3,46,12) = (/ & &1.0931e+01_rb,8.9155e+00_rb,6.4285e+00_rb,3.4858e+00_rb,2.1734e-02_rb/) kbo(:, 4,46,12) = (/ & &1.5948e+01_rb,1.2933e+01_rb,9.3805e+00_rb,5.1432e+00_rb,2.7407e-02_rb/) kbo(:, 5,46,12) = (/ & &2.2923e+01_rb,1.8438e+01_rb,1.3407e+01_rb,7.4358e+00_rb,3.4309e-02_rb/) kbo(:, 1,47,12) = (/ & &3.9080e+00_rb,3.2569e+00_rb,2.3263e+00_rb,1.2446e+00_rb,1.0169e-02_rb/) kbo(:, 2,47,12) = (/ & &6.1567e+00_rb,5.0883e+00_rb,3.6497e+00_rb,1.9607e+00_rb,1.3733e-02_rb/) kbo(:, 3,47,12) = (/ & &9.4053e+00_rb,7.6982e+00_rb,5.5432e+00_rb,2.9978e+00_rb,1.8162e-02_rb/) kbo(:, 4,47,12) = (/ & &1.3941e+01_rb,1.1337e+01_rb,8.2150e+00_rb,4.4897e+00_rb,2.3207e-02_rb/) kbo(:, 5,47,12) = (/ & &2.0314e+01_rb,1.6396e+01_rb,1.1915e+01_rb,6.5825e+00_rb,2.8974e-02_rb/) kbo(:, 1,48,12) = (/ & &3.1887e+00_rb,2.6690e+00_rb,1.9049e+00_rb,1.0177e+00_rb,7.9795e-03_rb/) kbo(:, 2,48,12) = (/ & &5.1425e+00_rb,4.2754e+00_rb,3.0657e+00_rb,1.6476e+00_rb,1.1064e-02_rb/) kbo(:, 3,48,12) = (/ & &8.0497e+00_rb,6.6225e+00_rb,4.7642e+00_rb,2.5722e+00_rb,1.4743e-02_rb/) kbo(:, 4,48,12) = (/ & &1.2183e+01_rb,9.9349e+00_rb,7.1838e+00_rb,3.9122e+00_rb,1.9211e-02_rb/) kbo(:, 5,48,12) = (/ & &1.7984e+01_rb,1.4555e+01_rb,1.0573e+01_rb,5.8220e+00_rb,2.4214e-02_rb/) kbo(:, 1,49,12) = (/ & &2.5869e+00_rb,2.1741e+00_rb,1.5486e+00_rb,8.2603e-01_rb,6.2330e-03_rb/) kbo(:, 2,49,12) = (/ & &4.2741e+00_rb,3.5702e+00_rb,2.5591e+00_rb,1.3745e+00_rb,8.6780e-03_rb/) kbo(:, 3,49,12) = (/ & &6.8485e+00_rb,5.6671e+00_rb,4.0787e+00_rb,2.1997e+00_rb,1.1935e-02_rb/) kbo(:, 4,49,12) = (/ & &1.0623e+01_rb,8.6880e+00_rb,6.2733e+00_rb,3.4054e+00_rb,1.5780e-02_rb/) kbo(:, 5,49,12) = (/ & &1.5914e+01_rb,1.2906e+01_rb,9.3651e+00_rb,5.1392e+00_rb,2.0415e-02_rb/) kbo(:, 1,50,12) = (/ & &2.1098e+00_rb,1.7804e+00_rb,1.2663e+00_rb,6.7426e-01_rb,4.8509e-03_rb/) kbo(:, 2,50,12) = (/ & &3.5764e+00_rb,2.9999e+00_rb,2.1487e+00_rb,1.1529e+00_rb,6.9665e-03_rb/) kbo(:, 3,50,12) = (/ & &5.8619e+00_rb,4.8746e+00_rb,3.5094e+00_rb,1.8934e+00_rb,9.7336e-03_rb/) kbo(:, 4,50,12) = (/ & &9.3128e+00_rb,7.6488e+00_rb,5.5163e+00_rb,2.9881e+00_rb,1.3124e-02_rb/) kbo(:, 5,50,12) = (/ & &1.4210e+01_rb,1.1543e+01_rb,8.3635e+00_rb,4.5727e+00_rb,1.7352e-02_rb/) kbo(:, 1,51,12) = (/ & &1.7153e+00_rb,1.4551e+00_rb,1.0341e+00_rb,5.4981e-01_rb,3.8011e-03_rb/) kbo(:, 2,51,12) = (/ & &2.9969e+00_rb,2.5231e+00_rb,1.8054e+00_rb,9.6765e-01_rb,5.5539e-03_rb/) kbo(:, 3,51,12) = (/ & &5.0265e+00_rb,4.1972e+00_rb,3.0205e+00_rb,1.6294e+00_rb,8.0318e-03_rb/) kbo(:, 4,51,12) = (/ & &8.1641e+00_rb,6.7342e+00_rb,4.8593e+00_rb,2.6284e+00_rb,1.0987e-02_rb/) kbo(:, 5,51,12) = (/ & &1.2731e+01_rb,1.0364e+01_rb,7.4966e+00_rb,4.0842e+00_rb,1.4784e-02_rb/) kbo(:, 1,52,12) = (/ & &1.3829e+00_rb,1.1793e+00_rb,8.3692e-01_rb,4.4489e-01_rb,2.9111e-03_rb/) kbo(:, 2,52,12) = (/ & &2.5001e+00_rb,2.1140e+00_rb,1.5110e+00_rb,8.0824e-01_rb,4.4285e-03_rb/) kbo(:, 3,52,12) = (/ & &4.2993e+00_rb,3.6038e+00_rb,2.5920e+00_rb,1.3972e+00_rb,6.4988e-03_rb/) kbo(:, 4,52,12) = (/ & &7.1362e+00_rb,5.9093e+00_rb,4.2654e+00_rb,2.3076e+00_rb,9.0777e-03_rb/) kbo(:, 5,52,12) = (/ & &1.1388e+01_rb,9.2949e+00_rb,6.7113e+00_rb,3.6475e+00_rb,1.2584e-02_rb/) kbo(:, 1,53,12) = (/ & &1.0996e+00_rb,9.4448e-01_rb,6.6999e-01_rb,3.5618e-01_rb,2.1752e-03_rb/) kbo(:, 2,53,12) = (/ & &2.0714e+00_rb,1.7598e+00_rb,1.2567e+00_rb,6.7105e-01_rb,3.4164e-03_rb/) kbo(:, 3,53,12) = (/ & &3.6653e+00_rb,3.0827e+00_rb,2.2148e+00_rb,1.1926e+00_rb,5.1289e-03_rb/) kbo(:, 4,53,12) = (/ & &6.2207e+00_rb,5.1680e+00_rb,3.7282e+00_rb,2.0166e+00_rb,7.4836e-03_rb/) kbo(:, 5,53,12) = (/ & &1.0144e+01_rb,8.3054e+00_rb,5.9967e+00_rb,3.2508e+00_rb,1.0390e-02_rb/) kbo(:, 1,54,12) = (/ & &8.8096e-01_rb,7.6003e-01_rb,5.3828e-01_rb,2.8652e-01_rb,1.7028e-03_rb/) kbo(:, 2,54,12) = (/ & &1.7342e+00_rb,1.4790e+00_rb,1.0559e+00_rb,5.6372e-01_rb,2.7715e-03_rb/) kbo(:, 3,54,12) = (/ & &3.1660e+00_rb,2.6700e+00_rb,1.9162e+00_rb,1.0305e+00_rb,4.2409e-03_rb/) kbo(:, 4,54,12) = (/ & &5.4916e+00_rb,4.5733e+00_rb,3.2967e+00_rb,1.7833e+00_rb,6.3614e-03_rb/) kbo(:, 5,54,12) = (/ & &9.1316e+00_rb,7.4962e+00_rb,5.4128e+00_rb,2.9325e+00_rb,9.0996e-03_rb/) kbo(:, 1,55,12) = (/ & &7.0080e-01_rb,6.0941e-01_rb,4.3132e-01_rb,2.2991e-01_rb,1.3497e-03_rb/) kbo(:, 2,55,12) = (/ & &1.4554e+00_rb,1.2471e+00_rb,8.8937e-01_rb,4.7463e-01_rb,2.3282e-03_rb/) kbo(:, 3,55,12) = (/ & &2.7458e+00_rb,2.3243e+00_rb,1.6671e+00_rb,8.9493e-01_rb,3.6585e-03_rb/) kbo(:, 4,55,12) = (/ & &4.8778e+00_rb,4.0704e+00_rb,2.9318e+00_rb,1.5851e+00_rb,5.5673e-03_rb/) kbo(:, 5,55,12) = (/ & &8.2670e+00_rb,6.7971e+00_rb,4.9063e+00_rb,2.6581e+00_rb,8.0481e-03_rb/) kbo(:, 1,56,12) = (/ & &5.5050e-01_rb,4.8277e-01_rb,3.4128e-01_rb,1.8181e-01_rb,1.0666e-03_rb/) kbo(:, 2,56,12) = (/ & &1.2088e+00_rb,1.0426e+00_rb,7.4350e-01_rb,3.9744e-01_rb,1.9421e-03_rb/) kbo(:, 3,56,12) = (/ & &2.3753e+00_rb,2.0178e+00_rb,1.4463e+00_rb,7.7559e-01_rb,3.1486e-03_rb/) kbo(:, 4,56,12) = (/ & &4.3336e+00_rb,3.6227e+00_rb,2.6061e+00_rb,1.4075e+00_rb,4.8772e-03_rb/) kbo(:, 5,56,12) = (/ & &7.4871e+00_rb,6.1648e+00_rb,4.4455e+00_rb,2.4084e+00_rb,7.2633e-03_rb/) kbo(:, 1,57,12) = (/ & &4.2691e-01_rb,3.7593e-01_rb,2.6606e-01_rb,1.4195e-01_rb,8.3793e-04_rb/) kbo(:, 2,57,12) = (/ & &9.9567e-01_rb,8.6325e-01_rb,6.1463e-01_rb,3.2859e-01_rb,1.6242e-03_rb/) kbo(:, 3,57,12) = (/ & &2.0486e+00_rb,1.7449e+00_rb,1.2502e+00_rb,6.7018e-01_rb,2.7399e-03_rb/) kbo(:, 4,57,12) = (/ & &3.8496e+00_rb,3.2234e+00_rb,2.3159e+00_rb,1.2492e+00_rb,4.2649e-03_rb/) kbo(:, 5,57,12) = (/ & &6.7867e+00_rb,5.5927e+00_rb,4.0285e+00_rb,2.1823e+00_rb,6.5093e-03_rb/) kbo(:, 1,58,12) = (/ & &1.6356e-01_rb,1.6482e-01_rb,1.3630e-01_rb,8.7916e-02_rb,6.5877e-04_rb/) kbo(:, 2,58,12) = (/ & &3.9653e-01_rb,3.9771e-01_rb,3.3219e-01_rb,2.1522e-01_rb,1.3561e-03_rb/) kbo(:, 3,58,12) = (/ & &8.5978e-01_rb,8.4388e-01_rb,7.0959e-01_rb,4.6009e-01_rb,2.4231e-03_rb/) kbo(:, 4,58,12) = (/ & &1.6685e+00_rb,1.6071e+00_rb,1.3546e+00_rb,8.8295e-01_rb,3.8944e-03_rb/) kbo(:, 5,58,12) = (/ & &3.0057e+00_rb,2.8445e+00_rb,2.4022e+00_rb,1.5741e+00_rb,5.9596e-03_rb/) kbo(:, 1,59,12) = (/ & &1.4551e-01_rb,1.4725e-01_rb,1.2251e-01_rb,7.9561e-02_rb,6.8074e-04_rb/) kbo(:, 2,59,12) = (/ & &3.6080e-01_rb,3.6451e-01_rb,3.0649e-01_rb,2.0003e-01_rb,1.4324e-03_rb/) kbo(:, 3,59,12) = (/ & &8.0811e-01_rb,7.9823e-01_rb,6.7489e-01_rb,4.4138e-01_rb,2.5709e-03_rb/) kbo(:, 4,59,12) = (/ & &1.6058e+00_rb,1.5512e+00_rb,1.3138e+00_rb,8.6244e-01_rb,4.2753e-03_rb/) kbo(:, 5,59,12) = (/ & &2.9249e+00_rb,2.7730e+00_rb,2.3517e+00_rb,1.5520e+00_rb,6.3367e-03_rb/) kbo(:, 1,13,13) = (/ & &1.6844e+02_rb,1.2633e+02_rb,8.4219e+01_rb,4.2110e+01_rb,6.4746e-01_rb/) kbo(:, 2,13,13) = (/ & &2.3974e+02_rb,1.7981e+02_rb,1.1987e+02_rb,5.9937e+01_rb,7.7977e-01_rb/) kbo(:, 3,13,13) = (/ & &3.2626e+02_rb,2.4469e+02_rb,1.6313e+02_rb,8.1566e+01_rb,1.5118e+00_rb/) kbo(:, 4,13,13) = (/ & &4.2676e+02_rb,3.2006e+02_rb,2.1338e+02_rb,1.0669e+02_rb,1.6642e+00_rb/) kbo(:, 5,13,13) = (/ & &5.4119e+02_rb,4.0589e+02_rb,2.7059e+02_rb,1.3530e+02_rb,1.7313e+00_rb/) kbo(:, 1,14,13) = (/ & &1.9041e+02_rb,1.4281e+02_rb,9.5205e+01_rb,4.7604e+01_rb,4.8593e-01_rb/) kbo(:, 2,14,13) = (/ & &2.6943e+02_rb,2.0207e+02_rb,1.3472e+02_rb,6.7360e+01_rb,1.0523e+00_rb/) kbo(:, 3,14,13) = (/ & &3.6326e+02_rb,2.7244e+02_rb,1.8162e+02_rb,9.0813e+01_rb,1.4658e+00_rb/) kbo(:, 4,14,13) = (/ & &4.7082e+02_rb,3.5312e+02_rb,2.3542e+02_rb,1.1771e+02_rb,1.6120e+00_rb/) kbo(:, 5,14,13) = (/ & &5.9086e+02_rb,4.4312e+02_rb,2.9542e+02_rb,1.4771e+02_rb,1.8462e+00_rb/) kbo(:, 1,15,13) = (/ & &2.0331e+02_rb,1.5249e+02_rb,1.0165e+02_rb,5.0828e+01_rb,7.0211e-01_rb/) kbo(:, 2,15,13) = (/ & &2.8491e+02_rb,2.1369e+02_rb,1.4246e+02_rb,7.1232e+01_rb,1.1193e+00_rb/) kbo(:, 3,15,13) = (/ & &3.8104e+02_rb,2.8579e+02_rb,1.9054e+02_rb,9.5263e+01_rb,1.3482e+00_rb/) kbo(:, 4,15,13) = (/ & &4.8986e+02_rb,3.6740e+02_rb,2.4492e+02_rb,1.2246e+02_rb,1.6094e+00_rb/) kbo(:, 5,15,13) = (/ & &6.0932e+02_rb,4.5699e+02_rb,3.0468e+02_rb,1.5233e+02_rb,1.6798e+00_rb/) kbo(:, 1,16,13) = (/ & &2.0774e+02_rb,1.5583e+02_rb,1.0388e+02_rb,5.1937e+01_rb,8.3999e-01_rb/) kbo(:, 2,16,13) = (/ & &2.8883e+02_rb,2.1662e+02_rb,1.4442e+02_rb,7.2209e+01_rb,1.0268e+00_rb/) kbo(:, 3,16,13) = (/ & &3.8302e+02_rb,2.8729e+02_rb,1.9153e+02_rb,9.5770e+01_rb,1.2054e+00_rb/) kbo(:, 4,16,13) = (/ & &4.8856e+02_rb,3.6642e+02_rb,2.4427e+02_rb,1.2213e+02_rb,1.2630e+00_rb/) kbo(:, 5,16,13) = (/ & &6.0471e+02_rb,4.5354e+02_rb,3.0235e+02_rb,1.5118e+02_rb,1.5611e+00_rb/) kbo(:, 1,17,13) = (/ & &2.0589e+02_rb,1.5442e+02_rb,1.0294e+02_rb,5.1473e+01_rb,7.0898e-01_rb/) kbo(:, 2,17,13) = (/ & &2.8383e+02_rb,2.1287e+02_rb,1.4191e+02_rb,7.0957e+01_rb,8.7566e-01_rb/) kbo(:, 3,17,13) = (/ & &3.7354e+02_rb,2.8016e+02_rb,1.8678e+02_rb,9.3389e+01_rb,1.0083e+00_rb/) kbo(:, 4,17,13) = (/ & &4.7406e+02_rb,3.5553e+02_rb,2.3702e+02_rb,1.1851e+02_rb,1.2409e+00_rb/) kbo(:, 5,17,13) = (/ & &5.8252e+02_rb,4.3688e+02_rb,2.9126e+02_rb,1.4563e+02_rb,1.5701e+00_rb/) kbo(:, 1,18,13) = (/ & &1.9631e+02_rb,1.4723e+02_rb,9.8151e+01_rb,4.9076e+01_rb,6.5277e-01_rb/) kbo(:, 2,18,13) = (/ & &2.6794e+02_rb,2.0095e+02_rb,1.3397e+02_rb,6.6983e+01_rb,7.9253e-01_rb/) kbo(:, 3,18,13) = (/ & &3.5060e+02_rb,2.6297e+02_rb,1.7531e+02_rb,8.7658e+01_rb,9.7984e-01_rb/) kbo(:, 4,18,13) = (/ & &4.4214e+02_rb,3.3161e+02_rb,2.2107e+02_rb,1.1054e+02_rb,1.2414e+00_rb/) kbo(:, 5,18,13) = (/ & &5.4117e+02_rb,4.0586e+02_rb,2.7058e+02_rb,1.3530e+02_rb,1.5487e+00_rb/) kbo(:, 1,19,13) = (/ & &1.8546e+02_rb,1.3909e+02_rb,9.2728e+01_rb,4.6396e+01_rb,6.1789e-01_rb/) kbo(:, 2,19,13) = (/ & &2.5191e+02_rb,1.8893e+02_rb,1.2596e+02_rb,6.3020e+01_rb,7.3049e-01_rb/) kbo(:, 3,19,13) = (/ & &3.2752e+02_rb,2.4563e+02_rb,1.6376e+02_rb,8.1963e+01_rb,9.1418e-01_rb/) kbo(:, 4,19,13) = (/ & &4.1109e+02_rb,3.0832e+02_rb,2.0555e+02_rb,1.0295e+02_rb,1.1663e+00_rb/) kbo(:, 5,19,13) = (/ & &5.0069e+02_rb,3.7554e+02_rb,2.5035e+02_rb,1.2551e+02_rb,1.4682e+00_rb/) kbo(:, 1,20,13) = (/ & &1.7660e+02_rb,1.3245e+02_rb,8.8301e+01_rb,4.4344e+01_rb,5.8624e-01_rb/) kbo(:, 2,20,13) = (/ & &2.3782e+02_rb,1.7835e+02_rb,1.1891e+02_rb,5.9734e+01_rb,7.0627e-01_rb/) kbo(:, 3,20,13) = (/ & &3.0729e+02_rb,2.3046e+02_rb,1.5365e+02_rb,7.7248e+01_rb,8.6369e-01_rb/) kbo(:, 4,20,13) = (/ & &3.8357e+02_rb,2.8768e+02_rb,1.9179e+02_rb,9.6513e+01_rb,1.0255e+00_rb/) kbo(:, 5,20,13) = (/ & &4.6652e+02_rb,3.4991e+02_rb,2.3327e+02_rb,1.1751e+02_rb,1.3105e+00_rb/) kbo(:, 1,21,13) = (/ & &1.6552e+02_rb,1.2414e+02_rb,8.2761e+01_rb,4.1834e+01_rb,5.4233e-01_rb/) kbo(:, 2,21,13) = (/ & &2.2144e+02_rb,1.6608e+02_rb,1.1072e+02_rb,5.6006e+01_rb,6.6551e-01_rb/) kbo(:, 3,21,13) = (/ & &2.8447e+02_rb,2.1334e+02_rb,1.4223e+02_rb,7.2029e+01_rb,7.8267e-01_rb/) kbo(:, 4,21,13) = (/ & &3.5426e+02_rb,2.6570e+02_rb,1.7714e+02_rb,8.9791e+01_rb,9.3322e-01_rb/) kbo(:, 5,21,13) = (/ & &4.3028e+02_rb,3.2271e+02_rb,2.1513e+02_rb,1.0915e+02_rb,1.1469e+00_rb/) kbo(:, 1,22,13) = (/ & &1.5536e+02_rb,1.1652e+02_rb,7.7681e+01_rb,3.9611e+01_rb,5.1617e-01_rb/) kbo(:, 2,22,13) = (/ & &2.0596e+02_rb,1.5446e+02_rb,1.0298e+02_rb,5.2572e+01_rb,6.2474e-01_rb/) kbo(:, 3,22,13) = (/ & &2.6312e+02_rb,1.9733e+02_rb,1.3157e+02_rb,6.7220e+01_rb,7.4033e-01_rb/) kbo(:, 4,22,13) = (/ & &3.2670e+02_rb,2.4500e+02_rb,1.6337e+02_rb,8.3538e+01_rb,8.8562e-01_rb/) kbo(:, 5,22,13) = (/ & &3.9539e+02_rb,2.9656e+02_rb,1.9778e+02_rb,1.0126e+02_rb,1.0777e+00_rb/) kbo(:, 1,23,13) = (/ & &1.4370e+02_rb,1.0779e+02_rb,7.1941e+01_rb,3.6979e+01_rb,5.0881e-01_rb/) kbo(:, 2,23,13) = (/ & &1.8910e+02_rb,1.4182e+02_rb,9.4675e+01_rb,4.8747e+01_rb,5.9561e-01_rb/) kbo(:, 3,23,13) = (/ & &2.4065e+02_rb,1.8048e+02_rb,1.2051e+02_rb,6.2134e+01_rb,7.0317e-01_rb/) kbo(:, 4,23,13) = (/ & &2.9775e+02_rb,2.2332e+02_rb,1.4916e+02_rb,7.6994e+01_rb,8.5956e-01_rb/) kbo(:, 5,23,13) = (/ & &3.5987e+02_rb,2.6990e+02_rb,1.8034e+02_rb,9.3182e+01_rb,1.0114e+00_rb/) kbo(:, 1,24,13) = (/ & &1.3242e+02_rb,9.9313e+01_rb,6.6507e+01_rb,3.4403e+01_rb,4.7778e-01_rb/) kbo(:, 2,24,13) = (/ & &1.7334e+02_rb,1.3001e+02_rb,8.7073e+01_rb,4.5133e+01_rb,5.5652e-01_rb/) kbo(:, 3,24,13) = (/ & &2.1981e+02_rb,1.6486e+02_rb,1.1045e+02_rb,5.7389e+01_rb,6.8303e-01_rb/) kbo(:, 4,24,13) = (/ & &2.7150e+02_rb,2.0360e+02_rb,1.3644e+02_rb,7.1035e+01_rb,8.3312e-01_rb/) kbo(:, 5,24,13) = (/ & &3.2837e+02_rb,2.4630e+02_rb,1.6509e+02_rb,8.6103e+01_rb,9.5638e-01_rb/) kbo(:, 1,25,13) = (/ & &1.2137e+02_rb,9.1042e+01_rb,6.1224e+01_rb,3.1886e+01_rb,4.5611e-01_rb/) kbo(:, 2,25,13) = (/ & &1.5823e+02_rb,1.1867e+02_rb,7.9841e+01_rb,4.1707e+01_rb,5.3430e-01_rb/) kbo(:, 3,25,13) = (/ & &2.0017e+02_rb,1.5012e+02_rb,1.0102e+02_rb,5.2903e+01_rb,6.6826e-01_rb/) kbo(:, 4,25,13) = (/ & &2.4727e+02_rb,1.8545e+02_rb,1.2481e+02_rb,6.5530e+01_rb,7.9106e-01_rb/) kbo(:, 5,25,13) = (/ & &2.9868e+02_rb,2.2401e+02_rb,1.5081e+02_rb,7.9363e+01_rb,9.2773e-01_rb/) kbo(:, 1,26,13) = (/ & &1.1166e+02_rb,8.3750e+01_rb,5.6641e+01_rb,2.9761e+01_rb,4.3741e-01_rb/) kbo(:, 2,26,13) = (/ & &1.4505e+02_rb,1.0880e+02_rb,7.3586e+01_rb,3.8778e+01_rb,5.3620e-01_rb/) kbo(:, 3,26,13) = (/ & &1.8336e+02_rb,1.3753e+02_rb,9.3041e+01_rb,4.9168e+01_rb,6.5727e-01_rb/) kbo(:, 4,26,13) = (/ & &2.2613e+02_rb,1.6961e+02_rb,1.1481e+02_rb,6.0809e+01_rb,7.5877e-01_rb/) kbo(:, 5,26,13) = (/ & &2.7339e+02_rb,2.0507e+02_rb,1.3883e+02_rb,7.3616e+01_rb,9.0221e-01_rb/) kbo(:, 1,27,13) = (/ & &1.0286e+02_rb,7.7197e+01_rb,5.2520e+01_rb,2.7881e+01_rb,4.2067e-01_rb/) kbo(:, 2,27,13) = (/ & &1.3339e+02_rb,1.0010e+02_rb,6.8159e+01_rb,3.6272e+01_rb,5.2994e-01_rb/) kbo(:, 3,27,13) = (/ & &1.6841e+02_rb,1.2640e+02_rb,8.6087e+01_rb,4.5886e+01_rb,6.2144e-01_rb/) kbo(:, 4,27,13) = (/ & &2.0796e+02_rb,1.5610e+02_rb,1.0629e+02_rb,5.6702e+01_rb,7.2963e-01_rb/) kbo(:, 5,27,13) = (/ & &2.5159e+02_rb,1.8888e+02_rb,1.2865e+02_rb,6.8691e+01_rb,8.6563e-01_rb/) kbo(:, 1,28,13) = (/ & &9.5256e+01_rb,7.1619e+01_rb,4.8936e+01_rb,2.6277e+01_rb,4.0676e-01_rb/) kbo(:, 2,28,13) = (/ & &1.2337e+02_rb,9.2726e+01_rb,6.3443e+01_rb,3.4072e+01_rb,4.9978e-01_rb/) kbo(:, 3,28,13) = (/ & &1.5583e+02_rb,1.1712e+02_rb,8.0174e+01_rb,4.3046e+01_rb,5.7218e-01_rb/) kbo(:, 4,28,13) = (/ & &1.9223e+02_rb,1.4447e+02_rb,9.8926e+01_rb,5.3164e+01_rb,6.9683e-01_rb/) kbo(:, 5,28,13) = (/ & &2.3315e+02_rb,1.7521e+02_rb,1.1992e+02_rb,6.4418e+01_rb,8.1878e-01_rb/) kbo(:, 1,29,13) = (/ & &8.8532e+01_rb,6.6695e+01_rb,4.5757e+01_rb,2.4810e+01_rb,3.8492e-01_rb/) kbo(:, 2,29,13) = (/ & &1.1463e+02_rb,8.6325e+01_rb,5.9300e+01_rb,3.2087e+01_rb,4.4646e-01_rb/) kbo(:, 3,29,13) = (/ & &1.4438e+02_rb,1.0869e+02_rb,7.4772e+01_rb,4.0468e+01_rb,5.3953e-01_rb/) kbo(:, 4,29,13) = (/ & &1.7851e+02_rb,1.3434e+02_rb,9.2412e+01_rb,4.9954e+01_rb,6.4107e-01_rb/) kbo(:, 5,29,13) = (/ & &2.1752e+02_rb,1.6365e+02_rb,1.1246e+02_rb,6.0724e+01_rb,7.6365e-01_rb/) kbo(:, 1,30,13) = (/ & &8.2710e+01_rb,6.2476e+01_rb,4.3045e+01_rb,2.3511e+01_rb,3.4189e-01_rb/) kbo(:, 2,30,13) = (/ & &1.0675e+02_rb,8.0586e+01_rb,5.5620e+01_rb,3.0345e+01_rb,4.0578e-01_rb/) kbo(:, 3,30,13) = (/ & &1.3482e+02_rb,1.0169e+02_rb,7.0226e+01_rb,3.8224e+01_rb,5.0418e-01_rb/) kbo(:, 4,30,13) = (/ & &1.6752e+02_rb,1.2628e+02_rb,8.7179e+01_rb,4.7334e+01_rb,5.9789e-01_rb/) kbo(:, 5,30,13) = (/ & &2.0548e+02_rb,1.5477e+02_rb,1.0678e+02_rb,5.7811e+01_rb,7.2304e-01_rb/) kbo(:, 1,31,13) = (/ & &7.6989e+01_rb,5.8322e+01_rb,4.0414e+01_rb,2.2252e+01_rb,3.0592e-01_rb/) kbo(:, 2,31,13) = (/ & &9.9596e+01_rb,7.5380e+01_rb,5.2274e+01_rb,2.8707e+01_rb,3.7677e-01_rb/) kbo(:, 3,31,13) = (/ & &1.2653e+02_rb,9.5656e+01_rb,6.6313e+01_rb,3.6293e+01_rb,4.5864e-01_rb/) kbo(:, 4,31,13) = (/ & &1.5839e+02_rb,1.1960e+02_rb,8.2835e+01_rb,4.5152e+01_rb,5.5168e-01_rb/) kbo(:, 5,31,13) = (/ & &1.9525e+02_rb,1.4733e+02_rb,1.0199e+02_rb,5.5418e+01_rb,6.7878e-01_rb/) kbo(:, 1,32,13) = (/ & &7.2617e+01_rb,5.5198e+01_rb,3.8454e+01_rb,2.1285e+01_rb,2.7831e-01_rb/) kbo(:, 2,32,13) = (/ & &9.4496e+01_rb,7.1727e+01_rb,4.9927e+01_rb,2.7539e+01_rb,3.4616e-01_rb/) kbo(:, 3,32,13) = (/ & &1.2095e+02_rb,9.1662e+01_rb,6.3739e+01_rb,3.5032e+01_rb,4.1226e-01_rb/) kbo(:, 4,32,13) = (/ & &1.5220e+02_rb,1.1521e+02_rb,8.0042e+01_rb,4.3833e+01_rb,5.1531e-01_rb/) kbo(:, 5,32,13) = (/ & &1.8837e+02_rb,1.4240e+02_rb,9.8836e+01_rb,5.3991e+01_rb,6.4895e-01_rb/) kbo(:, 1,33,13) = (/ & &6.9586e+01_rb,5.3075e+01_rb,3.7119e+01_rb,2.0620e+01_rb,2.5421e-01_rb/) kbo(:, 2,33,13) = (/ & &9.1190e+01_rb,6.9432e+01_rb,4.8467e+01_rb,2.6834e+01_rb,3.0964e-01_rb/) kbo(:, 3,33,13) = (/ & &1.1725e+02_rb,8.9117e+01_rb,6.2134e+01_rb,3.4318e+01_rb,3.8320e-01_rb/) kbo(:, 4,33,13) = (/ & &1.4810e+02_rb,1.1236e+02_rb,7.8257e+01_rb,4.3108e+01_rb,4.8588e-01_rb/) kbo(:, 5,33,13) = (/ & &1.8404e+02_rb,1.3940e+02_rb,9.6928e+01_rb,5.3246e+01_rb,6.2021e-01_rb/) kbo(:, 1,34,13) = (/ & &6.7703e+01_rb,5.1785e+01_rb,3.6334e+01_rb,2.0214e+01_rb,2.2826e-01_rb/) kbo(:, 2,34,13) = (/ & &8.9165e+01_rb,6.8046e+01_rb,4.7643e+01_rb,2.6485e+01_rb,2.7978e-01_rb/) kbo(:, 3,34,13) = (/ & &1.1511e+02_rb,8.7692e+01_rb,6.1290e+01_rb,3.4007e+01_rb,3.5723e-01_rb/) kbo(:, 4,34,13) = (/ & &1.4598e+02_rb,1.1096e+02_rb,7.7422e+01_rb,4.2877e+01_rb,4.6377e-01_rb/) kbo(:, 5,34,13) = (/ & &1.8238e+02_rb,1.3836e+02_rb,9.6327e+01_rb,5.3168e+01_rb,5.7690e-01_rb/) kbo(:, 1,35,13) = (/ & &6.4861e+01_rb,4.9746e+01_rb,3.5026e+01_rb,1.9551e+01_rb,2.0156e-01_rb/) kbo(:, 2,35,13) = (/ & &8.5976e+01_rb,6.5785e+01_rb,4.6175e+01_rb,2.5782e+01_rb,2.5401e-01_rb/) kbo(:, 3,35,13) = (/ & &1.1165e+02_rb,8.5245e+01_rb,5.9716e+01_rb,3.3273e+01_rb,3.2846e-01_rb/) kbo(:, 4,35,13) = (/ & &1.4250e+02_rb,1.0853e+02_rb,7.5838e+01_rb,4.2162e+01_rb,4.2675e-01_rb/) kbo(:, 5,35,13) = (/ & &1.7910e+02_rb,1.3608e+02_rb,9.4891e+01_rb,5.2581e+01_rb,5.2256e-01_rb/) kbo(:, 1,36,13) = (/ & &6.0764e+01_rb,4.6732e+01_rb,3.3052e+01_rb,1.8514e+01_rb,1.7227e-01_rb/) kbo(:, 2,36,13) = (/ & &8.1347e+01_rb,6.2416e+01_rb,4.3933e+01_rb,2.4619e+01_rb,2.3170e-01_rb/) kbo(:, 3,36,13) = (/ & &1.0653e+02_rb,8.1514e+01_rb,5.7203e+01_rb,3.2018e+01_rb,2.9859e-01_rb/) kbo(:, 4,36,13) = (/ & &1.3711e+02_rb,1.0461e+02_rb,7.3196e+01_rb,4.0838e+01_rb,3.8265e-01_rb/) kbo(:, 5,36,13) = (/ & &1.7349e+02_rb,1.3202e+02_rb,9.2179e+01_rb,5.1271e+01_rb,4.7154e-01_rb/) kbo(:, 1,37,13) = (/ & &5.5040e+01_rb,4.2456e+01_rb,3.0166e+01_rb,1.6967e+01_rb,1.4686e-01_rb/) kbo(:, 2,37,13) = (/ & &7.4751e+01_rb,5.7522e+01_rb,4.0627e+01_rb,2.2828e+01_rb,1.9745e-01_rb/) kbo(:, 3,37,13) = (/ & &9.9126e+01_rb,7.6001e+01_rb,5.3446e+01_rb,3.0003e+01_rb,2.5830e-01_rb/) kbo(:, 4,37,13) = (/ & &1.2888e+02_rb,9.8527e+01_rb,6.9056e+01_rb,3.8643e+01_rb,3.3278e-01_rb/) kbo(:, 5,37,13) = (/ & &1.6453e+02_rb,1.2541e+02_rb,8.7685e+01_rb,4.8918e+01_rb,4.1260e-01_rb/) kbo(:, 1,38,13) = (/ & &4.9859e+01_rb,3.8586e+01_rb,2.7550e+01_rb,1.5547e+01_rb,1.2396e-01_rb/) kbo(:, 2,38,13) = (/ & &6.8738e+01_rb,5.3032e+01_rb,3.7612e+01_rb,2.1200e+01_rb,1.6720e-01_rb/) kbo(:, 3,38,13) = (/ & &9.2373e+01_rb,7.0999e+01_rb,5.0053e+01_rb,2.8170e+01_rb,2.2370e-01_rb/) kbo(:, 4,38,13) = (/ & &1.2130e+02_rb,9.2918e+01_rb,6.5279e+01_rb,3.6626e+01_rb,2.8704e-01_rb/) kbo(:, 5,38,13) = (/ & &1.5627e+02_rb,1.1930e+02_rb,8.3547e+01_rb,4.6739e+01_rb,3.6180e-01_rb/) kbo(:, 1,39,13) = (/ & &4.5302e+01_rb,3.5171e+01_rb,2.5236e+01_rb,1.4286e+01_rb,1.0568e-01_rb/) kbo(:, 2,39,13) = (/ & &6.3391e+01_rb,4.9041e+01_rb,3.4923e+01_rb,1.9751e+01_rb,1.4249e-01_rb/) kbo(:, 3,39,13) = (/ & &8.6323e+01_rb,6.6507e+01_rb,4.7040e+01_rb,2.6533e+01_rb,1.9303e-01_rb/) kbo(:, 4,39,13) = (/ & &1.1457e+02_rb,8.7914e+01_rb,6.1899e+01_rb,3.4824e+01_rb,2.4868e-01_rb/) kbo(:, 5,39,13) = (/ & &1.4887e+02_rb,1.1383e+02_rb,7.9847e+01_rb,4.4779e+01_rb,3.1416e-01_rb/) kbo(:, 1,40,13) = (/ & &4.0177e+01_rb,3.1298e+01_rb,2.2565e+01_rb,1.2805e+01_rb,8.8138e-02_rb/) kbo(:, 2,40,13) = (/ & &5.7199e+01_rb,4.4376e+01_rb,3.1743e+01_rb,1.8006e+01_rb,1.1856e-01_rb/) kbo(:, 3,40,13) = (/ & &7.9150e+01_rb,6.1135e+01_rb,4.3398e+01_rb,2.4540e+01_rb,1.6359e-01_rb/) kbo(:, 4,40,13) = (/ & &1.0651e+02_rb,8.1890e+01_rb,5.7786e+01_rb,3.2576e+01_rb,2.1421e-01_rb/) kbo(:, 5,40,13) = (/ & &1.3985e+02_rb,1.0710e+02_rb,7.5255e+01_rb,4.2282e+01_rb,2.7560e-01_rb/) kbo(:, 1,41,13) = (/ & &3.5483e+01_rb,2.7745e+01_rb,2.0104e+01_rb,1.1435e+01_rb,7.4578e-02_rb/) kbo(:, 2,41,13) = (/ & &5.1443e+01_rb,4.0033e+01_rb,2.8766e+01_rb,1.6358e+01_rb,1.0080e-01_rb/) kbo(:, 3,41,13) = (/ & &7.2353e+01_rb,5.6024e+01_rb,3.9928e+01_rb,2.2644e+01_rb,1.3798e-01_rb/) kbo(:, 4,41,13) = (/ & &9.8821e+01_rb,7.6124e+01_rb,5.3862e+01_rb,3.0414e+01_rb,1.8395e-01_rb/) kbo(:, 5,41,13) = (/ & &1.3121e+02_rb,1.0062e+02_rb,7.0817e+01_rb,3.9858e+01_rb,2.3971e-01_rb/) kbo(:, 1,42,13) = (/ & &3.1312e+01_rb,2.4582e+01_rb,1.7898e+01_rb,1.0203e+01_rb,6.3311e-02_rb/) kbo(:, 2,42,13) = (/ & &4.6257e+01_rb,3.6106e+01_rb,2.6059e+01_rb,1.4850e+01_rb,8.5987e-02_rb/) kbo(:, 3,42,13) = (/ & &6.6134e+01_rb,5.1324e+01_rb,3.6711e+01_rb,2.0879e+01_rb,1.1696e-01_rb/) kbo(:, 4,42,13) = (/ & &9.1649e+01_rb,7.0739e+01_rb,5.0191e+01_rb,2.8396e+01_rb,1.5868e-01_rb/) kbo(:, 5,42,13) = (/ & &1.2315e+02_rb,9.4550e+01_rb,6.6649e+01_rb,3.7570e+01_rb,2.0886e-01_rb/) kbo(:, 1,43,13) = (/ & &2.7228e+01_rb,2.1458e+01_rb,1.5694e+01_rb,8.9614e+00_rb,5.3608e-02_rb/) kbo(:, 2,43,13) = (/ & &4.1053e+01_rb,3.2140e+01_rb,2.3306e+01_rb,1.3302e+01_rb,7.1800e-02_rb/) kbo(:, 3,43,13) = (/ & &5.9801e+01_rb,4.6516e+01_rb,3.3390e+01_rb,1.9030e+01_rb,9.7105e-02_rb/) kbo(:, 4,43,13) = (/ & &8.4239e+01_rb,6.5135e+01_rb,4.6335e+01_rb,2.6274e+01_rb,1.3391e-01_rb/) kbo(:, 5,43,13) = (/ & &1.1479e+02_rb,8.8247e+01_rb,6.2314e+01_rb,3.5145e+01_rb,1.7840e-01_rb/) kbo(:, 1,44,13) = (/ & &2.3465e+01_rb,1.8562e+01_rb,1.3638e+01_rb,7.7925e+00_rb,4.4874e-02_rb/) kbo(:, 2,44,13) = (/ & &3.6146e+01_rb,2.8382e+01_rb,2.0672e+01_rb,1.1814e+01_rb,5.9063e-02_rb/) kbo(:, 3,44,13) = (/ & &5.3714e+01_rb,4.1873e+01_rb,3.0165e+01_rb,1.7212e+01_rb,7.9828e-02_rb/) kbo(:, 4,44,13) = (/ & &7.6981e+01_rb,5.9614e+01_rb,4.2519e+01_rb,2.4160e+01_rb,1.1248e-01_rb/) kbo(:, 5,44,13) = (/ & &1.0651e+02_rb,8.1983e+01_rb,5.8013e+01_rb,3.2734e+01_rb,1.4901e-01_rb/) kbo(:, 1,45,13) = (/ & &2.0186e+01_rb,1.6021e+01_rb,1.1808e+01_rb,6.7511e+00_rb,3.7575e-02_rb/) kbo(:, 2,45,13) = (/ & &3.1735e+01_rb,2.4996e+01_rb,1.8280e+01_rb,1.0459e+01_rb,4.9524e-02_rb/) kbo(:, 3,45,13) = (/ & &4.8111e+01_rb,3.7595e+01_rb,2.7182e+01_rb,1.5526e+01_rb,6.7700e-02_rb/) kbo(:, 4,45,13) = (/ & &7.0180e+01_rb,5.4438e+01_rb,3.8926e+01_rb,2.2155e+01_rb,9.2168e-02_rb/) kbo(:, 5,45,13) = (/ & &9.8620e+01_rb,7.6015e+01_rb,5.3889e+01_rb,3.0449e+01_rb,1.2546e-01_rb/) kbo(:, 1,46,13) = (/ & &1.7168e+01_rb,1.3674e+01_rb,1.0102e+01_rb,5.7721e+00_rb,3.1506e-02_rb/) kbo(:, 2,46,13) = (/ & &2.7551e+01_rb,2.1759e+01_rb,1.5975e+01_rb,9.1472e+00_rb,4.1368e-02_rb/) kbo(:, 3,46,13) = (/ & &4.2631e+01_rb,3.3389e+01_rb,2.4233e+01_rb,1.3855e+01_rb,5.6581e-02_rb/) kbo(:, 4,46,13) = (/ & &6.3374e+01_rb,4.9245e+01_rb,3.5311e+01_rb,2.0117e+01_rb,7.4981e-02_rb/) kbo(:, 5,46,13) = (/ & &9.0545e+01_rb,6.9872e+01_rb,4.9627e+01_rb,2.8091e+01_rb,1.0356e-01_rb/) kbo(:, 1,47,13) = (/ & &1.4285e+01_rb,1.1420e+01_rb,8.4474e+00_rb,4.8173e+00_rb,2.6647e-02_rb/) kbo(:, 2,47,13) = (/ & &2.3421e+01_rb,1.8547e+01_rb,1.3658e+01_rb,7.8222e+00_rb,3.5142e-02_rb/) kbo(:, 3,47,13) = (/ & &3.7014e+01_rb,2.9064e+01_rb,2.1182e+01_rb,1.2119e+01_rb,4.6223e-02_rb/) kbo(:, 4,47,13) = (/ & &5.6196e+01_rb,4.3754e+01_rb,3.1477e+01_rb,1.7951e+01_rb,6.2561e-02_rb/) kbo(:, 5,47,13) = (/ & &8.1804e+01_rb,6.3215e+01_rb,4.5000e+01_rb,2.5512e+01_rb,8.4936e-02_rb/) kbo(:, 1,48,13) = (/ & &1.1839e+01_rb,9.5013e+00_rb,7.0342e+00_rb,3.9991e+00_rb,2.2276e-02_rb/) kbo(:, 2,48,13) = (/ & &1.9820e+01_rb,1.5737e+01_rb,1.1620e+01_rb,6.6464e+00_rb,2.9148e-02_rb/) kbo(:, 3,48,13) = (/ & &3.1994e+01_rb,2.5174e+01_rb,1.8417e+01_rb,1.0540e+01_rb,3.8297e-02_rb/) kbo(:, 4,48,13) = (/ & &4.9572e+01_rb,3.8675e+01_rb,2.7923e+01_rb,1.5936e+01_rb,5.2300e-02_rb/) kbo(:, 5,48,13) = (/ & &7.3600e+01_rb,5.6966e+01_rb,4.0638e+01_rb,2.3068e+01_rb,6.9650e-02_rb/) kbo(:, 1,49,13) = (/ & &9.7471e+00_rb,7.8584e+00_rb,5.8267e+00_rb,3.3020e+00_rb,1.8196e-02_rb/) kbo(:, 2,49,13) = (/ & &1.6704e+01_rb,1.3302e+01_rb,9.8376e+00_rb,5.6165e+00_rb,2.4552e-02_rb/) kbo(:, 3,49,13) = (/ & &2.7532e+01_rb,2.1706e+01_rb,1.5922e+01_rb,9.1112e+00_rb,3.1859e-02_rb/) kbo(:, 4,49,13) = (/ & &4.3516e+01_rb,3.4017e+01_rb,2.4645e+01_rb,1.4071e+01_rb,4.2368e-02_rb/) kbo(:, 5,49,13) = (/ & &6.5913e+01_rb,5.1094e+01_rb,3.6540e+01_rb,2.0762e+01_rb,5.7956e-02_rb/) kbo(:, 1,50,13) = (/ & &8.0804e+00_rb,6.5442e+00_rb,4.8528e+00_rb,2.7471e+00_rb,1.5480e-02_rb/) kbo(:, 2,50,13) = (/ & &1.4208e+01_rb,1.1343e+01_rb,8.3916e+00_rb,4.7793e+00_rb,2.1108e-02_rb/) kbo(:, 3,50,13) = (/ & &2.3865e+01_rb,1.8845e+01_rb,1.3856e+01_rb,7.9173e+00_rb,2.8070e-02_rb/) kbo(:, 4,50,13) = (/ & &3.8439e+01_rb,3.0084e+01_rb,2.1861e+01_rb,1.2484e+01_rb,3.6716e-02_rb/) kbo(:, 5,50,13) = (/ & &5.9311e+01_rb,4.6040e+01_rb,3.3007e+01_rb,1.8765e+01_rb,4.7982e-02_rb/) kbo(:, 1,51,13) = (/ & &6.6974e+00_rb,5.4506e+00_rb,4.0401e+00_rb,2.2835e+00_rb,1.2897e-02_rb/) kbo(:, 2,51,13) = (/ & &1.2105e+01_rb,9.6894e+00_rb,7.1742e+00_rb,4.0729e+00_rb,1.8234e-02_rb/) kbo(:, 3,51,13) = (/ & &2.0726e+01_rb,1.6392e+01_rb,1.2076e+01_rb,6.8856e+00_rb,2.4297e-02_rb/) kbo(:, 4,51,13) = (/ & &3.4010e+01_rb,2.6646e+01_rb,1.9402e+01_rb,1.1077e+01_rb,3.1447e-02_rb/) kbo(:, 5,51,13) = (/ & &5.3414e+01_rb,4.1508e+01_rb,2.9825e+01_rb,1.6965e+01_rb,4.1659e-02_rb/) kbo(:, 1,52,13) = (/ & &5.5139e+00_rb,4.5099e+00_rb,3.3452e+00_rb,1.8859e+00_rb,1.0839e-02_rb/) kbo(:, 2,52,13) = (/ & &1.0265e+01_rb,8.2392e+00_rb,6.1066e+00_rb,3.4594e+00_rb,1.5307e-02_rb/) kbo(:, 3,52,13) = (/ & &1.7969e+01_rb,1.4231e+01_rb,1.0492e+01_rb,5.9702e+00_rb,2.0782e-02_rb/) kbo(:, 4,52,13) = (/ & &3.0022e+01_rb,2.3539e+01_rb,1.7173e+01_rb,9.7942e+00_rb,2.7615e-02_rb/) kbo(:, 5,52,13) = (/ & &4.7976e+01_rb,3.7311e+01_rb,2.6868e+01_rb,1.5284e+01_rb,3.5883e-02_rb/) kbo(:, 1,53,13) = (/ & &4.5089e+00_rb,3.7050e+00_rb,2.7486e+00_rb,1.5449e+00_rb,8.8988e-03_rb/) kbo(:, 2,53,13) = (/ & &8.6595e+00_rb,6.9701e+00_rb,5.1646e+00_rb,2.9217e+00_rb,1.2928e-02_rb/) kbo(:, 3,53,13) = (/ & &1.5539e+01_rb,1.2324e+01_rb,9.0856e+00_rb,5.1569e+00_rb,1.7922e-02_rb/) kbo(:, 4,53,13) = (/ & &2.6425e+01_rb,2.0735e+01_rb,1.5153e+01_rb,8.6253e+00_rb,2.3907e-02_rb/) kbo(:, 5,53,13) = (/ & &4.2979e+01_rb,3.3444e+01_rb,2.4119e+01_rb,1.3719e+01_rb,3.1307e-02_rb/) kbo(:, 1,54,13) = (/ & &3.7369e+00_rb,3.0844e+00_rb,2.2855e+00_rb,1.2806e+00_rb,7.5969e-03_rb/) kbo(:, 2,54,13) = (/ & &7.3945e+00_rb,5.9700e+00_rb,4.4241e+00_rb,2.4976e+00_rb,1.1170e-02_rb/) kbo(:, 3,54,13) = (/ & &1.3610e+01_rb,1.0807e+01_rb,7.9714e+00_rb,4.5128e+00_rb,1.6129e-02_rb/) kbo(:, 4,54,13) = (/ & &2.3560e+01_rb,1.8494e+01_rb,1.3530e+01_rb,7.6837e+00_rb,2.1838e-02_rb/) kbo(:, 5,54,13) = (/ & &3.8949e+01_rb,3.0311e+01_rb,2.1882e+01_rb,1.2434e+01_rb,2.8239e-02_rb/) kbo(:, 1,55,13) = (/ & &3.1147e+00_rb,2.5777e+00_rb,1.9050e+00_rb,1.0637e+00_rb,6.5369e-03_rb/) kbo(:, 2,55,13) = (/ & &6.3439e+00_rb,5.1347e+00_rb,3.8054e+00_rb,2.1454e+00_rb,1.0024e-02_rb/) kbo(:, 3,55,13) = (/ & &1.1985e+01_rb,9.5229e+00_rb,7.0258e+00_rb,3.9713e+00_rb,1.4330e-02_rb/) kbo(:, 4,55,13) = (/ & &2.1145e+01_rb,1.6600e+01_rb,1.2148e+01_rb,6.8814e+00_rb,1.9929e-02_rb/) kbo(:, 5,55,13) = (/ & &3.5505e+01_rb,2.7628e+01_rb,1.9956e+01_rb,1.1323e+01_rb,2.6070e-02_rb/) kbo(:, 1,56,13) = (/ & &2.5841e+00_rb,2.1412e+00_rb,1.5792e+00_rb,8.7847e-01_rb,5.7272e-03_rb/) kbo(:, 2,56,13) = (/ & &5.4279e+00_rb,4.4047e+00_rb,3.2621e+00_rb,1.8370e+00_rb,9.0085e-03_rb/) kbo(:, 3,56,13) = (/ & &1.0541e+01_rb,8.3802e+00_rb,6.1801e+00_rb,3.4870e+00_rb,1.2894e-02_rb/) kbo(:, 4,56,13) = (/ & &1.8998e+01_rb,1.4914e+01_rb,1.0910e+01_rb,6.1631e+00_rb,1.8216e-02_rb/) kbo(:, 5,56,13) = (/ & &3.2387e+01_rb,2.5195e+01_rb,1.8200e+01_rb,1.0311e+01_rb,2.5017e-02_rb/) kbo(:, 1,57,13) = (/ & &2.1273e+00_rb,1.7663e+00_rb,1.2997e+00_rb,7.2182e-01_rb,4.9990e-03_rb/) kbo(:, 2,57,13) = (/ & &4.6288e+00_rb,3.7653e+00_rb,2.7876e+00_rb,1.5653e+00_rb,7.9939e-03_rb/) kbo(:, 3,57,13) = (/ & &9.2459e+00_rb,7.3572e+00_rb,5.4258e+00_rb,3.0550e+00_rb,1.1761e-02_rb/) kbo(:, 4,57,13) = (/ & &1.7067e+01_rb,1.3395e+01_rb,9.7952e+00_rb,5.5222e+00_rb,1.6851e-02_rb/) kbo(:, 5,57,13) = (/ & &2.9574e+01_rb,2.2993e+01_rb,1.6606e+01_rb,9.3912e+00_rb,2.2852e-02_rb/) kbo(:, 1,58,13) = (/ & &8.4744e-01_rb,8.1145e-01_rb,7.0194e-01_rb,4.7172e-01_rb,4.4639e-03_rb/) kbo(:, 2,58,13) = (/ & &1.9303e+00_rb,1.8049e+00_rb,1.5645e+00_rb,1.0595e+00_rb,7.1718e-03_rb/) kbo(:, 3,58,13) = (/ & &3.9593e+00_rb,3.6185e+00_rb,3.1318e+00_rb,2.1308e+00_rb,1.0759e-02_rb/) kbo(:, 4,58,13) = (/ & &7.4878e+00_rb,6.7423e+00_rb,5.7807e+00_rb,3.9390e+00_rb,1.5270e-02_rb/) kbo(:, 5,58,13) = (/ & &1.3201e+01_rb,1.1774e+01_rb,9.9717e+00_rb,6.8098e+00_rb,2.1046e-02_rb/) kbo(:, 1,59,13) = (/ & &7.8389e-01_rb,7.5361e-01_rb,6.5545e-01_rb,4.4390e-01_rb,4.7731e-03_rb/) kbo(:, 2,59,13) = (/ & &1.8316e+00_rb,1.7144e+00_rb,1.4906e+00_rb,1.0154e+00_rb,7.3182e-03_rb/) kbo(:, 3,59,13) = (/ & &3.8012e+00_rb,3.4796e+00_rb,3.0220e+00_rb,2.0697e+00_rb,1.0970e-02_rb/) kbo(:, 4,59,13) = (/ & &7.2668e+00_rb,6.5534e+00_rb,5.6332e+00_rb,3.8611e+00_rb,1.5317e-02_rb/) kbo(:, 5,59,13) = (/ & &1.2911e+01_rb,1.1536e+01_rb,9.7915e+00_rb,6.7229e+00_rb,2.2015e-02_rb/) kbo(:, 1,13,14) = (/ & &2.9725e+02_rb,2.2295e+02_rb,1.4862e+02_rb,7.4314e+01_rb,8.5883e-01_rb/) kbo(:, 2,13,14) = (/ & &4.1294e+02_rb,3.0971e+02_rb,2.0649e+02_rb,1.0324e+02_rb,7.4403e-01_rb/) kbo(:, 3,13,14) = (/ & &5.5502e+02_rb,4.1625e+02_rb,2.7751e+02_rb,1.3875e+02_rb,6.6008e-01_rb/) kbo(:, 4,13,14) = (/ & &7.2029e+02_rb,5.4024e+02_rb,3.6017e+02_rb,1.8008e+02_rb,1.1155e+00_rb/) kbo(:, 5,13,14) = (/ & &9.0592e+02_rb,6.7946e+02_rb,4.5296e+02_rb,2.2648e+02_rb,2.5465e+00_rb/) kbo(:, 1,14,14) = (/ & &3.2435e+02_rb,2.4326e+02_rb,1.6217e+02_rb,8.1092e+01_rb,7.8098e-01_rb/) kbo(:, 2,14,14) = (/ & &4.4892e+02_rb,3.3668e+02_rb,2.2444e+02_rb,1.1223e+02_rb,5.4602e-01_rb/) kbo(:, 3,14,14) = (/ & &6.0099e+02_rb,4.5075e+02_rb,3.0049e+02_rb,1.5025e+02_rb,1.0325e+00_rb/) kbo(:, 4,14,14) = (/ & &7.7937e+02_rb,5.8453e+02_rb,3.8969e+02_rb,1.9485e+02_rb,1.5016e+00_rb/) kbo(:, 5,14,14) = (/ & &9.8034e+02_rb,7.3527e+02_rb,4.9018e+02_rb,2.4510e+02_rb,3.4894e+00_rb/) kbo(:, 1,15,14) = (/ & &3.4430e+02_rb,2.5823e+02_rb,1.7215e+02_rb,8.6071e+01_rb,4.7442e-01_rb/) kbo(:, 2,15,14) = (/ & &4.7694e+02_rb,3.5770e+02_rb,2.3846e+02_rb,1.1924e+02_rb,9.8957e-01_rb/) kbo(:, 3,15,14) = (/ & &6.3659e+02_rb,4.7745e+02_rb,3.1829e+02_rb,1.5915e+02_rb,1.3277e+00_rb/) kbo(:, 4,15,14) = (/ & &8.2316e+02_rb,6.1735e+02_rb,4.1157e+02_rb,2.0578e+02_rb,2.6545e+00_rb/) kbo(:, 5,15,14) = (/ & &1.0339e+03_rb,7.7536e+02_rb,5.1695e+02_rb,2.5844e+02_rb,4.8753e+00_rb/) kbo(:, 1,16,14) = (/ & &3.6224e+02_rb,2.7168e+02_rb,1.8111e+02_rb,9.0555e+01_rb,8.6361e-01_rb/) kbo(:, 2,16,14) = (/ & &5.0155e+02_rb,3.7615e+02_rb,2.5077e+02_rb,1.2539e+02_rb,1.3098e+00_rb/) kbo(:, 3,16,14) = (/ & &6.6682e+02_rb,5.0012e+02_rb,3.3343e+02_rb,1.6672e+02_rb,2.0810e+00_rb/) kbo(:, 4,16,14) = (/ & &8.5980e+02_rb,6.4485e+02_rb,4.2990e+02_rb,2.1496e+02_rb,4.0118e+00_rb/) kbo(:, 5,16,14) = (/ & &1.0768e+03_rb,8.0756e+02_rb,5.3838e+02_rb,2.6919e+02_rb,6.0151e+00_rb/) kbo(:, 1,17,14) = (/ & &3.8011e+02_rb,2.8509e+02_rb,1.9007e+02_rb,9.5029e+01_rb,1.2720e+00_rb/) kbo(:, 2,17,14) = (/ & &5.2601e+02_rb,3.9448e+02_rb,2.6301e+02_rb,1.3150e+02_rb,1.5543e+00_rb/) kbo(:, 3,17,14) = (/ & &6.9761e+02_rb,5.2320e+02_rb,3.4880e+02_rb,1.7439e+02_rb,2.9841e+00_rb/) kbo(:, 4,17,14) = (/ & &8.9515e+02_rb,6.7136e+02_rb,4.4757e+02_rb,2.2378e+02_rb,4.6409e+00_rb/) kbo(:, 5,17,14) = (/ & &1.1181e+03_rb,8.3857e+02_rb,5.5903e+02_rb,2.7954e+02_rb,6.6157e+00_rb/) kbo(:, 1,18,14) = (/ & &3.9222e+02_rb,2.9415e+02_rb,1.9611e+02_rb,9.8051e+01_rb,1.3802e+00_rb/) kbo(:, 2,18,14) = (/ & &5.4105e+02_rb,4.0577e+02_rb,2.7053e+02_rb,1.3526e+02_rb,2.0079e+00_rb/) kbo(:, 3,18,14) = (/ & &7.1441e+02_rb,5.3583e+02_rb,3.5723e+02_rb,1.7861e+02_rb,3.3624e+00_rb/) kbo(:, 4,18,14) = (/ & &9.1265e+02_rb,6.8450e+02_rb,4.5632e+02_rb,2.2816e+02_rb,4.9650e+00_rb/) kbo(:, 5,18,14) = (/ & &1.1336e+03_rb,8.5015e+02_rb,5.6679e+02_rb,2.8338e+02_rb,6.8761e+00_rb/) kbo(:, 1,19,14) = (/ & &4.0839e+02_rb,3.0630e+02_rb,2.0420e+02_rb,1.0209e+02_rb,1.4198e+00_rb/) kbo(:, 2,19,14) = (/ & &5.5968e+02_rb,4.1977e+02_rb,2.7985e+02_rb,1.3992e+02_rb,2.2241e+00_rb/) kbo(:, 3,19,14) = (/ & &7.3637e+02_rb,5.5226e+02_rb,3.6818e+02_rb,1.8410e+02_rb,3.5653e+00_rb/) kbo(:, 4,19,14) = (/ & &9.3504e+02_rb,7.0126e+02_rb,4.6751e+02_rb,2.3375e+02_rb,5.1035e+00_rb/) kbo(:, 5,19,14) = (/ & &1.1560e+03_rb,8.6697e+02_rb,5.7801e+02_rb,2.8901e+02_rb,6.9044e+00_rb/) kbo(:, 1,20,14) = (/ & &4.2971e+02_rb,3.2229e+02_rb,2.1485e+02_rb,1.0743e+02_rb,1.5393e+00_rb/) kbo(:, 2,20,14) = (/ & &5.8587e+02_rb,4.3942e+02_rb,2.9293e+02_rb,1.4647e+02_rb,2.2601e+00_rb/) kbo(:, 3,20,14) = (/ & &7.6617e+02_rb,5.7464e+02_rb,3.8311e+02_rb,1.9155e+02_rb,3.5353e+00_rb/) kbo(:, 4,20,14) = (/ & &9.6798e+02_rb,7.2594e+02_rb,4.8398e+02_rb,2.4197e+02_rb,5.0919e+00_rb/) kbo(:, 5,20,14) = (/ & &1.1898e+03_rb,8.9235e+02_rb,5.9489e+02_rb,2.9744e+02_rb,6.7835e+00_rb/) kbo(:, 1,21,14) = (/ & &4.4889e+02_rb,3.3666e+02_rb,2.2444e+02_rb,1.1222e+02_rb,1.6427e+00_rb/) kbo(:, 2,21,14) = (/ & &6.0830e+02_rb,4.5623e+02_rb,3.0417e+02_rb,1.5208e+02_rb,2.2298e+00_rb/) kbo(:, 3,21,14) = (/ & &7.9080e+02_rb,5.9312e+02_rb,3.9541e+02_rb,1.9769e+02_rb,3.4367e+00_rb/) kbo(:, 4,21,14) = (/ & &9.9371e+02_rb,7.4527e+02_rb,4.9684e+02_rb,2.4842e+02_rb,4.8609e+00_rb/) kbo(:, 5,21,14) = (/ & &1.2155e+03_rb,9.1159e+02_rb,6.0771e+02_rb,3.0387e+02_rb,6.5479e+00_rb/) kbo(:, 1,22,14) = (/ & &4.7127e+02_rb,3.5343e+02_rb,2.3563e+02_rb,1.1782e+02_rb,1.6925e+00_rb/) kbo(:, 2,22,14) = (/ & &6.3239e+02_rb,4.7428e+02_rb,3.1618e+02_rb,1.5809e+02_rb,2.2427e+00_rb/) kbo(:, 3,22,14) = (/ & &8.1553e+02_rb,6.1164e+02_rb,4.0775e+02_rb,2.0390e+02_rb,3.3409e+00_rb/) kbo(:, 4,22,14) = (/ & &1.0189e+03_rb,7.6417e+02_rb,5.0944e+02_rb,2.5480e+02_rb,4.6697e+00_rb/) kbo(:, 5,22,14) = (/ & &1.2378e+03_rb,9.2835e+02_rb,6.1890e+02_rb,3.0965e+02_rb,6.2760e+00_rb/) kbo(:, 1,23,14) = (/ & &4.8713e+02_rb,3.6534e+02_rb,2.4356e+02_rb,1.2192e+02_rb,1.6599e+00_rb/) kbo(:, 2,23,14) = (/ & &6.4775e+02_rb,4.8583e+02_rb,3.2387e+02_rb,1.6212e+02_rb,2.1938e+00_rb/) kbo(:, 3,23,14) = (/ & &8.3023e+02_rb,6.2268e+02_rb,4.1512e+02_rb,2.0786e+02_rb,3.2003e+00_rb/) kbo(:, 4,23,14) = (/ & &1.0300e+03_rb,7.7249e+02_rb,5.1499e+02_rb,2.5803e+02_rb,4.4341e+00_rb/) kbo(:, 5,23,14) = (/ & &1.2450e+03_rb,9.3374e+02_rb,6.2249e+02_rb,3.1208e+02_rb,5.9729e+00_rb/) kbo(:, 1,24,14) = (/ & &5.0112e+02_rb,3.7583e+02_rb,2.5056e+02_rb,1.2575e+02_rb,1.5724e+00_rb/) kbo(:, 2,24,14) = (/ & &6.6153e+02_rb,4.9614e+02_rb,3.3076e+02_rb,1.6604e+02_rb,2.1250e+00_rb/) kbo(:, 3,24,14) = (/ & &8.4162e+02_rb,6.3120e+02_rb,4.2079e+02_rb,2.1132e+02_rb,3.0488e+00_rb/) kbo(:, 4,24,14) = (/ & &1.0387e+03_rb,7.7903e+02_rb,5.1934e+02_rb,2.6092e+02_rb,4.1964e+00_rb/) kbo(:, 5,24,14) = (/ & &1.2497e+03_rb,9.3727e+02_rb,6.2485e+02_rb,3.1407e+02_rb,5.6661e+00_rb/) kbo(:, 1,25,14) = (/ & &5.0957e+02_rb,3.8217e+02_rb,2.5479e+02_rb,1.2836e+02_rb,1.4865e+00_rb/) kbo(:, 2,25,14) = (/ & &6.6771e+02_rb,5.0078e+02_rb,3.3385e+02_rb,1.6824e+02_rb,2.0184e+00_rb/) kbo(:, 3,25,14) = (/ & &8.4466e+02_rb,6.3351e+02_rb,4.2233e+02_rb,2.1290e+02_rb,2.8760e+00_rb/) kbo(:, 4,25,14) = (/ & &1.0379e+03_rb,7.7843e+02_rb,5.1895e+02_rb,2.6171e+02_rb,3.9646e+00_rb/) kbo(:, 5,25,14) = (/ & &1.2454e+03_rb,9.3411e+02_rb,6.2273e+02_rb,3.1409e+02_rb,5.3432e+00_rb/) kbo(:, 1,26,14) = (/ & &5.1543e+02_rb,3.8657e+02_rb,2.5772e+02_rb,1.3040e+02_rb,1.4310e+00_rb/) kbo(:, 2,26,14) = (/ & &6.7055e+02_rb,5.0292e+02_rb,3.3528e+02_rb,1.6969e+02_rb,1.9779e+00_rb/) kbo(:, 3,26,14) = (/ & &8.4393e+02_rb,6.3294e+02_rb,4.2195e+02_rb,2.1362e+02_rb,2.7140e+00_rb/) kbo(:, 4,26,14) = (/ & &1.0339e+03_rb,7.7538e+02_rb,5.1691e+02_rb,2.6173e+02_rb,3.7614e+00_rb/) kbo(:, 5,26,14) = (/ & &1.2377e+03_rb,9.2822e+02_rb,6.1881e+02_rb,3.1339e+02_rb,5.0524e+00_rb/) kbo(:, 1,27,14) = (/ & &5.1680e+02_rb,3.8760e+02_rb,2.5844e+02_rb,1.3139e+02_rb,1.4644e+00_rb/) kbo(:, 2,27,14) = (/ & &6.6877e+02_rb,5.0158e+02_rb,3.3442e+02_rb,1.7006e+02_rb,1.9743e+00_rb/) kbo(:, 3,27,14) = (/ & &8.3912e+02_rb,6.2935e+02_rb,4.1964e+02_rb,2.1343e+02_rb,2.6423e+00_rb/) kbo(:, 4,27,14) = (/ & &1.0255e+03_rb,7.6907e+02_rb,5.1284e+02_rb,2.6091e+02_rb,3.5939e+00_rb/) kbo(:, 5,27,14) = (/ & &1.2273e+03_rb,9.2048e+02_rb,6.1378e+02_rb,3.1226e+02_rb,4.8265e+00_rb/) kbo(:, 1,28,14) = (/ & &5.1471e+02_rb,3.8604e+02_rb,2.5761e+02_rb,1.3161e+02_rb,1.4975e+00_rb/) kbo(:, 2,28,14) = (/ & &6.6390e+02_rb,4.9793e+02_rb,3.3227e+02_rb,1.6984e+02_rb,1.9755e+00_rb/) kbo(:, 3,28,14) = (/ & &8.3099e+02_rb,6.2328e+02_rb,4.1590e+02_rb,2.1266e+02_rb,2.6592e+00_rb/) kbo(:, 4,28,14) = (/ & &1.0159e+03_rb,7.6197e+02_rb,5.0842e+02_rb,2.5994e+02_rb,3.4854e+00_rb/) kbo(:, 5,28,14) = (/ & &1.2168e+03_rb,9.1262e+02_rb,6.0898e+02_rb,3.1138e+02_rb,4.6837e+00_rb/) kbo(:, 1,29,14) = (/ & &5.0817e+02_rb,3.8113e+02_rb,2.5474e+02_rb,1.3092e+02_rb,1.4861e+00_rb/) kbo(:, 2,29,14) = (/ & &6.5385e+02_rb,4.9038e+02_rb,3.2768e+02_rb,1.6851e+02_rb,1.9807e+00_rb/) kbo(:, 3,29,14) = (/ & &8.1862e+02_rb,6.1397e+02_rb,4.1013e+02_rb,2.1090e+02_rb,2.6083e+00_rb/) kbo(:, 4,29,14) = (/ & &1.0015e+03_rb,7.5115e+02_rb,5.0169e+02_rb,2.5799e+02_rb,3.4366e+00_rb/) kbo(:, 5,29,14) = (/ & &1.2004e+03_rb,9.0023e+02_rb,6.0130e+02_rb,3.0911e+02_rb,4.6309e+00_rb/) kbo(:, 1,30,14) = (/ & &4.9890e+02_rb,3.7416e+02_rb,2.5051e+02_rb,1.2967e+02_rb,1.4792e+00_rb/) kbo(:, 2,30,14) = (/ & &6.4183e+02_rb,4.8137e+02_rb,3.2213e+02_rb,1.6671e+02_rb,1.9639e+00_rb/) kbo(:, 3,30,14) = (/ & &8.0457e+02_rb,6.0342e+02_rb,4.0369e+02_rb,2.0889e+02_rb,2.5564e+00_rb/) kbo(:, 4,30,14) = (/ & &9.8521e+02_rb,7.3890e+02_rb,4.9415e+02_rb,2.5564e+02_rb,3.4162e+00_rb/) kbo(:, 5,30,14) = (/ & &1.1820e+03_rb,8.8651e+02_rb,5.9274e+02_rb,3.0646e+02_rb,4.6345e+00_rb/) kbo(:, 1,31,14) = (/ & &4.8682e+02_rb,3.6513e+02_rb,2.4494e+02_rb,1.2775e+02_rb,1.4549e+00_rb/) kbo(:, 2,31,14) = (/ & &6.2686e+02_rb,4.7014e+02_rb,3.1520e+02_rb,1.6432e+02_rb,1.8973e+00_rb/) kbo(:, 3,31,14) = (/ & &7.8640e+02_rb,5.8981e+02_rb,3.9524e+02_rb,2.0591e+02_rb,2.5203e+00_rb/) kbo(:, 4,31,14) = (/ & &9.6406e+02_rb,7.2305e+02_rb,4.8423e+02_rb,2.5217e+02_rb,3.4800e+00_rb/) kbo(:, 5,31,14) = (/ & &1.1586e+03_rb,8.6894e+02_rb,5.8171e+02_rb,3.0260e+02_rb,4.7311e+00_rb/) kbo(:, 1,32,14) = (/ & &4.7960e+02_rb,3.5970e+02_rb,2.4176e+02_rb,1.2713e+02_rb,1.4049e+00_rb/) kbo(:, 2,32,14) = (/ & &6.1788e+02_rb,4.6339e+02_rb,3.1125e+02_rb,1.6347e+02_rb,1.8610e+00_rb/) kbo(:, 3,32,14) = (/ & &7.7566e+02_rb,5.8175e+02_rb,3.9047e+02_rb,2.0479e+02_rb,2.5736e+00_rb/) kbo(:, 4,32,14) = (/ & &9.5231e+02_rb,7.1420e+02_rb,4.7904e+02_rb,2.5086e+02_rb,3.5724e+00_rb/) kbo(:, 5,32,14) = (/ & &1.1464e+03_rb,8.5978e+02_rb,5.7626e+02_rb,3.0128e+02_rb,4.8525e+00_rb/) kbo(:, 1,33,14) = (/ & &4.7673e+02_rb,3.5758e+02_rb,2.4086e+02_rb,1.2764e+02_rb,1.3592e+00_rb/) kbo(:, 2,33,14) = (/ & &6.1463e+02_rb,4.6099e+02_rb,3.1024e+02_rb,1.6404e+02_rb,1.8844e+00_rb/) kbo(:, 3,33,14) = (/ & &7.7253e+02_rb,5.7937e+02_rb,3.8948e+02_rb,2.0544e+02_rb,2.6672e+00_rb/) kbo(:, 4,33,14) = (/ & &9.4922e+02_rb,7.1189e+02_rb,4.7815e+02_rb,2.5158e+02_rb,3.7054e+00_rb/) kbo(:, 5,33,14) = (/ & &1.1446e+03_rb,8.5842e+02_rb,5.7603e+02_rb,3.0239e+02_rb,5.0353e+00_rb/) kbo(:, 1,34,14) = (/ & &4.7829e+02_rb,3.5882e+02_rb,2.4214e+02_rb,1.2917e+02_rb,1.3360e+00_rb/) kbo(:, 2,34,14) = (/ & &6.1765e+02_rb,4.6331e+02_rb,3.1226e+02_rb,1.6594e+02_rb,1.9203e+00_rb/) kbo(:, 3,34,14) = (/ & &7.7743e+02_rb,5.8310e+02_rb,3.9256e+02_rb,2.0792e+02_rb,2.7349e+00_rb/) kbo(:, 4,34,14) = (/ & &9.5686e+02_rb,7.1762e+02_rb,4.8256e+02_rb,2.5475e+02_rb,3.8031e+00_rb/) kbo(:, 5,34,14) = (/ & &1.1550e+03_rb,8.6629e+02_rb,5.8189e+02_rb,3.0631e+02_rb,5.2021e+00_rb/) kbo(:, 1,35,14) = (/ & &4.7226e+02_rb,3.5443e+02_rb,2.3957e+02_rb,1.2851e+02_rb,1.3086e+00_rb/) kbo(:, 2,35,14) = (/ & &6.1214e+02_rb,4.5923e+02_rb,3.0998e+02_rb,1.6546e+02_rb,1.9154e+00_rb/) kbo(:, 3,35,14) = (/ & &7.7280e+02_rb,5.7976e+02_rb,3.9077e+02_rb,2.0773e+02_rb,2.7357e+00_rb/) kbo(:, 4,35,14) = (/ & &9.5397e+02_rb,7.1554e+02_rb,4.8165e+02_rb,2.5508e+02_rb,3.8286e+00_rb/) kbo(:, 5,35,14) = (/ & &1.1540e+03_rb,8.6552e+02_rb,5.8187e+02_rb,3.0708e+02_rb,5.2636e+00_rb/) kbo(:, 1,36,14) = (/ & &4.5693e+02_rb,3.4301e+02_rb,2.3220e+02_rb,1.2520e+02_rb,1.2533e+00_rb/) kbo(:, 2,36,14) = (/ & &5.9574e+02_rb,4.4710e+02_rb,3.0221e+02_rb,1.6199e+02_rb,1.8411e+00_rb/) kbo(:, 3,36,14) = (/ & &7.5609e+02_rb,5.6723e+02_rb,3.8282e+02_rb,2.0421e+02_rb,2.6504e+00_rb/) kbo(:, 4,36,14) = (/ & &9.3751e+02_rb,7.0328e+02_rb,4.7386e+02_rb,2.5165e+02_rb,3.7407e+00_rb/) kbo(:, 5,36,14) = (/ & &1.1381e+03_rb,8.5353e+02_rb,5.7430e+02_rb,3.0378e+02_rb,5.1704e+00_rb/) kbo(:, 1,37,14) = (/ & &4.2922e+02_rb,3.2232e+02_rb,2.1847e+02_rb,1.1834e+02_rb,1.1213e+00_rb/) kbo(:, 2,37,14) = (/ & &5.6522e+02_rb,4.2422e+02_rb,2.8713e+02_rb,1.5453e+02_rb,1.6760e+00_rb/) kbo(:, 3,37,14) = (/ & &7.2332e+02_rb,5.4281e+02_rb,3.6673e+02_rb,1.9621e+02_rb,2.4344e+00_rb/) kbo(:, 4,37,14) = (/ & &9.0338e+02_rb,6.7777e+02_rb,4.5711e+02_rb,2.4334e+02_rb,3.4735e+00_rb/) kbo(:, 5,37,14) = (/ & &1.1034e+03_rb,8.2764e+02_rb,5.5725e+02_rb,2.9534e+02_rb,4.8510e+00_rb/) kbo(:, 1,38,14) = (/ & &4.0355e+02_rb,3.0314e+02_rb,2.0578e+02_rb,1.1195e+02_rb,1.0088e+00_rb/) kbo(:, 2,38,14) = (/ & &5.3660e+02_rb,4.0286e+02_rb,2.7296e+02_rb,1.4742e+02_rb,1.5281e+00_rb/) kbo(:, 3,38,14) = (/ & &6.9245e+02_rb,5.1973e+02_rb,3.5152e+02_rb,1.8858e+02_rb,2.2407e+00_rb/) kbo(:, 4,38,14) = (/ & &8.7113e+02_rb,6.5360e+02_rb,4.4117e+02_rb,2.3535e+02_rb,3.2324e+00_rb/) kbo(:, 5,38,14) = (/ & &1.0703e+03_rb,8.0291e+02_rb,5.4092e+02_rb,2.8714e+02_rb,4.5526e+00_rb/) kbo(:, 1,39,14) = (/ & &3.8048e+02_rb,2.8595e+02_rb,1.9433e+02_rb,1.0614e+02_rb,9.1242e-01_rb/) kbo(:, 2,39,14) = (/ & &5.1067e+02_rb,3.8348e+02_rb,2.6010e+02_rb,1.4089e+02_rb,1.4025e+00_rb/) kbo(:, 3,39,14) = (/ & &6.6451e+02_rb,4.9880e+02_rb,3.3759e+02_rb,1.8159e+02_rb,2.0765e+00_rb/) kbo(:, 4,39,14) = (/ & &8.4141e+02_rb,6.3140e+02_rb,4.2638e+02_rb,2.2792e+02_rb,3.0229e+00_rb/) kbo(:, 5,39,14) = (/ & &1.0396e+03_rb,7.7992e+02_rb,5.2571e+02_rb,2.7947e+02_rb,4.2952e+00_rb/) kbo(:, 1,40,14) = (/ & &3.5133e+02_rb,2.6415e+02_rb,1.7970e+02_rb,9.8495e+01_rb,7.8366e-01_rb/) kbo(:, 2,40,14) = (/ & &4.7771e+02_rb,3.5880e+02_rb,2.4356e+02_rb,1.3227e+02_rb,1.2276e+00_rb/) kbo(:, 3,40,14) = (/ & &6.2817e+02_rb,4.7163e+02_rb,3.1937e+02_rb,1.7209e+02_rb,1.8434e+00_rb/) kbo(:, 4,40,14) = (/ & &8.0277e+02_rb,6.0241e+02_rb,4.0711e+02_rb,2.1788e+02_rb,2.7123e+00_rb/) kbo(:, 5,40,14) = (/ & &9.9978e+02_rb,7.5011e+02_rb,5.0577e+02_rb,2.6911e+02_rb,3.8911e+00_rb/) kbo(:, 1,41,14) = (/ & &3.2342e+02_rb,2.4324e+02_rb,1.6567e+02_rb,9.1094e+01_rb,6.6818e-01_rb/) kbo(:, 2,41,14) = (/ & &4.4573e+02_rb,3.3493e+02_rb,2.2747e+02_rb,1.2382e+02_rb,1.0662e+00_rb/) kbo(:, 3,41,14) = (/ & &5.9252e+02_rb,4.4488e+02_rb,3.0145e+02_rb,1.6269e+02_rb,1.6310e+00_rb/) kbo(:, 4,41,14) = (/ & &7.6447e+02_rb,5.7369e+02_rb,3.8787e+02_rb,2.0780e+02_rb,2.4231e+00_rb/) kbo(:, 5,41,14) = (/ & &9.6002e+02_rb,7.2027e+02_rb,4.8589e+02_rb,2.5869e+02_rb,3.5110e+00_rb/) kbo(:, 1,42,14) = (/ & &2.9741e+02_rb,2.2375e+02_rb,1.5256e+02_rb,8.4130e+01_rb,5.7099e-01_rb/) kbo(:, 2,42,14) = (/ & &4.1545e+02_rb,3.1224e+02_rb,2.1217e+02_rb,1.1576e+02_rb,9.2628e-01_rb/) kbo(:, 3,42,14) = (/ & &5.5858e+02_rb,4.1944e+02_rb,2.8433e+02_rb,1.5367e+02_rb,1.4426e+00_rb/) kbo(:, 4,42,14) = (/ & &7.2759e+02_rb,5.4609e+02_rb,3.6933e+02_rb,1.9808e+02_rb,2.1657e+00_rb/) kbo(:, 5,42,14) = (/ & &9.2131e+02_rb,6.9128e+02_rb,4.6648e+02_rb,2.4850e+02_rb,3.1673e+00_rb/) kbo(:, 1,43,14) = (/ & &2.7012e+02_rb,2.0330e+02_rb,1.3875e+02_rb,7.6704e+01_rb,4.7188e-01_rb/) kbo(:, 2,43,14) = (/ & &3.8333e+02_rb,2.8816e+02_rb,1.9596e+02_rb,1.0707e+02_rb,7.8390e-01_rb/) kbo(:, 3,43,14) = (/ & &5.2268e+02_rb,3.9255e+02_rb,2.6617e+02_rb,1.4400e+02_rb,1.2434e+00_rb/) kbo(:, 4,43,14) = (/ & &6.8847e+02_rb,5.1676e+02_rb,3.4954e+02_rb,1.8752e+02_rb,1.8919e+00_rb/) kbo(:, 5,43,14) = (/ & &8.8050e+02_rb,6.6068e+02_rb,4.4591e+02_rb,2.3760e+02_rb,2.7970e+00_rb/) kbo(:, 1,44,14) = (/ & &2.4333e+02_rb,1.8320e+02_rb,1.2513e+02_rb,6.9324e+01_rb,3.8543e-01_rb/) kbo(:, 2,44,14) = (/ & &3.5160e+02_rb,2.6439e+02_rb,1.7983e+02_rb,9.8391e+01_rb,6.5410e-01_rb/) kbo(:, 3,44,14) = (/ & &4.8672e+02_rb,3.6559e+02_rb,2.4794e+02_rb,1.3422e+02_rb,1.0574e+00_rb/) kbo(:, 4,44,14) = (/ & &6.4907e+02_rb,4.8721e+02_rb,3.2959e+02_rb,1.7683e+02_rb,1.6338e+00_rb/) kbo(:, 5,44,14) = (/ & &8.3935e+02_rb,6.2981e+02_rb,4.2512e+02_rb,2.2646e+02_rb,2.4460e+00_rb/) kbo(:, 1,45,14) = (/ & &2.1826e+02_rb,1.6439e+02_rb,1.1240e+02_rb,6.2387e+01_rb,3.1362e-01_rb/) kbo(:, 2,45,14) = (/ & &3.2151e+02_rb,2.4179e+02_rb,1.6452e+02_rb,9.0130e+01_rb,5.4229e-01_rb/) kbo(:, 3,45,14) = (/ & &4.5202e+02_rb,3.3957e+02_rb,2.3034e+02_rb,1.2476e+02_rb,8.9432e-01_rb/) kbo(:, 4,45,14) = (/ & &6.1098e+02_rb,4.5864e+02_rb,3.1027e+02_rb,1.6648e+02_rb,1.4094e+00_rb/) kbo(:, 5,45,14) = (/ & &7.9903e+02_rb,5.9956e+02_rb,4.0465e+02_rb,2.1549e+02_rb,2.1336e+00_rb/) kbo(:, 1,46,14) = (/ & &1.9334e+02_rb,1.4567e+02_rb,9.9705e+01_rb,5.5445e+01_rb,2.5106e-01_rb/) kbo(:, 2,46,14) = (/ & &2.9084e+02_rb,2.1878e+02_rb,1.4895e+02_rb,8.1712e+01_rb,4.4167e-01_rb/) kbo(:, 3,46,14) = (/ & &4.1605e+02_rb,3.1260e+02_rb,2.1206e+02_rb,1.1494e+02_rb,7.4589e-01_rb/) kbo(:, 4,46,14) = (/ & &5.7087e+02_rb,4.2857e+02_rb,2.8993e+02_rb,1.5559e+02_rb,1.1995e+00_rb/) kbo(:, 5,46,14) = (/ & &7.5566e+02_rb,5.6703e+02_rb,3.8272e+02_rb,2.0372e+02_rb,1.8420e+00_rb/) kbo(:, 1,47,14) = (/ & &1.6734e+02_rb,1.2615e+02_rb,8.6467e+01_rb,4.8182e+01_rb,1.9607e-01_rb/) kbo(:, 2,47,14) = (/ & &2.5798e+02_rb,1.9414e+02_rb,1.3227e+02_rb,7.2690e+01_rb,3.4728e-01_rb/) kbo(:, 3,47,14) = (/ & &3.7682e+02_rb,2.8319e+02_rb,1.9216e+02_rb,1.0425e+02_rb,6.0496e-01_rb/) kbo(:, 4,47,14) = (/ & &5.2596e+02_rb,3.9489e+02_rb,2.6718e+02_rb,1.4343e+02_rb,9.9190e-01_rb/) kbo(:, 5,47,14) = (/ & &7.0637e+02_rb,5.3006e+02_rb,3.5776e+02_rb,1.9039e+02_rb,1.5539e+00_rb/) kbo(:, 1,48,14) = (/ & &1.4359e+02_rb,1.0831e+02_rb,7.4350e+01_rb,4.1515e+01_rb,1.5112e-01_rb/) kbo(:, 2,48,14) = (/ & &2.2736e+02_rb,1.7115e+02_rb,1.1670e+02_rb,6.4242e+01_rb,2.7228e-01_rb/) kbo(:, 3,48,14) = (/ & &3.3955e+02_rb,2.5527e+02_rb,1.7326e+02_rb,9.4064e+01_rb,4.8587e-01_rb/) kbo(:, 4,48,14) = (/ & &4.8257e+02_rb,3.6236e+02_rb,2.4521e+02_rb,1.3165e+02_rb,8.1598e-01_rb/) kbo(:, 5,48,14) = (/ & &6.5841e+02_rb,4.9408e+02_rb,3.3351e+02_rb,1.7744e+02_rb,1.3043e+00_rb/) kbo(:, 1,49,14) = (/ & &1.2205e+02_rb,9.2102e+01_rb,6.3332e+01_rb,3.5432e+01_rb,1.1595e-01_rb/) kbo(:, 2,49,14) = (/ & &1.9899e+02_rb,1.4985e+02_rb,1.0228e+02_rb,5.6393e+01_rb,2.1177e-01_rb/) kbo(:, 3,49,14) = (/ & &3.0425e+02_rb,2.2876e+02_rb,1.5534e+02_rb,8.4415e+01_rb,3.8749e-01_rb/) kbo(:, 4,49,14) = (/ & &4.4104e+02_rb,3.3122e+02_rb,2.2413e+02_rb,1.2036e+02_rb,6.6950e-01_rb/) kbo(:, 5,49,14) = (/ & &6.1182e+02_rb,4.5914e+02_rb,3.0987e+02_rb,1.6480e+02_rb,1.0872e+00_rb/) kbo(:, 1,50,14) = (/ & &1.0410e+02_rb,7.8601e+01_rb,5.4134e+01_rb,3.0320e+01_rb,8.9437e-02_rb/) kbo(:, 2,50,14) = (/ & &1.7476e+02_rb,1.3166e+02_rb,8.9943e+01_rb,4.9647e+01_rb,1.6487e-01_rb/) kbo(:, 3,50,14) = (/ & &2.7363e+02_rb,2.0578e+02_rb,1.3977e+02_rb,7.5998e+01_rb,3.0880e-01_rb/) kbo(:, 4,50,14) = (/ & &4.0470e+02_rb,3.0398e+02_rb,2.0569e+02_rb,1.1045e+02_rb,5.4711e-01_rb/) kbo(:, 5,50,14) = (/ & &5.7059e+02_rb,4.2823e+02_rb,2.8900e+02_rb,1.5363e+02_rb,9.1135e-01_rb/) kbo(:, 1,51,14) = (/ & &8.8591e+01_rb,6.6918e+01_rb,4.6161e+01_rb,2.5881e+01_rb,7.0825e-02_rb/) kbo(:, 2,51,14) = (/ & &1.5315e+02_rb,1.1542e+02_rb,7.8914e+01_rb,4.3611e+01_rb,1.2808e-01_rb/) kbo(:, 3,51,14) = (/ & &2.4591e+02_rb,1.8497e+02_rb,1.2567e+02_rb,6.8391e+01_rb,2.4633e-01_rb/) kbo(:, 4,51,14) = (/ & &3.7125e+02_rb,2.7889e+02_rb,1.8871e+02_rb,1.0133e+02_rb,4.4644e-01_rb/) kbo(:, 5,51,14) = (/ & &5.3232e+02_rb,3.9953e+02_rb,2.6959e+02_rb,1.4324e+02_rb,7.6098e-01_rb/) kbo(:, 1,52,14) = (/ & &7.4832e+01_rb,5.6551e+01_rb,3.9072e+01_rb,2.1921e+01_rb,5.8568e-02_rb/) kbo(:, 2,52,14) = (/ & &1.3340e+02_rb,1.0056e+02_rb,6.8804e+01_rb,3.8048e+01_rb,9.9737e-02_rb/) kbo(:, 3,52,14) = (/ & &2.2000e+02_rb,1.6553e+02_rb,1.1251e+02_rb,6.1251e+01_rb,1.9573e-01_rb/) kbo(:, 4,52,14) = (/ & &3.3944e+02_rb,2.5503e+02_rb,1.7256e+02_rb,9.2621e+01_rb,3.6167e-01_rb/) kbo(:, 5,52,14) = (/ & &4.9563e+02_rb,3.7201e+02_rb,2.5099e+02_rb,1.3326e+02_rb,6.3209e-01_rb/) kbo(:, 1,53,14) = (/ & &6.2655e+01_rb,4.7378e+01_rb,3.2786e+01_rb,1.8402e+01_rb,5.0324e-02_rb/) kbo(:, 2,53,14) = (/ & &1.1533e+02_rb,8.6961e+01_rb,5.9562e+01_rb,3.2947e+01_rb,7.6555e-02_rb/) kbo(:, 3,53,14) = (/ & &1.9565e+02_rb,1.4725e+02_rb,1.0014e+02_rb,5.4560e+01_rb,1.5441e-01_rb/) kbo(:, 4,53,14) = (/ & &3.0901e+02_rb,2.3220e+02_rb,1.5711e+02_rb,8.4327e+01_rb,2.9159e-01_rb/) kbo(:, 5,53,14) = (/ & &4.6024e+02_rb,3.4547e+02_rb,2.3304e+02_rb,1.2363e+02_rb,5.2012e-01_rb/) kbo(:, 1,54,14) = (/ & &5.3046e+01_rb,4.0133e+01_rb,2.7816e+01_rb,1.5611e+01_rb,4.2542e-02_rb/) kbo(:, 2,54,14) = (/ & &1.0074e+02_rb,7.5982e+01_rb,5.2075e+01_rb,2.8803e+01_rb,6.4322e-02_rb/) kbo(:, 3,54,14) = (/ & &1.7557e+02_rb,1.3215e+02_rb,8.9882e+01_rb,4.8976e+01_rb,1.2163e-01_rb/) kbo(:, 4,54,14) = (/ & &2.8382e+02_rb,2.1329e+02_rb,1.4431e+02_rb,7.7417e+01_rb,2.3542e-01_rb/) kbo(:, 5,54,14) = (/ & &4.3075e+02_rb,3.2335e+02_rb,2.1806e+02_rb,1.1557e+02_rb,4.2927e-01_rb/) kbo(:, 1,55,14) = (/ & &4.5010e+01_rb,3.4076e+01_rb,2.3656e+01_rb,1.3271e+01_rb,3.8508e-02_rb/) kbo(:, 2,55,14) = (/ & &8.8262e+01_rb,6.6580e+01_rb,4.5655e+01_rb,2.5232e+01_rb,5.7123e-02_rb/) kbo(:, 3,55,14) = (/ & &1.5805e+02_rb,1.1897e+02_rb,8.0930e+01_rb,4.4073e+01_rb,9.5519e-02_rb/) kbo(:, 4,55,14) = (/ & &2.6161e+02_rb,1.9662e+02_rb,1.3302e+02_rb,7.1301e+01_rb,1.9000e-01_rb/) kbo(:, 5,55,14) = (/ & &4.0466e+02_rb,3.0378e+02_rb,2.0480e+02_rb,1.0841e+02_rb,3.5396e-01_rb/) kbo(:, 1,56,14) = (/ & &3.7999e+01_rb,2.8791e+01_rb,2.0014e+01_rb,1.1214e+01_rb,3.4994e-02_rb/) kbo(:, 2,56,14) = (/ & &7.7059e+01_rb,5.8140e+01_rb,3.9888e+01_rb,2.2021e+01_rb,5.1685e-02_rb/) kbo(:, 3,56,14) = (/ & &1.4187e+02_rb,1.0680e+02_rb,7.2655e+01_rb,3.9531e+01_rb,7.7408e-02_rb/) kbo(:, 4,56,14) = (/ & &2.4069e+02_rb,1.8091e+02_rb,1.2237e+02_rb,6.5530e+01_rb,1.5216e-01_rb/) kbo(:, 5,56,14) = (/ & &3.8007e+02_rb,2.8533e+02_rb,1.9230e+02_rb,1.0164e+02_rb,2.8842e-01_rb/) kbo(:, 1,57,14) = (/ & &3.1951e+01_rb,2.4226e+01_rb,1.6863e+01_rb,9.4281e+00_rb,3.3086e-02_rb/) kbo(:, 2,57,14) = (/ & &6.6995e+01_rb,5.0555e+01_rb,3.4699e+01_rb,1.9133e+01_rb,4.5516e-02_rb/) kbo(:, 3,57,14) = (/ & &1.2705e+02_rb,9.5650e+01_rb,6.5062e+01_rb,3.5359e+01_rb,6.7958e-02_rb/) kbo(:, 4,57,14) = (/ & &2.2106e+02_rb,1.6616e+02_rb,1.1237e+02_rb,6.0096e+01_rb,1.2025e-01_rb/) kbo(:, 5,57,14) = (/ & &3.5683e+02_rb,2.6789e+02_rb,1.8049e+02_rb,9.5240e+01_rb,2.3463e-01_rb/) kbo(:, 1,58,14) = (/ & &1.3120e+01_rb,1.1427e+01_rb,9.3421e+00_rb,6.3041e+00_rb,2.9290e-02_rb/) kbo(:, 2,58,14) = (/ & &2.8375e+01_rb,2.4586e+01_rb,1.9815e+01_rb,1.3205e+01_rb,4.1783e-02_rb/) kbo(:, 3,58,14) = (/ & &5.5462e+01_rb,4.7938e+01_rb,3.8264e+01_rb,2.5126e+01_rb,6.2497e-02_rb/) kbo(:, 4,58,14) = (/ & &9.8962e+01_rb,8.5397e+01_rb,6.7764e+01_rb,4.3784e+01_rb,9.9579e-02_rb/) kbo(:, 5,58,14) = (/ & &1.6330e+02_rb,1.4075e+02_rb,1.1126e+02_rb,7.0923e+01_rb,1.9106e-01_rb/) kbo(:, 1,59,14) = (/ & &1.2384e+01_rb,1.0821e+01_rb,8.8760e+00_rb,6.0092e+00_rb,2.9802e-02_rb/) kbo(:, 2,59,14) = (/ & &2.7135e+01_rb,2.3592e+01_rb,1.9085e+01_rb,1.2767e+01_rb,4.3735e-02_rb/) kbo(:, 3,59,14) = (/ & &5.3692e+01_rb,4.6568e+01_rb,3.7314e+01_rb,2.4591e+01_rb,6.7061e-02_rb/) kbo(:, 4,59,14) = (/ & &9.6831e+01_rb,8.3852e+01_rb,6.6810e+01_rb,4.3324e+01_rb,1.0825e-01_rb/) kbo(:, 5,59,14) = (/ & &1.6129e+02_rb,1.3951e+02_rb,1.1076e+02_rb,7.0881e+01_rb,1.7652e-01_rb/) kbo(:, 1,13,15) = (/ & &4.3408e+02_rb,3.2553e+02_rb,2.1704e+02_rb,1.0851e+02_rb,3.3387e-01_rb/) kbo(:, 2,13,15) = (/ & &6.1113e+02_rb,4.5841e+02_rb,3.0560e+02_rb,1.5279e+02_rb,3.4060e+00_rb/) kbo(:, 3,13,15) = (/ & &8.2062e+02_rb,6.1547e+02_rb,4.1031e+02_rb,2.0516e+02_rb,7.3889e+00_rb/) kbo(:, 4,13,15) = (/ & &1.0625e+03_rb,7.9684e+02_rb,5.3120e+02_rb,2.6560e+02_rb,1.3324e+01_rb/) kbo(:, 5,13,15) = (/ & &1.3314e+03_rb,9.9861e+02_rb,6.6575e+02_rb,3.3287e+02_rb,1.8510e+01_rb/) kbo(:, 1,14,15) = (/ & &4.8927e+02_rb,3.6696e+02_rb,2.4465e+02_rb,1.2233e+02_rb,1.4639e+00_rb/) kbo(:, 2,14,15) = (/ & &6.9247e+02_rb,5.1938e+02_rb,3.4624e+02_rb,1.7311e+02_rb,5.0161e+00_rb/) kbo(:, 3,14,15) = (/ & &9.3693e+02_rb,7.0263e+02_rb,4.6839e+02_rb,2.3422e+02_rb,9.2136e+00_rb/) kbo(:, 4,14,15) = (/ & &1.2198e+03_rb,9.1484e+02_rb,6.0989e+02_rb,3.0495e+02_rb,1.6015e+01_rb/) kbo(:, 5,14,15) = (/ & &1.5424e+03_rb,1.1568e+03_rb,7.7122e+02_rb,3.8560e+02_rb,2.0607e+01_rb/) kbo(:, 1,15,15) = (/ & &5.4419e+02_rb,4.0815e+02_rb,2.7209e+02_rb,1.3605e+02_rb,3.3205e+00_rb/) kbo(:, 2,15,15) = (/ & &7.6785e+02_rb,5.7588e+02_rb,3.8392e+02_rb,1.9198e+02_rb,6.4585e+00_rb/) kbo(:, 3,15,15) = (/ & &1.0420e+03_rb,7.8154e+02_rb,5.2102e+02_rb,2.6050e+02_rb,1.2593e+01_rb/) kbo(:, 4,15,15) = (/ & &1.3650e+03_rb,1.0239e+03_rb,6.8254e+02_rb,3.4127e+02_rb,1.7743e+01_rb/) kbo(:, 5,15,15) = (/ & &1.7328e+03_rb,1.2995e+03_rb,8.6636e+02_rb,4.3319e+02_rb,2.2779e+01_rb/) kbo(:, 1,16,15) = (/ & &5.9961e+02_rb,4.4968e+02_rb,2.9978e+02_rb,1.4989e+02_rb,4.3949e+00_rb/) kbo(:, 2,16,15) = (/ & &8.4044e+02_rb,6.3032e+02_rb,4.2019e+02_rb,2.1011e+02_rb,9.1201e+00_rb/) kbo(:, 3,16,15) = (/ & &1.1438e+03_rb,8.5770e+02_rb,5.7195e+02_rb,2.8595e+02_rb,1.4709e+01_rb/) kbo(:, 4,16,15) = (/ & &1.4993e+03_rb,1.1245e+03_rb,7.4965e+02_rb,3.7484e+02_rb,1.9517e+01_rb/) kbo(:, 5,16,15) = (/ & &1.9026e+03_rb,1.4270e+03_rb,9.5133e+02_rb,4.7569e+02_rb,2.4995e+01_rb/) kbo(:, 1,17,15) = (/ & &6.5740e+02_rb,4.9304e+02_rb,3.2868e+02_rb,1.6434e+02_rb,5.9877e+00_rb/) kbo(:, 2,17,15) = (/ & &9.1769e+02_rb,6.8825e+02_rb,4.5884e+02_rb,2.2941e+02_rb,1.1589e+01_rb/) kbo(:, 3,17,15) = (/ & &1.2441e+03_rb,9.3311e+02_rb,6.2203e+02_rb,3.1103e+02_rb,1.6070e+01_rb/) kbo(:, 4,17,15) = (/ & &1.6286e+03_rb,1.2214e+03_rb,8.1435e+02_rb,4.0716e+02_rb,2.1263e+01_rb/) kbo(:, 5,17,15) = (/ & &2.0647e+03_rb,1.5485e+03_rb,1.0323e+03_rb,5.1617e+02_rb,2.7194e+01_rb/) kbo(:, 1,18,15) = (/ & &7.0743e+02_rb,5.3056e+02_rb,3.5371e+02_rb,1.7685e+02_rb,7.5465e+00_rb/) kbo(:, 2,18,15) = (/ & &9.8473e+02_rb,7.3856e+02_rb,4.9235e+02_rb,2.4618e+02_rb,1.2708e+01_rb/) kbo(:, 3,18,15) = (/ & &1.3299e+03_rb,9.9741e+02_rb,6.6495e+02_rb,3.3248e+02_rb,1.7433e+01_rb/) kbo(:, 4,18,15) = (/ & &1.7379e+03_rb,1.3034e+03_rb,8.6887e+02_rb,4.3447e+02_rb,2.2996e+01_rb/) kbo(:, 5,18,15) = (/ & &2.2009e+03_rb,1.6506e+03_rb,1.1004e+03_rb,5.5020e+02_rb,2.9358e+01_rb/) kbo(:, 1,19,15) = (/ & &7.7797e+02_rb,5.8347e+02_rb,3.8898e+02_rb,1.9449e+02_rb,8.9058e+00_rb/) kbo(:, 2,19,15) = (/ & &1.0795e+03_rb,8.0964e+02_rb,5.3974e+02_rb,2.6988e+02_rb,1.3760e+01_rb/) kbo(:, 3,19,15) = (/ & &1.4503e+03_rb,1.0877e+03_rb,7.2515e+02_rb,3.6258e+02_rb,1.8739e+01_rb/) kbo(:, 4,19,15) = (/ & &1.8906e+03_rb,1.4179e+03_rb,9.4523e+02_rb,4.7263e+02_rb,2.4641e+01_rb/) kbo(:, 5,19,15) = (/ & &2.3863e+03_rb,1.7897e+03_rb,1.1933e+03_rb,5.9656e+02_rb,3.1485e+01_rb/) kbo(:, 1,20,15) = (/ & &8.7874e+02_rb,6.5907e+02_rb,4.3939e+02_rb,2.1969e+02_rb,9.7556e+00_rb/) kbo(:, 2,20,15) = (/ & &1.2128e+03_rb,9.0962e+02_rb,6.0638e+02_rb,3.0319e+02_rb,1.4896e+01_rb/) kbo(:, 3,20,15) = (/ & &1.6209e+03_rb,1.2157e+03_rb,8.1051e+02_rb,4.0524e+02_rb,2.0180e+01_rb/) kbo(:, 4,20,15) = (/ & &2.1009e+03_rb,1.5756e+03_rb,1.0504e+03_rb,5.2525e+02_rb,2.6433e+01_rb/) kbo(:, 5,20,15) = (/ & &2.6410e+03_rb,1.9808e+03_rb,1.3205e+03_rb,6.6026e+02_rb,3.3724e+01_rb/) kbo(:, 1,21,15) = (/ & &9.9673e+02_rb,7.4761e+02_rb,4.9839e+02_rb,2.4919e+02_rb,1.0524e+01_rb/) kbo(:, 2,21,15) = (/ & &1.3673e+03_rb,1.0255e+03_rb,6.8366e+02_rb,3.4184e+02_rb,1.6075e+01_rb/) kbo(:, 3,21,15) = (/ & &1.8166e+03_rb,1.3625e+03_rb,9.0829e+02_rb,4.5412e+02_rb,2.1690e+01_rb/) kbo(:, 4,21,15) = (/ & &2.3404e+03_rb,1.7553e+03_rb,1.1702e+03_rb,5.8508e+02_rb,2.8346e+01_rb/) kbo(:, 5,21,15) = (/ & &2.9258e+03_rb,2.1942e+03_rb,1.4629e+03_rb,7.3140e+02_rb,3.6033e+01_rb/) kbo(:, 1,22,15) = (/ & &1.1483e+03_rb,8.6125e+02_rb,5.7415e+02_rb,2.8707e+02_rb,1.1768e+01_rb/) kbo(:, 2,22,15) = (/ & &1.5630e+03_rb,1.1723e+03_rb,7.8152e+02_rb,3.9076e+02_rb,1.7624e+01_rb/) kbo(:, 3,22,15) = (/ & &2.0593e+03_rb,1.5445e+03_rb,1.0296e+03_rb,5.1484e+02_rb,2.3654e+01_rb/) kbo(:, 4,22,15) = (/ & &2.6282e+03_rb,1.9711e+03_rb,1.3140e+03_rb,6.5702e+02_rb,3.0777e+01_rb/) kbo(:, 5,22,15) = (/ & &3.2625e+03_rb,2.4468e+03_rb,1.6313e+03_rb,8.1566e+02_rb,3.8871e+01_rb/) kbo(:, 1,23,15) = (/ & &1.3167e+03_rb,9.8756e+02_rb,6.5833e+02_rb,3.2919e+02_rb,1.3119e+01_rb/) kbo(:, 2,23,15) = (/ & &1.7766e+03_rb,1.3324e+03_rb,8.8830e+02_rb,4.4413e+02_rb,1.9267e+01_rb/) kbo(:, 3,23,15) = (/ & &2.3173e+03_rb,1.7380e+03_rb,1.1586e+03_rb,5.7933e+02_rb,2.5707e+01_rb/) kbo(:, 4,23,15) = (/ & &2.9343e+03_rb,2.2007e+03_rb,1.4671e+03_rb,7.3355e+02_rb,3.3186e+01_rb/) kbo(:, 5,23,15) = (/ & &3.6141e+03_rb,2.7105e+03_rb,1.8070e+03_rb,9.0351e+02_rb,4.1634e+01_rb/) kbo(:, 1,24,15) = (/ & &1.5139e+03_rb,1.1354e+03_rb,7.5695e+02_rb,3.7848e+02_rb,1.4766e+01_rb/) kbo(:, 2,24,15) = (/ & &2.0213e+03_rb,1.5159e+03_rb,1.0107e+03_rb,5.0532e+02_rb,2.1039e+01_rb/) kbo(:, 3,24,15) = (/ & &2.6132e+03_rb,1.9598e+03_rb,1.3066e+03_rb,6.5328e+02_rb,2.7799e+01_rb/) kbo(:, 4,24,15) = (/ & &3.2798e+03_rb,2.4598e+03_rb,1.6399e+03_rb,8.1993e+02_rb,3.5585e+01_rb/) kbo(:, 5,24,15) = (/ & &4.0096e+03_rb,3.0073e+03_rb,2.0048e+03_rb,1.0024e+03_rb,4.4343e+01_rb/) kbo(:, 1,25,15) = (/ & &1.7311e+03_rb,1.2983e+03_rb,8.6555e+02_rb,4.3279e+02_rb,1.6410e+01_rb/) kbo(:, 2,25,15) = (/ & &2.2880e+03_rb,1.7160e+03_rb,1.1440e+03_rb,5.7204e+02_rb,2.2852e+01_rb/) kbo(:, 3,25,15) = (/ & &2.9293e+03_rb,2.1970e+03_rb,1.4646e+03_rb,7.3234e+02_rb,2.9897e+01_rb/) kbo(:, 4,25,15) = (/ & &3.6441e+03_rb,2.7331e+03_rb,1.8220e+03_rb,9.1101e+02_rb,3.8003e+01_rb/) kbo(:, 5,25,15) = (/ & &4.4209e+03_rb,3.3157e+03_rb,2.2104e+03_rb,1.1052e+03_rb,4.7037e+01_rb/) kbo(:, 1,26,15) = (/ & &1.9753e+03_rb,1.4814e+03_rb,9.8766e+02_rb,4.9382e+02_rb,1.8018e+01_rb/) kbo(:, 2,26,15) = (/ & &2.5844e+03_rb,1.9383e+03_rb,1.2922e+03_rb,6.4606e+02_rb,2.4551e+01_rb/) kbo(:, 3,26,15) = (/ & &3.2758e+03_rb,2.4567e+03_rb,1.6379e+03_rb,8.1896e+02_rb,3.2091e+01_rb/) kbo(:, 4,26,15) = (/ & &4.0392e+03_rb,3.0293e+03_rb,2.0196e+03_rb,1.0098e+03_rb,4.0504e+01_rb/) kbo(:, 5,26,15) = (/ & &4.8643e+03_rb,3.6484e+03_rb,2.4323e+03_rb,1.2161e+03_rb,4.9853e+01_rb/) kbo(:, 1,27,15) = (/ & &2.2372e+03_rb,1.6779e+03_rb,1.1187e+03_rb,5.5932e+02_rb,1.9412e+01_rb/) kbo(:, 2,27,15) = (/ & &2.8964e+03_rb,2.1723e+03_rb,1.4482e+03_rb,7.2410e+02_rb,2.6199e+01_rb/) kbo(:, 3,27,15) = (/ & &3.6363e+03_rb,2.7272e+03_rb,1.8181e+03_rb,9.0912e+02_rb,3.4164e+01_rb/) kbo(:, 4,27,15) = (/ & &4.4487e+03_rb,3.3365e+03_rb,2.2244e+03_rb,1.1122e+03_rb,4.3003e+01_rb/) kbo(:, 5,27,15) = (/ & &5.3193e+03_rb,3.9894e+03_rb,2.6596e+03_rb,1.3298e+03_rb,5.2701e+01_rb/) kbo(:, 1,28,15) = (/ & &2.5116e+03_rb,1.8837e+03_rb,1.2558e+03_rb,6.2784e+02_rb,2.0876e+01_rb/) kbo(:, 2,28,15) = (/ & &3.2189e+03_rb,2.4142e+03_rb,1.6096e+03_rb,8.0476e+02_rb,2.7949e+01_rb/) kbo(:, 3,28,15) = (/ & &4.0085e+03_rb,3.0060e+03_rb,2.0042e+03_rb,1.0021e+03_rb,3.6156e+01_rb/) kbo(:, 4,28,15) = (/ & &4.8660e+03_rb,3.6495e+03_rb,2.4329e+03_rb,1.2165e+03_rb,4.5448e+01_rb/) kbo(:, 5,28,15) = (/ & &5.7764e+03_rb,4.3322e+03_rb,2.8883e+03_rb,1.4442e+03_rb,5.5591e+01_rb/) kbo(:, 1,29,15) = (/ & &2.7788e+03_rb,2.0842e+03_rb,1.3895e+03_rb,6.9477e+02_rb,2.2561e+01_rb/) kbo(:, 2,29,15) = (/ & &3.5298e+03_rb,2.6472e+03_rb,1.7648e+03_rb,8.8246e+02_rb,2.9936e+01_rb/) kbo(:, 3,29,15) = (/ & &4.3597e+03_rb,3.2696e+03_rb,2.1798e+03_rb,1.0899e+03_rb,3.8464e+01_rb/) kbo(:, 4,29,15) = (/ & &5.2526e+03_rb,3.9395e+03_rb,2.6263e+03_rb,1.3131e+03_rb,4.8125e+01_rb/) kbo(:, 5,29,15) = (/ & &6.1956e+03_rb,4.6467e+03_rb,3.0979e+03_rb,1.5489e+03_rb,5.8615e+01_rb/) kbo(:, 1,30,15) = (/ & &3.0369e+03_rb,2.2777e+03_rb,1.5185e+03_rb,7.5926e+02_rb,2.4413e+01_rb/) kbo(:, 2,30,15) = (/ & &3.8244e+03_rb,2.8684e+03_rb,1.9122e+03_rb,9.5609e+02_rb,3.2061e+01_rb/) kbo(:, 3,30,15) = (/ & &4.6859e+03_rb,3.5141e+03_rb,2.3430e+03_rb,1.1715e+03_rb,4.0933e+01_rb/) kbo(:, 4,30,15) = (/ & &5.6065e+03_rb,4.2050e+03_rb,2.8032e+03_rb,1.4016e+03_rb,5.0897e+01_rb/) kbo(:, 5,30,15) = (/ & &6.5717e+03_rb,4.9287e+03_rb,3.2858e+03_rb,1.6429e+03_rb,6.1721e+01_rb/) kbo(:, 1,31,15) = (/ & &3.2648e+03_rb,2.4486e+03_rb,1.6324e+03_rb,8.1618e+02_rb,2.6426e+01_rb/) kbo(:, 2,31,15) = (/ & &4.0756e+03_rb,3.0566e+03_rb,2.0378e+03_rb,1.0190e+03_rb,3.4471e+01_rb/) kbo(:, 3,31,15) = (/ & &4.9563e+03_rb,3.7173e+03_rb,2.4782e+03_rb,1.2392e+03_rb,4.3666e+01_rb/) kbo(:, 4,31,15) = (/ & &5.8911e+03_rb,4.4181e+03_rb,2.9455e+03_rb,1.4727e+03_rb,5.3750e+01_rb/) kbo(:, 5,31,15) = (/ & &6.8637e+03_rb,5.1477e+03_rb,3.4319e+03_rb,1.7160e+03_rb,6.4980e+01_rb/) kbo(:, 1,32,15) = (/ & &3.4972e+03_rb,2.6230e+03_rb,1.7487e+03_rb,8.7434e+02_rb,2.8607e+01_rb/) kbo(:, 2,32,15) = (/ & &4.3306e+03_rb,3.2480e+03_rb,2.1653e+03_rb,1.0827e+03_rb,3.6943e+01_rb/) kbo(:, 3,32,15) = (/ & &5.2288e+03_rb,3.9216e+03_rb,2.6144e+03_rb,1.3072e+03_rb,4.6342e+01_rb/) kbo(:, 4,32,15) = (/ & &6.1756e+03_rb,4.6314e+03_rb,3.0875e+03_rb,1.5439e+03_rb,5.6744e+01_rb/) kbo(:, 5,32,15) = (/ & &7.1543e+03_rb,5.3657e+03_rb,3.5769e+03_rb,1.7884e+03_rb,6.8387e+01_rb/) kbo(:, 1,33,15) = (/ & &3.7323e+03_rb,2.7993e+03_rb,1.8662e+03_rb,9.3310e+02_rb,3.0880e+01_rb/) kbo(:, 2,33,15) = (/ & &4.5855e+03_rb,3.4391e+03_rb,2.2927e+03_rb,1.1463e+03_rb,3.9458e+01_rb/) kbo(:, 3,33,15) = (/ & &5.4988e+03_rb,4.1239e+03_rb,2.7494e+03_rb,1.3747e+03_rb,4.9066e+01_rb/) kbo(:, 4,33,15) = (/ & &6.4556e+03_rb,4.8415e+03_rb,3.2279e+03_rb,1.6139e+03_rb,5.9834e+01_rb/) kbo(:, 5,33,15) = (/ & &7.4364e+03_rb,5.5775e+03_rb,3.7183e+03_rb,1.8591e+03_rb,7.1936e+01_rb/) kbo(:, 1,34,15) = (/ & &3.9743e+03_rb,2.9808e+03_rb,1.9872e+03_rb,9.9359e+02_rb,3.2850e+01_rb/) kbo(:, 2,34,15) = (/ & &4.8517e+03_rb,3.6384e+03_rb,2.4257e+03_rb,1.2129e+03_rb,4.1615e+01_rb/) kbo(:, 3,34,15) = (/ & &5.7848e+03_rb,4.3386e+03_rb,2.8923e+03_rb,1.4462e+03_rb,5.1514e+01_rb/) kbo(:, 4,34,15) = (/ & &6.7566e+03_rb,5.0673e+03_rb,3.3783e+03_rb,1.6891e+03_rb,6.2632e+01_rb/) kbo(:, 5,34,15) = (/ & &7.7467e+03_rb,5.8099e+03_rb,3.8734e+03_rb,1.9367e+03_rb,7.5129e+01_rb/) kbo(:, 1,35,15) = (/ & &4.1392e+03_rb,3.1044e+03_rb,2.0697e+03_rb,1.0348e+03_rb,3.4005e+01_rb/) kbo(:, 2,35,15) = (/ & &5.0338e+03_rb,3.7756e+03_rb,2.5169e+03_rb,1.2585e+03_rb,4.2889e+01_rb/) kbo(:, 3,35,15) = (/ & &5.9824e+03_rb,4.4867e+03_rb,2.9910e+03_rb,1.4955e+03_rb,5.2983e+01_rb/) kbo(:, 4,35,15) = (/ & &6.9652e+03_rb,5.2239e+03_rb,3.4826e+03_rb,1.7414e+03_rb,6.4327e+01_rb/) kbo(:, 5,35,15) = (/ & &7.9642e+03_rb,5.9733e+03_rb,3.9822e+03_rb,1.9911e+03_rb,7.7087e+01_rb/) kbo(:, 1,36,15) = (/ & &4.2146e+03_rb,3.1608e+03_rb,2.1072e+03_rb,1.0536e+03_rb,3.4225e+01_rb/) kbo(:, 2,36,15) = (/ & &5.1200e+03_rb,3.8401e+03_rb,2.5599e+03_rb,1.2800e+03_rb,4.3139e+01_rb/) kbo(:, 3,36,15) = (/ & &6.0791e+03_rb,4.5594e+03_rb,3.0396e+03_rb,1.5198e+03_rb,5.3291e+01_rb/) kbo(:, 4,36,15) = (/ & &7.0718e+03_rb,5.3037e+03_rb,3.5357e+03_rb,1.7679e+03_rb,6.4713e+01_rb/) kbo(:, 5,36,15) = (/ & &8.0803e+03_rb,6.0601e+03_rb,4.0401e+03_rb,2.0201e+03_rb,7.7535e+01_rb/) kbo(:, 1,37,15) = (/ & &4.1830e+03_rb,3.1372e+03_rb,2.0915e+03_rb,1.0457e+03_rb,3.3171e+01_rb/) kbo(:, 2,37,15) = (/ & &5.0955e+03_rb,3.8218e+03_rb,2.5477e+03_rb,1.2739e+03_rb,4.1938e+01_rb/) kbo(:, 3,37,15) = (/ & &6.0651e+03_rb,4.5490e+03_rb,3.0327e+03_rb,1.5163e+03_rb,5.1957e+01_rb/) kbo(:, 4,37,15) = (/ & &7.0708e+03_rb,5.3029e+03_rb,3.5354e+03_rb,1.7678e+03_rb,6.3244e+01_rb/) kbo(:, 5,37,15) = (/ & &8.0937e+03_rb,6.0708e+03_rb,4.0470e+03_rb,2.0235e+03_rb,7.5914e+01_rb/) kbo(:, 1,38,15) = (/ & &4.1367e+03_rb,3.1023e+03_rb,2.0683e+03_rb,1.0342e+03_rb,3.2061e+01_rb/) kbo(:, 2,38,15) = (/ & &5.0552e+03_rb,3.7913e+03_rb,2.5275e+03_rb,1.2638e+03_rb,4.0668e+01_rb/) kbo(:, 3,38,15) = (/ & &6.0331e+03_rb,4.5250e+03_rb,3.0168e+03_rb,1.5083e+03_rb,5.0542e+01_rb/) kbo(:, 4,38,15) = (/ & &7.0503e+03_rb,5.2874e+03_rb,3.5252e+03_rb,1.7626e+03_rb,6.1670e+01_rb/) kbo(:, 5,38,15) = (/ & &8.0886e+03_rb,6.0662e+03_rb,4.0441e+03_rb,2.0220e+03_rb,7.4175e+01_rb/) kbo(:, 1,39,15) = (/ & &4.0836e+03_rb,3.0625e+03_rb,2.0418e+03_rb,1.0208e+03_rb,3.0973e+01_rb/) kbo(:, 2,39,15) = (/ & &5.0068e+03_rb,3.7549e+03_rb,2.5034e+03_rb,1.2516e+03_rb,3.9423e+01_rb/) kbo(:, 3,39,15) = (/ & &5.9917e+03_rb,4.4934e+03_rb,2.9959e+03_rb,1.4979e+03_rb,4.9140e+01_rb/) kbo(:, 4,39,15) = (/ & &7.0190e+03_rb,5.2646e+03_rb,3.5096e+03_rb,1.7548e+03_rb,6.0110e+01_rb/) kbo(:, 5,39,15) = (/ & &8.0703e+03_rb,6.0526e+03_rb,4.0352e+03_rb,2.0176e+03_rb,7.2442e+01_rb/) kbo(:, 1,40,15) = (/ & &3.9731e+03_rb,2.9800e+03_rb,1.9865e+03_rb,9.9327e+02_rb,2.9119e+01_rb/) kbo(:, 2,40,15) = (/ & &4.9010e+03_rb,3.6760e+03_rb,2.4505e+03_rb,1.2252e+03_rb,3.7284e+01_rb/) kbo(:, 3,40,15) = (/ & &5.8967e+03_rb,4.4226e+03_rb,2.9482e+03_rb,1.4742e+03_rb,4.6706e+01_rb/) kbo(:, 4,40,15) = (/ & &6.9401e+03_rb,5.2049e+03_rb,3.4701e+03_rb,1.7350e+03_rb,5.7383e+01_rb/) kbo(:, 5,40,15) = (/ & &8.0134e+03_rb,6.0096e+03_rb,4.0066e+03_rb,2.0033e+03_rb,6.9395e+01_rb/) kbo(:, 1,41,15) = (/ & &3.8503e+03_rb,2.8877e+03_rb,1.9252e+03_rb,9.6258e+02_rb,2.7224e+01_rb/) kbo(:, 2,41,15) = (/ & &4.7815e+03_rb,3.5862e+03_rb,2.3908e+03_rb,1.1953e+03_rb,3.5101e+01_rb/) kbo(:, 3,41,15) = (/ & &5.7872e+03_rb,4.3401e+03_rb,2.8935e+03_rb,1.4467e+03_rb,4.4197e+01_rb/) kbo(:, 4,41,15) = (/ & &6.8458e+03_rb,5.1341e+03_rb,3.4225e+03_rb,1.7115e+03_rb,5.4583e+01_rb/) kbo(:, 5,41,15) = (/ & &7.9396e+03_rb,5.9547e+03_rb,3.9699e+03_rb,1.9849e+03_rb,6.6259e+01_rb/) kbo(:, 1,42,15) = (/ & &3.7218e+03_rb,2.7913e+03_rb,1.8581e+03_rb,9.3043e+02_rb,2.5397e+01_rb/) kbo(:, 2,42,15) = (/ & &4.6552e+03_rb,3.4913e+03_rb,2.3275e+03_rb,1.1638e+03_rb,3.2985e+01_rb/) kbo(:, 3,42,15) = (/ & &5.6676e+03_rb,4.2515e+03_rb,2.8342e+03_rb,1.4169e+03_rb,4.1777e+01_rb/) kbo(:, 4,42,15) = (/ & &6.7404e+03_rb,5.0552e+03_rb,3.3706e+03_rb,1.6852e+03_rb,5.1833e+01_rb/) kbo(:, 5,42,15) = (/ & &7.8548e+03_rb,5.8911e+03_rb,3.9277e+03_rb,1.9637e+03_rb,6.3188e+01_rb/) kbo(:, 1,43,15) = (/ & &3.5738e+03_rb,2.6801e+03_rb,1.7870e+03_rb,8.9342e+02_rb,2.3264e+01_rb/) kbo(:, 2,43,15) = (/ & &4.5111e+03_rb,3.3834e+03_rb,2.2559e+03_rb,1.1277e+03_rb,3.0494e+01_rb/) kbo(:, 3,43,15) = (/ & &5.5364e+03_rb,4.1522e+03_rb,2.7681e+03_rb,1.3841e+03_rb,3.8909e+01_rb/) kbo(:, 4,43,15) = (/ & &6.6297e+03_rb,4.9723e+03_rb,3.3147e+03_rb,1.6574e+03_rb,4.8575e+01_rb/) kbo(:, 5,43,15) = (/ & &7.7713e+03_rb,5.8285e+03_rb,3.8856e+03_rb,1.9429e+03_rb,5.9539e+01_rb/) kbo(:, 1,44,15) = (/ & &3.4144e+03_rb,2.5608e+03_rb,1.7072e+03_rb,8.5364e+02_rb,2.1065e+01_rb/) kbo(:, 2,44,15) = (/ & &4.3569e+03_rb,3.2674e+03_rb,2.1784e+03_rb,1.0893e+03_rb,2.7929e+01_rb/) kbo(:, 3,44,15) = (/ & &5.3944e+03_rb,4.0458e+03_rb,2.6971e+03_rb,1.3486e+03_rb,3.5943e+01_rb/) kbo(:, 4,44,15) = (/ & &6.5105e+03_rb,4.8828e+03_rb,3.2554e+03_rb,1.6276e+03_rb,4.5182e+01_rb/) kbo(:, 5,44,15) = (/ & &7.6829e+03_rb,5.7622e+03_rb,3.8414e+03_rb,1.9208e+03_rb,5.5715e+01_rb/) kbo(:, 1,45,15) = (/ & &3.2505e+03_rb,2.4379e+03_rb,1.6254e+03_rb,8.1271e+02_rb,1.8984e+01_rb/) kbo(:, 2,45,15) = (/ & &4.1974e+03_rb,3.1481e+03_rb,2.0989e+03_rb,1.0493e+03_rb,2.5493e+01_rb/) kbo(:, 3,45,15) = (/ & &5.2466e+03_rb,3.9350e+03_rb,2.6232e+03_rb,1.3117e+03_rb,3.3113e+01_rb/) kbo(:, 4,45,15) = (/ & &6.3833e+03_rb,4.7875e+03_rb,3.1918e+03_rb,1.5958e+03_rb,4.1930e+01_rb/) kbo(:, 5,45,15) = (/ & &7.5868e+03_rb,5.6901e+03_rb,3.7934e+03_rb,1.8967e+03_rb,5.2027e+01_rb/) kbo(:, 1,46,15) = (/ & &3.0662e+03_rb,2.2996e+03_rb,1.5331e+03_rb,7.6672e+02_rb,1.6905e+01_rb/) kbo(:, 2,46,15) = (/ & &4.0155e+03_rb,3.0116e+03_rb,2.0079e+03_rb,1.0039e+03_rb,2.3041e+01_rb/) kbo(:, 3,46,15) = (/ & &5.0741e+03_rb,3.8056e+03_rb,2.5370e+03_rb,1.2685e+03_rb,3.0241e+01_rb/) kbo(:, 4,46,15) = (/ & &6.2294e+03_rb,4.6721e+03_rb,3.1149e+03_rb,1.5573e+03_rb,3.8622e+01_rb/) kbo(:, 5,46,15) = (/ & &7.4637e+03_rb,5.5978e+03_rb,3.7320e+03_rb,1.8660e+03_rb,4.8257e+01_rb/) kbo(:, 1,47,15) = (/ & &2.8472e+03_rb,2.1354e+03_rb,1.4236e+03_rb,7.1208e+02_rb,1.4723e+01_rb/) kbo(:, 2,47,15) = (/ & &3.7952e+03_rb,2.8464e+03_rb,1.8976e+03_rb,9.4874e+02_rb,2.0451e+01_rb/) kbo(:, 3,47,15) = (/ & &4.8581e+03_rb,3.6436e+03_rb,2.4290e+03_rb,1.2145e+03_rb,2.7203e+01_rb/) kbo(:, 4,47,15) = (/ & &6.0303e+03_rb,4.5227e+03_rb,3.0151e+03_rb,1.5075e+03_rb,3.5112e+01_rb/) kbo(:, 5,47,15) = (/ & &7.2931e+03_rb,5.4698e+03_rb,3.6467e+03_rb,1.8233e+03_rb,4.4239e+01_rb/) kbo(:, 1,48,15) = (/ & &2.6253e+03_rb,1.9691e+03_rb,1.3127e+03_rb,6.5679e+02_rb,1.2715e+01_rb/) kbo(:, 2,48,15) = (/ & &3.5692e+03_rb,2.6769e+03_rb,1.7846e+03_rb,8.9231e+02_rb,1.8030e+01_rb/) kbo(:, 3,48,15) = (/ & &4.6375e+03_rb,3.4782e+03_rb,2.3188e+03_rb,1.1595e+03_rb,2.4364e+01_rb/) kbo(:, 4,48,15) = (/ & &5.8244e+03_rb,4.3683e+03_rb,2.9120e+03_rb,1.4560e+03_rb,3.1792e+01_rb/) kbo(:, 5,48,15) = (/ & &7.1141e+03_rb,5.3356e+03_rb,3.5570e+03_rb,1.7785e+03_rb,4.0424e+01_rb/) kbo(:, 1,49,15) = (/ & &2.4040e+03_rb,1.8030e+03_rb,1.2020e+03_rb,6.0155e+02_rb,1.0861e+01_rb/) kbo(:, 2,49,15) = (/ & &3.3401e+03_rb,2.5051e+03_rb,1.6700e+03_rb,8.3512e+02_rb,1.5777e+01_rb/) kbo(:, 3,49,15) = (/ & &4.4127e+03_rb,3.3095e+03_rb,2.2063e+03_rb,1.1031e+03_rb,2.1693e+01_rb/) kbo(:, 4,49,15) = (/ & &5.6115e+03_rb,4.2087e+03_rb,2.8058e+03_rb,1.4030e+03_rb,2.8659e+01_rb/) kbo(:, 5,49,15) = (/ & &6.9274e+03_rb,5.1956e+03_rb,3.4636e+03_rb,1.7318e+03_rb,3.6808e+01_rb/) kbo(:, 1,50,15) = (/ & &2.2030e+03_rb,1.6523e+03_rb,1.1015e+03_rb,5.5137e+02_rb,9.2813e+00_rb/) kbo(:, 2,50,15) = (/ & &3.1297e+03_rb,2.3473e+03_rb,1.5649e+03_rb,7.8265e+02_rb,1.3818e+01_rb/) kbo(:, 3,50,15) = (/ & &4.2081e+03_rb,3.1561e+03_rb,2.1041e+03_rb,1.0519e+03_rb,1.9341e+01_rb/) kbo(:, 4,50,15) = (/ & &5.4214e+03_rb,4.0660e+03_rb,2.7107e+03_rb,1.3553e+03_rb,2.5902e+01_rb/) kbo(:, 5,50,15) = (/ & &6.7641e+03_rb,5.0731e+03_rb,3.3821e+03_rb,1.6910e+03_rb,3.3602e+01_rb/) kbo(:, 1,51,15) = (/ & &2.0128e+03_rb,1.5096e+03_rb,1.0064e+03_rb,5.0390e+02_rb,7.8927e+00_rb/) kbo(:, 2,51,15) = (/ & &2.9276e+03_rb,2.1957e+03_rb,1.4638e+03_rb,7.3206e+02_rb,1.2046e+01_rb/) kbo(:, 3,51,15) = (/ & &4.0098e+03_rb,3.0073e+03_rb,2.0049e+03_rb,1.0025e+03_rb,1.7204e+01_rb/) kbo(:, 4,51,15) = (/ & &5.2399e+03_rb,3.9299e+03_rb,2.6200e+03_rb,1.3100e+03_rb,2.3387e+01_rb/) kbo(:, 5,51,15) = (/ & &6.6101e+03_rb,4.9575e+03_rb,3.3050e+03_rb,1.6525e+03_rb,3.0654e+01_rb/) kbo(:, 1,52,15) = (/ & &1.8272e+03_rb,1.3704e+03_rb,9.1373e+02_rb,4.5761e+02_rb,6.6428e+00_rb/) kbo(:, 2,52,15) = (/ & &2.7256e+03_rb,2.0442e+03_rb,1.3627e+03_rb,6.8167e+02_rb,1.0409e+01_rb/) kbo(:, 3,52,15) = (/ & &3.8098e+03_rb,2.8573e+03_rb,1.9049e+03_rb,9.5240e+02_rb,1.5205e+01_rb/) kbo(:, 4,52,15) = (/ & &5.0575e+03_rb,3.7931e+03_rb,2.5288e+03_rb,1.2643e+03_rb,2.1008e+01_rb/) kbo(:, 5,52,15) = (/ & &6.4544e+03_rb,4.8408e+03_rb,3.2272e+03_rb,1.6135e+03_rb,2.7863e+01_rb/) kbo(:, 1,53,15) = (/ & &1.6455e+03_rb,1.2341e+03_rb,8.2275e+02_rb,4.1218e+02_rb,5.5292e+00_rb/) kbo(:, 2,53,15) = (/ & &2.5225e+03_rb,1.8919e+03_rb,1.2613e+03_rb,6.3102e+02_rb,8.9199e+00_rb/) kbo(:, 3,53,15) = (/ & &3.6054e+03_rb,2.7042e+03_rb,1.8028e+03_rb,9.0141e+02_rb,1.3342e+01_rb/) kbo(:, 4,53,15) = (/ & &4.8703e+03_rb,3.6527e+03_rb,2.4352e+03_rb,1.2176e+03_rb,1.8766e+01_rb/) kbo(:, 5,53,15) = (/ & &6.2970e+03_rb,4.7228e+03_rb,3.1485e+03_rb,1.5742e+03_rb,2.5231e+01_rb/) kbo(:, 1,54,15) = (/ & &1.4905e+03_rb,1.1179e+03_rb,7.4526e+02_rb,3.7343e+02_rb,4.6241e+00_rb/) kbo(:, 2,54,15) = (/ & &2.3494e+03_rb,1.7621e+03_rb,1.1747e+03_rb,5.8778e+02_rb,7.6666e+00_rb/) kbo(:, 3,54,15) = (/ & &3.4317e+03_rb,2.5738e+03_rb,1.7159e+03_rb,8.5793e+02_rb,1.1744e+01_rb/) kbo(:, 4,54,15) = (/ & &4.7173e+03_rb,3.5380e+03_rb,2.3587e+03_rb,1.1793e+03_rb,1.6836e+01_rb/) kbo(:, 5,54,15) = (/ & &6.1810e+03_rb,4.6357e+03_rb,3.0905e+03_rb,1.5452e+03_rb,2.2955e+01_rb/) kbo(:, 1,55,15) = (/ & &1.3503e+03_rb,1.0127e+03_rb,6.7517e+02_rb,3.3837e+02_rb,3.8496e+00_rb/) kbo(:, 2,55,15) = (/ & &2.1922e+03_rb,1.6441e+03_rb,1.0961e+03_rb,5.4853e+02_rb,6.5708e+00_rb/) kbo(:, 3,55,15) = (/ & &3.2739e+03_rb,2.4554e+03_rb,1.6370e+03_rb,8.1853e+02_rb,1.0320e+01_rb/) kbo(:, 4,55,15) = (/ & &4.5818e+03_rb,3.4364e+03_rb,2.2910e+03_rb,1.1455e+03_rb,1.5094e+01_rb/) kbo(:, 5,55,15) = (/ & &6.0888e+03_rb,4.5666e+03_rb,3.0444e+03_rb,1.5222e+03_rb,2.0876e+01_rb/) kbo(:, 1,56,15) = (/ & &1.2164e+03_rb,9.1227e+02_rb,6.0818e+02_rb,3.0487e+02_rb,3.1724e+00_rb/) kbo(:, 2,56,15) = (/ & &2.0376e+03_rb,1.5282e+03_rb,1.0188e+03_rb,5.0989e+02_rb,5.5890e+00_rb/) kbo(:, 3,56,15) = (/ & &3.1175e+03_rb,2.3381e+03_rb,1.5588e+03_rb,7.7947e+02_rb,9.0060e+00_rb/) kbo(:, 4,56,15) = (/ & &4.4491e+03_rb,3.3368e+03_rb,2.2246e+03_rb,1.1123e+03_rb,1.3463e+01_rb/) kbo(:, 5,56,15) = (/ & &6.0027e+03_rb,4.5020e+03_rb,3.0014e+03_rb,1.5007e+03_rb,1.8912e+01_rb/) kbo(:, 1,57,15) = (/ & &1.0889e+03_rb,8.1664e+02_rb,5.4443e+02_rb,2.7298e+02_rb,2.5821e+00_rb/) kbo(:, 2,57,15) = (/ & &1.8871e+03_rb,1.4154e+03_rb,9.4357e+02_rb,4.7231e+02_rb,4.7102e+00_rb/) kbo(:, 3,57,15) = (/ & &2.9648e+03_rb,2.2236e+03_rb,1.4824e+03_rb,7.4131e+02_rb,7.7911e+00_rb/) kbo(:, 4,57,15) = (/ & &4.3194e+03_rb,3.2395e+03_rb,2.1597e+03_rb,1.0798e+03_rb,1.1924e+01_rb/) kbo(:, 5,57,15) = (/ & &5.9252e+03_rb,4.4439e+03_rb,2.9626e+03_rb,1.4813e+03_rb,1.7058e+01_rb/) kbo(:, 1,58,15) = (/ & &4.7296e+02_rb,4.0724e+02_rb,3.1867e+02_rb,1.9341e+02_rb,2.1052e+00_rb/) kbo(:, 2,58,15) = (/ & &8.4958e+02_rb,7.3152e+02_rb,5.7242e+02_rb,3.4682e+02_rb,3.9643e+00_rb/) kbo(:, 3,58,15) = (/ & &1.3719e+03_rb,1.1812e+03_rb,9.2434e+02_rb,5.5948e+02_rb,6.7352e+00_rb/) kbo(:, 4,58,15) = (/ & &2.0410e+03_rb,1.7574e+03_rb,1.3752e+03_rb,8.3221e+02_rb,1.0550e+01_rb/) kbo(:, 5,58,15) = (/ & &2.8472e+03_rb,2.4515e+03_rb,1.9184e+03_rb,1.1609e+03_rb,1.5395e+01_rb/) kbo(:, 1,59,15) = (/ & &4.5680e+02_rb,3.9477e+02_rb,3.1046e+02_rb,1.8976e+02_rb,1.9256e+00_rb/) kbo(:, 2,59,15) = (/ & &8.3327e+02_rb,7.2012e+02_rb,5.6632e+02_rb,3.4555e+02_rb,3.6779e+00_rb/) kbo(:, 3,59,15) = (/ & &1.3611e+03_rb,1.1763e+03_rb,9.2510e+02_rb,5.6393e+02_rb,6.3201e+00_rb/) kbo(:, 4,59,15) = (/ & &2.0429e+03_rb,1.7655e+03_rb,1.3884e+03_rb,8.4623e+02_rb,9.9804e+00_rb/) kbo(:, 5,59,15) = (/ & &2.8700e+03_rb,2.4803e+03_rb,1.9506e+03_rb,1.1889e+03_rb,1.4739e+01_rb/) kbo(:, 1,13,16) = (/ & &4.8122e+02_rb,3.6087e+02_rb,2.4060e+02_rb,1.2030e+02_rb,7.3993e+00_rb/) kbo(:, 2,13,16) = (/ & &6.9206e+02_rb,5.1907e+02_rb,3.4603e+02_rb,1.7302e+02_rb,1.5501e+01_rb/) kbo(:, 3,13,16) = (/ & &9.4738e+02_rb,7.1056e+02_rb,4.7372e+02_rb,2.3683e+02_rb,2.1040e+01_rb/) kbo(:, 4,13,16) = (/ & &1.2406e+03_rb,9.3042e+02_rb,6.2029e+02_rb,3.1014e+02_rb,2.9139e+01_rb/) kbo(:, 5,13,16) = (/ & &1.5703e+03_rb,1.1778e+03_rb,7.8522e+02_rb,3.9259e+02_rb,3.9308e+01_rb/) kbo(:, 1,14,16) = (/ & &5.7576e+02_rb,4.3182e+02_rb,2.8788e+02_rb,1.4394e+02_rb,1.4009e+01_rb/) kbo(:, 2,14,16) = (/ & &8.3244e+02_rb,6.2431e+02_rb,4.1619e+02_rb,2.0809e+02_rb,1.9135e+01_rb/) kbo(:, 3,14,16) = (/ & &1.1392e+03_rb,8.5436e+02_rb,5.6956e+02_rb,2.8480e+02_rb,2.5798e+01_rb/) kbo(:, 4,14,16) = (/ & &1.4970e+03_rb,1.1226e+03_rb,7.4844e+02_rb,3.7423e+02_rb,3.5612e+01_rb/) kbo(:, 5,14,16) = (/ & &1.8999e+03_rb,1.4249e+03_rb,9.4985e+02_rb,4.7498e+02_rb,4.7897e+01_rb/) kbo(:, 1,15,16) = (/ & &6.7686e+02_rb,5.0758e+02_rb,3.3845e+02_rb,1.6922e+02_rb,1.7232e+01_rb/) kbo(:, 2,15,16) = (/ & &9.7585e+02_rb,7.3193e+02_rb,4.8790e+02_rb,2.4395e+02_rb,2.3521e+01_rb/) kbo(:, 3,15,16) = (/ & &1.3377e+03_rb,1.0032e+03_rb,6.6881e+02_rb,3.3441e+02_rb,3.1740e+01_rb/) kbo(:, 4,15,16) = (/ & &1.7575e+03_rb,1.3181e+03_rb,8.7876e+02_rb,4.3935e+02_rb,4.3321e+01_rb/) kbo(:, 5,15,16) = (/ & &2.2308e+03_rb,1.6730e+03_rb,1.1154e+03_rb,5.5774e+02_rb,5.7999e+01_rb/) kbo(:, 1,16,16) = (/ & &7.8637e+02_rb,5.8983e+02_rb,3.9321e+02_rb,1.9661e+02_rb,2.1088e+01_rb/) kbo(:, 2,16,16) = (/ & &1.1333e+03_rb,8.4995e+02_rb,5.6666e+02_rb,2.8332e+02_rb,2.8690e+01_rb/) kbo(:, 3,16,16) = (/ & &1.5497e+03_rb,1.1623e+03_rb,7.7493e+02_rb,3.8745e+02_rb,3.8949e+01_rb/) kbo(:, 4,16,16) = (/ & &2.0330e+03_rb,1.5247e+03_rb,1.0164e+03_rb,5.0821e+02_rb,5.2500e+01_rb/) kbo(:, 5,16,16) = (/ & &2.5789e+03_rb,1.9342e+03_rb,1.2895e+03_rb,6.4478e+02_rb,6.9505e+01_rb/) kbo(:, 1,17,16) = (/ & &9.1371e+02_rb,6.8529e+02_rb,4.5686e+02_rb,2.2843e+02_rb,2.5518e+01_rb/) kbo(:, 2,17,16) = (/ & &1.3116e+03_rb,9.8366e+02_rb,6.5574e+02_rb,3.2788e+02_rb,3.4904e+01_rb/) kbo(:, 3,17,16) = (/ & &1.7880e+03_rb,1.3410e+03_rb,8.9396e+02_rb,4.4698e+02_rb,4.7412e+01_rb/) kbo(:, 4,17,16) = (/ & &2.3411e+03_rb,1.7558e+03_rb,1.1705e+03_rb,5.8526e+02_rb,6.3218e+01_rb/) kbo(:, 5,17,16) = (/ & &2.9603e+03_rb,2.2204e+03_rb,1.4801e+03_rb,7.4006e+02_rb,8.2344e+01_rb/) kbo(:, 1,18,16) = (/ & &1.0453e+03_rb,7.8401e+02_rb,5.2267e+02_rb,2.6132e+02_rb,3.0565e+01_rb/) kbo(:, 2,18,16) = (/ & &1.4935e+03_rb,1.1202e+03_rb,7.4674e+02_rb,3.7341e+02_rb,4.2204e+01_rb/) kbo(:, 3,18,16) = (/ & &2.0309e+03_rb,1.5232e+03_rb,1.0154e+03_rb,5.0502e+02_rb,5.7127e+01_rb/) kbo(:, 4,18,16) = (/ & &2.6479e+03_rb,1.9862e+03_rb,1.3241e+03_rb,6.6202e+02_rb,7.5429e+01_rb/) kbo(:, 5,18,16) = (/ & &3.3399e+03_rb,2.5049e+03_rb,1.6700e+03_rb,8.3500e+02_rb,9.7021e+01_rb/) kbo(:, 1,19,16) = (/ & &1.2157e+03_rb,9.1179e+02_rb,6.0790e+02_rb,3.0394e+02_rb,3.6497e+01_rb/) kbo(:, 2,19,16) = (/ & &1.7308e+03_rb,1.2981e+03_rb,8.6539e+02_rb,4.3270e+02_rb,5.0186e+01_rb/) kbo(:, 3,19,16) = (/ & &2.3421e+03_rb,1.7565e+03_rb,1.1710e+03_rb,5.8556e+02_rb,6.7960e+01_rb/) kbo(:, 4,19,16) = (/ & &3.0436e+03_rb,2.2829e+03_rb,1.5219e+03_rb,7.6093e+02_rb,8.8940e+01_rb/) kbo(:, 5,19,16) = (/ & &3.8257e+03_rb,2.8691e+03_rb,1.9129e+03_rb,9.5637e+02_rb,1.1320e+02_rb/) kbo(:, 1,20,16) = (/ & &1.4499e+03_rb,1.0875e+03_rb,7.2502e+02_rb,3.6250e+02_rb,4.3451e+01_rb/) kbo(:, 2,20,16) = (/ & &2.0494e+03_rb,1.5371e+03_rb,1.0247e+03_rb,5.1236e+02_rb,5.9923e+01_rb/) kbo(:, 3,20,16) = (/ & &2.7595e+03_rb,2.0695e+03_rb,1.3797e+03_rb,6.8984e+02_rb,8.0107e+01_rb/) kbo(:, 4,20,16) = (/ & &3.5702e+03_rb,2.6775e+03_rb,1.7850e+03_rb,8.9253e+02_rb,1.0388e+02_rb/) kbo(:, 5,20,16) = (/ & &4.4675e+03_rb,3.3505e+03_rb,2.2337e+03_rb,1.1168e+03_rb,1.3102e+02_rb/) kbo(:, 1,21,16) = (/ & &1.7354e+03_rb,1.3015e+03_rb,8.6762e+02_rb,4.3383e+02_rb,5.1121e+01_rb/) kbo(:, 2,21,16) = (/ & &2.4333e+03_rb,1.8248e+03_rb,1.2166e+03_rb,6.0831e+02_rb,7.0122e+01_rb/) kbo(:, 3,21,16) = (/ & &3.2566e+03_rb,2.4426e+03_rb,1.6283e+03_rb,8.1420e+02_rb,9.3037e+01_rb/) kbo(:, 4,21,16) = (/ & &4.1875e+03_rb,3.1404e+03_rb,2.0937e+03_rb,1.0468e+03_rb,1.1968e+02_rb/) kbo(:, 5,21,16) = (/ & &5.2269e+03_rb,3.9201e+03_rb,2.6133e+03_rb,1.3066e+03_rb,1.4963e+02_rb/) kbo(:, 1,22,16) = (/ & &2.1136e+03_rb,1.5853e+03_rb,1.0569e+03_rb,5.2844e+02_rb,6.0581e+01_rb/) kbo(:, 2,22,16) = (/ & &2.9316e+03_rb,2.1987e+03_rb,1.4659e+03_rb,7.3292e+02_rb,8.2385e+01_rb/) kbo(:, 3,22,16) = (/ & &3.8802e+03_rb,2.9101e+03_rb,1.9401e+03_rb,9.7007e+02_rb,1.0823e+02_rb/) kbo(:, 4,22,16) = (/ & &4.9544e+03_rb,3.7156e+03_rb,2.4770e+03_rb,1.2386e+03_rb,1.3781e+02_rb/) kbo(:, 5,22,16) = (/ & &6.1512e+03_rb,4.6135e+03_rb,3.0579e+03_rb,1.5378e+03_rb,1.7127e+02_rb/) kbo(:, 1,23,16) = (/ & &2.5612e+03_rb,1.9208e+03_rb,1.2805e+03_rb,6.4031e+02_rb,7.0795e+01_rb/) kbo(:, 2,23,16) = (/ & &3.5078e+03_rb,2.6308e+03_rb,1.7538e+03_rb,8.7684e+02_rb,9.5347e+01_rb/) kbo(:, 3,23,16) = (/ & &4.5972e+03_rb,3.4475e+03_rb,2.2984e+03_rb,1.1493e+03_rb,1.2411e+02_rb/) kbo(:, 4,23,16) = (/ & &5.8246e+03_rb,4.3680e+03_rb,2.9119e+03_rb,1.4559e+03_rb,1.5734e+02_rb/) kbo(:, 5,23,16) = (/ & &7.1749e+03_rb,5.3812e+03_rb,3.5874e+03_rb,1.7937e+03_rb,1.9485e+02_rb/) kbo(:, 1,24,16) = (/ & &3.1040e+03_rb,2.3279e+03_rb,1.5520e+03_rb,7.7603e+02_rb,8.1731e+01_rb/) kbo(:, 2,24,16) = (/ & &4.2015e+03_rb,3.1511e+03_rb,2.1007e+03_rb,1.0503e+03_rb,1.0915e+02_rb/) kbo(:, 3,24,16) = (/ & &5.4526e+03_rb,4.0896e+03_rb,2.7263e+03_rb,1.3632e+03_rb,1.4142e+02_rb/) kbo(:, 4,24,16) = (/ & &6.8486e+03_rb,5.1365e+03_rb,3.4243e+03_rb,1.7120e+03_rb,1.7856e+02_rb/) kbo(:, 5,24,16) = (/ & &8.3592e+03_rb,6.2694e+03_rb,4.1793e+03_rb,2.0896e+03_rb,2.2042e+02_rb/) kbo(:, 1,25,16) = (/ & &3.7353e+03_rb,2.8011e+03_rb,1.8675e+03_rb,9.3379e+02_rb,9.3752e+01_rb/) kbo(:, 2,25,16) = (/ & &4.9915e+03_rb,3.7438e+03_rb,2.4959e+03_rb,1.2479e+03_rb,1.2447e+02_rb/) kbo(:, 3,25,16) = (/ & &6.4159e+03_rb,4.8120e+03_rb,3.2081e+03_rb,1.6040e+03_rb,1.6041e+02_rb/) kbo(:, 4,25,16) = (/ & &7.9803e+03_rb,5.9849e+03_rb,3.9899e+03_rb,1.9951e+03_rb,2.0157e+02_rb/) kbo(:, 5,25,16) = (/ & &9.6532e+03_rb,7.2408e+03_rb,4.8272e+03_rb,2.4135e+03_rb,2.4756e+02_rb/) kbo(:, 1,26,16) = (/ & &4.4736e+03_rb,3.3551e+03_rb,2.2367e+03_rb,1.1183e+03_rb,1.0731e+02_rb/) kbo(:, 2,26,16) = (/ & &5.9023e+03_rb,4.4264e+03_rb,2.9511e+03_rb,1.4756e+03_rb,1.4156e+02_rb/) kbo(:, 3,26,16) = (/ & &7.5046e+03_rb,5.6279e+03_rb,3.7521e+03_rb,1.8761e+03_rb,1.8123e+02_rb/) kbo(:, 4,26,16) = (/ & &9.2412e+03_rb,6.9304e+03_rb,4.6207e+03_rb,2.3102e+03_rb,2.2639e+02_rb/) kbo(:, 5,26,16) = (/ & &1.1070e+04_rb,8.3029e+03_rb,5.5351e+03_rb,2.7676e+03_rb,2.7645e+02_rb/) kbo(:, 1,27,16) = (/ & &5.2658e+03_rb,3.9745e+03_rb,2.6497e+03_rb,1.3248e+03_rb,1.2199e+02_rb/) kbo(:, 2,27,16) = (/ & &6.9046e+03_rb,5.1781e+03_rb,3.4305e+03_rb,1.7261e+03_rb,1.5967e+02_rb/) kbo(:, 3,27,16) = (/ & &8.6809e+03_rb,6.5105e+03_rb,4.3403e+03_rb,2.1700e+03_rb,2.0317e+02_rb/) kbo(:, 4,27,16) = (/ & &1.0514e+04_rb,7.9337e+03_rb,5.2893e+03_rb,2.6448e+03_rb,2.5202e+02_rb/) kbo(:, 5,27,16) = (/ & &1.2548e+04_rb,9.4115e+03_rb,6.2746e+03_rb,3.1373e+03_rb,3.0568e+02_rb/) kbo(:, 1,28,16) = (/ & &6.2040e+03_rb,4.6529e+03_rb,3.1020e+03_rb,1.5511e+03_rb,1.3749e+02_rb/) kbo(:, 2,28,16) = (/ & &7.9799e+03_rb,5.9854e+03_rb,3.9901e+03_rb,1.9952e+03_rb,1.7869e+02_rb/) kbo(:, 3,28,16) = (/ & &9.9157e+03_rb,7.4385e+03_rb,4.9578e+03_rb,2.4793e+03_rb,2.2573e+02_rb/) kbo(:, 4,28,16) = (/ & &1.1961e+04_rb,8.9706e+03_rb,5.9799e+03_rb,2.9900e+03_rb,2.7806e+02_rb/) kbo(:, 5,28,16) = (/ & &1.4060e+04_rb,1.0545e+04_rb,7.0300e+03_rb,3.5151e+03_rb,3.3499e+02_rb/) kbo(:, 1,29,16) = (/ & &7.1341e+03_rb,5.3506e+03_rb,3.5671e+03_rb,1.7835e+03_rb,1.5398e+02_rb/) kbo(:, 2,29,16) = (/ & &9.0577e+03_rb,6.7935e+03_rb,4.5290e+03_rb,2.2643e+03_rb,1.9863e+02_rb/) kbo(:, 3,29,16) = (/ & &1.1122e+04_rb,8.3426e+03_rb,5.5615e+03_rb,2.7806e+03_rb,2.4903e+02_rb/) kbo(:, 4,29,16) = (/ & &1.3280e+04_rb,9.9609e+03_rb,6.6400e+03_rb,3.3199e+03_rb,3.0450e+02_rb/) kbo(:, 5,29,16) = (/ & &1.5478e+04_rb,1.1609e+04_rb,7.7394e+03_rb,3.8697e+03_rb,3.6431e+02_rb/) kbo(:, 1,30,16) = (/ & &8.0566e+03_rb,6.0423e+03_rb,4.0284e+03_rb,2.0142e+03_rb,1.7115e+02_rb/) kbo(:, 2,30,16) = (/ & &1.0101e+04_rb,7.5759e+03_rb,5.0505e+03_rb,2.5252e+03_rb,2.1901e+02_rb/) kbo(:, 3,30,16) = (/ & &1.2267e+04_rb,9.1995e+03_rb,6.1334e+03_rb,3.0668e+03_rb,2.7243e+02_rb/) kbo(:, 4,30,16) = (/ & &1.4511e+04_rb,1.0883e+04_rb,7.2556e+03_rb,3.6279e+03_rb,3.3082e+02_rb/) kbo(:, 5,30,16) = (/ & &1.6772e+04_rb,1.2579e+04_rb,8.3858e+03_rb,4.1931e+03_rb,3.9317e+02_rb/) kbo(:, 1,31,16) = (/ & &8.8982e+03_rb,6.6739e+03_rb,4.4493e+03_rb,2.2245e+03_rb,1.8901e+02_rb/) kbo(:, 2,31,16) = (/ & &1.1025e+04_rb,8.2681e+03_rb,5.5122e+03_rb,2.7560e+03_rb,2.3984e+02_rb/) kbo(:, 3,31,16) = (/ & &1.3250e+04_rb,9.9387e+03_rb,6.6258e+03_rb,3.3127e+03_rb,2.9609e+02_rb/) kbo(:, 4,31,16) = (/ & &1.5535e+04_rb,1.1652e+04_rb,7.7678e+03_rb,3.8841e+03_rb,3.5699e+02_rb/) kbo(:, 5,31,16) = (/ & &1.7813e+04_rb,1.3361e+04_rb,8.9075e+03_rb,4.4535e+03_rb,4.2172e+02_rb/) kbo(:, 1,32,16) = (/ & &9.7468e+03_rb,7.3100e+03_rb,4.8729e+03_rb,2.4366e+03_rb,2.0736e+02_rb/) kbo(:, 2,32,16) = (/ & &1.1942e+04_rb,8.9562e+03_rb,5.9708e+03_rb,2.9855e+03_rb,2.6092e+02_rb/) kbo(:, 3,32,16) = (/ & &1.4217e+04_rb,1.0663e+04_rb,7.1086e+03_rb,3.5542e+03_rb,3.1978e+02_rb/) kbo(:, 4,32,16) = (/ & &1.6526e+04_rb,1.2394e+04_rb,8.2625e+03_rb,4.1313e+03_rb,3.8300e+02_rb/) kbo(:, 5,32,16) = (/ & &1.8815e+04_rb,1.4111e+04_rb,9.4077e+03_rb,4.7034e+03_rb,4.4968e+02_rb/) kbo(:, 1,33,16) = (/ & &1.0585e+04_rb,7.8868e+03_rb,5.2924e+03_rb,2.6461e+03_rb,2.2603e+02_rb/) kbo(:, 2,33,16) = (/ & &1.2835e+04_rb,9.6280e+03_rb,6.4182e+03_rb,3.2091e+03_rb,2.8215e+02_rb/) kbo(:, 3,33,16) = (/ & &1.5147e+04_rb,1.1359e+04_rb,7.5723e+03_rb,3.7863e+03_rb,3.3983e+02_rb/) kbo(:, 4,33,16) = (/ & &1.7461e+04_rb,1.3096e+04_rb,8.7313e+03_rb,4.3654e+03_rb,4.0847e+02_rb/) kbo(:, 5,33,16) = (/ & &1.9631e+04_rb,1.4815e+04_rb,9.8770e+03_rb,4.9389e+03_rb,4.7201e+02_rb/) kbo(:, 1,34,16) = (/ & &1.1432e+04_rb,8.5737e+03_rb,5.7158e+03_rb,2.8579e+03_rb,2.4293e+02_rb/) kbo(:, 2,34,16) = (/ & &1.3656e+04_rb,1.0308e+04_rb,6.8715e+03_rb,3.4360e+03_rb,3.0114e+02_rb/) kbo(:, 3,34,16) = (/ & &1.6096e+04_rb,1.2073e+04_rb,8.0473e+03_rb,4.0240e+03_rb,3.6423e+02_rb/) kbo(:, 4,34,16) = (/ & &1.8435e+04_rb,1.3744e+04_rb,9.2181e+03_rb,4.6088e+03_rb,4.3111e+02_rb/) kbo(:, 5,34,16) = (/ & &2.0743e+04_rb,1.5458e+04_rb,1.0371e+04_rb,5.1857e+03_rb,5.0086e+02_rb/) kbo(:, 1,35,16) = (/ & &1.2052e+04_rb,9.0391e+03_rb,6.0261e+03_rb,3.0130e+03_rb,2.5425e+02_rb/) kbo(:, 2,35,16) = (/ & &1.4410e+04_rb,1.0808e+04_rb,7.2046e+03_rb,3.6026e+03_rb,3.1392e+02_rb/) kbo(:, 3,35,16) = (/ & &1.6796e+04_rb,1.2598e+04_rb,8.3987e+03_rb,4.1994e+03_rb,3.7832e+02_rb/) kbo(:, 4,35,16) = (/ & &1.9160e+04_rb,1.4370e+04_rb,9.5799e+03_rb,4.7904e+03_rb,4.4634e+02_rb/) kbo(:, 5,35,16) = (/ & &2.1483e+04_rb,1.6114e+04_rb,1.0742e+04_rb,5.3711e+03_rb,5.1708e+02_rb/) kbo(:, 1,36,16) = (/ & &1.2411e+04_rb,9.3078e+03_rb,6.2050e+03_rb,3.1026e+03_rb,2.5887e+02_rb/) kbo(:, 2,36,16) = (/ & &1.4808e+04_rb,1.1106e+04_rb,7.4043e+03_rb,3.7021e+03_rb,3.1927e+02_rb/) kbo(:, 3,36,16) = (/ & &1.7228e+04_rb,1.2921e+04_rb,8.6130e+03_rb,4.3067e+03_rb,3.8442e+02_rb/) kbo(:, 4,36,16) = (/ & &1.9618e+04_rb,1.4714e+04_rb,9.8092e+03_rb,4.9047e+03_rb,4.5297e+02_rb/) kbo(:, 5,36,16) = (/ & &2.1965e+04_rb,1.6474e+04_rb,1.0982e+04_rb,5.4915e+03_rb,5.1909e+02_rb/) kbo(:, 1,37,16) = (/ & &1.2464e+04_rb,9.3487e+03_rb,6.2318e+03_rb,3.1159e+03_rb,2.5416e+02_rb/) kbo(:, 2,37,16) = (/ & &1.4910e+04_rb,1.1181e+04_rb,7.4551e+03_rb,3.7272e+03_rb,3.1436e+02_rb/) kbo(:, 3,37,16) = (/ & &1.7377e+04_rb,1.3033e+04_rb,8.6893e+03_rb,4.3442e+03_rb,3.7942e+02_rb/) kbo(:, 4,37,16) = (/ & &1.9817e+04_rb,1.4862e+04_rb,9.9088e+03_rb,4.9531e+03_rb,4.4815e+02_rb/) kbo(:, 5,37,16) = (/ & &2.2212e+04_rb,1.6660e+04_rb,1.1107e+04_rb,5.5531e+03_rb,5.1970e+02_rb/) kbo(:, 1,38,16) = (/ & &1.2455e+04_rb,9.3421e+03_rb,6.2277e+03_rb,3.1139e+03_rb,2.4843e+02_rb/) kbo(:, 2,38,16) = (/ & &1.4944e+04_rb,1.1208e+04_rb,7.4715e+03_rb,3.7356e+03_rb,3.0837e+02_rb/) kbo(:, 3,38,16) = (/ & &1.7458e+04_rb,1.3093e+04_rb,8.7289e+03_rb,4.3646e+03_rb,3.7326e+02_rb/) kbo(:, 4,38,16) = (/ & &1.9945e+04_rb,1.4959e+04_rb,9.9720e+03_rb,4.9866e+03_rb,4.4198e+02_rb/) kbo(:, 5,38,16) = (/ & &2.2391e+04_rb,1.6792e+04_rb,1.1195e+04_rb,5.5974e+03_rb,5.1349e+02_rb/) kbo(:, 1,39,16) = (/ & &1.2406e+04_rb,9.3076e+03_rb,6.2035e+03_rb,3.1024e+03_rb,2.4239e+02_rb/) kbo(:, 2,39,16) = (/ & &1.4934e+04_rb,1.1200e+04_rb,7.4672e+03_rb,3.7337e+03_rb,3.0193e+02_rb/) kbo(:, 3,39,16) = (/ & &1.7492e+04_rb,1.3118e+04_rb,8.7456e+03_rb,4.3725e+03_rb,3.6650e+02_rb/) kbo(:, 4,39,16) = (/ & &2.0028e+04_rb,1.5022e+04_rb,1.0013e+04_rb,5.0072e+03_rb,4.3512e+02_rb/) kbo(:, 5,39,16) = (/ & &2.2512e+04_rb,1.6885e+04_rb,1.1257e+04_rb,5.6280e+03_rb,5.0671e+02_rb/) kbo(:, 1,40,16) = (/ & &1.2191e+04_rb,9.1428e+03_rb,6.0955e+03_rb,3.0476e+03_rb,2.3031e+02_rb/) kbo(:, 2,40,16) = (/ & &1.4768e+04_rb,1.1076e+04_rb,7.3840e+03_rb,3.6920e+03_rb,2.8879e+02_rb/) kbo(:, 3,40,16) = (/ & &1.7391e+04_rb,1.3044e+04_rb,8.6959e+03_rb,4.3483e+03_rb,3.5253e+02_rb/) kbo(:, 4,40,16) = (/ & &2.0001e+04_rb,1.5001e+04_rb,1.0001e+04_rb,5.0007e+03_rb,4.2055e+02_rb/) kbo(:, 5,40,16) = (/ & &2.2559e+04_rb,1.6919e+04_rb,1.1281e+04_rb,5.6404e+03_rb,4.9160e+02_rb/) kbo(:, 1,41,16) = (/ & &1.1918e+04_rb,8.9381e+03_rb,5.9590e+03_rb,2.9794e+03_rb,2.1766e+02_rb/) kbo(:, 2,41,16) = (/ & &1.4546e+04_rb,1.0910e+04_rb,7.2239e+03_rb,3.6364e+03_rb,2.7473e+02_rb/) kbo(:, 3,41,16) = (/ & &1.7237e+04_rb,1.2927e+04_rb,8.6187e+03_rb,4.3092e+03_rb,3.3421e+02_rb/) kbo(:, 4,41,16) = (/ & &1.9925e+04_rb,1.4942e+04_rb,9.9613e+03_rb,4.9808e+03_rb,4.0468e+02_rb/) kbo(:, 5,41,16) = (/ & &2.2566e+04_rb,1.6925e+04_rb,1.1282e+04_rb,5.6408e+03_rb,4.7546e+02_rb/) kbo(:, 1,42,16) = (/ & &1.1611e+04_rb,8.7088e+03_rb,5.8053e+03_rb,2.9027e+03_rb,2.0505e+02_rb/) kbo(:, 2,42,16) = (/ & &1.4284e+04_rb,1.0639e+04_rb,7.1417e+03_rb,3.5709e+03_rb,2.6066e+02_rb/) kbo(:, 3,42,16) = (/ & &1.7038e+04_rb,1.2778e+04_rb,8.5196e+03_rb,4.2591e+03_rb,3.2228e+02_rb/) kbo(:, 4,42,16) = (/ & &1.9799e+04_rb,1.4850e+04_rb,9.8997e+03_rb,4.9502e+03_rb,3.8865e+02_rb/) kbo(:, 5,42,16) = (/ & &2.2525e+04_rb,1.6894e+04_rb,1.1262e+04_rb,5.6311e+03_rb,4.5874e+02_rb/) kbo(:, 1,43,16) = (/ & &1.1239e+04_rb,8.4296e+03_rb,5.6199e+03_rb,2.8098e+03_rb,1.8981e+02_rb/) kbo(:, 2,43,16) = (/ & &1.3966e+04_rb,1.0473e+04_rb,6.9839e+03_rb,3.4914e+03_rb,2.4348e+02_rb/) kbo(:, 3,43,16) = (/ & &1.6803e+04_rb,1.2602e+04_rb,8.4011e+03_rb,4.2005e+03_rb,3.0350e+02_rb/) kbo(:, 4,43,16) = (/ & &1.9668e+04_rb,1.4751e+04_rb,9.8339e+03_rb,4.9166e+03_rb,3.6865e+02_rb/) kbo(:, 5,43,16) = (/ & &2.2506e+04_rb,1.6879e+04_rb,1.1254e+04_rb,5.6261e+03_rb,4.3789e+02_rb/) kbo(:, 1,44,16) = (/ & &1.0825e+04_rb,8.1186e+03_rb,5.4125e+03_rb,2.7064e+03_rb,1.7391e+02_rb/) kbo(:, 2,44,16) = (/ & &1.3603e+04_rb,1.0202e+04_rb,6.8014e+03_rb,3.4006e+03_rb,2.2526e+02_rb/) kbo(:, 3,44,16) = (/ & &1.6530e+04_rb,1.2398e+04_rb,8.2649e+03_rb,4.1327e+03_rb,2.8337e+02_rb/) kbo(:, 4,44,16) = (/ & &1.9511e+04_rb,1.4634e+04_rb,9.7557e+03_rb,4.8778e+03_rb,3.4703e+02_rb/) kbo(:, 5,44,16) = (/ & &2.2482e+04_rb,1.6861e+04_rb,1.1241e+04_rb,5.6203e+03_rb,4.1512e+02_rb/) kbo(:, 1,45,16) = (/ & &1.0398e+04_rb,7.7989e+03_rb,5.1994e+03_rb,2.5997e+03_rb,1.5876e+02_rb/) kbo(:, 2,45,16) = (/ & &1.3207e+04_rb,9.9052e+03_rb,6.6032e+03_rb,3.3018e+03_rb,2.0761e+02_rb/) kbo(:, 3,45,16) = (/ & &1.6220e+04_rb,1.2165e+04_rb,8.1095e+03_rb,4.0543e+03_rb,2.6368e+02_rb/) kbo(:, 4,45,16) = (/ & &1.9318e+04_rb,1.4390e+04_rb,9.6588e+03_rb,4.8297e+03_rb,3.2574e+02_rb/) kbo(:, 5,45,16) = (/ & &2.2424e+04_rb,1.6818e+04_rb,1.1212e+04_rb,5.6061e+03_rb,3.9259e+02_rb/) kbo(:, 1,46,16) = (/ & &9.9189e+03_rb,7.4400e+03_rb,4.9600e+03_rb,2.4797e+03_rb,1.4342e+02_rb/) kbo(:, 2,46,16) = (/ & &1.2731e+04_rb,9.5482e+03_rb,6.3653e+03_rb,3.1826e+03_rb,1.8954e+02_rb/) kbo(:, 3,46,16) = (/ & &1.5820e+04_rb,1.1865e+04_rb,7.9099e+03_rb,3.9548e+03_rb,2.4324e+02_rb/) kbo(:, 4,46,16) = (/ & &1.9036e+04_rb,1.4277e+04_rb,9.5173e+03_rb,4.7590e+03_rb,3.0340e+02_rb/) kbo(:, 5,46,16) = (/ & &2.2283e+04_rb,1.6712e+04_rb,1.1068e+04_rb,5.5708e+03_rb,3.6873e+02_rb/) kbo(:, 1,47,16) = (/ & &9.3465e+03_rb,7.0098e+03_rb,4.6733e+03_rb,2.3366e+03_rb,1.2741e+02_rb/) kbo(:, 2,47,16) = (/ & &1.2131e+04_rb,9.0979e+03_rb,6.0653e+03_rb,3.0325e+03_rb,1.7033e+02_rb/) kbo(:, 3,47,16) = (/ & &1.5279e+04_rb,1.1459e+04_rb,7.6395e+03_rb,3.8199e+03_rb,2.2121e+02_rb/) kbo(:, 4,47,16) = (/ & &1.8609e+04_rb,1.3956e+04_rb,9.3042e+03_rb,4.6522e+03_rb,2.7888e+02_rb/) kbo(:, 5,47,16) = (/ & &2.2011e+04_rb,1.6508e+04_rb,1.1006e+04_rb,5.5025e+03_rb,3.4244e+02_rb/) kbo(:, 1,48,16) = (/ & &8.7925e+03_rb,6.5945e+03_rb,4.3966e+03_rb,2.1981e+03_rb,1.1262e+02_rb/) kbo(:, 2,48,16) = (/ & &1.1529e+04_rb,8.6468e+03_rb,5.7644e+03_rb,2.8824e+03_rb,1.5232e+02_rb/) kbo(:, 3,48,16) = (/ & &1.4702e+04_rb,1.1027e+04_rb,7.3513e+03_rb,3.6755e+03_rb,2.0009e+02_rb/) kbo(:, 4,48,16) = (/ & &1.8139e+04_rb,1.3604e+04_rb,9.0700e+03_rb,4.5350e+03_rb,2.5528e+02_rb/) kbo(:, 5,48,16) = (/ & &2.1696e+04_rb,1.6272e+04_rb,1.0846e+04_rb,5.4236e+03_rb,3.1666e+02_rb/) kbo(:, 1,49,16) = (/ & &8.2532e+03_rb,6.1899e+03_rb,4.1262e+03_rb,2.0633e+03_rb,9.9158e+01_rb/) kbo(:, 2,49,16) = (/ & &1.0925e+04_rb,8.1939e+03_rb,5.4625e+03_rb,2.7312e+03_rb,1.3556e+02_rb/) kbo(:, 3,49,16) = (/ & &1.4098e+04_rb,1.0574e+04_rb,7.0499e+03_rb,3.5250e+03_rb,1.8015e+02_rb/) kbo(:, 4,49,16) = (/ & &1.7628e+04_rb,1.3221e+04_rb,8.8139e+03_rb,4.4071e+03_rb,2.3258e+02_rb/) kbo(:, 5,49,16) = (/ & &2.1334e+04_rb,1.6000e+04_rb,1.0668e+04_rb,5.3338e+03_rb,2.8877e+02_rb/) kbo(:, 1,50,16) = (/ & &7.7886e+03_rb,5.8414e+03_rb,3.8943e+03_rb,1.9471e+03_rb,8.7562e+01_rb/) kbo(:, 2,50,16) = (/ & &1.0399e+04_rb,7.7996e+03_rb,5.1995e+03_rb,2.6000e+03_rb,1.2099e+02_rb/) kbo(:, 3,50,16) = (/ & &1.3554e+04_rb,1.0165e+04_rb,6.7769e+03_rb,3.3882e+03_rb,1.6257e+02_rb/) kbo(:, 4,50,16) = (/ & &1.7158e+04_rb,1.2869e+04_rb,8.5791e+03_rb,4.2889e+03_rb,2.1215e+02_rb/) kbo(:, 5,50,16) = (/ & &2.1011e+04_rb,1.5758e+04_rb,1.0505e+04_rb,5.2531e+03_rb,2.6885e+02_rb/) kbo(:, 1,51,16) = (/ & &7.3653e+03_rb,5.5240e+03_rb,3.6827e+03_rb,1.8412e+03_rb,7.7231e+01_rb/) kbo(:, 2,51,16) = (/ & &9.9189e+03_rb,7.4392e+03_rb,4.9594e+03_rb,2.4660e+03_rb,1.0798e+02_rb/) kbo(:, 3,51,16) = (/ & &1.3047e+04_rb,9.7852e+03_rb,6.5235e+03_rb,3.2615e+03_rb,1.4656e+02_rb/) kbo(:, 4,51,16) = (/ & &1.6702e+04_rb,1.2527e+04_rb,8.3510e+03_rb,4.1752e+03_rb,1.9328e+02_rb/) kbo(:, 5,51,16) = (/ & &2.0693e+04_rb,1.5520e+04_rb,1.0347e+04_rb,5.1734e+03_rb,2.4760e+02_rb/) kbo(:, 1,52,16) = (/ & &6.9562e+03_rb,5.2172e+03_rb,3.4778e+03_rb,1.7389e+03_rb,6.7762e+01_rb/) kbo(:, 2,52,16) = (/ & &9.4563e+03_rb,7.0922e+03_rb,4.7284e+03_rb,2.3642e+03_rb,9.6034e+01_rb/) kbo(:, 3,52,16) = (/ & &1.2544e+04_rb,9.4081e+03_rb,6.2721e+03_rb,3.1358e+03_rb,1.3163e+02_rb/) kbo(:, 4,52,16) = (/ & &1.6228e+04_rb,1.2171e+04_rb,8.1139e+03_rb,4.0563e+03_rb,1.7544e+02_rb/) kbo(:, 5,52,16) = (/ & &2.0214e+04_rb,1.5266e+04_rb,1.0177e+04_rb,5.0897e+03_rb,2.2714e+02_rb/) kbo(:, 1,53,16) = (/ & &6.5707e+03_rb,4.8896e+03_rb,3.2854e+03_rb,1.6428e+03_rb,5.9086e+01_rb/) kbo(:, 2,53,16) = (/ & &9.0178e+03_rb,6.7633e+03_rb,4.5088e+03_rb,2.2544e+03_rb,8.4973e+01_rb/) kbo(:, 3,53,16) = (/ & &1.2063e+04_rb,9.0476e+03_rb,6.0317e+03_rb,3.0159e+03_rb,1.1770e+02_rb/) kbo(:, 4,53,16) = (/ & &1.5755e+04_rb,1.1816e+04_rb,7.8772e+03_rb,3.9386e+03_rb,1.5858e+02_rb/) kbo(:, 5,53,16) = (/ & &1.9999e+04_rb,1.4999e+04_rb,9.9995e+03_rb,5.0000e+03_rb,2.0751e+02_rb/) kbo(:, 1,54,16) = (/ & &6.2721e+03_rb,4.7041e+03_rb,3.1362e+03_rb,1.5681e+03_rb,5.1875e+01_rb/) kbo(:, 2,54,16) = (/ & &8.6741e+03_rb,6.5056e+03_rb,4.3370e+03_rb,2.1682e+03_rb,7.5628e+01_rb/) kbo(:, 3,54,16) = (/ & &1.1700e+04_rb,8.7748e+03_rb,5.8499e+03_rb,2.9249e+03_rb,1.0596e+02_rb/) kbo(:, 4,54,16) = (/ & &1.5404e+04_rb,1.1553e+04_rb,7.7020e+03_rb,3.8510e+03_rb,1.4404e+02_rb/) kbo(:, 5,54,16) = (/ & &1.9752e+04_rb,1.4814e+04_rb,9.8758e+03_rb,4.9379e+03_rb,1.9030e+02_rb/) kbo(:, 1,55,16) = (/ & &6.0231e+03_rb,4.5173e+03_rb,3.0116e+03_rb,1.5058e+03_rb,4.5583e+01_rb/) kbo(:, 2,55,16) = (/ & &8.3823e+03_rb,6.2868e+03_rb,4.1912e+03_rb,2.0956e+03_rb,6.7362e+01_rb/) kbo(:, 3,55,16) = (/ & &1.1398e+04_rb,8.5488e+03_rb,5.6992e+03_rb,2.8496e+03_rb,9.5542e+01_rb/) kbo(:, 4,55,16) = (/ & &1.5124e+04_rb,1.1343e+04_rb,7.5617e+03_rb,3.7808e+03_rb,1.3099e+02_rb/) kbo(:, 5,55,16) = (/ & &1.9568e+04_rb,1.4676e+04_rb,9.7841e+03_rb,4.8920e+03_rb,1.7464e+02_rb/) kbo(:, 1,56,16) = (/ & &5.7989e+03_rb,4.3492e+03_rb,2.8995e+03_rb,1.4497e+03_rb,3.9828e+01_rb/) kbo(:, 2,56,16) = (/ & &8.1232e+03_rb,6.0924e+03_rb,4.0616e+03_rb,2.0308e+03_rb,5.9729e+01_rb/) kbo(:, 3,56,16) = (/ & &1.1139e+04_rb,8.3546e+03_rb,5.5697e+03_rb,2.7849e+03_rb,8.5801e+01_rb/) kbo(:, 4,56,16) = (/ & &1.4890e+04_rb,1.1167e+04_rb,7.4448e+03_rb,3.7224e+03_rb,1.1874e+02_rb/) kbo(:, 5,56,16) = (/ & &1.9429e+04_rb,1.4572e+04_rb,9.7148e+03_rb,4.8574e+03_rb,1.5988e+02_rb/) kbo(:, 1,57,16) = (/ & &5.6021e+03_rb,4.2016e+03_rb,2.8010e+03_rb,1.4005e+03_rb,3.4593e+01_rb/) kbo(:, 2,57,16) = (/ & &7.9032e+03_rb,5.9274e+03_rb,3.9516e+03_rb,1.9758e+03_rb,5.2766e+01_rb/) kbo(:, 3,57,16) = (/ & &1.0919e+04_rb,8.1889e+03_rb,5.4593e+03_rb,2.7295e+03_rb,7.6784e+01_rb/) kbo(:, 4,57,16) = (/ & &1.4709e+04_rb,1.1031e+04_rb,7.3542e+03_rb,3.6771e+03_rb,1.0741e+02_rb/) kbo(:, 5,57,16) = (/ & &1.9344e+04_rb,1.4508e+04_rb,9.6719e+03_rb,4.8359e+03_rb,1.4582e+02_rb/) kbo(:, 1,58,16) = (/ & &2.6461e+03_rb,2.2784e+03_rb,1.7829e+03_rb,1.0638e+03_rb,3.0084e+01_rb/) kbo(:, 2,58,16) = (/ & &3.7547e+03_rb,3.2329e+03_rb,2.5298e+03_rb,1.5309e+03_rb,4.6706e+01_rb/) kbo(:, 3,58,16) = (/ & &5.2182e+03_rb,4.4930e+03_rb,3.5159e+03_rb,2.1276e+03_rb,6.8855e+01_rb/) kbo(:, 4,58,16) = (/ & &7.0852e+03_rb,6.1006e+03_rb,4.7738e+03_rb,2.8889e+03_rb,9.7411e+01_rb/) kbo(:, 5,58,16) = (/ & &9.3867e+03_rb,8.0822e+03_rb,6.3244e+03_rb,3.8273e+03_rb,1.3335e+02_rb/) kbo(:, 1,59,16) = (/ & &2.6519e+03_rb,2.2918e+03_rb,1.8023e+03_rb,1.0985e+03_rb,2.8399e+01_rb/) kbo(:, 2,59,16) = (/ & &3.7709e+03_rb,3.2589e+03_rb,2.5629e+03_rb,1.5620e+03_rb,4.4429e+01_rb/) kbo(:, 3,59,16) = (/ & &5.2534e+03_rb,4.5401e+03_rb,3.5704e+03_rb,2.1761e+03_rb,6.5844e+01_rb/) kbo(:, 4,59,16) = (/ & &7.1555e+03_rb,6.1839e+03_rb,4.8632e+03_rb,2.9640e+03_rb,9.3608e+01_rb/) kbo(:, 5,59,16) = (/ & &9.5069e+03_rb,8.2160e+03_rb,6.4613e+03_rb,3.9381e+03_rb,1.2854e+02_rb/) ! The array KAO_Mxx contains the absorption coefficient for ! a minor species at the 16 chosen g-values for a reference pressure ! level below 100~ mb. The first index in the array, JS, runs ! from 1 to 10, and corresponds to different gas column amount ratios, ! as expressed through the binary species parameter eta, defined as ! eta = gas1/(gas1 + (rat) * gas2), where rat is the ! ratio of the reference MLS column amount value of gas 1 ! to that of gas2. The second index refers to temperature ! in 7.2 degree increments. For instance, JT = 1 refers to a ! temperature of 188.0, JT = 2 refers to 195.2, etc. The third index ! runs over the g-channel (1 to 16). kao_mn2o( 1, :, 1) = (/ & & 1.28178e-05_rb, 1.55472e-05_rb, 1.88578e-05_rb, 2.28735e-05_rb, 2.77442e-05_rb, & & 3.36520e-05_rb, 4.08179e-05_rb, 4.95098e-05_rb, 6.00525e-05_rb, 7.28401e-05_rb, & & 8.83508e-05_rb, 1.07164e-04_rb, 1.29984e-04_rb, 1.57663e-04_rb, 1.91236e-04_rb, & & 2.31958e-04_rb, 2.81352e-04_rb, 3.41263e-04_rb, 4.13932e-04_rb/) kao_mn2o( 2, :, 1) = (/ & & 1.00725e-01_rb, 1.04470e-01_rb, 1.08355e-01_rb, 1.12384e-01_rb, 1.16563e-01_rb, & & 1.20898e-01_rb, 1.25394e-01_rb, 1.30057e-01_rb, 1.34893e-01_rb, 1.39909e-01_rb, & & 1.45112e-01_rb, 1.50508e-01_rb, 1.56104e-01_rb, 1.61909e-01_rb, 1.67930e-01_rb, & & 1.74175e-01_rb, 1.80652e-01_rb, 1.87369e-01_rb, 1.94337e-01_rb/) kao_mn2o( 3, :, 1) = (/ & & 1.94143e-01_rb, 1.97380e-01_rb, 2.00670e-01_rb, 2.04016e-01_rb, 2.07417e-01_rb, & & 2.10875e-01_rb, 2.14390e-01_rb, 2.17964e-01_rb, 2.21598e-01_rb, 2.25292e-01_rb, & & 2.29048e-01_rb, 2.32867e-01_rb, 2.36749e-01_rb, 2.40696e-01_rb, 2.44708e-01_rb, & & 2.48788e-01_rb, 2.52936e-01_rb, 2.57152e-01_rb, 2.61439e-01_rb/) kao_mn2o( 4, :, 1) = (/ & & 2.98127e-01_rb, 3.00016e-01_rb, 3.01916e-01_rb, 3.03829e-01_rb, 3.05754e-01_rb, & & 3.07691e-01_rb, 3.09640e-01_rb, 3.11601e-01_rb, 3.13575e-01_rb, 3.15562e-01_rb, & & 3.17561e-01_rb, 3.19572e-01_rb, 3.21597e-01_rb, 3.23634e-01_rb, 3.25684e-01_rb, & & 3.27748e-01_rb, 3.29824e-01_rb, 3.31913e-01_rb, 3.34016e-01_rb/) kao_mn2o( 5, :, 1) = (/ & & 4.45029e-01_rb, 4.45243e-01_rb, 4.45458e-01_rb, 4.45673e-01_rb, 4.45889e-01_rb, & & 4.46104e-01_rb, 4.46319e-01_rb, 4.46535e-01_rb, 4.46750e-01_rb, 4.46966e-01_rb, & & 4.47182e-01_rb, 4.47398e-01_rb, 4.47614e-01_rb, 4.47830e-01_rb, 4.48046e-01_rb, & & 4.48262e-01_rb, 4.48479e-01_rb, 4.48695e-01_rb, 4.48912e-01_rb/) kao_mn2o( 6, :, 1) = (/ & & 7.15677e-01_rb, 7.14564e-01_rb, 7.13452e-01_rb, 7.12342e-01_rb, 7.11234e-01_rb, & & 7.10127e-01_rb, 7.09022e-01_rb, 7.07919e-01_rb, 7.06818e-01_rb, 7.05718e-01_rb, & & 7.04620e-01_rb, 7.03524e-01_rb, 7.02429e-01_rb, 7.01336e-01_rb, 7.00245e-01_rb, & & 6.99156e-01_rb, 6.98068e-01_rb, 6.96982e-01_rb, 6.95898e-01_rb/) kao_mn2o( 7, :, 1) = (/ & & 9.89605e-01_rb, 9.85128e-01_rb, 9.80671e-01_rb, 9.76234e-01_rb, 9.71817e-01_rb, & & 9.67421e-01_rb, 9.63044e-01_rb, 9.58687e-01_rb, 9.54350e-01_rb, 9.50032e-01_rb, & & 9.45734e-01_rb, 9.41455e-01_rb, 9.37196e-01_rb, 9.32956e-01_rb, 9.28735e-01_rb, & & 9.24533e-01_rb, 9.20350e-01_rb, 9.16187e-01_rb, 9.12042e-01_rb/) kao_mn2o( 8, :, 1) = (/ & & 1.12229e+00_rb, 1.11502e+00_rb, 1.10779e+00_rb, 1.10061e+00_rb, 1.09348e+00_rb, & & 1.08639e+00_rb, 1.07935e+00_rb, 1.07235e+00_rb, 1.06540e+00_rb, 1.05850e+00_rb, & & 1.05164e+00_rb, 1.04482e+00_rb, 1.03805e+00_rb, 1.03132e+00_rb, 1.02464e+00_rb, & & 1.01799e+00_rb, 1.01140e+00_rb, 1.00484e+00_rb, 9.98328e-01_rb/) kao_mn2o( 9, :, 1) = (/ & & 7.20959e-01_rb, 7.22839e-01_rb, 7.24723e-01_rb, 7.26612e-01_rb, 7.28506e-01_rb, & & 7.30405e-01_rb, 7.32309e-01_rb, 7.34218e-01_rb, 7.36132e-01_rb, 7.38051e-01_rb, & & 7.39975e-01_rb, 7.41904e-01_rb, 7.43838e-01_rb, 7.45777e-01_rb, 7.47721e-01_rb, & & 7.49670e-01_rb, 7.51624e-01_rb, 7.53584e-01_rb, 7.55548e-01_rb/) kao_mn2o( 1, :, 2) = (/ & & 1.62152e-03_rb, 1.81627e-03_rb, 2.03443e-03_rb, 2.27878e-03_rb, 2.55248e-03_rb, & & 2.85906e-03_rb, 3.20245e-03_rb, 3.58710e-03_rb, 4.01794e-03_rb, 4.50053e-03_rb, & & 5.04109e-03_rb, 5.64657e-03_rb, 6.32477e-03_rb, 7.08444e-03_rb, 7.93534e-03_rb, & & 8.88845e-03_rb, 9.95603e-03_rb, 1.11518e-02_rb, 1.24913e-02_rb/) kao_mn2o( 2, :, 2) = (/ & & 3.73716e-01_rb, 3.72491e-01_rb, 3.71271e-01_rb, 3.70054e-01_rb, 3.68841e-01_rb, & & 3.67633e-01_rb, 3.66428e-01_rb, 3.65227e-01_rb, 3.64031e-01_rb, 3.62838e-01_rb, & & 3.61649e-01_rb, 3.60464e-01_rb, 3.59283e-01_rb, 3.58106e-01_rb, 3.56932e-01_rb, & & 3.55763e-01_rb, 3.54597e-01_rb, 3.53435e-01_rb, 3.52277e-01_rb/) kao_mn2o( 3, :, 2) = (/ & & 5.46240e-01_rb, 5.42972e-01_rb, 5.39724e-01_rb, 5.36495e-01_rb, 5.33285e-01_rb, & & 5.30095e-01_rb, 5.26923e-01_rb, 5.23771e-01_rb, 5.20637e-01_rb, 5.17523e-01_rb, & & 5.14426e-01_rb, 5.11349e-01_rb, 5.08290e-01_rb, 5.05249e-01_rb, 5.02226e-01_rb, & & 4.99221e-01_rb, 4.96235e-01_rb, 4.93266e-01_rb, 4.90315e-01_rb/) kao_mn2o( 4, :, 2) = (/ & & 8.35399e-01_rb, 8.36766e-01_rb, 8.38135e-01_rb, 8.39507e-01_rb, 8.40880e-01_rb, & & 8.42256e-01_rb, 8.43635e-01_rb, 8.45015e-01_rb, 8.46398e-01_rb, 8.47783e-01_rb, & & 8.49170e-01_rb, 8.50559e-01_rb, 8.51951e-01_rb, 8.53345e-01_rb, 8.54742e-01_rb, & & 8.56140e-01_rb, 8.57541e-01_rb, 8.58944e-01_rb, 8.60350e-01_rb/) kao_mn2o( 5, :, 2) = (/ & & 1.04433e+00_rb, 1.04864e+00_rb, 1.05297e+00_rb, 1.05731e+00_rb, 1.06168e+00_rb, & & 1.06606e+00_rb, 1.07046e+00_rb, 1.07488e+00_rb, 1.07932e+00_rb, 1.08377e+00_rb, & & 1.08824e+00_rb, 1.09274e+00_rb, 1.09725e+00_rb, 1.10178e+00_rb, 1.10632e+00_rb, & & 1.11089e+00_rb, 1.11547e+00_rb, 1.12008e+00_rb, 1.12470e+00_rb/) kao_mn2o( 6, :, 2) = (/ & & 1.22341e+00_rb, 1.22885e+00_rb, 1.23431e+00_rb, 1.23980e+00_rb, 1.24531e+00_rb, & & 1.25084e+00_rb, 1.25640e+00_rb, 1.26199e+00_rb, 1.26760e+00_rb, 1.27323e+00_rb, & & 1.27889e+00_rb, 1.28458e+00_rb, 1.29029e+00_rb, 1.29602e+00_rb, 1.30178e+00_rb, & & 1.30757e+00_rb, 1.31338e+00_rb, 1.31922e+00_rb, 1.32508e+00_rb/) kao_mn2o( 7, :, 2) = (/ & & 1.67595e+00_rb, 1.68296e+00_rb, 1.69000e+00_rb, 1.69707e+00_rb, 1.70417e+00_rb, & & 1.71130e+00_rb, 1.71846e+00_rb, 1.72565e+00_rb, 1.73287e+00_rb, 1.74012e+00_rb, & & 1.74740e+00_rb, 1.75471e+00_rb, 1.76206e+00_rb, 1.76943e+00_rb, 1.77683e+00_rb, & & 1.78426e+00_rb, 1.79173e+00_rb, 1.79922e+00_rb, 1.80675e+00_rb/) kao_mn2o( 8, :, 2) = (/ & & 2.76890e+00_rb, 2.76981e+00_rb, 2.77072e+00_rb, 2.77163e+00_rb, 2.77254e+00_rb, & & 2.77345e+00_rb, 2.77436e+00_rb, 2.77527e+00_rb, 2.77618e+00_rb, 2.77709e+00_rb, & & 2.77800e+00_rb, 2.77891e+00_rb, 2.77982e+00_rb, 2.78074e+00_rb, 2.78165e+00_rb, & & 2.78256e+00_rb, 2.78348e+00_rb, 2.78439e+00_rb, 2.78530e+00_rb/) kao_mn2o( 9, :, 2) = (/ & & 8.00944e-01_rb, 7.95531e-01_rb, 7.90155e-01_rb, 7.84815e-01_rb, 7.79511e-01_rb, & & 7.74243e-01_rb, 7.69011e-01_rb, 7.63813e-01_rb, 7.58652e-01_rb, 7.53525e-01_rb, & & 7.48432e-01_rb, 7.43374e-01_rb, 7.38350e-01_rb, 7.33360e-01_rb, 7.28404e-01_rb, & & 7.23482e-01_rb, 7.18592e-01_rb, 7.13736e-01_rb, 7.08912e-01_rb/) kao_mn2o( 1, :, 3) = (/ & & 5.26578e-02_rb, 5.59000e-02_rb, 5.93419e-02_rb, 6.29957e-02_rb, 6.68744e-02_rb, & & 7.09920e-02_rb, 7.53631e-02_rb, 8.00034e-02_rb, 8.49294e-02_rb, 9.01586e-02_rb, & & 9.57099e-02_rb, 1.01603e-01_rb, 1.07859e-01_rb, 1.14500e-01_rb, 1.21550e-01_rb, & & 1.29034e-01_rb, 1.36979e-01_rb, 1.45413e-01_rb, 1.54366e-01_rb/) kao_mn2o( 2, :, 3) = (/ & & 8.18393e-01_rb, 8.20623e-01_rb, 8.22860e-01_rb, 8.25103e-01_rb, 8.27352e-01_rb, & & 8.29608e-01_rb, 8.31869e-01_rb, 8.34137e-01_rb, 8.36410e-01_rb, 8.38690e-01_rb, & & 8.40976e-01_rb, 8.43269e-01_rb, 8.45567e-01_rb, 8.47872e-01_rb, 8.50183e-01_rb, & & 8.52501e-01_rb, 8.54825e-01_rb, 8.57155e-01_rb, 8.59491e-01_rb/) kao_mn2o( 3, :, 3) = (/ & & 1.02454e+00_rb, 1.03210e+00_rb, 1.03972e+00_rb, 1.04740e+00_rb, 1.05514e+00_rb, & & 1.06293e+00_rb, 1.07077e+00_rb, 1.07868e+00_rb, 1.08665e+00_rb, 1.09467e+00_rb, & & 1.10275e+00_rb, 1.11089e+00_rb, 1.11910e+00_rb, 1.12736e+00_rb, 1.13568e+00_rb, & & 1.14407e+00_rb, 1.15252e+00_rb, 1.16103e+00_rb, 1.16960e+00_rb/) kao_mn2o( 4, :, 3) = (/ & & 1.11755e+00_rb, 1.12348e+00_rb, 1.12944e+00_rb, 1.13543e+00_rb, 1.14146e+00_rb, & & 1.14752e+00_rb, 1.15360e+00_rb, 1.15972e+00_rb, 1.16588e+00_rb, 1.17206e+00_rb, & & 1.17828e+00_rb, 1.18453e+00_rb, 1.19082e+00_rb, 1.19714e+00_rb, 1.20349e+00_rb, & & 1.20988e+00_rb, 1.21630e+00_rb, 1.22275e+00_rb, 1.22924e+00_rb/) kao_mn2o( 5, :, 3) = (/ & & 1.41993e+00_rb, 1.42353e+00_rb, 1.42713e+00_rb, 1.43074e+00_rb, 1.43436e+00_rb, & & 1.43799e+00_rb, 1.44163e+00_rb, 1.44528e+00_rb, 1.44894e+00_rb, 1.45261e+00_rb, & & 1.45628e+00_rb, 1.45997e+00_rb, 1.46367e+00_rb, 1.46737e+00_rb, 1.47108e+00_rb, & & 1.47481e+00_rb, 1.47854e+00_rb, 1.48228e+00_rb, 1.48603e+00_rb/) kao_mn2o( 6, :, 3) = (/ & & 1.37725e+00_rb, 1.38029e+00_rb, 1.38334e+00_rb, 1.38640e+00_rb, 1.38947e+00_rb, & & 1.39254e+00_rb, 1.39562e+00_rb, 1.39870e+00_rb, 1.40179e+00_rb, 1.40489e+00_rb, & & 1.40800e+00_rb, 1.41111e+00_rb, 1.41423e+00_rb, 1.41736e+00_rb, 1.42049e+00_rb, & & 1.42363e+00_rb, 1.42678e+00_rb, 1.42993e+00_rb, 1.43309e+00_rb/) kao_mn2o( 7, :, 3) = (/ & & 1.34579e+00_rb, 1.34584e+00_rb, 1.34589e+00_rb, 1.34594e+00_rb, 1.34599e+00_rb, & & 1.34603e+00_rb, 1.34608e+00_rb, 1.34613e+00_rb, 1.34618e+00_rb, 1.34623e+00_rb, & & 1.34627e+00_rb, 1.34632e+00_rb, 1.34637e+00_rb, 1.34642e+00_rb, 1.34647e+00_rb, & & 1.34651e+00_rb, 1.34656e+00_rb, 1.34661e+00_rb, 1.34666e+00_rb/) kao_mn2o( 8, :, 3) = (/ & & 9.15268e-01_rb, 9.12779e-01_rb, 9.10298e-01_rb, 9.07823e-01_rb, 9.05355e-01_rb, & & 9.02893e-01_rb, 9.00438e-01_rb, 8.97990e-01_rb, 8.95549e-01_rb, 8.93114e-01_rb, & & 8.90686e-01_rb, 8.88264e-01_rb, 8.85849e-01_rb, 8.83441e-01_rb, 8.81039e-01_rb, & & 8.78644e-01_rb, 8.76255e-01_rb, 8.73873e-01_rb, 8.71497e-01_rb/) kao_mn2o( 9, :, 3) = (/ & & 1.12514e+00_rb, 1.13523e+00_rb, 1.14541e+00_rb, 1.15568e+00_rb, 1.16604e+00_rb, & & 1.17649e+00_rb, 1.18704e+00_rb, 1.19768e+00_rb, 1.20841e+00_rb, 1.21925e+00_rb, & & 1.23018e+00_rb, 1.24121e+00_rb, 1.25233e+00_rb, 1.26356e+00_rb, 1.27489e+00_rb, & & 1.28632e+00_rb, 1.29785e+00_rb, 1.30948e+00_rb, 1.32122e+00_rb/) kao_mn2o( 1, :, 4) = (/ & & 4.65135e-01_rb, 4.69677e-01_rb, 4.74264e-01_rb, 4.78895e-01_rb, 4.83572e-01_rb, & & 4.88294e-01_rb, 4.93063e-01_rb, 4.97878e-01_rb, 5.02740e-01_rb, 5.07649e-01_rb, & & 5.12607e-01_rb, 5.17613e-01_rb, 5.22667e-01_rb, 5.27771e-01_rb, 5.32925e-01_rb, & & 5.38130e-01_rb, 5.43385e-01_rb, 5.48691e-01_rb, 5.54049e-01_rb/) kao_mn2o( 2, :, 4) = (/ & & 9.71592e-01_rb, 9.74472e-01_rb, 9.77360e-01_rb, 9.80257e-01_rb, 9.83163e-01_rb, & & 9.86077e-01_rb, 9.89000e-01_rb, 9.91931e-01_rb, 9.94871e-01_rb, 9.97820e-01_rb, & & 1.00078e+00_rb, 1.00374e+00_rb, 1.00672e+00_rb, 1.00970e+00_rb, 1.01270e+00_rb, & & 1.01570e+00_rb, 1.01871e+00_rb, 1.02173e+00_rb, 1.02476e+00_rb/) kao_mn2o( 3, :, 4) = (/ & & 1.48090e+00_rb, 1.48238e+00_rb, 1.48385e+00_rb, 1.48532e+00_rb, 1.48680e+00_rb, & & 1.48828e+00_rb, 1.48976e+00_rb, 1.49124e+00_rb, 1.49272e+00_rb, 1.49420e+00_rb, & & 1.49569e+00_rb, 1.49717e+00_rb, 1.49866e+00_rb, 1.50015e+00_rb, 1.50164e+00_rb, & & 1.50313e+00_rb, 1.50463e+00_rb, 1.50612e+00_rb, 1.50762e+00_rb/) kao_mn2o( 4, :, 4) = (/ & & 1.50599e+00_rb, 1.50541e+00_rb, 1.50483e+00_rb, 1.50426e+00_rb, 1.50368e+00_rb, & & 1.50310e+00_rb, 1.50252e+00_rb, 1.50195e+00_rb, 1.50137e+00_rb, 1.50079e+00_rb, & & 1.50022e+00_rb, 1.49964e+00_rb, 1.49906e+00_rb, 1.49849e+00_rb, 1.49791e+00_rb, & & 1.49734e+00_rb, 1.49676e+00_rb, 1.49619e+00_rb, 1.49561e+00_rb/) kao_mn2o( 5, :, 4) = (/ & & 1.25396e+00_rb, 1.25230e+00_rb, 1.25065e+00_rb, 1.24900e+00_rb, 1.24735e+00_rb, & & 1.24570e+00_rb, 1.24405e+00_rb, 1.24241e+00_rb, 1.24077e+00_rb, 1.23913e+00_rb, & & 1.23749e+00_rb, 1.23586e+00_rb, 1.23423e+00_rb, 1.23260e+00_rb, 1.23097e+00_rb, & & 1.22934e+00_rb, 1.22772e+00_rb, 1.22610e+00_rb, 1.22448e+00_rb/) kao_mn2o( 6, :, 4) = (/ & & 1.27104e+00_rb, 1.26416e+00_rb, 1.25731e+00_rb, 1.25050e+00_rb, 1.24373e+00_rb, & & 1.23700e+00_rb, 1.23030e+00_rb, 1.22364e+00_rb, 1.21701e+00_rb, 1.21043e+00_rb, & & 1.20387e+00_rb, 1.19735e+00_rb, 1.19087e+00_rb, 1.18442e+00_rb, 1.17801e+00_rb, & & 1.17163e+00_rb, 1.16529e+00_rb, 1.15898e+00_rb, 1.15270e+00_rb/) kao_mn2o( 7, :, 4) = (/ & & 9.57877e-01_rb, 9.49712e-01_rb, 9.41617e-01_rb, 9.33591e-01_rb, 9.25633e-01_rb, & & 9.17743e-01_rb, 9.09920e-01_rb, 9.02164e-01_rb, 8.94473e-01_rb, 8.86849e-01_rb, & & 8.79289e-01_rb, 8.71794e-01_rb, 8.64363e-01_rb, 8.56995e-01_rb, 8.49690e-01_rb, & & 8.42447e-01_rb, 8.35266e-01_rb, 8.28147e-01_rb, 8.21087e-01_rb/) kao_mn2o( 8, :, 4) = (/ & & 4.75787e-01_rb, 4.77208e-01_rb, 4.78633e-01_rb, 4.80063e-01_rb, 4.81496e-01_rb, & & 4.82934e-01_rb, 4.84377e-01_rb, 4.85823e-01_rb, 4.87274e-01_rb, 4.88730e-01_rb, & & 4.90189e-01_rb, 4.91653e-01_rb, 4.93122e-01_rb, 4.94595e-01_rb, 4.96072e-01_rb, & & 4.97553e-01_rb, 4.99039e-01_rb, 5.00530e-01_rb, 5.02025e-01_rb/) kao_mn2o( 9, :, 4) = (/ & & 2.42533e+00_rb, 2.41357e+00_rb, 2.40188e+00_rb, 2.39024e+00_rb, 2.37866e+00_rb, & & 2.36713e+00_rb, 2.35566e+00_rb, 2.34425e+00_rb, 2.33289e+00_rb, 2.32158e+00_rb, & & 2.31033e+00_rb, 2.29914e+00_rb, 2.28800e+00_rb, 2.27691e+00_rb, 2.26588e+00_rb, & & 2.25490e+00_rb, 2.24397e+00_rb, 2.23310e+00_rb, 2.22228e+00_rb/) kao_mn2o( 1, :, 5) = (/ & & 1.53885e+00_rb, 1.53590e+00_rb, 1.53297e+00_rb, 1.53004e+00_rb, 1.52711e+00_rb, & & 1.52419e+00_rb, 1.52128e+00_rb, 1.51837e+00_rb, 1.51547e+00_rb, 1.51257e+00_rb, & & 1.50968e+00_rb, 1.50679e+00_rb, 1.50391e+00_rb, 1.50104e+00_rb, 1.49817e+00_rb, & & 1.49530e+00_rb, 1.49245e+00_rb, 1.48959e+00_rb, 1.48675e+00_rb/) kao_mn2o( 2, :, 5) = (/ & & 1.83368e+00_rb, 1.83530e+00_rb, 1.83692e+00_rb, 1.83854e+00_rb, 1.84016e+00_rb, & & 1.84178e+00_rb, 1.84340e+00_rb, 1.84503e+00_rb, 1.84665e+00_rb, 1.84828e+00_rb, & & 1.84991e+00_rb, 1.85154e+00_rb, 1.85317e+00_rb, 1.85480e+00_rb, 1.85644e+00_rb, & & 1.85807e+00_rb, 1.85971e+00_rb, 1.86135e+00_rb, 1.86299e+00_rb/) kao_mn2o( 3, :, 5) = (/ & & 1.49593e+00_rb, 1.49279e+00_rb, 1.48965e+00_rb, 1.48652e+00_rb, 1.48340e+00_rb, & & 1.48028e+00_rb, 1.47717e+00_rb, 1.47406e+00_rb, 1.47096e+00_rb, 1.46787e+00_rb, & & 1.46479e+00_rb, 1.46171e+00_rb, 1.45863e+00_rb, 1.45557e+00_rb, 1.45251e+00_rb, & & 1.44946e+00_rb, 1.44641e+00_rb, 1.44337e+00_rb, 1.44033e+00_rb/) kao_mn2o( 4, :, 5) = (/ & & 1.40048e+00_rb, 1.39228e+00_rb, 1.38413e+00_rb, 1.37603e+00_rb, 1.36798e+00_rb, & & 1.35997e+00_rb, 1.35201e+00_rb, 1.34410e+00_rb, 1.33623e+00_rb, 1.32841e+00_rb, & & 1.32064e+00_rb, 1.31291e+00_rb, 1.30522e+00_rb, 1.29758e+00_rb, 1.28999e+00_rb, & & 1.28244e+00_rb, 1.27493e+00_rb, 1.26747e+00_rb, 1.26005e+00_rb/) kao_mn2o( 5, :, 5) = (/ & & 1.22253e+00_rb, 1.21202e+00_rb, 1.20160e+00_rb, 1.19126e+00_rb, 1.18102e+00_rb, & & 1.17087e+00_rb, 1.16080e+00_rb, 1.15082e+00_rb, 1.14092e+00_rb, 1.13111e+00_rb, & & 1.12139e+00_rb, 1.11174e+00_rb, 1.10219e+00_rb, 1.09271e+00_rb, 1.08331e+00_rb, & & 1.07400e+00_rb, 1.06476e+00_rb, 1.05561e+00_rb, 1.04653e+00_rb/) kao_mn2o( 6, :, 5) = (/ & & 1.07930e+00_rb, 1.06998e+00_rb, 1.06075e+00_rb, 1.05159e+00_rb, 1.04251e+00_rb, & & 1.03352e+00_rb, 1.02459e+00_rb, 1.01575e+00_rb, 1.00698e+00_rb, 9.98291e-01_rb, & & 9.89674e-01_rb, 9.81131e-01_rb, 9.72663e-01_rb, 9.64267e-01_rb, 9.55944e-01_rb, & & 9.47692e-01_rb, 9.39512e-01_rb, 9.31402e-01_rb, 9.23363e-01_rb/) kao_mn2o( 7, :, 5) = (/ & & 7.87066e-01_rb, 7.82767e-01_rb, 7.78490e-01_rb, 7.74237e-01_rb, 7.70008e-01_rb, & & 7.65801e-01_rb, 7.61617e-01_rb, 7.57457e-01_rb, 7.53319e-01_rb, 7.49203e-01_rb, & & 7.45110e-01_rb, 7.41040e-01_rb, 7.36991e-01_rb, 7.32965e-01_rb, 7.28961e-01_rb, & & 7.24979e-01_rb, 7.21018e-01_rb, 7.17079e-01_rb, 7.13161e-01_rb/) kao_mn2o( 8, :, 5) = (/ & & 3.83362e-01_rb, 3.84405e-01_rb, 3.85452e-01_rb, 3.86501e-01_rb, 3.87552e-01_rb, & & 3.88607e-01_rb, 3.89665e-01_rb, 3.90725e-01_rb, 3.91788e-01_rb, 3.92855e-01_rb, & & 3.93924e-01_rb, 3.94996e-01_rb, 3.96071e-01_rb, 3.97149e-01_rb, 3.98229e-01_rb, & & 3.99313e-01_rb, 4.00400e-01_rb, 4.01489e-01_rb, 4.02582e-01_rb/) kao_mn2o( 9, :, 5) = (/ & & 8.97278e-01_rb, 8.92873e-01_rb, 8.88490e-01_rb, 8.84128e-01_rb, 8.79787e-01_rb, & & 8.75468e-01_rb, 8.71170e-01_rb, 8.66893e-01_rb, 8.62637e-01_rb, 8.58402e-01_rb, & & 8.54187e-01_rb, 8.49994e-01_rb, 8.45821e-01_rb, 8.41668e-01_rb, 8.37536e-01_rb, & & 8.33424e-01_rb, 8.29333e-01_rb, 8.25261e-01_rb, 8.21209e-01_rb/) kao_mn2o( 1, :, 6) = (/ & & 1.83809e+00_rb, 1.84036e+00_rb, 1.84264e+00_rb, 1.84491e+00_rb, 1.84720e+00_rb, & & 1.84948e+00_rb, 1.85177e+00_rb, 1.85406e+00_rb, 1.85635e+00_rb, 1.85864e+00_rb, & & 1.86094e+00_rb, 1.86324e+00_rb, 1.86555e+00_rb, 1.86785e+00_rb, 1.87016e+00_rb, & & 1.87247e+00_rb, 1.87479e+00_rb, 1.87711e+00_rb, 1.87943e+00_rb/) kao_mn2o( 2, :, 6) = (/ & & 1.82624e+00_rb, 1.81564e+00_rb, 1.80510e+00_rb, 1.79463e+00_rb, 1.78421e+00_rb, & & 1.77386e+00_rb, 1.76356e+00_rb, 1.75333e+00_rb, 1.74315e+00_rb, 1.73304e+00_rb, & & 1.72298e+00_rb, 1.71298e+00_rb, 1.70304e+00_rb, 1.69316e+00_rb, 1.68333e+00_rb, & & 1.67356e+00_rb, 1.66385e+00_rb, 1.65419e+00_rb, 1.64459e+00_rb/) kao_mn2o( 3, :, 6) = (/ & & 1.35442e+00_rb, 1.34174e+00_rb, 1.32918e+00_rb, 1.31673e+00_rb, 1.30440e+00_rb, & & 1.29219e+00_rb, 1.28010e+00_rb, 1.26811e+00_rb, 1.25624e+00_rb, 1.24448e+00_rb, & & 1.23283e+00_rb, 1.22129e+00_rb, 1.20985e+00_rb, 1.19853e+00_rb, 1.18731e+00_rb, & & 1.17619e+00_rb, 1.16518e+00_rb, 1.15427e+00_rb, 1.14347e+00_rb/) kao_mn2o( 4, :, 6) = (/ & & 1.10510e+00_rb, 1.09473e+00_rb, 1.08446e+00_rb, 1.07429e+00_rb, 1.06420e+00_rb, & & 1.05422e+00_rb, 1.04433e+00_rb, 1.03453e+00_rb, 1.02482e+00_rb, 1.01520e+00_rb, & & 1.00568e+00_rb, 9.96238e-01_rb, 9.86890e-01_rb, 9.77629e-01_rb, 9.68455e-01_rb, & & 9.59367e-01_rb, 9.50365e-01_rb, 9.41447e-01_rb, 9.32612e-01_rb/) kao_mn2o( 5, :, 6) = (/ & & 1.01083e+00_rb, 1.00221e+00_rb, 9.93656e-01_rb, 9.85178e-01_rb, 9.76772e-01_rb, & & 9.68437e-01_rb, 9.60174e-01_rb, 9.51981e-01_rb, 9.43859e-01_rb, 9.35805e-01_rb, & & 9.27821e-01_rb, 9.19904e-01_rb, 9.12055e-01_rb, 9.04273e-01_rb, 8.96557e-01_rb, & & 8.88907e-01_rb, 8.81323e-01_rb, 8.73803e-01_rb, 8.66347e-01_rb/) kao_mn2o( 6, :, 6) = (/ & & 5.91415e-01_rb, 5.90427e-01_rb, 5.89441e-01_rb, 5.88457e-01_rb, 5.87474e-01_rb, & & 5.86493e-01_rb, 5.85514e-01_rb, 5.84536e-01_rb, 5.83559e-01_rb, 5.82585e-01_rb, & & 5.81612e-01_rb, 5.80640e-01_rb, 5.79671e-01_rb, 5.78703e-01_rb, 5.77736e-01_rb, & & 5.76771e-01_rb, 5.75808e-01_rb, 5.74846e-01_rb, 5.73886e-01_rb/) kao_mn2o( 7, :, 6) = (/ & & 3.68189e-01_rb, 3.70029e-01_rb, 3.71877e-01_rb, 3.73735e-01_rb, 3.75603e-01_rb, & & 3.77479e-01_rb, 3.79365e-01_rb, 3.81260e-01_rb, 3.83165e-01_rb, 3.85079e-01_rb, & & 3.87003e-01_rb, 3.88937e-01_rb, 3.90880e-01_rb, 3.92833e-01_rb, 3.94795e-01_rb, & & 3.96768e-01_rb, 3.98750e-01_rb, 4.00742e-01_rb, 4.02744e-01_rb/) kao_mn2o( 8, :, 6) = (/ & & 2.98721e-01_rb, 2.99932e-01_rb, 3.01149e-01_rb, 3.02370e-01_rb, 3.03597e-01_rb, & & 3.04828e-01_rb, 3.06064e-01_rb, 3.07306e-01_rb, 3.08552e-01_rb, 3.09804e-01_rb, & & 3.11060e-01_rb, 3.12322e-01_rb, 3.13589e-01_rb, 3.14860e-01_rb, 3.16138e-01_rb, & & 3.17420e-01_rb, 3.18707e-01_rb, 3.20000e-01_rb, 3.21298e-01_rb/) kao_mn2o( 9, :, 6) = (/ & & 3.76116e-01_rb, 3.77276e-01_rb, 3.78439e-01_rb, 3.79606e-01_rb, 3.80777e-01_rb, & & 3.81951e-01_rb, 3.83129e-01_rb, 3.84310e-01_rb, 3.85495e-01_rb, 3.86684e-01_rb, & & 3.87876e-01_rb, 3.89072e-01_rb, 3.90272e-01_rb, 3.91475e-01_rb, 3.92682e-01_rb, & & 3.93893e-01_rb, 3.95107e-01_rb, 3.96326e-01_rb, 3.97548e-01_rb/) kao_mn2o( 1, :, 7) = (/ & & 3.22705e+00_rb, 3.21966e+00_rb, 3.21230e+00_rb, 3.20494e+00_rb, 3.19761e+00_rb, & & 3.19029e+00_rb, 3.18299e+00_rb, 3.17571e+00_rb, 3.16844e+00_rb, 3.16119e+00_rb, & & 3.15395e+00_rb, 3.14673e+00_rb, 3.13953e+00_rb, 3.13235e+00_rb, 3.12518e+00_rb, & & 3.11803e+00_rb, 3.11089e+00_rb, 3.10377e+00_rb, 3.09667e+00_rb/) kao_mn2o( 2, :, 7) = (/ & & 1.43811e+00_rb, 1.42367e+00_rb, 1.40938e+00_rb, 1.39522e+00_rb, 1.38121e+00_rb, & & 1.36735e+00_rb, 1.35362e+00_rb, 1.34002e+00_rb, 1.32657e+00_rb, 1.31325e+00_rb, & & 1.30006e+00_rb, 1.28701e+00_rb, 1.27408e+00_rb, 1.26129e+00_rb, 1.24862e+00_rb, & & 1.23609e+00_rb, 1.22367e+00_rb, 1.21139e+00_rb, 1.19922e+00_rb/) kao_mn2o( 3, :, 7) = (/ & & 1.22586e+00_rb, 1.21639e+00_rb, 1.20700e+00_rb, 1.19767e+00_rb, 1.18842e+00_rb, & & 1.17924e+00_rb, 1.17014e+00_rb, 1.16110e+00_rb, 1.15213e+00_rb, 1.14323e+00_rb, & & 1.13440e+00_rb, 1.12564e+00_rb, 1.11695e+00_rb, 1.10832e+00_rb, 1.09976e+00_rb, & & 1.09127e+00_rb, 1.08284e+00_rb, 1.07447e+00_rb, 1.06618e+00_rb/) kao_mn2o( 4, :, 7) = (/ & & 7.94380e-01_rb, 7.92795e-01_rb, 7.91213e-01_rb, 7.89634e-01_rb, 7.88059e-01_rb, & & 7.86486e-01_rb, 7.84917e-01_rb, 7.83351e-01_rb, 7.81787e-01_rb, 7.80227e-01_rb, & & 7.78671e-01_rb, 7.77117e-01_rb, 7.75566e-01_rb, 7.74019e-01_rb, 7.72474e-01_rb, & & 7.70933e-01_rb, 7.69394e-01_rb, 7.67859e-01_rb, 7.66327e-01_rb/) kao_mn2o( 5, :, 7) = (/ & & 4.46935e-01_rb, 4.49760e-01_rb, 4.52602e-01_rb, 4.55462e-01_rb, 4.58340e-01_rb, & & 4.61237e-01_rb, 4.64152e-01_rb, 4.67085e-01_rb, 4.70037e-01_rb, 4.73007e-01_rb, & & 4.75996e-01_rb, 4.79004e-01_rb, 4.82031e-01_rb, 4.85078e-01_rb, 4.88143e-01_rb, & & 4.91228e-01_rb, 4.94332e-01_rb, 4.97456e-01_rb, 5.00600e-01_rb/) kao_mn2o( 6, :, 7) = (/ & & 4.20211e-01_rb, 4.21711e-01_rb, 4.23216e-01_rb, 4.24726e-01_rb, 4.26242e-01_rb, & & 4.27763e-01_rb, 4.29290e-01_rb, 4.30822e-01_rb, 4.32359e-01_rb, 4.33902e-01_rb, & & 4.35450e-01_rb, 4.37004e-01_rb, 4.38564e-01_rb, 4.40129e-01_rb, 4.41700e-01_rb, & & 4.43276e-01_rb, 4.44858e-01_rb, 4.46445e-01_rb, 4.48038e-01_rb/) kao_mn2o( 7, :, 7) = (/ & & 3.42094e-01_rb, 3.43589e-01_rb, 3.45091e-01_rb, 3.46600e-01_rb, 3.48115e-01_rb, & & 3.49637e-01_rb, 3.51165e-01_rb, 3.52700e-01_rb, 3.54242e-01_rb, 3.55791e-01_rb, & & 3.57346e-01_rb, 3.58908e-01_rb, 3.60477e-01_rb, 3.62053e-01_rb, 3.63636e-01_rb, & & 3.65225e-01_rb, 3.66822e-01_rb, 3.68426e-01_rb, 3.70036e-01_rb/) kao_mn2o( 8, :, 7) = (/ & & 2.94919e-01_rb, 2.97460e-01_rb, 3.00022e-01_rb, 3.02606e-01_rb, 3.05212e-01_rb, & & 3.07841e-01_rb, 3.10492e-01_rb, 3.13167e-01_rb, 3.15864e-01_rb, 3.18584e-01_rb, & & 3.21328e-01_rb, 3.24096e-01_rb, 3.26887e-01_rb, 3.29703e-01_rb, 3.32543e-01_rb, & & 3.35407e-01_rb, 3.38296e-01_rb, 3.41210e-01_rb, 3.44148e-01_rb/) kao_mn2o( 9, :, 7) = (/ & & 2.97441e-01_rb, 2.99207e-01_rb, 3.00984e-01_rb, 3.02772e-01_rb, 3.04570e-01_rb, & & 3.06379e-01_rb, 3.08199e-01_rb, 3.10029e-01_rb, 3.11870e-01_rb, 3.13723e-01_rb, & & 3.15586e-01_rb, 3.17460e-01_rb, 3.19345e-01_rb, 3.21242e-01_rb, 3.23150e-01_rb, & & 3.25069e-01_rb, 3.27000e-01_rb, 3.28942e-01_rb, 3.30895e-01_rb/) kao_mn2o( 1, :, 8) = (/ & & 2.14641e+00_rb, 2.12585e+00_rb, 2.10549e+00_rb, 2.08532e+00_rb, 2.06534e+00_rb, & & 2.04556e+00_rb, 2.02596e+00_rb, 2.00656e+00_rb, 1.98733e+00_rb, 1.96830e+00_rb, & & 1.94944e+00_rb, 1.93077e+00_rb, 1.91227e+00_rb, 1.89395e+00_rb, 1.87581e+00_rb, & & 1.85784e+00_rb, 1.84004e+00_rb, 1.82242e+00_rb, 1.80496e+00_rb/) kao_mn2o( 2, :, 8) = (/ & & 8.83687e-01_rb, 8.83170e-01_rb, 8.82654e-01_rb, 8.82137e-01_rb, 8.81621e-01_rb, & & 8.81106e-01_rb, 8.80590e-01_rb, 8.80075e-01_rb, 8.79560e-01_rb, 8.79046e-01_rb, & & 8.78531e-01_rb, 8.78017e-01_rb, 8.77504e-01_rb, 8.76990e-01_rb, 8.76477e-01_rb, & & 8.75965e-01_rb, 8.75452e-01_rb, 8.74940e-01_rb, 8.74428e-01_rb/) kao_mn2o( 3, :, 8) = (/ & & 4.49840e-01_rb, 4.52683e-01_rb, 4.55543e-01_rb, 4.58421e-01_rb, 4.61318e-01_rb, & & 4.64233e-01_rb, 4.67166e-01_rb, 4.70118e-01_rb, 4.73088e-01_rb, 4.76078e-01_rb, & & 4.79086e-01_rb, 4.82113e-01_rb, 4.85159e-01_rb, 4.88225e-01_rb, 4.91310e-01_rb, & & 4.94414e-01_rb, 4.97538e-01_rb, 5.00682e-01_rb, 5.03845e-01_rb/) kao_mn2o( 4, :, 8) = (/ & & 3.92292e-01_rb, 3.93574e-01_rb, 3.94861e-01_rb, 3.96151e-01_rb, 3.97446e-01_rb, & & 3.98746e-01_rb, 4.00049e-01_rb, 4.01357e-01_rb, 4.02669e-01_rb, 4.03985e-01_rb, & & 4.05306e-01_rb, 4.06630e-01_rb, 4.07960e-01_rb, 4.09293e-01_rb, 4.10631e-01_rb, & & 4.11973e-01_rb, 4.13320e-01_rb, 4.14671e-01_rb, 4.16027e-01_rb/) kao_mn2o( 5, :, 8) = (/ & & 3.38920e-01_rb, 3.41151e-01_rb, 3.43397e-01_rb, 3.45658e-01_rb, 3.47934e-01_rb, & & 3.50225e-01_rb, 3.52531e-01_rb, 3.54852e-01_rb, 3.57189e-01_rb, 3.59541e-01_rb, & & 3.61908e-01_rb, 3.64291e-01_rb, 3.66689e-01_rb, 3.69104e-01_rb, 3.71534e-01_rb, & & 3.73980e-01_rb, 3.76443e-01_rb, 3.78921e-01_rb, 3.81416e-01_rb/) kao_mn2o( 6, :, 8) = (/ & & 3.01673e-01_rb, 3.04752e-01_rb, 3.07863e-01_rb, 3.11005e-01_rb, 3.14180e-01_rb, & & 3.17387e-01_rb, 3.20626e-01_rb, 3.23899e-01_rb, 3.27205e-01_rb, 3.30545e-01_rb, & & 3.33919e-01_rb, 3.37328e-01_rb, 3.40771e-01_rb, 3.44249e-01_rb, 3.47763e-01_rb, & & 3.51313e-01_rb, 3.54899e-01_rb, 3.58521e-01_rb, 3.62181e-01_rb/) kao_mn2o( 7, :, 8) = (/ & & 2.99381e-01_rb, 3.02431e-01_rb, 3.05512e-01_rb, 3.08624e-01_rb, 3.11768e-01_rb, & & 3.14945e-01_rb, 3.18153e-01_rb, 3.21394e-01_rb, 3.24668e-01_rb, 3.27976e-01_rb, & & 3.31317e-01_rb, 3.34693e-01_rb, 3.38102e-01_rb, 3.41547e-01_rb, 3.45026e-01_rb, & & 3.48541e-01_rb, 3.52092e-01_rb, 3.55679e-01_rb, 3.59302e-01_rb/) kao_mn2o( 8, :, 8) = (/ & & 2.87559e-01_rb, 2.89153e-01_rb, 2.90756e-01_rb, 2.92367e-01_rb, 2.93987e-01_rb, & & 2.95617e-01_rb, 2.97255e-01_rb, 2.98902e-01_rb, 3.00559e-01_rb, 3.02225e-01_rb, & & 3.03899e-01_rb, 3.05584e-01_rb, 3.07277e-01_rb, 3.08980e-01_rb, 3.10693e-01_rb, & & 3.12414e-01_rb, 3.14146e-01_rb, 3.15887e-01_rb, 3.17638e-01_rb/) kao_mn2o( 9, :, 8) = (/ & & 2.96238e-01_rb, 2.97588e-01_rb, 2.98945e-01_rb, 3.00309e-01_rb, 3.01678e-01_rb, & & 3.03054e-01_rb, 3.04436e-01_rb, 3.05824e-01_rb, 3.07219e-01_rb, 3.08620e-01_rb, & & 3.10027e-01_rb, 3.11441e-01_rb, 3.12861e-01_rb, 3.14288e-01_rb, 3.15721e-01_rb, & & 3.17161e-01_rb, 3.18607e-01_rb, 3.20060e-01_rb, 3.21520e-01_rb/) kao_mn2o( 1, :, 9) = (/ & & 1.56483e+00_rb, 1.55792e+00_rb, 1.55105e+00_rb, 1.54420e+00_rb, 1.53739e+00_rb, & & 1.53060e+00_rb, 1.52384e+00_rb, 1.51712e+00_rb, 1.51042e+00_rb, 1.50376e+00_rb, & & 1.49712e+00_rb, 1.49051e+00_rb, 1.48393e+00_rb, 1.47738e+00_rb, 1.47086e+00_rb, & & 1.46437e+00_rb, 1.45791e+00_rb, 1.45147e+00_rb, 1.44507e+00_rb/) kao_mn2o( 2, :, 9) = (/ & & 4.09526e-01_rb, 4.10301e-01_rb, 4.11078e-01_rb, 4.11857e-01_rb, 4.12637e-01_rb, & & 4.13418e-01_rb, 4.14201e-01_rb, 4.14986e-01_rb, 4.15771e-01_rb, 4.16559e-01_rb, & & 4.17348e-01_rb, 4.18138e-01_rb, 4.18930e-01_rb, 4.19723e-01_rb, 4.20518e-01_rb, & & 4.21315e-01_rb, 4.22112e-01_rb, 4.22912e-01_rb, 4.23713e-01_rb/) kao_mn2o( 3, :, 9) = (/ & & 3.35672e-01_rb, 3.38982e-01_rb, 3.42326e-01_rb, 3.45702e-01_rb, 3.49111e-01_rb, & & 3.52554e-01_rb, 3.56031e-01_rb, 3.59543e-01_rb, 3.63089e-01_rb, 3.66670e-01_rb, & & 3.70286e-01_rb, 3.73938e-01_rb, 3.77626e-01_rb, 3.81350e-01_rb, 3.85111e-01_rb, & & 3.88909e-01_rb, 3.92745e-01_rb, 3.96618e-01_rb, 4.00530e-01_rb/) kao_mn2o( 4, :, 9) = (/ & & 3.19130e-01_rb, 3.23028e-01_rb, 3.26973e-01_rb, 3.30966e-01_rb, 3.35008e-01_rb, & & 3.39100e-01_rb, 3.43241e-01_rb, 3.47433e-01_rb, 3.51676e-01_rb, 3.55971e-01_rb, & & 3.60319e-01_rb, 3.64719e-01_rb, 3.69173e-01_rb, 3.73682e-01_rb, 3.78246e-01_rb, & & 3.82865e-01_rb, 3.87541e-01_rb, 3.92274e-01_rb, 3.97065e-01_rb/) kao_mn2o( 5, :, 9) = (/ & & 3.04385e-01_rb, 3.07155e-01_rb, 3.09949e-01_rb, 3.12770e-01_rb, 3.15616e-01_rb, & & 3.18488e-01_rb, 3.21386e-01_rb, 3.24310e-01_rb, 3.27261e-01_rb, 3.30239e-01_rb, & & 3.33244e-01_rb, 3.36276e-01_rb, 3.39336e-01_rb, 3.42424e-01_rb, 3.45540e-01_rb, & & 3.48684e-01_rb, 3.51857e-01_rb, 3.55059e-01_rb, 3.58289e-01_rb/) kao_mn2o( 6, :, 9) = (/ & & 2.98789e-01_rb, 3.00996e-01_rb, 3.03220e-01_rb, 3.05460e-01_rb, 3.07717e-01_rb, & & 3.09990e-01_rb, 3.12281e-01_rb, 3.14588e-01_rb, 3.16912e-01_rb, 3.19253e-01_rb, & & 3.21612e-01_rb, 3.23988e-01_rb, 3.26382e-01_rb, 3.28793e-01_rb, 3.31222e-01_rb, & & 3.33669e-01_rb, 3.36134e-01_rb, 3.38618e-01_rb, 3.41119e-01_rb/) kao_mn2o( 7, :, 9) = (/ & & 3.08712e-01_rb, 3.10491e-01_rb, 3.12281e-01_rb, 3.14080e-01_rb, 3.15890e-01_rb, & & 3.17710e-01_rb, 3.19541e-01_rb, 3.21382e-01_rb, 3.23234e-01_rb, 3.25097e-01_rb, & & 3.26970e-01_rb, 3.28854e-01_rb, 3.30749e-01_rb, 3.32655e-01_rb, 3.34572e-01_rb, & & 3.36500e-01_rb, 3.38439e-01_rb, 3.40390e-01_rb, 3.42351e-01_rb/) kao_mn2o( 8, :, 9) = (/ & & 3.10571e-01_rb, 3.12262e-01_rb, 3.13961e-01_rb, 3.15670e-01_rb, 3.17388e-01_rb, & & 3.19115e-01_rb, 3.20852e-01_rb, 3.22598e-01_rb, 3.24354e-01_rb, 3.26120e-01_rb, & & 3.27895e-01_rb, 3.29679e-01_rb, 3.31474e-01_rb, 3.33278e-01_rb, 3.35092e-01_rb, & & 3.36915e-01_rb, 3.38749e-01_rb, 3.40593e-01_rb, 3.42447e-01_rb/) kao_mn2o( 9, :, 9) = (/ & & 3.16436e-01_rb, 3.18200e-01_rb, 3.19974e-01_rb, 3.21759e-01_rb, 3.23553e-01_rb, & & 3.25357e-01_rb, 3.27172e-01_rb, 3.28996e-01_rb, 3.30831e-01_rb, 3.32675e-01_rb, & & 3.34530e-01_rb, 3.36396e-01_rb, 3.38272e-01_rb, 3.40158e-01_rb, 3.42055e-01_rb, & & 3.43962e-01_rb, 3.45880e-01_rb, 3.47809e-01_rb, 3.49749e-01_rb/) kao_mn2o( 1, :,10) = (/ & & 7.68616e-01_rb, 7.63263e-01_rb, 7.57948e-01_rb, 7.52669e-01_rb, 7.47428e-01_rb, & & 7.42223e-01_rb, 7.37054e-01_rb, 7.31921e-01_rb, 7.26824e-01_rb, 7.21762e-01_rb, & & 7.16736e-01_rb, 7.11744e-01_rb, 7.06788e-01_rb, 7.01866e-01_rb, 6.96978e-01_rb, & & 6.92124e-01_rb, 6.87304e-01_rb, 6.82517e-01_rb, 6.77764e-01_rb/) kao_mn2o( 2, :,10) = (/ & & 4.97271e-01_rb, 5.10054e-01_rb, 5.23165e-01_rb, 5.36614e-01_rb, 5.50408e-01_rb, & & 5.64556e-01_rb, 5.79069e-01_rb, 5.93954e-01_rb, 6.09222e-01_rb, 6.24883e-01_rb, & & 6.40946e-01_rb, 6.57422e-01_rb, 6.74321e-01_rb, 6.91655e-01_rb, 7.09435e-01_rb, & & 7.27671e-01_rb, 7.46377e-01_rb, 7.65563e-01_rb, 7.85242e-01_rb/) kao_mn2o( 3, :,10) = (/ & & 2.44443e-01_rb, 2.47096e-01_rb, 2.49778e-01_rb, 2.52489e-01_rb, 2.55229e-01_rb, & & 2.57999e-01_rb, 2.60799e-01_rb, 2.63630e-01_rb, 2.66491e-01_rb, 2.69383e-01_rb, & & 2.72307e-01_rb, 2.75262e-01_rb, 2.78250e-01_rb, 2.81269e-01_rb, 2.84322e-01_rb, & & 2.87408e-01_rb, 2.90527e-01_rb, 2.93680e-01_rb, 2.96868e-01_rb/) kao_mn2o( 4, :,10) = (/ & & 2.01964e-01_rb, 2.02869e-01_rb, 2.03777e-01_rb, 2.04690e-01_rb, 2.05606e-01_rb, & & 2.06527e-01_rb, 2.07452e-01_rb, 2.08381e-01_rb, 2.09314e-01_rb, 2.10251e-01_rb, & & 2.11193e-01_rb, 2.12139e-01_rb, 2.13089e-01_rb, 2.14043e-01_rb, 2.15002e-01_rb, & & 2.15964e-01_rb, 2.16932e-01_rb, 2.17903e-01_rb, 2.18879e-01_rb/) kao_mn2o( 5, :,10) = (/ & & 2.56972e-01_rb, 2.56837e-01_rb, 2.56702e-01_rb, 2.56567e-01_rb, 2.56432e-01_rb, & & 2.56297e-01_rb, 2.56162e-01_rb, 2.56027e-01_rb, 2.55893e-01_rb, 2.55758e-01_rb, & & 2.55624e-01_rb, 2.55489e-01_rb, 2.55355e-01_rb, 2.55220e-01_rb, 2.55086e-01_rb, & & 2.54952e-01_rb, 2.54818e-01_rb, 2.54684e-01_rb, 2.54550e-01_rb/) kao_mn2o( 6, :,10) = (/ & & 2.57322e-01_rb, 2.57187e-01_rb, 2.57052e-01_rb, 2.56917e-01_rb, 2.56782e-01_rb, & & 2.56647e-01_rb, 2.56512e-01_rb, 2.56377e-01_rb, 2.56243e-01_rb, 2.56108e-01_rb, & & 2.55974e-01_rb, 2.55839e-01_rb, 2.55705e-01_rb, 2.55570e-01_rb, 2.55436e-01_rb, & & 2.55302e-01_rb, 2.55168e-01_rb, 2.55034e-01_rb, 2.54900e-01_rb/) kao_mn2o( 7, :,10) = (/ & & 2.56551e-01_rb, 2.56421e-01_rb, 2.56291e-01_rb, 2.56161e-01_rb, 2.56030e-01_rb, & & 2.55900e-01_rb, 2.55770e-01_rb, 2.55640e-01_rb, 2.55511e-01_rb, 2.55381e-01_rb, & & 2.55251e-01_rb, 2.55121e-01_rb, 2.54992e-01_rb, 2.54862e-01_rb, 2.54733e-01_rb, & & 2.54603e-01_rb, 2.54474e-01_rb, 2.54345e-01_rb, 2.54215e-01_rb/) kao_mn2o( 8, :,10) = (/ & & 2.73629e-01_rb, 2.73460e-01_rb, 2.73291e-01_rb, 2.73122e-01_rb, 2.72953e-01_rb, & & 2.72784e-01_rb, 2.72615e-01_rb, 2.72447e-01_rb, 2.72279e-01_rb, 2.72110e-01_rb, & & 2.71942e-01_rb, 2.71774e-01_rb, 2.71606e-01_rb, 2.71438e-01_rb, 2.71270e-01_rb, & & 2.71102e-01_rb, 2.70935e-01_rb, 2.70767e-01_rb, 2.70600e-01_rb/) kao_mn2o( 9, :,10) = (/ & & 2.57294e-01_rb, 2.57149e-01_rb, 2.57004e-01_rb, 2.56860e-01_rb, 2.56715e-01_rb, & & 2.56570e-01_rb, 2.56426e-01_rb, 2.56282e-01_rb, 2.56137e-01_rb, 2.55993e-01_rb, & & 2.55849e-01_rb, 2.55705e-01_rb, 2.55561e-01_rb, 2.55417e-01_rb, 2.55273e-01_rb, & & 2.55129e-01_rb, 2.54986e-01_rb, 2.54842e-01_rb, 2.54698e-01_rb/) kao_mn2o( 1, :,11) = (/ & & 6.91062e-01_rb, 6.84151e-01_rb, 6.77309e-01_rb, 6.70535e-01_rb, 6.63829e-01_rb, & & 6.57190e-01_rb, 6.50617e-01_rb, 6.44111e-01_rb, 6.37669e-01_rb, 6.31292e-01_rb, & & 6.24978e-01_rb, 6.18728e-01_rb, 6.12540e-01_rb, 6.06414e-01_rb, 6.00349e-01_rb, & & 5.94345e-01_rb, 5.88401e-01_rb, 5.82517e-01_rb, 5.76691e-01_rb/) kao_mn2o( 2, :,11) = (/ & & 1.98698e-01_rb, 2.01182e-01_rb, 2.03698e-01_rb, 2.06244e-01_rb, 2.08823e-01_rb, & & 2.11433e-01_rb, 2.14077e-01_rb, 2.16753e-01_rb, 2.19463e-01_rb, 2.22207e-01_rb, & & 2.24985e-01_rb, 2.27798e-01_rb, 2.30646e-01_rb, 2.33529e-01_rb, 2.36449e-01_rb, & & 2.39405e-01_rb, 2.42398e-01_rb, 2.45429e-01_rb, 2.48497e-01_rb/) kao_mn2o( 3, :,11) = (/ & & 2.11950e-01_rb, 2.13560e-01_rb, 2.15184e-01_rb, 2.16819e-01_rb, 2.18467e-01_rb, & & 2.20127e-01_rb, 2.21800e-01_rb, 2.23486e-01_rb, 2.25185e-01_rb, 2.26896e-01_rb, & & 2.28621e-01_rb, 2.30358e-01_rb, 2.32109e-01_rb, 2.33873e-01_rb, 2.35651e-01_rb, & & 2.37442e-01_rb, 2.39247e-01_rb, 2.41065e-01_rb, 2.42897e-01_rb/) kao_mn2o( 4, :,11) = (/ & & 3.14210e-01_rb, 3.13143e-01_rb, 3.12080e-01_rb, 3.11021e-01_rb, 3.09965e-01_rb, & & 3.08913e-01_rb, 3.07864e-01_rb, 3.06819e-01_rb, 3.05777e-01_rb, 3.04739e-01_rb, & & 3.03705e-01_rb, 3.02674e-01_rb, 3.01646e-01_rb, 3.00622e-01_rb, 2.99602e-01_rb, & & 2.98584e-01_rb, 2.97571e-01_rb, 2.96561e-01_rb, 2.95554e-01_rb/) kao_mn2o( 5, :,11) = (/ & & 3.13536e-01_rb, 3.12459e-01_rb, 3.11386e-01_rb, 3.10316e-01_rb, 3.09250e-01_rb, & & 3.08188e-01_rb, 3.07129e-01_rb, 3.06074e-01_rb, 3.05022e-01_rb, 3.03974e-01_rb, & & 3.02930e-01_rb, 3.01889e-01_rb, 3.00852e-01_rb, 2.99819e-01_rb, 2.98789e-01_rb, & & 2.97762e-01_rb, 2.96739e-01_rb, 2.95720e-01_rb, 2.94704e-01_rb/) kao_mn2o( 6, :,11) = (/ & & 3.13215e-01_rb, 3.12123e-01_rb, 3.11034e-01_rb, 3.09949e-01_rb, 3.08867e-01_rb, & & 3.07790e-01_rb, 3.06716e-01_rb, 3.05646e-01_rb, 3.04579e-01_rb, 3.03517e-01_rb, & & 3.02458e-01_rb, 3.01403e-01_rb, 3.00351e-01_rb, 2.99303e-01_rb, 2.98259e-01_rb, & & 2.97219e-01_rb, 2.96182e-01_rb, 2.95148e-01_rb, 2.94119e-01_rb/) kao_mn2o( 7, :,11) = (/ & & 3.14236e-01_rb, 3.13123e-01_rb, 3.12014e-01_rb, 3.10908e-01_rb, 3.09806e-01_rb, & & 3.08709e-01_rb, 3.07615e-01_rb, 3.06525e-01_rb, 3.05439e-01_rb, 3.04357e-01_rb, & & 3.03278e-01_rb, 3.02204e-01_rb, 3.01133e-01_rb, 3.00066e-01_rb, 2.99003e-01_rb, & & 2.97944e-01_rb, 2.96888e-01_rb, 2.95836e-01_rb, 2.94788e-01_rb/) kao_mn2o( 8, :,11) = (/ & & 2.97453e-01_rb, 2.96420e-01_rb, 2.95391e-01_rb, 2.94366e-01_rb, 2.93344e-01_rb, & & 2.92325e-01_rb, 2.91311e-01_rb, 2.90299e-01_rb, 2.89291e-01_rb, 2.88287e-01_rb, & & 2.87286e-01_rb, 2.86289e-01_rb, 2.85295e-01_rb, 2.84304e-01_rb, 2.83317e-01_rb, & & 2.82334e-01_rb, 2.81354e-01_rb, 2.80377e-01_rb, 2.79404e-01_rb/) kao_mn2o( 9, :,11) = (/ & & 3.12694e-01_rb, 3.11622e-01_rb, 3.10554e-01_rb, 3.09489e-01_rb, 3.08428e-01_rb, & & 3.07370e-01_rb, 3.06316e-01_rb, 3.05266e-01_rb, 3.04220e-01_rb, 3.03177e-01_rb, & & 3.02137e-01_rb, 3.01101e-01_rb, 3.00069e-01_rb, 2.99040e-01_rb, 2.98015e-01_rb, & & 2.96993e-01_rb, 2.95975e-01_rb, 2.94960e-01_rb, 2.93949e-01_rb/) kao_mn2o( 1, :,12) = (/ & & 5.30796e-01_rb, 5.50444e-01_rb, 5.70818e-01_rb, 5.91947e-01_rb, 6.13857e-01_rb, & & 6.36579e-01_rb, 6.60142e-01_rb, 6.84577e-01_rb, 7.09916e-01_rb, 7.36194e-01_rb, & & 7.63444e-01_rb, 7.91702e-01_rb, 8.21007e-01_rb, 8.51396e-01_rb, 8.82910e-01_rb, & & 9.15591e-01_rb, 9.49481e-01_rb, 9.84626e-01_rb, 1.02107e+00_rb/) kao_mn2o( 2, :,12) = (/ & & 1.38469e-01_rb, 1.40959e-01_rb, 1.43493e-01_rb, 1.46073e-01_rb, 1.48699e-01_rb, & & 1.51373e-01_rb, 1.54094e-01_rb, 1.56865e-01_rb, 1.59685e-01_rb, 1.62556e-01_rb, & & 1.65478e-01_rb, 1.68454e-01_rb, 1.71482e-01_rb, 1.74565e-01_rb, 1.77704e-01_rb, & & 1.80899e-01_rb, 1.84151e-01_rb, 1.87462e-01_rb, 1.90833e-01_rb/) kao_mn2o( 3, :,12) = (/ & & 1.50741e-01_rb, 1.50855e-01_rb, 1.50969e-01_rb, 1.51084e-01_rb, 1.51198e-01_rb, & & 1.51313e-01_rb, 1.51427e-01_rb, 1.51542e-01_rb, 1.51657e-01_rb, 1.51772e-01_rb, & & 1.51887e-01_rb, 1.52002e-01_rb, 1.52117e-01_rb, 1.52233e-01_rb, 1.52348e-01_rb, & & 1.52463e-01_rb, 1.52579e-01_rb, 1.52695e-01_rb, 1.52810e-01_rb/) kao_mn2o( 4, :,12) = (/ & & 1.80444e-01_rb, 1.79944e-01_rb, 1.79445e-01_rb, 1.78948e-01_rb, 1.78452e-01_rb, & & 1.77958e-01_rb, 1.77465e-01_rb, 1.76973e-01_rb, 1.76483e-01_rb, 1.75994e-01_rb, & & 1.75506e-01_rb, 1.75020e-01_rb, 1.74535e-01_rb, 1.74051e-01_rb, 1.73569e-01_rb, & & 1.73088e-01_rb, 1.72609e-01_rb, 1.72131e-01_rb, 1.71654e-01_rb/) kao_mn2o( 5, :,12) = (/ & & 1.80595e-01_rb, 1.80033e-01_rb, 1.79474e-01_rb, 1.78916e-01_rb, 1.78359e-01_rb, & & 1.77805e-01_rb, 1.77252e-01_rb, 1.76701e-01_rb, 1.76152e-01_rb, 1.75604e-01_rb, & & 1.75058e-01_rb, 1.74514e-01_rb, 1.73971e-01_rb, 1.73430e-01_rb, 1.72891e-01_rb, & & 1.72354e-01_rb, 1.71818e-01_rb, 1.71284e-01_rb, 1.70751e-01_rb/) kao_mn2o( 6, :,12) = (/ & & 1.79904e-01_rb, 1.79254e-01_rb, 1.78607e-01_rb, 1.77962e-01_rb, 1.77320e-01_rb, & & 1.76680e-01_rb, 1.76042e-01_rb, 1.75406e-01_rb, 1.74773e-01_rb, 1.74142e-01_rb, & & 1.73513e-01_rb, 1.72887e-01_rb, 1.72262e-01_rb, 1.71640e-01_rb, 1.71021e-01_rb, & & 1.70403e-01_rb, 1.69788e-01_rb, 1.69175e-01_rb, 1.68564e-01_rb/) kao_mn2o( 7, :,12) = (/ & & 1.78712e-01_rb, 1.77868e-01_rb, 1.77027e-01_rb, 1.76190e-01_rb, 1.75357e-01_rb, & & 1.74528e-01_rb, 1.73703e-01_rb, 1.72882e-01_rb, 1.72064e-01_rb, 1.71251e-01_rb, & & 1.70441e-01_rb, 1.69636e-01_rb, 1.68834e-01_rb, 1.68036e-01_rb, 1.67241e-01_rb, & & 1.66451e-01_rb, 1.65664e-01_rb, 1.64881e-01_rb, 1.64101e-01_rb/) kao_mn2o( 8, :,12) = (/ & & 1.72346e-01_rb, 1.70873e-01_rb, 1.69413e-01_rb, 1.67965e-01_rb, 1.66530e-01_rb, & & 1.65107e-01_rb, 1.63696e-01_rb, 1.62297e-01_rb, 1.60910e-01_rb, 1.59535e-01_rb, & & 1.58171e-01_rb, 1.56819e-01_rb, 1.55479e-01_rb, 1.54150e-01_rb, 1.52833e-01_rb, & & 1.51527e-01_rb, 1.50232e-01_rb, 1.48948e-01_rb, 1.47675e-01_rb/) kao_mn2o( 9, :,12) = (/ & & 1.80517e-01_rb, 1.79951e-01_rb, 1.79386e-01_rb, 1.78823e-01_rb, 1.78262e-01_rb, & & 1.77702e-01_rb, 1.77144e-01_rb, 1.76588e-01_rb, 1.76034e-01_rb, 1.75481e-01_rb, & & 1.74931e-01_rb, 1.74382e-01_rb, 1.73834e-01_rb, 1.73289e-01_rb, 1.72745e-01_rb, & & 1.72202e-01_rb, 1.71662e-01_rb, 1.71123e-01_rb, 1.70586e-01_rb/) kao_mn2o( 1, :,13) = (/ & & 2.41966e-01_rb, 2.50534e-01_rb, 2.59406e-01_rb, 2.68591e-01_rb, 2.78102e-01_rb, & & 2.87950e-01_rb, 2.98146e-01_rb, 3.08704e-01_rb, 3.19635e-01_rb, 3.30953e-01_rb, & & 3.42672e-01_rb, 3.54806e-01_rb, 3.67370e-01_rb, 3.80379e-01_rb, 3.93848e-01_rb, & & 4.07794e-01_rb, 4.22234e-01_rb, 4.37186e-01_rb, 4.52667e-01_rb/) kao_mn2o( 2, :,13) = (/ & & 1.54385e-01_rb, 1.54015e-01_rb, 1.53646e-01_rb, 1.53279e-01_rb, 1.52912e-01_rb, & & 1.52545e-01_rb, 1.52180e-01_rb, 1.51816e-01_rb, 1.51452e-01_rb, 1.51089e-01_rb, & & 1.50728e-01_rb, 1.50367e-01_rb, 1.50007e-01_rb, 1.49647e-01_rb, 1.49289e-01_rb, & & 1.48932e-01_rb, 1.48575e-01_rb, 1.48219e-01_rb, 1.47864e-01_rb/) kao_mn2o( 3, :,13) = (/ & & 2.00518e-01_rb, 1.94901e-01_rb, 1.89442e-01_rb, 1.84136e-01_rb, 1.78978e-01_rb, & & 1.73965e-01_rb, 1.69092e-01_rb, 1.64356e-01_rb, 1.59752e-01_rb, 1.55278e-01_rb, & & 1.50928e-01_rb, 1.46701e-01_rb, 1.42592e-01_rb, 1.38598e-01_rb, 1.34715e-01_rb, & & 1.30942e-01_rb, 1.27274e-01_rb, 1.23709e-01_rb, 1.20244e-01_rb/) kao_mn2o( 4, :,13) = (/ & & 2.03974e-01_rb, 1.98258e-01_rb, 1.92703e-01_rb, 1.87302e-01_rb, 1.82054e-01_rb, & & 1.76952e-01_rb, 1.71993e-01_rb, 1.67173e-01_rb, 1.62489e-01_rb, 1.57935e-01_rb, & & 1.53509e-01_rb, 1.49207e-01_rb, 1.45026e-01_rb, 1.40962e-01_rb, 1.37012e-01_rb, & & 1.33172e-01_rb, 1.29440e-01_rb, 1.25813e-01_rb, 1.22287e-01_rb/) kao_mn2o( 5, :,13) = (/ & & 2.09410e-01_rb, 2.03543e-01_rb, 1.97841e-01_rb, 1.92298e-01_rb, 1.86911e-01_rb, & & 1.81674e-01_rb, 1.76585e-01_rb, 1.71637e-01_rb, 1.66829e-01_rb, 1.62155e-01_rb, & & 1.57612e-01_rb, 1.53196e-01_rb, 1.48904e-01_rb, 1.44733e-01_rb, 1.40678e-01_rb, & & 1.36736e-01_rb, 1.32906e-01_rb, 1.29182e-01_rb, 1.25563e-01_rb/) kao_mn2o( 6, :,13) = (/ & & 2.19808e-01_rb, 2.13643e-01_rb, 2.07651e-01_rb, 2.01827e-01_rb, 1.96166e-01_rb, & & 1.90664e-01_rb, 1.85317e-01_rb, 1.80119e-01_rb, 1.75067e-01_rb, 1.70157e-01_rb, & & 1.65385e-01_rb, 1.60746e-01_rb, 1.56238e-01_rb, 1.51856e-01_rb, 1.47596e-01_rb, & & 1.43457e-01_rb, 1.39433e-01_rb, 1.35523e-01_rb, 1.31722e-01_rb/) kao_mn2o( 7, :,13) = (/ & & 2.47074e-01_rb, 2.40127e-01_rb, 2.33375e-01_rb, 2.26813e-01_rb, 2.20436e-01_rb, & & 2.14238e-01_rb, 2.08215e-01_rb, 2.02360e-01_rb, 1.96671e-01_rb, 1.91141e-01_rb, & & 1.85767e-01_rb, 1.80544e-01_rb, 1.75467e-01_rb, 1.70534e-01_rb, 1.65739e-01_rb, & & 1.61079e-01_rb, 1.56550e-01_rb, 1.52148e-01_rb, 1.47870e-01_rb/) kao_mn2o( 8, :,13) = (/ & & 2.55282e-01_rb, 2.48105e-01_rb, 2.41130e-01_rb, 2.34350e-01_rb, 2.27762e-01_rb, & & 2.21358e-01_rb, 2.15135e-01_rb, 2.09086e-01_rb, 2.03208e-01_rb, 1.97495e-01_rb, & & 1.91942e-01_rb, 1.86546e-01_rb, 1.81301e-01_rb, 1.76204e-01_rb, 1.71250e-01_rb, & & 1.66435e-01_rb, 1.61756e-01_rb, 1.57208e-01_rb, 1.52788e-01_rb/) kao_mn2o( 9, :,13) = (/ & & 2.09991e-01_rb, 2.04103e-01_rb, 1.98380e-01_rb, 1.92818e-01_rb, 1.87411e-01_rb, & & 1.82156e-01_rb, 1.77048e-01_rb, 1.72084e-01_rb, 1.67259e-01_rb, 1.62569e-01_rb, & & 1.58010e-01_rb, 1.53580e-01_rb, 1.49273e-01_rb, 1.45087e-01_rb, 1.41019e-01_rb, & & 1.37065e-01_rb, 1.33222e-01_rb, 1.29486e-01_rb, 1.25855e-01_rb/) kao_mn2o( 1, :,14) = (/ & & 9.08340e-02_rb, 9.50421e-02_rb, 9.94452e-02_rb, 1.04052e-01_rb, 1.08873e-01_rb, & & 1.13917e-01_rb, 1.19194e-01_rb, 1.24716e-01_rb, 1.30494e-01_rb, 1.36540e-01_rb, & & 1.42865e-01_rb, 1.49484e-01_rb, 1.56409e-01_rb, 1.63655e-01_rb, 1.71237e-01_rb, & & 1.79170e-01_rb, 1.87471e-01_rb, 1.96156e-01_rb, 2.05243e-01_rb/) kao_mn2o( 2, :,14) = (/ & & 3.36945e-02_rb, 3.45144e-02_rb, 3.53542e-02_rb, 3.62144e-02_rb, 3.70956e-02_rb, & & 3.79982e-02_rb, 3.89228e-02_rb, 3.98698e-02_rb, 4.08399e-02_rb, 4.18336e-02_rb, & & 4.28515e-02_rb, 4.38942e-02_rb, 4.49622e-02_rb, 4.60562e-02_rb, 4.71769e-02_rb, & & 4.83248e-02_rb, 4.95006e-02_rb, 5.07051e-02_rb, 5.19388e-02_rb/) kao_mn2o( 3, :,14) = (/ & & 9.11678e-02_rb, 8.85761e-02_rb, 8.60580e-02_rb, 8.36116e-02_rb, 8.12347e-02_rb, & & 7.89253e-02_rb, 7.66817e-02_rb, 7.45017e-02_rb, 7.23838e-02_rb, 7.03261e-02_rb, & & 6.83269e-02_rb, 6.63845e-02_rb, 6.44973e-02_rb, 6.26638e-02_rb, 6.08824e-02_rb, & & 5.91516e-02_rb, 5.74700e-02_rb, 5.58363e-02_rb, 5.42490e-02_rb/) kao_mn2o( 4, :,14) = (/ & & 8.43999e-02_rb, 8.20004e-02_rb, 7.96692e-02_rb, 7.74042e-02_rb, 7.52037e-02_rb, & & 7.30656e-02_rb, 7.09884e-02_rb, 6.89702e-02_rb, 6.70094e-02_rb, 6.51044e-02_rb, & & 6.32535e-02_rb, 6.14552e-02_rb, 5.97081e-02_rb, 5.80106e-02_rb, 5.63614e-02_rb, & & 5.47590e-02_rb, 5.32022e-02_rb, 5.16897e-02_rb, 5.02202e-02_rb/) kao_mn2o( 5, :,14) = (/ & & 7.41279e-02_rb, 7.20196e-02_rb, 6.99712e-02_rb, 6.79811e-02_rb, 6.60476e-02_rb, & & 6.41691e-02_rb, 6.23440e-02_rb, 6.05708e-02_rb, 5.88481e-02_rb, 5.71743e-02_rb, & & 5.55482e-02_rb, 5.39683e-02_rb, 5.24334e-02_rb, 5.09421e-02_rb, 4.94932e-02_rb, & & 4.80855e-02_rb, 4.67179e-02_rb, 4.53891e-02_rb, 4.40982e-02_rb/) kao_mn2o( 6, :,14) = (/ & & 5.66805e-02_rb, 5.50676e-02_rb, 5.35006e-02_rb, 5.19782e-02_rb, 5.04991e-02_rb, & & 4.90621e-02_rb, 4.76659e-02_rb, 4.63096e-02_rb, 4.49918e-02_rb, 4.37115e-02_rb, & & 4.24676e-02_rb, 4.12592e-02_rb, 4.00851e-02_rb, 3.89444e-02_rb, 3.78362e-02_rb, & & 3.67595e-02_rb, 3.57135e-02_rb, 3.46972e-02_rb, 3.37099e-02_rb/) kao_mn2o( 7, :,14) = (/ & & 1.23018e-02_rb, 1.19517e-02_rb, 1.16116e-02_rb, 1.12811e-02_rb, 1.09601e-02_rb, & & 1.06482e-02_rb, 1.03452e-02_rb, 1.00508e-02_rb, 9.76474e-03_rb, 9.48685e-03_rb, & & 9.21687e-03_rb, 8.95458e-03_rb, 8.69974e-03_rb, 8.45216e-03_rb, 8.21163e-03_rb, & & 7.97794e-03_rb, 7.75091e-03_rb, 7.53033e-03_rb, 7.31603e-03_rb/) kao_mn2o( 8, :,14) = (/ & & 3.22403e-07_rb, 3.75986e-07_rb, 4.38475e-07_rb, 5.11349e-07_rb, 5.96335e-07_rb, & & 6.95446e-07_rb, 8.11028e-07_rb, 9.45821e-07_rb, 1.10302e-06_rb, 1.28634e-06_rb, & & 1.50012e-06_rb, 1.74944e-06_rb, 2.04020e-06_rb, 2.37928e-06_rb, 2.77472e-06_rb, & & 3.23587e-06_rb, 3.77367e-06_rb, 4.40085e-06_rb, 5.13227e-06_rb/) kao_mn2o( 9, :,14) = (/ & & 7.33052e-02_rb, 7.12199e-02_rb, 6.91939e-02_rb, 6.72255e-02_rb, 6.53131e-02_rb, & & 6.34551e-02_rb, 6.16500e-02_rb, 5.98963e-02_rb, 5.81924e-02_rb, 5.65370e-02_rb, & & 5.49287e-02_rb, 5.33661e-02_rb, 5.18480e-02_rb, 5.03730e-02_rb, 4.89401e-02_rb, & & 4.75479e-02_rb, 4.61953e-02_rb, 4.48811e-02_rb, 4.36044e-02_rb/) kao_mn2o( 1, :,15) = (/ & & 8.80247e-02_rb, 9.01793e-02_rb, 9.23868e-02_rb, 9.46482e-02_rb, 9.69650e-02_rb, & & 9.93385e-02_rb, 1.01770e-01_rb, 1.04261e-01_rb, 1.06813e-01_rb, 1.09428e-01_rb, & & 1.12107e-01_rb, 1.14851e-01_rb, 1.17662e-01_rb, 1.20542e-01_rb, 1.23493e-01_rb, & & 1.26516e-01_rb, 1.29613e-01_rb, 1.32785e-01_rb, 1.36036e-01_rb/) kao_mn2o( 2, :,15) = (/ & & 3.89107e-07_rb, 4.53768e-07_rb, 5.29173e-07_rb, 6.17109e-07_rb, 7.19658e-07_rb, & & 8.39248e-07_rb, 9.78710e-07_rb, 1.14135e-06_rb, 1.33101e-06_rb, 1.55220e-06_rb, & & 1.81013e-06_rb, 2.11094e-06_rb, 2.46172e-06_rb, 2.87080e-06_rb, 3.34786e-06_rb, & & 3.90420e-06_rb, 4.55298e-06_rb, 5.30958e-06_rb, 6.19190e-06_rb/) kao_mn2o( 3, :,15) = (/ & & 3.86537e-07_rb, 4.50763e-07_rb, 5.25662e-07_rb, 6.13006e-07_rb, 7.14863e-07_rb, & & 8.33644e-07_rb, 9.72162e-07_rb, 1.13370e-06_rb, 1.32207e-06_rb, 1.54175e-06_rb, & & 1.79792e-06_rb, 2.09666e-06_rb, 2.44504e-06_rb, 2.85131e-06_rb, 3.32508e-06_rb, & & 3.87758e-06_rb, 4.52188e-06_rb, 5.27323e-06_rb, 6.14943e-06_rb/) kao_mn2o( 4, :,15) = (/ & & 3.81913e-07_rb, 4.45369e-07_rb, 5.19369e-07_rb, 6.05664e-07_rb, 7.06297e-07_rb, & & 8.23651e-07_rb, 9.60503e-07_rb, 1.12009e-06_rb, 1.30620e-06_rb, 1.52323e-06_rb, & & 1.77632e-06_rb, 2.07147e-06_rb, 2.41565e-06_rb, 2.81701e-06_rb, 3.28507e-06_rb, & & 3.83090e-06_rb, 4.46741e-06_rb, 5.20969e-06_rb, 6.07529e-06_rb/) kao_mn2o( 5, :,15) = (/ & & 3.77265e-07_rb, 4.39951e-07_rb, 5.13053e-07_rb, 5.98303e-07_rb, 6.97717e-07_rb, & & 8.13650e-07_rb, 9.48846e-07_rb, 1.10651e-06_rb, 1.29036e-06_rb, 1.50477e-06_rb, & & 1.75480e-06_rb, 2.04638e-06_rb, 2.38641e-06_rb, 2.78294e-06_rb, 3.24535e-06_rb, & & 3.78460e-06_rb, 4.41345e-06_rb, 5.14679e-06_rb, 6.00198e-06_rb/) kao_mn2o( 6, :,15) = (/ & & 3.77877e-07_rb, 4.40670e-07_rb, 5.13897e-07_rb, 5.99292e-07_rb, 6.98878e-07_rb, & & 8.15012e-07_rb, 9.50444e-07_rb, 1.10838e-06_rb, 1.29256e-06_rb, 1.50735e-06_rb, & & 1.75783e-06_rb, 2.04993e-06_rb, 2.39057e-06_rb, 2.78782e-06_rb, 3.25107e-06_rb, & & 3.79131e-06_rb, 4.42132e-06_rb, 5.15602e-06_rb, 6.01280e-06_rb/) kao_mn2o( 7, :,15) = (/ & & 3.80495e-07_rb, 4.43726e-07_rb, 5.17465e-07_rb, 6.03458e-07_rb, 7.03741e-07_rb, & & 8.20689e-07_rb, 9.57072e-07_rb, 1.11612e-06_rb, 1.30160e-06_rb, 1.51790e-06_rb, & & 1.77014e-06_rb, 2.06430e-06_rb, 2.40735e-06_rb, 2.80741e-06_rb, 3.27394e-06_rb, & & 3.81801e-06_rb, 4.45249e-06_rb, 5.19241e-06_rb, 6.05528e-06_rb/) kao_mn2o( 8, :,15) = (/ & & 3.87881e-07_rb, 4.52329e-07_rb, 5.27486e-07_rb, 6.15129e-07_rb, 7.17335e-07_rb, & & 8.36523e-07_rb, 9.75515e-07_rb, 1.13760e-06_rb, 1.32662e-06_rb, 1.54704e-06_rb, & & 1.80409e-06_rb, 2.10384e-06_rb, 2.45340e-06_rb, 2.86105e-06_rb, 3.33642e-06_rb, & & 3.89078e-06_rb, 4.53725e-06_rb, 5.29112e-06_rb, 6.17026e-06_rb/) kao_mn2o( 9, :,15) = (/ & & 3.77265e-07_rb, 4.39951e-07_rb, 5.13053e-07_rb, 5.98303e-07_rb, 6.97717e-07_rb, & & 8.13650e-07_rb, 9.48846e-07_rb, 1.10651e-06_rb, 1.29036e-06_rb, 1.50477e-06_rb, & & 1.75480e-06_rb, 2.04638e-06_rb, 2.38641e-06_rb, 2.78294e-06_rb, 3.24535e-06_rb, & & 3.78460e-06_rb, 4.41345e-06_rb, 5.14679e-06_rb, 6.00198e-06_rb/) kao_mn2o( 1, :,16) = (/ & & 8.84606e-02_rb, 9.05971e-02_rb, 9.27852e-02_rb, 9.50261e-02_rb, 9.73212e-02_rb, & & 9.96717e-02_rb, 1.02079e-01_rb, 1.04544e-01_rb, 1.07069e-01_rb, 1.09655e-01_rb, & & 1.12304e-01_rb, 1.15016e-01_rb, 1.17794e-01_rb, 1.20639e-01_rb, 1.23553e-01_rb, & & 1.26537e-01_rb, 1.29593e-01_rb, 1.32723e-01_rb, 1.35928e-01_rb/) kao_mn2o( 2, :,16) = (/ & & 8.13898e-07_rb, 9.49130e-07_rb, 1.10683e-06_rb, 1.29073e-06_rb, 1.50519e-06_rb, & & 1.75528e-06_rb, 2.04693e-06_rb, 2.38703e-06_rb, 2.78364e-06_rb, 3.24615e-06_rb, & & 3.78551e-06_rb, 4.41449e-06_rb, 5.14796e-06_rb, 6.00331e-06_rb, 7.00078e-06_rb, & & 8.16398e-06_rb, 9.52045e-06_rb, 1.11023e-05_rb, 1.29470e-05_rb/) kao_mn2o( 3, :,16) = (/ & & 8.32666e-07_rb, 9.71021e-07_rb, 1.13237e-06_rb, 1.32052e-06_rb, 1.53994e-06_rb, & & 1.79581e-06_rb, 2.09420e-06_rb, 2.44217e-06_rb, 2.84796e-06_rb, 3.32117e-06_rb, & & 3.87302e-06_rb, 4.51656e-06_rb, 5.26703e-06_rb, 6.14219e-06_rb, 7.16277e-06_rb, & & 8.35294e-06_rb, 9.74086e-06_rb, 1.13594e-05_rb, 1.32468e-05_rb/) kao_mn2o( 4, :,16) = (/ & & 8.70348e-07_rb, 1.01496e-06_rb, 1.18360e-06_rb, 1.38026e-06_rb, 1.60959e-06_rb, & & 1.87703e-06_rb, 2.18890e-06_rb, 2.55259e-06_rb, 2.97671e-06_rb, 3.47130e-06_rb, & & 4.04807e-06_rb, 4.72067e-06_rb, 5.50502e-06_rb, 6.41970e-06_rb, 7.48635e-06_rb, & & 8.73023e-06_rb, 1.01808e-05_rb, 1.18724e-05_rb, 1.38450e-05_rb/) kao_mn2o( 5, :,16) = (/ & & 9.07957e-07_rb, 1.05882e-06_rb, 1.23475e-06_rb, 1.43991e-06_rb, 1.67916e-06_rb, & & 1.95816e-06_rb, 2.28352e-06_rb, 2.66294e-06_rb, 3.10541e-06_rb, 3.62139e-06_rb, & & 4.22310e-06_rb, 4.92480e-06_rb, 5.74308e-06_rb, 6.69733e-06_rb, 7.81013e-06_rb, & & 9.10784e-06_rb, 1.06212e-05_rb, 1.23859e-05_rb, 1.44439e-05_rb/) kao_mn2o( 6, :,16) = (/ & & 8.59072e-04_rb, 9.19773e-04_rb, 9.84764e-04_rb, 1.05435e-03_rb, 1.12885e-03_rb, & & 1.20861e-03_rb, 1.29401e-03_rb, 1.38544e-03_rb, 1.48334e-03_rb, 1.58815e-03_rb, & & 1.70037e-03_rb, 1.82052e-03_rb, 1.94915e-03_rb, 2.08688e-03_rb, 2.23434e-03_rb, & & 2.39222e-03_rb, 2.56125e-03_rb, 2.74223e-03_rb, 2.93599e-03_rb/) kao_mn2o( 7, :,16) = (/ & & 9.17294e-07_rb, 1.06971e-06_rb, 1.24746e-06_rb, 1.45474e-06_rb, 1.69646e-06_rb, & & 1.97835e-06_rb, 2.30708e-06_rb, 2.69043e-06_rb, 3.13748e-06_rb, 3.65880e-06_rb, & & 4.26676e-06_rb, 4.97574e-06_rb, 5.80251e-06_rb, 6.76667e-06_rb, 7.89104e-06_rb, & & 9.20223e-06_rb, 1.07313e-05_rb, 1.25144e-05_rb, 1.45939e-05_rb/) kao_mn2o( 8, :,16) = (/ & & 9.17341e-07_rb, 1.06977e-06_rb, 1.24752e-06_rb, 1.45480e-06_rb, 1.69653e-06_rb, & & 1.97843e-06_rb, 2.30716e-06_rb, 2.69051e-06_rb, 3.13757e-06_rb, 3.65890e-06_rb, & & 4.26686e-06_rb, 4.97584e-06_rb, 5.80261e-06_rb, 6.76677e-06_rb, 7.89113e-06_rb, & & 9.20231e-06_rb, 1.07314e-05_rb, 1.25145e-05_rb, 1.45939e-05_rb/) kao_mn2o( 9, :,16) = (/ & & 9.07957e-07_rb, 1.05882e-06_rb, 1.23475e-06_rb, 1.43991e-06_rb, 1.67916e-06_rb, & & 1.95816e-06_rb, 2.28352e-06_rb, 2.66294e-06_rb, 3.10541e-06_rb, 3.62139e-06_rb, & & 4.22310e-06_rb, 4.92480e-06_rb, 5.74308e-06_rb, 6.69733e-06_rb, 7.81013e-06_rb, & & 9.10784e-06_rb, 1.06212e-05_rb, 1.23859e-05_rb, 1.44439e-05_rb/) ! The array KBO_Mxx contains the absorption coefficient for ! a minor species at the 16 chosen g-values for a reference pressure ! level above 100~ mb. The first index in the array, JS, runs ! from 1 to 10, and corresponds to different gas column amounts ratios, ! as expressed through the binary species parameter eta, defined as ! eta = gas1/(gas1 + (rat) * gas2), where rat is the ! ratio of the reference MLS column amount value of gas 1 to ! that of gas2. The second index refers to temperature ! in 7.2 degree increments. For instance, JT = 1 refers to a ! temperature of 188.0, JT = 2 refers to 195.2, etc. The third index ! runs over the g-channel (1 to 16). kbo_mn2o( 1, :, 1) = (/ & & 7.72009e-08_rb, 1.15883e-07_rb, 1.73947e-07_rb, 2.61104e-07_rb, 3.91932e-07_rb, & & 5.88311e-07_rb, 8.83088e-07_rb, 1.32556e-06_rb, 1.98975e-06_rb, 2.98672e-06_rb, & & 4.48324e-06_rb, 6.72960e-06_rb, 1.01015e-05_rb, 1.51629e-05_rb, 2.27604e-05_rb, & & 3.41646e-05_rb, 5.12831e-05_rb, 7.69787e-05_rb, 1.15549e-04_rb/) kbo_mn2o( 2, :, 1) = (/ & & 1.29932e-05_rb, 1.78207e-05_rb, 2.44419e-05_rb, 3.35232e-05_rb, 4.59786e-05_rb, & & 6.30617e-05_rb, 8.64920e-05_rb, 1.18628e-04_rb, 1.62703e-04_rb, 2.23155e-04_rb, & & 3.06067e-04_rb, 4.19784e-04_rb, 5.75753e-04_rb, 7.89671e-04_rb, 1.08307e-03_rb, & & 1.48548e-03_rb, 2.03740e-03_rb, 2.79439e-03_rb, 3.83262e-03_rb/) kbo_mn2o( 3, :, 1) = (/ & & 6.44518e-05_rb, 8.10996e-05_rb, 1.02047e-04_rb, 1.28406e-04_rb, 1.61573e-04_rb, & & 2.03307e-04_rb, 2.55821e-04_rb, 3.21899e-04_rb, 4.05045e-04_rb, 5.09667e-04_rb, & & 6.41313e-04_rb, 8.06964e-04_rb, 1.01540e-03_rb, 1.27768e-03_rb, 1.60770e-03_rb, & & 2.02296e-03_rb, 2.54549e-03_rb, 3.20298e-03_rb, 4.03031e-03_rb/) kbo_mn2o( 4, :, 1) = (/ & & 3.23454e-04_rb, 3.82112e-04_rb, 4.51408e-04_rb, 5.33270e-04_rb, 6.29978e-04_rb, & & 7.44223e-04_rb, 8.79187e-04_rb, 1.03863e-03_rb, 1.22698e-03_rb, 1.44949e-03_rb, & & 1.71235e-03_rb, 2.02289e-03_rb, 2.38974e-03_rb, 2.82311e-03_rb, 3.33508e-03_rb, & & 3.93989e-03_rb, 4.65439e-03_rb, 5.49845e-03_rb, 6.49558e-03_rb/) kbo_mn2o( 5, :, 1) = (/ & & 1.45978e-04_rb, 1.75646e-04_rb, 2.11344e-04_rb, 2.54296e-04_rb, 3.05978e-04_rb, & & 3.68163e-04_rb, 4.42986e-04_rb, 5.33017e-04_rb, 6.41344e-04_rb, 7.71687e-04_rb, & & 9.28522e-04_rb, 1.11723e-03_rb, 1.34429e-03_rb, 1.61750e-03_rb, 1.94623e-03_rb, & & 2.34177e-03_rb, 2.81770e-03_rb, 3.39035e-03_rb, 4.07939e-03_rb/) kbo_mn2o( 1, :, 2) = (/ & & 1.94527e-04_rb, 2.38609e-04_rb, 2.92680e-04_rb, 3.59005e-04_rb, 4.40360e-04_rb, & & 5.40150e-04_rb, 6.62554e-04_rb, 8.12697e-04_rb, 9.96864e-04_rb, 1.22276e-03_rb, & & 1.49986e-03_rb, 1.83974e-03_rb, 2.25665e-03_rb, 2.76803e-03_rb, 3.39530e-03_rb, & & 4.16472e-03_rb, 5.10849e-03_rb, 6.26613e-03_rb, 7.68611e-03_rb/) kbo_mn2o( 2, :, 2) = (/ & & 7.49615e-04_rb, 8.82716e-04_rb, 1.03945e-03_rb, 1.22401e-03_rb, 1.44135e-03_rb, & & 1.69727e-03_rb, 1.99863e-03_rb, 2.35351e-03_rb, 2.77139e-03_rb, 3.26347e-03_rb, & & 3.84293e-03_rb, 4.52528e-03_rb, 5.32878e-03_rb, 6.27495e-03_rb, 7.38911e-03_rb, & & 8.70111e-03_rb, 1.02461e-02_rb, 1.20653e-02_rb, 1.42076e-02_rb/) kbo_mn2o( 3, :, 2) = (/ & & 1.39162e-03_rb, 1.59859e-03_rb, 1.83634e-03_rb, 2.10946e-03_rb, 2.42319e-03_rb, & & 2.78358e-03_rb, 3.19758e-03_rb, 3.67314e-03_rb, 4.21944e-03_rb, 4.84698e-03_rb, & & 5.56786e-03_rb, 6.39595e-03_rb, 7.34720e-03_rb, 8.43992e-03_rb, 9.69516e-03_rb, & & 1.11371e-02_rb, 1.27935e-02_rb, 1.46962e-02_rb, 1.68819e-02_rb/) kbo_mn2o( 4, :, 2) = (/ & & 2.42354e-03_rb, 2.73623e-03_rb, 3.08926e-03_rb, 3.48783e-03_rb, 3.93783e-03_rb, & & 4.44589e-03_rb, 5.01950e-03_rb, 5.66712e-03_rb, 6.39829e-03_rb, 7.22379e-03_rb, & & 8.15581e-03_rb, 9.20807e-03_rb, 1.03961e-02_rb, 1.17374e-02_rb, 1.32517e-02_rb, & & 1.49615e-02_rb, 1.68918e-02_rb, 1.90712e-02_rb, 2.15318e-02_rb/) kbo_mn2o( 5, :, 2) = (/ & & 1.39908e-03_rb, 1.59133e-03_rb, 1.81000e-03_rb, 2.05872e-03_rb, 2.34161e-03_rb, & & 2.66338e-03_rb, 3.02937e-03_rb, 3.44564e-03_rb, 3.91912e-03_rb, 4.45766e-03_rb, & & 5.07021e-03_rb, 5.76693e-03_rb, 6.55938e-03_rb, 7.46073e-03_rb, 8.48594e-03_rb, & & 9.65202e-03_rb, 1.09783e-02_rb, 1.24869e-02_rb, 1.42028e-02_rb/) kbo_mn2o( 1, :, 3) = (/ & & 8.74797e-03_rb, 9.66828e-03_rb, 1.06854e-02_rb, 1.18095e-02_rb, 1.30519e-02_rb, & & 1.44250e-02_rb, 1.59426e-02_rb, 1.76198e-02_rb, 1.94735e-02_rb, 2.15221e-02_rb, & & 2.37863e-02_rb, 2.62887e-02_rb, 2.90544e-02_rb, 3.21110e-02_rb, 3.54891e-02_rb, & & 3.92227e-02_rb, 4.33491e-02_rb, 4.79095e-02_rb, 5.29497e-02_rb/) kbo_mn2o( 2, :, 3) = (/ & & 1.43974e-02_rb, 1.56118e-02_rb, 1.69286e-02_rb, 1.83564e-02_rb, 1.99047e-02_rb, & & 2.15836e-02_rb, 2.34041e-02_rb, 2.53781e-02_rb, 2.75187e-02_rb, 2.98397e-02_rb, & & 3.23566e-02_rb, 3.50857e-02_rb, 3.80451e-02_rb, 4.12540e-02_rb, 4.47336e-02_rb, & & 4.85067e-02_rb, 5.25980e-02_rb, 5.70344e-02_rb, 6.18450e-02_rb/) kbo_mn2o( 3, :, 3) = (/ & & 1.83051e-02_rb, 1.96851e-02_rb, 2.11692e-02_rb, 2.27651e-02_rb, 2.44813e-02_rb, & & 2.63270e-02_rb, 2.83117e-02_rb, 3.04461e-02_rb, 3.27414e-02_rb, 3.52097e-02_rb, & & 3.78642e-02_rb, 4.07187e-02_rb, 4.37884e-02_rb, 4.70896e-02_rb, 5.06396e-02_rb, & & 5.44573e-02_rb, 5.85628e-02_rb, 6.29777e-02_rb, 6.77256e-02_rb/) kbo_mn2o( 4, :, 3) = (/ & & 2.81258e-02_rb, 2.97806e-02_rb, 3.15328e-02_rb, 3.33880e-02_rb, 3.53524e-02_rb, & & 3.74324e-02_rb, 3.96348e-02_rb, 4.19667e-02_rb, 4.44358e-02_rb, 4.70502e-02_rb, & & 4.98185e-02_rb, 5.27496e-02_rb, 5.58531e-02_rb, 5.91393e-02_rb, 6.26187e-02_rb, & & 6.63030e-02_rb, 7.02039e-02_rb, 7.43344e-02_rb, 7.87079e-02_rb/) kbo_mn2o( 5, :, 3) = (/ & & 8.82958e-03_rb, 9.53842e-03_rb, 1.03042e-02_rb, 1.11314e-02_rb, 1.20250e-02_rb, & & 1.29904e-02_rb, 1.40333e-02_rb, 1.51599e-02_rb, 1.63769e-02_rb, 1.76917e-02_rb, & & 1.91120e-02_rb, 2.06463e-02_rb, 2.23038e-02_rb, 2.40944e-02_rb, 2.60287e-02_rb, & & 2.81183e-02_rb, 3.03757e-02_rb, 3.28142e-02_rb, 3.54486e-02_rb/) kbo_mn2o( 1, :, 4) = (/ & & 1.18673e-01_rb, 1.22983e-01_rb, 1.27449e-01_rb, 1.32077e-01_rb, 1.36874e-01_rb, & & 1.41845e-01_rb, 1.46996e-01_rb, 1.52334e-01_rb, 1.57866e-01_rb, 1.63599e-01_rb, & & 1.69541e-01_rb, 1.75698e-01_rb, 1.82078e-01_rb, 1.88691e-01_rb, 1.95543e-01_rb, & & 2.02645e-01_rb, 2.10004e-01_rb, 2.17631e-01_rb, 2.25534e-01_rb/) kbo_mn2o( 2, :, 4) = (/ & & 1.32161e-01_rb, 1.36550e-01_rb, 1.41084e-01_rb, 1.45769e-01_rb, 1.50610e-01_rb, & & 1.55611e-01_rb, 1.60779e-01_rb, 1.66118e-01_rb, 1.71634e-01_rb, 1.77334e-01_rb, & & 1.83223e-01_rb, 1.89307e-01_rb, 1.95594e-01_rb, 2.02089e-01_rb, 2.08800e-01_rb, & & 2.15734e-01_rb, 2.22898e-01_rb, 2.30300e-01_rb, 2.37947e-01_rb/) kbo_mn2o( 3, :, 4) = (/ & & 1.44384e-01_rb, 1.48820e-01_rb, 1.53392e-01_rb, 1.58104e-01_rb, 1.62962e-01_rb, & & 1.67968e-01_rb, 1.73128e-01_rb, 1.78447e-01_rb, 1.83929e-01_rb, 1.89580e-01_rb, & & 1.95404e-01_rb, 2.01407e-01_rb, 2.07594e-01_rb, 2.13972e-01_rb, 2.20546e-01_rb, & & 2.27321e-01_rb, 2.34305e-01_rb, 2.41503e-01_rb, 2.48922e-01_rb/) kbo_mn2o( 4, :, 4) = (/ & & 1.58026e-01_rb, 1.62626e-01_rb, 1.67360e-01_rb, 1.72232e-01_rb, 1.77245e-01_rb, & & 1.82405e-01_rb, 1.87714e-01_rb, 1.93179e-01_rb, 1.98802e-01_rb, 2.04589e-01_rb, & & 2.10544e-01_rb, 2.16673e-01_rb, 2.22980e-01_rb, 2.29471e-01_rb, 2.36151e-01_rb, & & 2.43025e-01_rb, 2.50100e-01_rb, 2.57380e-01_rb, 2.64872e-01_rb/) kbo_mn2o( 5, :, 4) = (/ & & 4.04885e-02_rb, 4.16064e-02_rb, 4.27551e-02_rb, 4.39355e-02_rb, 4.51485e-02_rb, & & 4.63950e-02_rb, 4.76759e-02_rb, 4.89921e-02_rb, 5.03448e-02_rb, 5.17347e-02_rb, & & 5.31630e-02_rb, 5.46308e-02_rb, 5.61391e-02_rb, 5.76890e-02_rb, 5.92817e-02_rb, & & 6.09184e-02_rb, 6.26003e-02_rb, 6.43286e-02_rb, 6.61047e-02_rb/) kbo_mn2o( 1, :, 5) = (/ & & 3.97757e-01_rb, 4.01082e-01_rb, 4.04434e-01_rb, 4.07814e-01_rb, 4.11223e-01_rb, & & 4.14659e-01_rb, 4.18125e-01_rb, 4.21620e-01_rb, 4.25144e-01_rb, 4.28697e-01_rb, & & 4.32280e-01_rb, 4.35893e-01_rb, 4.39536e-01_rb, 4.43209e-01_rb, 4.46913e-01_rb, & & 4.50649e-01_rb, 4.54415e-01_rb, 4.58213e-01_rb, 4.62043e-01_rb/) kbo_mn2o( 2, :, 5) = (/ & & 3.99425e-01_rb, 4.02035e-01_rb, 4.04662e-01_rb, 4.07306e-01_rb, 4.09968e-01_rb, & & 4.12647e-01_rb, 4.15343e-01_rb, 4.18057e-01_rb, 4.20789e-01_rb, 4.23539e-01_rb, & & 4.26307e-01_rb, 4.29092e-01_rb, 4.31896e-01_rb, 4.34719e-01_rb, 4.37559e-01_rb, & & 4.40419e-01_rb, 4.43296e-01_rb, 4.46193e-01_rb, 4.49109e-01_rb/) kbo_mn2o( 3, :, 5) = (/ & & 4.00527e-01_rb, 4.02848e-01_rb, 4.05182e-01_rb, 4.07530e-01_rb, 4.09892e-01_rb, & & 4.12267e-01_rb, 4.14656e-01_rb, 4.17058e-01_rb, 4.19475e-01_rb, 4.21906e-01_rb, & & 4.24351e-01_rb, 4.26809e-01_rb, 4.29283e-01_rb, 4.31770e-01_rb, 4.34272e-01_rb, & & 4.36788e-01_rb, 4.39319e-01_rb, 4.41865e-01_rb, 4.44426e-01_rb/) kbo_mn2o( 4, :, 5) = (/ & & 4.11455e-01_rb, 4.13077e-01_rb, 4.14705e-01_rb, 4.16340e-01_rb, 4.17981e-01_rb, & & 4.19629e-01_rb, 4.21283e-01_rb, 4.22944e-01_rb, 4.24611e-01_rb, 4.26285e-01_rb, & & 4.27966e-01_rb, 4.29653e-01_rb, 4.31346e-01_rb, 4.33047e-01_rb, 4.34754e-01_rb, & & 4.36468e-01_rb, 4.38188e-01_rb, 4.39916e-01_rb, 4.41650e-01_rb/) kbo_mn2o( 5, :, 5) = (/ & & 8.65576e-02_rb, 8.83622e-02_rb, 9.02044e-02_rb, 9.20850e-02_rb, 9.40049e-02_rb, & & 9.59647e-02_rb, 9.79655e-02_rb, 1.00008e-01_rb, 1.02093e-01_rb, 1.04221e-01_rb, & & 1.06394e-01_rb, 1.08612e-01_rb, 1.10877e-01_rb, 1.13188e-01_rb, 1.15548e-01_rb, & & 1.17957e-01_rb, 1.20417e-01_rb, 1.22927e-01_rb, 1.25490e-01_rb/) kbo_mn2o( 1, :, 6) = (/ & & 6.98675e-01_rb, 7.00999e-01_rb, 7.03331e-01_rb, 7.05671e-01_rb, 7.08019e-01_rb, & & 7.10375e-01_rb, 7.12738e-01_rb, 7.15110e-01_rb, 7.17489e-01_rb, 7.19876e-01_rb, & & 7.22271e-01_rb, 7.24674e-01_rb, 7.27085e-01_rb, 7.29504e-01_rb, 7.31931e-01_rb, & & 7.34366e-01_rb, 7.36809e-01_rb, 7.39261e-01_rb, 7.41720e-01_rb/) kbo_mn2o( 2, :, 6) = (/ & & 6.98858e-01_rb, 7.01424e-01_rb, 7.03999e-01_rb, 7.06583e-01_rb, 7.09177e-01_rb, & & 7.11780e-01_rb, 7.14393e-01_rb, 7.17016e-01_rb, 7.19648e-01_rb, 7.22289e-01_rb, & & 7.24941e-01_rb, 7.27602e-01_rb, 7.30273e-01_rb, 7.32954e-01_rb, 7.35644e-01_rb, & & 7.38345e-01_rb, 7.41055e-01_rb, 7.43775e-01_rb, 7.46506e-01_rb/) kbo_mn2o( 3, :, 6) = (/ & & 7.08151e-01_rb, 7.10727e-01_rb, 7.13311e-01_rb, 7.15905e-01_rb, 7.18508e-01_rb, & & 7.21121e-01_rb, 7.23743e-01_rb, 7.26375e-01_rb, 7.29017e-01_rb, 7.31668e-01_rb, & & 7.34329e-01_rb, 7.36999e-01_rb, 7.39679e-01_rb, 7.42369e-01_rb, 7.45068e-01_rb, & & 7.47778e-01_rb, 7.50497e-01_rb, 7.53226e-01_rb, 7.55965e-01_rb/) kbo_mn2o( 4, :, 6) = (/ & & 7.22269e-01_rb, 7.24981e-01_rb, 7.27704e-01_rb, 7.30437e-01_rb, 7.33180e-01_rb, & & 7.35933e-01_rb, 7.38697e-01_rb, 7.41471e-01_rb, 7.44256e-01_rb, 7.47051e-01_rb, & & 7.49856e-01_rb, 7.52672e-01_rb, 7.55499e-01_rb, 7.58336e-01_rb, 7.61184e-01_rb, & & 7.64043e-01_rb, 7.66912e-01_rb, 7.69792e-01_rb, 7.72683e-01_rb/) kbo_mn2o( 5, :, 6) = (/ & & 1.75877e-01_rb, 1.78578e-01_rb, 1.81321e-01_rb, 1.84107e-01_rb, 1.86935e-01_rb, & & 1.89806e-01_rb, 1.92722e-01_rb, 1.95682e-01_rb, 1.98688e-01_rb, 2.01740e-01_rb, & & 2.04839e-01_rb, 2.07986e-01_rb, 2.11181e-01_rb, 2.14425e-01_rb, 2.17719e-01_rb, & & 2.21063e-01_rb, 2.24459e-01_rb, 2.27907e-01_rb, 2.31408e-01_rb/) kbo_mn2o( 1, :, 7) = (/ & & 1.82985e+00_rb, 1.83684e+00_rb, 1.84386e+00_rb, 1.85091e+00_rb, 1.85798e+00_rb, & & 1.86508e+00_rb, 1.87221e+00_rb, 1.87937e+00_rb, 1.88655e+00_rb, 1.89376e+00_rb, & & 1.90100e+00_rb, 1.90827e+00_rb, 1.91556e+00_rb, 1.92288e+00_rb, 1.93023e+00_rb, & & 1.93761e+00_rb, 1.94502e+00_rb, 1.95245e+00_rb, 1.95991e+00_rb/) kbo_mn2o( 2, :, 7) = (/ & & 1.83229e+00_rb, 1.83943e+00_rb, 1.84659e+00_rb, 1.85379e+00_rb, 1.86100e+00_rb, & & 1.86825e+00_rb, 1.87553e+00_rb, 1.88283e+00_rb, 1.89016e+00_rb, 1.89753e+00_rb, & & 1.90492e+00_rb, 1.91233e+00_rb, 1.91978e+00_rb, 1.92726e+00_rb, 1.93476e+00_rb, & & 1.94230e+00_rb, 1.94986e+00_rb, 1.95746e+00_rb, 1.96508e+00_rb/) kbo_mn2o( 3, :, 7) = (/ & & 1.84946e+00_rb, 1.85707e+00_rb, 1.86471e+00_rb, 1.87238e+00_rb, 1.88008e+00_rb, & & 1.88781e+00_rb, 1.89558e+00_rb, 1.90338e+00_rb, 1.91120e+00_rb, 1.91907e+00_rb, & & 1.92696e+00_rb, 1.93489e+00_rb, 1.94285e+00_rb, 1.95084e+00_rb, 1.95886e+00_rb, & & 1.96692e+00_rb, 1.97501e+00_rb, 1.98313e+00_rb, 1.99129e+00_rb/) kbo_mn2o( 4, :, 7) = (/ & & 1.88354e+00_rb, 1.89167e+00_rb, 1.89983e+00_rb, 1.90803e+00_rb, 1.91626e+00_rb, & & 1.92453e+00_rb, 1.93283e+00_rb, 1.94117e+00_rb, 1.94955e+00_rb, 1.95796e+00_rb, & & 1.96641e+00_rb, 1.97489e+00_rb, 1.98341e+00_rb, 1.99197e+00_rb, 2.00056e+00_rb, & & 2.00920e+00_rb, 2.01787e+00_rb, 2.02657e+00_rb, 2.03532e+00_rb/) kbo_mn2o( 5, :, 7) = (/ & & 3.35154e-01_rb, 3.43258e-01_rb, 3.51557e-01_rb, 3.60058e-01_rb, 3.68764e-01_rb, & & 3.77680e-01_rb, 3.86812e-01_rb, 3.96164e-01_rb, 4.05743e-01_rb, 4.15553e-01_rb, & & 4.25601e-01_rb, 4.35892e-01_rb, 4.46431e-01_rb, 4.57225e-01_rb, 4.68280e-01_rb, & & 4.79603e-01_rb, 4.91199e-01_rb, 5.03075e-01_rb, 5.15239e-01_rb/) kbo_mn2o( 1, :, 8) = (/ & & 4.46843e+00_rb, 4.49793e+00_rb, 4.52763e+00_rb, 4.55752e+00_rb, 4.58761e+00_rb, & & 4.61790e+00_rb, 4.64839e+00_rb, 4.67908e+00_rb, 4.70997e+00_rb, 4.74106e+00_rb, & & 4.77236e+00_rb, 4.80387e+00_rb, 4.83559e+00_rb, 4.86751e+00_rb, 4.89965e+00_rb, & & 4.93200e+00_rb, 4.96456e+00_rb, 4.99733e+00_rb, 5.03033e+00_rb/) kbo_mn2o( 2, :, 8) = (/ & & 4.44347e+00_rb, 4.47278e+00_rb, 4.50228e+00_rb, 4.53198e+00_rb, 4.56188e+00_rb, & & 4.59197e+00_rb, 4.62227e+00_rb, 4.65276e+00_rb, 4.68345e+00_rb, 4.71435e+00_rb, & & 4.74544e+00_rb, 4.77675e+00_rb, 4.80826e+00_rb, 4.83998e+00_rb, 4.87191e+00_rb, & & 4.90405e+00_rb, 4.93640e+00_rb, 4.96896e+00_rb, 5.00174e+00_rb/) kbo_mn2o( 3, :, 8) = (/ & & 4.43138e+00_rb, 4.46017e+00_rb, 4.48916e+00_rb, 4.51834e+00_rb, 4.54770e+00_rb, & & 4.57725e+00_rb, 4.60700e+00_rb, 4.63694e+00_rb, 4.66708e+00_rb, 4.69741e+00_rb, & & 4.72793e+00_rb, 4.75866e+00_rb, 4.78958e+00_rb, 4.82071e+00_rb, 4.85204e+00_rb, & & 4.88357e+00_rb, 4.91531e+00_rb, 4.94725e+00_rb, 4.97941e+00_rb/) kbo_mn2o( 4, :, 8) = (/ & & 4.47437e+00_rb, 4.50396e+00_rb, 4.53375e+00_rb, 4.56374e+00_rb, 4.59392e+00_rb, & & 4.62431e+00_rb, 4.65490e+00_rb, 4.68569e+00_rb, 4.71668e+00_rb, 4.74788e+00_rb, & & 4.77928e+00_rb, 4.81089e+00_rb, 4.84271e+00_rb, 4.87474e+00_rb, 4.90698e+00_rb, & & 4.93944e+00_rb, 4.97211e+00_rb, 5.00500e+00_rb, 5.03810e+00_rb/) kbo_mn2o( 5, :, 8) = (/ & & 8.82838e-01_rb, 8.92257e-01_rb, 9.01777e-01_rb, 9.11398e-01_rb, 9.21122e-01_rb, & & 9.30950e-01_rb, 9.40883e-01_rb, 9.50921e-01_rb, 9.61067e-01_rb, 9.71321e-01_rb, & & 9.81685e-01_rb, 9.92159e-01_rb, 1.00274e+00_rb, 1.01344e+00_rb, 1.02426e+00_rb, & & 1.03518e+00_rb, 1.04623e+00_rb, 1.05739e+00_rb, 1.06867e+00_rb/) kbo_mn2o( 1, :, 9) = (/ & & 7.92826e+00_rb, 7.83168e+00_rb, 7.73628e+00_rb, 7.64204e+00_rb, 7.54895e+00_rb, & & 7.45699e+00_rb, 7.36616e+00_rb, 7.27643e+00_rb, 7.18779e+00_rb, 7.10023e+00_rb, & & 7.01374e+00_rb, 6.92831e+00_rb, 6.84391e+00_rb, 6.76054e+00_rb, 6.67819e+00_rb, & & 6.59684e+00_rb, 6.51648e+00_rb, 6.43710e+00_rb, 6.35869e+00_rb/) kbo_mn2o( 2, :, 9) = (/ & & 7.89244e+00_rb, 7.79570e+00_rb, 7.70014e+00_rb, 7.60576e+00_rb, 7.51253e+00_rb, & & 7.42045e+00_rb, 7.32949e+00_rb, 7.23965e+00_rb, 7.15091e+00_rb, 7.06325e+00_rb, & & 6.97668e+00_rb, 6.89116e+00_rb, 6.80669e+00_rb, 6.72326e+00_rb, 6.64085e+00_rb, & & 6.55945e+00_rb, 6.47904e+00_rb, 6.39963e+00_rb, 6.32118e+00_rb/) kbo_mn2o( 3, :, 9) = (/ & & 7.79799e+00_rb, 7.70076e+00_rb, 7.60474e+00_rb, 7.50991e+00_rb, 7.41627e+00_rb, & & 7.32379e+00_rb, 7.23247e+00_rb, 7.14229e+00_rb, 7.05323e+00_rb, 6.96528e+00_rb, & & 6.87843e+00_rb, 6.79266e+00_rb, 6.70797e+00_rb, 6.62432e+00_rb, 6.54172e+00_rb, & & 6.46015e+00_rb, 6.37960e+00_rb, 6.30005e+00_rb, 6.22150e+00_rb/) kbo_mn2o( 4, :, 9) = (/ & & 7.53750e+00_rb, 7.43715e+00_rb, 7.33814e+00_rb, 7.24045e+00_rb, 7.14406e+00_rb, & & 7.04895e+00_rb, 6.95510e+00_rb, 6.86251e+00_rb, 6.77115e+00_rb, 6.68101e+00_rb, & & 6.59206e+00_rb, 6.50430e+00_rb, 6.41771e+00_rb, 6.33227e+00_rb, 6.24797e+00_rb, & & 6.16479e+00_rb, 6.08272e+00_rb, 6.00174e+00_rb, 5.92184e+00_rb/) kbo_mn2o( 5, :, 9) = (/ & & 5.06319e+00_rb, 5.08595e+00_rb, 5.10881e+00_rb, 5.13177e+00_rb, 5.15483e+00_rb, & & 5.17800e+00_rb, 5.20127e+00_rb, 5.22464e+00_rb, 5.24813e+00_rb, 5.27171e+00_rb, & & 5.29540e+00_rb, 5.31920e+00_rb, 5.34311e+00_rb, 5.36712e+00_rb, 5.39124e+00_rb, & & 5.41547e+00_rb, 5.43981e+00_rb, 5.46426e+00_rb, 5.48882e+00_rb/) kbo_mn2o( 1, :,10) = (/ & & 1.05265e+00_rb, 1.03986e+00_rb, 1.02723e+00_rb, 1.01475e+00_rb, 1.00243e+00_rb, & & 9.90250e-01_rb, 9.78220e-01_rb, 9.66338e-01_rb, 9.54599e-01_rb, 9.43003e-01_rb, & & 9.31548e-01_rb, 9.20232e-01_rb, 9.09054e-01_rb, 8.98011e-01_rb, 8.87102e-01_rb, & & 8.76326e-01_rb, 8.65681e-01_rb, 8.55165e-01_rb, 8.44777e-01_rb/) kbo_mn2o( 2, :,10) = (/ & & 1.05246e+00_rb, 1.03973e+00_rb, 1.02714e+00_rb, 1.01471e+00_rb, 1.00243e+00_rb, & & 9.90303e-01_rb, 9.78319e-01_rb, 9.66480e-01_rb, 9.54784e-01_rb, 9.43230e-01_rb, & & 9.31815e-01_rb, 9.20539e-01_rb, 9.09399e-01_rb, 8.98394e-01_rb, 8.87522e-01_rb, & & 8.76782e-01_rb, 8.66171e-01_rb, 8.55690e-01_rb, 8.45335e-01_rb/) kbo_mn2o( 3, :,10) = (/ & & 1.05236e+00_rb, 1.03963e+00_rb, 1.02704e+00_rb, 1.01461e+00_rb, 1.00233e+00_rb, & & 9.90203e-01_rb, 9.78219e-01_rb, 9.66380e-01_rb, 9.54684e-01_rb, 9.43130e-01_rb, & & 9.31715e-01_rb, 9.20439e-01_rb, 9.09300e-01_rb, 8.98295e-01_rb, 8.87423e-01_rb, & & 8.76683e-01_rb, 8.66073e-01_rb, 8.55591e-01_rb, 8.45236e-01_rb/) kbo_mn2o( 4, :,10) = (/ & & 9.30836e-01_rb, 9.21099e-01_rb, 9.11464e-01_rb, 9.01930e-01_rb, 8.92495e-01_rb, & & 8.83159e-01_rb, 8.73921e-01_rb, 8.64779e-01_rb, 8.55733e-01_rb, 8.46781e-01_rb, & & 8.37923e-01_rb, 8.29158e-01_rb, 8.20485e-01_rb, 8.11902e-01_rb, 8.03409e-01_rb, & & 7.95005e-01_rb, 7.86689e-01_rb, 7.78460e-01_rb, 7.70316e-01_rb/) kbo_mn2o( 5, :,10) = (/ & & 1.65786e+01_rb, 1.66541e+01_rb, 1.67299e+01_rb, 1.68062e+01_rb, 1.68827e+01_rb, & & 1.69596e+01_rb, 1.70369e+01_rb, 1.71145e+01_rb, 1.71925e+01_rb, 1.72708e+01_rb, & & 1.73495e+01_rb, 1.74285e+01_rb, 1.75079e+01_rb, 1.75877e+01_rb, 1.76678e+01_rb, & & 1.77483e+01_rb, 1.78291e+01_rb, 1.79103e+01_rb, 1.79919e+01_rb/) kbo_mn2o( 1, :,11) = (/ & & 1.74239e-01_rb, 1.77873e-01_rb, 1.81583e-01_rb, 1.85370e-01_rb, 1.89236e-01_rb, & & 1.93182e-01_rb, 1.97211e-01_rb, 2.01324e-01_rb, 2.05523e-01_rb, 2.09809e-01_rb, & & 2.14185e-01_rb, 2.18652e-01_rb, 2.23212e-01_rb, 2.27867e-01_rb, 2.32620e-01_rb, & & 2.37471e-01_rb, 2.42424e-01_rb, 2.47479e-01_rb, 2.52641e-01_rb/) kbo_mn2o( 2, :,11) = (/ & & 1.74114e-01_rb, 1.77756e-01_rb, 1.81475e-01_rb, 1.85271e-01_rb, 1.89147e-01_rb, & & 1.93104e-01_rb, 1.97144e-01_rb, 2.01268e-01_rb, 2.05479e-01_rb, 2.09778e-01_rb, & & 2.14166e-01_rb, 2.18647e-01_rb, 2.23221e-01_rb, 2.27890e-01_rb, 2.32658e-01_rb, & & 2.37525e-01_rb, 2.42494e-01_rb, 2.47567e-01_rb, 2.52746e-01_rb/) kbo_mn2o( 3, :,11) = (/ & & 1.74142e-01_rb, 1.77780e-01_rb, 1.81494e-01_rb, 1.85286e-01_rb, 1.89157e-01_rb, & & 1.93108e-01_rb, 1.97143e-01_rb, 2.01261e-01_rb, 2.05466e-01_rb, 2.09759e-01_rb, & & 2.14141e-01_rb, 2.18615e-01_rb, 2.23182e-01_rb, 2.27845e-01_rb, 2.32605e-01_rb, & & 2.37464e-01_rb, 2.42425e-01_rb, 2.47490e-01_rb, 2.52661e-01_rb/) kbo_mn2o( 4, :,11) = (/ & & 1.74074e-01_rb, 1.77716e-01_rb, 1.81435e-01_rb, 1.85231e-01_rb, 1.89107e-01_rb, & & 1.93064e-01_rb, 1.97104e-01_rb, 2.01229e-01_rb, 2.05439e-01_rb, 2.09738e-01_rb, & & 2.14127e-01_rb, 2.18607e-01_rb, 2.23181e-01_rb, 2.27852e-01_rb, 2.32619e-01_rb, & & 2.37487e-01_rb, 2.42456e-01_rb, 2.47529e-01_rb, 2.52709e-01_rb/) kbo_mn2o( 5, :,11) = (/ & & 2.31905e+01_rb, 2.33011e+01_rb, 2.34123e+01_rb, 2.35240e+01_rb, 2.36362e+01_rb, & & 2.37489e+01_rb, 2.38622e+01_rb, 2.39760e+01_rb, 2.40904e+01_rb, 2.42053e+01_rb, & & 2.43208e+01_rb, 2.44368e+01_rb, 2.45533e+01_rb, 2.46705e+01_rb, 2.47881e+01_rb, & & 2.49064e+01_rb, 2.50252e+01_rb, 2.51446e+01_rb, 2.52645e+01_rb/) kbo_mn2o( 1, :,12) = (/ & & 1.60269e-01_rb, 1.62873e-01_rb, 1.65519e-01_rb, 1.68208e-01_rb, 1.70940e-01_rb, & & 1.73717e-01_rb, 1.76540e-01_rb, 1.79408e-01_rb, 1.82322e-01_rb, 1.85284e-01_rb, & & 1.88295e-01_rb, 1.91354e-01_rb, 1.94462e-01_rb, 1.97622e-01_rb, 2.00832e-01_rb, & & 2.04095e-01_rb, 2.07411e-01_rb, 2.10780e-01_rb, 2.14205e-01_rb/) kbo_mn2o( 2, :,12) = (/ & & 1.60497e-01_rb, 1.63096e-01_rb, 1.65738e-01_rb, 1.68422e-01_rb, 1.71150e-01_rb, & & 1.73922e-01_rb, 1.76738e-01_rb, 1.79601e-01_rb, 1.82510e-01_rb, 1.85466e-01_rb, & & 1.88469e-01_rb, 1.91522e-01_rb, 1.94624e-01_rb, 1.97776e-01_rb, 2.00979e-01_rb, & & 2.04234e-01_rb, 2.07542e-01_rb, 2.10903e-01_rb, 2.14319e-01_rb/) kbo_mn2o( 3, :,12) = (/ & & 1.60407e-01_rb, 1.63006e-01_rb, 1.65648e-01_rb, 1.68332e-01_rb, 1.71060e-01_rb, & & 1.73832e-01_rb, 1.76649e-01_rb, 1.79511e-01_rb, 1.82420e-01_rb, 1.85376e-01_rb, & & 1.88380e-01_rb, 1.91433e-01_rb, 1.94535e-01_rb, 1.97687e-01_rb, 2.00891e-01_rb, & & 2.04146e-01_rb, 2.07454e-01_rb, 2.10816e-01_rb, 2.14232e-01_rb/) kbo_mn2o( 4, :,12) = (/ & & 1.60475e-01_rb, 1.63070e-01_rb, 1.65706e-01_rb, 1.68386e-01_rb, 1.71109e-01_rb, & & 1.73876e-01_rb, 1.76687e-01_rb, 1.79544e-01_rb, 1.82448e-01_rb, 1.85398e-01_rb, & & 1.88396e-01_rb, 1.91442e-01_rb, 1.94538e-01_rb, 1.97684e-01_rb, 2.00881e-01_rb, & & 2.04129e-01_rb, 2.07430e-01_rb, 2.10784e-01_rb, 2.14192e-01_rb/) kbo_mn2o( 5, :,12) = (/ & & 3.25743e+01_rb, 3.27992e+01_rb, 3.30256e+01_rb, 3.32536e+01_rb, 3.34832e+01_rb, & & 3.37143e+01_rb, 3.39471e+01_rb, 3.41815e+01_rb, 3.44174e+01_rb, 3.46550e+01_rb, & & 3.48943e+01_rb, 3.51352e+01_rb, 3.53778e+01_rb, 3.56220e+01_rb, 3.58679e+01_rb, & & 3.61156e+01_rb, 3.63649e+01_rb, 3.66159e+01_rb, 3.68687e+01_rb/) kbo_mn2o( 1, :,13) = (/ & & 2.01846e-01_rb, 2.03110e-01_rb, 2.04381e-01_rb, 2.05660e-01_rb, 2.06947e-01_rb, & & 2.08242e-01_rb, 2.09546e-01_rb, 2.10857e-01_rb, 2.12177e-01_rb, 2.13505e-01_rb, & & 2.14841e-01_rb, 2.16186e-01_rb, 2.17539e-01_rb, 2.18900e-01_rb, 2.20270e-01_rb, & & 2.21649e-01_rb, 2.23036e-01_rb, 2.24432e-01_rb, 2.25837e-01_rb/) kbo_mn2o( 2, :,13) = (/ & & 2.01756e-01_rb, 2.03020e-01_rb, 2.04291e-01_rb, 2.05570e-01_rb, 2.06857e-01_rb, & & 2.08152e-01_rb, 2.09456e-01_rb, 2.10767e-01_rb, 2.12087e-01_rb, 2.13415e-01_rb, & & 2.14751e-01_rb, 2.16096e-01_rb, 2.17449e-01_rb, 2.18810e-01_rb, 2.20181e-01_rb, & & 2.21559e-01_rb, 2.22946e-01_rb, 2.24342e-01_rb, 2.25747e-01_rb/) kbo_mn2o( 3, :,13) = (/ & & 2.01836e-01_rb, 2.03100e-01_rb, 2.04371e-01_rb, 2.05650e-01_rb, 2.06937e-01_rb, & & 2.08232e-01_rb, 2.09536e-01_rb, 2.10847e-01_rb, 2.12167e-01_rb, 2.13495e-01_rb, & & 2.14831e-01_rb, 2.16176e-01_rb, 2.17529e-01_rb, 2.18890e-01_rb, 2.20260e-01_rb, & & 2.21639e-01_rb, 2.23026e-01_rb, 2.24422e-01_rb, 2.25827e-01_rb/) kbo_mn2o( 4, :,13) = (/ & & 2.01845e-01_rb, 2.03103e-01_rb, 2.04370e-01_rb, 2.05644e-01_rb, 2.06926e-01_rb, & & 2.08217e-01_rb, 2.09515e-01_rb, 2.10822e-01_rb, 2.12136e-01_rb, 2.13459e-01_rb, & & 2.14790e-01_rb, 2.16129e-01_rb, 2.17477e-01_rb, 2.18833e-01_rb, 2.20198e-01_rb, & & 2.21571e-01_rb, 2.22952e-01_rb, 2.24343e-01_rb, 2.25741e-01_rb/) kbo_mn2o( 5, :,13) = (/ & & 5.34154e+01_rb, 5.31954e+01_rb, 5.29763e+01_rb, 5.27582e+01_rb, 5.25409e+01_rb, & & 5.23245e+01_rb, 5.21090e+01_rb, 5.18943e+01_rb, 5.16806e+01_rb, 5.14677e+01_rb, & & 5.12558e+01_rb, 5.10446e+01_rb, 5.08344e+01_rb, 5.06250e+01_rb, 5.04165e+01_rb, & & 5.02089e+01_rb, 5.00021e+01_rb, 4.97961e+01_rb, 4.95910e+01_rb/) kbo_mn2o( 1, :,14) = (/ & & 2.87818e-02_rb, 3.17868e-02_rb, 3.51056e-02_rb, 3.87708e-02_rb, 4.28187e-02_rb, & & 4.72893e-02_rb, 5.22266e-02_rb, 5.76794e-02_rb, 6.37015e-02_rb, 7.03523e-02_rb, & & 7.76976e-02_rb, 8.58097e-02_rb, 9.47688e-02_rb, 1.04663e-01_rb, 1.15591e-01_rb, & & 1.27659e-01_rb, 1.40988e-01_rb, 1.55708e-01_rb, 1.71965e-01_rb/) kbo_mn2o( 2, :,14) = (/ & & 2.88500e-02_rb, 3.18494e-02_rb, 3.51606e-02_rb, 3.88161e-02_rb, 4.28517e-02_rb, & & 4.73068e-02_rb, 5.22251e-02_rb, 5.76547e-02_rb, 6.36488e-02_rb, 7.02661e-02_rb, & & 7.75714e-02_rb, 8.56362e-02_rb, 9.45395e-02_rb, 1.04368e-01_rb, 1.15219e-01_rb, & & 1.27198e-01_rb, 1.40422e-01_rb, 1.55021e-01_rb, 1.71138e-01_rb/) kbo_mn2o( 3, :,14) = (/ & & 2.88036e-02_rb, 3.18109e-02_rb, 3.51322e-02_rb, 3.88002e-02_rb, 4.28512e-02_rb, & & 4.73252e-02_rb, 5.22663e-02_rb, 5.77232e-02_rb, 6.37499e-02_rb, 7.04058e-02_rb, & & 7.77567e-02_rb, 8.58751e-02_rb, 9.48410e-02_rb, 1.04743e-01_rb, 1.15679e-01_rb, & & 1.27757e-01_rb, 1.41095e-01_rb, 1.55827e-01_rb, 1.72096e-01_rb/) kbo_mn2o( 4, :,14) = (/ & & 2.87750e-02_rb, 3.17783e-02_rb, 3.50951e-02_rb, 3.87580e-02_rb, 4.28033e-02_rb, & & 4.72708e-02_rb, 5.22046e-02_rb, 5.76533e-02_rb, 6.36707e-02_rb, 7.03162e-02_rb, & & 7.76553e-02_rb, 8.57604e-02_rb, 9.47114e-02_rb, 1.04597e-01_rb, 1.15514e-01_rb, & & 1.27570e-01_rb, 1.40885e-01_rb, 1.55589e-01_rb, 1.71829e-01_rb/) kbo_mn2o( 5, :,14) = (/ & & 1.11848e+02_rb, 1.09489e+02_rb, 1.07179e+02_rb, 1.04918e+02_rb, 1.02705e+02_rb, & & 1.00538e+02_rb, 9.84175e+01_rb, 9.63414e+01_rb, 9.43091e+01_rb, 9.23196e+01_rb, & & 9.03722e+01_rb, 8.84658e+01_rb, 8.65996e+01_rb, 8.47728e+01_rb, 8.29845e+01_rb, & & 8.12339e+01_rb, 7.95203e+01_rb, 7.78428e+01_rb, 7.62007e+01_rb/) kbo_mn2o( 1, :,15) = (/ & & 1.52234e-02_rb, 1.69256e-02_rb, 1.88181e-02_rb, 2.09222e-02_rb, 2.32617e-02_rb, & & 2.58626e-02_rb, 2.87545e-02_rb, 3.19696e-02_rb, 3.55443e-02_rb, 3.95187e-02_rb, & & 4.39374e-02_rb, 4.88503e-02_rb, 5.43124e-02_rb, 6.03854e-02_rb, 6.71373e-02_rb, & & 7.46443e-02_rb, 8.29906e-02_rb, 9.22701e-02_rb, 1.02587e-01_rb/) kbo_mn2o( 2, :,15) = (/ & & 1.52234e-02_rb, 1.69256e-02_rb, 1.88181e-02_rb, 2.09222e-02_rb, 2.32617e-02_rb, & & 2.58626e-02_rb, 2.87545e-02_rb, 3.19696e-02_rb, 3.55443e-02_rb, 3.95187e-02_rb, & & 4.39374e-02_rb, 4.88503e-02_rb, 5.43124e-02_rb, 6.03854e-02_rb, 6.71373e-02_rb, & & 7.46443e-02_rb, 8.29906e-02_rb, 9.22701e-02_rb, 1.02587e-01_rb/) kbo_mn2o( 3, :,15) = (/ & & 1.52076e-02_rb, 1.69049e-02_rb, 1.87916e-02_rb, 2.08890e-02_rb, 2.32203e-02_rb, & & 2.58119e-02_rb, 2.86928e-02_rb, 3.18951e-02_rb, 3.54549e-02_rb, 3.94120e-02_rb, & & 4.38107e-02_rb, 4.87003e-02_rb, 5.41357e-02_rb, 6.01777e-02_rb, 6.68940e-02_rb, & & 7.43600e-02_rb, 8.26593e-02_rb, 9.18847e-02_rb, 1.02140e-01_rb/) kbo_mn2o( 4, :,15) = (/ & & 1.52422e-02_rb, 1.69488e-02_rb, 1.88464e-02_rb, 2.09565e-02_rb, 2.33028e-02_rb, & & 2.59118e-02_rb, 2.88129e-02_rb, 3.20389e-02_rb, 3.56260e-02_rb, 3.96148e-02_rb, & & 4.40501e-02_rb, 4.89821e-02_rb, 5.44662e-02_rb, 6.05643e-02_rb, 6.73452e-02_rb, & & 7.48853e-02_rb, 8.32696e-02_rb, 9.25927e-02_rb, 1.02959e-01_rb/) kbo_mn2o( 5, :,15) = (/ & & 6.94782e+01_rb, 6.73469e+01_rb, 6.52810e+01_rb, 6.32785e+01_rb, 6.13373e+01_rb, & & 5.94558e+01_rb, 5.76319e+01_rb, 5.58640e+01_rb, 5.41503e+01_rb, 5.24892e+01_rb, & & 5.08791e+01_rb, 4.93183e+01_rb, 4.78055e+01_rb, 4.63390e+01_rb, 4.49175e+01_rb, & & 4.35396e+01_rb, 4.22040e+01_rb, 4.09094e+01_rb, 3.96544e+01_rb/) kbo_mn2o( 1, :,16) = (/ & & 1.08257e-02_rb, 1.15188e-02_rb, 1.22563e-02_rb, 1.30410e-02_rb, 1.38759e-02_rb, & & 1.47643e-02_rb, 1.57096e-02_rb, 1.67154e-02_rb, 1.77857e-02_rb, 1.89244e-02_rb, & & 2.01360e-02_rb, 2.14252e-02_rb, 2.27970e-02_rb, 2.42565e-02_rb, 2.58096e-02_rb, & & 2.74620e-02_rb, 2.92203e-02_rb, 3.10911e-02_rb, 3.30817e-02_rb/) kbo_mn2o( 2, :,16) = (/ & & 1.08257e-02_rb, 1.15188e-02_rb, 1.22563e-02_rb, 1.30410e-02_rb, 1.38759e-02_rb, & & 1.47643e-02_rb, 1.57096e-02_rb, 1.67154e-02_rb, 1.77857e-02_rb, 1.89244e-02_rb, & & 2.01360e-02_rb, 2.14252e-02_rb, 2.27970e-02_rb, 2.42565e-02_rb, 2.58096e-02_rb, & & 2.74620e-02_rb, 2.92203e-02_rb, 3.10911e-02_rb, 3.30817e-02_rb/) kbo_mn2o( 3, :,16) = (/ & & 1.08257e-02_rb, 1.15188e-02_rb, 1.22563e-02_rb, 1.30410e-02_rb, 1.38759e-02_rb, & & 1.47643e-02_rb, 1.57096e-02_rb, 1.67154e-02_rb, 1.77857e-02_rb, 1.89244e-02_rb, & & 2.01360e-02_rb, 2.14252e-02_rb, 2.27970e-02_rb, 2.42565e-02_rb, 2.58096e-02_rb, & & 2.74620e-02_rb, 2.92203e-02_rb, 3.10911e-02_rb, 3.30817e-02_rb/) kbo_mn2o( 4, :,16) = (/ & & 1.08263e-02_rb, 1.15191e-02_rb, 1.22562e-02_rb, 1.30404e-02_rb, 1.38749e-02_rb, & & 1.47627e-02_rb, 1.57073e-02_rb, 1.67124e-02_rb, 1.77818e-02_rb, 1.89196e-02_rb, & & 2.01302e-02_rb, 2.14183e-02_rb, 2.27888e-02_rb, 2.42470e-02_rb, 2.57986e-02_rb, & & 2.74494e-02_rb, 2.92058e-02_rb, 3.10746e-02_rb, 3.30630e-02_rb/) kbo_mn2o( 5, :,16) = (/ & & 4.53450e-08_rb, 5.75193e-08_rb, 7.29620e-08_rb, 9.25509e-08_rb, 1.17399e-07_rb, & & 1.48918e-07_rb, 1.88900e-07_rb, 2.39616e-07_rb, 3.03948e-07_rb, 3.85551e-07_rb, & & 4.89064e-07_rb, 6.20369e-07_rb, 7.86925e-07_rb, 9.98199e-07_rb, 1.26619e-06_rb, & & 1.60614e-06_rb, 2.03736e-06_rb, 2.58435e-06_rb, 3.27819e-06_rb/) ! The array FORREFO contains the coefficient of the water vapor ! foreign-continuum (including the energy term). The first ! index refers to reference temperature (296,260,224,260) and ! pressure (970,475,219,3 mbar) levels. The second index ! runs over the g-channel (1 to 16). forrefo(1,:) = (/ & &9.0039e-04_rb,1.1081e-03_rb,1.0732e-03_rb,1.1881e-03_rb,1.2488e-03_rb,1.3170e-03_rb, & &1.3317e-03_rb,1.3168e-03_rb,1.3369e-03_rb,1.4228e-03_rb,1.5385e-03_rb,1.7376e-03_rb, & &1.7122e-03_rb,1.9002e-03_rb,1.8881e-03_rb,2.1595e-03_rb/) forrefo(2,:) = (/ & &1.2726e-03_rb,1.3680e-03_rb,1.2494e-03_rb,1.2049e-03_rb,1.2048e-03_rb,1.1256e-03_rb, & &1.1170e-03_rb,1.0697e-03_rb,1.1177e-03_rb,1.1883e-03_rb,1.2219e-03_rb,1.2179e-03_rb, & &1.5692e-03_rb,1.9103e-03_rb,2.0219e-03_rb,1.6937e-03_rb/) forrefo(3,:) = (/ & &1.5527e-03_rb,1.6477e-03_rb,1.4973e-03_rb,1.3400e-03_rb,1.0820e-03_rb,9.3315e-04_rb, & &8.8132e-04_rb,8.1508e-04_rb,8.3559e-04_rb,7.6492e-04_rb,8.2343e-04_rb,7.1274e-04_rb, & &6.6011e-04_rb,6.7179e-04_rb,6.7039e-04_rb,6.7021e-04_rb/) forrefo(4,:) = (/ & &1.6763e-03_rb,1.6066e-03_rb,1.3927e-03_rb,1.2087e-03_rb,9.8463e-04_rb,8.8414e-04_rb, & &8.0976e-04_rb,7.8758e-04_rb,7.7376e-04_rb,7.5785e-04_rb,7.4152e-04_rb,7.3814e-04_rb, & &7.4278e-04_rb,7.1745e-04_rb,6.7216e-04_rb,6.4097e-04_rb/) ! The array SELFREFO contains the coefficient of the water vapor ! self-continuum (including the energy term). The first index ! refers to temperature in 7.2 degree increments. For instance, ! JT = 1 refers to a temperature of 245.6, JT = 2 refers to 252.8, ! etc. The second index runs over the g-channel (1 to 16). selfrefo(:, 1) = (/ & & 5.11926e-01_rb, 4.32863e-01_rb, 3.66010e-01_rb, 3.09482e-01_rb, 2.61685e-01_rb, & & 2.21269e-01_rb, 1.87096e-01_rb, 1.58200e-01_rb, 1.33767e-01_rb, 1.13108e-01_rb/) selfrefo(:, 2) = (/ & & 5.02863e-01_rb, 4.35008e-01_rb, 3.76310e-01_rb, 3.25532e-01_rb, 2.81606e-01_rb, & & 2.43607e-01_rb, 2.10736e-01_rb, 1.82300e-01_rb, 1.57701e-01_rb, 1.36422e-01_rb/) selfrefo(:, 3) = (/ & & 4.57628e-01_rb, 3.99663e-01_rb, 3.49040e-01_rb, 3.04829e-01_rb, 2.66218e-01_rb, & & 2.32498e-01_rb, 2.03049e-01_rb, 1.77330e-01_rb, 1.54869e-01_rb, 1.35252e-01_rb/) selfrefo(:, 4) = (/ & & 4.28634e-01_rb, 3.81736e-01_rb, 3.39970e-01_rb, 3.02773e-01_rb, 2.69647e-01_rb, & & 2.40144e-01_rb, 2.13870e-01_rb, 1.90470e-01_rb, 1.69630e-01_rb, 1.51071e-01_rb/) selfrefo(:, 5) = (/ & & 4.21002e-01_rb, 3.77493e-01_rb, 3.38480e-01_rb, 3.03499e-01_rb, 2.72133e-01_rb, & & 2.44009e-01_rb, 2.18792e-01_rb, 1.96180e-01_rb, 1.75905e-01_rb, 1.57726e-01_rb/) selfrefo(:, 6) = (/ & & 3.97517e-01_rb, 3.61167e-01_rb, 3.28140e-01_rb, 2.98133e-01_rb, 2.70871e-01_rb, & & 2.46101e-01_rb, 2.23597e-01_rb, 2.03150e-01_rb, 1.84573e-01_rb, 1.67695e-01_rb/) selfrefo(:, 7) = (/ & & 3.92114e-01_rb, 3.57554e-01_rb, 3.26040e-01_rb, 2.97304e-01_rb, 2.71100e-01_rb, & & 2.47206e-01_rb, 2.25418e-01_rb, 2.05550e-01_rb, 1.87433e-01_rb, 1.70913e-01_rb/) selfrefo(:, 8) = (/ & & 3.79555e-01_rb, 3.47264e-01_rb, 3.17720e-01_rb, 2.90690e-01_rb, 2.65959e-01_rb, & & 2.43332e-01_rb, 2.22631e-01_rb, 2.03690e-01_rb, 1.86361e-01_rb, 1.70506e-01_rb/) selfrefo(:, 9) = (/ & & 3.92644e-01_rb, 3.58048e-01_rb, 3.26500e-01_rb, 2.97732e-01_rb, 2.71498e-01_rb, & & 2.47576e-01_rb, 2.25762e-01_rb, 2.05870e-01_rb, 1.87731e-01_rb, 1.71190e-01_rb/) selfrefo(:,10) = (/ & & 4.06542e-01_rb, 3.71200e-01_rb, 3.38930e-01_rb, 3.09465e-01_rb, 2.82562e-01_rb, & & 2.57998e-01_rb, 2.35569e-01_rb, 2.15090e-01_rb, 1.96391e-01_rb, 1.79318e-01_rb/) selfrefo(:,11) = (/ & & 4.09672e-01_rb, 3.76237e-01_rb, 3.45530e-01_rb, 3.17329e-01_rb, 2.91430e-01_rb, & & 2.67645e-01_rb, 2.45801e-01_rb, 2.25740e-01_rb, 2.07316e-01_rb, 1.90396e-01_rb/) selfrefo(:,12) = (/ & & 3.85140e-01_rb, 3.61989e-01_rb, 3.40230e-01_rb, 3.19779e-01_rb, 3.00557e-01_rb, & & 2.82490e-01_rb, 2.65510e-01_rb, 2.49550e-01_rb, 2.34549e-01_rb, 2.20451e-01_rb/) selfrefo(:,13) = (/ & & 4.87349e-01_rb, 4.42192e-01_rb, 4.01220e-01_rb, 3.64044e-01_rb, 3.30313e-01_rb, & & 2.99707e-01_rb, 2.71937e-01_rb, 2.46740e-01_rb, 2.23878e-01_rb, 2.03134e-01_rb/) selfrefo(:,14) = (/ & & 5.64339e-01_rb, 5.06194e-01_rb, 4.54040e-01_rb, 4.07259e-01_rb, 3.65298e-01_rb, & & 3.27661e-01_rb, 2.93901e-01_rb, 2.63620e-01_rb, 2.36459e-01_rb, 2.12096e-01_rb/) selfrefo(:,15) = (/ & & 5.91123e-01_rb, 5.26420e-01_rb, 4.68800e-01_rb, 4.17486e-01_rb, 3.71790e-01_rb, & & 3.31095e-01_rb, 2.94854e-01_rb, 2.62580e-01_rb, 2.33839e-01_rb, 2.08243e-01_rb/) selfrefo(:,16) = (/ & & 5.04590e-01_rb, 4.65235e-01_rb, 4.28950e-01_rb, 3.95495e-01_rb, 3.64649e-01_rb, & & 3.36209e-01_rb, 3.09987e-01_rb, 2.85810e-01_rb, 2.63519e-01_rb, 2.42966e-01_rb/) end subroutine lw_kgb03 ! ************************************************************************** subroutine lw_kgb04 ! ************************************************************************** use parkind, only : im => kind_im, rb => kind_rb use rrlw_kg04, only : fracrefao, fracrefbo, kao, kbo, selfrefo, forrefo implicit none save ! Planck fraction mapping level : P = 142.5940 mbar, T = 215.70 K fracrefao(:, 1) = (/ & & 1.5572e-01_rb,1.4925e-01_rb,1.4107e-01_rb,1.3126e-01_rb,1.1791e-01_rb,1.0173e-01_rb, & & 8.2949e-02_rb,6.2393e-02_rb,4.2146e-02_rb,4.5907e-03_rb,3.7965e-03_rb,2.9744e-03_rb, & & 2.2074e-03_rb,1.4063e-03_rb,5.3012e-04_rb,7.4595e-05_rb/) fracrefao(:, 2) = (/ & & 1.5572e-01_rb,1.4925e-01_rb,1.4107e-01_rb,1.3126e-01_rb,1.1791e-01_rb,1.0173e-01_rb, & & 8.2949e-02_rb,6.2392e-02_rb,4.2146e-02_rb,4.5906e-03_rb,3.7965e-03_rb,2.9745e-03_rb, & & 2.2074e-03_rb,1.4063e-03_rb,5.3012e-04_rb,7.4595e-05_rb/) fracrefao(:, 3) = (/ & & 1.5572e-01_rb,1.4925e-01_rb,1.4107e-01_rb,1.3126e-01_rb,1.1791e-01_rb,1.0173e-01_rb, & & 8.2949e-02_rb,6.2393e-02_rb,4.2146e-02_rb,4.5907e-03_rb,3.7965e-03_rb,2.9745e-03_rb, & & 2.2074e-03_rb,1.4063e-03_rb,5.3012e-04_rb,7.4595e-05_rb/) fracrefao(:, 4) = (/ & & 1.5572e-01_rb,1.4925e-01_rb,1.4107e-01_rb,1.3126e-01_rb,1.1791e-01_rb,1.0173e-01_rb, & & 8.2949e-02_rb,6.2393e-02_rb,4.2146e-02_rb,4.5907e-03_rb,3.7964e-03_rb,2.9744e-03_rb, & & 2.2074e-03_rb,1.4063e-03_rb,5.3012e-04_rb,7.4595e-05_rb/) fracrefao(:, 5) = (/ & & 1.5572e-01_rb,1.4925e-01_rb,1.4107e-01_rb,1.3126e-01_rb,1.1791e-01_rb,1.0173e-01_rb, & & 8.2949e-02_rb,6.2393e-02_rb,4.2146e-02_rb,4.5907e-03_rb,3.7965e-03_rb,2.9744e-03_rb, & & 2.2074e-03_rb,1.4063e-03_rb,5.3012e-04_rb,7.4595e-05_rb/) fracrefao(:, 6) = (/ & & 1.5572e-01_rb,1.4925e-01_rb,1.4107e-01_rb,1.3126e-01_rb,1.1791e-01_rb,1.0173e-01_rb, & & 8.2949e-02_rb,6.2393e-02_rb,4.2146e-02_rb,4.5907e-03_rb,3.7965e-03_rb,2.9744e-03_rb, & & 2.2074e-03_rb,1.4063e-03_rb,5.3012e-04_rb,7.4595e-05_rb/) fracrefao(:, 7) = (/ & & 1.5572e-01_rb,1.4926e-01_rb,1.4107e-01_rb,1.3126e-01_rb,1.1791e-01_rb,1.0173e-01_rb, & & 8.2949e-02_rb,6.2393e-02_rb,4.2146e-02_rb,4.5908e-03_rb,3.7964e-03_rb,2.9745e-03_rb, & & 2.2074e-03_rb,1.4063e-03_rb,5.3012e-04_rb,7.4595e-05_rb/) fracrefao(:, 8) = (/ & & 1.5571e-01_rb,1.4926e-01_rb,1.4107e-01_rb,1.3125e-01_rb,1.1791e-01_rb,1.0173e-01_rb, & & 8.2949e-02_rb,6.2393e-02_rb,4.2146e-02_rb,4.5907e-03_rb,3.7964e-03_rb,2.9744e-03_rb, & & 2.2074e-03_rb,1.4063e-03_rb,5.3012e-04_rb,7.4595e-05_rb/) fracrefao(:, 9) = (/ & & 1.5952e-01_rb,1.5155e-01_rb,1.4217e-01_rb,1.3077e-01_rb,1.1667e-01_rb,1.0048e-01_rb, & & 8.1511e-02_rb,6.1076e-02_rb,4.1111e-02_rb,4.4432e-03_rb,3.6910e-03_rb,2.9076e-03_rb, & & 2.1329e-03_rb,1.3566e-03_rb,5.2235e-04_rb,7.9935e-05_rb/) ! Planck fraction mapping level : P = 95.58350 mb, T = 215.70 K fracrefbo(:, 1) = (/ & & 1.5558e-01_rb,1.4931e-01_rb,1.4104e-01_rb,1.3124e-01_rb,1.1793e-01_rb,1.0160e-01_rb, & & 8.3142e-02_rb,6.2403e-02_rb,4.2170e-02_rb,4.5935e-03_rb,3.7976e-03_rb,2.9986e-03_rb, & & 2.1890e-03_rb,1.4061e-03_rb,5.3005e-04_rb,7.4587e-05_rb/) fracrefbo(:, 2) = (/ & & 1.5558e-01_rb,1.4932e-01_rb,1.4104e-01_rb,1.3124e-01_rb,1.1792e-01_rb,1.0159e-01_rb, & & 8.3142e-02_rb,6.2403e-02_rb,4.2170e-02_rb,4.5935e-03_rb,3.7976e-03_rb,2.9986e-03_rb, & & 2.1890e-03_rb,1.4061e-03_rb,5.3005e-04_rb,7.4587e-05_rb/) fracrefbo(:, 3) = (/ & & 1.5558e-01_rb,1.4933e-01_rb,1.4103e-01_rb,1.3124e-01_rb,1.1792e-01_rb,1.0159e-01_rb, & & 8.3142e-02_rb,6.2403e-02_rb,4.2170e-02_rb,4.5935e-03_rb,3.7976e-03_rb,2.9986e-03_rb, & & 2.1890e-03_rb,1.4061e-03_rb,5.3005e-04_rb,7.4587e-05_rb/) fracrefbo(:, 4) = (/ & & 1.5569e-01_rb,1.4926e-01_rb,1.4102e-01_rb,1.3122e-01_rb,1.1791e-01_rb,1.0159e-01_rb, & & 8.3141e-02_rb,6.2403e-02_rb,4.2170e-02_rb,4.5935e-03_rb,3.7976e-03_rb,2.9986e-03_rb, & & 2.1890e-03_rb,1.4061e-03_rb,5.3005e-04_rb,7.4587e-05_rb/) fracrefbo(:, 5) = (/ & & 1.5947e-01_rb,1.5132e-01_rb,1.4195e-01_rb,1.3061e-01_rb,1.1680e-01_rb,1.0054e-01_rb, & & 8.1785e-02_rb,6.1212e-02_rb,4.1276e-02_rb,4.4424e-03_rb,3.6628e-03_rb,2.8943e-03_rb, & & 2.1134e-03_rb,1.3457e-03_rb,5.1024e-04_rb,7.3998e-05_rb/) ! The array KAO contains absorption coefs for each of the 16 g-intervals ! for a range of pressure levels > ~100mb, temperatures, and ratios ! of water vapor to CO2. The first index in the array, JS, runs ! from 1 to 10, and corresponds to different gas column amount ratios, ! as expressed through the binary species parameter eta, defined as ! eta = gas1/(gas1 + (rat) * gas2), where rat is the ! ratio of the reference MLS column amount value of gas 1 ! to that of gas2. ! The 2nd index in the array, JT, which runs from 1 to 5, corresponds ! to different temperatures. More specifically, JT = 3 means that the ! data are for the reference temperature TREF for this pressure ! level, JT = 2 refers to the temperature ! TREF-15, JT = 1 is for TREF-30, JT = 4 is for TREF+15, and JT = 5 ! is for TREF+30. The third index, JP, runs from 1 to 13 and refers ! to the reference pressure level (e.g. JP = 1 is for a ! pressure of 1053.63 mb). The fourth index, IG, goes from 1 to 16, ! and tells us which g-interval the absorption coefficients are for. kao(:, 1, 1, 1) = (/ & &1.0697e-02_rb,1.0151e-02_rb,9.2549e-03_rb,8.2645e-03_rb,7.2061e-03_rb,6.0662e-03_rb, & &4.9816e-03_rb,4.8867e-03_rb,2.0269e-04_rb/) kao(:, 2, 1, 1) = (/ & &1.1677e-02_rb,1.1138e-02_rb,1.0216e-02_rb,9.1909e-03_rb,8.0553e-03_rb,6.8223e-03_rb, & &5.5408e-03_rb,4.6854e-03_rb,2.3825e-04_rb/) kao(:, 3, 1, 1) = (/ & &1.2605e-02_rb,1.2092e-02_rb,1.1179e-02_rb,1.0121e-02_rb,8.9159e-03_rb,7.6027e-03_rb, & &6.0392e-03_rb,4.3498e-03_rb,2.8245e-04_rb/) kao(:, 4, 1, 1) = (/ & &1.3484e-02_rb,1.3046e-02_rb,1.2153e-02_rb,1.1041e-02_rb,9.7806e-03_rb,8.2921e-03_rb, & &6.5023e-03_rb,4.3023e-03_rb,3.0318e-04_rb/) kao(:, 5, 1, 1) = (/ & &1.4330e-02_rb,1.3997e-02_rb,1.3114e-02_rb,1.1943e-02_rb,1.0557e-02_rb,8.8567e-03_rb, & &6.8709e-03_rb,4.3577e-03_rb,3.2751e-04_rb/) kao(:, 1, 2, 1) = (/ & &1.3833e-02_rb,1.2806e-02_rb,1.1465e-02_rb,1.0025e-02_rb,8.5208e-03_rb,6.9589e-03_rb, & &5.3336e-03_rb,4.2294e-03_rb,1.4419e-04_rb/) kao(:, 2, 2, 1) = (/ & &1.5144e-02_rb,1.4068e-02_rb,1.2644e-02_rb,1.1119e-02_rb,9.5204e-03_rb,7.8236e-03_rb, & &6.0220e-03_rb,4.4086e-03_rb,1.7355e-04_rb/) kao(:, 3, 2, 1) = (/ & &1.6397e-02_rb,1.5299e-02_rb,1.3819e-02_rb,1.2230e-02_rb,1.0525e-02_rb,8.6894e-03_rb, & &6.7322e-03_rb,4.5883e-03_rb,2.1022e-04_rb/) kao(:, 4, 2, 1) = (/ & &1.7608e-02_rb,1.6518e-02_rb,1.5010e-02_rb,1.3349e-02_rb,1.1524e-02_rb,9.5665e-03_rb, & &7.3586e-03_rb,4.7702e-03_rb,2.1845e-04_rb/) kao(:, 5, 2, 1) = (/ & &1.8795e-02_rb,1.7739e-02_rb,1.6211e-02_rb,1.4458e-02_rb,1.2504e-02_rb,1.0367e-02_rb, & &7.8746e-03_rb,4.9505e-03_rb,2.4452e-04_rb/) kao(:, 1, 3, 1) = (/ & &2.3349e-02_rb,2.1073e-02_rb,1.8534e-02_rb,1.5886e-02_rb,1.3154e-02_rb,1.0346e-02_rb, & &7.4749e-03_rb,4.5440e-03_rb,9.5522e-05_rb/) kao(:, 2, 3, 1) = (/ & &2.5718e-02_rb,2.3272e-02_rb,2.0503e-02_rb,1.7622e-02_rb,1.4648e-02_rb,1.1596e-02_rb, & &8.4531e-03_rb,5.1652e-03_rb,1.1957e-04_rb/) kao(:, 3, 3, 1) = (/ & &2.8025e-02_rb,2.5421e-02_rb,2.2452e-02_rb,1.9353e-02_rb,1.6163e-02_rb,1.2876e-02_rb, & &9.4440e-03_rb,5.8151e-03_rb,1.4638e-04_rb/) kao(:, 4, 3, 1) = (/ & &3.0273e-02_rb,2.7542e-02_rb,2.4400e-02_rb,2.1110e-02_rb,1.7713e-02_rb,1.4169e-02_rb, & &1.0445e-02_rb,6.4078e-03_rb,1.5375e-04_rb/) kao(:, 5, 3, 1) = (/ & &3.2488e-02_rb,2.9668e-02_rb,2.6366e-02_rb,2.2912e-02_rb,1.9285e-02_rb,1.5463e-02_rb, & &1.1411e-02_rb,6.9035e-03_rb,1.7414e-04_rb/) kao(:, 1, 4, 1) = (/ & &3.9680e-02_rb,3.5246e-02_rb,3.0687e-02_rb,2.5989e-02_rb,2.1199e-02_rb,1.6340e-02_rb, & &1.1394e-02_rb,6.3232e-03_rb,6.3142e-05_rb/) kao(:, 2, 4, 1) = (/ & &4.4067e-02_rb,3.9245e-02_rb,3.4186e-02_rb,2.8983e-02_rb,2.3690e-02_rb,1.8315e-02_rb, & &1.2835e-02_rb,7.2156e-03_rb,8.2154e-05_rb/) kao(:, 3, 4, 1) = (/ & &4.8382e-02_rb,4.3189e-02_rb,3.7634e-02_rb,3.1955e-02_rb,2.6184e-02_rb,2.0317e-02_rb, & &1.4329e-02_rb,8.1343e-03_rb,1.0015e-04_rb/) kao(:, 4, 4, 1) = (/ & &5.2631e-02_rb,4.7051e-02_rb,4.1069e-02_rb,3.4945e-02_rb,2.8716e-02_rb,2.2361e-02_rb, & &1.5856e-02_rb,9.0735e-03_rb,1.0763e-04_rb/) kao(:, 5, 4, 1) = (/ & &5.6812e-02_rb,5.0879e-02_rb,4.4486e-02_rb,3.7949e-02_rb,3.1266e-02_rb,2.4439e-02_rb, & &1.7397e-02_rb,9.9865e-03_rb,1.2433e-04_rb/) kao(:, 1, 5, 1) = (/ & &6.1659e-02_rb,5.4360e-02_rb,4.7000e-02_rb,3.9571e-02_rb,3.2046e-02_rb,2.4431e-02_rb, & &1.6731e-02_rb,8.9002e-03_rb,4.4135e-05_rb/) kao(:, 2, 5, 1) = (/ & &6.9177e-02_rb,6.1077e-02_rb,5.2885e-02_rb,4.4540e-02_rb,3.6083e-02_rb,2.7553e-02_rb, & &1.8920e-02_rb,1.0138e-02_rb,5.7278e-05_rb/) kao(:, 3, 5, 1) = (/ & &7.6561e-02_rb,6.7721e-02_rb,5.8676e-02_rb,4.9436e-02_rb,4.0109e-02_rb,3.0675e-02_rb, & &2.1149e-02_rb,1.1429e-02_rb,6.8177e-05_rb/) kao(:, 4, 5, 1) = (/ & &8.3855e-02_rb,7.4287e-02_rb,6.4398e-02_rb,5.4317e-02_rb,4.4139e-02_rb,3.3855e-02_rb, & &2.3434e-02_rb,1.2758e-02_rb,7.5655e-05_rb/) kao(:, 5, 5, 1) = (/ & &9.1112e-02_rb,8.0836e-02_rb,7.0093e-02_rb,5.9205e-02_rb,4.8195e-02_rb,3.7076e-02_rb, & &2.5757e-02_rb,1.4110e-02_rb,8.9921e-05_rb/) kao(:, 1, 6, 1) = (/ & &8.8882e-02_rb,7.8094e-02_rb,6.7257e-02_rb,5.6376e-02_rb,4.5468e-02_rb,3.4471e-02_rb, & &2.3372e-02_rb,1.2141e-02_rb,3.4008e-05_rb/) kao(:, 2, 6, 1) = (/ & &1.0088e-01_rb,8.8690e-02_rb,7.6454e-02_rb,6.4166e-02_rb,5.1764e-02_rb,3.9256e-02_rb, & &2.6651e-02_rb,1.3906e-02_rb,4.1496e-05_rb/) kao(:, 3, 6, 1) = (/ & &1.1268e-01_rb,9.9170e-02_rb,8.5584e-02_rb,7.1867e-02_rb,5.7997e-02_rb,4.4019e-02_rb, & &2.9951e-02_rb,1.5714e-02_rb,4.7587e-05_rb/) kao(:, 4, 6, 1) = (/ & &1.2443e-01_rb,1.0961e-01_rb,9.4686e-02_rb,7.9524e-02_rb,6.4216e-02_rb,4.8825e-02_rb, & &3.3307e-02_rb,1.7586e-02_rb,5.4734e-05_rb/) kao(:, 5, 6, 1) = (/ & &1.3608e-01_rb,1.2003e-01_rb,1.0372e-01_rb,8.7155e-02_rb,7.0466e-02_rb,5.3660e-02_rb, & &3.6716e-02_rb,1.9490e-02_rb,6.4532e-05_rb/) kao(:, 1, 7, 1) = (/ & &1.3393e-01_rb,1.1743e-01_rb,1.0091e-01_rb,8.4366e-02_rb,6.7796e-02_rb,5.1191e-02_rb, & &3.4487e-02_rb,1.7647e-02_rb,2.6258e-05_rb/) kao(:, 2, 7, 1) = (/ & &1.5385e-01_rb,1.3496e-01_rb,1.1603e-01_rb,9.7081e-02_rb,7.8079e-02_rb,5.8981e-02_rb, & &3.9763e-02_rb,2.0387e-02_rb,3.2089e-05_rb/) kao(:, 3, 7, 1) = (/ & &1.7362e-01_rb,1.5237e-01_rb,1.3107e-01_rb,1.0975e-01_rb,8.8299e-02_rb,6.6730e-02_rb, & &4.5023e-02_rb,2.3161e-02_rb,4.0067e-05_rb/) kao(:, 4, 7, 1) = (/ & &1.9325e-01_rb,1.6971e-01_rb,1.4609e-01_rb,1.2238e-01_rb,9.8509e-02_rb,7.4481e-02_rb, & &5.0334e-02_rb,2.5995e-02_rb,4.6630e-05_rb/) kao(:, 5, 7, 1) = (/ & &2.1303e-01_rb,1.8717e-01_rb,1.6126e-01_rb,1.3511e-01_rb,1.0879e-01_rb,8.2319e-02_rb, & &5.5720e-02_rb,2.8900e-02_rb,5.5874e-05_rb/) kao(:, 1, 8, 1) = (/ & &2.4085e-01_rb,2.1093e-01_rb,1.8102e-01_rb,1.5107e-01_rb,1.2112e-01_rb,9.1137e-02_rb, & &6.1112e-02_rb,3.0964e-02_rb,2.6704e-05_rb/) kao(:, 2, 8, 1) = (/ & &2.8040e-01_rb,2.4563e-01_rb,2.1082e-01_rb,1.7598e-01_rb,1.4114e-01_rb,1.0627e-01_rb, & &7.1313e-02_rb,3.6159e-02_rb,3.4463e-05_rb/) kao(:, 3, 8, 1) = (/ & &3.1986e-01_rb,2.8024e-01_rb,2.4058e-01_rb,2.0091e-01_rb,1.6119e-01_rb,1.2143e-01_rb, & &8.1504e-02_rb,4.1377e-02_rb,4.2885e-05_rb/) kao(:, 4, 8, 1) = (/ & &3.5910e-01_rb,3.1468e-01_rb,2.7026e-01_rb,2.2578e-01_rb,1.8126e-01_rb,1.3658e-01_rb, & &9.1734e-02_rb,4.6641e-02_rb,5.1508e-05_rb/) kao(:, 5, 8, 1) = (/ & &3.9881e-01_rb,3.4958e-01_rb,3.0035e-01_rb,2.5107e-01_rb,2.0163e-01_rb,1.5198e-01_rb, & &1.0212e-01_rb,5.2034e-02_rb,5.9872e-05_rb/) kao(:, 1, 9, 1) = (/ & &8.1251e-01_rb,7.1113e-01_rb,6.0978e-01_rb,5.0834e-01_rb,4.0692e-01_rb,3.0549e-01_rb, & &2.0401e-01_rb,1.0247e-01_rb,4.2060e-05_rb/) kao(:, 2, 9, 1) = (/ & &9.6024e-01_rb,8.4039e-01_rb,7.2060e-01_rb,6.0079e-01_rb,4.8095e-01_rb,3.6106e-01_rb, & &2.4120e-01_rb,1.2123e-01_rb,5.7363e-05_rb/) kao(:, 3, 9, 1) = (/ & &1.1088e+00_rb,9.7056e-01_rb,8.3222e-01_rb,6.9393e-01_rb,5.5555e-01_rb,4.1720e-01_rb, & &2.7875e-01_rb,1.4021e-01_rb,7.4113e-05_rb/) kao(:, 4, 9, 1) = (/ & &1.2568e+00_rb,1.1001e+00_rb,9.4342e-01_rb,7.8665e-01_rb,6.2985e-01_rb,4.7311e-01_rb, & &3.1630e-01_rb,1.5915e-01_rb,9.2862e-05_rb/) kao(:, 5, 9, 1) = (/ & &1.4062e+00_rb,1.2309e+00_rb,1.0557e+00_rb,8.8039e-01_rb,7.0513e-01_rb,5.2977e-01_rb, & &3.5432e-01_rb,1.7839e-01_rb,1.0954e-04_rb/) kao(:, 1,10, 1) = (/ & &3.0868e+00_rb,2.7010e+00_rb,2.3154e+00_rb,1.9296e+00_rb,1.5440e+00_rb,1.1583e+00_rb, & &7.7257e-01_rb,3.8682e-01_rb,7.9650e-05_rb/) kao(:, 2,10, 1) = (/ & &3.6992e+00_rb,3.2371e+00_rb,2.7749e+00_rb,2.3126e+00_rb,1.8504e+00_rb,1.3883e+00_rb, & &9.2595e-01_rb,4.6361e-01_rb,1.1315e-04_rb/) kao(:, 3,10, 1) = (/ & &4.3239e+00_rb,3.7838e+00_rb,3.2436e+00_rb,2.7034e+00_rb,2.1630e+00_rb,1.6228e+00_rb, & &1.0824e+00_rb,5.4204e-01_rb,1.4419e-04_rb/) kao(:, 4,10, 1) = (/ & &4.9483e+00_rb,4.3302e+00_rb,3.7121e+00_rb,3.0937e+00_rb,2.4754e+00_rb,1.8572e+00_rb, & &1.2389e+00_rb,6.2062e-01_rb,1.7752e-04_rb/) kao(:, 5,10, 1) = (/ & &5.5745e+00_rb,4.8780e+00_rb,4.1816e+00_rb,3.4855e+00_rb,2.7890e+00_rb,2.0926e+00_rb, & &1.3962e+00_rb,6.9963e-01_rb,2.1449e-04_rb/) kao(:, 1,11, 1) = (/ & &4.4731e+00_rb,3.9138e+00_rb,3.3549e+00_rb,2.7960e+00_rb,2.2371e+00_rb,1.6781e+00_rb, & &1.1191e+00_rb,5.6013e-01_rb,1.1739e-04_rb/) kao(:, 2,11, 1) = (/ & &5.3673e+00_rb,4.6967e+00_rb,4.0260e+00_rb,3.3552e+00_rb,2.6847e+00_rb,2.0138e+00_rb, & &1.3431e+00_rb,6.7224e-01_rb,1.4272e-04_rb/) kao(:, 3,11, 1) = (/ & &6.2805e+00_rb,5.4954e+00_rb,4.7109e+00_rb,3.9260e+00_rb,3.1412e+00_rb,2.3563e+00_rb, & &1.5716e+00_rb,7.8663e-01_rb,1.8731e-04_rb/) kao(:, 4,11, 1) = (/ & &7.1941e+00_rb,6.2951e+00_rb,5.3963e+00_rb,4.4973e+00_rb,3.5984e+00_rb,2.6993e+00_rb, & &1.8005e+00_rb,9.0138e-01_rb,2.2429e-04_rb/) kao(:, 5,11, 1) = (/ & &8.1084e+00_rb,7.0952e+00_rb,6.0822e+00_rb,5.0692e+00_rb,4.0560e+00_rb,3.0428e+00_rb, & &2.0297e+00_rb,1.0163e+00_rb,2.6588e-04_rb/) kao(:, 1,12, 1) = (/ & &4.8324e+00_rb,4.2285e+00_rb,3.6244e+00_rb,3.0205e+00_rb,2.4167e+00_rb,1.8130e+00_rb, & &1.2091e+00_rb,6.0509e-01_rb,1.2228e-04_rb/) kao(:, 2,12, 1) = (/ & &5.8007e+00_rb,5.0761e+00_rb,4.3512e+00_rb,3.6264e+00_rb,2.9012e+00_rb,2.1763e+00_rb, & &1.4515e+00_rb,7.2651e-01_rb,1.6183e-04_rb/) kao(:, 3,12, 1) = (/ & &6.7955e+00_rb,5.9463e+00_rb,5.0972e+00_rb,4.2481e+00_rb,3.3989e+00_rb,2.5498e+00_rb, & &1.7005e+00_rb,8.5109e-01_rb,1.9622e-04_rb/) kao(:, 4,12, 1) = (/ & &7.7871e+00_rb,6.8141e+00_rb,5.8412e+00_rb,4.8680e+00_rb,3.8949e+00_rb,2.9218e+00_rb, & &1.9487e+00_rb,9.7554e-01_rb,2.4527e-04_rb/) kao(:, 5,12, 1) = (/ & &8.7731e+00_rb,7.6770e+00_rb,6.5805e+00_rb,5.4843e+00_rb,4.3883e+00_rb,3.2921e+00_rb, & &2.1959e+00_rb,1.0994e+00_rb,2.9421e-04_rb/) kao(:, 1,13, 1) = (/ & &4.1936e+00_rb,3.6695e+00_rb,3.1456e+00_rb,2.6217e+00_rb,2.0976e+00_rb,1.5735e+00_rb, & &1.0495e+00_rb,5.2527e-01_rb,1.1808e-04_rb/) kao(:, 2,13, 1) = (/ & &5.0398e+00_rb,4.4101e+00_rb,3.7804e+00_rb,3.1506e+00_rb,2.5209e+00_rb,1.8912e+00_rb, & &1.2614e+00_rb,6.3136e-01_rb,1.5519e-04_rb/) kao(:, 3,13, 1) = (/ & &5.9030e+00_rb,5.1655e+00_rb,4.4278e+00_rb,3.6903e+00_rb,2.9527e+00_rb,2.2152e+00_rb, & &1.4774e+00_rb,7.3950e-01_rb,1.9283e-04_rb/) kao(:, 4,13, 1) = (/ & &6.7598e+00_rb,5.9151e+00_rb,5.0706e+00_rb,4.2260e+00_rb,3.3815e+00_rb,2.5368e+00_rb, & &1.6919e+00_rb,8.4706e-01_rb,2.3479e-04_rb/) kao(:, 5,13, 1) = (/ & &7.6160e+00_rb,6.6645e+00_rb,5.7130e+00_rb,4.7615e+00_rb,3.8100e+00_rb,2.8583e+00_rb, & &1.9066e+00_rb,9.5472e-01_rb,2.9034e-04_rb/) kao(:, 1, 1, 2) = (/ & &2.4501e-02_rb,2.2546e-02_rb,2.0206e-02_rb,1.7580e-02_rb,1.4733e-02_rb,1.1757e-02_rb, & &8.5871e-03_rb,4.9715e-03_rb,4.1358e-04_rb/) kao(:, 2, 1, 2) = (/ & &2.5392e-02_rb,2.3504e-02_rb,2.1061e-02_rb,1.8282e-02_rb,1.5340e-02_rb,1.2238e-02_rb, & &8.8921e-03_rb,5.1114e-03_rb,3.8966e-04_rb/) kao(:, 3, 1, 2) = (/ & &2.6027e-02_rb,2.4221e-02_rb,2.1673e-02_rb,1.8830e-02_rb,1.5807e-02_rb,1.2525e-02_rb, & &9.1668e-03_rb,5.5997e-03_rb,3.7711e-04_rb/) kao(:, 4, 1, 2) = (/ & &2.6673e-02_rb,2.4919e-02_rb,2.2282e-02_rb,1.9349e-02_rb,1.6139e-02_rb,1.2835e-02_rb, & &9.4247e-03_rb,5.9143e-03_rb,4.3807e-04_rb/) kao(:, 5, 1, 2) = (/ & &2.7193e-02_rb,2.5447e-02_rb,2.2733e-02_rb,1.9712e-02_rb,1.6469e-02_rb,1.3190e-02_rb, & &9.7078e-03_rb,6.2746e-03_rb,5.1500e-04_rb/) kao(:, 1, 2, 2) = (/ & &3.1935e-02_rb,2.8971e-02_rb,2.5689e-02_rb,2.2139e-02_rb,1.8357e-02_rb,1.4398e-02_rb, & &1.0314e-02_rb,5.7860e-03_rb,2.7704e-04_rb/) kao(:, 2, 2, 2) = (/ & &3.3322e-02_rb,3.0388e-02_rb,2.6935e-02_rb,2.3180e-02_rb,1.9196e-02_rb,1.5076e-02_rb, & &1.0778e-02_rb,6.0195e-03_rb,2.7933e-04_rb/) kao(:, 3, 2, 2) = (/ & &3.4372e-02_rb,3.1484e-02_rb,2.7888e-02_rb,2.3966e-02_rb,1.9860e-02_rb,1.5585e-02_rb, & &1.1079e-02_rb,6.3448e-03_rb,2.7118e-04_rb/) kao(:, 4, 2, 2) = (/ & &3.5247e-02_rb,3.2382e-02_rb,2.8654e-02_rb,2.4627e-02_rb,2.0404e-02_rb,1.5949e-02_rb, & &1.1392e-02_rb,6.6539e-03_rb,3.3360e-04_rb/) kao(:, 5, 2, 2) = (/ & &3.6022e-02_rb,3.3132e-02_rb,2.9304e-02_rb,2.5200e-02_rb,2.0861e-02_rb,1.6331e-02_rb, & &1.1785e-02_rb,6.9927e-03_rb,3.9477e-04_rb/) kao(:, 1, 3, 2) = (/ & &5.5981e-02_rb,4.9895e-02_rb,4.3680e-02_rb,3.7190e-02_rb,3.0485e-02_rb,2.3562e-02_rb, & &1.6425e-02_rb,9.0449e-03_rb,1.7015e-04_rb/) kao(:, 2, 3, 2) = (/ & &5.8799e-02_rb,5.2631e-02_rb,4.6091e-02_rb,3.9226e-02_rb,3.2137e-02_rb,2.4836e-02_rb, & &1.7301e-02_rb,9.5109e-03_rb,1.8305e-04_rb/) kao(:, 3, 3, 2) = (/ & &6.0996e-02_rb,5.4813e-02_rb,4.8006e-02_rb,4.0820e-02_rb,3.3414e-02_rb,2.5787e-02_rb, & &1.7985e-02_rb,9.8187e-03_rb,1.8905e-04_rb/) kao(:, 4, 3, 2) = (/ & &6.2707e-02_rb,5.6481e-02_rb,4.9388e-02_rb,4.1983e-02_rb,3.4344e-02_rb,2.6526e-02_rb, & &1.8461e-02_rb,1.0117e-02_rb,2.4096e-04_rb/) kao(:, 5, 3, 2) = (/ & &6.4195e-02_rb,5.7890e-02_rb,5.0593e-02_rb,4.2977e-02_rb,3.5166e-02_rb,2.7170e-02_rb, & &1.8910e-02_rb,1.0511e-02_rb,2.9172e-04_rb/) kao(:, 1, 4, 2) = (/ & &1.0046e-01_rb,8.8696e-02_rb,7.6950e-02_rb,6.5010e-02_rb,5.2854e-02_rb,4.0445e-02_rb, & &2.7753e-02_rb,1.4715e-02_rb,1.1527e-04_rb/) kao(:, 2, 4, 2) = (/ & &1.0584e-01_rb,9.3644e-02_rb,8.1343e-02_rb,6.8725e-02_rb,5.5817e-02_rb,4.2663e-02_rb, & &2.9258e-02_rb,1.5519e-02_rb,1.2102e-04_rb/) kao(:, 3, 4, 2) = (/ & &1.1041e-01_rb,9.7926e-02_rb,8.5123e-02_rb,7.1882e-02_rb,5.8341e-02_rb,4.4558e-02_rb, & &3.0554e-02_rb,1.6224e-02_rb,1.3450e-04_rb/) kao(:, 4, 4, 2) = (/ & &1.1403e-01_rb,1.0136e-01_rb,8.8078e-02_rb,7.4319e-02_rb,6.0266e-02_rb,4.6028e-02_rb, & &3.1549e-02_rb,1.6730e-02_rb,1.7483e-04_rb/) kao(:, 5, 4, 2) = (/ & &1.1675e-01_rb,1.0391e-01_rb,9.0226e-02_rb,7.6062e-02_rb,6.1699e-02_rb,4.7119e-02_rb, & &3.2315e-02_rb,1.7160e-02_rb,2.1415e-04_rb/) kao(:, 1, 5, 2) = (/ & &1.6440e-01_rb,1.4448e-01_rb,1.2464e-01_rb,1.0475e-01_rb,8.4706e-02_rb,6.4458e-02_rb, & &4.3883e-02_rb,2.2824e-02_rb,7.5213e-05_rb/) kao(:, 2, 5, 2) = (/ & &1.7418e-01_rb,1.5330e-01_rb,1.3243e-01_rb,1.1140e-01_rb,9.0109e-02_rb,6.8519e-02_rb, & &4.6576e-02_rb,2.4202e-02_rb,8.0510e-05_rb/) kao(:, 3, 5, 2) = (/ & &1.8254e-01_rb,1.6088e-01_rb,1.3912e-01_rb,1.1702e-01_rb,9.4586e-02_rb,7.1837e-02_rb, & &4.8767e-02_rb,2.5350e-02_rb,9.6196e-05_rb/) kao(:, 4, 5, 2) = (/ & &1.8937e-01_rb,1.6713e-01_rb,1.4454e-01_rb,1.2155e-01_rb,9.8195e-02_rb,7.4514e-02_rb, & &5.0569e-02_rb,2.6308e-02_rb,1.2696e-04_rb/) kao(:, 5, 5, 2) = (/ & &1.9452e-01_rb,1.7183e-01_rb,1.4864e-01_rb,1.2495e-01_rb,1.0086e-01_rb,7.6520e-02_rb, & &5.1964e-02_rb,2.7040e-02_rb,1.5611e-04_rb/) kao(:, 1, 6, 2) = (/ & &2.4921e-01_rb,2.1859e-01_rb,1.8798e-01_rb,1.5740e-01_rb,1.2679e-01_rb,9.6030e-02_rb, & &6.5011e-02_rb,3.3513e-02_rb,4.7816e-05_rb/) kao(:, 2, 6, 2) = (/ & &2.6657e-01_rb,2.3398e-01_rb,2.0147e-01_rb,1.6890e-01_rb,1.3619e-01_rb,1.0322e-01_rb, & &6.9866e-02_rb,3.5915e-02_rb,5.5771e-05_rb/) kao(:, 3, 6, 2) = (/ & &2.8078e-01_rb,2.4667e-01_rb,2.1258e-01_rb,1.7831e-01_rb,1.4376e-01_rb,1.0887e-01_rb, & &7.3553e-02_rb,3.7752e-02_rb,7.2324e-05_rb/) kao(:, 4, 6, 2) = (/ & &2.9281e-01_rb,2.5752e-01_rb,2.2202e-01_rb,1.8622e-01_rb,1.5008e-01_rb,1.1356e-01_rb, & &7.6693e-02_rb,3.9339e-02_rb,9.1831e-05_rb/) kao(:, 5, 6, 2) = (/ & &3.0221e-01_rb,2.6598e-01_rb,2.2929e-01_rb,1.9231e-01_rb,1.5490e-01_rb,1.1717e-01_rb, & &7.9072e-02_rb,4.0614e-02_rb,1.1670e-04_rb/) kao(:, 1, 7, 2) = (/ & &3.9471e-01_rb,3.4576e-01_rb,2.9687e-01_rb,2.4797e-01_rb,1.9909e-01_rb,1.5016e-01_rb, & &1.0112e-01_rb,5.1719e-02_rb,4.5280e-05_rb/) kao(:, 2, 7, 2) = (/ & &4.2660e-01_rb,3.7391e-01_rb,3.2118e-01_rb,2.6853e-01_rb,2.1577e-01_rb,1.6297e-01_rb, & &1.0986e-01_rb,5.6145e-02_rb,5.4459e-05_rb/) kao(:, 3, 7, 2) = (/ & &4.5301e-01_rb,3.9723e-01_rb,3.4149e-01_rb,2.8568e-01_rb,2.2975e-01_rb,1.7359e-01_rb, & &1.1695e-01_rb,5.9583e-02_rb,6.4819e-05_rb/) kao(:, 4, 7, 2) = (/ & &4.7467e-01_rb,4.1649e-01_rb,3.5820e-01_rb,2.9973e-01_rb,2.4109e-01_rb,1.8208e-01_rb, & &1.2251e-01_rb,6.2380e-02_rb,7.8660e-05_rb/) kao(:, 5, 7, 2) = (/ & &4.9199e-01_rb,4.3192e-01_rb,3.7144e-01_rb,3.1090e-01_rb,2.5000e-01_rb,1.8865e-01_rb, & &1.2686e-01_rb,6.4563e-02_rb,9.4184e-05_rb/) kao(:, 1, 8, 2) = (/ & &7.4598e-01_rb,6.5300e-01_rb,5.6009e-01_rb,4.6718e-01_rb,3.7433e-01_rb,2.8142e-01_rb, & &1.8848e-01_rb,9.5403e-02_rb,4.9176e-05_rb/) kao(:, 2, 8, 2) = (/ & &8.1434e-01_rb,7.1301e-01_rb,6.1173e-01_rb,5.1044e-01_rb,4.0917e-01_rb,3.0788e-01_rb, & &2.0653e-01_rb,1.0477e-01_rb,6.1468e-05_rb/) kao(:, 3, 8, 2) = (/ & &8.7268e-01_rb,7.6440e-01_rb,6.5604e-01_rb,5.4759e-01_rb,4.3920e-01_rb,3.3065e-01_rb, & &2.2200e-01_rb,1.1269e-01_rb,7.5902e-05_rb/) kao(:, 4, 8, 2) = (/ & &9.2025e-01_rb,8.0619e-01_rb,6.9208e-01_rb,5.7794e-01_rb,4.6363e-01_rb,3.4928e-01_rb, & &2.3455e-01_rb,1.1876e-01_rb,9.2466e-05_rb/) kao(:, 5, 8, 2) = (/ & &9.5892e-01_rb,8.4025e-01_rb,7.2136e-01_rb,6.0245e-01_rb,4.8344e-01_rb,3.6420e-01_rb, & &2.4431e-01_rb,1.2353e-01_rb,1.1186e-04_rb/) kao(:, 1, 9, 2) = (/ & &2.6457e+00_rb,2.3152e+00_rb,1.9846e+00_rb,1.6541e+00_rb,1.3236e+00_rb,9.9317e-01_rb, & &6.6276e-01_rb,3.3240e-01_rb,8.9892e-05_rb/) kao(:, 2, 9, 2) = (/ & &2.9186e+00_rb,2.5541e+00_rb,2.1896e+00_rb,1.8252e+00_rb,1.4607e+00_rb,1.0963e+00_rb, & &7.3190e-01_rb,3.6751e-01_rb,1.0914e-04_rb/) kao(:, 3, 9, 2) = (/ & &3.1587e+00_rb,2.7643e+00_rb,2.3700e+00_rb,1.9759e+00_rb,1.5816e+00_rb,1.1873e+00_rb, & &7.9301e-01_rb,3.9869e-01_rb,1.2624e-04_rb/) kao(:, 4, 9, 2) = (/ & &3.3556e+00_rb,2.9370e+00_rb,2.5183e+00_rb,2.0996e+00_rb,1.6808e+00_rb,1.2622e+00_rb, & &8.4339e-01_rb,4.2436e-01_rb,1.5596e-04_rb/) kao(:, 5, 9, 2) = (/ & &3.5177e+00_rb,3.0788e+00_rb,2.6401e+00_rb,2.2013e+00_rb,1.7625e+00_rb,1.3234e+00_rb, & &8.8445e-01_rb,4.4528e-01_rb,1.9369e-04_rb/) kao(:, 1,10, 2) = (/ & &1.0501e+01_rb,9.1884e+00_rb,7.8763e+00_rb,6.5637e+00_rb,5.2509e+00_rb,3.9387e+00_rb, & &2.6260e+00_rb,1.3137e+00_rb,1.7951e-04_rb/) kao(:, 2,10, 2) = (/ & &1.1694e+01_rb,1.0233e+01_rb,8.7714e+00_rb,7.3095e+00_rb,5.8477e+00_rb,4.3863e+00_rb, & &2.9249e+00_rb,1.4636e+00_rb,2.1880e-04_rb/) kao(:, 3,10, 2) = (/ & &1.2771e+01_rb,1.1175e+01_rb,9.5787e+00_rb,7.9832e+00_rb,6.3867e+00_rb,4.7910e+00_rb, & &3.1952e+00_rb,1.5993e+00_rb,2.5504e-04_rb/) kao(:, 4,10, 2) = (/ & &1.3661e+01_rb,1.1954e+01_rb,1.0247e+01_rb,8.5403e+00_rb,6.8331e+00_rb,5.1260e+00_rb, & &3.4191e+00_rb,1.7121e+00_rb,3.1556e-04_rb/) kao(:, 5,10, 2) = (/ & &1.4403e+01_rb,1.2603e+01_rb,1.0804e+01_rb,9.0041e+00_rb,7.2046e+00_rb,5.4047e+00_rb, & &3.6050e+00_rb,1.8055e+00_rb,3.5095e-04_rb/) kao(:, 1,11, 2) = (/ & &1.5305e+01_rb,1.3391e+01_rb,1.1479e+01_rb,9.5654e+00_rb,7.6527e+00_rb,5.7399e+00_rb, & &3.8269e+00_rb,1.9139e+00_rb,2.5263e-04_rb/) kao(:, 2,11, 2) = (/ & &1.7053e+01_rb,1.4921e+01_rb,1.2790e+01_rb,1.0658e+01_rb,8.5272e+00_rb,6.3954e+00_rb, & &4.2646e+00_rb,2.1334e+00_rb,3.2671e-04_rb/) kao(:, 3,11, 2) = (/ & &1.8597e+01_rb,1.6273e+01_rb,1.3949e+01_rb,1.1625e+01_rb,9.3007e+00_rb,6.9759e+00_rb, & &4.6520e+00_rb,2.3277e+00_rb,3.9618e-04_rb/) kao(:, 4,11, 2) = (/ & &1.9894e+01_rb,1.7409e+01_rb,1.4922e+01_rb,1.2436e+01_rb,9.9497e+00_rb,7.4632e+00_rb, & &4.9771e+00_rb,2.4907e+00_rb,4.6029e-04_rb/) kao(:, 5,11, 2) = (/ & &2.0957e+01_rb,1.8337e+01_rb,1.5718e+01_rb,1.3099e+01_rb,1.0480e+01_rb,7.8611e+00_rb, & &5.2427e+00_rb,2.6238e+00_rb,5.1000e-04_rb/) kao(:, 1,12, 2) = (/ & &1.6595e+01_rb,1.4521e+01_rb,1.2446e+01_rb,1.0372e+01_rb,8.2975e+00_rb,6.2234e+00_rb, & &4.1492e+00_rb,2.0749e+00_rb,2.8721e-04_rb/) kao(:, 2,12, 2) = (/ & &1.8487e+01_rb,1.6178e+01_rb,1.3866e+01_rb,1.1556e+01_rb,9.2444e+00_rb,6.9339e+00_rb, & &4.6231e+00_rb,2.3126e+00_rb,3.5210e-04_rb/) kao(:, 3,12, 2) = (/ & &2.0157e+01_rb,1.7638e+01_rb,1.5119e+01_rb,1.2600e+01_rb,1.0080e+01_rb,7.5607e+00_rb, & &5.0414e+00_rb,2.5223e+00_rb,4.4248e-04_rb/) kao(:, 4,12, 2) = (/ & &2.1568e+01_rb,1.8872e+01_rb,1.6176e+01_rb,1.3480e+01_rb,1.0785e+01_rb,8.0897e+00_rb, & &5.3945e+00_rb,2.6993e+00_rb,5.0244e-04_rb/) kao(:, 5,12, 2) = (/ & &2.2671e+01_rb,1.9838e+01_rb,1.7004e+01_rb,1.4170e+01_rb,1.1337e+01_rb,8.5042e+00_rb, & &5.6711e+00_rb,2.8381e+00_rb,5.5567e-04_rb/) kao(:, 1,13, 2) = (/ & &1.4451e+01_rb,1.2644e+01_rb,1.0838e+01_rb,9.0321e+00_rb,7.2259e+00_rb,5.4197e+00_rb, & &3.6133e+00_rb,1.8070e+00_rb,2.7932e-04_rb/) kao(:, 2,13, 2) = (/ & &1.6097e+01_rb,1.4085e+01_rb,1.2073e+01_rb,1.0061e+01_rb,8.0489e+00_rb,6.0372e+00_rb, & &4.0253e+00_rb,2.0137e+00_rb,3.2799e-04_rb/) kao(:, 3,13, 2) = (/ & &1.7564e+01_rb,1.5369e+01_rb,1.3173e+01_rb,1.0978e+01_rb,8.7826e+00_rb,6.5876e+00_rb, & &4.3925e+00_rb,2.1975e+00_rb,4.0780e-04_rb/) kao(:, 4,13, 2) = (/ & &1.8771e+01_rb,1.6426e+01_rb,1.4079e+01_rb,1.1733e+01_rb,9.3868e+00_rb,7.0409e+00_rb, & &4.6954e+00_rb,2.3495e+00_rb,5.0230e-04_rb/) kao(:, 5,13, 2) = (/ & &1.9694e+01_rb,1.7232e+01_rb,1.4771e+01_rb,1.2310e+01_rb,9.8489e+00_rb,7.3875e+00_rb, & &4.9264e+00_rb,2.4656e+00_rb,5.5102e-04_rb/) kao(:, 1, 1, 3) = (/ & &3.7564e-02_rb,3.3492e-02_rb,2.9385e-02_rb,2.5064e-02_rb,2.0679e-02_rb,1.6159e-02_rb, & &1.1502e-02_rb,6.5367e-03_rb,3.9794e-04_rb/) kao(:, 2, 1, 3) = (/ & &3.6916e-02_rb,3.3151e-02_rb,2.9160e-02_rb,2.5018e-02_rb,2.0751e-02_rb,1.6389e-02_rb, & &1.1901e-02_rb,7.2678e-03_rb,5.4686e-04_rb/) kao(:, 3, 1, 3) = (/ & &3.6399e-02_rb,3.2903e-02_rb,2.9031e-02_rb,2.5012e-02_rb,2.0900e-02_rb,1.6718e-02_rb, & &1.2389e-02_rb,8.0801e-03_rb,7.4220e-04_rb/) kao(:, 4, 1, 3) = (/ & &3.6126e-02_rb,3.2782e-02_rb,2.9047e-02_rb,2.5198e-02_rb,2.1279e-02_rb,1.7152e-02_rb, & &1.3045e-02_rb,8.9482e-03_rb,8.9478e-04_rb/) kao(:, 5, 1, 3) = (/ & &3.5996e-02_rb,3.2833e-02_rb,2.9270e-02_rb,2.5593e-02_rb,2.1712e-02_rb,1.7723e-02_rb, & &1.3812e-02_rb,9.7243e-03_rb,1.0975e-03_rb/) kao(:, 1, 2, 3) = (/ & &4.9545e-02_rb,4.3840e-02_rb,3.8273e-02_rb,3.2472e-02_rb,2.6558e-02_rb,2.0510e-02_rb, & &1.4332e-02_rb,7.7992e-03_rb,3.0769e-04_rb/) kao(:, 2, 2, 3) = (/ & &4.8709e-02_rb,4.3359e-02_rb,3.7969e-02_rb,3.2304e-02_rb,2.6513e-02_rb,2.0603e-02_rb, & &1.4626e-02_rb,8.4051e-03_rb,4.1476e-04_rb/) kao(:, 3, 2, 3) = (/ & &4.8165e-02_rb,4.3120e-02_rb,3.7795e-02_rb,3.2248e-02_rb,2.6570e-02_rb,2.0838e-02_rb, & &1.4977e-02_rb,8.9685e-03_rb,5.6832e-04_rb/) kao(:, 4, 2, 3) = (/ & &4.7962e-02_rb,4.3077e-02_rb,3.7844e-02_rb,3.2393e-02_rb,2.6873e-02_rb,2.1238e-02_rb, & &1.5407e-02_rb,9.6431e-03_rb,6.7745e-04_rb/) kao(:, 5, 2, 3) = (/ & &4.8025e-02_rb,4.3378e-02_rb,3.8202e-02_rb,3.2847e-02_rb,2.7374e-02_rb,2.1742e-02_rb, & &1.5999e-02_rb,1.0391e-02_rb,8.3539e-04_rb/) kao(:, 1, 3, 3) = (/ & &8.8120e-02_rb,7.7386e-02_rb,6.6977e-02_rb,5.6500e-02_rb,4.5838e-02_rb,3.5027e-02_rb, & &2.3995e-02_rb,1.2704e-02_rb,2.2676e-04_rb/) kao(:, 2, 3, 3) = (/ & &8.6799e-02_rb,7.6419e-02_rb,6.6419e-02_rb,5.6119e-02_rb,4.5623e-02_rb,3.4916e-02_rb, & &2.4025e-02_rb,1.3004e-02_rb,3.0168e-04_rb/) kao(:, 3, 3, 3) = (/ & &8.6001e-02_rb,7.6005e-02_rb,6.6184e-02_rb,5.6008e-02_rb,4.5591e-02_rb,3.4990e-02_rb, & &2.4263e-02_rb,1.3424e-02_rb,3.9676e-04_rb/) kao(:, 4, 3, 3) = (/ & &8.5691e-02_rb,7.5994e-02_rb,6.6270e-02_rb,5.6158e-02_rb,4.5788e-02_rb,3.5296e-02_rb, & &2.4707e-02_rb,1.3830e-02_rb,4.9186e-04_rb/) kao(:, 5, 3, 3) = (/ & &8.6172e-02_rb,7.6716e-02_rb,6.6965e-02_rb,5.6820e-02_rb,4.6489e-02_rb,3.5977e-02_rb, & &2.5332e-02_rb,1.4387e-02_rb,6.1173e-04_rb/) kao(:, 1, 4, 3) = (/ & &1.6100e-01_rb,1.4106e-01_rb,1.2117e-01_rb,1.0160e-01_rb,8.1953e-02_rb,6.2189e-02_rb, & &4.2184e-02_rb,2.1860e-02_rb,1.5920e-04_rb/) kao(:, 2, 4, 3) = (/ & &1.5854e-01_rb,1.3897e-01_rb,1.1977e-01_rb,1.0067e-01_rb,8.1408e-02_rb,6.1866e-02_rb, & &4.2083e-02_rb,2.1896e-02_rb,2.1901e-04_rb/) kao(:, 3, 4, 3) = (/ & &1.5713e-01_rb,1.3793e-01_rb,1.1924e-01_rb,1.0046e-01_rb,8.1310e-02_rb,6.1926e-02_rb, & &4.2176e-02_rb,2.2134e-02_rb,2.8281e-04_rb/) kao(:, 4, 4, 3) = (/ & &1.5680e-01_rb,1.3795e-01_rb,1.1956e-01_rb,1.0071e-01_rb,8.1588e-02_rb,6.2136e-02_rb, & &4.2469e-02_rb,2.2574e-02_rb,3.5509e-04_rb/) kao(:, 5, 4, 3) = (/ & &1.5807e-01_rb,1.3940e-01_rb,1.2093e-01_rb,1.0191e-01_rb,8.2580e-02_rb,6.3036e-02_rb, & &4.3252e-02_rb,2.3169e-02_rb,4.4437e-04_rb/) kao(:, 1, 5, 3) = (/ & &2.7295e-01_rb,2.3896e-01_rb,2.0497e-01_rb,1.7107e-01_rb,1.3742e-01_rb,1.0372e-01_rb, & &6.9897e-02_rb,3.5756e-02_rb,1.1345e-04_rb/) kao(:, 2, 5, 3) = (/ & &2.6909e-01_rb,2.3567e-01_rb,2.0228e-01_rb,1.6922e-01_rb,1.3618e-01_rb,1.0303e-01_rb, & &6.9598e-02_rb,3.5741e-02_rb,1.5887e-04_rb/) kao(:, 3, 5, 3) = (/ & &2.6654e-01_rb,2.3348e-01_rb,2.0077e-01_rb,1.6833e-01_rb,1.3583e-01_rb,1.0288e-01_rb, & &6.9627e-02_rb,3.5834e-02_rb,2.0432e-04_rb/) kao(:, 4, 5, 3) = (/ & &2.6633e-01_rb,2.3346e-01_rb,2.0125e-01_rb,1.6903e-01_rb,1.3632e-01_rb,1.0334e-01_rb, & &6.9968e-02_rb,3.6152e-02_rb,2.5784e-04_rb/) kao(:, 5, 5, 3) = (/ & &2.6868e-01_rb,2.3592e-01_rb,2.0366e-01_rb,1.7109e-01_rb,1.3803e-01_rb,1.0467e-01_rb, & &7.0932e-02_rb,3.6877e-02_rb,3.2436e-04_rb/) kao(:, 1, 6, 3) = (/ & &4.3357e-01_rb,3.7951e-01_rb,3.2542e-01_rb,2.7129e-01_rb,2.1728e-01_rb,1.6346e-01_rb, & &1.0964e-01_rb,5.5662e-02_rb,8.3325e-05_rb/) kao(:, 2, 6, 3) = (/ & &4.2794e-01_rb,3.7459e-01_rb,3.2123e-01_rb,2.6798e-01_rb,2.1494e-01_rb,1.6197e-01_rb, & &1.0894e-01_rb,5.5488e-02_rb,1.1433e-04_rb/) kao(:, 3, 6, 3) = (/ & &4.2362e-01_rb,3.7090e-01_rb,3.1822e-01_rb,2.6585e-01_rb,2.1359e-01_rb,1.6133e-01_rb, & &1.0870e-01_rb,5.5444e-02_rb,1.4294e-04_rb/) kao(:, 4, 6, 3) = (/ & &4.2356e-01_rb,3.7092e-01_rb,3.1860e-01_rb,2.6656e-01_rb,2.1457e-01_rb,1.6217e-01_rb, & &1.0928e-01_rb,5.5858e-02_rb,1.8487e-04_rb/) kao(:, 5, 6, 3) = (/ & &4.2732e-01_rb,3.7444e-01_rb,3.2213e-01_rb,2.6992e-01_rb,2.1742e-01_rb,1.6433e-01_rb, & &1.1084e-01_rb,5.6756e-02_rb,2.3367e-04_rb/) kao(:, 1, 7, 3) = (/ & &7.2201e-01_rb,6.3185e-01_rb,5.4168e-01_rb,4.5148e-01_rb,3.6131e-01_rb,2.7123e-01_rb, & &1.8131e-01_rb,9.1347e-02_rb,6.1051e-05_rb/) kao(:, 2, 7, 3) = (/ & &7.1295e-01_rb,6.2391e-01_rb,5.3487e-01_rb,4.4585e-01_rb,3.5694e-01_rb,2.6824e-01_rb, & &1.7961e-01_rb,9.0876e-02_rb,8.2662e-05_rb/) kao(:, 3, 7, 3) = (/ & &7.0704e-01_rb,6.1882e-01_rb,5.3061e-01_rb,4.4252e-01_rb,3.5463e-01_rb,2.6681e-01_rb, & &1.7908e-01_rb,9.0926e-02_rb,1.0796e-04_rb/) kao(:, 4, 7, 3) = (/ & &7.0657e-01_rb,6.1841e-01_rb,5.3039e-01_rb,4.4278e-01_rb,3.5513e-01_rb,2.6769e-01_rb, & &1.7995e-01_rb,9.1305e-02_rb,1.3920e-04_rb/) kao(:, 5, 7, 3) = (/ & &7.1310e-01_rb,6.2430e-01_rb,5.3600e-01_rb,4.4782e-01_rb,3.5976e-01_rb,2.7158e-01_rb, & &1.8261e-01_rb,9.2814e-02_rb,1.7572e-04_rb/) kao(:, 1, 8, 3) = (/ & &1.4344e+00_rb,1.2551e+00_rb,1.0759e+00_rb,8.9667e-01_rb,7.1735e-01_rb,5.3821e-01_rb, & &3.5899e-01_rb,1.8011e-01_rb,7.5748e-05_rb/) kao(:, 2, 8, 3) = (/ & &1.4191e+00_rb,1.2419e+00_rb,1.0645e+00_rb,8.8713e-01_rb,7.0979e-01_rb,5.3268e-01_rb, & &3.5557e-01_rb,1.7867e-01_rb,9.9921e-05_rb/) kao(:, 3, 8, 3) = (/ & &1.4086e+00_rb,1.2327e+00_rb,1.0566e+00_rb,8.8065e-01_rb,7.0478e-01_rb,5.2920e-01_rb, & &3.5364e-01_rb,1.7813e-01_rb,1.2236e-04_rb/) kao(:, 4, 8, 3) = (/ & &1.4087e+00_rb,1.2327e+00_rb,1.0568e+00_rb,8.8106e-01_rb,7.0553e-01_rb,5.2998e-01_rb, & &3.5460e-01_rb,1.7919e-01_rb,1.5414e-04_rb/) kao(:, 5, 8, 3) = (/ & &1.4217e+00_rb,1.2444e+00_rb,1.0672e+00_rb,8.9025e-01_rb,7.1327e-01_rb,5.3627e-01_rb, & &3.5965e-01_rb,1.8202e-01_rb,1.9115e-04_rb/) kao(:, 1, 9, 3) = (/ & &5.3656e+00_rb,4.6949e+00_rb,4.0244e+00_rb,3.3536e+00_rb,2.6829e+00_rb,2.0124e+00_rb, & &1.3418e+00_rb,6.7121e-01_rb,1.2938e-04_rb/) kao(:, 2, 9, 3) = (/ & &5.3249e+00_rb,4.6593e+00_rb,3.9938e+00_rb,3.3284e+00_rb,2.6628e+00_rb,1.9972e+00_rb, & &1.3317e+00_rb,6.6623e-01_rb,1.6248e-04_rb/) kao(:, 3, 9, 3) = (/ & &5.2842e+00_rb,4.6238e+00_rb,3.9633e+00_rb,3.3029e+00_rb,2.6426e+00_rb,1.9822e+00_rb, & &1.3219e+00_rb,6.6174e-01_rb,2.1505e-04_rb/) kao(:, 4, 9, 3) = (/ & &5.2909e+00_rb,4.6297e+00_rb,3.9685e+00_rb,3.3074e+00_rb,2.6461e+00_rb,1.9850e+00_rb, & &1.3243e+00_rb,6.6344e-01_rb,2.5323e-04_rb/) kao(:, 5, 9, 3) = (/ & &5.3328e+00_rb,4.6665e+00_rb,4.0003e+00_rb,3.3342e+00_rb,2.6682e+00_rb,2.0021e+00_rb, & &1.3361e+00_rb,6.6998e-01_rb,2.8724e-04_rb/) kao(:, 1,10, 3) = (/ & &2.2338e+01_rb,1.9545e+01_rb,1.6753e+01_rb,1.3961e+01_rb,1.1170e+01_rb,8.3767e+00_rb, & &5.5849e+00_rb,2.7925e+00_rb,2.7123e-04_rb/) kao(:, 2,10, 3) = (/ & &2.2247e+01_rb,1.9467e+01_rb,1.6686e+01_rb,1.3905e+01_rb,1.1124e+01_rb,8.3431e+00_rb, & &5.5623e+00_rb,2.7817e+00_rb,3.3076e-04_rb/) kao(:, 3,10, 3) = (/ & &2.2079e+01_rb,1.9319e+01_rb,1.6560e+01_rb,1.3800e+01_rb,1.1040e+01_rb,8.2801e+00_rb, & &5.5205e+00_rb,2.7607e+00_rb,4.2235e-04_rb/) kao(:, 4,10, 3) = (/ & &2.2133e+01_rb,1.9366e+01_rb,1.6600e+01_rb,1.3833e+01_rb,1.1067e+01_rb,8.3005e+00_rb, & &5.5343e+00_rb,2.7680e+00_rb,4.8628e-04_rb/) kao(:, 5,10, 3) = (/ & &2.2337e+01_rb,1.9545e+01_rb,1.6754e+01_rb,1.3962e+01_rb,1.1171e+01_rb,8.3788e+00_rb, & &5.5873e+00_rb,2.7956e+00_rb,6.0636e-04_rb/) kao(:, 1,11, 3) = (/ & &3.2372e+01_rb,2.8324e+01_rb,2.4279e+01_rb,2.0232e+01_rb,1.6186e+01_rb,1.2140e+01_rb, & &8.0929e+00_rb,4.0469e+00_rb,3.8659e-04_rb/) kao(:, 2,11, 3) = (/ & &3.2225e+01_rb,2.8197e+01_rb,2.4169e+01_rb,2.0141e+01_rb,1.6113e+01_rb,1.2085e+01_rb, & &8.0568e+00_rb,4.0284e+00_rb,4.6837e-04_rb/) kao(:, 3,11, 3) = (/ & &3.2089e+01_rb,2.8078e+01_rb,2.4068e+01_rb,2.0057e+01_rb,1.6046e+01_rb,1.2035e+01_rb, & &8.0232e+00_rb,4.0121e+00_rb,5.6676e-04_rb/) kao(:, 4,11, 3) = (/ & &3.2281e+01_rb,2.8246e+01_rb,2.4212e+01_rb,2.0176e+01_rb,1.6141e+01_rb,1.2106e+01_rb, & &8.0716e+00_rb,4.0370e+00_rb,7.3031e-04_rb/) kao(:, 5,11, 3) = (/ & &3.2736e+01_rb,2.8646e+01_rb,2.4553e+01_rb,2.0462e+01_rb,1.6370e+01_rb,1.2278e+01_rb, & &8.1864e+00_rb,4.0949e+00_rb,8.3516e-04_rb/) kao(:, 1,12, 3) = (/ & &3.4882e+01_rb,3.0522e+01_rb,2.6162e+01_rb,2.1802e+01_rb,1.7441e+01_rb,1.3081e+01_rb, & &8.7208e+00_rb,4.3607e+00_rb,4.1853e-04_rb/) kao(:, 2,12, 3) = (/ & &3.4744e+01_rb,3.0400e+01_rb,2.6058e+01_rb,2.1715e+01_rb,1.7372e+01_rb,1.3029e+01_rb, & &8.6862e+00_rb,4.3435e+00_rb,5.1635e-04_rb/) kao(:, 3,12, 3) = (/ & &3.4694e+01_rb,3.0356e+01_rb,2.6020e+01_rb,2.1683e+01_rb,1.7347e+01_rb,1.3010e+01_rb, & &8.6737e+00_rb,4.3374e+00_rb,5.8258e-04_rb/) kao(:, 4,12, 3) = (/ & &3.4999e+01_rb,3.0625e+01_rb,2.6249e+01_rb,2.1876e+01_rb,1.7501e+01_rb,1.3126e+01_rb, & &8.7513e+00_rb,4.3768e+00_rb,7.2545e-04_rb/) kao(:, 5,12, 3) = (/ & &3.5658e+01_rb,3.1201e+01_rb,2.6744e+01_rb,2.2288e+01_rb,1.7831e+01_rb,1.3374e+01_rb, & &8.9165e+00_rb,4.4593e+00_rb,9.3950e-04_rb/) kao(:, 1,13, 3) = (/ & &3.0168e+01_rb,2.6399e+01_rb,2.2627e+01_rb,1.8855e+01_rb,1.5085e+01_rb,1.1314e+01_rb, & &7.5425e+00_rb,3.7715e+00_rb,4.1524e-04_rb/) kao(:, 2,13, 3) = (/ & &3.0082e+01_rb,2.6321e+01_rb,2.2562e+01_rb,1.8800e+01_rb,1.5040e+01_rb,1.1280e+01_rb, & &7.5203e+00_rb,3.7604e+00_rb,5.1897e-04_rb/) kao(:, 3,13, 3) = (/ & &3.0098e+01_rb,2.6336e+01_rb,2.2574e+01_rb,1.8812e+01_rb,1.5049e+01_rb,1.1287e+01_rb, & &7.5253e+00_rb,3.7634e+00_rb,6.3490e-04_rb/) kao(:, 4,13, 3) = (/ & &3.0488e+01_rb,2.6677e+01_rb,2.2867e+01_rb,1.9056e+01_rb,1.5245e+01_rb,1.1434e+01_rb, & &7.6233e+00_rb,3.8122e+00_rb,7.3304e-04_rb/) kao(:, 5,13, 3) = (/ & &3.1139e+01_rb,2.7247e+01_rb,2.3355e+01_rb,1.9463e+01_rb,1.5570e+01_rb,1.1678e+01_rb, & &7.7859e+00_rb,3.8940e+00_rb,8.6573e-04_rb/) kao(:, 1, 1, 4) = (/ & &5.2057e-02_rb,4.6191e-02_rb,4.0791e-02_rb,3.5264e-02_rb,2.9386e-02_rb,2.3311e-02_rb, & &1.6933e-02_rb,9.9741e-03_rb,9.4742e-04_rb/) kao(:, 2, 1, 4) = (/ & &5.1799e-02_rb,4.6370e-02_rb,4.1424e-02_rb,3.5942e-02_rb,3.0151e-02_rb,2.4090e-02_rb, & &1.7827e-02_rb,1.1138e-02_rb,1.1643e-03_rb/) kao(:, 3, 1, 4) = (/ & &5.1774e-02_rb,4.6875e-02_rb,4.2240e-02_rb,3.6825e-02_rb,3.1105e-02_rb,2.5101e-02_rb, & &1.8967e-02_rb,1.2189e-02_rb,1.4467e-03_rb/) kao(:, 4, 1, 4) = (/ & &5.2049e-02_rb,4.7822e-02_rb,4.3286e-02_rb,3.7962e-02_rb,3.2336e-02_rb,2.6505e-02_rb, & &2.0163e-02_rb,1.3176e-02_rb,1.8457e-03_rb/) kao(:, 5, 1, 4) = (/ & &5.2435e-02_rb,4.8877e-02_rb,4.4449e-02_rb,3.9288e-02_rb,3.3894e-02_rb,2.7971e-02_rb, & &2.1357e-02_rb,1.4142e-02_rb,2.2765e-03_rb/) kao(:, 1, 2, 4) = (/ & &6.9283e-02_rb,6.1124e-02_rb,5.3312e-02_rb,4.5637e-02_rb,3.7639e-02_rb,2.9444e-02_rb, & &2.0926e-02_rb,1.1987e-02_rb,6.7708e-04_rb/) kao(:, 2, 2, 4) = (/ & &6.9230e-02_rb,6.1365e-02_rb,5.4052e-02_rb,4.6528e-02_rb,3.8569e-02_rb,3.0382e-02_rb, & &2.1758e-02_rb,1.2938e-02_rb,8.4618e-04_rb/) kao(:, 3, 2, 4) = (/ & &6.9474e-02_rb,6.2065e-02_rb,5.5235e-02_rb,4.7695e-02_rb,3.9803e-02_rb,3.1502e-02_rb, & &2.2924e-02_rb,1.3989e-02_rb,1.0726e-03_rb/) kao(:, 4, 2, 4) = (/ & &7.0041e-02_rb,6.3262e-02_rb,5.6631e-02_rb,4.9140e-02_rb,4.1246e-02_rb,3.2954e-02_rb, & &2.4393e-02_rb,1.5061e-02_rb,1.3926e-03_rb/) kao(:, 5, 2, 4) = (/ & &7.0798e-02_rb,6.4648e-02_rb,5.8174e-02_rb,5.0781e-02_rb,4.2976e-02_rb,3.4744e-02_rb, & &2.5864e-02_rb,1.6092e-02_rb,1.7223e-03_rb/) kao(:, 1, 3, 4) = (/ & &1.2468e-01_rb,1.0948e-01_rb,9.4277e-02_rb,7.9471e-02_rb,6.4703e-02_rb,4.9713e-02_rb, & &3.4483e-02_rb,1.8729e-02_rb,4.6220e-04_rb/) kao(:, 2, 3, 4) = (/ & &1.2473e-01_rb,1.0972e-01_rb,9.4939e-02_rb,8.0505e-02_rb,6.5924e-02_rb,5.0895e-02_rb, & &3.5571e-02_rb,1.9546e-02_rb,5.8785e-04_rb/) kao(:, 3, 3, 4) = (/ & &1.2557e-01_rb,1.1074e-01_rb,9.6443e-02_rb,8.2330e-02_rb,6.7617e-02_rb,5.2547e-02_rb, & &3.6938e-02_rb,2.0666e-02_rb,7.7467e-04_rb/) kao(:, 4, 3, 4) = (/ & &1.2675e-01_rb,1.1231e-01_rb,9.8604e-02_rb,8.4502e-02_rb,6.9700e-02_rb,5.4472e-02_rb, & &3.8553e-02_rb,2.2075e-02_rb,9.9922e-04_rb/) kao(:, 5, 3, 4) = (/ & &1.2846e-01_rb,1.1449e-01_rb,1.0119e-01_rb,8.7016e-02_rb,7.2084e-02_rb,5.6669e-02_rb, & &4.0555e-02_rb,2.3518e-02_rb,1.2453e-03_rb/) kao(:, 1, 4, 4) = (/ & &2.3029e-01_rb,2.0185e-01_rb,1.7335e-01_rb,1.4485e-01_rb,1.1669e-01_rb,8.8611e-02_rb, & &6.0409e-02_rb,3.1699e-02_rb,3.0371e-04_rb/) kao(:, 2, 4, 4) = (/ & &2.2988e-01_rb,2.0158e-01_rb,1.7329e-01_rb,1.4525e-01_rb,1.1751e-01_rb,8.9738e-02_rb, & &6.1449e-02_rb,3.2569e-02_rb,4.0236e-04_rb/) kao(:, 3, 4, 4) = (/ & &2.3229e-01_rb,2.0393e-01_rb,1.7566e-01_rb,1.4780e-01_rb,1.2020e-01_rb,9.2062e-02_rb, & &6.3397e-02_rb,3.3957e-02_rb,5.4454e-04_rb/) kao(:, 4, 4, 4) = (/ & &2.3507e-01_rb,2.0665e-01_rb,1.7868e-01_rb,1.5121e-01_rb,1.2350e-01_rb,9.4964e-02_rb, & &6.5854e-02_rb,3.5604e-02_rb,7.0998e-04_rb/) kao(:, 5, 4, 4) = (/ & &2.3825e-01_rb,2.0990e-01_rb,1.8240e-01_rb,1.5515e-01_rb,1.2704e-01_rb,9.8075e-02_rb, & &6.8384e-02_rb,3.7494e-02_rb,8.9536e-04_rb/) kao(:, 1, 5, 4) = (/ & &3.8945e-01_rb,3.4103e-01_rb,2.9259e-01_rb,2.4415e-01_rb,1.9571e-01_rb,1.4754e-01_rb, & &9.9565e-02_rb,5.1352e-02_rb,2.0409e-04_rb/) kao(:, 2, 5, 4) = (/ & &3.8981e-01_rb,3.4147e-01_rb,2.9305e-01_rb,2.4466e-01_rb,1.9659e-01_rb,1.4875e-01_rb, & &1.0088e-01_rb,5.2387e-02_rb,2.7339e-04_rb/) kao(:, 3, 5, 4) = (/ & &3.9497e-01_rb,3.4612e-01_rb,2.9724e-01_rb,2.4861e-01_rb,2.0028e-01_rb,1.5226e-01_rb, & &1.0369e-01_rb,5.4177e-02_rb,3.7984e-04_rb/) kao(:, 4, 5, 4) = (/ & &4.0149e-01_rb,3.5204e-01_rb,3.0270e-01_rb,2.5382e-01_rb,2.0546e-01_rb,1.5684e-01_rb, & &1.0724e-01_rb,5.6458e-02_rb,5.0160e-04_rb/) kao(:, 5, 5, 4) = (/ & &4.0773e-01_rb,3.5786e-01_rb,3.0839e-01_rb,2.5956e-01_rb,2.1090e-01_rb,1.6141e-01_rb, & &1.1086e-01_rb,5.8838e-02_rb,6.4384e-04_rb/) kao(:, 1, 6, 4) = (/ & &6.2109e-01_rb,5.4370e-01_rb,4.6619e-01_rb,3.8877e-01_rb,3.1132e-01_rb,2.3383e-01_rb, & &1.5671e-01_rb,7.9602e-02_rb,1.3341e-04_rb/) kao(:, 2, 6, 4) = (/ & &6.2314e-01_rb,5.4556e-01_rb,4.6793e-01_rb,3.9037e-01_rb,3.1270e-01_rb,2.3534e-01_rb, & &1.5827e-01_rb,8.0992e-02_rb,1.8152e-04_rb/) kao(:, 3, 6, 4) = (/ & &6.2957e-01_rb,5.5136e-01_rb,4.7308e-01_rb,3.9475e-01_rb,3.1676e-01_rb,2.3906e-01_rb, & &1.6147e-01_rb,8.3225e-02_rb,2.5970e-04_rb/) kao(:, 4, 6, 4) = (/ & &6.4091e-01_rb,5.6147e-01_rb,4.8196e-01_rb,4.0265e-01_rb,3.2370e-01_rb,2.4515e-01_rb, & &1.6638e-01_rb,8.6255e-02_rb,3.5139e-04_rb/) kao(:, 5, 6, 4) = (/ & &6.5388e-01_rb,5.7307e-01_rb,4.9223e-01_rb,4.1191e-01_rb,3.3205e-01_rb,2.5237e-01_rb, & &1.7171e-01_rb,8.9448e-02_rb,4.5531e-04_rb/) kao(:, 1, 7, 4) = (/ & &1.0457e+00_rb,9.1519e-01_rb,7.8460e-01_rb,6.5401e-01_rb,5.2349e-01_rb,3.9292e-01_rb, & &2.6230e-01_rb,1.3220e-01_rb,1.0032e-04_rb/) kao(:, 2, 7, 4) = (/ & &1.0500e+00_rb,9.1906e-01_rb,7.8807e-01_rb,6.5699e-01_rb,5.2599e-01_rb,3.9492e-01_rb, & &2.6410e-01_rb,1.3358e-01_rb,1.3899e-04_rb/) kao(:, 3, 7, 4) = (/ & &1.0598e+00_rb,9.2774e-01_rb,7.9565e-01_rb,6.6349e-01_rb,5.3130e-01_rb,3.9936e-01_rb, & &2.6782e-01_rb,1.3620e-01_rb,1.8444e-04_rb/) kao(:, 4, 7, 4) = (/ & &1.0743e+00_rb,9.4059e-01_rb,8.0685e-01_rb,6.7311e-01_rb,5.3945e-01_rb,4.0621e-01_rb, & &2.7331e-01_rb,1.3995e-01_rb,2.4657e-04_rb/) kao(:, 5, 7, 4) = (/ & &1.0996e+00_rb,9.6289e-01_rb,8.2608e-01_rb,6.8953e-01_rb,5.5342e-01_rb,4.1738e-01_rb, & &2.8182e-01_rb,1.4485e-01_rb,3.2431e-04_rb/) kao(:, 1, 8, 4) = (/ & &2.1071e+00_rb,1.8438e+00_rb,1.5804e+00_rb,1.3173e+00_rb,1.0540e+00_rb,7.9071e-01_rb, & &5.2749e-01_rb,2.6416e-01_rb,1.1085e-04_rb/) kao(:, 2, 8, 4) = (/ & &2.1142e+00_rb,1.8501e+00_rb,1.5861e+00_rb,1.3219e+00_rb,1.0578e+00_rb,7.9379e-01_rb, & &5.2971e-01_rb,2.6585e-01_rb,1.4810e-04_rb/) kao(:, 3, 8, 4) = (/ & &2.1318e+00_rb,1.8656e+00_rb,1.5995e+00_rb,1.3333e+00_rb,1.0671e+00_rb,8.0094e-01_rb, & &5.3475e-01_rb,2.6918e-01_rb,1.9501e-04_rb/) kao(:, 4, 8, 4) = (/ & &2.1555e+00_rb,1.8865e+00_rb,1.6175e+00_rb,1.3486e+00_rb,1.0795e+00_rb,8.1059e-01_rb, & &5.4205e-01_rb,2.7386e-01_rb,2.4224e-04_rb/) kao(:, 5, 8, 4) = (/ & &2.2062e+00_rb,1.9311e+00_rb,1.6560e+00_rb,1.3807e+00_rb,1.1056e+00_rb,8.3087e-01_rb, & &5.5626e-01_rb,2.8214e-01_rb,2.8558e-04_rb/) kao(:, 1, 9, 4) = (/ & &7.9972e+00_rb,6.9979e+00_rb,5.9979e+00_rb,4.9986e+00_rb,3.9987e+00_rb,2.9994e+00_rb, & &1.9999e+00_rb,1.0002e+00_rb,1.8668e-04_rb/) kao(:, 2, 9, 4) = (/ & &8.0128e+00_rb,7.0114e+00_rb,6.0097e+00_rb,5.0085e+00_rb,4.0070e+00_rb,3.0056e+00_rb, & &2.0042e+00_rb,1.0027e+00_rb,2.5150e-04_rb/) kao(:, 3, 9, 4) = (/ & &8.0805e+00_rb,7.0702e+00_rb,6.0607e+00_rb,5.0509e+00_rb,4.0412e+00_rb,3.0319e+00_rb, & &2.0219e+00_rb,1.0119e+00_rb,3.0396e-04_rb/) kao(:, 4, 9, 4) = (/ & &8.1743e+00_rb,7.1533e+00_rb,6.1315e+00_rb,5.1108e+00_rb,4.0892e+00_rb,3.0678e+00_rb, & &2.0462e+00_rb,1.0247e+00_rb,3.5321e-04_rb/) kao(:, 5, 9, 4) = (/ & &8.3409e+00_rb,7.2988e+00_rb,6.2567e+00_rb,5.2146e+00_rb,4.1728e+00_rb,3.1306e+00_rb, & &2.0885e+00_rb,1.0471e+00_rb,4.4198e-04_rb/) kao(:, 1,10, 4) = (/ & &3.3771e+01_rb,2.9548e+01_rb,2.5328e+01_rb,2.1105e+01_rb,1.6886e+01_rb,1.2665e+01_rb, & &8.4427e+00_rb,4.2216e+00_rb,4.3200e-04_rb/) kao(:, 2,10, 4) = (/ & &3.3810e+01_rb,2.9587e+01_rb,2.5358e+01_rb,2.1131e+01_rb,1.6905e+01_rb,1.2680e+01_rb, & &8.4534e+00_rb,4.2274e+00_rb,5.4393e-04_rb/) kao(:, 3,10, 4) = (/ & &3.4144e+01_rb,2.9876e+01_rb,2.5609e+01_rb,2.1340e+01_rb,1.7073e+01_rb,1.2805e+01_rb, & &8.5375e+00_rb,4.2697e+00_rb,6.4726e-04_rb/) kao(:, 4,10, 4) = (/ & &3.4577e+01_rb,3.0255e+01_rb,2.5934e+01_rb,2.1613e+01_rb,1.7291e+01_rb,1.2969e+01_rb, & &8.6471e+00_rb,4.3251e+00_rb,7.9967e-04_rb/) kao(:, 5,10, 4) = (/ & &3.5279e+01_rb,3.0869e+01_rb,2.6459e+01_rb,2.2050e+01_rb,1.7642e+01_rb,1.3232e+01_rb, & &8.8233e+00_rb,4.4139e+00_rb,8.8613e-04_rb/) kao(:, 1,11, 4) = (/ & &4.9379e+01_rb,4.3210e+01_rb,3.7035e+01_rb,3.0865e+01_rb,2.4692e+01_rb,1.8519e+01_rb, & &1.2346e+01_rb,6.1734e+00_rb,5.9531e-04_rb/) kao(:, 2,11, 4) = (/ & &4.9664e+01_rb,4.3455e+01_rb,3.7247e+01_rb,3.1040e+01_rb,2.4833e+01_rb,1.8625e+01_rb, & &1.2417e+01_rb,6.2092e+00_rb,7.3911e-04_rb/) kao(:, 3,11, 4) = (/ & &5.0351e+01_rb,4.4056e+01_rb,3.7762e+01_rb,3.1470e+01_rb,2.5175e+01_rb,1.8882e+01_rb, & &1.2589e+01_rb,6.2954e+00_rb,9.0535e-04_rb/) kao(:, 4,11, 4) = (/ & &5.1310e+01_rb,4.4899e+01_rb,3.8484e+01_rb,3.2071e+01_rb,2.5657e+01_rb,1.9244e+01_rb, & &1.2831e+01_rb,6.4171e+00_rb,1.0300e-03_rb/) kao(:, 5,11, 4) = (/ & &5.2691e+01_rb,4.6105e+01_rb,3.9519e+01_rb,3.2933e+01_rb,2.6348e+01_rb,1.9763e+01_rb, & &1.3176e+01_rb,6.5918e+00_rb,1.3056e-03_rb/) kao(:, 1,12, 4) = (/ & &5.3682e+01_rb,4.6971e+01_rb,4.0260e+01_rb,3.3552e+01_rb,2.6842e+01_rb,2.0131e+01_rb, & &1.3420e+01_rb,6.7107e+00_rb,5.9618e-04_rb/) kao(:, 2,12, 4) = (/ & &5.4209e+01_rb,4.7433e+01_rb,4.0657e+01_rb,3.3879e+01_rb,2.7104e+01_rb,2.0329e+01_rb, & &1.3553e+01_rb,6.7772e+00_rb,7.6649e-04_rb/) kao(:, 3,12, 4) = (/ & &5.5191e+01_rb,4.8293e+01_rb,4.1395e+01_rb,3.4495e+01_rb,2.7597e+01_rb,2.0697e+01_rb, & &1.3799e+01_rb,6.9009e+00_rb,9.6570e-04_rb/) kao(:, 4,12, 4) = (/ & &5.6606e+01_rb,4.9530e+01_rb,4.2455e+01_rb,3.5382e+01_rb,2.8306e+01_rb,2.1230e+01_rb, & &1.4154e+01_rb,7.0794e+00_rb,1.1503e-03_rb/) kao(:, 5,12, 4) = (/ & &5.8604e+01_rb,5.1279e+01_rb,4.3956e+01_rb,3.6631e+01_rb,2.9306e+01_rb,2.1982e+01_rb, & &1.4657e+01_rb,7.3321e+00_rb,1.3037e-03_rb/) kao(:, 1,13, 4) = (/ & &4.6897e+01_rb,4.1036e+01_rb,3.5173e+01_rb,2.9311e+01_rb,2.3449e+01_rb,1.7586e+01_rb, & &1.1724e+01_rb,5.8626e+00_rb,5.3404e-04_rb/) kao(:, 2,13, 4) = (/ & &4.7510e+01_rb,4.1569e+01_rb,3.5631e+01_rb,2.9695e+01_rb,2.3756e+01_rb,1.7817e+01_rb, & &1.1878e+01_rb,5.9396e+00_rb,7.0585e-04_rb/) kao(:, 3,13, 4) = (/ & &4.8599e+01_rb,4.2525e+01_rb,3.6450e+01_rb,3.0375e+01_rb,2.4299e+01_rb,1.8226e+01_rb, & &1.2152e+01_rb,6.0774e+00_rb,8.6599e-04_rb/) kao(:, 4,13, 4) = (/ & &5.0122e+01_rb,4.3856e+01_rb,3.7591e+01_rb,3.1328e+01_rb,2.5063e+01_rb,1.8798e+01_rb, & &1.2534e+01_rb,6.2697e+00_rb,1.0053e-03_rb/) kao(:, 5,13, 4) = (/ & &5.2215e+01_rb,4.5689e+01_rb,3.9164e+01_rb,3.2638e+01_rb,2.6111e+01_rb,1.9586e+01_rb, & &1.3060e+01_rb,6.5334e+00_rb,1.2313e-03_rb/) kao(:, 1, 1, 5) = (/ & &8.2901e-02_rb,7.3924e-02_rb,6.4657e-02_rb,5.5597e-02_rb,4.6472e-02_rb,3.6796e-02_rb, & &2.6709e-02_rb,1.5948e-02_rb,1.7802e-03_rb/) kao(:, 2, 1, 5) = (/ & &8.3370e-02_rb,7.4618e-02_rb,6.5698e-02_rb,5.7019e-02_rb,4.7812e-02_rb,3.7978e-02_rb, & &2.7855e-02_rb,1.7146e-02_rb,2.3935e-03_rb/) kao(:, 3, 1, 5) = (/ & &8.4235e-02_rb,7.5730e-02_rb,6.7257e-02_rb,5.8667e-02_rb,4.9229e-02_rb,3.9298e-02_rb, & &2.8966e-02_rb,1.8334e-02_rb,3.0382e-03_rb/) kao(:, 4, 1, 5) = (/ & &8.5176e-02_rb,7.7019e-02_rb,6.8972e-02_rb,6.0287e-02_rb,5.0680e-02_rb,4.0612e-02_rb, & &3.0271e-02_rb,1.9679e-02_rb,3.7478e-03_rb/) kao(:, 5, 1, 5) = (/ & &8.6230e-02_rb,7.8450e-02_rb,7.0705e-02_rb,6.1832e-02_rb,5.2066e-02_rb,4.2065e-02_rb, & &3.1638e-02_rb,2.1127e-02_rb,4.5344e-03_rb/) kao(:, 1, 2, 5) = (/ & &1.1319e-01_rb,1.0032e-01_rb,8.7141e-02_rb,7.4086e-02_rb,6.1196e-02_rb,4.7903e-02_rb, & &3.4053e-02_rb,1.9479e-02_rb,1.3324e-03_rb/) kao(:, 2, 2, 5) = (/ & &1.1444e-01_rb,1.0174e-01_rb,8.8783e-02_rb,7.6019e-02_rb,6.3135e-02_rb,4.9508e-02_rb, & &3.5403e-02_rb,2.0488e-02_rb,1.7827e-03_rb/) kao(:, 3, 2, 5) = (/ & &1.1608e-01_rb,1.0349e-01_rb,9.0802e-02_rb,7.8322e-02_rb,6.5118e-02_rb,5.1198e-02_rb, & &3.6801e-02_rb,2.1623e-02_rb,2.2789e-03_rb/) kao(:, 4, 2, 5) = (/ & &1.1786e-01_rb,1.0545e-01_rb,9.3147e-02_rb,8.0587e-02_rb,6.7042e-02_rb,5.2943e-02_rb, & &3.8201e-02_rb,2.2798e-02_rb,2.8272e-03_rb/) kao(:, 5, 2, 5) = (/ & &1.1969e-01_rb,1.0757e-01_rb,9.5567e-02_rb,8.2763e-02_rb,6.8961e-02_rb,5.4626e-02_rb, & &3.9785e-02_rb,2.4020e-02_rb,3.4454e-03_rb/) kao(:, 1, 3, 5) = (/ & &2.0690e-01_rb,1.8215e-01_rb,1.5725e-01_rb,1.3219e-01_rb,1.0725e-01_rb,8.2467e-02_rb, & &5.7330e-02_rb,3.1338e-02_rb,9.1573e-04_rb/) kao(:, 2, 3, 5) = (/ & &2.1013e-01_rb,1.8537e-01_rb,1.6026e-01_rb,1.3517e-01_rb,1.1017e-01_rb,8.5255e-02_rb, & &5.9448e-02_rb,3.2689e-02_rb,1.2507e-03_rb/) kao(:, 3, 3, 5) = (/ & &2.1385e-01_rb,1.8904e-01_rb,1.6379e-01_rb,1.3865e-01_rb,1.1374e-01_rb,8.8133e-02_rb, & &6.1604e-02_rb,3.4070e-02_rb,1.6182e-03_rb/) kao(:, 4, 3, 5) = (/ & &2.1772e-01_rb,1.9276e-01_rb,1.6753e-01_rb,1.4253e-01_rb,1.1723e-01_rb,9.0813e-02_rb, & &6.3766e-02_rb,3.5513e-02_rb,2.0311e-03_rb/) kao(:, 5, 3, 5) = (/ & &2.2143e-01_rb,1.9638e-01_rb,1.7123e-01_rb,1.4633e-01_rb,1.2052e-01_rb,9.3556e-02_rb, & &6.5944e-02_rb,3.7115e-02_rb,2.5088e-03_rb/) kao(:, 1, 4, 5) = (/ & &3.8507e-01_rb,3.3780e-01_rb,2.9048e-01_rb,2.4314e-01_rb,1.9570e-01_rb,1.4827e-01_rb, & &1.0100e-01_rb,5.3296e-02_rb,6.2147e-04_rb/) kao(:, 2, 4, 5) = (/ & &3.9146e-01_rb,3.4379e-01_rb,2.9605e-01_rb,2.4819e-01_rb,2.0018e-01_rb,1.5228e-01_rb, & &1.0449e-01_rb,5.5540e-02_rb,8.6088e-04_rb/) kao(:, 3, 4, 5) = (/ & &3.9930e-01_rb,3.5111e-01_rb,3.0278e-01_rb,2.5411e-01_rb,2.0550e-01_rb,1.5718e-01_rb, & &1.0825e-01_rb,5.7768e-02_rb,1.1308e-03_rb/) kao(:, 4, 4, 5) = (/ & &4.0750e-01_rb,3.5883e-01_rb,3.0957e-01_rb,2.6026e-01_rb,2.1112e-01_rb,1.6215e-01_rb, & &1.1175e-01_rb,5.9905e-02_rb,1.4435e-03_rb/) kao(:, 5, 4, 5) = (/ & &4.1540e-01_rb,3.6624e-01_rb,3.1618e-01_rb,2.6641e-01_rb,2.1709e-01_rb,1.6699e-01_rb, & &1.1521e-01_rb,6.2079e-02_rb,1.8081e-03_rb/) kao(:, 1, 5, 5) = (/ & &6.6039e-01_rb,5.7849e-01_rb,4.9659e-01_rb,4.1465e-01_rb,3.3268e-01_rb,2.5068e-01_rb, & &1.6878e-01_rb,8.6906e-02_rb,4.1392e-04_rb/) kao(:, 2, 5, 5) = (/ & &6.7138e-01_rb,5.8843e-01_rb,5.0538e-01_rb,4.2238e-01_rb,3.3940e-01_rb,2.5633e-01_rb, & &1.7334e-01_rb,9.0010e-02_rb,5.9039e-04_rb/) kao(:, 3, 5, 5) = (/ & &6.8434e-01_rb,6.0014e-01_rb,5.1596e-01_rb,4.3167e-01_rb,3.4721e-01_rb,2.6273e-01_rb, & &1.7850e-01_rb,9.3277e-02_rb,7.8856e-04_rb/) kao(:, 4, 5, 5) = (/ & &6.9935e-01_rb,6.1381e-01_rb,5.2821e-01_rb,4.4224e-01_rb,3.5606e-01_rb,2.7005e-01_rb, & &1.8435e-01_rb,9.6630e-02_rb,1.0256e-03_rb/) kao(:, 5, 5, 5) = (/ & &7.1524e-01_rb,6.2827e-01_rb,5.4104e-01_rb,4.5319e-01_rb,3.6550e-01_rb,2.7828e-01_rb, & &1.9025e-01_rb,9.9988e-02_rb,1.3023e-03_rb/) kao(:, 1, 6, 5) = (/ & &1.0605e+00_rb,9.2835e-01_rb,7.9638e-01_rb,6.6416e-01_rb,5.3204e-01_rb,3.9988e-01_rb, & &2.6772e-01_rb,1.3599e-01_rb,2.6665e-04_rb/) kao(:, 2, 6, 5) = (/ & &1.0793e+00_rb,9.4508e-01_rb,8.1097e-01_rb,6.7669e-01_rb,5.4239e-01_rb,4.0816e-01_rb, & &2.7396e-01_rb,1.4011e-01_rb,3.9578e-04_rb/) kao(:, 3, 6, 5) = (/ & &1.0996e+00_rb,9.6312e-01_rb,8.2674e-01_rb,6.9026e-01_rb,5.5385e-01_rb,4.1734e-01_rb, & &2.8093e-01_rb,1.4437e-01_rb,5.4281e-04_rb/) kao(:, 4, 6, 5) = (/ & &1.1270e+00_rb,9.8758e-01_rb,8.4814e-01_rb,7.0877e-01_rb,5.6910e-01_rb,4.2937e-01_rb, & &2.8968e-01_rb,1.4948e-01_rb,7.1692e-04_rb/) kao(:, 5, 6, 5) = (/ & &1.1549e+00_rb,1.0125e+00_rb,8.7022e-01_rb,7.2764e-01_rb,5.8478e-01_rb,4.4170e-01_rb, & &2.9907e-01_rb,1.5477e-01_rb,9.2735e-04_rb/) kao(:, 1, 7, 5) = (/ & &1.7902e+00_rb,1.5666e+00_rb,1.3432e+00_rb,1.1198e+00_rb,8.9630e-01_rb,6.7291e-01_rb, & &4.4939e-01_rb,2.2594e-01_rb,1.7788e-04_rb/) kao(:, 2, 7, 5) = (/ & &1.8253e+00_rb,1.5977e+00_rb,1.3701e+00_rb,1.1424e+00_rb,9.1476e-01_rb,6.8709e-01_rb, & &4.5936e-01_rb,2.3207e-01_rb,2.6007e-04_rb/) kao(:, 3, 7, 5) = (/ & &1.8661e+00_rb,1.6335e+00_rb,1.4010e+00_rb,1.1685e+00_rb,9.3601e-01_rb,7.0359e-01_rb, & &4.7118e-01_rb,2.3911e-01_rb,3.6579e-04_rb/) kao(:, 4, 7, 5) = (/ & &1.9131e+00_rb,1.6751e+00_rb,1.4368e+00_rb,1.1989e+00_rb,9.6095e-01_rb,7.2299e-01_rb, & &4.8503e-01_rb,2.4706e-01_rb,4.9009e-04_rb/) kao(:, 5, 7, 5) = (/ & &1.9618e+00_rb,1.7182e+00_rb,1.4745e+00_rb,1.2310e+00_rb,9.8739e-01_rb,7.4364e-01_rb, & &4.9951e-01_rb,2.5543e-01_rb,6.4417e-04_rb/) kao(:, 1, 8, 5) = (/ & &3.6222e+00_rb,3.1697e+00_rb,2.7175e+00_rb,2.2647e+00_rb,1.8122e+00_rb,1.3595e+00_rb, & &9.0703e-01_rb,4.5436e-01_rb,1.7700e-04_rb/) kao(:, 2, 8, 5) = (/ & &3.6989e+00_rb,3.2367e+00_rb,2.7747e+00_rb,2.3129e+00_rb,1.8509e+00_rb,1.3888e+00_rb, & &9.2689e-01_rb,4.6487e-01_rb,2.2396e-04_rb/) kao(:, 3, 8, 5) = (/ & &3.7900e+00_rb,3.3168e+00_rb,2.8434e+00_rb,2.3702e+00_rb,1.8972e+00_rb,1.4240e+00_rb, & &9.5085e-01_rb,4.7797e-01_rb,2.7417e-04_rb/) kao(:, 4, 8, 5) = (/ & &3.8908e+00_rb,3.4054e+00_rb,2.9198e+00_rb,2.4343e+00_rb,1.9488e+00_rb,1.4634e+00_rb, & &9.7805e-01_rb,4.9296e-01_rb,3.4875e-04_rb/) kao(:, 5, 8, 5) = (/ & &3.9856e+00_rb,3.4886e+00_rb,2.9916e+00_rb,2.4947e+00_rb,1.9978e+00_rb,1.5012e+00_rb, & &1.0044e+00_rb,5.0758e-01_rb,4.5934e-04_rb/) kao(:, 1, 9, 5) = (/ & &1.3794e+01_rb,1.2070e+01_rb,1.0346e+01_rb,8.6224e+00_rb,6.8983e+00_rb,5.1738e+00_rb, & &3.4497e+00_rb,1.7256e+00_rb,2.3317e-04_rb/) kao(:, 2, 9, 5) = (/ & &1.4093e+01_rb,1.2332e+01_rb,1.0571e+01_rb,8.8090e+00_rb,7.0478e+00_rb,5.2864e+00_rb, & &3.5250e+00_rb,1.7636e+00_rb,2.9550e-04_rb/) kao(:, 3, 9, 5) = (/ & &1.4464e+01_rb,1.2658e+01_rb,1.0848e+01_rb,9.0415e+00_rb,7.2337e+00_rb,5.4264e+00_rb, & &3.6184e+00_rb,1.8107e+00_rb,3.8639e-04_rb/) kao(:, 4, 9, 5) = (/ & &1.4855e+01_rb,1.2999e+01_rb,1.1143e+01_rb,9.2862e+00_rb,7.4306e+00_rb,5.5737e+00_rb, & &3.7173e+00_rb,1.8614e+00_rb,5.0786e-04_rb/) kao(:, 5, 9, 5) = (/ & &1.5210e+01_rb,1.3311e+01_rb,1.1410e+01_rb,9.5097e+00_rb,7.6091e+00_rb,5.7087e+00_rb, & &3.8087e+00_rb,1.9087e+00_rb,5.8982e-04_rb/) kao(:, 1,10, 5) = (/ & &5.8496e+01_rb,5.1180e+01_rb,4.3867e+01_rb,3.6556e+01_rb,2.9247e+01_rb,2.1935e+01_rb, & &1.4623e+01_rb,7.3123e+00_rb,5.6403e-04_rb/) kao(:, 2,10, 5) = (/ & &5.9786e+01_rb,5.2317e+01_rb,4.4840e+01_rb,3.7369e+01_rb,2.9895e+01_rb,2.2423e+01_rb, & &1.4947e+01_rb,7.4749e+00_rb,6.9685e-04_rb/) kao(:, 3,10, 5) = (/ & &6.1366e+01_rb,5.3692e+01_rb,4.6022e+01_rb,3.8353e+01_rb,3.0682e+01_rb,2.3012e+01_rb, & &1.5344e+01_rb,7.6729e+00_rb,8.6661e-04_rb/) kao(:, 4,10, 5) = (/ & &6.3002e+01_rb,5.5128e+01_rb,4.7254e+01_rb,3.9377e+01_rb,3.1505e+01_rb,2.3630e+01_rb, & &1.5753e+01_rb,7.8780e+00_rb,1.0403e-03_rb/) kao(:, 5,10, 5) = (/ & &6.4493e+01_rb,5.6436e+01_rb,4.8374e+01_rb,4.0310e+01_rb,3.2253e+01_rb,2.4189e+01_rb, & &1.6127e+01_rb,8.0668e+00_rb,1.2361e-03_rb/) kao(:, 1,11, 5) = (/ & &8.7182e+01_rb,7.6287e+01_rb,6.5394e+01_rb,5.4493e+01_rb,4.3594e+01_rb,3.2696e+01_rb, & &2.1798e+01_rb,1.0900e+01_rb,7.4362e-04_rb/) kao(:, 2,11, 5) = (/ & &8.9336e+01_rb,7.8172e+01_rb,6.7002e+01_rb,5.5836e+01_rb,4.4668e+01_rb,3.3502e+01_rb, & &2.2335e+01_rb,1.1168e+01_rb,9.0702e-04_rb/) kao(:, 3,11, 5) = (/ & &9.1581e+01_rb,8.0131e+01_rb,6.8688e+01_rb,5.7237e+01_rb,4.5792e+01_rb,3.4345e+01_rb, & &2.2896e+01_rb,1.1449e+01_rb,1.0809e-03_rb/) kao(:, 4,11, 5) = (/ & &9.3839e+01_rb,8.2107e+01_rb,7.0383e+01_rb,5.8658e+01_rb,4.6921e+01_rb,3.5193e+01_rb, & &2.3462e+01_rb,1.1732e+01_rb,1.3235e-03_rb/) kao(:, 5,11, 5) = (/ & &9.5958e+01_rb,8.3967e+01_rb,7.1970e+01_rb,5.9973e+01_rb,4.7982e+01_rb,3.5987e+01_rb, & &2.3994e+01_rb,1.1998e+01_rb,1.5458e-03_rb/) kao(:, 1,12, 5) = (/ & &9.6680e+01_rb,8.4597e+01_rb,7.2516e+01_rb,6.0430e+01_rb,4.8347e+01_rb,3.6257e+01_rb, & &2.4172e+01_rb,1.2087e+01_rb,8.8792e-04_rb/) kao(:, 2,12, 5) = (/ & &9.9039e+01_rb,8.6662e+01_rb,7.4284e+01_rb,6.1903e+01_rb,4.9522e+01_rb,3.7144e+01_rb, & &2.4762e+01_rb,1.2382e+01_rb,1.0348e-03_rb/) kao(:, 3,12, 5) = (/ & &1.0152e+02_rb,8.8834e+01_rb,7.6150e+01_rb,6.3450e+01_rb,5.0765e+01_rb,3.8071e+01_rb, & &2.5383e+01_rb,1.2692e+01_rb,1.2734e-03_rb/) kao(:, 4,12, 5) = (/ & &1.0389e+02_rb,9.0902e+01_rb,7.7912e+01_rb,6.4935e+01_rb,5.1946e+01_rb,3.8960e+01_rb, & &2.5973e+01_rb,1.2989e+01_rb,1.5461e-03_rb/) kao(:, 5,12, 5) = (/ & &1.0614e+02_rb,9.2872e+01_rb,7.9616e+01_rb,6.6343e+01_rb,5.3076e+01_rb,3.9807e+01_rb, & &2.6538e+01_rb,1.3271e+01_rb,1.7863e-03_rb/) kao(:, 1,13, 5) = (/ & &8.5924e+01_rb,7.5190e+01_rb,6.4446e+01_rb,5.3705e+01_rb,4.2964e+01_rb,3.2222e+01_rb, & &2.1482e+01_rb,1.0742e+01_rb,9.3650e-04_rb/) kao(:, 2,13, 5) = (/ & &8.8011e+01_rb,7.7009e+01_rb,6.6010e+01_rb,5.5012e+01_rb,4.4009e+01_rb,3.3008e+01_rb, & &2.2004e+01_rb,1.1003e+01_rb,1.0453e-03_rb/) kao(:, 3,13, 5) = (/ & &9.0165e+01_rb,7.8893e+01_rb,6.7623e+01_rb,5.6350e+01_rb,4.5080e+01_rb,3.3811e+01_rb, & &2.2542e+01_rb,1.1273e+01_rb,1.2632e-03_rb/) kao(:, 4,13, 5) = (/ & &9.2294e+01_rb,8.0759e+01_rb,6.9218e+01_rb,5.7683e+01_rb,4.6146e+01_rb,3.4609e+01_rb, & &2.3075e+01_rb,1.1539e+01_rb,1.5901e-03_rb/) kao(:, 5,13, 5) = (/ & &9.4515e+01_rb,8.2699e+01_rb,7.0891e+01_rb,5.9075e+01_rb,4.7260e+01_rb,3.5445e+01_rb, & &2.3631e+01_rb,1.1818e+01_rb,1.9283e-03_rb/) kao(:, 1, 1, 6) = (/ & &1.3664e-01_rb,1.2142e-01_rb,1.0604e-01_rb,9.0673e-02_rb,7.5307e-02_rb,5.9951e-02_rb, & &4.4049e-02_rb,2.7037e-02_rb,3.4200e-03_rb/) kao(:, 2, 1, 6) = (/ & &1.3479e-01_rb,1.2041e-01_rb,1.0581e-01_rb,9.1114e-02_rb,7.6669e-02_rb,6.1851e-02_rb, & &4.6009e-02_rb,2.9151e-02_rb,4.4244e-03_rb/) kao(:, 3, 1, 6) = (/ & &1.3313e-01_rb,1.1956e-01_rb,1.0561e-01_rb,9.1887e-02_rb,7.8237e-02_rb,6.3771e-02_rb, & &4.8109e-02_rb,3.1604e-02_rb,5.5644e-03_rb/) kao(:, 4, 1, 6) = (/ & &1.3195e-01_rb,1.1904e-01_rb,1.0583e-01_rb,9.3212e-02_rb,7.9889e-02_rb,6.5652e-02_rb, & &5.0318e-02_rb,3.4334e-02_rb,6.8097e-03_rb/) kao(:, 5, 1, 6) = (/ & &1.3100e-01_rb,1.1871e-01_rb,1.0645e-01_rb,9.4491e-02_rb,8.1510e-02_rb,6.7455e-02_rb, & &5.2648e-02_rb,3.7142e-02_rb,8.1798e-03_rb/) kao(:, 1, 2, 6) = (/ & &1.8948e-01_rb,1.6745e-01_rb,1.4512e-01_rb,1.2300e-01_rb,1.0098e-01_rb,7.9021e-02_rb, & &5.6595e-02_rb,3.3068e-02_rb,2.5064e-03_rb/) kao(:, 2, 2, 6) = (/ & &1.8719e-01_rb,1.6582e-01_rb,1.4439e-01_rb,1.2310e-01_rb,1.0186e-01_rb,8.0667e-02_rb, & &5.8428e-02_rb,3.4918e-02_rb,3.2805e-03_rb/) kao(:, 3, 2, 6) = (/ & &1.8550e-01_rb,1.6475e-01_rb,1.4416e-01_rb,1.2351e-01_rb,1.0330e-01_rb,8.2465e-02_rb, & &6.0314e-02_rb,3.6962e-02_rb,4.1499e-03_rb/) kao(:, 4, 2, 6) = (/ & &1.8451e-01_rb,1.6460e-01_rb,1.4454e-01_rb,1.2487e-01_rb,1.0515e-01_rb,8.4419e-02_rb, & &6.2353e-02_rb,3.9320e-02_rb,5.1265e-03_rb/) kao(:, 5, 2, 6) = (/ & &1.8423e-01_rb,1.6501e-01_rb,1.4553e-01_rb,1.2672e-01_rb,1.0715e-01_rb,8.6338e-02_rb, & &6.4353e-02_rb,4.1893e-02_rb,6.2102e-03_rb/) kao(:, 1, 3, 6) = (/ & &3.5249e-01_rb,3.0976e-01_rb,2.6683e-01_rb,2.2378e-01_rb,1.8098e-01_rb,1.3846e-01_rb, & &9.6219e-02_rb,5.2862e-02_rb,1.7476e-03_rb/) kao(:, 2, 3, 6) = (/ & &3.4945e-01_rb,3.0729e-01_rb,2.6503e-01_rb,2.2304e-01_rb,1.8135e-01_rb,1.3971e-01_rb, & &9.8147e-02_rb,5.4704e-02_rb,2.3082e-03_rb/) kao(:, 3, 3, 6) = (/ & &3.4786e-01_rb,3.0616e-01_rb,2.6475e-01_rb,2.2367e-01_rb,1.8257e-01_rb,1.4178e-01_rb, & &1.0043e-01_rb,5.6633e-02_rb,2.9556e-03_rb/) kao(:, 4, 3, 6) = (/ & &3.4805e-01_rb,3.0690e-01_rb,2.6623e-01_rb,2.2552e-01_rb,1.8508e-01_rb,1.4480e-01_rb, & &1.0306e-01_rb,5.8846e-02_rb,3.6970e-03_rb/) kao(:, 5, 3, 6) = (/ & &3.5013e-01_rb,3.0948e-01_rb,2.6918e-01_rb,2.2850e-01_rb,1.8865e-01_rb,1.4799e-01_rb, & &1.0568e-01_rb,6.1131e-02_rb,4.5281e-03_rb/) kao(:, 1, 4, 6) = (/ & &6.6623e-01_rb,5.8386e-01_rb,5.0153e-01_rb,4.1899e-01_rb,3.3640e-01_rb,2.5407e-01_rb, & &1.7225e-01_rb,9.1058e-02_rb,1.1958e-03_rb/) kao(:, 2, 4, 6) = (/ & &6.6340e-01_rb,5.8167e-01_rb,4.9974e-01_rb,4.1776e-01_rb,3.3619e-01_rb,2.5503e-01_rb, & &1.7423e-01_rb,9.3289e-02_rb,1.6080e-03_rb/) kao(:, 3, 4, 6) = (/ & &6.6480e-01_rb,5.8306e-01_rb,5.0121e-01_rb,4.1990e-01_rb,3.3893e-01_rb,2.5818e-01_rb, & &1.7768e-01_rb,9.5987e-02_rb,2.0929e-03_rb/) kao(:, 4, 4, 6) = (/ & &6.7003e-01_rb,5.8789e-01_rb,5.0627e-01_rb,4.2518e-01_rb,3.4417e-01_rb,2.6306e-01_rb, & &1.8230e-01_rb,9.9134e-02_rb,2.6527e-03_rb/) kao(:, 5, 4, 6) = (/ & &6.7815e-01_rb,5.9566e-01_rb,5.1416e-01_rb,4.3281e-01_rb,3.5098e-01_rb,2.6952e-01_rb, & &1.8764e-01_rb,1.0249e-01_rb,3.2896e-03_rb/) kao(:, 1, 5, 6) = (/ & &1.1550e+00_rb,1.0112e+00_rb,8.6772e-01_rb,7.2399e-01_rb,5.8018e-01_rb,4.3620e-01_rb, & &2.9244e-01_rb,1.4976e-01_rb,8.1069e-04_rb/) kao(:, 2, 5, 6) = (/ & &1.1564e+00_rb,1.0128e+00_rb,8.6891e-01_rb,7.2534e-01_rb,5.8147e-01_rb,4.3781e-01_rb, & &2.9477e-01_rb,1.5282e-01_rb,1.1157e-03_rb/) kao(:, 3, 5, 6) = (/ & &1.1669e+00_rb,1.0223e+00_rb,8.7752e-01_rb,7.3265e-01_rb,5.8799e-01_rb,4.4399e-01_rb, & &3.0054e-01_rb,1.5735e-01_rb,1.4779e-03_rb/) kao(:, 4, 5, 6) = (/ & &1.1830e+00_rb,1.0368e+00_rb,8.9030e-01_rb,7.4407e-01_rb,5.9861e-01_rb,4.5354e-01_rb, & &3.0826e-01_rb,1.6275e-01_rb,1.9001e-03_rb/) kao(:, 5, 5, 6) = (/ & &1.2016e+00_rb,1.0534e+00_rb,9.0529e-01_rb,7.5813e-01_rb,6.1140e-01_rb,4.6432e-01_rb, & &3.1746e-01_rb,1.6866e-01_rb,2.3885e-03_rb/) kao(:, 1, 6, 6) = (/ & &1.8728e+00_rb,1.6394e+00_rb,1.4057e+00_rb,1.1724e+00_rb,9.3873e-01_rb,7.0502e-01_rb, & &4.7119e-01_rb,2.3746e-01_rb,5.3401e-04_rb/) kao(:, 2, 6, 6) = (/ & &1.8855e+00_rb,1.6506e+00_rb,1.4159e+00_rb,1.1808e+00_rb,9.4575e-01_rb,7.1049e-01_rb, & &4.7534e-01_rb,2.4122e-01_rb,7.5510e-04_rb/) kao(:, 3, 6, 6) = (/ & &1.9127e+00_rb,1.6747e+00_rb,1.4367e+00_rb,1.1985e+00_rb,9.6017e-01_rb,7.2202e-01_rb, & &4.8438e-01_rb,2.4807e-01_rb,1.0228e-03_rb/) kao(:, 4, 6, 6) = (/ & &1.9458e+00_rb,1.7041e+00_rb,1.4622e+00_rb,1.2202e+00_rb,9.7826e-01_rb,7.3694e-01_rb, & &4.9644e-01_rb,2.5634e-01_rb,1.3413e-03_rb/) kao(:, 5, 6, 6) = (/ & &1.9819e+00_rb,1.7360e+00_rb,1.4899e+00_rb,1.2440e+00_rb,9.9883e-01_rb,7.5442e-01_rb, & &5.0981e-01_rb,2.6524e-01_rb,1.7130e-03_rb/) kao(:, 1, 7, 6) = (/ & &3.1956e+00_rb,2.7964e+00_rb,2.3973e+00_rb,1.9983e+00_rb,1.5994e+00_rb,1.2005e+00_rb, & &8.0140e-01_rb,4.0204e-01_rb,3.4739e-04_rb/) kao(:, 2, 7, 6) = (/ & &3.2319e+00_rb,2.8287e+00_rb,2.4254e+00_rb,2.0219e+00_rb,1.6186e+00_rb,1.2150e+00_rb, & &8.1138e-01_rb,4.0767e-01_rb,4.9767e-04_rb/) kao(:, 3, 7, 6) = (/ & &3.2870e+00_rb,2.8773e+00_rb,2.4673e+00_rb,2.0573e+00_rb,1.6471e+00_rb,1.2367e+00_rb, & &8.2648e-01_rb,4.1699e-01_rb,6.8883e-04_rb/) kao(:, 4, 7, 6) = (/ & &3.3536e+00_rb,2.9357e+00_rb,2.5178e+00_rb,2.0997e+00_rb,1.6816e+00_rb,1.2633e+00_rb, & &8.4550e-01_rb,4.2915e-01_rb,9.2075e-04_rb/) kao(:, 5, 7, 6) = (/ & &3.4247e+00_rb,2.9983e+00_rb,2.5718e+00_rb,2.1451e+00_rb,1.7185e+00_rb,1.2924e+00_rb, & &8.6745e-01_rb,4.4266e-01_rb,1.1994e-03_rb/) kao(:, 1, 8, 6) = (/ & &6.5522e+00_rb,5.7333e+00_rb,4.9154e+00_rb,4.0958e+00_rb,3.2773e+00_rb,2.4586e+00_rb, & &1.6399e+00_rb,8.2128e-01_rb,2.5000e-04_rb/) kao(:, 2, 8, 6) = (/ & &6.6534e+00_rb,5.8224e+00_rb,4.9909e+00_rb,4.1598e+00_rb,3.3284e+00_rb,2.4975e+00_rb, & &1.6667e+00_rb,8.3486e-01_rb,3.5933e-04_rb/) kao(:, 3, 8, 6) = (/ & &6.7871e+00_rb,5.9396e+00_rb,5.0919e+00_rb,4.2443e+00_rb,3.3968e+00_rb,2.5492e+00_rb, & &1.7012e+00_rb,8.5283e-01_rb,4.9387e-04_rb/) kao(:, 4, 8, 6) = (/ & &6.9317e+00_rb,6.0662e+00_rb,5.2009e+00_rb,4.3357e+00_rb,3.4705e+00_rb,2.6048e+00_rb, & &1.7389e+00_rb,8.7334e-01_rb,6.4756e-04_rb/) kao(:, 5, 8, 6) = (/ & &7.0935e+00_rb,6.2081e+00_rb,5.3230e+00_rb,4.4380e+00_rb,3.5524e+00_rb,2.6671e+00_rb, & &1.7815e+00_rb,8.9762e-01_rb,8.2195e-04_rb/) kao(:, 1, 9, 6) = (/ & &2.5444e+01_rb,2.2265e+01_rb,1.9084e+01_rb,1.5904e+01_rb,1.2723e+01_rb,9.5428e+00_rb, & &6.3622e+00_rb,3.1820e+00_rb,4.0178e-04_rb/) kao(:, 2, 9, 6) = (/ & &2.5907e+01_rb,2.2668e+01_rb,1.9432e+01_rb,1.6194e+01_rb,1.2956e+01_rb,9.7177e+00_rb, & &6.4794e+00_rb,3.2416e+00_rb,4.9820e-04_rb/) kao(:, 3, 9, 6) = (/ & &2.6491e+01_rb,2.3181e+01_rb,1.9870e+01_rb,1.6559e+01_rb,1.3249e+01_rb,9.9392e+00_rb, & &6.6274e+00_rb,3.3163e+00_rb,5.8675e-04_rb/) kao(:, 4, 9, 6) = (/ & &2.7100e+01_rb,2.3714e+01_rb,2.0326e+01_rb,1.6941e+01_rb,1.3555e+01_rb,1.0168e+01_rb, & &6.7813e+00_rb,3.3943e+00_rb,7.0841e-04_rb/) kao(:, 5, 9, 6) = (/ & &2.7765e+01_rb,2.4297e+01_rb,2.0827e+01_rb,1.7358e+01_rb,1.3889e+01_rb,1.0420e+01_rb, & &6.9499e+00_rb,3.4794e+00_rb,8.5424e-04_rb/) kao(:, 1,10, 6) = (/ & &1.1023e+02_rb,9.6432e+01_rb,8.2664e+01_rb,6.8898e+01_rb,5.5114e+01_rb,4.1339e+01_rb, & &2.7555e+01_rb,1.3778e+01_rb,8.1537e-04_rb/) kao(:, 2,10, 6) = (/ & &1.1247e+02_rb,9.8427e+01_rb,8.4346e+01_rb,7.0300e+01_rb,5.6236e+01_rb,4.2180e+01_rb, & &2.8118e+01_rb,1.4061e+01_rb,9.9310e-04_rb/) kao(:, 3,10, 6) = (/ & &1.1514e+02_rb,1.0076e+02_rb,8.6358e+01_rb,7.1971e+01_rb,5.7576e+01_rb,4.3183e+01_rb, & &2.8789e+01_rb,1.4396e+01_rb,1.1831e-03_rb/) kao(:, 4,10, 6) = (/ & &1.1802e+02_rb,1.0327e+02_rb,8.8510e+01_rb,7.3765e+01_rb,5.9016e+01_rb,4.4263e+01_rb, & &2.9511e+01_rb,1.4759e+01_rb,1.3868e-03_rb/) kao(:, 5,10, 6) = (/ & &1.2130e+02_rb,1.0614e+02_rb,9.0978e+01_rb,7.5815e+01_rb,6.0657e+01_rb,4.5493e+01_rb, & &3.0333e+01_rb,1.5172e+01_rb,1.7070e-03_rb/) kao(:, 1,11, 6) = (/ & &1.6690e+02_rb,1.4603e+02_rb,1.2516e+02_rb,1.0431e+02_rb,8.3442e+01_rb,6.2583e+01_rb, & &4.1722e+01_rb,2.0862e+01_rb,1.5727e-03_rb/) kao(:, 2,11, 6) = (/ & &1.7086e+02_rb,1.4949e+02_rb,1.2814e+02_rb,1.0678e+02_rb,8.5424e+01_rb,6.4067e+01_rb, & &4.2718e+01_rb,2.1360e+01_rb,1.6234e-03_rb/) kao(:, 3,11, 6) = (/ & &1.7519e+02_rb,1.5329e+02_rb,1.3139e+02_rb,1.0949e+02_rb,8.7589e+01_rb,6.5698e+01_rb, & &4.3799e+01_rb,2.1903e+01_rb,1.7884e-03_rb/) kao(:, 4,11, 6) = (/ & &1.8016e+02_rb,1.5762e+02_rb,1.3510e+02_rb,1.1259e+02_rb,9.0076e+01_rb,6.7557e+01_rb, & &4.5039e+01_rb,2.2524e+01_rb,2.1215e-03_rb/) kao(:, 5,11, 6) = (/ & &1.8518e+02_rb,1.6203e+02_rb,1.3888e+02_rb,1.1573e+02_rb,9.2591e+01_rb,6.9449e+01_rb, & &4.6302e+01_rb,2.3157e+01_rb,2.4813e-03_rb/) kao(:, 1,12, 6) = (/ & &1.8707e+02_rb,1.6368e+02_rb,1.4030e+02_rb,1.1692e+02_rb,9.3541e+01_rb,7.0153e+01_rb, & &4.6766e+01_rb,2.3384e+01_rb,1.9770e-03_rb/) kao(:, 2,12, 6) = (/ & &1.9183e+02_rb,1.6788e+02_rb,1.4389e+02_rb,1.1990e+02_rb,9.5932e+01_rb,7.1949e+01_rb, & &4.7966e+01_rb,2.3985e+01_rb,2.1043e-03_rb/) kao(:, 3,12, 6) = (/ & &1.9710e+02_rb,1.7246e+02_rb,1.4784e+02_rb,1.2320e+02_rb,9.8552e+01_rb,7.3917e+01_rb, & &4.9278e+01_rb,2.4644e+01_rb,2.2289e-03_rb/) kao(:, 4,12, 6) = (/ & &2.0265e+02_rb,1.7731e+02_rb,1.5198e+02_rb,1.2666e+02_rb,1.0133e+02_rb,7.5997e+01_rb, & &5.0665e+01_rb,2.5338e+01_rb,2.5070e-03_rb/) kao(:, 5,12, 6) = (/ & &2.0830e+02_rb,1.8227e+02_rb,1.5623e+02_rb,1.3019e+02_rb,1.0416e+02_rb,7.8120e+01_rb, & &5.2086e+01_rb,2.6047e+01_rb,2.9426e-03_rb/) kao(:, 1,13, 6) = (/ & &1.6768e+02_rb,1.4672e+02_rb,1.2576e+02_rb,1.0480e+02_rb,8.3836e+01_rb,6.2874e+01_rb, & &4.1918e+01_rb,2.0960e+01_rb,1.9900e-03_rb/) kao(:, 2,13, 6) = (/ & &1.7225e+02_rb,1.5072e+02_rb,1.2919e+02_rb,1.0767e+02_rb,8.6132e+01_rb,6.4601e+01_rb, & &4.3064e+01_rb,2.1534e+01_rb,2.2115e-03_rb/) kao(:, 3,13, 6) = (/ & &1.7710e+02_rb,1.5497e+02_rb,1.3283e+02_rb,1.1069e+02_rb,8.8549e+01_rb,6.6413e+01_rb, & &4.4281e+01_rb,2.2144e+01_rb,2.4087e-03_rb/) kao(:, 4,13, 6) = (/ & &1.8201e+02_rb,1.5926e+02_rb,1.3651e+02_rb,1.1376e+02_rb,9.1007e+01_rb,6.8257e+01_rb, & &4.5512e+01_rb,2.2758e+01_rb,2.6872e-03_rb/) kao(:, 5,13, 6) = (/ & &1.8703e+02_rb,1.6366e+02_rb,1.4029e+02_rb,1.1690e+02_rb,9.3529e+01_rb,7.0144e+01_rb, & &4.6769e+01_rb,2.3390e+01_rb,2.9430e-03_rb/) kao(:, 1, 1, 7) = (/ & &2.6412e-01_rb,2.3209e-01_rb,2.0136e-01_rb,1.7041e-01_rb,1.3987e-01_rb,1.0997e-01_rb, & &7.9977e-02_rb,4.8294e-02_rb,7.1406e-03_rb/) kao(:, 2, 1, 7) = (/ & &2.6114e-01_rb,2.3041e-01_rb,2.0084e-01_rb,1.7141e-01_rb,1.4253e-01_rb,1.1370e-01_rb, & &8.4426e-02_rb,5.2292e-02_rb,9.2339e-03_rb/) kao(:, 3, 1, 7) = (/ & &2.5746e-01_rb,2.2846e-01_rb,2.0043e-01_rb,1.7294e-01_rb,1.4558e-01_rb,1.1774e-01_rb, & &8.8686e-02_rb,5.6161e-02_rb,1.1607e-02_rb/) kao(:, 4, 1, 7) = (/ & &2.5329e-01_rb,2.2641e-01_rb,2.0046e-01_rb,1.7465e-01_rb,1.4868e-01_rb,1.2202e-01_rb, & &9.2933e-02_rb,6.0129e-02_rb,1.4258e-02_rb/) kao(:, 5, 1, 7) = (/ & &2.4914e-01_rb,2.2449e-01_rb,2.0080e-01_rb,1.7670e-01_rb,1.5234e-01_rb,1.2632e-01_rb, & &9.7469e-02_rb,6.4803e-02_rb,1.7193e-02_rb/) kao(:, 1, 2, 7) = (/ & &3.8226e-01_rb,3.3530e-01_rb,2.8943e-01_rb,2.4384e-01_rb,1.9786e-01_rb,1.5259e-01_rb, & &1.0817e-01_rb,6.3161e-02_rb,5.4372e-03_rb/) kao(:, 2, 2, 7) = (/ & &3.7769e-01_rb,3.3226e-01_rb,2.8798e-01_rb,2.4326e-01_rb,1.9923e-01_rb,1.5589e-01_rb, & &1.1262e-01_rb,6.7329e-02_rb,7.0870e-03_rb/) kao(:, 3, 2, 7) = (/ & &3.7182e-01_rb,3.2842e-01_rb,2.8559e-01_rb,2.4304e-01_rb,2.0123e-01_rb,1.5952e-01_rb, & &1.1734e-01_rb,7.1516e-02_rb,8.9693e-03_rb/) kao(:, 4, 2, 7) = (/ & &3.6545e-01_rb,3.2421e-01_rb,2.8324e-01_rb,2.4318e-01_rb,2.0343e-01_rb,1.6337e-01_rb, & &1.2179e-01_rb,7.5704e-02_rb,1.1062e-02_rb/) kao(:, 5, 2, 7) = (/ & &3.5934e-01_rb,3.2018e-01_rb,2.8184e-01_rb,2.4404e-01_rb,2.0628e-01_rb,1.6781e-01_rb, & &1.2654e-01_rb,8.0391e-02_rb,1.3382e-02_rb/) kao(:, 1, 3, 7) = (/ & &7.3419e-01_rb,6.4302e-01_rb,5.5249e-01_rb,4.6249e-01_rb,3.7279e-01_rb,2.8244e-01_rb, & &1.9254e-01_rb,1.0461e-01_rb,3.8320e-03_rb/) kao(:, 2, 3, 7) = (/ & &7.2438e-01_rb,6.3531e-01_rb,5.4697e-01_rb,4.5910e-01_rb,3.7055e-01_rb,2.8234e-01_rb, & &1.9553e-01_rb,1.0953e-01_rb,5.0607e-03_rb/) kao(:, 3, 3, 7) = (/ & &7.1308e-01_rb,6.2644e-01_rb,5.4060e-01_rb,4.5437e-01_rb,3.6826e-01_rb,2.8333e-01_rb, & &1.9916e-01_rb,1.1441e-01_rb,6.4784e-03_rb/) kao(:, 4, 3, 7) = (/ & &7.0097e-01_rb,6.1696e-01_rb,5.3353e-01_rb,4.4963e-01_rb,3.6700e-01_rb,2.8530e-01_rb, & &2.0351e-01_rb,1.1914e-01_rb,8.0908e-03_rb/) kao(:, 5, 3, 7) = (/ & &6.8962e-01_rb,6.0838e-01_rb,5.2688e-01_rb,4.4648e-01_rb,3.6708e-01_rb,2.8814e-01_rb, & &2.0859e-01_rb,1.2387e-01_rb,9.8988e-03_rb/) kao(:, 1, 4, 7) = (/ & &1.4238e+00_rb,1.2465e+00_rb,1.0693e+00_rb,8.9242e-01_rb,7.1591e-01_rb,5.3976e-01_rb, & &3.6322e-01_rb,1.8668e-01_rb,2.6351e-03_rb/) kao(:, 2, 4, 7) = (/ & &1.4051e+00_rb,1.2306e+00_rb,1.0566e+00_rb,8.8285e-01_rb,7.0951e-01_rb,5.3582e-01_rb, & &3.6165e-01_rb,1.8980e-01_rb,3.5337e-03_rb/) kao(:, 3, 4, 7) = (/ & &1.3826e+00_rb,1.2117e+00_rb,1.0413e+00_rb,8.7137e-01_rb,7.0120e-01_rb,5.3024e-01_rb, & &3.6085e-01_rb,1.9367e-01_rb,4.5912e-03_rb/) kao(:, 4, 4, 7) = (/ & &1.3609e+00_rb,1.1937e+00_rb,1.0271e+00_rb,8.6049e-01_rb,6.9280e-01_rb,5.2650e-01_rb, & &3.6231e-01_rb,1.9848e-01_rb,5.8142e-03_rb/) kao(:, 5, 4, 7) = (/ & &1.3409e+00_rb,1.1773e+00_rb,1.0140e+00_rb,8.4932e-01_rb,6.8606e-01_rb,5.2486e-01_rb, & &3.6482e-01_rb,2.0369e-01_rb,7.2048e-03_rb/) kao(:, 1, 5, 7) = (/ & &2.5206e+00_rb,2.2062e+00_rb,1.8917e+00_rb,1.5773e+00_rb,1.2631e+00_rb,9.4923e-01_rb, & &6.3588e-01_rb,3.2194e-01_rb,1.8039e-03_rb/) kao(:, 2, 5, 7) = (/ & &2.4864e+00_rb,2.1765e+00_rb,1.8669e+00_rb,1.5575e+00_rb,1.2483e+00_rb,9.3953e-01_rb, & &6.3051e-01_rb,3.2080e-01_rb,2.4598e-03_rb/) kao(:, 3, 5, 7) = (/ & &2.4502e+00_rb,2.1455e+00_rb,1.8410e+00_rb,1.5370e+00_rb,1.2333e+00_rb,9.2942e-01_rb, & &6.2403e-01_rb,3.2160e-01_rb,3.2471e-03_rb/) kao(:, 4, 5, 7) = (/ & &2.4176e+00_rb,2.1177e+00_rb,1.8181e+00_rb,1.5189e+00_rb,1.2193e+00_rb,9.1845e-01_rb, & &6.1937e-01_rb,3.2415e-01_rb,4.1727e-03_rb/) kao(:, 5, 5, 7) = (/ & &2.3943e+00_rb,2.0977e+00_rb,1.8015e+00_rb,1.5055e+00_rb,1.2082e+00_rb,9.1210e-01_rb, & &6.1892e-01_rb,3.2856e-01_rb,5.2383e-03_rb/) kao(:, 1, 6, 7) = (/ & &4.1535e+00_rb,3.6349e+00_rb,3.1163e+00_rb,2.5976e+00_rb,2.0789e+00_rb,1.5604e+00_rb, & &1.0424e+00_rb,5.2499e-01_rb,1.2119e-03_rb/) kao(:, 2, 6, 7) = (/ & &4.0999e+00_rb,3.5882e+00_rb,3.0765e+00_rb,2.5650e+00_rb,2.0536e+00_rb,1.5426e+00_rb, & &1.0319e+00_rb,5.2076e-01_rb,1.6878e-03_rb/) kao(:, 3, 6, 7) = (/ & &4.0501e+00_rb,3.5452e+00_rb,3.0400e+00_rb,2.5354e+00_rb,2.0310e+00_rb,1.5269e+00_rb, & &1.0226e+00_rb,5.1681e-01_rb,2.2703e-03_rb/) kao(:, 4, 6, 7) = (/ & &4.0172e+00_rb,3.5170e+00_rb,3.0163e+00_rb,2.5163e+00_rb,2.0166e+00_rb,1.5168e+00_rb, & &1.0153e+00_rb,5.1695e-01_rb,2.9634e-03_rb/) kao(:, 5, 6, 7) = (/ & &4.0047e+00_rb,3.5059e+00_rb,3.0081e+00_rb,2.5099e+00_rb,2.0120e+00_rb,1.5128e+00_rb, & &1.0149e+00_rb,5.2194e-01_rb,3.7748e-03_rb/) kao(:, 1, 7, 7) = (/ & &7.1454e+00_rb,6.2526e+00_rb,5.3597e+00_rb,4.4669e+00_rb,3.5744e+00_rb,2.6816e+00_rb, & &1.7891e+00_rb,8.9724e-01_rb,7.5005e-04_rb/) kao(:, 2, 7, 7) = (/ & &7.0662e+00_rb,6.1833e+00_rb,5.3006e+00_rb,4.4177e+00_rb,3.5356e+00_rb,2.6534e+00_rb, & &1.7715e+00_rb,8.9007e-01_rb,1.0984e-03_rb/) kao(:, 3, 7, 7) = (/ & &7.0091e+00_rb,6.1337e+00_rb,5.2586e+00_rb,4.3836e+00_rb,3.5085e+00_rb,2.6339e+00_rb, & &1.7596e+00_rb,8.8470e-01_rb,1.5427e-03_rb/) kao(:, 4, 7, 7) = (/ & &6.9967e+00_rb,6.1229e+00_rb,5.2499e+00_rb,4.3767e+00_rb,3.5037e+00_rb,2.6314e+00_rb, & &1.7589e+00_rb,8.8464e-01_rb,2.0814e-03_rb/) kao(:, 5, 7, 7) = (/ & &7.0262e+00_rb,6.1495e+00_rb,5.2733e+00_rb,4.3969e+00_rb,3.5208e+00_rb,2.6451e+00_rb, & &1.7672e+00_rb,8.9234e-01_rb,2.7067e-03_rb/) kao(:, 1, 8, 7) = (/ & &1.4691e+01_rb,1.2856e+01_rb,1.1019e+01_rb,9.1832e+00_rb,7.3472e+00_rb,5.5112e+00_rb, & &3.6752e+00_rb,1.8392e+00_rb,5.0466e-04_rb/) kao(:, 2, 8, 7) = (/ & &1.4561e+01_rb,1.2741e+01_rb,1.0922e+01_rb,9.1018e+00_rb,7.2824e+00_rb,5.4631e+00_rb, & &3.6434e+00_rb,1.8247e+00_rb,7.0108e-04_rb/) kao(:, 3, 8, 7) = (/ & &1.4517e+01_rb,1.2702e+01_rb,1.0889e+01_rb,9.0751e+00_rb,7.2609e+00_rb,5.4474e+00_rb, & &3.6338e+00_rb,1.8215e+00_rb,9.5134e-04_rb/) kao(:, 4, 8, 7) = (/ & &1.4592e+01_rb,1.2768e+01_rb,1.0945e+01_rb,9.1223e+00_rb,7.2994e+00_rb,5.4774e+00_rb, & &3.6552e+00_rb,1.8334e+00_rb,1.2923e-03_rb/) kao(:, 5, 8, 7) = (/ & &1.4780e+01_rb,1.2933e+01_rb,1.1086e+01_rb,9.2409e+00_rb,7.3952e+00_rb,5.5498e+00_rb, & &3.7048e+00_rb,1.8578e+00_rb,1.7359e-03_rb/) kao(:, 1, 9, 7) = (/ & &5.6885e+01_rb,4.9776e+01_rb,4.2665e+01_rb,3.5554e+01_rb,2.8444e+01_rb,2.1332e+01_rb, & &1.4224e+01_rb,7.1126e+00_rb,6.2609e-04_rb/) kao(:, 2, 9, 7) = (/ & &5.6580e+01_rb,4.9509e+01_rb,4.2436e+01_rb,3.5363e+01_rb,2.8291e+01_rb,2.1219e+01_rb, & &1.4147e+01_rb,7.0751e+00_rb,8.0177e-04_rb/) kao(:, 3, 9, 7) = (/ & &5.6732e+01_rb,4.9637e+01_rb,4.2548e+01_rb,3.5458e+01_rb,2.8366e+01_rb,2.1276e+01_rb, & &1.4184e+01_rb,7.0949e+00_rb,1.0220e-03_rb/) kao(:, 4, 9, 7) = (/ & &5.7468e+01_rb,5.0286e+01_rb,4.3101e+01_rb,3.5920e+01_rb,2.8736e+01_rb,2.1553e+01_rb, & &1.4371e+01_rb,7.1892e+00_rb,1.2387e-03_rb/) kao(:, 5, 9, 7) = (/ & &5.8635e+01_rb,5.1306e+01_rb,4.3977e+01_rb,3.6648e+01_rb,2.9321e+01_rb,2.1992e+01_rb, & &1.4665e+01_rb,7.3378e+00_rb,1.5501e-03_rb/) kao(:, 1,10, 7) = (/ & &2.4487e+02_rb,2.1424e+02_rb,1.8364e+02_rb,1.5304e+02_rb,1.2243e+02_rb,9.1825e+01_rb, & &6.1214e+01_rb,3.0606e+01_rb,1.7354e-03_rb/) kao(:, 2,10, 7) = (/ & &2.4490e+02_rb,2.1431e+02_rb,1.8369e+02_rb,1.5309e+02_rb,1.2247e+02_rb,9.1851e+01_rb, & &6.1230e+01_rb,3.0619e+01_rb,1.7748e-03_rb/) kao(:, 3,10, 7) = (/ & &2.4755e+02_rb,2.1661e+02_rb,1.8568e+02_rb,1.5472e+02_rb,1.2378e+02_rb,9.2834e+01_rb, & &6.1889e+01_rb,3.0945e+01_rb,1.9607e-03_rb/) kao(:, 4,10, 7) = (/ & &2.5293e+02_rb,2.2132e+02_rb,1.8970e+02_rb,1.5807e+02_rb,1.2647e+02_rb,9.4852e+01_rb, & &6.3238e+01_rb,3.1620e+01_rb,2.3523e-03_rb/) kao(:, 5,10, 7) = (/ & &2.5940e+02_rb,2.2699e+02_rb,1.9456e+02_rb,1.6213e+02_rb,1.2971e+02_rb,9.7282e+01_rb, & &6.4856e+01_rb,3.2431e+01_rb,2.7354e-03_rb/) kao(:, 1,11, 7) = (/ & &3.6899e+02_rb,3.2288e+02_rb,2.7677e+02_rb,2.3063e+02_rb,1.8452e+02_rb,1.3837e+02_rb, & &9.2255e+01_rb,4.6125e+01_rb,2.1265e-03_rb/) kao(:, 2,11, 7) = (/ & &3.7335e+02_rb,3.2670e+02_rb,2.8002e+02_rb,2.3334e+02_rb,1.8669e+02_rb,1.4002e+02_rb, & &9.3341e+01_rb,4.6674e+01_rb,3.2080e-03_rb/) kao(:, 3,11, 7) = (/ & &3.8233e+02_rb,3.3453e+02_rb,2.8674e+02_rb,2.3896e+02_rb,1.9116e+02_rb,1.4337e+02_rb, & &9.5577e+01_rb,4.7794e+01_rb,3.4910e-03_rb/) kao(:, 4,11, 7) = (/ & &3.9299e+02_rb,3.4383e+02_rb,2.9472e+02_rb,2.4561e+02_rb,1.9648e+02_rb,1.4736e+02_rb, & &9.8242e+01_rb,4.9120e+01_rb,3.8208e-03_rb/) kao(:, 5,11, 7) = (/ & &4.0483e+02_rb,3.5423e+02_rb,3.0363e+02_rb,2.5301e+02_rb,2.0242e+02_rb,1.5182e+02_rb, & &1.0121e+02_rb,5.0609e+01_rb,4.2123e-03_rb/) kao(:, 1,12, 7) = (/ & &4.1937e+02_rb,3.6695e+02_rb,3.1452e+02_rb,2.6211e+02_rb,2.0969e+02_rb,1.5726e+02_rb, & &1.0485e+02_rb,5.2423e+01_rb,2.2784e-03_rb/) kao(:, 2,12, 7) = (/ & &4.2956e+02_rb,3.7586e+02_rb,3.2216e+02_rb,2.6848e+02_rb,2.1478e+02_rb,1.6108e+02_rb, & &1.0739e+02_rb,5.3697e+01_rb,3.5938e-03_rb/) kao(:, 3,12, 7) = (/ & &4.4222e+02_rb,3.8693e+02_rb,3.3164e+02_rb,2.7638e+02_rb,2.2109e+02_rb,1.6582e+02_rb, & &1.1055e+02_rb,5.5277e+01_rb,4.4037e-03_rb/) kao(:, 4,12, 7) = (/ & &4.5624e+02_rb,3.9921e+02_rb,3.4220e+02_rb,2.8517e+02_rb,2.2812e+02_rb,1.7109e+02_rb, & &1.1406e+02_rb,5.7035e+01_rb,4.5266e-03_rb/) kao(:, 5,12, 7) = (/ & &4.7013e+02_rb,4.1136e+02_rb,3.5259e+02_rb,2.9384e+02_rb,2.3506e+02_rb,1.7630e+02_rb, & &1.1754e+02_rb,5.8765e+01_rb,5.1545e-03_rb/) kao(:, 1,13, 7) = (/ & &3.8573e+02_rb,3.3753e+02_rb,2.8932e+02_rb,2.4110e+02_rb,1.9287e+02_rb,1.4465e+02_rb, & &9.6435e+01_rb,4.8220e+01_rb,2.4127e-03_rb/) kao(:, 2,13, 7) = (/ & &3.9713e+02_rb,3.4748e+02_rb,2.9784e+02_rb,2.4821e+02_rb,1.9856e+02_rb,1.4893e+02_rb, & &9.9282e+01_rb,4.9641e+01_rb,3.8706e-03_rb/) kao(:, 3,13, 7) = (/ & &4.1029e+02_rb,3.5900e+02_rb,3.0771e+02_rb,2.5644e+02_rb,2.0514e+02_rb,1.5386e+02_rb, & &1.0257e+02_rb,5.1288e+01_rb,4.7695e-03_rb/) kao(:, 4,13, 7) = (/ & &4.2344e+02_rb,3.7050e+02_rb,3.1756e+02_rb,2.6463e+02_rb,2.1170e+02_rb,1.5878e+02_rb, & &1.0586e+02_rb,5.2932e+01_rb,4.9706e-03_rb/) kao(:, 5,13, 7) = (/ & &4.3615e+02_rb,3.8165e+02_rb,3.2713e+02_rb,2.7260e+02_rb,2.1808e+02_rb,1.6356e+02_rb, & &1.0904e+02_rb,5.4523e+01_rb,5.6617e-03_rb/) kao(:, 1, 1, 8) = (/ & &5.2022e-01_rb,4.5635e-01_rb,3.9252e-01_rb,3.3010e-01_rb,2.6823e-01_rb,2.0567e-01_rb, & &1.4452e-01_rb,8.4865e-02_rb,1.8396e-02_rb/) kao(:, 2, 1, 8) = (/ & &5.2177e-01_rb,4.5789e-01_rb,3.9474e-01_rb,3.3342e-01_rb,2.7114e-01_rb,2.1031e-01_rb, & &1.5104e-01_rb,9.2174e-02_rb,2.3774e-02_rb/) kao(:, 3, 1, 8) = (/ & &5.2246e-01_rb,4.5863e-01_rb,3.9708e-01_rb,3.3604e-01_rb,2.7541e-01_rb,2.1692e-01_rb, & &1.5876e-01_rb,9.9961e-02_rb,3.0156e-02_rb/) kao(:, 4, 1, 8) = (/ & &5.2222e-01_rb,4.5904e-01_rb,3.9936e-01_rb,3.3918e-01_rb,2.8145e-01_rb,2.2396e-01_rb, & &1.6789e-01_rb,1.0815e-01_rb,3.7634e-02_rb/) kao(:, 5, 1, 8) = (/ & &5.2130e-01_rb,4.5967e-01_rb,4.0135e-01_rb,3.4393e-01_rb,2.8807e-01_rb,2.3225e-01_rb, & &1.7760e-01_rb,1.1669e-01_rb,4.6345e-02_rb/) kao(:, 1, 2, 8) = (/ & &8.1852e-01_rb,7.1745e-01_rb,6.1633e-01_rb,5.1564e-01_rb,4.1643e-01_rb,3.1732e-01_rb, & &2.1786e-01_rb,1.2067e-01_rb,1.4675e-02_rb/) kao(:, 2, 2, 8) = (/ & &8.1998e-01_rb,7.1886e-01_rb,6.1787e-01_rb,5.1883e-01_rb,4.2047e-01_rb,3.2108e-01_rb, & &2.2369e-01_rb,1.2867e-01_rb,1.9122e-02_rb/) kao(:, 3, 2, 8) = (/ & &8.2161e-01_rb,7.2051e-01_rb,6.2063e-01_rb,5.2305e-01_rb,4.2413e-01_rb,3.2660e-01_rb, & &2.3145e-01_rb,1.3782e-01_rb,2.4473e-02_rb/) kao(:, 4, 2, 8) = (/ & &8.2149e-01_rb,7.2071e-01_rb,6.2301e-01_rb,5.2587e-01_rb,4.2865e-01_rb,3.3407e-01_rb, & &2.4032e-01_rb,1.4761e-01_rb,3.0869e-02_rb/) kao(:, 5, 2, 8) = (/ & &8.1957e-01_rb,7.1986e-01_rb,6.2436e-01_rb,5.2838e-01_rb,4.3462e-01_rb,3.4210e-01_rb, & &2.5070e-01_rb,1.5726e-01_rb,3.8311e-02_rb/) kao(:, 1, 3, 8) = (/ & &1.7050e+00_rb,1.4932e+00_rb,1.2814e+00_rb,1.0695e+00_rb,8.5775e-01_rb,6.4751e-01_rb, & &4.3833e-01_rb,2.2806e-01_rb,1.0910e-02_rb/) kao(:, 2, 3, 8) = (/ & &1.7093e+00_rb,1.4971e+00_rb,1.2848e+00_rb,1.0726e+00_rb,8.6216e-01_rb,6.5288e-01_rb, & &4.4261e-01_rb,2.3435e-01_rb,1.4370e-02_rb/) kao(:, 3, 3, 8) = (/ & &1.7123e+00_rb,1.5000e+00_rb,1.2874e+00_rb,1.0764e+00_rb,8.6711e-01_rb,6.5794e-01_rb, & &4.4842e-01_rb,2.4360e-01_rb,1.8590e-02_rb/) kao(:, 4, 3, 8) = (/ & &1.7121e+00_rb,1.4998e+00_rb,1.2880e+00_rb,1.0792e+00_rb,8.7145e-01_rb,6.6223e-01_rb, & &4.5614e-01_rb,2.5394e-01_rb,2.3699e-02_rb/) kao(:, 5, 3, 8) = (/ & &1.7072e+00_rb,1.4957e+00_rb,1.2869e+00_rb,1.0807e+00_rb,8.7401e-01_rb,6.6818e-01_rb, & &4.6582e-01_rb,2.6619e-01_rb,2.9551e-02_rb/) kao(:, 1, 4, 8) = (/ & &3.5671e+00_rb,3.1226e+00_rb,2.6780e+00_rb,2.2334e+00_rb,1.7887e+00_rb,1.3439e+00_rb, & &9.0030e-01_rb,4.5879e-01_rb,7.8646e-03_rb/) kao(:, 2, 4, 8) = (/ & &3.5784e+00_rb,3.1324e+00_rb,2.6867e+00_rb,2.2405e+00_rb,1.7945e+00_rb,1.3495e+00_rb, & &9.0658e-01_rb,4.6395e-01_rb,1.0548e-02_rb/) kao(:, 3, 4, 8) = (/ & &3.5832e+00_rb,3.1369e+00_rb,2.6902e+00_rb,2.2437e+00_rb,1.7981e+00_rb,1.3549e+00_rb, & &9.1305e-01_rb,4.7036e-01_rb,1.3834e-02_rb/) kao(:, 4, 4, 8) = (/ & &3.5802e+00_rb,3.1343e+00_rb,2.6882e+00_rb,2.2430e+00_rb,1.8006e+00_rb,1.3596e+00_rb, & &9.1785e-01_rb,4.7927e-01_rb,1.7787e-02_rb/) kao(:, 5, 4, 8) = (/ & &3.5714e+00_rb,3.1267e+00_rb,2.6827e+00_rb,2.2417e+00_rb,1.8022e+00_rb,1.3635e+00_rb, & &9.2392e-01_rb,4.9076e-01_rb,2.2306e-02_rb/) kao(:, 1, 5, 8) = (/ & &6.7418e+00_rb,5.9003e+00_rb,5.0587e+00_rb,4.2171e+00_rb,3.3754e+00_rb,2.5338e+00_rb, & &1.6921e+00_rb,8.5173e-01_rb,5.5269e-03_rb/) kao(:, 2, 5, 8) = (/ & &6.7656e+00_rb,5.9212e+00_rb,5.0765e+00_rb,4.2319e+00_rb,3.3873e+00_rb,2.5428e+00_rb, & &1.6990e+00_rb,8.5857e-01_rb,7.5732e-03_rb/) kao(:, 3, 5, 8) = (/ & &6.7746e+00_rb,5.9289e+00_rb,5.0835e+00_rb,4.2380e+00_rb,3.3924e+00_rb,2.5474e+00_rb, & &1.7057e+00_rb,8.6548e-01_rb,1.0137e-02_rb/) kao(:, 4, 5, 8) = (/ & &6.7641e+00_rb,5.9200e+00_rb,5.0759e+00_rb,4.2320e+00_rb,3.3891e+00_rb,2.5487e+00_rb, & &1.7099e+00_rb,8.7100e-01_rb,1.3219e-02_rb/) kao(:, 5, 5, 8) = (/ & &6.7413e+00_rb,5.9008e+00_rb,5.0606e+00_rb,4.2207e+00_rb,3.3833e+00_rb,2.5475e+00_rb, & &1.7128e+00_rb,8.7813e-01_rb,1.6736e-02_rb/) kao(:, 1, 6, 8) = (/ & &1.1755e+01_rb,1.0287e+01_rb,8.8182e+00_rb,7.3494e+00_rb,5.8812e+00_rb,4.4127e+00_rb, & &2.9442e+00_rb,1.4757e+00_rb,3.7670e-03_rb/) kao(:, 2, 6, 8) = (/ & &1.1790e+01_rb,1.0318e+01_rb,8.8444e+00_rb,7.3718e+00_rb,5.8990e+00_rb,4.4261e+00_rb, & &2.9535e+00_rb,1.4824e+00_rb,5.2756e-03_rb/) kao(:, 3, 6, 8) = (/ & &1.1802e+01_rb,1.0328e+01_rb,8.8538e+00_rb,7.3796e+00_rb,5.9055e+00_rb,4.4312e+00_rb, & &2.9580e+00_rb,1.4892e+00_rb,7.2031e-03_rb/) kao(:, 4, 6, 8) = (/ & &1.1771e+01_rb,1.0301e+01_rb,8.8310e+00_rb,7.3612e+00_rb,5.8917e+00_rb,4.4224e+00_rb, & &2.9568e+00_rb,1.4927e+00_rb,9.5398e-03_rb/) kao(:, 5, 6, 8) = (/ & &1.1717e+01_rb,1.0254e+01_rb,8.7912e+00_rb,7.3292e+00_rb,5.8672e+00_rb,4.4080e+00_rb, & &2.9504e+00_rb,1.4942e+00_rb,1.2264e-02_rb/) kao(:, 1, 7, 8) = (/ & &2.1201e+01_rb,1.8552e+01_rb,1.5902e+01_rb,1.3253e+01_rb,1.0604e+01_rb,7.9546e+00_rb, & &5.3049e+00_rb,2.6554e+00_rb,2.5163e-03_rb/) kao(:, 2, 7, 8) = (/ & &2.1258e+01_rb,1.8602e+01_rb,1.5945e+01_rb,1.3288e+01_rb,1.0632e+01_rb,7.9754e+00_rb, & &5.3196e+00_rb,2.6631e+00_rb,3.6166e-03_rb/) kao(:, 3, 7, 8) = (/ & &2.1271e+01_rb,1.8614e+01_rb,1.5957e+01_rb,1.3298e+01_rb,1.0640e+01_rb,7.9825e+00_rb, & &5.3244e+00_rb,2.6683e+00_rb,5.0339e-03_rb/) kao(:, 4, 7, 8) = (/ & &2.1213e+01_rb,1.8564e+01_rb,1.5913e+01_rb,1.3262e+01_rb,1.0612e+01_rb,7.9619e+00_rb, & &5.3122e+00_rb,2.6672e+00_rb,6.7768e-03_rb/) kao(:, 5, 7, 8) = (/ & &2.1089e+01_rb,1.8455e+01_rb,1.5820e+01_rb,1.3186e+01_rb,1.0552e+01_rb,7.9178e+00_rb, & &5.2873e+00_rb,2.6593e+00_rb,8.8413e-03_rb/) kao(:, 1, 8, 8) = (/ & &4.5180e+01_rb,3.9535e+01_rb,3.3887e+01_rb,2.8239e+01_rb,2.2591e+01_rb,1.6944e+01_rb, & &1.1298e+01_rb,5.6517e+00_rb,1.3715e-03_rb/) kao(:, 2, 8, 8) = (/ & &4.5290e+01_rb,3.9627e+01_rb,3.3969e+01_rb,2.8308e+01_rb,2.2647e+01_rb,1.6987e+01_rb, & &1.1327e+01_rb,5.6660e+00_rb,2.0845e-03_rb/) kao(:, 3, 8, 8) = (/ & &4.5261e+01_rb,3.9605e+01_rb,3.3948e+01_rb,2.8290e+01_rb,2.2633e+01_rb,1.6977e+01_rb, & &1.1320e+01_rb,5.6637e+00_rb,3.2057e-03_rb/) kao(:, 4, 8, 8) = (/ & &4.5126e+01_rb,3.9486e+01_rb,3.3848e+01_rb,2.8205e+01_rb,2.2567e+01_rb,1.6928e+01_rb, & &1.1288e+01_rb,5.6493e+00_rb,4.5853e-03_rb/) kao(:, 5, 8, 8) = (/ & &4.4865e+01_rb,3.9259e+01_rb,3.3651e+01_rb,2.8046e+01_rb,2.2438e+01_rb,1.6832e+01_rb, & &1.1226e+01_rb,5.6233e+00_rb,6.2243e-03_rb/) kao(:, 1, 9, 8) = (/ & &1.7982e+02_rb,1.5734e+02_rb,1.3487e+02_rb,1.1239e+02_rb,8.9912e+01_rb,6.7434e+01_rb, & &4.4957e+01_rb,2.2481e+01_rb,1.3106e-03_rb/) kao(:, 2, 9, 8) = (/ & &1.7996e+02_rb,1.5746e+02_rb,1.3497e+02_rb,1.1247e+02_rb,8.9976e+01_rb,6.7488e+01_rb, & &4.4992e+01_rb,2.2498e+01_rb,1.6404e-03_rb/) kao(:, 3, 9, 8) = (/ & &1.7965e+02_rb,1.5719e+02_rb,1.3473e+02_rb,1.1228e+02_rb,8.9821e+01_rb,6.7370e+01_rb, & &4.4914e+01_rb,2.2461e+01_rb,2.0268e-03_rb/) kao(:, 4, 9, 8) = (/ & &1.7888e+02_rb,1.5653e+02_rb,1.3416e+02_rb,1.1181e+02_rb,8.9443e+01_rb,6.7088e+01_rb, & &4.4727e+01_rb,2.2367e+01_rb,2.6824e-03_rb/) kao(:, 5, 9, 8) = (/ & &1.7801e+02_rb,1.5576e+02_rb,1.3351e+02_rb,1.1126e+02_rb,8.9014e+01_rb,6.6762e+01_rb, & &4.4512e+01_rb,2.2261e+01_rb,3.2961e-03_rb/) kao(:, 1,10, 8) = (/ & &7.9186e+02_rb,6.9285e+02_rb,5.9387e+02_rb,4.9485e+02_rb,3.9587e+02_rb,2.9692e+02_rb, & &1.9795e+02_rb,9.8980e+01_rb,2.6434e-03_rb/) kao(:, 2,10, 8) = (/ & &7.9156e+02_rb,6.9260e+02_rb,5.9370e+02_rb,4.9476e+02_rb,3.9580e+02_rb,2.9685e+02_rb, & &1.9789e+02_rb,9.8956e+01_rb,3.6689e-03_rb/) kao(:, 3,10, 8) = (/ & &7.8897e+02_rb,6.9037e+02_rb,5.9173e+02_rb,4.9309e+02_rb,3.9450e+02_rb,2.9589e+02_rb, & &1.9725e+02_rb,9.8635e+01_rb,4.1214e-03_rb/) kao(:, 4,10, 8) = (/ & &7.8518e+02_rb,6.8703e+02_rb,5.8889e+02_rb,4.9073e+02_rb,3.9258e+02_rb,2.9444e+02_rb, & &1.9631e+02_rb,9.8149e+01_rb,4.6533e-03_rb/) kao(:, 5,10, 8) = (/ & &7.8271e+02_rb,6.8490e+02_rb,5.8707e+02_rb,4.8922e+02_rb,3.9137e+02_rb,2.9354e+02_rb, & &1.9568e+02_rb,9.7851e+01_rb,5.3114e-03_rb/) kao(:, 1,11, 8) = (/ & &1.2023e+03_rb,1.0521e+03_rb,9.0173e+02_rb,7.5144e+02_rb,6.0116e+02_rb,4.5091e+02_rb, & &3.0058e+02_rb,1.5029e+02_rb,2.8585e-03_rb/) kao(:, 2,11, 8) = (/ & &1.1987e+03_rb,1.0489e+03_rb,8.9906e+02_rb,7.4919e+02_rb,5.9938e+02_rb,4.4951e+02_rb, & &2.9969e+02_rb,1.4984e+02_rb,4.2381e-03_rb/) kao(:, 3,11, 8) = (/ & &1.1938e+03_rb,1.0446e+03_rb,8.9539e+02_rb,7.4611e+02_rb,5.9694e+02_rb,4.4768e+02_rb, & &2.9847e+02_rb,1.4923e+02_rb,6.1776e-03_rb/) kao(:, 4,11, 8) = (/ & &1.1919e+03_rb,1.0429e+03_rb,8.9396e+02_rb,7.4498e+02_rb,5.9597e+02_rb,4.4698e+02_rb, & &2.9797e+02_rb,1.4900e+02_rb,6.8124e-03_rb/) kao(:, 5,11, 8) = (/ & &1.1943e+03_rb,1.0450e+03_rb,8.9567e+02_rb,7.4646e+02_rb,5.9716e+02_rb,4.4786e+02_rb, & &2.9857e+02_rb,1.4929e+02_rb,7.2330e-03_rb/) kao(:, 1,12, 8) = (/ & &1.3468e+03_rb,1.1784e+03_rb,1.0101e+03_rb,8.4170e+02_rb,6.7334e+02_rb,5.0503e+02_rb, & &3.3668e+02_rb,1.6834e+02_rb,3.2180e-03_rb/) kao(:, 2,12, 8) = (/ & &1.3417e+03_rb,1.1740e+03_rb,1.0062e+03_rb,8.3855e+02_rb,6.7082e+02_rb,5.0314e+02_rb, & &3.3541e+02_rb,1.6772e+02_rb,4.6846e-03_rb/) kao(:, 3,12, 8) = (/ & &1.3409e+03_rb,1.1734e+03_rb,1.0058e+03_rb,8.3814e+02_rb,6.7048e+02_rb,5.0287e+02_rb, & &3.3524e+02_rb,1.6763e+02_rb,6.5606e-03_rb/) kao(:, 4,12, 8) = (/ & &1.3471e+03_rb,1.1787e+03_rb,1.0103e+03_rb,8.4192e+02_rb,6.7354e+02_rb,5.0515e+02_rb, & &3.3677e+02_rb,1.6839e+02_rb,8.6936e-03_rb/) kao(:, 5,12, 8) = (/ & &1.3615e+03_rb,1.1913e+03_rb,1.0211e+03_rb,8.5093e+02_rb,6.8072e+02_rb,5.1056e+02_rb, & &3.4035e+02_rb,1.7018e+02_rb,9.2918e-03_rb/) kao(:, 1,13, 8) = (/ & &1.2096e+03_rb,1.0584e+03_rb,9.0717e+02_rb,7.5599e+02_rb,6.0478e+02_rb,4.5359e+02_rb, & &3.0240e+02_rb,1.5119e+02_rb,3.1447e-03_rb/) kao(:, 2,13, 8) = (/ & &1.2095e+03_rb,1.0583e+03_rb,9.0711e+02_rb,7.5597e+02_rb,6.0474e+02_rb,4.5355e+02_rb, & &3.0238e+02_rb,1.5119e+02_rb,4.9163e-03_rb/) kao(:, 3,13, 8) = (/ & &1.2161e+03_rb,1.0641e+03_rb,9.1208e+02_rb,7.6006e+02_rb,6.0804e+02_rb,4.5603e+02_rb, & &3.0401e+02_rb,1.5201e+02_rb,6.8865e-03_rb/) kao(:, 4,13, 8) = (/ & &1.2328e+03_rb,1.0787e+03_rb,9.2458e+02_rb,7.7050e+02_rb,6.1637e+02_rb,4.6230e+02_rb, & &3.0819e+02_rb,1.5410e+02_rb,9.4613e-03_rb/) kao(:, 5,13, 8) = (/ & &1.2601e+03_rb,1.1026e+03_rb,9.4505e+02_rb,7.8755e+02_rb,6.3004e+02_rb,4.7254e+02_rb, & &3.1501e+02_rb,1.5751e+02_rb,1.0283e-02_rb/) kao(:, 1, 1, 9) = (/ & &1.0370e+00_rb,9.0857e-01_rb,7.8023e-01_rb,6.5192e-01_rb,5.2457e-01_rb,4.0025e-01_rb, & &2.7828e-01_rb,1.5804e-01_rb,5.8897e-02_rb/) kao(:, 2, 1, 9) = (/ & &1.0492e+00_rb,9.1962e-01_rb,7.9014e-01_rb,6.6101e-01_rb,5.3535e-01_rb,4.1219e-01_rb, & &2.9064e-01_rb,1.7381e-01_rb,7.6414e-02_rb/) kao(:, 3, 1, 9) = (/ & &1.0617e+00_rb,9.3102e-01_rb,8.0032e-01_rb,6.7200e-01_rb,5.4761e-01_rb,4.2620e-01_rb, & &3.0674e-01_rb,1.9538e-01_rb,9.6701e-02_rb/) kao(:, 4, 1, 9) = (/ & &1.0715e+00_rb,9.3980e-01_rb,8.0850e-01_rb,6.8264e-01_rb,5.6043e-01_rb,4.4205e-01_rb, & &3.2592e-01_rb,2.2229e-01_rb,1.1943e-01_rb/) kao(:, 5, 1, 9) = (/ & &1.0801e+00_rb,9.4751e-01_rb,8.1733e-01_rb,6.9368e-01_rb,5.7613e-01_rb,4.6079e-01_rb, & &3.5014e-01_rb,2.5319e-01_rb,1.4487e-01_rb/) kao(:, 1, 2, 9) = (/ & &1.7442e+00_rb,1.5272e+00_rb,1.3102e+00_rb,1.0933e+00_rb,8.7649e-01_rb,6.6091e-01_rb, & &4.4902e-01_rb,2.3891e-01_rb,5.2362e-02_rb/) kao(:, 2, 2, 9) = (/ & &1.7617e+00_rb,1.5427e+00_rb,1.3238e+00_rb,1.1049e+00_rb,8.8687e-01_rb,6.7276e-01_rb, & &4.6180e-01_rb,2.5188e-01_rb,6.8691e-02_rb/) kao(:, 3, 2, 9) = (/ & &1.7768e+00_rb,1.5563e+00_rb,1.3359e+00_rb,1.1155e+00_rb,8.9933e-01_rb,6.8666e-01_rb, & &4.7568e-01_rb,2.6925e-01_rb,8.7599e-02_rb/) kao(:, 4, 2, 9) = (/ & &1.7902e+00_rb,1.5683e+00_rb,1.3467e+00_rb,1.1272e+00_rb,9.1292e-01_rb,7.0212e-01_rb, & &4.9313e-01_rb,2.9218e-01_rb,1.0892e-01_rb/) kao(:, 5, 2, 9) = (/ & &1.8007e+00_rb,1.5781e+00_rb,1.3558e+00_rb,1.1390e+00_rb,9.2668e-01_rb,7.1895e-01_rb, & &5.1345e-01_rb,3.2009e-01_rb,1.3290e-01_rb/) kao(:, 1, 3, 9) = (/ & &3.9769e+00_rb,3.4805e+00_rb,2.9839e+00_rb,2.4875e+00_rb,1.9912e+00_rb,1.4948e+00_rb, & &9.9892e-01_rb,5.0928e-01_rb,4.2777e-02_rb/) kao(:, 2, 3, 9) = (/ & &4.0084e+00_rb,3.5082e+00_rb,3.0084e+00_rb,2.5082e+00_rb,2.0082e+00_rb,1.5084e+00_rb, & &1.0123e+00_rb,5.2189e-01_rb,5.7041e-02_rb/) kao(:, 3, 3, 9) = (/ & &4.0345e+00_rb,3.5316e+00_rb,3.0286e+00_rb,2.5259e+00_rb,2.0232e+00_rb,1.5223e+00_rb, & &1.0275e+00_rb,5.3508e-01_rb,7.3780e-02_rb/) kao(:, 4, 3, 9) = (/ & &4.0588e+00_rb,3.5535e+00_rb,3.0482e+00_rb,2.5430e+00_rb,2.0380e+00_rb,1.5389e+00_rb, & &1.0447e+00_rb,5.5284e-01_rb,9.2939e-02_rb/) kao(:, 5, 3, 9) = (/ & &4.0766e+00_rb,3.5694e+00_rb,3.0624e+00_rb,2.5553e+00_rb,2.0517e+00_rb,1.5545e+00_rb, & &1.0614e+00_rb,5.7409e-01_rb,1.1487e-01_rb/) kao(:, 1, 4, 9) = (/ & &9.2347e+00_rb,8.0808e+00_rb,6.9267e+00_rb,5.7730e+00_rb,4.6191e+00_rb,3.4653e+00_rb, & &2.3115e+00_rb,1.1586e+00_rb,3.3639e-02_rb/) kao(:, 2, 4, 9) = (/ & &9.3231e+00_rb,8.1587e+00_rb,6.9942e+00_rb,5.8295e+00_rb,4.6650e+00_rb,3.5006e+00_rb, & &2.3364e+00_rb,1.1757e+00_rb,4.5584e-02_rb/) kao(:, 3, 4, 9) = (/ & &9.3883e+00_rb,8.2160e+00_rb,7.0435e+00_rb,5.8714e+00_rb,4.6992e+00_rb,3.5271e+00_rb, & &2.3555e+00_rb,1.1930e+00_rb,5.9759e-02_rb/) kao(:, 4, 4, 9) = (/ & &9.4383e+00_rb,8.2599e+00_rb,7.0821e+00_rb,5.9042e+00_rb,4.7261e+00_rb,3.5482e+00_rb, & &2.3742e+00_rb,1.2110e+00_rb,7.6294e-02_rb/) kao(:, 5, 4, 9) = (/ & &9.4750e+00_rb,8.2926e+00_rb,7.1106e+00_rb,5.9283e+00_rb,4.7463e+00_rb,3.5648e+00_rb, & &2.3926e+00_rb,1.2283e+00_rb,9.5542e-02_rb/) kao(:, 1, 5, 9) = (/ & &1.9585e+01_rb,1.7137e+01_rb,1.4689e+01_rb,1.2242e+01_rb,9.7941e+00_rb,7.3465e+00_rb, & &4.8988e+00_rb,2.4515e+00_rb,2.6102e-02_rb/) kao(:, 2, 5, 9) = (/ & &1.9780e+01_rb,1.7309e+01_rb,1.4837e+01_rb,1.2365e+01_rb,9.8932e+00_rb,7.4216e+00_rb, & &4.9500e+00_rb,2.4789e+00_rb,3.5859e-02_rb/) kao(:, 3, 5, 9) = (/ & &1.9935e+01_rb,1.7444e+01_rb,1.4954e+01_rb,1.2463e+01_rb,9.9721e+00_rb,7.4814e+00_rb, & &4.9911e+00_rb,2.5017e+00_rb,4.7575e-02_rb/) kao(:, 4, 5, 9) = (/ & &2.0051e+01_rb,1.7546e+01_rb,1.5041e+01_rb,1.2537e+01_rb,1.0032e+01_rb,7.5273e+00_rb, & &5.0227e+00_rb,2.5239e+00_rb,6.1484e-02_rb/) kao(:, 5, 5, 9) = (/ & &2.0135e+01_rb,1.7620e+01_rb,1.5106e+01_rb,1.2591e+01_rb,1.0076e+01_rb,7.5609e+00_rb, & &5.0463e+00_rb,2.5450e+00_rb,7.7952e-02_rb/) kao(:, 1, 6, 9) = (/ & &3.8631e+01_rb,3.3801e+01_rb,2.8974e+01_rb,2.4144e+01_rb,1.9316e+01_rb,1.4488e+01_rb, & &9.6597e+00_rb,4.8315e+00_rb,1.9604e-02_rb/) kao(:, 2, 6, 9) = (/ & &3.9022e+01_rb,3.4145e+01_rb,2.9268e+01_rb,2.4390e+01_rb,1.9513e+01_rb,1.4636e+01_rb, & &9.7595e+00_rb,4.8831e+00_rb,2.7435e-02_rb/) kao(:, 3, 6, 9) = (/ & &3.9348e+01_rb,3.4431e+01_rb,2.9514e+01_rb,2.4596e+01_rb,1.9679e+01_rb,1.4761e+01_rb, & &9.8442e+00_rb,4.9267e+00_rb,3.6949e-02_rb/) kao(:, 4, 6, 9) = (/ & &3.9594e+01_rb,3.4646e+01_rb,2.9698e+01_rb,2.4751e+01_rb,1.9803e+01_rb,1.4855e+01_rb, & &9.9079e+00_rb,4.9603e+00_rb,4.8442e-02_rb/) kao(:, 5, 6, 9) = (/ & &3.9770e+01_rb,3.4801e+01_rb,2.9832e+01_rb,2.4862e+01_rb,1.9893e+01_rb,1.4924e+01_rb, & &9.9544e+00_rb,4.9871e+00_rb,6.2169e-02_rb/) kao(:, 1, 7, 9) = (/ & &7.9230e+01_rb,6.9326e+01_rb,5.9424e+01_rb,4.9520e+01_rb,3.9617e+01_rb,2.9713e+01_rb, & &1.9810e+01_rb,9.9063e+00_rb,1.4333e-02_rb/) kao(:, 2, 7, 9) = (/ & &8.0053e+01_rb,7.0047e+01_rb,6.0041e+01_rb,5.0034e+01_rb,4.0029e+01_rb,3.0023e+01_rb, & &2.0018e+01_rb,1.0011e+01_rb,2.0474e-02_rb/) kao(:, 3, 7, 9) = (/ & &8.0747e+01_rb,7.0654e+01_rb,6.0562e+01_rb,5.0470e+01_rb,4.0378e+01_rb,3.0286e+01_rb, & &2.0193e+01_rb,1.0101e+01_rb,2.8098e-02_rb/) kao(:, 4, 7, 9) = (/ & &8.1303e+01_rb,7.1142e+01_rb,6.0980e+01_rb,5.0819e+01_rb,4.0658e+01_rb,3.0496e+01_rb, & &2.0334e+01_rb,1.0173e+01_rb,3.7439e-02_rb/) kao(:, 5, 7, 9) = (/ & &8.1680e+01_rb,7.1472e+01_rb,6.1265e+01_rb,5.1057e+01_rb,4.0847e+01_rb,3.0638e+01_rb, & &2.0431e+01_rb,1.0223e+01_rb,4.8718e-02_rb/) kao(:, 1, 8, 9) = (/ & &1.9140e+02_rb,1.6747e+02_rb,1.4355e+02_rb,1.1962e+02_rb,9.5701e+01_rb,7.1775e+01_rb, & &4.7850e+01_rb,2.3927e+01_rb,1.0137e-02_rb/) kao(:, 2, 8, 9) = (/ & &1.9353e+02_rb,1.6934e+02_rb,1.4515e+02_rb,1.2096e+02_rb,9.6769e+01_rb,7.2577e+01_rb, & &4.8385e+01_rb,2.4195e+01_rb,1.4960e-02_rb/) kao(:, 3, 8, 9) = (/ & &1.9528e+02_rb,1.7086e+02_rb,1.4646e+02_rb,1.2205e+02_rb,9.7642e+01_rb,7.3231e+01_rb, & &4.8824e+01_rb,2.4416e+01_rb,2.0883e-02_rb/) kao(:, 4, 8, 9) = (/ & &1.9672e+02_rb,1.7213e+02_rb,1.4754e+02_rb,1.2295e+02_rb,9.8361e+01_rb,7.3773e+01_rb, & &4.9186e+01_rb,2.4598e+01_rb,2.8267e-02_rb/) kao(:, 5, 8, 9) = (/ & &1.9763e+02_rb,1.7293e+02_rb,1.4824e+02_rb,1.2352e+02_rb,9.8820e+01_rb,7.4120e+01_rb, & &4.9417e+01_rb,2.4716e+01_rb,3.7324e-02_rb/) kao(:, 1, 9, 9) = (/ & &8.5696e+02_rb,7.4986e+02_rb,6.4272e+02_rb,5.3561e+02_rb,4.2849e+02_rb,3.2137e+02_rb, & &2.1425e+02_rb,1.0712e+02_rb,4.9710e-03_rb/) kao(:, 2, 9, 9) = (/ & &8.6661e+02_rb,7.5827e+02_rb,6.4996e+02_rb,5.4164e+02_rb,4.3331e+02_rb,3.2498e+02_rb, & &2.1666e+02_rb,1.0833e+02_rb,7.7324e-03_rb/) kao(:, 3, 9, 9) = (/ & &8.7472e+02_rb,7.6537e+02_rb,6.5602e+02_rb,5.4669e+02_rb,4.3735e+02_rb,3.2801e+02_rb, & &2.1868e+02_rb,1.0935e+02_rb,1.2302e-02_rb/) kao(:, 4, 9, 9) = (/ & &8.8128e+02_rb,7.7113e+02_rb,6.6095e+02_rb,5.5081e+02_rb,4.4064e+02_rb,3.3048e+02_rb, & &2.2033e+02_rb,1.1017e+02_rb,1.8205e-02_rb/) kao(:, 5, 9, 9) = (/ & &8.8594e+02_rb,7.7518e+02_rb,6.6448e+02_rb,5.5372e+02_rb,4.4298e+02_rb,3.3223e+02_rb, & &2.2150e+02_rb,1.1076e+02_rb,2.5853e-02_rb/) kao(:, 1,10, 9) = (/ & &4.2110e+03_rb,3.6847e+03_rb,3.1582e+03_rb,2.6319e+03_rb,2.1055e+03_rb,1.5792e+03_rb, & &1.0527e+03_rb,5.2637e+02_rb,5.0235e-03_rb/) kao(:, 2,10, 9) = (/ & &4.2578e+03_rb,3.7256e+03_rb,3.1934e+03_rb,2.6613e+03_rb,2.1289e+03_rb,1.5967e+03_rb, & &1.0645e+03_rb,5.3224e+02_rb,7.3952e-03_rb/) kao(:, 3,10, 9) = (/ & &4.2976e+03_rb,3.7604e+03_rb,3.2232e+03_rb,2.6860e+03_rb,2.1488e+03_rb,1.6116e+03_rb, & &1.0744e+03_rb,5.3720e+02_rb,1.0255e-02_rb/) kao(:, 4,10, 9) = (/ & &4.3279e+03_rb,3.7869e+03_rb,3.2460e+03_rb,2.7049e+03_rb,2.1640e+03_rb,1.6230e+03_rb, & &1.0820e+03_rb,5.4099e+02_rb,1.2154e-02_rb/) kao(:, 5,10, 9) = (/ & &4.3496e+03_rb,3.8060e+03_rb,3.2622e+03_rb,2.7186e+03_rb,2.1748e+03_rb,1.6311e+03_rb, & &1.0874e+03_rb,5.4372e+02_rb,1.4719e-02_rb/) kao(:, 1,11, 9) = (/ & &7.1173e+03_rb,6.2277e+03_rb,5.3380e+03_rb,4.4482e+03_rb,3.5586e+03_rb,2.6690e+03_rb, & &1.7793e+03_rb,8.8967e+02_rb,4.7950e-03_rb/) kao(:, 2,11, 9) = (/ & &7.1866e+03_rb,6.2881e+03_rb,5.3900e+03_rb,4.4917e+03_rb,3.5933e+03_rb,2.6950e+03_rb, & &1.7967e+03_rb,8.9836e+02_rb,1.0381e-02_rb/) kao(:, 3,11, 9) = (/ & &7.2420e+03_rb,6.3363e+03_rb,5.4313e+03_rb,4.5262e+03_rb,3.6209e+03_rb,2.7156e+03_rb, & &1.8104e+03_rb,9.0520e+02_rb,1.1192e-02_rb/) kao(:, 4,11, 9) = (/ & &7.2818e+03_rb,6.3715e+03_rb,5.4613e+03_rb,4.5511e+03_rb,3.6409e+03_rb,2.7307e+03_rb, & &1.8205e+03_rb,9.1025e+02_rb,1.5145e-02_rb/) kao(:, 5,11, 9) = (/ & &7.3078e+03_rb,6.3944e+03_rb,5.4808e+03_rb,4.5675e+03_rb,3.6540e+03_rb,2.7404e+03_rb, & &1.8270e+03_rb,9.1351e+02_rb,1.9391e-02_rb/) kao(:, 1,12, 9) = (/ & &8.7768e+03_rb,7.6797e+03_rb,6.5826e+03_rb,5.4853e+03_rb,4.3884e+03_rb,3.2912e+03_rb, & &2.1942e+03_rb,1.0970e+03_rb,4.5625e-03_rb/) kao(:, 2,12, 9) = (/ & &8.8507e+03_rb,7.7442e+03_rb,6.6378e+03_rb,5.5316e+03_rb,4.4251e+03_rb,3.3189e+03_rb, & &2.2126e+03_rb,1.1063e+03_rb,8.7877e-03_rb/) kao(:, 3,12, 9) = (/ & &8.9020e+03_rb,7.7891e+03_rb,6.6765e+03_rb,5.5638e+03_rb,4.4512e+03_rb,3.3383e+03_rb, & &2.2256e+03_rb,1.1128e+03_rb,1.5209e-02_rb/) kao(:, 4,12, 9) = (/ & &8.9305e+03_rb,7.8144e+03_rb,6.6981e+03_rb,5.5817e+03_rb,4.4653e+03_rb,3.3489e+03_rb, & &2.2326e+03_rb,1.1163e+03_rb,1.7795e-02_rb/) kao(:, 5,12, 9) = (/ & &8.9442e+03_rb,7.8262e+03_rb,6.7079e+03_rb,5.5901e+03_rb,4.4720e+03_rb,3.3539e+03_rb, & &2.2360e+03_rb,1.1180e+03_rb,2.1474e-02_rb/) kao(:, 1,13, 9) = (/ & &8.5284e+03_rb,7.4622e+03_rb,6.3962e+03_rb,5.3302e+03_rb,4.2643e+03_rb,3.1981e+03_rb, & &2.1321e+03_rb,1.0660e+03_rb,6.4304e-03_rb/) kao(:, 2,13, 9) = (/ & &8.5795e+03_rb,7.5072e+03_rb,6.4348e+03_rb,5.3623e+03_rb,4.2900e+03_rb,3.2173e+03_rb, & &2.1449e+03_rb,1.0725e+03_rb,8.8022e-03_rb/) kao(:, 3,13, 9) = (/ & &8.6101e+03_rb,7.5338e+03_rb,6.4575e+03_rb,5.3813e+03_rb,4.3050e+03_rb,3.2288e+03_rb, & &2.1525e+03_rb,1.0763e+03_rb,1.7025e-02_rb/) kao(:, 4,13, 9) = (/ & &8.6267e+03_rb,7.5481e+03_rb,6.4701e+03_rb,5.3916e+03_rb,4.3132e+03_rb,3.2351e+03_rb, & &2.1567e+03_rb,1.0783e+03_rb,2.0223e-02_rb/) kao(:, 5,13, 9) = (/ & &8.6229e+03_rb,7.5451e+03_rb,6.4669e+03_rb,5.3892e+03_rb,4.3114e+03_rb,3.2335e+03_rb, & &2.1558e+03_rb,1.0779e+03_rb,2.3841e-02_rb/) kao(:, 1, 1,10) = (/ & &3.0277e+00_rb,2.6495e+00_rb,2.2716e+00_rb,1.8933e+00_rb,1.5153e+00_rb,1.1372e+00_rb, & &7.5951e-01_rb,4.2431e-01_rb,1.1653e-01_rb/) kao(:, 2, 1,10) = (/ & &3.0877e+00_rb,2.7021e+00_rb,2.3167e+00_rb,1.9311e+00_rb,1.5454e+00_rb,1.1599e+00_rb, & &7.9480e-01_rb,4.6158e-01_rb,1.5133e-01_rb/) kao(:, 3, 1,10) = (/ & &3.1443e+00_rb,2.7514e+00_rb,2.3589e+00_rb,1.9665e+00_rb,1.5738e+00_rb,1.1839e+00_rb, & &8.4936e-01_rb,4.8883e-01_rb,1.8963e-01_rb/) kao(:, 4, 1,10) = (/ & &3.1902e+00_rb,2.7921e+00_rb,2.3935e+00_rb,1.9952e+00_rb,1.5971e+00_rb,1.2268e+00_rb, & &8.9927e-01_rb,5.1426e-01_rb,2.3885e-01_rb/) kao(:, 5, 1,10) = (/ & &3.2311e+00_rb,2.8275e+00_rb,2.4242e+00_rb,2.0206e+00_rb,1.6182e+00_rb,1.2846e+00_rb, & &9.3468e-01_rb,5.5470e-01_rb,2.9337e-01_rb/) kao(:, 1, 2,10) = (/ & &4.5362e+00_rb,3.9696e+00_rb,3.4027e+00_rb,2.8358e+00_rb,2.2692e+00_rb,1.7025e+00_rb, & &1.1358e+00_rb,5.9446e-01_rb,1.1450e-01_rb/) kao(:, 2, 2,10) = (/ & &4.6490e+00_rb,4.0681e+00_rb,3.4874e+00_rb,2.9068e+00_rb,2.3258e+00_rb,1.7450e+00_rb, & &1.1656e+00_rb,6.4847e-01_rb,1.4911e-01_rb/) kao(:, 3, 2,10) = (/ & &4.7559e+00_rb,4.1617e+00_rb,3.5676e+00_rb,2.9735e+00_rb,2.3793e+00_rb,1.7851e+00_rb, & &1.2174e+00_rb,6.9018e-01_rb,1.9066e-01_rb/) kao(:, 4, 2,10) = (/ & &4.8499e+00_rb,4.2438e+00_rb,3.6378e+00_rb,3.0322e+00_rb,2.4263e+00_rb,1.8213e+00_rb, & &1.2864e+00_rb,7.2155e-01_rb,2.3838e-01_rb/) kao(:, 5, 2,10) = (/ & &4.9283e+00_rb,4.3130e+00_rb,3.6972e+00_rb,3.0815e+00_rb,2.4657e+00_rb,1.8737e+00_rb, & &1.3480e+00_rb,7.6180e-01_rb,2.9224e-01_rb/) kao(:, 1, 3,10) = (/ & &9.1512e+00_rb,8.0077e+00_rb,6.8647e+00_rb,5.7202e+00_rb,4.5764e+00_rb,3.4330e+00_rb, & &2.2893e+00_rb,1.1456e+00_rb,1.0238e-01_rb/) kao(:, 2, 3,10) = (/ & &9.4295e+00_rb,8.2512e+00_rb,7.0726e+00_rb,5.8941e+00_rb,4.7160e+00_rb,3.5376e+00_rb, & &2.3591e+00_rb,1.1894e+00_rb,1.3683e-01_rb/) kao(:, 3, 3,10) = (/ & &9.6929e+00_rb,8.4812e+00_rb,7.2704e+00_rb,6.0594e+00_rb,4.8479e+00_rb,3.6364e+00_rb, & &2.4250e+00_rb,1.2581e+00_rb,1.7750e-01_rb/) kao(:, 4, 3,10) = (/ & &9.9289e+00_rb,8.6885e+00_rb,7.4477e+00_rb,6.2066e+00_rb,4.9652e+00_rb,3.7251e+00_rb, & &2.4842e+00_rb,1.3376e+00_rb,2.2412e-01_rb/) kao(:, 5, 3,10) = (/ & &1.0116e+01_rb,8.8511e+00_rb,7.5880e+00_rb,6.3233e+00_rb,5.0592e+00_rb,3.7951e+00_rb, & &2.5511e+00_rb,1.3941e+00_rb,2.7545e-01_rb/) kao(:, 1, 4,10) = (/ & &1.9425e+01_rb,1.6997e+01_rb,1.4568e+01_rb,1.2141e+01_rb,9.7127e+00_rb,7.2856e+00_rb, & &4.8569e+00_rb,2.4292e+00_rb,8.5208e-02_rb/) kao(:, 2, 4,10) = (/ & &1.9954e+01_rb,1.7460e+01_rb,1.4965e+01_rb,1.2471e+01_rb,9.9767e+00_rb,7.4831e+00_rb, & &4.9893e+00_rb,2.4954e+00_rb,1.1708e-01_rb/) kao(:, 3, 4,10) = (/ & &2.0423e+01_rb,1.7870e+01_rb,1.5318e+01_rb,1.2764e+01_rb,1.0212e+01_rb,7.6596e+00_rb, & &5.1068e+00_rb,2.5544e+00_rb,1.5673e-01_rb/) kao(:, 4, 4,10) = (/ & &2.0864e+01_rb,1.8257e+01_rb,1.5649e+01_rb,1.3042e+01_rb,1.0433e+01_rb,7.8250e+00_rb, & &5.2173e+00_rb,2.6098e+00_rb,2.0293e-01_rb/) kao(:, 5, 4,10) = (/ & &2.1248e+01_rb,1.8592e+01_rb,1.5938e+01_rb,1.3281e+01_rb,1.0624e+01_rb,7.9692e+00_rb, & &5.3131e+00_rb,2.6931e+00_rb,2.5421e-01_rb/) kao(:, 1, 5,10) = (/ & &4.0147e+01_rb,3.5130e+01_rb,3.0111e+01_rb,2.5093e+01_rb,2.0073e+01_rb,1.5056e+01_rb, & &1.0038e+01_rb,5.0189e+00_rb,6.8359e-02_rb/) kao(:, 2, 5,10) = (/ & &4.0924e+01_rb,3.5810e+01_rb,3.0692e+01_rb,2.5576e+01_rb,2.0461e+01_rb,1.5346e+01_rb, & &1.0232e+01_rb,5.1160e+00_rb,9.6926e-02_rb/) kao(:, 3, 5,10) = (/ & &4.1536e+01_rb,3.6343e+01_rb,3.1153e+01_rb,2.5962e+01_rb,2.0769e+01_rb,1.5577e+01_rb, & &1.0385e+01_rb,5.1928e+00_rb,1.3304e-01_rb/) kao(:, 4, 5,10) = (/ & &4.2166e+01_rb,3.6896e+01_rb,3.1624e+01_rb,2.6353e+01_rb,2.1083e+01_rb,1.5813e+01_rb, & &1.0542e+01_rb,5.2715e+00_rb,1.7579e-01_rb/) kao(:, 5, 5,10) = (/ & &4.2771e+01_rb,3.7425e+01_rb,3.2079e+01_rb,2.6732e+01_rb,2.1385e+01_rb,1.6040e+01_rb, & &1.0693e+01_rb,5.3473e+00_rb,2.2393e-01_rb/) kao(:, 1, 6,10) = (/ & &8.0027e+01_rb,7.0022e+01_rb,6.0023e+01_rb,5.0019e+01_rb,4.0013e+01_rb,3.0011e+01_rb, & &2.0007e+01_rb,1.0004e+01_rb,5.3924e-02_rb/) kao(:, 2, 6,10) = (/ & &8.1173e+01_rb,7.1024e+01_rb,6.0878e+01_rb,5.0731e+01_rb,4.0584e+01_rb,3.0439e+01_rb, & &2.0293e+01_rb,1.0147e+01_rb,7.8165e-02_rb/) kao(:, 3, 6,10) = (/ & &8.2280e+01_rb,7.1996e+01_rb,6.1710e+01_rb,5.1425e+01_rb,4.1141e+01_rb,3.0855e+01_rb, & &2.0570e+01_rb,1.0285e+01_rb,1.0934e-01_rb/) kao(:, 4, 6,10) = (/ & &8.3115e+01_rb,7.2722e+01_rb,6.2336e+01_rb,5.1947e+01_rb,4.1558e+01_rb,3.1167e+01_rb, & &2.0778e+01_rb,1.0390e+01_rb,1.4595e-01_rb/) kao(:, 5, 6,10) = (/ & &8.3819e+01_rb,7.3349e+01_rb,6.2867e+01_rb,5.2391e+01_rb,4.1913e+01_rb,3.1434e+01_rb, & &2.0957e+01_rb,1.0479e+01_rb,1.8806e-01_rb/) kao(:, 1, 7,10) = (/ & &1.6996e+02_rb,1.4871e+02_rb,1.2747e+02_rb,1.0622e+02_rb,8.4977e+01_rb,6.3734e+01_rb, & &4.2490e+01_rb,2.1246e+01_rb,4.2588e-02_rb/) kao(:, 2, 7,10) = (/ & &1.7243e+02_rb,1.5088e+02_rb,1.2932e+02_rb,1.0776e+02_rb,8.6211e+01_rb,6.4660e+01_rb, & &4.3106e+01_rb,2.1553e+01_rb,6.2851e-02_rb/) kao(:, 3, 7,10) = (/ & &1.7457e+02_rb,1.5274e+02_rb,1.3092e+02_rb,1.0910e+02_rb,8.7283e+01_rb,6.5459e+01_rb, & &4.3641e+01_rb,2.1821e+01_rb,8.8704e-02_rb/) kao(:, 4, 7,10) = (/ & &1.7636e+02_rb,1.5432e+02_rb,1.3227e+02_rb,1.1023e+02_rb,8.8183e+01_rb,6.6138e+01_rb, & &4.4090e+01_rb,2.2046e+01_rb,1.1966e-01_rb/) kao(:, 5, 7,10) = (/ & &1.7764e+02_rb,1.5544e+02_rb,1.3323e+02_rb,1.1102e+02_rb,8.8816e+01_rb,6.6613e+01_rb, & &4.4410e+01_rb,2.2206e+01_rb,1.5600e-01_rb/) kao(:, 1, 8,10) = (/ & &4.3531e+02_rb,3.8090e+02_rb,3.2647e+02_rb,2.7207e+02_rb,2.1766e+02_rb,1.6325e+02_rb, & &1.0883e+02_rb,5.4412e+01_rb,3.2634e-02_rb/) kao(:, 2, 8,10) = (/ & &4.4098e+02_rb,3.8585e+02_rb,3.3074e+02_rb,2.7562e+02_rb,2.2050e+02_rb,1.6536e+02_rb, & &1.1025e+02_rb,5.5123e+01_rb,4.9788e-02_rb/) kao(:, 3, 8,10) = (/ & &4.4650e+02_rb,3.9069e+02_rb,3.3490e+02_rb,2.7906e+02_rb,2.2325e+02_rb,1.6744e+02_rb, & &1.1162e+02_rb,5.5816e+01_rb,7.2094e-02_rb/) kao(:, 4, 8,10) = (/ & &4.5108e+02_rb,3.9470e+02_rb,3.3831e+02_rb,2.8194e+02_rb,2.2555e+02_rb,1.6915e+02_rb, & &1.1277e+02_rb,5.6387e+01_rb,9.8901e-02_rb/) kao(:, 5, 8,10) = (/ & &4.5442e+02_rb,3.9761e+02_rb,3.4081e+02_rb,2.8400e+02_rb,2.2721e+02_rb,1.7040e+02_rb, & &1.1360e+02_rb,5.6798e+01_rb,1.3038e-01_rb/) kao(:, 1, 9,10) = (/ & &2.1147e+03_rb,1.8504e+03_rb,1.5860e+03_rb,1.3217e+03_rb,1.0574e+03_rb,7.9304e+02_rb, & &5.2867e+02_rb,2.6435e+02_rb,1.9424e-02_rb/) kao(:, 2, 9,10) = (/ & &2.1442e+03_rb,1.8762e+03_rb,1.6082e+03_rb,1.3401e+03_rb,1.0721e+03_rb,8.0408e+02_rb, & &5.3608e+02_rb,2.6803e+02_rb,3.6865e-02_rb/) kao(:, 3, 9,10) = (/ & &2.1685e+03_rb,1.8976e+03_rb,1.6264e+03_rb,1.3553e+03_rb,1.0842e+03_rb,8.1317e+02_rb, & &5.4213e+02_rb,2.7107e+02_rb,5.5684e-02_rb/) kao(:, 4, 9,10) = (/ & &2.1886e+03_rb,1.9151e+03_rb,1.6415e+03_rb,1.3680e+03_rb,1.0943e+03_rb,8.2077e+02_rb, & &5.4720e+02_rb,2.7360e+02_rb,7.8135e-02_rb/) kao(:, 5, 9,10) = (/ & &2.2035e+03_rb,1.9281e+03_rb,1.6526e+03_rb,1.3772e+03_rb,1.1018e+03_rb,8.2634e+02_rb, & &5.5093e+02_rb,2.7546e+02_rb,1.0558e-01_rb/) kao(:, 1,10,10) = (/ & &1.1340e+04_rb,9.9225e+03_rb,8.5053e+03_rb,7.0882e+03_rb,5.6700e+03_rb,4.2524e+03_rb, & &2.8350e+03_rb,1.4175e+03_rb,1.1591e-02_rb/) kao(:, 2,10,10) = (/ & &1.1483e+04_rb,1.0048e+04_rb,8.6127e+03_rb,7.1771e+03_rb,5.7419e+03_rb,4.3066e+03_rb, & &2.8709e+03_rb,1.4354e+03_rb,1.2588e-02_rb/) kao(:, 3,10,10) = (/ & &1.1610e+04_rb,1.0159e+04_rb,8.7071e+03_rb,7.2559e+03_rb,5.8048e+03_rb,4.3532e+03_rb, & &2.9023e+03_rb,1.4511e+03_rb,2.5538e-02_rb/) kao(:, 4,10,10) = (/ & &1.1702e+04_rb,1.0239e+04_rb,8.7766e+03_rb,7.3135e+03_rb,5.8511e+03_rb,4.3884e+03_rb, & &2.9255e+03_rb,1.4628e+03_rb,4.5275e-02_rb/) kao(:, 5,10,10) = (/ & &1.1737e+04_rb,1.0270e+04_rb,8.8031e+03_rb,7.3358e+03_rb,5.8688e+03_rb,4.4014e+03_rb, & &2.9344e+03_rb,1.4670e+03_rb,5.8192e-02_rb/) kao(:, 1,11,10) = (/ & &2.0903e+04_rb,1.8291e+04_rb,1.5678e+04_rb,1.3065e+04_rb,1.0451e+04_rb,7.8389e+03_rb, & &5.2261e+03_rb,2.6129e+03_rb,7.1886e-03_rb/) kao(:, 2,11,10) = (/ & &2.1095e+04_rb,1.8459e+04_rb,1.5821e+04_rb,1.3184e+04_rb,1.0548e+04_rb,7.9109e+03_rb, & &5.2736e+03_rb,2.6368e+03_rb,6.0460e-03_rb/) kao(:, 3,11,10) = (/ & &2.1210e+04_rb,1.8559e+04_rb,1.5908e+04_rb,1.3256e+04_rb,1.0605e+04_rb,7.9536e+03_rb, & &5.3027e+03_rb,2.6511e+03_rb,2.6262e-02_rb/) kao(:, 4,11,10) = (/ & &2.1260e+04_rb,1.8603e+04_rb,1.5945e+04_rb,1.3287e+04_rb,1.0630e+04_rb,7.9726e+03_rb, & &5.3149e+03_rb,2.6575e+03_rb,3.1824e-02_rb/) kao(:, 5,11,10) = (/ & &2.1221e+04_rb,1.8569e+04_rb,1.5915e+04_rb,1.3263e+04_rb,1.0611e+04_rb,7.9580e+03_rb, & &5.3053e+03_rb,2.6525e+03_rb,4.2831e-02_rb/) kao(:, 1,12,10) = (/ & &2.8005e+04_rb,2.4506e+04_rb,2.1003e+04_rb,1.7504e+04_rb,1.4003e+04_rb,1.0502e+04_rb, & &7.0018e+03_rb,3.5007e+03_rb,1.9282e-02_rb/) kao(:, 2,12,10) = (/ & &2.8178e+04_rb,2.4656e+04_rb,2.1135e+04_rb,1.7611e+04_rb,1.4090e+04_rb,1.0567e+04_rb, & &7.0445e+03_rb,3.5221e+03_rb,8.6382e-03_rb/) kao(:, 3,12,10) = (/ & &2.8205e+04_rb,2.4680e+04_rb,2.1153e+04_rb,1.7628e+04_rb,1.4103e+04_rb,1.0577e+04_rb, & &7.0512e+03_rb,3.5256e+03_rb,2.9773e-02_rb/) kao(:, 4,12,10) = (/ & &2.8170e+04_rb,2.4648e+04_rb,2.1126e+04_rb,1.7606e+04_rb,1.4084e+04_rb,1.0563e+04_rb, & &7.0421e+03_rb,3.5211e+03_rb,3.9720e-02_rb/) kao(:, 5,12,10) = (/ & &2.8047e+04_rb,2.4540e+04_rb,2.1034e+04_rb,1.7529e+04_rb,1.4023e+04_rb,1.0517e+04_rb, & &7.0115e+03_rb,3.5058e+03_rb,4.1794e-02_rb/) kao(:, 1,13,10) = (/ & &2.9533e+04_rb,2.5841e+04_rb,2.2150e+04_rb,1.8457e+04_rb,1.4766e+04_rb,1.1075e+04_rb, & &7.3833e+03_rb,3.6917e+03_rb,1.5098e-03_rb/) kao(:, 2,13,10) = (/ & &2.9558e+04_rb,2.5865e+04_rb,2.2169e+04_rb,1.8475e+04_rb,1.4779e+04_rb,1.1085e+04_rb, & &7.3900e+03_rb,3.6949e+03_rb,1.2533e-02_rb/) kao(:, 3,13,10) = (/ & &2.9540e+04_rb,2.5844e+04_rb,2.2155e+04_rb,1.8463e+04_rb,1.4769e+04_rb,1.1077e+04_rb, & &7.3851e+03_rb,3.6924e+03_rb,1.7410e-02_rb/) kao(:, 4,13,10) = (/ & &2.9338e+04_rb,2.5670e+04_rb,2.2004e+04_rb,1.8336e+04_rb,1.4669e+04_rb,1.1002e+04_rb, & &7.3346e+03_rb,3.6671e+03_rb,4.5009e-02_rb/) kao(:, 5,13,10) = (/ & &2.9073e+04_rb,2.5440e+04_rb,2.1806e+04_rb,1.8171e+04_rb,1.4537e+04_rb,1.0903e+04_rb, & &7.2684e+03_rb,3.6344e+03_rb,5.0725e-02_rb/) kao(:, 1, 1,11) = (/ & &5.0284e+00_rb,4.3997e+00_rb,3.7713e+00_rb,3.1433e+00_rb,2.5148e+00_rb,1.8867e+00_rb, & &1.2585e+00_rb,6.3034e-01_rb,1.3324e-01_rb/) kao(:, 2, 1,11) = (/ & &5.0428e+00_rb,4.4122e+00_rb,3.7822e+00_rb,3.1521e+00_rb,2.5223e+00_rb,1.8921e+00_rb, & &1.2620e+00_rb,6.6040e-01_rb,1.7160e-01_rb/) kao(:, 3, 1,11) = (/ & &5.0450e+00_rb,4.4148e+00_rb,3.7841e+00_rb,3.1540e+00_rb,2.5234e+00_rb,1.8930e+00_rb, & &1.2629e+00_rb,7.0553e-01_rb,2.2033e-01_rb/) kao(:, 4, 1,11) = (/ & &5.0314e+00_rb,4.4027e+00_rb,3.7741e+00_rb,3.1454e+00_rb,2.5166e+00_rb,1.8879e+00_rb, & &1.2828e+00_rb,7.2981e-01_rb,2.7819e-01_rb/) kao(:, 5, 1,11) = (/ & &5.0061e+00_rb,4.3808e+00_rb,3.7550e+00_rb,3.1298e+00_rb,2.5041e+00_rb,1.8785e+00_rb, & &1.3311e+00_rb,7.4514e-01_rb,3.4945e-01_rb/) kao(:, 1, 2,11) = (/ & &7.7109e+00_rb,6.7474e+00_rb,5.7839e+00_rb,4.8201e+00_rb,3.8564e+00_rb,2.8926e+00_rb, & &1.9289e+00_rb,9.6516e-01_rb,1.3538e-01_rb/) kao(:, 2, 2,11) = (/ & &7.7553e+00_rb,6.7857e+00_rb,5.8167e+00_rb,4.8473e+00_rb,3.8784e+00_rb,2.9091e+00_rb, & &1.9400e+00_rb,9.7434e-01_rb,1.7899e-01_rb/) kao(:, 3, 2,11) = (/ & &7.7777e+00_rb,6.8060e+00_rb,5.8332e+00_rb,4.8617e+00_rb,3.8897e+00_rb,2.9178e+00_rb, & &1.9457e+00_rb,1.0175e+00_rb,2.2662e-01_rb/) kao(:, 4, 2,11) = (/ & &7.7756e+00_rb,6.8039e+00_rb,5.8323e+00_rb,4.8602e+00_rb,3.8885e+00_rb,2.9169e+00_rb, & &1.9452e+00_rb,1.0634e+00_rb,2.8531e-01_rb/) kao(:, 5, 2,11) = (/ & &7.7495e+00_rb,6.7817e+00_rb,5.8131e+00_rb,4.8446e+00_rb,3.8758e+00_rb,2.9075e+00_rb, & &1.9643e+00_rb,1.0863e+00_rb,3.5634e-01_rb/) kao(:, 1, 3,11) = (/ & &1.5932e+01_rb,1.3941e+01_rb,1.1949e+01_rb,9.9578e+00_rb,7.9671e+00_rb,5.9754e+00_rb, & &3.9840e+00_rb,1.9926e+00_rb,1.2714e-01_rb/) kao(:, 2, 3,11) = (/ & &1.6076e+01_rb,1.4067e+01_rb,1.2058e+01_rb,1.0048e+01_rb,8.0387e+00_rb,6.0296e+00_rb, & &4.0199e+00_rb,2.0105e+00_rb,1.7056e-01_rb/) kao(:, 3, 3,11) = (/ & &1.6164e+01_rb,1.4145e+01_rb,1.2124e+01_rb,1.0103e+01_rb,8.0829e+00_rb,6.0627e+00_rb, & &4.0424e+00_rb,2.0217e+00_rb,2.2135e-01_rb/) kao(:, 4, 3,11) = (/ & &1.6211e+01_rb,1.4185e+01_rb,1.2159e+01_rb,1.0132e+01_rb,8.1062e+00_rb,6.0800e+00_rb, & &4.0538e+00_rb,2.0361e+00_rb,2.7967e-01_rb/) kao(:, 5, 3,11) = (/ & &1.6213e+01_rb,1.4187e+01_rb,1.2160e+01_rb,1.0134e+01_rb,8.1068e+00_rb,6.0810e+00_rb, & &4.0544e+00_rb,2.0887e+00_rb,3.5085e-01_rb/) kao(:, 1, 4,11) = (/ & &3.3505e+01_rb,2.9316e+01_rb,2.5128e+01_rb,2.0940e+01_rb,1.6753e+01_rb,1.2564e+01_rb, & &8.3770e+00_rb,4.1888e+00_rb,1.1343e-01_rb/) kao(:, 2, 4,11) = (/ & &3.3957e+01_rb,2.9712e+01_rb,2.5469e+01_rb,2.1224e+01_rb,1.6979e+01_rb,1.2735e+01_rb, & &8.4899e+00_rb,4.2456e+00_rb,1.5601e-01_rb/) kao(:, 3, 4,11) = (/ & &3.4273e+01_rb,2.9992e+01_rb,2.5707e+01_rb,2.1421e+01_rb,1.7138e+01_rb,1.2854e+01_rb, & &8.5693e+00_rb,4.2852e+00_rb,2.0536e-01_rb/) kao(:, 4, 4,11) = (/ & &3.4537e+01_rb,3.0216e+01_rb,2.5901e+01_rb,2.1585e+01_rb,1.7269e+01_rb,1.2951e+01_rb, & &8.6346e+00_rb,4.3178e+00_rb,2.6462e-01_rb/) kao(:, 5, 4,11) = (/ & &3.4713e+01_rb,3.0370e+01_rb,2.6032e+01_rb,2.1696e+01_rb,1.7356e+01_rb,1.3018e+01_rb, & &8.6791e+00_rb,4.3400e+00_rb,3.3230e-01_rb/) kao(:, 1, 5,11) = (/ & &6.4813e+01_rb,5.6712e+01_rb,4.8608e+01_rb,4.0507e+01_rb,3.2408e+01_rb,2.4306e+01_rb, & &1.6204e+01_rb,8.1017e+00_rb,9.6356e-02_rb/) kao(:, 2, 5,11) = (/ & &6.6164e+01_rb,5.7895e+01_rb,4.9623e+01_rb,4.1352e+01_rb,3.3084e+01_rb,2.4813e+01_rb, & &1.6542e+01_rb,8.2707e+00_rb,1.3652e-01_rb/) kao(:, 3, 5,11) = (/ & &6.7228e+01_rb,5.8826e+01_rb,5.0425e+01_rb,4.2018e+01_rb,3.3613e+01_rb,2.5211e+01_rb, & &1.6808e+01_rb,8.4044e+00_rb,1.8472e-01_rb/) kao(:, 4, 5,11) = (/ & &6.8035e+01_rb,5.9536e+01_rb,5.1024e+01_rb,4.2523e+01_rb,3.4019e+01_rb,2.5513e+01_rb, & &1.7010e+01_rb,8.5064e+00_rb,2.4242e-01_rb/) kao(:, 5, 5,11) = (/ & &6.8554e+01_rb,5.9987e+01_rb,5.1420e+01_rb,4.2849e+01_rb,3.4277e+01_rb,2.5710e+01_rb, & &1.7140e+01_rb,8.5702e+00_rb,3.0919e-01_rb/) kao(:, 1, 6,11) = (/ & &1.1801e+02_rb,1.0326e+02_rb,8.8506e+01_rb,7.3757e+01_rb,5.9002e+01_rb,4.4254e+01_rb, & &2.9503e+01_rb,1.4751e+01_rb,7.7344e-02_rb/) kao(:, 2, 6,11) = (/ & &1.2108e+02_rb,1.0594e+02_rb,9.0808e+01_rb,7.5672e+01_rb,6.0541e+01_rb,4.5406e+01_rb, & &3.0271e+01_rb,1.5134e+01_rb,1.1263e-01_rb/) kao(:, 3, 6,11) = (/ & &1.2354e+02_rb,1.0810e+02_rb,9.2652e+01_rb,7.7213e+01_rb,6.1769e+01_rb,4.6330e+01_rb, & &3.0886e+01_rb,1.5443e+01_rb,1.5682e-01_rb/) kao(:, 4, 6,11) = (/ & &1.2526e+02_rb,1.0960e+02_rb,9.3943e+01_rb,7.8284e+01_rb,6.2629e+01_rb,4.6975e+01_rb, & &3.1316e+01_rb,1.5657e+01_rb,2.1207e-01_rb/) kao(:, 5, 6,11) = (/ & &1.2664e+02_rb,1.1081e+02_rb,9.4976e+01_rb,7.9149e+01_rb,6.3321e+01_rb,4.7490e+01_rb, & &3.1658e+01_rb,1.5831e+01_rb,2.7724e-01_rb/) kao(:, 1, 7,11) = (/ & &2.3249e+02_rb,2.0341e+02_rb,1.7435e+02_rb,1.4529e+02_rb,1.1624e+02_rb,8.7178e+01_rb, & &5.8117e+01_rb,2.9059e+01_rb,6.0308e-02_rb/) kao(:, 2, 7,11) = (/ & &2.3796e+02_rb,2.0820e+02_rb,1.7846e+02_rb,1.4871e+02_rb,1.1897e+02_rb,8.9231e+01_rb, & &5.9488e+01_rb,2.9745e+01_rb,9.0208e-02_rb/) kao(:, 3, 7,11) = (/ & &2.4226e+02_rb,2.1197e+02_rb,1.8170e+02_rb,1.5141e+02_rb,1.2113e+02_rb,9.0843e+01_rb, & &6.0568e+01_rb,3.0281e+01_rb,1.2927e-01_rb/) kao(:, 4, 7,11) = (/ & &2.4544e+02_rb,2.1477e+02_rb,1.8409e+02_rb,1.5341e+02_rb,1.2272e+02_rb,9.2044e+01_rb, & &6.1361e+01_rb,3.0682e+01_rb,1.7878e-01_rb/) kao(:, 5, 7,11) = (/ & &2.4764e+02_rb,2.1668e+02_rb,1.8573e+02_rb,1.5477e+02_rb,1.2381e+02_rb,9.2866e+01_rb, & &6.1907e+01_rb,3.0956e+01_rb,2.3824e-01_rb/) kao(:, 1, 8,11) = (/ & &5.7428e+02_rb,5.0249e+02_rb,4.3070e+02_rb,3.5893e+02_rb,2.8714e+02_rb,2.1536e+02_rb, & &1.4357e+02_rb,7.1786e+01_rb,4.7227e-02_rb/) kao(:, 2, 8,11) = (/ & &5.8499e+02_rb,5.1190e+02_rb,4.3878e+02_rb,3.6564e+02_rb,2.9252e+02_rb,2.1939e+02_rb, & &1.4626e+02_rb,7.3130e+01_rb,7.2171e-02_rb/) kao(:, 3, 8,11) = (/ & &5.9291e+02_rb,5.1879e+02_rb,4.4470e+02_rb,3.7058e+02_rb,2.9645e+02_rb,2.2235e+02_rb, & &1.4822e+02_rb,7.4114e+01_rb,1.0536e-01_rb/) kao(:, 4, 8,11) = (/ & &5.9816e+02_rb,5.2341e+02_rb,4.4862e+02_rb,3.7386e+02_rb,2.9908e+02_rb,2.2431e+02_rb, & &1.4954e+02_rb,7.4773e+01_rb,1.4833e-01_rb/) kao(:, 5, 8,11) = (/ & &6.0144e+02_rb,5.2627e+02_rb,4.5109e+02_rb,3.7590e+02_rb,3.0070e+02_rb,2.2554e+02_rb, & &1.5036e+02_rb,7.5181e+01_rb,1.9981e-01_rb/) kao(:, 1, 9,11) = (/ & &2.7514e+03_rb,2.4073e+03_rb,2.0635e+03_rb,1.7196e+03_rb,1.3757e+03_rb,1.0318e+03_rb, & &6.8788e+02_rb,3.4393e+02_rb,3.3107e-02_rb/) kao(:, 2, 9,11) = (/ & &2.7973e+03_rb,2.4476e+03_rb,2.0979e+03_rb,1.7482e+03_rb,1.3986e+03_rb,1.0490e+03_rb, & &6.9932e+02_rb,3.4966e+02_rb,5.6998e-02_rb/) kao(:, 3, 9,11) = (/ & &2.8265e+03_rb,2.4731e+03_rb,2.1197e+03_rb,1.7664e+03_rb,1.4131e+03_rb,1.0599e+03_rb, & &7.0662e+02_rb,3.5330e+02_rb,8.5901e-02_rb/) kao(:, 4, 9,11) = (/ & &2.8388e+03_rb,2.4841e+03_rb,2.1291e+03_rb,1.7743e+03_rb,1.4194e+03_rb,1.0646e+03_rb, & &7.0974e+02_rb,3.5484e+02_rb,1.2233e-01_rb/) kao(:, 5, 9,11) = (/ & &2.8373e+03_rb,2.4828e+03_rb,2.1280e+03_rb,1.7734e+03_rb,1.4187e+03_rb,1.0640e+03_rb, & &7.0933e+02_rb,3.5467e+02_rb,1.6642e-01_rb/) kao(:, 1,10,11) = (/ & &1.4796e+04_rb,1.2947e+04_rb,1.1097e+04_rb,9.2476e+03_rb,7.3982e+03_rb,5.5489e+03_rb, & &3.6992e+03_rb,1.8496e+03_rb,1.7335e-02_rb/) kao(:, 2,10,11) = (/ & &1.4975e+04_rb,1.3103e+04_rb,1.1231e+04_rb,9.3585e+03_rb,7.4871e+03_rb,5.6155e+03_rb, & &3.7435e+03_rb,1.8717e+03_rb,3.1226e-02_rb/) kao(:, 3,10,11) = (/ & &1.5074e+04_rb,1.3189e+04_rb,1.1305e+04_rb,9.4210e+03_rb,7.5370e+03_rb,5.6528e+03_rb, & &3.7685e+03_rb,1.8842e+03_rb,4.3228e-02_rb/) kao(:, 4,10,11) = (/ & &1.5109e+04_rb,1.3220e+04_rb,1.1331e+04_rb,9.4424e+03_rb,7.5542e+03_rb,5.6659e+03_rb, & &3.7773e+03_rb,1.8886e+03_rb,5.6685e-02_rb/) kao(:, 5,10,11) = (/ & &1.5082e+04_rb,1.3196e+04_rb,1.1311e+04_rb,9.4257e+03_rb,7.5405e+03_rb,5.6555e+03_rb, & &3.7704e+03_rb,1.8852e+03_rb,8.6311e-02_rb/) kao(:, 1,11,11) = (/ & &2.7889e+04_rb,2.4402e+04_rb,2.0916e+04_rb,1.7430e+04_rb,1.3944e+04_rb,1.0458e+04_rb, & &6.9720e+03_rb,3.4860e+03_rb,1.1432e-02_rb/) kao(:, 2,11,11) = (/ & &2.8116e+04_rb,2.4602e+04_rb,2.1087e+04_rb,1.7573e+04_rb,1.4058e+04_rb,1.0543e+04_rb, & &7.0292e+03_rb,3.5144e+03_rb,1.1075e-02_rb/) kao(:, 3,11,11) = (/ & &2.8224e+04_rb,2.4695e+04_rb,2.1166e+04_rb,1.7640e+04_rb,1.4112e+04_rb,1.0583e+04_rb, & &7.0560e+03_rb,3.5276e+03_rb,4.6547e-02_rb/) kao(:, 4,11,11) = (/ & &2.8217e+04_rb,2.4690e+04_rb,2.1162e+04_rb,1.7636e+04_rb,1.4108e+04_rb,1.0581e+04_rb, & &7.0540e+03_rb,3.5272e+03_rb,6.2488e-02_rb/) kao(:, 5,11,11) = (/ & &2.8126e+04_rb,2.4609e+04_rb,2.1093e+04_rb,1.7578e+04_rb,1.4063e+04_rb,1.0547e+04_rb, & &7.0311e+03_rb,3.5155e+03_rb,7.5051e-02_rb/) kao(:, 1,12,11) = (/ & &3.8808e+04_rb,3.3958e+04_rb,2.9106e+04_rb,2.4255e+04_rb,1.9403e+04_rb,1.4552e+04_rb, & &9.7020e+03_rb,4.8510e+03_rb,3.0879e-04_rb/) kao(:, 2,12,11) = (/ & &3.8964e+04_rb,3.4093e+04_rb,2.9222e+04_rb,2.4351e+04_rb,1.9482e+04_rb,1.4612e+04_rb, & &9.7411e+03_rb,4.8703e+03_rb,1.3840e-02_rb/) kao(:, 3,12,11) = (/ & &3.8935e+04_rb,3.4067e+04_rb,2.9198e+04_rb,2.4333e+04_rb,1.9466e+04_rb,1.4600e+04_rb, & &9.7333e+03_rb,4.8667e+03_rb,2.1306e-02_rb/) kao(:, 4,12,11) = (/ & &3.8831e+04_rb,3.3979e+04_rb,2.9123e+04_rb,2.4270e+04_rb,1.9417e+04_rb,1.4562e+04_rb, & &9.7077e+03_rb,4.8538e+03_rb,6.5973e-02_rb/) kao(:, 5,12,11) = (/ & &3.8549e+04_rb,3.3728e+04_rb,2.8909e+04_rb,2.4091e+04_rb,1.9273e+04_rb,1.4455e+04_rb, & &9.6358e+03_rb,4.8182e+03_rb,7.9959e-02_rb/) kao(:, 1,13,11) = (/ & &4.2486e+04_rb,3.7175e+04_rb,3.1864e+04_rb,2.6552e+04_rb,2.1242e+04_rb,1.5932e+04_rb, & &1.0621e+04_rb,5.3106e+03_rb,2.4053e-04_rb/) kao(:, 2,13,11) = (/ & &4.2536e+04_rb,3.7221e+04_rb,3.1903e+04_rb,2.6585e+04_rb,2.1268e+04_rb,1.5951e+04_rb, & &1.0634e+04_rb,5.3169e+03_rb,2.3604e-02_rb/) kao(:, 3,13,11) = (/ & &4.2342e+04_rb,3.7047e+04_rb,3.1757e+04_rb,2.6467e+04_rb,2.1172e+04_rb,1.5879e+04_rb, & &1.0585e+04_rb,5.2925e+03_rb,1.5018e-02_rb/) kao(:, 4,13,11) = (/ & &4.2048e+04_rb,3.6792e+04_rb,3.1537e+04_rb,2.6281e+04_rb,2.1024e+04_rb,1.5767e+04_rb, & &1.0512e+04_rb,5.2560e+03_rb,5.3807e-02_rb/) kao(:, 5,13,11) = (/ & &4.1662e+04_rb,3.6457e+04_rb,3.1248e+04_rb,2.6040e+04_rb,2.0833e+04_rb,1.5623e+04_rb, & &1.0416e+04_rb,5.2082e+03_rb,6.8318e-02_rb/) kao(:, 1, 1,12) = (/ & &7.2849e+00_rb,6.3745e+00_rb,5.4643e+00_rb,4.5537e+00_rb,3.6431e+00_rb,2.7326e+00_rb, & &1.8223e+00_rb,9.1190e-01_rb,1.6091e-01_rb/) kao(:, 2, 1,12) = (/ & &7.1530e+00_rb,6.2588e+00_rb,5.3648e+00_rb,4.4709e+00_rb,3.5770e+00_rb,2.6830e+00_rb, & &1.7891e+00_rb,8.9548e-01_rb,2.2421e-01_rb/) kao(:, 3, 1,12) = (/ & &7.0158e+00_rb,6.1389e+00_rb,5.2624e+00_rb,4.3853e+00_rb,3.5089e+00_rb,2.6317e+00_rb, & &1.7551e+00_rb,9.0204e-01_rb,3.0513e-01_rb/) kao(:, 4, 1,12) = (/ & &6.8752e+00_rb,6.0158e+00_rb,5.1568e+00_rb,4.2975e+00_rb,3.4386e+00_rb,2.5792e+00_rb, & &1.7200e+00_rb,9.2056e-01_rb,4.0130e-01_rb/) kao(:, 5, 1,12) = (/ & &6.7312e+00_rb,5.8897e+00_rb,5.0486e+00_rb,4.2075e+00_rb,3.3663e+00_rb,2.5251e+00_rb, & &1.6886e+00_rb,9.1312e-01_rb,5.1163e-01_rb/) kao(:, 1, 2,12) = (/ & &1.1380e+01_rb,9.9571e+00_rb,8.5349e+00_rb,7.1126e+00_rb,5.6896e+00_rb,4.2680e+00_rb, & &2.8456e+00_rb,1.4234e+00_rb,1.6023e-01_rb/) kao(:, 2, 2,12) = (/ & &1.1190e+01_rb,9.7913e+00_rb,8.3926e+00_rb,6.9944e+00_rb,5.5956e+00_rb,4.1971e+00_rb, & &2.7983e+00_rb,1.3998e+00_rb,2.1092e-01_rb/) kao(:, 3, 2,12) = (/ & &1.0994e+01_rb,9.6196e+00_rb,8.2451e+00_rb,6.8714e+00_rb,5.4970e+00_rb,4.1233e+00_rb, & &2.7491e+00_rb,1.3753e+00_rb,2.8249e-01_rb/) kao(:, 4, 2,12) = (/ & &1.0789e+01_rb,9.4404e+00_rb,8.0917e+00_rb,6.7431e+00_rb,5.3950e+00_rb,4.0464e+00_rb, & &2.6980e+00_rb,1.3854e+00_rb,3.7167e-01_rb/) kao(:, 5, 2,12) = (/ & &1.0574e+01_rb,9.2528e+00_rb,7.9306e+00_rb,6.6095e+00_rb,5.2877e+00_rb,3.9662e+00_rb, & &2.6446e+00_rb,1.3862e+00_rb,4.7628e-01_rb/) kao(:, 1, 3,12) = (/ & &2.4019e+01_rb,2.1015e+01_rb,1.8012e+01_rb,1.5011e+01_rb,1.2010e+01_rb,9.0070e+00_rb, & &6.0051e+00_rb,3.0029e+00_rb,1.5458e-01_rb/) kao(:, 2, 3,12) = (/ & &2.3668e+01_rb,2.0712e+01_rb,1.7752e+01_rb,1.4794e+01_rb,1.1835e+01_rb,8.8764e+00_rb, & &5.9181e+00_rb,2.9594e+00_rb,2.0548e-01_rb/) kao(:, 3, 3,12) = (/ & &2.3299e+01_rb,2.0389e+01_rb,1.7475e+01_rb,1.4563e+01_rb,1.1650e+01_rb,8.7378e+00_rb, & &5.8256e+00_rb,2.9134e+00_rb,2.6510e-01_rb/) kao(:, 4, 3,12) = (/ & &2.2895e+01_rb,2.0033e+01_rb,1.7172e+01_rb,1.4310e+01_rb,1.1449e+01_rb,8.5868e+00_rb, & &5.7250e+00_rb,2.8629e+00_rb,3.4340e-01_rb/) kao(:, 5, 3,12) = (/ & &2.2457e+01_rb,1.9650e+01_rb,1.6845e+01_rb,1.4036e+01_rb,1.1229e+01_rb,8.4225e+00_rb, & &5.6152e+00_rb,2.8081e+00_rb,4.3834e-01_rb/) kao(:, 1, 4,12) = (/ & &5.1943e+01_rb,4.5448e+01_rb,3.8958e+01_rb,3.2464e+01_rb,2.5972e+01_rb,1.9479e+01_rb, & &1.2986e+01_rb,6.4930e+00_rb,1.4248e-01_rb/) kao(:, 2, 4,12) = (/ & &5.1352e+01_rb,4.4935e+01_rb,3.8514e+01_rb,3.2094e+01_rb,2.5675e+01_rb,1.9257e+01_rb, & &1.2838e+01_rb,6.4195e+00_rb,1.9502e-01_rb/) kao(:, 3, 4,12) = (/ & &5.0623e+01_rb,4.4294e+01_rb,3.7964e+01_rb,3.1639e+01_rb,2.5309e+01_rb,1.8983e+01_rb, & &1.2655e+01_rb,6.3280e+00_rb,2.5898e-01_rb/) kao(:, 4, 4,12) = (/ & &4.9799e+01_rb,4.3576e+01_rb,3.7352e+01_rb,3.1124e+01_rb,2.4901e+01_rb,1.8676e+01_rb, & &1.2451e+01_rb,6.2257e+00_rb,3.3035e-01_rb/) kao(:, 5, 4,12) = (/ & &4.8898e+01_rb,4.2791e+01_rb,3.6677e+01_rb,3.0566e+01_rb,2.4452e+01_rb,1.8340e+01_rb, & &1.2226e+01_rb,6.1134e+00_rb,4.1835e-01_rb/) kao(:, 1, 5,12) = (/ & &1.0373e+02_rb,9.0759e+01_rb,7.7796e+01_rb,6.4826e+01_rb,5.1857e+01_rb,3.8894e+01_rb, & &2.5931e+01_rb,1.2966e+01_rb,1.2887e-01_rb/) kao(:, 2, 5,12) = (/ & &1.0276e+02_rb,8.9908e+01_rb,7.7065e+01_rb,6.4222e+01_rb,5.1382e+01_rb,3.8535e+01_rb, & &2.5690e+01_rb,1.2845e+01_rb,1.8027e-01_rb/) kao(:, 3, 5,12) = (/ & &1.0148e+02_rb,8.8794e+01_rb,7.6113e+01_rb,6.3420e+01_rb,5.0736e+01_rb,3.8055e+01_rb, & &2.5371e+01_rb,1.2686e+01_rb,2.4350e-01_rb/) kao(:, 4, 5,12) = (/ & &9.9981e+01_rb,8.7486e+01_rb,7.4989e+01_rb,6.2492e+01_rb,4.9992e+01_rb,3.7496e+01_rb, & &2.4996e+01_rb,1.2498e+01_rb,3.1895e-01_rb/) kao(:, 5, 5,12) = (/ & &9.8403e+01_rb,8.6098e+01_rb,7.3801e+01_rb,6.1498e+01_rb,4.9199e+01_rb,3.6902e+01_rb, & &2.4598e+01_rb,1.2301e+01_rb,4.0491e-01_rb/) kao(:, 1, 6,12) = (/ & &1.9449e+02_rb,1.7021e+02_rb,1.4589e+02_rb,1.2157e+02_rb,9.7258e+01_rb,7.2943e+01_rb, & &4.8628e+01_rb,2.4314e+01_rb,1.1014e-01_rb/) kao(:, 2, 6,12) = (/ & &1.9309e+02_rb,1.6897e+02_rb,1.4483e+02_rb,1.2070e+02_rb,9.6559e+01_rb,7.2419e+01_rb, & &4.8279e+01_rb,2.4139e+01_rb,1.6004e-01_rb/) kao(:, 3, 6,12) = (/ & &1.9140e+02_rb,1.6747e+02_rb,1.4356e+02_rb,1.1963e+02_rb,9.5709e+01_rb,7.1777e+01_rb, & &4.7853e+01_rb,2.3926e+01_rb,2.2190e-01_rb/) kao(:, 4, 6,12) = (/ & &1.8899e+02_rb,1.6537e+02_rb,1.4174e+02_rb,1.1810e+02_rb,9.4493e+01_rb,7.0867e+01_rb, & &4.7246e+01_rb,2.3622e+01_rb,2.9571e-01_rb/) kao(:, 5, 6,12) = (/ & &1.8566e+02_rb,1.6245e+02_rb,1.3925e+02_rb,1.1603e+02_rb,9.2834e+01_rb,6.9623e+01_rb, & &4.6415e+01_rb,2.3209e+01_rb,3.8274e-01_rb/) kao(:, 1, 7,12) = (/ & &3.8417e+02_rb,3.3613e+02_rb,2.8811e+02_rb,2.4009e+02_rb,1.9205e+02_rb,1.4405e+02_rb, & &9.6037e+01_rb,4.8023e+01_rb,9.0335e-02_rb/) kao(:, 2, 7,12) = (/ & &3.8253e+02_rb,3.3473e+02_rb,2.8690e+02_rb,2.3908e+02_rb,1.9128e+02_rb,1.4345e+02_rb, & &9.5632e+01_rb,4.7816e+01_rb,1.3557e-01_rb/) kao(:, 3, 7,12) = (/ & &3.7949e+02_rb,3.3204e+02_rb,2.8460e+02_rb,2.3719e+02_rb,1.8975e+02_rb,1.4230e+02_rb, & &9.4872e+01_rb,4.7438e+01_rb,1.9476e-01_rb/) kao(:, 4, 7,12) = (/ & &3.7465e+02_rb,3.2783e+02_rb,2.8099e+02_rb,2.3416e+02_rb,1.8732e+02_rb,1.4050e+02_rb, & &9.3670e+01_rb,4.6831e+01_rb,2.6694e-01_rb/) kao(:, 5, 7,12) = (/ & &3.6931e+02_rb,3.2313e+02_rb,2.7696e+02_rb,2.3080e+02_rb,1.8464e+02_rb,1.3849e+02_rb, & &9.2317e+01_rb,4.6160e+01_rb,3.5213e-01_rb/) kao(:, 1, 8,12) = (/ & &9.0810e+02_rb,7.9455e+02_rb,6.8107e+02_rb,5.6755e+02_rb,4.5403e+02_rb,3.4053e+02_rb, & &2.2701e+02_rb,1.1352e+02_rb,7.1564e-02_rb/) kao(:, 2, 8,12) = (/ & &9.0605e+02_rb,7.9275e+02_rb,6.7956e+02_rb,5.6628e+02_rb,4.5302e+02_rb,3.3978e+02_rb, & &2.2652e+02_rb,1.1325e+02_rb,1.1086e-01_rb/) kao(:, 3, 8,12) = (/ & &9.0093e+02_rb,7.8832e+02_rb,6.7569e+02_rb,5.6306e+02_rb,4.5046e+02_rb,3.3783e+02_rb, & &2.2521e+02_rb,1.1262e+02_rb,1.6463e-01_rb/) kao(:, 4, 8,12) = (/ & &8.9363e+02_rb,7.8197e+02_rb,6.7027e+02_rb,5.5850e+02_rb,4.4681e+02_rb,3.3513e+02_rb, & &2.2342e+02_rb,1.1170e+02_rb,2.3145e-01_rb/) kao(:, 5, 8,12) = (/ & &8.8174e+02_rb,7.7148e+02_rb,6.6129e+02_rb,5.5110e+02_rb,4.4085e+02_rb,3.3064e+02_rb, & &2.2045e+02_rb,1.1021e+02_rb,3.1429e-01_rb/) kao(:, 1, 9,12) = (/ & &4.0575e+03_rb,3.5502e+03_rb,3.0431e+03_rb,2.5358e+03_rb,2.0286e+03_rb,1.5215e+03_rb, & &1.0143e+03_rb,5.0720e+02_rb,5.5603e-02_rb/) kao(:, 2, 9,12) = (/ & &4.0575e+03_rb,3.5503e+03_rb,3.0431e+03_rb,2.5359e+03_rb,2.0286e+03_rb,1.5216e+03_rb, & &1.0143e+03_rb,5.0715e+02_rb,8.8381e-02_rb/) kao(:, 3, 9,12) = (/ & &4.0490e+03_rb,3.5425e+03_rb,3.0365e+03_rb,2.5303e+03_rb,2.0243e+03_rb,1.5183e+03_rb, & &1.0122e+03_rb,5.0611e+02_rb,1.3462e-01_rb/) kao(:, 4, 9,12) = (/ & &4.0163e+03_rb,3.5141e+03_rb,3.0122e+03_rb,2.5100e+03_rb,2.0082e+03_rb,1.5061e+03_rb, & &1.0041e+03_rb,5.0202e+02_rb,1.9418e-01_rb/) kao(:, 5, 9,12) = (/ & &3.9738e+03_rb,3.4768e+03_rb,2.9801e+03_rb,2.4835e+03_rb,1.9868e+03_rb,1.4900e+03_rb, & &9.9338e+02_rb,4.9668e+02_rb,2.7001e-01_rb/) kao(:, 1,10,12) = (/ & &2.0782e+04_rb,1.8184e+04_rb,1.5586e+04_rb,1.2989e+04_rb,1.0391e+04_rb,7.7931e+03_rb, & &5.1956e+03_rb,2.5977e+03_rb,1.5076e-02_rb/) kao(:, 2,10,12) = (/ & &2.0847e+04_rb,1.8242e+04_rb,1.5636e+04_rb,1.3030e+04_rb,1.0424e+04_rb,7.8180e+03_rb, & &5.2120e+03_rb,2.6061e+03_rb,3.9283e-02_rb/) kao(:, 3,10,12) = (/ & &2.0776e+04_rb,1.8179e+04_rb,1.5582e+04_rb,1.2985e+04_rb,1.0387e+04_rb,7.7905e+03_rb, & &5.1937e+03_rb,2.5968e+03_rb,5.3678e-02_rb/) kao(:, 4,10,12) = (/ & &2.0635e+04_rb,1.8055e+04_rb,1.5476e+04_rb,1.2897e+04_rb,1.0317e+04_rb,7.7379e+03_rb, & &5.1584e+03_rb,2.5793e+03_rb,8.4869e-02_rb/) kao(:, 5,10,12) = (/ & &2.0468e+04_rb,1.7910e+04_rb,1.5352e+04_rb,1.2793e+04_rb,1.0235e+04_rb,7.6761e+03_rb, & &5.1174e+03_rb,2.5585e+03_rb,1.7840e-01_rb/) kao(:, 1,11,12) = (/ & &3.8086e+04_rb,3.3327e+04_rb,2.8563e+04_rb,2.3804e+04_rb,1.9042e+04_rb,1.4282e+04_rb, & &9.5217e+03_rb,4.7607e+03_rb,3.5535e-02_rb/) kao(:, 2,11,12) = (/ & &3.8167e+04_rb,3.3395e+04_rb,2.8624e+04_rb,2.3853e+04_rb,1.9083e+04_rb,1.4312e+04_rb, & &9.5414e+03_rb,4.7707e+03_rb,2.0336e-02_rb/) kao(:, 3,11,12) = (/ & &3.8095e+04_rb,3.3333e+04_rb,2.8571e+04_rb,2.3809e+04_rb,1.9048e+04_rb,1.4285e+04_rb, & &9.5235e+03_rb,4.7617e+03_rb,7.3058e-02_rb/) kao(:, 4,11,12) = (/ & &3.7840e+04_rb,3.3110e+04_rb,2.8380e+04_rb,2.3651e+04_rb,1.8921e+04_rb,1.4191e+04_rb, & &9.4603e+03_rb,4.7302e+03_rb,9.2342e-02_rb/) kao(:, 5,11,12) = (/ & &3.7466e+04_rb,3.2782e+04_rb,2.8098e+04_rb,2.3416e+04_rb,1.8732e+04_rb,1.4049e+04_rb, & &9.3659e+03_rb,4.6831e+03_rb,1.1387e-01_rb/) kao(:, 1,12,12) = (/ & &5.3068e+04_rb,4.6434e+04_rb,3.9801e+04_rb,3.3167e+04_rb,2.6533e+04_rb,1.9901e+04_rb, & &1.3266e+04_rb,6.6334e+03_rb,5.3631e-05_rb/) kao(:, 2,12,12) = (/ & &5.2912e+04_rb,4.6296e+04_rb,3.9684e+04_rb,3.3067e+04_rb,2.6455e+04_rb,1.9841e+04_rb, & &1.3228e+04_rb,6.6136e+03_rb,3.3045e-02_rb/) kao(:, 3,12,12) = (/ & &5.2742e+04_rb,4.6150e+04_rb,3.9556e+04_rb,3.2963e+04_rb,2.6372e+04_rb,1.9779e+04_rb, & &1.3186e+04_rb,6.5925e+03_rb,2.4038e-02_rb/) kao(:, 4,12,12) = (/ & &5.2329e+04_rb,4.5788e+04_rb,3.9248e+04_rb,3.2707e+04_rb,2.6165e+04_rb,1.9623e+04_rb, & &1.3082e+04_rb,6.5410e+03_rb,8.8033e-02_rb/) kao(:, 5,12,12) = (/ & &5.1702e+04_rb,4.5237e+04_rb,3.8772e+04_rb,3.2311e+04_rb,2.5848e+04_rb,1.9386e+04_rb, & &1.2925e+04_rb,6.4623e+03_rb,1.0528e-01_rb/) kao(:, 1,13,12) = (/ & &5.9181e+04_rb,5.1784e+04_rb,4.4385e+04_rb,3.6986e+04_rb,2.9590e+04_rb,2.2192e+04_rb, & &1.4795e+04_rb,7.3976e+03_rb,6.3472e-05_rb/) kao(:, 2,13,12) = (/ & &5.9042e+04_rb,5.1661e+04_rb,4.4282e+04_rb,3.6901e+04_rb,2.9521e+04_rb,2.2141e+04_rb, & &1.4760e+04_rb,7.3802e+03_rb,8.2093e-03_rb/) kao(:, 3,13,12) = (/ & &5.8661e+04_rb,5.1328e+04_rb,4.3997e+04_rb,3.6663e+04_rb,2.9331e+04_rb,2.1998e+04_rb, & &1.4665e+04_rb,7.3324e+03_rb,2.9843e-02_rb/) kao(:, 4,13,12) = (/ & &5.8145e+04_rb,5.0874e+04_rb,4.3608e+04_rb,3.6342e+04_rb,2.9072e+04_rb,2.1804e+04_rb, & &1.4536e+04_rb,7.2678e+03_rb,5.7821e-02_rb/) kao(:, 5,13,12) = (/ & &5.7447e+04_rb,5.0266e+04_rb,4.3086e+04_rb,3.5905e+04_rb,2.8722e+04_rb,2.1542e+04_rb, & &1.4361e+04_rb,7.1808e+03_rb,1.1510e-01_rb/) kao(:, 1, 1,13) = (/ & &9.2441e+00_rb,8.0893e+00_rb,6.9334e+00_rb,5.7782e+00_rb,4.6228e+00_rb,3.4672e+00_rb, & &2.3119e+00_rb,1.1567e+00_rb,2.2855e-01_rb/) kao(:, 2, 1,13) = (/ & &8.8623e+00_rb,7.7552e+00_rb,6.6473e+00_rb,5.5397e+00_rb,4.4320e+00_rb,3.3245e+00_rb, & &2.2168e+00_rb,1.1091e+00_rb,3.2335e-01_rb/) kao(:, 3, 1,13) = (/ & &8.4833e+00_rb,7.4233e+00_rb,6.3625e+00_rb,5.3026e+00_rb,4.2423e+00_rb,3.1825e+00_rb, & &2.1219e+00_rb,1.0618e+00_rb,4.4367e-01_rb/) kao(:, 4, 1,13) = (/ & &8.1215e+00_rb,7.1065e+00_rb,6.0917e+00_rb,5.0761e+00_rb,4.0614e+00_rb,3.0468e+00_rb, & &2.0316e+00_rb,1.0641e+00_rb,5.9167e-01_rb/) kao(:, 5, 1,13) = (/ & &7.7672e+00_rb,6.7964e+00_rb,5.8258e+00_rb,4.8545e+00_rb,3.8845e+00_rb,2.9137e+00_rb, & &1.9430e+00_rb,1.0446e+00_rb,7.6901e-01_rb/) kao(:, 1, 2,13) = (/ & &1.4699e+01_rb,1.2863e+01_rb,1.1024e+01_rb,9.1876e+00_rb,7.3499e+00_rb,5.5129e+00_rb, & &3.6758e+00_rb,1.8383e+00_rb,2.1901e-01_rb/) kao(:, 2, 2,13) = (/ & &1.4081e+01_rb,1.2321e+01_rb,1.0561e+01_rb,8.8012e+00_rb,7.0414e+00_rb,5.2809e+00_rb, & &3.5211e+00_rb,1.7613e+00_rb,3.1665e-01_rb/) kao(:, 3, 2,13) = (/ & &1.3470e+01_rb,1.1786e+01_rb,1.0102e+01_rb,8.4178e+00_rb,6.7345e+00_rb,5.0512e+00_rb, & &3.3678e+00_rb,1.6847e+00_rb,4.4141e-01_rb/) kao(:, 4, 2,13) = (/ & &1.2871e+01_rb,1.1263e+01_rb,9.6542e+00_rb,8.0452e+00_rb,6.4365e+00_rb,4.8276e+00_rb, & &3.2187e+00_rb,1.6111e+00_rb,5.9558e-01_rb/) kao(:, 5, 2,13) = (/ & &1.2298e+01_rb,1.0761e+01_rb,9.2242e+00_rb,7.6869e+00_rb,6.1502e+00_rb,4.6127e+00_rb, & &3.0756e+00_rb,1.6035e+00_rb,7.7652e-01_rb/) kao(:, 1, 3,13) = (/ & &3.1779e+01_rb,2.7807e+01_rb,2.3834e+01_rb,1.9863e+01_rb,1.5890e+01_rb,1.1918e+01_rb, & &7.9454e+00_rb,3.9733e+00_rb,1.9638e-01_rb/) kao(:, 2, 3,13) = (/ & &3.0431e+01_rb,2.6628e+01_rb,2.2823e+01_rb,1.9020e+01_rb,1.5217e+01_rb,1.1412e+01_rb, & &7.6086e+00_rb,3.8049e+00_rb,2.7736e-01_rb/) kao(:, 3, 3,13) = (/ & &2.9103e+01_rb,2.5465e+01_rb,2.1826e+01_rb,1.8188e+01_rb,1.4551e+01_rb,1.0914e+01_rb, & &7.2766e+00_rb,3.6387e+00_rb,3.9551e-01_rb/) kao(:, 4, 3,13) = (/ & &2.7810e+01_rb,2.4334e+01_rb,2.0858e+01_rb,1.7381e+01_rb,1.3906e+01_rb,1.0429e+01_rb, & &6.9532e+00_rb,3.4769e+00_rb,5.4452e-01_rb/) kao(:, 5, 3,13) = (/ & &2.6585e+01_rb,2.3262e+01_rb,1.9938e+01_rb,1.6616e+01_rb,1.3293e+01_rb,9.9693e+00_rb, & &6.6465e+00_rb,3.3243e+00_rb,7.1925e-01_rb/) kao(:, 1, 4,13) = (/ & &7.0542e+01_rb,6.1725e+01_rb,5.2909e+01_rb,4.4087e+01_rb,3.5272e+01_rb,2.6453e+01_rb, & &1.7635e+01_rb,8.8184e+00_rb,1.8199e-01_rb/) kao(:, 2, 4,13) = (/ & &6.7511e+01_rb,5.9069e+01_rb,5.0634e+01_rb,4.2192e+01_rb,3.3755e+01_rb,2.5317e+01_rb, & &1.6878e+01_rb,8.4389e+00_rb,2.4599e-01_rb/) kao(:, 3, 4,13) = (/ & &6.4633e+01_rb,5.6554e+01_rb,4.8477e+01_rb,4.0397e+01_rb,3.2316e+01_rb,2.4237e+01_rb, & &1.6158e+01_rb,8.0799e+00_rb,3.3970e-01_rb/) kao(:, 4, 4,13) = (/ & &6.1828e+01_rb,5.4103e+01_rb,4.6370e+01_rb,3.8643e+01_rb,3.0915e+01_rb,2.3186e+01_rb, & &1.5458e+01_rb,7.7299e+00_rb,4.6987e-01_rb/) kao(:, 5, 4,13) = (/ & &5.9112e+01_rb,5.1730e+01_rb,4.4337e+01_rb,3.6946e+01_rb,2.9558e+01_rb,2.2169e+01_rb, & &1.4779e+01_rb,7.3903e+00_rb,6.3062e-01_rb/) kao(:, 1, 5,13) = (/ & &1.4439e+02_rb,1.2634e+02_rb,1.0830e+02_rb,9.0248e+01_rb,7.2199e+01_rb,5.4151e+01_rb, & &3.6099e+01_rb,1.8050e+01_rb,1.6579e-01_rb/) kao(:, 2, 5,13) = (/ & &1.3838e+02_rb,1.2109e+02_rb,1.0378e+02_rb,8.6480e+01_rb,6.9180e+01_rb,5.1890e+01_rb, & &3.4593e+01_rb,1.7299e+01_rb,2.2988e-01_rb/) kao(:, 3, 5,13) = (/ & &1.3259e+02_rb,1.1602e+02_rb,9.9432e+01_rb,8.2860e+01_rb,6.6285e+01_rb,4.9718e+01_rb, & &3.3146e+01_rb,1.6573e+01_rb,3.1063e-01_rb/) kao(:, 4, 5,13) = (/ & &1.2697e+02_rb,1.1110e+02_rb,9.5219e+01_rb,7.9357e+01_rb,6.3482e+01_rb,4.7609e+01_rb, & &3.1740e+01_rb,1.5871e+01_rb,4.1510e-01_rb/) kao(:, 5, 5,13) = (/ & &1.2152e+02_rb,1.0632e+02_rb,9.1129e+01_rb,7.5942e+01_rb,6.0752e+01_rb,4.5568e+01_rb, & &3.0378e+01_rb,1.5190e+01_rb,5.5503e-01_rb/) kao(:, 1, 6,13) = (/ & &2.7815e+02_rb,2.4339e+02_rb,2.0862e+02_rb,1.7384e+02_rb,1.3908e+02_rb,1.0430e+02_rb, & &6.9541e+01_rb,3.4769e+01_rb,1.4932e-01_rb/) kao(:, 2, 6,13) = (/ & &2.6703e+02_rb,2.3365e+02_rb,2.0028e+02_rb,1.6690e+02_rb,1.3351e+02_rb,1.0014e+02_rb, & &6.6764e+01_rb,3.3381e+01_rb,2.1038e-01_rb/) kao(:, 3, 6,13) = (/ & &2.5610e+02_rb,2.2409e+02_rb,1.9207e+02_rb,1.6007e+02_rb,1.2805e+02_rb,9.6039e+01_rb, & &6.4025e+01_rb,3.2016e+01_rb,2.9193e-01_rb/) kao(:, 4, 6,13) = (/ & &2.4602e+02_rb,2.1527e+02_rb,1.8451e+02_rb,1.5376e+02_rb,1.2300e+02_rb,9.2253e+01_rb, & &6.1503e+01_rb,3.0752e+01_rb,3.8735e-01_rb/) kao(:, 5, 6,13) = (/ & &2.3698e+02_rb,2.0737e+02_rb,1.7775e+02_rb,1.4811e+02_rb,1.1849e+02_rb,8.8866e+01_rb, & &5.9248e+01_rb,2.9622e+01_rb,5.0567e-01_rb/) kao(:, 1, 7,13) = (/ & &5.6531e+02_rb,4.9465e+02_rb,4.2396e+02_rb,3.5331e+02_rb,2.8267e+02_rb,2.1198e+02_rb, & &1.4132e+02_rb,7.0665e+01_rb,1.3236e-01_rb/) kao(:, 2, 7,13) = (/ & &5.4477e+02_rb,4.7663e+02_rb,4.0854e+02_rb,3.4045e+02_rb,2.7236e+02_rb,2.0426e+02_rb, & &1.3618e+02_rb,6.8089e+01_rb,1.9224e-01_rb/) kao(:, 3, 7,13) = (/ & &5.2553e+02_rb,4.5986e+02_rb,3.9416e+02_rb,3.2848e+02_rb,2.6277e+02_rb,1.9706e+02_rb, & &1.3138e+02_rb,6.5693e+01_rb,2.7007e-01_rb/) kao(:, 4, 7,13) = (/ & &5.0736e+02_rb,4.4395e+02_rb,3.8050e+02_rb,3.1709e+02_rb,2.5367e+02_rb,1.9026e+02_rb, & &1.2684e+02_rb,6.3421e+01_rb,3.6853e-01_rb/) kao(:, 5, 7,13) = (/ & &4.8966e+02_rb,4.2846e+02_rb,3.6727e+02_rb,3.0605e+02_rb,2.4484e+02_rb,1.8364e+02_rb, & &1.2242e+02_rb,6.1208e+01_rb,4.8516e-01_rb/) kao(:, 1, 8,13) = (/ & &1.3865e+03_rb,1.2132e+03_rb,1.0399e+03_rb,8.6656e+02_rb,6.9323e+02_rb,5.1995e+02_rb, & &3.4663e+02_rb,1.7332e+02_rb,1.1342e-01_rb/) kao(:, 2, 8,13) = (/ & &1.3418e+03_rb,1.1740e+03_rb,1.0063e+03_rb,8.3858e+02_rb,6.7084e+02_rb,5.0312e+02_rb, & &3.3544e+02_rb,1.6771e+02_rb,1.7153e-01_rb/) kao(:, 3, 8,13) = (/ & &1.2982e+03_rb,1.1360e+03_rb,9.7362e+02_rb,8.1138e+02_rb,6.4912e+02_rb,4.8683e+02_rb, & &3.2456e+02_rb,1.6229e+02_rb,2.4648e-01_rb/) kao(:, 4, 8,13) = (/ & &1.2554e+03_rb,1.0986e+03_rb,9.4155e+02_rb,7.8470e+02_rb,6.2776e+02_rb,4.7081e+02_rb, & &3.1388e+02_rb,1.5694e+02_rb,3.4456e-01_rb/) kao(:, 5, 8,13) = (/ & &1.2173e+03_rb,1.0650e+03_rb,9.1289e+02_rb,7.6069e+02_rb,6.0860e+02_rb,4.5645e+02_rb, & &3.0428e+02_rb,1.5215e+02_rb,4.6320e-01_rb/) kao(:, 1, 9,13) = (/ & &6.4287e+03_rb,5.6254e+03_rb,4.8220e+03_rb,4.0184e+03_rb,3.2146e+03_rb,2.4108e+03_rb, & &1.6072e+03_rb,8.0366e+02_rb,9.3435e-02_rb/) kao(:, 2, 9,13) = (/ & &6.2433e+03_rb,5.4627e+03_rb,4.6824e+03_rb,3.9018e+03_rb,3.1215e+03_rb,2.3411e+03_rb, & &1.5608e+03_rb,7.8032e+02_rb,1.4681e-01_rb/) kao(:, 3, 9,13) = (/ & &6.0612e+03_rb,5.3034e+03_rb,4.5455e+03_rb,3.7883e+03_rb,3.0305e+03_rb,2.2728e+03_rb, & &1.5153e+03_rb,7.5756e+02_rb,2.1819e-01_rb/) kao(:, 4, 9,13) = (/ & &5.8977e+03_rb,5.1604e+03_rb,4.4231e+03_rb,3.6861e+03_rb,2.9487e+03_rb,2.2117e+03_rb, & &1.4744e+03_rb,7.3720e+02_rb,3.1394e-01_rb/) kao(:, 5, 9,13) = (/ & &5.7293e+03_rb,5.0131e+03_rb,4.2969e+03_rb,3.5807e+03_rb,2.8646e+03_rb,2.1484e+03_rb, & &1.4323e+03_rb,7.1617e+02_rb,4.3083e-01_rb/) kao(:, 1,10,13) = (/ & &3.3200e+04_rb,2.9050e+04_rb,2.4899e+04_rb,2.0749e+04_rb,1.6600e+04_rb,1.2450e+04_rb, & &8.2998e+03_rb,4.1501e+03_rb,1.3035e-02_rb/) kao(:, 2,10,13) = (/ & &3.2379e+04_rb,2.8331e+04_rb,2.4286e+04_rb,2.0236e+04_rb,1.6189e+04_rb,1.2142e+04_rb, & &8.0946e+03_rb,4.0474e+03_rb,6.4014e-02_rb/) kao(:, 3,10,13) = (/ & &3.1566e+04_rb,2.7621e+04_rb,2.3674e+04_rb,1.9730e+04_rb,1.5784e+04_rb,1.1837e+04_rb, & &7.8919e+03_rb,3.9461e+03_rb,1.0897e-01_rb/) kao(:, 4,10,13) = (/ & &3.0728e+04_rb,2.6888e+04_rb,2.3048e+04_rb,1.9205e+04_rb,1.5364e+04_rb,1.1523e+04_rb, & &7.6820e+03_rb,3.8409e+03_rb,2.5342e-01_rb/) kao(:, 5,10,13) = (/ & &2.9824e+04_rb,2.6098e+04_rb,2.2369e+04_rb,1.8641e+04_rb,1.4913e+04_rb,1.1185e+04_rb, & &7.4563e+03_rb,3.7282e+03_rb,3.9865e-01_rb/) kao(:, 1,11,13) = (/ & &5.8997e+04_rb,5.1626e+04_rb,4.4246e+04_rb,3.6876e+04_rb,2.9498e+04_rb,2.2124e+04_rb, & &1.4750e+04_rb,7.3749e+03_rb,3.4853e-05_rb/) kao(:, 2,11,13) = (/ & &5.7601e+04_rb,5.0403e+04_rb,4.3203e+04_rb,3.6002e+04_rb,2.8802e+04_rb,2.1601e+04_rb, & &1.4400e+04_rb,7.2004e+03_rb,3.9149e-02_rb/) kao(:, 3,11,13) = (/ & &5.6184e+04_rb,4.9162e+04_rb,4.2136e+04_rb,3.5117e+04_rb,2.8092e+04_rb,2.1068e+04_rb, & &1.4046e+04_rb,7.0226e+03_rb,4.1745e-02_rb/) kao(:, 4,11,13) = (/ & &5.4639e+04_rb,4.7807e+04_rb,4.0979e+04_rb,3.4149e+04_rb,2.7319e+04_rb,2.0489e+04_rb, & &1.3659e+04_rb,6.8303e+03_rb,1.4397e-01_rb/) kao(:, 5,11,13) = (/ & &5.3017e+04_rb,4.6389e+04_rb,3.9763e+04_rb,3.3137e+04_rb,2.6509e+04_rb,1.9881e+04_rb, & &1.3255e+04_rb,6.6269e+03_rb,2.2772e-01_rb/) kao(:, 1,12,13) = (/ & &7.7971e+04_rb,6.8226e+04_rb,5.8475e+04_rb,4.8732e+04_rb,3.8985e+04_rb,2.9238e+04_rb, & &1.9491e+04_rb,9.7458e+03_rb,2.6211e-05_rb/) kao(:, 2,12,13) = (/ & &7.6358e+04_rb,6.6812e+04_rb,5.7265e+04_rb,4.7721e+04_rb,3.8180e+04_rb,2.8631e+04_rb, & &1.9088e+04_rb,9.5449e+03_rb,1.6658e-02_rb/) kao(:, 3,12,13) = (/ & &7.4598e+04_rb,6.5272e+04_rb,5.5949e+04_rb,4.6623e+04_rb,3.7300e+04_rb,2.7976e+04_rb, & &1.8650e+04_rb,9.3250e+03_rb,6.1472e-02_rb/) kao(:, 4,12,13) = (/ & &7.2683e+04_rb,6.3600e+04_rb,5.4513e+04_rb,4.5429e+04_rb,3.6343e+04_rb,2.7256e+04_rb, & &1.8171e+04_rb,9.0852e+03_rb,8.7020e-02_rb/) kao(:, 5,12,13) = (/ & &7.0749e+04_rb,6.1901e+04_rb,5.3059e+04_rb,4.4221e+04_rb,3.5375e+04_rb,2.6529e+04_rb, & &1.7687e+04_rb,8.8438e+03_rb,2.2135e-01_rb/) kao(:, 1,13,13) = (/ & &8.4389e+04_rb,7.3841e+04_rb,6.3292e+04_rb,5.2741e+04_rb,4.2193e+04_rb,3.1646e+04_rb, & &2.1097e+04_rb,1.0548e+04_rb,3.5977e-05_rb/) kao(:, 2,13,13) = (/ & &8.2810e+04_rb,7.2462e+04_rb,6.2107e+04_rb,5.1755e+04_rb,4.1404e+04_rb,3.1055e+04_rb, & &2.0703e+04_rb,1.0351e+04_rb,2.8201e-02_rb/) kao(:, 3,13,13) = (/ & &8.1175e+04_rb,7.1028e+04_rb,6.0878e+04_rb,5.0733e+04_rb,4.0585e+04_rb,3.0440e+04_rb, & &2.0293e+04_rb,1.0147e+04_rb,3.8140e-02_rb/) kao(:, 4,13,13) = (/ & &7.9409e+04_rb,6.9476e+04_rb,5.9554e+04_rb,4.9626e+04_rb,3.9700e+04_rb,2.9777e+04_rb, & &1.9850e+04_rb,9.9254e+03_rb,1.0573e-01_rb/) kao(:, 5,13,13) = (/ & &7.7670e+04_rb,6.7959e+04_rb,5.8251e+04_rb,4.8545e+04_rb,3.8836e+04_rb,2.9127e+04_rb, & &1.9417e+04_rb,9.7081e+03_rb,2.2322e-01_rb/) kao(:, 1, 1,14) = (/ & &1.0586e+01_rb,9.2639e+00_rb,7.9401e+00_rb,6.6170e+00_rb,5.2941e+00_rb,3.9707e+00_rb, & &2.6478e+00_rb,1.3250e+00_rb,4.3918e-01_rb/) kao(:, 2, 1,14) = (/ & &1.0067e+01_rb,8.8090e+00_rb,7.5510e+00_rb,6.2924e+00_rb,5.0343e+00_rb,3.7761e+00_rb, & &2.5179e+00_rb,1.2597e+00_rb,5.9709e-01_rb/) kao(:, 3, 1,14) = (/ & &9.5510e+00_rb,8.3580e+00_rb,7.1635e+00_rb,5.9699e+00_rb,4.7763e+00_rb,3.5829e+00_rb, & &2.3891e+00_rb,1.1957e+00_rb,7.8623e-01_rb/) kao(:, 4, 1,14) = (/ & &9.0745e+00_rb,7.9402e+00_rb,6.8068e+00_rb,5.6724e+00_rb,4.5382e+00_rb,3.4039e+00_rb, & &2.2698e+00_rb,1.1544e+00_rb,1.0064e+00_rb/) kao(:, 5, 1,14) = (/ & &8.6119e+00_rb,7.5354e+00_rb,6.4586e+00_rb,5.3823e+00_rb,4.3069e+00_rb,3.2305e+00_rb, & &2.1544e+00_rb,1.1513e+00_rb,1.2568e+00_rb/) kao(:, 1, 2,14) = (/ & &1.7127e+01_rb,1.4988e+01_rb,1.2847e+01_rb,1.0706e+01_rb,8.5644e+00_rb,6.4237e+00_rb, & &4.2830e+00_rb,2.1424e+00_rb,4.0087e-01_rb/) kao(:, 2, 2,14) = (/ & &1.6266e+01_rb,1.4233e+01_rb,1.2199e+01_rb,1.0167e+01_rb,8.1334e+00_rb,6.1003e+00_rb, & &4.0675e+00_rb,2.0344e+00_rb,5.5811e-01_rb/) kao(:, 3, 2,14) = (/ & &1.5417e+01_rb,1.3492e+01_rb,1.1564e+01_rb,9.6364e+00_rb,7.7096e+00_rb,5.7829e+00_rb, & &3.8557e+00_rb,1.9285e+00_rb,7.4958e-01_rb/) kao(:, 4, 2,14) = (/ & &1.4610e+01_rb,1.2785e+01_rb,1.0958e+01_rb,9.1323e+00_rb,7.3057e+00_rb,5.4803e+00_rb, & &3.6538e+00_rb,1.8278e+00_rb,9.7668e-01_rb/) kao(:, 5, 2,14) = (/ & &1.3849e+01_rb,1.2118e+01_rb,1.0388e+01_rb,8.6567e+00_rb,6.9253e+00_rb,5.1944e+00_rb, & &3.4637e+00_rb,1.7621e+00_rb,1.2463e+00_rb/) kao(:, 1, 3,14) = (/ & &3.7731e+01_rb,3.3014e+01_rb,2.8298e+01_rb,2.3584e+01_rb,1.8865e+01_rb,1.4149e+01_rb, & &9.4337e+00_rb,4.7180e+00_rb,3.4082e-01_rb/) kao(:, 2, 3,14) = (/ & &3.5785e+01_rb,3.1314e+01_rb,2.6842e+01_rb,2.2368e+01_rb,1.7895e+01_rb,1.3421e+01_rb, & &8.9480e+00_rb,4.4747e+00_rb,4.8919e-01_rb/) kao(:, 3, 3,14) = (/ & &3.3896e+01_rb,2.9659e+01_rb,2.5426e+01_rb,2.1185e+01_rb,1.6948e+01_rb,1.2712e+01_rb, & &8.4759e+00_rb,4.2386e+00_rb,6.7406e-01_rb/) kao(:, 4, 3,14) = (/ & &3.2057e+01_rb,2.8051e+01_rb,2.4047e+01_rb,2.0037e+01_rb,1.6031e+01_rb,1.2024e+01_rb, & &8.0158e+00_rb,4.0086e+00_rb,8.9895e-01_rb/) kao(:, 5, 3,14) = (/ & &3.0352e+01_rb,2.6560e+01_rb,2.2767e+01_rb,1.8972e+01_rb,1.5176e+01_rb,1.1383e+01_rb, & &7.5899e+00_rb,3.7954e+00_rb,1.1745e+00_rb/) kao(:, 1, 4,14) = (/ & &8.5512e+01_rb,7.4816e+01_rb,6.4130e+01_rb,5.3439e+01_rb,4.2750e+01_rb,3.2066e+01_rb, & &2.1376e+01_rb,1.0689e+01_rb,2.7979e-01_rb/) kao(:, 2, 4,14) = (/ & &8.0825e+01_rb,7.0719e+01_rb,6.0615e+01_rb,5.0514e+01_rb,4.0410e+01_rb,3.0306e+01_rb, & &2.0206e+01_rb,1.0104e+01_rb,4.1456e-01_rb/) kao(:, 3, 4,14) = (/ & &7.6512e+01_rb,6.6951e+01_rb,5.7383e+01_rb,4.7821e+01_rb,3.8259e+01_rb,2.8694e+01_rb, & &1.9130e+01_rb,9.5655e+00_rb,5.8875e-01_rb/) kao(:, 4, 4,14) = (/ & &7.2339e+01_rb,6.3299e+01_rb,5.4254e+01_rb,4.5213e+01_rb,3.6173e+01_rb,2.7127e+01_rb, & &1.8087e+01_rb,9.0435e+00_rb,8.0998e-01_rb/) kao(:, 5, 4,14) = (/ & &6.8331e+01_rb,5.9800e+01_rb,5.1253e+01_rb,4.2714e+01_rb,3.4172e+01_rb,2.5627e+01_rb, & &1.7086e+01_rb,8.5443e+00_rb,1.0852e+00_rb/) kao(:, 1, 5,14) = (/ & &1.7862e+02_rb,1.5630e+02_rb,1.3397e+02_rb,1.1164e+02_rb,8.9317e+01_rb,6.6992e+01_rb, & &4.4659e+01_rb,2.2329e+01_rb,2.4222e-01_rb/) kao(:, 2, 5,14) = (/ & &1.6866e+02_rb,1.4756e+02_rb,1.2649e+02_rb,1.0541e+02_rb,8.4332e+01_rb,6.3244e+01_rb, & &4.2162e+01_rb,2.1082e+01_rb,3.4856e-01_rb/) kao(:, 3, 5,14) = (/ & &1.5941e+02_rb,1.3948e+02_rb,1.1955e+02_rb,9.9631e+01_rb,7.9709e+01_rb,5.9780e+01_rb, & &3.9852e+01_rb,1.9927e+01_rb,5.0734e-01_rb/) kao(:, 4, 5,14) = (/ & &1.5067e+02_rb,1.3184e+02_rb,1.1302e+02_rb,9.4183e+01_rb,7.5341e+01_rb,5.6507e+01_rb, & &3.7674e+01_rb,1.8837e+01_rb,7.2180e-01_rb/) kao(:, 5, 5,14) = (/ & &1.4230e+02_rb,1.2451e+02_rb,1.0671e+02_rb,8.8935e+01_rb,7.1153e+01_rb,5.3363e+01_rb, & &3.5577e+01_rb,1.7789e+01_rb,9.9362e-01_rb/) kao(:, 1, 6,14) = (/ & &3.5096e+02_rb,3.0703e+02_rb,2.6318e+02_rb,2.1933e+02_rb,1.7546e+02_rb,1.3159e+02_rb, & &8.7733e+01_rb,4.3865e+01_rb,2.1734e-01_rb/) kao(:, 2, 6,14) = (/ & &3.3138e+02_rb,2.8996e+02_rb,2.4854e+02_rb,2.0711e+02_rb,1.6569e+02_rb,1.2426e+02_rb, & &8.2845e+01_rb,4.1423e+01_rb,3.0507e-01_rb/) kao(:, 3, 6,14) = (/ & &3.1254e+02_rb,2.7346e+02_rb,2.3441e+02_rb,1.9532e+02_rb,1.5627e+02_rb,1.1720e+02_rb, & &7.8130e+01_rb,3.9066e+01_rb,4.3270e-01_rb/) kao(:, 4, 6,14) = (/ & &2.9529e+02_rb,2.5841e+02_rb,2.2148e+02_rb,1.8456e+02_rb,1.4764e+02_rb,1.1074e+02_rb, & &7.3826e+01_rb,3.6914e+01_rb,6.2701e-01_rb/) kao(:, 5, 6,14) = (/ & &2.7880e+02_rb,2.4396e+02_rb,2.0911e+02_rb,1.7424e+02_rb,1.3940e+02_rb,1.0455e+02_rb, & &6.9706e+01_rb,3.4852e+01_rb,8.8890e-01_rb/) kao(:, 1, 7,14) = (/ & &7.2513e+02_rb,6.3446e+02_rb,5.4381e+02_rb,4.5320e+02_rb,3.6257e+02_rb,2.7191e+02_rb, & &1.8128e+02_rb,9.0650e+01_rb,1.9831e-01_rb/) kao(:, 2, 7,14) = (/ & &6.8456e+02_rb,5.9902e+02_rb,5.1343e+02_rb,4.2785e+02_rb,3.4230e+02_rb,2.5672e+02_rb, & &1.7115e+02_rb,8.5572e+01_rb,2.7818e-01_rb/) kao(:, 3, 7,14) = (/ & &6.4547e+02_rb,5.6482e+02_rb,4.8412e+02_rb,4.0342e+02_rb,3.2273e+02_rb,2.4204e+02_rb, & &1.6137e+02_rb,8.0688e+01_rb,3.8833e-01_rb/) kao(:, 4, 7,14) = (/ & &6.0978e+02_rb,5.3357e+02_rb,4.5735e+02_rb,3.8114e+02_rb,3.0489e+02_rb,2.2868e+02_rb, & &1.5246e+02_rb,7.6224e+01_rb,5.4866e-01_rb/) kao(:, 5, 7,14) = (/ & &5.7729e+02_rb,5.0509e+02_rb,4.3294e+02_rb,3.6078e+02_rb,2.8862e+02_rb,2.1646e+02_rb, & &1.4432e+02_rb,7.2163e+01_rb,7.7837e-01_rb/) kao(:, 1, 8,14) = (/ & &1.7967e+03_rb,1.5721e+03_rb,1.3476e+03_rb,1.1230e+03_rb,8.9837e+02_rb,6.7379e+02_rb, & &4.4917e+02_rb,2.2458e+02_rb,1.7788e-01_rb/) kao(:, 2, 8,14) = (/ & &1.7006e+03_rb,1.4881e+03_rb,1.2754e+03_rb,1.0629e+03_rb,8.5028e+02_rb,6.3778e+02_rb, & &4.2515e+02_rb,2.1258e+02_rb,2.5421e-01_rb/) kao(:, 3, 8,14) = (/ & &1.6106e+03_rb,1.4094e+03_rb,1.2079e+03_rb,1.0068e+03_rb,8.0532e+02_rb,6.0404e+02_rb, & &4.0268e+02_rb,2.0135e+02_rb,3.5995e-01_rb/) kao(:, 4, 8,14) = (/ & &1.5246e+03_rb,1.3340e+03_rb,1.1435e+03_rb,9.5278e+02_rb,7.6226e+02_rb,5.7172e+02_rb, & &3.8114e+02_rb,1.9058e+02_rb,4.9908e-01_rb/) kao(:, 5, 8,14) = (/ & &1.4465e+03_rb,1.2656e+03_rb,1.0849e+03_rb,9.0407e+02_rb,7.2320e+02_rb,5.4242e+02_rb, & &3.6158e+02_rb,1.8081e+02_rb,6.9586e-01_rb/) kao(:, 1, 9,14) = (/ & &8.4840e+03_rb,7.4233e+03_rb,6.3628e+03_rb,5.3023e+03_rb,4.2423e+03_rb,3.1813e+03_rb, & &2.1210e+03_rb,1.0605e+03_rb,1.5591e-01_rb/) kao(:, 2, 9,14) = (/ & &8.0479e+03_rb,7.0418e+03_rb,6.0359e+03_rb,5.0301e+03_rb,4.0241e+03_rb,3.0180e+03_rb, & &2.0121e+03_rb,1.0060e+03_rb,2.2879e-01_rb/) kao(:, 3, 9,14) = (/ & &7.6325e+03_rb,6.6786e+03_rb,5.7241e+03_rb,4.7707e+03_rb,3.8161e+03_rb,2.8622e+03_rb, & &1.9081e+03_rb,9.5403e+02_rb,3.3113e-01_rb/) kao(:, 4, 9,14) = (/ & &7.2431e+03_rb,6.3376e+03_rb,5.4325e+03_rb,4.5268e+03_rb,3.6217e+03_rb,2.7162e+03_rb, & &1.8109e+03_rb,9.0539e+02_rb,4.6545e-01_rb/) kao(:, 5, 9,14) = (/ & &6.8956e+03_rb,6.0340e+03_rb,5.1720e+03_rb,4.3099e+03_rb,3.4482e+03_rb,2.5859e+03_rb, & &1.7240e+03_rb,8.6204e+02_rb,6.4091e-01_rb/) kao(:, 1,10,14) = (/ & &4.4703e+04_rb,3.9114e+04_rb,3.3523e+04_rb,2.7938e+04_rb,2.2351e+04_rb,1.6764e+04_rb, & &1.1175e+04_rb,5.5874e+03_rb,4.1455e-02_rb/) kao(:, 2,10,14) = (/ & &4.2474e+04_rb,3.7167e+04_rb,3.1854e+04_rb,2.6544e+04_rb,2.1238e+04_rb,1.5927e+04_rb, & &1.0619e+04_rb,5.3089e+03_rb,6.6750e-02_rb/) kao(:, 3,10,14) = (/ & &4.0460e+04_rb,3.5405e+04_rb,3.0347e+04_rb,2.5289e+04_rb,2.0232e+04_rb,1.5174e+04_rb, & &1.0116e+04_rb,5.0578e+03_rb,2.7442e-01_rb/) kao(:, 4,10,14) = (/ & &3.8625e+04_rb,3.3797e+04_rb,2.8970e+04_rb,2.4141e+04_rb,1.9313e+04_rb,1.4484e+04_rb, & &9.6562e+03_rb,4.8282e+03_rb,4.4714e-01_rb/) kao(:, 5,10,14) = (/ & &3.6998e+04_rb,3.2375e+04_rb,2.7750e+04_rb,2.3124e+04_rb,1.8498e+04_rb,1.3874e+04_rb, & &9.2495e+03_rb,4.6247e+03_rb,6.1795e-01_rb/) kao(:, 1,11,14) = (/ & &8.0689e+04_rb,7.0605e+04_rb,6.0514e+04_rb,5.0431e+04_rb,4.0345e+04_rb,3.0258e+04_rb, & &2.0175e+04_rb,1.0088e+04_rb,2.7556e-05_rb/) kao(:, 2,11,14) = (/ & &7.7103e+04_rb,6.7463e+04_rb,5.7832e+04_rb,4.8186e+04_rb,3.8550e+04_rb,2.8913e+04_rb, & &1.9275e+04_rb,9.6376e+03_rb,4.0930e-02_rb/) kao(:, 3,11,14) = (/ & &7.3820e+04_rb,6.4596e+04_rb,5.5369e+04_rb,4.6139e+04_rb,3.6913e+04_rb,2.7687e+04_rb, & &1.8457e+04_rb,9.2272e+03_rb,8.1894e-02_rb/) kao(:, 4,11,14) = (/ & &7.1047e+04_rb,6.2162e+04_rb,5.3281e+04_rb,4.4402e+04_rb,3.5522e+04_rb,2.6643e+04_rb, & &1.7761e+04_rb,8.8802e+03_rb,2.3203e-01_rb/) kao(:, 5,11,14) = (/ & &6.8729e+04_rb,6.0139e+04_rb,5.1549e+04_rb,4.2956e+04_rb,3.4366e+04_rb,2.5774e+04_rb, & &1.7184e+04_rb,8.5912e+03_rb,5.4821e-01_rb/) kao(:, 1,12,14) = (/ & &1.0931e+05_rb,9.5652e+04_rb,8.1990e+04_rb,6.8319e+04_rb,5.4655e+04_rb,4.0991e+04_rb, & &2.7328e+04_rb,1.3665e+04_rb,2.8846e-05_rb/) kao(:, 2,12,14) = (/ & &1.0521e+05_rb,9.2062e+04_rb,7.8903e+04_rb,6.5759e+04_rb,5.2606e+04_rb,3.9453e+04_rb, & &2.6301e+04_rb,1.3151e+04_rb,4.7358e-02_rb/) kao(:, 3,12,14) = (/ & &1.0163e+05_rb,8.8927e+04_rb,7.6219e+04_rb,6.3520e+04_rb,5.0816e+04_rb,3.8110e+04_rb, & &2.5405e+04_rb,1.2704e+04_rb,2.4382e-02_rb/) kao(:, 4,12,14) = (/ & &9.8710e+04_rb,8.6365e+04_rb,7.4034e+04_rb,6.1691e+04_rb,4.9353e+04_rb,3.7016e+04_rb, & &2.4677e+04_rb,1.2338e+04_rb,1.4381e-01_rb/) kao(:, 5,12,14) = (/ & &9.6361e+04_rb,8.4318e+04_rb,7.2271e+04_rb,6.0231e+04_rb,4.8183e+04_rb,3.6135e+04_rb, & &2.4090e+04_rb,1.2044e+04_rb,3.4843e-01_rb/) kao(:, 1,13,14) = (/ & &1.2026e+05_rb,1.0522e+05_rb,9.0197e+04_rb,7.5158e+04_rb,6.0121e+04_rb,4.5095e+04_rb, & &3.0062e+04_rb,1.5030e+04_rb,2.3562e-05_rb/) kao(:, 2,13,14) = (/ & &1.1659e+05_rb,1.0201e+05_rb,8.7436e+04_rb,7.2864e+04_rb,5.8293e+04_rb,4.3717e+04_rb, & &2.9144e+04_rb,1.4573e+04_rb,1.6351e-02_rb/) kao(:, 3,13,14) = (/ & &1.1367e+05_rb,9.9464e+04_rb,8.5255e+04_rb,7.1046e+04_rb,5.6835e+04_rb,4.2627e+04_rb, & &2.8420e+04_rb,1.4209e+04_rb,2.9522e-02_rb/) kao(:, 4,13,14) = (/ & &1.1129e+05_rb,9.7380e+04_rb,8.3472e+04_rb,6.9552e+04_rb,5.5648e+04_rb,4.1732e+04_rb, & &2.7823e+04_rb,1.3911e+04_rb,7.5810e-02_rb/) kao(:, 5,13,14) = (/ & &1.0918e+05_rb,9.5534e+04_rb,8.1880e+04_rb,6.8241e+04_rb,5.4595e+04_rb,4.0946e+04_rb, & &2.7297e+04_rb,1.3648e+04_rb,2.4333e-01_rb/) kao(:, 1, 1,15) = (/ & &1.0978e+01_rb,9.6088e+00_rb,8.2350e+00_rb,6.8632e+00_rb,5.4910e+00_rb,4.1182e+00_rb, & &2.7459e+00_rb,1.3741e+00_rb,7.5097e-01_rb/) kao(:, 2, 1,15) = (/ & &1.0420e+01_rb,9.1192e+00_rb,7.8159e+00_rb,6.5136e+00_rb,5.2114e+00_rb,3.9092e+00_rb, & &2.6067e+00_rb,1.3044e+00_rb,1.0341e+00_rb/) kao(:, 3, 1,15) = (/ & &9.8688e+00_rb,8.6360e+00_rb,7.4026e+00_rb,6.1689e+00_rb,4.9358e+00_rb,3.7018e+00_rb, & &2.4689e+00_rb,1.2355e+00_rb,1.3726e+00_rb/) kao(:, 4, 1,15) = (/ & &9.3623e+00_rb,8.1910e+00_rb,7.0229e+00_rb,5.8526e+00_rb,4.6825e+00_rb,3.5124e+00_rb, & &2.3423e+00_rb,1.1838e+00_rb,1.7645e+00_rb/) kao(:, 5, 1,15) = (/ & &8.8716e+00_rb,7.7621e+00_rb,6.6540e+00_rb,5.5450e+00_rb,4.4367e+00_rb,3.3283e+00_rb, & &2.2197e+00_rb,1.4532e+00_rb,2.2082e+00_rb/) kao(:, 1, 2,15) = (/ & &1.7872e+01_rb,1.5635e+01_rb,1.3402e+01_rb,1.1169e+01_rb,8.9360e+00_rb,6.7019e+00_rb, & &4.4692e+00_rb,2.2349e+00_rb,7.8713e-01_rb/) kao(:, 2, 2,15) = (/ & &1.6936e+01_rb,1.4818e+01_rb,1.2703e+01_rb,1.0586e+01_rb,8.4684e+00_rb,6.3517e+00_rb, & &4.2352e+00_rb,2.1186e+00_rb,1.1015e+00_rb/) kao(:, 3, 2,15) = (/ & &1.6019e+01_rb,1.4019e+01_rb,1.2014e+01_rb,1.0011e+01_rb,8.0107e+00_rb,6.0080e+00_rb, & &4.0069e+00_rb,2.0039e+00_rb,1.4812e+00_rb/) kao(:, 4, 2,15) = (/ & &1.5152e+01_rb,1.3257e+01_rb,1.1364e+01_rb,9.4698e+00_rb,7.5770e+00_rb,5.6829e+00_rb, & &3.7895e+00_rb,1.8958e+00_rb,1.9253e+00_rb/) kao(:, 5, 2,15) = (/ & &1.4341e+01_rb,1.2547e+01_rb,1.0755e+01_rb,8.9625e+00_rb,7.1702e+00_rb,5.3783e+00_rb, & &3.5866e+00_rb,1.8251e+00_rb,2.4314e+00_rb/) kao(:, 1, 3,15) = (/ & &3.9644e+01_rb,3.4688e+01_rb,2.9736e+01_rb,2.4782e+01_rb,1.9827e+01_rb,1.4870e+01_rb, & &9.9132e+00_rb,4.9569e+00_rb,7.5098e-01_rb/) kao(:, 2, 3,15) = (/ & &3.7522e+01_rb,3.2831e+01_rb,2.8147e+01_rb,2.3453e+01_rb,1.8762e+01_rb,1.4073e+01_rb, & &9.3827e+00_rb,4.6920e+00_rb,1.0782e+00_rb/) kao(:, 3, 3,15) = (/ & &3.5460e+01_rb,3.1027e+01_rb,2.6599e+01_rb,2.2162e+01_rb,1.7731e+01_rb,1.3300e+01_rb, & &8.8666e+00_rb,4.4344e+00_rb,1.4809e+00_rb/) kao(:, 4, 3,15) = (/ & &3.3460e+01_rb,2.9273e+01_rb,2.5092e+01_rb,2.0911e+01_rb,1.6733e+01_rb,1.2547e+01_rb, & &8.3663e+00_rb,4.1837e+00_rb,1.9598e+00_rb/) kao(:, 5, 3,15) = (/ & &3.1621e+01_rb,2.7670e+01_rb,2.3718e+01_rb,1.9764e+01_rb,1.5811e+01_rb,1.1859e+01_rb, & &7.9074e+00_rb,3.9548e+00_rb,2.5132e+00_rb/) kao(:, 1, 4,15) = (/ & &9.0592e+01_rb,7.9274e+01_rb,6.7952e+01_rb,5.6623e+01_rb,4.5292e+01_rb,3.3974e+01_rb, & &2.2650e+01_rb,1.1327e+01_rb,6.7358e-01_rb/) kao(:, 2, 4,15) = (/ & &8.5357e+01_rb,7.4682e+01_rb,6.4009e+01_rb,5.3347e+01_rb,4.2676e+01_rb,3.2015e+01_rb, & &2.1340e+01_rb,1.0671e+01_rb,9.9693e-01_rb/) kao(:, 3, 4,15) = (/ & &8.0608e+01_rb,7.0531e+01_rb,6.0449e+01_rb,5.0384e+01_rb,4.0308e+01_rb,3.0230e+01_rb, & &2.0154e+01_rb,1.0079e+01_rb,1.4044e+00_rb/) kao(:, 4, 4,15) = (/ & &7.6021e+01_rb,6.6519e+01_rb,5.7017e+01_rb,4.7513e+01_rb,3.8009e+01_rb,2.8510e+01_rb, & &1.9006e+01_rb,9.5047e+00_rb,1.8983e+00_rb/) kao(:, 5, 4,15) = (/ & &7.1646e+01_rb,6.2695e+01_rb,5.3735e+01_rb,4.4783e+01_rb,3.5822e+01_rb,2.6870e+01_rb, & &1.7917e+01_rb,8.9586e+00_rb,2.4776e+00_rb/) kao(:, 1, 5,15) = (/ & &1.9065e+02_rb,1.6683e+02_rb,1.4299e+02_rb,1.1917e+02_rb,9.5320e+01_rb,7.1489e+01_rb, & &4.7665e+01_rb,2.3834e+01_rb,5.8170e-01_rb/) kao(:, 2, 5,15) = (/ & &1.7924e+02_rb,1.5681e+02_rb,1.3443e+02_rb,1.1201e+02_rb,8.9613e+01_rb,6.7209e+01_rb, & &4.4814e+01_rb,2.2406e+01_rb,8.9003e-01_rb/) kao(:, 3, 5,15) = (/ & &1.6878e+02_rb,1.4769e+02_rb,1.2660e+02_rb,1.0549e+02_rb,8.4396e+01_rb,6.3295e+01_rb, & &4.2198e+01_rb,2.1098e+01_rb,1.2889e+00_rb/) kao(:, 4, 5,15) = (/ & &1.5901e+02_rb,1.3914e+02_rb,1.1927e+02_rb,9.9403e+01_rb,7.9524e+01_rb,5.9641e+01_rb, & &3.9759e+01_rb,1.9881e+01_rb,1.7818e+00_rb/) kao(:, 5, 5,15) = (/ & &1.4967e+02_rb,1.3098e+02_rb,1.1227e+02_rb,9.3560e+01_rb,7.4846e+01_rb,5.6123e+01_rb, & &3.7423e+01_rb,1.8714e+01_rb,2.3703e+00_rb/) kao(:, 1, 6,15) = (/ & &3.7689e+02_rb,3.2969e+02_rb,2.8264e+02_rb,2.3553e+02_rb,1.8841e+02_rb,1.4134e+02_rb, & &9.4214e+01_rb,4.7104e+01_rb,4.7634e-01_rb/) kao(:, 2, 6,15) = (/ & &3.5386e+02_rb,3.0960e+02_rb,2.6540e+02_rb,2.2119e+02_rb,1.7694e+02_rb,1.3270e+02_rb, & &8.8456e+01_rb,4.4232e+01_rb,7.5759e-01_rb/) kao(:, 3, 6,15) = (/ & &3.3202e+02_rb,2.9052e+02_rb,2.4901e+02_rb,2.0752e+02_rb,1.6601e+02_rb,1.2451e+02_rb, & &8.3003e+01_rb,4.1506e+01_rb,1.1321e+00_rb/) kao(:, 4, 6,15) = (/ & &3.1280e+02_rb,2.7368e+02_rb,2.3460e+02_rb,1.9550e+02_rb,1.5640e+02_rb,1.1729e+02_rb, & &7.8200e+01_rb,3.9102e+01_rb,1.6067e+00_rb/) kao(:, 5, 6,15) = (/ & &2.9457e+02_rb,2.5772e+02_rb,2.2093e+02_rb,1.8412e+02_rb,1.4729e+02_rb,1.1048e+02_rb, & &7.3641e+01_rb,3.6825e+01_rb,2.1838e+00_rb/) kao(:, 1, 7,15) = (/ & &7.8539e+02_rb,6.8719e+02_rb,5.8900e+02_rb,4.9081e+02_rb,3.9268e+02_rb,2.9449e+02_rb, & &1.9633e+02_rb,9.8167e+01_rb,3.8693e-01_rb/) kao(:, 2, 7,15) = (/ & &7.3697e+02_rb,6.4481e+02_rb,5.5276e+02_rb,4.6063e+02_rb,3.6848e+02_rb,2.7636e+02_rb, & &1.8426e+02_rb,9.2135e+01_rb,6.2265e-01_rb/) kao(:, 3, 7,15) = (/ & &6.9166e+02_rb,6.0516e+02_rb,5.1875e+02_rb,4.3231e+02_rb,3.4580e+02_rb,2.5935e+02_rb, & &1.7293e+02_rb,8.6458e+01_rb,9.6225e-01_rb/) kao(:, 4, 7,15) = (/ & &6.5012e+02_rb,5.6880e+02_rb,4.8758e+02_rb,4.0634e+02_rb,3.2506e+02_rb,2.4380e+02_rb, & &1.6251e+02_rb,8.1260e+01_rb,1.4063e+00_rb/) kao(:, 5, 7,15) = (/ & &6.1251e+02_rb,5.3595e+02_rb,4.5937e+02_rb,3.8280e+02_rb,3.0627e+02_rb,2.2970e+02_rb, & &1.5314e+02_rb,7.6572e+01_rb,1.9665e+00_rb/) kao(:, 1, 8,15) = (/ & &1.9678e+03_rb,1.7217e+03_rb,1.4759e+03_rb,1.2298e+03_rb,9.8389e+02_rb,7.3793e+02_rb, & &4.9200e+02_rb,2.4597e+02_rb,3.3326e-01_rb/) kao(:, 2, 8,15) = (/ & &1.8454e+03_rb,1.6147e+03_rb,1.3840e+03_rb,1.1533e+03_rb,9.2274e+02_rb,6.9199e+02_rb, & &4.6133e+02_rb,2.3066e+02_rb,5.2281e-01_rb/) kao(:, 3, 8,15) = (/ & &1.7316e+03_rb,1.5151e+03_rb,1.2986e+03_rb,1.0821e+03_rb,8.6576e+02_rb,6.4926e+02_rb, & &4.3287e+02_rb,2.1643e+02_rb,8.0537e-01_rb/) kao(:, 4, 8,15) = (/ & &1.6274e+03_rb,1.4239e+03_rb,1.2204e+03_rb,1.0169e+03_rb,8.1360e+02_rb,6.1025e+02_rb, & &4.0681e+02_rb,2.0342e+02_rb,1.2167e+00_rb/) kao(:, 5, 8,15) = (/ & &1.5364e+03_rb,1.3443e+03_rb,1.1523e+03_rb,9.6013e+02_rb,7.6820e+02_rb,5.7614e+02_rb, & &3.8407e+02_rb,1.9205e+02_rb,1.7524e+00_rb/) kao(:, 1, 9,15) = (/ & &9.3073e+03_rb,8.1544e+03_rb,6.9894e+03_rb,5.8248e+03_rb,4.6604e+03_rb,3.4950e+03_rb, & &2.3299e+03_rb,1.1651e+03_rb,2.9954e-01_rb/) kao(:, 2, 9,15) = (/ & &8.7551e+03_rb,7.6608e+03_rb,6.5662e+03_rb,5.4720e+03_rb,4.3776e+03_rb,3.2831e+03_rb, & &2.1886e+03_rb,1.0944e+03_rb,4.5642e-01_rb/) kao(:, 3, 9,15) = (/ & &8.2482e+03_rb,7.2167e+03_rb,6.1860e+03_rb,5.1552e+03_rb,4.1239e+03_rb,3.0929e+03_rb, & &2.0618e+03_rb,1.0309e+03_rb,6.9066e-01_rb/) kao(:, 4, 9,15) = (/ & &7.8082e+03_rb,6.8324e+03_rb,5.8568e+03_rb,4.8805e+03_rb,3.9039e+03_rb,2.9280e+03_rb, & &1.9520e+03_rb,9.7612e+02_rb,1.0400e+00_rb/) kao(:, 5, 9,15) = (/ & &7.4317e+03_rb,6.5021e+03_rb,5.5734e+03_rb,4.6446e+03_rb,3.7157e+03_rb,2.7869e+03_rb, & &1.8578e+03_rb,9.2892e+02_rb,1.5452e+00_rb/) kao(:, 1,10,15) = (/ & &4.9432e+04_rb,4.3258e+04_rb,3.7074e+04_rb,3.0897e+04_rb,2.4721e+04_rb,1.8537e+04_rb, & &1.2358e+04_rb,6.1790e+03_rb,1.8223e-01_rb/) kao(:, 2,10,15) = (/ & &4.6742e+04_rb,4.0903e+04_rb,3.5058e+04_rb,2.9212e+04_rb,2.3371e+04_rb,1.7528e+04_rb, & &1.1686e+04_rb,5.8428e+03_rb,4.2300e-01_rb/) kao(:, 3,10,15) = (/ & &4.4467e+04_rb,3.8905e+04_rb,3.3347e+04_rb,2.7787e+04_rb,2.2232e+04_rb,1.6675e+04_rb, & &1.1116e+04_rb,5.5580e+03_rb,6.2837e-01_rb/) kao(:, 4,10,15) = (/ & &4.2571e+04_rb,3.7248e+04_rb,3.1929e+04_rb,2.6604e+04_rb,2.1284e+04_rb,1.5965e+04_rb, & &1.0643e+04_rb,5.3212e+03_rb,9.2886e-01_rb/) kao(:, 5,10,15) = (/ & &4.1045e+04_rb,3.5912e+04_rb,3.0783e+04_rb,2.5652e+04_rb,2.0522e+04_rb,1.5392e+04_rb, & &1.0261e+04_rb,5.1304e+03_rb,1.3856e+00_rb/) kao(:, 1,11,15) = (/ & &9.0769e+04_rb,7.9427e+04_rb,6.8076e+04_rb,5.6731e+04_rb,4.5387e+04_rb,3.4039e+04_rb, & &2.2692e+04_rb,1.1348e+04_rb,6.3351e-06_rb/) kao(:, 2,11,15) = (/ & &8.7118e+04_rb,7.6228e+04_rb,6.5339e+04_rb,5.4453e+04_rb,4.3558e+04_rb,3.2668e+04_rb, & &2.1780e+04_rb,1.0890e+04_rb,1.2897e-01_rb/) kao(:, 3,11,15) = (/ & &8.4111e+04_rb,7.3597e+04_rb,6.3086e+04_rb,5.2568e+04_rb,4.2058e+04_rb,3.1544e+04_rb, & &2.1027e+04_rb,1.0514e+04_rb,3.6063e-01_rb/) kao(:, 4,11,15) = (/ & &8.1812e+04_rb,7.1584e+04_rb,6.1356e+04_rb,5.1132e+04_rb,4.0904e+04_rb,3.0678e+04_rb, & &2.0453e+04_rb,1.0225e+04_rb,8.1674e-01_rb/) kao(:, 5,11,15) = (/ & &7.9895e+04_rb,6.9910e+04_rb,5.9923e+04_rb,4.9935e+04_rb,3.9950e+04_rb,2.9961e+04_rb, & &1.9975e+04_rb,9.9870e+03_rb,1.4894e+00_rb/) kao(:, 1,12,15) = (/ & &1.2814e+05_rb,1.1213e+05_rb,9.6104e+04_rb,8.0085e+04_rb,6.4069e+04_rb,4.8051e+04_rb, & &3.2036e+04_rb,1.6017e+04_rb,4.6990e-06_rb/) kao(:, 2,12,15) = (/ & &1.2486e+05_rb,1.0925e+05_rb,9.3637e+04_rb,7.8034e+04_rb,6.2430e+04_rb,4.6820e+04_rb, & &3.1210e+04_rb,1.5606e+04_rb,1.4051e-05_rb/) kao(:, 3,12,15) = (/ & &1.2228e+05_rb,1.0700e+05_rb,9.1710e+04_rb,7.6429e+04_rb,6.1136e+04_rb,4.5856e+04_rb, & &3.0569e+04_rb,1.5285e+04_rb,1.5080e-01_rb/) kao(:, 4,12,15) = (/ & &1.2022e+05_rb,1.0520e+05_rb,9.0163e+04_rb,7.5135e+04_rb,6.0115e+04_rb,4.5084e+04_rb, & &3.0055e+04_rb,1.5027e+04_rb,4.4115e-01_rb/) kao(:, 5,12,15) = (/ & &1.1876e+05_rb,1.0392e+05_rb,8.9071e+04_rb,7.4229e+04_rb,5.9383e+04_rb,4.4534e+04_rb, & &2.9691e+04_rb,1.4845e+04_rb,1.2230e+00_rb/) kao(:, 1,13,15) = (/ & &1.4959e+05_rb,1.3089e+05_rb,1.1219e+05_rb,9.3492e+04_rb,7.4791e+04_rb,5.6100e+04_rb, & &3.7396e+04_rb,1.8698e+04_rb,1.6068e-05_rb/) kao(:, 2,13,15) = (/ & &1.4739e+05_rb,1.2897e+05_rb,1.1053e+05_rb,9.2121e+04_rb,7.3693e+04_rb,5.5270e+04_rb, & &3.6845e+04_rb,1.8424e+04_rb,2.4216e-05_rb/) kao(:, 3,13,15) = (/ & &1.4569e+05_rb,1.2748e+05_rb,1.0927e+05_rb,9.1057e+04_rb,7.2849e+04_rb,5.4630e+04_rb, & &3.6423e+04_rb,1.8211e+04_rb,2.3267e-01_rb/) kao(:, 4,13,15) = (/ & &1.4449e+05_rb,1.2643e+05_rb,1.0837e+05_rb,9.0297e+04_rb,7.2240e+04_rb,5.4184e+04_rb, & &3.6121e+04_rb,1.8059e+04_rb,3.2297e-01_rb/) kao(:, 5,13,15) = (/ & &1.4334e+05_rb,1.2542e+05_rb,1.0750e+05_rb,8.9583e+04_rb,7.1673e+04_rb,5.3754e+04_rb, & &3.5834e+04_rb,1.7916e+04_rb,9.5703e-01_rb/) kao(:, 1, 1,16) = (/ & &1.1012e+01_rb,9.6385e+00_rb,8.2597e+00_rb,6.8841e+00_rb,5.5077e+00_rb,4.1310e+00_rb, & &2.7545e+00_rb,1.3780e+00_rb,8.0170e-01_rb/) kao(:, 2, 1,16) = (/ & &1.0449e+01_rb,9.1438e+00_rb,7.8382e+00_rb,6.5335e+00_rb,5.2262e+00_rb,3.9202e+00_rb, & &2.6149e+00_rb,1.3083e+00_rb,1.1089e+00_rb/) kao(:, 3, 1,16) = (/ & &9.8963e+00_rb,8.6604e+00_rb,7.4233e+00_rb,6.1853e+00_rb,4.9489e+00_rb,3.7122e+00_rb, & &2.4757e+00_rb,1.2390e+00_rb,1.4762e+00_rb/) kao(:, 4, 1,16) = (/ & &9.3879e+00_rb,8.2127e+00_rb,7.0407e+00_rb,5.8670e+00_rb,4.6947e+00_rb,3.5210e+00_rb, & &2.3483e+00_rb,1.2086e+00_rb,1.9022e+00_rb/) kao(:, 5, 1,16) = (/ & &8.8935e+00_rb,7.7813e+00_rb,6.6705e+00_rb,5.5589e+00_rb,4.4480e+00_rb,3.3366e+00_rb, & &2.2250e+00_rb,1.5141e+00_rb,2.3892e+00_rb/) kao(:, 1, 2,16) = (/ & &1.7937e+01_rb,1.5695e+01_rb,1.3452e+01_rb,1.1211e+01_rb,8.9664e+00_rb,6.7267e+00_rb, & &4.4861e+00_rb,2.2435e+00_rb,8.6848e-01_rb/) kao(:, 2, 2,16) = (/ & &1.6997e+01_rb,1.4871e+01_rb,1.2749e+01_rb,1.0624e+01_rb,8.4984e+00_rb,6.3745e+00_rb, & &4.2497e+00_rb,2.1262e+00_rb,1.2205e+00_rb/) kao(:, 3, 2,16) = (/ & &1.6073e+01_rb,1.4067e+01_rb,1.2054e+01_rb,1.0046e+01_rb,8.0383e+00_rb,6.0294e+00_rb, & &4.0202e+00_rb,2.0108e+00_rb,1.6477e+00_rb/) kao(:, 4, 2,16) = (/ & &1.5204e+01_rb,1.3304e+01_rb,1.1402e+01_rb,9.4999e+00_rb,7.6031e+00_rb,5.7017e+00_rb, & &3.8022e+00_rb,1.9021e+00_rb,2.1539e+00_rb/) kao(:, 5, 2,16) = (/ & &1.4385e+01_rb,1.2589e+01_rb,1.0791e+01_rb,8.9907e+00_rb,7.1928e+00_rb,5.3962e+00_rb, & &3.5994e+00_rb,1.9006e+00_rb,2.7317e+00_rb/) kao(:, 1, 3,16) = (/ & &3.9826e+01_rb,3.4837e+01_rb,2.9874e+01_rb,2.4893e+01_rb,1.9916e+01_rb,1.4937e+01_rb, & &9.9605e+00_rb,4.9801e+00_rb,8.6605e-01_rb/) kao(:, 2, 3,16) = (/ & &3.7687e+01_rb,3.2981e+01_rb,2.8272e+01_rb,2.3555e+01_rb,1.8843e+01_rb,1.4136e+01_rb, & &9.4254e+00_rb,4.7126e+00_rb,1.2506e+00_rb/) kao(:, 3, 3,16) = (/ & &3.5608e+01_rb,3.1162e+01_rb,2.6711e+01_rb,2.2256e+01_rb,1.7812e+01_rb,1.3358e+01_rb, & &8.9032e+00_rb,4.4535e+00_rb,1.7305e+00_rb/) kao(:, 4, 3,16) = (/ & &3.3599e+01_rb,2.9402e+01_rb,2.5206e+01_rb,2.1000e+01_rb,1.6804e+01_rb,1.2601e+01_rb, & &8.4019e+00_rb,4.2020e+00_rb,2.3040e+00_rb/) kao(:, 5, 3,16) = (/ & &3.1757e+01_rb,2.7783e+01_rb,2.3809e+01_rb,1.9848e+01_rb,1.5875e+01_rb,1.1908e+01_rb, & &7.9407e+00_rb,3.9713e+00_rb,2.9736e+00_rb/) kao(:, 1, 4,16) = (/ & &9.1010e+01_rb,7.9617e+01_rb,6.8261e+01_rb,5.6883e+01_rb,4.5501e+01_rb,3.4135e+01_rb, & &2.2756e+01_rb,1.1381e+01_rb,8.2098e-01_rb/) kao(:, 2, 4,16) = (/ & &8.5710e+01_rb,7.5003e+01_rb,6.4275e+01_rb,5.3587e+01_rb,4.2849e+01_rb,3.2139e+01_rb, & &2.1425e+01_rb,1.0717e+01_rb,1.2260e+00_rb/) kao(:, 3, 4,16) = (/ & &8.0903e+01_rb,7.0806e+01_rb,6.0673e+01_rb,5.0561e+01_rb,4.0455e+01_rb,3.0343e+01_rb, & &2.0221e+01_rb,1.0019e+01_rb,1.7427e+00_rb/) kao(:, 4, 4,16) = (/ & &7.6250e+01_rb,6.6729e+01_rb,5.7190e+01_rb,4.7658e+01_rb,3.8119e+01_rb,2.8596e+01_rb, & &1.9064e+01_rb,9.5357e+00_rb,2.3756e+00_rb/) kao(:, 5, 4,16) = (/ & &7.1845e+01_rb,6.2892e+01_rb,5.3881e+01_rb,4.4904e+01_rb,3.5931e+01_rb,2.6946e+01_rb, & &1.7968e+01_rb,8.9829e+00_rb,3.1270e+00_rb/) kao(:, 1, 5,16) = (/ & &1.9171e+02_rb,1.6775e+02_rb,1.4380e+02_rb,1.1981e+02_rb,9.5875e+01_rb,7.1871e+01_rb, & &4.7928e+01_rb,2.3964e+01_rb,7.5940e-01_rb/) kao(:, 2, 5,16) = (/ & &1.8016e+02_rb,1.5760e+02_rb,1.3509e+02_rb,1.1260e+02_rb,9.0071e+01_rb,6.7551e+01_rb, & &4.5046e+01_rb,2.2517e+01_rb,1.1757e+00_rb/) kao(:, 3, 5,16) = (/ & &1.6962e+02_rb,1.4839e+02_rb,1.2718e+02_rb,1.0601e+02_rb,8.4813e+01_rb,6.3608e+01_rb, & &4.2403e+01_rb,2.1198e+01_rb,1.7223e+00_rb/) kao(:, 4, 5,16) = (/ & &1.5982e+02_rb,1.3980e+02_rb,1.1984e+02_rb,9.9881e+01_rb,7.9889e+01_rb,5.9924e+01_rb, & &3.9950e+01_rb,1.9975e+01_rb,2.4076e+00_rb/) kao(:, 5, 5,16) = (/ & &1.5041e+02_rb,1.3158e+02_rb,1.1281e+02_rb,9.3993e+01_rb,7.5196e+01_rb,5.6401e+01_rb, & &3.7598e+01_rb,1.8805e+01_rb,3.2368e+00_rb/) kao(:, 1, 6,16) = (/ & &3.8096e+02_rb,3.3337e+02_rb,2.8576e+02_rb,2.3807e+02_rb,1.9047e+02_rb,1.4289e+02_rb, & &9.5250e+01_rb,4.7621e+01_rb,6.7593e-01_rb/) kao(:, 2, 6,16) = (/ & &3.5801e+02_rb,3.1325e+02_rb,2.6851e+02_rb,2.2376e+02_rb,1.7905e+02_rb,1.3426e+02_rb, & &8.9499e+01_rb,4.4742e+01_rb,1.0913e+00_rb/) kao(:, 3, 6,16) = (/ & &3.3608e+02_rb,2.9405e+02_rb,2.5208e+02_rb,2.1010e+02_rb,1.6803e+02_rb,1.2602e+02_rb, & &8.4040e+01_rb,4.2005e+01_rb,1.6542e+00_rb/) kao(:, 4, 6,16) = (/ & &3.1667e+02_rb,2.7704e+02_rb,2.3752e+02_rb,1.9794e+02_rb,1.5835e+02_rb,1.1877e+02_rb, & &7.9157e+01_rb,3.9584e+01_rb,2.3801e+00_rb/) kao(:, 5, 6,16) = (/ & &2.9810e+02_rb,2.6093e+02_rb,2.2364e+02_rb,1.8637e+02_rb,1.4910e+02_rb,1.1183e+02_rb, & &7.4550e+01_rb,3.7278e+01_rb,3.2789e+00_rb/) kao(:, 1, 7,16) = (/ & &7.9749e+02_rb,6.9796e+02_rb,5.9825e+02_rb,4.9855e+02_rb,3.9886e+02_rb,2.9907e+02_rb, & &1.9939e+02_rb,9.9689e+01_rb,5.8719e-01_rb/) kao(:, 2, 7,16) = (/ & &7.4948e+02_rb,6.5592e+02_rb,5.6211e+02_rb,4.6855e+02_rb,3.7478e+02_rb,2.8116e+02_rb, & &1.8738e+02_rb,9.3692e+01_rb,9.9296e-01_rb/) kao(:, 3, 7,16) = (/ & &7.0403e+02_rb,6.1598e+02_rb,5.2804e+02_rb,4.4008e+02_rb,3.5206e+02_rb,2.6406e+02_rb, & &1.7605e+02_rb,8.8000e+01_rb,1.5629e+00_rb/) kao(:, 4, 7,16) = (/ & &6.6205e+02_rb,5.7919e+02_rb,4.9648e+02_rb,4.1378e+02_rb,3.3107e+02_rb,2.4827e+02_rb, & &1.6552e+02_rb,8.2766e+01_rb,2.3202e+00_rb/) kao(:, 5, 7,16) = (/ & &6.2380e+02_rb,5.4580e+02_rb,4.6792e+02_rb,3.8985e+02_rb,3.1191e+02_rb,2.3394e+02_rb, & &1.5598e+02_rb,7.7978e+01_rb,3.2803e+00_rb/) kao(:, 1, 8,16) = (/ & &2.0029e+03_rb,1.7526e+03_rb,1.5027e+03_rb,1.2518e+03_rb,1.0017e+03_rb,7.5137e+02_rb, & &5.0076e+02_rb,2.5041e+02_rb,5.0039e-01_rb/) kao(:, 2, 8,16) = (/ & &1.8839e+03_rb,1.6487e+03_rb,1.4132e+03_rb,1.1775e+03_rb,9.4211e+02_rb,7.0656e+02_rb, & &4.7103e+02_rb,2.3550e+02_rb,8.8968e-01_rb/) kao(:, 3, 8,16) = (/ & &1.7724e+03_rb,1.5508e+03_rb,1.3295e+03_rb,1.1080e+03_rb,8.8638e+02_rb,6.6461e+02_rb, & &4.4304e+02_rb,2.2162e+02_rb,1.4586e+00_rb/) kao(:, 4, 8,16) = (/ & &1.6681e+03_rb,1.4594e+03_rb,1.2510e+03_rb,1.0422e+03_rb,8.3394e+02_rb,6.2548e+02_rb, & &4.1698e+02_rb,2.0850e+02_rb,2.2386e+00_rb/) kao(:, 5, 8,16) = (/ & &1.5734e+03_rb,1.3768e+03_rb,1.1803e+03_rb,9.8337e+02_rb,7.8678e+02_rb,5.9008e+02_rb, & &3.9340e+02_rb,1.9668e+02_rb,3.2542e+00_rb/) kao(:, 1, 9,16) = (/ & &9.5422e+03_rb,8.3482e+03_rb,7.1572e+03_rb,5.9648e+03_rb,4.7724e+03_rb,3.5785e+03_rb, & &2.3856e+03_rb,1.1929e+03_rb,4.1531e-01_rb/) kao(:, 2, 9,16) = (/ & &8.9979e+03_rb,7.8727e+03_rb,6.7481e+03_rb,5.6240e+03_rb,4.4988e+03_rb,3.3743e+03_rb, & &2.2493e+03_rb,1.1247e+03_rb,7.8014e-01_rb/) kao(:, 3, 9,16) = (/ & &8.4879e+03_rb,7.4273e+03_rb,6.3662e+03_rb,5.3047e+03_rb,4.2442e+03_rb,3.1830e+03_rb, & &2.1217e+03_rb,1.0610e+03_rb,1.3368e+00_rb/) kao(:, 4, 9,16) = (/ & &8.0145e+03_rb,7.0116e+03_rb,6.0099e+03_rb,5.0094e+03_rb,4.0072e+03_rb,3.0052e+03_rb, & &2.0036e+03_rb,1.0018e+03_rb,2.1276e+00_rb/) kao(:, 5, 9,16) = (/ & &7.6138e+03_rb,6.6618e+03_rb,5.7100e+03_rb,4.7582e+03_rb,3.8067e+03_rb,2.8551e+03_rb, & &1.9031e+03_rb,9.5177e+02_rb,3.1866e+00_rb/) kao(:, 1,10,16) = (/ & &5.0991e+04_rb,4.4616e+04_rb,3.8235e+04_rb,3.1865e+04_rb,2.5493e+04_rb,1.9119e+04_rb, & &1.2748e+04_rb,6.3734e+03_rb,3.5386e-01_rb/) kao(:, 2,10,16) = (/ & &4.8246e+04_rb,4.2216e+04_rb,3.6189e+04_rb,3.0155e+04_rb,2.4122e+04_rb,1.8092e+04_rb, & &1.2062e+04_rb,6.0316e+03_rb,7.0256e-01_rb/) kao(:, 3,10,16) = (/ & &4.5828e+04_rb,4.0101e+04_rb,3.4373e+04_rb,2.8642e+04_rb,2.2916e+04_rb,1.7187e+04_rb, & &1.1458e+04_rb,5.7294e+03_rb,1.2547e+00_rb/) kao(:, 4,10,16) = (/ & &4.3978e+04_rb,3.8481e+04_rb,3.2983e+04_rb,2.7486e+04_rb,2.1988e+04_rb,1.6492e+04_rb, & &1.0995e+04_rb,5.4969e+03_rb,2.0651e+00_rb/) kao(:, 5,10,16) = (/ & &4.2519e+04_rb,3.7205e+04_rb,3.1889e+04_rb,2.6577e+04_rb,2.1264e+04_rb,1.5948e+04_rb, & &1.0631e+04_rb,5.3154e+03_rb,3.1779e+00_rb/) kao(:, 1,11,16) = (/ & &9.4155e+04_rb,8.2392e+04_rb,7.0618e+04_rb,5.8856e+04_rb,4.7081e+04_rb,3.5308e+04_rb, & &2.3542e+04_rb,1.1770e+04_rb,6.1346e-06_rb/) kao(:, 2,11,16) = (/ & &9.0590e+04_rb,7.9258e+04_rb,6.7935e+04_rb,5.6620e+04_rb,4.5292e+04_rb,3.3967e+04_rb, & &2.2646e+04_rb,1.1323e+04_rb,3.3281e-01_rb/) kao(:, 3,11,16) = (/ & &8.8119e+04_rb,7.7104e+04_rb,6.6094e+04_rb,5.5078e+04_rb,4.4061e+04_rb,3.3053e+04_rb, & &2.2031e+04_rb,1.1015e+04_rb,1.5023e+00_rb/) kao(:, 4,11,16) = (/ & &8.6175e+04_rb,7.5401e+04_rb,6.4627e+04_rb,5.3860e+04_rb,4.3092e+04_rb,3.2317e+04_rb, & &2.1545e+04_rb,1.0771e+04_rb,2.4696e+00_rb/) kao(:, 5,11,16) = (/ & &8.4570e+04_rb,7.4002e+04_rb,6.3432e+04_rb,5.2859e+04_rb,4.2288e+04_rb,3.1714e+04_rb, & &2.1142e+04_rb,1.0572e+04_rb,3.7979e+00_rb/) kao(:, 1,12,16) = (/ & &1.3547e+05_rb,1.1853e+05_rb,1.0160e+05_rb,8.4660e+04_rb,6.7729e+04_rb,5.0794e+04_rb, & &3.3867e+04_rb,1.6929e+04_rb,5.0265e-06_rb/) kao(:, 2,12,16) = (/ & &1.3284e+05_rb,1.1623e+05_rb,9.9623e+04_rb,8.3023e+04_rb,6.6416e+04_rb,4.9810e+04_rb, & &3.3206e+04_rb,1.6603e+04_rb,9.0705e-06_rb/) kao(:, 3,12,16) = (/ & &1.3111e+05_rb,1.1471e+05_rb,9.8324e+04_rb,8.1946e+04_rb,6.5544e+04_rb,4.9165e+04_rb, & &3.2777e+04_rb,1.6388e+04_rb,1.7901e+00_rb/) kao(:, 4,12,16) = (/ & &1.2947e+05_rb,1.1329e+05_rb,9.7103e+04_rb,8.0920e+04_rb,6.4734e+04_rb,4.8090e+04_rb, & &3.2370e+04_rb,1.6184e+04_rb,2.9393e+00_rb/) kao(:, 5,12,16) = (/ & &1.2773e+05_rb,1.1176e+05_rb,9.5799e+04_rb,7.9830e+04_rb,6.3866e+04_rb,4.7901e+04_rb, & &3.1932e+04_rb,1.5966e+04_rb,4.5138e+00_rb/) kao(:, 1,13,16) = (/ & &1.6206e+05_rb,1.4180e+05_rb,1.2155e+05_rb,1.0128e+05_rb,8.1025e+04_rb,6.0775e+04_rb, & &4.0514e+04_rb,2.0257e+04_rb,4.1164e-06_rb/) kao(:, 2,13,16) = (/ & &1.6103e+05_rb,1.4091e+05_rb,1.2078e+05_rb,1.0065e+05_rb,8.0525e+04_rb,6.0389e+04_rb, & &4.0260e+04_rb,2.0131e+04_rb,7.4285e-06_rb/) kao(:, 3,13,16) = (/ & &1.6003e+05_rb,1.4003e+05_rb,1.2001e+05_rb,1.0001e+05_rb,8.0009e+04_rb,6.0009e+04_rb, & &4.0005e+04_rb,2.0004e+04_rb,8.7132e-01_rb/) kao(:, 4,13,16) = (/ & &1.5863e+05_rb,1.3882e+05_rb,1.1899e+05_rb,9.9157e+04_rb,7.9319e+04_rb,5.9492e+04_rb, & &3.9661e+04_rb,1.9830e+04_rb,3.4650e+00_rb/) kao(:, 5,13,16) = (/ & &1.5756e+05_rb,1.3786e+05_rb,1.1816e+05_rb,9.8476e+04_rb,7.8780e+04_rb,5.9085e+04_rb, & &3.9388e+04_rb,1.9695e+04_rb,5.3123e+00_rb/) ! The array KBO contains absorption coefs for each of the 16 g-intervals ! for a range of pressure levels < ~100mb, temperatures, and ratios ! of H2O to CO2. The first index in the array, JS, runs ! from 1 to 10, and corresponds to different gas column amount ratios, ! as expressed through the binary species parameter eta, defined as ! eta = gas1/(gas1 + (rat) * gas2), where rat is the ! ratio of the reference MLS column amount value of gas 1 ! to that of gas2. The second index, JT, which ! runs from 1 to 5, corresponds to different temperatures. More ! specifically, JT = 3 means that the data are for the corresponding ! reference temperature TREF for this pressure level, JT = 2 refers ! to the TREF-15, JT = 1 is for TREF-30, JT = 4 is for TREF+15, and ! JT = 5 is for TREF+30. The third index, JP, runs from 13 to 59 and ! refers to the corresponding pressure level in PREF (e.g. JP = 13 is ! for a pressure of 95.5835 mb). The fourth index, IG, goes from 1 to ! 16, and tells us which g-interval the absorption coefficients are for. kbo(:, 1,13, 1) = (/ & &1.9283e+01_rb,1.4533e+01_rb,9.7765e+00_rb,4.9986e+00_rb,1.2562e-02_rb/) kbo(:, 2,13, 1) = (/ & &2.3187e+01_rb,1.7461e+01_rb,1.1734e+01_rb,5.9860e+00_rb,1.4622e-02_rb/) kbo(:, 3,13, 1) = (/ & &2.7169e+01_rb,2.0447e+01_rb,1.3724e+01_rb,6.9897e+00_rb,1.6755e-02_rb/) kbo(:, 4,13, 1) = (/ & &3.1114e+01_rb,2.3405e+01_rb,1.5695e+01_rb,7.9803e+00_rb,1.8932e-02_rb/) kbo(:, 5,13, 1) = (/ & &3.5056e+01_rb,2.6360e+01_rb,1.7664e+01_rb,8.9659e+00_rb,2.1071e-02_rb/) kbo(:, 1,14, 1) = (/ & &1.0180e+01_rb,7.7052e+00_rb,5.2175e+00_rb,2.7059e+00_rb,1.0725e-02_rb/) kbo(:, 2,14, 1) = (/ & &1.2216e+01_rb,9.2332e+00_rb,6.2420e+00_rb,3.2235e+00_rb,1.2472e-02_rb/) kbo(:, 3,14, 1) = (/ & &1.4258e+01_rb,1.0764e+01_rb,7.2673e+00_rb,3.7434e+00_rb,1.4271e-02_rb/) kbo(:, 4,14, 1) = (/ & &1.6297e+01_rb,1.2292e+01_rb,8.2867e+00_rb,4.2597e+00_rb,1.6035e-02_rb/) kbo(:, 5,14, 1) = (/ & &1.8337e+01_rb,1.3822e+01_rb,9.3061e+00_rb,4.7742e+00_rb,1.7777e-02_rb/) kbo(:, 1,15, 1) = (/ & &5.4843e+00_rb,4.1814e+00_rb,2.8583e+00_rb,1.5122e+00_rb,9.1712e-03_rb/) kbo(:, 2,15, 1) = (/ & &6.5509e+00_rb,4.9839e+00_rb,3.3981e+00_rb,1.7878e+00_rb,1.0654e-02_rb/) kbo(:, 3,15, 1) = (/ & &7.6172e+00_rb,5.7836e+00_rb,3.9371e+00_rb,2.0620e+00_rb,1.2109e-02_rb/) kbo(:, 4,15, 1) = (/ & &8.6919e+00_rb,6.5886e+00_rb,4.4776e+00_rb,2.3372e+00_rb,1.3585e-02_rb/) kbo(:, 5,15, 1) = (/ & &9.7770e+00_rb,7.4027e+00_rb,5.0231e+00_rb,2.6136e+00_rb,1.5008e-02_rb/) kbo(:, 1,16, 1) = (/ & &3.5143e+00_rb,2.7004e+00_rb,1.8632e+00_rb,1.0005e+00_rb,7.8549e-03_rb/) kbo(:, 2,16, 1) = (/ & &4.1782e+00_rb,3.2010e+00_rb,2.2008e+00_rb,1.1754e+00_rb,9.0596e-03_rb/) kbo(:, 3,16, 1) = (/ & &4.8461e+00_rb,3.7036e+00_rb,2.5395e+00_rb,1.3499e+00_rb,1.0291e-02_rb/) kbo(:, 4,16, 1) = (/ & &5.5241e+00_rb,4.2125e+00_rb,2.8833e+00_rb,1.5266e+00_rb,1.1500e-02_rb/) kbo(:, 5,16, 1) = (/ & &6.2095e+00_rb,4.7270e+00_rb,3.2297e+00_rb,1.7035e+00_rb,1.2669e-02_rb/) kbo(:, 1,17, 1) = (/ & &2.3317e+00_rb,1.8082e+00_rb,1.2606e+00_rb,6.8451e-01_rb,6.6638e-03_rb/) kbo(:, 2,17, 1) = (/ & &2.7625e+00_rb,2.1339e+00_rb,1.4816e+00_rb,7.9994e-01_rb,7.6839e-03_rb/) kbo(:, 3,17, 1) = (/ & &3.1980e+00_rb,2.4632e+00_rb,1.7043e+00_rb,9.1671e-01_rb,8.7134e-03_rb/) kbo(:, 4,17, 1) = (/ & &3.6437e+00_rb,2.7995e+00_rb,1.9319e+00_rb,1.0349e+00_rb,9.7011e-03_rb/) kbo(:, 5,17, 1) = (/ & &4.0944e+00_rb,3.1388e+00_rb,2.1608e+00_rb,1.1535e+00_rb,1.0621e-02_rb/) kbo(:, 1,18, 1) = (/ & &1.5862e+00_rb,1.2436e+00_rb,8.7489e-01_rb,4.7986e-01_rb,5.6356e-03_rb/) kbo(:, 2,18, 1) = (/ & &1.8744e+00_rb,1.4623e+00_rb,1.0242e+00_rb,5.5874e-01_rb,6.4918e-03_rb/) kbo(:, 3,18, 1) = (/ & &2.1671e+00_rb,1.6845e+00_rb,1.1763e+00_rb,6.3905e-01_rb,7.3340e-03_rb/) kbo(:, 4,18, 1) = (/ & &2.4666e+00_rb,1.9117e+00_rb,1.3311e+00_rb,7.2008e-01_rb,8.1312e-03_rb/) kbo(:, 5,18, 1) = (/ & &2.7713e+00_rb,2.1418e+00_rb,1.4869e+00_rb,8.0122e-01_rb,8.8525e-03_rb/) kbo(:, 1,19, 1) = (/ & &1.0610e+00_rb,8.4360e-01_rb,5.9805e-01_rb,3.3172e-01_rb,4.7490e-03_rb/) kbo(:, 2,19, 1) = (/ & &1.2512e+00_rb,9.8882e-01_rb,6.9811e-01_rb,3.8521e-01_rb,5.4538e-03_rb/) kbo(:, 3,19, 1) = (/ & &1.4451e+00_rb,1.1370e+00_rb,8.0056e-01_rb,4.3959e-01_rb,6.1291e-03_rb/) kbo(:, 4,19, 1) = (/ & &1.6437e+00_rb,1.2883e+00_rb,9.0437e-01_rb,4.9444e-01_rb,6.7635e-03_rb/) kbo(:, 5,19, 1) = (/ & &1.8467e+00_rb,1.4425e+00_rb,1.0099e+00_rb,5.4929e-01_rb,7.3353e-03_rb/) kbo(:, 1,20, 1) = (/ & &7.7133e-01_rb,6.2032e-01_rb,4.4197e-01_rb,2.4707e-01_rb,4.0032e-03_rb/) kbo(:, 2,20, 1) = (/ & &9.0743e-01_rb,7.2503e-01_rb,5.1466e-01_rb,2.8622e-01_rb,4.5715e-03_rb/) kbo(:, 3,20, 1) = (/ & &1.0470e+00_rb,8.3267e-01_rb,5.8918e-01_rb,3.2603e-01_rb,5.1125e-03_rb/) kbo(:, 4,20, 1) = (/ & &1.1900e+00_rb,9.4226e-01_rb,6.6481e-01_rb,3.6603e-01_rb,5.6145e-03_rb/) kbo(:, 5,20, 1) = (/ & &1.3362e+00_rb,1.0539e+00_rb,7.4130e-01_rb,4.0582e-01_rb,6.0699e-03_rb/) kbo(:, 1,21, 1) = (/ & &5.7866e-01_rb,4.6986e-01_rb,3.3621e-01_rb,1.8917e-01_rb,3.3621e-03_rb/) kbo(:, 2,21, 1) = (/ & &6.7950e-01_rb,5.4811e-01_rb,3.9072e-01_rb,2.1877e-01_rb,3.8183e-03_rb/) kbo(:, 3,21, 1) = (/ & &7.8326e-01_rb,6.2869e-01_rb,4.4658e-01_rb,2.4873e-01_rb,4.2512e-03_rb/) kbo(:, 4,21, 1) = (/ & &8.8933e-01_rb,7.1063e-01_rb,5.0334e-01_rb,2.7872e-01_rb,4.6532e-03_rb/) kbo(:, 5,21, 1) = (/ & &9.9790e-01_rb,7.9397e-01_rb,5.6013e-01_rb,3.0841e-01_rb,5.0189e-03_rb/) kbo(:, 1,22, 1) = (/ & &4.5035e-01_rb,3.6838e-01_rb,2.6449e-01_rb,1.4961e-01_rb,2.8371e-03_rb/) kbo(:, 2,22, 1) = (/ & &5.2710e-01_rb,4.2854e-01_rb,3.0641e-01_rb,1.7248e-01_rb,3.2033e-03_rb/) kbo(:, 3,22, 1) = (/ & &6.0621e-01_rb,4.9027e-01_rb,3.4931e-01_rb,1.9546e-01_rb,3.5507e-03_rb/) kbo(:, 4,22, 1) = (/ & &6.8687e-01_rb,5.5302e-01_rb,3.9268e-01_rb,2.1836e-01_rb,3.8721e-03_rb/) kbo(:, 5,22, 1) = (/ & &7.6986e-01_rb,6.1676e-01_rb,4.3619e-01_rb,2.4105e-01_rb,4.1644e-03_rb/) kbo(:, 1,23, 1) = (/ & &3.5288e-01_rb,2.9059e-01_rb,2.0929e-01_rb,1.1896e-01_rb,2.3878e-03_rb/) kbo(:, 2,23, 1) = (/ & &4.1165e-01_rb,3.3703e-01_rb,2.4169e-01_rb,1.3668e-01_rb,2.6830e-03_rb/) kbo(:, 3,23, 1) = (/ & &4.7210e-01_rb,3.8447e-01_rb,2.7478e-01_rb,1.5435e-01_rb,2.9616e-03_rb/) kbo(:, 4,23, 1) = (/ & &5.3412e-01_rb,4.3294e-01_rb,3.0818e-01_rb,1.7203e-01_rb,3.2196e-03_rb/) kbo(:, 5,23, 1) = (/ & &5.9758e-01_rb,4.8162e-01_rb,3.4147e-01_rb,1.8925e-01_rb,3.4517e-03_rb/) kbo(:, 1,24, 1) = (/ & &2.7554e-01_rb,2.2847e-01_rb,1.6509e-01_rb,9.4305e-02_rb,2.0058e-03_rb/) kbo(:, 2,24, 1) = (/ & &3.2038e-01_rb,2.6411e-01_rb,1.9003e-01_rb,1.0793e-01_rb,2.2440e-03_rb/) kbo(:, 3,24, 1) = (/ & &3.6644e-01_rb,3.0049e-01_rb,2.1543e-01_rb,1.2148e-01_rb,2.4688e-03_rb/) kbo(:, 4,24, 1) = (/ & &4.1394e-01_rb,3.3761e-01_rb,2.4100e-01_rb,1.3500e-01_rb,2.6754e-03_rb/) kbo(:, 5,24, 1) = (/ & &4.6205e-01_rb,3.7459e-01_rb,2.6626e-01_rb,1.4798e-01_rb,2.8597e-03_rb/) kbo(:, 1,25, 1) = (/ & &2.1831e-01_rb,1.8211e-01_rb,1.3197e-01_rb,7.5672e-02_rb,1.6848e-03_rb/) kbo(:, 2,25, 1) = (/ & &2.5300e-01_rb,2.0977e-01_rb,1.5139e-01_rb,8.6229e-02_rb,1.8770e-03_rb/) kbo(:, 3,25, 1) = (/ & &2.8861e-01_rb,2.3809e-01_rb,1.7109e-01_rb,9.6778e-02_rb,2.0567e-03_rb/) kbo(:, 4,25, 1) = (/ & &3.2559e-01_rb,2.6686e-01_rb,1.9096e-01_rb,1.0719e-01_rb,2.2230e-03_rb/) kbo(:, 5,25, 1) = (/ & &3.6217e-01_rb,2.9511e-01_rb,2.1013e-01_rb,1.1707e-01_rb,2.3678e-03_rb/) kbo(:, 1,26, 1) = (/ & &1.7639e-01_rb,1.4786e-01_rb,1.0735e-01_rb,6.1680e-02_rb,1.4167e-03_rb/) kbo(:, 2,26, 1) = (/ & &2.0373e-01_rb,1.6972e-01_rb,1.2271e-01_rb,7.0008e-02_rb,1.5712e-03_rb/) kbo(:, 3,26, 1) = (/ & &2.3189e-01_rb,1.9218e-01_rb,1.3830e-01_rb,7.8351e-02_rb,1.7155e-03_rb/) kbo(:, 4,26, 1) = (/ & &2.6096e-01_rb,2.1478e-01_rb,1.5388e-01_rb,8.6437e-02_rb,1.8482e-03_rb/) kbo(:, 5,26, 1) = (/ & &2.8921e-01_rb,2.3658e-01_rb,1.6864e-01_rb,9.4016e-02_rb,1.9628e-03_rb/) kbo(:, 1,27, 1) = (/ & &1.4816e-01_rb,1.2446e-01_rb,9.0381e-02_rb,5.1884e-02_rb,1.1905e-03_rb/) kbo(:, 2,27, 1) = (/ & &1.7052e-01_rb,1.4243e-01_rb,1.0297e-01_rb,5.8708e-02_rb,1.3153e-03_rb/) kbo(:, 3,27, 1) = (/ & &1.9369e-01_rb,1.6085e-01_rb,1.1575e-01_rb,6.5493e-02_rb,1.4309e-03_rb/) kbo(:, 4,27, 1) = (/ & &2.1729e-01_rb,1.7923e-01_rb,1.2834e-01_rb,7.1951e-02_rb,1.5370e-03_rb/) kbo(:, 5,27, 1) = (/ & &2.3994e-01_rb,1.9663e-01_rb,1.4015e-01_rb,7.7968e-02_rb,1.6265e-03_rb/) kbo(:, 1,28, 1) = (/ & &1.2786e-01_rb,1.0743e-01_rb,7.7947e-02_rb,4.4624e-02_rb,1.0001e-03_rb/) kbo(:, 2,28, 1) = (/ & &1.4668e-01_rb,1.2262e-01_rb,8.8533e-02_rb,5.0350e-02_rb,1.1007e-03_rb/) kbo(:, 3,28, 1) = (/ & &1.6624e-01_rb,1.3809e-01_rb,9.9259e-02_rb,5.5949e-02_rb,1.1936e-03_rb/) kbo(:, 4,28, 1) = (/ & &1.8582e-01_rb,1.5336e-01_rb,1.0964e-01_rb,6.1251e-02_rb,1.2774e-03_rb/) kbo(:, 5,28, 1) = (/ & &2.0447e-01_rb,1.6760e-01_rb,1.1929e-01_rb,6.6127e-02_rb,1.3481e-03_rb/) kbo(:, 1,29, 1) = (/ & &1.1723e-01_rb,9.8203e-02_rb,7.1006e-02_rb,4.0413e-02_rb,8.4082e-04_rb/) kbo(:, 2,29, 1) = (/ & &1.3410e-01_rb,1.1181e-01_rb,8.0444e-02_rb,4.5462e-02_rb,9.2201e-04_rb/) kbo(:, 3,29, 1) = (/ & &1.5159e-01_rb,1.2556e-01_rb,8.9943e-02_rb,5.0342e-02_rb,9.9652e-04_rb/) kbo(:, 4,29, 1) = (/ & &1.6878e-01_rb,1.3892e-01_rb,9.8991e-02_rb,5.4945e-02_rb,1.0624e-03_rb/) kbo(:, 5,29, 1) = (/ & &1.8506e-01_rb,1.5133e-01_rb,1.0733e-01_rb,5.9130e-02_rb,1.1186e-03_rb/) kbo(:, 1,30, 1) = (/ & &1.1017e-01_rb,9.1915e-02_rb,6.6158e-02_rb,3.7385e-02_rb,7.0716e-04_rb/) kbo(:, 2,30, 1) = (/ & &1.2571e-01_rb,1.0438e-01_rb,7.4791e-02_rb,4.1937e-02_rb,7.7222e-04_rb/) kbo(:, 3,30, 1) = (/ & &1.4165e-01_rb,1.1688e-01_rb,8.3361e-02_rb,4.6295e-02_rb,8.3205e-04_rb/) kbo(:, 4,30, 1) = (/ & &1.5709e-01_rb,1.2882e-01_rb,9.1412e-02_rb,5.0358e-02_rb,8.8422e-04_rb/) kbo(:, 5,30, 1) = (/ & &1.7161e-01_rb,1.3989e-01_rb,9.8798e-02_rb,5.4060e-02_rb,9.2829e-04_rb/) kbo(:, 1,31, 1) = (/ & &1.0894e-01_rb,9.0338e-02_rb,6.4636e-02_rb,3.6175e-02_rb,5.9489e-04_rb/) kbo(:, 2,31, 1) = (/ & &1.2399e-01_rb,1.0230e-01_rb,7.2900e-02_rb,4.0465e-02_rb,6.4753e-04_rb/) kbo(:, 3,31, 1) = (/ & &1.3920e-01_rb,1.1419e-01_rb,8.0980e-02_rb,4.4552e-02_rb,6.9507e-04_rb/) kbo(:, 4,31, 1) = (/ & &1.5373e-01_rb,1.2537e-01_rb,8.8479e-02_rb,4.8317e-02_rb,7.3661e-04_rb/) kbo(:, 5,31, 1) = (/ & &1.6735e-01_rb,1.3577e-01_rb,9.5380e-02_rb,5.1770e-02_rb,7.7104e-04_rb/) kbo(:, 1,32, 1) = (/ & &1.0900e-01_rb,8.9827e-02_rb,6.3903e-02_rb,3.5410e-02_rb,5.0043e-04_rb/) kbo(:, 2,32, 1) = (/ & &1.2373e-01_rb,1.0144e-01_rb,7.1880e-02_rb,3.9506e-02_rb,5.4269e-04_rb/) kbo(:, 3,32, 1) = (/ & &1.3829e-01_rb,1.1278e-01_rb,7.9528e-02_rb,4.3367e-02_rb,5.8080e-04_rb/) kbo(:, 4,32, 1) = (/ & &1.5213e-01_rb,1.2340e-01_rb,8.6611e-02_rb,4.6908e-02_rb,6.1297e-04_rb/) kbo(:, 5,32, 1) = (/ & &1.6513e-01_rb,1.3334e-01_rb,9.3188e-02_rb,5.0191e-02_rb,6.4067e-04_rb/) kbo(:, 1,33, 1) = (/ & &1.1105e-01_rb,9.0919e-02_rb,6.4301e-02_rb,3.5277e-02_rb,4.2055e-04_rb/) kbo(:, 2,33, 1) = (/ & &1.2562e-01_rb,1.0235e-01_rb,7.2096e-02_rb,3.9245e-02_rb,4.5474e-04_rb/) kbo(:, 3,33, 1) = (/ & &1.3981e-01_rb,1.1334e-01_rb,7.9473e-02_rb,4.2949e-02_rb,4.8461e-04_rb/) kbo(:, 4,33, 1) = (/ & &1.5326e-01_rb,1.2363e-01_rb,8.6303e-02_rb,4.6360e-02_rb,5.1014e-04_rb/) kbo(:, 5,33, 1) = (/ & &1.6587e-01_rb,1.3331e-01_rb,9.2704e-02_rb,4.9561e-02_rb,5.3252e-04_rb/) kbo(:, 1,34, 1) = (/ & &1.0980e-01_rb,8.9454e-02_rb,6.2967e-02_rb,3.4264e-02_rb,3.5179e-04_rb/) kbo(:, 2,34, 1) = (/ & &1.2374e-01_rb,1.0037e-01_rb,7.0363e-02_rb,3.8004e-02_rb,3.7955e-04_rb/) kbo(:, 3,34, 1) = (/ & &1.3725e-01_rb,1.1080e-01_rb,7.7340e-02_rb,4.1494e-02_rb,4.0292e-04_rb/) kbo(:, 4,34, 1) = (/ & &1.5005e-01_rb,1.2058e-01_rb,8.3803e-02_rb,4.4722e-02_rb,4.2388e-04_rb/) kbo(:, 5,34, 1) = (/ & &1.6190e-01_rb,1.2971e-01_rb,8.9844e-02_rb,4.7765e-02_rb,4.4175e-04_rb/) kbo(:, 1,35, 1) = (/ & &1.0733e-01_rb,8.7091e-02_rb,6.1056e-02_rb,3.2994e-02_rb,2.9230e-04_rb/) kbo(:, 2,35, 1) = (/ & &1.2074e-01_rb,9.7561e-02_rb,6.8117e-02_rb,3.6550e-02_rb,3.1434e-04_rb/) kbo(:, 3,35, 1) = (/ & &1.3369e-01_rb,1.0755e-01_rb,7.4768e-02_rb,3.9873e-02_rb,3.3363e-04_rb/) kbo(:, 4,35, 1) = (/ & &1.4588e-01_rb,1.1689e-01_rb,8.0950e-02_rb,4.2958e-02_rb,3.5062e-04_rb/) kbo(:, 5,35, 1) = (/ & &1.5707e-01_rb,1.2552e-01_rb,8.6668e-02_rb,4.5847e-02_rb,3.6479e-04_rb/) kbo(:, 1,36, 1) = (/ & &1.0289e-01_rb,8.3241e-02_rb,5.8159e-02_rb,3.1253e-02_rb,2.4069e-04_rb/) kbo(:, 2,36, 1) = (/ & &1.1571e-01_rb,9.3253e-02_rb,6.4895e-02_rb,3.4641e-02_rb,2.5868e-04_rb/) kbo(:, 3,36, 1) = (/ & &1.2815e-01_rb,1.0284e-01_rb,7.1277e-02_rb,3.7824e-02_rb,2.7449e-04_rb/) kbo(:, 4,36, 1) = (/ & &1.3974e-01_rb,1.1174e-01_rb,7.7168e-02_rb,4.0766e-02_rb,2.8849e-04_rb/) kbo(:, 5,36, 1) = (/ & &1.5033e-01_rb,1.1990e-01_rb,8.2576e-02_rb,4.3496e-02_rb,2.9983e-04_rb/) kbo(:, 1,37, 1) = (/ & &9.4340e-02_rb,7.6226e-02_rb,5.3140e-02_rb,2.8456e-02_rb,1.9559e-04_rb/) kbo(:, 2,37, 1) = (/ & &1.0634e-01_rb,8.5612e-02_rb,5.9452e-02_rb,3.1630e-02_rb,2.1059e-04_rb/) kbo(:, 3,37, 1) = (/ & &1.1803e-01_rb,9.4641e-02_rb,6.5469e-02_rb,3.4631e-02_rb,2.2381e-04_rb/) kbo(:, 4,37, 1) = (/ & &1.2893e-01_rb,1.0302e-01_rb,7.1019e-02_rb,3.7400e-02_rb,2.3549e-04_rb/) kbo(:, 5,37, 1) = (/ & &1.3882e-01_rb,1.1066e-01_rb,7.6074e-02_rb,3.9944e-02_rb,2.4505e-04_rb/) kbo(:, 1,38, 1) = (/ & &8.7666e-02_rb,7.0724e-02_rb,4.9189e-02_rb,2.6244e-02_rb,1.5881e-04_rb/) kbo(:, 2,38, 1) = (/ & &9.9075e-02_rb,7.9666e-02_rb,5.5208e-02_rb,2.9270e-02_rb,1.7135e-04_rb/) kbo(:, 3,38, 1) = (/ & &1.1022e-01_rb,8.8294e-02_rb,6.0961e-02_rb,3.2140e-02_rb,1.8248e-04_rb/) kbo(:, 4,38, 1) = (/ & &1.2063e-01_rb,9.6310e-02_rb,6.6270e-02_rb,3.4786e-02_rb,1.9228e-04_rb/) kbo(:, 5,38, 1) = (/ & &1.3002e-01_rb,1.0355e-01_rb,7.1058e-02_rb,3.7188e-02_rb,2.0028e-04_rb/) kbo(:, 1,39, 1) = (/ & &8.3319e-02_rb,6.7083e-02_rb,4.6540e-02_rb,2.4732e-02_rb,1.2903e-04_rb/) kbo(:, 2,39, 1) = (/ & &9.4409e-02_rb,7.5788e-02_rb,5.2401e-02_rb,2.7679e-02_rb,1.3958e-04_rb/) kbo(:, 3,39, 1) = (/ & &1.0530e-01_rb,8.4225e-02_rb,5.8027e-02_rb,3.0486e-02_rb,1.4894e-04_rb/) kbo(:, 4,39, 1) = (/ & &1.1544e-01_rb,9.2061e-02_rb,6.3226e-02_rb,3.3071e-02_rb,1.5713e-04_rb/) kbo(:, 5,39, 1) = (/ & &1.2457e-01_rb,9.9102e-02_rb,6.7879e-02_rb,3.5400e-02_rb,1.6372e-04_rb/) kbo(:, 1,40, 1) = (/ & &7.3382e-02_rb,5.9091e-02_rb,4.0949e-02_rb,2.1720e-02_rb,1.0369e-04_rb/) kbo(:, 2,40, 1) = (/ & &8.3492e-02_rb,6.7054e-02_rb,4.6317e-02_rb,2.4422e-02_rb,1.1258e-04_rb/) kbo(:, 3,40, 1) = (/ & &9.3502e-02_rb,7.4845e-02_rb,5.1514e-02_rb,2.7021e-02_rb,1.2049e-04_rb/) kbo(:, 4,40, 1) = (/ & &1.0289e-01_rb,8.2115e-02_rb,5.6339e-02_rb,2.9419e-02_rb,1.2744e-04_rb/) kbo(:, 5,40, 1) = (/ & &1.1132e-01_rb,8.8604e-02_rb,6.0629e-02_rb,3.1559e-02_rb,1.3317e-04_rb/) kbo(:, 1,41, 1) = (/ & &6.4289e-02_rb,5.1783e-02_rb,3.5851e-02_rb,1.8983e-02_rb,8.3205e-05_rb/) kbo(:, 2,41, 1) = (/ & &7.3486e-02_rb,5.9047e-02_rb,4.0756e-02_rb,2.1456e-02_rb,9.0601e-05_rb/) kbo(:, 3,41, 1) = (/ & &8.2657e-02_rb,6.6211e-02_rb,4.5539e-02_rb,2.3850e-02_rb,9.7309e-05_rb/) kbo(:, 4,41, 1) = (/ & &9.1325e-02_rb,7.2956e-02_rb,5.0013e-02_rb,2.6075e-02_rb,1.0320e-04_rb/) kbo(:, 5,41, 1) = (/ & &9.9149e-02_rb,7.8969e-02_rb,5.3991e-02_rb,2.8057e-02_rb,1.0825e-04_rb/) kbo(:, 1,42, 1) = (/ & &5.6899e-02_rb,4.5812e-02_rb,3.1686e-02_rb,1.6747e-02_rb,6.6719e-05_rb/) kbo(:, 2,42, 1) = (/ & &6.5316e-02_rb,5.2494e-02_rb,3.6198e-02_rb,1.9026e-02_rb,7.2862e-05_rb/) kbo(:, 3,42, 1) = (/ & &7.3779e-02_rb,5.9136e-02_rb,4.0639e-02_rb,2.1249e-02_rb,7.8557e-05_rb/) kbo(:, 4,42, 1) = (/ & &8.1877e-02_rb,6.5448e-02_rb,4.4826e-02_rb,2.3334e-02_rb,8.3575e-05_rb/) kbo(:, 5,42, 1) = (/ & &8.9207e-02_rb,7.1094e-02_rb,4.8562e-02_rb,2.5195e-02_rb,8.7912e-05_rb/) kbo(:, 1,43, 1) = (/ & &5.0334e-02_rb,4.0495e-02_rb,2.7979e-02_rb,1.4764e-02_rb,5.3104e-05_rb/) kbo(:, 2,43, 1) = (/ & &5.8063e-02_rb,4.6679e-02_rb,3.2159e-02_rb,1.6880e-02_rb,5.8298e-05_rb/) kbo(:, 3,43, 1) = (/ & &6.5961e-02_rb,5.2905e-02_rb,3.6327e-02_rb,1.8968e-02_rb,6.3123e-05_rb/) kbo(:, 4,43, 1) = (/ & &7.3585e-02_rb,5.8862e-02_rb,4.0291e-02_rb,2.0945e-02_rb,6.7425e-05_rb/) kbo(:, 5,43, 1) = (/ & &8.0560e-02_rb,6.4257e-02_rb,4.3859e-02_rb,2.2720e-02_rb,7.1177e-05_rb/) kbo(:, 1,44, 1) = (/ & &4.4899e-02_rb,3.6074e-02_rb,2.4891e-02_rb,1.3115e-02_rb,4.2029e-05_rb/) kbo(:, 2,44, 1) = (/ & &5.2065e-02_rb,4.1850e-02_rb,2.8809e-02_rb,1.5097e-02_rb,4.6479e-05_rb/) kbo(:, 3,44, 1) = (/ & &5.9485e-02_rb,4.7740e-02_rb,3.2758e-02_rb,1.7077e-02_rb,5.0599e-05_rb/) kbo(:, 4,44, 1) = (/ & &6.6781e-02_rb,5.3454e-02_rb,3.6566e-02_rb,1.8982e-02_rb,5.4263e-05_rb/) kbo(:, 5,44, 1) = (/ & &7.3522e-02_rb,5.8690e-02_rb,4.0031e-02_rb,2.0702e-02_rb,5.7530e-05_rb/) kbo(:, 1,45, 1) = (/ & &4.0792e-02_rb,3.2725e-02_rb,2.2543e-02_rb,1.1850e-02_rb,3.3244e-05_rb/) kbo(:, 2,45, 1) = (/ & &4.7552e-02_rb,3.8195e-02_rb,2.6267e-02_rb,1.3739e-02_rb,3.7011e-05_rb/) kbo(:, 3,45, 1) = (/ & &5.4656e-02_rb,4.3858e-02_rb,3.0076e-02_rb,1.5653e-02_rb,4.0475e-05_rb/) kbo(:, 4,45, 1) = (/ & &6.1725e-02_rb,4.9413e-02_rb,3.3782e-02_rb,1.7505e-02_rb,4.3662e-05_rb/) kbo(:, 5,45, 1) = (/ & &6.8362e-02_rb,5.4599e-02_rb,3.7216e-02_rb,1.9215e-02_rb,4.6426e-05_rb/) kbo(:, 1,46, 1) = (/ & &3.7210e-02_rb,2.9813e-02_rb,2.0505e-02_rb,1.0753e-02_rb,2.6192e-05_rb/) kbo(:, 2,46, 1) = (/ & &4.3666e-02_rb,3.5023e-02_rb,2.4062e-02_rb,1.2564e-02_rb,2.9338e-05_rb/) kbo(:, 3,46, 1) = (/ & &5.0484e-02_rb,4.0487e-02_rb,2.7746e-02_rb,1.4418e-02_rb,3.2269e-05_rb/) kbo(:, 4,46, 1) = (/ & &5.7389e-02_rb,4.5948e-02_rb,3.1393e-02_rb,1.6243e-02_rb,3.5047e-05_rb/) kbo(:, 5,46, 1) = (/ & &6.3983e-02_rb,5.1116e-02_rb,3.4828e-02_rb,1.7955e-02_rb,3.7412e-05_rb/) kbo(:, 1,47, 1) = (/ & &3.3307e-02_rb,2.6647e-02_rb,1.8307e-02_rb,9.5851e-03_rb,2.0446e-05_rb/) kbo(:, 2,47, 1) = (/ & &3.9395e-02_rb,3.1552e-02_rb,2.1654e-02_rb,1.1293e-02_rb,2.3124e-05_rb/) kbo(:, 3,47, 1) = (/ & &4.5832e-02_rb,3.6752e-02_rb,2.5172e-02_rb,1.3065e-02_rb,2.5601e-05_rb/) kbo(:, 4,47, 1) = (/ & &5.2491e-02_rb,4.2052e-02_rb,2.8722e-02_rb,1.4843e-02_rb,2.7940e-05_rb/) kbo(:, 5,47, 1) = (/ & &5.8958e-02_rb,4.7137e-02_rb,3.2108e-02_rb,1.6536e-02_rb,3.0007e-05_rb/) kbo(:, 1,48, 1) = (/ & &3.0577e-02_rb,2.4411e-02_rb,1.6745e-02_rb,8.7495e-03_rb,1.5922e-05_rb/) kbo(:, 2,48, 1) = (/ & &3.6464e-02_rb,2.9147e-02_rb,1.9975e-02_rb,1.0397e-02_rb,1.8148e-05_rb/) kbo(:, 3,48, 1) = (/ & &4.2691e-02_rb,3.4197e-02_rb,2.3406e-02_rb,1.2132e-02_rb,2.0290e-05_rb/) kbo(:, 4,48, 1) = (/ & &4.9243e-02_rb,3.9438e-02_rb,2.6932e-02_rb,1.3903e-02_rb,2.2244e-05_rb/) kbo(:, 5,48, 1) = (/ & &5.5751e-02_rb,4.4571e-02_rb,3.0355e-02_rb,1.5610e-02_rb,2.4044e-05_rb/) kbo(:, 1,49, 1) = (/ & &2.9139e-02_rb,2.3202e-02_rb,1.5887e-02_rb,8.2788e-03_rb,1.2379e-05_rb/) kbo(:, 2,49, 1) = (/ & &3.5049e-02_rb,2.7954e-02_rb,1.9124e-02_rb,9.9302e-03_rb,1.4214e-05_rb/) kbo(:, 3,49, 1) = (/ & &4.1342e-02_rb,3.3034e-02_rb,2.2588e-02_rb,1.1686e-02_rb,1.6044e-05_rb/) kbo(:, 4,49, 1) = (/ & &4.8011e-02_rb,3.8402e-02_rb,2.6208e-02_rb,1.3508e-02_rb,1.7733e-05_rb/) kbo(:, 5,49, 1) = (/ & &5.4790e-02_rb,4.3771e-02_rb,2.9799e-02_rb,1.5302e-02_rb,1.9282e-05_rb/) kbo(:, 1,50, 1) = (/ & &2.6464e-02_rb,2.1057e-02_rb,1.4400e-02_rb,7.4918e-03_rb,9.6160e-06_rb/) kbo(:, 2,50, 1) = (/ & &3.2138e-02_rb,2.5589e-02_rb,1.7489e-02_rb,9.0674e-03_rb,1.1117e-05_rb/) kbo(:, 3,50, 1) = (/ & &3.8201e-02_rb,3.0472e-02_rb,2.0816e-02_rb,1.0758e-02_rb,1.2650e-05_rb/) kbo(:, 4,50, 1) = (/ & &4.4627e-02_rb,3.5684e-02_rb,2.4344e-02_rb,1.2533e-02_rb,1.4094e-05_rb/) kbo(:, 5,50, 1) = (/ & &5.1304e-02_rb,4.1009e-02_rb,2.7917e-02_rb,1.4322e-02_rb,1.5452e-05_rb/) kbo(:, 1,51, 1) = (/ & &2.3471e-02_rb,1.8670e-02_rb,1.2760e-02_rb,6.6303e-03_rb,7.4600e-06_rb/) kbo(:, 2,51, 1) = (/ & &2.8809e-02_rb,2.2911e-02_rb,1.5642e-02_rb,8.0988e-03_rb,8.6870e-06_rb/) kbo(:, 3,51, 1) = (/ & &3.4515e-02_rb,2.7502e-02_rb,1.8771e-02_rb,9.6885e-03_rb,9.9502e-06_rb/) kbo(:, 4,51, 1) = (/ & &4.0564e-02_rb,3.2426e-02_rb,2.2116e-02_rb,1.1378e-02_rb,1.1172e-05_rb/) kbo(:, 5,51, 1) = (/ & &4.6952e-02_rb,3.7546e-02_rb,2.5560e-02_rb,1.3107e-02_rb,1.2317e-05_rb/) kbo(:, 1,52, 1) = (/ & &2.1330e-02_rb,1.6945e-02_rb,1.1569e-02_rb,6.0043e-03_rb,5.7740e-06_rb/) kbo(:, 2,52, 1) = (/ & &2.6486e-02_rb,2.1033e-02_rb,1.4344e-02_rb,7.4158e-03_rb,6.7739e-06_rb/) kbo(:, 3,52, 1) = (/ & &3.1984e-02_rb,2.5459e-02_rb,1.7358e-02_rb,8.9483e-03_rb,7.8163e-06_rb/) kbo(:, 4,52, 1) = (/ & &3.7859e-02_rb,3.0220e-02_rb,2.0602e-02_rb,1.0589e-02_rb,8.8379e-06_rb/) kbo(:, 5,52, 1) = (/ & &4.4095e-02_rb,3.5255e-02_rb,2.3994e-02_rb,1.2295e-02_rb,9.8102e-06_rb/) kbo(:, 1,53, 1) = (/ & &2.0104e-02_rb,1.5937e-02_rb,1.0867e-02_rb,5.6295e-03_rb,4.4532e-06_rb/) kbo(:, 2,53, 1) = (/ & &2.5267e-02_rb,2.0039e-02_rb,1.3647e-02_rb,7.0429e-03_rb,5.2727e-06_rb/) kbo(:, 3,53, 1) = (/ & &3.0800e-02_rb,2.4464e-02_rb,1.6661e-02_rb,8.5763e-03_rb,6.1352e-06_rb/) kbo(:, 4,53, 1) = (/ & &3.6739e-02_rb,2.9255e-02_rb,1.9925e-02_rb,1.0232e-02_rb,6.9843e-06_rb/) kbo(:, 5,53, 1) = (/ & &4.3045e-02_rb,3.4379e-02_rb,2.3392e-02_rb,1.1975e-02_rb,7.8095e-06_rb/) kbo(:, 1,54, 1) = (/ & &1.6441e-02_rb,1.3030e-02_rb,8.8847e-03_rb,4.6022e-03_rb,3.4230e-06_rb/) kbo(:, 2,54, 1) = (/ & &2.0888e-02_rb,1.6582e-02_rb,1.1293e-02_rb,5.8278e-03_rb,4.0956e-06_rb/) kbo(:, 3,54, 1) = (/ & &2.5721e-02_rb,2.0433e-02_rb,1.3910e-02_rb,7.1575e-03_rb,4.7876e-06_rb/) kbo(:, 4,54, 1) = (/ & &3.0904e-02_rb,2.4618e-02_rb,1.6759e-02_rb,8.6032e-03_rb,5.4982e-06_rb/) kbo(:, 5,54, 1) = (/ & &3.6412e-02_rb,2.9120e-02_rb,1.9814e-02_rb,1.0143e-02_rb,6.1750e-06_rb/) kbo(:, 1,55, 1) = (/ & &1.2258e-02_rb,9.7268e-03_rb,6.6366e-03_rb,3.4428e-03_rb,2.6213e-06_rb/) kbo(:, 2,55, 1) = (/ & &1.5748e-02_rb,1.2527e-02_rb,8.5365e-03_rb,4.4115e-03_rb,3.1717e-06_rb/) kbo(:, 3,55, 1) = (/ & &1.9594e-02_rb,1.5595e-02_rb,1.0619e-02_rb,5.4666e-03_rb,3.7237e-06_rb/) kbo(:, 4,55, 1) = (/ & &2.3710e-02_rb,1.8931e-02_rb,1.2889e-02_rb,6.6186e-03_rb,4.3031e-06_rb/) kbo(:, 5,55, 1) = (/ & &2.8112e-02_rb,2.2537e-02_rb,1.5336e-02_rb,7.8537e-03_rb,4.8648e-06_rb/) kbo(:, 1,56, 1) = (/ & &9.1055e-03_rb,7.2363e-03_rb,4.9401e-03_rb,2.5664e-03_rb,1.9997e-06_rb/) kbo(:, 2,56, 1) = (/ & &1.1834e-02_rb,9.4303e-03_rb,6.4310e-03_rb,3.3278e-03_rb,2.4479e-06_rb/) kbo(:, 3,56, 1) = (/ & &1.4882e-02_rb,1.1870e-02_rb,8.0848e-03_rb,4.1651e-03_rb,2.8963e-06_rb/) kbo(:, 4,56, 1) = (/ & &1.8155e-02_rb,1.4526e-02_rb,9.8917e-03_rb,5.0809e-03_rb,3.3616e-06_rb/) kbo(:, 5,56, 1) = (/ & &2.1671e-02_rb,1.7405e-02_rb,1.1845e-02_rb,6.0691e-03_rb,3.8293e-06_rb/) kbo(:, 1,57, 1) = (/ & &6.7286e-03_rb,5.3591e-03_rb,3.6618e-03_rb,1.9048e-03_rb,1.5179e-06_rb/) kbo(:, 2,57, 1) = (/ & &8.8620e-03_rb,7.0733e-03_rb,4.8264e-03_rb,2.5013e-03_rb,1.8807e-06_rb/) kbo(:, 3,57, 1) = (/ & &1.1265e-02_rb,9.0088e-03_rb,6.1382e-03_rb,3.1650e-03_rb,2.2483e-06_rb/) kbo(:, 4,57, 1) = (/ & &1.3873e-02_rb,1.1116e-02_rb,7.5709e-03_rb,3.8911e-03_rb,2.6184e-06_rb/) kbo(:, 5,57, 1) = (/ & &1.6676e-02_rb,1.3415e-02_rb,9.1296e-03_rb,4.6803e-03_rb,3.0020e-06_rb/) kbo(:, 1,58, 1) = (/ & &1.3112e-03_rb,1.2811e-03_rb,1.1274e-03_rb,8.2340e-04_rb,1.1519e-06_rb/) kbo(:, 2,58, 1) = (/ & &1.7518e-03_rb,1.7126e-03_rb,1.5045e-03_rb,1.0941e-03_rb,1.4467e-06_rb/) kbo(:, 3,58, 1) = (/ & &2.2498e-03_rb,2.2053e-03_rb,1.9345e-03_rb,1.3994e-03_rb,1.7445e-06_rb/) kbo(:, 4,58, 1) = (/ & &2.7980e-03_rb,2.7467e-03_rb,2.4064e-03_rb,1.7337e-03_rb,2.0427e-06_rb/) kbo(:, 5,58, 1) = (/ & &3.3868e-03_rb,3.3394e-03_rb,2.9224e-03_rb,2.0998e-03_rb,2.3542e-06_rb/) kbo(:, 1,59, 1) = (/ & &1.2094e-03_rb,1.1351e-03_rb,9.3340e-04_rb,6.0964e-04_rb,9.0654e-07_rb/) kbo(:, 2,59, 1) = (/ & &1.6257e-03_rb,1.5254e-03_rb,1.2509e-03_rb,8.1260e-04_rb,1.1440e-06_rb/) kbo(:, 3,59, 1) = (/ & &2.0981e-03_rb,1.9741e-03_rb,1.6151e-03_rb,1.0426e-03_rb,1.3852e-06_rb/) kbo(:, 4,59, 1) = (/ & &2.6203e-03_rb,2.4691e-03_rb,2.0150e-03_rb,1.2943e-03_rb,1.6270e-06_rb/) kbo(:, 5,59, 1) = (/ & &3.1814e-03_rb,3.0122e-03_rb,2.4540e-03_rb,1.5709e-03_rb,1.8687e-06_rb/) kbo(:, 1,13, 2) = (/ & &6.6529e+01_rb,4.9985e+01_rb,3.3446e+01_rb,1.6923e+01_rb,3.5914e-02_rb/) kbo(:, 2,13, 2) = (/ & &7.4095e+01_rb,5.5661e+01_rb,3.7226e+01_rb,1.8804e+01_rb,3.9958e-02_rb/) kbo(:, 3,13, 2) = (/ & &8.0840e+01_rb,6.0720e+01_rb,4.0598e+01_rb,2.0484e+01_rb,4.3881e-02_rb/) kbo(:, 4,13, 2) = (/ & &8.6396e+01_rb,6.4888e+01_rb,4.3378e+01_rb,2.1867e+01_rb,4.7563e-02_rb/) kbo(:, 5,13, 2) = (/ & &9.0642e+01_rb,6.8073e+01_rb,4.5503e+01_rb,2.2931e+01_rb,5.1188e-02_rb/) kbo(:, 1,14, 2) = (/ & &3.4987e+01_rb,2.6327e+01_rb,1.7678e+01_rb,9.0444e+00_rb,3.1025e-02_rb/) kbo(:, 2,14, 2) = (/ & &3.8934e+01_rb,2.9288e+01_rb,1.9648e+01_rb,1.0023e+01_rb,3.4459e-02_rb/) kbo(:, 3,14, 2) = (/ & &4.2399e+01_rb,3.1888e+01_rb,2.1376e+01_rb,1.0881e+01_rb,3.7786e-02_rb/) kbo(:, 4,14, 2) = (/ & &4.5141e+01_rb,3.3946e+01_rb,2.2749e+01_rb,1.1559e+01_rb,4.1037e-02_rb/) kbo(:, 5,14, 2) = (/ & &4.7193e+01_rb,3.5485e+01_rb,2.3775e+01_rb,1.2071e+01_rb,4.3970e-02_rb/) kbo(:, 1,15, 2) = (/ & &1.8797e+01_rb,1.4186e+01_rb,9.5905e+00_rb,4.9916e+00_rb,2.6741e-02_rb/) kbo(:, 2,15, 2) = (/ & &2.0897e+01_rb,1.5761e+01_rb,1.0636e+01_rb,5.5075e+00_rb,2.9658e-02_rb/) kbo(:, 3,15, 2) = (/ & &2.2675e+01_rb,1.7093e+01_rb,1.1518e+01_rb,5.9424e+00_rb,3.2475e-02_rb/) kbo(:, 4,15, 2) = (/ & &2.4040e+01_rb,1.8121e+01_rb,1.2200e+01_rb,6.2773e+00_rb,3.5159e-02_rb/) kbo(:, 5,15, 2) = (/ & &2.5038e+01_rb,1.8870e+01_rb,1.2700e+01_rb,6.5270e+00_rb,3.7635e-02_rb/) kbo(:, 1,16, 2) = (/ & &1.2062e+01_rb,9.1374e+00_rb,6.2260e+00_rb,3.2778e+00_rb,2.3010e-02_rb/) kbo(:, 2,16, 2) = (/ & &1.3368e+01_rb,1.0114e+01_rb,6.8731e+00_rb,3.5955e+00_rb,2.5515e-02_rb/) kbo(:, 3,16, 2) = (/ & &1.4432e+01_rb,1.0911e+01_rb,7.4005e+00_rb,3.8523e+00_rb,2.7873e-02_rb/) kbo(:, 4,16, 2) = (/ & &1.5210e+01_rb,1.1498e+01_rb,7.7878e+00_rb,4.0427e+00_rb,3.0096e-02_rb/) kbo(:, 5,16, 2) = (/ & &1.5795e+01_rb,1.1938e+01_rb,8.0810e+00_rb,4.1897e+00_rb,3.2123e-02_rb/) kbo(:, 1,17, 2) = (/ & &8.0343e+00_rb,6.1202e+00_rb,4.2057e+00_rb,2.2416e+00_rb,1.9722e-02_rb/) kbo(:, 2,17, 2) = (/ & &8.8550e+00_rb,6.7335e+00_rb,4.6112e+00_rb,2.4399e+00_rb,2.1833e-02_rb/) kbo(:, 3,17, 2) = (/ & &9.5028e+00_rb,7.2176e+00_rb,4.9290e+00_rb,2.5918e+00_rb,2.3771e-02_rb/) kbo(:, 4,17, 2) = (/ & &9.9681e+00_rb,7.5665e+00_rb,5.1592e+00_rb,2.7054e+00_rb,2.5587e-02_rb/) kbo(:, 5,17, 2) = (/ & &1.0341e+01_rb,7.8464e+00_rb,5.3464e+00_rb,2.7998e+00_rb,2.7262e-02_rb/) kbo(:, 1,18, 2) = (/ & &5.4784e+00_rb,4.2063e+00_rb,2.9118e+00_rb,1.5707e+00_rb,1.6843e-02_rb/) kbo(:, 2,18, 2) = (/ & &6.0003e+00_rb,4.5949e+00_rb,3.1671e+00_rb,1.6950e+00_rb,1.8568e-02_rb/) kbo(:, 3,18, 2) = (/ & &6.4044e+00_rb,4.8955e+00_rb,3.3617e+00_rb,1.7866e+00_rb,2.0170e-02_rb/) kbo(:, 4,18, 2) = (/ & &6.7000e+00_rb,5.1163e+00_rb,3.5087e+00_rb,1.8600e+00_rb,2.1658e-02_rb/) kbo(:, 5,18, 2) = (/ & &6.9467e+00_rb,5.3017e+00_rb,3.6339e+00_rb,1.9245e+00_rb,2.2992e-02_rb/) kbo(:, 1,19, 2) = (/ & &3.6607e+00_rb,2.8397e+00_rb,1.9832e+00_rb,1.0810e+00_rb,1.4294e-02_rb/) kbo(:, 2,19, 2) = (/ & &3.9888e+00_rb,3.0825e+00_rb,2.1422e+00_rb,1.1564e+00_rb,1.5700e-02_rb/) kbo(:, 3,19, 2) = (/ & &4.2403e+00_rb,3.2678e+00_rb,2.2604e+00_rb,1.2129e+00_rb,1.7026e-02_rb/) kbo(:, 4,19, 2) = (/ & &4.4304e+00_rb,3.4105e+00_rb,2.3562e+00_rb,1.2611e+00_rb,1.8223e-02_rb/) kbo(:, 5,19, 2) = (/ & &4.5892e+00_rb,3.5305e+00_rb,2.4376e+00_rb,1.3052e+00_rb,1.9250e-02_rb/) kbo(:, 1,20, 2) = (/ & &2.6484e+00_rb,2.0725e+00_rb,1.4576e+00_rb,7.9887e-01_rb,1.2095e-02_rb/) kbo(:, 2,20, 2) = (/ & &2.8723e+00_rb,2.2377e+00_rb,1.5638e+00_rb,8.4850e-01_rb,1.3258e-02_rb/) kbo(:, 3,20, 2) = (/ & &3.0432e+00_rb,2.3620e+00_rb,1.6433e+00_rb,8.8749e-01_rb,1.4323e-02_rb/) kbo(:, 4,20, 2) = (/ & &3.1766e+00_rb,2.4628e+00_rb,1.7113e+00_rb,9.2233e-01_rb,1.5251e-02_rb/) kbo(:, 5,20, 2) = (/ & &3.2896e+00_rb,2.5490e+00_rb,1.7710e+00_rb,9.5551e-01_rb,1.6040e-02_rb/) kbo(:, 1,21, 2) = (/ & &1.9737e+00_rb,1.5589e+00_rb,1.1005e+00_rb,6.0564e-01_rb,1.0202e-02_rb/) kbo(:, 2,21, 2) = (/ & &2.1324e+00_rb,1.6743e+00_rb,1.1736e+00_rb,6.4004e-01_rb,1.1146e-02_rb/) kbo(:, 3,21, 2) = (/ & &2.2543e+00_rb,1.7630e+00_rb,1.2313e+00_rb,6.6865e-01_rb,1.1981e-02_rb/) kbo(:, 4,21, 2) = (/ & &2.3508e+00_rb,1.8360e+00_rb,1.2809e+00_rb,6.9497e-01_rb,1.2686e-02_rb/) kbo(:, 5,21, 2) = (/ & &2.4312e+00_rb,1.8986e+00_rb,1.3258e+00_rb,7.2010e-01_rb,1.3291e-02_rb/) kbo(:, 1,22, 2) = (/ & &1.5156e+00_rb,1.2064e+00_rb,8.5276e-01_rb,4.7037e-01_rb,8.6256e-03_rb/) kbo(:, 2,22, 2) = (/ & &1.6299e+00_rb,1.2880e+00_rb,9.0439e-01_rb,4.9507e-01_rb,9.3659e-03_rb/) kbo(:, 3,22, 2) = (/ & &1.7167e+00_rb,1.3521e+00_rb,9.4701e-01_rb,5.1663e-01_rb,1.0004e-02_rb/) kbo(:, 4,22, 2) = (/ & &1.7876e+00_rb,1.4059e+00_rb,9.8421e-01_rb,5.3690e-01_rb,1.0541e-02_rb/) kbo(:, 5,22, 2) = (/ & &1.8482e+00_rb,1.4540e+00_rb,1.0190e+00_rb,5.5667e-01_rb,1.1012e-02_rb/) kbo(:, 1,23, 2) = (/ & &1.1701e+00_rb,9.3735e-01_rb,6.6344e-01_rb,3.6672e-01_rb,7.2585e-03_rb/) kbo(:, 2,23, 2) = (/ & &1.2526e+00_rb,9.9560e-01_rb,7.0066e-01_rb,3.8497e-01_rb,7.8298e-03_rb/) kbo(:, 3,23, 2) = (/ & &1.3157e+00_rb,1.0429e+00_rb,7.3247e-01_rb,4.0155e-01_rb,8.3206e-03_rb/) kbo(:, 4,23, 2) = (/ & &1.3685e+00_rb,1.0835e+00_rb,7.6114e-01_rb,4.1717e-01_rb,8.7383e-03_rb/) kbo(:, 5,23, 2) = (/ & &1.4146e+00_rb,1.1207e+00_rb,7.8818e-01_rb,4.3301e-01_rb,9.1036e-03_rb/) kbo(:, 1,24, 2) = (/ & &8.9949e-01_rb,7.2462e-01_rb,5.1357e-01_rb,2.8470e-01_rb,6.0789e-03_rb/) kbo(:, 2,24, 2) = (/ & &9.5867e-01_rb,7.6639e-01_rb,5.4063e-01_rb,2.9829e-01_rb,6.5218e-03_rb/) kbo(:, 3,24, 2) = (/ & &1.0042e+00_rb,8.0114e-01_rb,5.6436e-01_rb,3.1100e-01_rb,6.9029e-03_rb/) kbo(:, 4,24, 2) = (/ & &1.0431e+00_rb,8.3179e-01_rb,5.8619e-01_rb,3.2299e-01_rb,7.2295e-03_rb/) kbo(:, 5,24, 2) = (/ & &1.0790e+00_rb,8.6138e-01_rb,6.0791e-01_rb,3.3588e-01_rb,7.5120e-03_rb/) kbo(:, 1,25, 2) = (/ & &7.0112e-01_rb,5.6715e-01_rb,4.0233e-01_rb,2.2369e-01_rb,5.0763e-03_rb/) kbo(:, 2,25, 2) = (/ & &7.4350e-01_rb,5.9764e-01_rb,4.2250e-01_rb,2.3404e-01_rb,5.4222e-03_rb/) kbo(:, 3,25, 2) = (/ & &7.7710e-01_rb,6.2349e-01_rb,4.4048e-01_rb,2.4369e-01_rb,5.7195e-03_rb/) kbo(:, 4,25, 2) = (/ & &8.0619e-01_rb,6.4737e-01_rb,4.5753e-01_rb,2.5334e-01_rb,5.9744e-03_rb/) kbo(:, 5,25, 2) = (/ & &8.3531e-01_rb,6.7147e-01_rb,4.7545e-01_rb,2.6391e-01_rb,6.1951e-03_rb/) kbo(:, 1,26, 2) = (/ & &5.5605e-01_rb,4.5118e-01_rb,3.2039e-01_rb,1.7855e-01_rb,4.2346e-03_rb/) kbo(:, 2,26, 2) = (/ & &5.8683e-01_rb,4.7392e-01_rb,3.3566e-01_rb,1.8647e-01_rb,4.5042e-03_rb/) kbo(:, 3,26, 2) = (/ & &6.1229e-01_rb,4.9380e-01_rb,3.4972e-01_rb,1.9404e-01_rb,4.7382e-03_rb/) kbo(:, 4,26, 2) = (/ & &6.3488e-01_rb,5.1281e-01_rb,3.6343e-01_rb,2.0206e-01_rb,4.9373e-03_rb/) kbo(:, 5,26, 2) = (/ & &6.5886e-01_rb,5.3298e-01_rb,3.7847e-01_rb,2.1092e-01_rb,5.1112e-03_rb/) kbo(:, 1,27, 2) = (/ & &4.5766e-01_rb,3.7194e-01_rb,2.6418e-01_rb,1.4728e-01_rb,3.5266e-03_rb/) kbo(:, 2,27, 2) = (/ & &4.8116e-01_rb,3.8971e-01_rb,2.7627e-01_rb,1.5359e-01_rb,3.7388e-03_rb/) kbo(:, 3,27, 2) = (/ & &5.0141e-01_rb,4.0592e-01_rb,2.8779e-01_rb,1.5989e-01_rb,3.9220e-03_rb/) kbo(:, 4,27, 2) = (/ & &5.1998e-01_rb,4.2171e-01_rb,2.9940e-01_rb,1.6680e-01_rb,4.0803e-03_rb/) kbo(:, 5,27, 2) = (/ & &5.4049e-01_rb,4.3926e-01_rb,3.1241e-01_rb,1.7445e-01_rb,4.2171e-03_rb/) kbo(:, 1,28, 2) = (/ & &3.8656e-01_rb,3.1440e-01_rb,2.2322e-01_rb,1.2431e-01_rb,2.9341e-03_rb/) kbo(:, 2,28, 2) = (/ & &4.0539e-01_rb,3.2888e-01_rb,2.3321e-01_rb,1.2952e-01_rb,3.1008e-03_rb/) kbo(:, 3,28, 2) = (/ & &4.2208e-01_rb,3.4256e-01_rb,2.4291e-01_rb,1.3505e-01_rb,3.2456e-03_rb/) kbo(:, 4,28, 2) = (/ & &4.3788e-01_rb,3.5618e-01_rb,2.5311e-01_rb,1.4108e-01_rb,3.3707e-03_rb/) kbo(:, 5,28, 2) = (/ & &4.5599e-01_rb,3.7197e-01_rb,2.6475e-01_rb,1.4784e-01_rb,3.4778e-03_rb/) kbo(:, 1,29, 2) = (/ & &3.4663e-01_rb,2.8147e-01_rb,1.9935e-01_rb,1.1053e-01_rb,2.4407e-03_rb/) kbo(:, 2,29, 2) = (/ & &3.6288e-01_rb,2.9416e-01_rb,2.0825e-01_rb,1.1525e-01_rb,2.5726e-03_rb/) kbo(:, 3,29, 2) = (/ & &3.7738e-01_rb,3.0636e-01_rb,2.1696e-01_rb,1.2034e-01_rb,2.6876e-03_rb/) kbo(:, 4,29, 2) = (/ & &3.9208e-01_rb,3.1911e-01_rb,2.2648e-01_rb,1.2589e-01_rb,2.7881e-03_rb/) kbo(:, 5,29, 2) = (/ & &4.0886e-01_rb,3.3389e-01_rb,2.3740e-01_rb,1.3220e-01_rb,2.8698e-03_rb/) kbo(:, 1,30, 2) = (/ & &3.1859e-01_rb,2.5807e-01_rb,1.8226e-01_rb,1.0052e-01_rb,2.0286e-03_rb/) kbo(:, 2,30, 2) = (/ & &3.3300e-01_rb,2.6960e-01_rb,1.9038e-01_rb,1.0493e-01_rb,2.1345e-03_rb/) kbo(:, 3,30, 2) = (/ & &3.4608e-01_rb,2.8079e-01_rb,1.9849e-01_rb,1.0968e-01_rb,2.2264e-03_rb/) kbo(:, 4,30, 2) = (/ & &3.6002e-01_rb,2.9303e-01_rb,2.0760e-01_rb,1.1495e-01_rb,2.3052e-03_rb/) kbo(:, 5,30, 2) = (/ & &3.7616e-01_rb,3.0718e-01_rb,2.1802e-01_rb,1.2086e-01_rb,2.3703e-03_rb/) kbo(:, 1,31, 2) = (/ & &3.0804e-01_rb,2.4854e-01_rb,1.7488e-01_rb,9.5771e-02_rb,1.6879e-03_rb/) kbo(:, 2,31, 2) = (/ & &3.2148e-01_rb,2.5954e-01_rb,1.8261e-01_rb,1.0007e-01_rb,1.7724e-03_rb/) kbo(:, 3,31, 2) = (/ & &3.3418e-01_rb,2.7047e-01_rb,1.9064e-01_rb,1.0472e-01_rb,1.8461e-03_rb/) kbo(:, 4,31, 2) = (/ & &3.4816e-01_rb,2.8282e-01_rb,1.9976e-01_rb,1.0990e-01_rb,1.9082e-03_rb/) kbo(:, 5,31, 2) = (/ & &3.6451e-01_rb,2.9706e-01_rb,2.1019e-01_rb,1.1572e-01_rb,1.9578e-03_rb/) kbo(:, 1,32, 2) = (/ & &3.0134e-01_rb,2.4222e-01_rb,1.6982e-01_rb,9.2391e-02_rb,1.4045e-03_rb/) kbo(:, 2,32, 2) = (/ & &3.1413e-01_rb,2.5288e-01_rb,1.7732e-01_rb,9.6600e-02_rb,1.4719e-03_rb/) kbo(:, 3,32, 2) = (/ & &3.2677e-01_rb,2.6386e-01_rb,1.8545e-01_rb,1.0123e-01_rb,1.5309e-03_rb/) kbo(:, 4,32, 2) = (/ & &3.4104e-01_rb,2.7646e-01_rb,1.9466e-01_rb,1.0637e-01_rb,1.5796e-03_rb/) kbo(:, 5,32, 2) = (/ & &3.5782e-01_rb,2.9105e-01_rb,2.0529e-01_rb,1.1222e-01_rb,1.6199e-03_rb/) kbo(:, 1,33, 2) = (/ & &3.0007e-01_rb,2.4036e-01_rb,1.6789e-01_rb,9.0749e-02_rb,1.1692e-03_rb/) kbo(:, 2,33, 2) = (/ & &3.1257e-01_rb,2.5093e-01_rb,1.7540e-01_rb,9.4970e-02_rb,1.2231e-03_rb/) kbo(:, 3,33, 2) = (/ & &3.2551e-01_rb,2.6224e-01_rb,1.8373e-01_rb,9.9635e-02_rb,1.2703e-03_rb/) kbo(:, 4,33, 2) = (/ & &3.4043e-01_rb,2.7535e-01_rb,1.9325e-01_rb,1.0486e-01_rb,1.3103e-03_rb/) kbo(:, 5,33, 2) = (/ & &3.5814e-01_rb,2.9066e-01_rb,2.0432e-01_rb,1.1086e-01_rb,1.3413e-03_rb/) kbo(:, 1,34, 2) = (/ & &2.9092e-01_rb,2.3257e-01_rb,1.6200e-01_rb,8.7114e-02_rb,9.7104e-04_rb/) kbo(:, 2,34, 2) = (/ & &3.0301e-01_rb,2.4286e-01_rb,1.6939e-01_rb,9.1256e-02_rb,1.0146e-03_rb/) kbo(:, 3,34, 2) = (/ & &3.1600e-01_rb,2.5431e-01_rb,1.7773e-01_rb,9.5863e-02_rb,1.0532e-03_rb/) kbo(:, 4,34, 2) = (/ & &3.3116e-01_rb,2.6756e-01_rb,1.8732e-01_rb,1.0106e-01_rb,1.0840e-03_rb/) kbo(:, 5,34, 2) = (/ & &3.4944e-01_rb,2.8336e-01_rb,1.9862e-01_rb,1.0710e-01_rb,1.1076e-03_rb/) kbo(:, 1,35, 2) = (/ & &2.8133e-01_rb,2.2448e-01_rb,1.5598e-01_rb,8.3470e-02_rb,8.0326e-04_rb/) kbo(:, 2,35, 2) = (/ & &2.9315e-01_rb,2.3461e-01_rb,1.6327e-01_rb,8.7518e-02_rb,8.3948e-04_rb/) kbo(:, 3,35, 2) = (/ & &3.0606e-01_rb,2.4602e-01_rb,1.7152e-01_rb,9.2018e-02_rb,8.6953e-04_rb/) kbo(:, 4,35, 2) = (/ & &3.2135e-01_rb,2.5937e-01_rb,1.8112e-01_rb,9.7174e-02_rb,8.9330e-04_rb/) kbo(:, 5,35, 2) = (/ & &3.3996e-01_rb,2.7548e-01_rb,1.9256e-01_rb,1.0324e-01_rb,9.1326e-04_rb/) kbo(:, 1,36, 2) = (/ & &2.6927e-01_rb,2.1450e-01_rb,1.4871e-01_rb,7.9228e-02_rb,6.6044e-04_rb/) kbo(:, 2,36, 2) = (/ & &2.8072e-01_rb,2.2434e-01_rb,1.5577e-01_rb,8.3114e-02_rb,6.9019e-04_rb/) kbo(:, 3,36, 2) = (/ & &2.9329e-01_rb,2.3546e-01_rb,1.6379e-01_rb,8.7445e-02_rb,7.1471e-04_rb/) kbo(:, 4,36, 2) = (/ & &3.0843e-01_rb,2.4872e-01_rb,1.7326e-01_rb,9.2498e-02_rb,7.3506e-04_rb/) kbo(:, 5,36, 2) = (/ & &3.2685e-01_rb,2.6470e-01_rb,1.8459e-01_rb,9.8476e-02_rb,7.5121e-04_rb/) kbo(:, 1,37, 2) = (/ & &2.4965e-01_rb,1.9865e-01_rb,1.3749e-01_rb,7.2983e-02_rb,5.3914e-04_rb/) kbo(:, 2,37, 2) = (/ & &2.6042e-01_rb,2.0789e-01_rb,1.4407e-01_rb,7.6575e-02_rb,5.6372e-04_rb/) kbo(:, 3,37, 2) = (/ & &2.7217e-01_rb,2.1833e-01_rb,1.5157e-01_rb,8.0593e-02_rb,5.8448e-04_rb/) kbo(:, 4,37, 2) = (/ & &2.8633e-01_rb,2.3076e-01_rb,1.6043e-01_rb,8.5310e-02_rb,6.0216e-04_rb/) kbo(:, 5,37, 2) = (/ & &3.0356e-01_rb,2.4582e-01_rb,1.7110e-01_rb,9.0929e-02_rb,6.1615e-04_rb/) kbo(:, 1,38, 2) = (/ & &2.3485e-01_rb,1.8661e-01_rb,1.2891e-01_rb,6.8178e-02_rb,4.3970e-04_rb/) kbo(:, 2,38, 2) = (/ & &2.4515e-01_rb,1.9543e-01_rb,1.3515e-01_rb,7.1546e-02_rb,4.6052e-04_rb/) kbo(:, 3,38, 2) = (/ & &2.5629e-01_rb,2.0533e-01_rb,1.4225e-01_rb,7.5330e-02_rb,4.7811e-04_rb/) kbo(:, 4,38, 2) = (/ & &2.6971e-01_rb,2.1715e-01_rb,1.5065e-01_rb,7.9788e-02_rb,4.9330e-04_rb/) kbo(:, 5,38, 2) = (/ & &2.8605e-01_rb,2.3151e-01_rb,1.6083e-01_rb,8.5133e-02_rb,5.0547e-04_rb/) kbo(:, 1,39, 2) = (/ & &2.2602e-01_rb,1.7927e-01_rb,1.2358e-01_rb,6.5103e-02_rb,3.5893e-04_rb/) kbo(:, 2,39, 2) = (/ & &2.3611e-01_rb,1.8789e-01_rb,1.2965e-01_rb,6.8347e-02_rb,3.7626e-04_rb/) kbo(:, 3,39, 2) = (/ & &2.4693e-01_rb,1.9751e-01_rb,1.3653e-01_rb,7.1994e-02_rb,3.9112e-04_rb/) kbo(:, 4,39, 2) = (/ & &2.5998e-01_rb,2.0903e-01_rb,1.4470e-01_rb,7.6316e-02_rb,4.0431e-04_rb/) kbo(:, 5,39, 2) = (/ & &2.7577e-01_rb,2.2297e-01_rb,1.5458e-01_rb,8.1500e-02_rb,4.1520e-04_rb/) kbo(:, 1,40, 2) = (/ & &2.0347e-01_rb,1.6128e-01_rb,1.1107e-01_rb,5.8373e-02_rb,2.9088e-04_rb/) kbo(:, 2,40, 2) = (/ & &2.1275e-01_rb,1.6921e-01_rb,1.1659e-01_rb,6.1296e-02_rb,3.0550e-04_rb/) kbo(:, 3,40, 2) = (/ & &2.2248e-01_rb,1.7787e-01_rb,1.2279e-01_rb,6.4562e-02_rb,3.1830e-04_rb/) kbo(:, 4,40, 2) = (/ & &2.3419e-01_rb,1.8824e-01_rb,1.3013e-01_rb,6.8434e-02_rb,3.2975e-04_rb/) kbo(:, 5,40, 2) = (/ & &2.4824e-01_rb,2.0081e-01_rb,1.3903e-01_rb,7.3098e-02_rb,3.3913e-04_rb/) kbo(:, 1,41, 2) = (/ & &1.8258e-01_rb,1.4470e-01_rb,9.9535e-02_rb,5.2202e-02_rb,2.3535e-04_rb/) kbo(:, 2,41, 2) = (/ & &1.9113e-01_rb,1.5197e-01_rb,1.0458e-01_rb,5.4844e-02_rb,2.4773e-04_rb/) kbo(:, 3,41, 2) = (/ & &1.9995e-01_rb,1.5977e-01_rb,1.1015e-01_rb,5.7766e-02_rb,2.5866e-04_rb/) kbo(:, 4,41, 2) = (/ & &2.1035e-01_rb,1.6906e-01_rb,1.1672e-01_rb,6.1215e-02_rb,2.6866e-04_rb/) kbo(:, 5,41, 2) = (/ & &2.2281e-01_rb,1.8031e-01_rb,1.2469e-01_rb,6.5393e-02_rb,2.7675e-04_rb/) kbo(:, 1,42, 2) = (/ & &1.6555e-01_rb,1.3118e-01_rb,9.0125e-02_rb,4.7172e-02_rb,1.9035e-04_rb/) kbo(:, 2,42, 2) = (/ & &1.7351e-01_rb,1.3791e-01_rb,9.4797e-02_rb,4.9586e-02_rb,2.0086e-04_rb/) kbo(:, 3,42, 2) = (/ & &1.8167e-01_rb,1.4504e-01_rb,9.9843e-02_rb,5.2229e-02_rb,2.1016e-04_rb/) kbo(:, 4,42, 2) = (/ & &1.9101e-01_rb,1.5346e-01_rb,1.0581e-01_rb,5.5333e-02_rb,2.1875e-04_rb/) kbo(:, 5,42, 2) = (/ & &2.0220e-01_rb,1.6362e-01_rb,1.1299e-01_rb,5.9103e-02_rb,2.2587e-04_rb/) kbo(:, 1,43, 2) = (/ & &1.5093e-01_rb,1.1961e-01_rb,8.2075e-02_rb,4.2874e-02_rb,1.5326e-04_rb/) kbo(:, 2,43, 2) = (/ & &1.5853e-01_rb,1.2589e-01_rb,8.6428e-02_rb,4.5110e-02_rb,1.6227e-04_rb/) kbo(:, 3,43, 2) = (/ & &1.6609e-01_rb,1.3244e-01_rb,9.1034e-02_rb,4.7504e-02_rb,1.7029e-04_rb/) kbo(:, 4,43, 2) = (/ & &1.7452e-01_rb,1.4008e-01_rb,9.6428e-02_rb,5.0296e-02_rb,1.7773e-04_rb/) kbo(:, 5,43, 2) = (/ & &1.8456e-01_rb,1.4921e-01_rb,1.0290e-01_rb,5.3684e-02_rb,1.8398e-04_rb/) kbo(:, 1,44, 2) = (/ & &1.3921e-01_rb,1.1030e-01_rb,7.5620e-02_rb,3.9420e-02_rb,1.2316e-04_rb/) kbo(:, 2,44, 2) = (/ & &1.4661e-01_rb,1.1628e-01_rb,7.9723e-02_rb,4.1521e-02_rb,1.3084e-04_rb/) kbo(:, 3,44, 2) = (/ & &1.5377e-01_rb,1.2242e-01_rb,8.4004e-02_rb,4.3727e-02_rb,1.3764e-04_rb/) kbo(:, 4,44, 2) = (/ & &1.6148e-01_rb,1.2941e-01_rb,8.8933e-02_rb,4.6269e-02_rb,1.4416e-04_rb/) kbo(:, 5,44, 2) = (/ & &1.7060e-01_rb,1.3772e-01_rb,9.4815e-02_rb,4.9343e-02_rb,1.4964e-04_rb/) kbo(:, 1,45, 2) = (/ & &1.3086e-01_rb,1.0364e-01_rb,7.0980e-02_rb,3.6935e-02_rb,9.8771e-05_rb/) kbo(:, 2,45, 2) = (/ & &1.3832e-01_rb,1.0957e-01_rb,7.5010e-02_rb,3.8986e-02_rb,1.0533e-04_rb/) kbo(:, 3,45, 2) = (/ & &1.4520e-01_rb,1.1543e-01_rb,7.9072e-02_rb,4.1056e-02_rb,1.1127e-04_rb/) kbo(:, 4,45, 2) = (/ & &1.5249e-01_rb,1.2195e-01_rb,8.3674e-02_rb,4.3425e-02_rb,1.1690e-04_rb/) kbo(:, 5,45, 2) = (/ & &1.6094e-01_rb,1.2967e-01_rb,8.9124e-02_rb,4.6256e-02_rb,1.2176e-04_rb/) kbo(:, 1,46, 2) = (/ & &1.2395e-01_rb,9.8133e-02_rb,6.7135e-02_rb,3.4876e-02_rb,7.8972e-05_rb/) kbo(:, 2,46, 2) = (/ & &1.3154e-01_rb,1.0413e-01_rb,7.1186e-02_rb,3.6923e-02_rb,8.4580e-05_rb/) kbo(:, 3,46, 2) = (/ & &1.3835e-01_rb,1.0981e-01_rb,7.5111e-02_rb,3.8913e-02_rb,8.9707e-05_rb/) kbo(:, 4,46, 2) = (/ & &1.4539e-01_rb,1.1598e-01_rb,7.9454e-02_rb,4.1140e-02_rb,9.4570e-05_rb/) kbo(:, 5,46, 2) = (/ & &1.5328e-01_rb,1.2322e-01_rb,8.4552e-02_rb,4.3768e-02_rb,9.8952e-05_rb/) kbo(:, 1,47, 2) = (/ & &1.1561e-01_rb,9.1621e-02_rb,6.2646e-02_rb,3.2504e-02_rb,6.2836e-05_rb/) kbo(:, 2,47, 2) = (/ & &1.2359e-01_rb,9.7799e-02_rb,6.6803e-02_rb,3.4586e-02_rb,6.7612e-05_rb/) kbo(:, 3,47, 2) = (/ & &1.3036e-01_rb,1.0330e-01_rb,7.0567e-02_rb,3.6497e-02_rb,7.2040e-05_rb/) kbo(:, 4,47, 2) = (/ & &1.3710e-01_rb,1.0912e-01_rb,7.4632e-02_rb,3.8567e-02_rb,7.6196e-05_rb/) kbo(:, 5,47, 2) = (/ & &1.4440e-01_rb,1.1580e-01_rb,7.9334e-02_rb,4.0981e-02_rb,8.0080e-05_rb/) kbo(:, 1,48, 2) = (/ & &1.1035e-01_rb,8.7581e-02_rb,5.9868e-02_rb,3.1032e-02_rb,4.9884e-05_rb/) kbo(:, 2,48, 2) = (/ & &1.1928e-01_rb,9.4310e-02_rb,6.4353e-02_rb,3.3267e-02_rb,5.4019e-05_rb/) kbo(:, 3,48, 2) = (/ & &1.2628e-01_rb,9.9898e-02_rb,6.8156e-02_rb,3.5187e-02_rb,5.7777e-05_rb/) kbo(:, 4,48, 2) = (/ & &1.3294e-01_rb,1.0557e-01_rb,7.2080e-02_rb,3.7168e-02_rb,6.1393e-05_rb/) kbo(:, 5,48, 2) = (/ & &1.3996e-01_rb,1.1191e-01_rb,7.6553e-02_rb,3.9465e-02_rb,6.4815e-05_rb/) kbo(:, 1,49, 2) = (/ & &1.0914e-01_rb,8.6684e-02_rb,5.9236e-02_rb,3.0679e-02_rb,3.9521e-05_rb/) kbo(:, 2,49, 2) = (/ & &1.1962e-01_rb,9.4485e-02_rb,6.4406e-02_rb,3.3233e-02_rb,4.3077e-05_rb/) kbo(:, 3,49, 2) = (/ & &1.2732e-01_rb,1.0058e-01_rb,6.8523e-02_rb,3.5308e-02_rb,4.6318e-05_rb/) kbo(:, 4,49, 2) = (/ & &1.3429e-01_rb,1.0636e-01_rb,7.2504e-02_rb,3.7320e-02_rb,4.9451e-05_rb/) kbo(:, 5,49, 2) = (/ & &1.4147e-01_rb,1.1268e-01_rb,7.6951e-02_rb,3.9591e-02_rb,5.2405e-05_rb/) kbo(:, 1,50, 2) = (/ & &1.0267e-01_rb,8.1582e-02_rb,5.5735e-02_rb,2.8850e-02_rb,3.1268e-05_rb/) kbo(:, 2,50, 2) = (/ & &1.1402e-01_rb,9.0165e-02_rb,6.1437e-02_rb,3.1671e-02_rb,3.4319e-05_rb/) kbo(:, 3,50, 2) = (/ & &1.2234e-01_rb,9.6602e-02_rb,6.5766e-02_rb,3.3840e-02_rb,3.7076e-05_rb/) kbo(:, 4,50, 2) = (/ & &1.2939e-01_rb,1.0230e-01_rb,6.9668e-02_rb,3.5813e-02_rb,3.9737e-05_rb/) kbo(:, 5,50, 2) = (/ & &1.3639e-01_rb,1.0837e-01_rb,7.3903e-02_rb,3.7967e-02_rb,4.2232e-05_rb/) kbo(:, 1,51, 2) = (/ & &9.4284e-02_rb,7.4953e-02_rb,5.1186e-02_rb,2.6482e-02_rb,2.4659e-05_rb/) kbo(:, 2,51, 2) = (/ & &1.0593e-01_rb,8.3948e-02_rb,5.7209e-02_rb,2.9486e-02_rb,2.7298e-05_rb/) kbo(:, 3,51, 2) = (/ & &1.1492e-01_rb,9.0727e-02_rb,6.1733e-02_rb,3.1740e-02_rb,2.9657e-05_rb/) kbo(:, 4,51, 2) = (/ & &1.2197e-01_rb,9.6371e-02_rb,6.5573e-02_rb,3.3673e-02_rb,3.1882e-05_rb/) kbo(:, 5,51, 2) = (/ & &1.2870e-01_rb,1.0212e-01_rb,6.9569e-02_rb,3.5694e-02_rb,3.4030e-05_rb/) kbo(:, 1,52, 2) = (/ & &8.8743e-02_rb,7.0542e-02_rb,4.8148e-02_rb,2.4885e-02_rb,1.9415e-05_rb/) kbo(:, 2,52, 2) = (/ & &1.0078e-01_rb,7.9976e-02_rb,5.4503e-02_rb,2.8085e-02_rb,2.1689e-05_rb/) kbo(:, 3,52, 2) = (/ & &1.1078e-01_rb,8.7454e-02_rb,5.9476e-02_rb,3.0551e-02_rb,2.3703e-05_rb/) kbo(:, 4,52, 2) = (/ & &1.1817e-01_rb,9.3325e-02_rb,6.3448e-02_rb,3.2545e-02_rb,2.5596e-05_rb/) kbo(:, 5,52, 2) = (/ & &1.2490e-01_rb,9.8940e-02_rb,6.7340e-02_rb,3.4514e-02_rb,2.7422e-05_rb/) kbo(:, 1,53, 2) = (/ & &8.6662e-02_rb,6.8864e-02_rb,4.6962e-02_rb,2.4236e-02_rb,1.5263e-05_rb/) kbo(:, 2,53, 2) = (/ & &9.9515e-02_rb,7.8952e-02_rb,5.3787e-02_rb,2.7692e-02_rb,1.7200e-05_rb/) kbo(:, 3,53, 2) = (/ & &1.1085e-01_rb,8.7554e-02_rb,5.9520e-02_rb,3.0542e-02_rb,1.8920e-05_rb/) kbo(:, 4,53, 2) = (/ & &1.1918e-01_rb,9.4022e-02_rb,6.3885e-02_rb,3.2726e-02_rb,2.0582e-05_rb/) kbo(:, 5,53, 2) = (/ & &1.2628e-01_rb,9.9818e-02_rb,6.7862e-02_rb,3.4747e-02_rb,2.2128e-05_rb/) kbo(:, 1,54, 2) = (/ & &7.3195e-02_rb,5.8286e-02_rb,3.9755e-02_rb,2.0520e-02_rb,1.1967e-05_rb/) kbo(:, 2,54, 2) = (/ & &8.4972e-02_rb,6.7544e-02_rb,4.6023e-02_rb,2.3702e-02_rb,1.3585e-05_rb/) kbo(:, 3,54, 2) = (/ & &9.5709e-02_rb,7.5855e-02_rb,5.1595e-02_rb,2.6489e-02_rb,1.5051e-05_rb/) kbo(:, 4,54, 2) = (/ & &1.0394e-01_rb,8.2096e-02_rb,5.5779e-02_rb,2.8575e-02_rb,1.6406e-05_rb/) kbo(:, 5,54, 2) = (/ & &1.1051e-01_rb,8.7391e-02_rb,5.9394e-02_rb,3.0393e-02_rb,1.7745e-05_rb/) kbo(:, 1,55, 2) = (/ & &5.6277e-02_rb,4.4947e-02_rb,3.0672e-02_rb,1.5850e-02_rb,9.3585e-06_rb/) kbo(:, 2,55, 2) = (/ & &6.6102e-02_rb,5.2729e-02_rb,3.5949e-02_rb,1.8531e-02_rb,1.0684e-05_rb/) kbo(:, 3,55, 2) = (/ & &7.5193e-02_rb,5.9877e-02_rb,4.0765e-02_rb,2.0959e-02_rb,1.1938e-05_rb/) kbo(:, 4,55, 2) = (/ & &8.2620e-02_rb,6.5458e-02_rb,4.4488e-02_rb,2.2798e-02_rb,1.3050e-05_rb/) kbo(:, 5,55, 2) = (/ & &8.8216e-02_rb,6.9936e-02_rb,4.7530e-02_rb,2.4316e-02_rb,1.4154e-05_rb/) kbo(:, 1,56, 2) = (/ & &4.3039e-02_rb,3.4453e-02_rb,2.3524e-02_rb,1.2170e-02_rb,7.2880e-06_rb/) kbo(:, 2,56, 2) = (/ & &5.1258e-02_rb,4.1038e-02_rb,2.7994e-02_rb,1.4446e-02_rb,8.3961e-06_rb/) kbo(:, 3,56, 2) = (/ & &5.8906e-02_rb,4.7098e-02_rb,3.2089e-02_rb,1.6519e-02_rb,9.4488e-06_rb/) kbo(:, 4,56, 2) = (/ & &6.5506e-02_rb,5.2094e-02_rb,3.5421e-02_rb,1.8161e-02_rb,1.0382e-05_rb/) kbo(:, 5,56, 2) = (/ & &7.0360e-02_rb,5.5940e-02_rb,3.8018e-02_rb,1.9445e-02_rb,1.1248e-05_rb/) kbo(:, 1,57, 2) = (/ & &3.2674e-02_rb,2.6237e-02_rb,1.7922e-02_rb,9.2805e-03_rb,5.6715e-06_rb/) kbo(:, 2,57, 2) = (/ & &3.9609e-02_rb,3.1835e-02_rb,2.1730e-02_rb,1.1223e-02_rb,6.5904e-06_rb/) kbo(:, 3,57, 2) = (/ & &4.6006e-02_rb,3.6922e-02_rb,2.5172e-02_rb,1.2973e-02_rb,7.4542e-06_rb/) kbo(:, 4,57, 2) = (/ & &5.1740e-02_rb,4.1352e-02_rb,2.8137e-02_rb,1.4436e-02_rb,8.2537e-06_rb/) kbo(:, 5,57, 2) = (/ & &5.6054e-02_rb,4.4686e-02_rb,3.0382e-02_rb,1.5541e-02_rb,8.9675e-06_rb/) kbo(:, 1,58, 2) = (/ & &6.5163e-03_rb,6.4215e-03_rb,5.6470e-03_rb,4.1032e-03_rb,4.4127e-06_rb/) kbo(:, 2,58, 2) = (/ & &8.0617e-03_rb,7.9508e-03_rb,6.9853e-03_rb,5.0619e-03_rb,5.1550e-06_rb/) kbo(:, 3,58, 2) = (/ & &9.4685e-03_rb,9.3297e-03_rb,8.1872e-03_rb,5.9187e-03_rb,5.8809e-06_rb/) kbo(:, 4,58, 2) = (/ & &1.0753e-02_rb,1.0568e-02_rb,9.2585e-03_rb,6.6629e-03_rb,6.5571e-06_rb/) kbo(:, 5,58, 2) = (/ & &1.1773e-02_rb,1.1514e-02_rb,1.0073e-02_rb,7.2198e-03_rb,7.1478e-06_rb/) kbo(:, 1,59, 2) = (/ & &6.0678e-03_rb,5.7484e-03_rb,4.7181e-03_rb,3.0625e-03_rb,3.5292e-06_rb/) kbo(:, 2,59, 2) = (/ & &7.5775e-03_rb,7.1843e-03_rb,5.8871e-03_rb,3.8076e-03_rb,4.1244e-06_rb/) kbo(:, 3,59, 2) = (/ & &8.9504e-03_rb,8.4793e-03_rb,6.9385e-03_rb,4.4706e-03_rb,4.7056e-06_rb/) kbo(:, 4,59, 2) = (/ & &1.0202e-02_rb,9.6400e-03_rb,7.8732e-03_rb,5.0416e-03_rb,5.2546e-06_rb/) kbo(:, 5,59, 2) = (/ & &1.1221e-02_rb,1.0539e-02_rb,8.5853e-03_rb,5.4711e-03_rb,5.7591e-06_rb/) kbo(:, 1,13, 3) = (/ & &1.3886e+02_rb,1.0424e+02_rb,6.9618e+01_rb,3.4998e+01_rb,6.8908e-02_rb/) kbo(:, 2,13, 3) = (/ & &1.3847e+02_rb,1.0394e+02_rb,6.9423e+01_rb,3.4905e+01_rb,7.3584e-02_rb/) kbo(:, 3,13, 3) = (/ & &1.3854e+02_rb,1.0400e+02_rb,6.9461e+01_rb,3.4924e+01_rb,7.8137e-02_rb/) kbo(:, 4,13, 3) = (/ & &1.4034e+02_rb,1.0534e+02_rb,7.0354e+01_rb,3.5368e+01_rb,8.2835e-02_rb/) kbo(:, 5,13, 3) = (/ & &1.4333e+02_rb,1.0759e+02_rb,7.1853e+01_rb,3.6116e+01_rb,8.7500e-02_rb/) kbo(:, 1,14, 3) = (/ & &7.1765e+01_rb,5.3918e+01_rb,3.6073e+01_rb,1.8228e+01_rb,5.9867e-02_rb/) kbo(:, 2,14, 3) = (/ & &7.1567e+01_rb,5.3771e+01_rb,3.5977e+01_rb,1.8183e+01_rb,6.3947e-02_rb/) kbo(:, 3,14, 3) = (/ & &7.1902e+01_rb,5.4021e+01_rb,3.6141e+01_rb,1.8266e+01_rb,6.8160e-02_rb/) kbo(:, 4,14, 3) = (/ & &7.3101e+01_rb,5.4919e+01_rb,3.6739e+01_rb,1.8569e+01_rb,7.2138e-02_rb/) kbo(:, 5,14, 3) = (/ & &7.4813e+01_rb,5.6202e+01_rb,3.7593e+01_rb,1.8992e+01_rb,7.6299e-02_rb/) kbo(:, 1,15, 3) = (/ & &3.7762e+01_rb,2.8418e+01_rb,1.9073e+01_rb,9.7323e+00_rb,5.1937e-02_rb/) kbo(:, 2,15, 3) = (/ & &3.7725e+01_rb,2.8390e+01_rb,1.9057e+01_rb,9.7303e+00_rb,5.5591e-02_rb/) kbo(:, 3,15, 3) = (/ & &3.8048e+01_rb,2.8634e+01_rb,1.9221e+01_rb,9.8224e+00_rb,5.9263e-02_rb/) kbo(:, 4,15, 3) = (/ & &3.8784e+01_rb,2.9182e+01_rb,1.9585e+01_rb,1.0010e+01_rb,6.2883e-02_rb/) kbo(:, 5,15, 3) = (/ & &3.9804e+01_rb,2.9945e+01_rb,2.0089e+01_rb,1.0260e+01_rb,6.6326e-02_rb/) kbo(:, 1,16, 3) = (/ & &2.3667e+01_rb,1.7845e+01_rb,1.2024e+01_rb,6.2150e+00_rb,4.4961e-02_rb/) kbo(:, 2,16, 3) = (/ & &2.3710e+01_rb,1.7881e+01_rb,1.2053e+01_rb,6.2413e+00_rb,4.8227e-02_rb/) kbo(:, 3,16, 3) = (/ & &2.3983e+01_rb,1.8085e+01_rb,1.2193e+01_rb,6.3263e+00_rb,5.1418e-02_rb/) kbo(:, 4,16, 3) = (/ & &2.4541e+01_rb,1.8499e+01_rb,1.2468e+01_rb,6.4708e+00_rb,5.4587e-02_rb/) kbo(:, 5,16, 3) = (/ & &2.5247e+01_rb,1.9026e+01_rb,1.2815e+01_rb,6.6457e+00_rb,5.7578e-02_rb/) kbo(:, 1,17, 3) = (/ & &1.5411e+01_rb,1.1654e+01_rb,7.9029e+00_rb,4.1290e+00_rb,3.8761e-02_rb/) kbo(:, 2,17, 3) = (/ & &1.5483e+01_rb,1.1712e+01_rb,7.9484e+00_rb,4.1656e+00_rb,4.1564e-02_rb/) kbo(:, 3,17, 3) = (/ & &1.5715e+01_rb,1.1885e+01_rb,8.0713e+00_rb,4.2451e+00_rb,4.4369e-02_rb/) kbo(:, 4,17, 3) = (/ & &1.6109e+01_rb,1.2177e+01_rb,8.2663e+00_rb,4.3534e+00_rb,4.7100e-02_rb/) kbo(:, 5,17, 3) = (/ & &1.6611e+01_rb,1.2551e+01_rb,8.5125e+00_rb,4.4825e+00_rb,4.9594e-02_rb/) kbo(:, 1,18, 3) = (/ & &1.0325e+01_rb,7.8390e+00_rb,5.3612e+00_rb,2.8294e+00_rb,3.3186e-02_rb/) kbo(:, 2,18, 3) = (/ & &1.0398e+01_rb,7.8984e+00_rb,5.4111e+00_rb,2.8675e+00_rb,3.5625e-02_rb/) kbo(:, 3,18, 3) = (/ & &1.0571e+01_rb,8.0297e+00_rb,5.5102e+00_rb,2.9332e+00_rb,3.8042e-02_rb/) kbo(:, 4,18, 3) = (/ & &1.0854e+01_rb,8.2395e+00_rb,5.6528e+00_rb,3.0140e+00_rb,4.0327e-02_rb/) kbo(:, 5,18, 3) = (/ & &1.1221e+01_rb,8.5111e+00_rb,5.8333e+00_rb,3.1124e+00_rb,4.2414e-02_rb/) kbo(:, 1,19, 3) = (/ & &6.8208e+00_rb,5.2153e+00_rb,3.5957e+00_rb,1.9227e+00_rb,2.8261e-02_rb/) kbo(:, 2,19, 3) = (/ & &6.8751e+00_rb,5.2621e+00_rb,3.6379e+00_rb,1.9560e+00_rb,3.0383e-02_rb/) kbo(:, 3,19, 3) = (/ & &7.0006e+00_rb,5.3588e+00_rb,3.7145e+00_rb,2.0054e+00_rb,3.2394e-02_rb/) kbo(:, 4,19, 3) = (/ & &7.2016e+00_rb,5.5069e+00_rb,3.8180e+00_rb,2.0649e+00_rb,3.4293e-02_rb/) kbo(:, 5,19, 3) = (/ & &7.4662e+00_rb,5.7018e+00_rb,3.9518e+00_rb,2.1403e+00_rb,3.6047e-02_rb/) kbo(:, 1,20, 3) = (/ & &4.8794e+00_rb,3.7616e+00_rb,2.6099e+00_rb,1.4082e+00_rb,2.4010e-02_rb/) kbo(:, 2,20, 3) = (/ & &4.9222e+00_rb,3.8008e+00_rb,2.6471e+00_rb,1.4364e+00_rb,2.5795e-02_rb/) kbo(:, 3,20, 3) = (/ & &5.0241e+00_rb,3.8811e+00_rb,2.7106e+00_rb,1.4758e+00_rb,2.7487e-02_rb/) kbo(:, 4,20, 3) = (/ & &5.1822e+00_rb,3.9983e+00_rb,2.7942e+00_rb,1.5252e+00_rb,2.9078e-02_rb/) kbo(:, 5,20, 3) = (/ & &5.3938e+00_rb,4.1543e+00_rb,2.9036e+00_rb,1.5872e+00_rb,3.0457e-02_rb/) kbo(:, 1,21, 3) = (/ & &3.5976e+00_rb,2.7957e+00_rb,1.9525e+00_rb,1.0602e+00_rb,2.0310e-02_rb/) kbo(:, 2,21, 3) = (/ & &3.6356e+00_rb,2.8321e+00_rb,1.9867e+00_rb,1.0846e+00_rb,2.1803e-02_rb/) kbo(:, 3,21, 3) = (/ & &3.7222e+00_rb,2.9011e+00_rb,2.0401e+00_rb,1.1175e+00_rb,2.3227e-02_rb/) kbo(:, 4,21, 3) = (/ & &3.8497e+00_rb,2.9972e+00_rb,2.1098e+00_rb,1.1593e+00_rb,2.4505e-02_rb/) kbo(:, 5,21, 3) = (/ & &4.0214e+00_rb,3.1255e+00_rb,2.2004e+00_rb,1.2111e+00_rb,2.5550e-02_rb/) kbo(:, 1,22, 3) = (/ & &2.7203e+00_rb,2.1314e+00_rb,1.4964e+00_rb,8.1782e-01_rb,1.7205e-02_rb/) kbo(:, 2,22, 3) = (/ & &2.7584e+00_rb,2.1682e+00_rb,1.5287e+00_rb,8.3963e-01_rb,1.8458e-02_rb/) kbo(:, 3,22, 3) = (/ & &2.8354e+00_rb,2.2296e+00_rb,1.5749e+00_rb,8.6850e-01_rb,1.9598e-02_rb/) kbo(:, 4,22, 3) = (/ & &2.9415e+00_rb,2.3111e+00_rb,1.6346e+00_rb,9.0426e-01_rb,2.0559e-02_rb/) kbo(:, 5,22, 3) = (/ & &3.0867e+00_rb,2.4212e+00_rb,1.7134e+00_rb,9.4960e-01_rb,2.1311e-02_rb/) kbo(:, 1,23, 3) = (/ & &2.0695e+00_rb,1.6369e+00_rb,1.1532e+00_rb,6.3485e-01_rb,1.4544e-02_rb/) kbo(:, 2,23, 3) = (/ & &2.1080e+00_rb,1.6730e+00_rb,1.1833e+00_rb,6.5423e-01_rb,1.5557e-02_rb/) kbo(:, 3,23, 3) = (/ & &2.1745e+00_rb,1.7262e+00_rb,1.2233e+00_rb,6.7947e-01_rb,1.6419e-02_rb/) kbo(:, 4,23, 3) = (/ & &2.2647e+00_rb,1.7970e+00_rb,1.2752e+00_rb,7.1089e-01_rb,1.7120e-02_rb/) kbo(:, 5,23, 3) = (/ & &2.3823e+00_rb,1.8879e+00_rb,1.3412e+00_rb,7.4903e-01_rb,1.7674e-02_rb/) kbo(:, 1,24, 3) = (/ & &1.5697e+00_rb,1.2531e+00_rb,8.8637e-01_rb,4.9139e-01_rb,1.2257e-02_rb/) kbo(:, 2,24, 3) = (/ & &1.6055e+00_rb,1.2864e+00_rb,9.1332e-01_rb,5.0866e-01_rb,1.3031e-02_rb/) kbo(:, 3,24, 3) = (/ & &1.6631e+00_rb,1.3329e+00_rb,9.4834e-01_rb,5.3086e-01_rb,1.3670e-02_rb/) kbo(:, 4,24, 3) = (/ & &1.7374e+00_rb,1.3923e+00_rb,9.9245e-01_rb,5.5764e-01_rb,1.4194e-02_rb/) kbo(:, 5,24, 3) = (/ & &1.8327e+00_rb,1.4671e+00_rb,1.0467e+00_rb,5.8890e-01_rb,1.4611e-02_rb/) kbo(:, 1,25, 3) = (/ & &1.2086e+00_rb,9.7309e-01_rb,6.9155e-01_rb,3.8568e-01_rb,1.0281e-02_rb/) kbo(:, 2,25, 3) = (/ & &1.2420e+00_rb,1.0035e+00_rb,7.1528e-01_rb,4.0109e-01_rb,1.0857e-02_rb/) kbo(:, 3,25, 3) = (/ & &1.2906e+00_rb,1.0433e+00_rb,7.4566e-01_rb,4.2042e-01_rb,1.1339e-02_rb/) kbo(:, 4,25, 3) = (/ & &1.3533e+00_rb,1.0941e+00_rb,7.8339e-01_rb,4.4308e-01_rb,1.1737e-02_rb/) kbo(:, 5,25, 3) = (/ & &1.4315e+00_rb,1.1563e+00_rb,8.2868e-01_rb,4.6855e-01_rb,1.2054e-02_rb/) kbo(:, 1,26, 3) = (/ & &9.4867e-01_rb,7.6987e-01_rb,5.4929e-01_rb,3.0788e-01_rb,8.5827e-03_rb/) kbo(:, 2,26, 3) = (/ & &9.7957e-01_rb,7.9721e-01_rb,5.7050e-01_rb,3.2189e-01_rb,9.0225e-03_rb/) kbo(:, 3,26, 3) = (/ & &1.0209e+00_rb,8.3198e-01_rb,5.9699e-01_rb,3.3862e-01_rb,9.3908e-03_rb/) kbo(:, 4,26, 3) = (/ & &1.0742e+00_rb,8.7561e-01_rb,6.2951e-01_rb,3.5776e-01_rb,9.6952e-03_rb/) kbo(:, 5,26, 3) = (/ & &1.1410e+00_rb,9.2907e-01_rb,6.6837e-01_rb,3.7907e-01_rb,9.9345e-03_rb/) kbo(:, 1,27, 3) = (/ & &7.7558e-01_rb,6.3324e-01_rb,4.5279e-01_rb,2.5468e-01_rb,7.1414e-03_rb/) kbo(:, 2,27, 3) = (/ & &8.0374e-01_rb,6.5793e-01_rb,4.7219e-01_rb,2.6746e-01_rb,7.4832e-03_rb/) kbo(:, 3,27, 3) = (/ & &8.4002e-01_rb,6.8874e-01_rb,4.9567e-01_rb,2.8203e-01_rb,7.7674e-03_rb/) kbo(:, 4,27, 3) = (/ & &8.8798e-01_rb,7.2827e-01_rb,5.2483e-01_rb,2.9866e-01_rb,7.9993e-03_rb/) kbo(:, 5,27, 3) = (/ & &9.4670e-01_rb,7.7585e-01_rb,5.5890e-01_rb,3.1722e-01_rb,8.1810e-03_rb/) kbo(:, 1,28, 3) = (/ & &6.5247e-01_rb,5.3505e-01_rb,3.8309e-01_rb,2.1606e-01_rb,5.9313e-03_rb/) kbo(:, 2,28, 3) = (/ & &6.7805e-01_rb,5.5765e-01_rb,4.0088e-01_rb,2.2763e-01_rb,6.1964e-03_rb/) kbo(:, 3,28, 3) = (/ & &7.1138e-01_rb,5.8602e-01_rb,4.2234e-01_rb,2.4051e-01_rb,6.4170e-03_rb/) kbo(:, 4,28, 3) = (/ & &7.5565e-01_rb,6.2271e-01_rb,4.4913e-01_rb,2.5531e-01_rb,6.5956e-03_rb/) kbo(:, 5,28, 3) = (/ & &8.0810e-01_rb,6.6536e-01_rb,4.7931e-01_rb,2.7186e-01_rb,6.7356e-03_rb/) kbo(:, 1,29, 3) = (/ & &5.8359e-01_rb,4.7922e-01_rb,3.4299e-01_rb,1.9330e-01_rb,4.9222e-03_rb/) kbo(:, 2,29, 3) = (/ & &6.0836e-01_rb,5.0105e-01_rb,3.5992e-01_rb,2.0402e-01_rb,5.1279e-03_rb/) kbo(:, 3,29, 3) = (/ & &6.4169e-01_rb,5.2929e-01_rb,3.8096e-01_rb,2.1613e-01_rb,5.2989e-03_rb/) kbo(:, 4,29, 3) = (/ & &6.8418e-01_rb,5.6479e-01_rb,4.0659e-01_rb,2.3010e-01_rb,5.4376e-03_rb/) kbo(:, 5,29, 3) = (/ & &7.3388e-01_rb,6.0487e-01_rb,4.3487e-01_rb,2.4554e-01_rb,5.5459e-03_rb/) kbo(:, 1,30, 3) = (/ & &5.3559e-01_rb,4.3987e-01_rb,3.1446e-01_rb,1.7681e-01_rb,4.0812e-03_rb/) kbo(:, 2,30, 3) = (/ & &5.6092e-01_rb,4.6195e-01_rb,3.3123e-01_rb,1.8699e-01_rb,4.2410e-03_rb/) kbo(:, 3,30, 3) = (/ & &5.9467e-01_rb,4.9061e-01_rb,3.5234e-01_rb,1.9880e-01_rb,4.3756e-03_rb/) kbo(:, 4,30, 3) = (/ & &6.3620e-01_rb,5.2529e-01_rb,3.7692e-01_rb,2.1218e-01_rb,4.4820e-03_rb/) kbo(:, 5,30, 3) = (/ & &6.8416e-01_rb,5.6390e-01_rb,4.0420e-01_rb,2.2692e-01_rb,4.5637e-03_rb/) kbo(:, 1,31, 3) = (/ & &5.1816e-01_rb,4.2464e-01_rb,3.0261e-01_rb,1.6922e-01_rb,3.3825e-03_rb/) kbo(:, 2,31, 3) = (/ & &5.4536e-01_rb,4.4814e-01_rb,3.2013e-01_rb,1.7945e-01_rb,3.5084e-03_rb/) kbo(:, 3,31, 3) = (/ & &5.8079e-01_rb,4.7822e-01_rb,3.4203e-01_rb,1.9145e-01_rb,3.6133e-03_rb/) kbo(:, 4,31, 3) = (/ & &6.2360e-01_rb,5.1355e-01_rb,3.6685e-01_rb,2.0495e-01_rb,3.6964e-03_rb/) kbo(:, 5,31, 3) = (/ & &6.7136e-01_rb,5.5242e-01_rb,3.9433e-01_rb,2.1968e-01_rb,3.7632e-03_rb/) kbo(:, 1,32, 3) = (/ & &5.0836e-01_rb,4.1565e-01_rb,2.9513e-01_rb,1.6401e-01_rb,2.8023e-03_rb/) kbo(:, 2,32, 3) = (/ & &5.3755e-01_rb,4.4081e-01_rb,3.1373e-01_rb,1.7458e-01_rb,2.9031e-03_rb/) kbo(:, 3,32, 3) = (/ & &5.7518e-01_rb,4.7260e-01_rb,3.3647e-01_rb,1.8685e-01_rb,2.9841e-03_rb/) kbo(:, 4,32, 3) = (/ & &6.1917e-01_rb,5.0863e-01_rb,3.6188e-01_rb,2.0060e-01_rb,3.0523e-03_rb/) kbo(:, 5,32, 3) = (/ & &6.6737e-01_rb,5.4799e-01_rb,3.8954e-01_rb,2.1543e-01_rb,3.1032e-03_rb/) kbo(:, 1,33, 3) = (/ & &5.0907e-01_rb,4.1513e-01_rb,2.9365e-01_rb,1.6205e-01_rb,2.3233e-03_rb/) kbo(:, 2,33, 3) = (/ & &5.4095e-01_rb,4.4243e-01_rb,3.1363e-01_rb,1.7315e-01_rb,2.4017e-03_rb/) kbo(:, 3,33, 3) = (/ & &5.8099e-01_rb,4.7617e-01_rb,3.3742e-01_rb,1.8595e-01_rb,2.4676e-03_rb/) kbo(:, 4,33, 3) = (/ & &6.2648e-01_rb,5.1328e-01_rb,3.6375e-01_rb,2.0009e-01_rb,2.5196e-03_rb/) kbo(:, 5,33, 3) = (/ & &6.7646e-01_rb,5.5394e-01_rb,3.9218e-01_rb,2.1533e-01_rb,2.5609e-03_rb/) kbo(:, 1,34, 3) = (/ & &4.9704e-01_rb,4.0480e-01_rb,2.8555e-01_rb,1.5673e-01_rb,1.9225e-03_rb/) kbo(:, 2,34, 3) = (/ & &5.3069e-01_rb,4.3364e-01_rb,3.0643e-01_rb,1.6807e-01_rb,1.9847e-03_rb/) kbo(:, 3,34, 3) = (/ & &5.7151e-01_rb,4.6776e-01_rb,3.3046e-01_rb,1.8101e-01_rb,2.0370e-03_rb/) kbo(:, 4,34, 3) = (/ & &6.1711e-01_rb,5.0510e-01_rb,3.5686e-01_rb,1.9508e-01_rb,2.0801e-03_rb/) kbo(:, 5,34, 3) = (/ & &6.6746e-01_rb,5.4585e-01_rb,3.8550e-01_rb,2.1045e-01_rb,2.1144e-03_rb/) kbo(:, 1,35, 3) = (/ & &4.8386e-01_rb,3.9362e-01_rb,2.7689e-01_rb,1.5116e-01_rb,1.5847e-03_rb/) kbo(:, 2,35, 3) = (/ & &5.1832e-01_rb,4.2323e-01_rb,2.9822e-01_rb,1.6263e-01_rb,1.6362e-03_rb/) kbo(:, 3,35, 3) = (/ & &5.5929e-01_rb,4.5721e-01_rb,3.2219e-01_rb,1.7550e-01_rb,1.6795e-03_rb/) kbo(:, 4,35, 3) = (/ & &6.0482e-01_rb,4.9463e-01_rb,3.4852e-01_rb,1.8949e-01_rb,1.7156e-03_rb/) kbo(:, 5,35, 3) = (/ & &6.5512e-01_rb,5.3534e-01_rb,3.7729e-01_rb,2.0487e-01_rb,1.7410e-03_rb/) kbo(:, 1,36, 3) = (/ & &4.6553e-01_rb,3.7836e-01_rb,2.6548e-01_rb,1.4421e-01_rb,1.3024e-03_rb/) kbo(:, 2,36, 3) = (/ & &4.9953e-01_rb,4.0773e-01_rb,2.8657e-01_rb,1.5552e-01_rb,1.3449e-03_rb/) kbo(:, 3,36, 3) = (/ & &5.3980e-01_rb,4.4109e-01_rb,3.1015e-01_rb,1.6814e-01_rb,1.3813e-03_rb/) kbo(:, 4,36, 3) = (/ & &5.8461e-01_rb,4.7793e-01_rb,3.3603e-01_rb,1.8187e-01_rb,1.4105e-03_rb/) kbo(:, 5,36, 3) = (/ & &6.3401e-01_rb,5.1804e-01_rb,3.6447e-01_rb,1.9702e-01_rb,1.4329e-03_rb/) kbo(:, 1,37, 3) = (/ & &4.3247e-01_rb,3.5136e-01_rb,2.4603e-01_rb,1.3313e-01_rb,1.0644e-03_rb/) kbo(:, 2,37, 3) = (/ & &4.6409e-01_rb,3.7893e-01_rb,2.6588e-01_rb,1.4378e-01_rb,1.1011e-03_rb/) kbo(:, 3,37, 3) = (/ & &5.0193e-01_rb,4.1040e-01_rb,2.8814e-01_rb,1.5568e-01_rb,1.1313e-03_rb/) kbo(:, 4,37, 3) = (/ & &5.4423e-01_rb,4.4538e-01_rb,3.1275e-01_rb,1.6870e-01_rb,1.1563e-03_rb/) kbo(:, 5,37, 3) = (/ & &5.9125e-01_rb,4.8359e-01_rb,3.3982e-01_rb,1.8310e-01_rb,1.1762e-03_rb/) kbo(:, 1,38, 3) = (/ & &4.0752e-01_rb,3.3084e-01_rb,2.3116e-01_rb,1.2457e-01_rb,8.6985e-04_rb/) kbo(:, 2,38, 3) = (/ & &4.3734e-01_rb,3.5701e-01_rb,2.5006e-01_rb,1.3472e-01_rb,9.0011e-04_rb/) kbo(:, 3,38, 3) = (/ & &4.7342e-01_rb,3.8717e-01_rb,2.7137e-01_rb,1.4611e-01_rb,9.2699e-04_rb/) kbo(:, 4,38, 3) = (/ & &5.1398e-01_rb,4.2080e-01_rb,2.9507e-01_rb,1.5862e-01_rb,9.4795e-04_rb/) kbo(:, 5,38, 3) = (/ & &5.5926e-01_rb,4.5769e-01_rb,3.2123e-01_rb,1.7252e-01_rb,9.6539e-04_rb/) kbo(:, 1,39, 3) = (/ & &3.9286e-01_rb,3.1853e-01_rb,2.2204e-01_rb,1.1910e-01_rb,7.1027e-04_rb/) kbo(:, 2,39, 3) = (/ & &4.2168e-01_rb,3.4392e-01_rb,2.4040e-01_rb,1.2899e-01_rb,7.3606e-04_rb/) kbo(:, 3,39, 3) = (/ & &4.5685e-01_rb,3.7344e-01_rb,2.6129e-01_rb,1.4014e-01_rb,7.5956e-04_rb/) kbo(:, 4,39, 3) = (/ & &4.9667e-01_rb,4.0652e-01_rb,2.8462e-01_rb,1.5245e-01_rb,7.7770e-04_rb/) kbo(:, 5,39, 3) = (/ & &5.4133e-01_rb,4.4296e-01_rb,3.1045e-01_rb,1.6619e-01_rb,7.9334e-04_rb/) kbo(:, 1,40, 3) = (/ & &3.5355e-01_rb,2.8669e-01_rb,1.9956e-01_rb,1.0673e-01_rb,5.7721e-04_rb/) kbo(:, 2,40, 3) = (/ & &3.7907e-01_rb,3.0944e-01_rb,2.1608e-01_rb,1.1569e-01_rb,5.9933e-04_rb/) kbo(:, 3,40, 3) = (/ & &4.1075e-01_rb,3.3635e-01_rb,2.3514e-01_rb,1.2587e-01_rb,6.1943e-04_rb/) kbo(:, 4,40, 3) = (/ & &4.4707e-01_rb,3.6668e-01_rb,2.5658e-01_rb,1.3717e-01_rb,6.3526e-04_rb/) kbo(:, 5,40, 3) = (/ & &4.8803e-01_rb,4.0025e-01_rb,2.8039e-01_rb,1.4981e-01_rb,6.4905e-04_rb/) kbo(:, 1,41, 3) = (/ & &3.1722e-01_rb,2.5721e-01_rb,1.7878e-01_rb,9.5352e-02_rb,4.6830e-04_rb/) kbo(:, 2,41, 3) = (/ & &3.3984e-01_rb,2.7762e-01_rb,1.9366e-01_rb,1.0349e-01_rb,4.8763e-04_rb/) kbo(:, 3,41, 3) = (/ & &3.6801e-01_rb,3.0195e-01_rb,2.1092e-01_rb,1.1268e-01_rb,5.0461e-04_rb/) kbo(:, 4,41, 3) = (/ & &4.0101e-01_rb,3.2964e-01_rb,2.3053e-01_rb,1.2303e-01_rb,5.1866e-04_rb/) kbo(:, 5,41, 3) = (/ & &4.3854e-01_rb,3.6057e-01_rb,2.5249e-01_rb,1.3467e-01_rb,5.3060e-04_rb/) kbo(:, 1,42, 3) = (/ & &2.8780e-01_rb,2.3320e-01_rb,1.6182e-01_rb,8.6050e-02_rb,3.7987e-04_rb/) kbo(:, 2,42, 3) = (/ & &3.0806e-01_rb,2.5171e-01_rb,1.7535e-01_rb,9.3494e-02_rb,3.9649e-04_rb/) kbo(:, 3,42, 3) = (/ & &3.3326e-01_rb,2.7383e-01_rb,1.9111e-01_rb,1.0188e-01_rb,4.1103e-04_rb/) kbo(:, 4,42, 3) = (/ & &3.6352e-01_rb,2.9931e-01_rb,2.0921e-01_rb,1.1145e-01_rb,4.2329e-04_rb/) kbo(:, 5,42, 3) = (/ & &3.9814e-01_rb,3.2805e-01_rb,2.2962e-01_rb,1.2223e-01_rb,4.3386e-04_rb/) kbo(:, 1,43, 3) = (/ & &2.6265e-01_rb,2.1245e-01_rb,1.4714e-01_rb,7.7969e-02_rb,3.0714e-04_rb/) kbo(:, 2,43, 3) = (/ & &2.8068e-01_rb,2.2918e-01_rb,1.5940e-01_rb,8.4750e-02_rb,3.2151e-04_rb/) kbo(:, 3,43, 3) = (/ & &3.0314e-01_rb,2.4932e-01_rb,1.7384e-01_rb,9.2466e-02_rb,3.3415e-04_rb/) kbo(:, 4,43, 3) = (/ & &3.3080e-01_rb,2.7269e-01_rb,1.9045e-01_rb,1.0127e-01_rb,3.4470e-04_rb/) kbo(:, 5,43, 3) = (/ & &3.6272e-01_rb,2.9942e-01_rb,2.0942e-01_rb,1.1129e-01_rb,3.5407e-04_rb/) kbo(:, 1,44, 3) = (/ & &2.4281e-01_rb,1.9594e-01_rb,1.3540e-01_rb,7.1467e-02_rb,2.4789e-04_rb/) kbo(:, 2,44, 3) = (/ & &2.5884e-01_rb,2.1103e-01_rb,1.4648e-01_rb,7.7626e-02_rb,2.6014e-04_rb/) kbo(:, 3,44, 3) = (/ & &2.7897e-01_rb,2.2939e-01_rb,1.5978e-01_rb,8.4794e-02_rb,2.7117e-04_rb/) kbo(:, 4,44, 3) = (/ & &3.0448e-01_rb,2.5115e-01_rb,1.7522e-01_rb,9.2989e-02_rb,2.8049e-04_rb/) kbo(:, 5,44, 3) = (/ & &3.3408e-01_rb,2.7612e-01_rb,1.9297e-01_rb,1.0236e-01_rb,2.8861e-04_rb/) kbo(:, 1,45, 3) = (/ & &2.2924e-01_rb,1.8447e-01_rb,1.2716e-01_rb,6.6832e-02_rb,2.0004e-04_rb/) kbo(:, 2,45, 3) = (/ & &2.4373e-01_rb,1.9820e-01_rb,1.3728e-01_rb,7.2484e-02_rb,2.1065e-04_rb/) kbo(:, 3,45, 3) = (/ & &2.6228e-01_rb,2.1536e-01_rb,1.4978e-01_rb,7.9297e-02_rb,2.1996e-04_rb/) kbo(:, 4,45, 3) = (/ & &2.8578e-01_rb,2.3573e-01_rb,1.6427e-01_rb,8.6976e-02_rb,2.2795e-04_rb/) kbo(:, 5,45, 3) = (/ & &3.1387e-01_rb,2.5954e-01_rb,1.8123e-01_rb,9.5940e-02_rb,2.3501e-04_rb/) kbo(:, 1,46, 3) = (/ & &2.1864e-01_rb,1.7537e-01_rb,1.2059e-01_rb,6.3114e-02_rb,1.6106e-04_rb/) kbo(:, 2,46, 3) = (/ & &2.3164e-01_rb,1.8773e-01_rb,1.2971e-01_rb,6.8234e-02_rb,1.7008e-04_rb/) kbo(:, 3,46, 3) = (/ & &2.4878e-01_rb,2.0380e-01_rb,1.4148e-01_rb,7.4690e-02_rb,1.7817e-04_rb/) kbo(:, 4,46, 3) = (/ & &2.7041e-01_rb,2.2298e-01_rb,1.5518e-01_rb,8.1986e-02_rb,1.8514e-04_rb/) kbo(:, 5,46, 3) = (/ & &2.9717e-01_rb,2.4573e-01_rb,1.7143e-01_rb,9.0585e-02_rb,1.9112e-04_rb/) kbo(:, 1,47, 3) = (/ & &2.0666e-01_rb,1.6515e-01_rb,1.1329e-01_rb,5.9056e-02_rb,1.2901e-04_rb/) kbo(:, 2,47, 3) = (/ & &2.1779e-01_rb,1.7589e-01_rb,1.2122e-01_rb,6.3515e-02_rb,1.3680e-04_rb/) kbo(:, 3,47, 3) = (/ & &2.3320e-01_rb,1.9053e-01_rb,1.3198e-01_rb,6.9466e-02_rb,1.4384e-04_rb/) kbo(:, 4,47, 3) = (/ & &2.5274e-01_rb,2.0828e-01_rb,1.4478e-01_rb,7.6351e-02_rb,1.4999e-04_rb/) kbo(:, 5,47, 3) = (/ & &2.7761e-01_rb,2.2954e-01_rb,1.5995e-01_rb,8.4385e-02_rb,1.5514e-04_rb/) kbo(:, 1,48, 3) = (/ & &2.0159e-01_rb,1.6032e-01_rb,1.0970e-01_rb,5.6945e-02_rb,1.0330e-04_rb/) kbo(:, 2,48, 3) = (/ & &2.1094e-01_rb,1.6966e-01_rb,1.1661e-01_rb,6.0834e-02_rb,1.0997e-04_rb/) kbo(:, 3,48, 3) = (/ & &2.2505e-01_rb,1.8313e-01_rb,1.2656e-01_rb,6.6365e-02_rb,1.1606e-04_rb/) kbo(:, 4,48, 3) = (/ & &2.4321e-01_rb,1.9993e-01_rb,1.3877e-01_rb,7.3027e-02_rb,1.2143e-04_rb/) kbo(:, 5,48, 3) = (/ & &2.6669e-01_rb,2.2023e-01_rb,1.5323e-01_rb,8.0709e-02_rb,1.2582e-04_rb/) kbo(:, 1,49, 3) = (/ & &2.0550e-01_rb,1.6255e-01_rb,1.1090e-01_rb,5.7322e-02_rb,8.2624e-05_rb/) kbo(:, 2,49, 3) = (/ & &2.1330e-01_rb,1.7068e-01_rb,1.1698e-01_rb,6.0751e-02_rb,8.8378e-05_rb/) kbo(:, 3,49, 3) = (/ & &2.2651e-01_rb,1.8330e-01_rb,1.2630e-01_rb,6.5972e-02_rb,9.3615e-05_rb/) kbo(:, 4,49, 3) = (/ & &2.4409e-01_rb,1.9975e-01_rb,1.3835e-01_rb,7.2591e-02_rb,9.8246e-05_rb/) kbo(:, 5,49, 3) = (/ & &2.6685e-01_rb,2.1980e-01_rb,1.5269e-01_rb,8.0258e-02_rb,1.0201e-04_rb/) kbo(:, 1,50, 3) = (/ & &2.0001e-01_rb,1.5763e-01_rb,1.0735e-01_rb,5.5313e-02_rb,6.6052e-05_rb/) kbo(:, 2,50, 3) = (/ & &2.0622e-01_rb,1.6433e-01_rb,1.1239e-01_rb,5.8166e-02_rb,7.0964e-05_rb/) kbo(:, 3,50, 3) = (/ & &2.1782e-01_rb,1.7560e-01_rb,1.2070e-01_rb,6.2821e-02_rb,7.5460e-05_rb/) kbo(:, 4,50, 3) = (/ & &2.3393e-01_rb,1.9090e-01_rb,1.3196e-01_rb,6.9056e-02_rb,7.9402e-05_rb/) kbo(:, 5,50, 3) = (/ & &2.5520e-01_rb,2.0998e-01_rb,1.4571e-01_rb,7.6464e-02_rb,8.2692e-05_rb/) kbo(:, 1,51, 3) = (/ & &1.9065e-01_rb,1.4985e-01_rb,1.0188e-01_rb,5.2372e-02_rb,5.2796e-05_rb/) kbo(:, 2,51, 3) = (/ & &1.9564e-01_rb,1.5535e-01_rb,1.0604e-01_rb,5.4717e-02_rb,5.6909e-05_rb/) kbo(:, 3,51, 3) = (/ & &2.0531e-01_rb,1.6500e-01_rb,1.1319e-01_rb,5.8726e-02_rb,6.0736e-05_rb/) kbo(:, 4,51, 3) = (/ & &2.1974e-01_rb,1.7886e-01_rb,1.2342e-01_rb,6.4424e-02_rb,6.4172e-05_rb/) kbo(:, 5,51, 3) = (/ & &2.3909e-01_rb,1.9652e-01_rb,1.3622e-01_rb,7.1393e-02_rb,6.6971e-05_rb/) kbo(:, 1,52, 3) = (/ & &1.8687e-01_rb,1.4652e-01_rb,9.9463e-02_rb,5.1012e-02_rb,4.2174e-05_rb/) kbo(:, 2,52, 3) = (/ & &1.9141e-01_rb,1.5137e-01_rb,1.0312e-01_rb,5.3053e-02_rb,4.5594e-05_rb/) kbo(:, 3,52, 3) = (/ & &1.9940e-01_rb,1.5962e-01_rb,1.0927e-01_rb,5.6516e-02_rb,4.8848e-05_rb/) kbo(:, 4,52, 3) = (/ & &2.1252e-01_rb,1.7228e-01_rb,1.1865e-01_rb,6.1768e-02_rb,5.1771e-05_rb/) kbo(:, 5,52, 3) = (/ & &2.3051e-01_rb,1.8896e-01_rb,1.3079e-01_rb,6.8431e-02_rb,5.4234e-05_rb/) kbo(:, 1,53, 3) = (/ & &1.9049e-01_rb,1.4907e-01_rb,1.0107e-01_rb,5.1727e-02_rb,3.3675e-05_rb/) kbo(:, 2,53, 3) = (/ & &1.9537e-01_rb,1.5387e-01_rb,1.0462e-01_rb,5.3675e-02_rb,3.6498e-05_rb/) kbo(:, 3,53, 3) = (/ & &2.0221e-01_rb,1.6109e-01_rb,1.1002e-01_rb,5.6715e-02_rb,3.9286e-05_rb/) kbo(:, 4,53, 3) = (/ & &2.1438e-01_rb,1.7292e-01_rb,1.1878e-01_rb,6.1645e-02_rb,4.1745e-05_rb/) kbo(:, 5,53, 3) = (/ & &2.3164e-01_rb,1.8913e-01_rb,1.3065e-01_rb,6.8198e-02_rb,4.3903e-05_rb/) kbo(:, 1,54, 3) = (/ & &1.6750e-01_rb,1.3117e-01_rb,8.8914e-02_rb,4.5482e-02_rb,2.6834e-05_rb/) kbo(:, 2,54, 3) = (/ & &1.7260e-01_rb,1.3577e-01_rb,9.2225e-02_rb,4.7257e-02_rb,2.9152e-05_rb/) kbo(:, 3,54, 3) = (/ & &1.7790e-01_rb,1.4144e-01_rb,9.6473e-02_rb,4.9632e-02_rb,3.1487e-05_rb/) kbo(:, 4,54, 3) = (/ & &1.8750e-01_rb,1.5107e-01_rb,1.0362e-01_rb,5.3663e-02_rb,3.3610e-05_rb/) kbo(:, 5,54, 3) = (/ & &2.0185e-01_rb,1.6484e-01_rb,1.1376e-01_rb,5.9292e-02_rb,3.5416e-05_rb/) kbo(:, 1,55, 3) = (/ & &1.3399e-01_rb,1.0522e-01_rb,7.1343e-02_rb,3.6503e-02_rb,2.1364e-05_rb/) kbo(:, 2,55, 3) = (/ & &1.3914e-01_rb,1.0951e-01_rb,7.4357e-02_rb,3.8080e-02_rb,2.3275e-05_rb/) kbo(:, 3,55, 3) = (/ & &1.4309e-01_rb,1.1374e-01_rb,7.7519e-02_rb,3.9837e-02_rb,2.5155e-05_rb/) kbo(:, 4,55, 3) = (/ & &1.4990e-01_rb,1.2087e-01_rb,8.2841e-02_rb,4.2848e-02_rb,2.6955e-05_rb/) kbo(:, 5,55, 3) = (/ & &1.6076e-01_rb,1.3155e-01_rb,9.0755e-02_rb,4.7259e-02_rb,2.8512e-05_rb/) kbo(:, 1,56, 3) = (/ & &1.0674e-01_rb,8.4150e-02_rb,5.7088e-02_rb,2.9230e-02_rb,1.7018e-05_rb/) kbo(:, 2,56, 3) = (/ & &1.1202e-01_rb,8.8284e-02_rb,5.9924e-02_rb,3.0675e-02_rb,1.8552e-05_rb/) kbo(:, 3,56, 3) = (/ & &1.1522e-01_rb,9.1603e-02_rb,6.2380e-02_rb,3.2028e-02_rb,2.0079e-05_rb/) kbo(:, 4,56, 3) = (/ & &1.2002e-01_rb,9.6801e-02_rb,6.6273e-02_rb,3.4240e-02_rb,2.1582e-05_rb/) kbo(:, 5,56, 3) = (/ & &1.2813e-01_rb,1.0499e-01_rb,7.2382e-02_rb,3.7660e-02_rb,2.2972e-05_rb/) kbo(:, 1,57, 3) = (/ & &8.4657e-02_rb,6.6996e-02_rb,4.5488e-02_rb,2.3320e-02_rb,1.3524e-05_rb/) kbo(:, 2,57, 3) = (/ & &8.9961e-02_rb,7.1035e-02_rb,4.8219e-02_rb,2.4686e-02_rb,1.4787e-05_rb/) kbo(:, 3,57, 3) = (/ & &9.2828e-02_rb,7.3808e-02_rb,5.0230e-02_rb,2.5772e-02_rb,1.6030e-05_rb/) kbo(:, 4,57, 3) = (/ & &9.6271e-02_rb,7.7620e-02_rb,5.3068e-02_rb,2.7385e-02_rb,1.7279e-05_rb/) kbo(:, 5,57, 3) = (/ & &1.0221e-01_rb,8.3835e-02_rb,5.7725e-02_rb,3.0004e-02_rb,1.8442e-05_rb/) kbo(:, 1,58, 3) = (/ & &1.7656e-02_rb,1.7150e-02_rb,1.4988e-02_rb,1.0779e-02_rb,1.0747e-05_rb/) kbo(:, 2,58, 3) = (/ & &1.9015e-02_rb,1.8411e-02_rb,1.6077e-02_rb,1.1536e-02_rb,1.1805e-05_rb/) kbo(:, 3,58, 3) = (/ & &1.9736e-02_rb,1.9199e-02_rb,1.6794e-02_rb,1.2067e-02_rb,1.2808e-05_rb/) kbo(:, 4,58, 3) = (/ & &2.0419e-02_rb,2.0127e-02_rb,1.7678e-02_rb,1.2766e-02_rb,1.3807e-05_rb/) kbo(:, 5,58, 3) = (/ & &2.1547e-02_rb,2.1640e-02_rb,1.9143e-02_rb,1.3925e-02_rb,1.4766e-05_rb/) kbo(:, 1,59, 3) = (/ & &1.6768e-02_rb,1.5635e-02_rb,1.2738e-02_rb,8.1686e-03_rb,8.6706e-06_rb/) kbo(:, 2,59, 3) = (/ & &1.8151e-02_rb,1.6868e-02_rb,1.3724e-02_rb,8.7749e-03_rb,9.5360e-06_rb/) kbo(:, 3,59, 3) = (/ & &1.8900e-02_rb,1.7641e-02_rb,1.4372e-02_rb,9.2015e-03_rb,1.0356e-05_rb/) kbo(:, 4,59, 3) = (/ & &1.9564e-02_rb,1.8529e-02_rb,1.5159e-02_rb,9.7488e-03_rb,1.1149e-05_rb/) kbo(:, 5,59, 3) = (/ & &2.0620e-02_rb,1.9962e-02_rb,1.6458e-02_rb,1.0647e-02_rb,1.1905e-05_rb/) kbo(:, 1,13, 4) = (/ & &2.1586e+02_rb,1.6199e+02_rb,1.0811e+02_rb,5.4245e+01_rb,1.2105e-01_rb/) kbo(:, 2,13, 4) = (/ & &2.1869e+02_rb,1.6410e+02_rb,1.0952e+02_rb,5.4940e+01_rb,1.2618e-01_rb/) kbo(:, 3,13, 4) = (/ & &2.2370e+02_rb,1.6786e+02_rb,1.1202e+02_rb,5.6190e+01_rb,1.3118e-01_rb/) kbo(:, 4,13, 4) = (/ & &2.3070e+02_rb,1.7312e+02_rb,1.1553e+02_rb,5.7947e+01_rb,1.3630e-01_rb/) kbo(:, 5,13, 4) = (/ & &2.4034e+02_rb,1.8034e+02_rb,1.2035e+02_rb,6.0352e+01_rb,1.4080e-01_rb/) kbo(:, 1,14, 4) = (/ & &1.1263e+02_rb,8.4567e+01_rb,5.6502e+01_rb,2.8444e+01_rb,1.0638e-01_rb/) kbo(:, 2,14, 4) = (/ & &1.1465e+02_rb,8.6072e+01_rb,5.7500e+01_rb,2.8941e+01_rb,1.1108e-01_rb/) kbo(:, 3,14, 4) = (/ & &1.1796e+02_rb,8.8560e+01_rb,5.9161e+01_rb,2.9768e+01_rb,1.1550e-01_rb/) kbo(:, 4,14, 4) = (/ & &1.2248e+02_rb,9.1950e+01_rb,6.1421e+01_rb,3.0896e+01_rb,1.2021e-01_rb/) kbo(:, 5,14, 4) = (/ & &1.2816e+02_rb,9.6211e+01_rb,6.4260e+01_rb,3.2312e+01_rb,1.2485e-01_rb/) kbo(:, 1,15, 4) = (/ & &5.9854e+01_rb,4.4984e+01_rb,3.0119e+01_rb,1.5274e+01_rb,9.2887e-02_rb/) kbo(:, 2,15, 4) = (/ & &6.1271e+01_rb,4.6045e+01_rb,3.0823e+01_rb,1.5619e+01_rb,9.7129e-02_rb/) kbo(:, 3,15, 4) = (/ & &6.3412e+01_rb,4.7652e+01_rb,3.1894e+01_rb,1.6144e+01_rb,1.0153e-01_rb/) kbo(:, 4,15, 4) = (/ & &6.6234e+01_rb,4.9767e+01_rb,3.3302e+01_rb,1.6842e+01_rb,1.0585e-01_rb/) kbo(:, 5,15, 4) = (/ & &6.9392e+01_rb,5.2133e+01_rb,3.4876e+01_rb,1.7625e+01_rb,1.1025e-01_rb/) kbo(:, 1,16, 4) = (/ & &3.7898e+01_rb,2.8521e+01_rb,1.9151e+01_rb,9.8246e+00_rb,8.0720e-02_rb/) kbo(:, 2,16, 4) = (/ & &3.9024e+01_rb,2.9361e+01_rb,1.9706e+01_rb,1.0088e+01_rb,8.4821e-02_rb/) kbo(:, 3,16, 4) = (/ & &4.0630e+01_rb,3.0565e+01_rb,2.0505e+01_rb,1.0472e+01_rb,8.9056e-02_rb/) kbo(:, 4,16, 4) = (/ & &4.2559e+01_rb,3.2011e+01_rb,2.1467e+01_rb,1.0943e+01_rb,9.3186e-02_rb/) kbo(:, 5,16, 4) = (/ & &4.4564e+01_rb,3.3513e+01_rb,2.2465e+01_rb,1.1432e+01_rb,9.7171e-02_rb/) kbo(:, 1,17, 4) = (/ & &2.4925e+01_rb,1.8792e+01_rb,1.2674e+01_rb,6.6287e+00_rb,6.9974e-02_rb/) kbo(:, 2,17, 4) = (/ & &2.5814e+01_rb,1.9454e+01_rb,1.3108e+01_rb,6.8325e+00_rb,7.3907e-02_rb/) kbo(:, 3,17, 4) = (/ & &2.6980e+01_rb,2.0330e+01_rb,1.3687e+01_rb,7.1100e+00_rb,7.7821e-02_rb/) kbo(:, 4,17, 4) = (/ & &2.8287e+01_rb,2.1307e+01_rb,1.4334e+01_rb,7.4176e+00_rb,8.1565e-02_rb/) kbo(:, 5,17, 4) = (/ & &2.9635e+01_rb,2.2318e+01_rb,1.5005e+01_rb,7.7402e+00_rb,8.5222e-02_rb/) kbo(:, 1,18, 4) = (/ & &1.6833e+01_rb,1.2726e+01_rb,8.6533e+00_rb,4.6132e+00_rb,6.0568e-02_rb/) kbo(:, 2,18, 4) = (/ & &1.7515e+01_rb,1.3234e+01_rb,8.9835e+00_rb,4.7781e+00_rb,6.4137e-02_rb/) kbo(:, 3,18, 4) = (/ & &1.8359e+01_rb,1.3866e+01_rb,9.3947e+00_rb,4.9795e+00_rb,6.7564e-02_rb/) kbo(:, 4,18, 4) = (/ & &1.9269e+01_rb,1.4545e+01_rb,9.8365e+00_rb,5.1909e+00_rb,7.0941e-02_rb/) kbo(:, 5,18, 4) = (/ & &2.0186e+01_rb,1.5233e+01_rb,1.0291e+01_rb,5.4115e+00_rb,7.4160e-02_rb/) kbo(:, 1,19, 4) = (/ & &1.1200e+01_rb,8.5062e+00_rb,5.8670e+00_rb,3.1832e+00_rb,5.2174e-02_rb/) kbo(:, 2,19, 4) = (/ & &1.1703e+01_rb,8.8805e+00_rb,6.1092e+00_rb,3.3121e+00_rb,5.5280e-02_rb/) kbo(:, 3,19, 4) = (/ & &1.2289e+01_rb,9.3153e+00_rb,6.3897e+00_rb,3.4520e+00_rb,5.8298e-02_rb/) kbo(:, 4,19, 4) = (/ & &1.2879e+01_rb,9.7549e+00_rb,6.6727e+00_rb,3.5951e+00_rb,6.1230e-02_rb/) kbo(:, 5,19, 4) = (/ & &1.3509e+01_rb,1.0228e+01_rb,6.9797e+00_rb,3.7461e+00_rb,6.3987e-02_rb/) kbo(:, 1,20, 4) = (/ & &8.1017e+00_rb,6.1940e+00_rb,4.3223e+00_rb,2.3773e+00_rb,4.4725e-02_rb/) kbo(:, 2,20, 4) = (/ & &8.4816e+00_rb,6.4735e+00_rb,4.5091e+00_rb,2.4775e+00_rb,4.7408e-02_rb/) kbo(:, 3,20, 4) = (/ & &8.8970e+00_rb,6.7793e+00_rb,4.7079e+00_rb,2.5791e+00_rb,5.0027e-02_rb/) kbo(:, 4,20, 4) = (/ & &9.3252e+00_rb,7.0958e+00_rb,4.9137e+00_rb,2.6856e+00_rb,5.2539e-02_rb/) kbo(:, 5,20, 4) = (/ & &9.8057e+00_rb,7.4546e+00_rb,5.1456e+00_rb,2.8027e+00_rb,5.4910e-02_rb/) kbo(:, 1,21, 4) = (/ & &6.0501e+00_rb,4.6688e+00_rb,3.2884e+00_rb,1.8254e+00_rb,3.8136e-02_rb/) kbo(:, 2,21, 4) = (/ & &6.3357e+00_rb,4.8779e+00_rb,3.4312e+00_rb,1.9011e+00_rb,4.0441e-02_rb/) kbo(:, 3,21, 4) = (/ & &6.6449e+00_rb,5.1029e+00_rb,3.5792e+00_rb,1.9785e+00_rb,4.2660e-02_rb/) kbo(:, 4,21, 4) = (/ & &6.9762e+00_rb,5.3455e+00_rb,3.7404e+00_rb,2.0617e+00_rb,4.4823e-02_rb/) kbo(:, 5,21, 4) = (/ & &7.3528e+00_rb,5.6235e+00_rb,3.9228e+00_rb,2.1569e+00_rb,4.6872e-02_rb/) kbo(:, 1,22, 4) = (/ & &4.6404e+00_rb,3.6182e+00_rb,2.5692e+00_rb,1.4322e+00_rb,3.2495e-02_rb/) kbo(:, 2,22, 4) = (/ & &4.8647e+00_rb,3.7820e+00_rb,2.6806e+00_rb,1.4906e+00_rb,3.4441e-02_rb/) kbo(:, 3,22, 4) = (/ & &5.1076e+00_rb,3.9577e+00_rb,2.7989e+00_rb,1.5529e+00_rb,3.6349e-02_rb/) kbo(:, 4,22, 4) = (/ & &5.3767e+00_rb,4.1547e+00_rb,2.9316e+00_rb,1.6226e+00_rb,3.8200e-02_rb/) kbo(:, 5,22, 4) = (/ & &5.6763e+00_rb,4.3747e+00_rb,3.0789e+00_rb,1.7012e+00_rb,3.9814e-02_rb/) kbo(:, 1,23, 4) = (/ & &3.5795e+00_rb,2.8211e+00_rb,2.0153e+00_rb,1.1263e+00_rb,2.7571e-02_rb/) kbo(:, 2,23, 4) = (/ & &3.7577e+00_rb,2.9513e+00_rb,2.1035e+00_rb,1.1732e+00_rb,2.9222e-02_rb/) kbo(:, 3,23, 4) = (/ & &3.9530e+00_rb,3.0936e+00_rb,2.2016e+00_rb,1.2254e+00_rb,3.0874e-02_rb/) kbo(:, 4,23, 4) = (/ & &4.1701e+00_rb,3.2524e+00_rb,2.3097e+00_rb,1.2838e+00_rb,3.2339e-02_rb/) kbo(:, 5,23, 4) = (/ & &4.4121e+00_rb,3.4311e+00_rb,2.4318e+00_rb,1.3490e+00_rb,3.3498e-02_rb/) kbo(:, 1,24, 4) = (/ & &2.7499e+00_rb,2.1929e+00_rb,1.5716e+00_rb,8.8208e-01_rb,2.3328e-02_rb/) kbo(:, 2,24, 4) = (/ & &2.8912e+00_rb,2.2961e+00_rb,1.6422e+00_rb,9.2052e-01_rb,2.4747e-02_rb/) kbo(:, 3,24, 4) = (/ & &3.0489e+00_rb,2.4127e+00_rb,1.7231e+00_rb,9.6426e-01_rb,2.6067e-02_rb/) kbo(:, 4,24, 4) = (/ & &3.2231e+00_rb,2.5412e+00_rb,1.8120e+00_rb,1.0128e+00_rb,2.7124e-02_rb/) kbo(:, 5,24, 4) = (/ & &3.4149e+00_rb,2.6844e+00_rb,1.9115e+00_rb,1.0663e+00_rb,2.7906e-02_rb/) kbo(:, 1,25, 4) = (/ & &2.1432e+00_rb,1.7277e+00_rb,1.2393e+00_rb,6.9912e-01_rb,1.9707e-02_rb/) kbo(:, 2,25, 4) = (/ & &2.2580e+00_rb,1.8124e+00_rb,1.2983e+00_rb,7.3186e-01_rb,2.0862e-02_rb/) kbo(:, 3,25, 4) = (/ & &2.3862e+00_rb,1.9090e+00_rb,1.3657e+00_rb,7.6856e-01_rb,2.1834e-02_rb/) kbo(:, 4,25, 4) = (/ & &2.5268e+00_rb,2.0149e+00_rb,1.4403e+00_rb,8.0968e-01_rb,2.2567e-02_rb/) kbo(:, 5,25, 4) = (/ & &2.6782e+00_rb,2.1290e+00_rb,1.5196e+00_rb,8.5344e-01_rb,2.3120e-02_rb/) kbo(:, 1,26, 4) = (/ & &1.7021e+00_rb,1.3844e+00_rb,9.9410e-01_rb,5.6358e-01_rb,1.6610e-02_rb/) kbo(:, 2,26, 4) = (/ & &1.7967e+00_rb,1.4558e+00_rb,1.0446e+00_rb,5.9163e-01_rb,1.7478e-02_rb/) kbo(:, 3,26, 4) = (/ & &1.9029e+00_rb,1.5366e+00_rb,1.1015e+00_rb,6.2314e-01_rb,1.8168e-02_rb/) kbo(:, 4,26, 4) = (/ & &2.0167e+00_rb,1.6240e+00_rb,1.1633e+00_rb,6.5758e-01_rb,1.8695e-02_rb/) kbo(:, 5,26, 4) = (/ & &2.1386e+00_rb,1.7169e+00_rb,1.2284e+00_rb,6.9400e-01_rb,1.9096e-02_rb/) kbo(:, 1,27, 4) = (/ & &1.4057e+00_rb,1.1500e+00_rb,8.2663e-01_rb,4.7009e-01_rb,1.3925e-02_rb/) kbo(:, 2,27, 4) = (/ & &1.4879e+00_rb,1.2132e+00_rb,8.7128e-01_rb,4.9476e-01_rb,1.4552e-02_rb/) kbo(:, 3,27, 4) = (/ & &1.5769e+00_rb,1.2821e+00_rb,9.2036e-01_rb,5.2229e-01_rb,1.5059e-02_rb/) kbo(:, 4,27, 4) = (/ & &1.6734e+00_rb,1.3576e+00_rb,9.7388e-01_rb,5.5224e-01_rb,1.5448e-02_rb/) kbo(:, 5,27, 4) = (/ & &1.7761e+00_rb,1.4364e+00_rb,1.0297e+00_rb,5.8351e-01_rb,1.5741e-02_rb/) kbo(:, 1,28, 4) = (/ & &1.1944e+00_rb,9.8092e-01_rb,7.0555e-01_rb,4.0148e-01_rb,1.1607e-02_rb/) kbo(:, 2,28, 4) = (/ & &1.2669e+00_rb,1.0377e+00_rb,7.4577e-01_rb,4.2386e-01_rb,1.2073e-02_rb/) kbo(:, 3,28, 4) = (/ & &1.3434e+00_rb,1.0982e+00_rb,7.8916e-01_rb,4.4819e-01_rb,1.2454e-02_rb/) kbo(:, 4,28, 4) = (/ & &1.4276e+00_rb,1.1642e+00_rb,8.3605e-01_rb,4.7463e-01_rb,1.2747e-02_rb/) kbo(:, 5,28, 4) = (/ & &1.5174e+00_rb,1.2340e+00_rb,8.8572e-01_rb,5.0242e-01_rb,1.2962e-02_rb/) kbo(:, 1,29, 4) = (/ & &1.0796e+00_rb,8.8738e-01_rb,6.3729e-01_rb,3.6140e-01_rb,9.6469e-03_rb/) kbo(:, 2,29, 4) = (/ & &1.1462e+00_rb,9.4012e-01_rb,6.7481e-01_rb,3.8241e-01_rb,1.0006e-02_rb/) kbo(:, 3,29, 4) = (/ & &1.2166e+00_rb,9.9676e-01_rb,7.1549e-01_rb,4.0534e-01_rb,1.0291e-02_rb/) kbo(:, 4,29, 4) = (/ & &1.2950e+00_rb,1.0580e+00_rb,7.5913e-01_rb,4.2989e-01_rb,1.0512e-02_rb/) kbo(:, 5,29, 4) = (/ & &1.3796e+00_rb,1.1246e+00_rb,8.0670e-01_rb,4.5638e-01_rb,1.0678e-02_rb/) kbo(:, 1,30, 4) = (/ & &1.0009e+00_rb,8.2254e-01_rb,5.8934e-01_rb,3.3271e-01_rb,8.0058e-03_rb/) kbo(:, 2,30, 4) = (/ & &1.0631e+00_rb,8.7256e-01_rb,6.2533e-01_rb,3.5305e-01_rb,8.2800e-03_rb/) kbo(:, 3,30, 4) = (/ & &1.1308e+00_rb,9.2710e-01_rb,6.6420e-01_rb,3.7481e-01_rb,8.4963e-03_rb/) kbo(:, 4,30, 4) = (/ & &1.2063e+00_rb,9.8617e-01_rb,7.0646e-01_rb,3.9833e-01_rb,8.6678e-03_rb/) kbo(:, 5,30, 4) = (/ & &1.2872e+00_rb,1.0507e+00_rb,7.5301e-01_rb,4.2433e-01_rb,8.7939e-03_rb/) kbo(:, 1,31, 4) = (/ & &9.7660e-01_rb,8.0084e-01_rb,5.7177e-01_rb,3.2070e-01_rb,6.6382e-03_rb/) kbo(:, 2,31, 4) = (/ & &1.0374e+00_rb,8.5014e-01_rb,6.0734e-01_rb,3.4069e-01_rb,6.8456e-03_rb/) kbo(:, 3,31, 4) = (/ & &1.1075e+00_rb,9.0581e-01_rb,6.4681e-01_rb,3.6261e-01_rb,7.0127e-03_rb/) kbo(:, 4,31, 4) = (/ & &1.1834e+00_rb,9.6644e-01_rb,6.9039e-01_rb,3.8675e-01_rb,7.1469e-03_rb/) kbo(:, 5,31, 4) = (/ & &1.2660e+00_rb,1.0326e+00_rb,7.3825e-01_rb,4.1334e-01_rb,7.2367e-03_rb/) kbo(:, 1,32, 4) = (/ & &9.6422e-01_rb,7.8878e-01_rb,5.6132e-01_rb,3.1280e-01_rb,5.4958e-03_rb/) kbo(:, 2,32, 4) = (/ & &1.0268e+00_rb,8.3964e-01_rb,5.9767e-01_rb,3.3295e-01_rb,5.6574e-03_rb/) kbo(:, 3,32, 4) = (/ & &1.0993e+00_rb,8.9729e-01_rb,6.3870e-01_rb,3.5556e-01_rb,5.7908e-03_rb/) kbo(:, 4,32, 4) = (/ & &1.1769e+00_rb,9.5960e-01_rb,6.8365e-01_rb,3.8056e-01_rb,5.8892e-03_rb/) kbo(:, 5,32, 4) = (/ & &1.2618e+00_rb,1.0283e+00_rb,7.3351e-01_rb,4.0808e-01_rb,5.9563e-03_rb/) kbo(:, 1,33, 4) = (/ & &9.7044e-01_rb,7.9175e-01_rb,5.6148e-01_rb,3.1071e-01_rb,4.5479e-03_rb/) kbo(:, 2,33, 4) = (/ & &1.0377e+00_rb,8.4609e-01_rb,5.9989e-01_rb,3.3169e-01_rb,4.6770e-03_rb/) kbo(:, 3,33, 4) = (/ & &1.1127e+00_rb,9.0612e-01_rb,6.4309e-01_rb,3.5556e-01_rb,4.7785e-03_rb/) kbo(:, 4,33, 4) = (/ & &1.1941e+00_rb,9.7205e-01_rb,6.9062e-01_rb,3.8191e-01_rb,4.8530e-03_rb/) kbo(:, 5,33, 4) = (/ & &1.2827e+00_rb,1.0440e+00_rb,7.4287e-01_rb,4.1072e-01_rb,4.9022e-03_rb/) kbo(:, 1,34, 4) = (/ & &9.5216e-01_rb,7.7596e-01_rb,5.4886e-01_rb,3.0190e-01_rb,3.7602e-03_rb/) kbo(:, 2,34, 4) = (/ & &1.0214e+00_rb,8.3168e-01_rb,5.8836e-01_rb,3.2354e-01_rb,3.8612e-03_rb/) kbo(:, 3,34, 4) = (/ & &1.0976e+00_rb,8.9321e-01_rb,6.3261e-01_rb,3.4797e-01_rb,3.9398e-03_rb/) kbo(:, 4,34, 4) = (/ & &1.1802e+00_rb,9.6059e-01_rb,6.8153e-01_rb,3.7517e-01_rb,3.9961e-03_rb/) kbo(:, 5,34, 4) = (/ & &1.2700e+00_rb,1.0340e+00_rb,7.3462e-01_rb,4.0436e-01_rb,4.0321e-03_rb/) kbo(:, 1,35, 4) = (/ & &9.3109e-01_rb,7.5807e-01_rb,5.3485e-01_rb,2.9258e-01_rb,3.0990e-03_rb/) kbo(:, 2,35, 4) = (/ & &1.0014e+00_rb,8.1463e-01_rb,5.7510e-01_rb,3.1470e-01_rb,3.1794e-03_rb/) kbo(:, 3,35, 4) = (/ & &1.0779e+00_rb,8.7703e-01_rb,6.2017e-01_rb,3.3965e-01_rb,3.2414e-03_rb/) kbo(:, 4,35, 4) = (/ & &1.1611e+00_rb,9.4542e-01_rb,6.6993e-01_rb,3.6723e-01_rb,3.2866e-03_rb/) kbo(:, 5,35, 4) = (/ & &1.2524e+00_rb,1.0199e+00_rb,7.2388e-01_rb,3.9699e-01_rb,3.3190e-03_rb/) kbo(:, 1,36, 4) = (/ & &8.9907e-01_rb,7.3170e-01_rb,5.1516e-01_rb,2.8053e-01_rb,2.5454e-03_rb/) kbo(:, 2,36, 4) = (/ & &9.6904e-01_rb,7.8811e-01_rb,5.5541e-01_rb,3.0260e-01_rb,2.6116e-03_rb/) kbo(:, 3,36, 4) = (/ & &1.0454e+00_rb,8.5074e-01_rb,6.0077e-01_rb,3.2780e-01_rb,2.6639e-03_rb/) kbo(:, 4,36, 4) = (/ & &1.1275e+00_rb,9.1876e-01_rb,6.5041e-01_rb,3.5533e-01_rb,2.7017e-03_rb/) kbo(:, 5,36, 4) = (/ & &1.2188e+00_rb,9.9337e-01_rb,7.0446e-01_rb,3.8526e-01_rb,2.7298e-03_rb/) kbo(:, 1,37, 4) = (/ & &8.3748e-01_rb,6.8208e-01_rb,4.7958e-01_rb,2.6026e-01_rb,2.0819e-03_rb/) kbo(:, 2,37, 4) = (/ & &9.0437e-01_rb,7.3619e-01_rb,5.1822e-01_rb,2.8144e-01_rb,2.1383e-03_rb/) kbo(:, 3,37, 4) = (/ & &9.7724e-01_rb,7.9645e-01_rb,5.6196e-01_rb,3.0574e-01_rb,2.1835e-03_rb/) kbo(:, 4,37, 4) = (/ & &1.0560e+00_rb,8.6198e-01_rb,6.0986e-01_rb,3.3246e-01_rb,2.2167e-03_rb/) kbo(:, 5,37, 4) = (/ & &1.1435e+00_rb,9.3399e-01_rb,6.6218e-01_rb,3.6148e-01_rb,2.2423e-03_rb/) kbo(:, 1,38, 4) = (/ & &7.9164e-01_rb,6.4489e-01_rb,4.5275e-01_rb,2.4481e-01_rb,1.7033e-03_rb/) kbo(:, 2,38, 4) = (/ & &8.5631e-01_rb,6.9735e-01_rb,4.9025e-01_rb,2.6537e-01_rb,1.7520e-03_rb/) kbo(:, 3,38, 4) = (/ & &9.2681e-01_rb,7.5605e-01_rb,5.3294e-01_rb,2.8911e-01_rb,1.7893e-03_rb/) kbo(:, 4,38, 4) = (/ & &1.0032e+00_rb,8.1986e-01_rb,5.7959e-01_rb,3.1521e-01_rb,1.8197e-03_rb/) kbo(:, 5,38, 4) = (/ & &1.0885e+00_rb,8.9047e-01_rb,6.3102e-01_rb,3.4379e-01_rb,1.8432e-03_rb/) kbo(:, 1,39, 4) = (/ & &7.6561e-01_rb,6.2337e-01_rb,4.3685e-01_rb,2.3531e-01_rb,1.3951e-03_rb/) kbo(:, 2,39, 4) = (/ & &8.2959e-01_rb,6.7544e-01_rb,4.7411e-01_rb,2.5572e-01_rb,1.4362e-03_rb/) kbo(:, 3,39, 4) = (/ & &8.9955e-01_rb,7.3386e-01_rb,5.1664e-01_rb,2.7941e-01_rb,1.4681e-03_rb/) kbo(:, 4,39, 4) = (/ & &9.7533e-01_rb,7.9745e-01_rb,5.6319e-01_rb,3.0547e-01_rb,1.4952e-03_rb/) kbo(:, 5,39, 4) = (/ & &1.0606e+00_rb,8.6829e-01_rb,6.1487e-01_rb,3.3424e-01_rb,1.5163e-03_rb/) kbo(:, 1,40, 4) = (/ & &6.9042e-01_rb,5.6314e-01_rb,3.9439e-01_rb,2.1202e-01_rb,1.1367e-03_rb/) kbo(:, 2,40, 4) = (/ & &7.4888e-01_rb,6.1108e-01_rb,4.2878e-01_rb,2.3085e-01_rb,1.1721e-03_rb/) kbo(:, 3,40, 4) = (/ & &8.1362e-01_rb,6.6539e-01_rb,4.6832e-01_rb,2.5287e-01_rb,1.1998e-03_rb/) kbo(:, 4,40, 4) = (/ & &8.8373e-01_rb,7.2479e-01_rb,5.1188e-01_rb,2.7730e-01_rb,1.2242e-03_rb/) kbo(:, 5,40, 4) = (/ & &9.6254e-01_rb,7.9070e-01_rb,5.6015e-01_rb,3.0430e-01_rb,1.2434e-03_rb/) kbo(:, 1,41, 4) = (/ & &6.2032e-01_rb,5.0688e-01_rb,3.5482e-01_rb,1.9040e-01_rb,9.2546e-04_rb/) kbo(:, 2,41, 4) = (/ & &6.7393e-01_rb,5.5118e-01_rb,3.8660e-01_rb,2.0779e-01_rb,9.5549e-04_rb/) kbo(:, 3,41, 4) = (/ & &7.3329e-01_rb,6.0114e-01_rb,4.2302e-01_rb,2.2810e-01_rb,9.8005e-04_rb/) kbo(:, 4,41, 4) = (/ & &7.9788e-01_rb,6.5636e-01_rb,4.6356e-01_rb,2.5084e-01_rb,1.0016e-03_rb/) kbo(:, 5,41, 4) = (/ & &8.7082e-01_rb,7.1789e-01_rb,5.0871e-01_rb,2.7615e-01_rb,1.0188e-03_rb/) kbo(:, 1,42, 4) = (/ & &5.6327e-01_rb,4.6093e-01_rb,3.2241e-01_rb,1.7266e-01_rb,7.5328e-04_rb/) kbo(:, 2,42, 4) = (/ & &6.1295e-01_rb,5.0232e-01_rb,3.5212e-01_rb,1.8890e-01_rb,7.7877e-04_rb/) kbo(:, 3,42, 4) = (/ & &6.6777e-01_rb,5.4861e-01_rb,3.8590e-01_rb,2.0776e-01_rb,8.0043e-04_rb/) kbo(:, 4,42, 4) = (/ & &7.2797e-01_rb,6.0039e-01_rb,4.2397e-01_rb,2.2912e-01_rb,8.1936e-04_rb/) kbo(:, 5,42, 4) = (/ & &7.9621e-01_rb,6.5839e-01_rb,4.6656e-01_rb,2.5303e-01_rb,8.3483e-04_rb/) kbo(:, 1,43, 4) = (/ & &5.1362e-01_rb,4.2068e-01_rb,2.9391e-01_rb,1.5704e-01_rb,6.1131e-04_rb/) kbo(:, 2,43, 4) = (/ & &5.5956e-01_rb,4.5932e-01_rb,3.2171e-01_rb,1.7223e-01_rb,6.3359e-04_rb/) kbo(:, 3,43, 4) = (/ & &6.1053e-01_rb,5.0241e-01_rb,3.5315e-01_rb,1.8977e-01_rb,6.5237e-04_rb/) kbo(:, 4,43, 4) = (/ & &6.6664e-01_rb,5.5084e-01_rb,3.8881e-01_rb,2.0981e-01_rb,6.6921e-04_rb/) kbo(:, 5,43, 4) = (/ & &7.3047e-01_rb,6.0544e-01_rb,4.2894e-01_rb,2.3232e-01_rb,6.8300e-04_rb/) kbo(:, 1,44, 4) = (/ & &4.7369e-01_rb,3.8803e-01_rb,2.7069e-01_rb,1.4426e-01_rb,4.9540e-04_rb/) kbo(:, 2,44, 4) = (/ & &5.1629e-01_rb,4.2426e-01_rb,2.9688e-01_rb,1.5856e-01_rb,5.1475e-04_rb/) kbo(:, 3,44, 4) = (/ & &5.6430e-01_rb,4.6484e-01_rb,3.2640e-01_rb,1.7499e-01_rb,5.3131e-04_rb/) kbo(:, 4,44, 4) = (/ & &6.1717e-01_rb,5.1049e-01_rb,3.6006e-01_rb,1.9393e-01_rb,5.4642e-04_rb/) kbo(:, 5,44, 4) = (/ & &6.7746e-01_rb,5.6241e-01_rb,3.9820e-01_rb,2.1537e-01_rb,5.5870e-04_rb/) kbo(:, 1,45, 4) = (/ & &4.4552e-01_rb,3.6469e-01_rb,2.5398e-01_rb,1.3497e-01_rb,4.0119e-04_rb/) kbo(:, 2,45, 4) = (/ & &4.8593e-01_rb,3.9940e-01_rb,2.7911e-01_rb,1.4871e-01_rb,4.1803e-04_rb/) kbo(:, 3,45, 4) = (/ & &5.3210e-01_rb,4.3837e-01_rb,3.0742e-01_rb,1.6436e-01_rb,4.3281e-04_rb/) kbo(:, 4,45, 4) = (/ & &5.8266e-01_rb,4.8202e-01_rb,3.3961e-01_rb,1.8254e-01_rb,4.4586e-04_rb/) kbo(:, 5,45, 4) = (/ & &6.4061e-01_rb,5.3215e-01_rb,3.7643e-01_rb,2.0327e-01_rb,4.5687e-04_rb/) kbo(:, 1,46, 4) = (/ & &4.2249e-01_rb,3.4536e-01_rb,2.4007e-01_rb,1.2719e-01_rb,3.2444e-04_rb/) kbo(:, 2,46, 4) = (/ & &4.6085e-01_rb,3.7858e-01_rb,2.6416e-01_rb,1.4037e-01_rb,3.3911e-04_rb/) kbo(:, 3,46, 4) = (/ & &5.0558e-01_rb,4.1641e-01_rb,2.9158e-01_rb,1.5550e-01_rb,3.5210e-04_rb/) kbo(:, 4,46, 4) = (/ & &5.5446e-01_rb,4.5852e-01_rb,3.2261e-01_rb,1.7296e-01_rb,3.6323e-04_rb/) kbo(:, 5,46, 4) = (/ & &6.1034e-01_rb,5.0695e-01_rb,3.5817e-01_rb,1.9305e-01_rb,3.7330e-04_rb/) kbo(:, 1,47, 4) = (/ & &3.9554e-01_rb,3.2291e-01_rb,2.2401e-01_rb,1.1833e-01_rb,2.6160e-04_rb/) kbo(:, 2,47, 4) = (/ & &4.3146e-01_rb,3.5412e-01_rb,2.4668e-01_rb,1.3078e-01_rb,2.7433e-04_rb/) kbo(:, 3,47, 4) = (/ & &4.7369e-01_rb,3.9022e-01_rb,2.7284e-01_rb,1.4515e-01_rb,2.8554e-04_rb/) kbo(:, 4,47, 4) = (/ & &5.2055e-01_rb,4.3044e-01_rb,3.0232e-01_rb,1.6167e-01_rb,2.9527e-04_rb/) kbo(:, 5,47, 4) = (/ & &5.7336e-01_rb,4.7635e-01_rb,3.3620e-01_rb,1.8084e-01_rb,3.0428e-04_rb/) kbo(:, 1,48, 4) = (/ & &3.8090e-01_rb,3.1036e-01_rb,2.1482e-01_rb,1.1310e-01_rb,2.1085e-04_rb/) kbo(:, 2,48, 4) = (/ & &4.1533e-01_rb,3.4019e-01_rb,2.3651e-01_rb,1.2501e-01_rb,2.2180e-04_rb/) kbo(:, 3,48, 4) = (/ & &4.5614e-01_rb,3.7537e-01_rb,2.6197e-01_rb,1.3898e-01_rb,2.3143e-04_rb/) kbo(:, 4,48, 4) = (/ & &5.0246e-01_rb,4.1492e-01_rb,2.9081e-01_rb,1.5505e-01_rb,2.3998e-04_rb/) kbo(:, 5,48, 4) = (/ & &5.5365e-01_rb,4.5945e-01_rb,3.2372e-01_rb,1.7366e-01_rb,2.4799e-04_rb/) kbo(:, 1,49, 4) = (/ & &3.8223e-01_rb,3.1052e-01_rb,2.1444e-01_rb,1.1246e-01_rb,1.6987e-04_rb/) kbo(:, 2,49, 4) = (/ & &4.1659e-01_rb,3.4001e-01_rb,2.3576e-01_rb,1.2419e-01_rb,1.7919e-04_rb/) kbo(:, 3,49, 4) = (/ & &4.5734e-01_rb,3.7525e-01_rb,2.6133e-01_rb,1.3821e-01_rb,1.8743e-04_rb/) kbo(:, 4,49, 4) = (/ & &5.0487e-01_rb,4.1574e-01_rb,2.9072e-01_rb,1.5448e-01_rb,1.9508e-04_rb/) kbo(:, 5,49, 4) = (/ & &5.5695e-01_rb,4.6079e-01_rb,3.2385e-01_rb,1.7317e-01_rb,2.0224e-04_rb/) kbo(:, 1,50, 4) = (/ & &3.6631e-01_rb,2.9712e-01_rb,2.0481e-01_rb,1.0712e-01_rb,1.3672e-04_rb/) kbo(:, 2,50, 4) = (/ & &3.9879e-01_rb,3.2486e-01_rb,2.2483e-01_rb,1.1811e-01_rb,1.4458e-04_rb/) kbo(:, 3,50, 4) = (/ & &4.3761e-01_rb,3.5858e-01_rb,2.4934e-01_rb,1.3160e-01_rb,1.5166e-04_rb/) kbo(:, 4,50, 4) = (/ & &4.8398e-01_rb,3.9821e-01_rb,2.7799e-01_rb,1.4737e-01_rb,1.5830e-04_rb/) kbo(:, 5,50, 4) = (/ & &5.3499e-01_rb,4.4212e-01_rb,3.1022e-01_rb,1.6549e-01_rb,1.6465e-04_rb/) kbo(:, 1,51, 4) = (/ & &3.4406e-01_rb,2.7861e-01_rb,1.9179e-01_rb,1.0006e-01_rb,1.0998e-04_rb/) kbo(:, 2,51, 4) = (/ & &3.7372e-01_rb,3.0420e-01_rb,2.1018e-01_rb,1.1015e-01_rb,1.1652e-04_rb/) kbo(:, 3,51, 4) = (/ & &4.0998e-01_rb,3.3570e-01_rb,2.3310e-01_rb,1.2281e-01_rb,1.2263e-04_rb/) kbo(:, 4,51, 4) = (/ & &4.5397e-01_rb,3.7347e-01_rb,2.6041e-01_rb,1.3780e-01_rb,1.2829e-04_rb/) kbo(:, 5,51, 4) = (/ & &5.0293e-01_rb,4.1560e-01_rb,2.9124e-01_rb,1.5503e-01_rb,1.3386e-04_rb/) kbo(:, 1,52, 4) = (/ & &3.3305e-01_rb,2.6887e-01_rb,1.8470e-01_rb,9.6116e-02_rb,8.8414e-05_rb/) kbo(:, 2,52, 4) = (/ & &3.6030e-01_rb,2.9285e-01_rb,2.0201e-01_rb,1.0559e-01_rb,9.3941e-05_rb/) kbo(:, 3,52, 4) = (/ & &3.9501e-01_rb,3.2288e-01_rb,2.2382e-01_rb,1.1765e-01_rb,9.9142e-05_rb/) kbo(:, 4,52, 4) = (/ & &4.3753e-01_rb,3.5954e-01_rb,2.5031e-01_rb,1.3217e-01_rb,1.0404e-04_rb/) kbo(:, 5,52, 4) = (/ & &4.8592e-01_rb,4.0113e-01_rb,2.8062e-01_rb,1.4902e-01_rb,1.0887e-04_rb/) kbo(:, 1,53, 4) = (/ & &3.3673e-01_rb,2.7062e-01_rb,1.8541e-01_rb,9.6126e-02_rb,7.1043e-05_rb/) kbo(:, 2,53, 4) = (/ & &3.6211e-01_rb,2.9355e-01_rb,2.0209e-01_rb,1.0535e-01_rb,7.5715e-05_rb/) kbo(:, 3,53, 4) = (/ & &3.9659e-01_rb,3.2308e-01_rb,2.2347e-01_rb,1.1715e-01_rb,8.0134e-05_rb/) kbo(:, 4,53, 4) = (/ & &4.3895e-01_rb,3.5976e-01_rb,2.5000e-01_rb,1.3170e-01_rb,8.4354e-05_rb/) kbo(:, 5,53, 4) = (/ & &4.8875e-01_rb,4.0230e-01_rb,2.8086e-01_rb,1.4875e-01_rb,8.8431e-05_rb/) kbo(:, 1,54, 4) = (/ & &2.9565e-01_rb,2.3718e-01_rb,1.6225e-01_rb,8.3929e-02_rb,5.7062e-05_rb/) kbo(:, 2,54, 4) = (/ & &3.1566e-01_rb,2.5610e-01_rb,1.7621e-01_rb,9.1726e-02_rb,6.0930e-05_rb/) kbo(:, 3,54, 4) = (/ & &3.4501e-01_rb,2.8145e-01_rb,1.9453e-01_rb,1.0184e-01_rb,6.4630e-05_rb/) kbo(:, 4,54, 4) = (/ & &3.8166e-01_rb,3.1342e-01_rb,2.1772e-01_rb,1.1458e-01_rb,6.8122e-05_rb/) kbo(:, 5,54, 4) = (/ & &4.2580e-01_rb,3.5139e-01_rb,2.4524e-01_rb,1.2978e-01_rb,7.1556e-05_rb/) kbo(:, 1,55, 4) = (/ & &2.3763e-01_rb,1.9054e-01_rb,1.3023e-01_rb,6.7270e-02_rb,4.5734e-05_rb/) kbo(:, 2,55, 4) = (/ & &2.5160e-01_rb,2.0457e-01_rb,1.4076e-01_rb,7.3233e-02_rb,4.8936e-05_rb/) kbo(:, 3,55, 4) = (/ & &2.7408e-01_rb,2.2452e-01_rb,1.5520e-01_rb,8.1193e-02_rb,5.2040e-05_rb/) kbo(:, 4,55, 4) = (/ & &3.0302e-01_rb,2.4999e-01_rb,1.7374e-01_rb,9.1409e-02_rb,5.4914e-05_rb/) kbo(:, 5,55, 4) = (/ & &3.3851e-01_rb,2.8105e-01_rb,1.9629e-01_rb,1.0386e-01_rb,5.7717e-05_rb/) kbo(:, 1,56, 4) = (/ & &1.9160e-01_rb,1.5340e-01_rb,1.0472e-01_rb,5.4007e-02_rb,3.6625e-05_rb/) kbo(:, 2,56, 4) = (/ & &2.0095e-01_rb,1.6357e-01_rb,1.1247e-01_rb,5.8467e-02_rb,3.9320e-05_rb/) kbo(:, 3,56, 4) = (/ & &2.1781e-01_rb,1.7908e-01_rb,1.2379e-01_rb,6.4708e-02_rb,4.1872e-05_rb/) kbo(:, 4,56, 4) = (/ & &2.4047e-01_rb,1.9929e-01_rb,1.3856e-01_rb,7.2864e-02_rb,4.4297e-05_rb/) kbo(:, 5,56, 4) = (/ & &2.6886e-01_rb,2.2463e-01_rb,1.5695e-01_rb,8.3003e-02_rb,4.6496e-05_rb/) kbo(:, 1,57, 4) = (/ & &1.5488e-01_rb,1.2382e-01_rb,8.4407e-02_rb,4.3459e-02_rb,2.9307e-05_rb/) kbo(:, 2,57, 4) = (/ & &1.6082e-01_rb,1.3093e-01_rb,8.9925e-02_rb,4.6681e-02_rb,3.1559e-05_rb/) kbo(:, 3,57, 4) = (/ & &1.7312e-01_rb,1.4284e-01_rb,9.8719e-02_rb,5.1558e-02_rb,3.3681e-05_rb/) kbo(:, 4,57, 4) = (/ & &1.9084e-01_rb,1.5883e-01_rb,1.1043e-01_rb,5.8031e-02_rb,3.5680e-05_rb/) kbo(:, 5,57, 4) = (/ & &2.1336e-01_rb,1.7931e-01_rb,1.2534e-01_rb,6.6236e-02_rb,3.7524e-05_rb/) kbo(:, 1,58, 4) = (/ & &3.3087e-02_rb,3.2322e-02_rb,2.8310e-02_rb,2.0395e-02_rb,2.3455e-05_rb/) kbo(:, 2,58, 4) = (/ & &3.4053e-02_rb,3.3907e-02_rb,2.9921e-02_rb,2.1729e-02_rb,2.5336e-05_rb/) kbo(:, 3,58, 4) = (/ & &3.6376e-02_rb,3.6839e-02_rb,3.2736e-02_rb,2.3935e-02_rb,2.7095e-05_rb/) kbo(:, 4,58, 4) = (/ & &4.0009e-02_rb,4.0914e-02_rb,3.6586e-02_rb,2.6918e-02_rb,2.8737e-05_rb/) kbo(:, 5,58, 4) = (/ & &4.4706e-02_rb,4.6236e-02_rb,4.1585e-02_rb,3.0778e-02_rb,3.0324e-05_rb/) kbo(:, 1,59, 4) = (/ & &3.1774e-02_rb,2.9779e-02_rb,2.4302e-02_rb,1.5595e-02_rb,1.9010e-05_rb/) kbo(:, 2,59, 4) = (/ & &3.2644e-02_rb,3.1267e-02_rb,2.5718e-02_rb,1.6636e-02_rb,2.0536e-05_rb/) kbo(:, 3,59, 4) = (/ & &3.4800e-02_rb,3.4041e-02_rb,2.8207e-02_rb,1.8368e-02_rb,2.1957e-05_rb/) kbo(:, 4,59, 4) = (/ & &3.8295e-02_rb,3.7946e-02_rb,3.1647e-02_rb,2.0746e-02_rb,2.3288e-05_rb/) kbo(:, 5,59, 4) = (/ & &4.2857e-02_rb,4.3069e-02_rb,3.6135e-02_rb,2.3842e-02_rb,2.4528e-05_rb/) kbo(:, 1,13, 5) = (/ & &3.9549e+02_rb,2.9672e+02_rb,1.9794e+02_rb,9.9160e+01_rb,2.1101e-01_rb/) kbo(:, 2,13, 5) = (/ & &4.0510e+02_rb,3.0393e+02_rb,2.0275e+02_rb,1.0157e+02_rb,2.1805e-01_rb/) kbo(:, 3,13, 5) = (/ & &4.1502e+02_rb,3.1136e+02_rb,2.0770e+02_rb,1.0405e+02_rb,2.2406e-01_rb/) kbo(:, 4,13, 5) = (/ & &4.2481e+02_rb,3.1871e+02_rb,2.1261e+02_rb,1.0651e+02_rb,2.2934e-01_rb/) kbo(:, 5,13, 5) = (/ & &4.3504e+02_rb,3.2638e+02_rb,2.1772e+02_rb,1.0907e+02_rb,2.3453e-01_rb/) kbo(:, 1,14, 5) = (/ & &2.0979e+02_rb,1.5743e+02_rb,1.0508e+02_rb,5.2736e+01_rb,1.8842e-01_rb/) kbo(:, 2,14, 5) = (/ & &2.1502e+02_rb,1.6136e+02_rb,1.0770e+02_rb,5.4046e+01_rb,1.9486e-01_rb/) kbo(:, 3,14, 5) = (/ & &2.2030e+02_rb,1.6532e+02_rb,1.1034e+02_rb,5.5365e+01_rb,2.0050e-01_rb/) kbo(:, 4,14, 5) = (/ & &2.2600e+02_rb,1.6960e+02_rb,1.1320e+02_rb,5.6802e+01_rb,2.0562e-01_rb/) kbo(:, 5,14, 5) = (/ & &2.3272e+02_rb,1.7464e+02_rb,1.1657e+02_rb,5.8488e+01_rb,2.1024e-01_rb/) kbo(:, 1,15, 5) = (/ & &1.1299e+02_rb,8.4842e+01_rb,5.6692e+01_rb,2.8544e+01_rb,1.6706e-01_rb/) kbo(:, 2,15, 5) = (/ & &1.1594e+02_rb,8.7050e+01_rb,5.8163e+01_rb,2.9281e+01_rb,1.7285e-01_rb/) kbo(:, 3,15, 5) = (/ & &1.1912e+02_rb,8.9439e+01_rb,5.9757e+01_rb,3.0081e+01_rb,1.7816e-01_rb/) kbo(:, 4,15, 5) = (/ & &1.2274e+02_rb,9.2159e+01_rb,6.1575e+01_rb,3.0997e+01_rb,1.8306e-01_rb/) kbo(:, 5,15, 5) = (/ & &1.2711e+02_rb,9.5434e+01_rb,6.3760e+01_rb,3.2089e+01_rb,1.8793e-01_rb/) kbo(:, 1,16, 5) = (/ & &7.2342e+01_rb,5.4353e+01_rb,3.6365e+01_rb,1.8388e+01_rb,1.4721e-01_rb/) kbo(:, 2,16, 5) = (/ & &7.4310e+01_rb,5.5827e+01_rb,3.7348e+01_rb,1.8883e+01_rb,1.5241e-01_rb/) kbo(:, 3,16, 5) = (/ & &7.6651e+01_rb,5.7588e+01_rb,3.8528e+01_rb,1.9478e+01_rb,1.5739e-01_rb/) kbo(:, 4,16, 5) = (/ & &7.9417e+01_rb,5.9665e+01_rb,3.9914e+01_rb,2.0174e+01_rb,1.6237e-01_rb/) kbo(:, 5,16, 5) = (/ & &8.2509e+01_rb,6.1984e+01_rb,4.1462e+01_rb,2.0947e+01_rb,1.6729e-01_rb/) kbo(:, 1,17, 5) = (/ & &4.7912e+01_rb,3.6032e+01_rb,2.4156e+01_rb,1.2312e+01_rb,1.2867e-01_rb/) kbo(:, 2,17, 5) = (/ & &4.9396e+01_rb,3.7145e+01_rb,2.4898e+01_rb,1.2683e+01_rb,1.3345e-01_rb/) kbo(:, 3,17, 5) = (/ & &5.1211e+01_rb,3.8509e+01_rb,2.5812e+01_rb,1.3139e+01_rb,1.3833e-01_rb/) kbo(:, 4,17, 5) = (/ & &5.3243e+01_rb,4.0036e+01_rb,2.6830e+01_rb,1.3649e+01_rb,1.4345e-01_rb/) kbo(:, 5,17, 5) = (/ & &5.5359e+01_rb,4.1621e+01_rb,2.7887e+01_rb,1.4174e+01_rb,1.4839e-01_rb/) kbo(:, 1,18, 5) = (/ & &3.2517e+01_rb,2.4486e+01_rb,1.6464e+01_rb,8.5255e+00_rb,1.1175e-01_rb/) kbo(:, 2,18, 5) = (/ & &3.3702e+01_rb,2.5376e+01_rb,1.7056e+01_rb,8.8105e+00_rb,1.1647e-01_rb/) kbo(:, 3,18, 5) = (/ & &3.5055e+01_rb,2.6392e+01_rb,1.7736e+01_rb,9.1463e+00_rb,1.2136e-01_rb/) kbo(:, 4,18, 5) = (/ & &3.6466e+01_rb,2.7452e+01_rb,1.8446e+01_rb,9.5008e+00_rb,1.2627e-01_rb/) kbo(:, 5,18, 5) = (/ & &3.7955e+01_rb,2.8569e+01_rb,1.9189e+01_rb,9.8619e+00_rb,1.3101e-01_rb/) kbo(:, 1,19, 5) = (/ & &2.1727e+01_rb,1.6393e+01_rb,1.1086e+01_rb,5.8761e+00_rb,9.6819e-02_rb/) kbo(:, 2,19, 5) = (/ & &2.2617e+01_rb,1.7062e+01_rb,1.1530e+01_rb,6.0896e+00_rb,1.0144e-01_rb/) kbo(:, 3,19, 5) = (/ & &2.3543e+01_rb,1.7760e+01_rb,1.1998e+01_rb,6.3260e+00_rb,1.0605e-01_rb/) kbo(:, 4,19, 5) = (/ & &2.4512e+01_rb,1.8488e+01_rb,1.2483e+01_rb,6.5653e+00_rb,1.1055e-01_rb/) kbo(:, 5,19, 5) = (/ & &2.5548e+01_rb,1.9265e+01_rb,1.2998e+01_rb,6.8170e+00_rb,1.1478e-01_rb/) kbo(:, 1,20, 5) = (/ & &1.5756e+01_rb,1.1916e+01_rb,8.1383e+00_rb,4.3914e+00_rb,8.3853e-02_rb/) kbo(:, 2,20, 5) = (/ & &1.6431e+01_rb,1.2425e+01_rb,8.4724e+00_rb,4.5624e+00_rb,8.8103e-02_rb/) kbo(:, 3,20, 5) = (/ & &1.7121e+01_rb,1.2945e+01_rb,8.8179e+00_rb,4.7428e+00_rb,9.2252e-02_rb/) kbo(:, 4,20, 5) = (/ & &1.7848e+01_rb,1.3492e+01_rb,9.1779e+00_rb,4.9264e+00_rb,9.6228e-02_rb/) kbo(:, 5,20, 5) = (/ & &1.8606e+01_rb,1.4060e+01_rb,9.5528e+00_rb,5.1134e+00_rb,9.9993e-02_rb/) kbo(:, 1,21, 5) = (/ & &1.1787e+01_rb,8.9459e+00_rb,6.1836e+00_rb,3.3861e+00_rb,7.2353e-02_rb/) kbo(:, 2,21, 5) = (/ & &1.2303e+01_rb,9.3354e+00_rb,6.4401e+00_rb,3.5254e+00_rb,7.6084e-02_rb/) kbo(:, 3,21, 5) = (/ & &1.2826e+01_rb,9.7292e+00_rb,6.7034e+00_rb,3.6681e+00_rb,7.9750e-02_rb/) kbo(:, 4,21, 5) = (/ & &1.3367e+01_rb,1.0136e+01_rb,6.9714e+00_rb,3.8111e+00_rb,8.3233e-02_rb/) kbo(:, 5,21, 5) = (/ & &1.3957e+01_rb,1.0578e+01_rb,7.2613e+00_rb,3.9589e+00_rb,8.6478e-02_rb/) kbo(:, 1,22, 5) = (/ & &9.0718e+00_rb,6.9242e+00_rb,4.8361e+00_rb,2.6781e+00_rb,6.2307e-02_rb/) kbo(:, 2,22, 5) = (/ & &9.4616e+00_rb,7.2180e+00_rb,5.0370e+00_rb,2.7912e+00_rb,6.5577e-02_rb/) kbo(:, 3,22, 5) = (/ & &9.8598e+00_rb,7.5169e+00_rb,5.2399e+00_rb,2.9065e+00_rb,6.8755e-02_rb/) kbo(:, 4,22, 5) = (/ & &1.0285e+01_rb,7.8355e+00_rb,5.4531e+00_rb,3.0213e+00_rb,7.1732e-02_rb/) kbo(:, 5,22, 5) = (/ & &1.0774e+01_rb,8.1994e+00_rb,5.6924e+00_rb,3.1454e+00_rb,7.4544e-02_rb/) kbo(:, 1,23, 5) = (/ & &7.0162e+00_rb,5.3998e+00_rb,3.8098e+00_rb,2.1262e+00_rb,5.3397e-02_rb/) kbo(:, 2,23, 5) = (/ & &7.3118e+00_rb,5.6231e+00_rb,3.9665e+00_rb,2.2161e+00_rb,5.6221e-02_rb/) kbo(:, 3,23, 5) = (/ & &7.6257e+00_rb,5.8582e+00_rb,4.1301e+00_rb,2.3090e+00_rb,5.8902e-02_rb/) kbo(:, 4,23, 5) = (/ & &7.9740e+00_rb,6.1181e+00_rb,4.3060e+00_rb,2.4033e+00_rb,6.1507e-02_rb/) kbo(:, 5,23, 5) = (/ & &8.3852e+00_rb,6.4219e+00_rb,4.5083e+00_rb,2.5100e+00_rb,6.3983e-02_rb/) kbo(:, 1,24, 5) = (/ & &5.3945e+00_rb,4.1959e+00_rb,2.9887e+00_rb,1.6764e+00_rb,4.5562e-02_rb/) kbo(:, 2,24, 5) = (/ & &5.6263e+00_rb,4.3723e+00_rb,3.1153e+00_rb,1.7491e+00_rb,4.7953e-02_rb/) kbo(:, 3,24, 5) = (/ & &5.8803e+00_rb,4.5632e+00_rb,3.2505e+00_rb,1.8236e+00_rb,5.0272e-02_rb/) kbo(:, 4,24, 5) = (/ & &6.1740e+00_rb,4.7820e+00_rb,3.4008e+00_rb,1.9048e+00_rb,5.2561e-02_rb/) kbo(:, 5,24, 5) = (/ & &6.5136e+00_rb,5.0303e+00_rb,3.5679e+00_rb,1.9952e+00_rb,5.4580e-02_rb/) kbo(:, 1,25, 5) = (/ & &4.2050e+00_rb,3.3091e+00_rb,2.3724e+00_rb,1.3359e+00_rb,3.8734e-02_rb/) kbo(:, 2,25, 5) = (/ & &4.3935e+00_rb,3.4537e+00_rb,2.4783e+00_rb,1.3955e+00_rb,4.0785e-02_rb/) kbo(:, 3,25, 5) = (/ & &4.6090e+00_rb,3.6169e+00_rb,2.5944e+00_rb,1.4600e+00_rb,4.2817e-02_rb/) kbo(:, 4,25, 5) = (/ & &4.8571e+00_rb,3.8012e+00_rb,2.7227e+00_rb,1.5304e+00_rb,4.4658e-02_rb/) kbo(:, 5,25, 5) = (/ & &5.1379e+00_rb,4.0071e+00_rb,2.8658e+00_rb,1.6091e+00_rb,4.6106e-02_rb/) kbo(:, 1,26, 5) = (/ & &3.3393e+00_rb,2.6590e+00_rb,1.9126e+00_rb,1.0812e+00_rb,3.2872e-02_rb/) kbo(:, 2,26, 5) = (/ & &3.4998e+00_rb,2.7840e+00_rb,2.0042e+00_rb,1.1322e+00_rb,3.4655e-02_rb/) kbo(:, 3,26, 5) = (/ & &3.6839e+00_rb,2.9244e+00_rb,2.1044e+00_rb,1.1892e+00_rb,3.6289e-02_rb/) kbo(:, 4,26, 5) = (/ & &3.8971e+00_rb,3.0834e+00_rb,2.2165e+00_rb,1.2514e+00_rb,3.7614e-02_rb/) kbo(:, 5,26, 5) = (/ & &4.1266e+00_rb,3.2542e+00_rb,2.3379e+00_rb,1.3199e+00_rb,3.8535e-02_rb/) kbo(:, 1,27, 5) = (/ & &2.7587e+00_rb,2.2186e+00_rb,1.5971e+00_rb,9.0467e-01_rb,2.7863e-02_rb/) kbo(:, 2,27, 5) = (/ & &2.9012e+00_rb,2.3317e+00_rb,1.6793e+00_rb,9.5148e-01_rb,2.9310e-02_rb/) kbo(:, 3,27, 5) = (/ & &3.0653e+00_rb,2.4577e+00_rb,1.7694e+00_rb,1.0026e+00_rb,3.0500e-02_rb/) kbo(:, 4,27, 5) = (/ & &3.2491e+00_rb,2.5968e+00_rb,1.8696e+00_rb,1.0593e+00_rb,3.1389e-02_rb/) kbo(:, 5,27, 5) = (/ & &3.4443e+00_rb,2.7432e+00_rb,1.9752e+00_rb,1.1204e+00_rb,3.1994e-02_rb/) kbo(:, 1,28, 5) = (/ & &2.3461e+00_rb,1.9019e+00_rb,1.3684e+00_rb,7.7601e-01_rb,2.3534e-02_rb/) kbo(:, 2,28, 5) = (/ & &2.4760e+00_rb,2.0059e+00_rb,1.4439e+00_rb,8.1944e-01_rb,2.4611e-02_rb/) kbo(:, 3,28, 5) = (/ & &2.6235e+00_rb,2.1209e+00_rb,1.5268e+00_rb,8.6687e-01_rb,2.5434e-02_rb/) kbo(:, 4,28, 5) = (/ & &2.7836e+00_rb,2.2441e+00_rb,1.6160e+00_rb,9.1849e-01_rb,2.6044e-02_rb/) kbo(:, 5,28, 5) = (/ & &2.9562e+00_rb,2.3753e+00_rb,1.7120e+00_rb,9.7389e-01_rb,2.6449e-02_rb/) kbo(:, 1,29, 5) = (/ & &2.1229e+00_rb,1.7281e+00_rb,1.2411e+00_rb,7.0258e-01_rb,1.9767e-02_rb/) kbo(:, 2,29, 5) = (/ & &2.2483e+00_rb,1.8286e+00_rb,1.3142e+00_rb,7.4438e-01_rb,2.0526e-02_rb/) kbo(:, 3,29, 5) = (/ & &2.3867e+00_rb,1.9376e+00_rb,1.3932e+00_rb,7.8990e-01_rb,2.1121e-02_rb/) kbo(:, 4,29, 5) = (/ & &2.5370e+00_rb,2.0544e+00_rb,1.4782e+00_rb,8.3936e-01_rb,2.1540e-02_rb/) kbo(:, 5,29, 5) = (/ & &2.7005e+00_rb,2.1808e+00_rb,1.5709e+00_rb,8.9251e-01_rb,2.1826e-02_rb/) kbo(:, 1,30, 5) = (/ & &1.9731e+00_rb,1.6098e+00_rb,1.1534e+00_rb,6.5097e-01_rb,1.6498e-02_rb/) kbo(:, 2,30, 5) = (/ & &2.0958e+00_rb,1.7088e+00_rb,1.2257e+00_rb,6.9208e-01_rb,1.7054e-02_rb/) kbo(:, 3,30, 5) = (/ & &2.2285e+00_rb,1.8139e+00_rb,1.3022e+00_rb,7.3642e-01_rb,1.7482e-02_rb/) kbo(:, 4,30, 5) = (/ & &2.3729e+00_rb,1.9280e+00_rb,1.3861e+00_rb,7.8518e-01_rb,1.7790e-02_rb/) kbo(:, 5,30, 5) = (/ & &2.5353e+00_rb,2.0546e+00_rb,1.4785e+00_rb,8.3767e-01_rb,1.7989e-02_rb/) kbo(:, 1,31, 5) = (/ & &1.9340e+00_rb,1.5772e+00_rb,1.1264e+00_rb,6.3182e-01_rb,1.3731e-02_rb/) kbo(:, 2,31, 5) = (/ & &2.0574e+00_rb,1.6773e+00_rb,1.1995e+00_rb,6.7358e-01_rb,1.4152e-02_rb/) kbo(:, 3,31, 5) = (/ & &2.1914e+00_rb,1.7848e+00_rb,1.2781e+00_rb,7.1915e-01_rb,1.4466e-02_rb/) kbo(:, 4,31, 5) = (/ & &2.3406e+00_rb,1.9025e+00_rb,1.3648e+00_rb,7.6925e-01_rb,1.4687e-02_rb/) kbo(:, 5,31, 5) = (/ & &2.5107e+00_rb,2.0354e+00_rb,1.4612e+00_rb,8.2397e-01_rb,1.4843e-02_rb/) kbo(:, 1,32, 5) = (/ & &1.9204e+00_rb,1.5654e+00_rb,1.1148e+00_rb,6.2147e-01_rb,1.1411e-02_rb/) kbo(:, 2,32, 5) = (/ & &2.0455e+00_rb,1.6672e+00_rb,1.1895e+00_rb,6.6431e-01_rb,1.1723e-02_rb/) kbo(:, 3,32, 5) = (/ & &2.1839e+00_rb,1.7785e+00_rb,1.2711e+00_rb,7.1180e-01_rb,1.1953e-02_rb/) kbo(:, 4,32, 5) = (/ & &2.3424e+00_rb,1.9038e+00_rb,1.3629e+00_rb,7.6419e-01_rb,1.2125e-02_rb/) kbo(:, 5,32, 5) = (/ & &2.5216e+00_rb,2.0435e+00_rb,1.4643e+00_rb,8.2232e-01_rb,1.2240e-02_rb/) kbo(:, 1,33, 5) = (/ & &1.9423e+00_rb,1.5823e+00_rb,1.1236e+00_rb,6.2280e-01_rb,9.4667e-03_rb/) kbo(:, 2,33, 5) = (/ & &2.0728e+00_rb,1.6884e+00_rb,1.2018e+00_rb,6.6778e-01_rb,9.6991e-03_rb/) kbo(:, 3,33, 5) = (/ & &2.2222e+00_rb,1.8079e+00_rb,1.2892e+00_rb,7.1818e-01_rb,9.8807e-03_rb/) kbo(:, 4,33, 5) = (/ & &2.3928e+00_rb,1.9430e+00_rb,1.3880e+00_rb,7.7444e-01_rb,1.0013e-02_rb/) kbo(:, 5,33, 5) = (/ & &2.5873e+00_rb,2.0935e+00_rb,1.4975e+00_rb,8.3717e-01_rb,1.0093e-02_rb/) kbo(:, 1,34, 5) = (/ & &1.9127e+00_rb,1.5588e+00_rb,1.1053e+00_rb,6.1048e-01_rb,7.8309e-03_rb/) kbo(:, 2,34, 5) = (/ & &2.0473e+00_rb,1.6687e+00_rb,1.1862e+00_rb,6.5698e-01_rb,8.0168e-03_rb/) kbo(:, 3,34, 5) = (/ & &2.2050e+00_rb,1.7947e+00_rb,1.2785e+00_rb,7.0977e-01_rb,8.1571e-03_rb/) kbo(:, 4,34, 5) = (/ & &2.3844e+00_rb,1.9366e+00_rb,1.3818e+00_rb,7.6872e-01_rb,8.2588e-03_rb/) kbo(:, 5,34, 5) = (/ & &2.5878e+00_rb,2.0945e+00_rb,1.4977e+00_rb,8.3524e-01_rb,8.3102e-03_rb/) kbo(:, 1,35, 5) = (/ & &1.8762e+00_rb,1.5298e+00_rb,1.0833e+00_rb,5.9624e-01_rb,6.4645e-03_rb/) kbo(:, 2,35, 5) = (/ & &2.0161e+00_rb,1.6440e+00_rb,1.1673e+00_rb,6.4448e-01_rb,6.6144e-03_rb/) kbo(:, 3,35, 5) = (/ & &2.1796e+00_rb,1.7750e+00_rb,1.2632e+00_rb,6.9909e-01_rb,6.7276e-03_rb/) kbo(:, 4,35, 5) = (/ & &2.3668e+00_rb,1.9227e+00_rb,1.3710e+00_rb,7.6090e-01_rb,6.8022e-03_rb/) kbo(:, 5,35, 5) = (/ & &2.5757e+00_rb,2.0863e+00_rb,1.4915e+00_rb,8.3029e-01_rb,6.8468e-03_rb/) kbo(:, 1,36, 5) = (/ & &1.8177e+00_rb,1.4833e+00_rb,1.0492e+00_rb,5.7567e-01_rb,5.3254e-03_rb/) kbo(:, 2,36, 5) = (/ & &1.9605e+00_rb,1.6001e+00_rb,1.1349e+00_rb,6.2477e-01_rb,5.4464e-03_rb/) kbo(:, 3,36, 5) = (/ & &2.1269e+00_rb,1.7343e+00_rb,1.2332e+00_rb,6.8062e-01_rb,5.5407e-03_rb/) kbo(:, 4,36, 5) = (/ & &2.3182e+00_rb,1.8849e+00_rb,1.3435e+00_rb,7.4416e-01_rb,5.6019e-03_rb/) kbo(:, 5,36, 5) = (/ & &2.5291e+00_rb,2.0513e+00_rb,1.4663e+00_rb,8.1509e-01_rb,5.6408e-03_rb/) kbo(:, 1,37, 5) = (/ & &1.6997e+00_rb,1.3894e+00_rb,9.8190e-01_rb,5.3748e-01_rb,4.3666e-03_rb/) kbo(:, 2,37, 5) = (/ & &1.8378e+00_rb,1.5030e+00_rb,1.0654e+00_rb,5.8540e-01_rb,4.4691e-03_rb/) kbo(:, 3,37, 5) = (/ & &1.9994e+00_rb,1.6341e+00_rb,1.1617e+00_rb,6.4019e-01_rb,4.5481e-03_rb/) kbo(:, 4,37, 5) = (/ & &2.1860e+00_rb,1.7826e+00_rb,1.2707e+00_rb,7.0283e-01_rb,4.6056e-03_rb/) kbo(:, 5,37, 5) = (/ & &2.3914e+00_rb,1.9456e+00_rb,1.3911e+00_rb,7.7270e-01_rb,4.6416e-03_rb/) kbo(:, 1,38, 5) = (/ & &1.6123e+00_rb,1.3193e+00_rb,9.3139e-01_rb,5.0849e-01_rb,3.5784e-03_rb/) kbo(:, 2,38, 5) = (/ & &1.7479e+00_rb,1.4316e+00_rb,1.0139e+00_rb,5.5580e-01_rb,3.6670e-03_rb/) kbo(:, 3,38, 5) = (/ & &1.9074e+00_rb,1.5615e+00_rb,1.1092e+00_rb,6.1015e-01_rb,3.7371e-03_rb/) kbo(:, 4,38, 5) = (/ & &2.0911e+00_rb,1.7089e+00_rb,1.2176e+00_rb,6.7256e-01_rb,3.7869e-03_rb/) kbo(:, 5,38, 5) = (/ & &2.2948e+00_rb,1.8712e+00_rb,1.3379e+00_rb,7.4236e-01_rb,3.8180e-03_rb/) kbo(:, 1,39, 5) = (/ & &1.5653e+00_rb,1.2809e+00_rb,9.0306e-01_rb,4.9152e-01_rb,2.9339e-03_rb/) kbo(:, 2,39, 5) = (/ & &1.7011e+00_rb,1.3939e+00_rb,9.8605e-01_rb,5.3903e-01_rb,3.0110e-03_rb/) kbo(:, 3,39, 5) = (/ & &1.8625e+00_rb,1.5257e+00_rb,1.0827e+00_rb,5.9416e-01_rb,3.0720e-03_rb/) kbo(:, 4,39, 5) = (/ & &2.0480e+00_rb,1.6749e+00_rb,1.1927e+00_rb,6.5763e-01_rb,3.1176e-03_rb/) kbo(:, 5,39, 5) = (/ & &2.2545e+00_rb,1.8403e+00_rb,1.3150e+00_rb,7.2854e-01_rb,3.1424e-03_rb/) kbo(:, 1,40, 5) = (/ & &1.4161e+00_rb,1.1618e+00_rb,8.1883e-01_rb,4.4506e-01_rb,2.3961e-03_rb/) kbo(:, 2,40, 5) = (/ & &1.5422e+00_rb,1.2675e+00_rb,8.9661e-01_rb,4.8961e-01_rb,2.4634e-03_rb/) kbo(:, 3,40, 5) = (/ & &1.6929e+00_rb,1.3914e+00_rb,9.8762e-01_rb,5.4178e-01_rb,2.5182e-03_rb/) kbo(:, 4,40, 5) = (/ & &1.8671e+00_rb,1.5327e+00_rb,1.0918e+00_rb,6.0196e-01_rb,2.5595e-03_rb/) kbo(:, 5,40, 5) = (/ & &2.0610e+00_rb,1.6900e+00_rb,1.2084e+00_rb,6.6961e-01_rb,2.5831e-03_rb/) kbo(:, 1,41, 5) = (/ & &1.2765e+00_rb,1.0500e+00_rb,7.3977e-01_rb,4.0158e-01_rb,1.9558e-03_rb/) kbo(:, 2,41, 5) = (/ & &1.3934e+00_rb,1.1486e+00_rb,8.1252e-01_rb,4.4320e-01_rb,2.0159e-03_rb/) kbo(:, 3,41, 5) = (/ & &1.5329e+00_rb,1.2644e+00_rb,8.9774e-01_rb,4.9220e-01_rb,2.0644e-03_rb/) kbo(:, 4,41, 5) = (/ & &1.6957e+00_rb,1.3977e+00_rb,9.9605e-01_rb,5.4916e-01_rb,2.0998e-03_rb/) kbo(:, 5,41, 5) = (/ & &1.8778e+00_rb,1.5466e+00_rb,1.1067e+00_rb,6.1346e-01_rb,2.1224e-03_rb/) kbo(:, 1,42, 5) = (/ & &1.1627e+00_rb,9.5841e-01_rb,6.7494e-01_rb,3.6583e-01_rb,1.5975e-03_rb/) kbo(:, 2,42, 5) = (/ & &1.2723e+00_rb,1.0513e+00_rb,7.4339e-01_rb,4.0496e-01_rb,1.6498e-03_rb/) kbo(:, 3,42, 5) = (/ & &1.4029e+00_rb,1.1604e+00_rb,8.2397e-01_rb,4.5136e-01_rb,1.6921e-03_rb/) kbo(:, 4,42, 5) = (/ & &1.5564e+00_rb,1.2873e+00_rb,9.1770e-01_rb,5.0574e-01_rb,1.7229e-03_rb/) kbo(:, 5,42, 5) = (/ & &1.7292e+00_rb,1.4295e+00_rb,1.0235e+00_rb,5.6732e-01_rb,1.7439e-03_rb/) kbo(:, 1,43, 5) = (/ & &1.0630e+00_rb,8.7767e-01_rb,6.1763e-01_rb,3.3410e-01_rb,1.3020e-03_rb/) kbo(:, 2,43, 5) = (/ & &1.1654e+00_rb,9.6474e-01_rb,6.8178e-01_rb,3.7078e-01_rb,1.3472e-03_rb/) kbo(:, 3,43, 5) = (/ & &1.2879e+00_rb,1.0676e+00_rb,7.5775e-01_rb,4.1456e-01_rb,1.3843e-03_rb/) kbo(:, 4,43, 5) = (/ & &1.4323e+00_rb,1.1883e+00_rb,8.4702e-01_rb,4.6628e-01_rb,1.4122e-03_rb/) kbo(:, 5,43, 5) = (/ & &1.5961e+00_rb,1.3241e+00_rb,9.4813e-01_rb,5.2525e-01_rb,1.4316e-03_rb/) kbo(:, 1,44, 5) = (/ & &9.8265e-01_rb,8.1189e-01_rb,5.7078e-01_rb,3.0805e-01_rb,1.0595e-03_rb/) kbo(:, 2,44, 5) = (/ & &1.0790e+00_rb,8.9402e-01_rb,6.3105e-01_rb,3.4248e-01_rb,1.0984e-03_rb/) kbo(:, 3,44, 5) = (/ & &1.1944e+00_rb,9.9169e-01_rb,7.0312e-01_rb,3.8396e-01_rb,1.1318e-03_rb/) kbo(:, 4,44, 5) = (/ & &1.3318e+00_rb,1.1077e+00_rb,7.8899e-01_rb,4.3356e-01_rb,1.1566e-03_rb/) kbo(:, 5,44, 5) = (/ & &1.4887e+00_rb,1.2383e+00_rb,8.8644e-01_rb,4.9053e-01_rb,1.1752e-03_rb/) kbo(:, 1,45, 5) = (/ & &9.2676e-01_rb,7.6543e-01_rb,5.3731e-01_rb,2.8917e-01_rb,8.6207e-04_rb/) kbo(:, 2,45, 5) = (/ & &1.0188e+00_rb,8.4420e-01_rb,5.9503e-01_rb,3.2211e-01_rb,8.9589e-04_rb/) kbo(:, 3,45, 5) = (/ & &1.1295e+00_rb,9.3840e-01_rb,6.6449e-01_rb,3.6207e-01_rb,9.2491e-04_rb/) kbo(:, 4,45, 5) = (/ & &1.2624e+00_rb,1.0512e+00_rb,7.4797e-01_rb,4.1011e-01_rb,9.4724e-04_rb/) kbo(:, 5,45, 5) = (/ & &1.4159e+00_rb,1.1794e+00_rb,8.4359e-01_rb,4.6598e-01_rb,9.6431e-04_rb/) kbo(:, 1,46, 5) = (/ & &8.8115e-01_rb,7.2712e-01_rb,5.0946e-01_rb,2.7333e-01_rb,7.0044e-04_rb/) kbo(:, 2,46, 5) = (/ & &9.6873e-01_rb,8.0252e-01_rb,5.6477e-01_rb,3.0486e-01_rb,7.2940e-04_rb/) kbo(:, 3,46, 5) = (/ & &1.0759e+00_rb,8.9393e-01_rb,6.3210e-01_rb,3.4344e-01_rb,7.5456e-04_rb/) kbo(:, 4,46, 5) = (/ & &1.2051e+00_rb,1.0038e+00_rb,7.1323e-01_rb,3.9017e-01_rb,7.7543e-04_rb/) kbo(:, 5,46, 5) = (/ & &1.3559e+00_rb,1.1306e+00_rb,8.0761e-01_rb,4.4513e-01_rb,7.9123e-04_rb/) kbo(:, 1,47, 5) = (/ & &8.2708e-01_rb,6.8179e-01_rb,4.7670e-01_rb,2.5496e-01_rb,5.6723e-04_rb/) kbo(:, 2,47, 5) = (/ & &9.0841e-01_rb,7.5254e-01_rb,5.2877e-01_rb,2.8459e-01_rb,5.9237e-04_rb/) kbo(:, 3,47, 5) = (/ & &1.0102e+00_rb,8.3938e-01_rb,5.9264e-01_rb,3.2108e-01_rb,6.1461e-04_rb/) kbo(:, 4,47, 5) = (/ & &1.1336e+00_rb,9.4433e-01_rb,6.7005e-01_rb,3.6564e-01_rb,6.3367e-04_rb/) kbo(:, 5,47, 5) = (/ & &1.2789e+00_rb,1.0675e+00_rb,7.6147e-01_rb,4.1873e-01_rb,6.4826e-04_rb/) kbo(:, 1,48, 5) = (/ & &7.9882e-01_rb,6.5670e-01_rb,4.5801e-01_rb,2.4404e-01_rb,4.5910e-04_rb/) kbo(:, 2,48, 5) = (/ & &8.7602e-01_rb,7.2469e-01_rb,5.0814e-01_rb,2.7259e-01_rb,4.8082e-04_rb/) kbo(:, 3,48, 5) = (/ & &9.7485e-01_rb,8.0906e-01_rb,5.6998e-01_rb,3.0783e-01_rb,5.0059e-04_rb/) kbo(:, 4,48, 5) = (/ & &1.0951e+00_rb,9.1136e-01_rb,6.4533e-01_rb,3.5105e-01_rb,5.1769e-04_rb/) kbo(:, 5,48, 5) = (/ & &1.2389e+00_rb,1.0335e+00_rb,7.3563e-01_rb,4.0331e-01_rb,5.3087e-04_rb/) kbo(:, 1,49, 5) = (/ & &8.0402e-01_rb,6.5823e-01_rb,4.5761e-01_rb,2.4276e-01_rb,3.7137e-04_rb/) kbo(:, 2,49, 5) = (/ & &8.8031e-01_rb,7.2577e-01_rb,5.0751e-01_rb,2.7123e-01_rb,3.9017e-04_rb/) kbo(:, 3,49, 5) = (/ & &9.7946e-01_rb,8.1065e-01_rb,5.6941e-01_rb,3.0628e-01_rb,4.0777e-04_rb/) kbo(:, 4,49, 5) = (/ & &1.1011e+00_rb,9.1410e-01_rb,6.4521e-01_rb,3.4961e-01_rb,4.2272e-04_rb/) kbo(:, 5,49, 5) = (/ & &1.2484e+00_rb,1.0389e+00_rb,7.3730e-01_rb,4.0277e-01_rb,4.3479e-04_rb/) kbo(:, 1,50, 5) = (/ & &7.7254e-01_rb,6.3104e-01_rb,4.3765e-01_rb,2.3137e-01_rb,3.0017e-04_rb/) kbo(:, 2,50, 5) = (/ & &8.4478e-01_rb,6.9541e-01_rb,4.8529e-01_rb,2.5862e-01_rb,3.1617e-04_rb/) kbo(:, 3,50, 5) = (/ & &9.3925e-01_rb,7.7679e-01_rb,5.4465e-01_rb,2.9213e-01_rb,3.3160e-04_rb/) kbo(:, 4,50, 5) = (/ & &1.0567e+00_rb,8.7678e-01_rb,6.1788e-01_rb,3.3395e-01_rb,3.4487e-04_rb/) kbo(:, 5,50, 5) = (/ & &1.2008e+00_rb,9.9924e-01_rb,7.0798e-01_rb,3.8577e-01_rb,3.5577e-04_rb/) kbo(:, 1,51, 5) = (/ & &7.2669e-01_rb,5.9284e-01_rb,4.1030e-01_rb,2.1627e-01_rb,2.4246e-04_rb/) kbo(:, 2,51, 5) = (/ & &7.9410e-01_rb,6.5300e-01_rb,4.5497e-01_rb,2.4184e-01_rb,2.5602e-04_rb/) kbo(:, 3,51, 5) = (/ & &8.8167e-01_rb,7.2916e-01_rb,5.1056e-01_rb,2.7327e-01_rb,2.6933e-04_rb/) kbo(:, 4,51, 5) = (/ & &9.9265e-01_rb,8.2410e-01_rb,5.8011e-01_rb,3.1286e-01_rb,2.8099e-04_rb/) kbo(:, 5,51, 5) = (/ & &1.1303e+00_rb,9.4117e-01_rb,6.6603e-01_rb,3.6222e-01_rb,2.9075e-04_rb/) kbo(:, 1,52, 5) = (/ & &7.0293e-01_rb,5.7224e-01_rb,3.9526e-01_rb,2.0761e-01_rb,1.9566e-04_rb/) kbo(:, 2,52, 5) = (/ & &7.6814e-01_rb,6.3021e-01_rb,4.3806e-01_rb,2.3215e-01_rb,2.0717e-04_rb/) kbo(:, 3,52, 5) = (/ & &8.5099e-01_rb,7.0282e-01_rb,4.9133e-01_rb,2.6231e-01_rb,2.1874e-04_rb/) kbo(:, 4,52, 5) = (/ & &9.5857e-01_rb,7.9517e-01_rb,5.5876e-01_rb,3.0061e-01_rb,2.2893e-04_rb/) kbo(:, 5,52, 5) = (/ & &1.0928e+00_rb,9.0923e-01_rb,6.4230e-01_rb,3.4850e-01_rb,2.3751e-04_rb/) kbo(:, 1,53, 5) = (/ & &7.0799e-01_rb,5.7451e-01_rb,3.9589e-01_rb,2.0725e-01_rb,1.5775e-04_rb/) kbo(:, 2,53, 5) = (/ & &7.7421e-01_rb,6.3284e-01_rb,4.3870e-01_rb,2.3160e-01_rb,1.6771e-04_rb/) kbo(:, 3,53, 5) = (/ & &8.5551e-01_rb,7.0456e-01_rb,4.9136e-01_rb,2.6152e-01_rb,1.7761e-04_rb/) kbo(:, 4,53, 5) = (/ & &9.6362e-01_rb,7.9737e-01_rb,5.5891e-01_rb,2.9974e-01_rb,1.8647e-04_rb/) kbo(:, 5,53, 5) = (/ & &1.0993e+00_rb,9.1246e-01_rb,6.4296e-01_rb,3.4771e-01_rb,1.9425e-04_rb/) kbo(:, 1,54, 5) = (/ & &6.1781e-01_rb,5.0174e-01_rb,3.4551e-01_rb,1.8062e-01_rb,1.2698e-04_rb/) kbo(:, 2,54, 5) = (/ & &6.7617e-01_rb,5.5332e-01_rb,3.8324e-01_rb,2.0204e-01_rb,1.3548e-04_rb/) kbo(:, 3,54, 5) = (/ & &7.4609e-01_rb,6.1568e-01_rb,4.2927e-01_rb,2.2831e-01_rb,1.4360e-04_rb/) kbo(:, 4,54, 5) = (/ & &8.3975e-01_rb,6.9703e-01_rb,4.8868e-01_rb,2.6191e-01_rb,1.5134e-04_rb/) kbo(:, 5,54, 5) = (/ & &9.5851e-01_rb,7.9875e-01_rb,5.6310e-01_rb,3.0440e-01_rb,1.5803e-04_rb/) kbo(:, 1,55, 5) = (/ & &4.9218e-01_rb,4.0097e-01_rb,2.7614e-01_rb,1.4430e-01_rb,1.0197e-04_rb/) kbo(:, 2,55, 5) = (/ & &5.3911e-01_rb,4.4293e-01_rb,3.0686e-01_rb,1.6168e-01_rb,1.0930e-04_rb/) kbo(:, 3,55, 5) = (/ & &5.9446e-01_rb,4.9291e-01_rb,3.4401e-01_rb,1.8302e-01_rb,1.1592e-04_rb/) kbo(:, 4,55, 5) = (/ & &6.6816e-01_rb,5.5826e-01_rb,3.9205e-01_rb,2.1030e-01_rb,1.2249e-04_rb/) kbo(:, 5,55, 5) = (/ & &7.6300e-01_rb,6.4076e-01_rb,4.5273e-01_rb,2.4510e-01_rb,1.2815e-04_rb/) kbo(:, 1,56, 5) = (/ & &3.9213e-01_rb,3.2040e-01_rb,2.2062e-01_rb,1.1519e-01_rb,8.1886e-05_rb/) kbo(:, 2,56, 5) = (/ & &4.2970e-01_rb,3.5433e-01_rb,2.4555e-01_rb,1.2928e-01_rb,8.8029e-05_rb/) kbo(:, 3,56, 5) = (/ & &4.7372e-01_rb,3.9458e-01_rb,2.7557e-01_rb,1.4657e-01_rb,9.3592e-05_rb/) kbo(:, 4,56, 5) = (/ & &5.3136e-01_rb,4.4682e-01_rb,3.1425e-01_rb,1.6867e-01_rb,9.8924e-05_rb/) kbo(:, 5,56, 5) = (/ & &6.0680e-01_rb,5.1356e-01_rb,3.6377e-01_rb,1.9714e-01_rb,1.0388e-04_rb/) kbo(:, 1,57, 5) = (/ & &3.1256e-01_rb,2.5603e-01_rb,1.7627e-01_rb,9.1926e-02_rb,6.5686e-05_rb/) kbo(:, 2,57, 5) = (/ & &3.4230e-01_rb,2.8322e-01_rb,1.9630e-01_rb,1.0325e-01_rb,7.0810e-05_rb/) kbo(:, 3,57, 5) = (/ & &3.7748e-01_rb,3.1574e-01_rb,2.2058e-01_rb,1.1723e-01_rb,7.5533e-05_rb/) kbo(:, 4,57, 5) = (/ & &4.2229e-01_rb,3.5725e-01_rb,2.5162e-01_rb,1.3506e-01_rb,7.9907e-05_rb/) kbo(:, 5,57, 5) = (/ & &4.8209e-01_rb,4.1127e-01_rb,2.9188e-01_rb,1.5833e-01_rb,8.4096e-05_rb/) kbo(:, 1,58, 5) = (/ & &6.5834e-02_rb,6.6132e-02_rb,5.8548e-02_rb,4.2734e-02_rb,5.2667e-05_rb/) kbo(:, 2,58, 5) = (/ & &7.1968e-02_rb,7.3109e-02_rb,6.5197e-02_rb,4.8002e-02_rb,5.6984e-05_rb/) kbo(:, 3,58, 5) = (/ & &7.9437e-02_rb,8.1656e-02_rb,7.3428e-02_rb,5.4631e-02_rb,6.0874e-05_rb/) kbo(:, 4,58, 5) = (/ & &8.8662e-02_rb,9.2383e-02_rb,8.3809e-02_rb,6.3035e-02_rb,6.4619e-05_rb/) kbo(:, 5,58, 5) = (/ & &1.0118e-01_rb,1.0653e-01_rb,9.7458e-02_rb,7.4110e-02_rb,6.7988e-05_rb/) kbo(:, 1,59, 5) = (/ & &6.3055e-02_rb,6.1069e-02_rb,5.0451e-02_rb,3.2825e-02_rb,4.2796e-05_rb/) kbo(:, 2,59, 5) = (/ & &6.8995e-02_rb,6.7782e-02_rb,5.6462e-02_rb,3.7059e-02_rb,4.6289e-05_rb/) kbo(:, 3,59, 5) = (/ & &7.6280e-02_rb,7.6111e-02_rb,6.4009e-02_rb,4.2464e-02_rb,4.9459e-05_rb/) kbo(:, 4,59, 5) = (/ & &8.5284e-02_rb,8.6606e-02_rb,7.3583e-02_rb,4.9384e-02_rb,5.2442e-05_rb/) kbo(:, 5,59, 5) = (/ & &9.7585e-02_rb,1.0050e-01_rb,8.6230e-02_rb,5.8574e-02_rb,5.5198e-05_rb/) kbo(:, 1,13, 6) = (/ & &7.7180e+02_rb,5.7896e+02_rb,3.8611e+02_rb,1.9327e+02_rb,3.6289e-01_rb/) kbo(:, 2,13, 6) = (/ & &7.9285e+02_rb,5.9474e+02_rb,3.9664e+02_rb,1.9853e+02_rb,3.7298e-01_rb/) kbo(:, 3,13, 6) = (/ & &8.1518e+02_rb,6.1149e+02_rb,4.0780e+02_rb,2.0411e+02_rb,3.8121e-01_rb/) kbo(:, 4,13, 6) = (/ & &8.3776e+02_rb,6.2842e+02_rb,4.1908e+02_rb,2.0974e+02_rb,3.8734e-01_rb/) kbo(:, 5,13, 6) = (/ & &8.6087e+02_rb,6.4575e+02_rb,4.3063e+02_rb,2.1551e+02_rb,3.9230e-01_rb/) kbo(:, 1,14, 6) = (/ & &4.1395e+02_rb,3.1056e+02_rb,2.0718e+02_rb,1.0380e+02_rb,3.3381e-01_rb/) kbo(:, 2,14, 6) = (/ & &4.2539e+02_rb,3.1915e+02_rb,2.1290e+02_rb,1.0666e+02_rb,3.4169e-01_rb/) kbo(:, 3,14, 6) = (/ & &4.3723e+02_rb,3.2803e+02_rb,2.1882e+02_rb,1.0962e+02_rb,3.4947e-01_rb/) kbo(:, 4,14, 6) = (/ & &4.4927e+02_rb,3.3705e+02_rb,2.2483e+02_rb,1.1261e+02_rb,3.5567e-01_rb/) kbo(:, 5,14, 6) = (/ & &4.6195e+02_rb,3.4656e+02_rb,2.3117e+02_rb,1.1578e+02_rb,3.6065e-01_rb/) kbo(:, 1,15, 6) = (/ & &2.2585e+02_rb,1.6949e+02_rb,1.1313e+02_rb,5.6770e+01_rb,3.0356e-01_rb/) kbo(:, 2,15, 6) = (/ & &2.3201e+02_rb,1.7411e+02_rb,1.1621e+02_rb,5.8311e+01_rb,3.1091e-01_rb/) kbo(:, 3,15, 6) = (/ & &2.3839e+02_rb,1.7889e+02_rb,1.1939e+02_rb,5.9899e+01_rb,3.1810e-01_rb/) kbo(:, 4,15, 6) = (/ & &2.4502e+02_rb,1.8386e+02_rb,1.2270e+02_rb,6.1544e+01_rb,3.2391e-01_rb/) kbo(:, 5,15, 6) = (/ & &2.5289e+02_rb,1.8977e+02_rb,1.2664e+02_rb,6.3520e+01_rb,3.2850e-01_rb/) kbo(:, 1,16, 6) = (/ & &1.4635e+02_rb,1.0986e+02_rb,7.3372e+01_rb,3.6890e+01_rb,2.7344e-01_rb/) kbo(:, 2,16, 6) = (/ & &1.5031e+02_rb,1.1283e+02_rb,7.5356e+01_rb,3.7881e+01_rb,2.8092e-01_rb/) kbo(:, 3,16, 6) = (/ & &1.5444e+02_rb,1.1592e+02_rb,7.7407e+01_rb,3.8900e+01_rb,2.8781e-01_rb/) kbo(:, 4,16, 6) = (/ & &1.5922e+02_rb,1.1951e+02_rb,7.9797e+01_rb,4.0091e+01_rb,2.9332e-01_rb/) kbo(:, 5,16, 6) = (/ & &1.6548e+02_rb,1.2420e+02_rb,8.2930e+01_rb,4.1661e+01_rb,2.9808e-01_rb/) kbo(:, 1,17, 6) = (/ & &9.8142e+01_rb,7.3705e+01_rb,4.9268e+01_rb,2.4840e+01_rb,2.4429e-01_rb/) kbo(:, 2,17, 6) = (/ & &1.0076e+02_rb,7.5668e+01_rb,5.0576e+01_rb,2.5493e+01_rb,2.5184e-01_rb/) kbo(:, 3,17, 6) = (/ & &1.0378e+02_rb,7.7926e+01_rb,5.2073e+01_rb,2.6235e+01_rb,2.5821e-01_rb/) kbo(:, 4,17, 6) = (/ & &1.0768e+02_rb,8.0849e+01_rb,5.4024e+01_rb,2.7211e+01_rb,2.6339e-01_rb/) kbo(:, 5,17, 6) = (/ & &1.1267e+02_rb,8.4599e+01_rb,5.6526e+01_rb,2.8462e+01_rb,2.6841e-01_rb/) kbo(:, 1,18, 6) = (/ & &6.7329e+01_rb,5.0594e+01_rb,3.3862e+01_rb,1.7162e+01_rb,2.1677e-01_rb/) kbo(:, 2,18, 6) = (/ & &6.9224e+01_rb,5.2009e+01_rb,3.4803e+01_rb,1.7627e+01_rb,2.2376e-01_rb/) kbo(:, 3,18, 6) = (/ & &7.1671e+01_rb,5.3842e+01_rb,3.6019e+01_rb,1.8223e+01_rb,2.2981e-01_rb/) kbo(:, 4,18, 6) = (/ & &7.4922e+01_rb,5.6283e+01_rb,3.7648e+01_rb,1.9036e+01_rb,2.3516e-01_rb/) kbo(:, 5,18, 6) = (/ & &7.8609e+01_rb,5.9048e+01_rb,3.9493e+01_rb,1.9956e+01_rb,2.4055e-01_rb/) kbo(:, 1,19, 6) = (/ & &4.5351e+01_rb,3.4111e+01_rb,2.2879e+01_rb,1.1748e+01_rb,1.9068e-01_rb/) kbo(:, 2,19, 6) = (/ & &4.6788e+01_rb,3.5180e+01_rb,2.3587e+01_rb,1.2086e+01_rb,1.9727e-01_rb/) kbo(:, 3,19, 6) = (/ & &4.8819e+01_rb,3.6704e+01_rb,2.4596e+01_rb,1.2571e+01_rb,2.0322e-01_rb/) kbo(:, 4,19, 6) = (/ & &5.1243e+01_rb,3.8523e+01_rb,2.5810e+01_rb,1.3165e+01_rb,2.0895e-01_rb/) kbo(:, 5,19, 6) = (/ & &5.3759e+01_rb,4.0411e+01_rb,2.7071e+01_rb,1.3784e+01_rb,2.1468e-01_rb/) kbo(:, 1,20, 6) = (/ & &3.3050e+01_rb,2.4885e+01_rb,1.6741e+01_rb,8.7700e+00_rb,1.6695e-01_rb/) kbo(:, 2,20, 6) = (/ & &3.4346e+01_rb,2.5850e+01_rb,1.7375e+01_rb,9.0666e+00_rb,1.7321e-01_rb/) kbo(:, 3,20, 6) = (/ & &3.6031e+01_rb,2.7114e+01_rb,1.8213e+01_rb,9.4660e+00_rb,1.7929e-01_rb/) kbo(:, 4,20, 6) = (/ & &3.7866e+01_rb,2.8491e+01_rb,1.9130e+01_rb,9.9045e+00_rb,1.8515e-01_rb/) kbo(:, 5,20, 6) = (/ & &3.9713e+01_rb,2.9876e+01_rb,2.0052e+01_rb,1.0350e+01_rb,1.9066e-01_rb/) kbo(:, 1,21, 6) = (/ & &2.4844e+01_rb,1.8731e+01_rb,1.2673e+01_rb,6.7851e+00_rb,1.4553e-01_rb/) kbo(:, 2,21, 6) = (/ & &2.6012e+01_rb,1.9600e+01_rb,1.3239e+01_rb,7.0557e+00_rb,1.5180e-01_rb/) kbo(:, 3,21, 6) = (/ & &2.7347e+01_rb,2.0602e+01_rb,1.3900e+01_rb,7.3743e+00_rb,1.5767e-01_rb/) kbo(:, 4,21, 6) = (/ & &2.8734e+01_rb,2.1643e+01_rb,1.4586e+01_rb,7.7037e+00_rb,1.6319e-01_rb/) kbo(:, 5,21, 6) = (/ & &3.0137e+01_rb,2.2696e+01_rb,1.5284e+01_rb,8.0405e+00_rb,1.6831e-01_rb/) kbo(:, 1,22, 6) = (/ & &1.9244e+01_rb,1.4532e+01_rb,9.9298e+00_rb,5.4125e+00_rb,1.2703e-01_rb/) kbo(:, 2,22, 6) = (/ & &2.0224e+01_rb,1.5263e+01_rb,1.0402e+01_rb,5.6515e+00_rb,1.3287e-01_rb/) kbo(:, 3,22, 6) = (/ & &2.1278e+01_rb,1.6053e+01_rb,1.0915e+01_rb,5.9058e+00_rb,1.3815e-01_rb/) kbo(:, 4,22, 6) = (/ & &2.2359e+01_rb,1.6864e+01_rb,1.1443e+01_rb,6.1676e+00_rb,1.4315e-01_rb/) kbo(:, 5,22, 6) = (/ & &2.3448e+01_rb,1.7683e+01_rb,1.1980e+01_rb,6.4316e+00_rb,1.4780e-01_rb/) kbo(:, 1,23, 6) = (/ & &1.5003e+01_rb,1.1361e+01_rb,7.8631e+00_rb,4.3544e+00_rb,1.1053e-01_rb/) kbo(:, 2,23, 6) = (/ & &1.5788e+01_rb,1.1946e+01_rb,8.2434e+00_rb,4.5541e+00_rb,1.1564e-01_rb/) kbo(:, 3,23, 6) = (/ & &1.6609e+01_rb,1.2560e+01_rb,8.6387e+00_rb,4.7603e+00_rb,1.2034e-01_rb/) kbo(:, 4,23, 6) = (/ & &1.7444e+01_rb,1.3184e+01_rb,9.0429e+00_rb,4.9691e+00_rb,1.2479e-01_rb/) kbo(:, 5,23, 6) = (/ & &1.8318e+01_rb,1.3840e+01_rb,9.4687e+00_rb,5.1869e+00_rb,1.2894e-01_rb/) kbo(:, 1,24, 6) = (/ & &1.1642e+01_rb,8.8646e+00_rb,6.2180e+00_rb,3.4890e+00_rb,9.5642e-02_rb/) kbo(:, 2,24, 6) = (/ & &1.2250e+01_rb,9.3143e+00_rb,6.5164e+00_rb,3.6525e+00_rb,1.0007e-01_rb/) kbo(:, 3,24, 6) = (/ & &1.2878e+01_rb,9.7800e+00_rb,6.8207e+00_rb,3.8184e+00_rb,1.0423e-01_rb/) kbo(:, 4,24, 6) = (/ & &1.3534e+01_rb,1.0267e+01_rb,7.1387e+00_rb,3.9893e+00_rb,1.0818e-01_rb/) kbo(:, 5,24, 6) = (/ & &1.4255e+01_rb,1.0806e+01_rb,7.4905e+00_rb,4.1737e+00_rb,1.1190e-01_rb/) kbo(:, 1,25, 6) = (/ & &9.1475e+00_rb,7.0241e+00_rb,4.9880e+00_rb,2.8234e+00_rb,8.2353e-02_rb/) kbo(:, 2,25, 6) = (/ & &9.6194e+00_rb,7.3705e+00_rb,5.2236e+00_rb,2.9556e+00_rb,8.6208e-02_rb/) kbo(:, 3,25, 6) = (/ & &1.0118e+01_rb,7.7356e+00_rb,5.4684e+00_rb,3.0922e+00_rb,8.9882e-02_rb/) kbo(:, 4,25, 6) = (/ & &1.0662e+01_rb,8.1371e+00_rb,5.7357e+00_rb,3.2382e+00_rb,9.3407e-02_rb/) kbo(:, 5,25, 6) = (/ & &1.1279e+01_rb,8.5947e+00_rb,6.0377e+00_rb,3.4015e+00_rb,9.6770e-02_rb/) kbo(:, 1,26, 6) = (/ & &7.3112e+00_rb,5.6725e+00_rb,4.0689e+00_rb,2.3123e+00_rb,7.0640e-02_rb/) kbo(:, 2,26, 6) = (/ & &7.6950e+00_rb,5.9535e+00_rb,4.2634e+00_rb,2.4227e+00_rb,7.4010e-02_rb/) kbo(:, 3,26, 6) = (/ & &8.1066e+00_rb,6.2538e+00_rb,4.4719e+00_rb,2.5387e+00_rb,7.7271e-02_rb/) kbo(:, 4,26, 6) = (/ & &8.5794e+00_rb,6.6014e+00_rb,4.7086e+00_rb,2.6686e+00_rb,8.0450e-02_rb/) kbo(:, 5,26, 6) = (/ & &9.1099e+00_rb,6.9909e+00_rb,4.9735e+00_rb,2.8158e+00_rb,8.3380e-02_rb/) kbo(:, 1,27, 6) = (/ & &6.0744e+00_rb,4.7606e+00_rb,3.4368e+00_rb,1.9534e+00_rb,6.0404e-02_rb/) kbo(:, 2,27, 6) = (/ & &6.4010e+00_rb,4.9996e+00_rb,3.6064e+00_rb,2.0495e+00_rb,6.3391e-02_rb/) kbo(:, 3,27, 6) = (/ & &6.7712e+00_rb,5.2713e+00_rb,3.7979e+00_rb,2.1556e+00_rb,6.6293e-02_rb/) kbo(:, 4,27, 6) = (/ & &7.1986e+00_rb,5.5846e+00_rb,4.0153e+00_rb,2.2772e+00_rb,6.9007e-02_rb/) kbo(:, 5,27, 6) = (/ & &7.6755e+00_rb,5.9357e+00_rb,4.2585e+00_rb,2.4127e+00_rb,7.1247e-02_rb/) kbo(:, 1,28, 6) = (/ & &5.1866e+00_rb,4.1033e+00_rb,2.9724e+00_rb,1.6878e+00_rb,5.1571e-02_rb/) kbo(:, 2,28, 6) = (/ & &5.4861e+00_rb,4.3239e+00_rb,3.1305e+00_rb,1.7765e+00_rb,5.4219e-02_rb/) kbo(:, 3,28, 6) = (/ & &5.8320e+00_rb,4.5795e+00_rb,3.3130e+00_rb,1.8782e+00_rb,5.6690e-02_rb/) kbo(:, 4,28, 6) = (/ & &6.2247e+00_rb,4.8686e+00_rb,3.5188e+00_rb,1.9940e+00_rb,5.8750e-02_rb/) kbo(:, 5,28, 6) = (/ & &6.6558e+00_rb,5.1871e+00_rb,3.7446e+00_rb,2.1214e+00_rb,6.0243e-02_rb/) kbo(:, 1,29, 6) = (/ & &4.7142e+00_rb,3.7524e+00_rb,2.7162e+00_rb,1.5365e+00_rb,4.4039e-02_rb/) kbo(:, 2,29, 6) = (/ & &5.0090e+00_rb,3.9723e+00_rb,2.8754e+00_rb,1.6258e+00_rb,4.6277e-02_rb/) kbo(:, 3,29, 6) = (/ & &5.3480e+00_rb,4.2236e+00_rb,3.0565e+00_rb,1.7286e+00_rb,4.8156e-02_rb/) kbo(:, 4,29, 6) = (/ & &5.7292e+00_rb,4.5074e+00_rb,3.2622e+00_rb,1.8442e+00_rb,4.9560e-02_rb/) kbo(:, 5,29, 6) = (/ & &6.1329e+00_rb,4.8058e+00_rb,3.4771e+00_rb,1.9687e+00_rb,5.0487e-02_rb/) kbo(:, 1,30, 6) = (/ & &4.4038e+00_rb,3.5211e+00_rb,2.5447e+00_rb,1.4336e+00_rb,3.7528e-02_rb/) kbo(:, 2,30, 6) = (/ & &4.6996e+00_rb,3.7441e+00_rb,2.7067e+00_rb,1.5257e+00_rb,3.9262e-02_rb/) kbo(:, 3,30, 6) = (/ & &5.0396e+00_rb,3.9983e+00_rb,2.8921e+00_rb,1.6308e+00_rb,4.0573e-02_rb/) kbo(:, 4,30, 6) = (/ & &5.4089e+00_rb,4.2744e+00_rb,3.0942e+00_rb,1.7467e+00_rb,4.1475e-02_rb/) kbo(:, 5,30, 6) = (/ & &5.8026e+00_rb,4.5655e+00_rb,3.3058e+00_rb,1.8693e+00_rb,4.2084e-02_rb/) kbo(:, 1,31, 6) = (/ & &4.3406e+00_rb,3.4756e+00_rb,2.5043e+00_rb,1.4029e+00_rb,3.1837e-02_rb/) kbo(:, 2,31, 6) = (/ & &4.6530e+00_rb,3.7116e+00_rb,2.6766e+00_rb,1.5014e+00_rb,3.3063e-02_rb/) kbo(:, 3,31, 6) = (/ & &5.0025e+00_rb,3.9754e+00_rb,2.8716e+00_rb,1.6130e+00_rb,3.3948e-02_rb/) kbo(:, 4,31, 6) = (/ & &5.3785e+00_rb,4.2562e+00_rb,3.0774e+00_rb,1.7319e+00_rb,3.4570e-02_rb/) kbo(:, 5,31, 6) = (/ & &5.7889e+00_rb,4.5595e+00_rb,3.2989e+00_rb,1.8598e+00_rb,3.4986e-02_rb/) kbo(:, 1,32, 6) = (/ & &4.3396e+00_rb,3.4769e+00_rb,2.4992e+00_rb,1.3933e+00_rb,2.6827e-02_rb/) kbo(:, 2,32, 6) = (/ & &4.6714e+00_rb,3.7286e+00_rb,2.6844e+00_rb,1.4997e+00_rb,2.7685e-02_rb/) kbo(:, 3,32, 6) = (/ & &5.0312e+00_rb,4.0002e+00_rb,2.8855e+00_rb,1.6156e+00_rb,2.8303e-02_rb/) kbo(:, 4,32, 6) = (/ & &5.4256e+00_rb,4.2946e+00_rb,3.1010e+00_rb,1.7399e+00_rb,2.8748e-02_rb/) kbo(:, 5,32, 6) = (/ & &5.8665e+00_rb,4.6212e+00_rb,3.3393e+00_rb,1.8767e+00_rb,2.9064e-02_rb/) kbo(:, 1,33, 6) = (/ & &4.4332e+00_rb,3.5489e+00_rb,2.5452e+00_rb,1.4121e+00_rb,2.2496e-02_rb/) kbo(:, 2,33, 6) = (/ & &4.7823e+00_rb,3.8149e+00_rb,2.7429e+00_rb,1.5266e+00_rb,2.3111e-02_rb/) kbo(:, 3,33, 6) = (/ & &5.1647e+00_rb,4.1029e+00_rb,2.9548e+00_rb,1.6483e+00_rb,2.3573e-02_rb/) kbo(:, 4,33, 6) = (/ & &5.5917e+00_rb,4.4208e+00_rb,3.1884e+00_rb,1.7830e+00_rb,2.3904e-02_rb/) kbo(:, 5,33, 6) = (/ & &6.0743e+00_rb,4.7788e+00_rb,3.4474e+00_rb,1.9321e+00_rb,2.4134e-02_rb/) kbo(:, 1,34, 6) = (/ & &4.4125e+00_rb,3.5356e+00_rb,2.5335e+00_rb,1.4023e+00_rb,1.8787e-02_rb/) kbo(:, 2,34, 6) = (/ & &4.7724e+00_rb,3.8103e+00_rb,2.7374e+00_rb,1.5195e+00_rb,1.9239e-02_rb/) kbo(:, 3,34, 6) = (/ & &5.1721e+00_rb,4.1112e+00_rb,2.9584e+00_rb,1.6475e+00_rb,1.9590e-02_rb/) kbo(:, 4,34, 6) = (/ & &5.6244e+00_rb,4.4492e+00_rb,3.2069e+00_rb,1.7903e+00_rb,1.9843e-02_rb/) kbo(:, 5,34, 6) = (/ & &6.1384e+00_rb,4.8292e+00_rb,3.4834e+00_rb,1.9492e+00_rb,2.0036e-02_rb/) kbo(:, 1,35, 6) = (/ & &4.3717e+00_rb,3.5073e+00_rb,2.5119e+00_rb,1.3871e+00_rb,1.5622e-02_rb/) kbo(:, 2,35, 6) = (/ & &4.7431e+00_rb,3.7911e+00_rb,2.7216e+00_rb,1.5076e+00_rb,1.5975e-02_rb/) kbo(:, 3,35, 6) = (/ & &5.1596e+00_rb,4.1047e+00_rb,2.9535e+00_rb,1.6419e+00_rb,1.6252e-02_rb/) kbo(:, 4,35, 6) = (/ & &5.6365e+00_rb,4.4612e+00_rb,3.2141e+00_rb,1.7918e+00_rb,1.6461e-02_rb/) kbo(:, 5,35, 6) = (/ & &6.1774e+00_rb,4.8609e+00_rb,3.5048e+00_rb,1.9589e+00_rb,1.6599e-02_rb/) kbo(:, 1,36, 6) = (/ & &4.2736e+00_rb,3.4354e+00_rb,2.4585e+00_rb,1.3548e+00_rb,1.2936e-02_rb/) kbo(:, 2,36, 6) = (/ & &4.6496e+00_rb,3.7234e+00_rb,2.6724e+00_rb,1.4783e+00_rb,1.3228e-02_rb/) kbo(:, 3,36, 6) = (/ & &5.0769e+00_rb,4.0460e+00_rb,2.9111e+00_rb,1.6163e+00_rb,1.3462e-02_rb/) kbo(:, 4,36, 6) = (/ & &5.5708e+00_rb,4.4155e+00_rb,3.1813e+00_rb,1.7716e+00_rb,1.3637e-02_rb/) kbo(:, 5,36, 6) = (/ & &6.1338e+00_rb,4.8311e+00_rb,3.4822e+00_rb,1.9445e+00_rb,1.3753e-02_rb/) kbo(:, 1,37, 6) = (/ & &4.0234e+00_rb,3.2473e+00_rb,2.3232e+00_rb,1.2788e+00_rb,1.0671e-02_rb/) kbo(:, 2,37, 6) = (/ & &4.3892e+00_rb,3.5290e+00_rb,2.5324e+00_rb,1.3998e+00_rb,1.0924e-02_rb/) kbo(:, 3,37, 6) = (/ & &4.8090e+00_rb,3.8477e+00_rb,2.7688e+00_rb,1.5370e+00_rb,1.1122e-02_rb/) kbo(:, 4,37, 6) = (/ & &5.2982e+00_rb,4.2143e+00_rb,3.0374e+00_rb,1.6915e+00_rb,1.1275e-02_rb/) kbo(:, 5,37, 6) = (/ & &5.8599e+00_rb,4.6308e+00_rb,3.3399e+00_rb,1.8652e+00_rb,1.1382e-02_rb/) kbo(:, 1,38, 6) = (/ & &3.8405e+00_rb,3.1094e+00_rb,2.2232e+00_rb,1.2223e+00_rb,8.8011e-03_rb/) kbo(:, 2,38, 6) = (/ & &4.2026e+00_rb,3.3894e+00_rb,2.4317e+00_rb,1.3429e+00_rb,9.0204e-03_rb/) kbo(:, 3,38, 6) = (/ & &4.6223e+00_rb,3.7094e+00_rb,2.6688e+00_rb,1.4805e+00_rb,9.1889e-03_rb/) kbo(:, 4,38, 6) = (/ & &5.1135e+00_rb,4.0786e+00_rb,2.9400e+00_rb,1.6366e+00_rb,9.3266e-03_rb/) kbo(:, 5,38, 6) = (/ & &5.6812e+00_rb,4.4997e+00_rb,3.2457e+00_rb,1.8125e+00_rb,9.4327e-03_rb/) kbo(:, 1,39, 6) = (/ & &3.7513e+00_rb,3.0429e+00_rb,2.1735e+00_rb,1.1927e+00_rb,7.2681e-03_rb/) kbo(:, 2,39, 6) = (/ & &4.1185e+00_rb,3.3272e+00_rb,2.3853e+00_rb,1.3156e+00_rb,7.4517e-03_rb/) kbo(:, 3,39, 6) = (/ & &4.5480e+00_rb,3.6554e+00_rb,2.6285e+00_rb,1.4564e+00_rb,7.6013e-03_rb/) kbo(:, 4,39, 6) = (/ & &5.0522e+00_rb,4.0351e+00_rb,2.9074e+00_rb,1.6167e+00_rb,7.7185e-03_rb/) kbo(:, 5,39, 6) = (/ & &5.6411e+00_rb,4.4721e+00_rb,3.2250e+00_rb,1.7992e+00_rb,7.8245e-03_rb/) kbo(:, 1,40, 6) = (/ & &3.4100e+00_rb,2.7806e+00_rb,1.9856e+00_rb,1.0896e+00_rb,5.9768e-03_rb/) kbo(:, 2,40, 6) = (/ & &3.7541e+00_rb,3.0505e+00_rb,2.1868e+00_rb,1.2067e+00_rb,6.1348e-03_rb/) kbo(:, 3,40, 6) = (/ & &4.1600e+00_rb,3.3636e+00_rb,2.4194e+00_rb,1.3415e+00_rb,6.2676e-03_rb/) kbo(:, 4,40, 6) = (/ & &4.6404e+00_rb,3.7278e+00_rb,2.6880e+00_rb,1.4963e+00_rb,6.3713e-03_rb/) kbo(:, 5,40, 6) = (/ & &5.2035e+00_rb,4.1476e+00_rb,2.9948e+00_rb,1.6730e+00_rb,6.4667e-03_rb/) kbo(:, 1,41, 6) = (/ & &3.0891e+00_rb,2.5323e+00_rb,1.8076e+00_rb,9.9199e-01_rb,4.9106e-03_rb/) kbo(:, 2,41, 6) = (/ & &3.4100e+00_rb,2.7866e+00_rb,1.9972e+00_rb,1.1027e+00_rb,5.0459e-03_rb/) kbo(:, 3,41, 6) = (/ & &3.7913e+00_rb,3.0833e+00_rb,2.2185e+00_rb,1.2311e+00_rb,5.1622e-03_rb/) kbo(:, 4,41, 6) = (/ & &4.2439e+00_rb,3.4304e+00_rb,2.4754e+00_rb,1.3795e+00_rb,5.2594e-03_rb/) kbo(:, 5,41, 6) = (/ & &4.7807e+00_rb,3.8337e+00_rb,2.7715e+00_rb,1.5507e+00_rb,5.3436e-03_rb/) kbo(:, 1,42, 6) = (/ & &2.8278e+00_rb,2.3283e+00_rb,1.6611e+00_rb,9.1142e-01_rb,4.0331e-03_rb/) kbo(:, 2,42, 6) = (/ & &3.1295e+00_rb,2.5702e+00_rb,1.8417e+00_rb,1.0169e+00_rb,4.1507e-03_rb/) kbo(:, 3,42, 6) = (/ & &3.4910e+00_rb,2.8544e+00_rb,2.0536e+00_rb,1.1401e+00_rb,4.2525e-03_rb/) kbo(:, 4,42, 6) = (/ & &3.9235e+00_rb,3.1883e+00_rb,2.3016e+00_rb,1.2837e+00_rb,4.3408e-03_rb/) kbo(:, 5,42, 6) = (/ & &4.4380e+00_rb,3.5784e+00_rb,2.5896e+00_rb,1.4506e+00_rb,4.4170e-03_rb/) kbo(:, 1,43, 6) = (/ & &2.5971e+00_rb,2.1460e+00_rb,1.5298e+00_rb,8.3854e-01_rb,3.3049e-03_rb/) kbo(:, 2,43, 6) = (/ & &2.8799e+00_rb,2.3759e+00_rb,1.7013e+00_rb,9.3880e-01_rb,3.4092e-03_rb/) kbo(:, 3,43, 6) = (/ & &3.2202e+00_rb,2.6461e+00_rb,1.9035e+00_rb,1.0566e+00_rb,3.5003e-03_rb/) kbo(:, 4,43, 6) = (/ & &3.6329e+00_rb,2.9678e+00_rb,2.1426e+00_rb,1.1949e+00_rb,3.5773e-03_rb/) kbo(:, 5,43, 6) = (/ & &4.1275e+00_rb,3.3455e+00_rb,2.4216e+00_rb,1.3572e+00_rb,3.6480e-03_rb/) kbo(:, 1,44, 6) = (/ & &2.4109e+00_rb,1.9983e+00_rb,1.4225e+00_rb,7.7812e-01_rb,2.7054e-03_rb/) kbo(:, 2,44, 6) = (/ & &2.6776e+00_rb,2.2170e+00_rb,1.5862e+00_rb,8.7403e-01_rb,2.7971e-03_rb/) kbo(:, 3,44, 6) = (/ & &3.0022e+00_rb,2.4769e+00_rb,1.7806e+00_rb,9.8740e-01_rb,2.8773e-03_rb/) kbo(:, 4,44, 6) = (/ & &3.3965e+00_rb,2.7871e+00_rb,2.0115e+00_rb,1.1213e+00_rb,2.9478e-03_rb/) kbo(:, 5,44, 6) = (/ & &3.8747e+00_rb,3.1555e+00_rb,2.2836e+00_rb,1.2791e+00_rb,3.0101e-03_rb/) kbo(:, 1,45, 6) = (/ & &2.2815e+00_rb,1.8944e+00_rb,1.3464e+00_rb,7.3467e-01_rb,2.2130e-03_rb/) kbo(:, 2,45, 6) = (/ & &2.5401e+00_rb,2.1081e+00_rb,1.5065e+00_rb,8.2816e-01_rb,2.2948e-03_rb/) kbo(:, 3,45, 6) = (/ & &2.8533e+00_rb,2.3602e+00_rb,1.6948e+00_rb,9.3826e-01_rb,2.3656e-03_rb/) kbo(:, 4,45, 6) = (/ & &3.2382e+00_rb,2.6655e+00_rb,1.9218e+00_rb,1.0700e+00_rb,2.4291e-03_rb/) kbo(:, 5,45, 6) = (/ & &3.7076e+00_rb,3.0298e+00_rb,2.1912e+00_rb,1.2259e+00_rb,2.4852e-03_rb/) kbo(:, 1,46, 6) = (/ & &2.1752e+00_rb,1.8075e+00_rb,1.2824e+00_rb,6.9758e-01_rb,1.8083e-03_rb/) kbo(:, 2,46, 6) = (/ & &2.4262e+00_rb,2.0168e+00_rb,1.4391e+00_rb,7.8916e-01_rb,1.8803e-03_rb/) kbo(:, 3,46, 6) = (/ & &2.7306e+00_rb,2.2636e+00_rb,1.6229e+00_rb,8.9649e-01_rb,1.9453e-03_rb/) kbo(:, 4,46, 6) = (/ & &3.1079e+00_rb,2.5651e+00_rb,1.8473e+00_rb,1.0263e+00_rb,2.0023e-03_rb/) kbo(:, 5,46, 6) = (/ & &3.5715e+00_rb,2.9262e+00_rb,2.1144e+00_rb,1.1808e+00_rb,2.0547e-03_rb/) kbo(:, 1,47, 6) = (/ & &2.0439e+00_rb,1.6998e+00_rb,1.2039e+00_rb,6.5284e-01_rb,1.4728e-03_rb/) kbo(:, 2,47, 6) = (/ & &2.2849e+00_rb,1.9026e+00_rb,1.3552e+00_rb,7.4124e-01_rb,1.5378e-03_rb/) kbo(:, 3,47, 6) = (/ & &2.5739e+00_rb,2.1396e+00_rb,1.5317e+00_rb,8.4434e-01_rb,1.5971e-03_rb/) kbo(:, 4,47, 6) = (/ & &2.9355e+00_rb,2.4308e+00_rb,1.7484e+00_rb,9.6939e-01_rb,1.6478e-03_rb/) kbo(:, 5,47, 6) = (/ & &3.3837e+00_rb,2.7824e+00_rb,2.0088e+00_rb,1.1198e+00_rb,1.6945e-03_rb/) kbo(:, 1,48, 6) = (/ & &1.9729e+00_rb,1.6396e+00_rb,1.1585e+00_rb,6.2585e-01_rb,1.1998e-03_rb/) kbo(:, 2,48, 6) = (/ & &2.2114e+00_rb,1.8415e+00_rb,1.3088e+00_rb,7.1328e-01_rb,1.2575e-03_rb/) kbo(:, 3,48, 6) = (/ & &2.4937e+00_rb,2.0747e+00_rb,1.4825e+00_rb,8.1439e-01_rb,1.3096e-03_rb/) kbo(:, 4,48, 6) = (/ & &2.8486e+00_rb,2.3616e+00_rb,1.6960e+00_rb,9.3764e-01_rb,1.3556e-03_rb/) kbo(:, 5,48, 6) = (/ & &3.2936e+00_rb,2.7131e+00_rb,1.9561e+00_rb,1.0874e+00_rb,1.3979e-03_rb/) kbo(:, 1,49, 6) = (/ & &1.9817e+00_rb,1.6421e+00_rb,1.1570e+00_rb,6.2210e-01_rb,9.7602e-04_rb/) kbo(:, 2,49, 6) = (/ & &2.2272e+00_rb,1.8506e+00_rb,1.3118e+00_rb,7.1147e-01_rb,1.0279e-03_rb/) kbo(:, 3,49, 6) = (/ & &2.5150e+00_rb,2.0896e+00_rb,1.4898e+00_rb,8.1454e-01_rb,1.0745e-03_rb/) kbo(:, 4,49, 6) = (/ & &2.8769e+00_rb,2.3813e+00_rb,1.7067e+00_rb,9.3965e-01_rb,1.1160e-03_rb/) kbo(:, 5,49, 6) = (/ & &3.3353e+00_rb,2.7446e+00_rb,1.9747e+00_rb,1.0933e+00_rb,1.1545e-03_rb/) kbo(:, 1,50, 6) = (/ & &1.8978e+00_rb,1.5720e+00_rb,1.1055e+00_rb,5.9245e-01_rb,7.9308e-04_rb/) kbo(:, 2,50, 6) = (/ & &2.1399e+00_rb,1.7779e+00_rb,1.2580e+00_rb,6.8007e-01_rb,8.3888e-04_rb/) kbo(:, 3,50, 6) = (/ & &2.4218e+00_rb,2.0138e+00_rb,1.4333e+00_rb,7.8150e-01_rb,8.7996e-04_rb/) kbo(:, 4,50, 6) = (/ & &2.7742e+00_rb,2.2995e+00_rb,1.6455e+00_rb,9.0381e-01_rb,9.1698e-04_rb/) kbo(:, 5,50, 6) = (/ & &3.2255e+00_rb,2.6590e+00_rb,1.9107e+00_rb,1.0555e+00_rb,9.5164e-04_rb/) kbo(:, 1,51, 6) = (/ & &1.7787e+00_rb,1.4741e+00_rb,1.0351e+00_rb,5.5321e-01_rb,6.4322e-04_rb/) kbo(:, 2,51, 6) = (/ & &2.0121e+00_rb,1.6731e+00_rb,1.1819e+00_rb,6.3736e-01_rb,6.8396e-04_rb/) kbo(:, 3,51, 6) = (/ & &2.2825e+00_rb,1.9012e+00_rb,1.3514e+00_rb,7.3514e-01_rb,7.1977e-04_rb/) kbo(:, 4,51, 6) = (/ & &2.6184e+00_rb,2.1760e+00_rb,1.5550e+00_rb,8.5263e-01_rb,7.5276e-04_rb/) kbo(:, 5,51, 6) = (/ & &3.0526e+00_rb,2.5248e+00_rb,1.8126e+00_rb,9.9966e-01_rb,7.8322e-04_rb/) kbo(:, 1,52, 6) = (/ & &1.7138e+00_rb,1.4190e+00_rb,9.9450e-01_rb,5.2987e-01_rb,5.2154e-04_rb/) kbo(:, 2,52, 6) = (/ & &1.9434e+00_rb,1.6150e+00_rb,1.1387e+00_rb,6.1204e-01_rb,5.5749e-04_rb/) kbo(:, 3,52, 6) = (/ & &2.2115e+00_rb,1.8422e+00_rb,1.3069e+00_rb,7.0863e-01_rb,5.8864e-04_rb/) kbo(:, 4,52, 6) = (/ & &2.5398e+00_rb,2.1125e+00_rb,1.5071e+00_rb,8.2393e-01_rb,6.1775e-04_rb/) kbo(:, 5,52, 6) = (/ & &2.9672e+00_rb,2.4581e+00_rb,1.7623e+00_rb,9.6952e-01_rb,6.4493e-04_rb/) kbo(:, 1,53, 6) = (/ & &1.7198e+00_rb,1.4203e+00_rb,9.9324e-01_rb,5.2715e-01_rb,4.2262e-04_rb/) kbo(:, 2,53, 6) = (/ & &1.9529e+00_rb,1.6185e+00_rb,1.1384e+00_rb,6.0925e-01_rb,4.5399e-04_rb/) kbo(:, 3,53, 6) = (/ & &2.2293e+00_rb,1.8530e+00_rb,1.3116e+00_rb,7.0805e-01_rb,4.8128e-04_rb/) kbo(:, 4,53, 6) = (/ & &2.5636e+00_rb,2.1294e+00_rb,1.5160e+00_rb,8.2535e-01_rb,5.0713e-04_rb/) kbo(:, 5,53, 6) = (/ & &3.0004e+00_rb,2.4827e+00_rb,1.7770e+00_rb,9.7383e-01_rb,5.3111e-04_rb/) kbo(:, 1,54, 6) = (/ & &1.4969e+00_rb,1.2401e+00_rb,8.6613e-01_rb,4.5904e-01_rb,3.4135e-04_rb/) kbo(:, 2,54, 6) = (/ & &1.7004e+00_rb,1.4146e+00_rb,9.9400e-01_rb,5.3139e-01_rb,3.6835e-04_rb/) kbo(:, 3,54, 6) = (/ & &1.9475e+00_rb,1.6269e+00_rb,1.1506e+00_rb,6.2081e-01_rb,3.9232e-04_rb/) kbo(:, 4,54, 6) = (/ & &2.2441e+00_rb,1.8758e+00_rb,1.3350e+00_rb,7.2699e-01_rb,4.1441e-04_rb/) kbo(:, 5,54, 6) = (/ & &2.6322e+00_rb,2.1931e+00_rb,1.5695e+00_rb,8.6094e-01_rb,4.3501e-04_rb/) kbo(:, 1,55, 6) = (/ & &1.1902e+00_rb,9.9203e-01_rb,6.9261e-01_rb,3.6696e-01_rb,2.7539e-04_rb/) kbo(:, 2,55, 6) = (/ & &1.3514e+00_rb,1.1327e+00_rb,7.9579e-01_rb,4.2578e-01_rb,2.9805e-04_rb/) kbo(:, 3,55, 6) = (/ & &1.5528e+00_rb,1.3090e+00_rb,9.2585e-01_rb,5.0048e-01_rb,3.1883e-04_rb/) kbo(:, 4,55, 6) = (/ & &1.7945e+00_rb,1.5161e+00_rb,1.0797e+00_rb,5.8958e-01_rb,3.3758e-04_rb/) kbo(:, 5,55, 6) = (/ & &2.1091e+00_rb,1.7786e+00_rb,1.2743e+00_rb,7.0161e-01_rb,3.5497e-04_rb/) kbo(:, 1,56, 6) = (/ & &9.4564e-01_rb,7.9256e-01_rb,5.5332e-01_rb,2.9317e-01_rb,2.2189e-04_rb/) kbo(:, 2,56, 6) = (/ & &1.0727e+00_rb,9.0556e-01_rb,6.3622e-01_rb,3.4063e-01_rb,2.4090e-04_rb/) kbo(:, 3,56, 6) = (/ & &1.2368e+00_rb,1.0514e+00_rb,7.4402e-01_rb,4.0280e-01_rb,2.5859e-04_rb/) kbo(:, 4,56, 6) = (/ & &1.4335e+00_rb,1.2238e+00_rb,8.7212e-01_rb,4.7748e-01_rb,2.7478e-04_rb/) kbo(:, 5,56, 6) = (/ & &1.6876e+00_rb,1.4404e+00_rb,1.0331e+00_rb,5.7092e-01_rb,2.8964e-04_rb/) kbo(:, 1,57, 6) = (/ & &7.5151e-01_rb,6.3315e-01_rb,4.4196e-01_rb,2.3414e-01_rb,1.7834e-04_rb/) kbo(:, 2,57, 6) = (/ & &8.5091e-01_rb,7.2306e-01_rb,5.0804e-01_rb,2.7214e-01_rb,1.9471e-04_rb/) kbo(:, 3,57, 6) = (/ & &9.8353e-01_rb,8.4281e-01_rb,5.9656e-01_rb,3.2337e-01_rb,2.0961e-04_rb/) kbo(:, 4,57, 6) = (/ & &1.1433e+00_rb,9.8609e-01_rb,7.0325e-01_rb,3.8594e-01_rb,2.2327e-04_rb/) kbo(:, 5,57, 6) = (/ & &1.3484e+00_rb,1.1650e+00_rb,8.3657e-01_rb,4.6393e-01_rb,2.3604e-04_rb/) kbo(:, 1,58, 6) = (/ & &1.5793e-01_rb,1.6356e-01_rb,1.4683e-01_rb,1.0896e-01_rb,1.4326e-04_rb/) kbo(:, 2,58, 6) = (/ & &1.7834e-01_rb,1.8665e-01_rb,1.6872e-01_rb,1.2675e-01_rb,1.5731e-04_rb/) kbo(:, 3,58, 6) = (/ & &2.0650e-01_rb,2.1828e-01_rb,1.9887e-01_rb,1.5129e-01_rb,1.6986e-04_rb/) kbo(:, 4,58, 6) = (/ & &2.4084e-01_rb,2.5688e-01_rb,2.3602e-01_rb,1.8197e-01_rb,1.8127e-04_rb/) kbo(:, 5,58, 6) = (/ & &2.8453e-01_rb,3.0466e-01_rb,2.8209e-01_rb,2.2013e-01_rb,1.9222e-04_rb/) kbo(:, 1,59, 6) = (/ & &1.5159e-01_rb,1.5229e-01_rb,1.2764e-01_rb,8.4631e-02_rb,1.1680e-04_rb/) kbo(:, 2,59, 6) = (/ & &1.7166e-01_rb,1.7481e-01_rb,1.4781e-01_rb,9.9479e-02_rb,1.2840e-04_rb/) kbo(:, 3,59, 6) = (/ & &1.9953e-01_rb,2.0595e-01_rb,1.7587e-01_rb,1.2013e-01_rb,1.3871e-04_rb/) kbo(:, 4,59, 6) = (/ & &2.3377e-01_rb,2.4439e-01_rb,2.1097e-01_rb,1.4631e-01_rb,1.4804e-04_rb/) kbo(:, 5,59, 6) = (/ & &2.7769e-01_rb,2.9243e-01_rb,2.5484e-01_rb,1.7920e-01_rb,1.5678e-04_rb/) kbo(:, 1,13, 7) = (/ & &1.7755e+03_rb,1.3317e+03_rb,8.8796e+02_rb,4.4421e+02_rb,6.5972e-01_rb/) kbo(:, 2,13, 7) = (/ & &1.8279e+03_rb,1.3710e+03_rb,9.1418e+02_rb,4.5731e+02_rb,6.6173e-01_rb/) kbo(:, 3,13, 7) = (/ & &1.8885e+03_rb,1.4165e+03_rb,9.4446e+02_rb,4.7244e+02_rb,6.6577e-01_rb/) kbo(:, 4,13, 7) = (/ & &1.9490e+03_rb,1.4619e+03_rb,9.7472e+02_rb,4.8757e+02_rb,6.7090e-01_rb/) kbo(:, 5,13, 7) = (/ & &2.0075e+03_rb,1.5058e+03_rb,1.0040e+03_rb,5.0220e+02_rb,6.7193e-01_rb/) kbo(:, 1,14, 7) = (/ & &9.7594e+02_rb,7.3206e+02_rb,4.8819e+02_rb,2.4432e+02_rb,6.3121e-01_rb/) kbo(:, 2,14, 7) = (/ & &1.0087e+03_rb,7.5661e+02_rb,5.0455e+02_rb,2.5249e+02_rb,6.3502e-01_rb/) kbo(:, 3,14, 7) = (/ & &1.0415e+03_rb,7.8124e+02_rb,5.2096e+02_rb,2.6069e+02_rb,6.3710e-01_rb/) kbo(:, 4,14, 7) = (/ & &1.0744e+03_rb,8.0589e+02_rb,5.3739e+02_rb,2.6890e+02_rb,6.4004e-01_rb/) kbo(:, 5,14, 7) = (/ & &1.1054e+03_rb,8.2913e+02_rb,5.5288e+02_rb,2.7664e+02_rb,6.4122e-01_rb/) kbo(:, 1,15, 7) = (/ & &5.4478e+02_rb,4.0870e+02_rb,2.7262e+02_rb,1.3654e+02_rb,5.9523e-01_rb/) kbo(:, 2,15, 7) = (/ & &5.6305e+02_rb,4.2240e+02_rb,2.8175e+02_rb,1.4110e+02_rb,6.0003e-01_rb/) kbo(:, 3,15, 7) = (/ & &5.8123e+02_rb,4.3603e+02_rb,2.9083e+02_rb,1.4563e+02_rb,6.0181e-01_rb/) kbo(:, 4,15, 7) = (/ & &5.9882e+02_rb,4.4922e+02_rb,2.9962e+02_rb,1.5002e+02_rb,6.0320e-01_rb/) kbo(:, 5,15, 7) = (/ & &6.1530e+02_rb,4.6158e+02_rb,3.0785e+02_rb,1.5413e+02_rb,6.0492e-01_rb/) kbo(:, 1,16, 7) = (/ & &3.5993e+02_rb,2.7006e+02_rb,1.8020e+02_rb,9.0332e+01_rb,5.5493e-01_rb/) kbo(:, 2,16, 7) = (/ & &3.7215e+02_rb,2.7922e+02_rb,1.8629e+02_rb,9.3372e+01_rb,5.5851e-01_rb/) kbo(:, 3,16, 7) = (/ & &3.8394e+02_rb,2.8806e+02_rb,1.9218e+02_rb,9.6308e+01_rb,5.6035e-01_rb/) kbo(:, 4,16, 7) = (/ & &3.9518e+02_rb,2.9649e+02_rb,1.9779e+02_rb,9.9106e+01_rb,5.6267e-01_rb/) kbo(:, 5,16, 7) = (/ & &4.0564e+02_rb,3.0433e+02_rb,2.0302e+02_rb,1.0171e+02_rb,5.6476e-01_rb/) kbo(:, 1,17, 7) = (/ & &2.4595e+02_rb,1.8458e+02_rb,1.2320e+02_rb,6.1838e+01_rb,5.0905e-01_rb/) kbo(:, 2,17, 7) = (/ & &2.5413e+02_rb,1.9070e+02_rb,1.2728e+02_rb,6.3868e+01_rb,5.1185e-01_rb/) kbo(:, 3,17, 7) = (/ & &2.6187e+02_rb,1.9651e+02_rb,1.3115e+02_rb,6.5795e+01_rb,5.1474e-01_rb/) kbo(:, 4,17, 7) = (/ & &2.6921e+02_rb,2.0201e+02_rb,1.3481e+02_rb,6.7615e+01_rb,5.1865e-01_rb/) kbo(:, 5,17, 7) = (/ & &2.7688e+02_rb,2.0776e+02_rb,1.3865e+02_rb,6.9531e+01_rb,5.2170e-01_rb/) kbo(:, 1,18, 7) = (/ & &1.7164e+02_rb,1.2884e+02_rb,8.6050e+01_rb,4.3266e+01_rb,4.6055e-01_rb/) kbo(:, 2,18, 7) = (/ & &1.7713e+02_rb,1.3296e+02_rb,8.8791e+01_rb,4.4628e+01_rb,4.6405e-01_rb/) kbo(:, 3,18, 7) = (/ & &1.8233e+02_rb,1.3686e+02_rb,9.1384e+01_rb,4.5916e+01_rb,4.6825e-01_rb/) kbo(:, 4,18, 7) = (/ & &1.8765e+02_rb,1.4084e+02_rb,9.4032e+01_rb,4.7229e+01_rb,4.7329e-01_rb/) kbo(:, 5,18, 7) = (/ & &1.9405e+02_rb,1.4564e+02_rb,9.7227e+01_rb,4.8824e+01_rb,4.7705e-01_rb/) kbo(:, 1,19, 7) = (/ & &1.1725e+02_rb,8.8048e+01_rb,5.8853e+01_rb,2.9674e+01_rb,4.1247e-01_rb/) kbo(:, 2,19, 7) = (/ & &1.2086e+02_rb,9.0759e+01_rb,6.0656e+01_rb,3.0566e+01_rb,4.1661e-01_rb/) kbo(:, 3,19, 7) = (/ & &1.2440e+02_rb,9.3403e+01_rb,6.2413e+01_rb,3.1438e+01_rb,4.2213e-01_rb/) kbo(:, 4,19, 7) = (/ & &1.2864e+02_rb,9.6587e+01_rb,6.4532e+01_rb,3.2489e+01_rb,4.2779e-01_rb/) kbo(:, 5,19, 7) = (/ & &1.3396e+02_rb,1.0057e+02_rb,6.7181e+01_rb,3.3807e+01_rb,4.3260e-01_rb/) kbo(:, 1,20, 7) = (/ & &8.6468e+01_rb,6.4964e+01_rb,4.3467e+01_rb,2.2017e+01_rb,3.6582e-01_rb/) kbo(:, 2,20, 7) = (/ & &8.9024e+01_rb,6.6879e+01_rb,4.4738e+01_rb,2.2636e+01_rb,3.7131e-01_rb/) kbo(:, 3,20, 7) = (/ & &9.1943e+01_rb,6.9064e+01_rb,4.6188e+01_rb,2.3347e+01_rb,3.7766e-01_rb/) kbo(:, 4,20, 7) = (/ & &9.5737e+01_rb,7.1906e+01_rb,4.8080e+01_rb,2.4283e+01_rb,3.8413e-01_rb/) kbo(:, 5,20, 7) = (/ & &1.0032e+02_rb,7.5342e+01_rb,5.0362e+01_rb,2.5410e+01_rb,3.9048e-01_rb/) kbo(:, 1,21, 7) = (/ & &6.5580e+01_rb,4.9300e+01_rb,3.3030e+01_rb,1.6896e+01_rb,3.2248e-01_rb/) kbo(:, 2,21, 7) = (/ & &6.7679e+01_rb,5.0870e+01_rb,3.4072e+01_rb,1.7386e+01_rb,3.2902e-01_rb/) kbo(:, 3,21, 7) = (/ & &7.0353e+01_rb,5.2872e+01_rb,3.5398e+01_rb,1.8022e+01_rb,3.3617e-01_rb/) kbo(:, 4,21, 7) = (/ & &7.3710e+01_rb,5.5384e+01_rb,3.7067e+01_rb,1.8833e+01_rb,3.4337e-01_rb/) kbo(:, 5,21, 7) = (/ & &7.7378e+01_rb,5.8129e+01_rb,3.8887e+01_rb,1.9718e+01_rb,3.5091e-01_rb/) kbo(:, 1,22, 7) = (/ & &5.0990e+01_rb,3.8360e+01_rb,2.5747e+01_rb,1.3390e+01_rb,2.8355e-01_rb/) kbo(:, 2,22, 7) = (/ & &5.2937e+01_rb,3.9813e+01_rb,2.6706e+01_rb,1.3827e+01_rb,2.9084e-01_rb/) kbo(:, 3,22, 7) = (/ & &5.5472e+01_rb,4.1712e+01_rb,2.7965e+01_rb,1.4417e+01_rb,2.9863e-01_rb/) kbo(:, 4,22, 7) = (/ & &5.8295e+01_rb,4.3822e+01_rb,2.9362e+01_rb,1.5079e+01_rb,3.0668e-01_rb/) kbo(:, 5,22, 7) = (/ & &6.1215e+01_rb,4.6005e+01_rb,3.0807e+01_rb,1.5766e+01_rb,3.1501e-01_rb/) kbo(:, 1,23, 7) = (/ & &3.9928e+01_rb,3.0064e+01_rb,2.0251e+01_rb,1.0753e+01_rb,2.4875e-01_rb/) kbo(:, 2,23, 7) = (/ & &4.1783e+01_rb,3.1450e+01_rb,2.1160e+01_rb,1.1173e+01_rb,2.5662e-01_rb/) kbo(:, 3,23, 7) = (/ & &4.3954e+01_rb,3.3072e+01_rb,2.2227e+01_rb,1.1670e+01_rb,2.6505e-01_rb/) kbo(:, 4,23, 7) = (/ & &4.6239e+01_rb,3.4779e+01_rb,2.3350e+01_rb,1.2195e+01_rb,2.7351e-01_rb/) kbo(:, 5,23, 7) = (/ & &4.8555e+01_rb,3.6509e+01_rb,2.4489e+01_rb,1.2725e+01_rb,2.8191e-01_rb/) kbo(:, 1,24, 7) = (/ & &3.1198e+01_rb,2.3518e+01_rb,1.5962e+01_rb,8.6666e+00_rb,2.1812e-01_rb/) kbo(:, 2,24, 7) = (/ & &3.2836e+01_rb,2.4742e+01_rb,1.6752e+01_rb,9.0412e+00_rb,2.2642e-01_rb/) kbo(:, 3,24, 7) = (/ & &3.4586e+01_rb,2.6047e+01_rb,1.7597e+01_rb,9.4445e+00_rb,2.3475e-01_rb/) kbo(:, 4,24, 7) = (/ & &3.6388e+01_rb,2.7390e+01_rb,1.8470e+01_rb,9.8567e+00_rb,2.4289e-01_rb/) kbo(:, 5,24, 7) = (/ & &3.8237e+01_rb,2.8772e+01_rb,1.9370e+01_rb,1.0281e+01_rb,2.5096e-01_rb/) kbo(:, 1,25, 7) = (/ & &2.4765e+01_rb,1.8701e+01_rb,1.2839e+01_rb,7.1044e+00_rb,1.9118e-01_rb/) kbo(:, 2,25, 7) = (/ & &2.6117e+01_rb,1.9708e+01_rb,1.3481e+01_rb,7.4248e+00_rb,1.9923e-01_rb/) kbo(:, 3,25, 7) = (/ & &2.7518e+01_rb,2.0749e+01_rb,1.4145e+01_rb,7.7545e+00_rb,2.0704e-01_rb/) kbo(:, 4,25, 7) = (/ & &2.8948e+01_rb,2.1814e+01_rb,1.4825e+01_rb,8.0892e+00_rb,2.1475e-01_rb/) kbo(:, 5,25, 7) = (/ & &3.0459e+01_rb,2.2943e+01_rb,1.5551e+01_rb,8.4409e+00_rb,2.2240e-01_rb/) kbo(:, 1,26, 7) = (/ & &1.9997e+01_rb,1.5145e+01_rb,1.0541e+01_rb,5.9203e+00_rb,1.6734e-01_rb/) kbo(:, 2,26, 7) = (/ & &2.1098e+01_rb,1.5958e+01_rb,1.1060e+01_rb,6.1929e+00_rb,1.7471e-01_rb/) kbo(:, 3,26, 7) = (/ & &2.2238e+01_rb,1.6802e+01_rb,1.1594e+01_rb,6.4727e+00_rb,1.8196e-01_rb/) kbo(:, 4,26, 7) = (/ & &2.3407e+01_rb,1.7668e+01_rb,1.2141e+01_rb,6.7596e+00_rb,1.8921e-01_rb/) kbo(:, 5,26, 7) = (/ & &2.4698e+01_rb,1.8629e+01_rb,1.2749e+01_rb,7.0654e+00_rb,1.9648e-01_rb/) kbo(:, 1,27, 7) = (/ & &1.6756e+01_rb,1.2745e+01_rb,8.9780e+00_rb,5.0906e+00_rb,1.4596e-01_rb/) kbo(:, 2,27, 7) = (/ & &1.7682e+01_rb,1.3422e+01_rb,9.4167e+00_rb,5.3320e+00_rb,1.5263e-01_rb/) kbo(:, 3,27, 7) = (/ & &1.8639e+01_rb,1.4123e+01_rb,9.8653e+00_rb,5.5814e+00_rb,1.5946e-01_rb/) kbo(:, 4,27, 7) = (/ & &1.9672e+01_rb,1.4884e+01_rb,1.0349e+01_rb,5.8433e+00_rb,1.6641e-01_rb/) kbo(:, 5,27, 7) = (/ & &2.0853e+01_rb,1.5759e+01_rb,1.0902e+01_rb,6.1333e+00_rb,1.7345e-01_rb/) kbo(:, 1,28, 7) = (/ & &1.4405e+01_rb,1.1016e+01_rb,7.8395e+00_rb,4.4691e+00_rb,1.2690e-01_rb/) kbo(:, 2,28, 7) = (/ & &1.5206e+01_rb,1.1594e+01_rb,8.2236e+00_rb,4.6907e+00_rb,1.3310e-01_rb/) kbo(:, 3,28, 7) = (/ & &1.6055e+01_rb,1.2210e+01_rb,8.6248e+00_rb,4.9200e+00_rb,1.3960e-01_rb/) kbo(:, 4,28, 7) = (/ & &1.7030e+01_rb,1.2924e+01_rb,9.0823e+00_rb,5.1747e+00_rb,1.4629e-01_rb/) kbo(:, 5,28, 7) = (/ & &1.8152e+01_rb,1.3752e+01_rb,9.6123e+00_rb,5.4653e+00_rb,1.5306e-01_rb/) kbo(:, 1,29, 7) = (/ & &1.3149e+01_rb,1.0099e+01_rb,7.2312e+00_rb,4.1269e+00_rb,1.1016e-01_rb/) kbo(:, 2,29, 7) = (/ & &1.3892e+01_rb,1.0633e+01_rb,7.5916e+00_rb,4.3391e+00_rb,1.1614e-01_rb/) kbo(:, 3,29, 7) = (/ & &1.4735e+01_rb,1.1242e+01_rb,7.9958e+00_rb,4.5718e+00_rb,1.2237e-01_rb/) kbo(:, 4,29, 7) = (/ & &1.5717e+01_rb,1.1957e+01_rb,8.4609e+00_rb,4.8366e+00_rb,1.2878e-01_rb/) kbo(:, 5,29, 7) = (/ & &1.6850e+01_rb,1.2790e+01_rb,8.9991e+00_rb,5.1366e+00_rb,1.3504e-01_rb/) kbo(:, 1,30, 7) = (/ & &1.2314e+01_rb,9.4945e+00_rb,6.8243e+00_rb,3.8903e+00_rb,9.5721e-02_rb/) kbo(:, 2,30, 7) = (/ & &1.3054e+01_rb,1.0024e+01_rb,7.1887e+00_rb,4.1054e+00_rb,1.0142e-01_rb/) kbo(:, 3,30, 7) = (/ & &1.3921e+01_rb,1.0650e+01_rb,7.6093e+00_rb,4.3517e+00_rb,1.0739e-01_rb/) kbo(:, 4,30, 7) = (/ & &1.4944e+01_rb,1.1393e+01_rb,8.1010e+00_rb,4.6344e+00_rb,1.1328e-01_rb/) kbo(:, 5,30, 7) = (/ & &1.6104e+01_rb,1.2245e+01_rb,8.6565e+00_rb,4.9501e+00_rb,1.1877e-01_rb/) kbo(:, 1,31, 7) = (/ & &1.2157e+01_rb,9.3878e+00_rb,6.7548e+00_rb,3.8381e+00_rb,8.3345e-02_rb/) kbo(:, 2,31, 7) = (/ & &1.2955e+01_rb,9.9594e+00_rb,7.1498e+00_rb,4.0728e+00_rb,8.8771e-02_rb/) kbo(:, 3,31, 7) = (/ & &1.3911e+01_rb,1.0649e+01_rb,7.6174e+00_rb,4.3452e+00_rb,9.4250e-02_rb/) kbo(:, 4,31, 7) = (/ & &1.5017e+01_rb,1.1456e+01_rb,8.1532e+00_rb,4.6551e+00_rb,9.9406e-02_rb/) kbo(:, 5,31, 7) = (/ & &1.6266e+01_rb,1.2373e+01_rb,8.7552e+00_rb,5.0004e+00_rb,1.0401e-01_rb/) kbo(:, 1,32, 7) = (/ & &1.2189e+01_rb,9.4190e+00_rb,6.7775e+00_rb,3.8398e+00_rb,7.2780e-02_rb/) kbo(:, 2,32, 7) = (/ & &1.3084e+01_rb,1.0062e+01_rb,7.2229e+00_rb,4.1020e+00_rb,7.7761e-02_rb/) kbo(:, 3,32, 7) = (/ & &1.4139e+01_rb,1.0827e+01_rb,7.7437e+00_rb,4.4056e+00_rb,8.2541e-02_rb/) kbo(:, 4,32, 7) = (/ & &1.5347e+01_rb,1.1710e+01_rb,8.3333e+00_rb,4.7481e+00_rb,8.6905e-02_rb/) kbo(:, 5,32, 7) = (/ & &1.6687e+01_rb,1.2692e+01_rb,8.9809e+00_rb,5.1206e+00_rb,9.0564e-02_rb/) kbo(:, 1,33, 7) = (/ & &1.2504e+01_rb,9.6581e+00_rb,6.9429e+00_rb,3.9220e+00_rb,6.3643e-02_rb/) kbo(:, 2,33, 7) = (/ & &1.3523e+01_rb,1.0393e+01_rb,7.4532e+00_rb,4.2218e+00_rb,6.8037e-02_rb/) kbo(:, 3,33, 7) = (/ & &1.4701e+01_rb,1.1251e+01_rb,8.0374e+00_rb,4.5635e+00_rb,7.2051e-02_rb/) kbo(:, 4,33, 7) = (/ & &1.6035e+01_rb,1.2227e+01_rb,8.6879e+00_rb,4.9410e+00_rb,7.5520e-02_rb/) kbo(:, 5,33, 7) = (/ & &1.7498e+01_rb,1.3301e+01_rb,9.3946e+00_rb,5.3470e+00_rb,7.8343e-02_rb/) kbo(:, 1,34, 7) = (/ & &1.2544e+01_rb,9.6932e+00_rb,6.9709e+00_rb,3.9324e+00_rb,5.5495e-02_rb/) kbo(:, 2,34, 7) = (/ & &1.3652e+01_rb,1.0495e+01_rb,7.5288e+00_rb,4.2613e+00_rb,5.9207e-02_rb/) kbo(:, 3,34, 7) = (/ & &1.4931e+01_rb,1.1428e+01_rb,8.1665e+00_rb,4.6328e+00_rb,6.2449e-02_rb/) kbo(:, 4,34, 7) = (/ & &1.6342e+01_rb,1.2460e+01_rb,8.8567e+00_rb,5.0367e+00_rb,6.5144e-02_rb/) kbo(:, 5,34, 7) = (/ & &1.7926e+01_rb,1.3623e+01_rb,9.6166e+00_rb,5.4694e+00_rb,6.7469e-02_rb/) kbo(:, 1,35, 7) = (/ & &1.2550e+01_rb,9.7037e+00_rb,6.9833e+00_rb,3.9358e+00_rb,4.7960e-02_rb/) kbo(:, 2,35, 7) = (/ & &1.3742e+01_rb,1.0569e+01_rb,7.5854e+00_rb,4.2904e+00_rb,5.1023e-02_rb/) kbo(:, 3,35, 7) = (/ & &1.5093e+01_rb,1.1555e+01_rb,8.2621e+00_rb,4.6878e+00_rb,5.3624e-02_rb/) kbo(:, 4,35, 7) = (/ & &1.6591e+01_rb,1.2650e+01_rb,8.9950e+00_rb,5.1151e+00_rb,5.5900e-02_rb/) kbo(:, 5,35, 7) = (/ & &1.8304e+01_rb,1.3907e+01_rb,9.8148e+00_rb,5.5812e+00_rb,5.7988e-02_rb/) kbo(:, 1,36, 7) = (/ & &1.2397e+01_rb,9.5976e+00_rb,6.9138e+00_rb,3.8949e+00_rb,4.1048e-02_rb/) kbo(:, 2,36, 7) = (/ & &1.3655e+01_rb,1.0513e+01_rb,7.5553e+00_rb,4.2704e+00_rb,4.3574e-02_rb/) kbo(:, 3,36, 7) = (/ & &1.5056e+01_rb,1.1535e+01_rb,8.2577e+00_rb,4.6863e+00_rb,4.5767e-02_rb/) kbo(:, 4,36, 7) = (/ & &1.6621e+01_rb,1.2678e+01_rb,9.0220e+00_rb,5.1309e+00_rb,4.7778e-02_rb/) kbo(:, 5,36, 7) = (/ & &1.8454e+01_rb,1.4024e+01_rb,9.9036e+00_rb,5.6291e+00_rb,4.9683e-02_rb/) kbo(:, 1,37, 7) = (/ & &1.1793e+01_rb,9.1604e+00_rb,6.6146e+00_rb,3.7234e+00_rb,3.4707e-02_rb/) kbo(:, 2,37, 7) = (/ & &1.3041e+01_rb,1.0070e+01_rb,7.2604e+00_rb,4.1046e+00_rb,3.6864e-02_rb/) kbo(:, 3,37, 7) = (/ & &1.4439e+01_rb,1.1088e+01_rb,7.9659e+00_rb,4.5244e+00_rb,3.8795e-02_rb/) kbo(:, 4,37, 7) = (/ & &1.6025e+01_rb,1.2245e+01_rb,8.7442e+00_rb,4.9773e+00_rb,4.0613e-02_rb/) kbo(:, 5,37, 7) = (/ & &1.7882e+01_rb,1.3605e+01_rb,9.6420e+00_rb,5.4880e+00_rb,4.2339e-02_rb/) kbo(:, 1,38, 7) = (/ & &1.1383e+01_rb,8.8666e+00_rb,6.4134e+00_rb,3.6072e+00_rb,2.9298e-02_rb/) kbo(:, 2,38, 7) = (/ & &1.2643e+01_rb,9.7859e+00_rb,7.0699e+00_rb,3.9972e+00_rb,3.1148e-02_rb/) kbo(:, 3,38, 7) = (/ & &1.4056e+01_rb,1.0814e+01_rb,7.7862e+00_rb,4.4229e+00_rb,3.2867e-02_rb/) kbo(:, 4,38, 7) = (/ & &1.5686e+01_rb,1.2002e+01_rb,8.5915e+00_rb,4.8935e+00_rb,3.4517e-02_rb/) kbo(:, 5,38, 7) = (/ & &1.7595e+01_rb,1.3400e+01_rb,9.5179e+00_rb,5.4208e+00_rb,3.6067e-02_rb/) kbo(:, 1,39, 7) = (/ & &1.1254e+01_rb,8.7785e+00_rb,6.3532e+00_rb,3.5698e+00_rb,2.4703e-02_rb/) kbo(:, 2,39, 7) = (/ & &1.2546e+01_rb,9.7238e+00_rb,7.0319e+00_rb,3.9725e+00_rb,2.6328e-02_rb/) kbo(:, 3,39, 7) = (/ & &1.4010e+01_rb,1.0789e+01_rb,7.7764e+00_rb,4.4152e+00_rb,2.7854e-02_rb/) kbo(:, 4,39, 7) = (/ & &1.5714e+01_rb,1.2031e+01_rb,8.6190e+00_rb,4.9070e+00_rb,2.9325e-02_rb/) kbo(:, 5,39, 7) = (/ & &1.7752e+01_rb,1.3525e+01_rb,9.6124e+00_rb,5.4718e+00_rb,3.0788e-02_rb/) kbo(:, 1,40, 7) = (/ & &1.0343e+01_rb,8.1149e+00_rb,5.8880e+00_rb,3.3077e+00_rb,2.0662e-02_rb/) kbo(:, 2,40, 7) = (/ & &1.1581e+01_rb,9.0215e+00_rb,6.5477e+00_rb,3.7008e+00_rb,2.2084e-02_rb/) kbo(:, 3,40, 7) = (/ & &1.2986e+01_rb,1.0044e+01_rb,7.2710e+00_rb,4.1322e+00_rb,2.3431e-02_rb/) kbo(:, 4,40, 7) = (/ & &1.4638e+01_rb,1.1247e+01_rb,8.0993e+00_rb,4.6196e+00_rb,2.4776e-02_rb/) kbo(:, 5,40, 7) = (/ & &1.6625e+01_rb,1.2700e+01_rb,9.0740e+00_rb,5.1787e+00_rb,2.6103e-02_rb/) kbo(:, 1,41, 7) = (/ & &9.4683e+00_rb,7.4757e+00_rb,5.4378e+00_rb,3.0540e+00_rb,1.7243e-02_rb/) kbo(:, 2,41, 7) = (/ & &1.0645e+01_rb,8.3400e+00_rb,6.0743e+00_rb,3.4334e+00_rb,1.8487e-02_rb/) kbo(:, 3,41, 7) = (/ & &1.1996e+01_rb,9.3250e+00_rb,6.7794e+00_rb,3.8546e+00_rb,1.9684e-02_rb/) kbo(:, 4,41, 7) = (/ & &1.3587e+01_rb,1.0480e+01_rb,7.5843e+00_rb,4.3322e+00_rb,2.0909e-02_rb/) kbo(:, 5,41, 7) = (/ & &1.5513e+01_rb,1.1886e+01_rb,8.5396e+00_rb,4.8864e+00_rb,2.2113e-02_rb/) kbo(:, 1,42, 7) = (/ & &8.7596e+00_rb,6.9575e+00_rb,5.0695e+00_rb,2.8442e+00_rb,1.4375e-02_rb/) kbo(:, 2,42, 7) = (/ & &9.8918e+00_rb,7.7921e+00_rb,5.6895e+00_rb,3.2145e+00_rb,1.5469e-02_rb/) kbo(:, 3,42, 7) = (/ & &1.1196e+01_rb,8.7450e+00_rb,6.3808e+00_rb,3.6290e+00_rb,1.6542e-02_rb/) kbo(:, 4,42, 7) = (/ & &1.2750e+01_rb,9.8741e+00_rb,7.1757e+00_rb,4.1018e+00_rb,1.7643e-02_rb/) kbo(:, 5,42, 7) = (/ & &1.4631e+01_rb,1.1244e+01_rb,8.1146e+00_rb,4.6494e+00_rb,1.8736e-02_rb/) kbo(:, 1,43, 7) = (/ & &8.1129e+00_rb,6.4828e+00_rb,4.7282e+00_rb,2.6502e+00_rb,1.1920e-02_rb/) kbo(:, 2,43, 7) = (/ & &9.2040e+00_rb,7.2919e+00_rb,5.3332e+00_rb,3.0110e+00_rb,1.2884e-02_rb/) kbo(:, 3,43, 7) = (/ & &1.0467e+01_rb,8.2176e+00_rb,6.0123e+00_rb,3.4195e+00_rb,1.3839e-02_rb/) kbo(:, 4,43, 7) = (/ & &1.1975e+01_rb,9.3139e+00_rb,6.7911e+00_rb,3.8837e+00_rb,1.4824e-02_rb/) kbo(:, 5,43, 7) = (/ & &1.3821e+01_rb,1.0658e+01_rb,7.7247e+00_rb,4.4294e+00_rb,1.5816e-02_rb/) kbo(:, 1,44, 7) = (/ & &7.5813e+00_rb,6.0889e+00_rb,4.4438e+00_rb,2.4886e+00_rb,9.8504e-03_rb/) kbo(:, 2,44, 7) = (/ & &8.6433e+00_rb,6.8838e+00_rb,5.0388e+00_rb,2.8416e+00_rb,1.0695e-02_rb/) kbo(:, 3,44, 7) = (/ & &9.8815e+00_rb,7.7937e+00_rb,5.7119e+00_rb,3.2452e+00_rb,1.1549e-02_rb/) kbo(:, 4,44, 7) = (/ & &1.1354e+01_rb,8.8664e+00_rb,6.4827e+00_rb,3.7047e+00_rb,1.2430e-02_rb/) kbo(:, 5,44, 7) = (/ & &1.3162e+01_rb,1.0183e+01_rb,7.4060e+00_rb,4.2473e+00_rb,1.3335e-02_rb/) kbo(:, 1,45, 7) = (/ & &7.2186e+00_rb,5.8199e+00_rb,4.2461e+00_rb,2.3747e+00_rb,8.1314e-03_rb/) kbo(:, 2,45, 7) = (/ & &8.2698e+00_rb,6.6114e+00_rb,4.8385e+00_rb,2.7251e+00_rb,8.8750e-03_rb/) kbo(:, 3,45, 7) = (/ & &9.5031e+00_rb,7.5246e+00_rb,5.5174e+00_rb,3.1306e+00_rb,9.6297e-03_rb/) kbo(:, 4,45, 7) = (/ & &1.0974e+01_rb,8.5972e+00_rb,6.2944e+00_rb,3.5936e+00_rb,1.0417e-02_rb/) kbo(:, 5,45, 7) = (/ & &1.2791e+01_rb,9.9194e+00_rb,7.2286e+00_rb,4.1456e+00_rb,1.1234e-02_rb/) kbo(:, 1,46, 7) = (/ & &6.9141e+00_rb,5.5940e+00_rb,4.0776e+00_rb,2.2758e+00_rb,6.6876e-03_rb/) kbo(:, 2,46, 7) = (/ & &7.9503e+00_rb,6.3788e+00_rb,4.6670e+00_rb,2.6226e+00_rb,7.3399e-03_rb/) kbo(:, 3,46, 7) = (/ & &9.1864e+00_rb,7.2991e+00_rb,5.3560e+00_rb,3.0335e+00_rb,8.0038e-03_rb/) kbo(:, 4,46, 7) = (/ & &1.0667e+01_rb,8.3803e+00_rb,6.1440e+00_rb,3.5030e+00_rb,8.7040e-03_rb/) kbo(:, 5,46, 7) = (/ & &1.2488e+01_rb,9.7091e+00_rb,7.0857e+00_rb,4.0595e+00_rb,9.4400e-03_rb/) kbo(:, 1,47, 7) = (/ & &6.5158e+00_rb,5.2952e+00_rb,3.8553e+00_rb,2.1461e+00_rb,5.4578e-03_rb/) kbo(:, 2,47, 7) = (/ & &7.5125e+00_rb,6.0542e+00_rb,4.4282e+00_rb,2.4823e+00_rb,6.0287e-03_rb/) kbo(:, 3,47, 7) = (/ & &8.7277e+00_rb,6.9654e+00_rb,5.1130e+00_rb,2.8905e+00_rb,6.6123e-03_rb/) kbo(:, 4,47, 7) = (/ & &1.0180e+01_rb,8.0330e+00_rb,5.8977e+00_rb,3.3599e+00_rb,7.2304e-03_rb/) kbo(:, 5,47, 7) = (/ & &1.1985e+01_rb,9.3498e+00_rb,6.8393e+00_rb,3.9162e+00_rb,7.8875e-03_rb/) kbo(:, 1,48, 7) = (/ & &6.3104e+00_rb,5.1398e+00_rb,3.7343e+00_rb,2.0712e+00_rb,4.4438e-03_rb/) kbo(:, 2,48, 7) = (/ & &7.2865e+00_rb,5.8865e+00_rb,4.2999e+00_rb,2.4038e+00_rb,4.9412e-03_rb/) kbo(:, 3,48, 7) = (/ & &8.5071e+00_rb,6.8079e+00_rb,4.9920e+00_rb,2.8153e+00_rb,5.4521e-03_rb/) kbo(:, 4,48, 7) = (/ & &9.9728e+00_rb,7.8905e+00_rb,5.7928e+00_rb,3.2942e+00_rb,5.9945e-03_rb/) kbo(:, 5,48, 7) = (/ & &1.1799e+01_rb,9.2259e+00_rb,6.7537e+00_rb,3.8639e+00_rb,6.5748e-03_rb/) kbo(:, 1,49, 7) = (/ & &6.3637e+00_rb,5.1793e+00_rb,3.7516e+00_rb,2.0723e+00_rb,3.6085e-03_rb/) kbo(:, 2,49, 7) = (/ & &7.3474e+00_rb,5.9332e+00_rb,4.3233e+00_rb,2.4087e+00_rb,4.0406e-03_rb/) kbo(:, 3,49, 7) = (/ & &8.6221e+00_rb,6.8978e+00_rb,5.0458e+00_rb,2.8357e+00_rb,4.4876e-03_rb/) kbo(:, 4,49, 7) = (/ & &1.0155e+01_rb,8.0340e+00_rb,5.8866e+00_rb,3.3379e+00_rb,4.9641e-03_rb/) kbo(:, 5,49, 7) = (/ & &1.2071e+01_rb,9.4371e+00_rb,6.8986e+00_rb,3.9361e+00_rb,5.4780e-03_rb/) kbo(:, 1,50, 7) = (/ & &6.1287e+00_rb,4.9982e+00_rb,3.6130e+00_rb,1.9898e+00_rb,2.9263e-03_rb/) kbo(:, 2,50, 7) = (/ & &7.0793e+00_rb,5.7315e+00_rb,4.1690e+00_rb,2.3166e+00_rb,3.3022e-03_rb/) kbo(:, 3,50, 7) = (/ & &8.3385e+00_rb,6.6892e+00_rb,4.8872e+00_rb,2.7388e+00_rb,3.6894e-03_rb/) kbo(:, 4,50, 7) = (/ & &9.8705e+00_rb,7.8310e+00_rb,5.7364e+00_rb,3.2460e+00_rb,4.1061e-03_rb/) kbo(:, 5,50, 7) = (/ & &1.1792e+01_rb,9.2428e+00_rb,6.7611e+00_rb,3.8534e+00_rb,4.5631e-03_rb/) kbo(:, 1,51, 7) = (/ & &5.7768e+00_rb,4.7273e+00_rb,3.4121e+00_rb,1.8743e+00_rb,2.3693e-03_rb/) kbo(:, 2,51, 7) = (/ & &6.6763e+00_rb,5.4272e+00_rb,3.9426e+00_rb,2.1849e+00_rb,2.6931e-03_rb/) kbo(:, 3,51, 7) = (/ & &7.8931e+00_rb,6.3576e+00_rb,4.6398e+00_rb,2.5939e+00_rb,3.0298e-03_rb/) kbo(:, 4,51, 7) = (/ & &9.3905e+00_rb,7.4818e+00_rb,5.4825e+00_rb,3.0966e+00_rb,3.3909e-03_rb/) kbo(:, 5,51, 7) = (/ & &1.1270e+01_rb,8.8663e+00_rb,6.4953e+00_rb,3.6986e+00_rb,3.7911e-03_rb/) kbo(:, 1,52, 7) = (/ & &5.5982e+00_rb,4.5875e+00_rb,3.3045e+00_rb,1.8093e+00_rb,1.9133e-03_rb/) kbo(:, 2,52, 7) = (/ & &6.4669e+00_rb,5.2676e+00_rb,3.8189e+00_rb,2.1105e+00_rb,2.1929e-03_rb/) kbo(:, 3,52, 7) = (/ & &7.6692e+00_rb,6.1904e+00_rb,4.5114e+00_rb,2.5133e+00_rb,2.4833e-03_rb/) kbo(:, 4,52, 7) = (/ & &9.1760e+00_rb,7.3261e+00_rb,5.3623e+00_rb,3.0203e+00_rb,2.7953e-03_rb/) kbo(:, 5,52, 7) = (/ & &1.1059e+01_rb,8.7181e+00_rb,6.3851e+00_rb,3.6291e+00_rb,3.1452e-03_rb/) kbo(:, 1,53, 7) = (/ & &5.6498e+00_rb,4.6222e+00_rb,3.3203e+00_rb,1.8115e+00_rb,1.5408e-03_rb/) kbo(:, 2,53, 7) = (/ & &6.5197e+00_rb,5.3054e+00_rb,3.8365e+00_rb,2.1129e+00_rb,1.7821e-03_rb/) kbo(:, 3,53, 7) = (/ & &7.7464e+00_rb,6.2478e+00_rb,4.5414e+00_rb,2.5222e+00_rb,2.0319e-03_rb/) kbo(:, 4,53, 7) = (/ & &9.3204e+00_rb,7.4376e+00_rb,5.4308e+00_rb,3.0476e+00_rb,2.3029e-03_rb/) kbo(:, 5,53, 7) = (/ & &1.1294e+01_rb,8.9013e+00_rb,6.5042e+00_rb,3.6848e+00_rb,2.6089e-03_rb/) kbo(:, 1,54, 7) = (/ & &4.9410e+00_rb,4.0701e+00_rb,2.9220e+00_rb,1.5920e+00_rb,1.2393e-03_rb/) kbo(:, 2,54, 7) = (/ & &5.7011e+00_rb,4.6779e+00_rb,3.3818e+00_rb,1.8599e+00_rb,1.4465e-03_rb/) kbo(:, 3,54, 7) = (/ & &6.7851e+00_rb,5.5214e+00_rb,4.0167e+00_rb,2.2288e+00_rb,1.6602e-03_rb/) kbo(:, 4,54, 7) = (/ & &8.2133e+00_rb,6.6133e+00_rb,4.8372e+00_rb,2.7129e+00_rb,1.8918e-03_rb/) kbo(:, 5,54, 7) = (/ & &1.0009e+01_rb,7.9570e+00_rb,5.8358e+00_rb,3.3045e+00_rb,2.1561e-03_rb/) kbo(:, 1,55, 7) = (/ & &3.9448e+00_rb,3.2894e+00_rb,2.3617e+00_rb,1.2863e+00_rb,9.9479e-04_rb/) kbo(:, 2,55, 7) = (/ & &4.5510e+00_rb,3.7868e+00_rb,2.7406e+00_rb,1.5076e+00_rb,1.1698e-03_rb/) kbo(:, 3,55, 7) = (/ & &5.4272e+00_rb,4.4849e+00_rb,3.2681e+00_rb,1.8142e+00_rb,1.3510e-03_rb/) kbo(:, 4,55, 7) = (/ & &6.6050e+00_rb,5.4031e+00_rb,3.9651e+00_rb,2.2259e+00_rb,1.5494e-03_rb/) kbo(:, 5,55, 7) = (/ & &8.0992e+00_rb,6.5420e+00_rb,4.8249e+00_rb,2.7373e+00_rb,1.7731e-03_rb/) kbo(:, 1,56, 7) = (/ & &3.1456e+00_rb,2.6539e+00_rb,1.9051e+00_rb,1.0370e+00_rb,7.9618e-04_rb/) kbo(:, 2,56, 7) = (/ & &3.6287e+00_rb,3.0618e+00_rb,2.2169e+00_rb,1.2199e+00_rb,9.4437e-04_rb/) kbo(:, 3,56, 7) = (/ & &4.3315e+00_rb,3.6363e+00_rb,2.6526e+00_rb,1.4737e+00_rb,1.0978e-03_rb/) kbo(:, 4,56, 7) = (/ & &5.3003e+00_rb,4.4092e+00_rb,3.2425e+00_rb,1.8210e+00_rb,1.2654e-03_rb/) kbo(:, 5,56, 7) = (/ & &6.5412e+00_rb,5.3749e+00_rb,3.9813e+00_rb,2.2622e+00_rb,1.4546e-03_rb/) kbo(:, 1,57, 7) = (/ & &2.5050e+00_rb,2.1372e+00_rb,1.5333e+00_rb,8.3409e-01_rb,6.3524e-04_rb/) kbo(:, 2,57, 7) = (/ & &2.8897e+00_rb,2.4717e+00_rb,1.7900e+00_rb,9.8489e-01_rb,7.5959e-04_rb/) kbo(:, 3,57, 7) = (/ & &3.4502e+00_rb,2.9412e+00_rb,2.1481e+00_rb,1.1943e+00_rb,8.8948e-04_rb/) kbo(:, 4,57, 7) = (/ & &4.2411e+00_rb,3.5892e+00_rb,2.6434e+00_rb,1.4858e+00_rb,1.0311e-03_rb/) kbo(:, 5,57, 7) = (/ & &5.2712e+00_rb,4.4105e+00_rb,3.2776e+00_rb,1.8647e+00_rb,1.1913e-03_rb/) kbo(:, 1,58, 7) = (/ & &5.2639e-01_rb,5.5628e-01_rb,5.1310e-01_rb,3.9091e-01_rb,5.0641e-04_rb/) kbo(:, 2,58, 7) = (/ & &6.0772e-01_rb,6.4553e-01_rb,6.0135e-01_rb,4.6372e-01_rb,6.1035e-04_rb/) kbo(:, 3,58, 7) = (/ & &7.2539e-01_rb,7.7016e-01_rb,7.2403e-01_rb,5.6463e-01_rb,7.2056e-04_rb/) kbo(:, 4,58, 7) = (/ & &8.9558e-01_rb,9.4507e-01_rb,8.9682e-01_rb,7.0739e-01_rb,8.3918e-04_rb/) kbo(:, 5,58, 7) = (/ & &1.1215e+00_rb,1.1728e+00_rb,1.1240e+00_rb,8.9769e-01_rb,9.7498e-04_rb/) kbo(:, 1,59, 7) = (/ & &5.0774e-01_rb,5.2725e-01_rb,4.5400e-01_rb,3.0925e-01_rb,4.1598e-04_rb/) kbo(:, 2,59, 7) = (/ & &5.8906e-01_rb,6.1772e-01_rb,5.3777e-01_rb,3.7151e-01_rb,5.0342e-04_rb/) kbo(:, 3,59, 7) = (/ & &7.0796e-01_rb,7.4490e-01_rb,6.5525e-01_rb,4.5851e-01_rb,5.9609e-04_rb/) kbo(:, 4,59, 7) = (/ & &8.8130e-01_rb,9.2517e-01_rb,8.2251e-01_rb,5.8308e-01_rb,6.9661e-04_rb/) kbo(:, 5,59, 7) = (/ & &1.1130e+00_rb,1.1619e+00_rb,1.0449e+00_rb,7.5118e-01_rb,8.1226e-04_rb/) kbo(:, 1,13, 8) = (/ & &5.5674e+03_rb,4.1757e+03_rb,2.7839e+03_rb,1.3922e+03_rb,1.1827e+00_rb/) kbo(:, 2,13, 8) = (/ & &5.5672e+03_rb,4.1755e+03_rb,2.7838e+03_rb,1.3922e+03_rb,1.1780e+00_rb/) kbo(:, 3,13, 8) = (/ & &5.5974e+03_rb,4.1981e+03_rb,2.7989e+03_rb,1.3997e+03_rb,1.1714e+00_rb/) kbo(:, 4,13, 8) = (/ & &5.6743e+03_rb,4.2558e+03_rb,2.8374e+03_rb,1.4189e+03_rb,1.1612e+00_rb/) kbo(:, 5,13, 8) = (/ & &5.7999e+03_rb,4.3500e+03_rb,2.9002e+03_rb,1.4503e+03_rb,1.1566e+00_rb/) kbo(:, 1,14, 8) = (/ & &3.0072e+03_rb,2.2555e+03_rb,1.5038e+03_rb,7.5211e+02_rb,1.1873e+00_rb/) kbo(:, 2,14, 8) = (/ & &3.0260e+03_rb,2.2696e+03_rb,1.5132e+03_rb,7.5683e+02_rb,1.1778e+00_rb/) kbo(:, 3,14, 8) = (/ & &3.0739e+03_rb,2.3055e+03_rb,1.5371e+03_rb,7.6880e+02_rb,1.1759e+00_rb/) kbo(:, 4,14, 8) = (/ & &3.1534e+03_rb,2.3651e+03_rb,1.5769e+03_rb,7.8868e+02_rb,1.1686e+00_rb/) kbo(:, 5,14, 8) = (/ & &3.2601e+03_rb,2.4451e+03_rb,1.6302e+03_rb,8.1536e+02_rb,1.1588e+00_rb/) kbo(:, 1,15, 8) = (/ & &1.6681e+03_rb,1.2512e+03_rb,8.3428e+02_rb,4.1737e+02_rb,1.1796e+00_rb/) kbo(:, 2,15, 8) = (/ & &1.6959e+03_rb,1.2720e+03_rb,8.4818e+02_rb,4.2432e+02_rb,1.1712e+00_rb/) kbo(:, 3,15, 8) = (/ & &1.7438e+03_rb,1.3080e+03_rb,8.7214e+02_rb,4.3631e+02_rb,1.1630e+00_rb/) kbo(:, 4,15, 8) = (/ & &1.8057e+03_rb,1.3544e+03_rb,9.0311e+02_rb,4.5180e+02_rb,1.1584e+00_rb/) kbo(:, 5,15, 8) = (/ & &1.8729e+03_rb,1.4048e+03_rb,9.3671e+02_rb,4.6860e+02_rb,1.1490e+00_rb/) kbo(:, 1,16, 8) = (/ & &1.1127e+03_rb,8.3463e+02_rb,5.5657e+02_rb,2.7851e+02_rb,1.1544e+00_rb/) kbo(:, 2,16, 8) = (/ & &1.1452e+03_rb,8.5902e+02_rb,5.7284e+02_rb,2.8665e+02_rb,1.1489e+00_rb/) kbo(:, 3,16, 8) = (/ & &1.1859e+03_rb,8.8958e+02_rb,5.9321e+02_rb,2.9685e+02_rb,1.1423e+00_rb/) kbo(:, 4,16, 8) = (/ & &1.2314e+03_rb,9.2370e+02_rb,6.1596e+02_rb,3.0822e+02_rb,1.1380e+00_rb/) kbo(:, 5,16, 8) = (/ & &1.2793e+03_rb,9.5963e+02_rb,6.3991e+02_rb,3.2020e+02_rb,1.1307e+00_rb/) kbo(:, 1,17, 8) = (/ & &7.7661e+02_rb,5.8258e+02_rb,3.8854e+02_rb,1.9450e+02_rb,1.1162e+00_rb/) kbo(:, 2,17, 8) = (/ & &8.0415e+02_rb,6.0323e+02_rb,4.0231e+02_rb,2.0139e+02_rb,1.1130e+00_rb/) kbo(:, 3,17, 8) = (/ & &8.3554e+02_rb,6.2677e+02_rb,4.1801e+02_rb,2.0924e+02_rb,1.1093e+00_rb/) kbo(:, 4,17, 8) = (/ & &8.6787e+02_rb,6.5102e+02_rb,4.3418e+02_rb,2.1733e+02_rb,1.1057e+00_rb/) kbo(:, 5,17, 8) = (/ & &9.0039e+02_rb,6.7541e+02_rb,4.5043e+02_rb,2.2545e+02_rb,1.0994e+00_rb/) kbo(:, 1,18, 8) = (/ & &5.5593e+02_rb,4.1706e+02_rb,2.7819e+02_rb,1.3933e+02_rb,1.0653e+00_rb/) kbo(:, 2,18, 8) = (/ & &5.7731e+02_rb,4.3309e+02_rb,2.8888e+02_rb,1.4467e+02_rb,1.0637e+00_rb/) kbo(:, 3,18, 8) = (/ & &5.9962e+02_rb,4.4983e+02_rb,3.0005e+02_rb,1.5026e+02_rb,1.0625e+00_rb/) kbo(:, 4,18, 8) = (/ & &6.2213e+02_rb,4.6672e+02_rb,3.1130e+02_rb,1.5589e+02_rb,1.0595e+00_rb/) kbo(:, 5,18, 8) = (/ & &6.4470e+02_rb,4.8364e+02_rb,3.2258e+02_rb,1.6152e+02_rb,1.0552e+00_rb/) kbo(:, 1,19, 8) = (/ & &3.9059e+02_rb,2.9306e+02_rb,1.9552e+02_rb,9.7992e+01_rb,1.0025e+00_rb/) kbo(:, 2,19, 8) = (/ & &4.0544e+02_rb,3.0420e+02_rb,2.0295e+02_rb,1.0172e+02_rb,1.0019e+00_rb/) kbo(:, 3,19, 8) = (/ & &4.2056e+02_rb,3.1554e+02_rb,2.1052e+02_rb,1.0550e+02_rb,1.0025e+00_rb/) kbo(:, 4,19, 8) = (/ & &4.3576e+02_rb,3.2693e+02_rb,2.1811e+02_rb,1.0930e+02_rb,1.0012e+00_rb/) kbo(:, 5,19, 8) = (/ & &4.5126e+02_rb,3.3856e+02_rb,2.2586e+02_rb,1.1317e+02_rb,9.9899e-01_rb/) kbo(:, 1,20, 8) = (/ & &2.9617e+02_rb,2.2224e+02_rb,1.4831e+02_rb,7.4392e+01_rb,9.3059e-01_rb/) kbo(:, 2,20, 8) = (/ & &3.0716e+02_rb,2.3049e+02_rb,1.5382e+02_rb,7.7154e+01_rb,9.3219e-01_rb/) kbo(:, 3,20, 8) = (/ & &3.1816e+02_rb,2.3874e+02_rb,1.5932e+02_rb,7.9908e+01_rb,9.3370e-01_rb/) kbo(:, 4,20, 8) = (/ & &3.2952e+02_rb,2.4726e+02_rb,1.6500e+02_rb,8.2741e+01_rb,9.3435e-01_rb/) kbo(:, 5,20, 8) = (/ & &3.4150e+02_rb,2.5625e+02_rb,1.7099e+02_rb,8.5741e+01_rb,9.3474e-01_rb/) kbo(:, 1,21, 8) = (/ & &2.3042e+02_rb,1.7293e+02_rb,1.1544e+02_rb,5.7965e+01_rb,8.5235e-01_rb/) kbo(:, 2,21, 8) = (/ & &2.3880e+02_rb,1.7922e+02_rb,1.1964e+02_rb,6.0070e+01_rb,8.5599e-01_rb/) kbo(:, 3,21, 8) = (/ & &2.4721e+02_rb,1.8553e+02_rb,1.2385e+02_rb,6.2177e+01_rb,8.5938e-01_rb/) kbo(:, 4,21, 8) = (/ & &2.5622e+02_rb,1.9229e+02_rb,1.2835e+02_rb,6.4426e+01_rb,8.6241e-01_rb/) kbo(:, 5,21, 8) = (/ & &2.6653e+02_rb,2.0002e+02_rb,1.3351e+02_rb,6.7009e+01_rb,8.6670e-01_rb/) kbo(:, 1,22, 8) = (/ & &1.8346e+02_rb,1.3771e+02_rb,9.1962e+01_rb,4.6247e+01_rb,7.7175e-01_rb/) kbo(:, 2,22, 8) = (/ & &1.8996e+02_rb,1.4259e+02_rb,9.5222e+01_rb,4.7880e+01_rb,7.7757e-01_rb/) kbo(:, 3,22, 8) = (/ & &1.9685e+02_rb,1.4775e+02_rb,9.8665e+01_rb,4.9599e+01_rb,7.8369e-01_rb/) kbo(:, 4,22, 8) = (/ & &2.0481e+02_rb,1.5373e+02_rb,1.0265e+02_rb,5.1591e+01_rb,7.9052e-01_rb/) kbo(:, 5,22, 8) = (/ & &2.1438e+02_rb,1.6091e+02_rb,1.0745e+02_rb,5.3989e+01_rb,7.9865e-01_rb/) kbo(:, 1,23, 8) = (/ & &1.4619e+02_rb,1.0976e+02_rb,7.3333e+01_rb,3.7009e+01_rb,6.9269e-01_rb/) kbo(:, 2,23, 8) = (/ & &1.5146e+02_rb,1.1371e+02_rb,7.5969e+01_rb,3.8312e+01_rb,7.0058e-01_rb/) kbo(:, 3,23, 8) = (/ & &1.5752e+02_rb,1.1826e+02_rb,7.9004e+01_rb,3.9812e+01_rb,7.0997e-01_rb/) kbo(:, 4,23, 8) = (/ & &1.6498e+02_rb,1.2386e+02_rb,8.2742e+01_rb,4.1669e+01_rb,7.2082e-01_rb/) kbo(:, 5,23, 8) = (/ & &1.7382e+02_rb,1.3049e+02_rb,8.7175e+01_rb,4.3881e+01_rb,7.3247e-01_rb/) kbo(:, 1,24, 8) = (/ & &1.1546e+02_rb,8.6713e+01_rb,5.7975e+01_rb,2.9484e+01_rb,6.1736e-01_rb/) kbo(:, 2,24, 8) = (/ & &1.1997e+02_rb,9.0096e+01_rb,6.0229e+01_rb,3.0574e+01_rb,6.2822e-01_rb/) kbo(:, 3,24, 8) = (/ & &1.2560e+02_rb,9.4324e+01_rb,6.3051e+01_rb,3.1946e+01_rb,6.4118e-01_rb/) kbo(:, 4,24, 8) = (/ & &1.3251e+02_rb,9.9515e+01_rb,6.6517e+01_rb,3.3646e+01_rb,6.5583e-01_rb/) kbo(:, 5,24, 8) = (/ & &1.4039e+02_rb,1.0542e+02_rb,7.0467e+01_rb,3.5600e+01_rb,6.7045e-01_rb/) kbo(:, 1,25, 8) = (/ & &9.2335e+01_rb,6.9366e+01_rb,4.6428e+01_rb,2.3921e+01_rb,5.4857e-01_rb/) kbo(:, 2,25, 8) = (/ & &9.6533e+01_rb,7.2518e+01_rb,4.8524e+01_rb,2.4911e+01_rb,5.6301e-01_rb/) kbo(:, 3,25, 8) = (/ & &1.0186e+02_rb,7.6521e+01_rb,5.1191e+01_rb,2.6188e+01_rb,5.7925e-01_rb/) kbo(:, 4,25, 8) = (/ & &1.0808e+02_rb,8.1193e+01_rb,5.4315e+01_rb,2.7693e+01_rb,5.9615e-01_rb/) kbo(:, 5,25, 8) = (/ & &1.1475e+02_rb,8.6195e+01_rb,5.7652e+01_rb,2.9318e+01_rb,6.1289e-01_rb/) kbo(:, 1,26, 8) = (/ & &7.5309e+01_rb,5.6599e+01_rb,3.7963e+01_rb,1.9911e+01_rb,4.8832e-01_rb/) kbo(:, 2,26, 8) = (/ & &7.9402e+01_rb,5.9672e+01_rb,3.9995e+01_rb,2.0863e+01_rb,5.0531e-01_rb/) kbo(:, 3,26, 8) = (/ & &8.4365e+01_rb,6.3403e+01_rb,4.2472e+01_rb,2.2029e+01_rb,5.2357e-01_rb/) kbo(:, 4,26, 8) = (/ & &8.9751e+01_rb,6.7447e+01_rb,4.5169e+01_rb,2.3307e+01_rb,5.4165e-01_rb/) kbo(:, 5,26, 8) = (/ & &9.5432e+01_rb,7.1708e+01_rb,4.8005e+01_rb,2.4657e+01_rb,5.6018e-01_rb/) kbo(:, 1,27, 8) = (/ & &6.4036e+01_rb,4.8147e+01_rb,3.2405e+01_rb,1.7310e+01_rb,4.3584e-01_rb/) kbo(:, 2,27, 8) = (/ & &6.8098e+01_rb,5.1198e+01_rb,3.4406e+01_rb,1.8250e+01_rb,4.5420e-01_rb/) kbo(:, 3,27, 8) = (/ & &7.2623e+01_rb,5.4602e+01_rb,3.6656e+01_rb,1.9303e+01_rb,4.7326e-01_rb/) kbo(:, 4,27, 8) = (/ & &7.7443e+01_rb,5.8217e+01_rb,3.9050e+01_rb,2.0426e+01_rb,4.9239e-01_rb/) kbo(:, 5,27, 8) = (/ & &8.2321e+01_rb,6.1875e+01_rb,4.1476e+01_rb,2.1557e+01_rb,5.1192e-01_rb/) kbo(:, 1,28, 8) = (/ & &5.6234e+01_rb,4.2299e+01_rb,2.8597e+01_rb,1.5531e+01_rb,3.8958e-01_rb/) kbo(:, 2,28, 8) = (/ & &6.0088e+01_rb,4.5199e+01_rb,3.0486e+01_rb,1.6430e+01_rb,4.0865e-01_rb/) kbo(:, 3,28, 8) = (/ & &6.4206e+01_rb,4.8292e+01_rb,3.2515e+01_rb,1.7385e+01_rb,4.2800e-01_rb/) kbo(:, 4,28, 8) = (/ & &6.8496e+01_rb,5.1510e+01_rb,3.4630e+01_rb,1.8368e+01_rb,4.4785e-01_rb/) kbo(:, 5,28, 8) = (/ & &7.2933e+01_rb,5.4831e+01_rb,3.6814e+01_rb,1.9374e+01_rb,4.6830e-01_rb/) kbo(:, 1,29, 8) = (/ & &5.2522e+01_rb,3.9524e+01_rb,2.6825e+01_rb,1.4721e+01_rb,3.4924e-01_rb/) kbo(:, 2,29, 8) = (/ & &5.6330e+01_rb,4.2387e+01_rb,2.8683e+01_rb,1.5618e+01_rb,3.6822e-01_rb/) kbo(:, 3,29, 8) = (/ & &6.0271e+01_rb,4.5343e+01_rb,3.0606e+01_rb,1.6531e+01_rb,3.8784e-01_rb/) kbo(:, 4,29, 8) = (/ & &6.4389e+01_rb,4.8431e+01_rb,3.2623e+01_rb,1.7468e+01_rb,4.0814e-01_rb/) kbo(:, 5,29, 8) = (/ & &6.8669e+01_rb,5.1633e+01_rb,3.4713e+01_rb,1.8422e+01_rb,4.2953e-01_rb/) kbo(:, 1,30, 8) = (/ & &5.0335e+01_rb,3.7896e+01_rb,2.5810e+01_rb,1.4271e+01_rb,3.1347e-01_rb/) kbo(:, 2,30, 8) = (/ & &5.4100e+01_rb,4.0719e+01_rb,2.7633e+01_rb,1.5165e+01_rb,3.3234e-01_rb/) kbo(:, 3,30, 8) = (/ & &5.7975e+01_rb,4.3625e+01_rb,2.9511e+01_rb,1.6060e+01_rb,3.5217e-01_rb/) kbo(:, 4,30, 8) = (/ & &6.2057e+01_rb,4.6681e+01_rb,3.1490e+01_rb,1.6979e+01_rb,3.7324e-01_rb/) kbo(:, 5,30, 8) = (/ & &6.6429e+01_rb,4.9951e+01_rb,3.3616e+01_rb,1.7947e+01_rb,3.9520e-01_rb/) kbo(:, 1,31, 8) = (/ & &5.0736e+01_rb,3.8204e+01_rb,2.6057e+01_rb,1.4444e+01_rb,2.8199e-01_rb/) kbo(:, 2,31, 8) = (/ & &5.4607e+01_rb,4.1105e+01_rb,2.7922e+01_rb,1.5358e+01_rb,3.0094e-01_rb/) kbo(:, 3,31, 8) = (/ & &5.8681e+01_rb,4.4155e+01_rb,2.9887e+01_rb,1.6295e+01_rb,3.2130e-01_rb/) kbo(:, 4,31, 8) = (/ & &6.3068e+01_rb,4.7436e+01_rb,3.2008e+01_rb,1.7279e+01_rb,3.4300e-01_rb/) kbo(:, 5,31, 8) = (/ & &6.7873e+01_rb,5.1031e+01_rb,3.4344e+01_rb,1.8340e+01_rb,3.6582e-01_rb/) kbo(:, 1,32, 8) = (/ & &5.1816e+01_rb,3.9019e+01_rb,2.6627e+01_rb,1.4770e+01_rb,2.5449e-01_rb/) kbo(:, 2,32, 8) = (/ & &5.5914e+01_rb,4.2088e+01_rb,2.8597e+01_rb,1.5735e+01_rb,2.7379e-01_rb/) kbo(:, 3,32, 8) = (/ & &6.0292e+01_rb,4.5361e+01_rb,3.0700e+01_rb,1.6736e+01_rb,2.9480e-01_rb/) kbo(:, 4,32, 8) = (/ & &6.5110e+01_rb,4.8965e+01_rb,3.3030e+01_rb,1.7812e+01_rb,3.1717e-01_rb/) kbo(:, 5,32, 8) = (/ & &7.0477e+01_rb,5.2981e+01_rb,3.5640e+01_rb,1.8999e+01_rb,3.4101e-01_rb/) kbo(:, 1,33, 8) = (/ & &5.3927e+01_rb,4.0606e+01_rb,2.7695e+01_rb,1.5341e+01_rb,2.3093e-01_rb/) kbo(:, 2,33, 8) = (/ & &5.8395e+01_rb,4.3947e+01_rb,2.9836e+01_rb,1.6383e+01_rb,2.5073e-01_rb/) kbo(:, 3,33, 8) = (/ & &6.3254e+01_rb,4.7578e+01_rb,3.2172e+01_rb,1.7485e+01_rb,2.7229e-01_rb/) kbo(:, 4,33, 8) = (/ & &6.8732e+01_rb,5.1678e+01_rb,3.4827e+01_rb,1.8707e+01_rb,2.9562e-01_rb/) kbo(:, 5,33, 8) = (/ & &7.4993e+01_rb,5.6366e+01_rb,3.7885e+01_rb,2.0105e+01_rb,3.2058e-01_rb/) kbo(:, 1,34, 8) = (/ & &5.4725e+01_rb,4.1207e+01_rb,2.8111e+01_rb,1.5582e+01_rb,2.1030e-01_rb/) kbo(:, 2,34, 8) = (/ & &5.9482e+01_rb,4.4761e+01_rb,3.0384e+01_rb,1.6682e+01_rb,2.3046e-01_rb/) kbo(:, 3,34, 8) = (/ & &6.4816e+01_rb,4.8747e+01_rb,3.2949e+01_rb,1.7887e+01_rb,2.5288e-01_rb/) kbo(:, 4,34, 8) = (/ & &7.0970e+01_rb,5.3352e+01_rb,3.5935e+01_rb,1.9263e+01_rb,2.7720e-01_rb/) kbo(:, 5,34, 8) = (/ & &7.8000e+01_rb,5.8622e+01_rb,3.9384e+01_rb,2.0853e+01_rb,3.0314e-01_rb/) kbo(:, 1,35, 8) = (/ & &5.5341e+01_rb,4.1670e+01_rb,2.8432e+01_rb,1.5766e+01_rb,1.9105e-01_rb/) kbo(:, 2,35, 8) = (/ & &6.0475e+01_rb,4.5504e+01_rb,3.0887e+01_rb,1.6952e+01_rb,2.1167e-01_rb/) kbo(:, 3,35, 8) = (/ & &6.6351e+01_rb,4.9895e+01_rb,3.3711e+01_rb,1.8277e+01_rb,2.3461e-01_rb/) kbo(:, 4,35, 8) = (/ & &7.3222e+01_rb,5.5040e+01_rb,3.7057e+01_rb,1.9828e+01_rb,2.5964e-01_rb/) kbo(:, 5,35, 8) = (/ & &8.0936e+01_rb,6.0824e+01_rb,4.0848e+01_rb,2.1583e+01_rb,2.8629e-01_rb/) kbo(:, 1,36, 8) = (/ & &5.5260e+01_rb,4.1610e+01_rb,2.8415e+01_rb,1.5779e+01_rb,1.7255e-01_rb/) kbo(:, 2,36, 8) = (/ & &6.0687e+01_rb,4.5661e+01_rb,3.1003e+01_rb,1.7034e+01_rb,1.9343e-01_rb/) kbo(:, 3,36, 8) = (/ & &6.7095e+01_rb,5.0451e+01_rb,3.4089e+01_rb,1.8486e+01_rb,2.1666e-01_rb/) kbo(:, 4,36, 8) = (/ & &7.4593e+01_rb,5.6070e+01_rb,3.7750e+01_rb,2.0193e+01_rb,2.4210e-01_rb/) kbo(:, 5,36, 8) = (/ & &8.2912e+01_rb,6.2305e+01_rb,4.1836e+01_rb,2.2093e+01_rb,2.6939e-01_rb/) kbo(:, 1,37, 8) = (/ & &5.3136e+01_rb,4.0024e+01_rb,2.7403e+01_rb,1.5295e+01_rb,1.5374e-01_rb/) kbo(:, 2,37, 8) = (/ & &5.8700e+01_rb,4.4173e+01_rb,3.0048e+01_rb,1.6588e+01_rb,1.7430e-01_rb/) kbo(:, 3,37, 8) = (/ & &6.5370e+01_rb,4.9158e+01_rb,3.3257e+01_rb,1.8110e+01_rb,1.9744e-01_rb/) kbo(:, 4,37, 8) = (/ & &7.3079e+01_rb,5.4934e+01_rb,3.7017e+01_rb,1.9876e+01_rb,2.2299e-01_rb/) kbo(:, 5,37, 8) = (/ & &8.1729e+01_rb,6.1417e+01_rb,4.1258e+01_rb,2.1852e+01_rb,2.5074e-01_rb/) kbo(:, 1,38, 8) = (/ & &5.1889e+01_rb,3.9094e+01_rb,2.6819e+01_rb,1.5017e+01_rb,1.3711e-01_rb/) kbo(:, 2,38, 8) = (/ & &5.7665e+01_rb,4.3397e+01_rb,2.9561e+01_rb,1.6368e+01_rb,1.5734e-01_rb/) kbo(:, 3,38, 8) = (/ & &6.4668e+01_rb,4.8631e+01_rb,3.2933e+01_rb,1.7981e+01_rb,1.8028e-01_rb/) kbo(:, 4,38, 8) = (/ & &7.2785e+01_rb,5.4713e+01_rb,3.6887e+01_rb,1.9846e+01_rb,2.0601e-01_rb/) kbo(:, 5,38, 8) = (/ & &8.1846e+01_rb,6.1504e+01_rb,4.1328e+01_rb,2.1921e+01_rb,2.3415e-01_rb/) kbo(:, 1,39, 8) = (/ & &5.1946e+01_rb,3.9141e+01_rb,2.6874e+01_rb,1.5056e+01_rb,1.2254e-01_rb/) kbo(:, 2,39, 8) = (/ & &5.8115e+01_rb,4.3735e+01_rb,2.9803e+01_rb,1.6507e+01_rb,1.4241e-01_rb/) kbo(:, 3,39, 8) = (/ & &6.5638e+01_rb,4.9361e+01_rb,3.3432e+01_rb,1.8252e+01_rb,1.6535e-01_rb/) kbo(:, 4,39, 8) = (/ & &7.4281e+01_rb,5.5835e+01_rb,3.7644e+01_rb,2.0246e+01_rb,1.9114e-01_rb/) kbo(:, 5,39, 8) = (/ & &8.4117e+01_rb,6.3205e+01_rb,4.2465e+01_rb,2.2507e+01_rb,2.1954e-01_rb/) kbo(:, 1,40, 8) = (/ & &4.8372e+01_rb,3.6476e+01_rb,2.5167e+01_rb,1.4200e+01_rb,1.0786e-01_rb/) kbo(:, 2,40, 8) = (/ & &5.4435e+01_rb,4.0985e+01_rb,2.8035e+01_rb,1.5644e+01_rb,1.2713e-01_rb/) kbo(:, 3,40, 8) = (/ & &6.1814e+01_rb,4.6498e+01_rb,3.1582e+01_rb,1.7371e+01_rb,1.4957e-01_rb/) kbo(:, 4,40, 8) = (/ & &7.0455e+01_rb,5.2966e+01_rb,3.5777e+01_rb,1.9373e+01_rb,1.7507e-01_rb/) kbo(:, 5,40, 8) = (/ & &8.0314e+01_rb,6.0352e+01_rb,4.0598e+01_rb,2.1643e+01_rb,2.0339e-01_rb/) kbo(:, 1,41, 8) = (/ & &4.4863e+01_rb,3.3865e+01_rb,2.3494e+01_rb,1.3347e+01_rb,9.4622e-02_rb/) kbo(:, 2,41, 8) = (/ & &5.0838e+01_rb,3.8301e+01_rb,2.6314e+01_rb,1.4793e+01_rb,1.1320e-01_rb/) kbo(:, 3,41, 8) = (/ & &5.8061e+01_rb,4.3692e+01_rb,2.9774e+01_rb,1.6500e+01_rb,1.3504e-01_rb/) kbo(:, 4,41, 8) = (/ & &6.6603e+01_rb,5.0081e+01_rb,3.3908e+01_rb,1.8494e+01_rb,1.6019e-01_rb/) kbo(:, 5,41, 8) = (/ & &7.6448e+01_rb,5.7454e+01_rb,3.8706e+01_rb,2.0765e+01_rb,1.8828e-01_rb/) kbo(:, 1,42, 8) = (/ & &4.2143e+01_rb,3.1846e+01_rb,2.2204e+01_rb,1.2680e+01_rb,8.2928e-02_rb/) kbo(:, 2,42, 8) = (/ & &4.7973e+01_rb,3.6167e+01_rb,2.4953e+01_rb,1.4117e+01_rb,1.0072e-01_rb/) kbo(:, 3,42, 8) = (/ & &5.5183e+01_rb,4.1542e+01_rb,2.8395e+01_rb,1.5835e+01_rb,1.2195e-01_rb/) kbo(:, 4,42, 8) = (/ & &6.3709e+01_rb,4.7914e+01_rb,3.2510e+01_rb,1.7836e+01_rb,1.4663e-01_rb/) kbo(:, 5,42, 8) = (/ & &7.3621e+01_rb,5.5334e+01_rb,3.7330e+01_rb,2.0134e+01_rb,1.7447e-01_rb/) kbo(:, 1,43, 8) = (/ & &3.9594e+01_rb,2.9962e+01_rb,2.1003e+01_rb,1.2048e+01_rb,7.1693e-02_rb/) kbo(:, 2,43, 8) = (/ & &4.5330e+01_rb,3.4203e+01_rb,2.3706e+01_rb,1.3485e+01_rb,8.8502e-02_rb/) kbo(:, 3,43, 8) = (/ & &5.2493e+01_rb,3.9537e+01_rb,2.7118e+01_rb,1.5213e+01_rb,1.0887e-01_rb/) kbo(:, 4,43, 8) = (/ & &6.1012e+01_rb,4.5896e+01_rb,3.1221e+01_rb,1.7230e+01_rb,1.3283e-01_rb/) kbo(:, 5,43, 8) = (/ & &7.1011e+01_rb,5.3379e+01_rb,3.6070e+01_rb,1.9559e+01_rb,1.6011e-01_rb/) kbo(:, 1,44, 8) = (/ & &3.7616e+01_rb,2.8507e+01_rb,2.0078e+01_rb,1.1553e+01_rb,6.1401e-02_rb/) kbo(:, 2,44, 8) = (/ & &4.3274e+01_rb,3.2681e+01_rb,2.2747e+01_rb,1.2992e+01_rb,7.7099e-02_rb/) kbo(:, 3,44, 8) = (/ & &5.0385e+01_rb,3.7971e+01_rb,2.6133e+01_rb,1.4732e+01_rb,9.6479e-02_rb/) kbo(:, 4,44, 8) = (/ & &5.8976e+01_rb,4.4379e+01_rb,3.0259e+01_rb,1.6785e+01_rb,1.1952e-01_rb/) kbo(:, 5,44, 8) = (/ & &6.9172e+01_rb,5.2003e+01_rb,3.5195e+01_rb,1.9170e+01_rb,1.4606e-01_rb/) kbo(:, 1,45, 8) = (/ & &3.6417e+01_rb,2.7634e+01_rb,1.9534e+01_rb,1.1252e+01_rb,5.2391e-02_rb/) kbo(:, 2,45, 8) = (/ & &4.2083e+01_rb,3.1808e+01_rb,2.2209e+01_rb,1.2716e+01_rb,6.6909e-02_rb/) kbo(:, 3,45, 8) = (/ & &4.9318e+01_rb,3.7181e+01_rb,2.5653e+01_rb,1.4499e+01_rb,8.5223e-02_rb/) kbo(:, 4,45, 8) = (/ & &5.8109e+01_rb,4.3735e+01_rb,2.9873e+01_rb,1.6620e+01_rb,1.0731e-01_rb/) kbo(:, 5,45, 8) = (/ & &6.8675e+01_rb,5.1635e+01_rb,3.4984e+01_rb,1.9103e+01_rb,1.3302e-01_rb/) kbo(:, 1,46, 8) = (/ & &3.5397e+01_rb,2.6895e+01_rb,1.9070e+01_rb,1.0989e+01_rb,4.4228e-02_rb/) kbo(:, 2,46, 8) = (/ & &4.1150e+01_rb,3.1127e+01_rb,2.1795e+01_rb,1.2497e+01_rb,5.7487e-02_rb/) kbo(:, 3,46, 8) = (/ & &4.8494e+01_rb,3.6574e+01_rb,2.5287e+01_rb,1.4324e+01_rb,7.4577e-02_rb/) kbo(:, 4,46, 8) = (/ & &5.7598e+01_rb,4.3359e+01_rb,2.9657e+01_rb,1.6535e+01_rb,9.5575e-02_rb/) kbo(:, 5,46, 8) = (/ & &6.8559e+01_rb,5.1549e+01_rb,3.4961e+01_rb,1.9128e+01_rb,1.2028e-01_rb/) kbo(:, 1,47, 8) = (/ & &3.3892e+01_rb,2.5799e+01_rb,1.8369e+01_rb,1.0592e+01_rb,3.6658e-02_rb/) kbo(:, 2,47, 8) = (/ & &3.9558e+01_rb,2.9961e+01_rb,2.1065e+01_rb,1.2104e+01_rb,4.8512e-02_rb/) kbo(:, 3,47, 8) = (/ & &4.6821e+01_rb,3.5338e+01_rb,2.4514e+01_rb,1.3933e+01_rb,6.4199e-02_rb/) kbo(:, 4,47, 8) = (/ & &5.6038e+01_rb,4.2200e+01_rb,2.8934e+01_rb,1.6192e+01_rb,8.3849e-02_rb/) kbo(:, 5,47, 8) = (/ & &6.7239e+01_rb,5.0568e+01_rb,3.4350e+01_rb,1.8859e+01_rb,1.0731e-01_rb/) kbo(:, 1,48, 8) = (/ & &3.3363e+01_rb,2.5430e+01_rb,1.8144e+01_rb,1.0446e+01_rb,3.0177e-02_rb/) kbo(:, 2,48, 8) = (/ & &3.9055e+01_rb,2.9607e+01_rb,2.0861e+01_rb,1.1982e+01_rb,4.0640e-02_rb/) kbo(:, 3,48, 8) = (/ & &4.6430e+01_rb,3.5057e+01_rb,2.4367e+01_rb,1.3859e+01_rb,5.4873e-02_rb/) kbo(:, 4,48, 8) = (/ & &5.5939e+01_rb,4.2134e+01_rb,2.8926e+01_rb,1.6205e+01_rb,7.3130e-02_rb/) kbo(:, 5,48, 8) = (/ & &6.7675e+01_rb,5.0896e+01_rb,3.4598e+01_rb,1.9010e+01_rb,9.5352e-02_rb/) kbo(:, 1,49, 8) = (/ & &3.4087e+01_rb,2.5989e+01_rb,1.8530e+01_rb,1.0628e+01_rb,2.4642e-02_rb/) kbo(:, 2,49, 8) = (/ & &4.0143e+01_rb,3.0436e+01_rb,2.1433e+01_rb,1.2264e+01_rb,3.3771e-02_rb/) kbo(:, 3,49, 8) = (/ & &4.7859e+01_rb,3.6137e+01_rb,2.5106e+01_rb,1.4243e+01_rb,4.6570e-02_rb/) kbo(:, 4,49, 8) = (/ & &5.8042e+01_rb,4.3715e+01_rb,2.9997e+01_rb,1.6759e+01_rb,6.3406e-02_rb/) kbo(:, 5,49, 8) = (/ & &7.0774e+01_rb,5.3220e+01_rb,3.6156e+01_rb,1.9813e+01_rb,8.4317e-02_rb/) kbo(:, 1,50, 8) = (/ & &3.3271e+01_rb,2.5407e+01_rb,1.8155e+01_rb,1.0394e+01_rb,2.0105e-02_rb/) kbo(:, 2,50, 8) = (/ & &3.9337e+01_rb,2.9859e+01_rb,2.1080e+01_rb,1.2062e+01_rb,2.8045e-02_rb/) kbo(:, 3,50, 8) = (/ & &4.7124e+01_rb,3.5606e+01_rb,2.4793e+01_rb,1.4082e+01_rb,3.9522e-02_rb/) kbo(:, 4,50, 8) = (/ & &5.7525e+01_rb,4.3340e+01_rb,2.9788e+01_rb,1.6668e+01_rb,5.4974e-02_rb/) kbo(:, 5,50, 8) = (/ & &7.0694e+01_rb,5.3165e+01_rb,3.6155e+01_rb,1.9842e+01_rb,7.4569e-02_rb/) kbo(:, 1,51, 8) = (/ & &3.1799e+01_rb,2.4339e+01_rb,1.7448e+01_rb,9.9788e+00_rb,1.6322e-02_rb/) kbo(:, 2,51, 8) = (/ & &3.7729e+01_rb,2.8686e+01_rb,2.0331e+01_rb,1.1646e+01_rb,2.3187e-02_rb/) kbo(:, 3,51, 8) = (/ & &4.5428e+01_rb,3.4361e+01_rb,2.4014e+01_rb,1.3675e+01_rb,3.3395e-02_rb/) kbo(:, 4,51, 8) = (/ & &5.5764e+01_rb,4.2036e+01_rb,2.8971e+01_rb,1.6259e+01_rb,4.7474e-02_rb/) kbo(:, 5,51, 8) = (/ & &6.9086e+01_rb,5.1969e+01_rb,3.5405e+01_rb,1.9496e+01_rb,6.5720e-02_rb/) kbo(:, 1,52, 8) = (/ & &3.1125e+01_rb,2.3861e+01_rb,1.7130e+01_rb,9.7762e+00_rb,1.3165e-02_rb/) kbo(:, 2,52, 8) = (/ & &3.7206e+01_rb,2.8320e+01_rb,2.0110e+01_rb,1.1507e+01_rb,1.9020e-02_rb/) kbo(:, 3,52, 8) = (/ & &4.4966e+01_rb,3.4037e+01_rb,2.3832e+01_rb,1.3576e+01_rb,2.8007e-02_rb/) kbo(:, 4,52, 8) = (/ & &5.5475e+01_rb,4.1834e+01_rb,2.8875e+01_rb,1.6222e+01_rb,4.0752e-02_rb/) kbo(:, 5,52, 8) = (/ & &6.9286e+01_rb,5.2127e+01_rb,3.5547e+01_rb,1.9593e+01_rb,5.7616e-02_rb/) kbo(:, 1,53, 8) = (/ & &3.1628e+01_rb,2.4253e+01_rb,1.7391e+01_rb,9.8844e+00_rb,1.0543e-02_rb/) kbo(:, 2,53, 8) = (/ & &3.8058e+01_rb,2.8975e+01_rb,2.0560e+01_rb,1.1731e+01_rb,1.5472e-02_rb/) kbo(:, 3,53, 8) = (/ & &4.6305e+01_rb,3.5054e+01_rb,2.4529e+01_rb,1.3933e+01_rb,2.3276e-02_rb/) kbo(:, 4,53, 8) = (/ & &5.7328e+01_rb,4.3229e+01_rb,2.9824e+01_rb,1.6717e+01_rb,3.4695e-02_rb/) kbo(:, 5,53, 8) = (/ & &7.2228e+01_rb,5.4335e+01_rb,3.7034e+01_rb,2.0360e+01_rb,5.0210e-02_rb/) kbo(:, 1,54, 8) = (/ & &2.7866e+01_rb,2.1495e+01_rb,1.5519e+01_rb,8.8346e+00_rb,8.4580e-03_rb/) kbo(:, 2,54, 8) = (/ & &3.3763e+01_rb,2.5815e+01_rb,1.8473e+01_rb,1.0588e+01_rb,1.2602e-02_rb/) kbo(:, 3,54, 8) = (/ & &4.1361e+01_rb,3.1401e+01_rb,2.2155e+01_rb,1.2668e+01_rb,1.9366e-02_rb/) kbo(:, 4,54, 8) = (/ & &5.1507e+01_rb,3.8906e+01_rb,2.7027e+01_rb,1.5284e+01_rb,2.9589e-02_rb/) kbo(:, 5,54, 8) = (/ & &6.5378e+01_rb,4.9225e+01_rb,3.3718e+01_rb,1.8724e+01_rb,4.3797e-02_rb/) kbo(:, 1,55, 8) = (/ & &2.2404e+01_rb,1.7484e+01_rb,1.2754e+01_rb,7.2917e+00_rb,6.7620e-03_rb/) kbo(:, 2,55, 8) = (/ & &2.7309e+01_rb,2.1069e+01_rb,1.5293e+01_rb,8.8299e+00_rb,1.0220e-02_rb/) kbo(:, 3,55, 8) = (/ & &3.3683e+01_rb,2.5733e+01_rb,1.8431e+01_rb,1.0660e+01_rb,1.6054e-02_rb/) kbo(:, 4,55, 8) = (/ & &4.2194e+01_rb,3.1999e+01_rb,2.2529e+01_rb,1.2931e+01_rb,2.5150e-02_rb/) kbo(:, 5,55, 8) = (/ & &5.4011e+01_rb,4.0754e+01_rb,2.8208e+01_rb,1.5935e+01_rb,3.8077e-02_rb/) kbo(:, 1,56, 8) = (/ & &1.7963e+01_rb,1.4222e+01_rb,1.0460e+01_rb,5.9968e+00_rb,5.3696e-03_rb/) kbo(:, 2,56, 8) = (/ & &2.2011e+01_rb,1.7185e+01_rb,1.2632e+01_rb,7.3359e+00_rb,8.2238e-03_rb/) kbo(:, 3,56, 8) = (/ & &2.7341e+01_rb,2.1070e+01_rb,1.5329e+01_rb,8.9492e+00_rb,1.3200e-02_rb/) kbo(:, 4,56, 8) = (/ & &3.4490e+01_rb,2.6306e+01_rb,1.8809e+01_rb,1.0943e+01_rb,2.1214e-02_rb/) kbo(:, 5,56, 8) = (/ & &4.4535e+01_rb,3.3715e+01_rb,2.3630e+01_rb,1.3559e+01_rb,3.2915e-02_rb/) kbo(:, 1,57, 8) = (/ & &1.4368e+01_rb,1.1564e+01_rb,8.5550e+00_rb,4.9118e+00_rb,4.2402e-03_rb/) kbo(:, 2,57, 8) = (/ & &1.7718e+01_rb,1.4043e+01_rb,1.0433e+01_rb,6.0838e+00_rb,6.5672e-03_rb/) kbo(:, 3,57, 8) = (/ & &2.2119e+01_rb,1.7250e+01_rb,1.2736e+01_rb,7.4914e+00_rb,1.0750e-02_rb/) kbo(:, 4,57, 8) = (/ & &2.8111e+01_rb,2.1614e+01_rb,1.5710e+01_rb,9.2466e+00_rb,1.7729e-02_rb/) kbo(:, 5,57, 8) = (/ & &3.6581e+01_rb,2.7832e+01_rb,1.9800e+01_rb,1.1525e+01_rb,2.8247e-02_rb/) kbo(:, 1,58, 8) = (/ & &3.0334e+00_rb,3.0458e+00_rb,2.9118e+00_rb,2.3449e+00_rb,3.3480e-03_rb/) kbo(:, 2,58, 8) = (/ & &3.7595e+00_rb,3.7165e+00_rb,3.5857e+00_rb,2.9410e+00_rb,5.2345e-03_rb/) kbo(:, 3,58, 8) = (/ & &4.7309e+00_rb,4.5866e+00_rb,4.4204e+00_rb,3.6685e+00_rb,8.7466e-03_rb/) kbo(:, 4,58, 8) = (/ & &6.0543e+00_rb,5.7620e+00_rb,5.4869e+00_rb,4.5723e+00_rb,1.4810e-02_rb/) kbo(:, 5,58, 8) = (/ & &7.9336e+00_rb,7.4372e+00_rb,6.9325e+00_rb,5.7367e+00_rb,2.4215e-02_rb/) kbo(:, 1,59, 8) = (/ & &2.9765e+00_rb,2.9765e+00_rb,2.6845e+00_rb,1.9427e+00_rb,2.8320e-03_rb/) kbo(:, 2,59, 8) = (/ & &3.7193e+00_rb,3.6697e+00_rb,3.3576e+00_rb,2.4792e+00_rb,4.5261e-03_rb/) kbo(:, 3,59, 8) = (/ & &4.7245e+00_rb,4.5542e+00_rb,4.1916e+00_rb,3.1428e+00_rb,7.7669e-03_rb/) kbo(:, 4,59, 8) = (/ & &6.1120e+00_rb,5.7342e+00_rb,5.2520e+00_rb,3.9688e+00_rb,1.3461e-02_rb/) kbo(:, 5,59, 8) = (/ & &8.1086e+00_rb,7.4151e+00_rb,6.6769e+00_rb,5.0327e+00_rb,2.2363e-02_rb/) kbo(:, 1,13, 9) = (/ & &3.9255e+04_rb,2.9441e+04_rb,1.9628e+04_rb,9.8141e+03_rb,2.1650e+00_rb/) kbo(:, 2,13, 9) = (/ & &3.9490e+04_rb,2.9618e+04_rb,1.9745e+04_rb,9.8730e+03_rb,2.1321e+00_rb/) kbo(:, 3,13, 9) = (/ & &3.9631e+04_rb,2.9723e+04_rb,1.9816e+04_rb,9.9081e+03_rb,2.0803e+00_rb/) kbo(:, 4,13, 9) = (/ & &3.9707e+04_rb,2.9781e+04_rb,1.9854e+04_rb,9.9272e+03_rb,2.0587e+00_rb/) kbo(:, 5,13, 9) = (/ & &3.9690e+04_rb,2.9768e+04_rb,1.9845e+04_rb,9.9229e+03_rb,2.0351e+00_rb/) kbo(:, 1,14, 9) = (/ & &2.2391e+04_rb,1.6793e+04_rb,1.1196e+04_rb,5.5981e+03_rb,2.2958e+00_rb/) kbo(:, 2,14, 9) = (/ & &2.2483e+04_rb,1.6862e+04_rb,1.1241e+04_rb,5.6209e+03_rb,2.2646e+00_rb/) kbo(:, 3,14, 9) = (/ & &2.2517e+04_rb,1.6888e+04_rb,1.1259e+04_rb,5.6296e+03_rb,2.2164e+00_rb/) kbo(:, 4,14, 9) = (/ & &2.2511e+04_rb,1.6883e+04_rb,1.1256e+04_rb,5.6281e+03_rb,2.1692e+00_rb/) kbo(:, 5,14, 9) = (/ & &2.2470e+04_rb,1.6853e+04_rb,1.1235e+04_rb,5.6178e+03_rb,2.1488e+00_rb/) kbo(:, 1,15, 9) = (/ & &1.2806e+04_rb,9.6046e+03_rb,6.4033e+03_rb,3.2019e+03_rb,2.4251e+00_rb/) kbo(:, 2,15, 9) = (/ & &1.2828e+04_rb,9.6209e+03_rb,6.4142e+03_rb,3.2073e+03_rb,2.3960e+00_rb/) kbo(:, 3,15, 9) = (/ & &1.2826e+04_rb,9.6195e+03_rb,6.4132e+03_rb,3.2069e+03_rb,2.3588e+00_rb/) kbo(:, 4,15, 9) = (/ & &1.2818e+04_rb,9.6139e+03_rb,6.4095e+03_rb,3.2050e+03_rb,2.3106e+00_rb/) kbo(:, 5,15, 9) = (/ & &1.2808e+04_rb,9.6063e+03_rb,6.4044e+03_rb,3.2025e+03_rb,2.2722e+00_rb/) kbo(:, 1,16, 9) = (/ & &8.5967e+03_rb,6.4476e+03_rb,4.2986e+03_rb,2.1496e+03_rb,2.5476e+00_rb/) kbo(:, 2,16, 9) = (/ & &8.5987e+03_rb,6.4492e+03_rb,4.2996e+03_rb,2.1501e+03_rb,2.5204e+00_rb/) kbo(:, 3,16, 9) = (/ & &8.5999e+03_rb,6.4500e+03_rb,4.3002e+03_rb,2.1504e+03_rb,2.4878e+00_rb/) kbo(:, 4,16, 9) = (/ & &8.6043e+03_rb,6.4534e+03_rb,4.3024e+03_rb,2.1515e+03_rb,2.4397e+00_rb/) kbo(:, 5,16, 9) = (/ & &8.6176e+03_rb,6.4634e+03_rb,4.3091e+03_rb,2.1548e+03_rb,2.4008e+00_rb/) kbo(:, 1,17, 9) = (/ & &5.9284e+03_rb,4.4464e+03_rb,2.9645e+03_rb,1.4825e+03_rb,2.6544e+00_rb/) kbo(:, 2,17, 9) = (/ & &5.9327e+03_rb,4.4497e+03_rb,2.9666e+03_rb,1.4836e+03_rb,2.6300e+00_rb/) kbo(:, 3,17, 9) = (/ & &5.9411e+03_rb,4.4560e+03_rb,2.9708e+03_rb,1.4857e+03_rb,2.5993e+00_rb/) kbo(:, 4,17, 9) = (/ & &5.9634e+03_rb,4.4727e+03_rb,2.9820e+03_rb,1.4912e+03_rb,2.5553e+00_rb/) kbo(:, 5,17, 9) = (/ & &6.0032e+03_rb,4.5025e+03_rb,3.0018e+03_rb,1.5012e+03_rb,2.5167e+00_rb/) kbo(:, 1,18, 9) = (/ & &4.1696e+03_rb,3.1274e+03_rb,2.0851e+03_rb,1.0428e+03_rb,2.7386e+00_rb/) kbo(:, 2,18, 9) = (/ & &4.1796e+03_rb,3.1348e+03_rb,2.0901e+03_rb,1.0453e+03_rb,2.7184e+00_rb/) kbo(:, 3,18, 9) = (/ & &4.2028e+03_rb,3.1522e+03_rb,2.1017e+03_rb,1.0511e+03_rb,2.6888e+00_rb/) kbo(:, 4,18, 9) = (/ & &4.2429e+03_rb,3.1823e+03_rb,2.1217e+03_rb,1.0611e+03_rb,2.6491e+00_rb/) kbo(:, 5,18, 9) = (/ & &4.2973e+03_rb,3.2231e+03_rb,2.1489e+03_rb,1.0747e+03_rb,2.6124e+00_rb/) kbo(:, 1,19, 9) = (/ & &2.8753e+03_rb,2.1566e+03_rb,1.4379e+03_rb,7.1922e+02_rb,2.7969e+00_rb/) kbo(:, 2,19, 9) = (/ & &2.8953e+03_rb,2.1716e+03_rb,1.4479e+03_rb,7.2422e+02_rb,2.7817e+00_rb/) kbo(:, 3,19, 9) = (/ & &2.9302e+03_rb,2.1978e+03_rb,1.4654e+03_rb,7.3295e+02_rb,2.7548e+00_rb/) kbo(:, 4,19, 9) = (/ & &2.9782e+03_rb,2.2338e+03_rb,1.4894e+03_rb,7.4494e+02_rb,2.7189e+00_rb/) kbo(:, 5,19, 9) = (/ & &3.0360e+03_rb,2.2771e+03_rb,1.5183e+03_rb,7.5939e+02_rb,2.6829e+00_rb/) kbo(:, 1,20, 9) = (/ & &2.1517e+03_rb,1.6139e+03_rb,1.0761e+03_rb,5.3833e+02_rb,2.8251e+00_rb/) kbo(:, 2,20, 9) = (/ & &2.1814e+03_rb,1.6362e+03_rb,1.0910e+03_rb,5.4575e+02_rb,2.8122e+00_rb/) kbo(:, 3,20, 9) = (/ & &2.2241e+03_rb,1.6682e+03_rb,1.1123e+03_rb,5.5643e+02_rb,2.7893e+00_rb/) kbo(:, 4,20, 9) = (/ & &2.2758e+03_rb,1.7069e+03_rb,1.1381e+03_rb,5.6933e+02_rb,2.7572e+00_rb/) kbo(:, 5,20, 9) = (/ & &2.3338e+03_rb,1.7505e+03_rb,1.1672e+03_rb,5.8384e+02_rb,2.7245e+00_rb/) kbo(:, 1,21, 9) = (/ & &1.6700e+03_rb,1.2526e+03_rb,8.3526e+02_rb,4.1790e+02_rb,2.8188e+00_rb/) kbo(:, 2,21, 9) = (/ & &1.7058e+03_rb,1.2795e+03_rb,8.5318e+02_rb,4.2686e+02_rb,2.8087e+00_rb/) kbo(:, 3,21, 9) = (/ & &1.7510e+03_rb,1.3134e+03_rb,8.7578e+02_rb,4.3816e+02_rb,2.7899e+00_rb/) kbo(:, 4,21, 9) = (/ & &1.8029e+03_rb,1.3523e+03_rb,9.0173e+02_rb,4.5113e+02_rb,2.7632e+00_rb/) kbo(:, 5,21, 9) = (/ & &1.8601e+03_rb,1.3952e+03_rb,9.3032e+02_rb,4.6542e+02_rb,2.7328e+00_rb/) kbo(:, 1,22, 9) = (/ & &1.3403e+03_rb,1.0054e+03_rb,6.7043e+02_rb,3.3549e+02_rb,2.7778e+00_rb/) kbo(:, 2,22, 9) = (/ & &1.3792e+03_rb,1.0345e+03_rb,6.8985e+02_rb,3.4520e+02_rb,2.7715e+00_rb/) kbo(:, 3,22, 9) = (/ & &1.4248e+03_rb,1.0688e+03_rb,7.1269e+02_rb,3.5661e+02_rb,2.7559e+00_rb/) kbo(:, 4,22, 9) = (/ & &1.4749e+03_rb,1.1063e+03_rb,7.3770e+02_rb,3.6911e+02_rb,2.7316e+00_rb/) kbo(:, 5,22, 9) = (/ & &1.5223e+03_rb,1.1418e+03_rb,7.6138e+02_rb,3.8094e+02_rb,2.7088e+00_rb/) kbo(:, 1,23, 9) = (/ & &1.0891e+03_rb,8.1698e+02_rb,5.4484e+02_rb,2.7270e+02_rb,2.7041e+00_rb/) kbo(:, 2,23, 9) = (/ & &1.1283e+03_rb,8.4637e+02_rb,5.6443e+02_rb,2.8249e+02_rb,2.7027e+00_rb/) kbo(:, 3,23, 9) = (/ & &1.1704e+03_rb,8.7791e+02_rb,5.8545e+02_rb,2.9300e+02_rb,2.6907e+00_rb/) kbo(:, 4,23, 9) = (/ & &1.2113e+03_rb,9.0862e+02_rb,6.0592e+02_rb,3.0322e+02_rb,2.6730e+00_rb/) kbo(:, 5,23, 9) = (/ & &1.2507e+03_rb,9.3816e+02_rb,6.2560e+02_rb,3.1305e+02_rb,2.6594e+00_rb/) kbo(:, 1,24, 9) = (/ & &8.8581e+02_rb,6.6450e+02_rb,4.4318e+02_rb,2.2188e+02_rb,2.6023e+00_rb/) kbo(:, 2,24, 9) = (/ & &9.2040e+02_rb,6.9044e+02_rb,4.6047e+02_rb,2.3052e+02_rb,2.6060e+00_rb/) kbo(:, 3,24, 9) = (/ & &9.5496e+02_rb,7.1635e+02_rb,4.7775e+02_rb,2.3914e+02_rb,2.6005e+00_rb/) kbo(:, 4,24, 9) = (/ & &9.8776e+02_rb,7.4094e+02_rb,4.9413e+02_rb,2.4733e+02_rb,2.5922e+00_rb/) kbo(:, 5,24, 9) = (/ & &1.0196e+03_rb,7.6479e+02_rb,5.1001e+02_rb,2.5525e+02_rb,2.5914e+00_rb/) kbo(:, 1,25, 9) = (/ & &7.3035e+02_rb,5.4790e+02_rb,3.6545e+02_rb,1.8302e+02_rb,2.4806e+00_rb/) kbo(:, 2,25, 9) = (/ & &7.5932e+02_rb,5.6963e+02_rb,3.7993e+02_rb,1.9025e+02_rb,2.4895e+00_rb/) kbo(:, 3,25, 9) = (/ & &7.8665e+02_rb,5.9012e+02_rb,3.9359e+02_rb,1.9707e+02_rb,2.4921e+00_rb/) kbo(:, 4,25, 9) = (/ & &8.1328e+02_rb,6.1007e+02_rb,4.0688e+02_rb,2.0370e+02_rb,2.4969e+00_rb/) kbo(:, 5,25, 9) = (/ & &8.3956e+02_rb,6.2979e+02_rb,4.2001e+02_rb,2.1025e+02_rb,2.5085e+00_rb/) kbo(:, 1,26, 9) = (/ & &6.1100e+02_rb,4.5838e+02_rb,3.0577e+02_rb,1.5319e+02_rb,2.3442e+00_rb/) kbo(:, 2,26, 9) = (/ & &6.3406e+02_rb,4.7568e+02_rb,3.1730e+02_rb,1.5893e+02_rb,2.3618e+00_rb/) kbo(:, 3,26, 9) = (/ & &6.5658e+02_rb,4.9255e+02_rb,3.2854e+02_rb,1.6455e+02_rb,2.3770e+00_rb/) kbo(:, 4,26, 9) = (/ & &6.7915e+02_rb,5.0948e+02_rb,3.3981e+02_rb,1.7016e+02_rb,2.3964e+00_rb/) kbo(:, 5,26, 9) = (/ & &7.0247e+02_rb,5.2696e+02_rb,3.5146e+02_rb,1.7598e+02_rb,2.4222e+00_rb/) kbo(:, 1,27, 9) = (/ & &5.2844e+02_rb,3.9646e+02_rb,2.6449e+02_rb,1.3259e+02_rb,2.2032e+00_rb/) kbo(:, 2,27, 9) = (/ & &5.4789e+02_rb,4.1105e+02_rb,2.7421e+02_rb,1.3742e+02_rb,2.2331e+00_rb/) kbo(:, 3,27, 9) = (/ & &5.6778e+02_rb,4.2595e+02_rb,2.8414e+02_rb,1.4236e+02_rb,2.2623e+00_rb/) kbo(:, 4,27, 9) = (/ & &5.8850e+02_rb,4.4149e+02_rb,2.9449e+02_rb,1.4751e+02_rb,2.3009e+00_rb/) kbo(:, 5,27, 9) = (/ & &6.1090e+02_rb,4.5829e+02_rb,3.0567e+02_rb,1.5309e+02_rb,2.3382e+00_rb/) kbo(:, 1,28, 9) = (/ & &4.6826e+02_rb,3.5133e+02_rb,2.3440e+02_rb,1.1763e+02_rb,2.0680e+00_rb/) kbo(:, 2,28, 9) = (/ & &4.8590e+02_rb,3.6454e+02_rb,2.4321e+02_rb,1.2197e+02_rb,2.1100e+00_rb/) kbo(:, 3,28, 9) = (/ & &5.0445e+02_rb,3.7846e+02_rb,2.5247e+02_rb,1.2655e+02_rb,2.1567e+00_rb/) kbo(:, 4,28, 9) = (/ & &5.2474e+02_rb,3.9367e+02_rb,2.6260e+02_rb,1.3159e+02_rb,2.2098e+00_rb/) kbo(:, 5,28, 9) = (/ & &5.4720e+02_rb,4.1051e+02_rb,2.7382e+02_rb,1.3717e+02_rb,2.2620e+00_rb/) kbo(:, 1,29, 9) = (/ & &4.4072e+02_rb,3.3067e+02_rb,2.2063e+02_rb,1.1082e+02_rb,1.9419e+00_rb/) kbo(:, 2,29, 9) = (/ & &4.5821e+02_rb,3.4378e+02_rb,2.2936e+02_rb,1.1511e+02_rb,1.9998e+00_rb/) kbo(:, 3,29, 9) = (/ & &4.7729e+02_rb,3.5808e+02_rb,2.3889e+02_rb,1.1980e+02_rb,2.0671e+00_rb/) kbo(:, 4,29, 9) = (/ & &4.9882e+02_rb,3.7422e+02_rb,2.4964e+02_rb,1.2512e+02_rb,2.1341e+00_rb/) kbo(:, 5,29, 9) = (/ & &5.2331e+02_rb,3.9259e+02_rb,2.6188e+02_rb,1.3121e+02_rb,2.1979e+00_rb/) kbo(:, 1,30, 9) = (/ & &4.2556e+02_rb,3.1930e+02_rb,2.1305e+02_rb,1.0711e+02_rb,1.8309e+00_rb/) kbo(:, 2,30, 9) = (/ & &4.4407e+02_rb,3.3317e+02_rb,2.2229e+02_rb,1.1161e+02_rb,1.9101e+00_rb/) kbo(:, 3,30, 9) = (/ & &4.6505e+02_rb,3.4890e+02_rb,2.3276e+02_rb,1.1676e+02_rb,1.9914e+00_rb/) kbo(:, 4,30, 9) = (/ & &4.8908e+02_rb,3.6692e+02_rb,2.4477e+02_rb,1.2270e+02_rb,2.0709e+00_rb/) kbo(:, 5,30, 9) = (/ & &5.1660e+02_rb,3.8756e+02_rb,2.5853e+02_rb,1.2954e+02_rb,2.1480e+00_rb/) kbo(:, 1,31, 9) = (/ & &4.3357e+02_rb,3.2530e+02_rb,2.1704e+02_rb,1.0913e+02_rb,1.7458e+00_rb/) kbo(:, 2,31, 9) = (/ & &4.5478e+02_rb,3.4120e+02_rb,2.2764e+02_rb,1.1430e+02_rb,1.8393e+00_rb/) kbo(:, 3,31, 9) = (/ & &4.7940e+02_rb,3.5966e+02_rb,2.3993e+02_rb,1.2035e+02_rb,1.9333e+00_rb/) kbo(:, 4,31, 9) = (/ & &5.0804e+02_rb,3.8115e+02_rb,2.5425e+02_rb,1.2744e+02_rb,2.0234e+00_rb/) kbo(:, 5,31, 9) = (/ & &5.4033e+02_rb,4.0536e+02_rb,2.7039e+02_rb,1.3548e+02_rb,2.1150e+00_rb/) kbo(:, 1,32, 9) = (/ & &4.4897e+02_rb,3.3685e+02_rb,2.2474e+02_rb,1.1298e+02_rb,1.6787e+00_rb/) kbo(:, 2,32, 9) = (/ & &4.7419e+02_rb,3.5576e+02_rb,2.3734e+02_rb,1.1915e+02_rb,1.7859e+00_rb/) kbo(:, 3,32, 9) = (/ & &5.0379e+02_rb,3.7796e+02_rb,2.5213e+02_rb,1.2644e+02_rb,1.8899e+00_rb/) kbo(:, 4,32, 9) = (/ & &5.3795e+02_rb,4.0357e+02_rb,2.6921e+02_rb,1.3492e+02_rb,1.9968e+00_rb/) kbo(:, 5,32, 9) = (/ & &5.7556e+02_rb,4.3179e+02_rb,2.8802e+02_rb,1.4429e+02_rb,2.0977e+00_rb/) kbo(:, 1,33, 9) = (/ & &4.7613e+02_rb,3.5721e+02_rb,2.3831e+02_rb,1.1974e+02_rb,1.6313e+00_rb/) kbo(:, 2,33, 9) = (/ & &5.0727e+02_rb,3.8056e+02_rb,2.5387e+02_rb,1.2739e+02_rb,1.7486e+00_rb/) kbo(:, 3,33, 9) = (/ & &5.4363e+02_rb,4.0783e+02_rb,2.7205e+02_rb,1.3639e+02_rb,1.8695e+00_rb/) kbo(:, 4,33, 9) = (/ & &5.8421e+02_rb,4.3828e+02_rb,2.9234e+02_rb,1.4648e+02_rb,1.9835e+00_rb/) kbo(:, 5,33, 9) = (/ & &6.2742e+02_rb,4.7068e+02_rb,3.1394e+02_rb,1.5725e+02_rb,2.0938e+00_rb/) kbo(:, 1,34, 9) = (/ & &4.9479e+02_rb,3.7120e+02_rb,2.4764e+02_rb,1.2439e+02_rb,1.5951e+00_rb/) kbo(:, 2,34, 9) = (/ & &5.3209e+02_rb,3.9918e+02_rb,2.6628e+02_rb,1.3359e+02_rb,1.7258e+00_rb/) kbo(:, 3,34, 9) = (/ & &5.7463e+02_rb,4.3109e+02_rb,2.8755e+02_rb,1.4413e+02_rb,1.8546e+00_rb/) kbo(:, 4,34, 9) = (/ & &6.2052e+02_rb,4.6551e+02_rb,3.1050e+02_rb,1.5556e+02_rb,1.9770e+00_rb/) kbo(:, 5,34, 9) = (/ & &6.6892e+02_rb,5.0180e+02_rb,3.3469e+02_rb,1.6762e+02_rb,2.0917e+00_rb/) kbo(:, 1,35, 9) = (/ & &5.1474e+02_rb,3.8617e+02_rb,2.5762e+02_rb,1.2939e+02_rb,1.5620e+00_rb/) kbo(:, 2,35, 9) = (/ & &5.5847e+02_rb,4.1897e+02_rb,2.7948e+02_rb,1.4019e+02_rb,1.7022e+00_rb/) kbo(:, 3,35, 9) = (/ & &6.0709e+02_rb,4.5544e+02_rb,3.0379e+02_rb,1.5226e+02_rb,1.8365e+00_rb/) kbo(:, 4,35, 9) = (/ & &6.5852e+02_rb,4.9401e+02_rb,3.2950e+02_rb,1.6506e+02_rb,1.9663e+00_rb/) kbo(:, 5,35, 9) = (/ & &7.1282e+02_rb,5.3473e+02_rb,3.5664e+02_rb,1.7860e+02_rb,2.0876e+00_rb/) kbo(:, 1,36, 9) = (/ & &5.3040e+02_rb,3.9792e+02_rb,2.6545e+02_rb,1.3332e+02_rb,1.5229e+00_rb/) kbo(:, 2,36, 9) = (/ & &5.8002e+02_rb,4.3513e+02_rb,2.9026e+02_rb,1.4559e+02_rb,1.6698e+00_rb/) kbo(:, 3,36, 9) = (/ & &6.3422e+02_rb,4.7578e+02_rb,3.1736e+02_rb,1.5904e+02_rb,1.8112e+00_rb/) kbo(:, 4,36, 9) = (/ & &6.9154e+02_rb,5.1877e+02_rb,3.4601e+02_rb,1.7331e+02_rb,1.9470e+00_rb/) kbo(:, 5,36, 9) = (/ & &7.5259e+02_rb,5.6456e+02_rb,3.7653e+02_rb,1.8854e+02_rb,2.0786e+00_rb/) kbo(:, 1,37, 9) = (/ & &5.2761e+02_rb,3.9583e+02_rb,2.6405e+02_rb,1.3269e+02_rb,1.4669e+00_rb/) kbo(:, 2,37, 9) = (/ & &5.8107e+02_rb,4.3593e+02_rb,2.9079e+02_rb,1.4590e+02_rb,1.6200e+00_rb/) kbo(:, 3,37, 9) = (/ & &6.3936e+02_rb,4.7964e+02_rb,3.1993e+02_rb,1.6036e+02_rb,1.7687e+00_rb/) kbo(:, 4,37, 9) = (/ & &7.0149e+02_rb,5.2623e+02_rb,3.5098e+02_rb,1.7581e+02_rb,1.9104e+00_rb/) kbo(:, 5,37, 9) = (/ & &7.6801e+02_rb,5.7612e+02_rb,3.8424e+02_rb,1.9240e+02_rb,2.0492e+00_rb/) kbo(:, 1,38, 9) = (/ & &5.3320e+02_rb,4.0002e+02_rb,2.6686e+02_rb,1.3414e+02_rb,1.4150e+00_rb/) kbo(:, 2,38, 9) = (/ & &5.9148e+02_rb,4.4373e+02_rb,2.9599e+02_rb,1.4854e+02_rb,1.5738e+00_rb/) kbo(:, 3,38, 9) = (/ & &6.5505e+02_rb,4.9141e+02_rb,3.2778e+02_rb,1.6430e+02_rb,1.7289e+00_rb/) kbo(:, 4,38, 9) = (/ & &7.2345e+02_rb,5.4270e+02_rb,3.6197e+02_rb,1.8131e+02_rb,1.8759e+00_rb/) kbo(:, 5,38, 9) = (/ & &7.9740e+02_rb,5.9816e+02_rb,3.9894e+02_rb,1.9975e+02_rb,2.0221e+00_rb/) kbo(:, 1,39, 9) = (/ & &5.5268e+02_rb,4.1463e+02_rb,2.7660e+02_rb,1.3905e+02_rb,1.3683e+00_rb/) kbo(:, 2,39, 9) = (/ & &6.1737e+02_rb,4.6316e+02_rb,3.0895e+02_rb,1.5504e+02_rb,1.5320e+00_rb/) kbo(:, 3,39, 9) = (/ & &6.8821e+02_rb,5.1628e+02_rb,3.4436e+02_rb,1.7260e+02_rb,1.6920e+00_rb/) kbo(:, 4,39, 9) = (/ & &7.6555e+02_rb,5.7429e+02_rb,3.8302e+02_rb,1.9184e+02_rb,1.8468e+00_rb/) kbo(:, 5,39, 9) = (/ & &8.4965e+02_rb,6.3736e+02_rb,4.2508e+02_rb,2.1282e+02_rb,1.9969e+00_rb/) kbo(:, 1,40, 9) = (/ & &5.3311e+02_rb,3.9996e+02_rb,2.6682e+02_rb,1.3428e+02_rb,1.3069e+00_rb/) kbo(:, 2,40, 9) = (/ & &5.9979e+02_rb,4.4997e+02_rb,3.0016e+02_rb,1.5072e+02_rb,1.4753e+00_rb/) kbo(:, 3,40, 9) = (/ & &6.7343e+02_rb,5.0519e+02_rb,3.3697e+02_rb,1.6896e+02_rb,1.6406e+00_rb/) kbo(:, 4,40, 9) = (/ & &7.5472e+02_rb,5.6615e+02_rb,3.7760e+02_rb,1.8916e+02_rb,1.7999e+00_rb/) kbo(:, 5,40, 9) = (/ & &8.4379e+02_rb,6.3296e+02_rb,4.2214e+02_rb,2.1136e+02_rb,1.9558e+00_rb/) kbo(:, 1,41, 9) = (/ & &5.1260e+02_rb,3.8458e+02_rb,2.5658e+02_rb,1.2928e+02_rb,1.2459e+00_rb/) kbo(:, 2,41, 9) = (/ & &5.8131e+02_rb,4.3611e+02_rb,2.9093e+02_rb,1.4621e+02_rb,1.4179e+00_rb/) kbo(:, 3,41, 9) = (/ & &6.5741e+02_rb,4.9318e+02_rb,3.2896e+02_rb,1.6503e+02_rb,1.5871e+00_rb/) kbo(:, 4,41, 9) = (/ & &7.4227e+02_rb,5.5683e+02_rb,3.7139e+02_rb,1.8609e+02_rb,1.7498e+00_rb/) kbo(:, 5,41, 9) = (/ & &8.3623e+02_rb,6.2730e+02_rb,4.1837e+02_rb,2.0950e+02_rb,1.9122e+00_rb/) kbo(:, 1,42, 9) = (/ & &4.9831e+02_rb,3.7386e+02_rb,2.4944e+02_rb,1.2584e+02_rb,1.1865e+00_rb/) kbo(:, 2,42, 9) = (/ & &5.6980e+02_rb,4.2748e+02_rb,2.8517e+02_rb,1.4342e+02_rb,1.3622e+00_rb/) kbo(:, 3,42, 9) = (/ & &6.4955e+02_rb,4.8728e+02_rb,3.2503e+02_rb,1.6313e+02_rb,1.5361e+00_rb/) kbo(:, 4,42, 9) = (/ & &7.3900e+02_rb,5.5437e+02_rb,3.6975e+02_rb,1.8531e+02_rb,1.7026e+00_rb/) kbo(:, 5,42, 9) = (/ & &8.3900e+02_rb,6.2937e+02_rb,4.1975e+02_rb,2.1021e+02_rb,1.8688e+00_rb/) kbo(:, 1,43, 9) = (/ & &4.8522e+02_rb,3.6405e+02_rb,2.4292e+02_rb,1.2271e+02_rb,1.1188e+00_rb/) kbo(:, 2,43, 9) = (/ & &5.5936e+02_rb,4.1965e+02_rb,2.7996e+02_rb,1.4092e+02_rb,1.2979e+00_rb/) kbo(:, 3,43, 9) = (/ & &6.4330e+02_rb,4.8260e+02_rb,3.2191e+02_rb,1.6164e+02_rb,1.4736e+00_rb/) kbo(:, 4,43, 9) = (/ & &7.3773e+02_rb,5.5342e+02_rb,3.6912e+02_rb,1.8505e+02_rb,1.6463e+00_rb/) kbo(:, 5,43, 9) = (/ & &8.4419e+02_rb,6.3327e+02_rb,4.2235e+02_rb,2.1154e+02_rb,1.8168e+00_rb/) kbo(:, 1,44, 9) = (/ & &4.7662e+02_rb,3.5759e+02_rb,2.3863e+02_rb,1.2069e+02_rb,1.0480e+00_rb/) kbo(:, 2,44, 9) = (/ & &5.5453e+02_rb,4.1603e+02_rb,2.7755e+02_rb,1.3982e+02_rb,1.2297e+00_rb/) kbo(:, 3,44, 9) = (/ & &6.4348e+02_rb,4.8273e+02_rb,3.2200e+02_rb,1.6176e+02_rb,1.4085e+00_rb/) kbo(:, 4,44, 9) = (/ & &7.4447e+02_rb,5.5848e+02_rb,3.7249e+02_rb,1.8678e+02_rb,1.5847e+00_rb/) kbo(:, 5,44, 9) = (/ & &8.5855e+02_rb,6.4403e+02_rb,4.2953e+02_rb,2.1515e+02_rb,1.7587e+00_rb/) kbo(:, 1,45, 9) = (/ & &4.7694e+02_rb,3.5784e+02_rb,2.3881e+02_rb,1.2088e+02_rb,9.8025e-01_rb/) kbo(:, 2,45, 9) = (/ & &5.6049e+02_rb,4.2050e+02_rb,2.8054e+02_rb,1.4139e+02_rb,1.1623e+00_rb/) kbo(:, 3,45, 9) = (/ & &6.5632e+02_rb,4.9237e+02_rb,3.2842e+02_rb,1.6503e+02_rb,1.3439e+00_rb/) kbo(:, 4,45, 9) = (/ & &7.6635e+02_rb,5.7488e+02_rb,3.8343e+02_rb,1.9228e+02_rb,1.5236e+00_rb/) kbo(:, 5,45, 9) = (/ & &8.9123e+02_rb,6.6854e+02_rb,4.4587e+02_rb,2.2334e+02_rb,1.7007e+00_rb/) kbo(:, 1,46, 9) = (/ & &4.7924e+02_rb,3.5957e+02_rb,2.3999e+02_rb,1.2157e+02_rb,9.0983e-01_rb/) kbo(:, 2,46, 9) = (/ & &5.6922e+02_rb,4.2705e+02_rb,2.8491e+02_rb,1.4366e+02_rb,1.0922e+00_rb/) kbo(:, 3,46, 9) = (/ & &6.7352e+02_rb,5.0527e+02_rb,3.3703e+02_rb,1.6939e+02_rb,1.2757e+00_rb/) kbo(:, 4,46, 9) = (/ & &7.9367e+02_rb,5.9538e+02_rb,3.9709e+02_rb,1.9915e+02_rb,1.4579e+00_rb/) kbo(:, 5,46, 9) = (/ & &9.3189e+02_rb,6.9904e+02_rb,4.6620e+02_rb,2.3352e+02_rb,1.6382e+00_rb/) kbo(:, 1,47, 9) = (/ & &4.7215e+02_rb,3.5425e+02_rb,2.3648e+02_rb,1.1995e+02_rb,8.3319e-01_rb/) kbo(:, 2,47, 9) = (/ & &5.6710e+02_rb,4.2546e+02_rb,2.8387e+02_rb,1.4325e+02_rb,1.0142e+00_rb/) kbo(:, 3,47, 9) = (/ & &6.7881e+02_rb,5.0924e+02_rb,3.3968e+02_rb,1.7081e+02_rb,1.1988e+00_rb/) kbo(:, 4,47, 9) = (/ & &8.0796e+02_rb,6.0609e+02_rb,4.0424e+02_rb,2.0278e+02_rb,1.3835e+00_rb/) kbo(:, 5,47, 9) = (/ & &9.5794e+02_rb,7.1858e+02_rb,4.7923e+02_rb,2.4007e+02_rb,1.5668e+00_rb/) kbo(:, 1,48, 9) = (/ & &4.7667e+02_rb,3.5764e+02_rb,2.3876e+02_rb,1.2119e+02_rb,7.5823e-01_rb/) kbo(:, 2,48, 9) = (/ & &5.7865e+02_rb,4.3413e+02_rb,2.8965e+02_rb,1.4623e+02_rb,9.3799e-01_rb/) kbo(:, 3,48, 9) = (/ & &7.0145e+02_rb,5.2622e+02_rb,3.5101e+02_rb,1.7653e+02_rb,1.1229e+00_rb/) kbo(:, 4,48, 9) = (/ & &8.4427e+02_rb,6.3333e+02_rb,4.2240e+02_rb,2.1190e+02_rb,1.3089e+00_rb/) kbo(:, 5,48, 9) = (/ & &1.0109e+03_rb,7.5832e+02_rb,5.0573e+02_rb,2.5334e+02_rb,1.4951e+00_rb/) kbo(:, 1,49, 9) = (/ & &4.9957e+02_rb,3.7481e+02_rb,2.5022e+02_rb,1.2697e+02_rb,6.8631e-01_rb/) kbo(:, 2,49, 9) = (/ & &6.1224e+02_rb,4.5931e+02_rb,3.0645e+02_rb,1.5466e+02_rb,8.6353e-01_rb/) kbo(:, 3,49, 9) = (/ & &7.5197e+02_rb,5.6411e+02_rb,3.7627e+02_rb,1.8917e+02_rb,1.0480e+00_rb/) kbo(:, 4,49, 9) = (/ & &9.1643e+02_rb,6.8745e+02_rb,4.5848e+02_rb,2.2994e+02_rb,1.2341e+00_rb/) kbo(:, 5,49, 9) = (/ & &1.1094e+03_rb,8.3219e+02_rb,5.5497e+02_rb,2.7795e+02_rb,1.4234e+00_rb/) kbo(:, 1,50, 9) = (/ & &4.9927e+02_rb,3.7459e+02_rb,2.5011e+02_rb,1.2702e+02_rb,6.2082e-01_rb/) kbo(:, 2,50, 9) = (/ & &6.1745e+02_rb,4.6322e+02_rb,3.0907e+02_rb,1.5606e+02_rb,7.9337e-01_rb/) kbo(:, 3,50, 9) = (/ & &7.6850e+02_rb,5.7651e+02_rb,3.8454e+02_rb,1.9338e+02_rb,9.7702e-01_rb/) kbo(:, 4,50, 9) = (/ & &9.4909e+02_rb,7.1195e+02_rb,4.7482e+02_rb,2.3816e+02_rb,1.1637e+00_rb/) kbo(:, 5,50, 9) = (/ & &1.1628e+03_rb,8.7227e+02_rb,5.8169e+02_rb,2.9133e+02_rb,1.3527e+00_rb/) kbo(:, 1,51, 9) = (/ & &4.8758e+02_rb,3.6583e+02_rb,2.4432e+02_rb,1.2426e+02_rb,5.5888e-01_rb/) kbo(:, 2,51, 9) = (/ & &6.0851e+02_rb,4.5652e+02_rb,3.0463e+02_rb,1.5396e+02_rb,7.2702e-01_rb/) kbo(:, 3,51, 9) = (/ & &7.6706e+02_rb,5.7543e+02_rb,3.8383e+02_rb,1.9312e+02_rb,9.0804e-01_rb/) kbo(:, 4,51, 9) = (/ & &9.6042e+02_rb,7.2045e+02_rb,4.8049e+02_rb,2.4107e+02_rb,1.0946e+00_rb/) kbo(:, 5,51, 9) = (/ & &1.1920e+03_rb,8.9415e+02_rb,5.9629e+02_rb,2.9867e+02_rb,1.2844e+00_rb/) kbo(:, 1,52, 9) = (/ & &4.8860e+02_rb,3.6660e+02_rb,2.4488e+02_rb,1.2464e+02_rb,4.9962e-01_rb/) kbo(:, 2,52, 9) = (/ & &6.1451e+02_rb,4.6102e+02_rb,3.0765e+02_rb,1.5555e+02_rb,6.6320e-01_rb/) kbo(:, 3,52, 9) = (/ & &7.8418e+02_rb,5.8827e+02_rb,3.9240e+02_rb,1.9747e+02_rb,8.4128e-01_rb/) kbo(:, 4,52, 9) = (/ & &9.9602e+02_rb,7.4715e+02_rb,4.9829e+02_rb,2.5001e+02_rb,1.0268e+00_rb/) kbo(:, 5,52, 9) = (/ & &1.2534e+03_rb,9.4018e+02_rb,6.2698e+02_rb,3.1403e+02_rb,1.2165e+00_rb/) kbo(:, 1,53, 9) = (/ & &5.0881e+02_rb,3.8175e+02_rb,2.5500e+02_rb,1.2975e+02_rb,4.4418e-01_rb/) kbo(:, 2,53, 9) = (/ & &6.4426e+02_rb,4.8334e+02_rb,3.2253e+02_rb,1.6302e+02_rb,6.0138e-01_rb/) kbo(:, 3,53, 9) = (/ & &8.3158e+02_rb,6.2382e+02_rb,4.1611e+02_rb,2.0933e+02_rb,7.7570e-01_rb/) kbo(:, 4,53, 9) = (/ & &1.0715e+03_rb,8.0375e+02_rb,5.3603e+02_rb,2.6888e+02_rb,9.5940e-01_rb/) kbo(:, 5,53, 9) = (/ & &1.3680e+03_rb,1.0262e+03_rb,6.8430e+02_rb,3.4269e+02_rb,1.1487e+00_rb/) kbo(:, 1,54, 9) = (/ & &4.6019e+02_rb,3.4529e+02_rb,2.3082e+02_rb,1.1788e+02_rb,3.9422e-01_rb/) kbo(:, 2,54, 9) = (/ & &5.8633e+02_rb,4.3988e+02_rb,2.9364e+02_rb,1.4879e+02_rb,5.4422e-01_rb/) kbo(:, 3,54, 9) = (/ & &7.6477e+02_rb,5.7372e+02_rb,3.8273e+02_rb,1.9285e+02_rb,7.1419e-01_rb/) kbo(:, 4,54, 9) = (/ & &9.9975e+02_rb,7.4995e+02_rb,5.0017e+02_rb,2.5112e+02_rb,8.9603e-01_rb/) kbo(:, 5,54, 9) = (/ & &1.2952e+03_rb,9.7153e+02_rb,6.4788e+02_rb,3.2458e+02_rb,1.0830e+00_rb/) kbo(:, 1,55, 9) = (/ & &3.8020e+02_rb,2.8531e+02_rb,1.9107e+02_rb,9.8307e+01_rb,3.4739e-01_rb/) kbo(:, 2,55, 9) = (/ & &4.8735e+02_rb,3.6565e+02_rb,2.4430e+02_rb,1.2445e+02_rb,4.9078e-01_rb/) kbo(:, 3,55, 9) = (/ & &6.4163e+02_rb,4.8136e+02_rb,3.2124e+02_rb,1.6243e+02_rb,6.5484e-01_rb/) kbo(:, 4,55, 9) = (/ & &8.5082e+02_rb,6.3825e+02_rb,4.2573e+02_rb,2.1419e+02_rb,8.3371e-01_rb/) kbo(:, 5,55, 9) = (/ & &1.1188e+03_rb,8.3927e+02_rb,5.5970e+02_rb,2.8072e+02_rb,1.0198e+00_rb/) kbo(:, 1,56, 9) = (/ & &3.1368e+02_rb,2.3545e+02_rb,1.5809e+02_rb,8.2086e+01_rb,3.0410e-01_rb/) kbo(:, 2,56, 9) = (/ & &4.0416e+02_rb,3.0326e+02_rb,2.0292e+02_rb,1.0407e+02_rb,4.3985e-01_rb/) kbo(:, 3,56, 9) = (/ & &5.3658e+02_rb,4.0257e+02_rb,2.6883e+02_rb,1.3655e+02_rb,5.9766e-01_rb/) kbo(:, 4,56, 9) = (/ & &7.2129e+02_rb,5.4110e+02_rb,3.6102e+02_rb,1.8214e+02_rb,7.7256e-01_rb/) kbo(:, 5,56, 9) = (/ & &9.6339e+02_rb,7.2268e+02_rb,4.8200e+02_rb,2.4214e+02_rb,9.5689e-01_rb/) kbo(:, 1,57, 9) = (/ & &2.5819e+02_rb,1.9390e+02_rb,1.3066e+02_rb,6.8602e+01_rb,2.6463e-01_rb/) kbo(:, 2,57, 9) = (/ & &3.3457e+02_rb,2.5110e+02_rb,1.6838e+02_rb,8.7076e+01_rb,3.9133e-01_rb/) kbo(:, 3,57, 9) = (/ & &4.4726e+02_rb,3.3558e+02_rb,2.2435e+02_rb,1.1462e+02_rb,5.4231e-01_rb/) kbo(:, 4,57, 9) = (/ & &6.0897e+02_rb,4.5687e+02_rb,3.0496e+02_rb,1.5443e+02_rb,7.1198e-01_rb/) kbo(:, 5,57, 9) = (/ & &8.2628e+02_rb,6.1985e+02_rb,4.1347e+02_rb,2.0818e+02_rb,8.9451e-01_rb/) kbo(:, 1,58, 9) = (/ & &5.6144e+01_rb,5.1598e+01_rb,4.4952e+01_rb,3.3575e+01_rb,2.2945e-01_rb/) kbo(:, 2,58, 9) = (/ & &7.3248e+01_rb,6.7230e+01_rb,5.8185e+01_rb,4.2642e+01_rb,3.4680e-01_rb/) kbo(:, 3,58, 9) = (/ & &9.8566e+01_rb,9.0421e+01_rb,7.7903e+01_rb,5.6215e+01_rb,4.9127e-01_rb/) kbo(:, 4,58, 9) = (/ & &1.3577e+02_rb,1.2452e+02_rb,1.0700e+02_rb,7.6316e+01_rb,6.5580e-01_rb/) kbo(:, 5,58, 9) = (/ & &1.8716e+02_rb,1.7164e+02_rb,1.4731e+02_rb,1.0424e+02_rb,8.3481e-01_rb/) kbo(:, 1,59, 9) = (/ & &5.7246e+01_rb,5.0299e+01_rb,4.1347e+01_rb,2.8542e+01_rb,2.1390e-01_rb/) kbo(:, 2,59, 9) = (/ & &7.5569e+01_rb,6.6181e+01_rb,5.3818e+01_rb,3.6138e+01_rb,3.2687e-01_rb/) kbo(:, 3,59, 9) = (/ & &1.0297e+02_rb,9.0031e+01_rb,7.2620e+01_rb,4.7606e+01_rb,4.6582e-01_rb/) kbo(:, 4,59, 9) = (/ & &1.4369e+02_rb,1.2555e+02_rb,1.0072e+02_rb,6.4807e+01_rb,6.2712e-01_rb/) kbo(:, 5,59, 9) = (/ & &2.0105e+02_rb,1.7562e+02_rb,1.4046e+02_rb,8.9199e+01_rb,8.0292e-01_rb/) kbo(:, 1,13,10) = (/ & &1.3594e+05_rb,1.0195e+05_rb,6.7969e+04_rb,3.3985e+04_rb,3.3627e+00_rb/) kbo(:, 2,13,10) = (/ & &1.3605e+05_rb,1.0204e+05_rb,6.8026e+04_rb,3.4013e+04_rb,3.2528e+00_rb/) kbo(:, 3,13,10) = (/ & &1.3597e+05_rb,1.0198e+05_rb,6.7984e+04_rb,3.3992e+04_rb,3.1814e+00_rb/) kbo(:, 4,13,10) = (/ & &1.3504e+05_rb,1.0128e+05_rb,6.7520e+04_rb,3.3760e+04_rb,3.0515e+00_rb/) kbo(:, 5,13,10) = (/ & &1.3382e+05_rb,1.0037e+05_rb,6.6910e+04_rb,3.3456e+04_rb,3.0303e+00_rb/) kbo(:, 1,14,10) = (/ & &8.3672e+04_rb,6.2754e+04_rb,4.1836e+04_rb,2.0918e+04_rb,3.6220e+00_rb/) kbo(:, 2,14,10) = (/ & &8.3355e+04_rb,6.2516e+04_rb,4.1677e+04_rb,2.0839e+04_rb,3.5454e+00_rb/) kbo(:, 3,14,10) = (/ & &8.2924e+04_rb,6.2193e+04_rb,4.1462e+04_rb,2.0731e+04_rb,3.4328e+00_rb/) kbo(:, 4,14,10) = (/ & &8.2189e+04_rb,6.1641e+04_rb,4.1094e+04_rb,2.0547e+04_rb,3.3922e+00_rb/) kbo(:, 5,14,10) = (/ & &8.1205e+04_rb,6.0904e+04_rb,4.0602e+04_rb,2.0301e+04_rb,3.2425e+00_rb/) kbo(:, 1,15,10) = (/ & &5.1150e+04_rb,3.8363e+04_rb,2.5576e+04_rb,1.2788e+04_rb,3.9145e+00_rb/) kbo(:, 2,15,10) = (/ & &5.0875e+04_rb,3.8157e+04_rb,2.5438e+04_rb,1.2719e+04_rb,3.8152e+00_rb/) kbo(:, 3,15,10) = (/ & &5.0407e+04_rb,3.7806e+04_rb,2.5204e+04_rb,1.2602e+04_rb,3.7733e+00_rb/) kbo(:, 4,15,10) = (/ & &4.9693e+04_rb,3.7270e+04_rb,2.4847e+04_rb,1.2424e+04_rb,3.6717e+00_rb/) kbo(:, 5,15,10) = (/ & &4.8987e+04_rb,3.6740e+04_rb,2.4494e+04_rb,1.2247e+04_rb,3.5647e+00_rb/) kbo(:, 1,16,10) = (/ & &3.6535e+04_rb,2.7401e+04_rb,1.8268e+04_rb,9.1341e+03_rb,4.2542e+00_rb/) kbo(:, 2,16,10) = (/ & &3.6151e+04_rb,2.7114e+04_rb,1.8076e+04_rb,9.0383e+03_rb,4.1666e+00_rb/) kbo(:, 3,16,10) = (/ & &3.5666e+04_rb,2.6750e+04_rb,1.7833e+04_rb,8.9169e+03_rb,4.1063e+00_rb/) kbo(:, 4,16,10) = (/ & &3.5133e+04_rb,2.6350e+04_rb,1.7567e+04_rb,8.7838e+03_rb,4.0309e+00_rb/) kbo(:, 5,16,10) = (/ & &3.4526e+04_rb,2.5894e+04_rb,1.7263e+04_rb,8.6318e+03_rb,3.8978e+00_rb/) kbo(:, 1,17,10) = (/ & &2.6414e+04_rb,1.9811e+04_rb,1.3207e+04_rb,6.6039e+03_rb,4.6454e+00_rb/) kbo(:, 2,17,10) = (/ & &2.6068e+04_rb,1.9551e+04_rb,1.3034e+04_rb,6.5174e+03_rb,4.5633e+00_rb/) kbo(:, 3,17,10) = (/ & &2.5689e+04_rb,1.9267e+04_rb,1.2845e+04_rb,6.4225e+03_rb,4.4826e+00_rb/) kbo(:, 4,17,10) = (/ & &2.5209e+04_rb,1.8907e+04_rb,1.2605e+04_rb,6.3027e+03_rb,4.3889e+00_rb/) kbo(:, 5,17,10) = (/ & &2.4661e+04_rb,1.8496e+04_rb,1.2331e+04_rb,6.1658e+03_rb,4.2589e+00_rb/) kbo(:, 1,18,10) = (/ & &1.9208e+04_rb,1.4406e+04_rb,9.6044e+03_rb,4.8025e+03_rb,5.0342e+00_rb/) kbo(:, 2,18,10) = (/ & &1.8927e+04_rb,1.4195e+04_rb,9.4636e+03_rb,4.7320e+03_rb,4.9453e+00_rb/) kbo(:, 3,18,10) = (/ & &1.8575e+04_rb,1.3931e+04_rb,9.2875e+03_rb,4.6440e+03_rb,4.8565e+00_rb/) kbo(:, 4,18,10) = (/ & &1.8151e+04_rb,1.3614e+04_rb,9.0760e+03_rb,4.5383e+03_rb,4.7616e+00_rb/) kbo(:, 5,18,10) = (/ & &1.7715e+04_rb,1.3287e+04_rb,8.8579e+03_rb,4.4292e+03_rb,4.6381e+00_rb/) kbo(:, 1,19,10) = (/ & &1.3561e+04_rb,1.0171e+04_rb,6.7808e+03_rb,3.3906e+03_rb,5.4045e+00_rb/) kbo(:, 2,19,10) = (/ & &1.3305e+04_rb,9.9790e+03_rb,6.6528e+03_rb,3.3267e+03_rb,5.3114e+00_rb/) kbo(:, 3,19,10) = (/ & &1.3001e+04_rb,9.7507e+03_rb,6.5006e+03_rb,3.2506e+03_rb,5.2250e+00_rb/) kbo(:, 4,19,10) = (/ & &1.2687e+04_rb,9.5155e+03_rb,6.3438e+03_rb,3.1722e+03_rb,5.1407e+00_rb/) kbo(:, 5,19,10) = (/ & &1.2394e+04_rb,9.2960e+03_rb,6.1975e+03_rb,3.0991e+03_rb,5.0251e+00_rb/) kbo(:, 1,20,10) = (/ & &1.0195e+04_rb,7.6466e+03_rb,5.0979e+03_rb,2.5492e+03_rb,5.7652e+00_rb/) kbo(:, 2,20,10) = (/ & &9.9631e+03_rb,7.4725e+03_rb,4.9818e+03_rb,2.4912e+03_rb,5.6804e+00_rb/) kbo(:, 3,20,10) = (/ & &9.7293e+03_rb,7.2971e+03_rb,4.8649e+03_rb,2.4328e+03_rb,5.6092e+00_rb/) kbo(:, 4,20,10) = (/ & &9.5227e+03_rb,7.1421e+03_rb,4.7616e+03_rb,2.3811e+03_rb,5.5285e+00_rb/) kbo(:, 5,20,10) = (/ & &9.3625e+03_rb,7.0220e+03_rb,4.6816e+03_rb,2.3411e+03_rb,5.3995e+00_rb/) kbo(:, 1,21,10) = (/ & &7.7885e+03_rb,5.8415e+03_rb,3.8945e+03_rb,1.9475e+03_rb,6.1280e+00_rb/) kbo(:, 2,21,10) = (/ & &7.6092e+03_rb,5.7071e+03_rb,3.8049e+03_rb,1.9027e+03_rb,6.0467e+00_rb/) kbo(:, 3,21,10) = (/ & &7.4658e+03_rb,5.5995e+03_rb,3.7332e+03_rb,1.8669e+03_rb,5.9782e+00_rb/) kbo(:, 4,21,10) = (/ & &7.3647e+03_rb,5.5237e+03_rb,3.6826e+03_rb,1.8416e+03_rb,5.8911e+00_rb/) kbo(:, 5,21,10) = (/ & &7.2928e+03_rb,5.4698e+03_rb,3.6467e+03_rb,1.8237e+03_rb,5.7660e+00_rb/) kbo(:, 1,22,10) = (/ & &6.0472e+03_rb,4.5355e+03_rb,3.0239e+03_rb,1.5122e+03_rb,6.4389e+00_rb/) kbo(:, 2,22,10) = (/ & &5.9457e+03_rb,4.4594e+03_rb,2.9731e+03_rb,1.4868e+03_rb,6.3534e+00_rb/) kbo(:, 3,22,10) = (/ & &5.8843e+03_rb,4.4133e+03_rb,2.9424e+03_rb,1.4715e+03_rb,6.3043e+00_rb/) kbo(:, 4,22,10) = (/ & &5.8543e+03_rb,4.3909e+03_rb,2.9274e+03_rb,1.4640e+03_rb,6.2309e+00_rb/) kbo(:, 5,22,10) = (/ & &5.8906e+03_rb,4.4181e+03_rb,2.9456e+03_rb,1.4732e+03_rb,6.0993e+00_rb/) kbo(:, 1,23,10) = (/ & &4.7512e+03_rb,3.5635e+03_rb,2.3758e+03_rb,1.1882e+03_rb,6.6888e+00_rb/) kbo(:, 2,23,10) = (/ & &4.7151e+03_rb,3.5365e+03_rb,2.3578e+03_rb,1.1792e+03_rb,6.6289e+00_rb/) kbo(:, 3,23,10) = (/ & &4.7153e+03_rb,3.5366e+03_rb,2.3579e+03_rb,1.1792e+03_rb,6.5888e+00_rb/) kbo(:, 4,23,10) = (/ & &4.7757e+03_rb,3.5820e+03_rb,2.3882e+03_rb,1.1944e+03_rb,6.5103e+00_rb/) kbo(:, 5,23,10) = (/ & &4.8784e+03_rb,3.6590e+03_rb,2.4396e+03_rb,1.2201e+03_rb,6.3750e+00_rb/) kbo(:, 1,24,10) = (/ & &3.7664e+03_rb,2.8249e+03_rb,1.8835e+03_rb,9.4199e+02_rb,6.8939e+00_rb/) kbo(:, 2,24,10) = (/ & &3.7833e+03_rb,2.8376e+03_rb,1.8919e+03_rb,9.4626e+02_rb,6.8560e+00_rb/) kbo(:, 3,24,10) = (/ & &3.8524e+03_rb,2.8895e+03_rb,1.9265e+03_rb,9.6361e+02_rb,6.8233e+00_rb/) kbo(:, 4,24,10) = (/ & &3.9503e+03_rb,2.9629e+03_rb,1.9755e+03_rb,9.8811e+02_rb,6.7364e+00_rb/) kbo(:, 5,24,10) = (/ & &4.0500e+03_rb,3.0377e+03_rb,2.0254e+03_rb,1.0130e+03_rb,6.5861e+00_rb/) kbo(:, 1,25,10) = (/ & &3.0705e+03_rb,2.3030e+03_rb,1.5356e+03_rb,7.6808e+02_rb,7.0352e+00_rb/) kbo(:, 2,25,10) = (/ & &3.1368e+03_rb,2.3527e+03_rb,1.5687e+03_rb,7.8472e+02_rb,7.0310e+00_rb/) kbo(:, 3,25,10) = (/ & &3.2299e+03_rb,2.4226e+03_rb,1.6153e+03_rb,8.0803e+02_rb,7.0074e+00_rb/) kbo(:, 4,25,10) = (/ & &3.3291e+03_rb,2.4970e+03_rb,1.6649e+03_rb,8.3282e+02_rb,6.9138e+00_rb/) kbo(:, 5,25,10) = (/ & &3.4334e+03_rb,2.5753e+03_rb,1.7171e+03_rb,8.5889e+02_rb,6.7836e+00_rb/) kbo(:, 1,26,10) = (/ & &2.5973e+03_rb,1.9481e+03_rb,1.2990e+03_rb,6.4986e+02_rb,7.1301e+00_rb/) kbo(:, 2,26,10) = (/ & &2.6809e+03_rb,2.0109e+03_rb,1.3408e+03_rb,6.7078e+02_rb,7.1546e+00_rb/) kbo(:, 3,26,10) = (/ & &2.7748e+03_rb,2.0813e+03_rb,1.3878e+03_rb,6.9426e+02_rb,7.1359e+00_rb/) kbo(:, 4,26,10) = (/ & &2.8656e+03_rb,2.1494e+03_rb,1.4332e+03_rb,7.1694e+02_rb,7.0388e+00_rb/) kbo(:, 5,26,10) = (/ & &2.9554e+03_rb,2.2167e+03_rb,1.4780e+03_rb,7.3936e+02_rb,6.9309e+00_rb/) kbo(:, 1,27,10) = (/ & &2.3040e+03_rb,1.7282e+03_rb,1.1524e+03_rb,5.7657e+02_rb,7.1805e+00_rb/) kbo(:, 2,27,10) = (/ & &2.3938e+03_rb,1.7956e+03_rb,1.1973e+03_rb,5.9902e+02_rb,7.2265e+00_rb/) kbo(:, 3,27,10) = (/ & &2.4776e+03_rb,1.8584e+03_rb,1.2392e+03_rb,6.1996e+02_rb,7.2160e+00_rb/) kbo(:, 4,27,10) = (/ & &2.5592e+03_rb,1.9196e+03_rb,1.2799e+03_rb,6.4031e+02_rb,7.1019e+00_rb/) kbo(:, 5,27,10) = (/ & &2.6344e+03_rb,1.9760e+03_rb,1.3176e+03_rb,6.5914e+02_rb,7.0533e+00_rb/) kbo(:, 1,28,10) = (/ & &2.1016e+03_rb,1.5764e+03_rb,1.0512e+03_rb,5.2597e+02_rb,7.1943e+00_rb/) kbo(:, 2,28,10) = (/ & &2.1832e+03_rb,1.6376e+03_rb,1.0920e+03_rb,5.4637e+02_rb,7.2562e+00_rb/) kbo(:, 3,28,10) = (/ & &2.2626e+03_rb,1.6971e+03_rb,1.1316e+03_rb,5.6618e+02_rb,7.2356e+00_rb/) kbo(:, 4,28,10) = (/ & &2.3367e+03_rb,1.7527e+03_rb,1.1687e+03_rb,5.8470e+02_rb,7.1672e+00_rb/) kbo(:, 5,28,10) = (/ & &2.4052e+03_rb,1.8041e+03_rb,1.2030e+03_rb,6.0186e+02_rb,7.1806e+00_rb/) kbo(:, 1,29,10) = (/ & &2.0213e+03_rb,1.5162e+03_rb,1.0110e+03_rb,5.0592e+02_rb,7.1826e+00_rb/) kbo(:, 2,29,10) = (/ & &2.1025e+03_rb,1.5771e+03_rb,1.0516e+03_rb,5.2618e+02_rb,7.2449e+00_rb/) kbo(:, 3,29,10) = (/ & &2.1817e+03_rb,1.6365e+03_rb,1.0912e+03_rb,5.4596e+02_rb,7.2200e+00_rb/) kbo(:, 4,29,10) = (/ & &2.2556e+03_rb,1.6919e+03_rb,1.1282e+03_rb,5.6447e+02_rb,7.2591e+00_rb/) kbo(:, 5,29,10) = (/ & &2.3246e+03_rb,1.7436e+03_rb,1.1626e+03_rb,5.8167e+02_rb,7.2912e+00_rb/) kbo(:, 1,30,10) = (/ & &1.9891e+03_rb,1.4920e+03_rb,9.9489e+02_rb,4.9783e+02_rb,7.1696e+00_rb/) kbo(:, 2,30,10) = (/ & &2.0704e+03_rb,1.5530e+03_rb,1.0355e+03_rb,5.1812e+02_rb,7.1996e+00_rb/) kbo(:, 3,30,10) = (/ & &2.1486e+03_rb,1.6117e+03_rb,1.0747e+03_rb,5.3773e+02_rb,7.2564e+00_rb/) kbo(:, 4,30,10) = (/ & &2.2243e+03_rb,1.6684e+03_rb,1.1125e+03_rb,5.5660e+02_rb,7.3491e+00_rb/) kbo(:, 5,30,10) = (/ & &2.2969e+03_rb,1.7228e+03_rb,1.1488e+03_rb,5.7471e+02_rb,7.3950e+00_rb/) kbo(:, 1,31,10) = (/ & &2.0600e+03_rb,1.5452e+03_rb,1.0303e+03_rb,5.1552e+02_rb,7.0891e+00_rb/) kbo(:, 2,31,10) = (/ & &2.1442e+03_rb,1.6083e+03_rb,1.0725e+03_rb,5.3661e+02_rb,7.1940e+00_rb/) kbo(:, 3,31,10) = (/ & &2.2267e+03_rb,1.6702e+03_rb,1.1137e+03_rb,5.5720e+02_rb,7.3519e+00_rb/) kbo(:, 4,31,10) = (/ & &2.3069e+03_rb,1.7303e+03_rb,1.1538e+03_rb,5.7721e+02_rb,7.4783e+00_rb/) kbo(:, 5,31,10) = (/ & &2.3951e+03_rb,1.7965e+03_rb,1.1978e+03_rb,5.9922e+02_rb,7.4978e+00_rb/) kbo(:, 1,32,10) = (/ & &2.1607e+03_rb,1.6207e+03_rb,1.0807e+03_rb,5.4073e+02_rb,7.0921e+00_rb/) kbo(:, 2,32,10) = (/ & &2.2499e+03_rb,1.6876e+03_rb,1.1253e+03_rb,5.6302e+02_rb,7.2853e+00_rb/) kbo(:, 3,32,10) = (/ & &2.3389e+03_rb,1.7543e+03_rb,1.1698e+03_rb,5.8523e+02_rb,7.4637e+00_rb/) kbo(:, 4,32,10) = (/ & &2.4345e+03_rb,1.8261e+03_rb,1.2176e+03_rb,6.0908e+02_rb,7.5300e+00_rb/) kbo(:, 5,32,10) = (/ & &2.5534e+03_rb,1.9152e+03_rb,1.2769e+03_rb,6.3872e+02_rb,7.5836e+00_rb/) kbo(:, 1,33,10) = (/ & &2.3147e+03_rb,1.7362e+03_rb,1.1577e+03_rb,5.7922e+02_rb,7.1422e+00_rb/) kbo(:, 2,33,10) = (/ & &2.4114e+03_rb,1.8087e+03_rb,1.2060e+03_rb,6.0335e+02_rb,7.3798e+00_rb/) kbo(:, 3,33,10) = (/ & &2.5142e+03_rb,1.8858e+03_rb,1.2574e+03_rb,6.2900e+02_rb,7.4990e+00_rb/) kbo(:, 4,33,10) = (/ & &2.6436e+03_rb,1.9829e+03_rb,1.3221e+03_rb,6.6129e+02_rb,7.6018e+00_rb/) kbo(:, 5,33,10) = (/ & &2.8166e+03_rb,2.1125e+03_rb,1.4085e+03_rb,7.0447e+02_rb,7.6468e+00_rb/) kbo(:, 1,34,10) = (/ & &2.4210e+03_rb,1.8159e+03_rb,1.2108e+03_rb,6.0577e+02_rb,7.2083e+00_rb/) kbo(:, 2,34,10) = (/ & &2.5284e+03_rb,1.8965e+03_rb,1.2645e+03_rb,6.3255e+02_rb,7.4180e+00_rb/) kbo(:, 3,34,10) = (/ & &2.6591e+03_rb,1.9944e+03_rb,1.3298e+03_rb,6.6516e+02_rb,7.5418e+00_rb/) kbo(:, 4,34,10) = (/ & &2.8359e+03_rb,2.1270e+03_rb,1.4182e+03_rb,7.0928e+02_rb,7.6931e+00_rb/) kbo(:, 5,34,10) = (/ & &3.0680e+03_rb,2.3011e+03_rb,1.5342e+03_rb,7.6730e+02_rb,7.7811e+00_rb/) kbo(:, 1,35,10) = (/ & &2.5363e+03_rb,1.9024e+03_rb,1.2685e+03_rb,6.3456e+02_rb,7.2309e+00_rb/) kbo(:, 2,35,10) = (/ & &2.6634e+03_rb,1.9977e+03_rb,1.3320e+03_rb,6.6631e+02_rb,7.4393e+00_rb/) kbo(:, 3,35,10) = (/ & &2.8345e+03_rb,2.1260e+03_rb,1.4175e+03_rb,7.0897e+02_rb,7.6569e+00_rb/) kbo(:, 4,35,10) = (/ & &3.0674e+03_rb,2.3007e+03_rb,1.5339e+03_rb,7.6716e+02_rb,7.7801e+00_rb/) kbo(:, 5,35,10) = (/ & &3.3573e+03_rb,2.5181e+03_rb,1.6788e+03_rb,8.3963e+02_rb,7.8561e+00_rb/) kbo(:, 1,36,10) = (/ & &2.6451e+03_rb,1.9840e+03_rb,1.3229e+03_rb,6.6175e+02_rb,7.2395e+00_rb/) kbo(:, 2,36,10) = (/ & &2.7976e+03_rb,2.0983e+03_rb,1.3991e+03_rb,6.9981e+02_rb,7.4813e+00_rb/) kbo(:, 3,36,10) = (/ & &3.0125e+03_rb,2.2595e+03_rb,1.5065e+03_rb,7.5346e+02_rb,7.7309e+00_rb/) kbo(:, 4,36,10) = (/ & &3.2979e+03_rb,2.4736e+03_rb,1.6492e+03_rb,8.2479e+02_rb,7.8735e+00_rb/) kbo(:, 5,36,10) = (/ & &3.6475e+03_rb,2.7357e+03_rb,1.8239e+03_rb,9.1218e+02_rb,7.9027e+00_rb/) kbo(:, 1,37,10) = (/ & &2.6819e+03_rb,2.0116e+03_rb,1.3413e+03_rb,6.7096e+02_rb,7.2017e+00_rb/) kbo(:, 2,37,10) = (/ & &2.8583e+03_rb,2.1439e+03_rb,1.4294e+03_rb,7.1495e+02_rb,7.5003e+00_rb/) kbo(:, 3,37,10) = (/ & &3.1042e+03_rb,2.3283e+03_rb,1.5523e+03_rb,7.7640e+02_rb,7.7646e+00_rb/) kbo(:, 4,37,10) = (/ & &3.4272e+03_rb,2.5705e+03_rb,1.7138e+03_rb,8.5714e+02_rb,7.9233e+00_rb/) kbo(:, 5,37,10) = (/ & &3.8225e+03_rb,2.8670e+03_rb,1.9115e+03_rb,9.5596e+02_rb,7.9456e+00_rb/) kbo(:, 1,38,10) = (/ & &2.7669e+03_rb,2.0753e+03_rb,1.3837e+03_rb,6.9217e+02_rb,7.1724e+00_rb/) kbo(:, 2,38,10) = (/ & &2.9772e+03_rb,2.2330e+03_rb,1.4888e+03_rb,7.4467e+02_rb,7.5382e+00_rb/) kbo(:, 3,38,10) = (/ & &3.2630e+03_rb,2.4473e+03_rb,1.6317e+03_rb,8.1609e+02_rb,7.7857e+00_rb/) kbo(:, 4,38,10) = (/ & &3.6292e+03_rb,2.7220e+03_rb,1.8149e+03_rb,9.0769e+02_rb,7.9649e+00_rb/) kbo(:, 5,38,10) = (/ & &4.0743e+03_rb,3.0559e+03_rb,2.0374e+03_rb,1.0190e+03_rb,7.9771e+00_rb/) kbo(:, 1,39,10) = (/ & &2.9268e+03_rb,2.1953e+03_rb,1.4637e+03_rb,7.3213e+02_rb,7.1691e+00_rb/) kbo(:, 2,39,10) = (/ & &3.1832e+03_rb,2.3875e+03_rb,1.5919e+03_rb,7.9619e+02_rb,7.5536e+00_rb/) kbo(:, 3,39,10) = (/ & &3.5251e+03_rb,2.6440e+03_rb,1.7628e+03_rb,8.8168e+02_rb,7.8089e+00_rb/) kbo(:, 4,39,10) = (/ & &3.9504e+03_rb,2.9629e+03_rb,1.9755e+03_rb,9.8804e+02_rb,7.9786e+00_rb/) kbo(:, 5,39,10) = (/ & &4.4598e+03_rb,3.3450e+03_rb,2.2302e+03_rb,1.1154e+03_rb,8.0073e+00_rb/) kbo(:, 1,40,10) = (/ & &2.8874e+03_rb,2.1657e+03_rb,1.4439e+03_rb,7.2221e+02_rb,7.0746e+00_rb/) kbo(:, 2,40,10) = (/ & &3.1724e+03_rb,2.3794e+03_rb,1.5864e+03_rb,7.9346e+02_rb,7.4831e+00_rb/) kbo(:, 3,40,10) = (/ & &3.5465e+03_rb,2.6600e+03_rb,1.7735e+03_rb,8.8703e+02_rb,7.7692e+00_rb/) kbo(:, 4,40,10) = (/ & &4.0044e+03_rb,3.0035e+03_rb,2.0025e+03_rb,1.0016e+03_rb,7.9632e+00_rb/) kbo(:, 5,40,10) = (/ & &4.5454e+03_rb,3.4092e+03_rb,2.2730e+03_rb,1.1368e+03_rb,8.0081e+00_rb/) kbo(:, 1,41,10) = (/ & &2.8406e+03_rb,2.1306e+03_rb,1.4205e+03_rb,7.1050e+02_rb,6.9600e+00_rb/) kbo(:, 2,41,10) = (/ & &3.1484e+03_rb,2.3614e+03_rb,1.5744e+03_rb,7.8747e+02_rb,7.3954e+00_rb/) kbo(:, 3,41,10) = (/ & &3.5576e+03_rb,2.6684e+03_rb,1.7791e+03_rb,8.8987e+02_rb,7.7179e+00_rb/) kbo(:, 4,41,10) = (/ & &4.0527e+03_rb,3.0397e+03_rb,2.0267e+03_rb,1.0137e+03_rb,7.9444e+00_rb/) kbo(:, 5,41,10) = (/ & &4.6270e+03_rb,3.4704e+03_rb,2.3138e+03_rb,1.1572e+03_rb,8.0108e+00_rb/) kbo(:, 1,42,10) = (/ & &2.8258e+03_rb,2.1194e+03_rb,1.4131e+03_rb,7.0678e+02_rb,6.8517e+00_rb/) kbo(:, 2,42,10) = (/ & &3.1581e+03_rb,2.3687e+03_rb,1.5793e+03_rb,7.8990e+02_rb,7.3049e+00_rb/) kbo(:, 3,42,10) = (/ & &3.6059e+03_rb,2.7046e+03_rb,1.8032e+03_rb,9.0193e+02_rb,7.6524e+00_rb/) kbo(:, 4,42,10) = (/ & &4.1499e+03_rb,3.1126e+03_rb,2.0753e+03_rb,1.0380e+03_rb,7.9111e+00_rb/) kbo(:, 5,42,10) = (/ & &4.7763e+03_rb,3.5824e+03_rb,2.3885e+03_rb,1.1945e+03_rb,8.0026e+00_rb/) kbo(:, 1,43,10) = (/ & &2.8194e+03_rb,2.1147e+03_rb,1.4100e+03_rb,7.0522e+02_rb,6.7032e+00_rb/) kbo(:, 2,43,10) = (/ & &3.1747e+03_rb,2.3812e+03_rb,1.5876e+03_rb,7.9408e+02_rb,7.1735e+00_rb/) kbo(:, 3,43,10) = (/ & &3.6549e+03_rb,2.7413e+03_rb,1.8278e+03_rb,9.1420e+02_rb,7.5844e+00_rb/) kbo(:, 4,43,10) = (/ & &4.2522e+03_rb,3.1893e+03_rb,2.1264e+03_rb,1.0635e+03_rb,7.8420e+00_rb/) kbo(:, 5,43,10) = (/ & &4.9421e+03_rb,3.7067e+03_rb,2.4714e+03_rb,1.2360e+03_rb,7.9777e+00_rb/) kbo(:, 1,44,10) = (/ & &2.8469e+03_rb,2.1353e+03_rb,1.4237e+03_rb,7.1206e+02_rb,6.5380e+00_rb/) kbo(:, 2,44,10) = (/ & &3.2203e+03_rb,2.4153e+03_rb,1.6104e+03_rb,8.0548e+02_rb,7.0393e+00_rb/) kbo(:, 3,44,10) = (/ & &3.7360e+03_rb,2.8021e+03_rb,1.8683e+03_rb,9.3448e+02_rb,7.4778e+00_rb/) kbo(:, 4,44,10) = (/ & &4.3910e+03_rb,3.2934e+03_rb,2.1958e+03_rb,1.0982e+03_rb,7.7716e+00_rb/) kbo(:, 5,44,10) = (/ & &5.1620e+03_rb,3.8716e+03_rb,2.5813e+03_rb,1.2909e+03_rb,7.9568e+00_rb/) kbo(:, 1,45,10) = (/ & &2.9370e+03_rb,2.2029e+03_rb,1.4687e+03_rb,7.3461e+02_rb,6.3596e+00_rb/) kbo(:, 2,45,10) = (/ & &3.3323e+03_rb,2.4994e+03_rb,1.6664e+03_rb,8.3351e+02_rb,6.8956e+00_rb/) kbo(:, 3,45,10) = (/ & &3.8921e+03_rb,2.9193e+03_rb,1.9464e+03_rb,9.7354e+02_rb,7.3748e+00_rb/) kbo(:, 4,45,10) = (/ & &4.6196e+03_rb,3.4648e+03_rb,2.3101e+03_rb,1.1554e+03_rb,7.7094e+00_rb/) kbo(:, 5,45,10) = (/ & &5.4975e+03_rb,4.1233e+03_rb,2.7490e+03_rb,1.3748e+03_rb,7.9394e+00_rb/) kbo(:, 1,46,10) = (/ & &3.0543e+03_rb,2.2908e+03_rb,1.5274e+03_rb,7.6393e+02_rb,6.1665e+00_rb/) kbo(:, 2,46,10) = (/ & &3.4757e+03_rb,2.6069e+03_rb,1.7382e+03_rb,8.6940e+02_rb,6.7524e+00_rb/) kbo(:, 3,46,10) = (/ & &4.0758e+03_rb,3.0570e+03_rb,2.0382e+03_rb,1.0195e+03_rb,7.2688e+00_rb/) kbo(:, 4,46,10) = (/ & &4.8832e+03_rb,3.6626e+03_rb,2.4419e+03_rb,1.2213e+03_rb,7.6299e+00_rb/) kbo(:, 5,46,10) = (/ & &5.8799e+03_rb,4.4101e+03_rb,2.9402e+03_rb,1.4704e+03_rb,7.9039e+00_rb/) kbo(:, 1,47,10) = (/ & &3.1321e+03_rb,2.3492e+03_rb,1.5663e+03_rb,7.8341e+02_rb,5.9258e+00_rb/) kbo(:, 2,47,10) = (/ & &3.5703e+03_rb,2.6779e+03_rb,1.7855e+03_rb,8.9306e+02_rb,6.5564e+00_rb/) kbo(:, 3,47,10) = (/ & &4.1981e+03_rb,3.1488e+03_rb,2.0994e+03_rb,1.0501e+03_rb,7.1267e+00_rb/) kbo(:, 4,47,10) = (/ & &5.0652e+03_rb,3.7991e+03_rb,2.5329e+03_rb,1.2668e+03_rb,7.5455e+00_rb/) kbo(:, 5,47,10) = (/ & &6.1689e+03_rb,4.6268e+03_rb,3.0847e+03_rb,1.5426e+03_rb,7.8470e+00_rb/) kbo(:, 1,48,10) = (/ & &3.3047e+03_rb,2.4787e+03_rb,1.6526e+03_rb,8.2657e+02_rb,5.6694e+00_rb/) kbo(:, 2,48,10) = (/ & &3.7747e+03_rb,2.8312e+03_rb,1.8877e+03_rb,9.4418e+02_rb,6.3589e+00_rb/) kbo(:, 3,48,10) = (/ & &4.4483e+03_rb,3.3364e+03_rb,2.2245e+03_rb,1.1126e+03_rb,6.9569e+00_rb/) kbo(:, 4,48,10) = (/ & &5.3940e+03_rb,4.0457e+03_rb,2.6973e+03_rb,1.3490e+03_rb,7.4395e+00_rb/) kbo(:, 5,48,10) = (/ & &6.6398e+03_rb,4.9800e+03_rb,3.3201e+03_rb,1.6603e+03_rb,7.7751e+00_rb/) kbo(:, 1,49,10) = (/ & &3.6256e+03_rb,2.7194e+03_rb,1.8131e+03_rb,9.0682e+02_rb,5.4147e+00_rb/) kbo(:, 2,49,10) = (/ & &4.1643e+03_rb,3.1234e+03_rb,2.0825e+03_rb,1.0416e+03_rb,6.1453e+00_rb/) kbo(:, 3,49,10) = (/ & &4.9094e+03_rb,3.6822e+03_rb,2.4550e+03_rb,1.2279e+03_rb,6.7872e+00_rb/) kbo(:, 4,49,10) = (/ & &5.9847e+03_rb,4.4886e+03_rb,2.9926e+03_rb,1.4966e+03_rb,7.3168e+00_rb/) kbo(:, 5,49,10) = (/ & &7.4258e+03_rb,5.5695e+03_rb,3.7131e+03_rb,1.8568e+03_rb,7.6869e+00_rb/) kbo(:, 1,50,10) = (/ & &3.7913e+03_rb,2.8436e+03_rb,1.8959e+03_rb,9.4825e+02_rb,5.1338e+00_rb/) kbo(:, 2,50,10) = (/ & &4.3920e+03_rb,3.2942e+03_rb,2.1963e+03_rb,1.0985e+03_rb,5.9203e+00_rb/) kbo(:, 3,50,10) = (/ & &5.1851e+03_rb,3.8890e+03_rb,2.5929e+03_rb,1.2968e+03_rb,6.5802e+00_rb/) kbo(:, 4,50,10) = (/ & &6.3489e+03_rb,4.7618e+03_rb,3.1748e+03_rb,1.5877e+03_rb,7.1705e+00_rb/) kbo(:, 5,50,10) = (/ & &7.9377e+03_rb,5.9534e+03_rb,3.9691e+03_rb,1.9848e+03_rb,7.5922e+00_rb/) kbo(:, 1,51,10) = (/ & &3.8669e+03_rb,2.9003e+03_rb,1.9338e+03_rb,9.6719e+02_rb,4.8302e+00_rb/) kbo(:, 2,51,10) = (/ & &4.5318e+03_rb,3.3991e+03_rb,2.2663e+03_rb,1.1335e+03_rb,5.6653e+00_rb/) kbo(:, 3,51,10) = (/ & &5.3773e+03_rb,4.0331e+03_rb,2.6890e+03_rb,1.3448e+03_rb,6.3736e+00_rb/) kbo(:, 4,51,10) = (/ & &6.6015e+03_rb,4.9513e+03_rb,3.3010e+03_rb,1.6508e+03_rb,7.0028e+00_rb/) kbo(:, 5,51,10) = (/ & &8.3208e+03_rb,6.2407e+03_rb,4.1606e+03_rb,2.0805e+03_rb,7.4729e+00_rb/) kbo(:, 1,52,10) = (/ & &4.0341e+03_rb,3.0258e+03_rb,2.0174e+03_rb,1.0090e+03_rb,4.5505e+00_rb/) kbo(:, 2,52,10) = (/ & &4.7982e+03_rb,3.5989e+03_rb,2.3995e+03_rb,1.2001e+03_rb,5.4004e+00_rb/) kbo(:, 3,52,10) = (/ & &5.7356e+03_rb,4.3019e+03_rb,2.8682e+03_rb,1.4344e+03_rb,6.1556e+00_rb/) kbo(:, 4,52,10) = (/ & &7.0672e+03_rb,5.3005e+03_rb,3.5339e+03_rb,1.7672e+03_rb,6.8208e+00_rb/) kbo(:, 5,52,10) = (/ & &8.9657e+03_rb,6.7244e+03_rb,4.4831e+03_rb,2.2418e+03_rb,7.3432e+00_rb/) kbo(:, 1,53,10) = (/ & &4.3581e+03_rb,3.2687e+03_rb,2.1794e+03_rb,1.0900e+03_rb,4.2696e+00_rb/) kbo(:, 2,53,10) = (/ & &5.2688e+03_rb,3.9518e+03_rb,2.6348e+03_rb,1.3178e+03_rb,5.1422e+00_rb/) kbo(:, 3,53,10) = (/ & &6.3653e+03_rb,4.7742e+03_rb,3.1830e+03_rb,1.5919e+03_rb,5.9288e+00_rb/) kbo(:, 4,53,10) = (/ & &7.8870e+03_rb,5.9154e+03_rb,3.9438e+03_rb,1.9722e+03_rb,6.6345e+00_rb/) kbo(:, 5,53,10) = (/ & &1.0051e+04_rb,7.5383e+03_rb,5.0257e+03_rb,2.5131e+03_rb,7.2054e+00_rb/) kbo(:, 1,54,10) = (/ & &4.0664e+03_rb,3.0500e+03_rb,2.0336e+03_rb,1.0171e+03_rb,3.9912e+00_rb/) kbo(:, 2,54,10) = (/ & &5.0070e+03_rb,3.7555e+03_rb,2.5039e+03_rb,1.2523e+03_rb,4.8673e+00_rb/) kbo(:, 3,54,10) = (/ & &6.1329e+03_rb,4.5998e+03_rb,3.0668e+03_rb,1.5337e+03_rb,5.6727e+00_rb/) kbo(:, 4,54,10) = (/ & &7.6570e+03_rb,5.7429e+03_rb,3.8288e+03_rb,1.9147e+03_rb,6.4112e+00_rb/) kbo(:, 5,54,10) = (/ & &9.8073e+03_rb,7.3556e+03_rb,4.9039e+03_rb,2.4522e+03_rb,7.0431e+00_rb/) kbo(:, 1,55,10) = (/ & &3.4487e+03_rb,2.5868e+03_rb,1.7247e+03_rb,8.6275e+02_rb,3.7023e+00_rb/) kbo(:, 2,55,10) = (/ & &4.3277e+03_rb,3.2460e+03_rb,2.1642e+03_rb,1.0825e+03_rb,4.5324e+00_rb/) kbo(:, 3,55,10) = (/ & &5.3892e+03_rb,4.0421e+03_rb,2.6950e+03_rb,1.3479e+03_rb,5.4035e+00_rb/) kbo(:, 4,55,10) = (/ & &6.7963e+03_rb,5.0973e+03_rb,3.3984e+03_rb,1.6995e+03_rb,6.1546e+00_rb/) kbo(:, 5,55,10) = (/ & &8.7627e+03_rb,6.5722e+03_rb,4.3816e+03_rb,2.1910e+03_rb,6.8267e+00_rb/) kbo(:, 1,56,10) = (/ & &2.9072e+03_rb,2.1806e+03_rb,1.4540e+03_rb,7.2734e+02_rb,3.4115e+00_rb/) kbo(:, 2,56,10) = (/ & &3.7198e+03_rb,2.7901e+03_rb,1.8603e+03_rb,9.3056e+02_rb,4.2571e+00_rb/) kbo(:, 3,56,10) = (/ & &4.7203e+03_rb,3.5403e+03_rb,2.3605e+03_rb,1.1806e+03_rb,5.1151e+00_rb/) kbo(:, 4,56,10) = (/ & &6.0279e+03_rb,4.5211e+03_rb,3.0142e+03_rb,1.5074e+03_rb,5.8984e+00_rb/) kbo(:, 5,56,10) = (/ & &7.8366e+03_rb,5.8775e+03_rb,3.9185e+03_rb,1.9594e+03_rb,6.6003e+00_rb/) kbo(:, 1,57,10) = (/ & &2.4367e+03_rb,1.8277e+03_rb,1.2187e+03_rb,6.0970e+02_rb,3.1098e+00_rb/) kbo(:, 2,57,10) = (/ & &3.1766e+03_rb,2.3826e+03_rb,1.5887e+03_rb,7.9475e+02_rb,3.9704e+00_rb/) kbo(:, 3,57,10) = (/ & &4.1136e+03_rb,3.0854e+03_rb,2.0572e+03_rb,1.0290e+03_rb,4.8038e+00_rb/) kbo(:, 4,57,10) = (/ & &5.3345e+03_rb,4.0010e+03_rb,2.6675e+03_rb,1.3340e+03_rb,5.6428e+00_rb/) kbo(:, 5,57,10) = (/ & &7.0017e+03_rb,5.2513e+03_rb,3.5010e+03_rb,1.7507e+03_rb,6.3564e+00_rb/) kbo(:, 1,58,10) = (/ & &5.3797e+02_rb,4.9330e+02_rb,4.2306e+02_rb,2.9653e+02_rb,2.8402e+00_rb/) kbo(:, 2,58,10) = (/ & &7.1438e+02_rb,6.5505e+02_rb,5.6177e+02_rb,3.9372e+02_rb,3.6954e+00_rb/) kbo(:, 3,58,10) = (/ & &9.4508e+02_rb,8.6656e+02_rb,7.4311e+02_rb,5.2072e+02_rb,4.5299e+00_rb/) kbo(:, 4,58,10) = (/ & &1.2473e+03_rb,1.1436e+03_rb,9.8061e+02_rb,6.8699e+02_rb,5.3595e+00_rb/) kbo(:, 5,58,10) = (/ & &1.6559e+03_rb,1.5182e+03_rb,1.3018e+03_rb,9.1191e+02_rb,6.1054e+00_rb/) kbo(:, 1,59,10) = (/ & &5.5953e+02_rb,4.8866e+02_rb,3.8993e+02_rb,2.4311e+02_rb,2.7081e+00_rb/) kbo(:, 2,59,10) = (/ & &7.5600e+02_rb,6.6022e+02_rb,5.2680e+02_rb,3.2817e+02_rb,3.5280e+00_rb/) kbo(:, 3,59,10) = (/ & &1.0213e+03_rb,8.9185e+02_rb,7.1155e+02_rb,4.4309e+02_rb,4.3511e+00_rb/) kbo(:, 4,59,10) = (/ & &1.3747e+03_rb,1.2004e+03_rb,9.5765e+02_rb,5.9615e+02_rb,5.1215e+00_rb/) kbo(:, 5,59,10) = (/ & &1.8474e+03_rb,1.6131e+03_rb,1.2868e+03_rb,8.0091e+02_rb,5.9179e+00_rb/) kbo(:, 1,13,11) = (/ & &1.9556e+05_rb,1.4667e+05_rb,9.7780e+04_rb,4.8890e+04_rb,3.8293e+00_rb/) kbo(:, 2,13,11) = (/ & &1.9579e+05_rb,1.4684e+05_rb,9.7894e+04_rb,4.8947e+04_rb,3.6477e+00_rb/) kbo(:, 3,13,11) = (/ & &1.9489e+05_rb,1.4617e+05_rb,9.7447e+04_rb,4.8724e+04_rb,3.6240e+00_rb/) kbo(:, 4,13,11) = (/ & &1.9354e+05_rb,1.4515e+05_rb,9.6770e+04_rb,4.8385e+04_rb,3.4253e+00_rb/) kbo(:, 5,13,11) = (/ & &1.9176e+05_rb,1.4382e+05_rb,9.5882e+04_rb,4.7942e+04_rb,3.3965e+00_rb/) kbo(:, 1,14,11) = (/ & &1.2532e+05_rb,9.3990e+04_rb,6.2660e+04_rb,3.1330e+04_rb,4.2132e+00_rb/) kbo(:, 2,14,11) = (/ & &1.2490e+05_rb,9.3675e+04_rb,6.2450e+04_rb,3.1225e+04_rb,4.0914e+00_rb/) kbo(:, 3,14,11) = (/ & &1.2400e+05_rb,9.3003e+04_rb,6.2001e+04_rb,3.1001e+04_rb,4.0126e+00_rb/) kbo(:, 4,14,11) = (/ & &1.2262e+05_rb,9.1963e+04_rb,6.1309e+04_rb,3.0654e+04_rb,3.8288e+00_rb/) kbo(:, 5,14,11) = (/ & &1.2099e+05_rb,9.0745e+04_rb,6.0496e+04_rb,3.0248e+04_rb,3.6494e+00_rb/) kbo(:, 1,15,11) = (/ & &8.0146e+04_rb,6.0110e+04_rb,4.0074e+04_rb,2.0037e+04_rb,4.6025e+00_rb/) kbo(:, 2,15,11) = (/ & &7.9365e+04_rb,5.9524e+04_rb,3.9683e+04_rb,1.9842e+04_rb,4.5011e+00_rb/) kbo(:, 3,15,11) = (/ & &7.8437e+04_rb,5.8828e+04_rb,3.9219e+04_rb,1.9610e+04_rb,4.3995e+00_rb/) kbo(:, 4,15,11) = (/ & &7.7471e+04_rb,5.8104e+04_rb,3.8736e+04_rb,1.9369e+04_rb,4.3087e+00_rb/) kbo(:, 5,15,11) = (/ & &7.6167e+04_rb,5.7126e+04_rb,3.8084e+04_rb,1.9043e+04_rb,4.1657e+00_rb/) kbo(:, 1,16,11) = (/ & &5.9412e+04_rb,4.4559e+04_rb,2.9706e+04_rb,1.4854e+04_rb,4.9879e+00_rb/) kbo(:, 2,16,11) = (/ & &5.8737e+04_rb,4.4053e+04_rb,2.9369e+04_rb,1.4685e+04_rb,4.8952e+00_rb/) kbo(:, 3,16,11) = (/ & &5.7913e+04_rb,4.3435e+04_rb,2.8957e+04_rb,1.4479e+04_rb,4.7931e+00_rb/) kbo(:, 4,16,11) = (/ & &5.6912e+04_rb,4.2684e+04_rb,2.8456e+04_rb,1.4229e+04_rb,4.7058e+00_rb/) kbo(:, 5,16,11) = (/ & &5.5858e+04_rb,4.1894e+04_rb,2.7929e+04_rb,1.3965e+04_rb,4.5654e+00_rb/) kbo(:, 1,17,11) = (/ & &4.4739e+04_rb,3.3554e+04_rb,2.2370e+04_rb,1.1185e+04_rb,5.4258e+00_rb/) kbo(:, 2,17,11) = (/ & &4.4040e+04_rb,3.3030e+04_rb,2.2020e+04_rb,1.1011e+04_rb,5.3316e+00_rb/) kbo(:, 3,17,11) = (/ & &4.3278e+04_rb,3.2459e+04_rb,2.1639e+04_rb,1.0820e+04_rb,5.2258e+00_rb/) kbo(:, 4,17,11) = (/ & &4.2484e+04_rb,3.1863e+04_rb,2.1242e+04_rb,1.0622e+04_rb,5.1306e+00_rb/) kbo(:, 5,17,11) = (/ & &4.1610e+04_rb,3.1208e+04_rb,2.0805e+04_rb,1.0403e+04_rb,4.9611e+00_rb/) kbo(:, 1,18,11) = (/ & &3.3808e+04_rb,2.5356e+04_rb,1.6904e+04_rb,8.4526e+03_rb,5.9588e+00_rb/) kbo(:, 2,18,11) = (/ & &3.3205e+04_rb,2.4904e+04_rb,1.6603e+04_rb,8.3019e+03_rb,5.8553e+00_rb/) kbo(:, 3,18,11) = (/ & &3.2587e+04_rb,2.4440e+04_rb,1.6294e+04_rb,8.1473e+03_rb,5.7407e+00_rb/) kbo(:, 4,18,11) = (/ & &3.1890e+04_rb,2.3917e+04_rb,1.5945e+04_rb,7.9729e+03_rb,5.6396e+00_rb/) kbo(:, 5,18,11) = (/ & &3.1157e+04_rb,2.3368e+04_rb,1.5579e+04_rb,7.7897e+03_rb,5.4685e+00_rb/) kbo(:, 1,19,11) = (/ & &2.4641e+04_rb,1.8481e+04_rb,1.2321e+04_rb,6.1608e+03_rb,6.5634e+00_rb/) kbo(:, 2,19,11) = (/ & &2.4168e+04_rb,1.8126e+04_rb,1.2084e+04_rb,6.0424e+03_rb,6.4593e+00_rb/) kbo(:, 3,19,11) = (/ & &2.3646e+04_rb,1.7735e+04_rb,1.1823e+04_rb,5.9120e+03_rb,6.3292e+00_rb/) kbo(:, 4,19,11) = (/ & &2.3077e+04_rb,1.7308e+04_rb,1.1539e+04_rb,5.7697e+03_rb,6.2034e+00_rb/) kbo(:, 5,19,11) = (/ & &2.2489e+04_rb,1.6867e+04_rb,1.1245e+04_rb,5.6226e+03_rb,6.0369e+00_rb/) kbo(:, 1,20,11) = (/ & &1.9106e+04_rb,1.4330e+04_rb,9.5533e+03_rb,4.7770e+03_rb,7.1646e+00_rb/) kbo(:, 2,20,11) = (/ & &1.8682e+04_rb,1.4011e+04_rb,9.3411e+03_rb,4.6709e+03_rb,7.0409e+00_rb/) kbo(:, 3,20,11) = (/ & &1.8224e+04_rb,1.3668e+04_rb,9.1125e+03_rb,4.5566e+03_rb,6.8869e+00_rb/) kbo(:, 4,20,11) = (/ & &1.7734e+04_rb,1.3300e+04_rb,8.8671e+03_rb,4.4339e+03_rb,6.7557e+00_rb/) kbo(:, 5,20,11) = (/ & &1.7241e+04_rb,1.2931e+04_rb,8.6211e+03_rb,4.3109e+03_rb,6.6027e+00_rb/) kbo(:, 1,21,11) = (/ & &1.5039e+04_rb,1.1280e+04_rb,7.5200e+03_rb,3.7604e+03_rb,7.7170e+00_rb/) kbo(:, 2,21,11) = (/ & &1.4660e+04_rb,1.0995e+04_rb,7.3306e+03_rb,3.6657e+03_rb,7.5835e+00_rb/) kbo(:, 3,21,11) = (/ & &1.4253e+04_rb,1.0690e+04_rb,7.1270e+03_rb,3.5639e+03_rb,7.4413e+00_rb/) kbo(:, 4,21,11) = (/ & &1.3848e+04_rb,1.0387e+04_rb,6.9246e+03_rb,3.4627e+03_rb,7.3214e+00_rb/) kbo(:, 5,21,11) = (/ & &1.3474e+04_rb,1.0106e+04_rb,6.7374e+03_rb,3.3691e+03_rb,7.1721e+00_rb/) kbo(:, 1,22,11) = (/ & &1.1928e+04_rb,8.9459e+03_rb,5.9642e+03_rb,2.9825e+03_rb,8.2536e+00_rb/) kbo(:, 2,22,11) = (/ & &1.1588e+04_rb,8.6914e+03_rb,5.7946e+03_rb,2.8977e+03_rb,8.1353e+00_rb/) kbo(:, 3,22,11) = (/ & &1.1261e+04_rb,8.4462e+03_rb,5.6311e+03_rb,2.8159e+03_rb,8.0046e+00_rb/) kbo(:, 4,22,11) = (/ & &1.0981e+04_rb,8.2362e+03_rb,5.4911e+03_rb,2.7459e+03_rb,7.8868e+00_rb/) kbo(:, 5,22,11) = (/ & &1.0767e+04_rb,8.0756e+03_rb,5.3840e+03_rb,2.6924e+03_rb,7.7103e+00_rb/) kbo(:, 1,23,11) = (/ & &9.3738e+03_rb,7.0305e+03_rb,4.6873e+03_rb,2.3441e+03_rb,8.7957e+00_rb/) kbo(:, 2,23,11) = (/ & &9.1120e+03_rb,6.8342e+03_rb,4.5564e+03_rb,2.2786e+03_rb,8.6750e+00_rb/) kbo(:, 3,23,11) = (/ & &8.9119e+03_rb,6.6842e+03_rb,4.4564e+03_rb,2.2286e+03_rb,8.5667e+00_rb/) kbo(:, 4,23,11) = (/ & &8.7698e+03_rb,6.5776e+03_rb,4.3853e+03_rb,2.1931e+03_rb,8.4437e+00_rb/) kbo(:, 5,23,11) = (/ & &8.7064e+03_rb,6.5300e+03_rb,4.3536e+03_rb,2.1772e+03_rb,8.2499e+00_rb/) kbo(:, 1,24,11) = (/ & &7.2818e+03_rb,5.4615e+03_rb,3.6413e+03_rb,1.8211e+03_rb,9.3047e+00_rb/) kbo(:, 2,24,11) = (/ & &7.1398e+03_rb,5.3551e+03_rb,3.5703e+03_rb,1.7856e+03_rb,9.1844e+00_rb/) kbo(:, 3,24,11) = (/ & &7.0551e+03_rb,5.2916e+03_rb,3.5280e+03_rb,1.7644e+03_rb,9.0906e+00_rb/) kbo(:, 4,24,11) = (/ & &7.0561e+03_rb,5.2923e+03_rb,3.5284e+03_rb,1.7646e+03_rb,8.9639e+00_rb/) kbo(:, 5,24,11) = (/ & &7.1200e+03_rb,5.3402e+03_rb,3.5604e+03_rb,1.7806e+03_rb,8.7597e+00_rb/) kbo(:, 1,25,11) = (/ & &5.7829e+03_rb,4.3374e+03_rb,2.8918e+03_rb,1.4463e+03_rb,9.7531e+00_rb/) kbo(:, 2,25,11) = (/ & &5.7416e+03_rb,4.3064e+03_rb,2.8712e+03_rb,1.4360e+03_rb,9.6333e+00_rb/) kbo(:, 3,25,11) = (/ & &5.7703e+03_rb,4.3279e+03_rb,2.8855e+03_rb,1.4432e+03_rb,9.5575e+00_rb/) kbo(:, 4,25,11) = (/ & &5.8528e+03_rb,4.3898e+03_rb,2.9268e+03_rb,1.4638e+03_rb,9.4320e+00_rb/) kbo(:, 5,25,11) = (/ & &5.9946e+03_rb,4.4961e+03_rb,2.9977e+03_rb,1.4993e+03_rb,9.2048e+00_rb/) kbo(:, 1,26,11) = (/ & &4.7547e+03_rb,3.5662e+03_rb,2.3777e+03_rb,1.1892e+03_rb,1.0127e+01_rb/) kbo(:, 2,26,11) = (/ & &4.7969e+03_rb,3.5979e+03_rb,2.3989e+03_rb,1.1999e+03_rb,1.0014e+01_rb/) kbo(:, 3,26,11) = (/ & &4.8916e+03_rb,3.6689e+03_rb,2.4462e+03_rb,1.2235e+03_rb,9.9567e+00_rb/) kbo(:, 4,26,11) = (/ & &5.0339e+03_rb,3.7756e+03_rb,2.5174e+03_rb,1.2591e+03_rb,9.8430e+00_rb/) kbo(:, 5,26,11) = (/ & &5.1881e+03_rb,3.8913e+03_rb,2.5944e+03_rb,1.2976e+03_rb,9.5879e+00_rb/) kbo(:, 1,27,11) = (/ & &4.1434e+03_rb,3.1078e+03_rb,2.0721e+03_rb,1.0365e+03_rb,1.0438e+01_rb/) kbo(:, 2,27,11) = (/ & &4.2449e+03_rb,3.1839e+03_rb,2.1229e+03_rb,1.0619e+03_rb,1.0375e+01_rb/) kbo(:, 3,27,11) = (/ & &4.3814e+03_rb,3.2863e+03_rb,2.1911e+03_rb,1.0960e+03_rb,1.0314e+01_rb/) kbo(:, 4,27,11) = (/ & &4.5344e+03_rb,3.4010e+03_rb,2.2676e+03_rb,1.1342e+03_rb,1.0178e+01_rb/) kbo(:, 5,27,11) = (/ & &4.7035e+03_rb,3.5278e+03_rb,2.3521e+03_rb,1.1764e+03_rb,9.9184e+00_rb/) kbo(:, 1,28,11) = (/ & &3.7712e+03_rb,2.8287e+03_rb,1.8861e+03_rb,9.4351e+02_rb,1.0688e+01_rb/) kbo(:, 2,28,11) = (/ & &3.9032e+03_rb,2.9276e+03_rb,1.9520e+03_rb,9.7644e+02_rb,1.0679e+01_rb/) kbo(:, 3,28,11) = (/ & &4.0571e+03_rb,3.0430e+03_rb,2.0289e+03_rb,1.0148e+03_rb,1.0623e+01_rb/) kbo(:, 4,28,11) = (/ & &4.2272e+03_rb,3.1706e+03_rb,2.1139e+03_rb,1.0573e+03_rb,1.0454e+01_rb/) kbo(:, 5,28,11) = (/ & &4.4031e+03_rb,3.3025e+03_rb,2.2018e+03_rb,1.1012e+03_rb,1.0168e+01_rb/) kbo(:, 1,29,11) = (/ & &3.6879e+03_rb,2.7661e+03_rb,1.8444e+03_rb,9.2260e+02_rb,1.0914e+01_rb/) kbo(:, 2,29,11) = (/ & &3.8440e+03_rb,2.8832e+03_rb,1.9224e+03_rb,9.6157e+02_rb,1.0945e+01_rb/) kbo(:, 3,29,11) = (/ & &4.0134e+03_rb,3.0102e+03_rb,2.0070e+03_rb,1.0038e+03_rb,1.0853e+01_rb/) kbo(:, 4,29,11) = (/ & &4.1909e+03_rb,3.1433e+03_rb,2.0957e+03_rb,1.0481e+03_rb,1.0578e+01_rb/) kbo(:, 5,29,11) = (/ & &4.3726e+03_rb,3.2796e+03_rb,2.1866e+03_rb,1.0936e+03_rb,1.0403e+01_rb/) kbo(:, 1,30,11) = (/ & &3.7192e+03_rb,2.7896e+03_rb,1.8600e+03_rb,9.3035e+02_rb,1.1141e+01_rb/) kbo(:, 2,30,11) = (/ & &3.8944e+03_rb,2.9210e+03_rb,1.9475e+03_rb,9.7411e+02_rb,1.1139e+01_rb/) kbo(:, 3,30,11) = (/ & &4.0753e+03_rb,3.0566e+03_rb,2.0379e+03_rb,1.0192e+03_rb,1.0970e+01_rb/) kbo(:, 4,30,11) = (/ & &4.2621e+03_rb,3.1967e+03_rb,2.1313e+03_rb,1.0660e+03_rb,1.0736e+01_rb/) kbo(:, 5,30,11) = (/ & &4.4544e+03_rb,3.3410e+03_rb,2.2275e+03_rb,1.1141e+03_rb,1.0663e+01_rb/) kbo(:, 1,31,11) = (/ & &3.9494e+03_rb,2.9622e+03_rb,1.9750e+03_rb,9.8786e+02_rb,1.1309e+01_rb/) kbo(:, 2,31,11) = (/ & &4.1497e+03_rb,3.1124e+03_rb,2.0751e+03_rb,1.0378e+03_rb,1.1233e+01_rb/) kbo(:, 3,31,11) = (/ & &4.3564e+03_rb,3.2674e+03_rb,2.1785e+03_rb,1.0895e+03_rb,1.1031e+01_rb/) kbo(:, 4,31,11) = (/ & &4.5677e+03_rb,3.4259e+03_rb,2.2841e+03_rb,1.1423e+03_rb,1.1018e+01_rb/) kbo(:, 5,31,11) = (/ & &4.7823e+03_rb,3.5869e+03_rb,2.3915e+03_rb,1.1960e+03_rb,1.0922e+01_rb/) kbo(:, 1,32,11) = (/ & &4.2398e+03_rb,3.1800e+03_rb,2.1202e+03_rb,1.0604e+03_rb,1.1395e+01_rb/) kbo(:, 2,32,11) = (/ & &4.4759e+03_rb,3.3571e+03_rb,2.2382e+03_rb,1.1194e+03_rb,1.1282e+01_rb/) kbo(:, 3,32,11) = (/ & &4.7161e+03_rb,3.5372e+03_rb,2.3583e+03_rb,1.1795e+03_rb,1.1286e+01_rb/) kbo(:, 4,32,11) = (/ & &4.9603e+03_rb,3.7204e+03_rb,2.4805e+03_rb,1.2406e+03_rb,1.1267e+01_rb/) kbo(:, 5,32,11) = (/ & &5.2103e+03_rb,3.9079e+03_rb,2.6055e+03_rb,1.3031e+03_rb,1.1177e+01_rb/) kbo(:, 1,33,11) = (/ & &4.6404e+03_rb,3.4804e+03_rb,2.3205e+03_rb,1.1605e+03_rb,1.1433e+01_rb/) kbo(:, 2,33,11) = (/ & &4.9200e+03_rb,3.6901e+03_rb,2.4603e+03_rb,1.2304e+03_rb,1.1468e+01_rb/) kbo(:, 3,33,11) = (/ & &5.2076e+03_rb,3.9059e+03_rb,2.6041e+03_rb,1.3024e+03_rb,1.1541e+01_rb/) kbo(:, 4,33,11) = (/ & &5.4986e+03_rb,4.1241e+03_rb,2.7496e+03_rb,1.3751e+03_rb,1.1519e+01_rb/) kbo(:, 5,33,11) = (/ & &5.8045e+03_rb,4.3535e+03_rb,2.9026e+03_rb,1.4516e+03_rb,1.1398e+01_rb/) kbo(:, 1,34,11) = (/ & &4.9577e+03_rb,3.7184e+03_rb,2.4791e+03_rb,1.2399e+03_rb,1.1582e+01_rb/) kbo(:, 2,34,11) = (/ & &5.2771e+03_rb,3.9580e+03_rb,2.6389e+03_rb,1.3198e+03_rb,1.1708e+01_rb/) kbo(:, 3,34,11) = (/ & &5.6109e+03_rb,4.2083e+03_rb,2.8058e+03_rb,1.4032e+03_rb,1.1770e+01_rb/) kbo(:, 4,34,11) = (/ & &5.9588e+03_rb,4.4693e+03_rb,2.9798e+03_rb,1.4902e+03_rb,1.1629e+01_rb/) kbo(:, 5,34,11) = (/ & &6.3300e+03_rb,4.7477e+03_rb,3.1654e+03_rb,1.5830e+03_rb,1.1520e+01_rb/) kbo(:, 1,35,11) = (/ & &5.2909e+03_rb,3.9683e+03_rb,2.6458e+03_rb,1.3232e+03_rb,1.1741e+01_rb/) kbo(:, 2,35,11) = (/ & &5.6548e+03_rb,4.2413e+03_rb,2.8277e+03_rb,1.4142e+03_rb,1.1903e+01_rb/) kbo(:, 3,35,11) = (/ & &6.0420e+03_rb,4.5317e+03_rb,3.0214e+03_rb,1.5110e+03_rb,1.1866e+01_rb/) kbo(:, 4,35,11) = (/ & &6.4601e+03_rb,4.8453e+03_rb,3.2304e+03_rb,1.6156e+03_rb,1.1803e+01_rb/) kbo(:, 5,35,11) = (/ & &6.9268e+03_rb,5.1953e+03_rb,3.4637e+03_rb,1.7322e+03_rb,1.1652e+01_rb/) kbo(:, 1,36,11) = (/ & &5.5884e+03_rb,4.1915e+03_rb,2.7945e+03_rb,1.3976e+03_rb,1.1878e+01_rb/) kbo(:, 2,36,11) = (/ & &6.0018e+03_rb,4.5015e+03_rb,3.0012e+03_rb,1.5010e+03_rb,1.2049e+01_rb/) kbo(:, 3,36,11) = (/ & &6.4517e+03_rb,4.8389e+03_rb,3.2262e+03_rb,1.6135e+03_rb,1.1951e+01_rb/) kbo(:, 4,36,11) = (/ & &6.9515e+03_rb,5.2138e+03_rb,3.4761e+03_rb,1.7384e+03_rb,1.1938e+01_rb/) kbo(:, 5,36,11) = (/ & &7.5289e+03_rb,5.6469e+03_rb,3.7648e+03_rb,1.8827e+03_rb,1.1892e+01_rb/) kbo(:, 1,37,11) = (/ & &5.7114e+03_rb,4.2838e+03_rb,2.8561e+03_rb,1.4284e+03_rb,1.1983e+01_rb/) kbo(:, 2,37,11) = (/ & &6.1629e+03_rb,4.6224e+03_rb,3.0818e+03_rb,1.5413e+03_rb,1.2105e+01_rb/) kbo(:, 3,37,11) = (/ & &6.6668e+03_rb,5.0003e+03_rb,3.3338e+03_rb,1.6673e+03_rb,1.2063e+01_rb/) kbo(:, 4,37,11) = (/ & &7.2441e+03_rb,5.4333e+03_rb,3.6224e+03_rb,1.8115e+03_rb,1.2103e+01_rb/) kbo(:, 5,37,11) = (/ & &7.9256e+03_rb,5.9443e+03_rb,3.9631e+03_rb,1.9819e+03_rb,1.2052e+01_rb/) kbo(:, 1,38,11) = (/ & &5.9457e+03_rb,4.4595e+03_rb,2.9732e+03_rb,1.4870e+03_rb,1.2040e+01_rb/) kbo(:, 2,38,11) = (/ & &6.4404e+03_rb,4.8305e+03_rb,3.2206e+03_rb,1.6107e+03_rb,1.2135e+01_rb/) kbo(:, 3,38,11) = (/ & &7.0103e+03_rb,5.2579e+03_rb,3.5055e+03_rb,1.7531e+03_rb,1.2201e+01_rb/) kbo(:, 4,38,11) = (/ & &7.6883e+03_rb,5.7664e+03_rb,3.8444e+03_rb,1.9225e+03_rb,1.2264e+01_rb/) kbo(:, 5,38,11) = (/ & &8.5003e+03_rb,6.3754e+03_rb,4.2504e+03_rb,2.1255e+03_rb,1.2214e+01_rb/) kbo(:, 1,39,11) = (/ & &6.3574e+03_rb,4.7683e+03_rb,3.1792e+03_rb,1.5900e+03_rb,1.2058e+01_rb/) kbo(:, 2,39,11) = (/ & &6.9172e+03_rb,5.1882e+03_rb,3.4591e+03_rb,1.7299e+03_rb,1.2221e+01_rb/) kbo(:, 3,39,11) = (/ & &7.5768e+03_rb,5.6828e+03_rb,3.7888e+03_rb,1.8948e+03_rb,1.2385e+01_rb/) kbo(:, 4,39,11) = (/ & &8.3852e+03_rb,6.2891e+03_rb,4.1930e+03_rb,2.0968e+03_rb,1.2417e+01_rb/) kbo(:, 5,39,11) = (/ & &9.3744e+03_rb,7.0310e+03_rb,4.6875e+03_rb,2.3441e+03_rb,1.2400e+01_rb/) kbo(:, 1,40,11) = (/ & &6.3544e+03_rb,4.7660e+03_rb,3.1776e+03_rb,1.5893e+03_rb,1.2034e+01_rb/) kbo(:, 2,40,11) = (/ & &6.9547e+03_rb,5.2162e+03_rb,3.4777e+03_rb,1.7393e+03_rb,1.2252e+01_rb/) kbo(:, 3,40,11) = (/ & &7.6538e+03_rb,5.7405e+03_rb,3.8272e+03_rb,1.9140e+03_rb,1.2461e+01_rb/) kbo(:, 4,40,11) = (/ & &8.5373e+03_rb,6.4031e+03_rb,4.2689e+03_rb,2.1348e+03_rb,1.2533e+01_rb/) kbo(:, 5,40,11) = (/ & &9.6388e+03_rb,7.2292e+03_rb,4.8196e+03_rb,2.4101e+03_rb,1.2526e+01_rb/) kbo(:, 1,41,11) = (/ & &6.3521e+03_rb,4.7643e+03_rb,3.1765e+03_rb,1.5887e+03_rb,1.1995e+01_rb/) kbo(:, 2,41,11) = (/ & &6.9920e+03_rb,5.2442e+03_rb,3.4964e+03_rb,1.7486e+03_rb,1.2280e+01_rb/) kbo(:, 3,41,11) = (/ & &7.7375e+03_rb,5.8033e+03_rb,3.8691e+03_rb,1.9349e+03_rb,1.2499e+01_rb/) kbo(:, 4,41,11) = (/ & &8.6900e+03_rb,6.5177e+03_rb,4.3453e+03_rb,2.1730e+03_rb,1.2628e+01_rb/) kbo(:, 5,41,11) = (/ & &9.9008e+03_rb,7.4257e+03_rb,4.9507e+03_rb,2.4756e+03_rb,1.2622e+01_rb/) kbo(:, 1,42,11) = (/ & &6.4377e+03_rb,4.8285e+03_rb,3.2193e+03_rb,1.6101e+03_rb,1.1943e+01_rb/) kbo(:, 2,42,11) = (/ & &7.1284e+03_rb,5.3465e+03_rb,3.5646e+03_rb,1.7827e+03_rb,1.2311e+01_rb/) kbo(:, 3,42,11) = (/ & &7.9472e+03_rb,5.9606e+03_rb,3.9739e+03_rb,1.9873e+03_rb,1.2580e+01_rb/) kbo(:, 4,42,11) = (/ & &8.9767e+03_rb,6.7326e+03_rb,4.4886e+03_rb,2.2446e+03_rb,1.2710e+01_rb/) kbo(:, 5,42,11) = (/ & &1.0302e+04_rb,7.7266e+03_rb,5.1512e+03_rb,2.5758e+03_rb,1.2734e+01_rb/) kbo(:, 1,43,11) = (/ & &6.5684e+03_rb,4.9266e+03_rb,3.2847e+03_rb,1.6428e+03_rb,1.1839e+01_rb/) kbo(:, 2,43,11) = (/ & &7.3100e+03_rb,5.4827e+03_rb,3.6554e+03_rb,1.8281e+03_rb,1.2298e+01_rb/) kbo(:, 3,43,11) = (/ & &8.2069e+03_rb,6.1553e+03_rb,4.1038e+03_rb,2.0523e+03_rb,1.2585e+01_rb/) kbo(:, 4,43,11) = (/ & &9.3215e+03_rb,6.9913e+03_rb,4.6611e+03_rb,2.3308e+03_rb,1.2796e+01_rb/) kbo(:, 5,43,11) = (/ & &1.0756e+04_rb,8.0671e+03_rb,5.3782e+03_rb,2.6894e+03_rb,1.2802e+01_rb/) kbo(:, 1,44,11) = (/ & &6.7770e+03_rb,5.0829e+03_rb,3.3889e+03_rb,1.6949e+03_rb,1.1696e+01_rb/) kbo(:, 2,44,11) = (/ & &7.6014e+03_rb,5.7012e+03_rb,3.8011e+03_rb,1.9009e+03_rb,1.2235e+01_rb/) kbo(:, 3,44,11) = (/ & &8.5905e+03_rb,6.4430e+03_rb,4.2955e+03_rb,2.1481e+03_rb,1.2598e+01_rb/) kbo(:, 4,44,11) = (/ & &9.8167e+03_rb,7.3626e+03_rb,4.9086e+03_rb,2.4546e+03_rb,1.2843e+01_rb/) kbo(:, 5,44,11) = (/ & &1.1370e+04_rb,8.5274e+03_rb,5.6850e+03_rb,2.8427e+03_rb,1.2862e+01_rb/) kbo(:, 1,45,11) = (/ & &7.1337e+03_rb,5.3505e+03_rb,3.5673e+03_rb,1.7841e+03_rb,1.1553e+01_rb/) kbo(:, 2,45,11) = (/ & &8.0813e+03_rb,6.0612e+03_rb,4.0411e+03_rb,2.0209e+03_rb,1.2213e+01_rb/) kbo(:, 3,45,11) = (/ & &9.1915e+03_rb,6.8938e+03_rb,4.5961e+03_rb,2.2984e+03_rb,1.2577e+01_rb/) kbo(:, 4,45,11) = (/ & &1.0572e+04_rb,7.9290e+03_rb,5.2862e+03_rb,2.6434e+03_rb,1.2862e+01_rb/) kbo(:, 5,45,11) = (/ & &1.2294e+04_rb,9.2203e+03_rb,6.1470e+03_rb,3.0738e+03_rb,1.2905e+01_rb/) kbo(:, 1,46,11) = (/ & &7.5574e+03_rb,5.6683e+03_rb,3.7792e+03_rb,1.8901e+03_rb,1.1372e+01_rb/) kbo(:, 2,46,11) = (/ & &8.6566e+03_rb,6.4927e+03_rb,4.3287e+03_rb,2.1648e+03_rb,1.2098e+01_rb/) kbo(:, 3,46,11) = (/ & &9.9311e+03_rb,7.4485e+03_rb,4.9659e+03_rb,2.4833e+03_rb,1.2508e+01_rb/) kbo(:, 4,46,11) = (/ & &1.1483e+04_rb,8.6121e+03_rb,5.7416e+03_rb,2.8711e+03_rb,1.2889e+01_rb/) kbo(:, 5,46,11) = (/ & &1.3417e+04_rb,1.0063e+04_rb,6.7088e+03_rb,3.3546e+03_rb,1.2962e+01_rb/) kbo(:, 1,47,11) = (/ & &7.8727e+03_rb,5.9048e+03_rb,3.9368e+03_rb,1.9689e+03_rb,1.1120e+01_rb/) kbo(:, 2,47,11) = (/ & &9.1356e+03_rb,6.8519e+03_rb,4.5682e+03_rb,2.2845e+03_rb,1.1918e+01_rb/) kbo(:, 3,47,11) = (/ & &1.0582e+04_rb,7.9368e+03_rb,5.2914e+03_rb,2.6461e+03_rb,1.2406e+01_rb/) kbo(:, 4,47,11) = (/ & &1.2301e+04_rb,9.2260e+03_rb,6.1509e+03_rb,3.0757e+03_rb,1.2816e+01_rb/) kbo(:, 5,47,11) = (/ & &1.4433e+04_rb,1.0825e+04_rb,7.2167e+03_rb,3.6086e+03_rb,1.2983e+01_rb/) kbo(:, 1,48,11) = (/ & &8.4035e+03_rb,6.3029e+03_rb,4.2022e+03_rb,2.1016e+03_rb,1.0897e+01_rb/) kbo(:, 2,48,11) = (/ & &9.8931e+03_rb,7.4200e+03_rb,4.9470e+03_rb,2.4739e+03_rb,1.1706e+01_rb/) kbo(:, 3,48,11) = (/ & &1.1589e+04_rb,8.6922e+03_rb,5.7950e+03_rb,2.8979e+03_rb,1.2313e+01_rb/) kbo(:, 4,48,11) = (/ & &1.3567e+04_rb,1.0175e+04_rb,6.7839e+03_rb,3.3922e+03_rb,1.2741e+01_rb/) kbo(:, 5,48,11) = (/ & &1.5977e+04_rb,1.1983e+04_rb,7.9888e+03_rb,3.9947e+03_rb,1.2994e+01_rb/) kbo(:, 1,49,11) = (/ & &9.3222e+03_rb,6.9919e+03_rb,4.6615e+03_rb,2.3312e+03_rb,1.0633e+01_rb/) kbo(:, 2,49,11) = (/ & &1.1123e+04_rb,8.3424e+03_rb,5.5619e+03_rb,2.7813e+03_rb,1.1478e+01_rb/) kbo(:, 3,49,11) = (/ & &1.3212e+04_rb,9.9089e+03_rb,6.6061e+03_rb,3.3034e+03_rb,1.2190e+01_rb/) kbo(:, 4,49,11) = (/ & &1.5603e+04_rb,1.1702e+04_rb,7.8017e+03_rb,3.9011e+03_rb,1.2697e+01_rb/) kbo(:, 5,49,11) = (/ & &1.8442e+04_rb,1.3832e+04_rb,9.2215e+03_rb,4.6110e+03_rb,1.3027e+01_rb/) kbo(:, 1,50,11) = (/ & &9.8729e+03_rb,7.4049e+03_rb,4.9369e+03_rb,2.4688e+03_rb,1.0346e+01_rb/) kbo(:, 2,50,11) = (/ & &1.1927e+04_rb,8.9452e+03_rb,5.9637e+03_rb,2.9822e+03_rb,1.1213e+01_rb/) kbo(:, 3,50,11) = (/ & &1.4376e+04_rb,1.0782e+04_rb,7.1884e+03_rb,3.5945e+03_rb,1.2042e+01_rb/) kbo(:, 4,50,11) = (/ & &1.7156e+04_rb,1.2867e+04_rb,8.5782e+03_rb,4.2894e+03_rb,1.2592e+01_rb/) kbo(:, 5,50,11) = (/ & &2.0387e+04_rb,1.5290e+04_rb,1.0194e+04_rb,5.0970e+03_rb,1.3035e+01_rb/) kbo(:, 1,51,11) = (/ & &1.0246e+04_rb,7.6846e+03_rb,5.1234e+03_rb,2.5621e+03_rb,1.0080e+01_rb/) kbo(:, 2,51,11) = (/ & &1.2504e+04_rb,9.3781e+03_rb,6.2523e+03_rb,3.1265e+03_rb,1.0959e+01_rb/) kbo(:, 3,51,11) = (/ & &1.5294e+04_rb,1.1471e+04_rb,7.6476e+03_rb,3.8241e+03_rb,1.1913e+01_rb/) kbo(:, 4,51,11) = (/ & &1.8483e+04_rb,1.3863e+04_rb,9.2420e+03_rb,4.6213e+03_rb,1.2523e+01_rb/) kbo(:, 5,51,11) = (/ & &2.2103e+04_rb,1.6577e+04_rb,1.1052e+04_rb,5.5261e+03_rb,1.3008e+01_rb/) kbo(:, 1,52,11) = (/ & &1.0919e+04_rb,8.1898e+03_rb,5.4601e+03_rb,2.7304e+03_rb,9.7365e+00_rb/) kbo(:, 2,52,11) = (/ & &1.3474e+04_rb,1.0106e+04_rb,6.7375e+03_rb,3.3691e+03_rb,1.0715e+01_rb/) kbo(:, 3,52,11) = (/ & &1.6692e+04_rb,1.2519e+04_rb,8.3465e+03_rb,4.1736e+03_rb,1.1714e+01_rb/) kbo(:, 4,52,11) = (/ & &2.0445e+04_rb,1.5334e+04_rb,1.0223e+04_rb,5.1117e+03_rb,1.2415e+01_rb/) kbo(:, 5,52,11) = (/ & &2.4642e+04_rb,1.8481e+04_rb,1.2321e+04_rb,6.1608e+03_rb,1.2964e+01_rb/) kbo(:, 1,53,11) = (/ & &1.2096e+04_rb,9.0720e+03_rb,6.0483e+03_rb,3.0245e+03_rb,9.3807e+00_rb/) kbo(:, 2,53,11) = (/ & &1.5115e+04_rb,1.1337e+04_rb,7.5582e+03_rb,3.7794e+03_rb,1.0467e+01_rb/) kbo(:, 3,53,11) = (/ & &1.8931e+04_rb,1.4199e+04_rb,9.4661e+03_rb,4.7334e+03_rb,1.1520e+01_rb/) kbo(:, 4,53,11) = (/ & &2.3491e+04_rb,1.7618e+04_rb,1.1746e+04_rb,5.8732e+03_rb,1.2292e+01_rb/) kbo(:, 5,53,11) = (/ & &2.8602e+04_rb,2.1452e+04_rb,1.4301e+04_rb,7.1510e+03_rb,1.2913e+01_rb/) kbo(:, 1,54,11) = (/ & &1.1628e+04_rb,8.7215e+03_rb,5.8146e+03_rb,2.9077e+03_rb,8.9653e+00_rb/) kbo(:, 2,54,11) = (/ & &1.4721e+04_rb,1.1041e+04_rb,7.3608e+03_rb,3.6808e+03_rb,1.0130e+01_rb/) kbo(:, 3,54,11) = (/ & &1.8638e+04_rb,1.3979e+04_rb,9.3193e+03_rb,4.6600e+03_rb,1.1195e+01_rb/) kbo(:, 4,54,11) = (/ & &2.3417e+04_rb,1.7563e+04_rb,1.1709e+04_rb,5.8547e+03_rb,1.2060e+01_rb/) kbo(:, 5,54,11) = (/ & &2.8828e+04_rb,2.1621e+04_rb,1.4414e+04_rb,7.2075e+03_rb,1.2739e+01_rb/) kbo(:, 1,55,11) = (/ & &1.0209e+04_rb,7.6567e+03_rb,5.1047e+03_rb,2.5527e+03_rb,8.5323e+00_rb/) kbo(:, 2,55,11) = (/ & &1.3095e+04_rb,9.8211e+03_rb,6.5477e+03_rb,3.2742e+03_rb,9.7667e+00_rb/) kbo(:, 3,55,11) = (/ & &1.6780e+04_rb,1.2585e+04_rb,8.3901e+03_rb,4.1954e+03_rb,1.0760e+01_rb/) kbo(:, 4,55,11) = (/ & &2.1308e+04_rb,1.5981e+04_rb,1.0654e+04_rb,5.3275e+03_rb,1.1787e+01_rb/) kbo(:, 5,55,11) = (/ & &2.6526e+04_rb,1.9895e+04_rb,1.3264e+04_rb,6.6321e+03_rb,1.2490e+01_rb/) kbo(:, 1,56,11) = (/ & &8.9242e+03_rb,6.6933e+03_rb,4.4624e+03_rb,2.2315e+03_rb,8.1192e+00_rb/) kbo(:, 2,56,11) = (/ & &1.1623e+04_rb,8.7170e+03_rb,5.8115e+03_rb,2.9061e+03_rb,9.3346e+00_rb/) kbo(:, 3,56,11) = (/ & &1.5096e+04_rb,1.1322e+04_rb,7.5482e+03_rb,3.7744e+03_rb,1.0408e+01_rb/) kbo(:, 4,56,11) = (/ & &1.9354e+04_rb,1.4515e+04_rb,9.6771e+03_rb,4.8388e+03_rb,1.1396e+01_rb/) kbo(:, 5,56,11) = (/ & &2.4338e+04_rb,1.8253e+04_rb,1.2169e+04_rb,6.0847e+03_rb,1.2212e+01_rb/) kbo(:, 1,57,11) = (/ & &7.7622e+03_rb,5.8218e+03_rb,3.8814e+03_rb,1.9410e+03_rb,7.7106e+00_rb/) kbo(:, 2,57,11) = (/ & &1.0290e+04_rb,7.7178e+03_rb,5.1454e+03_rb,2.5730e+03_rb,8.9363e+00_rb/) kbo(:, 3,57,11) = (/ & &1.3552e+04_rb,1.0164e+04_rb,6.7760e+03_rb,3.3882e+03_rb,1.0051e+01_rb/) kbo(:, 4,57,11) = (/ & &1.7543e+04_rb,1.3157e+04_rb,8.7715e+03_rb,4.3860e+03_rb,1.0990e+01_rb/) kbo(:, 5,57,11) = (/ & &2.2284e+04_rb,1.6713e+04_rb,1.1142e+04_rb,5.5714e+03_rb,1.1934e+01_rb/) kbo(:, 1,58,11) = (/ & &1.7767e+03_rb,1.6290e+03_rb,1.3968e+03_rb,9.7855e+02_rb,7.2858e+00_rb/) kbo(:, 2,58,11) = (/ & &2.4068e+03_rb,2.2067e+03_rb,1.8922e+03_rb,1.3254e+03_rb,8.5609e+00_rb/) kbo(:, 3,58,11) = (/ & &3.2122e+03_rb,2.9452e+03_rb,2.5253e+03_rb,1.7688e+03_rb,9.6597e+00_rb/) kbo(:, 4,58,11) = (/ & &4.2027e+03_rb,3.8533e+03_rb,3.3039e+03_rb,2.3142e+03_rb,1.0637e+01_rb/) kbo(:, 5,58,11) = (/ & &5.3882e+03_rb,4.9402e+03_rb,4.2359e+03_rb,2.9669e+03_rb,1.1542e+01_rb/) kbo(:, 1,59,11) = (/ & &1.9233e+03_rb,1.6794e+03_rb,1.3397e+03_rb,8.3393e+02_rb,7.1275e+00_rb/) kbo(:, 2,59,11) = (/ & &2.6585e+03_rb,2.3214e+03_rb,1.8518e+03_rb,1.1525e+03_rb,8.4302e+00_rb/) kbo(:, 3,59,11) = (/ & &3.5898e+03_rb,3.1345e+03_rb,2.5004e+03_rb,1.5561e+03_rb,9.5360e+00_rb/) kbo(:, 4,59,11) = (/ & &4.7292e+03_rb,4.1294e+03_rb,3.2940e+03_rb,2.0499e+03_rb,1.0472e+01_rb/) kbo(:, 5,59,11) = (/ & &6.0902e+03_rb,5.3178e+03_rb,4.2419e+03_rb,2.6398e+03_rb,1.1150e+01_rb/) kbo(:, 1,13,12) = (/ & &2.7240e+05_rb,2.0430e+05_rb,1.3620e+05_rb,6.8101e+04_rb,4.4161e+00_rb/) kbo(:, 2,13,12) = (/ & &2.7176e+05_rb,2.0382e+05_rb,1.3588e+05_rb,6.7942e+04_rb,4.2840e+00_rb/) kbo(:, 3,13,12) = (/ & &2.7001e+05_rb,2.0251e+05_rb,1.3501e+05_rb,6.7503e+04_rb,4.1173e+00_rb/) kbo(:, 4,13,12) = (/ & &2.6763e+05_rb,2.0073e+05_rb,1.3382e+05_rb,6.6909e+04_rb,3.9336e+00_rb/) kbo(:, 5,13,12) = (/ & &2.6442e+05_rb,1.9831e+05_rb,1.3221e+05_rb,6.6105e+04_rb,3.6961e+00_rb/) kbo(:, 1,14,12) = (/ & &1.8113e+05_rb,1.3585e+05_rb,9.0565e+04_rb,4.5283e+04_rb,4.8454e+00_rb/) kbo(:, 2,14,12) = (/ & &1.8030e+05_rb,1.3523e+05_rb,9.0150e+04_rb,4.5075e+04_rb,4.6873e+00_rb/) kbo(:, 3,14,12) = (/ & &1.7856e+05_rb,1.3392e+05_rb,8.9279e+04_rb,4.4640e+04_rb,4.6210e+00_rb/) kbo(:, 4,14,12) = (/ & &1.7661e+05_rb,1.3246e+05_rb,8.8303e+04_rb,4.4152e+04_rb,4.4506e+00_rb/) kbo(:, 5,14,12) = (/ & &1.7414e+05_rb,1.3060e+05_rb,8.7069e+04_rb,4.3535e+04_rb,4.3231e+00_rb/) kbo(:, 1,15,12) = (/ & &1.2085e+05_rb,9.0635e+04_rb,6.0424e+04_rb,3.0213e+04_rb,5.3476e+00_rb/) kbo(:, 2,15,12) = (/ & &1.1987e+05_rb,8.9903e+04_rb,5.9936e+04_rb,2.9969e+04_rb,5.2285e+00_rb/) kbo(:, 3,15,12) = (/ & &1.1863e+05_rb,8.8976e+04_rb,5.9318e+04_rb,2.9660e+04_rb,5.0918e+00_rb/) kbo(:, 4,15,12) = (/ & &1.1686e+05_rb,8.7649e+04_rb,5.8433e+04_rb,2.9217e+04_rb,4.9903e+00_rb/) kbo(:, 5,15,12) = (/ & &1.1485e+05_rb,8.6139e+04_rb,5.7427e+04_rb,2.8714e+04_rb,4.7856e+00_rb/) kbo(:, 1,16,12) = (/ & &9.4371e+04_rb,7.0779e+04_rb,4.7186e+04_rb,2.3593e+04_rb,5.9193e+00_rb/) kbo(:, 2,16,12) = (/ & &9.3237e+04_rb,6.9928e+04_rb,4.6619e+04_rb,2.3310e+04_rb,5.7778e+00_rb/) kbo(:, 3,16,12) = (/ & &9.1868e+04_rb,6.8901e+04_rb,4.5935e+04_rb,2.2968e+04_rb,5.6214e+00_rb/) kbo(:, 4,16,12) = (/ & &9.0372e+04_rb,6.7780e+04_rb,4.5187e+04_rb,2.2594e+04_rb,5.5103e+00_rb/) kbo(:, 5,16,12) = (/ & &8.8699e+04_rb,6.6525e+04_rb,4.4350e+04_rb,2.2176e+04_rb,5.3472e+00_rb/) kbo(:, 1,17,12) = (/ & &7.4737e+04_rb,5.6053e+04_rb,3.7369e+04_rb,1.8685e+04_rb,6.5296e+00_rb/) kbo(:, 2,17,12) = (/ & &7.3678e+04_rb,5.5259e+04_rb,3.6840e+04_rb,1.8420e+04_rb,6.3899e+00_rb/) kbo(:, 3,17,12) = (/ & &7.2463e+04_rb,5.4347e+04_rb,3.6232e+04_rb,1.8116e+04_rb,6.2234e+00_rb/) kbo(:, 4,17,12) = (/ & &7.1178e+04_rb,5.3383e+04_rb,3.5589e+04_rb,1.7795e+04_rb,6.1262e+00_rb/) kbo(:, 5,17,12) = (/ & &6.9846e+04_rb,5.2385e+04_rb,3.4923e+04_rb,1.7462e+04_rb,6.0038e+00_rb/) kbo(:, 1,18,12) = (/ & &5.9561e+04_rb,4.4671e+04_rb,2.9781e+04_rb,1.4891e+04_rb,7.2106e+00_rb/) kbo(:, 2,18,12) = (/ & &5.8573e+04_rb,4.3930e+04_rb,2.9287e+04_rb,1.4644e+04_rb,7.0772e+00_rb/) kbo(:, 3,18,12) = (/ & &5.7514e+04_rb,4.3136e+04_rb,2.8757e+04_rb,1.4379e+04_rb,6.9067e+00_rb/) kbo(:, 4,18,12) = (/ & &5.6474e+04_rb,4.2356e+04_rb,2.8238e+04_rb,1.4119e+04_rb,6.7942e+00_rb/) kbo(:, 5,18,12) = (/ & &5.5403e+04_rb,4.1552e+04_rb,2.7702e+04_rb,1.3851e+04_rb,6.6477e+00_rb/) kbo(:, 1,19,12) = (/ & &4.5689e+04_rb,3.4267e+04_rb,2.2845e+04_rb,1.1423e+04_rb,7.9750e+00_rb/) kbo(:, 2,19,12) = (/ & &4.4876e+04_rb,3.3657e+04_rb,2.2438e+04_rb,1.1220e+04_rb,7.8278e+00_rb/) kbo(:, 3,19,12) = (/ & &4.4040e+04_rb,3.3030e+04_rb,2.2021e+04_rb,1.1011e+04_rb,7.6237e+00_rb/) kbo(:, 4,19,12) = (/ & &4.3227e+04_rb,3.2420e+04_rb,2.1614e+04_rb,1.0807e+04_rb,7.5070e+00_rb/) kbo(:, 5,19,12) = (/ & &4.2374e+04_rb,3.1781e+04_rb,2.1187e+04_rb,1.0594e+04_rb,7.3430e+00_rb/) kbo(:, 1,20,12) = (/ & &3.7246e+04_rb,2.7935e+04_rb,1.8623e+04_rb,9.3122e+03_rb,8.8153e+00_rb/) kbo(:, 2,20,12) = (/ & &3.6550e+04_rb,2.7413e+04_rb,1.8276e+04_rb,9.1383e+03_rb,8.6532e+00_rb/) kbo(:, 3,20,12) = (/ & &3.5840e+04_rb,2.6880e+04_rb,1.7920e+04_rb,8.9607e+03_rb,8.4391e+00_rb/) kbo(:, 4,20,12) = (/ & &3.5149e+04_rb,2.6362e+04_rb,1.7575e+04_rb,8.7878e+03_rb,8.2995e+00_rb/) kbo(:, 5,20,12) = (/ & &3.4405e+04_rb,2.5804e+04_rb,1.7203e+04_rb,8.6018e+03_rb,8.1167e+00_rb/) kbo(:, 1,21,12) = (/ & &3.0709e+04_rb,2.3032e+04_rb,1.5355e+04_rb,7.6780e+03_rb,9.7372e+00_rb/) kbo(:, 2,21,12) = (/ & &3.0108e+04_rb,2.2581e+04_rb,1.5055e+04_rb,7.5277e+03_rb,9.5645e+00_rb/) kbo(:, 3,21,12) = (/ & &2.9509e+04_rb,2.2132e+04_rb,1.4755e+04_rb,7.3780e+03_rb,9.3267e+00_rb/) kbo(:, 4,21,12) = (/ & &2.8892e+04_rb,2.1670e+04_rb,1.4447e+04_rb,7.2238e+03_rb,9.1690e+00_rb/) kbo(:, 5,21,12) = (/ & &2.8241e+04_rb,2.1181e+04_rb,1.4121e+04_rb,7.0607e+03_rb,8.9671e+00_rb/) kbo(:, 1,22,12) = (/ & &2.5484e+04_rb,1.9113e+04_rb,1.2742e+04_rb,6.3717e+03_rb,1.0681e+01_rb/) kbo(:, 2,22,12) = (/ & &2.4964e+04_rb,1.8723e+04_rb,1.2483e+04_rb,6.2417e+03_rb,1.0497e+01_rb/) kbo(:, 3,22,12) = (/ & &2.4423e+04_rb,1.8317e+04_rb,1.2212e+04_rb,6.1064e+03_rb,1.0234e+01_rb/) kbo(:, 4,22,12) = (/ & &2.3869e+04_rb,1.7902e+04_rb,1.1935e+04_rb,5.9678e+03_rb,1.0059e+01_rb/) kbo(:, 5,22,12) = (/ & &2.3286e+04_rb,1.7465e+04_rb,1.1643e+04_rb,5.8221e+03_rb,9.8315e+00_rb/) kbo(:, 1,23,12) = (/ & &2.0918e+04_rb,1.5688e+04_rb,1.0459e+04_rb,5.2302e+03_rb,1.1614e+01_rb/) kbo(:, 2,23,12) = (/ & &2.0451e+04_rb,1.5339e+04_rb,1.0226e+04_rb,5.1135e+03_rb,1.1417e+01_rb/) kbo(:, 3,23,12) = (/ & &1.9969e+04_rb,1.4977e+04_rb,9.9848e+03_rb,4.9928e+03_rb,1.1125e+01_rb/) kbo(:, 4,23,12) = (/ & &1.9481e+04_rb,1.4611e+04_rb,9.7407e+03_rb,4.8708e+03_rb,1.0942e+01_rb/) kbo(:, 5,23,12) = (/ & &1.8998e+04_rb,1.4249e+04_rb,9.4994e+03_rb,4.7501e+03_rb,1.0699e+01_rb/) kbo(:, 1,24,12) = (/ & &1.6828e+04_rb,1.2621e+04_rb,8.4145e+03_rb,4.2078e+03_rb,1.2522e+01_rb/) kbo(:, 2,24,12) = (/ & &1.6415e+04_rb,1.2311e+04_rb,8.2079e+03_rb,4.1044e+03_rb,1.2299e+01_rb/) kbo(:, 3,24,12) = (/ & &1.6005e+04_rb,1.2004e+04_rb,8.0027e+03_rb,4.0018e+03_rb,1.2004e+01_rb/) kbo(:, 4,24,12) = (/ & &1.5632e+04_rb,1.1724e+04_rb,7.8164e+03_rb,3.9086e+03_rb,1.1796e+01_rb/) kbo(:, 5,24,12) = (/ & &1.5350e+04_rb,1.1513e+04_rb,7.6755e+03_rb,3.8381e+03_rb,1.1532e+01_rb/) kbo(:, 1,25,12) = (/ & &1.3517e+04_rb,1.0138e+04_rb,6.7590e+03_rb,3.3800e+03_rb,1.3378e+01_rb/) kbo(:, 2,25,12) = (/ & &1.3176e+04_rb,9.8826e+03_rb,6.5887e+03_rb,3.2948e+03_rb,1.3150e+01_rb/) kbo(:, 3,25,12) = (/ & &1.2900e+04_rb,9.6753e+03_rb,6.4505e+03_rb,3.2257e+03_rb,1.2858e+01_rb/) kbo(:, 4,25,12) = (/ & &1.2719e+04_rb,9.5392e+03_rb,6.3597e+03_rb,3.1803e+03_rb,1.2628e+01_rb/) kbo(:, 5,25,12) = (/ & &1.2623e+04_rb,9.4672e+03_rb,6.3117e+03_rb,3.1562e+03_rb,1.2342e+01_rb/) kbo(:, 1,26,12) = (/ & &1.0917e+04_rb,8.1877e+03_rb,5.4588e+03_rb,2.7299e+03_rb,1.4213e+01_rb/) kbo(:, 2,26,12) = (/ & &1.0711e+04_rb,8.0332e+03_rb,5.3557e+03_rb,2.6783e+03_rb,1.3979e+01_rb/) kbo(:, 3,26,12) = (/ & &1.0602e+04_rb,7.9514e+03_rb,5.3012e+03_rb,2.6510e+03_rb,1.3677e+01_rb/) kbo(:, 4,26,12) = (/ & &1.0604e+04_rb,7.9535e+03_rb,5.3026e+03_rb,2.6517e+03_rb,1.3410e+01_rb/) kbo(:, 5,26,12) = (/ & &1.0730e+04_rb,8.0477e+03_rb,5.3654e+03_rb,2.6831e+03_rb,1.3099e+01_rb/) kbo(:, 1,27,12) = (/ & &9.1749e+03_rb,6.8814e+03_rb,4.5879e+03_rb,2.2944e+03_rb,1.5000e+01_rb/) kbo(:, 2,27,12) = (/ & &9.1157e+03_rb,6.8370e+03_rb,4.5583e+03_rb,2.2796e+03_rb,1.4706e+01_rb/) kbo(:, 3,27,12) = (/ & &9.1873e+03_rb,6.8907e+03_rb,4.5941e+03_rb,2.2975e+03_rb,1.4431e+01_rb/) kbo(:, 4,27,12) = (/ & &9.3840e+03_rb,7.0382e+03_rb,4.6924e+03_rb,2.3467e+03_rb,1.4137e+01_rb/) kbo(:, 5,27,12) = (/ & &9.6488e+03_rb,7.2368e+03_rb,4.8249e+03_rb,2.4129e+03_rb,1.3775e+01_rb/) kbo(:, 1,28,12) = (/ & &8.0307e+03_rb,6.0232e+03_rb,4.0158e+03_rb,2.0083e+03_rb,1.5711e+01_rb/) kbo(:, 2,28,12) = (/ & &8.1446e+03_rb,6.1087e+03_rb,4.0727e+03_rb,2.0368e+03_rb,1.5384e+01_rb/) kbo(:, 3,28,12) = (/ & &8.3784e+03_rb,6.2841e+03_rb,4.1897e+03_rb,2.0953e+03_rb,1.5123e+01_rb/) kbo(:, 4,28,12) = (/ & &8.6648e+03_rb,6.4989e+03_rb,4.3329e+03_rb,2.1669e+03_rb,1.4791e+01_rb/) kbo(:, 5,28,12) = (/ & &9.0065e+03_rb,6.7551e+03_rb,4.5037e+03_rb,2.2523e+03_rb,1.4343e+01_rb/) kbo(:, 1,29,12) = (/ & &7.6471e+03_rb,5.7356e+03_rb,3.8240e+03_rb,1.9124e+03_rb,1.6341e+01_rb/) kbo(:, 2,29,12) = (/ & &7.9071e+03_rb,5.9306e+03_rb,3.9540e+03_rb,1.9775e+03_rb,1.6013e+01_rb/) kbo(:, 3,29,12) = (/ & &8.2292e+03_rb,6.1721e+03_rb,4.1151e+03_rb,2.0580e+03_rb,1.5732e+01_rb/) kbo(:, 4,29,12) = (/ & &8.6240e+03_rb,6.4682e+03_rb,4.3125e+03_rb,2.1567e+03_rb,1.5372e+01_rb/) kbo(:, 5,29,12) = (/ & &9.0598e+03_rb,6.7951e+03_rb,4.5304e+03_rb,2.2657e+03_rb,1.4767e+01_rb/) kbo(:, 1,30,12) = (/ & &7.6323e+03_rb,5.7245e+03_rb,3.8166e+03_rb,1.9088e+03_rb,1.6832e+01_rb/) kbo(:, 2,30,12) = (/ & &7.9856e+03_rb,5.9894e+03_rb,3.9933e+03_rb,1.9972e+03_rb,1.6592e+01_rb/) kbo(:, 3,30,12) = (/ & &8.4256e+03_rb,6.3195e+03_rb,4.2133e+03_rb,2.1072e+03_rb,1.6260e+01_rb/) kbo(:, 4,30,12) = (/ & &8.9027e+03_rb,6.6772e+03_rb,4.4518e+03_rb,2.2264e+03_rb,1.5767e+01_rb/) kbo(:, 5,30,12) = (/ & &9.4138e+03_rb,7.0606e+03_rb,4.7073e+03_rb,2.3541e+03_rb,1.5140e+01_rb/) kbo(:, 1,31,12) = (/ & &8.1459e+03_rb,6.1097e+03_rb,4.0735e+03_rb,2.0373e+03_rb,1.7334e+01_rb/) kbo(:, 2,31,12) = (/ & &8.6243e+03_rb,6.4685e+03_rb,4.3127e+03_rb,2.1569e+03_rb,1.7064e+01_rb/) kbo(:, 3,31,12) = (/ & &9.1518e+03_rb,6.8642e+03_rb,4.5764e+03_rb,2.2887e+03_rb,1.6609e+01_rb/) kbo(:, 4,31,12) = (/ & &9.7356e+03_rb,7.3019e+03_rb,4.8683e+03_rb,2.4346e+03_rb,1.5848e+01_rb/) kbo(:, 5,31,12) = (/ & &1.0365e+04_rb,7.7736e+03_rb,5.1827e+03_rb,2.5918e+03_rb,1.5376e+01_rb/) kbo(:, 1,32,12) = (/ & &8.9083e+03_rb,6.6815e+03_rb,4.4547e+03_rb,2.2279e+03_rb,1.7730e+01_rb/) kbo(:, 2,32,12) = (/ & &9.4979e+03_rb,7.1237e+03_rb,4.7495e+03_rb,2.3753e+03_rb,1.7331e+01_rb/) kbo(:, 3,32,12) = (/ & &1.0147e+04_rb,7.6108e+03_rb,5.0742e+03_rb,2.5376e+03_rb,1.6589e+01_rb/) kbo(:, 4,32,12) = (/ & &1.0867e+04_rb,8.1507e+03_rb,5.4341e+03_rb,2.7175e+03_rb,1.6156e+01_rb/) kbo(:, 5,32,12) = (/ & &1.1646e+04_rb,8.7350e+03_rb,5.8236e+03_rb,2.9122e+03_rb,1.5848e+01_rb/) kbo(:, 1,33,12) = (/ & &9.9979e+03_rb,7.4987e+03_rb,4.9995e+03_rb,2.5003e+03_rb,1.7989e+01_rb/) kbo(:, 2,33,12) = (/ & &1.0743e+04_rb,8.0578e+03_rb,5.3722e+03_rb,2.6866e+03_rb,1.7365e+01_rb/) kbo(:, 3,33,12) = (/ & &1.1568e+04_rb,8.6761e+03_rb,5.7844e+03_rb,2.8926e+03_rb,1.6901e+01_rb/) kbo(:, 4,33,12) = (/ & &1.2466e+04_rb,9.3497e+03_rb,6.2334e+03_rb,3.1171e+03_rb,1.6592e+01_rb/) kbo(:, 5,33,12) = (/ & &1.3441e+04_rb,1.0081e+04_rb,6.7208e+03_rb,3.3608e+03_rb,1.6160e+01_rb/) kbo(:, 1,34,12) = (/ & &1.1005e+04_rb,8.2543e+03_rb,5.5032e+03_rb,2.7521e+03_rb,1.8094e+01_rb/) kbo(:, 2,34,12) = (/ & &1.1925e+04_rb,8.9436e+03_rb,5.9627e+03_rb,2.9818e+03_rb,1.7503e+01_rb/) kbo(:, 3,34,12) = (/ & &1.2929e+04_rb,9.6970e+03_rb,6.4650e+03_rb,3.2329e+03_rb,1.7258e+01_rb/) kbo(:, 4,34,12) = (/ & &1.4013e+04_rb,1.0510e+04_rb,7.0067e+03_rb,3.5037e+03_rb,1.6964e+01_rb/) kbo(:, 5,34,12) = (/ & &1.5204e+04_rb,1.1403e+04_rb,7.6022e+03_rb,3.8015e+03_rb,1.6506e+01_rb/) kbo(:, 1,35,12) = (/ & &1.2135e+04_rb,9.1016e+03_rb,6.0680e+03_rb,3.0345e+03_rb,1.8232e+01_rb/) kbo(:, 2,35,12) = (/ & &1.3244e+04_rb,9.9331e+03_rb,6.6223e+03_rb,3.3116e+03_rb,1.7908e+01_rb/) kbo(:, 3,35,12) = (/ & &1.4457e+04_rb,1.0843e+04_rb,7.2288e+03_rb,3.6148e+03_rb,1.7659e+01_rb/) kbo(:, 4,35,12) = (/ & &1.5776e+04_rb,1.1833e+04_rb,7.8886e+03_rb,3.9447e+03_rb,1.7305e+01_rb/) kbo(:, 5,35,12) = (/ & &1.7218e+04_rb,1.2914e+04_rb,8.6094e+03_rb,4.3051e+03_rb,1.6889e+01_rb/) kbo(:, 1,36,12) = (/ & &1.3247e+04_rb,9.9356e+03_rb,6.6240e+03_rb,3.3125e+03_rb,1.8488e+01_rb/) kbo(:, 2,36,12) = (/ & &1.4560e+04_rb,1.0920e+04_rb,7.2802e+03_rb,3.6405e+03_rb,1.8270e+01_rb/) kbo(:, 3,36,12) = (/ & &1.6016e+04_rb,1.2012e+04_rb,8.0085e+03_rb,4.0046e+03_rb,1.8063e+01_rb/) kbo(:, 4,36,12) = (/ & &1.7602e+04_rb,1.3202e+04_rb,8.8012e+03_rb,4.4010e+03_rb,1.7553e+01_rb/) kbo(:, 5,36,12) = (/ & &1.9328e+04_rb,1.4496e+04_rb,9.6641e+03_rb,4.8324e+03_rb,1.7048e+01_rb/) kbo(:, 1,37,12) = (/ & &1.3952e+04_rb,1.0464e+04_rb,6.9765e+03_rb,3.4887e+03_rb,1.8801e+01_rb/) kbo(:, 2,37,12) = (/ & &1.5457e+04_rb,1.1593e+04_rb,7.7287e+03_rb,3.8648e+03_rb,1.8637e+01_rb/) kbo(:, 3,37,12) = (/ & &1.7141e+04_rb,1.2856e+04_rb,8.5707e+03_rb,4.2857e+03_rb,1.8420e+01_rb/) kbo(:, 4,37,12) = (/ & &1.8985e+04_rb,1.4239e+04_rb,9.4928e+03_rb,4.7467e+03_rb,1.7805e+01_rb/) kbo(:, 5,37,12) = (/ & &2.0966e+04_rb,1.5724e+04_rb,1.0483e+04_rb,5.2419e+03_rb,1.7343e+01_rb/) kbo(:, 1,38,12) = (/ & &1.4936e+04_rb,1.1202e+04_rb,7.4684e+03_rb,3.7346e+03_rb,1.9067e+01_rb/) kbo(:, 2,38,12) = (/ & &1.6693e+04_rb,1.2520e+04_rb,8.3467e+03_rb,4.1737e+03_rb,1.8968e+01_rb/) kbo(:, 3,38,12) = (/ & &1.8667e+04_rb,1.4000e+04_rb,9.3337e+03_rb,4.6672e+03_rb,1.8667e+01_rb/) kbo(:, 4,38,12) = (/ & &2.0838e+04_rb,1.5628e+04_rb,1.0419e+04_rb,5.2098e+03_rb,1.8090e+01_rb/) kbo(:, 5,38,12) = (/ & &2.3152e+04_rb,1.7364e+04_rb,1.1576e+04_rb,5.7883e+03_rb,1.7634e+01_rb/) kbo(:, 1,39,12) = (/ & &1.6411e+04_rb,1.2309e+04_rb,8.2062e+03_rb,4.1035e+03_rb,1.9362e+01_rb/) kbo(:, 2,39,12) = (/ & &1.8520e+04_rb,1.3890e+04_rb,9.2603e+03_rb,4.6305e+03_rb,1.9256e+01_rb/) kbo(:, 3,39,12) = (/ & &2.0878e+04_rb,1.5659e+04_rb,1.0439e+04_rb,5.2200e+03_rb,1.8842e+01_rb/) kbo(:, 4,39,12) = (/ & &2.3481e+04_rb,1.7611e+04_rb,1.1741e+04_rb,5.8709e+03_rb,1.8427e+01_rb/) kbo(:, 5,39,12) = (/ & &2.6258e+04_rb,1.9693e+04_rb,1.3129e+04_rb,6.5649e+03_rb,1.8005e+01_rb/) kbo(:, 1,40,12) = (/ & &1.6779e+04_rb,1.2584e+04_rb,8.3898e+03_rb,4.1952e+03_rb,1.9573e+01_rb/) kbo(:, 2,40,12) = (/ & &1.9118e+04_rb,1.4339e+04_rb,9.5593e+03_rb,4.7800e+03_rb,1.9496e+01_rb/) kbo(:, 3,40,12) = (/ & &2.1747e+04_rb,1.6310e+04_rb,1.0874e+04_rb,5.4372e+03_rb,1.9078e+01_rb/) kbo(:, 4,40,12) = (/ & &2.4641e+04_rb,1.8481e+04_rb,1.2321e+04_rb,6.1605e+03_rb,1.8680e+01_rb/) kbo(:, 5,40,12) = (/ & &2.7741e+04_rb,2.0806e+04_rb,1.3871e+04_rb,6.9356e+03_rb,1.8305e+01_rb/) kbo(:, 1,41,12) = (/ & &1.7108e+04_rb,1.2831e+04_rb,8.5543e+03_rb,4.2775e+03_rb,1.9752e+01_rb/) kbo(:, 2,41,12) = (/ & &1.9696e+04_rb,1.4772e+04_rb,9.8483e+03_rb,4.9245e+03_rb,1.9665e+01_rb/) kbo(:, 3,41,12) = (/ & &2.2603e+04_rb,1.6953e+04_rb,1.1302e+04_rb,5.6514e+03_rb,1.9347e+01_rb/) kbo(:, 4,41,12) = (/ & &2.5797e+04_rb,1.9348e+04_rb,1.2899e+04_rb,6.4497e+03_rb,1.8925e+01_rb/) kbo(:, 5,41,12) = (/ & &2.9237e+04_rb,2.1928e+04_rb,1.4619e+04_rb,7.3098e+03_rb,1.8587e+01_rb/) kbo(:, 1,42,12) = (/ & &1.7650e+04_rb,1.3238e+04_rb,8.8253e+03_rb,4.4130e+03_rb,1.9913e+01_rb/) kbo(:, 2,42,12) = (/ & &2.0552e+04_rb,1.5414e+04_rb,1.0276e+04_rb,5.1385e+03_rb,1.9817e+01_rb/) kbo(:, 3,42,12) = (/ & &2.3780e+04_rb,1.7835e+04_rb,1.1890e+04_rb,5.9455e+03_rb,1.9487e+01_rb/) kbo(:, 4,42,12) = (/ & &2.7331e+04_rb,2.0498e+04_rb,1.3666e+04_rb,6.8331e+03_rb,1.9141e+01_rb/) kbo(:, 5,42,12) = (/ & &3.1174e+04_rb,2.3380e+04_rb,1.5587e+04_rb,7.7938e+03_rb,1.8842e+01_rb/) kbo(:, 1,43,12) = (/ & &1.8226e+04_rb,1.3670e+04_rb,9.1135e+03_rb,4.5571e+03_rb,2.0107e+01_rb/) kbo(:, 2,43,12) = (/ & &2.1466e+04_rb,1.6100e+04_rb,1.0734e+04_rb,5.3672e+03_rb,1.9969e+01_rb/) kbo(:, 3,43,12) = (/ & &2.5067e+04_rb,1.8800e+04_rb,1.2534e+04_rb,6.2672e+03_rb,1.9715e+01_rb/) kbo(:, 4,43,12) = (/ & &2.9022e+04_rb,2.1767e+04_rb,1.4512e+04_rb,7.2561e+03_rb,1.9331e+01_rb/) kbo(:, 5,43,12) = (/ & &3.3314e+04_rb,2.4986e+04_rb,1.6658e+04_rb,8.3291e+03_rb,1.9158e+01_rb/) kbo(:, 1,44,12) = (/ & &1.9005e+04_rb,1.4254e+04_rb,9.5029e+03_rb,4.7518e+03_rb,2.0271e+01_rb/) kbo(:, 2,44,12) = (/ & &2.2627e+04_rb,1.6970e+04_rb,1.1314e+04_rb,5.6570e+03_rb,2.0045e+01_rb/) kbo(:, 3,44,12) = (/ & &2.6689e+04_rb,2.0017e+04_rb,1.3345e+04_rb,6.6725e+03_rb,1.9909e+01_rb/) kbo(:, 4,44,12) = (/ & &3.1132e+04_rb,2.3349e+04_rb,1.5566e+04_rb,7.7832e+03_rb,1.9596e+01_rb/) kbo(:, 5,44,12) = (/ & &3.5955e+04_rb,2.6966e+04_rb,1.7978e+04_rb,8.9890e+03_rb,1.9454e+01_rb/) kbo(:, 1,45,12) = (/ & &2.0230e+04_rb,1.5173e+04_rb,1.0115e+04_rb,5.0580e+03_rb,2.0360e+01_rb/) kbo(:, 2,45,12) = (/ & &2.4315e+04_rb,1.8237e+04_rb,1.2158e+04_rb,6.0793e+03_rb,2.0061e+01_rb/) kbo(:, 3,45,12) = (/ & &2.8985e+04_rb,2.1739e+04_rb,1.4493e+04_rb,7.2467e+03_rb,2.0123e+01_rb/) kbo(:, 4,45,12) = (/ & &3.4069e+04_rb,2.5552e+04_rb,1.7035e+04_rb,8.5176e+03_rb,1.9825e+01_rb/) kbo(:, 5,45,12) = (/ & &3.9583e+04_rb,2.9687e+04_rb,1.9792e+04_rb,9.8961e+03_rb,1.9819e+01_rb/) kbo(:, 1,46,12) = (/ & &2.1692e+04_rb,1.6269e+04_rb,1.0846e+04_rb,5.4233e+03_rb,2.0397e+01_rb/) kbo(:, 2,46,12) = (/ & &2.6275e+04_rb,1.9706e+04_rb,1.3138e+04_rb,6.5691e+03_rb,2.0140e+01_rb/) kbo(:, 3,46,12) = (/ & &3.1629e+04_rb,2.3722e+04_rb,1.5815e+04_rb,7.9076e+03_rb,2.0308e+01_rb/) kbo(:, 4,46,12) = (/ & &3.7518e+04_rb,2.8139e+04_rb,1.8759e+04_rb,9.3799e+03_rb,2.0045e+01_rb/) kbo(:, 5,46,12) = (/ & &4.3856e+04_rb,3.2892e+04_rb,2.1928e+04_rb,1.0964e+04_rb,2.0102e+01_rb/) kbo(:, 1,47,12) = (/ & &2.2886e+04_rb,1.7165e+04_rb,1.1443e+04_rb,5.7220e+03_rb,2.0376e+01_rb/) kbo(:, 2,47,12) = (/ & &2.7889e+04_rb,2.0917e+04_rb,1.3945e+04_rb,6.9727e+03_rb,2.0171e+01_rb/) kbo(:, 3,47,12) = (/ & &3.3867e+04_rb,2.5401e+04_rb,1.6934e+04_rb,8.4673e+03_rb,2.0409e+01_rb/) kbo(:, 4,47,12) = (/ & &4.0597e+04_rb,3.0448e+04_rb,2.0299e+04_rb,1.0150e+04_rb,2.0291e+01_rb/) kbo(:, 5,47,12) = (/ & &4.7822e+04_rb,3.5866e+04_rb,2.3911e+04_rb,1.1956e+04_rb,2.0384e+01_rb/) kbo(:, 1,48,12) = (/ & &2.4867e+04_rb,1.8651e+04_rb,1.2434e+04_rb,6.2173e+03_rb,2.0295e+01_rb/) kbo(:, 2,48,12) = (/ & &3.0432e+04_rb,2.2824e+04_rb,1.5216e+04_rb,7.6085e+03_rb,2.0270e+01_rb/) kbo(:, 3,48,12) = (/ & &3.7235e+04_rb,2.7926e+04_rb,1.8618e+04_rb,9.3091e+03_rb,2.0484e+01_rb/) kbo(:, 4,48,12) = (/ & &4.5063e+04_rb,3.3797e+04_rb,2.2532e+04_rb,1.1266e+04_rb,2.0580e+01_rb/) kbo(:, 5,48,12) = (/ & &5.3530e+04_rb,4.0148e+04_rb,2.6765e+04_rb,1.3383e+04_rb,2.0621e+01_rb/) kbo(:, 1,49,12) = (/ & &2.8095e+04_rb,2.1071e+04_rb,1.4048e+04_rb,7.0242e+03_rb,2.0197e+01_rb/) kbo(:, 2,49,12) = (/ & &3.4618e+04_rb,2.5963e+04_rb,1.7309e+04_rb,8.6547e+03_rb,2.0319e+01_rb/) kbo(:, 3,49,12) = (/ & &4.2591e+04_rb,3.1943e+04_rb,2.1296e+04_rb,1.0648e+04_rb,2.0559e+01_rb/) kbo(:, 4,49,12) = (/ & &5.1945e+04_rb,3.8959e+04_rb,2.5973e+04_rb,1.2987e+04_rb,2.0853e+01_rb/) kbo(:, 5,49,12) = (/ & &6.2325e+04_rb,4.6744e+04_rb,3.1163e+04_rb,1.5581e+04_rb,2.0890e+01_rb/) kbo(:, 1,50,12) = (/ & &3.0354e+04_rb,2.2766e+04_rb,1.5178e+04_rb,7.5891e+03_rb,2.0062e+01_rb/) kbo(:, 2,50,12) = (/ & &3.7734e+04_rb,2.8300e+04_rb,1.8867e+04_rb,9.4338e+03_rb,2.0363e+01_rb/) kbo(:, 3,50,12) = (/ & &4.6589e+04_rb,3.4942e+04_rb,2.3295e+04_rb,1.1648e+04_rb,2.0543e+01_rb/) kbo(:, 4,50,12) = (/ & &5.7214e+04_rb,4.2910e+04_rb,2.8607e+04_rb,1.4304e+04_rb,2.0993e+01_rb/) kbo(:, 5,50,12) = (/ & &6.9238e+04_rb,5.1929e+04_rb,3.4619e+04_rb,1.7310e+04_rb,2.1035e+01_rb/) kbo(:, 1,51,12) = (/ & &3.2115e+04_rb,2.4086e+04_rb,1.6058e+04_rb,8.0292e+03_rb,1.9809e+01_rb/) kbo(:, 2,51,12) = (/ & &4.0277e+04_rb,3.0208e+04_rb,2.0139e+04_rb,1.0070e+04_rb,2.0313e+01_rb/) kbo(:, 3,51,12) = (/ & &4.9958e+04_rb,3.7469e+04_rb,2.4979e+04_rb,1.2490e+04_rb,2.0455e+01_rb/) kbo(:, 4,51,12) = (/ & &6.1681e+04_rb,4.6261e+04_rb,3.0841e+04_rb,1.5421e+04_rb,2.0964e+01_rb/) kbo(:, 5,51,12) = (/ & &7.5206e+04_rb,5.6405e+04_rb,3.7603e+04_rb,1.8802e+04_rb,2.1060e+01_rb/) kbo(:, 1,52,12) = (/ & &3.4912e+04_rb,2.6184e+04_rb,1.7456e+04_rb,8.7285e+03_rb,1.9582e+01_rb/) kbo(:, 2,52,12) = (/ & &4.4146e+04_rb,3.3110e+04_rb,2.2073e+04_rb,1.1037e+04_rb,2.0163e+01_rb/) kbo(:, 3,52,12) = (/ & &5.5147e+04_rb,4.1361e+04_rb,2.7574e+04_rb,1.3787e+04_rb,2.0386e+01_rb/) kbo(:, 4,52,12) = (/ & &6.8326e+04_rb,5.1245e+04_rb,3.4163e+04_rb,1.7082e+04_rb,2.0999e+01_rb/) kbo(:, 5,52,12) = (/ & &8.3853e+04_rb,6.2890e+04_rb,4.1927e+04_rb,2.0964e+04_rb,2.1183e+01_rb/) kbo(:, 1,53,12) = (/ & &3.9402e+04_rb,2.9552e+04_rb,1.9702e+04_rb,9.8513e+03_rb,1.9267e+01_rb/) kbo(:, 2,53,12) = (/ & &5.0308e+04_rb,3.7732e+04_rb,2.5155e+04_rb,1.2578e+04_rb,1.9908e+01_rb/) kbo(:, 3,53,12) = (/ & &6.3383e+04_rb,4.7538e+04_rb,3.1692e+04_rb,1.5846e+04_rb,2.0279e+01_rb/) kbo(:, 4,53,12) = (/ & &7.8778e+04_rb,5.9084e+04_rb,3.9389e+04_rb,1.9695e+04_rb,2.1039e+01_rb/) kbo(:, 5,53,12) = (/ & &9.7229e+04_rb,7.2923e+04_rb,4.8615e+04_rb,2.4308e+04_rb,2.1293e+01_rb/) kbo(:, 1,54,12) = (/ & &3.8624e+04_rb,2.8968e+04_rb,1.9312e+04_rb,9.6566e+03_rb,1.8946e+01_rb/) kbo(:, 2,54,12) = (/ & &4.9869e+04_rb,3.7402e+04_rb,2.4935e+04_rb,1.2468e+04_rb,1.9724e+01_rb/) kbo(:, 3,54,12) = (/ & &6.3267e+04_rb,4.7450e+04_rb,3.1634e+04_rb,1.5817e+04_rb,2.0221e+01_rb/) kbo(:, 4,54,12) = (/ & &7.9005e+04_rb,5.9254e+04_rb,3.9503e+04_rb,1.9752e+04_rb,2.0891e+01_rb/) kbo(:, 5,54,12) = (/ & &9.7899e+04_rb,7.3425e+04_rb,4.8950e+04_rb,2.4475e+04_rb,2.1235e+01_rb/) kbo(:, 1,55,12) = (/ & &3.4504e+04_rb,2.5878e+04_rb,1.7253e+04_rb,8.6267e+03_rb,1.8561e+01_rb/) kbo(:, 2,55,12) = (/ & &4.5154e+04_rb,3.3866e+04_rb,2.2578e+04_rb,1.1289e+04_rb,1.9514e+01_rb/) kbo(:, 3,55,12) = (/ & &5.7700e+04_rb,4.3275e+04_rb,2.8850e+04_rb,1.4425e+04_rb,2.0143e+01_rb/) kbo(:, 4,55,12) = (/ & &7.2513e+04_rb,5.4385e+04_rb,3.6257e+04_rb,1.8129e+04_rb,2.0526e+01_rb/) kbo(:, 5,55,12) = (/ & &9.0097e+04_rb,6.7573e+04_rb,4.5049e+04_rb,2.2525e+04_rb,2.1145e+01_rb/) kbo(:, 1,56,12) = (/ & &3.0670e+04_rb,2.3003e+04_rb,1.5335e+04_rb,7.6681e+03_rb,1.8208e+01_rb/) kbo(:, 2,56,12) = (/ & &4.0775e+04_rb,3.0581e+04_rb,2.0388e+04_rb,1.0194e+04_rb,1.9345e+01_rb/) kbo(:, 3,56,12) = (/ & &5.2534e+04_rb,3.9401e+04_rb,2.6267e+04_rb,1.3134e+04_rb,1.9986e+01_rb/) kbo(:, 4,56,12) = (/ & &6.6490e+04_rb,4.9868e+04_rb,3.3245e+04_rb,1.6623e+04_rb,2.0300e+01_rb/) kbo(:, 5,56,12) = (/ & &8.2863e+04_rb,6.2147e+04_rb,4.1431e+04_rb,2.0716e+04_rb,2.0929e+01_rb/) kbo(:, 1,57,12) = (/ & &2.7134e+04_rb,2.0351e+04_rb,1.3567e+04_rb,6.7841e+03_rb,1.7766e+01_rb/) kbo(:, 2,57,12) = (/ & &3.6730e+04_rb,2.7547e+04_rb,1.8365e+04_rb,9.1827e+03_rb,1.8983e+01_rb/) kbo(:, 3,57,12) = (/ & &4.7798e+04_rb,3.5848e+04_rb,2.3899e+04_rb,1.1950e+04_rb,1.9837e+01_rb/) kbo(:, 4,57,12) = (/ & &6.0858e+04_rb,4.5644e+04_rb,3.0429e+04_rb,1.5215e+04_rb,2.0288e+01_rb/) kbo(:, 5,57,12) = (/ & &7.6170e+04_rb,5.7127e+04_rb,3.8085e+04_rb,1.9043e+04_rb,2.0539e+01_rb/) kbo(:, 1,58,12) = (/ & &6.3468e+03_rb,5.8191e+03_rb,4.9895e+03_rb,3.4949e+03_rb,1.7351e+01_rb/) kbo(:, 2,58,12) = (/ & &8.7238e+03_rb,7.9984e+03_rb,6.8580e+03_rb,4.8035e+03_rb,1.8673e+01_rb/) kbo(:, 3,58,12) = (/ & &1.1493e+04_rb,1.0537e+04_rb,9.0349e+03_rb,6.3281e+03_rb,1.9708e+01_rb/) kbo(:, 4,58,12) = (/ & &1.4729e+04_rb,1.3504e+04_rb,1.1579e+04_rb,8.1099e+03_rb,2.0210e+01_rb/) kbo(:, 5,58,12) = (/ & &1.8531e+04_rb,1.6990e+04_rb,1.4568e+04_rb,1.0203e+04_rb,2.0346e+01_rb/) kbo(:, 1,59,12) = (/ & &7.0593e+03_rb,6.1640e+03_rb,4.9170e+03_rb,3.0600e+03_rb,1.7147e+01_rb/) kbo(:, 2,59,12) = (/ & &9.7799e+03_rb,8.5396e+03_rb,6.8118e+03_rb,4.2390e+03_rb,1.8584e+01_rb/) kbo(:, 3,59,12) = (/ & &1.2964e+04_rb,1.1320e+04_rb,9.0293e+03_rb,5.6188e+03_rb,1.9434e+01_rb/) kbo(:, 4,59,12) = (/ & &1.6671e+04_rb,1.4556e+04_rb,1.1611e+04_rb,7.2253e+03_rb,2.0175e+01_rb/) kbo(:, 5,59,12) = (/ & &2.1035e+04_rb,1.8367e+04_rb,1.4651e+04_rb,9.1168e+03_rb,2.0516e+01_rb/) kbo(:, 1,13,13) = (/ & &3.8843e+05_rb,2.9132e+05_rb,1.9422e+05_rb,9.7109e+04_rb,5.4111e+00_rb/) kbo(:, 2,13,13) = (/ & &3.8116e+05_rb,2.8587e+05_rb,1.9058e+05_rb,9.5291e+04_rb,5.1021e+00_rb/) kbo(:, 3,13,13) = (/ & &3.7364e+05_rb,2.8023e+05_rb,1.8682e+05_rb,9.3410e+04_rb,4.8974e+00_rb/) kbo(:, 4,13,13) = (/ & &3.6551e+05_rb,2.7413e+05_rb,1.8276e+05_rb,9.1378e+04_rb,4.4934e+00_rb/) kbo(:, 5,13,13) = (/ & &3.5750e+05_rb,2.6813e+05_rb,1.7875e+05_rb,8.9377e+04_rb,3.9773e+00_rb/) kbo(:, 1,14,13) = (/ & &2.5525e+05_rb,1.9143e+05_rb,1.2762e+05_rb,6.3811e+04_rb,5.8071e+00_rb/) kbo(:, 2,14,13) = (/ & &2.5096e+05_rb,1.8822e+05_rb,1.2548e+05_rb,6.2740e+04_rb,5.6102e+00_rb/) kbo(:, 3,14,13) = (/ & &2.4685e+05_rb,1.8514e+05_rb,1.2343e+05_rb,6.1713e+04_rb,5.4048e+00_rb/) kbo(:, 4,14,13) = (/ & &2.4253e+05_rb,1.8190e+05_rb,1.2126e+05_rb,6.0632e+04_rb,5.2557e+00_rb/) kbo(:, 5,14,13) = (/ & &2.3845e+05_rb,1.7884e+05_rb,1.1922e+05_rb,5.9612e+04_rb,4.9044e+00_rb/) kbo(:, 1,15,13) = (/ & &1.7262e+05_rb,1.2947e+05_rb,8.6313e+04_rb,4.3157e+04_rb,6.3397e+00_rb/) kbo(:, 2,15,13) = (/ & &1.7029e+05_rb,1.2772e+05_rb,8.5146e+04_rb,4.2574e+04_rb,6.1559e+00_rb/) kbo(:, 3,15,13) = (/ & &1.6778e+05_rb,1.2583e+05_rb,8.3891e+04_rb,4.1946e+04_rb,5.9275e+00_rb/) kbo(:, 4,15,13) = (/ & &1.6564e+05_rb,1.2423e+05_rb,8.2824e+04_rb,4.1413e+04_rb,5.8142e+00_rb/) kbo(:, 5,15,13) = (/ & &1.6363e+05_rb,1.2273e+05_rb,8.1819e+04_rb,4.0910e+04_rb,5.6466e+00_rb/) kbo(:, 1,16,13) = (/ & &1.3945e+05_rb,1.0459e+05_rb,6.9724e+04_rb,3.4863e+04_rb,7.0725e+00_rb/) kbo(:, 2,16,13) = (/ & &1.3799e+05_rb,1.0349e+05_rb,6.8996e+04_rb,3.4499e+04_rb,6.9039e+00_rb/) kbo(:, 3,16,13) = (/ & &1.3667e+05_rb,1.0250e+05_rb,6.8336e+04_rb,3.4169e+04_rb,6.6526e+00_rb/) kbo(:, 4,16,13) = (/ & &1.3532e+05_rb,1.0149e+05_rb,6.7659e+04_rb,3.3830e+04_rb,6.5506e+00_rb/) kbo(:, 5,16,13) = (/ & &1.3401e+05_rb,1.0051e+05_rb,6.7008e+04_rb,3.3505e+04_rb,6.3946e+00_rb/) kbo(:, 1,17,13) = (/ & &1.1728e+05_rb,8.7962e+04_rb,5.8642e+04_rb,2.9322e+04_rb,7.9743e+00_rb/) kbo(:, 2,17,13) = (/ & &1.1635e+05_rb,8.7266e+04_rb,5.8178e+04_rb,2.9090e+04_rb,7.7873e+00_rb/) kbo(:, 3,17,13) = (/ & &1.1534e+05_rb,8.6504e+04_rb,5.7670e+04_rb,2.8835e+04_rb,7.5449e+00_rb/) kbo(:, 4,17,13) = (/ & &1.1432e+05_rb,8.5738e+04_rb,5.7159e+04_rb,2.8580e+04_rb,7.3894e+00_rb/) kbo(:, 5,17,13) = (/ & &1.1312e+05_rb,8.4838e+04_rb,5.6559e+04_rb,2.8280e+04_rb,7.2243e+00_rb/) kbo(:, 1,18,13) = (/ & &1.0020e+05_rb,7.5148e+04_rb,5.0099e+04_rb,2.5050e+04_rb,8.9803e+00_rb/) kbo(:, 2,18,13) = (/ & &9.9423e+04_rb,7.4567e+04_rb,4.9712e+04_rb,2.4856e+04_rb,8.7551e+00_rb/) kbo(:, 3,18,13) = (/ & &9.8635e+04_rb,7.3977e+04_rb,4.9318e+04_rb,2.4660e+04_rb,8.5049e+00_rb/) kbo(:, 4,18,13) = (/ & &9.7679e+04_rb,7.3260e+04_rb,4.8840e+04_rb,2.4421e+04_rb,8.3083e+00_rb/) kbo(:, 5,18,13) = (/ & &9.6616e+04_rb,7.2462e+04_rb,4.8308e+04_rb,2.4155e+04_rb,8.1253e+00_rb/) kbo(:, 1,19,13) = (/ & &8.3124e+04_rb,6.2343e+04_rb,4.1562e+04_rb,2.0782e+04_rb,1.0036e+01_rb/) kbo(:, 2,19,13) = (/ & &8.2434e+04_rb,6.1826e+04_rb,4.1217e+04_rb,2.0609e+04_rb,9.7882e+00_rb/) kbo(:, 3,19,13) = (/ & &8.1692e+04_rb,6.1269e+04_rb,4.0847e+04_rb,2.0424e+04_rb,9.5505e+00_rb/) kbo(:, 4,19,13) = (/ & &8.0821e+04_rb,6.0616e+04_rb,4.0411e+04_rb,2.0206e+04_rb,9.2995e+00_rb/) kbo(:, 5,19,13) = (/ & &7.9844e+04_rb,5.9883e+04_rb,3.9922e+04_rb,1.9962e+04_rb,9.1204e+00_rb/) kbo(:, 1,20,13) = (/ & &7.3434e+04_rb,5.5076e+04_rb,3.6717e+04_rb,1.8359e+04_rb,1.1173e+01_rb/) kbo(:, 2,20,13) = (/ & &7.2781e+04_rb,5.4586e+04_rb,3.6391e+04_rb,1.8196e+04_rb,1.0919e+01_rb/) kbo(:, 3,20,13) = (/ & &7.2073e+04_rb,5.4055e+04_rb,3.6037e+04_rb,1.8019e+04_rb,1.0676e+01_rb/) kbo(:, 4,20,13) = (/ & &7.1226e+04_rb,5.3419e+04_rb,3.5613e+04_rb,1.7807e+04_rb,1.0406e+01_rb/) kbo(:, 5,20,13) = (/ & &7.0326e+04_rb,5.2745e+04_rb,3.5164e+04_rb,1.7582e+04_rb,1.0205e+01_rb/) kbo(:, 1,21,13) = (/ & &6.5684e+04_rb,4.9263e+04_rb,3.2843e+04_rb,1.6422e+04_rb,1.2437e+01_rb/) kbo(:, 2,21,13) = (/ & &6.5060e+04_rb,4.8795e+04_rb,3.2531e+04_rb,1.6266e+04_rb,1.2175e+01_rb/) kbo(:, 3,21,13) = (/ & &6.4347e+04_rb,4.8261e+04_rb,3.2174e+04_rb,1.6088e+04_rb,1.1913e+01_rb/) kbo(:, 4,21,13) = (/ & &6.3551e+04_rb,4.7664e+04_rb,3.1776e+04_rb,1.5889e+04_rb,1.1602e+01_rb/) kbo(:, 5,21,13) = (/ & &6.2699e+04_rb,4.7025e+04_rb,3.1350e+04_rb,1.5676e+04_rb,1.1366e+01_rb/) kbo(:, 1,22,13) = (/ & &5.8992e+04_rb,4.4244e+04_rb,2.9497e+04_rb,1.4749e+04_rb,1.3817e+01_rb/) kbo(:, 2,22,13) = (/ & &5.8377e+04_rb,4.3783e+04_rb,2.9189e+04_rb,1.4595e+04_rb,1.3522e+01_rb/) kbo(:, 3,22,13) = (/ & &5.7726e+04_rb,4.3295e+04_rb,2.8863e+04_rb,1.4432e+04_rb,1.3217e+01_rb/) kbo(:, 4,22,13) = (/ & &5.7003e+04_rb,4.2753e+04_rb,2.8502e+04_rb,1.4252e+04_rb,1.2864e+01_rb/) kbo(:, 5,22,13) = (/ & &5.6242e+04_rb,4.2182e+04_rb,2.8121e+04_rb,1.4061e+04_rb,1.2581e+01_rb/) kbo(:, 1,23,13) = (/ & &5.2234e+04_rb,3.9176e+04_rb,2.6118e+04_rb,1.3059e+04_rb,1.5301e+01_rb/) kbo(:, 2,23,13) = (/ & &5.1719e+04_rb,3.8789e+04_rb,2.5860e+04_rb,1.2931e+04_rb,1.4943e+01_rb/) kbo(:, 3,23,13) = (/ & &5.1144e+04_rb,3.8358e+04_rb,2.5572e+04_rb,1.2787e+04_rb,1.4585e+01_rb/) kbo(:, 4,23,13) = (/ & &5.0530e+04_rb,3.7898e+04_rb,2.5266e+04_rb,1.2633e+04_rb,1.4170e+01_rb/) kbo(:, 5,23,13) = (/ & &4.9854e+04_rb,3.7391e+04_rb,2.4928e+04_rb,1.2464e+04_rb,1.3822e+01_rb/) kbo(:, 1,24,13) = (/ & &4.5231e+04_rb,3.3923e+04_rb,2.2616e+04_rb,1.1309e+04_rb,1.6829e+01_rb/) kbo(:, 2,24,13) = (/ & &4.4807e+04_rb,3.3606e+04_rb,2.2404e+04_rb,1.1203e+04_rb,1.6434e+01_rb/) kbo(:, 3,24,13) = (/ & &4.4319e+04_rb,3.3240e+04_rb,2.2160e+04_rb,1.1081e+04_rb,1.5981e+01_rb/) kbo(:, 4,24,13) = (/ & &4.3813e+04_rb,3.2860e+04_rb,2.1907e+04_rb,1.0954e+04_rb,1.5519e+01_rb/) kbo(:, 5,24,13) = (/ & &4.3229e+04_rb,3.2422e+04_rb,2.1615e+04_rb,1.0808e+04_rb,1.5118e+01_rb/) kbo(:, 1,25,13) = (/ & &3.9084e+04_rb,2.9314e+04_rb,1.9543e+04_rb,9.7719e+03_rb,1.8397e+01_rb/) kbo(:, 2,25,13) = (/ & &3.8734e+04_rb,2.9050e+04_rb,1.9367e+04_rb,9.6842e+03_rb,1.7930e+01_rb/) kbo(:, 3,25,13) = (/ & &3.8359e+04_rb,2.8770e+04_rb,1.9180e+04_rb,9.5907e+03_rb,1.7387e+01_rb/) kbo(:, 4,25,13) = (/ & &3.7930e+04_rb,2.8448e+04_rb,1.8965e+04_rb,9.4832e+03_rb,1.6873e+01_rb/) kbo(:, 5,25,13) = (/ & &3.7467e+04_rb,2.8100e+04_rb,1.8734e+04_rb,9.3675e+03_rb,1.6400e+01_rb/) kbo(:, 1,26,13) = (/ & &3.3890e+04_rb,2.5418e+04_rb,1.6946e+04_rb,8.4734e+03_rb,1.9920e+01_rb/) kbo(:, 2,26,13) = (/ & &3.3621e+04_rb,2.5216e+04_rb,1.6811e+04_rb,8.4060e+03_rb,1.9382e+01_rb/) kbo(:, 3,26,13) = (/ & &3.3332e+04_rb,2.4999e+04_rb,1.6667e+04_rb,8.3338e+03_rb,1.8740e+01_rb/) kbo(:, 4,26,13) = (/ & &3.3002e+04_rb,2.4752e+04_rb,1.6501e+04_rb,8.2512e+03_rb,1.8176e+01_rb/) kbo(:, 5,26,13) = (/ & &3.2656e+04_rb,2.4492e+04_rb,1.6328e+04_rb,8.1646e+03_rb,1.7620e+01_rb/) kbo(:, 1,27,13) = (/ & &3.0166e+04_rb,2.2624e+04_rb,1.5083e+04_rb,7.5423e+03_rb,2.1376e+01_rb/) kbo(:, 2,27,13) = (/ & &2.9996e+04_rb,2.2497e+04_rb,1.4998e+04_rb,7.4998e+03_rb,2.0763e+01_rb/) kbo(:, 3,27,13) = (/ & &2.9787e+04_rb,2.2341e+04_rb,1.4894e+04_rb,7.4476e+03_rb,2.0015e+01_rb/) kbo(:, 4,27,13) = (/ & &2.9581e+04_rb,2.2186e+04_rb,1.4791e+04_rb,7.3962e+03_rb,1.9407e+01_rb/) kbo(:, 5,27,13) = (/ & &2.9406e+04_rb,2.2055e+04_rb,1.4703e+04_rb,7.3522e+03_rb,1.8770e+01_rb/) kbo(:, 1,28,13) = (/ & &2.7326e+04_rb,2.0495e+04_rb,1.3664e+04_rb,6.8324e+03_rb,2.2732e+01_rb/) kbo(:, 2,28,13) = (/ & &2.7236e+04_rb,2.0428e+04_rb,1.3619e+04_rb,6.8100e+03_rb,2.2041e+01_rb/) kbo(:, 3,28,13) = (/ & &2.7174e+04_rb,2.0381e+04_rb,1.3588e+04_rb,6.7945e+03_rb,2.1170e+01_rb/) kbo(:, 4,28,13) = (/ & &2.7191e+04_rb,2.0394e+04_rb,1.3596e+04_rb,6.7985e+03_rb,2.0533e+01_rb/) kbo(:, 5,28,13) = (/ & &2.7306e+04_rb,2.0480e+04_rb,1.3654e+04_rb,6.8273e+03_rb,1.9803e+01_rb/) kbo(:, 1,29,13) = (/ & &2.6107e+04_rb,1.9580e+04_rb,1.3054e+04_rb,6.5276e+03_rb,2.3952e+01_rb/) kbo(:, 2,29,13) = (/ & &2.6178e+04_rb,1.9634e+04_rb,1.3090e+04_rb,6.5453e+03_rb,2.3128e+01_rb/) kbo(:, 3,29,13) = (/ & &2.6373e+04_rb,1.9780e+04_rb,1.3187e+04_rb,6.5941e+03_rb,2.2276e+01_rb/) kbo(:, 4,29,13) = (/ & &2.6674e+04_rb,2.0006e+04_rb,1.3338e+04_rb,6.6693e+03_rb,2.1526e+01_rb/) kbo(:, 5,29,13) = (/ & &2.7070e+04_rb,2.0303e+04_rb,1.3535e+04_rb,6.7681e+03_rb,2.0703e+01_rb/) kbo(:, 1,30,13) = (/ & &2.5565e+04_rb,1.9174e+04_rb,1.2783e+04_rb,6.3921e+03_rb,2.5015e+01_rb/) kbo(:, 2,30,13) = (/ & &2.5924e+04_rb,1.9443e+04_rb,1.2962e+04_rb,6.4818e+03_rb,2.4026e+01_rb/) kbo(:, 3,30,13) = (/ & &2.6425e+04_rb,1.9819e+04_rb,1.3213e+04_rb,6.6070e+03_rb,2.3238e+01_rb/) kbo(:, 4,30,13) = (/ & &2.7081e+04_rb,2.0311e+04_rb,1.3541e+04_rb,6.7710e+03_rb,2.2369e+01_rb/) kbo(:, 5,30,13) = (/ & &2.7860e+04_rb,2.0896e+04_rb,1.3931e+04_rb,6.9658e+03_rb,2.1263e+01_rb/) kbo(:, 1,31,13) = (/ & &2.6519e+04_rb,1.9890e+04_rb,1.3260e+04_rb,6.6306e+03_rb,2.5829e+01_rb/) kbo(:, 2,31,13) = (/ & &2.7266e+04_rb,2.0450e+04_rb,1.3634e+04_rb,6.8173e+03_rb,2.4917e+01_rb/) kbo(:, 3,31,13) = (/ & &2.8229e+04_rb,2.1172e+04_rb,1.4115e+04_rb,7.0579e+03_rb,2.4029e+01_rb/) kbo(:, 4,31,13) = (/ & &2.9353e+04_rb,2.2015e+04_rb,1.4677e+04_rb,7.3390e+03_rb,2.2989e+01_rb/) kbo(:, 5,31,13) = (/ & &3.0590e+04_rb,2.2943e+04_rb,1.5295e+04_rb,7.6481e+03_rb,2.1638e+01_rb/) kbo(:, 1,32,13) = (/ & &2.8188e+04_rb,2.1141e+04_rb,1.4095e+04_rb,7.0478e+03_rb,2.6468e+01_rb/) kbo(:, 2,32,13) = (/ & &2.9479e+04_rb,2.2110e+04_rb,1.4740e+04_rb,7.3705e+03_rb,2.5641e+01_rb/) kbo(:, 3,32,13) = (/ & &3.0998e+04_rb,2.3249e+04_rb,1.5500e+04_rb,7.7503e+03_rb,2.4646e+01_rb/) kbo(:, 4,32,13) = (/ & &3.2677e+04_rb,2.4508e+04_rb,1.6339e+04_rb,8.1700e+03_rb,2.3083e+01_rb/) kbo(:, 5,32,13) = (/ & &3.4456e+04_rb,2.5842e+04_rb,1.7228e+04_rb,8.6146e+03_rb,2.1888e+01_rb/) kbo(:, 1,33,13) = (/ & &3.1038e+04_rb,2.3278e+04_rb,1.5519e+04_rb,7.7602e+03_rb,2.7208e+01_rb/) kbo(:, 2,33,13) = (/ & &3.2999e+04_rb,2.4749e+04_rb,1.6500e+04_rb,8.2505e+03_rb,2.6145e+01_rb/) kbo(:, 3,33,13) = (/ & &3.5228e+04_rb,2.6421e+04_rb,1.7614e+04_rb,8.8077e+03_rb,2.4544e+01_rb/) kbo(:, 4,33,13) = (/ & &3.7600e+04_rb,2.8200e+04_rb,1.8800e+04_rb,9.4007e+03_rb,2.3159e+01_rb/) kbo(:, 5,33,13) = (/ & &4.0073e+04_rb,3.0055e+04_rb,2.0037e+04_rb,1.0019e+04_rb,2.2387e+01_rb/) kbo(:, 1,34,13) = (/ & &3.3858e+04_rb,2.5394e+04_rb,1.6930e+04_rb,8.4653e+03_rb,2.7625e+01_rb/) kbo(:, 2,34,13) = (/ & &3.6566e+04_rb,2.7425e+04_rb,1.8284e+04_rb,9.1422e+03_rb,2.6243e+01_rb/) kbo(:, 3,34,13) = (/ & &3.9555e+04_rb,2.9666e+04_rb,1.9778e+04_rb,9.8893e+03_rb,2.4430e+01_rb/) kbo(:, 4,34,13) = (/ & &4.2704e+04_rb,3.2028e+04_rb,2.1352e+04_rb,1.0677e+04_rb,2.3679e+01_rb/) kbo(:, 5,34,13) = (/ & &4.5894e+04_rb,3.4420e+04_rb,2.2947e+04_rb,1.1474e+04_rb,2.2773e+01_rb/) kbo(:, 1,35,13) = (/ & &3.7312e+04_rb,2.7984e+04_rb,1.8657e+04_rb,9.3288e+03_rb,2.7942e+01_rb/) kbo(:, 2,35,13) = (/ & &4.0881e+04_rb,3.0661e+04_rb,2.0441e+04_rb,1.0221e+04_rb,2.6106e+01_rb/) kbo(:, 3,35,13) = (/ & &4.4738e+04_rb,3.3554e+04_rb,2.2369e+04_rb,1.1185e+04_rb,2.5080e+01_rb/) kbo(:, 4,35,13) = (/ & &4.8754e+04_rb,3.6566e+04_rb,2.4377e+04_rb,1.2189e+04_rb,2.4179e+01_rb/) kbo(:, 5,35,13) = (/ & &5.2762e+04_rb,3.9572e+04_rb,2.6381e+04_rb,1.3191e+04_rb,2.3224e+01_rb/) kbo(:, 1,36,13) = (/ & &4.0999e+04_rb,3.0749e+04_rb,2.0500e+04_rb,1.0250e+04_rb,2.8213e+01_rb/) kbo(:, 2,36,13) = (/ & &4.5493e+04_rb,3.4120e+04_rb,2.2747e+04_rb,1.1374e+04_rb,2.6516e+01_rb/) kbo(:, 3,36,13) = (/ & &5.0302e+04_rb,3.7726e+04_rb,2.5151e+04_rb,1.2576e+04_rb,2.5690e+01_rb/) kbo(:, 4,36,13) = (/ & &5.5257e+04_rb,4.1443e+04_rb,2.7629e+04_rb,1.3815e+04_rb,2.4819e+01_rb/) kbo(:, 5,36,13) = (/ & &6.0175e+04_rb,4.5131e+04_rb,3.0088e+04_rb,1.5044e+04_rb,2.3837e+01_rb/) kbo(:, 1,37,13) = (/ & &4.3597e+04_rb,3.2698e+04_rb,2.1799e+04_rb,1.0900e+04_rb,2.8678e+01_rb/) kbo(:, 2,37,13) = (/ & &4.8963e+04_rb,3.6723e+04_rb,2.4482e+04_rb,1.2241e+04_rb,2.7079e+01_rb/) kbo(:, 3,37,13) = (/ & &5.4655e+04_rb,4.0991e+04_rb,2.7328e+04_rb,1.3664e+04_rb,2.6274e+01_rb/) kbo(:, 4,37,13) = (/ & &6.0506e+04_rb,4.5380e+04_rb,3.0253e+04_rb,1.5127e+04_rb,2.5504e+01_rb/) kbo(:, 5,37,13) = (/ & &6.6353e+04_rb,4.9765e+04_rb,3.3177e+04_rb,1.6589e+04_rb,2.4385e+01_rb/) kbo(:, 1,38,13) = (/ & &4.7296e+04_rb,3.5472e+04_rb,2.3648e+04_rb,1.1825e+04_rb,2.9114e+01_rb/) kbo(:, 2,38,13) = (/ & &5.3691e+04_rb,4.0269e+04_rb,2.6846e+04_rb,1.3423e+04_rb,2.7730e+01_rb/) kbo(:, 3,38,13) = (/ & &6.0448e+04_rb,4.5336e+04_rb,3.0224e+04_rb,1.5113e+04_rb,2.6995e+01_rb/) kbo(:, 4,38,13) = (/ & &6.7408e+04_rb,5.0556e+04_rb,3.3704e+04_rb,1.6852e+04_rb,2.6164e+01_rb/) kbo(:, 5,38,13) = (/ & &7.4361e+04_rb,5.5771e+04_rb,3.7181e+04_rb,1.8591e+04_rb,2.5025e+01_rb/) kbo(:, 1,39,13) = (/ & &5.2787e+04_rb,3.9591e+04_rb,2.6394e+04_rb,1.3198e+04_rb,2.9543e+01_rb/) kbo(:, 2,39,13) = (/ & &6.0481e+04_rb,4.5362e+04_rb,3.0242e+04_rb,1.5121e+04_rb,2.8398e+01_rb/) kbo(:, 3,39,13) = (/ & &6.8644e+04_rb,5.1483e+04_rb,3.4323e+04_rb,1.7162e+04_rb,2.7686e+01_rb/) kbo(:, 4,39,13) = (/ & &7.7024e+04_rb,5.7768e+04_rb,3.8513e+04_rb,1.9257e+04_rb,2.6627e+01_rb/) kbo(:, 5,39,13) = (/ & &8.5404e+04_rb,6.4053e+04_rb,4.2703e+04_rb,2.1352e+04_rb,2.5499e+01_rb/) kbo(:, 1,40,13) = (/ & &5.4787e+04_rb,4.1090e+04_rb,2.7394e+04_rb,1.3697e+04_rb,3.0183e+01_rb/) kbo(:, 2,40,13) = (/ & &6.3323e+04_rb,4.7492e+04_rb,3.1662e+04_rb,1.5831e+04_rb,2.8961e+01_rb/) kbo(:, 3,40,13) = (/ & &7.2463e+04_rb,5.4348e+04_rb,3.6232e+04_rb,1.8116e+04_rb,2.8295e+01_rb/) kbo(:, 4,40,13) = (/ & &8.1867e+04_rb,6.1400e+04_rb,4.0933e+04_rb,2.0467e+04_rb,2.7184e+01_rb/) kbo(:, 5,40,13) = (/ & &9.1325e+04_rb,6.8494e+04_rb,4.5663e+04_rb,2.2832e+04_rb,2.5988e+01_rb/) kbo(:, 1,41,13) = (/ & &5.6764e+04_rb,4.2573e+04_rb,2.8383e+04_rb,1.4192e+04_rb,3.0791e+01_rb/) kbo(:, 2,41,13) = (/ & &6.6130e+04_rb,4.9598e+04_rb,3.3066e+04_rb,1.6533e+04_rb,2.9538e+01_rb/) kbo(:, 3,41,13) = (/ & &7.6243e+04_rb,5.7183e+04_rb,3.8122e+04_rb,1.9062e+04_rb,2.8774e+01_rb/) kbo(:, 4,41,13) = (/ & &8.6738e+04_rb,6.5054e+04_rb,4.3370e+04_rb,2.1685e+04_rb,2.7771e+01_rb/) kbo(:, 5,41,13) = (/ & &9.7338e+04_rb,7.3004e+04_rb,4.8670e+04_rb,2.4335e+04_rb,2.6481e+01_rb/) kbo(:, 1,42,13) = (/ & &5.9574e+04_rb,4.4680e+04_rb,2.9787e+04_rb,1.4894e+04_rb,3.1338e+01_rb/) kbo(:, 2,42,13) = (/ & &6.9874e+04_rb,5.2405e+04_rb,3.4937e+04_rb,1.7469e+04_rb,3.0066e+01_rb/) kbo(:, 3,42,13) = (/ & &8.1118e+04_rb,6.0839e+04_rb,4.0559e+04_rb,2.0280e+04_rb,2.9330e+01_rb/) kbo(:, 4,42,13) = (/ & &9.2915e+04_rb,6.9686e+04_rb,4.6457e+04_rb,2.3229e+04_rb,2.8281e+01_rb/) kbo(:, 5,42,13) = (/ & &1.0485e+05_rb,7.8636e+04_rb,5.2424e+04_rb,2.6212e+04_rb,2.6956e+01_rb/) kbo(:, 1,43,13) = (/ & &6.2565e+04_rb,4.6924e+04_rb,3.1283e+04_rb,1.5642e+04_rb,3.1947e+01_rb/) kbo(:, 2,43,13) = (/ & &7.3881e+04_rb,5.5411e+04_rb,3.6941e+04_rb,1.8471e+04_rb,3.0710e+01_rb/) kbo(:, 3,43,13) = (/ & &8.6376e+04_rb,6.4783e+04_rb,4.3189e+04_rb,2.1595e+04_rb,2.9823e+01_rb/) kbo(:, 4,43,13) = (/ & &9.9633e+04_rb,7.4725e+04_rb,4.9817e+04_rb,2.4909e+04_rb,2.8916e+01_rb/) kbo(:, 5,43,13) = (/ & &1.1317e+05_rb,8.4879e+04_rb,5.6586e+04_rb,2.8294e+04_rb,2.7433e+01_rb/) kbo(:, 1,44,13) = (/ & &6.6377e+04_rb,4.9783e+04_rb,3.3188e+04_rb,1.6595e+04_rb,3.2537e+01_rb/) kbo(:, 2,44,13) = (/ & &7.8875e+04_rb,5.9156e+04_rb,3.9437e+04_rb,1.9719e+04_rb,3.1463e+01_rb/) kbo(:, 3,44,13) = (/ & &9.2826e+04_rb,6.9619e+04_rb,4.6413e+04_rb,2.3207e+04_rb,3.0339e+01_rb/) kbo(:, 4,44,13) = (/ & &1.0782e+05_rb,8.0864e+04_rb,5.3909e+04_rb,2.6955e+04_rb,2.9519e+01_rb/) kbo(:, 5,44,13) = (/ & &1.2335e+05_rb,9.2508e+04_rb,6.1672e+04_rb,3.0836e+04_rb,2.7886e+01_rb/) kbo(:, 1,45,13) = (/ & &7.1874e+04_rb,5.3905e+04_rb,3.5937e+04_rb,1.7969e+04_rb,3.3146e+01_rb/) kbo(:, 2,45,13) = (/ & &8.5887e+04_rb,6.4415e+04_rb,4.2944e+04_rb,2.1472e+04_rb,3.2123e+01_rb/) kbo(:, 3,45,13) = (/ & &1.0168e+05_rb,7.6262e+04_rb,5.0841e+04_rb,2.5421e+04_rb,3.0727e+01_rb/) kbo(:, 4,45,13) = (/ & &1.1891e+05_rb,8.9181e+04_rb,5.9454e+04_rb,2.9727e+04_rb,3.0052e+01_rb/) kbo(:, 5,45,13) = (/ & &1.3695e+05_rb,1.0272e+05_rb,6.8477e+04_rb,3.4239e+04_rb,2.8423e+01_rb/) kbo(:, 1,46,13) = (/ & &7.8328e+04_rb,5.8747e+04_rb,3.9165e+04_rb,1.9583e+04_rb,3.3800e+01_rb/) kbo(:, 2,46,13) = (/ & &9.4082e+04_rb,7.0562e+04_rb,4.7041e+04_rb,2.3521e+04_rb,3.2751e+01_rb/) kbo(:, 3,46,13) = (/ & &1.1205e+05_rb,8.4041e+04_rb,5.6028e+04_rb,2.8014e+04_rb,3.1210e+01_rb/) kbo(:, 4,46,13) = (/ & &1.3188e+05_rb,9.8910e+04_rb,6.5940e+04_rb,3.2971e+04_rb,3.0670e+01_rb/) kbo(:, 5,46,13) = (/ & &1.5296e+05_rb,1.1472e+05_rb,7.6478e+04_rb,3.8239e+04_rb,2.9020e+01_rb/) kbo(:, 1,47,13) = (/ & &8.3810e+04_rb,6.2858e+04_rb,4.1906e+04_rb,2.0953e+04_rb,3.4456e+01_rb/) kbo(:, 2,47,13) = (/ & &1.0129e+05_rb,7.5968e+04_rb,5.0646e+04_rb,2.5323e+04_rb,3.3326e+01_rb/) kbo(:, 3,47,13) = (/ & &1.2133e+05_rb,9.0998e+04_rb,6.0666e+04_rb,3.0333e+04_rb,3.1897e+01_rb/) kbo(:, 4,47,13) = (/ & &1.4374e+05_rb,1.0781e+05_rb,7.1871e+04_rb,3.5936e+04_rb,3.1165e+01_rb/) kbo(:, 5,47,13) = (/ & &1.6790e+05_rb,1.2593e+05_rb,8.3952e+04_rb,4.1976e+04_rb,2.9653e+01_rb/) kbo(:, 1,48,13) = (/ & &9.2009e+04_rb,6.9007e+04_rb,4.6005e+04_rb,2.3003e+04_rb,3.5004e+01_rb/) kbo(:, 2,48,13) = (/ & &1.1207e+05_rb,8.4051e+04_rb,5.6034e+04_rb,2.8018e+04_rb,3.3918e+01_rb/) kbo(:, 3,48,13) = (/ & &1.3494e+05_rb,1.0121e+05_rb,6.7471e+04_rb,3.3736e+04_rb,3.2425e+01_rb/) kbo(:, 4,48,13) = (/ & &1.6083e+05_rb,1.2063e+05_rb,8.0418e+04_rb,4.0210e+04_rb,3.1652e+01_rb/) kbo(:, 5,48,13) = (/ & &1.8920e+05_rb,1.4190e+05_rb,9.4599e+04_rb,4.7300e+04_rb,3.0396e+01_rb/) kbo(:, 1,49,13) = (/ & &1.0515e+05_rb,7.8866e+04_rb,5.2577e+04_rb,2.6289e+04_rb,3.5598e+01_rb/) kbo(:, 2,49,13) = (/ & &1.2899e+05_rb,9.6745e+04_rb,6.4497e+04_rb,3.2249e+04_rb,3.4541e+01_rb/) kbo(:, 3,49,13) = (/ & &1.5618e+05_rb,1.1714e+05_rb,7.8092e+04_rb,3.9046e+04_rb,3.3166e+01_rb/) kbo(:, 4,49,13) = (/ & &1.8721e+05_rb,1.4041e+05_rb,9.3606e+04_rb,4.6803e+04_rb,3.2127e+01_rb/) kbo(:, 5,49,13) = (/ & &2.2166e+05_rb,1.6624e+05_rb,1.1083e+05_rb,5.5414e+04_rb,3.1114e+01_rb/) kbo(:, 1,50,13) = (/ & &1.1492e+05_rb,8.6190e+04_rb,5.7460e+04_rb,2.8730e+04_rb,3.5920e+01_rb/) kbo(:, 2,50,13) = (/ & &1.4177e+05_rb,1.0633e+05_rb,7.0884e+04_rb,3.5442e+04_rb,3.5009e+01_rb/) kbo(:, 3,50,13) = (/ & &1.7284e+05_rb,1.2963e+05_rb,8.6422e+04_rb,4.3212e+04_rb,3.3840e+01_rb/) kbo(:, 4,50,13) = (/ & &2.0816e+05_rb,1.5612e+05_rb,1.0408e+05_rb,5.2042e+04_rb,3.2614e+01_rb/) kbo(:, 5,50,13) = (/ & &2.4789e+05_rb,1.8591e+05_rb,1.2394e+05_rb,6.1972e+04_rb,3.1787e+01_rb/) kbo(:, 1,51,13) = (/ & &1.2316e+05_rb,9.2372e+04_rb,6.1582e+04_rb,3.0791e+04_rb,3.6248e+01_rb/) kbo(:, 2,51,13) = (/ & &1.5257e+05_rb,1.1443e+05_rb,7.6284e+04_rb,3.8142e+04_rb,3.5464e+01_rb/) kbo(:, 3,51,13) = (/ & &1.8735e+05_rb,1.4051e+05_rb,9.3677e+04_rb,4.6839e+04_rb,3.4431e+01_rb/) kbo(:, 4,51,13) = (/ & &2.2663e+05_rb,1.6997e+05_rb,1.1332e+05_rb,5.6659e+04_rb,3.2971e+01_rb/) kbo(:, 5,51,13) = (/ & &2.7128e+05_rb,2.0346e+05_rb,1.3564e+05_rb,6.7820e+04_rb,3.2477e+01_rb/) kbo(:, 1,52,13) = (/ & &1.3564e+05_rb,1.0173e+05_rb,6.7822e+04_rb,3.3911e+04_rb,3.6511e+01_rb/) kbo(:, 2,52,13) = (/ & &1.6873e+05_rb,1.2655e+05_rb,8.4367e+04_rb,4.2184e+04_rb,3.5955e+01_rb/) kbo(:, 3,52,13) = (/ & &2.0841e+05_rb,1.5631e+05_rb,1.0421e+05_rb,5.2104e+04_rb,3.4988e+01_rb/) kbo(:, 4,52,13) = (/ & &2.5356e+05_rb,1.9017e+05_rb,1.2678e+05_rb,6.3390e+04_rb,3.3412e+01_rb/) kbo(:, 5,52,13) = (/ & &3.0501e+05_rb,2.2876e+05_rb,1.5250e+05_rb,7.6253e+04_rb,3.3108e+01_rb/) kbo(:, 1,53,13) = (/ & &1.5552e+05_rb,1.1664e+05_rb,7.7762e+04_rb,3.8882e+04_rb,3.6856e+01_rb/) kbo(:, 2,53,13) = (/ & &1.9425e+05_rb,1.4569e+05_rb,9.7128e+04_rb,4.8565e+04_rb,3.6432e+01_rb/) kbo(:, 3,53,13) = (/ & &2.4103e+05_rb,1.8077e+05_rb,1.2051e+05_rb,6.0258e+04_rb,3.5535e+01_rb/) kbo(:, 4,53,13) = (/ & &2.9532e+05_rb,2.2149e+05_rb,1.4766e+05_rb,7.3832e+04_rb,3.3878e+01_rb/) kbo(:, 5,53,13) = (/ & &3.5673e+05_rb,2.6755e+05_rb,1.7837e+05_rb,8.9184e+04_rb,3.3830e+01_rb/) kbo(:, 1,54,13) = (/ & &1.5519e+05_rb,1.1639e+05_rb,7.7595e+04_rb,3.8798e+04_rb,3.7137e+01_rb/) kbo(:, 2,54,13) = (/ & &1.9455e+05_rb,1.4591e+05_rb,9.7277e+04_rb,4.8639e+04_rb,3.6719e+01_rb/) kbo(:, 3,54,13) = (/ & &2.4223e+05_rb,1.8167e+05_rb,1.2111e+05_rb,6.0558e+04_rb,3.5737e+01_rb/) kbo(:, 4,54,13) = (/ & &2.9863e+05_rb,2.2398e+05_rb,1.4932e+05_rb,7.4660e+04_rb,3.4182e+01_rb/) kbo(:, 5,54,13) = (/ & &3.6225e+05_rb,2.7169e+05_rb,1.8113e+05_rb,9.0564e+04_rb,3.4090e+01_rb/) kbo(:, 1,55,13) = (/ & &1.4179e+05_rb,1.0634e+05_rb,7.0895e+04_rb,3.5448e+04_rb,3.7500e+01_rb/) kbo(:, 2,55,13) = (/ & &1.7805e+05_rb,1.3354e+05_rb,8.9025e+04_rb,4.4513e+04_rb,3.6673e+01_rb/) kbo(:, 3,55,13) = (/ & &2.2250e+05_rb,1.6688e+05_rb,1.1125e+05_rb,5.5626e+04_rb,3.6002e+01_rb/) kbo(:, 4,55,13) = (/ & &2.7565e+05_rb,2.0674e+05_rb,1.3783e+05_rb,6.8913e+04_rb,3.4967e+01_rb/) kbo(:, 5,55,13) = (/ & &3.3613e+05_rb,2.5210e+05_rb,1.6807e+05_rb,8.4034e+04_rb,3.3605e+01_rb/) kbo(:, 1,56,13) = (/ & &1.2955e+05_rb,9.7160e+04_rb,6.4773e+04_rb,3.2387e+04_rb,3.7592e+01_rb/) kbo(:, 2,56,13) = (/ & &1.6291e+05_rb,1.2218e+05_rb,8.1452e+04_rb,4.0726e+04_rb,3.6892e+01_rb/) kbo(:, 3,56,13) = (/ & &2.0430e+05_rb,1.5322e+05_rb,1.0215e+05_rb,5.1074e+04_rb,3.6401e+01_rb/) kbo(:, 4,56,13) = (/ & &2.5407e+05_rb,1.9055e+05_rb,1.2704e+05_rb,6.3518e+04_rb,3.5416e+01_rb/) kbo(:, 5,56,13) = (/ & &3.1173e+05_rb,2.3380e+05_rb,1.5586e+05_rb,7.7932e+04_rb,3.3725e+01_rb/) kbo(:, 1,57,13) = (/ & &1.1844e+05_rb,8.8830e+04_rb,5.9220e+04_rb,2.9610e+04_rb,3.7590e+01_rb/) kbo(:, 2,57,13) = (/ & &1.4902e+05_rb,1.1176e+05_rb,7.4508e+04_rb,3.7254e+04_rb,3.7340e+01_rb/) kbo(:, 3,57,13) = (/ & &1.8747e+05_rb,1.4060e+05_rb,9.3736e+04_rb,4.6868e+04_rb,3.6437e+01_rb/) kbo(:, 4,57,13) = (/ & &2.3395e+05_rb,1.7546e+05_rb,1.1697e+05_rb,5.8487e+04_rb,3.5598e+01_rb/) kbo(:, 5,57,13) = (/ & &2.8870e+05_rb,2.1653e+05_rb,1.4435e+05_rb,7.2175e+04_rb,3.4562e+01_rb/) kbo(:, 1,58,13) = (/ & &2.8654e+04_rb,2.6272e+04_rb,2.2526e+04_rb,1.5777e+04_rb,3.7286e+01_rb/) kbo(:, 2,58,13) = (/ & &3.6090e+04_rb,3.3089e+04_rb,2.8371e+04_rb,1.9871e+04_rb,3.7547e+01_rb/) kbo(:, 3,58,13) = (/ & &4.5492e+04_rb,4.1710e+04_rb,3.5762e+04_rb,2.5048e+04_rb,3.6650e+01_rb/) kbo(:, 4,58,13) = (/ & &5.6953e+04_rb,5.2217e+04_rb,4.4772e+04_rb,3.1358e+04_rb,3.6005e+01_rb/) kbo(:, 5,58,13) = (/ & &7.0617e+04_rb,6.4745e+04_rb,5.5513e+04_rb,3.8881e+04_rb,3.4983e+01_rb/) kbo(:, 1,59,13) = (/ & &3.2425e+04_rb,2.8312e+04_rb,2.2583e+04_rb,1.4053e+04_rb,3.7337e+01_rb/) kbo(:, 2,59,13) = (/ & &4.0874e+04_rb,3.5689e+04_rb,2.8468e+04_rb,1.7715e+04_rb,3.7354e+01_rb/) kbo(:, 3,59,13) = (/ & &5.1569e+04_rb,4.5029e+04_rb,3.5917e+04_rb,2.2350e+04_rb,3.7146e+01_rb/) kbo(:, 4,59,13) = (/ & &6.4659e+04_rb,5.6458e+04_rb,4.5034e+04_rb,2.8023e+04_rb,3.5794e+01_rb/) kbo(:, 5,59,13) = (/ & &8.0312e+04_rb,7.0125e+04_rb,5.5936e+04_rb,3.4807e+04_rb,3.4858e+01_rb/) kbo(:, 1,13,14) = (/ & &5.5354e+05_rb,4.1516e+05_rb,2.7677e+05_rb,1.3839e+05_rb,6.6359e+00_rb/) kbo(:, 2,13,14) = (/ & &5.3662e+05_rb,4.0247e+05_rb,2.6831e+05_rb,1.3416e+05_rb,6.3521e+00_rb/) kbo(:, 3,13,14) = (/ & &5.2321e+05_rb,3.9241e+05_rb,2.6161e+05_rb,1.3080e+05_rb,6.1777e+00_rb/) kbo(:, 4,13,14) = (/ & &5.1223e+05_rb,3.8417e+05_rb,2.5612e+05_rb,1.2806e+05_rb,5.8113e+00_rb/) kbo(:, 5,13,14) = (/ & &5.0254e+05_rb,3.7690e+05_rb,2.5127e+05_rb,1.2564e+05_rb,5.1461e+00_rb/) kbo(:, 1,14,14) = (/ & &3.6531e+05_rb,2.7398e+05_rb,1.8265e+05_rb,9.1327e+04_rb,7.3146e+00_rb/) kbo(:, 2,14,14) = (/ & &3.5777e+05_rb,2.6833e+05_rb,1.7888e+05_rb,8.9442e+04_rb,7.0661e+00_rb/) kbo(:, 3,14,14) = (/ & &3.5166e+05_rb,2.6375e+05_rb,1.7583e+05_rb,8.7915e+04_rb,6.6597e+00_rb/) kbo(:, 4,14,14) = (/ & &3.4675e+05_rb,2.6006e+05_rb,1.7337e+05_rb,8.6687e+04_rb,6.5607e+00_rb/) kbo(:, 5,14,14) = (/ & &3.4224e+05_rb,2.5668e+05_rb,1.7112e+05_rb,8.5559e+04_rb,6.0728e+00_rb/) kbo(:, 1,15,14) = (/ & &2.5038e+05_rb,1.8779e+05_rb,1.2519e+05_rb,6.2598e+04_rb,8.1437e+00_rb/) kbo(:, 2,15,14) = (/ & &2.4740e+05_rb,1.8555e+05_rb,1.2370e+05_rb,6.1853e+04_rb,7.8645e+00_rb/) kbo(:, 3,15,14) = (/ & &2.4508e+05_rb,1.8381e+05_rb,1.2254e+05_rb,6.1272e+04_rb,7.4907e+00_rb/) kbo(:, 4,15,14) = (/ & &2.4271e+05_rb,1.8203e+05_rb,1.2136e+05_rb,6.0680e+04_rb,7.2641e+00_rb/) kbo(:, 5,15,14) = (/ & &2.4052e+05_rb,1.8039e+05_rb,1.2026e+05_rb,6.0131e+04_rb,7.0682e+00_rb/) kbo(:, 1,16,14) = (/ & &2.0782e+05_rb,1.5587e+05_rb,1.0391e+05_rb,5.1957e+04_rb,9.0703e+00_rb/) kbo(:, 2,16,14) = (/ & &2.0661e+05_rb,1.5496e+05_rb,1.0331e+05_rb,5.1654e+04_rb,8.7622e+00_rb/) kbo(:, 3,16,14) = (/ & &2.0513e+05_rb,1.5385e+05_rb,1.0257e+05_rb,5.1284e+04_rb,8.4635e+00_rb/) kbo(:, 4,16,14) = (/ & &2.0374e+05_rb,1.5280e+05_rb,1.0187e+05_rb,5.0936e+04_rb,8.1015e+00_rb/) kbo(:, 5,16,14) = (/ & &2.0191e+05_rb,1.5143e+05_rb,1.0096e+05_rb,5.0479e+04_rb,7.9045e+00_rb/) kbo(:, 1,17,14) = (/ & &1.8037e+05_rb,1.3528e+05_rb,9.0185e+04_rb,4.5093e+04_rb,1.0108e+01_rb/) kbo(:, 2,17,14) = (/ & &1.7972e+05_rb,1.3479e+05_rb,8.9862e+04_rb,4.4932e+04_rb,9.7857e+00_rb/) kbo(:, 3,17,14) = (/ & &1.7906e+05_rb,1.3430e+05_rb,8.9533e+04_rb,4.4767e+04_rb,9.4761e+00_rb/) kbo(:, 4,17,14) = (/ & &1.7788e+05_rb,1.3341e+05_rb,8.8942e+04_rb,4.4472e+04_rb,9.0551e+00_rb/) kbo(:, 5,17,14) = (/ & &1.7662e+05_rb,1.3247e+05_rb,8.8311e+04_rb,4.4156e+04_rb,8.8726e+00_rb/) kbo(:, 1,18,14) = (/ & &1.6160e+05_rb,1.2120e+05_rb,8.0801e+04_rb,4.0401e+04_rb,1.1327e+01_rb/) kbo(:, 2,18,14) = (/ & &1.6141e+05_rb,1.2106e+05_rb,8.0704e+04_rb,4.0353e+04_rb,1.1010e+01_rb/) kbo(:, 3,18,14) = (/ & &1.6076e+05_rb,1.2057e+05_rb,8.0382e+04_rb,4.0192e+04_rb,1.0693e+01_rb/) kbo(:, 4,18,14) = (/ & &1.6001e+05_rb,1.2001e+05_rb,8.0005e+04_rb,4.0003e+04_rb,1.0193e+01_rb/) kbo(:, 5,18,14) = (/ & &1.5881e+05_rb,1.1911e+05_rb,7.9406e+04_rb,3.9704e+04_rb,1.0071e+01_rb/) kbo(:, 1,19,14) = (/ & &1.4270e+05_rb,1.0702e+05_rb,7.1350e+04_rb,3.5676e+04_rb,1.2821e+01_rb/) kbo(:, 2,19,14) = (/ & &1.4247e+05_rb,1.0685e+05_rb,7.1236e+04_rb,3.5619e+04_rb,1.2498e+01_rb/) kbo(:, 3,19,14) = (/ & &1.4204e+05_rb,1.0653e+05_rb,7.1022e+04_rb,3.5511e+04_rb,1.2171e+01_rb/) kbo(:, 4,19,14) = (/ & &1.4126e+05_rb,1.0594e+05_rb,7.0629e+04_rb,3.5315e+04_rb,1.1680e+01_rb/) kbo(:, 5,19,14) = (/ & &1.4024e+05_rb,1.0518e+05_rb,7.0119e+04_rb,3.5060e+04_rb,1.1491e+01_rb/) kbo(:, 1,20,14) = (/ & &1.3563e+05_rb,1.0173e+05_rb,6.7817e+04_rb,3.3909e+04_rb,1.4618e+01_rb/) kbo(:, 2,20,14) = (/ & &1.3541e+05_rb,1.0156e+05_rb,6.7708e+04_rb,3.3855e+04_rb,1.4263e+01_rb/) kbo(:, 3,20,14) = (/ & &1.3484e+05_rb,1.0113e+05_rb,6.7419e+04_rb,3.3710e+04_rb,1.3906e+01_rb/) kbo(:, 4,20,14) = (/ & &1.3404e+05_rb,1.0053e+05_rb,6.7023e+04_rb,3.3512e+04_rb,1.3385e+01_rb/) kbo(:, 5,20,14) = (/ & &1.3293e+05_rb,9.9699e+04_rb,6.6466e+04_rb,3.3234e+04_rb,1.3122e+01_rb/) kbo(:, 1,21,14) = (/ & &1.3198e+05_rb,9.8983e+04_rb,6.5989e+04_rb,3.2995e+04_rb,1.6661e+01_rb/) kbo(:, 2,21,14) = (/ & &1.3158e+05_rb,9.8688e+04_rb,6.5792e+04_rb,3.2897e+04_rb,1.6248e+01_rb/) kbo(:, 3,21,14) = (/ & &1.3094e+05_rb,9.8202e+04_rb,6.5468e+04_rb,3.2735e+04_rb,1.5812e+01_rb/) kbo(:, 4,21,14) = (/ & &1.3001e+05_rb,9.7504e+04_rb,6.5003e+04_rb,3.2502e+04_rb,1.5225e+01_rb/) kbo(:, 5,21,14) = (/ & &1.2884e+05_rb,9.6632e+04_rb,6.4422e+04_rb,3.2211e+04_rb,1.4867e+01_rb/) kbo(:, 1,22,14) = (/ & &1.3028e+05_rb,9.7707e+04_rb,6.5139e+04_rb,3.2570e+04_rb,1.8806e+01_rb/) kbo(:, 2,22,14) = (/ & &1.2981e+05_rb,9.7355e+04_rb,6.4904e+04_rb,3.2452e+04_rb,1.8310e+01_rb/) kbo(:, 3,22,14) = (/ & &1.2902e+05_rb,9.6763e+04_rb,6.4509e+04_rb,3.2255e+04_rb,1.7798e+01_rb/) kbo(:, 4,22,14) = (/ & &1.2795e+05_rb,9.5966e+04_rb,6.3978e+04_rb,3.1989e+04_rb,1.7136e+01_rb/) kbo(:, 5,22,14) = (/ & &1.2666e+05_rb,9.4996e+04_rb,6.3331e+04_rb,3.1666e+04_rb,1.6711e+01_rb/) kbo(:, 1,23,14) = (/ & &1.2794e+05_rb,9.5952e+04_rb,6.3968e+04_rb,3.1985e+04_rb,2.1073e+01_rb/) kbo(:, 2,23,14) = (/ & &1.2735e+05_rb,9.5515e+04_rb,6.3677e+04_rb,3.1839e+04_rb,2.0511e+01_rb/) kbo(:, 3,23,14) = (/ & &1.2647e+05_rb,9.4850e+04_rb,6.3234e+04_rb,3.1617e+04_rb,1.9930e+01_rb/) kbo(:, 4,23,14) = (/ & &1.2537e+05_rb,9.4025e+04_rb,6.2684e+04_rb,3.1342e+04_rb,1.9174e+01_rb/) kbo(:, 5,23,14) = (/ & &1.2398e+05_rb,9.2985e+04_rb,6.1990e+04_rb,3.0996e+04_rb,1.8667e+01_rb/) kbo(:, 1,24,14) = (/ & &1.2343e+05_rb,9.2570e+04_rb,6.1714e+04_rb,3.0858e+04_rb,2.3485e+01_rb/) kbo(:, 2,24,14) = (/ & &1.2276e+05_rb,9.2074e+04_rb,6.1383e+04_rb,3.0692e+04_rb,2.2824e+01_rb/) kbo(:, 3,24,14) = (/ & &1.2194e+05_rb,9.1458e+04_rb,6.0973e+04_rb,3.0487e+04_rb,2.2153e+01_rb/) kbo(:, 4,24,14) = (/ & &1.2080e+05_rb,9.0601e+04_rb,6.0401e+04_rb,3.0201e+04_rb,2.1291e+01_rb/) kbo(:, 5,24,14) = (/ & &1.1949e+05_rb,8.9617e+04_rb,5.9745e+04_rb,2.9873e+04_rb,2.0633e+01_rb/) kbo(:, 1,25,14) = (/ & &1.1905e+05_rb,8.9291e+04_rb,5.9528e+04_rb,2.9764e+04_rb,2.5966e+01_rb/) kbo(:, 2,25,14) = (/ & &1.1853e+05_rb,8.8894e+04_rb,5.9263e+04_rb,2.9632e+04_rb,2.5184e+01_rb/) kbo(:, 3,25,14) = (/ & &1.1769e+05_rb,8.8271e+04_rb,5.8848e+04_rb,2.9424e+04_rb,2.4373e+01_rb/) kbo(:, 4,25,14) = (/ & &1.1666e+05_rb,8.7497e+04_rb,5.8331e+04_rb,2.9166e+04_rb,2.3367e+01_rb/) kbo(:, 5,25,14) = (/ & &1.1542e+05_rb,8.6565e+04_rb,5.7710e+04_rb,2.8855e+04_rb,2.2586e+01_rb/) kbo(:, 1,26,14) = (/ & &1.1553e+05_rb,8.6651e+04_rb,5.7768e+04_rb,2.8884e+04_rb,2.8441e+01_rb/) kbo(:, 2,26,14) = (/ & &1.1511e+05_rb,8.6329e+04_rb,5.7553e+04_rb,2.8777e+04_rb,2.7500e+01_rb/) kbo(:, 3,26,14) = (/ & &1.1443e+05_rb,8.5820e+04_rb,5.7213e+04_rb,2.8607e+04_rb,2.6532e+01_rb/) kbo(:, 4,26,14) = (/ & &1.1356e+05_rb,8.5172e+04_rb,5.6781e+04_rb,2.8391e+04_rb,2.5362e+01_rb/) kbo(:, 5,26,14) = (/ & &1.1241e+05_rb,8.4309e+04_rb,5.6206e+04_rb,2.8103e+04_rb,2.4468e+01_rb/) kbo(:, 1,27,14) = (/ & &1.1545e+05_rb,8.6587e+04_rb,5.7725e+04_rb,2.8863e+04_rb,3.0839e+01_rb/) kbo(:, 2,27,14) = (/ & &1.1514e+05_rb,8.6352e+04_rb,5.7568e+04_rb,2.8785e+04_rb,2.9713e+01_rb/) kbo(:, 3,27,14) = (/ & &1.1466e+05_rb,8.5998e+04_rb,5.7332e+04_rb,2.8667e+04_rb,2.8580e+01_rb/) kbo(:, 4,27,14) = (/ & &1.1391e+05_rb,8.5436e+04_rb,5.6958e+04_rb,2.8479e+04_rb,2.7213e+01_rb/) kbo(:, 5,27,14) = (/ & &1.1293e+05_rb,8.4701e+04_rb,5.6467e+04_rb,2.8234e+04_rb,2.6212e+01_rb/) kbo(:, 1,28,14) = (/ & &1.1769e+05_rb,8.8268e+04_rb,5.8845e+04_rb,2.9423e+04_rb,3.3091e+01_rb/) kbo(:, 2,28,14) = (/ & &1.1765e+05_rb,8.8234e+04_rb,5.8823e+04_rb,2.9412e+04_rb,3.1766e+01_rb/) kbo(:, 3,28,14) = (/ & &1.1733e+05_rb,8.7997e+04_rb,5.8665e+04_rb,2.9333e+04_rb,3.0463e+01_rb/) kbo(:, 4,28,14) = (/ & &1.1677e+05_rb,8.7580e+04_rb,5.8387e+04_rb,2.9194e+04_rb,2.8874e+01_rb/) kbo(:, 5,28,14) = (/ & &1.1593e+05_rb,8.6950e+04_rb,5.7967e+04_rb,2.8984e+04_rb,2.7821e+01_rb/) kbo(:, 1,29,14) = (/ & &1.2676e+05_rb,9.5071e+04_rb,6.3381e+04_rb,3.1691e+04_rb,3.5131e+01_rb/) kbo(:, 2,29,14) = (/ & &1.2709e+05_rb,9.5318e+04_rb,6.3545e+04_rb,3.1773e+04_rb,3.3613e+01_rb/) kbo(:, 3,29,14) = (/ & &1.2701e+05_rb,9.5260e+04_rb,6.3507e+04_rb,3.1754e+04_rb,3.1981e+01_rb/) kbo(:, 4,29,14) = (/ & &1.2660e+05_rb,9.4952e+04_rb,6.3301e+04_rb,3.1651e+04_rb,3.0369e+01_rb/) kbo(:, 5,29,14) = (/ & &1.2589e+05_rb,9.4414e+04_rb,6.2943e+04_rb,3.1472e+04_rb,2.9250e+01_rb/) kbo(:, 1,30,14) = (/ & &1.3959e+05_rb,1.0469e+05_rb,6.9793e+04_rb,3.4897e+04_rb,3.6931e+01_rb/) kbo(:, 2,30,14) = (/ & &1.4034e+05_rb,1.0525e+05_rb,7.0169e+04_rb,3.5085e+04_rb,3.5216e+01_rb/) kbo(:, 3,30,14) = (/ & &1.4057e+05_rb,1.0543e+05_rb,7.0285e+04_rb,3.5143e+04_rb,3.3253e+01_rb/) kbo(:, 4,30,14) = (/ & &1.4040e+05_rb,1.0530e+05_rb,7.0200e+04_rb,3.5100e+04_rb,3.1871e+01_rb/) kbo(:, 5,30,14) = (/ & &1.3970e+05_rb,1.0477e+05_rb,6.9850e+04_rb,3.4925e+04_rb,3.0435e+01_rb/) kbo(:, 1,31,14) = (/ & &1.6150e+05_rb,1.2112e+05_rb,8.0748e+04_rb,4.0374e+04_rb,3.8448e+01_rb/) kbo(:, 2,31,14) = (/ & &1.6274e+05_rb,1.2205e+05_rb,8.1369e+04_rb,4.0685e+04_rb,3.6340e+01_rb/) kbo(:, 3,31,14) = (/ & &1.6341e+05_rb,1.2256e+05_rb,8.1707e+04_rb,4.0854e+04_rb,3.4532e+01_rb/) kbo(:, 4,31,14) = (/ & &1.6341e+05_rb,1.2256e+05_rb,8.1706e+04_rb,4.0853e+04_rb,3.3032e+01_rb/) kbo(:, 5,31,14) = (/ & &1.6281e+05_rb,1.2211e+05_rb,8.1407e+04_rb,4.0704e+04_rb,3.1374e+01_rb/) kbo(:, 1,32,14) = (/ & &1.8902e+05_rb,1.4177e+05_rb,9.4511e+04_rb,4.7256e+04_rb,3.9673e+01_rb/) kbo(:, 2,32,14) = (/ & &1.9095e+05_rb,1.4322e+05_rb,9.5478e+04_rb,4.7739e+04_rb,3.7210e+01_rb/) kbo(:, 3,32,14) = (/ & &1.9208e+05_rb,1.4406e+05_rb,9.6041e+04_rb,4.8021e+04_rb,3.5668e+01_rb/) kbo(:, 4,32,14) = (/ & &1.9230e+05_rb,1.4423e+05_rb,9.6153e+04_rb,4.8077e+04_rb,3.3902e+01_rb/) kbo(:, 5,32,14) = (/ & &1.9178e+05_rb,1.4383e+05_rb,9.5890e+04_rb,4.7945e+04_rb,3.1255e+01_rb/) kbo(:, 1,33,14) = (/ & &2.2548e+05_rb,1.6911e+05_rb,1.1274e+05_rb,5.6370e+04_rb,4.0253e+01_rb/) kbo(:, 2,33,14) = (/ & &2.2820e+05_rb,1.7115e+05_rb,1.1410e+05_rb,5.7051e+04_rb,3.8356e+01_rb/) kbo(:, 3,33,14) = (/ & &2.2980e+05_rb,1.7235e+05_rb,1.1490e+05_rb,5.7450e+04_rb,3.6454e+01_rb/) kbo(:, 4,33,14) = (/ & &2.3033e+05_rb,1.7275e+05_rb,1.1517e+05_rb,5.7584e+04_rb,3.3797e+01_rb/) kbo(:, 5,33,14) = (/ & &2.2985e+05_rb,1.7239e+05_rb,1.1492e+05_rb,5.7463e+04_rb,3.1363e+01_rb/) kbo(:, 1,34,14) = (/ & &2.6250e+05_rb,1.9687e+05_rb,1.3125e+05_rb,6.5624e+04_rb,4.1136e+01_rb/) kbo(:, 2,34,14) = (/ & &2.6605e+05_rb,1.9954e+05_rb,1.3302e+05_rb,6.6512e+04_rb,3.9143e+01_rb/) kbo(:, 3,34,14) = (/ & &2.6820e+05_rb,2.0115e+05_rb,1.3410e+05_rb,6.7050e+04_rb,3.6807e+01_rb/) kbo(:, 4,34,14) = (/ & &2.6900e+05_rb,2.0175e+05_rb,1.3450e+05_rb,6.7251e+04_rb,3.3160e+01_rb/) kbo(:, 5,34,14) = (/ & &2.6861e+05_rb,2.0146e+05_rb,1.3431e+05_rb,6.7153e+04_rb,3.1344e+01_rb/) kbo(:, 1,35,14) = (/ & &3.0587e+05_rb,2.2940e+05_rb,1.5293e+05_rb,7.6467e+04_rb,4.2099e+01_rb/) kbo(:, 2,35,14) = (/ & &3.1048e+05_rb,2.3286e+05_rb,1.5524e+05_rb,7.7621e+04_rb,3.9785e+01_rb/) kbo(:, 3,35,14) = (/ & &3.1341e+05_rb,2.3506e+05_rb,1.5670e+05_rb,7.8352e+04_rb,3.6072e+01_rb/) kbo(:, 4,35,14) = (/ & &3.1462e+05_rb,2.3596e+05_rb,1.5731e+05_rb,7.8655e+04_rb,3.3490e+01_rb/) kbo(:, 5,35,14) = (/ & &3.1438e+05_rb,2.3579e+05_rb,1.5719e+05_rb,7.8596e+04_rb,3.1828e+01_rb/) kbo(:, 1,36,14) = (/ & &3.5380e+05_rb,2.6535e+05_rb,1.7690e+05_rb,8.8450e+04_rb,4.2948e+01_rb/) kbo(:, 2,36,14) = (/ & &3.5987e+05_rb,2.6990e+05_rb,1.7993e+05_rb,8.9967e+04_rb,3.9945e+01_rb/) kbo(:, 3,36,14) = (/ & &3.6383e+05_rb,2.7287e+05_rb,1.8191e+05_rb,9.0957e+04_rb,3.5908e+01_rb/) kbo(:, 4,36,14) = (/ & &3.6571e+05_rb,2.7429e+05_rb,1.8286e+05_rb,9.1429e+04_rb,3.3881e+01_rb/) kbo(:, 5,36,14) = (/ & &3.6576e+05_rb,2.7432e+05_rb,1.8288e+05_rb,9.1441e+04_rb,3.2580e+01_rb/) kbo(:, 1,37,14) = (/ & &3.9789e+05_rb,2.9842e+05_rb,1.9894e+05_rb,9.9472e+04_rb,4.3924e+01_rb/) kbo(:, 2,37,14) = (/ & &4.0582e+05_rb,3.0436e+05_rb,2.0291e+05_rb,1.0145e+05_rb,4.0613e+01_rb/) kbo(:, 3,37,14) = (/ & &4.1126e+05_rb,3.0845e+05_rb,2.0563e+05_rb,1.0282e+05_rb,3.6440e+01_rb/) kbo(:, 4,37,14) = (/ & &4.1422e+05_rb,3.1066e+05_rb,2.0711e+05_rb,1.0355e+05_rb,3.4966e+01_rb/) kbo(:, 5,37,14) = (/ & &4.1491e+05_rb,3.1118e+05_rb,2.0745e+05_rb,1.0373e+05_rb,3.3736e+01_rb/) kbo(:, 1,38,14) = (/ & &4.5404e+05_rb,3.4053e+05_rb,2.2702e+05_rb,1.1351e+05_rb,4.4908e+01_rb/) kbo(:, 2,38,14) = (/ & &4.6441e+05_rb,3.4830e+05_rb,2.3220e+05_rb,1.1610e+05_rb,4.0968e+01_rb/) kbo(:, 3,38,14) = (/ & &4.7167e+05_rb,3.5375e+05_rb,2.3583e+05_rb,1.1792e+05_rb,3.7185e+01_rb/) kbo(:, 4,38,14) = (/ & &4.7591e+05_rb,3.5693e+05_rb,2.3796e+05_rb,1.1898e+05_rb,3.5958e+01_rb/) kbo(:, 5,38,14) = (/ & &4.7747e+05_rb,3.5810e+05_rb,2.3873e+05_rb,1.1937e+05_rb,3.4345e+01_rb/) kbo(:, 1,39,14) = (/ & &5.3006e+05_rb,3.9755e+05_rb,2.6503e+05_rb,1.3252e+05_rb,4.5571e+01_rb/) kbo(:, 2,39,14) = (/ & &5.4370e+05_rb,4.0778e+05_rb,2.7185e+05_rb,1.3593e+05_rb,4.1350e+01_rb/) kbo(:, 3,39,14) = (/ & &5.5324e+05_rb,4.1494e+05_rb,2.7663e+05_rb,1.3831e+05_rb,3.8461e+01_rb/) kbo(:, 4,39,14) = (/ & &5.5931e+05_rb,4.1948e+05_rb,2.7966e+05_rb,1.3983e+05_rb,3.7172e+01_rb/) kbo(:, 5,39,14) = (/ & &5.6198e+05_rb,4.2149e+05_rb,2.8099e+05_rb,1.4050e+05_rb,3.5387e+01_rb/) kbo(:, 1,40,14) = (/ & &5.7962e+05_rb,4.3471e+05_rb,2.8981e+05_rb,1.4490e+05_rb,4.6708e+01_rb/) kbo(:, 2,40,14) = (/ & &5.9661e+05_rb,4.4745e+05_rb,2.9830e+05_rb,1.4915e+05_rb,4.2510e+01_rb/) kbo(:, 3,40,14) = (/ & &6.0879e+05_rb,4.5659e+05_rb,3.0439e+05_rb,1.5220e+05_rb,3.9273e+01_rb/) kbo(:, 4,40,14) = (/ & &6.1695e+05_rb,4.6271e+05_rb,3.0847e+05_rb,1.5424e+05_rb,3.8101e+01_rb/) kbo(:, 5,40,14) = (/ & &6.2122e+05_rb,4.6592e+05_rb,3.1061e+05_rb,1.5530e+05_rb,3.6493e+01_rb/) kbo(:, 1,41,14) = (/ & &6.3170e+05_rb,4.7378e+05_rb,3.1585e+05_rb,1.5793e+05_rb,4.7871e+01_rb/) kbo(:, 2,41,14) = (/ & &6.5265e+05_rb,4.8949e+05_rb,3.2633e+05_rb,1.6317e+05_rb,4.3729e+01_rb/) kbo(:, 3,41,14) = (/ & &6.6799e+05_rb,5.0099e+05_rb,3.3400e+05_rb,1.6700e+05_rb,4.0263e+01_rb/) kbo(:, 4,41,14) = (/ & &6.7856e+05_rb,5.0892e+05_rb,3.3928e+05_rb,1.6964e+05_rb,3.8971e+01_rb/) kbo(:, 5,41,14) = (/ & &6.8482e+05_rb,5.1361e+05_rb,3.4241e+05_rb,1.7121e+05_rb,3.7519e+01_rb/) kbo(:, 1,42,14) = (/ & &6.9554e+05_rb,5.2166e+05_rb,3.4777e+05_rb,1.7388e+05_rb,4.9144e+01_rb/) kbo(:, 2,42,14) = (/ & &7.2122e+05_rb,5.4091e+05_rb,3.6061e+05_rb,1.8030e+05_rb,4.4903e+01_rb/) kbo(:, 3,42,14) = (/ & &7.4054e+05_rb,5.5540e+05_rb,3.7027e+05_rb,1.8513e+05_rb,4.1239e+01_rb/) kbo(:, 4,42,14) = (/ & &7.5407e+05_rb,5.6555e+05_rb,3.7703e+05_rb,1.8852e+05_rb,4.0019e+01_rb/) kbo(:, 5,42,14) = (/ & &7.6271e+05_rb,5.7203e+05_rb,3.8135e+05_rb,1.9067e+05_rb,3.8545e+01_rb/) kbo(:, 1,43,14) = (/ & &7.7014e+05_rb,5.7761e+05_rb,3.8508e+05_rb,1.9254e+05_rb,5.0575e+01_rb/) kbo(:, 2,43,14) = (/ & &8.0215e+05_rb,6.0161e+05_rb,4.0108e+05_rb,2.0054e+05_rb,4.6180e+01_rb/) kbo(:, 3,43,14) = (/ & &8.2687e+05_rb,6.2015e+05_rb,4.1344e+05_rb,2.0672e+05_rb,4.2529e+01_rb/) kbo(:, 4,43,14) = (/ & &8.4441e+05_rb,6.3331e+05_rb,4.2221e+05_rb,2.1110e+05_rb,4.0958e+01_rb/) kbo(:, 5,43,14) = (/ & &8.5614e+05_rb,6.4211e+05_rb,4.2807e+05_rb,2.1404e+05_rb,3.9632e+01_rb/) kbo(:, 1,44,14) = (/ & &8.6239e+05_rb,6.4679e+05_rb,4.3119e+05_rb,2.1559e+05_rb,5.2080e+01_rb/) kbo(:, 2,44,14) = (/ & &9.0261e+05_rb,6.7696e+05_rb,4.5130e+05_rb,2.2565e+05_rb,4.7569e+01_rb/) kbo(:, 3,44,14) = (/ & &9.3442e+05_rb,7.0081e+05_rb,4.6721e+05_rb,2.3360e+05_rb,4.3904e+01_rb/) kbo(:, 4,44,14) = (/ & &9.5755e+05_rb,7.1816e+05_rb,4.7877e+05_rb,2.3938e+05_rb,4.2000e+01_rb/) kbo(:, 5,44,14) = (/ & &9.7341e+05_rb,7.3005e+05_rb,4.8670e+05_rb,2.4335e+05_rb,4.0861e+01_rb/) kbo(:, 1,45,14) = (/ & &9.8377e+05_rb,7.3783e+05_rb,4.9189e+05_rb,2.4594e+05_rb,5.3464e+01_rb/) kbo(:, 2,45,14) = (/ & &1.0352e+06_rb,7.7641e+05_rb,5.1760e+05_rb,2.5880e+05_rb,4.8989e+01_rb/) kbo(:, 3,45,14) = (/ & &1.0762e+06_rb,8.0713e+05_rb,5.3809e+05_rb,2.6904e+05_rb,4.5355e+01_rb/) kbo(:, 4,45,14) = (/ & &1.1070e+06_rb,8.3023e+05_rb,5.5349e+05_rb,2.7674e+05_rb,4.3217e+01_rb/) kbo(:, 5,45,14) = (/ & &1.1287e+06_rb,8.4649e+05_rb,5.6433e+05_rb,2.8216e+05_rb,4.1953e+01_rb/) kbo(:, 1,46,14) = (/ & &1.1307e+06_rb,8.4801e+05_rb,5.6534e+05_rb,2.8267e+05_rb,5.4903e+01_rb/) kbo(:, 2,46,14) = (/ & &1.1967e+06_rb,8.9750e+05_rb,5.9834e+05_rb,2.9917e+05_rb,5.0473e+01_rb/) kbo(:, 3,46,14) = (/ & &1.2497e+06_rb,9.3728e+05_rb,6.2485e+05_rb,3.1243e+05_rb,4.7017e+01_rb/) kbo(:, 4,46,14) = (/ & &1.2910e+06_rb,9.6823e+05_rb,6.4549e+05_rb,3.2274e+05_rb,4.4343e+01_rb/) kbo(:, 5,46,14) = (/ & &1.3205e+06_rb,9.9037e+05_rb,6.6025e+05_rb,3.3012e+05_rb,4.3085e+01_rb/) kbo(:, 1,47,14) = (/ & &1.2818e+06_rb,9.6133e+05_rb,6.4089e+05_rb,3.2045e+05_rb,5.6436e+01_rb/) kbo(:, 2,47,14) = (/ & &1.3655e+06_rb,1.0241e+06_rb,6.8273e+05_rb,3.4137e+05_rb,5.2412e+01_rb/) kbo(:, 3,47,14) = (/ & &1.4341e+06_rb,1.0756e+06_rb,7.1708e+05_rb,3.5854e+05_rb,4.8254e+01_rb/) kbo(:, 4,47,14) = (/ & &1.4885e+06_rb,1.1164e+06_rb,7.4427e+05_rb,3.7214e+05_rb,4.5497e+01_rb/) kbo(:, 5,47,14) = (/ & &1.5285e+06_rb,1.1464e+06_rb,7.6425e+05_rb,3.8213e+05_rb,4.4276e+01_rb/) kbo(:, 1,48,14) = (/ & &1.4912e+06_rb,1.1184e+06_rb,7.4558e+05_rb,3.7279e+05_rb,5.8070e+01_rb/) kbo(:, 2,48,14) = (/ & &1.5992e+06_rb,1.1994e+06_rb,7.9959e+05_rb,3.9979e+05_rb,5.4067e+01_rb/) kbo(:, 3,48,14) = (/ & &1.6898e+06_rb,1.2674e+06_rb,8.4492e+05_rb,4.2246e+05_rb,5.0095e+01_rb/) kbo(:, 4,48,14) = (/ & &1.7626e+06_rb,1.3220e+06_rb,8.8132e+05_rb,4.4066e+05_rb,4.6945e+01_rb/) kbo(:, 5,48,14) = (/ & &1.8180e+06_rb,1.3635e+06_rb,9.0900e+05_rb,4.5450e+05_rb,4.5438e+01_rb/) kbo(:, 1,49,14) = (/ & &1.8033e+06_rb,1.3525e+06_rb,9.0165e+05_rb,4.5083e+05_rb,5.9742e+01_rb/) kbo(:, 2,49,14) = (/ & &1.9472e+06_rb,1.4604e+06_rb,9.7361e+05_rb,4.8680e+05_rb,5.5654e+01_rb/) kbo(:, 3,49,14) = (/ & &2.0706e+06_rb,1.5529e+06_rb,1.0353e+06_rb,5.1764e+05_rb,5.1796e+01_rb/) kbo(:, 4,49,14) = (/ & &2.1711e+06_rb,1.6283e+06_rb,1.0855e+06_rb,5.4277e+05_rb,4.8429e+01_rb/) kbo(:, 5,49,14) = (/ & &2.2497e+06_rb,1.6872e+06_rb,1.1248e+06_rb,5.6241e+05_rb,4.6805e+01_rb/) kbo(:, 1,50,14) = (/ & &2.0759e+06_rb,1.5569e+06_rb,1.0379e+06_rb,5.1897e+05_rb,6.1720e+01_rb/) kbo(:, 2,50,14) = (/ & &2.2580e+06_rb,1.6935e+06_rb,1.1290e+06_rb,5.6451e+05_rb,5.7265e+01_rb/) kbo(:, 3,50,14) = (/ & &2.4154e+06_rb,1.8116e+06_rb,1.2077e+06_rb,6.0386e+05_rb,5.3335e+01_rb/) kbo(:, 4,50,14) = (/ & &2.5463e+06_rb,1.9097e+06_rb,1.2731e+06_rb,6.3657e+05_rb,5.0026e+01_rb/) kbo(:, 5,50,14) = (/ & &2.6508e+06_rb,1.9881e+06_rb,1.3254e+06_rb,6.6270e+05_rb,4.7879e+01_rb/) kbo(:, 1,51,14) = (/ & &2.3343e+06_rb,1.7507e+06_rb,1.1671e+06_rb,5.8357e+05_rb,6.3629e+01_rb/) kbo(:, 2,51,14) = (/ & &2.5583e+06_rb,1.9187e+06_rb,1.2791e+06_rb,6.3957e+05_rb,5.8823e+01_rb/) kbo(:, 3,51,14) = (/ & &2.7536e+06_rb,2.0652e+06_rb,1.3768e+06_rb,6.8840e+05_rb,5.4830e+01_rb/) kbo(:, 4,51,14) = (/ & &2.9192e+06_rb,2.1894e+06_rb,1.4596e+06_rb,7.2979e+05_rb,5.1797e+01_rb/) kbo(:, 5,51,14) = (/ & &3.0520e+06_rb,2.2890e+06_rb,1.5260e+06_rb,7.6300e+05_rb,4.8739e+01_rb/) kbo(:, 1,52,14) = (/ & &2.6927e+06_rb,2.0196e+06_rb,1.3464e+06_rb,6.7319e+05_rb,6.5473e+01_rb/) kbo(:, 2,52,14) = (/ & &2.9755e+06_rb,2.2317e+06_rb,1.4878e+06_rb,7.4389e+05_rb,6.0202e+01_rb/) kbo(:, 3,52,14) = (/ & &3.2232e+06_rb,2.4174e+06_rb,1.6116e+06_rb,8.0581e+05_rb,5.6406e+01_rb/) kbo(:, 4,52,14) = (/ & &3.4356e+06_rb,2.5767e+06_rb,1.7178e+06_rb,8.5891e+05_rb,5.3338e+01_rb/) kbo(:, 5,52,14) = (/ & &3.6105e+06_rb,2.7079e+06_rb,1.8053e+06_rb,9.0264e+05_rb,4.9535e+01_rb/) kbo(:, 1,53,14) = (/ & &3.2282e+06_rb,2.4212e+06_rb,1.6141e+06_rb,8.0707e+05_rb,6.7136e+01_rb/) kbo(:, 2,53,14) = (/ & &3.5968e+06_rb,2.6976e+06_rb,1.7984e+06_rb,8.9921e+05_rb,6.1503e+01_rb/) kbo(:, 3,53,14) = (/ & &3.9238e+06_rb,2.9429e+06_rb,1.9619e+06_rb,9.8097e+05_rb,5.8062e+01_rb/) kbo(:, 4,53,14) = (/ & &4.2071e+06_rb,3.1553e+06_rb,2.1035e+06_rb,1.0518e+06_rb,5.4982e+01_rb/) kbo(:, 5,53,14) = (/ & &4.4446e+06_rb,3.3334e+06_rb,2.2223e+06_rb,1.1112e+06_rb,5.0414e+01_rb/) kbo(:, 1,54,14) = (/ & &3.3478e+06_rb,2.5109e+06_rb,1.6739e+06_rb,8.3696e+05_rb,6.8647e+01_rb/) kbo(:, 2,54,14) = (/ & &3.7598e+06_rb,2.8199e+06_rb,1.8799e+06_rb,9.3996e+05_rb,6.3327e+01_rb/) kbo(:, 3,54,14) = (/ & &4.1308e+06_rb,3.0981e+06_rb,2.0654e+06_rb,1.0327e+06_rb,5.9705e+01_rb/) kbo(:, 4,54,14) = (/ & &4.4534e+06_rb,3.3401e+06_rb,2.2267e+06_rb,1.1134e+06_rb,5.5841e+01_rb/) kbo(:, 5,54,14) = (/ & &4.7287e+06_rb,3.5465e+06_rb,2.3644e+06_rb,1.1822e+06_rb,5.1312e+01_rb/) kbo(:, 1,55,14) = (/ & &3.1636e+06_rb,2.3727e+06_rb,1.5818e+06_rb,7.9090e+05_rb,6.9800e+01_rb/) kbo(:, 2,55,14) = (/ & &3.5827e+06_rb,2.6870e+06_rb,1.7914e+06_rb,8.9569e+05_rb,6.5650e+01_rb/) kbo(:, 3,55,14) = (/ & &3.9638e+06_rb,2.9728e+06_rb,1.9819e+06_rb,9.9095e+05_rb,6.0566e+01_rb/) kbo(:, 4,55,14) = (/ & &4.2985e+06_rb,3.2239e+06_rb,2.1493e+06_rb,1.0746e+06_rb,5.6657e+01_rb/) kbo(:, 5,55,14) = (/ & &4.5858e+06_rb,3.4394e+06_rb,2.2929e+06_rb,1.1465e+06_rb,5.3531e+01_rb/) kbo(:, 1,56,14) = (/ & &2.9822e+06_rb,2.2367e+06_rb,1.4911e+06_rb,7.4555e+05_rb,7.1031e+01_rb/) kbo(:, 2,56,14) = (/ & &3.4067e+06_rb,2.5550e+06_rb,1.7033e+06_rb,8.5166e+05_rb,6.7133e+01_rb/) kbo(:, 3,56,14) = (/ & &3.7967e+06_rb,2.8475e+06_rb,1.8983e+06_rb,9.4915e+05_rb,6.1784e+01_rb/) kbo(:, 4,56,14) = (/ & &4.1424e+06_rb,3.1068e+06_rb,2.0712e+06_rb,1.0356e+06_rb,5.8142e+01_rb/) kbo(:, 5,56,14) = (/ & &4.4422e+06_rb,3.3317e+06_rb,2.2211e+06_rb,1.1105e+06_rb,5.4348e+01_rb/) kbo(:, 1,57,14) = (/ & &2.8003e+06_rb,2.1002e+06_rb,1.4001e+06_rb,7.0006e+05_rb,7.2686e+01_rb/) kbo(:, 2,57,14) = (/ & &3.2322e+06_rb,2.4241e+06_rb,1.6161e+06_rb,8.0804e+05_rb,6.8121e+01_rb/) kbo(:, 3,57,14) = (/ & &3.6290e+06_rb,2.7217e+06_rb,1.8145e+06_rb,9.0724e+05_rb,6.3933e+01_rb/) kbo(:, 4,57,14) = (/ & &3.9857e+06_rb,2.9893e+06_rb,1.9928e+06_rb,9.9642e+05_rb,5.9242e+01_rb/) kbo(:, 5,57,14) = (/ & &4.2966e+06_rb,3.2224e+06_rb,2.1482e+06_rb,1.0741e+06_rb,5.5180e+01_rb/) kbo(:, 1,58,14) = (/ & &6.9277e+05_rb,6.3516e+05_rb,5.4460e+05_rb,3.8143e+05_rb,7.4521e+01_rb/) kbo(:, 2,58,14) = (/ & &8.0841e+05_rb,7.4119e+05_rb,6.3550e+05_rb,4.4510e+05_rb,6.9466e+01_rb/) kbo(:, 3,58,14) = (/ & &9.1451e+05_rb,8.3847e+05_rb,7.1891e+05_rb,5.0352e+05_rb,6.5445e+01_rb/) kbo(:, 4,58,14) = (/ & &1.0112e+06_rb,9.2715e+05_rb,7.9494e+05_rb,5.5677e+05_rb,6.0252e+01_rb/) kbo(:, 5,58,14) = (/ & &1.0957e+06_rb,1.0046e+06_rb,8.6135e+05_rb,6.0328e+05_rb,5.6261e+01_rb/) kbo(:, 1,59,14) = (/ & &7.9105e+05_rb,6.9072e+05_rb,5.5096e+05_rb,3.4284e+05_rb,7.5082e+01_rb/) kbo(:, 2,59,14) = (/ & &9.2759e+05_rb,8.0994e+05_rb,6.4605e+05_rb,4.0201e+05_rb,7.0591e+01_rb/) kbo(:, 3,59,14) = (/ & &1.0529e+06_rb,9.1931e+05_rb,7.3330e+05_rb,4.5630e+05_rb,6.5689e+01_rb/) kbo(:, 4,59,14) = (/ & &1.1673e+06_rb,1.0193e+06_rb,8.1302e+05_rb,5.0591e+05_rb,6.1427e+01_rb/) kbo(:, 5,59,14) = (/ & &1.2680e+06_rb,1.1071e+06_rb,8.8311e+05_rb,5.4953e+05_rb,5.7108e+01_rb/) kbo(:, 1,13,15) = (/ & &6.8853e+05_rb,5.1640e+05_rb,3.4427e+05_rb,1.7213e+05_rb,8.3646e+00_rb/) kbo(:, 2,13,15) = (/ & &6.7841e+05_rb,5.0881e+05_rb,3.3921e+05_rb,1.6961e+05_rb,8.1557e+00_rb/) kbo(:, 3,13,15) = (/ & &6.7058e+05_rb,5.0293e+05_rb,3.3529e+05_rb,1.6765e+05_rb,7.2355e+00_rb/) kbo(:, 4,13,15) = (/ & &6.6505e+05_rb,4.9879e+05_rb,3.3253e+05_rb,1.6627e+05_rb,7.1104e+00_rb/) kbo(:, 5,13,15) = (/ & &6.5977e+05_rb,4.9483e+05_rb,3.2989e+05_rb,1.6494e+05_rb,5.0356e+00_rb/) kbo(:, 1,14,15) = (/ & &4.8859e+05_rb,3.6644e+05_rb,2.4429e+05_rb,1.2215e+05_rb,9.3416e+00_rb/) kbo(:, 2,14,15) = (/ & &4.8530e+05_rb,3.6397e+05_rb,2.4265e+05_rb,1.2132e+05_rb,9.0997e+00_rb/) kbo(:, 3,14,15) = (/ & &4.8323e+05_rb,3.6243e+05_rb,2.4161e+05_rb,1.2081e+05_rb,8.4842e+00_rb/) kbo(:, 4,14,15) = (/ & &4.8076e+05_rb,3.6057e+05_rb,2.4038e+05_rb,1.2019e+05_rb,8.2141e+00_rb/) kbo(:, 5,14,15) = (/ & &4.7824e+05_rb,3.5868e+05_rb,2.3912e+05_rb,1.1956e+05_rb,7.9624e+00_rb/) kbo(:, 1,15,15) = (/ & &3.5725e+05_rb,2.6794e+05_rb,1.7863e+05_rb,8.9315e+04_rb,1.0416e+01_rb/) kbo(:, 2,15,15) = (/ & &3.5701e+05_rb,2.6776e+05_rb,1.7851e+05_rb,8.9255e+04_rb,1.0132e+01_rb/) kbo(:, 3,15,15) = (/ & &3.5620e+05_rb,2.6715e+05_rb,1.7810e+05_rb,8.9053e+04_rb,9.8342e+00_rb/) kbo(:, 4,15,15) = (/ & &3.5534e+05_rb,2.6651e+05_rb,1.7767e+05_rb,8.8838e+04_rb,8.7353e+00_rb/) kbo(:, 5,15,15) = (/ & &3.5411e+05_rb,2.6559e+05_rb,1.7706e+05_rb,8.8531e+04_rb,9.0528e+00_rb/) kbo(:, 1,16,15) = (/ & &3.1303e+05_rb,2.3478e+05_rb,1.5652e+05_rb,7.8260e+04_rb,1.1678e+01_rb/) kbo(:, 2,16,15) = (/ & &3.1296e+05_rb,2.3472e+05_rb,1.5648e+05_rb,7.8243e+04_rb,1.1373e+01_rb/) kbo(:, 3,16,15) = (/ & &3.1311e+05_rb,2.3483e+05_rb,1.5655e+05_rb,7.8278e+04_rb,1.1063e+01_rb/) kbo(:, 4,16,15) = (/ & &3.1270e+05_rb,2.3452e+05_rb,1.5635e+05_rb,7.8176e+04_rb,1.0185e+01_rb/) kbo(:, 5,16,15) = (/ & &3.1216e+05_rb,2.3412e+05_rb,1.5608e+05_rb,7.8040e+04_rb,1.0166e+01_rb/) kbo(:, 1,17,15) = (/ & &2.8440e+05_rb,2.1330e+05_rb,1.4220e+05_rb,7.1101e+04_rb,1.3334e+01_rb/) kbo(:, 2,17,15) = (/ & &2.8479e+05_rb,2.1359e+05_rb,1.4240e+05_rb,7.1199e+04_rb,1.2996e+01_rb/) kbo(:, 3,17,15) = (/ & &2.8480e+05_rb,2.1360e+05_rb,1.4240e+05_rb,7.1202e+04_rb,1.2651e+01_rb/) kbo(:, 4,17,15) = (/ & &2.8481e+05_rb,2.1361e+05_rb,1.4240e+05_rb,7.1203e+04_rb,1.1964e+01_rb/) kbo(:, 5,17,15) = (/ & &2.8402e+05_rb,2.1301e+05_rb,1.4201e+05_rb,7.1006e+04_rb,1.1649e+01_rb/) kbo(:, 1,18,15) = (/ & &2.6460e+05_rb,1.9845e+05_rb,1.3230e+05_rb,6.6150e+04_rb,1.5350e+01_rb/) kbo(:, 2,18,15) = (/ & &2.6490e+05_rb,1.9868e+05_rb,1.3245e+05_rb,6.6227e+04_rb,1.4954e+01_rb/) kbo(:, 3,18,15) = (/ & &2.6505e+05_rb,1.9879e+05_rb,1.3252e+05_rb,6.6263e+04_rb,1.4553e+01_rb/) kbo(:, 4,18,15) = (/ & &2.6448e+05_rb,1.9836e+05_rb,1.3224e+05_rb,6.6121e+04_rb,1.4057e+01_rb/) kbo(:, 5,18,15) = (/ & &2.6357e+05_rb,1.9768e+05_rb,1.3179e+05_rb,6.5894e+04_rb,1.3341e+01_rb/) kbo(:, 1,19,15) = (/ & &2.4108e+05_rb,1.8081e+05_rb,1.2054e+05_rb,6.0272e+04_rb,1.7626e+01_rb/) kbo(:, 2,19,15) = (/ & &2.4160e+05_rb,1.8120e+05_rb,1.2080e+05_rb,6.0400e+04_rb,1.7162e+01_rb/) kbo(:, 3,19,15) = (/ & &2.4138e+05_rb,1.8103e+05_rb,1.2069e+05_rb,6.0347e+04_rb,1.6660e+01_rb/) kbo(:, 4,19,15) = (/ & &2.4078e+05_rb,1.8058e+05_rb,1.2039e+05_rb,6.0195e+04_rb,1.6133e+01_rb/) kbo(:, 5,19,15) = (/ & &2.3956e+05_rb,1.7967e+05_rb,1.1978e+05_rb,5.9892e+04_rb,1.5032e+01_rb/) kbo(:, 1,20,15) = (/ & &2.3801e+05_rb,1.7851e+05_rb,1.1901e+05_rb,5.9503e+04_rb,2.0107e+01_rb/) kbo(:, 2,20,15) = (/ & &2.3824e+05_rb,1.7868e+05_rb,1.1912e+05_rb,5.9560e+04_rb,1.9545e+01_rb/) kbo(:, 3,20,15) = (/ & &2.3790e+05_rb,1.7842e+05_rb,1.1895e+05_rb,5.9475e+04_rb,1.8935e+01_rb/) kbo(:, 4,20,15) = (/ & &2.3694e+05_rb,1.7770e+05_rb,1.1847e+05_rb,5.9235e+04_rb,1.8318e+01_rb/) kbo(:, 5,20,15) = (/ & &2.3546e+05_rb,1.7659e+05_rb,1.1773e+05_rb,5.8866e+04_rb,1.6971e+01_rb/) kbo(:, 1,21,15) = (/ & &2.4153e+05_rb,1.8115e+05_rb,1.2077e+05_rb,6.0385e+04_rb,2.2844e+01_rb/) kbo(:, 2,21,15) = (/ & &2.4153e+05_rb,1.8115e+05_rb,1.2076e+05_rb,6.0383e+04_rb,2.2202e+01_rb/) kbo(:, 3,21,15) = (/ & &2.4090e+05_rb,1.8068e+05_rb,1.2045e+05_rb,6.0226e+04_rb,2.1535e+01_rb/) kbo(:, 4,21,15) = (/ & &2.3957e+05_rb,1.7968e+05_rb,1.1978e+05_rb,5.9893e+04_rb,2.0842e+01_rb/) kbo(:, 5,21,15) = (/ & &2.3762e+05_rb,1.7822e+05_rb,1.1881e+05_rb,5.9406e+04_rb,1.9479e+01_rb/) kbo(:, 1,22,15) = (/ & &2.5014e+05_rb,1.8760e+05_rb,1.2507e+05_rb,6.2536e+04_rb,2.6039e+01_rb/) kbo(:, 2,22,15) = (/ & &2.4958e+05_rb,1.8719e+05_rb,1.2479e+05_rb,6.2397e+04_rb,2.5280e+01_rb/) kbo(:, 3,22,15) = (/ & &2.4838e+05_rb,1.8628e+05_rb,1.2419e+05_rb,6.2096e+04_rb,2.4490e+01_rb/) kbo(:, 4,22,15) = (/ & &2.4655e+05_rb,1.8492e+05_rb,1.2328e+05_rb,6.1639e+04_rb,2.3671e+01_rb/) kbo(:, 5,22,15) = (/ & &2.4402e+05_rb,1.8302e+05_rb,1.2201e+05_rb,6.1006e+04_rb,2.2182e+01_rb/) kbo(:, 1,23,15) = (/ & &2.5892e+05_rb,1.9419e+05_rb,1.2946e+05_rb,6.4730e+04_rb,2.9635e+01_rb/) kbo(:, 2,23,15) = (/ & &2.5767e+05_rb,1.9325e+05_rb,1.2883e+05_rb,6.4418e+04_rb,2.8708e+01_rb/) kbo(:, 3,23,15) = (/ & &2.5584e+05_rb,1.9188e+05_rb,1.2792e+05_rb,6.3960e+04_rb,2.7743e+01_rb/) kbo(:, 4,23,15) = (/ & &2.5321e+05_rb,1.8991e+05_rb,1.2660e+05_rb,6.3303e+04_rb,2.6764e+01_rb/) kbo(:, 5,23,15) = (/ & &2.5010e+05_rb,1.8758e+05_rb,1.2505e+05_rb,6.2526e+04_rb,2.5122e+01_rb/) kbo(:, 1,24,15) = (/ & &2.6502e+05_rb,1.9877e+05_rb,1.3251e+05_rb,6.6257e+04_rb,3.3543e+01_rb/) kbo(:, 2,24,15) = (/ & &2.6308e+05_rb,1.9731e+05_rb,1.3154e+05_rb,6.5771e+04_rb,3.2390e+01_rb/) kbo(:, 3,24,15) = (/ & &2.6033e+05_rb,1.9524e+05_rb,1.3016e+05_rb,6.5082e+04_rb,3.1202e+01_rb/) kbo(:, 4,24,15) = (/ & &2.5704e+05_rb,1.9278e+05_rb,1.2852e+05_rb,6.4262e+04_rb,3.0027e+01_rb/) kbo(:, 5,24,15) = (/ & &2.5313e+05_rb,1.8984e+05_rb,1.2656e+05_rb,6.3282e+04_rb,2.8238e+01_rb/) kbo(:, 1,25,15) = (/ & &2.7306e+05_rb,2.0480e+05_rb,1.3653e+05_rb,6.8266e+04_rb,3.7656e+01_rb/) kbo(:, 2,25,15) = (/ & &2.7003e+05_rb,2.0252e+05_rb,1.3501e+05_rb,6.7507e+04_rb,3.6233e+01_rb/) kbo(:, 3,25,15) = (/ & &2.6644e+05_rb,1.9983e+05_rb,1.3322e+05_rb,6.6611e+04_rb,3.4804e+01_rb/) kbo(:, 4,25,15) = (/ & &2.6230e+05_rb,1.9672e+05_rb,1.3115e+05_rb,6.5574e+04_rb,3.3361e+01_rb/) kbo(:, 5,25,15) = (/ & &2.5745e+05_rb,1.9309e+05_rb,1.2873e+05_rb,6.4363e+04_rb,3.1338e+01_rb/) kbo(:, 1,26,15) = (/ & &2.8347e+05_rb,2.1261e+05_rb,1.4174e+05_rb,7.0869e+04_rb,4.1820e+01_rb/) kbo(:, 2,26,15) = (/ & &2.7951e+05_rb,2.0963e+05_rb,1.3976e+05_rb,6.9878e+04_rb,4.0076e+01_rb/) kbo(:, 3,26,15) = (/ & &2.7489e+05_rb,2.0617e+05_rb,1.3745e+05_rb,6.8723e+04_rb,3.8351e+01_rb/) kbo(:, 4,26,15) = (/ & &2.6958e+05_rb,2.0219e+05_rb,1.3479e+05_rb,6.7396e+04_rb,3.6631e+01_rb/) kbo(:, 5,26,15) = (/ & &2.6383e+05_rb,1.9788e+05_rb,1.3192e+05_rb,6.5959e+04_rb,3.4286e+01_rb/) kbo(:, 1,27,15) = (/ & &3.0277e+05_rb,2.2708e+05_rb,1.5139e+05_rb,7.5694e+04_rb,4.5895e+01_rb/) kbo(:, 2,27,15) = (/ & &2.9771e+05_rb,2.2329e+05_rb,1.4886e+05_rb,7.4429e+04_rb,4.3819e+01_rb/) kbo(:, 3,27,15) = (/ & &2.9175e+05_rb,2.1881e+05_rb,1.4587e+05_rb,7.2938e+04_rb,4.1746e+01_rb/) kbo(:, 4,27,15) = (/ & &2.8521e+05_rb,2.1391e+05_rb,1.4261e+05_rb,7.1304e+04_rb,3.9720e+01_rb/) kbo(:, 5,27,15) = (/ & &2.7826e+05_rb,2.0870e+05_rb,1.3913e+05_rb,6.9566e+04_rb,3.6964e+01_rb/) kbo(:, 1,28,15) = (/ & &3.2897e+05_rb,2.4673e+05_rb,1.6449e+05_rb,8.2243e+04_rb,4.9767e+01_rb/) kbo(:, 2,28,15) = (/ & &3.2244e+05_rb,2.4183e+05_rb,1.6122e+05_rb,8.0610e+04_rb,4.7309e+01_rb/) kbo(:, 3,28,15) = (/ & &3.1503e+05_rb,2.3628e+05_rb,1.5752e+05_rb,7.8759e+04_rb,4.4889e+01_rb/) kbo(:, 4,28,15) = (/ & &3.0709e+05_rb,2.3032e+05_rb,1.5355e+05_rb,7.6774e+04_rb,4.2541e+01_rb/) kbo(:, 5,28,15) = (/ & &2.9858e+05_rb,2.2393e+05_rb,1.4929e+05_rb,7.4645e+04_rb,3.9310e+01_rb/) kbo(:, 1,29,15) = (/ & &3.7585e+05_rb,2.8188e+05_rb,1.8792e+05_rb,9.3962e+04_rb,5.3281e+01_rb/) kbo(:, 2,29,15) = (/ & &3.6712e+05_rb,2.7534e+05_rb,1.8356e+05_rb,9.1780e+04_rb,5.0424e+01_rb/) kbo(:, 3,29,15) = (/ & &3.5767e+05_rb,2.6826e+05_rb,1.7884e+05_rb,8.9419e+04_rb,4.7662e+01_rb/) kbo(:, 4,29,15) = (/ & &3.4765e+05_rb,2.6073e+05_rb,1.7382e+05_rb,8.6912e+04_rb,4.4800e+01_rb/) kbo(:, 5,29,15) = (/ & &3.3714e+05_rb,2.5285e+05_rb,1.6857e+05_rb,8.4284e+04_rb,4.1166e+01_rb/) kbo(:, 1,30,15) = (/ & &4.3604e+05_rb,3.2703e+05_rb,2.1802e+05_rb,1.0901e+05_rb,5.6346e+01_rb/) kbo(:, 2,30,15) = (/ & &4.2462e+05_rb,3.1847e+05_rb,2.1231e+05_rb,1.0616e+05_rb,5.3119e+01_rb/) kbo(:, 3,30,15) = (/ & &4.1259e+05_rb,3.0944e+05_rb,2.0629e+05_rb,1.0315e+05_rb,5.0028e+01_rb/) kbo(:, 4,30,15) = (/ & &3.9989e+05_rb,2.9992e+05_rb,1.9995e+05_rb,9.9973e+04_rb,4.6067e+01_rb/) kbo(:, 5,30,15) = (/ & &3.8696e+05_rb,2.9022e+05_rb,1.9348e+05_rb,9.6741e+04_rb,4.3622e+01_rb/) kbo(:, 1,31,15) = (/ & &5.2737e+05_rb,3.9553e+05_rb,2.6369e+05_rb,1.3184e+05_rb,5.8898e+01_rb/) kbo(:, 2,31,15) = (/ & &5.1226e+05_rb,3.8420e+05_rb,2.5613e+05_rb,1.2807e+05_rb,5.5332e+01_rb/) kbo(:, 3,31,15) = (/ & &4.9638e+05_rb,3.7229e+05_rb,2.4819e+05_rb,1.2410e+05_rb,5.1303e+01_rb/) kbo(:, 4,31,15) = (/ & &4.8006e+05_rb,3.6004e+05_rb,2.4003e+05_rb,1.2001e+05_rb,4.7154e+01_rb/) kbo(:, 5,31,15) = (/ & &4.6345e+05_rb,3.4759e+05_rb,2.3173e+05_rb,1.1586e+05_rb,4.5673e+01_rb/) kbo(:, 1,32,15) = (/ & &6.4038e+05_rb,4.8028e+05_rb,3.2019e+05_rb,1.6010e+05_rb,6.0926e+01_rb/) kbo(:, 2,32,15) = (/ & &6.2037e+05_rb,4.6528e+05_rb,3.1019e+05_rb,1.5509e+05_rb,5.7062e+01_rb/) kbo(:, 3,32,15) = (/ & &5.9976e+05_rb,4.4982e+05_rb,2.9988e+05_rb,1.4994e+05_rb,5.1911e+01_rb/) kbo(:, 4,32,15) = (/ & &5.7886e+05_rb,4.3415e+05_rb,2.8943e+05_rb,1.4472e+05_rb,4.9758e+01_rb/) kbo(:, 5,32,15) = (/ & &5.5779e+05_rb,4.1835e+05_rb,2.7890e+05_rb,1.3945e+05_rb,4.7124e+01_rb/) kbo(:, 1,33,15) = (/ & &7.8604e+05_rb,5.8953e+05_rb,3.9302e+05_rb,1.9651e+05_rb,6.2449e+01_rb/) kbo(:, 2,33,15) = (/ & &7.5994e+05_rb,5.6995e+05_rb,3.7997e+05_rb,1.8999e+05_rb,5.7026e+01_rb/) kbo(:, 3,33,15) = (/ & &7.3324e+05_rb,5.4993e+05_rb,3.6662e+05_rb,1.8331e+05_rb,5.3959e+01_rb/) kbo(:, 4,33,15) = (/ & &7.0633e+05_rb,5.2975e+05_rb,3.5316e+05_rb,1.7658e+05_rb,5.1185e+01_rb/) kbo(:, 5,33,15) = (/ & &6.7933e+05_rb,5.0950e+05_rb,3.3967e+05_rb,1.6983e+05_rb,4.6145e+01_rb/) kbo(:, 1,34,15) = (/ & &9.3629e+05_rb,7.0222e+05_rb,4.6814e+05_rb,2.3407e+05_rb,6.2950e+01_rb/) kbo(:, 2,34,15) = (/ & &9.0361e+05_rb,6.7770e+05_rb,4.5180e+05_rb,2.2590e+05_rb,5.7628e+01_rb/) kbo(:, 3,34,15) = (/ & &8.7048e+05_rb,6.5286e+05_rb,4.3524e+05_rb,2.1762e+05_rb,5.5397e+01_rb/) kbo(:, 4,34,15) = (/ & &8.3718e+05_rb,6.2788e+05_rb,4.1859e+05_rb,2.0929e+05_rb,5.1885e+01_rb/) kbo(:, 5,34,15) = (/ & &8.0393e+05_rb,6.0294e+05_rb,4.0196e+05_rb,2.0098e+05_rb,4.4833e+01_rb/) kbo(:, 1,35,15) = (/ & &1.1151e+06_rb,8.3633e+05_rb,5.5755e+05_rb,2.7878e+05_rb,6.3401e+01_rb/) kbo(:, 2,35,15) = (/ & &1.0748e+06_rb,8.0608e+05_rb,5.3739e+05_rb,2.6869e+05_rb,5.9975e+01_rb/) kbo(:, 3,35,15) = (/ & &1.0341e+06_rb,7.7556e+05_rb,5.1704e+05_rb,2.5852e+05_rb,5.6633e+01_rb/) kbo(:, 4,35,15) = (/ & &9.9325e+05_rb,7.4494e+05_rb,4.9662e+05_rb,2.4831e+05_rb,5.0172e+01_rb/) kbo(:, 5,35,15) = (/ & &9.5274e+05_rb,7.1455e+05_rb,4.7637e+05_rb,2.3818e+05_rb,4.3180e+01_rb/) kbo(:, 1,36,15) = (/ & &1.3204e+06_rb,9.9032e+05_rb,6.6021e+05_rb,3.3011e+05_rb,6.4479e+01_rb/) kbo(:, 2,36,15) = (/ & &1.2713e+06_rb,9.5347e+05_rb,6.3565e+05_rb,3.1782e+05_rb,6.1661e+01_rb/) kbo(:, 3,36,15) = (/ & &1.2219e+06_rb,9.1640e+05_rb,6.1093e+05_rb,3.0547e+05_rb,5.7543e+01_rb/) kbo(:, 4,36,15) = (/ & &1.1726e+06_rb,8.7947e+05_rb,5.8632e+05_rb,2.9316e+05_rb,4.9268e+01_rb/) kbo(:, 5,36,15) = (/ & &1.1240e+06_rb,8.4303e+05_rb,5.6202e+05_rb,2.8101e+05_rb,4.3422e+01_rb/) kbo(:, 1,37,15) = (/ & &1.5283e+06_rb,1.1462e+06_rb,7.6413e+05_rb,3.8207e+05_rb,6.6367e+01_rb/) kbo(:, 2,37,15) = (/ & &1.4706e+06_rb,1.1030e+06_rb,7.3532e+05_rb,3.6766e+05_rb,6.3620e+01_rb/) kbo(:, 3,37,15) = (/ & &1.4128e+06_rb,1.0596e+06_rb,7.0638e+05_rb,3.5319e+05_rb,5.8851e+01_rb/) kbo(:, 4,37,15) = (/ & &1.3549e+06_rb,1.0162e+06_rb,6.7744e+05_rb,3.3872e+05_rb,4.8460e+01_rb/) kbo(:, 5,37,15) = (/ & &1.2980e+06_rb,9.7352e+05_rb,6.4901e+05_rb,3.2451e+05_rb,4.3139e+01_rb/) kbo(:, 1,38,15) = (/ & &1.7917e+06_rb,1.3437e+06_rb,8.9582e+05_rb,4.4791e+05_rb,6.8827e+01_rb/) kbo(:, 2,38,15) = (/ & &1.7232e+06_rb,1.2924e+06_rb,8.6157e+05_rb,4.3078e+05_rb,6.5495e+01_rb/) kbo(:, 3,38,15) = (/ & &1.6545e+06_rb,1.2409e+06_rb,8.2724e+05_rb,4.1362e+05_rb,5.8860e+01_rb/) kbo(:, 4,38,15) = (/ & &1.5862e+06_rb,1.1896e+06_rb,7.9309e+05_rb,3.9654e+05_rb,4.7251e+01_rb/) kbo(:, 5,38,15) = (/ & &1.5188e+06_rb,1.1391e+06_rb,7.5940e+05_rb,3.7970e+05_rb,4.3731e+01_rb/) kbo(:, 1,39,15) = (/ & &2.1445e+06_rb,1.6084e+06_rb,1.0723e+06_rb,5.3613e+05_rb,7.1068e+01_rb/) kbo(:, 2,39,15) = (/ & &2.0613e+06_rb,1.5460e+06_rb,1.0307e+06_rb,5.1533e+05_rb,6.6419e+01_rb/) kbo(:, 3,39,15) = (/ & &1.9786e+06_rb,1.4840e+06_rb,9.8932e+05_rb,4.9466e+05_rb,5.6988e+01_rb/) kbo(:, 4,39,15) = (/ & &1.8964e+06_rb,1.4223e+06_rb,9.4822e+05_rb,4.7411e+05_rb,4.6537e+01_rb/) kbo(:, 5,39,15) = (/ & &1.8152e+06_rb,1.3614e+06_rb,9.0762e+05_rb,4.5381e+05_rb,4.1463e+01_rb/) kbo(:, 1,40,15) = (/ & &2.4170e+06_rb,1.8127e+06_rb,1.2085e+06_rb,6.0424e+05_rb,7.3096e+01_rb/) kbo(:, 2,40,15) = (/ & &2.3226e+06_rb,1.7420e+06_rb,1.1613e+06_rb,5.8063e+05_rb,6.8150e+01_rb/) kbo(:, 3,40,15) = (/ & &2.2296e+06_rb,1.6722e+06_rb,1.1148e+06_rb,5.5739e+05_rb,5.8979e+01_rb/) kbo(:, 4,40,15) = (/ & &2.1366e+06_rb,1.6025e+06_rb,1.0683e+06_rb,5.3415e+05_rb,4.7816e+01_rb/) kbo(:, 5,40,15) = (/ & &2.0448e+06_rb,1.5336e+06_rb,1.0224e+06_rb,5.1120e+05_rb,4.2008e+01_rb/) kbo(:, 1,41,15) = (/ & &2.7164e+06_rb,2.0373e+06_rb,1.3582e+06_rb,6.7911e+05_rb,7.4782e+01_rb/) kbo(:, 2,41,15) = (/ & &2.6095e+06_rb,1.9571e+06_rb,1.3048e+06_rb,6.5238e+05_rb,6.9972e+01_rb/) kbo(:, 3,41,15) = (/ & &2.5049e+06_rb,1.8787e+06_rb,1.2525e+06_rb,6.2623e+05_rb,6.0957e+01_rb/) kbo(:, 4,41,15) = (/ & &2.4006e+06_rb,1.8005e+06_rb,1.2003e+06_rb,6.0017e+05_rb,4.9097e+01_rb/) kbo(:, 5,41,15) = (/ & &2.2975e+06_rb,1.7231e+06_rb,1.1487e+06_rb,5.7438e+05_rb,4.2980e+01_rb/) kbo(:, 1,42,15) = (/ & &3.0827e+06_rb,2.3120e+06_rb,1.5413e+06_rb,7.7067e+05_rb,7.6123e+01_rb/) kbo(:, 2,42,15) = (/ & &2.9612e+06_rb,2.2209e+06_rb,1.4806e+06_rb,7.4030e+05_rb,7.1662e+01_rb/) kbo(:, 3,42,15) = (/ & &2.8423e+06_rb,2.1317e+06_rb,1.4211e+06_rb,7.1056e+05_rb,6.2602e+01_rb/) kbo(:, 4,42,15) = (/ & &2.7244e+06_rb,2.0433e+06_rb,1.3622e+06_rb,6.8108e+05_rb,5.0093e+01_rb/) kbo(:, 5,42,15) = (/ & &2.6071e+06_rb,1.9553e+06_rb,1.3035e+06_rb,6.5176e+05_rb,4.3774e+01_rb/) kbo(:, 1,43,15) = (/ & &3.5341e+06_rb,2.6506e+06_rb,1.7671e+06_rb,8.8353e+05_rb,7.8436e+01_rb/) kbo(:, 2,43,15) = (/ & &3.3959e+06_rb,2.5467e+06_rb,1.6978e+06_rb,8.4891e+05_rb,7.3775e+01_rb/) kbo(:, 3,43,15) = (/ & &3.2585e+06_rb,2.4439e+06_rb,1.6293e+06_rb,8.1464e+05_rb,6.4695e+01_rb/) kbo(:, 4,43,15) = (/ & &3.1244e+06_rb,2.3433e+06_rb,1.5622e+06_rb,7.8111e+05_rb,5.1912e+01_rb/) kbo(:, 5,43,15) = (/ & &2.9906e+06_rb,2.2429e+06_rb,1.4953e+06_rb,7.4765e+05_rb,4.5444e+01_rb/) kbo(:, 1,44,15) = (/ & &4.1097e+06_rb,3.0823e+06_rb,2.0548e+06_rb,1.0274e+06_rb,8.1119e+01_rb/) kbo(:, 2,44,15) = (/ & &3.9487e+06_rb,2.9615e+06_rb,1.9743e+06_rb,9.8717e+05_rb,7.5797e+01_rb/) kbo(:, 3,44,15) = (/ & &3.7894e+06_rb,2.8420e+06_rb,1.8947e+06_rb,9.4733e+05_rb,6.6793e+01_rb/) kbo(:, 4,44,15) = (/ & &3.6341e+06_rb,2.7256e+06_rb,1.8170e+06_rb,9.0851e+05_rb,5.3433e+01_rb/) kbo(:, 5,44,15) = (/ & &3.4797e+06_rb,2.6097e+06_rb,1.7398e+06_rb,8.6990e+05_rb,4.7406e+01_rb/) kbo(:, 1,45,15) = (/ & &4.8722e+06_rb,3.6542e+06_rb,2.4361e+06_rb,1.2181e+06_rb,8.3949e+01_rb/) kbo(:, 2,45,15) = (/ & &4.6827e+06_rb,3.5120e+06_rb,2.3413e+06_rb,1.1707e+06_rb,7.7974e+01_rb/) kbo(:, 3,45,15) = (/ & &4.4945e+06_rb,3.3709e+06_rb,2.2473e+06_rb,1.1236e+06_rb,6.9073e+01_rb/) kbo(:, 4,45,15) = (/ & &4.3103e+06_rb,3.2327e+06_rb,2.1551e+06_rb,1.0776e+06_rb,5.6213e+01_rb/) kbo(:, 5,45,15) = (/ & &4.1290e+06_rb,3.0968e+06_rb,2.0645e+06_rb,1.0323e+06_rb,4.8762e+01_rb/) kbo(:, 1,46,15) = (/ & &5.8372e+06_rb,4.3779e+06_rb,2.9186e+06_rb,1.4593e+06_rb,8.7007e+01_rb/) kbo(:, 2,46,15) = (/ & &5.6126e+06_rb,4.2094e+06_rb,2.8063e+06_rb,1.4031e+06_rb,8.0166e+01_rb/) kbo(:, 3,46,15) = (/ & &5.3885e+06_rb,4.0414e+06_rb,2.6943e+06_rb,1.3471e+06_rb,7.0991e+01_rb/) kbo(:, 4,46,15) = (/ & &5.1687e+06_rb,3.8765e+06_rb,2.5843e+06_rb,1.2922e+06_rb,5.9015e+01_rb/) kbo(:, 5,46,15) = (/ & &4.9529e+06_rb,3.7147e+06_rb,2.4764e+06_rb,1.2382e+06_rb,5.0566e+01_rb/) kbo(:, 1,47,15) = (/ & &6.9385e+06_rb,5.2039e+06_rb,3.4693e+06_rb,1.7346e+06_rb,9.1194e+01_rb/) kbo(:, 2,47,15) = (/ & &6.6774e+06_rb,5.0081e+06_rb,3.3387e+06_rb,1.6694e+06_rb,8.2417e+01_rb/) kbo(:, 3,47,15) = (/ & &6.4127e+06_rb,4.8095e+06_rb,3.2064e+06_rb,1.6032e+06_rb,7.5225e+01_rb/) kbo(:, 4,47,15) = (/ & &6.1518e+06_rb,4.6139e+06_rb,3.0759e+06_rb,1.5380e+06_rb,6.2982e+01_rb/) kbo(:, 5,47,15) = (/ & &5.8970e+06_rb,4.4228e+06_rb,2.9485e+06_rb,1.4743e+06_rb,5.3315e+01_rb/) kbo(:, 1,48,15) = (/ & &8.4803e+06_rb,6.3603e+06_rb,4.2402e+06_rb,2.1201e+06_rb,9.5233e+01_rb/) kbo(:, 2,48,15) = (/ & &8.1666e+06_rb,6.1249e+06_rb,4.0833e+06_rb,2.0417e+06_rb,8.3938e+01_rb/) kbo(:, 3,48,15) = (/ & &7.8474e+06_rb,5.8855e+06_rb,3.9237e+06_rb,1.9618e+06_rb,7.8581e+01_rb/) kbo(:, 4,48,15) = (/ & &7.5308e+06_rb,5.6481e+06_rb,3.7654e+06_rb,1.8827e+06_rb,6.5837e+01_rb/) kbo(:, 5,48,15) = (/ & &7.2194e+06_rb,5.4145e+06_rb,3.6097e+06_rb,1.8049e+06_rb,5.5833e+01_rb/) kbo(:, 1,49,15) = (/ & &1.0795e+07_rb,8.0961e+06_rb,5.3974e+06_rb,2.6987e+06_rb,9.8694e+01_rb/) kbo(:, 2,49,15) = (/ & &1.0405e+07_rb,7.8035e+06_rb,5.2023e+06_rb,2.6011e+06_rb,8.7441e+01_rb/) kbo(:, 3,49,15) = (/ & &1.0006e+07_rb,7.5045e+06_rb,5.0030e+06_rb,2.5015e+06_rb,8.1233e+01_rb/) kbo(:, 4,49,15) = (/ & &9.6057e+06_rb,7.2043e+06_rb,4.8028e+06_rb,2.4014e+06_rb,6.9160e+01_rb/) kbo(:, 5,49,15) = (/ & &9.2104e+06_rb,6.9078e+06_rb,4.6052e+06_rb,2.3026e+06_rb,5.7442e+01_rb/) kbo(:, 1,50,15) = (/ & &1.3074e+07_rb,9.8054e+06_rb,6.5369e+06_rb,3.2685e+06_rb,1.0218e+02_rb/) kbo(:, 2,50,15) = (/ & &1.2610e+07_rb,9.4575e+06_rb,6.3050e+06_rb,3.1525e+06_rb,9.1395e+01_rb/) kbo(:, 3,50,15) = (/ & &1.2137e+07_rb,9.1025e+06_rb,6.0683e+06_rb,3.0342e+06_rb,8.4017e+01_rb/) kbo(:, 4,50,15) = (/ & &1.1655e+07_rb,8.7414e+06_rb,5.8276e+06_rb,2.9138e+06_rb,7.1620e+01_rb/) kbo(:, 5,50,15) = (/ & &1.1180e+07_rb,8.3848e+06_rb,5.5899e+06_rb,2.7949e+06_rb,6.0411e+01_rb/) kbo(:, 1,51,15) = (/ & &1.5480e+07_rb,1.1610e+07_rb,7.7399e+06_rb,3.8700e+06_rb,1.0595e+02_rb/) kbo(:, 2,51,15) = (/ & &1.4942e+07_rb,1.1207e+07_rb,7.4711e+06_rb,3.7356e+06_rb,9.5091e+01_rb/) kbo(:, 3,51,15) = (/ & &1.4390e+07_rb,1.0793e+07_rb,7.1952e+06_rb,3.5976e+06_rb,8.6843e+01_rb/) kbo(:, 4,51,15) = (/ & &1.3829e+07_rb,1.0371e+07_rb,6.9143e+06_rb,3.4572e+06_rb,7.4583e+01_rb/) kbo(:, 5,51,15) = (/ & &1.3268e+07_rb,9.9514e+06_rb,6.6343e+06_rb,3.3171e+06_rb,6.4529e+01_rb/) kbo(:, 1,52,15) = (/ & &1.8848e+07_rb,1.4136e+07_rb,9.4240e+06_rb,4.7120e+06_rb,1.0974e+02_rb/) kbo(:, 2,52,15) = (/ & &1.8206e+07_rb,1.3654e+07_rb,9.1030e+06_rb,4.5515e+06_rb,9.9547e+01_rb/) kbo(:, 3,52,15) = (/ & &1.7547e+07_rb,1.3161e+07_rb,8.7738e+06_rb,4.3869e+06_rb,8.9552e+01_rb/) kbo(:, 4,52,15) = (/ & &1.6877e+07_rb,1.2658e+07_rb,8.4384e+06_rb,4.2192e+06_rb,7.7635e+01_rb/) kbo(:, 5,52,15) = (/ & &1.6199e+07_rb,1.2149e+07_rb,8.0997e+06_rb,4.0499e+06_rb,6.8061e+01_rb/) kbo(:, 1,53,15) = (/ & &2.3903e+07_rb,1.7928e+07_rb,1.1952e+07_rb,5.9760e+06_rb,1.1360e+02_rb/) kbo(:, 2,53,15) = (/ & &2.3112e+07_rb,1.7334e+07_rb,1.1556e+07_rb,5.7781e+06_rb,1.0455e+02_rb/) kbo(:, 3,53,15) = (/ & &2.2293e+07_rb,1.6719e+07_rb,1.1146e+07_rb,5.5732e+06_rb,9.2320e+01_rb/) kbo(:, 4,53,15) = (/ & &2.1455e+07_rb,1.6091e+07_rb,1.0728e+07_rb,5.3638e+06_rb,8.0467e+01_rb/) kbo(:, 5,53,15) = (/ & &2.0604e+07_rb,1.5453e+07_rb,1.0302e+07_rb,5.1511e+06_rb,7.1688e+01_rb/) kbo(:, 1,54,15) = (/ & &2.6168e+07_rb,1.9626e+07_rb,1.3084e+07_rb,6.5420e+06_rb,1.1792e+02_rb/) kbo(:, 2,54,15) = (/ & &2.5326e+07_rb,1.8995e+07_rb,1.2663e+07_rb,6.3316e+06_rb,1.0689e+02_rb/) kbo(:, 3,54,15) = (/ & &2.4445e+07_rb,1.8334e+07_rb,1.2223e+07_rb,6.1114e+06_rb,9.4623e+01_rb/) kbo(:, 4,54,15) = (/ & &2.3543e+07_rb,1.7657e+07_rb,1.1772e+07_rb,5.8858e+06_rb,8.6034e+01_rb/) kbo(:, 5,54,15) = (/ & &2.2624e+07_rb,1.6968e+07_rb,1.1312e+07_rb,5.6560e+06_rb,7.5610e+01_rb/) kbo(:, 1,55,15) = (/ & &2.6110e+07_rb,1.9583e+07_rb,1.3055e+07_rb,6.5277e+06_rb,1.2293e+02_rb/) kbo(:, 2,55,15) = (/ & &2.5298e+07_rb,1.8974e+07_rb,1.2649e+07_rb,6.3247e+06_rb,1.0996e+02_rb/) kbo(:, 3,55,15) = (/ & &2.4435e+07_rb,1.8326e+07_rb,1.2218e+07_rb,6.1089e+06_rb,1.0025e+02_rb/) kbo(:, 4,55,15) = (/ & &2.3548e+07_rb,1.7661e+07_rb,1.1774e+07_rb,5.8870e+06_rb,8.9943e+01_rb/) kbo(:, 5,55,15) = (/ & &2.2646e+07_rb,1.6984e+07_rb,1.1323e+07_rb,5.6615e+06_rb,7.8052e+01_rb/) kbo(:, 1,56,15) = (/ & &2.6049e+07_rb,1.9537e+07_rb,1.3025e+07_rb,6.5123e+06_rb,1.2801e+02_rb/) kbo(:, 2,56,15) = (/ & &2.5263e+07_rb,1.8947e+07_rb,1.2631e+07_rb,6.3155e+06_rb,1.1426e+02_rb/) kbo(:, 3,56,15) = (/ & &2.4422e+07_rb,1.8316e+07_rb,1.2211e+07_rb,6.1054e+06_rb,1.0290e+02_rb/) kbo(:, 4,56,15) = (/ & &2.3554e+07_rb,1.7665e+07_rb,1.1777e+07_rb,5.8883e+06_rb,9.1587e+01_rb/) kbo(:, 5,56,15) = (/ & &2.2663e+07_rb,1.6997e+07_rb,1.1331e+07_rb,5.6657e+06_rb,8.3726e+01_rb/) kbo(:, 1,57,15) = (/ & &2.5975e+07_rb,1.9481e+07_rb,1.2987e+07_rb,6.4936e+06_rb,1.3227e+02_rb/) kbo(:, 2,57,15) = (/ & &2.5221e+07_rb,1.8915e+07_rb,1.2610e+07_rb,6.3050e+06_rb,1.1939e+02_rb/) kbo(:, 3,57,15) = (/ & &2.4401e+07_rb,1.8301e+07_rb,1.2201e+07_rb,6.1003e+06_rb,1.0672e+02_rb/) kbo(:, 4,57,15) = (/ & &2.3548e+07_rb,1.7661e+07_rb,1.1774e+07_rb,5.8869e+06_rb,9.6378e+01_rb/) kbo(:, 5,57,15) = (/ & &2.2676e+07_rb,1.7007e+07_rb,1.1338e+07_rb,5.6688e+06_rb,8.7523e+01_rb/) kbo(:, 1,58,15) = (/ & &6.8249e+06_rb,6.2574e+06_rb,5.3652e+06_rb,3.7577e+06_rb,1.3651e+02_rb/) kbo(:, 2,58,15) = (/ & &6.6343e+06_rb,6.0826e+06_rb,5.2153e+06_rb,3.6528e+06_rb,1.2352e+02_rb/) kbo(:, 3,58,15) = (/ & &6.4258e+06_rb,5.8914e+06_rb,5.0514e+06_rb,3.5379e+06_rb,1.1077e+02_rb/) kbo(:, 4,58,15) = (/ & &6.2048e+06_rb,5.6888e+06_rb,4.8776e+06_rb,3.4163e+06_rb,9.9878e+01_rb/) kbo(:, 5,58,15) = (/ & &5.9792e+06_rb,5.4820e+06_rb,4.7004e+06_rb,3.2921e+06_rb,8.9433e+01_rb/) kbo(:, 1,59,15) = (/ & &7.9949e+06_rb,6.9809e+06_rb,5.5683e+06_rb,3.4650e+06_rb,1.3832e+02_rb/) kbo(:, 2,59,15) = (/ & &7.7778e+06_rb,6.7913e+06_rb,5.4171e+06_rb,3.3709e+06_rb,1.2505e+02_rb/) kbo(:, 3,59,15) = (/ & &7.5359e+06_rb,6.5801e+06_rb,5.2486e+06_rb,3.2660e+06_rb,1.1363e+02_rb/) kbo(:, 4,59,15) = (/ & &7.2794e+06_rb,6.3561e+06_rb,5.0700e+06_rb,3.1549e+06_rb,1.0324e+02_rb/) kbo(:, 5,59,15) = (/ & &7.0157e+06_rb,6.1258e+06_rb,4.8863e+06_rb,3.0406e+06_rb,9.1722e+01_rb/) kbo(:, 1,13,16) = (/ & &7.4591e+05_rb,5.5944e+05_rb,3.7296e+05_rb,1.8648e+05_rb,1.0589e+01_rb/) kbo(:, 2,13,16) = (/ & &7.4121e+05_rb,5.5591e+05_rb,3.7061e+05_rb,1.8530e+05_rb,1.0476e+01_rb/) kbo(:, 3,13,16) = (/ & &7.3660e+05_rb,5.5245e+05_rb,3.6830e+05_rb,1.8415e+05_rb,6.4518e+00_rb/) kbo(:, 4,13,16) = (/ & &7.3017e+05_rb,5.4763e+05_rb,3.6509e+05_rb,1.8254e+05_rb,7.2400e-02_rb/) kbo(:, 5,13,16) = (/ & &7.2523e+05_rb,5.4392e+05_rb,3.6262e+05_rb,1.8131e+05_rb,8.3840e-02_rb/) kbo(:, 1,14,16) = (/ & &5.4546e+05_rb,4.0910e+05_rb,2.7273e+05_rb,1.3636e+05_rb,1.2083e+01_rb/) kbo(:, 2,14,16) = (/ & &5.4530e+05_rb,4.0897e+05_rb,2.7264e+05_rb,1.3632e+05_rb,1.1940e+01_rb/) kbo(:, 3,14,16) = (/ & &5.4326e+05_rb,4.0739e+05_rb,2.7163e+05_rb,1.3581e+05_rb,1.1721e+01_rb/) kbo(:, 4,14,16) = (/ & &5.4132e+05_rb,4.0599e+05_rb,2.7066e+05_rb,1.3533e+05_rb,4.5827e+00_rb/) kbo(:, 5,14,16) = (/ & &5.3886e+05_rb,4.0414e+05_rb,2.6943e+05_rb,1.3471e+05_rb,7.8150e-02_rb/) kbo(:, 1,15,16) = (/ & &4.1181e+05_rb,3.0886e+05_rb,2.0591e+05_rb,1.0295e+05_rb,1.3732e+01_rb/) kbo(:, 2,15,16) = (/ & &4.1235e+05_rb,3.0926e+05_rb,2.0618e+05_rb,1.0309e+05_rb,1.3536e+01_rb/) kbo(:, 3,15,16) = (/ & &4.1248e+05_rb,3.0936e+05_rb,2.0624e+05_rb,1.0312e+05_rb,1.3259e+01_rb/) kbo(:, 4,15,16) = (/ & &4.1181e+05_rb,3.0886e+05_rb,2.0591e+05_rb,1.0296e+05_rb,1.2919e+01_rb/) kbo(:, 5,15,16) = (/ & &4.1010e+05_rb,3.0757e+05_rb,2.0505e+05_rb,1.0253e+05_rb,4.0719e+00_rb/) kbo(:, 1,16,16) = (/ & &3.7257e+05_rb,2.7672e+05_rb,1.8628e+05_rb,9.3143e+04_rb,1.5485e+01_rb/) kbo(:, 2,16,16) = (/ & &3.7431e+05_rb,2.8074e+05_rb,1.8716e+05_rb,9.3579e+04_rb,1.5222e+01_rb/) kbo(:, 3,16,16) = (/ & &3.7500e+05_rb,2.8129e+05_rb,1.8753e+05_rb,9.3763e+04_rb,1.4862e+01_rb/) kbo(:, 4,16,16) = (/ & &3.7444e+05_rb,2.8083e+05_rb,1.8722e+05_rb,9.3612e+04_rb,1.4438e+01_rb/) kbo(:, 5,16,16) = (/ & &3.7332e+05_rb,2.7999e+05_rb,1.8666e+05_rb,9.3332e+04_rb,7.6230e+00_rb/) kbo(:, 1,17,16) = (/ & &3.5182e+05_rb,2.6386e+05_rb,1.7591e+05_rb,8.7955e+04_rb,1.7290e+01_rb/) kbo(:, 2,17,16) = (/ & &3.5397e+05_rb,2.6547e+05_rb,1.7698e+05_rb,8.8492e+04_rb,1.6932e+01_rb/) kbo(:, 3,17,16) = (/ & &3.5462e+05_rb,2.6597e+05_rb,1.7731e+05_rb,8.8656e+04_rb,1.6480e+01_rb/) kbo(:, 4,17,16) = (/ & &3.5402e+05_rb,2.6552e+05_rb,1.7701e+05_rb,8.8507e+04_rb,1.5962e+01_rb/) kbo(:, 5,17,16) = (/ & &3.5314e+05_rb,2.6486e+05_rb,1.7657e+05_rb,8.8287e+04_rb,1.0353e+01_rb/) kbo(:, 1,18,16) = (/ & &3.4176e+05_rb,2.5632e+05_rb,1.7088e+05_rb,8.5439e+04_rb,1.9139e+01_rb/) kbo(:, 2,18,16) = (/ & &3.4367e+05_rb,2.5775e+05_rb,1.7183e+05_rb,8.5917e+04_rb,1.8641e+01_rb/) kbo(:, 3,18,16) = (/ & &3.4399e+05_rb,2.5800e+05_rb,1.7200e+05_rb,8.5999e+04_rb,1.8079e+01_rb/) kbo(:, 4,18,16) = (/ & &3.4376e+05_rb,2.5782e+05_rb,1.7188e+05_rb,8.5941e+04_rb,1.7627e+01_rb/) kbo(:, 5,18,16) = (/ & &3.4258e+05_rb,2.5694e+05_rb,1.7129e+05_rb,8.5646e+04_rb,1.3174e+01_rb/) kbo(:, 1,19,16) = (/ & &3.2677e+05_rb,2.4508e+05_rb,1.6338e+05_rb,8.1692e+04_rb,2.1598e+01_rb/) kbo(:, 2,19,16) = (/ & &3.2775e+05_rb,2.4581e+05_rb,1.6387e+05_rb,8.1937e+04_rb,2.1013e+01_rb/) kbo(:, 3,19,16) = (/ & &3.2835e+05_rb,2.4626e+05_rb,1.6417e+05_rb,8.2068e+04_rb,2.0530e+01_rb/) kbo(:, 4,19,16) = (/ & &3.2780e+05_rb,2.4585e+05_rb,1.6390e+05_rb,8.1950e+04_rb,2.0057e+01_rb/) kbo(:, 5,19,16) = (/ & &3.2322e+05_rb,2.4484e+05_rb,1.6323e+05_rb,8.1613e+04_rb,1.8218e+01_rb/) kbo(:, 1,20,16) = (/ & &3.3791e+05_rb,2.5343e+05_rb,1.6896e+05_rb,8.4478e+04_rb,2.4811e+01_rb/) kbo(:, 2,20,16) = (/ & &3.3834e+05_rb,2.5376e+05_rb,1.6917e+05_rb,8.4586e+04_rb,2.4163e+01_rb/) kbo(:, 3,20,16) = (/ & &3.3842e+05_rb,2.5381e+05_rb,1.6921e+05_rb,8.4605e+04_rb,2.3647e+01_rb/) kbo(:, 4,20,16) = (/ & &3.3728e+05_rb,2.5296e+05_rb,1.6864e+05_rb,8.4321e+04_rb,2.3144e+01_rb/) kbo(:, 5,20,16) = (/ & &3.3569e+05_rb,2.5177e+05_rb,1.6785e+05_rb,8.3923e+04_rb,2.2618e+01_rb/) kbo(:, 1,21,16) = (/ & &3.5913e+05_rb,2.6935e+05_rb,1.7956e+05_rb,8.9782e+04_rb,2.8889e+01_rb/) kbo(:, 2,21,16) = (/ & &3.5914e+05_rb,2.6936e+05_rb,1.7957e+05_rb,8.9786e+04_rb,2.8114e+01_rb/) kbo(:, 3,21,16) = (/ & &3.5794e+05_rb,2.6846e+05_rb,1.7897e+05_rb,8.9486e+04_rb,2.7459e+01_rb/) kbo(:, 4,21,16) = (/ & &3.5626e+05_rb,2.6720e+05_rb,1.7813e+05_rb,8.9066e+04_rb,2.6836e+01_rb/) kbo(:, 5,21,16) = (/ & &3.5369e+05_rb,2.6527e+05_rb,1.7684e+05_rb,8.8423e+04_rb,2.6161e+01_rb/) kbo(:, 1,22,16) = (/ & &3.8948e+05_rb,2.9211e+05_rb,1.9474e+05_rb,9.7369e+04_rb,3.3724e+01_rb/) kbo(:, 2,22,16) = (/ & &3.8828e+05_rb,2.9121e+05_rb,1.9414e+05_rb,9.7069e+04_rb,3.2720e+01_rb/) kbo(:, 3,22,16) = (/ & &3.8560e+05_rb,2.8920e+05_rb,1.9280e+05_rb,9.6401e+04_rb,3.1834e+01_rb/) kbo(:, 4,22,16) = (/ & &3.8253e+05_rb,2.8690e+05_rb,1.9127e+05_rb,9.5633e+04_rb,3.0971e+01_rb/) kbo(:, 5,22,16) = (/ & &3.7845e+05_rb,2.8383e+05_rb,1.8922e+05_rb,9.4612e+04_rb,3.0080e+01_rb/) kbo(:, 1,23,16) = (/ & &4.2147e+05_rb,3.1611e+05_rb,2.1074e+05_rb,1.0537e+05_rb,3.9276e+01_rb/) kbo(:, 2,23,16) = (/ & &4.1843e+05_rb,3.1382e+05_rb,2.0921e+05_rb,1.0461e+05_rb,3.7947e+01_rb/) kbo(:, 3,23,16) = (/ & &4.1438e+05_rb,3.1079e+05_rb,2.0719e+05_rb,1.0360e+05_rb,3.6734e+01_rb/) kbo(:, 4,23,16) = (/ & &4.0918e+05_rb,3.0688e+05_rb,2.0459e+05_rb,1.0230e+05_rb,3.5522e+01_rb/) kbo(:, 5,23,16) = (/ & &4.0269e+05_rb,3.0202e+05_rb,2.0135e+05_rb,1.0067e+05_rb,3.4322e+01_rb/) kbo(:, 1,24,16) = (/ & &4.4910e+05_rb,3.3682e+05_rb,2.2455e+05_rb,1.1228e+05_rb,4.5446e+01_rb/) kbo(:, 2,24,16) = (/ & &4.4436e+05_rb,3.3327e+05_rb,2.2218e+05_rb,1.1109e+05_rb,4.3684e+01_rb/) kbo(:, 3,24,16) = (/ & &4.3822e+05_rb,3.2867e+05_rb,2.1911e+05_rb,1.0956e+05_rb,4.2010e+01_rb/) kbo(:, 4,24,16) = (/ & &4.3055e+05_rb,3.2291e+05_rb,2.1528e+05_rb,1.0764e+05_rb,4.0380e+01_rb/) kbo(:, 5,24,16) = (/ & &4.2183e+05_rb,3.1637e+05_rb,2.1092e+05_rb,1.0546e+05_rb,3.8819e+01_rb/) kbo(:, 1,25,16) = (/ & &4.7951e+05_rb,3.5963e+05_rb,2.3975e+05_rb,1.1988e+05_rb,5.2030e+01_rb/) kbo(:, 2,25,16) = (/ & &4.7236e+05_rb,3.5427e+05_rb,2.3618e+05_rb,1.1809e+05_rb,4.9759e+01_rb/) kbo(:, 3,25,16) = (/ & &4.6345e+05_rb,3.4759e+05_rb,2.3173e+05_rb,1.1586e+05_rb,4.7513e+01_rb/) kbo(:, 4,25,16) = (/ & &4.5307e+05_rb,3.3980e+05_rb,2.2654e+05_rb,1.1327e+05_rb,4.5411e+01_rb/) kbo(:, 5,25,16) = (/ & &4.4201e+05_rb,3.3151e+05_rb,2.2101e+05_rb,1.1050e+05_rb,4.3416e+01_rb/) kbo(:, 1,26,16) = (/ & &5.1412e+05_rb,3.8559e+05_rb,2.5706e+05_rb,1.2853e+05_rb,5.8735e+01_rb/) kbo(:, 2,26,16) = (/ & &5.0368e+05_rb,3.7776e+05_rb,2.5184e+05_rb,1.2592e+05_rb,5.5868e+01_rb/) kbo(:, 3,26,16) = (/ & &4.9157e+05_rb,3.6868e+05_rb,2.4579e+05_rb,1.2289e+05_rb,5.3078e+01_rb/) kbo(:, 4,26,16) = (/ & &4.7856e+05_rb,3.5892e+05_rb,2.3928e+05_rb,1.1964e+05_rb,5.0425e+01_rb/) kbo(:, 5,26,16) = (/ & &4.6464e+05_rb,3.4848e+05_rb,2.3232e+05_rb,1.1616e+05_rb,4.7921e+01_rb/) kbo(:, 1,27,16) = (/ & &5.6504e+05_rb,4.2378e+05_rb,2.8252e+05_rb,1.4126e+05_rb,6.5394e+01_rb/) kbo(:, 2,27,16) = (/ & &5.5002e+05_rb,4.1252e+05_rb,2.7501e+05_rb,1.3751e+05_rb,6.1825e+01_rb/) kbo(:, 3,27,16) = (/ & &5.3436e+05_rb,4.0077e+05_rb,2.6718e+05_rb,1.3359e+05_rb,5.8497e+01_rb/) kbo(:, 4,27,16) = (/ & &5.1782e+05_rb,3.8837e+05_rb,2.5891e+05_rb,1.2946e+05_rb,5.5282e+01_rb/) kbo(:, 5,27,16) = (/ & &5.0051e+05_rb,3.7538e+05_rb,2.5025e+05_rb,1.2513e+05_rb,5.2211e+01_rb/) kbo(:, 1,28,16) = (/ & &6.2869e+05_rb,4.7152e+05_rb,3.1435e+05_rb,1.5717e+05_rb,7.1700e+01_rb/) kbo(:, 2,28,16) = (/ & &6.0862e+05_rb,4.5646e+05_rb,3.0431e+05_rb,1.5215e+05_rb,6.7460e+01_rb/) kbo(:, 3,28,16) = (/ & &5.8860e+05_rb,4.4145e+05_rb,2.9430e+05_rb,1.4715e+05_rb,6.3511e+01_rb/) kbo(:, 4,28,16) = (/ & &5.6780e+05_rb,4.2585e+05_rb,2.8390e+05_rb,1.4195e+05_rb,5.9746e+01_rb/) kbo(:, 5,28,16) = (/ & &5.4624e+05_rb,4.0968e+05_rb,2.7312e+05_rb,1.3656e+05_rb,5.6156e+01_rb/) kbo(:, 1,29,16) = (/ & &7.3240e+05_rb,5.4930e+05_rb,3.6620e+05_rb,1.8310e+05_rb,7.7436e+01_rb/) kbo(:, 2,29,16) = (/ & &7.0567e+05_rb,5.2925e+05_rb,3.5284e+05_rb,1.7642e+05_rb,7.2532e+01_rb/) kbo(:, 3,29,16) = (/ & &6.7920e+05_rb,5.0940e+05_rb,3.3960e+05_rb,1.6980e+05_rb,6.7962e+01_rb/) kbo(:, 4,29,16) = (/ & &6.5231e+05_rb,4.8923e+05_rb,3.2615e+05_rb,1.6308e+05_rb,6.3669e+01_rb/) kbo(:, 5,29,16) = (/ & &6.2510e+05_rb,4.6882e+05_rb,3.1255e+05_rb,1.5627e+05_rb,5.9600e+01_rb/) kbo(:, 1,30,16) = (/ & &8.6319e+05_rb,6.4740e+05_rb,4.3160e+05_rb,2.1580e+05_rb,8.2489e+01_rb/) kbo(:, 2,30,16) = (/ & &8.2811e+05_rb,6.2108e+05_rb,4.1405e+05_rb,2.0703e+05_rb,7.6918e+01_rb/) kbo(:, 3,30,16) = (/ & &7.9339e+05_rb,5.9504e+05_rb,3.9669e+05_rb,1.9835e+05_rb,7.1793e+01_rb/) kbo(:, 4,30,16) = (/ & &7.5902e+05_rb,5.6926e+05_rb,3.7951e+05_rb,1.8975e+05_rb,6.6976e+01_rb/) kbo(:, 5,30,16) = (/ & &7.2513e+05_rb,5.4385e+05_rb,3.6256e+05_rb,1.8128e+05_rb,5.5921e+01_rb/) kbo(:, 1,31,16) = (/ & &1.0572e+06_rb,7.9291e+05_rb,5.2861e+05_rb,2.6430e+05_rb,8.6704e+01_rb/) kbo(:, 2,31,16) = (/ & &1.0099e+06_rb,7.5744e+05_rb,5.0496e+05_rb,2.5248e+05_rb,8.0546e+01_rb/) kbo(:, 3,31,16) = (/ & &9.6381e+05_rb,7.2285e+05_rb,4.8190e+05_rb,2.4095e+05_rb,7.4889e+01_rb/) kbo(:, 4,31,16) = (/ & &9.1917e+05_rb,6.8937e+05_rb,4.5958e+05_rb,2.2979e+05_rb,6.9630e+01_rb/) kbo(:, 5,31,16) = (/ & &8.7558e+05_rb,6.5669e+05_rb,4.3779e+05_rb,2.1889e+05_rb,5.1048e+01_rb/) kbo(:, 1,32,16) = (/ & &1.2953e+06_rb,9.7146e+05_rb,6.4764e+05_rb,3.2382e+05_rb,9.0053e+01_rb/) kbo(:, 2,32,16) = (/ & &1.2332e+06_rb,9.2492e+05_rb,6.1662e+05_rb,3.0831e+05_rb,8.3375e+01_rb/) kbo(:, 3,32,16) = (/ & &1.1732e+06_rb,8.7992e+05_rb,5.8661e+05_rb,2.9331e+05_rb,7.7283e+01_rb/) kbo(:, 4,32,16) = (/ & &1.1156e+06_rb,8.3672e+05_rb,5.5781e+05_rb,2.7891e+05_rb,5.9068e+01_rb/) kbo(:, 5,32,16) = (/ & &1.0600e+06_rb,7.9499e+05_rb,5.3000e+05_rb,2.6500e+05_rb,4.7615e+01_rb/) kbo(:, 1,33,16) = (/ & &1.6005e+06_rb,1.2004e+06_rb,8.0025e+05_rb,4.0013e+05_rb,9.2564e+01_rb/) kbo(:, 2,33,16) = (/ & &1.5042e+06_rb,1.1396e+06_rb,7.5976e+05_rb,3.7988e+05_rb,8.5451e+01_rb/) kbo(:, 3,33,16) = (/ & &1.4412e+06_rb,1.0809e+06_rb,7.2060e+05_rb,3.6030e+05_rb,6.7956e+01_rb/) kbo(:, 4,33,16) = (/ & &1.3676e+06_rb,1.0257e+06_rb,6.8379e+05_rb,3.4189e+05_rb,5.3693e+01_rb/) kbo(:, 5,33,16) = (/ & &1.2966e+06_rb,9.7245e+05_rb,6.4830e+05_rb,3.2415e+05_rb,4.3539e+01_rb/) kbo(:, 1,34,16) = (/ & &1.9162e+06_rb,1.4372e+06_rb,9.5812e+05_rb,4.7906e+05_rb,9.4564e+01_rb/) kbo(:, 2,34,16) = (/ & &1.8147e+06_rb,1.3610e+06_rb,9.0734e+05_rb,4.5367e+05_rb,8.5602e+01_rb/) kbo(:, 3,34,16) = (/ & &1.7177e+06_rb,1.2883e+06_rb,8.5884e+05_rb,4.2942e+05_rb,6.2695e+01_rb/) kbo(:, 4,34,16) = (/ & &1.6266e+06_rb,1.2199e+06_rb,8.1329e+05_rb,4.0664e+05_rb,5.0461e+01_rb/) kbo(:, 5,34,16) = (/ & &1.5395e+06_rb,1.1546e+06_rb,7.6973e+05_rb,3.8486e+05_rb,4.1009e+01_rb/) kbo(:, 1,35,16) = (/ & &2.2940e+06_rb,1.7205e+06_rb,1.1470e+06_rb,5.7350e+05_rb,9.6683e+01_rb/) kbo(:, 2,35,16) = (/ & &2.1679e+06_rb,1.6259e+06_rb,1.0839e+06_rb,5.4197e+05_rb,7.5706e+01_rb/) kbo(:, 3,35,16) = (/ & &2.0487e+06_rb,1.5365e+06_rb,1.0243e+06_rb,5.1216e+05_rb,5.9415e+01_rb/) kbo(:, 4,35,16) = (/ & &1.9369e+06_rb,1.4527e+06_rb,9.6844e+05_rb,4.8422e+05_rb,4.7837e+01_rb/) kbo(:, 5,35,16) = (/ & &1.8303e+06_rb,1.3728e+06_rb,9.1517e+05_rb,4.5758e+05_rb,3.3167e+01_rb/) kbo(:, 1,36,16) = (/ & &2.7323e+06_rb,2.0492e+06_rb,1.3661e+06_rb,6.8307e+05_rb,9.9200e+01_rb/) kbo(:, 2,36,16) = (/ & &2.5780e+06_rb,1.9335e+06_rb,1.2890e+06_rb,6.4450e+05_rb,7.2688e+01_rb/) kbo(:, 3,36,16) = (/ & &2.4326e+06_rb,1.8244e+06_rb,1.2163e+06_rb,6.0814e+05_rb,5.7708e+01_rb/) kbo(:, 4,36,16) = (/ & &2.2967e+06_rb,1.7225e+06_rb,1.1483e+06_rb,5.7417e+05_rb,4.6712e+01_rb/) kbo(:, 5,36,16) = (/ & &2.1679e+06_rb,1.6259e+06_rb,1.0839e+06_rb,5.4197e+05_rb,1.2791e+01_rb/) kbo(:, 1,37,16) = (/ & &3.1885e+06_rb,2.3914e+06_rb,1.5942e+06_rb,7.9711e+05_rb,1.0268e+02_rb/) kbo(:, 2,37,16) = (/ & &3.0040e+06_rb,2.2530e+06_rb,1.5020e+06_rb,7.5099e+05_rb,7.3443e+01_rb/) kbo(:, 3,37,16) = (/ & &2.8309e+06_rb,2.1232e+06_rb,1.4155e+06_rb,7.0773e+05_rb,5.8756e+01_rb/) kbo(:, 4,37,16) = (/ & &2.6696e+06_rb,2.0022e+06_rb,1.3348e+06_rb,6.6739e+05_rb,4.7388e+01_rb/) kbo(:, 5,37,16) = (/ & &2.5177e+06_rb,1.8883e+06_rb,1.2588e+06_rb,6.2942e+05_rb,7.8483e+00_rb/) kbo(:, 1,38,16) = (/ & &3.7660e+06_rb,2.8245e+06_rb,1.8830e+06_rb,9.4149e+05_rb,1.0053e+02_rb/) kbo(:, 2,38,16) = (/ & &3.5441e+06_rb,2.6581e+06_rb,1.7720e+06_rb,8.8602e+05_rb,7.3960e+01_rb/) kbo(:, 3,38,16) = (/ & &3.3357e+06_rb,2.5018e+06_rb,1.6678e+06_rb,8.3391e+05_rb,5.9673e+01_rb/) kbo(:, 4,38,16) = (/ & &3.1421e+06_rb,2.3566e+06_rb,1.5711e+06_rb,7.8553e+05_rb,4.7953e+01_rb/) kbo(:, 5,38,16) = (/ & &2.9610e+06_rb,2.2207e+06_rb,1.4805e+06_rb,7.4024e+05_rb,7.1016e-04_rb/) kbo(:, 1,39,16) = (/ & &4.5378e+06_rb,3.4034e+06_rb,2.2689e+06_rb,1.1345e+06_rb,9.8727e+01_rb/) kbo(:, 2,39,16) = (/ & &4.2667e+06_rb,3.2000e+06_rb,2.1334e+06_rb,1.0667e+06_rb,7.4242e+01_rb/) kbo(:, 3,39,16) = (/ & &4.0124e+06_rb,3.0093e+06_rb,2.0062e+06_rb,1.0031e+06_rb,5.9575e+01_rb/) kbo(:, 4,39,16) = (/ & &3.7760e+06_rb,2.8320e+06_rb,1.8880e+06_rb,9.4400e+05_rb,3.9674e+01_rb/) kbo(:, 5,39,16) = (/ & &3.5558e+06_rb,2.6669e+06_rb,1.7591e+06_rb,8.8898e+05_rb,5.7405e-04_rb/) kbo(:, 1,40,16) = (/ & &5.1586e+06_rb,3.8690e+06_rb,2.5793e+06_rb,1.2896e+06_rb,1.0433e+02_rb/) kbo(:, 2,40,16) = (/ & &4.8469e+06_rb,3.6347e+06_rb,2.4234e+06_rb,1.2117e+06_rb,7.7760e+01_rb/) kbo(:, 3,40,16) = (/ & &4.5541e+06_rb,3.4156e+06_rb,2.2770e+06_rb,1.1385e+06_rb,6.1585e+01_rb/) kbo(:, 4,40,16) = (/ & &4.2818e+06_rb,3.2114e+06_rb,2.1409e+06_rb,1.0704e+06_rb,4.0940e+01_rb/) kbo(:, 5,40,16) = (/ & &4.0296e+06_rb,3.0222e+06_rb,2.0148e+06_rb,1.0074e+06_rb,4.6888e-04_rb/) kbo(:, 1,41,16) = (/ & &5.8465e+06_rb,4.3849e+06_rb,2.9233e+06_rb,1.4616e+06_rb,1.1317e+02_rb/) kbo(:, 2,41,16) = (/ & &5.4907e+06_rb,4.1180e+06_rb,2.7454e+06_rb,1.3727e+06_rb,8.1398e+01_rb/) kbo(:, 3,41,16) = (/ & &5.1550e+06_rb,3.8663e+06_rb,2.5775e+06_rb,1.2888e+06_rb,6.4536e+01_rb/) kbo(:, 4,41,16) = (/ & &4.8434e+06_rb,3.6326e+06_rb,2.4217e+06_rb,1.2109e+06_rb,4.3960e+01_rb/) kbo(:, 5,41,16) = (/ & &4.5548e+06_rb,3.4161e+06_rb,2.2774e+06_rb,1.1387e+06_rb,3.7799e-04_rb/) kbo(:, 1,42,16) = (/ & &6.6900e+06_rb,5.0175e+06_rb,3.3450e+06_rb,1.6725e+06_rb,1.2124e+02_rb/) kbo(:, 2,42,16) = (/ & &6.2794e+06_rb,4.7096e+06_rb,3.1397e+06_rb,1.5698e+06_rb,8.5097e+01_rb/) kbo(:, 3,42,16) = (/ & &5.8926e+06_rb,4.4195e+06_rb,2.9463e+06_rb,1.4731e+06_rb,6.7520e+01_rb/) kbo(:, 4,42,16) = (/ & &5.5323e+06_rb,4.1492e+06_rb,2.7661e+06_rb,1.3831e+06_rb,4.6182e+01_rb/) kbo(:, 5,42,16) = (/ & &5.1983e+06_rb,3.8987e+06_rb,2.5991e+06_rb,1.2996e+06_rb,3.0509e-04_rb/) kbo(:, 1,43,16) = (/ & &7.7419e+06_rb,5.8065e+06_rb,3.8710e+06_rb,1.9355e+06_rb,1.2600e+02_rb/) kbo(:, 2,43,16) = (/ & &7.2619e+06_rb,5.4481e+06_rb,3.6321e+06_rb,1.8161e+06_rb,9.0385e+01_rb/) kbo(:, 3,43,16) = (/ & &6.8139e+06_rb,5.1104e+06_rb,3.4070e+06_rb,1.7035e+06_rb,7.0944e+01_rb/) kbo(:, 4,43,16) = (/ & &6.3928e+06_rb,4.7946e+06_rb,3.1964e+06_rb,1.5982e+06_rb,5.0507e+01_rb/) kbo(:, 5,43,16) = (/ & &6.0029e+06_rb,4.5022e+06_rb,3.0015e+06_rb,1.5007e+06_rb,2.4615e-04_rb/) kbo(:, 1,44,16) = (/ & &9.0918e+06_rb,6.8188e+06_rb,4.5458e+06_rb,2.2729e+06_rb,1.3122e+02_rb/) kbo(:, 2,44,16) = (/ & &8.5266e+06_rb,6.3949e+06_rb,4.2633e+06_rb,2.1316e+06_rb,9.7168e+01_rb/) kbo(:, 3,44,16) = (/ & &7.9959e+06_rb,5.9969e+06_rb,3.9979e+06_rb,1.9989e+06_rb,7.5640e+01_rb/) kbo(:, 4,44,16) = (/ & &7.4967e+06_rb,5.6225e+06_rb,3.7483e+06_rb,1.8741e+06_rb,5.7032e+01_rb/) kbo(:, 5,44,16) = (/ & &7.0357e+06_rb,5.2767e+06_rb,3.5178e+06_rb,1.7589e+06_rb,1.1125e-02_rb/) kbo(:, 1,45,16) = (/ & &1.0890e+07_rb,8.1678e+06_rb,5.4452e+06_rb,2.7226e+06_rb,1.3511e+02_rb/) kbo(:, 2,45,16) = (/ & &1.0206e+07_rb,7.6543e+06_rb,5.1028e+06_rb,2.5514e+06_rb,1.0320e+02_rb/) kbo(:, 3,45,16) = (/ & &9.5676e+06_rb,7.1757e+06_rb,4.7838e+06_rb,2.3919e+06_rb,7.9521e+01_rb/) kbo(:, 4,45,16) = (/ & &8.9682e+06_rb,6.7261e+06_rb,4.4841e+06_rb,2.2420e+06_rb,5.3314e+01_rb/) kbo(:, 5,45,16) = (/ & &8.4107e+06_rb,6.3080e+06_rb,4.2053e+06_rb,2.1027e+06_rb,2.2542e-04_rb/) kbo(:, 1,46,16) = (/ & &1.3200e+07_rb,9.8998e+06_rb,6.5999e+06_rb,3.2999e+06_rb,1.4245e+02_rb/) kbo(:, 2,46,16) = (/ & &1.2354e+07_rb,9.2658e+06_rb,6.1772e+06_rb,3.0886e+06_rb,1.1090e+02_rb/) kbo(:, 3,46,16) = (/ & &1.1578e+07_rb,8.6832e+06_rb,5.7888e+06_rb,2.8944e+06_rb,8.3717e+01_rb/) kbo(:, 4,46,16) = (/ & &1.0851e+07_rb,8.1384e+06_rb,5.4256e+06_rb,2.7128e+06_rb,5.1335e+01_rb/) kbo(:, 5,46,16) = (/ & &1.0172e+07_rb,7.6289e+06_rb,5.0860e+06_rb,2.5430e+06_rb,1.9729e-04_rb/) kbo(:, 1,47,16) = (/ & &1.5899e+07_rb,1.1924e+07_rb,7.9494e+06_rb,3.9747e+06_rb,1.4926e+02_rb/) kbo(:, 2,47,16) = (/ & &1.4859e+07_rb,1.1144e+07_rb,7.4297e+06_rb,3.7148e+06_rb,1.2298e+02_rb/) kbo(:, 3,47,16) = (/ & &1.3924e+07_rb,1.0443e+07_rb,6.9621e+06_rb,3.4810e+06_rb,8.5230e+01_rb/) kbo(:, 4,47,16) = (/ & &1.3046e+07_rb,9.7847e+06_rb,6.5231e+06_rb,3.2616e+06_rb,5.3561e+01_rb/) kbo(:, 5,47,16) = (/ & &1.2222e+07_rb,9.1665e+06_rb,6.1110e+06_rb,3.0555e+06_rb,1.6606e-04_rb/) kbo(:, 1,48,16) = (/ & &1.9701e+07_rb,1.4775e+07_rb,9.8503e+06_rb,4.9251e+06_rb,1.5645e+02_rb/) kbo(:, 2,48,16) = (/ & &1.8394e+07_rb,1.3796e+07_rb,9.1972e+06_rb,4.5986e+06_rb,1.4059e+02_rb/) kbo(:, 3,48,16) = (/ & &1.7217e+07_rb,1.2913e+07_rb,8.6087e+06_rb,4.3044e+06_rb,8.5580e+01_rb/) kbo(:, 4,48,16) = (/ & &1.6130e+07_rb,1.2097e+07_rb,8.0649e+06_rb,4.0324e+06_rb,5.5884e+01_rb/) kbo(:, 5,48,16) = (/ & &1.5108e+07_rb,1.1331e+07_rb,7.5542e+06_rb,3.7771e+06_rb,1.4110e-04_rb/) kbo(:, 1,49,16) = (/ & &2.5446e+07_rb,1.9085e+07_rb,1.2723e+07_rb,6.3615e+06_rb,1.6402e+02_rb/) kbo(:, 2,49,16) = (/ & &2.3735e+07_rb,1.7801e+07_rb,1.1868e+07_rb,5.9337e+06_rb,1.4463e+02_rb/) kbo(:, 3,49,16) = (/ & &2.2185e+07_rb,1.6639e+07_rb,1.1093e+07_rb,5.5463e+06_rb,8.5806e+01_rb/) kbo(:, 4,49,16) = (/ & &2.0781e+07_rb,1.5586e+07_rb,1.0390e+07_rb,5.1952e+06_rb,5.2515e+01_rb/) kbo(:, 5,49,16) = (/ & &1.9463e+07_rb,1.4597e+07_rb,9.7313e+06_rb,4.8656e+06_rb,1.1804e-04_rb/) kbo(:, 1,50,16) = (/ & &3.1256e+07_rb,2.3442e+07_rb,1.5628e+07_rb,7.8139e+06_rb,1.7145e+02_rb/) kbo(:, 2,50,16) = (/ & &2.9123e+07_rb,2.1842e+07_rb,1.4562e+07_rb,7.2808e+06_rb,1.4715e+02_rb/) kbo(:, 3,50,16) = (/ & &2.7197e+07_rb,2.0398e+07_rb,1.3599e+07_rb,6.7993e+06_rb,9.2079e+01_rb/) kbo(:, 4,50,16) = (/ & &2.5458e+07_rb,1.9094e+07_rb,1.2729e+07_rb,6.3645e+06_rb,5.7113e+01_rb/) kbo(:, 5,50,16) = (/ & &2.3842e+07_rb,1.7882e+07_rb,1.1921e+07_rb,5.9606e+06_rb,9.7879e-05_rb/) kbo(:, 1,51,16) = (/ & &3.7532e+07_rb,2.8149e+07_rb,1.8766e+07_rb,9.3831e+06_rb,1.7913e+02_rb/) kbo(:, 2,51,16) = (/ & &3.4951e+07_rb,2.6213e+07_rb,1.7476e+07_rb,8.7379e+06_rb,1.5348e+02_rb/) kbo(:, 3,51,16) = (/ & &3.2604e+07_rb,2.4453e+07_rb,1.6302e+07_rb,8.1511e+06_rb,9.9906e+01_rb/) kbo(:, 4,51,16) = (/ & &3.0489e+07_rb,2.2867e+07_rb,1.5245e+07_rb,7.6224e+06_rb,6.1926e+01_rb/) kbo(:, 5,51,16) = (/ & &2.8553e+07_rb,2.1415e+07_rb,1.4277e+07_rb,7.1383e+06_rb,8.2332e-05_rb/) kbo(:, 1,52,16) = (/ & &4.6363e+07_rb,3.4773e+07_rb,2.3182e+07_rb,1.1591e+07_rb,1.8724e+02_rb/) kbo(:, 2,52,16) = (/ & &4.3154e+07_rb,3.2365e+07_rb,2.1577e+07_rb,1.0789e+07_rb,1.5735e+02_rb/) kbo(:, 3,52,16) = (/ & &4.0219e+07_rb,3.0165e+07_rb,2.0110e+07_rb,1.0055e+07_rb,1.0819e+02_rb/) kbo(:, 4,52,16) = (/ & &3.7571e+07_rb,2.8178e+07_rb,1.8786e+07_rb,9.3929e+06_rb,6.5746e+01_rb/) kbo(:, 5,52,16) = (/ & &3.5175e+07_rb,2.6382e+07_rb,1.7588e+07_rb,8.7937e+06_rb,2.5991e+00_rb/) kbo(:, 1,53,16) = (/ & &5.9694e+07_rb,4.4771e+07_rb,2.9847e+07_rb,1.4924e+07_rb,1.9593e+02_rb/) kbo(:, 2,53,16) = (/ & &5.5520e+07_rb,4.1640e+07_rb,2.7760e+07_rb,1.3880e+07_rb,1.5986e+02_rb/) kbo(:, 3,53,16) = (/ & &5.1713e+07_rb,3.8785e+07_rb,2.5857e+07_rb,1.2928e+07_rb,1.1418e+02_rb/) kbo(:, 4,53,16) = (/ & &4.8267e+07_rb,3.6200e+07_rb,2.4134e+07_rb,1.2067e+07_rb,6.7101e+01_rb/) kbo(:, 5,53,16) = (/ & &4.5154e+07_rb,3.3866e+07_rb,2.2577e+07_rb,1.1289e+07_rb,5.4836e-05_rb/) kbo(:, 1,54,16) = (/ & &6.6291e+07_rb,4.9719e+07_rb,3.3146e+07_rb,1.6573e+07_rb,2.0438e+02_rb/) kbo(:, 2,54,16) = (/ & &6.1631e+07_rb,4.6223e+07_rb,3.0816e+07_rb,1.5408e+07_rb,1.7539e+02_rb/) kbo(:, 3,54,16) = (/ & &5.7374e+07_rb,4.3031e+07_rb,2.8687e+07_rb,1.4344e+07_rb,1.3582e+02_rb/) kbo(:, 4,54,16) = (/ & &5.3498e+07_rb,4.0123e+07_rb,2.6749e+07_rb,1.3375e+07_rb,7.9383e+01_rb/) kbo(:, 5,54,16) = (/ & &5.0001e+07_rb,3.7501e+07_rb,2.5001e+07_rb,1.2501e+07_rb,1.9380e+01_rb/) kbo(:, 1,55,16) = (/ & &6.7110e+07_rb,5.0333e+07_rb,3.3555e+07_rb,1.6778e+07_rb,2.1302e+02_rb/) kbo(:, 2,55,16) = (/ & &6.2350e+07_rb,4.6763e+07_rb,3.1175e+07_rb,1.5588e+07_rb,1.8842e+02_rb/) kbo(:, 3,55,16) = (/ & &5.8012e+07_rb,4.3509e+07_rb,2.9006e+07_rb,1.4503e+07_rb,1.5117e+02_rb/) kbo(:, 4,55,16) = (/ & &5.4054e+07_rb,4.0541e+07_rb,2.7027e+07_rb,1.3514e+07_rb,1.0060e+02_rb/) kbo(:, 5,55,16) = (/ & &5.0479e+07_rb,3.7859e+07_rb,2.5240e+07_rb,1.2620e+07_rb,5.1596e+01_rb/) kbo(:, 1,56,16) = (/ & &6.7946e+07_rb,5.0959e+07_rb,3.3973e+07_rb,1.6986e+07_rb,2.2213e+02_rb/) kbo(:, 2,56,16) = (/ & &6.3087e+07_rb,4.7315e+07_rb,3.1543e+07_rb,1.5771e+07_rb,1.9599e+02_rb/) kbo(:, 3,56,16) = (/ & &5.8660e+07_rb,4.3995e+07_rb,2.9330e+07_rb,1.4665e+07_rb,1.7426e+02_rb/) kbo(:, 4,56,16) = (/ & &5.4632e+07_rb,4.0974e+07_rb,2.7316e+07_rb,1.3658e+07_rb,1.3341e+02_rb/) kbo(:, 5,56,16) = (/ & &5.0980e+07_rb,3.8235e+07_rb,2.5490e+07_rb,1.2745e+07_rb,7.5113e+01_rb/) kbo(:, 1,57,16) = (/ & &6.8848e+07_rb,5.1636e+07_rb,3.4424e+07_rb,1.7212e+07_rb,2.3193e+02_rb/) kbo(:, 2,57,16) = (/ & &6.3831e+07_rb,4.7873e+07_rb,3.1915e+07_rb,1.5958e+07_rb,2.0396e+02_rb/) kbo(:, 3,57,16) = (/ & &5.9337e+07_rb,4.4503e+07_rb,2.9325e+07_rb,1.4834e+07_rb,1.8090e+02_rb/) kbo(:, 4,57,16) = (/ & &5.5232e+07_rb,4.1423e+07_rb,2.7615e+07_rb,1.3808e+07_rb,1.4946e+02_rb/) kbo(:, 5,57,16) = (/ & &5.1498e+07_rb,3.8623e+07_rb,2.5749e+07_rb,1.2874e+07_rb,9.6802e+01_rb/) kbo(:, 1,58,16) = (/ & &1.8392e+07_rb,1.6863e+07_rb,1.4458e+07_rb,1.0126e+07_rb,2.4193e+02_rb/) kbo(:, 2,58,16) = (/ & &1.7018e+07_rb,1.5603e+07_rb,1.3378e+07_rb,9.3701e+06_rb,2.1195e+02_rb/) kbo(:, 3,58,16) = (/ & &1.5812e+07_rb,1.4497e+07_rb,1.2430e+07_rb,8.7057e+06_rb,1.8755e+02_rb/) kbo(:, 4,58,16) = (/ & &1.4710e+07_rb,1.3487e+07_rb,1.1564e+07_rb,8.0993e+06_rb,1.6722e+02_rb/) kbo(:, 5,58,16) = (/ & &1.3707e+07_rb,1.2567e+07_rb,1.0775e+07_rb,7.5470e+06_rb,1.3461e+02_rb/) kbo(:, 1,59,16) = (/ & &2.1701e+07_rb,1.8948e+07_rb,1.5114e+07_rb,9.4051e+06_rb,2.4616e+02_rb/) kbo(:, 2,59,16) = (/ & &2.0062e+07_rb,1.7517e+07_rb,1.3973e+07_rb,8.5918e+06_rb,2.1536e+02_rb/) kbo(:, 3,59,16) = (/ & &1.8637e+07_rb,1.6273e+07_rb,1.2980e+07_rb,8.0770e+06_rb,1.9038e+02_rb/) kbo(:, 4,59,16) = (/ & &1.7332e+07_rb,1.5134e+07_rb,1.2072e+07_rb,7.5118e+06_rb,1.6959e+02_rb/) kbo(:, 5,59,16) = (/ & &1.6145e+07_rb,1.4097e+07_rb,1.1245e+07_rb,6.9973e+06_rb,1.5180e+02_rb/) ! The array FORREFO contains the coefficient of the water vapor ! foreign-continuum (including the energy term). The first ! index refers to reference temperature (296,260,224,260) and ! pressure (970,475,219,3 mbar) levels. The second index ! runs over the g-channel (1 to 16). forrefo(1,:) = (/ & &3.3839e-04_rb,2.4739e-04_rb,2.2846e-04_rb,2.3376e-04_rb,2.2622e-04_rb,2.3188e-04_rb, & &2.2990e-04_rb,2.2532e-04_rb,2.1233e-04_rb,2.0593e-04_rb,2.0716e-04_rb,2.0809e-04_rb, & &2.0889e-04_rb,2.0932e-04_rb,2.0944e-04_rb,2.0945e-04_rb/) forrefo(2,:) = (/ & &3.4391e-04_rb,2.6022e-04_rb,2.3449e-04_rb,2.4544e-04_rb,2.3831e-04_rb,2.3014e-04_rb, & &2.3729e-04_rb,2.2726e-04_rb,2.1892e-04_rb,1.9223e-04_rb,2.1291e-04_rb,2.1406e-04_rb, & &2.1491e-04_rb,2.1548e-04_rb,2.1562e-04_rb,2.1567e-04_rb/) forrefo(3,:) = (/ & &3.4219e-04_rb,2.7334e-04_rb,2.3727e-04_rb,2.4515e-04_rb,2.5272e-04_rb,2.4212e-04_rb, & &2.3824e-04_rb,2.3615e-04_rb,2.2724e-04_rb,2.2381e-04_rb,1.9634e-04_rb,2.1625e-04_rb, & &2.1963e-04_rb,2.2032e-04_rb,2.2057e-04_rb,2.2058e-04_rb/) forrefo(4,:) = (/ & &3.1684e-04_rb,2.4823e-04_rb,2.4890e-04_rb,2.4577e-04_rb,2.4106e-04_rb,2.4353e-04_rb, & &2.4038e-04_rb,2.3932e-04_rb,2.3604e-04_rb,2.3773e-04_rb,2.4243e-04_rb,2.2597e-04_rb, & &2.2879e-04_rb,2.2440e-04_rb,2.1104e-04_rb,2.1460e-04_rb/) ! The array SELFREFO contains the coefficient of the water vapor ! self-continuum (including the energy term). The first index ! refers to temperature in 7.2 degree increments. For instance, ! JT = 1 refers to a temperature of 245.6, JT = 2 refers to 252.8, ! etc. The second index runs over the g-channel (1 to 16). selfrefo(:, 1) = (/ & & 2.62922e-01_rb, 2.29106e-01_rb, 1.99640e-01_rb, 1.73964e-01_rb, 1.51589e-01_rb, & & 1.32093e-01_rb, 1.15104e-01_rb, 1.00300e-01_rb, 8.74000e-02_rb, 7.61592e-02_rb/) selfrefo(:, 2) = (/ & & 2.45448e-01_rb, 2.13212e-01_rb, 1.85210e-01_rb, 1.60886e-01_rb, 1.39756e-01_rb, & & 1.21401e-01_rb, 1.05457e-01_rb, 9.16070e-02_rb, 7.95759e-02_rb, 6.91249e-02_rb/) selfrefo(:, 3) = (/ & & 2.41595e-01_rb, 2.09697e-01_rb, 1.82010e-01_rb, 1.57979e-01_rb, 1.37121e-01_rb, & & 1.19016e-01_rb, 1.03302e-01_rb, 8.96630e-02_rb, 7.78246e-02_rb, 6.75492e-02_rb/) selfrefo(:, 4) = (/ & & 2.44818e-01_rb, 2.12172e-01_rb, 1.83880e-01_rb, 1.59360e-01_rb, 1.38110e-01_rb, & & 1.19694e-01_rb, 1.03733e-01_rb, 8.99010e-02_rb, 7.79131e-02_rb, 6.75238e-02_rb/) selfrefo(:, 5) = (/ & & 2.43458e-01_rb, 2.10983e-01_rb, 1.82840e-01_rb, 1.58451e-01_rb, 1.37315e-01_rb, & & 1.18998e-01_rb, 1.03125e-01_rb, 8.93690e-02_rb, 7.74480e-02_rb, 6.71171e-02_rb/) selfrefo(:, 6) = (/ & & 2.40186e-01_rb, 2.08745e-01_rb, 1.81420e-01_rb, 1.57672e-01_rb, 1.37032e-01_rb, & & 1.19095e-01_rb, 1.03505e-01_rb, 8.99560e-02_rb, 7.81806e-02_rb, 6.79467e-02_rb/) selfrefo(:, 7) = (/ & & 2.42752e-01_rb, 2.10579e-01_rb, 1.82670e-01_rb, 1.58460e-01_rb, 1.37459e-01_rb, & & 1.19240e-01_rb, 1.03437e-01_rb, 8.97280e-02_rb, 7.78359e-02_rb, 6.75200e-02_rb/) selfrefo(:, 8) = (/ & & 2.39620e-01_rb, 2.08166e-01_rb, 1.80840e-01_rb, 1.57101e-01_rb, 1.36479e-01_rb, & & 1.18563e-01_rb, 1.03000e-01_rb, 8.94790e-02_rb, 7.77332e-02_rb, 6.75292e-02_rb/) selfrefo(:, 9) = (/ & & 2.38856e-01_rb, 2.07166e-01_rb, 1.79680e-01_rb, 1.55841e-01_rb, 1.35165e-01_rb, & & 1.17232e-01_rb, 1.01678e-01_rb, 8.81880e-02_rb, 7.64877e-02_rb, 6.63397e-02_rb/) selfrefo(:,10) = (/ & & 2.29821e-01_rb, 2.00586e-01_rb, 1.75070e-01_rb, 1.52800e-01_rb, 1.33363e-01_rb, & & 1.16398e-01_rb, 1.01591e-01_rb, 8.86680e-02_rb, 7.73887e-02_rb, 6.75443e-02_rb/) selfrefo(:,11) = (/ & & 2.39945e-01_rb, 2.08186e-01_rb, 1.80630e-01_rb, 1.56722e-01_rb, 1.35978e-01_rb, & & 1.17980e-01_rb, 1.02364e-01_rb, 8.88150e-02_rb, 7.70594e-02_rb, 6.68598e-02_rb/) selfrefo(:,12) = (/ & & 2.40271e-01_rb, 2.08465e-01_rb, 1.80870e-01_rb, 1.56927e-01_rb, 1.36154e-01_rb, & & 1.18131e-01_rb, 1.02494e-01_rb, 8.89260e-02_rb, 7.71545e-02_rb, 6.69412e-02_rb/) selfrefo(:,13) = (/ & & 2.40503e-01_rb, 2.08670e-01_rb, 1.81050e-01_rb, 1.57086e-01_rb, 1.36294e-01_rb, & & 1.18254e-01_rb, 1.02602e-01_rb, 8.90210e-02_rb, 7.72380e-02_rb, 6.70147e-02_rb/) selfrefo(:,14) = (/ & & 2.40670e-01_rb, 2.08811e-01_rb, 1.81170e-01_rb, 1.57188e-01_rb, 1.36380e-01_rb, & & 1.18327e-01_rb, 1.02663e-01_rb, 8.90730e-02_rb, 7.72819e-02_rb, 6.70517e-02_rb/) selfrefo(:,15) = (/ & & 2.40711e-01_rb, 2.08846e-01_rb, 1.81200e-01_rb, 1.57213e-01_rb, 1.36402e-01_rb, & & 1.18346e-01_rb, 1.02679e-01_rb, 8.90870e-02_rb, 7.72939e-02_rb, 6.70621e-02_rb/) selfrefo(:,16) = (/ & & 2.40727e-01_rb, 2.08859e-01_rb, 1.81210e-01_rb, 1.57221e-01_rb, 1.36408e-01_rb, & & 1.18350e-01_rb, 1.02682e-01_rb, 8.90890e-02_rb, 7.72952e-02_rb, 6.70627e-02_rb/) end subroutine lw_kgb04 ! ************************************************************************** subroutine lw_kgb05 ! ************************************************************************** use parkind, only : im => kind_im, rb => kind_rb use rrlw_kg05, only : fracrefao, fracrefbo, kao, kbo, kao_mo3, & selfrefo, forrefo, ccl4o implicit none save ! Planck fraction mapping level : P = 473.42 mb, T = 259.83 fracrefao(:, 1) = (/ & 1.4111e-01_rb,1.4222e-01_rb,1.3802e-01_rb,1.3101e-01_rb,1.2244e-01_rb,1.0691e-01_rb, & 8.8703e-02_rb,6.7130e-02_rb,4.5509e-02_rb,4.9866e-03_rb,4.1214e-03_rb,3.2557e-03_rb, & 2.3805e-03_rb,1.5450e-03_rb,5.8423e-04_rb,8.2275e-05_rb/) fracrefao(:, 2) = (/ & 1.4152e-01_rb,1.4271e-01_rb,1.3784e-01_rb,1.3075e-01_rb,1.2215e-01_rb,1.0674e-01_rb, & 8.8686e-02_rb,6.7135e-02_rb,4.5508e-02_rb,4.9866e-03_rb,4.1214e-03_rb,3.2558e-03_rb, & 2.3805e-03_rb,1.5450e-03_rb,5.8423e-04_rb,8.2275e-05_rb/) fracrefao(:, 3) = (/ & 1.4159e-01_rb,1.4300e-01_rb,1.3781e-01_rb,1.3094e-01_rb,1.2192e-01_rb,1.0661e-01_rb, & 8.8529e-02_rb,6.7127e-02_rb,4.5511e-02_rb,4.9877e-03_rb,4.1214e-03_rb,3.2558e-03_rb, & 2.3805e-03_rb,1.5450e-03_rb,5.8423e-04_rb,8.2275e-05_rb/) fracrefao(:, 4) = (/ & 1.4162e-01_rb,1.4337e-01_rb,1.3774e-01_rb,1.3122e-01_rb,1.2172e-01_rb,1.0641e-01_rb, & 8.8384e-02_rb,6.7056e-02_rb,4.5514e-02_rb,4.9880e-03_rb,4.1214e-03_rb,3.2557e-03_rb, & 2.3805e-03_rb,1.5450e-03_rb,5.8423e-04_rb,8.2275e-05_rb/) fracrefao(:, 5) = (/ & 1.4161e-01_rb,1.4370e-01_rb,1.3770e-01_rb,1.3143e-01_rb,1.2173e-01_rb,1.0613e-01_rb, & 8.8357e-02_rb,6.6874e-02_rb,4.5509e-02_rb,4.9883e-03_rb,4.1214e-03_rb,3.2558e-03_rb, & 2.3804e-03_rb,1.5450e-03_rb,5.8423e-04_rb,8.2275e-05_rb/) fracrefao(:, 6) = (/ & 1.4154e-01_rb,1.4405e-01_rb,1.3771e-01_rb,1.3169e-01_rb,1.2166e-01_rb,1.0603e-01_rb, & 8.8193e-02_rb,6.6705e-02_rb,4.5469e-02_rb,4.9902e-03_rb,4.1214e-03_rb,3.2558e-03_rb, & 2.3804e-03_rb,1.5450e-03_rb,5.8423e-04_rb,8.2275e-05_rb/) fracrefao(:, 7) = (/ & 1.4126e-01_rb,1.4440e-01_rb,1.3790e-01_rb,1.3214e-01_rb,1.2153e-01_rb,1.0603e-01_rb, & 8.7908e-02_rb,6.6612e-02_rb,4.5269e-02_rb,4.9900e-03_rb,4.1256e-03_rb,3.2558e-03_rb, & 2.3804e-03_rb,1.5451e-03_rb,5.8423e-04_rb,8.2275e-05_rb/) fracrefao(:, 8) = (/ & 1.4076e-01_rb,1.4415e-01_rb,1.3885e-01_rb,1.3286e-01_rb,1.2147e-01_rb,1.0612e-01_rb, & 8.7579e-02_rb,6.6280e-02_rb,4.4977e-02_rb,4.9782e-03_rb,4.1200e-03_rb,3.2620e-03_rb, & 2.3820e-03_rb,1.5452e-03_rb,5.8423e-04_rb,8.2275e-05_rb/) fracrefao(:, 9) = (/ & 1.4205e-01_rb,1.4496e-01_rb,1.4337e-01_rb,1.3504e-01_rb,1.2260e-01_rb,1.0428e-01_rb, & 8.4946e-02_rb,6.3625e-02_rb,4.2951e-02_rb,4.7313e-03_rb,3.9157e-03_rb,3.0879e-03_rb, & 2.2666e-03_rb,1.5193e-03_rb,5.7469e-04_rb,8.1674e-05_rb/) ! Planck fraction mapping level : P = 0.2369280 mbar, T = 253.60 K fracrefbo(:, 1) = (/ & 1.4075e-01_rb,1.4196e-01_rb,1.3833e-01_rb,1.3345e-01_rb,1.2234e-01_rb,1.0718e-01_rb, & 8.8004e-02_rb,6.6308e-02_rb,4.5028e-02_rb,4.9029e-03_rb,4.0377e-03_rb,3.1870e-03_rb, & 2.3503e-03_rb,1.5146e-03_rb,5.7165e-04_rb,8.2371e-05_rb/) fracrefbo(:, 2) = (/ & 1.4081e-01_rb,1.4225e-01_rb,1.3890e-01_rb,1.3410e-01_rb,1.2254e-01_rb,1.0680e-01_rb, & 8.7391e-02_rb,6.5819e-02_rb,4.4725e-02_rb,4.9121e-03_rb,4.0420e-03_rb,3.1869e-03_rb, & 2.3504e-03_rb,1.5146e-03_rb,5.7165e-04_rb,8.2371e-05_rb/) fracrefbo(:, 3) = (/ & 1.4087e-01_rb,1.4227e-01_rb,1.3920e-01_rb,1.3395e-01_rb,1.2270e-01_rb,1.0694e-01_rb, & 8.7229e-02_rb,6.5653e-02_rb,4.4554e-02_rb,4.8797e-03_rb,4.0460e-03_rb,3.1939e-03_rb, & 2.3505e-03_rb,1.5146e-03_rb,5.7165e-04_rb,8.1910e-05_rb/) fracrefbo(:, 4) = (/ & 1.4089e-01_rb,1.4238e-01_rb,1.3956e-01_rb,1.3379e-01_rb,1.2284e-01_rb,1.0688e-01_rb, & 8.7192e-02_rb,6.5490e-02_rb,4.4390e-02_rb,4.8395e-03_rb,4.0173e-03_rb,3.2070e-03_rb, & 2.3559e-03_rb,1.5146e-03_rb,5.7165e-04_rb,8.2371e-05_rb/) fracrefbo(:, 5) = (/ & 1.4091e-01_rb,1.4417e-01_rb,1.4194e-01_rb,1.3457e-01_rb,1.2167e-01_rb,1.0551e-01_rb, & 8.6450e-02_rb,6.4889e-02_rb,4.3584e-02_rb,4.7551e-03_rb,3.9509e-03_rb,3.1374e-03_rb, & 2.3226e-03_rb,1.4942e-03_rb,5.7545e-04_rb,8.0887e-05_rb/) ! Minor gas mapping level : ! lower - o3, p = 317.34 mbar, t = 240.77 k ! lower - ccl4 ccl4o(:) = (/ & 26.1407_rb, 53.9776_rb, 63.8085_rb, 36.1701_rb, 15.4099_rb, 10.23116_rb, & 4.82948_rb, 5.03836_rb, 1.75558_rb, 0._rb, 0._rb, 0._rb, & 0._rb, 0._rb, 0._rb, 0._rb/) ! The array KAO contains absorption coefs for each of the 16 g-intervals ! for a range of pressure levels > ~100mb, temperatures, and ratios ! of water vapor to CO2. The first index in the array, JS, runs ! from 1 to 10, and corresponds to different gas column amount ratios, ! as expressed through the binary species parameter eta, defined as ! eta = gas1/(gas1 + (rat) * gas2), where rat is the ! ratio of the reference MLS column amount value of gas 1 ! to that of gas2. ! The 2nd index in the array, JT, which runs from 1 to 5, corresponds ! to different temperatures. More specifically, JT = 3 means that the ! data are for the reference temperature TREF for this pressure ! level, JT = 2 refers to the temperature ! TREF-15, JT = 1 is for TREF-30, JT = 4 is for TREF+15, and JT = 5 ! is for TREF+30. The third index, JP, runs from 1 to 13 and refers ! to the reference pressure level (e.g. JP = 1 is for a ! pressure of 1053.63 mb). The fourth index, IG, goes from 1 to 16, ! and tells us which g-interval the absorption coefficients are for. kao(:, 1, 1, 1) = (/ & &2.0627e-06_rb,7.6619e-06_rb,1.2821e-05_rb,1.8547e-05_rb,2.5694e-05_rb,3.6833e-05_rb, & &6.0675e-05_rb,1.0691e-04_rb,4.5186e-05_rb/) kao(:, 2, 1, 1) = (/ & &2.7702e-06_rb,1.0260e-05_rb,1.6067e-05_rb,2.2990e-05_rb,3.0808e-05_rb,4.1244e-05_rb, & &5.9411e-05_rb,1.1066e-04_rb,5.2628e-05_rb/) kao(:, 3, 1, 1) = (/ & &3.6863e-06_rb,1.3689e-05_rb,2.0068e-05_rb,2.8133e-05_rb,3.7359e-05_rb,4.8756e-05_rb, & &6.5660e-05_rb,1.0750e-04_rb,6.3147e-05_rb/) kao(:, 4, 1, 1) = (/ & &4.8209e-06_rb,1.8184e-05_rb,2.5811e-05_rb,3.2670e-05_rb,4.2393e-05_rb,5.7509e-05_rb, & &7.7672e-05_rb,1.1739e-04_rb,6.0614e-05_rb/) kao(:, 5, 1, 1) = (/ & &6.2011e-06_rb,2.3679e-05_rb,3.3185e-05_rb,4.1098e-05_rb,4.8872e-05_rb,6.0199e-05_rb, & &8.6830e-05_rb,1.3320e-04_rb,5.7959e-05_rb/) kao(:, 1, 2, 1) = (/ & &2.3538e-06_rb,6.7359e-06_rb,1.0280e-05_rb,1.4331e-05_rb,1.9304e-05_rb,2.5963e-05_rb, & &4.0842e-05_rb,7.0297e-05_rb,3.0786e-05_rb/) kao(:, 2, 2, 1) = (/ & &3.1800e-06_rb,9.2776e-06_rb,1.3401e-05_rb,1.8014e-05_rb,2.3501e-05_rb,3.0468e-05_rb, & &4.1030e-05_rb,7.2758e-05_rb,3.6807e-05_rb/) kao(:, 3, 2, 1) = (/ & &4.2644e-06_rb,1.2589e-05_rb,1.7414e-05_rb,2.2365e-05_rb,2.8924e-05_rb,3.6996e-05_rb, & &4.7459e-05_rb,7.1458e-05_rb,4.4453e-05_rb/) kao(:, 4, 2, 1) = (/ & &5.6334e-06_rb,1.6843e-05_rb,2.2937e-05_rb,2.8083e-05_rb,3.3609e-05_rb,4.3642e-05_rb, & &5.6794e-05_rb,7.9540e-05_rb,3.7769e-05_rb/) kao(:, 5, 2, 1) = (/ & &7.3165e-06_rb,2.2208e-05_rb,2.9987e-05_rb,3.5834e-05_rb,4.1117e-05_rb,4.7236e-05_rb, & &6.4507e-05_rb,9.1784e-05_rb,4.0356e-05_rb/) kao(:, 1, 3, 1) = (/ & &3.4149e-06_rb,6.8426e-06_rb,8.9161e-06_rb,1.1292e-05_rb,1.3987e-05_rb,1.7689e-05_rb, & &2.4623e-05_rb,4.0560e-05_rb,1.8741e-05_rb/) kao(:, 2, 3, 1) = (/ & &4.6295e-06_rb,9.5910e-06_rb,1.2218e-05_rb,1.4773e-05_rb,1.7906e-05_rb,2.1627e-05_rb, & &2.7175e-05_rb,4.1902e-05_rb,2.3338e-05_rb/) kao(:, 3, 3, 1) = (/ & &6.2620e-06_rb,1.3265e-05_rb,1.6740e-05_rb,1.9517e-05_rb,2.2851e-05_rb,2.6791e-05_rb, & &3.2311e-05_rb,4.3092e-05_rb,2.7303e-05_rb/) kao(:, 4, 3, 1) = (/ & &8.3825e-06_rb,1.8025e-05_rb,2.2633e-05_rb,2.5988e-05_rb,2.8756e-05_rb,3.2402e-05_rb, & &3.9084e-05_rb,5.0182e-05_rb,2.3119e-05_rb/) kao(:, 5, 3, 1) = (/ & &1.1030e-05_rb,2.4184e-05_rb,3.0218e-05_rb,3.4428e-05_rb,3.7379e-05_rb,3.9667e-05_rb, & &4.3975e-05_rb,5.8391e-05_rb,2.6206e-05_rb/) kao(:, 1, 4, 1) = (/ & &5.0171e-06_rb,7.6880e-06_rb,8.7791e-06_rb,9.8121e-06_rb,1.1212e-05_rb,1.2838e-05_rb, & &1.6066e-05_rb,2.4377e-05_rb,1.1689e-05_rb/) kao(:, 2, 4, 1) = (/ & &6.7946e-06_rb,1.0789e-05_rb,1.2297e-05_rb,1.3454e-05_rb,1.4738e-05_rb,1.6388e-05_rb, & &1.8978e-05_rb,2.5098e-05_rb,1.5123e-05_rb/) kao(:, 3, 4, 1) = (/ & &9.2346e-06_rb,1.5122e-05_rb,1.7217e-05_rb,1.8715e-05_rb,1.9870e-05_rb,2.1284e-05_rb, & &2.3541e-05_rb,2.8475e-05_rb,1.5817e-05_rb/) kao(:, 4, 4, 1) = (/ & &1.2485e-05_rb,2.0883e-05_rb,2.3764e-05_rb,2.5687e-05_rb,2.6834e-05_rb,2.7524e-05_rb, & &2.9511e-05_rb,3.4495e-05_rb,1.5461e-05_rb/) kao(:, 5, 4, 1) = (/ & &1.6688e-05_rb,2.8377e-05_rb,3.2282e-05_rb,3.4761e-05_rb,3.6075e-05_rb,3.6212e-05_rb, & &3.5832e-05_rb,4.0812e-05_rb,1.7475e-05_rb/) kao(:, 1, 5, 1) = (/ & &6.8849e-06_rb,8.9001e-06_rb,9.3032e-06_rb,9.4606e-06_rb,9.6746e-06_rb,1.0252e-05_rb, & &1.1422e-05_rb,1.5315e-05_rb,7.4550e-06_rb/) kao(:, 2, 5, 1) = (/ & &9.2829e-06_rb,1.2355e-05_rb,1.3006e-05_rb,1.3223e-05_rb,1.3294e-05_rb,1.3454e-05_rb, & &1.4383e-05_rb,1.6505e-05_rb,9.6725e-06_rb/) kao(:, 3, 5, 1) = (/ & &1.2628e-05_rb,1.7354e-05_rb,1.8341e-05_rb,1.8646e-05_rb,1.8560e-05_rb,1.8269e-05_rb, & &1.8381e-05_rb,1.9847e-05_rb,1.0746e-05_rb/) kao(:, 4, 5, 1) = (/ & &1.7178e-05_rb,2.4178e-05_rb,2.5699e-05_rb,2.6093e-05_rb,2.5857e-05_rb,2.5047e-05_rb, & &2.4039e-05_rb,2.4517e-05_rb,1.1239e-05_rb/) kao(:, 5, 5, 1) = (/ & &2.3232e-05_rb,3.3207e-05_rb,3.5417e-05_rb,3.5933e-05_rb,3.5521e-05_rb,3.4179e-05_rb, & &3.1639e-05_rb,3.0107e-05_rb,1.3413e-05_rb/) kao(:, 1, 6, 1) = (/ & &8.9763e-06_rb,1.0310e-05_rb,1.0152e-05_rb,9.7112e-06_rb,9.1573e-06_rb,8.7286e-06_rb, & &8.7100e-06_rb,1.0151e-05_rb,5.0468e-06_rb/) kao(:, 2, 6, 1) = (/ & &1.1944e-05_rb,1.4094e-05_rb,1.4098e-05_rb,1.3570e-05_rb,1.2771e-05_rb,1.1934e-05_rb, & &1.1288e-05_rb,1.1804e-05_rb,6.4542e-06_rb/) kao(:, 3, 6, 1) = (/ & &1.6264e-05_rb,1.9621e-05_rb,1.9778e-05_rb,1.9110e-05_rb,1.7995e-05_rb,1.6619e-05_rb, & &1.5210e-05_rb,1.4762e-05_rb,7.7867e-06_rb/) kao(:, 4, 6, 1) = (/ & &2.2127e-05_rb,2.7394e-05_rb,2.7774e-05_rb,2.6897e-05_rb,2.5333e-05_rb,2.3366e-05_rb, & &2.0855e-05_rb,1.8805e-05_rb,9.1527e-06_rb/) kao(:, 5, 6, 1) = (/ & &3.0031e-05_rb,3.7976e-05_rb,3.8538e-05_rb,3.7483e-05_rb,3.5390e-05_rb,3.2530e-05_rb, & &2.8729e-05_rb,2.4137e-05_rb,1.0787e-05_rb/) kao(:, 1, 7, 1) = (/ & &1.2661e-05_rb,1.3255e-05_rb,1.2476e-05_rb,1.1360e-05_rb,1.0126e-05_rb,8.8167e-06_rb, & &7.6811e-06_rb,7.2819e-06_rb,3.4701e-06_rb/) kao(:, 2, 7, 1) = (/ & &1.6507e-05_rb,1.7720e-05_rb,1.6880e-05_rb,1.5585e-05_rb,1.3986e-05_rb,1.2151e-05_rb, & &1.0259e-05_rb,8.9670e-06_rb,4.6214e-06_rb/) kao(:, 3, 7, 1) = (/ & &2.2311e-05_rb,2.4431e-05_rb,2.3459e-05_rb,2.1822e-05_rb,1.9662e-05_rb,1.7085e-05_rb, & &1.4272e-05_rb,1.1641e-05_rb,5.9077e-06_rb/) kao(:, 4, 7, 1) = (/ & &3.0470e-05_rb,3.3907e-05_rb,3.2735e-05_rb,3.0550e-05_rb,2.7736e-05_rb,2.4159e-05_rb, & &2.0093e-05_rb,1.5711e-05_rb,7.6152e-06_rb/) kao(:, 5, 7, 1) = (/ & &4.1581e-05_rb,4.6778e-05_rb,4.5634e-05_rb,4.2827e-05_rb,3.9000e-05_rb,3.4010e-05_rb, & &2.8185e-05_rb,2.1414e-05_rb,9.5151e-06_rb/) kao(:, 1, 8, 1) = (/ & &2.2110e-05_rb,2.1516e-05_rb,1.9520e-05_rb,1.7197e-05_rb,1.4610e-05_rb,1.1834e-05_rb, & &8.9776e-06_rb,6.4038e-06_rb,2.9294e-06_rb/) kao(:, 2, 8, 1) = (/ & &2.8119e-05_rb,2.7833e-05_rb,2.5591e-05_rb,2.2815e-05_rb,1.9548e-05_rb,1.6035e-05_rb, & &1.2291e-05_rb,8.4633e-06_rb,3.7469e-06_rb/) kao(:, 3, 8, 1) = (/ & &3.7519e-05_rb,3.7575e-05_rb,3.4963e-05_rb,3.1329e-05_rb,2.6989e-05_rb,2.2379e-05_rb, & &1.7209e-05_rb,1.1658e-05_rb,5.1343e-06_rb/) kao(:, 4, 8, 1) = (/ & &5.1233e-05_rb,5.1900e-05_rb,4.8534e-05_rb,4.3661e-05_rb,3.7852e-05_rb,3.1455e-05_rb, & &2.4380e-05_rb,1.6303e-05_rb,6.8677e-06_rb/) kao(:, 5, 8, 1) = (/ & &7.0275e-05_rb,7.1610e-05_rb,6.7129e-05_rb,6.0809e-05_rb,5.2885e-05_rb,4.4177e-05_rb, & &3.4435e-05_rb,2.2981e-05_rb,8.8724e-06_rb/) kao(:, 1, 9, 1) = (/ & &7.5307e-05_rb,6.8982e-05_rb,6.0564e-05_rb,5.1649e-05_rb,4.2335e-05_rb,3.2789e-05_rb, & &2.3004e-05_rb,1.2766e-05_rb,4.1976e-06_rb/) kao(:, 2, 9, 1) = (/ & &9.3306e-05_rb,8.6322e-05_rb,7.6065e-05_rb,6.5167e-05_rb,5.3786e-05_rb,4.2095e-05_rb, & &2.9960e-05_rb,1.6892e-05_rb,6.0950e-06_rb/) kao(:, 3, 9, 1) = (/ & &1.2202e-04_rb,1.1392e-04_rb,1.0068e-04_rb,8.6696e-05_rb,7.2080e-05_rb,5.6739e-05_rb, & &4.0820e-05_rb,2.3292e-05_rb,8.3200e-06_rb/) kao(:, 4, 9, 1) = (/ & &1.6580e-04_rb,1.5570e-04_rb,1.3769e-04_rb,1.1869e-04_rb,9.9119e-05_rb,7.8735e-05_rb, & &5.6759e-05_rb,3.2860e-05_rb,1.0538e-05_rb/) kao(:, 5, 9, 1) = (/ & &2.2845e-04_rb,2.1403e-04_rb,1.8995e-04_rb,1.6428e-04_rb,1.3747e-04_rb,1.0943e-04_rb, & &7.9478e-05_rb,4.6333e-05_rb,1.2645e-05_rb/) kao(:, 1,10, 1) = (/ & &2.9742e-04_rb,2.6515e-04_rb,2.2972e-04_rb,1.9315e-04_rb,1.5610e-04_rb,1.1880e-04_rb, & &8.1117e-05_rb,4.2319e-05_rb,6.3944e-06_rb/) kao(:, 2,10, 1) = (/ & &3.6180e-04_rb,3.2444e-04_rb,2.8214e-04_rb,2.3809e-04_rb,1.9281e-04_rb,1.4714e-04_rb, & &1.0099e-04_rb,5.3082e-05_rb,9.7791e-06_rb/) kao(:, 3,10, 1) = (/ & &4.6752e-04_rb,4.2137e-04_rb,3.6703e-04_rb,3.1031e-04_rb,2.5194e-04_rb,1.9278e-04_rb, & &1.3274e-04_rb,7.0692e-05_rb,1.3731e-05_rb/) kao(:, 4,10, 1) = (/ & &6.3024e-04_rb,5.6976e-04_rb,4.9706e-04_rb,4.2128e-04_rb,3.4229e-04_rb,2.6250e-04_rb, & &1.8103e-04_rb,9.7478e-05_rb,1.8873e-05_rb/) kao(:, 5,10, 1) = (/ & &8.6816e-04_rb,7.8510e-04_rb,6.8602e-04_rb,5.8224e-04_rb,4.7468e-04_rb,3.6394e-04_rb, & &2.5185e-04_rb,1.3590e-04_rb,2.4864e-05_rb/) kao(:, 1,11, 1) = (/ & &4.4215e-04_rb,3.9273e-04_rb,3.3972e-04_rb,2.8576e-04_rb,2.3079e-04_rb,1.7475e-04_rb, & &1.1858e-04_rb,6.1576e-05_rb,6.9970e-06_rb/) kao(:, 2,11, 1) = (/ & &5.4524e-04_rb,4.8624e-04_rb,4.2158e-04_rb,3.5507e-04_rb,2.8728e-04_rb,2.1797e-04_rb, & &1.4849e-04_rb,7.7710e-05_rb,1.0796e-05_rb/) kao(:, 3,11, 1) = (/ & &7.1212e-04_rb,6.3874e-04_rb,5.5491e-04_rb,4.6791e-04_rb,3.7968e-04_rb,2.8946e-04_rb, & &1.9751e-04_rb,1.0405e-04_rb,1.6156e-05_rb/) kao(:, 4,11, 1) = (/ & &9.7112e-04_rb,8.7198e-04_rb,7.5717e-04_rb,6.3918e-04_rb,5.1919e-04_rb,3.9650e-04_rb, & &2.7055e-04_rb,1.4272e-04_rb,2.2761e-05_rb/) kao(:, 5,11, 1) = (/ & &1.3431e-03_rb,1.2076e-03_rb,1.0484e-03_rb,8.8503e-04_rb,7.1868e-04_rb,5.4992e-04_rb, & &3.7609e-04_rb,1.9954e-04_rb,2.9940e-05_rb/) kao(:, 1,12, 1) = (/ & &4.8443e-04_rb,4.2968e-04_rb,3.7109e-04_rb,3.1171e-04_rb,2.5157e-04_rb,1.9045e-04_rb, & &1.2868e-04_rb,6.6606e-05_rb,6.8294e-06_rb/) kao(:, 2,12, 1) = (/ & &6.0269e-04_rb,5.3630e-04_rb,4.6453e-04_rb,3.9092e-04_rb,3.1605e-04_rb,2.4000e-04_rb, & &1.6259e-04_rb,8.4751e-05_rb,1.0182e-05_rb/) kao(:, 3,12, 1) = (/ & &7.9706e-04_rb,7.1250e-04_rb,6.1805e-04_rb,5.2087e-04_rb,4.2192e-04_rb,3.2125e-04_rb, & &2.1834e-04_rb,1.1445e-04_rb,1.5140e-05_rb/) kao(:, 4,12, 1) = (/ & &1.0910e-03_rb,9.7656e-04_rb,8.4711e-04_rb,7.1442e-04_rb,5.7891e-04_rb,4.4221e-04_rb, & &3.0181e-04_rb,1.5855e-04_rb,2.1388e-05_rb/) kao(:, 5,12, 1) = (/ & &1.5134e-03_rb,1.3551e-03_rb,1.1752e-03_rb,9.9093e-04_rb,8.0388e-04_rb,6.1444e-04_rb, & &4.2020e-04_rb,2.2117e-04_rb,2.9059e-05_rb/) kao(:, 1,13, 1) = (/ & &4.2625e-04_rb,3.7812e-04_rb,3.2711e-04_rb,2.7465e-04_rb,2.2177e-04_rb,1.6800e-04_rb, & &1.1342e-04_rb,5.8678e-05_rb,7.1193e-06_rb/) kao(:, 2,13, 1) = (/ & &5.3759e-04_rb,4.7832e-04_rb,4.1433e-04_rb,3.4844e-04_rb,2.8188e-04_rb,2.1423e-04_rb, & &1.4519e-04_rb,7.5588e-05_rb,1.0317e-05_rb/) kao(:, 3,13, 1) = (/ & &7.2018e-04_rb,6.4309e-04_rb,5.5764e-04_rb,4.6948e-04_rb,3.8030e-04_rb,2.8938e-04_rb, & &1.9678e-04_rb,1.0285e-04_rb,1.4041e-05_rb/) kao(:, 4,13, 1) = (/ & &9.8953e-04_rb,8.8546e-04_rb,7.6800e-04_rb,6.4711e-04_rb,5.2450e-04_rb,3.9956e-04_rb, & &2.7312e-04_rb,1.4349e-04_rb,1.9954e-05_rb/) kao(:, 5,13, 1) = (/ & &1.3790e-03_rb,1.2366e-03_rb,1.0731e-03_rb,9.0477e-04_rb,7.3377e-04_rb,5.6037e-04_rb, & &3.8365e-04_rb,2.0147e-04_rb,2.6871e-05_rb/) kao(:, 1, 1, 2) = (/ & &6.2300e-06_rb,2.3124e-05_rb,2.9698e-05_rb,3.9591e-05_rb,5.8380e-05_rb,9.5125e-05_rb, & &1.3537e-04_rb,2.8288e-04_rb,9.7543e-05_rb/) kao(:, 2, 1, 2) = (/ & &9.0246e-06_rb,3.3229e-05_rb,4.2160e-05_rb,4.9478e-05_rb,6.0779e-05_rb,8.5533e-05_rb, & &1.5267e-04_rb,2.3904e-04_rb,8.0422e-05_rb/) kao(:, 3, 1, 2) = (/ & &1.2807e-05_rb,4.6362e-05_rb,5.9074e-05_rb,6.7253e-05_rb,7.5131e-05_rb,8.9889e-05_rb, & &1.2494e-04_rb,2.6418e-04_rb,7.9145e-05_rb/) kao(:, 4, 1, 2) = (/ & &1.7786e-05_rb,6.3031e-05_rb,8.0225e-05_rb,9.3521e-05_rb,1.0301e-04_rb,1.0987e-04_rb, & &1.2899e-04_rb,2.0499e-04_rb,1.0830e-04_rb/) kao(:, 5, 1, 2) = (/ & &2.4116e-05_rb,8.3783e-05_rb,1.0646e-04_rb,1.2431e-04_rb,1.3944e-04_rb,1.5277e-04_rb, & &1.5881e-04_rb,2.0933e-04_rb,1.4344e-04_rb/) kao(:, 1, 2, 2) = (/ & &7.1421e-06_rb,2.2132e-05_rb,2.7590e-05_rb,3.3376e-05_rb,4.3482e-05_rb,6.6128e-05_rb, & &9.2521e-05_rb,1.8166e-04_rb,6.3119e-05_rb/) kao(:, 2, 2, 2) = (/ & &1.0480e-05_rb,3.2273e-05_rb,3.9804e-05_rb,4.4484e-05_rb,4.9766e-05_rb,6.2224e-05_rb, & &1.0181e-04_rb,1.6062e-04_rb,5.5112e-05_rb/) kao(:, 3, 2, 2) = (/ & &1.5069e-05_rb,4.5805e-05_rb,5.6454e-05_rb,6.2730e-05_rb,6.6262e-05_rb,7.1655e-05_rb, & &8.8554e-05_rb,1.7608e-04_rb,5.4833e-05_rb/) kao(:, 4, 2, 2) = (/ & &2.1158e-05_rb,6.3205e-05_rb,7.7534e-05_rb,8.6669e-05_rb,9.2743e-05_rb,9.3710e-05_rb, & &9.8368e-05_rb,1.4175e-04_rb,8.3989e-05_rb/) kao(:, 5, 2, 2) = (/ & &2.9018e-05_rb,8.5014e-05_rb,1.0387e-04_rb,1.1638e-04_rb,1.2535e-04_rb,1.3160e-04_rb, & &1.2952e-04_rb,1.4715e-04_rb,1.0168e-04_rb/) kao(:, 1, 3, 2) = (/ & &1.0134e-05_rb,2.3698e-05_rb,2.8098e-05_rb,3.0832e-05_rb,3.4559e-05_rb,4.2739e-05_rb, & &5.8413e-05_rb,1.0086e-04_rb,3.2546e-05_rb/) kao(:, 2, 3, 2) = (/ & &1.5067e-05_rb,3.5478e-05_rb,4.1782e-05_rb,4.4927e-05_rb,4.6304e-05_rb,4.9338e-05_rb, & &6.0952e-05_rb,9.7126e-05_rb,3.2271e-05_rb/) kao(:, 3, 3, 2) = (/ & &2.2020e-05_rb,5.1526e-05_rb,6.0415e-05_rb,6.4785e-05_rb,6.5815e-05_rb,6.4970e-05_rb, & &6.6401e-05_rb,9.8577e-05_rb,3.7377e-05_rb/) kao(:, 4, 3, 2) = (/ & &3.1402e-05_rb,7.2606e-05_rb,8.4750e-05_rb,9.0680e-05_rb,9.2879e-05_rb,9.1127e-05_rb, & &8.5666e-05_rb,9.2372e-05_rb,5.9881e-05_rb/) kao(:, 5, 3, 2) = (/ & &4.3798e-05_rb,9.9375e-05_rb,1.1577e-04_rb,1.2361e-04_rb,1.2645e-04_rb,1.2543e-04_rb, & &1.1954e-04_rb,1.0799e-04_rb,6.6216e-05_rb/) kao(:, 1, 4, 2) = (/ & &1.4395e-05_rb,2.6113e-05_rb,2.9242e-05_rb,3.0501e-05_rb,3.0825e-05_rb,3.2335e-05_rb, & &3.9824e-05_rb,5.5770e-05_rb,1.8987e-05_rb/) kao(:, 2, 4, 2) = (/ & &2.1448e-05_rb,3.9639e-05_rb,4.4560e-05_rb,4.6391e-05_rb,4.5970e-05_rb,4.4537e-05_rb, & &4.5440e-05_rb,6.3416e-05_rb,1.9764e-05_rb/) kao(:, 3, 4, 2) = (/ & &3.1834e-05_rb,5.8680e-05_rb,6.6149e-05_rb,6.8528e-05_rb,6.7668e-05_rb,6.3937e-05_rb, & &5.8285e-05_rb,6.2232e-05_rb,2.7306e-05_rb/) kao(:, 4, 4, 2) = (/ & &4.6271e-05_rb,8.4438e-05_rb,9.5181e-05_rb,9.8206e-05_rb,9.6873e-05_rb,9.1747e-05_rb, & &8.1681e-05_rb,6.9834e-05_rb,3.9615e-05_rb/) kao(:, 5, 4, 2) = (/ & &6.5671e-05_rb,1.1809e-04_rb,1.3274e-04_rb,1.3673e-04_rb,1.3457e-04_rb,1.2744e-04_rb, & &1.1523e-04_rb,9.3255e-05_rb,4.5946e-05_rb/) kao(:, 1, 5, 2) = (/ & &1.8932e-05_rb,2.8174e-05_rb,3.0127e-05_rb,3.0189e-05_rb,2.9303e-05_rb,2.7710e-05_rb, & &2.8724e-05_rb,3.6981e-05_rb,1.2871e-05_rb/) kao(:, 2, 5, 2) = (/ & &2.8193e-05_rb,4.3103e-05_rb,4.6483e-05_rb,4.6716e-05_rb,4.5184e-05_rb,4.1972e-05_rb, & &3.7796e-05_rb,4.2113e-05_rb,1.5002e-05_rb/) kao(:, 3, 5, 2) = (/ & &4.2171e-05_rb,6.4890e-05_rb,7.0138e-05_rb,7.0754e-05_rb,6.8197e-05_rb,6.2875e-05_rb, & &5.4545e-05_rb,4.7871e-05_rb,1.9971e-05_rb/) kao(:, 4, 5, 2) = (/ & &6.2206e-05_rb,9.5463e-05_rb,1.0284e-04_rb,1.0393e-04_rb,9.9869e-05_rb,9.1904e-05_rb, & &7.9592e-05_rb,6.1772e-05_rb,2.7676e-05_rb/) kao(:, 5, 5, 2) = (/ & &8.9897e-05_rb,1.3643e-04_rb,1.4635e-04_rb,1.4773e-04_rb,1.4191e-04_rb,1.3018e-04_rb, & &1.1303e-04_rb,8.6827e-05_rb,3.3409e-05_rb/) kao(:, 1, 6, 2) = (/ & &2.3688e-05_rb,3.0481e-05_rb,3.1060e-05_rb,3.0054e-05_rb,2.7961e-05_rb,2.5367e-05_rb, & &2.2999e-05_rb,2.6629e-05_rb,1.0275e-05_rb/) kao(:, 2, 6, 2) = (/ & &3.4582e-05_rb,4.5983e-05_rb,4.7133e-05_rb,4.6002e-05_rb,4.3141e-05_rb,3.8854e-05_rb, & &3.3303e-05_rb,2.9897e-05_rb,1.2224e-05_rb/) kao(:, 3, 6, 2) = (/ & &5.1699e-05_rb,6.9356e-05_rb,7.1684e-05_rb,7.0505e-05_rb,6.6405e-05_rb,5.9819e-05_rb, & &5.0541e-05_rb,3.9074e-05_rb,1.6179e-05_rb/) kao(:, 4, 6, 2) = (/ & &7.7368e-05_rb,1.0342e-04_rb,1.0714e-04_rb,1.0541e-04_rb,9.9595e-05_rb,8.9603e-05_rb, & &7.5459e-05_rb,5.5384e-05_rb,2.1206e-05_rb/) kao(:, 5, 6, 2) = (/ & &1.1347e-04_rb,1.5064e-04_rb,1.5637e-04_rb,1.5316e-04_rb,1.4449e-04_rb,1.2985e-04_rb, & &1.0910e-04_rb,8.0324e-05_rb,2.6862e-05_rb/) kao(:, 1, 7, 2) = (/ & &3.2355e-05_rb,3.6612e-05_rb,3.5642e-05_rb,3.3581e-05_rb,3.0393e-05_rb,2.6088e-05_rb, & &2.1415e-05_rb,1.9368e-05_rb,9.5314e-06_rb/) kao(:, 2, 7, 2) = (/ & &4.6022e-05_rb,5.3816e-05_rb,5.2843e-05_rb,4.9963e-05_rb,4.5493e-05_rb,3.9581e-05_rb, & &3.2262e-05_rb,2.4294e-05_rb,1.1772e-05_rb/) kao(:, 3, 7, 2) = (/ & &6.7685e-05_rb,8.0405e-05_rb,7.9935e-05_rb,7.5649e-05_rb,6.9218e-05_rb,6.0527e-05_rb, & &4.9342e-05_rb,3.5155e-05_rb,1.4463e-05_rb/) kao(:, 4, 7, 2) = (/ & &1.0120e-04_rb,1.2036e-04_rb,1.2034e-04_rb,1.1418e-04_rb,1.0434e-04_rb,9.1774e-05_rb, & &7.5257e-05_rb,5.2793e-05_rb,1.8375e-05_rb/) kao(:, 5, 7, 2) = (/ & &1.5071e-04_rb,1.7822e-04_rb,1.7733e-04_rb,1.6840e-04_rb,1.5410e-04_rb,1.3584e-04_rb, & &1.1141e-04_rb,7.8080e-05_rb,2.3868e-05_rb/) kao(:, 1, 8, 2) = (/ & &5.5226e-05_rb,5.6106e-05_rb,5.2275e-05_rb,4.7400e-05_rb,4.1299e-05_rb,3.4449e-05_rb, & &2.6593e-05_rb,1.7838e-05_rb,1.0224e-05_rb/) kao(:, 2, 8, 2) = (/ & &7.6682e-05_rb,7.9501e-05_rb,7.4950e-05_rb,6.8270e-05_rb,5.9838e-05_rb,5.0360e-05_rb, & &3.9211e-05_rb,2.5644e-05_rb,1.3679e-05_rb/) kao(:, 3, 8, 2) = (/ & &1.1162e-04_rb,1.1744e-04_rb,1.1105e-04_rb,1.0166e-04_rb,8.9544e-05_rb,7.5446e-05_rb, & &5.9105e-05_rb,3.8912e-05_rb,1.6924e-05_rb/) kao(:, 4, 8, 2) = (/ & &1.6426e-04_rb,1.7413e-04_rb,1.6536e-04_rb,1.5206e-04_rb,1.3480e-04_rb,1.1398e-04_rb, & &8.9434e-05_rb,5.9125e-05_rb,2.1439e-05_rb/) kao(:, 5, 8, 2) = (/ & &2.4317e-04_rb,2.5868e-04_rb,2.4524e-04_rb,2.2533e-04_rb,2.0048e-04_rb,1.6943e-04_rb, & &1.3297e-04_rb,8.8280e-05_rb,2.6395e-05_rb/) kao(:, 1, 9, 2) = (/ & &1.8480e-04_rb,1.7106e-04_rb,1.5192e-04_rb,1.3086e-04_rb,1.0905e-04_rb,8.6158e-05_rb, & &6.2340e-05_rb,3.6177e-05_rb,1.4903e-05_rb/) kao(:, 2, 9, 2) = (/ & &2.4641e-04_rb,2.3135e-04_rb,2.0759e-04_rb,1.8017e-04_rb,1.5122e-04_rb,1.2054e-04_rb, & &8.8111e-05_rb,5.2211e-05_rb,2.0425e-05_rb/) kao(:, 3, 9, 2) = (/ & &3.5294e-04_rb,3.3406e-04_rb,3.0047e-04_rb,2.6193e-04_rb,2.2100e-04_rb,1.7727e-04_rb, & &1.3000e-04_rb,7.7386e-05_rb,2.5956e-05_rb/) kao(:, 4, 9, 2) = (/ & &5.2033e-04_rb,4.9504e-04_rb,4.4640e-04_rb,3.9034e-04_rb,3.2978e-04_rb,2.6409e-04_rb, & &1.9434e-04_rb,1.1587e-04_rb,3.4101e-05_rb/) kao(:, 5, 9, 2) = (/ & &7.6495e-04_rb,7.3083e-04_rb,6.5854e-04_rb,5.7617e-04_rb,4.8713e-04_rb,3.9080e-04_rb, & &2.8811e-04_rb,1.7251e-04_rb,4.3686e-05_rb/) kao(:, 1,10, 2) = (/ & &7.1951e-04_rb,6.4170e-04_rb,5.5848e-04_rb,4.7254e-04_rb,3.8543e-04_rb,2.9616e-04_rb, & &2.0442e-04_rb,1.0914e-04_rb,2.8683e-05_rb/) kao(:, 2,10, 2) = (/ & &9.5077e-04_rb,8.5141e-04_rb,7.4327e-04_rb,6.3053e-04_rb,5.1626e-04_rb,3.9828e-04_rb, & &2.7613e-04_rb,1.4913e-04_rb,3.8199e-05_rb/) kao(:, 3,10, 2) = (/ & &1.3355e-03_rb,1.2001e-03_rb,1.0504e-03_rb,8.9360e-04_rb,7.3324e-04_rb,5.6715e-04_rb, & &3.9425e-04_rb,2.1480e-04_rb,4.7134e-05_rb/) kao(:, 4,10, 2) = (/ & &1.9553e-03_rb,1.7643e-03_rb,1.5470e-03_rb,1.3173e-03_rb,1.0803e-03_rb,8.3446e-04_rb, & &5.8166e-04_rb,3.1871e-04_rb,5.8212e-05_rb/) kao(:, 5,10, 2) = (/ & &2.8783e-03_rb,2.5953e-03_rb,2.2770e-03_rb,1.9407e-03_rb,1.5909e-03_rb,1.2316e-03_rb, & &8.6003e-04_rb,4.7307e-04_rb,7.1136e-05_rb/) kao(:, 1,11, 2) = (/ & &1.1139e-03_rb,9.8774e-04_rb,8.5580e-04_rb,7.2091e-04_rb,5.8416e-04_rb,4.4688e-04_rb, & &3.0678e-04_rb,1.6222e-04_rb,3.9161e-05_rb/) kao(:, 2,11, 2) = (/ & &1.5083e-03_rb,1.3423e-03_rb,1.1649e-03_rb,9.8455e-04_rb,8.0047e-04_rb,6.1397e-04_rb, & &4.2291e-04_rb,2.2482e-04_rb,5.4701e-05_rb/) kao(:, 3,11, 2) = (/ & &2.1559e-03_rb,1.9181e-03_rb,1.6686e-03_rb,1.4112e-03_rb,1.1484e-03_rb,8.7957e-04_rb, & &6.0584e-04_rb,3.2346e-04_rb,6.6564e-05_rb/) kao(:, 4,11, 2) = (/ & &3.1472e-03_rb,2.8085e-03_rb,2.4474e-03_rb,2.0740e-03_rb,1.6883e-03_rb,1.2953e-03_rb, & &8.9345e-04_rb,4.7890e-04_rb,8.3118e-05_rb/) kao(:, 5,11, 2) = (/ & &4.6362e-03_rb,4.1388e-03_rb,3.6072e-03_rb,3.0601e-03_rb,2.4938e-03_rb,1.9129e-03_rb, & &1.3182e-03_rb,7.0366e-04_rb,1.0053e-04_rb/) kao(:, 1,12, 2) = (/ & &1.2746e-03_rb,1.1293e-03_rb,9.7744e-04_rb,8.2280e-04_rb,6.6509e-04_rb,5.0694e-04_rb, & &3.4671e-04_rb,1.8255e-04_rb,4.0437e-05_rb/) kao(:, 2,12, 2) = (/ & &1.7556e-03_rb,1.5589e-03_rb,1.3508e-03_rb,1.1390e-03_rb,9.2389e-04_rb,7.0640e-04_rb, & &4.8477e-04_rb,2.5611e-04_rb,5.8338e-05_rb/) kao(:, 3,12, 2) = (/ & &2.5208e-03_rb,2.2390e-03_rb,1.9427e-03_rb,1.6407e-03_rb,1.3325e-03_rb,1.0177e-03_rb, & &6.9952e-04_rb,3.6990e-04_rb,7.2977e-05_rb/) kao(:, 4,12, 2) = (/ & &3.7199e-03_rb,3.3065e-03_rb,2.8736e-03_rb,2.4286e-03_rb,1.9715e-03_rb,1.5043e-03_rb, & &1.0308e-03_rb,5.4613e-04_rb,9.0596e-05_rb/) kao(:, 5,12, 2) = (/ & &5.4892e-03_rb,4.8847e-03_rb,4.2441e-03_rb,3.5888e-03_rb,2.9119e-03_rb,2.2221e-03_rb, & &1.5249e-03_rb,8.0704e-04_rb,1.1205e-04_rb/) kao(:, 1,13, 2) = (/ & &1.1670e-03_rb,1.0343e-03_rb,8.9403e-04_rb,7.5206e-04_rb,6.0815e-04_rb,4.6361e-04_rb, & &3.1684e-04_rb,1.6665e-04_rb,3.8297e-05_rb/) kao(:, 2,13, 2) = (/ & &1.6263e-03_rb,1.4448e-03_rb,1.2518e-03_rb,1.0548e-03_rb,8.5537e-04_rb,6.5308e-04_rb, & &4.4734e-04_rb,2.3634e-04_rb,5.4012e-05_rb/) kao(:, 3,13, 2) = (/ & &2.3576e-03_rb,2.0975e-03_rb,1.8201e-03_rb,1.5368e-03_rb,1.2479e-03_rb,9.5295e-04_rb, & &6.5303e-04_rb,3.4532e-04_rb,6.8858e-05_rb/) kao(:, 4,13, 2) = (/ & &3.5158e-03_rb,3.1277e-03_rb,2.7158e-03_rb,2.2939e-03_rb,1.8617e-03_rb,1.4210e-03_rb, & &9.7237e-04_rb,5.1302e-04_rb,8.6284e-05_rb/) kao(:, 5,13, 2) = (/ & &5.1868e-03_rb,4.6126e-03_rb,4.0043e-03_rb,3.3796e-03_rb,2.7407e-03_rb,2.0921e-03_rb, & &1.4302e-03_rb,7.5554e-04_rb,1.0703e-04_rb/) kao(:, 1, 1, 3) = (/ & &2.1967e-05_rb,7.0847e-05_rb,9.8056e-05_rb,1.1683e-04_rb,1.2672e-04_rb,1.3386e-04_rb, & &1.7335e-04_rb,3.0889e-04_rb,1.4104e-04_rb/) kao(:, 2, 1, 3) = (/ & &3.2805e-05_rb,1.0021e-04_rb,1.3719e-04_rb,1.6469e-04_rb,1.8755e-04_rb,2.0275e-04_rb, & &1.9715e-04_rb,2.9590e-04_rb,1.6430e-04_rb/) kao(:, 3, 1, 3) = (/ & &4.7330e-05_rb,1.3749e-04_rb,1.8575e-04_rb,2.2309e-04_rb,2.5257e-04_rb,2.7701e-04_rb, & &3.0293e-04_rb,3.2277e-04_rb,1.5833e-04_rb/) kao(:, 4, 1, 3) = (/ & &6.6184e-05_rb,1.8358e-04_rb,2.4505e-04_rb,2.9115e-04_rb,3.2275e-04_rb,3.3970e-04_rb, & &3.6327e-04_rb,4.7032e-04_rb,1.5296e-04_rb/) kao(:, 5, 1, 3) = (/ & &8.9953e-05_rb,2.3845e-04_rb,3.1568e-04_rb,3.7021e-04_rb,4.0111e-04_rb,4.1250e-04_rb, & &4.1712e-04_rb,4.9013e-04_rb,1.7116e-04_rb/) kao(:, 1, 2, 3) = (/ & &2.6480e-05_rb,6.7795e-05_rb,8.8273e-05_rb,1.0239e-04_rb,1.1087e-04_rb,1.1252e-04_rb, & &1.2626e-04_rb,1.7765e-04_rb,1.0235e-04_rb/) kao(:, 2, 2, 3) = (/ & &4.0229e-05_rb,9.8115e-05_rb,1.2639e-04_rb,1.4693e-04_rb,1.6171e-04_rb,1.7149e-04_rb, & &1.6078e-04_rb,2.0296e-04_rb,1.0513e-04_rb/) kao(:, 3, 2, 3) = (/ & &5.9019e-05_rb,1.3751e-04_rb,1.7468e-04_rb,2.0166e-04_rb,2.2223e-04_rb,2.3730e-04_rb, & &2.4647e-04_rb,2.3569e-04_rb,1.0639e-04_rb/) kao(:, 4, 2, 3) = (/ & &8.3741e-05_rb,1.8682e-04_rb,2.3419e-04_rb,2.6910e-04_rb,2.9309e-04_rb,3.0629e-04_rb, & &3.1256e-04_rb,3.4516e-04_rb,1.0584e-04_rb/) kao(:, 5, 2, 3) = (/ & &1.1534e-04_rb,2.4682e-04_rb,3.0598e-04_rb,3.4903e-04_rb,3.7559e-04_rb,3.8169e-04_rb, & &3.7221e-04_rb,3.8365e-04_rb,1.2786e-04_rb/) kao(:, 1, 3, 3) = (/ & &3.8574e-05_rb,7.5157e-05_rb,8.9382e-05_rb,9.8254e-05_rb,1.0233e-04_rb,1.0063e-04_rb, & &1.0056e-04_rb,1.0870e-04_rb,6.8446e-05_rb/) kao(:, 2, 3, 3) = (/ & &6.0142e-05_rb,1.1264e-04_rb,1.3244e-04_rb,1.4504e-04_rb,1.5242e-04_rb,1.5259e-04_rb, & &1.4806e-04_rb,1.3730e-04_rb,6.4347e-05_rb/) kao(:, 3, 3, 3) = (/ & &9.0381e-05_rb,1.6247e-04_rb,1.8926e-04_rb,2.0538e-04_rb,2.1407e-04_rb,2.1609e-04_rb, & &2.1113e-04_rb,1.9332e-04_rb,6.7739e-05_rb/) kao(:, 4, 3, 3) = (/ & &1.3106e-04_rb,2.2712e-04_rb,2.6180e-04_rb,2.8099e-04_rb,2.9092e-04_rb,2.9292e-04_rb, & &2.8375e-04_rb,2.7092e-04_rb,6.8866e-05_rb/) kao(:, 5, 3, 3) = (/ & &1.8403e-04_rb,3.0884e-04_rb,3.5100e-04_rb,3.7380e-04_rb,3.8510e-04_rb,3.8362e-04_rb, & &3.6289e-04_rb,3.2300e-04_rb,9.2758e-05_rb/) kao(:, 1, 4, 3) = (/ & &5.4705e-05_rb,8.6072e-05_rb,9.6209e-05_rb,1.0034e-04_rb,9.9953e-05_rb,9.5189e-05_rb, & &8.3161e-05_rb,7.9207e-05_rb,3.9423e-05_rb/) kao(:, 2, 4, 3) = (/ & &8.7751e-05_rb,1.3347e-04_rb,1.4769e-04_rb,1.5271e-04_rb,1.5230e-04_rb,1.4652e-04_rb, & &1.3316e-04_rb,1.0796e-04_rb,4.2482e-05_rb/) kao(:, 3, 4, 3) = (/ & &1.3536e-04_rb,1.9949e-04_rb,2.1780e-04_rb,2.2400e-04_rb,2.2194e-04_rb,2.1254e-04_rb, & &1.9475e-04_rb,1.6332e-04_rb,4.5138e-05_rb/) kao(:, 4, 4, 3) = (/ & &2.0116e-04_rb,2.8783e-04_rb,3.1041e-04_rb,3.1735e-04_rb,3.1196e-04_rb,2.9572e-04_rb, & &2.7052e-04_rb,2.3211e-04_rb,5.0851e-05_rb/) kao(:, 5, 4, 3) = (/ & &2.8895e-04_rb,4.0188e-04_rb,4.2924e-04_rb,4.3500e-04_rb,4.2412e-04_rb,3.9959e-04_rb, & &3.6227e-04_rb,3.0072e-04_rb,6.6760e-05_rb/) kao(:, 1, 5, 3) = (/ & &7.0137e-05_rb,9.4755e-05_rb,1.0063e-04_rb,1.0127e-04_rb,9.8061e-05_rb,9.0698e-05_rb, & &7.7439e-05_rb,5.9138e-05_rb,2.6683e-05_rb/) kao(:, 2, 5, 3) = (/ & &1.1533e-04_rb,1.5194e-04_rb,1.5997e-04_rb,1.5979e-04_rb,1.5340e-04_rb,1.4208e-04_rb, & &1.2486e-04_rb,9.3241e-05_rb,2.9592e-05_rb/) kao(:, 3, 5, 3) = (/ & &1.8276e-04_rb,2.3503e-04_rb,2.4432e-04_rb,2.4189e-04_rb,2.3109e-04_rb,2.1296e-04_rb, & &1.8693e-04_rb,1.4538e-04_rb,3.2790e-05_rb/) kao(:, 4, 5, 3) = (/ & &2.7903e-04_rb,3.5030e-04_rb,3.5953e-04_rb,3.5303e-04_rb,3.3542e-04_rb,3.0702e-04_rb, & &2.6606e-04_rb,2.0930e-04_rb,3.9551e-05_rb/) kao(:, 5, 5, 3) = (/ & &4.1070e-04_rb,5.0357e-04_rb,5.1208e-04_rb,4.9861e-04_rb,4.7008e-04_rb,4.2683e-04_rb, & &3.6701e-04_rb,2.8592e-04_rb,5.1146e-05_rb/) kao(:, 1, 6, 3) = (/ & &8.1368e-05_rb,9.8431e-05_rb,1.0007e-04_rb,9.7542e-05_rb,9.2017e-05_rb,8.3169e-05_rb, & &7.0090e-05_rb,4.8919e-05_rb,2.1156e-05_rb/) kao(:, 2, 6, 3) = (/ & &1.3706e-04_rb,1.6300e-04_rb,1.6503e-04_rb,1.5990e-04_rb,1.4992e-04_rb,1.3472e-04_rb, & &1.1399e-04_rb,8.3619e-05_rb,2.5058e-05_rb/) kao(:, 3, 6, 3) = (/ & &2.2338e-04_rb,2.6147e-04_rb,2.6146e-04_rb,2.5118e-04_rb,2.3339e-04_rb,2.0831e-04_rb, & &1.7568e-04_rb,1.3135e-04_rb,2.8387e-05_rb/) kao(:, 4, 6, 3) = (/ & &3.5127e-04_rb,4.0389e-04_rb,3.9905e-04_rb,3.7918e-04_rb,3.4971e-04_rb,3.1035e-04_rb, & &2.5984e-04_rb,1.9266e-04_rb,3.2799e-05_rb/) kao(:, 5, 6, 3) = (/ & &5.3129e-04_rb,6.0001e-04_rb,5.8622e-04_rb,5.5309e-04_rb,5.0577e-04_rb,4.4569e-04_rb, & &3.6955e-04_rb,2.7080e-04_rb,4.1496e-05_rb/) kao(:, 1, 7, 3) = (/ & &1.0007e-04_rb,1.0969e-04_rb,1.0696e-04_rb,1.0012e-04_rb,9.0860e-05_rb,7.9591e-05_rb, & &6.5272e-05_rb,4.4404e-05_rb,1.8023e-05_rb/) kao(:, 2, 7, 3) = (/ & &1.6864e-04_rb,1.8414e-04_rb,1.7903e-04_rb,1.6759e-04_rb,1.5212e-04_rb,1.3294e-04_rb, & &1.0932e-04_rb,7.7110e-05_rb,2.3161e-05_rb/) kao(:, 3, 7, 3) = (/ & &2.8238e-04_rb,3.0439e-04_rb,2.9352e-04_rb,2.7330e-04_rb,2.4706e-04_rb,2.1459e-04_rb, & &1.7451e-04_rb,1.2351e-04_rb,2.8855e-05_rb/) kao(:, 4, 7, 3) = (/ & &4.5659e-04_rb,4.8716e-04_rb,4.6539e-04_rb,4.2996e-04_rb,3.8506e-04_rb,3.3112e-04_rb, & &2.6671e-04_rb,1.8725e-04_rb,3.4923e-05_rb/) kao(:, 5, 7, 3) = (/ & &7.1027e-04_rb,7.4800e-04_rb,7.1021e-04_rb,6.5078e-04_rb,5.7777e-04_rb,4.9194e-04_rb, & &3.9297e-04_rb,2.7155e-04_rb,4.1495e-05_rb/) kao(:, 1, 8, 3) = (/ & &1.5946e-04_rb,1.5842e-04_rb,1.4746e-04_rb,1.3211e-04_rb,1.1546e-04_rb,9.6168e-05_rb, & &7.4324e-05_rb,4.8395e-05_rb,1.7989e-05_rb/) kao(:, 2, 8, 3) = (/ & &2.5770e-04_rb,2.5704e-04_rb,2.3941e-04_rb,2.1551e-04_rb,1.8837e-04_rb,1.5713e-04_rb, & &1.2214e-04_rb,8.1368e-05_rb,2.3968e-05_rb/) kao(:, 3, 8, 3) = (/ & &4.2472e-04_rb,4.2443e-04_rb,3.9713e-04_rb,3.5763e-04_rb,3.1122e-04_rb,2.5901e-04_rb, & &2.0043e-04_rb,1.3331e-04_rb,3.2118e-05_rb/) kao(:, 4, 8, 3) = (/ & &7.0597e-04_rb,6.9998e-04_rb,6.4911e-04_rb,5.8037e-04_rb,5.0147e-04_rb,4.1570e-04_rb, & &3.1990e-04_rb,2.0974e-04_rb,3.9608e-05_rb/) kao(:, 5, 8, 3) = (/ & &1.1264e-03_rb,1.1057e-03_rb,1.0236e-03_rb,9.1299e-04_rb,7.8475e-04_rb,6.4516e-04_rb, & &4.9155e-04_rb,3.1715e-04_rb,4.8541e-05_rb/) kao(:, 1, 9, 3) = (/ & &5.0227e-04_rb,4.5998e-04_rb,4.0915e-04_rb,3.5429e-04_rb,2.9541e-04_rb,2.3264e-04_rb, & &1.6588e-04_rb,9.6165e-05_rb,2.6165e-05_rb/) kao(:, 2, 9, 3) = (/ & &7.8676e-04_rb,7.2202e-04_rb,6.4423e-04_rb,5.5868e-04_rb,4.6624e-04_rb,3.6840e-04_rb, & &2.6387e-04_rb,1.5409e-04_rb,3.5446e-05_rb/) kao(:, 3, 9, 3) = (/ & &1.2789e-03_rb,1.1712e-03_rb,1.0462e-03_rb,9.0711e-04_rb,7.5900e-04_rb,5.9930e-04_rb, & &4.3043e-04_rb,2.5008e-04_rb,4.6358e-05_rb/) kao(:, 4, 9, 3) = (/ & &2.0840e-03_rb,1.9016e-03_rb,1.6924e-03_rb,1.4648e-03_rb,1.2215e-03_rb,9.6366e-04_rb, & &6.9084e-04_rb,4.0072e-04_rb,6.1001e-05_rb/) kao(:, 5, 9, 3) = (/ & &3.3367e-03_rb,3.0441e-03_rb,2.7105e-03_rb,2.3462e-03_rb,1.9558e-03_rb,1.5435e-03_rb, & &1.1056e-03_rb,6.3552e-04_rb,7.9035e-05_rb/) kao(:, 1,10, 3) = (/ & &1.9385e-03_rb,1.7157e-03_rb,1.4863e-03_rb,1.2534e-03_rb,1.0193e-03_rb,7.7905e-04_rb, & &5.3570e-04_rb,2.8621e-04_rb,4.8614e-05_rb/) kao(:, 2,10, 3) = (/ & &2.9395e-03_rb,2.6008e-03_rb,2.2566e-03_rb,1.9073e-03_rb,1.5534e-03_rb,1.1938e-03_rb, & &8.2332e-04_rb,4.4169e-04_rb,7.1291e-05_rb/) kao(:, 3,10, 3) = (/ & &4.6962e-03_rb,4.1509e-03_rb,3.6037e-03_rb,3.0461e-03_rb,2.4817e-03_rb,1.9064e-03_rb, & &1.3190e-03_rb,7.0872e-04_rb,9.5825e-05_rb/) kao(:, 4,10, 3) = (/ & &7.5852e-03_rb,6.6994e-03_rb,5.8186e-03_rb,4.9195e-03_rb,4.0087e-03_rb,3.0812e-03_rb, & &2.1247e-03_rb,1.1368e-03_rb,1.1801e-04_rb/) kao(:, 5,10, 3) = (/ & &1.2000e-02_rb,1.0601e-02_rb,9.2089e-03_rb,7.7807e-03_rb,6.3408e-03_rb,4.8692e-03_rb, & &3.3607e-03_rb,1.8001e-03_rb,1.5301e-04_rb/) kao(:, 1,11, 3) = (/ & &3.1614e-03_rb,2.7883e-03_rb,2.4150e-03_rb,2.0359e-03_rb,1.6451e-03_rb,1.2526e-03_rb, & &8.5416e-04_rb,4.4797e-04_rb,5.8064e-05_rb/) kao(:, 2,11, 3) = (/ & &4.7730e-03_rb,4.2097e-03_rb,3.6498e-03_rb,3.0671e-03_rb,2.4809e-03_rb,1.8948e-03_rb, & &1.2977e-03_rb,6.8686e-04_rb,8.3754e-05_rb/) kao(:, 3,11, 3) = (/ & &7.6614e-03_rb,6.7521e-03_rb,5.8435e-03_rb,4.9093e-03_rb,3.9758e-03_rb,3.0351e-03_rb, & &2.0807e-03_rb,1.0948e-03_rb,1.2253e-04_rb/) kao(:, 4,11, 3) = (/ & &1.2246e-02_rb,1.0785e-02_rb,9.3301e-03_rb,7.8482e-03_rb,6.3562e-03_rb,4.8536e-03_rb, & &3.3260e-03_rb,1.7481e-03_rb,1.5741e-04_rb/) kao(:, 5,11, 3) = (/ & &1.9021e-02_rb,1.6750e-02_rb,1.4500e-02_rb,1.2206e-02_rb,9.8921e-03_rb,7.5567e-03_rb, & &5.1767e-03_rb,2.7251e-03_rb,2.0052e-04_rb/) kao(:, 1,12, 3) = (/ & &3.8826e-03_rb,3.4185e-03_rb,2.9574e-03_rb,2.4900e-03_rb,2.0123e-03_rb,1.5298e-03_rb, & &1.0368e-03_rb,5.3904e-04_rb,6.3688e-05_rb/) kao(:, 2,12, 3) = (/ & &5.8362e-03_rb,5.1381e-03_rb,4.4457e-03_rb,3.7372e-03_rb,3.0206e-03_rb,2.2947e-03_rb, & &1.5681e-03_rb,8.2298e-04_rb,8.9290e-05_rb/) kao(:, 3,12, 3) = (/ & &9.2251e-03_rb,8.1210e-03_rb,7.0237e-03_rb,5.8967e-03_rb,4.7688e-03_rb,3.6322e-03_rb, & &2.4807e-03_rb,1.3032e-03_rb,1.3416e-04_rb/) kao(:, 4,12, 3) = (/ & &1.4709e-02_rb,1.2946e-02_rb,1.1191e-02_rb,9.4045e-03_rb,7.5956e-03_rb,5.7870e-03_rb, & &3.9575e-03_rb,2.0727e-03_rb,1.8001e-04_rb/) kao(:, 5,12, 3) = (/ & &2.2619e-02_rb,1.9908e-02_rb,1.7216e-02_rb,1.4475e-02_rb,1.1703e-02_rb,8.9157e-03_rb, & &6.0792e-03_rb,3.1754e-03_rb,2.2086e-04_rb/) kao(:, 1,13, 3) = (/ & &3.8309e-03_rb,3.3731e-03_rb,2.9187e-03_rb,2.4542e-03_rb,1.9844e-03_rb,1.5107e-03_rb, & &1.0279e-03_rb,5.3642e-04_rb,6.4942e-05_rb/) kao(:, 2,13, 3) = (/ & &5.8347e-03_rb,5.1376e-03_rb,4.4461e-03_rb,3.7352e-03_rb,3.0197e-03_rb,2.2950e-03_rb, & &1.5588e-03_rb,8.1629e-04_rb,9.2767e-05_rb/) kao(:, 3,13, 3) = (/ & &9.2194e-03_rb,8.1162e-03_rb,7.0173e-03_rb,5.8930e-03_rb,4.7598e-03_rb,3.6175e-03_rb, & &2.4591e-03_rb,1.2857e-03_rb,1.3288e-04_rb/) kao(:, 4,13, 3) = (/ & &1.4386e-02_rb,1.2666e-02_rb,1.0949e-02_rb,9.1979e-03_rb,7.4294e-03_rb,5.6460e-03_rb, & &3.8493e-03_rb,2.0075e-03_rb,1.7458e-04_rb/) kao(:, 5,13, 3) = (/ & &2.1887e-02_rb,1.9271e-02_rb,1.6664e-02_rb,1.4007e-02_rb,1.1332e-02_rb,8.6132e-03_rb, & &5.8543e-03_rb,3.0399e-03_rb,2.1866e-04_rb/) kao(:, 1, 1, 4) = (/ & &1.2767e-04_rb,2.6436e-04_rb,3.0512e-04_rb,3.1799e-04_rb,3.1958e-04_rb,3.3191e-04_rb, & &3.9104e-04_rb,5.0710e-04_rb,1.7855e-04_rb/) kao(:, 2, 1, 4) = (/ & &1.7738e-04_rb,3.5053e-04_rb,3.9839e-04_rb,4.1229e-04_rb,4.0492e-04_rb,3.8983e-04_rb, & &4.1500e-04_rb,5.9614e-04_rb,1.6036e-04_rb/) kao(:, 3, 1, 4) = (/ & &2.3686e-04_rb,4.4965e-04_rb,5.0544e-04_rb,5.1877e-04_rb,5.0600e-04_rb,4.7740e-04_rb, & &4.5052e-04_rb,5.7236e-04_rb,1.8787e-04_rb/) kao(:, 4, 1, 4) = (/ & &3.0650e-04_rb,5.6569e-04_rb,6.3165e-04_rb,6.4530e-04_rb,6.3512e-04_rb,6.1237e-04_rb, & &5.6656e-04_rb,5.2891e-04_rb,2.7469e-04_rb/) kao(:, 5, 1, 4) = (/ & &3.8512e-04_rb,6.9752e-04_rb,7.7525e-04_rb,7.9245e-04_rb,7.8883e-04_rb,7.7085e-04_rb, & &7.4060e-04_rb,6.7719e-04_rb,3.6282e-04_rb/) kao(:, 1, 2, 4) = (/ & &1.5390e-04_rb,2.7494e-04_rb,3.1261e-04_rb,3.2023e-04_rb,3.1151e-04_rb,2.9547e-04_rb, & &3.1497e-04_rb,3.9039e-04_rb,1.0989e-04_rb/) kao(:, 2, 2, 4) = (/ & &2.1714e-04_rb,3.7453e-04_rb,4.1638e-04_rb,4.2413e-04_rb,4.1007e-04_rb,3.7857e-04_rb, & &3.5354e-04_rb,4.2401e-04_rb,1.1763e-04_rb/) kao(:, 3, 2, 4) = (/ & &2.9352e-04_rb,4.8938e-04_rb,5.3784e-04_rb,5.4431e-04_rb,5.2257e-04_rb,4.7749e-04_rb, & &4.2355e-04_rb,4.2211e-04_rb,1.4157e-04_rb/) kao(:, 4, 2, 4) = (/ & &3.8348e-04_rb,6.2214e-04_rb,6.8003e-04_rb,6.8421e-04_rb,6.5590e-04_rb,6.0605e-04_rb, & &5.3467e-04_rb,4.5064e-04_rb,2.0612e-04_rb/) kao(:, 5, 2, 4) = (/ & &4.8704e-04_rb,7.7618e-04_rb,8.4540e-04_rb,8.4784e-04_rb,8.1484e-04_rb,7.6245e-04_rb, & &6.8894e-04_rb,5.8453e-04_rb,2.7190e-04_rb/) kao(:, 1, 3, 4) = (/ & &2.3071e-04_rb,3.3499e-04_rb,3.6845e-04_rb,3.7270e-04_rb,3.5547e-04_rb,3.2203e-04_rb, & &2.7656e-04_rb,2.6506e-04_rb,6.2779e-05_rb/) kao(:, 2, 3, 4) = (/ & &3.3368e-04_rb,4.7302e-04_rb,5.1131e-04_rb,5.0923e-04_rb,4.8101e-04_rb,4.3420e-04_rb, & &3.6192e-04_rb,3.1963e-04_rb,7.8022e-05_rb/) kao(:, 3, 3, 4) = (/ & &4.6167e-04_rb,6.3817e-04_rb,6.7863e-04_rb,6.7148e-04_rb,6.3202e-04_rb,5.6610e-04_rb, & &4.7208e-04_rb,3.5841e-04_rb,1.0032e-04_rb/) kao(:, 4, 3, 4) = (/ & &6.1421e-04_rb,8.2728e-04_rb,8.7092e-04_rb,8.6012e-04_rb,8.0666e-04_rb,7.1818e-04_rb, & &5.9937e-04_rb,4.3811e-04_rb,1.4466e-04_rb/) kao(:, 5, 3, 4) = (/ & &7.9318e-04_rb,1.0499e-03_rb,1.1001e-03_rb,1.0825e-03_rb,1.0111e-03_rb,9.0157e-04_rb, & &7.5964e-04_rb,5.7512e-04_rb,1.9432e-04_rb/) kao(:, 1, 4, 4) = (/ & &3.4200e-04_rb,4.1990e-04_rb,4.4259e-04_rb,4.3661e-04_rb,4.1163e-04_rb,3.6760e-04_rb, & &3.0371e-04_rb,2.3149e-04_rb,4.6307e-05_rb/) kao(:, 2, 4, 4) = (/ & &5.0920e-04_rb,6.1539e-04_rb,6.3721e-04_rb,6.1994e-04_rb,5.7603e-04_rb,5.0827e-04_rb, & &4.1402e-04_rb,2.9065e-04_rb,5.1907e-05_rb/) kao(:, 3, 4, 4) = (/ & &7.2424e-04_rb,8.6063e-04_rb,8.7699e-04_rb,8.4266e-04_rb,7.7721e-04_rb,6.8304e-04_rb, & &5.5495e-04_rb,3.8326e-04_rb,6.9160e-05_rb/) kao(:, 4, 4, 4) = (/ & &9.8776e-04_rb,1.1516e-03_rb,1.1582e-03_rb,1.1044e-03_rb,1.0138e-03_rb,8.8821e-04_rb, & &7.1753e-04_rb,4.9169e-04_rb,9.8233e-05_rb/) kao(:, 5, 4, 4) = (/ & &1.2975e-03_rb,1.4918e-03_rb,1.4869e-03_rb,1.4114e-03_rb,1.2930e-03_rb,1.1277e-03_rb, & &9.0840e-04_rb,6.3197e-04_rb,1.3450e-04_rb/) kao(:, 1, 5, 4) = (/ & &4.6076e-04_rb,5.0474e-04_rb,5.1144e-04_rb,4.9140e-04_rb,4.5232e-04_rb,3.9779e-04_rb, & &3.2321e-04_rb,2.2336e-04_rb,3.4201e-05_rb/) kao(:, 2, 5, 4) = (/ & &7.0989e-04_rb,7.6999e-04_rb,7.6963e-04_rb,7.2952e-04_rb,6.6336e-04_rb,5.7413e-04_rb, & &4.5930e-04_rb,3.0843e-04_rb,4.2292e-05_rb/) kao(:, 3, 5, 4) = (/ & &1.0386e-03_rb,1.1133e-03_rb,1.0985e-03_rb,1.0276e-03_rb,9.2270e-04_rb,7.9078e-04_rb, & &6.2825e-04_rb,4.1898e-04_rb,5.3586e-05_rb/) kao(:, 4, 5, 4) = (/ & &1.4541e-03_rb,1.5404e-03_rb,1.4988e-03_rb,1.3877e-03_rb,1.2375e-03_rb,1.0544e-03_rb, & &8.3469e-04_rb,5.5179e-04_rb,6.8395e-05_rb/) kao(:, 5, 5, 4) = (/ & &1.9528e-03_rb,2.0463e-03_rb,1.9719e-03_rb,1.8145e-03_rb,1.6102e-03_rb,1.3677e-03_rb, & &1.0776e-03_rb,7.0877e-04_rb,9.0444e-05_rb/) kao(:, 1, 6, 4) = (/ & &5.6492e-04_rb,5.7565e-04_rb,5.5931e-04_rb,5.2434e-04_rb,4.7320e-04_rb,4.0777e-04_rb, & &3.2512e-04_rb,2.1641e-04_rb,2.6966e-05_rb/) kao(:, 2, 6, 4) = (/ & &9.0441e-04_rb,9.1447e-04_rb,8.8349e-04_rb,8.2170e-04_rb,7.3208e-04_rb,6.2190e-04_rb, & &4.8768e-04_rb,3.1817e-04_rb,3.4982e-05_rb/) kao(:, 3, 6, 4) = (/ & &1.3664e-03_rb,1.3688e-03_rb,1.3074e-03_rb,1.2015e-03_rb,1.0584e-03_rb,8.8601e-04_rb, & &6.8532e-04_rb,4.4190e-04_rb,4.5831e-05_rb/) kao(:, 4, 6, 4) = (/ & &1.9708e-03_rb,1.9570e-03_rb,1.8529e-03_rb,1.6859e-03_rb,1.4692e-03_rb,1.2199e-03_rb, & &9.3583e-04_rb,6.0020e-04_rb,5.8072e-05_rb/) kao(:, 5, 6, 4) = (/ & &2.7158e-03_rb,2.6789e-03_rb,2.5132e-03_rb,2.2684e-03_rb,1.9663e-03_rb,1.6232e-03_rb, & &1.2393e-03_rb,7.8815e-04_rb,7.1453e-05_rb/) kao(:, 1, 7, 4) = (/ & &7.1612e-04_rb,6.9080e-04_rb,6.4557e-04_rb,5.8741e-04_rb,5.1690e-04_rb,4.3484e-04_rb, & &3.3811e-04_rb,2.1958e-04_rb,2.5385e-05_rb/) kao(:, 2, 7, 4) = (/ & &1.1940e-03_rb,1.1449e-03_rb,1.0668e-03_rb,9.6669e-04_rb,8.4588e-04_rb,7.0528e-04_rb, & &5.3962e-04_rb,3.4196e-04_rb,3.2650e-05_rb/) kao(:, 3, 7, 4) = (/ & &1.8743e-03_rb,1.7868e-03_rb,1.6562e-03_rb,1.4906e-03_rb,1.2906e-03_rb,1.0612e-03_rb, & &7.9912e-04_rb,4.9523e-04_rb,4.3298e-05_rb/) kao(:, 4, 7, 4) = (/ & &2.7760e-03_rb,2.6274e-03_rb,2.4197e-03_rb,2.1609e-03_rb,1.8570e-03_rb,1.5098e-03_rb, & &1.1229e-03_rb,6.8654e-04_rb,5.4268e-05_rb/) kao(:, 5, 7, 4) = (/ & &3.9210e-03_rb,3.6980e-03_rb,3.3854e-03_rb,3.0037e-03_rb,2.5627e-03_rb,2.0710e-03_rb, & &1.5295e-03_rb,9.2840e-04_rb,6.7940e-05_rb/) kao(:, 1, 8, 4) = (/ & &1.0670e-03_rb,9.8692e-04_rb,8.9134e-04_rb,7.8593e-04_rb,6.7073e-04_rb,5.4467e-04_rb, & &4.0756e-04_rb,2.5210e-04_rb,2.8359e-05_rb/) kao(:, 2, 8, 4) = (/ & &1.8582e-03_rb,1.7102e-03_rb,1.5414e-03_rb,1.3557e-03_rb,1.1545e-03_rb,9.3501e-04_rb, & &6.9502e-04_rb,4.2320e-04_rb,3.7233e-05_rb/) kao(:, 3, 8, 4) = (/ & &3.0392e-03_rb,2.7815e-03_rb,2.4987e-03_rb,2.1910e-03_rb,1.8592e-03_rb,1.4974e-03_rb, & &1.1016e-03_rb,6.5354e-04_rb,4.6926e-05_rb/) kao(:, 4, 8, 4) = (/ & &4.6351e-03_rb,4.2251e-03_rb,3.7893e-03_rb,3.3101e-03_rb,2.7928e-03_rb,2.2311e-03_rb, & &1.6189e-03_rb,9.4084e-04_rb,6.1285e-05_rb/) kao(:, 5, 8, 4) = (/ & &6.7053e-03_rb,6.1011e-03_rb,5.4490e-03_rb,4.7367e-03_rb,3.9743e-03_rb,3.1531e-03_rb, & &2.2726e-03_rb,1.3072e-03_rb,7.4486e-05_rb/) kao(:, 1, 9, 4) = (/ & &3.0079e-03_rb,2.6671e-03_rb,2.3362e-03_rb,1.9921e-03_rb,1.6375e-03_rb,1.2739e-03_rb, & &8.9947e-04_rb,5.0478e-04_rb,4.8310e-05_rb/) kao(:, 2, 9, 4) = (/ & &5.3604e-03_rb,4.7462e-03_rb,4.1492e-03_rb,3.5341e-03_rb,2.9054e-03_rb,2.2583e-03_rb, & &1.5943e-03_rb,8.9078e-04_rb,6.1843e-05_rb/) kao(:, 3, 9, 4) = (/ & &9.0324e-03_rb,7.9882e-03_rb,6.9714e-03_rb,5.9320e-03_rb,4.8700e-03_rb,3.7864e-03_rb, & &2.6693e-03_rb,1.4872e-03_rb,8.4369e-05_rb/) kao(:, 4, 9, 4) = (/ & &1.4329e-02_rb,1.2658e-02_rb,1.1032e-02_rb,9.3748e-03_rb,7.6880e-03_rb,5.9624e-03_rb, & &4.1846e-03_rb,2.3075e-03_rb,1.0247e-04_rb/) kao(:, 5, 9, 4) = (/ & &2.1261e-02_rb,1.8755e-02_rb,1.6325e-02_rb,1.3858e-02_rb,1.1339e-02_rb,8.7669e-03_rb, & &6.1142e-03_rb,3.3320e-03_rb,1.2163e-04_rb/) kao(:, 1,10, 4) = (/ & &1.0911e-02_rb,9.5635e-03_rb,8.2330e-03_rb,6.9092e-03_rb,5.5802e-03_rb,4.2396e-03_rb, & &2.8819e-03_rb,1.5069e-03_rb,1.0164e-04_rb/) kao(:, 2,10, 4) = (/ & &1.8579e-02_rb,1.6289e-02_rb,1.4021e-02_rb,1.1757e-02_rb,9.4958e-03_rb,7.2115e-03_rb, & &4.9034e-03_rb,2.5692e-03_rb,1.2765e-04_rb/) kao(:, 3,10, 4) = (/ & &3.1018e-02_rb,2.7193e-02_rb,2.3385e-02_rb,1.9601e-02_rb,1.5823e-02_rb,1.2032e-02_rb, & &8.1956e-03_rb,4.3045e-03_rb,1.7856e-04_rb/) kao(:, 4,10, 4) = (/ & &5.0111e-02_rb,4.3919e-02_rb,3.7756e-02_rb,3.1628e-02_rb,2.5516e-02_rb,1.9374e-02_rb, & &1.3194e-02_rb,6.9219e-03_rb,2.2724e-04_rb/) kao(:, 5,10, 4) = (/ & &7.6376e-02_rb,6.6924e-02_rb,5.7507e-02_rb,4.8151e-02_rb,3.8816e-02_rb,2.9439e-02_rb, & &2.0003e-02_rb,1.0433e-02_rb,2.6085e-04_rb/) kao(:, 1,11, 4) = (/ & &1.8971e-02_rb,1.6611e-02_rb,1.4262e-02_rb,1.1923e-02_rb,9.5992e-03_rb,7.2680e-03_rb, & &4.9113e-03_rb,2.5257e-03_rb,1.6715e-04_rb/) kao(:, 2,11, 4) = (/ & &3.0950e-02_rb,2.7103e-02_rb,2.3271e-02_rb,1.9463e-02_rb,1.5664e-02_rb,1.1847e-02_rb, & &7.9981e-03_rb,4.1199e-03_rb,2.1489e-04_rb/) kao(:, 3,11, 4) = (/ & &4.9685e-02_rb,4.3517e-02_rb,3.7369e-02_rb,3.1256e-02_rb,2.5144e-02_rb,1.9021e-02_rb, & &1.2853e-02_rb,6.6396e-03_rb,2.5990e-04_rb/) kao(:, 4,11, 4) = (/ & &7.7374e-02_rb,6.7750e-02_rb,5.8163e-02_rb,4.8608e-02_rb,3.9067e-02_rb,2.9542e-02_rb, & &1.9962e-02_rb,1.0311e-02_rb,3.2116e-04_rb/) kao(:, 5,11, 4) = (/ & &1.1501e-01_rb,1.0072e-01_rb,8.6431e-02_rb,7.2217e-02_rb,5.8056e-02_rb,4.3898e-02_rb, & &2.9647e-02_rb,1.5264e-02_rb,3.7485e-04_rb/) kao(:, 1,12, 4) = (/ & &2.3401e-02_rb,2.0486e-02_rb,1.7582e-02_rb,1.4686e-02_rb,1.1806e-02_rb,8.9258e-03_rb, & &6.0297e-03_rb,3.0936e-03_rb,1.8693e-04_rb/) kao(:, 2,12, 4) = (/ & &3.8133e-02_rb,3.3387e-02_rb,2.8657e-02_rb,2.3944e-02_rb,1.9250e-02_rb,1.4544e-02_rb, & &9.8021e-03_rb,5.0235e-03_rb,2.4530e-04_rb/) kao(:, 3,12, 4) = (/ & &6.0110e-02_rb,5.2620e-02_rb,4.5149e-02_rb,3.7710e-02_rb,3.0268e-02_rb,2.2852e-02_rb, & &1.5390e-02_rb,7.8945e-03_rb,2.8864e-04_rb/) kao(:, 4,12, 4) = (/ & &9.0890e-02_rb,7.9571e-02_rb,6.8303e-02_rb,5.7049e-02_rb,4.5842e-02_rb,3.4594e-02_rb, & &2.3289e-02_rb,1.1923e-02_rb,3.6228e-04_rb/) kao(:, 5,12, 4) = (/ & &1.3100e-01_rb,1.1462e-01_rb,9.8322e-02_rb,8.2088e-02_rb,6.5959e-02_rb,4.9780e-02_rb, & &3.3534e-02_rb,1.7184e-02_rb,4.3158e-04_rb/) kao(:, 1,13, 4) = (/ & &2.4303e-02_rb,2.1262e-02_rb,1.8230e-02_rb,1.5211e-02_rb,1.2213e-02_rb,9.2155e-03_rb, & &6.2046e-03_rb,3.1714e-03_rb,1.9233e-04_rb/) kao(:, 2,13, 4) = (/ & &3.8296e-02_rb,3.3521e-02_rb,2.8762e-02_rb,2.4031e-02_rb,1.9310e-02_rb,1.4568e-02_rb, & &9.8072e-03_rb,5.0047e-03_rb,2.4842e-04_rb/) kao(:, 3,13, 4) = (/ & &5.8379e-02_rb,5.1065e-02_rb,4.3832e-02_rb,3.6631e-02_rb,2.9434e-02_rb,2.2205e-02_rb, & &1.4940e-02_rb,7.6384e-03_rb,2.8734e-04_rb/) kao(:, 4,13, 4) = (/ & &8.5558e-02_rb,7.4841e-02_rb,6.4227e-02_rb,5.3638e-02_rb,4.3082e-02_rb,3.2499e-02_rb, & &2.1863e-02_rb,1.1189e-02_rb,3.6167e-04_rb/) kao(:, 5,13, 4) = (/ & &1.2105e-01_rb,1.0601e-01_rb,9.0943e-02_rb,7.5945e-02_rb,6.0995e-02_rb,4.5990e-02_rb, & &3.0953e-02_rb,1.5858e-02_rb,4.3014e-04_rb/) kao(:, 1, 1, 5) = (/ & &5.2897e-04_rb,6.3863e-04_rb,6.7716e-04_rb,6.8592e-04_rb,6.6781e-04_rb,6.0937e-04_rb, & &5.2069e-04_rb,5.5022e-04_rb,1.8160e-04_rb/) kao(:, 2, 1, 5) = (/ & &6.5371e-04_rb,8.0837e-04_rb,8.6369e-04_rb,8.8295e-04_rb,8.7230e-04_rb,8.3067e-04_rb, & &7.4453e-04_rb,6.6477e-04_rb,2.9044e-04_rb/) kao(:, 3, 1, 5) = (/ & &7.9309e-04_rb,1.0041e-03_rb,1.0806e-03_rb,1.1131e-03_rb,1.1135e-03_rb,1.0810e-03_rb, & &1.0060e-03_rb,8.6363e-04_rb,4.3507e-04_rb/) kao(:, 4, 1, 5) = (/ & &9.5515e-04_rb,1.2330e-03_rb,1.3320e-03_rb,1.3798e-03_rb,1.3866e-03_rb,1.3599e-03_rb, & &1.2978e-03_rb,1.1703e-03_rb,5.4823e-04_rb/) kao(:, 5, 1, 5) = (/ & &1.1370e-03_rb,1.4922e-03_rb,1.6168e-03_rb,1.6809e-03_rb,1.6969e-03_rb,1.6741e-03_rb, & &1.6142e-03_rb,1.5306e-03_rb,7.1233e-04_rb/) kao(:, 1, 2, 5) = (/ & &6.4530e-04_rb,7.2673e-04_rb,7.3348e-04_rb,7.1463e-04_rb,6.7564e-04_rb,6.1110e-04_rb, & &5.0123e-04_rb,4.4222e-04_rb,1.3962e-04_rb/) kao(:, 2, 2, 5) = (/ & &8.0957e-04_rb,9.2607e-04_rb,9.4414e-04_rb,9.2480e-04_rb,8.8433e-04_rb,8.1497e-04_rb, & &7.0697e-04_rb,5.2414e-04_rb,2.1889e-04_rb/) kao(:, 3, 2, 5) = (/ & &9.9558e-04_rb,1.1596e-03_rb,1.1892e-03_rb,1.1731e-03_rb,1.1295e-03_rb,1.0550e-03_rb, & &9.3776e-04_rb,7.6366e-04_rb,3.1779e-04_rb/) kao(:, 4, 2, 5) = (/ & &1.2093e-03_rb,1.4336e-03_rb,1.4751e-03_rb,1.4631e-03_rb,1.4149e-03_rb,1.3281e-03_rb, & &1.2039e-03_rb,1.0264e-03_rb,4.0743e-04_rb/) kao(:, 5, 2, 5) = (/ & &1.4548e-03_rb,1.7501e-03_rb,1.8041e-03_rb,1.7977e-03_rb,1.7416e-03_rb,1.6424e-03_rb, & &1.5037e-03_rb,1.3244e-03_rb,5.3155e-04_rb/) kao(:, 1, 3, 5) = (/ & &1.0073e-03_rb,1.0305e-03_rb,9.9170e-04_rb,9.1685e-04_rb,8.2334e-04_rb,7.1279e-04_rb, & &5.7365e-04_rb,3.9412e-04_rb,1.0025e-04_rb/) kao(:, 2, 3, 5) = (/ & &1.2880e-03_rb,1.3316e-03_rb,1.2867e-03_rb,1.1967e-03_rb,1.0809e-03_rb,9.4443e-04_rb, & &7.8179e-04_rb,5.3700e-04_rb,1.5384e-04_rb/) kao(:, 3, 3, 5) = (/ & &1.6107e-03_rb,1.6903e-03_rb,1.6390e-03_rb,1.5300e-03_rb,1.3886e-03_rb,1.2242e-03_rb, & &1.0235e-03_rb,7.5425e-04_rb,2.1640e-04_rb/) kao(:, 4, 3, 5) = (/ & &1.9797e-03_rb,2.1107e-03_rb,2.0529e-03_rb,1.9209e-03_rb,1.7527e-03_rb,1.5541e-03_rb, & &1.3094e-03_rb,9.9288e-04_rb,2.8803e-04_rb/) kao(:, 5, 3, 5) = (/ & &2.4113e-03_rb,2.6021e-03_rb,2.5366e-03_rb,2.3815e-03_rb,2.1822e-03_rb,1.9385e-03_rb, & &1.6375e-03_rb,1.2689e-03_rb,3.7641e-04_rb/) kao(:, 1, 4, 5) = (/ & &1.5851e-03_rb,1.5181e-03_rb,1.4032e-03_rb,1.2606e-03_rb,1.0883e-03_rb,8.9739e-04_rb, & &6.8560e-04_rb,4.2854e-04_rb,6.6391e-05_rb/) kao(:, 2, 4, 5) = (/ & &2.0501e-03_rb,1.9754e-03_rb,1.8387e-03_rb,1.6565e-03_rb,1.4386e-03_rb,1.1914e-03_rb, & &9.2359e-04_rb,6.1319e-04_rb,1.0381e-04_rb/) kao(:, 3, 4, 5) = (/ & &2.6137e-03_rb,2.5384e-03_rb,2.3763e-03_rb,2.1489e-03_rb,1.8706e-03_rb,1.5557e-03_rb, & &1.2160e-03_rb,8.2392e-04_rb,1.4611e-04_rb/) kao(:, 4, 4, 5) = (/ & &3.2665e-03_rb,3.2074e-03_rb,3.0134e-03_rb,2.7316e-03_rb,2.3866e-03_rb,1.9939e-03_rb, & &1.5682e-03_rb,1.0781e-03_rb,1.9821e-04_rb/) kao(:, 5, 4, 5) = (/ & &4.0137e-03_rb,3.9873e-03_rb,3.7629e-03_rb,3.4158e-03_rb,2.9921e-03_rb,2.5128e-03_rb, & &1.9870e-03_rb,1.3733e-03_rb,2.6370e-04_rb/) kao(:, 1, 5, 5) = (/ & &2.2692e-03_rb,2.1006e-03_rb,1.8869e-03_rb,1.6579e-03_rb,1.4070e-03_rb,1.1280e-03_rb, & &8.2786e-04_rb,4.9332e-04_rb,4.7300e-05_rb/) kao(:, 2, 5, 5) = (/ & &2.9951e-03_rb,2.7795e-03_rb,2.5097e-03_rb,2.2151e-03_rb,1.8839e-03_rb,1.5178e-03_rb, & &1.1209e-03_rb,6.8743e-04_rb,6.4441e-05_rb/) kao(:, 3, 5, 5) = (/ & &3.8783e-03_rb,3.6150e-03_rb,3.2821e-03_rb,2.9041e-03_rb,2.4789e-03_rb,2.0050e-03_rb, & &1.4894e-03_rb,9.2698e-04_rb,9.4008e-05_rb/) kao(:, 4, 5, 5) = (/ & &4.9258e-03_rb,4.6186e-03_rb,4.2220e-03_rb,3.7446e-03_rb,3.2015e-03_rb,2.5968e-03_rb, & &1.9395e-03_rb,1.2217e-03_rb,1.3185e-04_rb/) kao(:, 5, 5, 5) = (/ & &6.1149e-03_rb,5.7761e-03_rb,5.3147e-03_rb,4.7312e-03_rb,4.0567e-03_rb,3.3012e-03_rb, & &2.4775e-03_rb,1.5747e-03_rb,1.8186e-04_rb/) kao(:, 1, 6, 5) = (/ & &2.9777e-03_rb,2.7020e-03_rb,2.3926e-03_rb,2.0653e-03_rb,1.7240e-03_rb,1.3628e-03_rb, & &9.7585e-04_rb,5.5769e-04_rb,3.7018e-05_rb/) kao(:, 2, 6, 5) = (/ & &4.0405e-03_rb,3.6698e-03_rb,3.2527e-03_rb,2.8150e-03_rb,2.3582e-03_rb,1.8689e-03_rb, & &1.3459e-03_rb,7.7825e-04_rb,5.0931e-05_rb/) kao(:, 3, 6, 5) = (/ & &5.2985e-03_rb,4.8259e-03_rb,4.2980e-03_rb,3.7351e-03_rb,3.1354e-03_rb,2.4956e-03_rb, & &1.8046e-03_rb,1.0570e-03_rb,6.8165e-05_rb/) kao(:, 4, 6, 5) = (/ & &6.8330e-03_rb,6.2458e-03_rb,5.5922e-03_rb,4.8800e-03_rb,4.1117e-03_rb,3.2799e-03_rb, & &2.3798e-03_rb,1.4059e-03_rb,8.9401e-05_rb/) kao(:, 5, 6, 5) = (/ & &8.6003e-03_rb,7.8905e-03_rb,7.1103e-03_rb,6.2229e-03_rb,5.2575e-03_rb,4.2076e-03_rb, & &3.0687e-03_rb,1.8306e-03_rb,1.2028e-04_rb/) kao(:, 1, 7, 5) = (/ & &4.0427e-03_rb,3.6171e-03_rb,3.1732e-03_rb,2.7085e-03_rb,2.2305e-03_rb,1.7374e-03_rb, & &1.2245e-03_rb,6.7631e-04_rb,3.7016e-05_rb/) kao(:, 2, 7, 5) = (/ & &5.6556e-03_rb,5.0622e-03_rb,4.4391e-03_rb,3.7915e-03_rb,3.1262e-03_rb,2.4381e-03_rb, & &1.7215e-03_rb,9.5894e-04_rb,4.8862e-05_rb/) kao(:, 3, 7, 5) = (/ & &7.5823e-03_rb,6.7945e-03_rb,5.9706e-03_rb,5.1108e-03_rb,4.2263e-03_rb,3.3055e-03_rb, & &2.3437e-03_rb,1.3169e-03_rb,6.1466e-05_rb/) kao(:, 4, 7, 5) = (/ & &9.8701e-03_rb,8.8589e-03_rb,7.8113e-03_rb,6.7131e-03_rb,5.5681e-03_rb,4.3736e-03_rb, & &3.1150e-03_rb,1.7640e-03_rb,7.9784e-05_rb/) kao(:, 5, 7, 5) = (/ & &1.2627e-02_rb,1.1349e-02_rb,1.0044e-02_rb,8.6633e-03_rb,7.2033e-03_rb,5.6735e-03_rb, & &4.0519e-03_rb,2.3093e-03_rb,9.9338e-05_rb/) kao(:, 1, 8, 5) = (/ & &6.5162e-03_rb,5.7610e-03_rb,5.0100e-03_rb,4.2382e-03_rb,3.4497e-03_rb,2.6520e-03_rb, & &1.8357e-03_rb,9.8841e-04_rb,5.0893e-05_rb/) kao(:, 2, 8, 5) = (/ & &9.3894e-03_rb,8.3047e-03_rb,7.2233e-03_rb,6.1097e-03_rb,4.9767e-03_rb,3.8267e-03_rb, & &2.6500e-03_rb,1.4278e-03_rb,6.6360e-05_rb/) kao(:, 3, 8, 5) = (/ & &1.2886e-02_rb,1.1402e-02_rb,9.9227e-03_rb,8.3986e-03_rb,6.8476e-03_rb,5.2715e-03_rb, & &3.6563e-03_rb,1.9797e-03_rb,8.1964e-05_rb/) kao(:, 4, 8, 5) = (/ & &1.7029e-02_rb,1.5075e-02_rb,1.3132e-02_rb,1.1136e-02_rb,9.1030e-03_rb,7.0269e-03_rb, & &4.8948e-03_rb,2.6694e-03_rb,1.0083e-04_rb/) kao(:, 5, 8, 5) = (/ & &2.2131e-02_rb,1.9595e-02_rb,1.7101e-02_rb,1.4537e-02_rb,1.1918e-02_rb,9.2249e-03_rb, & &6.4389e-03_rb,3.5237e-03_rb,1.2644e-04_rb/) kao(:, 1, 9, 5) = (/ & &1.9574e-02_rb,1.7171e-02_rb,1.4767e-02_rb,1.2373e-02_rb,9.9784e-03_rb,7.5698e-03_rb, & &5.1323e-03_rb,2.6624e-03_rb,7.9787e-05_rb/) kao(:, 2, 9, 5) = (/ & &2.9063e-02_rb,2.5494e-02_rb,2.1931e-02_rb,1.8384e-02_rb,1.4827e-02_rb,1.1241e-02_rb, & &7.6171e-03_rb,3.9520e-03_rb,1.0489e-04_rb/) kao(:, 3, 9, 5) = (/ & &4.0973e-02_rb,3.5943e-02_rb,3.0923e-02_rb,2.5930e-02_rb,2.0911e-02_rb,1.5846e-02_rb, & &1.0739e-02_rb,5.5789e-03_rb,1.2330e-04_rb/) kao(:, 4, 9, 5) = (/ & &5.5333e-02_rb,4.8546e-02_rb,4.1776e-02_rb,3.5034e-02_rb,2.8259e-02_rb,2.1435e-02_rb, & &1.4550e-02_rb,7.5751e-03_rb,1.5097e-04_rb/) kao(:, 5, 9, 5) = (/ & &7.2795e-02_rb,6.3880e-02_rb,5.4976e-02_rb,4.6114e-02_rb,3.7235e-02_rb,2.8276e-02_rb, & &1.9247e-02_rb,1.0060e-02_rb,1.9444e-04_rb/) kao(:, 1,10, 5) = (/ & &6.7876e-02_rb,5.9426e-02_rb,5.0975e-02_rb,4.2524e-02_rb,3.4085e-02_rb,2.5643e-02_rb, & &1.7219e-02_rb,8.7441e-03_rb,2.1379e-04_rb/) kao(:, 2,10, 5) = (/ & &1.0363e-01_rb,9.0726e-02_rb,7.7824e-02_rb,6.4925e-02_rb,5.2032e-02_rb,3.9153e-02_rb, & &2.6288e-02_rb,1.3336e-02_rb,2.7530e-04_rb/) kao(:, 3,10, 5) = (/ & &1.4868e-01_rb,1.3017e-01_rb,1.1167e-01_rb,9.3161e-02_rb,7.4667e-02_rb,5.6180e-02_rb, & &3.7706e-02_rb,1.9125e-02_rb,3.1198e-04_rb/) kao(:, 4,10, 5) = (/ & &2.0441e-01_rb,1.7897e-01_rb,1.5353e-01_rb,1.2809e-01_rb,1.0267e-01_rb,7.7285e-02_rb, & &5.1877e-02_rb,2.6327e-02_rb,3.7361e-04_rb/) kao(:, 5,10, 5) = (/ & &2.7248e-01_rb,2.3857e-01_rb,2.0467e-01_rb,1.7078e-01_rb,1.3689e-01_rb,1.0307e-01_rb, & &6.9236e-02_rb,3.5215e-02_rb,4.4890e-04_rb/) kao(:, 1,11, 5) = (/ & &1.0259e-01_rb,8.9796e-02_rb,7.7004e-02_rb,6.4217e-02_rb,5.1425e-02_rb,3.8649e-02_rb, & &2.5882e-02_rb,1.3106e-02_rb,2.9325e-04_rb/) kao(:, 2,11, 5) = (/ & &1.5400e-01_rb,1.3480e-01_rb,1.1559e-01_rb,9.6403e-02_rb,7.7200e-02_rb,5.8036e-02_rb, & &3.8878e-02_rb,1.9667e-02_rb,3.5327e-04_rb/) kao(:, 3,11, 5) = (/ & &2.2118e-01_rb,1.9361e-01_rb,1.6603e-01_rb,1.3846e-01_rb,1.1090e-01_rb,8.3368e-02_rb, & &5.5861e-02_rb,2.8242e-02_rb,4.6202e-04_rb/) kao(:, 4,11, 5) = (/ & &3.0353e-01_rb,2.6571e-01_rb,2.2790e-01_rb,1.9008e-01_rb,1.5227e-01_rb,1.1447e-01_rb, & &7.6708e-02_rb,3.8764e-02_rb,5.6335e-04_rb/) kao(:, 5,11, 5) = (/ & &4.0552e-01_rb,3.5495e-01_rb,3.0446e-01_rb,2.5391e-01_rb,2.0338e-01_rb,1.5287e-01_rb, & &1.0246e-01_rb,5.1876e-02_rb,6.9233e-04_rb/) kao(:, 1,12, 5) = (/ & &1.1805e-01_rb,1.0334e-01_rb,8.8617e-02_rb,7.3889e-02_rb,5.9170e-02_rb,4.4431e-02_rb, & &2.9722e-02_rb,1.5007e-02_rb,3.3712e-04_rb/) kao(:, 2,12, 5) = (/ & &1.7261e-01_rb,1.5108e-01_rb,1.2954e-01_rb,1.0804e-01_rb,8.6508e-02_rb,6.5013e-02_rb, & &4.3529e-02_rb,2.1984e-02_rb,3.8771e-04_rb/) kao(:, 3,12, 5) = (/ & &2.4519e-01_rb,2.1462e-01_rb,1.8406e-01_rb,1.5350e-01_rb,1.2297e-01_rb,9.2422e-02_rb, & &6.1905e-02_rb,3.1241e-02_rb,5.1427e-04_rb/) kao(:, 4,12, 5) = (/ & &3.3550e-01_rb,2.9369e-01_rb,2.5183e-01_rb,2.1003e-01_rb,1.6821e-01_rb,1.2645e-01_rb, & &8.4714e-02_rb,4.2803e-02_rb,6.2818e-04_rb/) kao(:, 5,12, 5) = (/ & &4.4900e-01_rb,3.9309e-01_rb,3.3714e-01_rb,2.8120e-01_rb,2.2522e-01_rb,1.6927e-01_rb, & &1.1341e-01_rb,5.7326e-02_rb,7.6692e-04_rb/) kao(:, 1,13, 5) = (/ & &1.0921e-01_rb,9.5613e-02_rb,8.2016e-02_rb,6.8423e-02_rb,5.4814e-02_rb,4.1207e-02_rb, & &2.7589e-02_rb,1.3915e-02_rb,3.0996e-04_rb/) kao(:, 2,13, 5) = (/ & &1.5908e-01_rb,1.3927e-01_rb,1.1945e-01_rb,9.9633e-02_rb,7.9786e-02_rb,5.9973e-02_rb, & &4.0176e-02_rb,2.0276e-02_rb,3.7414e-04_rb/) kao(:, 3,13, 5) = (/ & &2.2086e-01_rb,1.9339e-01_rb,1.6582e-01_rb,1.3829e-01_rb,1.1077e-01_rb,8.3306e-02_rb, & &5.5823e-02_rb,2.8176e-02_rb,4.9992e-04_rb/) kao(:, 4,13, 5) = (/ & &3.0195e-01_rb,2.6439e-01_rb,2.2676e-01_rb,1.8917e-01_rb,1.5156e-01_rb,1.1401e-01_rb, & &7.6395e-02_rb,3.8587e-02_rb,6.2293e-04_rb/) kao(:, 5,13, 5) = (/ & &4.0305e-01_rb,3.5276e-01_rb,3.0259e-01_rb,2.5241e-01_rb,2.0221e-01_rb,1.5209e-01_rb, & &1.0190e-01_rb,5.1477e-02_rb,7.6835e-04_rb/) kao(:, 1, 1, 6) = (/ & &1.3028e-03_rb,1.4792e-03_rb,1.5640e-03_rb,1.5783e-03_rb,1.5338e-03_rb,1.4263e-03_rb, & &1.2426e-03_rb,1.0270e-03_rb,3.8769e-04_rb/) kao(:, 2, 1, 6) = (/ & &1.5941e-03_rb,1.8539e-03_rb,1.9924e-03_rb,2.0205e-03_rb,1.9782e-03_rb,1.8703e-03_rb, & &1.6672e-03_rb,1.3063e-03_rb,5.8906e-04_rb/) kao(:, 3, 1, 6) = (/ & &1.9170e-03_rb,2.2892e-03_rb,2.4874e-03_rb,2.5352e-03_rb,2.4910e-03_rb,2.3785e-03_rb, & &2.1678e-03_rb,1.7982e-03_rb,8.4228e-04_rb/) kao(:, 4, 1, 6) = (/ & &2.2745e-03_rb,2.7857e-03_rb,3.0496e-03_rb,3.1195e-03_rb,3.0784e-03_rb,2.9487e-03_rb, & &2.7123e-03_rb,2.3729e-03_rb,1.1599e-03_rb/) kao(:, 5, 1, 6) = (/ & &2.6664e-03_rb,3.3396e-03_rb,3.6796e-03_rb,3.7742e-03_rb,3.7339e-03_rb,3.5735e-03_rb, & &3.3124e-03_rb,2.9540e-03_rb,1.5049e-03_rb/) kao(:, 1, 2, 6) = (/ & &1.6105e-03_rb,1.7112e-03_rb,1.7440e-03_rb,1.7104e-03_rb,1.6159e-03_rb,1.4650e-03_rb, & &1.2347e-03_rb,8.8371e-04_rb,2.8335e-04_rb/) kao(:, 2, 2, 6) = (/ & &1.9953e-03_rb,2.1575e-03_rb,2.2293e-03_rb,2.1981e-03_rb,2.0893e-03_rb,1.9131e-03_rb, & &1.6649e-03_rb,1.2817e-03_rb,4.3740e-04_rb/) kao(:, 3, 2, 6) = (/ & &2.4284e-03_rb,2.6728e-03_rb,2.7960e-03_rb,2.7642e-03_rb,2.6394e-03_rb,2.4361e-03_rb, & &2.1522e-03_rb,1.6930e-03_rb,6.3499e-04_rb/) kao(:, 4, 2, 6) = (/ & &2.9107e-03_rb,3.2657e-03_rb,3.4379e-03_rb,3.4084e-03_rb,3.2638e-03_rb,3.0336e-03_rb, & &2.6919e-03_rb,2.1920e-03_rb,8.6677e-04_rb/) kao(:, 5, 2, 6) = (/ & &3.4457e-03_rb,3.9315e-03_rb,4.1602e-03_rb,4.1311e-03_rb,3.9674e-03_rb,3.6982e-03_rb, & &3.2905e-03_rb,2.7416e-03_rb,1.1277e-03_rb/) kao(:, 1, 3, 6) = (/ & &2.5362e-03_rb,2.4734e-03_rb,2.3740e-03_rb,2.2299e-03_rb,2.0298e-03_rb,1.7661e-03_rb, & &1.4316e-03_rb,9.7765e-04_rb,1.9718e-04_rb/) kao(:, 2, 3, 6) = (/ & &3.1979e-03_rb,3.1448e-03_rb,3.0502e-03_rb,2.8893e-03_rb,2.6412e-03_rb,2.3120e-03_rb, & &1.8934e-03_rb,1.3566e-03_rb,3.0943e-04_rb/) kao(:, 3, 3, 6) = (/ & &3.9564e-03_rb,3.9245e-03_rb,3.8464e-03_rb,3.6625e-03_rb,3.3542e-03_rb,2.9452e-03_rb, & &2.4362e-03_rb,1.8025e-03_rb,4.5105e-04_rb/) kao(:, 4, 3, 6) = (/ & &4.8099e-03_rb,4.8142e-03_rb,4.7669e-03_rb,4.5499e-03_rb,4.1705e-03_rb,3.6723e-03_rb, & &3.0586e-03_rb,2.2944e-03_rb,6.1219e-04_rb/) kao(:, 5, 3, 6) = (/ & &5.7692e-03_rb,5.8286e-03_rb,5.8075e-03_rb,5.5468e-03_rb,5.0930e-03_rb,4.4966e-03_rb, & &3.7644e-03_rb,2.8408e-03_rb,8.0331e-04_rb/) kao(:, 1, 4, 6) = (/ & &3.9832e-03_rb,3.6741e-03_rb,3.3865e-03_rb,3.0403e-03_rb,2.6684e-03_rb,2.2429e-03_rb, & &1.7419e-03_rb,1.1291e-03_rb,1.3015e-04_rb/) kao(:, 2, 4, 6) = (/ & &5.1171e-03_rb,4.7408e-03_rb,4.3919e-03_rb,3.9718e-03_rb,3.5069e-03_rb,2.9654e-03_rb, & &2.3168e-03_rb,1.5306e-03_rb,2.0974e-04_rb/) kao(:, 3, 4, 6) = (/ & &6.4449e-03_rb,5.9980e-03_rb,5.5858e-03_rb,5.0842e-03_rb,4.5074e-03_rb,3.8196e-03_rb, & &2.9911e-03_rb,2.0056e-03_rb,3.1006e-04_rb/) kao(:, 4, 4, 6) = (/ & &7.9648e-03_rb,7.4434e-03_rb,6.9731e-03_rb,6.3878e-03_rb,5.6676e-03_rb,4.8062e-03_rb, & &3.7737e-03_rb,2.5549e-03_rb,4.2568e-04_rb/) kao(:, 5, 4, 6) = (/ & &9.7092e-03_rb,9.1026e-03_rb,8.5703e-03_rb,7.8734e-03_rb,6.9867e-03_rb,5.9261e-03_rb, & &4.6651e-03_rb,3.1844e-03_rb,5.6406e-04_rb/) kao(:, 1, 5, 6) = (/ & &5.7027e-03_rb,5.1210e-03_rb,4.6077e-03_rb,4.0275e-03_rb,3.4179e-03_rb,2.7812e-03_rb, & &2.0863e-03_rb,1.2862e-03_rb,7.8383e-05_rb/) kao(:, 2, 5, 6) = (/ & &7.4791e-03_rb,6.7335e-03_rb,6.0729e-03_rb,5.3256e-03_rb,4.5457e-03_rb,3.7228e-03_rb, & &2.8115e-03_rb,1.7506e-03_rb,1.3561e-04_rb/) kao(:, 3, 5, 6) = (/ & &9.5940e-03_rb,8.6573e-03_rb,7.8294e-03_rb,6.8962e-03_rb,5.9152e-03_rb,4.8604e-03_rb, & &3.6801e-03_rb,2.2991e-03_rb,2.0565e-04_rb/) kao(:, 4, 5, 6) = (/ & &1.2079e-02_rb,1.0922e-02_rb,9.8984e-03_rb,8.7543e-03_rb,7.5389e-03_rb,6.1967e-03_rb, & &4.6995e-03_rb,2.9469e-03_rb,2.9267e-04_rb/) kao(:, 5, 5, 6) = (/ & &1.4994e-02_rb,1.3590e-02_rb,1.2330e-02_rb,1.0933e-02_rb,9.4206e-03_rb,7.7402e-03_rb, & &5.8678e-03_rb,3.6936e-03_rb,3.9433e-04_rb/) kao(:, 1, 6, 6) = (/ & &7.5110e-03_rb,6.6602e-03_rb,5.8889e-03_rb,5.0761e-03_rb,4.2229e-03_rb,3.3438e-03_rb, & &2.4265e-03_rb,1.4290e-03_rb,6.0800e-05_rb/) kao(:, 2, 6, 6) = (/ & &1.0081e-02_rb,8.9573e-03_rb,7.9340e-03_rb,6.8466e-03_rb,5.7108e-03_rb,4.5453e-03_rb, & &3.3197e-03_rb,1.9723e-03_rb,8.3721e-05_rb/) kao(:, 3, 6, 6) = (/ & &1.3198e-02_rb,1.1747e-02_rb,1.0417e-02_rb,9.0067e-03_rb,7.5375e-03_rb,6.0255e-03_rb, & &4.4194e-03_rb,2.6335e-03_rb,1.2422e-04_rb/) kao(:, 4, 6, 6) = (/ & &1.6984e-02_rb,1.5135e-02_rb,1.3426e-02_rb,1.1628e-02_rb,9.7560e-03_rb,7.8119e-03_rb, & &5.7333e-03_rb,3.4188e-03_rb,1.8443e-04_rb/) kao(:, 5, 6, 6) = (/ & &2.1488e-02_rb,1.9171e-02_rb,1.7013e-02_rb,1.4755e-02_rb,1.2406e-02_rb,9.9290e-03_rb, & &7.2811e-03_rb,4.3367e-03_rb,2.5906e-04_rb/) kao(:, 1, 7, 6) = (/ & &1.0317e-02_rb,9.0822e-03_rb,7.9160e-03_rb,6.7515e-03_rb,5.5440e-03_rb,4.3074e-03_rb, & &3.0340e-03_rb,1.7035e-03_rb,6.0426e-05_rb/) kao(:, 2, 7, 6) = (/ & &1.4191e-02_rb,1.2505e-02_rb,1.0919e-02_rb,9.3201e-03_rb,7.6597e-03_rb,5.9649e-03_rb, & &4.2263e-03_rb,2.3919e-03_rb,8.0608e-05_rb/) kao(:, 3, 7, 6) = (/ & &1.9028e-02_rb,1.6789e-02_rb,1.4664e-02_rb,1.2525e-02_rb,1.0306e-02_rb,8.0458e-03_rb, & &5.7261e-03_rb,3.2535e-03_rb,1.0671e-04_rb/) kao(:, 4, 7, 6) = (/ & &2.5018e-02_rb,2.2107e-02_rb,1.9309e-02_rb,1.6498e-02_rb,1.3592e-02_rb,1.0633e-02_rb, & &7.5736e-03_rb,4.3041e-03_rb,1.3667e-04_rb/) kao(:, 5, 7, 6) = (/ & &3.2278e-02_rb,2.8550e-02_rb,2.4932e-02_rb,2.1309e-02_rb,1.7576e-02_rb,1.3764e-02_rb, & &9.7979e-03_rb,5.5674e-03_rb,1.7569e-04_rb/) kao(:, 1, 8, 6) = (/ & &1.6908e-02_rb,1.4827e-02_rb,1.2781e-02_rb,1.0775e-02_rb,8.7653e-03_rb,6.7156e-03_rb, & &4.6263e-03_rb,2.4796e-03_rb,7.2095e-05_rb/) kao(:, 2, 8, 6) = (/ & &2.3895e-02_rb,2.0964e-02_rb,1.8085e-02_rb,1.5267e-02_rb,1.2424e-02_rb,9.5170e-03_rb, & &6.5710e-03_rb,3.5441e-03_rb,9.6806e-05_rb/) kao(:, 3, 8, 6) = (/ & &3.2855e-02_rb,2.8841e-02_rb,2.4900e-02_rb,2.1032e-02_rb,1.7114e-02_rb,1.3120e-02_rb, & &9.0780e-03_rb,4.9231e-03_rb,1.2768e-04_rb/) kao(:, 4, 8, 6) = (/ & &4.4127e-02_rb,3.8763e-02_rb,3.3492e-02_rb,2.8282e-02_rb,2.3023e-02_rb,1.7668e-02_rb, & &1.2245e-02_rb,6.6502e-03_rb,1.6091e-04_rb/) kao(:, 5, 8, 6) = (/ & &5.7992e-02_rb,5.0977e-02_rb,4.4047e-02_rb,3.7189e-02_rb,3.0275e-02_rb,2.3248e-02_rb, & &1.6136e-02_rb,8.7683e-03_rb,1.9428e-04_rb/) kao(:, 1, 9, 6) = (/ & &5.1709e-02_rb,4.5263e-02_rb,3.8825e-02_rb,3.2404e-02_rb,2.6001e-02_rb,1.9630e-02_rb, & &1.3270e-02_rb,6.8433e-03_rb,1.6819e-04_rb/) kao(:, 2, 9, 6) = (/ & &7.5377e-02_rb,6.5994e-02_rb,5.6614e-02_rb,4.7250e-02_rb,3.7927e-02_rb,2.8667e-02_rb, & &1.9405e-02_rb,1.0007e-02_rb,2.0150e-04_rb/) kao(:, 3, 9, 6) = (/ & &1.0637e-01_rb,9.3142e-02_rb,7.9913e-02_rb,6.6713e-02_rb,5.3579e-02_rb,4.0525e-02_rb, & &2.7438e-02_rb,1.4159e-02_rb,2.5395e-04_rb/) kao(:, 4, 9, 6) = (/ & &1.4601e-01_rb,1.2787e-01_rb,1.0973e-01_rb,9.1640e-02_rb,7.3643e-02_rb,5.5707e-02_rb, & &3.7721e-02_rb,1.9493e-02_rb,2.9114e-04_rb/) kao(:, 5, 9, 6) = (/ & &1.9540e-01_rb,1.7114e-01_rb,1.4689e-01_rb,1.2270e-01_rb,9.8611e-02_rb,7.4576e-02_rb, & &5.0506e-02_rb,2.6131e-02_rb,3.2502e-04_rb/) kao(:, 1,10, 6) = (/ & &1.7908e-01_rb,1.5672e-01_rb,1.3434e-01_rb,1.1197e-01_rb,8.9592e-02_rb,6.7243e-02_rb, & &4.4903e-02_rb,2.2650e-02_rb,3.5407e-04_rb/) kao(:, 2,10, 6) = (/ & &2.6809e-01_rb,2.3461e-01_rb,2.0111e-01_rb,1.6763e-01_rb,1.3416e-01_rb,1.0070e-01_rb, & &6.7289e-02_rb,3.4001e-02_rb,4.2267e-04_rb/) kao(:, 3,10, 6) = (/ & &3.8962e-01_rb,3.4094e-01_rb,2.9228e-01_rb,2.4365e-01_rb,1.9501e-01_rb,1.4639e-01_rb, & &9.7852e-02_rb,4.9496e-02_rb,5.5217e-04_rb/) kao(:, 4,10, 6) = (/ & &5.4709e-01_rb,4.7880e-01_rb,4.1047e-01_rb,3.4221e-01_rb,2.7390e-01_rb,2.0562e-01_rb, & &1.3748e-01_rb,6.9566e-02_rb,6.7800e-04_rb/) kao(:, 5,10, 6) = (/ & &7.4383e-01_rb,6.5097e-01_rb,5.5813e-01_rb,4.6528e-01_rb,3.7246e-01_rb,2.7966e-01_rb, & &1.8702e-01_rb,9.4633e-02_rb,7.9930e-04_rb/) kao(:, 1,11, 6) = (/ & &2.6405e-01_rb,2.3107e-01_rb,1.9807e-01_rb,1.6508e-01_rb,1.3209e-01_rb,9.9087e-02_rb, & &6.6140e-02_rb,3.3239e-02_rb,4.6661e-04_rb/) kao(:, 2,11, 6) = (/ & &3.9885e-01_rb,3.4898e-01_rb,2.9917e-01_rb,2.4935e-01_rb,1.9952e-01_rb,1.4970e-01_rb, & &9.9938e-02_rb,5.0287e-02_rb,6.6831e-04_rb/) kao(:, 3,11, 6) = (/ & &5.8178e-01_rb,5.0910e-01_rb,4.3644e-01_rb,3.6379e-01_rb,2.9110e-01_rb,2.1843e-01_rb, & &1.4582e-01_rb,7.3440e-02_rb,7.3058e-04_rb/) kao(:, 4,11, 6) = (/ & &8.2081e-01_rb,7.1832e-01_rb,6.1577e-01_rb,5.1330e-01_rb,4.1077e-01_rb,3.0826e-01_rb, & &2.0583e-01_rb,1.0374e-01_rb,9.0801e-04_rb/) kao(:, 5,11, 6) = (/ & &1.1196e+00_rb,9.7976e-01_rb,8.3991e-01_rb,7.0013e-01_rb,5.6034e-01_rb,4.2058e-01_rb, & &2.8087e-01_rb,1.4156e-01_rb,1.1083e-03_rb/) kao(:, 1,12, 6) = (/ & &2.9667e-01_rb,2.5960e-01_rb,2.2251e-01_rb,1.8545e-01_rb,1.4837e-01_rb,1.1135e-01_rb, & &7.4300e-02_rb,3.7344e-02_rb,4.3166e-04_rb/) kao(:, 2,12, 6) = (/ & &4.4544e-01_rb,3.8980e-01_rb,3.3414e-01_rb,2.7849e-01_rb,2.2283e-01_rb,1.6719e-01_rb, & &1.1158e-01_rb,5.6122e-02_rb,7.5682e-04_rb/) kao(:, 3,12, 6) = (/ & &6.4877e-01_rb,5.6770e-01_rb,4.8669e-01_rb,4.0564e-01_rb,3.2461e-01_rb,2.4355e-01_rb, & &1.6257e-01_rb,8.1850e-02_rb,7.9167e-04_rb/) kao(:, 4,12, 6) = (/ & &9.1198e-01_rb,7.9809e-01_rb,6.8416e-01_rb,5.7025e-01_rb,4.5635e-01_rb,3.4245e-01_rb, & &2.2863e-01_rb,1.1515e-01_rb,9.9906e-04_rb/) kao(:, 5,12, 6) = (/ & &1.2467e+00_rb,1.0910e+00_rb,9.3529e-01_rb,7.7959e-01_rb,6.2391e-01_rb,4.6827e-01_rb, & &3.1271e-01_rb,1.5753e-01_rb,1.2003e-03_rb/) kao(:, 1,13, 6) = (/ & &2.7690e-01_rb,2.4228e-01_rb,2.0769e-01_rb,1.7308e-01_rb,1.3848e-01_rb,1.0389e-01_rb, & &6.9340e-02_rb,3.4888e-02_rb,4.3050e-04_rb/) kao(:, 2,13, 6) = (/ & &4.0226e-01_rb,3.5198e-01_rb,3.0172e-01_rb,2.5145e-01_rb,2.0123e-01_rb,1.5101e-01_rb, & &1.0081e-01_rb,5.0783e-02_rb,7.1649e-04_rb/) kao(:, 3,13, 6) = (/ & &5.7863e-01_rb,5.0634e-01_rb,4.3410e-01_rb,3.6182e-01_rb,2.8956e-01_rb,2.1728e-01_rb, & &1.4512e-01_rb,7.3148e-02_rb,7.7482e-04_rb/) kao(:, 4,13, 6) = (/ & &8.1324e-01_rb,7.1165e-01_rb,6.1013e-01_rb,5.0851e-01_rb,4.0696e-01_rb,3.0541e-01_rb, & &2.0404e-01_rb,1.0287e-01_rb,9.9392e-04_rb/) kao(:, 5,13, 6) = (/ & &1.1104e+00_rb,9.7179e-01_rb,8.3315e-01_rb,6.9450e-01_rb,5.5586e-01_rb,4.1728e-01_rb, & &2.7889e-01_rb,1.4068e-01_rb,1.1816e-03_rb/) kao(:, 1, 1, 7) = (/ & &3.5054e-03_rb,3.5055e-03_rb,3.5120e-03_rb,3.3810e-03_rb,3.1730e-03_rb,2.8811e-03_rb, & &2.4850e-03_rb,1.7479e-03_rb,1.1652e-03_rb/) kao(:, 2, 1, 7) = (/ & &4.3050e-03_rb,4.3583e-03_rb,4.3910e-03_rb,4.2644e-03_rb,4.0306e-03_rb,3.6880e-03_rb, & &3.2528e-03_rb,2.5892e-03_rb,1.6752e-03_rb/) kao(:, 3, 1, 7) = (/ & &5.1735e-03_rb,5.2976e-03_rb,5.3803e-03_rb,5.2761e-03_rb,5.0137e-03_rb,4.6183e-03_rb, & &4.1353e-03_rb,3.5068e-03_rb,2.2495e-03_rb/) kao(:, 4, 1, 7) = (/ & &6.1057e-03_rb,6.3115e-03_rb,6.4786e-03_rb,6.4038e-03_rb,6.1210e-03_rb,5.6909e-03_rb, & &5.1278e-03_rb,4.5615e-03_rb,2.9063e-03_rb/) kao(:, 5, 1, 7) = (/ & &7.0959e-03_rb,7.4049e-03_rb,7.6778e-03_rb,7.6470e-03_rb,7.3706e-03_rb,6.8965e-03_rb, & &6.2418e-03_rb,5.7511e-03_rb,3.6720e-03_rb/) kao(:, 1, 2, 7) = (/ & &4.4522e-03_rb,4.2827e-03_rb,4.1712e-03_rb,3.9058e-03_rb,3.5730e-03_rb,3.1581e-03_rb, & &2.6434e-03_rb,1.9182e-03_rb,8.6485e-04_rb/) kao(:, 2, 2, 7) = (/ & &5.5183e-03_rb,5.3551e-03_rb,5.2393e-03_rb,4.9436e-03_rb,4.5529e-03_rb,4.0469e-03_rb, & &3.4309e-03_rb,2.6479e-03_rb,1.2370e-03_rb/) kao(:, 3, 2, 7) = (/ & &6.6858e-03_rb,6.5555e-03_rb,6.4351e-03_rb,6.1353e-03_rb,5.6849e-03_rb,5.0737e-03_rb, & &4.3365e-03_rb,3.4457e-03_rb,1.6663e-03_rb/) kao(:, 4, 2, 7) = (/ & &7.9566e-03_rb,7.8606e-03_rb,7.7697e-03_rb,7.4702e-03_rb,6.9634e-03_rb,6.2571e-03_rb, & &5.3849e-03_rb,4.3375e-03_rb,2.1739e-03_rb/) kao(:, 5, 2, 7) = (/ & &9.3107e-03_rb,9.2749e-03_rb,9.2506e-03_rb,8.9459e-03_rb,8.3896e-03_rb,7.5840e-03_rb, & &6.5605e-03_rb,5.3408e-03_rb,2.7747e-03_rb/) kao(:, 1, 3, 7) = (/ & &7.1663e-03_rb,6.5385e-03_rb,6.0832e-03_rb,5.5176e-03_rb,4.8422e-03_rb,4.1012e-03_rb, & &3.2557e-03_rb,2.2244e-03_rb,5.9815e-04_rb/) kao(:, 2, 3, 7) = (/ & &9.0118e-03_rb,8.2694e-03_rb,7.7301e-03_rb,7.0328e-03_rb,6.2053e-03_rb,5.2869e-03_rb, & &4.2235e-03_rb,2.9652e-03_rb,8.5322e-04_rb/) kao(:, 3, 3, 7) = (/ & &1.1073e-02_rb,1.0215e-02_rb,9.5832e-03_rb,8.7498e-03_rb,7.7844e-03_rb,6.6733e-03_rb, & &5.3588e-03_rb,3.8104e-03_rb,1.1597e-03_rb/) kao(:, 4, 3, 7) = (/ & &1.3336e-02_rb,1.2373e-02_rb,1.1642e-02_rb,1.0696e-02_rb,9.5807e-03_rb,8.2482e-03_rb, & &6.6726e-03_rb,4.7891e-03_rb,1.5317e-03_rb/) kao(:, 5, 3, 7) = (/ & &1.5766e-02_rb,1.4727e-02_rb,1.3917e-02_rb,1.2876e-02_rb,1.1585e-02_rb,1.0016e-02_rb, & &8.1535e-03_rb,5.8982e-03_rb,1.9785e-03_rb/) kao(:, 1, 4, 7) = (/ & &1.1443e-02_rb,1.0194e-02_rb,9.0847e-03_rb,8.0229e-03_rb,6.8443e-03_rb,5.5702e-03_rb, & &4.2183e-03_rb,2.6813e-03_rb,4.0030e-04_rb/) kao(:, 2, 4, 7) = (/ & &1.4659e-02_rb,1.3095e-02_rb,1.1714e-02_rb,1.0375e-02_rb,8.8664e-03_rb,7.2483e-03_rb, & &5.5253e-03_rb,3.5568e-03_rb,5.7754e-04_rb/) kao(:, 3, 4, 7) = (/ & &1.8306e-02_rb,1.6401e-02_rb,1.4719e-02_rb,1.3058e-02_rb,1.1190e-02_rb,9.2063e-03_rb, & &7.0626e-03_rb,4.5942e-03_rb,7.9824e-04_rb/) kao(:, 4, 4, 7) = (/ & &2.2363e-02_rb,2.0101e-02_rb,1.8107e-02_rb,1.6087e-02_rb,1.3850e-02_rb,1.1470e-02_rb, & &8.8334e-03_rb,5.7997e-03_rb,1.0688e-03_rb/) kao(:, 5, 4, 7) = (/ & &2.6741e-02_rb,2.4136e-02_rb,2.1831e-02_rb,1.9473e-02_rb,1.6867e-02_rb,1.4029e-02_rb, & &1.0846e-02_rb,7.1614e-03_rb,1.3988e-03_rb/) kao(:, 1, 5, 7) = (/ & &1.6600e-02_rb,1.4668e-02_rb,1.2778e-02_rb,1.1029e-02_rb,9.2361e-03_rb,7.3333e-03_rb, & &5.3444e-03_rb,3.2124e-03_rb,2.6040e-04_rb/) kao(:, 2, 5, 7) = (/ & &2.1709e-02_rb,1.9200e-02_rb,1.6777e-02_rb,1.4511e-02_rb,1.2172e-02_rb,9.6744e-03_rb, & &7.0766e-03_rb,4.2987e-03_rb,3.8620e-04_rb/) kao(:, 3, 5, 7) = (/ & &2.7589e-02_rb,2.4430e-02_rb,2.1405e-02_rb,1.8550e-02_rb,1.5579e-02_rb,1.2414e-02_rb, & &9.1361e-03_rb,5.5941e-03_rb,5.4726e-04_rb/) kao(:, 4, 5, 7) = (/ & &3.4183e-02_rb,3.0324e-02_rb,2.6641e-02_rb,2.3153e-02_rb,1.9480e-02_rb,1.5601e-02_rb, & &1.1542e-02_rb,7.1098e-03_rb,7.4652e-04_rb/) kao(:, 5, 5, 7) = (/ & &4.1421e-02_rb,3.6823e-02_rb,3.2447e-02_rb,2.8275e-02_rb,2.3873e-02_rb,1.9232e-02_rb, & &1.4297e-02_rb,8.8472e-03_rb,9.9177e-04_rb/) kao(:, 1, 6, 7) = (/ & &2.2041e-02_rb,1.9394e-02_rb,1.6757e-02_rb,1.4215e-02_rb,1.1736e-02_rb,9.1749e-03_rb, & &6.5141e-03_rb,3.7310e-03_rb,1.4404e-04_rb/) kao(:, 2, 6, 7) = (/ & &2.9498e-02_rb,2.5961e-02_rb,2.2459e-02_rb,1.9104e-02_rb,1.5796e-02_rb,1.2359e-02_rb, & &8.7857e-03_rb,5.0673e-03_rb,2.3466e-04_rb/) kao(:, 3, 6, 7) = (/ & &3.8260e-02_rb,3.3683e-02_rb,2.9196e-02_rb,2.4887e-02_rb,2.0608e-02_rb,1.6142e-02_rb, & &1.1503e-02_rb,6.6775e-03_rb,3.4879e-04_rb/) kao(:, 4, 6, 7) = (/ & &4.8196e-02_rb,4.2468e-02_rb,3.6884e-02_rb,3.1502e-02_rb,2.6137e-02_rb,2.0520e-02_rb, & &1.4704e-02_rb,8.5847e-03_rb,4.9990e-04_rb/) kao(:, 5, 6, 7) = (/ & &5.9282e-02_rb,5.2285e-02_rb,4.5513e-02_rb,3.8965e-02_rb,3.2393e-02_rb,2.5526e-02_rb, & &1.8401e-02_rb,1.0794e-02_rb,6.8674e-04_rb/) kao(:, 1, 7, 7) = (/ & &3.0340e-02_rb,2.6632e-02_rb,2.2911e-02_rb,1.9238e-02_rb,1.5651e-02_rb,1.2078e-02_rb, & &8.4116e-03_rb,4.6225e-03_rb,1.1044e-04_rb/) kao(:, 2, 7, 7) = (/ & &4.1630e-02_rb,3.6541e-02_rb,3.1448e-02_rb,2.6441e-02_rb,2.1565e-02_rb,1.6662e-02_rb, & &1.1608e-02_rb,6.3979e-03_rb,1.5103e-04_rb/) kao(:, 3, 7, 7) = (/ & &5.5141e-02_rb,4.8404e-02_rb,4.1697e-02_rb,3.5120e-02_rb,2.8696e-02_rb,2.2204e-02_rb, & &1.5482e-02_rb,8.5690e-03_rb,2.0480e-04_rb/) kao(:, 4, 7, 7) = (/ & &7.0797e-02_rb,6.2144e-02_rb,5.3596e-02_rb,4.5212e-02_rb,3.6995e-02_rb,2.8664e-02_rb, & &2.0039e-02_rb,1.1163e-02_rb,2.9866e-04_rb/) kao(:, 5, 7, 7) = (/ & &8.8459e-02_rb,7.7674e-02_rb,6.7088e-02_rb,5.6677e-02_rb,4.6470e-02_rb,3.6087e-02_rb, & &2.5332e-02_rb,1.4195e-02_rb,4.2372e-04_rb/) kao(:, 1, 8, 7) = (/ & &4.9601e-02_rb,4.3472e-02_rb,3.7321e-02_rb,3.1177e-02_rb,2.5072e-02_rb,1.9045e-02_rb, & &1.3035e-02_rb,6.9120e-03_rb,1.2554e-04_rb/) kao(:, 2, 8, 7) = (/ & &6.9873e-02_rb,6.1229e-02_rb,5.2577e-02_rb,4.3926e-02_rb,3.5352e-02_rb,2.6911e-02_rb, & &1.8460e-02_rb,9.7927e-03_rb,1.5143e-04_rb/) kao(:, 3, 8, 7) = (/ & &9.4645e-02_rb,8.2931e-02_rb,7.1217e-02_rb,5.9530e-02_rb,4.7979e-02_rb,3.6597e-02_rb, & &2.5135e-02_rb,1.3350e-02_rb,1.8982e-04_rb/) kao(:, 4, 8, 7) = (/ & &1.2398e-01_rb,1.0863e-01_rb,9.3295e-02_rb,7.8049e-02_rb,6.2983e-02_rb,4.8099e-02_rb, & &3.3072e-02_rb,1.7624e-02_rb,2.4338e-04_rb/) kao(:, 5, 8, 7) = (/ & &1.5756e-01_rb,1.3808e-01_rb,1.1863e-01_rb,9.9354e-02_rb,8.0265e-02_rb,6.1390e-02_rb, & &4.2297e-02_rb,2.2655e-02_rb,3.0934e-04_rb/) kao(:, 1, 9, 7) = (/ & &1.5112e-01_rb,1.3227e-01_rb,1.1344e-01_rb,9.4596e-02_rb,7.5748e-02_rb,5.6892e-02_rb, & &3.8080e-02_rb,1.9401e-02_rb,2.5169e-04_rb/) kao(:, 2, 9, 7) = (/ & &2.1904e-01_rb,1.9173e-01_rb,1.6442e-01_rb,1.3710e-01_rb,1.0978e-01_rb,8.2457e-02_rb, & &5.5213e-02_rb,2.8220e-02_rb,3.2207e-04_rb/) kao(:, 3, 9, 7) = (/ & &3.0409e-01_rb,2.6618e-01_rb,2.2825e-01_rb,1.9033e-01_rb,1.5240e-01_rb,1.1448e-01_rb, & &7.6724e-02_rb,3.9326e-02_rb,3.9043e-04_rb/) kao(:, 4, 9, 7) = (/ & &4.0691e-01_rb,3.5618e-01_rb,3.0544e-01_rb,2.5467e-01_rb,2.0393e-01_rb,1.5326e-01_rb, & &1.0281e-01_rb,5.2796e-02_rb,4.7191e-04_rb/) kao(:, 5, 9, 7) = (/ & &5.2694e-01_rb,4.6123e-01_rb,3.9556e-01_rb,3.2985e-01_rb,2.6417e-01_rb,1.9865e-01_rb, & &1.3342e-01_rb,6.8629e-02_rb,5.3966e-04_rb/) kao(:, 1,10, 7) = (/ & &5.2400e-01_rb,4.5853e-01_rb,3.9306e-01_rb,3.2760e-01_rb,2.6216e-01_rb,1.9669e-01_rb, & &1.3123e-01_rb,6.5752e-02_rb,5.0343e-04_rb/) kao(:, 2,10, 7) = (/ & &7.8161e-01_rb,6.8400e-01_rb,5.8634e-01_rb,4.8867e-01_rb,3.9103e-01_rb,2.9337e-01_rb, & &1.9570e-01_rb,9.8059e-02_rb,7.7212e-04_rb/) kao(:, 3,10, 7) = (/ & &1.1108e+00_rb,9.7208e-01_rb,8.3335e-01_rb,6.9453e-01_rb,5.5575e-01_rb,4.1693e-01_rb, & &2.7814e-01_rb,1.3935e-01_rb,8.3303e-04_rb/) kao(:, 4,10, 7) = (/ & &1.5159e+00_rb,1.3265e+00_rb,1.1372e+00_rb,9.4781e-01_rb,7.5840e-01_rb,5.6900e-01_rb, & &3.7960e-01_rb,1.9025e-01_rb,1.0516e-03_rb/) kao(:, 5,10, 7) = (/ & &2.0008e+00_rb,1.7509e+00_rb,1.5009e+00_rb,1.2510e+00_rb,1.0010e+00_rb,7.5106e-01_rb, & &5.0105e-01_rb,2.5132e-01_rb,1.2795e-03_rb/) kao(:, 1,11, 7) = (/ & &7.6934e-01_rb,6.7322e-01_rb,5.7711e-01_rb,4.8095e-01_rb,3.8483e-01_rb,2.8868e-01_rb, & &1.9254e-01_rb,9.6383e-02_rb,4.1213e-04_rb/) kao(:, 2,11, 7) = (/ & &1.1531e+00_rb,1.0090e+00_rb,8.6492e-01_rb,7.2086e-01_rb,5.7680e-01_rb,4.3268e-01_rb, & &2.8857e-01_rb,1.4445e-01_rb,7.8643e-04_rb/) kao(:, 3,11, 7) = (/ & &1.6479e+00_rb,1.4420e+00_rb,1.2361e+00_rb,1.0302e+00_rb,8.2427e-01_rb,6.1836e-01_rb, & &4.1243e-01_rb,2.0646e-01_rb,1.3424e-03_rb/) kao(:, 4,11, 7) = (/ & &2.2624e+00_rb,1.9796e+00_rb,1.6970e+00_rb,1.4143e+00_rb,1.1316e+00_rb,8.4892e-01_rb, & &5.6619e-01_rb,2.8348e-01_rb,1.4044e-03_rb/) kao(:, 5,11, 7) = (/ & &3.0074e+00_rb,2.6315e+00_rb,2.2558e+00_rb,1.8800e+00_rb,1.5042e+00_rb,1.1285e+00_rb, & &7.5266e-01_rb,3.7695e-01_rb,1.6947e-03_rb/) kao(:, 1,12, 7) = (/ & &8.4478e-01_rb,7.3926e-01_rb,6.3371e-01_rb,5.2813e-01_rb,4.2255e-01_rb,3.1696e-01_rb, & &2.1141e-01_rb,1.0578e-01_rb,4.0897e-04_rb/) kao(:, 2,12, 7) = (/ & &1.2687e+00_rb,1.1101e+00_rb,9.5161e-01_rb,7.9307e-01_rb,6.3449e-01_rb,4.7596e-01_rb, & &3.1742e-01_rb,1.5884e-01_rb,7.3572e-04_rb/) kao(:, 3,12, 7) = (/ & &1.8247e+00_rb,1.5966e+00_rb,1.3686e+00_rb,1.1406e+00_rb,9.1261e-01_rb,6.8459e-01_rb, & &4.5656e-01_rb,2.2852e-01_rb,1.3876e-03_rb/) kao(:, 4,12, 7) = (/ & &2.5294e+00_rb,2.2134e+00_rb,1.8973e+00_rb,1.5812e+00_rb,1.2652e+00_rb,9.4906e-01_rb, & &6.3294e-01_rb,3.1685e-01_rb,1.6774e-03_rb/) kao(:, 5,12, 7) = (/ & &3.3840e+00_rb,2.9611e+00_rb,2.5383e+00_rb,2.1154e+00_rb,1.6926e+00_rb,1.2697e+00_rb, & &8.4679e-01_rb,4.2403e-01_rb,1.9227e-03_rb/) kao(:, 1,13, 7) = (/ & &7.4992e-01_rb,6.5626e-01_rb,5.6252e-01_rb,4.6882e-01_rb,3.7512e-01_rb,2.8140e-01_rb, & &1.8768e-01_rb,9.3938e-02_rb,4.2556e-04_rb/) kao(:, 2,13, 7) = (/ & &1.1304e+00_rb,9.8913e-01_rb,8.4793e-01_rb,7.0671e-01_rb,5.6541e-01_rb,4.2417e-01_rb, & &2.8288e-01_rb,1.4159e-01_rb,7.8986e-04_rb/) kao(:, 3,13, 7) = (/ & &1.6343e+00_rb,1.4300e+00_rb,1.2259e+00_rb,1.0217e+00_rb,8.1745e-01_rb,6.1321e-01_rb, & &4.0897e-01_rb,2.0475e-01_rb,1.4019e-03_rb/) kao(:, 4,13, 7) = (/ & &2.2667e+00_rb,1.9834e+00_rb,1.7002e+00_rb,1.4170e+00_rb,1.1337e+00_rb,8.5047e-01_rb, & &5.6722e-01_rb,2.8408e-01_rb,1.6857e-03_rb/) kao(:, 5,13, 7) = (/ & &3.0450e+00_rb,2.6646e+00_rb,2.2841e+00_rb,1.9036e+00_rb,1.5231e+00_rb,1.1426e+00_rb, & &7.6204e-01_rb,3.8179e-01_rb,1.9578e-03_rb/) kao(:, 1, 1, 8) = (/ & &7.5530e-03_rb,7.1946e-03_rb,6.9309e-03_rb,6.6476e-03_rb,6.1286e-03_rb,5.5188e-03_rb, & &4.8784e-03_rb,4.0369e-03_rb,3.2329e-03_rb/) kao(:, 2, 1, 8) = (/ & &9.1868e-03_rb,8.8285e-03_rb,8.6011e-03_rb,8.3060e-03_rb,7.7227e-03_rb,7.0815e-03_rb, & &6.4738e-03_rb,5.8694e-03_rb,4.4599e-03_rb/) kao(:, 3, 1, 8) = (/ & &1.0993e-02_rb,1.0661e-02_rb,1.0487e-02_rb,1.0178e-02_rb,9.5750e-03_rb,8.9143e-03_rb, & &8.3359e-03_rb,7.9019e-03_rb,5.9682e-03_rb/) kao(:, 4, 1, 8) = (/ & &1.2929e-02_rb,1.2692e-02_rb,1.2580e-02_rb,1.2285e-02_rb,1.1693e-02_rb,1.1035e-02_rb, & &1.0548e-02_rb,1.0225e-02_rb,7.8210e-03_rb/) kao(:, 5, 1, 8) = (/ & &1.4992e-02_rb,1.4924e-02_rb,1.4888e-02_rb,1.4659e-02_rb,1.4068e-02_rb,1.3474e-02_rb, & &1.3107e-02_rb,1.2867e-02_rb,1.0020e-02_rb/) kao(:, 1, 2, 8) = (/ & &1.0207e-02_rb,9.4797e-03_rb,8.8085e-03_rb,8.2309e-03_rb,7.4348e-03_rb,6.4679e-03_rb, & &5.3282e-03_rb,4.0056e-03_rb,2.5229e-03_rb/) kao(:, 2, 2, 8) = (/ & &1.2558e-02_rb,1.1748e-02_rb,1.1002e-02_rb,1.0338e-02_rb,9.3997e-03_rb,8.2648e-03_rb, & &6.9317e-03_rb,5.5570e-03_rb,3.5029e-03_rb/) kao(:, 3, 2, 8) = (/ & &1.5167e-02_rb,1.4277e-02_rb,1.3509e-02_rb,1.2727e-02_rb,1.1653e-02_rb,1.0352e-02_rb, & &8.8205e-03_rb,7.4037e-03_rb,4.7140e-03_rb/) kao(:, 4, 2, 8) = (/ & &1.7986e-02_rb,1.7073e-02_rb,1.6287e-02_rb,1.5417e-02_rb,1.4234e-02_rb,1.2722e-02_rb, & &1.1029e-02_rb,9.5450e-03_rb,6.1941e-03_rb/) kao(:, 5, 2, 8) = (/ & &2.1016e-02_rb,2.0104e-02_rb,1.9317e-02_rb,1.8415e-02_rb,1.7125e-02_rb,1.5397e-02_rb, & &1.3573e-02_rb,1.2029e-02_rb,7.9674e-03_rb/) kao(:, 1, 3, 8) = (/ & &1.7495e-02_rb,1.5793e-02_rb,1.4039e-02_rb,1.2465e-02_rb,1.0907e-02_rb,9.1072e-03_rb, & &7.1058e-03_rb,4.8343e-03_rb,1.7832e-03_rb/) kao(:, 2, 3, 8) = (/ & &2.1893e-02_rb,1.9841e-02_rb,1.7709e-02_rb,1.5801e-02_rb,1.3894e-02_rb,1.1662e-02_rb, & &9.2038e-03_rb,6.3817e-03_rb,2.5128e-03_rb/) kao(:, 3, 3, 8) = (/ & &2.6790e-02_rb,2.4372e-02_rb,2.1871e-02_rb,1.9635e-02_rb,1.7311e-02_rb,1.4624e-02_rb, & &1.1658e-02_rb,8.2109e-03_rb,3.4348e-03_rb/) kao(:, 4, 3, 8) = (/ & &3.2142e-02_rb,2.9358e-02_rb,2.6490e-02_rb,2.3921e-02_rb,2.1182e-02_rb,1.8026e-02_rb, & &1.4487e-02_rb,1.0373e-02_rb,4.5646e-03_rb/) kao(:, 5, 3, 8) = (/ & &3.7933e-02_rb,3.4749e-02_rb,3.1541e-02_rb,2.8628e-02_rb,2.5501e-02_rb,2.1864e-02_rb, & &1.7709e-02_rb,1.2883e-02_rb,5.9131e-03_rb/) kao(:, 1, 4, 8) = (/ & &2.9550e-02_rb,2.6227e-02_rb,2.2910e-02_rb,1.9604e-02_rb,1.6469e-02_rb,1.3339e-02_rb, & &9.9415e-03_rb,6.2262e-03_rb,1.2135e-03_rb/) kao(:, 2, 4, 8) = (/ & &3.7687e-02_rb,3.3528e-02_rb,2.9343e-02_rb,2.5186e-02_rb,2.1249e-02_rb,1.7292e-02_rb, & &1.2959e-02_rb,8.2307e-03_rb,1.7374e-03_rb/) kao(:, 3, 4, 8) = (/ & &4.6817e-02_rb,4.1770e-02_rb,3.6634e-02_rb,3.1558e-02_rb,2.6759e-02_rb,2.1861e-02_rb, & &1.6492e-02_rb,1.0607e-02_rb,2.4118e-03_rb/) kao(:, 4, 4, 8) = (/ & &5.6963e-02_rb,5.0934e-02_rb,4.4739e-02_rb,3.8692e-02_rb,3.2979e-02_rb,2.7058e-02_rb, & &2.0566e-02_rb,1.3387e-02_rb,3.2525e-03_rb/) kao(:, 5, 4, 8) = (/ & &6.8137e-02_rb,6.0987e-02_rb,5.3660e-02_rb,4.6589e-02_rb,3.9864e-02_rb,3.2872e-02_rb, & &2.5218e-02_rb,1.6596e-02_rb,4.2777e-03_rb/) kao(:, 1, 5, 8) = (/ & &4.4958e-02_rb,3.9602e-02_rb,3.4298e-02_rb,2.8957e-02_rb,2.3691e-02_rb,1.8601e-02_rb, & &1.3441e-02_rb,7.9068e-03_rb,8.1517e-04_rb/) kao(:, 2, 5, 8) = (/ & &5.8476e-02_rb,5.1578e-02_rb,4.4743e-02_rb,3.7815e-02_rb,3.1045e-02_rb,2.4482e-02_rb, & &1.7770e-02_rb,1.0541e-02_rb,1.1885e-03_rb/) kao(:, 3, 5, 8) = (/ & &7.3906e-02_rb,6.5268e-02_rb,5.6679e-02_rb,4.8013e-02_rb,3.9537e-02_rb,3.1318e-02_rb, & &2.2852e-02_rb,1.3697e-02_rb,1.6746e-03_rb/) kao(:, 4, 5, 8) = (/ & &9.1296e-02_rb,8.0739e-02_rb,7.0175e-02_rb,5.9533e-02_rb,4.9168e-02_rb,3.9100e-02_rb, & &2.8676e-02_rb,1.7397e-02_rb,2.2909e-03_rb/) kao(:, 5, 5, 8) = (/ & &1.1069e-01_rb,9.7986e-02_rb,8.5202e-02_rb,7.2388e-02_rb,5.9975e-02_rb,4.7864e-02_rb, & &3.5291e-02_rb,2.1668e-02_rb,3.0530e-03_rb/) kao(:, 1, 6, 8) = (/ & &6.2124e-02_rb,5.4544e-02_rb,4.6999e-02_rb,3.9470e-02_rb,3.1923e-02_rb,2.4497e-02_rb, & &1.7234e-02_rb,9.7062e-03_rb,5.1266e-04_rb/) kao(:, 2, 6, 8) = (/ & &8.2639e-02_rb,7.2604e-02_rb,6.2611e-02_rb,5.2626e-02_rb,4.2613e-02_rb,3.2833e-02_rb, & &2.3213e-02_rb,1.3144e-02_rb,7.8429e-04_rb/) kao(:, 3, 6, 8) = (/ & &1.0657e-01_rb,9.3700e-02_rb,8.0879e-02_rb,6.8013e-02_rb,5.5195e-02_rb,4.2665e-02_rb, & &3.0306e-02_rb,1.7290e-02_rb,1.1388e-03_rb/) kao(:, 4, 6, 8) = (/ & &1.3398e-01_rb,1.1789e-01_rb,1.0183e-01_rb,8.5694e-02_rb,6.9665e-02_rb,5.3995e-02_rb, & &3.8486e-02_rb,2.2145e-02_rb,1.5829e-03_rb/) kao(:, 5, 6, 8) = (/ & &1.6490e-01_rb,1.4520e-01_rb,1.2544e-01_rb,1.0568e-01_rb,8.6025e-02_rb,6.6861e-02_rb, & &4.7818e-02_rb,2.7758e-02_rb,2.1408e-03_rb/) kao(:, 1, 7, 8) = (/ & &8.8474e-02_rb,7.7539e-02_rb,6.6627e-02_rb,5.5731e-02_rb,4.4842e-02_rb,3.3990e-02_rb, & &2.3276e-02_rb,1.2620e-02_rb,2.5937e-04_rb/) kao(:, 2, 7, 8) = (/ & &1.2057e-01_rb,1.0571e-01_rb,9.0876e-02_rb,7.6061e-02_rb,6.1253e-02_rb,4.6466e-02_rb, & &3.1963e-02_rb,1.7441e-02_rb,4.2731e-04_rb/) kao(:, 3, 7, 8) = (/ & &1.5880e-01_rb,1.3927e-01_rb,1.1980e-01_rb,1.0034e-01_rb,8.0808e-02_rb,6.1423e-02_rb, & &4.2427e-02_rb,2.3279e-02_rb,6.8413e-04_rb/) kao(:, 4, 7, 8) = (/ & &2.0345e-01_rb,1.7853e-01_rb,1.5363e-01_rb,1.2871e-01_rb,1.0372e-01_rb,7.9011e-02_rb, & &5.4743e-02_rb,3.0170e-02_rb,1.0214e-03_rb/) kao(:, 5, 7, 8) = (/ & &2.5461e-01_rb,2.2346e-01_rb,1.9234e-01_rb,1.6117e-01_rb,1.3002e-01_rb,9.9184e-02_rb, & &6.8901e-02_rb,3.8181e-02_rb,1.4552e-03_rb/) kao(:, 1, 8, 8) = (/ & &1.4868e-01_rb,1.3017e-01_rb,1.1167e-01_rb,9.3201e-02_rb,7.4739e-02_rb,5.6278e-02_rb, & &3.7905e-02_rb,1.9693e-02_rb,2.2804e-04_rb/) kao(:, 2, 8, 8) = (/ & &2.0798e-01_rb,1.8213e-01_rb,1.5630e-01_rb,1.3048e-01_rb,1.0468e-01_rb,7.8891e-02_rb, & &5.3152e-02_rb,2.7778e-02_rb,2.9739e-04_rb/) kao(:, 3, 8, 8) = (/ & &2.8017e-01_rb,2.4539e-01_rb,2.1065e-01_rb,1.7590e-01_rb,1.4119e-01_rb,1.0644e-01_rb, & &7.1779e-02_rb,3.7725e-02_rb,3.8946e-04_rb/) kao(:, 4, 8, 8) = (/ & &3.6604e-01_rb,3.2068e-01_rb,2.7532e-01_rb,2.2999e-01_rb,1.8464e-01_rb,1.3919e-01_rb, & &9.4095e-02_rb,4.9659e-02_rb,5.6194e-04_rb/) kao(:, 5, 8, 8) = (/ & &4.6634e-01_rb,4.0858e-01_rb,3.5083e-01_rb,2.9310e-01_rb,2.3536e-01_rb,1.7756e-01_rb, & &1.2024e-01_rb,6.3667e-02_rb,8.0698e-04_rb/) kao(:, 1, 9, 8) = (/ & &4.6269e-01_rb,4.0493e-01_rb,3.4715e-01_rb,2.8935e-01_rb,2.3157e-01_rb,1.7382e-01_rb, & &1.1609e-01_rb,5.8382e-02_rb,3.9623e-04_rb/) kao(:, 2, 9, 8) = (/ & &6.6628e-01_rb,5.8309e-01_rb,4.9991e-01_rb,4.1673e-01_rb,3.3358e-01_rb,2.5043e-01_rb, & &1.6730e-01_rb,8.4243e-02_rb,5.2033e-04_rb/) kao(:, 3, 9, 8) = (/ & &9.1981e-01_rb,8.0501e-01_rb,6.9024e-01_rb,5.7543e-01_rb,4.6067e-01_rb,3.4594e-01_rb, & &2.3120e-01_rb,1.1646e-01_rb,6.1848e-04_rb/) kao(:, 4, 9, 8) = (/ & &1.2275e+00_rb,1.0743e+00_rb,9.2117e-01_rb,7.6798e-01_rb,6.1489e-01_rb,4.6180e-01_rb, & &3.0869e-01_rb,1.5554e-01_rb,7.6432e-04_rb/) kao(:, 5, 9, 8) = (/ & &1.5931e+00_rb,1.3944e+00_rb,1.1956e+00_rb,9.9699e-01_rb,7.9825e-01_rb,5.9958e-01_rb, & &4.0095e-01_rb,2.0227e-01_rb,9.3678e-04_rb/) kao(:, 1,10, 8) = (/ & &1.6306e+00_rb,1.4267e+00_rb,1.2230e+00_rb,1.0192e+00_rb,8.1547e-01_rb,6.1164e-01_rb, & &4.0787e-01_rb,2.0413e-01_rb,4.5853e-04_rb/) kao(:, 2,10, 8) = (/ & &2.4126e+00_rb,2.1111e+00_rb,1.8096e+00_rb,1.5081e+00_rb,1.2066e+00_rb,9.0513e-01_rb, & &6.0364e-01_rb,3.0217e-01_rb,8.3201e-04_rb/) kao(:, 3,10, 8) = (/ & &3.4093e+00_rb,2.9833e+00_rb,2.5573e+00_rb,2.1313e+00_rb,1.7053e+00_rb,1.2792e+00_rb, & &8.5320e-01_rb,4.2724e-01_rb,1.5974e-03_rb/) kao(:, 4,10, 8) = (/ & &4.6433e+00_rb,4.0630e+00_rb,3.4826e+00_rb,2.9025e+00_rb,2.3226e+00_rb,1.7423e+00_rb, & &1.1621e+00_rb,5.8201e-01_rb,1.5962e-03_rb/) kao(:, 5,10, 8) = (/ & &6.1277e+00_rb,5.3619e+00_rb,4.5964e+00_rb,3.8308e+00_rb,3.0651e+00_rb,2.2994e+00_rb, & &1.5338e+00_rb,7.6843e-01_rb,2.0260e-03_rb/) kao(:, 1,11, 8) = (/ & &2.4162e+00_rb,2.1143e+00_rb,1.8124e+00_rb,1.5103e+00_rb,1.2083e+00_rb,9.0631e-01_rb, & &6.0429e-01_rb,3.0233e-01_rb,6.1607e-04_rb/) kao(:, 2,11, 8) = (/ & &3.5951e+00_rb,3.1458e+00_rb,2.6963e+00_rb,2.2470e+00_rb,1.7978e+00_rb,1.3484e+00_rb, & &8.9917e-01_rb,4.4993e-01_rb,6.5176e-04_rb/) kao(:, 3,11, 8) = (/ & &5.1060e+00_rb,4.4678e+00_rb,3.8297e+00_rb,3.1915e+00_rb,2.5535e+00_rb,1.9153e+00_rb, & &1.2772e+00_rb,6.3920e-01_rb,1.2930e-03_rb/) kao(:, 4,11, 8) = (/ & &6.9828e+00_rb,6.1098e+00_rb,5.2373e+00_rb,4.3645e+00_rb,3.4923e+00_rb,2.6195e+00_rb, & &1.7469e+00_rb,8.7439e-01_rb,2.6451e-03_rb/) kao(:, 5,11, 8) = (/ & &9.2372e+00_rb,8.0825e+00_rb,6.9284e+00_rb,5.7745e+00_rb,4.6202e+00_rb,3.4655e+00_rb, & &2.3113e+00_rb,1.1571e+00_rb,3.2091e-03_rb/) kao(:, 1,12, 8) = (/ & &2.6551e+00_rb,2.3231e+00_rb,1.9913e+00_rb,1.6595e+00_rb,1.3276e+00_rb,9.9570e-01_rb, & &6.6396e-01_rb,3.3215e-01_rb,5.7595e-04_rb/) kao(:, 2,12, 8) = (/ & &3.9875e+00_rb,3.4892e+00_rb,2.9906e+00_rb,2.4922e+00_rb,1.9940e+00_rb,1.4956e+00_rb, & &9.9727e-01_rb,4.9897e-01_rb,7.2773e-04_rb/) kao(:, 3,12, 8) = (/ & &5.6951e+00_rb,4.9832e+00_rb,4.2714e+00_rb,3.5598e+00_rb,2.8480e+00_rb,2.1362e+00_rb, & &1.4245e+00_rb,7.1282e-01_rb,1.1732e-03_rb/) kao(:, 4,12, 8) = (/ & &7.8078e+00_rb,6.8322e+00_rb,5.8562e+00_rb,4.8804e+00_rb,3.9048e+00_rb,2.9289e+00_rb, & &1.9532e+00_rb,9.7758e-01_rb,2.5629e-03_rb/) kao(:, 5,12, 8) = (/ & &1.0362e+01_rb,9.0671e+00_rb,7.7724e+00_rb,6.4775e+00_rb,5.1823e+00_rb,3.8873e+00_rb, & &2.5926e+00_rb,1.2977e+00_rb,3.8105e-03_rb/) kao(:, 1,13, 8) = (/ & &2.3258e+00_rb,2.0350e+00_rb,1.7444e+00_rb,1.4537e+00_rb,1.1630e+00_rb,8.7226e-01_rb, & &5.8161e-01_rb,2.9098e-01_rb,5.9908e-04_rb/) kao(:, 2,13, 8) = (/ & &3.5360e+00_rb,3.0938e+00_rb,2.6520e+00_rb,2.2101e+00_rb,1.7681e+00_rb,1.3262e+00_rb, & &8.8435e-01_rb,4.4250e-01_rb,8.1555e-04_rb/) kao(:, 3,13, 8) = (/ & &5.0896e+00_rb,4.4536e+00_rb,3.8175e+00_rb,3.1814e+00_rb,2.5452e+00_rb,1.9091e+00_rb, & &1.2732e+00_rb,6.3712e-01_rb,1.2640e-03_rb/) kao(:, 4,13, 8) = (/ & &7.0210e+00_rb,6.1435e+00_rb,5.2660e+00_rb,4.3886e+00_rb,3.5112e+00_rb,2.6338e+00_rb, & &1.7565e+00_rb,8.7919e-01_rb,2.6701e-03_rb/) kao(:, 5,13, 8) = (/ & &9.3671e+00_rb,8.1963e+00_rb,7.0260e+00_rb,5.8554e+00_rb,4.6849e+00_rb,3.5142e+00_rb, & &2.3437e+00_rb,1.1734e+00_rb,3.9606e-03_rb/) kao(:, 1, 1, 9) = (/ & &1.7557e-02_rb,1.6098e-02_rb,1.5252e-02_rb,1.4591e-02_rb,1.4194e-02_rb,1.3841e-02_rb, & &1.3213e-02_rb,1.1760e-02_rb,1.0941e-02_rb/) kao(:, 2, 1, 9) = (/ & &2.1322e-02_rb,1.9727e-02_rb,1.8932e-02_rb,1.8315e-02_rb,1.8048e-02_rb,1.7757e-02_rb, & &1.7105e-02_rb,1.5377e-02_rb,1.4897e-02_rb/) kao(:, 3, 1, 9) = (/ & &2.5364e-02_rb,2.3730e-02_rb,2.3058e-02_rb,2.2569e-02_rb,2.2483e-02_rb,2.2337e-02_rb, & &2.1647e-02_rb,1.9659e-02_rb,1.9740e-02_rb/) kao(:, 4, 1, 9) = (/ & &2.9651e-02_rb,2.8091e-02_rb,2.7567e-02_rb,2.7373e-02_rb,2.7544e-02_rb,2.7572e-02_rb, & &2.6885e-02_rb,2.4698e-02_rb,2.5506e-02_rb/) kao(:, 5, 1, 9) = (/ & &3.4147e-02_rb,3.2801e-02_rb,3.2509e-02_rb,3.2696e-02_rb,3.3242e-02_rb,3.3466e-02_rb, & &3.2763e-02_rb,3.0530e-02_rb,3.2414e-02_rb/) kao(:, 1, 2, 9) = (/ & &2.4912e-02_rb,2.2331e-02_rb,2.0288e-02_rb,1.8446e-02_rb,1.6840e-02_rb,1.5437e-02_rb, & &1.4050e-02_rb,1.2105e-02_rb,9.2979e-03_rb/) kao(:, 2, 2, 9) = (/ & &3.0564e-02_rb,2.7515e-02_rb,2.5261e-02_rb,2.3219e-02_rb,2.1400e-02_rb,1.9828e-02_rb, & &1.8282e-02_rb,1.5938e-02_rb,1.2847e-02_rb/) kao(:, 3, 2, 9) = (/ & &3.6716e-02_rb,3.3250e-02_rb,3.0813e-02_rb,2.8576e-02_rb,2.6652e-02_rb,2.4969e-02_rb, & &2.3242e-02_rb,2.0434e-02_rb,1.7255e-02_rb/) kao(:, 4, 2, 9) = (/ & &4.3274e-02_rb,3.9470e-02_rb,3.6945e-02_rb,3.4546e-02_rb,3.2567e-02_rb,3.0902e-02_rb, & &2.8990e-02_rb,2.5608e-02_rb,2.2622e-02_rb/) kao(:, 5, 2, 9) = (/ & &5.0151e-02_rb,4.6154e-02_rb,4.3548e-02_rb,4.1147e-02_rb,3.9208e-02_rb,3.7617e-02_rb, & &3.5476e-02_rb,3.1506e-02_rb,2.9070e-02_rb/) kao(:, 1, 3, 9) = (/ & &4.5824e-02_rb,4.0428e-02_rb,3.5360e-02_rb,3.0531e-02_rb,2.5873e-02_rb,2.1515e-02_rb, & &1.7437e-02_rb,1.3182e-02_rb,7.2135e-03_rb/) kao(:, 2, 3, 9) = (/ & &5.7122e-02_rb,5.0441e-02_rb,4.4296e-02_rb,3.8535e-02_rb,3.2887e-02_rb,2.7626e-02_rb, & &2.2637e-02_rb,1.7470e-02_rb,1.0156e-02_rb/) kao(:, 3, 3, 9) = (/ & &6.9514e-02_rb,6.1484e-02_rb,5.4267e-02_rb,4.7520e-02_rb,4.0893e-02_rb,3.4647e-02_rb, & &2.8731e-02_rb,2.2576e-02_rb,1.3878e-02_rb/) kao(:, 4, 3, 9) = (/ & &8.2919e-02_rb,7.3512e-02_rb,6.5273e-02_rb,5.7524e-02_rb,4.9783e-02_rb,4.2603e-02_rb, & &3.5784e-02_rb,2.8563e-02_rb,1.8502e-02_rb/) kao(:, 5, 3, 9) = (/ & &9.7170e-02_rb,8.6431e-02_rb,7.7261e-02_rb,6.8346e-02_rb,5.9584e-02_rb,5.1514e-02_rb, & &4.3768e-02_rb,3.5379e-02_rb,2.4141e-02_rb/) kao(:, 1, 4, 9) = (/ & &8.5028e-02_rb,7.4675e-02_rb,6.4408e-02_rb,5.4349e-02_rb,4.4385e-02_rb,3.4667e-02_rb, & &2.5298e-02_rb,1.6347e-02_rb,5.3723e-03_rb/) kao(:, 2, 4, 9) = (/ & &1.0799e-01_rb,9.4832e-02_rb,8.1887e-02_rb,6.9265e-02_rb,5.6849e-02_rb,4.4649e-02_rb, & &3.2963e-02_rb,2.1613e-02_rb,7.7235e-03_rb/) kao(:, 3, 4, 9) = (/ & &1.3350e-01_rb,1.1723e-01_rb,1.0141e-01_rb,8.6053e-02_rb,7.1006e-02_rb,5.6113e-02_rb, & &4.1792e-02_rb,2.7868e-02_rb,1.0747e-02_rb/) kao(:, 4, 4, 9) = (/ & &1.6142e-01_rb,1.4180e-01_rb,1.2297e-01_rb,1.0476e-01_rb,8.6810e-02_rb,6.8956e-02_rb, & &5.1841e-02_rb,3.5143e-02_rb,1.4564e-02_rb/) kao(:, 5, 4, 9) = (/ & &1.9126e-01_rb,1.6822e-01_rb,1.4629e-01_rb,1.2515e-01_rb,1.0422e-01_rb,8.3176e-02_rb, & &6.3089e-02_rb,4.3500e-02_rb,1.9267e-02_rb/) kao(:, 1, 5, 9) = (/ & &1.4488e-01_rb,1.2702e-01_rb,1.0917e-01_rb,9.1352e-02_rb,7.3672e-02_rb,5.6082e-02_rb, & &3.8867e-02_rb,2.2212e-02_rb,3.9357e-03_rb/) kao(:, 2, 5, 9) = (/ & &1.8767e-01_rb,1.6453e-01_rb,1.4140e-01_rb,1.1846e-01_rb,9.5672e-02_rb,7.3107e-02_rb, & &5.0961e-02_rb,2.9559e-02_rb,5.7686e-03_rb/) kao(:, 3, 5, 9) = (/ & &2.3604e-01_rb,2.0693e-01_rb,1.7791e-01_rb,1.4922e-01_rb,1.2079e-01_rb,9.2713e-02_rb, & &6.4987e-02_rb,3.8154e-02_rb,8.1725e-03_rb/) kao(:, 4, 5, 9) = (/ & &2.8921e-01_rb,2.5355e-01_rb,2.1818e-01_rb,1.8330e-01_rb,1.4882e-01_rb,1.1469e-01_rb, & &8.0893e-02_rb,4.8061e-02_rb,1.1257e-02_rb/) kao(:, 5, 5, 9) = (/ & &3.4679e-01_rb,3.0409e-01_rb,2.6204e-01_rb,2.2057e-01_rb,1.7963e-01_rb,1.3899e-01_rb, & &9.8558e-02_rb,5.9364e-02_rb,1.5113e-02_rb/) kao(:, 1, 6, 9) = (/ & &2.2687e-01_rb,1.9870e-01_rb,1.7053e-01_rb,1.4235e-01_rb,1.1424e-01_rb,8.6261e-02_rb, & &5.8407e-02_rb,3.1198e-02_rb,2.7719e-03_rb/) kao(:, 2, 6, 9) = (/ & &3.0049e-01_rb,2.6318e-01_rb,2.2586e-01_rb,1.8856e-01_rb,1.5147e-01_rb,1.1450e-01_rb, & &7.7818e-02_rb,4.1952e-02_rb,4.1659e-03_rb/) kao(:, 3, 6, 9) = (/ & &3.8494e-01_rb,3.3714e-01_rb,2.8934e-01_rb,2.4170e-01_rb,1.9431e-01_rb,1.4714e-01_rb, & &1.0048e-01_rb,5.4667e-02_rb,6.0249e-03_rb/) kao(:, 4, 6, 9) = (/ & &4.7888e-01_rb,4.1941e-01_rb,3.6000e-01_rb,3.0097e-01_rb,2.4222e-01_rb,1.8390e-01_rb, & &1.2612e-01_rb,6.9245e-02_rb,8.4412e-03_rb/) kao(:, 5, 6, 9) = (/ & &5.8181e-01_rb,5.0960e-01_rb,4.3765e-01_rb,3.6614e-01_rb,2.9513e-01_rb,2.2467e-01_rb, & &1.5478e-01_rb,8.5677e-02_rb,1.1500e-02_rb/) kao(:, 1, 7, 9) = (/ & &3.6399e-01_rb,3.1864e-01_rb,2.7330e-01_rb,2.2796e-01_rb,1.8261e-01_rb,1.3731e-01_rb, & &9.2161e-02_rb,4.7386e-02_rb,1.8335e-03_rb/) kao(:, 2, 7, 9) = (/ & &4.9404e-01_rb,4.3249e-01_rb,3.7094e-01_rb,3.0937e-01_rb,2.4784e-01_rb,1.8651e-01_rb, & &1.2531e-01_rb,6.4814e-02_rb,2.9040e-03_rb/) kao(:, 3, 7, 9) = (/ & &6.4560e-01_rb,5.6518e-01_rb,4.8472e-01_rb,4.0430e-01_rb,3.2403e-01_rb,2.4402e-01_rb, & &1.6421e-01_rb,8.5452e-02_rb,4.3365e-03_rb/) kao(:, 4, 7, 9) = (/ & &8.1690e-01_rb,7.1513e-01_rb,6.1336e-01_rb,5.1171e-01_rb,4.1038e-01_rb,3.0928e-01_rb, & &2.0863e-01_rb,1.0932e-01_rb,6.1934e-03_rb/) kao(:, 5, 7, 9) = (/ & &1.0068e+00_rb,8.8147e-01_rb,7.5616e-01_rb,6.3106e-01_rb,5.0635e-01_rb,3.8205e-01_rb, & &2.5843e-01_rb,1.3634e-01_rb,8.5588e-03_rb/) kao(:, 1, 8, 9) = (/ & &6.8384e-01_rb,5.9848e-01_rb,5.1310e-01_rb,4.2775e-01_rb,3.4242e-01_rb,2.5705e-01_rb, & &1.7171e-01_rb,8.6607e-02_rb,8.9761e-04_rb/) kao(:, 2, 8, 9) = (/ & &9.5272e-01_rb,8.3382e-01_rb,7.1490e-01_rb,5.9597e-01_rb,4.7702e-01_rb,3.5811e-01_rb, & &2.3935e-01_rb,1.2088e-01_rb,1.5768e-03_rb/) kao(:, 3, 8, 9) = (/ & &1.2716e+00_rb,1.1128e+00_rb,9.5409e-01_rb,7.9538e-01_rb,6.3666e-01_rb,4.7804e-01_rb, & &3.1975e-01_rb,1.6179e-01_rb,2.6889e-03_rb/) kao(:, 4, 8, 9) = (/ & &1.6381e+00_rb,1.4337e+00_rb,1.2291e+00_rb,1.0247e+00_rb,8.2031e-01_rb,6.1622e-01_rb, & &4.1239e-01_rb,2.0929e-01_rb,4.1353e-03_rb/) kao(:, 5, 8, 9) = (/ & &2.0497e+00_rb,1.7940e+00_rb,1.5381e+00_rb,1.2824e+00_rb,1.0268e+00_rb,7.7156e-01_rb, & &5.1676e-01_rb,2.6319e-01_rb,6.0327e-03_rb/) kao(:, 1, 9, 9) = (/ & &2.3562e+00_rb,2.0618e+00_rb,1.7675e+00_rb,1.4730e+00_rb,1.1786e+00_rb,8.8409e-01_rb, & &5.8968e-01_rb,2.9523e-01_rb,7.8820e-04_rb/) kao(:, 2, 9, 9) = (/ & &3.3780e+00_rb,2.9558e+00_rb,2.5337e+00_rb,2.1117e+00_rb,1.6896e+00_rb,1.2675e+00_rb, & &8.4537e-01_rb,4.2322e-01_rb,1.1025e-03_rb/) kao(:, 3, 9, 9) = (/ & &4.6138e+00_rb,4.0373e+00_rb,3.4607e+00_rb,2.8840e+00_rb,2.3076e+00_rb,1.7311e+00_rb, & &1.1546e+00_rb,5.7817e-01_rb,1.6643e-03_rb/) kao(:, 4, 9, 9) = (/ & &6.0608e+00_rb,5.3032e+00_rb,4.5462e+00_rb,3.7886e+00_rb,3.0313e+00_rb,2.2740e+00_rb, & &1.5168e+00_rb,7.6000e-01_rb,2.3974e-03_rb/) kao(:, 5, 9, 9) = (/ & &7.7085e+00_rb,6.7454e+00_rb,5.7823e+00_rb,4.8189e+00_rb,3.8558e+00_rb,2.8925e+00_rb, & &1.9295e+00_rb,9.6718e-01_rb,3.2535e-03_rb/) kao(:, 1,10, 9) = (/ & &9.1055e+00_rb,7.9675e+00_rb,6.8292e+00_rb,5.6913e+00_rb,4.5531e+00_rb,3.4149e+00_rb, & &2.2769e+00_rb,1.1388e+00_rb,5.8809e-04_rb/) kao(:, 2,10, 9) = (/ & &1.3404e+01_rb,1.1729e+01_rb,1.0053e+01_rb,8.3780e+00_rb,6.7024e+00_rb,5.0271e+00_rb, & &3.3517e+00_rb,1.6763e+00_rb,9.0563e-04_rb/) kao(:, 3,10, 9) = (/ & &1.8696e+01_rb,1.6359e+01_rb,1.4022e+01_rb,1.1685e+01_rb,9.3484e+00_rb,7.0117e+00_rb, & &4.6747e+00_rb,2.3381e+00_rb,1.7881e-03_rb/) kao(:, 4,10, 9) = (/ & &2.4995e+01_rb,2.1869e+01_rb,1.8747e+01_rb,1.5622e+01_rb,1.2498e+01_rb,9.3741e+00_rb, & &6.2500e+00_rb,3.1259e+00_rb,3.1813e-03_rb/) kao(:, 5,10, 9) = (/ & &3.2273e+01_rb,2.8239e+01_rb,2.4206e+01_rb,2.0172e+01_rb,1.6138e+01_rb,1.2104e+01_rb, & &8.0701e+00_rb,4.0364e+00_rb,3.7345e-03_rb/) kao(:, 1,11, 9) = (/ & &1.4610e+01_rb,1.2784e+01_rb,1.0958e+01_rb,9.1318e+00_rb,7.3053e+00_rb,5.4792e+00_rb, & &3.6529e+00_rb,1.8269e+00_rb,9.3673e-05_rb/) kao(:, 2,11, 9) = (/ & &2.1482e+01_rb,1.8797e+01_rb,1.6112e+01_rb,1.3427e+01_rb,1.0742e+01_rb,8.0564e+00_rb, & &5.3711e+00_rb,2.6860e+00_rb,1.0848e-03_rb/) kao(:, 3,11, 9) = (/ & &2.9982e+01_rb,2.6234e+01_rb,2.2487e+01_rb,1.8739e+01_rb,1.4992e+01_rb,1.1244e+01_rb, & &7.4965e+00_rb,3.7489e+00_rb,1.4593e-03_rb/) kao(:, 4,11, 9) = (/ & &4.0102e+01_rb,3.5090e+01_rb,3.0079e+01_rb,2.5065e+01_rb,2.0053e+01_rb,1.5039e+01_rb, & &1.0027e+01_rb,5.0144e+00_rb,2.0582e-03_rb/) kao(:, 5,11, 9) = (/ & &5.1873e+01_rb,4.5387e+01_rb,3.8905e+01_rb,3.2421e+01_rb,2.5937e+01_rb,1.9453e+01_rb, & &1.2970e+01_rb,6.4862e+00_rb,4.4703e-03_rb/) kao(:, 1,12, 9) = (/ & &1.7189e+01_rb,1.5041e+01_rb,1.2892e+01_rb,1.0744e+01_rb,8.5949e+00_rb,6.4462e+00_rb, & &4.2976e+00_rb,2.1491e+00_rb,3.9266e-05_rb/) kao(:, 2,12, 9) = (/ & &2.5282e+01_rb,2.2121e+01_rb,1.8962e+01_rb,1.5801e+01_rb,1.2641e+01_rb,9.4811e+00_rb, & &6.3210e+00_rb,3.1609e+00_rb,6.4444e-04_rb/) kao(:, 3,12, 9) = (/ & &3.5289e+01_rb,3.0879e+01_rb,2.6468e+01_rb,2.2056e+01_rb,1.7646e+01_rb,1.3235e+01_rb, & &8.8231e+00_rb,4.4124e+00_rb,1.8228e-03_rb/) kao(:, 4,12, 9) = (/ & &4.7291e+01_rb,4.1381e+01_rb,3.5468e+01_rb,2.9558e+01_rb,2.3647e+01_rb,1.7735e+01_rb, & &1.1825e+01_rb,5.9130e+00_rb,2.3757e-03_rb/) kao(:, 5,12, 9) = (/ & &6.1297e+01_rb,5.3636e+01_rb,4.5972e+01_rb,3.8311e+01_rb,3.0649e+01_rb,2.2988e+01_rb, & &1.5326e+01_rb,7.6642e+00_rb,3.9341e-03_rb/) kao(:, 1,13, 9) = (/ & &1.6000e+01_rb,1.4000e+01_rb,1.2000e+01_rb,9.9998e+00_rb,8.0002e+00_rb,6.0002e+00_rb, & &4.0003e+00_rb,2.0005e+00_rb,3.8486e-05_rb/) kao(:, 2,13, 9) = (/ & &2.3551e+01_rb,2.0607e+01_rb,1.7663e+01_rb,1.4719e+01_rb,1.1776e+01_rb,8.8325e+00_rb, & &5.8883e+00_rb,2.9447e+00_rb,5.3945e-04_rb/) kao(:, 3,13, 9) = (/ & &3.2950e+01_rb,2.8830e+01_rb,2.4711e+01_rb,2.0594e+01_rb,1.6475e+01_rb,1.2356e+01_rb, & &8.2382e+00_rb,4.1197e+00_rb,1.7722e-03_rb/) kao(:, 4,13, 9) = (/ & &4.4263e+01_rb,3.8730e+01_rb,3.3198e+01_rb,2.7666e+01_rb,2.2132e+01_rb,1.6600e+01_rb, & &1.1067e+01_rb,5.5345e+00_rb,2.5081e-03_rb/) kao(:, 5,13, 9) = (/ & &5.7461e+01_rb,5.0277e+01_rb,4.3096e+01_rb,3.5913e+01_rb,2.8731e+01_rb,2.1549e+01_rb, & &1.4366e+01_rb,7.1843e+00_rb,4.3602e-03_rb/) kao(:, 1, 1,10) = (/ & &4.8312e-02_rb,4.2395e-02_rb,3.7029e-02_rb,3.4268e-02_rb,3.1631e-02_rb,2.8012e-02_rb, & &2.4227e-02_rb,1.9340e-02_rb,2.3819e-02_rb/) kao(:, 2, 1,10) = (/ & &5.7978e-02_rb,5.0880e-02_rb,4.5259e-02_rb,4.2684e-02_rb,3.9233e-02_rb,3.5182e-02_rb, & &3.0643e-02_rb,2.5810e-02_rb,3.1295e-02_rb/) kao(:, 3, 1,10) = (/ & &6.8091e-02_rb,5.9773e-02_rb,5.4735e-02_rb,5.1517e-02_rb,4.7810e-02_rb,4.2960e-02_rb, & &3.8310e-02_rb,3.3678e-02_rb,4.0832e-02_rb/) kao(:, 4, 1,10) = (/ & &7.8444e-02_rb,6.8870e-02_rb,6.5474e-02_rb,6.0764e-02_rb,5.6861e-02_rb,5.2020e-02_rb, & &4.6525e-02_rb,4.3019e-02_rb,5.3025e-02_rb/) kao(:, 5, 1,10) = (/ & &8.8955e-02_rb,7.8190e-02_rb,7.6227e-02_rb,7.0877e-02_rb,6.6771e-02_rb,6.2214e-02_rb, & &5.5680e-02_rb,5.4857e-02_rb,6.6965e-02_rb/) kao(:, 1, 2,10) = (/ & &6.8494e-02_rb,6.0019e-02_rb,5.1535e-02_rb,4.5753e-02_rb,4.0717e-02_rb,3.4636e-02_rb, & &2.8735e-02_rb,2.2359e-02_rb,2.2396e-02_rb/) kao(:, 2, 2,10) = (/ & &8.3057e-02_rb,7.2786e-02_rb,6.2703e-02_rb,5.6353e-02_rb,5.0990e-02_rb,4.3733e-02_rb, & &3.6309e-02_rb,2.8660e-02_rb,2.9863e-02_rb/) kao(:, 3, 2,10) = (/ & &9.8445e-02_rb,8.6268e-02_rb,7.5172e-02_rb,6.9101e-02_rb,6.1861e-02_rb,5.3608e-02_rb, & &4.5462e-02_rb,3.5628e-02_rb,3.9584e-02_rb/) kao(:, 4, 2,10) = (/ & &1.1465e-01_rb,1.0047e-01_rb,8.9322e-02_rb,8.2399e-02_rb,7.3847e-02_rb,6.4459e-02_rb, & &5.5729e-02_rb,4.5259e-02_rb,5.1011e-02_rb/) kao(:, 5, 2,10) = (/ & &1.3121e-01_rb,1.1499e-01_rb,1.0547e-01_rb,9.5942e-02_rb,8.6700e-02_rb,7.6912e-02_rb, & &6.7683e-02_rb,5.7087e-02_rb,6.4331e-02_rb/) kao(:, 1, 3,10) = (/ & &1.2396e-01_rb,1.0851e-01_rb,9.3078e-02_rb,7.7936e-02_rb,6.5430e-02_rb,5.3555e-02_rb, & &4.0149e-02_rb,2.8165e-02_rb,1.9103e-02_rb/) kao(:, 2, 3,10) = (/ & &1.5308e-01_rb,1.3401e-01_rb,1.1495e-01_rb,9.6317e-02_rb,8.2061e-02_rb,6.7720e-02_rb, & &5.1563e-02_rb,3.6346e-02_rb,2.6147e-02_rb/) kao(:, 3, 3,10) = (/ & &1.8438e-01_rb,1.6143e-01_rb,1.3846e-01_rb,1.1685e-01_rb,1.0065e-01_rb,8.3573e-02_rb, & &6.4169e-02_rb,4.6273e-02_rb,3.5249e-02_rb/) kao(:, 4, 3,10) = (/ & &2.1730e-01_rb,1.9024e-01_rb,1.6317e-01_rb,1.3937e-01_rb,1.2182e-01_rb,1.0076e-01_rb, & &7.7802e-02_rb,5.7458e-02_rb,4.6106e-02_rb/) kao(:, 5, 3,10) = (/ & &2.5114e-01_rb,2.1989e-01_rb,1.8862e-01_rb,1.6558e-01_rb,1.4330e-01_rb,1.1936e-01_rb, & &9.3594e-02_rb,7.0438e-02_rb,5.9048e-02_rb/) kao(:, 1, 4,10) = (/ & &2.2307e-01_rb,1.9520e-01_rb,1.6737e-01_rb,1.3960e-01_rb,1.1281e-01_rb,8.7662e-02_rb, & &6.3355e-02_rb,3.7440e-02_rb,1.5143e-02_rb/) kao(:, 2, 4,10) = (/ & &2.8121e-01_rb,2.4610e-01_rb,2.1101e-01_rb,1.7601e-01_rb,1.4219e-01_rb,1.1180e-01_rb, & &8.0961e-02_rb,4.9348e-02_rb,2.1248e-02_rb/) kao(:, 3, 4,10) = (/ & &3.4426e-01_rb,3.0128e-01_rb,2.5831e-01_rb,2.1545e-01_rb,1.7407e-01_rb,1.3850e-01_rb, & &1.0170e-01_rb,6.2450e-02_rb,2.9486e-02_rb/) kao(:, 4, 4,10) = (/ & &4.1162e-01_rb,3.6021e-01_rb,3.0885e-01_rb,2.5755e-01_rb,2.0938e-01_rb,1.6873e-01_rb, & &1.2428e-01_rb,7.7637e-02_rb,3.9623e-02_rb/) kao(:, 5, 4,10) = (/ & &4.8400e-01_rb,4.2357e-01_rb,3.6318e-01_rb,3.0275e-01_rb,2.4837e-01_rb,2.0175e-01_rb, & &1.4904e-01_rb,9.5123e-02_rb,5.2032e-02_rb/) kao(:, 1, 5,10) = (/ & &3.6240e-01_rb,3.1713e-01_rb,2.7189e-01_rb,2.2715e-01_rb,1.8287e-01_rb,1.3915e-01_rb, & &9.6038e-02_rb,5.3151e-02_rb,1.1469e-02_rb/) kao(:, 2, 5,10) = (/ & &4.6684e-01_rb,4.0853e-01_rb,3.5029e-01_rb,2.9260e-01_rb,2.3543e-01_rb,1.7892e-01_rb, & &1.2501e-01_rb,6.9710e-02_rb,1.6590e-02_rb/) kao(:, 3, 5,10) = (/ & &5.8305e-01_rb,5.1017e-01_rb,4.3746e-01_rb,3.6540e-01_rb,2.9385e-01_rb,2.2314e-01_rb, & &1.5770e-01_rb,8.9552e-02_rb,2.3682e-02_rb/) kao(:, 4, 5,10) = (/ & &7.1039e-01_rb,6.2164e-01_rb,5.3285e-01_rb,4.4486e-01_rb,3.5759e-01_rb,2.7242e-01_rb, & &1.9452e-01_rb,1.1176e-01_rb,3.2616e-02_rb/) kao(:, 5, 5,10) = (/ & &8.4585e-01_rb,7.4016e-01_rb,6.3454e-01_rb,5.2965e-01_rb,4.2558e-01_rb,3.2651e-01_rb, & &2.3601e-01_rb,1.3577e-01_rb,4.3721e-02_rb/) kao(:, 1, 6,10) = (/ & &5.4565e-01_rb,4.7774e-01_rb,4.0998e-01_rb,3.4242e-01_rb,2.7503e-01_rb,2.0802e-01_rb, & &1.4092e-01_rb,7.4294e-02_rb,8.5994e-03_rb/) kao(:, 2, 6,10) = (/ & &7.2281e-01_rb,6.3285e-01_rb,5.4312e-01_rb,4.5353e-01_rb,3.6423e-01_rb,2.7526e-01_rb, & &1.8607e-01_rb,9.8990e-02_rb,1.2620e-02_rb/) kao(:, 3, 6,10) = (/ & &9.2293e-01_rb,8.0812e-01_rb,6.9347e-01_rb,5.7897e-01_rb,4.6479e-01_rb,3.5103e-01_rb, & &2.3728e-01_rb,1.2747e-01_rb,1.8407e-02_rb/) kao(:, 4, 6,10) = (/ & &1.1448e+00_rb,1.0023e+00_rb,8.6003e-01_rb,7.1795e-01_rb,5.7619e-01_rb,4.3493e-01_rb, & &2.9519e-01_rb,1.6083e-01_rb,2.5918e-02_rb/) kao(:, 5, 6,10) = (/ & &1.3870e+00_rb,1.2144e+00_rb,1.0419e+00_rb,8.6977e-01_rb,6.9789e-01_rb,5.2651e-01_rb, & &3.5987e-01_rb,1.9795e-01_rb,3.5516e-02_rb/) kao(:, 1, 7,10) = (/ & &9.0563e-01_rb,7.9294e-01_rb,6.8033e-01_rb,5.6775e-01_rb,4.5526e-01_rb,3.4288e-01_rb, & &2.2993e-01_rb,1.1636e-01_rb,6.3281e-03_rb/) kao(:, 2, 7,10) = (/ & &1.2304e+00_rb,1.0774e+00_rb,9.2435e-01_rb,7.7129e-01_rb,6.1846e-01_rb,4.6574e-01_rb, & &3.1230e-01_rb,1.5802e-01_rb,9.6345e-03_rb/) kao(:, 3, 7,10) = (/ & &1.6067e+00_rb,1.4068e+00_rb,1.2068e+00_rb,1.0069e+00_rb,8.0717e-01_rb,6.0759e-01_rb, & &4.0707e-01_rb,2.0698e-01_rb,1.4230e-02_rb/) kao(:, 4, 7,10) = (/ & &2.0379e+00_rb,1.7842e+00_rb,1.5305e+00_rb,1.2770e+00_rb,1.0235e+00_rb,7.6992e-01_rb, & &5.1539e-01_rb,2.6359e-01_rb,2.0362e-02_rb/) kao(:, 5, 7,10) = (/ & &2.5042e+00_rb,2.1925e+00_rb,1.8806e+00_rb,1.5690e+00_rb,1.2574e+00_rb,9.4558e-01_rb, & &6.3281e-01_rb,3.2569e-01_rb,2.8537e-02_rb/) kao(:, 1, 8,10) = (/ & &1.8551e+00_rb,1.6239e+00_rb,1.3926e+00_rb,1.1613e+00_rb,9.2995e-01_rb,6.9848e-01_rb, & &4.6667e-01_rb,2.3461e-01_rb,3.7282e-03_rb/) kao(:, 2, 8,10) = (/ & &2.5887e+00_rb,2.2659e+00_rb,1.9430e+00_rb,1.6201e+00_rb,1.2969e+00_rb,9.7383e-01_rb, & &6.5051e-01_rb,3.2684e-01_rb,7.1685e-03_rb/) kao(:, 3, 8,10) = (/ & &3.4601e+00_rb,3.0282e+00_rb,2.5964e+00_rb,2.1645e+00_rb,1.7327e+00_rb,1.3007e+00_rb, & &8.6869e-01_rb,4.3618e-01_rb,1.0869e-02_rb/) kao(:, 4, 8,10) = (/ & &4.4635e+00_rb,3.9062e+00_rb,3.3492e+00_rb,2.7923e+00_rb,2.2350e+00_rb,1.6778e+00_rb, & &1.1202e+00_rb,5.6241e-01_rb,1.5855e-02_rb/) kao(:, 5, 8,10) = (/ & &5.5614e+00_rb,4.8670e+00_rb,4.1730e+00_rb,3.4788e+00_rb,2.7845e+00_rb,2.0899e+00_rb, & &1.3954e+00_rb,7.0042e-01_rb,2.2369e-02_rb/) kao(:, 1, 9,10) = (/ & &7.0057e+00_rb,6.1306e+00_rb,5.2555e+00_rb,4.3802e+00_rb,3.5047e+00_rb,2.6291e+00_rb, & &1.7537e+00_rb,8.7821e-01_rb,2.6651e-03_rb/) kao(:, 2, 9,10) = (/ & &1.0071e+01_rb,8.8120e+00_rb,7.5539e+00_rb,6.2955e+00_rb,5.0368e+00_rb,3.7786e+00_rb, & &2.5204e+00_rb,1.2618e+00_rb,3.6187e-03_rb/) kao(:, 3, 9,10) = (/ & &1.3793e+01_rb,1.2069e+01_rb,1.0345e+01_rb,8.6215e+00_rb,6.8979e+00_rb,5.1747e+00_rb, & &3.4512e+00_rb,1.7274e+00_rb,5.0886e-03_rb/) kao(:, 4, 9,10) = (/ & &1.8095e+01_rb,1.5834e+01_rb,1.3574e+01_rb,1.1311e+01_rb,9.0505e+00_rb,6.7893e+00_rb, & &4.5277e+00_rb,2.2659e+00_rb,6.6445e-03_rb/) kao(:, 5, 9,10) = (/ & &2.2909e+01_rb,2.0046e+01_rb,1.7183e+01_rb,1.4320e+01_rb,1.1458e+01_rb,8.5941e+00_rb, & &5.7315e+00_rb,2.8684e+00_rb,1.0715e-02_rb/) kao(:, 1,10,10) = (/ & &2.9637e+01_rb,2.5932e+01_rb,2.2227e+01_rb,1.8524e+01_rb,1.4818e+01_rb,1.1115e+01_rb, & &7.4105e+00_rb,3.7062e+00_rb,1.7663e-03_rb/) kao(:, 2,10,10) = (/ & &4.3734e+01_rb,3.8266e+01_rb,3.2801e+01_rb,2.7334e+01_rb,2.1867e+01_rb,1.6402e+01_rb, & &1.0936e+01_rb,5.4691e+00_rb,2.0817e-03_rb/) kao(:, 3,10,10) = (/ & &6.1232e+01_rb,5.3576e+01_rb,4.5921e+01_rb,3.8272e+01_rb,3.0616e+01_rb,2.2963e+01_rb, & &1.5310e+01_rb,7.6576e+00_rb,1.7504e-03_rb/) kao(:, 4,10,10) = (/ & &8.1674e+01_rb,7.1459e+01_rb,6.1256e+01_rb,5.1048e+01_rb,4.0839e+01_rb,3.0631e+01_rb, & &2.0421e+01_rb,1.0211e+01_rb,7.5551e-03_rb/) kao(:, 5,10,10) = (/ & &1.0484e+02_rb,9.1726e+01_rb,7.8618e+01_rb,6.5522e+01_rb,5.2414e+01_rb,3.9315e+01_rb, & &2.6210e+01_rb,1.3108e+01_rb,1.2092e-02_rb/) kao(:, 1,11,10) = (/ & &5.2035e+01_rb,4.5533e+01_rb,3.9026e+01_rb,3.2522e+01_rb,2.6019e+01_rb,1.9514e+01_rb, & &1.3010e+01_rb,6.5060e+00_rb,2.3377e-05_rb/) kao(:, 2,11,10) = (/ & &7.6878e+01_rb,6.7270e+01_rb,5.7660e+01_rb,4.8051e+01_rb,3.8444e+01_rb,2.8832e+01_rb, & &1.9221e+01_rb,9.6129e+00_rb,3.4131e-05_rb/) kao(:, 3,11,10) = (/ & &1.0695e+02_rb,9.3584e+01_rb,8.0221e+01_rb,6.6851e+01_rb,5.3480e+01_rb,4.0109e+01_rb, & &2.6742e+01_rb,1.3372e+01_rb,6.5532e-03_rb/) kao(:, 4,11,10) = (/ & &1.4204e+02_rb,1.2428e+02_rb,1.0653e+02_rb,8.8779e+01_rb,7.1025e+01_rb,5.3267e+01_rb, & &3.5513e+01_rb,1.7760e+01_rb,3.6230e-03_rb/) kao(:, 5,11,10) = (/ & &1.8146e+02_rb,1.5877e+02_rb,1.3608e+02_rb,1.1341e+02_rb,9.0723e+01_rb,6.8041e+01_rb, & &4.5364e+01_rb,2.2685e+01_rb,5.3060e-03_rb/) kao(:, 1,12,10) = (/ & &6.6709e+01_rb,5.8372e+01_rb,5.0033e+01_rb,4.1695e+01_rb,3.3357e+01_rb,2.5018e+01_rb, & &1.6679e+01_rb,8.3409e+00_rb,1.6896e-05_rb/) kao(:, 2,12,10) = (/ & &9.8021e+01_rb,8.5767e+01_rb,7.3510e+01_rb,6.1263e+01_rb,4.9006e+01_rb,3.6758e+01_rb, & &2.4506e+01_rb,1.2254e+01_rb,2.4443e-05_rb/) kao(:, 3,12,10) = (/ & &1.3575e+02_rb,1.1880e+02_rb,1.0183e+02_rb,8.4855e+01_rb,6.7883e+01_rb,5.0907e+01_rb, & &3.3942e+01_rb,1.6972e+01_rb,3.9041e-05_rb/) kao(:, 4,12,10) = (/ & &1.7930e+02_rb,1.5689e+02_rb,1.3447e+02_rb,1.1206e+02_rb,8.9651e+01_rb,6.7236e+01_rb, & &4.4831e+01_rb,2.2414e+01_rb,2.5406e-03_rb/) kao(:, 5,12,10) = (/ & &2.2752e+02_rb,1.9909e+02_rb,1.7067e+02_rb,1.4220e+02_rb,1.1376e+02_rb,8.5325e+01_rb, & &5.6889e+01_rb,2.8448e+01_rb,5.4913e-03_rb/) kao(:, 1,13,10) = (/ & &6.7103e+01_rb,5.8720e+01_rb,5.0329e+01_rb,4.1943e+01_rb,3.3555e+01_rb,2.5165e+01_rb, & &1.6777e+01_rb,8.3902e+00_rb,1.5511e-05_rb/) kao(:, 2,13,10) = (/ & &9.7787e+01_rb,8.5564e+01_rb,7.3344e+01_rb,6.1125e+01_rb,4.8896e+01_rb,3.6672e+01_rb, & &2.4451e+01_rb,1.2226e+01_rb,2.1977e-05_rb/) kao(:, 3,13,10) = (/ & &1.3463e+02_rb,1.1780e+02_rb,1.0097e+02_rb,8.4145e+01_rb,6.7313e+01_rb,5.0486e+01_rb, & &3.3658e+01_rb,1.6832e+01_rb,3.2342e-05_rb/) kao(:, 4,13,10) = (/ & &1.7688e+02_rb,1.5477e+02_rb,1.3267e+02_rb,1.1056e+02_rb,8.8438e+01_rb,6.6334e+01_rb, & &4.4220e+01_rb,2.2113e+01_rb,5.6189e-03_rb/) kao(:, 5,13,10) = (/ & &2.2476e+02_rb,1.9667e+02_rb,1.6857e+02_rb,1.4047e+02_rb,1.1238e+02_rb,8.4289e+01_rb, & &5.6195e+01_rb,2.8100e+01_rb,6.0459e-03_rb/) kao(:, 1, 1,11) = (/ & &6.9001e-02_rb,6.0529e-02_rb,5.2064e-02_rb,4.5590e-02_rb,4.0628e-02_rb,3.5945e-02_rb, & &2.9389e-02_rb,2.3144e-02_rb,2.9176e-02_rb/) kao(:, 2, 1,11) = (/ & &8.2103e-02_rb,7.2020e-02_rb,6.1937e-02_rb,5.5694e-02_rb,5.0508e-02_rb,4.4515e-02_rb, & &3.6553e-02_rb,3.0757e-02_rb,3.9695e-02_rb/) kao(:, 3, 1,11) = (/ & &9.5630e-02_rb,8.3878e-02_rb,7.2481e-02_rb,6.7965e-02_rb,6.0680e-02_rb,5.4180e-02_rb, & &4.4143e-02_rb,4.0422e-02_rb,5.1968e-02_rb/) kao(:, 4, 1,11) = (/ & &1.0928e-01_rb,9.5880e-02_rb,8.4382e-02_rb,8.0469e-02_rb,7.1798e-02_rb,6.4108e-02_rb, & &5.3608e-02_rb,5.2409e-02_rb,6.6870e-02_rb/) kao(:, 5, 1,11) = (/ & &1.2299e-01_rb,1.0790e-01_rb,9.8888e-02_rb,9.2808e-02_rb,8.4009e-02_rb,7.5069e-02_rb, & &6.6004e-02_rb,6.6900e-02_rb,8.4455e-02_rb/) kao(:, 1, 2,11) = (/ & &1.0031e-01_rb,8.7857e-02_rb,7.5407e-02_rb,6.3060e-02_rb,5.4499e-02_rb,4.6504e-02_rb, & &3.6770e-02_rb,2.6380e-02_rb,2.8413e-02_rb/) kao(:, 2, 2,11) = (/ & &1.2053e-01_rb,1.0559e-01_rb,9.0627e-02_rb,7.6829e-02_rb,6.7033e-02_rb,5.8104e-02_rb, & &4.6509e-02_rb,3.3638e-02_rb,3.8310e-02_rb/) kao(:, 3, 2,11) = (/ & &1.4155e-01_rb,1.2398e-01_rb,1.0644e-01_rb,9.2248e-02_rb,8.1983e-02_rb,7.0441e-02_rb, & &5.6590e-02_rb,4.3821e-02_rb,5.0130e-02_rb/) kao(:, 4, 2,11) = (/ & &1.6305e-01_rb,1.4282e-01_rb,1.2262e-01_rb,1.1049e-01_rb,9.7062e-02_rb,8.3848e-02_rb, & &6.7975e-02_rb,5.5529e-02_rb,6.5378e-02_rb/) kao(:, 5, 2,11) = (/ & &1.8507e-01_rb,1.6212e-01_rb,1.3962e-01_rb,1.2935e-01_rb,1.1281e-01_rb,9.7726e-02_rb, & &8.0117e-02_rb,6.9954e-02_rb,8.3371e-02_rb/) kao(:, 1, 3,11) = (/ & &1.8667e-01_rb,1.6338e-01_rb,1.4010e-01_rb,1.1682e-01_rb,9.3557e-02_rb,7.4325e-02_rb, & &5.5984e-02_rb,3.5878e-02_rb,2.5531e-02_rb/) kao(:, 2, 3,11) = (/ & &2.2795e-01_rb,1.9954e-01_rb,1.7113e-01_rb,1.4270e-01_rb,1.1480e-01_rb,9.2509e-02_rb, & &7.0623e-02_rb,4.6178e-02_rb,3.4917e-02_rb/) kao(:, 3, 3,11) = (/ & &2.7211e-01_rb,2.3816e-01_rb,2.0423e-01_rb,1.7032e-01_rb,1.3866e-01_rb,1.1338e-01_rb, & &8.6877e-02_rb,5.7191e-02_rb,4.6054e-02_rb/) kao(:, 4, 3,11) = (/ & &3.1770e-01_rb,2.7809e-01_rb,2.3849e-01_rb,1.9887e-01_rb,1.6548e-01_rb,1.3614e-01_rb, & &1.0464e-01_rb,7.0039e-02_rb,6.0217e-02_rb/) kao(:, 5, 3,11) = (/ & &3.6403e-01_rb,3.1863e-01_rb,2.7328e-01_rb,2.2795e-01_rb,1.9641e-01_rb,1.5908e-01_rb, & &1.2312e-01_rb,8.3529e-02_rb,7.7572e-02_rb/) kao(:, 1, 4,11) = (/ & &3.4588e-01_rb,3.0268e-01_rb,2.5948e-01_rb,2.1629e-01_rb,1.7307e-01_rb,1.2990e-01_rb, & &9.1217e-02_rb,5.3135e-02_rb,2.1767e-02_rb/) kao(:, 2, 4,11) = (/ & &4.3145e-01_rb,3.7755e-01_rb,3.2366e-01_rb,2.6977e-01_rb,2.1589e-01_rb,1.6201e-01_rb, & &1.1572e-01_rb,6.8208e-02_rb,3.0409e-02_rb/) kao(:, 3, 4,11) = (/ & &5.2311e-01_rb,4.5776e-01_rb,3.9244e-01_rb,3.2707e-01_rb,2.6176e-01_rb,1.9718e-01_rb, & &1.4225e-01_rb,8.5649e-02_rb,4.0906e-02_rb/) kao(:, 4, 4,11) = (/ & &6.1949e-01_rb,5.4214e-01_rb,4.6476e-01_rb,3.8737e-01_rb,3.1001e-01_rb,2.3606e-01_rb, & &1.7310e-01_rb,1.0459e-01_rb,5.4382e-02_rb/) kao(:, 5, 4,11) = (/ & &7.1941e-01_rb,6.2950e-01_rb,5.3975e-01_rb,4.4985e-01_rb,3.6002e-01_rb,2.8013e-01_rb, & &2.0492e-01_rb,1.2467e-01_rb,7.0400e-02_rb/) kao(:, 1, 5,11) = (/ & &5.8048e-01_rb,5.0796e-01_rb,4.3542e-01_rb,3.6286e-01_rb,2.9032e-01_rb,2.1780e-01_rb, & &1.4642e-01_rb,8.0688e-02_rb,1.7624e-02_rb/) kao(:, 2, 5,11) = (/ & &7.4078e-01_rb,6.4817e-01_rb,5.5562e-01_rb,4.6305e-01_rb,3.7047e-01_rb,2.7793e-01_rb, & &1.8667e-01_rb,1.0393e-01_rb,2.5321e-02_rb/) kao(:, 3, 5,11) = (/ & &9.1562e-01_rb,8.0121e-01_rb,6.8680e-01_rb,5.7241e-01_rb,4.5798e-01_rb,3.4354e-01_rb, & &2.3145e-01_rb,1.3051e-01_rb,3.5008e-02_rb/) kao(:, 4, 5,11) = (/ & &1.1041e+00_rb,9.6607e-01_rb,8.2810e-01_rb,6.9018e-01_rb,5.5220e-01_rb,4.1422e-01_rb, & &2.8137e-01_rb,1.6106e-01_rb,4.7504e-02_rb/) kao(:, 5, 5,11) = (/ & &1.3000e+00_rb,1.1374e+00_rb,9.7498e-01_rb,8.1255e-01_rb,6.5013e-01_rb,4.8767e-01_rb, & &3.3622e-01_rb,1.9350e-01_rb,6.2782e-02_rb/) kao(:, 1, 6,11) = (/ & &8.9158e-01_rb,7.8014e-01_rb,6.6870e-01_rb,5.5724e-01_rb,4.4582e-01_rb,3.3441e-01_rb, & &2.2372e-01_rb,1.1615e-01_rb,1.3452e-02_rb/) kao(:, 2, 6,11) = (/ & &1.1678e+00_rb,1.0218e+00_rb,8.7586e-01_rb,7.2991e-01_rb,5.8393e-01_rb,4.3799e-01_rb, & &2.9305e-01_rb,1.5296e-01_rb,1.9872e-02_rb/) kao(:, 3, 6,11) = (/ & &1.4777e+00_rb,1.2930e+00_rb,1.1083e+00_rb,9.2359e-01_rb,7.3888e-01_rb,5.5427e-01_rb, & &3.7059e-01_rb,1.9566e-01_rb,2.8227e-02_rb/) kao(:, 4, 6,11) = (/ & &1.8119e+00_rb,1.5855e+00_rb,1.3592e+00_rb,1.1325e+00_rb,9.0614e-01_rb,6.7964e-01_rb, & &4.5430e-01_rb,2.4269e-01_rb,3.9342e-02_rb/) kao(:, 5, 6,11) = (/ & &2.1657e+00_rb,1.8951e+00_rb,1.6242e+00_rb,1.3536e+00_rb,1.0830e+00_rb,8.1233e-01_rb, & &5.4303e-01_rb,2.9520e-01_rb,5.3415e-02_rb/) kao(:, 1, 7,11) = (/ & &1.4142e+00_rb,1.2374e+00_rb,1.0606e+00_rb,8.8396e-01_rb,7.0710e-01_rb,5.3041e-01_rb, & &3.5484e-01_rb,1.8101e-01_rb,1.0092e-02_rb/) kao(:, 2, 7,11) = (/ & &1.9068e+00_rb,1.6686e+00_rb,1.4303e+00_rb,1.1919e+00_rb,9.5353e-01_rb,7.1519e-01_rb, & &4.7813e-01_rb,2.4337e-01_rb,1.5041e-02_rb/) kao(:, 3, 7,11) = (/ & &2.4672e+00_rb,2.1587e+00_rb,1.8505e+00_rb,1.5421e+00_rb,1.2336e+00_rb,9.2548e-01_rb, & &6.1872e-01_rb,3.1448e-01_rb,2.1900e-02_rb/) kao(:, 4, 7,11) = (/ & &3.0809e+00_rb,2.6959e+00_rb,2.3109e+00_rb,1.9258e+00_rb,1.5405e+00_rb,1.1559e+00_rb, & &7.7290e-01_rb,3.9302e-01_rb,3.1410e-02_rb/) kao(:, 5, 7,11) = (/ & &3.7474e+00_rb,3.2787e+00_rb,2.8103e+00_rb,2.3419e+00_rb,1.8737e+00_rb,1.4060e+00_rb, & &9.3991e-01_rb,4.7981e-01_rb,4.3693e-02_rb/) kao(:, 1, 8,11) = (/ & &2.6683e+00_rb,2.3349e+00_rb,2.0012e+00_rb,1.6677e+00_rb,1.3344e+00_rb,1.0014e+00_rb, & &6.6874e-01_rb,3.3701e-01_rb,7.4648e-03_rb/) kao(:, 2, 8,11) = (/ & &3.7060e+00_rb,3.2430e+00_rb,2.7797e+00_rb,2.3168e+00_rb,1.8539e+00_rb,1.3914e+00_rb, & &9.2912e-01_rb,4.6800e-01_rb,1.1435e-02_rb/) kao(:, 3, 8,11) = (/ & &4.9130e+00_rb,4.2993e+00_rb,3.6854e+00_rb,3.0718e+00_rb,2.4583e+00_rb,1.8451e+00_rb, & &1.2322e+00_rb,6.2028e-01_rb,1.6885e-02_rb/) kao(:, 4, 8,11) = (/ & &6.2797e+00_rb,5.4950e+00_rb,4.7108e+00_rb,3.9265e+00_rb,3.1420e+00_rb,2.3582e+00_rb, & &1.5746e+00_rb,7.9222e-01_rb,2.4688e-02_rb/) kao(:, 5, 8,11) = (/ & &7.7638e+00_rb,6.7943e+00_rb,5.8243e+00_rb,4.8546e+00_rb,3.8850e+00_rb,2.9154e+00_rb, & &1.9466e+00_rb,9.7896e-01_rb,3.5101e-02_rb/) kao(:, 1, 9,11) = (/ & &9.7135e+00_rb,8.4998e+00_rb,7.2860e+00_rb,6.0723e+00_rb,4.8583e+00_rb,3.6448e+00_rb, & &2.4304e+00_rb,1.2171e+00_rb,3.5233e-03_rb/) kao(:, 2, 9,11) = (/ & &1.3929e+01_rb,1.2189e+01_rb,1.0449e+01_rb,8.7078e+00_rb,6.9673e+00_rb,5.2263e+00_rb, & &3.4856e+00_rb,1.7453e+00_rb,4.1308e-03_rb/) kao(:, 3, 9,11) = (/ & &1.8989e+01_rb,1.6615e+01_rb,1.4243e+01_rb,1.1869e+01_rb,9.4966e+00_rb,7.1244e+00_rb, & &4.7516e+00_rb,2.3792e+00_rb,6.6319e-03_rb/) kao(:, 4, 9,11) = (/ & &2.4785e+01_rb,2.1688e+01_rb,1.8591e+01_rb,1.5493e+01_rb,1.2396e+01_rb,9.2991e+00_rb, & &6.2019e+00_rb,3.1051e+00_rb,1.1490e-02_rb/) kao(:, 5, 9,11) = (/ & &3.1283e+01_rb,2.7373e+01_rb,2.3465e+01_rb,1.9556e+01_rb,1.5646e+01_rb,1.1737e+01_rb, & &7.8279e+00_rb,3.9188e+00_rb,2.1019e-02_rb/) kao(:, 1,10,11) = (/ & &4.1666e+01_rb,3.6458e+01_rb,3.1251e+01_rb,2.6043e+01_rb,2.0835e+01_rb,1.5628e+01_rb, & &1.0419e+01_rb,5.2119e+00_rb,1.6494e-03_rb/) kao(:, 2,10,11) = (/ & &6.1694e+01_rb,5.3987e+01_rb,4.6271e+01_rb,3.8561e+01_rb,3.0850e+01_rb,2.3139e+01_rb, & &1.5428e+01_rb,7.7161e+00_rb,4.8320e-03_rb/) kao(:, 3,10,11) = (/ & &8.6109e+01_rb,7.5347e+01_rb,6.4581e+01_rb,5.3821e+01_rb,4.3056e+01_rb,3.2294e+01_rb, & &2.1533e+01_rb,1.0770e+01_rb,3.2818e-03_rb/) kao(:, 4,10,11) = (/ & &1.1458e+02_rb,1.0025e+02_rb,8.5946e+01_rb,7.1620e+01_rb,5.7298e+01_rb,4.2975e+01_rb, & &2.8651e+01_rb,1.4330e+01_rb,1.0923e-02_rb/) kao(:, 5,10,11) = (/ & &1.4689e+02_rb,1.2853e+02_rb,1.1017e+02_rb,9.1808e+01_rb,7.3452e+01_rb,5.5088e+01_rb, & &3.6731e+01_rb,1.8371e+01_rb,1.7421e-02_rb/) kao(:, 1,11,11) = (/ & &7.6402e+01_rb,6.6855e+01_rb,5.7300e+01_rb,4.7753e+01_rb,3.8204e+01_rb,2.8655e+01_rb, & &1.9105e+01_rb,9.5538e+00_rb,4.1075e-05_rb/) kao(:, 2,11,11) = (/ & &1.1253e+02_rb,9.8463e+01_rb,8.4399e+01_rb,7.0331e+01_rb,5.6269e+01_rb,4.2202e+01_rb, & &2.8136e+01_rb,1.4070e+01_rb,5.7635e-05_rb/) kao(:, 3,11,11) = (/ & &1.5636e+02_rb,1.3680e+02_rb,1.1725e+02_rb,9.7724e+01_rb,7.8173e+01_rb,5.8632e+01_rb, & &3.9090e+01_rb,1.9548e+01_rb,8.0706e-05_rb/) kao(:, 4,11,11) = (/ & &2.0774e+02_rb,1.8177e+02_rb,1.5580e+02_rb,1.2984e+02_rb,1.0387e+02_rb,7.7908e+01_rb, & &5.1937e+01_rb,2.5972e+01_rb,1.1256e-02_rb/) kao(:, 5,11,11) = (/ & &2.6504e+02_rb,2.3192e+02_rb,1.9880e+02_rb,1.6566e+02_rb,1.3254e+02_rb,9.9402e+01_rb, & &6.6269e+01_rb,3.3138e+01_rb,8.3317e-03_rb/) kao(:, 1,12,11) = (/ & &1.0209e+02_rb,8.9323e+01_rb,7.6564e+01_rb,6.3800e+01_rb,5.1042e+01_rb,3.8285e+01_rb, & &2.5522e+01_rb,1.2763e+01_rb,2.5628e-05_rb/) kao(:, 2,12,11) = (/ & &1.4952e+02_rb,1.3083e+02_rb,1.1214e+02_rb,9.3447e+01_rb,7.4760e+01_rb,5.6068e+01_rb, & &3.7381e+01_rb,1.8692e+01_rb,3.7727e-05_rb/) kao(:, 3,12,11) = (/ & &2.0709e+02_rb,1.8121e+02_rb,1.5533e+02_rb,1.2944e+02_rb,1.0355e+02_rb,7.7656e+01_rb, & &5.1777e+01_rb,2.5887e+01_rb,4.7198e-05_rb/) kao(:, 4,12,11) = (/ & &2.7380e+02_rb,2.3961e+02_rb,2.0536e+02_rb,1.7114e+02_rb,1.3691e+02_rb,1.0268e+02_rb, & &6.8461e+01_rb,3.4230e+01_rb,7.7074e-03_rb/) kao(:, 5,12,11) = (/ & &3.4895e+02_rb,3.0533e+02_rb,2.6172e+02_rb,2.1811e+02_rb,1.7449e+02_rb,1.3086e+02_rb, & &8.7241e+01_rb,4.3626e+01_rb,8.7565e-03_rb/) kao(:, 1,13,11) = (/ & &1.0675e+02_rb,9.3411e+01_rb,8.0067e+01_rb,6.6725e+01_rb,5.3379e+01_rb,4.0032e+01_rb, & &2.6688e+01_rb,1.3347e+01_rb,1.6230e-05_rb/) kao(:, 2,13,11) = (/ & &1.5608e+02_rb,1.3657e+02_rb,1.1706e+02_rb,9.7552e+01_rb,7.8046e+01_rb,5.8531e+01_rb, & &3.9024e+01_rb,1.9513e+01_rb,2.2466e-05_rb/) kao(:, 3,13,11) = (/ & &2.1549e+02_rb,1.8855e+02_rb,1.6162e+02_rb,1.3468e+02_rb,1.0774e+02_rb,8.0803e+01_rb, & &5.3874e+01_rb,2.6939e+01_rb,3.0542e-05_rb/) kao(:, 4,13,11) = (/ & &2.8371e+02_rb,2.4826e+02_rb,2.1280e+02_rb,1.7733e+02_rb,1.4186e+02_rb,1.0640e+02_rb, & &7.0935e+01_rb,3.5470e+01_rb,1.3758e-03_rb/) kao(:, 5,13,11) = (/ & &3.5962e+02_rb,3.1467e+02_rb,2.6973e+02_rb,2.2478e+02_rb,1.7981e+02_rb,1.3487e+02_rb, & &8.9910e+01_rb,4.4960e+01_rb,3.9903e-03_rb/) kao(:, 1, 1,12) = (/ & &9.6318e-02_rb,8.4306e-02_rb,7.2320e-02_rb,6.0347e-02_rb,5.2079e-02_rb,4.4235e-02_rb, & &3.5296e-02_rb,3.0172e-02_rb,3.8372e-02_rb/) kao(:, 2, 1,12) = (/ & &1.1333e-01_rb,9.9268e-02_rb,8.5214e-02_rb,7.2014e-02_rb,6.3588e-02_rb,5.4323e-02_rb, & &4.4306e-02_rb,4.1727e-02_rb,5.1292e-02_rb/) kao(:, 3, 1,12) = (/ & &1.3065e-01_rb,1.1448e-01_rb,9.8324e-02_rb,8.5358e-02_rb,7.7141e-02_rb,6.4277e-02_rb, & &5.5750e-02_rb,5.5415e-02_rb,6.7933e-02_rb/) kao(:, 4, 1,12) = (/ & &1.4795e-01_rb,1.2969e-01_rb,1.1146e-01_rb,1.0185e-01_rb,9.0045e-02_rb,7.5178e-02_rb, & &6.8885e-02_rb,7.0700e-02_rb,8.8138e-02_rb/) kao(:, 5, 1,12) = (/ & &1.6491e-01_rb,1.4461e-01_rb,1.2472e-01_rb,1.1761e-01_rb,1.0268e-01_rb,8.7802e-02_rb, & &8.5057e-02_rb,9.0208e-02_rb,1.1284e-01_rb/) kao(:, 1, 2,12) = (/ & &1.4316e-01_rb,1.2534e-01_rb,1.0752e-01_rb,8.9701e-02_rb,7.2577e-02_rb,5.9608e-02_rb, & &4.6628e-02_rb,3.2233e-02_rb,3.6922e-02_rb/) kao(:, 2, 2,12) = (/ & &1.7023e-01_rb,1.4907e-01_rb,1.2790e-01_rb,1.0674e-01_rb,8.8738e-02_rb,7.3250e-02_rb, & &5.7353e-02_rb,4.3254e-02_rb,4.9659e-02_rb/) kao(:, 3, 2,12) = (/ & &1.9792e-01_rb,1.7332e-01_rb,1.4875e-01_rb,1.2418e-01_rb,1.0651e-01_rb,8.8601e-02_rb, & &6.9038e-02_rb,5.5574e-02_rb,6.6062e-02_rb/) kao(:, 4, 2,12) = (/ & &2.2567e-01_rb,1.9768e-01_rb,1.6971e-01_rb,1.4278e-01_rb,1.2696e-01_rb,1.0366e-01_rb, & &8.1948e-02_rb,7.1191e-02_rb,8.6127e-02_rb/) kao(:, 5, 2,12) = (/ & &2.5314e-01_rb,2.2175e-01_rb,1.9032e-01_rb,1.6565e-01_rb,1.4606e-01_rb,1.1970e-01_rb, & &9.8165e-02_rb,9.0526e-02_rb,1.1061e-01_rb/) kao(:, 1, 3,12) = (/ & &2.7385e-01_rb,2.3971e-01_rb,2.0552e-01_rb,1.7136e-01_rb,1.3716e-01_rb,1.0300e-01_rb, & &7.5178e-02_rb,4.5691e-02_rb,3.3533e-02_rb/) kao(:, 2, 3,12) = (/ & &3.3090e-01_rb,2.8961e-01_rb,2.4836e-01_rb,2.0707e-01_rb,1.6581e-01_rb,1.2597e-01_rb, & &9.2542e-02_rb,5.7168e-02_rb,4.5647e-02_rb/) kao(:, 3, 3,12) = (/ & &3.8960e-01_rb,3.4098e-01_rb,2.9239e-01_rb,2.4379e-01_rb,1.9517e-01_rb,1.5181e-01_rb, & &1.1308e-01_rb,7.0212e-02_rb,6.1610e-02_rb/) kao(:, 4, 3,12) = (/ & &4.4888e-01_rb,3.9285e-01_rb,3.3686e-01_rb,2.8085e-01_rb,2.2487e-01_rb,1.8074e-01_rb, & &1.3367e-01_rb,8.4795e-02_rb,8.0803e-02_rb/) kao(:, 5, 3,12) = (/ & &5.0777e-01_rb,4.4444e-01_rb,3.8104e-01_rb,3.1773e-01_rb,2.5631e-01_rb,2.1146e-01_rb, & &1.5502e-01_rb,1.0449e-01_rb,1.0410e-01_rb/) kao(:, 1, 4,12) = (/ & &5.2233e-01_rb,4.5708e-01_rb,3.9182e-01_rb,3.2654e-01_rb,2.6131e-01_rb,1.9604e-01_rb, & &1.3079e-01_rb,7.4640e-02_rb,2.9498e-02_rb/) kao(:, 2, 4,12) = (/ & &6.4217e-01_rb,5.6200e-01_rb,4.8174e-01_rb,4.0151e-01_rb,3.2131e-01_rb,2.4104e-01_rb, & &1.6124e-01_rb,9.3279e-02_rb,4.1076e-02_rb/) kao(:, 3, 4,12) = (/ & &7.6818e-01_rb,6.7216e-01_rb,5.7628e-01_rb,4.8026e-01_rb,3.8431e-01_rb,2.8834e-01_rb, & &1.9584e-01_rb,1.1499e-01_rb,5.5764e-02_rb/) kao(:, 4, 4,12) = (/ & &8.9714e-01_rb,7.8510e-01_rb,6.7304e-01_rb,5.6095e-01_rb,4.4882e-01_rb,3.3677e-01_rb, & &2.3398e-01_rb,1.3732e-01_rb,7.3695e-02_rb/) kao(:, 5, 4,12) = (/ & &1.0267e+00_rb,8.9838e-01_rb,7.7018e-01_rb,6.4193e-01_rb,5.1368e-01_rb,3.8545e-01_rb, & &2.7687e-01_rb,1.6073e-01_rb,9.6046e-02_rb/) kao(:, 1, 5,12) = (/ & &9.0551e-01_rb,7.9235e-01_rb,6.7918e-01_rb,5.6601e-01_rb,4.5286e-01_rb,3.3967e-01_rb, & &2.2649e-01_rb,1.1543e-01_rb,2.5575e-02_rb/) kao(:, 2, 5,12) = (/ & &1.1369e+00_rb,9.9490e-01_rb,8.5273e-01_rb,7.1065e-01_rb,5.6855e-01_rb,4.2647e-01_rb, & &2.8441e-01_rb,1.4706e-01_rb,3.6472e-02_rb/) kao(:, 3, 5,12) = (/ & &1.3835e+00_rb,1.2106e+00_rb,1.0376e+00_rb,8.6468e-01_rb,6.9181e-01_rb,5.1896e-01_rb, & &3.4607e-01_rb,1.8250e-01_rb,5.0201e-02_rb/) kao(:, 4, 5,12) = (/ & &1.6400e+00_rb,1.4350e+00_rb,1.2302e+00_rb,1.0252e+00_rb,8.2021e-01_rb,6.1526e-01_rb, & &4.1028e-01_rb,2.2034e-01_rb,6.6839e-02_rb/) kao(:, 5, 5,12) = (/ & &1.9010e+00_rb,1.6635e+00_rb,1.4259e+00_rb,1.1884e+00_rb,9.5076e-01_rb,7.1323e-01_rb, & &4.7563e-01_rb,2.6201e-01_rb,8.7568e-02_rb/) kao(:, 1, 6,12) = (/ & &1.4399e+00_rb,1.2599e+00_rb,1.0800e+00_rb,9.0001e-01_rb,7.2000e-01_rb,5.4003e-01_rb, & &3.6008e-01_rb,1.8026e-01_rb,2.1293e-02_rb/) kao(:, 2, 6,12) = (/ & &1.8513e+00_rb,1.6198e+00_rb,1.3886e+00_rb,1.1570e+00_rb,9.2575e-01_rb,6.9429e-01_rb, & &4.6294e-01_rb,2.3182e-01_rb,3.1128e-02_rb/) kao(:, 3, 6,12) = (/ & &2.3002e+00_rb,2.0128e+00_rb,1.7253e+00_rb,1.4377e+00_rb,1.1502e+00_rb,8.6271e-01_rb, & &5.7522e-01_rb,2.8786e-01_rb,4.3673e-02_rb/) kao(:, 4, 6,12) = (/ & &2.7724e+00_rb,2.4259e+00_rb,2.0792e+00_rb,1.7327e+00_rb,1.3862e+00_rb,1.0398e+00_rb, & &6.9321e-01_rb,3.4832e-01_rb,5.9465e-02_rb/) kao(:, 5, 6,12) = (/ & &3.2575e+00_rb,2.8504e+00_rb,2.4432e+00_rb,2.0359e+00_rb,1.6288e+00_rb,1.2216e+00_rb, & &8.1457e-01_rb,4.1431e-01_rb,7.8852e-02_rb/) kao(:, 1, 7,12) = (/ & &2.3706e+00_rb,2.0741e+00_rb,1.7778e+00_rb,1.4816e+00_rb,1.1852e+00_rb,8.8892e-01_rb, & &5.9261e-01_rb,2.9636e-01_rb,1.6814e-02_rb/) kao(:, 2, 7,12) = (/ & &3.1315e+00_rb,2.7398e+00_rb,2.3484e+00_rb,1.9572e+00_rb,1.5657e+00_rb,1.1742e+00_rb, & &7.8297e-01_rb,3.9150e-01_rb,2.5425e-02_rb/) kao(:, 3, 7,12) = (/ & &3.9698e+00_rb,3.4734e+00_rb,2.9772e+00_rb,2.4811e+00_rb,1.9850e+00_rb,1.4887e+00_rb, & &9.9245e-01_rb,4.9628e-01_rb,3.6698e-02_rb/) kao(:, 4, 7,12) = (/ & &4.8729e+00_rb,4.2639e+00_rb,3.6548e+00_rb,3.0457e+00_rb,2.4366e+00_rb,1.8275e+00_rb, & &1.2184e+00_rb,6.0927e-01_rb,5.1098e-02_rb/) kao(:, 5, 7,12) = (/ & &5.8302e+00_rb,5.1015e+00_rb,4.3726e+00_rb,3.6438e+00_rb,2.9154e+00_rb,2.1865e+00_rb, & &1.4578e+00_rb,7.2896e-01_rb,6.9201e-02_rb/) kao(:, 1, 8,12) = (/ & &4.6083e+00_rb,4.0328e+00_rb,3.4566e+00_rb,2.8804e+00_rb,2.3046e+00_rb,1.7283e+00_rb, & &1.1523e+00_rb,5.7615e-01_rb,1.2896e-02_rb/) kao(:, 2, 8,12) = (/ & &6.2568e+00_rb,5.4739e+00_rb,4.6922e+00_rb,3.9099e+00_rb,3.1281e+00_rb,2.3461e+00_rb, & &1.5641e+00_rb,7.8209e-01_rb,1.9880e-02_rb/) kao(:, 3, 8,12) = (/ & &8.1358e+00_rb,7.1187e+00_rb,6.1015e+00_rb,5.0849e+00_rb,4.0679e+00_rb,3.0509e+00_rb, & &2.0338e+00_rb,1.0170e+00_rb,2.9497e-02_rb/) kao(:, 4, 8,12) = (/ & &1.0204e+01_rb,8.9284e+00_rb,7.6531e+00_rb,6.3773e+00_rb,5.1020e+00_rb,3.8269e+00_rb, & &2.5510e+00_rb,1.2755e+00_rb,4.2115e-02_rb/) kao(:, 5, 8,12) = (/ & &1.2434e+01_rb,1.0880e+01_rb,9.3260e+00_rb,7.7708e+00_rb,6.2169e+00_rb,4.6632e+00_rb, & &3.1088e+00_rb,1.5543e+00_rb,5.8665e-02_rb/) kao(:, 1, 9,12) = (/ & &1.6573e+01_rb,1.4502e+01_rb,1.2430e+01_rb,1.0358e+01_rb,8.2865e+00_rb,6.2149e+00_rb, & &4.1429e+00_rb,2.0717e+00_rb,3.2506e-03_rb/) kao(:, 2, 9,12) = (/ & &2.3241e+01_rb,2.0336e+01_rb,1.7432e+01_rb,1.4525e+01_rb,1.1622e+01_rb,8.7162e+00_rb, & &5.8106e+00_rb,2.9051e+00_rb,8.0054e-03_rb/) kao(:, 3, 9,12) = (/ & &3.1035e+01_rb,2.7156e+01_rb,2.3277e+01_rb,1.9396e+01_rb,1.5516e+01_rb,1.1638e+01_rb, & &7.7589e+00_rb,3.8795e+00_rb,1.2478e-02_rb/) kao(:, 4, 9,12) = (/ & &3.9794e+01_rb,3.4820e+01_rb,2.9846e+01_rb,2.4871e+01_rb,1.9897e+01_rb,1.4923e+01_rb, & &9.9485e+00_rb,4.9745e+00_rb,2.7934e-02_rb/) kao(:, 5, 9,12) = (/ & &4.9259e+01_rb,4.3099e+01_rb,3.6943e+01_rb,3.0785e+01_rb,2.4628e+01_rb,1.8472e+01_rb, & &1.2315e+01_rb,6.1576e+00_rb,4.7661e-02_rb/) kao(:, 1,10,12) = (/ & &6.7160e+01_rb,5.8765e+01_rb,5.0369e+01_rb,4.1974e+01_rb,3.3581e+01_rb,2.5186e+01_rb, & &1.6790e+01_rb,8.3953e+00_rb,3.7061e-05_rb/) kao(:, 2,10,12) = (/ & &9.7116e+01_rb,8.4979e+01_rb,7.2826e+01_rb,6.0693e+01_rb,4.8559e+01_rb,3.6416e+01_rb, & &2.4277e+01_rb,1.2139e+01_rb,5.3890e-03_rb/) kao(:, 3,10,12) = (/ & &1.3274e+02_rb,1.1614e+02_rb,9.9552e+01_rb,8.2959e+01_rb,6.6370e+01_rb,4.9775e+01_rb, & &3.3183e+01_rb,1.6592e+01_rb,5.5995e-03_rb/) kao(:, 4,10,12) = (/ & &1.7342e+02_rb,1.5174e+02_rb,1.3008e+02_rb,1.0839e+02_rb,8.6716e+01_rb,6.5036e+01_rb, & &4.3354e+01_rb,2.1678e+01_rb,7.3568e-03_rb/) kao(:, 5,10,12) = (/ & &2.1869e+02_rb,1.9137e+02_rb,1.6402e+02_rb,1.3669e+02_rb,1.0934e+02_rb,8.2010e+01_rb, & &5.4674e+01_rb,2.7339e+01_rb,1.9171e-02_rb/) kao(:, 1,11,12) = (/ & &1.1512e+02_rb,1.0073e+02_rb,8.6335e+01_rb,7.1940e+01_rb,5.7559e+01_rb,4.3164e+01_rb, & &2.8776e+01_rb,1.4390e+01_rb,3.3905e-05_rb/) kao(:, 2,11,12) = (/ & &1.6697e+02_rb,1.4609e+02_rb,1.2523e+02_rb,1.0436e+02_rb,8.3482e+01_rb,6.2612e+01_rb, & &4.1744e+01_rb,2.0873e+01_rb,5.9590e-05_rb/) kao(:, 3,11,12) = (/ & &2.2930e+02_rb,2.0064e+02_rb,1.7196e+02_rb,1.4331e+02_rb,1.1466e+02_rb,8.5994e+01_rb, & &5.7327e+01_rb,2.8668e+01_rb,8.9833e-05_rb/) kao(:, 4,11,12) = (/ & &3.0132e+02_rb,2.6364e+02_rb,2.2598e+02_rb,1.8835e+02_rb,1.5066e+02_rb,1.1300e+02_rb, & &7.5334e+01_rb,3.7671e+01_rb,8.4167e-03_rb/) kao(:, 5,11,12) = (/ & &3.8162e+02_rb,3.3392e+02_rb,2.8622e+02_rb,2.3853e+02_rb,1.9083e+02_rb,1.4312e+02_rb, & &9.5410e+01_rb,4.7709e+01_rb,1.8161e-02_rb/) kao(:, 1,12,12) = (/ & &1.5129e+02_rb,1.3238e+02_rb,1.1347e+02_rb,9.4558e+01_rb,7.5645e+01_rb,5.6733e+01_rb, & &3.7823e+01_rb,1.8915e+01_rb,3.6770e-05_rb/) kao(:, 2,12,12) = (/ & &2.2053e+02_rb,1.9297e+02_rb,1.6541e+02_rb,1.3784e+02_rb,1.1026e+02_rb,8.2702e+01_rb, & &5.5137e+01_rb,2.7573e+01_rb,5.2389e-05_rb/) kao(:, 3,12,12) = (/ & &3.0464e+02_rb,2.6657e+02_rb,2.2849e+02_rb,1.9040e+02_rb,1.5233e+02_rb,1.1424e+02_rb, & &7.6159e+01_rb,3.8090e+01_rb,7.1306e-05_rb/) kao(:, 4,12,12) = (/ & &4.0144e+02_rb,3.5128e+02_rb,3.0110e+02_rb,2.5092e+02_rb,2.0072e+02_rb,1.5055e+02_rb, & &1.0037e+02_rb,5.0190e+01_rb,9.4766e-05_rb/) kao(:, 5,12,12) = (/ & &5.1041e+02_rb,4.4660e+02_rb,3.8281e+02_rb,3.1900e+02_rb,2.5521e+02_rb,1.9140e+02_rb, & &1.2761e+02_rb,6.3809e+01_rb,8.9549e-03_rb/) kao(:, 1,13,12) = (/ & &1.6406e+02_rb,1.4356e+02_rb,1.2306e+02_rb,1.0255e+02_rb,8.2037e+01_rb,6.1534e+01_rb, & &4.1023e+01_rb,2.0513e+01_rb,2.9105e-05_rb/) kao(:, 2,13,12) = (/ & &2.3966e+02_rb,2.0971e+02_rb,1.7976e+02_rb,1.4978e+02_rb,1.1983e+02_rb,8.9879e+01_rb, & &5.9920e+01_rb,2.9966e+01_rb,3.6736e-05_rb/) kao(:, 3,13,12) = (/ & &3.3040e+02_rb,2.8909e+02_rb,2.4781e+02_rb,2.0651e+02_rb,1.6521e+02_rb,1.2390e+02_rb, & &8.2608e+01_rb,4.1307e+01_rb,4.7139e-05_rb/) kao(:, 4,13,12) = (/ & &4.3608e+02_rb,3.8160e+02_rb,3.2708e+02_rb,2.7256e+02_rb,2.1804e+02_rb,1.6354e+02_rb, & &1.0903e+02_rb,5.4517e+01_rb,5.9953e-05_rb/) kao(:, 5,13,12) = (/ & &5.5401e+02_rb,4.8478e+02_rb,4.1553e+02_rb,3.4627e+02_rb,2.7701e+02_rb,2.0776e+02_rb, & &1.3851e+02_rb,6.9261e+01_rb,1.3826e-02_rb/) kao(:, 1, 1,13) = (/ & &1.2490e-01_rb,1.0932e-01_rb,9.3720e-02_rb,7.8121e-02_rb,6.3794e-02_rb,5.1600e-02_rb, & &4.4680e-02_rb,4.2635e-02_rb,5.5634e-02_rb/) kao(:, 2, 1,13) = (/ & &1.4548e-01_rb,1.2733e-01_rb,1.0918e-01_rb,9.1021e-02_rb,7.6620e-02_rb,6.3500e-02_rb, & &5.7581e-02_rb,5.7524e-02_rb,7.4793e-02_rb/) kao(:, 3, 1,13) = (/ & &1.6600e-01_rb,1.4529e-01_rb,1.2460e-01_rb,1.0392e-01_rb,9.0379e-02_rb,7.8694e-02_rb, & &7.4384e-02_rb,7.8232e-02_rb,9.9775e-02_rb/) kao(:, 4, 1,13) = (/ & &1.8636e-01_rb,1.6314e-01_rb,1.3994e-01_rb,1.1863e-01_rb,1.0661e-01_rb,9.7110e-02_rb, & &9.8012e-02_rb,1.0654e-01_rb,1.3265e-01_rb/) kao(:, 5, 1,13) = (/ & &2.0606e-01_rb,1.8040e-01_rb,1.5476e-01_rb,1.3669e-01_rb,1.2405e-01_rb,1.1873e-01_rb, & &1.2869e-01_rb,1.4070e-01_rb,1.7529e-01_rb/) kao(:, 1, 2,13) = (/ & &1.8895e-01_rb,1.6535e-01_rb,1.4175e-01_rb,1.1814e-01_rb,9.4551e-02_rb,7.3809e-02_rb, & &5.5615e-02_rb,4.4637e-02_rb,5.3030e-02_rb/) kao(:, 2, 2,13) = (/ & &2.2250e-01_rb,1.9470e-01_rb,1.6692e-01_rb,1.3914e-01_rb,1.1136e-01_rb,8.8262e-02_rb, & &7.0022e-02_rb,6.0363e-02_rb,7.3472e-02_rb/) kao(:, 3, 2,13) = (/ & &2.5567e-01_rb,2.2376e-01_rb,1.9185e-01_rb,1.5991e-01_rb,1.3005e-01_rb,1.0599e-01_rb, & &8.7655e-02_rb,7.9726e-02_rb,9.6994e-02_rb/) kao(:, 4, 2,13) = (/ & &2.8747e-01_rb,2.5157e-01_rb,2.1569e-01_rb,1.7980e-01_rb,1.5083e-01_rb,1.2699e-01_rb, & &1.0917e-01_rb,1.0493e-01_rb,1.2703e-01_rb/) kao(:, 5, 2,13) = (/ & &3.1781e-01_rb,2.7817e-01_rb,2.3857e-01_rb,1.9898e-01_rb,1.7411e-01_rb,1.5016e-01_rb, & &1.3454e-01_rb,1.3707e-01_rb,1.6656e-01_rb/) kao(:, 1, 3,13) = (/ & &3.6978e-01_rb,3.2357e-01_rb,2.7737e-01_rb,2.3116e-01_rb,1.8494e-01_rb,1.3872e-01_rb, & &9.4432e-02_rb,5.7465e-02_rb,4.7026e-02_rb/) kao(:, 2, 3,13) = (/ & &4.3903e-01_rb,3.8415e-01_rb,3.2929e-01_rb,2.7445e-01_rb,2.1956e-01_rb,1.6470e-01_rb, & &1.1482e-01_rb,7.4394e-02_rb,6.6138e-02_rb/) kao(:, 3, 3,13) = (/ & &5.0855e-01_rb,4.4506e-01_rb,3.8154e-01_rb,3.1805e-01_rb,2.5451e-01_rb,1.9102e-01_rb, & &1.3670e-01_rb,9.4825e-02_rb,8.9406e-02_rb/) kao(:, 4, 3,13) = (/ & &5.7817e-01_rb,5.0599e-01_rb,4.3381e-01_rb,3.6166e-01_rb,2.8948e-01_rb,2.2042e-01_rb, & &1.6420e-01_rb,1.1827e-01_rb,1.1730e-01_rb/) kao(:, 5, 3,13) = (/ & &6.4715e-01_rb,5.6638e-01_rb,4.8566e-01_rb,4.0494e-01_rb,3.2419e-01_rb,2.5446e-01_rb, & &1.9367e-01_rb,1.4612e-01_rb,1.5219e-01_rb/) kao(:, 1, 4,13) = (/ & &7.1857e-01_rb,6.2877e-01_rb,5.3894e-01_rb,4.4919e-01_rb,3.5935e-01_rb,2.6957e-01_rb, & &1.7976e-01_rb,9.3998e-02_rb,4.1187e-02_rb/) kao(:, 2, 4,13) = (/ & &8.6835e-01_rb,7.5986e-01_rb,6.5131e-01_rb,5.4283e-01_rb,4.3435e-01_rb,3.2583e-01_rb, & &2.1731e-01_rb,1.1522e-01_rb,5.8302e-02_rb/) kao(:, 3, 4,13) = (/ & &1.0243e+00_rb,8.9626e-01_rb,7.6836e-01_rb,6.4035e-01_rb,5.1240e-01_rb,3.8438e-01_rb, & &2.5643e-01_rb,1.3949e-01_rb,7.9878e-02_rb/) kao(:, 4, 4,13) = (/ & &1.1800e+00_rb,1.0326e+00_rb,8.8512e-01_rb,7.3767e-01_rb,5.9020e-01_rb,4.4282e-01_rb, & &2.9609e-01_rb,1.6997e-01_rb,1.0651e-01_rb/) kao(:, 5, 4,13) = (/ & &1.3277e+00_rb,1.1619e+00_rb,9.9598e-01_rb,8.3009e-01_rb,6.6410e-01_rb,4.9823e-01_rb, & &3.3917e-01_rb,2.0392e-01_rb,1.3923e-01_rb/) kao(:, 1, 5,13) = (/ & &1.2769e+00_rb,1.1173e+00_rb,9.5773e-01_rb,7.9808e-01_rb,6.3854e-01_rb,4.7892e-01_rb, & &3.1932e-01_rb,1.5974e-01_rb,3.6366e-02_rb/) kao(:, 2, 5,13) = (/ & &1.5754e+00_rb,1.3783e+00_rb,1.1815e+00_rb,9.8457e-01_rb,7.8769e-01_rb,5.9081e-01_rb, & &3.9400e-01_rb,1.9711e-01_rb,5.2068e-02_rb/) kao(:, 3, 5,13) = (/ & &1.8818e+00_rb,1.6466e+00_rb,1.4114e+00_rb,1.1761e+00_rb,9.4096e-01_rb,7.0577e-01_rb, & &4.7057e-01_rb,2.3659e-01_rb,7.1428e-02_rb/) kao(:, 4, 5,13) = (/ & &2.1862e+00_rb,1.9130e+00_rb,1.6397e+00_rb,1.3666e+00_rb,1.0933e+00_rb,8.2000e-01_rb, & &5.4672e-01_rb,2.8019e-01_rb,9.6282e-02_rb/) kao(:, 5, 5,13) = (/ & &2.4918e+00_rb,2.1806e+00_rb,1.8691e+00_rb,1.5576e+00_rb,1.2460e+00_rb,9.3474e-01_rb, & &6.2322e-01_rb,3.2775e-01_rb,1.2758e-01_rb/) kao(:, 1, 6,13) = (/ & &2.0873e+00_rb,1.8265e+00_rb,1.5654e+00_rb,1.3046e+00_rb,1.0437e+00_rb,7.8276e-01_rb, & &5.2187e-01_rb,2.6100e-01_rb,3.1022e-02_rb/) kao(:, 2, 6,13) = (/ & &2.6230e+00_rb,2.2953e+00_rb,1.9673e+00_rb,1.6394e+00_rb,1.3116e+00_rb,9.8380e-01_rb, & &6.5587e-01_rb,3.2796e-01_rb,4.5564e-02_rb/) kao(:, 3, 6,13) = (/ & &3.1789e+00_rb,2.7816e+00_rb,2.3843e+00_rb,1.9870e+00_rb,1.5894e+00_rb,1.1921e+00_rb, & &7.9481e-01_rb,3.9748e-01_rb,6.4081e-02_rb/) kao(:, 4, 6,13) = (/ & &3.7665e+00_rb,3.2952e+00_rb,2.8247e+00_rb,2.3538e+00_rb,1.8832e+00_rb,1.4124e+00_rb, & &9.4165e-01_rb,4.7095e-01_rb,8.7003e-02_rb/) kao(:, 5, 6,13) = (/ & &4.3632e+00_rb,3.8180e+00_rb,3.2726e+00_rb,2.7273e+00_rb,2.1819e+00_rb,1.6363e+00_rb, & &1.0910e+00_rb,5.4560e-01_rb,1.1609e-01_rb/) kao(:, 1, 7,13) = (/ & &3.5237e+00_rb,3.0834e+00_rb,2.6428e+00_rb,2.2023e+00_rb,1.7619e+00_rb,1.3214e+00_rb, & &8.8102e-01_rb,4.4047e-01_rb,2.5898e-02_rb/) kao(:, 2, 7,13) = (/ & &4.5331e+00_rb,3.9665e+00_rb,3.3999e+00_rb,2.8333e+00_rb,2.2667e+00_rb,1.6999e+00_rb, & &1.1334e+00_rb,5.6671e-01_rb,3.9066e-02_rb/) kao(:, 3, 7,13) = (/ & &5.6378e+00_rb,4.9326e+00_rb,4.2280e+00_rb,3.5234e+00_rb,2.8189e+00_rb,2.1142e+00_rb, & &1.4094e+00_rb,7.0475e-01_rb,5.6679e-02_rb/) kao(:, 4, 7,13) = (/ & &6.8044e+00_rb,5.9541e+00_rb,5.1033e+00_rb,4.2525e+00_rb,3.4021e+00_rb,2.5518e+00_rb, & &1.7012e+00_rb,8.5062e-01_rb,7.8214e-02_rb/) kao(:, 5, 7,13) = (/ & &7.9748e+00_rb,6.9785e+00_rb,5.9814e+00_rb,4.9841e+00_rb,3.9872e+00_rb,2.9906e+00_rb, & &1.9939e+00_rb,9.9695e-01_rb,1.0573e-01_rb/) kao(:, 1, 8,13) = (/ & &7.0539e+00_rb,6.1726e+00_rb,5.2906e+00_rb,4.4088e+00_rb,3.5267e+00_rb,2.6453e+00_rb, & &1.7634e+00_rb,8.8179e-01_rb,2.1249e-02_rb/) kao(:, 2, 8,13) = (/ & &9.3702e+00_rb,8.1985e+00_rb,7.0273e+00_rb,5.8560e+00_rb,4.6849e+00_rb,3.5137e+00_rb, & &2.3424e+00_rb,1.1713e+00_rb,3.3095e-02_rb/) kao(:, 3, 8,13) = (/ & &1.1943e+01_rb,1.0450e+01_rb,8.9569e+00_rb,7.4646e+00_rb,5.9714e+00_rb,4.4785e+00_rb, & &2.9858e+00_rb,1.4929e+00_rb,4.9465e-02_rb/) kao(:, 4, 8,13) = (/ & &1.4646e+01_rb,1.2815e+01_rb,1.0984e+01_rb,9.1536e+00_rb,7.3228e+00_rb,5.4925e+00_rb, & &3.6616e+00_rb,1.8307e+00_rb,7.0099e-02_rb/) kao(:, 5, 8,13) = (/ & &1.7489e+01_rb,1.5303e+01_rb,1.3117e+01_rb,1.0930e+01_rb,8.7446e+00_rb,6.5589e+00_rb, & &4.3724e+00_rb,2.1863e+00_rb,9.5981e-02_rb/) kao(:, 1, 9,13) = (/ & &2.6371e+01_rb,2.3078e+01_rb,1.9780e+01_rb,1.6484e+01_rb,1.3187e+01_rb,9.8900e+00_rb, & &6.5930e+00_rb,3.2967e+00_rb,6.8943e-03_rb/) kao(:, 2, 9,13) = (/ & &3.6211e+01_rb,3.1684e+01_rb,2.7158e+01_rb,2.2631e+01_rb,1.8105e+01_rb,1.3579e+01_rb, & &9.0530e+00_rb,4.5262e+00_rb,1.7485e-02_rb/) kao(:, 3, 9,13) = (/ & &4.7281e+01_rb,4.1374e+01_rb,3.5462e+01_rb,2.9549e+01_rb,2.3642e+01_rb,1.7731e+01_rb, & &1.1820e+01_rb,5.9103e+00_rb,4.0011e-02_rb/) kao(:, 4, 9,13) = (/ & &5.9381e+01_rb,5.1957e+01_rb,4.4537e+01_rb,3.7114e+01_rb,2.9690e+01_rb,2.2267e+01_rb, & &1.4846e+01_rb,7.4229e+00_rb,6.1300e-02_rb/) kao(:, 5, 9,13) = (/ & &7.2474e+01_rb,6.3419e+01_rb,5.4356e+01_rb,4.5296e+01_rb,3.6239e+01_rb,2.7178e+01_rb, & &1.8119e+01_rb,9.0595e+00_rb,8.5682e-02_rb/) kao(:, 1,10,13) = (/ & &1.1184e+02_rb,9.7849e+01_rb,8.3875e+01_rb,6.9894e+01_rb,5.5915e+01_rb,4.1936e+01_rb, & &2.7957e+01_rb,1.3979e+01_rb,1.8093e-05_rb/) kao(:, 2,10,13) = (/ & &1.5816e+02_rb,1.3839e+02_rb,1.1862e+02_rb,9.8846e+01_rb,7.9081e+01_rb,5.9311e+01_rb, & &3.9538e+01_rb,1.9769e+01_rb,2.0368e-03_rb/) kao(:, 3,10,13) = (/ & &2.1176e+02_rb,1.8530e+02_rb,1.5882e+02_rb,1.3236e+02_rb,1.0588e+02_rb,7.9412e+01_rb, & &5.2940e+01_rb,2.6470e+01_rb,1.0379e-02_rb/) kao(:, 4,10,13) = (/ & &2.7234e+02_rb,2.3829e+02_rb,2.0425e+02_rb,1.7021e+02_rb,1.3616e+02_rb,1.0213e+02_rb, & &6.8082e+01_rb,3.4042e+01_rb,8.3550e-03_rb/) kao(:, 5,10,13) = (/ & &3.3838e+02_rb,2.9608e+02_rb,2.5378e+02_rb,2.1148e+02_rb,1.6919e+02_rb,1.2688e+02_rb, & &8.4588e+01_rb,4.2296e+01_rb,2.4237e-02_rb/) kao(:, 1,11,13) = (/ & &1.9607e+02_rb,1.7156e+02_rb,1.4706e+02_rb,1.2254e+02_rb,9.8035e+01_rb,7.3528e+01_rb, & &4.9019e+01_rb,2.4510e+01_rb,1.9563e-05_rb/) kao(:, 2,11,13) = (/ & &2.7783e+02_rb,2.4308e+02_rb,2.0836e+02_rb,1.7363e+02_rb,1.3891e+02_rb,1.0418e+02_rb, & &6.9451e+01_rb,3.4727e+01_rb,2.1737e-05_rb/) kao(:, 3,11,13) = (/ & &3.7392e+02_rb,3.2720e+02_rb,2.8047e+02_rb,2.3371e+02_rb,1.8697e+02_rb,1.4023e+02_rb, & &9.3485e+01_rb,4.6744e+01_rb,2.8098e-05_rb/) kao(:, 4,11,13) = (/ & &4.8258e+02_rb,4.2223e+02_rb,3.6194e+02_rb,3.0162e+02_rb,2.4128e+02_rb,1.8096e+02_rb, & &1.2064e+02_rb,6.0325e+01_rb,6.2823e-03_rb/) kao(:, 5,11,13) = (/ & &6.0149e+02_rb,5.2626e+02_rb,4.5111e+02_rb,3.7591e+02_rb,3.0076e+02_rb,2.2554e+02_rb, & &1.5037e+02_rb,7.5184e+01_rb,1.4409e-02_rb/) kao(:, 1,12,13) = (/ & &2.5475e+02_rb,2.2289e+02_rb,1.9106e+02_rb,1.5923e+02_rb,1.2737e+02_rb,9.5526e+01_rb, & &6.3684e+01_rb,3.1843e+01_rb,2.0642e-05_rb/) kao(:, 2,12,13) = (/ & &3.6233e+02_rb,3.1704e+02_rb,2.7175e+02_rb,2.2647e+02_rb,1.8117e+02_rb,1.3587e+02_rb, & &9.0584e+01_rb,4.5292e+01_rb,3.1983e-05_rb/) kao(:, 3,12,13) = (/ & &4.8916e+02_rb,4.2803e+02_rb,3.6684e+02_rb,3.0571e+02_rb,2.4456e+02_rb,1.8343e+02_rb, & &1.2228e+02_rb,6.1143e+01_rb,4.9821e-05_rb/) kao(:, 4,12,13) = (/ & &6.3314e+02_rb,5.5397e+02_rb,4.7487e+02_rb,3.9571e+02_rb,3.1654e+02_rb,2.3742e+02_rb, & &1.5828e+02_rb,7.9139e+01_rb,7.0156e-05_rb/) kao(:, 5,12,13) = (/ & &7.9128e+02_rb,6.9231e+02_rb,5.9347e+02_rb,4.9456e+02_rb,3.9565e+02_rb,2.9675e+02_rb, & &1.9782e+02_rb,9.8911e+01_rb,2.0440e-02_rb/) kao(:, 1,13,13) = (/ & &2.6423e+02_rb,2.3120e+02_rb,1.9817e+02_rb,1.6514e+02_rb,1.3211e+02_rb,9.9077e+01_rb, & &6.6055e+01_rb,3.3026e+01_rb,2.0316e-05_rb/) kao(:, 2,13,13) = (/ & &3.7762e+02_rb,3.3041e+02_rb,2.8322e+02_rb,2.3600e+02_rb,1.8882e+02_rb,1.4161e+02_rb, & &9.4405e+01_rb,4.7199e+01_rb,3.9220e-05_rb/) kao(:, 3,13,13) = (/ & &5.1221e+02_rb,4.4817e+02_rb,3.8414e+02_rb,3.2014e+02_rb,2.5611e+02_rb,1.9208e+02_rb, & &1.2806e+02_rb,6.4027e+01_rb,5.9611e-05_rb/) kao(:, 4,13,13) = (/ & &6.6615e+02_rb,5.8290e+02_rb,4.9961e+02_rb,4.1636e+02_rb,3.3309e+02_rb,2.4982e+02_rb, & &1.6655e+02_rb,8.3275e+01_rb,8.3600e-05_rb/) kao(:, 5,13,13) = (/ & &8.3847e+02_rb,7.3367e+02_rb,6.2884e+02_rb,5.2405e+02_rb,4.1925e+02_rb,3.1441e+02_rb, & &2.0962e+02_rb,1.0481e+02_rb,8.6814e-03_rb/) kao(:, 1, 1,14) = (/ & &1.4546e-01_rb,1.2729e-01_rb,1.0913e-01_rb,9.0969e-02_rb,7.2816e-02_rb,6.3783e-02_rb, & &5.7732e-02_rb,5.8710e-02_rb,8.0301e-02_rb/) kao(:, 2, 1,14) = (/ & &1.6927e-01_rb,1.4814e-01_rb,1.2702e-01_rb,1.0589e-01_rb,8.6710e-02_rb,8.1091e-02_rb, & &8.1369e-02_rb,8.2706e-02_rb,1.1649e-01_rb/) kao(:, 3, 1,14) = (/ & &1.9294e-01_rb,1.6889e-01_rb,1.4479e-01_rb,1.2072e-01_rb,1.0647e-01_rb,1.0625e-01_rb, & &1.1521e-01_rb,1.1490e-01_rb,1.6620e-01_rb/) kao(:, 4, 1,14) = (/ & &2.1639e-01_rb,1.8940e-01_rb,1.6240e-01_rb,1.3541e-01_rb,1.3447e-01_rb,1.4239e-01_rb, & &1.5920e-01_rb,1.5808e-01_rb,2.2919e-01_rb/) kao(:, 5, 1,14) = (/ & &2.3882e-01_rb,2.0905e-01_rb,1.7929e-01_rb,1.5673e-01_rb,1.6730e-01_rb,1.8853e-01_rb, & &2.1227e-01_rb,2.1249e-01_rb,3.0359e-01_rb/) kao(:, 1, 2,14) = (/ & &2.2939e-01_rb,2.0073e-01_rb,1.7206e-01_rb,1.4339e-01_rb,1.1475e-01_rb,8.6951e-02_rb, & &7.2184e-02_rb,6.3155e-02_rb,8.0463e-02_rb/) kao(:, 2, 2,14) = (/ & &2.6931e-01_rb,2.3569e-01_rb,2.0200e-01_rb,1.6840e-01_rb,1.3475e-01_rb,1.0880e-01_rb, & &9.2729e-02_rb,8.6720e-02_rb,1.1351e-01_rb/) kao(:, 3, 2,14) = (/ & &3.0958e-01_rb,2.7100e-01_rb,2.3236e-01_rb,1.9370e-01_rb,1.5506e-01_rb,1.3547e-01_rb, & &1.2355e-01_rb,1.2394e-01_rb,1.6330e-01_rb/) kao(:, 4, 2,14) = (/ & &3.5073e-01_rb,3.0694e-01_rb,2.6319e-01_rb,2.1943e-01_rb,1.7928e-01_rb,1.7126e-01_rb, & &1.6643e-01_rb,1.7360e-01_rb,2.2783e-01_rb/) kao(:, 5, 2,14) = (/ & &3.9134e-01_rb,3.4248e-01_rb,2.9368e-01_rb,2.4496e-01_rb,2.1593e-01_rb,2.1367e-01_rb, & &2.2253e-01_rb,2.3537e-01_rb,3.0544e-01_rb/) kao(:, 1, 3,14) = (/ & &4.7010e-01_rb,4.1135e-01_rb,3.5261e-01_rb,2.9387e-01_rb,2.3512e-01_rb,1.7638e-01_rb, & &1.1764e-01_rb,7.8616e-02_rb,7.6241e-02_rb/) kao(:, 2, 3,14) = (/ & &5.6247e-01_rb,4.9221e-01_rb,4.2195e-01_rb,3.5165e-01_rb,2.8136e-01_rb,2.1111e-01_rb, & &1.4480e-01_rb,1.0039e-01_rb,1.0523e-01_rb/) kao(:, 3, 3,14) = (/ & &6.5749e-01_rb,5.7537e-01_rb,4.9319e-01_rb,4.1105e-01_rb,3.2895e-01_rb,2.4684e-01_rb, & &1.7889e-01_rb,1.3157e-01_rb,1.4752e-01_rb/) kao(:, 4, 3,14) = (/ & &7.5292e-01_rb,6.5895e-01_rb,5.6476e-01_rb,4.7081e-01_rb,3.7678e-01_rb,2.8272e-01_rb, & &2.2206e-01_rb,1.7756e-01_rb,2.0769e-01_rb/) kao(:, 5, 3,14) = (/ & &8.4721e-01_rb,7.4147e-01_rb,6.3570e-01_rb,5.2989e-01_rb,4.2402e-01_rb,3.2414e-01_rb, & &2.7831e-01_rb,2.3784e-01_rb,2.8406e-01_rb/) kao(:, 1, 4,14) = (/ & &9.7171e-01_rb,8.5020e-01_rb,7.2877e-01_rb,6.0734e-01_rb,4.8590e-01_rb,3.6445e-01_rb, & &2.4301e-01_rb,1.2213e-01_rb,6.9724e-02_rb/) kao(:, 2, 4,14) = (/ & &1.1819e+00_rb,1.0342e+00_rb,8.8647e-01_rb,7.3863e-01_rb,5.9101e-01_rb,4.4338e-01_rb, & &2.9560e-01_rb,1.5522e-01_rb,9.6103e-02_rb/) kao(:, 3, 4,14) = (/ & &1.3997e+00_rb,1.2249e+00_rb,1.0500e+00_rb,8.7515e-01_rb,7.0004e-01_rb,5.2502e-01_rb, & &3.5022e-01_rb,1.9543e-01_rb,1.3302e-01_rb/) kao(:, 4, 4,14) = (/ & &1.6223e+00_rb,1.4197e+00_rb,1.2167e+00_rb,1.0141e+00_rb,8.1148e-01_rb,6.0893e-01_rb, & &4.0620e-01_rb,2.4484e-01_rb,1.8472e-01_rb/) kao(:, 5, 4,14) = (/ & &1.8526e+00_rb,1.6213e+00_rb,1.3899e+00_rb,1.1585e+00_rb,9.2711e-01_rb,6.9563e-01_rb, & &4.6462e-01_rb,3.0719e-01_rb,2.5304e-01_rb/) kao(:, 1, 5,14) = (/ & &1.8192e+00_rb,1.5916e+00_rb,1.3645e+00_rb,1.1369e+00_rb,9.0965e-01_rb,6.8222e-01_rb, & &4.5478e-01_rb,2.2743e-01_rb,6.1385e-02_rb/) kao(:, 2, 5,14) = (/ & &2.2491e+00_rb,1.9677e+00_rb,1.6869e+00_rb,1.4056e+00_rb,1.1246e+00_rb,8.4332e-01_rb, & &5.6233e-01_rb,2.8119e-01_rb,8.6006e-02_rb/) kao(:, 3, 5,14) = (/ & &2.7102e+00_rb,2.3722e+00_rb,2.0328e+00_rb,1.6939e+00_rb,1.3553e+00_rb,1.0165e+00_rb, & &6.7791e-01_rb,3.3919e-01_rb,1.2062e-01_rb/) kao(:, 4, 5,14) = (/ & &3.1976e+00_rb,2.7982e+00_rb,2.3984e+00_rb,1.9988e+00_rb,1.5996e+00_rb,1.1997e+00_rb, & &8.0003e-01_rb,4.0180e-01_rb,1.6649e-01_rb/) kao(:, 5, 5,14) = (/ & &3.6973e+00_rb,3.2349e+00_rb,2.7730e+00_rb,2.3110e+00_rb,1.8489e+00_rb,1.3873e+00_rb, & &9.2506e-01_rb,4.7326e-01_rb,2.2654e-01_rb/) kao(:, 1, 6,14) = (/ & &3.1019e+00_rb,2.7140e+00_rb,2.3265e+00_rb,1.9387e+00_rb,1.5510e+00_rb,1.1633e+00_rb, & &7.7552e-01_rb,3.8777e-01_rb,5.2928e-02_rb/) kao(:, 2, 6,14) = (/ & &3.9302e+00_rb,3.4386e+00_rb,2.9473e+00_rb,2.4561e+00_rb,1.9652e+00_rb,1.4738e+00_rb, & &9.8267e-01_rb,4.9148e-01_rb,7.5058e-02_rb/) kao(:, 3, 6,14) = (/ & &4.8343e+00_rb,4.2298e+00_rb,3.6258e+00_rb,3.0217e+00_rb,2.4174e+00_rb,1.8133e+00_rb, & &1.2090e+00_rb,6.0467e-01_rb,1.0698e-01_rb/) kao(:, 4, 6,14) = (/ & &5.7912e+00_rb,5.0677e+00_rb,4.3433e+00_rb,3.6195e+00_rb,2.8961e+00_rb,2.1723e+00_rb, & &1.4483e+00_rb,7.2440e-01_rb,1.4901e-01_rb/) kao(:, 5, 6,14) = (/ & &6.7811e+00_rb,5.9338e+00_rb,5.0864e+00_rb,4.2388e+00_rb,3.3910e+00_rb,2.5430e+00_rb, & &1.6957e+00_rb,8.4831e-01_rb,2.0161e-01_rb/) kao(:, 1, 7,14) = (/ & &5.4638e+00_rb,4.7799e+00_rb,4.0972e+00_rb,3.4147e+00_rb,2.7314e+00_rb,2.0488e+00_rb, & &1.3659e+00_rb,6.8294e-01_rb,4.5673e-02_rb/) kao(:, 2, 7,14) = (/ & &7.1063e+00_rb,6.2177e+00_rb,5.3292e+00_rb,4.4410e+00_rb,3.5530e+00_rb,2.6647e+00_rb, & &1.7765e+00_rb,8.8835e-01_rb,6.5608e-02_rb/) kao(:, 3, 7,14) = (/ & &8.9165e+00_rb,7.8008e+00_rb,6.6867e+00_rb,5.5727e+00_rb,4.4582e+00_rb,3.3435e+00_rb, & &2.2293e+00_rb,1.1147e+00_rb,9.3558e-02_rb/) kao(:, 4, 7,14) = (/ & &1.0858e+01_rb,9.5015e+00_rb,8.1441e+00_rb,6.7868e+00_rb,5.4291e+00_rb,4.0729e+00_rb, & &2.7150e+00_rb,1.3577e+00_rb,1.3310e-01_rb/) kao(:, 5, 7,14) = (/ & &1.2930e+01_rb,1.1317e+01_rb,9.6983e+00_rb,8.0819e+00_rb,6.4667e+00_rb,4.8496e+00_rb, & &3.2333e+00_rb,1.6168e+00_rb,1.8236e-01_rb/) kao(:, 1, 8,14) = (/ & &1.1346e+01_rb,9.9283e+00_rb,8.5084e+00_rb,7.0912e+00_rb,5.6732e+00_rb,4.2544e+00_rb, & &2.8362e+00_rb,1.4181e+00_rb,3.9157e-02_rb/) kao(:, 2, 8,14) = (/ & &1.5150e+01_rb,1.3257e+01_rb,1.1363e+01_rb,9.4692e+00_rb,7.5753e+00_rb,5.6816e+00_rb, & &3.7878e+00_rb,1.8940e+00_rb,5.7302e-02_rb/) kao(:, 3, 8,14) = (/ & &1.9415e+01_rb,1.6989e+01_rb,1.4562e+01_rb,1.2134e+01_rb,9.7069e+00_rb,7.2806e+00_rb, & &4.8539e+00_rb,2.4270e+00_rb,8.2333e-02_rb/) kao(:, 4, 8,14) = (/ & &2.4092e+01_rb,2.1079e+01_rb,1.8070e+01_rb,1.5059e+01_rb,1.2046e+01_rb,9.0355e+00_rb, & &6.0239e+00_rb,3.0117e+00_rb,1.1787e-01_rb/) kao(:, 5, 8,14) = (/ & &2.9062e+01_rb,2.5429e+01_rb,2.1796e+01_rb,1.8164e+01_rb,1.4531e+01_rb,1.0899e+01_rb, & &7.2663e+00_rb,3.6329e+00_rb,1.6482e-01_rb/) kao(:, 1, 9,14) = (/ & &4.3556e+01_rb,3.8120e+01_rb,3.2674e+01_rb,2.7224e+01_rb,2.1783e+01_rb,1.6334e+01_rb, & &1.0888e+01_rb,5.4440e+00_rb,2.2652e-02_rb/) kao(:, 2, 9,14) = (/ & &5.9826e+01_rb,5.2350e+01_rb,4.4870e+01_rb,3.7394e+01_rb,2.9916e+01_rb,2.2436e+01_rb, & &1.4957e+01_rb,7.4785e+00_rb,4.6893e-02_rb/) kao(:, 3, 9,14) = (/ & &7.8381e+01_rb,6.8585e+01_rb,5.8789e+01_rb,4.8993e+01_rb,3.9194e+01_rb,2.9396e+01_rb, & &1.9597e+01_rb,9.7990e+00_rb,7.2210e-02_rb/) kao(:, 4, 9,14) = (/ & &9.9048e+01_rb,8.6676e+01_rb,7.4294e+01_rb,6.1915e+01_rb,4.9526e+01_rb,3.7147e+01_rb, & &2.4767e+01_rb,1.2383e+01_rb,1.0452e-01_rb/) kao(:, 5, 9,14) = (/ & &1.2130e+02_rb,1.0614e+02_rb,9.0980e+01_rb,7.5818e+01_rb,6.0656e+01_rb,4.5493e+01_rb, & &3.0327e+01_rb,1.5163e+01_rb,1.4798e-01_rb/) kao(:, 1,10,14) = (/ & &1.8821e+02_rb,1.6469e+02_rb,1.4116e+02_rb,1.1763e+02_rb,9.4105e+01_rb,7.0580e+01_rb, & &4.7054e+01_rb,2.3527e+01_rb,9.8284e-06_rb/) kao(:, 2,10,14) = (/ & &2.6476e+02_rb,2.3166e+02_rb,1.9858e+02_rb,1.6548e+02_rb,1.3239e+02_rb,9.9294e+01_rb, & &6.6189e+01_rb,3.3094e+01_rb,1.2967e-05_rb/) kao(:, 3,10,14) = (/ & &3.5496e+02_rb,3.1059e+02_rb,2.6621e+02_rb,2.2185e+02_rb,1.7748e+02_rb,1.3310e+02_rb, & &8.8736e+01_rb,4.4370e+01_rb,2.4344e-02_rb/) kao(:, 4,10,14) = (/ & &4.5706e+02_rb,3.9992e+02_rb,3.4280e+02_rb,2.8566e+02_rb,2.2852e+02_rb,1.7137e+02_rb, & &1.1427e+02_rb,5.7136e+01_rb,2.2864e-02_rb/) kao(:, 5,10,14) = (/ & &5.6918e+02_rb,4.9801e+02_rb,4.2687e+02_rb,3.5573e+02_rb,2.8459e+02_rb,2.1346e+02_rb, & &1.4231e+02_rb,7.1148e+01_rb,3.1037e-02_rb/) kao(:, 1,11,14) = (/ & &3.3285e+02_rb,2.9123e+02_rb,2.4962e+02_rb,2.0803e+02_rb,1.6643e+02_rb,1.2482e+02_rb, & &8.3209e+01_rb,4.1605e+01_rb,7.6787e-06_rb/) kao(:, 2,11,14) = (/ & &4.7091e+02_rb,4.1207e+02_rb,3.5320e+02_rb,2.9434e+02_rb,2.3549e+02_rb,1.7660e+02_rb, & &1.1774e+02_rb,5.8871e+01_rb,1.2053e-05_rb/) kao(:, 3,11,14) = (/ & &6.3434e+02_rb,5.5505e+02_rb,4.7579e+02_rb,3.9648e+02_rb,3.1719e+02_rb,2.3787e+02_rb, & &1.5859e+02_rb,7.9298e+01_rb,1.7979e-05_rb/) kao(:, 4,11,14) = (/ & &8.2080e+02_rb,7.1819e+02_rb,6.1562e+02_rb,5.1300e+02_rb,4.1039e+02_rb,3.0781e+02_rb, & &2.0518e+02_rb,1.0261e+02_rb,2.6043e-05_rb/) kao(:, 5,11,14) = (/ & &1.0279e+03_rb,8.9936e+02_rb,7.7089e+02_rb,6.4243e+02_rb,5.1399e+02_rb,3.8545e+02_rb, & &2.5700e+02_rb,1.2849e+02_rb,3.6811e-02_rb/) kao(:, 1,12,14) = (/ & &4.4072e+02_rb,3.8565e+02_rb,3.3056e+02_rb,2.7546e+02_rb,2.2036e+02_rb,1.6527e+02_rb, & &1.1018e+02_rb,5.5100e+01_rb,6.3836e-06_rb/) kao(:, 2,12,14) = (/ & &6.2804e+02_rb,5.4949e+02_rb,4.7103e+02_rb,3.9252e+02_rb,3.1400e+02_rb,2.3550e+02_rb, & &1.5700e+02_rb,7.8501e+01_rb,1.0354e-05_rb/) kao(:, 3,12,14) = (/ & &8.4964e+02_rb,7.4346e+02_rb,6.3726e+02_rb,5.3106e+02_rb,4.2484e+02_rb,3.1862e+02_rb, & &2.1241e+02_rb,1.0621e+02_rb,1.6673e-05_rb/) kao(:, 4,12,14) = (/ & &1.1033e+03_rb,9.6532e+02_rb,8.2745e+02_rb,6.8953e+02_rb,5.5162e+02_rb,4.1376e+02_rb, & &2.7582e+02_rb,1.3790e+02_rb,2.5500e-05_rb/) kao(:, 5,12,14) = (/ & &1.3847e+03_rb,1.2117e+03_rb,1.0386e+03_rb,8.6544e+02_rb,6.9241e+02_rb,5.1925e+02_rb, & &3.4620e+02_rb,1.7310e+02_rb,3.8579e-05_rb/) kao(:, 1,13,14) = (/ & &4.7310e+02_rb,4.1397e+02_rb,3.5483e+02_rb,2.9569e+02_rb,2.3655e+02_rb,1.7741e+02_rb, & &1.1827e+02_rb,5.9135e+01_rb,7.3062e-06_rb/) kao(:, 2,13,14) = (/ & &6.7569e+02_rb,5.9130e+02_rb,5.0679e+02_rb,4.2232e+02_rb,3.3786e+02_rb,2.5340e+02_rb, & &1.6892e+02_rb,8.4465e+01_rb,8.6740e-06_rb/) kao(:, 3,13,14) = (/ & &9.1788e+02_rb,8.0315e+02_rb,6.8841e+02_rb,5.7369e+02_rb,4.5893e+02_rb,3.4424e+02_rb, & &2.2946e+02_rb,1.1474e+02_rb,1.3663e-05_rb/) kao(:, 4,13,14) = (/ & &1.1975e+03_rb,1.0479e+03_rb,8.9816e+02_rb,7.4843e+02_rb,5.9874e+02_rb,4.4905e+02_rb, & &2.9938e+02_rb,1.4969e+02_rb,2.1412e-05_rb/) kao(:, 5,13,14) = (/ & &1.5101e+03_rb,1.3214e+03_rb,1.1326e+03_rb,9.4376e+02_rb,7.5504e+02_rb,5.6626e+02_rb, & &3.7752e+02_rb,1.8876e+02_rb,3.3615e-05_rb/) kao(:, 1, 1,15) = (/ & &1.9051e-01_rb,1.6674e-01_rb,1.4292e-01_rb,1.1918e-01_rb,9.5396e-02_rb,7.5613e-02_rb, & &8.0457e-02_rb,7.8890e-02_rb,1.1694e-01_rb/) kao(:, 2, 1,15) = (/ & &2.2168e-01_rb,1.9400e-01_rb,1.6634e-01_rb,1.3865e-01_rb,1.1100e-01_rb,1.0009e-01_rb, & &1.1113e-01_rb,1.0913e-01_rb,1.6166e-01_rb/) kao(:, 3, 1,15) = (/ & &2.5284e-01_rb,2.2130e-01_rb,1.8975e-01_rb,1.5816e-01_rb,1.2778e-01_rb,1.3319e-01_rb, & &1.4805e-01_rb,1.4559e-01_rb,2.1625e-01_rb/) kao(:, 4, 1,15) = (/ & &2.8343e-01_rb,2.4807e-01_rb,2.1270e-01_rb,1.7731e-01_rb,1.5213e-01_rb,1.7480e-01_rb, & &1.9314e-01_rb,1.8830e-01_rb,2.8691e-01_rb/) kao(:, 5, 1,15) = (/ & &3.1350e-01_rb,2.7439e-01_rb,2.3527e-01_rb,1.9622e-01_rb,1.9594e-01_rb,2.3135e-01_rb, & &2.5307e-01_rb,2.4156e-01_rb,3.8082e-01_rb/) kao(:, 1, 2,15) = (/ & &3.2111e-01_rb,2.8102e-01_rb,2.4090e-01_rb,2.0079e-01_rb,1.6069e-01_rb,1.2054e-01_rb, & &9.0034e-02_rb,8.9831e-02_rb,1.2243e-01_rb/) kao(:, 2, 2,15) = (/ & &3.7636e-01_rb,3.2926e-01_rb,2.8226e-01_rb,2.3534e-01_rb,1.8831e-01_rb,1.4126e-01_rb, & &1.2281e-01_rb,1.2620e-01_rb,1.7187e-01_rb/) kao(:, 3, 2,15) = (/ & &4.3275e-01_rb,3.7860e-01_rb,3.2463e-01_rb,2.7055e-01_rb,2.1650e-01_rb,1.6706e-01_rb, & &1.6578e-01_rb,1.7060e-01_rb,2.3384e-01_rb/) kao(:, 4, 2,15) = (/ & &4.8952e-01_rb,4.2824e-01_rb,3.6725e-01_rb,3.0597e-01_rb,2.4488e-01_rb,2.0300e-01_rb, & &2.2012e-01_rb,2.2396e-01_rb,3.1375e-01_rb/) kao(:, 5, 2,15) = (/ & &5.4581e-01_rb,4.7748e-01_rb,4.0943e-01_rb,3.4119e-01_rb,2.7312e-01_rb,2.6005e-01_rb, & &2.9166e-01_rb,2.9212e-01_rb,4.1866e-01_rb/) kao(:, 1, 3,15) = (/ & &6.9979e-01_rb,6.1213e-01_rb,5.2483e-01_rb,4.3719e-01_rb,3.4984e-01_rb,2.6243e-01_rb, & &1.7501e-01_rb,9.9676e-02_rb,1.1688e-01_rb/) kao(:, 2, 3,15) = (/ & &8.3387e-01_rb,7.2959e-01_rb,6.2545e-01_rb,5.2112e-01_rb,4.1694e-01_rb,3.1278e-01_rb, & &2.0862e-01_rb,1.3660e-01_rb,1.6827e-01_rb/) kao(:, 3, 3,15) = (/ & &9.7266e-01_rb,8.5098e-01_rb,7.2958e-01_rb,6.0802e-01_rb,4.8655e-01_rb,3.6492e-01_rb, & &2.4335e-01_rb,1.8790e-01_rb,2.3450e-01_rb/) kao(:, 4, 3,15) = (/ & &1.1134e+00_rb,9.7421e-01_rb,8.3530e-01_rb,6.9606e-01_rb,5.5697e-01_rb,4.1779e-01_rb, & &2.8251e-01_rb,2.5378e-01_rb,3.2011e-01_rb/) kao(:, 5, 3,15) = (/ & &1.2541e+00_rb,1.0974e+00_rb,9.4084e-01_rb,7.8396e-01_rb,6.2738e-01_rb,4.7061e-01_rb, & &3.3812e-01_rb,3.3805e-01_rb,4.3341e-01_rb/) kao(:, 1, 4,15) = (/ & &1.5338e+00_rb,1.3422e+00_rb,1.1503e+00_rb,9.5870e-01_rb,7.6686e-01_rb,5.7527e-01_rb, & &3.8351e-01_rb,1.9180e-01_rb,1.0723e-01_rb/) kao(:, 2, 4,15) = (/ & &1.8631e+00_rb,1.6302e+00_rb,1.3974e+00_rb,1.1644e+00_rb,9.3180e-01_rb,6.9872e-01_rb, & &4.6589e-01_rb,2.3301e-01_rb,1.5610e-01_rb/) kao(:, 3, 4,15) = (/ & &2.2077e+00_rb,1.9315e+00_rb,1.6557e+00_rb,1.3803e+00_rb,1.1039e+00_rb,8.2801e-01_rb, & &5.5191e-01_rb,2.7612e-01_rb,2.2377e-01_rb/) kao(:, 4, 4,15) = (/ & &2.5609e+00_rb,2.2407e+00_rb,1.9209e+00_rb,1.6005e+00_rb,1.2804e+00_rb,9.6050e-01_rb, & &6.4039e-01_rb,3.2615e-01_rb,3.1195e-01_rb/) kao(:, 5, 4,15) = (/ & &2.9154e+00_rb,2.5514e+00_rb,2.1867e+00_rb,1.8223e+00_rb,1.4581e+00_rb,1.0937e+00_rb, & &7.2913e-01_rb,3.9607e-01_rb,4.2846e-01_rb/) kao(:, 1, 5,15) = (/ & &3.0736e+00_rb,2.6896e+00_rb,2.3057e+00_rb,1.9212e+00_rb,1.5370e+00_rb,1.1527e+00_rb, & &7.6854e-01_rb,3.8431e-01_rb,1.0147e-01_rb/) kao(:, 2, 5,15) = (/ & &3.8075e+00_rb,3.3314e+00_rb,2.8555e+00_rb,2.3797e+00_rb,1.9037e+00_rb,1.4279e+00_rb, & &9.5192e-01_rb,4.7599e-01_rb,1.4471e-01_rb/) kao(:, 3, 5,15) = (/ & &4.5849e+00_rb,4.0117e+00_rb,3.4370e+00_rb,2.8652e+00_rb,2.2919e+00_rb,1.7190e+00_rb, & &1.1462e+00_rb,5.7315e-01_rb,2.0749e-01_rb/) kao(:, 4, 5,15) = (/ & &5.3872e+00_rb,4.7143e+00_rb,4.0418e+00_rb,3.3672e+00_rb,2.6939e+00_rb,2.0205e+00_rb, & &1.3469e+00_rb,6.7361e-01_rb,2.9614e-01_rb/) kao(:, 5, 5,15) = (/ & &6.2028e+00_rb,5.4263e+00_rb,4.6517e+00_rb,3.8766e+00_rb,3.1014e+00_rb,2.3260e+00_rb, & &1.5507e+00_rb,7.7527e-01_rb,4.1447e-01_rb/) kao(:, 1, 6,15) = (/ & &5.6666e+00_rb,4.9583e+00_rb,4.2496e+00_rb,3.5417e+00_rb,2.8332e+00_rb,2.1246e+00_rb, & &1.4165e+00_rb,7.0837e-01_rb,9.5689e-02_rb/) kao(:, 2, 6,15) = (/ & &7.1702e+00_rb,6.2735e+00_rb,5.3788e+00_rb,4.4810e+00_rb,3.5859e+00_rb,2.6888e+00_rb, & &1.7925e+00_rb,8.9634e-01_rb,1.3582e-01_rb/) kao(:, 3, 6,15) = (/ & &8.7850e+00_rb,7.6873e+00_rb,6.5880e+00_rb,5.4902e+00_rb,4.3923e+00_rb,3.2943e+00_rb, & &2.1960e+00_rb,1.0981e+00_rb,1.9014e-01_rb/) kao(:, 4, 6,15) = (/ & &1.0471e+01_rb,9.1623e+00_rb,7.8537e+00_rb,6.5443e+00_rb,5.2362e+00_rb,3.9265e+00_rb, & &2.6173e+00_rb,1.3091e+00_rb,2.7084e-01_rb/) kao(:, 5, 6,15) = (/ & &1.2195e+01_rb,1.0670e+01_rb,9.1465e+00_rb,7.6219e+00_rb,6.0976e+00_rb,4.5729e+00_rb, & &3.0483e+00_rb,1.5247e+00_rb,3.8788e-01_rb/) kao(:, 1, 7,15) = (/ & &1.0821e+01_rb,9.4694e+00_rb,8.1159e+00_rb,6.7641e+00_rb,5.4109e+00_rb,4.0578e+00_rb, & &2.7049e+00_rb,1.3527e+00_rb,8.8090e-02_rb/) kao(:, 2, 7,15) = (/ & &1.4005e+01_rb,1.2256e+01_rb,1.0505e+01_rb,8.7544e+00_rb,7.0039e+00_rb,5.2527e+00_rb, & &3.5019e+00_rb,1.7510e+00_rb,1.2836e-01_rb/) kao(:, 3, 7,15) = (/ & &1.7472e+01_rb,1.5288e+01_rb,1.3104e+01_rb,1.0920e+01_rb,8.7370e+00_rb,6.5526e+00_rb, & &4.3682e+00_rb,2.1842e+00_rb,1.7912e-01_rb/) kao(:, 4, 7,15) = (/ & &2.1133e+01_rb,1.8491e+01_rb,1.5850e+01_rb,1.3209e+01_rb,1.0568e+01_rb,7.9265e+00_rb, & &5.2835e+00_rb,2.6416e+00_rb,2.4968e-01_rb/) kao(:, 5, 7,15) = (/ & &2.4946e+01_rb,2.1829e+01_rb,1.8712e+01_rb,1.5594e+01_rb,1.2475e+01_rb,9.3563e+00_rb, & &6.2369e+00_rb,3.1183e+00_rb,3.5418e-01_rb/) kao(:, 1, 8,15) = (/ & &2.4402e+01_rb,2.1362e+01_rb,1.8302e+01_rb,1.5253e+01_rb,1.2203e+01_rb,9.1488e+00_rb, & &6.1012e+00_rb,3.0503e+00_rb,8.0172e-02_rb/) kao(:, 2, 8,15) = (/ & &3.2338e+01_rb,2.8299e+01_rb,2.4254e+01_rb,2.0211e+01_rb,1.6168e+01_rb,1.2127e+01_rb, & &8.0850e+00_rb,4.0423e+00_rb,1.1917e-01_rb/) kao(:, 3, 8,15) = (/ & &4.1117e+01_rb,3.5977e+01_rb,3.0837e+01_rb,2.5703e+01_rb,2.0563e+01_rb,1.5418e+01_rb, & &1.0280e+01_rb,5.1397e+00_rb,1.6937e-01_rb/) kao(:, 4, 8,15) = (/ & &5.0705e+01_rb,4.4368e+01_rb,3.8026e+01_rb,3.1698e+01_rb,2.5350e+01_rb,1.9014e+01_rb, & &1.2673e+01_rb,6.3384e+00_rb,2.3470e-01_rb/) kao(:, 5, 8,15) = (/ & &6.0900e+01_rb,5.3282e+01_rb,4.5673e+01_rb,3.8064e+01_rb,3.0449e+01_rb,2.2835e+01_rb, & &1.5224e+01_rb,7.6126e+00_rb,3.2704e-01_rb/) kao(:, 1, 9,15) = (/ & &1.0170e+02_rb,8.8996e+01_rb,7.6286e+01_rb,6.3569e+01_rb,5.0854e+01_rb,3.8145e+01_rb, & &2.5429e+01_rb,1.2713e+01_rb,7.1359e-02_rb/) kao(:, 2, 9,15) = (/ & &1.3845e+02_rb,1.2114e+02_rb,1.0384e+02_rb,8.6532e+01_rb,6.9224e+01_rb,5.1921e+01_rb, & &3.4611e+01_rb,1.7307e+01_rb,1.0767e-01_rb/) kao(:, 3, 9,15) = (/ & &1.8073e+02_rb,1.5810e+02_rb,1.3551e+02_rb,1.1293e+02_rb,9.0345e+01_rb,6.7755e+01_rb, & &4.5176e+01_rb,2.2583e+01_rb,1.5849e-01_rb/) kao(:, 4, 9,15) = (/ & &2.2745e+02_rb,1.9903e+02_rb,1.7061e+02_rb,1.4217e+02_rb,1.1373e+02_rb,8.5301e+01_rb, & &5.6875e+01_rb,2.8433e+01_rb,2.2030e-01_rb/) kao(:, 5, 9,15) = (/ & &2.7773e+02_rb,2.4298e+02_rb,2.0829e+02_rb,1.7358e+02_rb,1.3886e+02_rb,1.0414e+02_rb, & &6.9430e+01_rb,3.4715e+01_rb,3.0575e-01_rb/) kao(:, 1,10,15) = (/ & &4.7674e+02_rb,4.1715e+02_rb,3.5753e+02_rb,2.9794e+02_rb,2.3835e+02_rb,1.7878e+02_rb, & &1.1918e+02_rb,5.9592e+01_rb,7.9888e-06_rb/) kao(:, 2,10,15) = (/ & &6.6856e+02_rb,5.8521e+02_rb,5.0164e+02_rb,4.1786e+02_rb,3.3435e+02_rb,2.5071e+02_rb, & &1.6719e+02_rb,8.3597e+01_rb,1.0572e-05_rb/) kao(:, 3,10,15) = (/ & &8.9281e+02_rb,7.8118e+02_rb,6.6956e+02_rb,5.5797e+02_rb,4.4639e+02_rb,3.3479e+02_rb, & &2.2318e+02_rb,1.1160e+02_rb,1.3235e-05_rb/) kao(:, 4,10,15) = (/ & &1.1439e+03_rb,1.0009e+03_rb,8.5793e+02_rb,7.1497e+02_rb,5.7192e+02_rb,4.2885e+02_rb, & &2.8596e+02_rb,1.4299e+02_rb,7.9928e-02_rb/) kao(:, 5,10,15) = (/ & &1.4160e+03_rb,1.2390e+03_rb,1.0620e+03_rb,8.8492e+02_rb,7.0798e+02_rb,5.3098e+02_rb, & &3.5397e+02_rb,1.7699e+02_rb,2.0557e-01_rb/) kao(:, 1,11,15) = (/ & &9.1777e+02_rb,8.0296e+02_rb,6.8835e+02_rb,5.7354e+02_rb,4.5882e+02_rb,3.4414e+02_rb, & &2.2941e+02_rb,1.1472e+02_rb,9.0079e-06_rb/) kao(:, 2,11,15) = (/ & &1.2897e+03_rb,1.1284e+03_rb,9.6718e+02_rb,8.0605e+02_rb,6.4484e+02_rb,4.8368e+02_rb, & &3.2242e+02_rb,1.6120e+02_rb,1.0534e-05_rb/) kao(:, 3,11,15) = (/ & &1.7217e+03_rb,1.5064e+03_rb,1.2912e+03_rb,1.0761e+03_rb,8.6072e+02_rb,6.4564e+02_rb, & &4.3042e+02_rb,2.1520e+02_rb,1.2890e-05_rb/) kao(:, 4,11,15) = (/ & &2.2030e+03_rb,1.9276e+03_rb,1.6522e+03_rb,1.3769e+03_rb,1.1015e+03_rb,8.2614e+02_rb, & &5.5075e+02_rb,2.7537e+02_rb,1.8773e-05_rb/) kao(:, 5,11,15) = (/ & &2.7288e+03_rb,2.3877e+03_rb,2.0468e+03_rb,1.7056e+03_rb,1.3645e+03_rb,1.0232e+03_rb, & &6.8218e+02_rb,3.4109e+02_rb,2.8192e-05_rb/) kao(:, 1,12,15) = (/ & &1.3049e+03_rb,1.1418e+03_rb,9.7855e+02_rb,8.1546e+02_rb,6.5249e+02_rb,4.8934e+02_rb, & &3.2625e+02_rb,1.6311e+02_rb,7.4201e-06_rb/) kao(:, 2,12,15) = (/ & &1.8314e+03_rb,1.6024e+03_rb,1.3735e+03_rb,1.1446e+03_rb,9.1569e+02_rb,6.8677e+02_rb, & &4.5789e+02_rb,2.2893e+02_rb,9.0712e-06_rb/) kao(:, 3,12,15) = (/ & &2.4447e+03_rb,2.1390e+03_rb,1.8335e+03_rb,1.5279e+03_rb,1.2222e+03_rb,9.1674e+02_rb, & &6.1121e+02_rb,3.0557e+02_rb,9.2932e-06_rb/) kao(:, 4,12,15) = (/ & &3.1395e+03_rb,2.7470e+03_rb,2.3545e+03_rb,1.9622e+03_rb,1.5697e+03_rb,1.1774e+03_rb, & &7.8488e+02_rb,3.9241e+02_rb,1.2651e-05_rb/) kao(:, 5,12,15) = (/ & &3.8988e+03_rb,3.4115e+03_rb,2.9243e+03_rb,2.4367e+03_rb,1.9495e+03_rb,1.4621e+03_rb, & &9.7464e+02_rb,4.8737e+02_rb,2.0431e-05_rb/) kao(:, 1,13,15) = (/ & &1.4703e+03_rb,1.2867e+03_rb,1.1028e+03_rb,9.1904e+02_rb,7.3532e+02_rb,5.5150e+02_rb, & &3.6759e+02_rb,1.8380e+02_rb,5.1458e-06_rb/) kao(:, 2,13,15) = (/ & &2.0704e+03_rb,1.8115e+03_rb,1.5528e+03_rb,1.2939e+03_rb,1.0351e+03_rb,7.7638e+02_rb, & &5.1765e+02_rb,2.5875e+02_rb,6.1867e-06_rb/) kao(:, 3,13,15) = (/ & &2.7739e+03_rb,2.4272e+03_rb,2.0805e+03_rb,1.7336e+03_rb,1.3869e+03_rb,1.0403e+03_rb, & &6.9356e+02_rb,3.4674e+02_rb,7.7061e-06_rb/) kao(:, 4,13,15) = (/ & &3.5658e+03_rb,3.1198e+03_rb,2.6740e+03_rb,2.2287e+03_rb,1.7830e+03_rb,1.3371e+03_rb, & &8.9142e+02_rb,4.4572e+02_rb,1.1573e-05_rb/) kao(:, 5,13,15) = (/ & &4.4270e+03_rb,3.8738e+03_rb,3.3205e+03_rb,2.7670e+03_rb,2.2135e+03_rb,1.6602e+03_rb, & &1.1068e+03_rb,5.5337e+02_rb,1.8919e-05_rb/) kao(:, 1, 1,16) = (/ & &2.0584e-01_rb,1.8014e-01_rb,1.5444e-01_rb,1.2874e-01_rb,1.0304e-01_rb,7.7345e-02_rb, & &8.4273e-02_rb,8.1561e-02_rb,1.2397e-01_rb/) kao(:, 2, 1,16) = (/ & &2.4103e-01_rb,2.1093e-01_rb,1.8085e-01_rb,1.5075e-01_rb,1.2067e-01_rb,1.0583e-01_rb, & &1.1670e-01_rb,1.1303e-01_rb,1.7190e-01_rb/) kao(:, 3, 1,16) = (/ & &2.7664e-01_rb,2.4213e-01_rb,2.0759e-01_rb,1.7305e-01_rb,1.3852e-01_rb,1.4127e-01_rb, & &1.5588e-01_rb,1.5105e-01_rb,2.2980e-01_rb/) kao(:, 4, 1,16) = (/ & &3.1217e-01_rb,2.7321e-01_rb,2.3426e-01_rb,1.9529e-01_rb,1.5635e-01_rb,1.8285e-01_rb, & &2.0187e-01_rb,1.9571e-01_rb,2.9781e-01_rb/) kao(:, 5, 1,16) = (/ & &3.4704e-01_rb,3.0374e-01_rb,2.6044e-01_rb,2.1712e-01_rb,2.0704e-01_rb,2.4179e-01_rb, & &2.6249e-01_rb,2.4688e-01_rb,4.0744e-01_rb/) kao(:, 1, 2,16) = (/ & &3.5775e-01_rb,3.1302e-01_rb,2.6832e-01_rb,2.2363e-01_rb,1.7894e-01_rb,1.3423e-01_rb, & &9.4199e-02_rb,9.5152e-02_rb,1.3347e-01_rb/) kao(:, 2, 2,16) = (/ & &4.2272e-01_rb,3.6993e-01_rb,3.1710e-01_rb,2.6431e-01_rb,2.1146e-01_rb,1.5866e-01_rb, & &1.3268e-01_rb,1.3412e-01_rb,1.8823e-01_rb/) kao(:, 3, 2,16) = (/ & &4.8911e-01_rb,4.2798e-01_rb,3.6687e-01_rb,3.0577e-01_rb,2.4466e-01_rb,1.8360e-01_rb, & &1.7978e-01_rb,1.8185e-01_rb,2.5529e-01_rb/) kao(:, 4, 2,16) = (/ & &5.5559e-01_rb,4.8623e-01_rb,4.1679e-01_rb,3.4735e-01_rb,2.7796e-01_rb,2.0932e-01_rb, & &2.3570e-01_rb,2.3853e-01_rb,3.3493e-01_rb/) kao(:, 5, 2,16) = (/ & &6.2130e-01_rb,5.4374e-01_rb,4.6609e-01_rb,3.8845e-01_rb,3.1090e-01_rb,2.6998e-01_rb, & &3.0230e-01_rb,3.0412e-01_rb,4.4787e-01_rb/) kao(:, 1, 3,16) = (/ & &8.0759e-01_rb,7.0655e-01_rb,6.0564e-01_rb,5.0473e-01_rb,4.0382e-01_rb,3.0291e-01_rb, & &2.0195e-01_rb,1.0457e-01_rb,1.3240e-01_rb/) kao(:, 2, 3,16) = (/ & &9.6833e-01_rb,8.4737e-01_rb,7.2636e-01_rb,6.0527e-01_rb,4.8421e-01_rb,3.6321e-01_rb, & &2.4220e-01_rb,1.5138e-01_rb,1.9184e-01_rb/) kao(:, 3, 3,16) = (/ & &1.1342e+00_rb,9.9245e-01_rb,8.5072e-01_rb,7.0903e-01_rb,5.6727e-01_rb,4.2548e-01_rb, & &2.8373e-01_rb,2.0993e-01_rb,2.6621e-01_rb/) kao(:, 4, 3,16) = (/ & &1.3024e+00_rb,1.1395e+00_rb,9.7685e-01_rb,8.1409e-01_rb,6.5126e-01_rb,4.8855e-01_rb, & &3.2575e-01_rb,2.8072e-01_rb,3.5605e-01_rb/) kao(:, 5, 3,16) = (/ & &1.4698e+00_rb,1.2860e+00_rb,1.1024e+00_rb,9.1880e-01_rb,7.3505e-01_rb,5.5132e-01_rb, & &3.6767e-01_rb,3.6382e-01_rb,4.6256e-01_rb/) kao(:, 1, 4,16) = (/ & &1.8354e+00_rb,1.6059e+00_rb,1.3766e+00_rb,1.1471e+00_rb,9.1770e-01_rb,6.8825e-01_rb, & &4.5887e-01_rb,2.2948e-01_rb,1.2512e-01_rb/) kao(:, 2, 4,16) = (/ & &2.2391e+00_rb,1.9593e+00_rb,1.6796e+00_rb,1.3998e+00_rb,1.1197e+00_rb,8.3982e-01_rb, & &5.5988e-01_rb,2.7997e-01_rb,1.8724e-01_rb/) kao(:, 3, 4,16) = (/ & &2.6616e+00_rb,2.3290e+00_rb,1.9963e+00_rb,1.6635e+00_rb,1.3310e+00_rb,9.9835e-01_rb, & &6.6551e-01_rb,3.3282e-01_rb,2.6695e-01_rb/) kao(:, 4, 4,16) = (/ & &3.0942e+00_rb,2.7077e+00_rb,2.3212e+00_rb,1.9341e+00_rb,1.5474e+00_rb,1.1605e+00_rb, & &7.7373e-01_rb,3.8698e-01_rb,3.6534e-01_rb/) kao(:, 5, 4,16) = (/ & &3.5299e+00_rb,3.0886e+00_rb,2.6475e+00_rb,2.2065e+00_rb,1.7650e+00_rb,1.3239e+00_rb, & &8.8260e-01_rb,4.4141e-01_rb,4.8300e-01_rb/) kao(:, 1, 5,16) = (/ & &3.8226e+00_rb,3.3446e+00_rb,2.8509e+00_rb,2.3892e+00_rb,1.9114e+00_rb,1.4335e+00_rb, & &9.5565e-01_rb,4.7787e-01_rb,1.1560e-01_rb/) kao(:, 2, 5,16) = (/ & &4.7529e+00_rb,4.1589e+00_rb,3.5644e+00_rb,2.9706e+00_rb,2.3763e+00_rb,1.7823e+00_rb, & &1.1883e+00_rb,5.9413e-01_rb,1.7922e-01_rb/) kao(:, 3, 5,16) = (/ & &5.7385e+00_rb,5.0213e+00_rb,4.3040e+00_rb,3.5869e+00_rb,2.8697e+00_rb,2.1522e+00_rb, & &1.4347e+00_rb,7.1742e-01_rb,2.6311e-01_rb/) kao(:, 4, 5,16) = (/ & &6.7615e+00_rb,5.9164e+00_rb,5.0713e+00_rb,4.2261e+00_rb,3.3806e+00_rb,2.5357e+00_rb, & &1.6905e+00_rb,8.4524e-01_rb,3.6914e-01_rb/) kao(:, 5, 5,16) = (/ & &7.8020e+00_rb,6.8269e+00_rb,5.8507e+00_rb,4.8765e+00_rb,3.9008e+00_rb,2.9261e+00_rb, & &1.9507e+00_rb,9.7534e-01_rb,4.9832e-01_rb/) kao(:, 1, 6,16) = (/ & &7.3571e+00_rb,6.4369e+00_rb,5.5172e+00_rb,4.5985e+00_rb,3.6783e+00_rb,2.7589e+00_rb, & &1.8291e+00_rb,9.1965e-01_rb,1.0645e-01_rb/) kao(:, 2, 6,16) = (/ & &9.3468e+00_rb,8.1778e+00_rb,7.0095e+00_rb,5.8414e+00_rb,4.6732e+00_rb,3.5051e+00_rb, & &2.3366e+00_rb,1.1682e+00_rb,1.6617e-01_rb/) kao(:, 3, 6,16) = (/ & &1.1491e+01_rb,1.0055e+01_rb,8.6175e+00_rb,7.1820e+00_rb,5.7127e+00_rb,4.3090e+00_rb, & &2.8724e+00_rb,1.4282e+00_rb,2.5233e-01_rb/) kao(:, 4, 6,16) = (/ & &1.3744e+01_rb,1.2025e+01_rb,1.0308e+01_rb,8.5898e+00_rb,6.8725e+00_rb,5.1546e+00_rb, & &3.4361e+00_rb,1.7180e+00_rb,3.6410e-01_rb/) kao(:, 5, 6,16) = (/ & &1.6063e+01_rb,1.4056e+01_rb,1.2048e+01_rb,1.0040e+01_rb,8.0325e+00_rb,6.0238e+00_rb, & &4.0162e+00_rb,2.0081e+00_rb,5.0340e-01_rb/) kao(:, 1, 7,16) = (/ & &1.4766e+01_rb,1.2923e+01_rb,1.1075e+01_rb,9.2294e+00_rb,7.3836e+00_rb,5.5378e+00_rb, & &3.6915e+00_rb,1.8460e+00_rb,1.0988e-01_rb/) kao(:, 2, 7,16) = (/ & &1.9210e+01_rb,1.6809e+01_rb,1.4406e+01_rb,1.2004e+01_rb,9.6049e+00_rb,7.2040e+00_rb, & &4.8023e+00_rb,2.4010e+00_rb,1.5119e-01_rb/) kao(:, 3, 7,16) = (/ & &2.4080e+01_rb,2.1071e+01_rb,1.8060e+01_rb,1.5050e+01_rb,1.2042e+01_rb,9.0305e+00_rb, & &6.0199e+00_rb,2.9934e+00_rb,2.3822e-01_rb/) kao(:, 4, 7,16) = (/ & &2.9278e+01_rb,2.5619e+01_rb,2.1957e+01_rb,1.8300e+01_rb,1.4640e+01_rb,1.0980e+01_rb, & &7.3208e+00_rb,3.6596e+00_rb,3.5444e-01_rb/) kao(:, 5, 7,16) = (/ & &3.4690e+01_rb,3.0352e+01_rb,2.6017e+01_rb,2.1683e+01_rb,1.7349e+01_rb,1.3009e+01_rb, & &8.6734e+00_rb,4.3366e+00_rb,5.0281e-01_rb/) kao(:, 1, 8,16) = (/ & &3.5305e+01_rb,3.0898e+01_rb,2.6479e+01_rb,2.2066e+01_rb,1.7653e+01_rb,1.3237e+01_rb, & &8.8267e+00_rb,4.4136e+00_rb,1.1225e-01_rb/) kao(:, 2, 8,16) = (/ & &4.7105e+01_rb,4.1217e+01_rb,3.5327e+01_rb,2.9443e+01_rb,2.3551e+01_rb,1.7664e+01_rb, & &1.1776e+01_rb,5.8880e+00_rb,1.4909e-01_rb/) kao(:, 3, 8,16) = (/ & &6.0289e+01_rb,5.2760e+01_rb,4.5222e+01_rb,3.7680e+01_rb,3.0141e+01_rb,2.2609e+01_rb, & &1.5075e+01_rb,7.5364e+00_rb,2.2235e-01_rb/) kao(:, 4, 8,16) = (/ & &7.4572e+01_rb,6.4882e+01_rb,5.5930e+01_rb,4.6614e+01_rb,3.7287e+01_rb,2.7965e+01_rb, & &1.8642e+01_rb,9.3209e+00_rb,3.4182e-01_rb/) kao(:, 5, 8,16) = (/ & &8.9645e+01_rb,7.8444e+01_rb,6.7227e+01_rb,5.6021e+01_rb,4.4815e+01_rb,3.3612e+01_rb, & &2.2408e+01_rb,1.1205e+01_rb,4.9824e-01_rb/) kao(:, 1, 9,16) = (/ & &1.5759e+02_rb,1.3788e+02_rb,1.1817e+02_rb,9.8475e+01_rb,7.8796e+01_rb,5.9083e+01_rb, & &3.9390e+01_rb,1.9699e+01_rb,1.1304e-01_rb/) kao(:, 2, 9,16) = (/ & &2.1616e+02_rb,1.8914e+02_rb,1.6212e+02_rb,1.3510e+02_rb,1.0808e+02_rb,8.1068e+01_rb, & &5.4043e+01_rb,2.7021e+01_rb,1.5445e-01_rb/) kao(:, 3, 9,16) = (/ & &2.8258e+02_rb,2.4760e+02_rb,2.1223e+02_rb,1.7686e+02_rb,1.4149e+02_rb,1.0611e+02_rb, & &7.0744e+01_rb,3.5373e+01_rb,2.0441e-01_rb/) kao(:, 4, 9,16) = (/ & &3.5653e+02_rb,3.1192e+02_rb,2.6735e+02_rb,2.2280e+02_rb,1.7825e+02_rb,1.3369e+02_rb, & &8.9123e+01_rb,4.4565e+01_rb,3.2503e-01_rb/) kao(:, 5, 9,16) = (/ & &4.3513e+02_rb,3.8075e+02_rb,3.2632e+02_rb,2.7197e+02_rb,2.1754e+02_rb,1.6316e+02_rb, & &1.0877e+02_rb,5.4390e+01_rb,4.8785e-01_rb/) kao(:, 1,10,16) = (/ & &7.9828e+02_rb,6.9859e+02_rb,5.9871e+02_rb,4.9899e+02_rb,3.9914e+02_rb,2.9935e+02_rb, & &1.9957e+02_rb,9.9786e+01_rb,1.4112e-06_rb/) kao(:, 2,10,16) = (/ & &1.1235e+03_rb,9.8329e+02_rb,8.4282e+02_rb,7.0236e+02_rb,5.6188e+02_rb,4.2131e+02_rb, & &2.8094e+02_rb,1.4047e+02_rb,1.8812e-06_rb/) kao(:, 3,10,16) = (/ & &1.5014e+03_rb,1.3138e+03_rb,1.1261e+03_rb,9.3840e+02_rb,7.5072e+02_rb,5.6311e+02_rb, & &3.7536e+02_rb,1.8771e+02_rb,2.5472e-06_rb/) kao(:, 4,10,16) = (/ & &1.9233e+03_rb,1.6832e+03_rb,1.4427e+03_rb,1.2020e+03_rb,9.6160e+02_rb,7.2135e+02_rb, & &4.8081e+02_rb,2.4039e+02_rb,3.1592e-01_rb/) kao(:, 5,10,16) = (/ & &2.3793e+03_rb,2.0824e+03_rb,1.7849e+03_rb,1.4876e+03_rb,1.1900e+03_rb,8.9243e+02_rb, & &5.9503e+02_rb,2.9747e+02_rb,4.8703e-01_rb/) kao(:, 1,11,16) = (/ & &1.6695e+03_rb,1.4608e+03_rb,1.2521e+03_rb,1.0434e+03_rb,8.3472e+02_rb,6.2605e+02_rb, & &4.1737e+02_rb,2.0867e+02_rb,1.1529e-06_rb/) kao(:, 2,11,16) = (/ & &2.3476e+03_rb,2.0540e+03_rb,1.7608e+03_rb,1.4673e+03_rb,1.1739e+03_rb,8.8029e+02_rb, & &5.8691e+02_rb,2.9349e+02_rb,1.5382e-06_rb/) kao(:, 3,11,16) = (/ & &3.1326e+03_rb,2.7416e+03_rb,2.3500e+03_rb,1.9579e+03_rb,1.5664e+03_rb,1.1749e+03_rb, & &7.8334e+02_rb,3.9162e+02_rb,2.0823e-06_rb/) kao(:, 4,11,16) = (/ & &4.0087e+03_rb,3.5076e+03_rb,3.0065e+03_rb,2.5054e+03_rb,2.0043e+03_rb,1.5033e+03_rb, & &1.0022e+03_rb,5.0110e+02_rb,2.4008e-06_rb/) kao(:, 5,11,16) = (/ & &4.9540e+03_rb,4.3346e+03_rb,3.7151e+03_rb,3.0963e+03_rb,2.4766e+03_rb,1.8577e+03_rb, & &1.2385e+03_rb,6.1917e+02_rb,1.3302e-05_rb/) kao(:, 1,12,16) = (/ & &2.5940e+03_rb,2.2689e+03_rb,1.9455e+03_rb,1.6210e+03_rb,1.2970e+03_rb,9.7271e+02_rb, & &6.4849e+02_rb,3.2418e+02_rb,9.4397e-07_rb/) kao(:, 2,12,16) = (/ & &3.6401e+03_rb,3.1850e+03_rb,2.7301e+03_rb,2.2751e+03_rb,1.8200e+03_rb,1.3650e+03_rb, & &9.1001e+02_rb,4.5497e+02_rb,1.2594e-06_rb/) kao(:, 3,12,16) = (/ & &4.8482e+03_rb,4.2436e+03_rb,3.6368e+03_rb,3.0301e+03_rb,2.4250e+03_rb,1.8187e+03_rb, & &1.2120e+03_rb,6.0606e+02_rb,1.2513e-05_rb/) kao(:, 4,12,16) = (/ & &6.1914e+03_rb,5.4187e+03_rb,4.6435e+03_rb,3.8696e+03_rb,3.0964e+03_rb,2.3220e+03_rb, & &1.5479e+03_rb,7.7403e+02_rb,2.0845e-05_rb/) kao(:, 5,12,16) = (/ & &7.6366e+03_rb,6.6419e+03_rb,5.7257e+03_rb,4.7728e+03_rb,3.8188e+03_rb,2.8637e+03_rb, & &1.9092e+03_rb,9.4962e+02_rb,2.1463e-05_rb/) kao(:, 1,13,16) = (/ & &3.2192e+03_rb,2.8160e+03_rb,2.4141e+03_rb,2.0117e+03_rb,1.6091e+03_rb,1.2070e+03_rb, & &8.0460e+02_rb,4.0235e+02_rb,2.5866e-06_rb/) kao(:, 2,13,16) = (/ & &4.5059e+03_rb,3.9428e+03_rb,3.3791e+03_rb,2.8160e+03_rb,2.2531e+03_rb,1.6897e+03_rb, & &1.1264e+03_rb,5.6328e+02_rb,9.4719e-06_rb/) kao(:, 3,13,16) = (/ & &5.9881e+03_rb,5.2388e+03_rb,4.4907e+03_rb,3.7423e+03_rb,2.9935e+03_rb,2.2450e+03_rb, & &1.4968e+03_rb,7.4841e+02_rb,1.6561e-05_rb/) kao(:, 4,13,16) = (/ & &7.6265e+03_rb,6.6729e+03_rb,5.7200e+03_rb,4.7671e+03_rb,3.8133e+03_rb,2.8600e+03_rb, & &1.9066e+03_rb,9.4757e+02_rb,2.1537e-05_rb/) kao(:, 5,13,16) = (/ & &9.3827e+03_rb,8.2086e+03_rb,7.0366e+03_rb,5.8639e+03_rb,4.6917e+03_rb,3.5181e+03_rb, & &2.3456e+03_rb,1.1729e+03_rb,2.1283e-05_rb/) ! The array KBO contains absorption coefs for each of the 16 g-intervals ! for a range of pressure levels < ~100mb, temperatures, and ratios ! of H2O to CO2. The first index in the array, JS, runs ! from 1 to 10, and corresponds to different gas column amount ratios, ! as expressed through the binary species parameter eta, defined as ! eta = gas1/(gas1 + (rat) * gas2), where rat is the ! ratio of the reference MLS column amount value of gas 1 ! to that of gas2. The second index, JT, which ! runs from 1 to 5, corresponds to different temperatures. More ! specifically, JT = 3 means that the data are for the corresponding ! reference temperature TREF for this pressure level, JT = 2 refers ! to the TREF-15, JT = 1 is for TREF-30, JT = 4 is for TREF+15, and ! JT = 5 is for TREF+30. The third index, JP, runs from 13 to 59 and ! refers to the corresponding pressure level in PREF (e.g. JP = 13 is ! for a pressure of 95.5835 mb). The fourth index, IG, goes from 1 to ! 16, and tells us which g-interval the absorption coefficients are for. kbo(:, 1,13, 1) = (/ & &1.5731e-03_rb,1.8696e-03_rb,1.8486e-03_rb,1.7186e-03_rb,1.3898e-03_rb/) kbo(:, 2,13, 1) = (/ & &1.8623e-03_rb,2.3963e-03_rb,2.4362e-03_rb,2.2990e-03_rb,1.8223e-03_rb/) kbo(:, 3,13, 1) = (/ & &2.3718e-03_rb,3.1878e-03_rb,3.2540e-03_rb,3.0430e-03_rb,2.2915e-03_rb/) kbo(:, 4,13, 1) = (/ & &3.1921e-03_rb,4.3104e-03_rb,4.3590e-03_rb,3.9821e-03_rb,2.7709e-03_rb/) kbo(:, 5,13, 1) = (/ & &4.4313e-03_rb,5.8691e-03_rb,5.8118e-03_rb,5.1528e-03_rb,3.2426e-03_rb/) kbo(:, 1,14, 1) = (/ & &8.1496e-04_rb,1.1449e-03_rb,1.2521e-03_rb,1.2864e-03_rb,1.1830e-03_rb/) kbo(:, 2,14, 1) = (/ & &9.7291e-04_rb,1.4990e-03_rb,1.6700e-03_rb,1.7215e-03_rb,1.5434e-03_rb/) kbo(:, 3,14, 1) = (/ & &1.2487e-03_rb,2.0089e-03_rb,2.2296e-03_rb,2.2624e-03_rb,1.9289e-03_rb/) kbo(:, 4,14, 1) = (/ & &1.6881e-03_rb,2.7166e-03_rb,2.9639e-03_rb,2.9248e-03_rb,2.3207e-03_rb/) kbo(:, 5,14, 1) = (/ & &2.3524e-03_rb,3.6802e-03_rb,3.9082e-03_rb,3.7262e-03_rb,2.7008e-03_rb/) kbo(:, 1,15, 1) = (/ & &4.3177e-04_rb,7.4258e-04_rb,8.9651e-04_rb,1.0013e-03_rb,1.0098e-03_rb/) kbo(:, 2,15, 1) = (/ & &5.2028e-04_rb,9.8643e-04_rb,1.2013e-03_rb,1.3351e-03_rb,1.3087e-03_rb/) kbo(:, 3,15, 1) = (/ & &6.7289e-04_rb,1.3258e-03_rb,1.5978e-03_rb,1.7375e-03_rb,1.6233e-03_rb/) kbo(:, 4,15, 1) = (/ & &9.1389e-04_rb,1.7863e-03_rb,2.1013e-03_rb,2.2138e-03_rb,1.9402e-03_rb/) kbo(:, 5,15, 1) = (/ & &1.2783e-03_rb,2.4005e-03_rb,2.7322e-03_rb,2.7722e-03_rb,2.2422e-03_rb/) kbo(:, 1,16, 1) = (/ & &2.7315e-04_rb,5.4830e-04_rb,7.0218e-04_rb,8.1997e-04_rb,8.6240e-04_rb/) kbo(:, 2,16, 1) = (/ & &3.3240e-04_rb,7.3351e-04_rb,9.4112e-04_rb,1.0872e-03_rb,1.1098e-03_rb/) kbo(:, 3,16, 1) = (/ & &4.3314e-04_rb,9.8584e-04_rb,1.2457e-03_rb,1.4034e-03_rb,1.3664e-03_rb/) kbo(:, 4,16, 1) = (/ & &5.9092e-04_rb,1.3229e-03_rb,1.6223e-03_rb,1.7684e-03_rb,1.6211e-03_rb/) kbo(:, 5,16, 1) = (/ & &8.2878e-04_rb,1.7642e-03_rb,2.0878e-03_rb,2.1890e-03_rb,1.8647e-03_rb/) kbo(:, 1,17, 1) = (/ & &1.7965e-04_rb,4.1801e-04_rb,5.6155e-04_rb,6.7756e-04_rb,7.3362e-04_rb/) kbo(:, 2,17, 1) = (/ & &2.2058e-04_rb,5.6121e-04_rb,7.5064e-04_rb,8.9254e-04_rb,9.3681e-04_rb/) kbo(:, 3,17, 1) = (/ & &2.8939e-04_rb,7.5257e-04_rb,9.8597e-04_rb,1.1419e-03_rb,1.1452e-03_rb/) kbo(:, 4,17, 1) = (/ & &3.9639e-04_rb,1.0037e-03_rb,1.2718e-03_rb,1.4256e-03_rb,1.3514e-03_rb/) kbo(:, 5,17, 1) = (/ & &5.5678e-04_rb,1.3263e-03_rb,1.6209e-03_rb,1.7480e-03_rb,1.5479e-03_rb/) kbo(:, 1,18, 1) = (/ & &1.2144e-04_rb,3.2556e-04_rb,4.5465e-04_rb,5.6224e-04_rb,6.2157e-04_rb/) kbo(:, 2,18, 1) = (/ & &1.5036e-04_rb,4.3710e-04_rb,6.0499e-04_rb,7.3530e-04_rb,7.8763e-04_rb/) kbo(:, 3,18, 1) = (/ & &1.9855e-04_rb,5.8365e-04_rb,7.8791e-04_rb,9.3325e-04_rb,9.5745e-04_rb/) kbo(:, 4,18, 1) = (/ & &2.7288e-04_rb,7.7253e-04_rb,1.0079e-03_rb,1.1563e-03_rb,1.1247e-03_rb/) kbo(:, 5,18, 1) = (/ & &3.8348e-04_rb,1.0128e-03_rb,1.2724e-03_rb,1.4068e-03_rb,1.2838e-03_rb/) kbo(:, 1,19, 1) = (/ & &8.0908e-05_rb,2.5355e-04_rb,3.6780e-04_rb,4.6534e-04_rb,5.2420e-04_rb/) kbo(:, 2,19, 1) = (/ & &1.0097e-04_rb,3.3963e-04_rb,4.8637e-04_rb,6.0408e-04_rb,6.5997e-04_rb/) kbo(:, 3,19, 1) = (/ & &1.3403e-04_rb,4.5064e-04_rb,6.2806e-04_rb,7.6126e-04_rb,7.9854e-04_rb/) kbo(:, 4,19, 1) = (/ & &1.8471e-04_rb,5.9188e-04_rb,7.9637e-04_rb,9.3587e-04_rb,9.3436e-04_rb/) kbo(:, 5,19, 1) = (/ & &2.5970e-04_rb,7.6935e-04_rb,9.9605e-04_rb,1.1301e-03_rb,1.0631e-03_rb/) kbo(:, 1,20, 1) = (/ & &5.8651e-05_rb,2.0533e-04_rb,3.0468e-04_rb,3.8991e-04_rb,4.4299e-04_rb/) kbo(:, 2,20, 1) = (/ & &7.3858e-05_rb,2.7425e-04_rb,4.0056e-04_rb,5.0325e-04_rb,5.5439e-04_rb/) kbo(:, 3,20, 1) = (/ & &9.8558e-05_rb,3.6201e-04_rb,5.1389e-04_rb,6.3043e-04_rb,6.6745e-04_rb/) kbo(:, 4,20, 1) = (/ & &1.3624e-04_rb,4.7289e-04_rb,6.4732e-04_rb,7.7044e-04_rb,7.7770e-04_rb/) kbo(:, 5,20, 1) = (/ & &1.9168e-04_rb,6.1111e-04_rb,8.0443e-04_rb,9.2550e-04_rb,8.8213e-04_rb/) kbo(:, 1,21, 1) = (/ & &4.3969e-05_rb,1.6839e-04_rb,2.5404e-04_rb,3.2750e-04_rb,3.7386e-04_rb/) kbo(:, 2,21, 1) = (/ & &5.5807e-05_rb,2.2425e-04_rb,3.3214e-04_rb,4.2065e-04_rb,4.6519e-04_rb/) kbo(:, 3,21, 1) = (/ & &7.4871e-05_rb,2.9470e-04_rb,4.2375e-04_rb,5.2400e-04_rb,5.5744e-04_rb/) kbo(:, 4,21, 1) = (/ & &1.0381e-04_rb,3.8330e-04_rb,5.3089e-04_rb,6.3750e-04_rb,6.4727e-04_rb/) kbo(:, 5,21, 1) = (/ & &1.4611e-04_rb,4.9243e-04_rb,6.5637e-04_rb,7.6218e-04_rb,7.3199e-04_rb/) kbo(:, 1,22, 1) = (/ & &3.4337e-05_rb,1.4203e-04_rb,2.1658e-04_rb,2.8040e-04_rb,3.2005e-04_rb/) kbo(:, 2,22, 1) = (/ & &4.4095e-05_rb,1.8845e-04_rb,2.8132e-04_rb,3.5774e-04_rb,3.9514e-04_rb/) kbo(:, 3,22, 1) = (/ & &5.9627e-05_rb,2.4659e-04_rb,3.5661e-04_rb,4.4266e-04_rb,4.7049e-04_rb/) kbo(:, 4,22, 1) = (/ & &8.3001e-05_rb,3.1905e-04_rb,4.4430e-04_rb,5.3537e-04_rb,5.4306e-04_rb/) kbo(:, 5,22, 1) = (/ & &1.1688e-04_rb,4.0732e-04_rb,5.4669e-04_rb,6.3703e-04_rb,6.1162e-04_rb/) kbo(:, 1,23, 1) = (/ & &2.7088e-05_rb,1.2024e-04_rb,1.8486e-04_rb,2.4028e-04_rb,2.7381e-04_rb/) kbo(:, 2,23, 1) = (/ & &3.5182e-05_rb,1.5885e-04_rb,2.3849e-04_rb,3.0423e-04_rb,3.3547e-04_rb/) kbo(:, 3,23, 1) = (/ & &4.7910e-05_rb,2.0687e-04_rb,3.0043e-04_rb,3.7399e-04_rb,3.9686e-04_rb/) kbo(:, 4,23, 1) = (/ & &6.6975e-05_rb,2.6613e-04_rb,3.7259e-04_rb,4.4994e-04_rb,4.5570e-04_rb/) kbo(:, 5,23, 1) = (/ & &9.4305e-05_rb,3.3770e-04_rb,4.5596e-04_rb,5.3292e-04_rb,5.1097e-04_rb/) kbo(:, 1,24, 1) = (/ & &2.1382e-05_rb,1.0191e-04_rb,1.5778e-04_rb,2.0583e-04_rb,2.3424e-04_rb/) kbo(:, 2,24, 1) = (/ & &2.8085e-05_rb,1.3391e-04_rb,2.0214e-04_rb,2.5863e-04_rb,2.8484e-04_rb/) kbo(:, 3,24, 1) = (/ & &3.8505e-05_rb,1.7343e-04_rb,2.5313e-04_rb,3.1592e-04_rb,3.3477e-04_rb/) kbo(:, 4,24, 1) = (/ & &5.3997e-05_rb,2.2171e-04_rb,3.1228e-04_rb,3.7804e-04_rb,3.8231e-04_rb/) kbo(:, 5,24, 1) = (/ & &7.5953e-05_rb,2.7966e-04_rb,3.7978e-04_rb,4.4568e-04_rb,4.2681e-04_rb/) kbo(:, 1,25, 1) = (/ & &1.7217e-05_rb,8.6935e-05_rb,1.3520e-04_rb,1.7667e-04_rb,2.0051e-04_rb/) kbo(:, 2,25, 1) = (/ & &2.2860e-05_rb,1.1361e-04_rb,1.7201e-04_rb,2.2028e-04_rb,2.4198e-04_rb/) kbo(:, 3,25, 1) = (/ & &3.1540e-05_rb,1.4632e-04_rb,2.1426e-04_rb,2.6745e-04_rb,2.8247e-04_rb/) kbo(:, 4,25, 1) = (/ & &4.4330e-05_rb,1.8594e-04_rb,2.6272e-04_rb,3.1846e-04_rb,3.2089e-04_rb/) kbo(:, 5,25, 1) = (/ & &6.2260e-05_rb,2.3327e-04_rb,3.1770e-04_rb,3.7373e-04_rb,3.5666e-04_rb/) kbo(:, 1,26, 1) = (/ & &1.4222e-05_rb,7.4853e-05_rb,1.1659e-04_rb,1.5229e-04_rb,1.7205e-04_rb/) kbo(:, 2,26, 1) = (/ & &1.9097e-05_rb,9.7290e-05_rb,1.4733e-04_rb,1.8840e-04_rb,2.0595e-04_rb/) kbo(:, 3,26, 1) = (/ & &2.6498e-05_rb,1.2462e-04_rb,1.8247e-04_rb,2.2740e-04_rb,2.3871e-04_rb/) kbo(:, 4,26, 1) = (/ & &3.7304e-05_rb,1.5749e-04_rb,2.2244e-04_rb,2.6950e-04_rb,2.6966e-04_rb/) kbo(:, 5,26, 1) = (/ & &5.2263e-05_rb,1.9669e-04_rb,2.6764e-04_rb,3.1472e-04_rb,2.9848e-04_rb/) kbo(:, 1,27, 1) = (/ & &1.2263e-05_rb,6.5144e-05_rb,1.0108e-04_rb,1.3156e-04_rb,1.4744e-04_rb/) kbo(:, 2,27, 1) = (/ & &1.6644e-05_rb,8.4290e-05_rb,1.2696e-04_rb,1.6163e-04_rb,1.7509e-04_rb/) kbo(:, 3,27, 1) = (/ & &2.3202e-05_rb,1.0755e-04_rb,1.5651e-04_rb,1.9419e-04_rb,2.0159e-04_rb/) kbo(:, 4,27, 1) = (/ & &3.2669e-05_rb,1.3540e-04_rb,1.9003e-04_rb,2.2917e-04_rb,2.2657e-04_rb/) kbo(:, 5,27, 1) = (/ & &4.5636e-05_rb,1.6849e-04_rb,2.2778e-04_rb,2.6648e-04_rb,2.4966e-04_rb/) kbo(:, 1,28, 1) = (/ & &1.0907e-05_rb,5.7118e-05_rb,8.7946e-05_rb,1.1378e-04_rb,1.2622e-04_rb/) kbo(:, 2,28, 1) = (/ & &1.4925e-05_rb,7.3661e-05_rb,1.0996e-04_rb,1.3907e-04_rb,1.4872e-04_rb/) kbo(:, 3,28, 1) = (/ & &2.0909e-05_rb,9.3671e-05_rb,1.3497e-04_rb,1.6629e-04_rb,1.7014e-04_rb/) kbo(:, 4,28, 1) = (/ & &2.9425e-05_rb,1.1761e-04_rb,1.6330e-04_rb,1.9540e-04_rb,1.9022e-04_rb/) kbo(:, 5,28, 1) = (/ & &4.0966e-05_rb,1.4604e-04_rb,1.9535e-04_rb,2.2654e-04_rb,2.0877e-04_rb/) kbo(:, 1,29, 1) = (/ & &1.0363e-05_rb,5.1128e-05_rb,7.7457e-05_rb,9.9099e-05_rb,1.0807e-04_rb/) kbo(:, 2,29, 1) = (/ & &1.4287e-05_rb,6.5810e-05_rb,9.6485e-05_rb,1.2056e-04_rb,1.2631e-04_rb/) kbo(:, 3,29, 1) = (/ & &2.0078e-05_rb,8.3622e-05_rb,1.1822e-04_rb,1.4364e-04_rb,1.4366e-04_rb/) kbo(:, 4,29, 1) = (/ & &2.8213e-05_rb,1.0495e-04_rb,1.4288e-04_rb,1.6839e-04_rb,1.5982e-04_rb/) kbo(:, 5,29, 1) = (/ & &3.9150e-05_rb,1.3025e-04_rb,1.7086e-04_rb,1.9491e-04_rb,1.7468e-04_rb/) kbo(:, 1,30, 1) = (/ & &1.0130e-05_rb,4.6183e-05_rb,6.8547e-05_rb,8.6516e-05_rb,9.2360e-05_rb/) kbo(:, 2,30, 1) = (/ & &1.4060e-05_rb,5.9445e-05_rb,8.5241e-05_rb,1.0481e-04_rb,1.0719e-04_rb/) kbo(:, 3,30, 1) = (/ & &1.9789e-05_rb,7.5542e-05_rb,1.0433e-04_rb,1.2454e-04_rb,1.2117e-04_rb/) kbo(:, 4,30, 1) = (/ & &2.7737e-05_rb,9.4871e-05_rb,1.2613e-04_rb,1.4578e-04_rb,1.3421e-04_rb/) kbo(:, 5,30, 1) = (/ & &3.8345e-05_rb,1.1778e-04_rb,1.5088e-04_rb,1.6869e-04_rb,1.4612e-04_rb/) kbo(:, 1,31, 1) = (/ & &1.0468e-05_rb,4.2679e-05_rb,6.1533e-05_rb,7.6101e-05_rb,7.8936e-05_rb/) kbo(:, 2,31, 1) = (/ & &1.4602e-05_rb,5.5015e-05_rb,7.6472e-05_rb,9.1912e-05_rb,9.0925e-05_rb/) kbo(:, 3,31, 1) = (/ & &2.0565e-05_rb,7.0045e-05_rb,9.3754e-05_rb,1.0914e-04_rb,1.0226e-04_rb/) kbo(:, 4,31, 1) = (/ & &2.8741e-05_rb,8.8177e-05_rb,1.1361e-04_rb,1.2783e-04_rb,1.1277e-04_rb/) kbo(:, 5,31, 1) = (/ & &3.9551e-05_rb,1.0965e-04_rb,1.3625e-04_rb,1.4816e-04_rb,1.2240e-04_rb/) kbo(:, 1,32, 1) = (/ & &1.0980e-05_rb,3.9860e-05_rb,5.5596e-05_rb,6.7154e-05_rb,6.7396e-05_rb/) kbo(:, 2,32, 1) = (/ & &1.5378e-05_rb,5.1481e-05_rb,6.9207e-05_rb,8.1024e-05_rb,7.7105e-05_rb/) kbo(:, 3,32, 1) = (/ & &2.1641e-05_rb,6.5723e-05_rb,8.5005e-05_rb,9.6172e-05_rb,8.6258e-05_rb/) kbo(:, 4,32, 1) = (/ & &3.0131e-05_rb,8.2891e-05_rb,1.0329e-04_rb,1.1283e-04_rb,9.4767e-05_rb/) kbo(:, 5,32, 1) = (/ & &4.1276e-05_rb,1.0326e-04_rb,1.2427e-04_rb,1.3104e-04_rb,1.0241e-04_rb/) kbo(:, 1,33, 1) = (/ & &1.1748e-05_rb,3.7749e-05_rb,5.0777e-05_rb,5.9616e-05_rb,5.7446e-05_rb/) kbo(:, 2,33, 1) = (/ & &1.6501e-05_rb,4.8915e-05_rb,6.3363e-05_rb,7.1901e-05_rb,6.5353e-05_rb/) kbo(:, 3,33, 1) = (/ & &2.3188e-05_rb,6.2624e-05_rb,7.8070e-05_rb,8.5481e-05_rb,7.2776e-05_rb/) kbo(:, 4,33, 1) = (/ & &3.2156e-05_rb,7.9179e-05_rb,9.5194e-05_rb,1.0052e-04_rb,7.9571e-05_rb/) kbo(:, 5,33, 1) = (/ & &4.3815e-05_rb,9.8786e-05_rb,1.1493e-04_rb,1.1713e-04_rb,8.5692e-05_rb/) kbo(:, 1,34, 1) = (/ & &1.2122e-05_rb,3.5250e-05_rb,4.5906e-05_rb,5.2480e-05_rb,4.8658e-05_rb/) kbo(:, 2,34, 1) = (/ & &1.7058e-05_rb,4.5800e-05_rb,5.7395e-05_rb,6.3326e-05_rb,5.5101e-05_rb/) kbo(:, 3,34, 1) = (/ & &2.3918e-05_rb,5.8762e-05_rb,7.0946e-05_rb,7.5460e-05_rb,6.1101e-05_rb/) kbo(:, 4,34, 1) = (/ & &3.3054e-05_rb,7.4431e-05_rb,8.6803e-05_rb,8.8957e-05_rb,6.6540e-05_rb/) kbo(:, 5,34, 1) = (/ & &4.4827e-05_rb,9.2907e-05_rb,1.0510e-04_rb,1.0393e-04_rb,7.1470e-05_rb/) kbo(:, 1,35, 1) = (/ & &1.2136e-05_rb,3.2274e-05_rb,4.0784e-05_rb,4.5493e-05_rb,4.0671e-05_rb/) kbo(:, 2,35, 1) = (/ & &1.7085e-05_rb,4.2082e-05_rb,5.1198e-05_rb,5.5056e-05_rb,4.5918e-05_rb/) kbo(:, 3,35, 1) = (/ & &2.3916e-05_rb,5.4183e-05_rb,6.3553e-05_rb,6.5795e-05_rb,5.0794e-05_rb/) kbo(:, 4,35, 1) = (/ & &3.2983e-05_rb,6.8784e-05_rb,7.8061e-05_rb,7.7848e-05_rb,5.5215e-05_rb/) kbo(:, 5,35, 1) = (/ & &4.4608e-05_rb,8.5962e-05_rb,9.4799e-05_rb,9.1316e-05_rb,5.9185e-05_rb/) kbo(:, 1,36, 1) = (/ & &1.1639e-05_rb,2.8710e-05_rb,3.5389e-05_rb,3.8647e-05_rb,3.3496e-05_rb/) kbo(:, 2,36, 1) = (/ & &1.6387e-05_rb,3.7611e-05_rb,4.4660e-05_rb,4.6982e-05_rb,3.7819e-05_rb/) kbo(:, 3,36, 1) = (/ & &2.2931e-05_rb,4.8613e-05_rb,5.5727e-05_rb,5.6405e-05_rb,4.1793e-05_rb/) kbo(:, 4,36, 1) = (/ & &3.1614e-05_rb,6.1937e-05_rb,6.8745e-05_rb,6.7054e-05_rb,4.5416e-05_rb/) kbo(:, 5,36, 1) = (/ & &4.2736e-05_rb,7.7667e-05_rb,8.3834e-05_rb,7.9002e-05_rb,4.8700e-05_rb/) kbo(:, 1,37, 1) = (/ & &1.0334e-05_rb,2.4228e-05_rb,2.9412e-05_rb,3.1719e-05_rb,2.7018e-05_rb/) kbo(:, 2,37, 1) = (/ & &1.4545e-05_rb,3.1907e-05_rb,3.7329e-05_rb,3.8760e-05_rb,3.0586e-05_rb/) kbo(:, 3,37, 1) = (/ & &2.0385e-05_rb,4.1462e-05_rb,4.6849e-05_rb,4.6806e-05_rb,3.3891e-05_rb/) kbo(:, 4,37, 1) = (/ & &2.8167e-05_rb,5.3075e-05_rb,5.8122e-05_rb,5.5962e-05_rb,3.6915e-05_rb/) kbo(:, 5,37, 1) = (/ & &3.8188e-05_rb,6.6903e-05_rb,7.1250e-05_rb,6.6274e-05_rb,3.9679e-05_rb/) kbo(:, 1,38, 1) = (/ & &9.2873e-06_rb,2.0587e-05_rb,2.4545e-05_rb,2.6080e-05_rb,2.1759e-05_rb/) kbo(:, 2,38, 1) = (/ & &1.3062e-05_rb,2.7262e-05_rb,3.1359e-05_rb,3.2085e-05_rb,2.4714e-05_rb/) kbo(:, 3,38, 1) = (/ & &1.8340e-05_rb,3.5628e-05_rb,3.9617e-05_rb,3.8992e-05_rb,2.7465e-05_rb/) kbo(:, 4,38, 1) = (/ & &2.5394e-05_rb,4.5875e-05_rb,4.9461e-05_rb,4.6884e-05_rb,2.9998e-05_rb/) kbo(:, 5,38, 1) = (/ & &3.4528e-05_rb,5.8131e-05_rb,6.0967e-05_rb,5.5861e-05_rb,3.2334e-05_rb/) kbo(:, 1,39, 1) = (/ & &8.5453e-06_rb,1.7761e-05_rb,2.0713e-05_rb,2.1598e-05_rb,1.7527e-05_rb/) kbo(:, 2,39, 1) = (/ & &1.2008e-05_rb,2.3655e-05_rb,2.6655e-05_rb,2.6765e-05_rb,1.9983e-05_rb/) kbo(:, 3,39, 1) = (/ & &1.6881e-05_rb,3.1100e-05_rb,3.3909e-05_rb,3.2745e-05_rb,2.2276e-05_rb/) kbo(:, 4,39, 1) = (/ & &2.3421e-05_rb,4.0278e-05_rb,4.2620e-05_rb,3.9657e-05_rb,2.4422e-05_rb/) kbo(:, 5,39, 1) = (/ & &3.1935e-05_rb,5.1364e-05_rb,5.2889e-05_rb,4.7569e-05_rb,2.6373e-05_rb/) kbo(:, 1,40, 1) = (/ & &7.1461e-06_rb,1.4361e-05_rb,1.6604e-05_rb,1.7207e-05_rb,1.3880e-05_rb/) kbo(:, 2,40, 1) = (/ & &1.0009e-05_rb,1.9228e-05_rb,2.1496e-05_rb,2.1462e-05_rb,1.5923e-05_rb/) kbo(:, 3,40, 1) = (/ & &1.4089e-05_rb,2.5420e-05_rb,2.7521e-05_rb,2.6424e-05_rb,1.7845e-05_rb/) kbo(:, 4,40, 1) = (/ & &1.9620e-05_rb,3.3119e-05_rb,3.4800e-05_rb,3.2193e-05_rb,1.9645e-05_rb/) kbo(:, 5,40, 1) = (/ & &2.6885e-05_rb,4.2499e-05_rb,4.3444e-05_rb,3.8836e-05_rb,2.1269e-05_rb/) kbo(:, 1,41, 1) = (/ & &5.9442e-06_rb,1.1549e-05_rb,1.3242e-05_rb,1.3641e-05_rb,1.0951e-05_rb/) kbo(:, 2,41, 1) = (/ & &8.2890e-06_rb,1.5538e-05_rb,1.7245e-05_rb,1.7129e-05_rb,1.2647e-05_rb/) kbo(:, 3,41, 1) = (/ & &1.1675e-05_rb,2.0658e-05_rb,2.2220e-05_rb,2.1226e-05_rb,1.4267e-05_rb/) kbo(:, 4,41, 1) = (/ & &1.6317e-05_rb,2.7083e-05_rb,2.8276e-05_rb,2.6013e-05_rb,1.5751e-05_rb/) kbo(:, 5,41, 1) = (/ & &2.2462e-05_rb,3.4966e-05_rb,3.5519e-05_rb,3.1566e-05_rb,1.7118e-05_rb/) kbo(:, 1,42, 1) = (/ & &5.0039e-06_rb,9.3487e-06_rb,1.0601e-05_rb,1.0831e-05_rb,8.6234e-06_rb/) kbo(:, 2,42, 1) = (/ & &6.9419e-06_rb,1.2631e-05_rb,1.3888e-05_rb,1.3698e-05_rb,1.0034e-05_rb/) kbo(:, 3,42, 1) = (/ & &9.7739e-06_rb,1.6890e-05_rb,1.8015e-05_rb,1.7096e-05_rb,1.1383e-05_rb/) kbo(:, 4,42, 1) = (/ & &1.3702e-05_rb,2.2284e-05_rb,2.3078e-05_rb,2.1084e-05_rb,1.2617e-05_rb/) kbo(:, 5,42, 1) = (/ & &1.8946e-05_rb,2.8958e-05_rb,2.9188e-05_rb,2.5746e-05_rb,1.3767e-05_rb/) kbo(:, 1,43, 1) = (/ & &4.1873e-06_rb,7.4795e-06_rb,8.3830e-06_rb,8.4906e-06_rb,6.7096e-06_rb/) kbo(:, 2,43, 1) = (/ & &5.7609e-06_rb,1.0144e-05_rb,1.1051e-05_rb,1.0826e-05_rb,7.8872e-06_rb/) kbo(:, 3,43, 1) = (/ & &8.0947e-06_rb,1.3657e-05_rb,1.4441e-05_rb,1.3617e-05_rb,9.0007e-06_rb/) kbo(:, 4,43, 1) = (/ & &1.1379e-05_rb,1.8143e-05_rb,1.8645e-05_rb,1.6928e-05_rb,1.0041e-05_rb/) kbo(:, 5,43, 1) = (/ & &1.5813e-05_rb,2.3749e-05_rb,2.3760e-05_rb,2.0820e-05_rb,1.1010e-05_rb/) kbo(:, 1,44, 1) = (/ & &3.5435e-06_rb,5.9971e-06_rb,6.6151e-06_rb,6.6257e-06_rb,5.1813e-06_rb/) kbo(:, 2,44, 1) = (/ & &4.8184e-06_rb,8.1565e-06_rb,8.7802e-06_rb,8.5231e-06_rb,6.1554e-06_rb/) kbo(:, 3,44, 1) = (/ & &6.7381e-06_rb,1.1044e-05_rb,1.1560e-05_rb,1.0814e-05_rb,7.0815e-06_rb/) kbo(:, 4,44, 1) = (/ & &9.4910e-06_rb,1.4784e-05_rb,1.5050e-05_rb,1.3555e-05_rb,7.9532e-06_rb/) kbo(:, 5,44, 1) = (/ & &1.3248e-05_rb,1.9506e-05_rb,1.9344e-05_rb,1.6815e-05_rb,8.7723e-06_rb/) kbo(:, 1,45, 1) = (/ & &3.0781e-06_rb,4.8864e-06_rb,5.2730e-06_rb,5.1910e-06_rb,3.9885e-06_rb/) kbo(:, 2,45, 1) = (/ & &4.1281e-06_rb,6.6470e-06_rb,7.0382e-06_rb,6.7401e-06_rb,4.7888e-06_rb/) kbo(:, 3,45, 1) = (/ & &5.7272e-06_rb,9.0419e-06_rb,9.3373e-06_rb,8.6331e-06_rb,5.5575e-06_rb/) kbo(:, 4,45, 1) = (/ & &8.0675e-06_rb,1.2195e-05_rb,1.2269e-05_rb,1.0924e-05_rb,6.2888e-06_rb/) kbo(:, 5,45, 1) = (/ & &1.1304e-05_rb,1.6230e-05_rb,1.5911e-05_rb,1.3670e-05_rb,6.9809e-06_rb/) kbo(:, 1,46, 1) = (/ & &2.7031e-06_rb,4.0051e-06_rb,4.2052e-06_rb,4.0513e-06_rb,3.0391e-06_rb/) kbo(:, 2,46, 1) = (/ & &3.5629e-06_rb,5.4291e-06_rb,5.6384e-06_rb,5.3109e-06_rb,3.6957e-06_rb/) kbo(:, 3,46, 1) = (/ & &4.8917e-06_rb,7.4052e-06_rb,7.5318e-06_rb,6.8686e-06_rb,4.3368e-06_rb/) kbo(:, 4,46, 1) = (/ & &6.8735e-06_rb,1.0056e-05_rb,9.9863e-06_rb,8.7795e-06_rb,4.9486e-06_rb/) kbo(:, 5,46, 1) = (/ & &9.6601e-06_rb,1.3493e-05_rb,1.3073e-05_rb,1.1090e-05_rb,5.5328e-06_rb/) kbo(:, 1,47, 1) = (/ & &2.3513e-06_rb,3.2459e-06_rb,3.3109e-06_rb,3.1126e-06_rb,2.2809e-06_rb/) kbo(:, 2,47, 1) = (/ & &3.0285e-06_rb,4.3632e-06_rb,4.4435e-06_rb,4.1169e-06_rb,2.8160e-06_rb/) kbo(:, 3,47, 1) = (/ & &4.0963e-06_rb,5.9519e-06_rb,5.9675e-06_rb,5.3774e-06_rb,3.3494e-06_rb/) kbo(:, 4,47, 1) = (/ & &5.7200e-06_rb,8.1250e-06_rb,7.9789e-06_rb,6.9425e-06_rb,3.8611e-06_rb/) kbo(:, 5,47, 1) = (/ & &8.0548e-06_rb,1.0990e-05_rb,1.0545e-05_rb,8.8570e-06_rb,4.3522e-06_rb/) kbo(:, 1,48, 1) = (/ & &2.1277e-06_rb,2.7115e-06_rb,2.6627e-06_rb,2.4165e-06_rb,1.7021e-06_rb/) kbo(:, 2,48, 1) = (/ & &2.6703e-06_rb,3.5982e-06_rb,3.5641e-06_rb,3.2218e-06_rb,2.1347e-06_rb/) kbo(:, 3,48, 1) = (/ & &3.5476e-06_rb,4.8904e-06_rb,4.8030e-06_rb,4.2482e-06_rb,2.5746e-06_rb/) kbo(:, 4,48, 1) = (/ & &4.9045e-06_rb,6.6952e-06_rb,6.4687e-06_rb,5.5412e-06_rb,3.0044e-06_rb/) kbo(:, 5,48, 1) = (/ & &6.9032e-06_rb,9.1233e-06_rb,8.6345e-06_rb,7.1468e-06_rb,3.4162e-06_rb/) kbo(:, 1,49, 1) = (/ & &2.0328e-06_rb,2.3718e-06_rb,2.2199e-06_rb,1.9157e-06_rb,1.2610e-06_rb/) kbo(:, 2,49, 1) = (/ & &2.4767e-06_rb,3.0887e-06_rb,2.9459e-06_rb,2.5646e-06_rb,1.6091e-06_rb/) kbo(:, 3,49, 1) = (/ & &3.2245e-06_rb,4.1594e-06_rb,3.9687e-06_rb,3.4109e-06_rb,1.9688e-06_rb/) kbo(:, 4,49, 1) = (/ & &4.3950e-06_rb,5.6964e-06_rb,5.3766e-06_rb,4.4963e-06_rb,2.3270e-06_rb/) kbo(:, 5,49, 1) = (/ & &6.1628e-06_rb,7.8088e-06_rb,7.2467e-06_rb,5.8704e-06_rb,2.6722e-06_rb/) kbo(:, 1,50, 1) = (/ & &1.8800e-06_rb,2.0468e-06_rb,1.8384e-06_rb,1.5142e-06_rb,9.3123e-07_rb/) kbo(:, 2,50, 1) = (/ & &2.2261e-06_rb,2.6068e-06_rb,2.4062e-06_rb,2.0250e-06_rb,1.2100e-06_rb/) kbo(:, 3,50, 1) = (/ & &2.8323e-06_rb,3.4659e-06_rb,3.2264e-06_rb,2.7071e-06_rb,1.5035e-06_rb/) kbo(:, 4,50, 1) = (/ & &3.7999e-06_rb,4.7249e-06_rb,4.3788e-06_rb,3.5953e-06_rb,1.7997e-06_rb/) kbo(:, 5,50, 1) = (/ & &5.2884e-06_rb,6.4943e-06_rb,5.9393e-06_rb,4.7367e-06_rb,2.0882e-06_rb/) kbo(:, 1,51, 1) = (/ & &1.7210e-06_rb,1.7678e-06_rb,1.5277e-06_rb,1.2003e-06_rb,6.8440e-07_rb/) kbo(:, 2,51, 1) = (/ & &1.9818e-06_rb,2.1939e-06_rb,1.9638e-06_rb,1.5963e-06_rb,9.0698e-07_rb/) kbo(:, 3,51, 1) = (/ & &2.4588e-06_rb,2.8718e-06_rb,2.6104e-06_rb,2.1370e-06_rb,1.1441e-06_rb/) kbo(:, 4,51, 1) = (/ & &3.2428e-06_rb,3.8817e-06_rb,3.5358e-06_rb,2.8541e-06_rb,1.3878e-06_rb/) kbo(:, 5,51, 1) = (/ & &4.4645e-06_rb,5.3335e-06_rb,4.8140e-06_rb,3.7885e-06_rb,1.6275e-06_rb/) kbo(:, 1,52, 1) = (/ & &1.6367e-06_rb,1.5882e-06_rb,1.3178e-06_rb,9.7791e-07_rb,4.9920e-07_rb/) kbo(:, 2,52, 1) = (/ & &1.8355e-06_rb,1.9143e-06_rb,1.6527e-06_rb,1.2853e-06_rb,6.7537e-07_rb/) kbo(:, 3,52, 1) = (/ & &2.2162e-06_rb,2.4540e-06_rb,2.1676e-06_rb,1.7156e-06_rb,8.6642e-07_rb/) kbo(:, 4,52, 1) = (/ & &2.8651e-06_rb,3.2774e-06_rb,2.9188e-06_rb,2.2996e-06_rb,1.0660e-06_rb/) kbo(:, 5,52, 1) = (/ & &3.8903e-06_rb,4.4871e-06_rb,3.9803e-06_rb,3.0728e-06_rb,1.2649e-06_rb/) kbo(:, 1,53, 1) = (/ & &1.6359e-06_rb,1.5065e-06_rb,1.1971e-06_rb,8.3215e-07_rb,3.6108e-07_rb/) kbo(:, 2,53, 1) = (/ & &1.7884e-06_rb,1.7570e-06_rb,1.4552e-06_rb,1.0704e-06_rb,4.9954e-07_rb/) kbo(:, 3,53, 1) = (/ & &2.1010e-06_rb,2.1926e-06_rb,1.8706e-06_rb,1.4156e-06_rb,6.5257e-07_rb/) kbo(:, 4,53, 1) = (/ & &2.6543e-06_rb,2.8821e-06_rb,2.4935e-06_rb,1.8975e-06_rb,8.1519e-07_rb/) kbo(:, 5,53, 1) = (/ & &3.5462e-06_rb,3.9143e-06_rb,3.3945e-06_rb,2.5503e-06_rb,9.8011e-07_rb/) kbo(:, 1,54, 1) = (/ & &1.4300e-06_rb,1.2802e-06_rb,9.9257e-07_rb,6.6497e-07_rb,2.6129e-07_rb/) kbo(:, 2,54, 1) = (/ & &1.5262e-06_rb,1.4508e-06_rb,1.1768e-06_rb,8.3958e-07_rb,3.6958e-07_rb/) kbo(:, 3,54, 1) = (/ & &1.7484e-06_rb,1.7685e-06_rb,1.4827e-06_rb,1.0992e-06_rb,4.9169e-07_rb/) kbo(:, 4,54, 1) = (/ & &2.1569e-06_rb,2.2883e-06_rb,1.9539e-06_rb,1.4679e-06_rb,6.2244e-07_rb/) kbo(:, 5,54, 1) = (/ & &2.8354e-06_rb,3.0764e-06_rb,2.6455e-06_rb,1.9748e-06_rb,7.5773e-07_rb/) kbo(:, 1,55, 1) = (/ & &1.1496e-06_rb,1.0107e-06_rb,7.7300e-07_rb,5.0639e-07_rb,1.8790e-07_rb/) kbo(:, 2,55, 1) = (/ & &1.1995e-06_rb,1.1187e-06_rb,8.9719e-07_rb,6.3009e-07_rb,2.7269e-07_rb/) kbo(:, 3,55, 1) = (/ & &1.3422e-06_rb,1.3346e-06_rb,1.1096e-06_rb,8.1740e-07_rb,3.6933e-07_rb/) kbo(:, 4,55, 1) = (/ & &1.6169e-06_rb,1.6973e-06_rb,1.4454e-06_rb,1.0866e-06_rb,4.7429e-07_rb/) kbo(:, 5,55, 1) = (/ & &2.0871e-06_rb,2.2587e-06_rb,1.9432e-06_rb,1.4592e-06_rb,5.8406e-07_rb/) kbo(:, 1,56, 1) = (/ & &9.3098e-07_rb,8.0374e-07_rb,6.0662e-07_rb,3.8780e-07_rb,1.3395e-07_rb/) kbo(:, 2,56, 1) = (/ & &9.4853e-07_rb,8.6979e-07_rb,6.8824e-07_rb,4.7493e-07_rb,1.9978e-07_rb/) kbo(:, 3,56, 1) = (/ & &1.0383e-06_rb,1.0136e-06_rb,8.3527e-07_rb,6.0949e-07_rb,2.7592e-07_rb/) kbo(:, 4,56, 1) = (/ & &1.2210e-06_rb,1.2652e-06_rb,1.0730e-06_rb,8.0519e-07_rb,3.6001e-07_rb/) kbo(:, 5,56, 1) = (/ & &1.5443e-06_rb,1.6630e-06_rb,1.4302e-06_rb,1.0789e-06_rb,4.4877e-07_rb/) kbo(:, 1,57, 1) = (/ & &7.5869e-07_rb,6.4433e-07_rb,4.7913e-07_rb,2.9908e-07_rb,9.4559e-08_rb/) kbo(:, 2,57, 1) = (/ & &7.5680e-07_rb,6.8154e-07_rb,5.3140e-07_rb,3.5955e-07_rb,1.4504e-07_rb/) kbo(:, 3,57, 1) = (/ & &8.0958e-07_rb,7.7512e-07_rb,6.3252e-07_rb,4.5567e-07_rb,2.0501e-07_rb/) kbo(:, 4,57, 1) = (/ & &9.2953e-07_rb,9.4815e-07_rb,7.9932e-07_rb,5.9759e-07_rb,2.7208e-07_rb/) kbo(:, 5,57, 1) = (/ & &1.1491e-06_rb,1.2288e-06_rb,1.0552e-06_rb,7.9844e-07_rb,3.4355e-07_rb/) kbo(:, 1,58, 1) = (/ & &1.6388e-07_rb,1.6804e-07_rb,1.5881e-07_rb,1.3627e-07_rb,6.6479e-08_rb/) kbo(:, 2,58, 1) = (/ & &1.6042e-07_rb,1.7409e-07_rb,1.7274e-07_rb,1.6106e-07_rb,1.0511e-07_rb/) kbo(:, 3,58, 1) = (/ & &1.6792e-07_rb,1.9377e-07_rb,2.0193e-07_rb,2.0193e-07_rb,1.5191e-07_rb/) kbo(:, 4,58, 1) = (/ & &1.8861e-07_rb,2.3235e-07_rb,2.5117e-07_rb,2.6306e-07_rb,2.0537e-07_rb/) kbo(:, 5,58, 1) = (/ & &2.2793e-07_rb,2.9684e-07_rb,3.2824e-07_rb,3.5018e-07_rb,2.6292e-07_rb/) kbo(:, 1,59, 1) = (/ & &1.5765e-07_rb,1.5618e-07_rb,1.3958e-07_rb,1.1007e-07_rb,5.0739e-08_rb/) kbo(:, 2,59, 1) = (/ & &1.5325e-07_rb,1.6219e-07_rb,1.5348e-07_rb,1.3308e-07_rb,8.1077e-08_rb/) kbo(:, 3,59, 1) = (/ & &1.5900e-07_rb,1.8099e-07_rb,1.8121e-07_rb,1.6979e-07_rb,1.1831e-07_rb/) kbo(:, 4,59, 1) = (/ & &1.7701e-07_rb,2.1714e-07_rb,2.2693e-07_rb,2.2335e-07_rb,1.6137e-07_rb/) kbo(:, 5,59, 1) = (/ & &2.1198e-07_rb,2.7749e-07_rb,2.9703e-07_rb,2.9803e-07_rb,2.0840e-07_rb/) kbo(:, 1,13, 2) = (/ & &3.6279e-03_rb,6.1760e-03_rb,7.4137e-03_rb,8.1756e-03_rb,7.6678e-03_rb/) kbo(:, 2,13, 2) = (/ & &4.7275e-03_rb,8.3099e-03_rb,9.8779e-03_rb,1.0590e-02_rb,9.2190e-03_rb/) kbo(:, 3,13, 2) = (/ & &6.7817e-03_rb,1.1546e-02_rb,1.3324e-02_rb,1.3748e-02_rb,1.0778e-02_rb/) kbo(:, 4,13, 2) = (/ & &1.0391e-02_rb,1.6290e-02_rb,1.8048e-02_rb,1.7786e-02_rb,1.2299e-02_rb/) kbo(:, 5,13, 2) = (/ & &1.6231e-02_rb,2.2973e-02_rb,2.4369e-02_rb,2.2866e-02_rb,1.3775e-02_rb/) kbo(:, 1,14, 2) = (/ & &1.9069e-03_rb,4.2185e-03_rb,5.5573e-03_rb,6.5712e-03_rb,6.6234e-03_rb/) kbo(:, 2,14, 2) = (/ & &2.5180e-03_rb,5.7108e-03_rb,7.3682e-03_rb,8.4311e-03_rb,7.9352e-03_rb/) kbo(:, 3,14, 2) = (/ & &3.6614e-03_rb,7.8938e-03_rb,9.8216e-03_rb,1.0792e-02_rb,9.2480e-03_rb/) kbo(:, 4,14, 2) = (/ & &5.6530e-03_rb,1.1002e-02_rb,1.3072e-02_rb,1.3740e-02_rb,1.0517e-02_rb/) kbo(:, 5,14, 2) = (/ & &8.8619e-03_rb,1.5292e-02_rb,1.7338e-02_rb,1.7343e-02_rb,1.1731e-02_rb/) kbo(:, 1,15, 2) = (/ & &1.0269e-03_rb,3.0313e-03_rb,4.3258e-03_rb,5.3827e-03_rb,5.7089e-03_rb/) kbo(:, 2,15, 2) = (/ & &1.3765e-03_rb,4.1045e-03_rb,5.6876e-03_rb,6.8515e-03_rb,6.8087e-03_rb/) kbo(:, 3,15, 2) = (/ & &2.0273e-03_rb,5.6227e-03_rb,7.4759e-03_rb,8.6449e-03_rb,7.9051e-03_rb/) kbo(:, 4,15, 2) = (/ & &3.1553e-03_rb,7.7214e-03_rb,9.7810e-03_rb,1.0828e-02_rb,8.9583e-03_rb/) kbo(:, 5,15, 2) = (/ & &4.9678e-03_rb,1.0557e-02_rb,1.2725e-02_rb,1.3447e-02_rb,9.9499e-03_rb/) kbo(:, 1,16, 2) = (/ & &6.6110e-04_rb,2.3925e-03_rb,3.5607e-03_rb,4.5272e-03_rb,4.9025e-03_rb/) kbo(:, 2,16, 2) = (/ & &8.9912e-04_rb,3.2391e-03_rb,4.6534e-03_rb,5.7377e-03_rb,5.8262e-03_rb/) kbo(:, 3,16, 2) = (/ & &1.3419e-03_rb,4.4091e-03_rb,6.0651e-03_rb,7.1821e-03_rb,6.7308e-03_rb/) kbo(:, 4,16, 2) = (/ & &2.1065e-03_rb,5.9970e-03_rb,7.8566e-03_rb,8.9138e-03_rb,7.5936e-03_rb/) kbo(:, 5,16, 2) = (/ & &3.3254e-03_rb,8.1145e-03_rb,1.0111e-02_rb,1.0963e-02_rb,8.4021e-03_rb/) kbo(:, 1,17, 2) = (/ & &4.4242e-04_rb,1.9273e-03_rb,2.9584e-03_rb,3.8169e-03_rb,4.1910e-03_rb/) kbo(:, 2,17, 2) = (/ & &6.0993e-04_rb,2.6019e-03_rb,3.8415e-03_rb,4.8112e-03_rb,4.9579e-03_rb/) kbo(:, 3,17, 2) = (/ & &9.2221e-04_rb,3.5184e-03_rb,4.9669e-03_rb,5.9811e-03_rb,5.6981e-03_rb/) kbo(:, 4,17, 2) = (/ & &1.4572e-03_rb,4.7461e-03_rb,6.3751e-03_rb,7.3581e-03_rb,6.3963e-03_rb/) kbo(:, 5,17, 2) = (/ & &2.3036e-03_rb,6.3581e-03_rb,8.1281e-03_rb,8.9737e-03_rb,7.0378e-03_rb/) kbo(:, 1,18, 2) = (/ & &3.0388e-04_rb,1.5707e-03_rb,2.4656e-03_rb,3.2158e-03_rb,3.5652e-03_rb/) kbo(:, 2,18, 2) = (/ & &4.2513e-04_rb,2.1109e-03_rb,3.1840e-03_rb,4.0302e-03_rb,4.1950e-03_rb/) kbo(:, 3,18, 2) = (/ & &6.4993e-04_rb,2.8372e-03_rb,4.0815e-03_rb,4.9772e-03_rb,4.7960e-03_rb/) kbo(:, 4,18, 2) = (/ & &1.0315e-03_rb,3.7953e-03_rb,5.1949e-03_rb,6.0778e-03_rb,5.3518e-03_rb/) kbo(:, 5,18, 2) = (/ & &1.6331e-03_rb,5.0371e-03_rb,6.5707e-03_rb,7.3465e-03_rb,5.8586e-03_rb/) kbo(:, 1,19, 2) = (/ & &2.0547e-04_rb,1.2763e-03_rb,2.0458e-03_rb,2.6959e-03_rb,3.0176e-03_rb/) kbo(:, 2,19, 2) = (/ & &2.9169e-04_rb,1.7044e-03_rb,2.6231e-03_rb,3.3550e-03_rb,3.5313e-03_rb/) kbo(:, 3,19, 2) = (/ & &4.4987e-04_rb,2.2721e-03_rb,3.3322e-03_rb,4.1113e-03_rb,4.0121e-03_rb/) kbo(:, 4,19, 2) = (/ & &7.1653e-04_rb,3.0090e-03_rb,4.2013e-03_rb,4.9750e-03_rb,4.4532e-03_rb/) kbo(:, 5,19, 2) = (/ & &1.1358e-03_rb,3.9520e-03_rb,5.2567e-03_rb,5.9542e-03_rb,4.8572e-03_rb/) kbo(:, 1,20, 2) = (/ & &1.5174e-04_rb,1.0642e-03_rb,1.7200e-03_rb,2.2761e-03_rb,2.5514e-03_rb/) kbo(:, 2,20, 2) = (/ & &2.1846e-04_rb,1.4153e-03_rb,2.1942e-03_rb,2.8165e-03_rb,2.9650e-03_rb/) kbo(:, 3,20, 2) = (/ & &3.3982e-04_rb,1.8745e-03_rb,2.7705e-03_rb,3.4277e-03_rb,3.3482e-03_rb/) kbo(:, 4,20, 2) = (/ & &5.4313e-04_rb,2.4649e-03_rb,3.4676e-03_rb,4.1183e-03_rb,3.7008e-03_rb/) kbo(:, 5,20, 2) = (/ & &8.6061e-04_rb,3.2127e-03_rb,4.3062e-03_rb,4.9014e-03_rb,4.0252e-03_rb/) kbo(:, 1,21, 2) = (/ & &1.1592e-04_rb,8.9297e-04_rb,1.4493e-03_rb,1.9202e-03_rb,2.1482e-03_rb/) kbo(:, 2,21, 2) = (/ & &1.6918e-04_rb,1.1825e-03_rb,1.8389e-03_rb,2.3614e-03_rb,2.4794e-03_rb/) kbo(:, 3,21, 2) = (/ & &2.6522e-04_rb,1.5570e-03_rb,2.3088e-03_rb,2.8574e-03_rb,2.7868e-03_rb/) kbo(:, 4,21, 2) = (/ & &4.2461e-04_rb,2.0332e-03_rb,2.8744e-03_rb,3.4170e-03_rb,3.0702e-03_rb/) kbo(:, 5,21, 2) = (/ & &6.7177e-04_rb,2.6322e-03_rb,3.5494e-03_rb,4.0519e-03_rb,3.3309e-03_rb/) kbo(:, 1,22, 2) = (/ & &9.3055e-05_rb,7.6606e-04_rb,1.2409e-03_rb,1.6398e-03_rb,1.8197e-03_rb/) kbo(:, 2,22, 2) = (/ & &1.3841e-04_rb,1.0092e-03_rb,1.5660e-03_rb,2.0038e-03_rb,2.0843e-03_rb/) kbo(:, 3,22, 2) = (/ & &2.1899e-04_rb,1.3206e-03_rb,1.9566e-03_rb,2.4125e-03_rb,2.3311e-03_rb/) kbo(:, 4,22, 2) = (/ & &3.5071e-04_rb,1.7145e-03_rb,2.4240e-03_rb,2.8744e-03_rb,2.5586e-03_rb/) kbo(:, 5,22, 2) = (/ & &5.5216e-04_rb,2.2067e-03_rb,2.9792e-03_rb,3.3952e-03_rb,2.7680e-03_rb/) kbo(:, 1,23, 2) = (/ & &7.5659e-05_rb,6.5668e-04_rb,1.0605e-03_rb,1.3970e-03_rb,1.5365e-03_rb/) kbo(:, 2,23, 2) = (/ & &1.1449e-04_rb,8.6018e-04_rb,1.3327e-03_rb,1.6978e-03_rb,1.7494e-03_rb/) kbo(:, 3,23, 2) = (/ & &1.8237e-04_rb,1.1195e-03_rb,1.6581e-03_rb,2.0367e-03_rb,1.9476e-03_rb/) kbo(:, 4,23, 2) = (/ & &2.9157e-04_rb,1.4455e-03_rb,2.0441e-03_rb,2.4187e-03_rb,2.1305e-03_rb/) kbo(:, 5,23, 2) = (/ & &4.5638e-04_rb,1.8506e-03_rb,2.4994e-03_rb,2.8459e-03_rb,2.2986e-03_rb/) kbo(:, 1,24, 2) = (/ & &6.1686e-05_rb,5.6133e-04_rb,9.0530e-04_rb,1.1887e-03_rb,1.2959e-03_rb/) kbo(:, 2,24, 2) = (/ & &9.4868e-05_rb,7.3156e-04_rb,1.1327e-03_rb,1.4379e-03_rb,1.4672e-03_rb/) kbo(:, 3,24, 2) = (/ & &1.5170e-04_rb,9.4694e-04_rb,1.4023e-03_rb,1.7186e-03_rb,1.6265e-03_rb/) kbo(:, 4,24, 2) = (/ & &2.4184e-04_rb,1.2160e-03_rb,1.7202e-03_rb,2.0324e-03_rb,1.7732e-03_rb/) kbo(:, 5,24, 2) = (/ & &3.7584e-04_rb,1.5479e-03_rb,2.0924e-03_rb,2.3822e-03_rb,1.9076e-03_rb/) kbo(:, 1,25, 2) = (/ & &5.1420e-05_rb,4.8151e-04_rb,7.7480e-04_rb,1.0127e-03_rb,1.0925e-03_rb/) kbo(:, 2,25, 2) = (/ & &8.0205e-05_rb,6.2472e-04_rb,9.6537e-04_rb,1.2206e-03_rb,1.2305e-03_rb/) kbo(:, 3,25, 2) = (/ & &1.2852e-04_rb,8.0481e-04_rb,1.1895e-03_rb,1.4535e-03_rb,1.3583e-03_rb/) kbo(:, 4,25, 2) = (/ & &2.0384e-04_rb,1.0284e-03_rb,1.4523e-03_rb,1.7128e-03_rb,1.4762e-03_rb/) kbo(:, 5,25, 2) = (/ & &3.1446e-04_rb,1.3022e-03_rb,1.7587e-03_rb,1.9996e-03_rb,1.5839e-03_rb/) kbo(:, 1,26, 2) = (/ & &4.4173e-05_rb,4.1605e-04_rb,6.6653e-04_rb,8.6651e-04_rb,9.2186e-04_rb/) kbo(:, 2,26, 2) = (/ & &6.9706e-05_rb,5.3779e-04_rb,8.2701e-04_rb,1.0408e-03_rb,1.0329e-03_rb/) kbo(:, 3,26, 2) = (/ & &1.1164e-04_rb,6.8982e-04_rb,1.0147e-03_rb,1.2348e-03_rb,1.1353e-03_rb/) kbo(:, 4,26, 2) = (/ & &1.7590e-04_rb,8.7786e-04_rb,1.2337e-03_rb,1.4499e-03_rb,1.2294e-03_rb/) kbo(:, 5,26, 2) = (/ & &2.6942e-04_rb,1.1054e-03_rb,1.4885e-03_rb,1.6863e-03_rb,1.3161e-03_rb/) kbo(:, 1,27, 2) = (/ & &3.9675e-05_rb,3.6275e-04_rb,5.7658e-04_rb,7.4423e-04_rb,7.7727e-04_rb/) kbo(:, 2,27, 2) = (/ & &6.3079e-05_rb,4.6769e-04_rb,7.1304e-04_rb,8.9128e-04_rb,8.6622e-04_rb/) kbo(:, 3,27, 2) = (/ & &1.0080e-04_rb,5.9857e-04_rb,8.7226e-04_rb,1.0546e-03_rb,9.4873e-04_rb/) kbo(:, 4,27, 2) = (/ & &1.5784e-04_rb,7.5914e-04_rb,1.0582e-03_rb,1.2346e-03_rb,1.0243e-03_rb/) kbo(:, 5,27, 2) = (/ & &2.3988e-04_rb,9.5199e-04_rb,1.2727e-03_rb,1.4326e-03_rb,1.0935e-03_rb/) kbo(:, 1,28, 2) = (/ & &3.6787e-05_rb,3.1827e-04_rb,5.0054e-04_rb,6.4070e-04_rb,6.5436e-04_rb/) kbo(:, 2,28, 2) = (/ & &5.8744e-05_rb,4.0999e-04_rb,6.1769e-04_rb,7.6553e-04_rb,7.2608e-04_rb/) kbo(:, 3,28, 2) = (/ & &9.3496e-05_rb,5.2404e-04_rb,7.5434e-04_rb,9.0364e-04_rb,7.9234e-04_rb/) kbo(:, 4,28, 2) = (/ & &1.4539e-04_rb,6.6291e-04_rb,9.1412e-04_rb,1.0560e-03_rb,8.5294e-04_rb/) kbo(:, 5,28, 2) = (/ & &2.1931e-04_rb,8.2828e-04_rb,1.0967e-03_rb,1.2236e-03_rb,9.0840e-04_rb/) kbo(:, 1,29, 2) = (/ & &3.6448e-05_rb,2.8470e-04_rb,4.4017e-04_rb,5.5630e-04_rb,5.5097e-04_rb/) kbo(:, 2,29, 2) = (/ & &5.8278e-05_rb,3.6727e-04_rb,5.4285e-04_rb,6.6380e-04_rb,6.0864e-04_rb/) kbo(:, 3,29, 2) = (/ & &9.2358e-05_rb,4.6962e-04_rb,6.6368e-04_rb,7.8295e-04_rb,6.6201e-04_rb/) kbo(:, 4,29, 2) = (/ & &1.4253e-04_rb,5.9354e-04_rb,8.0405e-04_rb,9.1518e-04_rb,7.1060e-04_rb/) kbo(:, 5,29, 2) = (/ & &2.1329e-04_rb,7.4124e-04_rb,9.6341e-04_rb,1.0599e-03_rb,7.5499e-04_rb/) kbo(:, 1,30, 2) = (/ & &3.7091e-05_rb,2.5711e-04_rb,3.8922e-04_rb,4.8469e-04_rb,4.6359e-04_rb/) kbo(:, 2,30, 2) = (/ & &5.9310e-05_rb,3.3239e-04_rb,4.8070e-04_rb,5.7820e-04_rb,5.1002e-04_rb/) kbo(:, 3,30, 2) = (/ & &9.3453e-05_rb,4.2556e-04_rb,5.8851e-04_rb,6.8238e-04_rb,5.5293e-04_rb/) kbo(:, 4,30, 2) = (/ & &1.4319e-04_rb,5.3792e-04_rb,7.1341e-04_rb,7.9807e-04_rb,5.9204e-04_rb/) kbo(:, 5,30, 2) = (/ & &2.1251e-04_rb,6.7254e-04_rb,8.5446e-04_rb,9.2424e-04_rb,6.2785e-04_rb/) kbo(:, 1,31, 2) = (/ & &3.9864e-05_rb,2.3712e-04_rb,3.4911e-04_rb,4.2654e-04_rb,3.8998e-04_rb/) kbo(:, 2,31, 2) = (/ & &6.3592e-05_rb,3.0797e-04_rb,4.3283e-04_rb,5.0926e-04_rb,4.2741e-04_rb/) kbo(:, 3,31, 2) = (/ & &9.9603e-05_rb,3.9506e-04_rb,5.3137e-04_rb,6.0258e-04_rb,4.6195e-04_rb/) kbo(:, 4,31, 2) = (/ & &1.5142e-04_rb,5.0071e-04_rb,6.4518e-04_rb,7.0554e-04_rb,4.9395e-04_rb/) kbo(:, 5,31, 2) = (/ & &2.2297e-04_rb,6.2830e-04_rb,7.7442e-04_rb,8.1724e-04_rb,5.2260e-04_rb/) kbo(:, 1,32, 2) = (/ & &4.3430e-05_rb,2.2111e-04_rb,3.1573e-04_rb,3.7714e-04_rb,3.2795e-04_rb/) kbo(:, 2,32, 2) = (/ & &6.9083e-05_rb,2.8816e-04_rb,3.9276e-04_rb,4.5160e-04_rb,3.5813e-04_rb/) kbo(:, 3,32, 2) = (/ & &1.0740e-04_rb,3.7075e-04_rb,4.8372e-04_rb,5.3513e-04_rb,3.8620e-04_rb/) kbo(:, 4,32, 2) = (/ & &1.6196e-04_rb,4.7193e-04_rb,5.8843e-04_rb,6.2745e-04_rb,4.1195e-04_rb/) kbo(:, 5,32, 2) = (/ & &2.3647e-04_rb,5.9479e-04_rb,7.0866e-04_rb,7.2794e-04_rb,4.3506e-04_rb/) kbo(:, 1,33, 2) = (/ & &4.8220e-05_rb,2.0906e-04_rb,2.8832e-04_rb,3.3596e-04_rb,2.7570e-04_rb/) kbo(:, 2,33, 2) = (/ & &7.6368e-05_rb,2.7329e-04_rb,3.6023e-04_rb,4.0330e-04_rb,3.0019e-04_rb/) kbo(:, 3,33, 2) = (/ & &1.1780e-04_rb,3.5332e-04_rb,4.4506e-04_rb,4.7900e-04_rb,3.2295e-04_rb/) kbo(:, 4,33, 2) = (/ & &1.7613e-04_rb,4.5198e-04_rb,5.4349e-04_rb,5.6284e-04_rb,3.4357e-04_rb/) kbo(:, 5,33, 2) = (/ & &2.5515e-04_rb,5.7259e-04_rb,6.5773e-04_rb,6.5473e-04_rb,3.6197e-04_rb/) kbo(:, 1,34, 2) = (/ & &5.1326e-05_rb,1.9484e-04_rb,2.6083e-04_rb,2.9705e-04_rb,2.3085e-04_rb/) kbo(:, 2,34, 2) = (/ & &8.0913e-05_rb,2.5559e-04_rb,3.2688e-04_rb,3.5738e-04_rb,2.5079e-04_rb/) kbo(:, 3,34, 2) = (/ & &1.2390e-04_rb,3.3190e-04_rb,4.0497e-04_rb,4.2508e-04_rb,2.6902e-04_rb/) kbo(:, 4,34, 2) = (/ & &1.8386e-04_rb,4.2648e-04_rb,4.9662e-04_rb,5.0061e-04_rb,2.8571e-04_rb/) kbo(:, 5,34, 2) = (/ & &2.6467e-04_rb,5.4249e-04_rb,6.0361e-04_rb,5.8398e-04_rb,3.0059e-04_rb/) kbo(:, 1,35, 2) = (/ & &5.2281e-05_rb,1.7754e-04_rb,2.3171e-04_rb,2.5859e-04_rb,1.9168e-04_rb/) kbo(:, 2,35, 2) = (/ & &8.2157e-05_rb,2.3435e-04_rb,2.9174e-04_rb,3.1208e-04_rb,2.0781e-04_rb/) kbo(:, 3,35, 2) = (/ & &1.2528e-04_rb,3.0602e-04_rb,3.6300e-04_rb,3.7259e-04_rb,2.2270e-04_rb/) kbo(:, 4,35, 2) = (/ & &1.8516e-04_rb,3.9534e-04_rb,4.4759e-04_rb,4.4038e-04_rb,2.3630e-04_rb/) kbo(:, 5,35, 2) = (/ & &2.6552e-04_rb,5.0554e-04_rb,5.4703e-04_rb,5.1605e-04_rb,2.4840e-04_rb/) kbo(:, 1,36, 2) = (/ & &5.0331e-05_rb,1.5710e-04_rb,2.0093e-04_rb,2.2058e-04_rb,1.5759e-04_rb/) kbo(:, 2,36, 2) = (/ & &7.9043e-05_rb,2.0874e-04_rb,2.5435e-04_rb,2.6739e-04_rb,1.7077e-04_rb/) kbo(:, 3,36, 2) = (/ & &1.2045e-04_rb,2.7440e-04_rb,3.1834e-04_rb,3.2085e-04_rb,1.8310e-04_rb/) kbo(:, 4,36, 2) = (/ & &1.7786e-04_rb,3.5687e-04_rb,3.9494e-04_rb,3.8113e-04_rb,1.9431e-04_rb/) kbo(:, 5,36, 2) = (/ & &2.5490e-04_rb,4.5880e-04_rb,4.8570e-04_rb,4.4889e-04_rb,2.0416e-04_rb/) kbo(:, 1,37, 2) = (/ & &4.4029e-05_rb,1.3168e-04_rb,1.6668e-04_rb,1.8164e-04_rb,1.2776e-04_rb/) kbo(:, 2,37, 2) = (/ & &6.9369e-05_rb,1.7622e-04_rb,2.1241e-04_rb,2.2140e-04_rb,1.3874e-04_rb/) kbo(:, 3,37, 2) = (/ & &1.0612e-04_rb,2.3332e-04_rb,2.6770e-04_rb,2.6723e-04_rb,1.4898e-04_rb/) kbo(:, 4,37, 2) = (/ & &1.5731e-04_rb,3.0549e-04_rb,3.3418e-04_rb,3.1918e-04_rb,1.5836e-04_rb/) kbo(:, 5,37, 2) = (/ & &2.2631e-04_rb,3.9537e-04_rb,4.1350e-04_rb,3.7792e-04_rb,1.6663e-04_rb/) kbo(:, 1,38, 2) = (/ & &3.8922e-05_rb,1.1094e-04_rb,1.3878e-04_rb,1.4984e-04_rb,1.0348e-04_rb/) kbo(:, 2,38, 2) = (/ & &6.1507e-05_rb,1.4964e-04_rb,1.7814e-04_rb,1.8378e-04_rb,1.1264e-04_rb/) kbo(:, 3,38, 2) = (/ & &9.4510e-05_rb,1.9970e-04_rb,2.2619e-04_rb,2.2325e-04_rb,1.2117e-04_rb/) kbo(:, 4,38, 2) = (/ & &1.4072e-04_rb,2.6356e-04_rb,2.8447e-04_rb,2.6849e-04_rb,1.2897e-04_rb/) kbo(:, 5,38, 2) = (/ & &2.0319e-04_rb,3.4350e-04_rb,3.5441e-04_rb,3.1981e-04_rb,1.3588e-04_rb/) kbo(:, 1,39, 2) = (/ & &3.5197e-05_rb,9.4645e-05_rb,1.1658e-04_rb,1.2439e-04_rb,8.3852e-05_rb/) kbo(:, 2,39, 2) = (/ & &5.5773e-05_rb,1.2882e-04_rb,1.5091e-04_rb,1.5369e-04_rb,9.1477e-05_rb/) kbo(:, 3,39, 2) = (/ & &8.6079e-05_rb,1.7350e-04_rb,1.9331e-04_rb,1.8814e-04_rb,9.8545e-05_rb/) kbo(:, 4,39, 2) = (/ & &1.2878e-04_rb,2.3093e-04_rb,2.4509e-04_rb,2.2784e-04_rb,1.0505e-04_rb/) kbo(:, 5,39, 2) = (/ & &1.8672e-04_rb,3.0343e-04_rb,3.0781e-04_rb,2.7347e-04_rb,1.1084e-04_rb/) kbo(:, 1,40, 2) = (/ & &2.8482e-05_rb,7.5721e-05_rb,9.3100e-05_rb,9.9288e-05_rb,6.7184e-05_rb/) kbo(:, 2,40, 2) = (/ & &4.5322e-05_rb,1.0379e-04_rb,1.2136e-04_rb,1.2342e-04_rb,7.3552e-05_rb/) kbo(:, 3,40, 2) = (/ & &7.0466e-05_rb,1.4083e-04_rb,1.5650e-04_rb,1.5207e-04_rb,7.9463e-05_rb/) kbo(:, 4,40, 2) = (/ & &1.0624e-04_rb,1.8883e-04_rb,1.9975e-04_rb,1.8533e-04_rb,8.4957e-05_rb/) kbo(:, 5,40, 2) = (/ & &1.5520e-04_rb,2.4983e-04_rb,2.5250e-04_rb,2.2369e-04_rb,8.9879e-05_rb/) kbo(:, 1,41, 2) = (/ & &2.2852e-05_rb,6.0191e-05_rb,7.3911e-05_rb,7.8847e-05_rb,5.3707e-05_rb/) kbo(:, 2,41, 2) = (/ & &3.6477e-05_rb,8.3074e-05_rb,9.7030e-05_rb,9.8640e-05_rb,5.9019e-05_rb/) kbo(:, 3,41, 2) = (/ & &5.7117e-05_rb,1.1353e-04_rb,1.2598e-04_rb,1.2230e-04_rb,6.3954e-05_rb/) kbo(:, 4,41, 2) = (/ & &8.6797e-05_rb,1.5338e-04_rb,1.6193e-04_rb,1.5005e-04_rb,6.8580e-05_rb/) kbo(:, 5,41, 2) = (/ & &1.2784e-04_rb,2.0441e-04_rb,2.0604e-04_rb,1.8219e-04_rb,7.2757e-05_rb/) kbo(:, 1,42, 2) = (/ & &1.8532e-05_rb,4.8021e-05_rb,5.8809e-05_rb,6.2677e-05_rb,4.2889e-05_rb/) kbo(:, 2,42, 2) = (/ & &2.9639e-05_rb,6.6772e-05_rb,7.7781e-05_rb,7.8945e-05_rb,4.7319e-05_rb/) kbo(:, 3,42, 2) = (/ & &4.6699e-05_rb,9.1970e-05_rb,1.0173e-04_rb,9.8516e-05_rb,5.1447e-05_rb/) kbo(:, 4,42, 2) = (/ & &7.1536e-05_rb,1.2527e-04_rb,1.3174e-04_rb,1.2174e-04_rb,5.5341e-05_rb/) kbo(:, 5,42, 2) = (/ & &1.0622e-04_rb,1.6829e-04_rb,1.6888e-04_rb,1.4882e-04_rb,5.8857e-05_rb/) kbo(:, 1,43, 2) = (/ & &1.4784e-05_rb,3.7715e-05_rb,4.6105e-05_rb,4.9162e-05_rb,3.3989e-05_rb/) kbo(:, 2,43, 2) = (/ & &2.3635e-05_rb,5.2843e-05_rb,6.1488e-05_rb,6.2402e-05_rb,3.7696e-05_rb/) kbo(:, 3,43, 2) = (/ & &3.7482e-05_rb,7.3434e-05_rb,8.1121e-05_rb,7.8491e-05_rb,4.1167e-05_rb/) kbo(:, 4,43, 2) = (/ & &5.7957e-05_rb,1.0094e-04_rb,1.0596e-04_rb,9.7736e-05_rb,4.4450e-05_rb/) kbo(:, 5,43, 2) = (/ & &8.6918e-05_rb,1.3688e-04_rb,1.3695e-04_rb,1.2041e-04_rb,4.7444e-05_rb/) kbo(:, 1,44, 2) = (/ & &1.1851e-05_rb,2.9526e-05_rb,3.5985e-05_rb,3.8353e-05_rb,2.6802e-05_rb/) kbo(:, 2,44, 2) = (/ & &1.8865e-05_rb,4.1676e-05_rb,4.8402e-05_rb,4.9101e-05_rb,2.9917e-05_rb/) kbo(:, 3,44, 2) = (/ & &3.0080e-05_rb,5.8471e-05_rb,6.4462e-05_rb,6.2284e-05_rb,3.2834e-05_rb/) kbo(:, 4,44, 2) = (/ & &4.6945e-05_rb,8.1180e-05_rb,8.5021e-05_rb,7.8278e-05_rb,3.5598e-05_rb/) kbo(:, 5,44, 2) = (/ & &7.1168e-05_rb,1.1121e-04_rb,1.1093e-04_rb,9.7235e-05_rb,3.8149e-05_rb/) kbo(:, 1,45, 2) = (/ & &9.7426e-06_rb,2.3333e-05_rb,2.8230e-05_rb,2.9988e-05_rb,2.1086e-05_rb/) kbo(:, 2,45, 2) = (/ & &1.5361e-05_rb,3.3173e-05_rb,3.8317e-05_rb,3.8748e-05_rb,2.3700e-05_rb/) kbo(:, 3,45, 2) = (/ & &2.4573e-05_rb,4.7011e-05_rb,5.1561e-05_rb,4.9622e-05_rb,2.6158e-05_rb/) kbo(:, 4,45, 2) = (/ & &3.8674e-05_rb,6.5958e-05_rb,6.8724e-05_rb,6.2989e-05_rb,2.8488e-05_rb/) kbo(:, 5,45, 2) = (/ & &5.9269e-05_rb,9.1392e-05_rb,9.0638e-05_rb,7.9041e-05_rb,3.0648e-05_rb/) kbo(:, 1,46, 2) = (/ & &8.0813e-06_rb,1.8394e-05_rb,2.2048e-05_rb,2.3302e-05_rb,1.6499e-05_rb/) kbo(:, 2,46, 2) = (/ & &1.2533e-05_rb,2.6309e-05_rb,3.0179e-05_rb,3.0408e-05_rb,1.8696e-05_rb/) kbo(:, 3,46, 2) = (/ & &2.0044e-05_rb,3.7660e-05_rb,4.1056e-05_rb,3.9350e-05_rb,2.0768e-05_rb/) kbo(:, 4,46, 2) = (/ & &3.1770e-05_rb,5.3410e-05_rb,5.5319e-05_rb,5.0478e-05_rb,2.2728e-05_rb/) kbo(:, 5,46, 2) = (/ & &4.9215e-05_rb,7.4898e-05_rb,7.3800e-05_rb,6.4019e-05_rb,2.4552e-05_rb/) kbo(:, 1,47, 2) = (/ & &6.6192e-06_rb,1.4238e-05_rb,1.6907e-05_rb,1.7806e-05_rb,1.2778e-05_rb/) kbo(:, 2,47, 2) = (/ & &9.9788e-06_rb,2.0419e-05_rb,2.3301e-05_rb,2.3456e-05_rb,1.4630e-05_rb/) kbo(:, 3,47, 2) = (/ & &1.5864e-05_rb,2.9439e-05_rb,3.2011e-05_rb,3.0659e-05_rb,1.6375e-05_rb/) kbo(:, 4,47, 2) = (/ & &2.5298e-05_rb,4.2209e-05_rb,4.3617e-05_rb,3.9755e-05_rb,1.8027e-05_rb/) kbo(:, 5,47, 2) = (/ & &3.9602e-05_rb,5.9887e-05_rb,5.8840e-05_rb,5.0962e-05_rb,1.9570e-05_rb/) kbo(:, 1,48, 2) = (/ & &5.6786e-06_rb,1.1254e-05_rb,1.3112e-05_rb,1.3664e-05_rb,9.8559e-06_rb/) kbo(:, 2,48, 2) = (/ & &8.2415e-06_rb,1.6109e-05_rb,1.8176e-05_rb,1.8172e-05_rb,1.1406e-05_rb/) kbo(:, 3,48, 2) = (/ & &1.2920e-05_rb,2.3359e-05_rb,2.5209e-05_rb,2.4020e-05_rb,1.2882e-05_rb/) kbo(:, 4,48, 2) = (/ & &2.0668e-05_rb,3.3871e-05_rb,3.4762e-05_rb,3.1514e-05_rb,1.4268e-05_rb/) kbo(:, 5,48, 2) = (/ & &3.2629e-05_rb,4.8666e-05_rb,4.7495e-05_rb,4.0906e-05_rb,1.5578e-05_rb/) kbo(:, 1,49, 2) = (/ & &5.1748e-06_rb,9.2021e-06_rb,1.0379e-05_rb,1.0585e-05_rb,7.5665e-06_rb/) kbo(:, 2,49, 2) = (/ & &7.1867e-06_rb,1.3062e-05_rb,1.4427e-05_rb,1.4215e-05_rb,8.8627e-06_rb/) kbo(:, 3,49, 2) = (/ & &1.1001e-05_rb,1.9012e-05_rb,2.0206e-05_rb,1.9017e-05_rb,1.0112e-05_rb/) kbo(:, 4,49, 2) = (/ & &1.7557e-05_rb,2.7865e-05_rb,2.8224e-05_rb,2.5298e-05_rb,1.1279e-05_rb/) kbo(:, 5,49, 2) = (/ & &2.7899e-05_rb,4.0582e-05_rb,3.9130e-05_rb,3.3306e-05_rb,1.2389e-05_rb/) kbo(:, 1,50, 2) = (/ & &4.6020e-06_rb,7.4638e-06_rb,8.1645e-06_rb,8.1559e-06_rb,5.7980e-06_rb/) kbo(:, 2,50, 2) = (/ & &6.1191e-06_rb,1.0436e-05_rb,1.1320e-05_rb,1.1020e-05_rb,6.8814e-06_rb/) kbo(:, 3,50, 2) = (/ & &9.0820e-06_rb,1.5149e-05_rb,1.5926e-05_rb,1.4870e-05_rb,7.9274e-06_rb/) kbo(:, 4,50, 2) = (/ & &1.4367e-05_rb,2.2331e-05_rb,2.2448e-05_rb,1.9990e-05_rb,8.9091e-06_rb/) kbo(:, 5,50, 2) = (/ & &2.2930e-05_rb,3.2870e-05_rb,3.1485e-05_rb,2.6634e-05_rb,9.8428e-06_rb/) kbo(:, 1,51, 2) = (/ & &4.0738e-06_rb,6.0767e-06_rb,6.4322e-06_rb,6.2775e-06_rb,4.4265e-06_rb/) kbo(:, 2,51, 2) = (/ & &5.2028e-06_rb,8.3182e-06_rb,8.8519e-06_rb,8.5040e-06_rb,5.3268e-06_rb/) kbo(:, 3,51, 2) = (/ & &7.4386e-06_rb,1.1969e-05_rb,1.2454e-05_rb,1.1549e-05_rb,6.2015e-06_rb/) kbo(:, 4,51, 2) = (/ & &1.1580e-05_rb,1.7676e-05_rb,1.7666e-05_rb,1.5659e-05_rb,7.0249e-06_rb/) kbo(:, 5,51, 2) = (/ & &1.8500e-05_rb,2.6231e-05_rb,2.5018e-05_rb,2.1082e-05_rb,7.8088e-06_rb/) kbo(:, 1,52, 2) = (/ & &3.7602e-06_rb,5.1251e-06_rb,5.1954e-06_rb,4.8922e-06_rb,3.3637e-06_rb/) kbo(:, 2,52, 2) = (/ & &4.6219e-06_rb,6.8269e-06_rb,7.0581e-06_rb,6.6280e-06_rb,4.1074e-06_rb/) kbo(:, 3,52, 2) = (/ & &6.3416e-06_rb,9.6823e-06_rb,9.8934e-06_rb,9.0485e-06_rb,4.8363e-06_rb/) kbo(:, 4,52, 2) = (/ & &9.6360e-06_rb,1.4271e-05_rb,1.4108e-05_rb,1.2374e-05_rb,5.5264e-06_rb/) kbo(:, 5,52, 2) = (/ & &1.5337e-05_rb,2.1320e-05_rb,2.0165e-05_rb,1.6846e-05_rb,6.1865e-06_rb/) kbo(:, 1,53, 2) = (/ & &3.6702e-06_rb,4.5390e-06_rb,4.3659e-06_rb,3.9002e-06_rb,2.5423e-06_rb/) kbo(:, 2,53, 2) = (/ & &4.3437e-06_rb,5.8533e-06_rb,5.8072e-06_rb,5.2588e-06_rb,3.1537e-06_rb/) kbo(:, 3,53, 2) = (/ & &5.7127e-06_rb,8.1219e-06_rb,8.0674e-06_rb,7.2006e-06_rb,3.7613e-06_rb/) kbo(:, 4,53, 2) = (/ & &8.4068e-06_rb,1.1886e-05_rb,1.1528e-05_rb,9.9298e-06_rb,4.3399e-06_rb/) kbo(:, 5,53, 2) = (/ & &1.3242e-05_rb,1.7846e-05_rb,1.6632e-05_rb,1.3680e-05_rb,4.8970e-06_rb/) kbo(:, 1,54, 2) = (/ & &3.1403e-06_rb,3.6924e-06_rb,3.4557e-06_rb,2.9996e-06_rb,1.9177e-06_rb/) kbo(:, 2,54, 2) = (/ & &3.5986e-06_rb,4.6301e-06_rb,4.4986e-06_rb,4.0115e-06_rb,2.4155e-06_rb/) kbo(:, 3,54, 2) = (/ & &4.5617e-06_rb,6.2669e-06_rb,6.1686e-06_rb,5.4741e-06_rb,2.9175e-06_rb/) kbo(:, 4,54, 2) = (/ & &6.4783e-06_rb,9.0433e-06_rb,8.7626e-06_rb,7.5562e-06_rb,3.4007e-06_rb/) kbo(:, 5,54, 2) = (/ & &1.0042e-05_rb,1.3533e-05_rb,1.2655e-05_rb,1.0455e-05_rb,3.8639e-06_rb/) kbo(:, 1,55, 2) = (/ & &2.4739e-06_rb,2.8343e-06_rb,2.6165e-06_rb,2.2420e-06_rb,1.4427e-06_rb/) kbo(:, 2,55, 2) = (/ & &2.7553e-06_rb,3.4672e-06_rb,3.3435e-06_rb,2.9758e-06_rb,1.8442e-06_rb/) kbo(:, 3,55, 2) = (/ & &3.3782e-06_rb,4.5817e-06_rb,4.5186e-06_rb,4.0371e-06_rb,2.2544e-06_rb/) kbo(:, 4,55, 2) = (/ & &4.6246e-06_rb,6.4927e-06_rb,6.3529e-06_rb,5.5548e-06_rb,2.6558e-06_rb/) kbo(:, 5,55, 2) = (/ & &7.0125e-06_rb,9.6319e-06_rb,9.1393e-06_rb,7.6813e-06_rb,3.0372e-06_rb/) kbo(:, 1,56, 2) = (/ & &1.9604e-06_rb,2.1929e-06_rb,1.9920e-06_rb,1.6797e-06_rb,1.0797e-06_rb/) kbo(:, 2,56, 2) = (/ & &2.1351e-06_rb,2.6170e-06_rb,2.4998e-06_rb,2.2137e-06_rb,1.4022e-06_rb/) kbo(:, 3,56, 2) = (/ & &2.5317e-06_rb,3.3754e-06_rb,3.3236e-06_rb,2.9840e-06_rb,1.7372e-06_rb/) kbo(:, 4,56, 2) = (/ & &3.3387e-06_rb,4.6862e-06_rb,4.6202e-06_rb,4.0882e-06_rb,2.0679e-06_rb/) kbo(:, 5,56, 2) = (/ & &4.9234e-06_rb,6.8724e-06_rb,6.6108e-06_rb,5.6459e-06_rb,2.3854e-06_rb/) kbo(:, 1,57, 2) = (/ & &1.5649e-06_rb,1.7047e-06_rb,1.5250e-06_rb,1.2613e-06_rb,8.0294e-07_rb/) kbo(:, 2,57, 2) = (/ & &1.6685e-06_rb,1.9908e-06_rb,1.8801e-06_rb,1.6502e-06_rb,1.0613e-06_rb/) kbo(:, 3,57, 2) = (/ & &1.9178e-06_rb,2.5066e-06_rb,2.4556e-06_rb,2.2101e-06_rb,1.3329e-06_rb/) kbo(:, 4,57, 2) = (/ & &2.4407e-06_rb,3.4025e-06_rb,3.3722e-06_rb,3.0127e-06_rb,1.6045e-06_rb/) kbo(:, 5,57, 2) = (/ & &3.4802e-06_rb,4.9175e-06_rb,4.7870e-06_rb,4.1514e-06_rb,1.8688e-06_rb/) kbo(:, 1,58, 2) = (/ & &3.3188e-07_rb,4.3313e-07_rb,4.9294e-07_rb,5.6291e-07_rb,5.9615e-07_rb/) kbo(:, 2,58, 2) = (/ & &3.4670e-07_rb,4.9696e-07_rb,5.9930e-07_rb,7.3314e-07_rb,8.0253e-07_rb/) kbo(:, 3,58, 2) = (/ & &3.8806e-07_rb,6.1237e-07_rb,7.7019e-07_rb,9.7654e-07_rb,1.0216e-06_rb/) kbo(:, 4,58, 2) = (/ & &4.7831e-07_rb,8.1333e-07_rb,1.0442e-06_rb,1.3240e-06_rb,1.2449e-06_rb/) kbo(:, 5,58, 2) = (/ & &6.5898e-07_rb,1.1558e-06_rb,1.4682e-06_rb,1.8176e-06_rb,1.4615e-06_rb/) kbo(:, 1,59, 2) = (/ & &3.1712e-07_rb,4.1538e-07_rb,4.5873e-07_rb,4.9478e-07_rb,4.6737e-07_rb/) kbo(:, 2,59, 2) = (/ & &3.2863e-07_rb,4.7977e-07_rb,5.6611e-07_rb,6.5498e-07_rb,6.3397e-07_rb/) kbo(:, 3,59, 2) = (/ & &3.6418e-07_rb,5.9318e-07_rb,7.3191e-07_rb,8.7648e-07_rb,8.1119e-07_rb/) kbo(:, 4,59, 2) = (/ & &4.4347e-07_rb,7.8664e-07_rb,9.8989e-07_rb,1.1827e-06_rb,9.9218e-07_rb/) kbo(:, 5,59, 2) = (/ & &6.0215e-07_rb,1.1090e-06_rb,1.3813e-06_rb,1.6064e-06_rb,1.1684e-06_rb/) kbo(:, 1,13, 3) = (/ & &9.1540e-03_rb,2.0983e-02_rb,2.7409e-02_rb,3.0450e-02_rb,2.3144e-02_rb/) kbo(:, 2,13, 3) = (/ & &1.5150e-02_rb,2.9836e-02_rb,3.7088e-02_rb,3.9562e-02_rb,2.6157e-02_rb/) kbo(:, 3,13, 3) = (/ & &2.6705e-02_rb,4.3495e-02_rb,5.0489e-02_rb,5.0868e-02_rb,2.9169e-02_rb/) kbo(:, 4,13, 3) = (/ & &4.6501e-02_rb,6.3525e-02_rb,6.8930e-02_rb,6.5213e-02_rb,3.2207e-02_rb/) kbo(:, 5,13, 3) = (/ & &7.7883e-02_rb,9.1957e-02_rb,9.3471e-02_rb,8.3394e-02_rb,3.5205e-02_rb/) kbo(:, 1,14, 3) = (/ & &4.9769e-03_rb,1.5542e-02_rb,2.1404e-02_rb,2.4888e-02_rb,2.0102e-02_rb/) kbo(:, 2,14, 3) = (/ & &8.3891e-03_rb,2.1811e-02_rb,2.8513e-02_rb,3.1898e-02_rb,2.2689e-02_rb/) kbo(:, 3,14, 3) = (/ & &1.4857e-02_rb,3.0975e-02_rb,3.8046e-02_rb,4.0288e-02_rb,2.5289e-02_rb/) kbo(:, 4,14, 3) = (/ & &2.5874e-02_rb,4.3884e-02_rb,5.0681e-02_rb,5.0529e-02_rb,2.7965e-02_rb/) kbo(:, 5,14, 3) = (/ & &4.3258e-02_rb,6.1604e-02_rb,6.6800e-02_rb,6.3228e-02_rb,3.0564e-02_rb/) kbo(:, 1,15, 3) = (/ & &2.7780e-03_rb,1.1828e-02_rb,1.7073e-02_rb,2.0490e-02_rb,1.7377e-02_rb/) kbo(:, 2,15, 3) = (/ & &4.7591e-03_rb,1.6367e-02_rb,2.2382e-02_rb,2.5900e-02_rb,1.9610e-02_rb/) kbo(:, 3,15, 3) = (/ & &8.4707e-03_rb,2.2715e-02_rb,2.9226e-02_rb,3.2287e-02_rb,2.1849e-02_rb/) kbo(:, 4,15, 3) = (/ & &1.4726e-02_rb,3.1294e-02_rb,3.8074e-02_rb,3.9870e-02_rb,2.4127e-02_rb/) kbo(:, 5,15, 3) = (/ & &2.4582e-02_rb,4.2700e-02_rb,4.9087e-02_rb,4.8962e-02_rb,2.6357e-02_rb/) kbo(:, 1,16, 3) = (/ & &1.8575e-03_rb,9.6428e-03_rb,1.4258e-02_rb,1.7308e-02_rb,1.4967e-02_rb/) kbo(:, 2,16, 3) = (/ & &3.2295e-03_rb,1.3222e-02_rb,1.8534e-02_rb,2.1716e-02_rb,1.6894e-02_rb/) kbo(:, 3,16, 3) = (/ & &5.7622e-03_rb,1.8134e-02_rb,2.3952e-02_rb,2.6895e-02_rb,1.8844e-02_rb/) kbo(:, 4,16, 3) = (/ & &1.0014e-02_rb,2.4628e-02_rb,3.0790e-02_rb,3.2975e-02_rb,2.0792e-02_rb/) kbo(:, 5,16, 3) = (/ & &1.6651e-02_rb,3.3072e-02_rb,3.9202e-02_rb,4.0100e-02_rb,2.2651e-02_rb/) kbo(:, 1,17, 3) = (/ & &1.2913e-03_rb,7.9469e-03_rb,1.1927e-02_rb,1.4612e-02_rb,1.2832e-02_rb/) kbo(:, 2,17, 3) = (/ & &2.2741e-03_rb,1.0816e-02_rb,1.5424e-02_rb,1.8211e-02_rb,1.4484e-02_rb/) kbo(:, 3,17, 3) = (/ & &4.0659e-03_rb,1.4661e-02_rb,1.9799e-02_rb,2.2441e-02_rb,1.6158e-02_rb/) kbo(:, 4,17, 3) = (/ & &7.0575e-03_rb,1.9668e-02_rb,2.5205e-02_rb,2.7372e-02_rb,1.7784e-02_rb/) kbo(:, 5,17, 3) = (/ & &1.1701e-02_rb,2.6124e-02_rb,3.1755e-02_rb,3.3025e-02_rb,1.9312e-02_rb/) kbo(:, 1,18, 3) = (/ & &9.2490e-04_rb,6.5924e-03_rb,1.0000e-02_rb,1.2327e-02_rb,1.0954e-02_rb/) kbo(:, 2,18, 3) = (/ & &1.6450e-03_rb,8.9024e-03_rb,1.2876e-02_rb,1.5279e-02_rb,1.2362e-02_rb/) kbo(:, 3,18, 3) = (/ & &2.9476e-03_rb,1.1938e-02_rb,1.6432e-02_rb,1.8727e-02_rb,1.3771e-02_rb/) kbo(:, 4,18, 3) = (/ & &5.1050e-03_rb,1.5852e-02_rb,2.0747e-02_rb,2.2702e-02_rb,1.5108e-02_rb/) kbo(:, 5,18, 3) = (/ & &8.4407e-03_rb,2.0877e-02_rb,2.5905e-02_rb,2.7220e-02_rb,1.6353e-02_rb/) kbo(:, 1,19, 3) = (/ & &6.5306e-04_rb,5.4276e-03_rb,8.3228e-03_rb,1.0321e-02_rb,9.3064e-03_rb/) kbo(:, 2,19, 3) = (/ & &1.1720e-03_rb,7.2659e-03_rb,1.0659e-02_rb,1.2719e-02_rb,1.0490e-02_rb/) kbo(:, 3,19, 3) = (/ & &2.1010e-03_rb,9.6452e-03_rb,1.3501e-02_rb,1.5485e-02_rb,1.1656e-02_rb/) kbo(:, 4,19, 3) = (/ & &3.6298e-03_rb,1.2682e-02_rb,1.6890e-02_rb,1.8630e-02_rb,1.2744e-02_rb/) kbo(:, 5,19, 3) = (/ & &5.9733e-03_rb,1.6533e-02_rb,2.0894e-02_rb,2.2160e-02_rb,1.3725e-02_rb/) kbo(:, 1,20, 3) = (/ & &5.0525e-04_rb,4.5786e-03_rb,7.0416e-03_rb,8.7290e-03_rb,7.8885e-03_rb/) kbo(:, 2,20, 3) = (/ & &9.1391e-04_rb,6.1018e-03_rb,8.9804e-03_rb,1.0717e-02_rb,8.8768e-03_rb/) kbo(:, 3,20, 3) = (/ & &1.6371e-03_rb,8.0525e-03_rb,1.1310e-02_rb,1.2976e-02_rb,9.8259e-03_rb/) kbo(:, 4,20, 3) = (/ & &2.8150e-03_rb,1.0522e-02_rb,1.4057e-02_rb,1.5517e-02_rb,1.0692e-02_rb/) kbo(:, 5,20, 3) = (/ & &4.6066e-03_rb,1.3646e-02_rb,1.7296e-02_rb,1.8359e-02_rb,1.1448e-02_rb/) kbo(:, 1,21, 3) = (/ & &4.0425e-04_rb,3.8829e-03_rb,5.9693e-03_rb,7.3863e-03_rb,6.6651e-03_rb/) kbo(:, 2,21, 3) = (/ & &7.3484e-04_rb,5.1547e-03_rb,7.5787e-03_rb,9.0292e-03_rb,7.4787e-03_rb/) kbo(:, 3,21, 3) = (/ & &1.3153e-03_rb,6.7705e-03_rb,9.4934e-03_rb,1.0877e-02_rb,8.2368e-03_rb/) kbo(:, 4,21, 3) = (/ & &2.2503e-03_rb,8.8142e-03_rb,1.1739e-02_rb,1.2939e-02_rb,8.9114e-03_rb/) kbo(:, 5,21, 3) = (/ & &3.6575e-03_rb,1.1380e-02_rb,1.4377e-02_rb,1.5231e-02_rb,9.5025e-03_rb/) kbo(:, 1,22, 3) = (/ & &3.4523e-04_rb,3.3635e-03_rb,5.1429e-03_rb,6.3294e-03_rb,5.6535e-03_rb/) kbo(:, 2,22, 3) = (/ & &6.2993e-04_rb,4.4492e-03_rb,6.4923e-03_rb,7.6957e-03_rb,6.3107e-03_rb/) kbo(:, 3,22, 3) = (/ & &1.1206e-03_rb,5.8192e-03_rb,8.0871e-03_rb,9.2166e-03_rb,6.9018e-03_rb/) kbo(:, 4,22, 3) = (/ & &1.8990e-03_rb,7.5458e-03_rb,9.9517e-03_rb,1.0900e-02_rb,7.4316e-03_rb/) kbo(:, 5,22, 3) = (/ & &3.0583e-03_rb,9.7051e-03_rb,1.2139e-02_rb,1.2766e-02_rb,7.8941e-03_rb/) kbo(:, 1,23, 3) = (/ & &2.9783e-04_rb,2.9108e-03_rb,4.4177e-03_rb,5.4056e-03_rb,4.7807e-03_rb/) kbo(:, 2,23, 3) = (/ & &5.4387e-04_rb,3.8320e-03_rb,5.5435e-03_rb,6.5345e-03_rb,5.2974e-03_rb/) kbo(:, 3,23, 3) = (/ & &9.5952e-04_rb,4.9950e-03_rb,6.8655e-03_rb,7.7757e-03_rb,5.7630e-03_rb/) kbo(:, 4,23, 3) = (/ & &1.6092e-03_rb,6.4496e-03_rb,8.4095e-03_rb,9.1440e-03_rb,6.1817e-03_rb/) kbo(:, 5,23, 3) = (/ & &2.5684e-03_rb,8.2494e-03_rb,1.0215e-02_rb,1.0668e-02_rb,6.5447e-03_rb/) kbo(:, 1,24, 3) = (/ & &2.5715e-04_rb,2.5095e-03_rb,3.7777e-03_rb,4.5997e-03_rb,4.0260e-03_rb/) kbo(:, 2,24, 3) = (/ & &4.6827e-04_rb,3.2888e-03_rb,4.7107e-03_rb,5.5207e-03_rb,4.4325e-03_rb/) kbo(:, 3,24, 3) = (/ & &8.1828e-04_rb,4.2677e-03_rb,5.8000e-03_rb,6.5285e-03_rb,4.8028e-03_rb/) kbo(:, 4,24, 3) = (/ & &1.3581e-03_rb,5.4776e-03_rb,7.0696e-03_rb,7.6441e-03_rb,5.1338e-03_rb/) kbo(:, 5,24, 3) = (/ & &2.1494e-03_rb,6.9550e-03_rb,8.5500e-03_rb,8.8910e-03_rb,5.4193e-03_rb/) kbo(:, 1,25, 3) = (/ & &2.2632e-04_rb,2.1696e-03_rb,3.2330e-03_rb,3.9113e-03_rb,3.3801e-03_rb/) kbo(:, 2,25, 3) = (/ & &4.0936e-04_rb,2.8320e-03_rb,4.0052e-03_rb,4.6615e-03_rb,3.7035e-03_rb/) kbo(:, 3,25, 3) = (/ & &7.0836e-04_rb,3.6547e-03_rb,4.9096e-03_rb,5.4885e-03_rb,3.9989e-03_rb/) kbo(:, 4,25, 3) = (/ & &1.1642e-03_rb,4.6613e-03_rb,5.9642e-03_rb,6.4094e-03_rb,4.2600e-03_rb/) kbo(:, 5,25, 3) = (/ & &1.8243e-03_rb,5.8764e-03_rb,7.1830e-03_rb,7.4369e-03_rb,4.4844e-03_rb/) kbo(:, 1,26, 3) = (/ & &2.0471e-04_rb,1.8893e-03_rb,2.7768e-03_rb,3.3315e-03_rb,2.8361e-03_rb/) kbo(:, 2,26, 3) = (/ & &3.6709e-04_rb,2.4543e-03_rb,3.4258e-03_rb,3.9516e-03_rb,3.0939e-03_rb/) kbo(:, 3,26, 3) = (/ & &6.2789e-04_rb,3.1504e-03_rb,4.1849e-03_rb,4.6387e-03_rb,3.3286e-03_rb/) kbo(:, 4,26, 3) = (/ & &1.0213e-03_rb,3.9950e-03_rb,5.0687e-03_rb,5.4088e-03_rb,3.5346e-03_rb/) kbo(:, 5,26, 3) = (/ & &1.5815e-03_rb,5.0074e-03_rb,6.0787e-03_rb,6.2593e-03_rb,3.7107e-03_rb/) kbo(:, 1,27, 3) = (/ & &1.9251e-04_rb,1.6617e-03_rb,2.4029e-03_rb,2.8514e-03_rb,2.3762e-03_rb/) kbo(:, 2,27, 3) = (/ & &3.4185e-04_rb,2.1525e-03_rb,2.9600e-03_rb,3.3730e-03_rb,2.5825e-03_rb/) kbo(:, 3,27, 3) = (/ & &5.7778e-04_rb,2.7512e-03_rb,3.6092e-03_rb,3.9563e-03_rb,2.7684e-03_rb/) kbo(:, 4,27, 3) = (/ & &9.2854e-04_rb,3.4753e-03_rb,4.3621e-03_rb,4.6091e-03_rb,2.9308e-03_rb/) kbo(:, 5,27, 3) = (/ & &1.4199e-03_rb,4.3436e-03_rb,5.2156e-03_rb,5.3258e-03_rb,3.0691e-03_rb/) kbo(:, 1,28, 3) = (/ & &1.8568e-04_rb,1.4731e-03_rb,2.0943e-03_rb,2.4502e-03_rb,1.9883e-03_rb/) kbo(:, 2,28, 3) = (/ & &3.2639e-04_rb,1.9038e-03_rb,2.5783e-03_rb,2.8978e-03_rb,2.1535e-03_rb/) kbo(:, 3,28, 3) = (/ & &5.4487e-04_rb,2.4257e-03_rb,3.1398e-03_rb,3.3991e-03_rb,2.3010e-03_rb/) kbo(:, 4,28, 3) = (/ & &8.6497e-04_rb,3.0580e-03_rb,3.7865e-03_rb,3.9564e-03_rb,2.4290e-03_rb/) kbo(:, 5,28, 3) = (/ & &1.3039e-03_rb,3.8186e-03_rb,4.5211e-03_rb,4.5655e-03_rb,2.5382e-03_rb/) kbo(:, 1,29, 3) = (/ & &1.9062e-04_rb,1.3364e-03_rb,1.8603e-03_rb,2.1354e-03_rb,1.6643e-03_rb/) kbo(:, 2,29, 3) = (/ & &3.3121e-04_rb,1.7267e-03_rb,2.2927e-03_rb,2.5300e-03_rb,1.7960e-03_rb/) kbo(:, 3,29, 3) = (/ & &5.4570e-04_rb,2.2011e-03_rb,2.7931e-03_rb,2.9723e-03_rb,1.9129e-03_rb/) kbo(:, 4,29, 3) = (/ & &8.5435e-04_rb,2.7794e-03_rb,3.3678e-03_rb,3.4607e-03_rb,2.0139e-03_rb/) kbo(:, 5,29, 3) = (/ & &1.2701e-03_rb,3.4715e-03_rb,4.0279e-03_rb,3.9937e-03_rb,2.1000e-03_rb/) kbo(:, 1,30, 3) = (/ & &2.0043e-04_rb,1.2258e-03_rb,1.6689e-03_rb,1.8766e-03_rb,1.3916e-03_rb/) kbo(:, 2,30, 3) = (/ & &3.4350e-04_rb,1.5850e-03_rb,2.0586e-03_rb,2.2288e-03_rb,1.4967e-03_rb/) kbo(:, 3,30, 3) = (/ & &5.5868e-04_rb,2.0253e-03_rb,2.5096e-03_rb,2.6211e-03_rb,1.5893e-03_rb/) kbo(:, 4,30, 3) = (/ & &8.6173e-04_rb,2.5636e-03_rb,3.0320e-03_rb,3.0532e-03_rb,1.6692e-03_rb/) kbo(:, 5,30, 3) = (/ & &1.2648e-03_rb,3.2006e-03_rb,3.6329e-03_rb,3.5289e-03_rb,1.7373e-03_rb/) kbo(:, 1,31, 3) = (/ & &2.2172e-04_rb,1.1517e-03_rb,1.5273e-03_rb,1.6764e-03_rb,1.1637e-03_rb/) kbo(:, 2,31, 3) = (/ & &3.7478e-04_rb,1.4949e-03_rb,1.8875e-03_rb,1.9960e-03_rb,1.2474e-03_rb/) kbo(:, 3,31, 3) = (/ & &6.0019e-04_rb,1.9228e-03_rb,2.3094e-03_rb,2.3523e-03_rb,1.3210e-03_rb/) kbo(:, 4,31, 3) = (/ & &9.1186e-04_rb,2.4398e-03_rb,2.8016e-03_rb,2.7471e-03_rb,1.3843e-03_rb/) kbo(:, 5,31, 3) = (/ & &1.3231e-03_rb,3.0462e-03_rb,3.3613e-03_rb,3.1855e-03_rb,1.4373e-03_rb/) kbo(:, 1,32, 3) = (/ & &2.4768e-04_rb,1.0937e-03_rb,1.4089e-03_rb,1.5091e-03_rb,9.7256e-04_rb/) kbo(:, 2,32, 3) = (/ & &4.1248e-04_rb,1.4292e-03_rb,1.7477e-03_rb,1.8006e-03_rb,1.0394e-03_rb/) kbo(:, 3,32, 3) = (/ & &6.5047e-04_rb,1.8467e-03_rb,2.1484e-03_rb,2.1275e-03_rb,1.0979e-03_rb/) kbo(:, 4,32, 3) = (/ & &9.7457e-04_rb,2.3473e-03_rb,2.6140e-03_rb,2.4947e-03_rb,1.1482e-03_rb/) kbo(:, 5,32, 3) = (/ & &1.3990e-03_rb,2.9324e-03_rb,3.1399e-03_rb,2.8984e-03_rb,1.1898e-03_rb/) kbo(:, 1,33, 3) = (/ & &2.8078e-04_rb,1.0552e-03_rb,1.3156e-03_rb,1.3710e-03_rb,8.1280e-04_rb/) kbo(:, 2,33, 3) = (/ & &4.6027e-04_rb,1.3891e-03_rb,1.6405e-03_rb,1.6404e-03_rb,8.6605e-04_rb/) kbo(:, 3,33, 3) = (/ & &7.1527e-04_rb,1.8015e-03_rb,2.0264e-03_rb,1.9473e-03_rb,9.1257e-04_rb/) kbo(:, 4,33, 3) = (/ & &1.0579e-03_rb,2.2936e-03_rb,2.4711e-03_rb,2.2904e-03_rb,9.5249e-04_rb/) kbo(:, 5,33, 3) = (/ & &1.5037e-03_rb,2.8717e-03_rb,2.9734e-03_rb,2.6646e-03_rb,9.8557e-04_rb/) kbo(:, 1,34, 3) = (/ & &3.0359e-04_rb,1.0038e-03_rb,1.2140e-03_rb,1.2334e-03_rb,6.7695e-04_rb/) kbo(:, 2,34, 3) = (/ & &4.9090e-04_rb,1.3275e-03_rb,1.5216e-03_rb,1.4814e-03_rb,7.1957e-04_rb/) kbo(:, 3,34, 3) = (/ & &7.5358e-04_rb,1.7240e-03_rb,1.8846e-03_rb,1.7651e-03_rb,7.5712e-04_rb/) kbo(:, 4,34, 3) = (/ & &1.1033e-03_rb,2.1975e-03_rb,2.2999e-03_rb,2.0785e-03_rb,7.8887e-04_rb/) kbo(:, 5,34, 3) = (/ & &1.5542e-03_rb,2.7592e-03_rb,2.7749e-03_rb,2.4194e-03_rb,8.1541e-04_rb/) kbo(:, 1,35, 3) = (/ & &3.1210e-04_rb,9.3394e-04_rb,1.1014e-03_rb,1.0942e-03_rb,5.6016e-04_rb/) kbo(:, 2,35, 3) = (/ & &5.0058e-04_rb,1.2412e-03_rb,1.3879e-03_rb,1.3212e-03_rb,5.9529e-04_rb/) kbo(:, 3,35, 3) = (/ & &7.6299e-04_rb,1.6182e-03_rb,1.7248e-03_rb,1.5791e-03_rb,6.2556e-04_rb/) kbo(:, 4,35, 3) = (/ & &1.1110e-03_rb,2.0696e-03_rb,2.1107e-03_rb,1.8624e-03_rb,6.5155e-04_rb/) kbo(:, 5,35, 3) = (/ & &1.5579e-03_rb,2.6064e-03_rb,2.5562e-03_rb,2.1725e-03_rb,6.7276e-04_rb/) kbo(:, 1,36, 3) = (/ & &3.0156e-04_rb,8.4185e-04_rb,9.7484e-04_rb,9.5194e-04_rb,4.6045e-04_rb/) kbo(:, 2,36, 3) = (/ & &4.8313e-04_rb,1.1258e-03_rb,1.2357e-03_rb,1.1559e-03_rb,4.8953e-04_rb/) kbo(:, 3,36, 3) = (/ & &7.3505e-04_rb,1.4756e-03_rb,1.5422e-03_rb,1.3864e-03_rb,5.1450e-04_rb/) kbo(:, 4,36, 3) = (/ & &1.0692e-03_rb,1.8983e-03_rb,1.8970e-03_rb,1.6403e-03_rb,5.3594e-04_rb/) kbo(:, 5,36, 3) = (/ & &1.4983e-03_rb,2.4025e-03_rb,2.3079e-03_rb,1.9210e-03_rb,5.5373e-04_rb/) kbo(:, 1,37, 3) = (/ & &2.6336e-04_rb,7.1618e-04_rb,8.2306e-04_rb,7.9778e-04_rb,3.7474e-04_rb/) kbo(:, 2,37, 3) = (/ & &4.2453e-04_rb,9.6471e-04_rb,1.0505e-03_rb,9.7428e-04_rb,3.9893e-04_rb/) kbo(:, 3,37, 3) = (/ & &6.5002e-04_rb,1.2743e-03_rb,1.3189e-03_rb,1.1741e-03_rb,4.2011e-04_rb/) kbo(:, 4,37, 3) = (/ & &9.5041e-04_rb,1.6515e-03_rb,1.6323e-03_rb,1.3957e-03_rb,4.3822e-04_rb/) kbo(:, 5,37, 3) = (/ & &1.3379e-03_rb,2.1029e-03_rb,1.9967e-03_rb,1.6424e-03_rb,4.5330e-04_rb/) kbo(:, 1,38, 3) = (/ & &2.3216e-04_rb,6.1241e-04_rb,6.9804e-04_rb,6.7090e-04_rb,3.0479e-04_rb/) kbo(:, 2,38, 3) = (/ & &3.7692e-04_rb,8.3215e-04_rb,8.9807e-04_rb,8.2465e-04_rb,3.2506e-04_rb/) kbo(:, 3,38, 3) = (/ & &5.8109e-04_rb,1.1090e-03_rb,1.1350e-03_rb,9.9936e-04_rb,3.4289e-04_rb/) kbo(:, 4,38, 3) = (/ & &8.5435e-04_rb,1.4493e-03_rb,1.4148e-03_rb,1.1944e-03_rb,3.5825e-04_rb/) kbo(:, 5,38, 3) = (/ & &1.2083e-03_rb,1.8590e-03_rb,1.7421e-03_rb,1.4132e-03_rb,3.7105e-04_rb/) kbo(:, 1,39, 3) = (/ & &2.0931e-04_rb,5.3070e-04_rb,5.9845e-04_rb,5.6903e-04_rb,2.4791e-04_rb/) kbo(:, 2,39, 3) = (/ & &3.4220e-04_rb,7.2810e-04_rb,7.7651e-04_rb,7.0438e-04_rb,2.6488e-04_rb/) kbo(:, 3,39, 3) = (/ & &5.3115e-04_rb,9.8088e-04_rb,9.9044e-04_rb,8.5969e-04_rb,2.7995e-04_rb/) kbo(:, 4,39, 3) = (/ & &7.8539e-04_rb,1.2946e-03_rb,1.2451e-03_rb,1.0342e-03_rb,2.9299e-04_rb/) kbo(:, 5,39, 3) = (/ & &1.1164e-03_rb,1.6738e-03_rb,1.5453e-03_rb,1.2315e-03_rb,3.0388e-04_rb/) kbo(:, 1,40, 3) = (/ & &1.6775e-04_rb,4.2853e-04_rb,4.8421e-04_rb,4.6094e-04_rb,1.9976e-04_rb/) kbo(:, 2,40, 3) = (/ & &2.7762e-04_rb,5.9348e-04_rb,6.3343e-04_rb,5.7451e-04_rb,2.1416e-04_rb/) kbo(:, 3,40, 3) = (/ & &4.3621e-04_rb,8.0667e-04_rb,8.1437e-04_rb,7.0551e-04_rb,2.2701e-04_rb/) kbo(:, 4,40, 3) = (/ & &6.5215e-04_rb,1.0751e-03_rb,1.0317e-03_rb,8.5401e-04_rb,2.3821e-04_rb/) kbo(:, 5,40, 3) = (/ & &9.3504e-04_rb,1.4004e-03_rb,1.2886e-03_rb,1.0222e-03_rb,2.4759e-04_rb/) kbo(:, 1,41, 3) = (/ & &1.3280e-04_rb,3.4319e-04_rb,3.8888e-04_rb,3.7131e-04_rb,1.6067e-04_rb/) kbo(:, 2,41, 3) = (/ & &2.2274e-04_rb,4.8016e-04_rb,5.1341e-04_rb,4.6640e-04_rb,1.7291e-04_rb/) kbo(:, 3,41, 3) = (/ & &3.5456e-04_rb,6.5866e-04_rb,6.6545e-04_rb,5.7628e-04_rb,1.8383e-04_rb/) kbo(:, 4,41, 3) = (/ & &5.3629e-04_rb,8.8588e-04_rb,8.4970e-04_rb,7.0181e-04_rb,1.9338e-04_rb/) kbo(:, 5,41, 3) = (/ & &7.7683e-04_rb,1.1654e-03_rb,1.0693e-03_rb,8.4547e-04_rb,2.0151e-04_rb/) kbo(:, 1,42, 3) = (/ & &1.0593e-04_rb,2.7588e-04_rb,3.1299e-04_rb,2.9948e-04_rb,1.2916e-04_rb/) kbo(:, 2,42, 3) = (/ & &1.8005e-04_rb,3.9002e-04_rb,4.1742e-04_rb,3.7944e-04_rb,1.3949e-04_rb/) kbo(:, 3,42, 3) = (/ & &2.9034e-04_rb,5.4056e-04_rb,5.4599e-04_rb,4.7208e-04_rb,1.4879e-04_rb/) kbo(:, 4,42, 3) = (/ & &4.4476e-04_rb,7.3427e-04_rb,7.0341e-04_rb,5.7900e-04_rb,1.5686e-04_rb/) kbo(:, 5,42, 3) = (/ & &6.5058e-04_rb,9.7580e-04_rb,8.9207e-04_rb,7.0236e-04_rb,1.6390e-04_rb/) kbo(:, 1,43, 3) = (/ & &8.2227e-05_rb,2.1779e-04_rb,2.4797e-04_rb,2.3838e-04_rb,1.0321e-04_rb/) kbo(:, 2,43, 3) = (/ & &1.4211e-04_rb,3.1159e-04_rb,3.3460e-04_rb,3.0498e-04_rb,1.1196e-04_rb/) kbo(:, 3,43, 3) = (/ & &2.3284e-04_rb,4.3690e-04_rb,4.4252e-04_rb,3.8287e-04_rb,1.1989e-04_rb/) kbo(:, 4,43, 3) = (/ & &3.6233e-04_rb,6.0081e-04_rb,5.7601e-04_rb,4.7373e-04_rb,1.2682e-04_rb/) kbo(:, 5,43, 3) = (/ & &5.3702e-04_rb,8.0864e-04_rb,7.3797e-04_rb,5.7931e-04_rb,1.3294e-04_rb/) kbo(:, 1,44, 3) = (/ & &6.3384e-05_rb,1.7094e-04_rb,1.9525e-04_rb,1.8879e-04_rb,8.2201e-05_rb/) kbo(:, 2,44, 3) = (/ & &1.1160e-04_rb,2.4797e-04_rb,2.6713e-04_rb,2.4425e-04_rb,8.9566e-05_rb/) kbo(:, 3,44, 3) = (/ & &1.8608e-04_rb,3.5211e-04_rb,3.5750e-04_rb,3.0979e-04_rb,9.6374e-05_rb/) kbo(:, 4,44, 3) = (/ & &2.9467e-04_rb,4.9085e-04_rb,4.7122e-04_rb,3.8724e-04_rb,1.0229e-04_rb/) kbo(:, 5,44, 3) = (/ & &4.4331e-04_rb,6.6909e-04_rb,6.1037e-04_rb,4.7753e-04_rb,1.0759e-04_rb/) kbo(:, 1,45, 3) = (/ & &4.9661e-05_rb,1.3506e-04_rb,1.5438e-04_rb,1.4993e-04_rb,6.5369e-05_rb/) kbo(:, 2,45, 3) = (/ & &8.8927e-05_rb,1.9883e-04_rb,2.1432e-04_rb,1.9642e-04_rb,7.1593e-05_rb/) kbo(:, 3,45, 3) = (/ & &1.5097e-04_rb,2.8657e-04_rb,2.9095e-04_rb,2.5226e-04_rb,7.7369e-05_rb/) kbo(:, 4,45, 3) = (/ & &2.4324e-04_rb,4.0505e-04_rb,3.8855e-04_rb,3.1866e-04_rb,8.2473e-05_rb/) kbo(:, 5,45, 3) = (/ & &3.7189e-04_rb,5.6030e-04_rb,5.1022e-04_rb,3.9740e-04_rb,8.7038e-05_rb/) kbo(:, 1,46, 3) = (/ & &3.8628e-05_rb,1.0586e-04_rb,1.2112e-04_rb,1.1814e-04_rb,5.1792e-05_rb/) kbo(:, 2,46, 3) = (/ & &7.0302e-05_rb,1.5840e-04_rb,1.7081e-04_rb,1.5701e-04_rb,5.7032e-05_rb/) kbo(:, 3,46, 3) = (/ & &1.2164e-04_rb,2.3200e-04_rb,2.3559e-04_rb,2.0456e-04_rb,6.1939e-05_rb/) kbo(:, 4,46, 3) = (/ & &1.9963e-04_rb,3.3271e-04_rb,3.1891e-04_rb,2.6146e-04_rb,6.6327e-05_rb/) kbo(:, 5,46, 3) = (/ & &3.1076e-04_rb,4.6749e-04_rb,4.2492e-04_rb,3.2997e-04_rb,7.0248e-05_rb/) kbo(:, 1,47, 3) = (/ & &2.8886e-05_rb,8.0656e-05_rb,9.2760e-05_rb,9.1121e-05_rb,4.0766e-05_rb/) kbo(:, 2,47, 3) = (/ & &5.3342e-05_rb,1.2263e-04_rb,1.3276e-04_rb,1.2283e-04_rb,4.5144e-05_rb/) kbo(:, 3,47, 3) = (/ & &9.4301e-05_rb,1.8266e-04_rb,1.8617e-04_rb,1.6258e-04_rb,4.9298e-05_rb/) kbo(:, 4,47, 3) = (/ & &1.5800e-04_rb,2.6616e-04_rb,2.5579e-04_rb,2.1061e-04_rb,5.3068e-05_rb/) kbo(:, 5,47, 3) = (/ & &2.5109e-04_rb,3.7981e-04_rb,3.4582e-04_rb,2.6887e-04_rb,5.6458e-05_rb/) kbo(:, 1,48, 3) = (/ & &2.2227e-05_rb,6.2023e-05_rb,7.1458e-05_rb,7.0462e-05_rb,3.1996e-05_rb/) kbo(:, 2,48, 3) = (/ & &4.1346e-05_rb,9.5908e-05_rb,1.0391e-04_rb,9.6415e-05_rb,3.5660e-05_rb/) kbo(:, 3,48, 3) = (/ & &7.4574e-05_rb,1.4557e-04_rb,1.4830e-04_rb,1.2990e-04_rb,3.9158e-05_rb/) kbo(:, 4,48, 3) = (/ & &1.2768e-04_rb,2.1605e-04_rb,2.0753e-04_rb,1.7110e-04_rb,4.2391e-05_rb/) kbo(:, 5,48, 3) = (/ & &2.0727e-04_rb,3.1336e-04_rb,2.8498e-04_rb,2.2145e-04_rb,4.5305e-05_rb/) kbo(:, 1,49, 3) = (/ & &1.7958e-05_rb,4.8535e-05_rb,5.5723e-05_rb,5.4851e-05_rb,2.5055e-05_rb/) kbo(:, 2,49, 3) = (/ & &3.3224e-05_rb,7.6396e-05_rb,8.2450e-05_rb,7.6323e-05_rb,2.8114e-05_rb/) kbo(:, 3,49, 3) = (/ & &6.0934e-05_rb,1.1837e-04_rb,1.1999e-04_rb,1.0483e-04_rb,3.1052e-05_rb/) kbo(:, 4,49, 3) = (/ & &1.0660e-04_rb,1.7943e-04_rb,1.7133e-04_rb,1.4083e-04_rb,3.3806e-05_rb/) kbo(:, 5,49, 3) = (/ & &1.7683e-04_rb,2.6555e-04_rb,2.4004e-04_rb,1.8562e-04_rb,3.6333e-05_rb/) kbo(:, 1,50, 3) = (/ & &1.4221e-05_rb,3.7289e-05_rb,4.2772e-05_rb,4.2112e-05_rb,1.9622e-05_rb/) kbo(:, 2,50, 3) = (/ & &2.5770e-05_rb,5.9303e-05_rb,6.4074e-05_rb,5.9411e-05_rb,2.2155e-05_rb/) kbo(:, 3,50, 3) = (/ & &4.7760e-05_rb,9.3560e-05_rb,9.4851e-05_rb,8.2933e-05_rb,2.4619e-05_rb/) kbo(:, 4,50, 3) = (/ & &8.5239e-05_rb,1.4440e-04_rb,1.3769e-04_rb,1.1329e-04_rb,2.6943e-05_rb/) kbo(:, 5,50, 3) = (/ & &1.4427e-04_rb,2.1753e-04_rb,1.9626e-04_rb,1.5178e-04_rb,2.9098e-05_rb/) kbo(:, 1,51, 3) = (/ & &1.1317e-05_rb,2.8454e-05_rb,3.2589e-05_rb,3.2092e-05_rb,1.5353e-05_rb/) kbo(:, 2,51, 3) = (/ & &1.9742e-05_rb,4.5457e-05_rb,4.9229e-05_rb,4.5791e-05_rb,1.7432e-05_rb/) kbo(:, 3,51, 3) = (/ & &3.6711e-05_rb,7.2714e-05_rb,7.3963e-05_rb,6.4841e-05_rb,1.9496e-05_rb/) kbo(:, 4,51, 3) = (/ & &6.6639e-05_rb,1.1416e-04_rb,1.0901e-04_rb,8.9977e-05_rb,2.1439e-05_rb/) kbo(:, 5,51, 3) = (/ & &1.1501e-04_rb,1.7496e-04_rb,1.5780e-04_rb,1.2232e-04_rb,2.3266e-05_rb/) kbo(:, 1,52, 3) = (/ & &9.5193e-06_rb,2.2151e-05_rb,2.5124e-05_rb,2.4603e-05_rb,1.1980e-05_rb/) kbo(:, 2,52, 3) = (/ & &1.5692e-05_rb,3.5362e-05_rb,3.8197e-05_rb,3.5510e-05_rb,1.3701e-05_rb/) kbo(:, 3,52, 3) = (/ & &2.8933e-05_rb,5.7282e-05_rb,5.8273e-05_rb,5.1019e-05_rb,1.5415e-05_rb/) kbo(:, 4,52, 3) = (/ & &5.3248e-05_rb,9.1604e-05_rb,8.7350e-05_rb,7.2017e-05_rb,1.7048e-05_rb/) kbo(:, 5,52, 3) = (/ & &9.3646e-05_rb,1.4304e-04_rb,1.2865e-04_rb,9.9576e-05_rb,1.8583e-05_rb/) kbo(:, 1,53, 3) = (/ & &8.6013e-06_rb,1.7806e-05_rb,1.9756e-05_rb,1.9080e-05_rb,9.3222e-06_rb/) kbo(:, 2,53, 3) = (/ & &1.3174e-05_rb,2.8179e-05_rb,3.0144e-05_rb,2.7850e-05_rb,1.0743e-05_rb/) kbo(:, 3,53, 3) = (/ & &2.3711e-05_rb,4.6162e-05_rb,4.6700e-05_rb,4.0629e-05_rb,1.2161e-05_rb/) kbo(:, 4,53, 3) = (/ & &4.4006e-05_rb,7.5218e-05_rb,7.1366e-05_rb,5.8426e-05_rb,1.3528e-05_rb/) kbo(:, 5,53, 3) = (/ & &7.8885e-05_rb,1.1994e-04_rb,1.0719e-04_rb,8.2389e-05_rb,1.4819e-05_rb/) kbo(:, 1,54, 3) = (/ & &6.9789e-06_rb,1.3437e-05_rb,1.4771e-05_rb,1.4238e-05_rb,7.2546e-06_rb/) kbo(:, 2,54, 3) = (/ & &9.9119e-06_rb,2.0811e-05_rb,2.2371e-05_rb,2.0824e-05_rb,8.4185e-06_rb/) kbo(:, 3,54, 3) = (/ & &1.7167e-05_rb,3.4065e-05_rb,3.4800e-05_rb,3.0574e-05_rb,9.5808e-06_rb/) kbo(:, 4,54, 3) = (/ & &3.1909e-05_rb,5.5956e-05_rb,5.3708e-05_rb,4.4436e-05_rb,1.0721e-05_rb/) kbo(:, 5,54, 3) = (/ & &5.8081e-05_rb,9.0422e-05_rb,8.1544e-05_rb,6.3307e-05_rb,1.1799e-05_rb/) kbo(:, 1,55, 3) = (/ & &5.3128e-06_rb,9.7390e-06_rb,1.0688e-05_rb,1.0358e-05_rb,5.6367e-06_rb/) kbo(:, 2,55, 3) = (/ & &6.9987e-06_rb,1.4672e-05_rb,1.5984e-05_rb,1.5113e-05_rb,6.5876e-06_rb/) kbo(:, 3,55, 3) = (/ & &1.1522e-05_rb,2.3785e-05_rb,2.4757e-05_rb,2.2203e-05_rb,7.5366e-06_rb/) kbo(:, 4,55, 3) = (/ & &2.1231e-05_rb,3.9099e-05_rb,3.8355e-05_rb,3.2404e-05_rb,8.4801e-06_rb/) kbo(:, 5,55, 3) = (/ & &3.9115e-05_rb,6.3594e-05_rb,5.8504e-05_rb,4.6398e-05_rb,9.3778e-06_rb/) kbo(:, 1,56, 3) = (/ & &4.1255e-06_rb,7.1364e-06_rb,7.7808e-06_rb,7.5482e-06_rb,4.3681e-06_rb/) kbo(:, 2,56, 3) = (/ & &5.0603e-06_rb,1.0419e-05_rb,1.1462e-05_rb,1.0974e-05_rb,5.1464e-06_rb/) kbo(:, 3,56, 3) = (/ & &7.8194e-06_rb,1.6631e-05_rb,1.7619e-05_rb,1.6112e-05_rb,5.9174e-06_rb/) kbo(:, 4,56, 3) = (/ & &1.4119e-05_rb,2.7308e-05_rb,2.7375e-05_rb,2.3608e-05_rb,6.6946e-06_rb/) kbo(:, 5,56, 3) = (/ & &2.6208e-05_rb,4.4637e-05_rb,4.1923e-05_rb,3.3985e-05_rb,7.4429e-06_rb/) kbo(:, 1,57, 3) = (/ & &3.2493e-06_rb,5.2971e-06_rb,5.6993e-06_rb,5.5117e-06_rb,3.3724e-06_rb/) kbo(:, 2,57, 3) = (/ & &3.7488e-06_rb,7.4571e-06_rb,8.2480e-06_rb,7.9737e-06_rb,4.0105e-06_rb/) kbo(:, 3,57, 3) = (/ & &5.3914e-06_rb,1.1658e-05_rb,1.2555e-05_rb,1.1685e-05_rb,4.6429e-06_rb/) kbo(:, 4,57, 3) = (/ & &9.4028e-06_rb,1.9067e-05_rb,1.9516e-05_rb,1.7175e-05_rb,5.2749e-06_rb/) kbo(:, 5,57, 3) = (/ & &1.7491e-05_rb,3.1266e-05_rb,3.0002e-05_rb,2.4856e-05_rb,5.8965e-06_rb/) kbo(:, 1,58, 3) = (/ & &6.8210e-07_rb,1.3006e-06_rb,1.7801e-06_rb,2.4088e-06_rb,2.6011e-06_rb/) kbo(:, 2,58, 3) = (/ & &7.5233e-07_rb,1.7695e-06_rb,2.5293e-06_rb,3.4612e-06_rb,3.1260e-06_rb/) kbo(:, 3,58, 3) = (/ & &1.0077e-06_rb,2.6981e-06_rb,3.8040e-06_rb,5.0545e-06_rb,3.6427e-06_rb/) kbo(:, 4,58, 3) = (/ & &1.6789e-06_rb,4.3767e-06_rb,5.8928e-06_rb,7.4329e-06_rb,4.1541e-06_rb/) kbo(:, 5,58, 3) = (/ & &3.1035e-06_rb,7.1707e-06_rb,9.0733e-06_rb,1.0789e-05_rb,4.6675e-06_rb/) kbo(:, 1,59, 3) = (/ & &6.5007e-07_rb,1.2934e-06_rb,1.7266e-06_rb,2.1835e-06_rb,2.0738e-06_rb/) kbo(:, 2,59, 3) = (/ & &7.0640e-07_rb,1.7649e-06_rb,2.4593e-06_rb,3.1227e-06_rb,2.5027e-06_rb/) kbo(:, 3,59, 3) = (/ & &9.2077e-07_rb,2.6612e-06_rb,3.6625e-06_rb,4.5103e-06_rb,2.9231e-06_rb/) kbo(:, 4,59, 3) = (/ & &1.5013e-06_rb,4.2541e-06_rb,5.5816e-06_rb,6.5373e-06_rb,3.3365e-06_rb/) kbo(:, 5,59, 3) = (/ & &2.7629e-06_rb,6.8551e-06_rb,8.4568e-06_rb,9.3583e-06_rb,3.7483e-06_rb/) kbo(:, 1,13, 4) = (/ & &6.7049e-02_rb,1.0578e-01_rb,1.2049e-01_rb,1.1447e-01_rb,5.3996e-02_rb/) kbo(:, 2,13, 4) = (/ & &1.2378e-01_rb,1.5839e-01_rb,1.6716e-01_rb,1.4967e-01_rb,5.8724e-02_rb/) kbo(:, 3,13, 4) = (/ & &2.1508e-01_rb,2.3357e-01_rb,2.2807e-01_rb,1.9256e-01_rb,6.3468e-02_rb/) kbo(:, 4,13, 4) = (/ & &3.4658e-01_rb,3.3547e-01_rb,3.0532e-01_rb,2.4368e-01_rb,6.7895e-02_rb/) kbo(:, 5,13, 4) = (/ & &5.1918e-01_rb,4.6542e-01_rb,4.0071e-01_rb,3.0351e-01_rb,7.2180e-02_rb/) kbo(:, 1,14, 4) = (/ & &3.7591e-02_rb,7.5935e-02_rb,8.9834e-02_rb,8.8154e-02_rb,4.7370e-02_rb/) kbo(:, 2,14, 4) = (/ & &6.9282e-02_rb,1.0939e-01_rb,1.2082e-01_rb,1.1264e-01_rb,5.1597e-02_rb/) kbo(:, 3,14, 4) = (/ & &1.1973e-01_rb,1.5456e-01_rb,1.5973e-01_rb,1.4179e-01_rb,5.5698e-02_rb/) kbo(:, 4,14, 4) = (/ & &1.9141e-01_rb,2.1319e-01_rb,2.0757e-01_rb,1.7567e-01_rb,5.9503e-02_rb/) kbo(:, 5,14, 4) = (/ & &2.8419e-01_rb,2.8689e-01_rb,2.6537e-01_rb,2.1426e-01_rb,6.3167e-02_rb/) kbo(:, 1,15, 4) = (/ & &2.1562e-02_rb,5.5383e-02_rb,6.7683e-02_rb,6.8583e-02_rb,4.1403e-02_rb/) kbo(:, 2,15, 4) = (/ & &3.9720e-02_rb,7.6977e-02_rb,8.8827e-02_rb,8.5804e-02_rb,4.5107e-02_rb/) kbo(:, 3,15, 4) = (/ & &6.8049e-02_rb,1.0522e-01_rb,1.1458e-01_rb,1.0592e-01_rb,4.8636e-02_rb/) kbo(:, 4,15, 4) = (/ & &1.0779e-01_rb,1.4096e-01_rb,1.4532e-01_rb,1.2906e-01_rb,5.1972e-02_rb/) kbo(:, 5,15, 4) = (/ & &1.5865e-01_rb,1.8497e-01_rb,1.8175e-01_rb,1.5501e-01_rb,5.5102e-02_rb/) kbo(:, 1,16, 4) = (/ & &1.4772e-02_rb,4.3932e-02_rb,5.4513e-02_rb,5.6391e-02_rb,3.6009e-02_rb/) kbo(:, 2,16, 4) = (/ & &2.7132e-02_rb,5.9972e-02_rb,7.0550e-02_rb,6.9709e-02_rb,3.9169e-02_rb/) kbo(:, 3,16, 4) = (/ & &4.6049e-02_rb,8.0444e-02_rb,8.9769e-02_rb,8.5125e-02_rb,4.2209e-02_rb/) kbo(:, 4,16, 4) = (/ & &7.2213e-02_rb,1.0588e-01_rb,1.1245e-01_rb,1.0271e-01_rb,4.5097e-02_rb/) kbo(:, 5,16, 4) = (/ & &1.0534e-01_rb,1.3693e-01_rb,1.3910e-01_rb,1.2239e-01_rb,4.7833e-02_rb/) kbo(:, 1,17, 4) = (/ & &1.0505e-02_rb,3.5195e-02_rb,4.4278e-02_rb,4.6677e-02_rb,3.1091e-02_rb/) kbo(:, 2,17, 4) = (/ & &1.9166e-02_rb,4.7335e-02_rb,5.6632e-02_rb,5.7162e-02_rb,3.3802e-02_rb/) kbo(:, 3,17, 4) = (/ & &3.2242e-02_rb,6.2594e-02_rb,7.1319e-02_rb,6.9208e-02_rb,3.6407e-02_rb/) kbo(:, 4,17, 4) = (/ & &4.9961e-02_rb,8.1341e-02_rb,8.8470e-02_rb,8.2810e-02_rb,3.8893e-02_rb/) kbo(:, 5,17, 4) = (/ & &7.2404e-02_rb,1.0400e-01_rb,1.0862e-01_rb,9.8084e-02_rb,4.1273e-02_rb/) kbo(:, 1,18, 4) = (/ & &7.6562e-03_rb,2.8333e-02_rb,3.6121e-02_rb,3.8835e-02_rb,2.6686e-02_rb/) kbo(:, 2,18, 4) = (/ & &1.3867e-02_rb,3.7676e-02_rb,4.5765e-02_rb,4.7147e-02_rb,2.9013e-02_rb/) kbo(:, 3,18, 4) = (/ & &2.3086e-02_rb,4.9274e-02_rb,5.7143e-02_rb,5.6661e-02_rb,3.1231e-02_rb/) kbo(:, 4,18, 4) = (/ & &3.5350e-02_rb,6.3412e-02_rb,7.0379e-02_rb,6.7363e-02_rb,3.3367e-02_rb/) kbo(:, 5,18, 4) = (/ & &5.0974e-02_rb,8.0253e-02_rb,8.5775e-02_rb,7.9284e-02_rb,3.5380e-02_rb/) kbo(:, 1,19, 4) = (/ & &5.4803e-03_rb,2.2514e-02_rb,2.9208e-02_rb,3.2099e-02_rb,2.2789e-02_rb/) kbo(:, 2,19, 4) = (/ & &9.8317e-03_rb,2.9614e-02_rb,3.6650e-02_rb,3.8632e-02_rb,2.4757e-02_rb/) kbo(:, 3,19, 4) = (/ & &1.6184e-02_rb,3.8312e-02_rb,4.5365e-02_rb,4.6081e-02_rb,2.6634e-02_rb/) kbo(:, 4,19, 4) = (/ & &2.4529e-02_rb,4.8776e-02_rb,5.5440e-02_rb,5.4451e-02_rb,2.8434e-02_rb/) kbo(:, 5,19, 4) = (/ & &3.5233e-02_rb,6.1231e-02_rb,6.7107e-02_rb,6.3779e-02_rb,3.0105e-02_rb/) kbo(:, 1,20, 4) = (/ & &4.2828e-03_rb,1.8555e-02_rb,2.4277e-02_rb,2.6995e-02_rb,1.9406e-02_rb/) kbo(:, 2,20, 4) = (/ & &7.5931e-03_rb,2.4236e-02_rb,3.0290e-02_rb,3.2347e-02_rb,2.1050e-02_rb/) kbo(:, 3,20, 4) = (/ & &1.2330e-02_rb,3.1123e-02_rb,3.7288e-02_rb,3.8414e-02_rb,2.2621e-02_rb/) kbo(:, 4,20, 4) = (/ & &1.8510e-02_rb,3.9358e-02_rb,4.5374e-02_rb,4.5224e-02_rb,2.4107e-02_rb/) kbo(:, 5,20, 4) = (/ & &2.6546e-02_rb,4.9149e-02_rb,5.4720e-02_rb,5.2789e-02_rb,2.5443e-02_rb/) kbo(:, 1,21, 4) = (/ & &3.4446e-03_rb,1.5454e-02_rb,2.0322e-02_rb,2.2766e-02_rb,1.6445e-02_rb/) kbo(:, 2,21, 4) = (/ & &6.0284e-03_rb,2.0063e-02_rb,2.5258e-02_rb,2.7191e-02_rb,1.7819e-02_rb/) kbo(:, 3,21, 4) = (/ & &9.6698e-03_rb,2.5633e-02_rb,3.0993e-02_rb,3.2202e-02_rb,1.9116e-02_rb/) kbo(:, 4,21, 4) = (/ & &1.4416e-02_rb,3.2230e-02_rb,3.7573e-02_rb,3.7789e-02_rb,2.0305e-02_rb/) kbo(:, 5,21, 4) = (/ & &2.0653e-02_rb,4.0104e-02_rb,4.5153e-02_rb,4.3956e-02_rb,2.1322e-02_rb/) kbo(:, 1,22, 4) = (/ & &2.9417e-03_rb,1.3191e-02_rb,1.7364e-02_rb,1.9451e-02_rb,1.3960e-02_rb/) kbo(:, 2,22, 4) = (/ & &5.0614e-03_rb,1.7031e-02_rb,2.1496e-02_rb,2.3163e-02_rb,1.5084e-02_rb/) kbo(:, 3,22, 4) = (/ & &7.9857e-03_rb,2.1643e-02_rb,2.6269e-02_rb,2.7349e-02_rb,1.6128e-02_rb/) kbo(:, 4,22, 4) = (/ & &1.1815e-02_rb,2.7096e-02_rb,3.1716e-02_rb,3.1974e-02_rb,1.7035e-02_rb/) kbo(:, 5,22, 4) = (/ & &1.6874e-02_rb,3.3630e-02_rb,3.8023e-02_rb,3.7066e-02_rb,1.7780e-02_rb/) kbo(:, 1,23, 4) = (/ & &2.5270e-03_rb,1.1266e-02_rb,1.4840e-02_rb,1.6589e-02_rb,1.1804e-02_rb/) kbo(:, 2,23, 4) = (/ & &4.2729e-03_rb,1.4464e-02_rb,1.8293e-02_rb,1.9688e-02_rb,1.2713e-02_rb/) kbo(:, 3,23, 4) = (/ & &6.6524e-03_rb,1.8294e-02_rb,2.2254e-02_rb,2.3162e-02_rb,1.3520e-02_rb/) kbo(:, 4,23, 4) = (/ & &9.7631e-03_rb,2.2820e-02_rb,2.6759e-02_rb,2.6972e-02_rb,1.4190e-02_rb/) kbo(:, 5,23, 4) = (/ & &1.3880e-02_rb,2.8296e-02_rb,3.2015e-02_rb,3.1138e-02_rb,1.4756e-02_rb/) kbo(:, 1,24, 4) = (/ & &2.1649e-03_rb,9.5893e-03_rb,1.2641e-02_rb,1.4093e-02_rb,9.9437e-03_rb/) kbo(:, 2,24, 4) = (/ & &3.5984e-03_rb,1.2238e-02_rb,1.5497e-02_rb,1.6660e-02_rb,1.0660e-02_rb/) kbo(:, 3,24, 4) = (/ & &5.5343e-03_rb,1.5407e-02_rb,1.8761e-02_rb,1.9506e-02_rb,1.1265e-02_rb/) kbo(:, 4,24, 4) = (/ & &8.0630e-03_rb,1.9178e-02_rb,2.2493e-02_rb,2.2596e-02_rb,1.1775e-02_rb/) kbo(:, 5,24, 4) = (/ & &1.1384e-02_rb,2.3746e-02_rb,2.6831e-02_rb,2.5965e-02_rb,1.2211e-02_rb/) kbo(:, 1,25, 4) = (/ & &1.8852e-03_rb,8.1978e-03_rb,1.0793e-02_rb,1.1983e-02_rb,8.3500e-03_rb/) kbo(:, 2,25, 4) = (/ & &3.0822e-03_rb,1.0410e-02_rb,1.3161e-02_rb,1.4105e-02_rb,8.8930e-03_rb/) kbo(:, 3,25, 4) = (/ & &4.6788e-03_rb,1.3060e-02_rb,1.5866e-02_rb,1.6423e-02_rb,9.3555e-03_rb/) kbo(:, 4,25, 4) = (/ & &6.7672e-03_rb,1.6246e-02_rb,1.8965e-02_rb,1.8919e-02_rb,9.7508e-03_rb/) kbo(:, 5,25, 4) = (/ & &9.4703e-03_rb,2.0069e-02_rb,2.2560e-02_rb,2.1660e-02_rb,1.0087e-02_rb/) kbo(:, 1,26, 4) = (/ & &1.6838e-03_rb,7.0691e-03_rb,9.2649e-03_rb,1.0222e-02_rb,6.9856e-03_rb/) kbo(:, 2,26, 4) = (/ & &2.7021e-03_rb,8.9432e-03_rb,1.1240e-02_rb,1.1970e-02_rb,7.4013e-03_rb/) kbo(:, 3,26, 4) = (/ & &4.0452e-03_rb,1.1195e-02_rb,1.3497e-02_rb,1.3851e-02_rb,7.7588e-03_rb/) kbo(:, 4,26, 4) = (/ & &5.8017e-03_rb,1.3912e-02_rb,1.6094e-02_rb,1.5906e-02_rb,8.0669e-03_rb/) kbo(:, 5,26, 4) = (/ & &8.0448e-03_rb,1.7140e-02_rb,1.9095e-02_rb,1.8175e-02_rb,8.3263e-03_rb/) kbo(:, 1,27, 4) = (/ & &1.5607e-03_rb,6.1890e-03_rb,8.0258e-03_rb,8.7683e-03_rb,5.8228e-03_rb/) kbo(:, 2,27, 4) = (/ & &2.4561e-03_rb,7.8183e-03_rb,9.7010e-03_rb,1.0217e-02_rb,6.1459e-03_rb/) kbo(:, 3,27, 4) = (/ & &3.6253e-03_rb,9.7806e-03_rb,1.1625e-02_rb,1.1787e-02_rb,6.4270e-03_rb/) kbo(:, 4,27, 4) = (/ & &5.1578e-03_rb,1.2146e-02_rb,1.3856e-02_rb,1.3525e-02_rb,6.6670e-03_rb/) kbo(:, 5,27, 4) = (/ & &7.0917e-03_rb,1.4929e-02_rb,1.6419e-02_rb,1.5452e-02_rb,6.8676e-03_rb/) kbo(:, 1,28, 4) = (/ & &1.4790e-03_rb,5.4823e-03_rb,6.9976e-03_rb,7.5478e-03_rb,4.8444e-03_rb/) kbo(:, 2,28, 4) = (/ & &2.2841e-03_rb,6.9262e-03_rb,8.4418e-03_rb,8.7670e-03_rb,5.0989e-03_rb/) kbo(:, 3,28, 4) = (/ & &3.3280e-03_rb,8.6594e-03_rb,1.0117e-02_rb,1.0108e-02_rb,5.3174e-03_rb/) kbo(:, 4,28, 4) = (/ & &4.7002e-03_rb,1.0747e-02_rb,1.2065e-02_rb,1.1610e-02_rb,5.5053e-03_rb/) kbo(:, 5,28, 4) = (/ & &6.4216e-03_rb,1.3181e-02_rb,1.4294e-02_rb,1.3272e-02_rb,5.6597e-03_rb/) kbo(:, 1,29, 4) = (/ & &1.4846e-03_rb,5.0115e-03_rb,6.2330e-03_rb,6.5969e-03_rb,4.0271e-03_rb/) kbo(:, 2,29, 4) = (/ & &2.2530e-03_rb,6.3449e-03_rb,7.5362e-03_rb,7.6648e-03_rb,4.2267e-03_rb/) kbo(:, 3,29, 4) = (/ & &3.2510e-03_rb,7.9458e-03_rb,9.0603e-03_rb,8.8629e-03_rb,4.3989e-03_rb/) kbo(:, 4,29, 4) = (/ & &4.5516e-03_rb,9.8569e-03_rb,1.0828e-02_rb,1.0206e-02_rb,4.5467e-03_rb/) kbo(:, 5,29, 4) = (/ & &6.1805e-03_rb,1.2091e-02_rb,1.2839e-02_rb,1.1688e-02_rb,4.6649e-03_rb/) kbo(:, 1,30, 4) = (/ & &1.5199e-03_rb,4.6536e-03_rb,5.6184e-03_rb,5.8111e-03_rb,3.3446e-03_rb/) kbo(:, 2,30, 4) = (/ & &2.2691e-03_rb,5.9027e-03_rb,6.8239e-03_rb,6.7733e-03_rb,3.5018e-03_rb/) kbo(:, 3,30, 4) = (/ & &3.2488e-03_rb,7.4072e-03_rb,8.2321e-03_rb,7.8632e-03_rb,3.6376e-03_rb/) kbo(:, 4,30, 4) = (/ & &4.5119e-03_rb,9.1886e-03_rb,9.8595e-03_rb,9.0823e-03_rb,3.7530e-03_rb/) kbo(:, 5,30, 4) = (/ & &6.0862e-03_rb,1.1295e-02_rb,1.1709e-02_rb,1.0421e-02_rb,3.8437e-03_rb/) kbo(:, 1,31, 4) = (/ & &1.6311e-03_rb,4.4648e-03_rb,5.2027e-03_rb,5.2222e-03_rb,2.7768e-03_rb/) kbo(:, 2,31, 4) = (/ & &2.3988e-03_rb,5.6776e-03_rb,6.3545e-03_rb,6.1217e-03_rb,2.9011e-03_rb/) kbo(:, 3,31, 4) = (/ & &3.4145e-03_rb,7.1414e-03_rb,7.7030e-03_rb,7.1444e-03_rb,3.0093e-03_rb/) kbo(:, 4,31, 4) = (/ & &4.7033e-03_rb,8.8852e-03_rb,9.2526e-03_rb,8.2855e-03_rb,3.0977e-03_rb/) kbo(:, 5,31, 4) = (/ & &6.2907e-03_rb,1.0964e-02_rb,1.1034e-02_rb,9.5381e-03_rb,3.1698e-03_rb/) kbo(:, 1,32, 4) = (/ & &1.7646e-03_rb,4.3392e-03_rb,4.8857e-03_rb,4.7446e-03_rb,2.3054e-03_rb/) kbo(:, 2,32, 4) = (/ & &2.5651e-03_rb,5.5295e-03_rb,5.9929e-03_rb,5.5951e-03_rb,2.4036e-03_rb/) kbo(:, 3,32, 4) = (/ & &3.6260e-03_rb,6.9759e-03_rb,7.2903e-03_rb,6.5646e-03_rb,2.4876e-03_rb/) kbo(:, 4,32, 4) = (/ & &4.9515e-03_rb,8.7151e-03_rb,8.7927e-03_rb,7.6385e-03_rb,2.5574e-03_rb/) kbo(:, 5,32, 4) = (/ & &6.5598e-03_rb,1.0782e-02_rb,1.0540e-02_rb,8.8332e-03_rb,2.6142e-03_rb/) kbo(:, 1,33, 4) = (/ & &1.9374e-03_rb,4.2874e-03_rb,4.6591e-03_rb,4.3717e-03_rb,1.9130e-03_rb/) kbo(:, 2,33, 4) = (/ & &2.7949e-03_rb,5.4803e-03_rb,5.7408e-03_rb,5.1902e-03_rb,1.9904e-03_rb/) kbo(:, 3,33, 4) = (/ & &3.9103e-03_rb,6.9411e-03_rb,7.0122e-03_rb,6.1134e-03_rb,2.0570e-03_rb/) kbo(:, 4,33, 4) = (/ & &5.2898e-03_rb,8.7072e-03_rb,8.5064e-03_rb,7.1438e-03_rb,2.1115e-03_rb/) kbo(:, 5,33, 4) = (/ & &6.9527e-03_rb,1.0788e-02_rb,1.0239e-02_rb,8.3069e-03_rb,2.1568e-03_rb/) kbo(:, 1,34, 4) = (/ & &2.0406e-03_rb,4.1540e-03_rb,4.3826e-03_rb,3.9946e-03_rb,1.5845e-03_rb/) kbo(:, 2,34, 4) = (/ & &2.9261e-03_rb,5.3300e-03_rb,5.4194e-03_rb,4.7632e-03_rb,1.6461e-03_rb/) kbo(:, 3,34, 4) = (/ & &4.0546e-03_rb,6.7773e-03_rb,6.6513e-03_rb,5.6287e-03_rb,1.6983e-03_rb/) kbo(:, 4,34, 4) = (/ & &5.4348e-03_rb,8.5143e-03_rb,8.1040e-03_rb,6.6107e-03_rb,1.7421e-03_rb/) kbo(:, 5,34, 4) = (/ & &7.1060e-03_rb,1.0544e-02_rb,9.7699e-03_rb,7.7212e-03_rb,1.7780e-03_rb/) kbo(:, 1,35, 4) = (/ & &2.0728e-03_rb,3.9485e-03_rb,4.0574e-03_rb,3.6081e-03_rb,1.3068e-03_rb/) kbo(:, 2,35, 4) = (/ & &2.9602e-03_rb,5.0932e-03_rb,5.0438e-03_rb,4.3192e-03_rb,1.3565e-03_rb/) kbo(:, 3,35, 4) = (/ & &4.0769e-03_rb,6.5016e-03_rb,6.2270e-03_rb,5.1307e-03_rb,1.3990e-03_rb/) kbo(:, 4,35, 4) = (/ & &5.4354e-03_rb,8.1764e-03_rb,7.6137e-03_rb,6.0597e-03_rb,1.4343e-03_rb/) kbo(:, 5,35, 4) = (/ & &7.0821e-03_rb,1.0134e-02_rb,9.1905e-03_rb,7.1011e-03_rb,1.4630e-03_rb/) kbo(:, 1,36, 4) = (/ & &2.0103e-03_rb,3.6479e-03_rb,3.6691e-03_rb,3.1952e-03_rb,1.0729e-03_rb/) kbo(:, 2,36, 4) = (/ & &2.8662e-03_rb,4.7338e-03_rb,4.5904e-03_rb,3.8448e-03_rb,1.1132e-03_rb/) kbo(:, 3,36, 4) = (/ & &3.9368e-03_rb,6.0663e-03_rb,5.7008e-03_rb,4.5973e-03_rb,1.1487e-03_rb/) kbo(:, 4,36, 4) = (/ & &5.2410e-03_rb,7.6444e-03_rb,6.9919e-03_rb,5.4585e-03_rb,1.1779e-03_rb/) kbo(:, 5,36, 4) = (/ & &6.8204e-03_rb,9.5005e-03_rb,8.4610e-03_rb,6.4164e-03_rb,1.2022e-03_rb/) kbo(:, 1,37, 4) = (/ & &1.7959e-03_rb,3.1864e-03_rb,3.1663e-03_rb,2.7239e-03_rb,8.7469e-04_rb/) kbo(:, 2,37, 4) = (/ & &2.5697e-03_rb,4.1617e-03_rb,3.9876e-03_rb,3.2966e-03_rb,9.0931e-04_rb/) kbo(:, 3,37, 4) = (/ & &3.5391e-03_rb,5.3610e-03_rb,4.9818e-03_rb,3.9676e-03_rb,9.3897e-04_rb/) kbo(:, 4,37, 4) = (/ & &4.7240e-03_rb,6.7847e-03_rb,6.1364e-03_rb,4.7358e-03_rb,9.6399e-04_rb/) kbo(:, 5,37, 4) = (/ & &6.1586e-03_rb,8.4655e-03_rb,7.4564e-03_rb,5.5875e-03_rb,9.8533e-04_rb/) kbo(:, 1,38, 4) = (/ & &1.6221e-03_rb,2.8081e-03_rb,2.7522e-03_rb,2.3347e-03_rb,7.1314e-04_rb/) kbo(:, 2,38, 4) = (/ & &2.3291e-03_rb,3.6929e-03_rb,3.4899e-03_rb,2.8446e-03_rb,7.4249e-04_rb/) kbo(:, 3,38, 4) = (/ & &3.2190e-03_rb,4.7846e-03_rb,4.3892e-03_rb,3.4480e-03_rb,7.6765e-04_rb/) kbo(:, 4,38, 4) = (/ & &4.3100e-03_rb,6.0843e-03_rb,5.4322e-03_rb,4.1379e-03_rb,7.8970e-04_rb/) kbo(:, 5,38, 4) = (/ & &5.6295e-03_rb,7.6227e-03_rb,6.6325e-03_rb,4.9024e-03_rb,8.0762e-04_rb/) kbo(:, 1,39, 4) = (/ & &1.4985e-03_rb,2.5181e-03_rb,2.4272e-03_rb,2.0247e-03_rb,5.8188e-04_rb/) kbo(:, 2,39, 4) = (/ & &2.1580e-03_rb,3.3353e-03_rb,3.1025e-03_rb,2.4863e-03_rb,6.0647e-04_rb/) kbo(:, 3,39, 4) = (/ & &2.9946e-03_rb,4.3491e-03_rb,3.9298e-03_rb,3.0357e-03_rb,6.2817e-04_rb/) kbo(:, 4,39, 4) = (/ & &4.0211e-03_rb,5.5590e-03_rb,4.8918e-03_rb,3.6649e-03_rb,6.4668e-04_rb/) kbo(:, 5,39, 4) = (/ & &5.2642e-03_rb,6.9995e-03_rb,6.0040e-03_rb,4.3661e-03_rb,6.6239e-04_rb/) kbo(:, 1,40, 4) = (/ & &1.2480e-03_rb,2.0953e-03_rb,2.0102e-03_rb,1.6690e-03_rb,4.7210e-04_rb/) kbo(:, 2,40, 4) = (/ & &1.8115e-03_rb,2.7936e-03_rb,2.5861e-03_rb,2.0625e-03_rb,4.9296e-04_rb/) kbo(:, 3,40, 4) = (/ & &2.5332e-03_rb,3.6693e-03_rb,3.2977e-03_rb,2.5337e-03_rb,5.1142e-04_rb/) kbo(:, 4,40, 4) = (/ & &3.4226e-03_rb,4.7175e-03_rb,4.1297e-03_rb,3.0758e-03_rb,5.2719e-04_rb/) kbo(:, 5,40, 4) = (/ & &4.4988e-03_rb,5.9686e-03_rb,5.0929e-03_rb,3.6827e-03_rb,5.4108e-04_rb/) kbo(:, 1,41, 4) = (/ & &1.0279e-03_rb,1.7303e-03_rb,1.6546e-03_rb,1.3684e-03_rb,3.8259e-04_rb/) kbo(:, 2,41, 4) = (/ & &1.5100e-03_rb,2.3260e-03_rb,2.1442e-03_rb,1.7025e-03_rb,4.0029e-04_rb/) kbo(:, 3,41, 4) = (/ & &2.1257e-03_rb,3.0759e-03_rb,2.7514e-03_rb,2.1044e-03_rb,4.1598e-04_rb/) kbo(:, 4,41, 4) = (/ & &2.8920e-03_rb,3.9799e-03_rb,3.4670e-03_rb,2.5693e-03_rb,4.2980e-04_rb/) kbo(:, 5,41, 4) = (/ & &3.8245e-03_rb,5.0645e-03_rb,4.3009e-03_rb,3.0935e-03_rb,4.4154e-04_rb/) kbo(:, 1,42, 4) = (/ & &8.5248e-04_rb,1.4366e-03_rb,1.3681e-03_rb,1.1259e-03_rb,3.0986e-04_rb/) kbo(:, 2,42, 4) = (/ & &1.2693e-03_rb,1.9496e-03_rb,1.7879e-03_rb,1.4116e-03_rb,3.2494e-04_rb/) kbo(:, 3,42, 4) = (/ & &1.7992e-03_rb,2.5962e-03_rb,2.3093e-03_rb,1.7561e-03_rb,3.3826e-04_rb/) kbo(:, 4,42, 4) = (/ & &2.4657e-03_rb,3.3829e-03_rb,2.9302e-03_rb,2.1577e-03_rb,3.5033e-04_rb/) kbo(:, 5,42, 4) = (/ & &3.2835e-03_rb,4.3314e-03_rb,3.6581e-03_rb,2.6128e-03_rb,3.6051e-04_rb/) kbo(:, 1,43, 4) = (/ & &6.9299e-04_rb,1.1756e-03_rb,1.1172e-03_rb,9.1666e-04_rb,2.5008e-04_rb/) kbo(:, 2,43, 4) = (/ & &1.0504e-03_rb,1.6147e-03_rb,1.4746e-03_rb,1.1591e-03_rb,2.6296e-04_rb/) kbo(:, 3,43, 4) = (/ & &1.5042e-03_rb,2.1683e-03_rb,1.9190e-03_rb,1.4524e-03_rb,2.7439e-04_rb/) kbo(:, 4,43, 4) = (/ & &2.0819e-03_rb,2.8510e-03_rb,2.4566e-03_rb,1.7990e-03_rb,2.8482e-04_rb/) kbo(:, 5,43, 4) = (/ & &2.7959e-03_rb,3.6773e-03_rb,3.0899e-03_rb,2.1936e-03_rb,2.9376e-04_rb/) kbo(:, 1,44, 4) = (/ & &5.6092e-04_rb,9.5981e-04_rb,9.1038e-04_rb,7.4434e-04_rb,2.0138e-04_rb/) kbo(:, 2,44, 4) = (/ & &8.6869e-04_rb,1.3365e-03_rb,1.2153e-03_rb,9.5085e-04_rb,2.1240e-04_rb/) kbo(:, 3,44, 4) = (/ & &1.2605e-03_rb,1.8133e-03_rb,1.5968e-03_rb,1.2017e-03_rb,2.2220e-04_rb/) kbo(:, 4,44, 4) = (/ & &1.7639e-03_rb,2.4086e-03_rb,2.0630e-03_rb,1.5011e-03_rb,2.3130e-04_rb/) kbo(:, 5,44, 4) = (/ & &2.3892e-03_rb,3.1325e-03_rb,2.6172e-03_rb,1.8457e-03_rb,2.3904e-04_rb/) kbo(:, 1,45, 4) = (/ & &4.5956e-04_rb,7.9161e-04_rb,7.4840e-04_rb,6.0859e-04_rb,1.6203e-04_rb/) kbo(:, 2,45, 4) = (/ & &7.2822e-04_rb,1.1187e-03_rb,1.0117e-03_rb,7.8592e-04_rb,1.7142e-04_rb/) kbo(:, 3,45, 4) = (/ & &1.0767e-03_rb,1.5389e-03_rb,1.3458e-03_rb,1.0038e-03_rb,1.7986e-04_rb/) kbo(:, 4,45, 4) = (/ & &1.5195e-03_rb,2.0634e-03_rb,1.7544e-03_rb,1.2651e-03_rb,1.8773e-04_rb/) kbo(:, 5,45, 4) = (/ & &2.0790e-03_rb,2.7102e-03_rb,2.2473e-03_rb,1.5700e-03_rb,1.9451e-04_rb/) kbo(:, 1,46, 4) = (/ & &3.7292e-04_rb,6.4911e-04_rb,6.1209e-04_rb,4.9545e-04_rb,1.3008e-04_rb/) kbo(:, 2,46, 4) = (/ & &6.0673e-04_rb,9.3287e-04_rb,8.3976e-04_rb,6.4802e-04_rb,1.3811e-04_rb/) kbo(:, 3,46, 4) = (/ & &9.1635e-04_rb,1.3033e-03_rb,1.1323e-03_rb,8.3718e-04_rb,1.4541e-04_rb/) kbo(:, 4,46, 4) = (/ & &1.3083e-03_rb,1.7659e-03_rb,1.4916e-03_rb,1.0659e-03_rb,1.5214e-04_rb/) kbo(:, 5,46, 4) = (/ & &1.8099e-03_rb,2.3458e-03_rb,1.9309e-03_rb,1.3365e-03_rb,1.5810e-04_rb/) kbo(:, 1,47, 4) = (/ & &2.8950e-04_rb,5.1677e-04_rb,4.8802e-04_rb,3.9502e-04_rb,1.0398e-04_rb/) kbo(:, 2,47, 4) = (/ & &4.8670e-04_rb,7.5660e-04_rb,6.8049e-04_rb,5.2378e-04_rb,1.1085e-04_rb/) kbo(:, 3,47, 4) = (/ & &7.5525e-04_rb,1.0762e-03_rb,9.3123e-04_rb,6.8496e-04_rb,1.1715e-04_rb/) kbo(:, 4,47, 4) = (/ & &1.0969e-03_rb,1.4777e-03_rb,1.2426e-03_rb,8.8223e-04_rb,1.2295e-04_rb/) kbo(:, 5,47, 4) = (/ & &1.5354e-03_rb,1.9852e-03_rb,1.6256e-03_rb,1.1178e-03_rb,1.2805e-04_rb/) kbo(:, 1,48, 4) = (/ & &2.2732e-04_rb,4.1628e-04_rb,3.9316e-04_rb,3.1737e-04_rb,8.2969e-05_rb/) kbo(:, 2,48, 4) = (/ & &3.9696e-04_rb,6.2251e-04_rb,5.5852e-04_rb,4.2777e-04_rb,8.8908e-05_rb/) kbo(:, 3,48, 4) = (/ & &6.3462e-04_rb,9.0305e-04_rb,7.7729e-04_rb,5.6732e-04_rb,9.4308e-05_rb/) kbo(:, 4,48, 4) = (/ & &9.4204e-04_rb,1.2622e-03_rb,1.0539e-03_rb,7.4093e-04_rb,9.9236e-05_rb/) kbo(:, 5,48, 4) = (/ & &1.3331e-03_rb,1.7143e-03_rb,1.3938e-03_rb,9.4935e-04_rb,1.0368e-04_rb/) kbo(:, 1,49, 4) = (/ & &1.8300e-04_rb,3.4217e-04_rb,3.2264e-04_rb,2.5877e-04_rb,6.6118e-05_rb/) kbo(:, 2,49, 4) = (/ & &3.3312e-04_rb,5.2483e-04_rb,4.6829e-04_rb,3.5552e-04_rb,7.1194e-05_rb/) kbo(:, 3,49, 4) = (/ & &5.4973e-04_rb,7.7839e-04_rb,6.6473e-04_rb,4.7940e-04_rb,7.5813e-05_rb/) kbo(:, 4,49, 4) = (/ & &8.3663e-04_rb,1.1105e-03_rb,9.1800e-04_rb,6.3658e-04_rb,8.0100e-05_rb/) kbo(:, 5,49, 4) = (/ & &1.2004e-03_rb,1.5281e-03_rb,1.2307e-03_rb,8.2653e-04_rb,8.3935e-05_rb/) kbo(:, 1,50, 4) = (/ & &1.4039e-04_rb,2.7151e-04_rb,2.5713e-04_rb,2.0628e-04_rb,5.2648e-05_rb/) kbo(:, 2,50, 4) = (/ & &2.6610e-04_rb,4.2689e-04_rb,3.8091e-04_rb,2.8831e-04_rb,5.6961e-05_rb/) kbo(:, 3,50, 4) = (/ & &4.5427e-04_rb,6.4624e-04_rb,5.5025e-04_rb,3.9479e-04_rb,6.0907e-05_rb/) kbo(:, 4,50, 4) = (/ & &7.0950e-04_rb,9.4070e-04_rb,7.7361e-04_rb,5.3217e-04_rb,6.4571e-05_rb/) kbo(:, 5,50, 4) = (/ & &1.0374e-03_rb,1.3149e-03_rb,1.0530e-03_rb,7.0038e-04_rb,6.7890e-05_rb/) kbo(:, 1,51, 4) = (/ & &1.0489e-04_rb,2.1109e-04_rb,2.0141e-04_rb,1.6218e-04_rb,4.1878e-05_rb/) kbo(:, 2,51, 4) = (/ & &2.0633e-04_rb,3.4016e-04_rb,3.0444e-04_rb,2.3054e-04_rb,4.5538e-05_rb/) kbo(:, 3,51, 4) = (/ & &3.6536e-04_rb,5.2580e-04_rb,4.4746e-04_rb,3.2051e-04_rb,4.8874e-05_rb/) kbo(:, 4,51, 4) = (/ & &5.8696e-04_rb,7.8085e-04_rb,6.4023e-04_rb,4.3829e-04_rb,5.1997e-05_rb/) kbo(:, 5,51, 4) = (/ & &8.7556e-04_rb,1.1091e-03_rb,8.8460e-04_rb,5.8473e-04_rb,5.4858e-05_rb/) kbo(:, 1,52, 4) = (/ & &7.9793e-05_rb,1.6601e-04_rb,1.5918e-04_rb,1.2853e-04_rb,3.3276e-05_rb/) kbo(:, 2,52, 4) = (/ & &1.6247e-04_rb,2.7468e-04_rb,2.4631e-04_rb,1.8617e-04_rb,3.6357e-05_rb/) kbo(:, 3,52, 4) = (/ & &2.9905e-04_rb,4.3474e-04_rb,3.6924e-04_rb,2.6353e-04_rb,3.9196e-05_rb/) kbo(:, 4,52, 4) = (/ & &4.9530e-04_rb,6.5976e-04_rb,5.3847e-04_rb,3.6618e-04_rb,4.1839e-05_rb/) kbo(:, 5,52, 4) = (/ & &7.5546e-04_rb,9.5475e-04_rb,7.5721e-04_rb,4.9627e-04_rb,4.4317e-05_rb/) kbo(:, 1,53, 4) = (/ & &6.2729e-05_rb,1.3307e-04_rb,1.2792e-04_rb,1.0321e-04_rb,2.6401e-05_rb/) kbo(:, 2,53, 4) = (/ & &1.3138e-04_rb,2.2658e-04_rb,2.0324e-04_rb,1.5289e-04_rb,2.9006e-05_rb/) kbo(:, 3,53, 4) = (/ & &2.5160e-04_rb,3.6877e-04_rb,3.1205e-04_rb,2.2094e-04_rb,3.1410e-05_rb/) kbo(:, 4,53, 4) = (/ & &4.3128e-04_rb,5.7326e-04_rb,4.6479e-04_rb,3.1290e-04_rb,3.3663e-05_rb/) kbo(:, 5,53, 4) = (/ & &6.7436e-04_rb,8.4743e-04_rb,6.6688e-04_rb,4.3200e-04_rb,3.5790e-05_rb/) kbo(:, 1,54, 4) = (/ & &4.3536e-05_rb,9.6993e-05_rb,9.4650e-05_rb,7.7465e-05_rb,2.0921e-05_rb/) kbo(:, 2,54, 4) = (/ & &9.2752e-05_rb,1.6814e-04_rb,1.5268e-04_rb,1.1626e-04_rb,2.3103e-05_rb/) kbo(:, 3,54, 4) = (/ & &1.8378e-04_rb,2.7919e-04_rb,2.3835e-04_rb,1.7016e-04_rb,2.5121e-05_rb/) kbo(:, 4,54, 4) = (/ & &3.2645e-04_rb,4.4256e-04_rb,3.6033e-04_rb,2.4382e-04_rb,2.7012e-05_rb/) kbo(:, 5,54, 4) = (/ & &5.2349e-04_rb,6.6571e-04_rb,5.2497e-04_rb,3.4104e-04_rb,2.8788e-05_rb/) kbo(:, 1,55, 4) = (/ & &2.7968e-05_rb,6.6619e-05_rb,6.6506e-05_rb,5.5712e-05_rb,1.6550e-05_rb/) kbo(:, 2,55, 4) = (/ & &5.9858e-05_rb,1.1651e-04_rb,1.0803e-04_rb,8.4126e-05_rb,1.8363e-05_rb/) kbo(:, 3,55, 4) = (/ & &1.2216e-04_rb,1.9620e-04_rb,1.7047e-04_rb,1.2407e-04_rb,2.0057e-05_rb/) kbo(:, 4,55, 4) = (/ & &2.2490e-04_rb,3.1581e-04_rb,2.6032e-04_rb,1.7892e-04_rb,2.1634e-05_rb/) kbo(:, 5,55, 4) = (/ & &3.7032e-04_rb,4.8266e-04_rb,3.8398e-04_rb,2.5251e-04_rb,2.3108e-05_rb/) kbo(:, 1,56, 4) = (/ & &1.8187e-05_rb,4.5780e-05_rb,4.6700e-05_rb,4.0035e-05_rb,1.3073e-05_rb/) kbo(:, 2,56, 4) = (/ & &3.8391e-05_rb,8.0472e-05_rb,7.6243e-05_rb,6.0757e-05_rb,1.4582e-05_rb/) kbo(:, 3,56, 4) = (/ & &8.0424e-05_rb,1.3728e-04_rb,1.2154e-04_rb,9.0284e-05_rb,1.6006e-05_rb/) kbo(:, 4,56, 4) = (/ & &1.5350e-04_rb,2.2433e-04_rb,1.8750e-04_rb,1.3109e-04_rb,1.7305e-05_rb/) kbo(:, 5,56, 4) = (/ & &2.6031e-04_rb,3.4853e-04_rb,2.7994e-04_rb,1.8653e-04_rb,1.8526e-05_rb/) kbo(:, 1,57, 4) = (/ & &1.2069e-05_rb,3.1511e-05_rb,3.2815e-05_rb,2.8783e-05_rb,1.0310e-05_rb/) kbo(:, 2,57, 4) = (/ & &2.4551e-05_rb,5.5416e-05_rb,5.3688e-05_rb,4.3795e-05_rb,1.1563e-05_rb/) kbo(:, 3,57, 4) = (/ & &5.2372e-05_rb,9.5634e-05_rb,8.6379e-05_rb,6.5547e-05_rb,1.2748e-05_rb/) kbo(:, 4,57, 4) = (/ & &1.0355e-04_rb,1.5851e-04_rb,1.3458e-04_rb,9.5855e-05_rb,1.3838e-05_rb/) kbo(:, 5,57, 4) = (/ & &1.8156e-04_rb,2.5040e-04_rb,2.0330e-04_rb,1.3740e-04_rb,1.4854e-05_rb/) kbo(:, 1,58, 4) = (/ & &2.1923e-06_rb,7.1667e-06_rb,9.7990e-06_rb,1.2334e-05_rb,8.1331e-06_rb/) kbo(:, 2,58, 4) = (/ & &4.2014e-06_rb,1.2514e-05_rb,1.5980e-05_rb,1.8735e-05_rb,9.1661e-06_rb/) kbo(:, 3,58, 4) = (/ & &9.0349e-06_rb,2.1751e-05_rb,2.5847e-05_rb,2.8162e-05_rb,1.0154e-05_rb/) kbo(:, 4,58, 4) = (/ & &1.8408e-05_rb,3.6461e-05_rb,4.0575e-05_rb,4.1376e-05_rb,1.1069e-05_rb/) kbo(:, 5,58, 4) = (/ & &3.3398e-05_rb,5.8421e-05_rb,6.1871e-05_rb,5.9629e-05_rb,1.1910e-05_rb/) kbo(:, 1,59, 4) = (/ & &1.9895e-06_rb,7.0146e-06_rb,9.2666e-06_rb,1.0819e-05_rb,6.5530e-06_rb/) kbo(:, 2,59, 4) = (/ & &3.7103e-06_rb,1.1985e-05_rb,1.4798e-05_rb,1.6119e-05_rb,7.3922e-06_rb/) kbo(:, 3,59, 4) = (/ & &7.9795e-06_rb,2.0481e-05_rb,2.3504e-05_rb,2.3808e-05_rb,8.1931e-06_rb/) kbo(:, 4,59, 4) = (/ & &1.6446e-05_rb,3.3891e-05_rb,3.6329e-05_rb,3.4426e-05_rb,8.9453e-06_rb/) kbo(:, 5,59, 4) = (/ & &3.0202e-05_rb,5.3874e-05_rb,5.4799e-05_rb,4.8960e-05_rb,9.6374e-06_rb/) kbo(:, 1,13, 5) = (/ & &4.3236e-01_rb,4.3213e-01_rb,3.9701e-01_rb,3.2546e-01_rb,1.1197e-01_rb/) kbo(:, 2,13, 5) = (/ & &6.6372e-01_rb,6.1379e-01_rb,5.3578e-01_rb,4.1378e-01_rb,1.1749e-01_rb/) kbo(:, 3,13, 5) = (/ & &9.6012e-01_rb,8.4543e-01_rb,7.0690e-01_rb,5.2039e-01_rb,1.2229e-01_rb/) kbo(:, 4,13, 5) = (/ & &1.3340e+00_rb,1.1343e+00_rb,9.1491e-01_rb,6.4651e-01_rb,1.2717e-01_rb/) kbo(:, 5,13, 5) = (/ & &1.8059e+00_rb,1.4945e+00_rb,1.1687e+00_rb,7.9501e-01_rb,1.3200e-01_rb/) kbo(:, 1,14, 5) = (/ & &2.3576e-01_rb,2.7360e-01_rb,2.7141e-01_rb,2.4039e-01_rb,9.8792e-02_rb/) kbo(:, 2,14, 5) = (/ & &3.5903e-01_rb,3.7743e-01_rb,3.5638e-01_rb,2.9754e-01_rb,1.0359e-01_rb/) kbo(:, 3,14, 5) = (/ & &5.1761e-01_rb,5.0746e-01_rb,4.5981e-01_rb,3.6575e-01_rb,1.0816e-01_rb/) kbo(:, 4,14, 5) = (/ & &7.1963e-01_rb,6.6997e-01_rb,5.8434e-01_rb,4.4555e-01_rb,1.1272e-01_rb/) kbo(:, 5,14, 5) = (/ & &9.7673e-01_rb,8.7084e-01_rb,7.3356e-01_rb,5.3881e-01_rb,1.1732e-01_rb/) kbo(:, 1,15, 5) = (/ & &1.3110e-01_rb,1.8103e-01_rb,1.9281e-01_rb,1.8264e-01_rb,8.6582e-02_rb/) kbo(:, 2,15, 5) = (/ & &1.9817e-01_rb,2.4413e-01_rb,2.4684e-01_rb,2.2172e-01_rb,9.0925e-02_rb/) kbo(:, 3,15, 5) = (/ & &2.8519e-01_rb,3.2198e-01_rb,3.1178e-01_rb,2.6742e-01_rb,9.5231e-02_rb/) kbo(:, 4,15, 5) = (/ & &3.9693e-01_rb,4.1797e-01_rb,3.8987e-01_rb,3.1982e-01_rb,9.9470e-02_rb/) kbo(:, 5,15, 5) = (/ & &5.3979e-01_rb,5.3546e-01_rb,4.8283e-01_rb,3.8058e-01_rb,1.0367e-01_rb/) kbo(:, 1,16, 5) = (/ & &8.6780e-02_rb,1.3641e-01_rb,1.5186e-01_rb,1.4818e-01_rb,7.5514e-02_rb/) kbo(:, 2,16, 5) = (/ & &1.3047e-01_rb,1.8113e-01_rb,1.9135e-01_rb,1.7835e-01_rb,7.9533e-02_rb/) kbo(:, 3,16, 5) = (/ & &1.8753e-01_rb,2.3639e-01_rb,2.3875e-01_rb,2.1304e-01_rb,8.3481e-02_rb/) kbo(:, 4,16, 5) = (/ & &2.6140e-01_rb,3.0428e-01_rb,2.9551e-01_rb,2.5256e-01_rb,8.7293e-02_rb/) kbo(:, 5,16, 5) = (/ & &3.5574e-01_rb,3.8652e-01_rb,3.6267e-01_rb,2.9793e-01_rb,9.1094e-02_rb/) kbo(:, 1,17, 5) = (/ & &5.9400e-02_rb,1.0544e-01_rb,1.2175e-01_rb,1.2140e-01_rb,6.5571e-02_rb/) kbo(:, 2,17, 5) = (/ & &8.8982e-02_rb,1.3824e-01_rb,1.5175e-01_rb,1.4491e-01_rb,6.9197e-02_rb/) kbo(:, 3,17, 5) = (/ & &1.2788e-01_rb,1.7890e-01_rb,1.8755e-01_rb,1.7185e-01_rb,7.2708e-02_rb/) kbo(:, 4,17, 5) = (/ & &1.7835e-01_rb,2.2856e-01_rb,2.3024e-01_rb,2.0241e-01_rb,7.6161e-02_rb/) kbo(:, 5,17, 5) = (/ & &2.4297e-01_rb,2.8834e-01_rb,2.8043e-01_rb,2.3722e-01_rb,7.9603e-02_rb/) kbo(:, 1,18, 5) = (/ & &4.1651e-02_rb,8.2911e-02_rb,9.8455e-02_rb,9.9593e-02_rb,5.6662e-02_rb/) kbo(:, 2,18, 5) = (/ & &6.2251e-02_rb,1.0765e-01_rb,1.2173e-01_rb,1.1843e-01_rb,5.9831e-02_rb/) kbo(:, 3,18, 5) = (/ & &8.9419e-02_rb,1.3828e-01_rb,1.4944e-01_rb,1.3970e-01_rb,6.2923e-02_rb/) kbo(:, 4,18, 5) = (/ & &1.2470e-01_rb,1.7541e-01_rb,1.8216e-01_rb,1.6372e-01_rb,6.6077e-02_rb/) kbo(:, 5,18, 5) = (/ & &1.6992e-01_rb,2.1986e-01_rb,2.2047e-01_rb,1.9095e-01_rb,6.9212e-02_rb/) kbo(:, 1,19, 5) = (/ & &2.8717e-02_rb,6.4742e-02_rb,7.8819e-02_rb,8.0895e-02_rb,4.8664e-02_rb/) kbo(:, 2,19, 5) = (/ & &4.2849e-02_rb,8.3244e-02_rb,9.6815e-02_rb,9.5751e-02_rb,5.1433e-02_rb/) kbo(:, 3,19, 5) = (/ & &6.1454e-02_rb,1.0605e-01_rb,1.1801e-01_rb,1.1248e-01_rb,5.4215e-02_rb/) kbo(:, 4,19, 5) = (/ & &8.5699e-02_rb,1.3356e-01_rb,1.4292e-01_rb,1.3115e-01_rb,5.7031e-02_rb/) kbo(:, 5,19, 5) = (/ & &1.1681e-01_rb,1.6622e-01_rb,1.7182e-01_rb,1.5204e-01_rb,5.9790e-02_rb/) kbo(:, 1,20, 5) = (/ & &2.1632e-02_rb,5.2943e-02_rb,6.5235e-02_rb,6.7363e-02_rb,4.1610e-02_rb/) kbo(:, 2,20, 5) = (/ & &3.2163e-02_rb,6.7696e-02_rb,7.9852e-02_rb,7.9447e-02_rb,4.4062e-02_rb/) kbo(:, 3,20, 5) = (/ & &4.6057e-02_rb,8.5815e-02_rb,9.6980e-02_rb,9.3049e-02_rb,4.6553e-02_rb/) kbo(:, 4,20, 5) = (/ & &6.4136e-02_rb,1.0754e-01_rb,1.1694e-01_rb,1.0820e-01_rb,4.9013e-02_rb/) kbo(:, 5,20, 5) = (/ & &8.7379e-02_rb,1.3322e-01_rb,1.3995e-01_rb,1.2502e-01_rb,5.1455e-02_rb/) kbo(:, 1,21, 5) = (/ & &1.6823e-02_rb,4.3877e-02_rb,5.4527e-02_rb,5.6402e-02_rb,3.5455e-02_rb/) kbo(:, 2,21, 5) = (/ & &2.4936e-02_rb,5.5953e-02_rb,6.6511e-02_rb,6.6307e-02_rb,3.7602e-02_rb/) kbo(:, 3,21, 5) = (/ & &3.5634e-02_rb,7.0642e-02_rb,8.0513e-02_rb,7.7454e-02_rb,3.9786e-02_rb/) kbo(:, 4,21, 5) = (/ & &4.9531e-02_rb,8.8177e-02_rb,9.6745e-02_rb,8.9935e-02_rb,4.1920e-02_rb/) kbo(:, 5,21, 5) = (/ & &6.7455e-02_rb,1.0884e-01_rb,1.1539e-01_rb,1.0375e-01_rb,4.4030e-02_rb/) kbo(:, 1,22, 5) = (/ & &1.3789e-02_rb,3.7331e-02_rb,4.6413e-02_rb,4.7878e-02_rb,3.0220e-02_rb/) kbo(:, 2,22, 5) = (/ & &2.0294e-02_rb,4.7459e-02_rb,5.6444e-02_rb,5.6212e-02_rb,3.2091e-02_rb/) kbo(:, 3,22, 5) = (/ & &2.8887e-02_rb,5.9685e-02_rb,6.8142e-02_rb,6.5522e-02_rb,3.3949e-02_rb/) kbo(:, 4,22, 5) = (/ & &4.0024e-02_rb,7.4193e-02_rb,8.1621e-02_rb,7.5940e-02_rb,3.5793e-02_rb/) kbo(:, 5,22, 5) = (/ & &5.4487e-02_rb,9.1298e-02_rb,9.7079e-02_rb,8.7446e-02_rb,3.7515e-02_rb/) kbo(:, 1,23, 5) = (/ & &1.1373e-02_rb,3.1797e-02_rb,3.9445e-02_rb,4.0631e-02_rb,2.5676e-02_rb/) kbo(:, 2,23, 5) = (/ & &1.6630e-02_rb,4.0276e-02_rb,4.7874e-02_rb,4.7621e-02_rb,2.7276e-02_rb/) kbo(:, 3,23, 5) = (/ & &2.3572e-02_rb,5.0445e-02_rb,5.7632e-02_rb,5.5405e-02_rb,2.8857e-02_rb/) kbo(:, 4,23, 5) = (/ & &3.2590e-02_rb,6.2506e-02_rb,6.8883e-02_rb,6.4105e-02_rb,3.0360e-02_rb/) kbo(:, 5,23, 5) = (/ & &4.4383e-02_rb,7.6716e-02_rb,8.1703e-02_rb,7.3646e-02_rb,3.1632e-02_rb/) kbo(:, 1,24, 5) = (/ & &9.3521e-03_rb,2.6988e-02_rb,3.3405e-02_rb,3.4382e-02_rb,2.1758e-02_rb/) kbo(:, 2,24, 5) = (/ & &1.3592e-02_rb,3.4040e-02_rb,4.0452e-02_rb,4.0217e-02_rb,2.3106e-02_rb/) kbo(:, 3,24, 5) = (/ & &1.9190e-02_rb,4.2486e-02_rb,4.8570e-02_rb,4.6701e-02_rb,2.4399e-02_rb/) kbo(:, 4,24, 5) = (/ & &2.6527e-02_rb,5.2454e-02_rb,5.7886e-02_rb,5.3878e-02_rb,2.5528e-02_rb/) kbo(:, 5,24, 5) = (/ & &3.6127e-02_rb,6.4240e-02_rb,6.8480e-02_rb,6.1740e-02_rb,2.6418e-02_rb/) kbo(:, 1,25, 5) = (/ & &7.8143e-03_rb,2.3046e-02_rb,2.8423e-02_rb,2.9180e-02_rb,1.8391e-02_rb/) kbo(:, 2,25, 5) = (/ & &1.1292e-02_rb,2.8965e-02_rb,3.4350e-02_rb,3.4059e-02_rb,1.9498e-02_rb/) kbo(:, 3,25, 5) = (/ & &1.5906e-02_rb,3.6033e-02_rb,4.1158e-02_rb,3.9460e-02_rb,2.0484e-02_rb/) kbo(:, 4,25, 5) = (/ & &2.2015e-02_rb,4.4387e-02_rb,4.8915e-02_rb,4.5425e-02_rb,2.1291e-02_rb/) kbo(:, 5,25, 5) = (/ & &2.9929e-02_rb,5.4292e-02_rb,5.7748e-02_rb,5.1892e-02_rb,2.1939e-02_rb/) kbo(:, 1,26, 5) = (/ & &6.6841e-03_rb,1.9882e-02_rb,2.4386e-02_rb,2.4902e-02_rb,1.5507e-02_rb/) kbo(:, 2,26, 5) = (/ & &9.6187e-03_rb,2.4917e-02_rb,2.9404e-02_rb,2.8998e-02_rb,1.6368e-02_rb/) kbo(:, 3,26, 5) = (/ & &1.3541e-02_rb,3.0916e-02_rb,3.5147e-02_rb,3.3522e-02_rb,1.7088e-02_rb/) kbo(:, 4,26, 5) = (/ & &1.8734e-02_rb,3.8045e-02_rb,4.1676e-02_rb,3.8461e-02_rb,1.7679e-02_rb/) kbo(:, 5,26, 5) = (/ & &2.5382e-02_rb,4.6534e-02_rb,4.9183e-02_rb,4.3795e-02_rb,1.8164e-02_rb/) kbo(:, 1,27, 5) = (/ & &5.9464e-03_rb,1.7461e-02_rb,2.1207e-02_rb,2.1457e-02_rb,1.3019e-02_rb/) kbo(:, 2,27, 5) = (/ & &8.5411e-03_rb,2.1855e-02_rb,2.5534e-02_rb,2.4945e-02_rb,1.3658e-02_rb/) kbo(:, 3,27, 5) = (/ & &1.2012e-02_rb,2.7098e-02_rb,3.0472e-02_rb,2.8773e-02_rb,1.4192e-02_rb/) kbo(:, 4,27, 5) = (/ & &1.6580e-02_rb,3.3382e-02_rb,3.6146e-02_rb,3.2904e-02_rb,1.4638e-02_rb/) kbo(:, 5,27, 5) = (/ & &2.2392e-02_rb,4.0890e-02_rb,4.2671e-02_rb,3.7399e-02_rb,1.5005e-02_rb/) kbo(:, 1,28, 5) = (/ & &5.4489e-03_rb,1.5531e-02_rb,1.8614e-02_rb,1.8613e-02_rb,1.0873e-02_rb/) kbo(:, 2,28, 5) = (/ & &7.8148e-03_rb,1.9440e-02_rb,2.2401e-02_rb,2.1604e-02_rb,1.1349e-02_rb/) kbo(:, 3,28, 5) = (/ & &1.0969e-02_rb,2.4138e-02_rb,2.6729e-02_rb,2.4848e-02_rb,1.1757e-02_rb/) kbo(:, 4,28, 5) = (/ & &1.5087e-02_rb,2.9815e-02_rb,3.1728e-02_rb,2.8368e-02_rb,1.2101e-02_rb/) kbo(:, 5,28, 5) = (/ & &2.0299e-02_rb,3.6555e-02_rb,3.7502e-02_rb,3.2280e-02_rb,1.2378e-02_rb/) kbo(:, 1,29, 5) = (/ & &5.3270e-03_rb,1.4285e-02_rb,1.6775e-02_rb,1.6453e-02_rb,9.0474e-03_rb/) kbo(:, 2,29, 5) = (/ & &7.6276e-03_rb,1.7927e-02_rb,2.0207e-02_rb,1.9083e-02_rb,9.4132e-03_rb/) kbo(:, 3,29, 5) = (/ & &1.0673e-02_rb,2.2373e-02_rb,2.4172e-02_rb,2.1940e-02_rb,9.7284e-03_rb/) kbo(:, 4,29, 5) = (/ & &1.4614e-02_rb,2.7730e-02_rb,2.8795e-02_rb,2.5116e-02_rb,9.9926e-03_rb/) kbo(:, 5,29, 5) = (/ & &1.9579e-02_rb,3.4081e-02_rb,3.4110e-02_rb,2.8684e-02_rb,1.0207e-02_rb/) kbo(:, 1,30, 5) = (/ & &5.3535e-03_rb,1.3353e-02_rb,1.5300e-02_rb,1.4666e-02_rb,7.5129e-03_rb/) kbo(:, 2,30, 5) = (/ & &7.6380e-03_rb,1.6853e-02_rb,1.8473e-02_rb,1.7010e-02_rb,7.7968e-03_rb/) kbo(:, 3,30, 5) = (/ & &1.0647e-02_rb,2.1132e-02_rb,2.2202e-02_rb,1.9612e-02_rb,8.0434e-03_rb/) kbo(:, 4,30, 5) = (/ & &1.4510e-02_rb,2.6289e-02_rb,2.6550e-02_rb,2.2553e-02_rb,8.2450e-03_rb/) kbo(:, 5,30, 5) = (/ & &1.9367e-02_rb,3.2371e-02_rb,3.1546e-02_rb,2.5868e-02_rb,8.4082e-03_rb/) kbo(:, 1,31, 5) = (/ & &5.6746e-03_rb,1.2936e-02_rb,1.4343e-02_rb,1.3343e-02_rb,6.2303e-03_rb/) kbo(:, 2,31, 5) = (/ & &8.0577e-03_rb,1.6447e-02_rb,1.7425e-02_rb,1.5532e-02_rb,6.4556e-03_rb/) kbo(:, 3,31, 5) = (/ & &1.1174e-02_rb,2.0739e-02_rb,2.1078e-02_rb,1.8020e-02_rb,6.6441e-03_rb/) kbo(:, 4,31, 5) = (/ & &1.5165e-02_rb,2.5916e-02_rb,2.5346e-02_rb,2.0861e-02_rb,6.8034e-03_rb/) kbo(:, 5,31, 5) = (/ & &2.0188e-02_rb,3.1999e-02_rb,3.0259e-02_rb,2.4055e-02_rb,6.9268e-03_rb/) kbo(:, 1,32, 5) = (/ & &6.0895e-03_rb,1.2732e-02_rb,1.3622e-02_rb,1.2258e-02_rb,5.1656e-03_rb/) kbo(:, 2,32, 5) = (/ & &8.5996e-03_rb,1.6298e-02_rb,1.6681e-02_rb,1.4366e-02_rb,5.3392e-03_rb/) kbo(:, 3,32, 5) = (/ & &1.1871e-02_rb,2.0666e-02_rb,2.0302e-02_rb,1.6787e-02_rb,5.4899e-03_rb/) kbo(:, 4,32, 5) = (/ & &1.6059e-02_rb,2.5901e-02_rb,2.4547e-02_rb,1.9547e-02_rb,5.6119e-03_rb/) kbo(:, 5,32, 5) = (/ & &2.1313e-02_rb,3.2082e-02_rb,2.9454e-02_rb,2.2664e-02_rb,5.7070e-03_rb/) kbo(:, 1,33, 5) = (/ & &6.6515e-03_rb,1.2796e-02_rb,1.3188e-02_rb,1.1442e-02_rb,4.2781e-03_rb/) kbo(:, 2,33, 5) = (/ & &9.3384e-03_rb,1.6485e-02_rb,1.6266e-02_rb,1.3517e-02_rb,4.4167e-03_rb/) kbo(:, 3,33, 5) = (/ & &1.2846e-02_rb,2.0999e-02_rb,1.9943e-02_rb,1.5910e-02_rb,4.5341e-03_rb/) kbo(:, 4,33, 5) = (/ & &1.7327e-02_rb,2.6399e-02_rb,2.4247e-02_rb,1.8651e-02_rb,4.6303e-03_rb/) kbo(:, 5,33, 5) = (/ & &2.2895e-02_rb,3.2829e-02_rb,2.9267e-02_rb,2.1750e-02_rb,4.7019e-03_rb/) kbo(:, 1,34, 5) = (/ & &6.9862e-03_rb,1.2631e-02_rb,1.2600e-02_rb,1.0591e-02_rb,3.5376e-03_rb/) kbo(:, 2,34, 5) = (/ & &9.7726e-03_rb,1.6353e-02_rb,1.5653e-02_rb,1.2600e-02_rb,3.6473e-03_rb/) kbo(:, 3,34, 5) = (/ & &1.3409e-02_rb,2.0887e-02_rb,1.9295e-02_rb,1.4929e-02_rb,3.7406e-03_rb/) kbo(:, 4,34, 5) = (/ & &1.8037e-02_rb,2.6346e-02_rb,2.3581e-02_rb,1.7591e-02_rb,3.8148e-03_rb/) kbo(:, 5,34, 5) = (/ & &2.3704e-02_rb,3.2885e-02_rb,2.8616e-02_rb,2.0638e-02_rb,3.8707e-03_rb/) kbo(:, 1,35, 5) = (/ & &7.0977e-03_rb,1.2235e-02_rb,1.1878e-02_rb,9.7122e-03_rb,2.9156e-03_rb/) kbo(:, 2,35, 5) = (/ & &9.9249e-03_rb,1.5915e-02_rb,1.4862e-02_rb,1.1642e-02_rb,3.0042e-03_rb/) kbo(:, 3,35, 5) = (/ & &1.3615e-02_rb,2.0413e-02_rb,1.8425e-02_rb,1.3882e-02_rb,3.0791e-03_rb/) kbo(:, 4,35, 5) = (/ & &1.8271e-02_rb,2.5881e-02_rb,2.2655e-02_rb,1.6461e-02_rb,3.1387e-03_rb/) kbo(:, 5,35, 5) = (/ & &2.3900e-02_rb,3.2414e-02_rb,2.7651e-02_rb,1.9450e-02_rb,3.1837e-03_rb/) kbo(:, 1,36, 5) = (/ & &6.9060e-03_rb,1.1498e-02_rb,1.0932e-02_rb,8.7493e-03_rb,2.3952e-03_rb/) kbo(:, 2,36, 5) = (/ & &9.6735e-03_rb,1.5042e-02_rb,1.3779e-02_rb,1.0573e-02_rb,2.4672e-03_rb/) kbo(:, 3,36, 5) = (/ & &1.3291e-02_rb,1.9415e-02_rb,1.7205e-02_rb,1.2691e-02_rb,2.5290e-03_rb/) kbo(:, 4,36, 5) = (/ & &1.7820e-02_rb,2.4753e-02_rb,2.1299e-02_rb,1.5151e-02_rb,2.5791e-03_rb/) kbo(:, 5,36, 5) = (/ & &2.3253e-02_rb,3.1113e-02_rb,2.6141e-02_rb,1.8030e-02_rb,2.6175e-03_rb/) kbo(:, 1,37, 5) = (/ & &6.2139e-03_rb,1.0192e-02_rb,9.5802e-03_rb,7.5798e-03_rb,1.9567e-03_rb/) kbo(:, 2,37, 5) = (/ & &8.7456e-03_rb,1.3428e-02_rb,1.2164e-02_rb,9.2244e-03_rb,2.0181e-03_rb/) kbo(:, 3,37, 5) = (/ & &1.2068e-02_rb,1.7456e-02_rb,1.5302e-02_rb,1.1147e-02_rb,2.0706e-03_rb/) kbo(:, 4,37, 5) = (/ & &1.6229e-02_rb,2.2411e-02_rb,1.9089e-02_rb,1.3408e-02_rb,2.1134e-03_rb/) kbo(:, 5,37, 5) = (/ & &2.1208e-02_rb,2.8314e-02_rb,2.3560e-02_rb,1.6063e-02_rb,2.1467e-03_rb/) kbo(:, 1,38, 5) = (/ & &5.6546e-03_rb,9.1081e-03_rb,8.4597e-03_rb,6.6101e-03_rb,1.5995e-03_rb/) kbo(:, 2,38, 5) = (/ & &7.9966e-03_rb,1.2093e-02_rb,1.0832e-02_rb,8.1085e-03_rb,1.6506e-03_rb/) kbo(:, 3,38, 5) = (/ & &1.1084e-02_rb,1.5851e-02_rb,1.3740e-02_rb,9.8767e-03_rb,1.6948e-03_rb/) kbo(:, 4,38, 5) = (/ & &1.4944e-02_rb,2.0494e-02_rb,1.7272e-02_rb,1.1975e-02_rb,1.7322e-03_rb/) kbo(:, 5,38, 5) = (/ & &1.9571e-02_rb,2.6031e-02_rb,2.1445e-02_rb,1.4447e-02_rb,1.7614e-03_rb/) kbo(:, 1,39, 5) = (/ & &5.2606e-03_rb,8.2861e-03_rb,7.5918e-03_rb,5.8448e-03_rb,1.3077e-03_rb/) kbo(:, 2,39, 5) = (/ & &7.4758e-03_rb,1.1098e-02_rb,9.8108e-03_rb,7.2343e-03_rb,1.3505e-03_rb/) kbo(:, 3,39, 5) = (/ & &1.0407e-02_rb,1.4668e-02_rb,1.2553e-02_rb,8.8880e-03_rb,1.3888e-03_rb/) kbo(:, 4,39, 5) = (/ & &1.4072e-02_rb,1.9102e-02_rb,1.5911e-02_rb,1.0872e-02_rb,1.4211e-03_rb/) kbo(:, 5,39, 5) = (/ & &1.8472e-02_rb,2.4391e-02_rb,1.9883e-02_rb,1.3211e-02_rb,1.4470e-03_rb/) kbo(:, 1,40, 5) = (/ & &4.4239e-03_rb,6.9683e-03_rb,6.3619e-03_rb,4.8825e-03_rb,1.0643e-03_rb/) kbo(:, 2,40, 5) = (/ & &6.3289e-03_rb,9.4143e-03_rb,8.2870e-03_rb,6.0882e-03_rb,1.1007e-03_rb/) kbo(:, 3,40, 5) = (/ & &8.8723e-03_rb,1.2550e-02_rb,1.0689e-02_rb,7.5344e-03_rb,1.1340e-03_rb/) kbo(:, 4,40, 5) = (/ & &1.2075e-02_rb,1.6469e-02_rb,1.3655e-02_rb,9.2842e-03_rb,1.1620e-03_rb/) kbo(:, 5,40, 5) = (/ & &1.5933e-02_rb,2.1174e-02_rb,1.7180e-02_rb,1.1354e-02_rb,1.1848e-03_rb/) kbo(:, 1,41, 5) = (/ & &3.6867e-03_rb,5.8128e-03_rb,5.2949e-03_rb,4.0553e-03_rb,8.6561e-04_rb/) kbo(:, 2,41, 5) = (/ & &5.3143e-03_rb,7.9271e-03_rb,6.9551e-03_rb,5.0947e-03_rb,8.9710e-04_rb/) kbo(:, 3,41, 5) = (/ & &7.5044e-03_rb,1.0658e-02_rb,9.0449e-03_rb,6.3522e-03_rb,9.2517e-04_rb/) kbo(:, 4,41, 5) = (/ & &1.0281e-02_rb,1.4099e-02_rb,1.1643e-02_rb,7.8856e-03_rb,9.4938e-04_rb/) kbo(:, 5,41, 5) = (/ & &1.3649e-02_rb,1.8248e-02_rb,1.4748e-02_rb,9.7057e-03_rb,9.6963e-04_rb/) kbo(:, 1,42, 5) = (/ & &3.0985e-03_rb,4.8781e-03_rb,4.4299e-03_rb,3.3820e-03_rb,7.0400e-04_rb/) kbo(:, 2,42, 5) = (/ & &4.5009e-03_rb,6.7165e-03_rb,5.8698e-03_rb,4.2829e-03_rb,7.3071e-04_rb/) kbo(:, 3,42, 5) = (/ & &6.4001e-03_rb,9.1103e-03_rb,7.7007e-03_rb,5.3843e-03_rb,7.5479e-04_rb/) kbo(:, 4,42, 5) = (/ & &8.8324e-03_rb,1.2154e-02_rb,9.9941e-03_rb,6.7362e-03_rb,7.7572e-04_rb/) kbo(:, 5,42, 5) = (/ & &1.1799e-02_rb,1.5850e-02_rb,1.2750e-02_rb,8.3487e-03_rb,7.9315e-04_rb/) kbo(:, 1,43, 5) = (/ & &2.5629e-03_rb,4.0329e-03_rb,3.6588e-03_rb,2.7901e-03_rb,5.7114e-04_rb/) kbo(:, 2,43, 5) = (/ & &3.7578e-03_rb,5.6142e-03_rb,4.8977e-03_rb,3.5662e-03_rb,5.9379e-04_rb/) kbo(:, 3,43, 5) = (/ & &5.3881e-03_rb,7.6915e-03_rb,6.4844e-03_rb,4.5229e-03_rb,6.1455e-04_rb/) kbo(:, 4,43, 5) = (/ & &7.5091e-03_rb,1.0367e-02_rb,8.4990e-03_rb,5.7086e-03_rb,6.3259e-04_rb/) kbo(:, 5,43, 5) = (/ & &1.0110e-02_rb,1.3645e-02_rb,1.0937e-02_rb,7.1314e-03_rb,6.4809e-04_rb/) kbo(:, 1,44, 5) = (/ & &2.1195e-03_rb,3.3263e-03_rb,3.0153e-03_rb,2.2974e-03_rb,4.6259e-04_rb/) kbo(:, 2,44, 5) = (/ & &3.1405e-03_rb,4.6890e-03_rb,4.0834e-03_rb,2.9671e-03_rb,4.8211e-04_rb/) kbo(:, 3,44, 5) = (/ & &4.5449e-03_rb,6.4956e-03_rb,5.4625e-03_rb,3.8015e-03_rb,4.9986e-04_rb/) kbo(:, 4,44, 5) = (/ & &6.4001e-03_rb,8.8502e-03_rb,7.2321e-03_rb,4.8421e-03_rb,5.1551e-04_rb/) kbo(:, 5,44, 5) = (/ & &8.6977e-03_rb,1.1779e-02_rb,9.4064e-03_rb,6.1062e-03_rb,5.2910e-04_rb/) kbo(:, 1,45, 5) = (/ & &1.7814e-03_rb,2.7759e-03_rb,2.5092e-03_rb,1.9068e-03_rb,3.7475e-04_rb/) kbo(:, 2,45, 5) = (/ & &2.6678e-03_rb,3.9635e-03_rb,3.4407e-03_rb,2.4906e-03_rb,3.9120e-04_rb/) kbo(:, 3,45, 5) = (/ & &3.8999e-03_rb,5.5595e-03_rb,4.6558e-03_rb,3.2267e-03_rb,4.0640e-04_rb/) kbo(:, 4,45, 5) = (/ & &5.5475e-03_rb,7.6646e-03_rb,6.2331e-03_rb,4.1536e-03_rb,4.1988e-04_rb/) kbo(:, 5,45, 5) = (/ & &7.6146e-03_rb,1.0314e-02_rb,8.1967e-03_rb,5.2910e-03_rb,4.3189e-04_rb/) kbo(:, 1,46, 5) = (/ & &1.4913e-03_rb,2.3049e-03_rb,2.0781e-03_rb,1.5752e-03_rb,3.0303e-04_rb/) kbo(:, 2,46, 5) = (/ & &2.2619e-03_rb,3.3394e-03_rb,2.8896e-03_rb,2.0839e-03_rb,3.1705e-04_rb/) kbo(:, 3,46, 5) = (/ & &3.3424e-03_rb,4.7455e-03_rb,3.9592e-03_rb,2.7324e-03_rb,3.2997e-04_rb/) kbo(:, 4,46, 5) = (/ & &4.8041e-03_rb,6.6271e-03_rb,5.3667e-03_rb,3.5579e-03_rb,3.4174e-04_rb/) kbo(:, 5,46, 5) = (/ & &6.6700e-03_rb,9.0306e-03_rb,7.1468e-03_rb,4.5847e-03_rb,3.5220e-04_rb/) kbo(:, 1,47, 5) = (/ & &1.2089e-03_rb,1.8595e-03_rb,1.6774e-03_rb,1.2733e-03_rb,2.4435e-04_rb/) kbo(:, 2,47, 5) = (/ & &1.8589e-03_rb,2.7359e-03_rb,2.3669e-03_rb,1.7064e-03_rb,2.5622e-04_rb/) kbo(:, 3,47, 5) = (/ & &2.7805e-03_rb,3.9417e-03_rb,3.2867e-03_rb,2.2649e-03_rb,2.6731e-04_rb/) kbo(:, 4,47, 5) = (/ & &4.0468e-03_rb,5.5810e-03_rb,4.5086e-03_rb,2.9823e-03_rb,2.7740e-04_rb/) kbo(:, 5,47, 5) = (/ & &5.6890e-03_rb,7.7116e-03_rb,6.0862e-03_rb,3.8914e-03_rb,2.8663e-04_rb/) kbo(:, 1,48, 5) = (/ & &1.0010e-03_rb,1.5219e-03_rb,1.3705e-03_rb,1.0399e-03_rb,1.9690e-04_rb/) kbo(:, 2,48, 5) = (/ & &1.5623e-03_rb,2.2781e-03_rb,1.9661e-03_rb,1.4139e-03_rb,2.0690e-04_rb/) kbo(:, 3,48, 5) = (/ & &2.3663e-03_rb,3.3328e-03_rb,2.7724e-03_rb,1.9027e-03_rb,2.1643e-04_rb/) kbo(:, 4,48, 5) = (/ & &3.4895e-03_rb,4.7876e-03_rb,3.8543e-03_rb,2.5388e-03_rb,2.2513e-04_rb/) kbo(:, 5,48, 5) = (/ & &4.9716e-03_rb,6.7160e-03_rb,5.2797e-03_rb,3.3578e-03_rb,2.3320e-04_rb/) kbo(:, 1,49, 5) = (/ & &8.5765e-04_rb,1.2765e-03_rb,1.1434e-03_rb,8.6362e-04_rb,1.5857e-04_rb/) kbo(:, 2,49, 5) = (/ & &1.3602e-03_rb,1.9488e-03_rb,1.6723e-03_rb,1.1956e-03_rb,1.6712e-04_rb/) kbo(:, 3,49, 5) = (/ & &2.0873e-03_rb,2.8996e-03_rb,2.4000e-03_rb,1.6350e-03_rb,1.7515e-04_rb/) kbo(:, 4,49, 5) = (/ & &3.1195e-03_rb,4.2309e-03_rb,3.3880e-03_rb,2.2146e-03_rb,1.8269e-04_rb/) kbo(:, 5,49, 5) = (/ & &4.5042e-03_rb,6.0317e-03_rb,4.7143e-03_rb,2.9742e-03_rb,1.8971e-04_rb/) kbo(:, 1,50, 5) = (/ & &7.0327e-04_rb,1.0357e-03_rb,9.2617e-04_rb,6.9913e-04_rb,1.2768e-04_rb/) kbo(:, 2,50, 5) = (/ & &1.1341e-03_rb,1.6088e-03_rb,1.3773e-03_rb,9.8362e-04_rb,1.3488e-04_rb/) kbo(:, 3,50, 5) = (/ & &1.7633e-03_rb,2.4334e-03_rb,2.0087e-03_rb,1.3647e-03_rb,1.4174e-04_rb/) kbo(:, 4,50, 5) = (/ & &2.6686e-03_rb,3.6011e-03_rb,2.8760e-03_rb,1.8731e-03_rb,1.4819e-04_rb/) kbo(:, 5,50, 5) = (/ & &3.9042e-03_rb,5.2110e-03_rb,4.0582e-03_rb,2.5499e-03_rb,1.5417e-04_rb/) kbo(:, 1,51, 5) = (/ & &5.6283e-04_rb,8.2479e-04_rb,7.3777e-04_rb,5.5772e-04_rb,1.0280e-04_rb/) kbo(:, 2,51, 5) = (/ & &9.2490e-04_rb,1.3030e-03_rb,1.1149e-03_rb,7.9673e-04_rb,1.0882e-04_rb/) kbo(:, 3,51, 5) = (/ & &1.4569e-03_rb,2.0026e-03_rb,1.6508e-03_rb,1.1213e-03_rb,1.1463e-04_rb/) kbo(:, 4,51, 5) = (/ & &2.2322e-03_rb,3.0043e-03_rb,2.3967e-03_rb,1.5580e-03_rb,1.2010e-04_rb/) kbo(:, 5,51, 5) = (/ & &3.3090e-03_rb,4.4133e-03_rb,3.4281e-03_rb,2.1477e-03_rb,1.2516e-04_rb/) kbo(:, 1,52, 5) = (/ & &4.5964e-04_rb,6.6706e-04_rb,5.9570e-04_rb,4.4969e-04_rb,8.2695e-05_rb/) kbo(:, 2,52, 5) = (/ & &7.7113e-04_rb,1.0739e-03_rb,9.1646e-04_rb,6.5362e-04_rb,8.7774e-05_rb/) kbo(:, 3,52, 5) = (/ & &1.2329e-03_rb,1.6791e-03_rb,1.3796e-03_rb,9.3460e-04_rb,9.2675e-05_rb/) kbo(:, 4,52, 5) = (/ & &1.9124e-03_rb,2.5569e-03_rb,2.0345e-03_rb,1.3172e-03_rb,9.7314e-05_rb/) kbo(:, 5,52, 5) = (/ & &2.8744e-03_rb,3.8139e-03_rb,2.9526e-03_rb,1.8404e-03_rb,1.0157e-04_rb/) kbo(:, 1,53, 5) = (/ & &3.8730e-04_rb,5.5282e-04_rb,4.9108e-04_rb,3.6874e-04_rb,6.6480e-05_rb/) kbo(:, 2,53, 5) = (/ & &6.6529e-04_rb,9.0913e-04_rb,7.7130e-04_rb,5.4660e-04_rb,7.0743e-05_rb/) kbo(:, 3,53, 5) = (/ & &1.0811e-03_rb,1.4483e-03_rb,1.1832e-03_rb,7.9661e-04_rb,7.4902e-05_rb/) kbo(:, 4,53, 5) = (/ & &1.6977e-03_rb,2.2425e-03_rb,1.7750e-03_rb,1.1419e-03_rb,7.8801e-05_rb/) kbo(:, 5,53, 5) = (/ & &2.5875e-03_rb,3.3978e-03_rb,2.6180e-03_rb,1.6189e-03_rb,8.2434e-05_rb/) kbo(:, 1,54, 5) = (/ & &2.8438e-04_rb,4.1240e-04_rb,3.6923e-04_rb,2.8032e-04_rb,5.3391e-05_rb/) kbo(:, 2,54, 5) = (/ & &5.0038e-04_rb,6.8881e-04_rb,5.8764e-04_rb,4.1957e-04_rb,5.6986e-05_rb/) kbo(:, 3,54, 5) = (/ & &8.2710e-04_rb,1.1130e-03_rb,9.1323e-04_rb,6.1896e-04_rb,6.0464e-05_rb/) kbo(:, 4,54, 5) = (/ & &1.3140e-03_rb,1.7467e-03_rb,1.3863e-03_rb,8.9674e-04_rb,6.3698e-05_rb/) kbo(:, 5,54, 5) = (/ & &2.0289e-03_rb,2.6791e-03_rb,2.0677e-03_rb,1.2826e-03_rb,6.6754e-05_rb/) kbo(:, 1,55, 5) = (/ & &1.9032e-04_rb,2.8714e-04_rb,2.6164e-04_rb,2.0312e-04_rb,4.2857e-05_rb/) kbo(:, 2,55, 5) = (/ & &3.4354e-04_rb,4.8514e-04_rb,4.1940e-04_rb,3.0487e-04_rb,4.5872e-05_rb/) kbo(:, 3,55, 5) = (/ & &5.7798e-04_rb,7.9314e-04_rb,6.5789e-04_rb,4.5289e-04_rb,4.8737e-05_rb/) kbo(:, 4,55, 5) = (/ & &9.2977e-04_rb,1.2582e-03_rb,1.0072e-03_rb,6.6019e-04_rb,5.1425e-05_rb/) kbo(:, 5,55, 5) = (/ & &1.4533e-03_rb,1.9484e-03_rb,1.5135e-03_rb,9.4927e-04_rb,5.3965e-05_rb/) kbo(:, 1,56, 5) = (/ & &1.2624e-04_rb,1.9945e-04_rb,1.8526e-04_rb,1.4713e-04_rb,3.4367e-05_rb/) kbo(:, 2,56, 5) = (/ & &2.3425e-04_rb,3.4034e-04_rb,2.9855e-04_rb,2.2108e-04_rb,3.6885e-05_rb/) kbo(:, 3,56, 5) = (/ & &4.0201e-04_rb,5.6312e-04_rb,4.7257e-04_rb,3.3069e-04_rb,3.9253e-05_rb/) kbo(:, 4,56, 5) = (/ & &6.5545e-04_rb,9.0280e-04_rb,7.2955e-04_rb,4.8511e-04_rb,4.1521e-05_rb/) kbo(:, 5,56, 5) = (/ & &1.0372e-03_rb,1.4120e-03_rb,1.1051e-03_rb,7.0135e-04_rb,4.3631e-05_rb/) kbo(:, 1,57, 5) = (/ & &8.2825e-05_rb,1.3826e-04_rb,1.3105e-04_rb,1.0648e-04_rb,2.7541e-05_rb/) kbo(:, 2,57, 5) = (/ & &1.5848e-04_rb,2.3765e-04_rb,2.1180e-04_rb,1.6006e-04_rb,2.9646e-05_rb/) kbo(:, 3,57, 5) = (/ & &2.7802e-04_rb,3.9802e-04_rb,3.3815e-04_rb,2.4085e-04_rb,3.1604e-05_rb/) kbo(:, 4,57, 5) = (/ & &4.6014e-04_rb,6.4521e-04_rb,5.2696e-04_rb,3.5556e-04_rb,3.3502e-05_rb/) kbo(:, 5,57, 5) = (/ & &7.3676e-04_rb,1.0192e-03_rb,8.0418e-04_rb,5.1690e-04_rb,3.5248e-05_rb/) kbo(:, 1,58, 5) = (/ & &1.4413e-05_rb,3.1415e-05_rb,3.9206e-05_rb,4.5793e-05_rb,2.2070e-05_rb/) kbo(:, 2,58, 5) = (/ & &2.8319e-05_rb,5.4166e-05_rb,6.3295e-05_rb,6.8680e-05_rb,2.3823e-05_rb/) kbo(:, 3,58, 5) = (/ & &5.0851e-05_rb,9.1643e-05_rb,1.0172e-04_rb,1.0358e-04_rb,2.5450e-05_rb/) kbo(:, 4,58, 5) = (/ & &8.5536e-05_rb,1.4999e-04_rb,1.5967e-04_rb,1.5367e-04_rb,2.7016e-05_rb/) kbo(:, 5,58, 5) = (/ & &1.3845e-04_rb,2.3895e-04_rb,2.4509e-04_rb,2.2418e-04_rb,2.8488e-05_rb/) kbo(:, 1,59, 5) = (/ & &1.2766e-05_rb,2.9930e-05_rb,3.6342e-05_rb,3.9546e-05_rb,1.7924e-05_rb/) kbo(:, 2,59, 5) = (/ & &2.5308e-05_rb,5.0886e-05_rb,5.7559e-05_rb,5.8137e-05_rb,1.9351e-05_rb/) kbo(:, 3,59, 5) = (/ & &4.5886e-05_rb,8.5371e-05_rb,9.1314e-05_rb,8.6129e-05_rb,2.0681e-05_rb/) kbo(:, 4,59, 5) = (/ & &7.7783e-05_rb,1.3897e-04_rb,1.4192e-04_rb,1.2608e-04_rb,2.1937e-05_rb/) kbo(:, 5,59, 5) = (/ & &1.2671e-04_rb,2.2060e-04_rb,2.1586e-04_rb,1.8160e-04_rb,2.3122e-05_rb/) kbo(:, 1,13, 6) = (/ & &1.2091e+00_rb,1.0925e+00_rb,9.7132e-01_rb,7.6832e-01_rb,2.2429e-01_rb/) kbo(:, 2,13, 6) = (/ & &1.8464e+00_rb,1.5640e+00_rb,1.2977e+00_rb,9.6738e-01_rb,2.2945e-01_rb/) kbo(:, 3,13, 6) = (/ & &2.7006e+00_rb,2.1933e+00_rb,1.7174e+00_rb,1.2089e+00_rb,2.3586e-01_rb/) kbo(:, 4,13, 6) = (/ & &3.8041e+00_rb,3.0098e+00_rb,2.2534e+00_rb,1.4966e+00_rb,2.4148e-01_rb/) kbo(:, 5,13, 6) = (/ & &5.1874e+00_rb,4.0404e+00_rb,2.9277e+00_rb,1.8384e+00_rb,2.4717e-01_rb/) kbo(:, 1,14, 6) = (/ & &6.6672e-01_rb,6.8855e-01_rb,6.6353e-01_rb,5.5608e-01_rb,2.0092e-01_rb/) kbo(:, 2,14, 6) = (/ & &1.0160e+00_rb,9.4963e-01_rb,8.6392e-01_rb,6.8590e-01_rb,2.0621e-01_rb/) kbo(:, 3,14, 6) = (/ & &1.4836e+00_rb,1.2937e+00_rb,1.1112e+00_rb,8.3934e-01_rb,2.1228e-01_rb/) kbo(:, 4,14, 6) = (/ & &2.0856e+00_rb,1.7366e+00_rb,1.4142e+00_rb,1.0186e+00_rb,2.1791e-01_rb/) kbo(:, 5,14, 6) = (/ & &2.8402e+00_rb,2.2928e+00_rb,1.7814e+00_rb,1.2275e+00_rb,2.2338e-01_rb/) kbo(:, 1,15, 6) = (/ & &3.7534e-01_rb,4.5732e-01_rb,4.6750e-01_rb,4.0917e-01_rb,1.7874e-01_rb/) kbo(:, 2,15, 6) = (/ & &5.7029e-01_rb,6.1390e-01_rb,5.9540e-01_rb,4.9734e-01_rb,1.8407e-01_rb/) kbo(:, 3,15, 6) = (/ & &8.2994e-01_rb,8.1258e-01_rb,7.5038e-01_rb,5.9870e-01_rb,1.8982e-01_rb/) kbo(:, 4,15, 6) = (/ & &1.1635e+00_rb,1.0593e+00_rb,9.3529e-01_rb,7.1512e-01_rb,1.9538e-01_rb/) kbo(:, 5,15, 6) = (/ & &1.5834e+00_rb,1.3649e+00_rb,1.1537e+00_rb,8.4763e-01_rb,2.0092e-01_rb/) kbo(:, 1,16, 6) = (/ & &2.5139e-01_rb,3.4640e-01_rb,3.6560e-01_rb,3.2723e-01_rb,1.5796e-01_rb/) kbo(:, 2,16, 6) = (/ & &3.8033e-01_rb,4.5844e-01_rb,4.5962e-01_rb,3.9345e-01_rb,1.6322e-01_rb/) kbo(:, 3,16, 6) = (/ & &5.5135e-01_rb,5.9731e-01_rb,5.7234e-01_rb,4.6896e-01_rb,1.6890e-01_rb/) kbo(:, 4,16, 6) = (/ & &7.7178e-01_rb,7.6699e-01_rb,7.0504e-01_rb,5.5557e-01_rb,1.7446e-01_rb/) kbo(:, 5,16, 6) = (/ & &1.0505e+00_rb,9.7332e-01_rb,8.6035e-01_rb,6.5296e-01_rb,1.7998e-01_rb/) kbo(:, 1,17, 6) = (/ & &1.7391e-01_rb,2.6830e-01_rb,2.8935e-01_rb,2.6535e-01_rb,1.3871e-01_rb/) kbo(:, 2,17, 6) = (/ & &2.6196e-01_rb,3.5091e-01_rb,3.6089e-01_rb,3.1647e-01_rb,1.4388e-01_rb/) kbo(:, 3,17, 6) = (/ & &3.7888e-01_rb,4.5188e-01_rb,4.4522e-01_rb,3.7420e-01_rb,1.4950e-01_rb/) kbo(:, 4,17, 6) = (/ & &5.3041e-01_rb,5.7470e-01_rb,5.4379e-01_rb,4.3949e-01_rb,1.5497e-01_rb/) kbo(:, 5,17, 6) = (/ & &7.2254e-01_rb,7.2344e-01_rb,6.5849e-01_rb,5.1285e-01_rb,1.6018e-01_rb/) kbo(:, 1,18, 6) = (/ & &1.2310e-01_rb,2.1053e-01_rb,2.3152e-01_rb,2.1713e-01_rb,1.2112e-01_rb/) kbo(:, 2,18, 6) = (/ & &1.8497e-01_rb,2.7232e-01_rb,2.8648e-01_rb,2.5684e-01_rb,1.2635e-01_rb/) kbo(:, 3,18, 6) = (/ & &2.6727e-01_rb,3.4798e-01_rb,3.5045e-01_rb,3.0154e-01_rb,1.3167e-01_rb/) kbo(:, 4,18, 6) = (/ & &3.7442e-01_rb,4.3958e-01_rb,4.2522e-01_rb,3.5185e-01_rb,1.3670e-01_rb/) kbo(:, 5,18, 6) = (/ & &5.0994e-01_rb,5.4989e-01_rb,5.1174e-01_rb,4.0832e-01_rb,1.4125e-01_rb/) kbo(:, 1,19, 6) = (/ & &8.5532e-02_rb,1.6314e-01_rb,1.8367e-01_rb,1.7636e-01_rb,1.0532e-01_rb/) kbo(:, 2,19, 6) = (/ & &1.2828e-01_rb,2.0893e-01_rb,2.2484e-01_rb,2.0705e-01_rb,1.1032e-01_rb/) kbo(:, 3,19, 6) = (/ & &1.8543e-01_rb,2.6474e-01_rb,2.7268e-01_rb,2.4148e-01_rb,1.1512e-01_rb/) kbo(:, 4,19, 6) = (/ & &2.5984e-01_rb,3.3238e-01_rb,3.2852e-01_rb,2.8001e-01_rb,1.1952e-01_rb/) kbo(:, 5,19, 6) = (/ & &3.5320e-01_rb,4.1295e-01_rb,3.9317e-01_rb,3.2333e-01_rb,1.2366e-01_rb/) kbo(:, 1,20, 6) = (/ & &6.4796e-02_rb,1.3254e-01_rb,1.5120e-01_rb,1.4730e-01_rb,9.1341e-02_rb/) kbo(:, 2,20, 6) = (/ & &9.6990e-02_rb,1.6885e-01_rb,1.8400e-01_rb,1.7239e-01_rb,9.5796e-02_rb/) kbo(:, 3,20, 6) = (/ & &1.4017e-01_rb,2.1315e-01_rb,2.2212e-01_rb,2.0058e-01_rb,9.9929e-02_rb/) kbo(:, 4,20, 6) = (/ & &1.9600e-01_rb,2.6649e-01_rb,2.6658e-01_rb,2.3206e-01_rb,1.0386e-01_rb/) kbo(:, 5,20, 6) = (/ & &2.6559e-01_rb,3.2963e-01_rb,3.1802e-01_rb,2.6726e-01_rb,1.0762e-01_rb/) kbo(:, 1,21, 6) = (/ & &5.0649e-02_rb,1.0928e-01_rb,1.2583e-01_rb,1.2405e-01_rb,7.8779e-02_rb/) kbo(:, 2,21, 6) = (/ & &7.5738e-02_rb,1.3875e-01_rb,1.5264e-01_rb,1.4489e-01_rb,8.2609e-02_rb/) kbo(:, 3,21, 6) = (/ & &1.0925e-01_rb,1.7464e-01_rb,1.8399e-01_rb,1.6832e-01_rb,8.6258e-02_rb/) kbo(:, 4,21, 6) = (/ & &1.5216e-01_rb,2.1765e-01_rb,2.2035e-01_rb,1.9451e-01_rb,8.9821e-02_rb/) kbo(:, 5,21, 6) = (/ & &2.0550e-01_rb,2.6822e-01_rb,2.6230e-01_rb,2.2354e-01_rb,9.3160e-02_rb/) kbo(:, 1,22, 6) = (/ & &4.1767e-02_rb,9.2608e-02_rb,1.0699e-01_rb,1.0611e-01_rb,6.7766e-02_rb/) kbo(:, 2,22, 6) = (/ & &6.2192e-02_rb,1.1726e-01_rb,1.2959e-01_rb,1.2363e-01_rb,7.1096e-02_rb/) kbo(:, 3,22, 6) = (/ & &8.9136e-02_rb,1.4711e-01_rb,1.5605e-01_rb,1.4343e-01_rb,7.4363e-02_rb/) kbo(:, 4,22, 6) = (/ & &1.2346e-01_rb,1.8283e-01_rb,1.8672e-01_rb,1.6558e-01_rb,7.7494e-02_rb/) kbo(:, 5,22, 6) = (/ & &1.6595e-01_rb,2.2428e-01_rb,2.2184e-01_rb,1.9008e-01_rb,8.0478e-02_rb/) kbo(:, 1,23, 6) = (/ & &3.4739e-02_rb,7.8664e-02_rb,9.1136e-02_rb,9.0610e-02_rb,5.8065e-02_rb/) kbo(:, 2,23, 6) = (/ & &5.1379e-02_rb,9.9376e-02_rb,1.1032e-01_rb,1.0537e-01_rb,6.0980e-02_rb/) kbo(:, 3,23, 6) = (/ & &7.3154e-02_rb,1.2441e-01_rb,1.3261e-01_rb,1.2218e-01_rb,6.3866e-02_rb/) kbo(:, 4,23, 6) = (/ & &1.0075e-01_rb,1.5392e-01_rb,1.5845e-01_rb,1.4087e-01_rb,6.6610e-02_rb/) kbo(:, 5,23, 6) = (/ & &1.3481e-01_rb,1.8817e-01_rb,1.8784e-01_rb,1.6172e-01_rb,6.9269e-02_rb/) kbo(:, 1,24, 6) = (/ & &2.8818e-02_rb,6.6682e-02_rb,7.7471e-02_rb,7.7057e-02_rb,4.9574e-02_rb/) kbo(:, 2,24, 6) = (/ & &4.2313e-02_rb,8.4062e-02_rb,9.3582e-02_rb,8.9537e-02_rb,5.2146e-02_rb/) kbo(:, 3,24, 6) = (/ & &5.9843e-02_rb,1.0485e-01_rb,1.1232e-01_rb,1.0372e-01_rb,5.4645e-02_rb/) kbo(:, 4,24, 6) = (/ & &8.1952e-02_rb,1.2924e-01_rb,1.3388e-01_rb,1.1954e-01_rb,5.7051e-02_rb/) kbo(:, 5,24, 6) = (/ & &1.0925e-01_rb,1.5756e-01_rb,1.5837e-01_rb,1.3710e-01_rb,5.9328e-02_rb/) kbo(:, 1,25, 6) = (/ & &2.4289e-02_rb,5.7018e-02_rb,6.6182e-02_rb,6.5743e-02_rb,4.2224e-02_rb/) kbo(:, 2,25, 6) = (/ & &3.5371e-02_rb,7.1685e-02_rb,7.9860e-02_rb,7.6400e-02_rb,4.4451e-02_rb/) kbo(:, 3,25, 6) = (/ & &4.9695e-02_rb,8.9091e-02_rb,9.5704e-02_rb,8.8452e-02_rb,4.6603e-02_rb/) kbo(:, 4,25, 6) = (/ & &6.7687e-02_rb,1.0953e-01_rb,1.1385e-01_rb,1.0188e-01_rb,4.8655e-02_rb/) kbo(:, 5,25, 6) = (/ & &9.0080e-02_rb,1.3324e-01_rb,1.3448e-01_rb,1.1679e-01_rb,5.0366e-02_rb/) kbo(:, 1,26, 6) = (/ & &2.0940e-02_rb,4.9340e-02_rb,5.7029e-02_rb,5.6467e-02_rb,3.5910e-02_rb/) kbo(:, 2,26, 6) = (/ & &3.0229e-02_rb,6.1848e-02_rb,6.8786e-02_rb,6.5644e-02_rb,3.7816e-02_rb/) kbo(:, 3,26, 6) = (/ & &4.2173e-02_rb,7.6666e-02_rb,8.2327e-02_rb,7.6015e-02_rb,3.9629e-02_rb/) kbo(:, 4,26, 6) = (/ & &5.7238e-02_rb,9.4072e-02_rb,9.7854e-02_rb,8.7548e-02_rb,4.1173e-02_rb/) kbo(:, 5,26, 6) = (/ & &7.6058e-02_rb,1.1436e-01_rb,1.1545e-01_rb,1.0034e-01_rb,4.2300e-02_rb/) kbo(:, 1,27, 6) = (/ & &1.8730e-02_rb,4.3572e-02_rb,4.9937e-02_rb,4.9064e-02_rb,3.0474e-02_rb/) kbo(:, 2,27, 6) = (/ & &2.6831e-02_rb,5.4541e-02_rb,6.0259e-02_rb,5.7134e-02_rb,3.2064e-02_rb/) kbo(:, 3,27, 6) = (/ & &3.7216e-02_rb,6.7578e-02_rb,7.2151e-02_rb,6.6197e-02_rb,3.3458e-02_rb/) kbo(:, 4,27, 6) = (/ & &5.0417e-02_rb,8.2889e-02_rb,8.5762e-02_rb,7.6299e-02_rb,3.4507e-02_rb/) kbo(:, 5,27, 6) = (/ & &6.6884e-02_rb,1.0088e-01_rb,1.0129e-01_rb,8.7542e-02_rb,3.5247e-02_rb/) kbo(:, 1,28, 6) = (/ & &1.7190e-02_rb,3.9051e-02_rb,4.4263e-02_rb,4.3005e-02_rb,2.5796e-02_rb/) kbo(:, 2,28, 6) = (/ & &2.4452e-02_rb,4.8897e-02_rb,5.3477e-02_rb,5.0169e-02_rb,2.7044e-02_rb/) kbo(:, 3,28, 6) = (/ & &3.3807e-02_rb,6.0596e-02_rb,6.4111e-02_rb,5.8195e-02_rb,2.8015e-02_rb/) kbo(:, 4,28, 6) = (/ & &4.5722e-02_rb,7.4408e-02_rb,7.6314e-02_rb,6.7197e-02_rb,2.8722e-02_rb/) kbo(:, 5,28, 6) = (/ & &6.0503e-02_rb,9.0881e-02_rb,9.0351e-02_rb,7.7127e-02_rb,2.9243e-02_rb/) kbo(:, 1,29, 6) = (/ & &1.6778e-02_rb,3.6309e-02_rb,4.0421e-02_rb,3.8540e-02_rb,2.1757e-02_rb/) kbo(:, 2,29, 6) = (/ & &2.3732e-02_rb,4.5567e-02_rb,4.8987e-02_rb,4.5076e-02_rb,2.2654e-02_rb/) kbo(:, 3,29, 6) = (/ & &3.2754e-02_rb,5.6621e-02_rb,5.8900e-02_rb,5.2465e-02_rb,2.3325e-02_rb/) kbo(:, 4,29, 6) = (/ & &4.4197e-02_rb,6.9861e-02_rb,7.0379e-02_rb,6.0698e-02_rb,2.3826e-02_rb/) kbo(:, 5,29, 6) = (/ & &5.8243e-02_rb,8.5699e-02_rb,8.3806e-02_rb,6.9875e-02_rb,2.4188e-02_rb/) kbo(:, 1,30, 6) = (/ & &1.6788e-02_rb,3.4359e-02_rb,3.7447e-02_rb,3.4898e-02_rb,1.8241e-02_rb/) kbo(:, 2,30, 6) = (/ & &2.3674e-02_rb,4.3260e-02_rb,4.5554e-02_rb,4.0970e-02_rb,1.8874e-02_rb/) kbo(:, 3,30, 6) = (/ & &3.2611e-02_rb,5.3991e-02_rb,5.4995e-02_rb,4.7819e-02_rb,1.9352e-02_rb/) kbo(:, 4,30, 6) = (/ & &4.3823e-02_rb,6.7000e-02_rb,6.6123e-02_rb,5.5495e-02_rb,1.9717e-02_rb/) kbo(:, 5,30, 6) = (/ & &5.7496e-02_rb,8.2562e-02_rb,7.9216e-02_rb,6.4205e-02_rb,1.9974e-02_rb/) kbo(:, 1,31, 6) = (/ & &1.7729e-02_rb,3.3726e-02_rb,3.5756e-02_rb,3.2351e-02_rb,1.5217e-02_rb/) kbo(:, 2,31, 6) = (/ & &2.4948e-02_rb,4.2686e-02_rb,4.3734e-02_rb,3.8162e-02_rb,1.5670e-02_rb/) kbo(:, 3,31, 6) = (/ & &3.4225e-02_rb,5.3676e-02_rb,5.3194e-02_rb,4.4735e-02_rb,1.6031e-02_rb/) kbo(:, 4,31, 6) = (/ & &4.5784e-02_rb,6.7038e-02_rb,6.4468e-02_rb,5.2256e-02_rb,1.6295e-02_rb/) kbo(:, 5,31, 6) = (/ & &5.9817e-02_rb,8.2952e-02_rb,7.7737e-02_rb,6.0918e-02_rb,1.6485e-02_rb/) kbo(:, 1,32, 6) = (/ & &1.9003e-02_rb,3.3583e-02_rb,3.4583e-02_rb,3.0306e-02_rb,1.2654e-02_rb/) kbo(:, 2,32, 6) = (/ & &2.6663e-02_rb,4.2837e-02_rb,4.2596e-02_rb,3.5915e-02_rb,1.2998e-02_rb/) kbo(:, 3,32, 6) = (/ & &3.6385e-02_rb,5.4256e-02_rb,5.2269e-02_rb,4.2382e-02_rb,1.3260e-02_rb/) kbo(:, 4,32, 6) = (/ & &4.8425e-02_rb,6.8084e-02_rb,6.3837e-02_rb,4.9934e-02_rb,1.3455e-02_rb/) kbo(:, 5,32, 6) = (/ & &6.3023e-02_rb,8.4608e-02_rb,7.7399e-02_rb,5.8694e-02_rb,1.3589e-02_rb/) kbo(:, 1,33, 6) = (/ & &2.0794e-02_rb,3.4164e-02_rb,3.4049e-02_rb,2.8789e-02_rb,1.0506e-02_rb/) kbo(:, 2,33, 6) = (/ & &2.9020e-02_rb,4.3934e-02_rb,4.2358e-02_rb,3.4361e-02_rb,1.0761e-02_rb/) kbo(:, 3,33, 6) = (/ & &3.9409e-02_rb,5.5981e-02_rb,5.2449e-02_rb,4.0931e-02_rb,1.0954e-02_rb/) kbo(:, 4,33, 6) = (/ & &5.2184e-02_rb,7.0595e-02_rb,6.4456e-02_rb,4.8674e-02_rb,1.1100e-02_rb/) kbo(:, 5,33, 6) = (/ & &6.7723e-02_rb,8.8066e-02_rb,7.8614e-02_rb,5.7672e-02_rb,1.1201e-02_rb/) kbo(:, 1,34, 6) = (/ & &2.1935e-02_rb,3.4165e-02_rb,3.3105e-02_rb,2.7057e-02_rb,8.7014e-03_rb/) kbo(:, 2,34, 6) = (/ & &3.0477e-02_rb,4.4226e-02_rb,4.1562e-02_rb,3.2560e-02_rb,8.8925e-03_rb/) kbo(:, 3,34, 6) = (/ & &4.1199e-02_rb,5.6620e-02_rb,5.1809e-02_rb,3.9153e-02_rb,9.0424e-03_rb/) kbo(:, 4,34, 6) = (/ & &5.4372e-02_rb,7.1709e-02_rb,6.4039e-02_rb,4.6915e-02_rb,9.1557e-03_rb/) kbo(:, 5,34, 6) = (/ & &7.0476e-02_rb,8.9710e-02_rb,7.8542e-02_rb,5.5979e-02_rb,9.2318e-03_rb/) kbo(:, 1,35, 6) = (/ & &2.2432e-02_rb,3.3575e-02_rb,3.1770e-02_rb,2.5159e-02_rb,7.1825e-03_rb/) kbo(:, 2,35, 6) = (/ & &3.1101e-02_rb,4.3743e-02_rb,4.0231e-02_rb,3.0588e-02_rb,7.3372e-03_rb/) kbo(:, 3,35, 6) = (/ & &4.1959e-02_rb,5.6323e-02_rb,5.0491e-02_rb,3.7114e-02_rb,7.4571e-03_rb/) kbo(:, 4,35, 6) = (/ & &5.5361e-02_rb,7.1664e-02_rb,6.2827e-02_rb,4.4829e-02_rb,7.5457e-03_rb/) kbo(:, 5,35, 6) = (/ & &7.1841e-02_rb,8.9995e-02_rb,7.7538e-02_rb,5.3898e-02_rb,7.6098e-03_rb/) kbo(:, 1,36, 6) = (/ & &2.1971e-02_rb,3.2052e-02_rb,2.9773e-02_rb,2.2980e-02_rb,5.9169e-03_rb/) kbo(:, 2,36, 6) = (/ & &3.0496e-02_rb,4.2068e-02_rb,3.8012e-02_rb,2.8228e-02_rb,6.0417e-03_rb/) kbo(:, 3,36, 6) = (/ & &4.1195e-02_rb,5.4532e-02_rb,4.8068e-02_rb,3.4542e-02_rb,6.1403e-03_rb/) kbo(:, 4,36, 6) = (/ & &5.4471e-02_rb,6.9759e-02_rb,6.0254e-02_rb,4.2072e-02_rb,6.2148e-03_rb/) kbo(:, 5,36, 6) = (/ & &7.0911e-02_rb,8.8088e-02_rb,7.4912e-02_rb,5.0992e-02_rb,6.2662e-03_rb/) kbo(:, 1,37, 6) = (/ & &1.9922e-02_rb,2.8852e-02_rb,2.6493e-02_rb,2.0135e-02_rb,4.8546e-03_rb/) kbo(:, 2,37, 6) = (/ & &2.7802e-02_rb,3.8202e-02_rb,3.4133e-02_rb,2.4969e-02_rb,4.9597e-03_rb/) kbo(:, 3,37, 6) = (/ & &3.7750e-02_rb,4.9930e-02_rb,4.3532e-02_rb,3.0816e-02_rb,5.0441e-03_rb/) kbo(:, 4,37, 6) = (/ & &5.0184e-02_rb,6.4346e-02_rb,5.5012e-02_rb,3.7855e-02_rb,5.1082e-03_rb/) kbo(:, 5,37, 6) = (/ & &6.5650e-02_rb,8.1819e-02_rb,6.8970e-02_rb,4.6262e-02_rb,5.1546e-03_rb/) kbo(:, 1,38, 6) = (/ & &1.8261e-02_rb,2.6220e-02_rb,2.3783e-02_rb,1.7789e-02_rb,3.9817e-03_rb/) kbo(:, 2,38, 6) = (/ & &2.5634e-02_rb,3.5047e-02_rb,3.0941e-02_rb,2.2280e-02_rb,4.0729e-03_rb/) kbo(:, 3,38, 6) = (/ & &3.5007e-02_rb,4.6188e-02_rb,3.9826e-02_rb,2.7761e-02_rb,4.1447e-03_rb/) kbo(:, 4,38, 6) = (/ & &4.6818e-02_rb,5.9985e-02_rb,5.0782e-02_rb,3.4412e-02_rb,4.1996e-03_rb/) kbo(:, 5,38, 6) = (/ & &6.1549e-02_rb,7.6851e-02_rb,6.4240e-02_rb,4.2442e-02_rb,4.2409e-03_rb/) kbo(:, 1,39, 6) = (/ & &1.7120e-02_rb,2.4268e-02_rb,2.1723e-02_rb,1.5967e-02_rb,3.2683e-03_rb/) kbo(:, 2,39, 6) = (/ & &2.4172e-02_rb,3.2753e-02_rb,2.8567e-02_rb,2.0215e-02_rb,3.3454e-03_rb/) kbo(:, 3,39, 6) = (/ & &3.3206e-02_rb,4.3552e-02_rb,3.7135e-02_rb,2.5455e-02_rb,3.4062e-03_rb/) kbo(:, 4,39, 6) = (/ & &4.4652e-02_rb,5.7021e-02_rb,4.7802e-02_rb,3.1863e-02_rb,3.4542e-03_rb/) kbo(:, 5,39, 6) = (/ & &5.8989e-02_rb,7.3628e-02_rb,6.1045e-02_rb,3.9701e-02_rb,3.4927e-03_rb/) kbo(:, 1,40, 6) = (/ & &1.4508e-02_rb,2.0729e-02_rb,1.8466e-02_rb,1.3481e-02_rb,2.6735e-03_rb/) kbo(:, 2,40, 6) = (/ & &2.0675e-02_rb,2.8264e-02_rb,2.4526e-02_rb,1.7230e-02_rb,2.7394e-03_rb/) kbo(:, 3,40, 6) = (/ & &2.8640e-02_rb,3.7952e-02_rb,3.2186e-02_rb,2.1896e-02_rb,2.7930e-03_rb/) kbo(:, 4,40, 6) = (/ & &3.8810e-02_rb,5.0166e-02_rb,4.1826e-02_rb,2.7660e-02_rb,2.8356e-03_rb/) kbo(:, 5,40, 6) = (/ & &5.1624e-02_rb,6.5327e-02_rb,5.3925e-02_rb,3.4781e-02_rb,2.8708e-03_rb/) kbo(:, 1,41, 6) = (/ & &1.2173e-02_rb,1.7558e-02_rb,1.5577e-02_rb,1.1317e-02_rb,2.1860e-03_rb/) kbo(:, 2,41, 6) = (/ & &1.7521e-02_rb,2.4204e-02_rb,2.0905e-02_rb,1.4606e-02_rb,2.2431e-03_rb/) kbo(:, 3,41, 6) = (/ & &2.4494e-02_rb,3.2840e-02_rb,2.7710e-02_rb,1.8738e-02_rb,2.2897e-03_rb/) kbo(:, 4,41, 6) = (/ & &3.3465e-02_rb,4.3838e-02_rb,3.6359e-02_rb,2.3890e-02_rb,2.3273e-03_rb/) kbo(:, 5,41, 6) = (/ & &4.4815e-02_rb,5.7614e-02_rb,4.7337e-02_rb,3.0319e-02_rb,2.3593e-03_rb/) kbo(:, 1,42, 6) = (/ & &1.0295e-02_rb,1.4955e-02_rb,1.3204e-02_rb,9.5463e-03_rb,1.7869e-03_rb/) kbo(:, 2,42, 6) = (/ & &1.4969e-02_rb,2.0854e-02_rb,1.7923e-02_rb,1.2449e-02_rb,1.8368e-03_rb/) kbo(:, 3,42, 6) = (/ & &2.1120e-02_rb,2.8597e-02_rb,2.4004e-02_rb,1.6130e-02_rb,1.8766e-03_rb/) kbo(:, 4,42, 6) = (/ & &2.9097e-02_rb,3.8565e-02_rb,3.1822e-02_rb,2.0764e-02_rb,1.9105e-03_rb/) kbo(:, 5,42, 6) = (/ & &3.9250e-02_rb,5.1179e-02_rb,4.1851e-02_rb,2.6620e-02_rb,1.9390e-03_rb/) kbo(:, 1,43, 6) = (/ & &8.5600e-03_rb,1.2537e-02_rb,1.1032e-02_rb,7.9541e-03_rb,1.4581e-03_rb/) kbo(:, 2,43, 6) = (/ & &1.2604e-02_rb,1.7710e-02_rb,1.5163e-02_rb,1.0490e-02_rb,1.5008e-03_rb/) kbo(:, 3,43, 6) = (/ & &1.7986e-02_rb,2.4578e-02_rb,2.0552e-02_rb,1.3738e-02_rb,1.5357e-03_rb/) kbo(:, 4,43, 6) = (/ & &2.5016e-02_rb,3.3532e-02_rb,2.7550e-02_rb,1.7878e-02_rb,1.5671e-03_rb/) kbo(:, 5,43, 6) = (/ & &3.4031e-02_rb,4.4978e-02_rb,3.6624e-02_rb,2.3164e-02_rb,1.5928e-03_rb/) kbo(:, 1,44, 6) = (/ & &7.1102e-03_rb,1.0482e-02_rb,9.1923e-03_rb,6.6123e-03_rb,1.1883e-03_rb/) kbo(:, 2,44, 6) = (/ & &1.0618e-02_rb,1.5014e-02_rb,1.2809e-02_rb,8.8284e-03_rb,1.2254e-03_rb/) kbo(:, 3,44, 6) = (/ & &1.5336e-02_rb,2.1109e-02_rb,1.7587e-02_rb,1.1700e-02_rb,1.2566e-03_rb/) kbo(:, 4,44, 6) = (/ & &2.1558e-02_rb,2.9159e-02_rb,2.3862e-02_rb,1.5404e-02_rb,1.2849e-03_rb/) kbo(:, 5,44, 6) = (/ & &2.9601e-02_rb,3.9572e-02_rb,3.2092e-02_rb,2.0188e-02_rb,1.3081e-03_rb/) kbo(:, 1,45, 6) = (/ & &5.9959e-03_rb,8.8564e-03_rb,7.7363e-03_rb,5.5453e-03_rb,9.6825e-04_rb/) kbo(:, 2,45, 6) = (/ & &9.0798e-03_rb,1.2878e-02_rb,1.0936e-02_rb,7.5039e-03_rb,1.0003e-03_rb/) kbo(:, 3,45, 6) = (/ & &1.3290e-02_rb,1.8346e-02_rb,1.5227e-02_rb,1.0074e-02_rb,1.0284e-03_rb/) kbo(:, 4,45, 6) = (/ & &1.8884e-02_rb,2.5678e-02_rb,2.0927e-02_rb,1.3427e-02_rb,1.0535e-03_rb/) kbo(:, 5,45, 6) = (/ & &2.6185e-02_rb,3.5270e-02_rb,2.8485e-02_rb,1.7812e-02_rb,1.0746e-03_rb/) kbo(:, 1,46, 6) = (/ & &5.0299e-03_rb,7.4350e-03_rb,6.4749e-03_rb,4.6277e-03_rb,7.8776e-04_rb/) kbo(:, 2,46, 6) = (/ & &7.7400e-03_rb,1.0992e-02_rb,9.2918e-03_rb,6.3536e-03_rb,8.1609e-04_rb/) kbo(:, 3,46, 6) = (/ & &1.1482e-02_rb,1.5887e-02_rb,1.3136e-02_rb,8.6493e-03_rb,8.4114e-04_rb/) kbo(:, 4,46, 6) = (/ & &1.6521e-02_rb,2.2547e-02_rb,1.8306e-02_rb,1.1680e-02_rb,8.6343e-04_rb/) kbo(:, 5,46, 6) = (/ & &2.3160e-02_rb,3.1365e-02_rb,2.5232e-02_rb,1.5694e-02_rb,8.8222e-04_rb/) kbo(:, 1,47, 6) = (/ & &4.0735e-03_rb,6.0481e-03_rb,5.2664e-03_rb,3.7670e-03_rb,6.3966e-04_rb/) kbo(:, 2,47, 6) = (/ & &6.3819e-03_rb,9.1048e-03_rb,7.6804e-03_rb,5.2485e-03_rb,6.6459e-04_rb/) kbo(:, 3,47, 6) = (/ & &9.6180e-03_rb,1.3376e-02_rb,1.1030e-02_rb,7.2481e-03_rb,6.8646e-04_rb/) kbo(:, 4,47, 6) = (/ & &1.4038e-02_rb,1.9266e-02_rb,1.5600e-02_rb,9.9209e-03_rb,7.0632e-04_rb/) kbo(:, 5,47, 6) = (/ & &1.9923e-02_rb,2.7168e-02_rb,2.1786e-02_rb,1.3500e-02_rb,7.2294e-04_rb/) kbo(:, 1,48, 6) = (/ & &3.3654e-03_rb,4.9911e-03_rb,4.3393e-03_rb,3.1001e-03_rb,5.1894e-04_rb/) kbo(:, 2,48, 6) = (/ & &5.3738e-03_rb,7.6583e-03_rb,6.4413e-03_rb,4.3896e-03_rb,5.4055e-04_rb/) kbo(:, 3,48, 6) = (/ & &8.2348e-03_rb,1.1452e-02_rb,9.4090e-03_rb,6.1594e-03_rb,5.5982e-04_rb/) kbo(:, 4,48, 6) = (/ & &1.2194e-02_rb,1.6751e-02_rb,1.3518e-02_rb,8.5585e-03_rb,5.7759e-04_rb/) kbo(:, 5,48, 6) = (/ & &1.7535e-02_rb,2.3969e-02_rb,1.9153e-02_rb,1.1809e-02_rb,5.9223e-04_rb/) kbo(:, 1,49, 6) = (/ & &2.8714e-03_rb,4.2192e-03_rb,3.6533e-03_rb,2.6003e-03_rb,4.2066e-04_rb/) kbo(:, 2,49, 6) = (/ & &4.6796e-03_rb,6.6096e-03_rb,5.5332e-03_rb,3.7482e-03_rb,4.3948e-04_rb/) kbo(:, 3,49, 6) = (/ & &7.3002e-03_rb,1.0080e-02_rb,8.2347e-03_rb,5.3596e-03_rb,4.5652e-04_rb/) kbo(:, 4,49, 6) = (/ & &1.0971e-02_rb,1.4981e-02_rb,1.2046e-02_rb,7.5739e-03_rb,4.7234e-04_rb/) kbo(:, 5,49, 6) = (/ & &1.5995e-02_rb,2.1767e-02_rb,1.7330e-02_rb,1.0614e-02_rb,4.8568e-04_rb/) kbo(:, 1,50, 6) = (/ & &2.3434e-03_rb,3.4410e-03_rb,2.9786e-03_rb,2.1205e-03_rb,3.4069e-04_rb/) kbo(:, 2,50, 6) = (/ & &3.8971e-03_rb,5.4992e-03_rb,4.5940e-03_rb,3.1036e-03_rb,3.5714e-04_rb/) kbo(:, 3,50, 6) = (/ & &6.1900e-03_rb,8.5460e-03_rb,6.9553e-03_rb,4.5152e-03_rb,3.7212e-04_rb/) kbo(:, 4,50, 6) = (/ & &9.4451e-03_rb,1.2909e-02_rb,1.0349e-02_rb,6.4854e-03_rb,3.8582e-04_rb/) kbo(:, 5,50, 6) = (/ & &1.3954e-02_rb,1.9042e-02_rb,1.5119e-02_rb,9.2171e-03_rb,3.9788e-04_rb/) kbo(:, 1,51, 6) = (/ & &1.8670e-03_rb,2.7492e-03_rb,2.3841e-03_rb,1.7021e-03_rb,2.7578e-04_rb/) kbo(:, 2,51, 6) = (/ & &3.1678e-03_rb,4.4826e-03_rb,3.7408e-03_rb,2.5267e-03_rb,2.9005e-04_rb/) kbo(:, 3,51, 6) = (/ & &5.1260e-03_rb,7.0985e-03_rb,5.7656e-03_rb,3.7383e-03_rb,3.0300e-04_rb/) kbo(:, 4,51, 6) = (/ & &7.9439e-03_rb,1.0904e-02_rb,8.7196e-03_rb,5.4539e-03_rb,3.1487e-04_rb/) kbo(:, 5,51, 6) = (/ & &1.1900e-02_rb,1.6326e-02_rb,1.2929e-02_rb,7.8597e-03_rb,3.2578e-04_rb/) kbo(:, 1,52, 6) = (/ & &1.5181e-03_rb,2.2298e-03_rb,1.9337e-03_rb,1.3821e-03_rb,2.2294e-04_rb/) kbo(:, 2,52, 6) = (/ & &2.6323e-03_rb,3.7113e-03_rb,3.0904e-03_rb,2.0844e-03_rb,2.3535e-04_rb/) kbo(:, 3,52, 6) = (/ & &4.3389e-03_rb,5.9943e-03_rb,4.8574e-03_rb,3.1382e-03_rb,2.4655e-04_rb/) kbo(:, 4,52, 6) = (/ & &6.8363e-03_rb,9.3770e-03_rb,7.4736e-03_rb,4.6599e-03_rb,2.5711e-04_rb/) kbo(:, 5,52, 6) = (/ & &1.0389e-02_rb,1.4256e-02_rb,1.1263e-02_rb,6.8242e-03_rb,2.6665e-04_rb/) kbo(:, 1,53, 6) = (/ & &1.2752e-03_rb,1.8531e-03_rb,1.6024e-03_rb,1.1428e-03_rb,1.8014e-04_rb/) kbo(:, 2,53, 6) = (/ & &2.2594e-03_rb,3.1508e-03_rb,2.6140e-03_rb,1.7561e-03_rb,1.9085e-04_rb/) kbo(:, 3,53, 6) = (/ & &3.7990e-03_rb,5.2013e-03_rb,4.1982e-03_rb,2.6961e-03_rb,2.0067e-04_rb/) kbo(:, 4,53, 6) = (/ & &6.0922e-03_rb,8.2959e-03_rb,6.5816e-03_rb,4.0835e-03_rb,2.0982e-04_rb/) kbo(:, 5,53, 6) = (/ & &9.3947e-03_rb,1.2809e-02_rb,1.0095e-02_rb,6.0875e-03_rb,2.1819e-04_rb/) kbo(:, 1,54, 6) = (/ & &9.3663e-04_rb,1.3820e-03_rb,1.2040e-03_rb,8.6807e-04_rb,1.4544e-04_rb/) kbo(:, 2,54, 6) = (/ & &1.6914e-03_rb,2.3887e-03_rb,1.9911e-03_rb,1.3482e-03_rb,1.5460e-04_rb/) kbo(:, 3,54, 6) = (/ & &2.8997e-03_rb,4.0201e-03_rb,3.2494e-03_rb,2.0953e-03_rb,1.6297e-04_rb/) kbo(:, 4,54, 6) = (/ & &4.7306e-03_rb,6.5273e-03_rb,5.1758e-03_rb,3.2189e-03_rb,1.7075e-04_rb/) kbo(:, 5,54, 6) = (/ & &7.3984e-03_rb,1.0238e-02_rb,8.0539e-03_rb,4.8622e-03_rb,1.7797e-04_rb/) kbo(:, 1,55, 6) = (/ & &6.2935e-04_rb,9.5969e-04_rb,8.4900e-04_rb,6.2465e-04_rb,1.1738e-04_rb/) kbo(:, 2,55, 6) = (/ & &1.1558e-03_rb,1.6799e-03_rb,1.4161e-03_rb,9.7472e-04_rb,1.2508e-04_rb/) kbo(:, 3,55, 6) = (/ & &2.0209e-03_rb,2.8749e-03_rb,2.3378e-03_rb,1.5244e-03_rb,1.3211e-04_rb/) kbo(:, 4,55, 6) = (/ & &3.3522e-03_rb,4.7482e-03_rb,3.7736e-03_rb,2.3654e-03_rb,1.3870e-04_rb/) kbo(:, 5,55, 6) = (/ & &5.3187e-03_rb,7.5686e-03_rb,5.9480e-03_rb,3.6106e-03_rb,1.4478e-04_rb/) kbo(:, 1,56, 6) = (/ & &4.2101e-04_rb,6.6332e-04_rb,5.9672e-04_rb,4.4860e-04_rb,9.4587e-05_rb/) kbo(:, 2,56, 6) = (/ & &7.8466e-04_rb,1.1752e-03_rb,1.0029e-03_rb,7.0318e-04_rb,1.0112e-04_rb/) kbo(:, 3,56, 6) = (/ & &1.3999e-03_rb,2.0432e-03_rb,1.6739e-03_rb,1.1053e-03_rb,1.0709e-04_rb/) kbo(:, 4,56, 6) = (/ & &2.3635e-03_rb,3.4329e-03_rb,2.7372e-03_rb,1.7318e-03_rb,1.1258e-04_rb/) kbo(:, 5,56, 6) = (/ & &3.8069e-03_rb,5.5637e-03_rb,4.3696e-03_rb,2.6702e-03_rb,1.1773e-04_rb/) kbo(:, 1,57, 6) = (/ & &2.8076e-04_rb,4.5641e-04_rb,4.1815e-04_rb,3.2142e-04_rb,7.6115e-05_rb/) kbo(:, 2,57, 6) = (/ & &5.2895e-04_rb,8.1778e-04_rb,7.0771e-04_rb,5.0616e-04_rb,8.1716e-05_rb/) kbo(:, 3,57, 6) = (/ & &9.6334e-04_rb,1.4422e-03_rb,1.1917e-03_rb,7.9834e-04_rb,8.6757e-05_rb/) kbo(:, 4,57, 6) = (/ & &1.6571e-03_rb,2.4651e-03_rb,1.9746e-03_rb,1.2622e-03_rb,9.1332e-05_rb/) kbo(:, 5,57, 6) = (/ & &2.7119e-03_rb,4.0628e-03_rb,3.1926e-03_rb,1.9661e-03_rb,9.5684e-05_rb/) kbo(:, 1,58, 6) = (/ & &4.9720e-05_rb,1.0269e-04_rb,1.2366e-04_rb,1.3663e-04_rb,6.1273e-05_rb/) kbo(:, 2,58, 6) = (/ & &9.4473e-05_rb,1.8553e-04_rb,2.1007e-04_rb,2.1548e-04_rb,6.5992e-05_rb/) kbo(:, 3,58, 6) = (/ & &1.7530e-04_rb,3.3103e-04_rb,3.5575e-04_rb,3.4010e-04_rb,7.0239e-05_rb/) kbo(:, 4,58, 6) = (/ & &3.0720e-04_rb,5.7469e-04_rb,5.9600e-04_rb,5.4082e-04_rb,7.4141e-05_rb/) kbo(:, 5,58, 6) = (/ & &5.1103e-04_rb,9.6242e-04_rb,9.7487e-04_rb,8.4973e-04_rb,7.7747e-05_rb/) kbo(:, 1,59, 6) = (/ & &4.4314e-05_rb,9.6972e-05_rb,1.1293e-04_rb,1.1582e-04_rb,4.9949e-05_rb/) kbo(:, 2,59, 6) = (/ & &8.4700e-05_rb,1.7358e-04_rb,1.8881e-04_rb,1.7917e-04_rb,5.3859e-05_rb/) kbo(:, 3,59, 6) = (/ & &1.5856e-04_rb,3.0848e-04_rb,3.1562e-04_rb,2.7815e-04_rb,5.7310e-05_rb/) kbo(:, 4,59, 6) = (/ & &2.8032e-04_rb,5.3615e-04_rb,5.2587e-04_rb,4.3688e-04_rb,6.0507e-05_rb/) kbo(:, 5,59, 6) = (/ & &4.7008e-04_rb,9.0261e-04_rb,8.5908e-04_rb,6.8167e-04_rb,6.3447e-05_rb/) kbo(:, 1,13, 7) = (/ & &3.5002e+00_rb,2.8426e+00_rb,2.2229e+00_rb,1.5940e+00_rb,4.6284e-01_rb/) kbo(:, 2,13, 7) = (/ & &5.2764e+00_rb,4.1532e+00_rb,3.0774e+00_rb,2.0245e+00_rb,4.6449e-01_rb/) kbo(:, 3,13, 7) = (/ & &7.6096e+00_rb,5.8846e+00_rb,4.2048e+00_rb,2.5664e+00_rb,4.6564e-01_rb/) kbo(:, 4,13, 7) = (/ & &1.0545e+01_rb,8.0718e+00_rb,5.6353e+00_rb,3.2573e+00_rb,4.6805e-01_rb/) kbo(:, 5,13, 7) = (/ & &1.4101e+01_rb,1.0726e+01_rb,7.3776e+00_rb,4.1071e+00_rb,4.6959e-01_rb/) kbo(:, 1,14, 7) = (/ & &1.9332e+00_rb,1.6833e+00_rb,1.4584e+00_rb,1.1419e+00_rb,4.2549e-01_rb/) kbo(:, 2,14, 7) = (/ & &2.9208e+00_rb,2.4028e+00_rb,1.9264e+00_rb,1.4148e+00_rb,4.2845e-01_rb/) kbo(:, 3,14, 7) = (/ & &4.2111e+00_rb,3.3491e+00_rb,2.5401e+00_rb,1.7447e+00_rb,4.2997e-01_rb/) kbo(:, 4,14, 7) = (/ & &5.8219e+00_rb,4.5369e+00_rb,3.3137e+00_rb,2.1374e+00_rb,4.3233e-01_rb/) kbo(:, 5,14, 7) = (/ & &7.7805e+00_rb,5.9890e+00_rb,4.2588e+00_rb,2.5955e+00_rb,4.3475e-01_rb/) kbo(:, 1,15, 7) = (/ & &1.0958e+00_rb,1.0674e+00_rb,1.0130e+00_rb,8.4961e-01_rb,3.8730e-01_rb/) kbo(:, 2,15, 7) = (/ & &1.6536e+00_rb,1.4690e+00_rb,1.3041e+00_rb,1.0292e+00_rb,3.9101e-01_rb/) kbo(:, 3,15, 7) = (/ & &2.3745e+00_rb,1.9914e+00_rb,1.6603e+00_rb,1.2452e+00_rb,3.9344e-01_rb/) kbo(:, 4,15, 7) = (/ & &3.2750e+00_rb,2.6468e+00_rb,2.0887e+00_rb,1.4951e+00_rb,3.9613e-01_rb/) kbo(:, 5,15, 7) = (/ & &4.3749e+00_rb,3.4526e+00_rb,2.6092e+00_rb,1.7780e+00_rb,3.9900e-01_rb/) kbo(:, 1,16, 7) = (/ & &7.4165e-01_rb,8.0405e-01_rb,7.9283e-01_rb,6.9114e-01_rb,3.4911e-01_rb/) kbo(:, 2,16, 7) = (/ & &1.1136e+00_rb,1.0786e+00_rb,1.0091e+00_rb,8.2862e-01_rb,3.5314e-01_rb/) kbo(:, 3,16, 7) = (/ & &1.5923e+00_rb,1.4242e+00_rb,1.2681e+00_rb,9.9143e-01_rb,3.5636e-01_rb/) kbo(:, 4,16, 7) = (/ & &2.1926e+00_rb,1.8566e+00_rb,1.5712e+00_rb,1.1771e+00_rb,3.6013e-01_rb/) kbo(:, 5,16, 7) = (/ & &2.9285e+00_rb,2.3901e+00_rb,1.9279e+00_rb,1.3859e+00_rb,3.6399e-01_rb/) kbo(:, 1,17, 7) = (/ & &5.1887e-01_rb,6.2476e-01_rb,6.3724e-01_rb,5.7083e-01_rb,3.1167e-01_rb/) kbo(:, 2,17, 7) = (/ & &7.7486e-01_rb,8.2693e-01_rb,8.0143e-01_rb,6.7854e-01_rb,3.1621e-01_rb/) kbo(:, 3,17, 7) = (/ & &1.1045e+00_rb,1.0746e+00_rb,9.9649e-01_rb,8.0449e-01_rb,3.2014e-01_rb/) kbo(:, 4,17, 7) = (/ & &1.5180e+00_rb,1.3742e+00_rb,1.2231e+00_rb,9.4686e-01_rb,3.2461e-01_rb/) kbo(:, 5,17, 7) = (/ & &2.0257e+00_rb,1.7386e+00_rb,1.4858e+00_rb,1.1069e+00_rb,3.2955e-01_rb/) kbo(:, 1,18, 7) = (/ & &3.7097e-01_rb,4.9432e-01_rb,5.1840e-01_rb,4.7504e-01_rb,2.7614e-01_rb/) kbo(:, 2,18, 7) = (/ & &5.5115e-01_rb,6.4712e-01_rb,6.4514e-01_rb,5.6072e-01_rb,2.8084e-01_rb/) kbo(:, 3,18, 7) = (/ & &7.8296e-01_rb,8.3225e-01_rb,7.9447e-01_rb,6.5954e-01_rb,2.8571e-01_rb/) kbo(:, 4,18, 7) = (/ & &1.0738e+00_rb,1.0535e+00_rb,9.6779e-01_rb,7.7088e-01_rb,2.9112e-01_rb/) kbo(:, 5,18, 7) = (/ & &1.4335e+00_rb,1.3170e+00_rb,1.1664e+00_rb,8.9595e-01_rb,2.9703e-01_rb/) kbo(:, 1,19, 7) = (/ & &2.5985e-01_rb,3.8651e-01_rb,4.1602e-01_rb,3.9308e-01_rb,2.4307e-01_rb/) kbo(:, 2,19, 7) = (/ & &3.8422e-01_rb,5.0067e-01_rb,5.1275e-01_rb,4.5968e-01_rb,2.4809e-01_rb/) kbo(:, 3,19, 7) = (/ & &5.4420e-01_rb,6.3764e-01_rb,6.2617e-01_rb,5.3586e-01_rb,2.5358e-01_rb/) kbo(:, 4,19, 7) = (/ & &7.4603e-01_rb,7.9981e-01_rb,7.5671e-01_rb,6.2198e-01_rb,2.5998e-01_rb/) kbo(:, 5,19, 7) = (/ & &9.9708e-01_rb,9.9236e-01_rb,9.0617e-01_rb,7.1829e-01_rb,2.6615e-01_rb/) kbo(:, 1,20, 7) = (/ & &1.9760e-01_rb,3.1836e-01_rb,3.4770e-01_rb,3.3477e-01_rb,2.1277e-01_rb/) kbo(:, 2,20, 7) = (/ & &2.9095e-01_rb,4.0925e-01_rb,4.2592e-01_rb,3.8937e-01_rb,2.1827e-01_rb/) kbo(:, 3,20, 7) = (/ & &4.1127e-01_rb,5.1768e-01_rb,5.1739e-01_rb,4.5140e-01_rb,2.2458e-01_rb/) kbo(:, 4,20, 7) = (/ & &5.6427e-01_rb,6.4625e-01_rb,6.2247e-01_rb,5.2174e-01_rb,2.3101e-01_rb/) kbo(:, 5,20, 7) = (/ & &7.5526e-01_rb,7.9836e-01_rb,7.4304e-01_rb,6.0027e-01_rb,2.3711e-01_rb/) kbo(:, 1,21, 7) = (/ & &1.5484e-01_rb,2.6582e-01_rb,2.9382e-01_rb,2.8708e-01_rb,1.8550e-01_rb/) kbo(:, 2,21, 7) = (/ & &2.2722e-01_rb,3.3963e-01_rb,3.5832e-01_rb,3.3257e-01_rb,1.9141e-01_rb/) kbo(:, 3,21, 7) = (/ & &3.2108e-01_rb,4.2782e-01_rb,4.3333e-01_rb,3.8435e-01_rb,1.9782e-01_rb/) kbo(:, 4,21, 7) = (/ & &4.4098e-01_rb,5.3304e-01_rb,5.1997e-01_rb,4.4275e-01_rb,2.0379e-01_rb/) kbo(:, 5,21, 7) = (/ & &5.9030e-01_rb,6.5709e-01_rb,6.1970e-01_rb,5.0864e-01_rb,2.0956e-01_rb/) kbo(:, 1,22, 7) = (/ & &1.2753e-01_rb,2.2781e-01_rb,2.5360e-01_rb,2.4962e-01_rb,1.6164e-01_rb/) kbo(:, 2,22, 7) = (/ & &1.8637e-01_rb,2.8970e-01_rb,3.0789e-01_rb,2.8854e-01_rb,1.6761e-01_rb/) kbo(:, 3,22, 7) = (/ & &2.6299e-01_rb,3.6404e-01_rb,3.7114e-01_rb,3.3280e-01_rb,1.7333e-01_rb/) kbo(:, 4,22, 7) = (/ & &3.6059e-01_rb,4.5267e-01_rb,4.4472e-01_rb,3.8285e-01_rb,1.7883e-01_rb/) kbo(:, 5,22, 7) = (/ & &4.8104e-01_rb,5.5702e-01_rb,5.2923e-01_rb,4.3976e-01_rb,1.8428e-01_rb/) kbo(:, 1,23, 7) = (/ & &1.0589e-01_rb,1.9529e-01_rb,2.1876e-01_rb,2.1679e-01_rb,1.4037e-01_rb/) kbo(:, 2,23, 7) = (/ & &1.5420e-01_rb,2.4758e-01_rb,2.6461e-01_rb,2.5042e-01_rb,1.4579e-01_rb/) kbo(:, 3,23, 7) = (/ & &2.1702e-01_rb,3.1068e-01_rb,3.1854e-01_rb,2.8852e-01_rb,1.5094e-01_rb/) kbo(:, 4,23, 7) = (/ & &2.9661e-01_rb,3.8564e-01_rb,3.8128e-01_rb,3.3195e-01_rb,1.5614e-01_rb/) kbo(:, 5,23, 7) = (/ & &3.9397e-01_rb,4.7355e-01_rb,4.5341e-01_rb,3.8121e-01_rb,1.6132e-01_rb/) kbo(:, 1,24, 7) = (/ & &8.7788e-02_rb,1.6668e-01_rb,1.8799e-01_rb,1.8780e-01_rb,1.2140e-01_rb/) kbo(:, 2,24, 7) = (/ & &1.2734e-01_rb,2.1083e-01_rb,2.2703e-01_rb,2.1652e-01_rb,1.2618e-01_rb/) kbo(:, 3,24, 7) = (/ & &1.7857e-01_rb,2.6413e-01_rb,2.7303e-01_rb,2.4936e-01_rb,1.3098e-01_rb/) kbo(:, 4,24, 7) = (/ & &2.4296e-01_rb,3.2721e-01_rb,3.2661e-01_rb,2.8698e-01_rb,1.3586e-01_rb/) kbo(:, 5,24, 7) = (/ & &3.2098e-01_rb,4.0055e-01_rb,3.8785e-01_rb,3.2936e-01_rb,1.4075e-01_rb/) kbo(:, 1,25, 7) = (/ & &7.4114e-02_rb,1.4357e-01_rb,1.6268e-01_rb,1.6299e-01_rb,1.0454e-01_rb/) kbo(:, 2,25, 7) = (/ & &1.0696e-01_rb,1.8148e-01_rb,1.9639e-01_rb,1.8781e-01_rb,1.0890e-01_rb/) kbo(:, 3,25, 7) = (/ & &1.4921e-01_rb,2.2686e-01_rb,2.3627e-01_rb,2.1648e-01_rb,1.1337e-01_rb/) kbo(:, 4,25, 7) = (/ & &2.0169e-01_rb,2.8030e-01_rb,2.8233e-01_rb,2.4913e-01_rb,1.1793e-01_rb/) kbo(:, 5,25, 7) = (/ & &2.6511e-01_rb,3.4240e-01_rb,3.3494e-01_rb,2.8598e-01_rb,1.2261e-01_rb/) kbo(:, 1,26, 7) = (/ & &6.4102e-02_rb,1.2562e-01_rb,1.4220e-01_rb,1.4209e-01_rb,8.9836e-02_rb/) kbo(:, 2,26, 7) = (/ & &9.1903e-02_rb,1.5853e-01_rb,1.7179e-01_rb,1.6391e-01_rb,9.3830e-02_rb/) kbo(:, 3,26, 7) = (/ & &1.2732e-01_rb,1.9782e-01_rb,2.0670e-01_rb,1.8917e-01_rb,9.8002e-02_rb/) kbo(:, 4,26, 7) = (/ & &1.7095e-01_rb,2.4388e-01_rb,2.4691e-01_rb,2.1801e-01_rb,1.0234e-01_rb/) kbo(:, 5,26, 7) = (/ & &2.2376e-01_rb,2.9731e-01_rb,2.9277e-01_rb,2.5044e-01_rb,1.0674e-01_rb/) kbo(:, 1,27, 7) = (/ & &5.7622e-02_rb,1.1249e-01_rb,1.2636e-01_rb,1.2511e-01_rb,7.7055e-02_rb/) kbo(:, 2,27, 7) = (/ & &8.1983e-02_rb,1.4196e-01_rb,1.5312e-01_rb,1.4485e-01_rb,8.0791e-02_rb/) kbo(:, 3,27, 7) = (/ & &1.1275e-01_rb,1.7697e-01_rb,1.8437e-01_rb,1.6781e-01_rb,8.4713e-02_rb/) kbo(:, 4,27, 7) = (/ & &1.5055e-01_rb,2.1794e-01_rb,2.2039e-01_rb,1.9390e-01_rb,8.8731e-02_rb/) kbo(:, 5,27, 7) = (/ & &1.9638e-01_rb,2.6555e-01_rb,2.6132e-01_rb,2.2312e-01_rb,9.2655e-02_rb/) kbo(:, 1,28, 7) = (/ & &5.3140e-02_rb,1.0241e-01_rb,1.1379e-01_rb,1.1112e-01_rb,6.6059e-02_rb/) kbo(:, 2,28, 7) = (/ & &7.5045e-02_rb,1.2928e-01_rb,1.3817e-01_rb,1.2935e-01_rb,6.9529e-02_rb/) kbo(:, 3,28, 7) = (/ & &1.0252e-01_rb,1.6119e-01_rb,1.6672e-01_rb,1.5050e-01_rb,7.3142e-02_rb/) kbo(:, 4,28, 7) = (/ & &1.3625e-01_rb,1.9862e-01_rb,1.9953e-01_rb,1.7444e-01_rb,7.6746e-02_rb/) kbo(:, 5,28, 7) = (/ & &1.7752e-01_rb,2.4214e-01_rb,2.3714e-01_rb,2.0133e-01_rb,7.9941e-02_rb/) kbo(:, 1,29, 7) = (/ & &5.2099e-02_rb,9.6941e-02_rb,1.0563e-01_rb,1.0097e-01_rb,5.6668e-02_rb/) kbo(:, 2,29, 7) = (/ & &7.3009e-02_rb,1.2266e-01_rb,1.2890e-01_rb,1.1850e-01_rb,5.9859e-02_rb/) kbo(:, 3,29, 7) = (/ & &9.9110e-02_rb,1.5322e-01_rb,1.5608e-01_rb,1.3860e-01_rb,6.3089e-02_rb/) kbo(:, 4,29, 7) = (/ & &1.3136e-01_rb,1.8918e-01_rb,1.8750e-01_rb,1.6146e-01_rb,6.6000e-02_rb/) kbo(:, 5,29, 7) = (/ & &1.7133e-01_rb,2.3120e-01_rb,2.2375e-01_rb,1.8721e-01_rb,6.8384e-02_rb/) kbo(:, 1,30, 7) = (/ & &5.2298e-02_rb,9.3477e-02_rb,9.9631e-02_rb,9.3041e-02_rb,4.8653e-02_rb/) kbo(:, 2,30, 7) = (/ & &7.2744e-02_rb,1.1854e-01_rb,1.2224e-01_rb,1.0996e-01_rb,5.1507e-02_rb/) kbo(:, 3,30, 7) = (/ & &9.8307e-02_rb,1.4854e-01_rb,1.4866e-01_rb,1.2943e-01_rb,5.4141e-02_rb/) kbo(:, 4,30, 7) = (/ & &1.3030e-01_rb,1.8393e-01_rb,1.7946e-01_rb,1.5167e-01_rb,5.6316e-02_rb/) kbo(:, 5,30, 7) = (/ & &1.7017e-01_rb,2.2583e-01_rb,2.1516e-01_rb,1.7690e-01_rb,5.8003e-02_rb/) kbo(:, 1,31, 7) = (/ & &5.5237e-02_rb,9.3530e-02_rb,9.7080e-02_rb,8.7885e-02_rb,4.1801e-02_rb/) kbo(:, 2,31, 7) = (/ & &7.6342e-02_rb,1.1917e-01_rb,1.1987e-01_rb,1.0485e-01_rb,4.4162e-02_rb/) kbo(:, 3,31, 7) = (/ & &1.0297e-01_rb,1.4987e-01_rb,1.4665e-01_rb,1.2435e-01_rb,4.6139e-02_rb/) kbo(:, 4,31, 7) = (/ & &1.3657e-01_rb,1.8654e-01_rb,1.7810e-01_rb,1.4680e-01_rb,4.7704e-02_rb/) kbo(:, 5,31, 7) = (/ & &1.7842e-01_rb,2.3057e-01_rb,2.1509e-01_rb,1.7253e-01_rb,4.8947e-02_rb/) kbo(:, 1,32, 7) = (/ & &5.9027e-02_rb,9.4969e-02_rb,9.5943e-02_rb,8.4194e-02_rb,3.5812e-02_rb/) kbo(:, 2,32, 7) = (/ & &8.1201e-02_rb,1.2151e-01_rb,1.1922e-01_rb,1.0130e-01_rb,3.7617e-02_rb/) kbo(:, 3,32, 7) = (/ & &1.0955e-01_rb,1.5358e-01_rb,1.4681e-01_rb,1.2117e-01_rb,3.9058e-02_rb/) kbo(:, 4,32, 7) = (/ & &1.4540e-01_rb,1.9256e-01_rb,1.7966e-01_rb,1.4421e-01_rb,4.0236e-02_rb/) kbo(:, 5,32, 7) = (/ & &1.8982e-01_rb,2.3938e-01_rb,2.1889e-01_rb,1.7084e-01_rb,4.1181e-02_rb/) kbo(:, 1,33, 7) = (/ & &6.4219e-02_rb,9.8255e-02_rb,9.6625e-02_rb,8.2099e-02_rb,3.0519e-02_rb/) kbo(:, 2,33, 7) = (/ & &8.8246e-02_rb,1.2633e-01_rb,1.2088e-01_rb,9.9705e-02_rb,3.1855e-02_rb/) kbo(:, 3,33, 7) = (/ & &1.1912e-01_rb,1.6083e-01_rb,1.5001e-01_rb,1.2028e-01_rb,3.2953e-02_rb/) kbo(:, 4,33, 7) = (/ & &1.5802e-01_rb,2.0300e-01_rb,1.8528e-01_rb,1.4442e-01_rb,3.3850e-02_rb/) kbo(:, 5,33, 7) = (/ & &2.0596e-01_rb,2.5392e-01_rb,2.2791e-01_rb,1.7303e-01_rb,3.4585e-02_rb/) kbo(:, 1,34, 7) = (/ & &6.7485e-02_rb,9.9620e-02_rb,9.5868e-02_rb,7.9332e-02_rb,2.5830e-02_rb/) kbo(:, 2,34, 7) = (/ & &9.2815e-02_rb,1.2890e-01_rb,1.2075e-01_rb,9.7213e-02_rb,2.6848e-02_rb/) kbo(:, 3,34, 7) = (/ & &1.2537e-01_rb,1.6529e-01_rb,1.5122e-01_rb,1.1822e-01_rb,2.7699e-02_rb/) kbo(:, 4,34, 7) = (/ & &1.6617e-01_rb,2.0989e-01_rb,1.8860e-01_rb,1.4346e-01_rb,2.8411e-02_rb/) kbo(:, 5,34, 7) = (/ & &2.1641e-01_rb,2.6338e-01_rb,2.3365e-01_rb,1.7367e-01_rb,2.9006e-02_rb/) kbo(:, 1,35, 7) = (/ & &6.9002e-02_rb,9.9168e-02_rb,9.3611e-02_rb,7.5846e-02_rb,2.1704e-02_rb/) kbo(:, 2,35, 7) = (/ & &9.5177e-02_rb,1.2935e-01_rb,1.1903e-01_rb,9.3690e-02_rb,2.2517e-02_rb/) kbo(:, 3,35, 7) = (/ & &1.2872e-01_rb,1.6713e-01_rb,1.5066e-01_rb,1.1518e-01_rb,2.3202e-02_rb/) kbo(:, 4,35, 7) = (/ & &1.7076e-01_rb,2.1347e-01_rb,1.8964e-01_rb,1.4135e-01_rb,2.3785e-02_rb/) kbo(:, 5,35, 7) = (/ & &2.2264e-01_rb,2.6908e-01_rb,2.3665e-01_rb,1.7298e-01_rb,2.4252e-02_rb/) kbo(:, 1,36, 7) = (/ & &6.7865e-02_rb,9.5879e-02_rb,8.9211e-02_rb,7.0981e-02_rb,1.8133e-02_rb/) kbo(:, 2,36, 7) = (/ & &9.4007e-02_rb,1.2625e-01_rb,1.1466e-01_rb,8.8573e-02_rb,1.8797e-02_rb/) kbo(:, 3,36, 7) = (/ & &1.2751e-01_rb,1.6450e-01_rb,1.4669e-01_rb,1.1023e-01_rb,1.9364e-02_rb/) kbo(:, 4,36, 7) = (/ & &1.6969e-01_rb,2.1129e-01_rb,1.8634e-01_rb,1.3684e-01_rb,1.9848e-02_rb/) kbo(:, 5,36, 7) = (/ & &2.2199e-01_rb,2.6776e-01_rb,2.3416e-01_rb,1.6920e-01_rb,2.0253e-02_rb/) kbo(:, 1,37, 7) = (/ & &6.1910e-02_rb,8.7392e-02_rb,8.0722e-02_rb,6.3503e-02_rb,1.5050e-02_rb/) kbo(:, 2,37, 7) = (/ & &8.6402e-02_rb,1.1634e-01_rb,1.0496e-01_rb,8.0172e-02_rb,1.5605e-02_rb/) kbo(:, 3,37, 7) = (/ & &1.1792e-01_rb,1.5301e-01_rb,1.3575e-01_rb,1.0102e-01_rb,1.6089e-02_rb/) kbo(:, 4,37, 7) = (/ & &1.5786e-01_rb,1.9811e-01_rb,1.7416e-01_rb,1.2688e-01_rb,1.6504e-02_rb/) kbo(:, 5,37, 7) = (/ & &2.0776e-01_rb,2.5283e-01_rb,2.2073e-01_rb,1.5856e-01_rb,1.6861e-02_rb/) kbo(:, 1,38, 7) = (/ & &5.7180e-02_rb,8.0434e-02_rb,7.3641e-02_rb,5.7228e-02_rb,1.2479e-02_rb/) kbo(:, 2,38, 7) = (/ & &8.0361e-02_rb,1.0828e-01_rb,9.6955e-02_rb,7.3200e-02_rb,1.2947e-02_rb/) kbo(:, 3,38, 7) = (/ & &1.1043e-01_rb,1.4379e-01_rb,1.2688e-01_rb,9.3375e-02_rb,1.3365e-02_rb/) kbo(:, 4,38, 7) = (/ & &1.4883e-01_rb,1.8786e-01_rb,1.6450e-01_rb,1.1879e-01_rb,1.3732e-02_rb/) kbo(:, 5,38, 7) = (/ & &1.9707e-01_rb,2.4129e-01_rb,2.1013e-01_rb,1.4998e-01_rb,1.4049e-02_rb/) kbo(:, 1,39, 7) = (/ & &5.4044e-02_rb,7.5469e-02_rb,6.8324e-02_rb,5.2315e-02_rb,1.0342e-02_rb/) kbo(:, 2,39, 7) = (/ & &7.6525e-02_rb,1.0279e-01_rb,9.1154e-02_rb,6.7832e-02_rb,1.0747e-02_rb/) kbo(:, 3,39, 7) = (/ & &1.0591e-01_rb,1.3783e-01_rb,1.2080e-01_rb,8.7775e-02_rb,1.1116e-02_rb/) kbo(:, 4,39, 7) = (/ & &1.4369e-01_rb,1.8148e-01_rb,1.5809e-01_rb,1.1309e-01_rb,1.1438e-02_rb/) kbo(:, 5,39, 7) = (/ & &1.9144e-01_rb,2.3501e-01_rb,2.0393e-01_rb,1.4445e-01_rb,1.1716e-02_rb/) kbo(:, 1,40, 7) = (/ & &4.6217e-02_rb,6.5370e-02_rb,5.9012e-02_rb,4.4989e-02_rb,8.5358e-03_rb/) kbo(:, 2,40, 7) = (/ & &6.6114e-02_rb,9.0173e-02_rb,7.9777e-02_rb,5.9045e-02_rb,8.8901e-03_rb/) kbo(:, 3,40, 7) = (/ & &9.2339e-02_rb,1.2222e-01_rb,1.0699e-01_rb,7.7378e-02_rb,9.2084e-03_rb/) kbo(:, 4,40, 7) = (/ & &1.2639e-01_rb,1.6256e-01_rb,1.4164e-01_rb,1.0101e-01_rb,9.4930e-03_rb/) kbo(:, 5,40, 7) = (/ & &1.6986e-01_rb,2.1255e-01_rb,1.8467e-01_rb,1.3055e-01_rb,9.7467e-03_rb/) kbo(:, 1,41, 7) = (/ & &3.9155e-02_rb,5.6183e-02_rb,5.0596e-02_rb,3.8424e-02_rb,7.0383e-03_rb/) kbo(:, 2,41, 7) = (/ & &5.6659e-02_rb,7.8503e-02_rb,6.9340e-02_rb,5.1085e-02_rb,7.3470e-03_rb/) kbo(:, 3,41, 7) = (/ & &7.9928e-02_rb,1.0766e-01_rb,9.4225e-02_rb,6.7858e-02_rb,7.6230e-03_rb/) kbo(:, 4,41, 7) = (/ & &1.1042e-01_rb,1.4475e-01_rb,1.2626e-01_rb,8.9781e-02_rb,7.8762e-03_rb/) kbo(:, 5,41, 7) = (/ & &1.4975e-01_rb,1.9111e-01_rb,1.6637e-01_rb,1.1739e-01_rb,8.1039e-03_rb/) kbo(:, 1,42, 7) = (/ & &3.3442e-02_rb,4.8574e-02_rb,4.3613e-02_rb,3.2930e-02_rb,5.8050e-03_rb/) kbo(:, 2,42, 7) = (/ & &4.8965e-02_rb,6.8792e-02_rb,6.0620e-02_rb,4.4408e-02_rb,6.0682e-03_rb/) kbo(:, 3,42, 7) = (/ & &6.9803e-02_rb,9.5533e-02_rb,8.3532e-02_rb,5.9826e-02_rb,6.3116e-03_rb/) kbo(:, 4,42, 7) = (/ & &9.7360e-02_rb,1.2988e-01_rb,1.1328e-01_rb,8.0240e-02_rb,6.5330e-03_rb/) kbo(:, 5,42, 7) = (/ & &1.3333e-01_rb,1.7321e-01_rb,1.5102e-01_rb,1.0628e-01_rb,6.7345e-03_rb/) kbo(:, 1,43, 7) = (/ & &2.8074e-02_rb,4.1293e-02_rb,3.7000e-02_rb,2.7812e-02_rb,4.7712e-03_rb/) kbo(:, 2,43, 7) = (/ & &4.1661e-02_rb,5.9380e-02_rb,5.2205e-02_rb,3.8045e-02_rb,4.9985e-03_rb/) kbo(:, 3,43, 7) = (/ & &6.0156e-02_rb,8.3670e-02_rb,7.3060e-02_rb,5.2075e-02_rb,5.2119e-03_rb/) kbo(:, 4,43, 7) = (/ & &8.4838e-02_rb,1.1520e-01_rb,1.0043e-01_rb,7.0829e-02_rb,5.4068e-03_rb/) kbo(:, 5,43, 7) = (/ & &1.1748e-01_rb,1.5547e-01_rb,1.3568e-01_rb,9.5209e-02_rb,5.5907e-03_rb/) kbo(:, 1,44, 7) = (/ & &2.3517e-02_rb,3.4984e-02_rb,3.1261e-02_rb,2.3397e-02_rb,3.9133e-03_rb/) kbo(:, 2,44, 7) = (/ & &3.5440e-02_rb,5.1145e-02_rb,4.4838e-02_rb,3.2508e-02_rb,4.1113e-03_rb/) kbo(:, 3,44, 7) = (/ & &5.1856e-02_rb,7.3218e-02_rb,6.3748e-02_rb,4.5187e-02_rb,4.2980e-03_rb/) kbo(:, 4,44, 7) = (/ & &7.4068e-02_rb,1.0225e-01_rb,8.9058e-02_rb,6.2496e-02_rb,4.4682e-03_rb/) kbo(:, 5,44, 7) = (/ & &1.0378e-01_rb,1.3965e-01_rb,1.2187e-01_rb,8.5218e-02_rb,4.6319e-03_rb/) kbo(:, 1,45, 7) = (/ & &1.9987e-02_rb,2.9948e-02_rb,2.6638e-02_rb,1.9815e-02_rb,3.2076e-03_rb/) kbo(:, 2,45, 7) = (/ & &3.0595e-02_rb,4.4514e-02_rb,3.8859e-02_rb,2.7978e-02_rb,3.3798e-03_rb/) kbo(:, 3,45, 7) = (/ & &4.5403e-02_rb,6.4811e-02_rb,5.6194e-02_rb,3.9557e-02_rb,3.5406e-03_rb/) kbo(:, 4,45, 7) = (/ & &6.5696e-02_rb,9.1866e-02_rb,7.9797e-02_rb,5.5645e-02_rb,3.6912e-03_rb/) kbo(:, 5,45, 7) = (/ & &9.3194e-02_rb,1.2710e-01_rb,1.1078e-01_rb,7.7097e-02_rb,3.8387e-03_rb/) kbo(:, 1,46, 7) = (/ & &1.6883e-02_rb,2.5455e-02_rb,2.2540e-02_rb,1.6677e-02_rb,2.6234e-03_rb/) kbo(:, 2,46, 7) = (/ & &2.6297e-02_rb,3.8534e-02_rb,3.3486e-02_rb,2.3954e-02_rb,2.7725e-03_rb/) kbo(:, 3,46, 7) = (/ & &3.9636e-02_rb,5.7120e-02_rb,4.9278e-02_rb,3.4454e-02_rb,2.9133e-03_rb/) kbo(:, 4,46, 7) = (/ & &5.8158e-02_rb,8.2259e-02_rb,7.1230e-02_rb,4.9351e-02_rb,3.0483e-03_rb/) kbo(:, 5,46, 7) = (/ & &8.3561e-02_rb,1.1543e-01_rb,1.0042e-01_rb,6.9545e-02_rb,3.1794e-03_rb/) kbo(:, 1,47, 7) = (/ & &1.3750e-02_rb,2.0931e-02_rb,1.8489e-02_rb,1.3652e-02_rb,2.1369e-03_rb/) kbo(:, 2,47, 7) = (/ & &2.1838e-02_rb,3.2305e-02_rb,2.7989e-02_rb,1.9957e-02_rb,2.2678e-03_rb/) kbo(:, 3,47, 7) = (/ & &3.3497e-02_rb,4.8835e-02_rb,4.1985e-02_rb,2.9214e-02_rb,2.3899e-03_rb/) kbo(:, 4,47, 7) = (/ & &4.9929e-02_rb,7.1624e-02_rb,6.1836e-02_rb,4.2605e-02_rb,2.5094e-03_rb/) kbo(:, 5,47, 7) = (/ & &7.2757e-02_rb,1.0217e-01_rb,8.8738e-02_rb,6.1180e-02_rb,2.6247e-03_rb/) kbo(:, 1,48, 7) = (/ & &1.1414e-02_rb,1.7437e-02_rb,1.5334e-02_rb,1.1272e-02_rb,1.7386e-03_rb/) kbo(:, 2,48, 7) = (/ & &1.8495e-02_rb,2.7458e-02_rb,2.3694e-02_rb,1.6798e-02_rb,1.8526e-03_rb/) kbo(:, 3,48, 7) = (/ & &2.8896e-02_rb,4.2355e-02_rb,3.6253e-02_rb,2.5061e-02_rb,1.9592e-03_rb/) kbo(:, 4,48, 7) = (/ & &4.3780e-02_rb,6.3320e-02_rb,5.4439e-02_rb,3.7255e-02_rb,2.0628e-03_rb/) kbo(:, 5,48, 7) = (/ & &6.4736e-02_rb,9.1889e-02_rb,7.9609e-02_rb,5.4563e-02_rb,2.1644e-03_rb/) kbo(:, 1,49, 7) = (/ & &9.7792e-03_rb,1.4862e-02_rb,1.2975e-02_rb,9.4608e-03_rb,1.4121e-03_rb/) kbo(:, 2,49, 7) = (/ & &1.6175e-02_rb,2.3898e-02_rb,2.0488e-02_rb,1.4406e-02_rb,1.5117e-03_rb/) kbo(:, 3,49, 7) = (/ & &2.5763e-02_rb,3.7620e-02_rb,3.1995e-02_rb,2.1936e-02_rb,1.6039e-03_rb/) kbo(:, 4,49, 7) = (/ & &3.9714e-02_rb,5.7411e-02_rb,4.9041e-02_rb,3.3299e-02_rb,1.6946e-03_rb/) kbo(:, 5,49, 7) = (/ & &5.9638e-02_rb,8.4793e-02_rb,7.3080e-02_rb,4.9749e-02_rb,1.7852e-03_rb/) kbo(:, 1,50, 7) = (/ & &8.0131e-03_rb,1.2216e-02_rb,1.0631e-02_rb,7.7241e-03_rb,1.1467e-03_rb/) kbo(:, 2,50, 7) = (/ & &1.3522e-02_rb,2.0069e-02_rb,1.7141e-02_rb,1.2008e-02_rb,1.2327e-03_rb/) kbo(:, 3,50, 7) = (/ & &2.1961e-02_rb,3.2239e-02_rb,2.7314e-02_rb,1.8640e-02_rb,1.3124e-03_rb/) kbo(:, 4,50, 7) = (/ & &3.4440e-02_rb,5.0209e-02_rb,4.2737e-02_rb,2.8885e-02_rb,1.3920e-03_rb/) kbo(:, 5,50, 7) = (/ & &5.2495e-02_rb,7.5521e-02_rb,6.4947e-02_rb,4.4030e-02_rb,1.4733e-03_rb/) kbo(:, 1,51, 7) = (/ & &6.4036e-03_rb,9.8290e-03_rb,8.5406e-03_rb,6.2032e-03_rb,9.3043e-04_rb/) kbo(:, 2,51, 7) = (/ & &1.1026e-02_rb,1.6501e-02_rb,1.4064e-02_rb,9.8397e-03_rb,1.0045e-03_rb/) kbo(:, 3,51, 7) = (/ & &1.8273e-02_rb,2.7056e-02_rb,2.2864e-02_rb,1.5565e-02_rb,1.0742e-03_rb/) kbo(:, 4,51, 7) = (/ & &2.9163e-02_rb,4.3028e-02_rb,3.6523e-02_rb,2.4601e-02_rb,1.1437e-03_rb/) kbo(:, 5,51, 7) = (/ & &4.5145e-02_rb,6.5958e-02_rb,5.6628e-02_rb,3.8264e-02_rb,1.2140e-03_rb/) kbo(:, 1,52, 7) = (/ & &5.2190e-03_rb,8.0088e-03_rb,6.9367e-03_rb,5.0245e-03_rb,7.5434e-04_rb/) kbo(:, 2,52, 7) = (/ & &9.1694e-03_rb,1.3764e-02_rb,1.1684e-02_rb,8.1486e-03_rb,8.1834e-04_rb/) kbo(:, 3,52, 7) = (/ & &1.5524e-02_rb,2.3049e-02_rb,1.9394e-02_rb,1.3151e-02_rb,8.7913e-04_rb/) kbo(:, 4,52, 7) = (/ & &2.5232e-02_rb,3.7442e-02_rb,3.1647e-02_rb,2.1215e-02_rb,9.3902e-04_rb/) kbo(:, 5,52, 7) = (/ & &3.9698e-02_rb,5.8529e-02_rb,5.0101e-02_rb,3.3714e-02_rb,1.0010e-03_rb/) kbo(:, 1,53, 7) = (/ & &4.3882e-03_rb,6.6717e-03_rb,5.7454e-03_rb,4.1343e-03_rb,6.1055e-04_rb/) kbo(:, 2,53, 7) = (/ & &7.8762e-03_rb,1.1762e-02_rb,9.9163e-03_rb,6.8660e-03_rb,6.6611e-04_rb/) kbo(:, 3,53, 7) = (/ & &1.3621e-02_rb,2.0115e-02_rb,1.6825e-02_rb,1.1330e-02_rb,7.1874e-04_rb/) kbo(:, 4,53, 7) = (/ & &2.2577e-02_rb,3.3386e-02_rb,2.8049e-02_rb,1.8668e-02_rb,7.7087e-04_rb/) kbo(:, 5,53, 7) = (/ & &3.6135e-02_rb,5.3261e-02_rb,4.5341e-02_rb,3.0337e-02_rb,8.2493e-04_rb/) kbo(:, 1,54, 7) = (/ & &3.2171e-03_rb,4.9791e-03_rb,4.3152e-03_rb,3.1327e-03_rb,4.9375e-04_rb/) kbo(:, 2,54, 7) = (/ & &5.9006e-03_rb,8.9891e-03_rb,7.6027e-03_rb,5.2931e-03_rb,5.4126e-04_rb/) kbo(:, 3,54, 7) = (/ & &1.0411e-02_rb,1.5699e-02_rb,1.3153e-02_rb,8.8893e-03_rb,5.8635e-04_rb/) kbo(:, 4,54, 7) = (/ & &1.7599e-02_rb,2.6636e-02_rb,2.2397e-02_rb,1.4923e-02_rb,6.3108e-04_rb/) kbo(:, 5,54, 7) = (/ & &2.8648e-02_rb,4.3428e-02_rb,3.7016e-02_rb,2.4766e-02_rb,6.7747e-04_rb/) kbo(:, 1,55, 7) = (/ & &2.1501e-03_rb,3.4516e-03_rb,3.0360e-03_rb,2.2475e-03_rb,3.9872e-04_rb/) kbo(:, 2,55, 7) = (/ & &4.0344e-03_rb,6.3713e-03_rb,5.4431e-03_rb,3.8454e-03_rb,4.3910e-04_rb/) kbo(:, 3,55, 7) = (/ & &7.2610e-03_rb,1.1366e-02_rb,9.5883e-03_rb,6.5518e-03_rb,4.7768e-04_rb/) kbo(:, 4,55, 7) = (/ & &1.2517e-02_rb,1.9714e-02_rb,1.6657e-02_rb,1.1171e-02_rb,5.1535e-04_rb/) kbo(:, 5,55, 7) = (/ & &2.0727e-02_rb,3.2905e-02_rb,2.8181e-02_rb,1.8908e-02_rb,5.5486e-04_rb/) kbo(:, 1,56, 7) = (/ & &1.4245e-03_rb,2.3749e-03_rb,2.1236e-03_rb,1.6049e-03_rb,3.2130e-04_rb/) kbo(:, 2,56, 7) = (/ & &2.7381e-03_rb,4.4799e-03_rb,3.8718e-03_rb,2.7798e-03_rb,3.5587e-04_rb/) kbo(:, 3,56, 7) = (/ & &5.0259e-03_rb,8.1674e-03_rb,6.9450e-03_rb,4.8004e-03_rb,3.8862e-04_rb/) kbo(:, 4,56, 7) = (/ & &8.8432e-03_rb,1.4489e-02_rb,1.2307e-02_rb,8.3071e-03_rb,4.2064e-04_rb/) kbo(:, 5,56, 7) = (/ & &1.4910e-02_rb,2.4779e-02_rb,2.1310e-02_rb,1.4337e-02_rb,4.5360e-04_rb/) kbo(:, 1,57, 7) = (/ & &9.3471e-04_rb,1.6209e-03_rb,1.4751e-03_rb,1.1411e-03_rb,2.5838e-04_rb/) kbo(:, 2,57, 7) = (/ & &1.8436e-03_rb,3.1233e-03_rb,2.7344e-03_rb,1.9986e-03_rb,2.8780e-04_rb/) kbo(:, 3,57, 7) = (/ & &3.4502e-03_rb,5.8213e-03_rb,4.9934e-03_rb,3.4957e-03_rb,3.1565e-04_rb/) kbo(:, 4,57, 7) = (/ & &6.2020e-03_rb,1.0562e-02_rb,9.0212e-03_rb,6.1326e-03_rb,3.4283e-04_rb/) kbo(:, 5,57, 7) = (/ & &1.0656e-02_rb,1.8525e-02_rb,1.5995e-02_rb,1.0788e-02_rb,3.7043e-04_rb/) kbo(:, 1,58, 7) = (/ & &1.6224e-04_rb,3.6080e-04_rb,4.3166e-04_rb,4.8123e-04_rb,2.0767e-04_rb/) kbo(:, 2,58, 7) = (/ & &3.2835e-04_rb,7.0851e-04_rb,8.1160e-04_rb,8.4893e-04_rb,2.3260e-04_rb/) kbo(:, 3,58, 7) = (/ & &6.2650e-04_rb,1.3493e-03_rb,1.5057e-03_rb,1.4999e-03_rb,2.5617e-04_rb/) kbo(:, 4,58, 7) = (/ & &1.1500e-03_rb,2.5038e-03_rb,2.7715e-03_rb,2.6635e-03_rb,2.7921e-04_rb/) kbo(:, 5,58, 7) = (/ & &2.0128e-03_rb,4.5008e-03_rb,5.0240e-03_rb,4.7643e-03_rb,3.0249e-04_rb/) kbo(:, 1,59, 7) = (/ & &1.4374e-04_rb,3.4167e-04_rb,3.9743e-04_rb,4.1474e-04_rb,1.7016e-04_rb/) kbo(:, 2,59, 7) = (/ & &2.9460e-04_rb,6.7320e-04_rb,7.4449e-04_rb,7.2184e-04_rb,1.9072e-04_rb/) kbo(:, 3,59, 7) = (/ & &5.6936e-04_rb,1.2962e-03_rb,1.3859e-03_rb,1.2659e-03_rb,2.1044e-04_rb/) kbo(:, 4,59, 7) = (/ & &1.0579e-03_rb,2.4467e-03_rb,2.5761e-03_rb,2.2456e-03_rb,2.2959e-04_rb/) kbo(:, 5,59, 7) = (/ & &1.8733e-03_rb,4.4959e-03_rb,4.7523e-03_rb,4.0463e-03_rb,2.4889e-04_rb/) kbo(:, 1,13, 8) = (/ & &1.0984e+01_rb,8.3644e+00_rb,5.8323e+00_rb,3.5207e+00_rb,9.5573e-01_rb/) kbo(:, 2,13, 8) = (/ & &1.6457e+01_rb,1.2460e+01_rb,8.5024e+00_rb,4.7543e+00_rb,9.4898e-01_rb/) kbo(:, 3,13, 8) = (/ & &2.3514e+01_rb,1.7749e+01_rb,1.1998e+01_rb,6.4125e+00_rb,9.3955e-01_rb/) kbo(:, 4,13, 8) = (/ & &3.2333e+01_rb,2.4359e+01_rb,1.6389e+01_rb,8.5253e+00_rb,9.2689e-01_rb/) kbo(:, 5,13, 8) = (/ & &4.3124e+01_rb,3.2448e+01_rb,2.1775e+01_rb,1.1152e+01_rb,9.1779e-01_rb/) kbo(:, 1,14, 8) = (/ & &6.1000e+00_rb,4.7207e+00_rb,3.5104e+00_rb,2.4718e+00_rb,9.1734e-01_rb/) kbo(:, 2,14, 8) = (/ & &9.1253e+00_rb,6.9681e+00_rb,4.9378e+00_rb,3.1340e+00_rb,9.1181e-01_rb/) kbo(:, 3,14, 8) = (/ & &1.3035e+01_rb,9.8900e+00_rb,6.8208e+00_rb,3.9957e+00_rb,9.0546e-01_rb/) kbo(:, 4,14, 8) = (/ & &1.7969e+01_rb,1.3584e+01_rb,9.2328e+00_rb,5.1032e+00_rb,8.9760e-01_rb/) kbo(:, 5,14, 8) = (/ & &2.4021e+01_rb,1.8119e+01_rb,1.2229e+01_rb,6.5133e+00_rb,8.8920e-01_rb/) kbo(:, 1,15, 8) = (/ & &3.4743e+00_rb,2.8067e+00_rb,2.3437e+00_rb,1.8996e+00_rb,8.7156e-01_rb/) kbo(:, 2,15, 8) = (/ & &5.1884e+00_rb,4.0500e+00_rb,3.1125e+00_rb,2.2977e+00_rb,8.6786e-01_rb/) kbo(:, 3,15, 8) = (/ & &7.4263e+00_rb,5.6964e+00_rb,4.1330e+00_rb,2.7795e+00_rb,8.6394e-01_rb/) kbo(:, 4,15, 8) = (/ & &1.0261e+01_rb,7.8059e+00_rb,5.4699e+00_rb,3.3858e+00_rb,8.5908e-01_rb/) kbo(:, 5,15, 8) = (/ & &1.3736e+01_rb,1.0405e+01_rb,7.1459e+00_rb,4.1475e+00_rb,8.5337e-01_rb/) kbo(:, 1,16, 8) = (/ & &2.3668e+00_rb,2.0348e+00_rb,1.8716e+00_rb,1.6135e+00_rb,8.1894e-01_rb/) kbo(:, 2,16, 8) = (/ & &3.5375e+00_rb,2.8566e+00_rb,2.3918e+00_rb,1.9179e+00_rb,8.1793e-01_rb/) kbo(:, 3,16, 8) = (/ & &5.0738e+00_rb,3.9641e+00_rb,3.0738e+00_rb,2.2799e+00_rb,8.1574e-01_rb/) kbo(:, 4,16, 8) = (/ & &7.0147e+00_rb,5.3888e+00_rb,3.9564e+00_rb,2.7115e+00_rb,8.1291e-01_rb/) kbo(:, 5,16, 8) = (/ & &9.3829e+00_rb,7.1458e+00_rb,5.0571e+00_rb,3.2258e+00_rb,8.0943e-01_rb/) kbo(:, 1,17, 8) = (/ & &1.6738e+00_rb,1.5709e+00_rb,1.5512e+00_rb,1.3915e+00_rb,7.6163e-01_rb/) kbo(:, 2,17, 8) = (/ & &2.5071e+00_rb,2.1423e+00_rb,1.9466e+00_rb,1.6331e+00_rb,7.6194e-01_rb/) kbo(:, 3,17, 8) = (/ & &3.5973e+00_rb,2.9044e+00_rb,2.4376e+00_rb,1.9200e+00_rb,7.6176e-01_rb/) kbo(:, 4,17, 8) = (/ & &4.9653e+00_rb,3.8871e+00_rb,3.0499e+00_rb,2.2591e+00_rb,7.6112e-01_rb/) kbo(:, 5,17, 8) = (/ & &6.6200e+00_rb,5.0972e+00_rb,3.7961e+00_rb,2.6511e+00_rb,7.6001e-01_rb/) kbo(:, 1,18, 8) = (/ & &1.2159e+00_rb,1.2682e+00_rb,1.3055e+00_rb,1.2114e+00_rb,6.9972e-01_rb/) kbo(:, 2,18, 8) = (/ & &1.8215e+00_rb,1.6846e+00_rb,1.6207e+00_rb,1.4074e+00_rb,7.0172e-01_rb/) kbo(:, 3,18, 8) = (/ & &2.6063e+00_rb,2.2250e+00_rb,2.0059e+00_rb,1.6407e+00_rb,7.0349e-01_rb/) kbo(:, 4,18, 8) = (/ & &3.5864e+00_rb,2.9083e+00_rb,2.4603e+00_rb,1.9137e+00_rb,7.0440e-01_rb/) kbo(:, 5,18, 8) = (/ & &4.7701e+00_rb,3.7503e+00_rb,2.9936e+00_rb,2.2226e+00_rb,7.0559e-01_rb/) kbo(:, 1,19, 8) = (/ & &8.6896e-01_rb,1.0218e+00_rb,1.0917e+00_rb,1.0431e+00_rb,6.3571e-01_rb/) kbo(:, 2,19, 8) = (/ & &1.2971e+00_rb,1.3348e+00_rb,1.3390e+00_rb,1.2022e+00_rb,6.3915e-01_rb/) kbo(:, 3,19, 8) = (/ & &1.8500e+00_rb,1.7190e+00_rb,1.6367e+00_rb,1.3904e+00_rb,6.4265e-01_rb/) kbo(:, 4,19, 8) = (/ & &2.5377e+00_rb,2.1918e+00_rb,1.9845e+00_rb,1.6067e+00_rb,6.4523e-01_rb/) kbo(:, 5,19, 8) = (/ & &3.3694e+00_rb,2.7695e+00_rb,2.3848e+00_rb,1.8478e+00_rb,6.4962e-01_rb/) kbo(:, 1,20, 8) = (/ & &6.7593e-01_rb,8.7052e-01_rb,9.5066e-01_rb,9.1950e-01_rb,5.7154e-01_rb/) kbo(:, 2,20, 8) = (/ & &1.0037e+00_rb,1.1265e+00_rb,1.1588e+00_rb,1.0572e+00_rb,5.7670e-01_rb/) kbo(:, 3,20, 8) = (/ & &1.4256e+00_rb,1.4357e+00_rb,1.4052e+00_rb,1.2186e+00_rb,5.8150e-01_rb/) kbo(:, 4,20, 8) = (/ & &1.9488e+00_rb,1.8041e+00_rb,1.6911e+00_rb,1.4006e+00_rb,5.8703e-01_rb/) kbo(:, 5,20, 8) = (/ & &2.5835e+00_rb,2.2440e+00_rb,2.0193e+00_rb,1.6034e+00_rb,5.9399e-01_rb/) kbo(:, 1,21, 8) = (/ & &5.4036e-01_rb,7.5420e-01_rb,8.3572e-01_rb,8.1199e-01_rb,5.0987e-01_rb/) kbo(:, 2,21, 8) = (/ & &7.9845e-01_rb,9.6809e-01_rb,1.0141e+00_rb,9.3456e-01_rb,5.1627e-01_rb/) kbo(:, 3,21, 8) = (/ & &1.1289e+00_rb,1.2252e+00_rb,1.2225e+00_rb,1.0751e+00_rb,5.2292e-01_rb/) kbo(:, 4,21, 8) = (/ & &1.5394e+00_rb,1.5293e+00_rb,1.4635e+00_rb,1.2321e+00_rb,5.3121e-01_rb/) kbo(:, 5,21, 8) = (/ & &2.0388e+00_rb,1.8858e+00_rb,1.7395e+00_rb,1.4066e+00_rb,5.4074e-01_rb/) kbo(:, 1,22, 8) = (/ & &4.5347e-01_rb,6.7088e-01_rb,7.4705e-01_rb,7.2463e-01_rb,4.5233e-01_rb/) kbo(:, 2,22, 8) = (/ & &6.6420e-01_rb,8.5466e-01_rb,9.0352e-01_rb,8.3532e-01_rb,4.6020e-01_rb/) kbo(:, 3,22, 8) = (/ & &9.3312e-01_rb,1.0751e+00_rb,1.0854e+00_rb,9.5995e-01_rb,4.6942e-01_rb/) kbo(:, 4,22, 8) = (/ & &1.2674e+00_rb,1.3357e+00_rb,1.2944e+00_rb,1.0988e+00_rb,4.8015e-01_rb/) kbo(:, 5,22, 8) = (/ & &1.6769e+00_rb,1.6408e+00_rb,1.5338e+00_rb,1.2527e+00_rb,4.9182e-01_rb/) kbo(:, 1,23, 8) = (/ & &3.8192e-01_rb,5.9551e-01_rb,6.6526e-01_rb,6.4489e-01_rb,3.9997e-01_rb/) kbo(:, 2,23, 8) = (/ & &5.5484e-01_rb,7.5433e-01_rb,8.0227e-01_rb,7.4370e-01_rb,4.0956e-01_rb/) kbo(:, 3,23, 8) = (/ & &7.7517e-01_rb,9.4347e-01_rb,9.6125e-01_rb,8.5431e-01_rb,4.2064e-01_rb/) kbo(:, 4,23, 8) = (/ & &1.0504e+00_rb,1.1678e+00_rb,1.1437e+00_rb,9.7728e-01_rb,4.3319e-01_rb/) kbo(:, 5,23, 8) = (/ & &1.3891e+00_rb,1.4314e+00_rb,1.3533e+00_rb,1.1142e+00_rb,4.4599e-01_rb/) kbo(:, 1,24, 8) = (/ & &3.1980e-01_rb,5.2485e-01_rb,5.8816e-01_rb,5.7121e-01_rb,3.5303e-01_rb/) kbo(:, 2,24, 8) = (/ & &4.6136e-01_rb,6.6155e-01_rb,7.0757e-01_rb,6.5873e-01_rb,3.6427e-01_rb/) kbo(:, 3,24, 8) = (/ & &6.4223e-01_rb,8.2371e-01_rb,8.4561e-01_rb,7.5649e-01_rb,3.7674e-01_rb/) kbo(:, 4,24, 8) = (/ & &8.6939e-01_rb,1.0172e+00_rb,1.0047e+00_rb,8.6558e-01_rb,3.8981e-01_rb/) kbo(:, 5,24, 8) = (/ & &1.1484e+00_rb,1.2449e+00_rb,1.1880e+00_rb,9.8717e-01_rb,4.0255e-01_rb/) kbo(:, 1,25, 8) = (/ & &2.7156e-01_rb,4.6457e-01_rb,5.2127e-01_rb,5.0714e-01_rb,3.1176e-01_rb/) kbo(:, 2,25, 8) = (/ & &3.8962e-01_rb,5.8326e-01_rb,6.2605e-01_rb,5.8521e-01_rb,3.2376e-01_rb/) kbo(:, 3,25, 8) = (/ & &5.4140e-01_rb,7.2573e-01_rb,7.4721e-01_rb,6.7267e-01_rb,3.3654e-01_rb/) kbo(:, 4,25, 8) = (/ & &7.3158e-01_rb,8.9514e-01_rb,8.8800e-01_rb,7.7033e-01_rb,3.4916e-01_rb/) kbo(:, 5,25, 8) = (/ & &9.6557e-01_rb,1.0940e+00_rb,1.0510e+00_rb,8.7991e-01_rb,3.6188e-01_rb/) kbo(:, 1,26, 8) = (/ & &2.3603e-01_rb,4.1514e-01_rb,4.6570e-01_rb,4.5317e-01_rb,2.7528e-01_rb/) kbo(:, 2,26, 8) = (/ & &3.3729e-01_rb,5.2062e-01_rb,5.5904e-01_rb,5.2356e-01_rb,2.8722e-01_rb/) kbo(:, 3,26, 8) = (/ & &4.6762e-01_rb,6.4812e-01_rb,6.6791e-01_rb,6.0289e-01_rb,2.9963e-01_rb/) kbo(:, 4,26, 8) = (/ & &6.3043e-01_rb,7.9949e-01_rb,7.9540e-01_rb,6.9207e-01_rb,3.1197e-01_rb/) kbo(:, 5,26, 8) = (/ & &8.2894e-01_rb,9.7604e-01_rb,9.4222e-01_rb,7.9275e-01_rb,3.2460e-01_rb/) kbo(:, 1,27, 8) = (/ & &2.1329e-01_rb,3.7886e-01_rb,4.2295e-01_rb,4.0982e-01_rb,2.4262e-01_rb/) kbo(:, 2,27, 8) = (/ & &3.0405e-01_rb,4.7609e-01_rb,5.0881e-01_rb,4.7490e-01_rb,2.5434e-01_rb/) kbo(:, 3,27, 8) = (/ & &4.2047e-01_rb,5.9404e-01_rb,6.1027e-01_rb,5.4870e-01_rb,2.6611e-01_rb/) kbo(:, 4,27, 8) = (/ & &5.6493e-01_rb,7.3338e-01_rb,7.2904e-01_rb,6.3251e-01_rb,2.7831e-01_rb/) kbo(:, 5,27, 8) = (/ & &7.3961e-01_rb,8.9452e-01_rb,8.6490e-01_rb,7.2735e-01_rb,2.9101e-01_rb/) kbo(:, 1,28, 8) = (/ & &1.9857e-01_rb,3.5152e-01_rb,3.8897e-01_rb,3.7421e-01_rb,2.1366e-01_rb/) kbo(:, 2,28, 8) = (/ & &2.8199e-01_rb,4.4350e-01_rb,4.7029e-01_rb,4.3552e-01_rb,2.2475e-01_rb/) kbo(:, 3,28, 8) = (/ & &3.8828e-01_rb,5.5465e-01_rb,5.6697e-01_rb,5.0558e-01_rb,2.3636e-01_rb/) kbo(:, 4,28, 8) = (/ & &5.1944e-01_rb,6.8554e-01_rb,6.7950e-01_rb,5.8599e-01_rb,2.4843e-01_rb/) kbo(:, 5,28, 8) = (/ & &6.7804e-01_rb,8.3583e-01_rb,8.0789e-01_rb,6.7686e-01_rb,2.6132e-01_rb/) kbo(:, 1,29, 8) = (/ & &1.9699e-01_rb,3.4001e-01_rb,3.6948e-01_rb,3.4985e-01_rb,1.8812e-01_rb/) kbo(:, 2,29, 8) = (/ & &2.7846e-01_rb,4.3155e-01_rb,4.5041e-01_rb,4.0987e-01_rb,1.9891e-01_rb/) kbo(:, 3,29, 8) = (/ & &3.8140e-01_rb,5.4168e-01_rb,5.4658e-01_rb,4.7968e-01_rb,2.1027e-01_rb/) kbo(:, 4,29, 8) = (/ & &5.0817e-01_rb,6.7028e-01_rb,6.5795e-01_rb,5.5982e-01_rb,2.2267e-01_rb/) kbo(:, 5,29, 8) = (/ & &6.6092e-01_rb,8.1811e-01_rb,7.8466e-01_rb,6.5003e-01_rb,2.3569e-01_rb/) kbo(:, 1,30, 8) = (/ & &2.0038e-01_rb,3.3558e-01_rb,3.5744e-01_rb,3.3111e-01_rb,1.6586e-01_rb/) kbo(:, 2,30, 8) = (/ & &2.8170e-01_rb,4.2849e-01_rb,4.3945e-01_rb,3.9159e-01_rb,1.7645e-01_rb/) kbo(:, 3,30, 8) = (/ & &3.8386e-01_rb,5.3939e-01_rb,5.3663e-01_rb,4.6240e-01_rb,1.8797e-01_rb/) kbo(:, 4,30, 8) = (/ & &5.0944e-01_rb,6.6904e-01_rb,6.4909e-01_rb,5.4342e-01_rb,2.0032e-01_rb/) kbo(:, 5,30, 8) = (/ & &6.6110e-01_rb,8.1719e-01_rb,7.7645e-01_rb,6.3464e-01_rb,2.1343e-01_rb/) kbo(:, 1,31, 8) = (/ & &2.1457e-01_rb,3.4491e-01_rb,3.5799e-01_rb,3.2199e-01_rb,1.4677e-01_rb/) kbo(:, 2,31, 8) = (/ & &3.0025e-01_rb,4.4295e-01_rb,4.4440e-01_rb,3.8528e-01_rb,1.5733e-01_rb/) kbo(:, 3,31, 8) = (/ & &4.0706e-01_rb,5.5909e-01_rb,5.4635e-01_rb,4.5932e-01_rb,1.6888e-01_rb/) kbo(:, 4,31, 8) = (/ & &5.3865e-01_rb,6.9458e-01_rb,6.6400e-01_rb,5.4394e-01_rb,1.8129e-01_rb/) kbo(:, 5,31, 8) = (/ & &6.9836e-01_rb,8.4979e-01_rb,7.9754e-01_rb,6.3956e-01_rb,1.9424e-01_rb/) kbo(:, 1,32, 8) = (/ & &2.3301e-01_rb,3.6002e-01_rb,3.6447e-01_rb,3.1806e-01_rb,1.3061e-01_rb/) kbo(:, 2,32, 8) = (/ & &3.2391e-01_rb,4.6378e-01_rb,4.5628e-01_rb,3.8494e-01_rb,1.4116e-01_rb/) kbo(:, 3,32, 8) = (/ & &4.3762e-01_rb,5.8716e-01_rb,5.6420e-01_rb,4.6300e-01_rb,1.5266e-01_rb/) kbo(:, 4,32, 8) = (/ & &5.7844e-01_rb,7.3058e-01_rb,6.8894e-01_rb,5.5249e-01_rb,1.6489e-01_rb/) kbo(:, 5,32, 8) = (/ & &7.5012e-01_rb,8.9521e-01_rb,8.3056e-01_rb,6.5369e-01_rb,1.7758e-01_rb/) kbo(:, 1,33, 8) = (/ & &2.5790e-01_rb,3.8312e-01_rb,3.7883e-01_rb,3.2071e-01_rb,1.1691e-01_rb/) kbo(:, 2,33, 8) = (/ & &3.5669e-01_rb,4.9524e-01_rb,4.7746e-01_rb,3.9236e-01_rb,1.2744e-01_rb/) kbo(:, 3,33, 8) = (/ & &4.8068e-01_rb,6.2777e-01_rb,5.9359e-01_rb,4.7601e-01_rb,1.3874e-01_rb/) kbo(:, 4,33, 8) = (/ & &6.3465e-01_rb,7.8244e-01_rb,7.2784e-01_rb,5.7215e-01_rb,1.5065e-01_rb/) kbo(:, 5,33, 8) = (/ & &8.2463e-01_rb,9.6158e-01_rb,8.8094e-01_rb,6.8112e-01_rb,1.6290e-01_rb/) kbo(:, 1,34, 8) = (/ & &2.7501e-01_rb,3.9928e-01_rb,3.8789e-01_rb,3.2093e-01_rb,1.0495e-01_rb/) kbo(:, 2,34, 8) = (/ & &3.7955e-01_rb,5.1722e-01_rb,4.9202e-01_rb,3.9633e-01_rb,1.1524e-01_rb/) kbo(:, 3,34, 8) = (/ & &5.1074e-01_rb,6.5671e-01_rb,6.1416e-01_rb,4.8473e-01_rb,1.2623e-01_rb/) kbo(:, 4,34, 8) = (/ & &6.7545e-01_rb,8.2065e-01_rb,7.5592e-01_rb,5.8631e-01_rb,1.3772e-01_rb/) kbo(:, 5,34, 8) = (/ & &8.8010e-01_rb,1.0115e+00_rb,9.1893e-01_rb,7.0176e-01_rb,1.4967e-01_rb/) kbo(:, 1,35, 8) = (/ & &2.8491e-01_rb,4.0792e-01_rb,3.9124e-01_rb,3.1768e-01_rb,9.3815e-02_rb/) kbo(:, 2,35, 8) = (/ & &3.9304e-01_rb,5.3008e-01_rb,4.9917e-01_rb,3.9612e-01_rb,1.0372e-01_rb/) kbo(:, 3,35, 8) = (/ & &5.3059e-01_rb,6.7569e-01_rb,6.2665e-01_rb,4.8824e-01_rb,1.1431e-01_rb/) kbo(:, 4,35, 8) = (/ & &7.0463e-01_rb,8.4744e-01_rb,7.7517e-01_rb,5.9483e-01_rb,1.2547e-01_rb/) kbo(:, 5,35, 8) = (/ & &9.2289e-01_rb,1.0490e+00_rb,9.4773e-01_rb,7.1638e-01_rb,1.3729e-01_rb/) kbo(:, 1,36, 8) = (/ & &2.8335e-01_rb,4.0444e-01_rb,3.8444e-01_rb,3.0785e-01_rb,8.3181e-02_rb/) kbo(:, 2,36, 8) = (/ & &3.9231e-01_rb,5.2837e-01_rb,4.9425e-01_rb,3.8787e-01_rb,9.2674e-02_rb/) kbo(:, 3,36, 8) = (/ & &5.3277e-01_rb,6.7716e-01_rb,6.2485e-01_rb,4.8257e-01_rb,1.0284e-01_rb/) kbo(:, 4,36, 8) = (/ & &7.1164e-01_rb,8.5400e-01_rb,7.7825e-01_rb,5.9239e-01_rb,1.1370e-01_rb/) kbo(:, 5,36, 8) = (/ & &9.3841e-01_rb,1.0634e+00_rb,9.5733e-01_rb,7.1881e-01_rb,1.2521e-01_rb/) kbo(:, 1,37, 8) = (/ & &2.6099e-01_rb,3.7794e-01_rb,3.5839e-01_rb,2.8510e-01_rb,7.2608e-02_rb/) kbo(:, 2,37, 8) = (/ & &3.6453e-01_rb,4.9803e-01_rb,4.6544e-01_rb,3.6354e-01_rb,8.1599e-02_rb/) kbo(:, 3,37, 8) = (/ & &4.9925e-01_rb,6.4313e-01_rb,5.9376e-01_rb,4.5692e-01_rb,9.1324e-02_rb/) kbo(:, 4,37, 8) = (/ & &6.7318e-01_rb,8.1735e-01_rb,7.4579e-01_rb,5.6616e-01_rb,1.0177e-01_rb/) kbo(:, 5,37, 8) = (/ & &8.9497e-01_rb,1.0258e+00_rb,9.2402e-01_rb,6.9303e-01_rb,1.1300e-01_rb/) kbo(:, 1,38, 8) = (/ & &2.4331e-01_rb,3.5651e-01_rb,3.3705e-01_rb,2.6611e-01_rb,6.3364e-02_rb/) kbo(:, 2,38, 8) = (/ & &3.4315e-01_rb,4.7401e-01_rb,4.4240e-01_rb,3.4349e-01_rb,7.1841e-02_rb/) kbo(:, 3,38, 8) = (/ & &4.7415e-01_rb,6.1710e-01_rb,5.6959e-01_rb,4.3645e-01_rb,8.1122e-02_rb/) kbo(:, 4,38, 8) = (/ & &6.4535e-01_rb,7.9084e-01_rb,7.2136e-01_rb,5.4612e-01_rb,9.1255e-02_rb/) kbo(:, 5,38, 8) = (/ & &8.6575e-01_rb,1.0005e+00_rb,9.0147e-01_rb,6.7461e-01_rb,1.0216e-01_rb/) kbo(:, 1,39, 8) = (/ & &2.3205e-01_rb,3.4217e-01_rb,3.2219e-01_rb,2.5204e-01_rb,5.5366e-02_rb/) kbo(:, 2,39, 8) = (/ & &3.3051e-01_rb,4.5923e-01_rb,4.2752e-01_rb,3.2956e-01_rb,6.3325e-02_rb/) kbo(:, 3,39, 8) = (/ & &4.6126e-01_rb,6.0310e-01_rb,5.5564e-01_rb,4.2338e-01_rb,7.2166e-02_rb/) kbo(:, 4,39, 8) = (/ & &6.3405e-01_rb,7.7976e-01_rb,7.0985e-01_rb,5.3501e-01_rb,8.2008e-02_rb/) kbo(:, 5,39, 8) = (/ & &8.5903e-01_rb,9.9488e-01_rb,8.9458e-01_rb,6.6726e-01_rb,9.2704e-02_rb/) kbo(:, 1,40, 8) = (/ & &2.0024e-01_rb,3.0416e-01_rb,2.8720e-01_rb,2.2448e-01_rb,4.7646e-02_rb/) kbo(:, 2,40, 8) = (/ & &2.8846e-01_rb,4.1256e-01_rb,3.8572e-01_rb,2.9759e-01_rb,5.5021e-02_rb/) kbo(:, 3,40, 8) = (/ & &4.0740e-01_rb,5.4726e-01_rb,5.0694e-01_rb,3.8698e-01_rb,6.3373e-02_rb/) kbo(:, 4,40, 8) = (/ & &5.6679e-01_rb,7.1454e-01_rb,6.5407e-01_rb,4.9457e-01_rb,7.2804e-02_rb/) kbo(:, 5,40, 8) = (/ & &7.7703e-01_rb,9.2066e-01_rb,8.3239e-01_rb,6.2266e-01_rb,8.3210e-02_rb/) kbo(:, 1,41, 8) = (/ & &1.7113e-01_rb,2.6826e-01_rb,2.5417e-01_rb,1.9867e-01_rb,4.0876e-02_rb/) kbo(:, 2,41, 8) = (/ & &2.4978e-01_rb,3.6831e-01_rb,3.4599e-01_rb,2.6723e-01_rb,4.7680e-02_rb/) kbo(:, 3,41, 8) = (/ & &3.5705e-01_rb,4.9395e-01_rb,4.5991e-01_rb,3.5185e-01_rb,5.5528e-02_rb/) kbo(:, 4,41, 8) = (/ & &5.0326e-01_rb,6.5160e-01_rb,5.9993e-01_rb,4.5499e-01_rb,6.4535e-02_rb/) kbo(:, 5,41, 8) = (/ & &6.9778e-01_rb,8.4752e-01_rb,7.7088e-01_rb,5.7861e-01_rb,7.4659e-02_rb/) kbo(:, 1,42, 8) = (/ & &1.4736e-01_rb,2.3782e-01_rb,2.2594e-01_rb,1.7650e-01_rb,3.4992e-02_rb/) kbo(:, 2,42, 8) = (/ & &2.1817e-01_rb,3.3087e-01_rb,3.1198e-01_rb,2.4105e-01_rb,4.1263e-02_rb/) kbo(:, 3,42, 8) = (/ & &3.1590e-01_rb,4.4893e-01_rb,4.1987e-01_rb,3.2183e-01_rb,4.8631e-02_rb/) kbo(:, 4,42, 8) = (/ & &4.5063e-01_rb,5.9836e-01_rb,5.5343e-01_rb,4.2092e-01_rb,5.7226e-02_rb/) kbo(:, 5,42, 8) = (/ & &6.3264e-01_rb,7.8621e-01_rb,7.1837e-01_rb,5.4085e-01_rb,6.7074e-02_rb/) kbo(:, 1,43, 8) = (/ & &1.2471e-01_rb,2.0767e-01_rb,1.9765e-01_rb,1.5433e-01_rb,2.9617e-02_rb/) kbo(:, 2,43, 8) = (/ & &1.8736e-01_rb,2.9309e-01_rb,2.7736e-01_rb,2.1438e-01_rb,3.5333e-02_rb/) kbo(:, 3,43, 8) = (/ & &2.7561e-01_rb,4.0307e-01_rb,3.7854e-01_rb,2.9057e-01_rb,4.2142e-02_rb/) kbo(:, 4,43, 8) = (/ & &3.9834e-01_rb,5.4356e-01_rb,5.0521e-01_rb,3.8507e-01_rb,5.0246e-02_rb/) kbo(:, 5,43, 8) = (/ & &5.6689e-01_rb,7.2237e-01_rb,6.6289e-01_rb,5.0065e-01_rb,5.9725e-02_rb/) kbo(:, 1,44, 8) = (/ & &1.0535e-01_rb,1.8057e-01_rb,1.7198e-01_rb,1.3418e-01_rb,2.4874e-02_rb/) kbo(:, 2,44, 8) = (/ & &1.6101e-01_rb,2.5912e-01_rb,2.4579e-01_rb,1.8994e-01_rb,3.0018e-02_rb/) kbo(:, 3,44, 8) = (/ & &2.4038e-01_rb,3.6143e-01_rb,3.4064e-01_rb,2.6166e-01_rb,3.6275e-02_rb/) kbo(:, 4,44, 8) = (/ & &3.5302e-01_rb,4.9391e-01_rb,4.6079e-01_rb,3.5170e-01_rb,4.3858e-02_rb/) kbo(:, 5,44, 8) = (/ & &5.0915e-01_rb,6.6446e-01_rb,6.1193e-01_rb,4.6316e-01_rb,5.2911e-02_rb/) kbo(:, 1,45, 8) = (/ & &9.0316e-02_rb,1.5846e-01_rb,1.5081e-01_rb,1.1736e-01_rb,2.0815e-02_rb/) kbo(:, 2,45, 8) = (/ & &1.4022e-01_rb,2.3128e-01_rb,2.1952e-01_rb,1.6935e-01_rb,2.5419e-02_rb/) kbo(:, 3,45, 8) = (/ & &2.1290e-01_rb,3.2756e-01_rb,3.0923e-01_rb,2.3736e-01_rb,3.1129e-02_rb/) kbo(:, 4,45, 8) = (/ & &3.1767e-01_rb,4.5386e-01_rb,4.2443e-01_rb,3.2399e-01_rb,3.8187e-02_rb/) kbo(:, 5,45, 8) = (/ & &4.6514e-01_rb,6.1840e-01_rb,5.7081e-01_rb,4.3233e-01_rb,4.6782e-02_rb/) kbo(:, 1,46, 8) = (/ & &7.6970e-02_rb,1.3789e-01_rb,1.3114e-01_rb,1.0166e-01_rb,1.7264e-02_rb/) kbo(:, 2,46, 8) = (/ & &1.2176e-01_rb,2.0534e-01_rb,1.9482e-01_rb,1.4994e-01_rb,2.1346e-02_rb/) kbo(:, 3,46, 8) = (/ & &1.8790e-01_rb,2.9566e-01_rb,2.7941e-01_rb,2.1415e-01_rb,2.6490e-02_rb/) kbo(:, 4,46, 8) = (/ & &2.8511e-01_rb,4.1574e-01_rb,3.8936e-01_rb,2.9707e-01_rb,3.3007e-02_rb/) kbo(:, 5,46, 8) = (/ & &4.2418e-01_rb,5.7427e-01_rb,5.3095e-01_rb,4.0219e-01_rb,4.1080e-02_rb/) kbo(:, 1,47, 8) = (/ & &6.3210e-02_rb,1.1622e-01_rb,1.1043e-01_rb,8.5380e-02_rb,1.4119e-02_rb/) kbo(:, 2,47, 8) = (/ & &1.0215e-01_rb,1.7705e-01_rb,1.6808e-01_rb,1.2908e-01_rb,1.7662e-02_rb/) kbo(:, 3,47, 8) = (/ & &1.6053e-01_rb,2.5968e-01_rb,2.4579e-01_rb,1.8828e-01_rb,2.2222e-02_rb/) kbo(:, 4,47, 8) = (/ & &2.4774e-01_rb,3.7111e-01_rb,3.4851e-01_rb,2.6604e-01_rb,2.8126e-02_rb/) kbo(:, 5,47, 8) = (/ & &3.7525e-01_rb,5.2022e-01_rb,4.8241e-01_rb,3.6582e-01_rb,3.5589e-02_rb/) kbo(:, 1,48, 8) = (/ & &5.2856e-02_rb,9.8941e-02_rb,9.3700e-02_rb,7.2138e-02_rb,1.1481e-02_rb/) kbo(:, 2,48, 8) = (/ & &8.7380e-02_rb,1.5439e-01_rb,1.4631e-01_rb,1.1192e-01_rb,1.4532e-02_rb/) kbo(:, 3,48, 8) = (/ & &1.4008e-01_rb,2.3111e-01_rb,2.1862e-01_rb,1.6701e-01_rb,1.8538e-02_rb/) kbo(:, 4,48, 8) = (/ & &2.2000e-01_rb,3.3600e-01_rb,3.1573e-01_rb,2.4065e-01_rb,2.3829e-02_rb/) kbo(:, 5,48, 8) = (/ & &3.3939e-01_rb,4.7860e-01_rb,4.4403e-01_rb,3.3641e-01_rb,3.0679e-02_rb/) kbo(:, 1,49, 8) = (/ & &4.5594e-02_rb,8.5787e-02_rb,8.0733e-02_rb,6.1668e-02_rb,9.2832e-03_rb/) kbo(:, 2,49, 8) = (/ & &7.7236e-02_rb,1.3755e-01_rb,1.2964e-01_rb,9.8500e-02_rb,1.1885e-02_rb/) kbo(:, 3,49, 8) = (/ & &1.2646e-01_rb,2.1033e-01_rb,1.9831e-01_rb,1.5059e-01_rb,1.5367e-02_rb/) kbo(:, 4,49, 8) = (/ & &2.0223e-01_rb,3.1150e-01_rb,2.9194e-01_rb,2.2146e-01_rb,2.0076e-02_rb/) kbo(:, 5,49, 8) = (/ & &3.1773e-01_rb,4.5116e-01_rb,4.1757e-01_rb,3.1527e-01_rb,2.6302e-02_rb/) kbo(:, 1,50, 8) = (/ & &3.7552e-02_rb,7.1895e-02_rb,6.7424e-02_rb,5.1302e-02_rb,7.5009e-03_rb/) kbo(:, 2,50, 8) = (/ & &6.5207e-02_rb,1.1840e-01_rb,1.1139e-01_rb,8.4335e-02_rb,9.7205e-03_rb/) kbo(:, 3,50, 8) = (/ & &1.0908e-01_rb,1.8529e-01_rb,1.7464e-01_rb,1.3230e-01_rb,1.2741e-02_rb/) kbo(:, 4,50, 8) = (/ & &1.7795e-01_rb,2.7969e-01_rb,2.6224e-01_rb,1.9866e-01_rb,1.6912e-02_rb/) kbo(:, 5,50, 8) = (/ & &2.8480e-01_rb,4.1182e-01_rb,3.8156e-01_rb,2.8786e-01_rb,2.2557e-02_rb/) kbo(:, 1,51, 8) = (/ & &3.0119e-02_rb,5.9038e-02_rb,5.5227e-02_rb,4.1909e-02_rb,6.0436e-03_rb/) kbo(:, 2,51, 8) = (/ & &5.3723e-02_rb,1.0012e-01_rb,9.4083e-02_rb,7.1011e-02_rb,7.9244e-03_rb/) kbo(:, 3,51, 8) = (/ & &9.1816e-02_rb,1.6026e-01_rb,1.5113e-01_rb,1.1438e-01_rb,1.0530e-02_rb/) kbo(:, 4,51, 8) = (/ & &1.5289e-01_rb,2.4665e-01_rb,2.3169e-01_rb,1.7549e-01_rb,1.4198e-02_rb/) kbo(:, 5,51, 8) = (/ & &2.4923e-01_rb,3.6941e-01_rb,3.4309e-01_rb,2.5907e-01_rb,1.9285e-02_rb/) kbo(:, 1,52, 8) = (/ & &2.4575e-02_rb,4.8862e-02_rb,4.5516e-02_rb,3.4388e-02_rb,4.8448e-03_rb/) kbo(:, 2,52, 8) = (/ & &4.5073e-02_rb,8.5520e-02_rb,8.0105e-02_rb,6.0149e-02_rb,6.4237e-03_rb/) kbo(:, 3,52, 8) = (/ & &7.8951e-02_rb,1.4049e-01_rb,1.3220e-01_rb,9.9732e-02_rb,8.6480e-03_rb/) kbo(:, 4,52, 8) = (/ & &1.3416e-01_rb,2.2067e-01_rb,2.0720e-01_rb,1.5657e-01_rb,1.1852e-02_rb/) kbo(:, 5,52, 8) = (/ & &2.2319e-01_rb,3.3661e-01_rb,3.1253e-01_rb,2.3574e-01_rb,1.6412e-02_rb/) kbo(:, 1,53, 8) = (/ & &2.0612e-02_rb,4.1138e-02_rb,3.8068e-02_rb,2.8547e-02_rb,3.8662e-03_rb/) kbo(:, 2,53, 8) = (/ & &3.9008e-02_rb,7.4441e-02_rb,6.9299e-02_rb,5.1635e-02_rb,5.1786e-03_rb/) kbo(:, 3,53, 8) = (/ & &7.0078e-02_rb,1.2575e-01_rb,1.1775e-01_rb,8.8269e-02_rb,7.0623e-03_rb/) kbo(:, 4,53, 8) = (/ & &1.2164e-01_rb,2.0192e-01_rb,1.8894e-01_rb,1.4209e-01_rb,9.8285e-03_rb/) kbo(:, 5,53, 8) = (/ & &2.0657e-01_rb,3.1414e-01_rb,2.9077e-01_rb,2.1839e-01_rb,1.3889e-02_rb/) kbo(:, 1,54, 8) = (/ & &1.5065e-02_rb,3.1280e-02_rb,2.9021e-02_rb,2.1865e-02_rb,3.0881e-03_rb/) kbo(:, 2,54, 8) = (/ & &2.9415e-02_rb,5.8678e-02_rb,5.4740e-02_rb,4.0841e-02_rb,4.1803e-03_rb/) kbo(:, 3,54, 8) = (/ & &5.4186e-02_rb,1.0195e-01_rb,9.5873e-02_rb,7.1991e-02_rb,5.7700e-03_rb/) kbo(:, 4,54, 8) = (/ & &9.6215e-02_rb,1.6747e-01_rb,1.5763e-01_rb,1.1902e-01_rb,8.1641e-03_rb/) kbo(:, 5,54, 8) = (/ & &1.6671e-01_rb,2.6518e-01_rb,2.4733e-01_rb,1.8663e-01_rb,1.1760e-02_rb/) kbo(:, 1,55, 8) = (/ & &1.0025e-02_rb,2.2183e-02_rb,2.0776e-02_rb,1.5843e-02_rb,2.4606e-03_rb/) kbo(:, 2,55, 8) = (/ & &2.0216e-02_rb,4.3248e-02_rb,4.0605e-02_rb,3.0502e-02_rb,3.3650e-03_rb/) kbo(:, 3,55, 8) = (/ & &3.8225e-02_rb,7.7452e-02_rb,7.3454e-02_rb,5.5488e-02_rb,4.7010e-03_rb/) kbo(:, 4,55, 8) = (/ & &6.9405e-02_rb,1.3019e-01_rb,1.2386e-01_rb,9.4370e-02_rb,6.7604e-03_rb/) kbo(:, 5,55, 8) = (/ & &1.2275e-01_rb,2.0976e-01_rb,1.9836e-01_rb,1.5118e-01_rb,9.9237e-03_rb/) kbo(:, 1,56, 8) = (/ & &6.5953e-03_rb,1.5532e-02_rb,1.4697e-02_rb,1.1369e-02_rb,1.9523e-03_rb/) kbo(:, 2,56, 8) = (/ & &1.3758e-02_rb,3.1499e-02_rb,2.9770e-02_rb,2.2525e-02_rb,2.6931e-03_rb/) kbo(:, 3,56, 8) = (/ & &2.6733e-02_rb,5.8400e-02_rb,5.5794e-02_rb,4.2378e-02_rb,3.8077e-03_rb/) kbo(:, 4,56, 8) = (/ & &4.9676e-02_rb,1.0081e-01_rb,9.6783e-02_rb,7.4327e-02_rb,5.5587e-03_rb/) kbo(:, 5,56, 8) = (/ & &8.9711e-02_rb,1.6544e-01_rb,1.5844e-01_rb,1.2195e-01_rb,8.3185e-03_rb/) kbo(:, 1,57, 8) = (/ & &4.2820e-03_rb,1.0722e-02_rb,1.0258e-02_rb,8.0796e-03_rb,1.5428e-03_rb/) kbo(:, 2,57, 8) = (/ & &9.2544e-03_rb,2.2704e-02_rb,2.1598e-02_rb,1.6468e-02_rb,2.1441e-03_rb/) kbo(:, 3,57, 8) = (/ & &1.8521e-02_rb,4.3686e-02_rb,4.1983e-02_rb,3.2044e-02_rb,3.0664e-03_rb/) kbo(:, 4,57, 8) = (/ & &3.5250e-02_rb,7.7586e-02_rb,7.5143e-02_rb,5.8070e-02_rb,4.5371e-03_rb/) kbo(:, 5,57, 8) = (/ & &6.5084e-02_rb,1.3004e-01_rb,1.2594e-01_rb,9.7902e-02_rb,6.9329e-03_rb/) kbo(:, 1,58, 8) = (/ & &7.3360e-04_rb,2.4101e-03_rb,3.0107e-03_rb,3.3982e-03_rb,1.2193e-03_rb/) kbo(:, 2,58, 8) = (/ & &1.6434e-03_rb,5.3110e-03_rb,6.5569e-03_rb,7.0857e-03_rb,1.7049e-03_rb/) kbo(:, 3,58, 8) = (/ & &3.3887e-03_rb,1.0643e-02_rb,1.3244e-02_rb,1.4263e-02_rb,2.4670e-03_rb/) kbo(:, 4,58, 8) = (/ & &6.6116e-03_rb,1.9492e-02_rb,2.4519e-02_rb,2.6730e-02_rb,3.7032e-03_rb/) kbo(:, 5,58, 8) = (/ & &1.2475e-02_rb,3.3432e-02_rb,4.2135e-02_rb,4.6396e-02_rb,5.7742e-03_rb/) kbo(:, 1,59, 8) = (/ & &6.5322e-04_rb,2.3892e-03_rb,2.8729e-03_rb,2.9916e-03_rb,1.0154e-03_rb/) kbo(:, 2,59, 8) = (/ & &1.4925e-03_rb,5.3944e-03_rb,6.3528e-03_rb,6.2709e-03_rb,1.4376e-03_rb/) kbo(:, 3,59, 8) = (/ & &3.1352e-03_rb,1.1095e-02_rb,1.3136e-02_rb,1.2884e-02_rb,2.1132e-03_rb/) kbo(:, 4,59, 8) = (/ & &6.2265e-03_rb,2.0748e-02_rb,2.4885e-02_rb,2.4670e-02_rb,3.2435e-03_rb/) kbo(:, 5,59, 8) = (/ & &1.1971e-02_rb,3.6140e-02_rb,4.3523e-02_rb,4.3765e-02_rb,5.1685e-03_rb/) kbo(:, 1,13, 9) = (/ & &7.3666e+01_rb,5.5396e+01_rb,3.7129e+01_rb,1.8928e+01_rb,2.0240e+00_rb/) kbo(:, 2,13, 9) = (/ & &1.0840e+02_rb,8.1447e+01_rb,5.4490e+01_rb,2.7556e+01_rb,1.9929e+00_rb/) kbo(:, 3,13, 9) = (/ & &1.5167e+02_rb,1.1389e+02_rb,7.6113e+01_rb,3.8343e+01_rb,1.9601e+00_rb/) kbo(:, 4,13, 9) = (/ & &2.0374e+02_rb,1.5294e+02_rb,1.0214e+02_rb,5.1349e+01_rb,1.9301e+00_rb/) kbo(:, 5,13, 9) = (/ & &2.6449e+02_rb,1.9850e+02_rb,1.3251e+02_rb,6.6525e+01_rb,1.8945e+00_rb/) kbo(:, 1,14, 9) = (/ & &4.2021e+01_rb,3.1664e+01_rb,2.1327e+01_rb,1.1250e+01_rb,2.1001e+00_rb/) kbo(:, 2,14, 9) = (/ & &6.1662e+01_rb,4.6390e+01_rb,3.1123e+01_rb,1.5991e+01_rb,2.0721e+00_rb/) kbo(:, 3,14, 9) = (/ & &8.6125e+01_rb,6.4733e+01_rb,4.3345e+01_rb,2.2004e+01_rb,2.0419e+00_rb/) kbo(:, 4,14, 9) = (/ & &1.1550e+02_rb,8.6758e+01_rb,5.8024e+01_rb,2.9304e+01_rb,2.0094e+00_rb/) kbo(:, 5,14, 9) = (/ & &1.4971e+02_rb,1.1242e+02_rb,7.5125e+01_rb,3.7838e+01_rb,1.9780e+00_rb/) kbo(:, 1,15, 9) = (/ & &2.4325e+01_rb,1.8394e+01_rb,1.2572e+01_rb,7.1971e+00_rb,2.1558e+00_rb/) kbo(:, 2,15, 9) = (/ & &3.5582e+01_rb,2.6831e+01_rb,1.8117e+01_rb,9.7575e+00_rb,2.1305e+00_rb/) kbo(:, 3,15, 9) = (/ & &4.9567e+01_rb,3.7318e+01_rb,2.5078e+01_rb,1.3071e+01_rb,2.1029e+00_rb/) kbo(:, 4,15, 9) = (/ & &6.6327e+01_rb,4.9885e+01_rb,3.3445e+01_rb,1.7135e+01_rb,2.0733e+00_rb/) kbo(:, 5,15, 9) = (/ & &8.5909e+01_rb,6.4569e+01_rb,4.3231e+01_rb,2.1949e+01_rb,2.0415e+00_rb/) kbo(:, 1,16, 9) = (/ & &1.6702e+01_rb,1.2688e+01_rb,8.9156e+00_rb,5.6745e+00_rb,2.1884e+00_rb/) kbo(:, 2,16, 9) = (/ & &2.4341e+01_rb,1.8405e+01_rb,1.2602e+01_rb,7.2943e+00_rb,2.1658e+00_rb/) kbo(:, 3,16, 9) = (/ & &3.3812e+01_rb,2.5504e+01_rb,1.7253e+01_rb,9.4143e+00_rb,2.1418e+00_rb/) kbo(:, 4,16, 9) = (/ & &4.5185e+01_rb,3.4031e+01_rb,2.2894e+01_rb,1.2063e+01_rb,2.1149e+00_rb/) kbo(:, 5,16, 9) = (/ & &5.8502e+01_rb,4.4016e+01_rb,2.9536e+01_rb,1.5253e+01_rb,2.0863e+00_rb/) kbo(:, 1,17, 9) = (/ & &1.1824e+01_rb,9.0729e+00_rb,6.6968e+00_rb,4.8304e+00_rb,2.1968e+00_rb/) kbo(:, 2,17, 9) = (/ & &1.7172e+01_rb,1.3045e+01_rb,9.1828e+00_rb,5.8938e+00_rb,2.1784e+00_rb/) kbo(:, 3,17, 9) = (/ & &2.3815e+01_rb,1.8013e+01_rb,1.2370e+01_rb,7.2830e+00_rb,2.1580e+00_rb/) kbo(:, 4,17, 9) = (/ & &3.1829e+01_rb,2.4018e+01_rb,1.6287e+01_rb,9.0400e+00_rb,2.1352e+00_rb/) kbo(:, 5,17, 9) = (/ & &4.1298e+01_rb,3.1117e+01_rb,2.0970e+01_rb,1.1193e+01_rb,2.1100e+00_rb/) kbo(:, 1,18, 9) = (/ & &8.5582e+00_rb,6.6960e+00_rb,5.3232e+00_rb,4.2870e+00_rb,2.1819e+00_rb/) kbo(:, 2,18, 9) = (/ & &1.2402e+01_rb,9.5125e+00_rb,7.0290e+00_rb,5.0519e+00_rb,2.1680e+00_rb/) kbo(:, 3,18, 9) = (/ & &1.7200e+01_rb,1.3071e+01_rb,9.2389e+00_rb,6.0101e+00_rb,2.1517e+00_rb/) kbo(:, 4,18, 9) = (/ & &2.3032e+01_rb,1.7428e+01_rb,1.2014e+01_rb,7.2086e+00_rb,2.1334e+00_rb/) kbo(:, 5,18, 9) = (/ & &2.9959e+01_rb,2.2618e+01_rb,1.5385e+01_rb,8.6965e+00_rb,2.1122e+00_rb/) kbo(:, 1,19, 9) = (/ & &6.0876e+00_rb,4.9589e+00_rb,4.3617e+00_rb,3.8537e+00_rb,2.1426e+00_rb/) kbo(:, 2,19, 9) = (/ & &8.8178e+00_rb,6.9019e+00_rb,5.5120e+00_rb,4.4148e+00_rb,2.1341e+00_rb/) kbo(:, 3,19, 9) = (/ & &1.2247e+01_rb,9.4065e+00_rb,7.0194e+00_rb,5.0977e+00_rb,2.1226e+00_rb/) kbo(:, 4,19, 9) = (/ & &1.6435e+01_rb,1.2508e+01_rb,8.9285e+00_rb,5.9346e+00_rb,2.1084e+00_rb/) kbo(:, 5,19, 9) = (/ & &2.1395e+01_rb,1.6206e+01_rb,1.1260e+01_rb,6.9507e+00_rb,2.0906e+00_rb/) kbo(:, 1,20, 9) = (/ & &4.7338e+00_rb,4.0618e+00_rb,3.8673e+00_rb,3.5847e+00_rb,2.0812e+00_rb/) kbo(:, 2,20, 9) = (/ & &6.8571e+00_rb,5.5334e+00_rb,4.7582e+00_rb,4.0685e+00_rb,2.0765e+00_rb/) kbo(:, 3,20, 9) = (/ & &9.5336e+00_rb,7.4447e+00_rb,5.9012e+00_rb,4.6250e+00_rb,2.0694e+00_rb/) kbo(:, 4,20, 9) = (/ & &1.2791e+01_rb,9.8219e+00_rb,7.3358e+00_rb,5.2854e+00_rb,2.0598e+00_rb/) kbo(:, 5,20, 9) = (/ & &1.6650e+01_rb,1.2677e+01_rb,9.0899e+00_rb,6.0678e+00_rb,2.0475e+00_rb/) kbo(:, 1,21, 9) = (/ & &3.8172e+00_rb,3.4906e+00_rb,3.5314e+00_rb,3.3393e+00_rb,1.9987e+00_rb/) kbo(:, 2,21, 9) = (/ & &5.5293e+00_rb,4.6505e+00_rb,4.2636e+00_rb,3.7764e+00_rb,1.9988e+00_rb/) kbo(:, 3,21, 9) = (/ & &7.6789e+00_rb,6.1523e+00_rb,5.1831e+00_rb,4.2770e+00_rb,1.9964e+00_rb/) kbo(:, 4,21, 9) = (/ & &1.0301e+01_rb,8.0282e+00_rb,6.3179e+00_rb,4.8454e+00_rb,1.9916e+00_rb/) kbo(:, 5,21, 9) = (/ & &1.3413e+01_rb,1.0296e+01_rb,7.6922e+00_rb,5.4909e+00_rb,1.9849e+00_rb/) kbo(:, 1,22, 9) = (/ & &3.2538e+00_rb,3.1636e+00_rb,3.3083e+00_rb,3.1336e+00_rb,1.8994e+00_rb/) kbo(:, 2,22, 9) = (/ & &4.6904e+00_rb,4.1275e+00_rb,3.9601e+00_rb,3.5392e+00_rb,1.9038e+00_rb/) kbo(:, 3,22, 9) = (/ & &6.4936e+00_rb,5.3647e+00_rb,4.7415e+00_rb,4.0033e+00_rb,1.9062e+00_rb/) kbo(:, 4,22, 9) = (/ & &8.6858e+00_rb,6.9049e+00_rb,5.6919e+00_rb,4.5273e+00_rb,1.9068e+00_rb/) kbo(:, 5,22, 9) = (/ & &1.1287e+01_rb,8.7705e+00_rb,6.8305e+00_rb,5.1089e+00_rb,1.9070e+00_rb/) kbo(:, 1,23, 9) = (/ & &2.7990e+00_rb,2.9004e+00_rb,3.0888e+00_rb,2.9221e+00_rb,1.7866e+00_rb/) kbo(:, 2,23, 9) = (/ & &4.0164e+00_rb,3.7193e+00_rb,3.6884e+00_rb,3.3009e+00_rb,1.7963e+00_rb/) kbo(:, 3,23, 9) = (/ & &5.5385e+00_rb,4.7530e+00_rb,4.3835e+00_rb,3.7336e+00_rb,1.8046e+00_rb/) kbo(:, 4,23, 9) = (/ & &7.3874e+00_rb,6.0323e+00_rb,5.1957e+00_rb,4.2187e+00_rb,1.8111e+00_rb/) kbo(:, 5,23, 9) = (/ & &9.5697e+00_rb,7.5707e+00_rb,6.1486e+00_rb,4.7536e+00_rb,1.8191e+00_rb/) kbo(:, 1,24, 9) = (/ & &2.4093e+00_rb,2.6666e+00_rb,2.8613e+00_rb,2.7031e+00_rb,1.6662e+00_rb/) kbo(:, 2,24, 9) = (/ & &3.4388e+00_rb,3.3672e+00_rb,3.4097e+00_rb,3.0567e+00_rb,1.6812e+00_rb/) kbo(:, 3,24, 9) = (/ & &4.7196e+00_rb,4.2384e+00_rb,4.0418e+00_rb,3.4577e+00_rb,1.6956e+00_rb/) kbo(:, 4,24, 9) = (/ & &6.2610e+00_rb,5.2923e+00_rb,4.7542e+00_rb,3.9053e+00_rb,1.7103e+00_rb/) kbo(:, 5,24, 9) = (/ & &8.0725e+00_rb,6.5459e+00_rb,5.5528e+00_rb,4.3943e+00_rb,1.7280e+00_rb/) kbo(:, 1,25, 9) = (/ & &2.1093e+00_rb,2.4777e+00_rb,2.6576e+00_rb,2.5025e+00_rb,1.5428e+00_rb/) kbo(:, 2,25, 9) = (/ & &2.9902e+00_rb,3.0964e+00_rb,3.1653e+00_rb,2.8347e+00_rb,1.5643e+00_rb/) kbo(:, 3,25, 9) = (/ & &4.0768e+00_rb,3.8394e+00_rb,3.7463e+00_rb,3.2106e+00_rb,1.5865e+00_rb/) kbo(:, 4,25, 9) = (/ & &5.3785e+00_rb,4.7237e+00_rb,4.3881e+00_rb,3.6281e+00_rb,1.6115e+00_rb/) kbo(:, 5,25, 9) = (/ & &6.9128e+00_rb,5.7727e+00_rb,5.0863e+00_rb,4.0788e+00_rb,1.6376e+00_rb/) kbo(:, 1,26, 9) = (/ & &1.8856e+00_rb,2.3262e+00_rb,2.4875e+00_rb,2.3287e+00_rb,1.4224e+00_rb/) kbo(:, 2,26, 9) = (/ & &2.6493e+00_rb,2.8890e+00_rb,2.9641e+00_rb,2.6458e+00_rb,1.4515e+00_rb/) kbo(:, 3,26, 9) = (/ & &3.5871e+00_rb,3.5368e+00_rb,3.5013e+00_rb,3.0021e+00_rb,1.4824e+00_rb/) kbo(:, 4,26, 9) = (/ & &4.7140e+00_rb,4.3024e+00_rb,4.0862e+00_rb,3.3950e+00_rb,1.5166e+00_rb/) kbo(:, 5,26, 9) = (/ & &6.0446e+00_rb,5.2045e+00_rb,4.7238e+00_rb,3.8145e+00_rb,1.5518e+00_rb/) kbo(:, 1,27, 9) = (/ & &1.7455e+00_rb,2.2279e+00_rb,2.3691e+00_rb,2.1938e+00_rb,1.3093e+00_rb/) kbo(:, 2,27, 9) = (/ & &2.4331e+00_rb,2.7544e+00_rb,2.8270e+00_rb,2.5043e+00_rb,1.3459e+00_rb/) kbo(:, 3,27, 9) = (/ & &3.2766e+00_rb,3.3516e+00_rb,3.3333e+00_rb,2.8520e+00_rb,1.3862e+00_rb/) kbo(:, 4,27, 9) = (/ & &4.2923e+00_rb,4.0432e+00_rb,3.8852e+00_rb,3.2303e+00_rb,1.4289e+00_rb/) kbo(:, 5,27, 9) = (/ & &5.4942e+00_rb,4.8565e+00_rb,4.4878e+00_rb,3.6320e+00_rb,1.4726e+00_rb/) kbo(:, 1,28, 9) = (/ & &1.6557e+00_rb,2.1623e+00_rb,2.2857e+00_rb,2.0892e+00_rb,1.2058e+00_rb/) kbo(:, 2,28, 9) = (/ & &2.2924e+00_rb,2.6651e+00_rb,2.7290e+00_rb,2.3996e+00_rb,1.2506e+00_rb/) kbo(:, 3,28, 9) = (/ & &3.0749e+00_rb,3.2332e+00_rb,3.2167e+00_rb,2.7436e+00_rb,1.2996e+00_rb/) kbo(:, 4,28, 9) = (/ & &4.0186e+00_rb,3.8816e+00_rb,3.7505e+00_rb,3.1131e+00_rb,1.3503e+00_rb/) kbo(:, 5,28, 9) = (/ & &5.1433e+00_rb,4.6442e+00_rb,4.3346e+00_rb,3.5087e+00_rb,1.4023e+00_rb/) kbo(:, 1,29, 9) = (/ & &1.6682e+00_rb,2.1786e+00_rb,2.2786e+00_rb,2.0447e+00_rb,1.1144e+00_rb/) kbo(:, 2,29, 9) = (/ & &2.2981e+00_rb,2.6823e+00_rb,2.7239e+00_rb,2.3673e+00_rb,1.1675e+00_rb/) kbo(:, 3,29, 9) = (/ & &3.0738e+00_rb,3.2536e+00_rb,3.2170e+00_rb,2.7185e+00_rb,1.2244e+00_rb/) kbo(:, 4,29, 9) = (/ & &4.0119e+00_rb,3.9041e+00_rb,3.7595e+00_rb,3.0962e+00_rb,1.2824e+00_rb/) kbo(:, 5,29, 9) = (/ & &5.1340e+00_rb,4.6678e+00_rb,4.3550e+00_rb,3.5038e+00_rb,1.3425e+00_rb/) kbo(:, 1,30, 9) = (/ & &1.7221e+00_rb,2.2297e+00_rb,2.3038e+00_rb,2.0342e+00_rb,1.0364e+00_rb/) kbo(:, 2,30, 9) = (/ & &2.3632e+00_rb,2.7462e+00_rb,2.7611e+00_rb,2.3703e+00_rb,1.0967e+00_rb/) kbo(:, 3,30, 9) = (/ & &3.1545e+00_rb,3.3332e+00_rb,3.2697e+00_rb,2.7338e+00_rb,1.1597e+00_rb/) kbo(:, 4,30, 9) = (/ & &4.1176e+00_rb,4.0031e+00_rb,3.8327e+00_rb,3.1282e+00_rb,1.2250e+00_rb/) kbo(:, 5,30, 9) = (/ & &5.2710e+00_rb,4.7910e+00_rb,4.4538e+00_rb,3.5548e+00_rb,1.2942e+00_rb/) kbo(:, 1,31, 9) = (/ & &1.8733e+00_rb,2.3643e+00_rb,2.4037e+00_rb,2.0831e+00_rb,9.7071e-01_rb/) kbo(:, 2,31, 9) = (/ & &2.5621e+00_rb,2.9163e+00_rb,2.8917e+00_rb,2.4413e+00_rb,1.0371e+00_rb/) kbo(:, 3,31, 9) = (/ & &3.4185e+00_rb,3.5458e+00_rb,3.4392e+00_rb,2.8321e+00_rb,1.1068e+00_rb/) kbo(:, 4,31, 9) = (/ & &4.4630e+00_rb,4.2725e+00_rb,4.0472e+00_rb,3.2583e+00_rb,1.1813e+00_rb/) kbo(:, 5,31, 9) = (/ & &5.7201e+00_rb,5.1339e+00_rb,4.7206e+00_rb,3.7217e+00_rb,1.2572e+00_rb/) kbo(:, 1,32, 9) = (/ & &2.0653e+00_rb,2.5337e+00_rb,2.5386e+00_rb,2.1600e+00_rb,9.1680e-01_rb/) kbo(:, 2,32, 9) = (/ & &2.8216e+00_rb,3.1306e+00_rb,3.0669e+00_rb,2.5463e+00_rb,9.8936e-01_rb/) kbo(:, 3,32, 9) = (/ & &3.7648e+00_rb,3.8151e+00_rb,3.6619e+00_rb,2.9702e+00_rb,1.0685e+00_rb/) kbo(:, 4,32, 9) = (/ & &4.9201e+00_rb,4.6180e+00_rb,4.3259e+00_rb,3.4358e+00_rb,1.1502e+00_rb/) kbo(:, 5,32, 9) = (/ & &6.3088e+00_rb,5.5739e+00_rb,5.0619e+00_rb,3.9444e+00_rb,1.2333e+00_rb/) kbo(:, 1,33, 9) = (/ & &2.3272e+00_rb,2.7583e+00_rb,2.7254e+00_rb,2.2760e+00_rb,8.7514e-01_rb/) kbo(:, 2,33, 9) = (/ & &3.1779e+00_rb,3.4161e+00_rb,3.3066e+00_rb,2.6982e+00_rb,9.5639e-01_rb/) kbo(:, 3,33, 9) = (/ & &4.2411e+00_rb,4.1786e+00_rb,3.9626e+00_rb,3.1651e+00_rb,1.0431e+00_rb/) kbo(:, 4,33, 9) = (/ & &5.5462e+00_rb,5.0836e+00_rb,4.6978e+00_rb,3.6805e+00_rb,1.1309e+00_rb/) kbo(:, 5,33, 9) = (/ & &7.1174e+00_rb,6.1675e+00_rb,5.5124e+00_rb,4.2455e+00_rb,1.2216e+00_rb/) kbo(:, 1,34, 9) = (/ & &2.5377e+00_rb,2.9389e+00_rb,2.8782e+00_rb,2.3730e+00_rb,8.4364e-01_rb/) kbo(:, 2,34, 9) = (/ & &3.4681e+00_rb,3.6495e+00_rb,3.5041e+00_rb,2.8278e+00_rb,9.3211e-01_rb/) kbo(:, 3,34, 9) = (/ & &4.6355e+00_rb,4.4791e+00_rb,4.2141e+00_rb,3.3332e+00_rb,1.0240e+00_rb/) kbo(:, 4,34, 9) = (/ & &6.0678e+00_rb,5.4727e+00_rb,5.0128e+00_rb,3.8930e+00_rb,1.1193e+00_rb/) kbo(:, 5,34, 9) = (/ & &7.8056e+00_rb,6.6744e+00_rb,5.8925e+00_rb,4.5074e+00_rb,1.2154e+00_rb/) kbo(:, 1,35, 9) = (/ & &2.6973e+00_rb,3.0775e+00_rb,2.9953e+00_rb,2.4483e+00_rb,8.1381e-01_rb/) kbo(:, 2,35, 9) = (/ & &3.6991e+00_rb,3.8360e+00_rb,3.6636e+00_rb,2.9345e+00_rb,9.0760e-01_rb/) kbo(:, 3,35, 9) = (/ & &4.9601e+00_rb,4.7300e+00_rb,4.4278e+00_rb,3.4777e+00_rb,1.0051e+00_rb/) kbo(:, 4,35, 9) = (/ & &6.5186e+00_rb,5.8127e+00_rb,5.2832e+00_rb,4.0814e+00_rb,1.1048e+00_rb/) kbo(:, 5,35, 9) = (/ & &8.4126e+00_rb,7.1259e+00_rb,6.2273e+00_rb,4.7423e+00_rb,1.2066e+00_rb/) kbo(:, 1,36, 9) = (/ & &2.7598e+00_rb,3.1389e+00_rb,3.0464e+00_rb,2.4794e+00_rb,7.8185e-01_rb/) kbo(:, 2,36, 9) = (/ & &3.8096e+00_rb,3.9341e+00_rb,3.7503e+00_rb,2.9909e+00_rb,8.7896e-01_rb/) kbo(:, 3,36, 9) = (/ & &5.1379e+00_rb,4.8766e+00_rb,4.5549e+00_rb,3.5652e+00_rb,9.8107e-01_rb/) kbo(:, 4,36, 9) = (/ & &6.7937e+00_rb,6.0302e+00_rb,5.4578e+00_rb,4.2069e+00_rb,1.0852e+00_rb/) kbo(:, 5,36, 9) = (/ & &8.8141e+00_rb,7.4326e+00_rb,6.4589e+00_rb,4.9083e+00_rb,1.1912e+00_rb/) kbo(:, 1,37, 9) = (/ & &2.6230e+00_rb,3.0408e+00_rb,2.9596e+00_rb,2.4124e+00_rb,7.3962e-01_rb/) kbo(:, 2,37, 9) = (/ & &3.6580e+00_rb,3.8393e+00_rb,3.6702e+00_rb,2.9331e+00_rb,8.3992e-01_rb/) kbo(:, 3,37, 9) = (/ & &4.9824e+00_rb,4.7866e+00_rb,4.4878e+00_rb,3.5210e+00_rb,9.4491e-01_rb/) kbo(:, 4,37, 9) = (/ & &6.6454e+00_rb,5.9484e+00_rb,5.4110e+00_rb,4.1812e+00_rb,1.0538e+00_rb/) kbo(:, 5,37, 9) = (/ & &8.6934e+00_rb,7.3704e+00_rb,6.4379e+00_rb,4.9067e+00_rb,1.1625e+00_rb/) kbo(:, 1,38, 9) = (/ & &2.5251e+00_rb,2.9721e+00_rb,2.8975e+00_rb,2.3630e+00_rb,7.0093e-01_rb/) kbo(:, 2,38, 9) = (/ & &3.5600e+00_rb,3.7826e+00_rb,3.6219e+00_rb,2.8967e+00_rb,8.0383e-01_rb/) kbo(:, 3,38, 9) = (/ & &4.9004e+00_rb,4.7489e+00_rb,4.4611e+00_rb,3.5032e+00_rb,9.1176e-01_rb/) kbo(:, 4,38, 9) = (/ & &6.5939e+00_rb,5.9343e+00_rb,5.4149e+00_rb,4.1893e+00_rb,1.0245e+00_rb/) kbo(:, 5,38, 9) = (/ & &8.7067e+00_rb,7.4030e+00_rb,6.4798e+00_rb,4.9449e+00_rb,1.1358e+00_rb/) kbo(:, 1,39, 9) = (/ & &2.4904e+00_rb,2.9537e+00_rb,2.8793e+00_rb,2.3443e+00_rb,6.6673e-01_rb/) kbo(:, 2,39, 9) = (/ & &3.5509e+00_rb,3.7917e+00_rb,3.6298e+00_rb,2.8981e+00_rb,7.7181e-01_rb/) kbo(:, 3,39, 9) = (/ & &4.9392e+00_rb,4.7973e+00_rb,4.5055e+00_rb,3.5337e+00_rb,8.8209e-01_rb/) kbo(:, 4,39, 9) = (/ & &6.7119e+00_rb,6.0406e+00_rb,5.5079e+00_rb,4.2551e+00_rb,9.9828e-01_rb/) kbo(:, 5,39, 9) = (/ & &8.9447e+00_rb,7.5957e+00_rb,6.6321e+00_rb,5.0544e+00_rb,1.1121e+00_rb/) kbo(:, 1,40, 9) = (/ & &2.2209e+00_rb,2.7364e+00_rb,2.6885e+00_rb,2.2038e+00_rb,6.2428e-01_rb/) kbo(:, 2,40, 9) = (/ & &3.2135e+00_rb,3.5469e+00_rb,3.4206e+00_rb,2.7501e+00_rb,7.3025e-01_rb/) kbo(:, 3,40, 9) = (/ & &4.5302e+00_rb,4.5210e+00_rb,4.2832e+00_rb,3.3810e+00_rb,8.4222e-01_rb/) kbo(:, 4,40, 9) = (/ & &6.2335e+00_rb,5.7214e+00_rb,5.2769e+00_rb,4.1014e+00_rb,9.6000e-01_rb/) kbo(:, 5,40, 9) = (/ & &8.4037e+00_rb,7.2349e+00_rb,6.3985e+00_rb,4.9070e+00_rb,1.0766e+00_rb/) kbo(:, 1,41, 9) = (/ & &1.9647e+00_rb,2.5201e+00_rb,2.4974e+00_rb,2.0614e+00_rb,5.8325e-01_rb/) kbo(:, 2,41, 9) = (/ & &2.8852e+00_rb,3.2999e+00_rb,3.2081e+00_rb,2.5978e+00_rb,6.8959e-01_rb/) kbo(:, 3,41, 9) = (/ & &4.1243e+00_rb,4.2421e+00_rb,4.0540e+00_rb,3.2221e+00_rb,8.0263e-01_rb/) kbo(:, 4,41, 9) = (/ & &5.7517e+00_rb,5.3978e+00_rb,5.0364e+00_rb,3.9392e+00_rb,9.2181e-01_rb/) kbo(:, 5,41, 9) = (/ & &7.8523e+00_rb,6.8657e+00_rb,6.1521e+00_rb,4.7480e+00_rb,1.0405e+00_rb/) kbo(:, 1,42, 9) = (/ & &1.7512e+00_rb,2.3349e+00_rb,2.3318e+00_rb,1.9366e+00_rb,5.4463e-01_rb/) kbo(:, 2,42, 9) = (/ & &2.6144e+00_rb,3.0905e+00_rb,3.0258e+00_rb,2.4663e+00_rb,6.5106e-01_rb/) kbo(:, 3,42, 9) = (/ & &3.7920e+00_rb,4.0117e+00_rb,3.8605e+00_rb,3.0859e+00_rb,7.6489e-01_rb/) kbo(:, 4,42, 9) = (/ & &5.3603e+00_rb,5.1368e+00_rb,4.8392e+00_rb,3.8039e+00_rb,8.8471e-01_rb/) kbo(:, 5,42, 9) = (/ & &7.4143e+00_rb,6.5758e+00_rb,5.9582e+00_rb,4.6208e+00_rb,1.0054e+00_rb/) kbo(:, 1,43, 9) = (/ & &1.5310e+00_rb,2.1360e+00_rb,2.1508e+00_rb,1.7978e+00_rb,5.0265e-01_rb/) kbo(:, 2,43, 9) = (/ & &2.3335e+00_rb,2.8636e+00_rb,2.8240e+00_rb,2.3172e+00_rb,6.0791e-01_rb/) kbo(:, 3,43, 9) = (/ & &3.4398e+00_rb,3.7600e+00_rb,3.6428e+00_rb,2.9301e+00_rb,7.2170e-01_rb/) kbo(:, 4,43, 9) = (/ & &4.9392e+00_rb,4.8535e+00_rb,4.6142e+00_rb,3.6458e+00_rb,8.4218e-01_rb/) kbo(:, 5,43, 9) = (/ & &6.9338e+00_rb,6.2557e+00_rb,5.7358e+00_rb,4.4687e+00_rb,9.6366e-01_rb/) kbo(:, 1,44, 9) = (/ & &1.3351e+00_rb,1.9503e+00_rb,1.9789e+00_rb,1.6632e+00_rb,4.6023e-01_rb/) kbo(:, 2,44, 9) = (/ & &2.0772e+00_rb,2.6507e+00_rb,2.6321e+00_rb,2.1724e+00_rb,5.6381e-01_rb/) kbo(:, 3,44, 9) = (/ & &3.1248e+00_rb,3.5269e+00_rb,3.4366e+00_rb,2.7797e+00_rb,6.7693e-01_rb/) kbo(:, 4,44, 9) = (/ & &4.5611e+00_rb,4.5989e+00_rb,4.4033e+00_rb,3.4949e+00_rb,7.9737e-01_rb/) kbo(:, 5,44, 9) = (/ & &6.5042e+00_rb,5.9719e+00_rb,5.5317e+00_rb,4.3254e+00_rb,9.1937e-01_rb/) kbo(:, 1,45, 9) = (/ & &1.1794e+00_rb,1.7969e+00_rb,1.8343e+00_rb,1.5476e+00_rb,4.2007e-01_rb/) kbo(:, 2,45, 9) = (/ & &1.8762e+00_rb,2.4795e+00_rb,2.4742e+00_rb,2.0501e+00_rb,5.2163e-01_rb/) kbo(:, 3,45, 9) = (/ & &2.8809e+00_rb,3.3442e+00_rb,3.2721e+00_rb,2.6566e+00_rb,6.3409e-01_rb/) kbo(:, 4,45, 9) = (/ & &4.2825e+00_rb,4.4131e+00_rb,4.2443e+00_rb,3.3788e+00_rb,7.5354e-01_rb/) kbo(:, 5,45, 9) = (/ & &6.2077e+00_rb,5.7830e+00_rb,5.3934e+00_rb,4.2249e+00_rb,8.7651e-01_rb/) kbo(:, 1,46, 9) = (/ & &1.0327e+00_rb,1.6453e+00_rb,1.6900e+00_rb,1.4307e+00_rb,3.8001e-01_rb/) kbo(:, 2,46, 9) = (/ & &1.6840e+00_rb,2.3071e+00_rb,2.3154e+00_rb,1.9251e+00_rb,4.7892e-01_rb/) kbo(:, 3,46, 9) = (/ & &2.6449e+00_rb,3.1623e+00_rb,3.1054e+00_rb,2.5294e+00_rb,5.8968e-01_rb/) kbo(:, 4,46, 9) = (/ & &4.0149e+00_rb,4.2299e+00_rb,4.0828e+00_rb,3.2577e+00_rb,7.0805e-01_rb/) kbo(:, 5,46, 9) = (/ & &5.9211e+00_rb,5.5984e+00_rb,5.2528e+00_rb,4.1223e+00_rb,8.3110e-01_rb/) kbo(:, 1,47, 9) = (/ & &8.6791e-01_rb,1.4650e+00_rb,1.5175e+00_rb,1.2909e+00_rb,3.3829e-01_rb/) kbo(:, 2,47, 9) = (/ & &1.4548e+00_rb,2.0919e+00_rb,2.1155e+00_rb,1.7684e+00_rb,4.3374e-01_rb/) kbo(:, 3,47, 9) = (/ & &2.3437e+00_rb,2.9171e+00_rb,2.8820e+00_rb,2.3592e+00_rb,5.4146e-01_rb/) kbo(:, 4,47, 9) = (/ & &3.6410e+00_rb,3.9658e+00_rb,3.8455e+00_rb,3.0807e+00_rb,6.5808e-01_rb/) kbo(:, 5,47, 9) = (/ & &5.4757e+00_rb,5.2982e+00_rb,5.0168e+00_rb,3.9488e+00_rb,7.8042e-01_rb/) kbo(:, 1,48, 9) = (/ & &7.4197e-01_rb,1.3175e+00_rb,1.3727e+00_rb,1.1710e+00_rb,2.9912e-01_rb/) kbo(:, 2,48, 9) = (/ & &1.2795e+00_rb,1.9175e+00_rb,1.9504e+00_rb,1.6359e+00_rb,3.9088e-01_rb/) kbo(:, 3,48, 9) = (/ & &2.1163e+00_rb,2.7243e+00_rb,2.7026e+00_rb,2.2191e+00_rb,4.9535e-01_rb/) kbo(:, 4,48, 9) = (/ & &3.3685e+00_rb,3.7692e+00_rb,3.6648e+00_rb,2.9415e+00_rb,6.0991e-01_rb/) kbo(:, 5,48, 9) = (/ & &5.1784e+00_rb,5.1043e+00_rb,4.8553e+00_rb,3.8227e+00_rb,7.3131e-01_rb/) kbo(:, 1,49, 9) = (/ & &6.5229e-01_rb,1.2051e+00_rb,1.2591e+00_rb,1.0738e+00_rb,2.6269e-01_rb/) kbo(:, 2,49, 9) = (/ & &1.1591e+00_rb,1.7908e+00_rb,1.8269e+00_rb,1.5329e+00_rb,3.5032e-01_rb/) kbo(:, 3,49, 9) = (/ & &1.9719e+00_rb,2.5959e+00_rb,2.5784e+00_rb,2.1177e+00_rb,4.5127e-01_rb/) kbo(:, 4,49, 9) = (/ & &3.2176e+00_rb,3.6617e+00_rb,3.5592e+00_rb,2.8538e+00_rb,5.6309e-01_rb/) kbo(:, 5,49, 9) = (/ & &5.0660e+00_rb,5.0444e+00_rb,4.7964e+00_rb,3.7669e+00_rb,6.8298e-01_rb/) kbo(:, 1,50, 9) = (/ & &5.4718e-01_rb,1.0700e+00_rb,1.1242e+00_rb,9.6269e-01_rb,2.3041e-01_rb/) kbo(:, 2,50, 9) = (/ & &1.0029e+00_rb,1.6230e+00_rb,1.6660e+00_rb,1.4048e+00_rb,3.1350e-01_rb/) kbo(:, 3,50, 9) = (/ & &1.7557e+00_rb,2.3977e+00_rb,2.3952e+00_rb,1.9754e+00_rb,4.1052e-01_rb/) kbo(:, 4,50, 9) = (/ & &2.9398e+00_rb,3.4467e+00_rb,3.3608e+00_rb,2.7053e+00_rb,5.1916e-01_rb/) kbo(:, 5,50, 9) = (/ & &4.7374e+00_rb,4.8217e+00_rb,4.6033e+00_rb,3.6228e+00_rb,6.3755e-01_rb/) kbo(:, 1,51, 9) = (/ & &4.4659e-01_rb,9.3305e-01_rb,9.8713e-01_rb,8.5042e-01_rb,2.0131e-01_rb/) kbo(:, 2,51, 9) = (/ & &8.4503e-01_rb,1.4458e+00_rb,1.4962e+00_rb,1.2698e+00_rb,2.7950e-01_rb/) kbo(:, 3,51, 9) = (/ & &1.5227e+00_rb,2.1776e+00_rb,2.1908e+00_rb,1.8185e+00_rb,3.7211e-01_rb/) kbo(:, 4,51, 9) = (/ & &2.6197e+00_rb,3.1878e+00_rb,3.1271e+00_rb,2.5305e+00_rb,4.7775e-01_rb/) kbo(:, 5,51, 9) = (/ & &4.3246e+00_rb,4.5333e+00_rb,4.3504e+00_rb,3.4392e+00_rb,5.9331e-01_rb/) kbo(:, 1,52, 9) = (/ & &3.7000e-01_rb,8.2088e-01_rb,8.7232e-01_rb,7.5398e-01_rb,1.7473e-01_rb/) kbo(:, 2,52, 9) = (/ & &7.2411e-01_rb,1.3013e+00_rb,1.3548e+00_rb,1.1545e+00_rb,2.4775e-01_rb/) kbo(:, 3,52, 9) = (/ & &1.3455e+00_rb,2.0001e+00_rb,2.0236e+00_rb,1.6871e+00_rb,3.3555e-01_rb/) kbo(:, 4,52, 9) = (/ & &2.3815e+00_rb,2.9886e+00_rb,2.9408e+00_rb,2.3888e+00_rb,4.3798e-01_rb/) kbo(:, 5,52, 9) = (/ & &4.0315e+00_rb,4.3264e+00_rb,4.1654e+00_rb,3.2990e+00_rb,5.5079e-01_rb/) kbo(:, 1,53, 9) = (/ & &3.1522e-01_rb,7.3236e-01_rb,7.7935e-01_rb,6.7369e-01_rb,1.5034e-01_rb/) kbo(:, 2,53, 9) = (/ & &6.3787e-01_rb,1.1908e+00_rb,1.2433e+00_rb,1.0610e+00_rb,2.1835e-01_rb/) kbo(:, 3,53, 9) = (/ & &1.2250e+00_rb,1.8717e+00_rb,1.8985e+00_rb,1.5852e+00_rb,3.0124e-01_rb/) kbo(:, 4,53, 9) = (/ & &2.2328e+00_rb,2.8593e+00_rb,2.8149e+00_rb,2.2876e+00_rb,3.9993e-01_rb/) kbo(:, 5,53, 9) = (/ & &3.8806e+00_rb,4.2255e+00_rb,4.0654e+00_rb,3.2164e+00_rb,5.0965e-01_rb/) kbo(:, 1,54, 9) = (/ & &2.3422e-01_rb,6.0076e-01_rb,6.4671e-01_rb,5.6503e-01_rb,1.2928e-01_rb/) kbo(:, 2,54, 9) = (/ & &4.9005e-01_rb,1.0010e+00_rb,1.0587e+00_rb,9.1460e-01_rb,1.9217e-01_rb/) kbo(:, 3,54, 9) = (/ & &9.7166e-01_rb,1.6014e+00_rb,1.6473e+00_rb,1.3943e+00_rb,2.7068e-01_rb/) kbo(:, 4,54, 9) = (/ & &1.8237e+00_rb,2.4909e+00_rb,2.4828e+00_rb,2.0443e+00_rb,3.6438e-01_rb/) kbo(:, 5,54, 9) = (/ & &3.2575e+00_rb,3.7456e+00_rb,3.6419e+00_rb,2.9148e+00_rb,4.7112e-01_rb/) kbo(:, 1,55, 9) = (/ & &1.5838e-01_rb,4.6639e-01_rb,5.1049e-01_rb,4.5411e-01_rb,1.1083e-01_rb/) kbo(:, 2,55, 9) = (/ & &3.4306e-01_rb,7.9590e-01_rb,8.5878e-01_rb,7.5589e-01_rb,1.6856e-01_rb/) kbo(:, 3,55, 9) = (/ & &7.0266e-01_rb,1.2949e+00_rb,1.3605e+00_rb,1.1760e+00_rb,2.4233e-01_rb/) kbo(:, 4,55, 9) = (/ & &1.3593e+00_rb,2.0439e+00_rb,2.0790e+00_rb,1.7490e+00_rb,3.3108e-01_rb/) kbo(:, 5,55, 9) = (/ & &2.4959e+00_rb,3.1221e+00_rb,3.0894e+00_rb,2.5235e+00_rb,4.3367e-01_rb/) kbo(:, 1,56, 9) = (/ & &1.0564e-01_rb,3.5968e-01_rb,4.0062e-01_rb,3.6250e-01_rb,9.4093e-02_rb/) kbo(:, 2,56, 9) = (/ & &2.3778e-01_rb,6.3076e-01_rb,6.9353e-01_rb,6.2192e-01_rb,1.4691e-01_rb/) kbo(:, 3,56, 9) = (/ & &5.0289e-01_rb,1.0440e+00_rb,1.1212e+00_rb,9.8957e-01_rb,2.1564e-01_rb/) kbo(:, 4,56, 9) = (/ & &1.0047e+00_rb,1.6731e+00_rb,1.7388e+00_rb,1.4948e+00_rb,2.9947e-01_rb/) kbo(:, 5,56, 9) = (/ & &1.8976e+00_rb,2.5969e+00_rb,2.6179e+00_rb,2.1832e+00_rb,3.9803e-01_rb/) kbo(:, 1,57, 9) = (/ & &6.9404e-02_rb,2.7490e-01_rb,3.1190e-01_rb,2.8693e-01_rb,7.9174e-02_rb/) kbo(:, 2,57, 9) = (/ & &1.6275e-01_rb,4.9714e-01_rb,5.5717e-01_rb,5.0875e-01_rb,1.2713e-01_rb/) kbo(:, 3,57, 9) = (/ & &3.5620e-01_rb,8.3998e-01_rb,9.2115e-01_rb,8.2990e-01_rb,1.9063e-01_rb/) kbo(:, 4,57, 9) = (/ & &7.3515e-01_rb,1.3656e+00_rb,1.4515e+00_rb,1.2750e+00_rb,2.6981e-01_rb/) kbo(:, 5,57, 9) = (/ & &1.4305e+00_rb,2.1547e+00_rb,2.2152e+00_rb,1.8869e+00_rb,3.6361e-01_rb/) kbo(:, 1,58, 9) = (/ & &1.2018e-02_rb,6.8819e-02_rb,1.0253e-01_rb,1.3454e-01_rb,6.6409e-02_rb/) kbo(:, 2,58, 9) = (/ & &2.9376e-02_rb,1.2869e-01_rb,1.8932e-01_rb,2.4688e-01_rb,1.0988e-01_rb/) kbo(:, 3,58, 9) = (/ & &6.6678e-02_rb,2.2200e-01_rb,3.2071e-01_rb,4.1332e-01_rb,1.6852e-01_rb/) kbo(:, 4,58, 9) = (/ & &1.4218e-01_rb,3.6629e-01_rb,5.1309e-01_rb,6.4691e-01_rb,2.4300e-01_rb/) kbo(:, 5,58, 9) = (/ & &2.8506e-01_rb,5.8551e-01_rb,7.9229e-01_rb,9.6816e-01_rb,3.3198e-01_rb/) kbo(:, 1,59, 9) = (/ & &1.0974e-02_rb,7.7674e-02_rb,1.1174e-01_rb,1.3484e-01_rb,6.0877e-02_rb/) kbo(:, 2,59, 9) = (/ & &2.7572e-02_rb,1.4726e-01_rb,2.0947e-01_rb,2.5117e-01_rb,1.0237e-01_rb/) kbo(:, 3,59, 9) = (/ & &6.4218e-02_rb,2.5542e-01_rb,3.5789e-01_rb,4.2487e-01_rb,1.5885e-01_rb/) kbo(:, 4,59, 9) = (/ & &1.3998e-01_rb,4.2159e-01_rb,5.7382e-01_rb,6.6846e-01_rb,2.3069e-01_rb/) kbo(:, 5,59, 9) = (/ & &2.8653e-01_rb,6.7350e-01_rb,8.8507e-01_rb,9.9974e-01_rb,3.1701e-01_rb/) kbo(:, 1,13,10) = (/ & &3.0887e+02_rb,2.3182e+02_rb,1.5477e+02_rb,7.7734e+01_rb,3.2340e+00_rb/) kbo(:, 2,13,10) = (/ & &4.5010e+02_rb,3.3773e+02_rb,2.2537e+02_rb,1.1301e+02_rb,3.1679e+00_rb/) kbo(:, 3,13,10) = (/ & &6.1970e+02_rb,4.6492e+02_rb,3.1014e+02_rb,1.5536e+02_rb,3.1118e+00_rb/) kbo(:, 4,13,10) = (/ & &8.1413e+02_rb,6.1074e+02_rb,4.0734e+02_rb,2.0395e+02_rb,3.0351e+00_rb/) kbo(:, 5,13,10) = (/ & &1.0345e+03_rb,7.7604e+02_rb,5.1753e+02_rb,2.5903e+02_rb,2.9847e+00_rb/) kbo(:, 1,14,10) = (/ & &1.8722e+02_rb,1.4057e+02_rb,9.3932e+01_rb,4.7308e+01_rb,3.5502e+00_rb/) kbo(:, 2,14,10) = (/ & &2.7007e+02_rb,2.0269e+02_rb,1.3533e+02_rb,6.7970e+01_rb,3.4874e+00_rb/) kbo(:, 3,14,10) = (/ & &3.6889e+02_rb,2.7681e+02_rb,1.8473e+02_rb,9.2654e+01_rb,3.4323e+00_rb/) kbo(:, 4,14,10) = (/ & &4.8380e+02_rb,3.6298e+02_rb,2.4217e+02_rb,1.2136e+02_rb,3.3766e+00_rb/) kbo(:, 5,14,10) = (/ & &6.1384e+02_rb,4.6051e+02_rb,3.0717e+02_rb,1.5385e+02_rb,3.3022e+00_rb/) kbo(:, 1,15,10) = (/ & &1.1327e+02_rb,8.5100e+01_rb,5.6942e+01_rb,2.8827e+01_rb,3.8722e+00_rb/) kbo(:, 2,15,10) = (/ & &1.6194e+02_rb,1.2160e+02_rb,8.1262e+01_rb,4.0948e+01_rb,3.8151e+00_rb/) kbo(:, 3,15,10) = (/ & &2.2047e+02_rb,1.6549e+02_rb,1.1051e+02_rb,5.5552e+01_rb,3.7597e+00_rb/) kbo(:, 4,15,10) = (/ & &2.8853e+02_rb,2.1653e+02_rb,1.4453e+02_rb,7.2538e+01_rb,3.6967e+00_rb/) kbo(:, 5,15,10) = (/ & &3.6531e+02_rb,2.7411e+02_rb,1.8291e+02_rb,9.1708e+01_rb,3.6313e+00_rb/) kbo(:, 1,16,10) = (/ & &8.0065e+01_rb,6.0189e+01_rb,4.0328e+01_rb,2.0552e+01_rb,4.2109e+00_rb/) kbo(:, 2,16,10) = (/ & &1.1401e+02_rb,8.5639e+01_rb,5.7279e+01_rb,2.8971e+01_rb,4.1507e+00_rb/) kbo(:, 3,16,10) = (/ & &1.5472e+02_rb,1.1617e+02_rb,7.7619e+01_rb,3.9099e+01_rb,4.0906e+00_rb/) kbo(:, 4,16,10) = (/ & &2.0197e+02_rb,1.5160e+02_rb,1.0123e+02_rb,5.0878e+01_rb,4.0252e+00_rb/) kbo(:, 5,16,10) = (/ & &2.5492e+02_rb,1.9130e+02_rb,1.2769e+02_rb,6.4095e+01_rb,3.9532e+00_rb/) kbo(:, 1,17,10) = (/ & &5.7968e+01_rb,4.3609e+01_rb,2.9277e+01_rb,1.5223e+01_rb,4.5287e+00_rb/) kbo(:, 2,17,10) = (/ & &8.2190e+01_rb,6.1765e+01_rb,4.1354e+01_rb,2.1049e+01_rb,4.4713e+00_rb/) kbo(:, 3,17,10) = (/ & &1.1116e+02_rb,8.3481e+01_rb,5.5816e+01_rb,2.8216e+01_rb,4.4079e+00_rb/) kbo(:, 4,17,10) = (/ & &1.4447e+02_rb,1.0846e+02_rb,7.2459e+01_rb,3.6495e+01_rb,4.3339e+00_rb/) kbo(:, 5,17,10) = (/ & &1.8168e+02_rb,1.3637e+02_rb,9.1060e+01_rb,4.5781e+01_rb,4.2592e+00_rb/) kbo(:, 1,18,10) = (/ & &4.2612e+01_rb,3.2081e+01_rb,2.1612e+01_rb,1.2271e+01_rb,4.8071e+00_rb/) kbo(:, 2,18,10) = (/ & &6.0147e+01_rb,4.5223e+01_rb,3.0329e+01_rb,1.5934e+01_rb,4.7499e+00_rb/) kbo(:, 3,18,10) = (/ & &8.0941e+01_rb,6.0812e+01_rb,4.0702e+01_rb,2.0761e+01_rb,4.6797e+00_rb/) kbo(:, 4,18,10) = (/ & &1.0473e+02_rb,7.8652e+01_rb,5.2586e+01_rb,2.6600e+01_rb,4.6080e+00_rb/) kbo(:, 5,18,10) = (/ & &1.3143e+02_rb,9.8677e+01_rb,6.5930e+01_rb,3.3232e+01_rb,4.5353e+00_rb/) kbo(:, 1,19,10) = (/ & &3.0448e+01_rb,2.2951e+01_rb,1.5620e+01_rb,1.0168e+01_rb,5.0350e+00_rb/) kbo(:, 2,19,10) = (/ & &4.2741e+01_rb,3.2162e+01_rb,2.1658e+01_rb,1.2576e+01_rb,4.9712e+00_rb/) kbo(:, 3,19,10) = (/ & &5.7239e+01_rb,4.3029e+01_rb,2.8857e+01_rb,1.5561e+01_rb,4.9060e+00_rb/) kbo(:, 4,19,10) = (/ & &7.3990e+01_rb,5.5595e+01_rb,3.7227e+01_rb,1.9263e+01_rb,4.8462e+00_rb/) kbo(:, 5,19,10) = (/ & &9.3283e+01_rb,7.0062e+01_rb,4.6859e+01_rb,2.3820e+01_rb,4.7826e+00_rb/) kbo(:, 1,20,10) = (/ & &2.3494e+01_rb,1.7742e+01_rb,1.2645e+01_rb,9.3657e+00_rb,5.1974e+00_rb/) kbo(:, 2,20,10) = (/ & &3.2767e+01_rb,2.4679e+01_rb,1.6836e+01_rb,1.0930e+01_rb,5.1468e+00_rb/) kbo(:, 3,20,10) = (/ & &4.3805e+01_rb,3.2955e+01_rb,2.2186e+01_rb,1.3029e+01_rb,5.0951e+00_rb/) kbo(:, 4,20,10) = (/ & &5.6900e+01_rb,4.2771e+01_rb,2.8686e+01_rb,1.5712e+01_rb,5.0360e+00_rb/) kbo(:, 5,20,10) = (/ & &7.2009e+01_rb,5.4098e+01_rb,3.6220e+01_rb,1.9012e+01_rb,4.9716e+00_rb/) kbo(:, 1,21,10) = (/ & &1.8574e+01_rb,1.4067e+01_rb,1.0798e+01_rb,9.1144e+00_rb,5.2989e+00_rb/) kbo(:, 2,21,10) = (/ & &2.5833e+01_rb,1.9488e+01_rb,1.3882e+01_rb,1.0250e+01_rb,5.2602e+00_rb/) kbo(:, 3,21,10) = (/ & &3.4706e+01_rb,2.6128e+01_rb,1.7872e+01_rb,1.1627e+01_rb,5.2166e+00_rb/) kbo(:, 4,21,10) = (/ & &4.5183e+01_rb,3.3979e+01_rb,2.2895e+01_rb,1.3514e+01_rb,5.1658e+00_rb/) kbo(:, 5,21,10) = (/ & &5.7162e+01_rb,4.2958e+01_rb,2.8816e+01_rb,1.5946e+01_rb,5.1078e+00_rb/) kbo(:, 1,22,10) = (/ & &1.5385e+01_rb,1.1760e+01_rb,9.8072e+00_rb,8.9715e+00_rb,5.3316e+00_rb/) kbo(:, 2,22,10) = (/ & &2.1421e+01_rb,1.6187e+01_rb,1.2154e+01_rb,1.0019e+01_rb,5.3065e+00_rb/) kbo(:, 3,22,10) = (/ & &2.8763e+01_rb,2.1675e+01_rb,1.5363e+01_rb,1.1158e+01_rb,5.2767e+00_rb/) kbo(:, 4,22,10) = (/ & &3.7378e+01_rb,2.8123e+01_rb,1.9262e+01_rb,1.2474e+01_rb,5.2393e+00_rb/) kbo(:, 5,22,10) = (/ & &4.7335e+01_rb,3.5583e+01_rb,2.3996e+01_rb,1.4183e+01_rb,5.1848e+00_rb/) kbo(:, 1,23,10) = (/ & &1.2958e+01_rb,1.0148e+01_rb,9.3026e+00_rb,8.7646e+00_rb,5.3174e+00_rb/) kbo(:, 2,23,10) = (/ & &1.8016e+01_rb,1.3712e+01_rb,1.1027e+01_rb,9.7388e+00_rb,5.3065e+00_rb/) kbo(:, 3,23,10) = (/ & &2.4116e+01_rb,1.8203e+01_rb,1.3458e+01_rb,1.0800e+01_rb,5.2863e+00_rb/) kbo(:, 4,23,10) = (/ & &3.1331e+01_rb,2.3589e+01_rb,1.6625e+01_rb,1.1918e+01_rb,5.2605e+00_rb/) kbo(:, 5,23,10) = (/ & &3.9751e+01_rb,2.9901e+01_rb,2.0473e+01_rb,1.3180e+01_rb,5.2164e+00_rb/) kbo(:, 1,24,10) = (/ & &1.0965e+01_rb,8.9178e+00_rb,8.8968e+00_rb,8.4756e+00_rb,5.2609e+00_rb/) kbo(:, 2,24,10) = (/ & &1.5180e+01_rb,1.1787e+01_rb,1.0354e+01_rb,9.3845e+00_rb,5.2622e+00_rb/) kbo(:, 3,24,10) = (/ & &2.0304e+01_rb,1.5418e+01_rb,1.2131e+01_rb,1.0371e+01_rb,5.2552e+00_rb/) kbo(:, 4,24,10) = (/ & &2.6453e+01_rb,1.9955e+01_rb,1.4586e+01_rb,1.1412e+01_rb,5.2428e+00_rb/) kbo(:, 5,24,10) = (/ & &3.3727e+01_rb,2.5409e+01_rb,1.7807e+01_rb,1.2537e+01_rb,5.2080e+00_rb/) kbo(:, 1,25,10) = (/ & &9.4802e+00_rb,8.0678e+00_rb,8.5346e+00_rb,8.1689e+00_rb,5.1602e+00_rb/) kbo(:, 2,25,10) = (/ & &1.3091e+01_rb,1.0412e+01_rb,9.8804e+00_rb,9.0420e+00_rb,5.1798e+00_rb/) kbo(:, 3,25,10) = (/ & &1.7556e+01_rb,1.3502e+01_rb,1.1390e+01_rb,9.9740e+00_rb,5.1919e+00_rb/) kbo(:, 4,25,10) = (/ & &2.2937e+01_rb,1.7389e+01_rb,1.3318e+01_rb,1.0956e+01_rb,5.1855e+00_rb/) kbo(:, 5,25,10) = (/ & &2.9162e+01_rb,2.2007e+01_rb,1.5910e+01_rb,1.2043e+01_rb,5.1753e+00_rb/) kbo(:, 1,26,10) = (/ & &8.4883e+00_rb,7.6029e+00_rb,8.2305e+00_rb,7.8781e+00_rb,5.0300e+00_rb/) kbo(:, 2,26,10) = (/ & &1.1732e+01_rb,9.5611e+00_rb,9.4929e+00_rb,8.7340e+00_rb,5.0703e+00_rb/) kbo(:, 3,26,10) = (/ & &1.5710e+01_rb,1.2274e+01_rb,1.0941e+01_rb,9.6483e+00_rb,5.1008e+00_rb/) kbo(:, 4,26,10) = (/ & &2.0377e+01_rb,1.5577e+01_rb,1.2626e+01_rb,1.0617e+01_rb,5.1143e+00_rb/) kbo(:, 5,26,10) = (/ & &2.5762e+01_rb,1.9497e+01_rb,1.4646e+01_rb,1.1691e+01_rb,5.1337e+00_rb/) kbo(:, 1,27,10) = (/ & &7.9831e+00_rb,7.4657e+00_rb,8.0386e+00_rb,7.6712e+00_rb,4.8762e+00_rb/) kbo(:, 2,27,10) = (/ & &1.1007e+01_rb,9.2258e+00_rb,9.2928e+00_rb,8.5396e+00_rb,4.9402e+00_rb/) kbo(:, 3,27,10) = (/ & &1.4621e+01_rb,1.1594e+01_rb,1.0757e+01_rb,9.4652e+00_rb,4.9915e+00_rb/) kbo(:, 4,27,10) = (/ & &1.8847e+01_rb,1.4547e+01_rb,1.2326e+01_rb,1.0475e+01_rb,5.0304e+00_rb/) kbo(:, 5,27,10) = (/ & &2.3744e+01_rb,1.8045e+01_rb,1.4056e+01_rb,1.1545e+01_rb,5.0808e+00_rb/) kbo(:, 1,28,10) = (/ & &7.7237e+00_rb,7.4713e+00_rb,7.9486e+00_rb,7.5349e+00_rb,4.7172e+00_rb/) kbo(:, 2,28,10) = (/ & &1.0564e+01_rb,9.1113e+00_rb,9.2602e+00_rb,8.4182e+00_rb,4.8066e+00_rb/) kbo(:, 3,28,10) = (/ & &1.3950e+01_rb,1.1225e+01_rb,1.0715e+01_rb,9.3795e+00_rb,4.8773e+00_rb/) kbo(:, 4,28,10) = (/ & &1.7938e+01_rb,1.3957e+01_rb,1.2227e+01_rb,1.0437e+01_rb,4.9557e+00_rb/) kbo(:, 5,28,10) = (/ & &2.2520e+01_rb,1.7201e+01_rb,1.3827e+01_rb,1.1495e+01_rb,5.0256e+00_rb/) kbo(:, 1,29,10) = (/ & &7.9252e+00_rb,7.7575e+00_rb,8.1492e+00_rb,7.5791e+00_rb,4.5608e+00_rb/) kbo(:, 2,29,10) = (/ & &1.0756e+01_rb,9.3871e+00_rb,9.5612e+00_rb,8.5083e+00_rb,4.6721e+00_rb/) kbo(:, 3,29,10) = (/ & &1.4151e+01_rb,1.1455e+01_rb,1.1026e+01_rb,9.5615e+00_rb,4.7742e+00_rb/) kbo(:, 4,29,10) = (/ & &1.8135e+01_rb,1.4153e+01_rb,1.2557e+01_rb,1.0665e+01_rb,4.8851e+00_rb/) kbo(:, 5,29,10) = (/ & &2.2757e+01_rb,1.7409e+01_rb,1.4161e+01_rb,1.1730e+01_rb,4.9738e+00_rb/) kbo(:, 1,30,10) = (/ & &8.3260e+00_rb,8.1445e+00_rb,8.5115e+00_rb,7.7075e+00_rb,4.4112e+00_rb/) kbo(:, 2,30,10) = (/ & &1.1239e+01_rb,9.8059e+00_rb,9.9796e+00_rb,8.7369e+00_rb,4.5506e+00_rb/) kbo(:, 3,30,10) = (/ & &1.4731e+01_rb,1.1916e+01_rb,1.1495e+01_rb,9.8748e+00_rb,4.7011e+00_rb/) kbo(:, 4,30,10) = (/ & &1.8856e+01_rb,1.4710e+01_rb,1.3064e+01_rb,1.1008e+01_rb,4.8328e+00_rb/) kbo(:, 5,30,10) = (/ & &2.3705e+01_rb,1.8124e+01_rb,1.4716e+01_rb,1.2119e+01_rb,4.9257e+00_rb/) kbo(:, 1,31,10) = (/ & &9.2196e+00_rb,8.8116e+00_rb,9.1465e+00_rb,8.0622e+00_rb,4.2873e+00_rb/) kbo(:, 2,31,10) = (/ & &1.2392e+01_rb,1.0607e+01_rb,1.0704e+01_rb,9.2367e+00_rb,4.4733e+00_rb/) kbo(:, 3,31,10) = (/ & &1.6211e+01_rb,1.2983e+01_rb,1.2309e+01_rb,1.0449e+01_rb,4.6511e+00_rb/) kbo(:, 4,31,10) = (/ & &2.0762e+01_rb,1.6100e+01_rb,1.3996e+01_rb,1.1659e+01_rb,4.7878e+00_rb/) kbo(:, 5,31,10) = (/ & &2.6150e+01_rb,1.9908e+01_rb,1.5819e+01_rb,1.2859e+01_rb,4.9198e+00_rb/) kbo(:, 1,32,10) = (/ & &1.0359e+01_rb,9.6137e+00_rb,9.8752e+00_rb,8.5830e+00_rb,4.2174e+00_rb/) kbo(:, 2,32,10) = (/ & &1.3877e+01_rb,1.1631e+01_rb,1.1538e+01_rb,9.8576e+00_rb,4.4285e+00_rb/) kbo(:, 3,32,10) = (/ & &1.8140e+01_rb,1.4380e+01_rb,1.3269e+01_rb,1.1160e+01_rb,4.5970e+00_rb/) kbo(:, 4,32,10) = (/ & &2.3264e+01_rb,1.7927e+01_rb,1.5118e+01_rb,1.2461e+01_rb,4.7493e+00_rb/) kbo(:, 5,32,10) = (/ & &2.9418e+01_rb,2.2303e+01_rb,1.7227e+01_rb,1.3746e+01_rb,4.9087e+00_rb/) kbo(:, 1,33,10) = (/ & &1.1859e+01_rb,1.0640e+01_rb,1.0773e+01_rb,9.2560e+00_rb,4.1651e+00_rb/) kbo(:, 2,33,10) = (/ & &1.5884e+01_rb,1.3011e+01_rb,1.2572e+01_rb,1.0635e+01_rb,4.3715e+00_rb/) kbo(:, 3,33,10) = (/ & &2.0782e+01_rb,1.6260e+01_rb,1.4502e+01_rb,1.2047e+01_rb,4.5449e+00_rb/) kbo(:, 4,33,10) = (/ & &2.6731e+01_rb,2.0436e+01_rb,1.6585e+01_rb,1.3454e+01_rb,4.7445e+00_rb/) kbo(:, 5,33,10) = (/ & &3.3983e+01_rb,2.5659e+01_rb,1.9186e+01_rb,1.4880e+01_rb,4.8947e+00_rb/) kbo(:, 1,34,10) = (/ & &1.3139e+01_rb,1.1513e+01_rb,1.1537e+01_rb,9.8375e+00_rb,4.1077e+00_rb/) kbo(:, 2,34,10) = (/ & &1.7636e+01_rb,1.4225e+01_rb,1.3489e+01_rb,1.1311e+01_rb,4.3160e+00_rb/) kbo(:, 3,34,10) = (/ & &2.3141e+01_rb,1.7962e+01_rb,1.5594e+01_rb,1.2810e+01_rb,4.5443e+00_rb/) kbo(:, 4,34,10) = (/ & &2.9960e+01_rb,2.2778e+01_rb,1.7924e+01_rb,1.4335e+01_rb,4.7397e+00_rb/) kbo(:, 5,34,10) = (/ & &3.8261e+01_rb,2.8825e+01_rb,2.1079e+01_rb,1.5921e+01_rb,4.9149e+00_rb/) kbo(:, 1,35,10) = (/ & &1.4201e+01_rb,1.2261e+01_rb,1.2213e+01_rb,1.0330e+01_rb,4.0399e+00_rb/) kbo(:, 2,35,10) = (/ & &1.9135e+01_rb,1.5305e+01_rb,1.4323e+01_rb,1.1895e+01_rb,4.2894e+00_rb/) kbo(:, 3,35,10) = (/ & &2.5318e+01_rb,1.9545e+01_rb,1.6589e+01_rb,1.3508e+01_rb,4.5397e+00_rb/) kbo(:, 4,35,10) = (/ & &3.3021e+01_rb,2.5025e+01_rb,1.9285e+01_rb,1.5170e+01_rb,4.7565e+00_rb/) kbo(:, 5,35,10) = (/ & &4.2461e+01_rb,3.1954e+01_rb,2.3012e+01_rb,1.6958e+01_rb,4.9332e+00_rb/) kbo(:, 1,36,10) = (/ & &1.4798e+01_rb,1.2717e+01_rb,1.2670e+01_rb,1.0657e+01_rb,3.9724e+00_rb/) kbo(:, 2,36,10) = (/ & &2.0092e+01_rb,1.6016e+01_rb,1.4899e+01_rb,1.2316e+01_rb,4.2681e+00_rb/) kbo(:, 3,36,10) = (/ & &2.6852e+01_rb,2.0677e+01_rb,1.7358e+01_rb,1.4052e+01_rb,4.5368e+00_rb/) kbo(:, 4,36,10) = (/ & &3.5362e+01_rb,2.6747e+01_rb,2.0391e+01_rb,1.5864e+01_rb,4.7528e+00_rb/) kbo(:, 5,36,10) = (/ & &4.5869e+01_rb,3.4503e+01_rb,2.4644e+01_rb,1.7859e+01_rb,4.9480e+00_rb/) kbo(:, 1,37,10) = (/ & &1.4369e+01_rb,1.2549e+01_rb,1.2615e+01_rb,1.0629e+01_rb,3.8875e+00_rb/) kbo(:, 2,37,10) = (/ & &1.9757e+01_rb,1.5840e+01_rb,1.4922e+01_rb,1.2359e+01_rb,4.2086e+00_rb/) kbo(:, 3,37,10) = (/ & &2.6704e+01_rb,2.0605e+01_rb,1.7493e+01_rb,1.4185e+01_rb,4.4864e+00_rb/) kbo(:, 4,37,10) = (/ & &3.5588e+01_rb,2.6935e+01_rb,2.0650e+01_rb,1.6109e+01_rb,4.7274e+00_rb/) kbo(:, 5,37,10) = (/ & &4.6659e+01_rb,3.5099e+01_rb,2.5115e+01_rb,1.8232e+01_rb,4.9396e+00_rb/) kbo(:, 1,38,10) = (/ & &1.4144e+01_rb,1.2516e+01_rb,1.2646e+01_rb,1.0674e+01_rb,3.8121e+00_rb/) kbo(:, 2,38,10) = (/ & &1.9692e+01_rb,1.5869e+01_rb,1.5055e+01_rb,1.2490e+01_rb,4.1526e+00_rb/) kbo(:, 3,38,10) = (/ & &2.6928e+01_rb,2.0800e+01_rb,1.7766e+01_rb,1.4428e+01_rb,4.4461e+00_rb/) kbo(:, 4,38,10) = (/ & &3.6364e+01_rb,2.7528e+01_rb,2.1122e+01_rb,1.6470e+01_rb,4.6931e+00_rb/) kbo(:, 5,38,10) = (/ & &4.8190e+01_rb,3.6248e+01_rb,2.5894e+01_rb,1.8774e+01_rb,4.9281e+00_rb/) kbo(:, 1,39,10) = (/ & &1.4265e+01_rb,1.2699e+01_rb,1.2840e+01_rb,1.0848e+01_rb,3.7413e+00_rb/) kbo(:, 2,39,10) = (/ & &2.0117e+01_rb,1.6218e+01_rb,1.5387e+01_rb,1.2783e+01_rb,4.1060e+00_rb/) kbo(:, 3,39,10) = (/ & &2.7852e+01_rb,2.1494e+01_rb,1.8320e+01_rb,1.4851e+01_rb,4.4149e+00_rb/) kbo(:, 4,39,10) = (/ & &3.8047e+01_rb,2.8782e+01_rb,2.1981e+01_rb,1.7084e+01_rb,4.6584e+00_rb/) kbo(:, 5,39,10) = (/ & &5.1036e+01_rb,3.8378e+01_rb,2.7311e+01_rb,1.9599e+01_rb,4.9209e+00_rb/) kbo(:, 1,40,10) = (/ & &1.3045e+01_rb,1.2072e+01_rb,1.2332e+01_rb,1.0515e+01_rb,3.6349e+00_rb/) kbo(:, 2,40,10) = (/ & &1.8669e+01_rb,1.5342e+01_rb,1.4892e+01_rb,1.2474e+01_rb,4.0124e+00_rb/) kbo(:, 3,40,10) = (/ & &2.6244e+01_rb,2.0390e+01_rb,1.7841e+01_rb,1.4589e+01_rb,4.3337e+00_rb/) kbo(:, 4,40,10) = (/ & &3.6291e+01_rb,2.7528e+01_rb,2.1453e+01_rb,1.6896e+01_rb,4.5936e+00_rb/) kbo(:, 5,40,10) = (/ & &4.9350e+01_rb,3.7123e+01_rb,2.6680e+01_rb,1.9495e+01_rb,4.8667e+00_rb/) kbo(:, 1,41,10) = (/ & &1.1803e+01_rb,1.1439e+01_rb,1.1786e+01_rb,1.0149e+01_rb,3.5171e+00_rb/) kbo(:, 2,41,10) = (/ & &1.7194e+01_rb,1.4495e+01_rb,1.4344e+01_rb,1.2127e+01_rb,3.9113e+00_rb/) kbo(:, 3,41,10) = (/ & &2.4539e+01_rb,1.9243e+01_rb,1.7307e+01_rb,1.4275e+01_rb,4.2454e+00_rb/) kbo(:, 4,41,10) = (/ & &3.4381e+01_rb,2.6175e+01_rb,2.0871e+01_rb,1.6646e+01_rb,4.5236e+00_rb/) kbo(:, 5,41,10) = (/ & &4.7387e+01_rb,3.5674e+01_rb,2.5938e+01_rb,1.9314e+01_rb,4.8021e+00_rb/) kbo(:, 1,42,10) = (/ & &1.0775e+01_rb,1.0903e+01_rb,1.1326e+01_rb,9.8291e+00_rb,3.4027e+00_rb/) kbo(:, 2,42,10) = (/ & &1.5966e+01_rb,1.3847e+01_rb,1.3900e+01_rb,1.1829e+01_rb,3.8068e+00_rb/) kbo(:, 3,42,10) = (/ & &2.3163e+01_rb,1.8350e+01_rb,1.6888e+01_rb,1.4033e+01_rb,4.1524e+00_rb/) kbo(:, 4,42,10) = (/ & &3.2905e+01_rb,2.5146e+01_rb,2.0462e+01_rb,1.6474e+01_rb,4.4507e+00_rb/) kbo(:, 5,42,10) = (/ & &4.5959e+01_rb,3.4632e+01_rb,2.5458e+01_rb,1.9233e+01_rb,4.7372e+00_rb/) kbo(:, 1,43,10) = (/ & &9.6785e+00_rb,1.0293e+01_rb,1.0788e+01_rb,9.4380e+00_rb,3.2651e+00_rb/) kbo(:, 2,43,10) = (/ & &1.4578e+01_rb,1.3133e+01_rb,1.3380e+01_rb,1.1460e+01_rb,3.6820e+00_rb/) kbo(:, 3,43,10) = (/ & &2.1568e+01_rb,1.7343e+01_rb,1.6367e+01_rb,1.3704e+01_rb,4.0432e+00_rb/) kbo(:, 4,43,10) = (/ & &3.1160e+01_rb,2.3941e+01_rb,1.9961e+01_rb,1.6215e+01_rb,4.3540e+00_rb/) kbo(:, 5,43,10) = (/ & &4.4112e+01_rb,3.3295e+01_rb,2.4834e+01_rb,1.9063e+01_rb,4.6487e+00_rb/) kbo(:, 1,44,10) = (/ & &8.6703e+00_rb,9.7103e+00_rb,1.0263e+01_rb,9.0428e+00_rb,3.1167e+00_rb/) kbo(:, 2,44,10) = (/ & &1.3323e+01_rb,1.2507e+01_rb,1.2872e+01_rb,1.1099e+01_rb,3.5429e+00_rb/) kbo(:, 3,44,10) = (/ & &2.0055e+01_rb,1.6451e+01_rb,1.5900e+01_rb,1.3381e+01_rb,3.9213e+00_rb/) kbo(:, 4,44,10) = (/ & &2.9535e+01_rb,2.2835e+01_rb,1.9530e+01_rb,1.5970e+01_rb,4.2481e+00_rb/) kbo(:, 5,44,10) = (/ & &4.2449e+01_rb,3.2099e+01_rb,2.4329e+01_rb,1.8926e+01_rb,4.5571e+00_rb/) kbo(:, 1,45,10) = (/ & &7.8818e+00_rb,9.2454e+00_rb,9.8403e+00_rb,8.7130e+00_rb,2.9638e+00_rb/) kbo(:, 2,45,10) = (/ & &1.2355e+01_rb,1.2035e+01_rb,1.2482e+01_rb,1.0822e+01_rb,3.4038e+00_rb/) kbo(:, 3,45,10) = (/ & &1.8948e+01_rb,1.5842e+01_rb,1.5587e+01_rb,1.3162e+01_rb,3.7919e+00_rb/) kbo(:, 4,45,10) = (/ & &2.8443e+01_rb,2.2122e+01_rb,1.9322e+01_rb,1.5846e+01_rb,4.1405e+00_rb/) kbo(:, 5,45,10) = (/ & &4.1558e+01_rb,3.1475e+01_rb,2.4163e+01_rb,1.8949e+01_rb,4.4650e+00_rb/) kbo(:, 1,46,10) = (/ & &7.1089e+00_rb,8.7733e+00_rb,9.3941e+00_rb,8.3547e+00_rb,2.8054e+00_rb/) kbo(:, 2,46,10) = (/ & &1.1401e+01_rb,1.1562e+01_rb,1.2067e+01_rb,1.0520e+01_rb,3.2536e+00_rb/) kbo(:, 3,46,10) = (/ & &1.7834e+01_rb,1.5248e+01_rb,1.5247e+01_rb,1.2927e+01_rb,3.6528e+00_rb/) kbo(:, 4,46,10) = (/ & &2.7249e+01_rb,2.1375e+01_rb,1.9093e+01_rb,1.5705e+01_rb,4.0192e+00_rb/) kbo(:, 5,46,10) = (/ & &4.0651e+01_rb,3.0866e+01_rb,2.4015e+01_rb,1.8943e+01_rb,4.3574e+00_rb/) kbo(:, 1,47,10) = (/ & &6.1649e+00_rb,8.1403e+00_rb,8.7798e+00_rb,7.8562e+00_rb,2.6253e+00_rb/) kbo(:, 2,47,10) = (/ & &1.0138e+01_rb,1.0874e+01_rb,1.1437e+01_rb,1.0055e+01_rb,3.0768e+00_rb/) kbo(:, 3,47,10) = (/ & &1.6220e+01_rb,1.4389e+01_rb,1.4631e+01_rb,1.2502e+01_rb,3.4927e+00_rb/) kbo(:, 4,47,10) = (/ & &2.5292e+01_rb,2.0083e+01_rb,1.8506e+01_rb,1.5334e+01_rb,3.8713e+00_rb/) kbo(:, 5,47,10) = (/ & &3.8579e+01_rb,2.9419e+01_rb,2.3431e+01_rb,1.8659e+01_rb,4.2295e+00_rb/) kbo(:, 1,48,10) = (/ & &5.4216e+00_rb,7.6284e+00_rb,8.2781e+00_rb,7.4282e+00_rb,2.4448e+00_rb/) kbo(:, 2,48,10) = (/ & &9.1674e+00_rb,1.0353e+01_rb,1.0955e+01_rb,9.6794e+00_rb,2.8941e+00_rb/) kbo(:, 3,48,10) = (/ & &1.5043e+01_rb,1.3839e+01_rb,1.4203e+01_rb,1.2197e+01_rb,3.3245e+00_rb/) kbo(:, 4,48,10) = (/ & &2.3974e+01_rb,1.9288e+01_rb,1.8167e+01_rb,1.5125e+01_rb,3.7165e+00_rb/) kbo(:, 5,48,10) = (/ & &3.7305e+01_rb,2.8554e+01_rb,2.3217e+01_rb,1.8594e+01_rb,4.0932e+00_rb/) kbo(:, 1,49,10) = (/ & &4.8939e+00_rb,7.2548e+00_rb,7.9080e+00_rb,7.0906e+00_rb,2.2660e+00_rb/) kbo(:, 2,49,10) = (/ & &8.5415e+00_rb,1.0039e+01_rb,1.0662e+01_rb,9.4308e+00_rb,2.7166e+00_rb/) kbo(:, 3,49,10) = (/ & &1.4366e+01_rb,1.3618e+01_rb,1.4041e+01_rb,1.2074e+01_rb,3.1539e+00_rb/) kbo(:, 4,49,10) = (/ & &2.3519e+01_rb,1.9097e+01_rb,1.8194e+01_rb,1.5161e+01_rb,3.5625e+00_rb/) kbo(:, 5,49,10) = (/ & &3.7354e+01_rb,2.8637e+01_rb,2.3540e+01_rb,1.8862e+01_rb,3.9655e+00_rb/) kbo(:, 1,50,10) = (/ & &4.2089e+00_rb,6.7050e+00_rb,7.3787e+00_rb,6.6334e+00_rb,2.0951e+00_rb/) kbo(:, 2,50,10) = (/ & &7.5781e+00_rb,9.4477e+00_rb,1.0132e+01_rb,8.9977e+00_rb,2.5467e+00_rb/) kbo(:, 3,50,10) = (/ & &1.3098e+01_rb,1.3002e+01_rb,1.3521e+01_rb,1.1708e+01_rb,2.9888e+00_rb/) kbo(:, 4,50,10) = (/ & &2.2021e+01_rb,1.8246e+01_rb,1.7755e+01_rb,1.4869e+01_rb,3.4160e+00_rb/) kbo(:, 5,50,10) = (/ & &3.5802e+01_rb,2.7586e+01_rb,2.3214e+01_rb,1.8702e+01_rb,3.8321e+00_rb/) kbo(:, 1,51,10) = (/ & &3.5246e+00_rb,6.0952e+00_rb,6.7836e+00_rb,6.1221e+00_rb,1.9285e+00_rb/) kbo(:, 2,51,10) = (/ & &6.5392e+00_rb,8.7579e+00_rb,9.5007e+00_rb,8.4899e+00_rb,2.3790e+00_rb/) kbo(:, 3,51,10) = (/ & &1.1662e+01_rb,1.2207e+01_rb,1.2854e+01_rb,1.1229e+01_rb,2.8289e+00_rb/) kbo(:, 4,51,10) = (/ & &2.0094e+01_rb,1.7146e+01_rb,1.7077e+01_rb,1.4419e+01_rb,3.2637e+00_rb/) kbo(:, 5,51,10) = (/ & &3.3544e+01_rb,2.6031e+01_rb,2.2586e+01_rb,1.8311e+01_rb,3.6955e+00_rb/) kbo(:, 1,52,10) = (/ & &2.9972e+00_rb,5.5809e+00_rb,6.2670e+00_rb,5.6729e+00_rb,1.7637e+00_rb/) kbo(:, 2,52,10) = (/ & &5.7401e+00_rb,8.2025e+00_rb,8.9834e+00_rb,8.0597e+00_rb,2.2115e+00_rb/) kbo(:, 3,52,10) = (/ & &1.0553e+01_rb,1.1618e+01_rb,1.2357e+01_rb,1.0861e+01_rb,2.6710e+00_rb/) kbo(:, 4,52,10) = (/ & &1.8666e+01_rb,1.6392e+01_rb,1.6645e+01_rb,1.4126e+01_rb,3.1091e+00_rb/) kbo(:, 5,52,10) = (/ & &3.2058e+01_rb,2.5069e+01_rb,2.2259e+01_rb,1.8128e+01_rb,3.5578e+00_rb/) kbo(:, 1,53,10) = (/ & &2.6079e+00_rb,5.1734e+00_rb,5.8449e+00_rb,5.2987e+00_rb,1.6026e+00_rb/) kbo(:, 2,53,10) = (/ & &5.1862e+00_rb,7.8030e+00_rb,8.6055e+00_rb,7.7246e+00_rb,2.0456e+00_rb/) kbo(:, 3,53,10) = (/ & &9.8254e+00_rb,1.1267e+01_rb,1.2065e+01_rb,1.0633e+01_rb,2.5075e+00_rb/) kbo(:, 4,53,10) = (/ & &1.7902e+01_rb,1.6069e+01_rb,1.6506e+01_rb,1.4053e+01_rb,2.9528e+00_rb/) kbo(:, 5,53,10) = (/ & &3.1626e+01_rb,2.4842e+01_rb,2.2382e+01_rb,1.8272e+01_rb,3.4166e+00_rb/) kbo(:, 1,54,10) = (/ & &1.9692e+00_rb,4.4492e+00_rb,5.0971e+00_rb,4.6730e+00_rb,1.4560e+00_rb/) kbo(:, 2,54,10) = (/ & &4.0777e+00_rb,6.8483e+00_rb,7.6942e+00_rb,6.9748e+00_rb,1.8918e+00_rb/) kbo(:, 3,54,10) = (/ & &7.9636e+00_rb,1.0044e+01_rb,1.0960e+01_rb,9.7978e+00_rb,2.3486e+00_rb/) kbo(:, 4,54,10) = (/ & &1.4982e+01_rb,1.4434e+01_rb,1.5164e+01_rb,1.3125e+01_rb,2.8028e+00_rb/) kbo(:, 5,54,10) = (/ & &2.7158e+01_rb,2.1902e+01_rb,2.0733e+01_rb,1.7211e+01_rb,3.2543e+00_rb/) kbo(:, 1,55,10) = (/ & &1.3507e+00_rb,3.6433e+00_rb,4.2566e+00_rb,3.9661e+00_rb,1.3130e+00_rb/) kbo(:, 2,55,10) = (/ & &2.9154e+00_rb,5.7215e+00_rb,6.5830e+00_rb,6.0536e+00_rb,1.7424e+00_rb/) kbo(:, 3,55,10) = (/ & &5.8789e+00_rb,8.5105e+00_rb,9.5339e+00_rb,8.6749e+00_rb,2.1951e+00_rb/) kbo(:, 4,55,10) = (/ & &1.1400e+01_rb,1.2318e+01_rb,1.3311e+01_rb,1.1788e+01_rb,2.6530e+00_rb/) kbo(:, 5,55,10) = (/ & &2.1258e+01_rb,1.8155e+01_rb,1.8294e+01_rb,1.5532e+01_rb,3.0990e+00_rb/) kbo(:, 1,56,10) = (/ & &9.1417e-01_rb,2.9676e+00_rb,3.5310e+00_rb,3.3437e+00_rb,1.1797e+00_rb/) kbo(:, 2,56,10) = (/ & &2.0541e+00_rb,4.7744e+00_rb,5.6130e+00_rb,5.2303e+00_rb,1.5997e+00_rb/) kbo(:, 3,56,10) = (/ & &4.2988e+00_rb,7.2236e+00_rb,8.2994e+00_rb,7.6574e+00_rb,2.0435e+00_rb/) kbo(:, 4,56,10) = (/ & &8.5903e+00_rb,1.0539e+01_rb,1.1687e+01_rb,1.0572e+01_rb,2.5005e+00_rb/) kbo(:, 5,56,10) = (/ & &1.6506e+01_rb,1.5331e+01_rb,1.6174e+01_rb,1.4030e+01_rb,2.9531e+00_rb/) kbo(:, 1,57,10) = (/ & &6.0887e-01_rb,2.4030e+00_rb,2.9065e+00_rb,2.7971e+00_rb,1.0495e+00_rb/) kbo(:, 2,57,10) = (/ & &1.4281e+00_rb,3.9782e+00_rb,4.7656e+00_rb,4.4965e+00_rb,1.4561e+00_rb/) kbo(:, 3,57,10) = (/ & &3.1054e+00_rb,6.1238e+00_rb,7.2122e+00_rb,6.7209e+00_rb,1.8934e+00_rb/) kbo(:, 4,57,10) = (/ & &6.4056e+00_rb,9.0325e+00_rb,1.0294e+01_rb,9.4596e+00_rb,2.3523e+00_rb/) kbo(:, 5,57,10) = (/ & &1.2719e+01_rb,1.3167e+01_rb,1.4312e+01_rb,1.2682e+01_rb,2.8029e+00_rb/) kbo(:, 1,58,10) = (/ & &1.0707e-01_rb,6.3953e-01_rb,1.0127e+00_rb,1.3896e+00_rb,9.3114e-01_rb/) kbo(:, 2,58,10) = (/ & &2.6195e-01_rb,1.0902e+00_rb,1.7100e+00_rb,2.2949e+00_rb,1.3241e+00_rb/) kbo(:, 3,58,10) = (/ & &5.9147e-01_rb,1.7109e+00_rb,2.6503e+00_rb,3.5010e+00_rb,1.7544e+00_rb/) kbo(:, 4,58,10) = (/ & &1.2606e+00_rb,2.5523e+00_rb,3.8433e+00_rb,5.0138e+00_rb,2.2018e+00_rb/) kbo(:, 5,58,10) = (/ & &2.5874e+00_rb,3.7372e+00_rb,5.3689e+00_rb,6.8137e+00_rb,2.6612e+00_rb/) kbo(:, 1,59,10) = (/ & &9.9298e-02_rb,7.6667e-01_rb,1.1645e+00_rb,1.4612e+00_rb,8.8547e-01_rb/) kbo(:, 2,59,10) = (/ & &2.4968e-01_rb,1.3224e+00_rb,1.9807e+00_rb,2.4248e+00_rb,1.2655e+00_rb/) kbo(:, 3,59,10) = (/ & &5.7897e-01_rb,2.0921e+00_rb,3.0941e+00_rb,3.7073e+00_rb,1.6878e+00_rb/) kbo(:, 4,59,10) = (/ & &1.2660e+00_rb,3.1094e+00_rb,4.5051e+00_rb,5.3308e+00_rb,2.1316e+00_rb/) kbo(:, 5,59,10) = (/ & &2.6665e+00_rb,4.5101e+00_rb,6.2520e+00_rb,7.2627e+00_rb,2.5824e+00_rb/) kbo(:, 1,13,11) = (/ & &4.9137e+02_rb,3.6866e+02_rb,2.4595e+02_rb,1.2325e+02_rb,3.7154e+00_rb/) kbo(:, 2,13,11) = (/ & &7.1842e+02_rb,5.3894e+02_rb,3.5946e+02_rb,1.7998e+02_rb,3.6255e+00_rb/) kbo(:, 3,13,11) = (/ & &9.9186e+02_rb,7.4402e+02_rb,4.9618e+02_rb,2.4833e+02_rb,3.5452e+00_rb/) kbo(:, 4,13,11) = (/ & &1.3059e+03_rb,9.7954e+02_rb,6.5319e+02_rb,3.2683e+02_rb,3.4736e+00_rb/) kbo(:, 5,13,11) = (/ & &1.6553e+03_rb,1.2416e+03_rb,8.2787e+02_rb,4.1417e+02_rb,3.4158e+00_rb/) kbo(:, 1,14,11) = (/ & &3.1242e+02_rb,2.3443e+02_rb,1.5644e+02_rb,7.8454e+01_rb,4.0956e+00_rb/) kbo(:, 2,14,11) = (/ & &4.5149e+02_rb,3.3873e+02_rb,2.2597e+02_rb,1.1322e+02_rb,4.0089e+00_rb/) kbo(:, 3,14,11) = (/ & &6.1672e+02_rb,4.6265e+02_rb,3.0858e+02_rb,1.5452e+02_rb,3.9350e+00_rb/) kbo(:, 4,14,11) = (/ & &8.0574e+02_rb,6.0442e+02_rb,4.0309e+02_rb,2.0177e+02_rb,3.8665e+00_rb/) kbo(:, 5,14,11) = (/ & &1.0145e+03_rb,7.6099e+02_rb,5.0748e+02_rb,2.5397e+02_rb,3.7755e+00_rb/) kbo(:, 1,15,11) = (/ & &1.9759e+02_rb,1.4830e+02_rb,9.9018e+01_rb,4.9739e+01_rb,4.5712e+00_rb/) kbo(:, 2,15,11) = (/ & &2.8230e+02_rb,2.1184e+02_rb,1.4137e+02_rb,7.0907e+01_rb,4.4810e+00_rb/) kbo(:, 3,15,11) = (/ & &3.8219e+02_rb,2.8675e+02_rb,1.9132e+02_rb,9.5881e+01_rb,4.3973e+00_rb/) kbo(:, 4,15,11) = (/ & &4.9586e+02_rb,3.7201e+02_rb,2.4816e+02_rb,1.2430e+02_rb,4.3207e+00_rb/) kbo(:, 5,15,11) = (/ & &6.2301e+02_rb,4.6738e+02_rb,3.1174e+02_rb,1.5610e+02_rb,4.2419e+00_rb/) kbo(:, 1,16,11) = (/ & &1.4534e+02_rb,1.0912e+02_rb,7.2899e+01_rb,3.6687e+01_rb,5.0599e+00_rb/) kbo(:, 2,16,11) = (/ & &2.0548e+02_rb,1.5423e+02_rb,1.0297e+02_rb,5.1715e+01_rb,4.9736e+00_rb/) kbo(:, 3,16,11) = (/ & &2.7637e+02_rb,2.0739e+02_rb,1.3841e+02_rb,6.9439e+01_rb,4.8882e+00_rb/) kbo(:, 4,16,11) = (/ & &3.5789e+02_rb,2.6854e+02_rb,1.7918e+02_rb,8.9827e+01_rb,4.8052e+00_rb/) kbo(:, 5,16,11) = (/ & &4.4907e+02_rb,3.3692e+02_rb,2.2477e+02_rb,1.1262e+02_rb,4.7153e+00_rb/) kbo(:, 1,17,11) = (/ & &1.0823e+02_rb,8.1288e+01_rb,5.4344e+01_rb,2.7412e+01_rb,5.5645e+00_rb/) kbo(:, 2,17,11) = (/ & &1.5200e+02_rb,1.1412e+02_rb,7.6233e+01_rb,3.8355e+01_rb,5.4748e+00_rb/) kbo(:, 3,17,11) = (/ & &2.0403e+02_rb,1.5314e+02_rb,1.0225e+02_rb,5.1364e+01_rb,5.3859e+00_rb/) kbo(:, 4,17,11) = (/ & &2.6361e+02_rb,1.9782e+02_rb,1.3204e+02_rb,6.6255e+01_rb,5.2931e+00_rb/) kbo(:, 5,17,11) = (/ & &3.3009e+02_rb,2.4768e+02_rb,1.6528e+02_rb,8.2867e+01_rb,5.1961e+00_rb/) kbo(:, 1,18,11) = (/ & &8.1232e+01_rb,6.1036e+01_rb,4.0843e+01_rb,2.0768e+01_rb,6.0688e+00_rb/) kbo(:, 2,18,11) = (/ & &1.1380e+02_rb,8.5466e+01_rb,5.7129e+01_rb,2.8802e+01_rb,5.9719e+00_rb/) kbo(:, 3,18,11) = (/ & &1.5225e+02_rb,1.1430e+02_rb,7.6349e+01_rb,3.8404e+01_rb,5.8780e+00_rb/) kbo(:, 4,18,11) = (/ & &1.9624e+02_rb,1.4729e+02_rb,9.8340e+01_rb,4.9394e+01_rb,5.7787e+00_rb/) kbo(:, 5,18,11) = (/ & &2.4493e+02_rb,1.8381e+02_rb,1.2268e+02_rb,6.1561e+01_rb,5.6709e+00_rb/) kbo(:, 1,19,11) = (/ & &5.9301e+01_rb,4.4585e+01_rb,2.9875e+01_rb,1.6238e+01_rb,6.5385e+00_rb/) kbo(:, 2,19,11) = (/ & &8.2717e+01_rb,6.2145e+01_rb,4.1575e+01_rb,2.1335e+01_rb,6.4509e+00_rb/) kbo(:, 3,19,11) = (/ & &1.1031e+02_rb,8.2837e+01_rb,5.5366e+01_rb,2.7948e+01_rb,6.3522e+00_rb/) kbo(:, 4,19,11) = (/ & &1.4167e+02_rb,1.0635e+02_rb,7.1041e+01_rb,3.5737e+01_rb,6.2392e+00_rb/) kbo(:, 5,19,11) = (/ & &1.7630e+02_rb,1.3232e+02_rb,8.8349e+01_rb,4.4378e+01_rb,6.1191e+00_rb/) kbo(:, 1,20,11) = (/ & &4.6675e+01_rb,3.5111e+01_rb,2.3575e+01_rb,1.4266e+01_rb,6.9620e+00_rb/) kbo(:, 2,20,11) = (/ & &6.4787e+01_rb,4.8692e+01_rb,3.2603e+01_rb,1.7833e+01_rb,6.8738e+00_rb/) kbo(:, 3,20,11) = (/ & &8.5965e+01_rb,6.4574e+01_rb,4.3185e+01_rb,2.2381e+01_rb,6.7710e+00_rb/) kbo(:, 4,20,11) = (/ & &1.0993e+02_rb,8.2545e+01_rb,5.5164e+01_rb,2.7968e+01_rb,6.6598e+00_rb/) kbo(:, 5,20,11) = (/ & &1.3666e+02_rb,1.0259e+02_rb,6.8531e+01_rb,3.4499e+01_rb,6.5455e+00_rb/) kbo(:, 1,21,11) = (/ & &3.7501e+01_rb,2.8227e+01_rb,1.9281e+01_rb,1.3115e+01_rb,7.3104e+00_rb/) kbo(:, 2,21,11) = (/ & &5.1743e+01_rb,3.8905e+01_rb,2.6108e+01_rb,1.5684e+01_rb,7.2251e+00_rb/) kbo(:, 3,21,11) = (/ & &6.8349e+01_rb,5.1361e+01_rb,3.4375e+01_rb,1.9019e+01_rb,7.1334e+00_rb/) kbo(:, 4,21,11) = (/ & &8.7361e+01_rb,6.5620e+01_rb,4.3882e+01_rb,2.3034e+01_rb,7.0346e+00_rb/) kbo(:, 5,21,11) = (/ & &1.0904e+02_rb,8.1880e+01_rb,5.4724e+01_rb,2.7964e+01_rb,6.9286e+00_rb/) kbo(:, 1,22,11) = (/ & &3.1289e+01_rb,2.3566e+01_rb,1.6825e+01_rb,1.2828e+01_rb,7.5760e+00_rb/) kbo(:, 2,22,11) = (/ & &4.2825e+01_rb,3.2216e+01_rb,2.1971e+01_rb,1.4588e+01_rb,7.5079e+00_rb/) kbo(:, 3,22,11) = (/ & &5.6403e+01_rb,4.2401e+01_rb,2.8462e+01_rb,1.6984e+01_rb,7.4270e+00_rb/) kbo(:, 4,22,11) = (/ & &7.2294e+01_rb,5.4320e+01_rb,3.6353e+01_rb,2.0165e+01_rb,7.3380e+00_rb/) kbo(:, 5,22,11) = (/ & &9.0391e+01_rb,6.7890e+01_rb,4.5398e+01_rb,2.4037e+01_rb,7.2398e+00_rb/) kbo(:, 1,23,11) = (/ & &2.6113e+01_rb,1.9694e+01_rb,1.4984e+01_rb,1.2807e+01_rb,7.7662e+00_rb/) kbo(:, 2,23,11) = (/ & &3.5611e+01_rb,2.6805e+01_rb,1.8996e+01_rb,1.4145e+01_rb,7.7141e+00_rb/) kbo(:, 3,23,11) = (/ & &4.7007e+01_rb,3.5353e+01_rb,2.4112e+01_rb,1.5803e+01_rb,7.6529e+00_rb/) kbo(:, 4,23,11) = (/ & &6.0260e+01_rb,4.5296e+01_rb,3.0446e+01_rb,1.8119e+01_rb,7.5779e+00_rb/) kbo(:, 5,23,11) = (/ & &7.5402e+01_rb,5.6642e+01_rb,3.7917e+01_rb,2.1118e+01_rb,7.4889e+00_rb/) kbo(:, 1,24,11) = (/ & &2.1744e+01_rb,1.6531e+01_rb,1.3667e+01_rb,1.2705e+01_rb,7.8734e+00_rb/) kbo(:, 2,24,11) = (/ & &2.9665e+01_rb,2.2353e+01_rb,1.6710e+01_rb,1.3918e+01_rb,7.8466e+00_rb/) kbo(:, 3,24,11) = (/ & &3.9143e+01_rb,2.9459e+01_rb,2.0787e+01_rb,1.5226e+01_rb,7.8065e+00_rb/) kbo(:, 4,24,11) = (/ & &5.0222e+01_rb,3.7761e+01_rb,2.5773e+01_rb,1.6824e+01_rb,7.7511e+00_rb/) kbo(:, 5,24,11) = (/ & &6.2928e+01_rb,4.7282e+01_rb,3.1824e+01_rb,1.8958e+01_rb,7.6816e+00_rb/) kbo(:, 1,25,11) = (/ & &1.8556e+01_rb,1.4391e+01_rb,1.2986e+01_rb,1.2542e+01_rb,7.9223e+00_rb/) kbo(:, 2,25,11) = (/ & &2.5288e+01_rb,1.9166e+01_rb,1.5272e+01_rb,1.3696e+01_rb,7.9207e+00_rb/) kbo(:, 3,25,11) = (/ & &3.3328e+01_rb,2.5101e+01_rb,1.8448e+01_rb,1.4913e+01_rb,7.9039e+00_rb/) kbo(:, 4,25,11) = (/ & &4.2799e+01_rb,3.2187e+01_rb,2.2557e+01_rb,1.6216e+01_rb,7.8725e+00_rb/) kbo(:, 5,25,11) = (/ & &5.3844e+01_rb,4.0473e+01_rb,2.7585e+01_rb,1.7777e+01_rb,7.8216e+00_rb/) kbo(:, 1,26,11) = (/ & &1.6321e+01_rb,1.3012e+01_rb,1.2671e+01_rb,1.2389e+01_rb,7.9293e+00_rb/) kbo(:, 2,26,11) = (/ & &2.2176e+01_rb,1.7013e+01_rb,1.4541e+01_rb,1.3492e+01_rb,7.9549e+00_rb/) kbo(:, 3,26,11) = (/ & &2.9236e+01_rb,2.2092e+01_rb,1.7014e+01_rb,1.4647e+01_rb,7.9628e+00_rb/) kbo(:, 4,26,11) = (/ & &3.7703e+01_rb,2.8378e+01_rb,2.0439e+01_rb,1.5868e+01_rb,7.9537e+00_rb/) kbo(:, 5,26,11) = (/ & &4.7623e+01_rb,3.5826e+01_rb,2.4857e+01_rb,1.7188e+01_rb,7.9177e+00_rb/) kbo(:, 1,27,11) = (/ & &1.5028e+01_rb,1.2264e+01_rb,1.2582e+01_rb,1.2313e+01_rb,7.9116e+00_rb/) kbo(:, 2,27,11) = (/ & &2.0393e+01_rb,1.5855e+01_rb,1.4339e+01_rb,1.3407e+01_rb,7.9620e+00_rb/) kbo(:, 3,27,11) = (/ & &2.6998e+01_rb,2.0503e+01_rb,1.6441e+01_rb,1.4550e+01_rb,7.9958e+00_rb/) kbo(:, 4,27,11) = (/ & &3.4948e+01_rb,2.6342e+01_rb,1.9460e+01_rb,1.5757e+01_rb,8.0119e+00_rb/) kbo(:, 5,27,11) = (/ & &4.4164e+01_rb,3.3250e+01_rb,2.3464e+01_rb,1.7068e+01_rb,7.9872e+00_rb/) kbo(:, 1,28,11) = (/ & &1.4343e+01_rb,1.1935e+01_rb,1.2606e+01_rb,1.2286e+01_rb,7.8708e+00_rb/) kbo(:, 2,28,11) = (/ & &1.9534e+01_rb,1.5338e+01_rb,1.4333e+01_rb,1.3405e+01_rb,7.9546e+00_rb/) kbo(:, 3,28,11) = (/ & &2.5909e+01_rb,1.9792e+01_rb,1.6354e+01_rb,1.4575e+01_rb,8.0164e+00_rb/) kbo(:, 4,28,11) = (/ & &3.3450e+01_rb,2.5271e+01_rb,1.9104e+01_rb,1.5810e+01_rb,8.0394e+00_rb/) kbo(:, 5,28,11) = (/ & &4.2201e+01_rb,3.1789e+01_rb,2.2776e+01_rb,1.7191e+01_rb,8.0384e+00_rb/) kbo(:, 1,29,11) = (/ & &1.4799e+01_rb,1.2334e+01_rb,1.2951e+01_rb,1.2470e+01_rb,7.8248e+00_rb/) kbo(:, 2,29,11) = (/ & &2.0134e+01_rb,1.5845e+01_rb,1.4778e+01_rb,1.3682e+01_rb,7.9390e+00_rb/) kbo(:, 3,29,11) = (/ & &2.6563e+01_rb,2.0336e+01_rb,1.6926e+01_rb,1.4933e+01_rb,8.0194e+00_rb/) kbo(:, 4,29,11) = (/ & &3.4143e+01_rb,2.5818e+01_rb,1.9648e+01_rb,1.6307e+01_rb,8.0590e+00_rb/) kbo(:, 5,29,11) = (/ & &4.2969e+01_rb,3.2368e+01_rb,2.3282e+01_rb,1.7794e+01_rb,8.0931e+00_rb/) kbo(:, 1,30,11) = (/ & &1.5772e+01_rb,1.3097e+01_rb,1.3464e+01_rb,1.2783e+01_rb,7.7812e+00_rb/) kbo(:, 2,30,11) = (/ & &2.1344e+01_rb,1.6785e+01_rb,1.5505e+01_rb,1.4108e+01_rb,7.9232e+00_rb/) kbo(:, 3,30,11) = (/ & &2.7999e+01_rb,2.1429e+01_rb,1.7759e+01_rb,1.5492e+01_rb,8.0114e+00_rb/) kbo(:, 4,30,11) = (/ & &3.5848e+01_rb,2.7096e+01_rb,2.0562e+01_rb,1.7031e+01_rb,8.0836e+00_rb/) kbo(:, 5,30,11) = (/ & &4.5004e+01_rb,3.3889e+01_rb,2.4347e+01_rb,1.8589e+01_rb,8.1429e+00_rb/) kbo(:, 1,31,11) = (/ & &1.7716e+01_rb,1.4511e+01_rb,1.4478e+01_rb,1.3396e+01_rb,7.7478e+00_rb/) kbo(:, 2,31,11) = (/ & &2.3853e+01_rb,1.8632e+01_rb,1.6766e+01_rb,1.4874e+01_rb,7.8974e+00_rb/) kbo(:, 3,31,11) = (/ & &3.1182e+01_rb,2.3768e+01_rb,1.9223e+01_rb,1.6499e+01_rb,8.0055e+00_rb/) kbo(:, 4,31,11) = (/ & &3.9834e+01_rb,3.0054e+01_rb,2.2404e+01_rb,1.8165e+01_rb,8.1138e+00_rb/) kbo(:, 5,31,11) = (/ & &4.9938e+01_rb,3.7588e+01_rb,2.6690e+01_rb,1.9788e+01_rb,8.1481e+00_rb/) kbo(:, 1,32,11) = (/ & &2.0151e+01_rb,1.6250e+01_rb,1.5786e+01_rb,1.4153e+01_rb,7.7024e+00_rb/) kbo(:, 2,32,11) = (/ & &2.7022e+01_rb,2.0930e+01_rb,1.8243e+01_rb,1.5874e+01_rb,7.8766e+00_rb/) kbo(:, 3,32,11) = (/ & &3.5292e+01_rb,2.6776e+01_rb,2.1045e+01_rb,1.7666e+01_rb,8.0370e+00_rb/) kbo(:, 4,32,11) = (/ & &4.5050e+01_rb,3.3940e+01_rb,2.4811e+01_rb,1.9434e+01_rb,8.1312e+00_rb/) kbo(:, 5,32,11) = (/ & &5.6497e+01_rb,4.2506e+01_rb,2.9790e+01_rb,2.1188e+01_rb,8.1409e+00_rb/) kbo(:, 1,33,11) = (/ & &2.3401e+01_rb,1.8533e+01_rb,1.7371e+01_rb,1.5193e+01_rb,7.6839e+00_rb/) kbo(:, 2,33,11) = (/ & &3.1308e+01_rb,2.4009e+01_rb,2.0094e+01_rb,1.7155e+01_rb,7.9059e+00_rb/) kbo(:, 3,33,11) = (/ & &4.0829e+01_rb,3.0856e+01_rb,2.3455e+01_rb,1.9076e+01_rb,8.0587e+00_rb/) kbo(:, 4,33,11) = (/ & &5.2189e+01_rb,3.9272e+01_rb,2.8099e+01_rb,2.1008e+01_rb,8.1274e+00_rb/) kbo(:, 5,33,11) = (/ & &6.5586e+01_rb,4.9320e+01_rb,3.4075e+01_rb,2.2993e+01_rb,8.2027e+00_rb/) kbo(:, 1,34,11) = (/ & &2.6313e+01_rb,2.0607e+01_rb,1.8746e+01_rb,1.6201e+01_rb,7.7021e+00_rb/) kbo(:, 2,34,11) = (/ & &3.5155e+01_rb,2.6805e+01_rb,2.1758e+01_rb,1.8283e+01_rb,7.9397e+00_rb/) kbo(:, 3,34,11) = (/ & &4.5927e+01_rb,3.4632e+01_rb,2.5705e+01_rb,2.0353e+01_rb,8.0605e+00_rb/) kbo(:, 4,34,11) = (/ & &5.8835e+01_rb,4.4252e+01_rb,3.1197e+01_rb,2.2458e+01_rb,8.1311e+00_rb/) kbo(:, 5,34,11) = (/ & &7.4250e+01_rb,5.5815e+01_rb,3.8184e+01_rb,2.4701e+01_rb,8.2150e+00_rb/) kbo(:, 1,35,11) = (/ & &2.8876e+01_rb,2.2455e+01_rb,1.9946e+01_rb,1.7124e+01_rb,7.7224e+00_rb/) kbo(:, 2,35,11) = (/ & &3.8715e+01_rb,2.9405e+01_rb,2.3284e+01_rb,1.9326e+01_rb,7.9252e+00_rb/) kbo(:, 3,35,11) = (/ & &5.0778e+01_rb,3.8237e+01_rb,2.7902e+01_rb,2.1577e+01_rb,8.0258e+00_rb/) kbo(:, 4,35,11) = (/ & &6.5355e+01_rb,4.9140e+01_rb,3.4259e+01_rb,2.3860e+01_rb,8.1543e+00_rb/) kbo(:, 5,35,11) = (/ & &8.3003e+01_rb,6.2372e+01_rb,4.2365e+01_rb,2.6463e+01_rb,8.1938e+00_rb/) kbo(:, 1,36,11) = (/ & &3.0603e+01_rb,2.3731e+01_rb,2.0817e+01_rb,1.7816e+01_rb,7.6876e+00_rb/) kbo(:, 2,36,11) = (/ & &4.1304e+01_rb,3.1313e+01_rb,2.4462e+01_rb,2.0172e+01_rb,7.8715e+00_rb/) kbo(:, 3,36,11) = (/ & &5.4533e+01_rb,4.1035e+01_rb,2.9662e+01_rb,2.2576e+01_rb,7.9878e+00_rb/) kbo(:, 4,36,11) = (/ & &7.0736e+01_rb,5.3175e+01_rb,3.6832e+01_rb,2.5052e+01_rb,8.1404e+00_rb/) kbo(:, 5,36,11) = (/ & &9.0535e+01_rb,6.8017e+01_rb,4.6007e+01_rb,2.8044e+01_rb,8.2152e+00_rb/) kbo(:, 1,37,11) = (/ & &3.0255e+01_rb,2.3559e+01_rb,2.0925e+01_rb,1.7969e+01_rb,7.6093e+00_rb/) kbo(:, 2,37,11) = (/ & &4.1246e+01_rb,3.1319e+01_rb,2.4672e+01_rb,2.0442e+01_rb,7.8000e+00_rb/) kbo(:, 3,37,11) = (/ & &5.5008e+01_rb,4.1404e+01_rb,3.0029e+01_rb,2.2965e+01_rb,7.9652e+00_rb/) kbo(:, 4,37,11) = (/ & &7.2100e+01_rb,5.4198e+01_rb,3.7564e+01_rb,2.5602e+01_rb,8.1174e+00_rb/) kbo(:, 5,37,11) = (/ & &9.3252e+01_rb,7.0052e+01_rb,4.7363e+01_rb,2.8813e+01_rb,8.2379e+00_rb/) kbo(:, 1,38,11) = (/ & &3.0319e+01_rb,2.3676e+01_rb,2.1203e+01_rb,1.8223e+01_rb,7.5198e+00_rb/) kbo(:, 2,38,11) = (/ & &4.1784e+01_rb,3.1741e+01_rb,2.5125e+01_rb,2.0837e+01_rb,7.7243e+00_rb/) kbo(:, 3,38,11) = (/ & &5.6316e+01_rb,4.2385e+01_rb,3.0775e+01_rb,2.3517e+01_rb,7.9363e+00_rb/) kbo(:, 4,38,11) = (/ & &7.4582e+01_rb,5.6053e+01_rb,3.8823e+01_rb,2.6361e+01_rb,8.1242e+00_rb/) kbo(:, 5,38,11) = (/ & &9.7510e+01_rb,7.3243e+01_rb,4.9498e+01_rb,2.9889e+01_rb,8.2559e+00_rb/) kbo(:, 1,39,11) = (/ & &3.1111e+01_rb,2.4293e+01_rb,2.1786e+01_rb,1.8666e+01_rb,7.4239e+00_rb/) kbo(:, 2,39,11) = (/ & &4.3408e+01_rb,3.2962e+01_rb,2.6016e+01_rb,2.1461e+01_rb,7.6345e+00_rb/) kbo(:, 3,39,11) = (/ & &5.9150e+01_rb,4.4506e+01_rb,3.2172e+01_rb,2.4357e+01_rb,7.9192e+00_rb/) kbo(:, 4,39,11) = (/ & &7.9245e+01_rb,5.9549e+01_rb,4.1085e+01_rb,2.7494e+01_rb,8.1496e+00_rb/) kbo(:, 5,39,11) = (/ & &1.0467e+02_rb,7.8610e+01_rb,5.2990e+01_rb,3.1523e+01_rb,8.2789e+00_rb/) kbo(:, 1,40,11) = (/ & &2.8917e+01_rb,2.2849e+01_rb,2.1212e+01_rb,1.8303e+01_rb,7.3082e+00_rb/) kbo(:, 2,40,11) = (/ & &4.0995e+01_rb,3.1270e+01_rb,2.5375e+01_rb,2.1193e+01_rb,7.5582e+00_rb/) kbo(:, 3,40,11) = (/ & &5.6673e+01_rb,4.2684e+01_rb,3.1298e+01_rb,2.4183e+01_rb,7.8695e+00_rb/) kbo(:, 4,40,11) = (/ & &7.6946e+01_rb,5.7826e+01_rb,4.0125e+01_rb,2.7426e+01_rb,8.1312e+00_rb/) kbo(:, 5,40,11) = (/ & &1.0293e+02_rb,7.7305e+01_rb,5.2205e+01_rb,3.1496e+01_rb,8.2689e+00_rb/) kbo(:, 1,41,11) = (/ & &2.6634e+01_rb,2.1385e+01_rb,2.0561e+01_rb,1.7885e+01_rb,7.1901e+00_rb/) kbo(:, 2,41,11) = (/ & &3.8375e+01_rb,2.9451e+01_rb,2.4682e+01_rb,2.0867e+01_rb,7.4740e+00_rb/) kbo(:, 3,41,11) = (/ & &5.3928e+01_rb,4.0671e+01_rb,3.0356e+01_rb,2.3955e+01_rb,7.8182e+00_rb/) kbo(:, 4,41,11) = (/ & &7.4310e+01_rb,5.5850e+01_rb,3.9033e+01_rb,2.7309e+01_rb,8.0950e+00_rb/) kbo(:, 5,41,11) = (/ & &1.0067e+02_rb,7.5610e+01_rb,5.1206e+01_rb,3.1414e+01_rb,8.2644e+00_rb/) kbo(:, 1,42,11) = (/ & &2.4738e+01_rb,2.0233e+01_rb,2.0020e+01_rb,1.7547e+01_rb,7.0619e+00_rb/) kbo(:, 2,42,11) = (/ & &3.6234e+01_rb,2.7982e+01_rb,2.4175e+01_rb,2.0637e+01_rb,7.4025e+00_rb/) kbo(:, 3,42,11) = (/ & &5.1779e+01_rb,3.9115e+01_rb,2.9714e+01_rb,2.3853e+01_rb,7.7568e+00_rb/) kbo(:, 4,42,11) = (/ & &7.2527e+01_rb,5.4511e+01_rb,3.8357e+01_rb,2.7357e+01_rb,8.0593e+00_rb/) kbo(:, 5,42,11) = (/ & &9.9602e+01_rb,7.4807e+01_rb,5.0774e+01_rb,3.1579e+01_rb,8.2618e+00_rb/) kbo(:, 1,43,11) = (/ & &2.2598e+01_rb,1.8979e+01_rb,1.9339e+01_rb,1.7092e+01_rb,6.9063e+00_rb/) kbo(:, 2,43,11) = (/ & &3.3721e+01_rb,2.6289e+01_rb,2.3541e+01_rb,2.0300e+01_rb,7.2922e+00_rb/) kbo(:, 3,43,11) = (/ & &4.9059e+01_rb,3.7168e+01_rb,2.8920e+01_rb,2.3665e+01_rb,7.6599e+00_rb/) kbo(:, 4,43,11) = (/ & &6.9947e+01_rb,5.2582e+01_rb,3.7401e+01_rb,2.7324e+01_rb,7.9953e+00_rb/) kbo(:, 5,43,11) = (/ & &9.7637e+01_rb,7.3334e+01_rb,4.9954e+01_rb,3.1634e+01_rb,8.2449e+00_rb/) kbo(:, 1,44,11) = (/ & &2.0598e+01_rb,1.7877e+01_rb,1.8670e+01_rb,1.6634e+01_rb,6.7349e+00_rb/) kbo(:, 2,44,11) = (/ & &3.1385e+01_rb,2.4755e+01_rb,2.2973e+01_rb,1.9973e+01_rb,7.1646e+00_rb/) kbo(:, 3,44,11) = (/ & &4.6533e+01_rb,3.5381e+01_rb,2.8231e+01_rb,2.3518e+01_rb,7.5534e+00_rb/) kbo(:, 4,44,11) = (/ & &6.7572e+01_rb,5.0818e+01_rb,3.6582e+01_rb,2.7361e+01_rb,7.9184e+00_rb/) kbo(:, 5,44,11) = (/ & &9.6116e+01_rb,7.2195e+01_rb,4.9367e+01_rb,3.1819e+01_rb,8.2107e+00_rb/) kbo(:, 1,45,11) = (/ & &1.9103e+01_rb,1.7116e+01_rb,1.8163e+01_rb,1.6283e+01_rb,6.5605e+00_rb/) kbo(:, 2,45,11) = (/ & &2.9658e+01_rb,2.3682e+01_rb,2.2618e+01_rb,1.9789e+01_rb,7.0239e+00_rb/) kbo(:, 3,45,11) = (/ & &4.4853e+01_rb,3.4227e+01_rb,2.7909e+01_rb,2.3555e+01_rb,7.4383e+00_rb/) kbo(:, 4,45,11) = (/ & &6.6390e+01_rb,4.9954e+01_rb,3.6314e+01_rb,2.7640e+01_rb,7.8580e+00_rb/) kbo(:, 5,45,11) = (/ & &9.6230e+01_rb,7.2282e+01_rb,4.9573e+01_rb,3.2349e+01_rb,8.1505e+00_rb/) kbo(:, 1,46,11) = (/ & &1.7603e+01_rb,1.6408e+01_rb,1.7601e+01_rb,1.5877e+01_rb,6.3549e+00_rb/) kbo(:, 2,46,11) = (/ & &2.7890e+01_rb,2.2645e+01_rb,2.2217e+01_rb,1.9546e+01_rb,6.8535e+00_rb/) kbo(:, 3,46,11) = (/ & &4.3095e+01_rb,3.3035e+01_rb,2.7597e+01_rb,2.3556e+01_rb,7.2985e+00_rb/) kbo(:, 4,46,11) = (/ & &6.5080e+01_rb,4.9001e+01_rb,3.6011e+01_rb,2.7911e+01_rb,7.7668e+00_rb/) kbo(:, 5,46,11) = (/ & &9.6111e+01_rb,7.2194e+01_rb,4.9702e+01_rb,3.2895e+01_rb,8.0887e+00_rb/) kbo(:, 1,47,11) = (/ & &1.5582e+01_rb,1.5416e+01_rb,1.6712e+01_rb,1.5202e+01_rb,6.1058e+00_rb/) kbo(:, 2,47,11) = (/ & &2.5371e+01_rb,2.1144e+01_rb,2.1438e+01_rb,1.8984e+01_rb,6.6529e+00_rb/) kbo(:, 3,47,11) = (/ & &4.0058e+01_rb,3.0957e+01_rb,2.6834e+01_rb,2.3189e+01_rb,7.1345e+00_rb/) kbo(:, 4,47,11) = (/ & &6.1807e+01_rb,4.6615e+01_rb,3.4933e+01_rb,2.7758e+01_rb,7.6397e+00_rb/) kbo(:, 5,47,11) = (/ & &9.3127e+01_rb,6.9962e+01_rb,4.8499e+01_rb,3.2952e+01_rb,7.9851e+00_rb/) kbo(:, 1,48,11) = (/ & &1.4034e+01_rb,1.4681e+01_rb,1.5989e+01_rb,1.4629e+01_rb,5.8421e+00_rb/) kbo(:, 2,48,11) = (/ & &2.3558e+01_rb,2.0186e+01_rb,2.0890e+01_rb,1.8564e+01_rb,6.4412e+00_rb/) kbo(:, 3,48,11) = (/ & &3.8004e+01_rb,2.9609e+01_rb,2.6472e+01_rb,2.3010e+01_rb,6.9605e+00_rb/) kbo(:, 4,48,11) = (/ & &5.9949e+01_rb,4.5296e+01_rb,3.4518e+01_rb,2.7885e+01_rb,7.5000e+00_rb/) kbo(:, 5,48,11) = (/ & &9.2277e+01_rb,6.9322e+01_rb,4.8288e+01_rb,3.3402e+01_rb,7.8874e+00_rb/) kbo(:, 1,49,11) = (/ & &1.3020e+01_rb,1.4223e+01_rb,1.5508e+01_rb,1.4222e+01_rb,5.5629e+00_rb/) kbo(:, 2,49,11) = (/ & &2.2531e+01_rb,1.9765e+01_rb,2.0674e+01_rb,1.8360e+01_rb,6.2033e+00_rb/) kbo(:, 3,49,11) = (/ & &3.7326e+01_rb,2.9255e+01_rb,2.6622e+01_rb,2.3133e+01_rb,6.7696e+00_rb/) kbo(:, 4,49,11) = (/ & &6.0141e+01_rb,4.5507e+01_rb,3.5009e+01_rb,2.8438e+01_rb,7.3484e+00_rb/) kbo(:, 5,49,11) = (/ & &9.4669e+01_rb,7.1125e+01_rb,4.9613e+01_rb,3.4451e+01_rb,7.7676e+00_rb/) kbo(:, 1,50,11) = (/ & &1.1528e+01_rb,1.3385e+01_rb,1.4676e+01_rb,1.3553e+01_rb,5.2886e+00_rb/) kbo(:, 2,50,11) = (/ & &2.0590e+01_rb,1.8779e+01_rb,1.9954e+01_rb,1.7785e+01_rb,5.9683e+00_rb/) kbo(:, 3,50,11) = (/ & &3.5112e+01_rb,2.7878e+01_rb,2.6128e+01_rb,2.2750e+01_rb,6.5812e+00_rb/) kbo(:, 4,50,11) = (/ & &5.7821e+01_rb,4.3871e+01_rb,3.4428e+01_rb,2.8358e+01_rb,7.1800e+00_rb/) kbo(:, 5,50,11) = (/ & &9.2920e+01_rb,6.9817e+01_rb,4.9041e+01_rb,3.4691e+01_rb,7.6346e+00_rb/) kbo(:, 1,51,11) = (/ & &9.9087e+00_rb,1.2389e+01_rb,1.3702e+01_rb,1.2771e+01_rb,5.0110e+00_rb/) kbo(:, 2,51,11) = (/ & &1.8347e+01_rb,1.7625e+01_rb,1.8991e+01_rb,1.7018e+01_rb,5.7321e+00_rb/) kbo(:, 3,51,11) = (/ & &3.2210e+01_rb,2.6119e+01_rb,2.5308e+01_rb,2.2105e+01_rb,6.3824e+00_rb/) kbo(:, 4,51,11) = (/ & &5.4374e+01_rb,4.1438e+01_rb,3.3397e+01_rb,2.7944e+01_rb,7.0038e+00_rb/) kbo(:, 5,51,11) = (/ & &8.9118e+01_rb,6.6984e+01_rb,4.7570e+01_rb,3.4540e+01_rb,7.4941e+00_rb/) kbo(:, 1,52,11) = (/ & &8.6167e+00_rb,1.1576e+01_rb,1.2899e+01_rb,1.2089e+01_rb,4.7245e+00_rb/) kbo(:, 2,52,11) = (/ & &1.6651e+01_rb,1.6818e+01_rb,1.8231e+01_rb,1.6395e+01_rb,5.4842e+00_rb/) kbo(:, 3,52,11) = (/ & &3.0138e+01_rb,2.4957e+01_rb,2.4762e+01_rb,2.1646e+01_rb,6.1679e+00_rb/) kbo(:, 4,52,11) = (/ & &5.2273e+01_rb,4.0011e+01_rb,3.2952e+01_rb,2.7789e+01_rb,6.8199e+00_rb/) kbo(:, 5,52,11) = (/ & &8.7481e+01_rb,6.5781e+01_rb,4.7111e+01_rb,3.4770e+01_rb,7.3415e+00_rb/) kbo(:, 1,53,11) = (/ & &7.6702e+00_rb,1.0979e+01_rb,1.2289e+01_rb,1.1530e+01_rb,4.4295e+00_rb/) kbo(:, 2,53,11) = (/ & &1.5508e+01_rb,1.6366e+01_rb,1.7771e+01_rb,1.5970e+01_rb,5.2253e+00_rb/) kbo(:, 3,53,11) = (/ & &2.9086e+01_rb,2.4490e+01_rb,2.4633e+01_rb,2.1484e+01_rb,5.9485e+00_rb/) kbo(:, 4,53,11) = (/ & &5.1881e+01_rb,3.9852e+01_rb,3.3235e+01_rb,2.8055e+01_rb,6.6238e+00_rb/) kbo(:, 5,53,11) = (/ & &8.8988e+01_rb,6.6930e+01_rb,4.8082e+01_rb,3.5589e+01_rb,7.1849e+00_rb/) kbo(:, 1,54,11) = (/ & &5.9450e+00_rb,9.6177e+00_rb,1.0972e+01_rb,1.0431e+01_rb,4.1455e+00_rb/) kbo(:, 2,54,11) = (/ & &1.2556e+01_rb,1.4668e+01_rb,1.6126e+01_rb,1.4708e+01_rb,4.9524e+00_rb/) kbo(:, 3,54,11) = (/ & &2.4491e+01_rb,2.1770e+01_rb,2.2780e+01_rb,2.0031e+01_rb,5.7134e+00_rb/) kbo(:, 4,54,11) = (/ & &4.4954e+01_rb,3.5031e+01_rb,3.0908e+01_rb,2.6515e+01_rb,6.4122e+00_rb/) kbo(:, 5,54,11) = (/ & &7.9027e+01_rb,5.9569e+01_rb,4.4065e+01_rb,3.4001e+01_rb,7.0090e+00_rb/) kbo(:, 1,55,11) = (/ & &4.1710e+00_rb,8.0225e+00_rb,9.3978e+00_rb,9.1226e+00_rb,3.8682e+00_rb/) kbo(:, 2,55,11) = (/ & &9.2293e+00_rb,1.2486e+01_rb,1.4001e+01_rb,1.3070e+01_rb,4.6969e+00_rb/) kbo(:, 3,55,11) = (/ & &1.8778e+01_rb,1.8456e+01_rb,2.0084e+01_rb,1.7971e+01_rb,5.4658e+00_rb/) kbo(:, 4,55,11) = (/ & &3.5574e+01_rb,2.8777e+01_rb,2.7568e+01_rb,2.4021e+01_rb,6.1617e+00_rb/) kbo(:, 5,55,11) = (/ & &6.4114e+01_rb,4.8674e+01_rb,3.8113e+01_rb,3.1115e+01_rb,6.8236e+00_rb/) kbo(:, 1,56,11) = (/ & &2.8728e+00_rb,6.6889e+00_rb,8.0328e+00_rb,7.9557e+00_rb,3.5989e+00_rb/) kbo(:, 2,56,11) = (/ & &6.6874e+00_rb,1.0605e+01_rb,1.2156e+01_rb,1.1597e+01_rb,4.4247e+00_rb/) kbo(:, 3,56,11) = (/ & &1.4226e+01_rb,1.5908e+01_rb,1.7667e+01_rb,1.6104e+01_rb,5.2042e+00_rb/) kbo(:, 4,56,11) = (/ & &2.7945e+01_rb,2.3989e+01_rb,2.4626e+01_rb,2.1735e+01_rb,5.9393e+00_rb/) kbo(:, 5,56,11) = (/ & &5.1707e+01_rb,3.9775e+01_rb,3.3431e+01_rb,2.8442e+01_rb,6.5979e+00_rb/) kbo(:, 1,57,11) = (/ & &1.9429e+00_rb,5.5686e+00_rb,6.8405e+00_rb,6.9151e+00_rb,3.3226e+00_rb/) kbo(:, 2,57,11) = (/ & &4.7724e+00_rb,8.9791e+00_rb,1.0545e+01_rb,1.0240e+01_rb,4.1527e+00_rb/) kbo(:, 3,57,11) = (/ & &1.0641e+01_rb,1.3735e+01_rb,1.5504e+01_rb,1.4420e+01_rb,4.9657e+00_rb/) kbo(:, 4,57,11) = (/ & &2.1776e+01_rb,2.0320e+01_rb,2.1929e+01_rb,1.9615e+01_rb,5.6966e+00_rb/) kbo(:, 5,57,11) = (/ & &4.1383e+01_rb,3.2617e+01_rb,2.9771e+01_rb,2.5932e+01_rb,6.3597e+00_rb/) kbo(:, 1,58,11) = (/ & &3.4498e-01_rb,1.5267e+00_rb,2.4690e+00_rb,3.5849e+00_rb,3.0713e+00_rb/) kbo(:, 2,58,11) = (/ & &8.9647e-01_rb,2.5018e+00_rb,3.8790e+00_rb,5.3697e+00_rb,3.9024e+00_rb/) kbo(:, 3,58,11) = (/ & &2.0963e+00_rb,3.8966e+00_rb,5.7628e+00_rb,7.6647e+00_rb,4.7137e+00_rb/) kbo(:, 4,58,11) = (/ & &4.4774e+00_rb,5.7497e+00_rb,8.2495e+00_rb,1.0504e+01_rb,5.4718e+00_rb/) kbo(:, 5,58,11) = (/ & &8.7673e+00_rb,8.8663e+00_rb,1.1318e+01_rb,1.3996e+01_rb,6.1538e+00_rb/) kbo(:, 1,59,11) = (/ & &3.2685e-01_rb,1.8752e+00_rb,2.9232e+00_rb,3.9328e+00_rb,2.9672e+00_rb/) kbo(:, 2,59,11) = (/ & &8.8018e-01_rb,3.0635e+00_rb,4.5809e+00_rb,5.8034e+00_rb,3.8049e+00_rb/) kbo(:, 3,59,11) = (/ & &2.1278e+00_rb,4.7401e+00_rb,6.7591e+00_rb,8.2573e+00_rb,4.6076e+00_rb/) kbo(:, 4,59,11) = (/ & &4.6712e+00_rb,6.9756e+00_rb,9.6079e+00_rb,1.1224e+01_rb,5.3733e+00_rb/) kbo(:, 5,59,11) = (/ & &9.3271e+00_rb,1.0056e+01_rb,1.3155e+01_rb,1.4840e+01_rb,6.0503e+00_rb/) kbo(:, 1,13,12) = (/ & &7.5516e+02_rb,5.6651e+02_rb,3.7786e+02_rb,1.8921e+02_rb,4.6057e+00_rb/) kbo(:, 2,13,12) = (/ & &1.1031e+03_rb,8.2746e+02_rb,5.5183e+02_rb,2.7620e+02_rb,4.4752e+00_rb/) kbo(:, 3,13,12) = (/ & &1.5208e+03_rb,1.1407e+03_rb,7.6067e+02_rb,3.8062e+02_rb,4.3357e+00_rb/) kbo(:, 4,13,12) = (/ & &2.0072e+03_rb,1.5056e+03_rb,1.0039e+03_rb,5.0221e+02_rb,4.1960e+00_rb/) kbo(:, 5,13,12) = (/ & &2.5500e+03_rb,1.9126e+03_rb,1.2753e+03_rb,6.3790e+02_rb,4.0223e+00_rb/) kbo(:, 1,14,12) = (/ & &5.0313e+02_rb,3.7749e+02_rb,2.5185e+02_rb,1.2621e+02_rb,5.0046e+00_rb/) kbo(:, 2,14,12) = (/ & &7.2897e+02_rb,5.4687e+02_rb,3.6476e+02_rb,1.8266e+02_rb,4.8590e+00_rb/) kbo(:, 3,14,12) = (/ & &9.9893e+02_rb,7.4933e+02_rb,4.9972e+02_rb,2.5013e+02_rb,4.7095e+00_rb/) kbo(:, 4,14,12) = (/ & &1.3102e+03_rb,9.8276e+02_rb,6.5533e+02_rb,3.2791e+02_rb,4.5769e+00_rb/) kbo(:, 5,14,12) = (/ & &1.6551e+03_rb,1.2414e+03_rb,8.2775e+02_rb,4.1411e+02_rb,4.4631e+00_rb/) kbo(:, 1,15,12) = (/ & &3.3639e+02_rb,2.5243e+02_rb,1.6847e+02_rb,8.4507e+01_rb,5.4523e+00_rb/) kbo(:, 2,15,12) = (/ & &4.8280e+02_rb,3.6223e+02_rb,2.4166e+02_rb,1.2109e+02_rb,5.3133e+00_rb/) kbo(:, 3,15,12) = (/ & &6.5719e+02_rb,4.9302e+02_rb,3.2884e+02_rb,1.6466e+02_rb,5.1834e+00_rb/) kbo(:, 4,15,12) = (/ & &8.5550e+02_rb,6.4175e+02_rb,4.2799e+02_rb,2.1423e+02_rb,5.0660e+00_rb/) kbo(:, 5,15,12) = (/ & &1.0728e+03_rb,8.0472e+02_rb,5.3663e+02_rb,2.6854e+02_rb,4.9623e+00_rb/) kbo(:, 1,16,12) = (/ & &2.6229e+02_rb,1.9684e+02_rb,1.3139e+02_rb,6.5935e+01_rb,6.0512e+00_rb/) kbo(:, 2,16,12) = (/ & &3.7303e+02_rb,2.7989e+02_rb,1.8674e+02_rb,9.3604e+01_rb,5.9120e+00_rb/) kbo(:, 3,16,12) = (/ & &5.0297e+02_rb,3.7733e+02_rb,2.5170e+02_rb,1.2607e+02_rb,5.7872e+00_rb/) kbo(:, 4,16,12) = (/ & &6.4911e+02_rb,4.8694e+02_rb,3.2477e+02_rb,1.6260e+02_rb,5.6679e+00_rb/) kbo(:, 5,16,12) = (/ & &8.0986e+02_rb,6.0750e+02_rb,4.0515e+02_rb,2.0279e+02_rb,5.5547e+00_rb/) kbo(:, 1,17,12) = (/ & &2.0705e+02_rb,1.5540e+02_rb,1.0375e+02_rb,5.2106e+01_rb,6.7730e+00_rb/) kbo(:, 2,17,12) = (/ & &2.9135e+02_rb,2.1862e+02_rb,1.4589e+02_rb,7.3163e+01_rb,6.6333e+00_rb/) kbo(:, 3,17,12) = (/ & &3.8916e+02_rb,2.9197e+02_rb,1.9479e+02_rb,9.7603e+01_rb,6.4989e+00_rb/) kbo(:, 4,17,12) = (/ & &4.9976e+02_rb,3.7492e+02_rb,2.5009e+02_rb,1.2525e+02_rb,6.3687e+00_rb/) kbo(:, 5,17,12) = (/ & &6.2230e+02_rb,4.6683e+02_rb,3.1136e+02_rb,1.5589e+02_rb,6.2358e+00_rb/) kbo(:, 1,18,12) = (/ & &1.6333e+02_rb,1.2261e+02_rb,8.1888e+01_rb,4.1178e+01_rb,7.5424e+00_rb/) kbo(:, 2,18,12) = (/ & &2.2759e+02_rb,1.7080e+02_rb,1.1401e+02_rb,5.7226e+01_rb,7.4084e+00_rb/) kbo(:, 3,18,12) = (/ & &3.0244e+02_rb,2.2693e+02_rb,1.5143e+02_rb,7.5931e+01_rb,7.2669e+00_rb/) kbo(:, 4,18,12) = (/ & &3.8758e+02_rb,2.9079e+02_rb,1.9400e+02_rb,9.7216e+01_rb,7.1208e+00_rb/) kbo(:, 5,18,12) = (/ & &4.8269e+02_rb,3.6212e+02_rb,2.4155e+02_rb,1.2098e+02_rb,6.9720e+00_rb/) kbo(:, 1,19,12) = (/ & &1.2382e+02_rb,9.2977e+01_rb,6.2136e+01_rb,3.1325e+01_rb,8.3597e+00_rb/) kbo(:, 2,19,12) = (/ & &1.7154e+02_rb,1.2877e+02_rb,8.5994e+01_rb,4.3233e+01_rb,8.2061e+00_rb/) kbo(:, 3,19,12) = (/ & &2.2748e+02_rb,1.7072e+02_rb,1.1396e+02_rb,5.7206e+01_rb,8.0513e+00_rb/) kbo(:, 4,19,12) = (/ & &2.9138e+02_rb,2.1864e+02_rb,1.4590e+02_rb,7.3167e+01_rb,7.8994e+00_rb/) kbo(:, 5,19,12) = (/ & &3.6253e+02_rb,2.7200e+02_rb,1.8147e+02_rb,9.0939e+01_rb,7.7452e+00_rb/) kbo(:, 1,20,12) = (/ & &1.0042e+02_rb,7.5430e+01_rb,5.0444e+01_rb,2.5891e+01_rb,9.1675e+00_rb/) kbo(:, 2,20,12) = (/ & &1.3861e+02_rb,1.0407e+02_rb,6.9532e+01_rb,3.5031e+01_rb,9.0030e+00_rb/) kbo(:, 3,20,12) = (/ & &1.8351e+02_rb,1.3774e+02_rb,9.1975e+01_rb,4.6211e+01_rb,8.8390e+00_rb/) kbo(:, 4,20,12) = (/ & &2.3463e+02_rb,1.7607e+02_rb,1.1752e+02_rb,5.8971e+01_rb,8.6735e+00_rb/) kbo(:, 5,20,12) = (/ & &2.9128e+02_rb,2.1856e+02_rb,1.4583e+02_rb,7.3117e+01_rb,8.5016e+00_rb/) kbo(:, 1,21,12) = (/ & &8.3057e+01_rb,6.2407e+01_rb,4.1762e+01_rb,2.2683e+01_rb,9.9550e+00_rb/) kbo(:, 2,21,12) = (/ & &1.1435e+02_rb,8.5868e+01_rb,5.7394e+01_rb,2.9474e+01_rb,9.7863e+00_rb/) kbo(:, 3,21,12) = (/ & &1.5096e+02_rb,1.1332e+02_rb,7.5686e+01_rb,3.8128e+01_rb,9.6108e+00_rb/) kbo(:, 4,21,12) = (/ & &1.9244e+02_rb,1.4443e+02_rb,9.6415e+01_rb,4.8410e+01_rb,9.4311e+00_rb/) kbo(:, 5,21,12) = (/ & &2.3840e+02_rb,1.7889e+02_rb,1.1939e+02_rb,5.9885e+01_rb,9.2417e+00_rb/) kbo(:, 1,22,12) = (/ & &7.1250e+01_rb,5.3549e+01_rb,3.5853e+01_rb,2.1126e+01_rb,1.0685e+01_rb/) kbo(:, 2,22,12) = (/ & &9.7414e+01_rb,7.3164e+01_rb,4.8918e+01_rb,2.6307e+01_rb,1.0512e+01_rb/) kbo(:, 3,22,12) = (/ & &1.2780e+02_rb,9.5945e+01_rb,6.4097e+01_rb,3.2967e+01_rb,1.0335e+01_rb/) kbo(:, 4,22,12) = (/ & &1.6218e+02_rb,1.2173e+02_rb,8.1281e+01_rb,4.1038e+01_rb,1.0145e+01_rb/) kbo(:, 5,22,12) = (/ & &2.0041e+02_rb,1.5040e+02_rb,1.0039e+02_rb,5.0398e+01_rb,9.9454e+00_rb/) kbo(:, 1,23,12) = (/ & &6.0942e+01_rb,4.5813e+01_rb,3.0934e+01_rb,2.0012e+01_rb,1.1340e+01_rb/) kbo(:, 2,23,12) = (/ & &8.2640e+01_rb,6.2081e+01_rb,4.1527e+01_rb,2.4053e+01_rb,1.1180e+01_rb/) kbo(:, 3,23,12) = (/ & &1.0785e+02_rb,8.0983e+01_rb,5.4124e+01_rb,2.9110e+01_rb,1.1001e+01_rb/) kbo(:, 4,23,12) = (/ & &1.3652e+02_rb,1.0249e+02_rb,6.8454e+01_rb,3.5343e+01_rb,1.0812e+01_rb/) kbo(:, 5,23,12) = (/ & &1.6894e+02_rb,1.2680e+02_rb,8.4663e+01_rb,4.2880e+01_rb,1.0609e+01_rb/) kbo(:, 1,24,12) = (/ & &5.1406e+01_rb,3.8659e+01_rb,2.6835e+01_rb,1.9368e+01_rb,1.1917e+01_rb/) kbo(:, 2,24,12) = (/ & &6.9266e+01_rb,5.2052e+01_rb,3.5118e+01_rb,2.2283e+01_rb,1.1770e+01_rb/) kbo(:, 3,24,12) = (/ & &9.0127e+01_rb,6.7693e+01_rb,4.5282e+01_rb,2.6104e+01_rb,1.1607e+01_rb/) kbo(:, 4,24,12) = (/ & &1.1424e+02_rb,8.5780e+01_rb,5.7328e+01_rb,3.0937e+01_rb,1.1421e+01_rb/) kbo(:, 5,24,12) = (/ & &1.4182e+02_rb,1.0646e+02_rb,7.1109e+01_rb,3.6894e+01_rb,1.1218e+01_rb/) kbo(:, 1,25,12) = (/ & &4.3762e+01_rb,3.2928e+01_rb,2.3974e+01_rb,1.9297e+01_rb,1.2406e+01_rb/) kbo(:, 2,25,12) = (/ & &5.8726e+01_rb,4.4147e+01_rb,3.0453e+01_rb,2.1379e+01_rb,1.2284e+01_rb/) kbo(:, 3,25,12) = (/ & &7.6463e+01_rb,5.7453e+01_rb,3.8735e+01_rb,2.4187e+01_rb,1.2134e+01_rb/) kbo(:, 4,25,12) = (/ & &9.7222e+01_rb,7.3021e+01_rb,4.8859e+01_rb,2.7987e+01_rb,1.1961e+01_rb/) kbo(:, 5,25,12) = (/ & &1.2098e+02_rb,9.0828e+01_rb,6.0694e+01_rb,3.2765e+01_rb,1.1759e+01_rb/) kbo(:, 1,26,12) = (/ & &3.8022e+01_rb,2.8659e+01_rb,2.2105e+01_rb,1.9516e+01_rb,1.2805e+01_rb/) kbo(:, 2,26,12) = (/ & &5.0994e+01_rb,3.8356e+01_rb,2.7362e+01_rb,2.1131e+01_rb,1.2709e+01_rb/) kbo(:, 3,26,12) = (/ & &6.6538e+01_rb,5.0014e+01_rb,3.4258e+01_rb,2.3250e+01_rb,1.2582e+01_rb/) kbo(:, 4,26,12) = (/ & &8.4702e+01_rb,6.3631e+01_rb,4.2833e+01_rb,2.6169e+01_rb,1.2418e+01_rb/) kbo(:, 5,26,12) = (/ & &1.0565e+02_rb,7.9327e+01_rb,5.3062e+01_rb,3.0028e+01_rb,1.2216e+01_rb/) kbo(:, 1,27,12) = (/ & &3.4489e+01_rb,2.6132e+01_rb,2.1235e+01_rb,1.9878e+01_rb,1.3122e+01_rb/) kbo(:, 2,27,12) = (/ & &4.6305e+01_rb,3.4844e+01_rb,2.5714e+01_rb,2.1342e+01_rb,1.3062e+01_rb/) kbo(:, 3,27,12) = (/ & &6.0441e+01_rb,4.5443e+01_rb,3.1734e+01_rb,2.3085e+01_rb,1.2955e+01_rb/) kbo(:, 4,27,12) = (/ & &7.7109e+01_rb,5.7931e+01_rb,3.9347e+01_rb,2.5409e+01_rb,1.2800e+01_rb/) kbo(:, 5,27,12) = (/ & &9.6578e+01_rb,7.2521e+01_rb,4.8662e+01_rb,2.8654e+01_rb,1.2602e+01_rb/) kbo(:, 1,28,12) = (/ & &3.2427e+01_rb,2.4737e+01_rb,2.0948e+01_rb,2.0280e+01_rb,1.3386e+01_rb/) kbo(:, 2,28,12) = (/ & &4.3501e+01_rb,3.2787e+01_rb,2.4919e+01_rb,2.1714e+01_rb,1.3352e+01_rb/) kbo(:, 3,28,12) = (/ & &5.6891e+01_rb,4.2776e+01_rb,3.0416e+01_rb,2.3252e+01_rb,1.3262e+01_rb/) kbo(:, 4,28,12) = (/ & &7.2922e+01_rb,5.4789e+01_rb,3.7531e+01_rb,2.5273e+01_rb,1.3118e+01_rb/) kbo(:, 5,28,12) = (/ & &9.1872e+01_rb,6.8992e+01_rb,4.6457e+01_rb,2.8166e+01_rb,1.2926e+01_rb/) kbo(:, 1,29,12) = (/ & &3.2667e+01_rb,2.5018e+01_rb,2.1498e+01_rb,2.0955e+01_rb,1.3603e+01_rb/) kbo(:, 2,29,12) = (/ & &4.3912e+01_rb,3.3123e+01_rb,2.5431e+01_rb,2.2422e+01_rb,1.3591e+01_rb/) kbo(:, 3,29,12) = (/ & &5.7701e+01_rb,4.3385e+01_rb,3.1008e+01_rb,2.3974e+01_rb,1.3517e+01_rb/) kbo(:, 4,29,12) = (/ & &7.4275e+01_rb,5.5806e+01_rb,3.8313e+01_rb,2.6005e+01_rb,1.3383e+01_rb/) kbo(:, 5,29,12) = (/ & &9.3871e+01_rb,7.0500e+01_rb,4.7521e+01_rb,2.8930e+01_rb,1.3178e+01_rb/) kbo(:, 1,30,12) = (/ & &3.4156e+01_rb,2.6153e+01_rb,2.2429e+01_rb,2.1713e+01_rb,1.3788e+01_rb/) kbo(:, 2,30,12) = (/ & &4.6027e+01_rb,3.4711e+01_rb,2.6560e+01_rb,2.3234e+01_rb,1.3795e+01_rb/) kbo(:, 3,30,12) = (/ & &6.0622e+01_rb,4.5582e+01_rb,3.2488e+01_rb,2.4921e+01_rb,1.3734e+01_rb/) kbo(:, 4,30,12) = (/ & &7.8321e+01_rb,5.8857e+01_rb,4.0368e+01_rb,2.7080e+01_rb,1.3599e+01_rb/) kbo(:, 5,30,12) = (/ & &9.9301e+01_rb,7.4592e+01_rb,5.0256e+01_rb,3.0286e+01_rb,1.3384e+01_rb/) kbo(:, 1,31,12) = (/ & &3.8076e+01_rb,2.9005e+01_rb,2.4159e+01_rb,2.2772e+01_rb,1.3950e+01_rb/) kbo(:, 2,31,12) = (/ & &5.1386e+01_rb,3.8696e+01_rb,2.8953e+01_rb,2.4505e+01_rb,1.3973e+01_rb/) kbo(:, 3,31,12) = (/ & &6.7843e+01_rb,5.1009e+01_rb,3.5918e+01_rb,2.6433e+01_rb,1.3920e+01_rb/) kbo(:, 4,31,12) = (/ & &8.7812e+01_rb,6.5990e+01_rb,4.4995e+01_rb,2.9071e+01_rb,1.3753e+01_rb/) kbo(:, 5,31,12) = (/ & &1.1160e+02_rb,8.3824e+01_rb,5.6340e+01_rb,3.3050e+01_rb,1.3573e+01_rb/) kbo(:, 1,32,12) = (/ & &4.3422e+01_rb,3.2909e+01_rb,2.6354e+01_rb,2.4011e+01_rb,1.4101e+01_rb/) kbo(:, 2,32,12) = (/ & &5.8749e+01_rb,4.4202e+01_rb,3.2268e+01_rb,2.6008e+01_rb,1.4129e+01_rb/) kbo(:, 3,32,12) = (/ & &7.7682e+01_rb,5.8398e+01_rb,4.0569e+01_rb,2.8355e+01_rb,1.4037e+01_rb/) kbo(:, 4,32,12) = (/ & &1.0053e+02_rb,7.5534e+01_rb,5.1158e+01_rb,3.1768e+01_rb,1.3909e+01_rb/) kbo(:, 5,32,12) = (/ & &1.2780e+02_rb,9.5988e+01_rb,6.4344e+01_rb,3.6705e+01_rb,1.3757e+01_rb/) kbo(:, 1,33,12) = (/ & &5.0972e+01_rb,3.8474e+01_rb,2.9509e+01_rb,2.5608e+01_rb,1.4236e+01_rb/) kbo(:, 2,33,12) = (/ & &6.8978e+01_rb,5.1873e+01_rb,3.6983e+01_rb,2.7940e+01_rb,1.4225e+01_rb/) kbo(:, 3,33,12) = (/ & &9.1196e+01_rb,6.8536e+01_rb,4.6964e+01_rb,3.1045e+01_rb,1.4156e+01_rb/) kbo(:, 4,33,12) = (/ & &1.1806e+02_rb,8.8684e+01_rb,5.9688e+01_rb,3.5479e+01_rb,1.4053e+01_rb/) kbo(:, 5,33,12) = (/ & &1.5026e+02_rb,1.1283e+02_rb,7.5476e+01_rb,4.1722e+01_rb,1.3797e+01_rb/) kbo(:, 1,34,12) = (/ & &5.8196e+01_rb,4.3842e+01_rb,3.2696e+01_rb,2.7075e+01_rb,1.4322e+01_rb/) kbo(:, 2,34,12) = (/ & &7.8717e+01_rb,5.9180e+01_rb,4.1505e+01_rb,2.9899e+01_rb,1.4304e+01_rb/) kbo(:, 3,34,12) = (/ & &1.0408e+02_rb,7.8203e+01_rb,5.3150e+01_rb,3.3676e+01_rb,1.4279e+01_rb/) kbo(:, 4,34,12) = (/ & &1.3497e+02_rb,1.0137e+02_rb,6.8004e+01_rb,3.9142e+01_rb,1.4130e+01_rb/) kbo(:, 5,34,12) = (/ & &1.7215e+02_rb,1.2926e+02_rb,8.6400e+01_rb,4.6696e+01_rb,1.3817e+01_rb/) kbo(:, 1,35,12) = (/ & &6.4953e+01_rb,4.8885e+01_rb,3.5777e+01_rb,2.8513e+01_rb,1.4376e+01_rb/) kbo(:, 2,35,12) = (/ & &8.7973e+01_rb,6.6128e+01_rb,4.5876e+01_rb,3.1844e+01_rb,1.4423e+01_rb/) kbo(:, 3,35,12) = (/ & &1.1659e+02_rb,8.7588e+01_rb,5.9213e+01_rb,3.6344e+01_rb,1.4380e+01_rb/) kbo(:, 4,35,12) = (/ & &1.5177e+02_rb,1.1397e+02_rb,7.6316e+01_rb,4.2891e+01_rb,1.4142e+01_rb/) kbo(:, 5,35,12) = (/ & &1.9438e+02_rb,1.4593e+02_rb,9.7521e+01_rb,5.1793e+01_rb,1.3951e+01_rb/) kbo(:, 1,36,12) = (/ & &7.0028e+01_rb,5.2692e+01_rb,3.8196e+01_rb,2.9764e+01_rb,1.4429e+01_rb/) kbo(:, 2,36,12) = (/ & &9.5230e+01_rb,7.1580e+01_rb,4.9388e+01_rb,3.3491e+01_rb,1.4515e+01_rb/) kbo(:, 3,36,12) = (/ & &1.2679e+02_rb,9.5251e+01_rb,6.4219e+01_rb,3.8654e+01_rb,1.4447e+01_rb/) kbo(:, 4,36,12) = (/ & &1.6604e+02_rb,1.2468e+02_rb,8.3408e+01_rb,4.6199e+01_rb,1.4226e+01_rb/) kbo(:, 5,36,12) = (/ & &2.1406e+02_rb,1.6070e+02_rb,1.0737e+02_rb,5.6401e+01_rb,1.4079e+01_rb/) kbo(:, 1,37,12) = (/ & &7.0336e+01_rb,5.2944e+01_rb,3.8605e+01_rb,3.0262e+01_rb,1.4492e+01_rb/) kbo(:, 2,37,12) = (/ & &9.6465e+01_rb,7.2514e+01_rb,5.0131e+01_rb,3.4164e+01_rb,1.4585e+01_rb/) kbo(:, 3,37,12) = (/ & &1.2955e+02_rb,9.7324e+01_rb,6.5642e+01_rb,3.9574e+01_rb,1.4537e+01_rb/) kbo(:, 4,37,12) = (/ & &1.7114e+02_rb,1.2851e+02_rb,8.5971e+01_rb,4.7570e+01_rb,1.4312e+01_rb/) kbo(:, 5,37,12) = (/ & &2.2257e+02_rb,1.6708e+02_rb,1.1162e+02_rb,5.8523e+01_rb,1.4157e+01_rb/) kbo(:, 1,38,12) = (/ & &7.1653e+01_rb,5.3935e+01_rb,3.9443e+01_rb,3.0956e+01_rb,1.4537e+01_rb/) kbo(:, 2,38,12) = (/ & &9.9371e+01_rb,7.4697e+01_rb,5.1646e+01_rb,3.5117e+01_rb,1.4670e+01_rb/) kbo(:, 3,38,12) = (/ & &1.3467e+02_rb,1.0116e+02_rb,6.8199e+01_rb,4.0938e+01_rb,1.4595e+01_rb/) kbo(:, 4,38,12) = (/ & &1.7944e+02_rb,1.3474e+02_rb,9.0110e+01_rb,4.9614e+01_rb,1.4367e+01_rb/) kbo(:, 5,38,12) = (/ & &2.3537e+02_rb,1.7668e+02_rb,1.1802e+02_rb,6.1608e+01_rb,1.4213e+01_rb/) kbo(:, 1,39,12) = (/ & &7.4953e+01_rb,5.6404e+01_rb,4.1108e+01_rb,3.2048e+01_rb,1.4593e+01_rb/) kbo(:, 2,39,12) = (/ & &1.0508e+02_rb,7.8982e+01_rb,5.4463e+01_rb,3.6606e+01_rb,1.4737e+01_rb/) kbo(:, 3,39,12) = (/ & &1.4387e+02_rb,1.0807e+02_rb,7.2745e+01_rb,4.3123e+01_rb,1.4593e+01_rb/) kbo(:, 4,39,12) = (/ & &1.9336e+02_rb,1.4518e+02_rb,9.7046e+01_rb,5.2882e+01_rb,1.4422e+01_rb/) kbo(:, 5,39,12) = (/ & &2.5579e+02_rb,1.9200e+02_rb,1.2823e+02_rb,6.6478e+01_rb,1.4241e+01_rb/) kbo(:, 1,40,12) = (/ & &7.1125e+01_rb,5.3576e+01_rb,3.9744e+01_rb,3.1845e+01_rb,1.4584e+01_rb/) kbo(:, 2,40,12) = (/ & &1.0123e+02_rb,7.6093e+01_rb,5.2813e+01_rb,3.6464e+01_rb,1.4753e+01_rb/) kbo(:, 3,40,12) = (/ & &1.4047e+02_rb,1.0551e+02_rb,7.1189e+01_rb,4.2876e+01_rb,1.4635e+01_rb/) kbo(:, 4,40,12) = (/ & &1.9075e+02_rb,1.4322e+02_rb,9.5759e+01_rb,5.2592e+01_rb,1.4461e+01_rb/) kbo(:, 5,40,12) = (/ & &2.5487e+02_rb,1.9131e+02_rb,1.2777e+02_rb,6.6443e+01_rb,1.4311e+01_rb/) kbo(:, 1,41,12) = (/ & &6.6999e+01_rb,5.0553e+01_rb,3.8328e+01_rb,3.1540e+01_rb,1.4557e+01_rb/) kbo(:, 2,41,12) = (/ & &9.6989e+01_rb,7.2904e+01_rb,5.1038e+01_rb,3.6239e+01_rb,1.4754e+01_rb/) kbo(:, 3,41,12) = (/ & &1.3645e+02_rb,1.0250e+02_rb,6.9354e+01_rb,4.2559e+01_rb,1.4660e+01_rb/) kbo(:, 4,41,12) = (/ & &1.8750e+02_rb,1.4078e+02_rb,9.4178e+01_rb,5.2196e+01_rb,1.4491e+01_rb/) kbo(:, 5,41,12) = (/ & &2.5297e+02_rb,1.8988e+02_rb,1.2682e+02_rb,6.6184e+01_rb,1.4389e+01_rb/) kbo(:, 1,42,12) = (/ & &6.3698e+01_rb,4.8173e+01_rb,3.7314e+01_rb,3.1356e+01_rb,1.4515e+01_rb/) kbo(:, 2,42,12) = (/ & &9.3921e+01_rb,7.0600e+01_rb,4.9842e+01_rb,3.6216e+01_rb,1.4716e+01_rb/) kbo(:, 3,42,12) = (/ & &1.3407e+02_rb,1.0072e+02_rb,6.8313e+01_rb,4.2558e+01_rb,1.4673e+01_rb/) kbo(:, 4,42,12) = (/ & &1.8663e+02_rb,1.4013e+02_rb,9.3782e+01_rb,5.2338e+01_rb,1.4521e+01_rb/) kbo(:, 5,42,12) = (/ & &2.5424e+02_rb,1.9084e+02_rb,1.2745e+02_rb,6.6667e+01_rb,1.4444e+01_rb/) kbo(:, 1,43,12) = (/ & &5.9556e+01_rb,4.5221e+01_rb,3.6039e+01_rb,3.0985e+01_rb,1.4424e+01_rb/) kbo(:, 2,43,12) = (/ & &8.9715e+01_rb,6.7448e+01_rb,4.8196e+01_rb,3.6053e+01_rb,1.4672e+01_rb/) kbo(:, 3,43,12) = (/ & &1.3041e+02_rb,9.7958e+01_rb,6.6682e+01_rb,4.2356e+01_rb,1.4685e+01_rb/) kbo(:, 4,43,12) = (/ & &1.8413e+02_rb,1.3825e+02_rb,9.2592e+01_rb,5.2204e+01_rb,1.4530e+01_rb/) kbo(:, 5,43,12) = (/ & &2.5372e+02_rb,1.9044e+02_rb,1.2719e+02_rb,6.6793e+01_rb,1.4531e+01_rb/) kbo(:, 1,44,12) = (/ & &5.5617e+01_rb,4.2462e+01_rb,3.4926e+01_rb,3.0616e+01_rb,1.4301e+01_rb/) kbo(:, 2,44,12) = (/ & &8.5711e+01_rb,6.4467e+01_rb,4.6726e+01_rb,3.5948e+01_rb,1.4602e+01_rb/) kbo(:, 3,44,12) = (/ & &1.2713e+02_rb,9.5499e+01_rb,6.5283e+01_rb,4.2294e+01_rb,1.4674e+01_rb/) kbo(:, 4,44,12) = (/ & &1.8238e+02_rb,1.3694e+02_rb,9.1783e+01_rb,5.2246e+01_rb,1.4528e+01_rb/) kbo(:, 5,44,12) = (/ & &2.5466e+02_rb,1.9115e+02_rb,1.2766e+02_rb,6.7294e+01_rb,1.4570e+01_rb/) kbo(:, 1,45,12) = (/ & &5.2685e+01_rb,4.0486e+01_rb,3.4264e+01_rb,3.0427e+01_rb,1.4151e+01_rb/) kbo(:, 2,45,12) = (/ & &8.3179e+01_rb,6.2605e+01_rb,4.5965e+01_rb,3.6072e+01_rb,1.4507e+01_rb/) kbo(:, 3,45,12) = (/ & &1.2601e+02_rb,9.4652e+01_rb,6.4923e+01_rb,4.2669e+01_rb,1.4643e+01_rb/) kbo(:, 4,45,12) = (/ & &1.8401e+02_rb,1.3816e+02_rb,9.2634e+01_rb,5.3005e+01_rb,1.4503e+01_rb/) kbo(:, 5,45,12) = (/ & &2.6050e+02_rb,1.9553e+02_rb,1.3058e+02_rb,6.8905e+01_rb,1.4618e+01_rb/) kbo(:, 1,46,12) = (/ & &4.9550e+01_rb,3.8366e+01_rb,3.3605e+01_rb,3.0155e+01_rb,1.3963e+01_rb/) kbo(:, 2,46,12) = (/ & &8.0337e+01_rb,6.0538e+01_rb,4.5156e+01_rb,3.6142e+01_rb,1.4400e+01_rb/) kbo(:, 3,46,12) = (/ & &1.2453e+02_rb,9.3545e+01_rb,6.4429e+01_rb,4.3023e+01_rb,1.4594e+01_rb/) kbo(:, 4,46,12) = (/ & &1.8550e+02_rb,1.3927e+02_rb,9.3438e+01_rb,5.3784e+01_rb,1.4498e+01_rb/) kbo(:, 5,46,12) = (/ & &2.6666e+02_rb,2.0015e+02_rb,1.3366e+02_rb,7.0579e+01_rb,1.4676e+01_rb/) kbo(:, 1,47,12) = (/ & &4.4761e+01_rb,3.5144e+01_rb,3.2385e+01_rb,2.9408e+01_rb,1.3714e+01_rb/) kbo(:, 2,47,12) = (/ & &7.4836e+01_rb,5.6569e+01_rb,4.3337e+01_rb,3.5671e+01_rb,1.4241e+01_rb/) kbo(:, 3,47,12) = (/ & &1.1904e+02_rb,8.9427e+01_rb,6.2124e+01_rb,4.2720e+01_rb,1.4513e+01_rb/) kbo(:, 4,47,12) = (/ & &1.8135e+02_rb,1.3615e+02_rb,9.1529e+01_rb,5.3518e+01_rb,1.4491e+01_rb/) kbo(:, 5,47,12) = (/ & &2.6557e+02_rb,1.9933e+02_rb,1.3311e+02_rb,7.0671e+01_rb,1.4708e+01_rb/) kbo(:, 1,48,12) = (/ & &4.1069e+01_rb,3.2801e+01_rb,3.1586e+01_rb,2.8865e+01_rb,1.3457e+01_rb/) kbo(:, 2,48,12) = (/ & &7.0975e+01_rb,5.3819e+01_rb,4.2302e+01_rb,3.5478e+01_rb,1.4056e+01_rb/) kbo(:, 3,48,12) = (/ & &1.1614e+02_rb,8.7254e+01_rb,6.1078e+01_rb,4.2908e+01_rb,1.4399e+01_rb/) kbo(:, 4,48,12) = (/ & &1.8113e+02_rb,1.3599e+02_rb,9.1560e+01_rb,5.4099e+01_rb,1.4482e+01_rb/) kbo(:, 5,48,12) = (/ & &2.7078e+02_rb,2.0323e+02_rb,1.3570e+02_rb,7.2222e+01_rb,1.4704e+01_rb/) kbo(:, 1,49,12) = (/ & &3.8731e+01_rb,3.1486e+01_rb,3.1265e+01_rb,2.8628e+01_rb,1.3159e+01_rb/) kbo(:, 2,49,12) = (/ & &6.9397e+01_rb,5.2759e+01_rb,4.2223e+01_rb,3.5759e+01_rb,1.3841e+01_rb/) kbo(:, 3,49,12) = (/ & &1.1709e+02_rb,8.7966e+01_rb,6.1851e+01_rb,4.3836e+01_rb,1.4254e+01_rb/) kbo(:, 4,49,12) = (/ & &1.8714e+02_rb,1.4049e+02_rb,9.4623e+01_rb,5.5973e+01_rb,1.4472e+01_rb/) kbo(:, 5,49,12) = (/ & &2.8581e+02_rb,2.1450e+02_rb,1.4321e+02_rb,7.6013e+01_rb,1.4713e+01_rb/) kbo(:, 1,50,12) = (/ & &3.4845e+01_rb,2.9222e+01_rb,3.0219e+01_rb,2.7841e+01_rb,1.2848e+01_rb/) kbo(:, 2,50,12) = (/ & &6.4780e+01_rb,4.9517e+01_rb,4.0909e+01_rb,3.5306e+01_rb,1.3605e+01_rb/) kbo(:, 3,50,12) = (/ & &1.1280e+02_rb,8.4759e+01_rb,6.0286e+01_rb,4.3805e+01_rb,1.4114e+01_rb/) kbo(:, 4,50,12) = (/ & &1.8491e+02_rb,1.3882e+02_rb,9.3723e+01_rb,5.6179e+01_rb,1.4404e+01_rb/) kbo(:, 5,50,12) = (/ & &2.8849e+02_rb,2.1650e+02_rb,1.4455e+02_rb,7.7018e+01_rb,1.4673e+01_rb/) kbo(:, 1,51,12) = (/ & &3.0519e+01_rb,2.6754e+01_rb,2.8814e+01_rb,2.6775e+01_rb,1.2516e+01_rb/) kbo(:, 2,51,12) = (/ & &5.8895e+01_rb,4.5411e+01_rb,3.9106e+01_rb,3.4462e+01_rb,1.3344e+01_rb/) kbo(:, 3,51,12) = (/ & &1.0594e+02_rb,7.9673e+01_rb,5.7668e+01_rb,4.3297e+01_rb,1.3940e+01_rb/) kbo(:, 4,51,12) = (/ & &1.7846e+02_rb,1.3399e+02_rb,9.0800e+01_rb,5.5546e+01_rb,1.4316e+01_rb/) kbo(:, 5,51,12) = (/ & &2.8452e+02_rb,2.1353e+02_rb,1.4260e+02_rb,7.6552e+01_rb,1.4603e+01_rb/) kbo(:, 1,52,12) = (/ & &2.7172e+01_rb,2.4938e+01_rb,2.7638e+01_rb,2.5911e+01_rb,1.2154e+01_rb/) kbo(:, 2,52,12) = (/ & &5.4443e+01_rb,4.2404e+01_rb,3.7930e+01_rb,3.3867e+01_rb,1.3047e+01_rb/) kbo(:, 3,52,12) = (/ & &1.0140e+02_rb,7.6335e+01_rb,5.6140e+01_rb,4.3191e+01_rb,1.3744e+01_rb/) kbo(:, 4,52,12) = (/ & &1.7597e+02_rb,1.3212e+02_rb,8.9791e+01_rb,5.5744e+01_rb,1.4204e+01_rb/) kbo(:, 5,52,12) = (/ & &2.8690e+02_rb,2.1531e+02_rb,1.4382e+02_rb,7.7564e+01_rb,1.4539e+01_rb/) kbo(:, 1,53,12) = (/ & &2.4852e+01_rb,2.3783e+01_rb,2.6797e+01_rb,2.5306e+01_rb,1.1753e+01_rb/) kbo(:, 2,53,12) = (/ & &5.1806e+01_rb,4.0721e+01_rb,3.7447e+01_rb,3.3656e+01_rb,1.2720e+01_rb/) kbo(:, 3,53,12) = (/ & &1.0002e+02_rb,7.5369e+01_rb,5.6019e+01_rb,4.3667e+01_rb,1.3525e+01_rb/) kbo(:, 4,53,12) = (/ & &1.7916e+02_rb,1.3451e+02_rb,9.1517e+01_rb,5.7134e+01_rb,1.4067e+01_rb/) kbo(:, 5,53,12) = (/ & &2.9931e+02_rb,2.2462e+02_rb,1.5004e+02_rb,8.0825e+01_rb,1.4479e+01_rb/) kbo(:, 1,54,12) = (/ & &1.9814e+01_rb,2.1046e+01_rb,2.4392e+01_rb,2.3477e+01_rb,1.1367e+01_rb/) kbo(:, 2,54,12) = (/ & &4.3028e+01_rb,3.5019e+01_rb,3.4545e+01_rb,3.1504e+01_rb,1.2419e+01_rb/) kbo(:, 3,54,12) = (/ & &8.5988e+01_rb,6.5126e+01_rb,5.0588e+01_rb,4.1403e+01_rb,1.3282e+01_rb/) kbo(:, 4,54,12) = (/ & &1.5878e+02_rb,1.1923e+02_rb,8.2044e+01_rb,5.3856e+01_rb,1.3889e+01_rb/) kbo(:, 5,54,12) = (/ & &2.7225e+02_rb,2.0433e+02_rb,1.3669e+02_rb,7.5460e+01_rb,1.4357e+01_rb/) kbo(:, 1,55,12) = (/ & &1.4388e+01_rb,1.7950e+01_rb,2.1372e+01_rb,2.1168e+01_rb,1.0974e+01_rb/) kbo(:, 2,55,12) = (/ & &3.2596e+01_rb,2.8570e+01_rb,3.0630e+01_rb,2.8429e+01_rb,1.2112e+01_rb/) kbo(:, 3,55,12) = (/ & &6.7426e+01_rb,5.1747e+01_rb,4.3446e+01_rb,3.7705e+01_rb,1.3016e+01_rb/) kbo(:, 4,55,12) = (/ & &1.2839e+02_rb,9.6452e+01_rb,6.8218e+01_rb,4.8732e+01_rb,1.3748e+01_rb/) kbo(:, 5,55,12) = (/ & &2.2612e+02_rb,1.6973e+02_rb,1.1415e+02_rb,6.6296e+01_rb,1.4200e+01_rb/) kbo(:, 1,56,12) = (/ & &1.0289e+01_rb,1.5296e+01_rb,1.8729e+01_rb,1.9182e+01_rb,1.0528e+01_rb/) kbo(:, 2,56,12) = (/ & &2.4440e+01_rb,2.3761e+01_rb,2.7083e+01_rb,2.5668e+01_rb,1.1786e+01_rb/) kbo(:, 3,56,12) = (/ & &5.2397e+01_rb,4.1238e+01_rb,3.7979e+01_rb,3.4254e+01_rb,1.2753e+01_rb/) kbo(:, 4,56,12) = (/ & &1.0299e+02_rb,7.7598e+01_rb,5.7468e+01_rb,4.4519e+01_rb,1.3526e+01_rb/) kbo(:, 5,56,12) = (/ & &1.8650e+02_rb,1.4002e+02_rb,9.5113e+01_rb,5.8818e+01_rb,1.4062e+01_rb/) kbo(:, 1,57,12) = (/ & &7.2296e+00_rb,1.3018e+01_rb,1.6426e+01_rb,1.7434e+01_rb,1.0060e+01_rb/) kbo(:, 2,57,12) = (/ & &1.8079e+01_rb,2.0222e+01_rb,2.3856e+01_rb,2.3179e+01_rb,1.1422e+01_rb/) kbo(:, 3,57,12) = (/ & &4.0328e+01_rb,3.3389e+01_rb,3.3719e+01_rb,3.1042e+01_rb,1.2469e+01_rb/) kbo(:, 4,57,12) = (/ & &8.1861e+01_rb,6.2161e+01_rb,4.9031e+01_rb,4.0727e+01_rb,1.3313e+01_rb/) kbo(:, 5,57,12) = (/ & &1.5269e+02_rb,1.1466e+02_rb,7.9200e+01_rb,5.2806e+01_rb,1.3923e+01_rb/) kbo(:, 1,58,12) = (/ & &1.3378e+00_rb,3.6524e+00_rb,6.1661e+00_rb,9.4777e+00_rb,9.5880e+00_rb/) kbo(:, 2,58,12) = (/ & &3.5257e+00_rb,5.7408e+00_rb,8.9221e+00_rb,1.2503e+01_rb,1.1030e+01_rb/) kbo(:, 3,58,12) = (/ & &8.2101e+00_rb,9.0368e+00_rb,1.2733e+01_rb,1.6723e+01_rb,1.2197e+01_rb/) kbo(:, 4,58,12) = (/ & &1.7210e+01_rb,1.6233e+01_rb,1.7913e+01_rb,2.2101e+01_rb,1.3072e+01_rb/) kbo(:, 5,58,12) = (/ & &3.3035e+01_rb,3.0353e+01_rb,2.7850e+01_rb,2.8452e+01_rb,1.3763e+01_rb/) kbo(:, 1,59,12) = (/ & &1.3260e+00_rb,4.5998e+00_rb,7.5889e+00_rb,1.0717e+01_rb,9.4033e+00_rb/) kbo(:, 2,59,12) = (/ & &3.6097e+00_rb,7.0919e+00_rb,1.0659e+01_rb,1.3898e+01_rb,1.0849e+01_rb/) kbo(:, 3,59,12) = (/ & &8.5987e+00_rb,1.0607e+01_rb,1.5006e+01_rb,1.8102e+01_rb,1.2070e+01_rb/) kbo(:, 4,59,12) = (/ & &1.8312e+01_rb,1.7368e+01_rb,2.0492e+01_rb,2.3593e+01_rb,1.3009e+01_rb/) kbo(:, 5,59,12) = (/ & &3.5634e+01_rb,3.1449e+01_rb,2.9305e+01_rb,3.0122e+01_rb,1.3723e+01_rb/) kbo(:, 1,13,13) = (/ & &1.2162e+03_rb,9.1228e+02_rb,6.0835e+02_rb,3.0442e+02_rb,5.7609e+00_rb/) kbo(:, 2,13,13) = (/ & &1.7381e+03_rb,1.3037e+03_rb,8.6931e+02_rb,4.3490e+02_rb,5.6432e+00_rb/) kbo(:, 3,13,13) = (/ & &2.3576e+03_rb,1.7683e+03_rb,1.1791e+03_rb,5.8977e+02_rb,5.5255e+00_rb/) kbo(:, 4,13,13) = (/ & &3.0662e+03_rb,2.2998e+03_rb,1.5334e+03_rb,7.6694e+02_rb,5.4044e+00_rb/) kbo(:, 5,13,13) = (/ & &3.8594e+03_rb,2.8947e+03_rb,1.9299e+03_rb,9.6523e+02_rb,5.2355e+00_rb/) kbo(:, 1,14,13) = (/ & &7.9362e+02_rb,5.9533e+02_rb,3.9705e+02_rb,1.9877e+02_rb,6.3709e+00_rb/) kbo(:, 2,14,13) = (/ & &1.1345e+03_rb,8.5102e+02_rb,5.6751e+02_rb,2.8400e+02_rb,6.2388e+00_rb/) kbo(:, 3,14,13) = (/ & &1.5436e+03_rb,1.1578e+03_rb,7.7203e+02_rb,3.8627e+02_rb,6.0986e+00_rb/) kbo(:, 4,14,13) = (/ & &2.0139e+03_rb,1.5105e+03_rb,1.0072e+03_rb,5.0384e+02_rb,5.9465e+00_rb/) kbo(:, 5,14,13) = (/ & &2.5413e+03_rb,1.9061e+03_rb,1.2709e+03_rb,6.3569e+02_rb,5.7898e+00_rb/) kbo(:, 1,15,13) = (/ & &5.3943e+02_rb,4.0470e+02_rb,2.6997e+02_rb,1.3524e+02_rb,7.0503e+00_rb/) kbo(:, 2,15,13) = (/ & &7.7270e+02_rb,5.7965e+02_rb,3.8660e+02_rb,1.9355e+02_rb,6.8771e+00_rb/) kbo(:, 3,15,13) = (/ & &1.0520e+03_rb,7.8913e+02_rb,5.2626e+02_rb,2.6338e+02_rb,6.6997e+00_rb/) kbo(:, 4,15,13) = (/ & &1.3743e+03_rb,1.0308e+03_rb,6.8738e+02_rb,3.4394e+02_rb,6.5201e+00_rb/) kbo(:, 5,15,13) = (/ & &1.7371e+03_rb,1.3030e+03_rb,8.6881e+02_rb,4.3464e+02_rb,6.3410e+00_rb/) kbo(:, 1,16,13) = (/ & &4.4449e+02_rb,3.3349e+02_rb,2.2249e+02_rb,1.1150e+02_rb,7.7448e+00_rb/) kbo(:, 2,16,13) = (/ & &6.3512e+02_rb,4.7646e+02_rb,3.1780e+02_rb,1.5915e+02_rb,7.5481e+00_rb/) kbo(:, 3,16,13) = (/ & &8.6257e+02_rb,6.4705e+02_rb,4.3152e+02_rb,2.1600e+02_rb,7.3457e+00_rb/) kbo(:, 4,16,13) = (/ & &1.1249e+03_rb,8.4376e+02_rb,5.6265e+02_rb,2.8155e+02_rb,7.1472e+00_rb/) kbo(:, 5,16,13) = (/ & &1.4185e+03_rb,1.0640e+03_rb,7.0946e+02_rb,3.5494e+02_rb,6.9622e+00_rb/) kbo(:, 1,17,13) = (/ & &3.7725e+02_rb,2.8305e+02_rb,1.8886e+02_rb,9.4667e+01_rb,8.5153e+00_rb/) kbo(:, 2,17,13) = (/ & &5.3579e+02_rb,4.0195e+02_rb,2.6812e+02_rb,1.3428e+02_rb,8.2959e+00_rb/) kbo(:, 3,17,13) = (/ & &7.2432e+02_rb,5.4334e+02_rb,3.6237e+02_rb,1.8140e+02_rb,8.0790e+00_rb/) kbo(:, 4,17,13) = (/ & &9.4095e+02_rb,7.0582e+02_rb,4.7068e+02_rb,2.3555e+02_rb,7.8782e+00_rb/) kbo(:, 5,17,13) = (/ & &1.1800e+03_rb,8.8510e+02_rb,5.9020e+02_rb,2.9531e+02_rb,7.6889e+00_rb/) kbo(:, 1,18,13) = (/ & &3.2277e+02_rb,2.4218e+02_rb,1.6159e+02_rb,8.1002e+01_rb,9.4611e+00_rb/) kbo(:, 2,18,13) = (/ & &4.5535e+02_rb,3.4161e+02_rb,2.2787e+02_rb,1.1413e+02_rb,9.2187e+00_rb/) kbo(:, 3,18,13) = (/ & &6.1248e+02_rb,4.5945e+02_rb,3.0643e+02_rb,1.5340e+02_rb,8.9925e+00_rb/) kbo(:, 4,18,13) = (/ & &7.9039e+02_rb,5.9288e+02_rb,3.9538e+02_rb,1.9787e+02_rb,8.7824e+00_rb/) kbo(:, 5,18,13) = (/ & &9.8664e+02_rb,7.4007e+02_rb,4.9351e+02_rb,2.4694e+02_rb,8.5832e+00_rb/) kbo(:, 1,19,13) = (/ & &2.6617e+02_rb,1.9972e+02_rb,1.3326e+02_rb,6.6812e+01_rb,1.0581e+01_rb/) kbo(:, 2,19,13) = (/ & &3.7316e+02_rb,2.7996e+02_rb,1.8675e+02_rb,9.3549e+01_rb,1.0334e+01_rb/) kbo(:, 3,19,13) = (/ & &4.9811e+02_rb,3.7366e+02_rb,2.4922e+02_rb,1.2478e+02_rb,1.0097e+01_rb/) kbo(:, 4,19,13) = (/ & &6.3941e+02_rb,4.7964e+02_rb,3.1987e+02_rb,1.6011e+02_rb,9.8657e+00_rb/) kbo(:, 5,19,13) = (/ & &7.9554e+02_rb,5.9674e+02_rb,3.9794e+02_rb,1.9915e+02_rb,9.6319e+00_rb/) kbo(:, 1,20,13) = (/ & &2.3446e+02_rb,1.7592e+02_rb,1.1738e+02_rb,5.8849e+01_rb,1.1882e+01_rb/) kbo(:, 2,20,13) = (/ & &3.2565e+02_rb,2.4431e+02_rb,1.6298e+02_rb,8.1640e+01_rb,1.1619e+01_rb/) kbo(:, 3,20,13) = (/ & &4.3162e+02_rb,3.2380e+02_rb,2.1597e+02_rb,1.0814e+02_rb,1.1360e+01_rb/) kbo(:, 4,20,13) = (/ & &5.5163e+02_rb,4.1380e+02_rb,2.7598e+02_rb,1.3815e+02_rb,1.1092e+01_rb/) kbo(:, 5,20,13) = (/ & &6.8433e+02_rb,5.1333e+02_rb,3.4234e+02_rb,1.7134e+02_rb,1.0817e+01_rb/) kbo(:, 1,21,13) = (/ & &2.0791e+02_rb,1.5600e+02_rb,1.0410e+02_rb,5.2196e+01_rb,1.3299e+01_rb/) kbo(:, 2,21,13) = (/ & &2.8639e+02_rb,2.1487e+02_rb,1.4335e+02_rb,7.1825e+01_rb,1.3019e+01_rb/) kbo(:, 3,21,13) = (/ & &3.7808e+02_rb,2.8364e+02_rb,1.8920e+02_rb,9.4762e+01_rb,1.2725e+01_rb/) kbo(:, 4,21,13) = (/ & &4.8188e+02_rb,3.6150e+02_rb,2.4111e+02_rb,1.2072e+02_rb,1.2414e+01_rb/) kbo(:, 5,21,13) = (/ & &5.9751e+02_rb,4.4821e+02_rb,2.9892e+02_rb,1.4963e+02_rb,1.2098e+01_rb/) kbo(:, 1,22,13) = (/ & &1.8905e+02_rb,1.4186e+02_rb,9.4669e+01_rb,4.7658e+01_rb,1.4760e+01_rb/) kbo(:, 2,22,13) = (/ & &2.5846e+02_rb,1.9392e+02_rb,1.2939e+02_rb,6.4852e+01_rb,1.4444e+01_rb/) kbo(:, 3,22,13) = (/ & &3.3936e+02_rb,2.5460e+02_rb,1.6984e+02_rb,8.5086e+01_rb,1.4104e+01_rb/) kbo(:, 4,22,13) = (/ & &4.3137e+02_rb,3.2361e+02_rb,2.1585e+02_rb,1.0809e+02_rb,1.3746e+01_rb/) kbo(:, 5,22,13) = (/ & &5.3388e+02_rb,4.0049e+02_rb,2.6710e+02_rb,1.3372e+02_rb,1.3378e+01_rb/) kbo(:, 1,23,13) = (/ & &1.7012e+02_rb,1.2766e+02_rb,8.5209e+01_rb,4.3736e+01_rb,1.6211e+01_rb/) kbo(:, 2,23,13) = (/ & &2.3107e+02_rb,1.7338e+02_rb,1.1569e+02_rb,5.8148e+01_rb,1.5847e+01_rb/) kbo(:, 3,23,13) = (/ & &3.0241e+02_rb,2.2689e+02_rb,1.5137e+02_rb,7.5851e+01_rb,1.5467e+01_rb/) kbo(:, 4,23,13) = (/ & &3.8349e+02_rb,2.8770e+02_rb,1.9191e+02_rb,9.6125e+01_rb,1.5066e+01_rb/) kbo(:, 5,23,13) = (/ & &4.7369e+02_rb,3.5535e+02_rb,2.3701e+02_rb,1.1867e+02_rb,1.4651e+01_rb/) kbo(:, 1,24,13) = (/ & &1.5057e+02_rb,1.1300e+02_rb,7.5436e+01_rb,4.0246e+01_rb,1.7609e+01_rb/) kbo(:, 2,24,13) = (/ & &2.0367e+02_rb,1.5283e+02_rb,1.0199e+02_rb,5.2083e+01_rb,1.7203e+01_rb/) kbo(:, 3,24,13) = (/ & &2.6558e+02_rb,1.9927e+02_rb,1.3295e+02_rb,6.6835e+01_rb,1.6770e+01_rb/) kbo(:, 4,24,13) = (/ & &3.3594e+02_rb,2.5203e+02_rb,1.6813e+02_rb,8.4226e+01_rb,1.6325e+01_rb/) kbo(:, 5,24,13) = (/ & &4.1379e+02_rb,3.1042e+02_rb,2.0705e+02_rb,1.0369e+02_rb,1.5864e+01_rb/) kbo(:, 1,25,13) = (/ & &1.3420e+02_rb,1.0073e+02_rb,6.7255e+01_rb,3.7941e+01_rb,1.8922e+01_rb/) kbo(:, 2,25,13) = (/ & &1.8061e+02_rb,1.3554e+02_rb,9.0464e+01_rb,4.7603e+01_rb,1.8471e+01_rb/) kbo(:, 3,25,13) = (/ & &2.3464e+02_rb,1.7606e+02_rb,1.1747e+02_rb,5.9840e+01_rb,1.7998e+01_rb/) kbo(:, 4,25,13) = (/ & &2.9580e+02_rb,2.2193e+02_rb,1.4806e+02_rb,7.4446e+01_rb,1.7506e+01_rb/) kbo(:, 5,25,13) = (/ & &3.6422e+02_rb,2.7325e+02_rb,1.8228e+02_rb,9.1309e+01_rb,1.6997e+01_rb/) kbo(:, 1,26,13) = (/ & &1.2114e+02_rb,9.0934e+01_rb,6.0946e+01_rb,3.6699e+01_rb,2.0129e+01_rb/) kbo(:, 2,26,13) = (/ & &1.6224e+02_rb,1.2175e+02_rb,8.1268e+01_rb,4.4540e+01_rb,1.9645e+01_rb/) kbo(:, 3,26,13) = (/ & &2.0993e+02_rb,1.5753e+02_rb,1.0512e+02_rb,5.4768e+01_rb,1.9134e+01_rb/) kbo(:, 4,26,13) = (/ & &2.6457e+02_rb,1.9850e+02_rb,1.3244e+02_rb,6.7280e+01_rb,1.8599e+01_rb/) kbo(:, 5,26,13) = (/ & &3.2617e+02_rb,2.4471e+02_rb,1.6326e+02_rb,8.2064e+01_rb,1.8043e+01_rb/) kbo(:, 1,27,13) = (/ & &1.1288e+02_rb,8.4731e+01_rb,5.7258e+01_rb,3.6591e+01_rb,2.1235e+01_rb/) kbo(:, 2,27,13) = (/ & &1.5040e+02_rb,1.1288e+02_rb,7.5447e+01_rb,4.3146e+01_rb,2.0722e+01_rb/) kbo(:, 3,27,13) = (/ & &1.9447e+02_rb,1.4593e+02_rb,9.7397e+01_rb,5.2019e+01_rb,2.0175e+01_rb/) kbo(:, 4,27,13) = (/ & &2.4522e+02_rb,1.8400e+02_rb,1.2279e+02_rb,6.3250e+01_rb,1.9596e+01_rb/) kbo(:, 5,27,13) = (/ & &3.0305e+02_rb,2.2738e+02_rb,1.5172e+02_rb,7.6751e+01_rb,1.8997e+01_rb/) kbo(:, 1,28,13) = (/ & &1.0746e+02_rb,8.0667e+01_rb,5.5081e+01_rb,3.7035e+01_rb,2.2229e+01_rb/) kbo(:, 2,28,13) = (/ & &1.4298e+02_rb,1.0731e+02_rb,7.1965e+01_rb,4.2784e+01_rb,2.1691e+01_rb/) kbo(:, 3,28,13) = (/ & &1.8493e+02_rb,1.3878e+02_rb,9.2649e+01_rb,5.0725e+01_rb,2.1105e+01_rb/) kbo(:, 4,28,13) = (/ & &2.3378e+02_rb,1.7543e+02_rb,1.1708e+02_rb,6.1166e+01_rb,2.0486e+01_rb/) kbo(:, 5,28,13) = (/ & &2.9002e+02_rb,2.1761e+02_rb,1.4521e+02_rb,7.3973e+01_rb,1.9841e+01_rb/) kbo(:, 1,29,13) = (/ & &1.0862e+02_rb,8.1537e+01_rb,5.6008e+01_rb,3.8525e+01_rb,2.3108e+01_rb/) kbo(:, 2,29,13) = (/ & &1.4451e+02_rb,1.0847e+02_rb,7.2927e+01_rb,4.4121e+01_rb,2.2541e+01_rb/) kbo(:, 3,29,13) = (/ & &1.8742e+02_rb,1.4066e+02_rb,9.3939e+01_rb,5.2003e+01_rb,2.1917e+01_rb/) kbo(:, 4,29,13) = (/ & &2.3814e+02_rb,1.7870e+02_rb,1.1927e+02_rb,6.2626e+01_rb,2.1254e+01_rb/) kbo(:, 5,29,13) = (/ & &2.9712e+02_rb,2.2294e+02_rb,1.4877e+02_rb,7.5955e+01_rb,2.0559e+01_rb/) kbo(:, 1,30,13) = (/ & &1.1263e+02_rb,8.4559e+01_rb,5.8240e+01_rb,4.0363e+01_rb,2.3867e+01_rb/) kbo(:, 2,30,13) = (/ & &1.5031e+02_rb,1.1283e+02_rb,7.5908e+01_rb,4.6135e+01_rb,2.3263e+01_rb/) kbo(:, 3,30,13) = (/ & &1.9606e+02_rb,1.4715e+02_rb,9.8280e+01_rb,5.4419e+01_rb,2.2598e+01_rb/) kbo(:, 4,30,13) = (/ & &2.5065e+02_rb,1.8809e+02_rb,1.2553e+02_rb,6.5875e+01_rb,2.1889e+01_rb/) kbo(:, 5,30,13) = (/ & &3.1497e+02_rb,2.3633e+02_rb,1.5769e+02_rb,8.0462e+01_rb,2.1149e+01_rb/) kbo(:, 1,31,13) = (/ & &1.2378e+02_rb,9.2930e+01_rb,6.3680e+01_rb,4.3209e+01_rb,2.4494e+01_rb/) kbo(:, 2,31,13) = (/ & &1.6598e+02_rb,1.2458e+02_rb,8.3650e+01_rb,4.9789e+01_rb,2.3857e+01_rb/) kbo(:, 3,31,13) = (/ & &2.1788e+02_rb,1.6351e+02_rb,1.0916e+02_rb,5.9548e+01_rb,2.3152e+01_rb/) kbo(:, 4,31,13) = (/ & &2.8056e+02_rb,2.1051e+02_rb,1.4048e+02_rb,7.3069e+01_rb,2.2400e+01_rb/) kbo(:, 5,31,13) = (/ & &3.5485e+02_rb,2.6624e+02_rb,1.7763e+02_rb,9.0172e+01_rb,2.1588e+01_rb/) kbo(:, 1,32,13) = (/ & &1.3906e+02_rb,1.0439e+02_rb,7.1039e+01_rb,4.6595e+01_rb,2.5004e+01_rb/) kbo(:, 2,32,13) = (/ & &1.8760e+02_rb,1.4080e+02_rb,9.4311e+01_rb,5.4496e+01_rb,2.4327e+01_rb/) kbo(:, 3,32,13) = (/ & &2.4774e+02_rb,1.8590e+02_rb,1.2408e+02_rb,6.6467e+01_rb,2.3584e+01_rb/) kbo(:, 4,32,13) = (/ & &3.2109e+02_rb,2.4091e+02_rb,1.6074e+02_rb,8.2698e+01_rb,2.2768e+01_rb/) kbo(:, 5,32,13) = (/ & &4.0872e+02_rb,3.0664e+02_rb,2.0456e+02_rb,1.0327e+02_rb,2.1879e+01_rb/) kbo(:, 1,33,13) = (/ & &1.6104e+02_rb,1.2087e+02_rb,8.1641e+01_rb,5.1002e+01_rb,2.5402e+01_rb/) kbo(:, 2,33,13) = (/ & &2.1845e+02_rb,1.6394e+02_rb,1.0954e+02_rb,6.1146e+01_rb,2.4688e+01_rb/) kbo(:, 3,33,13) = (/ & &2.9039e+02_rb,2.1789e+02_rb,1.4539e+02_rb,7.6233e+01_rb,2.3897e+01_rb/) kbo(:, 4,33,13) = (/ & &3.7885e+02_rb,2.8424e+02_rb,1.8963e+02_rb,9.6481e+01_rb,2.2987e+01_rb/) kbo(:, 5,33,13) = (/ & &4.8539e+02_rb,3.6414e+02_rb,2.4290e+02_rb,1.2206e+02_rb,2.2183e+01_rb/) kbo(:, 1,34,13) = (/ & &1.8189e+02_rb,1.3651e+02_rb,9.1768e+01_rb,5.5207e+01_rb,2.5729e+01_rb/) kbo(:, 2,34,13) = (/ & &2.4868e+02_rb,1.8660e+02_rb,1.2456e+02_rb,6.7745e+01_rb,2.4984e+01_rb/) kbo(:, 3,34,13) = (/ & &3.3298e+02_rb,2.4983e+02_rb,1.6669e+02_rb,8.6174e+01_rb,2.4083e+01_rb/) kbo(:, 4,34,13) = (/ & &4.3751e+02_rb,3.2823e+02_rb,2.1895e+02_rb,1.1064e+02_rb,2.3253e+01_rb/) kbo(:, 5,34,13) = (/ & &5.6416e+02_rb,4.2322e+02_rb,2.8227e+02_rb,1.4151e+02_rb,2.2432e+01_rb/) kbo(:, 1,35,13) = (/ & &2.0192e+02_rb,1.5153e+02_rb,1.0158e+02_rb,5.9346e+01_rb,2.6044e+01_rb/) kbo(:, 2,35,13) = (/ & &2.7880e+02_rb,2.0919e+02_rb,1.3960e+02_rb,7.4527e+01_rb,2.5204e+01_rb/) kbo(:, 3,35,13) = (/ & &3.7683e+02_rb,2.8271e+02_rb,1.8860e+02_rb,9.6532e+01_rb,2.4315e+01_rb/) kbo(:, 4,35,13) = (/ & &4.9906e+02_rb,3.7439e+02_rb,2.4972e+02_rb,1.2566e+02_rb,2.3549e+01_rb/) kbo(:, 5,35,13) = (/ & &6.4817e+02_rb,4.8622e+02_rb,3.2427e+02_rb,1.6242e+02_rb,2.2556e+01_rb/) kbo(:, 1,36,13) = (/ & &2.1718e+02_rb,1.6298e+02_rb,1.0911e+02_rb,6.2682e+01_rb,2.6372e+01_rb/) kbo(:, 2,36,13) = (/ & &3.0353e+02_rb,2.2773e+02_rb,1.5196e+02_rb,8.0255e+01_rb,2.5484e+01_rb/) kbo(:, 3,36,13) = (/ & &4.1487e+02_rb,3.1124e+02_rb,2.0762e+02_rb,1.0565e+02_rb,2.4690e+01_rb/) kbo(:, 4,36,13) = (/ & &5.5465e+02_rb,4.1607e+02_rb,2.7750e+02_rb,1.3934e+02_rb,2.3815e+01_rb/) kbo(:, 5,36,13) = (/ & &7.2608e+02_rb,5.4465e+02_rb,3.6322e+02_rb,1.8189e+02_rb,2.2654e+01_rb/) kbo(:, 1,37,13) = (/ & &2.1788e+02_rb,1.6349e+02_rb,1.0950e+02_rb,6.3289e+01_rb,2.6719e+01_rb/) kbo(:, 2,37,13) = (/ & &3.0912e+02_rb,2.3193e+02_rb,1.5476e+02_rb,8.1797e+01_rb,2.5860e+01_rb/) kbo(:, 3,37,13) = (/ & &4.2846e+02_rb,3.2142e+02_rb,2.1440e+02_rb,1.0906e+02_rb,2.5054e+01_rb/) kbo(:, 4,37,13) = (/ & &5.7982e+02_rb,4.3495e+02_rb,2.9008e+02_rb,1.4561e+02_rb,2.4158e+01_rb/) kbo(:, 5,37,13) = (/ & &7.6717e+02_rb,5.7546e+02_rb,3.8377e+02_rb,1.9217e+02_rb,2.2948e+01_rb/) kbo(:, 1,38,13) = (/ & &2.2254e+02_rb,1.6699e+02_rb,1.1184e+02_rb,6.4633e+01_rb,2.7030e+01_rb/) kbo(:, 2,38,13) = (/ & &3.2031e+02_rb,2.4031e+02_rb,1.6035e+02_rb,8.4610e+01_rb,2.6154e+01_rb/) kbo(:, 3,38,13) = (/ & &4.5000e+02_rb,3.3758e+02_rb,2.2517e+02_rb,1.1439e+02_rb,2.5377e+01_rb/) kbo(:, 4,38,13) = (/ & &6.1626e+02_rb,4.6228e+02_rb,3.0831e+02_rb,1.5466e+02_rb,2.4449e+01_rb/) kbo(:, 5,38,13) = (/ & &8.2391e+02_rb,6.1802e+02_rb,4.1215e+02_rb,2.0635e+02_rb,2.3228e+01_rb/) kbo(:, 1,39,13) = (/ & &2.3401e+02_rb,1.7560e+02_rb,1.1754e+02_rb,6.7259e+01_rb,2.7265e+01_rb/) kbo(:, 2,39,13) = (/ & &3.4141e+02_rb,2.5613e+02_rb,1.7089e+02_rb,8.9638e+01_rb,2.6464e+01_rb/) kbo(:, 3,39,13) = (/ & &4.8579e+02_rb,3.6442e+02_rb,2.4308e+02_rb,1.2315e+02_rb,2.5687e+01_rb/) kbo(:, 4,39,13) = (/ & &6.7297e+02_rb,5.0482e+02_rb,3.3668e+02_rb,1.6875e+02_rb,2.4654e+01_rb/) kbo(:, 5,39,13) = (/ & &9.0884e+02_rb,6.8173e+02_rb,4.5462e+02_rb,2.2758e+02_rb,2.3620e+01_rb/) kbo(:, 1,40,13) = (/ & &2.2310e+02_rb,1.6742e+02_rb,1.1224e+02_rb,6.5625e+01_rb,2.7589e+01_rb/) kbo(:, 2,40,13) = (/ & &3.3051e+02_rb,2.4796e+02_rb,1.6546e+02_rb,8.7436e+01_rb,2.6816e+01_rb/) kbo(:, 3,40,13) = (/ & &4.7705e+02_rb,3.5787e+02_rb,2.3871e+02_rb,1.2127e+02_rb,2.6052e+01_rb/) kbo(:, 4,40,13) = (/ & &6.7033e+02_rb,5.0284e+02_rb,3.3536e+02_rb,1.6816e+02_rb,2.5038e+01_rb/) kbo(:, 5,40,13) = (/ & &9.1616e+02_rb,6.8722e+02_rb,4.5828e+02_rb,2.2941e+02_rb,2.4007e+01_rb/) kbo(:, 1,41,13) = (/ & &2.1165e+02_rb,1.5884e+02_rb,1.0674e+02_rb,6.4017e+01_rb,2.7888e+01_rb/) kbo(:, 2,41,13) = (/ & &3.1819e+02_rb,2.3873e+02_rb,1.5932e+02_rb,8.5003e+01_rb,2.7118e+01_rb/) kbo(:, 3,41,13) = (/ & &4.6591e+02_rb,3.4951e+02_rb,2.3314e+02_rb,1.1880e+02_rb,2.6396e+01_rb/) kbo(:, 4,41,13) = (/ & &6.6349e+02_rb,4.9771e+02_rb,3.3195e+02_rb,1.6656e+02_rb,2.5465e+01_rb/) kbo(:, 5,41,13) = (/ & &9.1847e+02_rb,6.8895e+02_rb,4.5944e+02_rb,2.3000e+02_rb,2.4337e+01_rb/) kbo(:, 1,42,13) = (/ & &2.0335e+02_rb,1.5260e+02_rb,1.0282e+02_rb,6.3023e+01_rb,2.8153e+01_rb/) kbo(:, 2,42,13) = (/ & &3.1003e+02_rb,2.3260e+02_rb,1.5524e+02_rb,8.3539e+01_rb,2.7395e+01_rb/) kbo(:, 3,42,13) = (/ & &4.6024e+02_rb,3.4526e+02_rb,2.3031e+02_rb,1.1765e+02_rb,2.6718e+01_rb/) kbo(:, 4,42,13) = (/ & &6.6381e+02_rb,4.9795e+02_rb,3.3210e+02_rb,1.6673e+02_rb,2.5846e+01_rb/) kbo(:, 5,42,13) = (/ & &9.3041e+02_rb,6.9790e+02_rb,4.6540e+02_rb,2.3298e+02_rb,2.4647e+01_rb/) kbo(:, 1,43,13) = (/ & &1.9244e+02_rb,1.4443e+02_rb,9.7744e+01_rb,6.1682e+01_rb,2.8431e+01_rb/) kbo(:, 2,43,13) = (/ & &2.9785e+02_rb,2.2347e+02_rb,1.4920e+02_rb,8.1276e+01_rb,2.7711e+01_rb/) kbo(:, 3,43,13) = (/ & &4.4872e+02_rb,3.3663e+02_rb,2.2458e+02_rb,1.1517e+02_rb,2.7073e+01_rb/) kbo(:, 4,43,13) = (/ & &6.5646e+02_rb,4.9243e+02_rb,3.2842e+02_rb,1.6500e+02_rb,2.6290e+01_rb/) kbo(:, 5,43,13) = (/ & &9.3268e+02_rb,6.9961e+02_rb,4.6654e+02_rb,2.3355e+02_rb,2.5000e+01_rb/) kbo(:, 1,44,13) = (/ & &1.8195e+02_rb,1.3656e+02_rb,9.2955e+01_rb,6.0559e+01_rb,2.8683e+01_rb/) kbo(:, 2,44,13) = (/ & &2.8673e+02_rb,2.1514e+02_rb,1.4371e+02_rb,7.9343e+01_rb,2.8022e+01_rb/) kbo(:, 3,44,13) = (/ & &4.3845e+02_rb,3.2893e+02_rb,2.1944e+02_rb,1.1299e+02_rb,2.7430e+01_rb/) kbo(:, 4,44,13) = (/ & &6.5082e+02_rb,4.8820e+02_rb,3.2560e+02_rb,1.6371e+02_rb,2.6724e+01_rb/) kbo(:, 5,44,13) = (/ & &9.3739e+02_rb,7.0313e+02_rb,4.6889e+02_rb,2.3472e+02_rb,2.5409e+01_rb/) kbo(:, 1,45,13) = (/ & &1.7490e+02_rb,1.3128e+02_rb,8.9889e+01_rb,6.0087e+01_rb,2.8892e+01_rb/) kbo(:, 2,45,13) = (/ & &2.8115e+02_rb,2.1096e+02_rb,1.4101e+02_rb,7.8697e+01_rb,2.8297e+01_rb/) kbo(:, 3,45,13) = (/ & &4.3612e+02_rb,3.2718e+02_rb,2.1828e+02_rb,1.1266e+02_rb,2.7806e+01_rb/) kbo(:, 4,45,13) = (/ & &6.5668e+02_rb,4.9260e+02_rb,3.2854e+02_rb,1.6526e+02_rb,2.7097e+01_rb/) kbo(:, 5,45,13) = (/ & &9.5876e+02_rb,7.1917e+02_rb,4.7958e+02_rb,2.4006e+02_rb,2.5776e+01_rb/) kbo(:, 1,46,13) = (/ & &1.6728e+02_rb,1.2556e+02_rb,8.6592e+01_rb,5.9568e+01_rb,2.9082e+01_rb/) kbo(:, 2,46,13) = (/ & &2.7457e+02_rb,2.0602e+02_rb,1.3784e+02_rb,7.7967e+01_rb,2.8545e+01_rb/) kbo(:, 3,46,13) = (/ & &4.3313e+02_rb,3.2494e+02_rb,2.1678e+02_rb,1.1222e+02_rb,2.8139e+01_rb/) kbo(:, 4,46,13) = (/ & &6.6163e+02_rb,4.9632e+02_rb,3.3103e+02_rb,1.6658e+02_rb,2.7449e+01_rb/) kbo(:, 5,46,13) = (/ & &9.8004e+02_rb,7.3512e+02_rb,4.9021e+02_rb,2.4539e+02_rb,2.6122e+01_rb/) kbo(:, 1,47,13) = (/ & &1.5431e+02_rb,1.1585e+02_rb,8.0931e+01_rb,5.8232e+01_rb,2.9262e+01_rb/) kbo(:, 2,47,13) = (/ & &2.5885e+02_rb,1.9423e+02_rb,1.3026e+02_rb,7.5643e+01_rb,2.8798e+01_rb/) kbo(:, 3,47,13) = (/ & &4.1682e+02_rb,3.1271e+02_rb,2.0862e+02_rb,1.0877e+02_rb,2.8446e+01_rb/) kbo(:, 4,47,13) = (/ & &6.4684e+02_rb,4.8523e+02_rb,3.2363e+02_rb,1.6308e+02_rb,2.7814e+01_rb/) kbo(:, 5,47,13) = (/ & &9.7279e+02_rb,7.2968e+02_rb,4.8659e+02_rb,2.4359e+02_rb,2.6548e+01_rb/) kbo(:, 1,48,13) = (/ & &1.4538e+02_rb,1.0915e+02_rb,7.7289e+01_rb,5.7662e+01_rb,2.9351e+01_rb/) kbo(:, 2,48,13) = (/ & &2.4931e+02_rb,1.8708e+02_rb,1.2577e+02_rb,7.4691e+01_rb,2.8998e+01_rb/) kbo(:, 3,48,13) = (/ & &4.1014e+02_rb,3.0770e+02_rb,2.0528e+02_rb,1.0766e+02_rb,2.8726e+01_rb/) kbo(:, 4,48,13) = (/ & &6.4756e+02_rb,4.8577e+02_rb,3.2399e+02_rb,1.6338e+02_rb,2.8115e+01_rb/) kbo(:, 5,48,13) = (/ & &9.8831e+02_rb,7.4133e+02_rb,4.9436e+02_rb,2.4748e+02_rb,2.6944e+01_rb/) kbo(:, 1,49,13) = (/ & &1.4120e+02_rb,1.0604e+02_rb,7.5941e+01_rb,5.8065e+01_rb,2.9380e+01_rb/) kbo(:, 2,49,13) = (/ & &2.4862e+02_rb,1.8657e+02_rb,1.2564e+02_rb,7.5519e+01_rb,2.9233e+01_rb/) kbo(:, 3,49,13) = (/ & &4.1758e+02_rb,3.1328e+02_rb,2.0900e+02_rb,1.0986e+02_rb,2.8989e+01_rb/) kbo(:, 4,49,13) = (/ & &6.7203e+02_rb,5.0412e+02_rb,3.3622e+02_rb,1.6950e+02_rb,2.8333e+01_rb/) kbo(:, 5,49,13) = (/ & &1.0415e+03_rb,7.8124e+02_rb,5.2096e+02_rb,2.6077e+02_rb,2.7256e+01_rb/) kbo(:, 1,50,13) = (/ & &1.3115e+02_rb,9.8605e+01_rb,7.2172e+01_rb,5.7503e+01_rb,2.9363e+01_rb/) kbo(:, 2,50,13) = (/ & &2.3790e+02_rb,1.7854e+02_rb,1.2070e+02_rb,7.4407e+01_rb,2.9364e+01_rb/) kbo(:, 3,50,13) = (/ & &4.0744e+02_rb,3.0568e+02_rb,2.0394e+02_rb,1.0804e+02_rb,2.9149e+01_rb/) kbo(:, 4,50,13) = (/ & &6.6872e+02_rb,5.0163e+02_rb,3.3456e+02_rb,1.6889e+02_rb,2.8599e+01_rb/) kbo(:, 5,50,13) = (/ & &1.0519e+03_rb,7.8905e+02_rb,5.2618e+02_rb,2.6337e+02_rb,2.7606e+01_rb/) kbo(:, 1,51,13) = (/ & &1.1865e+02_rb,8.9445e+01_rb,6.7680e+01_rb,5.6587e+01_rb,2.9290e+01_rb/) kbo(:, 2,51,13) = (/ & &2.2216e+02_rb,1.6674e+02_rb,1.1346e+02_rb,7.2415e+01_rb,2.9435e+01_rb/) kbo(:, 3,51,13) = (/ & &3.8895e+02_rb,2.9182e+02_rb,1.9472e+02_rb,1.0439e+02_rb,2.9207e+01_rb/) kbo(:, 4,51,13) = (/ & &6.5048e+02_rb,4.8795e+02_rb,3.2544e+02_rb,1.6473e+02_rb,2.8819e+01_rb/) kbo(:, 5,51,13) = (/ & &1.0401e+03_rb,7.8020e+02_rb,5.2027e+02_rb,2.6042e+02_rb,2.7943e+01_rb/) kbo(:, 1,52,13) = (/ & &1.0900e+02_rb,8.2517e+01_rb,6.4683e+01_rb,5.6184e+01_rb,2.9159e+01_rb/) kbo(:, 2,52,13) = (/ & &2.1154e+02_rb,1.5879e+02_rb,1.0876e+02_rb,7.1453e+01_rb,2.9466e+01_rb/) kbo(:, 3,52,13) = (/ & &3.8014e+02_rb,2.8522e+02_rb,1.9038e+02_rb,1.0306e+02_rb,2.9320e+01_rb/) kbo(:, 4,52,13) = (/ & &6.4723e+02_rb,4.8552e+02_rb,3.2381e+02_rb,1.6425e+02_rb,2.8993e+01_rb/) kbo(:, 5,52,13) = (/ & &1.0537e+03_rb,7.9041e+02_rb,5.2708e+02_rb,2.6382e+02_rb,2.8208e+01_rb/) kbo(:, 1,53,13) = (/ & &1.0283e+02_rb,7.8224e+01_rb,6.3272e+01_rb,5.6425e+01_rb,2.8966e+01_rb/) kbo(:, 2,53,13) = (/ & &2.0760e+02_rb,1.5584e+02_rb,1.0728e+02_rb,7.1858e+01_rb,2.9467e+01_rb/) kbo(:, 3,53,13) = (/ & &3.8429e+02_rb,2.8834e+02_rb,1.9251e+02_rb,1.0470e+02_rb,2.9381e+01_rb/) kbo(:, 4,53,13) = (/ & &6.6697e+02_rb,5.0033e+02_rb,3.3369e+02_rb,1.6926e+02_rb,2.9144e+01_rb/) kbo(:, 5,53,13) = (/ & &1.1061e+03_rb,8.2971e+02_rb,5.5328e+02_rb,2.7691e+02_rb,2.8402e+01_rb/) kbo(:, 1,54,13) = (/ & &8.4612e+01_rb,6.5337e+01_rb,5.7223e+01_rb,5.4259e+01_rb,2.8744e+01_rb/) kbo(:, 2,54,13) = (/ & &1.7755e+02_rb,1.3329e+02_rb,9.3740e+01_rb,6.7487e+01_rb,2.9376e+01_rb/) kbo(:, 3,54,13) = (/ & &3.3886e+02_rb,2.5427e+02_rb,1.7017e+02_rb,9.5886e+01_rb,2.9463e+01_rb/) kbo(:, 4,54,13) = (/ & &6.0067e+02_rb,4.5060e+02_rb,3.0055e+02_rb,1.5369e+02_rb,2.9315e+01_rb/) kbo(:, 5,54,13) = (/ & &1.0127e+03_rb,7.5962e+02_rb,5.0655e+02_rb,2.5368e+02_rb,2.8705e+01_rb/) kbo(:, 1,55,13) = (/ & &6.3387e+01_rb,5.0935e+01_rb,5.0168e+01_rb,5.0996e+01_rb,2.8487e+01_rb/) kbo(:, 2,55,13) = (/ & &1.3831e+02_rb,1.0410e+02_rb,7.7011e+01_rb,6.1667e+01_rb,2.9169e+01_rb/) kbo(:, 3,55,13) = (/ & &2.7282e+02_rb,2.0475e+02_rb,1.3822e+02_rb,8.3541e+01_rb,2.9521e+01_rb/) kbo(:, 4,55,13) = (/ & &4.9509e+02_rb,3.7143e+02_rb,2.4779e+02_rb,1.2925e+02_rb,2.9355e+01_rb/) kbo(:, 5,55,13) = (/ & &8.4764e+02_rb,6.3583e+02_rb,4.2402e+02_rb,2.1299e+02_rb,2.9013e+01_rb/) kbo(:, 1,56,13) = (/ & &4.6914e+01_rb,4.0782e+01_rb,4.5015e+01_rb,4.7952e+01_rb,2.8186e+01_rb/) kbo(:, 2,56,13) = (/ & &1.0661e+02_rb,8.1027e+01_rb,6.4934e+01_rb,5.7313e+01_rb,2.9008e+01_rb/) kbo(:, 3,56,13) = (/ & &2.1790e+02_rb,1.6356e+02_rb,1.1223e+02_rb,7.3951e+01_rb,2.9460e+01_rb/) kbo(:, 4,56,13) = (/ & &4.0585e+02_rb,3.0451e+02_rb,2.0325e+02_rb,1.0953e+02_rb,2.9455e+01_rb/) kbo(:, 5,56,13) = (/ & &7.0659e+02_rb,5.3004e+02_rb,3.5349e+02_rb,1.7883e+02_rb,2.9213e+01_rb/) kbo(:, 1,57,13) = (/ & &3.4230e+01_rb,3.3758e+01_rb,4.1164e+01_rb,4.5068e+01_rb,2.7829e+01_rb/) kbo(:, 2,57,13) = (/ & &8.1249e+01_rb,6.3007e+01_rb,5.6061e+01_rb,5.3761e+01_rb,2.8811e+01_rb/) kbo(:, 3,57,13) = (/ & &1.7223e+02_rb,1.2931e+02_rb,9.1411e+01_rb,6.6606e+01_rb,2.9335e+01_rb/) kbo(:, 4,57,13) = (/ & &3.3026e+02_rb,2.4783e+02_rb,1.6598e+02_rb,9.4193e+01_rb,2.9500e+01_rb/) kbo(:, 5,57,13) = (/ & &5.8636e+02_rb,4.3987e+02_rb,2.9340e+02_rb,1.5031e+02_rb,2.9335e+01_rb/) kbo(:, 1,58,13) = (/ & &6.5933e+00_rb,9.4893e+00_rb,1.6089e+01_rb,2.5300e+01_rb,2.7425e+01_rb/) kbo(:, 2,58,13) = (/ & &1.6360e+01_rb,1.6224e+01_rb,2.0957e+01_rb,3.0182e+01_rb,2.8583e+01_rb/) kbo(:, 3,58,13) = (/ & &3.5957e+01_rb,3.3123e+01_rb,3.1853e+01_rb,3.6291e+01_rb,2.9233e+01_rb/) kbo(:, 4,58,13) = (/ & &7.1076e+01_rb,6.5212e+01_rb,5.6746e+01_rb,4.8699e+01_rb,2.9472e+01_rb/) kbo(:, 5,58,13) = (/ & &1.2897e+02_rb,1.1828e+02_rb,1.0149e+02_rb,7.4519e+01_rb,2.9400e+01_rb/) kbo(:, 1,59,13) = (/ & &6.7458e+00_rb,1.2021e+01_rb,2.0178e+01_rb,2.9391e+01_rb,2.7237e+01_rb/) kbo(:, 2,59,13) = (/ & &1.7109e+01_rb,1.8183e+01_rb,2.5274e+01_rb,3.4440e+01_rb,2.8519e+01_rb/) kbo(:, 3,59,13) = (/ & &3.8233e+01_rb,3.4158e+01_rb,3.4619e+01_rb,4.0204e+01_rb,2.9240e+01_rb/) kbo(:, 4,59,13) = (/ & &7.6647e+01_rb,6.6998e+01_rb,5.6073e+01_rb,4.9489e+01_rb,2.9509e+01_rb/) kbo(:, 5,59,13) = (/ & &1.4043e+02_rb,1.2268e+02_rb,9.8230e+01_rb,6.8889e+01_rb,2.9402e+01_rb/) kbo(:, 1,13,14) = (/ & &2.1776e+03_rb,1.6333e+03_rb,1.0891e+03_rb,5.4478e+02_rb,7.3262e+00_rb/) kbo(:, 2,13,14) = (/ & &3.1101e+03_rb,2.3327e+03_rb,1.5553e+03_rb,7.7788e+02_rb,7.3124e+00_rb/) kbo(:, 3,13,14) = (/ & &4.2249e+03_rb,3.1687e+03_rb,2.1126e+03_rb,1.0565e+03_rb,7.2480e+00_rb/) kbo(:, 4,13,14) = (/ & &5.5118e+03_rb,4.1339e+03_rb,2.7561e+03_rb,1.3783e+03_rb,7.1568e+00_rb/) kbo(:, 5,13,14) = (/ & &6.9506e+03_rb,5.2131e+03_rb,3.4755e+03_rb,1.7380e+03_rb,7.0367e+00_rb/) kbo(:, 1,14,14) = (/ & &1.4496e+03_rb,1.0873e+03_rb,7.2501e+02_rb,3.6272e+02_rb,8.3339e+00_rb/) kbo(:, 2,14,14) = (/ & &2.0734e+03_rb,1.5551e+03_rb,1.0369e+03_rb,5.1863e+02_rb,8.2705e+00_rb/) kbo(:, 3,14,14) = (/ & &2.8238e+03_rb,2.1179e+03_rb,1.4121e+03_rb,7.0623e+02_rb,8.1703e+00_rb/) kbo(:, 4,14,14) = (/ & &3.6841e+03_rb,2.7632e+03_rb,1.8422e+03_rb,9.2131e+02_rb,8.0387e+00_rb/) kbo(:, 5,14,14) = (/ & &4.6457e+03_rb,3.4843e+03_rb,2.3230e+03_rb,1.1617e+03_rb,7.8896e+00_rb/) kbo(:, 1,15,14) = (/ & &9.9772e+02_rb,7.4839e+02_rb,4.9906e+02_rb,2.4972e+02_rb,9.4242e+00_rb/) kbo(:, 2,15,14) = (/ & &1.4271e+03_rb,1.0704e+03_rb,7.1374e+02_rb,3.5707e+02_rb,9.3124e+00_rb/) kbo(:, 3,15,14) = (/ & &1.9364e+03_rb,1.4524e+03_rb,9.6841e+02_rb,4.8440e+02_rb,9.1590e+00_rb/) kbo(:, 4,15,14) = (/ & &2.5268e+03_rb,1.8952e+03_rb,1.2636e+03_rb,6.3198e+02_rb,8.9837e+00_rb/) kbo(:, 5,15,14) = (/ & &3.1888e+03_rb,2.3917e+03_rb,1.5946e+03_rb,7.9748e+02_rb,8.7913e+00_rb/) kbo(:, 1,16,14) = (/ & &8.2535e+02_rb,6.1910e+02_rb,4.1286e+02_rb,2.0662e+02_rb,1.0617e+01_rb/) kbo(:, 2,16,14) = (/ & &1.1765e+03_rb,8.8250e+02_rb,5.8845e+02_rb,2.9441e+02_rb,1.0441e+01_rb/) kbo(:, 3,16,14) = (/ & &1.5988e+03_rb,1.1992e+03_rb,7.9956e+02_rb,3.9995e+02_rb,1.0240e+01_rb/) kbo(:, 4,16,14) = (/ & &2.0853e+03_rb,1.5640e+03_rb,1.0428e+03_rb,5.2160e+02_rb,1.0022e+01_rb/) kbo(:, 5,16,14) = (/ & &2.6260e+03_rb,1.9696e+03_rb,1.3132e+03_rb,6.5679e+02_rb,9.7853e+00_rb/) kbo(:, 1,17,14) = (/ & &7.1446e+02_rb,5.3593e+02_rb,3.5740e+02_rb,1.7888e+02_rb,1.1902e+01_rb/) kbo(:, 2,17,14) = (/ & &1.0170e+03_rb,7.6281e+02_rb,5.0866e+02_rb,2.5450e+02_rb,1.1678e+01_rb/) kbo(:, 3,17,14) = (/ & &1.3782e+03_rb,1.0338e+03_rb,6.8929e+02_rb,3.4482e+02_rb,1.1434e+01_rb/) kbo(:, 4,17,14) = (/ & &1.7913e+03_rb,1.3436e+03_rb,8.9585e+02_rb,4.4810e+02_rb,1.1160e+01_rb/) kbo(:, 5,17,14) = (/ & &2.2531e+03_rb,1.6899e+03_rb,1.1267e+03_rb,5.6354e+02_rb,1.0872e+01_rb/) kbo(:, 1,18,14) = (/ & &6.3627e+02_rb,4.7728e+02_rb,3.1830e+02_rb,1.5932e+02_rb,1.3306e+01_rb/) kbo(:, 2,18,14) = (/ & &9.0279e+02_rb,6.7718e+02_rb,4.5157e+02_rb,2.2596e+02_rb,1.3021e+01_rb/) kbo(:, 3,18,14) = (/ & &1.2176e+03_rb,9.1326e+02_rb,6.0896e+02_rb,3.0466e+02_rb,1.2705e+01_rb/) kbo(:, 4,18,14) = (/ & &1.5793e+03_rb,1.1846e+03_rb,7.8983e+02_rb,3.9509e+02_rb,1.2374e+01_rb/) kbo(:, 5,18,14) = (/ & &1.9821e+03_rb,1.4867e+03_rb,9.9125e+02_rb,4.9580e+02_rb,1.2038e+01_rb/) kbo(:, 1,19,14) = (/ & &5.5701e+02_rb,4.1784e+02_rb,2.7868e+02_rb,1.3951e+02_rb,1.4835e+01_rb/) kbo(:, 2,19,14) = (/ & &7.8555e+02_rb,5.8924e+02_rb,3.9294e+02_rb,1.9665e+02_rb,1.4471e+01_rb/) kbo(:, 3,19,14) = (/ & &1.0565e+03_rb,7.9246e+02_rb,5.2842e+02_rb,2.6438e+02_rb,1.4088e+01_rb/) kbo(:, 4,19,14) = (/ & &1.3666e+03_rb,1.0251e+03_rb,6.8348e+02_rb,3.4191e+02_rb,1.3700e+01_rb/) kbo(:, 5,19,14) = (/ & &1.7097e+03_rb,1.2824e+03_rb,8.5504e+02_rb,4.2769e+02_rb,1.3330e+01_rb/) kbo(:, 1,20,14) = (/ & &5.2902e+02_rb,3.9685e+02_rb,2.6468e+02_rb,1.3251e+02_rb,1.6461e+01_rb/) kbo(:, 2,20,14) = (/ & &7.4221e+02_rb,5.5674e+02_rb,3.7128e+02_rb,1.8581e+02_rb,1.6028e+01_rb/) kbo(:, 3,20,14) = (/ & &9.9413e+02_rb,7.4568e+02_rb,4.9723e+02_rb,2.4879e+02_rb,1.5588e+01_rb/) kbo(:, 4,20,14) = (/ & &1.2802e+03_rb,9.6022e+02_rb,6.4026e+02_rb,3.2030e+02_rb,1.5170e+01_rb/) kbo(:, 5,20,14) = (/ & &1.5959e+03_rb,1.1970e+03_rb,7.9814e+02_rb,3.9924e+02_rb,1.4766e+01_rb/) kbo(:, 1,21,14) = (/ & &5.1643e+02_rb,3.8740e+02_rb,2.5838e+02_rb,1.2935e+02_rb,1.8266e+01_rb/) kbo(:, 2,21,14) = (/ & &7.2079e+02_rb,5.4067e+02_rb,3.6056e+02_rb,1.8045e+02_rb,1.7763e+01_rb/) kbo(:, 3,21,14) = (/ & &9.5965e+02_rb,7.1982e+02_rb,4.7999e+02_rb,2.4017e+02_rb,1.7272e+01_rb/) kbo(:, 4,21,14) = (/ & &1.2302e+03_rb,9.2274e+02_rb,6.1527e+02_rb,3.0781e+02_rb,1.6803e+01_rb/) kbo(:, 5,21,14) = (/ & &1.5280e+03_rb,1.1461e+03_rb,7.6416e+02_rb,3.8225e+02_rb,1.6348e+01_rb/) kbo(:, 1,22,14) = (/ & &5.2623e+02_rb,3.9475e+02_rb,2.6327e+02_rb,1.3179e+02_rb,2.0243e+01_rb/) kbo(:, 2,22,14) = (/ & &7.2644e+02_rb,5.4491e+02_rb,3.6339e+02_rb,1.8186e+02_rb,1.9664e+01_rb/) kbo(:, 3,22,14) = (/ & &9.5925e+02_rb,7.1952e+02_rb,4.7979e+02_rb,2.4006e+02_rb,1.9116e+01_rb/) kbo(:, 4,22,14) = (/ & &1.2211e+03_rb,9.1590e+02_rb,6.1071e+02_rb,3.0553e+02_rb,1.8593e+01_rb/) kbo(:, 5,22,14) = (/ & &1.5078e+03_rb,1.1310e+03_rb,7.5409e+02_rb,3.7722e+02_rb,1.8080e+01_rb/) kbo(:, 1,23,14) = (/ & &5.3158e+02_rb,3.9876e+02_rb,2.6595e+02_rb,1.3313e+02_rb,2.2446e+01_rb/) kbo(:, 2,23,14) = (/ & &7.2667e+02_rb,5.4508e+02_rb,3.6349e+02_rb,1.8191e+02_rb,2.1789e+01_rb/) kbo(:, 3,23,14) = (/ & &9.5159e+02_rb,7.1378e+02_rb,4.7596e+02_rb,2.3814e+02_rb,2.1156e+01_rb/) kbo(:, 4,23,14) = (/ & &1.2042e+03_rb,9.0323e+02_rb,6.0227e+02_rb,3.0131e+02_rb,2.0541e+01_rb/) kbo(:, 5,23,14) = (/ & &1.4791e+03_rb,1.1094e+03_rb,7.3972e+02_rb,3.7004e+02_rb,1.9936e+01_rb/) kbo(:, 1,24,14) = (/ & &5.2674e+02_rb,3.9513e+02_rb,2.6351e+02_rb,1.3189e+02_rb,2.4861e+01_rb/) kbo(:, 2,24,14) = (/ & &7.1320e+02_rb,5.3497e+02_rb,3.5675e+02_rb,1.7852e+02_rb,2.4105e+01_rb/) kbo(:, 3,24,14) = (/ & &9.2799e+02_rb,6.9608e+02_rb,4.6416e+02_rb,2.3224e+02_rb,2.3357e+01_rb/) kbo(:, 4,24,14) = (/ & &1.1676e+03_rb,8.7581e+02_rb,5.8399e+02_rb,2.9218e+02_rb,2.2617e+01_rb/) kbo(:, 5,24,14) = (/ & &1.4298e+03_rb,1.0724e+03_rb,7.1508e+02_rb,3.5774e+02_rb,2.1888e+01_rb/) kbo(:, 1,25,14) = (/ & &5.2185e+02_rb,3.9145e+02_rb,2.6105e+02_rb,1.3066e+02_rb,2.7396e+01_rb/) kbo(:, 2,25,14) = (/ & &7.0140e+02_rb,5.2612e+02_rb,3.5084e+02_rb,1.7556e+02_rb,2.6509e+01_rb/) kbo(:, 3,25,14) = (/ & &9.0713e+02_rb,6.8043e+02_rb,4.5373e+02_rb,2.2703e+02_rb,2.5618e+01_rb/) kbo(:, 4,25,14) = (/ & &1.1371e+03_rb,8.5288e+02_rb,5.6870e+02_rb,2.8453e+02_rb,2.4730e+01_rb/) kbo(:, 5,25,14) = (/ & &1.3891e+03_rb,1.0419e+03_rb,6.9474e+02_rb,3.4757e+02_rb,2.3860e+01_rb/) kbo(:, 1,26,14) = (/ & &5.2251e+02_rb,3.9195e+02_rb,2.6138e+02_rb,1.3085e+02_rb,2.9927e+01_rb/) kbo(:, 2,26,14) = (/ & &6.9730e+02_rb,5.2305e+02_rb,3.4880e+02_rb,1.7455e+02_rb,2.8877e+01_rb/) kbo(:, 3,26,14) = (/ & &8.9735e+02_rb,6.7309e+02_rb,4.4884e+02_rb,2.2459e+02_rb,2.7820e+01_rb/) kbo(:, 4,26,14) = (/ & &1.1213e+03_rb,8.4105e+02_rb,5.6081e+02_rb,2.8058e+02_rb,2.6772e+01_rb/) kbo(:, 5,26,14) = (/ & &1.3665e+03_rb,1.0250e+03_rb,6.8346e+02_rb,3.4192e+02_rb,2.5741e+01_rb/) kbo(:, 1,27,14) = (/ & &5.3834e+02_rb,4.0383e+02_rb,2.6931e+02_rb,1.3510e+02_rb,3.2357e+01_rb/) kbo(:, 2,27,14) = (/ & &7.1439e+02_rb,5.3587e+02_rb,3.5735e+02_rb,1.7883e+02_rb,3.1116e+01_rb/) kbo(:, 3,27,14) = (/ & &9.1626e+02_rb,6.8728e+02_rb,4.5830e+02_rb,2.2932e+02_rb,2.9881e+01_rb/) kbo(:, 4,27,14) = (/ & &1.1424e+03_rb,8.5692e+02_rb,5.7140e+02_rb,2.8587e+02_rb,2.8666e+01_rb/) kbo(:, 5,27,14) = (/ & &1.3901e+03_rb,1.0427e+03_rb,6.9525e+02_rb,3.4781e+02_rb,2.7467e+01_rb/) kbo(:, 1,28,14) = (/ & &5.6592e+02_rb,4.2451e+02_rb,2.8310e+02_rb,1.4237e+02_rb,3.4583e+01_rb/) kbo(:, 2,28,14) = (/ & &7.4785e+02_rb,5.6096e+02_rb,3.7408e+02_rb,1.8720e+02_rb,3.3140e+01_rb/) kbo(:, 3,28,14) = (/ & &9.5690e+02_rb,7.1776e+02_rb,4.7862e+02_rb,2.3947e+02_rb,3.1724e+01_rb/) kbo(:, 4,28,14) = (/ & &1.1915e+03_rb,8.9371e+02_rb,5.9592e+02_rb,2.9814e+02_rb,3.0340e+01_rb/) kbo(:, 5,28,14) = (/ & &1.4480e+03_rb,1.0861e+03_rb,7.2421e+02_rb,3.6229e+02_rb,2.8988e+01_rb/) kbo(:, 1,29,14) = (/ & &6.3031e+02_rb,4.7280e+02_rb,3.1529e+02_rb,1.5867e+02_rb,3.6546e+01_rb/) kbo(:, 2,29,14) = (/ & &8.3056e+02_rb,6.2300e+02_rb,4.1543e+02_rb,2.0788e+02_rb,3.4912e+01_rb/) kbo(:, 3,29,14) = (/ & &1.0608e+03_rb,7.9566e+02_rb,5.3055e+02_rb,2.6544e+02_rb,3.3320e+01_rb/) kbo(:, 4,29,14) = (/ & &1.3185e+03_rb,9.8899e+02_rb,6.5945e+02_rb,3.2990e+02_rb,3.1769e+01_rb/) kbo(:, 5,29,14) = (/ & &1.6020e+03_rb,1.2016e+03_rb,8.0116e+02_rb,4.0076e+02_rb,3.0274e+01_rb/) kbo(:, 1,30,14) = (/ & &7.1878e+02_rb,5.3916e+02_rb,3.5953e+02_rb,1.8082e+02_rb,3.8231e+01_rb/) kbo(:, 2,30,14) = (/ & &9.4502e+02_rb,7.0884e+02_rb,4.7266e+02_rb,2.3650e+02_rb,3.6421e+01_rb/) kbo(:, 3,30,14) = (/ & &1.2048e+03_rb,9.0370e+02_rb,6.0258e+02_rb,3.0145e+02_rb,3.4660e+01_rb/) kbo(:, 4,30,14) = (/ & &1.4966e+03_rb,1.1225e+03_rb,7.4846e+02_rb,3.7440e+02_rb,3.2964e+01_rb/) kbo(:, 5,30,14) = (/ & &1.8180e+03_rb,1.3636e+03_rb,9.0918e+02_rb,4.5477e+02_rb,3.1338e+01_rb/) kbo(:, 1,31,14) = (/ & &8.6352e+02_rb,6.4770e+02_rb,4.3189e+02_rb,2.1681e+02_rb,3.9626e+01_rb/) kbo(:, 2,31,14) = (/ & &1.1338e+03_rb,8.5039e+02_rb,5.6702e+02_rb,2.8366e+02_rb,3.7649e+01_rb/) kbo(:, 3,31,14) = (/ & &1.4436e+03_rb,1.0827e+03_rb,7.2193e+02_rb,3.6112e+02_rb,3.5738e+01_rb/) kbo(:, 4,31,14) = (/ & &1.7919e+03_rb,1.3440e+03_rb,8.9611e+02_rb,4.4823e+02_rb,3.3911e+01_rb/) kbo(:, 5,31,14) = (/ & &2.1766e+03_rb,1.6325e+03_rb,1.0885e+03_rb,5.4442e+02_rb,3.2168e+01_rb/) kbo(:, 1,32,14) = (/ & &1.0534e+03_rb,7.9009e+02_rb,5.2682e+02_rb,2.6397e+02_rb,4.0725e+01_rb/) kbo(:, 2,32,14) = (/ & &1.3802e+03_rb,1.0352e+03_rb,6.9024e+02_rb,3.4527e+02_rb,3.8603e+01_rb/) kbo(:, 3,32,14) = (/ & &1.7557e+03_rb,1.3169e+03_rb,8.7802e+02_rb,4.3918e+02_rb,3.6565e+01_rb/) kbo(:, 4,32,14) = (/ & &2.1789e+03_rb,1.6342e+03_rb,1.0896e+03_rb,5.4499e+02_rb,3.4625e+01_rb/) kbo(:, 5,32,14) = (/ & &2.6446e+03_rb,1.9836e+03_rb,1.3225e+03_rb,6.6145e+02_rb,3.2784e+01_rb/) kbo(:, 1,33,14) = (/ & &1.3124e+03_rb,9.8436e+02_rb,6.5633e+02_rb,3.2843e+02_rb,4.1548e+01_rb/) kbo(:, 2,33,14) = (/ & &1.7177e+03_rb,1.2883e+03_rb,8.5900e+02_rb,4.2966e+02_rb,3.9303e+01_rb/) kbo(:, 3,33,14) = (/ & &2.1832e+03_rb,1.6375e+03_rb,1.0918e+03_rb,5.4605e+02_rb,3.7160e+01_rb/) kbo(:, 4,33,14) = (/ & &2.7063e+03_rb,2.0298e+03_rb,1.3533e+03_rb,6.7686e+02_rb,3.5130e+01_rb/) kbo(:, 5,33,14) = (/ & &3.2806e+03_rb,2.4606e+03_rb,1.6405e+03_rb,8.2046e+02_rb,3.3063e+01_rb/) kbo(:, 1,34,14) = (/ & &1.5860e+03_rb,1.1896e+03_rb,7.9315e+02_rb,3.9672e+02_rb,4.2202e+01_rb/) kbo(:, 2,34,14) = (/ & &2.0745e+03_rb,1.5559e+03_rb,1.0374e+03_rb,5.1886e+02_rb,3.9853e+01_rb/) kbo(:, 3,34,14) = (/ & &2.6355e+03_rb,1.9767e+03_rb,1.3179e+03_rb,6.5913e+02_rb,3.7623e+01_rb/) kbo(:, 4,34,14) = (/ & &3.2644e+03_rb,2.4484e+03_rb,1.6324e+03_rb,8.1637e+02_rb,3.5405e+01_rb/) kbo(:, 5,34,14) = (/ & &3.9520e+03_rb,2.9641e+03_rb,1.9762e+03_rb,9.8832e+02_rb,3.3276e+01_rb/) kbo(:, 1,35,14) = (/ & &1.8756e+03_rb,1.4068e+03_rb,9.3797e+02_rb,4.6914e+02_rb,4.2878e+01_rb/) kbo(:, 2,35,14) = (/ & &2.4578e+03_rb,1.8434e+03_rb,1.2290e+03_rb,6.1469e+02_rb,4.0440e+01_rb/) kbo(:, 3,35,14) = (/ & &3.1268e+03_rb,2.3452e+03_rb,1.5636e+03_rb,7.8197e+02_rb,3.8129e+01_rb/) kbo(:, 4,35,14) = (/ & &3.8751e+03_rb,2.9064e+03_rb,1.9378e+03_rb,9.6909e+02_rb,3.5715e+01_rb/) kbo(:, 5,35,14) = (/ & &4.6936e+03_rb,3.5203e+03_rb,2.3471e+03_rb,1.1738e+03_rb,3.3797e+01_rb/) kbo(:, 1,36,14) = (/ & &2.1453e+03_rb,1.6090e+03_rb,1.0728e+03_rb,5.3655e+02_rb,4.3664e+01_rb/) kbo(:, 2,36,14) = (/ & &2.8245e+03_rb,2.1184e+03_rb,1.4124e+03_rb,7.0636e+02_rb,4.1138e+01_rb/) kbo(:, 3,36,14) = (/ & &3.6063e+03_rb,2.7048e+03_rb,1.8033e+03_rb,9.0186e+02_rb,3.8589e+01_rb/) kbo(:, 4,36,14) = (/ & &4.4821e+03_rb,3.3616e+03_rb,2.2412e+03_rb,1.1208e+03_rb,3.6195e+01_rb/) kbo(:, 5,36,14) = (/ & &5.4418e+03_rb,4.0814e+03_rb,2.7211e+03_rb,1.3608e+03_rb,3.4367e+01_rb/) kbo(:, 1,37,14) = (/ & &2.2940e+03_rb,1.7205e+03_rb,1.1471e+03_rb,5.7372e+02_rb,4.4724e+01_rb/) kbo(:, 2,37,14) = (/ & &3.0476e+03_rb,2.2858e+03_rb,1.5240e+03_rb,7.6217e+02_rb,4.2103e+01_rb/) kbo(:, 3,37,14) = (/ & &3.9216e+03_rb,2.9413e+03_rb,1.9610e+03_rb,9.8070e+02_rb,3.9415e+01_rb/) kbo(:, 4,37,14) = (/ & &4.9050e+03_rb,3.6789e+03_rb,2.4527e+03_rb,1.2266e+03_rb,3.7136e+01_rb/) kbo(:, 5,37,14) = (/ & &5.9876e+03_rb,4.4908e+03_rb,2.9940e+03_rb,1.4972e+03_rb,3.5121e+01_rb/) kbo(:, 1,38,14) = (/ & &2.4855e+03_rb,1.8642e+03_rb,1.2429e+03_rb,6.2161e+02_rb,4.5721e+01_rb/) kbo(:, 2,38,14) = (/ & &3.3318e+03_rb,2.4989e+03_rb,1.6661e+03_rb,8.3322e+02_rb,4.3010e+01_rb/) kbo(:, 3,38,14) = (/ & &4.3213e+03_rb,3.2410e+03_rb,2.1608e+03_rb,1.0806e+03_rb,4.0195e+01_rb/) kbo(:, 4,38,14) = (/ & &5.4403e+03_rb,4.0803e+03_rb,2.7203e+03_rb,1.3604e+03_rb,3.7939e+01_rb/) kbo(:, 5,38,14) = (/ & &6.6754e+03_rb,5.0066e+03_rb,3.3379e+03_rb,1.6692e+03_rb,3.5824e+01_rb/) kbo(:, 1,39,14) = (/ & &2.7579e+03_rb,2.0685e+03_rb,1.3791e+03_rb,6.8973e+02_rb,4.6636e+01_rb/) kbo(:, 2,39,14) = (/ & &3.7311e+03_rb,2.7984e+03_rb,1.8657e+03_rb,9.3308e+02_rb,4.3764e+01_rb/) kbo(:, 3,39,14) = (/ & &4.8740e+03_rb,3.6556e+03_rb,2.4372e+03_rb,1.2188e+03_rb,4.0901e+01_rb/) kbo(:, 4,39,14) = (/ & &6.1755e+03_rb,4.6318e+03_rb,3.0880e+03_rb,1.5442e+03_rb,3.8692e+01_rb/) kbo(:, 5,39,14) = (/ & &7.6168e+03_rb,5.7128e+03_rb,3.8087e+03_rb,1.9046e+03_rb,3.6244e+01_rb/) kbo(:, 1,40,14) = (/ & &2.7806e+03_rb,2.0855e+03_rb,1.3905e+03_rb,6.9541e+02_rb,4.7781e+01_rb/) kbo(:, 2,40,14) = (/ & &3.8105e+03_rb,2.8580e+03_rb,1.9054e+03_rb,9.5291e+02_rb,4.4820e+01_rb/) kbo(:, 3,40,14) = (/ & &5.0317e+03_rb,3.7739e+03_rb,2.5160e+03_rb,1.2582e+03_rb,4.1870e+01_rb/) kbo(:, 4,40,14) = (/ & &6.4348e+03_rb,4.8262e+03_rb,3.2176e+03_rb,1.6090e+03_rb,3.9597e+01_rb/) kbo(:, 5,40,14) = (/ & &7.9965e+03_rb,5.9975e+03_rb,3.9985e+03_rb,1.9995e+03_rb,3.7061e+01_rb/) kbo(:, 1,41,14) = (/ & &2.7787e+03_rb,2.0841e+03_rb,1.3895e+03_rb,6.9500e+02_rb,4.8925e+01_rb/) kbo(:, 2,41,14) = (/ & &3.8614e+03_rb,2.8961e+03_rb,1.9309e+03_rb,9.6566e+02_rb,4.5922e+01_rb/) kbo(:, 3,41,14) = (/ & &5.1574e+03_rb,3.8681e+03_rb,2.5789e+03_rb,1.2897e+03_rb,4.2853e+01_rb/) kbo(:, 4,41,14) = (/ & &6.6587e+03_rb,4.9941e+03_rb,3.3296e+03_rb,1.6650e+03_rb,4.0428e+01_rb/) kbo(:, 5,41,14) = (/ & &8.3439e+03_rb,6.2581e+03_rb,4.1723e+03_rb,2.0864e+03_rb,3.7900e+01_rb/) kbo(:, 1,42,14) = (/ & &2.7998e+03_rb,2.0999e+03_rb,1.4001e+03_rb,7.0041e+02_rb,5.0031e+01_rb/) kbo(:, 2,42,14) = (/ & &3.9460e+03_rb,2.9596e+03_rb,1.9732e+03_rb,9.8680e+02_rb,4.6998e+01_rb/) kbo(:, 3,42,14) = (/ & &5.3323e+03_rb,3.9993e+03_rb,2.6663e+03_rb,1.3334e+03_rb,4.3819e+01_rb/) kbo(:, 4,42,14) = (/ & &6.9531e+03_rb,5.2149e+03_rb,3.4767e+03_rb,1.7386e+03_rb,4.1253e+01_rb/) kbo(:, 5,42,14) = (/ & &8.7873e+03_rb,6.5906e+03_rb,4.3939e+03_rb,2.1972e+03_rb,3.8745e+01_rb/) kbo(:, 1,43,14) = (/ & &2.7784e+03_rb,2.0839e+03_rb,1.3894e+03_rb,6.9544e+02_rb,5.1292e+01_rb/) kbo(:, 2,43,14) = (/ & &3.9830e+03_rb,2.9874e+03_rb,1.9917e+03_rb,9.9606e+02_rb,4.8177e+01_rb/) kbo(:, 3,43,14) = (/ & &5.4603e+03_rb,4.0953e+03_rb,2.7304e+03_rb,1.3654e+03_rb,4.4925e+01_rb/) kbo(:, 4,43,14) = (/ & &7.2065e+03_rb,5.4050e+03_rb,3.6035e+03_rb,1.8020e+03_rb,4.2242e+01_rb/) kbo(:, 5,43,14) = (/ & &9.2025e+03_rb,6.9020e+03_rb,4.6015e+03_rb,2.3010e+03_rb,3.9649e+01_rb/) kbo(:, 1,44,14) = (/ & &2.7542e+03_rb,2.0657e+03_rb,1.3772e+03_rb,6.8977e+02_rb,5.2617e+01_rb/) kbo(:, 2,44,14) = (/ & &4.0230e+03_rb,3.0173e+03_rb,2.0117e+03_rb,1.0060e+03_rb,4.9427e+01_rb/) kbo(:, 3,44,14) = (/ & &5.6050e+03_rb,4.2038e+03_rb,2.8027e+03_rb,1.4015e+03_rb,4.6077e+01_rb/) kbo(:, 4,44,14) = (/ & &7.4959e+03_rb,5.6220e+03_rb,3.7481e+03_rb,1.8743e+03_rb,4.3276e+01_rb/) kbo(:, 5,44,14) = (/ & &9.6875e+03_rb,7.2657e+03_rb,4.8439e+03_rb,2.4222e+03_rb,4.0647e+01_rb/) kbo(:, 1,45,14) = (/ & &2.7680e+03_rb,2.0761e+03_rb,1.3842e+03_rb,6.9371e+02_rb,5.3927e+01_rb/) kbo(:, 2,45,14) = (/ & &4.1247e+03_rb,3.0936e+03_rb,2.0625e+03_rb,1.0314e+03_rb,5.0672e+01_rb/) kbo(:, 3,45,14) = (/ & &5.8448e+03_rb,4.3837e+03_rb,2.9226e+03_rb,1.4615e+03_rb,4.7150e+01_rb/) kbo(:, 4,45,14) = (/ & &7.9284e+03_rb,5.9463e+03_rb,3.9644e+03_rb,1.9824e+03_rb,4.4329e+01_rb/) kbo(:, 5,45,14) = (/ & &1.0369e+04_rb,7.7768e+03_rb,5.1847e+03_rb,2.5926e+03_rb,4.1634e+01_rb/) kbo(:, 1,46,14) = (/ & &2.7642e+03_rb,2.0732e+03_rb,1.3822e+03_rb,6.9344e+02_rb,5.5299e+01_rb/) kbo(:, 2,46,14) = (/ & &4.2127e+03_rb,3.1596e+03_rb,2.1065e+03_rb,1.0534e+03_rb,5.1989e+01_rb/) kbo(:, 3,46,14) = (/ & &6.0817e+03_rb,4.5614e+03_rb,3.0411e+03_rb,1.5207e+03_rb,4.8362e+01_rb/) kbo(:, 4,46,14) = (/ & &8.3835e+03_rb,6.2877e+03_rb,4.1920e+03_rb,2.0962e+03_rb,4.5451e+01_rb/) kbo(:, 5,46,14) = (/ & &1.1109e+04_rb,8.3315e+03_rb,5.5545e+03_rb,2.7775e+03_rb,4.2710e+01_rb/) kbo(:, 1,47,14) = (/ & &2.6579e+03_rb,1.9935e+03_rb,1.3291e+03_rb,6.6810e+02_rb,5.6805e+01_rb/) kbo(:, 2,47,14) = (/ & &4.1618e+03_rb,3.1214e+03_rb,2.0811e+03_rb,1.0407e+03_rb,5.3447e+01_rb/) kbo(:, 3,47,14) = (/ & &6.1402e+03_rb,4.6053e+03_rb,3.0703e+03_rb,1.5354e+03_rb,4.9761e+01_rb/) kbo(:, 4,47,14) = (/ & &8.6262e+03_rb,6.4697e+03_rb,4.3133e+03_rb,2.1569e+03_rb,4.6695e+01_rb/) kbo(:, 5,47,14) = (/ & &1.1609e+04_rb,8.7071e+03_rb,5.8049e+03_rb,2.9027e+03_rb,4.4026e+01_rb/) kbo(:, 1,48,14) = (/ & &2.5983e+03_rb,1.9488e+03_rb,1.2993e+03_rb,6.5451e+02_rb,5.8316e+01_rb/) kbo(:, 2,48,14) = (/ & &4.1890e+03_rb,3.1418e+03_rb,2.0947e+03_rb,1.0476e+03_rb,5.4906e+01_rb/) kbo(:, 3,48,14) = (/ & &6.3280e+03_rb,4.7461e+03_rb,3.1642e+03_rb,1.5823e+03_rb,5.1153e+01_rb/) kbo(:, 4,48,14) = (/ & &9.0666e+03_rb,6.8001e+03_rb,4.5335e+03_rb,2.2670e+03_rb,4.7961e+01_rb/) kbo(:, 5,48,14) = (/ & &1.2413e+04_rb,9.3096e+03_rb,6.2066e+03_rb,3.1035e+03_rb,4.5348e+01_rb/) kbo(:, 1,49,14) = (/ & &2.6146e+03_rb,1.9610e+03_rb,1.3074e+03_rb,6.5952e+02_rb,5.9823e+01_rb/) kbo(:, 2,49,14) = (/ & &4.3479e+03_rb,3.2610e+03_rb,2.1741e+03_rb,1.0874e+03_rb,5.6229e+01_rb/) kbo(:, 3,49,14) = (/ & &6.7401e+03_rb,5.0552e+03_rb,3.3702e+03_rb,1.6853e+03_rb,5.2522e+01_rb/) kbo(:, 4,49,14) = (/ & &9.8602e+03_rb,7.3953e+03_rb,4.9303e+03_rb,2.4653e+03_rb,4.9326e+01_rb/) kbo(:, 5,49,14) = (/ & &1.3745e+04_rb,1.0309e+04_rb,6.8727e+03_rb,3.4366e+03_rb,4.6702e+01_rb/) kbo(:, 1,50,14) = (/ & &2.5099e+03_rb,1.8825e+03_rb,1.2551e+03_rb,6.3476e+02_rb,6.1230e+01_rb/) kbo(:, 2,50,14) = (/ & &4.3054e+03_rb,3.2291e+03_rb,2.1528e+03_rb,1.0772e+03_rb,5.7584e+01_rb/) kbo(:, 3,50,14) = (/ & &6.8503e+03_rb,5.1378e+03_rb,3.4253e+03_rb,1.7128e+03_rb,5.3876e+01_rb/) kbo(:, 4,50,14) = (/ & &1.0235e+04_rb,7.6760e+03_rb,5.1175e+03_rb,2.5589e+03_rb,5.0609e+01_rb/) kbo(:, 5,50,14) = (/ & &1.4527e+04_rb,1.0895e+04_rb,7.2636e+03_rb,3.6320e+03_rb,4.7904e+01_rb/) kbo(:, 1,51,14) = (/ & &2.3421e+03_rb,1.7566e+03_rb,1.1712e+03_rb,5.9456e+02_rb,6.2588e+01_rb/) kbo(:, 2,51,14) = (/ & &4.1517e+03_rb,3.1138e+03_rb,2.0760e+03_rb,1.0393e+03_rb,5.8927e+01_rb/) kbo(:, 3,51,14) = (/ & &6.7861e+03_rb,5.0897e+03_rb,3.3932e+03_rb,1.6968e+03_rb,5.5331e+01_rb/) kbo(:, 4,51,14) = (/ & &1.0366e+04_rb,7.7746e+03_rb,5.1832e+03_rb,2.5918e+03_rb,5.1728e+01_rb/) kbo(:, 5,51,14) = (/ & &1.4983e+04_rb,1.1238e+04_rb,7.4919e+03_rb,3.7462e+03_rb,4.9071e+01_rb/) kbo(:, 1,52,14) = (/ & &2.2192e+03_rb,1.6645e+03_rb,1.1098e+03_rb,5.6550e+02_rb,6.3929e+01_rb/) kbo(:, 2,52,14) = (/ & &4.0774e+03_rb,3.0581e+03_rb,2.0388e+03_rb,1.0215e+03_rb,6.0266e+01_rb/) kbo(:, 3,52,14) = (/ & &6.8574e+03_rb,5.1432e+03_rb,3.4289e+03_rb,1.7146e+03_rb,5.6630e+01_rb/) kbo(:, 4,52,14) = (/ & &1.0728e+04_rb,8.0459e+03_rb,5.3641e+03_rb,2.6822e+03_rb,5.3054e+01_rb/) kbo(:, 5,52,14) = (/ & &1.5806e+04_rb,1.1855e+04_rb,7.9035e+03_rb,3.9520e+03_rb,5.0321e+01_rb/) kbo(:, 1,53,14) = (/ & &2.1588e+03_rb,1.6192e+03_rb,1.0797e+03_rb,5.5175e+02_rb,6.5259e+01_rb/) kbo(:, 2,53,14) = (/ & &4.1225e+03_rb,3.0919e+03_rb,2.0614e+03_rb,1.0332e+03_rb,6.1546e+01_rb/) kbo(:, 3,53,14) = (/ & &7.1492e+03_rb,5.3620e+03_rb,3.5747e+03_rb,1.7875e+03_rb,5.7918e+01_rb/) kbo(:, 4,53,14) = (/ & &1.1475e+04_rb,8.6063e+03_rb,5.7376e+03_rb,2.8690e+03_rb,5.4409e+01_rb/) kbo(:, 5,53,14) = (/ & &1.7262e+04_rb,1.2946e+04_rb,8.6311e+03_rb,4.3158e+03_rb,5.1571e+01_rb/) kbo(:, 1,54,14) = (/ & &1.8282e+03_rb,1.3713e+03_rb,9.1520e+02_rb,4.7290e+02_rb,6.6448e+01_rb/) kbo(:, 2,54,14) = (/ & &3.6279e+03_rb,2.7210e+03_rb,1.8141e+03_rb,9.1135e+02_rb,6.2844e+01_rb/) kbo(:, 3,54,14) = (/ & &6.4841e+03_rb,4.8631e+03_rb,3.2422e+03_rb,1.6212e+03_rb,5.9155e+01_rb/) kbo(:, 4,54,14) = (/ & &1.0670e+04_rb,8.0025e+03_rb,5.3351e+03_rb,2.6677e+03_rb,5.5552e+01_rb/) kbo(:, 5,54,14) = (/ & &1.6384e+04_rb,1.2288e+04_rb,8.1922e+03_rb,4.0963e+03_rb,5.2636e+01_rb/) kbo(:, 1,55,14) = (/ & &1.4067e+03_rb,1.0551e+03_rb,7.0638e+02_rb,3.7354e+02_rb,6.7558e+01_rb/) kbo(:, 2,55,14) = (/ & &2.9041e+03_rb,2.1781e+03_rb,1.4522e+03_rb,7.3353e+02_rb,6.4148e+01_rb/) kbo(:, 3,55,14) = (/ & &5.3593e+03_rb,4.0195e+03_rb,2.6797e+03_rb,1.3404e+03_rb,6.0390e+01_rb/) kbo(:, 4,55,14) = (/ & &9.0439e+03_rb,6.7830e+03_rb,4.5221e+03_rb,2.2612e+03_rb,5.6702e+01_rb/) kbo(:, 5,55,14) = (/ & &1.4184e+04_rb,1.0638e+04_rb,7.0920e+03_rb,3.5462e+03_rb,5.3319e+01_rb/) kbo(:, 1,56,14) = (/ & &1.0676e+03_rb,8.0078e+02_rb,5.3961e+02_rb,2.9566e+02_rb,6.8630e+01_rb/) kbo(:, 2,56,14) = (/ & &2.3009e+03_rb,1.7258e+03_rb,1.1507e+03_rb,5.8655e+02_rb,6.5294e+01_rb/) kbo(:, 3,56,14) = (/ & &4.3913e+03_rb,3.2935e+03_rb,2.1958e+03_rb,1.1000e+03_rb,6.1700e+01_rb/) kbo(:, 4,56,14) = (/ & &7.6108e+03_rb,5.7081e+03_rb,3.8055e+03_rb,1.9028e+03_rb,5.7982e+01_rb/) kbo(:, 5,56,14) = (/ & &1.2207e+04_rb,9.1554e+03_rb,6.1037e+03_rb,3.0520e+03_rb,5.4269e+01_rb/) kbo(:, 1,57,14) = (/ & &7.9773e+02_rb,5.9861e+02_rb,4.0826e+02_rb,2.3574e+02_rb,6.9656e+01_rb/) kbo(:, 2,57,14) = (/ & &1.8005e+03_rb,1.3505e+03_rb,9.0146e+02_rb,4.6638e+02_rb,6.6420e+01_rb/) kbo(:, 3,57,14) = (/ & &3.5629e+03_rb,2.6722e+03_rb,1.7816e+03_rb,8.9534e+02_rb,6.2948e+01_rb/) kbo(:, 4,57,14) = (/ & &6.3553e+03_rb,4.7665e+03_rb,3.1777e+03_rb,1.5890e+03_rb,5.9228e+01_rb/) kbo(:, 5,57,14) = (/ & &1.0437e+04_rb,7.8281e+03_rb,5.2188e+03_rb,2.6095e+03_rb,5.5502e+01_rb/) kbo(:, 1,58,14) = (/ & &1.5691e+02_rb,1.4430e+02_rb,1.2945e+02_rb,1.1296e+02_rb,7.0583e+01_rb/) kbo(:, 2,58,14) = (/ & &3.7146e+02_rb,3.4061e+02_rb,2.9343e+02_rb,2.1801e+02_rb,6.7460e+01_rb/) kbo(:, 3,58,14) = (/ & &7.6282e+02_rb,6.9942e+02_rb,5.9974e+02_rb,4.2478e+02_rb,6.4030e+01_rb/) kbo(:, 4,58,14) = (/ & &1.4014e+03_rb,1.2849e+03_rb,1.1017e+03_rb,7.7206e+02_rb,6.0507e+01_rb/) kbo(:, 5,58,14) = (/ & &2.3564e+03_rb,2.1605e+03_rb,1.8525e+03_rb,1.2975e+03_rb,5.6760e+01_rb/) kbo(:, 1,59,14) = (/ & &1.6269e+02_rb,1.4372e+02_rb,1.2601e+02_rb,1.1040e+02_rb,7.0952e+01_rb/) kbo(:, 2,59,14) = (/ & &3.9338e+02_rb,3.4354e+02_rb,2.7833e+02_rb,1.9401e+02_rb,6.7878e+01_rb/) kbo(:, 3,59,14) = (/ & &8.2073e+02_rb,7.1668e+02_rb,5.7208e+02_rb,3.6616e+02_rb,6.4473e+01_rb/) kbo(:, 4,59,14) = (/ & &1.5267e+03_rb,1.3331e+03_rb,1.0634e+03_rb,6.6456e+02_rb,6.0953e+01_rb/) kbo(:, 5,59,14) = (/ & &2.5924e+03_rb,2.2637e+03_rb,1.8057e+03_rb,1.1237e+03_rb,5.7434e+01_rb/) kbo(:, 1,13,15) = (/ & &6.7676e+03_rb,5.0758e+03_rb,3.3840e+03_rb,1.6922e+03_rb,9.0910e+00_rb/) kbo(:, 2,13,15) = (/ & &9.5300e+03_rb,7.1475e+03_rb,4.7651e+03_rb,2.3827e+03_rb,8.9593e+00_rb/) kbo(:, 3,13,15) = (/ & &1.2768e+04_rb,9.5761e+03_rb,6.3842e+03_rb,3.1923e+03_rb,8.8860e+00_rb/) kbo(:, 4,13,15) = (/ & &1.6413e+04_rb,1.2310e+04_rb,8.2067e+03_rb,4.1035e+03_rb,8.8094e+00_rb/) kbo(:, 5,13,15) = (/ & &2.0377e+04_rb,1.5283e+04_rb,1.0189e+04_rb,5.0946e+03_rb,8.7010e+00_rb/) kbo(:, 1,14,15) = (/ & &4.6855e+03_rb,3.5142e+03_rb,2.3429e+03_rb,1.1716e+03_rb,1.0351e+01_rb/) kbo(:, 2,14,15) = (/ & &6.5777e+03_rb,4.9333e+03_rb,3.2890e+03_rb,1.6447e+03_rb,1.0245e+01_rb/) kbo(:, 3,14,15) = (/ & &8.7780e+03_rb,6.5835e+03_rb,4.3891e+03_rb,2.1947e+03_rb,1.0189e+01_rb/) kbo(:, 4,14,15) = (/ & &1.1257e+04_rb,8.4428e+03_rb,5.6286e+03_rb,2.8145e+03_rb,1.0105e+01_rb/) kbo(:, 5,14,15) = (/ & &1.3964e+04_rb,1.0473e+04_rb,6.9821e+03_rb,3.4912e+03_rb,9.9926e+00_rb/) kbo(:, 1,15,15) = (/ & &3.2854e+03_rb,2.4642e+03_rb,1.6429e+03_rb,8.2169e+02_rb,1.1907e+01_rb/) kbo(:, 2,15,15) = (/ & &4.5889e+03_rb,3.4418e+03_rb,2.2947e+03_rb,1.1475e+03_rb,1.1847e+01_rb/) kbo(:, 3,15,15) = (/ & &6.1056e+03_rb,4.5793e+03_rb,3.0530e+03_rb,1.5267e+03_rb,1.1796e+01_rb/) kbo(:, 4,15,15) = (/ & &7.8011e+03_rb,5.8510e+03_rb,3.9008e+03_rb,1.9506e+03_rb,1.1682e+01_rb/) kbo(:, 5,15,15) = (/ & &9.6352e+03_rb,7.2265e+03_rb,4.8178e+03_rb,2.4091e+03_rb,1.1548e+01_rb/) kbo(:, 1,16,15) = (/ & &2.7156e+03_rb,2.0368e+03_rb,1.3580e+03_rb,6.7918e+02_rb,1.3833e+01_rb/) kbo(:, 2,16,15) = (/ & &3.7730e+03_rb,2.8298e+03_rb,1.8867e+03_rb,9.4350e+02_rb,1.3786e+01_rb/) kbo(:, 3,16,15) = (/ & &4.9942e+03_rb,3.7457e+03_rb,2.4973e+03_rb,1.2488e+03_rb,1.3682e+01_rb/) kbo(:, 4,16,15) = (/ & &6.3607e+03_rb,4.7706e+03_rb,3.1805e+03_rb,1.5904e+03_rb,1.3533e+01_rb/) kbo(:, 5,16,15) = (/ & &7.8514e+03_rb,5.8886e+03_rb,3.9259e+03_rb,1.9631e+03_rb,1.3377e+01_rb/) kbo(:, 1,17,15) = (/ & &2.3075e+03_rb,1.7307e+03_rb,1.1539e+03_rb,5.7711e+02_rb,1.6126e+01_rb/) kbo(:, 2,17,15) = (/ & &3.1956e+03_rb,2.3967e+03_rb,1.5979e+03_rb,7.9911e+02_rb,1.6029e+01_rb/) kbo(:, 3,17,15) = (/ & &4.2241e+03_rb,3.1681e+03_rb,2.1122e+03_rb,1.0562e+03_rb,1.5863e+01_rb/) kbo(:, 4,17,15) = (/ & &5.3821e+03_rb,4.0366e+03_rb,2.6912e+03_rb,1.3457e+03_rb,1.5685e+01_rb/) kbo(:, 5,17,15) = (/ & &6.6465e+03_rb,4.9850e+03_rb,3.3234e+03_rb,1.6618e+03_rb,1.5496e+01_rb/) kbo(:, 1,18,15) = (/ & &2.0119e+03_rb,1.5090e+03_rb,1.0061e+03_rb,5.0318e+02_rb,1.8668e+01_rb/) kbo(:, 2,18,15) = (/ & &2.7815e+03_rb,2.0862e+03_rb,1.3909e+03_rb,6.9557e+02_rb,1.8505e+01_rb/) kbo(:, 3,18,15) = (/ & &3.6794e+03_rb,2.7596e+03_rb,1.8398e+03_rb,9.2005e+02_rb,1.8343e+01_rb/) kbo(:, 4,18,15) = (/ & &4.6884e+03_rb,3.5164e+03_rb,2.3443e+03_rb,1.1723e+03_rb,1.8140e+01_rb/) kbo(:, 5,18,15) = (/ & &5.7908e+03_rb,4.3432e+03_rb,2.8955e+03_rb,1.4479e+03_rb,1.7901e+01_rb/) kbo(:, 1,19,15) = (/ & &1.7281e+03_rb,1.2962e+03_rb,8.6418e+02_rb,4.3222e+02_rb,2.1496e+01_rb/) kbo(:, 2,19,15) = (/ & &2.3903e+03_rb,1.7928e+03_rb,1.1953e+03_rb,5.9777e+02_rb,2.1311e+01_rb/) kbo(:, 3,19,15) = (/ & &3.1615e+03_rb,2.3712e+03_rb,1.5809e+03_rb,7.9055e+02_rb,2.1106e+01_rb/) kbo(:, 4,19,15) = (/ & &4.0222e+03_rb,3.0167e+03_rb,2.0112e+03_rb,1.0057e+03_rb,2.0849e+01_rb/) kbo(:, 5,19,15) = (/ & &4.9621e+03_rb,3.7216e+03_rb,2.4811e+03_rb,1.2407e+03_rb,2.0531e+01_rb/) kbo(:, 1,20,15) = (/ & &1.6235e+03_rb,1.2177e+03_rb,8.1188e+02_rb,4.0606e+02_rb,2.4735e+01_rb/) kbo(:, 2,20,15) = (/ & &2.2387e+03_rb,1.6791e+03_rb,1.1195e+03_rb,5.5984e+02_rb,2.4475e+01_rb/) kbo(:, 3,20,15) = (/ & &2.9488e+03_rb,2.2116e+03_rb,1.4745e+03_rb,7.3737e+02_rb,2.4178e+01_rb/) kbo(:, 4,20,15) = (/ & &3.7459e+03_rb,2.8095e+03_rb,1.8731e+03_rb,9.3665e+02_rb,2.3818e+01_rb/) kbo(:, 5,20,15) = (/ & &4.6161e+03_rb,3.4621e+03_rb,2.3081e+03_rb,1.1542e+03_rb,2.3401e+01_rb/) kbo(:, 1,21,15) = (/ & &1.5705e+03_rb,1.1779e+03_rb,7.8536e+02_rb,3.9279e+02_rb,2.8368e+01_rb/) kbo(:, 2,21,15) = (/ & &2.1555e+03_rb,1.6166e+03_rb,1.0778e+03_rb,5.3903e+02_rb,2.7972e+01_rb/) kbo(:, 3,21,15) = (/ & &2.8340e+03_rb,2.1256e+03_rb,1.4171e+03_rb,7.0866e+02_rb,2.7543e+01_rb/) kbo(:, 4,21,15) = (/ & &3.5949e+03_rb,2.6962e+03_rb,1.7975e+03_rb,8.9888e+02_rb,2.7047e+01_rb/) kbo(:, 5,21,15) = (/ & &4.4249e+03_rb,3.3187e+03_rb,2.2126e+03_rb,1.1064e+03_rb,2.6508e+01_rb/) kbo(:, 1,22,15) = (/ & &1.5869e+03_rb,1.1902e+03_rb,7.9356e+02_rb,3.9688e+02_rb,3.2318e+01_rb/) kbo(:, 2,22,15) = (/ & &2.1673e+03_rb,1.6255e+03_rb,1.0838e+03_rb,5.4198e+02_rb,3.1767e+01_rb/) kbo(:, 3,22,15) = (/ & &2.8378e+03_rb,2.1284e+03_rb,1.4190e+03_rb,7.0961e+02_rb,3.1126e+01_rb/) kbo(:, 4,22,15) = (/ & &3.5877e+03_rb,2.6908e+03_rb,1.7940e+03_rb,8.9709e+02_rb,3.0424e+01_rb/) kbo(:, 5,22,15) = (/ & &4.4005e+03_rb,3.3004e+03_rb,2.2004e+03_rb,1.1003e+03_rb,2.9694e+01_rb/) kbo(:, 1,23,15) = (/ & &1.6232e+03_rb,1.2174e+03_rb,8.1169e+02_rb,4.0594e+02_rb,3.6426e+01_rb/) kbo(:, 2,23,15) = (/ & &2.2045e+03_rb,1.6534e+03_rb,1.1023e+03_rb,5.5127e+02_rb,3.5632e+01_rb/) kbo(:, 3,23,15) = (/ & &2.8697e+03_rb,2.1523e+03_rb,1.4350e+03_rb,7.1760e+02_rb,3.4766e+01_rb/) kbo(:, 4,23,15) = (/ & &3.6072e+03_rb,2.7054e+03_rb,1.8037e+03_rb,9.0197e+02_rb,3.3867e+01_rb/) kbo(:, 5,23,15) = (/ & &4.4070e+03_rb,3.3053e+03_rb,2.2036e+03_rb,1.1019e+03_rb,3.2942e+01_rb/) kbo(:, 1,24,15) = (/ & &1.6638e+03_rb,1.2479e+03_rb,8.3204e+02_rb,4.1615e+02_rb,4.0555e+01_rb/) kbo(:, 2,24,15) = (/ & &2.2399e+03_rb,1.6800e+03_rb,1.1201e+03_rb,5.6017e+02_rb,3.9512e+01_rb/) kbo(:, 3,24,15) = (/ & &2.8950e+03_rb,2.1713e+03_rb,1.4476e+03_rb,7.2392e+02_rb,3.8430e+01_rb/) kbo(:, 4,24,15) = (/ & &3.6214e+03_rb,2.7161e+03_rb,1.8108e+03_rb,9.0552e+02_rb,3.7312e+01_rb/) kbo(:, 5,24,15) = (/ & &4.4048e+03_rb,3.3036e+03_rb,2.2025e+03_rb,1.1014e+03_rb,3.6172e+01_rb/) kbo(:, 1,25,15) = (/ & &1.7332e+03_rb,1.2999e+03_rb,8.6673e+02_rb,4.3352e+02_rb,4.4719e+01_rb/) kbo(:, 2,25,15) = (/ & &2.3131e+03_rb,1.7349e+03_rb,1.1567e+03_rb,5.7851e+02_rb,4.3381e+01_rb/) kbo(:, 3,25,15) = (/ & &2.9711e+03_rb,2.2284e+03_rb,1.4857e+03_rb,7.4302e+02_rb,4.2032e+01_rb/) kbo(:, 4,25,15) = (/ & &3.6954e+03_rb,2.7716e+03_rb,1.8478e+03_rb,9.2407e+02_rb,4.0668e+01_rb/) kbo(:, 5,25,15) = (/ & &4.4711e+03_rb,3.3534e+03_rb,2.2357e+03_rb,1.1180e+03_rb,3.9312e+01_rb/) kbo(:, 1,26,15) = (/ & &1.8457e+03_rb,1.3843e+03_rb,9.2300e+02_rb,4.6166e+02_rb,4.8798e+01_rb/) kbo(:, 2,26,15) = (/ & &2.4421e+03_rb,1.8317e+03_rb,1.2212e+03_rb,6.1078e+02_rb,4.7150e+01_rb/) kbo(:, 3,26,15) = (/ & &3.1127e+03_rb,2.3346e+03_rb,1.5565e+03_rb,7.7843e+02_rb,4.5507e+01_rb/) kbo(:, 4,26,15) = (/ & &3.8432e+03_rb,2.8825e+03_rb,1.9217e+03_rb,9.6104e+02_rb,4.3884e+01_rb/) kbo(:, 5,26,15) = (/ & &4.6197e+03_rb,3.4648e+03_rb,2.3100e+03_rb,1.1552e+03_rb,4.2296e+01_rb/) kbo(:, 1,27,15) = (/ & &2.0401e+03_rb,1.5302e+03_rb,1.0202e+03_rb,5.1030e+02_rb,5.2748e+01_rb/) kbo(:, 2,27,15) = (/ & &2.6727e+03_rb,2.0046e+03_rb,1.3365e+03_rb,6.6845e+02_rb,5.0763e+01_rb/) kbo(:, 3,27,15) = (/ & &3.3765e+03_rb,2.5325e+03_rb,1.6885e+03_rb,8.4441e+02_rb,4.8815e+01_rb/) kbo(:, 4,27,15) = (/ & &4.1373e+03_rb,3.1031e+03_rb,2.0688e+03_rb,1.0346e+03_rb,4.6912e+01_rb/) kbo(:, 5,27,15) = (/ & &4.9426e+03_rb,3.7071e+03_rb,2.4715e+03_rb,1.2359e+03_rb,4.5084e+01_rb/) kbo(:, 1,28,15) = (/ & &2.3062e+03_rb,1.7297e+03_rb,1.1533e+03_rb,5.7684e+02_rb,5.6494e+01_rb/) kbo(:, 2,28,15) = (/ & &2.9911e+03_rb,2.2434e+03_rb,1.4957e+03_rb,7.4806e+02_rb,5.4164e+01_rb/) kbo(:, 3,28,15) = (/ & &3.7467e+03_rb,2.8101e+03_rb,1.8736e+03_rb,9.3698e+02_rb,5.1914e+01_rb/) kbo(:, 4,28,15) = (/ & &4.5581e+03_rb,3.4187e+03_rb,2.2792e+03_rb,1.1398e+03_rb,4.9734e+01_rb/) kbo(:, 5,28,15) = (/ & &5.4121e+03_rb,4.0592e+03_rb,2.7063e+03_rb,1.3533e+03_rb,4.7639e+01_rb/) kbo(:, 1,29,15) = (/ & &2.7587e+03_rb,2.0691e+03_rb,1.3796e+03_rb,6.8998e+02_rb,5.9883e+01_rb/) kbo(:, 2,29,15) = (/ & &3.5427e+03_rb,2.6571e+03_rb,1.7716e+03_rb,8.8598e+02_rb,5.7214e+01_rb/) kbo(:, 3,29,15) = (/ & &4.3997e+03_rb,3.2998e+03_rb,2.2000e+03_rb,1.1002e+03_rb,5.4658e+01_rb/) kbo(:, 4,29,15) = (/ & &5.3158e+03_rb,3.9869e+03_rb,2.6581e+03_rb,1.3292e+03_rb,5.2215e+01_rb/) kbo(:, 5,29,15) = (/ & &6.2710e+03_rb,4.7033e+03_rb,3.1357e+03_rb,1.5680e+03_rb,4.9872e+01_rb/) kbo(:, 1,30,15) = (/ & &3.3645e+03_rb,2.5235e+03_rb,1.6825e+03_rb,8.4145e+02_rb,6.2847e+01_rb/) kbo(:, 2,30,15) = (/ & &4.2782e+03_rb,3.2088e+03_rb,2.1393e+03_rb,1.0699e+03_rb,5.9850e+01_rb/) kbo(:, 3,30,15) = (/ & &5.2706e+03_rb,3.9531e+03_rb,2.6355e+03_rb,1.3180e+03_rb,5.7012e+01_rb/) kbo(:, 4,30,15) = (/ & &6.3236e+03_rb,4.7428e+03_rb,3.1620e+03_rb,1.5812e+03_rb,5.4322e+01_rb/) kbo(:, 5,30,15) = (/ & &7.4122e+03_rb,5.5592e+03_rb,3.7063e+03_rb,1.8534e+03_rb,5.1754e+01_rb/) kbo(:, 1,31,15) = (/ & &4.2971e+03_rb,3.2230e+03_rb,2.1488e+03_rb,1.0746e+03_rb,6.5331e+01_rb/) kbo(:, 2,31,15) = (/ & &5.4121e+03_rb,4.0592e+03_rb,2.7063e+03_rb,1.3534e+03_rb,6.2034e+01_rb/) kbo(:, 3,31,15) = (/ & &6.6141e+03_rb,4.9607e+03_rb,3.3073e+03_rb,1.6539e+03_rb,5.8947e+01_rb/) kbo(:, 4,31,15) = (/ & &7.8758e+03_rb,5.9069e+03_rb,3.9381e+03_rb,1.9693e+03_rb,5.6027e+01_rb/) kbo(:, 5,31,15) = (/ & &9.1717e+03_rb,6.8788e+03_rb,4.5860e+03_rb,2.2932e+03_rb,5.3266e+01_rb/) kbo(:, 1,32,15) = (/ & &5.5229e+03_rb,4.1423e+03_rb,2.7617e+03_rb,1.3811e+03_rb,6.7311e+01_rb/) kbo(:, 2,32,15) = (/ & &6.8909e+03_rb,5.1683e+03_rb,3.4457e+03_rb,1.7231e+03_rb,6.3759e+01_rb/) kbo(:, 3,32,15) = (/ & &8.3530e+03_rb,6.2649e+03_rb,4.1768e+03_rb,2.0886e+03_rb,6.0452e+01_rb/) kbo(:, 4,32,15) = (/ & &9.8746e+03_rb,7.4061e+03_rb,4.9375e+03_rb,2.4690e+03_rb,5.7340e+01_rb/) kbo(:, 5,32,15) = (/ & &1.1429e+04_rb,8.5717e+03_rb,5.7146e+03_rb,2.8575e+03_rb,5.4420e+01_rb/) kbo(:, 1,33,15) = (/ & &7.1868e+03_rb,5.3902e+03_rb,3.5936e+03_rb,1.7971e+03_rb,6.8810e+01_rb/) kbo(:, 2,33,15) = (/ & &8.8853e+03_rb,6.6641e+03_rb,4.4429e+03_rb,2.2217e+03_rb,6.5053e+01_rb/) kbo(:, 3,33,15) = (/ & &1.0684e+04_rb,8.0128e+03_rb,5.3420e+03_rb,2.6713e+03_rb,6.1559e+01_rb/) kbo(:, 4,33,15) = (/ & &1.2545e+04_rb,9.4087e+03_rb,6.2726e+03_rb,3.1365e+03_rb,5.8295e+01_rb/) kbo(:, 5,33,15) = (/ & &1.4437e+04_rb,1.0828e+04_rb,7.2187e+03_rb,3.6096e+03_rb,5.5243e+01_rb/) kbo(:, 1,34,15) = (/ & &8.9946e+03_rb,6.7461e+03_rb,4.4975e+03_rb,2.2490e+03_rb,7.0022e+01_rb/) kbo(:, 2,34,15) = (/ & &1.1036e+04_rb,8.2772e+03_rb,5.5183e+03_rb,2.7594e+03_rb,6.6087e+01_rb/) kbo(:, 3,34,15) = (/ & &1.3184e+04_rb,9.8877e+03_rb,6.5920e+03_rb,3.2962e+03_rb,6.2443e+01_rb/) kbo(:, 4,34,15) = (/ & &1.5394e+04_rb,1.1546e+04_rb,7.6972e+03_rb,3.8488e+03_rb,5.9052e+01_rb/) kbo(:, 5,34,15) = (/ & &1.7632e+04_rb,1.3224e+04_rb,8.8161e+03_rb,4.4083e+03_rb,5.5884e+01_rb/) kbo(:, 1,35,15) = (/ & &1.0993e+04_rb,8.2446e+03_rb,5.4966e+03_rb,2.7485e+03_rb,7.1272e+01_rb/) kbo(:, 2,35,15) = (/ & &1.3428e+04_rb,1.0071e+04_rb,6.7141e+03_rb,3.3573e+03_rb,6.7165e+01_rb/) kbo(:, 3,35,15) = (/ & &1.5977e+04_rb,1.1983e+04_rb,7.9889e+03_rb,3.9949e+03_rb,6.3376e+01_rb/) kbo(:, 4,35,15) = (/ & &1.8595e+04_rb,1.3946e+04_rb,9.2975e+03_rb,4.6490e+03_rb,5.9869e+01_rb/) kbo(:, 5,35,15) = (/ & &2.1231e+04_rb,1.5923e+04_rb,1.0616e+04_rb,5.3081e+03_rb,5.6025e+01_rb/) kbo(:, 1,36,15) = (/ & &1.3006e+04_rb,9.7547e+03_rb,6.5033e+03_rb,3.2519e+03_rb,7.2705e+01_rb/) kbo(:, 2,36,15) = (/ & &1.5874e+04_rb,1.1905e+04_rb,7.9370e+03_rb,3.9687e+03_rb,6.8413e+01_rb/) kbo(:, 3,36,15) = (/ & &1.8861e+04_rb,1.4146e+04_rb,9.4305e+03_rb,4.7155e+03_rb,6.4479e+01_rb/) kbo(:, 4,36,15) = (/ & &2.1927e+04_rb,1.6445e+04_rb,1.0964e+04_rb,5.4821e+03_rb,6.0843e+01_rb/) kbo(:, 5,36,15) = (/ & &2.5014e+04_rb,1.8760e+04_rb,1.2507e+04_rb,6.2537e+03_rb,5.6544e+01_rb/) kbo(:, 1,37,15) = (/ & &1.4489e+04_rb,1.0867e+04_rb,7.2447e+03_rb,3.6226e+03_rb,7.4617e+01_rb/) kbo(:, 2,37,15) = (/ & &1.7744e+04_rb,1.3308e+04_rb,8.8720e+03_rb,4.4362e+03_rb,7.0104e+01_rb/) kbo(:, 3,37,15) = (/ & &2.1142e+04_rb,1.5857e+04_rb,1.0571e+04_rb,5.2858e+03_rb,6.5985e+01_rb/) kbo(:, 4,37,15) = (/ & &2.4633e+04_rb,1.8475e+04_rb,1.2317e+04_rb,6.1586e+03_rb,6.1723e+01_rb/) kbo(:, 5,37,15) = (/ & &2.8152e+04_rb,2.1114e+04_rb,1.4076e+04_rb,7.0383e+03_rb,5.7616e+01_rb/) kbo(:, 1,38,15) = (/ & &1.6314e+04_rb,1.2236e+04_rb,8.1572e+03_rb,4.0788e+03_rb,7.6413e+01_rb/) kbo(:, 2,38,15) = (/ & &2.0055e+04_rb,1.5041e+04_rb,1.0028e+04_rb,5.0140e+03_rb,7.1696e+01_rb/) kbo(:, 3,38,15) = (/ & &2.3973e+04_rb,1.7980e+04_rb,1.1987e+04_rb,5.9936e+03_rb,6.7406e+01_rb/) kbo(:, 4,38,15) = (/ & &2.8001e+04_rb,2.1001e+04_rb,1.4001e+04_rb,7.0006e+03_rb,6.2768e+01_rb/) kbo(:, 5,38,15) = (/ & &3.2071e+04_rb,2.4053e+04_rb,1.6036e+04_rb,8.0180e+03_rb,5.8602e+01_rb/) kbo(:, 1,39,15) = (/ & &1.8759e+04_rb,1.4069e+04_rb,9.3797e+03_rb,4.6901e+03_rb,7.8086e+01_rb/) kbo(:, 2,39,15) = (/ & &2.3153e+04_rb,1.7365e+04_rb,1.1577e+04_rb,5.7886e+03_rb,7.3162e+01_rb/) kbo(:, 3,39,15) = (/ & &2.7770e+04_rb,2.0828e+04_rb,1.3886e+04_rb,6.9431e+03_rb,6.8719e+01_rb/) kbo(:, 4,39,15) = (/ & &3.2517e+04_rb,2.4388e+04_rb,1.6259e+04_rb,8.1299e+03_rb,6.3661e+01_rb/) kbo(:, 5,39,15) = (/ & &3.7323e+04_rb,2.7992e+04_rb,1.8662e+04_rb,9.3312e+03_rb,5.9468e+01_rb/) kbo(:, 1,40,15) = (/ & &1.9750e+04_rb,1.4812e+04_rb,9.8751e+03_rb,4.9378e+03_rb,8.0192e+01_rb/) kbo(:, 2,40,15) = (/ & &2.4562e+04_rb,1.8422e+04_rb,1.2281e+04_rb,6.1409e+03_rb,7.5032e+01_rb/) kbo(:, 3,40,15) = (/ & &2.9646e+04_rb,2.2235e+04_rb,1.4823e+04_rb,7.4118e+03_rb,7.0393e+01_rb/) kbo(:, 4,40,15) = (/ & &3.4890e+04_rb,2.6167e+04_rb,1.7445e+04_rb,8.7227e+03_rb,6.5151e+01_rb/) kbo(:, 5,40,15) = (/ & &4.0218e+04_rb,3.0164e+04_rb,2.0109e+04_rb,1.0055e+04_rb,6.0809e+01_rb/) kbo(:, 1,41,15) = (/ & &2.0620e+04_rb,1.5465e+04_rb,1.0310e+04_rb,5.1555e+03_rb,8.2333e+01_rb/) kbo(:, 2,41,15) = (/ & &2.5862e+04_rb,1.9396e+04_rb,1.2931e+04_rb,6.4659e+03_rb,7.6930e+01_rb/) kbo(:, 3,41,15) = (/ & &3.1429e+04_rb,2.3571e+04_rb,1.5714e+04_rb,7.8575e+03_rb,7.2080e+01_rb/) kbo(:, 4,41,15) = (/ & &3.7207e+04_rb,2.7905e+04_rb,1.8604e+04_rb,9.3022e+03_rb,6.6689e+01_rb/) kbo(:, 5,41,15) = (/ & &4.3090e+04_rb,3.2318e+04_rb,2.1545e+04_rb,1.0773e+04_rb,6.2194e+01_rb/) kbo(:, 1,42,15) = (/ & &2.1691e+04_rb,1.6268e+04_rb,1.0846e+04_rb,5.4231e+03_rb,8.4448e+01_rb/) kbo(:, 2,42,15) = (/ & &2.7444e+04_rb,2.0583e+04_rb,1.3722e+04_rb,6.8623e+03_rb,7.8791e+01_rb/) kbo(:, 3,42,15) = (/ & &3.3603e+04_rb,2.5202e+04_rb,1.6802e+04_rb,8.4010e+03_rb,7.3737e+01_rb/) kbo(:, 4,42,15) = (/ & &4.0024e+04_rb,3.0018e+04_rb,2.0012e+04_rb,1.0006e+04_rb,6.8167e+01_rb/) kbo(:, 5,42,15) = (/ & &4.6588e+04_rb,3.4941e+04_rb,2.3294e+04_rb,1.1647e+04_rb,6.3488e+01_rb/) kbo(:, 1,43,15) = (/ & &2.2603e+04_rb,1.6952e+04_rb,1.1302e+04_rb,5.6511e+03_rb,8.6896e+01_rb/) kbo(:, 2,43,15) = (/ & &2.8935e+04_rb,2.1702e+04_rb,1.4468e+04_rb,7.2343e+03_rb,8.0969e+01_rb/) kbo(:, 3,43,15) = (/ & &3.5766e+04_rb,2.6825e+04_rb,1.7883e+04_rb,8.9419e+03_rb,7.5666e+01_rb/) kbo(:, 4,43,15) = (/ & &4.2940e+04_rb,3.2205e+04_rb,2.1471e+04_rb,1.0736e+04_rb,6.9870e+01_rb/) kbo(:, 5,43,15) = (/ & &5.0307e+04_rb,3.7731e+04_rb,2.5154e+04_rb,1.2577e+04_rb,6.5095e+01_rb/) kbo(:, 1,44,15) = (/ & &2.3606e+04_rb,1.7705e+04_rb,1.1803e+04_rb,5.9018e+03_rb,8.9540e+01_rb/) kbo(:, 2,44,15) = (/ & &3.0627e+04_rb,2.2970e+04_rb,1.5314e+04_rb,7.6570e+03_rb,8.3300e+01_rb/) kbo(:, 3,44,15) = (/ & &3.8272e+04_rb,2.8704e+04_rb,1.9136e+04_rb,9.5682e+03_rb,7.7742e+01_rb/) kbo(:, 4,44,15) = (/ & &4.6369e+04_rb,3.4777e+04_rb,2.3185e+04_rb,1.1593e+04_rb,7.1787e+01_rb/) kbo(:, 5,44,15) = (/ & &5.4746e+04_rb,4.1060e+04_rb,2.7373e+04_rb,1.3687e+04_rb,6.6743e+01_rb/) kbo(:, 1,45,15) = (/ & &2.5020e+04_rb,1.8765e+04_rb,1.2510e+04_rb,6.2554e+03_rb,9.2249e+01_rb/) kbo(:, 2,45,15) = (/ & &3.2921e+04_rb,2.4691e+04_rb,1.6461e+04_rb,8.2305e+03_rb,8.5687e+01_rb/) kbo(:, 3,45,15) = (/ & &4.1630e+04_rb,3.1222e+04_rb,2.0815e+04_rb,1.0408e+04_rb,7.9854e+01_rb/) kbo(:, 4,45,15) = (/ & &5.0934e+04_rb,3.8200e+04_rb,2.5467e+04_rb,1.2734e+04_rb,7.3688e+01_rb/) kbo(:, 5,45,15) = (/ & &6.0623e+04_rb,4.5467e+04_rb,3.0312e+04_rb,1.5156e+04_rb,6.8450e+01_rb/) kbo(:, 1,46,15) = (/ & &2.6462e+04_rb,1.9847e+04_rb,1.3231e+04_rb,6.6159e+03_rb,9.5173e+01_rb/) kbo(:, 2,46,15) = (/ & &3.5388e+04_rb,2.6541e+04_rb,1.7694e+04_rb,8.8474e+03_rb,8.8256e+01_rb/) kbo(:, 3,46,15) = (/ & &4.5343e+04_rb,3.4008e+04_rb,2.2672e+04_rb,1.1336e+04_rb,8.2143e+01_rb/) kbo(:, 4,46,15) = (/ & &5.6094e+04_rb,4.2071e+04_rb,2.8047e+04_rb,1.4024e+04_rb,7.5728e+01_rb/) kbo(:, 5,46,15) = (/ & &6.7389e+04_rb,5.0542e+04_rb,3.3695e+04_rb,1.6848e+04_rb,7.0196e+01_rb/) kbo(:, 1,47,15) = (/ & &2.7156e+04_rb,2.0367e+04_rb,1.3578e+04_rb,6.7894e+03_rb,9.8564e+01_rb/) kbo(:, 2,47,15) = (/ & &3.7028e+04_rb,2.7771e+04_rb,1.8514e+04_rb,9.2574e+03_rb,9.1210e+01_rb/) kbo(:, 3,47,15) = (/ & &4.8225e+04_rb,3.6169e+04_rb,2.4113e+04_rb,1.2057e+04_rb,8.4753e+01_rb/) kbo(:, 4,47,15) = (/ & &6.0453e+04_rb,4.5340e+04_rb,3.0227e+04_rb,1.5114e+04_rb,7.8168e+01_rb/) kbo(:, 5,47,15) = (/ & &7.3441e+04_rb,5.5081e+04_rb,3.6721e+04_rb,1.8361e+04_rb,7.1964e+01_rb/) kbo(:, 1,48,15) = (/ & &2.8408e+04_rb,2.1306e+04_rb,1.4204e+04_rb,7.1024e+03_rb,1.0210e+02_rb/) kbo(:, 2,48,15) = (/ & &3.9561e+04_rb,2.9671e+04_rb,1.9781e+04_rb,9.8907e+03_rb,9.4282e+01_rb/) kbo(:, 3,48,15) = (/ & &5.2433e+04_rb,3.9325e+04_rb,2.6217e+04_rb,1.3109e+04_rb,8.7454e+01_rb/) kbo(:, 4,48,15) = (/ & &6.6685e+04_rb,5.0014e+04_rb,3.3343e+04_rb,1.6672e+04_rb,8.0648e+01_rb/) kbo(:, 5,48,15) = (/ & &8.1969e+04_rb,6.1477e+04_rb,4.0985e+04_rb,2.0493e+04_rb,7.3773e+01_rb/) kbo(:, 1,49,15) = (/ & &3.0665e+04_rb,2.2999e+04_rb,1.5333e+04_rb,7.6665e+03_rb,1.0579e+02_rb/) kbo(:, 2,49,15) = (/ & &4.3701e+04_rb,3.2776e+04_rb,2.1851e+04_rb,1.0926e+04_rb,9.7512e+01_rb/) kbo(:, 3,49,15) = (/ & &5.9013e+04_rb,4.4260e+04_rb,2.9506e+04_rb,1.4753e+04_rb,9.0273e+01_rb/) kbo(:, 4,49,15) = (/ & &7.6235e+04_rb,5.7177e+04_rb,3.8118e+04_rb,1.9059e+04_rb,8.3012e+01_rb/) kbo(:, 5,49,15) = (/ & &9.4928e+04_rb,7.1196e+04_rb,4.7464e+04_rb,2.3732e+04_rb,7.5643e+01_rb/) kbo(:, 1,50,15) = (/ & &3.1512e+04_rb,2.3634e+04_rb,1.5756e+04_rb,7.8783e+03_rb,1.0944e+02_rb/) kbo(:, 2,50,15) = (/ & &4.5989e+04_rb,3.4492e+04_rb,2.2995e+04_rb,1.1498e+04_rb,1.0069e+02_rb/) kbo(:, 3,50,15) = (/ & &6.3288e+04_rb,4.7466e+04_rb,3.1644e+04_rb,1.5822e+04_rb,9.3050e+01_rb/) kbo(:, 4,50,15) = (/ & &8.3061e+04_rb,6.2296e+04_rb,4.1531e+04_rb,2.0766e+04_rb,8.5379e+01_rb/) kbo(:, 5,50,15) = (/ & &1.0477e+05_rb,7.8579e+04_rb,5.2386e+04_rb,2.6193e+04_rb,7.7745e+01_rb/) kbo(:, 1,51,15) = (/ & &3.1512e+04_rb,2.3634e+04_rb,1.5756e+04_rb,7.8783e+03_rb,1.1317e+02_rb/) kbo(:, 2,51,15) = (/ & &4.7162e+04_rb,3.5373e+04_rb,2.3581e+04_rb,1.1791e+04_rb,1.0391e+02_rb/) kbo(:, 3,51,15) = (/ & &6.6209e+04_rb,4.9657e+04_rb,3.3105e+04_rb,1.6553e+04_rb,9.5852e+01_rb/) kbo(:, 4,51,15) = (/ & &8.8316e+04_rb,6.6238e+04_rb,4.4164e+04_rb,2.2080e+04_rb,8.8232e+01_rb/) kbo(:, 5,51,15) = (/ & &1.1292e+05_rb,8.4693e+04_rb,5.6462e+04_rb,2.8231e+04_rb,8.0003e+01_rb/) kbo(:, 1,52,15) = (/ & &3.2076e+04_rb,2.4057e+04_rb,1.6038e+04_rb,8.0198e+03_rb,1.1706e+02_rb/) kbo(:, 2,52,15) = (/ & &4.9342e+04_rb,3.7006e+04_rb,2.4671e+04_rb,1.2336e+04_rb,1.0727e+02_rb/) kbo(:, 3,52,15) = (/ & &7.0777e+04_rb,5.3083e+04_rb,3.5389e+04_rb,1.7695e+04_rb,9.8793e+01_rb/) kbo(:, 4,52,15) = (/ & &9.6072e+04_rb,7.2054e+04_rb,4.8037e+04_rb,2.4019e+04_rb,9.0662e+01_rb/) kbo(:, 5,52,15) = (/ & &1.2464e+05_rb,9.3484e+04_rb,6.2323e+04_rb,3.1162e+04_rb,8.2138e+01_rb/) kbo(:, 1,53,15) = (/ & &3.3608e+04_rb,2.5207e+04_rb,1.6805e+04_rb,8.4025e+03_rb,1.2114e+02_rb/) kbo(:, 2,53,15) = (/ & &5.3290e+04_rb,3.9968e+04_rb,2.6645e+04_rb,1.3323e+04_rb,1.1081e+02_rb/) kbo(:, 3,53,15) = (/ & &7.8269e+04_rb,5.8702e+04_rb,3.9135e+04_rb,1.9568e+04_rb,1.0185e+02_rb/) kbo(:, 4,53,15) = (/ & &1.0824e+05_rb,8.1183e+04_rb,5.4123e+04_rb,2.7062e+04_rb,9.3093e+01_rb/) kbo(:, 5,53,15) = (/ & &1.4266e+05_rb,1.0700e+05_rb,7.1333e+04_rb,3.5667e+04_rb,8.4356e+01_rb/) kbo(:, 1,54,15) = (/ & &3.0554e+04_rb,2.2916e+04_rb,1.5277e+04_rb,7.6389e+03_rb,1.2510e+02_rb/) kbo(:, 2,54,15) = (/ & &4.9936e+04_rb,3.7452e+04_rb,2.4968e+04_rb,1.2484e+04_rb,1.1423e+02_rb/) kbo(:, 3,54,15) = (/ & &7.5079e+04_rb,5.6309e+04_rb,3.7540e+04_rb,1.8770e+04_rb,1.0480e+02_rb/) kbo(:, 4,54,15) = (/ & &1.0578e+05_rb,7.9333e+04_rb,5.2889e+04_rb,2.6445e+04_rb,9.5981e+01_rb/) kbo(:, 5,54,15) = (/ & &1.4151e+05_rb,1.0613e+05_rb,7.0756e+04_rb,3.5378e+04_rb,8.6958e+01_rb/) kbo(:, 1,55,15) = (/ & &2.5242e+04_rb,1.8932e+04_rb,1.2621e+04_rb,6.3108e+03_rb,1.2910e+02_rb/) kbo(:, 2,55,15) = (/ & &4.2561e+04_rb,3.1921e+04_rb,2.1281e+04_rb,1.0641e+04_rb,1.1763e+02_rb/) kbo(:, 3,55,15) = (/ & &6.5579e+04_rb,4.9184e+04_rb,3.2790e+04_rb,1.6395e+04_rb,1.0775e+02_rb/) kbo(:, 4,55,15) = (/ & &9.4190e+04_rb,7.0643e+04_rb,4.7095e+04_rb,2.3548e+04_rb,9.9196e+01_rb/) kbo(:, 5,55,15) = (/ & &1.2798e+05_rb,9.5983e+04_rb,6.3989e+04_rb,3.1995e+04_rb,9.0570e+01_rb/) kbo(:, 1,56,15) = (/ & &2.0611e+04_rb,1.5459e+04_rb,1.0306e+04_rb,5.1530e+03_rb,1.3327e+02_rb/) kbo(:, 2,56,15) = (/ & &3.5961e+04_rb,2.6970e+04_rb,1.7980e+04_rb,8.9902e+03_rb,1.2118e+02_rb/) kbo(:, 3,56,15) = (/ & &5.6902e+04_rb,4.2676e+04_rb,2.8451e+04_rb,1.4227e+04_rb,1.1083e+02_rb/) kbo(:, 4,56,15) = (/ & &8.3426e+04_rb,6.2569e+04_rb,4.1713e+04_rb,2.0856e+04_rb,1.0187e+02_rb/) kbo(:, 5,56,15) = (/ & &1.1523e+05_rb,8.6424e+04_rb,5.7616e+04_rb,2.8808e+04_rb,9.3771e+01_rb/) kbo(:, 1,57,15) = (/ & &1.6610e+04_rb,1.2457e+04_rb,8.3049e+03_rb,4.1526e+03_rb,1.3769e+02_rb/) kbo(:, 2,57,15) = (/ & &3.0089e+04_rb,2.2567e+04_rb,1.5044e+04_rb,7.5226e+03_rb,1.2490e+02_rb/) kbo(:, 3,57,15) = (/ & &4.8979e+04_rb,3.6734e+04_rb,2.4489e+04_rb,1.2245e+04_rb,1.1405e+02_rb/) kbo(:, 4,57,15) = (/ & &7.3462e+04_rb,5.5096e+04_rb,3.6731e+04_rb,1.8365e+04_rb,1.0465e+02_rb/) kbo(:, 5,57,15) = (/ & &1.0326e+05_rb,7.7443e+04_rb,5.1628e+04_rb,2.5814e+04_rb,9.6480e+01_rb/) kbo(:, 1,58,15) = (/ & &3.5201e+03_rb,3.2274e+03_rb,2.7672e+03_rb,1.9382e+03_rb,1.4211e+02_rb/) kbo(:, 2,58,15) = (/ & &6.6315e+03_rb,6.0801e+03_rb,5.2132e+03_rb,3.6514e+03_rb,1.2863e+02_rb/) kbo(:, 3,58,15) = (/ & &1.1117e+04_rb,1.0193e+04_rb,8.7395e+03_rb,6.1212e+03_rb,1.1722e+02_rb/) kbo(:, 4,58,15) = (/ & &1.7057e+04_rb,1.5638e+04_rb,1.3409e+04_rb,9.3914e+03_rb,1.0740e+02_rb/) kbo(:, 5,58,15) = (/ & &2.4410e+04_rb,2.2380e+04_rb,1.9189e+04_rb,1.3440e+04_rb,9.8884e+01_rb/) kbo(:, 1,59,15) = (/ & &3.7699e+03_rb,3.2918e+03_rb,2.6257e+03_rb,1.6340e+03_rb,1.4398e+02_rb/) kbo(:, 2,59,15) = (/ & &7.2215e+03_rb,6.3055e+03_rb,5.0297e+03_rb,3.1299e+03_rb,1.3019e+02_rb/) kbo(:, 3,59,15) = (/ & &1.2258e+04_rb,1.0703e+04_rb,8.5377e+03_rb,5.3128e+03_rb,1.1856e+02_rb/) kbo(:, 4,59,15) = (/ & &1.8986e+04_rb,1.6578e+04_rb,1.3224e+04_rb,8.2288e+03_rb,1.0855e+02_rb/) kbo(:, 5,59,15) = (/ & &2.7379e+04_rb,2.3906e+04_rb,1.9069e+04_rb,1.1866e+04_rb,9.9884e+01_rb/) kbo(:, 1,13,16) = (/ & &1.4818e+04_rb,1.1113e+04_rb,7.4089e+03_rb,3.7045e+03_rb,1.1371e+01_rb/) kbo(:, 2,13,16) = (/ & &2.0739e+04_rb,1.5555e+04_rb,1.0370e+04_rb,5.1851e+03_rb,1.0985e+01_rb/) kbo(:, 3,13,16) = (/ & &2.7562e+04_rb,2.0672e+04_rb,1.3781e+04_rb,6.8906e+03_rb,1.0720e+01_rb/) kbo(:, 4,13,16) = (/ & &3.5104e+04_rb,2.6328e+04_rb,1.7552e+04_rb,8.7760e+03_rb,1.0594e+01_rb/) kbo(:, 5,13,16) = (/ & &4.3187e+04_rb,3.2390e+04_rb,2.1594e+04_rb,1.0797e+04_rb,1.0676e+01_rb/) kbo(:, 1,14,16) = (/ & &1.1265e+04_rb,8.4488e+03_rb,5.6325e+03_rb,2.8163e+03_rb,1.3004e+01_rb/) kbo(:, 2,14,16) = (/ & &1.5638e+04_rb,1.1729e+04_rb,7.8191e+03_rb,3.9096e+03_rb,1.2745e+01_rb/) kbo(:, 3,14,16) = (/ & &2.0632e+04_rb,1.5474e+04_rb,1.0316e+04_rb,5.1580e+03_rb,1.2511e+01_rb/) kbo(:, 4,14,16) = (/ & &2.6158e+04_rb,1.9619e+04_rb,1.3079e+04_rb,6.5395e+03_rb,1.2514e+01_rb/) kbo(:, 5,14,16) = (/ & &3.2161e+04_rb,2.4120e+04_rb,1.6080e+04_rb,8.0400e+03_rb,1.2574e+01_rb/) kbo(:, 1,15,16) = (/ & &8.6626e+03_rb,6.4970e+03_rb,4.3314e+03_rb,2.1657e+03_rb,1.5047e+01_rb/) kbo(:, 2,15,16) = (/ & &1.1944e+04_rb,8.8995e+03_rb,5.9720e+03_rb,2.9860e+03_rb,1.4804e+01_rb/) kbo(:, 3,15,16) = (/ & &1.5730e+04_rb,1.1798e+04_rb,7.8651e+03_rb,3.9326e+03_rb,1.4621e+01_rb/) kbo(:, 4,15,16) = (/ & &1.9953e+04_rb,1.4965e+04_rb,9.9768e+03_rb,4.9885e+03_rb,1.4704e+01_rb/) kbo(:, 5,15,16) = (/ & &2.4510e+04_rb,1.8382e+04_rb,1.2255e+04_rb,6.1276e+03_rb,1.4738e+01_rb/) kbo(:, 1,16,16) = (/ & &7.9177e+03_rb,5.9383e+03_rb,3.9589e+03_rb,1.9795e+03_rb,1.7379e+01_rb/) kbo(:, 2,16,16) = (/ & &1.0905e+04_rb,8.1790e+03_rb,5.4527e+03_rb,2.7264e+03_rb,1.7087e+01_rb/) kbo(:, 3,16,16) = (/ & &1.4336e+04_rb,1.0752e+04_rb,7.1680e+03_rb,3.5840e+03_rb,1.7079e+01_rb/) kbo(:, 4,16,16) = (/ & &1.8134e+04_rb,1.3600e+04_rb,9.0670e+03_rb,4.5335e+03_rb,1.7162e+01_rb/) kbo(:, 5,16,16) = (/ & &2.2206e+04_rb,1.6655e+04_rb,1.1103e+04_rb,5.5517e+03_rb,1.7193e+01_rb/) kbo(:, 1,17,16) = (/ & &7.5178e+03_rb,5.6384e+03_rb,3.7589e+03_rb,1.8795e+03_rb,1.9948e+01_rb/) kbo(:, 2,17,16) = (/ & &1.0311e+04_rb,7.7335e+03_rb,5.1557e+03_rb,2.5779e+03_rb,1.9796e+01_rb/) kbo(:, 3,17,16) = (/ & &1.3498e+04_rb,1.0124e+04_rb,6.7488e+03_rb,3.3746e+03_rb,1.9858e+01_rb/) kbo(:, 4,17,16) = (/ & &1.6996e+04_rb,1.2747e+04_rb,8.4978e+03_rb,4.2489e+03_rb,1.9944e+01_rb/) kbo(:, 5,17,16) = (/ & &2.0726e+04_rb,1.5544e+04_rb,1.0363e+04_rb,5.1815e+03_rb,1.9956e+01_rb/) kbo(:, 1,18,16) = (/ & &7.2889e+03_rb,5.4667e+03_rb,3.6445e+03_rb,1.8223e+03_rb,2.3259e+01_rb/) kbo(:, 2,18,16) = (/ & &9.9353e+03_rb,7.4515e+03_rb,4.9677e+03_rb,2.4839e+03_rb,2.3214e+01_rb/) kbo(:, 3,18,16) = (/ & &1.2928e+04_rb,9.6956e+03_rb,6.4638e+03_rb,3.2319e+03_rb,2.3116e+01_rb/) kbo(:, 4,18,16) = (/ & &1.6189e+04_rb,1.2142e+04_rb,8.0944e+03_rb,4.0472e+03_rb,2.3106e+01_rb/) kbo(:, 5,18,16) = (/ & &1.9640e+04_rb,1.4730e+04_rb,9.8201e+03_rb,4.9101e+03_rb,2.3045e+01_rb/) kbo(:, 1,19,16) = (/ & &6.8892e+03_rb,5.1669e+03_rb,3.4446e+03_rb,1.7223e+03_rb,2.7312e+01_rb/) kbo(:, 2,19,16) = (/ & &9.3210e+03_rb,6.9908e+03_rb,4.6605e+03_rb,2.3303e+03_rb,2.7199e+01_rb/) kbo(:, 3,19,16) = (/ & &1.2050e+04_rb,9.0375e+03_rb,6.0250e+03_rb,3.0125e+03_rb,2.6980e+01_rb/) kbo(:, 4,19,16) = (/ & &1.5046e+04_rb,1.1284e+04_rb,7.5228e+03_rb,3.7614e+03_rb,2.6786e+01_rb/) kbo(:, 5,19,16) = (/ & &1.8241e+04_rb,1.3681e+04_rb,9.1205e+03_rb,4.5603e+03_rb,2.6595e+01_rb/) kbo(:, 1,20,16) = (/ & &7.0094e+03_rb,5.2570e+03_rb,3.5047e+03_rb,1.7524e+03_rb,3.2009e+01_rb/) kbo(:, 2,20,16) = (/ & &9.4364e+03_rb,7.0773e+03_rb,4.7182e+03_rb,2.3591e+03_rb,3.1788e+01_rb/) kbo(:, 3,20,16) = (/ & &1.2173e+04_rb,9.1297e+03_rb,6.0865e+03_rb,3.0433e+03_rb,3.1450e+01_rb/) kbo(:, 4,20,16) = (/ & &1.5155e+04_rb,1.1367e+04_rb,7.5778e+03_rb,3.7889e+03_rb,3.1059e+01_rb/) kbo(:, 5,20,16) = (/ & &1.8307e+04_rb,1.3730e+04_rb,9.1534e+03_rb,4.5767e+03_rb,3.0674e+01_rb/) kbo(:, 1,21,16) = (/ & &7.3306e+03_rb,5.4980e+03_rb,3.6654e+03_rb,1.8327e+03_rb,3.7355e+01_rb/) kbo(:, 2,21,16) = (/ & &9.8238e+03_rb,7.3679e+03_rb,4.9119e+03_rb,2.4560e+03_rb,3.6998e+01_rb/) kbo(:, 3,21,16) = (/ & &1.2609e+04_rb,9.4571e+03_rb,6.3047e+03_rb,3.1524e+03_rb,3.6493e+01_rb/) kbo(:, 4,21,16) = (/ & &1.5617e+04_rb,1.1713e+04_rb,7.8084e+03_rb,3.9042e+03_rb,3.5962e+01_rb/) kbo(:, 5,21,16) = (/ & &1.8773e+04_rb,1.4079e+04_rb,9.3863e+03_rb,4.6932e+03_rb,3.5346e+01_rb/) kbo(:, 1,22,16) = (/ & &7.9668e+03_rb,5.9751e+03_rb,3.9834e+03_rb,1.9917e+03_rb,4.3325e+01_rb/) kbo(:, 2,22,16) = (/ & &1.0571e+04_rb,7.9286e+03_rb,5.2858e+03_rb,2.6429e+03_rb,4.2793e+01_rb/) kbo(:, 3,22,16) = (/ & &1.3449e+04_rb,1.0087e+04_rb,6.7244e+03_rb,3.3622e+03_rb,4.2221e+01_rb/) kbo(:, 4,22,16) = (/ & &1.6524e+04_rb,1.2393e+04_rb,8.2619e+03_rb,4.1310e+03_rb,4.1607e+01_rb/) kbo(:, 5,22,16) = (/ & &1.9754e+04_rb,1.4816e+04_rb,9.8771e+03_rb,4.9386e+03_rb,4.0888e+01_rb/) kbo(:, 1,23,16) = (/ & &8.6210e+03_rb,6.4658e+03_rb,4.3105e+03_rb,2.1553e+03_rb,5.0428e+01_rb/) kbo(:, 2,23,16) = (/ & &1.1316e+04_rb,8.4866e+03_rb,5.6578e+03_rb,2.8289e+03_rb,4.9764e+01_rb/) kbo(:, 3,23,16) = (/ & &1.4291e+04_rb,1.0718e+04_rb,7.1454e+03_rb,3.5727e+03_rb,4.9049e+01_rb/) kbo(:, 4,23,16) = (/ & &1.7469e+04_rb,1.3102e+04_rb,8.7344e+03_rb,4.3672e+03_rb,4.8146e+01_rb/) kbo(:, 5,23,16) = (/ & &2.0774e+04_rb,1.5580e+04_rb,1.0387e+04_rb,5.1935e+03_rb,4.7113e+01_rb/) kbo(:, 1,24,16) = (/ & &9.2015e+03_rb,6.9011e+03_rb,4.6008e+03_rb,2.3004e+03_rb,5.8527e+01_rb/) kbo(:, 2,24,16) = (/ & &1.1985e+04_rb,8.9232e+03_rb,5.9928e+03_rb,2.9964e+03_rb,5.7489e+01_rb/) kbo(:, 3,24,16) = (/ & &1.5026e+04_rb,1.1269e+04_rb,7.5129e+03_rb,3.7565e+03_rb,5.6333e+01_rb/) kbo(:, 4,24,16) = (/ & &1.8238e+04_rb,1.3679e+04_rb,9.1191e+03_rb,4.5596e+03_rb,5.5030e+01_rb/) kbo(:, 5,24,16) = (/ & &2.1539e+04_rb,1.6154e+04_rb,1.0769e+04_rb,5.3848e+03_rb,5.3599e+01_rb/) kbo(:, 1,25,16) = (/ & &9.9033e+03_rb,7.4275e+03_rb,4.9517e+03_rb,2.4759e+03_rb,6.7091e+01_rb/) kbo(:, 2,25,16) = (/ & &1.2768e+04_rb,9.5762e+03_rb,6.3841e+03_rb,3.1921e+03_rb,6.5542e+01_rb/) kbo(:, 3,25,16) = (/ & &1.5871e+04_rb,1.1903e+04_rb,7.9355e+03_rb,3.9678e+03_rb,6.3831e+01_rb/) kbo(:, 4,25,16) = (/ & &1.9110e+04_rb,1.4333e+04_rb,9.5551e+03_rb,4.7776e+03_rb,6.2029e+01_rb/) kbo(:, 5,25,16) = (/ & &2.2417e+04_rb,1.6813e+04_rb,1.1208e+04_rb,5.6043e+03_rb,6.0136e+01_rb/) kbo(:, 1,26,16) = (/ & &1.0777e+04_rb,8.0825e+03_rb,5.3884e+03_rb,2.6942e+03_rb,7.5807e+01_rb/) kbo(:, 2,26,16) = (/ & &1.3749e+04_rb,1.0312e+04_rb,6.8746e+03_rb,3.4373e+03_rb,7.3586e+01_rb/) kbo(:, 3,26,16) = (/ & &1.6921e+04_rb,1.2690e+04_rb,8.4603e+03_rb,4.2302e+03_rb,7.1246e+01_rb/) kbo(:, 4,26,16) = (/ & &2.0227e+04_rb,1.5170e+04_rb,1.0114e+04_rb,5.0568e+03_rb,6.8870e+01_rb/) kbo(:, 5,26,16) = (/ & &2.3585e+04_rb,1.7688e+04_rb,1.1792e+04_rb,5.8962e+03_rb,6.6424e+01_rb/) kbo(:, 1,27,16) = (/ & &1.2052e+04_rb,9.0388e+03_rb,6.0259e+03_rb,3.0130e+03_rb,8.4316e+01_rb/) kbo(:, 2,27,16) = (/ & &1.5222e+04_rb,1.1417e+04_rb,7.6111e+03_rb,3.8056e+03_rb,8.1386e+01_rb/) kbo(:, 3,27,16) = (/ & &1.8590e+04_rb,1.3942e+04_rb,9.2948e+03_rb,4.6474e+03_rb,7.8348e+01_rb/) kbo(:, 4,27,16) = (/ & &2.2058e+04_rb,1.6543e+04_rb,1.1029e+04_rb,5.5145e+03_rb,7.5340e+01_rb/) kbo(:, 5,27,16) = (/ & &2.5550e+04_rb,1.9162e+04_rb,1.2775e+04_rb,6.3875e+03_rb,7.2329e+01_rb/) kbo(:, 1,28,16) = (/ & &1.3724e+04_rb,1.0293e+04_rb,6.8620e+03_rb,3.4310e+03_rb,9.2351e+01_rb/) kbo(:, 2,28,16) = (/ & &1.7171e+04_rb,1.2878e+04_rb,8.5855e+03_rb,4.2928e+03_rb,8.8670e+01_rb/) kbo(:, 3,28,16) = (/ & &2.0788e+04_rb,1.5591e+04_rb,1.0394e+04_rb,5.1970e+03_rb,8.4928e+01_rb/) kbo(:, 4,28,16) = (/ & &2.4487e+04_rb,1.8365e+04_rb,1.2244e+04_rb,6.1218e+03_rb,8.1255e+01_rb/) kbo(:, 5,28,16) = (/ & &2.8173e+04_rb,2.1130e+04_rb,1.4087e+04_rb,7.0433e+03_rb,7.7666e+01_rb/) kbo(:, 1,29,16) = (/ & &1.6469e+04_rb,1.2352e+04_rb,8.2344e+03_rb,4.1172e+03_rb,9.9675e+01_rb/) kbo(:, 2,29,16) = (/ & &2.0402e+04_rb,1.5302e+04_rb,1.0201e+04_rb,5.1006e+03_rb,9.5182e+01_rb/) kbo(:, 3,29,16) = (/ & &2.4499e+04_rb,1.8374e+04_rb,1.2249e+04_rb,6.1246e+03_rb,9.0759e+01_rb/) kbo(:, 4,29,16) = (/ & &2.8632e+04_rb,2.1474e+04_rb,1.4316e+04_rb,7.1579e+03_rb,8.6444e+01_rb/) kbo(:, 5,29,16) = (/ & &3.2723e+04_rb,2.4542e+04_rb,1.6361e+04_rb,8.1807e+03_rb,8.2287e+01_rb/) kbo(:, 1,30,16) = (/ & &2.0078e+04_rb,1.5058e+04_rb,1.0039e+04_rb,5.0195e+03_rb,1.0609e+02_rb/) kbo(:, 2,30,16) = (/ & &2.4638e+04_rb,1.8479e+04_rb,1.2319e+04_rb,6.1595e+03_rb,1.0084e+02_rb/) kbo(:, 3,30,16) = (/ & &2.9329e+04_rb,2.1997e+04_rb,1.4664e+04_rb,7.3322e+03_rb,9.5740e+01_rb/) kbo(:, 4,30,16) = (/ & &3.4034e+04_rb,2.5525e+04_rb,1.7017e+04_rb,8.5085e+03_rb,9.0849e+01_rb/) kbo(:, 5,30,16) = (/ & &3.8657e+04_rb,2.8993e+04_rb,1.9329e+04_rb,9.6643e+03_rb,8.6169e+01_rb/) kbo(:, 1,31,16) = (/ & &2.5548e+04_rb,1.9161e+04_rb,1.2774e+04_rb,6.3870e+03_rb,1.1146e+02_rb/) kbo(:, 2,31,16) = (/ & &3.1052e+04_rb,2.3289e+04_rb,1.5526e+04_rb,7.7630e+03_rb,1.0555e+02_rb/) kbo(:, 3,31,16) = (/ & &3.6674e+04_rb,2.7505e+04_rb,1.8172e+04_rb,9.1684e+03_rb,9.9833e+01_rb/) kbo(:, 4,31,16) = (/ & &4.2278e+04_rb,3.1708e+04_rb,2.1139e+04_rb,1.0569e+04_rb,9.4413e+01_rb/) kbo(:, 5,31,16) = (/ & &4.7725e+04_rb,3.5794e+04_rb,2.3863e+04_rb,1.1931e+04_rb,8.9289e+01_rb/) kbo(:, 1,32,16) = (/ & &3.2648e+04_rb,2.4486e+04_rb,1.6324e+04_rb,8.1620e+03_rb,1.1579e+02_rb/) kbo(:, 2,32,16) = (/ & &3.9333e+04_rb,2.9500e+04_rb,1.9666e+04_rb,9.8333e+03_rb,1.0928e+02_rb/) kbo(:, 3,32,16) = (/ & &4.6114e+04_rb,3.4586e+04_rb,2.3057e+04_rb,1.1529e+04_rb,1.0305e+02_rb/) kbo(:, 4,32,16) = (/ & &5.2809e+04_rb,3.9607e+04_rb,2.6404e+04_rb,1.3202e+04_rb,9.7184e+01_rb/) kbo(:, 5,32,16) = (/ & &5.9284e+04_rb,4.4463e+04_rb,2.9311e+04_rb,1.4821e+04_rb,9.1687e+01_rb/) kbo(:, 1,33,16) = (/ & &4.2212e+04_rb,3.1659e+04_rb,2.1106e+04_rb,1.0553e+04_rb,1.1913e+02_rb/) kbo(:, 2,33,16) = (/ & &5.0427e+04_rb,3.7820e+04_rb,2.5214e+04_rb,1.2607e+04_rb,1.1210e+02_rb/) kbo(:, 3,33,16) = (/ & &5.8684e+04_rb,4.4013e+04_rb,2.9342e+04_rb,1.4671e+04_rb,1.0546e+02_rb/) kbo(:, 4,33,16) = (/ & &6.6793e+04_rb,5.0095e+04_rb,3.3396e+04_rb,1.6698e+04_rb,9.9210e+01_rb/) kbo(:, 5,33,16) = (/ & &7.4575e+04_rb,5.5932e+04_rb,3.7288e+04_rb,1.8644e+04_rb,9.3412e+01_rb/) kbo(:, 1,34,16) = (/ & &5.2540e+04_rb,3.9405e+04_rb,2.6270e+04_rb,1.3135e+04_rb,1.2180e+02_rb/) kbo(:, 2,34,16) = (/ & &6.2330e+04_rb,4.6748e+04_rb,3.1165e+04_rb,1.5582e+04_rb,1.1436e+02_rb/) kbo(:, 3,34,16) = (/ & &7.2093e+04_rb,5.4070e+04_rb,3.6046e+04_rb,1.8023e+04_rb,1.0734e+02_rb/) kbo(:, 4,34,16) = (/ & &8.1593e+04_rb,6.1194e+04_rb,4.0796e+04_rb,2.0398e+04_rb,1.0080e+02_rb/) kbo(:, 5,34,16) = (/ & &9.0697e+04_rb,6.8023e+04_rb,4.5349e+04_rb,2.2674e+04_rb,9.4753e+01_rb/) kbo(:, 1,35,16) = (/ & &6.4051e+04_rb,4.8038e+04_rb,3.2026e+04_rb,1.6013e+04_rb,1.2446e+02_rb/) kbo(:, 2,35,16) = (/ & &7.5644e+04_rb,5.6733e+04_rb,3.7822e+04_rb,1.8911e+04_rb,1.1662e+02_rb/) kbo(:, 3,35,16) = (/ & &8.7172e+04_rb,6.5379e+04_rb,4.3586e+04_rb,2.1792e+04_rb,1.0929e+02_rb/) kbo(:, 4,35,16) = (/ & &9.8380e+04_rb,7.3786e+04_rb,4.9191e+04_rb,2.4595e+04_rb,1.0249e+02_rb/) kbo(:, 5,35,16) = (/ & &1.0903e+05_rb,8.1776e+04_rb,5.4517e+04_rb,2.7259e+04_rb,9.6197e+01_rb/) kbo(:, 1,36,16) = (/ & &7.5878e+04_rb,5.6908e+04_rb,3.7939e+04_rb,1.8969e+04_rb,1.2742e+02_rb/) kbo(:, 2,36,16) = (/ & &8.9471e+04_rb,6.7103e+04_rb,4.4735e+04_rb,2.2368e+04_rb,1.1920e+02_rb/) kbo(:, 3,36,16) = (/ & &1.0302e+05_rb,7.7263e+04_rb,5.1509e+04_rb,2.5436e+04_rb,1.1154e+02_rb/) kbo(:, 4,36,16) = (/ & &1.1614e+05_rb,8.7108e+04_rb,5.8072e+04_rb,2.9036e+04_rb,1.0445e+02_rb/) kbo(:, 5,36,16) = (/ & &1.2862e+05_rb,9.6465e+04_rb,6.4310e+04_rb,3.2155e+04_rb,9.7922e+01_rb/) kbo(:, 1,37,16) = (/ & &8.5083e+04_rb,6.3812e+04_rb,4.2541e+04_rb,2.1271e+04_rb,1.3125e+02_rb/) kbo(:, 2,37,16) = (/ & &1.0058e+05_rb,7.5436e+04_rb,5.0291e+04_rb,2.5145e+04_rb,1.2185e+02_rb/) kbo(:, 3,37,16) = (/ & &1.1610e+05_rb,8.7073e+04_rb,5.8049e+04_rb,2.9024e+04_rb,1.1457e+02_rb/) kbo(:, 4,37,16) = (/ & &1.3117e+05_rb,9.8374e+04_rb,6.5582e+04_rb,3.2791e+04_rb,1.0715e+02_rb/) kbo(:, 5,37,16) = (/ & &1.4551e+05_rb,1.0913e+05_rb,7.2757e+04_rb,3.6378e+04_rb,1.0034e+02_rb/) kbo(:, 1,38,16) = (/ & &9.5077e+04_rb,7.2333e+04_rb,4.8222e+04_rb,2.4111e+04_rb,1.3486e+02_rb/) kbo(:, 2,38,16) = (/ & &1.1439e+05_rb,8.5793e+04_rb,5.7195e+04_rb,2.8598e+04_rb,1.2580e+02_rb/) kbo(:, 3,38,16) = (/ & &1.3231e+05_rb,9.9236e+04_rb,6.6157e+04_rb,3.3078e+04_rb,1.1743e+02_rb/) kbo(:, 4,38,16) = (/ & &1.4989e+05_rb,1.1242e+05_rb,7.4945e+04_rb,3.7472e+04_rb,1.0969e+02_rb/) kbo(:, 5,38,16) = (/ & &1.6664e+05_rb,1.2498e+05_rb,8.3321e+04_rb,4.1660e+04_rb,1.0261e+02_rb/) kbo(:, 1,39,16) = (/ & &1.1158e+05_rb,8.3685e+04_rb,5.5790e+04_rb,2.7895e+04_rb,1.3820e+02_rb/) kbo(:, 2,39,16) = (/ & &1.3280e+05_rb,9.9602e+04_rb,6.6401e+04_rb,3.3201e+04_rb,1.2875e+02_rb/) kbo(:, 3,39,16) = (/ & &1.5408e+05_rb,1.1556e+05_rb,7.7040e+04_rb,3.8520e+04_rb,1.2007e+02_rb/) kbo(:, 4,39,16) = (/ & &1.7495e+05_rb,1.3121e+05_rb,8.7476e+04_rb,4.3738e+04_rb,1.1204e+02_rb/) kbo(:, 5,39,16) = (/ & &1.9488e+05_rb,1.4616e+05_rb,9.7443e+04_rb,4.8722e+04_rb,1.0472e+02_rb/) kbo(:, 1,40,16) = (/ & &1.1876e+05_rb,8.9071e+04_rb,5.9380e+04_rb,2.9690e+04_rb,1.4235e+02_rb/) kbo(:, 2,40,16) = (/ & &1.4221e+05_rb,1.0666e+05_rb,7.1106e+04_rb,3.5553e+04_rb,1.3244e+02_rb/) kbo(:, 3,40,16) = (/ & &1.6587e+05_rb,1.2440e+05_rb,8.2934e+04_rb,4.1467e+04_rb,1.2341e+02_rb/) kbo(:, 4,40,16) = (/ & &1.8920e+05_rb,1.4190e+05_rb,9.4601e+04_rb,4.7300e+04_rb,1.1506e+02_rb/) kbo(:, 5,40,16) = (/ & &2.1165e+05_rb,1.5874e+05_rb,1.0583e+05_rb,5.2913e+04_rb,1.0743e+02_rb/) kbo(:, 1,41,16) = (/ & &1.2546e+05_rb,9.4099e+04_rb,6.2733e+04_rb,3.1367e+04_rb,1.4657e+02_rb/) kbo(:, 2,41,16) = (/ & &1.5125e+05_rb,1.1344e+05_rb,7.5625e+04_rb,3.7812e+04_rb,1.3531e+02_rb/) kbo(:, 3,41,16) = (/ & &1.7744e+05_rb,1.3308e+05_rb,8.8723e+04_rb,4.4362e+04_rb,1.2676e+02_rb/) kbo(:, 4,41,16) = (/ & &2.0341e+05_rb,1.5256e+05_rb,1.0171e+05_rb,5.0854e+04_rb,1.1810e+02_rb/) kbo(:, 5,41,16) = (/ & &2.2858e+05_rb,1.7144e+05_rb,1.1429e+05_rb,5.7146e+04_rb,1.1015e+02_rb/) kbo(:, 1,42,16) = (/ & &1.3356e+05_rb,1.0017e+05_rb,6.6777e+04_rb,3.3389e+04_rb,1.5077e+02_rb/) kbo(:, 2,42,16) = (/ & &1.6221e+05_rb,1.2166e+05_rb,8.1105e+04_rb,4.0545e+04_rb,1.3986e+02_rb/) kbo(:, 3,42,16) = (/ & &1.9146e+05_rb,1.4359e+05_rb,9.5729e+04_rb,4.7864e+04_rb,1.3005e+02_rb/) kbo(:, 4,42,16) = (/ & &2.1781e+05_rb,1.6546e+05_rb,1.1031e+05_rb,5.5153e+04_rb,1.2109e+02_rb/) kbo(:, 5,42,16) = (/ & &2.4912e+05_rb,1.8684e+05_rb,1.2456e+05_rb,6.2279e+04_rb,1.1284e+02_rb/) kbo(:, 1,43,16) = (/ & &1.4126e+05_rb,1.0594e+05_rb,7.0630e+04_rb,3.5315e+04_rb,1.5567e+02_rb/) kbo(:, 2,43,16) = (/ & &1.7322e+05_rb,1.2992e+05_rb,8.6612e+04_rb,4.3306e+04_rb,1.4408e+02_rb/) kbo(:, 3,43,16) = (/ & &2.0611e+05_rb,1.5458e+05_rb,1.0200e+05_rb,5.1528e+04_rb,1.3385e+02_rb/) kbo(:, 4,43,16) = (/ & &2.3919e+05_rb,1.7940e+05_rb,1.1960e+05_rb,5.9799e+04_rb,1.2454e+02_rb/) kbo(:, 5,43,16) = (/ & &2.7160e+05_rb,2.0370e+05_rb,1.3580e+05_rb,6.7900e+04_rb,1.1596e+02_rb/) kbo(:, 1,44,16) = (/ & &1.5000e+05_rb,1.1250e+05_rb,7.5001e+04_rb,3.7500e+04_rb,1.6094e+02_rb/) kbo(:, 2,44,16) = (/ & &1.8602e+05_rb,1.3952e+05_rb,9.3011e+04_rb,4.6505e+04_rb,1.4866e+02_rb/) kbo(:, 3,44,16) = (/ & &2.2342e+05_rb,1.6756e+05_rb,1.1171e+05_rb,5.5854e+04_rb,1.3792e+02_rb/) kbo(:, 4,44,16) = (/ & &2.6122e+05_rb,1.9592e+05_rb,1.3061e+05_rb,6.5304e+04_rb,1.2823e+02_rb/) kbo(:, 5,44,16) = (/ & &2.9874e+05_rb,2.2406e+05_rb,1.4937e+05_rb,7.4685e+04_rb,1.1932e+02_rb/) kbo(:, 1,45,16) = (/ & &1.6171e+05_rb,1.2128e+05_rb,8.0854e+04_rb,4.0427e+04_rb,1.6635e+02_rb/) kbo(:, 2,45,16) = (/ & &2.0304e+05_rb,1.5228e+05_rb,1.0152e+05_rb,5.0760e+04_rb,1.5336e+02_rb/) kbo(:, 3,45,16) = (/ & &2.4630e+05_rb,1.8473e+05_rb,1.2315e+05_rb,6.1576e+04_rb,1.4204e+02_rb/) kbo(:, 4,45,16) = (/ & &2.9041e+05_rb,2.1781e+05_rb,1.4520e+05_rb,7.2602e+04_rb,1.3193e+02_rb/) kbo(:, 5,45,16) = (/ & &3.3433e+05_rb,2.5074e+05_rb,1.6716e+05_rb,8.3581e+04_rb,1.2271e+02_rb/) kbo(:, 1,46,16) = (/ & &1.7432e+05_rb,1.3074e+05_rb,8.7162e+04_rb,4.3581e+04_rb,1.7227e+02_rb/) kbo(:, 2,46,16) = (/ & &2.2186e+05_rb,1.6640e+05_rb,1.1093e+05_rb,5.5465e+04_rb,1.5849e+02_rb/) kbo(:, 3,46,16) = (/ & &2.7221e+05_rb,2.0416e+05_rb,1.3611e+05_rb,6.8053e+04_rb,1.4648e+02_rb/) kbo(:, 4,46,16) = (/ & &3.2411e+05_rb,2.4308e+05_rb,1.6205e+05_rb,8.1026e+04_rb,1.3593e+02_rb/) kbo(:, 5,46,16) = (/ & &3.7610e+05_rb,2.8208e+05_rb,1.8805e+05_rb,9.4025e+04_rb,1.2634e+02_rb/) kbo(:, 1,47,16) = (/ & &1.8289e+05_rb,1.3717e+05_rb,9.1447e+04_rb,4.5723e+04_rb,1.7909e+02_rb/) kbo(:, 2,47,16) = (/ & &2.3679e+05_rb,1.7759e+05_rb,1.1839e+05_rb,5.9198e+04_rb,1.6436e+02_rb/) kbo(:, 3,47,16) = (/ & &2.9447e+05_rb,2.2085e+05_rb,1.4724e+05_rb,7.3618e+04_rb,1.5159e+02_rb/) kbo(:, 4,47,16) = (/ & &3.5454e+05_rb,2.6590e+05_rb,1.7727e+05_rb,8.8635e+04_rb,1.4045e+02_rb/) kbo(:, 5,47,16) = (/ & &4.1548e+05_rb,3.1161e+05_rb,2.0774e+05_rb,1.0387e+05_rb,1.3046e+02_rb/) kbo(:, 1,48,16) = (/ & &1.9579e+05_rb,1.4684e+05_rb,9.7896e+04_rb,4.8948e+04_rb,1.8623e+02_rb/) kbo(:, 2,48,16) = (/ & &2.5824e+05_rb,1.9368e+05_rb,1.2912e+05_rb,6.4559e+04_rb,1.7055e+02_rb/) kbo(:, 3,48,16) = (/ & &3.2608e+05_rb,2.4456e+05_rb,1.6304e+05_rb,8.0315e+04_rb,1.5696e+02_rb/) kbo(:, 4,48,16) = (/ & &3.9734e+05_rb,2.9801e+05_rb,1.9867e+05_rb,9.9336e+04_rb,1.4512e+02_rb/) kbo(:, 5,48,16) = (/ & &4.7039e+05_rb,3.5279e+05_rb,2.3519e+05_rb,1.1760e+05_rb,1.3467e+02_rb/) kbo(:, 1,49,16) = (/ & &2.1650e+05_rb,1.6238e+05_rb,1.0825e+05_rb,5.4125e+04_rb,1.9381e+02_rb/) kbo(:, 2,49,16) = (/ & &2.9149e+05_rb,2.1861e+05_rb,1.4574e+05_rb,7.2871e+04_rb,1.7704e+02_rb/) kbo(:, 3,49,16) = (/ & &3.7402e+05_rb,2.8052e+05_rb,1.8701e+05_rb,9.3505e+04_rb,1.6258e+02_rb/) kbo(:, 4,49,16) = (/ & &4.6192e+05_rb,3.4644e+05_rb,2.3096e+05_rb,1.1548e+05_rb,1.4999e+02_rb/) kbo(:, 5,49,16) = (/ & &5.5289e+05_rb,4.1467e+05_rb,2.7644e+05_rb,1.3822e+05_rb,1.3901e+02_rb/) kbo(:, 1,50,16) = (/ & &2.2791e+05_rb,1.7093e+05_rb,1.1395e+05_rb,5.6977e+04_rb,2.0134e+02_rb/) kbo(:, 2,50,16) = (/ & &3.1325e+05_rb,2.3494e+05_rb,1.5662e+05_rb,7.8312e+04_rb,1.8345e+02_rb/) kbo(:, 3,50,16) = (/ & &4.0878e+05_rb,3.0659e+05_rb,2.0439e+05_rb,1.0220e+05_rb,1.6811e+02_rb/) kbo(:, 4,50,16) = (/ & &5.1152e+05_rb,3.8364e+05_rb,2.5576e+05_rb,1.2788e+05_rb,1.5482e+02_rb/) kbo(:, 5,50,16) = (/ & &6.1913e+05_rb,4.6434e+05_rb,3.0956e+05_rb,1.5478e+05_rb,1.4323e+02_rb/) kbo(:, 1,51,16) = (/ & &2.3351e+05_rb,1.7513e+05_rb,1.1675e+05_rb,5.8377e+04_rb,2.0909e+02_rb/) kbo(:, 2,51,16) = (/ & &3.2811e+05_rb,2.4608e+05_rb,1.6406e+05_rb,8.2029e+04_rb,1.9001e+02_rb/) kbo(:, 3,51,16) = (/ & &4.3579e+05_rb,3.2684e+05_rb,2.1790e+05_rb,1.0895e+05_rb,1.7377e+02_rb/) kbo(:, 4,51,16) = (/ & &5.5314e+05_rb,4.1486e+05_rb,2.7653e+05_rb,1.3829e+05_rb,1.5970e+02_rb/) kbo(:, 5,51,16) = (/ & &6.7717e+05_rb,5.0788e+05_rb,3.3859e+05_rb,1.6929e+05_rb,1.4750e+02_rb/) kbo(:, 1,52,16) = (/ & &2.4395e+05_rb,1.8296e+05_rb,1.2197e+05_rb,6.0984e+04_rb,2.1739e+02_rb/) kbo(:, 2,52,16) = (/ & &3.5104e+05_rb,2.6328e+05_rb,1.7552e+05_rb,8.7761e+04_rb,1.9693e+02_rb/) kbo(:, 3,52,16) = (/ & &4.7523e+05_rb,3.5643e+05_rb,2.3762e+05_rb,1.1881e+05_rb,1.7968e+02_rb/) kbo(:, 4,52,16) = (/ & &6.1247e+05_rb,4.5936e+05_rb,3.0624e+05_rb,1.5312e+05_rb,1.6481e+02_rb/) kbo(:, 5,52,16) = (/ & &7.5898e+05_rb,5.6924e+05_rb,3.7949e+05_rb,1.8975e+05_rb,1.5192e+02_rb/) kbo(:, 1,53,16) = (/ & &2.6284e+05_rb,1.9713e+05_rb,1.3142e+05_rb,6.5712e+04_rb,2.2625e+02_rb/) kbo(:, 2,53,16) = (/ & &3.8810e+05_rb,2.9108e+05_rb,1.9405e+05_rb,9.7027e+04_rb,2.0424e+02_rb/) kbo(:, 3,53,16) = (/ & &5.3641e+05_rb,4.0231e+05_rb,2.6821e+05_rb,1.3410e+05_rb,1.8589e+02_rb/) kbo(:, 4,53,16) = (/ & &7.0283e+05_rb,5.2713e+05_rb,3.5142e+05_rb,1.7571e+05_rb,1.7018e+02_rb/) kbo(:, 5,53,16) = (/ & &8.8260e+05_rb,6.6195e+05_rb,4.4130e+05_rb,2.2065e+05_rb,1.5658e+02_rb/) kbo(:, 1,54,16) = (/ & &2.4532e+05_rb,1.8399e+05_rb,1.2266e+05_rb,6.1332e+04_rb,2.3489e+02_rb/) kbo(:, 2,54,16) = (/ & &3.7212e+05_rb,2.7909e+05_rb,1.8606e+05_rb,9.3031e+04_rb,2.1139e+02_rb/) kbo(:, 3,54,16) = (/ & &5.1860e+05_rb,3.9351e+05_rb,2.6234e+05_rb,1.3117e+05_rb,1.9188e+02_rb/) kbo(:, 4,54,16) = (/ & &6.9903e+05_rb,5.2427e+05_rb,3.4952e+05_rb,1.7476e+05_rb,1.7536e+02_rb/) kbo(:, 5,54,16) = (/ & &8.8946e+05_rb,6.6416e+05_rb,4.4474e+05_rb,2.2237e+05_rb,1.6106e+02_rb/) kbo(:, 1,55,16) = (/ & &2.0815e+05_rb,1.5612e+05_rb,1.0408e+05_rb,5.2039e+04_rb,2.4370e+02_rb/) kbo(:, 2,55,16) = (/ & &3.2440e+05_rb,2.4330e+05_rb,1.6220e+05_rb,8.1100e+04_rb,2.1865e+02_rb/) kbo(:, 3,55,16) = (/ & &4.6741e+05_rb,3.5056e+05_rb,2.3371e+05_rb,1.1685e+05_rb,1.9795e+02_rb/) kbo(:, 4,55,16) = (/ & &6.3338e+05_rb,4.7504e+05_rb,3.1669e+05_rb,1.5835e+05_rb,1.8053e+02_rb/) kbo(:, 5,55,16) = (/ & &8.1696e+05_rb,6.1272e+05_rb,4.0848e+05_rb,2.0424e+05_rb,1.6554e+02_rb/) kbo(:, 1,56,16) = (/ & &1.7485e+05_rb,1.3114e+05_rb,8.7424e+04_rb,4.3712e+04_rb,2.5296e+02_rb/) kbo(:, 2,56,16) = (/ & &2.8084e+05_rb,2.1063e+05_rb,1.4042e+05_rb,7.0208e+04_rb,2.2634e+02_rb/) kbo(:, 3,56,16) = (/ & &4.1394e+05_rb,3.1046e+05_rb,2.0697e+05_rb,1.0347e+05_rb,2.0431e+02_rb/) kbo(:, 4,56,16) = (/ & &5.7118e+05_rb,4.2838e+05_rb,2.8559e+05_rb,1.4279e+05_rb,1.8592e+02_rb/) kbo(:, 5,56,16) = (/ & &7.4759e+05_rb,5.6069e+05_rb,3.7379e+05_rb,1.8690e+05_rb,1.7020e+02_rb/) kbo(:, 1,57,16) = (/ & &1.4522e+05_rb,1.0891e+05_rb,7.2607e+04_rb,3.6303e+04_rb,2.6280e+02_rb/) kbo(:, 2,57,16) = (/ & &2.4098e+05_rb,1.8073e+05_rb,1.2049e+05_rb,6.0242e+04_rb,2.3450e+02_rb/) kbo(:, 3,57,16) = (/ & &3.6414e+05_rb,2.7311e+05_rb,1.8207e+05_rb,9.1034e+04_rb,2.1103e+02_rb/) kbo(:, 4,57,16) = (/ & &5.1231e+05_rb,3.8423e+05_rb,2.5615e+05_rb,1.2807e+05_rb,1.9160e+02_rb/) kbo(:, 5,57,16) = (/ & &6.8106e+05_rb,5.1079e+05_rb,3.4053e+05_rb,1.7026e+05_rb,1.7509e+02_rb/) kbo(:, 1,58,16) = (/ & &3.1730e+04_rb,2.9092e+04_rb,2.4944e+04_rb,1.7470e+04_rb,2.7269e+02_rb/) kbo(:, 2,58,16) = (/ & &5.4453e+04_rb,4.9925e+04_rb,4.2806e+04_rb,2.9981e+04_rb,2.4268e+02_rb/) kbo(:, 3,58,16) = (/ & &8.4447e+04_rb,7.7425e+04_rb,6.6385e+04_rb,4.6495e+04_rb,2.1781e+02_rb/) kbo(:, 4,58,16) = (/ & &1.2116e+05_rb,1.1108e+05_rb,9.5242e+04_rb,6.6707e+04_rb,1.9723e+02_rb/) kbo(:, 5,58,16) = (/ & &1.6365e+05_rb,1.5004e+05_rb,1.2865e+05_rb,9.0103e+04_rb,1.7991e+02_rb/) kbo(:, 1,59,16) = (/ & &3.4421e+04_rb,3.0055e+04_rb,2.3973e+04_rb,1.4918e+04_rb,2.7694e+02_rb/) kbo(:, 2,59,16) = (/ & &5.9930e+04_rb,5.2328e+04_rb,4.1740e+04_rb,2.5973e+04_rb,2.4614e+02_rb/) kbo(:, 3,59,16) = (/ & &9.3934e+04_rb,8.2019e+04_rb,6.5423e+04_rb,4.0711e+04_rb,2.2066e+02_rb/) kbo(:, 4,59,16) = (/ & &1.3595e+05_rb,1.1871e+05_rb,9.4687e+04_rb,5.8920e+04_rb,1.9962e+02_rb/) kbo(:, 5,59,16) = (/ & &1.8479e+05_rb,1.6135e+05_rb,1.2650e+05_rb,8.0089e+04_rb,1.8195e+02_rb/) ! The array KAO_Mxx contains the absorption coefficient for ! a minor species at the 16 chosen g-values for a reference pressure ! level below 100~ mb. The first index in the array, JS, runs ! from 1 to 10, and corresponds to different gas column amount ratios, ! as expressed through the binary species parameter eta, defined as ! eta = gas1/(gas1 + (rat) * gas2), where rat is the ! ratio of the reference MLS column amount value of gas 1 ! to that of gas2. The second index refers to temperature ! in 7.2 degree increments. For instance, JT = 1 refers to a ! temperature of 188.0, JT = 2 refers to 195.2, etc. The third index ! runs over the g-channel (1 to 16). kao_mo3( 1, :, 1) = (/ & & 9.31040e-03_rb, 1.01286e-02_rb, 1.10186e-02_rb, 1.19869e-02_rb, 1.30403e-02_rb, & & 1.41862e-02_rb, 1.54328e-02_rb, 1.67890e-02_rb, 1.82644e-02_rb, 1.98694e-02_rb, & & 2.16154e-02_rb, 2.35149e-02_rb, 2.55813e-02_rb, 2.78293e-02_rb, 3.02749e-02_rb, & & 3.29353e-02_rb, 3.58295e-02_rb, 3.89781e-02_rb, 4.24034e-02_rb/) kao_mo3( 2, :, 1) = (/ & & 1.11200e-02_rb, 1.20461e-02_rb, 1.30493e-02_rb, 1.41360e-02_rb, 1.53133e-02_rb, & & 1.65886e-02_rb, 1.79701e-02_rb, 1.94666e-02_rb, 2.10878e-02_rb, 2.28440e-02_rb, & & 2.47465e-02_rb, 2.68074e-02_rb, 2.90399e-02_rb, 3.14583e-02_rb, 3.40782e-02_rb, & & 3.69162e-02_rb, 3.99907e-02_rb, 4.33211e-02_rb, 4.69289e-02_rb/) kao_mo3( 3, :, 1) = (/ & & 1.21630e-02_rb, 1.31401e-02_rb, 1.41956e-02_rb, 1.53359e-02_rb, 1.65679e-02_rb, & & 1.78988e-02_rb, 1.93366e-02_rb, 2.08899e-02_rb, 2.25680e-02_rb, 2.43808e-02_rb, & & 2.63394e-02_rb, 2.84552e-02_rb, 3.07410e-02_rb, 3.32104e-02_rb, 3.58782e-02_rb, & & 3.87603e-02_rb, 4.18739e-02_rb, 4.52377e-02_rb, 4.88716e-02_rb/) kao_mo3( 4, :, 1) = (/ & & 1.26231e-02_rb, 1.36243e-02_rb, 1.47049e-02_rb, 1.58713e-02_rb, 1.71301e-02_rb, & & 1.84888e-02_rb, 1.99553e-02_rb, 2.15380e-02_rb, 2.32463e-02_rb, 2.50901e-02_rb, & & 2.70801e-02_rb, 2.92280e-02_rb, 3.15463e-02_rb, 3.40484e-02_rb, 3.67489e-02_rb, & & 3.96637e-02_rb, 4.28097e-02_rb, 4.62051e-02_rb, 4.98699e-02_rb/) kao_mo3( 5, :, 1) = (/ & & 1.33345e-02_rb, 1.43736e-02_rb, 1.54938e-02_rb, 1.67012e-02_rb, 1.80027e-02_rb, & & 1.94057e-02_rb, 2.09180e-02_rb, 2.25481e-02_rb, 2.43053e-02_rb, 2.61994e-02_rb, & & 2.82411e-02_rb, 3.04419e-02_rb, 3.28142e-02_rb, 3.53714e-02_rb, 3.81279e-02_rb, & & 4.10992e-02_rb, 4.43021e-02_rb, 4.77545e-02_rb, 5.14760e-02_rb/) kao_mo3( 6, :, 1) = (/ & & 1.43294e-02_rb, 1.54133e-02_rb, 1.65791e-02_rb, 1.78331e-02_rb, 1.91819e-02_rb, & & 2.06328e-02_rb, 2.21935e-02_rb, 2.38721e-02_rb, 2.56778e-02_rb, 2.76200e-02_rb, & & 2.97091e-02_rb, 3.19562e-02_rb, 3.43733e-02_rb, 3.69732e-02_rb, 3.97698e-02_rb, & & 4.27779e-02_rb, 4.60136e-02_rb, 4.94939e-02_rb, 5.32375e-02_rb/) kao_mo3( 7, :, 1) = (/ & & 1.48298e-02_rb, 1.59503e-02_rb, 1.71554e-02_rb, 1.84517e-02_rb, 1.98458e-02_rb, & & 2.13453e-02_rb, 2.29581e-02_rb, 2.46928e-02_rb, 2.65585e-02_rb, 2.85652e-02_rb, & & 3.07235e-02_rb, 3.30449e-02_rb, 3.55417e-02_rb, 3.82272e-02_rb, 4.11155e-02_rb, & & 4.42221e-02_rb, 4.75634e-02_rb, 5.11572e-02_rb, 5.50225e-02_rb/) kao_mo3( 8, :, 1) = (/ & & 1.41792e-02_rb, 1.53141e-02_rb, 1.65398e-02_rb, 1.78637e-02_rb, 1.92935e-02_rb, & & 2.08378e-02_rb, 2.25057e-02_rb, 2.43071e-02_rb, 2.62526e-02_rb, 2.83539e-02_rb, & & 3.06234e-02_rb, 3.30745e-02_rb, 3.57218e-02_rb, 3.85810e-02_rb, 4.16690e-02_rb, & & 4.50042e-02_rb, 4.86064e-02_rb, 5.24969e-02_rb, 5.66988e-02_rb/) kao_mo3( 9, :, 1) = (/ & & 8.82784e-03_rb, 9.48321e-03_rb, 1.01872e-02_rb, 1.09435e-02_rb, 1.17560e-02_rb, & & 1.26287e-02_rb, 1.35662e-02_rb, 1.45734e-02_rb, 1.56553e-02_rb, 1.68175e-02_rb, & & 1.80660e-02_rb, 1.94072e-02_rb, 2.08480e-02_rb, 2.23958e-02_rb, 2.40584e-02_rb, & & 2.58445e-02_rb, 2.77631e-02_rb, 2.98242e-02_rb, 3.20383e-02_rb/) kao_mo3( 1, :, 2) = (/ & & 4.28238e-02_rb, 4.51015e-02_rb, 4.75003e-02_rb, 5.00266e-02_rb, 5.26873e-02_rb, & & 5.54896e-02_rb, 5.84409e-02_rb, 6.15491e-02_rb, 6.48227e-02_rb, 6.82704e-02_rb, & & 7.19014e-02_rb, 7.57256e-02_rb, 7.97532e-02_rb, 8.39949e-02_rb, 8.84623e-02_rb, & & 9.31673e-02_rb, 9.81225e-02_rb, 1.03341e-01_rb, 1.08838e-01_rb/) kao_mo3( 2, :, 2) = (/ & & 4.83672e-02_rb, 5.07219e-02_rb, 5.31911e-02_rb, 5.57806e-02_rb, 5.84962e-02_rb, & & 6.13440e-02_rb, 6.43303e-02_rb, 6.74621e-02_rb, 7.07464e-02_rb, 7.41905e-02_rb, & & 7.78023e-02_rb, 8.15899e-02_rb, 8.55619e-02_rb, 8.97273e-02_rb, 9.40955e-02_rb, & & 9.86763e-02_rb, 1.03480e-01_rb, 1.08518e-01_rb, 1.13801e-01_rb/) kao_mo3( 3, :, 2) = (/ & & 5.24315e-02_rb, 5.48650e-02_rb, 5.74115e-02_rb, 6.00762e-02_rb, 6.28645e-02_rb, & & 6.57822e-02_rb, 6.88354e-02_rb, 7.20302e-02_rb, 7.53734e-02_rb, 7.88717e-02_rb, & & 8.25324e-02_rb, 8.63630e-02_rb, 9.03714e-02_rb, 9.45658e-02_rb, 9.89549e-02_rb, & & 1.03548e-01_rb, 1.08354e-01_rb, 1.13383e-01_rb, 1.18645e-01_rb/) kao_mo3( 4, :, 2) = (/ & & 5.65191e-02_rb, 5.90383e-02_rb, 6.16699e-02_rb, 6.44187e-02_rb, 6.72901e-02_rb, & & 7.02894e-02_rb, 7.34224e-02_rb, 7.66951e-02_rb, 8.01137e-02_rb, 8.36846e-02_rb, & & 8.74147e-02_rb, 9.13111e-02_rb, 9.53812e-02_rb, 9.96326e-02_rb, 1.04074e-01_rb, & & 1.08712e-01_rb, 1.13558e-01_rb, 1.18620e-01_rb, 1.23907e-01_rb/) kao_mo3( 5, :, 2) = (/ & & 6.03171e-02_rb, 6.29114e-02_rb, 6.56172e-02_rb, 6.84394e-02_rb, 7.13830e-02_rb, & & 7.44532e-02_rb, 7.76555e-02_rb, 8.09955e-02_rb, 8.44791e-02_rb, 8.81125e-02_rb, & & 9.19023e-02_rb, 9.58550e-02_rb, 9.99778e-02_rb, 1.04278e-01_rb, 1.08763e-01_rb, & & 1.13441e-01_rb, 1.18320e-01_rb, 1.23409e-01_rb, 1.28717e-01_rb/) kao_mo3( 6, :, 2) = (/ & & 6.51092e-02_rb, 6.77827e-02_rb, 7.05660e-02_rb, 7.34635e-02_rb, 7.64801e-02_rb, & & 7.96204e-02_rb, 8.28898e-02_rb, 8.62934e-02_rb, 8.98367e-02_rb, 9.35255e-02_rb, & & 9.73658e-02_rb, 1.01364e-01_rb, 1.05526e-01_rb, 1.09859e-01_rb, 1.14370e-01_rb, & & 1.19066e-01_rb, 1.23955e-01_rb, 1.29045e-01_rb, 1.34344e-01_rb/) kao_mo3( 7, :, 2) = (/ & & 7.09653e-02_rb, 7.37378e-02_rb, 7.66187e-02_rb, 7.96121e-02_rb, 8.27225e-02_rb, & & 8.59543e-02_rb, 8.93125e-02_rb, 9.28018e-02_rb, 9.64275e-02_rb, 1.00195e-01_rb, & & 1.04109e-01_rb, 1.08177e-01_rb, 1.12403e-01_rb, 1.16795e-01_rb, 1.21358e-01_rb, & & 1.26099e-01_rb, 1.31026e-01_rb, 1.36145e-01_rb, 1.41464e-01_rb/) kao_mo3( 8, :, 2) = (/ & & 7.69193e-02_rb, 7.97926e-02_rb, 8.27733e-02_rb, 8.58653e-02_rb, 8.90728e-02_rb, & & 9.24002e-02_rb, 9.58518e-02_rb, 9.94324e-02_rb, 1.03147e-01_rb, 1.07000e-01_rb, & & 1.10997e-01_rb, 1.15143e-01_rb, 1.19444e-01_rb, 1.23906e-01_rb, 1.28535e-01_rb, & & 1.33336e-01_rb, 1.38317e-01_rb, 1.43484e-01_rb, 1.48844e-01_rb/) kao_mo3( 9, :, 2) = (/ & & 4.57962e-02_rb, 4.76027e-02_rb, 4.94805e-02_rb, 5.14323e-02_rb, 5.34611e-02_rb, & & 5.55700e-02_rb, 5.77620e-02_rb, 6.00405e-02_rb, 6.24089e-02_rb, 6.48707e-02_rb, & & 6.74296e-02_rb, 7.00895e-02_rb, 7.28542e-02_rb, 7.57281e-02_rb, 7.87153e-02_rb, & & 8.18203e-02_rb, 8.50478e-02_rb, 8.84027e-02_rb, 9.18898e-02_rb/) kao_mo3( 1, :, 3) = (/ & & 1.12607e-01_rb, 1.16047e-01_rb, 1.19591e-01_rb, 1.23244e-01_rb, 1.27009e-01_rb, & & 1.30888e-01_rb, 1.34886e-01_rb, 1.39006e-01_rb, 1.43252e-01_rb, 1.47628e-01_rb, & & 1.52137e-01_rb, 1.56785e-01_rb, 1.61574e-01_rb, 1.66509e-01_rb, 1.71595e-01_rb, & & 1.76836e-01_rb, 1.82238e-01_rb, 1.87804e-01_rb, 1.93541e-01_rb/) kao_mo3( 2, :, 3) = (/ & & 1.14531e-01_rb, 1.17850e-01_rb, 1.21266e-01_rb, 1.24781e-01_rb, 1.28397e-01_rb, & & 1.32119e-01_rb, 1.35948e-01_rb, 1.39888e-01_rb, 1.43943e-01_rb, 1.48115e-01_rb, & & 1.52407e-01_rb, 1.56825e-01_rb, 1.61370e-01_rb, 1.66047e-01_rb, 1.70860e-01_rb, & & 1.75812e-01_rb, 1.80907e-01_rb, 1.86150e-01_rb, 1.91546e-01_rb/) kao_mo3( 3, :, 3) = (/ & & 1.13986e-01_rb, 1.17222e-01_rb, 1.20551e-01_rb, 1.23974e-01_rb, 1.27494e-01_rb, & & 1.31114e-01_rb, 1.34837e-01_rb, 1.38666e-01_rb, 1.42604e-01_rb, 1.46653e-01_rb, & & 1.50817e-01_rb, 1.55099e-01_rb, 1.59503e-01_rb, 1.64032e-01_rb, 1.68690e-01_rb, & & 1.73480e-01_rb, 1.78406e-01_rb, 1.83472e-01_rb, 1.88682e-01_rb/) kao_mo3( 4, :, 3) = (/ & & 1.13713e-01_rb, 1.16892e-01_rb, 1.20160e-01_rb, 1.23519e-01_rb, 1.26972e-01_rb, & & 1.30522e-01_rb, 1.34171e-01_rb, 1.37922e-01_rb, 1.41778e-01_rb, 1.45742e-01_rb, & & 1.49817e-01_rb, 1.54005e-01_rb, 1.58311e-01_rb, 1.62737e-01_rb, 1.67287e-01_rb, & & 1.71964e-01_rb, 1.76771e-01_rb, 1.81714e-01_rb, 1.86794e-01_rb/) kao_mo3( 5, :, 3) = (/ & & 1.12321e-01_rb, 1.15413e-01_rb, 1.18591e-01_rb, 1.21856e-01_rb, 1.25211e-01_rb, & & 1.28658e-01_rb, 1.32200e-01_rb, 1.35840e-01_rb, 1.39580e-01_rb, 1.43423e-01_rb, & & 1.47372e-01_rb, 1.51429e-01_rb, 1.55599e-01_rb, 1.59883e-01_rb, 1.64284e-01_rb, & & 1.68808e-01_rb, 1.73455e-01_rb, 1.78231e-01_rb, 1.83138e-01_rb/) kao_mo3( 6, :, 3) = (/ & & 1.14158e-01_rb, 1.17218e-01_rb, 1.20360e-01_rb, 1.23586e-01_rb, 1.26899e-01_rb, & & 1.30300e-01_rb, 1.33793e-01_rb, 1.37379e-01_rb, 1.41061e-01_rb, 1.44842e-01_rb, & & 1.48724e-01_rb, 1.52711e-01_rb, 1.56804e-01_rb, 1.61007e-01_rb, 1.65322e-01_rb, & & 1.69754e-01_rb, 1.74304e-01_rb, 1.78976e-01_rb, 1.83773e-01_rb/) kao_mo3( 7, :, 3) = (/ & & 1.21015e-01_rb, 1.23989e-01_rb, 1.27036e-01_rb, 1.30157e-01_rb, 1.33355e-01_rb, & & 1.36632e-01_rb, 1.39990e-01_rb, 1.43429e-01_rb, 1.46954e-01_rb, 1.50565e-01_rb, & & 1.54264e-01_rb, 1.58055e-01_rb, 1.61939e-01_rb, 1.65918e-01_rb, 1.69995e-01_rb, & & 1.74172e-01_rb, 1.78452e-01_rb, 1.82836e-01_rb, 1.87329e-01_rb/) kao_mo3( 8, :, 3) = (/ & & 1.33952e-01_rb, 1.36939e-01_rb, 1.39992e-01_rb, 1.43114e-01_rb, 1.46305e-01_rb, & & 1.49567e-01_rb, 1.52902e-01_rb, 1.56311e-01_rb, 1.59797e-01_rb, 1.63360e-01_rb, & & 1.67002e-01_rb, 1.70726e-01_rb, 1.74533e-01_rb, 1.78424e-01_rb, 1.82403e-01_rb, & & 1.86470e-01_rb, 1.90627e-01_rb, 1.94878e-01_rb, 1.99223e-01_rb/) kao_mo3( 9, :, 3) = (/ & & 1.01003e-01_rb, 1.03713e-01_rb, 1.06495e-01_rb, 1.09352e-01_rb, 1.12285e-01_rb, & & 1.15297e-01_rb, 1.18390e-01_rb, 1.21566e-01_rb, 1.24827e-01_rb, 1.28176e-01_rb, & & 1.31614e-01_rb, 1.35145e-01_rb, 1.38770e-01_rb, 1.42493e-01_rb, 1.46315e-01_rb, & & 1.50240e-01_rb, 1.54271e-01_rb, 1.58409e-01_rb, 1.62659e-01_rb/) kao_mo3( 1, :, 4) = (/ & & 2.35597e-01_rb, 2.37975e-01_rb, 2.40376e-01_rb, 2.42802e-01_rb, 2.45253e-01_rb, & & 2.47728e-01_rb, 2.50228e-01_rb, 2.52753e-01_rb, 2.55304e-01_rb, 2.57881e-01_rb, & & 2.60483e-01_rb, 2.63112e-01_rb, 2.65767e-01_rb, 2.68450e-01_rb, 2.71159e-01_rb, & & 2.73895e-01_rb, 2.76660e-01_rb, 2.79452e-01_rb, 2.82272e-01_rb/) kao_mo3( 2, :, 4) = (/ & & 2.27965e-01_rb, 2.30334e-01_rb, 2.32728e-01_rb, 2.35146e-01_rb, 2.37590e-01_rb, & & 2.40059e-01_rb, 2.42554e-01_rb, 2.45075e-01_rb, 2.47621e-01_rb, 2.50195e-01_rb, & & 2.52795e-01_rb, 2.55422e-01_rb, 2.58077e-01_rb, 2.60759e-01_rb, 2.63468e-01_rb, & & 2.66206e-01_rb, 2.68973e-01_rb, 2.71768e-01_rb, 2.74593e-01_rb/) kao_mo3( 3, :, 4) = (/ & & 2.25956e-01_rb, 2.28277e-01_rb, 2.30622e-01_rb, 2.32991e-01_rb, 2.35384e-01_rb, & & 2.37802e-01_rb, 2.40244e-01_rb, 2.42712e-01_rb, 2.45205e-01_rb, 2.47724e-01_rb, & & 2.50268e-01_rb, 2.52839e-01_rb, 2.55436e-01_rb, 2.58060e-01_rb, 2.60711e-01_rb, & & 2.63389e-01_rb, 2.66094e-01_rb, 2.68827e-01_rb, 2.71589e-01_rb/) kao_mo3( 4, :, 4) = (/ & & 2.28371e-01_rb, 2.30595e-01_rb, 2.32840e-01_rb, 2.35107e-01_rb, 2.37397e-01_rb, & & 2.39708e-01_rb, 2.42042e-01_rb, 2.44399e-01_rb, 2.46779e-01_rb, 2.49182e-01_rb, & & 2.51608e-01_rb, 2.54058e-01_rb, 2.56532e-01_rb, 2.59030e-01_rb, 2.61552e-01_rb, & & 2.64099e-01_rb, 2.66671e-01_rb, 2.69267e-01_rb, 2.71889e-01_rb/) kao_mo3( 5, :, 4) = (/ & & 2.42563e-01_rb, 2.44620e-01_rb, 2.46695e-01_rb, 2.48787e-01_rb, 2.50897e-01_rb, & & 2.53024e-01_rb, 2.55170e-01_rb, 2.57334e-01_rb, 2.59516e-01_rb, 2.61717e-01_rb, & & 2.63936e-01_rb, 2.66174e-01_rb, 2.68431e-01_rb, 2.70708e-01_rb, 2.73003e-01_rb, & & 2.75318e-01_rb, 2.77653e-01_rb, 2.80008e-01_rb, 2.82382e-01_rb/) kao_mo3( 6, :, 4) = (/ & & 2.54052e-01_rb, 2.56017e-01_rb, 2.57997e-01_rb, 2.59992e-01_rb, 2.62003e-01_rb, & & 2.64029e-01_rb, 2.66071e-01_rb, 2.68129e-01_rb, 2.70203e-01_rb, 2.72293e-01_rb, & & 2.74398e-01_rb, 2.76521e-01_rb, 2.78659e-01_rb, 2.80814e-01_rb, 2.82986e-01_rb, & & 2.85175e-01_rb, 2.87380e-01_rb, 2.89603e-01_rb, 2.91842e-01_rb/) kao_mo3( 7, :, 4) = (/ & & 2.54061e-01_rb, 2.55982e-01_rb, 2.57917e-01_rb, 2.59867e-01_rb, 2.61832e-01_rb, & & 2.63811e-01_rb, 2.65806e-01_rb, 2.67815e-01_rb, 2.69840e-01_rb, 2.71880e-01_rb, & & 2.73936e-01_rb, 2.76007e-01_rb, 2.78093e-01_rb, 2.80196e-01_rb, 2.82314e-01_rb, & & 2.84449e-01_rb, 2.86599e-01_rb, 2.88766e-01_rb, 2.90949e-01_rb/) kao_mo3( 8, :, 4) = (/ & & 2.72482e-01_rb, 2.73916e-01_rb, 2.75358e-01_rb, 2.76807e-01_rb, 2.78264e-01_rb, & & 2.79729e-01_rb, 2.81201e-01_rb, 2.82681e-01_rb, 2.84169e-01_rb, 2.85665e-01_rb, & & 2.87168e-01_rb, 2.88680e-01_rb, 2.90199e-01_rb, 2.91726e-01_rb, 2.93262e-01_rb, & & 2.94805e-01_rb, 2.96357e-01_rb, 2.97917e-01_rb, 2.99485e-01_rb/) kao_mo3( 9, :, 4) = (/ & & 1.93414e-01_rb, 1.95498e-01_rb, 1.97605e-01_rb, 1.99734e-01_rb, 2.01886e-01_rb, & & 2.04062e-01_rb, 2.06261e-01_rb, 2.08483e-01_rb, 2.10730e-01_rb, 2.13001e-01_rb, & & 2.15296e-01_rb, 2.17616e-01_rb, 2.19961e-01_rb, 2.22331e-01_rb, 2.24727e-01_rb, & & 2.27148e-01_rb, 2.29596e-01_rb, 2.32070e-01_rb, 2.34571e-01_rb/) kao_mo3( 1, :, 5) = (/ & & 5.30785e-01_rb, 5.30477e-01_rb, 5.30169e-01_rb, 5.29861e-01_rb, 5.29553e-01_rb, & & 5.29246e-01_rb, 5.28938e-01_rb, 5.28631e-01_rb, 5.28324e-01_rb, 5.28017e-01_rb, & & 5.27711e-01_rb, 5.27404e-01_rb, 5.27098e-01_rb, 5.26792e-01_rb, 5.26486e-01_rb, & & 5.26180e-01_rb, 5.25875e-01_rb, 5.25569e-01_rb, 5.25264e-01_rb/) kao_mo3( 2, :, 5) = (/ & & 5.33406e-01_rb, 5.32997e-01_rb, 5.32587e-01_rb, 5.32178e-01_rb, 5.31769e-01_rb, & & 5.31360e-01_rb, 5.30952e-01_rb, 5.30544e-01_rb, 5.30137e-01_rb, 5.29729e-01_rb, & & 5.29322e-01_rb, 5.28916e-01_rb, 5.28509e-01_rb, 5.28103e-01_rb, 5.27697e-01_rb, & & 5.27292e-01_rb, 5.26887e-01_rb, 5.26482e-01_rb, 5.26077e-01_rb/) kao_mo3( 3, :, 5) = (/ & & 5.39814e-01_rb, 5.39234e-01_rb, 5.38655e-01_rb, 5.38077e-01_rb, 5.37499e-01_rb, & & 5.36922e-01_rb, 5.36345e-01_rb, 5.35769e-01_rb, 5.35194e-01_rb, 5.34620e-01_rb, & & 5.34045e-01_rb, 5.33472e-01_rb, 5.32899e-01_rb, 5.32327e-01_rb, 5.31756e-01_rb, & & 5.31185e-01_rb, 5.30614e-01_rb, 5.30045e-01_rb, 5.29475e-01_rb/) kao_mo3( 4, :, 5) = (/ & & 5.39054e-01_rb, 5.38348e-01_rb, 5.37643e-01_rb, 5.36938e-01_rb, 5.36235e-01_rb, & & 5.35532e-01_rb, 5.34831e-01_rb, 5.34130e-01_rb, 5.33431e-01_rb, 5.32732e-01_rb, & & 5.32034e-01_rb, 5.31337e-01_rb, 5.30641e-01_rb, 5.29946e-01_rb, 5.29252e-01_rb, & & 5.28559e-01_rb, 5.27866e-01_rb, 5.27175e-01_rb, 5.26484e-01_rb/) kao_mo3( 5, :, 5) = (/ & & 5.29240e-01_rb, 5.28475e-01_rb, 5.27711e-01_rb, 5.26949e-01_rb, 5.26187e-01_rb, & & 5.25427e-01_rb, 5.24668e-01_rb, 5.23909e-01_rb, 5.23152e-01_rb, 5.22396e-01_rb, & & 5.21641e-01_rb, 5.20888e-01_rb, 5.20135e-01_rb, 5.19383e-01_rb, 5.18633e-01_rb, & & 5.17883e-01_rb, 5.17135e-01_rb, 5.16388e-01_rb, 5.15642e-01_rb/) kao_mo3( 6, :, 5) = (/ & & 5.21746e-01_rb, 5.20815e-01_rb, 5.19886e-01_rb, 5.18958e-01_rb, 5.18032e-01_rb, & & 5.17107e-01_rb, 5.16184e-01_rb, 5.15263e-01_rb, 5.14343e-01_rb, 5.13425e-01_rb, & & 5.12509e-01_rb, 5.11594e-01_rb, 5.10681e-01_rb, 5.09770e-01_rb, 5.08860e-01_rb, & & 5.07952e-01_rb, 5.07045e-01_rb, 5.06140e-01_rb, 5.05237e-01_rb/) kao_mo3( 7, :, 5) = (/ & & 5.26752e-01_rb, 5.25550e-01_rb, 5.24352e-01_rb, 5.23156e-01_rb, 5.21963e-01_rb, & & 5.20772e-01_rb, 5.19584e-01_rb, 5.18399e-01_rb, 5.17217e-01_rb, 5.16038e-01_rb, & & 5.14861e-01_rb, 5.13686e-01_rb, 5.12515e-01_rb, 5.11346e-01_rb, 5.10180e-01_rb, & & 5.09016e-01_rb, 5.07855e-01_rb, 5.06697e-01_rb, 5.05541e-01_rb/) kao_mo3( 8, :, 5) = (/ & & 5.23581e-01_rb, 5.22513e-01_rb, 5.21446e-01_rb, 5.20382e-01_rb, 5.19320e-01_rb, & & 5.18260e-01_rb, 5.17203e-01_rb, 5.16147e-01_rb, 5.15094e-01_rb, 5.14042e-01_rb, & & 5.12993e-01_rb, 5.11946e-01_rb, 5.10901e-01_rb, 5.09859e-01_rb, 5.08818e-01_rb, & & 5.07780e-01_rb, 5.06743e-01_rb, 5.05709e-01_rb, 5.04677e-01_rb/) kao_mo3( 9, :, 5) = (/ & & 3.80393e-01_rb, 3.80680e-01_rb, 3.80967e-01_rb, 3.81254e-01_rb, 3.81542e-01_rb, & & 3.81829e-01_rb, 3.82117e-01_rb, 3.82405e-01_rb, 3.82693e-01_rb, 3.82982e-01_rb, & & 3.83271e-01_rb, 3.83559e-01_rb, 3.83849e-01_rb, 3.84138e-01_rb, 3.84428e-01_rb, & & 3.84717e-01_rb, 3.85007e-01_rb, 3.85298e-01_rb, 3.85588e-01_rb/) kao_mo3( 1, :, 6) = (/ & & 6.14818e-01_rb, 6.10664e-01_rb, 6.06539e-01_rb, 6.02441e-01_rb, 5.98372e-01_rb, & & 5.94330e-01_rb, 5.90315e-01_rb, 5.86327e-01_rb, 5.82366e-01_rb, 5.78432e-01_rb, & & 5.74524e-01_rb, 5.70643e-01_rb, 5.66788e-01_rb, 5.62959e-01_rb, 5.59156e-01_rb, & & 5.55379e-01_rb, 5.51627e-01_rb, 5.47901e-01_rb, 5.44199e-01_rb/) kao_mo3( 2, :, 6) = (/ & & 6.10199e-01_rb, 6.06143e-01_rb, 6.02114e-01_rb, 5.98112e-01_rb, 5.94136e-01_rb, & & 5.90187e-01_rb, 5.86264e-01_rb, 5.82367e-01_rb, 5.78496e-01_rb, 5.74651e-01_rb, & & 5.70831e-01_rb, 5.67037e-01_rb, 5.63268e-01_rb, 5.59524e-01_rb, 5.55805e-01_rb, & & 5.52110e-01_rb, 5.48440e-01_rb, 5.44795e-01_rb, 5.41174e-01_rb/) kao_mo3( 3, :, 6) = (/ & & 6.02949e-01_rb, 5.99057e-01_rb, 5.95190e-01_rb, 5.91348e-01_rb, 5.87531e-01_rb, & & 5.83739e-01_rb, 5.79971e-01_rb, 5.76227e-01_rb, 5.72508e-01_rb, 5.68812e-01_rb, & & 5.65140e-01_rb, 5.61493e-01_rb, 5.57868e-01_rb, 5.54267e-01_rb, 5.50690e-01_rb, & & 5.47135e-01_rb, 5.43603e-01_rb, 5.40094e-01_rb, 5.36608e-01_rb/) kao_mo3( 4, :, 6) = (/ & & 6.05047e-01_rb, 6.01155e-01_rb, 5.97289e-01_rb, 5.93448e-01_rb, 5.89631e-01_rb, & & 5.85838e-01_rb, 5.82071e-01_rb, 5.78327e-01_rb, 5.74607e-01_rb, 5.70912e-01_rb, & & 5.67240e-01_rb, 5.63592e-01_rb, 5.59967e-01_rb, 5.56365e-01_rb, 5.52787e-01_rb, & & 5.49232e-01_rb, 5.45699e-01_rb, 5.42190e-01_rb, 5.38703e-01_rb/) kao_mo3( 5, :, 6) = (/ & & 6.03593e-01_rb, 5.99867e-01_rb, 5.96164e-01_rb, 5.92483e-01_rb, 5.88825e-01_rb, & & 5.85190e-01_rb, 5.81577e-01_rb, 5.77987e-01_rb, 5.74419e-01_rb, 5.70872e-01_rb, & & 5.67348e-01_rb, 5.63846e-01_rb, 5.60365e-01_rb, 5.56905e-01_rb, 5.53467e-01_rb, & & 5.50050e-01_rb, 5.46654e-01_rb, 5.43279e-01_rb, 5.39926e-01_rb/) kao_mo3( 6, :, 6) = (/ & & 6.03940e-01_rb, 6.00224e-01_rb, 5.96531e-01_rb, 5.92861e-01_rb, 5.89213e-01_rb, & & 5.85588e-01_rb, 5.81985e-01_rb, 5.78404e-01_rb, 5.74845e-01_rb, 5.71308e-01_rb, & & 5.67793e-01_rb, 5.64299e-01_rb, 5.60827e-01_rb, 5.57377e-01_rb, 5.53947e-01_rb, & & 5.50539e-01_rb, 5.47151e-01_rb, 5.43785e-01_rb, 5.40439e-01_rb/) kao_mo3( 7, :, 6) = (/ & & 6.06242e-01_rb, 6.02257e-01_rb, 5.98299e-01_rb, 5.94367e-01_rb, 5.90461e-01_rb, & & 5.86580e-01_rb, 5.82725e-01_rb, 5.78895e-01_rb, 5.75090e-01_rb, 5.71311e-01_rb, & & 5.67556e-01_rb, 5.63826e-01_rb, 5.60120e-01_rb, 5.56439e-01_rb, 5.52782e-01_rb, & & 5.49149e-01_rb, 5.45540e-01_rb, 5.41954e-01_rb, 5.38393e-01_rb/) kao_mo3( 8, :, 6) = (/ & & 6.11929e-01_rb, 6.07173e-01_rb, 6.02454e-01_rb, 5.97773e-01_rb, 5.93127e-01_rb, & & 5.88518e-01_rb, 5.83944e-01_rb, 5.79406e-01_rb, 5.74903e-01_rb, 5.70436e-01_rb, & & 5.66002e-01_rb, 5.61604e-01_rb, 5.57239e-01_rb, 5.52909e-01_rb, 5.48612e-01_rb, & & 5.44349e-01_rb, 5.40118e-01_rb, 5.35921e-01_rb, 5.31756e-01_rb/) kao_mo3( 9, :, 6) = (/ & & 6.21189e-01_rb, 6.17338e-01_rb, 6.13511e-01_rb, 6.09707e-01_rb, 6.05927e-01_rb, & & 6.02170e-01_rb, 5.98437e-01_rb, 5.94726e-01_rb, 5.91039e-01_rb, 5.87375e-01_rb, & & 5.83733e-01_rb, 5.80114e-01_rb, 5.76517e-01_rb, 5.72943e-01_rb, 5.69390e-01_rb, & & 5.65860e-01_rb, 5.62352e-01_rb, 5.58865e-01_rb, 5.55400e-01_rb/) kao_mo3( 1, :, 7) = (/ & & 7.41310e-01_rb, 7.30108e-01_rb, 7.19075e-01_rb, 7.08209e-01_rb, 6.97507e-01_rb, & & 6.86967e-01_rb, 6.76586e-01_rb, 6.66362e-01_rb, 6.56292e-01_rb, 6.46374e-01_rb, & & 6.36607e-01_rb, 6.26987e-01_rb, 6.17512e-01_rb, 6.08181e-01_rb, 5.98990e-01_rb, & & 5.89939e-01_rb, 5.81024e-01_rb, 5.72244e-01_rb, 5.63597e-01_rb/) kao_mo3( 2, :, 7) = (/ & & 7.38780e-01_rb, 7.27631e-01_rb, 7.16651e-01_rb, 7.05836e-01_rb, 6.95185e-01_rb, & & 6.84695e-01_rb, 6.74362e-01_rb, 6.64186e-01_rb, 6.54163e-01_rb, 6.44292e-01_rb, & & 6.34569e-01_rb, 6.24993e-01_rb, 6.15562e-01_rb, 6.06273e-01_rb, 5.97124e-01_rb, & & 5.88113e-01_rb, 5.79238e-01_rb, 5.70498e-01_rb, 5.61889e-01_rb/) kao_mo3( 3, :, 7) = (/ & & 7.33846e-01_rb, 7.22799e-01_rb, 7.11919e-01_rb, 7.01203e-01_rb, 6.90648e-01_rb, & & 6.80252e-01_rb, 6.70012e-01_rb, 6.59927e-01_rb, 6.49993e-01_rb, 6.40209e-01_rb, & & 6.30572e-01_rb, 6.21080e-01_rb, 6.11731e-01_rb, 6.02523e-01_rb, 5.93453e-01_rb, & & 5.84520e-01_rb, 5.75721e-01_rb, 5.67055e-01_rb, 5.58519e-01_rb/) kao_mo3( 4, :, 7) = (/ & & 7.21218e-01_rb, 7.10492e-01_rb, 6.99926e-01_rb, 6.89517e-01_rb, 6.79262e-01_rb, & & 6.69160e-01_rb, 6.59209e-01_rb, 6.49405e-01_rb, 6.39747e-01_rb, 6.30233e-01_rb, & & 6.20860e-01_rb, 6.11627e-01_rb, 6.02531e-01_rb, 5.93570e-01_rb, 5.84743e-01_rb, & & 5.76047e-01_rb, 5.67480e-01_rb, 5.59040e-01_rb, 5.50726e-01_rb/) kao_mo3( 5, :, 7) = (/ & & 7.10588e-01_rb, 7.00014e-01_rb, 6.89596e-01_rb, 6.79334e-01_rb, 6.69225e-01_rb, & & 6.59266e-01_rb, 6.49455e-01_rb, 6.39790e-01_rb, 6.30269e-01_rb, 6.20889e-01_rb, & & 6.11650e-01_rb, 6.02547e-01_rb, 5.93581e-01_rb, 5.84747e-01_rb, 5.76045e-01_rb, & & 5.67473e-01_rb, 5.59028e-01_rb, 5.50709e-01_rb, 5.42513e-01_rb/) kao_mo3( 6, :, 7) = (/ & & 6.98166e-01_rb, 6.87706e-01_rb, 6.77402e-01_rb, 6.67253e-01_rb, 6.57256e-01_rb, & & 6.47408e-01_rb, 6.37708e-01_rb, 6.28154e-01_rb, 6.18742e-01_rb, 6.09472e-01_rb, & & 6.00340e-01_rb, 5.91346e-01_rb, 5.82486e-01_rb, 5.73758e-01_rb, 5.65162e-01_rb, & & 5.56694e-01_rb, 5.48353e-01_rb, 5.40138e-01_rb, 5.32045e-01_rb/) kao_mo3( 7, :, 7) = (/ & & 6.76974e-01_rb, 6.67034e-01_rb, 6.57240e-01_rb, 6.47590e-01_rb, 6.38081e-01_rb, & & 6.28712e-01_rb, 6.19481e-01_rb, 6.10385e-01_rb, 6.01422e-01_rb, 5.92592e-01_rb, & & 5.83891e-01_rb, 5.75317e-01_rb, 5.66870e-01_rb, 5.58547e-01_rb, 5.50345e-01_rb, & & 5.42265e-01_rb, 5.34303e-01_rb, 5.26457e-01_rb, 5.18727e-01_rb/) kao_mo3( 8, :, 7) = (/ & & 6.30061e-01_rb, 6.21017e-01_rb, 6.12102e-01_rb, 6.03316e-01_rb, 5.94656e-01_rb, & & 5.86120e-01_rb, 5.77706e-01_rb, 5.69414e-01_rb, 5.61240e-01_rb, 5.53184e-01_rb, & & 5.45243e-01_rb, 5.37416e-01_rb, 5.29702e-01_rb, 5.22098e-01_rb, 5.14604e-01_rb, & & 5.07217e-01_rb, 4.99936e-01_rb, 4.92760e-01_rb, 4.85687e-01_rb/) kao_mo3( 9, :, 7) = (/ & & 8.97633e-01_rb, 8.87307e-01_rb, 8.77100e-01_rb, 8.67010e-01_rb, 8.57036e-01_rb, & & 8.47176e-01_rb, 8.37431e-01_rb, 8.27797e-01_rb, 8.18274e-01_rb, 8.08861e-01_rb, & & 7.99555e-01_rb, 7.90357e-01_rb, 7.81265e-01_rb, 7.72278e-01_rb, 7.63393e-01_rb, & & 7.54611e-01_rb, 7.45930e-01_rb, 7.37349e-01_rb, 7.28867e-01_rb/) kao_mo3( 1, :, 8) = (/ & & 4.87356e-01_rb, 4.80743e-01_rb, 4.74220e-01_rb, 4.67785e-01_rb, 4.61437e-01_rb, & & 4.55176e-01_rb, 4.49000e-01_rb, 4.42907e-01_rb, 4.36897e-01_rb, 4.30969e-01_rb, & & 4.25121e-01_rb, 4.19353e-01_rb, 4.13663e-01_rb, 4.08049e-01_rb, 4.02513e-01_rb, & & 3.97051e-01_rb, 3.91663e-01_rb, 3.86349e-01_rb, 3.81106e-01_rb/) kao_mo3( 2, :, 8) = (/ & & 4.86776e-01_rb, 4.80157e-01_rb, 4.73627e-01_rb, 4.67187e-01_rb, 4.60834e-01_rb, & & 4.54567e-01_rb, 4.48386e-01_rb, 4.42289e-01_rb, 4.36274e-01_rb, 4.30342e-01_rb, & & 4.24490e-01_rb, 4.18718e-01_rb, 4.13024e-01_rb, 4.07407e-01_rb, 4.01867e-01_rb, & & 3.96403e-01_rb, 3.91012e-01_rb, 3.85695e-01_rb, 3.80450e-01_rb/) kao_mo3( 3, :, 8) = (/ & & 4.86111e-01_rb, 4.79496e-01_rb, 4.72972e-01_rb, 4.66536e-01_rb, 4.60188e-01_rb, & & 4.53926e-01_rb, 4.47750e-01_rb, 4.41657e-01_rb, 4.35648e-01_rb, 4.29720e-01_rb, & & 4.23873e-01_rb, 4.18105e-01_rb, 4.12416e-01_rb, 4.06804e-01_rb, 4.01269e-01_rb, & & 3.95809e-01_rb, 3.90423e-01_rb, 3.85111e-01_rb, 3.79871e-01_rb/) kao_mo3( 4, :, 8) = (/ & & 4.85501e-01_rb, 4.78880e-01_rb, 4.72350e-01_rb, 4.65908e-01_rb, 4.59554e-01_rb, & & 4.53288e-01_rb, 4.47106e-01_rb, 4.41009e-01_rb, 4.34995e-01_rb, 4.29063e-01_rb, & & 4.23211e-01_rb, 4.17440e-01_rb, 4.11747e-01_rb, 4.06132e-01_rb, 4.00594e-01_rb, & & 3.95131e-01_rb, 3.89743e-01_rb, 3.84428e-01_rb, 3.79185e-01_rb/) kao_mo3( 5, :, 8) = (/ & & 4.83679e-01_rb, 4.77140e-01_rb, 4.70691e-01_rb, 4.64328e-01_rb, 4.58051e-01_rb, & & 4.51859e-01_rb, 4.45751e-01_rb, 4.39726e-01_rb, 4.33781e-01_rb, 4.27918e-01_rb, & & 4.22133e-01_rb, 4.16427e-01_rb, 4.10798e-01_rb, 4.05245e-01_rb, 3.99767e-01_rb, & & 3.94363e-01_rb, 3.89032e-01_rb, 3.83773e-01_rb, 3.78585e-01_rb/) kao_mo3( 6, :, 8) = (/ & & 4.72120e-01_rb, 4.65834e-01_rb, 4.59630e-01_rb, 4.53510e-01_rb, 4.47471e-01_rb, & & 4.41513e-01_rb, 4.35633e-01_rb, 4.29833e-01_rb, 4.24109e-01_rb, 4.18461e-01_rb, & & 4.12889e-01_rb, 4.07391e-01_rb, 4.01966e-01_rb, 3.96614e-01_rb, 3.91332e-01_rb, & & 3.86122e-01_rb, 3.80980e-01_rb, 3.75907e-01_rb, 3.70901e-01_rb/) kao_mo3( 7, :, 8) = (/ & & 4.58683e-01_rb, 4.52758e-01_rb, 4.46909e-01_rb, 4.41135e-01_rb, 4.35437e-01_rb, & & 4.29812e-01_rb, 4.24259e-01_rb, 4.18779e-01_rb, 4.13369e-01_rb, 4.08029e-01_rb, & & 4.02758e-01_rb, 3.97555e-01_rb, 3.92419e-01_rb, 3.87350e-01_rb, 3.82346e-01_rb, & & 3.77406e-01_rb, 3.72531e-01_rb, 3.67719e-01_rb, 3.62968e-01_rb/) kao_mo3( 8, :, 8) = (/ & & 4.56091e-01_rb, 4.50481e-01_rb, 4.44940e-01_rb, 4.39467e-01_rb, 4.34062e-01_rb, & & 4.28722e-01_rb, 4.23449e-01_rb, 4.18240e-01_rb, 4.13096e-01_rb, 4.08015e-01_rb, & & 4.02996e-01_rb, 3.98039e-01_rb, 3.93143e-01_rb, 3.88307e-01_rb, 3.83531e-01_rb, & & 3.78813e-01_rb, 3.74154e-01_rb, 3.69552e-01_rb, 3.65006e-01_rb/) kao_mo3( 9, :, 8) = (/ & & 9.11213e-01_rb, 9.03270e-01_rb, 8.95396e-01_rb, 8.87591e-01_rb, 8.79855e-01_rb, & & 8.72185e-01_rb, 8.64583e-01_rb, 8.57046e-01_rb, 8.49576e-01_rb, 8.42170e-01_rb, & & 8.34829e-01_rb, 8.27552e-01_rb, 8.20339e-01_rb, 8.13188e-01_rb, 8.06100e-01_rb, & & 7.99073e-01_rb, 7.92108e-01_rb, 7.85204e-01_rb, 7.78359e-01_rb/) kao_mo3( 1, :, 9) = (/ & & 5.56194e-01_rb, 5.48595e-01_rb, 5.41100e-01_rb, 5.33707e-01_rb, 5.26415e-01_rb, & & 5.19223e-01_rb, 5.12129e-01_rb, 5.05132e-01_rb, 4.98231e-01_rb, 4.91424e-01_rb, & & 4.84710e-01_rb, 4.78087e-01_rb, 4.71556e-01_rb, 4.65113e-01_rb, 4.58758e-01_rb, & & 4.52491e-01_rb, 4.46309e-01_rb, 4.40211e-01_rb, 4.34197e-01_rb/) kao_mo3( 2, :, 9) = (/ & & 5.56174e-01_rb, 5.48575e-01_rb, 5.41079e-01_rb, 5.33687e-01_rb, 5.26395e-01_rb, & & 5.19203e-01_rb, 5.12109e-01_rb, 5.05112e-01_rb, 4.98211e-01_rb, 4.91404e-01_rb, & & 4.84690e-01_rb, 4.78068e-01_rb, 4.71536e-01_rb, 4.65093e-01_rb, 4.58739e-01_rb, & & 4.52471e-01_rb, 4.46289e-01_rb, 4.40191e-01_rb, 4.34177e-01_rb/) kao_mo3( 3, :, 9) = (/ & & 5.55996e-01_rb, 5.48403e-01_rb, 5.40913e-01_rb, 5.33526e-01_rb, 5.26239e-01_rb, & & 5.19052e-01_rb, 5.11963e-01_rb, 5.04971e-01_rb, 4.98074e-01_rb, 4.91272e-01_rb, & & 4.84562e-01_rb, 4.77944e-01_rb, 4.71417e-01_rb, 4.64978e-01_rb, 4.58628e-01_rb, & & 4.52364e-01_rb, 4.46186e-01_rb, 4.40092e-01_rb, 4.34081e-01_rb/) kao_mo3( 4, :, 9) = (/ & & 5.55859e-01_rb, 5.48271e-01_rb, 5.40786e-01_rb, 5.33404e-01_rb, 5.26123e-01_rb, & & 5.18941e-01_rb, 5.11856e-01_rb, 5.04869e-01_rb, 4.97977e-01_rb, 4.91179e-01_rb, & & 4.84474e-01_rb, 4.77861e-01_rb, 4.71337e-01_rb, 4.64903e-01_rb, 4.58557e-01_rb, & & 4.52297e-01_rb, 4.46123e-01_rb, 4.40033e-01_rb, 4.34026e-01_rb/) kao_mo3( 5, :, 9) = (/ & & 5.54550e-01_rb, 5.46921e-01_rb, 5.39397e-01_rb, 5.31976e-01_rb, 5.24657e-01_rb, & & 5.17439e-01_rb, 5.10320e-01_rb, 5.03300e-01_rb, 4.96376e-01_rb, 4.89547e-01_rb, & & 4.82812e-01_rb, 4.76170e-01_rb, 4.69619e-01_rb, 4.63158e-01_rb, 4.56786e-01_rb, & & 4.50502e-01_rb, 4.44304e-01_rb, 4.38192e-01_rb, 4.32163e-01_rb/) kao_mo3( 6, :, 9) = (/ & & 5.53514e-01_rb, 5.45883e-01_rb, 5.38358e-01_rb, 5.30937e-01_rb, 5.23618e-01_rb, & & 5.16399e-01_rb, 5.09280e-01_rb, 5.02260e-01_rb, 4.95336e-01_rb, 4.88507e-01_rb, & & 4.81773e-01_rb, 4.75132e-01_rb, 4.68582e-01_rb, 4.62122e-01_rb, 4.55752e-01_rb, & & 4.49469e-01_rb, 4.43273e-01_rb, 4.37162e-01_rb, 4.31136e-01_rb/) kao_mo3( 7, :, 9) = (/ & & 5.49865e-01_rb, 5.42303e-01_rb, 5.34846e-01_rb, 5.27491e-01_rb, 5.20237e-01_rb, & & 5.13084e-01_rb, 5.06028e-01_rb, 4.99070e-01_rb, 4.92207e-01_rb, 4.85438e-01_rb, & & 4.78763e-01_rb, 4.72179e-01_rb, 4.65686e-01_rb, 4.59282e-01_rb, 4.52967e-01_rb, & & 4.46738e-01_rb, 4.40595e-01_rb, 4.34536e-01_rb, 4.28561e-01_rb/) kao_mo3( 8, :, 9) = (/ & & 5.25435e-01_rb, 5.18437e-01_rb, 5.11533e-01_rb, 5.04721e-01_rb, 4.97999e-01_rb, & & 4.91367e-01_rb, 4.84823e-01_rb, 4.78366e-01_rb, 4.71996e-01_rb, 4.65710e-01_rb, & & 4.59508e-01_rb, 4.53388e-01_rb, 4.47350e-01_rb, 4.41393e-01_rb, 4.35515e-01_rb, & & 4.29715e-01_rb, 4.23992e-01_rb, 4.18345e-01_rb, 4.12774e-01_rb/) kao_mo3( 9, :, 9) = (/ & & 3.48228e-01_rb, 3.45949e-01_rb, 3.43686e-01_rb, 3.41437e-01_rb, 3.39203e-01_rb, & & 3.36983e-01_rb, 3.34778e-01_rb, 3.32588e-01_rb, 3.30412e-01_rb, 3.28250e-01_rb, & & 3.26102e-01_rb, 3.23968e-01_rb, 3.21848e-01_rb, 3.19742e-01_rb, 3.17650e-01_rb, & & 3.15572e-01_rb, 3.13507e-01_rb, 3.11456e-01_rb, 3.09418e-01_rb/) kao_mo3( 1, :,10) = (/ & & 8.34107e-01_rb, 8.27276e-01_rb, 8.20501e-01_rb, 8.13781e-01_rb, 8.07117e-01_rb, & & 8.00507e-01_rb, 7.93951e-01_rb, 7.87449e-01_rb, 7.81000e-01_rb, 7.74604e-01_rb, & & 7.68260e-01_rb, 7.61968e-01_rb, 7.55728e-01_rb, 7.49539e-01_rb, 7.43400e-01_rb, & & 7.37312e-01_rb, 7.31274e-01_rb, 7.25285e-01_rb, 7.19345e-01_rb/) kao_mo3( 2, :,10) = (/ & & 8.32838e-01_rb, 8.26022e-01_rb, 8.19263e-01_rb, 8.12558e-01_rb, 8.05908e-01_rb, & & 7.99313e-01_rb, 7.92772e-01_rb, 7.86284e-01_rb, 7.79849e-01_rb, 7.73467e-01_rb, & & 7.67137e-01_rb, 7.60859e-01_rb, 7.54633e-01_rb, 7.48457e-01_rb, 7.42332e-01_rb, & & 7.36257e-01_rb, 7.30232e-01_rb, 7.24256e-01_rb, 7.18329e-01_rb/) kao_mo3( 3, :,10) = (/ & & 8.31167e-01_rb, 8.24361e-01_rb, 8.17611e-01_rb, 8.10916e-01_rb, 8.04276e-01_rb, & & 7.97691e-01_rb, 7.91159e-01_rb, 7.84681e-01_rb, 7.78256e-01_rb, 7.71883e-01_rb, & & 7.65563e-01_rb, 7.59294e-01_rb, 7.53077e-01_rb, 7.46910e-01_rb, 7.40795e-01_rb, & & 7.34729e-01_rb, 7.28713e-01_rb, 7.22746e-01_rb, 7.16828e-01_rb/) kao_mo3( 4, :,10) = (/ & & 8.29026e-01_rb, 8.22246e-01_rb, 8.15521e-01_rb, 8.08851e-01_rb, 8.02236e-01_rb, & & 7.95675e-01_rb, 7.89167e-01_rb, 7.82713e-01_rb, 7.76312e-01_rb, 7.69962e-01_rb, & & 7.63665e-01_rb, 7.57419e-01_rb, 7.51225e-01_rb, 7.45081e-01_rb, 7.38987e-01_rb, & & 7.32943e-01_rb, 7.26949e-01_rb, 7.21003e-01_rb, 7.15107e-01_rb/) kao_mo3( 5, :,10) = (/ & & 8.26226e-01_rb, 8.19471e-01_rb, 8.12771e-01_rb, 8.06126e-01_rb, 7.99536e-01_rb, & & 7.92999e-01_rb, 7.86515e-01_rb, 7.80085e-01_rb, 7.73707e-01_rb, 7.67382e-01_rb, & & 7.61108e-01_rb, 7.54885e-01_rb, 7.48714e-01_rb, 7.42592e-01_rb, 7.36521e-01_rb, & & 7.30500e-01_rb, 7.24527e-01_rb, 7.18604e-01_rb, 7.12729e-01_rb/) kao_mo3( 6, :,10) = (/ & & 8.33246e-01_rb, 8.26510e-01_rb, 8.19828e-01_rb, 8.13200e-01_rb, 8.06626e-01_rb, & & 8.00105e-01_rb, 7.93637e-01_rb, 7.87221e-01_rb, 7.80856e-01_rb, 7.74544e-01_rb, & & 7.68282e-01_rb, 7.62071e-01_rb, 7.55910e-01_rb, 7.49799e-01_rb, 7.43737e-01_rb, & & 7.37725e-01_rb, 7.31760e-01_rb, 7.25845e-01_rb, 7.19977e-01_rb/) kao_mo3( 7, :,10) = (/ & & 8.45693e-01_rb, 8.38967e-01_rb, 8.32295e-01_rb, 8.25675e-01_rb, 8.19108e-01_rb, & & 8.12594e-01_rb, 8.06131e-01_rb, 7.99719e-01_rb, 7.93359e-01_rb, 7.87049e-01_rb, & & 7.80789e-01_rb, 7.74579e-01_rb, 7.68419e-01_rb, 7.62307e-01_rb, 7.56244e-01_rb, & & 7.50230e-01_rb, 7.44263e-01_rb, 7.38343e-01_rb, 7.32471e-01_rb/) kao_mo3( 8, :,10) = (/ & & 8.32139e-01_rb, 8.25565e-01_rb, 8.19044e-01_rb, 8.12574e-01_rb, 8.06156e-01_rb, & & 7.99788e-01_rb, 7.93470e-01_rb, 7.87202e-01_rb, 7.80984e-01_rb, 7.74815e-01_rb, & & 7.68694e-01_rb, 7.62622e-01_rb, 7.56598e-01_rb, 7.50622e-01_rb, 7.44692e-01_rb, & & 7.38810e-01_rb, 7.32974e-01_rb, 7.27184e-01_rb, 7.21440e-01_rb/) kao_mo3( 9, :,10) = (/ & & 2.34258e-01_rb, 2.35247e-01_rb, 2.36239e-01_rb, 2.37236e-01_rb, 2.38237e-01_rb, & & 2.39242e-01_rb, 2.40252e-01_rb, 2.41265e-01_rb, 2.42283e-01_rb, 2.43306e-01_rb, & & 2.44332e-01_rb, 2.45363e-01_rb, 2.46398e-01_rb, 2.47438e-01_rb, 2.48482e-01_rb, & & 2.49531e-01_rb, 2.50583e-01_rb, 2.51641e-01_rb, 2.52702e-01_rb/) kao_mo3( 1, :,11) = (/ & & 8.31308e-01_rb, 8.22153e-01_rb, 8.13098e-01_rb, 8.04143e-01_rb, 7.95287e-01_rb, & & 7.86528e-01_rb, 7.77866e-01_rb, 7.69299e-01_rb, 7.60827e-01_rb, 7.52448e-01_rb, & & 7.44161e-01_rb, 7.35965e-01_rb, 7.27860e-01_rb, 7.19844e-01_rb, 7.11916e-01_rb, & & 7.04075e-01_rb, 6.96321e-01_rb, 6.88652e-01_rb, 6.81068e-01_rb/) kao_mo3( 2, :,11) = (/ & & 8.31577e-01_rb, 8.22400e-01_rb, 8.13324e-01_rb, 8.04349e-01_rb, 7.95472e-01_rb, & & 7.86693e-01_rb, 7.78011e-01_rb, 7.69425e-01_rb, 7.60934e-01_rb, 7.52537e-01_rb, & & 7.44232e-01_rb, 7.36019e-01_rb, 7.27896e-01_rb, 7.19863e-01_rb, 7.11919e-01_rb, & & 7.04062e-01_rb, 6.96292e-01_rb, 6.88608e-01_rb, 6.81009e-01_rb/) kao_mo3( 3, :,11) = (/ & & 8.31578e-01_rb, 8.22422e-01_rb, 8.13368e-01_rb, 8.04413e-01_rb, 7.95557e-01_rb, & & 7.86798e-01_rb, 7.78136e-01_rb, 7.69569e-01_rb, 7.61097e-01_rb, 7.52717e-01_rb, & & 7.44430e-01_rb, 7.36235e-01_rb, 7.28129e-01_rb, 7.20113e-01_rb, 7.12185e-01_rb, & & 7.04344e-01_rb, 6.96589e-01_rb, 6.88920e-01_rb, 6.81336e-01_rb/) kao_mo3( 4, :,11) = (/ & & 8.31261e-01_rb, 8.22111e-01_rb, 8.13062e-01_rb, 8.04112e-01_rb, 7.95261e-01_rb, & & 7.86507e-01_rb, 7.77850e-01_rb, 7.69288e-01_rb, 7.60820e-01_rb, 7.52445e-01_rb, & & 7.44163e-01_rb, 7.35971e-01_rb, 7.27870e-01_rb, 7.19858e-01_rb, 7.11935e-01_rb, & & 7.04098e-01_rb, 6.96348e-01_rb, 6.88683e-01_rb, 6.81102e-01_rb/) kao_mo3( 5, :,11) = (/ & & 8.31565e-01_rb, 8.22404e-01_rb, 8.13344e-01_rb, 8.04384e-01_rb, 7.95523e-01_rb, & & 7.86760e-01_rb, 7.78092e-01_rb, 7.69521e-01_rb, 7.61044e-01_rb, 7.52660e-01_rb, & & 7.44368e-01_rb, 7.36168e-01_rb, 7.28058e-01_rb, 7.20038e-01_rb, 7.12106e-01_rb, & & 7.04261e-01_rb, 6.96503e-01_rb, 6.88830e-01_rb, 6.81242e-01_rb/) kao_mo3( 6, :,11) = (/ & & 8.17636e-01_rb, 8.08497e-01_rb, 7.99461e-01_rb, 7.90525e-01_rb, 7.81690e-01_rb, & & 7.72953e-01_rb, 7.64314e-01_rb, 7.55771e-01_rb, 7.47324e-01_rb, 7.38971e-01_rb, & & 7.30712e-01_rb, 7.22545e-01_rb, 7.14469e-01_rb, 7.06483e-01_rb, 6.98587e-01_rb, & & 6.90779e-01_rb, 6.83058e-01_rb, 6.75424e-01_rb, 6.67875e-01_rb/) kao_mo3( 7, :,11) = (/ & & 7.95247e-01_rb, 7.86140e-01_rb, 7.77137e-01_rb, 7.68238e-01_rb, 7.59440e-01_rb, & & 7.50743e-01_rb, 7.42145e-01_rb, 7.33646e-01_rb, 7.25245e-01_rb, 7.16939e-01_rb, & & 7.08729e-01_rb, 7.00612e-01_rb, 6.92589e-01_rb, 6.84658e-01_rb, 6.76817e-01_rb, & & 6.69066e-01_rb, 6.61404e-01_rb, 6.53830e-01_rb, 6.46342e-01_rb/) kao_mo3( 8, :,11) = (/ & & 7.63069e-01_rb, 7.54006e-01_rb, 7.45051e-01_rb, 7.36202e-01_rb, 7.27458e-01_rb, & & 7.18818e-01_rb, 7.10281e-01_rb, 7.01845e-01_rb, 6.93509e-01_rb, 6.85272e-01_rb, & & 6.77133e-01_rb, 6.69091e-01_rb, 6.61144e-01_rb, 6.53292e-01_rb, 6.45533e-01_rb, & & 6.37866e-01_rb, 6.30290e-01_rb, 6.22804e-01_rb, 6.15407e-01_rb/) kao_mo3( 9, :,11) = (/ & & 2.03255e-01_rb, 2.03004e-01_rb, 2.02753e-01_rb, 2.02502e-01_rb, 2.02252e-01_rb, & & 2.02001e-01_rb, 2.01752e-01_rb, 2.01502e-01_rb, 2.01253e-01_rb, 2.01004e-01_rb, & & 2.00755e-01_rb, 2.00507e-01_rb, 2.00259e-01_rb, 2.00011e-01_rb, 1.99764e-01_rb, & & 1.99517e-01_rb, 1.99270e-01_rb, 1.99024e-01_rb, 1.98777e-01_rb/) kao_mo3( 1, :,12) = (/ & & 4.13201e-01_rb, 4.05258e-01_rb, 3.97468e-01_rb, 3.89828e-01_rb, 3.82334e-01_rb, & & 3.74985e-01_rb, 3.67777e-01_rb, 3.60707e-01_rb, 3.53774e-01_rb, 3.46973e-01_rb, & & 3.40303e-01_rb, 3.33762e-01_rb, 3.27346e-01_rb, 3.21054e-01_rb, 3.14882e-01_rb, & & 3.08829e-01_rb, 3.02893e-01_rb, 2.97071e-01_rb, 2.91360e-01_rb/) kao_mo3( 2, :,12) = (/ & & 4.12835e-01_rb, 4.04897e-01_rb, 3.97112e-01_rb, 3.89477e-01_rb, 3.81988e-01_rb, & & 3.74644e-01_rb, 3.67440e-01_rb, 3.60376e-01_rb, 3.53447e-01_rb, 3.46651e-01_rb, & & 3.39986e-01_rb, 3.33449e-01_rb, 3.27038e-01_rb, 3.20750e-01_rb, 3.14582e-01_rb, & & 3.08534e-01_rb, 3.02602e-01_rb, 2.96784e-01_rb, 2.91077e-01_rb/) kao_mo3( 3, :,12) = (/ & & 4.13023e-01_rb, 4.05079e-01_rb, 3.97289e-01_rb, 3.89648e-01_rb, 3.82155e-01_rb, & & 3.74805e-01_rb, 3.67597e-01_rb, 3.60527e-01_rb, 3.53594e-01_rb, 3.46793e-01_rb, & & 3.40124e-01_rb, 3.33583e-01_rb, 3.27167e-01_rb, 3.20875e-01_rb, 3.14704e-01_rb, & & 3.08652e-01_rb, 3.02716e-01_rb, 2.96894e-01_rb, 2.91184e-01_rb/) kao_mo3( 4, :,12) = (/ & & 4.13397e-01_rb, 4.05437e-01_rb, 3.97630e-01_rb, 3.89973e-01_rb, 3.82463e-01_rb, & & 3.75099e-01_rb, 3.67876e-01_rb, 3.60792e-01_rb, 3.53844e-01_rb, 3.47031e-01_rb, & & 3.40348e-01_rb, 3.33794e-01_rb, 3.27367e-01_rb, 3.21063e-01_rb, 3.14880e-01_rb, & & 3.08817e-01_rb, 3.02870e-01_rb, 2.97038e-01_rb, 2.91318e-01_rb/) kao_mo3( 5, :,12) = (/ & & 4.13043e-01_rb, 4.05106e-01_rb, 3.97321e-01_rb, 3.89686e-01_rb, 3.82198e-01_rb, & & 3.74854e-01_rb, 3.67651e-01_rb, 3.60586e-01_rb, 3.53657e-01_rb, 3.46861e-01_rb, & & 3.40195e-01_rb, 3.33658e-01_rb, 3.27246e-01_rb, 3.20958e-01_rb, 3.14790e-01_rb, & & 3.08741e-01_rb, 3.02808e-01_rb, 2.96990e-01_rb, 2.91283e-01_rb/) kao_mo3( 6, :,12) = (/ & & 4.13151e-01_rb, 4.05202e-01_rb, 3.97406e-01_rb, 3.89760e-01_rb, 3.82261e-01_rb, & & 3.74906e-01_rb, 3.67693e-01_rb, 3.60619e-01_rb, 3.53680e-01_rb, 3.46876e-01_rb, & & 3.40202e-01_rb, 3.33656e-01_rb, 3.27237e-01_rb, 3.20941e-01_rb, 3.14766e-01_rb, & & 3.08710e-01_rb, 3.02770e-01_rb, 2.96945e-01_rb, 2.91232e-01_rb/) kao_mo3( 7, :,12) = (/ & & 4.13052e-01_rb, 4.05109e-01_rb, 3.97319e-01_rb, 3.89678e-01_rb, 3.82185e-01_rb, & & 3.74835e-01_rb, 3.67627e-01_rb, 3.60557e-01_rb, 3.53624e-01_rb, 3.46823e-01_rb, & & 3.40154e-01_rb, 3.33612e-01_rb, 3.27197e-01_rb, 3.20905e-01_rb, 3.14734e-01_rb, & & 3.08681e-01_rb, 3.02745e-01_rb, 2.96923e-01_rb, 2.91213e-01_rb/) kao_mo3( 8, :,12) = (/ & & 4.13152e-01_rb, 4.05209e-01_rb, 3.97418e-01_rb, 3.89778e-01_rb, 3.82284e-01_rb, & & 3.74935e-01_rb, 3.67727e-01_rb, 3.60657e-01_rb, 3.53723e-01_rb, 3.46923e-01_rb, & & 3.40253e-01_rb, 3.33712e-01_rb, 3.27296e-01_rb, 3.21004e-01_rb, 3.14833e-01_rb, & & 3.08780e-01_rb, 3.02844e-01_rb, 2.97021e-01_rb, 2.91311e-01_rb/) kao_mo3( 9, :,12) = (/ & & 1.31008e-01_rb, 1.30607e-01_rb, 1.30208e-01_rb, 1.29810e-01_rb, 1.29413e-01_rb, & & 1.29017e-01_rb, 1.28623e-01_rb, 1.28229e-01_rb, 1.27837e-01_rb, 1.27446e-01_rb, & & 1.27056e-01_rb, 1.26668e-01_rb, 1.26280e-01_rb, 1.25894e-01_rb, 1.25509e-01_rb, & & 1.25125e-01_rb, 1.24743e-01_rb, 1.24361e-01_rb, 1.23981e-01_rb/) kao_mo3( 1, :,13) = (/ & & 4.66826e-01_rb, 4.71437e-01_rb, 4.76094e-01_rb, 4.80798e-01_rb, 4.85547e-01_rb, & & 4.90344e-01_rb, 4.95187e-01_rb, 5.00079e-01_rb, 5.05019e-01_rb, 5.10008e-01_rb, & & 5.15046e-01_rb, 5.20134e-01_rb, 5.25272e-01_rb, 5.30461e-01_rb, 5.35701e-01_rb, & & 5.40993e-01_rb, 5.46338e-01_rb, 5.51735e-01_rb, 5.57185e-01_rb/) kao_mo3( 2, :,13) = (/ & & 4.66579e-01_rb, 4.71199e-01_rb, 4.75865e-01_rb, 4.80577e-01_rb, 4.85336e-01_rb, & & 4.90141e-01_rb, 4.94995e-01_rb, 4.99896e-01_rb, 5.04846e-01_rb, 5.09845e-01_rb, & & 5.14893e-01_rb, 5.19992e-01_rb, 5.25141e-01_rb, 5.30340e-01_rb, 5.35592e-01_rb, & & 5.40895e-01_rb, 5.46251e-01_rb, 5.51660e-01_rb, 5.57122e-01_rb/) kao_mo3( 3, :,13) = (/ & & 4.66956e-01_rb, 4.71567e-01_rb, 4.76224e-01_rb, 4.80927e-01_rb, 4.85677e-01_rb, & & 4.90474e-01_rb, 4.95318e-01_rb, 5.00209e-01_rb, 5.05149e-01_rb, 5.10138e-01_rb, & & 5.15176e-01_rb, 5.20264e-01_rb, 5.25402e-01_rb, 5.30591e-01_rb, 5.35831e-01_rb, & & 5.41123e-01_rb, 5.46467e-01_rb, 5.51864e-01_rb, 5.57314e-01_rb/) kao_mo3( 4, :,13) = (/ & & 4.66456e-01_rb, 4.71080e-01_rb, 4.75750e-01_rb, 4.80467e-01_rb, 4.85230e-01_rb, & & 4.90040e-01_rb, 4.94898e-01_rb, 4.99804e-01_rb, 5.04759e-01_rb, 5.09763e-01_rb, & & 5.14817e-01_rb, 5.19920e-01_rb, 5.25075e-01_rb, 5.30280e-01_rb, 5.35537e-01_rb, & & 5.40846e-01_rb, 5.46208e-01_rb, 5.51622e-01_rb, 5.57091e-01_rb/) kao_mo3( 5, :,13) = (/ & & 4.66853e-01_rb, 4.71456e-01_rb, 4.76104e-01_rb, 4.80798e-01_rb, 4.85539e-01_rb, & & 4.90326e-01_rb, 4.95160e-01_rb, 5.00042e-01_rb, 5.04973e-01_rb, 5.09952e-01_rb, & & 5.14979e-01_rb, 5.20057e-01_rb, 5.25185e-01_rb, 5.30363e-01_rb, 5.35592e-01_rb, & & 5.40873e-01_rb, 5.46205e-01_rb, 5.51591e-01_rb, 5.57029e-01_rb/) kao_mo3( 6, :,13) = (/ & & 4.66832e-01_rb, 4.71448e-01_rb, 4.76110e-01_rb, 4.80817e-01_rb, 4.85571e-01_rb, & & 4.90372e-01_rb, 4.95221e-01_rb, 5.00118e-01_rb, 5.05063e-01_rb, 5.10056e-01_rb, & & 5.15100e-01_rb, 5.20193e-01_rb, 5.25336e-01_rb, 5.30531e-01_rb, 5.35776e-01_rb, & & 5.41074e-01_rb, 5.46424e-01_rb, 5.51826e-01_rb, 5.57283e-01_rb/) kao_mo3( 7, :,13) = (/ & & 4.66679e-01_rb, 4.71299e-01_rb, 4.75965e-01_rb, 4.80677e-01_rb, 4.85436e-01_rb, & & 4.90241e-01_rb, 4.95095e-01_rb, 4.99996e-01_rb, 5.04946e-01_rb, 5.09945e-01_rb, & & 5.14993e-01_rb, 5.20092e-01_rb, 5.25240e-01_rb, 5.30440e-01_rb, 5.35692e-01_rb, & & 5.40995e-01_rb, 5.46351e-01_rb, 5.51759e-01_rb, 5.57222e-01_rb/) kao_mo3( 8, :,13) = (/ & & 4.66982e-01_rb, 4.71598e-01_rb, 4.76260e-01_rb, 4.80967e-01_rb, 4.85721e-01_rb, & & 4.90522e-01_rb, 4.95371e-01_rb, 5.00268e-01_rb, 5.05213e-01_rb, 5.10206e-01_rb, & & 5.15250e-01_rb, 5.20343e-01_rb, 5.25486e-01_rb, 5.30680e-01_rb, 5.35926e-01_rb, & & 5.41223e-01_rb, 5.46573e-01_rb, 5.51976e-01_rb, 5.57432e-01_rb/) kao_mo3( 9, :,13) = (/ & & 1.13709e-01_rb, 1.13141e-01_rb, 1.12576e-01_rb, 1.12013e-01_rb, 1.11453e-01_rb, & & 1.10897e-01_rb, 1.10342e-01_rb, 1.09791e-01_rb, 1.09242e-01_rb, 1.08696e-01_rb, & & 1.08153e-01_rb, 1.07613e-01_rb, 1.07075e-01_rb, 1.06540e-01_rb, 1.06007e-01_rb, & & 1.05478e-01_rb, 1.04951e-01_rb, 1.04426e-01_rb, 1.03904e-01_rb/) kao_mo3( 1, :,14) = (/ & & 5.67608e-01_rb, 5.55796e-01_rb, 5.44230e-01_rb, 5.32904e-01_rb, 5.21814e-01_rb, & & 5.10955e-01_rb, 5.00322e-01_rb, 4.89910e-01_rb, 4.79714e-01_rb, 4.69731e-01_rb, & & 4.59956e-01_rb, 4.50384e-01_rb, 4.41011e-01_rb, 4.31834e-01_rb, 4.22847e-01_rb, & & 4.14048e-01_rb, 4.05431e-01_rb, 3.96994e-01_rb, 3.88732e-01_rb/) kao_mo3( 2, :,14) = (/ & & 5.67766e-01_rb, 5.55948e-01_rb, 5.44376e-01_rb, 5.33045e-01_rb, 5.21950e-01_rb, & & 5.11086e-01_rb, 5.00448e-01_rb, 4.90031e-01_rb, 4.79831e-01_rb, 4.69844e-01_rb, & & 4.60064e-01_rb, 4.50488e-01_rb, 4.41111e-01_rb, 4.31930e-01_rb, 4.22939e-01_rb, & & 4.14136e-01_rb, 4.05516e-01_rb, 3.97075e-01_rb, 3.88810e-01_rb/) kao_mo3( 3, :,14) = (/ & & 5.67460e-01_rb, 5.55647e-01_rb, 5.44080e-01_rb, 5.32754e-01_rb, 5.21664e-01_rb, & & 5.10805e-01_rb, 5.00172e-01_rb, 4.89760e-01_rb, 4.79564e-01_rb, 4.69582e-01_rb, & & 4.59806e-01_rb, 4.50235e-01_rb, 4.40862e-01_rb, 4.31685e-01_rb, 4.22699e-01_rb, & & 4.13900e-01_rb, 4.05284e-01_rb, 3.96847e-01_rb, 3.88586e-01_rb/) kao_mo3( 4, :,14) = (/ & & 5.67925e-01_rb, 5.56107e-01_rb, 5.44536e-01_rb, 5.33205e-01_rb, 5.22110e-01_rb, & & 5.11246e-01_rb, 5.00608e-01_rb, 4.90191e-01_rb, 4.79991e-01_rb, 4.70004e-01_rb, & & 4.60224e-01_rb, 4.50647e-01_rb, 4.41270e-01_rb, 4.32088e-01_rb, 4.23097e-01_rb, & & 4.14293e-01_rb, 4.05673e-01_rb, 3.97231e-01_rb, 3.88966e-01_rb/) kao_mo3( 5, :,14) = (/ & & 5.67520e-01_rb, 5.55733e-01_rb, 5.44190e-01_rb, 5.32887e-01_rb, 5.21818e-01_rb, & & 5.10980e-01_rb, 5.00366e-01_rb, 4.89974e-01_rb, 4.79797e-01_rb, 4.69831e-01_rb, & & 4.60072e-01_rb, 4.50516e-01_rb, 4.41159e-01_rb, 4.31996e-01_rb, 4.23023e-01_rb, & & 4.14236e-01_rb, 4.05633e-01_rb, 3.97207e-01_rb, 3.88957e-01_rb/) kao_mo3( 6, :,14) = (/ & & 5.67549e-01_rb, 5.55749e-01_rb, 5.44195e-01_rb, 5.32880e-01_rb, 5.21801e-01_rb, & & 5.10952e-01_rb, 5.00329e-01_rb, 4.89927e-01_rb, 4.79740e-01_rb, 4.69766e-01_rb, & & 4.59999e-01_rb, 4.50435e-01_rb, 4.41070e-01_rb, 4.31900e-01_rb, 4.22920e-01_rb, & & 4.14127e-01_rb, 4.05517e-01_rb, 3.97086e-01_rb, 3.88830e-01_rb/) kao_mo3( 7, :,14) = (/ & & 5.67727e-01_rb, 5.55909e-01_rb, 5.44337e-01_rb, 5.33005e-01_rb, 5.21910e-01_rb, & & 5.11046e-01_rb, 5.00408e-01_rb, 4.89991e-01_rb, 4.79791e-01_rb, 4.69804e-01_rb, & & 4.60024e-01_rb, 4.50448e-01_rb, 4.41071e-01_rb, 4.31890e-01_rb, 4.22900e-01_rb, & & 4.14096e-01_rb, 4.05476e-01_rb, 3.97036e-01_rb, 3.88771e-01_rb/) kao_mo3( 8, :,14) = (/ & & 5.67795e-01_rb, 5.55965e-01_rb, 5.44381e-01_rb, 5.33039e-01_rb, 5.21933e-01_rb, & & 5.11058e-01_rb, 5.00410e-01_rb, 4.89984e-01_rb, 4.79775e-01_rb, 4.69779e-01_rb, & & 4.59991e-01_rb, 4.50407e-01_rb, 4.41023e-01_rb, 4.31834e-01_rb, 4.22836e-01_rb, & & 4.14026e-01_rb, 4.05400e-01_rb, 3.96953e-01_rb, 3.88683e-01_rb/) kao_mo3( 9, :,14) = (/ & & 1.32957e-01_rb, 1.31737e-01_rb, 1.30528e-01_rb, 1.29330e-01_rb, 1.28143e-01_rb, & & 1.26967e-01_rb, 1.25802e-01_rb, 1.24648e-01_rb, 1.23504e-01_rb, 1.22370e-01_rb, & & 1.21247e-01_rb, 1.20135e-01_rb, 1.19032e-01_rb, 1.17940e-01_rb, 1.16857e-01_rb, & & 1.15785e-01_rb, 1.14722e-01_rb, 1.13669e-01_rb, 1.12626e-01_rb/) kao_mo3( 1, :,15) = (/ & & 1.51281e-01_rb, 1.53439e-01_rb, 1.55628e-01_rb, 1.57848e-01_rb, 1.60100e-01_rb, & & 1.62384e-01_rb, 1.64700e-01_rb, 1.67049e-01_rb, 1.69432e-01_rb, 1.71849e-01_rb, & & 1.74301e-01_rb, 1.76787e-01_rb, 1.79309e-01_rb, 1.81866e-01_rb, 1.84461e-01_rb, & & 1.87092e-01_rb, 1.89761e-01_rb, 1.92468e-01_rb, 1.95213e-01_rb/) kao_mo3( 2, :,15) = (/ & & 1.51431e-01_rb, 1.53589e-01_rb, 1.55778e-01_rb, 1.57998e-01_rb, 1.60250e-01_rb, & & 1.62534e-01_rb, 1.64850e-01_rb, 1.67199e-01_rb, 1.69582e-01_rb, 1.71999e-01_rb, & & 1.74450e-01_rb, 1.76937e-01_rb, 1.79458e-01_rb, 1.82016e-01_rb, 1.84610e-01_rb, & & 1.87241e-01_rb, 1.89909e-01_rb, 1.92616e-01_rb, 1.95361e-01_rb/) kao_mo3( 3, :,15) = (/ & & 1.51299e-01_rb, 1.53461e-01_rb, 1.55654e-01_rb, 1.57878e-01_rb, 1.60134e-01_rb, & & 1.62422e-01_rb, 1.64744e-01_rb, 1.67098e-01_rb, 1.69486e-01_rb, 1.71908e-01_rb, & & 1.74364e-01_rb, 1.76856e-01_rb, 1.79383e-01_rb, 1.81947e-01_rb, 1.84547e-01_rb, & & 1.87184e-01_rb, 1.89859e-01_rb, 1.92572e-01_rb, 1.95324e-01_rb/) kao_mo3( 4, :,15) = (/ & & 1.51281e-01_rb, 1.53439e-01_rb, 1.55628e-01_rb, 1.57848e-01_rb, 1.60100e-01_rb, & & 1.62384e-01_rb, 1.64700e-01_rb, 1.67049e-01_rb, 1.69432e-01_rb, 1.71849e-01_rb, & & 1.74301e-01_rb, 1.76787e-01_rb, 1.79309e-01_rb, 1.81866e-01_rb, 1.84461e-01_rb, & & 1.87092e-01_rb, 1.89761e-01_rb, 1.92468e-01_rb, 1.95213e-01_rb/) kao_mo3( 5, :,15) = (/ & & 1.51281e-01_rb, 1.53439e-01_rb, 1.55628e-01_rb, 1.57848e-01_rb, 1.60100e-01_rb, & & 1.62384e-01_rb, 1.64700e-01_rb, 1.67049e-01_rb, 1.69432e-01_rb, 1.71849e-01_rb, & & 1.74301e-01_rb, 1.76787e-01_rb, 1.79309e-01_rb, 1.81866e-01_rb, 1.84461e-01_rb, & & 1.87092e-01_rb, 1.89761e-01_rb, 1.92468e-01_rb, 1.95213e-01_rb/) kao_mo3( 6, :,15) = (/ & & 1.51299e-01_rb, 1.53461e-01_rb, 1.55654e-01_rb, 1.57878e-01_rb, 1.60134e-01_rb, & & 1.62422e-01_rb, 1.64744e-01_rb, 1.67098e-01_rb, 1.69486e-01_rb, 1.71908e-01_rb, & & 1.74364e-01_rb, 1.76856e-01_rb, 1.79383e-01_rb, 1.81947e-01_rb, 1.84547e-01_rb, & & 1.87184e-01_rb, 1.89859e-01_rb, 1.92572e-01_rb, 1.95324e-01_rb/) kao_mo3( 7, :,15) = (/ & & 1.51299e-01_rb, 1.53461e-01_rb, 1.55654e-01_rb, 1.57878e-01_rb, 1.60134e-01_rb, & & 1.62422e-01_rb, 1.64744e-01_rb, 1.67098e-01_rb, 1.69486e-01_rb, 1.71908e-01_rb, & & 1.74364e-01_rb, 1.76856e-01_rb, 1.79383e-01_rb, 1.81947e-01_rb, 1.84547e-01_rb, & & 1.87184e-01_rb, 1.89859e-01_rb, 1.92572e-01_rb, 1.95324e-01_rb/) kao_mo3( 8, :,15) = (/ & & 1.51281e-01_rb, 1.53439e-01_rb, 1.55628e-01_rb, 1.57848e-01_rb, 1.60100e-01_rb, & & 1.62384e-01_rb, 1.64700e-01_rb, 1.67049e-01_rb, 1.69432e-01_rb, 1.71849e-01_rb, & & 1.74301e-01_rb, 1.76787e-01_rb, 1.79309e-01_rb, 1.81866e-01_rb, 1.84461e-01_rb, & & 1.87092e-01_rb, 1.89761e-01_rb, 1.92468e-01_rb, 1.95213e-01_rb/) kao_mo3( 9, :,15) = (/ & & 2.44180e-01_rb, 2.35686e-01_rb, 2.27487e-01_rb, 2.19574e-01_rb, 2.11935e-01_rb, & & 2.04563e-01_rb, 1.97447e-01_rb, 1.90578e-01_rb, 1.83949e-01_rb, 1.77550e-01_rb, & & 1.71373e-01_rb, 1.65412e-01_rb, 1.59658e-01_rb, 1.54104e-01_rb, 1.48743e-01_rb, & & 1.43569e-01_rb, 1.38574e-01_rb, 1.33754e-01_rb, 1.29101e-01_rb/) kao_mo3( 1, :,16) = (/ & & 1.02934e-01_rb, 1.04369e-01_rb, 1.05825e-01_rb, 1.07300e-01_rb, 1.08797e-01_rb, & & 1.10314e-01_rb, 1.11852e-01_rb, 1.13412e-01_rb, 1.14993e-01_rb, 1.16597e-01_rb, & & 1.18223e-01_rb, 1.19871e-01_rb, 1.21543e-01_rb, 1.23238e-01_rb, 1.24956e-01_rb, & & 1.26699e-01_rb, 1.28466e-01_rb, 1.30257e-01_rb, 1.32073e-01_rb/) kao_mo3( 2, :,16) = (/ & & 1.02934e-01_rb, 1.04369e-01_rb, 1.05825e-01_rb, 1.07300e-01_rb, 1.08797e-01_rb, & & 1.10314e-01_rb, 1.11852e-01_rb, 1.13412e-01_rb, 1.14993e-01_rb, 1.16597e-01_rb, & & 1.18223e-01_rb, 1.19871e-01_rb, 1.21543e-01_rb, 1.23238e-01_rb, 1.24956e-01_rb, & & 1.26699e-01_rb, 1.28466e-01_rb, 1.30257e-01_rb, 1.32073e-01_rb/) kao_mo3( 3, :,16) = (/ & & 1.02934e-01_rb, 1.04369e-01_rb, 1.05825e-01_rb, 1.07300e-01_rb, 1.08797e-01_rb, & & 1.10314e-01_rb, 1.11852e-01_rb, 1.13412e-01_rb, 1.14993e-01_rb, 1.16597e-01_rb, & & 1.18223e-01_rb, 1.19871e-01_rb, 1.21543e-01_rb, 1.23238e-01_rb, 1.24956e-01_rb, & & 1.26699e-01_rb, 1.28466e-01_rb, 1.30257e-01_rb, 1.32073e-01_rb/) kao_mo3( 4, :,16) = (/ & & 1.02934e-01_rb, 1.04369e-01_rb, 1.05825e-01_rb, 1.07300e-01_rb, 1.08797e-01_rb, & & 1.10314e-01_rb, 1.11852e-01_rb, 1.13412e-01_rb, 1.14993e-01_rb, 1.16597e-01_rb, & & 1.18223e-01_rb, 1.19871e-01_rb, 1.21543e-01_rb, 1.23238e-01_rb, 1.24956e-01_rb, & & 1.26699e-01_rb, 1.28466e-01_rb, 1.30257e-01_rb, 1.32073e-01_rb/) kao_mo3( 5, :,16) = (/ & & 1.02934e-01_rb, 1.04369e-01_rb, 1.05825e-01_rb, 1.07300e-01_rb, 1.08797e-01_rb, & & 1.10314e-01_rb, 1.11852e-01_rb, 1.13412e-01_rb, 1.14993e-01_rb, 1.16597e-01_rb, & & 1.18223e-01_rb, 1.19871e-01_rb, 1.21543e-01_rb, 1.23238e-01_rb, 1.24956e-01_rb, & & 1.26699e-01_rb, 1.28466e-01_rb, 1.30257e-01_rb, 1.32073e-01_rb/) kao_mo3( 6, :,16) = (/ & & 1.02934e-01_rb, 1.04369e-01_rb, 1.05825e-01_rb, 1.07300e-01_rb, 1.08797e-01_rb, & & 1.10314e-01_rb, 1.11852e-01_rb, 1.13412e-01_rb, 1.14993e-01_rb, 1.16597e-01_rb, & & 1.18223e-01_rb, 1.19871e-01_rb, 1.21543e-01_rb, 1.23238e-01_rb, 1.24956e-01_rb, & & 1.26699e-01_rb, 1.28466e-01_rb, 1.30257e-01_rb, 1.32073e-01_rb/) kao_mo3( 7, :,16) = (/ & & 1.02934e-01_rb, 1.04369e-01_rb, 1.05825e-01_rb, 1.07300e-01_rb, 1.08797e-01_rb, & & 1.10314e-01_rb, 1.11852e-01_rb, 1.13412e-01_rb, 1.14993e-01_rb, 1.16597e-01_rb, & & 1.18223e-01_rb, 1.19871e-01_rb, 1.21543e-01_rb, 1.23238e-01_rb, 1.24956e-01_rb, & & 1.26699e-01_rb, 1.28466e-01_rb, 1.30257e-01_rb, 1.32073e-01_rb/) kao_mo3( 8, :,16) = (/ & & 1.02934e-01_rb, 1.04369e-01_rb, 1.05825e-01_rb, 1.07300e-01_rb, 1.08797e-01_rb, & & 1.10314e-01_rb, 1.11852e-01_rb, 1.13412e-01_rb, 1.14993e-01_rb, 1.16597e-01_rb, & & 1.18223e-01_rb, 1.19871e-01_rb, 1.21543e-01_rb, 1.23238e-01_rb, 1.24956e-01_rb, & & 1.26699e-01_rb, 1.28466e-01_rb, 1.30257e-01_rb, 1.32073e-01_rb/) kao_mo3( 9, :,16) = (/ & & 3.91531e-01_rb, 3.78978e-01_rb, 3.66827e-01_rb, 3.55067e-01_rb, 3.43683e-01_rb, & & 3.32664e-01_rb, 3.21999e-01_rb, 3.11675e-01_rb, 3.01683e-01_rb, 2.92011e-01_rb, & & 2.82648e-01_rb, 2.73586e-01_rb, 2.64815e-01_rb, 2.56325e-01_rb, 2.48107e-01_rb, & & 2.40152e-01_rb, 2.32453e-01_rb, 2.25000e-01_rb, 2.17787e-01_rb/) ! The array FORREFO contains the coefficient of the water vapor ! foreign-continuum (including the energy term). The first ! index refers to reference temperature (296,260,224,260) and ! pressure (970,475,219,3 mbar) levels. The second index ! runs over the g-channel (1 to 16). forrefo(1,:) = (/ & &1.0689e-05_rb,1.6987e-05_rb,1.8993e-05_rb,3.4470e-05_rb,4.0873e-05_rb,4.8275e-05_rb, & &6.1178e-05_rb,6.4035e-05_rb,6.6253e-05_rb,7.8914e-05_rb,8.1640e-05_rb,7.9738e-05_rb, & &7.8492e-05_rb,9.1565e-05_rb,1.0262e-04_rb,1.0368e-04_rb/) forrefo(2,:) = (/ & &1.1194e-05_rb,1.6128e-05_rb,1.7213e-05_rb,2.6845e-05_rb,4.1361e-05_rb,5.1508e-05_rb, & &6.8245e-05_rb,7.4063e-05_rb,7.6273e-05_rb,8.4061e-05_rb,8.2492e-05_rb,8.1720e-05_rb, & &7.7626e-05_rb,1.0096e-04_rb,1.0519e-04_rb,1.0631e-04_rb/) forrefo(3,:) = (/ & &1.0891e-05_rb,1.4933e-05_rb,1.7964e-05_rb,2.2577e-05_rb,4.4290e-05_rb,5.4675e-05_rb, & &7.2494e-05_rb,7.8410e-05_rb,7.6948e-05_rb,7.5742e-05_rb,7.7654e-05_rb,8.2760e-05_rb, & &7.8443e-05_rb,9.8384e-05_rb,1.0634e-04_rb,1.0838e-04_rb/) forrefo(4,:) = (/ & &1.1316e-05_rb,1.5470e-05_rb,2.1246e-05_rb,3.3349e-05_rb,4.8704e-05_rb,5.6424e-05_rb, & &5.8569e-05_rb,5.8780e-05_rb,6.0358e-05_rb,6.1586e-05_rb,6.4281e-05_rb,6.9333e-05_rb, & &7.2763e-05_rb,7.2675e-05_rb,7.3754e-05_rb,1.0131e-04_rb/) ! The array SELFREFO contains the coefficient of the water vapor ! self-continuum (including the energy term). The first index ! refers to temperature in 7.2 degree increments. For instance, ! JT = 1 refers to a temperature of 245.6, JT = 2 refers to 252.8, ! etc. The second index runs over the g-channel (1 to 16). selfrefo(:, 1) = (/ & & 1.27686e-01_rb, 1.09347e-01_rb, 9.36410e-02_rb, 8.01912e-02_rb, 6.86732e-02_rb, & & 5.88096e-02_rb, 5.03627e-02_rb, 4.31290e-02_rb, 3.69343e-02_rb, 3.16294e-02_rb/) selfrefo(:, 2) = (/ & & 1.40051e-01_rb, 1.20785e-01_rb, 1.04170e-01_rb, 8.98402e-02_rb, 7.74816e-02_rb, & & 6.68231e-02_rb, 5.76308e-02_rb, 4.97030e-02_rb, 4.28658e-02_rb, 3.69691e-02_rb/) selfrefo(:, 3) = (/ & & 1.42322e-01_rb, 1.22872e-01_rb, 1.06080e-01_rb, 9.15829e-02_rb, 7.90671e-02_rb, & & 6.82616e-02_rb, 5.89329e-02_rb, 5.08790e-02_rb, 4.39258e-02_rb, 3.79228e-02_rb/) selfrefo(:, 4) = (/ & & 1.53244e-01_rb, 1.33057e-01_rb, 1.15530e-01_rb, 1.00311e-01_rb, 8.70977e-02_rb, & & 7.56244e-02_rb, 6.56626e-02_rb, 5.70130e-02_rb, 4.95028e-02_rb, 4.29819e-02_rb/) selfrefo(:, 5) = (/ & & 1.71011e-01_rb, 1.46680e-01_rb, 1.25810e-01_rb, 1.07910e-01_rb, 9.25563e-02_rb, & & 7.93874e-02_rb, 6.80922e-02_rb, 5.84040e-02_rb, 5.00943e-02_rb, 4.29669e-02_rb/) selfrefo(:, 6) = (/ & & 1.76012e-01_rb, 1.51010e-01_rb, 1.29560e-01_rb, 1.11157e-01_rb, 9.53672e-02_rb, & & 8.18207e-02_rb, 7.01984e-02_rb, 6.02270e-02_rb, 5.16720e-02_rb, 4.43322e-02_rb/) selfrefo(:, 7) = (/ & & 1.85600e-01_rb, 1.59051e-01_rb, 1.36300e-01_rb, 1.16803e-01_rb, 1.00095e-01_rb, & & 8.57776e-02_rb, 7.35077e-02_rb, 6.29930e-02_rb, 5.39823e-02_rb, 4.62606e-02_rb/) selfrefo(:, 8) = (/ & & 1.88931e-01_rb, 1.61727e-01_rb, 1.38440e-01_rb, 1.18506e-01_rb, 1.01442e-01_rb, & & 8.68356e-02_rb, 7.43321e-02_rb, 6.36290e-02_rb, 5.44670e-02_rb, 4.66243e-02_rb/) selfrefo(:, 9) = (/ & & 1.91122e-01_rb, 1.63407e-01_rb, 1.39710e-01_rb, 1.19450e-01_rb, 1.02128e-01_rb, & & 8.73176e-02_rb, 7.46552e-02_rb, 6.38290e-02_rb, 5.45728e-02_rb, 4.66589e-02_rb/) selfrefo(:,10) = (/ & & 1.91334e-01_rb, 1.64872e-01_rb, 1.42070e-01_rb, 1.22421e-01_rb, 1.05490e-01_rb, & & 9.09008e-02_rb, 7.83291e-02_rb, 6.74960e-02_rb, 5.81612e-02_rb, 5.01174e-02_rb/) selfrefo(:,11) = (/ & & 1.89858e-01_rb, 1.63934e-01_rb, 1.41550e-01_rb, 1.22222e-01_rb, 1.05534e-01_rb, & & 9.11237e-02_rb, 7.86814e-02_rb, 6.79380e-02_rb, 5.86615e-02_rb, 5.06517e-02_rb/) selfrefo(:,12) = (/ & & 1.89783e-01_rb, 1.63757e-01_rb, 1.41300e-01_rb, 1.21923e-01_rb, 1.05203e-01_rb, & & 9.07760e-02_rb, 7.83274e-02_rb, 6.75860e-02_rb, 5.83176e-02_rb, 5.03202e-02_rb/) selfrefo(:,13) = (/ & & 1.87534e-01_rb, 1.62016e-01_rb, 1.39970e-01_rb, 1.20924e-01_rb, 1.04470e-01_rb, & & 9.02541e-02_rb, 7.79730e-02_rb, 6.73630e-02_rb, 5.81967e-02_rb, 5.02778e-02_rb/) selfrefo(:,14) = (/ & & 1.99128e-01_rb, 1.71410e-01_rb, 1.47550e-01_rb, 1.27011e-01_rb, 1.09332e-01_rb, & & 9.41131e-02_rb, 8.10128e-02_rb, 6.97360e-02_rb, 6.00289e-02_rb, 5.16731e-02_rb/) selfrefo(:,15) = (/ & & 1.99460e-01_rb, 1.72342e-01_rb, 1.48910e-01_rb, 1.28664e-01_rb, 1.11171e-01_rb, & & 9.60560e-02_rb, 8.29962e-02_rb, 7.17120e-02_rb, 6.19620e-02_rb, 5.35376e-02_rb/) selfrefo(:,16) = (/ & & 1.99906e-01_rb, 1.72737e-01_rb, 1.49260e-01_rb, 1.28974e-01_rb, 1.11445e-01_rb, & & 9.62982e-02_rb, 8.32102e-02_rb, 7.19010e-02_rb, 6.21288e-02_rb, 5.36848e-02_rb/) end subroutine lw_kgb05 ! ************************************************************************** subroutine lw_kgb06 ! ************************************************************************** use parkind, only : im => kind_im, rb => kind_rb use rrlw_kg06, only : fracrefao, kao, kao_mco2, selfrefo, forrefo, & cfc11adjo, cfc12o implicit none save ! Planck fraction mapping level : P = 473.4280 mb, T = 259.83 K fracrefao(:) = (/ & & 1.4353e-01_rb,1.4774e-01_rb,1.4467e-01_rb,1.3785e-01_rb,1.2376e-01_rb,1.0214e-01_rb, & & 8.1984e-02_rb,6.1152e-02_rb,4.0987e-02_rb,4.5067e-03_rb,4.0020e-03_rb,3.1772e-03_rb, & & 2.3458e-03_rb,1.5025e-03_rb,5.7415e-04_rb,8.2970e-05_rb/) ! Minor gas mapping level: ! lower - co2, p = 706.2720 mb, t = 294.2 k ! upper - cfc11, cfc12 ! cfc11(:) = (/ & ! & 0., 0., 26.5435, 108.850, & ! & 58.7804, 54.0875, 41.1065, 35.6120, & ! & 41.2328, 47.7402, 79.1026, 64.3005, & ! & 108.206, 141.617, 186.565, 58.4782/) ! Original cfc11 is multiplied by 1.385 to account for the 1060-1107 cm-1 band. cfc11adjo(:) = (/ & & 0._rb, 0._rb, 36.7627_rb, 150.757_rb, & & 81.4109_rb, 74.9112_rb, 56.9325_rb, 49.3226_rb, & & 57.1074_rb, 66.1202_rb, 109.557_rb, 89.0562_rb, & & 149.865_rb, 196.140_rb, 258.393_rb, 80.9923_rb/) cfc12o(:) = (/ & & 62.8368_rb, 43.2626_rb, 26.7549_rb, 22.2487_rb, & & 23.5029_rb, 34.8323_rb, 26.2335_rb, 23.2306_rb, & & 18.4062_rb, 13.9534_rb, 22.6268_rb, 24.2604_rb, & & 30.0088_rb, 26.3634_rb, 15.8237_rb, 57.5050_rb/) ! The array KAO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels > ~100mb and temperatures. The first ! index in the array, JT, which runs from 1 to 5, corresponds to ! different temperatures. More specifically, JT = 3 means that the ! data are for the corresponding TREF for this pressure level, ! JT = 2 refers to the temperatureTREF-15, JT = 1 is for TREF-30, ! JT = 4 is for TREF+15, and JT = 5 is for TREF+30. The second ! index, JP, runs from 1 to 13 and refers to the corresponding ! pressure level in PREF (e.g. JP = 1 is for a pressure of 1053.63 mb). ! The third index, IG, goes from 1 to 16, and tells us which ! g-interval the absorption coefficients are for. kao(:, 1, 1) = (/ & &1.5108e-05_rb,1.6223e-05_rb,1.5899e-05_rb,1.5254e-05_rb,1.4889e-05_rb/) kao(:, 2, 1) = (/ & &1.0690e-05_rb,1.0800e-05_rb,1.0568e-05_rb,1.0057e-05_rb,9.4945e-06_rb/) kao(:, 3, 1) = (/ & &6.1072e-06_rb,5.8741e-06_rb,5.6796e-06_rb,5.3664e-06_rb,5.4934e-06_rb/) kao(:, 4, 1) = (/ & &3.0372e-06_rb,2.9964e-06_rb,2.6541e-06_rb,2.8791e-06_rb,3.9638e-06_rb/) kao(:, 5, 1) = (/ & &1.4777e-06_rb,1.4916e-06_rb,1.4819e-06_rb,2.2264e-06_rb,3.3268e-06_rb/) kao(:, 6, 1) = (/ & &7.4936e-07_rb,7.2240e-07_rb,1.1518e-06_rb,1.7724e-06_rb,2.8203e-06_rb/) kao(:, 7, 1) = (/ & &3.4904e-07_rb,5.1177e-07_rb,8.8489e-07_rb,1.5219e-06_rb,2.2871e-06_rb/) kao(:, 8, 1) = (/ & &2.1072e-07_rb,4.5257e-07_rb,7.4214e-07_rb,1.2628e-06_rb,1.9840e-06_rb/) kao(:, 9, 1) = (/ & &2.1779e-07_rb,4.8639e-07_rb,8.1133e-07_rb,1.3719e-06_rb,2.1663e-06_rb/) kao(:,10, 1) = (/ & &2.5134e-07_rb,5.9583e-07_rb,1.0449e-06_rb,1.5899e-06_rb,2.7441e-06_rb/) kao(:,11, 1) = (/ & &2.9178e-07_rb,6.5749e-07_rb,1.0958e-06_rb,1.7834e-06_rb,3.1413e-06_rb/) kao(:,12, 1) = (/ & &2.7268e-07_rb,6.1470e-07_rb,1.0270e-06_rb,1.7566e-06_rb,3.0441e-06_rb/) kao(:,13, 1) = (/ & &2.2995e-07_rb,5.2185e-07_rb,8.7916e-07_rb,1.4999e-06_rb,2.5740e-06_rb/) kao(:, 1, 2) = (/ & &2.1301e-05_rb,2.3060e-05_rb,2.1909e-05_rb,2.0972e-05_rb,2.1772e-05_rb/) kao(:, 2, 2) = (/ & &1.4382e-05_rb,1.4147e-05_rb,1.4339e-05_rb,1.3679e-05_rb,1.6973e-05_rb/) kao(:, 3, 2) = (/ & &8.0559e-06_rb,8.4180e-06_rb,7.4096e-06_rb,9.3490e-06_rb,1.0824e-05_rb/) kao(:, 4, 2) = (/ & &4.3614e-06_rb,3.9657e-06_rb,5.1299e-06_rb,6.1754e-06_rb,8.2925e-06_rb/) kao(:, 5, 2) = (/ & &2.2350e-06_rb,2.3231e-06_rb,3.3297e-06_rb,4.8612e-06_rb,6.5883e-06_rb/) kao(:, 6, 2) = (/ & &1.0863e-06_rb,1.7510e-06_rb,2.4185e-06_rb,3.5854e-06_rb,5.1511e-06_rb/) kao(:, 7, 2) = (/ & &7.6749e-07_rb,1.2024e-06_rb,1.9782e-06_rb,2.7223e-06_rb,4.2604e-06_rb/) kao(:, 8, 2) = (/ & &6.8738e-07_rb,9.7505e-07_rb,1.6738e-06_rb,2.4371e-06_rb,3.9386e-06_rb/) kao(:, 9, 2) = (/ & &7.3668e-07_rb,1.0167e-06_rb,1.9026e-06_rb,3.0451e-06_rb,5.0060e-06_rb/) kao(:,10, 2) = (/ & &9.8863e-07_rb,1.5373e-06_rb,2.5876e-06_rb,4.8975e-06_rb,7.8206e-06_rb/) kao(:,11, 2) = (/ & &1.0934e-06_rb,1.6488e-06_rb,2.7961e-06_rb,5.2441e-06_rb,8.5410e-06_rb/) kao(:,12, 2) = (/ & &1.0277e-06_rb,1.5126e-06_rb,2.6342e-06_rb,4.9122e-06_rb,8.0730e-06_rb/) kao(:,13, 2) = (/ & &8.7381e-07_rb,1.2665e-06_rb,2.2835e-06_rb,4.2048e-06_rb,6.9189e-06_rb/) kao(:, 1, 3) = (/ & &2.3993e-05_rb,2.2308e-05_rb,2.5893e-05_rb,3.3883e-05_rb,3.8280e-05_rb/) kao(:, 2, 3) = (/ & &1.4011e-05_rb,1.4296e-05_rb,2.1223e-05_rb,2.4417e-05_rb,2.7881e-05_rb/) kao(:, 3, 3) = (/ & &7.3965e-06_rb,9.9180e-06_rb,1.3735e-05_rb,1.4536e-05_rb,1.8056e-05_rb/) kao(:, 4, 3) = (/ & &4.5365e-06_rb,7.0513e-06_rb,7.2165e-06_rb,9.8585e-06_rb,1.1890e-05_rb/) kao(:, 5, 3) = (/ & &3.8953e-06_rb,4.3626e-06_rb,5.3805e-06_rb,6.6118e-06_rb,9.5204e-06_rb/) kao(:, 6, 3) = (/ & &2.4692e-06_rb,2.6620e-06_rb,3.5833e-06_rb,5.1748e-06_rb,7.8116e-06_rb/) kao(:, 7, 3) = (/ & &1.4531e-06_rb,2.0753e-06_rb,2.7794e-06_rb,4.8340e-06_rb,7.5049e-06_rb/) kao(:, 8, 3) = (/ & &8.9161e-07_rb,1.6554e-06_rb,2.7945e-06_rb,4.7401e-06_rb,7.3008e-06_rb/) kao(:, 9, 3) = (/ & &1.1556e-06_rb,2.3050e-06_rb,3.6767e-06_rb,6.4276e-06_rb,1.0393e-05_rb/) kao(:,10, 3) = (/ & &1.3936e-06_rb,2.7867e-06_rb,4.8066e-06_rb,7.9343e-06_rb,1.4027e-05_rb/) kao(:,11, 3) = (/ & &1.4469e-06_rb,3.0966e-06_rb,5.3467e-06_rb,9.2496e-06_rb,1.6488e-05_rb/) kao(:,12, 3) = (/ & &1.3797e-06_rb,2.9577e-06_rb,5.1784e-06_rb,9.2835e-06_rb,1.6169e-05_rb/) kao(:,13, 3) = (/ & &1.1793e-06_rb,2.5194e-06_rb,4.4903e-06_rb,8.2145e-06_rb,1.4209e-05_rb/) kao(:, 1, 4) = (/ & &4.3371e-05_rb,4.2284e-05_rb,4.2569e-05_rb,4.5333e-05_rb,4.9887e-05_rb/) kao(:, 2, 4) = (/ & &2.7836e-05_rb,3.0742e-05_rb,2.5159e-05_rb,3.1058e-05_rb,3.3502e-05_rb/) kao(:, 3, 4) = (/ & &1.5959e-05_rb,1.5689e-05_rb,1.8607e-05_rb,1.9311e-05_rb,2.2949e-05_rb/) kao(:, 4, 4) = (/ & &9.4357e-06_rb,8.9581e-06_rb,1.1706e-05_rb,1.2462e-05_rb,1.9504e-05_rb/) kao(:, 5, 4) = (/ & &4.6991e-06_rb,5.9565e-06_rb,7.1131e-06_rb,1.0656e-05_rb,1.6961e-05_rb/) kao(:, 6, 4) = (/ & &2.9104e-06_rb,3.9977e-06_rb,5.8385e-06_rb,9.8483e-06_rb,1.4910e-05_rb/) kao(:, 7, 4) = (/ & &2.0404e-06_rb,2.7360e-06_rb,5.0537e-06_rb,8.2979e-06_rb,1.2550e-05_rb/) kao(:, 8, 4) = (/ & &1.7124e-06_rb,2.7023e-06_rb,4.6383e-06_rb,7.6524e-06_rb,1.2059e-05_rb/) kao(:, 9, 4) = (/ & &1.7855e-06_rb,3.1326e-06_rb,5.8535e-06_rb,9.7627e-06_rb,1.5447e-05_rb/) kao(:,10, 4) = (/ & &2.2188e-06_rb,4.3098e-06_rb,8.7192e-06_rb,1.5363e-05_rb,2.4174e-05_rb/) kao(:,11, 4) = (/ & &2.5395e-06_rb,4.8780e-06_rb,1.0119e-05_rb,1.6942e-05_rb,2.6266e-05_rb/) kao(:,12, 4) = (/ & &2.4951e-06_rb,4.8859e-06_rb,9.7649e-06_rb,1.6137e-05_rb,2.5091e-05_rb/) kao(:,13, 4) = (/ & &2.2608e-06_rb,4.4391e-06_rb,8.5101e-06_rb,1.3874e-05_rb,2.1718e-05_rb/) kao(:, 1, 5) = (/ & &3.5802e-05_rb,4.9569e-05_rb,5.6081e-05_rb,5.4456e-05_rb,6.1620e-05_rb/) kao(:, 2, 5) = (/ & &2.7431e-05_rb,3.7092e-05_rb,4.0464e-05_rb,4.0603e-05_rb,5.2992e-05_rb/) kao(:, 3, 5) = (/ & &1.6511e-05_rb,2.1182e-05_rb,1.9952e-05_rb,2.9271e-05_rb,4.8230e-05_rb/) kao(:, 4, 5) = (/ & &1.1211e-05_rb,1.2922e-05_rb,1.4441e-05_rb,2.5935e-05_rb,3.8342e-05_rb/) kao(:, 5, 5) = (/ & &7.1937e-06_rb,7.6149e-06_rb,1.2471e-05_rb,2.1334e-05_rb,3.0465e-05_rb/) kao(:, 6, 5) = (/ & &4.6613e-06_rb,5.5104e-06_rb,1.0664e-05_rb,1.6922e-05_rb,2.4802e-05_rb/) kao(:, 7, 5) = (/ & &2.6908e-06_rb,5.1362e-06_rb,9.2865e-06_rb,1.4719e-05_rb,2.2004e-05_rb/) kao(:, 8, 5) = (/ & &2.4192e-06_rb,4.7977e-06_rb,8.6605e-06_rb,1.4122e-05_rb,2.1533e-05_rb/) kao(:, 9, 5) = (/ & &2.6505e-06_rb,5.2138e-06_rb,9.6090e-06_rb,1.6493e-05_rb,2.6941e-05_rb/) kao(:,10, 5) = (/ & &3.8793e-06_rb,7.0191e-06_rb,1.2677e-05_rb,2.2456e-05_rb,3.8574e-05_rb/) kao(:,11, 5) = (/ & &4.3385e-06_rb,8.1555e-06_rb,1.4661e-05_rb,2.7034e-05_rb,4.5538e-05_rb/) kao(:,12, 5) = (/ & &4.4806e-06_rb,8.0941e-06_rb,1.5170e-05_rb,2.7140e-05_rb,4.7747e-05_rb/) kao(:,13, 5) = (/ & &4.0859e-06_rb,7.4306e-06_rb,1.3915e-05_rb,2.5201e-05_rb,4.3638e-05_rb/) kao(:, 1, 6) = (/ & &6.3502e-05_rb,6.1626e-05_rb,6.7874e-05_rb,7.9926e-05_rb,1.4827e-04_rb/) kao(:, 2, 6) = (/ & &4.2546e-05_rb,3.3547e-05_rb,4.0025e-05_rb,7.0944e-05_rb,1.2242e-04_rb/) kao(:, 3, 6) = (/ & &2.4414e-05_rb,2.4466e-05_rb,3.6681e-05_rb,6.7397e-05_rb,9.7673e-05_rb/) kao(:, 4, 6) = (/ & &1.1878e-05_rb,1.6683e-05_rb,3.4310e-05_rb,5.3734e-05_rb,7.4953e-05_rb/) kao(:, 5, 6) = (/ & &8.0437e-06_rb,1.5133e-05_rb,2.7743e-05_rb,4.0147e-05_rb,5.6233e-05_rb/) kao(:, 6, 6) = (/ & &6.1550e-06_rb,1.2316e-05_rb,1.9945e-05_rb,3.0529e-05_rb,4.5113e-05_rb/) kao(:, 7, 6) = (/ & &4.8891e-06_rb,9.6377e-06_rb,1.6338e-05_rb,2.4863e-05_rb,3.7137e-05_rb/) kao(:, 8, 6) = (/ & &4.3692e-06_rb,8.7526e-06_rb,1.4669e-05_rb,2.2987e-05_rb,3.5150e-05_rb/) kao(:, 9, 6) = (/ & &5.3838e-06_rb,1.0727e-05_rb,1.8376e-05_rb,3.0485e-05_rb,4.8603e-05_rb/) kao(:,10, 6) = (/ & &6.7708e-06_rb,1.4529e-05_rb,2.6810e-05_rb,4.7617e-05_rb,7.8536e-05_rb/) kao(:,11, 6) = (/ & &8.3666e-06_rb,1.7190e-05_rb,3.3330e-05_rb,5.7837e-05_rb,9.5886e-05_rb/) kao(:,12, 6) = (/ & &8.6264e-06_rb,1.8503e-05_rb,3.4797e-05_rb,6.1435e-05_rb,1.0046e-04_rb/) kao(:,13, 6) = (/ & &8.2669e-06_rb,1.8055e-05_rb,3.3739e-05_rb,5.7805e-05_rb,9.4677e-05_rb/) kao(:, 1, 7) = (/ & &5.0894e-05_rb,6.7019e-05_rb,1.1702e-04_rb,2.4649e-04_rb,3.5046e-04_rb/) kao(:, 2, 7) = (/ & &4.3304e-05_rb,4.9708e-05_rb,1.0701e-04_rb,1.8228e-04_rb,2.5635e-04_rb/) kao(:, 3, 7) = (/ & &2.6855e-05_rb,4.5972e-05_rb,9.9426e-05_rb,1.4867e-04_rb,2.0722e-04_rb/) kao(:, 4, 7) = (/ & &2.0223e-05_rb,4.9973e-05_rb,8.2293e-05_rb,1.1822e-04_rb,1.6484e-04_rb/) kao(:, 5, 7) = (/ & &1.8923e-05_rb,4.1445e-05_rb,6.4003e-05_rb,9.2899e-05_rb,1.3171e-04_rb/) kao(:, 6, 7) = (/ & &1.5326e-05_rb,3.0718e-05_rb,4.7457e-05_rb,6.8025e-05_rb,9.5982e-05_rb/) kao(:, 7, 7) = (/ & &1.2448e-05_rb,2.1715e-05_rb,3.2987e-05_rb,4.9690e-05_rb,7.5010e-05_rb/) kao(:, 8, 7) = (/ & &1.0066e-05_rb,1.7102e-05_rb,2.7164e-05_rb,4.3976e-05_rb,6.9078e-05_rb/) kao(:, 9, 7) = (/ & &1.1685e-05_rb,2.0037e-05_rb,3.5620e-05_rb,5.8499e-05_rb,9.0997e-05_rb/) kao(:,10, 7) = (/ & &1.5861e-05_rb,2.8659e-05_rb,5.0802e-05_rb,8.4995e-05_rb,1.3698e-04_rb/) kao(:,11, 7) = (/ & &2.1379e-05_rb,3.8980e-05_rb,6.8341e-05_rb,1.1084e-04_rb,1.6745e-04_rb/) kao(:,12, 7) = (/ & &2.2487e-05_rb,4.0976e-05_rb,7.1749e-05_rb,1.1325e-04_rb,1.7051e-04_rb/) kao(:,13, 7) = (/ & &2.0952e-05_rb,3.7773e-05_rb,6.5636e-05_rb,1.0928e-04_rb,1.6488e-04_rb/) kao(:, 1, 8) = (/ & &1.0722e-04_rb,2.7983e-04_rb,4.9965e-04_rb,7.0430e-04_rb,9.5168e-04_rb/) kao(:, 2, 8) = (/ & &9.2566e-05_rb,2.4429e-04_rb,3.9143e-04_rb,5.5037e-04_rb,7.4482e-04_rb/) kao(:, 3, 8) = (/ & &8.2611e-05_rb,1.7009e-04_rb,2.5121e-04_rb,3.5806e-04_rb,4.9588e-04_rb/) kao(:, 4, 8) = (/ & &7.9199e-05_rb,1.3718e-04_rb,2.0767e-04_rb,3.0111e-04_rb,4.2301e-04_rb/) kao(:, 5, 8) = (/ & &6.6965e-05_rb,1.0994e-04_rb,1.6780e-04_rb,2.4484e-04_rb,3.4718e-04_rb/) kao(:, 6, 8) = (/ & &5.1557e-05_rb,8.4788e-05_rb,1.3259e-04_rb,1.9727e-04_rb,2.8537e-04_rb/) kao(:, 7, 8) = (/ & &3.8653e-05_rb,6.5013e-05_rb,1.0364e-04_rb,1.5866e-04_rb,2.2830e-04_rb/) kao(:, 8, 8) = (/ & &2.8949e-05_rb,4.9620e-05_rb,8.2718e-05_rb,1.3000e-04_rb,1.9256e-04_rb/) kao(:, 9, 8) = (/ & &2.6449e-05_rb,4.6951e-05_rb,7.7311e-05_rb,1.2263e-04_rb,1.9501e-04_rb/) kao(:,10, 8) = (/ & &4.1706e-05_rb,7.2947e-05_rb,1.1853e-04_rb,1.7821e-04_rb,2.7161e-04_rb/) kao(:,11, 8) = (/ & &4.6073e-05_rb,7.9291e-05_rb,1.2399e-04_rb,2.0469e-04_rb,3.0165e-04_rb/) kao(:,12, 8) = (/ & &4.9634e-05_rb,8.1819e-05_rb,1.2723e-04_rb,2.1479e-04_rb,3.2406e-04_rb/) kao(:,13, 8) = (/ & &4.8914e-05_rb,8.2845e-05_rb,1.3095e-04_rb,2.1611e-04_rb,3.1389e-04_rb/) kao(:, 1, 9) = (/ & &7.8561e-04_rb,1.1643e-03_rb,1.6394e-03_rb,2.2582e-03_rb,3.0560e-03_rb/) kao(:, 2, 9) = (/ & &6.6025e-04_rb,9.8571e-04_rb,1.4034e-03_rb,1.9479e-03_rb,2.6634e-03_rb/) kao(:, 3, 9) = (/ & &5.1307e-04_rb,7.6204e-04_rb,1.0925e-03_rb,1.5312e-03_rb,2.1163e-03_rb/) kao(:, 4, 9) = (/ & &3.4762e-04_rb,5.0219e-04_rb,7.2255e-04_rb,1.0302e-03_rb,1.4514e-03_rb/) kao(:, 5, 9) = (/ & &2.1712e-04_rb,3.4419e-04_rb,5.2965e-04_rb,7.8732e-04_rb,1.1464e-03_rb/) kao(:, 6, 9) = (/ & &1.8112e-04_rb,2.9769e-04_rb,4.6916e-04_rb,7.0360e-04_rb,1.0307e-03_rb/) kao(:, 7, 9) = (/ & &1.5449e-04_rb,2.5935e-04_rb,4.1089e-04_rb,6.2682e-04_rb,9.3587e-04_rb/) kao(:, 8, 9) = (/ & &1.4056e-04_rb,2.4062e-04_rb,3.8562e-04_rb,5.9348e-04_rb,8.8749e-04_rb/) kao(:, 9, 9) = (/ & &1.4311e-04_rb,2.5683e-04_rb,4.3997e-04_rb,6.9753e-04_rb,1.0500e-03_rb/) kao(:,10, 9) = (/ & &1.3733e-04_rb,2.3478e-04_rb,3.4047e-04_rb,4.8048e-04_rb,6.5263e-04_rb/) kao(:,11, 9) = (/ & &1.3199e-04_rb,1.9086e-04_rb,2.6427e-04_rb,3.3652e-04_rb,4.6218e-04_rb/) kao(:,12, 9) = (/ & &1.2421e-04_rb,1.8123e-04_rb,2.4759e-04_rb,3.0949e-04_rb,4.1038e-04_rb/) kao(:,13, 9) = (/ & &1.2135e-04_rb,1.9021e-04_rb,2.6678e-04_rb,3.4185e-04_rb,4.8239e-04_rb/) kao(:, 1,10) = (/ & &2.0319e-03_rb,2.8954e-03_rb,4.0208e-03_rb,5.4666e-03_rb,7.2307e-03_rb/) kao(:, 2,10) = (/ & &1.8594e-03_rb,2.6055e-03_rb,3.5896e-03_rb,4.9149e-03_rb,6.5643e-03_rb/) kao(:, 3,10) = (/ & &1.4858e-03_rb,2.1438e-03_rb,3.0067e-03_rb,4.1237e-03_rb,5.5345e-03_rb/) kao(:, 4,10) = (/ & &1.1237e-03_rb,1.6648e-03_rb,2.4078e-03_rb,3.3725e-03_rb,4.5628e-03_rb/) kao(:, 5,10) = (/ & &8.5681e-04_rb,1.0371e-03_rb,1.2665e-03_rb,1.6242e-03_rb,2.0962e-03_rb/) kao(:, 6,10) = (/ & &4.1878e-04_rb,6.5245e-04_rb,8.8673e-04_rb,1.4273e-03_rb,2.1165e-03_rb/) kao(:, 7,10) = (/ & &4.0657e-04_rb,6.7784e-04_rb,1.0299e-03_rb,1.5982e-03_rb,2.4416e-03_rb/) kao(:, 8,10) = (/ & &3.7189e-04_rb,6.5876e-04_rb,1.1259e-03_rb,1.8690e-03_rb,2.8514e-03_rb/) kao(:, 9,10) = (/ & &4.4113e-04_rb,8.4598e-04_rb,1.1991e-03_rb,1.8860e-03_rb,2.5835e-03_rb/) kao(:,10,10) = (/ & &1.8203e-04_rb,4.6909e-06_rb,8.8196e-06_rb,8.3149e-05_rb,1.6489e-04_rb/) kao(:,11,10) = (/ & &2.4843e-06_rb,5.0211e-06_rb,4.0342e-05_rb,1.0733e-04_rb,1.3735e-04_rb/) kao(:,12,10) = (/ & &2.2109e-06_rb,4.6775e-06_rb,6.3563e-05_rb,8.8385e-05_rb,1.1814e-04_rb/) kao(:,13,10) = (/ & &1.0306e-04_rb,2.9167e-05_rb,5.8184e-05_rb,8.2616e-05_rb,1.2141e-04_rb/) kao(:, 1,11) = (/ & &2.6851e-03_rb,3.8621e-03_rb,5.3296e-03_rb,7.1411e-03_rb,9.4750e-03_rb/) kao(:, 2,11) = (/ & &2.4213e-03_rb,3.4979e-03_rb,4.8929e-03_rb,6.6432e-03_rb,8.8031e-03_rb/) kao(:, 3,11) = (/ & &2.0817e-03_rb,2.9708e-03_rb,4.1510e-03_rb,5.7232e-03_rb,7.7624e-03_rb/) kao(:, 4,11) = (/ & &1.6627e-03_rb,2.4521e-03_rb,3.4576e-03_rb,4.7721e-03_rb,6.5543e-03_rb/) kao(:, 5,11) = (/ & &1.2664e-03_rb,1.9577e-03_rb,2.8702e-03_rb,4.0767e-03_rb,5.5807e-03_rb/) kao(:, 6,11) = (/ & &6.5451e-04_rb,7.6752e-04_rb,1.2109e-03_rb,1.8526e-03_rb,2.8298e-03_rb/) kao(:, 7,11) = (/ & &4.8621e-04_rb,7.7329e-04_rb,1.3520e-03_rb,2.1779e-03_rb,3.1034e-03_rb/) kao(:, 8,11) = (/ & &4.3573e-04_rb,8.1759e-04_rb,1.5409e-03_rb,2.1798e-03_rb,3.1170e-03_rb/) kao(:, 9,11) = (/ & &5.3220e-04_rb,6.5242e-04_rb,1.0365e-03_rb,8.6351e-04_rb,8.5932e-04_rb/) kao(:,10,11) = (/ & &4.1711e-06_rb,8.9963e-06_rb,1.7277e-05_rb,3.1054e-05_rb,5.1955e-05_rb/) kao(:,11,11) = (/ & &4.2641e-06_rb,9.2786e-06_rb,1.7917e-05_rb,3.2294e-05_rb,1.1099e-04_rb/) kao(:,12,11) = (/ & &4.4244e-06_rb,9.4799e-06_rb,1.8618e-05_rb,7.5019e-05_rb,1.5478e-04_rb/) kao(:,13,11) = (/ & &4.4439e-06_rb,9.5554e-06_rb,3.7663e-05_rb,9.5587e-05_rb,1.4453e-04_rb/) kao(:, 1,12) = (/ & &3.5676e-03_rb,4.9715e-03_rb,6.8023e-03_rb,9.2475e-03_rb,1.2425e-02_rb/) kao(:, 2,12) = (/ & &3.3730e-03_rb,4.7958e-03_rb,6.6635e-03_rb,9.0736e-03_rb,1.2194e-02_rb/) kao(:, 3,12) = (/ & &2.8824e-03_rb,4.1856e-03_rb,5.9756e-03_rb,8.2464e-03_rb,1.1067e-02_rb/) kao(:, 4,12) = (/ & &2.4288e-03_rb,3.5141e-03_rb,5.0677e-03_rb,7.1261e-03_rb,9.7127e-03_rb/) kao(:, 5,12) = (/ & &1.9807e-03_rb,2.9284e-03_rb,4.2016e-03_rb,5.9142e-03_rb,8.1484e-03_rb/) kao(:, 6,12) = (/ & &1.4728e-03_rb,2.2453e-03_rb,3.0533e-03_rb,3.8340e-03_rb,4.6395e-03_rb/) kao(:, 7,12) = (/ & &5.6245e-04_rb,9.9265e-04_rb,1.6138e-03_rb,2.6180e-03_rb,3.5983e-03_rb/) kao(:, 8,12) = (/ & &5.6232e-04_rb,1.0725e-03_rb,1.5736e-03_rb,2.7015e-03_rb,4.5325e-03_rb/) kao(:, 9,12) = (/ & &3.8503e-04_rb,4.5325e-04_rb,3.4069e-05_rb,5.9217e-05_rb,9.6016e-05_rb/) kao(:,10,12) = (/ & &6.7276e-06_rb,1.4849e-05_rb,2.8992e-05_rb,5.2371e-05_rb,8.7139e-05_rb/) kao(:,11,12) = (/ & &7.7381e-06_rb,1.7002e-05_rb,3.3523e-05_rb,6.0232e-05_rb,1.0004e-04_rb/) kao(:,12,12) = (/ & &8.5790e-06_rb,1.9107e-05_rb,3.7746e-05_rb,6.8157e-05_rb,1.1211e-04_rb/) kao(:,13,12) = (/ & &9.3399e-06_rb,2.1875e-05_rb,4.3407e-05_rb,7.7729e-05_rb,1.5956e-04_rb/) kao(:, 1,13) = (/ & &4.3788e-03_rb,6.3181e-03_rb,8.9543e-03_rb,1.2364e-02_rb,1.6648e-02_rb/) kao(:, 2,13) = (/ & &4.4160e-03_rb,6.2758e-03_rb,8.7769e-03_rb,1.2121e-02_rb,1.6531e-02_rb/) kao(:, 3,13) = (/ & &3.9967e-03_rb,5.8737e-03_rb,8.1369e-03_rb,1.1188e-02_rb,1.5344e-02_rb/) kao(:, 4,13) = (/ & &3.4004e-03_rb,5.1547e-03_rb,7.3735e-03_rb,1.0182e-02_rb,1.3939e-02_rb/) kao(:, 5,13) = (/ & &2.9021e-03_rb,4.3823e-03_rb,6.4495e-03_rb,9.1509e-03_rb,1.2669e-02_rb/) kao(:, 6,13) = (/ & &2.4396e-03_rb,3.6407e-03_rb,5.2497e-03_rb,7.5439e-03_rb,1.0675e-02_rb/) kao(:, 7,13) = (/ & &1.5932e-03_rb,1.8719e-03_rb,2.2033e-03_rb,2.5091e-03_rb,4.1046e-03_rb/) kao(:, 8,13) = (/ & &8.1439e-04_rb,1.2125e-03_rb,1.8190e-03_rb,2.8987e-03_rb,3.6148e-03_rb/) kao(:, 9,13) = (/ & &2.9962e-04_rb,2.5888e-05_rb,4.6085e-05_rb,7.7045e-05_rb,1.2285e-04_rb/) kao(:,10,13) = (/ & &9.2091e-06_rb,1.8817e-05_rb,3.5290e-05_rb,6.2611e-05_rb,1.0050e-04_rb/) kao(:,11,13) = (/ & &8.8922e-06_rb,1.8844e-05_rb,3.7039e-05_rb,6.5193e-05_rb,1.0998e-04_rb/) kao(:,12,13) = (/ & &9.1227e-06_rb,2.0282e-05_rb,3.9304e-05_rb,7.0536e-05_rb,1.1697e-04_rb/) kao(:,13,13) = (/ & &9.3384e-06_rb,2.0460e-05_rb,4.0361e-05_rb,7.2805e-05_rb,1.1815e-04_rb/) kao(:, 1,14) = (/ & &5.8176e-03_rb,8.5593e-03_rb,1.2130e-02_rb,1.6770e-02_rb,2.2682e-02_rb/) kao(:, 2,14) = (/ & &5.7661e-03_rb,8.5728e-03_rb,1.2312e-02_rb,1.7131e-02_rb,2.3220e-02_rb/) kao(:, 3,14) = (/ & &5.4299e-03_rb,7.9187e-03_rb,1.1613e-02_rb,1.6480e-02_rb,2.2670e-02_rb/) kao(:, 4,14) = (/ & &4.9805e-03_rb,7.1731e-03_rb,1.0470e-02_rb,1.5114e-02_rb,2.1203e-02_rb/) kao(:, 5,14) = (/ & &4.4098e-03_rb,6.5055e-03_rb,9.4518e-03_rb,1.3613e-02_rb,1.9313e-02_rb/) kao(:, 6,14) = (/ & &3.7762e-03_rb,5.6862e-03_rb,8.4288e-03_rb,1.2169e-02_rb,1.7260e-02_rb/) kao(:, 7,14) = (/ & &3.2464e-03_rb,4.8124e-03_rb,6.8092e-03_rb,9.1900e-03_rb,1.1370e-02_rb/) kao(:, 8,14) = (/ & &1.1521e-03_rb,1.1423e-03_rb,1.7687e-03_rb,1.5659e-03_rb,2.2329e-03_rb/) kao(:, 9,14) = (/ & &1.9075e-05_rb,4.4531e-05_rb,8.9053e-05_rb,1.1868e-04_rb,1.6905e-04_rb/) kao(:,10,14) = (/ & &1.1271e-05_rb,2.8156e-05_rb,6.0244e-05_rb,8.6340e-05_rb,1.3123e-04_rb/) kao(:,11,14) = (/ & &1.1591e-05_rb,2.8030e-05_rb,4.8484e-05_rb,7.4281e-05_rb,1.1022e-04_rb/) kao(:,12,14) = (/ & &1.1274e-05_rb,2.5700e-05_rb,4.0234e-05_rb,6.2656e-05_rb,9.8261e-05_rb/) kao(:,13,14) = (/ & &1.0130e-05_rb,1.8686e-05_rb,3.2466e-05_rb,5.4260e-05_rb,8.5980e-05_rb/) kao(:, 1,15) = (/ & &8.0623e-03_rb,1.1623e-02_rb,1.6754e-02_rb,2.3990e-02_rb,3.4103e-02_rb/) kao(:, 2,15) = (/ & &8.1053e-03_rb,1.1698e-02_rb,1.6865e-02_rb,2.3848e-02_rb,3.3543e-02_rb/) kao(:, 3,15) = (/ & &7.5058e-03_rb,1.0852e-02_rb,1.5814e-02_rb,2.2160e-02_rb,3.0813e-02_rb/) kao(:, 4,15) = (/ & &6.7816e-03_rb,9.9478e-03_rb,1.4382e-02_rb,2.0576e-02_rb,2.8388e-02_rb/) kao(:, 5,15) = (/ & &6.3211e-03_rb,9.1146e-03_rb,1.3301e-02_rb,1.9331e-02_rb,2.6874e-02_rb/) kao(:, 6,15) = (/ & &5.8531e-03_rb,8.4323e-03_rb,1.2188e-02_rb,1.7787e-02_rb,2.5518e-02_rb/) kao(:, 7,15) = (/ & &5.3028e-03_rb,7.8385e-03_rb,1.1331e-02_rb,1.6285e-02_rb,2.3804e-02_rb/) kao(:, 8,15) = (/ & &4.7139e-03_rb,4.9648e-03_rb,2.7936e-03_rb,2.1248e-03_rb,1.7982e-03_rb/) kao(:, 9,15) = (/ & &6.9507e-07_rb,1.4412e-06_rb,2.8345e-06_rb,1.0911e-04_rb,2.4370e-04_rb/) kao(:,10,15) = (/ & &3.6501e-07_rb,8.3446e-07_rb,1.6843e-06_rb,6.4065e-05_rb,1.5410e-04_rb/) kao(:,11,15) = (/ & &2.8886e-07_rb,6.6813e-07_rb,2.2629e-05_rb,7.8818e-05_rb,1.6163e-04_rb/) kao(:,12,15) = (/ & &2.6037e-07_rb,5.5485e-07_rb,3.1734e-05_rb,8.0123e-05_rb,1.4669e-04_rb/) kao(:,13,15) = (/ & &2.3446e-07_rb,1.2097e-05_rb,3.4961e-05_rb,7.1280e-05_rb,1.2611e-04_rb/) kao(:, 1,16) = (/ & &8.7570e-03_rb,1.2357e-02_rb,1.9959e-02_rb,3.2636e-02_rb,5.0897e-02_rb/) kao(:, 2,16) = (/ & &9.0825e-03_rb,1.2808e-02_rb,1.9776e-02_rb,3.3132e-02_rb,5.2704e-02_rb/) kao(:, 3,16) = (/ & &8.8201e-03_rb,1.2594e-02_rb,1.7588e-02_rb,3.0181e-02_rb,4.9544e-02_rb/) kao(:, 4,16) = (/ & &8.3170e-03_rb,1.2140e-02_rb,1.6975e-02_rb,2.5787e-02_rb,4.3638e-02_rb/) kao(:, 5,16) = (/ & &7.7605e-03_rb,1.1646e-02_rb,1.6641e-02_rb,2.2927e-02_rb,3.7740e-02_rb/) kao(:, 6,16) = (/ & &7.0356e-03_rb,1.0930e-02_rb,1.6057e-02_rb,2.2523e-02_rb,3.2226e-02_rb/) kao(:, 7,16) = (/ & &6.7105e-03_rb,1.0123e-02_rb,1.5354e-02_rb,2.2098e-02_rb,3.0452e-02_rb/) kao(:, 8,16) = (/ & &6.7590e-03_rb,9.3669e-03_rb,1.4563e-02_rb,1.3873e-02_rb,1.5872e-03_rb/) kao(:, 9,16) = (/ & &5.9690e-07_rb,1.4246e-06_rb,2.9975e-06_rb,4.2222e-06_rb,7.0710e-06_rb/) kao(:,10,16) = (/ & &3.1073e-07_rb,7.7259e-07_rb,1.8451e-06_rb,3.5923e-06_rb,5.6864e-06_rb/) kao(:,11,16) = (/ & &2.5196e-07_rb,6.5326e-07_rb,1.5669e-06_rb,3.1861e-06_rb,5.6813e-06_rb/) kao(:,12,16) = (/ & &1.8633e-07_rb,5.5942e-07_rb,1.3020e-06_rb,2.7030e-06_rb,4.5791e-06_rb/) kao(:,13,16) = (/ & &1.4070e-07_rb,4.5125e-07_rb,1.0269e-06_rb,2.1236e-06_rb,3.8826e-06_rb/) ! The array KAO_Mxx contains the absorption coefficient for ! a minor species at the 16 chosen g-values for a reference pressure ! level below 100~ mb. The first index refers to temperature ! in 7.2 degree increments. For instance, JT = 1 refers to a ! temperature of 188.0, JT = 2 refers to 195.2, etc. The second index ! runs over the g-channel (1 to 16). kao_mco2(:, 1) = (/ & & 1.45661e-05_rb, 1.73337e-05_rb, 2.06273e-05_rb, 2.45466e-05_rb, 2.92105e-05_rb, & & 3.47607e-05_rb, 4.13654e-05_rb, 4.92251e-05_rb, 5.85781e-05_rb, 6.97083e-05_rb, & & 8.29533e-05_rb, 9.87149e-05_rb, 1.17471e-04_rb, 1.39792e-04_rb, 1.66353e-04_rb, & & 1.97961e-04_rb, 2.35574e-04_rb, 2.80335e-04_rb, 3.33600e-04_rb/) kao_mco2(:, 2) = (/ & & 9.96332e-06_rb, 1.21229e-05_rb, 1.47506e-05_rb, 1.79478e-05_rb, 2.18381e-05_rb, & & 2.65716e-05_rb, 3.23310e-05_rb, 3.93389e-05_rb, 4.78658e-05_rb, 5.82408e-05_rb, & & 7.08647e-05_rb, 8.62250e-05_rb, 1.04914e-04_rb, 1.27655e-04_rb, 1.55325e-04_rb, & & 1.88992e-04_rb, 2.29957e-04_rb, 2.79801e-04_rb, 3.40448e-04_rb/) kao_mco2(:, 3) = (/ & & 1.14968e-05_rb, 1.39890e-05_rb, 1.70215e-05_rb, 2.07115e-05_rb, 2.52013e-05_rb, & & 3.06644e-05_rb, 3.73118e-05_rb, 4.54002e-05_rb, 5.52420e-05_rb, 6.72173e-05_rb, & & 8.17887e-05_rb, 9.95188e-05_rb, 1.21092e-04_rb, 1.47343e-04_rb, 1.79283e-04_rb, & & 2.18148e-04_rb, 2.65438e-04_rb, 3.22980e-04_rb, 3.92995e-04_rb/) kao_mco2(:, 4) = (/ & & 1.02186e-05_rb, 1.23232e-05_rb, 1.48613e-05_rb, 1.79222e-05_rb, 2.16134e-05_rb, & & 2.60649e-05_rb, 3.14332e-05_rb, 3.79071e-05_rb, 4.57145e-05_rb, 5.51297e-05_rb, & & 6.64843e-05_rb, 8.01773e-05_rb, 9.66905e-05_rb, 1.16605e-04_rb, 1.40621e-04_rb, & & 1.69583e-04_rb, 2.04510e-04_rb, 2.46631e-04_rb, 2.97426e-04_rb/) kao_mco2(:, 5) = (/ & & 1.03469e-05_rb, 1.24680e-05_rb, 1.50239e-05_rb, 1.81037e-05_rb, 2.18149e-05_rb, & & 2.62869e-05_rb, 3.16756e-05_rb, 3.81690e-05_rb, 4.59935e-05_rb, 5.54220e-05_rb, & & 6.67833e-05_rb, 8.04737e-05_rb, 9.69704e-05_rb, 1.16849e-04_rb, 1.40803e-04_rb, & & 1.69667e-04_rb, 2.04448e-04_rb, 2.46359e-04_rb, 2.96861e-04_rb/) kao_mco2(:, 6) = (/ & & 1.71660e-05_rb, 2.07334e-05_rb, 2.50420e-05_rb, 3.02461e-05_rb, 3.65317e-05_rb, & & 4.41235e-05_rb, 5.32930e-05_rb, 6.43680e-05_rb, 7.77446e-05_rb, 9.39010e-05_rb, & & 1.13415e-04_rb, 1.36984e-04_rb, 1.65451e-04_rb, 1.99835e-04_rb, 2.41363e-04_rb, & & 2.91522e-04_rb, 3.52104e-04_rb, 4.25276e-04_rb, 5.13654e-04_rb/) kao_mco2(:, 7) = (/ & & 4.78803e-05_rb, 5.79395e-05_rb, 7.01119e-05_rb, 8.48418e-05_rb, 1.02666e-04_rb, & & 1.24235e-04_rb, 1.50336e-04_rb, 1.81920e-04_rb, 2.20139e-04_rb, 2.66388e-04_rb, & & 3.22354e-04_rb, 3.90077e-04_rb, 4.72028e-04_rb, 5.71197e-04_rb, 6.91199e-04_rb, & & 8.36413e-04_rb, 1.01214e-03_rb, 1.22477e-03_rb, 1.48209e-03_rb/) kao_mco2(:, 8) = (/ & & 1.27954e-04_rb, 1.55281e-04_rb, 1.88445e-04_rb, 2.28692e-04_rb, 2.77534e-04_rb, & & 3.36808e-04_rb, 4.08741e-04_rb, 4.96037e-04_rb, 6.01977e-04_rb, 7.30542e-04_rb, & & 8.86566e-04_rb, 1.07591e-03_rb, 1.30570e-03_rb, 1.58456e-03_rb, 1.92298e-03_rb, & & 2.33367e-03_rb, 2.83208e-03_rb, 3.43694e-03_rb, 4.17097e-03_rb/) kao_mco2(:, 9) = (/ & & 2.93792e-05_rb, 3.55109e-05_rb, 4.29223e-05_rb, 5.18805e-05_rb, 6.27083e-05_rb, & & 7.57960e-05_rb, 9.16151e-05_rb, 1.10736e-04_rb, 1.33847e-04_rb, 1.61782e-04_rb, & & 1.95547e-04_rb, 2.36359e-04_rb, 2.85689e-04_rb, 3.45315e-04_rb, 4.17384e-04_rb, & & 5.04495e-04_rb, 6.09787e-04_rb, 7.37054e-04_rb, 8.90882e-04_rb/) kao_mco2(:,10) = (/ & & 5.08569e-05_rb, 6.24700e-05_rb, 7.67350e-05_rb, 9.42574e-05_rb, 1.15781e-04_rb, & & 1.42220e-04_rb, 1.74695e-04_rb, 2.14587e-04_rb, 2.63588e-04_rb, 3.23778e-04_rb, & & 3.97712e-04_rb, 4.88530e-04_rb, 6.00085e-04_rb, 7.37114e-04_rb, 9.05433e-04_rb, & & 1.11219e-03_rb, 1.36616e-03_rb, 1.67812e-03_rb, 2.06131e-03_rb/) kao_mco2(:,11) = (/ & & 4.82546e-06_rb, 6.21462e-06_rb, 8.00369e-06_rb, 1.03078e-05_rb, 1.32752e-05_rb, & & 1.70969e-05_rb, 2.20188e-05_rb, 2.83575e-05_rb, 3.65211e-05_rb, 4.70348e-05_rb, & & 6.05753e-05_rb, 7.80138e-05_rb, 1.00472e-04_rb, 1.29397e-04_rb, 1.66647e-04_rb, & & 2.14622e-04_rb, 2.76407e-04_rb, 3.55980e-04_rb, 4.58459e-04_rb/) kao_mco2(:,12) = (/ & & 2.41346e-06_rb, 2.96282e-06_rb, 3.63723e-06_rb, 4.46516e-06_rb, 5.48153e-06_rb, & & 6.72926e-06_rb, 8.26100e-06_rb, 1.01414e-05_rb, 1.24498e-05_rb, 1.52837e-05_rb, & & 1.87627e-05_rb, 2.30335e-05_rb, 2.82765e-05_rb, 3.47129e-05_rb, 4.26144e-05_rb, & & 5.23144e-05_rb, 6.42225e-05_rb, 7.88410e-05_rb, 9.67871e-05_rb/) kao_mco2(:,13) = (/ & & 2.76412e-06_rb, 3.46195e-06_rb, 4.33596e-06_rb, 5.43062e-06_rb, 6.80164e-06_rb, & & 8.51879e-06_rb, 1.06695e-05_rb, 1.33631e-05_rb, 1.67367e-05_rb, 2.09621e-05_rb, & & 2.62542e-05_rb, 3.28824e-05_rb, 4.11839e-05_rb, 5.15813e-05_rb, 6.46035e-05_rb, & & 8.09134e-05_rb, 1.01341e-04_rb, 1.26925e-04_rb, 1.58969e-04_rb/) kao_mco2(:,14) = (/ & & 1.25126e-06_rb, 1.54971e-06_rb, 1.91935e-06_rb, 2.37715e-06_rb, 2.94416e-06_rb, & & 3.64640e-06_rb, 4.51615e-06_rb, 5.59335e-06_rb, 6.92749e-06_rb, 8.57985e-06_rb, & & 1.06263e-05_rb, 1.31610e-05_rb, 1.63001e-05_rb, 2.01881e-05_rb, 2.50034e-05_rb, & & 3.09672e-05_rb, 3.83536e-05_rb, 4.75018e-05_rb, 5.88319e-05_rb/) kao_mco2(:,15) = (/ & & 1.59748e-06_rb, 2.08378e-06_rb, 2.71812e-06_rb, 3.54557e-06_rb, 4.62491e-06_rb, & & 6.03282e-06_rb, 7.86932e-06_rb, 1.02649e-05_rb, 1.33897e-05_rb, 1.74658e-05_rb, & & 2.27827e-05_rb, 2.97182e-05_rb, 3.87649e-05_rb, 5.05657e-05_rb, 6.59589e-05_rb, & & 8.60380e-05_rb, 1.12230e-04_rb, 1.46394e-04_rb, 1.90959e-04_rb/) kao_mco2(:,16) = (/ & & 1.68148e-06_rb, 2.17133e-06_rb, 2.80388e-06_rb, 3.62071e-06_rb, 4.67549e-06_rb, & & 6.03756e-06_rb, 7.79642e-06_rb, 1.00677e-05_rb, 1.30006e-05_rb, 1.67879e-05_rb, & & 2.16786e-05_rb, 2.79941e-05_rb, 3.61493e-05_rb, 4.66803e-05_rb, 6.02792e-05_rb, & & 7.78398e-05_rb, 1.00516e-04_rb, 1.29799e-04_rb, 1.67612e-04_rb/) ! The array FORREFO contains the coefficient of the water vapor ! foreign-continuum (including the energy term). The first ! index refers to reference temperature (296,260,224,260) and ! pressure (970,475,219,3 mbar) levels. The second index ! runs over the g-channel (1 to 16). forrefo(1,:) = (/ & &3.2710e-07_rb,5.2119e-07_rb,8.4740e-07_rb,1.6908e-06_rb,2.3433e-06_rb,4.4129e-06_rb, & &3.8930e-06_rb,2.3338e-06_rb,2.4115e-06_rb,2.4271e-06_rb,2.4836e-06_rb,2.6470e-06_rb, & &2.9559e-06_rb,2.3940e-06_rb,2.9711e-06_rb,2.9511e-06_rb/) forrefo(2,:) = (/ & &6.5125e-07_rb,1.2128e-06_rb,1.7249e-06_rb,2.7126e-06_rb,3.1780e-06_rb,2.1444e-06_rb, & &1.8265e-06_rb,1.7385e-06_rb,1.4574e-06_rb,1.6135e-06_rb,2.4966e-06_rb,2.8127e-06_rb, & &2.5229e-06_rb,2.3251e-06_rb,2.5353e-06_rb,3.0200e-06_rb/) forrefo(3,:) = (/ & &1.4969e-06_rb,1.8516e-06_rb,2.5791e-06_rb,2.7846e-06_rb,1.9789e-06_rb,1.6688e-06_rb, & &1.1037e-06_rb,9.9065e-07_rb,1.1557e-06_rb,7.0847e-07_rb,5.7758e-07_rb,4.0425e-07_rb, & &3.2427e-07_rb,3.2267e-07_rb,3.1444e-07_rb,2.6046e-07_rb/) forrefo(4,:) = (/ & &1.7567e-06_rb,1.6891e-06_rb,2.1003e-06_rb,2.0957e-06_rb,2.3664e-06_rb,2.1538e-06_rb, & &1.5275e-06_rb,1.0487e-06_rb,8.7390e-07_rb,7.9360e-07_rb,7.7778e-07_rb,8.1445e-07_rb, & &8.2121e-07_rb,5.4395e-07_rb,3.1273e-07_rb,3.1848e-07_rb/) ! The array SELFREFO contains the coefficient of the water vapor ! self-continuum (including the energy term). The first index ! refers to temperature in 7.2 degree increments. For instance, ! JT = 1 refers to a temperature of 245.6, JT = 2 refers to 252.8, ! etc. The second index runs over the g-channel (1 to 16). selfrefo(:, 1) = (/ & & 7.73921e-02_rb, 6.45225e-02_rb, 5.37930e-02_rb, 4.48477e-02_rb, 3.73900e-02_rb, & & 3.11723e-02_rb, 2.59887e-02_rb, 2.16670e-02_rb, 1.80640e-02_rb, 1.50601e-02_rb/) selfrefo(:, 2) = (/ & & 8.47756e-02_rb, 7.10616e-02_rb, 5.95660e-02_rb, 4.99301e-02_rb, 4.18529e-02_rb, & & 3.50824e-02_rb, 2.94072e-02_rb, 2.46500e-02_rb, 2.06624e-02_rb, 1.73199e-02_rb/) selfrefo(:, 3) = (/ & & 8.84829e-02_rb, 7.46093e-02_rb, 6.29110e-02_rb, 5.30469e-02_rb, 4.47295e-02_rb, & & 3.77161e-02_rb, 3.18025e-02_rb, 2.68160e-02_rb, 2.26114e-02_rb, 1.90661e-02_rb/) selfrefo(:, 4) = (/ & & 9.27003e-02_rb, 7.88864e-02_rb, 6.71310e-02_rb, 5.71273e-02_rb, 4.86144e-02_rb, & & 4.13700e-02_rb, 3.52052e-02_rb, 2.99590e-02_rb, 2.54946e-02_rb, 2.16955e-02_rb/) selfrefo(:, 5) = (/ & & 9.14315e-02_rb, 7.85661e-02_rb, 6.75110e-02_rb, 5.80115e-02_rb, 4.98487e-02_rb, & & 4.28344e-02_rb, 3.68072e-02_rb, 3.16280e-02_rb, 2.71776e-02_rb, 2.33534e-02_rb/) selfrefo(:, 6) = (/ & & 7.72984e-02_rb, 6.91044e-02_rb, 6.17790e-02_rb, 5.52301e-02_rb, 4.93755e-02_rb, & & 4.41414e-02_rb, 3.94622e-02_rb, 3.52790e-02_rb, 3.15392e-02_rb, 2.81959e-02_rb/) selfrefo(:, 7) = (/ & & 7.46998e-02_rb, 6.66597e-02_rb, 5.94850e-02_rb, 5.30825e-02_rb, 4.73691e-02_rb, & & 4.22707e-02_rb, 3.77210e-02_rb, 3.36610e-02_rb, 3.00380e-02_rb, 2.68049e-02_rb/) selfrefo(:, 8) = (/ & & 7.59386e-02_rb, 6.66263e-02_rb, 5.84560e-02_rb, 5.12876e-02_rb, 4.49982e-02_rb, & & 3.94801e-02_rb, 3.46387e-02_rb, 3.03910e-02_rb, 2.66642e-02_rb, 2.33944e-02_rb/) selfrefo(:, 9) = (/ & & 7.26921e-02_rb, 6.43261e-02_rb, 5.69230e-02_rb, 5.03719e-02_rb, 4.45747e-02_rb, & & 3.94447e-02_rb, 3.49051e-02_rb, 3.08880e-02_rb, 2.73332e-02_rb, 2.41875e-02_rb/) selfrefo(:,10) = (/ & & 7.43684e-02_rb, 6.58735e-02_rb, 5.83490e-02_rb, 5.16840e-02_rb, 4.57803e-02_rb, & & 4.05509e-02_rb, 3.59189e-02_rb, 3.18160e-02_rb, 2.81818e-02_rb, 2.49626e-02_rb/) selfrefo(:,11) = (/ & & 8.97599e-02_rb, 7.73727e-02_rb, 6.66950e-02_rb, 5.74908e-02_rb, 4.95569e-02_rb, & & 4.27179e-02_rb, 3.68227e-02_rb, 3.17410e-02_rb, 2.73606e-02_rb, 2.35848e-02_rb/) selfrefo(:,12) = (/ & & 9.12262e-02_rb, 7.84848e-02_rb, 6.75230e-02_rb, 5.80922e-02_rb, 4.99786e-02_rb, & & 4.29982e-02_rb, 3.69927e-02_rb, 3.18260e-02_rb, 2.73809e-02_rb, 2.35567e-02_rb/) selfrefo(:,13) = (/ & & 9.03254e-02_rb, 7.83291e-02_rb, 6.79260e-02_rb, 5.89046e-02_rb, 5.10813e-02_rb, & & 4.42970e-02_rb, 3.84139e-02_rb, 3.33120e-02_rb, 2.88877e-02_rb, 2.50511e-02_rb/) selfrefo(:,14) = (/ & & 9.22803e-02_rb, 7.94172e-02_rb, 6.83470e-02_rb, 5.88199e-02_rb, 5.06209e-02_rb, & & 4.35647e-02_rb, 3.74921e-02_rb, 3.22660e-02_rb, 2.77684e-02_rb, 2.38977e-02_rb/) selfrefo(:,15) = (/ & & 9.36819e-02_rb, 8.10810e-02_rb, 7.01750e-02_rb, 6.07359e-02_rb, 5.25665e-02_rb, & & 4.54959e-02_rb, 3.93764e-02_rb, 3.40800e-02_rb, 2.94960e-02_rb, 2.55286e-02_rb/) selfrefo(:,16) = (/ & & 1.00195e-01_rb, 8.58713e-02_rb, 7.35950e-02_rb, 6.30737e-02_rb, 5.40566e-02_rb, & & 4.63286e-02_rb, 3.97054e-02_rb, 3.40290e-02_rb, 2.91641e-02_rb, 2.49948e-02_rb/) end subroutine lw_kgb06 ! ************************************************************************** subroutine lw_kgb07 ! ************************************************************************** use parkind, only : im => kind_im, rb => kind_rb use rrlw_kg07, only : fracrefao, fracrefbo, kao, kbo, kao_mco2, & kbo_mco2, selfrefo, forrefo implicit none save ! Planck fraction mapping level : P = 706.27 mb, T = 278.94 K fracrefao(:, 1) = (/ & 1.6312e-01_rb,1.4949e-01_rb,1.4305e-01_rb,1.3161e-01_rb,1.1684e-01_rb,9.9900e-02_rb, & 8.0912e-02_rb,6.0203e-02_rb,4.0149e-02_rb,4.3365e-03_rb,3.5844e-03_rb,2.8019e-03_rb, & 2.0756e-03_rb,1.3449e-03_rb,5.0492e-04_rb,7.1194e-05_rb/) fracrefao(:, 2) = (/ & 1.6329e-01_rb,1.4989e-01_rb,1.4328e-01_rb,1.3101e-01_rb,1.1691e-01_rb,9.9754e-02_rb, & 8.0956e-02_rb,5.9912e-02_rb,4.0271e-02_rb,4.3298e-03_rb,3.5626e-03_rb,2.8421e-03_rb, & 2.1031e-03_rb,1.3360e-03_rb,4.8965e-04_rb,6.8900e-05_rb/) fracrefao(:, 3) = (/ & 1.6236e-01_rb,1.5081e-01_rb,1.4341e-01_rb,1.3083e-01_rb,1.1684e-01_rb,9.9701e-02_rb, & 8.0956e-02_rb,5.9884e-02_rb,4.0245e-02_rb,4.3837e-03_rb,3.6683e-03_rb,2.9250e-03_rb, & 2.0969e-03_rb,1.3320e-03_rb,4.8965e-04_rb,6.8900e-05_rb/) fracrefao(:, 4) = (/ & 1.6096e-01_rb,1.5183e-01_rb,1.4354e-01_rb,1.3081e-01_rb,1.1687e-01_rb,9.9619e-02_rb, & 8.0947e-02_rb,5.9899e-02_rb,4.0416e-02_rb,4.4389e-03_rb,3.7280e-03_rb,2.9548e-03_rb, & 2.0977e-03_rb,1.3305e-03_rb,4.8965e-04_rb,6.8900e-05_rb/) fracrefao(:, 5) = (/ & 1.5661e-01_rb,1.5478e-01_rb,1.4414e-01_rb,1.3097e-01_rb,1.1695e-01_rb,9.9823e-02_rb, & 8.0750e-02_rb,6.0100e-02_rb,4.0741e-02_rb,4.4598e-03_rb,3.7366e-03_rb,2.9521e-03_rb, & 2.0980e-03_rb,1.3297e-03_rb,4.8965e-04_rb,6.8900e-05_rb/) fracrefao(:, 6) = (/ & 1.4879e-01_rb,1.5853e-01_rb,1.4586e-01_rb,1.3162e-01_rb,1.1729e-01_rb,1.0031e-01_rb, & 8.0908e-02_rb,6.0460e-02_rb,4.1100e-02_rb,4.4578e-03_rb,3.7388e-03_rb,2.9508e-03_rb, & 2.0986e-03_rb,1.3288e-03_rb,4.8965e-04_rb,6.8900e-05_rb/) fracrefao(:, 7) = (/ & 1.4117e-01_rb,1.4838e-01_rb,1.4807e-01_rb,1.3759e-01_rb,1.2218e-01_rb,1.0228e-01_rb, & 8.2130e-02_rb,6.1546e-02_rb,4.1522e-02_rb,4.4577e-03_rb,3.7428e-03_rb,2.9475e-03_rb, & 2.0997e-03_rb,1.3277e-03_rb,4.8965e-04_rb,6.8900e-05_rb/) fracrefao(:, 8) = (/ & 1.4018e-01_rb,1.4207e-01_rb,1.3919e-01_rb,1.3332e-01_rb,1.2325e-01_rb,1.0915e-01_rb, & 9.0280e-02_rb,6.5554e-02_rb,4.1852e-02_rb,4.4707e-03_rb,3.7572e-03_rb,2.9364e-03_rb, & 2.1023e-03_rb,1.3249e-03_rb,4.8965e-04_rb,6.8900e-05_rb/) fracrefao(:, 9) = (/ & 1.4863e-01_rb,1.4926e-01_rb,1.4740e-01_rb,1.3558e-01_rb,1.1999e-01_rb,1.0044e-01_rb, & 8.1927e-02_rb,6.0989e-02_rb,4.0665e-02_rb,4.4481e-03_rb,3.7369e-03_rb,2.9482e-03_rb, & 2.0976e-03_rb,1.3281e-03_rb,4.8965e-04_rb,6.8900e-05_rb/) ! Planck fraction mapping level : P=95.58 mbar, T= 215.70 K fracrefbo(:) = (/ & 1.5872e-01_rb,1.5443e-01_rb,1.4413e-01_rb,1.3147e-01_rb,1.1634e-01_rb,9.8914e-02_rb, & 8.0236e-02_rb,6.0197e-02_rb,4.0624e-02_rb,4.4225e-03_rb,3.6688e-03_rb,2.9074e-03_rb, & 2.0862e-03_rb,1.3039e-03_rb,4.8561e-04_rb,6.8854e-05_rb/) ! The array KAO contains absorption coefs for each of the 16 g-intervals ! for a range of pressure levels > ~100mb, temperatures, and ratios ! of water vapor to CO2. The first index in the array, JS, runs ! from 1 to 10, and corresponds to different gas column amount ratios, ! as expressed through the binary species parameter eta, defined as ! eta = gas1/(gas1 + (rat) * gas2), where rat is the ! ratio of the reference MLS column amount value of gas 1 ! to that of gas2. ! The 2nd index in the array, JT, which runs from 1 to 5, corresponds ! to different temperatures. More specifically, JT = 3 means that the ! data are for the reference temperature TREF for this pressure ! level, JT = 2 refers to the temperature ! TREF-15, JT = 1 is for TREF-30, JT = 4 is for TREF+15, and JT = 5 ! is for TREF+30. The third index, JP, runs from 1 to 13 and refers ! to the reference pressure level (e.g. JP = 1 is for a ! pressure of 1053.63 mb). The fourth index, IG, goes from 1 to 16, ! and tells us which g-interval the absorption coefficients are for. kao(:, 1, 1, 1) = (/ & &2.0715e-06_rb,2.0394e-06_rb,5.0240e-06_rb,1.0614e-05_rb,1.1983e-05_rb,1.5554e-05_rb, & &1.7831e-05_rb,2.6227e-05_rb,1.2374e-05_rb/) kao(:, 2, 1, 1) = (/ & &2.6968e-06_rb,2.7207e-06_rb,3.6723e-06_rb,1.1698e-05_rb,1.3601e-05_rb,1.5350e-05_rb, & &2.0818e-05_rb,2.8393e-05_rb,1.1509e-05_rb/) kao(:, 3, 1, 1) = (/ & &3.4058e-06_rb,3.5757e-06_rb,3.8081e-06_rb,7.3554e-06_rb,1.4372e-05_rb,1.6368e-05_rb, & &1.9019e-05_rb,3.0058e-05_rb,1.1256e-05_rb/) kao(:, 4, 1, 1) = (/ & &4.2245e-06_rb,4.8570e-06_rb,4.7347e-06_rb,6.0087e-06_rb,1.4347e-05_rb,1.6902e-05_rb, & &1.9725e-05_rb,2.9609e-05_rb,1.0323e-05_rb/) kao(:, 5, 1, 1) = (/ & &5.1348e-06_rb,6.1189e-06_rb,5.9979e-06_rb,6.4031e-06_rb,9.6268e-06_rb,1.7276e-05_rb, & &1.9533e-05_rb,2.5577e-05_rb,1.1200e-05_rb/) kao(:, 1, 2, 1) = (/ & &2.7400e-06_rb,2.6398e-06_rb,3.5715e-06_rb,8.9653e-06_rb,1.1704e-05_rb,1.2732e-05_rb, & &1.5109e-05_rb,1.8326e-05_rb,7.6584e-06_rb/) kao(:, 2, 2, 1) = (/ & &3.7023e-06_rb,3.5996e-06_rb,3.5466e-06_rb,6.4138e-06_rb,1.4301e-05_rb,1.4484e-05_rb, & &1.7298e-05_rb,2.1003e-05_rb,7.8450e-06_rb/) kao(:, 3, 2, 1) = (/ & &4.8529e-06_rb,4.7902e-06_rb,4.4795e-06_rb,5.2052e-06_rb,1.0079e-05_rb,1.6425e-05_rb, & &1.7110e-05_rb,2.3533e-05_rb,8.0830e-06_rb/) kao(:, 4, 2, 1) = (/ & &6.0952e-06_rb,6.1266e-06_rb,5.7794e-06_rb,5.6603e-06_rb,7.5131e-06_rb,1.6775e-05_rb, & &1.7862e-05_rb,2.1237e-05_rb,6.9720e-06_rb/) kao(:, 5, 2, 1) = (/ & &7.4621e-06_rb,7.9816e-06_rb,7.3755e-06_rb,7.0507e-06_rb,7.2782e-06_rb,1.2172e-05_rb, & &1.8558e-05_rb,2.1490e-05_rb,7.0903e-06_rb/) kao(:, 1, 3, 1) = (/ & &4.8603e-06_rb,4.7726e-06_rb,4.1802e-06_rb,5.2554e-06_rb,9.0303e-06_rb,1.4041e-05_rb, & &1.3465e-05_rb,1.4273e-05_rb,4.5115e-06_rb/) kao(:, 2, 3, 1) = (/ & &6.5045e-06_rb,6.5033e-06_rb,5.8343e-06_rb,5.3408e-06_rb,7.3167e-06_rb,1.4520e-05_rb, & &1.5602e-05_rb,1.7982e-05_rb,4.5301e-06_rb/) kao(:, 3, 3, 1) = (/ & &8.5550e-06_rb,8.5301e-06_rb,7.7170e-06_rb,6.8750e-06_rb,6.6921e-06_rb,1.0610e-05_rb, & &1.8653e-05_rb,1.7976e-05_rb,3.9894e-06_rb/) kao(:, 4, 3, 1) = (/ & &1.0940e-05_rb,1.0943e-05_rb,9.9861e-06_rb,8.8481e-06_rb,7.8291e-06_rb,8.3918e-06_rb, & &1.7829e-05_rb,1.8992e-05_rb,3.8512e-06_rb/) kao(:, 5, 3, 1) = (/ & &1.3936e-05_rb,1.3811e-05_rb,1.2489e-05_rb,1.1153e-05_rb,9.8326e-06_rb,8.7685e-06_rb, & &1.2193e-05_rb,1.9703e-05_rb,4.2059e-06_rb/) kao(:, 1, 4, 1) = (/ & &8.9960e-06_rb,8.6210e-06_rb,7.6632e-06_rb,6.4630e-06_rb,6.4239e-06_rb,9.4367e-06_rb, & &1.6258e-05_rb,1.3756e-05_rb,2.4163e-06_rb/) kao(:, 2, 4, 1) = (/ & &1.2134e-05_rb,1.1807e-05_rb,1.0673e-05_rb,9.1029e-06_rb,7.7016e-06_rb,8.4861e-06_rb, & &1.4567e-05_rb,1.5036e-05_rb,2.1658e-06_rb/) kao(:, 3, 4, 1) = (/ & &1.6015e-05_rb,1.5688e-05_rb,1.4339e-05_rb,1.2455e-05_rb,1.0313e-05_rb,8.5777e-06_rb, & &1.1331e-05_rb,1.8116e-05_rb,2.2633e-06_rb/) kao(:, 4, 4, 1) = (/ & &2.0597e-05_rb,2.0155e-05_rb,1.8480e-05_rb,1.6165e-05_rb,1.3589e-05_rb,1.0837e-05_rb, & &9.4849e-06_rb,2.1131e-05_rb,2.4289e-06_rb/) kao(:, 5, 4, 1) = (/ & &2.5729e-05_rb,2.5473e-05_rb,2.3255e-05_rb,2.0429e-05_rb,1.7213e-05_rb,1.3828e-05_rb, & &1.0618e-05_rb,1.5874e-05_rb,3.2874e-06_rb/) kao(:, 1, 5, 1) = (/ & &1.6376e-05_rb,1.4981e-05_rb,1.3148e-05_rb,1.1171e-05_rb,9.2339e-06_rb,7.8648e-06_rb, & &1.1215e-05_rb,1.5160e-05_rb,1.0907e-06_rb/) kao(:, 2, 5, 1) = (/ & &2.2074e-05_rb,2.0407e-05_rb,1.8083e-05_rb,1.5475e-05_rb,1.2746e-05_rb,1.0050e-05_rb, & &1.0049e-05_rb,1.8902e-05_rb,1.3007e-06_rb/) kao(:, 3, 5, 1) = (/ & &2.9048e-05_rb,2.7094e-05_rb,2.4278e-05_rb,2.1033e-05_rb,1.7417e-05_rb,1.3618e-05_rb, & &1.0309e-05_rb,1.5056e-05_rb,1.4150e-06_rb/) kao(:, 4, 5, 1) = (/ & &3.7623e-05_rb,3.5233e-05_rb,3.1800e-05_rb,2.7623e-05_rb,2.3164e-05_rb,1.8269e-05_rb, & &1.3014e-05_rb,1.1951e-05_rb,2.0520e-06_rb/) kao(:, 5, 5, 1) = (/ & &4.7365e-05_rb,4.4556e-05_rb,4.0255e-05_rb,3.5279e-05_rb,2.9803e-05_rb,2.3695e-05_rb, & &1.6824e-05_rb,1.0864e-05_rb,3.0931e-06_rb/) kao(:, 1, 6, 1) = (/ & &2.9059e-05_rb,2.6117e-05_rb,2.2727e-05_rb,1.9184e-05_rb,1.5516e-05_rb,1.1998e-05_rb, & &9.5851e-06_rb,1.6016e-05_rb,6.6366e-07_rb/) kao(:, 2, 6, 1) = (/ & &3.9281e-05_rb,3.5568e-05_rb,3.1182e-05_rb,2.6432e-05_rb,2.1505e-05_rb,1.6402e-05_rb, & &1.1717e-05_rb,1.2828e-05_rb,7.2868e-07_rb/) kao(:, 3, 6, 1) = (/ & &5.2094e-05_rb,4.7264e-05_rb,4.1432e-05_rb,3.5398e-05_rb,2.9041e-05_rb,2.2416e-05_rb, & &1.5568e-05_rb,1.1439e-05_rb,1.0703e-06_rb/) kao(:, 4, 6, 1) = (/ & &6.7466e-05_rb,6.1301e-05_rb,5.3945e-05_rb,4.6275e-05_rb,3.8268e-05_rb,2.9782e-05_rb, & &2.0926e-05_rb,1.2149e-05_rb,1.6636e-06_rb/) kao(:, 5, 6, 1) = (/ & &8.5711e-05_rb,7.8253e-05_rb,6.9113e-05_rb,5.9588e-05_rb,4.9429e-05_rb,3.8720e-05_rb, & &2.7357e-05_rb,1.5302e-05_rb,2.4859e-06_rb/) kao(:, 1, 7, 1) = (/ & &5.4651e-05_rb,4.8396e-05_rb,4.1917e-05_rb,3.5300e-05_rb,2.8526e-05_rb,2.1678e-05_rb, & &1.5027e-05_rb,1.1124e-05_rb,3.7210e-07_rb/) kao(:, 2, 7, 1) = (/ & &7.4826e-05_rb,6.6392e-05_rb,5.7621e-05_rb,4.8629e-05_rb,3.9371e-05_rb,2.9959e-05_rb, & &2.0404e-05_rb,1.1926e-05_rb,4.6517e-07_rb/) kao(:, 3, 7, 1) = (/ & &9.9886e-05_rb,8.9008e-05_rb,7.7375e-05_rb,6.5427e-05_rb,5.3175e-05_rb,4.0667e-05_rb, & &2.7777e-05_rb,1.4838e-05_rb,7.6733e-07_rb/) kao(:, 4, 7, 1) = (/ & &1.3028e-04_rb,1.1642e-04_rb,1.0145e-04_rb,8.5974e-05_rb,7.0058e-05_rb,5.3698e-05_rb, & &3.6993e-05_rb,1.9660e-05_rb,1.2756e-06_rb/) kao(:, 5, 7, 1) = (/ & &1.6675e-04_rb,1.4925e-04_rb,1.3030e-04_rb,1.1056e-04_rb,9.0256e-05_rb,6.9412e-05_rb, & &4.8077e-05_rb,2.5971e-05_rb,2.0598e-06_rb/) kao(:, 1, 8, 1) = (/ & &1.3360e-04_rb,1.1739e-04_rb,1.0102e-04_rb,8.4552e-05_rb,6.8007e-05_rb,5.1398e-05_rb, & &3.4619e-05_rb,1.8035e-05_rb,1.9024e-07_rb/) kao(:, 2, 8, 1) = (/ & &1.8185e-04_rb,1.6006e-04_rb,1.3792e-04_rb,1.1564e-04_rb,9.3245e-05_rb,7.0615e-05_rb, & &4.7676e-05_rb,2.4529e-05_rb,3.0949e-07_rb/) kao(:, 3, 8, 1) = (/ & &2.4405e-04_rb,2.1504e-04_rb,1.8547e-04_rb,1.5570e-04_rb,1.2559e-04_rb,9.5220e-05_rb, & &6.4517e-05_rb,3.3270e-05_rb,5.6654e-07_rb/) kao(:, 4, 8, 1) = (/ & &3.2056e-04_rb,2.8296e-04_rb,2.4441e-04_rb,2.0538e-04_rb,1.6592e-04_rb,1.2607e-04_rb, & &8.5723e-05_rb,4.4370e-05_rb,1.0126e-06_rb/) kao(:, 5, 8, 1) = (/ & &4.1126e-04_rb,3.6352e-04_rb,3.1426e-04_rb,2.6419e-04_rb,2.1364e-04_rb,1.6265e-04_rb, & &1.1079e-04_rb,5.7674e-05_rb,1.7042e-06_rb/) kao(:, 1, 9, 1) = (/ & &6.2463e-04_rb,5.4698e-04_rb,4.6923e-04_rb,3.9140e-04_rb,3.1352e-04_rb,2.3558e-04_rb, & &1.5756e-04_rb,7.9405e-05_rb,1.4148e-07_rb/) kao(:, 2, 9, 1) = (/ & &8.5834e-04_rb,7.5200e-04_rb,6.4533e-04_rb,5.3850e-04_rb,4.3155e-04_rb,3.2449e-04_rb, & &2.1732e-04_rb,1.0986e-04_rb,2.9809e-07_rb/) kao(:, 3, 9, 1) = (/ & &1.1576e-03_rb,1.0147e-03_rb,8.7098e-04_rb,7.2712e-04_rb,5.8298e-04_rb,4.3871e-04_rb, & &2.9418e-04_rb,1.4894e-04_rb,5.9602e-07_rb/) kao(:, 4, 9, 1) = (/ & &1.5307e-03_rb,1.3423e-03_rb,1.1527e-03_rb,9.6254e-04_rb,7.7214e-04_rb,5.8148e-04_rb, & &3.9028e-04_rb,1.9773e-04_rb,1.1255e-06_rb/) kao(:, 5, 9, 1) = (/ & &1.9847e-03_rb,1.7410e-03_rb,1.4953e-03_rb,1.2490e-03_rb,1.0025e-03_rb,7.5537e-04_rb, & &5.0679e-04_rb,2.5732e-04_rb,1.9162e-06_rb/) kao(:, 1,10, 1) = (/ & &3.6169e-03_rb,3.1652e-03_rb,2.7133e-03_rb,2.2615e-03_rb,1.8097e-03_rb,1.3577e-03_rb, & &9.0574e-04_rb,4.5358e-04_rb,1.4845e-07_rb/) kao(:, 2,10, 1) = (/ & &4.9699e-03_rb,4.3495e-03_rb,3.7290e-03_rb,3.1084e-03_rb,2.4876e-03_rb,1.8667e-03_rb, & &1.2456e-03_rb,6.2420e-04_rb,3.2434e-07_rb/) kao(:, 3,10, 1) = (/ & &6.7347e-03_rb,5.8945e-03_rb,5.0543e-03_rb,4.2138e-03_rb,3.3728e-03_rb,2.5314e-03_rb, & &1.6895e-03_rb,8.4729e-04_rb,6.8830e-07_rb/) kao(:, 4,10, 1) = (/ & &8.9371e-03_rb,7.8231e-03_rb,6.7088e-03_rb,5.5938e-03_rb,4.4779e-03_rb,3.3612e-03_rb, & &2.2441e-03_rb,1.1262e-03_rb,1.3449e-06_rb/) kao(:, 5,10, 1) = (/ & &1.1613e-02_rb,1.0166e-02_rb,8.7190e-03_rb,7.2700e-03_rb,5.8199e-03_rb,4.3690e-03_rb, & &2.9176e-03_rb,1.4653e-03_rb,2.4729e-06_rb/) kao(:, 1,11, 1) = (/ & &8.2249e-03_rb,7.1970e-03_rb,6.1693e-03_rb,5.1415e-03_rb,4.1138e-03_rb,3.0859e-03_rb, & &2.0579e-03_rb,1.0298e-03_rb,1.4864e-07_rb/) kao(:, 2,11, 1) = (/ & &1.1270e-02_rb,9.8625e-03_rb,8.4545e-03_rb,7.0466e-03_rb,5.6386e-03_rb,4.2301e-03_rb, & &2.8215e-03_rb,1.4124e-03_rb,3.4574e-07_rb/) kao(:, 3,11, 1) = (/ & &1.5223e-02_rb,1.3322e-02_rb,1.1421e-02_rb,9.5200e-03_rb,7.6187e-03_rb,5.7167e-03_rb, & &3.8140e-03_rb,1.9100e-03_rb,7.2590e-07_rb/) kao(:, 4,11, 1) = (/ & &2.0093e-02_rb,1.7585e-02_rb,1.5077e-02_rb,1.2568e-02_rb,1.0059e-02_rb,7.5477e-03_rb, & &5.0358e-03_rb,2.5228e-03_rb,1.4168e-06_rb/) kao(:, 5,11, 1) = (/ & &2.5957e-02_rb,2.2717e-02_rb,1.9478e-02_rb,1.6238e-02_rb,1.2998e-02_rb,9.7533e-03_rb, & &6.5080e-03_rb,3.2606e-03_rb,2.6860e-06_rb/) kao(:, 1,12, 1) = (/ & &1.1827e-02_rb,1.0349e-02_rb,8.8708e-03_rb,7.3929e-03_rb,5.9148e-03_rb,4.4367e-03_rb, & &2.9587e-03_rb,1.4802e-03_rb,1.3931e-07_rb/) kao(:, 2,12, 1) = (/ & &1.6211e-02_rb,1.4185e-02_rb,1.2160e-02_rb,1.0134e-02_rb,8.1087e-03_rb,6.0831e-03_rb, & &4.0569e-03_rb,2.0301e-03_rb,3.2171e-07_rb/) kao(:, 3,12, 1) = (/ & &2.1828e-02_rb,1.9101e-02_rb,1.6374e-02_rb,1.3648e-02_rb,1.0921e-02_rb,8.1937e-03_rb, & &5.4651e-03_rb,2.7355e-03_rb,6.8081e-07_rb/) kao(:, 4,12, 1) = (/ & &2.8730e-02_rb,2.5142e-02_rb,2.1554e-02_rb,1.7967e-02_rb,1.4379e-02_rb,1.0788e-02_rb, & &7.1961e-03_rb,3.6027e-03_rb,1.3459e-06_rb/) kao(:, 5,12, 1) = (/ & &3.6999e-02_rb,3.2380e-02_rb,2.7760e-02_rb,2.3140e-02_rb,1.8520e-02_rb,1.3896e-02_rb, & &9.2700e-03_rb,4.6424e-03_rb,2.5690e-06_rb/) kao(:, 1,13, 1) = (/ & &1.3632e-02_rb,1.1928e-02_rb,1.0225e-02_rb,8.5212e-03_rb,6.8176e-03_rb,5.1139e-03_rb, & &3.4100e-03_rb,1.7059e-03_rb,1.1695e-07_rb/) kao(:, 2,13, 1) = (/ & &1.8706e-02_rb,1.6369e-02_rb,1.4031e-02_rb,1.1694e-02_rb,9.3569e-03_rb,7.0195e-03_rb, & &4.6811e-03_rb,2.3422e-03_rb,2.7119e-07_rb/) kao(:, 3,13, 1) = (/ & &2.5132e-02_rb,2.1993e-02_rb,1.8852e-02_rb,1.5713e-02_rb,1.2573e-02_rb,9.4331e-03_rb, & &6.2911e-03_rb,3.1482e-03_rb,5.7144e-07_rb/) kao(:, 4,13, 1) = (/ & &3.3041e-02_rb,2.8914e-02_rb,2.4787e-02_rb,2.0660e-02_rb,1.6533e-02_rb,1.2406e-02_rb, & &8.2739e-03_rb,4.1414e-03_rb,1.1335e-06_rb/) kao(:, 5,13, 1) = (/ & &4.2440e-02_rb,3.7140e-02_rb,3.1841e-02_rb,2.6541e-02_rb,2.1241e-02_rb,1.5937e-02_rb, & &1.0630e-02_rb,5.3218e-03_rb,2.1676e-06_rb/) kao(:, 1, 1, 2) = (/ & &4.1413e-06_rb,5.7568e-06_rb,5.6875e-06_rb,2.2265e-05_rb,2.6421e-05_rb,2.7053e-05_rb, & &2.9360e-05_rb,4.0970e-05_rb,1.4958e-05_rb/) kao(:, 2, 1, 2) = (/ & &5.1991e-06_rb,7.4465e-06_rb,7.4944e-06_rb,1.1514e-05_rb,2.6560e-05_rb,2.7448e-05_rb, & &2.9314e-05_rb,3.8310e-05_rb,1.7668e-05_rb/) kao(:, 3, 1, 2) = (/ & &6.3145e-06_rb,9.3150e-06_rb,9.9659e-06_rb,1.0415e-05_rb,2.4448e-05_rb,2.8503e-05_rb, & &3.1282e-05_rb,4.1769e-05_rb,1.5395e-05_rb/) kao(:, 4, 1, 2) = (/ & &7.5825e-06_rb,1.1197e-05_rb,1.2631e-05_rb,1.2849e-05_rb,1.2505e-05_rb,2.7705e-05_rb, & &3.1429e-05_rb,4.1459e-05_rb,1.9577e-05_rb/) kao(:, 5, 1, 2) = (/ & &9.0691e-06_rb,1.3548e-05_rb,1.5444e-05_rb,1.5939e-05_rb,1.4634e-05_rb,2.1478e-05_rb, & &3.0373e-05_rb,4.6504e-05_rb,1.5074e-05_rb/) kao(:, 1, 2, 2) = (/ & &6.1165e-06_rb,7.4934e-06_rb,6.8625e-06_rb,7.6121e-06_rb,3.0817e-05_rb,3.2183e-05_rb, & &3.0483e-05_rb,3.3496e-05_rb,1.0690e-05_rb/) kao(:, 2, 2, 2) = (/ & &7.6538e-06_rb,9.6280e-06_rb,9.7301e-06_rb,8.1097e-06_rb,1.6826e-05_rb,3.2430e-05_rb, & &3.0532e-05_rb,3.1851e-05_rb,9.7120e-06_rb/) kao(:, 3, 2, 2) = (/ & &9.2709e-06_rb,1.2057e-05_rb,1.2568e-05_rb,1.1762e-05_rb,1.2621e-05_rb,3.1032e-05_rb, & &3.2269e-05_rb,3.2750e-05_rb,1.1309e-05_rb/) kao(:, 4, 2, 2) = (/ & &1.1033e-05_rb,1.5040e-05_rb,1.5728e-05_rb,1.5466e-05_rb,1.4259e-05_rb,1.7169e-05_rb, & &3.1754e-05_rb,3.4497e-05_rb,1.2084e-05_rb/) kao(:, 5, 2, 2) = (/ & &1.2896e-05_rb,1.7847e-05_rb,1.9251e-05_rb,1.9193e-05_rb,1.8160e-05_rb,1.5443e-05_rb, & &2.9856e-05_rb,3.4316e-05_rb,1.0107e-05_rb/) kao(:, 1, 3, 2) = (/ & &1.2491e-05_rb,1.2769e-05_rb,1.2392e-05_rb,1.0198e-05_rb,9.0495e-06_rb,2.4479e-05_rb, & &4.2929e-05_rb,3.4687e-05_rb,5.7323e-06_rb/) kao(:, 2, 3, 2) = (/ & &1.5715e-05_rb,1.6378e-05_rb,1.5890e-05_rb,1.4699e-05_rb,1.1686e-05_rb,1.2801e-05_rb, & &4.3476e-05_rb,3.5317e-05_rb,5.8828e-06_rb/) kao(:, 3, 3, 2) = (/ & &1.9226e-05_rb,2.0527e-05_rb,2.0237e-05_rb,1.8901e-05_rb,1.6806e-05_rb,1.2767e-05_rb, & &3.2801e-05_rb,3.5650e-05_rb,7.0460e-06_rb/) kao(:, 4, 3, 2) = (/ & &2.3182e-05_rb,2.5284e-05_rb,2.5183e-05_rb,2.3943e-05_rb,2.1697e-05_rb,1.8156e-05_rb, & &1.6231e-05_rb,3.6132e-05_rb,6.5848e-06_rb/) kao(:, 5, 3, 2) = (/ & &2.7146e-05_rb,3.0591e-05_rb,3.0801e-05_rb,2.9528e-05_rb,2.6930e-05_rb,2.3450e-05_rb, & &1.7771e-05_rb,3.6010e-05_rb,8.7258e-06_rb/) kao(:, 1, 4, 2) = (/ & &2.6397e-05_rb,2.4798e-05_rb,2.2448e-05_rb,1.9931e-05_rb,1.6167e-05_rb,1.1187e-05_rb, & &1.9967e-05_rb,5.0094e-05_rb,2.6889e-06_rb/) kao(:, 2, 4, 2) = (/ & &3.3110e-05_rb,3.1403e-05_rb,2.8621e-05_rb,2.5685e-05_rb,2.2077e-05_rb,1.6320e-05_rb, & &1.2528e-05_rb,5.0766e-05_rb,3.5011e-06_rb/) kao(:, 3, 4, 2) = (/ & &4.1079e-05_rb,3.9262e-05_rb,3.5800e-05_rb,3.2065e-05_rb,2.7986e-05_rb,2.3135e-05_rb, & &1.5357e-05_rb,4.2293e-05_rb,3.6570e-06_rb/) kao(:, 4, 4, 2) = (/ & &4.9814e-05_rb,4.8178e-05_rb,4.4142e-05_rb,4.0008e-05_rb,3.5086e-05_rb,2.9575e-05_rb, & &2.2305e-05_rb,2.4338e-05_rb,5.5271e-06_rb/) kao(:, 5, 4, 2) = (/ & &5.8999e-05_rb,5.7911e-05_rb,5.3941e-05_rb,4.9131e-05_rb,4.3508e-05_rb,3.6745e-05_rb, & &2.8595e-05_rb,1.7749e-05_rb,7.9465e-06_rb/) kao(:, 1, 5, 2) = (/ & &5.2146e-05_rb,4.7415e-05_rb,4.1895e-05_rb,3.6100e-05_rb,2.9831e-05_rb,2.2853e-05_rb, & &1.2797e-05_rb,3.5615e-05_rb,1.8756e-06_rb/) kao(:, 2, 5, 2) = (/ & &6.6386e-05_rb,6.0667e-05_rb,5.3871e-05_rb,4.6587e-05_rb,3.8801e-05_rb,3.0645e-05_rb, & &1.9749e-05_rb,1.7747e-05_rb,1.8651e-06_rb/) kao(:, 3, 5, 2) = (/ & &8.2249e-05_rb,7.5613e-05_rb,6.7372e-05_rb,5.8338e-05_rb,4.8872e-05_rb,3.9037e-05_rb, & &2.7917e-05_rb,1.3785e-05_rb,2.9415e-06_rb/) kao(:, 4, 5, 2) = (/ & &1.0042e-04_rb,9.2832e-05_rb,8.2527e-05_rb,7.1569e-05_rb,6.0116e-05_rb,4.8290e-05_rb, & &3.5743e-05_rb,1.9373e-05_rb,4.5717e-06_rb/) kao(:, 5, 5, 2) = (/ & &1.2062e-04_rb,1.1245e-04_rb,1.0036e-04_rb,8.7051e-05_rb,7.3237e-05_rb,5.8949e-05_rb, & &4.4093e-05_rb,2.6901e-05_rb,6.6085e-06_rb/) kao(:, 1, 6, 2) = (/ & &9.7868e-05_rb,8.7352e-05_rb,7.6231e-05_rb,6.4624e-05_rb,5.2909e-05_rb,4.0689e-05_rb, & &2.7103e-05_rb,1.2458e-05_rb,1.0529e-06_rb/) kao(:, 2, 6, 2) = (/ & &1.2683e-04_rb,1.1378e-04_rb,9.9028e-05_rb,8.4157e-05_rb,6.8945e-05_rb,5.3462e-05_rb, & &3.6917e-05_rb,1.5991e-05_rb,1.3630e-06_rb/) kao(:, 3, 6, 2) = (/ & &1.5959e-04_rb,1.4323e-04_rb,1.2528e-04_rb,1.0669e-04_rb,8.7707e-05_rb,6.8030e-05_rb, & &4.7823e-05_rb,2.4263e-05_rb,2.3097e-06_rb/) kao(:, 4, 6, 2) = (/ & &1.9648e-04_rb,1.7730e-04_rb,1.5536e-04_rb,1.3239e-04_rb,1.0876e-04_rb,8.4595e-05_rb, & &5.9848e-05_rb,3.3068e-05_rb,3.7113e-06_rb/) kao(:, 5, 6, 2) = (/ & &2.3620e-04_rb,2.1365e-04_rb,1.8738e-04_rb,1.5973e-04_rb,1.3145e-04_rb,1.0268e-04_rb, & &7.2957e-05_rb,4.1703e-05_rb,5.6387e-06_rb/) kao(:, 1, 7, 2) = (/ & &1.9683e-04_rb,1.7373e-04_rb,1.5000e-04_rb,1.2604e-04_rb,1.0197e-04_rb,7.7797e-05_rb, & &5.2829e-05_rb,2.4870e-05_rb,6.2713e-07_rb/) kao(:, 2, 7, 2) = (/ & &2.5760e-04_rb,2.2793e-04_rb,1.9707e-04_rb,1.6593e-04_rb,1.3495e-04_rb,1.0291e-04_rb, & &7.0455e-05_rb,3.6046e-05_rb,1.0898e-06_rb/) kao(:, 3, 7, 2) = (/ & &3.2772e-04_rb,2.9045e-04_rb,2.5191e-04_rb,2.1251e-04_rb,1.7232e-04_rb,1.3160e-04_rb, & &9.0425e-05_rb,4.7870e-05_rb,1.9368e-06_rb/) kao(:, 4, 7, 2) = (/ & &4.0755e-04_rb,3.6253e-04_rb,3.1479e-04_rb,2.6553e-04_rb,2.1537e-04_rb,1.6486e-04_rb, & &1.1337e-04_rb,6.0602e-05_rb,3.1700e-06_rb/) kao(:, 5, 7, 2) = (/ & &4.9614e-04_rb,4.4343e-04_rb,3.8479e-04_rb,3.2448e-04_rb,2.6368e-04_rb,2.0203e-04_rb, & &1.3939e-04_rb,7.4791e-05_rb,4.9446e-06_rb/) kao(:, 1, 8, 2) = (/ & &5.0097e-04_rb,4.3939e-04_rb,3.7796e-04_rb,3.1605e-04_rb,2.5384e-04_rb,1.9144e-04_rb, & &1.2886e-04_rb,6.5770e-05_rb,4.5473e-07_rb/) kao(:, 2, 8, 2) = (/ & &6.6297e-04_rb,5.8193e-04_rb,5.0094e-04_rb,4.1901e-04_rb,3.3675e-04_rb,2.5431e-04_rb, & &1.7173e-04_rb,8.8413e-05_rb,9.2809e-07_rb/) kao(:, 3, 8, 2) = (/ & &8.5051e-04_rb,7.4751e-04_rb,6.4368e-04_rb,5.3885e-04_rb,4.3363e-04_rb,3.2808e-04_rb, & &2.2228e-04_rb,1.1512e-04_rb,1.7364e-06_rb/) kao(:, 4, 8, 2) = (/ & &1.0693e-03_rb,9.4111e-04_rb,8.1096e-04_rb,6.7960e-04_rb,5.4760e-04_rb,4.1579e-04_rb, & &2.8187e-04_rb,1.4563e-04_rb,2.9681e-06_rb/) kao(:, 5, 8, 2) = (/ & &1.3123e-03_rb,1.1563e-03_rb,9.9722e-04_rb,8.3695e-04_rb,6.7599e-04_rb,5.1257e-04_rb, & &3.4753e-04_rb,1.7994e-04_rb,4.7447e-06_rb/) kao(:, 1, 9, 2) = (/ & &2.4740e-03_rb,2.1654e-03_rb,1.8568e-03_rb,1.5484e-03_rb,1.2400e-03_rb,9.3161e-04_rb, & &6.2283e-04_rb,3.1298e-04_rb,4.6685e-07_rb/) kao(:, 2, 9, 2) = (/ & &3.2850e-03_rb,2.8753e-03_rb,2.4661e-03_rb,2.0570e-03_rb,1.6482e-03_rb,1.2389e-03_rb, & &8.2844e-04_rb,4.1698e-04_rb,9.7197e-07_rb/) kao(:, 3, 9, 2) = (/ & &4.2422e-03_rb,3.7138e-03_rb,3.1860e-03_rb,2.6588e-03_rb,2.1312e-03_rb,1.6022e-03_rb, & &1.0719e-03_rb,5.4052e-04_rb,1.8767e-06_rb/) kao(:, 4, 9, 2) = (/ & &5.3553e-03_rb,4.6891e-03_rb,4.0243e-03_rb,3.3598e-03_rb,2.6939e-03_rb,2.0261e-03_rb, & &1.3568e-03_rb,6.8626e-04_rb,3.3456e-06_rb/) kao(:, 5, 9, 2) = (/ & &6.6220e-03_rb,5.7995e-03_rb,4.9792e-03_rb,4.1587e-03_rb,3.3345e-03_rb,2.5085e-03_rb, & &1.6821e-03_rb,8.5317e-04_rb,5.6245e-06_rb/) kao(:, 1,10, 2) = (/ & &1.5050e-02_rb,1.3169e-02_rb,1.1289e-02_rb,9.4076e-03_rb,7.5270e-03_rb,5.6463e-03_rb, & &3.7658e-03_rb,1.8853e-03_rb,4.7266e-07_rb/) kao(:, 2,10, 2) = (/ & &1.9971e-02_rb,1.7476e-02_rb,1.4981e-02_rb,1.2485e-02_rb,9.9900e-03_rb,7.4947e-03_rb, & &4.9999e-03_rb,2.5053e-03_rb,1.0606e-06_rb/) kao(:, 3,10, 2) = (/ & &2.5996e-02_rb,2.2748e-02_rb,1.9499e-02_rb,1.6252e-02_rb,1.3005e-02_rb,9.7575e-03_rb, & &6.5102e-03_rb,3.2633e-03_rb,2.1957e-06_rb/) kao(:, 4,10, 2) = (/ & &3.3067e-02_rb,2.8935e-02_rb,2.4804e-02_rb,2.0673e-02_rb,1.6543e-02_rb,1.2414e-02_rb, & &8.2853e-03_rb,4.1549e-03_rb,4.2322e-06_rb/) kao(:, 5,10, 2) = (/ & &4.1113e-02_rb,3.5978e-02_rb,3.0842e-02_rb,2.5708e-02_rb,2.0575e-02_rb,1.5443e-02_rb, & &1.0311e-02_rb,5.1716e-03_rb,7.6651e-06_rb/) kao(:, 1,11, 2) = (/ & &3.5447e-02_rb,3.1017e-02_rb,2.6586e-02_rb,2.2156e-02_rb,1.7726e-02_rb,1.3295e-02_rb, & &8.8649e-03_rb,4.4348e-03_rb,5.0606e-07_rb/) kao(:, 2,11, 2) = (/ & &4.6742e-02_rb,4.0900e-02_rb,3.5058e-02_rb,2.9216e-02_rb,2.3374e-02_rb,1.7532e-02_rb, & &1.1691e-02_rb,5.8504e-03_rb,1.1095e-06_rb/) kao(:, 3,11, 2) = (/ & &6.0406e-02_rb,5.2857e-02_rb,4.5306e-02_rb,3.7757e-02_rb,3.0208e-02_rb,2.2660e-02_rb, & &1.5111e-02_rb,7.5645e-03_rb,2.3165e-06_rb/) kao(:, 4,11, 2) = (/ & &7.6519e-02_rb,6.6955e-02_rb,5.7393e-02_rb,4.7830e-02_rb,3.8268e-02_rb,2.8708e-02_rb, & &1.9148e-02_rb,9.5895e-03_rb,4.5048e-06_rb/) kao(:, 5,11, 2) = (/ & &9.5074e-02_rb,8.3196e-02_rb,7.1315e-02_rb,5.9435e-02_rb,4.7553e-02_rb,3.5677e-02_rb, & &2.3800e-02_rb,1.1926e-02_rb,8.0597e-06_rb/) kao(:, 1,12, 2) = (/ & &5.2692e-02_rb,4.6104e-02_rb,3.9518e-02_rb,3.2933e-02_rb,2.6346e-02_rb,1.9761e-02_rb, & &1.3176e-02_rb,6.5900e-03_rb,4.7314e-07_rb/) kao(:, 2,12, 2) = (/ & &6.9235e-02_rb,6.0581e-02_rb,5.1926e-02_rb,4.3273e-02_rb,3.4620e-02_rb,2.5967e-02_rb, & &1.7314e-02_rb,8.6616e-03_rb,1.0517e-06_rb/) kao(:, 3,12, 2) = (/ & &8.9222e-02_rb,7.8070e-02_rb,6.6918e-02_rb,5.5767e-02_rb,4.4616e-02_rb,3.3465e-02_rb, & &2.2315e-02_rb,1.1167e-02_rb,2.1820e-06_rb/) kao(:, 4,12, 2) = (/ & &1.1266e-01_rb,9.8579e-02_rb,8.4496e-02_rb,7.0418e-02_rb,5.6336e-02_rb,4.2258e-02_rb, & &2.8182e-02_rb,1.4107e-02_rb,4.2014e-06_rb/) kao(:, 5,12, 2) = (/ & &1.3942e-01_rb,1.2199e-01_rb,1.0457e-01_rb,8.7148e-02_rb,6.9722e-02_rb,5.2304e-02_rb, & &3.4887e-02_rb,1.7469e-02_rb,7.4819e-06_rb/) kao(:, 1,13, 2) = (/ & &6.2876e-02_rb,5.5018e-02_rb,4.7159e-02_rb,3.9299e-02_rb,3.1440e-02_rb,2.3581e-02_rb, & &1.5722e-02_rb,7.8632e-03_rb,4.0954e-07_rb/) kao(:, 2,13, 2) = (/ & &8.2400e-02_rb,7.2100e-02_rb,6.1801e-02_rb,5.1502e-02_rb,4.1203e-02_rb,3.0903e-02_rb, & &2.0605e-02_rb,1.0307e-02_rb,9.1322e-07_rb/) kao(:, 3,13, 2) = (/ & &1.0586e-01_rb,9.2633e-02_rb,7.9402e-02_rb,6.6169e-02_rb,5.2938e-02_rb,3.9706e-02_rb, & &2.6476e-02_rb,1.3248e-02_rb,1.8983e-06_rb/) kao(:, 4,13, 2) = (/ & &1.3330e-01_rb,1.1664e-01_rb,9.9979e-02_rb,8.3320e-02_rb,6.6657e-02_rb,4.9998e-02_rb, & &3.3342e-02_rb,1.6688e-02_rb,3.6054e-06_rb/) kao(:, 5,13, 2) = (/ & &1.6451e-01_rb,1.4395e-01_rb,1.2339e-01_rb,1.0283e-01_rb,8.2267e-02_rb,6.1710e-02_rb, & &4.1158e-02_rb,2.0605e-02_rb,6.1726e-06_rb/) kao(:, 1, 1, 3) = (/ & &1.0158e-05_rb,1.3198e-05_rb,1.2933e-05_rb,1.7710e-05_rb,3.0455e-05_rb,3.0829e-05_rb, & &3.6460e-05_rb,4.7058e-05_rb,1.7479e-05_rb/) kao(:, 2, 1, 3) = (/ & &1.1438e-05_rb,1.5570e-05_rb,1.6943e-05_rb,1.4755e-05_rb,2.6165e-05_rb,3.0134e-05_rb, & &3.4781e-05_rb,5.6113e-05_rb,2.1722e-05_rb/) kao(:, 3, 1, 3) = (/ & &1.2956e-05_rb,1.8129e-05_rb,1.9971e-05_rb,1.8485e-05_rb,1.6628e-05_rb,3.1264e-05_rb, & &3.4010e-05_rb,5.1158e-05_rb,2.4518e-05_rb/) kao(:, 4, 1, 3) = (/ & &1.4615e-05_rb,2.0830e-05_rb,2.2660e-05_rb,2.2625e-05_rb,1.9967e-05_rb,2.4812e-05_rb, & &3.9103e-05_rb,5.0423e-05_rb,1.7758e-05_rb/) kao(:, 5, 1, 3) = (/ & &1.6017e-05_rb,2.3480e-05_rb,2.5498e-05_rb,2.6186e-05_rb,2.5773e-05_rb,1.9360e-05_rb, & &3.6373e-05_rb,5.8002e-05_rb,2.1777e-05_rb/) kao(:, 1, 2, 3) = (/ & &1.6325e-05_rb,1.8415e-05_rb,1.8317e-05_rb,1.4470e-05_rb,2.4482e-05_rb,3.9161e-05_rb, & &3.6427e-05_rb,3.6776e-05_rb,1.2226e-05_rb/) kao(:, 2, 2, 3) = (/ & &1.8436e-05_rb,2.1492e-05_rb,2.2101e-05_rb,2.0928e-05_rb,1.7486e-05_rb,3.4569e-05_rb, & &3.4173e-05_rb,4.1432e-05_rb,1.6945e-05_rb/) kao(:, 3, 2, 3) = (/ & &2.0725e-05_rb,2.4812e-05_rb,2.5608e-05_rb,2.5315e-05_rb,2.0861e-05_rb,2.2865e-05_rb, & &3.3858e-05_rb,3.7106e-05_rb,1.4100e-05_rb/) kao(:, 4, 2, 3) = (/ & &2.3257e-05_rb,2.7888e-05_rb,2.9222e-05_rb,2.9285e-05_rb,2.7055e-05_rb,2.2581e-05_rb, & &3.3589e-05_rb,3.8281e-05_rb,1.2084e-05_rb/) kao(:, 5, 2, 3) = (/ & &2.5809e-05_rb,3.1443e-05_rb,3.3009e-05_rb,3.2988e-05_rb,3.1499e-05_rb,2.8005e-05_rb, & &2.1824e-05_rb,4.6522e-05_rb,1.8788e-05_rb/) kao(:, 1, 3, 3) = (/ & &3.6153e-05_rb,3.6160e-05_rb,3.3889e-05_rb,3.0515e-05_rb,2.3824e-05_rb,2.0510e-05_rb, & &5.5046e-05_rb,4.3679e-05_rb,8.4874e-06_rb/) kao(:, 2, 3, 3) = (/ & &4.1441e-05_rb,4.2015e-05_rb,3.9744e-05_rb,3.6451e-05_rb,3.1872e-05_rb,2.2157e-05_rb, & &3.7036e-05_rb,4.0290e-05_rb,7.7192e-06_rb/) kao(:, 3, 3, 3) = (/ & &4.6667e-05_rb,4.8191e-05_rb,4.5785e-05_rb,4.2457e-05_rb,3.7818e-05_rb,3.1272e-05_rb, & &2.3354e-05_rb,3.9936e-05_rb,6.8348e-06_rb/) kao(:, 4, 3, 3) = (/ & &5.1877e-05_rb,5.4060e-05_rb,5.1719e-05_rb,4.8126e-05_rb,4.3652e-05_rb,3.8051e-05_rb, & &2.7576e-05_rb,4.1113e-05_rb,1.0881e-05_rb/) kao(:, 5, 3, 3) = (/ & &5.7673e-05_rb,6.0087e-05_rb,5.7843e-05_rb,5.4035e-05_rb,4.9732e-05_rb,4.3859e-05_rb, & &3.4661e-05_rb,3.3926e-05_rb,1.5564e-05_rb/) kao(:, 1, 4, 3) = (/ & &8.1569e-05_rb,7.6506e-05_rb,6.9052e-05_rb,6.0598e-05_rb,5.1130e-05_rb,3.9208e-05_rb, & &2.1647e-05_rb,7.1331e-05_rb,4.7464e-06_rb/) kao(:, 2, 4, 3) = (/ & &9.5409e-05_rb,8.9513e-05_rb,8.1016e-05_rb,7.1228e-05_rb,6.0322e-05_rb,4.8270e-05_rb, & &3.1172e-05_rb,4.9123e-05_rb,3.8536e-06_rb/) kao(:, 3, 4, 3) = (/ & &1.0835e-04_rb,1.0286e-04_rb,9.3383e-05_rb,8.2438e-05_rb,7.0089e-05_rb,5.7019e-05_rb, & &4.1480e-05_rb,3.2272e-05_rb,5.8347e-06_rb/) kao(:, 4, 4, 3) = (/ & &1.2088e-04_rb,1.1587e-04_rb,1.0589e-04_rb,9.3297e-05_rb,7.9862e-05_rb,6.5329e-05_rb, & &4.9231e-05_rb,2.5421e-05_rb,9.1036e-06_rb/) kao(:, 5, 4, 3) = (/ & &1.3349e-04_rb,1.2852e-04_rb,1.1738e-04_rb,1.0384e-04_rb,8.9286e-05_rb,7.3614e-05_rb, & &5.6906e-05_rb,3.4260e-05_rb,1.3290e-05_rb/) kao(:, 1, 5, 3) = (/ & &1.7345e-04_rb,1.5727e-04_rb,1.3841e-04_rb,1.1872e-04_rb,9.8241e-05_rb,7.6833e-05_rb, & &5.2762e-05_rb,2.6555e-05_rb,1.9880e-06_rb/) kao(:, 2, 5, 3) = (/ & &2.0342e-04_rb,1.8508e-04_rb,1.6349e-04_rb,1.4064e-04_rb,1.1678e-04_rb,9.1597e-05_rb, & &6.4678e-05_rb,2.5634e-05_rb,3.0971e-06_rb/) kao(:, 3, 5, 3) = (/ & &2.3455e-04_rb,2.1397e-04_rb,1.8954e-04_rb,1.6295e-04_rb,1.3528e-04_rb,1.0632e-04_rb, & &7.5971e-05_rb,4.0302e-05_rb,5.0300e-06_rb/) kao(:, 4, 5, 3) = (/ & &2.6426e-04_rb,2.4201e-04_rb,2.1476e-04_rb,1.8503e-04_rb,1.5431e-04_rb,1.2132e-04_rb, & &8.7057e-05_rb,4.9691e-05_rb,7.6275e-06_rb/) kao(:, 5, 5, 3) = (/ & &2.9276e-04_rb,2.6878e-04_rb,2.3851e-04_rb,2.0652e-04_rb,1.7242e-04_rb,1.3630e-04_rb, & &9.8498e-05_rb,5.7853e-05_rb,1.1134e-05_rb/) kao(:, 1, 6, 3) = (/ & &3.5315e-04_rb,3.1458e-04_rb,2.7325e-04_rb,2.3096e-04_rb,1.8808e-04_rb,1.4453e-04_rb, & &9.9918e-05_rb,4.6331e-05_rb,1.2347e-06_rb/) kao(:, 2, 6, 3) = (/ & &4.1518e-04_rb,3.7021e-04_rb,3.2222e-04_rb,2.7318e-04_rb,2.2345e-04_rb,1.7257e-04_rb, & &1.2006e-04_rb,6.3507e-05_rb,2.6453e-06_rb/) kao(:, 3, 6, 3) = (/ & &4.8020e-04_rb,4.2942e-04_rb,3.7435e-04_rb,3.1847e-04_rb,2.6105e-04_rb,2.0180e-04_rb, & &1.4068e-04_rb,7.6253e-05_rb,4.2798e-06_rb/) kao(:, 4, 6, 3) = (/ & &5.4571e-04_rb,4.8797e-04_rb,4.2639e-04_rb,3.6432e-04_rb,2.9826e-04_rb,2.3028e-04_rb, & &1.6074e-04_rb,8.8155e-05_rb,6.6580e-06_rb/) kao(:, 5, 6, 3) = (/ & &6.1051e-04_rb,5.4685e-04_rb,4.8080e-04_rb,4.0919e-04_rb,3.3486e-04_rb,2.5913e-04_rb, & &1.8080e-04_rb,9.9384e-05_rb,9.9722e-06_rb/) kao(:, 1, 7, 3) = (/ & &7.5693e-04_rb,6.6624e-04_rb,5.7513e-04_rb,4.8344e-04_rb,3.9061e-04_rb,2.9600e-04_rb, & &2.0095e-04_rb,1.0427e-04_rb,1.0591e-06_rb/) kao(:, 2, 7, 3) = (/ & &8.9608e-04_rb,7.8973e-04_rb,6.8311e-04_rb,5.7440e-04_rb,4.6329e-04_rb,3.5236e-04_rb, & &2.4053e-04_rb,1.2653e-04_rb,2.0677e-06_rb/) kao(:, 3, 7, 3) = (/ & &1.0434e-03_rb,9.2160e-04_rb,7.9776e-04_rb,6.7036e-04_rb,5.4238e-04_rb,4.1393e-04_rb, & &2.8414e-04_rb,1.5011e-04_rb,3.4509e-06_rb/) kao(:, 4, 7, 3) = (/ & &1.1912e-03_rb,1.0536e-03_rb,9.1065e-04_rb,7.6644e-04_rb,6.2208e-04_rb,4.7601e-04_rb, & &3.2680e-04_rb,1.7285e-04_rb,5.5547e-06_rb/) kao(:, 5, 7, 3) = (/ & &1.3354e-03_rb,1.1809e-03_rb,1.0220e-03_rb,8.6241e-04_rb,7.0147e-04_rb,5.3735e-04_rb, & &3.6893e-04_rb,1.9541e-04_rb,8.3477e-06_rb/) kao(:, 1, 8, 3) = (/ & &2.0322e-03_rb,1.7810e-03_rb,1.5293e-03_rb,1.2777e-03_rb,1.0262e-03_rb,7.7431e-04_rb, & &5.2105e-04_rb,2.6538e-04_rb,9.6103e-07_rb/) kao(:, 2, 8, 3) = (/ & &2.4399e-03_rb,2.1393e-03_rb,1.8380e-03_rb,1.5373e-03_rb,1.2364e-03_rb,9.3375e-04_rb, & &6.2913e-04_rb,3.2110e-04_rb,1.7921e-06_rb/) kao(:, 3, 8, 3) = (/ & &2.8537e-03_rb,2.5030e-03_rb,2.1528e-03_rb,1.8027e-03_rb,1.4507e-03_rb,1.0966e-03_rb, & &7.3847e-04_rb,3.7883e-04_rb,3.0446e-06_rb/) kao(:, 4, 8, 3) = (/ & &3.2833e-03_rb,2.8808e-03_rb,2.4800e-03_rb,2.0779e-03_rb,1.6729e-03_rb,1.2622e-03_rb, & &8.5179e-04_rb,4.3974e-04_rb,4.8671e-06_rb/) kao(:, 5, 8, 3) = (/ & &3.6992e-03_rb,3.2483e-03_rb,2.7990e-03_rb,2.3454e-03_rb,1.8857e-03_rb,1.4259e-03_rb, & &9.6561e-04_rb,4.9917e-04_rb,7.5866e-06_rb/) kao(:, 1, 9, 3) = (/ & &1.0280e-02_rb,8.9965e-03_rb,7.7134e-03_rb,6.4300e-03_rb,5.1466e-03_rb,3.8628e-03_rb, & &2.5792e-03_rb,1.2964e-03_rb,9.2162e-07_rb/) kao(:, 2, 9, 3) = (/ & &1.2564e-02_rb,1.0997e-02_rb,9.4289e-03_rb,7.8609e-03_rb,6.2929e-03_rb,4.7248e-03_rb, & &3.1577e-03_rb,1.5902e-03_rb,1.8412e-06_rb/) kao(:, 3, 9, 3) = (/ & &1.4876e-02_rb,1.3021e-02_rb,1.1166e-02_rb,9.3099e-03_rb,7.4544e-03_rb,5.6000e-03_rb, & &3.7464e-03_rb,1.8890e-03_rb,3.6551e-06_rb/) kao(:, 4, 9, 3) = (/ & &1.7233e-02_rb,1.5085e-02_rb,1.2936e-02_rb,1.0788e-02_rb,8.6402e-03_rb,6.4946e-03_rb, & &4.3480e-03_rb,2.1937e-03_rb,6.4505e-06_rb/) kao(:, 5, 9, 3) = (/ & &1.9529e-02_rb,1.7097e-02_rb,1.4665e-02_rb,1.2232e-02_rb,9.8022e-03_rb,7.3739e-03_rb, & &4.9380e-03_rb,2.4934e-03_rb,1.0329e-05_rb/) kao(:, 1,10, 3) = (/ & &6.2934e-02_rb,5.5068e-02_rb,4.7203e-02_rb,3.9337e-02_rb,3.1472e-02_rb,2.3606e-02_rb, & &1.5740e-02_rb,7.8743e-03_rb,1.2141e-06_rb/) kao(:, 2,10, 3) = (/ & &7.7985e-02_rb,6.8239e-02_rb,5.8492e-02_rb,4.8746e-02_rb,3.8999e-02_rb,2.9252e-02_rb, & &1.9507e-02_rb,9.7597e-03_rb,2.5517e-06_rb/) kao(:, 3,10, 3) = (/ & &9.3312e-02_rb,8.1650e-02_rb,6.9991e-02_rb,5.8328e-02_rb,4.6667e-02_rb,3.5007e-02_rb, & &2.3345e-02_rb,1.1684e-02_rb,4.6909e-06_rb/) kao(:, 4,10, 3) = (/ & &1.0852e-01_rb,9.4962e-02_rb,8.1401e-02_rb,6.7840e-02_rb,5.4279e-02_rb,4.0718e-02_rb, & &2.7157e-02_rb,1.3598e-02_rb,7.7426e-06_rb/) kao(:, 5,10, 3) = (/ & &1.2387e-01_rb,1.0840e-01_rb,9.2920e-02_rb,7.7443e-02_rb,6.1965e-02_rb,4.6488e-02_rb, & &3.1009e-02_rb,1.5537e-02_rb,1.2033e-05_rb/) kao(:, 1,11, 3) = (/ & &1.4431e-01_rb,1.2627e-01_rb,1.0823e-01_rb,9.0195e-02_rb,7.2157e-02_rb,5.4120e-02_rb, & &3.6082e-02_rb,1.8045e-02_rb,1.2885e-06_rb/) kao(:, 2,11, 3) = (/ & &1.7767e-01_rb,1.5546e-01_rb,1.3326e-01_rb,1.1105e-01_rb,8.8842e-02_rb,6.6637e-02_rb, & &4.4429e-02_rb,2.2220e-02_rb,2.6746e-06_rb/) kao(:, 3,11, 3) = (/ & &2.1192e-01_rb,1.8543e-01_rb,1.5895e-01_rb,1.3246e-01_rb,1.0597e-01_rb,7.9483e-02_rb, & &5.2995e-02_rb,2.6507e-02_rb,4.8840e-06_rb/) kao(:, 4,11, 3) = (/ & &2.4571e-01_rb,2.1501e-01_rb,1.8430e-01_rb,1.5358e-01_rb,1.2287e-01_rb,9.2163e-02_rb, & &6.1452e-02_rb,3.0740e-02_rb,7.9723e-06_rb/) kao(:, 5,11, 3) = (/ & &2.7981e-01_rb,2.4483e-01_rb,2.0987e-01_rb,1.7490e-01_rb,1.3993e-01_rb,1.0496e-01_rb, & &6.9988e-02_rb,3.5019e-02_rb,1.2223e-05_rb/) kao(:, 1,12, 3) = (/ & &2.0829e-01_rb,1.8226e-01_rb,1.5622e-01_rb,1.3018e-01_rb,1.0415e-01_rb,7.8112e-02_rb, & &5.2077e-02_rb,2.6041e-02_rb,1.2025e-06_rb/) kao(:, 2,12, 3) = (/ & &2.5587e-01_rb,2.2388e-01_rb,1.9190e-01_rb,1.5992e-01_rb,1.2794e-01_rb,9.5954e-02_rb, & &6.3973e-02_rb,3.1992e-02_rb,2.4634e-06_rb/) kao(:, 3,12, 3) = (/ & &3.0401e-01_rb,2.6600e-01_rb,2.2801e-01_rb,1.9001e-01_rb,1.5201e-01_rb,1.1401e-01_rb, & &7.6014e-02_rb,3.8015e-02_rb,4.4929e-06_rb/) kao(:, 4,12, 3) = (/ & &3.5185e-01_rb,3.0787e-01_rb,2.6390e-01_rb,2.1992e-01_rb,1.7594e-01_rb,1.3196e-01_rb, & &8.7984e-02_rb,4.4005e-02_rb,7.2358e-06_rb/) kao(:, 5,12, 3) = (/ & &3.9955e-01_rb,3.4961e-01_rb,2.9967e-01_rb,2.4973e-01_rb,1.9980e-01_rb,1.4985e-01_rb, & &9.9920e-02_rb,4.9982e-02_rb,1.1171e-05_rb/) kao(:, 1,13, 3) = (/ & &2.4192e-01_rb,2.1167e-01_rb,1.8143e-01_rb,1.5120e-01_rb,1.2096e-01_rb,9.0718e-02_rb, & &6.0481e-02_rb,3.0243e-02_rb,1.0138e-06_rb/) kao(:, 2,13, 3) = (/ & &2.9636e-01_rb,2.5932e-01_rb,2.2227e-01_rb,1.8523e-01_rb,1.4819e-01_rb,1.1114e-01_rb, & &7.4096e-02_rb,3.7053e-02_rb,2.0810e-06_rb/) kao(:, 3,13, 3) = (/ & &3.5109e-01_rb,3.0721e-01_rb,2.6332e-01_rb,2.1944e-01_rb,1.7555e-01_rb,1.3167e-01_rb, & &8.7782e-02_rb,4.3898e-02_rb,3.6752e-06_rb/) kao(:, 4,13, 3) = (/ & &4.0523e-01_rb,3.5457e-01_rb,3.0393e-01_rb,2.5327e-01_rb,2.0263e-01_rb,1.5197e-01_rb, & &1.0132e-01_rb,5.0676e-02_rb,6.1123e-06_rb/) kao(:, 5,13, 3) = (/ & &4.5914e-01_rb,4.0175e-01_rb,3.4437e-01_rb,2.8698e-01_rb,2.2959e-01_rb,1.7221e-01_rb, & &1.1482e-01_rb,5.7432e-02_rb,9.7404e-06_rb/) kao(:, 1, 1, 4) = (/ & &2.1350e-05_rb,2.4552e-05_rb,2.3723e-05_rb,1.5777e-05_rb,2.7169e-05_rb,3.2921e-05_rb, & &3.9368e-05_rb,6.8629e-05_rb,2.6626e-05_rb/) kao(:, 2, 1, 4) = (/ & &2.2878e-05_rb,2.6833e-05_rb,2.6737e-05_rb,2.0377e-05_rb,2.2142e-05_rb,3.1966e-05_rb, & &4.1566e-05_rb,6.1320e-05_rb,2.3858e-05_rb/) kao(:, 3, 1, 4) = (/ & &2.3851e-05_rb,2.8963e-05_rb,2.9322e-05_rb,2.7907e-05_rb,1.9726e-05_rb,2.5598e-05_rb, & &4.2650e-05_rb,6.7498e-05_rb,2.1250e-05_rb/) kao(:, 4, 1, 4) = (/ & &2.4297e-05_rb,3.1053e-05_rb,3.2431e-05_rb,3.1771e-05_rb,2.7799e-05_rb,2.0892e-05_rb, & &3.7144e-05_rb,7.1944e-05_rb,2.3747e-05_rb/) kao(:, 5, 1, 4) = (/ & &2.4515e-05_rb,3.3133e-05_rb,3.5554e-05_rb,3.5376e-05_rb,3.4171e-05_rb,2.9240e-05_rb, & &2.7955e-05_rb,6.5059e-05_rb,3.8779e-05_rb/) kao(:, 1, 2, 4) = (/ & &3.5233e-05_rb,3.6967e-05_rb,3.5192e-05_rb,3.0346e-05_rb,1.9517e-05_rb,3.6227e-05_rb, & &3.6486e-05_rb,4.4755e-05_rb,1.7210e-05_rb/) kao(:, 2, 2, 4) = (/ & &3.7659e-05_rb,4.0104e-05_rb,3.8633e-05_rb,3.5461e-05_rb,2.4007e-05_rb,2.9205e-05_rb, & &3.6839e-05_rb,4.4274e-05_rb,1.6582e-05_rb/) kao(:, 3, 2, 4) = (/ & &3.9567e-05_rb,4.2994e-05_rb,4.2107e-05_rb,3.9324e-05_rb,3.3808e-05_rb,2.0621e-05_rb, & &3.2387e-05_rb,5.0199e-05_rb,1.2696e-05_rb/) kao(:, 4, 2, 4) = (/ & &4.0697e-05_rb,4.5929e-05_rb,4.5740e-05_rb,4.2992e-05_rb,3.9709e-05_rb,2.8967e-05_rb, & &2.4180e-05_rb,4.8120e-05_rb,2.0582e-05_rb/) kao(:, 5, 2, 4) = (/ & &4.1514e-05_rb,4.8565e-05_rb,4.9023e-05_rb,4.7662e-05_rb,4.4382e-05_rb,3.8389e-05_rb, & &2.5686e-05_rb,4.1842e-05_rb,3.1906e-05_rb/) kao(:, 1, 3, 4) = (/ & &8.1562e-05_rb,7.8380e-05_rb,7.1455e-05_rb,6.3207e-05_rb,5.2782e-05_rb,3.3109e-05_rb, & &4.1621e-05_rb,4.2434e-05_rb,8.8242e-06_rb/) kao(:, 2, 3, 4) = (/ & &8.6593e-05_rb,8.4470e-05_rb,7.7554e-05_rb,6.8896e-05_rb,5.8997e-05_rb,4.4824e-05_rb, & &3.0840e-05_rb,4.1510e-05_rb,8.5693e-06_rb/) kao(:, 3, 3, 4) = (/ & &9.1353e-05_rb,8.9996e-05_rb,8.3114e-05_rb,7.4541e-05_rb,6.4935e-05_rb,5.3159e-05_rb, & &2.8537e-05_rb,3.9838e-05_rb,1.1226e-05_rb/) kao(:, 4, 3, 4) = (/ & &9.5365e-05_rb,9.5648e-05_rb,8.9016e-05_rb,8.0719e-05_rb,7.0818e-05_rb,5.8632e-05_rb, & &4.0977e-05_rb,3.3245e-05_rb,1.8214e-05_rb/) kao(:, 5, 3, 4) = (/ & &9.7542e-05_rb,1.0001e-04_rb,9.4766e-05_rb,8.7247e-05_rb,7.6489e-05_rb,6.4569e-05_rb, & &5.1322e-05_rb,2.4346e-05_rb,2.6190e-05_rb/) kao(:, 1, 4, 4) = (/ & &1.9526e-04_rb,1.7866e-04_rb,1.5808e-04_rb,1.3593e-04_rb,1.1271e-04_rb,8.7918e-05_rb, & &5.1266e-05_rb,5.4774e-05_rb,4.6025e-06_rb/) kao(:, 2, 4, 4) = (/ & &2.0650e-04_rb,1.9062e-04_rb,1.6960e-04_rb,1.4698e-04_rb,1.2286e-04_rb,9.7273e-05_rb, & &6.7543e-05_rb,4.4150e-05_rb,5.6277e-06_rb/) kao(:, 3, 4, 4) = (/ & &2.1739e-04_rb,2.0276e-04_rb,1.8135e-04_rb,1.5734e-04_rb,1.3233e-04_rb,1.0548e-04_rb, & &7.6274e-05_rb,3.0228e-05_rb,9.8992e-06_rb/) kao(:, 4, 4, 4) = (/ & &2.2749e-04_rb,2.1410e-04_rb,1.9235e-04_rb,1.6801e-04_rb,1.4178e-04_rb,1.1383e-04_rb, & &8.3889e-05_rb,3.8831e-05_rb,1.4832e-05_rb/) kao(:, 5, 4, 4) = (/ & &2.3672e-04_rb,2.2535e-04_rb,2.0298e-04_rb,1.7817e-04_rb,1.5157e-04_rb,1.2285e-04_rb, & &9.1248e-05_rb,5.4055e-05_rb,2.0953e-05_rb/) kao(:, 1, 5, 4) = (/ & &4.3901e-04_rb,3.9096e-04_rb,3.4083e-04_rb,2.8855e-04_rb,2.3566e-04_rb,1.8135e-04_rb, & &1.2520e-04_rb,3.9791e-05_rb,2.8698e-06_rb/) kao(:, 2, 5, 4) = (/ & &4.6450e-04_rb,4.1602e-04_rb,3.6285e-04_rb,3.0879e-04_rb,2.5330e-04_rb,1.9642e-04_rb, & &1.3685e-04_rb,6.9096e-05_rb,4.7432e-06_rb/) kao(:, 3, 5, 4) = (/ & &4.8882e-04_rb,4.4052e-04_rb,3.8581e-04_rb,3.3048e-04_rb,2.7253e-04_rb,2.1160e-04_rb, & &1.4899e-04_rb,8.1167e-05_rb,8.1879e-06_rb/) kao(:, 4, 5, 4) = (/ & &5.1005e-04_rb,4.6303e-04_rb,4.0950e-04_rb,3.5246e-04_rb,2.9060e-04_rb,2.2675e-04_rb, & &1.6042e-04_rb,8.9994e-05_rb,1.2389e-05_rb/) kao(:, 5, 5, 4) = (/ & &5.2999e-04_rb,4.8642e-04_rb,4.3340e-04_rb,3.7157e-04_rb,3.0721e-04_rb,2.4050e-04_rb, & &1.7156e-04_rb,9.8341e-05_rb,1.7831e-05_rb/) kao(:, 1, 6, 4) = (/ & &9.3945e-04_rb,8.2623e-04_rb,7.1331e-04_rb,5.9949e-04_rb,4.8483e-04_rb,3.6836e-04_rb, & &2.5086e-04_rb,1.2938e-04_rb,2.1494e-06_rb/) kao(:, 2, 6, 4) = (/ & &1.0016e-03_rb,8.8499e-04_rb,7.6750e-04_rb,6.4657e-04_rb,5.2304e-04_rb,3.9902e-04_rb, & &2.7391e-04_rb,1.4413e-04_rb,3.8318e-06_rb/) kao(:, 3, 6, 4) = (/ & &1.0547e-03_rb,9.3464e-04_rb,8.1142e-04_rb,6.8349e-04_rb,5.5479e-04_rb,4.2609e-04_rb, & &2.9394e-04_rb,1.5646e-04_rb,6.4475e-06_rb/) kao(:, 4, 6, 4) = (/ & &1.1032e-03_rb,9.8345e-04_rb,8.5527e-04_rb,7.2211e-04_rb,5.9000e-04_rb,4.5529e-04_rb, & &3.1446e-04_rb,1.6904e-04_rb,9.9612e-06_rb/) kao(:, 5, 6, 4) = (/ & &1.1467e-03_rb,1.0269e-03_rb,8.9466e-04_rb,7.6180e-04_rb,6.2654e-04_rb,4.8317e-04_rb, & &3.3526e-04_rb,1.8155e-04_rb,1.4635e-05_rb/) kao(:, 1, 7, 4) = (/ & &2.0968e-03_rb,1.8382e-03_rb,1.5799e-03_rb,1.3200e-03_rb,1.0602e-03_rb,8.0055e-04_rb, & &5.3931e-04_rb,2.7613e-04_rb,1.7495e-06_rb/) kao(:, 2, 7, 4) = (/ & &2.2692e-03_rb,1.9926e-03_rb,1.7142e-03_rb,1.4356e-03_rb,1.1561e-03_rb,8.7560e-04_rb, & &5.9192e-04_rb,3.0494e-04_rb,3.2823e-06_rb/) kao(:, 3, 7, 4) = (/ & &2.3957e-03_rb,2.1065e-03_rb,1.8155e-03_rb,1.5242e-03_rb,1.2302e-03_rb,9.3213e-04_rb, & &6.3098e-04_rb,3.2845e-04_rb,5.4452e-06_rb/) kao(:, 4, 7, 4) = (/ & &2.5154e-03_rb,2.2153e-03_rb,1.9155e-03_rb,1.6120e-03_rb,1.3009e-03_rb,9.8717e-04_rb, & &6.7313e-04_rb,3.5215e-04_rb,8.4591e-06_rb/) kao(:, 5, 7, 4) = (/ & &2.6221e-03_rb,2.3149e-03_rb,2.0078e-03_rb,1.6896e-03_rb,1.3663e-03_rb,1.0418e-03_rb, & &7.1380e-04_rb,3.7558e-04_rb,1.3208e-05_rb/) kao(:, 1, 8, 4) = (/ & &5.9687e-03_rb,5.2249e-03_rb,4.4818e-03_rb,3.7390e-03_rb,2.9959e-03_rb,2.2513e-03_rb, & &1.5068e-03_rb,7.6107e-04_rb,1.5072e-06_rb/) kao(:, 2, 8, 4) = (/ & &6.4060e-03_rb,5.6103e-03_rb,4.8155e-03_rb,4.0184e-03_rb,3.2203e-03_rb,2.4232e-03_rb, & &1.6246e-03_rb,8.2361e-04_rb,2.9177e-06_rb/) kao(:, 3, 8, 4) = (/ & &6.8363e-03_rb,5.9919e-03_rb,5.1443e-03_rb,4.2950e-03_rb,3.4467e-03_rb,2.5980e-03_rb, & &1.7471e-03_rb,8.8934e-04_rb,5.0920e-06_rb/) kao(:, 4, 8, 4) = (/ & &7.1796e-03_rb,6.2954e-03_rb,5.4063e-03_rb,4.5177e-03_rb,3.6307e-03_rb,2.7430e-03_rb, & &1.8488e-03_rb,9.4284e-04_rb,8.3290e-06_rb/) kao(:, 5, 8, 4) = (/ & &7.5276e-03_rb,6.6017e-03_rb,5.6732e-03_rb,4.7473e-03_rb,3.8229e-03_rb,2.8925e-03_rb, & &1.9515e-03_rb,1.0013e-03_rb,1.2816e-05_rb/) kao(:, 1, 9, 4) = (/ & &3.2487e-02_rb,2.8428e-02_rb,2.4369e-02_rb,2.0309e-02_rb,1.6251e-02_rb,1.2192e-02_rb, & &8.1342e-03_rb,4.0755e-03_rb,1.9489e-06_rb/) kao(:, 2, 9, 4) = (/ & &3.4271e-02_rb,2.9992e-02_rb,2.5712e-02_rb,2.1432e-02_rb,1.7152e-02_rb,1.2873e-02_rb, & &8.5913e-03_rb,4.3059e-03_rb,3.6526e-06_rb/) kao(:, 3, 9, 4) = (/ & &3.6903e-02_rb,3.2297e-02_rb,2.7692e-02_rb,2.3087e-02_rb,1.8480e-02_rb,1.3870e-02_rb, & &9.2583e-03_rb,4.6485e-03_rb,5.8762e-06_rb/) kao(:, 4, 9, 4) = (/ & &3.8979e-02_rb,3.4119e-02_rb,2.9257e-02_rb,2.4392e-02_rb,1.9526e-02_rb,1.4659e-02_rb, & &9.7912e-03_rb,4.9264e-03_rb,9.0883e-06_rb/) kao(:, 5, 9, 4) = (/ & &4.0909e-02_rb,3.5808e-02_rb,3.0705e-02_rb,2.5602e-02_rb,2.0497e-02_rb,1.5392e-02_rb, & &1.0293e-02_rb,5.1880e-03_rb,1.4132e-05_rb/) kao(:, 1,10, 4) = (/ & &2.1003e-01_rb,1.8378e-01_rb,1.5753e-01_rb,1.3127e-01_rb,1.0502e-01_rb,7.8770e-02_rb, & &5.2516e-02_rb,2.6264e-02_rb,2.2708e-06_rb/) kao(:, 2,10, 4) = (/ & &2.2303e-01_rb,1.9515e-01_rb,1.6728e-01_rb,1.3940e-01_rb,1.1153e-01_rb,8.3651e-02_rb, & &5.5777e-02_rb,2.7901e-02_rb,4.3388e-06_rb/) kao(:, 3,10, 4) = (/ & &2.3715e-01_rb,2.0752e-01_rb,1.7788e-01_rb,1.4824e-01_rb,1.1861e-01_rb,8.8964e-02_rb, & &5.9326e-02_rb,2.9681e-02_rb,8.0389e-06_rb/) kao(:, 4,10, 4) = (/ & &2.5270e-01_rb,2.2113e-01_rb,1.8955e-01_rb,1.5796e-01_rb,1.2638e-01_rb,9.4802e-02_rb, & &6.3220e-02_rb,3.1633e-02_rb,1.4122e-05_rb/) kao(:, 5,10, 4) = (/ & &2.6544e-01_rb,2.3227e-01_rb,1.9911e-01_rb,1.6593e-01_rb,1.3276e-01_rb,9.9586e-02_rb, & &6.6411e-02_rb,3.3237e-02_rb,2.0958e-05_rb/) kao(:, 1,11, 4) = (/ & &4.6663e-01_rb,4.0831e-01_rb,3.4998e-01_rb,2.9165e-01_rb,2.3332e-01_rb,1.7500e-01_rb, & &1.1667e-01_rb,5.8341e-02_rb,2.3420e-06_rb/) kao(:, 2,11, 4) = (/ & &4.9719e-01_rb,4.3506e-01_rb,3.7290e-01_rb,3.1076e-01_rb,2.4862e-01_rb,1.8647e-01_rb, & &1.2432e-01_rb,6.2174e-02_rb,4.5807e-06_rb/) kao(:, 3,11, 4) = (/ & &5.2774e-01_rb,4.6176e-01_rb,3.9581e-01_rb,3.2984e-01_rb,2.6389e-01_rb,1.9793e-01_rb, & &1.3196e-01_rb,6.5997e-02_rb,8.8811e-06_rb/) kao(:, 4,11, 4) = (/ & &5.6221e-01_rb,4.9195e-01_rb,4.2167e-01_rb,3.5141e-01_rb,2.8114e-01_rb,2.1086e-01_rb, & &1.4059e-01_rb,7.0317e-02_rb,1.5538e-05_rb/) kao(:, 5,11, 4) = (/ & &5.9121e-01_rb,5.1732e-01_rb,4.4343e-01_rb,3.6953e-01_rb,2.9564e-01_rb,2.2174e-01_rb, & &1.4785e-01_rb,7.3949e-02_rb,2.4433e-05_rb/) kao(:, 1,12, 4) = (/ & &6.5249e-01_rb,5.7093e-01_rb,4.8937e-01_rb,4.0781e-01_rb,3.2625e-01_rb,2.4469e-01_rb, & &1.6313e-01_rb,8.1572e-02_rb,2.2330e-06_rb/) kao(:, 2,12, 4) = (/ & &6.9534e-01_rb,6.0842e-01_rb,5.2151e-01_rb,4.3459e-01_rb,3.4768e-01_rb,2.6076e-01_rb, & &1.7385e-01_rb,8.6935e-02_rb,4.3967e-06_rb/) kao(:, 3,12, 4) = (/ & &7.4143e-01_rb,6.4875e-01_rb,5.5607e-01_rb,4.6339e-01_rb,3.7072e-01_rb,2.7805e-01_rb, & &1.8537e-01_rb,9.2701e-02_rb,8.3925e-06_rb/) kao(:, 4,12, 4) = (/ & &7.8904e-01_rb,6.9042e-01_rb,5.9179e-01_rb,4.9316e-01_rb,3.9453e-01_rb,2.9591e-01_rb, & &1.9728e-01_rb,9.8661e-02_rb,1.5232e-05_rb/) kao(:, 5,12, 4) = (/ & &8.3131e-01_rb,7.2741e-01_rb,6.2350e-01_rb,5.1959e-01_rb,4.1567e-01_rb,3.1177e-01_rb, & &2.0786e-01_rb,1.0395e-01_rb,2.3060e-05_rb/) kao(:, 1,13, 4) = (/ & &7.3322e-01_rb,6.4157e-01_rb,5.4992e-01_rb,4.5827e-01_rb,3.6662e-01_rb,2.7497e-01_rb, & &1.8332e-01_rb,9.1663e-02_rb,1.8044e-06_rb/) kao(:, 2,13, 4) = (/ & &7.8224e-01_rb,6.8446e-01_rb,5.8668e-01_rb,4.8890e-01_rb,3.9113e-01_rb,2.9335e-01_rb, & &1.9557e-01_rb,9.7794e-02_rb,3.6622e-06_rb/) kao(:, 3,13, 4) = (/ & &8.3769e-01_rb,7.3298e-01_rb,6.2826e-01_rb,5.2356e-01_rb,4.1885e-01_rb,3.1414e-01_rb, & &2.0944e-01_rb,1.0473e-01_rb,6.8549e-06_rb/) kao(:, 4,13, 4) = (/ & &8.9145e-01_rb,7.8000e-01_rb,6.6858e-01_rb,5.5715e-01_rb,4.4572e-01_rb,3.3430e-01_rb, & &2.2288e-01_rb,1.1145e-01_rb,1.1699e-05_rb/) kao(:, 5,13, 4) = (/ & &9.4256e-01_rb,8.2475e-01_rb,7.0694e-01_rb,5.8912e-01_rb,4.7129e-01_rb,3.5348e-01_rb, & &2.3566e-01_rb,1.1785e-01_rb,1.9250e-05_rb/) kao(:, 1, 1, 5) = (/ & &3.1890e-05_rb,3.3428e-05_rb,3.1339e-05_rb,1.9062e-05_rb,2.1359e-05_rb,2.6190e-05_rb, & &4.2364e-05_rb,7.2281e-05_rb,2.8801e-05_rb/) kao(:, 2, 1, 5) = (/ & &3.2241e-05_rb,3.5034e-05_rb,3.4311e-05_rb,2.9337e-05_rb,1.6956e-05_rb,2.7153e-05_rb, & &4.1595e-05_rb,7.5807e-05_rb,2.1642e-05_rb/) kao(:, 3, 1, 5) = (/ & &3.2685e-05_rb,3.7104e-05_rb,3.7239e-05_rb,3.5440e-05_rb,2.4683e-05_rb,2.0584e-05_rb, & &3.9467e-05_rb,7.0498e-05_rb,2.5433e-05_rb/) kao(:, 4, 1, 5) = (/ & &3.3108e-05_rb,3.9233e-05_rb,3.9843e-05_rb,4.0632e-05_rb,3.9351e-05_rb,2.7492e-05_rb, & &2.7372e-05_rb,6.6136e-05_rb,4.2940e-05_rb/) kao(:, 5, 1, 5) = (/ & &3.3102e-05_rb,4.1126e-05_rb,4.3706e-05_rb,4.7600e-05_rb,5.0514e-05_rb,4.9463e-05_rb, & &3.6482e-05_rb,4.9147e-05_rb,6.6970e-05_rb/) kao(:, 1, 2, 5) = (/ & &5.3936e-05_rb,5.3705e-05_rb,4.9534e-05_rb,4.3483e-05_rb,2.4468e-05_rb,2.7314e-05_rb, & &3.0874e-05_rb,5.5614e-05_rb,1.6658e-05_rb/) kao(:, 2, 2, 5) = (/ & &5.4860e-05_rb,5.5845e-05_rb,5.2280e-05_rb,4.7572e-05_rb,3.6459e-05_rb,1.9946e-05_rb, & &3.1643e-05_rb,4.8991e-05_rb,1.3490e-05_rb/) kao(:, 3, 2, 5) = (/ & &5.5709e-05_rb,5.8014e-05_rb,5.5306e-05_rb,5.1404e-05_rb,4.5520e-05_rb,2.7920e-05_rb, & &2.4697e-05_rb,4.8298e-05_rb,2.2442e-05_rb/) kao(:, 4, 2, 5) = (/ & &5.6594e-05_rb,6.0421e-05_rb,5.8710e-05_rb,5.5553e-05_rb,5.0533e-05_rb,4.1849e-05_rb, & &2.3926e-05_rb,4.4332e-05_rb,3.8077e-05_rb/) kao(:, 5, 2, 5) = (/ & &5.6989e-05_rb,6.3301e-05_rb,6.2702e-05_rb,5.9556e-05_rb,5.7075e-05_rb,5.4328e-05_rb, & &4.2106e-05_rb,3.0435e-05_rb,5.5304e-05_rb/) kao(:, 1, 3, 5) = (/ & &1.3054e-04_rb,1.2243e-04_rb,1.0960e-04_rb,9.5396e-05_rb,7.9466e-05_rb,5.1293e-05_rb, & &3.9755e-05_rb,3.4475e-05_rb,8.0698e-06_rb/) kao(:, 2, 3, 5) = (/ & &1.3254e-04_rb,1.2631e-04_rb,1.1422e-04_rb,1.0017e-04_rb,8.4724e-05_rb,6.6970e-05_rb, & &3.1985e-05_rb,3.1748e-05_rb,1.1668e-05_rb/) kao(:, 3, 3, 5) = (/ & &1.3451e-04_rb,1.3069e-04_rb,1.1849e-04_rb,1.0449e-04_rb,8.9441e-05_rb,7.3066e-05_rb, & &4.0433e-05_rb,3.2069e-05_rb,2.1119e-05_rb/) kao(:, 4, 3, 5) = (/ & &1.3620e-04_rb,1.3418e-04_rb,1.2287e-04_rb,1.0958e-04_rb,9.5020e-05_rb,7.9300e-05_rb, & &5.8519e-05_rb,2.5240e-05_rb,3.2095e-05_rb/) kao(:, 5, 3, 5) = (/ & &1.3805e-04_rb,1.3888e-04_rb,1.2760e-04_rb,1.1481e-04_rb,1.0157e-04_rb,8.6256e-05_rb, & &6.7417e-05_rb,3.0660e-05_rb,4.5147e-05_rb/) kao(:, 1, 4, 5) = (/ & &3.2379e-04_rb,2.9036e-04_rb,2.5461e-04_rb,2.1829e-04_rb,1.8055e-04_rb,1.4064e-04_rb, & &9.6199e-05_rb,5.2600e-05_rb,5.3338e-06_rb/) kao(:, 2, 4, 5) = (/ & &3.2979e-04_rb,2.9999e-04_rb,2.6566e-04_rb,2.2924e-04_rb,1.9018e-04_rb,1.4831e-04_rb, & &1.0429e-04_rb,3.7208e-05_rb,1.1382e-05_rb/) kao(:, 3, 4, 5) = (/ & &3.3647e-04_rb,3.0773e-04_rb,2.7537e-04_rb,2.3841e-04_rb,1.9818e-04_rb,1.5534e-04_rb, & &1.1107e-04_rb,4.2940e-05_rb,1.8774e-05_rb/) kao(:, 4, 4, 5) = (/ & &3.4222e-04_rb,3.1790e-04_rb,2.8515e-04_rb,2.4672e-04_rb,2.0544e-04_rb,1.6267e-04_rb, & &1.1806e-04_rb,6.5823e-05_rb,2.7569e-05_rb/) kao(:, 5, 4, 5) = (/ & &3.4598e-04_rb,3.2526e-04_rb,2.9297e-04_rb,2.5514e-04_rb,2.1384e-04_rb,1.7093e-04_rb, & &1.2620e-04_rb,7.6156e-05_rb,3.8829e-05_rb/) kao(:, 1, 5, 5) = (/ & &7.4853e-04_rb,6.5989e-04_rb,5.7237e-04_rb,4.8339e-04_rb,3.9258e-04_rb,3.0112e-04_rb, & &2.0775e-04_rb,1.0511e-04_rb,4.9046e-06_rb/) kao(:, 2, 5, 5) = (/ & &7.7296e-04_rb,6.8526e-04_rb,5.9860e-04_rb,5.0629e-04_rb,4.1334e-04_rb,3.1913e-04_rb, & &2.2288e-04_rb,1.1662e-04_rb,9.7426e-06_rb/) kao(:, 3, 5, 5) = (/ & &7.8512e-04_rb,7.0191e-04_rb,6.1328e-04_rb,5.2156e-04_rb,4.2917e-04_rb,3.3432e-04_rb, & &2.3232e-04_rb,1.2535e-04_rb,1.4908e-05_rb/) kao(:, 4, 5, 5) = (/ & &8.0065e-04_rb,7.1779e-04_rb,6.2814e-04_rb,5.3808e-04_rb,4.4471e-04_rb,3.4601e-04_rb, & &2.4241e-04_rb,1.3326e-04_rb,2.1852e-05_rb/) kao(:, 5, 5, 5) = (/ & &8.1368e-04_rb,7.3211e-04_rb,6.4458e-04_rb,5.5662e-04_rb,4.6149e-04_rb,3.6022e-04_rb, & &2.5323e-04_rb,1.4142e-04_rb,3.1532e-05_rb/) kao(:, 1, 6, 5) = (/ & &1.6528e-03_rb,1.4497e-03_rb,1.2477e-03_rb,1.0459e-03_rb,8.4296e-04_rb,6.4013e-04_rb, & &4.3541e-04_rb,2.2882e-04_rb,4.1025e-06_rb/) kao(:, 2, 6, 5) = (/ & &1.7167e-03_rb,1.5070e-03_rb,1.2980e-03_rb,1.0901e-03_rb,8.8256e-04_rb,6.7196e-04_rb, & &4.5785e-04_rb,2.4158e-04_rb,7.1575e-06_rb/) kao(:, 3, 6, 5) = (/ & &1.7542e-03_rb,1.5443e-03_rb,1.3374e-03_rb,1.1305e-03_rb,9.1589e-04_rb,6.9839e-04_rb, & &4.8070e-04_rb,2.5576e-04_rb,1.1170e-05_rb/) kao(:, 4, 6, 5) = (/ & &1.7835e-03_rb,1.5745e-03_rb,1.3686e-03_rb,1.1552e-03_rb,9.3898e-04_rb,7.2100e-04_rb, & &4.9974e-04_rb,2.6756e-04_rb,1.6778e-05_rb/) kao(:, 5, 6, 5) = (/ & &1.8173e-03_rb,1.6109e-03_rb,1.3997e-03_rb,1.1836e-03_rb,9.6533e-04_rb,7.4477e-04_rb, & &5.1869e-04_rb,2.7889e-04_rb,2.4339e-05_rb/) kao(:, 1, 7, 5) = (/ & &3.9726e-03_rb,3.4772e-03_rb,2.9832e-03_rb,2.4912e-03_rb,1.9978e-03_rb,1.5048e-03_rb, & &1.0114e-03_rb,5.1606e-04_rb,3.0815e-06_rb/) kao(:, 2, 7, 5) = (/ & &3.9885e-03_rb,3.4924e-03_rb,2.9992e-03_rb,2.5047e-03_rb,2.0117e-03_rb,1.5168e-03_rb, & &1.0225e-03_rb,5.2471e-04_rb,5.4224e-06_rb/) kao(:, 3, 7, 5) = (/ & &4.1133e-03_rb,3.6053e-03_rb,3.0965e-03_rb,2.5896e-03_rb,2.0823e-03_rb,1.5758e-03_rb, & &1.0680e-03_rb,5.5159e-04_rb,9.0931e-06_rb/) kao(:, 4, 7, 5) = (/ & &4.1858e-03_rb,3.6723e-03_rb,3.1582e-03_rb,2.6449e-03_rb,2.1343e-03_rb,1.6217e-03_rb, & &1.1005e-03_rb,5.7513e-04_rb,1.3973e-05_rb/) kao(:, 5, 7, 5) = (/ & &4.2673e-03_rb,3.7471e-03_rb,3.2256e-03_rb,2.7082e-03_rb,2.1908e-03_rb,1.6652e-03_rb, & &1.1349e-03_rb,5.9686e-04_rb,1.9907e-05_rb/) kao(:, 1, 8, 5) = (/ & &1.1789e-02_rb,1.0316e-02_rb,8.8432e-03_rb,7.3701e-03_rb,5.8982e-03_rb,4.4284e-03_rb, & &2.9575e-03_rb,1.4868e-03_rb,2.6362e-06_rb/) kao(:, 2, 8, 5) = (/ & &1.1815e-02_rb,1.0339e-02_rb,8.8633e-03_rb,7.3911e-03_rb,5.9198e-03_rb,4.4454e-03_rb, & &2.9722e-03_rb,1.4993e-03_rb,4.7391e-06_rb/) kao(:, 3, 8, 5) = (/ & &1.2063e-02_rb,1.0556e-02_rb,9.0547e-03_rb,7.5533e-03_rb,6.0485e-03_rb,4.5441e-03_rb, & &3.0419e-03_rb,1.5395e-03_rb,7.9686e-06_rb/) kao(:, 4, 8, 5) = (/ & &1.2374e-02_rb,1.0835e-02_rb,9.2985e-03_rb,7.7571e-03_rb,6.2150e-03_rb,4.6751e-03_rb, & &3.1349e-03_rb,1.5981e-03_rb,1.2907e-05_rb/) kao(:, 5, 8, 5) = (/ & &1.2586e-02_rb,1.1028e-02_rb,9.4648e-03_rb,7.8998e-03_rb,6.3362e-03_rb,4.7714e-03_rb, & &3.2105e-03_rb,1.6437e-03_rb,1.9633e-05_rb/) kao(:, 1, 9, 5) = (/ & &6.5443e-02_rb,5.7264e-02_rb,4.9084e-02_rb,4.0904e-02_rb,3.2723e-02_rb,2.4543e-02_rb, & &1.6364e-02_rb,8.1848e-03_rb,3.1432e-06_rb/) kao(:, 2, 9, 5) = (/ & &6.6880e-02_rb,5.8521e-02_rb,5.0162e-02_rb,4.1802e-02_rb,3.3443e-02_rb,2.5083e-02_rb, & &1.6728e-02_rb,8.3763e-03_rb,5.7297e-06_rb/) kao(:, 3, 9, 5) = (/ & &6.6965e-02_rb,5.8596e-02_rb,5.0227e-02_rb,4.1857e-02_rb,3.3491e-02_rb,2.5128e-02_rb, & &1.6767e-02_rb,8.3954e-03_rb,1.0132e-05_rb/) kao(:, 4, 9, 5) = (/ & &6.9095e-02_rb,6.0459e-02_rb,5.1827e-02_rb,4.3201e-02_rb,3.4575e-02_rb,2.5948e-02_rb, & &1.7311e-02_rb,8.6749e-03_rb,1.6592e-05_rb/) kao(:, 5, 9, 5) = (/ & &7.0723e-02_rb,6.1894e-02_rb,5.3070e-02_rb,4.4247e-02_rb,3.5417e-02_rb,2.6580e-02_rb, & &1.7739e-02_rb,8.9030e-03_rb,2.5109e-05_rb/) kao(:, 1,10, 5) = (/ & &4.3117e-01_rb,3.7727e-01_rb,3.2338e-01_rb,2.6948e-01_rb,2.1559e-01_rb,1.6169e-01_rb, & &1.0779e-01_rb,5.3898e-02_rb,3.8321e-06_rb/) kao(:, 2,10, 5) = (/ & &4.4275e-01_rb,3.8740e-01_rb,3.3206e-01_rb,2.7672e-01_rb,2.2138e-01_rb,1.6603e-01_rb, & &1.1069e-01_rb,5.5347e-02_rb,7.9189e-06_rb/) kao(:, 3,10, 5) = (/ & &4.5038e-01_rb,3.9409e-01_rb,3.3779e-01_rb,2.8149e-01_rb,2.2519e-01_rb,1.6890e-01_rb, & &1.1260e-01_rb,5.6313e-02_rb,1.3890e-05_rb/) kao(:, 4,10, 5) = (/ & &4.5731e-01_rb,4.0015e-01_rb,3.4299e-01_rb,2.8583e-01_rb,2.2868e-01_rb,1.7152e-01_rb, & &1.1436e-01_rb,5.7212e-02_rb,2.2042e-05_rb/) kao(:, 5,10, 5) = (/ & &4.7192e-01_rb,4.1294e-01_rb,3.5396e-01_rb,2.9499e-01_rb,2.3600e-01_rb,1.7703e-01_rb, & &1.1805e-01_rb,5.9063e-02_rb,3.5819e-05_rb/) kao(:, 1,11, 5) = (/ & &9.6082e-01_rb,8.4073e-01_rb,7.2062e-01_rb,6.0052e-01_rb,4.8042e-01_rb,3.6032e-01_rb, & &2.4021e-01_rb,1.2011e-01_rb,4.1252e-06_rb/) kao(:, 2,11, 5) = (/ & &9.8883e-01_rb,8.6524e-01_rb,7.4164e-01_rb,6.1802e-01_rb,4.9442e-01_rb,3.7082e-01_rb, & &2.4722e-01_rb,1.2361e-01_rb,8.2890e-06_rb/) kao(:, 3,11, 5) = (/ & &1.0099e+00_rb,8.8371e-01_rb,7.5745e-01_rb,6.3122e-01_rb,5.0498e-01_rb,3.7874e-01_rb, & &2.5251e-01_rb,1.2627e-01_rb,1.3752e-05_rb/) kao(:, 4,11, 5) = (/ & &1.0275e+00_rb,8.9904e-01_rb,7.7063e-01_rb,6.4220e-01_rb,5.1377e-01_rb,3.8534e-01_rb, & &2.5691e-01_rb,1.2849e-01_rb,2.1878e-05_rb/) kao(:, 5,11, 5) = (/ & &1.0619e+00_rb,9.2921e-01_rb,7.9651e-01_rb,6.6374e-01_rb,5.3103e-01_rb,3.9829e-01_rb, & &2.6556e-01_rb,1.3282e-01_rb,3.3798e-05_rb/) kao(:, 1,12, 5) = (/ & &1.3448e+00_rb,1.1767e+00_rb,1.0086e+00_rb,8.4049e-01_rb,6.7240e-01_rb,5.0429e-01_rb, & &3.3620e-01_rb,1.6810e-01_rb,3.8444e-06_rb/) kao(:, 2,12, 5) = (/ & &1.3870e+00_rb,1.2136e+00_rb,1.0403e+00_rb,8.6689e-01_rb,6.9351e-01_rb,5.2014e-01_rb, & &3.4675e-01_rb,1.7338e-01_rb,8.1656e-06_rb/) kao(:, 3,12, 5) = (/ & &1.4199e+00_rb,1.2424e+00_rb,1.0649e+00_rb,8.8747e-01_rb,7.0998e-01_rb,5.3249e-01_rb, & &3.5500e-01_rb,1.7752e-01_rb,1.3518e-05_rb/) kao(:, 4,12, 5) = (/ & &1.4553e+00_rb,1.2734e+00_rb,1.0915e+00_rb,9.0958e-01_rb,7.2769e-01_rb,5.4578e-01_rb, & &3.6386e-01_rb,1.8196e-01_rb,2.0674e-05_rb/) kao(:, 5,12, 5) = (/ & &1.5049e+00_rb,1.3168e+00_rb,1.1287e+00_rb,9.4058e-01_rb,7.5249e-01_rb,5.6439e-01_rb, & &3.7628e-01_rb,1.8817e-01_rb,3.3221e-05_rb/) kao(:, 1,13, 5) = (/ & &1.5112e+00_rb,1.3223e+00_rb,1.1334e+00_rb,9.4452e-01_rb,7.5561e-01_rb,5.6670e-01_rb, & &3.7781e-01_rb,1.8891e-01_rb,3.4136e-06_rb/) kao(:, 2,13, 5) = (/ & &1.5630e+00_rb,1.3677e+00_rb,1.1723e+00_rb,9.7690e-01_rb,7.8153e-01_rb,5.8614e-01_rb, & &3.9077e-01_rb,1.9539e-01_rb,7.2314e-06_rb/) kao(:, 3,13, 5) = (/ & &1.6029e+00_rb,1.4025e+00_rb,1.2022e+00_rb,1.0018e+00_rb,8.0146e-01_rb,6.0110e-01_rb, & &4.0074e-01_rb,2.0039e-01_rb,1.2933e-05_rb/) kao(:, 4,13, 5) = (/ & &1.6548e+00_rb,1.4480e+00_rb,1.2411e+00_rb,1.0343e+00_rb,8.2742e-01_rb,6.2059e-01_rb, & &4.1374e-01_rb,2.0689e-01_rb,2.1420e-05_rb/) kao(:, 5,13, 5) = (/ & &1.7129e+00_rb,1.4988e+00_rb,1.2846e+00_rb,1.0706e+00_rb,8.5645e-01_rb,6.4235e-01_rb, & &4.2827e-01_rb,2.1415e-01_rb,3.1482e-05_rb/) kao(:, 1, 1, 6) = (/ & &4.0608e-05_rb,4.2185e-05_rb,3.9730e-05_rb,2.6630e-05_rb,1.5870e-05_rb,2.1720e-05_rb, & &4.0183e-05_rb,5.7933e-05_rb,1.9230e-05_rb/) kao(:, 2, 1, 6) = (/ & &4.0560e-05_rb,4.3924e-05_rb,4.2843e-05_rb,4.0587e-05_rb,1.9599e-05_rb,1.9434e-05_rb, & &2.9187e-05_rb,8.1729e-05_rb,2.4180e-05_rb/) kao(:, 3, 1, 6) = (/ & &4.0596e-05_rb,4.5223e-05_rb,4.7233e-05_rb,4.8206e-05_rb,4.1815e-05_rb,2.4282e-05_rb, & &2.7535e-05_rb,5.3025e-05_rb,4.5769e-05_rb/) kao(:, 4, 1, 6) = (/ & &4.0424e-05_rb,4.7527e-05_rb,5.3798e-05_rb,5.7119e-05_rb,5.7658e-05_rb,5.2268e-05_rb, & &3.6355e-05_rb,4.4941e-05_rb,8.6910e-05_rb/) kao(:, 5, 1, 6) = (/ & &4.0234e-05_rb,5.1685e-05_rb,6.0703e-05_rb,6.7173e-05_rb,7.3473e-05_rb,7.8264e-05_rb, & &7.7542e-05_rb,6.1561e-05_rb,1.1878e-04_rb/) kao(:, 1, 2, 6) = (/ & &7.1743e-05_rb,6.9776e-05_rb,6.4069e-05_rb,5.6253e-05_rb,3.2492e-05_rb,1.5299e-05_rb, & &2.5979e-05_rb,5.8422e-05_rb,1.3265e-05_rb/) kao(:, 2, 2, 6) = (/ & &7.1061e-05_rb,7.2097e-05_rb,6.7274e-05_rb,6.0734e-05_rb,5.1280e-05_rb,2.1520e-05_rb, & &1.9911e-05_rb,4.4529e-05_rb,1.9523e-05_rb/) kao(:, 3, 2, 6) = (/ & &7.0841e-05_rb,7.4370e-05_rb,7.0760e-05_rb,6.5655e-05_rb,6.0306e-05_rb,4.1020e-05_rb, & &2.4466e-05_rb,3.0981e-05_rb,4.7368e-05_rb/) kao(:, 4, 2, 6) = (/ & &7.0995e-05_rb,7.6358e-05_rb,7.4085e-05_rb,7.2263e-05_rb,6.9627e-05_rb,6.3412e-05_rb, & &3.9010e-05_rb,3.3220e-05_rb,7.3941e-05_rb/) kao(:, 5, 2, 6) = (/ & &7.1418e-05_rb,7.8720e-05_rb,7.9350e-05_rb,8.0487e-05_rb,8.0635e-05_rb,7.8967e-05_rb, & &7.4070e-05_rb,4.7509e-05_rb,9.9451e-05_rb/) kao(:, 1, 3, 6) = (/ & &1.7804e-04_rb,1.6309e-04_rb,1.4603e-04_rb,1.2640e-04_rb,1.0532e-04_rb,7.7851e-05_rb, & &3.0401e-05_rb,3.2808e-05_rb,1.0278e-05_rb/) kao(:, 2, 3, 6) = (/ & &1.7807e-04_rb,1.6656e-04_rb,1.5059e-04_rb,1.3159e-04_rb,1.1024e-04_rb,8.6966e-05_rb, & &3.8390e-05_rb,2.7178e-05_rb,2.3712e-05_rb/) kao(:, 3, 3, 6) = (/ & &1.7838e-04_rb,1.6972e-04_rb,1.5616e-04_rb,1.3747e-04_rb,1.1728e-04_rb,9.5070e-05_rb, & &6.7563e-05_rb,2.2396e-05_rb,4.2459e-05_rb/) kao(:, 4, 3, 6) = (/ & &1.7857e-04_rb,1.7475e-04_rb,1.6100e-04_rb,1.4311e-04_rb,1.2411e-04_rb,1.0321e-04_rb, & &8.1061e-05_rb,2.7084e-05_rb,5.9922e-05_rb/) kao(:, 5, 3, 6) = (/ & &1.7913e-04_rb,1.7932e-04_rb,1.6663e-04_rb,1.4905e-04_rb,1.3079e-04_rb,1.1234e-04_rb, & &9.4176e-05_rb,5.9304e-05_rb,8.0703e-05_rb/) kao(:, 1, 4, 6) = (/ & &4.5849e-04_rb,4.0719e-04_rb,3.5630e-04_rb,3.0212e-04_rb,2.4723e-04_rb,1.9208e-04_rb, & &1.3224e-04_rb,4.0670e-05_rb,1.0786e-05_rb/) kao(:, 2, 4, 6) = (/ & &4.6326e-04_rb,4.1501e-04_rb,3.6371e-04_rb,3.1046e-04_rb,2.5726e-04_rb,2.0145e-04_rb, & &1.4032e-04_rb,4.2661e-05_rb,2.2724e-05_rb/) kao(:, 3, 4, 6) = (/ & &4.5999e-04_rb,4.1805e-04_rb,3.6892e-04_rb,3.1975e-04_rb,2.6673e-04_rb,2.0947e-04_rb, & &1.4924e-04_rb,6.8954e-05_rb,3.3787e-05_rb/) kao(:, 4, 4, 6) = (/ & &4.6003e-04_rb,4.1972e-04_rb,3.7753e-04_rb,3.3032e-04_rb,2.7779e-04_rb,2.1909e-04_rb, & &1.5785e-04_rb,9.1573e-05_rb,4.7343e-05_rb/) kao(:, 5, 4, 6) = (/ & &4.6253e-04_rb,4.2854e-04_rb,3.8917e-04_rb,3.4007e-04_rb,2.8599e-04_rb,2.2760e-04_rb, & &1.6713e-04_rb,1.0392e-04_rb,6.4507e-05_rb/) kao(:, 1, 5, 6) = (/ & &1.1046e-03_rb,9.7210e-04_rb,8.3818e-04_rb,7.0474e-04_rb,5.7182e-04_rb,4.3731e-04_rb, & &3.0078e-04_rb,1.5849e-04_rb,1.0669e-05_rb/) kao(:, 2, 5, 6) = (/ & &1.1184e-03_rb,9.8522e-04_rb,8.5052e-04_rb,7.1956e-04_rb,5.8448e-04_rb,4.4708e-04_rb, & &3.0943e-04_rb,1.6582e-04_rb,1.7856e-05_rb/) kao(:, 3, 5, 6) = (/ & &1.1214e-03_rb,9.8952e-04_rb,8.6298e-04_rb,7.3058e-04_rb,5.9526e-04_rb,4.5967e-04_rb, & &3.2343e-04_rb,1.7504e-04_rb,2.7384e-05_rb/) kao(:, 4, 5, 6) = (/ & &1.1214e-03_rb,9.9887e-04_rb,8.7233e-04_rb,7.4058e-04_rb,6.1074e-04_rb,4.7706e-04_rb, & &3.3627e-04_rb,1.8500e-04_rb,4.0071e-05_rb/) kao(:, 5, 5, 6) = (/ & &1.1239e-03_rb,1.0058e-03_rb,8.8047e-04_rb,7.5602e-04_rb,6.2667e-04_rb,4.9193e-04_rb, & &3.4864e-04_rb,1.9526e-04_rb,5.6262e-05_rb/) kao(:, 1, 6, 6) = (/ & &2.6585e-03_rb,2.3289e-03_rb,2.0017e-03_rb,1.6725e-03_rb,1.3436e-03_rb,1.0134e-03_rb, & &6.8348e-04_rb,3.5116e-04_rb,8.2810e-06_rb/) kao(:, 2, 6, 6) = (/ & &2.5863e-03_rb,2.2683e-03_rb,1.9501e-03_rb,1.6316e-03_rb,1.3110e-03_rb,9.9174e-04_rb, & &6.7274e-04_rb,3.5111e-04_rb,1.4039e-05_rb/) kao(:, 3, 6, 6) = (/ & &2.6176e-03_rb,2.2991e-03_rb,1.9771e-03_rb,1.6537e-03_rb,1.3367e-03_rb,1.0179e-03_rb, & &6.9352e-04_rb,3.6693e-04_rb,2.2683e-05_rb/) kao(:, 4, 6, 6) = (/ & &2.6217e-03_rb,2.3046e-03_rb,1.9871e-03_rb,1.6757e-03_rb,1.3567e-03_rb,1.0347e-03_rb, & &7.1195e-04_rb,3.8176e-04_rb,3.4748e-05_rb/) kao(:, 5, 6, 6) = (/ & &2.6329e-03_rb,2.3195e-03_rb,2.0094e-03_rb,1.6960e-03_rb,1.3768e-03_rb,1.0589e-03_rb, & &7.3230e-04_rb,3.9783e-04_rb,4.9695e-05_rb/) kao(:, 1, 7, 6) = (/ & &6.5036e-03_rb,5.6927e-03_rb,4.8817e-03_rb,4.0715e-03_rb,3.2636e-03_rb,2.4531e-03_rb, & &1.6426e-03_rb,8.2916e-04_rb,6.2936e-06_rb/) kao(:, 2, 7, 6) = (/ & &6.4462e-03_rb,5.6438e-03_rb,4.8427e-03_rb,4.0443e-03_rb,3.2425e-03_rb,2.4409e-03_rb, & &1.6364e-03_rb,8.3288e-04_rb,1.1136e-05_rb/) kao(:, 3, 7, 6) = (/ & &6.4103e-03_rb,5.6141e-03_rb,4.8233e-03_rb,4.0268e-03_rb,3.2317e-03_rb,2.4336e-03_rb, & &1.6355e-03_rb,8.3675e-04_rb,1.7991e-05_rb/) kao(:, 4, 7, 6) = (/ & &6.4801e-03_rb,5.6797e-03_rb,4.8784e-03_rb,4.0772e-03_rb,3.2734e-03_rb,2.4699e-03_rb, & &1.6705e-03_rb,8.6234e-04_rb,2.8124e-05_rb/) kao(:, 5, 7, 6) = (/ & &6.4899e-03_rb,5.6954e-03_rb,4.8999e-03_rb,4.1019e-03_rb,3.3007e-03_rb,2.5022e-03_rb, & &1.6963e-03_rb,8.8568e-04_rb,4.2294e-05_rb/) kao(:, 1, 8, 6) = (/ & &1.9938e-02_rb,1.7447e-02_rb,1.4956e-02_rb,1.2465e-02_rb,9.9746e-03_rb,7.4836e-03_rb, & &4.9963e-03_rb,2.5067e-03_rb,5.1161e-06_rb/) kao(:, 2, 8, 6) = (/ & &2.0028e-02_rb,1.7527e-02_rb,1.5026e-02_rb,1.2525e-02_rb,1.0025e-02_rb,7.5295e-03_rb, & &5.0298e-03_rb,2.5282e-03_rb,9.0850e-06_rb/) kao(:, 3, 8, 6) = (/ & &1.9800e-02_rb,1.7330e-02_rb,1.4859e-02_rb,1.2391e-02_rb,9.9275e-03_rb,7.4581e-03_rb, & &4.9868e-03_rb,2.5105e-03_rb,1.5352e-05_rb/) kao(:, 4, 8, 6) = (/ & &1.9943e-02_rb,1.7456e-02_rb,1.4973e-02_rb,1.2495e-02_rb,1.0008e-02_rb,7.5213e-03_rb, & &5.0327e-03_rb,2.5396e-03_rb,2.4408e-05_rb/) kao(:, 5, 8, 6) = (/ & &2.0100e-02_rb,1.7597e-02_rb,1.5105e-02_rb,1.2604e-02_rb,1.0099e-02_rb,7.5963e-03_rb, & &5.0871e-03_rb,2.5804e-03_rb,3.7067e-05_rb/) kao(:, 1, 9, 6) = (/ & &1.1579e-01_rb,1.0132e-01_rb,8.6843e-02_rb,7.2372e-02_rb,5.7899e-02_rb,4.3426e-02_rb, & &2.8954e-02_rb,1.4481e-02_rb,4.8758e-06_rb/) kao(:, 2, 9, 6) = (/ & &1.1661e-01_rb,1.0203e-01_rb,8.7460e-02_rb,7.2886e-02_rb,5.8311e-02_rb,4.3737e-02_rb, & &2.9163e-02_rb,1.4591e-02_rb,1.0307e-05_rb/) kao(:, 3, 9, 6) = (/ & &1.1709e-01_rb,1.0246e-01_rb,8.7825e-02_rb,7.3192e-02_rb,5.8559e-02_rb,4.3925e-02_rb, & &2.9293e-02_rb,1.4674e-02_rb,1.8955e-05_rb/) kao(:, 4, 9, 6) = (/ & &1.1566e-01_rb,1.0121e-01_rb,8.6757e-02_rb,7.2304e-02_rb,5.7852e-02_rb,4.3402e-02_rb, & &2.8967e-02_rb,1.4512e-02_rb,3.1114e-05_rb/) kao(:, 5, 9, 6) = (/ & &1.1720e-01_rb,1.0255e-01_rb,8.7909e-02_rb,7.3266e-02_rb,5.8634e-02_rb,4.4011e-02_rb, & &2.9372e-02_rb,1.4720e-02_rb,4.7731e-05_rb/) kao(:, 1,10, 6) = (/ & &7.9704e-01_rb,6.9741e-01_rb,5.9778e-01_rb,4.9815e-01_rb,3.9852e-01_rb,2.9889e-01_rb, & &1.9926e-01_rb,9.9635e-02_rb,6.0881e-06_rb/) kao(:, 2,10, 6) = (/ & &8.0524e-01_rb,7.0458e-01_rb,6.0393e-01_rb,5.0328e-01_rb,4.0263e-01_rb,3.0197e-01_rb, & &2.0132e-01_rb,1.0067e-01_rb,9.9592e-06_rb/) kao(:, 3,10, 6) = (/ & &8.0944e-01_rb,7.0827e-01_rb,6.0708e-01_rb,5.0591e-01_rb,4.0473e-01_rb,3.0356e-01_rb, & &2.0238e-01_rb,1.0120e-01_rb,1.7097e-05_rb/) kao(:, 4,10, 6) = (/ & &8.0782e-01_rb,7.0685e-01_rb,6.0589e-01_rb,5.0491e-01_rb,4.0393e-01_rb,3.0295e-01_rb, & &2.0198e-01_rb,1.0100e-01_rb,2.9862e-05_rb/) kao(:, 5,10, 6) = (/ & &8.0293e-01_rb,7.0255e-01_rb,6.0220e-01_rb,5.0184e-01_rb,4.0149e-01_rb,3.0112e-01_rb, & &2.0077e-01_rb,1.0043e-01_rb,4.8674e-05_rb/) kao(:, 1,11, 6) = (/ & &1.8320e+00_rb,1.6031e+00_rb,1.3740e+00_rb,1.1450e+00_rb,9.1602e-01_rb,6.8703e-01_rb, & &4.5802e-01_rb,2.2901e-01_rb,6.4794e-06_rb/) kao(:, 2,11, 6) = (/ & &1.8510e+00_rb,1.6196e+00_rb,1.3883e+00_rb,1.1569e+00_rb,9.2553e-01_rb,6.9415e-01_rb, & &4.6277e-01_rb,2.3139e-01_rb,1.1218e-05_rb/) kao(:, 3,11, 6) = (/ & &1.8631e+00_rb,1.6303e+00_rb,1.3974e+00_rb,1.1645e+00_rb,9.3160e-01_rb,6.9871e-01_rb, & &4.6580e-01_rb,2.3291e-01_rb,1.9228e-05_rb/) kao(:, 4,11, 6) = (/ & &1.8640e+00_rb,1.6310e+00_rb,1.3980e+00_rb,1.1650e+00_rb,9.3201e-01_rb,6.9904e-01_rb, & &4.6603e-01_rb,2.3304e-01_rb,3.3633e-05_rb/) kao(:, 5,11, 6) = (/ & &1.8480e+00_rb,1.6170e+00_rb,1.3860e+00_rb,1.1550e+00_rb,9.2402e-01_rb,6.9305e-01_rb, & &4.6206e-01_rb,2.3108e-01_rb,5.6086e-05_rb/) kao(:, 1,12, 6) = (/ & &2.6276e+00_rb,2.2991e+00_rb,1.9707e+00_rb,1.6422e+00_rb,1.3138e+00_rb,9.8536e-01_rb, & &6.5690e-01_rb,3.2845e-01_rb,6.1969e-06_rb/) kao(:, 2,12, 6) = (/ & &2.6587e+00_rb,2.3264e+00_rb,1.9940e+00_rb,1.6617e+00_rb,1.3293e+00_rb,9.9701e-01_rb, & &6.6468e-01_rb,3.3234e-01_rb,9.9191e-06_rb/) kao(:, 3,12, 6) = (/ & &2.6771e+00_rb,2.3425e+00_rb,2.0078e+00_rb,1.6732e+00_rb,1.3386e+00_rb,1.0039e+00_rb, & &6.6929e-01_rb,3.3465e-01_rb,1.7326e-05_rb/) kao(:, 4,12, 6) = (/ & &2.6786e+00_rb,2.3438e+00_rb,2.0090e+00_rb,1.6742e+00_rb,1.3393e+00_rb,1.0045e+00_rb, & &6.6968e-01_rb,3.3487e-01_rb,3.0600e-05_rb/) kao(:, 5,12, 6) = (/ & &2.6738e+00_rb,2.3396e+00_rb,2.0054e+00_rb,1.6711e+00_rb,1.3369e+00_rb,1.0027e+00_rb, & &6.6852e-01_rb,3.3432e-01_rb,4.9574e-05_rb/) kao(:, 1,13, 6) = (/ & &3.0141e+00_rb,2.6373e+00_rb,2.2606e+00_rb,1.8838e+00_rb,1.5070e+00_rb,1.1303e+00_rb, & &7.5353e-01_rb,3.7676e-01_rb,5.4676e-06_rb/) kao(:, 2,13, 6) = (/ & &3.0533e+00_rb,2.6716e+00_rb,2.2900e+00_rb,1.9083e+00_rb,1.5266e+00_rb,1.1450e+00_rb, & &7.6332e-01_rb,3.8166e-01_rb,9.0049e-06_rb/) kao(:, 3,13, 6) = (/ & &3.0797e+00_rb,2.6947e+00_rb,2.3097e+00_rb,1.9248e+00_rb,1.5398e+00_rb,1.1549e+00_rb, & &7.6993e-01_rb,3.8499e-01_rb,1.5493e-05_rb/) kao(:, 4,13, 6) = (/ & &3.0841e+00_rb,2.6986e+00_rb,2.3131e+00_rb,1.9276e+00_rb,1.5421e+00_rb,1.1566e+00_rb, & &7.7107e-01_rb,3.8557e-01_rb,2.5494e-05_rb/) kao(:, 5,13, 6) = (/ & &3.0968e+00_rb,2.7097e+00_rb,2.3226e+00_rb,1.9355e+00_rb,1.5484e+00_rb,1.1613e+00_rb, & &7.7428e-01_rb,3.8723e-01_rb,4.2043e-05_rb/) kao(:, 1, 1, 7) = (/ & &4.9351e-05_rb,5.1634e-05_rb,5.0550e-05_rb,4.1436e-05_rb,1.6376e-05_rb,2.1065e-05_rb, & &3.5627e-05_rb,5.1301e-05_rb,2.4192e-05_rb/) kao(:, 2, 1, 7) = (/ & &4.8474e-05_rb,5.5540e-05_rb,5.6343e-05_rb,5.4221e-05_rb,4.2170e-05_rb,2.4823e-05_rb, & &3.1731e-05_rb,5.9201e-05_rb,4.8733e-05_rb/) kao(:, 3, 1, 7) = (/ & &4.7492e-05_rb,6.0199e-05_rb,6.3032e-05_rb,6.6317e-05_rb,6.8647e-05_rb,6.4541e-05_rb, & &4.0308e-05_rb,5.5421e-05_rb,1.0385e-04_rb/) kao(:, 4, 1, 7) = (/ & &4.5731e-05_rb,6.4480e-05_rb,7.0656e-05_rb,8.0927e-05_rb,9.1209e-05_rb,1.0812e-04_rb, & &1.1177e-04_rb,6.7578e-05_rb,1.5053e-04_rb/) kao(:, 5, 1, 7) = (/ & &4.5536e-05_rb,6.8791e-05_rb,8.4361e-05_rb,1.0008e-04_rb,1.1558e-04_rb,1.4310e-04_rb, & &1.8138e-04_rb,1.7860e-04_rb,2.0339e-04_rb/) kao(:, 1, 2, 7) = (/ & &8.7853e-05_rb,8.5975e-05_rb,8.0217e-05_rb,7.2158e-05_rb,5.1923e-05_rb,1.7714e-05_rb, & &2.3551e-05_rb,3.4001e-05_rb,1.8843e-05_rb/) kao(:, 2, 2, 7) = (/ & &8.7406e-05_rb,8.8950e-05_rb,8.5976e-05_rb,7.9247e-05_rb,6.9532e-05_rb,3.6395e-05_rb, & &2.2706e-05_rb,4.1033e-05_rb,5.5544e-05_rb/) kao(:, 3, 2, 7) = (/ & &8.7368e-05_rb,9.3020e-05_rb,9.1442e-05_rb,8.8073e-05_rb,8.2295e-05_rb,7.2901e-05_rb, & &4.3354e-05_rb,4.6618e-05_rb,9.4748e-05_rb/) kao(:, 4, 2, 7) = (/ & &8.6439e-05_rb,9.8041e-05_rb,9.9373e-05_rb,9.8643e-05_rb,9.7447e-05_rb,9.7462e-05_rb, & &9.8905e-05_rb,6.1372e-05_rb,1.3473e-04_rb/) kao(:, 5, 2, 7) = (/ & &8.4149e-05_rb,1.0269e-04_rb,1.0851e-04_rb,1.1232e-04_rb,1.1694e-04_rb,1.2384e-04_rb, & &1.3615e-04_rb,1.5254e-04_rb,1.8188e-04_rb/) kao(:, 1, 3, 7) = (/ & &2.2417e-04_rb,2.0404e-04_rb,1.8235e-04_rb,1.5974e-04_rb,1.3536e-04_rb,1.0733e-04_rb, & &2.8889e-05_rb,2.3292e-05_rb,2.7610e-05_rb/) kao(:, 2, 3, 7) = (/ & &2.2507e-04_rb,2.0905e-04_rb,1.8945e-04_rb,1.6889e-04_rb,1.4442e-04_rb,1.1619e-04_rb, & &5.9496e-05_rb,2.4524e-05_rb,5.6641e-05_rb/) kao(:, 3, 3, 7) = (/ & &2.2338e-04_rb,2.1298e-04_rb,1.9588e-04_rb,1.7647e-04_rb,1.5321e-04_rb,1.2706e-04_rb, & &9.4765e-05_rb,2.7601e-05_rb,8.4458e-05_rb/) kao(:, 4, 3, 7) = (/ & &2.2342e-04_rb,2.1728e-04_rb,2.0413e-04_rb,1.8620e-04_rb,1.6349e-04_rb,1.4113e-04_rb, & &1.1467e-04_rb,6.7006e-05_rb,1.1844e-04_rb/) kao(:, 5, 3, 7) = (/ & &2.2238e-04_rb,2.2192e-04_rb,2.1227e-04_rb,1.9647e-04_rb,1.7779e-04_rb,1.5802e-04_rb, & &1.3658e-04_rb,1.1946e-04_rb,1.6048e-04_rb/) kao(:, 1, 4, 7) = (/ & &5.9406e-04_rb,5.2735e-04_rb,4.5854e-04_rb,3.9146e-04_rb,3.2173e-04_rb,2.5115e-04_rb, & &1.8204e-04_rb,3.3380e-05_rb,2.9857e-05_rb/) kao(:, 2, 4, 7) = (/ & &6.0105e-04_rb,5.3531e-04_rb,4.6978e-04_rb,4.0022e-04_rb,3.3097e-04_rb,2.6221e-04_rb, & &1.8773e-04_rb,5.6092e-05_rb,4.7642e-05_rb/) kao(:, 3, 4, 7) = (/ & &5.9920e-04_rb,5.3954e-04_rb,4.7635e-04_rb,4.1122e-04_rb,3.4497e-04_rb,2.7525e-04_rb, & &1.9878e-04_rb,1.0920e-04_rb,7.1351e-05_rb/) kao(:, 4, 4, 7) = (/ & &5.9595e-04_rb,5.4459e-04_rb,4.8204e-04_rb,4.2190e-04_rb,3.5656e-04_rb,2.8691e-04_rb, & &2.1194e-04_rb,1.2834e-04_rb,1.0247e-04_rb/) kao(:, 5, 4, 7) = (/ & &5.9682e-04_rb,5.4845e-04_rb,4.9542e-04_rb,4.3507e-04_rb,3.7084e-04_rb,3.0256e-04_rb, & &2.2629e-04_rb,1.4673e-04_rb,1.4061e-04_rb/) kao(:, 1, 5, 7) = (/ & &1.5636e-03_rb,1.3738e-03_rb,1.1854e-03_rb,9.9627e-04_rb,8.0358e-04_rb,6.1134e-04_rb, & &4.1794e-04_rb,2.1940e-04_rb,2.4302e-05_rb/) kao(:, 2, 5, 7) = (/ & &1.5046e-03_rb,1.3266e-03_rb,1.1472e-03_rb,9.6320e-04_rb,7.8248e-04_rb,5.9833e-04_rb, & &4.1211e-04_rb,2.2595e-04_rb,3.8463e-05_rb/) kao(:, 3, 5, 7) = (/ & &1.5168e-03_rb,1.3431e-03_rb,1.1615e-03_rb,9.8412e-04_rb,8.0210e-04_rb,6.1684e-04_rb, & &4.2935e-04_rb,2.3832e-04_rb,5.7958e-05_rb/) kao(:, 4, 5, 7) = (/ & &1.5026e-03_rb,1.3336e-03_rb,1.1649e-03_rb,9.9050e-04_rb,8.0890e-04_rb,6.2936e-04_rb, & &4.4480e-04_rb,2.5053e-04_rb,8.4195e-05_rb/) kao(:, 5, 5, 7) = (/ & &1.4982e-03_rb,1.3418e-03_rb,1.1752e-03_rb,9.9791e-04_rb,8.2403e-04_rb,6.4480e-04_rb, & &4.6309e-04_rb,2.6575e-04_rb,1.1855e-04_rb/) kao(:, 1, 6, 7) = (/ & &3.8022e-03_rb,3.3297e-03_rb,2.8587e-03_rb,2.3909e-03_rb,1.9206e-03_rb,1.4508e-03_rb, & &9.7686e-04_rb,5.0103e-04_rb,1.8374e-05_rb/) kao(:, 2, 6, 7) = (/ & &3.7188e-03_rb,3.2606e-03_rb,2.8078e-03_rb,2.3509e-03_rb,1.8941e-03_rb,1.4317e-03_rb, & &9.6949e-04_rb,5.0170e-04_rb,2.9781e-05_rb/) kao(:, 3, 6, 7) = (/ & &3.6568e-03_rb,3.2124e-03_rb,2.7660e-03_rb,2.3181e-03_rb,1.8667e-03_rb,1.4148e-03_rb, & &9.6121e-04_rb,5.0473e-04_rb,4.5442e-05_rb/) kao(:, 4, 6, 7) = (/ & &3.6655e-03_rb,3.2274e-03_rb,2.7830e-03_rb,2.3318e-03_rb,1.8859e-03_rb,1.4380e-03_rb, & &9.8239e-04_rb,5.2260e-04_rb,6.7780e-05_rb/) kao(:, 5, 6, 7) = (/ & &3.6236e-03_rb,3.1965e-03_rb,2.7643e-03_rb,2.3328e-03_rb,1.8928e-03_rb,1.4444e-03_rb, & &9.9870e-04_rb,5.3910e-04_rb,9.8293e-05_rb/) kao(:, 1, 7, 7) = (/ & &9.7756e-03_rb,8.5557e-03_rb,7.3357e-03_rb,6.1160e-03_rb,4.8978e-03_rb,3.6826e-03_rb, & &2.4642e-03_rb,1.2466e-03_rb,1.4263e-05_rb/) kao(:, 2, 7, 7) = (/ & &9.5966e-03_rb,8.4005e-03_rb,7.2050e-03_rb,6.0128e-03_rb,4.8216e-03_rb,3.6274e-03_rb, & &2.4345e-03_rb,1.2337e-03_rb,2.4094e-05_rb/) kao(:, 3, 7, 7) = (/ & &9.2939e-03_rb,8.1388e-03_rb,6.9869e-03_rb,5.8375e-03_rb,4.6843e-03_rb,3.5321e-03_rb, & &2.3720e-03_rb,1.2113e-03_rb,3.8518e-05_rb/) kao(:, 4, 7, 7) = (/ & &9.3185e-03_rb,8.1650e-03_rb,7.0200e-03_rb,5.8680e-03_rb,4.7180e-03_rb,3.5579e-03_rb, & &2.3933e-03_rb,1.2260e-03_rb,6.0065e-05_rb/) kao(:, 5, 7, 7) = (/ & &9.2942e-03_rb,8.1544e-03_rb,7.0105e-03_rb,5.8689e-03_rb,4.7186e-03_rb,3.5646e-03_rb, & &2.4113e-03_rb,1.2505e-03_rb,8.8114e-05_rb/) kao(:, 1, 8, 7) = (/ & &3.1428e-02_rb,2.7501e-02_rb,2.3574e-02_rb,1.9646e-02_rb,1.5719e-02_rb,1.1792e-02_rb, & &7.8652e-03_rb,3.9445e-03_rb,1.1179e-05_rb/) kao(:, 2, 8, 7) = (/ & &3.0933e-02_rb,2.7068e-02_rb,2.3204e-02_rb,1.9341e-02_rb,1.5477e-02_rb,1.1614e-02_rb, & &7.7579e-03_rb,3.8961e-03_rb,2.0761e-05_rb/) kao(:, 3, 8, 7) = (/ & &3.0367e-02_rb,2.6575e-02_rb,2.2784e-02_rb,1.8992e-02_rb,1.5203e-02_rb,1.1421e-02_rb, & &7.6337e-03_rb,3.8475e-03_rb,3.6107e-05_rb/) kao(:, 4, 8, 7) = (/ & &2.9365e-02_rb,2.5702e-02_rb,2.2039e-02_rb,1.8381e-02_rb,1.4731e-02_rb,1.1072e-02_rb, & &7.4163e-03_rb,3.7447e-03_rb,5.6666e-05_rb/) kao(:, 5, 8, 7) = (/ & &2.9621e-02_rb,2.5930e-02_rb,2.2243e-02_rb,1.8569e-02_rb,1.4884e-02_rb,1.1199e-02_rb, & &7.5061e-03_rb,3.7957e-03_rb,8.4702e-05_rb/) kao(:, 1, 9, 7) = (/ & &1.9031e-01_rb,1.6652e-01_rb,1.4273e-01_rb,1.1894e-01_rb,9.5159e-02_rb,7.1370e-02_rb, & &4.7583e-02_rb,2.3794e-02_rb,1.1825e-05_rb/) kao(:, 2, 9, 7) = (/ & &1.8790e-01_rb,1.6442e-01_rb,1.4093e-01_rb,1.1744e-01_rb,9.3958e-02_rb,7.0471e-02_rb, & &4.6985e-02_rb,2.3500e-02_rb,2.0873e-05_rb/) kao(:, 3, 9, 7) = (/ & &1.8549e-01_rb,1.6231e-01_rb,1.3912e-01_rb,1.1594e-01_rb,9.2757e-02_rb,6.9574e-02_rb, & &4.6391e-02_rb,2.3213e-02_rb,3.5554e-05_rb/) kao(:, 4, 9, 7) = (/ & &1.8255e-01_rb,1.5974e-01_rb,1.3693e-01_rb,1.1411e-01_rb,9.1298e-02_rb,6.8486e-02_rb, & &4.5672e-02_rb,2.2886e-02_rb,5.8671e-05_rb/) kao(:, 5, 9, 7) = (/ & &1.7785e-01_rb,1.5563e-01_rb,1.3341e-01_rb,1.1118e-01_rb,8.8960e-02_rb,6.6737e-02_rb, & &4.4547e-02_rb,2.2336e-02_rb,9.5234e-05_rb/) kao(:, 1,10, 7) = (/ & &1.3607e+00_rb,1.1905e+00_rb,1.0205e+00_rb,8.5040e-01_rb,6.8031e-01_rb,5.1024e-01_rb, & &3.4016e-01_rb,1.7008e-01_rb,8.4759e-06_rb/) kao(:, 2,10, 7) = (/ & &1.3482e+00_rb,1.1796e+00_rb,1.0111e+00_rb,8.4260e-01_rb,6.7408e-01_rb,5.0556e-01_rb, & &3.3705e-01_rb,1.6853e-01_rb,1.7938e-05_rb/) kao(:, 3,10, 7) = (/ & &1.3360e+00_rb,1.1690e+00_rb,1.0020e+00_rb,8.3498e-01_rb,6.6798e-01_rb,5.0099e-01_rb, & &3.3400e-01_rb,1.6701e-01_rb,3.3302e-05_rb/) kao(:, 4,10, 7) = (/ & &1.3243e+00_rb,1.1588e+00_rb,9.9325e-01_rb,8.2771e-01_rb,6.6217e-01_rb,4.9664e-01_rb, & &3.3111e-01_rb,1.6557e-01_rb,5.5097e-05_rb/) kao(:, 5,10, 7) = (/ & &1.3047e+00_rb,1.1416e+00_rb,9.7851e-01_rb,8.1543e-01_rb,6.5236e-01_rb,4.8929e-01_rb, & &3.2621e-01_rb,1.6314e-01_rb,9.0393e-05_rb/) kao(:, 1,11, 7) = (/ & &3.2276e+00_rb,2.8242e+00_rb,2.4208e+00_rb,2.0173e+00_rb,1.6138e+00_rb,1.2104e+00_rb, & &8.0693e-01_rb,4.0346e-01_rb,7.3681e-06_rb/) kao(:, 2,11, 7) = (/ & &3.2117e+00_rb,2.8103e+00_rb,2.4088e+00_rb,2.0073e+00_rb,1.6059e+00_rb,1.2044e+00_rb, & &8.0294e-01_rb,4.0147e-01_rb,1.5281e-05_rb/) kao(:, 3,11, 7) = (/ & &3.1949e+00_rb,2.7955e+00_rb,2.3962e+00_rb,1.9968e+00_rb,1.5975e+00_rb,1.1981e+00_rb, & &7.9874e-01_rb,3.9938e-01_rb,2.9166e-05_rb/) kao(:, 4,11, 7) = (/ & &3.1739e+00_rb,2.7771e+00_rb,2.3804e+00_rb,1.9837e+00_rb,1.5870e+00_rb,1.1902e+00_rb, & &7.9350e-01_rb,3.9677e-01_rb,4.9026e-05_rb/) kao(:, 5,11, 7) = (/ & &3.1466e+00_rb,2.7532e+00_rb,2.3599e+00_rb,1.9666e+00_rb,1.5733e+00_rb,1.1800e+00_rb, & &7.8668e-01_rb,3.9338e-01_rb,8.3128e-05_rb/) kao(:, 1,12, 7) = (/ & &4.8071e+00_rb,4.2062e+00_rb,3.6053e+00_rb,3.0044e+00_rb,2.4035e+00_rb,1.8027e+00_rb, & &1.2018e+00_rb,6.0089e-01_rb,7.8311e-06_rb/) kao(:, 2,12, 7) = (/ & &4.7982e+00_rb,4.1985e+00_rb,3.5987e+00_rb,2.9989e+00_rb,2.3991e+00_rb,1.7993e+00_rb, & &1.1996e+00_rb,5.9978e-01_rb,1.6500e-05_rb/) kao(:, 3,12, 7) = (/ & &4.7853e+00_rb,4.1872e+00_rb,3.5890e+00_rb,2.9909e+00_rb,2.3927e+00_rb,1.7945e+00_rb, & &1.1963e+00_rb,5.9818e-01_rb,3.1398e-05_rb/) kao(:, 4,12, 7) = (/ & &4.7636e+00_rb,4.1682e+00_rb,3.5727e+00_rb,2.9773e+00_rb,2.3818e+00_rb,1.7864e+00_rb, & &1.1909e+00_rb,5.9548e-01_rb,5.6315e-05_rb/) kao(:, 5,12, 7) = (/ & &4.7234e+00_rb,4.1330e+00_rb,3.5426e+00_rb,2.9521e+00_rb,2.3618e+00_rb,1.7713e+00_rb, & &1.1809e+00_rb,5.9047e-01_rb,9.4104e-05_rb/) kao(:, 1,13, 7) = (/ & &5.7320e+00_rb,5.0155e+00_rb,4.2989e+00_rb,3.5824e+00_rb,2.8660e+00_rb,2.1495e+00_rb, & &1.4330e+00_rb,7.1649e-01_rb,9.5542e-06_rb/) kao(:, 2,13, 7) = (/ & &5.7353e+00_rb,5.0184e+00_rb,4.3015e+00_rb,3.5845e+00_rb,2.8676e+00_rb,2.1507e+00_rb, & &1.4338e+00_rb,7.1691e-01_rb,1.9109e-05_rb/) kao(:, 3,13, 7) = (/ & &5.7278e+00_rb,5.0119e+00_rb,4.2959e+00_rb,3.5799e+00_rb,2.8639e+00_rb,2.1479e+00_rb, & &1.4320e+00_rb,7.1599e-01_rb,3.6436e-05_rb/) kao(:, 4,13, 7) = (/ & &5.7108e+00_rb,4.9969e+00_rb,4.2830e+00_rb,3.5692e+00_rb,2.8554e+00_rb,2.1415e+00_rb, & &1.4277e+00_rb,7.1386e-01_rb,6.4763e-05_rb/) kao(:, 5,13, 7) = (/ & &5.6635e+00_rb,4.9556e+00_rb,4.2476e+00_rb,3.5397e+00_rb,2.8317e+00_rb,2.1238e+00_rb, & &1.4159e+00_rb,7.0796e-01_rb,1.0153e-04_rb/) kao(:, 1, 1, 8) = (/ & &5.6440e-05_rb,6.3815e-05_rb,6.7040e-05_rb,7.2656e-05_rb,5.7075e-05_rb,3.5497e-05_rb, & &4.7197e-05_rb,3.9064e-05_rb,8.4705e-05_rb/) kao(:, 2, 1, 8) = (/ & &5.6956e-05_rb,6.9440e-05_rb,7.5002e-05_rb,9.1724e-05_rb,1.1786e-04_rb,1.1581e-04_rb, & &7.2124e-05_rb,6.3862e-05_rb,2.0332e-04_rb/) kao(:, 3, 1, 8) = (/ & &5.4856e-05_rb,7.4835e-05_rb,8.9381e-05_rb,1.1688e-04_rb,1.6480e-04_rb,2.0403e-04_rb, & &2.1723e-04_rb,1.2068e-04_rb,2.9982e-04_rb/) kao(:, 4, 1, 8) = (/ & &5.2749e-05_rb,8.4849e-05_rb,1.1205e-04_rb,1.5064e-04_rb,2.1741e-04_rb,2.8178e-04_rb, & &3.3958e-04_rb,3.6475e-04_rb,4.0572e-04_rb/) kao(:, 5, 1, 8) = (/ & &4.5645e-05_rb,1.0085e-04_rb,1.3954e-04_rb,1.9411e-04_rb,2.8393e-04_rb,3.7289e-04_rb, & &4.5784e-04_rb,5.5744e-04_rb,5.3928e-04_rb/) kao(:, 1, 2, 8) = (/ & &1.0540e-04_rb,1.0513e-04_rb,1.0042e-04_rb,9.6258e-05_rb,8.8970e-05_rb,4.3184e-05_rb, & &2.9692e-05_rb,3.3913e-05_rb,8.0284e-05_rb/) kao(:, 2, 2, 8) = (/ & &1.0559e-04_rb,1.0940e-04_rb,1.0770e-04_rb,1.0381e-04_rb,1.0664e-04_rb,1.1502e-04_rb, & &8.1785e-05_rb,5.3525e-05_rb,1.4202e-04_rb/) kao(:, 3, 2, 8) = (/ & &1.0218e-04_rb,1.1568e-04_rb,1.1773e-04_rb,1.2016e-04_rb,1.3039e-04_rb,1.6512e-04_rb, & &1.8884e-04_rb,1.2031e-04_rb,2.0363e-04_rb/) kao(:, 4, 2, 8) = (/ & &9.8487e-05_rb,1.1922e-04_rb,1.3281e-04_rb,1.4606e-04_rb,1.6549e-04_rb,2.1784e-04_rb, & &2.7427e-04_rb,3.0595e-04_rb,2.8029e-04_rb/) kao(:, 5, 2, 8) = (/ & &9.4987e-05_rb,1.2846e-04_rb,1.5591e-04_rb,1.8268e-04_rb,2.1442e-04_rb,2.8547e-04_rb, & &3.6877e-04_rb,4.4657e-04_rb,3.7746e-04_rb/) kao(:, 1, 3, 8) = (/ & &2.7647e-04_rb,2.5246e-04_rb,2.2770e-04_rb,2.0041e-04_rb,1.7472e-04_rb,1.4681e-04_rb, & &4.5677e-05_rb,2.9185e-05_rb,7.9704e-05_rb/) kao(:, 2, 3, 8) = (/ & &2.7846e-04_rb,2.6060e-04_rb,2.3622e-04_rb,2.0968e-04_rb,1.8322e-04_rb,1.5414e-04_rb, & &1.2348e-04_rb,3.8961e-05_rb,1.2336e-04_rb/) kao(:, 3, 3, 8) = (/ & &2.7763e-04_rb,2.6427e-04_rb,2.4553e-04_rb,2.2406e-04_rb,1.9856e-04_rb,1.7101e-04_rb, & &1.5714e-04_rb,1.3645e-04_rb,1.7764e-04_rb/) kao(:, 4, 3, 8) = (/ & &2.7073e-04_rb,2.6684e-04_rb,2.5482e-04_rb,2.3763e-04_rb,2.1876e-04_rb,2.0158e-04_rb, & &1.9981e-04_rb,2.4173e-04_rb,2.4735e-04_rb/) kao(:, 5, 3, 8) = (/ & &2.6027e-04_rb,2.7336e-04_rb,2.6560e-04_rb,2.5755e-04_rb,2.5236e-04_rb,2.4811e-04_rb, & &2.5900e-04_rb,3.3153e-04_rb,3.3717e-04_rb/) kao(:, 1, 4, 8) = (/ & &7.9130e-04_rb,7.0063e-04_rb,6.1298e-04_rb,5.1987e-04_rb,4.2755e-04_rb,3.3326e-04_rb, & &2.3363e-04_rb,3.7051e-05_rb,7.4199e-05_rb/) kao(:, 2, 4, 8) = (/ & &7.5980e-04_rb,6.7845e-04_rb,5.9445e-04_rb,5.1095e-04_rb,4.1981e-04_rb,3.2923e-04_rb, & &2.4168e-04_rb,1.3135e-04_rb,1.1471e-04_rb/) kao(:, 3, 4, 8) = (/ & &7.6644e-04_rb,6.8984e-04_rb,6.0948e-04_rb,5.2391e-04_rb,4.3682e-04_rb,3.5056e-04_rb, & &2.5756e-04_rb,1.6433e-04_rb,1.6687e-04_rb/) kao(:, 4, 4, 8) = (/ & &7.5595e-04_rb,6.9178e-04_rb,6.1629e-04_rb,5.3601e-04_rb,4.5434e-04_rb,3.7215e-04_rb, & &2.8231e-04_rb,1.9566e-04_rb,2.3395e-04_rb/) kao(:, 5, 4, 8) = (/ & &7.4067e-04_rb,6.8825e-04_rb,6.1664e-04_rb,5.5301e-04_rb,4.7442e-04_rb,3.9621e-04_rb, & &3.1512e-04_rb,2.4572e-04_rb,3.2210e-04_rb/) kao(:, 1, 5, 8) = (/ & &2.0703e-03_rb,1.8139e-03_rb,1.5621e-03_rb,1.3106e-03_rb,1.0600e-03_rb,8.0652e-04_rb, & &5.5133e-04_rb,2.9069e-04_rb,6.3670e-05_rb/) kao(:, 2, 5, 8) = (/ & &1.9818e-03_rb,1.7441e-03_rb,1.5082e-03_rb,1.2728e-03_rb,1.0326e-03_rb,7.9434e-04_rb, & &5.4918e-04_rb,2.9978e-04_rb,1.0147e-04_rb/) kao(:, 3, 5, 8) = (/ & &1.9776e-03_rb,1.7438e-03_rb,1.5149e-03_rb,1.2743e-03_rb,1.0380e-03_rb,7.9656e-04_rb, & &5.5670e-04_rb,3.0633e-04_rb,1.5212e-04_rb/) kao(:, 4, 5, 8) = (/ & &1.9765e-03_rb,1.7561e-03_rb,1.5287e-03_rb,1.2973e-03_rb,1.0616e-03_rb,8.2154e-04_rb, & &5.8167e-04_rb,3.3115e-04_rb,2.1510e-04_rb/) kao(:, 5, 5, 8) = (/ & &1.9526e-03_rb,1.7391e-03_rb,1.5270e-03_rb,1.3031e-03_rb,1.0804e-03_rb,8.4755e-04_rb, & &6.0189e-04_rb,3.6102e-04_rb,2.9241e-04_rb/) kao(:, 1, 6, 8) = (/ & &5.2193e-03_rb,4.5684e-03_rb,3.9176e-03_rb,3.2705e-03_rb,2.6232e-03_rb,1.9766e-03_rb, & &1.3309e-03_rb,6.8212e-04_rb,5.1398e-05_rb/) kao(:, 2, 6, 8) = (/ & &5.0808e-03_rb,4.4486e-03_rb,3.8217e-03_rb,3.1970e-03_rb,2.5720e-03_rb,1.9485e-03_rb, & &1.3187e-03_rb,6.8335e-04_rb,8.5267e-05_rb/) kao(:, 3, 6, 8) = (/ & &4.8228e-03_rb,4.2284e-03_rb,3.6430e-03_rb,3.0578e-03_rb,2.4711e-03_rb,1.8742e-03_rb, & &1.2774e-03_rb,6.7264e-04_rb,1.3245e-04_rb/) kao(:, 4, 6, 8) = (/ & &4.8943e-03_rb,4.3003e-03_rb,3.7080e-03_rb,3.1199e-03_rb,2.5213e-03_rb,1.9154e-03_rb, & &1.3062e-03_rb,6.9055e-04_rb,1.9661e-04_rb/) kao(:, 5, 6, 8) = (/ & &4.8824e-03_rb,4.3025e-03_rb,3.7232e-03_rb,3.1333e-03_rb,2.5429e-03_rb,1.9512e-03_rb, & &1.3415e-03_rb,7.2251e-04_rb,2.7802e-04_rb/) kao(:, 1, 7, 8) = (/ & &1.3875e-02_rb,1.2141e-02_rb,1.0408e-02_rb,8.6749e-03_rb,6.9418e-03_rb,5.2118e-03_rb, & &3.4839e-03_rb,1.7560e-03_rb,4.0537e-05_rb/) kao(:, 2, 7, 8) = (/ & &1.3633e-02_rb,1.1931e-02_rb,1.0229e-02_rb,8.5279e-03_rb,6.8346e-03_rb,5.1400e-03_rb, & &3.4444e-03_rb,1.7477e-03_rb,6.8687e-05_rb/) kao(:, 3, 7, 8) = (/ & &1.3328e-02_rb,1.1666e-02_rb,1.0007e-02_rb,8.3587e-03_rb,6.7074e-03_rb,5.0533e-03_rb, & &3.4014e-03_rb,1.7372e-03_rb,1.1189e-04_rb/) kao(:, 4, 7, 8) = (/ & &1.2636e-02_rb,1.1066e-02_rb,9.5081e-03_rb,7.9486e-03_rb,6.3850e-03_rb,4.8258e-03_rb, & &3.2564e-03_rb,1.6750e-03_rb,1.7143e-04_rb/) kao(:, 5, 7, 8) = (/ & &1.2752e-02_rb,1.1174e-02_rb,9.6135e-03_rb,8.0399e-03_rb,6.4759e-03_rb,4.9028e-03_rb, & &3.3183e-03_rb,1.7153e-03_rb,2.5158e-04_rb/) kao(:, 1, 8, 8) = (/ & &4.6547e-02_rb,4.0730e-02_rb,3.4913e-02_rb,2.9095e-02_rb,2.3277e-02_rb,1.7460e-02_rb, & &1.1642e-02_rb,5.8282e-03_rb,3.2784e-05_rb/) kao(:, 2, 8, 8) = (/ & &4.5721e-02_rb,4.0008e-02_rb,3.4294e-02_rb,2.8581e-02_rb,2.2868e-02_rb,1.7154e-02_rb, & &1.1445e-02_rb,5.7448e-03_rb,5.6960e-05_rb/) kao(:, 3, 8, 8) = (/ & &4.4866e-02_rb,3.9261e-02_rb,3.3657e-02_rb,2.8053e-02_rb,2.2449e-02_rb,1.6850e-02_rb, & &1.1263e-02_rb,5.6659e-03_rb,9.3969e-05_rb/) kao(:, 4, 8, 8) = (/ & &4.3949e-02_rb,3.8462e-02_rb,3.2975e-02_rb,2.7489e-02_rb,2.2013e-02_rb,1.6548e-02_rb, & &1.1065e-02_rb,5.5874e-03_rb,1.4907e-04_rb/) kao(:, 5, 8, 8) = (/ & &4.1860e-02_rb,3.6641e-02_rb,3.1420e-02_rb,2.6211e-02_rb,2.1011e-02_rb,1.5788e-02_rb, & &1.0584e-02_rb,5.3726e-03_rb,2.2697e-04_rb/) kao(:, 1, 9, 8) = (/ & &2.9682e-01_rb,2.5971e-01_rb,2.2262e-01_rb,1.8551e-01_rb,1.4841e-01_rb,1.1131e-01_rb, & &7.4208e-02_rb,3.7107e-02_rb,2.8713e-05_rb/) kao(:, 2, 9, 8) = (/ & &2.9173e-01_rb,2.5526e-01_rb,2.1881e-01_rb,1.8234e-01_rb,1.4587e-01_rb,1.0941e-01_rb, & &7.2941e-02_rb,3.6477e-02_rb,5.3026e-05_rb/) kao(:, 3, 9, 8) = (/ & &2.8647e-01_rb,2.5066e-01_rb,2.1486e-01_rb,1.7905e-01_rb,1.4325e-01_rb,1.0744e-01_rb, & &7.1634e-02_rb,3.5829e-02_rb,9.1273e-05_rb/) kao(:, 4, 9, 8) = (/ & &2.8100e-01_rb,2.4588e-01_rb,2.1076e-01_rb,1.7564e-01_rb,1.4052e-01_rb,1.0540e-01_rb, & &7.0282e-02_rb,3.5177e-02_rb,1.4937e-04_rb/) kao(:, 5, 9, 8) = (/ & &2.7385e-01_rb,2.3963e-01_rb,2.0540e-01_rb,1.7118e-01_rb,1.3696e-01_rb,1.0274e-01_rb, & &6.8516e-02_rb,3.4350e-02_rb,2.3011e-04_rb/) kao(:, 1,10, 8) = (/ & &2.2461e+00_rb,1.9654e+00_rb,1.6846e+00_rb,1.4038e+00_rb,1.1231e+00_rb,8.4230e-01_rb, & &5.6154e-01_rb,2.8077e-01_rb,2.2240e-05_rb/) kao(:, 2,10, 8) = (/ & &2.2106e+00_rb,1.9343e+00_rb,1.6579e+00_rb,1.3816e+00_rb,1.1053e+00_rb,8.2897e-01_rb, & &5.5265e-01_rb,2.7633e-01_rb,4.4575e-05_rb/) kao(:, 3,10, 8) = (/ & &2.1737e+00_rb,1.9020e+00_rb,1.6303e+00_rb,1.3586e+00_rb,1.0869e+00_rb,8.1516e-01_rb, & &5.4345e-01_rb,2.7173e-01_rb,8.8587e-05_rb/) kao(:, 4,10, 8) = (/ & &2.1348e+00_rb,1.8680e+00_rb,1.6011e+00_rb,1.3342e+00_rb,1.0674e+00_rb,8.0056e-01_rb, & &5.3373e-01_rb,2.6688e-01_rb,1.5800e-04_rb/) kao(:, 5,10, 8) = (/ & &2.0952e+00_rb,1.8333e+00_rb,1.5714e+00_rb,1.3095e+00_rb,1.0476e+00_rb,7.8572e-01_rb, & &5.2383e-01_rb,2.6194e-01_rb,2.5854e-04_rb/) kao(:, 1,11, 8) = (/ & &5.6263e+00_rb,4.9230e+00_rb,4.2197e+00_rb,3.5164e+00_rb,2.8132e+00_rb,2.1099e+00_rb, & &1.4066e+00_rb,7.0330e-01_rb,2.4215e-05_rb/) kao(:, 2,11, 8) = (/ & &5.5442e+00_rb,4.8512e+00_rb,4.1582e+00_rb,3.4652e+00_rb,2.7721e+00_rb,2.0791e+00_rb, & &1.3861e+00_rb,6.9304e-01_rb,5.0673e-05_rb/) kao(:, 3,11, 8) = (/ & &5.4573e+00_rb,4.7752e+00_rb,4.0930e+00_rb,3.4108e+00_rb,2.7286e+00_rb,2.0465e+00_rb, & &1.3643e+00_rb,6.8218e-01_rb,9.6231e-05_rb/) kao(:, 4,11, 8) = (/ & &5.3719e+00_rb,4.7004e+00_rb,4.0290e+00_rb,3.3575e+00_rb,2.6860e+00_rb,2.0145e+00_rb, & &1.3430e+00_rb,6.7153e-01_rb,1.7007e-04_rb/) kao(:, 5,11, 8) = (/ & &5.2804e+00_rb,4.6204e+00_rb,3.9603e+00_rb,3.3002e+00_rb,2.6402e+00_rb,1.9802e+00_rb, & &1.3201e+00_rb,6.6009e-01_rb,2.7665e-04_rb/) kao(:, 1,12, 8) = (/ & &8.8343e+00_rb,7.7300e+00_rb,6.6256e+00_rb,5.5214e+00_rb,4.4171e+00_rb,3.3128e+00_rb, & &2.2085e+00_rb,1.1043e+00_rb,2.5372e-05_rb/) kao(:, 2,12, 8) = (/ & &8.7174e+00_rb,7.6278e+00_rb,6.5381e+00_rb,5.4484e+00_rb,4.3587e+00_rb,3.2690e+00_rb, & &2.1794e+00_rb,1.0897e+00_rb,5.2642e-05_rb/) kao(:, 3,12, 8) = (/ & &8.5962e+00_rb,7.5216e+00_rb,6.4471e+00_rb,5.3726e+00_rb,4.2981e+00_rb,3.2236e+00_rb, & &2.1490e+00_rb,1.0745e+00_rb,9.9934e-05_rb/) kao(:, 4,12, 8) = (/ & &8.4730e+00_rb,7.4139e+00_rb,6.3547e+00_rb,5.2956e+00_rb,4.2365e+00_rb,3.1774e+00_rb, & &2.1183e+00_rb,1.0591e+00_rb,1.7486e-04_rb/) kao(:, 5,12, 8) = (/ & &8.3427e+00_rb,7.2999e+00_rb,6.2571e+00_rb,5.2142e+00_rb,4.1714e+00_rb,3.1285e+00_rb, & &2.0857e+00_rb,1.0429e+00_rb,2.8225e-04_rb/) kao(:, 1,13, 8) = (/ & &1.1088e+01_rb,9.7019e+00_rb,8.3159e+00_rb,6.9299e+00_rb,5.5439e+00_rb,4.1579e+00_rb, & &2.7720e+00_rb,1.3860e+00_rb,2.2843e-05_rb/) kao(:, 2,13, 8) = (/ & &1.0963e+01_rb,9.5924e+00_rb,8.2220e+00_rb,6.8518e+00_rb,5.4814e+00_rb,4.1110e+00_rb, & &2.7407e+00_rb,1.3703e+00_rb,4.7912e-05_rb/) kao(:, 3,13, 8) = (/ & &1.0836e+01_rb,9.4815e+00_rb,8.1269e+00_rb,6.7725e+00_rb,5.4179e+00_rb,4.0635e+00_rb, & &2.7090e+00_rb,1.3545e+00_rb,9.1850e-05_rb/) kao(:, 4,13, 8) = (/ & &1.0705e+01_rb,9.3666e+00_rb,8.0284e+00_rb,6.6904e+00_rb,5.3523e+00_rb,4.0142e+00_rb, & &2.6761e+00_rb,1.3381e+00_rb,1.6522e-04_rb/) kao(:, 5,13, 8) = (/ & &1.0568e+01_rb,9.2475e+00_rb,7.9263e+00_rb,6.6053e+00_rb,5.2842e+00_rb,3.9632e+00_rb, & &2.6421e+00_rb,1.3211e+00_rb,2.8269e-04_rb/) kao(:, 1, 1, 9) = (/ & &6.2917e-05_rb,8.4558e-05_rb,1.3686e-04_rb,1.9740e-04_rb,2.4967e-04_rb,2.7515e-04_rb, & &1.6338e-04_rb,4.8223e-05_rb,4.6728e-04_rb/) kao(:, 2, 1, 9) = (/ & &5.3089e-05_rb,9.0420e-05_rb,1.8251e-04_rb,2.7670e-04_rb,3.5886e-04_rb,4.3834e-04_rb, & &4.9477e-04_rb,2.3929e-04_rb,6.8730e-04_rb/) kao(:, 3, 1, 9) = (/ & &4.3039e-05_rb,1.0946e-04_rb,2.4429e-04_rb,3.7961e-04_rb,4.9689e-04_rb,6.1288e-04_rb, & &7.2274e-04_rb,7.7240e-04_rb,9.6431e-04_rb/) kao(:, 4, 1, 9) = (/ & &3.4069e-05_rb,1.3830e-04_rb,3.2177e-04_rb,5.0878e-04_rb,6.6994e-04_rb,8.2945e-04_rb, & &9.8413e-04_rb,1.1125e-03_rb,1.3109e-03_rb/) kao(:, 5, 1, 9) = (/ & &3.0399e-05_rb,1.7548e-04_rb,4.1760e-04_rb,6.6731e-04_rb,8.8167e-04_rb,1.0941e-03_rb, & &1.3015e-03_rb,1.4854e-03_rb,1.7348e-03_rb/) kao(:, 1, 2, 9) = (/ & &1.1900e-04_rb,1.2836e-04_rb,1.4231e-04_rb,1.8014e-04_rb,2.2526e-04_rb,2.6329e-04_rb, & &2.2981e-04_rb,4.7447e-05_rb,3.9923e-04_rb/) kao(:, 2, 2, 9) = (/ & &1.1384e-04_rb,1.2703e-04_rb,1.6170e-04_rb,2.3947e-04_rb,3.1945e-04_rb,3.8888e-04_rb, & &4.4936e-04_rb,3.6063e-04_rb,5.9020e-04_rb/) kao(:, 3, 2, 9) = (/ & &9.6344e-05_rb,1.3540e-04_rb,2.0202e-04_rb,3.2063e-04_rb,4.4367e-04_rb,5.4566e-04_rb, & &6.4489e-04_rb,7.2550e-04_rb,8.3580e-04_rb/) kao(:, 4, 2, 9) = (/ & &7.7835e-05_rb,1.6099e-04_rb,2.5994e-04_rb,4.2610e-04_rb,6.0189e-04_rb,7.4414e-04_rb, & &8.8531e-04_rb,1.0210e-03_rb,1.1481e-03_rb/) kao(:, 5, 2, 9) = (/ & &6.0959e-05_rb,1.9625e-04_rb,3.3515e-04_rb,5.6029e-04_rb,7.9618e-04_rb,9.9092e-04_rb, & &1.1822e-03_rb,1.3661e-03_rb,1.5393e-03_rb/) kao(:, 1, 3, 9) = (/ & &3.4384e-04_rb,3.1901e-04_rb,2.9656e-04_rb,2.7161e-04_rb,2.4956e-04_rb,2.4575e-04_rb, & &2.4892e-04_rb,1.2874e-04_rb,2.5500e-04_rb/) kao(:, 2, 3, 9) = (/ & &3.2651e-04_rb,2.9987e-04_rb,2.8407e-04_rb,2.6822e-04_rb,2.8382e-04_rb,3.2698e-04_rb, & &3.7690e-04_rb,3.8984e-04_rb,3.8097e-04_rb/) kao(:, 3, 3, 9) = (/ & &3.1133e-04_rb,2.9825e-04_rb,2.8892e-04_rb,2.8983e-04_rb,3.4857e-04_rb,4.4151e-04_rb, & &5.3596e-04_rb,6.0662e-04_rb,5.5422e-04_rb/) kao(:, 4, 3, 9) = (/ & &2.6650e-04_rb,2.9032e-04_rb,3.1626e-04_rb,3.4521e-04_rb,4.5449e-04_rb,5.9386e-04_rb, & &7.4052e-04_rb,8.5104e-04_rb,7.8265e-04_rb/) kao(:, 5, 3, 9) = (/ & &2.2412e-04_rb,2.9039e-04_rb,3.7283e-04_rb,4.3223e-04_rb,5.9364e-04_rb,7.9041e-04_rb, & &9.9696e-04_rb,1.1553e-03_rb,1.0705e-03_rb/) kao(:, 1, 4, 9) = (/ & &1.0105e-03_rb,8.9198e-04_rb,7.7732e-04_rb,6.6567e-04_rb,5.5452e-04_rb,4.4086e-04_rb, & &3.2869e-04_rb,1.9418e-04_rb,1.7212e-04_rb/) kao(:, 2, 4, 9) = (/ & &9.2169e-04_rb,8.2421e-04_rb,7.2924e-04_rb,6.3857e-04_rb,5.4763e-04_rb,4.5198e-04_rb, & &3.7244e-04_rb,3.3779e-04_rb,2.7365e-04_rb/) kao(:, 3, 4, 9) = (/ & &9.1340e-04_rb,8.1831e-04_rb,7.2882e-04_rb,6.3523e-04_rb,5.3088e-04_rb,4.5658e-04_rb, & &4.4489e-04_rb,4.8577e-04_rb,4.2302e-04_rb/) kao(:, 4, 4, 9) = (/ & &8.9251e-04_rb,8.0269e-04_rb,7.3471e-04_rb,6.4402e-04_rb,5.5905e-04_rb,5.1386e-04_rb, & &5.6577e-04_rb,6.8086e-04_rb,6.2344e-04_rb/) kao(:, 5, 4, 9) = (/ & &7.9475e-04_rb,7.3797e-04_rb,7.1362e-04_rb,6.7001e-04_rb,6.3957e-04_rb,6.1730e-04_rb, & &7.4587e-04_rb,9.2826e-04_rb,8.7756e-04_rb/) kao(:, 1, 5, 9) = (/ & &2.6935e-03_rb,2.3593e-03_rb,2.0323e-03_rb,1.7047e-03_rb,1.3798e-03_rb,1.0522e-03_rb, & &7.2780e-04_rb,3.9954e-04_rb,1.6653e-04_rb/) kao(:, 2, 5, 9) = (/ & &2.6191e-03_rb,2.2983e-03_rb,1.9871e-03_rb,1.6780e-03_rb,1.3636e-03_rb,1.0535e-03_rb, & &7.4346e-04_rb,4.3038e-04_rb,2.6682e-04_rb/) kao(:, 3, 5, 9) = (/ & &2.3650e-03_rb,2.0866e-03_rb,1.8132e-03_rb,1.5443e-03_rb,1.2810e-03_rb,1.0093e-03_rb, & &7.2606e-04_rb,4.8378e-04_rb,4.1282e-04_rb/) kao(:, 4, 5, 9) = (/ & &2.4014e-03_rb,2.1168e-03_rb,1.8401e-03_rb,1.5793e-03_rb,1.3157e-03_rb,1.0190e-03_rb, & &7.3809e-04_rb,5.7085e-04_rb,6.1502e-04_rb/) kao(:, 5, 5, 9) = (/ & &2.3689e-03_rb,2.1027e-03_rb,1.8524e-03_rb,1.6218e-03_rb,1.3262e-03_rb,1.0531e-03_rb, & &8.0904e-04_rb,7.1684e-04_rb,8.8985e-04_rb/) kao(:, 1, 6, 9) = (/ & &6.9308e-03_rb,6.0665e-03_rb,5.2022e-03_rb,4.3390e-03_rb,3.4845e-03_rb,2.6255e-03_rb, & &1.7705e-03_rb,9.1297e-04_rb,1.4507e-04_rb/) kao(:, 2, 6, 9) = (/ & &6.7707e-03_rb,5.9271e-03_rb,5.0849e-03_rb,4.2542e-03_rb,3.4202e-03_rb,2.5899e-03_rb, & &1.7563e-03_rb,9.2722e-04_rb,2.4197e-04_rb/) kao(:, 3, 6, 9) = (/ & &6.6111e-03_rb,5.7877e-03_rb,4.9821e-03_rb,4.1734e-03_rb,3.3664e-03_rb,2.5641e-03_rb, & &1.7626e-03_rb,9.4198e-04_rb,3.8026e-04_rb/) kao(:, 4, 6, 9) = (/ & &6.0438e-03_rb,5.3003e-03_rb,4.5745e-03_rb,3.8441e-03_rb,3.1111e-03_rb,2.3922e-03_rb, & &1.6672e-03_rb,9.3430e-04_rb,5.5692e-04_rb/) kao(:, 5, 6, 9) = (/ & &6.1335e-03_rb,5.3879e-03_rb,4.6501e-03_rb,3.9141e-03_rb,3.1883e-03_rb,2.4602e-03_rb, & &1.7143e-03_rb,9.6080e-04_rb,7.9260e-04_rb/) kao(:, 1, 7, 9) = (/ & &1.9047e-02_rb,1.6668e-02_rb,1.4288e-02_rb,1.1909e-02_rb,9.5299e-03_rb,7.1507e-03_rb, & &4.7825e-03_rb,2.4097e-03_rb,1.1330e-04_rb/) kao(:, 2, 7, 9) = (/ & &1.8614e-02_rb,1.6290e-02_rb,1.3965e-02_rb,1.1641e-02_rb,9.3171e-03_rb,7.0086e-03_rb, & &4.6932e-03_rb,2.3827e-03_rb,1.9275e-04_rb/) kao(:, 3, 7, 9) = (/ & &1.8191e-02_rb,1.5921e-02_rb,1.3650e-02_rb,1.1382e-02_rb,9.1322e-03_rb,6.8769e-03_rb, & &4.6246e-03_rb,2.3704e-03_rb,3.0881e-04_rb/) kao(:, 4, 7, 9) = (/ & &1.7657e-02_rb,1.5455e-02_rb,1.3252e-02_rb,1.1078e-02_rb,8.8961e-03_rb,6.7169e-03_rb, & &4.5330e-03_rb,2.3676e-03_rb,4.7256e-04_rb/) kao(:, 5, 7, 9) = (/ & &1.6605e-02_rb,1.4537e-02_rb,1.2495e-02_rb,1.0448e-02_rb,8.3949e-03_rb,6.3348e-03_rb, & &4.3112e-03_rb,2.2623e-03_rb,7.0061e-04_rb/) kao(:, 1, 8, 9) = (/ & &6.6522e-02_rb,5.8208e-02_rb,4.9894e-02_rb,4.1580e-02_rb,3.3266e-02_rb,2.4952e-02_rb, & &1.6638e-02_rb,8.3237e-03_rb,8.8556e-05_rb/) kao(:, 2, 8, 9) = (/ & &6.5331e-02_rb,5.7166e-02_rb,4.9002e-02_rb,4.0837e-02_rb,3.2672e-02_rb,2.4508e-02_rb, & &1.6344e-02_rb,8.1975e-03_rb,1.5988e-04_rb/) kao(:, 3, 8, 9) = (/ & &6.4113e-02_rb,5.6102e-02_rb,4.8090e-02_rb,4.0078e-02_rb,3.2067e-02_rb,2.4056e-02_rb, & &1.6062e-02_rb,8.0735e-03_rb,2.6393e-04_rb/) kao(:, 4, 8, 9) = (/ & &6.2675e-02_rb,5.4844e-02_rb,4.7014e-02_rb,3.9184e-02_rb,3.1353e-02_rb,2.3542e-02_rb, & &1.5747e-02_rb,7.9493e-03_rb,4.0578e-04_rb/) kao(:, 5, 8, 9) = (/ & &6.0829e-02_rb,5.3229e-02_rb,4.5632e-02_rb,3.8033e-02_rb,3.0464e-02_rb,2.2925e-02_rb, & &1.5354e-02_rb,7.7739e-03_rb,6.0582e-04_rb/) kao(:, 1, 9, 9) = (/ & &4.4562e-01_rb,3.8992e-01_rb,3.3422e-01_rb,2.7852e-01_rb,2.2281e-01_rb,1.6711e-01_rb, & &1.1141e-01_rb,5.5708e-02_rb,6.4708e-05_rb/) kao(:, 2, 9, 9) = (/ & &4.3840e-01_rb,3.8360e-01_rb,3.2881e-01_rb,2.7401e-01_rb,2.1921e-01_rb,1.6441e-01_rb, & &1.0961e-01_rb,5.4811e-02_rb,1.2246e-04_rb/) kao(:, 3, 9, 9) = (/ & &4.3101e-01_rb,3.7714e-01_rb,3.2326e-01_rb,2.6939e-01_rb,2.1551e-01_rb,1.6164e-01_rb, & &1.0777e-01_rb,5.3892e-02_rb,2.1404e-04_rb/) kao(:, 4, 9, 9) = (/ & &4.2341e-01_rb,3.7048e-01_rb,3.1756e-01_rb,2.6464e-01_rb,2.1171e-01_rb,1.5879e-01_rb, & &1.0587e-01_rb,5.2950e-02_rb,3.4919e-04_rb/) kao(:, 5, 9, 9) = (/ & &4.1490e-01_rb,3.6305e-01_rb,3.1119e-01_rb,2.5933e-01_rb,2.0748e-01_rb,1.5561e-01_rb, & &1.0376e-01_rb,5.1933e-02_rb,5.3978e-04_rb/) kao(:, 1,10, 9) = (/ & &3.5739e+00_rb,3.1272e+00_rb,2.6804e+00_rb,2.2337e+00_rb,1.7870e+00_rb,1.3402e+00_rb, & &8.9349e-01_rb,4.4675e-01_rb,3.6923e-05_rb/) kao(:, 2,10, 9) = (/ & &3.5173e+00_rb,3.0777e+00_rb,2.6381e+00_rb,2.1983e+00_rb,1.7587e+00_rb,1.3190e+00_rb, & &8.7936e-01_rb,4.3968e-01_rb,7.4734e-05_rb/) kao(:, 3,10, 9) = (/ & &3.4601e+00_rb,3.0276e+00_rb,2.5951e+00_rb,2.1626e+00_rb,1.7301e+00_rb,1.2976e+00_rb, & &8.6506e-01_rb,4.3253e-01_rb,1.2645e-04_rb/) kao(:, 4,10, 9) = (/ & &3.4013e+00_rb,2.9762e+00_rb,2.5510e+00_rb,2.1258e+00_rb,1.7007e+00_rb,1.2755e+00_rb, & &8.5034e-01_rb,4.2518e-01_rb,2.0434e-04_rb/) kao(:, 5,10, 9) = (/ & &3.3408e+00_rb,2.9231e+00_rb,2.5056e+00_rb,2.0880e+00_rb,1.6704e+00_rb,1.2528e+00_rb, & &8.3521e-01_rb,4.1763e-01_rb,3.0930e-04_rb/) kao(:, 1,11, 9) = (/ & &9.5423e+00_rb,8.3495e+00_rb,7.1567e+00_rb,5.9639e+00_rb,4.7712e+00_rb,3.5784e+00_rb, & &2.3856e+00_rb,1.1928e+00_rb,3.3494e-05_rb/) kao(:, 2,11, 9) = (/ & &9.3929e+00_rb,8.2188e+00_rb,7.0447e+00_rb,5.8706e+00_rb,4.6965e+00_rb,3.5224e+00_rb, & &2.3483e+00_rb,1.1741e+00_rb,6.4875e-05_rb/) kao(:, 3,11, 9) = (/ & &9.2404e+00_rb,8.0853e+00_rb,6.9303e+00_rb,5.7752e+00_rb,4.6202e+00_rb,3.4651e+00_rb, & &2.3101e+00_rb,1.1551e+00_rb,1.1378e-04_rb/) kao(:, 4,11, 9) = (/ & &9.0863e+00_rb,7.9506e+00_rb,6.8148e+00_rb,5.6790e+00_rb,4.5432e+00_rb,3.4074e+00_rb, & &2.2716e+00_rb,1.1358e+00_rb,1.8195e-04_rb/) kao(:, 5,11, 9) = (/ & &8.9334e+00_rb,7.8167e+00_rb,6.7001e+00_rb,5.5834e+00_rb,4.4668e+00_rb,3.3501e+00_rb, & &2.2334e+00_rb,1.1167e+00_rb,2.6874e-04_rb/) kao(:, 1,12, 9) = (/ & &1.6018e+01_rb,1.4016e+01_rb,1.2013e+01_rb,1.0011e+01_rb,8.0089e+00_rb,6.0065e+00_rb, & &4.0043e+00_rb,2.0022e+00_rb,3.3227e-05_rb/) kao(:, 2,12, 9) = (/ & &1.5778e+01_rb,1.3806e+01_rb,1.1834e+01_rb,9.8614e+00_rb,7.8892e+00_rb,5.9169e+00_rb, & &3.9446e+00_rb,1.9723e+00_rb,6.4843e-05_rb/) kao(:, 3,12, 9) = (/ & &1.5536e+01_rb,1.3594e+01_rb,1.1652e+01_rb,9.7100e+00_rb,7.7679e+00_rb,5.8260e+00_rb, & &3.8840e+00_rb,1.9420e+00_rb,1.1290e-04_rb/) kao(:, 4,12, 9) = (/ & &1.5292e+01_rb,1.3380e+01_rb,1.1469e+01_rb,9.5575e+00_rb,7.6460e+00_rb,5.7344e+00_rb, & &3.8230e+00_rb,1.9115e+00_rb,1.7636e-04_rb/) kao(:, 5,12, 9) = (/ & &1.5044e+01_rb,1.3163e+01_rb,1.1283e+01_rb,9.4022e+00_rb,7.5218e+00_rb,5.6414e+00_rb, & &3.7609e+00_rb,1.8805e+00_rb,2.6723e-04_rb/) kao(:, 1,13, 9) = (/ & &2.1597e+01_rb,1.8897e+01_rb,1.6197e+01_rb,1.3498e+01_rb,1.0798e+01_rb,8.0986e+00_rb, & &5.3991e+00_rb,2.6995e+00_rb,3.8904e-05_rb/) kao(:, 2,13, 9) = (/ & &2.1295e+01_rb,1.8633e+01_rb,1.5971e+01_rb,1.3309e+01_rb,1.0647e+01_rb,7.9855e+00_rb, & &5.3237e+00_rb,2.6618e+00_rb,7.5857e-05_rb/) kao(:, 3,13, 9) = (/ & &2.0989e+01_rb,1.8366e+01_rb,1.5742e+01_rb,1.3118e+01_rb,1.0494e+01_rb,7.8710e+00_rb, & &5.2472e+00_rb,2.6236e+00_rb,1.3015e-04_rb/) kao(:, 4,13, 9) = (/ & &2.0668e+01_rb,1.8085e+01_rb,1.5501e+01_rb,1.2918e+01_rb,1.0334e+01_rb,7.7506e+00_rb, & &5.1670e+00_rb,2.5835e+00_rb,2.0228e-04_rb/) kao(:, 5,13, 9) = (/ & &2.0333e+01_rb,1.7791e+01_rb,1.5249e+01_rb,1.2708e+01_rb,1.0166e+01_rb,7.6247e+00_rb, & &5.0831e+00_rb,2.5416e+00_rb,2.9840e-04_rb/) kao(:, 1, 1,10) = (/ & &5.6592e-05_rb,1.3380e-04_rb,2.8259e-04_rb,4.0725e-04_rb,5.2722e-04_rb,6.3771e-04_rb, & &7.3618e-04_rb,6.8809e-05_rb,1.0230e-03_rb/) kao(:, 2, 1,10) = (/ & &3.4000e-05_rb,1.7762e-04_rb,3.9282e-04_rb,5.7189e-04_rb,7.4744e-04_rb,9.1578e-04_rb, & &1.0739e-03_rb,1.1530e-03_rb,1.4652e-03_rb/) kao(:, 3, 1,10) = (/ & &3.1822e-05_rb,2.4313e-04_rb,5.2738e-04_rb,7.7595e-04_rb,1.0231e-03_rb,1.2640e-03_rb, & &1.5000e-03_rb,1.6967e-03_rb,2.0181e-03_rb/) kao(:, 4, 1,10) = (/ & &3.1887e-05_rb,3.1730e-04_rb,7.0142e-04_rb,1.0376e-03_rb,1.3716e-03_rb,1.7032e-03_rb, & &2.0256e-03_rb,2.3355e-03_rb,2.7159e-03_rb/) kao(:, 5, 1,10) = (/ & &3.2974e-05_rb,4.0500e-04_rb,9.2096e-04_rb,1.3701e-03_rb,1.8162e-03_rb,2.2594e-03_rb, & &2.6867e-03_rb,3.0973e-03_rb,3.6043e-03_rb/) kao(:, 1, 2,10) = (/ & &1.2846e-04_rb,1.5522e-04_rb,2.7655e-04_rb,3.8379e-04_rb,4.9079e-04_rb,5.9529e-04_rb, & &6.9141e-04_rb,5.6796e-04_rb,9.2767e-04_rb/) kao(:, 2, 2,10) = (/ & &6.5990e-05_rb,1.6552e-04_rb,3.7419e-04_rb,5.3648e-04_rb,6.9689e-04_rb,8.5375e-04_rb, & &1.0031e-03_rb,1.1095e-03_rb,1.3393e-03_rb/) kao(:, 3, 2,10) = (/ & &5.6435e-05_rb,1.5534e-04_rb,5.0363e-04_rb,7.3034e-04_rb,9.5369e-04_rb,1.1711e-03_rb, & &1.3827e-03_rb,1.5608e-03_rb,1.8461e-03_rb/) kao(:, 4, 2,10) = (/ & &5.4174e-05_rb,1.7810e-04_rb,6.6905e-04_rb,9.7686e-04_rb,1.2783e-03_rb,1.5737e-03_rb, & &1.8611e-03_rb,2.1178e-03_rb,2.4942e-03_rb/) kao(:, 5, 2,10) = (/ & &5.2370e-05_rb,1.9597e-04_rb,8.6044e-04_rb,1.2706e-03_rb,1.6729e-03_rb,2.0703e-03_rb, & &2.4603e-03_rb,2.8342e-03_rb,3.2918e-03_rb/) kao(:, 1, 3,10) = (/ & &4.4469e-04_rb,4.0346e-04_rb,3.7124e-04_rb,3.9072e-04_rb,4.6265e-04_rb,5.3518e-04_rb, & &6.0670e-04_rb,6.5723e-04_rb,7.6901e-04_rb/) kao(:, 2, 3,10) = (/ & &2.7821e-04_rb,2.8769e-04_rb,3.4636e-04_rb,4.5772e-04_rb,6.3733e-04_rb,7.5575e-04_rb, & &8.7290e-04_rb,9.7779e-04_rb,1.1248e-03_rb/) kao(:, 3, 3,10) = (/ & &1.6712e-04_rb,2.0135e-04_rb,3.1664e-04_rb,6.0259e-04_rb,8.6177e-04_rb,1.0373e-03_rb, & &1.2106e-03_rb,1.3752e-03_rb,1.5723e-03_rb/) kao(:, 4, 3,10) = (/ & &1.5303e-04_rb,2.3452e-04_rb,3.6629e-04_rb,7.9270e-04_rb,1.1535e-03_rb,1.4036e-03_rb, & &1.6498e-03_rb,1.8820e-03_rb,2.1596e-03_rb/) kao(:, 5, 3,10) = (/ & &1.4546e-04_rb,2.9515e-04_rb,4.4927e-04_rb,1.0579e-03_rb,1.5163e-03_rb,1.8612e-03_rb, & &2.1985e-03_rb,2.5140e-03_rb,2.9016e-03_rb/) kao(:, 1, 4,10) = (/ & &1.2138e-03_rb,1.0643e-03_rb,9.4070e-04_rb,8.1504e-04_rb,7.0358e-04_rb,5.9316e-04_rb, & &5.5104e-04_rb,5.6438e-04_rb,3.2078e-04_rb/) kao(:, 2, 4,10) = (/ & &1.1514e-03_rb,1.0125e-03_rb,9.4071e-04_rb,8.3600e-04_rb,7.4220e-04_rb,6.5907e-04_rb, & &7.7143e-04_rb,8.3267e-04_rb,4.7891e-04_rb/) kao(:, 3, 4,10) = (/ & &8.3276e-04_rb,7.0376e-04_rb,7.1208e-04_rb,6.8052e-04_rb,7.6194e-04_rb,8.9019e-04_rb, & &1.0682e-03_rb,1.1778e-03_rb,6.1825e-04_rb/) kao(:, 4, 4,10) = (/ & &6.2678e-04_rb,5.3178e-04_rb,5.1712e-04_rb,6.2090e-04_rb,7.5690e-04_rb,1.1872e-03_rb, & &1.4563e-03_rb,1.6302e-03_rb,8.5537e-04_rb/) kao(:, 5, 4,10) = (/ & &4.2987e-04_rb,5.2033e-04_rb,6.3756e-04_rb,7.6564e-04_rb,7.8218e-04_rb,1.6224e-03_rb, & &1.9482e-03_rb,2.2056e-03_rb,1.2455e-03_rb/) kao(:, 1, 5,10) = (/ & &3.3420e-03_rb,2.9247e-03_rb,2.5126e-03_rb,2.0946e-03_rb,1.6924e-03_rb,1.3030e-03_rb, & &9.3410e-04_rb,5.8986e-04_rb,3.1969e-04_rb/) kao(:, 2, 5,10) = (/ & &3.1398e-03_rb,2.7488e-03_rb,2.3818e-03_rb,2.0259e-03_rb,1.6962e-03_rb,1.3524e-03_rb, & &9.7217e-04_rb,7.2894e-04_rb,5.2320e-04_rb/) kao(:, 3, 5,10) = (/ & &3.0330e-03_rb,2.6759e-03_rb,2.3370e-03_rb,2.0014e-03_rb,1.6490e-03_rb,1.4032e-03_rb, & &1.0593e-03_rb,1.0067e-03_rb,7.5418e-04_rb/) kao(:, 4, 5,10) = (/ & &2.5775e-03_rb,2.3167e-03_rb,2.0477e-03_rb,1.6916e-03_rb,1.3663e-03_rb,1.1599e-03_rb, & &1.0841e-03_rb,1.3957e-03_rb,9.6520e-04_rb/) kao(:, 5, 5,10) = (/ & &2.1866e-03_rb,2.0017e-03_rb,1.5507e-03_rb,1.2425e-03_rb,1.2248e-03_rb,1.1086e-03_rb, & &1.2483e-03_rb,1.9173e-03_rb,1.1788e-03_rb/) kao(:, 1, 6,10) = (/ & &8.8838e-03_rb,7.7745e-03_rb,6.6646e-03_rb,5.5555e-03_rb,4.4614e-03_rb,3.3623e-03_rb, & &2.2796e-03_rb,1.1799e-03_rb,1.7827e-04_rb/) kao(:, 2, 6,10) = (/ & &8.6572e-03_rb,7.5770e-03_rb,6.4955e-03_rb,5.4321e-03_rb,4.3605e-03_rb,3.3104e-03_rb, & &2.2427e-03_rb,1.2382e-03_rb,2.5800e-04_rb/) kao(:, 3, 6,10) = (/ & &8.3335e-03_rb,7.2931e-03_rb,6.2759e-03_rb,5.2475e-03_rb,4.2339e-03_rb,3.2059e-03_rb, & &2.2047e-03_rb,1.3240e-03_rb,4.2156e-04_rb/) kao(:, 4, 6,10) = (/ & &7.5549e-03_rb,6.6060e-03_rb,5.7369e-03_rb,4.8380e-03_rb,4.0096e-03_rb,3.1204e-03_rb, & &2.3001e-03_rb,1.3603e-03_rb,7.8178e-04_rb/) kao(:, 5, 6,10) = (/ & &6.8684e-03_rb,6.0886e-03_rb,5.1989e-03_rb,4.4067e-03_rb,3.6681e-03_rb,2.8099e-03_rb, & &1.8970e-03_rb,1.4204e-03_rb,1.3480e-03_rb/) kao(:, 1, 7,10) = (/ & &2.4586e-02_rb,2.1513e-02_rb,1.8440e-02_rb,1.5369e-02_rb,1.2296e-02_rb,9.2230e-03_rb, & &6.1633e-03_rb,3.1137e-03_rb,1.3933e-04_rb/) kao(:, 2, 7,10) = (/ & &2.4170e-02_rb,2.1150e-02_rb,1.8129e-02_rb,1.5109e-02_rb,1.2088e-02_rb,9.0886e-03_rb, & &6.0878e-03_rb,3.1114e-03_rb,2.3190e-04_rb/) kao(:, 3, 7,10) = (/ & &2.3662e-02_rb,2.0705e-02_rb,1.7748e-02_rb,1.4791e-02_rb,1.1861e-02_rb,8.9271e-03_rb, & &6.0215e-03_rb,3.0844e-03_rb,3.6298e-04_rb/) kao(:, 4, 7,10) = (/ & &2.2469e-02_rb,1.9660e-02_rb,1.6853e-02_rb,1.4086e-02_rb,1.1306e-02_rb,8.5420e-03_rb, & &5.7631e-03_rb,3.0626e-03_rb,5.4029e-04_rb/) kao(:, 5, 7,10) = (/ & &1.9809e-02_rb,1.7349e-02_rb,1.4886e-02_rb,1.2460e-02_rb,1.0092e-02_rb,7.8522e-03_rb, & &5.3378e-03_rb,3.0999e-03_rb,7.7423e-04_rb/) kao(:, 1, 8,10) = (/ & &8.6508e-02_rb,7.5696e-02_rb,6.4882e-02_rb,5.4068e-02_rb,4.3255e-02_rb,3.2443e-02_rb, & &2.1630e-02_rb,1.0817e-02_rb,1.6191e-04_rb/) kao(:, 2, 8,10) = (/ & &8.4528e-02_rb,7.3960e-02_rb,6.3397e-02_rb,5.2832e-02_rb,4.2266e-02_rb,3.1701e-02_rb, & &2.1136e-02_rb,1.0597e-02_rb,3.0221e-04_rb/) kao(:, 3, 8,10) = (/ & &8.2999e-02_rb,7.2627e-02_rb,6.2253e-02_rb,5.1878e-02_rb,4.1506e-02_rb,3.1132e-02_rb, & &2.0757e-02_rb,1.0444e-02_rb,5.5391e-04_rb/) kao(:, 4, 8,10) = (/ & &8.1486e-02_rb,7.1301e-02_rb,6.1120e-02_rb,5.0928e-02_rb,4.0746e-02_rb,3.0564e-02_rb, & &2.0452e-02_rb,1.0346e-02_rb,1.0152e-03_rb/) kao(:, 5, 8,10) = (/ & &7.7129e-02_rb,6.7490e-02_rb,5.7855e-02_rb,4.8214e-02_rb,3.8581e-02_rb,2.9014e-02_rb, & &1.9443e-02_rb,9.9515e-03_rb,1.5121e-03_rb/) kao(:, 1, 9,10) = (/ & &5.8674e-01_rb,5.1340e-01_rb,4.4007e-01_rb,3.6671e-01_rb,2.9337e-01_rb,2.2003e-01_rb, & &1.4669e-01_rb,7.3347e-02_rb,1.3954e-04_rb/) kao(:, 2, 9,10) = (/ & &5.7350e-01_rb,5.0184e-01_rb,4.3015e-01_rb,3.5845e-01_rb,2.8676e-01_rb,2.1507e-01_rb, & &1.4339e-01_rb,7.1694e-02_rb,3.0044e-04_rb/) kao(:, 3, 9,10) = (/ & &5.6021e-01_rb,4.9017e-01_rb,4.2014e-01_rb,3.5012e-01_rb,2.8010e-01_rb,2.1008e-01_rb, & &1.4005e-01_rb,7.0031e-02_rb,5.5636e-04_rb/) kao(:, 4, 9,10) = (/ & &5.4802e-01_rb,4.7953e-01_rb,4.1105e-01_rb,3.4251e-01_rb,2.7403e-01_rb,2.0552e-01_rb, & &1.3702e-01_rb,6.8512e-02_rb,9.3561e-04_rb/) kao(:, 5, 9,10) = (/ & &5.3709e-01_rb,4.6991e-01_rb,4.0280e-01_rb,3.3568e-01_rb,2.6852e-01_rb,2.0142e-01_rb, & &1.3428e-01_rb,6.7143e-02_rb,1.4485e-03_rb/) kao(:, 1,10,10) = (/ & &4.7861e+00_rb,4.1878e+00_rb,3.5896e+00_rb,2.9913e+00_rb,2.3930e+00_rb,1.7948e+00_rb, & &1.1965e+00_rb,5.9827e-01_rb,3.2704e-06_rb/) kao(:, 2,10,10) = (/ & &4.6903e+00_rb,4.1040e+00_rb,3.5178e+00_rb,2.9315e+00_rb,2.3452e+00_rb,1.7589e+00_rb, & &1.1726e+00_rb,5.8632e-01_rb,5.9185e-06_rb/) kao(:, 3,10,10) = (/ & &4.5984e+00_rb,4.0237e+00_rb,3.4487e+00_rb,2.8740e+00_rb,2.2992e+00_rb,1.7244e+00_rb, & &1.1496e+00_rb,5.7479e-01_rb,9.9252e-06_rb/) kao(:, 4,10,10) = (/ & &4.5067e+00_rb,3.9434e+00_rb,3.3802e+00_rb,2.8168e+00_rb,2.2535e+00_rb,1.6901e+00_rb, & &1.1267e+00_rb,5.6337e-01_rb,1.5639e-05_rb/) kao(:, 5,10,10) = (/ & &4.4320e+00_rb,3.8780e+00_rb,3.3239e+00_rb,2.7699e+00_rb,2.2160e+00_rb,1.6620e+00_rb, & &1.1080e+00_rb,5.5401e-01_rb,2.3260e-05_rb/) kao(:, 1,11,10) = (/ & &1.3118e+01_rb,1.1478e+01_rb,9.8381e+00_rb,8.1983e+00_rb,6.5588e+00_rb,4.9192e+00_rb, & &3.2794e+00_rb,1.6397e+00_rb,2.2734e-06_rb/) kao(:, 2,11,10) = (/ & &1.2878e+01_rb,1.1268e+01_rb,9.6587e+00_rb,8.0488e+00_rb,6.4391e+00_rb,4.8293e+00_rb, & &3.2196e+00_rb,1.6098e+00_rb,4.2460e-06_rb/) kao(:, 3,11,10) = (/ & &1.2677e+01_rb,1.1092e+01_rb,9.5076e+00_rb,7.9230e+00_rb,6.3383e+00_rb,4.7539e+00_rb, & &3.1692e+00_rb,1.5846e+00_rb,7.1509e-06_rb/) kao(:, 4,11,10) = (/ & &1.2452e+01_rb,1.0896e+01_rb,9.3395e+00_rb,7.7831e+00_rb,6.2263e+00_rb,4.6699e+00_rb, & &3.1133e+00_rb,1.5566e+00_rb,1.2244e-05_rb/) kao(:, 5,11,10) = (/ & &1.2241e+01_rb,1.0711e+01_rb,9.1810e+00_rb,7.6509e+00_rb,6.1207e+00_rb,4.5903e+00_rb, & &3.0604e+00_rb,1.5302e+00_rb,2.0967e-05_rb/) kao(:, 1,12,10) = (/ & &2.2864e+01_rb,2.0005e+01_rb,1.7148e+01_rb,1.4290e+01_rb,1.1432e+01_rb,8.5738e+00_rb, & &5.7157e+00_rb,2.8580e+00_rb,1.8184e-06_rb/) kao(:, 2,12,10) = (/ & &2.2487e+01_rb,1.9676e+01_rb,1.6864e+01_rb,1.4054e+01_rb,1.1243e+01_rb,8.4321e+00_rb, & &5.6215e+00_rb,2.8107e+00_rb,3.3852e-06_rb/) kao(:, 3,12,10) = (/ & &2.2126e+01_rb,1.9360e+01_rb,1.6594e+01_rb,1.3829e+01_rb,1.1063e+01_rb,8.2969e+00_rb, & &5.5315e+00_rb,2.7657e+00_rb,6.4086e-06_rb/) kao(:, 4,12,10) = (/ & &2.1772e+01_rb,1.9050e+01_rb,1.6328e+01_rb,1.3607e+01_rb,1.0886e+01_rb,8.1644e+00_rb, & &5.4429e+00_rb,2.7215e+00_rb,1.1402e-05_rb/) kao(:, 5,12,10) = (/ & &2.1416e+01_rb,1.8740e+01_rb,1.6063e+01_rb,1.3386e+01_rb,1.0708e+01_rb,8.0313e+00_rb, & &5.3540e+00_rb,2.6771e+00_rb,1.6645e-05_rb/) kao(:, 1,13,10) = (/ & &3.2272e+01_rb,2.8237e+01_rb,2.4203e+01_rb,2.0170e+01_rb,1.6136e+01_rb,1.2101e+01_rb, & &8.0677e+00_rb,4.0338e+00_rb,1.4317e-06_rb/) kao(:, 2,13,10) = (/ & &3.1783e+01_rb,2.7810e+01_rb,2.3837e+01_rb,1.9864e+01_rb,1.5891e+01_rb,1.1919e+01_rb, & &7.9455e+00_rb,3.9728e+00_rb,3.0046e-06_rb/) kao(:, 3,13,10) = (/ & &3.1267e+01_rb,2.7359e+01_rb,2.3450e+01_rb,1.9542e+01_rb,1.5633e+01_rb,1.1725e+01_rb, & &7.8169e+00_rb,3.9083e+00_rb,5.7473e-06_rb/) kao(:, 4,13,10) = (/ & &3.0805e+01_rb,2.6955e+01_rb,2.3103e+01_rb,1.9253e+01_rb,1.5402e+01_rb,1.1552e+01_rb, & &7.7014e+00_rb,3.8506e+00_rb,8.5901e-06_rb/) kao(:, 5,13,10) = (/ & &3.0347e+01_rb,2.6554e+01_rb,2.2760e+01_rb,1.8967e+01_rb,1.5174e+01_rb,1.1380e+01_rb, & &7.5867e+00_rb,3.7933e+00_rb,1.2367e-05_rb/) kao(:, 1, 1,11) = (/ & &4.7098e-05_rb,1.8036e-04_rb,3.4819e-04_rb,5.0638e-04_rb,6.6181e-04_rb,8.1065e-04_rb, & &9.3902e-04_rb,7.7167e-04_rb,1.3022e-03_rb/) kao(:, 2, 1,11) = (/ & &3.0033e-05_rb,2.6523e-04_rb,5.0795e-04_rb,7.4803e-04_rb,9.8321e-04_rb,1.2080e-03_rb, & &1.4174e-03_rb,1.6176e-03_rb,1.9428e-03_rb/) kao(:, 3, 1,11) = (/ & &3.0544e-05_rb,3.7128e-04_rb,7.2058e-04_rb,1.0671e-03_rb,1.4084e-03_rb,1.7391e-03_rb, & &2.0379e-03_rb,2.3032e-03_rb,2.7938e-03_rb/) kao(:, 4, 1,11) = (/ & &3.0472e-05_rb,4.9757e-04_rb,9.8168e-04_rb,1.4606e-03_rb,1.9374e-03_rb,2.4057e-03_rb, & &2.8449e-03_rb,3.1636e-03_rb,3.8517e-03_rb/) kao(:, 5, 1,11) = (/ & &2.4091e-05_rb,6.5444e-04_rb,1.2934e-03_rb,1.9295e-03_rb,2.5676e-03_rb,3.2003e-03_rb, & &3.8144e-03_rb,4.2439e-03_rb,5.1123e-03_rb/) kao(:, 1, 2,11) = (/ & &1.3816e-04_rb,1.6153e-04_rb,3.3849e-04_rb,4.7695e-04_rb,6.1250e-04_rb,7.4207e-04_rb, & &8.5768e-04_rb,9.1861e-04_rb,1.1708e-03_rb/) kao(:, 2, 2,11) = (/ & &6.1066e-05_rb,1.7974e-04_rb,4.7651e-04_rb,6.8520e-04_rb,8.9139e-04_rb,1.0930e-03_rb, & &1.2848e-03_rb,1.4278e-03_rb,1.7346e-03_rb/) kao(:, 3, 2,11) = (/ & &5.7831e-05_rb,2.0028e-04_rb,6.5612e-04_rb,9.5859e-04_rb,1.2605e-03_rb,1.5625e-03_rb, & &1.8554e-03_rb,2.0988e-03_rb,2.4798e-03_rb/) kao(:, 4, 2,11) = (/ & &5.4516e-05_rb,2.3064e-04_rb,8.8062e-04_rb,1.3017e-03_rb,1.7223e-03_rb,2.1436e-03_rb, & &2.5645e-03_rb,2.9565e-03_rb,3.4038e-03_rb/) kao(:, 5, 2,11) = (/ & &5.5309e-05_rb,3.0448e-04_rb,1.1705e-03_rb,1.7340e-03_rb,2.2966e-03_rb,2.8601e-03_rb, & &3.4280e-03_rb,3.9900e-03_rb,4.5458e-03_rb/) kao(:, 1, 3,11) = (/ & &4.5525e-04_rb,4.1659e-04_rb,4.0041e-04_rb,4.3594e-04_rb,5.6841e-04_rb,6.6824e-04_rb, & &7.6559e-04_rb,8.3275e-04_rb,9.8673e-04_rb/) kao(:, 2, 3,11) = (/ & &2.7564e-04_rb,3.1143e-04_rb,4.0133e-04_rb,6.4539e-04_rb,8.1010e-04_rb,9.7483e-04_rb, & &1.1326e-03_rb,1.2606e-03_rb,1.4783e-03_rb/) kao(:, 3, 3,11) = (/ & &1.5755e-04_rb,2.0262e-04_rb,4.4233e-04_rb,8.8058e-04_rb,1.1240e-03_rb,1.3655e-03_rb, & &1.6023e-03_rb,1.8183e-03_rb,2.1060e-03_rb/) kao(:, 4, 3,11) = (/ & &1.5225e-04_rb,2.1360e-04_rb,4.5750e-04_rb,1.1722e-03_rb,1.5129e-03_rb,1.8525e-03_rb, & &2.1885e-03_rb,2.5141e-03_rb,2.8848e-03_rb/) kao(:, 5, 3,11) = (/ & &1.4157e-04_rb,2.5829e-04_rb,4.6589e-04_rb,1.5429e-03_rb,2.0085e-03_rb,2.4737e-03_rb, & &2.9344e-03_rb,3.3883e-03_rb,3.8756e-03_rb/) kao(:, 1, 4,11) = (/ & &1.2968e-03_rb,1.1627e-03_rb,1.0295e-03_rb,8.8852e-04_rb,7.5100e-04_rb,6.8878e-04_rb, & &7.0217e-04_rb,7.2855e-04_rb,6.6909e-04_rb/) kao(:, 2, 4,11) = (/ & &1.2901e-03_rb,1.1618e-03_rb,9.9278e-04_rb,8.6686e-04_rb,8.2710e-04_rb,9.1628e-04_rb, & &1.0053e-03_rb,1.0921e-03_rb,9.3719e-04_rb/) kao(:, 3, 4,11) = (/ & &8.4696e-04_rb,8.0992e-04_rb,6.6835e-04_rb,7.5797e-04_rb,8.8170e-04_rb,1.2538e-03_rb, & &1.4194e-03_rb,1.5777e-03_rb,1.2930e-03_rb/) kao(:, 4, 4,11) = (/ & &4.0946e-04_rb,5.3575e-04_rb,5.3156e-04_rb,6.5607e-04_rb,1.0924e-03_rb,1.6886e-03_rb, & &1.9410e-03_rb,2.1799e-03_rb,1.6795e-03_rb/) kao(:, 5, 4,11) = (/ & &4.1161e-04_rb,5.7102e-04_rb,5.8841e-04_rb,6.9122e-04_rb,1.4036e-03_rb,2.2467e-03_rb, & &2.6025e-03_rb,2.9419e-03_rb,2.1668e-03_rb/) kao(:, 1, 5,11) = (/ & &3.5249e-03_rb,3.0877e-03_rb,2.6707e-03_rb,2.2562e-03_rb,1.8574e-03_rb,1.4440e-03_rb, & &1.0135e-03_rb,7.0090e-04_rb,2.4879e-04_rb/) kao(:, 2, 5,11) = (/ & &3.4987e-03_rb,3.0660e-03_rb,2.6585e-03_rb,2.2616e-03_rb,1.8230e-03_rb,1.3947e-03_rb, & &1.1338e-03_rb,9.8875e-04_rb,4.4035e-04_rb/) kao(:, 3, 5,11) = (/ & &3.2338e-03_rb,2.8640e-03_rb,2.5128e-03_rb,2.2224e-03_rb,1.8369e-03_rb,1.4590e-03_rb, & &1.3054e-03_rb,1.4040e-03_rb,6.0764e-04_rb/) kao(:, 4, 5,11) = (/ & &2.1959e-03_rb,1.9312e-03_rb,1.7650e-03_rb,1.5181e-03_rb,1.3319e-03_rb,1.3218e-03_rb, & &1.7587e-03_rb,1.9394e-03_rb,9.4777e-04_rb/) kao(:, 5, 5,11) = (/ & &1.2468e-03_rb,1.0861e-03_rb,1.1609e-03_rb,1.1515e-03_rb,1.2470e-03_rb,1.3220e-03_rb, & &2.3659e-03_rb,2.6308e-03_rb,1.2356e-03_rb/) kao(:, 1, 6,11) = (/ & &9.5223e-03_rb,8.3335e-03_rb,7.1442e-03_rb,5.9544e-03_rb,4.7779e-03_rb,3.5984e-03_rb, & &2.4247e-03_rb,1.2737e-03_rb,1.4692e-04_rb/) kao(:, 2, 6,11) = (/ & &9.2485e-03_rb,8.0943e-03_rb,6.9406e-03_rb,5.8161e-03_rb,4.6851e-03_rb,3.5677e-03_rb, & &2.4748e-03_rb,1.3469e-03_rb,2.5178e-04_rb/) kao(:, 3, 6,11) = (/ & &8.7789e-03_rb,7.6827e-03_rb,6.6150e-03_rb,5.5437e-03_rb,4.4673e-03_rb,3.4787e-03_rb, & &2.4528e-03_rb,1.4847e-03_rb,3.7920e-04_rb/) kao(:, 4, 6,11) = (/ & &8.2164e-03_rb,7.2018e-03_rb,6.2465e-03_rb,5.3375e-03_rb,4.3691e-03_rb,3.4064e-03_rb, & &2.4151e-03_rb,1.7544e-03_rb,5.7438e-04_rb/) kao(:, 5, 6,11) = (/ & &6.8576e-03_rb,6.0356e-03_rb,5.1755e-03_rb,4.2553e-03_rb,3.2890e-03_rb,2.6043e-03_rb, & &1.9585e-03_rb,2.3328e-03_rb,8.0859e-04_rb/) kao(:, 1, 7,11) = (/ & &2.6634e-02_rb,2.3306e-02_rb,1.9979e-02_rb,1.6651e-02_rb,1.3321e-02_rb,9.9924e-03_rb, & &6.6684e-03_rb,3.3709e-03_rb,1.8920e-04_rb/) kao(:, 2, 7,11) = (/ & &2.5938e-02_rb,2.2696e-02_rb,1.9456e-02_rb,1.6215e-02_rb,1.2974e-02_rb,9.7488e-03_rb, & &6.5437e-03_rb,3.3574e-03_rb,3.7520e-04_rb/) kao(:, 3, 7,11) = (/ & &2.5453e-02_rb,2.2274e-02_rb,1.9096e-02_rb,1.5918e-02_rb,1.2777e-02_rb,9.6455e-03_rb, & &6.5081e-03_rb,3.3802e-03_rb,5.3158e-04_rb/) kao(:, 4, 7,11) = (/ & &2.4271e-02_rb,2.1241e-02_rb,1.8214e-02_rb,1.5233e-02_rb,1.2290e-02_rb,9.3599e-03_rb, & &6.4912e-03_rb,3.4387e-03_rb,8.0667e-04_rb/) kao(:, 5, 7,11) = (/ & &2.2422e-02_rb,1.9613e-02_rb,1.6806e-02_rb,1.4145e-02_rb,1.1493e-02_rb,8.8108e-03_rb, & &6.0692e-03_rb,3.4048e-03_rb,1.1367e-03_rb/) kao(:, 1, 8,11) = (/ & &9.5097e-02_rb,8.3206e-02_rb,7.1322e-02_rb,5.9437e-02_rb,4.7550e-02_rb,3.5664e-02_rb, & &2.3777e-02_rb,1.1891e-02_rb,8.8895e-05_rb/) kao(:, 2, 8,11) = (/ & &9.2657e-02_rb,8.1078e-02_rb,6.9498e-02_rb,5.7915e-02_rb,4.6333e-02_rb,3.4754e-02_rb, & &2.3172e-02_rb,1.1611e-02_rb,1.6093e-04_rb/) kao(:, 3, 8,11) = (/ & &8.9553e-02_rb,7.8360e-02_rb,6.7165e-02_rb,5.5974e-02_rb,4.4782e-02_rb,3.3592e-02_rb, & &2.2399e-02_rb,1.1297e-02_rb,2.7559e-04_rb/) kao(:, 4, 8,11) = (/ & &8.7450e-02_rb,7.6527e-02_rb,6.5593e-02_rb,5.4667e-02_rb,4.3739e-02_rb,3.2808e-02_rb, & &2.1983e-02_rb,1.1121e-02_rb,4.3678e-04_rb/) kao(:, 5, 8,11) = (/ & &8.6068e-02_rb,7.5315e-02_rb,6.4565e-02_rb,5.3811e-02_rb,4.3053e-02_rb,3.2463e-02_rb, & &2.1814e-02_rb,1.1203e-02_rb,7.8846e-04_rb/) kao(:, 1, 9,11) = (/ & &6.4279e-01_rb,5.6245e-01_rb,4.8207e-01_rb,4.0173e-01_rb,3.2138e-01_rb,2.4105e-01_rb, & &1.6070e-01_rb,8.0350e-02_rb,1.4861e-06_rb/) kao(:, 2, 9,11) = (/ & &6.2663e-01_rb,5.4828e-01_rb,4.6997e-01_rb,3.9164e-01_rb,3.1331e-01_rb,2.3498e-01_rb, & &1.5666e-01_rb,7.8331e-02_rb,2.7002e-06_rb/) kao(:, 3, 9,11) = (/ & &6.1151e-01_rb,5.3505e-01_rb,4.5861e-01_rb,3.8220e-01_rb,3.0575e-01_rb,2.2931e-01_rb, & &1.5288e-01_rb,7.6443e-02_rb,4.4491e-06_rb/) kao(:, 4, 9,11) = (/ & &5.9675e-01_rb,5.2214e-01_rb,4.4753e-01_rb,3.7296e-01_rb,2.9837e-01_rb,2.2379e-01_rb, & &1.4920e-01_rb,7.4612e-02_rb,6.8192e-06_rb/) kao(:, 5, 9,11) = (/ & &5.8474e-01_rb,5.1167e-01_rb,4.3855e-01_rb,3.6547e-01_rb,2.9239e-01_rb,2.1930e-01_rb, & &1.4621e-01_rb,7.3117e-02_rb,1.0152e-05_rb/) kao(:, 1,10,11) = (/ & &5.2427e+00_rb,4.5875e+00_rb,3.9320e+00_rb,3.2767e+00_rb,2.6214e+00_rb,1.9660e+00_rb, & &1.3107e+00_rb,6.5538e-01_rb,3.2405e-06_rb/) kao(:, 2,10,11) = (/ & &5.1308e+00_rb,4.4894e+00_rb,3.8480e+00_rb,3.2067e+00_rb,2.5654e+00_rb,1.9241e+00_rb, & &1.2827e+00_rb,6.4136e-01_rb,6.0207e-06_rb/) kao(:, 3,10,11) = (/ & &5.0278e+00_rb,4.3993e+00_rb,3.7708e+00_rb,3.1424e+00_rb,2.5139e+00_rb,1.8854e+00_rb, & &1.2569e+00_rb,6.2847e-01_rb,1.0181e-05_rb/) kao(:, 4,10,11) = (/ & &4.9276e+00_rb,4.3117e+00_rb,3.6956e+00_rb,3.0798e+00_rb,2.4638e+00_rb,1.8478e+00_rb, & &1.2319e+00_rb,6.1596e-01_rb,1.5690e-05_rb/) kao(:, 5,10,11) = (/ & &4.8175e+00_rb,4.2154e+00_rb,3.6129e+00_rb,3.0109e+00_rb,2.4088e+00_rb,1.8066e+00_rb, & &1.2044e+00_rb,6.0226e-01_rb,2.2851e-05_rb/) kao(:, 1,11,11) = (/ & &1.4444e+01_rb,1.2639e+01_rb,1.0833e+01_rb,9.0277e+00_rb,7.2223e+00_rb,5.4167e+00_rb, & &3.6111e+00_rb,1.8056e+00_rb,3.3928e-06_rb/) kao(:, 2,11,11) = (/ & &1.4191e+01_rb,1.2417e+01_rb,1.0643e+01_rb,8.8695e+00_rb,7.0956e+00_rb,5.3217e+00_rb, & &3.5476e+00_rb,1.7739e+00_rb,6.3163e-06_rb/) kao(:, 3,11,11) = (/ & &1.3919e+01_rb,1.2179e+01_rb,1.0439e+01_rb,8.6994e+00_rb,6.9594e+00_rb,5.2197e+00_rb, & &3.4797e+00_rb,1.7399e+00_rb,1.0603e-05_rb/) kao(:, 4,11,11) = (/ & &1.3652e+01_rb,1.1946e+01_rb,1.0239e+01_rb,8.5326e+00_rb,6.8259e+00_rb,5.1193e+00_rb, & &3.4129e+00_rb,1.7065e+00_rb,1.6659e-05_rb/) kao(:, 5,11,11) = (/ & &1.3348e+01_rb,1.1680e+01_rb,1.0011e+01_rb,8.3424e+00_rb,6.6742e+00_rb,5.0056e+00_rb, & &3.3371e+00_rb,1.6685e+00_rb,2.4500e-05_rb/) kao(:, 1,12,11) = (/ & &2.5285e+01_rb,2.2125e+01_rb,1.8964e+01_rb,1.5803e+01_rb,1.2642e+01_rb,9.4819e+00_rb, & &6.3210e+00_rb,3.1605e+00_rb,2.1167e-06_rb/) kao(:, 2,12,11) = (/ & &2.4880e+01_rb,2.1769e+01_rb,1.8659e+01_rb,1.5550e+01_rb,1.2440e+01_rb,9.3299e+00_rb, & &6.2198e+00_rb,3.1099e+00_rb,3.8897e-06_rb/) kao(:, 3,12,11) = (/ & &2.4433e+01_rb,2.1379e+01_rb,1.8325e+01_rb,1.5271e+01_rb,1.2217e+01_rb,9.1622e+00_rb, & &6.1081e+00_rb,3.0541e+00_rb,6.6786e-06_rb/) kao(:, 4,12,11) = (/ & &2.3948e+01_rb,2.0955e+01_rb,1.7960e+01_rb,1.4967e+01_rb,1.1974e+01_rb,8.9803e+00_rb, & &5.9870e+00_rb,2.9934e+00_rb,1.0649e-05_rb/) kao(:, 5,12,11) = (/ & &2.3474e+01_rb,2.0540e+01_rb,1.7606e+01_rb,1.4671e+01_rb,1.1737e+01_rb,8.8029e+00_rb, & &5.8685e+00_rb,2.9342e+00_rb,1.7444e-05_rb/) kao(:, 1,13,11) = (/ & &3.6004e+01_rb,3.1505e+01_rb,2.7003e+01_rb,2.2503e+01_rb,1.8003e+01_rb,1.3502e+01_rb, & &9.0009e+00_rb,4.5004e+00_rb,1.4918e-06_rb/) kao(:, 2,13,11) = (/ & &3.5389e+01_rb,3.0965e+01_rb,2.6541e+01_rb,2.2118e+01_rb,1.7694e+01_rb,1.3271e+01_rb, & &8.8469e+00_rb,4.4235e+00_rb,2.8535e-06_rb/) kao(:, 3,13,11) = (/ & &3.4779e+01_rb,3.0432e+01_rb,2.6084e+01_rb,2.1737e+01_rb,1.7389e+01_rb,1.3042e+01_rb, & &8.6948e+00_rb,4.3474e+00_rb,4.8793e-06_rb/) kao(:, 4,13,11) = (/ & &3.4139e+01_rb,2.9872e+01_rb,2.5605e+01_rb,2.1337e+01_rb,1.7070e+01_rb,1.2802e+01_rb, & &8.5348e+00_rb,4.2675e+00_rb,8.8607e-06_rb/) kao(:, 5,13,11) = (/ & &3.3563e+01_rb,2.9368e+01_rb,2.5171e+01_rb,2.0976e+01_rb,1.6781e+01_rb,1.2586e+01_rb, & &8.3906e+00_rb,4.1953e+00_rb,1.4420e-05_rb/) kao(:, 1, 1,12) = (/ & &6.4900e-05_rb,2.8719e-04_rb,5.6307e-04_rb,8.4351e-04_rb,1.1291e-03_rb,1.4211e-03_rb, & &1.7201e-03_rb,1.9852e-03_rb,2.2469e-03_rb/) kao(:, 2, 1,12) = (/ & &3.4635e-05_rb,4.0542e-04_rb,7.9731e-04_rb,1.1929e-03_rb,1.5968e-03_rb,2.0148e-03_rb, & &2.4518e-03_rb,2.8750e-03_rb,3.1817e-03_rb/) kao(:, 3, 1,12) = (/ & &3.0386e-05_rb,5.5544e-04_rb,1.0947e-03_rb,1.6361e-03_rb,2.1835e-03_rb,2.7444e-03_rb, & &3.3456e-03_rb,3.9572e-03_rb,4.3509e-03_rb/) kao(:, 4, 1,12) = (/ & &2.1896e-05_rb,7.4746e-04_rb,1.4741e-03_rb,2.1992e-03_rb,2.9238e-03_rb,3.6527e-03_rb, & &4.4093e-03_rb,5.2454e-03_rb,5.8288e-03_rb/) kao(:, 5, 1,12) = (/ & &2.2978e-05_rb,9.8728e-04_rb,1.9484e-03_rb,2.9034e-03_rb,3.8494e-03_rb,4.7859e-03_rb, & &5.7216e-03_rb,6.7414e-03_rb,7.6777e-03_rb/) kao(:, 1, 2,12) = (/ & &1.5749e-04_rb,2.0866e-04_rb,4.6787e-04_rb,6.8742e-04_rb,9.1071e-04_rb,1.1382e-03_rb, & &1.3780e-03_rb,1.6236e-03_rb,1.7971e-03_rb/) kao(:, 2, 2,12) = (/ & &6.4613e-05_rb,2.9516e-04_rb,6.7832e-04_rb,1.0033e-03_rb,1.3310e-03_rb,1.6630e-03_rb, & &2.0071e-03_rb,2.4028e-03_rb,2.6327e-03_rb/) kao(:, 3, 2,12) = (/ & &5.7078e-05_rb,4.5933e-04_rb,9.6118e-04_rb,1.4236e-03_rb,1.8857e-03_rb,2.3486e-03_rb, & &2.8168e-03_rb,3.3472e-03_rb,3.7377e-03_rb/) kao(:, 4, 2,12) = (/ & &4.9262e-05_rb,6.5877e-04_rb,1.3301e-03_rb,1.9726e-03_rb,2.6111e-03_rb,3.2436e-03_rb, & &3.8662e-03_rb,4.5052e-03_rb,5.1847e-03_rb/) kao(:, 5, 2,12) = (/ & &4.0132e-05_rb,8.9682e-04_rb,1.7993e-03_rb,2.6705e-03_rb,3.5334e-03_rb,4.3806e-03_rb, & &5.1960e-03_rb,5.9592e-03_rb,7.0262e-03_rb/) kao(:, 1, 3,12) = (/ & &4.4536e-04_rb,4.2140e-04_rb,4.1326e-04_rb,5.8784e-04_rb,7.3376e-04_rb,8.8410e-04_rb, & &1.0353e-03_rb,1.1868e-03_rb,1.3506e-03_rb/) kao(:, 2, 3,12) = (/ & &3.6360e-04_rb,3.5667e-04_rb,4.9101e-04_rb,8.4210e-04_rb,1.0791e-03_rb,1.3181e-03_rb, & &1.5590e-03_rb,1.8085e-03_rb,2.0516e-03_rb/) kao(:, 3, 3,12) = (/ & &1.5077e-04_rb,2.9297e-04_rb,7.2917e-04_rb,1.2081e-03_rb,1.5723e-03_rb,1.9339e-03_rb, & &2.2902e-03_rb,2.6377e-03_rb,3.0400e-03_rb/) kao(:, 4, 3,12) = (/ & &1.4163e-04_rb,2.2426e-04_rb,1.0557e-03_rb,1.7084e-03_rb,2.2382e-03_rb,2.7621e-03_rb, & &3.2708e-03_rb,3.7457e-03_rb,4.3687e-03_rb/) kao(:, 5, 3,12) = (/ & &1.3019e-04_rb,2.3338e-04_rb,1.4920e-03_rb,2.3388e-03_rb,3.0800e-03_rb,3.8155e-03_rb, & &4.5352e-03_rb,5.1815e-03_rb,6.0536e-03_rb/) kao(:, 1, 4,12) = (/ & &1.4099e-03_rb,1.2519e-03_rb,1.0992e-03_rb,9.6157e-04_rb,8.5060e-04_rb,8.2135e-04_rb, & &8.8574e-04_rb,9.4943e-04_rb,1.0571e-03_rb/) kao(:, 2, 4,12) = (/ & &1.2160e-03_rb,1.0633e-03_rb,1.0308e-03_rb,9.5807e-04_rb,9.2808e-04_rb,1.1772e-03_rb, & &1.3218e-03_rb,1.4545e-03_rb,1.6420e-03_rb/) kao(:, 3, 4,12) = (/ & &7.7631e-04_rb,7.4153e-04_rb,7.5882e-04_rb,8.7236e-04_rb,1.3771e-03_rb,1.6770e-03_rb, & &1.9300e-03_rb,2.1670e-03_rb,2.4676e-03_rb/) kao(:, 4, 4,12) = (/ & &4.5228e-04_rb,5.1764e-04_rb,4.9825e-04_rb,1.0410e-03_rb,1.9642e-03_rb,2.3602e-03_rb, & &2.7572e-03_rb,3.1444e-03_rb,3.5784e-03_rb/) kao(:, 5, 4,12) = (/ & &3.7162e-04_rb,5.4517e-04_rb,4.7653e-04_rb,1.0804e-03_rb,2.6516e-03_rb,3.2347e-03_rb, & &3.8223e-03_rb,4.4076e-03_rb,4.9248e-03_rb/) kao(:, 1, 5,12) = (/ & &3.8990e-03_rb,3.4146e-03_rb,2.9418e-03_rb,2.4792e-03_rb,1.9894e-03_rb,1.5917e-03_rb, & &1.1813e-03_rb,8.6801e-04_rb,2.1028e-04_rb/) kao(:, 2, 5,12) = (/ & &3.6199e-03_rb,3.1680e-03_rb,2.6938e-03_rb,2.3090e-03_rb,1.9956e-03_rb,1.6463e-03_rb, & &1.2997e-03_rb,1.3006e-03_rb,2.4494e-04_rb/) kao(:, 3, 5,12) = (/ & &3.4415e-03_rb,3.0220e-03_rb,2.5761e-03_rb,2.2036e-03_rb,1.8689e-03_rb,1.5859e-03_rb, & &1.7898e-03_rb,1.9074e-03_rb,5.0679e-04_rb/) kao(:, 4, 5,12) = (/ & &2.1716e-03_rb,1.9079e-03_rb,1.6133e-03_rb,1.3356e-03_rb,1.5050e-03_rb,1.8145e-03_rb, & &2.4880e-03_rb,2.7223e-03_rb,8.8637e-04_rb/) kao(:, 5, 5,12) = (/ & &1.3077e-03_rb,1.2440e-03_rb,1.1158e-03_rb,9.0020e-04_rb,1.2713e-03_rb,2.3698e-03_rb, & &3.3646e-03_rb,3.7560e-03_rb,1.3375e-03_rb/) kao(:, 1, 6,12) = (/ & &1.0196e-02_rb,8.9244e-03_rb,7.6531e-03_rb,6.3818e-03_rb,5.1267e-03_rb,3.9081e-03_rb, & &2.6537e-03_rb,1.4661e-03_rb,1.6889e-04_rb/) kao(:, 2, 6,12) = (/ & &1.0111e-02_rb,8.8532e-03_rb,7.5941e-03_rb,6.3593e-03_rb,5.1154e-03_rb,3.8577e-03_rb, & &2.6627e-03_rb,1.5273e-03_rb,2.6786e-04_rb/) kao(:, 3, 6,12) = (/ & &9.5574e-03_rb,8.3745e-03_rb,7.2096e-03_rb,6.0967e-03_rb,4.9927e-03_rb,3.8753e-03_rb, & &2.6940e-03_rb,1.7929e-03_rb,4.4721e-04_rb/) kao(:, 4, 6,12) = (/ & &9.1448e-03_rb,8.0065e-03_rb,6.8180e-03_rb,5.6454e-03_rb,4.5888e-03_rb,3.5047e-03_rb, & &2.6334e-03_rb,2.4842e-03_rb,6.5846e-04_rb/) kao(:, 5, 6,12) = (/ & &5.7075e-03_rb,5.0049e-03_rb,4.5271e-03_rb,4.0365e-03_rb,3.0612e-03_rb,2.5106e-03_rb, & &2.5238e-03_rb,3.3792e-03_rb,9.8239e-04_rb/) kao(:, 1, 7,12) = (/ & &2.9179e-02_rb,2.5534e-02_rb,2.1889e-02_rb,1.8245e-02_rb,1.4599e-02_rb,1.0955e-02_rb, & &7.3101e-03_rb,3.7189e-03_rb,1.6629e-04_rb/) kao(:, 2, 7,12) = (/ & &2.8331e-02_rb,2.4795e-02_rb,2.1258e-02_rb,1.7722e-02_rb,1.4184e-02_rb,1.0647e-02_rb, & &7.1746e-03_rb,3.6882e-03_rb,3.2759e-04_rb/) kao(:, 3, 7,12) = (/ & &2.7584e-02_rb,2.4141e-02_rb,2.0699e-02_rb,1.7251e-02_rb,1.3817e-02_rb,1.0419e-02_rb, & &6.9883e-03_rb,3.6331e-03_rb,7.5693e-04_rb/) kao(:, 4, 7,12) = (/ & &2.7092e-02_rb,2.3710e-02_rb,2.0332e-02_rb,1.6950e-02_rb,1.3669e-02_rb,1.0331e-02_rb, & &6.9978e-03_rb,3.6886e-03_rb,1.3272e-03_rb/) kao(:, 5, 7,12) = (/ & &2.4668e-02_rb,2.1578e-02_rb,1.8509e-02_rb,1.5691e-02_rb,1.2680e-02_rb,9.7141e-03_rb, & &6.7022e-03_rb,3.7141e-03_rb,1.7778e-03_rb/) kao(:, 1, 8,12) = (/ & &1.0361e-01_rb,9.0667e-02_rb,7.7713e-02_rb,6.4765e-02_rb,5.1815e-02_rb,3.8864e-02_rb, & &2.5914e-02_rb,1.2965e-02_rb,1.1677e-04_rb/) kao(:, 2, 8,12) = (/ & &1.0115e-01_rb,8.8507e-02_rb,7.5864e-02_rb,6.3225e-02_rb,5.0584e-02_rb,3.7943e-02_rb, & &2.5302e-02_rb,1.2662e-02_rb,2.2624e-04_rb/) kao(:, 3, 8,12) = (/ & &9.8784e-02_rb,8.6438e-02_rb,7.4094e-02_rb,6.1749e-02_rb,4.9403e-02_rb,3.7059e-02_rb, & &2.4715e-02_rb,1.2461e-02_rb,3.7810e-04_rb/) kao(:, 4, 8,12) = (/ & &9.5779e-02_rb,8.3802e-02_rb,7.1837e-02_rb,5.9866e-02_rb,4.7899e-02_rb,3.5935e-02_rb, & &2.4068e-02_rb,1.2158e-02_rb,6.1406e-04_rb/) kao(:, 5, 8,12) = (/ & &9.3500e-02_rb,8.1816e-02_rb,7.0121e-02_rb,5.8448e-02_rb,4.6756e-02_rb,3.5152e-02_rb, & &2.3515e-02_rb,1.2003e-02_rb,9.1223e-04_rb/) kao(:, 1, 9,12) = (/ & &7.0616e-01_rb,6.1791e-01_rb,5.2965e-01_rb,4.4136e-01_rb,3.5309e-01_rb,2.6483e-01_rb, & &1.7655e-01_rb,8.8282e-02_rb,1.5290e-06_rb/) kao(:, 2, 9,12) = (/ & &6.9151e-01_rb,6.0507e-01_rb,5.1861e-01_rb,4.3218e-01_rb,3.4576e-01_rb,2.5930e-01_rb, & &1.7288e-01_rb,8.6445e-02_rb,2.6717e-06_rb/) kao(:, 3, 9,12) = (/ & &6.7650e-01_rb,5.9194e-01_rb,5.0740e-01_rb,4.2284e-01_rb,3.3827e-01_rb,2.5371e-01_rb, & &1.6914e-01_rb,8.4579e-02_rb,4.4922e-06_rb/) kao(:, 4, 9,12) = (/ & &6.5888e-01_rb,5.7654e-01_rb,4.9417e-01_rb,4.1183e-01_rb,3.2946e-01_rb,2.4710e-01_rb, & &1.6473e-01_rb,8.2371e-02_rb,7.3887e-06_rb/) kao(:, 5, 9,12) = (/ & &6.4040e-01_rb,5.6034e-01_rb,4.8031e-01_rb,4.0028e-01_rb,3.2019e-01_rb,2.4016e-01_rb, & &1.6010e-01_rb,8.0057e-02_rb,1.1597e-05_rb/) kao(:, 1,10,12) = (/ & &5.7734e+00_rb,5.0518e+00_rb,4.3301e+00_rb,3.6085e+00_rb,2.8866e+00_rb,2.1651e+00_rb, & &1.4434e+00_rb,7.2167e-01_rb,9.1748e-07_rb/) kao(:, 2,10,12) = (/ & &5.6550e+00_rb,4.9481e+00_rb,4.2414e+00_rb,3.5344e+00_rb,2.8275e+00_rb,2.1206e+00_rb, & &1.4138e+00_rb,7.0688e-01_rb,1.6728e-06_rb/) kao(:, 3,10,12) = (/ & &5.5293e+00_rb,4.8379e+00_rb,4.1470e+00_rb,3.4558e+00_rb,2.7646e+00_rb,2.0735e+00_rb, & &1.3823e+00_rb,6.9113e-01_rb,2.9526e-06_rb/) kao(:, 4,10,12) = (/ & &5.4054e+00_rb,4.7297e+00_rb,4.0540e+00_rb,3.3783e+00_rb,2.7027e+00_rb,2.0270e+00_rb, & &1.3514e+00_rb,6.7568e-01_rb,4.8767e-06_rb/) kao(:, 5,10,12) = (/ & &5.2733e+00_rb,4.6145e+00_rb,3.9550e+00_rb,3.2959e+00_rb,2.6366e+00_rb,1.9775e+00_rb, & &1.3184e+00_rb,6.5919e-01_rb,7.7655e-06_rb/) kao(:, 1,11,12) = (/ & &1.5785e+01_rb,1.3812e+01_rb,1.1839e+01_rb,9.8659e+00_rb,7.8925e+00_rb,5.9194e+00_rb, & &3.9463e+00_rb,1.9732e+00_rb,7.4549e-07_rb/) kao(:, 2,11,12) = (/ & &1.5479e+01_rb,1.3544e+01_rb,1.1609e+01_rb,9.6738e+00_rb,7.7393e+00_rb,5.8045e+00_rb, & &3.8695e+00_rb,1.9348e+00_rb,1.4083e-06_rb/) kao(:, 3,11,12) = (/ & &1.5180e+01_rb,1.3283e+01_rb,1.1385e+01_rb,9.4881e+00_rb,7.5902e+00_rb,5.6927e+00_rb, & &3.7951e+00_rb,1.8975e+00_rb,2.4492e-06_rb/) kao(:, 4,11,12) = (/ & &1.4875e+01_rb,1.3016e+01_rb,1.1157e+01_rb,9.2972e+00_rb,7.4378e+00_rb,5.5784e+00_rb, & &3.7189e+00_rb,1.8594e+00_rb,4.0481e-06_rb/) kao(:, 5,11,12) = (/ & &1.4584e+01_rb,1.2761e+01_rb,1.0938e+01_rb,9.1150e+00_rb,7.2921e+00_rb,5.4689e+00_rb, & &3.6460e+00_rb,1.8230e+00_rb,6.1324e-06_rb/) kao(:, 1,12,12) = (/ & &2.7851e+01_rb,2.4369e+01_rb,2.0888e+01_rb,1.7407e+01_rb,1.3925e+01_rb,1.0444e+01_rb, & &6.9625e+00_rb,3.4813e+00_rb,1.7967e-06_rb/) kao(:, 2,12,12) = (/ & &2.7381e+01_rb,2.3958e+01_rb,2.0536e+01_rb,1.7113e+01_rb,1.3691e+01_rb,1.0268e+01_rb, & &6.8453e+00_rb,3.4226e+00_rb,3.3551e-06_rb/) kao(:, 3,12,12) = (/ & &2.6898e+01_rb,2.3535e+01_rb,2.0173e+01_rb,1.6811e+01_rb,1.3449e+01_rb,1.0086e+01_rb, & &6.7243e+00_rb,3.3621e+00_rb,5.7999e-06_rb/) kao(:, 4,12,12) = (/ & &2.6422e+01_rb,2.3120e+01_rb,1.9816e+01_rb,1.6513e+01_rb,1.3211e+01_rb,9.9083e+00_rb, & &6.6055e+00_rb,3.3027e+00_rb,8.8648e-06_rb/) kao(:, 5,12,12) = (/ & &2.5893e+01_rb,2.2657e+01_rb,1.9420e+01_rb,1.6183e+01_rb,1.2946e+01_rb,9.7098e+00_rb, & &6.4732e+00_rb,3.2366e+00_rb,1.3030e-05_rb/) kao(:, 1,13,12) = (/ & &4.0056e+01_rb,3.5049e+01_rb,3.0042e+01_rb,2.5035e+01_rb,2.0028e+01_rb,1.5021e+01_rb, & &1.0014e+01_rb,5.0068e+00_rb,1.9339e-06_rb/) kao(:, 2,13,12) = (/ & &3.9543e+01_rb,3.4599e+01_rb,2.9657e+01_rb,2.4713e+01_rb,1.9771e+01_rb,1.4828e+01_rb, & &9.8854e+00_rb,4.9428e+00_rb,3.6424e-06_rb/) kao(:, 3,13,12) = (/ & &3.8932e+01_rb,3.4065e+01_rb,2.9198e+01_rb,2.4333e+01_rb,1.9465e+01_rb,1.4599e+01_rb, & &9.7330e+00_rb,4.8663e+00_rb,6.0957e-06_rb/) kao(:, 4,13,12) = (/ & &3.8278e+01_rb,3.3493e+01_rb,2.8708e+01_rb,2.3923e+01_rb,1.9139e+01_rb,1.4354e+01_rb, & &9.5693e+00_rb,4.7847e+00_rb,9.5853e-06_rb/) kao(:, 5,13,12) = (/ & &3.7502e+01_rb,3.2815e+01_rb,2.8127e+01_rb,2.3438e+01_rb,1.8751e+01_rb,1.4063e+01_rb, & &9.3751e+00_rb,4.6877e+00_rb,1.4124e-05_rb/) kao(:, 1, 1,13) = (/ & &7.4486e-05_rb,5.1116e-04_rb,1.0025e-03_rb,1.4842e-03_rb,1.9493e-03_rb,2.3797e-03_rb, & &2.7258e-03_rb,2.8231e-03_rb,3.8853e-03_rb/) kao(:, 2, 1,13) = (/ & &6.5327e-05_rb,7.3706e-04_rb,1.4529e-03_rb,2.1556e-03_rb,2.8349e-03_rb,3.4671e-03_rb, & &3.9764e-03_rb,4.1729e-03_rb,5.6550e-03_rb/) kao(:, 3, 1,13) = (/ & &2.8267e-05_rb,1.0173e-03_rb,2.0120e-03_rb,2.9905e-03_rb,3.9385e-03_rb,4.8257e-03_rb, & &5.5630e-03_rb,5.8315e-03_rb,7.8638e-03_rb/) kao(:, 4, 1,13) = (/ & &2.3738e-05_rb,1.3547e-03_rb,2.6849e-03_rb,3.9940e-03_rb,5.2660e-03_rb,6.4652e-03_rb, & &7.4857e-03_rb,7.8673e-03_rb,1.0519e-02_rb/) kao(:, 5, 1,13) = (/ & &2.6320e-05_rb,1.7490e-03_rb,3.4713e-03_rb,5.1691e-03_rb,6.8225e-03_rb,8.3917e-03_rb, & &9.7490e-03_rb,1.0316e-02_rb,1.3632e-02_rb/) kao(:, 1, 2,13) = (/ & &1.3584e-04_rb,4.6683e-04_rb,9.0905e-04_rb,1.3477e-03_rb,1.7804e-03_rb,2.1997e-03_rb, & &2.5843e-03_rb,2.8459e-03_rb,3.5348e-03_rb/) kao(:, 2, 2,13) = (/ & &1.2342e-04_rb,6.7608e-04_rb,1.3278e-03_rb,1.9757e-03_rb,2.6172e-03_rb,3.2432e-03_rb, & &3.8268e-03_rb,4.2250e-03_rb,5.2098e-03_rb/) kao(:, 3, 2,13) = (/ & &5.7073e-05_rb,9.3916e-04_rb,1.8537e-03_rb,2.7640e-03_rb,3.6667e-03_rb,4.5531e-03_rb, & &5.3892e-03_rb,5.9774e-03_rb,7.3088e-03_rb/) kao(:, 4, 2,13) = (/ & &4.3007e-05_rb,1.2575e-03_rb,2.4910e-03_rb,3.7207e-03_rb,4.9408e-03_rb,6.1442e-03_rb, & &7.2881e-03_rb,8.1201e-03_rb,9.8567e-03_rb/) kao(:, 5, 2,13) = (/ & &4.4050e-05_rb,1.6325e-03_rb,3.2411e-03_rb,4.8448e-03_rb,6.4428e-03_rb,8.0196e-03_rb, & &9.5284e-03_rb,1.0661e-02_rb,1.2860e-02_rb/) kao(:, 1, 3,13) = (/ & &4.8847e-04_rb,4.8646e-04_rb,7.2624e-04_rb,1.0874e-03_rb,1.4317e-03_rb,1.7747e-03_rb, & &2.1141e-03_rb,2.4304e-03_rb,2.8058e-03_rb/) kao(:, 2, 3,13) = (/ & &3.4302e-04_rb,4.5845e-04_rb,1.0966e-03_rb,1.6182e-03_rb,2.1396e-03_rb,2.6609e-03_rb, & &3.1797e-03_rb,3.6788e-03_rb,4.2203e-03_rb/) kao(:, 3, 3,13) = (/ & &2.3118e-04_rb,5.8673e-04_rb,1.5488e-03_rb,2.2966e-03_rb,3.0451e-03_rb,3.7949e-03_rb, & &4.5473e-03_rb,5.2834e-03_rb,6.0295e-03_rb/) kao(:, 4, 3,13) = (/ & &1.2745e-04_rb,7.5679e-04_rb,2.1131e-03_rb,3.1366e-03_rb,4.1628e-03_rb,5.1929e-03_rb, & &6.2318e-03_rb,7.2646e-03_rb,8.2577e-03_rb/) kao(:, 5, 3,13) = (/ & &1.0163e-04_rb,9.0005e-04_rb,2.8013e-03_rb,4.1651e-03_rb,5.5261e-03_rb,6.8877e-03_rb, & &8.2517e-03_rb,9.6360e-03_rb,1.0972e-02_rb/) kao(:, 1, 4,13) = (/ & &1.4481e-03_rb,1.2897e-03_rb,1.1542e-03_rb,1.0925e-03_rb,1.1503e-03_rb,1.3566e-03_rb, & &1.5821e-03_rb,1.8266e-03_rb,2.0462e-03_rb/) kao(:, 2, 4,13) = (/ & &1.3895e-03_rb,1.2964e-03_rb,1.0801e-03_rb,1.1824e-03_rb,1.6797e-03_rb,2.0441e-03_rb, & &2.4259e-03_rb,2.8265e-03_rb,3.1666e-03_rb/) kao(:, 3, 4,13) = (/ & &8.4970e-04_rb,9.1322e-04_rb,9.4827e-04_rb,1.6805e-03_rb,2.4256e-03_rb,2.9871e-03_rb, & &3.5538e-03_rb,4.1410e-03_rb,4.6574e-03_rb/) kao(:, 4, 4,13) = (/ & &4.1870e-04_rb,6.5230e-04_rb,1.1618e-03_rb,2.4565e-03_rb,3.3994e-03_rb,4.2007e-03_rb, & &5.0069e-03_rb,5.8294e-03_rb,6.5858e-03_rb/) kao(:, 5, 4,13) = (/ & &3.3416e-04_rb,5.3110e-04_rb,1.2880e-03_rb,3.5329e-03_rb,4.6400e-03_rb,5.7434e-03_rb, & &6.8465e-03_rb,7.9498e-03_rb,9.0475e-03_rb/) kao(:, 1, 5,13) = (/ & &4.2095e-03_rb,3.6897e-03_rb,3.1731e-03_rb,2.7426e-03_rb,2.2812e-03_rb,1.8053e-03_rb, & &1.3867e-03_rb,1.3663e-03_rb,1.0788e-03_rb/) kao(:, 2, 5,13) = (/ & &4.0034e-03_rb,3.5161e-03_rb,3.1982e-03_rb,2.7135e-03_rb,2.2188e-03_rb,1.8636e-03_rb, & &1.9269e-03_rb,2.1141e-03_rb,1.6636e-03_rb/) kao(:, 3, 5,13) = (/ & &3.5828e-03_rb,3.2123e-03_rb,2.7997e-03_rb,2.3571e-03_rb,1.9942e-03_rb,2.3633e-03_rb, & &2.8135e-03_rb,3.1780e-03_rb,2.3977e-03_rb/) kao(:, 4, 5,13) = (/ & &2.0578e-03_rb,1.9948e-03_rb,1.9739e-03_rb,1.8494e-03_rb,2.1664e-03_rb,3.4722e-03_rb, & &4.0379e-03_rb,4.6191e-03_rb,3.3853e-03_rb/) kao(:, 5, 5,13) = (/ & &8.8300e-04_rb,9.5901e-04_rb,1.3118e-03_rb,1.4619e-03_rb,2.8921e-03_rb,4.8304e-03_rb, & &5.6699e-03_rb,6.5165e-03_rb,5.0451e-03_rb/) kao(:, 1, 6,13) = (/ & &1.1518e-02_rb,1.0082e-02_rb,8.6450e-03_rb,7.2094e-03_rb,5.7738e-03_rb,4.4142e-03_rb, & &2.9967e-03_rb,1.6414e-03_rb,2.3528e-04_rb/) kao(:, 2, 6,13) = (/ & &1.0779e-02_rb,9.4346e-03_rb,8.0897e-03_rb,6.7606e-03_rb,5.5435e-03_rb,4.2583e-03_rb, & &3.0675e-03_rb,1.8475e-03_rb,3.7683e-04_rb/) kao(:, 3, 6,13) = (/ & &1.0564e-02_rb,9.2493e-03_rb,7.9306e-03_rb,6.7005e-03_rb,5.4724e-03_rb,4.2002e-03_rb, & &3.0432e-03_rb,2.5995e-03_rb,5.6137e-04_rb/) kao(:, 4, 6,13) = (/ & &8.9592e-03_rb,7.8426e-03_rb,6.9339e-03_rb,5.9610e-03_rb,4.9577e-03_rb,4.0115e-03_rb, & &3.3973e-03_rb,3.7509e-03_rb,7.8787e-04_rb/) kao(:, 5, 6,13) = (/ & &5.6084e-03_rb,4.9031e-03_rb,4.1060e-03_rb,3.7154e-03_rb,3.3523e-03_rb,3.1522e-03_rb, & &4.6655e-03_rb,5.3564e-03_rb,1.1263e-03_rb/) kao(:, 1, 7,13) = (/ & &3.2240e-02_rb,2.8212e-02_rb,2.4183e-02_rb,2.0155e-02_rb,1.6127e-02_rb,1.2099e-02_rb, & &8.0718e-03_rb,4.1324e-03_rb,2.8875e-04_rb/) kao(:, 2, 7,13) = (/ & &3.1311e-02_rb,2.7399e-02_rb,2.3486e-02_rb,1.9574e-02_rb,1.5661e-02_rb,1.1749e-02_rb, & &7.9670e-03_rb,4.1256e-03_rb,4.9392e-04_rb/) kao(:, 3, 7,13) = (/ & &2.9762e-02_rb,2.6043e-02_rb,2.2324e-02_rb,1.8611e-02_rb,1.4888e-02_rb,1.1369e-02_rb, & &7.7126e-03_rb,4.2395e-03_rb,7.8171e-04_rb/) kao(:, 4, 7,13) = (/ & &2.8871e-02_rb,2.5265e-02_rb,2.1655e-02_rb,1.8050e-02_rb,1.4581e-02_rb,1.1027e-02_rb, & &7.5640e-03_rb,4.2437e-03_rb,1.1828e-03_rb/) kao(:, 5, 7,13) = (/ & &2.6386e-02_rb,2.3095e-02_rb,1.9798e-02_rb,1.6677e-02_rb,1.3324e-02_rb,1.0191e-02_rb, & &7.1310e-03_rb,4.8298e-03_rb,2.2511e-03_rb/) kao(:, 1, 8,13) = (/ & &1.1497e-01_rb,1.0060e-01_rb,8.6231e-02_rb,7.1859e-02_rb,5.7486e-02_rb,4.3117e-02_rb, & &2.8748e-02_rb,1.4377e-02_rb,1.6465e-04_rb/) kao(:, 2, 8,13) = (/ & &1.1189e-01_rb,9.7901e-02_rb,8.3916e-02_rb,6.9933e-02_rb,5.5946e-02_rb,4.1961e-02_rb, & &2.7977e-02_rb,1.3991e-02_rb,2.9555e-04_rb/) kao(:, 3, 8,13) = (/ & &1.0913e-01_rb,9.5494e-02_rb,8.1850e-02_rb,6.8211e-02_rb,5.4570e-02_rb,4.0928e-02_rb, & &2.7290e-02_rb,1.3843e-02_rb,5.2136e-04_rb/) kao(:, 4, 8,13) = (/ & &1.0534e-01_rb,9.2180e-02_rb,7.9010e-02_rb,6.5847e-02_rb,5.2678e-02_rb,3.9513e-02_rb, & &2.6523e-02_rb,1.3514e-02_rb,8.6919e-04_rb/) kao(:, 5, 8,13) = (/ & &1.0155e-01_rb,8.8866e-02_rb,7.6173e-02_rb,6.3476e-02_rb,5.0785e-02_rb,3.8190e-02_rb, & &2.5826e-02_rb,1.3344e-02_rb,1.3651e-03_rb/) kao(:, 1, 9,13) = (/ & &7.8551e-01_rb,6.8732e-01_rb,5.8909e-01_rb,4.9092e-01_rb,3.9275e-01_rb,2.9457e-01_rb, & &1.9638e-01_rb,9.8187e-02_rb,1.8629e-06_rb/) kao(:, 2, 9,13) = (/ & &7.6466e-01_rb,6.6906e-01_rb,5.7351e-01_rb,4.7791e-01_rb,3.8233e-01_rb,2.8675e-01_rb, & &1.9117e-01_rb,9.5586e-02_rb,3.1593e-06_rb/) kao(:, 3, 9,13) = (/ & &7.4558e-01_rb,6.5237e-01_rb,5.5922e-01_rb,4.6601e-01_rb,3.7282e-01_rb,2.7960e-01_rb, & &1.8640e-01_rb,9.3207e-02_rb,5.1342e-06_rb/) kao(:, 4, 9,13) = (/ & &7.2909e-01_rb,6.3798e-01_rb,5.4684e-01_rb,4.5571e-01_rb,3.6456e-01_rb,2.7343e-01_rb, & &1.8229e-01_rb,9.1144e-02_rb,7.8192e-06_rb/) kao(:, 5, 9,13) = (/ & &7.0726e-01_rb,6.1887e-01_rb,5.3047e-01_rb,4.4203e-01_rb,3.5366e-01_rb,2.6523e-01_rb, & &1.7683e-01_rb,8.8423e-02_rb,1.1206e-05_rb/) kao(:, 1,10,13) = (/ & &6.4269e+00_rb,5.6236e+00_rb,4.8204e+00_rb,4.0168e+00_rb,3.2134e+00_rb,2.4100e+00_rb, & &1.6066e+00_rb,8.0335e-01_rb,1.1293e-06_rb/) kao(:, 2,10,13) = (/ & &6.2640e+00_rb,5.4811e+00_rb,4.6981e+00_rb,3.9150e+00_rb,3.1320e+00_rb,2.3491e+00_rb, & &1.5660e+00_rb,7.8302e-01_rb,2.0871e-06_rb/) kao(:, 3,10,13) = (/ & &6.1220e+00_rb,5.3567e+00_rb,4.5912e+00_rb,3.8262e+00_rb,3.0609e+00_rb,2.2959e+00_rb, & &1.5304e+00_rb,7.6518e-01_rb,3.5513e-06_rb/) kao(:, 4,10,13) = (/ & &5.9998e+00_rb,5.2499e+00_rb,4.4998e+00_rb,3.7498e+00_rb,2.9997e+00_rb,2.2499e+00_rb, & &1.5000e+00_rb,7.4994e-01_rb,5.6768e-06_rb/) kao(:, 5,10,13) = (/ & &5.8812e+00_rb,5.1459e+00_rb,4.4109e+00_rb,3.6757e+00_rb,2.9406e+00_rb,2.2054e+00_rb, & &1.4703e+00_rb,7.3514e-01_rb,8.5300e-06_rb/) kao(:, 1,11,13) = (/ & &1.7678e+01_rb,1.5468e+01_rb,1.3258e+01_rb,1.1049e+01_rb,8.8386e+00_rb,6.6292e+00_rb, & &4.4195e+00_rb,2.2097e+00_rb,9.5807e-07_rb/) kao(:, 2,11,13) = (/ & &1.7256e+01_rb,1.5100e+01_rb,1.2942e+01_rb,1.0785e+01_rb,8.6284e+00_rb,6.4710e+00_rb, & &4.3143e+00_rb,2.1571e+00_rb,1.8271e-06_rb/) kao(:, 3,11,13) = (/ & &1.6917e+01_rb,1.4802e+01_rb,1.2687e+01_rb,1.0572e+01_rb,8.4580e+00_rb,6.3436e+00_rb, & &4.2290e+00_rb,2.1146e+00_rb,3.1322e-06_rb/) kao(:, 4,11,13) = (/ & &1.6624e+01_rb,1.4546e+01_rb,1.2468e+01_rb,1.0390e+01_rb,8.3118e+00_rb,6.2340e+00_rb, & &4.1559e+00_rb,2.0780e+00_rb,4.9941e-06_rb/) kao(:, 5,11,13) = (/ & &1.6312e+01_rb,1.4273e+01_rb,1.2234e+01_rb,1.0195e+01_rb,8.1562e+00_rb,6.1169e+00_rb, & &4.0780e+00_rb,2.0391e+00_rb,7.8208e-06_rb/) kao(:, 1,12,13) = (/ & &3.1083e+01_rb,2.7197e+01_rb,2.3312e+01_rb,1.9426e+01_rb,1.5541e+01_rb,1.1655e+01_rb, & &7.7704e+00_rb,3.8852e+00_rb,7.4323e-07_rb/) kao(:, 2,12,13) = (/ & &3.0431e+01_rb,2.6627e+01_rb,2.2823e+01_rb,1.9019e+01_rb,1.5215e+01_rb,1.1411e+01_rb, & &7.6077e+00_rb,3.8037e+00_rb,1.4468e-06_rb/) kao(:, 3,12,13) = (/ & &2.9924e+01_rb,2.6183e+01_rb,2.2443e+01_rb,1.8702e+01_rb,1.4961e+01_rb,1.1221e+01_rb, & &7.4808e+00_rb,3.7405e+00_rb,2.6259e-06_rb/) kao(:, 4,12,13) = (/ & &2.9439e+01_rb,2.5759e+01_rb,2.2079e+01_rb,1.8399e+01_rb,1.4719e+01_rb,1.1040e+01_rb, & &7.3599e+00_rb,3.6798e+00_rb,4.5448e-06_rb/) kao(:, 5,12,13) = (/ & &2.8940e+01_rb,2.5323e+01_rb,2.1705e+01_rb,1.8088e+01_rb,1.4470e+01_rb,1.0853e+01_rb, & &7.2348e+00_rb,3.6174e+00_rb,7.3875e-06_rb/) kao(:, 1,13,13) = (/ & &4.5024e+01_rb,3.9395e+01_rb,3.3766e+01_rb,2.8140e+01_rb,2.2511e+01_rb,1.6883e+01_rb, & &1.1256e+01_rb,5.6279e+00_rb,6.0376e-07_rb/) kao(:, 2,13,13) = (/ & &4.4143e+01_rb,3.8625e+01_rb,3.3107e+01_rb,2.7589e+01_rb,2.2071e+01_rb,1.6554e+01_rb, & &1.1035e+01_rb,5.5177e+00_rb,1.1756e-06_rb/) kao(:, 3,13,13) = (/ & &4.3457e+01_rb,3.8026e+01_rb,3.2594e+01_rb,2.7161e+01_rb,2.1728e+01_rb,1.6297e+01_rb, & &1.0864e+01_rb,5.4320e+00_rb,2.1118e-06_rb/) kao(:, 4,13,13) = (/ & &4.2787e+01_rb,3.7437e+01_rb,3.2089e+01_rb,2.6742e+01_rb,2.1393e+01_rb,1.6044e+01_rb, & &1.0696e+01_rb,5.3482e+00_rb,3.5390e-06_rb/) kao(:, 5,13,13) = (/ & &4.2071e+01_rb,3.6811e+01_rb,3.1552e+01_rb,2.6294e+01_rb,2.1034e+01_rb,1.5776e+01_rb, & &1.0517e+01_rb,5.2587e+00_rb,5.6752e-06_rb/) kao(:, 1, 1,14) = (/ & &8.0615e-05_rb,9.4684e-04_rb,1.8810e-03_rb,2.8058e-03_rb,3.7171e-03_rb,4.6066e-03_rb, & &5.4471e-03_rb,6.0480e-03_rb,7.4265e-03_rb/) kao(:, 2, 1,14) = (/ & &7.2907e-05_rb,1.3385e-03_rb,2.6578e-03_rb,3.9621e-03_rb,5.2462e-03_rb,6.4943e-03_rb, & &7.6854e-03_rb,8.5660e-03_rb,1.0483e-02_rb/) kao(:, 3, 1,14) = (/ & &6.3747e-05_rb,1.8288e-03_rb,3.6296e-03_rb,5.4086e-03_rb,7.1575e-03_rb,8.8508e-03_rb, & &1.0431e-02_rb,1.1658e-02_rb,1.4300e-02_rb/) kao(:, 4, 1,14) = (/ & &3.9260e-05_rb,2.4240e-03_rb,4.8114e-03_rb,7.1688e-03_rb,9.4794e-03_rb,1.1704e-02_rb, & &1.3748e-02_rb,1.5334e-02_rb,1.8941e-02_rb/) kao(:, 5, 1,14) = (/ & &2.4568e-05_rb,3.1272e-03_rb,6.2078e-03_rb,9.2494e-03_rb,1.2223e-02_rb,1.5067e-02_rb, & &1.7657e-02_rb,1.9583e-02_rb,2.4427e-02_rb/) kao(:, 1, 2,14) = (/ & &1.5596e-04_rb,8.5463e-04_rb,1.6898e-03_rb,2.5200e-03_rb,3.3406e-03_rb,4.1439e-03_rb, & &4.9117e-03_rb,5.5191e-03_rb,6.6708e-03_rb/) kao(:, 2, 2,14) = (/ & &1.3504e-04_rb,1.2362e-03_rb,2.4448e-03_rb,3.6435e-03_rb,4.8236e-03_rb,5.9777e-03_rb, & &7.0641e-03_rb,7.9635e-03_rb,9.6287e-03_rb/) kao(:, 3, 2,14) = (/ & &1.1284e-04_rb,1.7193e-03_rb,3.4047e-03_rb,5.0732e-03_rb,6.7143e-03_rb,8.3092e-03_rb, & &9.8022e-03_rb,1.1012e-02_rb,1.3405e-02_rb/) kao(:, 4, 2,14) = (/ & &7.1068e-05_rb,2.3136e-03_rb,4.5842e-03_rb,6.8306e-03_rb,9.0376e-03_rb,1.1180e-02_rb, & &1.3169e-02_rb,1.4761e-02_rb,1.8047e-02_rb/) kao(:, 5, 2,14) = (/ & &4.9683e-05_rb,3.0234e-03_rb,5.9956e-03_rb,8.9376e-03_rb,1.1824e-02_rb,1.4613e-02_rb, & &1.7201e-02_rb,1.9221e-02_rb,2.3615e-02_rb/) kao(:, 1, 3,14) = (/ & &4.8559e-04_rb,6.3562e-04_rb,1.4148e-03_rb,2.0956e-03_rb,2.7735e-03_rb,3.4411e-03_rb, & &4.0892e-03_rb,4.6631e-03_rb,5.5086e-03_rb/) kao(:, 2, 3,14) = (/ & &3.9874e-04_rb,1.0860e-03_rb,2.1105e-03_rb,3.1322e-03_rb,4.1464e-03_rb,5.1442e-03_rb, & &6.1073e-03_rb,6.9472e-03_rb,8.2419e-03_rb/) kao(:, 3, 3,14) = (/ & &3.0553e-04_rb,1.5424e-03_rb,3.0141e-03_rb,4.4802e-03_rb,5.9320e-03_rb,7.3631e-03_rb, & &8.7355e-03_rb,9.9159e-03_rb,1.1803e-02_rb/) kao(:, 4, 3,14) = (/ & &2.0300e-04_rb,2.1134e-03_rb,4.1489e-03_rb,6.1729e-03_rb,8.1791e-03_rb,1.0152e-02_rb, & &1.2037e-02_rb,1.3637e-02_rb,1.6288e-02_rb/) kao(:, 5, 3,14) = (/ & &1.2261e-04_rb,2.8083e-03_rb,5.5298e-03_rb,8.2360e-03_rb,1.0915e-02_rb,1.3546e-02_rb, & &1.6061e-02_rb,1.8163e-02_rb,2.1753e-02_rb/) kao(:, 1, 4,14) = (/ & &1.6340e-03_rb,1.4799e-03_rb,1.3812e-03_rb,1.7164e-03_rb,2.2393e-03_rb,2.7610e-03_rb, & &3.2750e-03_rb,3.7562e-03_rb,4.3569e-03_rb/) kao(:, 2, 4,14) = (/ & &1.3493e-03_rb,1.1314e-03_rb,1.6943e-03_rb,2.6409e-03_rb,3.4636e-03_rb,4.2822e-03_rb, & &5.0857e-03_rb,5.8323e-03_rb,6.7806e-03_rb/) kao(:, 3, 4,14) = (/ & &9.9538e-04_rb,9.6503e-04_rb,2.6483e-03_rb,3.8772e-03_rb,5.1039e-03_rb,6.3200e-03_rb, & &7.5138e-03_rb,8.6138e-03_rb,1.0038e-02_rb/) kao(:, 4, 4,14) = (/ & &7.1686e-04_rb,9.6594e-04_rb,3.7129e-03_rb,5.4649e-03_rb,7.2111e-03_rb,8.9436e-03_rb, & &1.0638e-02_rb,1.2197e-02_rb,1.4232e-02_rb/) kao(:, 5, 4,14) = (/ & &3.7667e-04_rb,1.0457e-03_rb,5.0357e-03_rb,7.4391e-03_rb,9.8310e-03_rb,1.2205e-02_rb, & &1.4525e-02_rb,1.6653e-02_rb,1.9453e-02_rb/) kao(:, 1, 5,14) = (/ & &4.8186e-03_rb,4.2167e-03_rb,3.6150e-03_rb,3.0747e-03_rb,2.5291e-03_rb,2.2936e-03_rb, & &2.5986e-03_rb,2.9578e-03_rb,3.3675e-03_rb/) kao(:, 2, 5,14) = (/ & &4.3147e-03_rb,3.7763e-03_rb,3.3322e-03_rb,2.8723e-03_rb,2.9945e-03_rb,3.5591e-03_rb, & &4.1803e-03_rb,4.7800e-03_rb,5.4630e-03_rb/) kao(:, 3, 5,14) = (/ & &3.5596e-03_rb,3.1147e-03_rb,2.7981e-03_rb,3.1802e-03_rb,4.4145e-03_rb,5.3933e-03_rb, & &6.3651e-03_rb,7.3014e-03_rb,8.3701e-03_rb/) kao(:, 4, 5,14) = (/ & &2.3785e-03_rb,2.2217e-03_rb,2.2338e-03_rb,4.4885e-03_rb,6.3608e-03_rb,7.8120e-03_rb, & &9.2509e-03_rb,1.0634e-02_rb,1.2219e-02_rb/) kao(:, 5, 5,14) = (/ & &1.3285e-03_rb,1.6004e-03_rb,2.5745e-03_rb,6.3438e-03_rb,8.8283e-03_rb,1.0885e-02_rb, & &1.2921e-02_rb,1.4873e-02_rb,1.7112e-02_rb/) kao(:, 1, 6,14) = (/ & &1.2819e-02_rb,1.1217e-02_rb,9.6163e-03_rb,8.0152e-03_rb,6.4138e-03_rb,4.8948e-03_rb, & &3.3434e-03_rb,2.3020e-03_rb,2.0077e-03_rb/) kao(:, 2, 6,14) = (/ & &1.2485e-02_rb,1.0926e-02_rb,9.3667e-03_rb,7.8075e-03_rb,6.3840e-03_rb,4.8805e-03_rb, & &3.7061e-03_rb,3.8075e-03_rb,3.4020e-03_rb/) kao(:, 3, 6,14) = (/ & &1.1272e-02_rb,9.8625e-03_rb,8.4554e-03_rb,7.3206e-03_rb,6.0114e-03_rb,5.1792e-03_rb, & &5.3340e-03_rb,6.0074e-03_rb,5.3316e-03_rb/) kao(:, 4, 6,14) = (/ & &1.0208e-02_rb,8.9332e-03_rb,7.9437e-03_rb,6.6798e-03_rb,5.8609e-03_rb,6.4855e-03_rb, & &7.9228e-03_rb,9.0010e-03_rb,7.9567e-03_rb/) kao(:, 5, 6,14) = (/ & &6.0521e-03_rb,5.2891e-03_rb,4.8269e-03_rb,4.6206e-03_rb,6.6176e-03_rb,9.3039e-03_rb, & &1.1293e-02_rb,1.2903e-02_rb,1.1196e-02_rb/) kao(:, 1, 7,14) = (/ & &3.6443e-02_rb,3.1891e-02_rb,2.7336e-02_rb,2.2781e-02_rb,1.8226e-02_rb,1.3673e-02_rb, & &9.1182e-03_rb,4.6764e-03_rb,1.4855e-04_rb/) kao(:, 2, 7,14) = (/ & &3.5471e-02_rb,3.1039e-02_rb,2.6606e-02_rb,2.2173e-02_rb,1.7742e-02_rb,1.3309e-02_rb, & &9.0490e-03_rb,4.6704e-03_rb,2.5095e-04_rb/) kao(:, 3, 7,14) = (/ & &3.4456e-02_rb,3.0149e-02_rb,2.5845e-02_rb,2.1540e-02_rb,1.7235e-02_rb,1.3185e-02_rb, & &8.9735e-03_rb,5.4794e-03_rb,4.0737e-04_rb/) kao(:, 4, 7,14) = (/ & &3.1652e-02_rb,2.7700e-02_rb,2.3744e-02_rb,1.9792e-02_rb,1.6225e-02_rb,1.2450e-02_rb, & &9.1363e-03_rb,7.6445e-03_rb,6.2917e-04_rb/) kao(:, 5, 7,14) = (/ & &2.9864e-02_rb,2.6135e-02_rb,2.2399e-02_rb,1.8923e-02_rb,1.5530e-02_rb,1.2143e-02_rb, & &1.0151e-02_rb,1.1058e-02_rb,9.1130e-04_rb/) kao(:, 1, 8,14) = (/ & &1.3223e-01_rb,1.1571e-01_rb,9.9174e-02_rb,8.2651e-02_rb,6.6122e-02_rb,4.9592e-02_rb, & &3.3063e-02_rb,1.6534e-02_rb,2.3921e-04_rb/) kao(:, 2, 8,14) = (/ & &1.2869e-01_rb,1.1260e-01_rb,9.6519e-02_rb,8.0434e-02_rb,6.4349e-02_rb,4.8263e-02_rb, & &3.2179e-02_rb,1.6093e-02_rb,4.2965e-04_rb/) kao(:, 3, 8,14) = (/ & &1.2518e-01_rb,1.0953e-01_rb,9.3886e-02_rb,7.8243e-02_rb,6.2597e-02_rb,4.6952e-02_rb, & &3.1306e-02_rb,1.5992e-02_rb,7.4452e-04_rb/) kao(:, 4, 8,14) = (/ & &1.2188e-01_rb,1.0664e-01_rb,9.1414e-02_rb,7.6180e-02_rb,6.0947e-02_rb,4.5714e-02_rb, & &3.0548e-02_rb,1.5885e-02_rb,1.1502e-03_rb/) kao(:, 5, 8,14) = (/ & &1.1492e-01_rb,1.0055e-01_rb,8.6192e-02_rb,7.1832e-02_rb,5.7467e-02_rb,4.3105e-02_rb, & &2.9610e-02_rb,1.5934e-02_rb,1.8646e-03_rb/) kao(:, 1, 9,14) = (/ & &9.2387e-01_rb,8.0839e-01_rb,6.9293e-01_rb,5.7740e-01_rb,4.6193e-01_rb,3.4646e-01_rb, & &2.3098e-01_rb,1.1549e-01_rb,2.2371e-06_rb/) kao(:, 2, 9,14) = (/ & &9.0122e-01_rb,7.8856e-01_rb,6.7591e-01_rb,5.6327e-01_rb,4.5061e-01_rb,3.3795e-01_rb, & &2.2531e-01_rb,1.1266e-01_rb,3.5853e-06_rb/) kao(:, 3, 9,14) = (/ & &8.7866e-01_rb,7.6881e-01_rb,6.5900e-01_rb,5.4913e-01_rb,4.3933e-01_rb,3.2948e-01_rb, & &2.1967e-01_rb,1.0984e-01_rb,5.0567e-06_rb/) kao(:, 4, 9,14) = (/ & &8.5611e-01_rb,7.4910e-01_rb,6.4207e-01_rb,5.3506e-01_rb,4.2806e-01_rb,3.2105e-01_rb, & &2.1404e-01_rb,1.0702e-01_rb,6.9838e-06_rb/) kao(:, 5, 9,14) = (/ & &8.3494e-01_rb,7.3059e-01_rb,6.2623e-01_rb,5.2185e-01_rb,4.1749e-01_rb,3.1312e-01_rb, & &2.0874e-01_rb,1.0439e-01_rb,9.6651e-06_rb/) kao(:, 1,10,14) = (/ & &7.7336e+00_rb,6.7669e+00_rb,5.8002e+00_rb,4.8337e+00_rb,3.8667e+00_rb,2.9002e+00_rb, & &1.9334e+00_rb,9.6674e-01_rb,1.4759e-06_rb/) kao(:, 2,10,14) = (/ & &7.5671e+00_rb,6.6210e+00_rb,5.6751e+00_rb,4.7295e+00_rb,3.7835e+00_rb,2.8377e+00_rb, & &1.8919e+00_rb,9.4588e-01_rb,2.4483e-06_rb/) kao(:, 3,10,14) = (/ & &7.3934e+00_rb,6.4694e+00_rb,5.5449e+00_rb,4.6209e+00_rb,3.6964e+00_rb,2.7725e+00_rb, & &1.8483e+00_rb,9.2413e-01_rb,3.6428e-06_rb/) kao(:, 4,10,14) = (/ & &7.2085e+00_rb,6.3072e+00_rb,5.4063e+00_rb,4.5053e+00_rb,3.6041e+00_rb,2.7031e+00_rb, & &1.8022e+00_rb,9.0111e-01_rb,5.1643e-06_rb/) kao(:, 5,10,14) = (/ & &7.0344e+00_rb,6.1551e+00_rb,5.2759e+00_rb,4.3968e+00_rb,3.5172e+00_rb,2.6378e+00_rb, & &1.7586e+00_rb,8.7933e-01_rb,7.2619e-06_rb/) kao(:, 1,11,14) = (/ & &2.1626e+01_rb,1.8923e+01_rb,1.6220e+01_rb,1.3516e+01_rb,1.0813e+01_rb,8.1097e+00_rb, & &5.4065e+00_rb,2.7033e+00_rb,1.2148e-06_rb/) kao(:, 2,11,14) = (/ & &2.1170e+01_rb,1.8523e+01_rb,1.5877e+01_rb,1.3231e+01_rb,1.0585e+01_rb,7.9391e+00_rb, & &5.2925e+00_rb,2.6462e+00_rb,1.9377e-06_rb/) kao(:, 3,11,14) = (/ & &2.0665e+01_rb,1.8082e+01_rb,1.5499e+01_rb,1.2916e+01_rb,1.0333e+01_rb,7.7495e+00_rb, & &5.1662e+00_rb,2.5832e+00_rb,2.9701e-06_rb/) kao(:, 4,11,14) = (/ & &2.0140e+01_rb,1.7623e+01_rb,1.5106e+01_rb,1.2588e+01_rb,1.0071e+01_rb,7.5528e+00_rb, & &5.0352e+00_rb,2.5176e+00_rb,4.4558e-06_rb/) kao(:, 5,11,14) = (/ & &1.9664e+01_rb,1.7206e+01_rb,1.4748e+01_rb,1.2290e+01_rb,9.8317e+00_rb,7.3738e+00_rb, & &4.9159e+00_rb,2.4579e+00_rb,6.2661e-06_rb/) kao(:, 1,12,14) = (/ & &3.8270e+01_rb,3.3486e+01_rb,2.8703e+01_rb,2.3919e+01_rb,1.9135e+01_rb,1.4352e+01_rb, & &9.5673e+00_rb,4.7836e+00_rb,1.1282e-06_rb/) kao(:, 2,12,14) = (/ & &3.7417e+01_rb,3.2741e+01_rb,2.8063e+01_rb,2.3387e+01_rb,1.8709e+01_rb,1.4031e+01_rb, & &9.3545e+00_rb,4.6770e+00_rb,1.8527e-06_rb/) kao(:, 3,12,14) = (/ & &3.6489e+01_rb,3.1928e+01_rb,2.7367e+01_rb,2.2805e+01_rb,1.8244e+01_rb,1.3683e+01_rb, & &9.1218e+00_rb,4.5610e+00_rb,2.7902e-06_rb/) kao(:, 4,12,14) = (/ & &3.5556e+01_rb,3.1112e+01_rb,2.6666e+01_rb,2.2223e+01_rb,1.7778e+01_rb,1.3333e+01_rb, & &8.8890e+00_rb,4.4446e+00_rb,3.8795e-06_rb/) kao(:, 5,12,14) = (/ & &3.4682e+01_rb,3.0344e+01_rb,2.6011e+01_rb,2.1676e+01_rb,1.7341e+01_rb,1.3005e+01_rb, & &8.6702e+00_rb,4.3349e+00_rb,5.0987e-06_rb/) kao(:, 1,13,14) = (/ & &5.4806e+01_rb,4.7955e+01_rb,4.1104e+01_rb,3.4254e+01_rb,2.7403e+01_rb,2.0551e+01_rb, & &1.3701e+01_rb,6.8507e+00_rb,9.3782e-07_rb/) kao(:, 2,13,14) = (/ & &5.3507e+01_rb,4.6818e+01_rb,4.0130e+01_rb,3.3442e+01_rb,2.6753e+01_rb,2.0066e+01_rb, & &1.3376e+01_rb,6.6886e+00_rb,1.6696e-06_rb/) kao(:, 3,13,14) = (/ & &5.2032e+01_rb,4.5528e+01_rb,3.9023e+01_rb,3.2519e+01_rb,2.6015e+01_rb,1.9512e+01_rb, & &1.3008e+01_rb,6.5038e+00_rb,2.8850e-06_rb/) kao(:, 4,13,14) = (/ & &5.0622e+01_rb,4.4293e+01_rb,3.7966e+01_rb,3.1638e+01_rb,2.5310e+01_rb,1.8983e+01_rb, & &1.2655e+01_rb,6.3275e+00_rb,4.3456e-06_rb/) kao(:, 5,13,14) = (/ & &4.9341e+01_rb,4.3174e+01_rb,3.7007e+01_rb,3.0838e+01_rb,2.4670e+01_rb,1.8503e+01_rb, & &1.2335e+01_rb,6.1672e+00_rb,6.2672e-06_rb/) kao(:, 1, 1,15) = (/ & &9.0368e-05_rb,1.7587e-03_rb,3.4692e-03_rb,5.1215e-03_rb,6.6729e-03_rb,8.0447e-03_rb, & &9.0360e-03_rb,8.9574e-03_rb,1.3337e-02_rb/) kao(:, 2, 1,15) = (/ & &8.5673e-05_rb,2.5288e-03_rb,4.9923e-03_rb,7.3709e-03_rb,9.6068e-03_rb,1.1588e-02_rb, & &1.3021e-02_rb,1.2915e-02_rb,1.9203e-02_rb/) kao(:, 3, 1,15) = (/ & &7.5800e-05_rb,3.4920e-03_rb,6.8957e-03_rb,1.0184e-02_rb,1.3280e-02_rb,1.6021e-02_rb, & &1.8010e-02_rb,1.7888e-02_rb,2.6548e-02_rb/) kao(:, 4, 1,15) = (/ & &6.6885e-05_rb,4.6582e-03_rb,9.2038e-03_rb,1.3596e-02_rb,1.7729e-02_rb,2.1393e-02_rb, & &2.4064e-02_rb,2.3923e-02_rb,3.5446e-02_rb/) kao(:, 5, 1,15) = (/ & &2.9277e-05_rb,6.0336e-03_rb,1.1922e-02_rb,1.7611e-02_rb,2.2979e-02_rb,2.7733e-02_rb, & &3.1220e-02_rb,3.1058e-02_rb,4.5944e-02_rb/) kao(:, 1, 2,15) = (/ & &1.6162e-04_rb,1.7658e-03_rb,3.4927e-03_rb,5.1816e-03_rb,6.8087e-03_rb,8.3146e-03_rb, & &9.5542e-03_rb,9.9349e-03_rb,1.3602e-02_rb/) kao(:, 2, 2,15) = (/ & &1.4940e-04_rb,2.5810e-03_rb,5.1093e-03_rb,7.5846e-03_rb,9.9670e-03_rb,1.2178e-02_rb, & &1.4000e-02_rb,1.4578e-02_rb,1.9917e-02_rb/) kao(:, 3, 2,15) = (/ & &1.4212e-04_rb,3.6142e-03_rb,7.1589e-03_rb,1.0631e-02_rb,1.3977e-02_rb,1.7085e-02_rb, & &1.9645e-02_rb,2.0472e-02_rb,2.7934e-02_rb/) kao(:, 4, 2,15) = (/ & &1.2057e-04_rb,4.8773e-03_rb,9.6676e-03_rb,1.4359e-02_rb,1.8882e-02_rb,2.3081e-02_rb, & &2.6561e-02_rb,2.7724e-02_rb,3.7741e-02_rb/) kao(:, 5, 2,15) = (/ & &6.0191e-05_rb,6.3788e-03_rb,1.2648e-02_rb,1.8790e-02_rb,2.4713e-02_rb,3.0224e-02_rb, & &3.4797e-02_rb,3.6354e-02_rb,4.9402e-02_rb/) kao(:, 1, 3,15) = (/ & &4.4246e-04_rb,1.6142e-03_rb,3.1839e-03_rb,4.7378e-03_rb,6.2661e-03_rb,7.7441e-03_rb, & &9.0975e-03_rb,1.0015e-02_rb,1.2497e-02_rb/) kao(:, 2, 3,15) = (/ & &3.8619e-04_rb,2.4195e-03_rb,4.7839e-03_rb,7.1249e-03_rb,9.4281e-03_rb,1.1657e-02_rb, & &1.3699e-02_rb,1.5096e-02_rb,1.8815e-02_rb/) kao(:, 3, 3,15) = (/ & &3.7186e-04_rb,3.4615e-03_rb,6.8531e-03_rb,1.0215e-02_rb,1.3514e-02_rb,1.6722e-02_rb, & &1.9664e-02_rb,2.1688e-02_rb,2.6981e-02_rb/) kao(:, 4, 3,15) = (/ & &3.4136e-04_rb,4.7556e-03_rb,9.4307e-03_rb,1.4062e-02_rb,1.8619e-02_rb,2.3030e-02_rb, & &2.7098e-02_rb,2.9910e-02_rb,3.7185e-02_rb/) kao(:, 5, 3,15) = (/ & &2.7238e-04_rb,6.3154e-03_rb,1.2533e-02_rb,1.8695e-02_rb,2.4762e-02_rb,3.0640e-02_rb, & &3.6060e-02_rb,3.9831e-02_rb,4.9464e-02_rb/) kao(:, 1, 4,15) = (/ & &1.8439e-03_rb,1.6255e-03_rb,2.7662e-03_rb,4.1011e-03_rb,5.4250e-03_rb,6.7307e-03_rb, & &7.9903e-03_rb,9.0701e-03_rb,1.0766e-02_rb/) kao(:, 2, 4,15) = (/ & &1.2780e-03_rb,2.0382e-03_rb,4.2819e-03_rb,6.3618e-03_rb,8.4274e-03_rb,1.0464e-02_rb, & &1.2431e-02_rb,1.4123e-02_rb,1.6753e-02_rb/) kao(:, 3, 4,15) = (/ & &1.0129e-03_rb,3.1935e-03_rb,6.2902e-03_rb,9.3615e-03_rb,1.2411e-02_rb,1.5417e-02_rb, & &1.8325e-02_rb,2.0828e-02_rb,2.4703e-02_rb/) kao(:, 4, 4,15) = (/ & &9.5662e-04_rb,4.4942e-03_rb,8.8414e-03_rb,1.3166e-02_rb,1.7466e-02_rb,2.1716e-02_rb, & &2.5826e-02_rb,2.9379e-02_rb,3.4795e-02_rb/) kao(:, 5, 4,15) = (/ & &7.9817e-04_rb,6.0664e-03_rb,1.1965e-02_rb,1.7841e-02_rb,2.3679e-02_rb,2.9437e-02_rb, & &3.5012e-02_rb,3.9861e-02_rb,4.7202e-02_rb/) kao(:, 1, 5,15) = (/ & &5.1399e-03_rb,4.4963e-03_rb,3.8550e-03_rb,3.7300e-03_rb,4.5601e-03_rb,5.6445e-03_rb, & &6.7084e-03_rb,7.7027e-03_rb,8.9288e-03_rb/) kao(:, 2, 5,15) = (/ & &4.9517e-03_rb,4.3316e-03_rb,4.1416e-03_rb,5.5566e-03_rb,7.3222e-03_rb,9.0762e-03_rb, & &1.0805e-02_rb,1.2425e-02_rb,1.4409e-02_rb/) kao(:, 3, 5,15) = (/ & &3.6157e-03_rb,3.1633e-03_rb,5.3630e-03_rb,8.3885e-03_rb,1.1080e-02_rb,1.3756e-02_rb, & &1.6391e-02_rb,1.8868e-02_rb,2.1878e-02_rb/) kao(:, 4, 5,15) = (/ & &2.5485e-03_rb,3.2448e-03_rb,8.0168e-03_rb,1.2065e-02_rb,1.5959e-02_rb,1.9835e-02_rb, & &2.3656e-02_rb,2.7245e-02_rb,3.1588e-02_rb/) kao(:, 5, 5,15) = (/ & &2.2002e-03_rb,3.7004e-03_rb,1.1229e-02_rb,1.6648e-02_rb,2.2051e-02_rb,2.7414e-02_rb, & &3.2714e-02_rb,3.7713e-02_rb,4.3725e-02_rb/) kao(:, 1, 6,15) = (/ & &1.3785e-02_rb,1.2061e-02_rb,1.0339e-02_rb,8.6158e-03_rb,6.8942e-03_rb,5.5266e-03_rb, & &5.3843e-03_rb,6.1361e-03_rb,7.0081e-03_rb/) kao(:, 2, 6,15) = (/ & &1.3401e-02_rb,1.1726e-02_rb,1.0052e-02_rb,8.3774e-03_rb,7.3256e-03_rb,7.6626e-03_rb, & &8.9483e-03_rb,1.0302e-02_rb,1.1787e-02_rb/) kao(:, 3, 6,15) = (/ & &1.3001e-02_rb,1.1375e-02_rb,9.7516e-03_rb,8.8385e-03_rb,9.7753e-03_rb,1.1803e-02_rb, & &1.4015e-02_rb,1.6165e-02_rb,1.8521e-02_rb/) kao(:, 4, 6,15) = (/ & &1.0311e-02_rb,9.0242e-03_rb,7.7593e-03_rb,9.8758e-03_rb,1.4142e-02_rb,1.7458e-02_rb, & &2.0764e-02_rb,2.3987e-02_rb,2.7500e-02_rb/) kao(:, 5, 6,15) = (/ & &6.1007e-03_rb,5.3334e-03_rb,8.4379e-03_rb,1.3947e-02_rb,1.9967e-02_rb,2.4665e-02_rb, & &2.9359e-02_rb,3.3960e-02_rb,3.8947e-02_rb/) kao(:, 1, 7,15) = (/ & &3.9607e-02_rb,3.4655e-02_rb,2.9704e-02_rb,2.4754e-02_rb,1.9804e-02_rb,1.4853e-02_rb, & &9.9024e-03_rb,5.6087e-03_rb,4.7437e-03_rb/) kao(:, 2, 7,15) = (/ & &3.8786e-02_rb,3.3939e-02_rb,2.9089e-02_rb,2.4244e-02_rb,1.9395e-02_rb,1.4546e-02_rb, & &1.0087e-02_rb,8.3483e-03_rb,8.1480e-03_rb/) kao(:, 3, 7,15) = (/ & &3.7941e-02_rb,3.3203e-02_rb,2.8458e-02_rb,2.3715e-02_rb,1.8973e-02_rb,1.4624e-02_rb, & &1.2669e-02_rb,1.3455e-02_rb,1.2971e-02_rb/) kao(:, 4, 7,15) = (/ & &3.7052e-02_rb,3.2423e-02_rb,2.7792e-02_rb,2.3160e-02_rb,1.8933e-02_rb,1.7157e-02_rb, & &1.8083e-02_rb,2.0593e-02_rb,1.9406e-02_rb/) kao(:, 5, 7,15) = (/ & &3.1592e-02_rb,2.7646e-02_rb,2.3693e-02_rb,2.0299e-02_rb,1.8491e-02_rb,2.1228e-02_rb, & &2.6244e-02_rb,2.9985e-02_rb,2.7520e-02_rb/) kao(:, 1, 8,15) = (/ & &1.4580e-01_rb,1.2758e-01_rb,1.0936e-01_rb,9.1128e-02_rb,7.2910e-02_rb,5.4675e-02_rb, & &3.6454e-02_rb,1.8228e-02_rb,7.5823e-04_rb/) kao(:, 2, 8,15) = (/ & &1.4341e-01_rb,1.2548e-01_rb,1.0755e-01_rb,8.9631e-02_rb,7.1703e-02_rb,5.3780e-02_rb, & &3.5854e-02_rb,1.7928e-02_rb,1.3701e-03_rb/) kao(:, 3, 8,15) = (/ & &1.4083e-01_rb,1.2323e-01_rb,1.0562e-01_rb,8.8019e-02_rb,7.0413e-02_rb,5.2809e-02_rb, & &3.5210e-02_rb,1.8039e-02_rb,2.2984e-03_rb/) kao(:, 4, 8,15) = (/ & &1.3806e-01_rb,1.2080e-01_rb,1.0354e-01_rb,8.6290e-02_rb,6.9028e-02_rb,5.1771e-02_rb, & &3.4515e-02_rb,2.0878e-02_rb,3.6182e-03_rb/) kao(:, 5, 8,15) = (/ & &1.3508e-01_rb,1.1820e-01_rb,1.0132e-01_rb,8.4431e-02_rb,6.7546e-02_rb,5.0657e-02_rb, & &3.5330e-02_rb,2.7298e-02_rb,5.3909e-03_rb/) kao(:, 1, 9,15) = (/ & &1.0374e+00_rb,9.0767e-01_rb,7.7802e-01_rb,6.4832e-01_rb,5.1864e-01_rb,3.8900e-01_rb, & &2.5933e-01_rb,1.2966e-01_rb,2.1397e-06_rb/) kao(:, 2, 9,15) = (/ & &1.0197e+00_rb,8.9224e-01_rb,7.6478e-01_rb,6.3733e-01_rb,5.0988e-01_rb,3.8239e-01_rb, & &2.5493e-01_rb,1.2747e-01_rb,3.4826e-06_rb/) kao(:, 3, 9,15) = (/ & &1.0031e+00_rb,8.7777e-01_rb,7.5240e-01_rb,6.2700e-01_rb,5.0158e-01_rb,3.7619e-01_rb, & &2.5081e-01_rb,1.2540e-01_rb,5.6811e-06_rb/) kao(:, 4, 9,15) = (/ & &9.8558e-01_rb,8.6233e-01_rb,7.3918e-01_rb,6.1597e-01_rb,4.9277e-01_rb,3.6960e-01_rb, & &2.4641e-01_rb,1.2320e-01_rb,9.7907e-06_rb/) kao(:, 5, 9,15) = (/ & &9.6612e-01_rb,8.4542e-01_rb,7.2465e-01_rb,6.0387e-01_rb,4.8310e-01_rb,3.6231e-01_rb, & &2.4155e-01_rb,1.2077e-01_rb,1.4737e-05_rb/) kao(:, 1,10,15) = (/ & &8.9111e+00_rb,7.7969e+00_rb,6.6836e+00_rb,5.5691e+00_rb,4.4554e+00_rb,3.3414e+00_rb, & &2.2275e+00_rb,1.1138e+00_rb,1.1507e-06_rb/) kao(:, 2,10,15) = (/ & &8.7649e+00_rb,7.6684e+00_rb,6.5728e+00_rb,5.4777e+00_rb,4.3822e+00_rb,3.2866e+00_rb, & &2.1910e+00_rb,1.0955e+00_rb,1.9584e-06_rb/) kao(:, 3,10,15) = (/ & &8.6133e+00_rb,7.5361e+00_rb,6.4598e+00_rb,5.3829e+00_rb,4.3064e+00_rb,3.2299e+00_rb, & &2.1532e+00_rb,1.0766e+00_rb,3.2367e-06_rb/) kao(:, 4,10,15) = (/ & &8.4534e+00_rb,7.3969e+00_rb,6.3406e+00_rb,5.2836e+00_rb,4.2270e+00_rb,3.1701e+00_rb, & &2.1135e+00_rb,1.0568e+00_rb,5.5316e-06_rb/) kao(:, 5,10,15) = (/ & &8.2801e+00_rb,7.2444e+00_rb,6.2095e+00_rb,5.1748e+00_rb,4.1398e+00_rb,3.1049e+00_rb, & &2.0699e+00_rb,1.0350e+00_rb,8.6177e-06_rb/) kao(:, 1,11,15) = (/ & &2.5435e+01_rb,2.2258e+01_rb,1.9079e+01_rb,1.5898e+01_rb,1.2719e+01_rb,9.5392e+00_rb, & &6.3596e+00_rb,3.1798e+00_rb,8.0677e-07_rb/) kao(:, 2,11,15) = (/ & &2.5109e+01_rb,2.1970e+01_rb,1.8832e+01_rb,1.5693e+01_rb,1.2554e+01_rb,9.4153e+00_rb, & &6.2771e+00_rb,3.1385e+00_rb,1.4119e-06_rb/) kao(:, 3,11,15) = (/ & &2.4708e+01_rb,2.1620e+01_rb,1.8532e+01_rb,1.5442e+01_rb,1.2355e+01_rb,9.2660e+00_rb, & &6.1771e+00_rb,3.0885e+00_rb,2.4283e-06_rb/) kao(:, 4,11,15) = (/ & &2.4206e+01_rb,2.1181e+01_rb,1.8155e+01_rb,1.5130e+01_rb,1.2103e+01_rb,9.0784e+00_rb, & &6.0520e+00_rb,3.0256e+00_rb,3.8467e-06_rb/) kao(:, 5,11,15) = (/ & &2.3645e+01_rb,2.0690e+01_rb,1.7735e+01_rb,1.4778e+01_rb,1.1822e+01_rb,8.8671e+00_rb, & &5.9114e+00_rb,2.9557e+00_rb,6.2945e-06_rb/) kao(:, 1,12,15) = (/ & &4.5821e+01_rb,4.0093e+01_rb,3.4365e+01_rb,2.8640e+01_rb,2.2910e+01_rb,1.7183e+01_rb, & &1.1455e+01_rb,5.7277e+00_rb,5.6905e-07_rb/) kao(:, 2,12,15) = (/ & &4.5215e+01_rb,3.9561e+01_rb,3.3912e+01_rb,2.8260e+01_rb,2.2608e+01_rb,1.6955e+01_rb, & &1.1304e+01_rb,5.6520e+00_rb,1.0466e-06_rb/) kao(:, 3,12,15) = (/ & &4.4441e+01_rb,3.8886e+01_rb,3.3332e+01_rb,2.7776e+01_rb,2.2220e+01_rb,1.6665e+01_rb, & &1.1110e+01_rb,5.5552e+00_rb,1.8066e-06_rb/) kao(:, 4,12,15) = (/ & &4.3598e+01_rb,3.8150e+01_rb,3.2698e+01_rb,2.7250e+01_rb,2.1798e+01_rb,1.6350e+01_rb, & &1.0900e+01_rb,5.4499e+00_rb,2.8751e-06_rb/) kao(:, 5,12,15) = (/ & &4.2666e+01_rb,3.7332e+01_rb,3.2000e+01_rb,2.6665e+01_rb,2.1333e+01_rb,1.6001e+01_rb, & &1.0666e+01_rb,5.3333e+00_rb,4.5303e-06_rb/) kao(:, 1,13,15) = (/ & &6.6305e+01_rb,5.8017e+01_rb,4.9731e+01_rb,4.1443e+01_rb,3.3153e+01_rb,2.4866e+01_rb, & &1.6576e+01_rb,8.2888e+00_rb,6.5868e-07_rb/) kao(:, 2,13,15) = (/ & &6.5425e+01_rb,5.7245e+01_rb,4.9068e+01_rb,4.0889e+01_rb,3.2711e+01_rb,2.4534e+01_rb, & &1.6356e+01_rb,8.1783e+00_rb,1.0770e-06_rb/) kao(:, 3,13,15) = (/ & &6.4452e+01_rb,5.6397e+01_rb,4.8336e+01_rb,4.0283e+01_rb,3.2227e+01_rb,2.4169e+01_rb, & &1.6113e+01_rb,8.0564e+00_rb,1.3521e-06_rb/) kao(:, 4,13,15) = (/ & &6.3313e+01_rb,5.5397e+01_rb,4.7486e+01_rb,3.9571e+01_rb,3.1655e+01_rb,2.3741e+01_rb, & &1.5828e+01_rb,7.9140e+00_rb,2.2152e-06_rb/) kao(:, 5,13,15) = (/ & &6.1963e+01_rb,5.4219e+01_rb,4.6473e+01_rb,3.8726e+01_rb,3.0982e+01_rb,2.3236e+01_rb, & &1.5490e+01_rb,7.7450e+00_rb,3.4066e-06_rb/) kao(:, 1, 1,16) = (/ & &8.8773e-05_rb,1.9140e-03_rb,3.7690e-03_rb,5.5469e-03_rb,7.2016e-03_rb,8.6351e-03_rb, & &9.6093e-03_rb,9.3558e-03_rb,1.4394e-02_rb/) kao(:, 2, 1,16) = (/ & &8.4216e-05_rb,2.7660e-03_rb,5.4492e-03_rb,8.0218e-03_rb,1.0416e-02_rb,1.2486e-02_rb, & &1.3893e-02_rb,1.3527e-02_rb,2.0822e-02_rb/) kao(:, 3, 1,16) = (/ & &8.0290e-05_rb,3.8383e-03_rb,7.5630e-03_rb,1.1136e-02_rb,1.4457e-02_rb,1.7334e-02_rb, & &1.9290e-02_rb,1.8781e-02_rb,2.8902e-02_rb/) kao(:, 4, 1,16) = (/ & &7.6611e-05_rb,5.1452e-03_rb,1.0139e-02_rb,1.4930e-02_rb,1.9392e-02_rb,2.3248e-02_rb, & &2.5870e-02_rb,2.5185e-02_rb,3.8771e-02_rb/) kao(:, 5, 1,16) = (/ & &7.3163e-05_rb,6.6935e-03_rb,1.3197e-02_rb,1.9435e-02_rb,2.5235e-02_rb,3.0263e-02_rb, & &3.3675e-02_rb,3.2771e-02_rb,5.0455e-02_rb/) kao(:, 1, 2,16) = (/ & &1.5679e-04_rb,1.9888e-03_rb,3.9277e-03_rb,5.8149e-03_rb,7.6126e-03_rb,9.2475e-03_rb, & &1.0521e-02_rb,1.0714e-02_rb,1.5210e-02_rb/) kao(:, 2, 2,16) = (/ & &1.4773e-04_rb,2.9274e-03_rb,5.7862e-03_rb,8.5677e-03_rb,1.1217e-02_rb,1.3627e-02_rb, & &1.5504e-02_rb,1.5787e-02_rb,2.2417e-02_rb/) kao(:, 3, 2,16) = (/ & &1.4025e-04_rb,4.1262e-03_rb,8.1606e-03_rb,1.2085e-02_rb,1.5823e-02_rb,1.9223e-02_rb, & &2.1876e-02_rb,2.2273e-02_rb,3.1626e-02_rb/) kao(:, 4, 2,16) = (/ & &1.3354e-04_rb,5.6053e-03_rb,1.1089e-02_rb,1.6429e-02_rb,2.1516e-02_rb,2.6138e-02_rb, & &2.9742e-02_rb,3.0283e-02_rb,4.3010e-02_rb/) kao(:, 5, 2,16) = (/ & &1.2725e-04_rb,7.3793e-03_rb,1.4605e-02_rb,2.1632e-02_rb,2.8334e-02_rb,3.4423e-02_rb, & &3.9175e-02_rb,3.9879e-02_rb,5.6642e-02_rb/) kao(:, 1, 3,16) = (/ & &4.1725e-04_rb,1.8982e-03_rb,3.7447e-03_rb,5.5658e-03_rb,7.3458e-03_rb,9.0433e-03_rb, & &1.0548e-02_rb,1.1397e-02_rb,1.4655e-02_rb/) kao(:, 2, 3,16) = (/ & &3.9098e-04_rb,2.8734e-03_rb,5.6787e-03_rb,8.4482e-03_rb,1.1153e-02_rb,1.3733e-02_rb, & &1.6021e-02_rb,1.7312e-02_rb,2.2262e-02_rb/) kao(:, 3, 3,16) = (/ & &3.4851e-04_rb,4.1474e-03_rb,8.2100e-03_rb,1.2218e-02_rb,1.6131e-02_rb,1.9869e-02_rb, & &2.3184e-02_rb,2.5055e-02_rb,3.2211e-02_rb/) kao(:, 4, 3,16) = (/ & &3.3110e-04_rb,5.7507e-03_rb,1.1396e-02_rb,1.6965e-02_rb,2.2409e-02_rb,2.7601e-02_rb, & &3.2208e-02_rb,3.4575e-02_rb,4.4760e-02_rb/) kao(:, 5, 3,16) = (/ & &3.1495e-04_rb,7.7054e-03_rb,1.5281e-02_rb,2.2758e-02_rb,3.0062e-02_rb,3.7025e-02_rb, & &4.3208e-02_rb,4.6704e-02_rb,6.0059e-02_rb/) kao(:, 1, 4,16) = (/ & &1.7281e-03_rb,1.7667e-03_rb,3.4371e-03_rb,5.0959e-03_rb,6.7367e-03_rb,8.3430e-03_rb, & &9.8600e-03_rb,1.1050e-02_rb,1.3383e-02_rb/) kao(:, 2, 4,16) = (/ & &1.1628e-03_rb,2.7537e-03_rb,5.3881e-03_rb,8.0069e-03_rb,1.0596e-02_rb,1.3125e-02_rb, & &1.5518e-02_rb,1.7399e-02_rb,2.1083e-02_rb/) kao(:, 3, 4,16) = (/ & &1.1124e-03_rb,4.0786e-03_rb,8.0137e-03_rb,1.1921e-02_rb,1.5788e-02_rb,1.9566e-02_rb, & &2.3141e-02_rb,2.5952e-02_rb,3.1447e-02_rb/) kao(:, 4, 4,16) = (/ & &1.0810e-03_rb,5.7837e-03_rb,1.1394e-02_rb,1.6970e-02_rb,2.2483e-02_rb,2.7876e-02_rb, & &3.2974e-02_rb,3.6985e-02_rb,4.4815e-02_rb/) kao(:, 5, 4,16) = (/ & &9.9376e-04_rb,7.9012e-03_rb,1.5599e-02_rb,2.3249e-02_rb,3.0813e-02_rb,3.8207e-02_rb, & &4.5202e-02_rb,5.0705e-02_rb,6.1455e-02_rb/) kao(:, 1, 5,16) = (/ & &5.4114e-03_rb,4.7354e-03_rb,4.0587e-03_rb,4.6142e-03_rb,6.0695e-03_rb,7.5080e-03_rb, & &8.9059e-03_rb,1.0147e-02_rb,1.1928e-02_rb/) kao(:, 2, 5,16) = (/ & &5.1867e-03_rb,4.5542e-03_rb,5.0981e-03_rb,7.5059e-03_rb,9.9017e-03_rb,1.2267e-02_rb, & &1.4567e-02_rb,1.6610e-02_rb,1.9542e-02_rb/) kao(:, 3, 5,16) = (/ & &3.0269e-03_rb,2.6488e-03_rb,7.7938e-03_rb,1.1517e-02_rb,1.5221e-02_rb,1.8876e-02_rb, & &2.2431e-02_rb,2.5594e-02_rb,3.0125e-02_rb/) kao(:, 4, 5,16) = (/ & &2.9184e-03_rb,2.5534e-03_rb,1.1353e-02_rb,1.6816e-02_rb,2.2248e-02_rb,2.7623e-02_rb, & &3.2847e-02_rb,3.7486e-02_rb,4.4122e-02_rb/) kao(:, 5, 5,16) = (/ & &2.8186e-03_rb,8.1567e-03_rb,1.5865e-02_rb,2.3545e-02_rb,3.1185e-02_rb,3.8732e-02_rb, & &4.6076e-02_rb,5.2599e-02_rb,6.1936e-02_rb/) kao(:, 1, 6,16) = (/ & &1.4590e-02_rb,1.2765e-02_rb,1.0941e-02_rb,9.1186e-03_rb,7.2947e-03_rb,6.5373e-03_rb, & &7.7212e-03_rb,8.8306e-03_rb,1.0195e-02_rb/) kao(:, 2, 6,16) = (/ & &1.4301e-02_rb,1.2513e-02_rb,1.0724e-02_rb,8.9392e-03_rb,9.0428e-03_rb,1.1132e-02_rb, & &1.3188e-02_rb,1.5117e-02_rb,1.7482e-02_rb/) kao(:, 3, 6,16) = (/ & &1.3976e-02_rb,1.2228e-02_rb,1.0485e-02_rb,1.0970e-02_rb,1.4363e-02_rb,1.7735e-02_rb, & &2.1052e-02_rb,2.4167e-02_rb,2.7980e-02_rb/) kao(:, 4, 6,16) = (/ & &7.5839e-03_rb,6.6346e-03_rb,9.3364e-03_rb,1.6444e-02_rb,2.1598e-02_rb,2.6720e-02_rb, & &3.1771e-02_rb,3.6510e-02_rb,4.2297e-02_rb/) kao(:, 5, 6,16) = (/ & &7.3499e-03_rb,6.4297e-03_rb,1.6063e-02_rb,2.3546e-02_rb,3.1010e-02_rb,3.8427e-02_rb, & &4.5729e-02_rb,5.2589e-02_rb,6.0961e-02_rb/) kao(:, 1, 7,16) = (/ & &4.2002e-02_rb,3.6747e-02_rb,3.1501e-02_rb,2.6251e-02_rb,2.1002e-02_rb,1.5754e-02_rb, & &1.0500e-02_rb,7.5058e-03_rb,8.4905e-03_rb/) kao(:, 2, 7,16) = (/ & &4.1348e-02_rb,3.6182e-02_rb,3.1017e-02_rb,2.5842e-02_rb,2.0675e-02_rb,1.5509e-02_rb, & &1.1819e-02_rb,1.3466e-02_rb,1.5310e-02_rb/) kao(:, 3, 7,16) = (/ & &4.0563e-02_rb,3.5489e-02_rb,3.0424e-02_rb,2.5351e-02_rb,2.0286e-02_rb,1.6643e-02_rb, & &1.9563e-02_rb,2.2386e-02_rb,2.5539e-02_rb/) kao(:, 4, 7,16) = (/ & &3.9401e-02_rb,3.4717e-02_rb,2.9752e-02_rb,2.4793e-02_rb,2.1115e-02_rb,2.5798e-02_rb, & &3.0449e-02_rb,3.4941e-02_rb,3.9945e-02_rb/) kao(:, 5, 7,16) = (/ & &2.0373e-02_rb,1.7827e-02_rb,1.5278e-02_rb,1.2733e-02_rb,3.0987e-02_rb,3.8017e-02_rb, & &4.4987e-02_rb,5.1736e-02_rb,5.9242e-02_rb/) kao(:, 1, 8,16) = (/ & &1.5400e-01_rb,1.3474e-01_rb,1.1553e-01_rb,9.6239e-02_rb,7.7005e-02_rb,5.7761e-02_rb, & &3.8504e-02_rb,1.9252e-02_rb,6.9298e-03_rb/) kao(:, 2, 8,16) = (/ & &1.5231e-01_rb,1.3330e-01_rb,1.1425e-01_rb,9.5219e-02_rb,7.6158e-02_rb,5.7117e-02_rb, & &3.8082e-02_rb,1.9041e-02_rb,1.3109e-02_rb/) kao(:, 3, 8,16) = (/ & &1.4996e-01_rb,1.3122e-01_rb,1.1247e-01_rb,9.3714e-02_rb,7.4984e-02_rb,5.6235e-02_rb, & &3.7492e-02_rb,2.0794e-02_rb,2.1673e-02_rb/) kao(:, 4, 8,16) = (/ & &1.4710e-01_rb,1.2871e-01_rb,1.1034e-01_rb,9.1947e-02_rb,7.3562e-02_rb,5.5161e-02_rb, & &3.6783e-02_rb,3.3457e-02_rb,3.2749e-02_rb/) kao(:, 5, 8,16) = (/ & &1.4389e-01_rb,1.2590e-01_rb,1.0792e-01_rb,8.9927e-02_rb,7.1955e-02_rb,5.3965e-02_rb, & &4.4963e-02_rb,5.0849e-02_rb,4.4095e-02_rb/) kao(:, 1, 9,16) = (/ & &1.0859e+00_rb,9.5014e-01_rb,8.1454e-01_rb,6.7879e-01_rb,5.4303e-01_rb,4.0724e-01_rb, & &2.7149e-01_rb,1.3574e-01_rb,5.1220e-06_rb/) kao(:, 2, 9,16) = (/ & &1.0768e+00_rb,9.4216e-01_rb,8.0759e-01_rb,6.7299e-01_rb,5.3840e-01_rb,4.0381e-01_rb, & &2.6917e-01_rb,1.3460e-01_rb,1.2021e-05_rb/) kao(:, 3, 9,16) = (/ & &1.0636e+00_rb,9.3068e-01_rb,7.9788e-01_rb,6.6477e-01_rb,5.3197e-01_rb,3.9888e-01_rb, & &2.6599e-01_rb,1.3299e-01_rb,2.0747e-05_rb/) kao(:, 4, 9,16) = (/ & &1.0462e+00_rb,9.1536e-01_rb,7.8477e-01_rb,6.5394e-01_rb,5.2317e-01_rb,3.9241e-01_rb, & &2.6164e-01_rb,1.3081e-01_rb,2.6757e-05_rb/) kao(:, 5, 9,16) = (/ & &1.0256e+00_rb,8.9712e-01_rb,7.6891e-01_rb,6.4089e-01_rb,5.1277e-01_rb,3.8454e-01_rb, & &2.5635e-01_rb,1.2820e-01_rb,3.3237e-05_rb/) kao(:, 1,10,16) = (/ & &9.2943e+00_rb,8.1330e+00_rb,6.9713e+00_rb,5.8089e+00_rb,4.6478e+00_rb,3.4621e+00_rb, & &2.3237e+00_rb,1.1620e+00_rb,2.5199e-06_rb/) kao(:, 2,10,16) = (/ & &9.1327e+00_rb,7.9905e+00_rb,6.8491e+00_rb,5.7077e+00_rb,4.5656e+00_rb,3.4245e+00_rb, & &2.2832e+00_rb,1.1416e+00_rb,6.1820e-06_rb/) kao(:, 3,10,16) = (/ & &9.0419e+00_rb,7.9114e+00_rb,6.7812e+00_rb,5.6501e+00_rb,4.5208e+00_rb,3.3897e+00_rb, & &2.2603e+00_rb,1.1303e+00_rb,1.2253e-05_rb/) kao(:, 4,10,16) = (/ & &8.9128e+00_rb,7.7986e+00_rb,6.6845e+00_rb,5.5708e+00_rb,4.4561e+00_rb,3.3428e+00_rb, & &2.2285e+00_rb,1.1142e+00_rb,1.7974e-05_rb/) kao(:, 5,10,16) = (/ & &8.7796e+00_rb,7.6831e+00_rb,6.5851e+00_rb,5.4876e+00_rb,4.3892e+00_rb,3.2921e+00_rb, & &2.1948e+00_rb,1.0975e+00_rb,2.4232e-05_rb/) kao(:, 1,11,16) = (/ & &2.7588e+01_rb,2.4141e+01_rb,2.0693e+01_rb,1.7244e+01_rb,1.3795e+01_rb,1.0345e+01_rb, & &6.8978e+00_rb,3.4484e+00_rb,2.0595e-06_rb/) kao(:, 2,11,16) = (/ & &2.6657e+01_rb,2.3323e+01_rb,1.9991e+01_rb,1.6660e+01_rb,1.3327e+01_rb,9.9952e+00_rb, & &6.6638e+00_rb,3.3322e+00_rb,4.7312e-06_rb/) kao(:, 3,11,16) = (/ & &2.5989e+01_rb,2.2740e+01_rb,1.9493e+01_rb,1.6242e+01_rb,1.2994e+01_rb,9.7462e+00_rb, & &6.4977e+00_rb,3.2488e+00_rb,8.7718e-06_rb/) kao(:, 4,11,16) = (/ & &2.5704e+01_rb,2.2492e+01_rb,1.9279e+01_rb,1.6066e+01_rb,1.2854e+01_rb,9.6403e+00_rb, & &6.4266e+00_rb,3.2130e+00_rb,1.4050e-05_rb/) kao(:, 5,11,16) = (/ & &2.5636e+01_rb,2.2431e+01_rb,1.9229e+01_rb,1.6023e+01_rb,1.2819e+01_rb,9.6138e+00_rb, & &6.4100e+00_rb,3.2046e+00_rb,1.9441e-05_rb/) kao(:, 1,12,16) = (/ & &5.2064e+01_rb,4.5551e+01_rb,3.9046e+01_rb,3.2542e+01_rb,2.6032e+01_rb,1.9524e+01_rb, & &1.3016e+01_rb,6.5078e+00_rb,1.7091e-06_rb/) kao(:, 2,12,16) = (/ & &5.0183e+01_rb,4.3912e+01_rb,3.7638e+01_rb,3.1363e+01_rb,2.5091e+01_rb,1.8819e+01_rb, & &1.2545e+01_rb,6.2729e+00_rb,3.7298e-06_rb/) kao(:, 3,12,16) = (/ & &4.8961e+01_rb,4.2840e+01_rb,3.6719e+01_rb,3.0598e+01_rb,2.4478e+01_rb,1.8358e+01_rb, & &1.2239e+01_rb,6.1197e+00_rb,6.4267e-06_rb/) kao(:, 4,12,16) = (/ & &4.8192e+01_rb,4.2165e+01_rb,3.6143e+01_rb,3.0118e+01_rb,2.4096e+01_rb,1.8071e+01_rb, & &1.2047e+01_rb,6.0236e+00_rb,1.0438e-05_rb/) kao(:, 5,12,16) = (/ & &4.7950e+01_rb,4.1951e+01_rb,3.5955e+01_rb,2.9964e+01_rb,2.3968e+01_rb,1.7977e+01_rb, & &1.1985e+01_rb,5.9924e+00_rb,1.5532e-05_rb/) kao(:, 1,13,16) = (/ & &7.9237e+01_rb,6.9320e+01_rb,5.9418e+01_rb,4.9515e+01_rb,3.9615e+01_rb,2.9712e+01_rb, & &1.9806e+01_rb,9.9046e+00_rb,1.3997e-06_rb/) kao(:, 2,13,16) = (/ & &7.6481e+01_rb,6.6913e+01_rb,5.7358e+01_rb,4.7795e+01_rb,3.8238e+01_rb,2.8679e+01_rb, & &1.9119e+01_rb,9.5593e+00_rb,2.8864e-06_rb/) kao(:, 3,13,16) = (/ & &7.4663e+01_rb,6.5336e+01_rb,5.5998e+01_rb,4.6664e+01_rb,3.7331e+01_rb,2.7999e+01_rb, & &1.8666e+01_rb,9.3324e+00_rb,4.8512e-06_rb/) kao(:, 4,13,16) = (/ & &7.3334e+01_rb,6.4170e+01_rb,5.5002e+01_rb,4.5830e+01_rb,3.6668e+01_rb,2.7499e+01_rb, & &1.8332e+01_rb,9.1667e+00_rb,7.8505e-06_rb/) kao(:, 5,13,16) = (/ & &7.2543e+01_rb,6.3471e+01_rb,5.4398e+01_rb,4.5335e+01_rb,3.6267e+01_rb,2.7201e+01_rb, & &1.8133e+01_rb,9.0671e+00_rb,1.1235e-05_rb/) ! The array KBO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels < ~100mb and temperatures. The first ! index in the array, JT, which runs from 1 to 5, corresponds to ! different temperatures. More specifically, JT = 3 means that the ! data are for the reference temperature TREF for this pressure ! level, JT = 2 refers to the temperature TREF-15, JT = 1 is for ! TREF-30, JT = 4 is for TREF+15, and JT = 5 is for TREF+30. ! The second index, JP, runs from 13 to 59 and refers to the JPth ! reference pressure level (see taumol.f for the value of these ! pressure levels in mb). The third index, IG, goes from 1 to 16, ! and tells us which g-interval the absorption coefficients are for. kbo(:,13, 1) = (/ & &6.2747e-02_rb,8.6102e-02_rb,1.1568e-01_rb,1.5208e-01_rb,1.9535e-01_rb/) kbo(:,14, 1) = (/ & &5.7861e-02_rb,7.9151e-02_rb,1.0594e-01_rb,1.3846e-01_rb,1.7643e-01_rb/) kbo(:,15, 1) = (/ & &5.3092e-02_rb,7.2482e-02_rb,9.6781e-02_rb,1.2588e-01_rb,1.5918e-01_rb/) kbo(:,16, 1) = (/ & &4.8457e-02_rb,6.6047e-02_rb,8.7760e-02_rb,1.1351e-01_rb,1.4288e-01_rb/) kbo(:,17, 1) = (/ & &4.3912e-02_rb,5.9676e-02_rb,7.8923e-02_rb,1.0151e-01_rb,1.2709e-01_rb/) kbo(:,18, 1) = (/ & &3.9426e-02_rb,5.3365e-02_rb,7.0341e-02_rb,8.9953e-02_rb,1.1230e-01_rb/) kbo(:,19, 1) = (/ & &3.5046e-02_rb,4.7312e-02_rb,6.2046e-02_rb,7.9063e-02_rb,9.8334e-02_rb/) kbo(:,20, 1) = (/ & &3.1115e-02_rb,4.1839e-02_rb,5.4636e-02_rb,6.9407e-02_rb,8.5975e-02_rb/) kbo(:,21, 1) = (/ & &2.7465e-02_rb,3.6785e-02_rb,4.7830e-02_rb,6.0600e-02_rb,7.4770e-02_rb/) kbo(:,22, 1) = (/ & &2.4593e-02_rb,3.2747e-02_rb,4.2384e-02_rb,5.3412e-02_rb,6.5545e-02_rb/) kbo(:,23, 1) = (/ & &2.1937e-02_rb,2.9046e-02_rb,3.7411e-02_rb,4.6873e-02_rb,5.7167e-02_rb/) kbo(:,24, 1) = (/ & &1.9516e-02_rb,2.5711e-02_rb,3.2910e-02_rb,4.0910e-02_rb,4.9576e-02_rb/) kbo(:,25, 1) = (/ & &1.7347e-02_rb,2.2706e-02_rb,2.8823e-02_rb,3.5568e-02_rb,4.2803e-02_rb/) kbo(:,26, 1) = (/ & &1.5431e-02_rb,2.0022e-02_rb,2.5209e-02_rb,3.0861e-02_rb,3.6863e-02_rb/) kbo(:,27, 1) = (/ & &1.3676e-02_rb,1.7588e-02_rb,2.1954e-02_rb,2.6656e-02_rb,3.1628e-02_rb/) kbo(:,28, 1) = (/ & &1.2072e-02_rb,1.5389e-02_rb,1.9040e-02_rb,2.2944e-02_rb,2.7092e-02_rb/) kbo(:,29, 1) = (/ & &1.0638e-02_rb,1.3440e-02_rb,1.6483e-02_rb,1.9764e-02_rb,2.3215e-02_rb/) kbo(:,30, 1) = (/ & &9.3452e-03_rb,1.1695e-02_rb,1.4256e-02_rb,1.7011e-02_rb,1.9889e-02_rb/) kbo(:,31, 1) = (/ & &8.1958e-03_rb,1.0179e-02_rb,1.2343e-02_rb,1.4653e-02_rb,1.7063e-02_rb/) kbo(:,32, 1) = (/ & &7.1787e-03_rb,8.8627e-03_rb,1.0685e-02_rb,1.2626e-02_rb,1.4630e-02_rb/) kbo(:,33, 1) = (/ & &6.2851e-03_rb,7.7078e-03_rb,9.2476e-03_rb,1.0876e-02_rb,1.2551e-02_rb/) kbo(:,34, 1) = (/ & &5.4503e-03_rb,6.6513e-03_rb,7.9437e-03_rb,9.3044e-03_rb,1.0718e-02_rb/) kbo(:,35, 1) = (/ & &4.6286e-03_rb,5.6362e-03_rb,6.7164e-03_rb,7.8605e-03_rb,9.0307e-03_rb/) kbo(:,36, 1) = (/ & &3.8439e-03_rb,4.6777e-03_rb,5.5784e-03_rb,6.5325e-03_rb,7.4907e-03_rb/) kbo(:,37, 1) = (/ & &3.0907e-03_rb,3.7733e-03_rb,4.5151e-03_rb,5.2952e-03_rb,6.0875e-03_rb/) kbo(:,38, 1) = (/ & &2.4803e-03_rb,3.0385e-03_rb,3.6485e-03_rb,4.2895e-03_rb,4.9493e-03_rb/) kbo(:,39, 1) = (/ & &1.9914e-03_rb,2.4489e-03_rb,2.9506e-03_rb,3.4809e-03_rb,4.0250e-03_rb/) kbo(:,40, 1) = (/ & &1.5591e-03_rb,1.9289e-03_rb,2.3368e-03_rb,2.7699e-03_rb,3.2181e-03_rb/) kbo(:,41, 1) = (/ & &1.2156e-03_rb,1.5132e-03_rb,1.8431e-03_rb,2.1975e-03_rb,2.5662e-03_rb/) kbo(:,42, 1) = (/ & &9.4642e-04_rb,1.1860e-03_rb,1.4531e-03_rb,1.7422e-03_rb,2.0436e-03_rb/) kbo(:,43, 1) = (/ & &7.2576e-04_rb,9.1670e-04_rb,1.1319e-03_rb,1.3659e-03_rb,1.6136e-03_rb/) kbo(:,44, 1) = (/ & &5.5191e-04_rb,7.0339e-04_rb,8.7651e-04_rb,1.0654e-03_rb,1.2677e-03_rb/) kbo(:,45, 1) = (/ & &4.1864e-04_rb,5.3928e-04_rb,6.7793e-04_rb,8.3043e-04_rb,9.9568e-04_rb/) kbo(:,46, 1) = (/ & &3.1490e-04_rb,4.0992e-04_rb,5.2032e-04_rb,6.4322e-04_rb,7.7812e-04_rb/) kbo(:,47, 1) = (/ & &2.3273e-04_rb,3.0659e-04_rb,3.9375e-04_rb,4.9208e-04_rb,6.0088e-04_rb/) kbo(:,48, 1) = (/ & &1.7128e-04_rb,2.2854e-04_rb,2.9725e-04_rb,3.7557e-04_rb,4.6327e-04_rb/) kbo(:,49, 1) = (/ & &1.2553e-04_rb,1.6987e-04_rb,2.2375e-04_rb,2.8623e-04_rb,3.5677e-04_rb/) kbo(:,50, 1) = (/ & &9.2117e-05_rb,1.2634e-04_rb,1.6842e-04_rb,2.1802e-04_rb,2.7404e-04_rb/) kbo(:,51, 1) = (/ & &6.7482e-05_rb,9.3783e-05_rb,1.2646e-04_rb,1.6541e-04_rb,2.1004e-04_rb/) kbo(:,52, 1) = (/ & &4.9294e-05_rb,6.9377e-05_rb,9.4622e-05_rb,1.2516e-04_rb,1.6083e-04_rb/) kbo(:,53, 1) = (/ & &3.5898e-05_rb,5.1131e-05_rb,7.0555e-05_rb,9.4518e-05_rb,1.2315e-04_rb/) kbo(:,54, 1) = (/ & &2.6237e-05_rb,3.7710e-05_rb,5.2593e-05_rb,7.1209e-05_rb,9.3663e-05_rb/) kbo(:,55, 1) = (/ & &1.9162e-05_rb,2.7753e-05_rb,3.9112e-05_rb,5.3467e-05_rb,7.0840e-05_rb/) kbo(:,56, 1) = (/ & &1.3954e-05_rb,2.0386e-05_rb,2.8986e-05_rb,3.9982e-05_rb,5.3468e-05_rb/) kbo(:,57, 1) = (/ & &1.0137e-05_rb,1.4950e-05_rb,2.1433e-05_rb,2.9844e-05_rb,4.0285e-05_rb/) kbo(:,58, 1) = (/ & &7.3955e-06_rb,1.0988e-05_rb,1.5849e-05_rb,2.2304e-05_rb,3.0355e-05_rb/) kbo(:,59, 1) = (/ & &5.7756e-06_rb,8.5841e-06_rb,1.2417e-05_rb,1.7454e-05_rb,2.3825e-05_rb/) kbo(:,13, 2) = (/ & &2.8941e-01_rb,3.7928e-01_rb,4.8728e-01_rb,6.1356e-01_rb,7.5720e-01_rb/) kbo(:,14, 2) = (/ & &2.7482e-01_rb,3.5907e-01_rb,4.5923e-01_rb,5.7444e-01_rb,7.0479e-01_rb/) kbo(:,15, 2) = (/ & &2.6012e-01_rb,3.3844e-01_rb,4.3050e-01_rb,5.3565e-01_rb,6.5360e-01_rb/) kbo(:,16, 2) = (/ & &2.4469e-01_rb,3.1749e-01_rb,4.0174e-01_rb,4.9749e-01_rb,6.0352e-01_rb/) kbo(:,17, 2) = (/ & &2.2805e-01_rb,2.9482e-01_rb,3.7163e-01_rb,4.5800e-01_rb,5.5300e-01_rb/) kbo(:,18, 2) = (/ & &2.1066e-01_rb,2.7121e-01_rb,3.4050e-01_rb,4.1816e-01_rb,5.0173e-01_rb/) kbo(:,19, 2) = (/ & &1.9258e-01_rb,2.4696e-01_rb,3.0899e-01_rb,3.7763e-01_rb,4.5019e-01_rb/) kbo(:,20, 2) = (/ & &1.7535e-01_rb,2.2386e-01_rb,2.7870e-01_rb,3.3833e-01_rb,4.0121e-01_rb/) kbo(:,21, 2) = (/ & &1.5823e-01_rb,2.0117e-01_rb,2.4903e-01_rb,3.0059e-01_rb,3.5459e-01_rb/) kbo(:,22, 2) = (/ & &1.4393e-01_rb,1.8176e-01_rb,2.2349e-01_rb,2.6801e-01_rb,3.1434e-01_rb/) kbo(:,23, 2) = (/ & &1.2993e-01_rb,1.6307e-01_rb,1.9923e-01_rb,2.3752e-01_rb,2.7733e-01_rb/) kbo(:,24, 2) = (/ & &1.1668e-01_rb,1.4559e-01_rb,1.7680e-01_rb,2.0966e-01_rb,2.4384e-01_rb/) kbo(:,25, 2) = (/ & &1.0441e-01_rb,1.2946e-01_rb,1.5637e-01_rb,1.8462e-01_rb,2.1368e-01_rb/) kbo(:,26, 2) = (/ & &9.3354e-02_rb,1.1505e-01_rb,1.3816e-01_rb,1.6244e-01_rb,1.8706e-01_rb/) kbo(:,27, 2) = (/ & &8.3171e-02_rb,1.0190e-01_rb,1.2182e-01_rb,1.4246e-01_rb,1.6301e-01_rb/) kbo(:,28, 2) = (/ & &7.3897e-02_rb,9.0049e-02_rb,1.0712e-01_rb,1.2442e-01_rb,1.4130e-01_rb/) kbo(:,29, 2) = (/ & &6.5628e-02_rb,7.9501e-02_rb,9.3908e-02_rb,1.0826e-01_rb,1.2190e-01_rb/) kbo(:,30, 2) = (/ & &5.8144e-02_rb,6.9960e-02_rb,8.1950e-02_rb,9.3660e-02_rb,1.0454e-01_rb/) kbo(:,31, 2) = (/ & &5.1413e-02_rb,6.1336e-02_rb,7.1221e-02_rb,8.0615e-02_rb,8.9347e-02_rb/) kbo(:,32, 2) = (/ & &4.5308e-02_rb,5.3538e-02_rb,6.1586e-02_rb,6.9140e-02_rb,7.6180e-02_rb/) kbo(:,33, 2) = (/ & &3.9776e-02_rb,4.6552e-02_rb,5.3085e-02_rb,5.9155e-02_rb,6.4885e-02_rb/) kbo(:,34, 2) = (/ & &3.4566e-02_rb,4.0142e-02_rb,4.5387e-02_rb,5.0362e-02_rb,5.5085e-02_rb/) kbo(:,35, 2) = (/ & &2.9501e-02_rb,3.4063e-02_rb,3.8371e-02_rb,4.2482e-02_rb,4.6355e-02_rb/) kbo(:,36, 2) = (/ & &2.4731e-02_rb,2.8480e-02_rb,3.2042e-02_rb,3.5445e-02_rb,3.8685e-02_rb/) kbo(:,37, 2) = (/ & &2.0227e-02_rb,2.3337e-02_rb,2.6311e-02_rb,2.9150e-02_rb,3.1875e-02_rb/) kbo(:,38, 2) = (/ & &1.6522e-02_rb,1.9118e-02_rb,2.1594e-02_rb,2.3970e-02_rb,2.6280e-02_rb/) kbo(:,39, 2) = (/ & &1.3506e-02_rb,1.5663e-02_rb,1.7734e-02_rb,1.9723e-02_rb,2.1666e-02_rb/) kbo(:,40, 2) = (/ & &1.0839e-02_rb,1.2642e-02_rb,1.4374e-02_rb,1.6039e-02_rb,1.7665e-02_rb/) kbo(:,41, 2) = (/ & &8.6687e-03_rb,1.0169e-02_rb,1.1614e-02_rb,1.3014e-02_rb,1.4376e-02_rb/) kbo(:,42, 2) = (/ & &6.9249e-03_rb,8.1709e-03_rb,9.3824e-03_rb,1.0556e-02_rb,1.1694e-02_rb/) kbo(:,43, 2) = (/ & &5.4677e-03_rb,6.5006e-03_rb,7.5154e-03_rb,8.4985e-03_rb,9.4530e-03_rb/) kbo(:,44, 2) = (/ & &4.2855e-03_rb,5.1437e-03_rb,5.9926e-03_rb,6.8145e-03_rb,7.6201e-03_rb/) kbo(:,45, 2) = (/ & &3.3515e-03_rb,4.0607e-03_rb,4.7699e-03_rb,5.4599e-03_rb,6.1332e-03_rb/) kbo(:,46, 2) = (/ & &2.6019e-03_rb,3.1870e-03_rb,3.7777e-03_rb,4.3556e-03_rb,4.9205e-03_rb/) kbo(:,47, 2) = (/ & &1.9902e-03_rb,2.4722e-03_rb,2.9627e-03_rb,3.4486e-03_rb,3.9210e-03_rb/) kbo(:,48, 2) = (/ & &1.5153e-03_rb,1.9102e-03_rb,2.3171e-03_rb,2.7244e-03_rb,3.1206e-03_rb/) kbo(:,49, 2) = (/ & &1.1469e-03_rb,1.4720e-03_rb,1.8085e-03_rb,2.1494e-03_rb,2.4830e-03_rb/) kbo(:,50, 2) = (/ & &8.6648e-04_rb,1.1333e-03_rb,1.4108e-03_rb,1.6953e-03_rb,1.9769e-03_rb/) kbo(:,51, 2) = (/ & &6.5125e-04_rb,8.6980e-04_rb,1.0984e-03_rb,1.3342e-03_rb,1.5715e-03_rb/) kbo(:,52, 2) = (/ & &4.8660e-04_rb,6.6498e-04_rb,8.5250e-04_rb,1.0475e-03_rb,1.2461e-03_rb/) kbo(:,53, 2) = (/ & &3.6091e-04_rb,5.0560e-04_rb,6.5947e-04_rb,8.2040e-04_rb,9.8603e-04_rb/) kbo(:,54, 2) = (/ & &2.6798e-04_rb,3.8317e-04_rb,5.0899e-04_rb,6.4130e-04_rb,7.7856e-04_rb/) kbo(:,55, 2) = (/ & &1.9837e-04_rb,2.8906e-04_rb,3.9148e-04_rb,4.9955e-04_rb,6.1247e-04_rb/) kbo(:,56, 2) = (/ & &1.4613e-04_rb,2.1685e-04_rb,3.0004e-04_rb,3.8773e-04_rb,4.8096e-04_rb/) kbo(:,57, 2) = (/ & &1.0691e-04_rb,1.6173e-04_rb,2.2873e-04_rb,3.0001e-04_rb,3.7637e-04_rb/) kbo(:,58, 2) = (/ & &7.8236e-05_rb,1.2069e-04_rb,1.7421e-04_rb,2.3200e-04_rb,2.9412e-04_rb/) kbo(:,59, 2) = (/ & &6.1826e-05_rb,9.5990e-05_rb,1.3927e-04_rb,1.8625e-04_rb,2.3654e-04_rb/) kbo(:,13, 3) = (/ & &1.1135e+00_rb,1.3641e+00_rb,1.6160e+00_rb,1.8652e+00_rb,2.1134e+00_rb/) kbo(:,14, 3) = (/ & &1.0304e+00_rb,1.2521e+00_rb,1.4746e+00_rb,1.6946e+00_rb,1.9141e+00_rb/) kbo(:,15, 3) = (/ & &9.5384e-01_rb,1.1492e+00_rb,1.3443e+00_rb,1.5379e+00_rb,1.7345e+00_rb/) kbo(:,16, 3) = (/ & &8.8007e-01_rb,1.0512e+00_rb,1.2220e+00_rb,1.3952e+00_rb,1.5691e+00_rb/) kbo(:,17, 3) = (/ & &8.0715e-01_rb,9.5537e-01_rb,1.1063e+00_rb,1.2596e+00_rb,1.4122e+00_rb/) kbo(:,18, 3) = (/ & &7.3500e-01_rb,8.6436e-01_rb,9.9708e-01_rb,1.1308e+00_rb,1.2638e+00_rb/) kbo(:,19, 3) = (/ & &6.6442e-01_rb,7.7800e-01_rb,8.9341e-01_rb,1.0094e+00_rb,1.1240e+00_rb/) kbo(:,20, 3) = (/ & &5.9870e-01_rb,6.9782e-01_rb,7.9815e-01_rb,8.9858e-01_rb,9.9720e-01_rb/) kbo(:,21, 3) = (/ & &5.3577e-01_rb,6.2165e-01_rb,7.0893e-01_rb,7.9562e-01_rb,8.8013e-01_rb/) kbo(:,22, 3) = (/ & &4.8056e-01_rb,5.5531e-01_rb,6.3060e-01_rb,7.0436e-01_rb,7.7687e-01_rb/) kbo(:,23, 3) = (/ & &4.2855e-01_rb,4.9296e-01_rb,5.5690e-01_rb,6.1984e-01_rb,6.8212e-01_rb/) kbo(:,24, 3) = (/ & &3.8024e-01_rb,4.3497e-01_rb,4.8911e-01_rb,5.4325e-01_rb,5.9676e-01_rb/) kbo(:,25, 3) = (/ & &3.3570e-01_rb,3.8197e-01_rb,4.2813e-01_rb,4.7450e-01_rb,5.2085e-01_rb/) kbo(:,26, 3) = (/ & &2.9535e-01_rb,3.3462e-01_rb,3.7428e-01_rb,4.1425e-01_rb,4.5431e-01_rb/) kbo(:,27, 3) = (/ & &2.5873e-01_rb,2.9239e-01_rb,3.2655e-01_rb,3.6110e-01_rb,3.9601e-01_rb/) kbo(:,28, 3) = (/ & &2.2605e-01_rb,2.5498e-01_rb,2.8445e-01_rb,3.1460e-01_rb,3.4506e-01_rb/) kbo(:,29, 3) = (/ & &1.9728e-01_rb,2.2221e-01_rb,2.4794e-01_rb,2.7429e-01_rb,3.0081e-01_rb/) kbo(:,30, 3) = (/ & &1.7195e-01_rb,1.9369e-01_rb,2.1631e-01_rb,2.3929e-01_rb,2.6198e-01_rb/) kbo(:,31, 3) = (/ & &1.5004e-01_rb,1.6915e-01_rb,1.8896e-01_rb,2.0886e-01_rb,2.2799e-01_rb/) kbo(:,32, 3) = (/ & &1.3116e-01_rb,1.4802e-01_rb,1.6521e-01_rb,1.8200e-01_rb,1.9806e-01_rb/) kbo(:,33, 3) = (/ & &1.1493e-01_rb,1.2958e-01_rb,1.4418e-01_rb,1.5826e-01_rb,1.7170e-01_rb/) kbo(:,34, 3) = (/ & &1.0026e-01_rb,1.1281e-01_rb,1.2510e-01_rb,1.3692e-01_rb,1.4804e-01_rb/) kbo(:,35, 3) = (/ & &8.6407e-02_rb,9.7015e-02_rb,1.0743e-01_rb,1.1729e-01_rb,1.2663e-01_rb/) kbo(:,36, 3) = (/ & &7.3396e-02_rb,8.2443e-02_rb,9.1165e-02_rb,9.9519e-02_rb,1.0753e-01_rb/) kbo(:,37, 3) = (/ & &6.1173e-02_rb,6.8860e-02_rb,7.6255e-02_rb,8.3361e-02_rb,9.0284e-02_rb/) kbo(:,38, 3) = (/ & &5.0910e-02_rb,5.7435e-02_rb,6.3715e-02_rb,6.9817e-02_rb,7.5733e-02_rb/) kbo(:,39, 3) = (/ & &4.2376e-02_rb,4.7913e-02_rb,5.3247e-02_rb,5.8502e-02_rb,6.3619e-02_rb/) kbo(:,40, 3) = (/ & &3.4748e-02_rb,3.9459e-02_rb,4.3993e-02_rb,4.8510e-02_rb,5.2956e-02_rb/) kbo(:,41, 3) = (/ & &2.8418e-02_rb,3.2417e-02_rb,3.6282e-02_rb,4.0161e-02_rb,4.3993e-02_rb/) kbo(:,42, 3) = (/ & &2.3210e-02_rb,2.6614e-02_rb,2.9916e-02_rb,3.3242e-02_rb,3.6540e-02_rb/) kbo(:,43, 3) = (/ & &1.8779e-02_rb,2.1673e-02_rb,2.4493e-02_rb,2.7336e-02_rb,3.0182e-02_rb/) kbo(:,44, 3) = (/ & &1.5102e-02_rb,1.7567e-02_rb,1.9972e-02_rb,2.2410e-02_rb,2.4858e-02_rb/) kbo(:,45, 3) = (/ & &1.2119e-02_rb,1.4212e-02_rb,1.6271e-02_rb,1.8344e-02_rb,2.0451e-02_rb/) kbo(:,46, 3) = (/ & &9.6639e-03_rb,1.1430e-02_rb,1.3190e-02_rb,1.4958e-02_rb,1.6759e-02_rb/) kbo(:,47, 3) = (/ & &7.6185e-03_rb,9.1001e-03_rb,1.0599e-02_rb,1.2098e-02_rb,1.3639e-02_rb/) kbo(:,48, 3) = (/ & &5.9842e-03_rb,7.2206e-03_rb,8.5005e-03_rb,9.7716e-03_rb,1.1086e-02_rb/) kbo(:,49, 3) = (/ & &4.6860e-03_rb,5.7121e-03_rb,6.7999e-03_rb,7.8773e-03_rb,8.9943e-03_rb/) kbo(:,50, 3) = (/ & &3.6738e-03_rb,4.5201e-03_rb,5.4386e-03_rb,6.3525e-03_rb,7.2951e-03_rb/) kbo(:,51, 3) = (/ & &2.8749e-03_rb,3.5695e-03_rb,4.3389e-03_rb,5.1158e-03_rb,5.9116e-03_rb/) kbo(:,52, 3) = (/ & &2.2412e-03_rb,2.8111e-03_rb,3.4548e-03_rb,4.1149e-03_rb,4.7853e-03_rb/) kbo(:,53, 3) = (/ & &1.7396e-03_rb,2.2062e-03_rb,2.7406e-03_rb,3.3024e-03_rb,3.8694e-03_rb/) kbo(:,54, 3) = (/ & &1.3505e-03_rb,1.7325e-03_rb,2.1715e-03_rb,2.6457e-03_rb,3.1233e-03_rb/) kbo(:,55, 3) = (/ & &1.0458e-03_rb,1.3574e-03_rb,1.7165e-03_rb,2.1138e-03_rb,2.5149e-03_rb/) kbo(:,56, 3) = (/ & &8.0583e-04_rb,1.0599e-03_rb,1.3530e-03_rb,1.6840e-03_rb,2.0192e-03_rb/) kbo(:,57, 3) = (/ & &6.1766e-04_rb,8.2479e-04_rb,1.0628e-03_rb,1.3371e-03_rb,1.6185e-03_rb/) kbo(:,58, 3) = (/ & &4.7327e-04_rb,6.4160e-04_rb,8.3562e-04_rb,1.0608e-03_rb,1.2972e-03_rb/) kbo(:,59, 3) = (/ & &3.8292e-04_rb,5.2222e-04_rb,6.8284e-04_rb,8.6897e-04_rb,1.0664e-03_rb/) kbo(:,13, 4) = (/ & &3.3749e+00_rb,3.6005e+00_rb,3.8557e+00_rb,4.1032e+00_rb,4.3385e+00_rb/) kbo(:,14, 4) = (/ & &2.9858e+00_rb,3.1916e+00_rb,3.4148e+00_rb,3.6458e+00_rb,3.8704e+00_rb/) kbo(:,15, 4) = (/ & &2.6360e+00_rb,2.8231e+00_rb,3.0273e+00_rb,3.2443e+00_rb,3.4520e+00_rb/) kbo(:,16, 4) = (/ & &2.3243e+00_rb,2.4974e+00_rb,2.6921e+00_rb,2.8866e+00_rb,3.0804e+00_rb/) kbo(:,17, 4) = (/ & &2.0501e+00_rb,2.2124e+00_rb,2.3895e+00_rb,2.5647e+00_rb,2.7458e+00_rb/) kbo(:,18, 4) = (/ & &1.8079e+00_rb,1.9578e+00_rb,2.1149e+00_rb,2.2757e+00_rb,2.4444e+00_rb/) kbo(:,19, 4) = (/ & &1.5916e+00_rb,1.7262e+00_rb,1.8683e+00_rb,2.0160e+00_rb,2.1705e+00_rb/) kbo(:,20, 4) = (/ & &1.3988e+00_rb,1.5220e+00_rb,1.6508e+00_rb,1.7854e+00_rb,1.9234e+00_rb/) kbo(:,21, 4) = (/ & &1.2283e+00_rb,1.3399e+00_rb,1.4559e+00_rb,1.5766e+00_rb,1.6985e+00_rb/) kbo(:,22, 4) = (/ & &1.0842e+00_rb,1.1844e+00_rb,1.2884e+00_rb,1.3958e+00_rb,1.5035e+00_rb/) kbo(:,23, 4) = (/ & &9.5535e-01_rb,1.0448e+00_rb,1.1388e+00_rb,1.2338e+00_rb,1.3273e+00_rb/) kbo(:,24, 4) = (/ & &8.3937e-01_rb,9.2038e-01_rb,1.0041e+00_rb,1.0871e+00_rb,1.1675e+00_rb/) kbo(:,25, 4) = (/ & &7.3697e-01_rb,8.0962e-01_rb,8.8296e-01_rb,9.5450e-01_rb,1.0251e+00_rb/) kbo(:,26, 4) = (/ & &6.4730e-01_rb,7.1109e-01_rb,7.7450e-01_rb,8.3674e-01_rb,9.0032e-01_rb/) kbo(:,27, 4) = (/ & &5.6756e-01_rb,6.2293e-01_rb,6.7780e-01_rb,7.3355e-01_rb,7.9083e-01_rb/) kbo(:,28, 4) = (/ & &4.9666e-01_rb,5.4463e-01_rb,5.9308e-01_rb,6.4333e-01_rb,6.9525e-01_rb/) kbo(:,29, 4) = (/ & &4.3427e-01_rb,4.7629e-01_rb,5.1987e-01_rb,5.6530e-01_rb,6.1288e-01_rb/) kbo(:,30, 4) = (/ & &3.7957e-01_rb,4.1709e-01_rb,4.5651e-01_rb,4.9797e-01_rb,5.4181e-01_rb/) kbo(:,31, 4) = (/ & &3.3226e-01_rb,3.6617e-01_rb,4.0201e-01_rb,4.4025e-01_rb,4.8083e-01_rb/) kbo(:,32, 4) = (/ & &2.9152e-01_rb,3.2232e-01_rb,3.5534e-01_rb,3.9102e-01_rb,4.2785e-01_rb/) kbo(:,33, 4) = (/ & &2.5658e-01_rb,2.8478e-01_rb,3.1566e-01_rb,3.4846e-01_rb,3.8205e-01_rb/) kbo(:,34, 4) = (/ & &2.2568e-01_rb,2.5200e-01_rb,2.8059e-01_rb,3.1045e-01_rb,3.4133e-01_rb/) kbo(:,35, 4) = (/ & &1.9721e-01_rb,2.2158e-01_rb,2.4755e-01_rb,2.7492e-01_rb,3.0313e-01_rb/) kbo(:,36, 4) = (/ & &1.7069e-01_rb,1.9278e-01_rb,2.1640e-01_rb,2.4134e-01_rb,2.6698e-01_rb/) kbo(:,37, 4) = (/ & &1.4514e-01_rb,1.6486e-01_rb,1.8617e-01_rb,2.0876e-01_rb,2.3216e-01_rb/) kbo(:,38, 4) = (/ & &1.2328e-01_rb,1.4085e-01_rb,1.6011e-01_rb,1.8057e-01_rb,2.0182e-01_rb/) kbo(:,39, 4) = (/ & &1.0472e-01_rb,1.2042e-01_rb,1.3775e-01_rb,1.5631e-01_rb,1.7570e-01_rb/) kbo(:,40, 4) = (/ & &8.7593e-02_rb,1.0140e-01_rb,1.1682e-01_rb,1.3356e-01_rb,1.5106e-01_rb/) kbo(:,41, 4) = (/ & &7.2991e-02_rb,8.5111e-02_rb,9.8743e-02_rb,1.1375e-01_rb,1.2963e-01_rb/) kbo(:,42, 4) = (/ & &6.0719e-02_rb,7.1311e-02_rb,8.3382e-02_rb,9.6810e-02_rb,1.1115e-01_rb/) kbo(:,43, 4) = (/ & &4.9944e-02_rb,5.9103e-02_rb,6.9670e-02_rb,8.1603e-02_rb,9.4469e-02_rb/) kbo(:,44, 4) = (/ & &4.0785e-02_rb,4.8637e-02_rb,5.7853e-02_rb,6.8379e-02_rb,7.9912e-02_rb/) kbo(:,45, 4) = (/ & &3.3215e-02_rb,3.9939e-02_rb,4.7926e-02_rb,5.7208e-02_rb,6.7537e-02_rb/) kbo(:,46, 4) = (/ & &2.6843e-02_rb,3.2560e-02_rb,3.9436e-02_rb,4.7558e-02_rb,5.6745e-02_rb/) kbo(:,47, 4) = (/ & &2.1428e-02_rb,2.6226e-02_rb,3.2052e-02_rb,3.9057e-02_rb,4.7184e-02_rb/) kbo(:,48, 4) = (/ & &1.7029e-02_rb,2.1031e-02_rb,2.5943e-02_rb,3.1986e-02_rb,3.9099e-02_rb/) kbo(:,49, 4) = (/ & &1.3477e-02_rb,1.6802e-02_rb,2.0926e-02_rb,2.6109e-02_rb,3.2294e-02_rb/) kbo(:,50, 4) = (/ & &1.0673e-02_rb,1.3423e-02_rb,1.6872e-02_rb,2.1279e-02_rb,2.6629e-02_rb/) kbo(:,51, 4) = (/ & &8.4370e-03_rb,1.0700e-02_rb,1.3568e-02_rb,1.7289e-02_rb,2.1889e-02_rb/) kbo(:,52, 4) = (/ & &6.6453e-03_rb,8.4949e-03_rb,1.0870e-02_rb,1.3987e-02_rb,1.7931e-02_rb/) kbo(:,53, 4) = (/ & &5.2146e-03_rb,6.7176e-03_rb,8.6804e-03_rb,1.1275e-02_rb,1.4637e-02_rb/) kbo(:,54, 4) = (/ & &4.1029e-03_rb,5.3246e-03_rb,6.9354e-03_rb,9.0873e-03_rb,1.1925e-02_rb/) kbo(:,55, 4) = (/ & &3.2267e-03_rb,4.2135e-03_rb,5.5289e-03_rb,7.2992e-03_rb,9.6811e-03_rb/) kbo(:,56, 4) = (/ & &2.5269e-03_rb,3.3219e-03_rb,4.3912e-03_rb,5.8434e-03_rb,7.8299e-03_rb/) kbo(:,57, 4) = (/ & &1.9715e-03_rb,2.6095e-03_rb,3.4757e-03_rb,4.6583e-03_rb,6.3020e-03_rb/) kbo(:,58, 4) = (/ & &1.5393e-03_rb,2.0522e-03_rb,2.7523e-03_rb,3.7145e-03_rb,5.0709e-03_rb/) kbo(:,59, 4) = (/ & &1.2601e-03_rb,1.6926e-03_rb,2.2864e-03_rb,3.1046e-03_rb,4.2734e-03_rb/) kbo(:,13, 5) = (/ & &6.9559e+00_rb,7.1944e+00_rb,7.3778e+00_rb,7.6168e+00_rb,7.8840e+00_rb/) kbo(:,14, 5) = (/ & &6.1197e+00_rb,6.3419e+00_rb,6.5357e+00_rb,6.7535e+00_rb,7.0053e+00_rb/) kbo(:,15, 5) = (/ & &5.3579e+00_rb,5.5744e+00_rb,5.7766e+00_rb,5.9767e+00_rb,6.2167e+00_rb/) kbo(:,16, 5) = (/ & &4.6816e+00_rb,4.8936e+00_rb,5.0862e+00_rb,5.2967e+00_rb,5.5327e+00_rb/) kbo(:,17, 5) = (/ & &4.0899e+00_rb,4.2917e+00_rb,4.4812e+00_rb,4.7025e+00_rb,4.9201e+00_rb/) kbo(:,18, 5) = (/ & &3.5771e+00_rb,3.7678e+00_rb,3.9593e+00_rb,4.1715e+00_rb,4.3722e+00_rb/) kbo(:,19, 5) = (/ & &3.1364e+00_rb,3.3176e+00_rb,3.5013e+00_rb,3.6935e+00_rb,3.8830e+00_rb/) kbo(:,20, 5) = (/ & &2.7593e+00_rb,2.9230e+00_rb,3.0933e+00_rb,3.2687e+00_rb,3.4499e+00_rb/) kbo(:,21, 5) = (/ & &2.4256e+00_rb,2.5724e+00_rb,2.7298e+00_rb,2.8928e+00_rb,3.0638e+00_rb/) kbo(:,22, 5) = (/ & &2.1368e+00_rb,2.2729e+00_rb,2.4183e+00_rb,2.5689e+00_rb,2.7252e+00_rb/) kbo(:,23, 5) = (/ & &1.8817e+00_rb,2.0092e+00_rb,2.1410e+00_rb,2.2786e+00_rb,2.4217e+00_rb/) kbo(:,24, 5) = (/ & &1.6588e+00_rb,1.7749e+00_rb,1.8947e+00_rb,2.0208e+00_rb,2.1527e+00_rb/) kbo(:,25, 5) = (/ & &1.4616e+00_rb,1.5668e+00_rb,1.6777e+00_rb,1.7944e+00_rb,1.9128e+00_rb/) kbo(:,26, 5) = (/ & &1.2875e+00_rb,1.3850e+00_rb,1.4881e+00_rb,1.5943e+00_rb,1.7005e+00_rb/) kbo(:,27, 5) = (/ & &1.1342e+00_rb,1.2250e+00_rb,1.3195e+00_rb,1.4155e+00_rb,1.5121e+00_rb/) kbo(:,28, 5) = (/ & &1.0000e+00_rb,1.0834e+00_rb,1.1694e+00_rb,1.2569e+00_rb,1.3467e+00_rb/) kbo(:,29, 5) = (/ & &8.8272e-01_rb,9.5878e-01_rb,1.0375e+00_rb,1.1189e+00_rb,1.2039e+00_rb/) kbo(:,30, 5) = (/ & &7.8028e-01_rb,8.4986e-01_rb,9.2253e-01_rb,9.9927e-01_rb,1.0809e+00_rb/) kbo(:,31, 5) = (/ & &6.9115e-01_rb,7.5536e-01_rb,8.2388e-01_rb,8.9787e-01_rb,9.7590e-01_rb/) kbo(:,32, 5) = (/ & &6.1412e-01_rb,6.7446e-01_rb,7.4048e-01_rb,8.1095e-01_rb,8.8670e-01_rb/) kbo(:,33, 5) = (/ & &5.4810e-01_rb,6.0636e-01_rb,6.6911e-01_rb,7.3734e-01_rb,8.1091e-01_rb/) kbo(:,34, 5) = (/ & &4.9071e-01_rb,5.4601e-01_rb,6.0648e-01_rb,6.7271e-01_rb,7.4441e-01_rb/) kbo(:,35, 5) = (/ & &4.3693e-01_rb,4.8943e-01_rb,5.4769e-01_rb,6.1149e-01_rb,6.8198e-01_rb/) kbo(:,36, 5) = (/ & &3.8551e-01_rb,4.3547e-01_rb,4.9121e-01_rb,5.5301e-01_rb,6.2109e-01_rb/) kbo(:,37, 5) = (/ & &3.3480e-01_rb,3.8150e-01_rb,4.3408e-01_rb,4.9278e-01_rb,5.5808e-01_rb/) kbo(:,38, 5) = (/ & &2.9081e-01_rb,3.3450e-01_rb,3.8398e-01_rb,4.3987e-01_rb,5.0248e-01_rb/) kbo(:,39, 5) = (/ & &2.5305e-01_rb,2.9380e-01_rb,3.4050e-01_rb,3.9390e-01_rb,4.5364e-01_rb/) kbo(:,40, 5) = (/ & &2.1671e-01_rb,2.5418e-01_rb,2.9763e-01_rb,3.4779e-01_rb,4.0458e-01_rb/) kbo(:,41, 5) = (/ & &1.8493e-01_rb,2.1926e-01_rb,2.5954e-01_rb,3.0662e-01_rb,3.6037e-01_rb/) kbo(:,42, 5) = (/ & &1.5752e-01_rb,1.8888e-01_rb,2.2625e-01_rb,2.7031e-01_rb,3.2124e-01_rb/) kbo(:,43, 5) = (/ & &1.3255e-01_rb,1.6078e-01_rb,1.9491e-01_rb,2.3576e-01_rb,2.8350e-01_rb/) kbo(:,44, 5) = (/ & &1.1061e-01_rb,1.3578e-01_rb,1.6666e-01_rb,2.0425e-01_rb,2.4865e-01_rb/) kbo(:,45, 5) = (/ & &9.1951e-02_rb,1.1424e-01_rb,1.4202e-01_rb,1.7639e-01_rb,2.1757e-01_rb/) kbo(:,46, 5) = (/ & &7.5781e-02_rb,9.5221e-02_rb,1.1993e-01_rb,1.5099e-01_rb,1.8901e-01_rb/) kbo(:,47, 5) = (/ & &6.1487e-02_rb,7.8164e-02_rb,9.9731e-02_rb,1.2737e-01_rb,1.6179e-01_rb/) kbo(:,48, 5) = (/ & &4.9580e-02_rb,6.3770e-02_rb,8.2434e-02_rb,1.0684e-01_rb,1.3786e-01_rb/) kbo(:,49, 5) = (/ & &3.9738e-02_rb,5.1709e-02_rb,6.7733e-02_rb,8.9073e-02_rb,1.1686e-01_rb/) kbo(:,50, 5) = (/ & &3.1862e-02_rb,4.1943e-02_rb,5.5637e-02_rb,7.4270e-02_rb,9.9031e-02_rb/) kbo(:,51, 5) = (/ & &2.5469e-02_rb,3.3911e-02_rb,4.5561e-02_rb,6.1725e-02_rb,8.3692e-02_rb/) kbo(:,52, 5) = (/ & &2.0254e-02_rb,2.7266e-02_rb,3.7097e-02_rb,5.1018e-02_rb,7.0332e-02_rb/) kbo(:,53, 5) = (/ & &1.6008e-02_rb,2.1779e-02_rb,3.0012e-02_rb,4.1907e-02_rb,5.8779e-02_rb/) kbo(:,54, 5) = (/ & &1.2684e-02_rb,1.7422e-02_rb,2.4313e-02_rb,3.4417e-02_rb,4.9062e-02_rb/) kbo(:,55, 5) = (/ & &1.0038e-02_rb,1.3916e-02_rb,1.9644e-02_rb,2.8164e-02_rb,4.0795e-02_rb/) kbo(:,56, 5) = (/ & &7.9079e-03_rb,1.1053e-02_rb,1.5781e-02_rb,2.2925e-02_rb,3.3750e-02_rb/) kbo(:,57, 5) = (/ & &6.2010e-03_rb,8.7295e-03_rb,1.2598e-02_rb,1.8552e-02_rb,2.7742e-02_rb/) kbo(:,58, 5) = (/ & &4.8646e-03_rb,6.8966e-03_rb,1.0058e-02_rb,1.5005e-02_rb,2.2774e-02_rb/) kbo(:,59, 5) = (/ & &4.0331e-03_rb,5.7872e-03_rb,8.5542e-03_rb,1.2975e-02_rb,2.0014e-02_rb/) kbo(:,13, 6) = (/ & &1.3874e+01_rb,1.4054e+01_rb,1.4175e+01_rb,1.4196e+01_rb,1.4254e+01_rb/) kbo(:,14, 6) = (/ & &1.2387e+01_rb,1.2564e+01_rb,1.2698e+01_rb,1.2762e+01_rb,1.2781e+01_rb/) kbo(:,15, 6) = (/ & &1.0973e+01_rb,1.1145e+01_rb,1.1274e+01_rb,1.1365e+01_rb,1.1424e+01_rb/) kbo(:,16, 6) = (/ & &9.6521e+00_rb,9.8053e+00_rb,9.9370e+00_rb,1.0047e+01_rb,1.0150e+01_rb/) kbo(:,17, 6) = (/ & &8.4222e+00_rb,8.5719e+00_rb,8.7195e+00_rb,8.8488e+00_rb,9.0159e+00_rb/) kbo(:,18, 6) = (/ & &7.3090e+00_rb,7.4668e+00_rb,7.6322e+00_rb,7.7932e+00_rb,8.0086e+00_rb/) kbo(:,19, 6) = (/ & &6.3279e+00_rb,6.4985e+00_rb,6.6813e+00_rb,6.8756e+00_rb,7.1176e+00_rb/) kbo(:,20, 6) = (/ & &5.4862e+00_rb,5.6719e+00_rb,5.8682e+00_rb,6.0850e+00_rb,6.3337e+00_rb/) kbo(:,21, 6) = (/ & &4.7753e+00_rb,4.9682e+00_rb,5.1665e+00_rb,5.3943e+00_rb,5.6406e+00_rb/) kbo(:,22, 6) = (/ & &4.1854e+00_rb,4.3703e+00_rb,4.5713e+00_rb,4.7990e+00_rb,5.0439e+00_rb/) kbo(:,23, 6) = (/ & &3.6767e+00_rb,3.8508e+00_rb,4.0542e+00_rb,4.2776e+00_rb,4.5191e+00_rb/) kbo(:,24, 6) = (/ & &3.2355e+00_rb,3.4077e+00_rb,3.6072e+00_rb,3.8245e+00_rb,4.0534e+00_rb/) kbo(:,25, 6) = (/ & &2.8580e+00_rb,3.0303e+00_rb,3.2220e+00_rb,3.4257e+00_rb,3.6444e+00_rb/) kbo(:,26, 6) = (/ & &2.5405e+00_rb,2.7078e+00_rb,2.8872e+00_rb,3.0816e+00_rb,3.2880e+00_rb/) kbo(:,27, 6) = (/ & &2.2677e+00_rb,2.4258e+00_rb,2.5973e+00_rb,2.7818e+00_rb,2.9766e+00_rb/) kbo(:,28, 6) = (/ & &2.0273e+00_rb,2.1803e+00_rb,2.3462e+00_rb,2.5211e+00_rb,2.7040e+00_rb/) kbo(:,29, 6) = (/ & &1.8190e+00_rb,1.9689e+00_rb,2.1279e+00_rb,2.2941e+00_rb,2.4662e+00_rb/) kbo(:,30, 6) = (/ & &1.6397e+00_rb,1.7844e+00_rb,1.9371e+00_rb,2.0958e+00_rb,2.2590e+00_rb/) kbo(:,31, 6) = (/ & &1.4852e+00_rb,1.6249e+00_rb,1.7714e+00_rb,1.9226e+00_rb,2.0813e+00_rb/) kbo(:,32, 6) = (/ & &1.3517e+00_rb,1.4862e+00_rb,1.6264e+00_rb,1.7745e+00_rb,1.9335e+00_rb/) kbo(:,33, 6) = (/ & &1.2364e+00_rb,1.3651e+00_rb,1.5027e+00_rb,1.6513e+00_rb,1.8098e+00_rb/) kbo(:,34, 6) = (/ & &1.1317e+00_rb,1.2571e+00_rb,1.3947e+00_rb,1.5426e+00_rb,1.7001e+00_rb/) kbo(:,35, 6) = (/ & &1.0305e+00_rb,1.1540e+00_rb,1.2902e+00_rb,1.4368e+00_rb,1.5937e+00_rb/) kbo(:,36, 6) = (/ & &9.3137e-01_rb,1.0526e+00_rb,1.1856e+00_rb,1.3299e+00_rb,1.4860e+00_rb/) kbo(:,37, 6) = (/ & &8.2931e-01_rb,9.4564e-01_rb,1.0739e+00_rb,1.2152e+00_rb,1.3682e+00_rb/) kbo(:,38, 6) = (/ & &7.3906e-01_rb,8.5034e-01_rb,9.7478e-01_rb,1.1125e+00_rb,1.2627e+00_rb/) kbo(:,39, 6) = (/ & &6.6006e-01_rb,7.6663e-01_rb,8.8732e-01_rb,1.0214e+00_rb,1.1704e+00_rb/) kbo(:,40, 6) = (/ & &5.8074e-01_rb,6.8151e-01_rb,7.9698e-01_rb,9.2673e-01_rb,1.0719e+00_rb/) kbo(:,41, 6) = (/ & &5.0970e-01_rb,6.0467e-01_rb,7.1469e-01_rb,8.3962e-01_rb,9.8097e-01_rb/) kbo(:,42, 6) = (/ & &4.4691e-01_rb,5.3653e-01_rb,6.4112e-01_rb,7.6136e-01_rb,8.9846e-01_rb/) kbo(:,43, 6) = (/ & &3.8720e-01_rb,4.7067e-01_rb,5.6921e-01_rb,6.8346e-01_rb,8.1541e-01_rb/) kbo(:,44, 6) = (/ & &3.3270e-01_rb,4.0984e-01_rb,5.0209e-01_rb,6.1017e-01_rb,7.3637e-01_rb/) kbo(:,45, 6) = (/ & &2.8475e-01_rb,3.5595e-01_rb,4.4190e-01_rb,5.4378e-01_rb,6.6410e-01_rb/) kbo(:,46, 6) = (/ & &2.4137e-01_rb,3.0640e-01_rb,3.8581e-01_rb,4.8130e-01_rb,5.9507e-01_rb/) kbo(:,47, 6) = (/ & &2.0121e-01_rb,2.5952e-01_rb,3.3199e-01_rb,4.2038e-01_rb,5.2702e-01_rb/) kbo(:,48, 6) = (/ & &1.6644e-01_rb,2.1836e-01_rb,2.8412e-01_rb,3.6558e-01_rb,4.6520e-01_rb/) kbo(:,49, 6) = (/ & &1.3664e-01_rb,1.8247e-01_rb,2.4166e-01_rb,3.1637e-01_rb,4.0912e-01_rb/) kbo(:,50, 6) = (/ & &1.1203e-01_rb,1.5228e-01_rb,2.0551e-01_rb,2.7399e-01_rb,3.6023e-01_rb/) kbo(:,51, 6) = (/ & &9.1424e-02_rb,1.2652e-01_rb,1.7413e-01_rb,2.3648e-01_rb,3.1642e-01_rb/) kbo(:,52, 6) = (/ & &7.4033e-02_rb,1.0433e-01_rb,1.4653e-01_rb,2.0289e-01_rb,2.7670e-01_rb/) kbo(:,53, 6) = (/ & &5.9468e-02_rb,8.5397e-02_rb,1.2237e-01_rb,1.7301e-01_rb,2.4059e-01_rb/) kbo(:,54, 6) = (/ & &4.7831e-02_rb,6.9932e-02_rb,1.0222e-01_rb,1.4759e-01_rb,2.0954e-01_rb/) kbo(:,55, 6) = (/ & &3.8375e-02_rb,5.7032e-02_rb,8.5062e-02_rb,1.2546e-01_rb,1.8204e-01_rb/) kbo(:,56, 6) = (/ & &3.0600e-02_rb,4.6150e-02_rb,7.0262e-02_rb,1.0594e-01_rb,1.5707e-01_rb/) kbo(:,57, 6) = (/ & &2.4221e-02_rb,3.7043e-02_rb,5.7569e-02_rb,8.8786e-02_rb,1.3465e-01_rb/) kbo(:,58, 6) = (/ & &1.9170e-02_rb,2.9713e-02_rb,4.7101e-02_rb,7.4302e-02_rb,1.1534e-01_rb/) kbo(:,59, 6) = (/ & &1.6314e-02_rb,2.5760e-02_rb,4.1528e-02_rb,6.6912e-02_rb,1.0596e-01_rb/) kbo(:,13, 7) = (/ & &2.6383e+01_rb,2.6399e+01_rb,2.6364e+01_rb,2.6286e+01_rb,2.6068e+01_rb/) kbo(:,14, 7) = (/ & &2.4391e+01_rb,2.4435e+01_rb,2.4445e+01_rb,2.4411e+01_rb,2.4344e+01_rb/) kbo(:,15, 7) = (/ & &2.2267e+01_rb,2.2343e+01_rb,2.2391e+01_rb,2.2420e+01_rb,2.2406e+01_rb/) kbo(:,16, 7) = (/ & &2.0101e+01_rb,2.0222e+01_rb,2.0311e+01_rb,2.0370e+01_rb,2.0373e+01_rb/) kbo(:,17, 7) = (/ & &1.7987e+01_rb,1.8130e+01_rb,1.8242e+01_rb,1.8316e+01_rb,1.8338e+01_rb/) kbo(:,18, 7) = (/ & &1.5956e+01_rb,1.6114e+01_rb,1.6238e+01_rb,1.6337e+01_rb,1.6400e+01_rb/) kbo(:,19, 7) = (/ & &1.4050e+01_rb,1.4210e+01_rb,1.4354e+01_rb,1.4495e+01_rb,1.4623e+01_rb/) kbo(:,20, 7) = (/ & &1.2287e+01_rb,1.2462e+01_rb,1.2644e+01_rb,1.2837e+01_rb,1.3036e+01_rb/) kbo(:,21, 7) = (/ & &1.0697e+01_rb,1.0904e+01_rb,1.1136e+01_rb,1.1376e+01_rb,1.1647e+01_rb/) kbo(:,22, 7) = (/ & &9.3216e+00_rb,9.5704e+00_rb,9.8418e+00_rb,1.0134e+01_rb,1.0464e+01_rb/) kbo(:,23, 7) = (/ & &8.1552e+00_rb,8.4381e+00_rb,8.7358e+00_rb,9.0546e+00_rb,9.4274e+00_rb/) kbo(:,24, 7) = (/ & &7.1742e+00_rb,7.4714e+00_rb,7.7800e+00_rb,8.1293e+00_rb,8.5227e+00_rb/) kbo(:,25, 7) = (/ & &6.3453e+00_rb,6.6371e+00_rb,6.9572e+00_rb,7.3300e+00_rb,7.7371e+00_rb/) kbo(:,26, 7) = (/ & &5.6325e+00_rb,5.9213e+00_rb,6.2619e+00_rb,6.6436e+00_rb,7.0622e+00_rb/) kbo(:,27, 7) = (/ & &5.0177e+00_rb,5.3180e+00_rb,5.6685e+00_rb,6.0556e+00_rb,6.4791e+00_rb/) kbo(:,28, 7) = (/ & &4.5006e+00_rb,4.8114e+00_rb,5.1630e+00_rb,5.5512e+00_rb,5.9725e+00_rb/) kbo(:,29, 7) = (/ & &4.0763e+00_rb,4.3869e+00_rb,4.7357e+00_rb,5.1215e+00_rb,5.5415e+00_rb/) kbo(:,30, 7) = (/ & &3.7197e+00_rb,4.0279e+00_rb,4.3734e+00_rb,4.7560e+00_rb,5.1758e+00_rb/) kbo(:,31, 7) = (/ & &3.4217e+00_rb,3.7276e+00_rb,4.0700e+00_rb,4.4513e+00_rb,4.8709e+00_rb/) kbo(:,32, 7) = (/ & &3.1725e+00_rb,3.4760e+00_rb,3.8179e+00_rb,4.1999e+00_rb,4.6169e+00_rb/) kbo(:,33, 7) = (/ & &2.9640e+00_rb,3.2682e+00_rb,3.6118e+00_rb,3.9912e+00_rb,4.4110e+00_rb/) kbo(:,34, 7) = (/ & &2.7815e+00_rb,3.0881e+00_rb,3.4286e+00_rb,3.8090e+00_rb,4.2366e+00_rb/) kbo(:,35, 7) = (/ & &2.6027e+00_rb,2.9073e+00_rb,3.2445e+00_rb,3.6269e+00_rb,4.0627e+00_rb/) kbo(:,36, 7) = (/ & &2.4195e+00_rb,2.7195e+00_rb,3.0535e+00_rb,3.4362e+00_rb,3.8766e+00_rb/) kbo(:,37, 7) = (/ & &2.2155e+00_rb,2.5099e+00_rb,2.8373e+00_rb,3.2150e+00_rb,3.6504e+00_rb/) kbo(:,38, 7) = (/ & &2.0317e+00_rb,2.3214e+00_rb,2.6457e+00_rb,3.0187e+00_rb,3.4497e+00_rb/) kbo(:,39, 7) = (/ & &1.8675e+00_rb,2.1535e+00_rb,2.4775e+00_rb,2.8467e+00_rb,3.2732e+00_rb/) kbo(:,40, 7) = (/ & &1.6933e+00_rb,1.9726e+00_rb,2.2917e+00_rb,2.6527e+00_rb,3.0690e+00_rb/) kbo(:,41, 7) = (/ & &1.5321e+00_rb,1.8045e+00_rb,2.1184e+00_rb,2.4731e+00_rb,2.8788e+00_rb/) kbo(:,42, 7) = (/ & &1.3858e+00_rb,1.6512e+00_rb,1.9598e+00_rb,2.3096e+00_rb,2.7061e+00_rb/) kbo(:,43, 7) = (/ & &1.2395e+00_rb,1.4953e+00_rb,1.7959e+00_rb,2.1389e+00_rb,2.5250e+00_rb/) kbo(:,44, 7) = (/ & &1.1006e+00_rb,1.3456e+00_rb,1.6365e+00_rb,1.9712e+00_rb,2.3479e+00_rb/) kbo(:,45, 7) = (/ & &9.7411e-01_rb,1.2078e+00_rb,1.4892e+00_rb,1.8150e+00_rb,2.1832e+00_rb/) kbo(:,46, 7) = (/ & &8.5489e-01_rb,1.0759e+00_rb,1.3456e+00_rb,1.6612e+00_rb,2.0197e+00_rb/) kbo(:,47, 7) = (/ & &7.3930e-01_rb,9.4494e-01_rb,1.2000e+00_rb,1.5026e+00_rb,1.8496e+00_rb/) kbo(:,48, 7) = (/ & &6.3547e-01_rb,8.2535e-01_rb,1.0653e+00_rb,1.3544e+00_rb,1.6889e+00_rb/) kbo(:,49, 7) = (/ & &5.4241e-01_rb,7.1674e-01_rb,9.4139e-01_rb,1.2160e+00_rb,1.5375e+00_rb/) kbo(:,50, 7) = (/ & &4.6304e-01_rb,6.2300e-01_rb,8.3217e-01_rb,1.0925e+00_rb,1.4012e+00_rb/) kbo(:,51, 7) = (/ & &3.9371e-01_rb,5.3995e-01_rb,7.3373e-01_rb,9.7980e-01_rb,1.2748e+00_rb/) kbo(:,52, 7) = (/ & &3.3220e-01_rb,4.6493e-01_rb,6.4396e-01_rb,8.7508e-01_rb,1.1558e+00_rb/) kbo(:,53, 7) = (/ & &2.7778e-01_rb,3.9741e-01_rb,5.6181e-01_rb,7.7785e-01_rb,1.0434e+00_rb/) kbo(:,54, 7) = (/ & &2.3274e-01_rb,3.4050e-01_rb,4.9090e-01_rb,6.9261e-01_rb,9.4387e-01_rb/) kbo(:,55, 7) = (/ & &1.9435e-01_rb,2.9105e-01_rb,4.2805e-01_rb,6.1562e-01_rb,8.5235e-01_rb/) kbo(:,56, 7) = (/ & &1.6083e-01_rb,2.4693e-01_rb,3.7158e-01_rb,5.4415e-01_rb,7.6669e-01_rb/) kbo(:,57, 7) = (/ & &1.3183e-01_rb,2.0770e-01_rb,3.2034e-01_rb,4.7818e-01_rb,6.8649e-01_rb/) kbo(:,58, 7) = (/ & &1.0786e-01_rb,1.7445e-01_rb,2.7618e-01_rb,4.2058e-01_rb,6.1481e-01_rb/) kbo(:,59, 7) = (/ & &9.5778e-02_rb,1.5879e-01_rb,2.5699e-01_rb,3.9684e-01_rb,5.8283e-01_rb/) kbo(:,13, 8) = (/ & &5.1036e+01_rb,5.0460e+01_rb,4.9876e+01_rb,4.9272e+01_rb,4.8645e+01_rb/) kbo(:,14, 8) = (/ & &4.9659e+01_rb,4.9240e+01_rb,4.8789e+01_rb,4.8317e+01_rb,4.7813e+01_rb/) kbo(:,15, 8) = (/ & &4.7836e+01_rb,4.7533e+01_rb,4.7179e+01_rb,4.6807e+01_rb,4.6408e+01_rb/) kbo(:,16, 8) = (/ & &4.5523e+01_rb,4.5307e+01_rb,4.5074e+01_rb,4.4798e+01_rb,4.4497e+01_rb/) kbo(:,17, 8) = (/ & &4.2751e+01_rb,4.2659e+01_rb,4.2523e+01_rb,4.2351e+01_rb,4.2128e+01_rb/) kbo(:,18, 8) = (/ & &3.9675e+01_rb,3.9678e+01_rb,3.9613e+01_rb,3.9512e+01_rb,3.9377e+01_rb/) kbo(:,19, 8) = (/ & &3.6385e+01_rb,3.6442e+01_rb,3.6467e+01_rb,3.6453e+01_rb,3.6385e+01_rb/) kbo(:,20, 8) = (/ & &3.2988e+01_rb,3.3119e+01_rb,3.3207e+01_rb,3.3253e+01_rb,3.3266e+01_rb/) kbo(:,21, 8) = (/ & &2.9629e+01_rb,2.9807e+01_rb,2.9950e+01_rb,3.0074e+01_rb,3.0195e+01_rb/) kbo(:,22, 8) = (/ & &2.6389e+01_rb,2.6615e+01_rb,2.6833e+01_rb,2.7054e+01_rb,2.7281e+01_rb/) kbo(:,23, 8) = (/ & &2.3355e+01_rb,2.3644e+01_rb,2.3948e+01_rb,2.4296e+01_rb,2.4660e+01_rb/) kbo(:,24, 8) = (/ & &2.0595e+01_rb,2.0963e+01_rb,2.1391e+01_rb,2.1861e+01_rb,2.2380e+01_rb/) kbo(:,25, 8) = (/ & &1.8159e+01_rb,1.8637e+01_rb,1.9183e+01_rb,1.9778e+01_rb,2.0439e+01_rb/) kbo(:,26, 8) = (/ & &1.6089e+01_rb,1.6677e+01_rb,1.7319e+01_rb,1.8032e+01_rb,1.8814e+01_rb/) kbo(:,27, 8) = (/ & &1.4363e+01_rb,1.5028e+01_rb,1.5757e+01_rb,1.6564e+01_rb,1.7443e+01_rb/) kbo(:,28, 8) = (/ & &1.2926e+01_rb,1.3648e+01_rb,1.4446e+01_rb,1.5323e+01_rb,1.6326e+01_rb/) kbo(:,29, 8) = (/ & &1.1723e+01_rb,1.2493e+01_rb,1.3349e+01_rb,1.4336e+01_rb,1.5419e+01_rb/) kbo(:,30, 8) = (/ & &1.0720e+01_rb,1.1535e+01_rb,1.2485e+01_rb,1.3543e+01_rb,1.4696e+01_rb/) kbo(:,31, 8) = (/ & &9.8953e+00_rb,1.0794e+01_rb,1.1807e+01_rb,1.2928e+01_rb,1.4151e+01_rb/) kbo(:,32, 8) = (/ & &9.2630e+00_rb,1.0213e+01_rb,1.1281e+01_rb,1.2468e+01_rb,1.3783e+01_rb/) kbo(:,33, 8) = (/ & &8.7693e+00_rb,9.7682e+00_rb,1.0900e+01_rb,1.2171e+01_rb,1.3564e+01_rb/) kbo(:,34, 8) = (/ & &8.3550e+00_rb,9.4057e+00_rb,1.0612e+01_rb,1.1954e+01_rb,1.3416e+01_rb/) kbo(:,35, 8) = (/ & &7.9503e+00_rb,9.0506e+00_rb,1.0311e+01_rb,1.1711e+01_rb,1.3230e+01_rb/) kbo(:,36, 8) = (/ & &7.5260e+00_rb,8.6513e+00_rb,9.9500e+00_rb,1.1393e+01_rb,1.2954e+01_rb/) kbo(:,37, 8) = (/ & &7.0166e+00_rb,8.1408e+00_rb,9.4476e+00_rb,1.0907e+01_rb,1.2489e+01_rb/) kbo(:,38, 8) = (/ & &6.5631e+00_rb,7.6815e+00_rb,8.9895e+00_rb,1.0461e+01_rb,1.2064e+01_rb/) kbo(:,39, 8) = (/ & &6.1678e+00_rb,7.2805e+00_rb,8.5861e+00_rb,1.0065e+01_rb,1.1676e+01_rb/) kbo(:,40, 8) = (/ & &5.7155e+00_rb,6.7987e+00_rb,8.0775e+00_rb,9.5392e+00_rb,1.1142e+01_rb/) kbo(:,41, 8) = (/ & &5.2949e+00_rb,6.3470e+00_rb,7.5914e+00_rb,9.0258e+00_rb,1.0614e+01_rb/) kbo(:,42, 8) = (/ & &4.9139e+00_rb,5.9322e+00_rb,7.1403e+00_rb,8.5407e+00_rb,1.0110e+01_rb/) kbo(:,43, 8) = (/ & &4.5194e+00_rb,5.4902e+00_rb,6.6498e+00_rb,8.0033e+00_rb,9.5351e+00_rb/) kbo(:,44, 8) = (/ & &4.1399e+00_rb,5.0576e+00_rb,6.1633e+00_rb,7.4614e+00_rb,8.9447e+00_rb/) kbo(:,45, 8) = (/ & &3.7947e+00_rb,4.6596e+00_rb,5.7095e+00_rb,6.9501e+00_rb,8.3804e+00_rb/) kbo(:,46, 8) = (/ & &3.4645e+00_rb,4.2731e+00_rb,5.2631e+00_rb,6.4408e+00_rb,7.8107e+00_rb/) kbo(:,47, 8) = (/ & &3.1333e+00_rb,3.8817e+00_rb,4.8032e+00_rb,5.9109e+00_rb,7.2077e+00_rb/) kbo(:,48, 8) = (/ & &2.8272e+00_rb,3.5252e+00_rb,4.3790e+00_rb,5.4161e+00_rb,6.6403e+00_rb/) kbo(:,49, 8) = (/ & &2.5419e+00_rb,3.2000e+00_rb,3.9894e+00_rb,4.9550e+00_rb,6.1077e+00_rb/) kbo(:,50, 8) = (/ & &2.2876e+00_rb,2.9151e+00_rb,3.6507e+00_rb,4.5513e+00_rb,5.6358e+00_rb/) kbo(:,51, 8) = (/ & &2.0539e+00_rb,2.6537e+00_rb,3.3480e+00_rb,4.1860e+00_rb,5.2042e+00_rb/) kbo(:,52, 8) = (/ & &1.8359e+00_rb,2.4075e+00_rb,3.0676e+00_rb,3.8482e+00_rb,4.8005e+00_rb/) kbo(:,53, 8) = (/ & &1.6315e+00_rb,2.1744e+00_rb,2.8043e+00_rb,3.5342e+00_rb,4.4242e+00_rb/) kbo(:,54, 8) = (/ & &1.4536e+00_rb,1.9689e+00_rb,2.5734e+00_rb,3.2651e+00_rb,4.0977e+00_rb/) kbo(:,55, 8) = (/ & &1.2924e+00_rb,1.7818e+00_rb,2.3616e+00_rb,3.0234e+00_rb,3.8040e+00_rb/) kbo(:,56, 8) = (/ & &1.1428e+00_rb,1.6042e+00_rb,2.1584e+00_rb,2.7950e+00_rb,3.5303e+00_rb/) kbo(:,57, 8) = (/ & &1.0034e+00_rb,1.4376e+00_rb,1.9645e+00_rb,2.5766e+00_rb,3.2746e+00_rb/) kbo(:,58, 8) = (/ & &8.7989e-01_rb,1.2882e+00_rb,1.7895e+00_rb,2.3775e+00_rb,3.0470e+00_rb/) kbo(:,59, 8) = (/ & &8.2607e-01_rb,1.2253e+00_rb,1.7145e+00_rb,2.2929e+00_rb,2.9546e+00_rb/) kbo(:,13, 9) = (/ & &9.9406e+01_rb,9.8017e+01_rb,9.6610e+01_rb,9.5133e+01_rb,9.3589e+01_rb/) kbo(:,14, 9) = (/ & &1.0426e+02_rb,1.0289e+02_rb,1.0145e+02_rb,9.9955e+01_rb,9.8418e+01_rb/) kbo(:,15, 9) = (/ & &1.0831e+02_rb,1.0700e+02_rb,1.0565e+02_rb,1.0422e+02_rb,1.0271e+02_rb/) kbo(:,16, 9) = (/ & &1.1144e+02_rb,1.1027e+02_rb,1.0899e+02_rb,1.0766e+02_rb,1.0626e+02_rb/) kbo(:,17, 9) = (/ & &1.1357e+02_rb,1.1252e+02_rb,1.1140e+02_rb,1.1022e+02_rb,1.0897e+02_rb/) kbo(:,18, 9) = (/ & &1.1451e+02_rb,1.1366e+02_rb,1.1275e+02_rb,1.1172e+02_rb,1.1059e+02_rb/) kbo(:,19, 9) = (/ & &1.1419e+02_rb,1.1358e+02_rb,1.1283e+02_rb,1.1199e+02_rb,1.1108e+02_rb/) kbo(:,20, 9) = (/ & &1.1253e+02_rb,1.1217e+02_rb,1.1170e+02_rb,1.1113e+02_rb,1.1043e+02_rb/) kbo(:,21, 9) = (/ & &1.0964e+02_rb,1.0959e+02_rb,1.0941e+02_rb,1.0911e+02_rb,1.0868e+02_rb/) kbo(:,22, 9) = (/ & &1.0576e+02_rb,1.0601e+02_rb,1.0614e+02_rb,1.0616e+02_rb,1.0606e+02_rb/) kbo(:,23, 9) = (/ & &1.0113e+02_rb,1.0172e+02_rb,1.0220e+02_rb,1.0257e+02_rb,1.0280e+02_rb/) kbo(:,24, 9) = (/ & &9.6005e+01_rb,9.6976e+01_rb,9.7826e+01_rb,9.8561e+01_rb,9.9182e+01_rb/) kbo(:,25, 9) = (/ & &9.0658e+01_rb,9.2026e+01_rb,9.3302e+01_rb,9.4462e+01_rb,9.5504e+01_rb/) kbo(:,26, 9) = (/ & &8.5398e+01_rb,8.7188e+01_rb,8.8895e+01_rb,9.0506e+01_rb,9.1994e+01_rb/) kbo(:,27, 9) = (/ & &8.0425e+01_rb,8.2648e+01_rb,8.4817e+01_rb,8.6900e+01_rb,8.8861e+01_rb/) kbo(:,28, 9) = (/ & &7.5902e+01_rb,7.8597e+01_rb,8.1250e+01_rb,8.3817e+01_rb,8.6189e+01_rb/) kbo(:,29, 9) = (/ & &7.2021e+01_rb,7.5193e+01_rb,7.8323e+01_rb,8.1284e+01_rb,8.4079e+01_rb/) kbo(:,30, 9) = (/ & &6.8846e+01_rb,7.2476e+01_rb,7.5986e+01_rb,7.9352e+01_rb,8.2517e+01_rb/) kbo(:,31, 9) = (/ & &6.6391e+01_rb,7.0389e+01_rb,7.4280e+01_rb,7.7994e+01_rb,8.1462e+01_rb/) kbo(:,32, 9) = (/ & &6.4577e+01_rb,6.8942e+01_rb,7.3166e+01_rb,7.7157e+01_rb,8.0829e+01_rb/) kbo(:,33, 9) = (/ & &6.3392e+01_rb,6.8071e+01_rb,7.2548e+01_rb,7.6730e+01_rb,8.0569e+01_rb/) kbo(:,34, 9) = (/ & &6.2591e+01_rb,6.7517e+01_rb,7.2182e+01_rb,7.6523e+01_rb,8.0479e+01_rb/) kbo(:,35, 9) = (/ & &6.1727e+01_rb,6.6854e+01_rb,7.1692e+01_rb,7.6175e+01_rb,8.0232e+01_rb/) kbo(:,36, 9) = (/ & &6.0594e+01_rb,6.5914e+01_rb,7.0919e+01_rb,7.5536e+01_rb,7.9714e+01_rb/) kbo(:,37, 9) = (/ & &5.8846e+01_rb,6.4364e+01_rb,6.9558e+01_rb,7.4349e+01_rb,7.8713e+01_rb/) kbo(:,38, 9) = (/ & &5.7194e+01_rb,6.2887e+01_rb,6.8247e+01_rb,7.3195e+01_rb,7.8049e+01_rb/) kbo(:,39, 9) = (/ & &5.5665e+01_rb,6.1507e+01_rb,6.7008e+01_rb,7.2147e+01_rb,7.7547e+01_rb/) kbo(:,40, 9) = (/ & &5.3621e+01_rb,5.9617e+01_rb,6.5286e+01_rb,7.0695e+01_rb,7.6340e+01_rb/) kbo(:,41, 9) = (/ & &5.1554e+01_rb,5.7685e+01_rb,6.3510e+01_rb,6.9201e+01_rb,7.4982e+01_rb/) kbo(:,42, 9) = (/ & &4.9528e+01_rb,5.5776e+01_rb,6.1743e+01_rb,6.7740e+01_rb,7.3659e+01_rb/) kbo(:,43, 9) = (/ & &4.7178e+01_rb,5.3540e+01_rb,5.9647e+01_rb,6.5886e+01_rb,7.2015e+01_rb/) kbo(:,44, 9) = (/ & &4.4688e+01_rb,5.1145e+01_rb,5.7387e+01_rb,6.3891e+01_rb,7.0203e+01_rb/) kbo(:,45, 9) = (/ & &4.2221e+01_rb,4.8754e+01_rb,5.5108e+01_rb,6.1908e+01_rb,6.8361e+01_rb/) kbo(:,46, 9) = (/ & &3.9637e+01_rb,4.6220e+01_rb,5.2693e+01_rb,5.9708e+01_rb,6.6363e+01_rb/) kbo(:,47, 9) = (/ & &3.6803e+01_rb,4.3409e+01_rb,4.9987e+01_rb,5.7153e+01_rb,6.3987e+01_rb/) kbo(:,48, 9) = (/ & &3.4015e+01_rb,4.0603e+01_rb,4.7276e+01_rb,5.4594e+01_rb,6.1608e+01_rb/) kbo(:,49, 9) = (/ & &3.1288e+01_rb,3.7812e+01_rb,4.4636e+01_rb,5.2065e+01_rb,5.9201e+01_rb/) kbo(:,50, 9) = (/ & &2.8795e+01_rb,3.5220e+01_rb,4.2061e+01_rb,4.9552e+01_rb,5.6813e+01_rb/) kbo(:,51, 9) = (/ & &2.6450e+01_rb,3.2748e+01_rb,3.9528e+01_rb,4.7065e+01_rb,5.4424e+01_rb/) kbo(:,52, 9) = (/ & &2.4182e+01_rb,3.0329e+01_rb,3.7052e+01_rb,4.4584e+01_rb,5.2041e+01_rb/) kbo(:,53, 9) = (/ & &2.1996e+01_rb,2.7965e+01_rb,3.4636e+01_rb,4.2155e+01_rb,4.9659e+01_rb/) kbo(:,54, 9) = (/ & &2.0069e+01_rb,2.5858e+01_rb,3.2251e+01_rb,3.9700e+01_rb,4.7245e+01_rb/) kbo(:,55, 9) = (/ & &1.8302e+01_rb,2.3898e+01_rb,3.0045e+01_rb,3.7230e+01_rb,4.4781e+01_rb/) kbo(:,56, 9) = (/ & &1.6618e+01_rb,2.2006e+01_rb,2.7997e+01_rb,3.4787e+01_rb,4.2319e+01_rb/) kbo(:,57, 9) = (/ & &1.5017e+01_rb,2.0180e+01_rb,2.5997e+01_rb,3.2401e+01_rb,3.9855e+01_rb/) kbo(:,58, 9) = (/ & &1.3581e+01_rb,1.8514e+01_rb,2.4151e+01_rb,3.0332e+01_rb,3.7487e+01_rb/) kbo(:,59, 9) = (/ & &1.3022e+01_rb,1.7859e+01_rb,2.3425e+01_rb,2.9551e+01_rb,3.6092e+01_rb/) kbo(:,13,10) = (/ & &1.4854e+02_rb,1.4629e+02_rb,1.4392e+02_rb,1.4179e+02_rb,1.3968e+02_rb/) kbo(:,14,10) = (/ & &1.6449e+02_rb,1.6201e+02_rb,1.5966e+02_rb,1.5740e+02_rb,1.5475e+02_rb/) kbo(:,15,10) = (/ & &1.8113e+02_rb,1.7883e+02_rb,1.7633e+02_rb,1.7356e+02_rb,1.7082e+02_rb/) kbo(:,16,10) = (/ & &1.9869e+02_rb,1.9617e+02_rb,1.9337e+02_rb,1.9057e+02_rb,1.8767e+02_rb/) kbo(:,17,10) = (/ & &2.1579e+02_rb,2.1310e+02_rb,2.1009e+02_rb,2.0678e+02_rb,2.0344e+02_rb/) kbo(:,18,10) = (/ & &2.3175e+02_rb,2.2862e+02_rb,2.2543e+02_rb,2.2232e+02_rb,2.1916e+02_rb/) kbo(:,19,10) = (/ & &2.4595e+02_rb,2.4325e+02_rb,2.4040e+02_rb,2.3730e+02_rb,2.3384e+02_rb/) kbo(:,20,10) = (/ & &2.5917e+02_rb,2.5646e+02_rb,2.5347e+02_rb,2.5026e+02_rb,2.4697e+02_rb/) kbo(:,21,10) = (/ & &2.7002e+02_rb,2.6751e+02_rb,2.6472e+02_rb,2.6184e+02_rb,2.5881e+02_rb/) kbo(:,22,10) = (/ & &2.7788e+02_rb,2.7617e+02_rb,2.7411e+02_rb,2.7166e+02_rb,2.6869e+02_rb/) kbo(:,23,10) = (/ & &2.8310e+02_rb,2.8234e+02_rb,2.8114e+02_rb,2.7929e+02_rb,2.7687e+02_rb/) kbo(:,24,10) = (/ & &2.8635e+02_rb,2.8652e+02_rb,2.8615e+02_rb,2.8511e+02_rb,2.8345e+02_rb/) kbo(:,25,10) = (/ & &2.8819e+02_rb,2.8935e+02_rb,2.8976e+02_rb,2.8954e+02_rb,2.8857e+02_rb/) kbo(:,26,10) = (/ & &2.8894e+02_rb,2.9109e+02_rb,2.9250e+02_rb,2.9307e+02_rb,2.9272e+02_rb/) kbo(:,27,10) = (/ & &2.8895e+02_rb,2.9239e+02_rb,2.9473e+02_rb,2.9595e+02_rb,2.9616e+02_rb/) kbo(:,28,10) = (/ & &2.8893e+02_rb,2.9347e+02_rb,2.9660e+02_rb,2.9845e+02_rb,2.9908e+02_rb/) kbo(:,29,10) = (/ & &2.8896e+02_rb,2.9449e+02_rb,2.9830e+02_rb,3.0067e+02_rb,3.0167e+02_rb/) kbo(:,30,10) = (/ & &2.8928e+02_rb,2.9562e+02_rb,2.9995e+02_rb,3.0268e+02_rb,3.0395e+02_rb/) kbo(:,31,10) = (/ & &2.9009e+02_rb,2.9691e+02_rb,3.0163e+02_rb,3.0456e+02_rb,3.0602e+02_rb/) kbo(:,32,10) = (/ & &2.9131e+02_rb,2.9842e+02_rb,3.0331e+02_rb,3.0639e+02_rb,3.0785e+02_rb/) kbo(:,33,10) = (/ & &2.9285e+02_rb,3.0006e+02_rb,3.0500e+02_rb,3.0808e+02_rb,3.0942e+02_rb/) kbo(:,34,10) = (/ & &2.9430e+02_rb,3.0156e+02_rb,3.0650e+02_rb,3.0954e+02_rb,3.1081e+02_rb/) kbo(:,35,10) = (/ & &2.9506e+02_rb,3.0251e+02_rb,3.0756e+02_rb,3.1064e+02_rb,3.1189e+02_rb/) kbo(:,36,10) = (/ & &2.9495e+02_rb,3.0278e+02_rb,3.0811e+02_rb,3.1136e+02_rb,3.1273e+02_rb/) kbo(:,37,10) = (/ & &2.9340e+02_rb,3.0194e+02_rb,3.0787e+02_rb,3.1159e+02_rb,3.1314e+02_rb/) kbo(:,38,10) = (/ & &2.9167e+02_rb,3.0090e+02_rb,3.0743e+02_rb,3.1157e+02_rb,3.1035e+02_rb/) kbo(:,39,10) = (/ & &2.8984e+02_rb,2.9975e+02_rb,3.0683e+02_rb,3.1096e+02_rb,3.0638e+02_rb/) kbo(:,40,10) = (/ & &2.8667e+02_rb,2.9751e+02_rb,3.0546e+02_rb,3.0937e+02_rb,3.0473e+02_rb/) kbo(:,41,10) = (/ & &2.8308e+02_rb,2.9489e+02_rb,3.0373e+02_rb,3.0736e+02_rb,3.0363e+02_rb/) kbo(:,42,10) = (/ & &2.7921e+02_rb,2.9200e+02_rb,3.0174e+02_rb,3.0479e+02_rb,3.0187e+02_rb/) kbo(:,43,10) = (/ & &2.7420e+02_rb,2.8820e+02_rb,2.9899e+02_rb,3.0230e+02_rb,2.9999e+02_rb/) kbo(:,44,10) = (/ & &2.6840e+02_rb,2.8368e+02_rb,2.9562e+02_rb,2.9904e+02_rb,2.9872e+02_rb/) kbo(:,45,10) = (/ & &2.6218e+02_rb,2.7870e+02_rb,2.9185e+02_rb,2.9503e+02_rb,2.9798e+02_rb/) kbo(:,46,10) = (/ & &2.5505e+02_rb,2.7298e+02_rb,2.8727e+02_rb,2.9090e+02_rb,2.9720e+02_rb/) kbo(:,47,10) = (/ & &2.4654e+02_rb,2.6603e+02_rb,2.8160e+02_rb,2.8645e+02_rb,2.9469e+02_rb/) kbo(:,48,10) = (/ & &2.3740e+02_rb,2.5847e+02_rb,2.7519e+02_rb,2.8106e+02_rb,2.9248e+02_rb/) kbo(:,49,10) = (/ & &2.2763e+02_rb,2.5025e+02_rb,2.6743e+02_rb,2.7456e+02_rb,2.9049e+02_rb/) kbo(:,50,10) = (/ & &2.1791e+02_rb,2.4202e+02_rb,2.6048e+02_rb,2.6898e+02_rb,2.8731e+02_rb/) kbo(:,51,10) = (/ & &2.0797e+02_rb,2.3350e+02_rb,2.5355e+02_rb,2.6334e+02_rb,2.8310e+02_rb/) kbo(:,52,10) = (/ & &1.9757e+02_rb,2.2449e+02_rb,2.4576e+02_rb,2.5715e+02_rb,2.7915e+02_rb/) kbo(:,53,10) = (/ & &1.8669e+02_rb,2.1495e+02_rb,2.3714e+02_rb,2.5067e+02_rb,2.7496e+02_rb/) kbo(:,54,10) = (/ & &1.7638e+02_rb,2.0577e+02_rb,2.3068e+02_rb,2.4491e+02_rb,2.6874e+02_rb/) kbo(:,55,10) = (/ & &1.6621e+02_rb,1.9659e+02_rb,2.2369e+02_rb,2.4095e+02_rb,2.6031e+02_rb/) kbo(:,56,10) = (/ & &1.5581e+02_rb,1.8709e+02_rb,2.1533e+02_rb,2.3658e+02_rb,2.5187e+02_rb/) kbo(:,57,10) = (/ & &1.4523e+02_rb,1.7728e+02_rb,2.0662e+02_rb,2.3157e+02_rb,2.4581e+02_rb/) kbo(:,58,10) = (/ & &1.3508e+02_rb,1.6774e+02_rb,1.9802e+02_rb,2.2497e+02_rb,2.4252e+02_rb/) kbo(:,59,10) = (/ & &1.3094e+02_rb,1.6382e+02_rb,1.9446e+02_rb,2.2185e+02_rb,2.4525e+02_rb/) kbo(:,13,11) = (/ & &1.6572e+02_rb,1.6289e+02_rb,1.6008e+02_rb,1.5714e+02_rb,1.5448e+02_rb/) kbo(:,14,11) = (/ & &1.8540e+02_rb,1.8266e+02_rb,1.7967e+02_rb,1.7665e+02_rb,1.7387e+02_rb/) kbo(:,15,11) = (/ & &2.0814e+02_rb,2.0518e+02_rb,2.0210e+02_rb,1.9898e+02_rb,1.9569e+02_rb/) kbo(:,16,11) = (/ & &2.3282e+02_rb,2.2978e+02_rb,2.2643e+02_rb,2.2243e+02_rb,2.1800e+02_rb/) kbo(:,17,11) = (/ & &2.5856e+02_rb,2.5501e+02_rb,2.5085e+02_rb,2.4632e+02_rb,2.4166e+02_rb/) kbo(:,18,11) = (/ & &2.8422e+02_rb,2.8031e+02_rb,2.7577e+02_rb,2.7086e+02_rb,2.6564e+02_rb/) kbo(:,19,11) = (/ & &3.0919e+02_rb,3.0467e+02_rb,2.9960e+02_rb,2.9432e+02_rb,2.8897e+02_rb/) kbo(:,20,11) = (/ & &3.3207e+02_rb,3.2741e+02_rb,3.2245e+02_rb,3.1728e+02_rb,3.1181e+02_rb/) kbo(:,21,11) = (/ & &3.5360e+02_rb,3.4929e+02_rb,3.4457e+02_rb,3.3936e+02_rb,3.3368e+02_rb/) kbo(:,22,11) = (/ & &3.7366e+02_rb,3.6938e+02_rb,3.6457e+02_rb,3.5924e+02_rb,3.5347e+02_rb/) kbo(:,23,11) = (/ & &3.9151e+02_rb,3.8745e+02_rb,3.8282e+02_rb,3.7760e+02_rb,3.7188e+02_rb/) kbo(:,24,11) = (/ & &4.0699e+02_rb,4.0355e+02_rb,3.9930e+02_rb,3.9428e+02_rb,3.8859e+02_rb/) kbo(:,25,11) = (/ & &4.2010e+02_rb,4.1762e+02_rb,4.1382e+02_rb,4.0900e+02_rb,4.0333e+02_rb/) kbo(:,26,11) = (/ & &4.3097e+02_rb,4.2949e+02_rb,4.2634e+02_rb,4.2177e+02_rb,4.1610e+02_rb/) kbo(:,27,11) = (/ & &4.4020e+02_rb,4.3958e+02_rb,4.3704e+02_rb,4.3277e+02_rb,4.2718e+02_rb/) kbo(:,28,11) = (/ & &4.4818e+02_rb,4.4821e+02_rb,4.4611e+02_rb,4.4212e+02_rb,4.3652e+02_rb/) kbo(:,29,11) = (/ & &4.5504e+02_rb,4.5548e+02_rb,4.5376e+02_rb,4.4984e+02_rb,4.4415e+02_rb/) kbo(:,30,11) = (/ & &4.6091e+02_rb,4.6162e+02_rb,4.6010e+02_rb,4.5616e+02_rb,4.5025e+02_rb/) kbo(:,31,11) = (/ & &4.6598e+02_rb,4.6680e+02_rb,4.6528e+02_rb,4.6118e+02_rb,4.5498e+02_rb/) kbo(:,32,11) = (/ & &4.7040e+02_rb,4.7120e+02_rb,4.6944e+02_rb,4.6509e+02_rb,4.5862e+02_rb/) kbo(:,33,11) = (/ & &4.7430e+02_rb,4.7493e+02_rb,4.7283e+02_rb,4.6810e+02_rb,4.6122e+02_rb/) kbo(:,34,11) = (/ & &4.7770e+02_rb,4.7802e+02_rb,4.7557e+02_rb,4.7044e+02_rb,4.6319e+02_rb/) kbo(:,35,11) = (/ & &4.8041e+02_rb,4.8064e+02_rb,4.7804e+02_rb,4.7275e+02_rb,4.6531e+02_rb/) kbo(:,36,11) = (/ & &4.8253e+02_rb,4.8296e+02_rb,4.8047e+02_rb,4.7521e+02_rb,4.6778e+02_rb/) kbo(:,37,11) = (/ & &4.8393e+02_rb,4.8502e+02_rb,4.8301e+02_rb,4.7821e+02_rb,4.7102e+02_rb/) kbo(:,38,11) = (/ & &4.8486e+02_rb,4.8663e+02_rb,4.8514e+02_rb,4.8082e+02_rb,4.7394e+02_rb/) kbo(:,39,11) = (/ & &4.8541e+02_rb,4.8785e+02_rb,4.8691e+02_rb,4.8302e+02_rb,4.7647e+02_rb/) kbo(:,40,11) = (/ & &4.8510e+02_rb,4.8864e+02_rb,4.8854e+02_rb,4.8540e+02_rb,4.7945e+02_rb/) kbo(:,41,11) = (/ & &4.8418e+02_rb,4.8891e+02_rb,4.8975e+02_rb,4.8740e+02_rb,4.8219e+02_rb/) kbo(:,42,11) = (/ & &4.8279e+02_rb,4.8873e+02_rb,4.9057e+02_rb,4.8904e+02_rb,4.8458e+02_rb/) kbo(:,43,11) = (/ & &4.8041e+02_rb,4.8782e+02_rb,4.9100e+02_rb,4.9049e+02_rb,4.8682e+02_rb/) kbo(:,44,11) = (/ & &4.7714e+02_rb,4.8618e+02_rb,4.9081e+02_rb,4.9150e+02_rb,4.8756e+02_rb/) kbo(:,45,11) = (/ & &4.7308e+02_rb,4.8395e+02_rb,4.9007e+02_rb,4.9204e+02_rb,4.8671e+02_rb/) kbo(:,46,11) = (/ & &4.6783e+02_rb,4.8086e+02_rb,4.8862e+02_rb,4.9205e+02_rb,4.8480e+02_rb/) kbo(:,47,11) = (/ & &4.6080e+02_rb,4.7644e+02_rb,4.8623e+02_rb,4.9139e+02_rb,4.8469e+02_rb/) kbo(:,48,11) = (/ & &4.5259e+02_rb,4.7102e+02_rb,4.8306e+02_rb,4.9003e+02_rb,4.8230e+02_rb/) kbo(:,49,11) = (/ & &4.4320e+02_rb,4.6445e+02_rb,4.7901e+02_rb,4.8786e+02_rb,4.7807e+02_rb/) kbo(:,50,11) = (/ & &4.3321e+02_rb,4.5728e+02_rb,4.7435e+02_rb,4.8518e+02_rb,4.7550e+02_rb/) kbo(:,51,11) = (/ & &4.2248e+02_rb,4.4931e+02_rb,4.6891e+02_rb,4.8193e+02_rb,4.7366e+02_rb/) kbo(:,52,11) = (/ & &4.1065e+02_rb,4.4034e+02_rb,4.6257e+02_rb,4.7793e+02_rb,4.7004e+02_rb/) kbo(:,53,11) = (/ & &3.9765e+02_rb,4.3037e+02_rb,4.5526e+02_rb,4.7213e+02_rb,4.6510e+02_rb/) kbo(:,54,11) = (/ & &3.8467e+02_rb,4.2027e+02_rb,4.4777e+02_rb,4.6790e+02_rb,4.6484e+02_rb/) kbo(:,55,11) = (/ & &3.7132e+02_rb,4.0974e+02_rb,4.3973e+02_rb,4.6220e+02_rb,4.6820e+02_rb/) kbo(:,56,11) = (/ & &3.5710e+02_rb,3.9837e+02_rb,4.3097e+02_rb,4.5580e+02_rb,4.7038e+02_rb/) kbo(:,57,11) = (/ & &3.4209e+02_rb,3.8602e+02_rb,4.2139e+02_rb,4.4866e+02_rb,4.6860e+02_rb/) kbo(:,58,11) = (/ & &3.2702e+02_rb,3.7354e+02_rb,4.1153e+02_rb,4.4115e+02_rb,4.6327e+02_rb/) kbo(:,59,11) = (/ & &3.2074e+02_rb,3.6827e+02_rb,4.0735e+02_rb,4.3797e+02_rb,4.6099e+02_rb/) kbo(:,13,12) = (/ & &1.8437e+02_rb,1.8201e+02_rb,1.7920e+02_rb,1.7619e+02_rb,1.7262e+02_rb/) kbo(:,14,12) = (/ & &2.0920e+02_rb,2.0655e+02_rb,2.0368e+02_rb,2.0039e+02_rb,1.9660e+02_rb/) kbo(:,15,12) = (/ & &2.3807e+02_rb,2.3483e+02_rb,2.3126e+02_rb,2.2723e+02_rb,2.2261e+02_rb/) kbo(:,16,12) = (/ & &2.7050e+02_rb,2.6622e+02_rb,2.6148e+02_rb,2.5668e+02_rb,2.5203e+02_rb/) kbo(:,17,12) = (/ & &3.0550e+02_rb,3.0047e+02_rb,2.9528e+02_rb,2.8984e+02_rb,2.8414e+02_rb/) kbo(:,18,12) = (/ & &3.4308e+02_rb,3.3718e+02_rb,3.3104e+02_rb,3.2458e+02_rb,3.1787e+02_rb/) kbo(:,19,12) = (/ & &3.8177e+02_rb,3.7532e+02_rb,3.6857e+02_rb,3.6127e+02_rb,3.5363e+02_rb/) kbo(:,20,12) = (/ & &4.2186e+02_rb,4.1506e+02_rb,4.0728e+02_rb,3.9905e+02_rb,3.9052e+02_rb/) kbo(:,21,12) = (/ & &4.6246e+02_rb,4.5454e+02_rb,4.4606e+02_rb,4.3704e+02_rb,4.2747e+02_rb/) kbo(:,22,12) = (/ & &5.0135e+02_rb,4.9292e+02_rb,4.8363e+02_rb,4.7369e+02_rb,4.6338e+02_rb/) kbo(:,23,12) = (/ & &5.3861e+02_rb,5.2961e+02_rb,5.1962e+02_rb,5.0894e+02_rb,4.9767e+02_rb/) kbo(:,24,12) = (/ & &5.7338e+02_rb,5.6389e+02_rb,5.5338e+02_rb,5.4189e+02_rb,5.2932e+02_rb/) kbo(:,25,12) = (/ & &6.0539e+02_rb,5.9528e+02_rb,5.8404e+02_rb,5.7158e+02_rb,5.5798e+02_rb/) kbo(:,26,12) = (/ & &6.3403e+02_rb,6.2334e+02_rb,6.1112e+02_rb,5.9770e+02_rb,5.8310e+02_rb/) kbo(:,27,12) = (/ & &6.5936e+02_rb,6.4795e+02_rb,6.3483e+02_rb,6.2036e+02_rb,6.0455e+02_rb/) kbo(:,28,12) = (/ & &6.8125e+02_rb,6.6919e+02_rb,6.5513e+02_rb,6.3951e+02_rb,6.2260e+02_rb/) kbo(:,29,12) = (/ & &6.9998e+02_rb,6.8712e+02_rb,6.7207e+02_rb,6.5530e+02_rb,6.3734e+02_rb/) kbo(:,30,12) = (/ & &7.1583e+02_rb,7.0209e+02_rb,6.8590e+02_rb,6.6805e+02_rb,6.4904e+02_rb/) kbo(:,31,12) = (/ & &7.2876e+02_rb,7.1404e+02_rb,6.9677e+02_rb,6.7790e+02_rb,6.5793e+02_rb/) kbo(:,32,12) = (/ & &7.3900e+02_rb,7.2324e+02_rb,7.0493e+02_rb,6.8513e+02_rb,6.6427e+02_rb/) kbo(:,33,12) = (/ & &7.4681e+02_rb,7.2991e+02_rb,7.1072e+02_rb,6.9001e+02_rb,6.6847e+02_rb/) kbo(:,34,12) = (/ & &7.5291e+02_rb,7.3522e+02_rb,7.1519e+02_rb,6.9374e+02_rb,6.7158e+02_rb/) kbo(:,35,12) = (/ & &7.5888e+02_rb,7.4060e+02_rb,7.1995e+02_rb,6.9804e+02_rb,6.7534e+02_rb/) kbo(:,36,12) = (/ & &7.6530e+02_rb,7.4674e+02_rb,7.2578e+02_rb,7.0348e+02_rb,6.8047e+02_rb/) kbo(:,37,12) = (/ & &7.7324e+02_rb,7.5477e+02_rb,7.3385e+02_rb,7.1142e+02_rb,6.8821e+02_rb/) kbo(:,38,12) = (/ & &7.8031e+02_rb,7.6209e+02_rb,7.4126e+02_rb,7.1874e+02_rb,6.9540e+02_rb/) kbo(:,39,12) = (/ & &7.8648e+02_rb,7.6857e+02_rb,7.4796e+02_rb,7.2542e+02_rb,7.0198e+02_rb/) kbo(:,40,12) = (/ & &7.9353e+02_rb,7.7637e+02_rb,7.5617e+02_rb,7.3391e+02_rb,7.1045e+02_rb/) kbo(:,41,12) = (/ & &7.9989e+02_rb,7.8377e+02_rb,7.6410e+02_rb,7.4214e+02_rb,7.1879e+02_rb/) kbo(:,42,12) = (/ & &8.0558e+02_rb,7.9048e+02_rb,7.7152e+02_rb,7.4994e+02_rb,7.2677e+02_rb/) kbo(:,43,12) = (/ & &8.1116e+02_rb,7.9747e+02_rb,7.7955e+02_rb,7.5862e+02_rb,7.3574e+02_rb/) kbo(:,44,12) = (/ & &8.1607e+02_rb,8.0410e+02_rb,7.8744e+02_rb,7.6731e+02_rb,7.4497e+02_rb/) kbo(:,45,12) = (/ & &8.1994e+02_rb,8.0997e+02_rb,7.9477e+02_rb,7.7561e+02_rb,7.5385e+02_rb/) kbo(:,46,12) = (/ & &8.2292e+02_rb,8.1527e+02_rb,8.0168e+02_rb,7.8384e+02_rb,7.6285e+02_rb/) kbo(:,47,12) = (/ & &8.2480e+02_rb,8.1993e+02_rb,8.0858e+02_rb,7.9229e+02_rb,7.7235e+02_rb/) kbo(:,48,12) = (/ & &8.2522e+02_rb,8.2345e+02_rb,8.1455e+02_rb,8.0002e+02_rb,7.8135e+02_rb/) kbo(:,49,12) = (/ & &8.2404e+02_rb,8.2558e+02_rb,8.1941e+02_rb,8.0697e+02_rb,7.8982e+02_rb/) kbo(:,50,12) = (/ & &8.2131e+02_rb,8.2647e+02_rb,8.2301e+02_rb,8.1277e+02_rb,7.9722e+02_rb/) kbo(:,51,12) = (/ & &8.1699e+02_rb,8.2604e+02_rb,8.2550e+02_rb,8.1759e+02_rb,8.0380e+02_rb/) kbo(:,52,12) = (/ & &8.1118e+02_rb,8.2427e+02_rb,8.2691e+02_rb,8.2151e+02_rb,8.0969e+02_rb/) kbo(:,53,12) = (/ & &8.0369e+02_rb,8.2099e+02_rb,8.2725e+02_rb,8.2455e+02_rb,8.1493e+02_rb/) kbo(:,54,12) = (/ & &7.9519e+02_rb,8.1662e+02_rb,8.2647e+02_rb,8.2649e+02_rb,8.1904e+02_rb/) kbo(:,55,12) = (/ & &7.8525e+02_rb,8.1122e+02_rb,8.2466e+02_rb,8.2753e+02_rb,8.2231e+02_rb/) kbo(:,56,12) = (/ & &7.7348e+02_rb,8.0460e+02_rb,8.2163e+02_rb,8.2776e+02_rb,8.2487e+02_rb/) kbo(:,57,12) = (/ & &7.5991e+02_rb,7.9652e+02_rb,8.1752e+02_rb,8.2701e+02_rb,8.2675e+02_rb/) kbo(:,58,12) = (/ & &7.4511e+02_rb,7.8730e+02_rb,8.1251e+02_rb,8.2536e+02_rb,8.2776e+02_rb/) kbo(:,59,12) = (/ & &7.3866e+02_rb,7.8320e+02_rb,8.1026e+02_rb,8.2449e+02_rb,8.2800e+02_rb/) kbo(:,13,13) = (/ & &2.0724e+02_rb,2.0318e+02_rb,2.0003e+02_rb,1.9694e+02_rb,1.9365e+02_rb/) kbo(:,14,13) = (/ & &2.3785e+02_rb,2.3358e+02_rb,2.2976e+02_rb,2.2561e+02_rb,2.2123e+02_rb/) kbo(:,15,13) = (/ & &2.7371e+02_rb,2.6880e+02_rb,2.6365e+02_rb,2.5854e+02_rb,2.5349e+02_rb/) kbo(:,16,13) = (/ & &3.1341e+02_rb,3.0766e+02_rb,3.0218e+02_rb,2.9651e+02_rb,2.9050e+02_rb/) kbo(:,17,13) = (/ & &3.5823e+02_rb,3.5167e+02_rb,3.4512e+02_rb,3.3848e+02_rb,3.3144e+02_rb/) kbo(:,18,13) = (/ & &4.0795e+02_rb,4.0075e+02_rb,3.9354e+02_rb,3.8585e+02_rb,3.7775e+02_rb/) kbo(:,19,13) = (/ & &4.6454e+02_rb,4.5636e+02_rb,4.4761e+02_rb,4.3852e+02_rb,4.2883e+02_rb/) kbo(:,20,13) = (/ & &5.2670e+02_rb,5.1674e+02_rb,5.0627e+02_rb,4.9500e+02_rb,4.8317e+02_rb/) kbo(:,21,13) = (/ & &5.9234e+02_rb,5.8071e+02_rb,5.6797e+02_rb,5.5430e+02_rb,5.3997e+02_rb/) kbo(:,22,13) = (/ & &6.5952e+02_rb,6.4514e+02_rb,6.2980e+02_rb,6.1347e+02_rb,5.9629e+02_rb/) kbo(:,23,13) = (/ & &7.2668e+02_rb,7.0946e+02_rb,6.9096e+02_rb,6.7135e+02_rb,6.5090e+02_rb/) kbo(:,24,13) = (/ & &7.9179e+02_rb,7.7144e+02_rb,7.4939e+02_rb,7.2625e+02_rb,7.0273e+02_rb/) kbo(:,25,13) = (/ & &8.5340e+02_rb,8.2954e+02_rb,8.0385e+02_rb,7.7737e+02_rb,7.5044e+02_rb/) kbo(:,26,13) = (/ & &9.1011e+02_rb,8.8231e+02_rb,8.5326e+02_rb,8.2331e+02_rb,7.9319e+02_rb/) kbo(:,27,13) = (/ & &9.6106e+02_rb,9.2973e+02_rb,8.9712e+02_rb,8.6391e+02_rb,8.3062e+02_rb/) kbo(:,28,13) = (/ & &1.0059e+03_rb,9.7091e+02_rb,9.3507e+02_rb,8.9869e+02_rb,8.6233e+02_rb/) kbo(:,29,13) = (/ & &1.0437e+03_rb,1.0055e+03_rb,9.6641e+02_rb,9.2715e+02_rb,8.8802e+02_rb/) kbo(:,30,13) = (/ & &1.0747e+03_rb,1.0334e+03_rb,9.9156e+02_rb,9.4965e+02_rb,9.0810e+02_rb/) kbo(:,31,13) = (/ & &1.0990e+03_rb,1.0548e+03_rb,1.0106e+03_rb,9.6642e+02_rb,9.2291e+02_rb/) kbo(:,32,13) = (/ & &1.1170e+03_rb,1.0705e+03_rb,1.0242e+03_rb,9.7810e+02_rb,9.3290e+02_rb/) kbo(:,33,13) = (/ & &1.1295e+03_rb,1.0810e+03_rb,1.0329e+03_rb,9.8524e+02_rb,9.3872e+02_rb/) kbo(:,34,13) = (/ & &1.1390e+03_rb,1.0889e+03_rb,1.0392e+03_rb,9.9037e+02_rb,9.4276e+02_rb/) kbo(:,35,13) = (/ & &1.1495e+03_rb,1.0980e+03_rb,1.0471e+03_rb,9.9723e+02_rb,9.4859e+02_rb/) kbo(:,36,13) = (/ & &1.1627e+03_rb,1.1100e+03_rb,1.0580e+03_rb,1.0071e+03_rb,9.5754e+02_rb/) kbo(:,37,13) = (/ & &1.1817e+03_rb,1.1279e+03_rb,1.0749e+03_rb,1.0229e+03_rb,9.7232e+02_rb/) kbo(:,38,13) = (/ & &1.1995e+03_rb,1.1446e+03_rb,1.0907e+03_rb,1.0378e+03_rb,9.8626e+02_rb/) kbo(:,39,13) = (/ & &1.2156e+03_rb,1.1601e+03_rb,1.1053e+03_rb,1.0516e+03_rb,9.9926e+02_rb/) kbo(:,40,13) = (/ & &1.2364e+03_rb,1.1800e+03_rb,1.1244e+03_rb,1.0699e+03_rb,1.0167e+03_rb/) kbo(:,41,13) = (/ & &1.2568e+03_rb,1.1999e+03_rb,1.1435e+03_rb,1.0883e+03_rb,1.0343e+03_rb/) kbo(:,42,13) = (/ & &1.2764e+03_rb,1.2191e+03_rb,1.1621e+03_rb,1.1062e+03_rb,1.0515e+03_rb/) kbo(:,43,13) = (/ & &1.2983e+03_rb,1.2411e+03_rb,1.1834e+03_rb,1.1268e+03_rb,1.0715e+03_rb/) kbo(:,44,13) = (/ & &1.3210e+03_rb,1.2639e+03_rb,1.2059e+03_rb,1.1485e+03_rb,1.0925e+03_rb/) kbo(:,45,13) = (/ & &1.3430e+03_rb,1.2862e+03_rb,1.2280e+03_rb,1.1702e+03_rb,1.1134e+03_rb/) kbo(:,46,13) = (/ & &1.3658e+03_rb,1.3092e+03_rb,1.2511e+03_rb,1.1929e+03_rb,1.1355e+03_rb/) kbo(:,47,13) = (/ & &1.3902e+03_rb,1.3342e+03_rb,1.2766e+03_rb,1.2180e+03_rb,1.1600e+03_rb/) kbo(:,48,13) = (/ & &1.4137e+03_rb,1.3587e+03_rb,1.3015e+03_rb,1.2430e+03_rb,1.1845e+03_rb/) kbo(:,49,13) = (/ & &1.4360e+03_rb,1.3827e+03_rb,1.3260e+03_rb,1.2679e+03_rb,1.2090e+03_rb/) kbo(:,50,13) = (/ & &1.4561e+03_rb,1.4046e+03_rb,1.3487e+03_rb,1.2910e+03_rb,1.2321e+03_rb/) kbo(:,51,13) = (/ & &1.4745e+03_rb,1.4251e+03_rb,1.3704e+03_rb,1.3131e+03_rb,1.2546e+03_rb/) kbo(:,52,13) = (/ & &1.4914e+03_rb,1.4448e+03_rb,1.3917e+03_rb,1.3349e+03_rb,1.2767e+03_rb/) kbo(:,53,13) = (/ & &1.5066e+03_rb,1.4635e+03_rb,1.4124e+03_rb,1.3565e+03_rb,1.2987e+03_rb/) kbo(:,54,13) = (/ & &1.5189e+03_rb,1.4798e+03_rb,1.4307e+03_rb,1.3761e+03_rb,1.3187e+03_rb/) kbo(:,55,13) = (/ & &1.5296e+03_rb,1.4942e+03_rb,1.4476e+03_rb,1.3946e+03_rb,1.3376e+03_rb/) kbo(:,56,13) = (/ & &1.5385e+03_rb,1.5073e+03_rb,1.4637e+03_rb,1.4124e+03_rb,1.3564e+03_rb/) kbo(:,57,13) = (/ & &1.5454e+03_rb,1.5190e+03_rb,1.4793e+03_rb,1.4298e+03_rb,1.3750e+03_rb/) kbo(:,58,13) = (/ & &1.5501e+03_rb,1.5291e+03_rb,1.4929e+03_rb,1.4457e+03_rb,1.3924e+03_rb/) kbo(:,59,13) = (/ & &1.5515e+03_rb,1.5328e+03_rb,1.4982e+03_rb,1.4521e+03_rb,1.3993e+03_rb/) kbo(:,13,14) = (/ & &2.5226e+02_rb,2.4628e+02_rb,2.3949e+02_rb,2.3300e+02_rb,2.2711e+02_rb/) kbo(:,14,14) = (/ & &2.8391e+02_rb,2.7613e+02_rb,2.6825e+02_rb,2.6100e+02_rb,2.5461e+02_rb/) kbo(:,15,14) = (/ & &3.2054e+02_rb,3.1155e+02_rb,3.0330e+02_rb,2.9588e+02_rb,2.8901e+02_rb/) kbo(:,16,14) = (/ & &3.6563e+02_rb,3.5616e+02_rb,3.4734e+02_rb,3.3914e+02_rb,3.3106e+02_rb/) kbo(:,17,14) = (/ & &4.2096e+02_rb,4.1081e+02_rb,4.0125e+02_rb,3.9214e+02_rb,3.8323e+02_rb/) kbo(:,18,14) = (/ & &4.8740e+02_rb,4.7626e+02_rb,4.6528e+02_rb,4.5466e+02_rb,4.4412e+02_rb/) kbo(:,19,14) = (/ & &5.6419e+02_rb,5.5097e+02_rb,5.3827e+02_rb,5.2557e+02_rb,5.1276e+02_rb/) kbo(:,20,14) = (/ & &6.5011e+02_rb,6.3415e+02_rb,6.1868e+02_rb,6.0321e+02_rb,5.8733e+02_rb/) kbo(:,21,14) = (/ & &7.4435e+02_rb,7.2484e+02_rb,7.0550e+02_rb,6.8621e+02_rb,6.6643e+02_rb/) kbo(:,22,14) = (/ & &8.4421e+02_rb,8.2013e+02_rb,7.9603e+02_rb,7.7185e+02_rb,7.4730e+02_rb/) kbo(:,23,14) = (/ & &9.4857e+02_rb,9.1895e+02_rb,8.8918e+02_rb,8.5916e+02_rb,8.2913e+02_rb/) kbo(:,24,14) = (/ & &1.0549e+03_rb,1.0183e+03_rb,9.8186e+02_rb,9.4534e+02_rb,9.0882e+02_rb/) kbo(:,25,14) = (/ & &1.1590e+03_rb,1.1145e+03_rb,1.0708e+03_rb,1.0270e+03_rb,9.8371e+02_rb/) kbo(:,26,14) = (/ & &1.2562e+03_rb,1.2038e+03_rb,1.1521e+03_rb,1.1010e+03_rb,1.0508e+03_rb/) kbo(:,27,14) = (/ & &1.3447e+03_rb,1.2836e+03_rb,1.2238e+03_rb,1.1655e+03_rb,1.1088e+03_rb/) kbo(:,28,14) = (/ & &1.4217e+03_rb,1.3523e+03_rb,1.2847e+03_rb,1.2199e+03_rb,1.1573e+03_rb/) kbo(:,29,14) = (/ & &1.4859e+03_rb,1.4088e+03_rb,1.3346e+03_rb,1.2639e+03_rb,1.1961e+03_rb/) kbo(:,30,14) = (/ & &1.5380e+03_rb,1.4539e+03_rb,1.3740e+03_rb,1.2981e+03_rb,1.2259e+03_rb/) kbo(:,31,14) = (/ & &1.5776e+03_rb,1.4880e+03_rb,1.4031e+03_rb,1.3231e+03_rb,1.2472e+03_rb/) kbo(:,32,14) = (/ & &1.6062e+03_rb,1.5119e+03_rb,1.4231e+03_rb,1.3398e+03_rb,1.2610e+03_rb/) kbo(:,33,14) = (/ & &1.6248e+03_rb,1.5270e+03_rb,1.4353e+03_rb,1.3494e+03_rb,1.2686e+03_rb/) kbo(:,34,14) = (/ & &1.6386e+03_rb,1.5378e+03_rb,1.4439e+03_rb,1.3560e+03_rb,1.2737e+03_rb/) kbo(:,35,14) = (/ & &1.6557e+03_rb,1.5522e+03_rb,1.4559e+03_rb,1.3661e+03_rb,1.2821e+03_rb/) kbo(:,36,14) = (/ & &1.6790e+03_rb,1.5727e+03_rb,1.4740e+03_rb,1.3819e+03_rb,1.2962e+03_rb/) kbo(:,37,14) = (/ & &1.7154e+03_rb,1.6055e+03_rb,1.5035e+03_rb,1.4086e+03_rb,1.3204e+03_rb/) kbo(:,38,14) = (/ & &1.7499e+03_rb,1.6367e+03_rb,1.5316e+03_rb,1.4342e+03_rb,1.3436e+03_rb/) kbo(:,39,14) = (/ & &1.7821e+03_rb,1.6659e+03_rb,1.5579e+03_rb,1.4580e+03_rb,1.3653e+03_rb/) kbo(:,40,14) = (/ & &1.8250e+03_rb,1.7051e+03_rb,1.5937e+03_rb,1.4906e+03_rb,1.3951e+03_rb/) kbo(:,41,14) = (/ & &1.8687e+03_rb,1.7449e+03_rb,1.6302e+03_rb,1.5239e+03_rb,1.4257e+03_rb/) kbo(:,42,14) = (/ & &1.9118e+03_rb,1.7843e+03_rb,1.6662e+03_rb,1.5570e+03_rb,1.4560e+03_rb/) kbo(:,43,14) = (/ & &1.9625e+03_rb,1.8305e+03_rb,1.7087e+03_rb,1.5959e+03_rb,1.4917e+03_rb/) kbo(:,44,14) = (/ & &2.0169e+03_rb,1.8802e+03_rb,1.7544e+03_rb,1.6379e+03_rb,1.5302e+03_rb/) kbo(:,45,14) = (/ & &2.0719e+03_rb,1.9306e+03_rb,1.8005e+03_rb,1.6804e+03_rb,1.5693e+03_rb/) kbo(:,46,14) = (/ & &2.1310e+03_rb,1.9850e+03_rb,1.8502e+03_rb,1.7262e+03_rb,1.6114e+03_rb/) kbo(:,47,14) = (/ & &2.1977e+03_rb,2.0465e+03_rb,1.9066e+03_rb,1.7781e+03_rb,1.6592e+03_rb/) kbo(:,48,14) = (/ & &2.2663e+03_rb,2.1096e+03_rb,1.9646e+03_rb,1.8312e+03_rb,1.7082e+03_rb/) kbo(:,49,14) = (/ & &2.3369e+03_rb,2.1743e+03_rb,2.0243e+03_rb,1.8859e+03_rb,1.7586e+03_rb/) kbo(:,50,14) = (/ & &2.4050e+03_rb,2.2366e+03_rb,2.0818e+03_rb,1.9387e+03_rb,1.8071e+03_rb/) kbo(:,51,14) = (/ & &2.4725e+03_rb,2.2988e+03_rb,2.1390e+03_rb,1.9914e+03_rb,1.8554e+03_rb/) kbo(:,52,14) = (/ & &2.5415e+03_rb,2.3629e+03_rb,2.1974e+03_rb,2.0453e+03_rb,1.9050e+03_rb/) kbo(:,53,14) = (/ & &2.6121e+03_rb,2.4283e+03_rb,2.2576e+03_rb,2.1009e+03_rb,1.9561e+03_rb/) kbo(:,54,14) = (/ & &2.6782e+03_rb,2.4899e+03_rb,2.3146e+03_rb,2.1531e+03_rb,2.0043e+03_rb/) kbo(:,55,14) = (/ & &2.7428e+03_rb,2.5502e+03_rb,2.3706e+03_rb,2.2044e+03_rb,2.0516e+03_rb/) kbo(:,56,14) = (/ & &2.8087e+03_rb,2.6116e+03_rb,2.4275e+03_rb,2.2567e+03_rb,2.0999e+03_rb/) kbo(:,57,14) = (/ & &2.8759e+03_rb,2.6742e+03_rb,2.4859e+03_rb,2.3106e+03_rb,2.1494e+03_rb/) kbo(:,58,14) = (/ & &2.9406e+03_rb,2.7347e+03_rb,2.5423e+03_rb,2.3630e+03_rb,2.1974e+03_rb/) kbo(:,59,14) = (/ & &2.9672e+03_rb,2.7595e+03_rb,2.5656e+03_rb,2.3846e+03_rb,2.2171e+03_rb/) kbo(:,13,15) = (/ & &3.0519e+02_rb,3.0114e+02_rb,2.9666e+02_rb,2.9142e+02_rb,2.8521e+02_rb/) kbo(:,14,15) = (/ & &3.4479e+02_rb,3.4114e+02_rb,3.3631e+02_rb,3.3085e+02_rb,3.2433e+02_rb/) kbo(:,15,15) = (/ & &3.8993e+02_rb,3.8674e+02_rb,3.8200e+02_rb,3.7573e+02_rb,3.6825e+02_rb/) kbo(:,16,15) = (/ & &4.4412e+02_rb,4.3994e+02_rb,4.3428e+02_rb,4.2699e+02_rb,4.1897e+02_rb/) kbo(:,17,15) = (/ & &5.0918e+02_rb,5.0358e+02_rb,4.9594e+02_rb,4.8667e+02_rb,4.7654e+02_rb/) kbo(:,18,15) = (/ & &5.8800e+02_rb,5.7963e+02_rb,5.6899e+02_rb,5.5650e+02_rb,5.4319e+02_rb/) kbo(:,19,15) = (/ & &6.8137e+02_rb,6.6869e+02_rb,6.5385e+02_rb,6.3714e+02_rb,6.1975e+02_rb/) kbo(:,20,15) = (/ & &7.8942e+02_rb,7.7129e+02_rb,7.5076e+02_rb,7.2873e+02_rb,7.0666e+02_rb/) kbo(:,21,15) = (/ & &9.1222e+02_rb,8.8683e+02_rb,8.5955e+02_rb,8.3129e+02_rb,8.0321e+02_rb/) kbo(:,22,15) = (/ & &1.0462e+03_rb,1.0122e+03_rb,9.7665e+02_rb,9.4080e+02_rb,9.0511e+02_rb/) kbo(:,23,15) = (/ & &1.1896e+03_rb,1.1445e+03_rb,1.0990e+03_rb,1.0540e+03_rb,1.0094e+03_rb/) kbo(:,24,15) = (/ & &1.3365e+03_rb,1.2790e+03_rb,1.2222e+03_rb,1.1664e+03_rb,1.1117e+03_rb/) kbo(:,25,15) = (/ & &1.4807e+03_rb,1.4091e+03_rb,1.3391e+03_rb,1.2717e+03_rb,1.2073e+03_rb/) kbo(:,26,15) = (/ & &1.6156e+03_rb,1.5289e+03_rb,1.4461e+03_rb,1.3673e+03_rb,1.2929e+03_rb/) kbo(:,27,15) = (/ & &1.7387e+03_rb,1.6377e+03_rb,1.5427e+03_rb,1.4535e+03_rb,1.3699e+03_rb/) kbo(:,28,15) = (/ & &1.8481e+03_rb,1.7337e+03_rb,1.6274e+03_rb,1.5282e+03_rb,1.4358e+03_rb/) kbo(:,29,15) = (/ & &1.9406e+03_rb,1.8143e+03_rb,1.6975e+03_rb,1.5890e+03_rb,1.4891e+03_rb/) kbo(:,30,15) = (/ & &2.0157e+03_rb,1.8789e+03_rb,1.7529e+03_rb,1.6367e+03_rb,1.5303e+03_rb/) kbo(:,31,15) = (/ & &2.0726e+03_rb,1.9271e+03_rb,1.7935e+03_rb,1.6714e+03_rb,1.5596e+03_rb/) kbo(:,32,15) = (/ & &2.1128e+03_rb,1.9603e+03_rb,1.8210e+03_rb,1.6943e+03_rb,1.5785e+03_rb/) kbo(:,33,15) = (/ & &2.1379e+03_rb,1.9802e+03_rb,1.8368e+03_rb,1.7069e+03_rb,1.5884e+03_rb/) kbo(:,34,15) = (/ & &2.1559e+03_rb,1.9943e+03_rb,1.8478e+03_rb,1.7154e+03_rb,1.5948e+03_rb/) kbo(:,35,15) = (/ & &2.1801e+03_rb,2.0143e+03_rb,1.8645e+03_rb,1.7293e+03_rb,1.6063e+03_rb/) kbo(:,36,15) = (/ & &2.2153e+03_rb,2.0448e+03_rb,1.8906e+03_rb,1.7519e+03_rb,1.6260e+03_rb/) kbo(:,37,15) = (/ & &2.2726e+03_rb,2.0949e+03_rb,1.9348e+03_rb,1.7908e+03_rb,1.6606e+03_rb/) kbo(:,38,15) = (/ & &2.3276e+03_rb,2.1431e+03_rb,1.9773e+03_rb,1.8285e+03_rb,1.6940e+03_rb/) kbo(:,39,15) = (/ & &2.3794e+03_rb,2.1884e+03_rb,2.0174e+03_rb,1.8638e+03_rb,1.7255e+03_rb/) kbo(:,40,15) = (/ & &2.4500e+03_rb,2.2506e+03_rb,2.0727e+03_rb,1.9128e+03_rb,1.7693e+03_rb/) kbo(:,41,15) = (/ & &2.5230e+03_rb,2.3148e+03_rb,2.1296e+03_rb,1.9633e+03_rb,1.8145e+03_rb/) kbo(:,42,15) = (/ & &2.5961e+03_rb,2.3790e+03_rb,2.1863e+03_rb,2.0139e+03_rb,1.8595e+03_rb/) kbo(:,43,15) = (/ & &2.6832e+03_rb,2.4556e+03_rb,2.2539e+03_rb,2.0744e+03_rb,1.9133e+03_rb/) kbo(:,44,15) = (/ & &2.7787e+03_rb,2.5394e+03_rb,2.3280e+03_rb,2.1403e+03_rb,1.9719e+03_rb/) kbo(:,45,15) = (/ & &2.8773e+03_rb,2.6257e+03_rb,2.4039e+03_rb,2.2077e+03_rb,2.0320e+03_rb/) kbo(:,46,15) = (/ & &2.9856e+03_rb,2.7201e+03_rb,2.4871e+03_rb,2.2811e+03_rb,2.0978e+03_rb/) kbo(:,47,15) = (/ & &3.1115e+03_rb,2.8292e+03_rb,2.5830e+03_rb,2.3659e+03_rb,2.1733e+03_rb/) kbo(:,48,15) = (/ & &3.2432e+03_rb,2.9440e+03_rb,2.6832e+03_rb,2.4542e+03_rb,2.2517e+03_rb/) kbo(:,49,15) = (/ & &3.3819e+03_rb,3.0648e+03_rb,2.7882e+03_rb,2.5466e+03_rb,2.3333e+03_rb/) kbo(:,50,15) = (/ & &3.5188e+03_rb,3.1840e+03_rb,2.8918e+03_rb,2.6374e+03_rb,2.4134e+03_rb/) kbo(:,51,15) = (/ & &3.6589e+03_rb,3.3051e+03_rb,2.9974e+03_rb,2.7291e+03_rb,2.4943e+03_rb/) kbo(:,52,15) = (/ & &3.8062e+03_rb,3.4317e+03_rb,3.1077e+03_rb,2.8252e+03_rb,2.5787e+03_rb/) kbo(:,53,15) = (/ & &3.9623e+03_rb,3.5652e+03_rb,3.2237e+03_rb,2.9261e+03_rb,2.6671e+03_rb/) kbo(:,54,15) = (/ & &4.1133e+03_rb,3.6940e+03_rb,3.3349e+03_rb,3.0230e+03_rb,2.7515e+03_rb/) kbo(:,55,15) = (/ & &4.2651e+03_rb,3.8236e+03_rb,3.4464e+03_rb,3.1202e+03_rb,2.8359e+03_rb/) kbo(:,56,15) = (/ & &4.4246e+03_rb,3.9598e+03_rb,3.5625e+03_rb,3.2212e+03_rb,2.9236e+03_rb/) kbo(:,57,15) = (/ & &4.5926e+03_rb,4.1026e+03_rb,3.6846e+03_rb,3.3264e+03_rb,3.0154e+03_rb/) kbo(:,58,15) = (/ & &4.7612e+03_rb,4.2446e+03_rb,3.8056e+03_rb,3.4306e+03_rb,3.1063e+03_rb/) kbo(:,59,15) = (/ & &4.8322e+03_rb,4.3040e+03_rb,3.8565e+03_rb,3.4742e+03_rb,3.1440e+03_rb/) kbo(:,13,16) = (/ & &3.6471e+02_rb,3.5203e+02_rb,3.4366e+02_rb,3.3754e+02_rb,3.3391e+02_rb/) kbo(:,14,16) = (/ & &4.3205e+02_rb,4.1910e+02_rb,4.0949e+02_rb,4.0181e+02_rb,3.9611e+02_rb/) kbo(:,15,16) = (/ & &5.1076e+02_rb,4.9691e+02_rb,4.8535e+02_rb,4.7583e+02_rb,4.6772e+02_rb/) kbo(:,16,16) = (/ & &6.0124e+02_rb,5.8532e+02_rb,5.7134e+02_rb,5.5921e+02_rb,5.4786e+02_rb/) kbo(:,17,16) = (/ & &7.0293e+02_rb,6.8353e+02_rb,6.6658e+02_rb,6.5132e+02_rb,6.3843e+02_rb/) kbo(:,18,16) = (/ & &8.1350e+02_rb,7.9054e+02_rb,7.7108e+02_rb,7.5418e+02_rb,7.3825e+02_rb/) kbo(:,19,16) = (/ & &9.3232e+02_rb,9.0753e+02_rb,8.8580e+02_rb,8.6501e+02_rb,8.4456e+02_rb/) kbo(:,20,16) = (/ & &1.0608e+03_rb,1.0329e+03_rb,1.0063e+03_rb,9.8009e+02_rb,9.5395e+02_rb/) kbo(:,21,16) = (/ & &1.1958e+03_rb,1.1622e+03_rb,1.1292e+03_rb,1.0962e+03_rb,1.0633e+03_rb/) kbo(:,22,16) = (/ & &1.3311e+03_rb,1.2897e+03_rb,1.2482e+03_rb,1.2072e+03_rb,1.1676e+03_rb/) kbo(:,23,16) = (/ & &1.4683e+03_rb,1.4174e+03_rb,1.3670e+03_rb,1.3170e+03_rb,1.2708e+03_rb/) kbo(:,24,16) = (/ & &1.6081e+03_rb,1.5439e+03_rb,1.4829e+03_rb,1.4263e+03_rb,1.3726e+03_rb/) kbo(:,25,16) = (/ & &1.7506e+03_rb,1.6769e+03_rb,1.6089e+03_rb,1.5421e+03_rb,1.4771e+03_rb/) kbo(:,26,16) = (/ & &1.9057e+03_rb,1.8182e+03_rb,1.7345e+03_rb,1.6548e+03_rb,1.5773e+03_rb/) kbo(:,27,16) = (/ & &2.0569e+03_rb,1.9520e+03_rb,1.8523e+03_rb,1.7577e+03_rb,1.6669e+03_rb/) kbo(:,28,16) = (/ & &2.1937e+03_rb,2.0714e+03_rb,1.9558e+03_rb,1.8469e+03_rb,1.7437e+03_rb/) kbo(:,29,16) = (/ & &2.3109e+03_rb,2.1712e+03_rb,2.0410e+03_rb,1.9197e+03_rb,1.8067e+03_rb/) kbo(:,30,16) = (/ & &2.4059e+03_rb,2.2511e+03_rb,2.1086e+03_rb,1.9768e+03_rb,1.8554e+03_rb/) kbo(:,31,16) = (/ & &2.4785e+03_rb,2.3110e+03_rb,2.1586e+03_rb,2.0181e+03_rb,1.8908e+03_rb/) kbo(:,32,16) = (/ & &2.5298e+03_rb,2.3528e+03_rb,2.1923e+03_rb,2.0454e+03_rb,1.9136e+03_rb/) kbo(:,33,16) = (/ & &2.5622e+03_rb,2.3783e+03_rb,2.2119e+03_rb,2.0610e+03_rb,1.9258e+03_rb/) kbo(:,34,16) = (/ & &2.5858e+03_rb,2.3964e+03_rb,2.2256e+03_rb,2.0716e+03_rb,1.9341e+03_rb/) kbo(:,35,16) = (/ & &2.6161e+03_rb,2.4209e+03_rb,2.2454e+03_rb,2.0882e+03_rb,1.9479e+03_rb/) kbo(:,36,16) = (/ & &2.6591e+03_rb,2.4573e+03_rb,2.2765e+03_rb,2.1149e+03_rb,1.9709e+03_rb/) kbo(:,37,16) = (/ & &2.7282e+03_rb,2.5168e+03_rb,2.3287e+03_rb,2.1606e+03_rb,2.0108e+03_rb/) kbo(:,38,16) = (/ & &2.7948e+03_rb,2.5745e+03_rb,2.3791e+03_rb,2.2045e+03_rb,2.0494e+03_rb/) kbo(:,39,16) = (/ & &2.8577e+03_rb,2.6290e+03_rb,2.4266e+03_rb,2.2455e+03_rb,2.0858e+03_rb/) kbo(:,40,16) = (/ & &2.9439e+03_rb,2.7038e+03_rb,2.4920e+03_rb,2.3032e+03_rb,2.1363e+03_rb/) kbo(:,41,16) = (/ & &3.0330e+03_rb,2.7810e+03_rb,2.5596e+03_rb,2.3632e+03_rb,2.1888e+03_rb/) kbo(:,42,16) = (/ & &3.1221e+03_rb,2.8586e+03_rb,2.6274e+03_rb,2.4230e+03_rb,2.2411e+03_rb/) kbo(:,43,16) = (/ & &3.2294e+03_rb,2.9518e+03_rb,2.6848e+03_rb,2.4944e+03_rb,2.3041e+03_rb/) kbo(:,44,16) = (/ & &3.3475e+03_rb,3.0539e+03_rb,2.7976e+03_rb,2.5728e+03_rb,2.3737e+03_rb/) kbo(:,45,16) = (/ & &3.4703e+03_rb,3.1592e+03_rb,2.8896e+03_rb,2.6532e+03_rb,2.4448e+03_rb/) kbo(:,46,16) = (/ & &3.6062e+03_rb,3.2757e+03_rb,2.9905e+03_rb,2.7415e+03_rb,2.5226e+03_rb/) kbo(:,47,16) = (/ & &3.7659e+03_rb,3.4109e+03_rb,3.1077e+03_rb,2.8434e+03_rb,2.6124e+03_rb/) kbo(:,48,16) = (/ & &3.9357e+03_rb,3.5542e+03_rb,3.2307e+03_rb,2.9507e+03_rb,2.7060e+03_rb/) kbo(:,49,16) = (/ & &4.1183e+03_rb,3.7067e+03_rb,3.3602e+03_rb,3.0634e+03_rb,2.8046e+03_rb/) kbo(:,50,16) = (/ & &4.3018e+03_rb,3.8593e+03_rb,3.4893e+03_rb,3.1743e+03_rb,2.9010e+03_rb/) kbo(:,51,16) = (/ & &4.4921e+03_rb,4.0168e+03_rb,3.6208e+03_rb,3.2876e+03_rb,3.0000e+03_rb/) kbo(:,52,16) = (/ & &4.6953e+03_rb,4.1848e+03_rb,3.7620e+03_rb,3.4065e+03_rb,3.1029e+03_rb/) kbo(:,53,16) = (/ & &4.9149e+03_rb,4.3644e+03_rb,3.9107e+03_rb,3.5325e+03_rb,3.2110e+03_rb/) kbo(:,54,16) = (/ & &5.1330e+03_rb,4.5400e+03_rb,4.0560e+03_rb,3.6544e+03_rb,3.3151e+03_rb/) kbo(:,55,16) = (/ & &5.3615e+03_rb,4.7192e+03_rb,4.2041e+03_rb,3.7779e+03_rb,3.4198e+03_rb/) kbo(:,56,16) = (/ & &5.6061e+03_rb,4.9107e+03_rb,4.3608e+03_rb,3.9074e+03_rb,3.5296e+03_rb/) kbo(:,57,16) = (/ & &5.8683e+03_rb,5.1170e+03_rb,4.5267e+03_rb,4.0448e+03_rb,3.6452e+03_rb/) kbo(:,58,16) = (/ & &6.1353e+03_rb,5.3291e+03_rb,4.6942e+03_rb,4.1832e+03_rb,3.7603e+03_rb/) kbo(:,59,16) = (/ & &6.2495e+03_rb,5.4200e+03_rb,4.7647e+03_rb,4.2413e+03_rb,3.8086e+03_rb/) ! The array KAO_Mxx contains the absorption coefficient for ! a minor species at the 16 chosen g-values for a reference pressure ! level below 100~ mb. The first index in the array, JS, runs ! from 1 to 10, and corresponds to different gas column amount ratios, ! as expressed through the binary species parameter eta, defined as ! eta = gas1/(gas1 + (rat) * gas2), where rat is the ! ratio of the reference MLS column amount value of gas 1 ! to that of gas2. The second index refers to temperature ! in 7.2 degree increments. For instance, JT = 1 refers to a ! temperature of 188.0, JT = 2 refers to 195.2, etc. The third index ! runs over the g-channel (1 to 16). kao_mco2( 1, :, 1) = (/ & & 7.38630e-06_rb, 8.97432e-06_rb, 1.09037e-05_rb, 1.32480e-05_rb, 1.60963e-05_rb, & & 1.95569e-05_rb, 2.37615e-05_rb, 2.88701e-05_rb, 3.50770e-05_rb, 4.26184e-05_rb, & & 5.17811e-05_rb, 6.29138e-05_rb, 7.64400e-05_rb, 9.28742e-05_rb, 1.12842e-04_rb, & & 1.37102e-04_rb, 1.66578e-04_rb, 2.02392e-04_rb, 2.45905e-04_rb/) kao_mco2( 2, :, 1) = (/ & & 7.03916e-06_rb, 8.58785e-06_rb, 1.04773e-05_rb, 1.27824e-05_rb, 1.55947e-05_rb, & & 1.90257e-05_rb, 2.32115e-05_rb, 2.83183e-05_rb, 3.45487e-05_rb, 4.21498e-05_rb, & & 5.14233e-05_rb, 6.27370e-05_rb, 7.65398e-05_rb, 9.33794e-05_rb, 1.13924e-04_rb, & & 1.38989e-04_rb, 1.69568e-04_rb, 2.06874e-04_rb, 2.52389e-04_rb/) kao_mco2( 3, :, 1) = (/ & & 7.80015e-06_rb, 9.48520e-06_rb, 1.15343e-05_rb, 1.40260e-05_rb, 1.70560e-05_rb, & & 2.07405e-05_rb, 2.52211e-05_rb, 3.06695e-05_rb, 3.72950e-05_rb, 4.53517e-05_rb, & & 5.51489e-05_rb, 6.70626e-05_rb, 8.15499e-05_rb, 9.91670e-05_rb, 1.20590e-04_rb, & & 1.46640e-04_rb, 1.78319e-04_rb, 2.16841e-04_rb, 2.63684e-04_rb/) kao_mco2( 4, :, 1) = (/ & & 9.24267e-06_rb, 1.11747e-05_rb, 1.35105e-05_rb, 1.63346e-05_rb, 1.97490e-05_rb, & & 2.38771e-05_rb, 2.88682e-05_rb, 3.49025e-05_rb, 4.21981e-05_rb, 5.10188e-05_rb, & & 6.16832e-05_rb, 7.45768e-05_rb, 9.01656e-05_rb, 1.09013e-04_rb, 1.31800e-04_rb, & & 1.59350e-04_rb, 1.92659e-04_rb, 2.32930e-04_rb, 2.81619e-04_rb/) kao_mco2( 5, :, 1) = (/ & & 1.59506e-05_rb, 1.90078e-05_rb, 2.26509e-05_rb, 2.69923e-05_rb, 3.21658e-05_rb, & & 3.83309e-05_rb, 4.56777e-05_rb, 5.44325e-05_rb, 6.48654e-05_rb, 7.72978e-05_rb, & & 9.21132e-05_rb, 1.09768e-04_rb, 1.30807e-04_rb, 1.55878e-04_rb, 1.85755e-04_rb, & & 2.21357e-04_rb, 2.63784e-04_rb, 3.14342e-04_rb, 3.74591e-04_rb/) kao_mco2( 6, :, 1) = (/ & & 3.53189e-05_rb, 4.14789e-05_rb, 4.87131e-05_rb, 5.72092e-05_rb, 6.71870e-05_rb, & & 7.89050e-05_rb, 9.26667e-05_rb, 1.08829e-04_rb, 1.27809e-04_rb, 1.50100e-04_rb, & & 1.76279e-04_rb, 2.07024e-04_rb, 2.43131e-04_rb, 2.85535e-04_rb, 3.35335e-04_rb, & & 3.93821e-04_rb, 4.62507e-04_rb, 5.43172e-04_rb, 6.37906e-04_rb/) kao_mco2( 7, :, 1) = (/ & & 6.63273e-05_rb, 7.76356e-05_rb, 9.08718e-05_rb, 1.06365e-04_rb, 1.24499e-04_rb, & & 1.45725e-04_rb, 1.70570e-04_rb, 1.99651e-04_rb, 2.33689e-04_rb, 2.73531e-04_rb, & & 3.20166e-04_rb, 3.74752e-04_rb, 4.38644e-04_rb, 5.13429e-04_rb, 6.00964e-04_rb, & & 7.03424e-04_rb, 8.23352e-04_rb, 9.63726e-04_rb, 1.12803e-03_rb/) kao_mco2( 8, :, 1) = (/ & & 9.01134e-05_rb, 1.05517e-04_rb, 1.23553e-04_rb, 1.44673e-04_rb, 1.69402e-04_rb, & & 1.98359e-04_rb, 2.32265e-04_rb, 2.71967e-04_rb, 3.18456e-04_rb, 3.72890e-04_rb, & & 4.36630e-04_rb, 5.11265e-04_rb, 5.98657e-04_rb, 7.00989e-04_rb, 8.20811e-04_rb, & & 9.61116e-04_rb, 1.12540e-03_rb, 1.31777e-03_rb, 1.54302e-03_rb/) kao_mco2( 9, :, 1) = (/ & & 1.14205e-05_rb, 1.36364e-05_rb, 1.62823e-05_rb, 1.94416e-05_rb, 2.32139e-05_rb, & & 2.77181e-05_rb, 3.30963e-05_rb, 3.95181e-05_rb, 4.71858e-05_rb, 5.63414e-05_rb, & & 6.72734e-05_rb, 8.03266e-05_rb, 9.59124e-05_rb, 1.14523e-04_rb, 1.36743e-04_rb, & & 1.63276e-04_rb, 1.94957e-04_rb, 2.32784e-04_rb, 2.77952e-04_rb/) kao_mco2( 1, :, 2) = (/ & & 2.01754e-05_rb, 2.40506e-05_rb, 2.86701e-05_rb, 3.41769e-05_rb, 4.07414e-05_rb, & & 4.85668e-05_rb, 5.78953e-05_rb, 6.90155e-05_rb, 8.22717e-05_rb, 9.80739e-05_rb, & & 1.16912e-04_rb, 1.39367e-04_rb, 1.66136e-04_rb, 1.98047e-04_rb, 2.36087e-04_rb, & & 2.81433e-04_rb, 3.35489e-04_rb, 3.99928e-04_rb, 4.76744e-04_rb/) kao_mco2( 2, :, 2) = (/ & & 2.08613e-05_rb, 2.48759e-05_rb, 2.96631e-05_rb, 3.53716e-05_rb, 4.21786e-05_rb, & & 5.02955e-05_rb, 5.99746e-05_rb, 7.15163e-05_rb, 8.52791e-05_rb, 1.01690e-04_rb, & & 1.21260e-04_rb, 1.44596e-04_rb, 1.72422e-04_rb, 2.05604e-04_rb, 2.45171e-04_rb, & & 2.92352e-04_rb, 3.48613e-04_rb, 4.15702e-04_rb, 4.95700e-04_rb/) kao_mco2( 3, :, 2) = (/ & & 2.06879e-05_rb, 2.47009e-05_rb, 2.94924e-05_rb, 3.52133e-05_rb, 4.20439e-05_rb, & & 5.01995e-05_rb, 5.99372e-05_rb, 7.15637e-05_rb, 8.54456e-05_rb, 1.02020e-04_rb, & & 1.21810e-04_rb, 1.45439e-04_rb, 1.73651e-04_rb, 2.07335e-04_rb, 2.47554e-04_rb, & & 2.95574e-04_rb, 3.52909e-04_rb, 4.21366e-04_rb, 5.03102e-04_rb/) kao_mco2( 4, :, 2) = (/ & & 2.12700e-05_rb, 2.54064e-05_rb, 3.03472e-05_rb, 3.62490e-05_rb, 4.32984e-05_rb, & & 5.17188e-05_rb, 6.17767e-05_rb, 7.37906e-05_rb, 8.81410e-05_rb, 1.05282e-04_rb, & & 1.25757e-04_rb, 1.50213e-04_rb, 1.79425e-04_rb, 2.14319e-04_rb, 2.55998e-04_rb, & & 3.05782e-04_rb, 3.65249e-04_rb, 4.36280e-04_rb, 5.21125e-04_rb/) kao_mco2( 5, :, 2) = (/ & & 1.88144e-05_rb, 2.25220e-05_rb, 2.69602e-05_rb, 3.22730e-05_rb, 3.86328e-05_rb, & & 4.62458e-05_rb, 5.53591e-05_rb, 6.62682e-05_rb, 7.93271e-05_rb, 9.49594e-05_rb, & & 1.13672e-04_rb, 1.36073e-04_rb, 1.62887e-04_rb, 1.94986e-04_rb, 2.33410e-04_rb, & & 2.79406e-04_rb, 3.34467e-04_rb, 4.00377e-04_rb, 4.79275e-04_rb/) kao_mco2( 6, :, 2) = (/ & & 1.20964e-05_rb, 1.46021e-05_rb, 1.76268e-05_rb, 2.12780e-05_rb, 2.56856e-05_rb, & & 3.10062e-05_rb, 3.74289e-05_rb, 4.51820e-05_rb, 5.45411e-05_rb, 6.58388e-05_rb, & & 7.94769e-05_rb, 9.59399e-05_rb, 1.15813e-04_rb, 1.39803e-04_rb, 1.68762e-04_rb, & & 2.03720e-04_rb, 2.45919e-04_rb, 2.96859e-04_rb, 3.58350e-04_rb/) kao_mco2( 7, :, 2) = (/ & & 3.07117e-05_rb, 3.64441e-05_rb, 4.32465e-05_rb, 5.13186e-05_rb, 6.08974e-05_rb, & & 7.22642e-05_rb, 8.57525e-05_rb, 1.01758e-04_rb, 1.20752e-04_rb, 1.43291e-04_rb, & & 1.70037e-04_rb, 2.01775e-04_rb, 2.39436e-04_rb, 2.84128e-04_rb, 3.37161e-04_rb, & & 4.00094e-04_rb, 4.74773e-04_rb, 5.63391e-04_rb, 6.68549e-04_rb/) kao_mco2( 8, :, 2) = (/ & & 9.34077e-05_rb, 1.10481e-04_rb, 1.30675e-04_rb, 1.54559e-04_rb, 1.82810e-04_rb, & & 2.16224e-04_rb, 2.55745e-04_rb, 3.02491e-04_rb, 3.57780e-04_rb, 4.23175e-04_rb, & & 5.00523e-04_rb, 5.92009e-04_rb, 7.00217e-04_rb, 8.28203e-04_rb, 9.79582e-04_rb, & & 1.15863e-03_rb, 1.37041e-03_rb, 1.62089e-03_rb, 1.91716e-03_rb/) kao_mco2( 9, :, 2) = (/ & & 1.15325e-05_rb, 1.37935e-05_rb, 1.64978e-05_rb, 1.97322e-05_rb, 2.36007e-05_rb, & & 2.82277e-05_rb, 3.37618e-05_rb, 4.03808e-05_rb, 4.82976e-05_rb, 5.77664e-05_rb, & & 6.90916e-05_rb, 8.26372e-05_rb, 9.88384e-05_rb, 1.18216e-04_rb, 1.41392e-04_rb, & & 1.69113e-04_rb, 2.02267e-04_rb, 2.41922e-04_rb, 2.89352e-04_rb/) kao_mco2( 1, :, 3) = (/ & & 2.56142e-05_rb, 3.05385e-05_rb, 3.64096e-05_rb, 4.34093e-05_rb, 5.17547e-05_rb, & & 6.17045e-05_rb, 7.35672e-05_rb, 8.77104e-05_rb, 1.04573e-04_rb, 1.24677e-04_rb, & & 1.48646e-04_rb, 1.77223e-04_rb, 2.11294e-04_rb, 2.51915e-04_rb, 3.00346e-04_rb, & & 3.58087e-04_rb, 4.26929e-04_rb, 5.09006e-04_rb, 6.06862e-04_rb/) kao_mco2( 2, :, 3) = (/ & & 2.49802e-05_rb, 2.98040e-05_rb, 3.55593e-05_rb, 4.24259e-05_rb, 5.06186e-05_rb, & & 6.03932e-05_rb, 7.20554e-05_rb, 8.59696e-05_rb, 1.02571e-04_rb, 1.22377e-04_rb, & & 1.46009e-04_rb, 1.74204e-04_rb, 2.07844e-04_rb, 2.47979e-04_rb, 2.95865e-04_rb, & & 3.52998e-04_rb, 4.21163e-04_rb, 5.02491e-04_rb, 5.99524e-04_rb/) kao_mco2( 3, :, 3) = (/ & & 2.54644e-05_rb, 3.03959e-05_rb, 3.62825e-05_rb, 4.33091e-05_rb, 5.16965e-05_rb, & & 6.17083e-05_rb, 7.36589e-05_rb, 8.79240e-05_rb, 1.04952e-04_rb, 1.25277e-04_rb, & & 1.49539e-04_rb, 1.78499e-04_rb, 2.13068e-04_rb, 2.54331e-04_rb, 3.03586e-04_rb, & & 3.62380e-04_rb, 4.32560e-04_rb, 5.16331e-04_rb, 6.16326e-04_rb/) kao_mco2( 4, :, 3) = (/ & & 2.55054e-05_rb, 3.04699e-05_rb, 3.64007e-05_rb, 4.34859e-05_rb, 5.19501e-05_rb, & & 6.20619e-05_rb, 7.41418e-05_rb, 8.85731e-05_rb, 1.05813e-04_rb, 1.26409e-04_rb, & & 1.51014e-04_rb, 1.80408e-04_rb, 2.15523e-04_rb, 2.57474e-04_rb, 3.07589e-04_rb, & & 3.67459e-04_rb, 4.38983e-04_rb, 5.24428e-04_rb, 6.26505e-04_rb/) kao_mco2( 5, :, 3) = (/ & & 2.48615e-05_rb, 2.97398e-05_rb, 3.55754e-05_rb, 4.25560e-05_rb, 5.09064e-05_rb, & & 6.08952e-05_rb, 7.28441e-05_rb, 8.71375e-05_rb, 1.04236e-04_rb, 1.24689e-04_rb, & & 1.49155e-04_rb, 1.78423e-04_rb, 2.13433e-04_rb, 2.55313e-04_rb, 3.05410e-04_rb, & & 3.65338e-04_rb, 4.37024e-04_rb, 5.22777e-04_rb, 6.25356e-04_rb/) kao_mco2( 6, :, 3) = (/ & & 2.09074e-05_rb, 2.50891e-05_rb, 3.01072e-05_rb, 3.61290e-05_rb, 4.33553e-05_rb, & & 5.20269e-05_rb, 6.24329e-05_rb, 7.49202e-05_rb, 8.99051e-05_rb, 1.07887e-04_rb, & & 1.29466e-04_rb, 1.55361e-04_rb, 1.86435e-04_rb, 2.23724e-04_rb, 2.68471e-04_rb, & & 3.22169e-04_rb, 3.86607e-04_rb, 4.63933e-04_rb, 5.56725e-04_rb/) kao_mco2( 7, :, 3) = (/ & & 1.25163e-05_rb, 1.51688e-05_rb, 1.83835e-05_rb, 2.22795e-05_rb, 2.70011e-05_rb, & & 3.27234e-05_rb, 3.96583e-05_rb, 4.80630e-05_rb, 5.82488e-05_rb, 7.05933e-05_rb, & & 8.55539e-05_rb, 1.03685e-04_rb, 1.25659e-04_rb, 1.52289e-04_rb, 1.84563e-04_rb, & & 2.23677e-04_rb, 2.71081e-04_rb, 3.28530e-04_rb, 3.98154e-04_rb/) kao_mco2( 8, :, 3) = (/ & & 1.00408e-04_rb, 1.20081e-04_rb, 1.43608e-04_rb, 1.71745e-04_rb, 2.05395e-04_rb, & & 2.45637e-04_rb, 2.93765e-04_rb, 3.51322e-04_rb, 4.20156e-04_rb, 5.02476e-04_rb, & & 6.00926e-04_rb, 7.18665e-04_rb, 8.59472e-04_rb, 1.02787e-03_rb, 1.22926e-03_rb, & & 1.47010e-03_rb, 1.75814e-03_rb, 2.10261e-03_rb, 2.51457e-03_rb/) kao_mco2( 9, :, 3) = (/ & & 8.50402e-06_rb, 1.02737e-05_rb, 1.24116e-05_rb, 1.49945e-05_rb, 1.81148e-05_rb, & & 2.18844e-05_rb, 2.64385e-05_rb, 3.19403e-05_rb, 3.85871e-05_rb, 4.66169e-05_rb, & & 5.63178e-05_rb, 6.80375e-05_rb, 8.21959e-05_rb, 9.93008e-05_rb, 1.19965e-04_rb, & & 1.44930e-04_rb, 1.75089e-04_rb, 2.11525e-04_rb, 2.55543e-04_rb/) kao_mco2( 1, :, 4) = (/ & & 2.68659e-05_rb, 3.20986e-05_rb, 3.83506e-05_rb, 4.58203e-05_rb, 5.47450e-05_rb, & & 6.54078e-05_rb, 7.81476e-05_rb, 9.33687e-05_rb, 1.11555e-04_rb, 1.33282e-04_rb, & & 1.59242e-04_rb, 1.90259e-04_rb, 2.27316e-04_rb, 2.71592e-04_rb, 3.24490e-04_rb, & & 3.87693e-04_rb, 4.63206e-04_rb, 5.53426e-04_rb, 6.61218e-04_rb/) kao_mco2( 2, :, 4) = (/ & & 2.74827e-05_rb, 3.28460e-05_rb, 3.92560e-05_rb, 4.69169e-05_rb, 5.60728e-05_rb, & & 6.70155e-05_rb, 8.00937e-05_rb, 9.57241e-05_rb, 1.14405e-04_rb, 1.36731e-04_rb, & & 1.63415e-04_rb, 1.95305e-04_rb, 2.33419e-04_rb, 2.78972e-04_rb, 3.33413e-04_rb, & & 3.98480e-04_rb, 4.76244e-04_rb, 5.69184e-04_rb, 6.80261e-04_rb/) kao_mco2( 3, :, 4) = (/ & & 2.84702e-05_rb, 3.40189e-05_rb, 4.06490e-05_rb, 4.85713e-05_rb, 5.80375e-05_rb, & & 6.93487e-05_rb, 8.28644e-05_rb, 9.90142e-05_rb, 1.18312e-04_rb, 1.41370e-04_rb, & & 1.68922e-04_rb, 2.01844e-04_rb, 2.41182e-04_rb, 2.88188e-04_rb, 3.44354e-04_rb, & & 4.11466e-04_rb, 4.91659e-04_rb, 5.87481e-04_rb, 7.01977e-04_rb/) kao_mco2( 4, :, 4) = (/ & & 2.92293e-05_rb, 3.49243e-05_rb, 4.17289e-05_rb, 4.98593e-05_rb, 5.95738e-05_rb, & & 7.11810e-05_rb, 8.50498e-05_rb, 1.01621e-04_rb, 1.21420e-04_rb, 1.45078e-04_rb, & & 1.73344e-04_rb, 2.07119e-04_rb, 2.47473e-04_rb, 2.95690e-04_rb, 3.53302e-04_rb, & & 4.22139e-04_rb, 5.04388e-04_rb, 6.02662e-04_rb, 7.20083e-04_rb/) kao_mco2( 5, :, 4) = (/ & & 2.88531e-05_rb, 3.45646e-05_rb, 4.14067e-05_rb, 4.96033e-05_rb, 5.94224e-05_rb, & & 7.11851e-05_rb, 8.52764e-05_rb, 1.02157e-04_rb, 1.22379e-04_rb, 1.46604e-04_rb, & & 1.75625e-04_rb, 2.10391e-04_rb, 2.52038e-04_rb, 3.01929e-04_rb, 3.61697e-04_rb, & & 4.33295e-04_rb, 5.19067e-04_rb, 6.21818e-04_rb, 7.44908e-04_rb/) kao_mco2( 6, :, 4) = (/ & & 2.79869e-05_rb, 3.36885e-05_rb, 4.05516e-05_rb, 4.88130e-05_rb, 5.87574e-05_rb, & & 7.07278e-05_rb, 8.51368e-05_rb, 1.02481e-04_rb, 1.23359e-04_rb, 1.48490e-04_rb, & & 1.78742e-04_rb, 2.15156e-04_rb, 2.58988e-04_rb, 3.11751e-04_rb, 3.75262e-04_rb, & & 4.51712e-04_rb, 5.43737e-04_rb, 6.54510e-04_rb, 7.87849e-04_rb/) kao_mco2( 7, :, 4) = (/ & & 1.45797e-05_rb, 1.78204e-05_rb, 2.17815e-05_rb, 2.66230e-05_rb, 3.25407e-05_rb, & & 3.97737e-05_rb, 4.86145e-05_rb, 5.94203e-05_rb, 7.26281e-05_rb, 8.87715e-05_rb, & & 1.08503e-04_rb, 1.32621e-04_rb, 1.62100e-04_rb, 1.98130e-04_rb, 2.42170e-04_rb, & & 2.95999e-04_rb, 3.61792e-04_rb, 4.42210e-04_rb, 5.40503e-04_rb/) kao_mco2( 8, :, 4) = (/ & & 6.32607e-05_rb, 7.63420e-05_rb, 9.21282e-05_rb, 1.11179e-04_rb, 1.34169e-04_rb, & & 1.61913e-04_rb, 1.95393e-04_rb, 2.35797e-04_rb, 2.84557e-04_rb, 3.43398e-04_rb, & & 4.14407e-04_rb, 5.00100e-04_rb, 6.03512e-04_rb, 7.28308e-04_rb, 8.78909e-04_rb, & & 1.06065e-03_rb, 1.27998e-03_rb, 1.54466e-03_rb, 1.86407e-03_rb/) kao_mco2( 9, :, 4) = (/ & & 1.52296e-05_rb, 1.84301e-05_rb, 2.23032e-05_rb, 2.69902e-05_rb, 3.26622e-05_rb, & & 3.95261e-05_rb, 4.78324e-05_rb, 5.78844e-05_rb, 7.00487e-05_rb, 8.47694e-05_rb, & & 1.02584e-04_rb, 1.24142e-04_rb, 1.50230e-04_rb, 1.81800e-04_rb, 2.20005e-04_rb, & & 2.66239e-04_rb, 3.22190e-04_rb, 3.89897e-04_rb, 4.71833e-04_rb/) kao_mco2( 1, :, 5) = (/ & & 3.43213e-05_rb, 4.11301e-05_rb, 4.92896e-05_rb, 5.90679e-05_rb, 7.07860e-05_rb, & & 8.48288e-05_rb, 1.01657e-04_rb, 1.21825e-04_rb, 1.45993e-04_rb, 1.74955e-04_rb, & & 2.09663e-04_rb, 2.51257e-04_rb, 3.01103e-04_rb, 3.60837e-04_rb, 4.32421e-04_rb, & & 5.18206e-04_rb, 6.21010e-04_rb, 7.44208e-04_rb, 8.91846e-04_rb/) kao_mco2( 2, :, 5) = (/ & & 3.14792e-05_rb, 3.79075e-05_rb, 4.56485e-05_rb, 5.49703e-05_rb, 6.61956e-05_rb, & & 7.97133e-05_rb, 9.59914e-05_rb, 1.15594e-04_rb, 1.39199e-04_rb, 1.67624e-04_rb, & & 2.01854e-04_rb, 2.43075e-04_rb, 2.92712e-04_rb, 3.52487e-04_rb, 4.24467e-04_rb, & & 5.11147e-04_rb, 6.15527e-04_rb, 7.41222e-04_rb, 8.92585e-04_rb/) kao_mco2( 3, :, 5) = (/ & & 3.21655e-05_rb, 3.87990e-05_rb, 4.68006e-05_rb, 5.64523e-05_rb, 6.80945e-05_rb, & & 8.21377e-05_rb, 9.90770e-05_rb, 1.19510e-04_rb, 1.44156e-04_rb, 1.73886e-04_rb, & & 2.09746e-04_rb, 2.53002e-04_rb, 3.05179e-04_rb, 3.68117e-04_rb, 4.44033e-04_rb, & & 5.35607e-04_rb, 6.46066e-04_rb, 7.79304e-04_rb, 9.40020e-04_rb/) kao_mco2( 4, :, 5) = (/ & & 3.22870e-05_rb, 3.89864e-05_rb, 4.70759e-05_rb, 5.68439e-05_rb, 6.86388e-05_rb, & & 8.28810e-05_rb, 1.00078e-04_rb, 1.20844e-04_rb, 1.45919e-04_rb, 1.76196e-04_rb, & & 2.12756e-04_rb, 2.56902e-04_rb, 3.10207e-04_rb, 3.74574e-04_rb, 4.52296e-04_rb, & & 5.46146e-04_rb, 6.59468e-04_rb, 7.96304e-04_rb, 9.61533e-04_rb/) kao_mco2( 5, :, 5) = (/ & & 3.31190e-05_rb, 3.99528e-05_rb, 4.81967e-05_rb, 5.81417e-05_rb, 7.01387e-05_rb, & & 8.46111e-05_rb, 1.02070e-04_rb, 1.23131e-04_rb, 1.48538e-04_rb, 1.79187e-04_rb, & & 2.16161e-04_rb, 2.60764e-04_rb, 3.14570e-04_rb, 3.79479e-04_rb, 4.57781e-04_rb, & & 5.52240e-04_rb, 6.66190e-04_rb, 8.03652e-04_rb, 9.69477e-04_rb/) kao_mco2( 6, :, 5) = (/ & & 3.31287e-05_rb, 3.99772e-05_rb, 4.82413e-05_rb, 5.82139e-05_rb, 7.02480e-05_rb, & & 8.47698e-05_rb, 1.02294e-04_rb, 1.23440e-04_rb, 1.48958e-04_rb, 1.79750e-04_rb, & & 2.16909e-04_rb, 2.61749e-04_rb, 3.15858e-04_rb, 3.81153e-04_rb, 4.59945e-04_rb, & & 5.55026e-04_rb, 6.69762e-04_rb, 8.08216e-04_rb, 9.75292e-04_rb/) kao_mco2( 7, :, 5) = (/ & & 3.35235e-05_rb, 4.02832e-05_rb, 4.84061e-05_rb, 5.81668e-05_rb, 6.98958e-05_rb, & & 8.39898e-05_rb, 1.00926e-04_rb, 1.21277e-04_rb, 1.45731e-04_rb, 1.75117e-04_rb, & & 2.10428e-04_rb, 2.52860e-04_rb, 3.03847e-04_rb, 3.65116e-04_rb, 4.38739e-04_rb, & & 5.27208e-04_rb, 6.33516e-04_rb, 7.61260e-04_rb, 9.14762e-04_rb/) kao_mco2( 8, :, 5) = (/ & & 3.57666e-05_rb, 4.27511e-05_rb, 5.10995e-05_rb, 6.10783e-05_rb, 7.30057e-05_rb, & & 8.72622e-05_rb, 1.04303e-04_rb, 1.24671e-04_rb, 1.49017e-04_rb, 1.78117e-04_rb, & & 2.12900e-04_rb, 2.54475e-04_rb, 3.04169e-04_rb, 3.63567e-04_rb, 4.34565e-04_rb, & & 5.19427e-04_rb, 6.20861e-04_rb, 7.42103e-04_rb, 8.87020e-04_rb/) kao_mco2( 9, :, 5) = (/ & & 2.96349e-05_rb, 3.55202e-05_rb, 4.25743e-05_rb, 5.10292e-05_rb, 6.11633e-05_rb, & & 7.33099e-05_rb, 8.78687e-05_rb, 1.05319e-04_rb, 1.26234e-04_rb, 1.51304e-04_rb, & & 1.81352e-04_rb, 2.17367e-04_rb, 2.60534e-04_rb, 3.12275e-04_rb, 3.74290e-04_rb, & & 4.48622e-04_rb, 5.37715e-04_rb, 6.44502e-04_rb, 7.72495e-04_rb/) kao_mco2( 1, :, 6) = (/ & & 4.14659e-05_rb, 4.98693e-05_rb, 5.99757e-05_rb, 7.21302e-05_rb, 8.67479e-05_rb, & & 1.04328e-04_rb, 1.25471e-04_rb, 1.50899e-04_rb, 1.81479e-04_rb, 2.18257e-04_rb, & & 2.62489e-04_rb, 3.15685e-04_rb, 3.79660e-04_rb, 4.56601e-04_rb, 5.49135e-04_rb, & & 6.60422e-04_rb, 7.94261e-04_rb, 9.55224e-04_rb, 1.14881e-03_rb/) kao_mco2( 2, :, 6) = (/ & & 4.25940e-05_rb, 5.11162e-05_rb, 6.13434e-05_rb, 7.36168e-05_rb, 8.83459e-05_rb, & & 1.06022e-04_rb, 1.27235e-04_rb, 1.52691e-04_rb, 1.83241e-04_rb, 2.19904e-04_rb, & & 2.63902e-04_rb, 3.16703e-04_rb, 3.80068e-04_rb, 4.56111e-04_rb, 5.47368e-04_rb, & & 6.56885e-04_rb, 7.88313e-04_rb, 9.46036e-04_rb, 1.13532e-03_rb/) kao_mco2( 3, :, 6) = (/ & & 4.44940e-05_rb, 5.32922e-05_rb, 6.38303e-05_rb, 7.64522e-05_rb, 9.15700e-05_rb, & & 1.09677e-04_rb, 1.31365e-04_rb, 1.57341e-04_rb, 1.88454e-04_rb, 2.25719e-04_rb, & & 2.70353e-04_rb, 3.23813e-04_rb, 3.87844e-04_rb, 4.64537e-04_rb, 5.56395e-04_rb, & & 6.66418e-04_rb, 7.98196e-04_rb, 9.56032e-04_rb, 1.14508e-03_rb/) kao_mco2( 4, :, 6) = (/ & & 4.83402e-05_rb, 5.78065e-05_rb, 6.91265e-05_rb, 8.26633e-05_rb, 9.88510e-05_rb, & & 1.18209e-04_rb, 1.41357e-04_rb, 1.69038e-04_rb, 2.02140e-04_rb, 2.41725e-04_rb, & & 2.89061e-04_rb, 3.45667e-04_rb, 4.13357e-04_rb, 4.94303e-04_rb, 5.91101e-04_rb, & & 7.06854e-04_rb, 8.45275e-04_rb, 1.01080e-03_rb, 1.20874e-03_rb/) kao_mco2( 5, :, 6) = (/ & & 5.14797e-05_rb, 6.15328e-05_rb, 7.35491e-05_rb, 8.79120e-05_rb, 1.05080e-04_rb, & & 1.25600e-04_rb, 1.50128e-04_rb, 1.79445e-04_rb, 2.14487e-04_rb, 2.56373e-04_rb, & & 3.06438e-04_rb, 3.66281e-04_rb, 4.37809e-04_rb, 5.23305e-04_rb, 6.25498e-04_rb, & & 7.47647e-04_rb, 8.93650e-04_rb, 1.06816e-03_rb, 1.27676e-03_rb/) kao_mco2( 6, :, 6) = (/ & & 5.71481e-05_rb, 6.83156e-05_rb, 8.16652e-05_rb, 9.76237e-05_rb, 1.16701e-04_rb, & & 1.39505e-04_rb, 1.66766e-04_rb, 1.99354e-04_rb, 2.38311e-04_rb, 2.84879e-04_rb, & & 3.40548e-04_rb, 4.07096e-04_rb, 4.86647e-04_rb, 5.81744e-04_rb, 6.95424e-04_rb, & & 8.31318e-04_rb, 9.93769e-04_rb, 1.18796e-03_rb, 1.42010e-03_rb/) kao_mco2( 7, :, 6) = (/ & & 5.69513e-05_rb, 6.84420e-05_rb, 8.22512e-05_rb, 9.88466e-05_rb, 1.18790e-04_rb, & & 1.42758e-04_rb, 1.71562e-04_rb, 2.06177e-04_rb, 2.47776e-04_rb, 2.97768e-04_rb, & & 3.57848e-04_rb, 4.30049e-04_rb, 5.16817e-04_rb, 6.21093e-04_rb, 7.46407e-04_rb, & & 8.97006e-04_rb, 1.07799e-03_rb, 1.29549e-03_rb, 1.55687e-03_rb/) kao_mco2( 8, :, 6) = (/ & & 4.39361e-06_rb, 5.50076e-06_rb, 6.88690e-06_rb, 8.62235e-06_rb, 1.07951e-05_rb, & & 1.35154e-05_rb, 1.69212e-05_rb, 2.11851e-05_rb, 2.65236e-05_rb, 3.32074e-05_rb, & & 4.15754e-05_rb, 5.20520e-05_rb, 6.51687e-05_rb, 8.15907e-05_rb, 1.02151e-04_rb, & & 1.27892e-04_rb, 1.60120e-04_rb, 2.00469e-04_rb, 2.50985e-04_rb/) kao_mco2( 9, :, 6) = (/ & & 5.75515e-05_rb, 6.86850e-05_rb, 8.19722e-05_rb, 9.78298e-05_rb, 1.16755e-04_rb, & & 1.39342e-04_rb, 1.66297e-04_rb, 1.98468e-04_rb, 2.36862e-04_rb, 2.82683e-04_rb, & & 3.37369e-04_rb, 4.02633e-04_rb, 4.80523e-04_rb, 5.73481e-04_rb, 6.84422e-04_rb, & & 8.16824e-04_rb, 9.74841e-04_rb, 1.16342e-03_rb, 1.38849e-03_rb/) kao_mco2( 1, :, 7) = (/ & & 6.84544e-05_rb, 8.16461e-05_rb, 9.73799e-05_rb, 1.16146e-04_rb, 1.38528e-04_rb, & & 1.65223e-04_rb, 1.97063e-04_rb, 2.35039e-04_rb, 2.80333e-04_rb, 3.34355e-04_rb, & & 3.98788e-04_rb, 4.75637e-04_rb, 5.67296e-04_rb, 6.76618e-04_rb, 8.07008e-04_rb, & & 9.62525e-04_rb, 1.14801e-03_rb, 1.36924e-03_rb, 1.63310e-03_rb/) kao_mco2( 2, :, 7) = (/ & & 6.88332e-05_rb, 8.21719e-05_rb, 9.80955e-05_rb, 1.17105e-04_rb, 1.39798e-04_rb, & & 1.66888e-04_rb, 1.99229e-04_rb, 2.37836e-04_rb, 2.83925e-04_rb, 3.38944e-04_rb, & & 4.04627e-04_rb, 4.83037e-04_rb, 5.76641e-04_rb, 6.88385e-04_rb, 8.21782e-04_rb, & & 9.81031e-04_rb, 1.17114e-03_rb, 1.39809e-03_rb, 1.66901e-03_rb/) kao_mco2( 3, :, 7) = (/ & & 7.49899e-05_rb, 8.94606e-05_rb, 1.06724e-04_rb, 1.27318e-04_rb, 1.51887e-04_rb, & & 1.81196e-04_rb, 2.16161e-04_rb, 2.57873e-04_rb, 3.07635e-04_rb, 3.66999e-04_rb, & & 4.37818e-04_rb, 5.22304e-04_rb, 6.23092e-04_rb, 7.43330e-04_rb, 8.86769e-04_rb, & & 1.05789e-03_rb, 1.26203e-03_rb, 1.50556e-03_rb, 1.79608e-03_rb/) kao_mco2( 4, :, 7) = (/ & & 8.26801e-05_rb, 9.85802e-05_rb, 1.17538e-04_rb, 1.40141e-04_rb, 1.67092e-04_rb, & & 1.99225e-04_rb, 2.37537e-04_rb, 2.83217e-04_rb, 3.37682e-04_rb, 4.02621e-04_rb, & & 4.80048e-04_rb, 5.72365e-04_rb, 6.82435e-04_rb, 8.13673e-04_rb, 9.70148e-04_rb, & & 1.15671e-03_rb, 1.37916e-03_rb, 1.64438e-03_rb, 1.96061e-03_rb/) kao_mco2( 5, :, 7) = (/ & & 9.29561e-05_rb, 1.10845e-04_rb, 1.32176e-04_rb, 1.57612e-04_rb, 1.87944e-04_rb, & & 2.24112e-04_rb, 2.67241e-04_rb, 3.18669e-04_rb, 3.79995e-04_rb, 4.53121e-04_rb, & & 5.40321e-04_rb, 6.44302e-04_rb, 7.68293e-04_rb, 9.16146e-04_rb, 1.09245e-03_rb, & & 1.30268e-03_rb, 1.55338e-03_rb, 1.85231e-03_rb, 2.20877e-03_rb/) kao_mco2( 6, :, 7) = (/ & & 1.09700e-04_rb, 1.30879e-04_rb, 1.56148e-04_rb, 1.86294e-04_rb, 2.22261e-04_rb, & & 2.65172e-04_rb, 3.16367e-04_rb, 3.77446e-04_rb, 4.50317e-04_rb, 5.37257e-04_rb, & & 6.40983e-04_rb, 7.64734e-04_rb, 9.12376e-04_rb, 1.08852e-03_rb, 1.29868e-03_rb, & & 1.54941e-03_rb, 1.84854e-03_rb, 2.20543e-03_rb, 2.63122e-03_rb/) kao_mco2( 7, :, 7) = (/ & & 1.43457e-04_rb, 1.71554e-04_rb, 2.05153e-04_rb, 2.45332e-04_rb, 2.93381e-04_rb, & & 3.50840e-04_rb, 4.19552e-04_rb, 5.01722e-04_rb, 5.99985e-04_rb, 7.17492e-04_rb, & & 8.58014e-04_rb, 1.02606e-03_rb, 1.22701e-03_rb, 1.46732e-03_rb, 1.75470e-03_rb, & & 2.09836e-03_rb, 2.50933e-03_rb, 3.00078e-03_rb, 3.58849e-03_rb/) kao_mco2( 8, :, 7) = (/ & & 1.52152e-05_rb, 1.89421e-05_rb, 2.35819e-05_rb, 2.93582e-05_rb, 3.65494e-05_rb, & & 4.55021e-05_rb, 5.66476e-05_rb, 7.05233e-05_rb, 8.77978e-05_rb, 1.09304e-04_rb, & & 1.36077e-04_rb, 1.69409e-04_rb, 2.10905e-04_rb, 2.62565e-04_rb, 3.26880e-04_rb, & & 4.06948e-04_rb, 5.06629e-04_rb, 6.30726e-04_rb, 7.85219e-04_rb/) kao_mco2( 9, :, 7) = (/ & & 1.15683e-04_rb, 1.37544e-04_rb, 1.63535e-04_rb, 1.94438e-04_rb, 2.31180e-04_rb, & & 2.74866e-04_rb, 3.26807e-04_rb, 3.88563e-04_rb, 4.61989e-04_rb, 5.49289e-04_rb, & & 6.53088e-04_rb, 7.76501e-04_rb, 9.23234e-04_rb, 1.09770e-03_rb, 1.30512e-03_rb, & & 1.55175e-03_rb, 1.84498e-03_rb, 2.19362e-03_rb, 2.60815e-03_rb/) kao_mco2( 1, :, 8) = (/ & & 1.18154e-04_rb, 1.40516e-04_rb, 1.67111e-04_rb, 1.98739e-04_rb, 2.36353e-04_rb, & & 2.81086e-04_rb, 3.34285e-04_rb, 3.97553e-04_rb, 4.72796e-04_rb, 5.62278e-04_rb, & & 6.68697e-04_rb, 7.95257e-04_rb, 9.45770e-04_rb, 1.12477e-03_rb, 1.33765e-03_rb, & & 1.59081e-03_rb, 1.89190e-03_rb, 2.24996e-03_rb, 2.67580e-03_rb/) kao_mco2( 2, :, 8) = (/ & & 1.40874e-04_rb, 1.67009e-04_rb, 1.97993e-04_rb, 2.34726e-04_rb, 2.78273e-04_rb, & & 3.29899e-04_rb, 3.91102e-04_rb, 4.63661e-04_rb, 5.49680e-04_rb, 6.51659e-04_rb, & & 7.72556e-04_rb, 9.15884e-04_rb, 1.08580e-03_rb, 1.28724e-03_rb, 1.52605e-03_rb, & & 1.80917e-03_rb, 2.14482e-03_rb, 2.54273e-03_rb, 3.01446e-03_rb/) kao_mco2( 3, :, 8) = (/ & & 1.55092e-04_rb, 1.84132e-04_rb, 2.18609e-04_rb, 2.59542e-04_rb, 3.08140e-04_rb, & & 3.65837e-04_rb, 4.34337e-04_rb, 5.15664e-04_rb, 6.12219e-04_rb, 7.26853e-04_rb, & & 8.62952e-04_rb, 1.02453e-03_rb, 1.21637e-03_rb, 1.44413e-03_rb, 1.71453e-03_rb, & & 2.03557e-03_rb, 2.41671e-03_rb, 2.86923e-03_rb, 3.40647e-03_rb/) kao_mco2( 4, :, 8) = (/ & & 1.80666e-04_rb, 2.14521e-04_rb, 2.54721e-04_rb, 3.02454e-04_rb, 3.59131e-04_rb, & & 4.26429e-04_rb, 5.06339e-04_rb, 6.01223e-04_rb, 7.13887e-04_rb, 8.47663e-04_rb, & & 1.00651e-03_rb, 1.19512e-03_rb, 1.41908e-03_rb, 1.68500e-03_rb, 2.00076e-03_rb, & & 2.37568e-03_rb, 2.82087e-03_rb, 3.34947e-03_rb, 3.97714e-03_rb/) kao_mco2( 5, :, 8) = (/ & & 2.21554e-04_rb, 2.63265e-04_rb, 3.12829e-04_rb, 3.71724e-04_rb, 4.41707e-04_rb, & & 5.24865e-04_rb, 6.23679e-04_rb, 7.41096e-04_rb, 8.80619e-04_rb, 1.04641e-03_rb, & & 1.24341e-03_rb, 1.47750e-03_rb, 1.75567e-03_rb, 2.08620e-03_rb, 2.47896e-03_rb, & & 2.94566e-03_rb, 3.50023e-03_rb, 4.15920e-03_rb, 4.94224e-03_rb/) kao_mco2( 6, :, 8) = (/ & & 2.78997e-04_rb, 3.32548e-04_rb, 3.96378e-04_rb, 4.72460e-04_rb, 5.63146e-04_rb, & & 6.71238e-04_rb, 8.00077e-04_rb, 9.53647e-04_rb, 1.13669e-03_rb, 1.35487e-03_rb, & & 1.61493e-03_rb, 1.92491e-03_rb, 2.29438e-03_rb, 2.73477e-03_rb, 3.25969e-03_rb, & & 3.88537e-03_rb, 4.63114e-03_rb, 5.52005e-03_rb, 6.57958e-03_rb/) kao_mco2( 7, :, 8) = (/ & & 2.84939e-04_rb, 3.40606e-04_rb, 4.07149e-04_rb, 4.86691e-04_rb, 5.81774e-04_rb, & & 6.95432e-04_rb, 8.31295e-04_rb, 9.93700e-04_rb, 1.18783e-03_rb, 1.41989e-03_rb, & & 1.69729e-03_rb, 2.02888e-03_rb, 2.42526e-03_rb, 2.89907e-03_rb, 3.46544e-03_rb, & & 4.14246e-03_rb, 4.95176e-03_rb, 5.91915e-03_rb, 7.07554e-03_rb/) kao_mco2( 8, :, 8) = (/ & & 5.30764e-05_rb, 6.47812e-05_rb, 7.90673e-05_rb, 9.65039e-05_rb, 1.17786e-04_rb, & & 1.43761e-04_rb, 1.75464e-04_rb, 2.14159e-04_rb, 2.61387e-04_rb, 3.19030e-04_rb, & & 3.89385e-04_rb, 4.75255e-04_rb, 5.80062e-04_rb, 7.07982e-04_rb, 8.64111e-04_rb, & & 1.05467e-03_rb, 1.28726e-03_rb, 1.57113e-03_rb, 1.91761e-03_rb/) kao_mco2( 9, :, 8) = (/ & & 2.76806e-04_rb, 3.29639e-04_rb, 3.92556e-04_rb, 4.67481e-04_rb, 5.56708e-04_rb, & & 6.62964e-04_rb, 7.89501e-04_rb, 9.40190e-04_rb, 1.11964e-03_rb, 1.33334e-03_rb, & & 1.58783e-03_rb, 1.89089e-03_rb, 2.25180e-03_rb, 2.68159e-03_rb, 3.19341e-03_rb, & & 3.80293e-03_rb, 4.52878e-03_rb, 5.39316e-03_rb, 6.42253e-03_rb/) kao_mco2( 1, :, 9) = (/ & & 3.30614e-04_rb, 3.93289e-04_rb, 4.67844e-04_rb, 5.56534e-04_rb, 6.62036e-04_rb, & & 7.87539e-04_rb, 9.36833e-04_rb, 1.11443e-03_rb, 1.32569e-03_rb, 1.57700e-03_rb, & & 1.87596e-03_rb, 2.23158e-03_rb, 2.65463e-03_rb, 3.15787e-03_rb, 3.75650e-03_rb, & & 4.46862e-03_rb, 5.31575e-03_rb, 6.32345e-03_rb, 7.52219e-03_rb/) kao_mco2( 2, :, 9) = (/ & & 3.78453e-04_rb, 4.50735e-04_rb, 5.36824e-04_rb, 6.39355e-04_rb, 7.61469e-04_rb, & & 9.06906e-04_rb, 1.08012e-03_rb, 1.28642e-03_rb, 1.53212e-03_rb, 1.82475e-03_rb, & & 2.17326e-03_rb, 2.58835e-03_rb, 3.08271e-03_rb, 3.67149e-03_rb, 4.37273e-03_rb, & & 5.20790e-03_rb, 6.20259e-03_rb, 7.38725e-03_rb, 8.79818e-03_rb/) kao_mco2( 3, :, 9) = (/ & & 4.57576e-04_rb, 5.45512e-04_rb, 6.50348e-04_rb, 7.75330e-04_rb, 9.24332e-04_rb, & & 1.10197e-03_rb, 1.31374e-03_rb, 1.56621e-03_rb, 1.86721e-03_rb, 2.22604e-03_rb, & & 2.65384e-03_rb, 3.16385e-03_rb, 3.77187e-03_rb, 4.49675e-03_rb, 5.36092e-03_rb, & & 6.39117e-03_rb, 7.61942e-03_rb, 9.08370e-03_rb, 1.08294e-02_rb/) kao_mco2( 4, :, 9) = (/ & & 5.18277e-04_rb, 6.18764e-04_rb, 7.38735e-04_rb, 8.81967e-04_rb, 1.05297e-03_rb, & & 1.25713e-03_rb, 1.50087e-03_rb, 1.79187e-03_rb, 2.13929e-03_rb, 2.55407e-03_rb, & & 3.04928e-03_rb, 3.64050e-03_rb, 4.34635e-03_rb, 5.18905e-03_rb, 6.19514e-03_rb, & & 7.39631e-03_rb, 8.83036e-03_rb, 1.05425e-02_rb, 1.25865e-02_rb/) kao_mco2( 5, :, 9) = (/ & & 4.45365e-04_rb, 5.32106e-04_rb, 6.35742e-04_rb, 7.59563e-04_rb, 9.07500e-04_rb, & & 1.08425e-03_rb, 1.29542e-03_rb, 1.54773e-03_rb, 1.84917e-03_rb, 2.20933e-03_rb, & & 2.63963e-03_rb, 3.15374e-03_rb, 3.76797e-03_rb, 4.50184e-03_rb, 5.37865e-03_rb, & & 6.42622e-03_rb, 7.67783e-03_rb, 9.17320e-03_rb, 1.09598e-02_rb/) kao_mco2( 6, :, 9) = (/ & & 2.87301e-04_rb, 3.43009e-04_rb, 4.09519e-04_rb, 4.88926e-04_rb, 5.83730e-04_rb, & & 6.96916e-04_rb, 8.32050e-04_rb, 9.93386e-04_rb, 1.18601e-03_rb, 1.41597e-03_rb, & & 1.69053e-03_rb, 2.01833e-03_rb, 2.40969e-03_rb, 2.87693e-03_rb, 3.43478e-03_rb, & & 4.10079e-03_rb, 4.89594e-03_rb, 5.84527e-03_rb, 6.97867e-03_rb/) kao_mco2( 7, :, 9) = (/ & & 1.10743e-04_rb, 1.32286e-04_rb, 1.58020e-04_rb, 1.88760e-04_rb, 2.25480e-04_rb, & & 2.69342e-04_rb, 3.21738e-04_rb, 3.84326e-04_rb, 4.59090e-04_rb, 5.48397e-04_rb, & & 6.55078e-04_rb, 7.82511e-04_rb, 9.34734e-04_rb, 1.11657e-03_rb, 1.33378e-03_rb, & & 1.59324e-03_rb, 1.90318e-03_rb, 2.27340e-03_rb, 2.71565e-03_rb/) kao_mco2( 8, :, 9) = (/ & & 8.63177e-05_rb, 1.03067e-04_rb, 1.23066e-04_rb, 1.46946e-04_rb, 1.75459e-04_rb, & & 2.09505e-04_rb, 2.50158e-04_rb, 2.98698e-04_rb, 3.56658e-04_rb, 4.25864e-04_rb, & & 5.08498e-04_rb, 6.07168e-04_rb, 7.24982e-04_rb, 8.65658e-04_rb, 1.03363e-03_rb, & & 1.23420e-03_rb, 1.47368e-03_rb, 1.75963e-03_rb, 2.10107e-03_rb/) kao_mco2( 9, :, 9) = (/ & & 4.52715e-04_rb, 5.41540e-04_rb, 6.47792e-04_rb, 7.74892e-04_rb, 9.26929e-04_rb, & & 1.10880e-03_rb, 1.32635e-03_rb, 1.58658e-03_rb, 1.89787e-03_rb, 2.27024e-03_rb, & & 2.71568e-03_rb, 3.24850e-03_rb, 3.88587e-03_rb, 4.64830e-03_rb, 5.56031e-03_rb, & & 6.65127e-03_rb, 7.95627e-03_rb, 9.51732e-03_rb, 1.13847e-02_rb/) kao_mco2( 1, :,10) = (/ & & 9.10418e-04_rb, 1.08631e-03_rb, 1.29619e-03_rb, 1.54662e-03_rb, 1.84543e-03_rb, & & 2.20198e-03_rb, 2.62741e-03_rb, 3.13503e-03_rb, 3.74073e-03_rb, 4.46344e-03_rb, & & 5.32580e-03_rb, 6.35476e-03_rb, 7.58251e-03_rb, 9.04748e-03_rb, 1.07955e-02_rb, & & 1.28812e-02_rb, 1.53699e-02_rb, 1.83394e-02_rb, 2.18826e-02_rb/) kao_mco2( 2, :,10) = (/ & & 9.06680e-04_rb, 1.08622e-03_rb, 1.30130e-03_rb, 1.55898e-03_rb, 1.86768e-03_rb, & & 2.23750e-03_rb, 2.68056e-03_rb, 3.21135e-03_rb, 3.84724e-03_rb, 4.60905e-03_rb, & & 5.52171e-03_rb, 6.61508e-03_rb, 7.92496e-03_rb, 9.49421e-03_rb, 1.13742e-02_rb, & & 1.36265e-02_rb, 1.63247e-02_rb, 1.95572e-02_rb, 2.34298e-02_rb/) kao_mco2( 3, :,10) = (/ & & 8.17976e-04_rb, 9.79458e-04_rb, 1.17282e-03_rb, 1.40435e-03_rb, 1.68160e-03_rb, & & 2.01357e-03_rb, 2.41108e-03_rb, 2.88707e-03_rb, 3.45703e-03_rb, 4.13950e-03_rb, & & 4.95671e-03_rb, 5.93525e-03_rb, 7.10696e-03_rb, 8.51000e-03_rb, 1.01900e-02_rb, & & 1.22017e-02_rb, 1.46105e-02_rb, 1.74949e-02_rb, 2.09486e-02_rb/) kao_mco2( 4, :,10) = (/ & & 3.70314e-04_rb, 4.41440e-04_rb, 5.26226e-04_rb, 6.27298e-04_rb, 7.47782e-04_rb, & & 8.91407e-04_rb, 1.06262e-03_rb, 1.26671e-03_rb, 1.51001e-03_rb, 1.80003e-03_rb, & & 2.14576e-03_rb, 2.55789e-03_rb, 3.04918e-03_rb, 3.63483e-03_rb, 4.33297e-03_rb, & & 5.16520e-03_rb, 6.15727e-03_rb, 7.33988e-03_rb, 8.74963e-03_rb/) kao_mco2( 5, :,10) = (/ & & 1.00859e-04_rb, 1.19692e-04_rb, 1.42041e-04_rb, 1.68563e-04_rb, 2.00038e-04_rb, & & 2.37389e-04_rb, 2.81715e-04_rb, 3.34318e-04_rb, 3.96742e-04_rb, 4.70823e-04_rb, & & 5.58736e-04_rb, 6.63065e-04_rb, 7.86874e-04_rb, 9.33801e-04_rb, 1.10816e-03_rb, & & 1.31508e-03_rb, 1.56064e-03_rb, 1.85204e-03_rb, 2.19786e-03_rb/) kao_mco2( 6, :,10) = (/ & & 9.24477e-05_rb, 1.09659e-04_rb, 1.30074e-04_rb, 1.54290e-04_rb, 1.83015e-04_rb, & & 2.17087e-04_rb, 2.57503e-04_rb, 3.05442e-04_rb, 3.62307e-04_rb, 4.29759e-04_rb, & & 5.09768e-04_rb, 6.04672e-04_rb, 7.17245e-04_rb, 8.50776e-04_rb, 1.00917e-03_rb, & & 1.19704e-03_rb, 1.41990e-03_rb, 1.68425e-03_rb, 1.99780e-03_rb/) kao_mco2( 7, :,10) = (/ & & 8.42943e-05_rb, 1.00044e-04_rb, 1.18735e-04_rb, 1.40919e-04_rb, 1.67248e-04_rb, & & 1.98496e-04_rb, 2.35582e-04_rb, 2.79597e-04_rb, 3.31836e-04_rb, 3.93835e-04_rb, & & 4.67418e-04_rb, 5.54748e-04_rb, 6.58395e-04_rb, 7.81407e-04_rb, 9.27402e-04_rb, & & 1.10067e-03_rb, 1.30632e-03_rb, 1.55039e-03_rb, 1.84005e-03_rb/) kao_mco2( 8, :,10) = (/ & & 6.86464e-05_rb, 8.18163e-05_rb, 9.75129e-05_rb, 1.16221e-04_rb, 1.38518e-04_rb, & & 1.65093e-04_rb, 1.96767e-04_rb, 2.34517e-04_rb, 2.79509e-04_rb, 3.33133e-04_rb, & & 3.97046e-04_rb, 4.73220e-04_rb, 5.64008e-04_rb, 6.72214e-04_rb, 8.01179e-04_rb, & & 9.54887e-04_rb, 1.13808e-03_rb, 1.35643e-03_rb, 1.61666e-03_rb/) kao_mco2( 9, :,10) = (/ & & 1.03095e-04_rb, 1.21985e-04_rb, 1.44335e-04_rb, 1.70781e-04_rb, 2.02072e-04_rb, & & 2.39096e-04_rb, 2.82904e-04_rb, 3.34739e-04_rb, 3.96070e-04_rb, 4.68639e-04_rb, & & 5.54505e-04_rb, 6.56103e-04_rb, 7.76316e-04_rb, 9.18556e-04_rb, 1.08686e-03_rb, & & 1.28599e-03_rb, 1.52162e-03_rb, 1.80041e-03_rb, 2.13029e-03_rb/) kao_mco2( 1, :,11) = (/ & & 1.01275e-03_rb, 1.21433e-03_rb, 1.45605e-03_rb, 1.74587e-03_rb, 2.09339e-03_rb, & & 2.51007e-03_rb, 3.00970e-03_rb, 3.60878e-03_rb, 4.32711e-03_rb, 5.18842e-03_rb, & & 6.22117e-03_rb, 7.45950e-03_rb, 8.94430e-03_rb, 1.07247e-02_rb, 1.28594e-02_rb, & & 1.54191e-02_rb, 1.84882e-02_rb, 2.21683e-02_rb, 2.65809e-02_rb/) kao_mco2( 2, :,11) = (/ & & 1.06856e-03_rb, 1.27885e-03_rb, 1.53052e-03_rb, 1.83171e-03_rb, 2.19218e-03_rb, & & 2.62359e-03_rb, 3.13990e-03_rb, 3.75781e-03_rb, 4.49732e-03_rb, 5.38236e-03_rb, & & 6.44158e-03_rb, 7.70924e-03_rb, 9.22637e-03_rb, 1.10421e-02_rb, 1.32151e-02_rb, & & 1.58157e-02_rb, 1.89281e-02_rb, 2.26531e-02_rb, 2.71110e-02_rb/) kao_mco2( 3, :,11) = (/ & & 7.34896e-04_rb, 8.77863e-04_rb, 1.04864e-03_rb, 1.25265e-03_rb, 1.49634e-03_rb, & & 1.78744e-03_rb, 2.13516e-03_rb, 2.55054e-03_rb, 3.04672e-03_rb, 3.63943e-03_rb, & & 4.34745e-03_rb, 5.19321e-03_rb, 6.20349e-03_rb, 7.41032e-03_rb, 8.85192e-03_rb, & & 1.05740e-02_rb, 1.26311e-02_rb, 1.50883e-02_rb, 1.80236e-02_rb/) kao_mco2( 4, :,11) = (/ & & 5.89491e-05_rb, 7.12560e-05_rb, 8.61322e-05_rb, 1.04114e-04_rb, 1.25850e-04_rb, & & 1.52124e-04_rb, 1.83883e-04_rb, 2.22272e-04_rb, 2.68676e-04_rb, 3.24768e-04_rb, & & 3.92571e-04_rb, 4.74528e-04_rb, 5.73595e-04_rb, 6.93346e-04_rb, 8.38096e-04_rb, & & 1.01307e-03_rb, 1.22457e-03_rb, 1.48022e-03_rb, 1.78924e-03_rb/) kao_mco2( 5, :,11) = (/ & & 5.32400e-05_rb, 6.45465e-05_rb, 7.82542e-05_rb, 9.48731e-05_rb, 1.15021e-04_rb, & & 1.39448e-04_rb, 1.69063e-04_rb, 2.04966e-04_rb, 2.48495e-04_rb, 3.01268e-04_rb, & & 3.65248e-04_rb, 4.42816e-04_rb, 5.36856e-04_rb, 6.50868e-04_rb, 7.89092e-04_rb, & & 9.56672e-04_rb, 1.15984e-03_rb, 1.40615e-03_rb, 1.70478e-03_rb/) kao_mco2( 6, :,11) = (/ & & 5.31408e-05_rb, 6.42409e-05_rb, 7.76597e-05_rb, 9.38814e-05_rb, 1.13491e-04_rb, & & 1.37198e-04_rb, 1.65856e-04_rb, 2.00500e-04_rb, 2.42381e-04_rb, 2.93010e-04_rb, & & 3.54214e-04_rb, 4.28203e-04_rb, 5.17647e-04_rb, 6.25774e-04_rb, 7.56486e-04_rb, & & 9.14503e-04_rb, 1.10553e-03_rb, 1.33645e-03_rb, 1.61561e-03_rb/) kao_mco2( 7, :,11) = (/ & & 5.24517e-05_rb, 6.32485e-05_rb, 7.62676e-05_rb, 9.19667e-05_rb, 1.10897e-04_rb, & & 1.33725e-04_rb, 1.61251e-04_rb, 1.94443e-04_rb, 2.34467e-04_rb, 2.82730e-04_rb, & & 3.40928e-04_rb, 4.11106e-04_rb, 4.95728e-04_rb, 5.97770e-04_rb, 7.20816e-04_rb, & & 8.69190e-04_rb, 1.04811e-03_rb, 1.26385e-03_rb, 1.52400e-03_rb/) kao_mco2( 8, :,11) = (/ & & 5.01768e-05_rb, 6.02217e-05_rb, 7.22774e-05_rb, 8.67466e-05_rb, 1.04112e-04_rb, & & 1.24955e-04_rb, 1.49969e-04_rb, 1.79991e-04_rb, 2.16024e-04_rb, 2.59270e-04_rb, & & 3.11173e-04_rb, 3.73467e-04_rb, 4.48231e-04_rb, 5.37962e-04_rb, 6.45656e-04_rb, & & 7.74910e-04_rb, 9.30039e-04_rb, 1.11622e-03_rb, 1.33968e-03_rb/) kao_mco2( 9, :,11) = (/ & & 5.46391e-05_rb, 6.58765e-05_rb, 7.94252e-05_rb, 9.57603e-05_rb, 1.15455e-04_rb, & & 1.39200e-04_rb, 1.67829e-04_rb, 2.02346e-04_rb, 2.43962e-04_rb, 2.94137e-04_rb, & & 3.54632e-04_rb, 4.27568e-04_rb, 5.15504e-04_rb, 6.21526e-04_rb, 7.49353e-04_rb, & & 9.03471e-04_rb, 1.08929e-03_rb, 1.31331e-03_rb, 1.58342e-03_rb/) kao_mco2( 1, :,12) = (/ & & 1.18469e-03_rb, 1.41755e-03_rb, 1.69619e-03_rb, 2.02959e-03_rb, 2.42854e-03_rb, & & 2.90589e-03_rb, 3.47708e-03_rb, 4.16055e-03_rb, 4.97836e-03_rb, 5.95691e-03_rb, & & 7.12782e-03_rb, 8.52889e-03_rb, 1.02053e-02_rb, 1.22113e-02_rb, 1.46116e-02_rb, & & 1.74837e-02_rb, 2.09204e-02_rb, 2.50325e-02_rb, 2.99530e-02_rb/) kao_mco2( 2, :,12) = (/ & & 1.09092e-03_rb, 1.30288e-03_rb, 1.55602e-03_rb, 1.85834e-03_rb, 2.21940e-03_rb, & & 2.65061e-03_rb, 3.16560e-03_rb, 3.78064e-03_rb, 4.51519e-03_rb, 5.39245e-03_rb, & & 6.44016e-03_rb, 7.69143e-03_rb, 9.18580e-03_rb, 1.09705e-02_rb, 1.31020e-02_rb, & & 1.56476e-02_rb, 1.86878e-02_rb, 2.23187e-02_rb, 2.66550e-02_rb/) kao_mco2( 3, :,12) = (/ & & 3.97521e-04_rb, 4.74103e-04_rb, 5.65438e-04_rb, 6.74369e-04_rb, 8.04285e-04_rb, & & 9.59228e-04_rb, 1.14402e-03_rb, 1.36442e-03_rb, 1.62727e-03_rb, 1.94076e-03_rb, & & 2.31464e-03_rb, 2.76055e-03_rb, 3.29237e-03_rb, 3.92663e-03_rb, 4.68309e-03_rb, & & 5.58528e-03_rb, 6.66128e-03_rb, 7.94456e-03_rb, 9.47505e-03_rb/) kao_mco2( 4, :,12) = (/ & & 7.18557e-05_rb, 8.56230e-05_rb, 1.02028e-04_rb, 1.21576e-04_rb, 1.44870e-04_rb, & & 1.72626e-04_rb, 2.05701e-04_rb, 2.45112e-04_rb, 2.92075e-04_rb, 3.48035e-04_rb, & & 4.14718e-04_rb, 4.94176e-04_rb, 5.88858e-04_rb, 7.01682e-04_rb, 8.36121e-04_rb, & & 9.96319e-04_rb, 1.18721e-03_rb, 1.41467e-03_rb, 1.68572e-03_rb/) kao_mco2( 5, :,12) = (/ & & 7.33026e-05_rb, 8.69077e-05_rb, 1.03038e-04_rb, 1.22162e-04_rb, 1.44836e-04_rb, & & 1.71717e-04_rb, 2.03588e-04_rb, 2.41375e-04_rb, 2.86175e-04_rb, 3.39289e-04_rb, & & 4.02262e-04_rb, 4.76923e-04_rb, 5.65440e-04_rb, 6.70387e-04_rb, 7.94812e-04_rb, & & 9.42331e-04_rb, 1.11723e-03_rb, 1.32459e-03_rb, 1.57044e-03_rb/) kao_mco2( 6, :,12) = (/ & & 7.44053e-05_rb, 8.82167e-05_rb, 1.04592e-04_rb, 1.24007e-04_rb, 1.47025e-04_rb, & & 1.74317e-04_rb, 2.06674e-04_rb, 2.45038e-04_rb, 2.90523e-04_rb, 3.44451e-04_rb, & & 4.08389e-04_rb, 4.84196e-04_rb, 5.74074e-04_rb, 6.80637e-04_rb, 8.06979e-04_rb, & & 9.56774e-04_rb, 1.13437e-03_rb, 1.34494e-03_rb, 1.59459e-03_rb/) kao_mco2( 7, :,12) = (/ & & 7.68762e-05_rb, 9.11305e-05_rb, 1.08028e-04_rb, 1.28058e-04_rb, 1.51802e-04_rb, & & 1.79949e-04_rb, 2.13315e-04_rb, 2.52868e-04_rb, 2.99754e-04_rb, 3.55334e-04_rb, & & 4.21220e-04_rb, 4.99322e-04_rb, 5.91905e-04_rb, 7.01656e-04_rb, 8.31756e-04_rb, & & 9.85979e-04_rb, 1.16880e-03_rb, 1.38551e-03_rb, 1.64241e-03_rb/) kao_mco2( 8, :,12) = (/ & & 8.45996e-05_rb, 1.00214e-04_rb, 1.18711e-04_rb, 1.40622e-04_rb, 1.66577e-04_rb, & & 1.97323e-04_rb, 2.33743e-04_rb, 2.76885e-04_rb, 3.27991e-04_rb, 3.88529e-04_rb, & & 4.60241e-04_rb, 5.45189e-04_rb, 6.45816e-04_rb, 7.65016e-04_rb, 9.06216e-04_rb, & & 1.07348e-03_rb, 1.27161e-03_rb, 1.50632e-03_rb, 1.78434e-03_rb/) kao_mco2( 9, :,12) = (/ & & 7.73583e-05_rb, 9.16767e-05_rb, 1.08645e-04_rb, 1.28755e-04_rb, 1.52586e-04_rb, & & 1.80829e-04_rb, 2.14299e-04_rb, 2.53964e-04_rb, 3.00970e-04_rb, 3.56678e-04_rb, & & 4.22696e-04_rb, 5.00934e-04_rb, 5.93652e-04_rb, 7.03533e-04_rb, 8.33751e-04_rb, & & 9.88072e-04_rb, 1.17096e-03_rb, 1.38769e-03_rb, 1.64454e-03_rb/) kao_mco2( 1, :,13) = (/ & & 1.20952e-03_rb, 1.44504e-03_rb, 1.72642e-03_rb, 2.06260e-03_rb, 2.46423e-03_rb, & & 2.94407e-03_rb, 3.51735e-03_rb, 4.20226e-03_rb, 5.02053e-03_rb, 5.99814e-03_rb, & & 7.16612e-03_rb, 8.56153e-03_rb, 1.02287e-02_rb, 1.22204e-02_rb, 1.46000e-02_rb, & & 1.74430e-02_rb, 2.08395e-02_rb, 2.48974e-02_rb, 2.97455e-02_rb/) kao_mco2( 2, :,13) = (/ & & 8.47667e-04_rb, 1.01027e-03_rb, 1.20407e-03_rb, 1.43505e-03_rb, 1.71034e-03_rb, & & 2.03843e-03_rb, 2.42946e-03_rb, 2.89550e-03_rb, 3.45094e-03_rb, 4.11293e-03_rb, & & 4.90192e-03_rb, 5.84225e-03_rb, 6.96296e-03_rb, 8.29866e-03_rb, 9.89058e-03_rb, & & 1.17879e-02_rb, 1.40492e-02_rb, 1.67442e-02_rb, 1.99562e-02_rb/) kao_mco2( 3, :,13) = (/ & & 1.45612e-04_rb, 1.71739e-04_rb, 2.02554e-04_rb, 2.38897e-04_rb, 2.81762e-04_rb, & & 3.32318e-04_rb, 3.91945e-04_rb, 4.62271e-04_rb, 5.45215e-04_rb, 6.43041e-04_rb, & & 7.58421e-04_rb, 8.94503e-04_rb, 1.05500e-03_rb, 1.24430e-03_rb, 1.46756e-03_rb, & & 1.73088e-03_rb, 2.04145e-03_rb, 2.40774e-03_rb, 2.83975e-03_rb/) kao_mco2( 4, :,13) = (/ & & 1.40167e-04_rb, 1.65266e-04_rb, 1.94858e-04_rb, 2.29750e-04_rb, 2.70889e-04_rb, & & 3.19394e-04_rb, 3.76585e-04_rb, 4.44016e-04_rb, 5.23522e-04_rb, 6.17264e-04_rb, & & 7.27791e-04_rb, 8.58110e-04_rb, 1.01176e-03_rb, 1.19293e-03_rb, 1.40654e-03_rb, & & 1.65839e-03_rb, 1.95534e-03_rb, 2.30547e-03_rb, 2.71828e-03_rb/) kao_mco2( 5, :,13) = (/ & & 1.37406e-04_rb, 1.61990e-04_rb, 1.90973e-04_rb, 2.25141e-04_rb, 2.65423e-04_rb, & & 3.12911e-04_rb, 3.68896e-04_rb, 4.34898e-04_rb, 5.12709e-04_rb, 6.04442e-04_rb, & & 7.12587e-04_rb, 8.40082e-04_rb, 9.90387e-04_rb, 1.16758e-03_rb, 1.37648e-03_rb, & & 1.62276e-03_rb, 1.91310e-03_rb, 2.25539e-03_rb, 2.65892e-03_rb/) kao_mco2( 6, :,13) = (/ & & 1.35356e-04_rb, 1.59577e-04_rb, 1.88132e-04_rb, 2.21797e-04_rb, 2.61485e-04_rb, & & 3.08276e-04_rb, 3.63440e-04_rb, 4.28475e-04_rb, 5.05147e-04_rb, 5.95539e-04_rb, & & 7.02106e-04_rb, 8.27743e-04_rb, 9.75861e-04_rb, 1.15048e-03_rb, 1.35635e-03_rb, & & 1.59906e-03_rb, 1.88520e-03_rb, 2.22255e-03_rb, 2.62025e-03_rb/) kao_mco2( 7, :,13) = (/ & & 1.33359e-04_rb, 1.57252e-04_rb, 1.85424e-04_rb, 2.18645e-04_rb, 2.57817e-04_rb, & & 3.04007e-04_rb, 3.58472e-04_rb, 4.22695e-04_rb, 4.98425e-04_rb, 5.87722e-04_rb, & & 6.93017e-04_rb, 8.17177e-04_rb, 9.63581e-04_rb, 1.13621e-03_rb, 1.33978e-03_rb, & & 1.57981e-03_rb, 1.86284e-03_rb, 2.19659e-03_rb, 2.59012e-03_rb/) kao_mco2( 8, :,13) = (/ & & 1.29667e-04_rb, 1.53001e-04_rb, 1.80534e-04_rb, 2.13022e-04_rb, 2.51356e-04_rb, & & 2.96589e-04_rb, 3.49961e-04_rb, 4.12938e-04_rb, 4.87249e-04_rb, 5.74931e-04_rb, & & 6.78393e-04_rb, 8.00473e-04_rb, 9.44521e-04_rb, 1.11449e-03_rb, 1.31505e-03_rb, & & 1.55170e-03_rb, 1.83094e-03_rb, 2.16042e-03_rb, 2.54920e-03_rb/) kao_mco2( 9, :,13) = (/ & & 1.37892e-04_rb, 1.62557e-04_rb, 1.91635e-04_rb, 2.25914e-04_rb, 2.66324e-04_rb, & & 3.13963e-04_rb, 3.70124e-04_rb, 4.36330e-04_rb, 5.14379e-04_rb, 6.06389e-04_rb, & & 7.14858e-04_rb, 8.42730e-04_rb, 9.93473e-04_rb, 1.17118e-03_rb, 1.38068e-03_rb, & & 1.62765e-03_rb, 1.91880e-03_rb, 2.26202e-03_rb, 2.66665e-03_rb/) kao_mco2( 1, :,14) = (/ & & 1.28098e-03_rb, 1.52939e-03_rb, 1.82597e-03_rb, 2.18007e-03_rb, 2.60284e-03_rb, & & 3.10759e-03_rb, 3.71022e-03_rb, 4.42972e-03_rb, 5.28874e-03_rb, 6.31435e-03_rb, & & 7.53885e-03_rb, 9.00081e-03_rb, 1.07463e-02_rb, 1.28302e-02_rb, 1.53183e-02_rb, & & 1.82889e-02_rb, 2.18355e-02_rb, 2.60699e-02_rb, 3.11255e-02_rb/) kao_mco2( 2, :,14) = (/ & & 1.27275e-04_rb, 1.48842e-04_rb, 1.74064e-04_rb, 2.03561e-04_rb, 2.38055e-04_rb, & & 2.78395e-04_rb, 3.25570e-04_rb, 3.80740e-04_rb, 4.45259e-04_rb, 5.20710e-04_rb, & & 6.08947e-04_rb, 7.12137e-04_rb, 8.32812e-04_rb, 9.73937e-04_rb, 1.13898e-03_rb, & & 1.33198e-03_rb, 1.55769e-03_rb, 1.82165e-03_rb, 2.13034e-03_rb/) kao_mco2( 3, :,14) = (/ & & 1.27744e-04_rb, 1.49255e-04_rb, 1.74389e-04_rb, 2.03755e-04_rb, 2.38066e-04_rb, & & 2.78155e-04_rb, 3.24995e-04_rb, 3.79722e-04_rb, 4.43666e-04_rb, 5.18376e-04_rb, & & 6.05668e-04_rb, 7.07660e-04_rb, 8.26826e-04_rb, 9.66059e-04_rb, 1.12874e-03_rb, & & 1.31881e-03_rb, 1.54089e-03_rb, 1.80037e-03_rb, 2.10354e-03_rb/) kao_mco2( 4, :,14) = (/ & & 1.28543e-04_rb, 1.50136e-04_rb, 1.75357e-04_rb, 2.04814e-04_rb, 2.39219e-04_rb, & & 2.79404e-04_rb, 3.26339e-04_rb, 3.81159e-04_rb, 4.45188e-04_rb, 5.19972e-04_rb, & & 6.07319e-04_rb, 7.09339e-04_rb, 8.28496e-04_rb, 9.67670e-04_rb, 1.13022e-03_rb, & & 1.32008e-03_rb, 1.54184e-03_rb, 1.80084e-03_rb, 2.10335e-03_rb/) kao_mco2( 5, :,14) = (/ & & 1.29218e-04_rb, 1.50897e-04_rb, 1.76214e-04_rb, 2.05778e-04_rb, 2.40302e-04_rb, & & 2.80618e-04_rb, 3.27698e-04_rb, 3.82678e-04_rb, 4.46881e-04_rb, 5.21855e-04_rb, & & 6.09409e-04_rb, 7.11652e-04_rb, 8.31048e-04_rb, 9.70475e-04_rb, 1.13330e-03_rb, & & 1.32343e-03_rb, 1.54547e-03_rb, 1.80476e-03_rb, 2.10755e-03_rb/) kao_mco2( 6, :,14) = (/ & & 1.30502e-04_rb, 1.52368e-04_rb, 1.77898e-04_rb, 2.07706e-04_rb, 2.42508e-04_rb, & & 2.83141e-04_rb, 3.30583e-04_rb, 3.85974e-04_rb, 4.50646e-04_rb, 5.26153e-04_rb, & & 6.14313e-04_rb, 7.17244e-04_rb, 8.37422e-04_rb, 9.77736e-04_rb, 1.14156e-03_rb, & & 1.33283e-03_rb, 1.55616e-03_rb, 1.81690e-03_rb, 2.12133e-03_rb/) kao_mco2( 7, :,14) = (/ & & 1.32820e-04_rb, 1.55041e-04_rb, 1.80980e-04_rb, 2.11259e-04_rb, 2.46604e-04_rb, & & 2.87862e-04_rb, 3.36022e-04_rb, 3.92240e-04_rb, 4.57864e-04_rb, 5.34467e-04_rb, & & 6.23886e-04_rb, 7.28265e-04_rb, 8.50107e-04_rb, 9.92334e-04_rb, 1.15836e-03_rb, & & 1.35215e-03_rb, 1.57838e-03_rb, 1.84244e-03_rb, 2.15069e-03_rb/) kao_mco2( 8, :,14) = (/ & & 1.40203e-04_rb, 1.63590e-04_rb, 1.90879e-04_rb, 2.22720e-04_rb, 2.59872e-04_rb, & & 3.03221e-04_rb, 3.53801e-04_rb, 4.12819e-04_rb, 4.81681e-04_rb, 5.62031e-04_rb, & & 6.55783e-04_rb, 7.65175e-04_rb, 8.92814e-04_rb, 1.04174e-03_rb, 1.21552e-03_rb, & & 1.41828e-03_rb, 1.65486e-03_rb, 1.93091e-03_rb, 2.25301e-03_rb/) kao_mco2( 9, :,14) = (/ & & 1.30642e-04_rb, 1.52513e-04_rb, 1.78046e-04_rb, 2.07853e-04_rb, 2.42651e-04_rb, & & 2.83275e-04_rb, 3.30699e-04_rb, 3.86063e-04_rb, 4.50696e-04_rb, 5.26149e-04_rb, & & 6.14234e-04_rb, 7.17066e-04_rb, 8.37113e-04_rb, 9.77259e-04_rb, 1.14087e-03_rb, & & 1.33186e-03_rb, 1.55484e-03_rb, 1.81514e-03_rb, 2.11902e-03_rb/) kao_mco2( 1, :,15) = (/ & & 1.37603e-03_rb, 1.64035e-03_rb, 1.95543e-03_rb, 2.33105e-03_rb, 2.77881e-03_rb, & & 3.31257e-03_rb, 3.94887e-03_rb, 4.70739e-03_rb, 5.61162e-03_rb, 6.68952e-03_rb, & & 7.97449e-03_rb, 9.50627e-03_rb, 1.13323e-02_rb, 1.35091e-02_rb, 1.61039e-02_rb, & & 1.91973e-02_rb, 2.28848e-02_rb, 2.72806e-02_rb, 3.25208e-02_rb/) kao_mco2( 2, :,15) = (/ & & 1.67843e-04_rb, 1.93707e-04_rb, 2.23557e-04_rb, 2.58007e-04_rb, 2.97765e-04_rb, & & 3.43650e-04_rb, 3.96606e-04_rb, 4.57722e-04_rb, 5.28256e-04_rb, 6.09659e-04_rb, & & 7.03606e-04_rb, 8.12031e-04_rb, 9.37163e-04_rb, 1.08158e-03_rb, 1.24825e-03_rb, & & 1.44060e-03_rb, 1.66259e-03_rb, 1.91880e-03_rb, 2.21448e-03_rb/) kao_mco2( 3, :,15) = (/ & & 1.67595e-04_rb, 1.93410e-04_rb, 2.23200e-04_rb, 2.57579e-04_rb, 2.97253e-04_rb, & & 3.43039e-04_rb, 3.95876e-04_rb, 4.56852e-04_rb, 5.27220e-04_rb, 6.08426e-04_rb, & & 7.02141e-04_rb, 8.10291e-04_rb, 9.35098e-04_rb, 1.07913e-03_rb, 1.24534e-03_rb, & & 1.43716e-03_rb, 1.65853e-03_rb, 1.91398e-03_rb, 2.20879e-03_rb/) kao_mco2( 4, :,15) = (/ & & 1.67354e-04_rb, 1.93130e-04_rb, 2.22877e-04_rb, 2.57206e-04_rb, 2.96823e-04_rb, & & 3.42541e-04_rb, 3.95301e-04_rb, 4.56187e-04_rb, 5.26452e-04_rb, 6.07539e-04_rb, & & 7.01116e-04_rb, 8.09106e-04_rb, 9.33728e-04_rb, 1.07755e-03_rb, 1.24352e-03_rb, & & 1.43505e-03_rb, 1.65608e-03_rb, 1.91116e-03_rb, 2.20553e-03_rb/) kao_mco2( 5, :,15) = (/ & & 1.67437e-04_rb, 1.93232e-04_rb, 2.23002e-04_rb, 2.57358e-04_rb, 2.97006e-04_rb, & & 3.42763e-04_rb, 3.95570e-04_rb, 4.56511e-04_rb, 5.26842e-04_rb, 6.08007e-04_rb, & & 7.01677e-04_rb, 8.09778e-04_rb, 9.34533e-04_rb, 1.07851e-03_rb, 1.24466e-03_rb, & & 1.43642e-03_rb, 1.65771e-03_rb, 1.91310e-03_rb, 2.20783e-03_rb/) kao_mco2( 6, :,15) = (/ & & 1.67267e-04_rb, 1.93027e-04_rb, 2.22753e-04_rb, 2.57057e-04_rb, 2.96645e-04_rb, & & 3.42328e-04_rb, 3.95047e-04_rb, 4.55885e-04_rb, 5.26092e-04_rb, 6.07110e-04_rb, & & 7.00606e-04_rb, 8.08500e-04_rb, 9.33010e-04_rb, 1.07669e-03_rb, 1.24251e-03_rb, & & 1.43385e-03_rb, 1.65467e-03_rb, 1.90949e-03_rb, 2.20355e-03_rb/) kao_mco2( 7, :,15) = (/ & & 1.67354e-04_rb, 1.93130e-04_rb, 2.22877e-04_rb, 2.57206e-04_rb, 2.96823e-04_rb, & & 3.42541e-04_rb, 3.95301e-04_rb, 4.56187e-04_rb, 5.26452e-04_rb, 6.07539e-04_rb, & & 7.01116e-04_rb, 8.09106e-04_rb, 9.33728e-04_rb, 1.07755e-03_rb, 1.24352e-03_rb, & & 1.43505e-03_rb, 1.65608e-03_rb, 1.91116e-03_rb, 2.20553e-03_rb/) kao_mco2( 8, :,15) = (/ & & 1.67276e-04_rb, 1.93038e-04_rb, 2.22769e-04_rb, 2.57079e-04_rb, 2.96673e-04_rb, & & 3.42365e-04_rb, 3.95094e-04_rb, 4.55944e-04_rb, 5.26166e-04_rb, 6.07203e-04_rb, & & 7.00722e-04_rb, 8.08643e-04_rb, 9.33186e-04_rb, 1.07691e-03_rb, 1.24277e-03_rb, & & 1.43417e-03_rb, 1.65506e-03_rb, 1.90996e-03_rb, 2.20412e-03_rb/) kao_mco2( 9, :,15) = (/ & & 1.67437e-04_rb, 1.93232e-04_rb, 2.23002e-04_rb, 2.57358e-04_rb, 2.97006e-04_rb, & & 3.42763e-04_rb, 3.95570e-04_rb, 4.56511e-04_rb, 5.26842e-04_rb, 6.08007e-04_rb, & & 7.01677e-04_rb, 8.09778e-04_rb, 9.34533e-04_rb, 1.07851e-03_rb, 1.24466e-03_rb, & & 1.43642e-03_rb, 1.65771e-03_rb, 1.91310e-03_rb, 2.20783e-03_rb/) kao_mco2( 1, :,16) = (/ & & 1.42104e-03_rb, 1.69791e-03_rb, 2.02872e-03_rb, 2.42399e-03_rb, 2.89626e-03_rb, & & 3.46055e-03_rb, 4.13478e-03_rb, 4.94038e-03_rb, 5.90294e-03_rb, 7.05303e-03_rb, & & 8.42720e-03_rb, 1.00691e-02_rb, 1.20309e-02_rb, 1.43749e-02_rb, 1.71757e-02_rb, & & 2.05221e-02_rb, 2.45205e-02_rb, 2.92979e-02_rb, 3.50061e-02_rb/) kao_mco2( 2, :,16) = (/ & & 1.63777e-04_rb, 1.88736e-04_rb, 2.17498e-04_rb, 2.50643e-04_rb, 2.88839e-04_rb, & & 3.32857e-04_rb, 3.83582e-04_rb, 4.42037e-04_rb, 5.09401e-04_rb, 5.87030e-04_rb, & & 6.76490e-04_rb, 7.79583e-04_rb, 8.98386e-04_rb, 1.03530e-03_rb, 1.19307e-03_rb, & & 1.37488e-03_rb, 1.58441e-03_rb, 1.82586e-03_rb, 2.10411e-03_rb/) kao_mco2( 3, :,16) = (/ & & 1.63679e-04_rb, 1.88621e-04_rb, 2.17365e-04_rb, 2.50489e-04_rb, 2.88661e-04_rb, & & 3.32650e-04_rb, 3.83342e-04_rb, 4.41759e-04_rb, 5.09079e-04_rb, 5.86657e-04_rb, & & 6.76057e-04_rb, 7.79080e-04_rb, 8.97804e-04_rb, 1.03462e-03_rb, 1.19228e-03_rb, & & 1.37397e-03_rb, 1.58335e-03_rb, 1.82464e-03_rb, 2.10269e-03_rb/) kao_mco2( 4, :,16) = (/ & & 1.63679e-04_rb, 1.88621e-04_rb, 2.17365e-04_rb, 2.50489e-04_rb, 2.88661e-04_rb, & & 3.32650e-04_rb, 3.83342e-04_rb, 4.41759e-04_rb, 5.09079e-04_rb, 5.86657e-04_rb, & & 6.76057e-04_rb, 7.79080e-04_rb, 8.97804e-04_rb, 1.03462e-03_rb, 1.19228e-03_rb, & & 1.37397e-03_rb, 1.58335e-03_rb, 1.82464e-03_rb, 2.10269e-03_rb/) kao_mco2( 5, :,16) = (/ & & 1.63586e-04_rb, 1.88513e-04_rb, 2.17239e-04_rb, 2.50343e-04_rb, 2.88490e-04_rb, & & 3.32451e-04_rb, 3.83111e-04_rb, 4.41490e-04_rb, 5.08766e-04_rb, 5.86292e-04_rb, & & 6.75633e-04_rb, 7.78588e-04_rb, 8.97231e-04_rb, 1.03395e-03_rb, 1.19151e-03_rb, & & 1.37307e-03_rb, 1.58231e-03_rb, 1.82342e-03_rb, 2.10128e-03_rb/) kao_mco2( 6, :,16) = (/ & & 1.63679e-04_rb, 1.88621e-04_rb, 2.17365e-04_rb, 2.50489e-04_rb, 2.88661e-04_rb, & & 3.32650e-04_rb, 3.83342e-04_rb, 4.41759e-04_rb, 5.09079e-04_rb, 5.86657e-04_rb, & & 6.76057e-04_rb, 7.79080e-04_rb, 8.97804e-04_rb, 1.03462e-03_rb, 1.19228e-03_rb, & & 1.37397e-03_rb, 1.58335e-03_rb, 1.82464e-03_rb, 2.10269e-03_rb/) kao_mco2( 7, :,16) = (/ & & 1.63679e-04_rb, 1.88621e-04_rb, 2.17365e-04_rb, 2.50489e-04_rb, 2.88661e-04_rb, & & 3.32650e-04_rb, 3.83342e-04_rb, 4.41759e-04_rb, 5.09079e-04_rb, 5.86657e-04_rb, & & 6.76057e-04_rb, 7.79080e-04_rb, 8.97804e-04_rb, 1.03462e-03_rb, 1.19228e-03_rb, & & 1.37397e-03_rb, 1.58335e-03_rb, 1.82464e-03_rb, 2.10269e-03_rb/) kao_mco2( 8, :,16) = (/ & & 1.63479e-04_rb, 1.88391e-04_rb, 2.17098e-04_rb, 2.50180e-04_rb, 2.88303e-04_rb, & & 3.32236e-04_rb, 3.82863e-04_rb, 4.41205e-04_rb, 5.08437e-04_rb, 5.85914e-04_rb, & & 6.75198e-04_rb, 7.78087e-04_rb, 8.96654e-04_rb, 1.03329e-03_rb, 1.19074e-03_rb, & & 1.37219e-03_rb, 1.58129e-03_rb, 1.82226e-03_rb, 2.09994e-03_rb/) kao_mco2( 9, :,16) = (/ & & 1.63586e-04_rb, 1.88513e-04_rb, 2.17239e-04_rb, 2.50343e-04_rb, 2.88490e-04_rb, & & 3.32451e-04_rb, 3.83111e-04_rb, 4.41490e-04_rb, 5.08766e-04_rb, 5.86292e-04_rb, & & 6.75633e-04_rb, 7.78588e-04_rb, 8.97231e-04_rb, 1.03395e-03_rb, 1.19151e-03_rb, & & 1.37307e-03_rb, 1.58231e-03_rb, 1.82342e-03_rb, 2.10128e-03_rb/) ! The array KBO_Mxx contains the absorption coefficient for ! a minor species at the 16 chosen g-values for a reference pressure ! level above 100~ mb. The first index refers to temperature ! in 7.2 degree increments. For instance, JT = 1 refers to a ! temperature of 188.0, JT = 2 refers to 195.2, etc. The second index ! runs over the g-channel (1 to 16). kbo_mco2(:, 1) = (/ & & 3.72069e-06_rb, 4.81866e-06_rb, 6.24064e-06_rb, 8.08226e-06_rb, 1.04673e-05_rb, & & 1.35562e-05_rb, 1.75567e-05_rb, 2.27376e-05_rb, 2.94475e-05_rb, 3.81375e-05_rb, & & 4.93918e-05_rb, 6.39674e-05_rb, 8.28441e-05_rb, 1.07291e-04_rb, 1.38953e-04_rb, & & 1.79958e-04_rb, 2.33064e-04_rb, 3.01840e-04_rb, 3.90913e-04_rb/) kbo_mco2(:, 2) = (/ & & 8.14357e-06_rb, 1.06031e-05_rb, 1.38056e-05_rb, 1.79752e-05_rb, 2.34041e-05_rb, & & 3.04728e-05_rb, 3.96763e-05_rb, 5.16596e-05_rb, 6.72622e-05_rb, 8.75770e-05_rb, & & 1.14027e-04_rb, 1.48467e-04_rb, 1.93307e-04_rb, 2.51691e-04_rb, 3.27708e-04_rb, & & 4.26685e-04_rb, 5.55555e-04_rb, 7.23346e-04_rb, 9.41814e-04_rb/) kbo_mco2(:, 3) = (/ & & 1.09367e-05_rb, 1.42063e-05_rb, 1.84533e-05_rb, 2.39701e-05_rb, 3.11362e-05_rb, & & 4.04446e-05_rb, 5.25358e-05_rb, 6.82417e-05_rb, 8.86432e-05_rb, 1.15144e-04_rb, & & 1.49567e-04_rb, 1.94281e-04_rb, 2.52363e-04_rb, 3.27809e-04_rb, 4.25810e-04_rb, & & 5.53109e-04_rb, 7.18466e-04_rb, 9.33256e-04_rb, 1.21226e-03_rb/) kbo_mco2(:, 4) = (/ & & 1.76192e-05_rb, 2.27752e-05_rb, 2.94401e-05_rb, 3.80553e-05_rb, 4.91916e-05_rb, & & 6.35867e-05_rb, 8.21944e-05_rb, 1.06247e-04_rb, 1.37339e-04_rb, 1.77529e-04_rb, & & 2.29480e-04_rb, 2.96635e-04_rb, 3.83440e-04_rb, 4.95648e-04_rb, 6.40691e-04_rb, & & 8.28180e-04_rb, 1.07054e-03_rb, 1.38381e-03_rb, 1.78876e-03_rb/) kbo_mco2(:, 5) = (/ & & 3.72142e-05_rb, 4.78603e-05_rb, 6.15520e-05_rb, 7.91605e-05_rb, 1.01806e-04_rb, & & 1.30931e-04_rb, 1.68387e-04_rb, 2.16558e-04_rb, 2.78510e-04_rb, 3.58185e-04_rb, & & 4.60653e-04_rb, 5.92435e-04_rb, 7.61915e-04_rb, 9.79881e-04_rb, 1.26020e-03_rb, & & 1.62071e-03_rb, 2.08436e-03_rb, 2.68064e-03_rb, 3.44751e-03_rb/) kbo_mco2(:, 6) = (/ & & 7.74131e-05_rb, 9.98876e-05_rb, 1.28887e-04_rb, 1.66305e-04_rb, 2.14587e-04_rb, & & 2.76886e-04_rb, 3.57272e-04_rb, 4.60994e-04_rb, 5.94831e-04_rb, 7.67521e-04_rb, & & 9.90348e-04_rb, 1.27787e-03_rb, 1.64886e-03_rb, 2.12755e-03_rb, 2.74522e-03_rb, & & 3.54221e-03_rb, 4.57059e-03_rb, 5.89752e-03_rb, 7.60968e-03_rb/) kbo_mco2(:, 7) = (/ & & 1.32294e-04_rb, 1.70977e-04_rb, 2.20973e-04_rb, 2.85587e-04_rb, 3.69095e-04_rb, & & 4.77022e-04_rb, 6.16507e-04_rb, 7.96779e-04_rb, 1.02976e-03_rb, 1.33088e-03_rb, & & 1.72004e-03_rb, 2.22299e-03_rb, 2.87301e-03_rb, 3.71310e-03_rb, 4.79884e-03_rb, & & 6.20207e-03_rb, 8.01561e-03_rb, 1.03594e-02_rb, 1.33886e-02_rb/) kbo_mco2(:, 8) = (/ & & 3.59868e-05_rb, 4.63611e-05_rb, 5.97261e-05_rb, 7.69439e-05_rb, 9.91253e-05_rb, & & 1.27701e-04_rb, 1.64515e-04_rb, 2.11941e-04_rb, 2.73040e-04_rb, 3.51752e-04_rb, & & 4.53155e-04_rb, 5.83790e-04_rb, 7.52085e-04_rb, 9.68897e-04_rb, 1.24821e-03_rb, & & 1.60804e-03_rb, 2.07161e-03_rb, 2.66882e-03_rb, 3.43818e-03_rb/) kbo_mco2(:, 9) = (/ & & 5.09543e-05_rb, 6.60510e-05_rb, 8.56205e-05_rb, 1.10988e-04_rb, 1.43872e-04_rb, & & 1.86498e-04_rb, 2.41753e-04_rb, 3.13380e-04_rb, 4.06228e-04_rb, 5.26585e-04_rb, & & 6.82601e-04_rb, 8.84842e-04_rb, 1.14700e-03_rb, 1.48684e-03_rb, 1.92735e-03_rb, & & 2.49839e-03_rb, 3.23861e-03_rb, 4.19814e-03_rb, 5.44196e-03_rb/) kbo_mco2(:,10) = (/ & & 2.08253e-05_rb, 2.64900e-05_rb, 3.36954e-05_rb, 4.28609e-05_rb, 5.45194e-05_rb, & & 6.93491e-05_rb, 8.82125e-05_rb, 1.12207e-04_rb, 1.42728e-04_rb, 1.81551e-04_rb, & & 2.30935e-04_rb, 2.93751e-04_rb, 3.73653e-04_rb, 4.75290e-04_rb, 6.04572e-04_rb, & & 7.69021e-04_rb, 9.78201e-04_rb, 1.24428e-03_rb, 1.58273e-03_rb/) kbo_mco2(:,11) = (/ & & 2.08953e-05_rb, 2.65543e-05_rb, 3.37459e-05_rb, 4.28852e-05_rb, 5.44996e-05_rb, & & 6.92595e-05_rb, 8.80169e-05_rb, 1.11854e-04_rb, 1.42147e-04_rb, 1.80644e-04_rb, & & 2.29568e-04_rb, 2.91741e-04_rb, 3.70752e-04_rb, 4.71161e-04_rb, 5.98764e-04_rb, & & 7.60925e-04_rb, 9.67005e-04_rb, 1.22889e-03_rb, 1.56171e-03_rb/) kbo_mco2(:,12) = (/ & & 2.65295e-05_rb, 3.36318e-05_rb, 4.26356e-05_rb, 5.40498e-05_rb, 6.85198e-05_rb, & & 8.68636e-05_rb, 1.10118e-04_rb, 1.39599e-04_rb, 1.76972e-04_rb, 2.24350e-04_rb, & & 2.84412e-04_rb, 3.60553e-04_rb, 4.57079e-04_rb, 5.79446e-04_rb, 7.34572e-04_rb, & & 9.31230e-04_rb, 1.18053e-03_rb, 1.49658e-03_rb, 1.89724e-03_rb/) kbo_mco2(:,13) = (/ & & 3.45358e-05_rb, 4.36743e-05_rb, 5.52309e-05_rb, 6.98455e-05_rb, 8.83273e-05_rb, & & 1.11700e-04_rb, 1.41256e-04_rb, 1.78634e-04_rb, 2.25902e-04_rb, 2.85678e-04_rb, & & 3.61271e-04_rb, 4.56867e-04_rb, 5.77758e-04_rb, 7.30639e-04_rb, 9.23973e-04_rb, & & 1.16847e-03_rb, 1.47765e-03_rb, 1.86865e-03_rb, 2.36311e-03_rb/) kbo_mco2(:,14) = (/ & & 3.99721e-05_rb, 5.12343e-05_rb, 6.56698e-05_rb, 8.41725e-05_rb, 1.07888e-04_rb, & & 1.38286e-04_rb, 1.77249e-04_rb, 2.27190e-04_rb, 2.91201e-04_rb, 3.73248e-04_rb, & & 4.78412e-04_rb, 6.13207e-04_rb, 7.85980e-04_rb, 1.00743e-03_rb, 1.29128e-03_rb, & & 1.65510e-03_rb, 2.12144e-03_rb, 2.71916e-03_rb, 3.48529e-03_rb/) kbo_mco2(:,15) = (/ & & 8.51533e-06_rb, 1.23021e-05_rb, 1.77730e-05_rb, 2.56767e-05_rb, 3.70953e-05_rb, & & 5.35918e-05_rb, 7.74243e-05_rb, 1.11855e-04_rb, 1.61598e-04_rb, 2.33461e-04_rb, & & 3.37283e-04_rb, 4.87275e-04_rb, 7.03968e-04_rb, 1.01703e-03_rb, 1.46930e-03_rb, & & 2.12271e-03_rb, 3.06670e-03_rb, 4.43047e-03_rb, 6.40072e-03_rb/) kbo_mco2(:,16) = (/ & & 2.93050e-06_rb, 3.65298e-06_rb, 4.55358e-06_rb, 5.67622e-06_rb, 7.07564e-06_rb, & & 8.82006e-06_rb, 1.09945e-05_rb, 1.37051e-05_rb, 1.70840e-05_rb, 2.12959e-05_rb, & & 2.65461e-05_rb, 3.30908e-05_rb, 4.12490e-05_rb, 5.14185e-05_rb, 6.40952e-05_rb, & & 7.98972e-05_rb, 9.95951e-05_rb, 1.24149e-04_rb, 1.54757e-04_rb/) ! The array FORREFO contains the coefficient of the water vapor ! foreign-continuum (including the energy term). The first ! index refers to reference temperature (296_rb,260_rb,224,260) and ! pressure (970,475,219,3 mbar) levels. The second index ! runs over the g-channel (1 to 16). forrefo(1,:) = (/ & &2.0677e-07_rb,2.0363e-07_rb,2.0583e-07_rb,2.0547e-07_rb,2.0267e-07_rb,2.0154e-07_rb, & &2.0190e-07_rb,2.0103e-07_rb,1.9869e-07_rb,1.9663e-07_rb,1.9701e-07_rb,2.0103e-07_rb, & &2.0527e-07_rb,2.0206e-07_rb,2.0364e-07_rb,2.0364e-07_rb/) forrefo(2,:) = (/ & &2.2427e-07_rb,2.1489e-07_rb,2.0453e-07_rb,1.9710e-07_rb,1.9650e-07_rb,1.9738e-07_rb, & &1.9767e-07_rb,1.9769e-07_rb,1.9940e-07_rb,1.9846e-07_rb,1.9898e-07_rb,1.9853e-07_rb, & &2.0000e-07_rb,2.0517e-07_rb,2.0482e-07_rb,2.0482e-07_rb/) forrefo(3,:) = (/ & &2.2672e-07_rb,2.1706e-07_rb,2.0571e-07_rb,1.9747e-07_rb,1.9706e-07_rb,1.9698e-07_rb, & &1.9781e-07_rb,1.9774e-07_rb,1.9724e-07_rb,1.9714e-07_rb,1.9751e-07_rb,1.9758e-07_rb, & &1.9840e-07_rb,1.9968e-07_rb,1.9931e-07_rb,1.9880e-07_rb/) forrefo(4,:) = (/ & &2.2191e-07_rb,2.0899e-07_rb,2.0265e-07_rb,2.0101e-07_rb,2.0034e-07_rb,2.0021e-07_rb, & &1.9987e-07_rb,1.9978e-07_rb,1.9902e-07_rb,1.9742e-07_rb,1.9672e-07_rb,1.9615e-07_rb, & &1.9576e-07_rb,1.9540e-07_rb,1.9588e-07_rb,1.9590e-07_rb/) ! The array SELFREFO contains the coefficient of the water vapor ! self-continuum (including the energy term). The first index ! refers to temperature in 7.2 degree increments. For instance, ! JT = 1 refers to a temperature of 245.6, JT = 2 refers to 252.8, ! etc. The second index runs over the g-channel (1 to 16). selfrefo(:, 1) = (/ & & 5.18832e-02_rb, 4.28690e-02_rb, 3.54210e-02_rb, 2.92670e-02_rb, 2.41822e-02_rb, & & 1.99808e-02_rb, 1.65093e-02_rb, 1.36410e-02_rb, 1.12710e-02_rb, 9.31280e-03_rb/) selfrefo(:, 2) = (/ & & 4.36030e-02_rb, 3.78379e-02_rb, 3.28350e-02_rb, 2.84936e-02_rb, 2.47262e-02_rb, & & 2.14569e-02_rb, 1.86199e-02_rb, 1.61580e-02_rb, 1.40216e-02_rb, 1.21677e-02_rb/) selfrefo(:, 3) = (/ & & 4.26492e-02_rb, 3.71443e-02_rb, 3.23500e-02_rb, 2.81745e-02_rb, 2.45379e-02_rb, & & 2.13707e-02_rb, 1.86124e-02_rb, 1.62100e-02_rb, 1.41177e-02_rb, 1.22955e-02_rb/) selfrefo(:, 4) = (/ & & 4.03591e-02_rb, 3.54614e-02_rb, 3.11580e-02_rb, 2.73769e-02_rb, 2.40546e-02_rb, & & 2.11355e-02_rb, 1.85706e-02_rb, 1.63170e-02_rb, 1.43369e-02_rb, 1.25970e-02_rb/) selfrefo(:, 5) = (/ & & 3.94512e-02_rb, 3.46232e-02_rb, 3.03860e-02_rb, 2.66674e-02_rb, 2.34038e-02_rb, & & 2.05397e-02_rb, 1.80260e-02_rb, 1.58200e-02_rb, 1.38839e-02_rb, 1.21848e-02_rb/) selfrefo(:, 6) = (/ & & 3.90567e-02_rb, 3.40694e-02_rb, 2.97190e-02_rb, 2.59241e-02_rb, 2.26138e-02_rb, & & 1.97261e-02_rb, 1.72072e-02_rb, 1.50100e-02_rb, 1.30933e-02_rb, 1.14214e-02_rb/) selfrefo(:, 7) = (/ & & 3.85397e-02_rb, 3.36462e-02_rb, 2.93740e-02_rb, 2.56443e-02_rb, 2.23881e-02_rb, & & 1.95454e-02_rb, 1.70636e-02_rb, 1.48970e-02_rb, 1.30055e-02_rb, 1.13541e-02_rb/) selfrefo(:, 8) = (/ & & 3.79692e-02_rb, 3.31360e-02_rb, 2.89180e-02_rb, 2.52369e-02_rb, 2.20245e-02_rb, & & 1.92209e-02_rb, 1.67742e-02_rb, 1.46390e-02_rb, 1.27756e-02_rb, 1.11493e-02_rb/) selfrefo(:, 9) = (/ & & 3.68819e-02_rb, 3.22827e-02_rb, 2.82570e-02_rb, 2.47333e-02_rb, 2.16490e-02_rb, & & 1.89494e-02_rb, 1.65863e-02_rb, 1.45180e-02_rb, 1.27076e-02_rb, 1.11229e-02_rb/) selfrefo(:,10) = (/ & & 3.65157e-02_rb, 3.20121e-02_rb, 2.80640e-02_rb, 2.46028e-02_rb, 2.15685e-02_rb, & & 1.89084e-02_rb, 1.65764e-02_rb, 1.45320e-02_rb, 1.27397e-02_rb, 1.11685e-02_rb/) selfrefo(:,11) = (/ & & 3.59917e-02_rb, 3.16727e-02_rb, 2.78720e-02_rb, 2.45274e-02_rb, 2.15841e-02_rb, & & 1.89940e-02_rb, 1.67148e-02_rb, 1.47090e-02_rb, 1.29439e-02_rb, 1.13907e-02_rb/) selfrefo(:,12) = (/ & & 3.66963e-02_rb, 3.20483e-02_rb, 2.79890e-02_rb, 2.44439e-02_rb, 2.13478e-02_rb, & & 1.86438e-02_rb, 1.62824e-02_rb, 1.42200e-02_rb, 1.24189e-02_rb, 1.08459e-02_rb/) selfrefo(:,13) = (/ & & 3.66422e-02_rb, 3.19026e-02_rb, 2.77760e-02_rb, 2.41832e-02_rb, 2.10551e-02_rb, & & 1.83317e-02_rb, 1.59605e-02_rb, 1.38960e-02_rb, 1.20986e-02_rb, 1.05336e-02_rb/) selfrefo(:,14) = (/ & & 3.81260e-02_rb, 3.29322e-02_rb, 2.84460e-02_rb, 2.45709e-02_rb, 2.12237e-02_rb, & & 1.83325e-02_rb, 1.58352e-02_rb, 1.36780e-02_rb, 1.18147e-02_rb, 1.02052e-02_rb/) selfrefo(:,15) = (/ & & 3.51264e-02_rb, 3.05081e-02_rb, 2.64970e-02_rb, 2.30133e-02_rb, 1.99876e-02_rb, & & 1.73597e-02_rb, 1.50773e-02_rb, 1.30950e-02_rb, 1.13733e-02_rb, 9.87800e-03_rb/) selfrefo(:,16) = (/ & & 3.51264e-02_rb, 3.05081e-02_rb, 2.64970e-02_rb, 2.30133e-02_rb, 1.99876e-02_rb, & & 1.73597e-02_rb, 1.50773e-02_rb, 1.30950e-02_rb, 1.13733e-02_rb, 9.87800e-03_rb/) end subroutine lw_kgb07 ! ************************************************************************** subroutine lw_kgb08 ! ************************************************************************** use parkind, only : im => kind_im, rb => kind_rb use rrlw_kg08, only : fracrefao, fracrefbo, kao, kao_mco2, kao_mn2o, & kao_mo3, kbo, kbo_mco2, kbo_mn2o, selfrefo, forrefo, & cfc12o, cfc22adjo implicit none save ! Planck fraction mapping level : P=473.4280 mb, T = 259.83 K fracrefao(:) = (/ & 1.6004e-01_rb,1.5437e-01_rb,1.4502e-01_rb,1.3084e-01_rb,1.1523e-01_rb,9.7743e-02_rb, & 8.0376e-02_rb,6.0261e-02_rb,4.1111e-02_rb,4.4772e-03_rb,3.6511e-03_rb,2.9154e-03_rb, & 2.1184e-03_rb,1.3048e-03_rb,4.6637e-04_rb,6.5624e-05_rb/) ! Planck fraction mapping level : P=95.5835 mb, T= 215.7 K fracrefbo(:) = (/ & 1.4987e-01_rb,1.4665e-01_rb,1.4154e-01_rb,1.3200e-01_rb,1.1902e-01_rb,1.0352e-01_rb, & 8.4939e-02_rb,6.4105e-02_rb,4.3190e-02_rb,4.5129e-03_rb,3.7656e-03_rb,2.8733e-03_rb, & 2.0947e-03_rb,1.3201e-03_rb,5.1832e-04_rb,7.7473e-05_rb/) ! Minor gas mapping level: ! lower - co2, p = 1053.63 mb, t = 294.2 k ! lower - o3, p = 317.348 mb, t = 240.77 k ! lower - n2o, p = 706.2720 mb, t= 278.94 k ! lower - cfc12,cfc11 ! upper - co2, p = 35.1632 mb, t = 223.28 k ! upper - n2o, p = 8.716e-2 mb, t = 226.03 k cfc12o(:) = (/ & 85.4027_rb, 89.4696_rb, 74.0959_rb, 67.7480_rb, & 61.2444_rb, 59.9073_rb, 60.8296_rb, 63.0998_rb, & 59.6110_rb, 64.0735_rb, 57.2622_rb, 58.9721_rb, & 43.5505_rb, 26.1192_rb, 32.7023_rb, 32.8667_rb/) ! Original CFC22 is multiplied by 1.485 to account for the 780-850 cm-1 ! and 1290-1335 cm-1 bands. cfc22adjo(:) = (/ & 135.335_rb, 89.6642_rb, 76.2375_rb, 65.9748_rb, & 63.1164_rb, 60.2935_rb, 64.0299_rb, 75.4264_rb, & 51.3018_rb, 7.07911_rb, 5.86928_rb, 0.398693_rb, & 2.82885_rb, 9.12751_rb, 6.28271_rb, 0._rb/) ! The array KAO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels > ~100mb and temperatures. The first ! index in the array, JT, which runs from 1 to 5, corresponds to ! different temperatures. More specifically, JT = 3 means that the ! data are for the corresponding TREF for this pressure level, ! JT = 2 refers to the temperatureTREF-15, JT = 1 is for TREF-30, ! JT = 4 is for TREF+15, and JT = 5 is for TREF+30. The second ! index, JP, runs from 1 to 13 and refers to the corresponding ! pressure level in PREF (e.g. JP = 1 is for a pressure of 1053.63 mb). ! The third index, IG, goes from 1 to 16, and tells us which ! g-interval the absorption coefficients are for. kao(:, 1, 1) = (/ & &1.4664e-05_rb,1.7114e-05_rb,1.8876e-05_rb,2.2301e-05_rb,2.6622e-05_rb/) kao(:, 2, 1) = (/ & &1.0571e-05_rb,1.1718e-05_rb,1.4060e-05_rb,1.7193e-05_rb,2.1557e-05_rb/) kao(:, 3, 1) = (/ & &6.6138e-06_rb,8.1523e-06_rb,1.0695e-05_rb,1.3782e-05_rb,1.7449e-05_rb/) kao(:, 4, 1) = (/ & &5.1390e-06_rb,7.0055e-06_rb,9.4447e-06_rb,1.2362e-05_rb,1.5431e-05_rb/) kao(:, 5, 1) = (/ & &4.7765e-06_rb,6.4140e-06_rb,8.4242e-06_rb,1.0772e-05_rb,1.3788e-05_rb/) kao(:, 6, 1) = (/ & &4.4818e-06_rb,6.1945e-06_rb,8.3186e-06_rb,1.0638e-05_rb,1.3072e-05_rb/) kao(:, 7, 1) = (/ & &4.1781e-06_rb,5.8651e-06_rb,8.2034e-06_rb,1.0966e-05_rb,1.3592e-05_rb/) kao(:, 8, 1) = (/ & &4.6559e-06_rb,6.5570e-06_rb,8.8606e-06_rb,1.1636e-05_rb,1.4449e-05_rb/) kao(:, 9, 1) = (/ & &6.3964e-06_rb,9.3461e-06_rb,1.3202e-05_rb,1.7140e-05_rb,2.2124e-05_rb/) kao(:,10, 1) = (/ & &1.0453e-05_rb,1.6266e-05_rb,2.2571e-05_rb,3.2675e-05_rb,4.3832e-05_rb/) kao(:,11, 1) = (/ & &1.9225e-05_rb,2.5219e-05_rb,3.3439e-05_rb,4.2567e-05_rb,5.0999e-05_rb/) kao(:,12, 1) = (/ & &1.8581e-05_rb,2.6464e-05_rb,3.4892e-05_rb,4.5782e-05_rb,5.8008e-05_rb/) kao(:,13, 1) = (/ & &2.3252e-05_rb,2.6601e-05_rb,3.1497e-05_rb,4.1728e-05_rb,5.3564e-05_rb/) kao(:, 1, 2) = (/ & &2.4622e-05_rb,2.2121e-05_rb,2.5151e-05_rb,3.1972e-05_rb,4.1114e-05_rb/) kao(:, 2, 2) = (/ & &1.5738e-05_rb,1.6913e-05_rb,2.0782e-05_rb,2.6880e-05_rb,3.4084e-05_rb/) kao(:, 3, 2) = (/ & &9.8655e-06_rb,1.2753e-05_rb,1.6558e-05_rb,2.1755e-05_rb,2.8126e-05_rb/) kao(:, 4, 2) = (/ & &7.9265e-06_rb,1.0229e-05_rb,1.3524e-05_rb,1.7603e-05_rb,2.3192e-05_rb/) kao(:, 5, 2) = (/ & &7.0537e-06_rb,9.6733e-06_rb,1.2570e-05_rb,1.6079e-05_rb,2.0384e-05_rb/) kao(:, 6, 2) = (/ & &6.5277e-06_rb,9.1084e-06_rb,1.2443e-05_rb,1.5914e-05_rb,2.0339e-05_rb/) kao(:, 7, 2) = (/ & &7.4442e-06_rb,1.0146e-05_rb,1.2791e-05_rb,1.6212e-05_rb,2.1044e-05_rb/) kao(:, 8, 2) = (/ & &7.4223e-06_rb,1.0854e-05_rb,1.4643e-05_rb,1.9376e-05_rb,2.5625e-05_rb/) kao(:, 9, 2) = (/ & &1.4157e-05_rb,1.8510e-05_rb,2.5064e-05_rb,3.4631e-05_rb,4.4655e-05_rb/) kao(:,10, 2) = (/ & &3.4785e-05_rb,4.4053e-05_rb,5.4155e-05_rb,6.0764e-05_rb,5.9887e-05_rb/) kao(:,11, 2) = (/ & &4.4199e-05_rb,5.6024e-05_rb,6.6252e-05_rb,8.3322e-05_rb,1.0437e-04_rb/) kao(:,12, 2) = (/ & &4.8012e-05_rb,6.2560e-05_rb,7.6674e-05_rb,8.6164e-05_rb,1.0081e-04_rb/) kao(:,13, 2) = (/ & &3.9220e-05_rb,5.8614e-05_rb,7.6090e-05_rb,8.9710e-05_rb,9.6705e-05_rb/) kao(:, 1, 3) = (/ & &2.7517e-05_rb,3.2252e-05_rb,4.5774e-05_rb,5.9187e-05_rb,7.3901e-05_rb/) kao(:, 2, 3) = (/ & &1.9414e-05_rb,2.5349e-05_rb,3.4494e-05_rb,4.4078e-05_rb,5.4475e-05_rb/) kao(:, 3, 3) = (/ & &1.4431e-05_rb,1.9862e-05_rb,2.6815e-05_rb,3.5045e-05_rb,4.4510e-05_rb/) kao(:, 4, 3) = (/ & &1.1163e-05_rb,1.5886e-05_rb,2.1047e-05_rb,2.7352e-05_rb,3.5151e-05_rb/) kao(:, 5, 3) = (/ & &1.0004e-05_rb,1.3946e-05_rb,1.9070e-05_rb,2.4940e-05_rb,3.2122e-05_rb/) kao(:, 6, 3) = (/ & &9.8796e-06_rb,1.2389e-05_rb,1.6574e-05_rb,2.2677e-05_rb,2.9114e-05_rb/) kao(:, 7, 3) = (/ & &9.6705e-06_rb,1.3203e-05_rb,1.8009e-05_rb,2.4248e-05_rb,2.9926e-05_rb/) kao(:, 8, 3) = (/ & &1.2684e-05_rb,1.5798e-05_rb,2.0751e-05_rb,2.7135e-05_rb,3.4302e-05_rb/) kao(:, 9, 3) = (/ & &2.3748e-05_rb,2.8117e-05_rb,3.3728e-05_rb,4.1366e-05_rb,5.3787e-05_rb/) kao(:,10, 3) = (/ & &4.9449e-05_rb,6.0387e-05_rb,8.1388e-05_rb,1.0134e-04_rb,1.3311e-04_rb/) kao(:,11, 3) = (/ & &6.5933e-05_rb,8.9755e-05_rb,1.2191e-04_rb,1.3795e-04_rb,1.5355e-04_rb/) kao(:,12, 3) = (/ & &6.2437e-05_rb,8.0247e-05_rb,1.0990e-04_rb,1.3683e-04_rb,1.6418e-04_rb/) kao(:,13, 3) = (/ & &5.9989e-05_rb,6.7831e-05_rb,9.4332e-05_rb,1.1542e-04_rb,1.5040e-04_rb/) kao(:, 1, 4) = (/ & &3.6489e-05_rb,5.9568e-05_rb,7.8043e-05_rb,9.8599e-05_rb,1.2261e-04_rb/) kao(:, 2, 4) = (/ & &3.0751e-05_rb,4.5700e-05_rb,5.9720e-05_rb,7.6230e-05_rb,9.5698e-05_rb/) kao(:, 3, 4) = (/ & &2.6862e-05_rb,3.6448e-05_rb,4.6703e-05_rb,5.7936e-05_rb,7.1216e-05_rb/) kao(:, 4, 4) = (/ & &2.0754e-05_rb,2.7900e-05_rb,3.6677e-05_rb,4.8008e-05_rb,6.1630e-05_rb/) kao(:, 5, 4) = (/ & &1.6362e-05_rb,2.1862e-05_rb,2.9666e-05_rb,3.8981e-05_rb,5.0305e-05_rb/) kao(:, 6, 4) = (/ & &1.4991e-05_rb,2.0957e-05_rb,2.6223e-05_rb,3.2254e-05_rb,4.2632e-05_rb/) kao(:, 7, 4) = (/ & &1.3833e-05_rb,1.9399e-05_rb,2.5656e-05_rb,3.2001e-05_rb,4.1685e-05_rb/) kao(:, 8, 4) = (/ & &1.6855e-05_rb,2.2852e-05_rb,3.0265e-05_rb,3.5778e-05_rb,4.6073e-05_rb/) kao(:, 9, 4) = (/ & &3.3370e-05_rb,4.7904e-05_rb,5.8243e-05_rb,6.4094e-05_rb,7.6700e-05_rb/) kao(:,10, 4) = (/ & &6.8238e-05_rb,1.0340e-04_rb,1.2739e-04_rb,1.5464e-04_rb,1.7523e-04_rb/) kao(:,11, 4) = (/ & &6.1230e-05_rb,9.6227e-05_rb,1.3743e-04_rb,1.9846e-04_rb,2.3838e-04_rb/) kao(:,12, 4) = (/ & &6.8823e-05_rb,1.0715e-04_rb,1.3058e-04_rb,1.9049e-04_rb,2.2996e-04_rb/) kao(:,13, 4) = (/ & &6.5444e-05_rb,1.1659e-04_rb,1.2685e-04_rb,1.7368e-04_rb,2.0128e-04_rb/) kao(:, 1, 5) = (/ & &7.8999e-05_rb,1.0665e-04_rb,1.3776e-04_rb,1.7432e-04_rb,2.1687e-04_rb/) kao(:, 2, 5) = (/ & &6.1797e-05_rb,8.3347e-05_rb,1.0862e-04_rb,1.3836e-04_rb,1.7490e-04_rb/) kao(:, 3, 5) = (/ & &4.7325e-05_rb,6.2800e-05_rb,8.1194e-05_rb,1.0315e-04_rb,1.3026e-04_rb/) kao(:, 4, 5) = (/ & &3.8433e-05_rb,5.0865e-05_rb,6.5549e-05_rb,8.2585e-05_rb,1.0247e-04_rb/) kao(:, 5, 5) = (/ & &3.0177e-05_rb,3.9082e-05_rb,4.9288e-05_rb,6.5674e-05_rb,8.5494e-05_rb/) kao(:, 6, 5) = (/ & &2.4712e-05_rb,3.2374e-05_rb,4.1224e-05_rb,5.5035e-05_rb,7.0157e-05_rb/) kao(:, 7, 5) = (/ & &2.2530e-05_rb,2.6200e-05_rb,3.5121e-05_rb,4.6306e-05_rb,5.9652e-05_rb/) kao(:, 8, 5) = (/ & &2.8297e-05_rb,3.6551e-05_rb,4.4329e-05_rb,5.9550e-05_rb,7.1792e-05_rb/) kao(:, 9, 5) = (/ & &5.6002e-05_rb,7.4631e-05_rb,8.8607e-05_rb,1.1720e-04_rb,1.2997e-04_rb/) kao(:,10, 5) = (/ & &8.1020e-05_rb,1.1580e-04_rb,1.6197e-04_rb,2.3825e-04_rb,2.8441e-04_rb/) kao(:,11, 5) = (/ & &9.6146e-05_rb,1.4644e-04_rb,1.7805e-04_rb,2.2438e-04_rb,3.1753e-04_rb/) kao(:,12, 5) = (/ & &9.5441e-05_rb,1.4982e-04_rb,2.4222e-04_rb,2.7134e-04_rb,3.3168e-04_rb/) kao(:,13, 5) = (/ & &9.5058e-05_rb,1.4349e-04_rb,2.4835e-04_rb,2.9526e-04_rb,3.7011e-04_rb/) kao(:, 1, 6) = (/ & &1.5625e-04_rb,2.0681e-04_rb,2.6299e-04_rb,3.2669e-04_rb,4.0038e-04_rb/) kao(:, 2, 6) = (/ & &1.1702e-04_rb,1.5581e-04_rb,2.0084e-04_rb,2.5419e-04_rb,3.1669e-04_rb/) kao(:, 3, 6) = (/ & &8.6159e-05_rb,1.1329e-04_rb,1.4769e-04_rb,1.9151e-04_rb,2.4537e-04_rb/) kao(:, 4, 6) = (/ & &7.1655e-05_rb,9.4348e-05_rb,1.2251e-04_rb,1.5312e-04_rb,1.8840e-04_rb/) kao(:, 5, 6) = (/ & &5.9776e-05_rb,8.0388e-05_rb,1.0504e-04_rb,1.3009e-04_rb,1.5686e-04_rb/) kao(:, 6, 6) = (/ & &4.1587e-05_rb,5.6800e-05_rb,7.7481e-05_rb,9.9930e-05_rb,1.3028e-04_rb/) kao(:, 7, 6) = (/ & &3.7625e-05_rb,5.2950e-05_rb,6.5572e-05_rb,8.3943e-05_rb,1.0947e-04_rb/) kao(:, 8, 6) = (/ & &4.0934e-05_rb,5.1706e-05_rb,6.6726e-05_rb,8.2858e-05_rb,1.0389e-04_rb/) kao(:, 9, 6) = (/ & &8.3177e-05_rb,1.0693e-04_rb,1.2771e-04_rb,1.5344e-04_rb,1.9338e-04_rb/) kao(:,10, 6) = (/ & &1.2590e-04_rb,1.6860e-04_rb,2.4332e-04_rb,2.8123e-04_rb,4.3002e-04_rb/) kao(:,11, 6) = (/ & &1.5778e-04_rb,2.1103e-04_rb,2.9773e-04_rb,4.5434e-04_rb,5.2006e-04_rb/) kao(:,12, 6) = (/ & &1.7734e-04_rb,2.3169e-04_rb,2.6921e-04_rb,4.5377e-04_rb,6.4453e-04_rb/) kao(:,13, 6) = (/ & &1.7874e-04_rb,2.2968e-04_rb,2.8292e-04_rb,4.5303e-04_rb,6.1897e-04_rb/) kao(:, 1, 7) = (/ & &3.7144e-04_rb,4.7830e-04_rb,6.0203e-04_rb,7.4238e-04_rb,8.9847e-04_rb/) kao(:, 2, 7) = (/ & &2.8002e-04_rb,3.6431e-04_rb,4.6140e-04_rb,5.7047e-04_rb,6.9195e-04_rb/) kao(:, 3, 7) = (/ & &1.8338e-04_rb,2.5018e-04_rb,3.2929e-04_rb,4.2096e-04_rb,5.2583e-04_rb/) kao(:, 4, 7) = (/ & &1.3365e-04_rb,1.7565e-04_rb,2.2370e-04_rb,2.9770e-04_rb,3.9171e-04_rb/) kao(:, 5, 7) = (/ & &1.1609e-04_rb,1.5410e-04_rb,1.9723e-04_rb,2.4620e-04_rb,3.0830e-04_rb/) kao(:, 6, 7) = (/ & &1.0480e-04_rb,1.3862e-04_rb,1.7991e-04_rb,2.2372e-04_rb,2.7406e-04_rb/) kao(:, 7, 7) = (/ & &8.7767e-05_rb,1.1689e-04_rb,1.5270e-04_rb,1.9631e-04_rb,2.3773e-04_rb/) kao(:, 8, 7) = (/ & &9.8366e-05_rb,1.1738e-04_rb,1.4725e-04_rb,1.8494e-04_rb,2.3601e-04_rb/) kao(:, 9, 7) = (/ & &1.5443e-04_rb,1.9009e-04_rb,2.4404e-04_rb,2.8078e-04_rb,3.3602e-04_rb/) kao(:,10, 7) = (/ & &1.5274e-04_rb,2.6878e-04_rb,3.7659e-04_rb,5.3377e-04_rb,5.6306e-04_rb/) kao(:,11, 7) = (/ & &2.0214e-04_rb,2.6794e-04_rb,4.2457e-04_rb,5.7376e-04_rb,8.8285e-04_rb/) kao(:,12, 7) = (/ & &2.5054e-04_rb,3.1232e-04_rb,4.4996e-04_rb,6.0765e-04_rb,8.8689e-04_rb/) kao(:,13, 7) = (/ & &2.7318e-04_rb,3.6929e-04_rb,4.5362e-04_rb,6.1364e-04_rb,9.2141e-04_rb/) kao(:, 1, 8) = (/ & &1.1751e-03_rb,1.5113e-03_rb,1.8892e-03_rb,2.3109e-03_rb,2.7776e-03_rb/) kao(:, 2, 8) = (/ & &8.9844e-04_rb,1.1675e-03_rb,1.4748e-03_rb,1.8223e-03_rb,2.2105e-03_rb/) kao(:, 3, 8) = (/ & &6.3916e-04_rb,8.4337e-04_rb,1.0777e-03_rb,1.3420e-03_rb,1.6361e-03_rb/) kao(:, 4, 8) = (/ & &3.9704e-04_rb,5.5491e-04_rb,7.4493e-04_rb,9.5633e-04_rb,1.1972e-03_rb/) kao(:, 5, 8) = (/ & &2.8104e-04_rb,3.5275e-04_rb,4.8572e-04_rb,6.7373e-04_rb,9.0464e-04_rb/) kao(:, 6, 8) = (/ & &2.6538e-04_rb,3.4221e-04_rb,4.3816e-04_rb,5.5889e-04_rb,6.9563e-04_rb/) kao(:, 7, 8) = (/ & &2.6802e-04_rb,3.3443e-04_rb,4.3228e-04_rb,5.4299e-04_rb,6.7937e-04_rb/) kao(:, 8, 8) = (/ & &2.6587e-04_rb,3.6538e-04_rb,4.4243e-04_rb,5.3612e-04_rb,6.5384e-04_rb/) kao(:, 9, 8) = (/ & &3.1669e-04_rb,4.3173e-04_rb,5.9018e-04_rb,7.8164e-04_rb,9.3453e-04_rb/) kao(:,10, 8) = (/ & &2.7923e-04_rb,3.5605e-04_rb,4.7230e-04_rb,7.5710e-04_rb,1.3303e-03_rb/) kao(:,11, 8) = (/ & &3.9189e-04_rb,4.5454e-04_rb,6.3718e-04_rb,5.9520e-04_rb,8.3511e-04_rb/) kao(:,12, 8) = (/ & &2.6981e-04_rb,5.3035e-04_rb,6.9787e-04_rb,8.5120e-04_rb,7.8888e-04_rb/) kao(:,13, 8) = (/ & &2.5533e-04_rb,5.3884e-04_rb,7.3128e-04_rb,1.0359e-03_rb,9.5286e-04_rb/) kao(:, 1, 9) = (/ & &4.1658e-03_rb,5.4654e-03_rb,6.9658e-03_rb,8.6722e-03_rb,1.0572e-02_rb/) kao(:, 2, 9) = (/ & &3.6223e-03_rb,4.7934e-03_rb,6.1539e-03_rb,7.6963e-03_rb,9.3961e-03_rb/) kao(:, 3, 9) = (/ & &2.8899e-03_rb,3.8874e-03_rb,5.0544e-03_rb,6.3815e-03_rb,7.8638e-03_rb/) kao(:, 4, 9) = (/ & &2.1989e-03_rb,3.0197e-03_rb,3.9971e-03_rb,5.1085e-03_rb,6.3356e-03_rb/) kao(:, 5, 9) = (/ & &1.5192e-03_rb,2.2278e-03_rb,3.0194e-03_rb,3.9009e-03_rb,4.8746e-03_rb/) kao(:, 6, 9) = (/ & &8.7921e-04_rb,1.3751e-03_rb,1.9853e-03_rb,2.7076e-03_rb,3.5697e-03_rb/) kao(:, 7, 9) = (/ & &8.1169e-04_rb,1.0620e-03_rb,1.3025e-03_rb,1.8213e-03_rb,2.5733e-03_rb/) kao(:, 8, 9) = (/ & &8.9592e-04_rb,1.1349e-03_rb,1.5068e-03_rb,1.9574e-03_rb,2.3526e-03_rb/) kao(:, 9, 9) = (/ & &6.4937e-04_rb,9.7395e-04_rb,1.5824e-03_rb,2.3319e-03_rb,3.1640e-03_rb/) kao(:,10, 9) = (/ & &5.2173e-04_rb,1.2542e-03_rb,1.3511e-03_rb,1.8295e-03_rb,2.2102e-03_rb/) kao(:,11, 9) = (/ & &3.8299e-05_rb,7.6837e-04_rb,1.6073e-03_rb,2.1707e-03_rb,2.6859e-03_rb/) kao(:,12, 9) = (/ & &5.7389e-05_rb,4.8395e-04_rb,1.3815e-03_rb,2.5956e-03_rb,2.8856e-03_rb/) kao(:,13, 9) = (/ & &6.6437e-05_rb,4.1020e-04_rb,1.3561e-03_rb,2.3769e-03_rb,2.6400e-03_rb/) kao(:, 1,10) = (/ & &8.5531e-03_rb,1.1311e-02_rb,1.4946e-02_rb,1.9199e-02_rb,2.4070e-02_rb/) kao(:, 2,10) = (/ & &7.9512e-03_rb,1.0579e-02_rb,1.3947e-02_rb,1.7937e-02_rb,2.2682e-02_rb/) kao(:, 3,10) = (/ & &6.8586e-03_rb,9.3196e-03_rb,1.2459e-02_rb,1.6108e-02_rb,2.0278e-02_rb/) kao(:, 4,10) = (/ & &5.7104e-03_rb,7.9133e-03_rb,1.0642e-02_rb,1.3936e-02_rb,1.7830e-02_rb/) kao(:, 5,10) = (/ & &4.5965e-03_rb,6.4891e-03_rb,8.9433e-03_rb,1.1923e-02_rb,1.5372e-02_rb/) kao(:, 6,10) = (/ & &3.5770e-03_rb,5.1433e-03_rb,7.2049e-03_rb,9.7750e-03_rb,1.2529e-02_rb/) kao(:, 7,10) = (/ & &1.4544e-03_rb,1.6129e-03_rb,4.3574e-03_rb,7.0808e-03_rb,9.3333e-03_rb/) kao(:, 8,10) = (/ & &1.6681e-03_rb,2.3313e-03_rb,2.9075e-03_rb,3.3382e-03_rb,4.3787e-03_rb/) kao(:, 9,10) = (/ & &8.5765e-04_rb,1.7252e-03_rb,1.7039e-03_rb,3.3311e-03_rb,4.8997e-03_rb/) kao(:,10,10) = (/ & &2.2034e-05_rb,3.2730e-05_rb,2.9477e-03_rb,2.5954e-03_rb,5.2191e-03_rb/) kao(:,11,10) = (/ & &1.5700e-05_rb,2.2697e-05_rb,3.1811e-05_rb,9.1022e-03_rb,5.0873e-03_rb/) kao(:,12,10) = (/ & &1.1747e-05_rb,1.7581e-05_rb,2.4222e-05_rb,3.4764e-05_rb,8.4666e-03_rb/) kao(:,13,10) = (/ & &8.0435e-06_rb,1.2386e-05_rb,1.8547e-05_rb,2.6164e-05_rb,8.2788e-03_rb/) kao(:, 1,11) = (/ & &1.1747e-02_rb,1.5703e-02_rb,2.0198e-02_rb,2.5614e-02_rb,3.2111e-02_rb/) kao(:, 2,11) = (/ & &1.0674e-02_rb,1.4371e-02_rb,1.8733e-02_rb,2.4132e-02_rb,3.0707e-02_rb/) kao(:, 3,11) = (/ & &9.1890e-03_rb,1.2390e-02_rb,1.6367e-02_rb,2.1591e-02_rb,2.7893e-02_rb/) kao(:, 4,11) = (/ & &7.8825e-03_rb,1.0755e-02_rb,1.4391e-02_rb,1.9071e-02_rb,2.4702e-02_rb/) kao(:, 5,11) = (/ & &6.5907e-03_rb,9.1636e-03_rb,1.2468e-02_rb,1.6782e-02_rb,2.1901e-02_rb/) kao(:, 6,11) = (/ & &5.2625e-03_rb,7.5549e-03_rb,1.0521e-02_rb,1.4321e-02_rb,1.8906e-02_rb/) kao(:, 7,11) = (/ & &1.3421e-03_rb,5.0016e-03_rb,8.2742e-03_rb,1.0825e-02_rb,1.4096e-02_rb/) kao(:, 8,11) = (/ & &1.1288e-03_rb,2.7904e-03_rb,2.9048e-03_rb,3.8915e-03_rb,1.0764e-02_rb/) kao(:, 9,11) = (/ & &1.1212e-03_rb,3.3992e-03_rb,2.3130e-03_rb,2.5518e-03_rb,6.4495e-03_rb/) kao(:,10,11) = (/ & &2.4789e-05_rb,3.8028e-05_rb,7.9034e-03_rb,4.9082e-03_rb,4.7487e-03_rb/) kao(:,11,11) = (/ & &1.5630e-05_rb,2.4780e-05_rb,3.4663e-05_rb,4.3353e-05_rb,1.1174e-02_rb/) kao(:,12,11) = (/ & &1.2516e-05_rb,1.8590e-05_rb,2.5768e-05_rb,3.2997e-05_rb,7.6429e-03_rb/) kao(:,13,11) = (/ & &9.1474e-06_rb,1.3280e-05_rb,1.7796e-05_rb,2.4600e-05_rb,8.5245e-03_rb/) kao(:, 1,12) = (/ & &1.9137e-02_rb,2.4205e-02_rb,3.0237e-02_rb,3.7229e-02_rb,4.5273e-02_rb/) kao(:, 2,12) = (/ & &1.6304e-02_rb,2.1414e-02_rb,2.7665e-02_rb,3.5151e-02_rb,4.3535e-02_rb/) kao(:, 3,12) = (/ & &1.3446e-02_rb,1.8468e-02_rb,2.4699e-02_rb,3.1802e-02_rb,4.0159e-02_rb/) kao(:, 4,12) = (/ & &1.0988e-02_rb,1.5565e-02_rb,2.1262e-02_rb,2.7914e-02_rb,3.5968e-02_rb/) kao(:, 5,12) = (/ & &9.1659e-03_rb,1.3233e-02_rb,1.8175e-02_rb,2.4059e-02_rb,3.1596e-02_rb/) kao(:, 6,12) = (/ & &7.6758e-03_rb,1.1199e-02_rb,1.5520e-02_rb,2.0906e-02_rb,2.7754e-02_rb/) kao(:, 7,12) = (/ & &5.4756e-03_rb,9.3901e-03_rb,1.3292e-02_rb,1.8129e-02_rb,2.3738e-02_rb/) kao(:, 8,12) = (/ & &8.4306e-04_rb,3.0332e-03_rb,3.5332e-03_rb,1.1602e-02_rb,1.7968e-02_rb/) kao(:, 9,12) = (/ & &1.4946e-03_rb,1.5749e-03_rb,3.2158e-03_rb,3.1867e-03_rb,3.5737e-03_rb/) kao(:,10,12) = (/ & &2.3105e-05_rb,3.7657e-05_rb,5.4692e-05_rb,1.0942e-02_rb,7.6646e-03_rb/) kao(:,11,12) = (/ & &1.6278e-05_rb,2.6849e-05_rb,3.8655e-05_rb,5.4498e-05_rb,7.7401e-03_rb/) kao(:,12,12) = (/ & &1.1713e-05_rb,1.9330e-05_rb,2.9159e-05_rb,3.9386e-05_rb,5.6995e-05_rb/) kao(:,13,12) = (/ & &9.2970e-06_rb,1.5197e-05_rb,2.2881e-05_rb,3.3051e-05_rb,4.6248e-05_rb/) kao(:, 1,13) = (/ & &3.6366e-02_rb,4.6887e-02_rb,5.8513e-02_rb,7.0986e-02_rb,8.4117e-02_rb/) kao(:, 2,13) = (/ & &3.3990e-02_rb,4.3857e-02_rb,5.4708e-02_rb,6.6354e-02_rb,7.9156e-02_rb/) kao(:, 3,13) = (/ & &2.8482e-02_rb,3.7147e-02_rb,4.6806e-02_rb,5.7889e-02_rb,7.0408e-02_rb/) kao(:, 4,13) = (/ & &2.2450e-02_rb,2.9975e-02_rb,3.8835e-02_rb,4.9297e-02_rb,6.1450e-02_rb/) kao(:, 5,13) = (/ & &1.7322e-02_rb,2.3874e-02_rb,3.2063e-02_rb,4.2032e-02_rb,5.3868e-02_rb/) kao(:, 6,13) = (/ & &1.3022e-02_rb,1.8695e-02_rb,2.6114e-02_rb,3.5380e-02_rb,4.6717e-02_rb/) kao(:, 7,13) = (/ & &9.9635e-03_rb,1.4798e-02_rb,2.1337e-02_rb,2.9901e-02_rb,4.0578e-02_rb/) kao(:, 8,13) = (/ & &9.7470e-04_rb,2.7616e-03_rb,1.5907e-02_rb,2.2415e-02_rb,2.7492e-02_rb/) kao(:, 9,13) = (/ & &1.9362e-03_rb,1.8145e-03_rb,4.1737e-03_rb,3.7651e-03_rb,6.5913e-03_rb/) kao(:,10,13) = (/ & &2.8915e-05_rb,4.8621e-05_rb,6.9201e-05_rb,8.4840e-03_rb,1.1790e-02_rb/) kao(:,11,13) = (/ & &2.3309e-05_rb,3.4553e-05_rb,5.2552e-05_rb,7.2505e-05_rb,8.3347e-05_rb/) kao(:,12,13) = (/ & &1.5870e-05_rb,2.3577e-05_rb,3.4029e-05_rb,5.3277e-05_rb,6.5207e-05_rb/) kao(:,13,13) = (/ & &1.1931e-05_rb,1.9929e-05_rb,2.7393e-05_rb,3.2822e-05_rb,4.4265e-05_rb/) kao(:, 1,14) = (/ & &6.9682e-02_rb,8.7076e-02_rb,1.0644e-01_rb,1.2772e-01_rb,1.5052e-01_rb/) kao(:, 2,14) = (/ & &6.7443e-02_rb,8.6048e-02_rb,1.0697e-01_rb,1.3011e-01_rb,1.5516e-01_rb/) kao(:, 3,14) = (/ & &6.1305e-02_rb,8.0158e-02_rb,1.0175e-01_rb,1.2582e-01_rb,1.5220e-01_rb/) kao(:, 4,14) = (/ & &5.3357e-02_rb,7.1652e-02_rb,9.2935e-02_rb,1.1706e-01_rb,1.4376e-01_rb/) kao(:, 5,14) = (/ & &4.5060e-02_rb,6.2229e-02_rb,8.2609e-02_rb,1.0608e-01_rb,1.3238e-01_rb/) kao(:, 6,14) = (/ & &3.6438e-02_rb,5.1966e-02_rb,7.0824e-02_rb,9.2958e-02_rb,1.1819e-01_rb/) kao(:, 7,14) = (/ & &2.8491e-02_rb,4.2112e-02_rb,5.9112e-02_rb,7.9508e-02_rb,1.0325e-01_rb/) kao(:, 8,14) = (/ & &1.8236e-02_rb,3.3304e-02_rb,4.8438e-02_rb,6.6896e-02_rb,8.8683e-02_rb/) kao(:, 9,14) = (/ & &2.4537e-03_rb,2.3453e-03_rb,8.8067e-03_rb,2.0762e-02_rb,4.5513e-02_rb/) kao(:,10,14) = (/ & &1.4330e-05_rb,1.7518e-05_rb,3.1868e-05_rb,4.9025e-05_rb,3.3153e-02_rb/) kao(:,11,14) = (/ & &1.4087e-05_rb,2.3580e-05_rb,3.6793e-05_rb,4.1734e-05_rb,4.2976e-05_rb/) kao(:,12,14) = (/ & &1.3087e-05_rb,2.2036e-05_rb,3.4770e-05_rb,3.7226e-05_rb,3.8663e-05_rb/) kao(:,13,14) = (/ & &6.3004e-06_rb,7.4647e-06_rb,1.3256e-05_rb,1.9422e-05_rb,2.7358e-05_rb/) kao(:, 1,15) = (/ & &1.0457e-01_rb,1.3337e-01_rb,1.6543e-01_rb,2.0044e-01_rb,2.3788e-01_rb/) kao(:, 2,15) = (/ & &1.1420e-01_rb,1.4734e-01_rb,1.8451e-01_rb,2.2524e-01_rb,2.6907e-01_rb/) kao(:, 3,15) = (/ & &1.1631e-01_rb,1.5291e-01_rb,1.9437e-01_rb,2.4033e-01_rb,2.9013e-01_rb/) kao(:, 4,15) = (/ & &1.1302e-01_rb,1.5183e-01_rb,1.9657e-01_rb,2.4665e-01_rb,3.0148e-01_rb/) kao(:, 5,15) = (/ & &1.0669e-01_rb,1.4681e-01_rb,1.9375e-01_rb,2.4698e-01_rb,3.0586e-01_rb/) kao(:, 6,15) = (/ & &9.6727e-02_rb,1.3681e-01_rb,1.8458e-01_rb,2.3961e-01_rb,3.0104e-01_rb/) kao(:, 7,15) = (/ & &8.4990e-02_rb,1.2388e-01_rb,1.7124e-01_rb,2.2660e-01_rb,2.8964e-01_rb/) kao(:, 8,15) = (/ & &7.2581e-02_rb,1.0932e-01_rb,1.5506e-01_rb,2.1052e-01_rb,2.7593e-01_rb/) kao(:, 9,15) = (/ & &2.1552e-02_rb,6.6962e-02_rb,1.2166e-01_rb,1.8985e-01_rb,2.2620e-01_rb/) kao(:,10,15) = (/ & &8.5757e-06_rb,7.9319e-06_rb,7.5384e-06_rb,5.2149e-06_rb,3.5776e-06_rb/) kao(:,11,15) = (/ & &7.3855e-06_rb,7.4681e-06_rb,7.1804e-06_rb,6.5771e-06_rb,3.3890e-06_rb/) kao(:,12,15) = (/ & &5.9318e-06_rb,6.7082e-06_rb,7.4828e-06_rb,6.0815e-06_rb,3.2500e-06_rb/) kao(:,13,15) = (/ & &7.9734e-06_rb,1.0467e-05_rb,1.8551e-05_rb,3.3018e-05_rb,1.4396e-05_rb/) kao(:, 1,16) = (/ & &1.0940e-01_rb,1.4000e-01_rb,1.7421e-01_rb,2.1173e-01_rb,2.5214e-01_rb/) kao(:, 2,16) = (/ & &1.2207e-01_rb,1.5824e-01_rb,1.9908e-01_rb,2.4418e-01_rb,2.9310e-01_rb/) kao(:, 3,16) = (/ & &1.2803e-01_rb,1.6941e-01_rb,2.1687e-01_rb,2.6992e-01_rb,3.2810e-01_rb/) kao(:, 4,16) = (/ & &1.2912e-01_rb,1.7512e-01_rb,2.2885e-01_rb,2.8989e-01_rb,3.5760e-01_rb/) kao(:, 5,16) = (/ & &1.2782e-01_rb,1.7809e-01_rb,2.3798e-01_rb,3.0717e-01_rb,3.8500e-01_rb/) kao(:, 6,16) = (/ & &1.2288e-01_rb,1.7665e-01_rb,2.4226e-01_rb,3.1945e-01_rb,4.0769e-01_rb/) kao(:, 7,16) = (/ & &1.1601e-01_rb,1.7265e-01_rb,2.4356e-01_rb,3.2874e-01_rb,4.2783e-01_rb/) kao(:, 8,16) = (/ & &1.0802e-01_rb,1.6690e-01_rb,2.4265e-01_rb,3.3582e-01_rb,4.4617e-01_rb/) kao(:, 9,16) = (/ & &9.8584e-02_rb,1.5878e-01_rb,2.3864e-01_rb,3.3924e-01_rb,4.6085e-01_rb/) kao(:,10,16) = (/ & &2.5370e-06_rb,3.6996e-06_rb,5.1180e-06_rb,9.0911e-06_rb,1.0521e-05_rb/) kao(:,11,16) = (/ & &2.1410e-06_rb,3.1393e-06_rb,2.7559e-06_rb,9.6933e-06_rb,1.1052e-05_rb/) kao(:,12,16) = (/ & &1.7911e-06_rb,2.0648e-06_rb,1.9476e-06_rb,1.0250e-05_rb,1.1569e-05_rb/) kao(:,13,16) = (/ & &6.8424e-07_rb,2.1307e-05_rb,3.0235e-05_rb,1.0419e-05_rb,1.1877e-05_rb/) ! The array KBO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels < ~100mb and temperatures. The first ! index in the array, JT, which runs from 1 to 5, corresponds to ! different temperatures. More specifically, JT = 3 means that the ! data are for the reference temperature TREF for this pressure ! level, JT = 2 refers to the temperature TREF-15, JT = 1 is for ! TREF-30, JT = 4 is for TREF+15, and JT = 5 is for TREF+30. ! The second index, JP, runs from 13 to 59 and refers to the JPth ! reference pressure level (see taumol.f for the value of these ! pressure levels in mb). The third index, IG, goes from 1 to 16, ! and tells us which g-interval the absorption coefficients are for. kbo(:,13, 1) = (/ & &2.1590e-02_rb,2.2747e-02_rb,2.3755e-02_rb,2.4762e-02_rb,2.5739e-02_rb/) kbo(:,14, 1) = (/ & &1.5891e-02_rb,1.6865e-02_rb,1.7785e-02_rb,1.8588e-02_rb,1.9375e-02_rb/) kbo(:,15, 1) = (/ & &1.2008e-02_rb,1.2891e-02_rb,1.3700e-02_rb,1.4369e-02_rb,1.4970e-02_rb/) kbo(:,16, 1) = (/ & &9.5594e-03_rb,1.0266e-02_rb,1.0893e-02_rb,1.1429e-02_rb,1.1863e-02_rb/) kbo(:,17, 1) = (/ & &7.6979e-03_rb,8.2617e-03_rb,8.7527e-03_rb,9.1620e-03_rb,9.5161e-03_rb/) kbo(:,18, 1) = (/ & &6.2689e-03_rb,6.7130e-03_rb,7.1029e-03_rb,7.4199e-03_rb,7.7032e-03_rb/) kbo(:,19, 1) = (/ & &5.1124e-03_rb,5.4669e-03_rb,5.7636e-03_rb,6.0175e-03_rb,6.2439e-03_rb/) kbo(:,20, 1) = (/ & &4.2074e-03_rb,4.4879e-03_rb,4.7226e-03_rb,4.9240e-03_rb,5.1066e-03_rb/) kbo(:,21, 1) = (/ & &3.4689e-03_rb,3.6905e-03_rb,3.8771e-03_rb,4.0402e-03_rb,4.1874e-03_rb/) kbo(:,22, 1) = (/ & &2.8675e-03_rb,3.0422e-03_rb,3.1923e-03_rb,3.3247e-03_rb,3.4419e-03_rb/) kbo(:,23, 1) = (/ & &2.3673e-03_rb,2.5068e-03_rb,2.6269e-03_rb,2.7338e-03_rb,2.8272e-03_rb/) kbo(:,24, 1) = (/ & &1.9512e-03_rb,2.0620e-03_rb,2.1580e-03_rb,2.2436e-03_rb,2.3178e-03_rb/) kbo(:,25, 1) = (/ & &1.6104e-03_rb,1.6991e-03_rb,1.7756e-03_rb,1.8445e-03_rb,1.9031e-03_rb/) kbo(:,26, 1) = (/ & &1.3324e-03_rb,1.4030e-03_rb,1.4641e-03_rb,1.5181e-03_rb,1.5647e-03_rb/) kbo(:,27, 1) = (/ & &1.1030e-03_rb,1.1588e-03_rb,1.2079e-03_rb,1.2506e-03_rb,1.2885e-03_rb/) kbo(:,28, 1) = (/ & &9.1277e-04_rb,9.5694e-04_rb,9.9621e-04_rb,1.0308e-03_rb,1.0603e-03_rb/) kbo(:,29, 1) = (/ & &7.5709e-04_rb,7.9257e-04_rb,8.2415e-04_rb,8.5205e-04_rb,8.7500e-04_rb/) kbo(:,30, 1) = (/ & &6.2805e-04_rb,6.5667e-04_rb,6.8205e-04_rb,7.0403e-04_rb,7.2224e-04_rb/) kbo(:,31, 1) = (/ & &5.2190e-04_rb,5.4469e-04_rb,5.6521e-04_rb,5.8274e-04_rb,5.9713e-04_rb/) kbo(:,32, 1) = (/ & &4.3349e-04_rb,4.5214e-04_rb,4.6842e-04_rb,4.8237e-04_rb,4.9367e-04_rb/) kbo(:,33, 1) = (/ & &3.5999e-04_rb,3.7522e-04_rb,3.8828e-04_rb,3.9917e-04_rb,4.0831e-04_rb/) kbo(:,34, 1) = (/ & &2.9885e-04_rb,3.1108e-04_rb,3.2123e-04_rb,3.3020e-04_rb,3.3735e-04_rb/) kbo(:,35, 1) = (/ & &2.4686e-04_rb,2.5649e-04_rb,2.6489e-04_rb,2.7217e-04_rb,2.7798e-04_rb/) kbo(:,36, 1) = (/ & &2.0249e-04_rb,2.1050e-04_rb,2.1752e-04_rb,2.2349e-04_rb,2.2845e-04_rb/) kbo(:,37, 1) = (/ & &1.6556e-04_rb,1.7221e-04_rb,1.7821e-04_rb,1.8323e-04_rb,1.8756e-04_rb/) kbo(:,38, 1) = (/ & &1.3530e-04_rb,1.4093e-04_rb,1.4599e-04_rb,1.5028e-04_rb,1.5406e-04_rb/) kbo(:,39, 1) = (/ & &1.1062e-04_rb,1.1539e-04_rb,1.1961e-04_rb,1.2331e-04_rb,1.2663e-04_rb/) kbo(:,40, 1) = (/ & &8.9884e-05_rb,9.3980e-05_rb,9.7546e-05_rb,1.0075e-04_rb,1.0361e-04_rb/) kbo(:,41, 1) = (/ & &7.2964e-05_rb,7.6433e-05_rb,7.9468e-05_rb,8.2219e-05_rb,8.4723e-05_rb/) kbo(:,42, 1) = (/ & &5.9182e-05_rb,6.2146e-05_rb,6.4721e-05_rb,6.7085e-05_rb,6.9267e-05_rb/) kbo(:,43, 1) = (/ & &4.7864e-05_rb,5.0382e-05_rb,5.2591e-05_rb,5.4634e-05_rb,5.6528e-05_rb/) kbo(:,44, 1) = (/ & &3.8628e-05_rb,4.0783e-05_rb,4.2701e-05_rb,4.4436e-05_rb,4.6114e-05_rb/) kbo(:,45, 1) = (/ & &3.1127e-05_rb,3.3002e-05_rb,3.4654e-05_rb,3.6151e-05_rb,3.7566e-05_rb/) kbo(:,46, 1) = (/ & &2.5026e-05_rb,2.6649e-05_rb,2.8068e-05_rb,2.9367e-05_rb,3.0563e-05_rb/) kbo(:,47, 1) = (/ & &2.0040e-05_rb,2.1423e-05_rb,2.2656e-05_rb,2.3781e-05_rb,2.4816e-05_rb/) kbo(:,48, 1) = (/ & &1.6036e-05_rb,1.7209e-05_rb,1.8283e-05_rb,1.9267e-05_rb,2.0138e-05_rb/) kbo(:,49, 1) = (/ & &1.2828e-05_rb,1.3830e-05_rb,1.4752e-05_rb,1.5602e-05_rb,1.6354e-05_rb/) kbo(:,50, 1) = (/ & &1.0257e-05_rb,1.1106e-05_rb,1.1884e-05_rb,1.2616e-05_rb,1.3265e-05_rb/) kbo(:,51, 1) = (/ & &8.1934e-06_rb,8.9110e-06_rb,9.5669e-06_rb,1.0186e-05_rb,1.0748e-05_rb/) kbo(:,52, 1) = (/ & &6.5467e-06_rb,7.1424e-06_rb,7.7065e-06_rb,8.2286e-06_rb,8.7123e-06_rb/) kbo(:,53, 1) = (/ & &5.2332e-06_rb,5.7328e-06_rb,6.2119e-06_rb,6.6510e-06_rb,7.0700e-06_rb/) kbo(:,54, 1) = (/ & &4.1577e-06_rb,4.5779e-06_rb,4.9804e-06_rb,5.3498e-06_rb,5.7020e-06_rb/) kbo(:,55, 1) = (/ & &3.2878e-06_rb,3.6403e-06_rb,3.9741e-06_rb,4.2805e-06_rb,4.5760e-06_rb/) kbo(:,56, 1) = (/ & &2.5965e-06_rb,2.8911e-06_rb,3.1663e-06_rb,3.4265e-06_rb,3.6666e-06_rb/) kbo(:,57, 1) = (/ & &2.0466e-06_rb,2.2908e-06_rb,2.5217e-06_rb,2.7403e-06_rb,2.9373e-06_rb/) kbo(:,58, 1) = (/ & &1.6093e-06_rb,1.8128e-06_rb,2.0059e-06_rb,2.1882e-06_rb,2.3529e-06_rb/) kbo(:,59, 1) = (/ & &1.2776e-06_rb,1.4459e-06_rb,1.6042e-06_rb,1.7524e-06_rb,1.8906e-06_rb/) kbo(:,13, 2) = (/ & &3.8014e-02_rb,3.9737e-02_rb,4.1825e-02_rb,4.3879e-02_rb,4.5802e-02_rb/) kbo(:,14, 2) = (/ & &3.0759e-02_rb,3.2195e-02_rb,3.3860e-02_rb,3.5735e-02_rb,3.7445e-02_rb/) kbo(:,15, 2) = (/ & &2.4737e-02_rb,2.6065e-02_rb,2.7499e-02_rb,2.8985e-02_rb,3.0345e-02_rb/) kbo(:,16, 2) = (/ & &2.0386e-02_rb,2.1604e-02_rb,2.2870e-02_rb,2.4062e-02_rb,2.5169e-02_rb/) kbo(:,17, 2) = (/ & &1.6973e-02_rb,1.8030e-02_rb,1.9046e-02_rb,1.9999e-02_rb,2.0836e-02_rb/) kbo(:,18, 2) = (/ & &1.4179e-02_rb,1.5045e-02_rb,1.5843e-02_rb,1.6598e-02_rb,1.7207e-02_rb/) kbo(:,19, 2) = (/ & &1.1784e-02_rb,1.2488e-02_rb,1.3131e-02_rb,1.3688e-02_rb,1.4139e-02_rb/) kbo(:,20, 2) = (/ & &9.8208e-03_rb,1.0377e-02_rb,1.0872e-02_rb,1.1296e-02_rb,1.1641e-02_rb/) kbo(:,21, 2) = (/ & &8.1632e-03_rb,8.5996e-03_rb,8.9808e-03_rb,9.3040e-03_rb,9.5696e-03_rb/) kbo(:,22, 2) = (/ & &6.7970e-03_rb,7.1290e-03_rb,7.4204e-03_rb,7.6665e-03_rb,7.8692e-03_rb/) kbo(:,23, 2) = (/ & &5.6384e-03_rb,5.8917e-03_rb,6.1228e-03_rb,6.3098e-03_rb,6.4698e-03_rb/) kbo(:,24, 2) = (/ & &4.6602e-03_rb,4.8595e-03_rb,5.0396e-03_rb,5.1884e-03_rb,5.3131e-03_rb/) kbo(:,25, 2) = (/ & &3.8492e-03_rb,4.0101e-03_rb,4.1507e-03_rb,4.2656e-03_rb,4.3666e-03_rb/) kbo(:,26, 2) = (/ & &3.1817e-03_rb,3.3089e-03_rb,3.4202e-03_rb,3.5130e-03_rb,3.5943e-03_rb/) kbo(:,27, 2) = (/ & &2.6312e-03_rb,2.7340e-03_rb,2.8215e-03_rb,2.8952e-03_rb,2.9585e-03_rb/) kbo(:,28, 2) = (/ & &2.1766e-03_rb,2.2592e-03_rb,2.3277e-03_rb,2.3874e-03_rb,2.4369e-03_rb/) kbo(:,29, 2) = (/ & &1.8050e-03_rb,1.8690e-03_rb,1.9243e-03_rb,1.9721e-03_rb,2.0134e-03_rb/) kbo(:,30, 2) = (/ & &1.4965e-03_rb,1.5474e-03_rb,1.5922e-03_rb,1.6307e-03_rb,1.6644e-03_rb/) kbo(:,31, 2) = (/ & &1.2416e-03_rb,1.2835e-03_rb,1.3200e-03_rb,1.3519e-03_rb,1.3783e-03_rb/) kbo(:,32, 2) = (/ & &1.0308e-03_rb,1.0652e-03_rb,1.0950e-03_rb,1.1207e-03_rb,1.1427e-03_rb/) kbo(:,33, 2) = (/ & &8.5698e-04_rb,8.8430e-04_rb,9.0863e-04_rb,9.2966e-04_rb,9.4803e-04_rb/) kbo(:,34, 2) = (/ & &7.1109e-04_rb,7.3332e-04_rb,7.5331e-04_rb,7.7074e-04_rb,7.8601e-04_rb/) kbo(:,35, 2) = (/ & &5.8729e-04_rb,6.0603e-04_rb,6.2268e-04_rb,6.3737e-04_rb,6.5045e-04_rb/) kbo(:,36, 2) = (/ & &4.8310e-04_rb,4.9861e-04_rb,5.1251e-04_rb,5.2508e-04_rb,5.3615e-04_rb/) kbo(:,37, 2) = (/ & &3.9625e-04_rb,4.0955e-04_rb,4.2151e-04_rb,4.3225e-04_rb,4.4172e-04_rb/) kbo(:,38, 2) = (/ & &3.2503e-04_rb,3.3643e-04_rb,3.4664e-04_rb,3.5587e-04_rb,3.6445e-04_rb/) kbo(:,39, 2) = (/ & &2.6664e-04_rb,2.7639e-04_rb,2.8514e-04_rb,2.9332e-04_rb,3.0098e-04_rb/) kbo(:,40, 2) = (/ & &2.1759e-04_rb,2.2608e-04_rb,2.3348e-04_rb,2.4050e-04_rb,2.4712e-04_rb/) kbo(:,41, 2) = (/ & &1.7739e-04_rb,1.8462e-04_rb,1.9097e-04_rb,1.9703e-04_rb,2.0268e-04_rb/) kbo(:,42, 2) = (/ & &1.4453e-04_rb,1.5070e-04_rb,1.5612e-04_rb,1.6130e-04_rb,1.6626e-04_rb/) kbo(:,43, 2) = (/ & &1.1750e-04_rb,1.2276e-04_rb,1.2736e-04_rb,1.3185e-04_rb,1.3616e-04_rb/) kbo(:,44, 2) = (/ & &9.5367e-05_rb,9.9857e-05_rb,1.0380e-04_rb,1.0768e-04_rb,1.1140e-04_rb/) kbo(:,45, 2) = (/ & &7.7428e-05_rb,8.1152e-05_rb,8.4582e-05_rb,8.7898e-05_rb,9.1175e-05_rb/) kbo(:,46, 2) = (/ & &6.2722e-05_rb,6.5854e-05_rb,6.8828e-05_rb,7.1656e-05_rb,7.4494e-05_rb/) kbo(:,47, 2) = (/ & &5.0620e-05_rb,5.3291e-05_rb,5.5834e-05_rb,5.8234e-05_rb,6.0703e-05_rb/) kbo(:,48, 2) = (/ & &4.0839e-05_rb,4.3112e-05_rb,4.5285e-05_rb,4.7326e-05_rb,4.9468e-05_rb/) kbo(:,49, 2) = (/ & &3.2956e-05_rb,3.4871e-05_rb,3.6734e-05_rb,3.8477e-05_rb,4.0339e-05_rb/) kbo(:,50, 2) = (/ & &2.6578e-05_rb,2.8186e-05_rb,2.9765e-05_rb,3.1246e-05_rb,3.2810e-05_rb/) kbo(:,51, 2) = (/ & &2.1419e-05_rb,2.2753e-05_rb,2.4086e-05_rb,2.5342e-05_rb,2.6653e-05_rb/) kbo(:,52, 2) = (/ & &1.7265e-05_rb,1.8376e-05_rb,1.9492e-05_rb,2.0556e-05_rb,2.1651e-05_rb/) kbo(:,53, 2) = (/ & &1.3928e-05_rb,1.4844e-05_rb,1.5782e-05_rb,1.6689e-05_rb,1.7614e-05_rb/) kbo(:,54, 2) = (/ & &1.1205e-05_rb,1.1963e-05_rb,1.2726e-05_rb,1.3478e-05_rb,1.4240e-05_rb/) kbo(:,55, 2) = (/ & &8.9889e-06_rb,9.6190e-06_rb,1.0235e-05_rb,1.0868e-05_rb,1.1479e-05_rb/) kbo(:,56, 2) = (/ & &7.2032e-06_rb,7.7304e-06_rb,8.2333e-06_rb,8.7486e-06_rb,9.2547e-06_rb/) kbo(:,57, 2) = (/ & &5.7621e-06_rb,6.2097e-06_rb,6.6195e-06_rb,7.0372e-06_rb,7.4615e-06_rb/) kbo(:,58, 2) = (/ & &4.6073e-06_rb,4.9865e-06_rb,5.3240e-06_rb,5.6615e-06_rb,6.0083e-06_rb/) kbo(:,59, 2) = (/ & &3.7094e-06_rb,4.0178e-06_rb,4.3021e-06_rb,4.5755e-06_rb,4.8477e-06_rb/) kbo(:,13, 3) = (/ & &6.3405e-02_rb,6.5846e-02_rb,6.7902e-02_rb,7.0344e-02_rb,7.3087e-02_rb/) kbo(:,14, 3) = (/ & &5.1252e-02_rb,5.3361e-02_rb,5.5658e-02_rb,5.8048e-02_rb,6.0738e-02_rb/) kbo(:,15, 3) = (/ & &4.2340e-02_rb,4.4418e-02_rb,4.6657e-02_rb,4.8923e-02_rb,5.1338e-02_rb/) kbo(:,16, 3) = (/ & &3.5507e-02_rb,3.7339e-02_rb,3.9465e-02_rb,4.1652e-02_rb,4.3669e-02_rb/) kbo(:,17, 3) = (/ & &2.9824e-02_rb,3.1523e-02_rb,3.3435e-02_rb,3.5273e-02_rb,3.6953e-02_rb/) kbo(:,18, 3) = (/ & &2.5125e-02_rb,2.6683e-02_rb,2.8323e-02_rb,2.9797e-02_rb,3.1126e-02_rb/) kbo(:,19, 3) = (/ & &2.1223e-02_rb,2.2544e-02_rb,2.3820e-02_rb,2.4985e-02_rb,2.5990e-02_rb/) kbo(:,20, 3) = (/ & &1.7915e-02_rb,1.8986e-02_rb,1.9994e-02_rb,2.0861e-02_rb,2.1602e-02_rb/) kbo(:,21, 3) = (/ & &1.5062e-02_rb,1.5916e-02_rb,1.6665e-02_rb,1.7312e-02_rb,1.7872e-02_rb/) kbo(:,22, 3) = (/ & &1.2635e-02_rb,1.3292e-02_rb,1.3846e-02_rb,1.4329e-02_rb,1.4769e-02_rb/) kbo(:,23, 3) = (/ & &1.0554e-02_rb,1.1051e-02_rb,1.1464e-02_rb,1.1841e-02_rb,1.2180e-02_rb/) kbo(:,24, 3) = (/ & &8.7770e-03_rb,9.1488e-03_rb,9.4668e-03_rb,9.7625e-03_rb,1.0031e-02_rb/) kbo(:,25, 3) = (/ & &7.2756e-03_rb,7.5544e-03_rb,7.8035e-03_rb,8.0431e-03_rb,8.2495e-03_rb/) kbo(:,26, 3) = (/ & &6.0226e-03_rb,6.2378e-03_rb,6.4382e-03_rb,6.6253e-03_rb,6.7857e-03_rb/) kbo(:,27, 3) = (/ & &4.9811e-03_rb,5.1501e-03_rb,5.3115e-03_rb,5.4587e-03_rb,5.5851e-03_rb/) kbo(:,28, 3) = (/ & &4.1172e-03_rb,4.2566e-03_rb,4.3852e-03_rb,4.4995e-03_rb,4.6022e-03_rb/) kbo(:,29, 3) = (/ & &3.4101e-03_rb,3.5232e-03_rb,3.6273e-03_rb,3.7181e-03_rb,3.8009e-03_rb/) kbo(:,30, 3) = (/ & &2.8248e-03_rb,2.9164e-03_rb,2.9992e-03_rb,3.0754e-03_rb,3.1419e-03_rb/) kbo(:,31, 3) = (/ & &2.3450e-03_rb,2.4195e-03_rb,2.4879e-03_rb,2.5493e-03_rb,2.6070e-03_rb/) kbo(:,32, 3) = (/ & &1.9491e-03_rb,2.0095e-03_rb,2.0670e-03_rb,2.1190e-03_rb,2.1683e-03_rb/) kbo(:,33, 3) = (/ & &1.6195e-03_rb,1.6713e-03_rb,1.7189e-03_rb,1.7649e-03_rb,1.8032e-03_rb/) kbo(:,34, 3) = (/ & &1.3454e-03_rb,1.3883e-03_rb,1.4290e-03_rb,1.4663e-03_rb,1.4976e-03_rb/) kbo(:,35, 3) = (/ & &1.1151e-03_rb,1.1504e-03_rb,1.1846e-03_rb,1.2147e-03_rb,1.2425e-03_rb/) kbo(:,36, 3) = (/ & &9.1872e-04_rb,9.4904e-04_rb,9.7800e-04_rb,1.0033e-03_rb,1.0278e-03_rb/) kbo(:,37, 3) = (/ & &7.5556e-04_rb,7.8161e-04_rb,8.0630e-04_rb,8.2845e-04_rb,8.4914e-04_rb/) kbo(:,38, 3) = (/ & &6.2192e-04_rb,6.4458e-04_rb,6.6572e-04_rb,6.8474e-04_rb,7.0313e-04_rb/) kbo(:,39, 3) = (/ & &5.1238e-04_rb,5.3172e-04_rb,5.4973e-04_rb,5.6636e-04_rb,5.8235e-04_rb/) kbo(:,40, 3) = (/ & &4.1982e-04_rb,4.3621e-04_rb,4.5139e-04_rb,4.6596e-04_rb,4.7961e-04_rb/) kbo(:,41, 3) = (/ & &3.4388e-04_rb,3.5746e-04_rb,3.7054e-04_rb,3.8291e-04_rb,3.9470e-04_rb/) kbo(:,42, 3) = (/ & &2.8144e-04_rb,2.9295e-04_rb,3.0424e-04_rb,3.1457e-04_rb,3.2459e-04_rb/) kbo(:,43, 3) = (/ & &2.2990e-04_rb,2.3955e-04_rb,2.4928e-04_rb,2.5827e-04_rb,2.6672e-04_rb/) kbo(:,44, 3) = (/ & &1.8744e-04_rb,1.9582e-04_rb,2.0413e-04_rb,2.1176e-04_rb,2.1912e-04_rb/) kbo(:,45, 3) = (/ & &1.5285e-04_rb,1.6000e-04_rb,1.6711e-04_rb,1.7363e-04_rb,1.7993e-04_rb/) kbo(:,46, 3) = (/ & &1.2448e-04_rb,1.3059e-04_rb,1.3656e-04_rb,1.4216e-04_rb,1.4758e-04_rb/) kbo(:,47, 3) = (/ & &1.0103e-04_rb,1.0628e-04_rb,1.1130e-04_rb,1.1611e-04_rb,1.2074e-04_rb/) kbo(:,48, 3) = (/ & &8.1983e-05_rb,8.6504e-05_rb,9.0728e-05_rb,9.4862e-05_rb,9.8826e-05_rb/) kbo(:,49, 3) = (/ & &6.6563e-05_rb,7.0429e-05_rb,7.4014e-05_rb,7.7542e-05_rb,8.0976e-05_rb/) kbo(:,50, 3) = (/ & &5.3952e-05_rb,5.7235e-05_rb,6.0247e-05_rb,6.3258e-05_rb,6.6182e-05_rb/) kbo(:,51, 3) = (/ & &4.3663e-05_rb,4.6470e-05_rb,4.9001e-05_rb,5.1519e-05_rb,5.4013e-05_rb/) kbo(:,52, 3) = (/ & &3.5323e-05_rb,3.7705e-05_rb,3.9846e-05_rb,4.1973e-05_rb,4.4086e-05_rb/) kbo(:,53, 3) = (/ & &2.8583e-05_rb,3.0614e-05_rb,3.2428e-05_rb,3.4214e-05_rb,3.6024e-05_rb/) kbo(:,54, 3) = (/ & &2.3052e-05_rb,2.4741e-05_rb,2.6291e-05_rb,2.7754e-05_rb,2.9233e-05_rb/) kbo(:,55, 3) = (/ & &1.8532e-05_rb,1.9924e-05_rb,2.1226e-05_rb,2.2443e-05_rb,2.3644e-05_rb/) kbo(:,56, 3) = (/ & &1.4892e-05_rb,1.6026e-05_rb,1.7132e-05_rb,1.8148e-05_rb,1.9127e-05_rb/) kbo(:,57, 3) = (/ & &1.1957e-05_rb,1.2880e-05_rb,1.3809e-05_rb,1.4669e-05_rb,1.5458e-05_rb/) kbo(:,58, 3) = (/ & &9.6000e-06_rb,1.0349e-05_rb,1.1127e-05_rb,1.1847e-05_rb,1.2497e-05_rb/) kbo(:,59, 3) = (/ & &7.7452e-06_rb,8.3627e-06_rb,8.9895e-06_rb,9.5703e-06_rb,1.0120e-05_rb/) kbo(:,13, 4) = (/ & &9.9915e-02_rb,1.0385e-01_rb,1.0749e-01_rb,1.1095e-01_rb,1.1480e-01_rb/) kbo(:,14, 4) = (/ & &8.4174e-02_rb,8.7314e-02_rb,9.0833e-02_rb,9.4040e-02_rb,9.7483e-02_rb/) kbo(:,15, 4) = (/ & &7.1798e-02_rb,7.3772e-02_rb,7.6218e-02_rb,7.9303e-02_rb,8.2911e-02_rb/) kbo(:,16, 4) = (/ & &6.0987e-02_rb,6.2861e-02_rb,6.5027e-02_rb,6.7869e-02_rb,7.1492e-02_rb/) kbo(:,17, 4) = (/ & &5.1988e-02_rb,5.3759e-02_rb,5.5853e-02_rb,5.8672e-02_rb,6.1980e-02_rb/) kbo(:,18, 4) = (/ & &4.4171e-02_rb,4.5935e-02_rb,4.8095e-02_rb,5.0759e-02_rb,5.3616e-02_rb/) kbo(:,19, 4) = (/ & &3.7411e-02_rb,3.9215e-02_rb,4.1337e-02_rb,4.3631e-02_rb,4.5910e-02_rb/) kbo(:,20, 4) = (/ & &3.1780e-02_rb,3.3510e-02_rb,3.5386e-02_rb,3.7312e-02_rb,3.9095e-02_rb/) kbo(:,21, 4) = (/ & &2.6954e-02_rb,2.8513e-02_rb,3.0099e-02_rb,3.1617e-02_rb,3.2915e-02_rb/) kbo(:,22, 4) = (/ & &2.2888e-02_rb,2.4194e-02_rb,2.5477e-02_rb,2.6596e-02_rb,2.7511e-02_rb/) kbo(:,23, 4) = (/ & &1.9346e-02_rb,2.0404e-02_rb,2.1382e-02_rb,2.2165e-02_rb,2.2830e-02_rb/) kbo(:,24, 4) = (/ & &1.6247e-02_rb,1.7083e-02_rb,1.7781e-02_rb,1.8353e-02_rb,1.8851e-02_rb/) kbo(:,25, 4) = (/ & &1.3597e-02_rb,1.4221e-02_rb,1.4742e-02_rb,1.5163e-02_rb,1.5551e-02_rb/) kbo(:,26, 4) = (/ & &1.1347e-02_rb,1.1808e-02_rb,1.2193e-02_rb,1.2519e-02_rb,1.2827e-02_rb/) kbo(:,27, 4) = (/ & &9.4352e-03_rb,9.7820e-03_rb,1.0071e-02_rb,1.0331e-02_rb,1.0583e-02_rb/) kbo(:,28, 4) = (/ & &7.8281e-03_rb,8.0857e-03_rb,8.3110e-03_rb,8.5276e-03_rb,8.7304e-03_rb/) kbo(:,29, 4) = (/ & &6.4877e-03_rb,6.6881e-03_rb,6.8753e-03_rb,7.0489e-03_rb,7.2105e-03_rb/) kbo(:,30, 4) = (/ & &5.3741e-03_rb,5.5372e-03_rb,5.6910e-03_rb,5.8358e-03_rb,5.9652e-03_rb/) kbo(:,31, 4) = (/ & &4.4624e-03_rb,4.5974e-03_rb,4.7269e-03_rb,4.8416e-03_rb,4.9477e-03_rb/) kbo(:,32, 4) = (/ & &3.7110e-03_rb,3.8251e-03_rb,3.9302e-03_rb,4.0264e-03_rb,4.1112e-03_rb/) kbo(:,33, 4) = (/ & &3.0918e-03_rb,3.1864e-03_rb,3.2713e-03_rb,3.3504e-03_rb,3.4219e-03_rb/) kbo(:,34, 4) = (/ & &2.5734e-03_rb,2.6501e-03_rb,2.7238e-03_rb,2.7897e-03_rb,2.8499e-03_rb/) kbo(:,35, 4) = (/ & &2.1361e-03_rb,2.2030e-03_rb,2.2659e-03_rb,2.3224e-03_rb,2.3696e-03_rb/) kbo(:,36, 4) = (/ & &1.7673e-03_rb,1.8262e-03_rb,1.8805e-03_rb,1.9284e-03_rb,1.9688e-03_rb/) kbo(:,37, 4) = (/ & &1.4584e-03_rb,1.5086e-03_rb,1.5546e-03_rb,1.5960e-03_rb,1.6338e-03_rb/) kbo(:,38, 4) = (/ & &1.2034e-03_rb,1.2453e-03_rb,1.2856e-03_rb,1.3227e-03_rb,1.3572e-03_rb/) kbo(:,39, 4) = (/ & &9.9454e-04_rb,1.0299e-03_rb,1.0651e-03_rb,1.0982e-03_rb,1.1293e-03_rb/) kbo(:,40, 4) = (/ & &8.1766e-04_rb,8.4814e-04_rb,8.7922e-04_rb,9.0780e-04_rb,9.3604e-04_rb/) kbo(:,41, 4) = (/ & &6.7161e-04_rb,6.9882e-04_rb,7.2604e-04_rb,7.5179e-04_rb,7.7573e-04_rb/) kbo(:,42, 4) = (/ & &5.5233e-04_rb,5.7642e-04_rb,5.9983e-04_rb,6.2278e-04_rb,6.4351e-04_rb/) kbo(:,43, 4) = (/ & &4.5350e-04_rb,4.7458e-04_rb,4.9522e-04_rb,5.1500e-04_rb,5.3326e-04_rb/) kbo(:,44, 4) = (/ & &3.7202e-04_rb,3.9025e-04_rb,4.0848e-04_rb,4.2568e-04_rb,4.4143e-04_rb/) kbo(:,45, 4) = (/ & &3.0534e-04_rb,3.2126e-04_rb,3.3706e-04_rb,3.5201e-04_rb,3.6606e-04_rb/) kbo(:,46, 4) = (/ & &2.5026e-04_rb,2.6416e-04_rb,2.7768e-04_rb,2.9081e-04_rb,3.0319e-04_rb/) kbo(:,47, 4) = (/ & &2.0428e-04_rb,2.1616e-04_rb,2.2794e-04_rb,2.3946e-04_rb,2.5046e-04_rb/) kbo(:,48, 4) = (/ & &1.6667e-04_rb,1.7701e-04_rb,1.8729e-04_rb,1.9740e-04_rb,2.0693e-04_rb/) kbo(:,49, 4) = (/ & &1.3611e-04_rb,1.4498e-04_rb,1.5402e-04_rb,1.6290e-04_rb,1.7121e-04_rb/) kbo(:,50, 4) = (/ & &1.1088e-04_rb,1.1847e-04_rb,1.2631e-04_rb,1.3390e-04_rb,1.4119e-04_rb/) kbo(:,51, 4) = (/ & &9.0216e-05_rb,9.6607e-05_rb,1.0331e-04_rb,1.0986e-04_rb,1.1615e-04_rb/) kbo(:,52, 4) = (/ & &7.3423e-05_rb,7.8834e-05_rb,8.4566e-05_rb,9.0143e-05_rb,9.5562e-05_rb/) kbo(:,53, 4) = (/ & &5.9754e-05_rb,6.4377e-05_rb,6.9227e-05_rb,7.4054e-05_rb,7.8692e-05_rb/) kbo(:,54, 4) = (/ & &4.8298e-05_rb,5.2166e-05_rb,5.6219e-05_rb,6.0246e-05_rb,6.4263e-05_rb/) kbo(:,55, 4) = (/ & &3.8831e-05_rb,4.2066e-05_rb,4.5431e-05_rb,4.8757e-05_rb,5.2064e-05_rb/) kbo(:,56, 4) = (/ & &3.1190e-05_rb,3.3925e-05_rb,3.6680e-05_rb,3.9437e-05_rb,4.2169e-05_rb/) kbo(:,57, 4) = (/ & &2.5026e-05_rb,2.7326e-05_rb,2.9588e-05_rb,3.1864e-05_rb,3.4154e-05_rb/) kbo(:,58, 4) = (/ & &2.0044e-05_rb,2.1985e-05_rb,2.3836e-05_rb,2.5731e-05_rb,2.7590e-05_rb/) kbo(:,59, 4) = (/ & &1.6187e-05_rb,1.7736e-05_rb,1.9214e-05_rb,2.0762e-05_rb,2.2244e-05_rb/) kbo(:,13, 5) = (/ & &1.6183e-01_rb,1.6388e-01_rb,1.6830e-01_rb,1.7476e-01_rb,1.8120e-01_rb/) kbo(:,14, 5) = (/ & &1.4136e-01_rb,1.4390e-01_rb,1.4614e-01_rb,1.5033e-01_rb,1.5561e-01_rb/) kbo(:,15, 5) = (/ & &1.2277e-01_rb,1.2594e-01_rb,1.2862e-01_rb,1.3140e-01_rb,1.3513e-01_rb/) kbo(:,16, 5) = (/ & &1.0716e-01_rb,1.1019e-01_rb,1.1295e-01_rb,1.1569e-01_rb,1.1878e-01_rb/) kbo(:,17, 5) = (/ & &9.2722e-02_rb,9.5517e-02_rb,9.8213e-02_rb,1.0105e-01_rb,1.0426e-01_rb/) kbo(:,18, 5) = (/ & &7.9838e-02_rb,8.2414e-02_rb,8.5010e-02_rb,8.8074e-02_rb,9.1598e-02_rb/) kbo(:,19, 5) = (/ & &6.8325e-02_rb,7.0740e-02_rb,7.3430e-02_rb,7.6659e-02_rb,8.0269e-02_rb/) kbo(:,20, 5) = (/ & &5.8275e-02_rb,6.0721e-02_rb,6.3630e-02_rb,6.6772e-02_rb,7.0098e-02_rb/) kbo(:,21, 5) = (/ & &4.9672e-02_rb,5.2190e-02_rb,5.4967e-02_rb,5.7853e-02_rb,6.0822e-02_rb/) kbo(:,22, 5) = (/ & &4.2534e-02_rb,4.4900e-02_rb,4.7398e-02_rb,4.9961e-02_rb,5.2416e-02_rb/) kbo(:,23, 5) = (/ & &3.6361e-02_rb,3.8477e-02_rb,4.0633e-02_rb,4.2770e-02_rb,4.4639e-02_rb/) kbo(:,24, 5) = (/ & &3.0984e-02_rb,3.2792e-02_rb,3.4594e-02_rb,3.6198e-02_rb,3.7541e-02_rb/) kbo(:,25, 5) = (/ & &2.6322e-02_rb,2.7818e-02_rb,2.9192e-02_rb,3.0375e-02_rb,3.1335e-02_rb/) kbo(:,26, 5) = (/ & &2.2285e-02_rb,2.3473e-02_rb,2.4485e-02_rb,2.5360e-02_rb,2.6084e-02_rb/) kbo(:,27, 5) = (/ & &1.8777e-02_rb,1.9670e-02_rb,2.0440e-02_rb,2.1104e-02_rb,2.1661e-02_rb/) kbo(:,28, 5) = (/ & &1.5739e-02_rb,1.6410e-02_rb,1.7009e-02_rb,1.7502e-02_rb,1.7957e-02_rb/) kbo(:,29, 5) = (/ & &1.3157e-02_rb,1.3689e-02_rb,1.4135e-02_rb,1.4550e-02_rb,1.4908e-02_rb/) kbo(:,30, 5) = (/ & &1.0985e-02_rb,1.1390e-02_rb,1.1749e-02_rb,1.2076e-02_rb,1.2372e-02_rb/) kbo(:,31, 5) = (/ & &9.1582e-03_rb,9.4742e-03_rb,9.7675e-03_rb,1.0044e-02_rb,1.0289e-02_rb/) kbo(:,32, 5) = (/ & &7.6339e-03_rb,7.8923e-03_rb,8.1271e-03_rb,8.3548e-03_rb,8.5695e-03_rb/) kbo(:,33, 5) = (/ & &6.3715e-03_rb,6.5845e-03_rb,6.7878e-03_rb,6.9736e-03_rb,7.1535e-03_rb/) kbo(:,34, 5) = (/ & &5.3224e-03_rb,5.5025e-03_rb,5.6652e-03_rb,5.8262e-03_rb,5.9749e-03_rb/) kbo(:,35, 5) = (/ & &4.4348e-03_rb,4.5841e-03_rb,4.7248e-03_rb,4.8589e-03_rb,4.9851e-03_rb/) kbo(:,36, 5) = (/ & &3.6880e-03_rb,3.8127e-03_rb,3.9338e-03_rb,4.0484e-03_rb,4.1576e-03_rb/) kbo(:,37, 5) = (/ & &3.0534e-03_rb,3.1615e-03_rb,3.2693e-03_rb,3.3693e-03_rb,3.4657e-03_rb/) kbo(:,38, 5) = (/ & &2.5332e-03_rb,2.6300e-03_rb,2.7225e-03_rb,2.8131e-03_rb,2.8939e-03_rb/) kbo(:,39, 5) = (/ & &2.1084e-03_rb,2.1961e-03_rb,2.2783e-03_rb,2.3583e-03_rb,2.4286e-03_rb/) kbo(:,40, 5) = (/ & &1.7458e-03_rb,1.8240e-03_rb,1.8981e-03_rb,1.9682e-03_rb,2.0283e-03_rb/) kbo(:,41, 5) = (/ & &1.4453e-03_rb,1.5145e-03_rb,1.5781e-03_rb,1.6391e-03_rb,1.6964e-03_rb/) kbo(:,42, 5) = (/ & &1.1954e-03_rb,1.2559e-03_rb,1.3113e-03_rb,1.3662e-03_rb,1.4193e-03_rb/) kbo(:,43, 5) = (/ & &9.8711e-04_rb,1.0388e-03_rb,1.0881e-03_rb,1.1376e-03_rb,1.1854e-03_rb/) kbo(:,44, 5) = (/ & &8.1670e-04_rb,8.6083e-04_rb,9.0273e-04_rb,9.4724e-04_rb,9.9183e-04_rb/) kbo(:,45, 5) = (/ & &6.7571e-04_rb,7.1462e-04_rb,7.5340e-04_rb,7.9241e-04_rb,8.3252e-04_rb/) kbo(:,46, 5) = (/ & &5.5868e-04_rb,5.9210e-04_rb,6.2784e-04_rb,6.6315e-04_rb,6.9901e-04_rb/) kbo(:,47, 5) = (/ & &4.6002e-04_rb,4.8924e-04_rb,5.2084e-04_rb,5.5250e-04_rb,5.8555e-04_rb/) kbo(:,48, 5) = (/ & &3.7900e-04_rb,4.0478e-04_rb,4.3312e-04_rb,4.6138e-04_rb,4.9219e-04_rb/) kbo(:,49, 5) = (/ & &3.1223e-04_rb,3.3515e-04_rb,3.6106e-04_rb,3.8737e-04_rb,4.1475e-04_rb/) kbo(:,50, 5) = (/ & &2.5631e-04_rb,2.7625e-04_rb,2.9941e-04_rb,3.2338e-04_rb,3.4759e-04_rb/) kbo(:,51, 5) = (/ & &2.0956e-04_rb,2.2726e-04_rb,2.4758e-04_rb,2.6894e-04_rb,2.9020e-04_rb/) kbo(:,52, 5) = (/ & &1.7113e-04_rb,1.8689e-04_rb,2.0470e-04_rb,2.2361e-04_rb,2.4260e-04_rb/) kbo(:,53, 5) = (/ & &1.3975e-04_rb,1.5381e-04_rb,1.6939e-04_rb,1.8611e-04_rb,2.0352e-04_rb/) kbo(:,54, 5) = (/ & &1.1323e-04_rb,1.2519e-04_rb,1.3824e-04_rb,1.5269e-04_rb,1.6768e-04_rb/) kbo(:,55, 5) = (/ & &9.1211e-05_rb,1.0111e-04_rb,1.1195e-04_rb,1.2407e-04_rb,1.3663e-04_rb/) kbo(:,56, 5) = (/ & &7.3375e-05_rb,8.1461e-05_rb,9.0533e-05_rb,1.0060e-04_rb,1.1119e-04_rb/) kbo(:,57, 5) = (/ & &5.8946e-05_rb,6.5535e-05_rb,7.3109e-05_rb,8.1511e-05_rb,9.0294e-05_rb/) kbo(:,58, 5) = (/ & &4.7323e-05_rb,5.2682e-05_rb,5.8966e-05_rb,6.5820e-05_rb,7.3137e-05_rb/) kbo(:,59, 5) = (/ & &3.8250e-05_rb,4.2565e-05_rb,4.7446e-05_rb,5.2866e-05_rb,5.8710e-05_rb/) kbo(:,13, 6) = (/ & &2.7197e-01_rb,2.7739e-01_rb,2.8096e-01_rb,2.8231e-01_rb,2.8660e-01_rb/) kbo(:,14, 6) = (/ & &2.4407e-01_rb,2.4904e-01_rb,2.5343e-01_rb,2.5569e-01_rb,2.5783e-01_rb/) kbo(:,15, 6) = (/ & &2.1616e-01_rb,2.2099e-01_rb,2.2537e-01_rb,2.2864e-01_rb,2.3140e-01_rb/) kbo(:,16, 6) = (/ & &1.9106e-01_rb,1.9585e-01_rb,1.9991e-01_rb,2.0367e-01_rb,2.0768e-01_rb/) kbo(:,17, 6) = (/ & &1.6891e-01_rb,1.7330e-01_rb,1.7742e-01_rb,1.8116e-01_rb,1.8548e-01_rb/) kbo(:,18, 6) = (/ & &1.4873e-01_rb,1.5292e-01_rb,1.5684e-01_rb,1.6048e-01_rb,1.6482e-01_rb/) kbo(:,19, 6) = (/ & &1.3023e-01_rb,1.3403e-01_rb,1.3773e-01_rb,1.4155e-01_rb,1.4625e-01_rb/) kbo(:,20, 6) = (/ & &1.1343e-01_rb,1.1684e-01_rb,1.2043e-01_rb,1.2478e-01_rb,1.2990e-01_rb/) kbo(:,21, 6) = (/ & &9.8160e-02_rb,1.0135e-01_rb,1.0525e-01_rb,1.1007e-01_rb,1.1526e-01_rb/) kbo(:,22, 6) = (/ & &8.4655e-02_rb,8.8120e-02_rb,9.2429e-02_rb,9.7184e-02_rb,1.0215e-01_rb/) kbo(:,23, 6) = (/ & &7.3019e-02_rb,7.6775e-02_rb,8.1076e-02_rb,8.5515e-02_rb,9.0104e-02_rb/) kbo(:,24, 6) = (/ & &6.3162e-02_rb,6.6861e-02_rb,7.0760e-02_rb,7.4872e-02_rb,7.8956e-02_rb/) kbo(:,25, 6) = (/ & &5.4670e-02_rb,5.8059e-02_rb,6.1565e-02_rb,6.5142e-02_rb,6.8514e-02_rb/) kbo(:,26, 6) = (/ & &4.7238e-02_rb,5.0243e-02_rb,5.3330e-02_rb,5.6237e-02_rb,5.8783e-02_rb/) kbo(:,27, 6) = (/ & &4.0718e-02_rb,4.3335e-02_rb,4.5897e-02_rb,4.8107e-02_rb,4.9970e-02_rb/) kbo(:,28, 6) = (/ & &3.4992e-02_rb,3.7210e-02_rb,3.9178e-02_rb,4.0837e-02_rb,4.2251e-02_rb/) kbo(:,29, 6) = (/ & &2.9986e-02_rb,3.1757e-02_rb,3.3246e-02_rb,3.4515e-02_rb,3.5697e-02_rb/) kbo(:,30, 6) = (/ & &2.5598e-02_rb,2.6947e-02_rb,2.8105e-02_rb,2.9142e-02_rb,3.0127e-02_rb/) kbo(:,31, 6) = (/ & &2.1742e-02_rb,2.2800e-02_rb,2.3733e-02_rb,2.4625e-02_rb,2.5488e-02_rb/) kbo(:,32, 6) = (/ & &1.8409e-02_rb,1.9261e-02_rb,2.0062e-02_rb,2.0837e-02_rb,2.1556e-02_rb/) kbo(:,33, 6) = (/ & &1.5564e-02_rb,1.6264e-02_rb,1.6973e-02_rb,1.7637e-02_rb,1.8281e-02_rb/) kbo(:,34, 6) = (/ & &1.3120e-02_rb,1.3750e-02_rb,1.4364e-02_rb,1.4950e-02_rb,1.5574e-02_rb/) kbo(:,35, 6) = (/ & &1.1037e-02_rb,1.1597e-02_rb,1.2120e-02_rb,1.2671e-02_rb,1.3247e-02_rb/) kbo(:,36, 6) = (/ & &9.2368e-03_rb,9.7140e-03_rb,1.0180e-02_rb,1.0677e-02_rb,1.1200e-02_rb/) kbo(:,37, 6) = (/ & &7.7240e-03_rb,8.1368e-03_rb,8.5470e-03_rb,8.9958e-03_rb,9.4504e-03_rb/) kbo(:,38, 6) = (/ & &6.4758e-03_rb,6.8295e-03_rb,7.1958e-03_rb,7.5972e-03_rb,8.0066e-03_rb/) kbo(:,39, 6) = (/ & &5.4501e-03_rb,5.7576e-03_rb,6.0862e-03_rb,6.4345e-03_rb,6.8065e-03_rb/) kbo(:,40, 6) = (/ & &4.5611e-03_rb,4.8311e-03_rb,5.1160e-03_rb,5.4160e-03_rb,5.7404e-03_rb/) kbo(:,41, 6) = (/ & &3.8156e-03_rb,4.0605e-03_rb,4.3157e-03_rb,4.5812e-03_rb,4.8631e-03_rb/) kbo(:,42, 6) = (/ & &3.1991e-03_rb,3.4174e-03_rb,3.6479e-03_rb,3.8959e-03_rb,4.1438e-03_rb/) kbo(:,43, 6) = (/ & &2.6778e-03_rb,2.8754e-03_rb,3.0830e-03_rb,3.3106e-03_rb,3.5418e-03_rb/) kbo(:,44, 6) = (/ & &2.2384e-03_rb,2.4221e-03_rb,2.6165e-03_rb,2.8279e-03_rb,3.0365e-03_rb/) kbo(:,45, 6) = (/ & &1.8762e-03_rb,2.0454e-03_rb,2.2217e-03_rb,2.4182e-03_rb,2.6139e-03_rb/) kbo(:,46, 6) = (/ & &1.5669e-03_rb,1.7239e-03_rb,1.8868e-03_rb,2.0694e-03_rb,2.2548e-03_rb/) kbo(:,47, 6) = (/ & &1.2965e-03_rb,1.4378e-03_rb,1.5876e-03_rb,1.7568e-03_rb,1.9326e-03_rb/) kbo(:,48, 6) = (/ & &1.0774e-03_rb,1.2001e-03_rb,1.3389e-03_rb,1.4948e-03_rb,1.6630e-03_rb/) kbo(:,49, 6) = (/ & &8.9852e-04_rb,1.0105e-03_rb,1.1309e-03_rb,1.2754e-03_rb,1.4391e-03_rb/) kbo(:,50, 6) = (/ & &7.4445e-04_rb,8.4643e-04_rb,9.5631e-04_rb,1.0809e-03_rb,1.2318e-03_rb/) kbo(:,51, 6) = (/ & &6.1558e-04_rb,7.0452e-04_rb,8.0429e-04_rb,9.1653e-04_rb,1.0518e-03_rb/) kbo(:,52, 6) = (/ & &5.0970e-04_rb,5.8893e-04_rb,6.7706e-04_rb,7.7959e-04_rb,9.0341e-04_rb/) kbo(:,53, 6) = (/ & &4.2152e-04_rb,4.9282e-04_rb,5.7291e-04_rb,6.6638e-04_rb,7.8149e-04_rb/) kbo(:,54, 6) = (/ & &3.4337e-04_rb,4.0415e-04_rb,4.7438e-04_rb,5.5660e-04_rb,6.5618e-04_rb/) kbo(:,55, 6) = (/ & &2.7643e-04_rb,3.2706e-04_rb,3.8585e-04_rb,4.5635e-04_rb,5.3989e-04_rb/) kbo(:,56, 6) = (/ & &2.2200e-04_rb,2.6388e-04_rb,3.1337e-04_rb,3.7328e-04_rb,4.4370e-04_rb/) kbo(:,57, 6) = (/ & &1.7748e-04_rb,2.1244e-04_rb,2.5395e-04_rb,3.0395e-04_rb,3.6371e-04_rb/) kbo(:,58, 6) = (/ & &1.4157e-04_rb,1.7062e-04_rb,2.0500e-04_rb,2.4610e-04_rb,2.9686e-04_rb/) kbo(:,59, 6) = (/ & &1.1414e-04_rb,1.3738e-04_rb,1.6469e-04_rb,1.9701e-04_rb,2.3735e-04_rb/) kbo(:,13, 7) = (/ & &4.6955e-01_rb,4.7919e-01_rb,4.8757e-01_rb,4.9335e-01_rb,4.9501e-01_rb/) kbo(:,14, 7) = (/ & &4.3446e-01_rb,4.4412e-01_rb,4.5217e-01_rb,4.5833e-01_rb,4.6211e-01_rb/) kbo(:,15, 7) = (/ & &3.9856e-01_rb,4.0695e-01_rb,4.1403e-01_rb,4.2050e-01_rb,4.2565e-01_rb/) kbo(:,16, 7) = (/ & &3.6468e-01_rb,3.7159e-01_rb,3.7817e-01_rb,3.8407e-01_rb,3.8859e-01_rb/) kbo(:,17, 7) = (/ & &3.3137e-01_rb,3.3763e-01_rb,3.4358e-01_rb,3.4927e-01_rb,3.5406e-01_rb/) kbo(:,18, 7) = (/ & &2.9961e-01_rb,3.0527e-01_rb,3.1117e-01_rb,3.1677e-01_rb,3.2160e-01_rb/) kbo(:,19, 7) = (/ & &2.6897e-01_rb,2.7470e-01_rb,2.8068e-01_rb,2.8609e-01_rb,2.9127e-01_rb/) kbo(:,20, 7) = (/ & &2.4079e-01_rb,2.4662e-01_rb,2.5228e-01_rb,2.5749e-01_rb,2.6294e-01_rb/) kbo(:,21, 7) = (/ & &2.1419e-01_rb,2.1985e-01_rb,2.2509e-01_rb,2.3029e-01_rb,2.3688e-01_rb/) kbo(:,22, 7) = (/ & &1.8948e-01_rb,1.9472e-01_rb,1.9983e-01_rb,2.0584e-01_rb,2.1394e-01_rb/) kbo(:,23, 7) = (/ & &1.6639e-01_rb,1.7145e-01_rb,1.7716e-01_rb,1.8457e-01_rb,1.9389e-01_rb/) kbo(:,24, 7) = (/ & &1.4538e-01_rb,1.5085e-01_rb,1.5765e-01_rb,1.6633e-01_rb,1.7588e-01_rb/) kbo(:,25, 7) = (/ & &1.2705e-01_rb,1.3331e-01_rb,1.4121e-01_rb,1.5025e-01_rb,1.5987e-01_rb/) kbo(:,26, 7) = (/ & &1.1163e-01_rb,1.1872e-01_rb,1.2704e-01_rb,1.3598e-01_rb,1.4549e-01_rb/) kbo(:,27, 7) = (/ & &9.8775e-02_rb,1.0620e-01_rb,1.1436e-01_rb,1.2321e-01_rb,1.3236e-01_rb/) kbo(:,28, 7) = (/ & &8.7819e-02_rb,9.5125e-02_rb,1.0304e-01_rb,1.1161e-01_rb,1.2007e-01_rb/) kbo(:,29, 7) = (/ & &7.8356e-02_rb,8.5376e-02_rb,9.3117e-02_rb,1.0101e-01_rb,1.0879e-01_rb/) kbo(:,30, 7) = (/ & &7.0020e-02_rb,7.6849e-02_rb,8.4078e-02_rb,9.1302e-02_rb,9.8416e-02_rb/) kbo(:,31, 7) = (/ & &6.2819e-02_rb,6.9270e-02_rb,7.5879e-02_rb,8.2483e-02_rb,8.8967e-02_rb/) kbo(:,32, 7) = (/ & &5.6483e-02_rb,6.2430e-02_rb,6.8481e-02_rb,7.4539e-02_rb,8.0648e-02_rb/) kbo(:,33, 7) = (/ & &5.0860e-02_rb,5.6316e-02_rb,6.1885e-02_rb,6.7612e-02_rb,7.3808e-02_rb/) kbo(:,34, 7) = (/ & &4.5682e-02_rb,5.0745e-02_rb,5.5935e-02_rb,6.1551e-02_rb,6.7601e-02_rb/) kbo(:,35, 7) = (/ & &4.0692e-02_rb,4.5316e-02_rb,5.0264e-02_rb,5.5834e-02_rb,6.1807e-02_rb/) kbo(:,36, 7) = (/ & &3.5794e-02_rb,4.0089e-02_rb,4.4914e-02_rb,5.0304e-02_rb,5.6176e-02_rb/) kbo(:,37, 7) = (/ & &3.0961e-02_rb,3.4978e-02_rb,3.9573e-02_rb,4.4775e-02_rb,5.0561e-02_rb/) kbo(:,38, 7) = (/ & &2.6776e-02_rb,3.0559e-02_rb,3.4968e-02_rb,3.9997e-02_rb,4.5685e-02_rb/) kbo(:,39, 7) = (/ & &2.3185e-02_rb,2.6765e-02_rb,3.1022e-02_rb,3.5959e-02_rb,4.1519e-02_rb/) kbo(:,40, 7) = (/ & &1.9763e-02_rb,2.3065e-02_rb,2.7085e-02_rb,3.1775e-02_rb,3.7215e-02_rb/) kbo(:,41, 7) = (/ & &1.6812e-02_rb,1.9830e-02_rb,2.3604e-02_rb,2.8085e-02_rb,3.3399e-02_rb/) kbo(:,42, 7) = (/ & &1.4318e-02_rb,1.7069e-02_rb,2.0605e-02_rb,2.4882e-02_rb,3.0046e-02_rb/) kbo(:,43, 7) = (/ & &1.2083e-02_rb,1.4567e-02_rb,1.7802e-02_rb,2.1853e-02_rb,2.6807e-02_rb/) kbo(:,44, 7) = (/ & &1.0170e-02_rb,1.2372e-02_rb,1.5314e-02_rb,1.9108e-02_rb,2.3821e-02_rb/) kbo(:,45, 7) = (/ & &8.6090e-03_rb,1.0534e-02_rb,1.3191e-02_rb,1.6726e-02_rb,2.1197e-02_rb/) kbo(:,46, 7) = (/ & &7.3022e-03_rb,8.9907e-03_rb,1.1353e-02_rb,1.4581e-02_rb,1.8771e-02_rb/) kbo(:,47, 7) = (/ & &6.1213e-03_rb,7.6431e-03_rb,9.7321e-03_rb,1.2583e-02_rb,1.6455e-02_rb/) kbo(:,48, 7) = (/ & &5.1186e-03_rb,6.5188e-03_rb,8.4138e-03_rb,1.0987e-02_rb,1.4502e-02_rb/) kbo(:,49, 7) = (/ & &4.2957e-03_rb,5.5597e-03_rb,7.3442e-03_rb,9.7283e-03_rb,1.2936e-02_rb/) kbo(:,50, 7) = (/ & &3.6145e-03_rb,4.7398e-03_rb,6.3555e-03_rb,8.6287e-03_rb,1.1590e-02_rb/) kbo(:,51, 7) = (/ & &3.0102e-03_rb,4.0430e-03_rb,5.4860e-03_rb,7.5896e-03_rb,1.0447e-02_rb/) kbo(:,52, 7) = (/ & &2.4958e-03_rb,3.4406e-03_rb,4.7896e-03_rb,6.7274e-03_rb,9.4519e-03_rb/) kbo(:,53, 7) = (/ & &2.0685e-03_rb,2.9229e-03_rb,4.2030e-03_rb,6.0566e-03_rb,8.6137e-03_rb/) kbo(:,54, 7) = (/ & &1.6899e-03_rb,2.4174e-03_rb,3.5607e-03_rb,5.2595e-03_rb,7.6384e-03_rb/) kbo(:,55, 7) = (/ & &1.3559e-03_rb,1.9570e-03_rb,2.9412e-03_rb,4.4253e-03_rb,6.5827e-03_rb/) kbo(:,56, 7) = (/ & &1.0806e-03_rb,1.5745e-03_rb,2.4094e-03_rb,3.7108e-03_rb,5.6277e-03_rb/) kbo(:,57, 7) = (/ & &8.5457e-04_rb,1.2632e-03_rb,1.9536e-03_rb,3.0874e-03_rb,4.7870e-03_rb/) kbo(:,58, 7) = (/ & &6.7302e-04_rb,1.0065e-03_rb,1.5736e-03_rb,2.5427e-03_rb,4.0334e-03_rb/) kbo(:,59, 7) = (/ & &5.4147e-04_rb,8.1396e-04_rb,1.2891e-03_rb,2.1042e-03_rb,3.3560e-03_rb/) kbo(:,13, 8) = (/ & &8.0034e-01_rb,8.1640e-01_rb,8.3288e-01_rb,8.4808e-01_rb,8.6148e-01_rb/) kbo(:,14, 8) = (/ & &7.8054e-01_rb,7.9433e-01_rb,8.0919e-01_rb,8.2411e-01_rb,8.3905e-01_rb/) kbo(:,15, 8) = (/ & &7.5909e-01_rb,7.7248e-01_rb,7.8592e-01_rb,7.9872e-01_rb,8.1170e-01_rb/) kbo(:,16, 8) = (/ & &7.3580e-01_rb,7.4804e-01_rb,7.6085e-01_rb,7.7248e-01_rb,7.8295e-01_rb/) kbo(:,17, 8) = (/ & &7.0630e-01_rb,7.1844e-01_rb,7.2965e-01_rb,7.3912e-01_rb,7.4743e-01_rb/) kbo(:,18, 8) = (/ & &6.7101e-01_rb,6.8279e-01_rb,6.9322e-01_rb,7.0102e-01_rb,7.0887e-01_rb/) kbo(:,19, 8) = (/ & &6.2981e-01_rb,6.4055e-01_rb,6.4979e-01_rb,6.5773e-01_rb,6.6515e-01_rb/) kbo(:,20, 8) = (/ & &5.8544e-01_rb,5.9608e-01_rb,6.0511e-01_rb,6.1342e-01_rb,6.2187e-01_rb/) kbo(:,21, 8) = (/ & &5.3944e-01_rb,5.5063e-01_rb,5.6005e-01_rb,5.6946e-01_rb,5.7856e-01_rb/) kbo(:,22, 8) = (/ & &4.9436e-01_rb,5.0585e-01_rb,5.1644e-01_rb,5.2703e-01_rb,5.3664e-01_rb/) kbo(:,23, 8) = (/ & &4.5102e-01_rb,4.6300e-01_rb,4.7455e-01_rb,4.8579e-01_rb,4.9663e-01_rb/) kbo(:,24, 8) = (/ & &4.0950e-01_rb,4.2198e-01_rb,4.3426e-01_rb,4.4606e-01_rb,4.5946e-01_rb/) kbo(:,25, 8) = (/ & &3.7091e-01_rb,3.8365e-01_rb,3.9643e-01_rb,4.1000e-01_rb,4.2576e-01_rb/) kbo(:,26, 8) = (/ & &3.3534e-01_rb,3.4839e-01_rb,3.6241e-01_rb,3.7838e-01_rb,3.9777e-01_rb/) kbo(:,27, 8) = (/ & &3.0274e-01_rb,3.1698e-01_rb,3.3298e-01_rb,3.5138e-01_rb,3.7450e-01_rb/) kbo(:,28, 8) = (/ & &2.7401e-01_rb,2.8968e-01_rb,3.0792e-01_rb,3.3011e-01_rb,3.5579e-01_rb/) kbo(:,29, 8) = (/ & &2.4984e-01_rb,2.6749e-01_rb,2.8805e-01_rb,3.1339e-01_rb,3.4148e-01_rb/) kbo(:,30, 8) = (/ & &2.2976e-01_rb,2.4923e-01_rb,2.7317e-01_rb,3.0058e-01_rb,3.3054e-01_rb/) kbo(:,31, 8) = (/ & &2.1378e-01_rb,2.3592e-01_rb,2.6234e-01_rb,2.9177e-01_rb,3.2355e-01_rb/) kbo(:,32, 8) = (/ & &2.0184e-01_rb,2.2666e-01_rb,2.5501e-01_rb,2.8631e-01_rb,3.1911e-01_rb/) kbo(:,33, 8) = (/ & &1.9381e-01_rb,2.2050e-01_rb,2.5091e-01_rb,2.8341e-01_rb,3.1739e-01_rb/) kbo(:,34, 8) = (/ & &1.8744e-01_rb,2.1594e-01_rb,2.4774e-01_rb,2.8137e-01_rb,3.1632e-01_rb/) kbo(:,35, 8) = (/ & &1.8056e-01_rb,2.1069e-01_rb,2.4353e-01_rb,2.7798e-01_rb,3.1405e-01_rb/) kbo(:,36, 8) = (/ & &1.7277e-01_rb,2.0381e-01_rb,2.3716e-01_rb,2.7253e-01_rb,3.0956e-01_rb/) kbo(:,37, 8) = (/ & &1.6168e-01_rb,1.9289e-01_rb,2.2650e-01_rb,2.6234e-01_rb,2.9987e-01_rb/) kbo(:,38, 8) = (/ & &1.5148e-01_rb,1.8272e-01_rb,2.1663e-01_rb,2.5277e-01_rb,2.9084e-01_rb/) kbo(:,39, 8) = (/ & &1.4247e-01_rb,1.7365e-01_rb,2.0770e-01_rb,2.4421e-01_rb,2.8306e-01_rb/) kbo(:,40, 8) = (/ & &1.3121e-01_rb,1.6190e-01_rb,1.9569e-01_rb,2.3227e-01_rb,2.7141e-01_rb/) kbo(:,41, 8) = (/ & &1.2044e-01_rb,1.5044e-01_rb,1.8388e-01_rb,2.2048e-01_rb,2.5951e-01_rb/) kbo(:,42, 8) = (/ & &1.1043e-01_rb,1.3967e-01_rb,1.7269e-01_rb,2.0919e-01_rb,2.4811e-01_rb/) kbo(:,43, 8) = (/ & &9.9679e-02_rb,1.2792e-01_rb,1.6034e-01_rb,1.9622e-01_rb,2.3472e-01_rb/) kbo(:,44, 8) = (/ & &8.9034e-02_rb,1.1631e-01_rb,1.4764e-01_rb,1.8285e-01_rb,2.2093e-01_rb/) kbo(:,45, 8) = (/ & &7.9054e-02_rb,1.0536e-01_rb,1.3566e-01_rb,1.6992e-01_rb,2.0745e-01_rb/) kbo(:,46, 8) = (/ & &6.9318e-02_rb,9.4501e-02_rb,1.2377e-01_rb,1.5667e-01_rb,1.9349e-01_rb/) kbo(:,47, 8) = (/ & &5.9551e-02_rb,8.3032e-02_rb,1.1103e-01_rb,1.4286e-01_rb,1.7816e-01_rb/) kbo(:,48, 8) = (/ & &5.0798e-02_rb,7.2525e-02_rb,9.9035e-02_rb,1.2969e-01_rb,1.6375e-01_rb/) kbo(:,49, 8) = (/ & &4.3152e-02_rb,6.3003e-02_rb,8.7833e-02_rb,1.1716e-01_rb,1.5024e-01_rb/) kbo(:,50, 8) = (/ & &3.6793e-02_rb,5.4813e-02_rb,7.7929e-02_rb,1.0576e-01_rb,1.3787e-01_rb/) kbo(:,51, 8) = (/ & &3.1426e-02_rb,4.7509e-02_rb,6.8953e-02_rb,9.5149e-02_rb,1.2582e-01_rb/) kbo(:,52, 8) = (/ & &2.6907e-02_rb,4.1306e-02_rb,6.0841e-02_rb,8.5477e-02_rb,1.1483e-01_rb/) kbo(:,53, 8) = (/ & &2.3168e-02_rb,3.6049e-02_rb,5.3816e-02_rb,7.6669e-02_rb,1.0462e-01_rb/) kbo(:,54, 8) = (/ & &1.9633e-02_rb,3.1217e-02_rb,4.7423e-02_rb,6.8592e-02_rb,9.4967e-02_rb/) kbo(:,55, 8) = (/ & &1.6386e-02_rb,2.6769e-02_rb,4.1346e-02_rb,6.0965e-02_rb,8.5476e-02_rb/) kbo(:,56, 8) = (/ & &1.3620e-02_rb,2.2714e-02_rb,3.5826e-02_rb,5.3847e-02_rb,7.6755e-02_rb/) kbo(:,57, 8) = (/ & &1.1197e-02_rb,1.9124e-02_rb,3.0904e-02_rb,4.7282e-02_rb,6.8602e-02_rb/) kbo(:,58, 8) = (/ & &9.1481e-03_rb,1.6046e-02_rb,2.6605e-02_rb,4.1371e-02_rb,6.1207e-02_rb/) kbo(:,59, 8) = (/ & &7.9051e-03_rb,1.4193e-02_rb,2.3774e-02_rb,3.7742e-02_rb,5.6658e-02_rb/) kbo(:,13, 9) = (/ & &1.3350e+00_rb,1.3653e+00_rb,1.3981e+00_rb,1.4396e+00_rb,1.4753e+00_rb/) kbo(:,14, 9) = (/ & &1.4178e+00_rb,1.4520e+00_rb,1.4843e+00_rb,1.5206e+00_rb,1.5583e+00_rb/) kbo(:,15, 9) = (/ & &1.4732e+00_rb,1.5083e+00_rb,1.5396e+00_rb,1.5755e+00_rb,1.6045e+00_rb/) kbo(:,16, 9) = (/ & &1.5430e+00_rb,1.5830e+00_rb,1.6160e+00_rb,1.6547e+00_rb,1.6902e+00_rb/) kbo(:,17, 9) = (/ & &1.6452e+00_rb,1.6845e+00_rb,1.7176e+00_rb,1.7564e+00_rb,1.7915e+00_rb/) kbo(:,18, 9) = (/ & &1.7229e+00_rb,1.7605e+00_rb,1.7922e+00_rb,1.8300e+00_rb,1.8621e+00_rb/) kbo(:,19, 9) = (/ & &1.7775e+00_rb,1.8140e+00_rb,1.8454e+00_rb,1.8798e+00_rb,1.9094e+00_rb/) kbo(:,20, 9) = (/ & &1.8038e+00_rb,1.8386e+00_rb,1.8699e+00_rb,1.9034e+00_rb,1.9311e+00_rb/) kbo(:,21, 9) = (/ & &1.8050e+00_rb,1.8386e+00_rb,1.8712e+00_rb,1.9046e+00_rb,1.9320e+00_rb/) kbo(:,22, 9) = (/ & &1.7869e+00_rb,1.8213e+00_rb,1.8557e+00_rb,1.8890e+00_rb,1.9178e+00_rb/) kbo(:,23, 9) = (/ & &1.7516e+00_rb,1.7874e+00_rb,1.8248e+00_rb,1.8592e+00_rb,1.8901e+00_rb/) kbo(:,24, 9) = (/ & &1.7051e+00_rb,1.7440e+00_rb,1.7841e+00_rb,1.8220e+00_rb,1.8561e+00_rb/) kbo(:,25, 9) = (/ & &1.6513e+00_rb,1.6948e+00_rb,1.7396e+00_rb,1.7805e+00_rb,1.8194e+00_rb/) kbo(:,26, 9) = (/ & &1.5955e+00_rb,1.6454e+00_rb,1.6945e+00_rb,1.7402e+00_rb,1.7819e+00_rb/) kbo(:,27, 9) = (/ & &1.5421e+00_rb,1.5985e+00_rb,1.6517e+00_rb,1.7028e+00_rb,1.7485e+00_rb/) kbo(:,28, 9) = (/ & &1.4940e+00_rb,1.5568e+00_rb,1.6151e+00_rb,1.6694e+00_rb,1.7213e+00_rb/) kbo(:,29, 9) = (/ & &1.4533e+00_rb,1.5206e+00_rb,1.5846e+00_rb,1.6444e+00_rb,1.7003e+00_rb/) kbo(:,30, 9) = (/ & &1.4208e+00_rb,1.4930e+00_rb,1.5618e+00_rb,1.6263e+00_rb,1.6869e+00_rb/) kbo(:,31, 9) = (/ & &1.3961e+00_rb,1.4744e+00_rb,1.5474e+00_rb,1.6161e+00_rb,1.6805e+00_rb/) kbo(:,32, 9) = (/ & &1.3821e+00_rb,1.4633e+00_rb,1.5401e+00_rb,1.6122e+00_rb,1.6817e+00_rb/) kbo(:,33, 9) = (/ & &1.3749e+00_rb,1.4598e+00_rb,1.5393e+00_rb,1.6160e+00_rb,1.6953e+00_rb/) kbo(:,34, 9) = (/ & &1.3713e+00_rb,1.4588e+00_rb,1.5429e+00_rb,1.6218e+00_rb,1.7156e+00_rb/) kbo(:,35, 9) = (/ & &1.3644e+00_rb,1.4561e+00_rb,1.5422e+00_rb,1.6338e+00_rb,1.7288e+00_rb/) kbo(:,36, 9) = (/ & &1.3516e+00_rb,1.4466e+00_rb,1.5348e+00_rb,1.6360e+00_rb,1.7340e+00_rb/) kbo(:,37, 9) = (/ & &1.3275e+00_rb,1.4250e+00_rb,1.5169e+00_rb,1.6237e+00_rb,1.7238e+00_rb/) kbo(:,38, 9) = (/ & &1.3040e+00_rb,1.4043e+00_rb,1.5021e+00_rb,1.6114e+00_rb,1.7135e+00_rb/) kbo(:,39, 9) = (/ & &1.2823e+00_rb,1.3849e+00_rb,1.4910e+00_rb,1.6008e+00_rb,1.7062e+00_rb/) kbo(:,40, 9) = (/ & &1.2494e+00_rb,1.3552e+00_rb,1.4636e+00_rb,1.5759e+00_rb,1.6836e+00_rb/) kbo(:,41, 9) = (/ & &1.2158e+00_rb,1.3244e+00_rb,1.4340e+00_rb,1.5489e+00_rb,1.6593e+00_rb/) kbo(:,42, 9) = (/ & &1.1826e+00_rb,1.2939e+00_rb,1.4045e+00_rb,1.5221e+00_rb,1.6360e+00_rb/) kbo(:,43, 9) = (/ & &1.1430e+00_rb,1.2570e+00_rb,1.3680e+00_rb,1.4889e+00_rb,1.6061e+00_rb/) kbo(:,44, 9) = (/ & &1.1001e+00_rb,1.2164e+00_rb,1.3282e+00_rb,1.4525e+00_rb,1.5734e+00_rb/) kbo(:,45, 9) = (/ & &1.0569e+00_rb,1.1761e+00_rb,1.2894e+00_rb,1.4161e+00_rb,1.5408e+00_rb/) kbo(:,46, 9) = (/ & &1.0113e+00_rb,1.1324e+00_rb,1.2480e+00_rb,1.3769e+00_rb,1.5047e+00_rb/) kbo(:,47, 9) = (/ & &9.5935e-01_rb,1.0831e+00_rb,1.2009e+00_rb,1.3301e+00_rb,1.4611e+00_rb/) kbo(:,48, 9) = (/ & &9.0670e-01_rb,1.0329e+00_rb,1.1535e+00_rb,1.2830e+00_rb,1.4185e+00_rb/) kbo(:,49, 9) = (/ & &8.5414e-01_rb,9.8225e-01_rb,1.1056e+00_rb,1.2370e+00_rb,1.3774e+00_rb/) kbo(:,50, 9) = (/ & &8.0339e-01_rb,9.3369e-01_rb,1.0592e+00_rb,1.1907e+00_rb,1.3340e+00_rb/) kbo(:,51, 9) = (/ & &7.5351e-01_rb,8.8571e-01_rb,1.0133e+00_rb,1.1450e+00_rb,1.2894e+00_rb/) kbo(:,52, 9) = (/ & &7.0363e-01_rb,8.3718e-01_rb,9.6715e-01_rb,1.0991e+00_rb,1.2446e+00_rb/) kbo(:,53, 9) = (/ & &6.5356e-01_rb,7.8813e-01_rb,9.1966e-01_rb,1.0529e+00_rb,1.2015e+00_rb/) kbo(:,54, 9) = (/ & &6.0842e-01_rb,7.4258e-01_rb,8.7513e-01_rb,1.0061e+00_rb,1.1543e+00_rb/) kbo(:,55, 9) = (/ & &5.6587e-01_rb,6.9834e-01_rb,8.3229e-01_rb,9.6266e-01_rb,1.1037e+00_rb/) kbo(:,56, 9) = (/ & &5.2358e-01_rb,6.5442e-01_rb,7.8939e-01_rb,9.2104e-01_rb,1.0541e+00_rb/) kbo(:,57, 9) = (/ & &4.8183e-01_rb,6.1174e-01_rb,7.4558e-01_rb,8.7862e-01_rb,1.0077e+00_rb/) kbo(:,58, 9) = (/ & &4.4300e-01_rb,5.7151e-01_rb,7.0375e-01_rb,8.3825e-01_rb,9.6862e-01_rb/) kbo(:,59, 9) = (/ & &4.2745e-01_rb,5.5483e-01_rb,6.8739e-01_rb,8.2045e-01_rb,9.5225e-01_rb/) kbo(:,13,10) = (/ & &1.9893e+00_rb,1.9563e+00_rb,1.9174e+00_rb,1.9426e+00_rb,2.0503e+00_rb/) kbo(:,14,10) = (/ & &1.9716e+00_rb,2.0101e+00_rb,2.0332e+00_rb,2.0825e+00_rb,2.0990e+00_rb/) kbo(:,15,10) = (/ & &2.2404e+00_rb,2.3114e+00_rb,2.3474e+00_rb,2.4414e+00_rb,2.5235e+00_rb/) kbo(:,16,10) = (/ & &2.6948e+00_rb,2.7693e+00_rb,2.8500e+00_rb,2.9277e+00_rb,3.0098e+00_rb/) kbo(:,17,10) = (/ & &2.9786e+00_rb,3.0578e+00_rb,3.1508e+00_rb,3.2081e+00_rb,3.2791e+00_rb/) kbo(:,18,10) = (/ & &3.2445e+00_rb,3.3300e+00_rb,3.4200e+00_rb,3.4641e+00_rb,3.5430e+00_rb/) kbo(:,19,10) = (/ & &3.4975e+00_rb,3.5857e+00_rb,3.6668e+00_rb,3.7210e+00_rb,3.8007e+00_rb/) kbo(:,20,10) = (/ & &3.7569e+00_rb,3.8465e+00_rb,3.9165e+00_rb,3.9790e+00_rb,4.0533e+00_rb/) kbo(:,21,10) = (/ & &4.0221e+00_rb,4.1092e+00_rb,4.1701e+00_rb,4.2261e+00_rb,4.2948e+00_rb/) kbo(:,22,10) = (/ & &4.2735e+00_rb,4.3579e+00_rb,4.4003e+00_rb,4.4698e+00_rb,4.5287e+00_rb/) kbo(:,23,10) = (/ & &4.4889e+00_rb,4.5713e+00_rb,4.6026e+00_rb,4.6888e+00_rb,4.7442e+00_rb/) kbo(:,24,10) = (/ & &4.6627e+00_rb,4.7429e+00_rb,4.7936e+00_rb,4.8738e+00_rb,4.9305e+00_rb/) kbo(:,25,10) = (/ & &4.8010e+00_rb,4.8792e+00_rb,4.9473e+00_rb,5.0350e+00_rb,5.0940e+00_rb/) kbo(:,26,10) = (/ & &4.9124e+00_rb,4.9871e+00_rb,5.0797e+00_rb,5.1628e+00_rb,5.2299e+00_rb/) kbo(:,27,10) = (/ & &4.9985e+00_rb,5.0753e+00_rb,5.2023e+00_rb,5.2822e+00_rb,5.3506e+00_rb/) kbo(:,28,10) = (/ & &5.0601e+00_rb,5.1633e+00_rb,5.2946e+00_rb,5.3826e+00_rb,5.4390e+00_rb/) kbo(:,29,10) = (/ & &5.1149e+00_rb,5.2551e+00_rb,5.3769e+00_rb,5.4560e+00_rb,5.5331e+00_rb/) kbo(:,30,10) = (/ & &5.1829e+00_rb,5.3405e+00_rb,5.4468e+00_rb,5.5366e+00_rb,5.6267e+00_rb/) kbo(:,31,10) = (/ & &5.2708e+00_rb,5.3990e+00_rb,5.5145e+00_rb,5.6271e+00_rb,5.7226e+00_rb/) kbo(:,32,10) = (/ & &5.3210e+00_rb,5.4615e+00_rb,5.6064e+00_rb,5.7149e+00_rb,5.7961e+00_rb/) kbo(:,33,10) = (/ & &5.3784e+00_rb,5.5514e+00_rb,5.6898e+00_rb,5.7825e+00_rb,5.7881e+00_rb/) kbo(:,34,10) = (/ & &5.4610e+00_rb,5.6264e+00_rb,5.7421e+00_rb,5.8351e+00_rb,5.7469e+00_rb/) kbo(:,35,10) = (/ & &5.5182e+00_rb,5.6646e+00_rb,5.7805e+00_rb,5.8049e+00_rb,5.8731e+00_rb/) kbo(:,36,10) = (/ & &5.5474e+00_rb,5.6825e+00_rb,5.8317e+00_rb,5.7746e+00_rb,5.9436e+00_rb/) kbo(:,37,10) = (/ & &5.5356e+00_rb,5.6848e+00_rb,5.8413e+00_rb,5.7830e+00_rb,5.9888e+00_rb/) kbo(:,38,10) = (/ & &5.5240e+00_rb,5.6924e+00_rb,5.8161e+00_rb,5.8447e+00_rb,6.0305e+00_rb/) kbo(:,39,10) = (/ & &5.5062e+00_rb,5.7035e+00_rb,5.7750e+00_rb,5.8907e+00_rb,6.0598e+00_rb/) kbo(:,40,10) = (/ & &5.4721e+00_rb,5.6790e+00_rb,5.7621e+00_rb,5.8808e+00_rb,6.0578e+00_rb/) kbo(:,41,10) = (/ & &5.4259e+00_rb,5.6462e+00_rb,5.7509e+00_rb,5.8640e+00_rb,6.0494e+00_rb/) kbo(:,42,10) = (/ & &5.3746e+00_rb,5.6111e+00_rb,5.7387e+00_rb,5.8493e+00_rb,6.0309e+00_rb/) kbo(:,43,10) = (/ & &5.3001e+00_rb,5.5493e+00_rb,5.7206e+00_rb,5.8145e+00_rb,6.0040e+00_rb/) kbo(:,44,10) = (/ & &5.2173e+00_rb,5.4929e+00_rb,5.6988e+00_rb,5.7584e+00_rb,5.9757e+00_rb/) kbo(:,45,10) = (/ & &5.1348e+00_rb,5.4235e+00_rb,5.6596e+00_rb,5.7148e+00_rb,5.9430e+00_rb/) kbo(:,46,10) = (/ & &5.0314e+00_rb,5.3386e+00_rb,5.5941e+00_rb,5.6594e+00_rb,5.8994e+00_rb/) kbo(:,47,10) = (/ & &4.9050e+00_rb,5.2288e+00_rb,5.5164e+00_rb,5.5882e+00_rb,5.8407e+00_rb/) kbo(:,48,10) = (/ & &4.7768e+00_rb,5.1235e+00_rb,5.4274e+00_rb,5.5412e+00_rb,5.7765e+00_rb/) kbo(:,49,10) = (/ & &4.6322e+00_rb,5.0058e+00_rb,5.3313e+00_rb,5.4722e+00_rb,5.7006e+00_rb/) kbo(:,50,10) = (/ & &4.4926e+00_rb,4.8780e+00_rb,5.2241e+00_rb,5.4133e+00_rb,5.6277e+00_rb/) kbo(:,51,10) = (/ & &4.3523e+00_rb,4.7488e+00_rb,5.1238e+00_rb,5.3514e+00_rb,5.5587e+00_rb/) kbo(:,52,10) = (/ & &4.2056e+00_rb,4.6099e+00_rb,5.0074e+00_rb,5.2732e+00_rb,5.4803e+00_rb/) kbo(:,53,10) = (/ & &4.0530e+00_rb,4.4698e+00_rb,4.8873e+00_rb,5.1842e+00_rb,5.3844e+00_rb/) kbo(:,54,10) = (/ & &3.8976e+00_rb,4.3362e+00_rb,4.7616e+00_rb,5.1168e+00_rb,5.2766e+00_rb/) kbo(:,55,10) = (/ & &3.7298e+00_rb,4.2020e+00_rb,4.6200e+00_rb,5.0133e+00_rb,5.2077e+00_rb/) kbo(:,56,10) = (/ & &3.5605e+00_rb,4.0625e+00_rb,4.4800e+00_rb,4.8943e+00_rb,5.1989e+00_rb/) kbo(:,57,10) = (/ & &3.3848e+00_rb,3.9107e+00_rb,4.3536e+00_rb,4.7626e+00_rb,5.1398e+00_rb/) kbo(:,58,10) = (/ & &3.2413e+00_rb,3.7494e+00_rb,4.2254e+00_rb,4.6312e+00_rb,5.0237e+00_rb/) kbo(:,59,10) = (/ & &3.1874e+00_rb,3.6712e+00_rb,4.1570e+00_rb,4.5764e+00_rb,4.9431e+00_rb/) kbo(:,13,11) = (/ & &2.0655e+00_rb,2.2522e+00_rb,2.3749e+00_rb,2.3793e+00_rb,2.3141e+00_rb/) kbo(:,14,11) = (/ & &2.3056e+00_rb,2.3392e+00_rb,2.3483e+00_rb,2.4161e+00_rb,2.4783e+00_rb/) kbo(:,15,11) = (/ & &2.5044e+00_rb,2.5910e+00_rb,2.7153e+00_rb,2.7838e+00_rb,2.9462e+00_rb/) kbo(:,16,11) = (/ & &3.2130e+00_rb,3.2960e+00_rb,3.3708e+00_rb,3.3957e+00_rb,3.4936e+00_rb/) kbo(:,17,11) = (/ & &3.5929e+00_rb,3.6854e+00_rb,3.7568e+00_rb,3.8084e+00_rb,3.9070e+00_rb/) kbo(:,18,11) = (/ & &3.9502e+00_rb,4.0564e+00_rb,4.1260e+00_rb,4.2219e+00_rb,4.3335e+00_rb/) kbo(:,19,11) = (/ & &4.3215e+00_rb,4.4423e+00_rb,4.5361e+00_rb,4.6179e+00_rb,4.7405e+00_rb/) kbo(:,20,11) = (/ & &4.7059e+00_rb,4.8304e+00_rb,4.9342e+00_rb,4.9958e+00_rb,5.1320e+00_rb/) kbo(:,21,11) = (/ & &5.0845e+00_rb,5.2089e+00_rb,5.3085e+00_rb,5.3635e+00_rb,5.4973e+00_rb/) kbo(:,22,11) = (/ & &5.4678e+00_rb,5.5866e+00_rb,5.6718e+00_rb,5.7157e+00_rb,5.8446e+00_rb/) kbo(:,23,11) = (/ & &5.8472e+00_rb,5.9542e+00_rb,6.0224e+00_rb,6.0657e+00_rb,6.1751e+00_rb/) kbo(:,24,11) = (/ & &6.2102e+00_rb,6.3055e+00_rb,6.3477e+00_rb,6.4025e+00_rb,6.4818e+00_rb/) kbo(:,25,11) = (/ & &6.5425e+00_rb,6.6276e+00_rb,6.6464e+00_rb,6.7138e+00_rb,6.7776e+00_rb/) kbo(:,26,11) = (/ & &6.8397e+00_rb,6.9134e+00_rb,6.9153e+00_rb,7.0099e+00_rb,7.0590e+00_rb/) kbo(:,27,11) = (/ & &7.1001e+00_rb,7.1597e+00_rb,7.1676e+00_rb,7.2592e+00_rb,7.2956e+00_rb/) kbo(:,28,11) = (/ & &7.3310e+00_rb,7.3578e+00_rb,7.4192e+00_rb,7.4714e+00_rb,7.5147e+00_rb/) kbo(:,29,11) = (/ & &7.5220e+00_rb,7.5568e+00_rb,7.6448e+00_rb,7.6786e+00_rb,7.7106e+00_rb/) kbo(:,30,11) = (/ & &7.6639e+00_rb,7.7470e+00_rb,7.8152e+00_rb,7.8571e+00_rb,7.8626e+00_rb/) kbo(:,31,11) = (/ & &7.8082e+00_rb,7.9292e+00_rb,7.9711e+00_rb,7.9864e+00_rb,7.9914e+00_rb/) kbo(:,32,11) = (/ & &7.9725e+00_rb,8.0661e+00_rb,8.0888e+00_rb,8.1052e+00_rb,8.1459e+00_rb/) kbo(:,33,11) = (/ & &8.1196e+00_rb,8.1648e+00_rb,8.2204e+00_rb,8.2561e+00_rb,8.2714e+00_rb/) kbo(:,34,11) = (/ & &8.1982e+00_rb,8.2822e+00_rb,8.3431e+00_rb,8.3695e+00_rb,8.3494e+00_rb/) kbo(:,35,11) = (/ & &8.2893e+00_rb,8.3914e+00_rb,8.4459e+00_rb,8.4367e+00_rb,8.2201e+00_rb/) kbo(:,36,11) = (/ & &8.3709e+00_rb,8.4754e+00_rb,8.5081e+00_rb,8.5002e+00_rb,8.2056e+00_rb/) kbo(:,37,11) = (/ & &8.4255e+00_rb,8.5299e+00_rb,8.5562e+00_rb,8.5457e+00_rb,8.3297e+00_rb/) kbo(:,38,11) = (/ & &8.4692e+00_rb,8.5729e+00_rb,8.6048e+00_rb,8.5329e+00_rb,8.4574e+00_rb/) kbo(:,39,11) = (/ & &8.5044e+00_rb,8.6011e+00_rb,8.6529e+00_rb,8.5036e+00_rb,8.5412e+00_rb/) kbo(:,40,11) = (/ & &8.5034e+00_rb,8.6122e+00_rb,8.6861e+00_rb,8.5500e+00_rb,8.5878e+00_rb/) kbo(:,41,11) = (/ & &8.4921e+00_rb,8.6152e+00_rb,8.7146e+00_rb,8.6037e+00_rb,8.6322e+00_rb/) kbo(:,42,11) = (/ & &8.4716e+00_rb,8.6012e+00_rb,8.7281e+00_rb,8.6344e+00_rb,8.6768e+00_rb/) kbo(:,43,11) = (/ & &8.4399e+00_rb,8.6022e+00_rb,8.7354e+00_rb,8.6857e+00_rb,8.7108e+00_rb/) kbo(:,44,11) = (/ & &8.4042e+00_rb,8.5707e+00_rb,8.7247e+00_rb,8.7306e+00_rb,8.7301e+00_rb/) kbo(:,45,11) = (/ & &8.3422e+00_rb,8.5367e+00_rb,8.7092e+00_rb,8.7655e+00_rb,8.7531e+00_rb/) kbo(:,46,11) = (/ & &8.2614e+00_rb,8.4925e+00_rb,8.6796e+00_rb,8.7911e+00_rb,8.7636e+00_rb/) kbo(:,47,11) = (/ & &8.1773e+00_rb,8.4296e+00_rb,8.6376e+00_rb,8.8172e+00_rb,8.7465e+00_rb/) kbo(:,48,11) = (/ & &8.0681e+00_rb,8.3512e+00_rb,8.5867e+00_rb,8.7946e+00_rb,8.7119e+00_rb/) kbo(:,49,11) = (/ & &7.9551e+00_rb,8.2607e+00_rb,8.5307e+00_rb,8.7608e+00_rb,8.6937e+00_rb/) kbo(:,50,11) = (/ & &7.8252e+00_rb,8.1751e+00_rb,8.4616e+00_rb,8.7182e+00_rb,8.6487e+00_rb/) kbo(:,51,11) = (/ & &7.6779e+00_rb,8.0748e+00_rb,8.3664e+00_rb,8.6630e+00_rb,8.6216e+00_rb/) kbo(:,52,11) = (/ & &7.5020e+00_rb,7.9591e+00_rb,8.2751e+00_rb,8.6024e+00_rb,8.6131e+00_rb/) kbo(:,53,11) = (/ & &7.3138e+00_rb,7.8339e+00_rb,8.1806e+00_rb,8.5263e+00_rb,8.5994e+00_rb/) kbo(:,54,11) = (/ & &7.1204e+00_rb,7.6772e+00_rb,8.0838e+00_rb,8.4459e+00_rb,8.6417e+00_rb/) kbo(:,55,11) = (/ & &6.9256e+00_rb,7.5251e+00_rb,7.9750e+00_rb,8.3203e+00_rb,8.6369e+00_rb/) kbo(:,56,11) = (/ & &6.7619e+00_rb,7.3247e+00_rb,7.8477e+00_rb,8.2055e+00_rb,8.5418e+00_rb/) kbo(:,57,11) = (/ & &6.5989e+00_rb,7.1193e+00_rb,7.6865e+00_rb,8.1073e+00_rb,8.4236e+00_rb/) kbo(:,58,11) = (/ & &6.3964e+00_rb,6.9666e+00_rb,7.5354e+00_rb,7.9999e+00_rb,8.3228e+00_rb/) kbo(:,59,11) = (/ & &6.3130e+00_rb,6.9330e+00_rb,7.4209e+00_rb,7.9087e+00_rb,8.2712e+00_rb/) kbo(:,13,12) = (/ & &2.2326e+00_rb,2.2492e+00_rb,2.2166e+00_rb,2.2179e+00_rb,2.3939e+00_rb/) kbo(:,14,12) = (/ & &2.6624e+00_rb,2.8068e+00_rb,2.8766e+00_rb,2.8509e+00_rb,2.8616e+00_rb/) kbo(:,15,12) = (/ & &3.7151e+00_rb,3.8338e+00_rb,3.8710e+00_rb,3.8938e+00_rb,4.0387e+00_rb/) kbo(:,16,12) = (/ & &4.1478e+00_rb,4.2453e+00_rb,4.2845e+00_rb,4.3058e+00_rb,4.4171e+00_rb/) kbo(:,17,12) = (/ & &4.4594e+00_rb,4.5666e+00_rb,4.6335e+00_rb,4.6600e+00_rb,4.7776e+00_rb/) kbo(:,18,12) = (/ & &4.8949e+00_rb,5.0141e+00_rb,5.1198e+00_rb,5.1461e+00_rb,5.2514e+00_rb/) kbo(:,19,12) = (/ & &5.4166e+00_rb,5.5448e+00_rb,5.6541e+00_rb,5.7098e+00_rb,5.7608e+00_rb/) kbo(:,20,12) = (/ & &5.9687e+00_rb,6.1117e+00_rb,6.2318e+00_rb,6.2991e+00_rb,6.3382e+00_rb/) kbo(:,21,12) = (/ & &6.5357e+00_rb,6.6891e+00_rb,6.8185e+00_rb,6.8922e+00_rb,6.9339e+00_rb/) kbo(:,22,12) = (/ & &7.1247e+00_rb,7.2763e+00_rb,7.4121e+00_rb,7.4770e+00_rb,7.5498e+00_rb/) kbo(:,23,12) = (/ & &7.7039e+00_rb,7.8572e+00_rb,7.9884e+00_rb,8.0284e+00_rb,8.1432e+00_rb/) kbo(:,24,12) = (/ & &8.2700e+00_rb,8.4098e+00_rb,8.5280e+00_rb,8.5448e+00_rb,8.6892e+00_rb/) kbo(:,25,12) = (/ & &8.8099e+00_rb,8.9417e+00_rb,9.0327e+00_rb,9.0480e+00_rb,9.1843e+00_rb/) kbo(:,26,12) = (/ & &9.3282e+00_rb,9.4425e+00_rb,9.5016e+00_rb,9.4918e+00_rb,9.6320e+00_rb/) kbo(:,27,12) = (/ & &9.8120e+00_rb,9.9020e+00_rb,9.8963e+00_rb,9.9235e+00_rb,1.0029e+01_rb/) kbo(:,28,12) = (/ & &1.0246e+01_rb,1.0311e+01_rb,1.0256e+01_rb,1.0345e+01_rb,1.0401e+01_rb/) kbo(:,29,12) = (/ & &1.0631e+01_rb,1.0621e+01_rb,1.0577e+01_rb,1.0691e+01_rb,1.0719e+01_rb/) kbo(:,30,12) = (/ & &1.0962e+01_rb,1.0883e+01_rb,1.0936e+01_rb,1.0968e+01_rb,1.0995e+01_rb/) kbo(:,31,12) = (/ & &1.1183e+01_rb,1.1144e+01_rb,1.1216e+01_rb,1.1241e+01_rb,1.1250e+01_rb/) kbo(:,32,12) = (/ & &1.1390e+01_rb,1.1439e+01_rb,1.1434e+01_rb,1.1471e+01_rb,1.1430e+01_rb/) kbo(:,33,12) = (/ & &1.1588e+01_rb,1.1624e+01_rb,1.1599e+01_rb,1.1614e+01_rb,1.1630e+01_rb/) kbo(:,34,12) = (/ & &1.1823e+01_rb,1.1780e+01_rb,1.1748e+01_rb,1.1805e+01_rb,1.1825e+01_rb/) kbo(:,35,12) = (/ & &1.1935e+01_rb,1.1885e+01_rb,1.1934e+01_rb,1.1981e+01_rb,1.2011e+01_rb/) kbo(:,36,12) = (/ & &1.2055e+01_rb,1.2055e+01_rb,1.2092e+01_rb,1.2129e+01_rb,1.2083e+01_rb/) kbo(:,37,12) = (/ & &1.2143e+01_rb,1.2189e+01_rb,1.2217e+01_rb,1.2211e+01_rb,1.2038e+01_rb/) kbo(:,38,12) = (/ & &1.2240e+01_rb,1.2287e+01_rb,1.2320e+01_rb,1.2293e+01_rb,1.1958e+01_rb/) kbo(:,39,12) = (/ & &1.2384e+01_rb,1.2401e+01_rb,1.2395e+01_rb,1.2388e+01_rb,1.1943e+01_rb/) kbo(:,40,12) = (/ & &1.2464e+01_rb,1.2479e+01_rb,1.2477e+01_rb,1.2446e+01_rb,1.2032e+01_rb/) kbo(:,41,12) = (/ & &1.2528e+01_rb,1.2533e+01_rb,1.2534e+01_rb,1.2503e+01_rb,1.2103e+01_rb/) kbo(:,42,12) = (/ & &1.2585e+01_rb,1.2609e+01_rb,1.2591e+01_rb,1.2562e+01_rb,1.2170e+01_rb/) kbo(:,43,12) = (/ & &1.2648e+01_rb,1.2666e+01_rb,1.2643e+01_rb,1.2594e+01_rb,1.2252e+01_rb/) kbo(:,44,12) = (/ & &1.2682e+01_rb,1.2728e+01_rb,1.2701e+01_rb,1.2655e+01_rb,1.2340e+01_rb/) kbo(:,45,12) = (/ & &1.2706e+01_rb,1.2763e+01_rb,1.2739e+01_rb,1.2702e+01_rb,1.2417e+01_rb/) kbo(:,46,12) = (/ & &1.2744e+01_rb,1.2798e+01_rb,1.2795e+01_rb,1.2773e+01_rb,1.2516e+01_rb/) kbo(:,47,12) = (/ & &1.2744e+01_rb,1.2852e+01_rb,1.2846e+01_rb,1.2816e+01_rb,1.2652e+01_rb/) kbo(:,48,12) = (/ & &1.2714e+01_rb,1.2860e+01_rb,1.2886e+01_rb,1.2860e+01_rb,1.2772e+01_rb/) kbo(:,49,12) = (/ & &1.2667e+01_rb,1.2862e+01_rb,1.2927e+01_rb,1.2926e+01_rb,1.2873e+01_rb/) kbo(:,50,12) = (/ & &1.2568e+01_rb,1.2858e+01_rb,1.2953e+01_rb,1.2955e+01_rb,1.2993e+01_rb/) kbo(:,51,12) = (/ & &1.2506e+01_rb,1.2803e+01_rb,1.2982e+01_rb,1.2983e+01_rb,1.3071e+01_rb/) kbo(:,52,12) = (/ & &1.2444e+01_rb,1.2786e+01_rb,1.2969e+01_rb,1.3005e+01_rb,1.3112e+01_rb/) kbo(:,53,12) = (/ & &1.2352e+01_rb,1.2737e+01_rb,1.2961e+01_rb,1.3024e+01_rb,1.3150e+01_rb/) kbo(:,54,12) = (/ & &1.2273e+01_rb,1.2640e+01_rb,1.2911e+01_rb,1.3015e+01_rb,1.3144e+01_rb/) kbo(:,55,12) = (/ & &1.2241e+01_rb,1.2456e+01_rb,1.2830e+01_rb,1.3015e+01_rb,1.3103e+01_rb/) kbo(:,56,12) = (/ & &1.2129e+01_rb,1.2403e+01_rb,1.2744e+01_rb,1.2955e+01_rb,1.3054e+01_rb/) kbo(:,57,12) = (/ & &1.1983e+01_rb,1.2327e+01_rb,1.2603e+01_rb,1.2910e+01_rb,1.3056e+01_rb/) kbo(:,58,12) = (/ & &1.1825e+01_rb,1.2269e+01_rb,1.2506e+01_rb,1.2817e+01_rb,1.3023e+01_rb/) kbo(:,59,12) = (/ & &1.1756e+01_rb,1.2243e+01_rb,1.2496e+01_rb,1.2736e+01_rb,1.2923e+01_rb/) kbo(:,13,13) = (/ & &2.4382e+00_rb,2.5269e+00_rb,2.6487e+00_rb,2.6115e+00_rb,2.6014e+00_rb/) kbo(:,14,13) = (/ & &3.1530e+00_rb,3.3624e+00_rb,3.5863e+00_rb,3.8586e+00_rb,4.4708e+00_rb/) kbo(:,15,13) = (/ & &5.2015e+00_rb,5.3405e+00_rb,5.5020e+00_rb,5.5114e+00_rb,5.5124e+00_rb/) kbo(:,16,13) = (/ & &5.7225e+00_rb,5.8966e+00_rb,6.0571e+00_rb,6.0559e+00_rb,6.0668e+00_rb/) kbo(:,17,13) = (/ & &6.2716e+00_rb,6.4422e+00_rb,6.5990e+00_rb,6.6435e+00_rb,6.5757e+00_rb/) kbo(:,18,13) = (/ & &6.7715e+00_rb,6.9371e+00_rb,7.0939e+00_rb,7.1586e+00_rb,7.0596e+00_rb/) kbo(:,19,13) = (/ & &7.2728e+00_rb,7.4403e+00_rb,7.6008e+00_rb,7.7026e+00_rb,7.6789e+00_rb/) kbo(:,20,13) = (/ & &7.8570e+00_rb,8.0286e+00_rb,8.1992e+00_rb,8.3169e+00_rb,8.3122e+00_rb/) kbo(:,21,13) = (/ & &8.5574e+00_rb,8.7300e+00_rb,8.9004e+00_rb,9.0231e+00_rb,9.0274e+00_rb/) kbo(:,22,13) = (/ & &9.3806e+00_rb,9.5518e+00_rb,9.7137e+00_rb,9.8169e+00_rb,9.7877e+00_rb/) kbo(:,23,13) = (/ & &1.0275e+01_rb,1.0446e+01_rb,1.0597e+01_rb,1.0672e+01_rb,1.0640e+01_rb/) kbo(:,24,13) = (/ & &1.1189e+01_rb,1.1360e+01_rb,1.1491e+01_rb,1.1535e+01_rb,1.1479e+01_rb/) kbo(:,25,13) = (/ & &1.2097e+01_rb,1.2245e+01_rb,1.2356e+01_rb,1.2332e+01_rb,1.2284e+01_rb/) kbo(:,26,13) = (/ & &1.2961e+01_rb,1.3082e+01_rb,1.3167e+01_rb,1.3081e+01_rb,1.3047e+01_rb/) kbo(:,27,13) = (/ & &1.3759e+01_rb,1.3850e+01_rb,1.3907e+01_rb,1.3774e+01_rb,1.3731e+01_rb/) kbo(:,28,13) = (/ & &1.4487e+01_rb,1.4544e+01_rb,1.4510e+01_rb,1.4345e+01_rb,1.4410e+01_rb/) kbo(:,29,13) = (/ & &1.5131e+01_rb,1.5152e+01_rb,1.4989e+01_rb,1.4893e+01_rb,1.4931e+01_rb/) kbo(:,30,13) = (/ & &1.5691e+01_rb,1.5628e+01_rb,1.5428e+01_rb,1.5458e+01_rb,1.5409e+01_rb/) kbo(:,31,13) = (/ & &1.6170e+01_rb,1.5957e+01_rb,1.5859e+01_rb,1.5855e+01_rb,1.5824e+01_rb/) kbo(:,32,13) = (/ & &1.6473e+01_rb,1.6259e+01_rb,1.6330e+01_rb,1.6208e+01_rb,1.6186e+01_rb/) kbo(:,33,13) = (/ & &1.6723e+01_rb,1.6704e+01_rb,1.6654e+01_rb,1.6563e+01_rb,1.6454e+01_rb/) kbo(:,34,13) = (/ & &1.6982e+01_rb,1.6991e+01_rb,1.6942e+01_rb,1.6797e+01_rb,1.6670e+01_rb/) kbo(:,35,13) = (/ & &1.7322e+01_rb,1.7270e+01_rb,1.7135e+01_rb,1.6953e+01_rb,1.6879e+01_rb/) kbo(:,36,13) = (/ & &1.7562e+01_rb,1.7451e+01_rb,1.7282e+01_rb,1.7228e+01_rb,1.7169e+01_rb/) kbo(:,37,13) = (/ & &1.7777e+01_rb,1.7615e+01_rb,1.7471e+01_rb,1.7494e+01_rb,1.7411e+01_rb/) kbo(:,38,13) = (/ & &1.7932e+01_rb,1.7773e+01_rb,1.7733e+01_rb,1.7665e+01_rb,1.7616e+01_rb/) kbo(:,39,13) = (/ & &1.7993e+01_rb,1.7881e+01_rb,1.7968e+01_rb,1.7898e+01_rb,1.7772e+01_rb/) kbo(:,40,13) = (/ & &1.8148e+01_rb,1.8027e+01_rb,1.8107e+01_rb,1.8066e+01_rb,1.7907e+01_rb/) kbo(:,41,13) = (/ & &1.8273e+01_rb,1.8183e+01_rb,1.8251e+01_rb,1.8205e+01_rb,1.8057e+01_rb/) kbo(:,42,13) = (/ & &1.8408e+01_rb,1.8324e+01_rb,1.8378e+01_rb,1.8322e+01_rb,1.8177e+01_rb/) kbo(:,43,13) = (/ & &1.8505e+01_rb,1.8424e+01_rb,1.8497e+01_rb,1.8450e+01_rb,1.8293e+01_rb/) kbo(:,44,13) = (/ & &1.8604e+01_rb,1.8490e+01_rb,1.8578e+01_rb,1.8585e+01_rb,1.8430e+01_rb/) kbo(:,45,13) = (/ & &1.8704e+01_rb,1.8600e+01_rb,1.8704e+01_rb,1.8731e+01_rb,1.8566e+01_rb/) kbo(:,46,13) = (/ & &1.8778e+01_rb,1.8729e+01_rb,1.8813e+01_rb,1.8830e+01_rb,1.8670e+01_rb/) kbo(:,47,13) = (/ & &1.8850e+01_rb,1.8781e+01_rb,1.8910e+01_rb,1.8941e+01_rb,1.8764e+01_rb/) kbo(:,48,13) = (/ & &1.8986e+01_rb,1.8857e+01_rb,1.8976e+01_rb,1.9005e+01_rb,1.8895e+01_rb/) kbo(:,49,13) = (/ & &1.9095e+01_rb,1.9011e+01_rb,1.9061e+01_rb,1.9086e+01_rb,1.9025e+01_rb/) kbo(:,50,13) = (/ & &1.9280e+01_rb,1.9083e+01_rb,1.9157e+01_rb,1.9191e+01_rb,1.9123e+01_rb/) kbo(:,51,13) = (/ & &1.9385e+01_rb,1.9151e+01_rb,1.9215e+01_rb,1.9259e+01_rb,1.9196e+01_rb/) kbo(:,52,13) = (/ & &1.9488e+01_rb,1.9188e+01_rb,1.9260e+01_rb,1.9328e+01_rb,1.9259e+01_rb/) kbo(:,53,13) = (/ & &1.9657e+01_rb,1.9231e+01_rb,1.9381e+01_rb,1.9391e+01_rb,1.9331e+01_rb/) kbo(:,54,13) = (/ & &1.9810e+01_rb,1.9362e+01_rb,1.9357e+01_rb,1.9443e+01_rb,1.9402e+01_rb/) kbo(:,55,13) = (/ & &1.9885e+01_rb,1.9515e+01_rb,1.9337e+01_rb,1.9415e+01_rb,1.9400e+01_rb/) kbo(:,56,13) = (/ & &1.9952e+01_rb,1.9629e+01_rb,1.9325e+01_rb,1.9383e+01_rb,1.9431e+01_rb/) kbo(:,57,13) = (/ & &2.0005e+01_rb,1.9822e+01_rb,1.9466e+01_rb,1.9235e+01_rb,1.9419e+01_rb/) kbo(:,58,13) = (/ & &2.0044e+01_rb,1.9891e+01_rb,1.9520e+01_rb,1.9352e+01_rb,1.9344e+01_rb/) kbo(:,59,13) = (/ & &2.0058e+01_rb,1.9920e+01_rb,1.9627e+01_rb,1.9319e+01_rb,1.9225e+01_rb/) kbo(:,13,14) = (/ & &3.1216e+00_rb,3.1914e+00_rb,3.0899e+00_rb,3.3224e+00_rb,4.2010e+00_rb/) kbo(:,14,14) = (/ & &7.0173e+00_rb,7.2031e+00_rb,7.3581e+00_rb,7.0289e+00_rb,6.9115e+00_rb/) kbo(:,15,14) = (/ & &7.9333e+00_rb,8.1347e+00_rb,8.2980e+00_rb,8.2914e+00_rb,7.9259e+00_rb/) kbo(:,16,14) = (/ & &8.8725e+00_rb,9.0683e+00_rb,9.2568e+00_rb,9.4307e+00_rb,9.0182e+00_rb/) kbo(:,17,14) = (/ & &9.8363e+00_rb,1.0075e+01_rb,1.0298e+01_rb,1.0509e+01_rb,1.0358e+01_rb/) kbo(:,18,14) = (/ & &1.0886e+01_rb,1.1174e+01_rb,1.1435e+01_rb,1.1674e+01_rb,1.1694e+01_rb/) kbo(:,19,14) = (/ & &1.2011e+01_rb,1.2333e+01_rb,1.2632e+01_rb,1.2897e+01_rb,1.3012e+01_rb/) kbo(:,20,14) = (/ & &1.3190e+01_rb,1.3540e+01_rb,1.3861e+01_rb,1.4163e+01_rb,1.4313e+01_rb/) kbo(:,21,14) = (/ & &1.4385e+01_rb,1.4764e+01_rb,1.5119e+01_rb,1.5437e+01_rb,1.5593e+01_rb/) kbo(:,22,14) = (/ & &1.5599e+01_rb,1.6013e+01_rb,1.6388e+01_rb,1.6714e+01_rb,1.6844e+01_rb/) kbo(:,23,14) = (/ & &1.6855e+01_rb,1.7274e+01_rb,1.7644e+01_rb,1.7957e+01_rb,1.7983e+01_rb/) kbo(:,24,14) = (/ & &1.8152e+01_rb,1.8541e+01_rb,1.8882e+01_rb,1.9172e+01_rb,1.9130e+01_rb/) kbo(:,25,14) = (/ & &1.9440e+01_rb,1.9782e+01_rb,2.0084e+01_rb,2.0333e+01_rb,2.0194e+01_rb/) kbo(:,26,14) = (/ & &2.0688e+01_rb,2.0983e+01_rb,2.1232e+01_rb,2.1433e+01_rb,2.1144e+01_rb/) kbo(:,27,14) = (/ & &2.1870e+01_rb,2.2106e+01_rb,2.2296e+01_rb,2.2344e+01_rb,2.1989e+01_rb/) kbo(:,28,14) = (/ & &2.2959e+01_rb,2.3128e+01_rb,2.3255e+01_rb,2.3127e+01_rb,2.2540e+01_rb/) kbo(:,29,14) = (/ & &2.3936e+01_rb,2.4040e+01_rb,2.4108e+01_rb,2.3686e+01_rb,2.3118e+01_rb/) kbo(:,30,14) = (/ & &2.4794e+01_rb,2.4831e+01_rb,2.4631e+01_rb,2.3967e+01_rb,2.3807e+01_rb/) kbo(:,31,14) = (/ & &2.5525e+01_rb,2.5458e+01_rb,2.4921e+01_rb,2.4395e+01_rb,2.4482e+01_rb/) kbo(:,32,14) = (/ & &2.6140e+01_rb,2.5757e+01_rb,2.4988e+01_rb,2.5111e+01_rb,2.5399e+01_rb/) kbo(:,33,14) = (/ & &2.6507e+01_rb,2.5703e+01_rb,2.5535e+01_rb,2.5869e+01_rb,2.6121e+01_rb/) kbo(:,34,14) = (/ & &2.6569e+01_rb,2.5953e+01_rb,2.6151e+01_rb,2.6361e+01_rb,2.6801e+01_rb/) kbo(:,35,14) = (/ & &2.6562e+01_rb,2.6504e+01_rb,2.6810e+01_rb,2.7029e+01_rb,2.7434e+01_rb/) kbo(:,36,14) = (/ & &2.6827e+01_rb,2.6824e+01_rb,2.7232e+01_rb,2.7537e+01_rb,2.7695e+01_rb/) kbo(:,37,14) = (/ & &2.7090e+01_rb,2.7286e+01_rb,2.7649e+01_rb,2.7765e+01_rb,2.8180e+01_rb/) kbo(:,38,14) = (/ & &2.7488e+01_rb,2.7623e+01_rb,2.7893e+01_rb,2.8192e+01_rb,2.8556e+01_rb/) kbo(:,39,14) = (/ & &2.7778e+01_rb,2.8122e+01_rb,2.8064e+01_rb,2.8480e+01_rb,2.8841e+01_rb/) kbo(:,40,14) = (/ & &2.8002e+01_rb,2.8307e+01_rb,2.8286e+01_rb,2.8653e+01_rb,2.9020e+01_rb/) kbo(:,41,14) = (/ & &2.8205e+01_rb,2.8457e+01_rb,2.8430e+01_rb,2.8865e+01_rb,2.9164e+01_rb/) kbo(:,42,14) = (/ & &2.8421e+01_rb,2.8563e+01_rb,2.8567e+01_rb,2.9033e+01_rb,2.9360e+01_rb/) kbo(:,43,14) = (/ & &2.8605e+01_rb,2.8649e+01_rb,2.8746e+01_rb,2.9195e+01_rb,2.9582e+01_rb/) kbo(:,44,14) = (/ & &2.8719e+01_rb,2.8847e+01_rb,2.8915e+01_rb,2.9326e+01_rb,2.9712e+01_rb/) kbo(:,45,14) = (/ & &2.9008e+01_rb,2.9000e+01_rb,2.9085e+01_rb,2.9440e+01_rb,2.9882e+01_rb/) kbo(:,46,14) = (/ & &2.9283e+01_rb,2.9066e+01_rb,2.9214e+01_rb,2.9505e+01_rb,3.0075e+01_rb/) kbo(:,47,14) = (/ & &2.9505e+01_rb,2.9215e+01_rb,2.9192e+01_rb,2.9549e+01_rb,3.0231e+01_rb/) kbo(:,48,14) = (/ & &2.9847e+01_rb,2.9465e+01_rb,2.9377e+01_rb,2.9796e+01_rb,3.0530e+01_rb/) kbo(:,49,14) = (/ & &3.0209e+01_rb,2.9590e+01_rb,2.9613e+01_rb,2.9947e+01_rb,3.0891e+01_rb/) kbo(:,50,14) = (/ & &3.0555e+01_rb,2.9682e+01_rb,2.9721e+01_rb,3.0034e+01_rb,3.0987e+01_rb/) kbo(:,51,14) = (/ & &3.0932e+01_rb,2.9941e+01_rb,2.9791e+01_rb,3.0042e+01_rb,3.0973e+01_rb/) kbo(:,52,14) = (/ & &3.1304e+01_rb,3.0128e+01_rb,2.9896e+01_rb,3.0085e+01_rb,3.1235e+01_rb/) kbo(:,53,14) = (/ & &3.1593e+01_rb,3.0463e+01_rb,3.0008e+01_rb,3.0297e+01_rb,3.1448e+01_rb/) kbo(:,54,14) = (/ & &3.1880e+01_rb,3.0666e+01_rb,3.0079e+01_rb,3.0245e+01_rb,3.1244e+01_rb/) kbo(:,55,14) = (/ & &3.2179e+01_rb,3.1215e+01_rb,3.0197e+01_rb,3.0244e+01_rb,3.0630e+01_rb/) kbo(:,56,14) = (/ & &3.2496e+01_rb,3.1618e+01_rb,3.0405e+01_rb,3.0157e+01_rb,3.0368e+01_rb/) kbo(:,57,14) = (/ & &3.2846e+01_rb,3.1885e+01_rb,3.0675e+01_rb,3.0336e+01_rb,3.0326e+01_rb/) kbo(:,58,14) = (/ & &3.3194e+01_rb,3.2160e+01_rb,3.1205e+01_rb,3.0229e+01_rb,3.0346e+01_rb/) kbo(:,59,14) = (/ & &3.3342e+01_rb,3.2279e+01_rb,3.1453e+01_rb,3.0328e+01_rb,3.0152e+01_rb/) kbo(:,13,15) = (/ & &4.0030e+00_rb,4.7414e+00_rb,5.8560e+00_rb,6.7438e+00_rb,3.2808e+00_rb/) kbo(:,14,15) = (/ & &9.0899e+00_rb,9.4664e+00_rb,9.7823e+00_rb,1.0059e+01_rb,8.9794e+00_rb/) kbo(:,15,15) = (/ & &1.0857e+01_rb,1.1261e+01_rb,1.1617e+01_rb,1.1923e+01_rb,1.1563e+01_rb/) kbo(:,16,15) = (/ & &1.2889e+01_rb,1.3334e+01_rb,1.3725e+01_rb,1.4064e+01_rb,1.4341e+01_rb/) kbo(:,17,15) = (/ & &1.5204e+01_rb,1.5687e+01_rb,1.6115e+01_rb,1.6474e+01_rb,1.6771e+01_rb/) kbo(:,18,15) = (/ & &1.7808e+01_rb,1.8322e+01_rb,1.8770e+01_rb,1.9149e+01_rb,1.9438e+01_rb/) kbo(:,19,15) = (/ & &2.0675e+01_rb,2.1216e+01_rb,2.1671e+01_rb,2.2040e+01_rb,2.2294e+01_rb/) kbo(:,20,15) = (/ & &2.3784e+01_rb,2.4335e+01_rb,2.4780e+01_rb,2.5092e+01_rb,2.5318e+01_rb/) kbo(:,21,15) = (/ & &2.7074e+01_rb,2.7616e+01_rb,2.7992e+01_rb,2.8260e+01_rb,2.8435e+01_rb/) kbo(:,22,15) = (/ & &3.0512e+01_rb,3.0967e+01_rb,3.1281e+01_rb,3.1482e+01_rb,3.1588e+01_rb/) kbo(:,23,15) = (/ & &3.3946e+01_rb,3.4307e+01_rb,3.4554e+01_rb,3.4683e+01_rb,3.4702e+01_rb/) kbo(:,24,15) = (/ & &3.7353e+01_rb,3.7642e+01_rb,3.7797e+01_rb,3.7830e+01_rb,3.7737e+01_rb/) kbo(:,25,15) = (/ & &4.0725e+01_rb,4.0910e+01_rb,4.0948e+01_rb,4.0847e+01_rb,4.0612e+01_rb/) kbo(:,26,15) = (/ & &4.3991e+01_rb,4.4018e+01_rb,4.3898e+01_rb,4.3642e+01_rb,4.3255e+01_rb/) kbo(:,27,15) = (/ & &4.7033e+01_rb,4.6887e+01_rb,4.6594e+01_rb,4.6165e+01_rb,4.5614e+01_rb/) kbo(:,28,15) = (/ & &4.9783e+01_rb,4.9454e+01_rb,4.8983e+01_rb,4.8387e+01_rb,4.7672e+01_rb/) kbo(:,29,15) = (/ & &5.2209e+01_rb,5.1689e+01_rb,5.1048e+01_rb,5.0282e+01_rb,4.9143e+01_rb/) kbo(:,30,15) = (/ & &5.4285e+01_rb,5.3590e+01_rb,5.2778e+01_rb,5.1862e+01_rb,4.9504e+01_rb/) kbo(:,31,15) = (/ & &5.6017e+01_rb,5.5158e+01_rb,5.4192e+01_rb,5.2520e+01_rb,4.8958e+01_rb/) kbo(:,32,15) = (/ & &5.7422e+01_rb,5.6414e+01_rb,5.5126e+01_rb,5.1643e+01_rb,4.7729e+01_rb/) kbo(:,33,15) = (/ & &5.8538e+01_rb,5.7396e+01_rb,5.4438e+01_rb,4.9797e+01_rb,4.8468e+01_rb/) kbo(:,34,15) = (/ & &5.9425e+01_rb,5.7428e+01_rb,5.3101e+01_rb,5.0744e+01_rb,5.0414e+01_rb/) kbo(:,35,15) = (/ & &6.0220e+01_rb,5.6550e+01_rb,5.2246e+01_rb,5.2031e+01_rb,5.2160e+01_rb/) kbo(:,36,15) = (/ & &6.0380e+01_rb,5.6323e+01_rb,5.3290e+01_rb,5.3091e+01_rb,5.1837e+01_rb/) kbo(:,37,15) = (/ & &6.1064e+01_rb,5.6288e+01_rb,5.3962e+01_rb,5.4330e+01_rb,5.1190e+01_rb/) kbo(:,38,15) = (/ & &6.1244e+01_rb,5.6422e+01_rb,5.4974e+01_rb,5.5783e+01_rb,5.0823e+01_rb/) kbo(:,39,15) = (/ & &6.1491e+01_rb,5.6521e+01_rb,5.6495e+01_rb,5.7139e+01_rb,5.0363e+01_rb/) kbo(:,40,15) = (/ & &6.2285e+01_rb,5.7310e+01_rb,5.7143e+01_rb,5.8068e+01_rb,5.1166e+01_rb/) kbo(:,41,15) = (/ & &6.3214e+01_rb,5.7786e+01_rb,5.7889e+01_rb,5.8807e+01_rb,5.2057e+01_rb/) kbo(:,42,15) = (/ & &6.3921e+01_rb,5.8540e+01_rb,5.8564e+01_rb,5.9508e+01_rb,5.2732e+01_rb/) kbo(:,43,15) = (/ & &6.4936e+01_rb,5.9750e+01_rb,5.9252e+01_rb,6.0188e+01_rb,5.3641e+01_rb/) kbo(:,44,15) = (/ & &6.6180e+01_rb,6.0810e+01_rb,5.9653e+01_rb,6.1132e+01_rb,5.4737e+01_rb/) kbo(:,45,15) = (/ & &6.6949e+01_rb,6.1798e+01_rb,5.9966e+01_rb,6.1660e+01_rb,5.5582e+01_rb/) kbo(:,46,15) = (/ & &6.7824e+01_rb,6.2979e+01_rb,6.0686e+01_rb,6.2546e+01_rb,5.6565e+01_rb/) kbo(:,47,15) = (/ & &6.9039e+01_rb,6.4342e+01_rb,6.1803e+01_rb,6.2906e+01_rb,5.8086e+01_rb/) kbo(:,48,15) = (/ & &6.9761e+01_rb,6.5409e+01_rb,6.2421e+01_rb,6.3565e+01_rb,5.8945e+01_rb/) kbo(:,49,15) = (/ & &7.0431e+01_rb,6.6423e+01_rb,6.3050e+01_rb,6.4501e+01_rb,5.9296e+01_rb/) kbo(:,50,15) = (/ & &7.1030e+01_rb,6.7738e+01_rb,6.3115e+01_rb,6.5100e+01_rb,6.0669e+01_rb/) kbo(:,51,15) = (/ & &7.1594e+01_rb,6.8849e+01_rb,6.3996e+01_rb,6.5429e+01_rb,6.2495e+01_rb/) kbo(:,52,15) = (/ & &7.2143e+01_rb,7.0005e+01_rb,6.4776e+01_rb,6.5575e+01_rb,6.3548e+01_rb/) kbo(:,53,15) = (/ & &7.2670e+01_rb,7.0732e+01_rb,6.5046e+01_rb,6.6263e+01_rb,6.4505e+01_rb/) kbo(:,54,15) = (/ & &7.3127e+01_rb,7.1823e+01_rb,6.6914e+01_rb,6.6275e+01_rb,6.7029e+01_rb/) kbo(:,55,15) = (/ & &7.3553e+01_rb,7.2289e+01_rb,6.8950e+01_rb,6.5529e+01_rb,6.7722e+01_rb/) kbo(:,56,15) = (/ & &7.3983e+01_rb,7.2738e+01_rb,7.0656e+01_rb,6.5646e+01_rb,6.6961e+01_rb/) kbo(:,57,15) = (/ & &7.4388e+01_rb,7.3166e+01_rb,7.1848e+01_rb,6.6976e+01_rb,6.6137e+01_rb/) kbo(:,58,15) = (/ & &7.4771e+01_rb,7.3567e+01_rb,7.2279e+01_rb,6.9020e+01_rb,6.5380e+01_rb/) kbo(:,59,15) = (/ & &7.4949e+01_rb,7.3730e+01_rb,7.2460e+01_rb,7.0691e+01_rb,6.5332e+01_rb/) kbo(:,13,16) = (/ & &5.0420e+00_rb,8.6337e+00_rb,8.8692e+00_rb,1.2195e+00_rb,9.3776e-01_rb/) kbo(:,14,16) = (/ & &1.0108e+01_rb,1.0449e+01_rb,1.0740e+01_rb,1.1004e+01_rb,9.1915e-01_rb/) kbo(:,15,16) = (/ & &1.2227e+01_rb,1.2648e+01_rb,1.3007e+01_rb,1.3327e+01_rb,1.3667e+01_rb/) kbo(:,16,16) = (/ & &1.4789e+01_rb,1.5299e+01_rb,1.5728e+01_rb,1.6109e+01_rb,1.6498e+01_rb/) kbo(:,17,16) = (/ & &1.7862e+01_rb,1.8466e+01_rb,1.8964e+01_rb,1.9401e+01_rb,1.9824e+01_rb/) kbo(:,18,16) = (/ & &2.1506e+01_rb,2.2192e+01_rb,2.2762e+01_rb,2.3238e+01_rb,2.3665e+01_rb/) kbo(:,19,16) = (/ & &2.5786e+01_rb,2.6523e+01_rb,2.7142e+01_rb,2.7627e+01_rb,2.8030e+01_rb/) kbo(:,20,16) = (/ & &3.0723e+01_rb,3.1489e+01_rb,3.2109e+01_rb,3.2556e+01_rb,3.2877e+01_rb/) kbo(:,21,16) = (/ & &3.6293e+01_rb,3.7031e+01_rb,3.7583e+01_rb,3.7941e+01_rb,3.8130e+01_rb/) kbo(:,22,16) = (/ & &4.2493e+01_rb,4.3104e+01_rb,4.3485e+01_rb,4.3668e+01_rb,4.3655e+01_rb/) kbo(:,23,16) = (/ & &4.9099e+01_rb,4.9493e+01_rb,4.9618e+01_rb,4.9538e+01_rb,4.9251e+01_rb/) kbo(:,24,16) = (/ & &5.5931e+01_rb,5.5983e+01_rb,5.5792e+01_rb,5.5378e+01_rb,5.4757e+01_rb/) kbo(:,25,16) = (/ & &6.2744e+01_rb,6.2387e+01_rb,6.1774e+01_rb,6.0982e+01_rb,5.9987e+01_rb/) kbo(:,26,16) = (/ & &6.9294e+01_rb,6.8455e+01_rb,6.7400e+01_rb,6.6158e+01_rb,6.4771e+01_rb/) kbo(:,27,16) = (/ & &7.5369e+01_rb,7.4018e+01_rb,7.2501e+01_rb,7.0820e+01_rb,6.9030e+01_rb/) kbo(:,28,16) = (/ & &8.0847e+01_rb,7.8971e+01_rb,7.6973e+01_rb,7.4879e+01_rb,7.2699e+01_rb/) kbo(:,29,16) = (/ & &8.5588e+01_rb,8.3223e+01_rb,8.0777e+01_rb,7.8292e+01_rb,7.5762e+01_rb/) kbo(:,30,16) = (/ & &8.9575e+01_rb,8.6758e+01_rb,8.3320e+01_rb,8.1073e+01_rb,7.8238e+01_rb/) kbo(:,31,16) = (/ & &9.2801e+01_rb,8.9596e+01_rb,8.6404e+01_rb,8.3251e+01_rb,8.0171e+01_rb/) kbo(:,32,16) = (/ & &9.5328e+01_rb,9.1774e+01_rb,8.8298e+01_rb,8.4902e+01_rb,7.6985e+01_rb/) kbo(:,33,16) = (/ & &9.7221e+01_rb,9.3383e+01_rb,8.9667e+01_rb,8.6065e+01_rb,5.8850e+01_rb/) kbo(:,34,16) = (/ & &9.8688e+01_rb,9.4629e+01_rb,9.0722e+01_rb,7.0430e+01_rb,3.0605e+01_rb/) kbo(:,35,16) = (/ & &1.0011e+02_rb,9.5862e+01_rb,8.7207e+01_rb,5.0589e+01_rb,4.4567e+00_rb/) kbo(:,36,16) = (/ & &1.0168e+02_rb,9.7257e+01_rb,7.6588e+01_rb,3.3945e+01_rb,3.3821e-01_rb/) kbo(:,37,16) = (/ & &1.0369e+02_rb,9.9078e+01_rb,7.2492e+01_rb,2.6526e+01_rb,3.3765e-01_rb/) kbo(:,38,16) = (/ & &1.0555e+02_rb,1.0077e+02_rb,6.5594e+01_rb,1.3779e+01_rb,3.3740e-01_rb/) kbo(:,39,16) = (/ & &1.0726e+02_rb,9.7866e+01_rb,5.5055e+01_rb,3.4196e-01_rb,3.3714e-01_rb/) kbo(:,40,16) = (/ & &1.0936e+02_rb,1.0037e+02_rb,5.6740e+01_rb,3.4227e-01_rb,3.3798e-01_rb/) kbo(:,41,16) = (/ & &1.1147e+02_rb,1.0552e+02_rb,5.9119e+01_rb,1.0312e+00_rb,3.3873e-01_rb/) kbo(:,42,16) = (/ & &1.1349e+02_rb,1.0806e+02_rb,6.1522e+01_rb,2.4025e+00_rb,3.3958e-01_rb/) kbo(:,43,16) = (/ & &1.1581e+02_rb,1.1021e+02_rb,6.4818e+01_rb,5.9686e+00_rb,3.4048e-01_rb/) kbo(:,44,16) = (/ & &1.1830e+02_rb,1.1248e+02_rb,7.1730e+01_rb,8.2150e+00_rb,3.4135e-01_rb/) kbo(:,45,16) = (/ & &1.2075e+02_rb,1.1473e+02_rb,7.7444e+01_rb,1.2041e+01_rb,3.1303e-01_rb/) kbo(:,46,16) = (/ & &1.2335e+02_rb,1.1716e+02_rb,8.1949e+01_rb,1.5245e+01_rb,3.1351e-01_rb/) kbo(:,47,16) = (/ & &1.2629e+02_rb,1.1987e+02_rb,8.8206e+01_rb,2.5272e+01_rb,3.1369e-01_rb/) kbo(:,48,16) = (/ & &1.2931e+02_rb,1.2262e+02_rb,9.4686e+01_rb,2.9706e+01_rb,3.1394e-01_rb/) kbo(:,49,16) = (/ & &1.3237e+02_rb,1.2544e+02_rb,9.8342e+01_rb,3.1959e+01_rb,3.1361e-01_rb/) kbo(:,50,16) = (/ & &1.3530e+02_rb,1.2816e+02_rb,1.0881e+02_rb,3.8226e+01_rb,3.1326e-01_rb/) kbo(:,51,16) = (/ & &1.3828e+02_rb,1.3089e+02_rb,1.1491e+02_rb,4.8666e+01_rb,3.1193e-01_rb/) kbo(:,52,16) = (/ & &1.4134e+02_rb,1.3361e+02_rb,1.2195e+02_rb,5.9393e+01_rb,3.1051e-01_rb/) kbo(:,53,16) = (/ & &1.4442e+02_rb,1.3646e+02_rb,1.2918e+02_rb,6.3097e+01_rb,3.0922e-01_rb/) kbo(:,54,16) = (/ & &1.4741e+02_rb,1.3916e+02_rb,1.3165e+02_rb,7.8318e+01_rb,3.0699e-01_rb/) kbo(:,55,16) = (/ & &1.5037e+02_rb,1.4182e+02_rb,1.3403e+02_rb,1.0259e+02_rb,2.6611e+01_rb/) kbo(:,56,16) = (/ & &1.5341e+02_rb,1.4449e+02_rb,1.3650e+02_rb,1.2291e+02_rb,5.4887e+01_rb/) kbo(:,57,16) = (/ & &1.5661e+02_rb,1.4731e+02_rb,1.3904e+02_rb,1.3152e+02_rb,7.9860e+01_rb/) kbo(:,58,16) = (/ & &1.5976e+02_rb,1.5007e+02_rb,1.4153e+02_rb,1.3378e+02_rb,1.0477e+02_rb/) kbo(:,59,16) = (/ & &1.6110e+02_rb,1.5124e+02_rb,1.4255e+02_rb,1.3470e+02_rb,1.2755e+02_rb/) ! The array KAO_Mxx contains the absorption coefficient for ! a minor species at the 16 chosen g-values for a reference pressure ! level below 100~ mb. The first index refers to temperature ! in 7.2 degree increments. For instance, JT = 1 refers to a ! temperature of 188.0, JT = 2 refers to 195.2, etc. The second index ! runs over the g-channel (1 to 16). kao_mco2(:, 1) = (/ & & 8.88964e-07_rb, 1.13087e-06_rb, 1.43861e-06_rb, 1.83010e-06_rb, 2.32811e-06_rb, & & 2.96165e-06_rb, 3.76760e-06_rb, 4.79286e-06_rb, 6.09712e-06_rb, 7.75630e-06_rb, & & 9.86699e-06_rb, 1.25521e-05_rb, 1.59678e-05_rb, 2.03130e-05_rb, 2.58407e-05_rb, & & 3.28727e-05_rb, 4.18182e-05_rb, 5.31980e-05_rb, 6.76745e-05_rb/) kao_mco2(:, 2) = (/ & & 1.10492e-05_rb, 1.35003e-05_rb, 1.64952e-05_rb, 2.01545e-05_rb, 2.46256e-05_rb, & & 3.00885e-05_rb, 3.67632e-05_rb, 4.49188e-05_rb, 5.48835e-05_rb, 6.70588e-05_rb, & & 8.19351e-05_rb, 1.00111e-04_rb, 1.22320e-04_rb, 1.49455e-04_rb, 1.82610e-04_rb, & & 2.23121e-04_rb, 2.72618e-04_rb, 3.33095e-04_rb, 4.06988e-04_rb/) kao_mco2(:, 3) = (/ & & 1.51034e-05_rb, 1.81249e-05_rb, 2.17508e-05_rb, 2.61020e-05_rb, 3.13238e-05_rb, & & 3.75901e-05_rb, 4.51101e-05_rb, 5.41344e-05_rb, 6.49640e-05_rb, 7.79601e-05_rb, & & 9.35562e-05_rb, 1.12272e-04_rb, 1.34732e-04_rb, 1.61686e-04_rb, 1.94031e-04_rb, & & 2.32847e-04_rb, 2.79429e-04_rb, 3.35329e-04_rb, 4.02411e-04_rb/) kao_mco2(:, 4) = (/ & & 1.57088e-05_rb, 1.89537e-05_rb, 2.28688e-05_rb, 2.75928e-05_rb, 3.32924e-05_rb, & & 4.01695e-05_rb, 4.84671e-05_rb, 5.84787e-05_rb, 7.05584e-05_rb, 8.51332e-05_rb, & & 1.02719e-04_rb, 1.23937e-04_rb, 1.49538e-04_rb, 1.80427e-04_rb, 2.17697e-04_rb, & & 2.62666e-04_rb, 3.16923e-04_rb, 3.82388e-04_rb, 4.61376e-04_rb/) kao_mco2(:, 5) = (/ & & 3.09299e-05_rb, 3.73196e-05_rb, 4.50294e-05_rb, 5.43320e-05_rb, 6.55563e-05_rb, & & 7.90995e-05_rb, 9.54405e-05_rb, 1.15157e-04_rb, 1.38948e-04_rb, 1.67652e-04_rb, & & 2.02288e-04_rb, 2.44078e-04_rb, 2.94501e-04_rb, 3.55342e-04_rb, 4.28751e-04_rb, & & 5.17327e-04_rb, 6.24200e-04_rb, 7.53153e-04_rb, 9.08745e-04_rb/) kao_mco2(:, 6) = (/ & & 1.98653e-05_rb, 2.38878e-05_rb, 2.87248e-05_rb, 3.45413e-05_rb, 4.15355e-05_rb, & & 4.99459e-05_rb, 6.00593e-05_rb, 7.22206e-05_rb, 8.68445e-05_rb, 1.04429e-04_rb, & & 1.25575e-04_rb, 1.51003e-04_rb, 1.81579e-04_rb, 2.18346e-04_rb, 2.62559e-04_rb, & & 3.15724e-04_rb, 3.79654e-04_rb, 4.56529e-04_rb, 5.48971e-04_rb/) kao_mco2(:, 7) = (/ & & 1.54276e-06_rb, 1.90144e-06_rb, 2.34351e-06_rb, 2.88836e-06_rb, 3.55989e-06_rb, & & 4.38754e-06_rb, 5.40761e-06_rb, 6.66485e-06_rb, 8.21439e-06_rb, 1.01242e-05_rb, & & 1.24780e-05_rb, 1.53790e-05_rb, 1.89546e-05_rb, 2.33614e-05_rb, 2.87928e-05_rb, & & 3.54869e-05_rb, 4.37374e-05_rb, 5.39060e-05_rb, 6.64388e-05_rb/) kao_mco2(:, 8) = (/ & & 1.66907e-06_rb, 2.11106e-06_rb, 2.67008e-06_rb, 3.37714e-06_rb, 4.27143e-06_rb, & & 5.40254e-06_rb, 6.83318e-06_rb, 8.64266e-06_rb, 1.09313e-05_rb, 1.38260e-05_rb, & & 1.74872e-05_rb, 2.21180e-05_rb, 2.79750e-05_rb, 3.53830e-05_rb, 4.47527e-05_rb, & & 5.66036e-05_rb, 7.15927e-05_rb, 9.05509e-05_rb, 1.14529e-04_rb/) kao_mco2(:, 9) = (/ & & 1.22817e-06_rb, 1.56416e-06_rb, 1.99206e-06_rb, 2.53703e-06_rb, 3.23108e-06_rb, & & 4.11501e-06_rb, 5.24074e-06_rb, 6.67445e-06_rb, 8.50037e-06_rb, 1.08258e-05_rb, & & 1.37874e-05_rb, 1.75592e-05_rb, 2.23629e-05_rb, 2.84807e-05_rb, 3.62721e-05_rb, & & 4.61950e-05_rb, 5.88325e-05_rb, 7.49272e-05_rb, 9.54249e-05_rb/) kao_mco2(:,10) = (/ & & 3.45943e-08_rb, 3.84726e-08_rb, 4.27856e-08_rb, 4.75821e-08_rb, 5.29164e-08_rb, & & 5.88487e-08_rb, 6.54460e-08_rb, 7.27829e-08_rb, 8.09423e-08_rb, 9.00164e-08_rb, & & 1.00108e-07_rb, 1.11331e-07_rb, 1.23811e-07_rb, 1.37691e-07_rb, 1.53128e-07_rb, & & 1.70294e-07_rb, 1.89385e-07_rb, 2.10616e-07_rb, 2.34228e-07_rb/) kao_mco2(:,11) = (/ & & 2.89971e-08_rb, 3.35110e-08_rb, 3.87275e-08_rb, 4.47561e-08_rb, 5.17230e-08_rb, & & 5.97745e-08_rb, 6.90794e-08_rb, 7.98327e-08_rb, 9.22599e-08_rb, 1.06622e-07_rb, & & 1.23219e-07_rb, 1.42400e-07_rb, 1.64567e-07_rb, 1.90184e-07_rb, 2.19789e-07_rb, & & 2.54003e-07_rb, 2.93542e-07_rb, 3.39237e-07_rb, 3.92044e-07_rb/) kao_mco2(:,12) = (/ & & 2.51330e-08_rb, 2.96783e-08_rb, 3.50457e-08_rb, 4.13837e-08_rb, 4.88679e-08_rb, & & 5.77056e-08_rb, 6.81416e-08_rb, 8.04650e-08_rb, 9.50171e-08_rb, 1.12201e-07_rb, & & 1.32492e-07_rb, 1.56454e-07_rb, 1.84748e-07_rb, 2.18160e-07_rb, 2.57614e-07_rb, & & 3.04203e-07_rb, 3.59218e-07_rb, 4.24182e-07_rb, 5.00895e-07_rb/) kao_mco2(:,13) = (/ & & 1.16966e-07_rb, 1.13960e-07_rb, 1.11032e-07_rb, 1.08179e-07_rb, 1.05400e-07_rb, & & 1.02691e-07_rb, 1.00053e-07_rb, 9.74820e-08_rb, 9.49772e-08_rb, 9.25368e-08_rb, & & 9.01591e-08_rb, 8.78425e-08_rb, 8.55854e-08_rb, 8.33863e-08_rb, 8.12437e-08_rb, & & 7.91562e-08_rb, 7.71223e-08_rb, 7.51407e-08_rb, 7.32100e-08_rb/) kao_mco2(:,14) = (/ & & 9.17853e-08_rb, 8.94322e-08_rb, 8.71395e-08_rb, 8.49055e-08_rb, 8.27289e-08_rb, & & 8.06080e-08_rb, 7.85415e-08_rb, 7.65279e-08_rb, 7.45660e-08_rb, 7.26544e-08_rb, & & 7.07918e-08_rb, 6.89770e-08_rb, 6.72086e-08_rb, 6.54856e-08_rb, 6.38068e-08_rb, & & 6.21710e-08_rb, 6.05772e-08_rb, 5.90242e-08_rb, 5.75110e-08_rb/) kao_mco2(:,15) = (/ & & 8.34607e-08_rb, 8.13236e-08_rb, 7.92413e-08_rb, 7.72122e-08_rb, 7.52351e-08_rb, & & 7.33087e-08_rb, 7.14315e-08_rb, 6.96025e-08_rb, 6.78202e-08_rb, 6.60837e-08_rb, & & 6.43915e-08_rb, 6.27427e-08_rb, 6.11361e-08_rb, 5.95707e-08_rb, 5.80453e-08_rb, & & 5.65590e-08_rb, 5.51108e-08_rb, 5.36996e-08_rb, 5.23246e-08_rb/) kao_mco2(:,16) = (/ & & 8.34607e-08_rb, 8.13236e-08_rb, 7.92413e-08_rb, 7.72122e-08_rb, 7.52351e-08_rb, & & 7.33087e-08_rb, 7.14315e-08_rb, 6.96025e-08_rb, 6.78202e-08_rb, 6.60837e-08_rb, & & 6.43915e-08_rb, 6.27427e-08_rb, 6.11361e-08_rb, 5.95707e-08_rb, 5.80453e-08_rb, & & 5.65590e-08_rb, 5.51108e-08_rb, 5.36996e-08_rb, 5.23246e-08_rb/) kao_mo3(:, 1) = (/ & & 1.18276e-01_rb, 1.18009e-01_rb, 1.17742e-01_rb, 1.17476e-01_rb, 1.17210e-01_rb, & & 1.16945e-01_rb, 1.16681e-01_rb, 1.16417e-01_rb, 1.16153e-01_rb, 1.15891e-01_rb, & & 1.15629e-01_rb, 1.15367e-01_rb, 1.15106e-01_rb, 1.14846e-01_rb, 1.14586e-01_rb, & & 1.14327e-01_rb, 1.14069e-01_rb, 1.13811e-01_rb, 1.13553e-01_rb/) kao_mo3(:, 2) = (/ & & 1.83777e-01_rb, 1.84268e-01_rb, 1.84761e-01_rb, 1.85255e-01_rb, 1.85751e-01_rb, & & 1.86248e-01_rb, 1.86746e-01_rb, 1.87245e-01_rb, 1.87746e-01_rb, 1.88248e-01_rb, & & 1.88752e-01_rb, 1.89257e-01_rb, 1.89763e-01_rb, 1.90270e-01_rb, 1.90779e-01_rb, & & 1.91290e-01_rb, 1.91801e-01_rb, 1.92314e-01_rb, 1.92829e-01_rb/) kao_mo3(:, 3) = (/ & & 2.33414e-01_rb, 2.34511e-01_rb, 2.35614e-01_rb, 2.36722e-01_rb, 2.37836e-01_rb, & & 2.38954e-01_rb, 2.40078e-01_rb, 2.41207e-01_rb, 2.42342e-01_rb, 2.43481e-01_rb, & & 2.44626e-01_rb, 2.45777e-01_rb, 2.46933e-01_rb, 2.48094e-01_rb, 2.49261e-01_rb, & & 2.50433e-01_rb, 2.51611e-01_rb, 2.52794e-01_rb, 2.53983e-01_rb/) kao_mo3(:, 4) = (/ & & 2.84906e-01_rb, 2.87358e-01_rb, 2.89832e-01_rb, 2.92328e-01_rb, 2.94844e-01_rb, & & 2.97383e-01_rb, 2.99943e-01_rb, 3.02525e-01_rb, 3.05130e-01_rb, 3.07757e-01_rb, & & 3.10406e-01_rb, 3.13078e-01_rb, 3.15774e-01_rb, 3.18492e-01_rb, 3.21234e-01_rb, & & 3.24000e-01_rb, 3.26789e-01_rb, 3.29603e-01_rb, 3.32440e-01_rb/) kao_mo3(:, 5) = (/ & & 3.40508e-01_rb, 3.44095e-01_rb, 3.47720e-01_rb, 3.51383e-01_rb, 3.55084e-01_rb, & & 3.58824e-01_rb, 3.62604e-01_rb, 3.66424e-01_rb, 3.70284e-01_rb, 3.74184e-01_rb, & & 3.78126e-01_rb, 3.82109e-01_rb, 3.86134e-01_rb, 3.90202e-01_rb, 3.94312e-01_rb, & & 3.98466e-01_rb, 4.02663e-01_rb, 4.06905e-01_rb, 4.11191e-01_rb/) kao_mo3(:, 6) = (/ & & 3.78368e-01_rb, 3.83690e-01_rb, 3.89086e-01_rb, 3.94558e-01_rb, 4.00107e-01_rb, & & 4.05735e-01_rb, 4.11441e-01_rb, 4.17227e-01_rb, 4.23095e-01_rb, 4.29046e-01_rb, & & 4.35080e-01_rb, 4.41199e-01_rb, 4.47404e-01_rb, 4.53697e-01_rb, 4.60078e-01_rb, & & 4.66548e-01_rb, 4.73110e-01_rb, 4.79764e-01_rb, 4.86511e-01_rb/) kao_mo3(:, 7) = (/ & & 4.51965e-01_rb, 4.58461e-01_rb, 4.65051e-01_rb, 4.71735e-01_rb, 4.78516e-01_rb, & & 4.85394e-01_rb, 4.92371e-01_rb, 4.99448e-01_rb, 5.06627e-01_rb, 5.13909e-01_rb, & & 5.21296e-01_rb, 5.28789e-01_rb, 5.36390e-01_rb, 5.44100e-01_rb, 5.51920e-01_rb, & & 5.59854e-01_rb, 5.67901e-01_rb, 5.76064e-01_rb, 5.84344e-01_rb/) kao_mo3(:, 8) = (/ & & 3.00557e-01_rb, 3.03974e-01_rb, 3.07430e-01_rb, 3.10925e-01_rb, 3.14460e-01_rb, & & 3.18035e-01_rb, 3.21651e-01_rb, 3.25307e-01_rb, 3.29006e-01_rb, 3.32746e-01_rb, & & 3.36529e-01_rb, 3.40355e-01_rb, 3.44224e-01_rb, 3.48137e-01_rb, 3.52095e-01_rb, & & 3.56098e-01_rb, 3.60146e-01_rb, 3.64241e-01_rb, 3.68381e-01_rb/) kao_mo3(:, 9) = (/ & & 2.10042e-01_rb, 2.12905e-01_rb, 2.15806e-01_rb, 2.18748e-01_rb, 2.21729e-01_rb, & & 2.24751e-01_rb, 2.27814e-01_rb, 2.30919e-01_rb, 2.34066e-01_rb, 2.37256e-01_rb, & & 2.40489e-01_rb, 2.43767e-01_rb, 2.47089e-01_rb, 2.50457e-01_rb, 2.53870e-01_rb, & & 2.57330e-01_rb, 2.60837e-01_rb, 2.64392e-01_rb, 2.67996e-01_rb/) kao_mo3(:,10) = (/ & & 2.09288e-01_rb, 2.11759e-01_rb, 2.14259e-01_rb, 2.16789e-01_rb, 2.19349e-01_rb, & & 2.21939e-01_rb, 2.24559e-01_rb, 2.27210e-01_rb, 2.29893e-01_rb, 2.32607e-01_rb, & & 2.35354e-01_rb, 2.38133e-01_rb, 2.40944e-01_rb, 2.43789e-01_rb, 2.46667e-01_rb, & & 2.49580e-01_rb, 2.52527e-01_rb, 2.55508e-01_rb, 2.58525e-01_rb/) kao_mo3(:,11) = (/ & & 2.28947e-01_rb, 2.30609e-01_rb, 2.32283e-01_rb, 2.33969e-01_rb, 2.35667e-01_rb, & & 2.37378e-01_rb, 2.39101e-01_rb, 2.40836e-01_rb, 2.42584e-01_rb, 2.44345e-01_rb, & & 2.46118e-01_rb, 2.47905e-01_rb, 2.49704e-01_rb, 2.51516e-01_rb, 2.53342e-01_rb, & & 2.55181e-01_rb, 2.57033e-01_rb, 2.58899e-01_rb, 2.60778e-01_rb/) kao_mo3(:,12) = (/ & & 2.57263e-01_rb, 2.58272e-01_rb, 2.59285e-01_rb, 2.60302e-01_rb, 2.61323e-01_rb, & & 2.62347e-01_rb, 2.63376e-01_rb, 2.64409e-01_rb, 2.65446e-01_rb, 2.66487e-01_rb, & & 2.67532e-01_rb, 2.68581e-01_rb, 2.69635e-01_rb, 2.70692e-01_rb, 2.71753e-01_rb, & & 2.72819e-01_rb, 2.73889e-01_rb, 2.74963e-01_rb, 2.76042e-01_rb/) kao_mo3(:,13) = (/ & & 2.43322e-01_rb, 2.45918e-01_rb, 2.48541e-01_rb, 2.51192e-01_rb, 2.53872e-01_rb, & & 2.56580e-01_rb, 2.59317e-01_rb, 2.62083e-01_rb, 2.64879e-01_rb, 2.67704e-01_rb, & & 2.70560e-01_rb, 2.73446e-01_rb, 2.76363e-01_rb, 2.79311e-01_rb, 2.82290e-01_rb, & & 2.85302e-01_rb, 2.88345e-01_rb, 2.91421e-01_rb, 2.94529e-01_rb/) kao_mo3(:,14) = (/ & & 2.10568e-01_rb, 2.16529e-01_rb, 2.22660e-01_rb, 2.28964e-01_rb, 2.35446e-01_rb, & & 2.42113e-01_rb, 2.48967e-01_rb, 2.56016e-01_rb, 2.63265e-01_rb, 2.70719e-01_rb, & & 2.78383e-01_rb, 2.86265e-01_rb, 2.94370e-01_rb, 3.02704e-01_rb, 3.11275e-01_rb, & & 3.20088e-01_rb, 3.29150e-01_rb, 3.38470e-01_rb, 3.48052e-01_rb/) kao_mo3(:,15) = (/ & & 2.60406e-02_rb, 2.78779e-02_rb, 2.98448e-02_rb, 3.19505e-02_rb, 3.42048e-02_rb, & & 3.66181e-02_rb, 3.92017e-02_rb, 4.19675e-02_rb, 4.49285e-02_rb, 4.80985e-02_rb, & & 5.14920e-02_rb, 5.51250e-02_rb, 5.90143e-02_rb, 6.31781e-02_rb, 6.76356e-02_rb, & & 7.24076e-02_rb, 7.75163e-02_rb, 8.29854e-02_rb, 8.88404e-02_rb/) kao_mo3(:,16) = (/ & & 2.31483e-02_rb, 2.46840e-02_rb, 2.63217e-02_rb, 2.80681e-02_rb, 2.99302e-02_rb, & & 3.19160e-02_rb, 3.40335e-02_rb, 3.62914e-02_rb, 3.86992e-02_rb, 4.12668e-02_rb, & & 4.40046e-02_rb, 4.69242e-02_rb, 5.00374e-02_rb, 5.33571e-02_rb, 5.68971e-02_rb, & & 6.06720e-02_rb, 6.46974e-02_rb, 6.89897e-02_rb, 7.35669e-02_rb/) kao_mn2o(:, 1) = (/ & & 3.02276e-02_rb, 3.10321e-02_rb, 3.18580e-02_rb, 3.27059e-02_rb, 3.35764e-02_rb, & & 3.44700e-02_rb, 3.53875e-02_rb, 3.63293e-02_rb, 3.72962e-02_rb, 3.82889e-02_rb, & & 3.93079e-02_rb, 4.03541e-02_rb, 4.14281e-02_rb, 4.25307e-02_rb, 4.36627e-02_rb, & & 4.48248e-02_rb, 4.60178e-02_rb, 4.72425e-02_rb, 4.84999e-02_rb/) kao_mn2o(:, 2) = (/ & & 6.10132e-02_rb, 6.17435e-02_rb, 6.24825e-02_rb, 6.32304e-02_rb, 6.39872e-02_rb, & & 6.47531e-02_rb, 6.55281e-02_rb, 6.63124e-02_rb, 6.71061e-02_rb, 6.79093e-02_rb, & & 6.87221e-02_rb, 6.95446e-02_rb, 7.03770e-02_rb, 7.12194e-02_rb, 7.20718e-02_rb, & & 7.29344e-02_rb, 7.38074e-02_rb, 7.46908e-02_rb, 7.55848e-02_rb/) kao_mn2o(:, 3) = (/ & & 1.04479e-01_rb, 1.05566e-01_rb, 1.06664e-01_rb, 1.07774e-01_rb, 1.08895e-01_rb, & & 1.10028e-01_rb, 1.11173e-01_rb, 1.12329e-01_rb, 1.13498e-01_rb, 1.14679e-01_rb, & & 1.15872e-01_rb, 1.17077e-01_rb, 1.18295e-01_rb, 1.19526e-01_rb, 1.20770e-01_rb, & & 1.22026e-01_rb, 1.23296e-01_rb, 1.24578e-01_rb, 1.25875e-01_rb/) kao_mn2o(:, 4) = (/ & & 2.07260e-01_rb, 2.08126e-01_rb, 2.08996e-01_rb, 2.09869e-01_rb, 2.10746e-01_rb, & & 2.11627e-01_rb, 2.12511e-01_rb, 2.13399e-01_rb, 2.14291e-01_rb, 2.15187e-01_rb, & & 2.16086e-01_rb, 2.16989e-01_rb, 2.17896e-01_rb, 2.18807e-01_rb, 2.19721e-01_rb, & & 2.20640e-01_rb, 2.21562e-01_rb, 2.22488e-01_rb, 2.23418e-01_rb/) kao_mn2o(:, 5) = (/ & & 3.71566e-01_rb, 3.71353e-01_rb, 3.71141e-01_rb, 3.70928e-01_rb, 3.70716e-01_rb, & & 3.70504e-01_rb, 3.70292e-01_rb, 3.70080e-01_rb, 3.69869e-01_rb, 3.69657e-01_rb, & & 3.69446e-01_rb, 3.69234e-01_rb, 3.69023e-01_rb, 3.68812e-01_rb, 3.68601e-01_rb, & & 3.68390e-01_rb, 3.68179e-01_rb, 3.67969e-01_rb, 3.67758e-01_rb/) kao_mn2o(:, 6) = (/ & & 5.28092e-01_rb, 5.27262e-01_rb, 5.26433e-01_rb, 5.25605e-01_rb, 5.24779e-01_rb, & & 5.23954e-01_rb, 5.23130e-01_rb, 5.22307e-01_rb, 5.21486e-01_rb, 5.20666e-01_rb, & & 5.19847e-01_rb, 5.19030e-01_rb, 5.18214e-01_rb, 5.17399e-01_rb, 5.16586e-01_rb, & & 5.15773e-01_rb, 5.14962e-01_rb, 5.14153e-01_rb, 5.13344e-01_rb/) kao_mn2o(:, 7) = (/ & & 3.88140e-01_rb, 3.87956e-01_rb, 3.87773e-01_rb, 3.87590e-01_rb, 3.87407e-01_rb, & & 3.87224e-01_rb, 3.87041e-01_rb, 3.86858e-01_rb, 3.86675e-01_rb, 3.86492e-01_rb, & & 3.86310e-01_rb, 3.86127e-01_rb, 3.85945e-01_rb, 3.85763e-01_rb, 3.85580e-01_rb, & & 3.85398e-01_rb, 3.85216e-01_rb, 3.85034e-01_rb, 3.84852e-01_rb/) kao_mn2o(:, 8) = (/ & & 3.12991e-01_rb, 3.12246e-01_rb, 3.11504e-01_rb, 3.10763e-01_rb, 3.10024e-01_rb, & & 3.09287e-01_rb, 3.08552e-01_rb, 3.07818e-01_rb, 3.07086e-01_rb, 3.06356e-01_rb, & & 3.05628e-01_rb, 3.04901e-01_rb, 3.04176e-01_rb, 3.03453e-01_rb, 3.02732e-01_rb, & & 3.02012e-01_rb, 3.01294e-01_rb, 3.00577e-01_rb, 2.99863e-01_rb/) kao_mn2o(:, 9) = (/ & & 4.11761e-01_rb, 4.11309e-01_rb, 4.10858e-01_rb, 4.10407e-01_rb, 4.09957e-01_rb, & & 4.09507e-01_rb, 4.09057e-01_rb, 4.08608e-01_rb, 4.08160e-01_rb, 4.07712e-01_rb, & & 4.07265e-01_rb, 4.06818e-01_rb, 4.06371e-01_rb, 4.05925e-01_rb, 4.05480e-01_rb, & & 4.05035e-01_rb, 4.04590e-01_rb, 4.04146e-01_rb, 4.03703e-01_rb/) kao_mn2o(:,10) = (/ & & 2.84648e-01_rb, 2.87025e-01_rb, 2.89421e-01_rb, 2.91838e-01_rb, 2.94275e-01_rb, & & 2.96732e-01_rb, 2.99210e-01_rb, 3.01708e-01_rb, 3.04227e-01_rb, 3.06768e-01_rb, & & 3.09329e-01_rb, 3.11912e-01_rb, 3.14517e-01_rb, 3.17143e-01_rb, 3.19791e-01_rb, & & 3.22461e-01_rb, 3.25154e-01_rb, 3.27869e-01_rb, 3.30606e-01_rb/) kao_mn2o(:,11) = (/ & & 2.75090e-01_rb, 2.79370e-01_rb, 2.83716e-01_rb, 2.88129e-01_rb, 2.92611e-01_rb, & & 2.97163e-01_rb, 3.01786e-01_rb, 3.06480e-01_rb, 3.11248e-01_rb, 3.16090e-01_rb, & & 3.21007e-01_rb, 3.26001e-01_rb, 3.31072e-01_rb, 3.36222e-01_rb, 3.41452e-01_rb, & & 3.46764e-01_rb, 3.52158e-01_rb, 3.57636e-01_rb, 3.63200e-01_rb/) kao_mn2o(:,12) = (/ & & 1.67753e-01_rb, 1.71386e-01_rb, 1.75098e-01_rb, 1.78890e-01_rb, 1.82765e-01_rb, & & 1.86723e-01_rb, 1.90767e-01_rb, 1.94899e-01_rb, 1.99120e-01_rb, 2.03433e-01_rb, & & 2.07839e-01_rb, 2.12340e-01_rb, 2.16939e-01_rb, 2.21638e-01_rb, 2.26438e-01_rb, & & 2.31342e-01_rb, 2.36353e-01_rb, 2.41472e-01_rb, 2.46701e-01_rb/) kao_mn2o(:,13) = (/ & & 1.40543e-01_rb, 1.42049e-01_rb, 1.43571e-01_rb, 1.45109e-01_rb, 1.46663e-01_rb, & & 1.48234e-01_rb, 1.49822e-01_rb, 1.51427e-01_rb, 1.53049e-01_rb, 1.54689e-01_rb, & & 1.56346e-01_rb, 1.58021e-01_rb, 1.59713e-01_rb, 1.61424e-01_rb, 1.63153e-01_rb, & & 1.64901e-01_rb, 1.66668e-01_rb, 1.68453e-01_rb, 1.70258e-01_rb/) kao_mn2o(:,14) = (/ & & 1.51530e-01_rb, 1.50944e-01_rb, 1.50360e-01_rb, 1.49779e-01_rb, 1.49199e-01_rb, & & 1.48622e-01_rb, 1.48047e-01_rb, 1.47474e-01_rb, 1.46903e-01_rb, 1.46335e-01_rb, & & 1.45769e-01_rb, 1.45205e-01_rb, 1.44643e-01_rb, 1.44083e-01_rb, 1.43526e-01_rb, & & 1.42971e-01_rb, 1.42418e-01_rb, 1.41867e-01_rb, 1.41318e-01_rb/) kao_mn2o(:,15) = (/ & & 2.20492e-01_rb, 2.16479e-01_rb, 2.12539e-01_rb, 2.08671e-01_rb, 2.04873e-01_rb, & & 2.01145e-01_rb, 1.97484e-01_rb, 1.93890e-01_rb, 1.90361e-01_rb, 1.86897e-01_rb, & & 1.83495e-01_rb, 1.80156e-01_rb, 1.76877e-01_rb, 1.73658e-01_rb, 1.70497e-01_rb, & & 1.67394e-01_rb, 1.64348e-01_rb, 1.61356e-01_rb, 1.58420e-01_rb/) kao_mn2o(:,16) = (/ & & 2.19848e-01_rb, 2.15847e-01_rb, 2.11919e-01_rb, 2.08062e-01_rb, 2.04275e-01_rb, & & 2.00558e-01_rb, 1.96908e-01_rb, 1.93324e-01_rb, 1.89806e-01_rb, 1.86351e-01_rb, & & 1.82960e-01_rb, 1.79630e-01_rb, 1.76361e-01_rb, 1.73151e-01_rb, 1.70000e-01_rb, & & 1.66906e-01_rb, 1.63868e-01_rb, 1.60886e-01_rb, 1.57958e-01_rb/) ! The array KBO_Mxx contains the absorption coefficient for ! a minor species at the 16 chosen g-values for a reference pressure ! level above 100~ mb. The first index refers to temperature ! in 7.2 degree increments. For instance, JT = 1 refers to a ! temperature of 188.0, JT = 2 refers to 195.2, etc. The second index ! runs over the g-channel (1 to 16). kbo_mco2(:, 1) = (/ & & 4.74280e-08_rb, 6.62724e-08_rb, 9.26042e-08_rb, 1.29398e-07_rb, 1.80812e-07_rb, & & 2.52653e-07_rb, 3.53039e-07_rb, 4.93310e-07_rb, 6.89316e-07_rb, 9.63198e-07_rb, & & 1.34590e-06_rb, 1.88067e-06_rb, 2.62790e-06_rb, 3.67204e-06_rb, 5.13104e-06_rb, & & 7.16974e-06_rb, 1.00185e-05_rb, 1.39991e-05_rb, 1.95613e-05_rb/) kbo_mco2(:, 2) = (/ & & 1.14872e-07_rb, 1.63356e-07_rb, 2.32304e-07_rb, 3.30352e-07_rb, 4.69783e-07_rb, & & 6.68064e-07_rb, 9.50033e-07_rb, 1.35101e-06_rb, 1.92123e-06_rb, 2.73213e-06_rb, & & 3.88527e-06_rb, 5.52513e-06_rb, 7.85711e-06_rb, 1.11734e-05_rb, 1.58893e-05_rb, & & 2.25957e-05_rb, 3.21326e-05_rb, 4.56948e-05_rb, 6.49811e-05_rb/) kbo_mco2(:, 3) = (/ & & 3.30676e-07_rb, 4.76313e-07_rb, 6.86094e-07_rb, 9.88267e-07_rb, 1.42353e-06_rb, & & 2.05048e-06_rb, 2.95356e-06_rb, 4.25439e-06_rb, 6.12813e-06_rb, 8.82711e-06_rb, & & 1.27148e-05_rb, 1.83147e-05_rb, 2.63810e-05_rb, 3.79998e-05_rb, 5.47359e-05_rb, & & 7.88430e-05_rb, 1.13568e-04_rb, 1.63585e-04_rb, 2.35632e-04_rb/) kbo_mco2(:, 4) = (/ & & 6.58642e-07_rb, 9.52761e-07_rb, 1.37822e-06_rb, 1.99368e-06_rb, 2.88396e-06_rb, & & 4.17181e-06_rb, 6.03475e-06_rb, 8.72960e-06_rb, 1.26279e-05_rb, 1.82669e-05_rb, & & 2.64241e-05_rb, 3.82239e-05_rb, 5.52929e-05_rb, 7.99844e-05_rb, 1.15702e-04_rb, & & 1.67369e-04_rb, 2.42109e-04_rb, 3.50223e-04_rb, 5.06617e-04_rb/) kbo_mco2(:, 5) = (/ & & 1.26418e-06_rb, 1.82095e-06_rb, 2.62292e-06_rb, 3.77810e-06_rb, 5.44204e-06_rb, & & 7.83881e-06_rb, 1.12911e-05_rb, 1.62640e-05_rb, 2.34269e-05_rb, 3.37445e-05_rb, & & 4.86061e-05_rb, 7.00131e-05_rb, 1.00848e-04_rb, 1.45263e-04_rb, 2.09239e-04_rb, & & 3.01392e-04_rb, 4.34131e-04_rb, 6.25329e-04_rb, 9.00733e-04_rb/) kbo_mco2(:, 6) = (/ & & 2.38529e-06_rb, 3.43110e-06_rb, 4.93545e-06_rb, 7.09937e-06_rb, 1.02120e-05_rb, & & 1.46895e-05_rb, 2.11300e-05_rb, 3.03943e-05_rb, 4.37205e-05_rb, 6.28894e-05_rb, & & 9.04630e-05_rb, 1.30126e-04_rb, 1.87179e-04_rb, 2.69247e-04_rb, 3.87296e-04_rb, & & 5.57104e-04_rb, 8.01364e-04_rb, 1.15272e-03_rb, 1.65812e-03_rb/) kbo_mco2(:, 7) = (/ & & 5.41398e-06_rb, 7.54295e-06_rb, 1.05091e-05_rb, 1.46417e-05_rb, 2.03993e-05_rb, & & 2.84211e-05_rb, 3.95973e-05_rb, 5.51683e-05_rb, 7.68626e-05_rb, 1.07088e-04_rb, & & 1.49199e-04_rb, 2.07869e-04_rb, 2.89610e-04_rb, 4.03496e-04_rb, 5.62165e-04_rb, & & 7.83229e-04_rb, 1.09122e-03_rb, 1.52033e-03_rb, 2.11818e-03_rb/) kbo_mco2(:, 8) = (/ & & 1.09995e-05_rb, 1.54018e-05_rb, 2.15660e-05_rb, 3.01973e-05_rb, 4.22831e-05_rb, & & 5.92059e-05_rb, 8.29017e-05_rb, 1.16081e-04_rb, 1.62540e-04_rb, 2.27592e-04_rb, & & 3.18681e-04_rb, 4.46226e-04_rb, 6.24817e-04_rb, 8.74886e-04_rb, 1.22504e-03_rb, & & 1.71533e-03_rb, 2.40185e-03_rb, 3.36313e-03_rb, 4.70915e-03_rb/) kbo_mco2(:, 9) = (/ & & 3.29051e-05_rb, 4.59996e-05_rb, 6.43050e-05_rb, 8.98950e-05_rb, 1.25668e-04_rb, & & 1.75678e-04_rb, 2.45588e-04_rb, 3.43319e-04_rb, 4.79942e-04_rb, 6.70933e-04_rb, & & 9.37930e-04_rb, 1.31118e-03_rb, 1.83295e-03_rb, 2.56237e-03_rb, 3.58206e-03_rb, & & 5.00753e-03_rb, 7.00027e-03_rb, 9.78599e-03_rb, 1.36803e-02_rb/) kbo_mco2(:,10) = (/ & & 1.95126e-05_rb, 2.65944e-05_rb, 3.62463e-05_rb, 4.94013e-05_rb, 6.73305e-05_rb, & & 9.17669e-05_rb, 1.25072e-04_rb, 1.70465e-04_rb, 2.32332e-04_rb, 3.16652e-04_rb, & & 4.31575e-04_rb, 5.88208e-04_rb, 8.01687e-04_rb, 1.09264e-03_rb, 1.48920e-03_rb, & & 2.02968e-03_rb, 2.76631e-03_rb, 3.77029e-03_rb, 5.13865e-03_rb/) kbo_mco2(:,11) = (/ & & 8.67271e-05_rb, 1.19228e-04_rb, 1.63908e-04_rb, 2.25332e-04_rb, 3.09774e-04_rb, & & 4.25860e-04_rb, 5.85450e-04_rb, 8.04845e-04_rb, 1.10646e-03_rb, 1.52110e-03_rb, & & 2.09112e-03_rb, 2.87476e-03_rb, 3.95207e-03_rb, 5.43309e-03_rb, 7.46911e-03_rb, & & 1.02681e-02_rb, 1.41161e-02_rb, 1.94060e-02_rb, 2.66783e-02_rb/) kbo_mco2(:,12) = (/ & & 3.79194e-07_rb, 5.51419e-07_rb, 8.01866e-07_rb, 1.16606e-06_rb, 1.69567e-06_rb, & & 2.46582e-06_rb, 3.58577e-06_rb, 5.21438e-06_rb, 7.58268e-06_rb, 1.10266e-05_rb, & & 1.60348e-05_rb, 2.33176e-05_rb, 3.39081e-05_rb, 4.93087e-05_rb, 7.17040e-05_rb, & & 1.04271e-04_rb, 1.51630e-04_rb, 2.20498e-04_rb, 3.20644e-04_rb/) kbo_mco2(:,13) = (/ & & 1.72555e-07_rb, 2.29952e-07_rb, 3.06441e-07_rb, 4.08373e-07_rb, 5.44209e-07_rb, & & 7.25229e-07_rb, 9.66461e-07_rb, 1.28793e-06_rb, 1.71634e-06_rb, 2.28724e-06_rb, & & 3.04805e-06_rb, 4.06192e-06_rb, 5.41303e-06_rb, 7.21356e-06_rb, 9.61299e-06_rb, & & 1.28106e-05_rb, 1.70717e-05_rb, 2.27503e-05_rb, 3.03177e-05_rb/) kbo_mco2(:,14) = (/ & & 7.42245e-09_rb, 7.17780e-09_rb, 6.94122e-09_rb, 6.71243e-09_rb, 6.49118e-09_rb, & & 6.27723e-09_rb, 6.07032e-09_rb, 5.87024e-09_rb, 5.67675e-09_rb, 5.48964e-09_rb, & & 5.30870e-09_rb, 5.13372e-09_rb, 4.96451e-09_rb, 4.80087e-09_rb, 4.64263e-09_rb, & & 4.48961e-09_rb, 4.34163e-09_rb, 4.19852e-09_rb, 4.06014e-09_rb/) kbo_mco2(:,15) = (/ & & 7.41847e-09_rb, 7.17332e-09_rb, 6.93627e-09_rb, 6.70705e-09_rb, 6.48541e-09_rb, & & 6.27109e-09_rb, 6.06386e-09_rb, 5.86347e-09_rb, 5.66970e-09_rb, 5.48234e-09_rb, & & 5.30117e-09_rb, 5.12599e-09_rb, 4.95659e-09_rb, 4.79280e-09_rb, 4.63441e-09_rb, & & 4.48126e-09_rb, 4.33317e-09_rb, 4.18998e-09_rb, 4.05152e-09_rb/) kbo_mco2(:,16) = (/ & & 7.42855e-09_rb, 7.18278e-09_rb, 6.94513e-09_rb, 6.71535e-09_rb, 6.49317e-09_rb, & & 6.27834e-09_rb, 6.07062e-09_rb, 5.86977e-09_rb, 5.67557e-09_rb, 5.48779e-09_rb, & & 5.30622e-09_rb, 5.13066e-09_rb, 4.96091e-09_rb, 4.79678e-09_rb, 4.63808e-09_rb, & & 4.48462e-09_rb, 4.33625e-09_rb, 4.19278e-09_rb, 4.05406e-09_rb/) kbo_mn2o(:, 1) = (/ & & 2.49055e-04_rb, 2.53574e-04_rb, 2.58175e-04_rb, 2.62860e-04_rb, 2.67629e-04_rb, & & 2.72485e-04_rb, 2.77429e-04_rb, 2.82463e-04_rb, 2.87588e-04_rb, 2.92806e-04_rb, & & 2.98119e-04_rb, 3.03528e-04_rb, 3.09036e-04_rb, 3.14643e-04_rb, 3.20352e-04_rb, & & 3.26165e-04_rb, 3.32083e-04_rb, 3.38109e-04_rb, 3.44243e-04_rb/) kbo_mn2o(:, 2) = (/ & & 3.79251e-04_rb, 4.04353e-04_rb, 4.31117e-04_rb, 4.59652e-04_rb, 4.90075e-04_rb, & & 5.22513e-04_rb, 5.57097e-04_rb, 5.93970e-04_rb, 6.33284e-04_rb, 6.75200e-04_rb, & & 7.19890e-04_rb, 7.67539e-04_rb, 8.18340e-04_rb, 8.72505e-04_rb, 9.30255e-04_rb, & & 9.91827e-04_rb, 1.05747e-03_rb, 1.12747e-03_rb, 1.20209e-03_rb/) kbo_mn2o(:, 3) = (/ & & 7.61140e-04_rb, 8.36483e-04_rb, 9.19284e-04_rb, 1.01028e-03_rb, 1.11029e-03_rb, & & 1.22019e-03_rb, 1.34098e-03_rb, 1.47372e-03_rb, 1.61959e-03_rb, 1.77991e-03_rb, & & 1.95610e-03_rb, 2.14973e-03_rb, 2.36253e-03_rb, 2.59639e-03_rb, 2.85340e-03_rb, & & 3.13585e-03_rb, 3.44626e-03_rb, 3.78740e-03_rb, 4.16230e-03_rb/) kbo_mn2o(:, 4) = (/ & & 2.01074e-03_rb, 2.26915e-03_rb, 2.56077e-03_rb, 2.88987e-03_rb, 3.26126e-03_rb, & & 3.68038e-03_rb, 4.15337e-03_rb, 4.68714e-03_rb, 5.28951e-03_rb, 5.96929e-03_rb, & & 6.73643e-03_rb, 7.60217e-03_rb, 8.57916e-03_rb, 9.68172e-03_rb, 1.09260e-02_rb, & & 1.23301e-02_rb, 1.39147e-02_rb, 1.57030e-02_rb, 1.77211e-02_rb/) kbo_mn2o(:, 5) = (/ & & 7.43302e-03_rb, 8.32582e-03_rb, 9.32585e-03_rb, 1.04460e-02_rb, 1.17007e-02_rb, & & 1.31061e-02_rb, 1.46803e-02_rb, 1.64436e-02_rb, 1.84186e-02_rb, 2.06309e-02_rb, & & 2.31090e-02_rb, 2.58846e-02_rb, 2.89937e-02_rb, 3.24762e-02_rb, 3.63769e-02_rb, & & 4.07463e-02_rb, 4.56404e-02_rb, 5.11223e-02_rb, 5.72627e-02_rb/) kbo_mn2o(:, 6) = (/ & & 2.71911e-02_rb, 2.94258e-02_rb, 3.18441e-02_rb, 3.44612e-02_rb, 3.72933e-02_rb, & & 4.03582e-02_rb, 4.36750e-02_rb, 4.72644e-02_rb, 5.11487e-02_rb, 5.53523e-02_rb, & & 5.99014e-02_rb, 6.48243e-02_rb, 7.01518e-02_rb, 7.59172e-02_rb, 8.21563e-02_rb, & & 8.89082e-02_rb, 9.62150e-02_rb, 1.04122e-01_rb, 1.12679e-01_rb/) kbo_mn2o(:, 7) = (/ & & 1.63331e-01_rb, 1.80469e-01_rb, 1.99406e-01_rb, 2.20330e-01_rb, 2.43449e-01_rb, & & 2.68995e-01_rb, 2.97221e-01_rb, 3.28408e-01_rb, 3.62869e-01_rb, 4.00945e-01_rb, & & 4.43017e-01_rb, 4.89503e-01_rb, 5.40867e-01_rb, 5.97621e-01_rb, 6.60330e-01_rb, & & 7.29619e-01_rb, 8.06179e-01_rb, 8.90772e-01_rb, 9.84242e-01_rb/) kbo_mn2o(:, 8) = (/ & & 1.32648e+00_rb, 1.33515e+00_rb, 1.34387e+00_rb, 1.35265e+00_rb, 1.36149e+00_rb, & & 1.37038e+00_rb, 1.37933e+00_rb, 1.38835e+00_rb, 1.39742e+00_rb, 1.40655e+00_rb, & & 1.41574e+00_rb, 1.42499e+00_rb, 1.43429e+00_rb, 1.44367e+00_rb, 1.45310e+00_rb, & & 1.46259e+00_rb, 1.47215e+00_rb, 1.48176e+00_rb, 1.49144e+00_rb/) kbo_mn2o(:, 9) = (/ & & 3.12620e+00_rb, 3.03118e+00_rb, 2.93905e+00_rb, 2.84972e+00_rb, 2.76310e+00_rb, & & 2.67911e+00_rb, 2.59768e+00_rb, 2.51873e+00_rb, 2.44217e+00_rb, 2.36794e+00_rb, & & 2.29596e+00_rb, 2.22618e+00_rb, 2.15851e+00_rb, 2.09290e+00_rb, 2.02929e+00_rb, & & 1.96761e+00_rb, 1.90780e+00_rb, 1.84982e+00_rb, 1.79359e+00_rb/) kbo_mn2o(:,10) = (/ & & 1.60677e-02_rb, 1.82485e-02_rb, 2.07254e-02_rb, 2.35384e-02_rb, 2.67332e-02_rb, & & 3.03617e-02_rb, 3.44827e-02_rb, 3.91629e-02_rb, 4.44785e-02_rb, 5.05154e-02_rb, & & 5.73718e-02_rb, 6.51589e-02_rb, 7.40027e-02_rb, 8.40470e-02_rb, 9.54546e-02_rb, & & 1.08411e-01_rb, 1.23125e-01_rb, 1.39836e-01_rb, 1.58816e-01_rb/) kbo_mn2o(:,11) = (/ & & 1.55287e-02_rb, 1.78265e-02_rb, 2.04642e-02_rb, 2.34922e-02_rb, 2.69683e-02_rb, & & 3.09588e-02_rb, 3.55397e-02_rb, 4.07984e-02_rb, 4.68352e-02_rb, 5.37653e-02_rb, & & 6.17208e-02_rb, 7.08535e-02_rb, 8.13375e-02_rb, 9.33728e-02_rb, 1.07189e-01_rb, & & 1.23049e-01_rb, 1.41257e-01_rb, 1.62158e-01_rb, 1.86152e-01_rb/) kbo_mn2o(:,12) = (/ & & 7.13719e-03_rb, 8.18879e-03_rb, 9.39535e-03_rb, 1.07797e-02_rb, 1.23680e-02_rb, & & 1.41903e-02_rb, 1.62811e-02_rb, 1.86800e-02_rb, 2.14324e-02_rb, 2.45902e-02_rb, & & 2.82134e-02_rb, 3.23704e-02_rb, 3.71400e-02_rb, 4.26122e-02_rb, 4.88908e-02_rb, & & 5.60945e-02_rb, 6.43596e-02_rb, 7.38424e-02_rb, 8.47224e-02_rb/) kbo_mn2o(:,13) = (/ & & 9.28813e-03_rb, 1.06108e-02_rb, 1.21218e-02_rb, 1.38480e-02_rb, 1.58199e-02_rb, & & 1.80727e-02_rb, 2.06463e-02_rb, 2.35864e-02_rb, 2.69452e-02_rb, 3.07822e-02_rb, & & 3.51657e-02_rb, 4.01734e-02_rb, 4.58941e-02_rb, 5.24296e-02_rb, 5.98956e-02_rb, & & 6.84249e-02_rb, 7.81688e-02_rb, 8.93002e-02_rb, 1.02017e-01_rb/) kbo_mn2o(:,14) = (/ & & 2.17205e-02_rb, 2.51661e-02_rb, 2.91581e-02_rb, 3.37835e-02_rb, 3.91425e-02_rb, & & 4.53517e-02_rb, 5.25458e-02_rb, 6.08811e-02_rb, 7.05387e-02_rb, 8.17282e-02_rb, & & 9.46927e-02_rb, 1.09714e-01_rb, 1.27118e-01_rb, 1.47282e-01_rb, 1.70645e-01_rb, & & 1.97715e-01_rb, 2.29078e-01_rb, 2.65417e-01_rb, 3.07520e-01_rb/) kbo_mn2o(:,15) = (/ & & 4.89156e-02_rb, 5.70504e-02_rb, 6.65379e-02_rb, 7.76033e-02_rb, 9.05089e-02_rb, & & 1.05561e-01_rb, 1.23116e-01_rb, 1.43590e-01_rb, 1.67469e-01_rb, 1.95320e-01_rb, & & 2.27802e-01_rb, 2.65686e-01_rb, 3.09869e-01_rb, 3.61401e-01_rb, 4.21503e-01_rb, & & 4.91600e-01_rb, 5.73354e-01_rb, 6.68703e-01_rb, 7.79910e-01_rb/) kbo_mn2o(:,16) = (/ & & 1.13156e-02_rb, 1.46199e-02_rb, 1.88891e-02_rb, 2.44050e-02_rb, 3.15316e-02_rb, & & 4.07393e-02_rb, 5.26358e-02_rb, 6.80061e-02_rb, 8.78649e-02_rb, 1.13523e-01_rb, & & 1.46673e-01_rb, 1.89504e-01_rb, 2.44841e-01_rb, 3.16338e-01_rb, 4.08713e-01_rb, & & 5.28064e-01_rb, 6.82266e-01_rb, 8.81496e-01_rb, 1.13891e+00_rb/) ! The array FORREFO contains the coefficient of the water vapor ! foreign-continuum (including the energy term). The first ! index refers to reference temperature (296,260,224,260) and ! pressure (970,475,219,3 mbar) levels. The second index ! runs over the g-channel (1 to 16). forrefo(1,:) = (/ & &4.8166e-07_rb,3.7500e-07_rb,4.8978e-07_rb,5.9624e-07_rb,6.3742e-07_rb,7.5551e-07_rb, & &7.7706e-07_rb,6.8681e-07_rb,7.5212e-07_rb,8.0956e-07_rb,7.8117e-07_rb,7.4835e-07_rb, & &9.4118e-07_rb,1.2585e-06_rb,1.4976e-06_rb,1.4976e-06_rb/) forrefo(2,:) = (/ & &3.1320e-07_rb,4.0764e-07_rb,4.7468e-07_rb,5.9976e-07_rb,7.3324e-07_rb,8.1488e-07_rb, & &7.6442e-07_rb,8.2007e-07_rb,7.7721e-07_rb,7.6377e-07_rb,8.0327e-07_rb,7.1881e-07_rb, & &8.2148e-07_rb,1.0203e-06_rb,1.5033e-06_rb,1.5032e-06_rb/) forrefo(3,:) = (/ & &4.1831e-07_rb,5.5043e-07_rb,5.7783e-07_rb,6.1294e-07_rb,6.3396e-07_rb,6.2292e-07_rb, & &6.1719e-07_rb,6.4183e-07_rb,7.6180e-07_rb,9.5477e-07_rb,9.5901e-07_rb,1.0207e-06_rb, & &1.0387e-06_rb,1.1305e-06_rb,1.3602e-06_rb,1.5063e-06_rb/) forrefo(4,:) = (/ & &8.5878e-07_rb,6.0921e-07_rb,5.5773e-07_rb,5.3374e-07_rb,5.0495e-07_rb,4.9844e-07_rb, & &5.1536e-07_rb,5.2908e-07_rb,4.7977e-07_rb,5.3177e-07_rb,4.9266e-07_rb,4.5403e-07_rb, & &3.9695e-07_rb,3.4792e-07_rb,3.4912e-07_rb,3.4102e-07_rb/) ! The array SELFREFO contains the coefficient of the water vapor ! self-continuum (including the energy term). The first index ! refers to temperature in 7.2 degree increments. For instance, ! JT = 1 refers to a temperature of 245.6, JT = 2 refers to 252.8, ! etc. The second index runs over the g-channel (1 to 16). selfrefo(:, 1) = (/ & & 3.16029e-02_rb, 2.74633e-02_rb, 2.38660e-02_rb, 2.07399e-02_rb, 1.80232e-02_rb, & & 1.56624e-02_rb, 1.36108e-02_rb, 1.18280e-02_rb, 1.02787e-02_rb, 8.93231e-03_rb/) selfrefo(:, 2) = (/ & & 3.10422e-02_rb, 2.71312e-02_rb, 2.37130e-02_rb, 2.07254e-02_rb, 1.81142e-02_rb, & & 1.58320e-02_rb, 1.38374e-02_rb, 1.20940e-02_rb, 1.05703e-02_rb, 9.23854e-03_rb/) selfrefo(:, 3) = (/ & & 3.08657e-02_rb, 2.69431e-02_rb, 2.35190e-02_rb, 2.05301e-02_rb, 1.79210e-02_rb, & & 1.56435e-02_rb, 1.36554e-02_rb, 1.19200e-02_rb, 1.04051e-02_rb, 9.08279e-03_rb/) selfrefo(:, 4) = (/ & & 3.02668e-02_rb, 2.64686e-02_rb, 2.31470e-02_rb, 2.02422e-02_rb, 1.77020e-02_rb, & & 1.54806e-02_rb, 1.35379e-02_rb, 1.18390e-02_rb, 1.03533e-02_rb, 9.05406e-03_rb/) selfrefo(:, 5) = (/ & & 2.98317e-02_rb, 2.61491e-02_rb, 2.29210e-02_rb, 2.00914e-02_rb, 1.76112e-02_rb, & & 1.54371e-02_rb, 1.35314e-02_rb, 1.18610e-02_rb, 1.03968e-02_rb, 9.11332e-03_rb/) selfrefo(:, 6) = (/ & & 2.95545e-02_rb, 2.59083e-02_rb, 2.27120e-02_rb, 1.99100e-02_rb, 1.74537e-02_rb, & & 1.53004e-02_rb, 1.34128e-02_rb, 1.17580e-02_rb, 1.03074e-02_rb, 9.03576e-03_rb/) selfrefo(:, 7) = (/ & & 2.97352e-02_rb, 2.60320e-02_rb, 2.27900e-02_rb, 1.99517e-02_rb, 1.74670e-02_rb, & & 1.52916e-02_rb, 1.33872e-02_rb, 1.17200e-02_rb, 1.02604e-02_rb, 8.98258e-03_rb/) selfrefo(:, 8) = (/ & & 2.96543e-02_rb, 2.59760e-02_rb, 2.27540e-02_rb, 1.99316e-02_rb, 1.74593e-02_rb, & & 1.52937e-02_rb, 1.33967e-02_rb, 1.17350e-02_rb, 1.02794e-02_rb, 9.00437e-03_rb/) selfrefo(:, 9) = (/ & & 2.97998e-02_rb, 2.60786e-02_rb, 2.28220e-02_rb, 1.99721e-02_rb, 1.74781e-02_rb, & & 1.52955e-02_rb, 1.33855e-02_rb, 1.17140e-02_rb, 1.02512e-02_rb, 8.97110e-03_rb/) selfrefo(:,10) = (/ & & 2.98826e-02_rb, 2.61096e-02_rb, 2.28130e-02_rb, 1.99326e-02_rb, 1.74159e-02_rb, & & 1.52170e-02_rb, 1.32957e-02_rb, 1.16170e-02_rb, 1.01502e-02_rb, 8.86867e-03_rb/) selfrefo(:,11) = (/ & & 2.94710e-02_rb, 2.58147e-02_rb, 2.26120e-02_rb, 1.98066e-02_rb, 1.73493e-02_rb, & & 1.51969e-02_rb, 1.33115e-02_rb, 1.16600e-02_rb, 1.02134e-02_rb, 8.94628e-03_rb/) selfrefo(:,12) = (/ & & 2.96297e-02_rb, 2.59544e-02_rb, 2.27350e-02_rb, 1.99149e-02_rb, 1.74446e-02_rb, & & 1.52808e-02_rb, 1.33853e-02_rb, 1.17250e-02_rb, 1.02706e-02_rb, 8.99663e-03_rb/) selfrefo(:,13) = (/ & & 2.96272e-02_rb, 2.59013e-02_rb, 2.26440e-02_rb, 1.97963e-02_rb, 1.73067e-02_rb, & & 1.51302e-02_rb, 1.32275e-02_rb, 1.15640e-02_rb, 1.01097e-02_rb, 8.83833e-03_rb/) selfrefo(:,14) = (/ & & 2.89906e-02_rb, 2.53971e-02_rb, 2.22490e-02_rb, 1.94911e-02_rb, 1.70751e-02_rb, & & 1.49585e-02_rb, 1.31044e-02_rb, 1.14800e-02_rb, 1.00570e-02_rb, 8.81038e-03_rb/) selfrefo(:,15) = (/ & & 2.80884e-02_rb, 2.46987e-02_rb, 2.17180e-02_rb, 1.90970e-02_rb, 1.67924e-02_rb, & & 1.47659e-02_rb, 1.29839e-02_rb, 1.14170e-02_rb, 1.00392e-02_rb, 8.82765e-03_rb/) selfrefo(:,16) = (/ & & 2.80884e-02_rb, 2.46987e-02_rb, 2.17180e-02_rb, 1.90970e-02_rb, 1.67924e-02_rb, & & 1.47659e-02_rb, 1.29839e-02_rb, 1.14170e-02_rb, 1.00392e-02_rb, 8.82765e-03_rb/) end subroutine lw_kgb08 ! ************************************************************************** subroutine lw_kgb09 ! ************************************************************************** use parkind, only : im => kind_im, rb => kind_rb use rrlw_kg09, only : fracrefao, fracrefbo, kao, kbo, kao_mn2o, & kbo_mn2o, selfrefo, forrefo implicit none save ! Planck fractions mapping level : P=212.7250 mb, T = 223.06 K fracrefao(:, 1) = (/ & & 1.8129e-01_rb,1.6119e-01_rb,1.3308e-01_rb,1.2342e-01_rb,1.1259e-01_rb,9.7580e-02_rb, & & 7.9176e-02_rb,5.8541e-02_rb,3.9084e-02_rb,4.2419e-03_rb,3.4314e-03_rb,2.6935e-03_rb, & & 1.9404e-03_rb,1.2218e-03_rb,4.5263e-04_rb,6.0909e-05_rb/) fracrefao(:, 2) = (/ & & 1.9665e-01_rb,1.5640e-01_rb,1.3101e-01_rb,1.2153e-01_rb,1.1037e-01_rb,9.6043e-02_rb, & & 7.7856e-02_rb,5.7547e-02_rb,3.8670e-02_rb,4.1955e-03_rb,3.4104e-03_rb,2.6781e-03_rb, & & 1.9245e-03_rb,1.2093e-03_rb,4.4113e-04_rb,6.0913e-05_rb/) fracrefao(:, 3) = (/ & & 2.0273e-01_rb,1.5506e-01_rb,1.3044e-01_rb,1.2043e-01_rb,1.0952e-01_rb,9.5384e-02_rb, & & 7.7157e-02_rb,5.7176e-02_rb,3.8379e-02_rb,4.1584e-03_rb,3.3836e-03_rb,2.6412e-03_rb, & & 1.8865e-03_rb,1.1791e-03_rb,4.2094e-04_rb,4.7410e-05_rb/) fracrefao(:, 4) = (/ & & 2.0272e-01_rb,1.5963e-01_rb,1.2913e-01_rb,1.2060e-01_rb,1.0820e-01_rb,9.4685e-02_rb, & & 7.6544e-02_rb,5.6851e-02_rb,3.8155e-02_rb,4.0913e-03_rb,3.3442e-03_rb,2.6054e-03_rb, & & 1.8875e-03_rb,1.1263e-03_rb,3.7743e-04_rb,4.7410e-05_rb/) fracrefao(:, 5) = (/ & & 2.0280e-01_rb,1.6353e-01_rb,1.2910e-01_rb,1.1968e-01_rb,1.0725e-01_rb,9.4112e-02_rb, & & 7.5828e-02_rb,5.6526e-02_rb,3.7972e-02_rb,4.0205e-03_rb,3.3063e-03_rb,2.5681e-03_rb, & & 1.8386e-03_rb,1.0757e-03_rb,3.5301e-04_rb,4.7410e-05_rb/) fracrefao(:, 6) = (/ & & 2.0294e-01_rb,1.6840e-01_rb,1.2852e-01_rb,1.1813e-01_rb,1.0724e-01_rb,9.2946e-02_rb, & & 7.5029e-02_rb,5.6158e-02_rb,3.7744e-02_rb,3.9632e-03_rb,3.2434e-03_rb,2.5275e-03_rb, & & 1.7558e-03_rb,1.0080e-03_rb,3.5301e-04_rb,4.7410e-05_rb/) fracrefao(:, 7) = (/ & & 2.0313e-01_rb,1.7390e-01_rb,1.2864e-01_rb,1.1689e-01_rb,1.0601e-01_rb,9.1791e-02_rb, & & 7.4224e-02_rb,5.5500e-02_rb,3.7374e-02_rb,3.9214e-03_rb,3.1984e-03_rb,2.4162e-03_rb, & & 1.6394e-03_rb,9.7275e-04_rb,3.5299e-04_rb,4.7410e-05_rb/) fracrefao(:, 8) = (/ & & 2.0332e-01_rb,1.7800e-01_rb,1.3286e-01_rb,1.1555e-01_rb,1.0407e-01_rb,9.0475e-02_rb, & & 7.2452e-02_rb,5.4566e-02_rb,3.6677e-02_rb,3.7889e-03_rb,3.0351e-03_rb,2.2587e-03_rb, & & 1.5764e-03_rb,9.7270e-04_rb,3.5300e-04_rb,4.7410e-05_rb/) fracrefao(:, 9) = (/ & & 1.9624e-01_rb,1.6519e-01_rb,1.3663e-01_rb,1.1535e-01_rb,1.0719e-01_rb,9.4156e-02_rb, & & 7.6745e-02_rb,5.6987e-02_rb,3.8135e-02_rb,4.1626e-03_rb,3.4243e-03_rb,2.7116e-03_rb, & & 1.7095e-03_rb,9.7271e-04_rb,3.5299e-04_rb,4.7410e-05_rb/) ! Planck fraction mapping level : p=3.20e-2 mb, t = 197.92 k fracrefbo(:) = (/ & & 2.0914e-01_rb,1.5077e-01_rb,1.2878e-01_rb,1.1856e-01_rb,1.0695e-01_rb,9.3048e-02_rb, & & 7.7645e-02_rb,6.0785e-02_rb,4.0642e-02_rb,4.0499e-03_rb,3.3931e-03_rb,2.6363e-03_rb, & & 1.9151e-03_rb,1.1963e-03_rb,4.3471e-04_rb,5.1421e-05_rb/) ! The array KAO contains absorption coefs for each of the 16 g-intervals ! for a range of pressure levels > ~100mb, temperatures, and ratios ! of water vapor to CO2. The first index in the array, JS, runs ! from 1 to 10, and corresponds to different gas column amount ratios, ! as expressed through the binary species parameter eta, defined as ! eta = gas1/(gas1 + (rat) * gas2), where rat is the ! ratio of the reference MLS column amount value of gas 1 ! to that of gas2. ! The 2nd index in the array, JT, which runs from 1 to 5, corresponds ! to different temperatures. More specifically, JT = 3 means that the ! data are for the reference temperature TREF for this pressure ! level, JT = 2 refers to the temperature ! TREF-15, JT = 1 is for TREF-30, JT = 4 is for TREF+15, and JT = 5 ! is for TREF+30. The third index, JP, runs from 1 to 13 and refers ! to the reference pressure level (e.g. JP = 1 is for a ! pressure of 1053.63 mb). The fourth index, IG, goes from 1 to 16, ! and tells us which g-interval the absorption coefficients are for. kao(:, 1, 1, 1) = (/ & &2.1746e-06_rb,2.0220e-05_rb,3.5039e-05_rb,4.9564e-05_rb,6.4547e-05_rb,8.0645e-05_rb, & &1.0050e-04_rb,1.3591e-04_rb,1.1422e-04_rb/) kao(:, 2, 1, 1) = (/ & &2.4567e-06_rb,2.4642e-05_rb,4.2577e-05_rb,6.0179e-05_rb,7.8156e-05_rb,9.7521e-05_rb, & &1.2325e-04_rb,1.6438e-04_rb,1.3834e-04_rb/) kao(:, 3, 1, 1) = (/ & &2.7778e-06_rb,2.9755e-05_rb,5.1233e-05_rb,7.2538e-05_rb,9.4256e-05_rb,1.1716e-04_rb, & &1.4583e-04_rb,1.9818e-04_rb,1.6722e-04_rb/) kao(:, 4, 1, 1) = (/ & &3.1364e-06_rb,3.5376e-05_rb,6.1122e-05_rb,8.6709e-05_rb,1.1261e-04_rb,1.4025e-04_rb, & &1.7411e-04_rb,2.3326e-04_rb,2.0043e-04_rb/) kao(:, 5, 1, 1) = (/ & &3.4866e-06_rb,4.1773e-05_rb,7.2421e-05_rb,1.0284e-04_rb,1.3368e-04_rb,1.6658e-04_rb, & &2.0645e-04_rb,2.7379e-04_rb,2.3933e-04_rb/) kao(:, 1, 2, 1) = (/ & &2.7658e-06_rb,1.8665e-05_rb,2.9579e-05_rb,4.0556e-05_rb,5.1475e-05_rb,6.3012e-05_rb, & &7.6030e-05_rb,9.6554e-05_rb,8.6790e-05_rb/) kao(:, 2, 2, 1) = (/ & &3.1474e-06_rb,2.2675e-05_rb,3.6322e-05_rb,4.9569e-05_rb,6.2848e-05_rb,7.6725e-05_rb, & &9.2975e-05_rb,1.1920e-04_rb,1.0628e-04_rb/) kao(:, 3, 2, 1) = (/ & &3.5619e-06_rb,2.7222e-05_rb,4.3763e-05_rb,5.9895e-05_rb,7.6025e-05_rb,9.2855e-05_rb, & &1.1166e-04_rb,1.4410e-04_rb,1.2840e-04_rb/) kao(:, 4, 2, 1) = (/ & &4.0332e-06_rb,3.2194e-05_rb,5.2284e-05_rb,7.1664e-05_rb,9.1201e-05_rb,1.1132e-04_rb, & &1.3395e-04_rb,1.6948e-04_rb,1.5482e-04_rb/) kao(:, 5, 2, 1) = (/ & &4.5426e-06_rb,3.7892e-05_rb,6.1930e-05_rb,8.5200e-05_rb,1.0845e-04_rb,1.3257e-04_rb, & &1.5957e-04_rb,2.0150e-04_rb,1.8531e-04_rb/) kao(:, 1, 3, 1) = (/ & &4.6515e-06_rb,1.9518e-05_rb,2.8024e-05_rb,3.5437e-05_rb,4.2060e-05_rb,4.8949e-05_rb, & &5.6458e-05_rb,6.6193e-05_rb,6.4702e-05_rb/) kao(:, 2, 3, 1) = (/ & &5.3085e-06_rb,2.3661e-05_rb,3.4250e-05_rb,4.3649e-05_rb,5.1882e-05_rb,6.0429e-05_rb, & &6.9536e-05_rb,8.2456e-05_rb,7.9400e-05_rb/) kao(:, 3, 3, 1) = (/ & &6.0401e-06_rb,2.8338e-05_rb,4.1344e-05_rb,5.2675e-05_rb,6.2996e-05_rb,7.3527e-05_rb, & &8.4697e-05_rb,9.9499e-05_rb,9.6161e-05_rb/) kao(:, 4, 3, 1) = (/ & &6.8636e-06_rb,3.3625e-05_rb,4.9393e-05_rb,6.2729e-05_rb,7.5705e-05_rb,8.8632e-05_rb, & &1.0218e-04_rb,1.1965e-04_rb,1.1595e-04_rb/) kao(:, 5, 3, 1) = (/ & &7.7592e-06_rb,3.9481e-05_rb,5.8243e-05_rb,7.4429e-05_rb,9.0184e-05_rb,1.0593e-04_rb, & &1.2226e-04_rb,1.4329e-04_rb,1.3957e-04_rb/) kao(:, 1, 4, 1) = (/ & &7.8254e-06_rb,2.2162e-05_rb,2.8768e-05_rb,3.4092e-05_rb,3.8273e-05_rb,4.1617e-05_rb, & &4.4585e-05_rb,4.7843e-05_rb,5.0090e-05_rb/) kao(:, 2, 4, 1) = (/ & &9.0107e-06_rb,2.6852e-05_rb,3.5234e-05_rb,4.2063e-05_rb,4.7365e-05_rb,5.1787e-05_rb, & &5.5276e-05_rb,5.9864e-05_rb,6.1930e-05_rb/) kao(:, 3, 4, 1) = (/ & &1.0349e-05_rb,3.2172e-05_rb,4.2565e-05_rb,5.1061e-05_rb,5.7654e-05_rb,6.3243e-05_rb, & &6.7675e-05_rb,7.3397e-05_rb,7.5548e-05_rb/) kao(:, 4, 4, 1) = (/ & &1.1906e-05_rb,3.8190e-05_rb,5.0960e-05_rb,6.1161e-05_rb,6.9192e-05_rb,7.6085e-05_rb, & &8.1960e-05_rb,8.9085e-05_rb,9.1511e-05_rb/) kao(:, 5, 4, 1) = (/ & &1.3610e-05_rb,4.4853e-05_rb,6.0373e-05_rb,7.2336e-05_rb,8.2116e-05_rb,9.0436e-05_rb, & &9.8270e-05_rb,1.0717e-04_rb,1.0994e-04_rb/) kao(:, 1, 5, 1) = (/ & &1.2215e-05_rb,2.6429e-05_rb,3.0893e-05_rb,3.4176e-05_rb,3.6538e-05_rb,3.7893e-05_rb, & &3.8292e-05_rb,3.7482e-05_rb,3.9876e-05_rb/) kao(:, 2, 5, 1) = (/ & &1.4086e-05_rb,3.1907e-05_rb,3.7874e-05_rb,4.2237e-05_rb,4.5377e-05_rb,4.7376e-05_rb, & &4.7976e-05_rb,4.7239e-05_rb,4.9622e-05_rb/) kao(:, 3, 5, 1) = (/ & &1.6264e-05_rb,3.8161e-05_rb,4.5845e-05_rb,5.1471e-05_rb,5.5412e-05_rb,5.8145e-05_rb, & &5.8993e-05_rb,5.8204e-05_rb,6.0963e-05_rb/) kao(:, 4, 5, 1) = (/ & &1.8858e-05_rb,4.5142e-05_rb,5.4763e-05_rb,6.1781e-05_rb,6.6831e-05_rb,7.0144e-05_rb, & &7.1439e-05_rb,7.0642e-05_rb,7.3664e-05_rb/) kao(:, 5, 5, 1) = (/ & &2.1682e-05_rb,5.2995e-05_rb,6.4832e-05_rb,7.3555e-05_rb,7.9689e-05_rb,8.3689e-05_rb, & &8.5451e-05_rb,8.5137e-05_rb,8.8330e-05_rb/) kao(:, 1, 6, 1) = (/ & &1.7737e-05_rb,3.1507e-05_rb,3.4689e-05_rb,3.5923e-05_rb,3.6042e-05_rb,3.5547e-05_rb, & &3.3855e-05_rb,3.0889e-05_rb,3.3707e-05_rb/) kao(:, 2, 6, 1) = (/ & &2.0662e-05_rb,3.8270e-05_rb,4.2282e-05_rb,4.3931e-05_rb,4.4914e-05_rb,4.4463e-05_rb, & &4.2744e-05_rb,3.9347e-05_rb,4.1797e-05_rb/) kao(:, 3, 6, 1) = (/ & &2.4128e-05_rb,4.5613e-05_rb,5.0898e-05_rb,5.3590e-05_rb,5.4968e-05_rb,5.4808e-05_rb, & &5.3000e-05_rb,4.8943e-05_rb,5.1147e-05_rb/) kao(:, 4, 6, 1) = (/ & &2.7999e-05_rb,5.3907e-05_rb,6.0955e-05_rb,6.4423e-05_rb,6.6442e-05_rb,6.6605e-05_rb, & &6.4604e-05_rb,5.9878e-05_rb,6.1516e-05_rb/) kao(:, 5, 6, 1) = (/ & &3.2152e-05_rb,6.3564e-05_rb,7.2012e-05_rb,7.6692e-05_rb,7.9463e-05_rb,7.9823e-05_rb, & &7.7573e-05_rb,7.2281e-05_rb,7.4081e-05_rb/) kao(:, 1, 7, 1) = (/ & &2.6880e-05_rb,4.1451e-05_rb,4.2153e-05_rb,4.1795e-05_rb,4.0071e-05_rb,3.7010e-05_rb, & &3.2935e-05_rb,2.7157e-05_rb,3.0165e-05_rb/) kao(:, 2, 7, 1) = (/ & &3.1867e-05_rb,5.0449e-05_rb,5.1950e-05_rb,5.1350e-05_rb,4.9502e-05_rb,4.6117e-05_rb, & &4.1536e-05_rb,3.4782e-05_rb,3.7420e-05_rb/) kao(:, 3, 7, 1) = (/ & &3.7274e-05_rb,6.0537e-05_rb,6.2610e-05_rb,6.2280e-05_rb,6.0355e-05_rb,5.6848e-05_rb, & &5.1457e-05_rb,4.3658e-05_rb,4.5586e-05_rb/) kao(:, 4, 7, 1) = (/ & &4.3315e-05_rb,7.1931e-05_rb,7.4511e-05_rb,7.5005e-05_rb,7.2731e-05_rb,6.8916e-05_rb, & &6.2904e-05_rb,5.3755e-05_rb,5.5264e-05_rb/) kao(:, 5, 7, 1) = (/ & &4.9907e-05_rb,8.4683e-05_rb,8.8542e-05_rb,8.9292e-05_rb,8.6631e-05_rb,8.2549e-05_rb, & &7.6077e-05_rb,6.5242e-05_rb,6.5892e-05_rb/) kao(:, 1, 8, 1) = (/ & &4.7627e-05_rb,6.4864e-05_rb,6.3521e-05_rb,5.9018e-05_rb,5.3108e-05_rb,4.6571e-05_rb, & &3.8650e-05_rb,2.8473e-05_rb,2.9135e-05_rb/) kao(:, 2, 8, 1) = (/ & &5.7767e-05_rb,7.9036e-05_rb,7.7751e-05_rb,7.3012e-05_rb,6.6279e-05_rb,5.8148e-05_rb, & &4.8459e-05_rb,3.6303e-05_rb,3.6552e-05_rb/) kao(:, 3, 8, 1) = (/ & &6.8331e-05_rb,9.5161e-05_rb,9.3980e-05_rb,8.8741e-05_rb,8.0901e-05_rb,7.1279e-05_rb, & &5.9682e-05_rb,4.5314e-05_rb,4.4112e-05_rb/) kao(:, 4, 8, 1) = (/ & &7.9894e-05_rb,1.1320e-04_rb,1.1263e-04_rb,1.0646e-04_rb,9.7413e-05_rb,8.6626e-05_rb, & &7.2540e-05_rb,5.5667e-05_rb,5.2996e-05_rb/) kao(:, 5, 8, 1) = (/ & &9.2972e-05_rb,1.3437e-04_rb,1.3320e-04_rb,1.2651e-04_rb,1.1648e-04_rb,1.0389e-04_rb, & &8.7249e-05_rb,6.7590e-05_rb,6.3371e-05_rb/) kao(:, 1, 9, 1) = (/ & &1.5799e-04_rb,1.8833e-04_rb,1.7550e-04_rb,1.5612e-04_rb,1.3380e-04_rb,1.0918e-04_rb, & &8.2063e-05_rb,5.1241e-05_rb,3.5341e-05_rb/) kao(:, 2, 9, 1) = (/ & &1.9443e-04_rb,2.2819e-04_rb,2.1471e-04_rb,1.9244e-04_rb,1.6566e-04_rb,1.3587e-04_rb, & &1.0320e-04_rb,6.4536e-05_rb,4.5195e-05_rb/) kao(:, 3, 9, 1) = (/ & &2.3622e-04_rb,2.7685e-04_rb,2.6057e-04_rb,2.3445e-04_rb,2.0276e-04_rb,1.6671e-04_rb, & &1.2651e-04_rb,7.9797e-05_rb,5.6882e-05_rb/) kao(:, 4, 9, 1) = (/ & &2.7828e-04_rb,3.3139e-04_rb,3.1210e-04_rb,2.8146e-04_rb,2.4413e-04_rb,2.0071e-04_rb, & &1.5211e-04_rb,9.7273e-05_rb,6.9081e-05_rb/) kao(:, 5, 9, 1) = (/ & &3.2528e-04_rb,3.9307e-04_rb,3.6944e-04_rb,3.3441e-04_rb,2.9052e-04_rb,2.3944e-04_rb, & &1.8220e-04_rb,1.1689e-04_rb,8.4202e-05_rb/) kao(:, 1,10, 1) = (/ & &5.9822e-04_rb,6.2372e-04_rb,5.8089e-04_rb,5.1261e-04_rb,4.3322e-04_rb,3.4273e-04_rb, & &2.4200e-04_rb,1.3558e-04_rb,7.2135e-05_rb/) kao(:, 2,10, 1) = (/ & &7.4373e-04_rb,7.8308e-04_rb,7.2223e-04_rb,6.3443e-04_rb,5.3223e-04_rb,4.2429e-04_rb, & &3.0242e-04_rb,1.7107e-04_rb,9.5831e-05_rb/) kao(:, 3,10, 1) = (/ & &9.1691e-04_rb,9.5621e-04_rb,8.7625e-04_rb,7.6950e-04_rb,6.5144e-04_rb,5.1701e-04_rb, & &3.7121e-04_rb,2.1199e-04_rb,1.2423e-04_rb/) kao(:, 4,10, 1) = (/ & &1.1043e-03_rb,1.1414e-03_rb,1.0539e-03_rb,9.3161e-04_rb,7.8672e-04_rb,6.2626e-04_rb, & &4.5160e-04_rb,2.5892e-04_rb,1.5666e-04_rb/) kao(:, 5,10, 1) = (/ & &1.3045e-03_rb,1.3552e-03_rb,1.2556e-03_rb,1.1172e-03_rb,9.4316e-04_rb,7.4718e-04_rb, & &5.4008e-04_rb,3.1196e-04_rb,1.9599e-04_rb/) kao(:, 1,11, 1) = (/ & &8.7712e-04_rb,8.8837e-04_rb,8.1430e-04_rb,7.2064e-04_rb,6.0791e-04_rb,4.8638e-04_rb, & &3.4855e-04_rb,1.8904e-04_rb,9.5086e-05_rb/) kao(:, 2,11, 1) = (/ & &1.1025e-03_rb,1.1220e-03_rb,1.0310e-03_rb,9.0820e-04_rb,7.5807e-04_rb,5.9864e-04_rb, & &4.3064e-04_rb,2.3702e-04_rb,1.2669e-04_rb/) kao(:, 3,11, 1) = (/ & &1.3684e-03_rb,1.3746e-03_rb,1.2594e-03_rb,1.1058e-03_rb,9.3187e-04_rb,7.3748e-04_rb, & &5.2465e-04_rb,2.9520e-04_rb,1.6181e-04_rb/) kao(:, 4,11, 1) = (/ & &1.6471e-03_rb,1.6623e-03_rb,1.5206e-03_rb,1.3382e-03_rb,1.1315e-03_rb,8.9471e-04_rb, & &6.4214e-04_rb,3.6310e-04_rb,2.0489e-04_rb/) kao(:, 5,11, 1) = (/ & &1.9688e-03_rb,1.9772e-03_rb,1.8138e-03_rb,1.6028e-03_rb,1.3619e-03_rb,1.0826e-03_rb, & &7.7699e-04_rb,4.3404e-04_rb,2.5459e-04_rb/) kao(:, 1,12, 1) = (/ & &9.4409e-04_rb,9.5030e-04_rb,8.6958e-04_rb,7.6723e-04_rb,6.4799e-04_rb,5.1804e-04_rb, & &3.7162e-04_rb,2.0179e-04_rb,1.0181e-04_rb/) kao(:, 2,12, 1) = (/ & &1.2024e-03_rb,1.2024e-03_rb,1.1035e-03_rb,9.7105e-04_rb,8.1245e-04_rb,6.4379e-04_rb, & &4.6123e-04_rb,2.5624e-04_rb,1.3746e-04_rb/) kao(:, 3,12, 1) = (/ & &1.5009e-03_rb,1.4895e-03_rb,1.3527e-03_rb,1.1889e-03_rb,1.0016e-03_rb,7.9376e-04_rb, & &5.6671e-04_rb,3.1943e-04_rb,1.7568e-04_rb/) kao(:, 4,12, 1) = (/ & &1.8192e-03_rb,1.8117e-03_rb,1.6422e-03_rb,1.4410e-03_rb,1.2151e-03_rb,9.6812e-04_rb, & &6.9546e-04_rb,3.9137e-04_rb,2.1782e-04_rb/) kao(:, 5,12, 1) = (/ & &2.1766e-03_rb,2.1635e-03_rb,1.9700e-03_rb,1.7314e-03_rb,1.4651e-03_rb,1.1736e-03_rb, & &8.4593e-04_rb,4.7032e-04_rb,2.5768e-04_rb/) kao(:, 1,13, 1) = (/ & &8.2069e-04_rb,8.2445e-04_rb,7.5154e-04_rb,6.6188e-04_rb,5.6185e-04_rb,4.5083e-04_rb, & &3.2275e-04_rb,1.7851e-04_rb,9.1099e-05_rb/) kao(:, 2,13, 1) = (/ & &1.0473e-03_rb,1.0502e-03_rb,9.5966e-04_rb,8.4257e-04_rb,7.0741e-04_rb,5.6233e-04_rb, & &4.0370e-04_rb,2.2679e-04_rb,1.2172e-04_rb/) kao(:, 3,13, 1) = (/ & &1.3133e-03_rb,1.3024e-03_rb,1.1846e-03_rb,1.0375e-03_rb,8.7436e-04_rb,6.9645e-04_rb, & &5.0292e-04_rb,2.8463e-04_rb,1.5549e-04_rb/) kao(:, 4,13, 1) = (/ & &1.6064e-03_rb,1.5873e-03_rb,1.4461e-03_rb,1.2677e-03_rb,1.0715e-03_rb,8.5901e-04_rb, & &6.1842e-04_rb,3.4781e-04_rb,1.9357e-04_rb/) kao(:, 5,13, 1) = (/ & &1.9305e-03_rb,1.9051e-03_rb,1.7364e-03_rb,1.5314e-03_rb,1.2972e-03_rb,1.0440e-03_rb, & &7.5312e-04_rb,4.2210e-04_rb,2.3145e-04_rb/) kao(:, 1, 1, 2) = (/ & &8.1346e-06_rb,1.0615e-04_rb,1.6451e-04_rb,2.1843e-04_rb,2.7217e-04_rb,3.3271e-04_rb, & &4.0424e-04_rb,5.2737e-04_rb,4.6457e-04_rb/) kao(:, 2, 1, 2) = (/ & &9.5357e-06_rb,1.2245e-04_rb,1.9203e-04_rb,2.5686e-04_rb,3.2147e-04_rb,3.9091e-04_rb, & &4.7632e-04_rb,6.1736e-04_rb,5.3890e-04_rb/) kao(:, 3, 1, 2) = (/ & &1.0894e-05_rb,1.4027e-04_rb,2.2328e-04_rb,3.0098e-04_rb,3.7740e-04_rb,4.5873e-04_rb, & &5.6256e-04_rb,7.2836e-04_rb,6.2820e-04_rb/) kao(:, 4, 1, 2) = (/ & &1.2218e-05_rb,1.6125e-04_rb,2.5837e-04_rb,3.4988e-04_rb,4.3991e-04_rb,5.3396e-04_rb, & &6.5212e-04_rb,8.5783e-04_rb,7.3258e-04_rb/) kao(:, 5, 1, 2) = (/ & &1.3559e-05_rb,1.8418e-04_rb,2.9709e-04_rb,4.0563e-04_rb,5.0913e-04_rb,6.2018e-04_rb, & &7.5464e-04_rb,9.9267e-04_rb,8.5248e-04_rb/) kao(:, 1, 2, 2) = (/ & &1.0648e-05_rb,1.0205e-04_rb,1.5218e-04_rb,1.9460e-04_rb,2.3469e-04_rb,2.7445e-04_rb, & &3.2374e-04_rb,3.9687e-04_rb,3.7021e-04_rb/) kao(:, 2, 2, 2) = (/ & &1.2479e-05_rb,1.1864e-04_rb,1.7693e-04_rb,2.2906e-04_rb,2.7817e-04_rb,3.2635e-04_rb, & &3.8100e-04_rb,4.6812e-04_rb,4.2972e-04_rb/) kao(:, 3, 2, 2) = (/ & &1.4325e-05_rb,1.3615e-04_rb,2.0613e-04_rb,2.6822e-04_rb,3.2742e-04_rb,3.8532e-04_rb, & &4.4992e-04_rb,5.5581e-04_rb,5.0382e-04_rb/) kao(:, 4, 2, 2) = (/ & &1.6131e-05_rb,1.5522e-04_rb,2.3823e-04_rb,3.1216e-04_rb,3.8163e-04_rb,4.4987e-04_rb, & &5.2423e-04_rb,6.5095e-04_rb,5.8901e-04_rb/) kao(:, 5, 2, 2) = (/ & &1.7840e-05_rb,1.7738e-04_rb,2.7413e-04_rb,3.6145e-04_rb,4.4307e-04_rb,5.2217e-04_rb, & &6.0968e-04_rb,7.4929e-04_rb,6.8588e-04_rb/) kao(:, 1, 3, 2) = (/ & &1.7975e-05_rb,1.1236e-04_rb,1.5383e-04_rb,1.8734e-04_rb,2.1612e-04_rb,2.4014e-04_rb, & &2.6058e-04_rb,2.9343e-04_rb,2.9752e-04_rb/) kao(:, 2, 3, 2) = (/ & &2.1208e-05_rb,1.3084e-04_rb,1.8013e-04_rb,2.2080e-04_rb,2.5543e-04_rb,2.8432e-04_rb, & &3.1199e-04_rb,3.4846e-04_rb,3.5196e-04_rb/) kao(:, 3, 3, 2) = (/ & &2.4558e-05_rb,1.5021e-04_rb,2.0878e-04_rb,2.5693e-04_rb,2.9945e-04_rb,3.3619e-04_rb, & &3.7048e-04_rb,4.1334e-04_rb,4.1350e-04_rb/) kao(:, 4, 3, 2) = (/ & &2.7720e-05_rb,1.7111e-04_rb,2.4012e-04_rb,2.9904e-04_rb,3.4910e-04_rb,3.9367e-04_rb, & &4.3560e-04_rb,4.8351e-04_rb,4.8248e-04_rb/) kao(:, 5, 3, 2) = (/ & &3.0839e-05_rb,1.9412e-04_rb,2.7570e-04_rb,3.4584e-04_rb,4.0483e-04_rb,4.5917e-04_rb, & &5.0628e-04_rb,5.6356e-04_rb,5.6016e-04_rb/) kao(:, 1, 4, 2) = (/ & &3.0257e-05_rb,1.3348e-04_rb,1.6797e-04_rb,1.9240e-04_rb,2.0954e-04_rb,2.2222e-04_rb, & &2.2898e-04_rb,2.3143e-04_rb,2.5081e-04_rb/) kao(:, 2, 4, 2) = (/ & &3.6110e-05_rb,1.5427e-04_rb,1.9683e-04_rb,2.2498e-04_rb,2.4900e-04_rb,2.6495e-04_rb, & &2.7383e-04_rb,2.7831e-04_rb,3.0130e-04_rb/) kao(:, 3, 4, 2) = (/ & &4.2020e-05_rb,1.7731e-04_rb,2.2733e-04_rb,2.6268e-04_rb,2.9200e-04_rb,3.1270e-04_rb, & &3.2430e-04_rb,3.3243e-04_rb,3.4977e-04_rb/) kao(:, 4, 4, 2) = (/ & &4.7704e-05_rb,2.0254e-04_rb,2.6080e-04_rb,3.0470e-04_rb,3.4066e-04_rb,3.6571e-04_rb, & &3.8177e-04_rb,3.9329e-04_rb,4.0928e-04_rb/) kao(:, 5, 4, 2) = (/ & &5.3448e-05_rb,2.2883e-04_rb,2.9767e-04_rb,3.4976e-04_rb,3.9269e-04_rb,4.2565e-04_rb, & &4.4636e-04_rb,4.5989e-04_rb,4.7277e-04_rb/) kao(:, 1, 5, 2) = (/ & &4.6988e-05_rb,1.6787e-04_rb,1.9191e-04_rb,2.0648e-04_rb,2.1525e-04_rb,2.1596e-04_rb, & &2.0906e-04_rb,1.9576e-04_rb,2.0610e-04_rb/) kao(:, 2, 5, 2) = (/ & &5.6510e-05_rb,1.9317e-04_rb,2.2448e-04_rb,2.4373e-04_rb,2.5210e-04_rb,2.5521e-04_rb, & &2.5032e-04_rb,2.3737e-04_rb,2.5015e-04_rb/) kao(:, 3, 5, 2) = (/ & &6.6097e-05_rb,2.2111e-04_rb,2.5901e-04_rb,2.8182e-04_rb,2.9480e-04_rb,2.9992e-04_rb, & &2.9852e-04_rb,2.8340e-04_rb,3.0111e-04_rb/) kao(:, 4, 5, 2) = (/ & &7.5373e-05_rb,2.5095e-04_rb,2.9694e-04_rb,3.2434e-04_rb,3.4231e-04_rb,3.5125e-04_rb, & &3.5172e-04_rb,3.3625e-04_rb,3.5720e-04_rb/) kao(:, 5, 5, 2) = (/ & &8.4653e-05_rb,2.8271e-04_rb,3.3633e-04_rb,3.7103e-04_rb,3.9540e-04_rb,4.0854e-04_rb, & &4.1017e-04_rb,3.9523e-04_rb,4.0911e-04_rb/) kao(:, 1, 6, 2) = (/ & &6.8194e-05_rb,2.1119e-04_rb,2.2511e-04_rb,2.2905e-04_rb,2.2761e-04_rb,2.1982e-04_rb, & &2.0183e-04_rb,1.7113e-04_rb,1.7129e-04_rb/) kao(:, 2, 6, 2) = (/ & &8.3032e-05_rb,2.4138e-04_rb,2.6267e-04_rb,2.7055e-04_rb,2.6995e-04_rb,2.6005e-04_rb, & &2.3793e-04_rb,2.0771e-04_rb,2.1052e-04_rb/) kao(:, 3, 6, 2) = (/ & &9.7316e-05_rb,2.7435e-04_rb,3.0334e-04_rb,3.1415e-04_rb,3.1605e-04_rb,3.0269e-04_rb, & &2.8123e-04_rb,2.4990e-04_rb,2.5531e-04_rb/) kao(:, 4, 6, 2) = (/ & &1.1184e-04_rb,3.0984e-04_rb,3.4680e-04_rb,3.6228e-04_rb,3.6303e-04_rb,3.5165e-04_rb, & &3.2989e-04_rb,2.9654e-04_rb,3.0715e-04_rb/) kao(:, 5, 6, 2) = (/ & &1.2632e-04_rb,3.4683e-04_rb,3.9318e-04_rb,4.1205e-04_rb,4.1568e-04_rb,4.0572e-04_rb, & &3.8584e-04_rb,3.4794e-04_rb,3.6334e-04_rb/) kao(:, 1, 7, 2) = (/ & &1.0382e-04_rb,2.6395e-04_rb,2.8989e-04_rb,2.8076e-04_rb,2.6344e-04_rb,2.4071e-04_rb, & &2.1106e-04_rb,1.6791e-04_rb,1.4516e-04_rb/) kao(:, 2, 7, 2) = (/ & &1.2713e-04_rb,3.0635e-04_rb,3.3550e-04_rb,3.2897e-04_rb,3.1196e-04_rb,2.8824e-04_rb, & &2.5288e-04_rb,2.0031e-04_rb,1.8143e-04_rb/) kao(:, 3, 7, 2) = (/ & &1.5126e-04_rb,3.5047e-04_rb,3.8510e-04_rb,3.8068e-04_rb,3.6466e-04_rb,3.3889e-04_rb, & &2.9600e-04_rb,2.3790e-04_rb,2.2323e-04_rb/) kao(:, 4, 7, 2) = (/ & &1.7453e-04_rb,3.9749e-04_rb,4.3569e-04_rb,4.3708e-04_rb,4.2166e-04_rb,3.9085e-04_rb, & &3.4474e-04_rb,2.8074e-04_rb,2.7137e-04_rb/) kao(:, 5, 7, 2) = (/ & &1.9815e-04_rb,4.4700e-04_rb,4.9020e-04_rb,4.9608e-04_rb,4.8316e-04_rb,4.4845e-04_rb, & &4.0007e-04_rb,3.2811e-04_rb,3.2529e-04_rb/) kao(:, 1, 8, 2) = (/ & &1.8568e-04_rb,3.7522e-04_rb,4.0441e-04_rb,4.0400e-04_rb,3.7101e-04_rb,3.2090e-04_rb, & &2.6014e-04_rb,1.8741e-04_rb,1.4093e-04_rb/) kao(:, 2, 8, 2) = (/ & &2.2706e-04_rb,4.4100e-04_rb,4.7331e-04_rb,4.6941e-04_rb,4.3330e-04_rb,3.7933e-04_rb, & &3.1116e-04_rb,2.2753e-04_rb,1.7550e-04_rb/) kao(:, 3, 8, 2) = (/ & &2.7313e-04_rb,5.0681e-04_rb,5.4665e-04_rb,5.4041e-04_rb,5.0328e-04_rb,4.4299e-04_rb, & &3.6626e-04_rb,2.6706e-04_rb,2.1512e-04_rb/) kao(:, 4, 8, 2) = (/ & &3.2050e-04_rb,5.7784e-04_rb,6.2469e-04_rb,6.1766e-04_rb,5.7799e-04_rb,5.1310e-04_rb, & &4.2712e-04_rb,3.1237e-04_rb,2.5864e-04_rb/) kao(:, 5, 8, 2) = (/ & &3.6492e-04_rb,6.4972e-04_rb,7.0632e-04_rb,6.9926e-04_rb,6.5563e-04_rb,5.8535e-04_rb, & &4.8972e-04_rb,3.6487e-04_rb,3.1085e-04_rb/) kao(:, 1, 9, 2) = (/ & &6.2599e-04_rb,8.6654e-04_rb,9.0634e-04_rb,8.8937e-04_rb,8.1140e-04_rb,7.1027e-04_rb, & &5.7167e-04_rb,3.5735e-04_rb,2.0982e-04_rb/) kao(:, 2, 9, 2) = (/ & &7.7627e-04_rb,1.0704e-03_rb,1.1043e-03_rb,1.0586e-03_rb,9.6032e-04_rb,8.3995e-04_rb, & &6.6547e-04_rb,4.2636e-04_rb,2.5832e-04_rb/) kao(:, 3, 9, 2) = (/ & &9.3794e-04_rb,1.2619e-03_rb,1.2949e-03_rb,1.2284e-03_rb,1.1156e-03_rb,9.7182e-04_rb, & &7.6979e-04_rb,5.0109e-04_rb,3.1973e-04_rb/) kao(:, 4, 9, 2) = (/ & &1.1114e-03_rb,1.4537e-03_rb,1.4722e-03_rb,1.4030e-03_rb,1.2802e-03_rb,1.1177e-03_rb, & &8.8445e-04_rb,5.8120e-04_rb,3.8922e-04_rb/) kao(:, 5, 9, 2) = (/ & &1.2779e-03_rb,1.6415e-03_rb,1.6560e-03_rb,1.5834e-03_rb,1.4519e-03_rb,1.2713e-03_rb, & &1.0105e-03_rb,6.6729e-04_rb,4.6624e-04_rb/) kao(:, 1,10, 2) = (/ & &2.4553e-03_rb,2.6165e-03_rb,2.4993e-03_rb,2.2847e-03_rb,2.0267e-03_rb,1.7115e-03_rb, & &1.3397e-03_rb,8.6368e-04_rb,3.6576e-04_rb/) kao(:, 2,10, 2) = (/ & &3.0620e-03_rb,3.2511e-03_rb,3.1049e-03_rb,2.8553e-03_rb,2.5348e-03_rb,2.1265e-03_rb, & &1.6314e-03_rb,1.0269e-03_rb,4.5803e-04_rb/) kao(:, 3,10, 2) = (/ & &3.7364e-03_rb,3.9627e-03_rb,3.7660e-03_rb,3.4224e-03_rb,3.0121e-03_rb,2.5166e-03_rb, & &1.9135e-03_rb,1.1990e-03_rb,5.6685e-04_rb/) kao(:, 4,10, 2) = (/ & &4.4530e-03_rb,4.6554e-03_rb,4.3836e-03_rb,3.9682e-03_rb,3.4829e-03_rb,2.8809e-03_rb, & &2.1972e-03_rb,1.3815e-03_rb,6.9188e-04_rb/) kao(:, 5,10, 2) = (/ & &5.1575e-03_rb,5.3264e-03_rb,4.9909e-03_rb,4.5087e-03_rb,3.9257e-03_rb,3.2602e-03_rb, & &2.4888e-03_rb,1.5715e-03_rb,8.2270e-04_rb/) kao(:, 1,11, 2) = (/ & &3.7833e-03_rb,3.8112e-03_rb,3.5566e-03_rb,3.1989e-03_rb,2.7686e-03_rb,2.2723e-03_rb, & &1.7364e-03_rb,1.0753e-03_rb,4.0590e-04_rb/) kao(:, 2,11, 2) = (/ & &4.6966e-03_rb,4.7207e-03_rb,4.4156e-03_rb,3.9736e-03_rb,3.4554e-03_rb,2.8577e-03_rb, & &2.1338e-03_rb,1.2945e-03_rb,5.0517e-04_rb/) kao(:, 3,11, 2) = (/ & &5.7189e-03_rb,5.7590e-03_rb,5.3345e-03_rb,4.7708e-03_rb,4.1084e-03_rb,3.3729e-03_rb, & &2.5008e-03_rb,1.5078e-03_rb,6.3337e-04_rb/) kao(:, 4,11, 2) = (/ & &6.7827e-03_rb,6.7469e-03_rb,6.2278e-03_rb,5.5367e-03_rb,4.7380e-03_rb,3.8594e-03_rb, & &2.8648e-03_rb,1.7294e-03_rb,7.7415e-04_rb/) kao(:, 5,11, 2) = (/ & &7.8200e-03_rb,7.7382e-03_rb,7.0901e-03_rb,6.2644e-03_rb,5.3533e-03_rb,4.3510e-03_rb, & &3.2356e-03_rb,1.9722e-03_rb,9.3312e-04_rb/) kao(:, 1,12, 2) = (/ & &4.2783e-03_rb,4.2041e-03_rb,3.8742e-03_rb,3.4634e-03_rb,2.9720e-03_rb,2.4393e-03_rb, & &1.8351e-03_rb,1.1175e-03_rb,3.9253e-04_rb/) kao(:, 2,12, 2) = (/ & &5.3337e-03_rb,5.2652e-03_rb,4.8301e-03_rb,4.3189e-03_rb,3.7223e-03_rb,3.0228e-03_rb, & &2.2408e-03_rb,1.3443e-03_rb,4.8795e-04_rb/) kao(:, 3,12, 2) = (/ & &6.5143e-03_rb,6.3579e-03_rb,5.8237e-03_rb,5.1812e-03_rb,4.4118e-03_rb,3.5721e-03_rb, & &2.6281e-03_rb,1.5684e-03_rb,6.0394e-04_rb/) kao(:, 4,12, 2) = (/ & &7.6468e-03_rb,7.4276e-03_rb,6.7625e-03_rb,6.0120e-03_rb,5.0805e-03_rb,4.0892e-03_rb, & &3.0024e-03_rb,1.8032e-03_rb,7.4856e-04_rb/) kao(:, 5,12, 2) = (/ & &8.7322e-03_rb,8.4845e-03_rb,7.6878e-03_rb,6.7875e-03_rb,5.7064e-03_rb,4.6095e-03_rb, & &3.4027e-03_rb,2.0497e-03_rb,9.3030e-04_rb/) kao(:, 1,13, 2) = (/ & &3.8383e-03_rb,3.7685e-03_rb,3.4781e-03_rb,3.1000e-03_rb,2.6661e-03_rb,2.1777e-03_rb, & &1.6207e-03_rb,9.7395e-04_rb,3.4434e-04_rb/) kao(:, 2,13, 2) = (/ & &4.7991e-03_rb,4.7287e-03_rb,4.3604e-03_rb,3.8801e-03_rb,3.3054e-03_rb,2.6658e-03_rb, & &1.9755e-03_rb,1.1692e-03_rb,4.3018e-04_rb/) kao(:, 3,13, 2) = (/ & &5.8240e-03_rb,5.6632e-03_rb,5.1895e-03_rb,4.6114e-03_rb,3.9052e-03_rb,3.1338e-03_rb, & &2.3066e-03_rb,1.3724e-03_rb,5.3490e-04_rb/) kao(:, 4,13, 2) = (/ & &6.7942e-03_rb,6.6067e-03_rb,6.0062e-03_rb,5.2927e-03_rb,4.4607e-03_rb,3.5870e-03_rb, & &2.6413e-03_rb,1.5766e-03_rb,6.6330e-04_rb/) kao(:, 5,13, 2) = (/ & &7.7135e-03_rb,7.4856e-03_rb,6.7623e-03_rb,5.9543e-03_rb,5.0216e-03_rb,4.0477e-03_rb, & &2.9856e-03_rb,1.7918e-03_rb,8.1116e-04_rb/) kao(:, 1, 1, 3) = (/ & &2.4793e-05_rb,3.0799e-04_rb,4.6290e-04_rb,5.9325e-04_rb,7.1737e-04_rb,8.2193e-04_rb, & &9.4048e-04_rb,1.1399e-03_rb,1.0252e-03_rb/) kao(:, 2, 1, 3) = (/ & &2.6296e-05_rb,3.5350e-04_rb,5.3963e-04_rb,6.9573e-04_rb,8.4910e-04_rb,9.9005e-04_rb, & &1.1353e-03_rb,1.3914e-03_rb,1.2872e-03_rb/) kao(:, 3, 1, 3) = (/ & &2.7819e-05_rb,4.0345e-04_rb,6.2337e-04_rb,8.1130e-04_rb,9.9260e-04_rb,1.1727e-03_rb, & &1.3740e-03_rb,1.6958e-03_rb,1.5768e-03_rb/) kao(:, 4, 1, 3) = (/ & &2.9505e-05_rb,4.5829e-04_rb,7.1308e-04_rb,9.3786e-04_rb,1.1508e-03_rb,1.3827e-03_rb, & &1.6466e-03_rb,2.0604e-03_rb,1.9074e-03_rb/) kao(:, 5, 1, 3) = (/ & &3.1281e-05_rb,5.1795e-04_rb,8.1473e-04_rb,1.0770e-03_rb,1.3366e-03_rb,1.6108e-03_rb, & &1.9547e-03_rb,2.4904e-03_rb,2.2803e-03_rb/) kao(:, 1, 2, 3) = (/ & &3.2793e-05_rb,3.0694e-04_rb,4.5221e-04_rb,5.6459e-04_rb,6.5806e-04_rb,7.4456e-04_rb, & &8.0925e-04_rb,9.1019e-04_rb,8.6945e-04_rb/) kao(:, 2, 2, 3) = (/ & &3.4666e-05_rb,3.5123e-04_rb,5.2466e-04_rb,6.5968e-04_rb,7.7040e-04_rb,8.8249e-04_rb, & &9.7906e-04_rb,1.1056e-03_rb,1.0654e-03_rb/) kao(:, 3, 2, 3) = (/ & &3.6731e-05_rb,4.0004e-04_rb,6.0292e-04_rb,7.6491e-04_rb,9.0091e-04_rb,1.0289e-03_rb, & &1.1668e-03_rb,1.3438e-03_rb,1.2804e-03_rb/) kao(:, 4, 2, 3) = (/ & &3.8918e-05_rb,4.5420e-04_rb,6.8900e-04_rb,8.8273e-04_rb,1.0463e-03_rb,1.2043e-03_rb, & &1.3845e-03_rb,1.6322e-03_rb,1.5338e-03_rb/) kao(:, 5, 2, 3) = (/ & &4.1070e-05_rb,5.1139e-04_rb,7.8412e-04_rb,1.0082e-03_rb,1.2070e-03_rb,1.4003e-03_rb, & &1.6106e-03_rb,1.9566e-03_rb,1.8338e-03_rb/) kao(:, 1, 3, 3) = (/ & &5.7419e-05_rb,3.4417e-04_rb,4.7657e-04_rb,5.8011e-04_rb,6.5776e-04_rb,7.1017e-04_rb, & &7.4352e-04_rb,7.5165e-04_rb,7.1905e-04_rb/) kao(:, 2, 3, 3) = (/ & &6.1098e-05_rb,3.8894e-04_rb,5.5050e-04_rb,6.7283e-04_rb,7.6814e-04_rb,8.3562e-04_rb, & &8.7563e-04_rb,9.0812e-04_rb,8.7884e-04_rb/) kao(:, 3, 3, 3) = (/ & &6.4950e-05_rb,4.3994e-04_rb,6.3159e-04_rb,7.7584e-04_rb,8.9433e-04_rb,9.7562e-04_rb, & &1.0278e-03_rb,1.0860e-03_rb,1.0655e-03_rb/) kao(:, 4, 3, 3) = (/ & &6.9137e-05_rb,4.9606e-04_rb,7.1905e-04_rb,8.8979e-04_rb,1.0295e-03_rb,1.1315e-03_rb, & &1.2033e-03_rb,1.2952e-03_rb,1.2839e-03_rb/) kao(:, 5, 3, 3) = (/ & &7.3375e-05_rb,5.5536e-04_rb,8.1436e-04_rb,1.0155e-03_rb,1.1795e-03_rb,1.3051e-03_rb, & &1.4046e-03_rb,1.5168e-03_rb,1.5296e-03_rb/) kao(:, 1, 4, 3) = (/ & &1.0086e-04_rb,4.2454e-04_rb,5.2985e-04_rb,6.0848e-04_rb,6.7121e-04_rb,7.0723e-04_rb, & &7.1237e-04_rb,6.8193e-04_rb,6.1640e-04_rb/) kao(:, 2, 4, 3) = (/ & &1.0794e-04_rb,4.6886e-04_rb,6.0099e-04_rb,7.0397e-04_rb,7.8290e-04_rb,8.2924e-04_rb, & &8.4042e-04_rb,8.0656e-04_rb,7.3923e-04_rb/) kao(:, 3, 4, 3) = (/ & &1.1564e-04_rb,5.1937e-04_rb,6.8316e-04_rb,8.0764e-04_rb,9.0488e-04_rb,9.5975e-04_rb, & &9.8680e-04_rb,9.5115e-04_rb,8.9690e-04_rb/) kao(:, 4, 4, 3) = (/ & &1.2339e-04_rb,5.7610e-04_rb,7.7301e-04_rb,9.2354e-04_rb,1.0350e-03_rb,1.1092e-03_rb, & &1.1493e-03_rb,1.1169e-03_rb,1.0760e-03_rb/) kao(:, 5, 4, 3) = (/ & &1.3105e-04_rb,6.3905e-04_rb,8.6996e-04_rb,1.0475e-03_rb,1.1809e-03_rb,1.2763e-03_rb, & &1.3289e-03_rb,1.3078e-03_rb,1.2869e-03_rb/) kao(:, 1, 5, 3) = (/ & &1.6100e-04_rb,5.0634e-04_rb,6.1668e-04_rb,6.6467e-04_rb,6.8745e-04_rb,6.9758e-04_rb, & &6.8538e-04_rb,6.2098e-04_rb,6.1721e-04_rb/) kao(:, 2, 5, 3) = (/ & &1.7365e-04_rb,5.5505e-04_rb,6.8253e-04_rb,7.5603e-04_rb,7.9631e-04_rb,8.1600e-04_rb, & &8.0888e-04_rb,7.3807e-04_rb,7.1431e-04_rb/) kao(:, 3, 5, 3) = (/ & &1.8648e-04_rb,6.0992e-04_rb,7.6141e-04_rb,8.5901e-04_rb,9.1428e-04_rb,9.4703e-04_rb, & &9.4315e-04_rb,8.7432e-04_rb,8.2918e-04_rb/) kao(:, 4, 5, 3) = (/ & &1.9988e-04_rb,6.7074e-04_rb,8.4873e-04_rb,9.7496e-04_rb,1.0437e-03_rb,1.0922e-03_rb, & &1.0916e-03_rb,1.0269e-03_rb,9.7489e-04_rb/) kao(:, 5, 5, 3) = (/ & &2.1403e-04_rb,7.3152e-04_rb,9.4776e-04_rb,1.0959e-03_rb,1.1876e-03_rb,1.2477e-03_rb, & &1.2592e-03_rb,1.1994e-03_rb,1.1556e-03_rb/) kao(:, 1, 6, 3) = (/ & &2.3782e-04_rb,5.8473e-04_rb,7.0057e-04_rb,7.3727e-04_rb,7.3866e-04_rb,7.0622e-04_rb, & &6.5578e-04_rb,5.7152e-04_rb,6.4834e-04_rb/) kao(:, 2, 6, 3) = (/ & &2.5744e-04_rb,6.5190e-04_rb,7.6744e-04_rb,8.2296e-04_rb,8.3569e-04_rb,8.1871e-04_rb, & &7.7021e-04_rb,6.8232e-04_rb,7.1639e-04_rb/) kao(:, 3, 6, 3) = (/ & &2.7664e-04_rb,7.1488e-04_rb,8.5237e-04_rb,9.1762e-04_rb,9.4622e-04_rb,9.4392e-04_rb, & &8.9795e-04_rb,8.0363e-04_rb,8.0674e-04_rb/) kao(:, 4, 6, 3) = (/ & &2.9757e-04_rb,7.7689e-04_rb,9.3669e-04_rb,1.0212e-03_rb,1.0750e-03_rb,1.0793e-03_rb, & &1.0394e-03_rb,9.3920e-04_rb,9.2478e-04_rb/) kao(:, 5, 6, 3) = (/ & &3.2013e-04_rb,8.4833e-04_rb,1.0249e-03_rb,1.1443e-03_rb,1.2150e-03_rb,1.2313e-03_rb, & &1.1962e-03_rb,1.0926e-03_rb,1.0558e-03_rb/) kao(:, 1, 7, 3) = (/ & &3.7226e-04_rb,7.2122e-04_rb,8.2273e-04_rb,8.7424e-04_rb,8.4905e-04_rb,7.9504e-04_rb, & &6.8600e-04_rb,5.4748e-04_rb,6.4757e-04_rb/) kao(:, 2, 7, 3) = (/ & &4.0471e-04_rb,8.0580e-04_rb,9.2241e-04_rb,9.6290e-04_rb,9.4856e-04_rb,8.9436e-04_rb, & &7.9088e-04_rb,6.5024e-04_rb,7.6906e-04_rb/) kao(:, 3, 7, 3) = (/ & &4.3485e-04_rb,8.8728e-04_rb,1.0201e-03_rb,1.0664e-03_rb,1.0598e-03_rb,1.0046e-03_rb, & &9.1434e-04_rb,7.6471e-04_rb,8.8345e-04_rb/) kao(:, 4, 7, 3) = (/ & &4.6779e-04_rb,9.6940e-04_rb,1.1214e-03_rb,1.1802e-03_rb,1.1771e-03_rb,1.1317e-03_rb, & &1.0506e-03_rb,8.9487e-04_rb,9.7870e-04_rb/) kao(:, 5, 7, 3) = (/ & &5.0564e-04_rb,1.0493e-03_rb,1.2285e-03_rb,1.2989e-03_rb,1.3103e-03_rb,1.2822e-03_rb, & &1.2004e-03_rb,1.0399e-03_rb,1.0827e-03_rb/) kao(:, 1, 8, 3) = (/ & &6.8834e-04_rb,1.0497e-03_rb,1.1354e-03_rb,1.1403e-03_rb,1.1091e-03_rb,1.0282e-03_rb, & &8.6922e-04_rb,6.2179e-04_rb,6.4394e-04_rb/) kao(:, 2, 8, 3) = (/ & &7.5262e-04_rb,1.1719e-03_rb,1.2711e-03_rb,1.2847e-03_rb,1.2498e-03_rb,1.1356e-03_rb, & &9.7177e-04_rb,7.1700e-04_rb,7.5449e-04_rb/) kao(:, 3, 8, 3) = (/ & &8.1196e-04_rb,1.2925e-03_rb,1.4075e-03_rb,1.4221e-03_rb,1.3886e-03_rb,1.2652e-03_rb, & &1.0898e-03_rb,8.2946e-04_rb,8.8164e-04_rb/) kao(:, 4, 8, 3) = (/ & &8.7357e-04_rb,1.4119e-03_rb,1.5462e-03_rb,1.5662e-03_rb,1.5234e-03_rb,1.4066e-03_rb, & &1.2187e-03_rb,9.5583e-04_rb,1.0263e-03_rb/) kao(:, 5, 8, 3) = (/ & &9.4776e-04_rb,1.5351e-03_rb,1.6779e-03_rb,1.7191e-03_rb,1.6760e-03_rb,1.5541e-03_rb, & &1.3711e-03_rb,1.0942e-03_rb,1.1866e-03_rb/) kao(:, 1, 9, 3) = (/ & &2.4030e-03_rb,2.8116e-03_rb,2.7490e-03_rb,2.5782e-03_rb,2.3739e-03_rb,2.0451e-03_rb, & &1.6352e-03_rb,1.1525e-03_rb,7.8397e-04_rb/) kao(:, 2, 9, 3) = (/ & &2.6406e-03_rb,3.0780e-03_rb,3.0311e-03_rb,2.8880e-03_rb,2.6562e-03_rb,2.3012e-03_rb, & &1.8579e-03_rb,1.2942e-03_rb,9.5305e-04_rb/) kao(:, 3, 9, 3) = (/ & &2.8588e-03_rb,3.3826e-03_rb,3.3331e-03_rb,3.2003e-03_rb,2.9491e-03_rb,2.5645e-03_rb, & &2.0822e-03_rb,1.4320e-03_rb,1.1371e-03_rb/) kao(:, 4, 9, 3) = (/ & &3.0751e-03_rb,3.6837e-03_rb,3.6521e-03_rb,3.5172e-03_rb,3.2330e-03_rb,2.8266e-03_rb, & &2.3022e-03_rb,1.5958e-03_rb,1.3270e-03_rb/) kao(:, 5, 9, 3) = (/ & &3.3401e-03_rb,4.0139e-03_rb,3.9712e-03_rb,3.8387e-03_rb,3.5273e-03_rb,3.0908e-03_rb, & &2.5332e-03_rb,1.7734e-03_rb,1.5421e-03_rb/) kao(:, 1,10, 3) = (/ & &9.4661e-03_rb,9.3672e-03_rb,8.6815e-03_rb,7.7670e-03_rb,6.6533e-03_rb,5.4267e-03_rb, & &4.0804e-03_rb,2.5558e-03_rb,1.0683e-03_rb/) kao(:, 2,10, 3) = (/ & &1.0403e-02_rb,1.0310e-02_rb,9.5215e-03_rb,8.5122e-03_rb,7.3124e-03_rb,5.9813e-03_rb, & &4.5509e-03_rb,2.8739e-03_rb,1.2946e-03_rb/) kao(:, 3,10, 3) = (/ & &1.1289e-02_rb,1.1218e-02_rb,1.0349e-02_rb,9.3127e-03_rb,8.0182e-03_rb,6.6138e-03_rb, & &5.0551e-03_rb,3.2072e-03_rb,1.5622e-03_rb/) kao(:, 4,10, 3) = (/ & &1.2130e-02_rb,1.2221e-02_rb,1.1320e-02_rb,1.0189e-02_rb,8.7979e-03_rb,7.2832e-03_rb, & &5.5873e-03_rb,3.5427e-03_rb,1.8389e-03_rb/) kao(:, 5,10, 3) = (/ & &1.3100e-02_rb,1.3300e-02_rb,1.2340e-02_rb,1.1131e-02_rb,9.6189e-03_rb,7.9428e-03_rb, & &6.1291e-03_rb,3.8793e-03_rb,2.1440e-03_rb/) kao(:, 1,11, 3) = (/ & &1.3487e-02_rb,1.2984e-02_rb,1.1782e-02_rb,1.0398e-02_rb,8.8336e-03_rb,7.1334e-03_rb, & &5.2262e-03_rb,3.1590e-03_rb,1.1845e-03_rb/) kao(:, 2,11, 3) = (/ & &1.4804e-02_rb,1.4185e-02_rb,1.2823e-02_rb,1.1346e-02_rb,9.6530e-03_rb,7.7631e-03_rb, & &5.7673e-03_rb,3.5383e-03_rb,1.4275e-03_rb/) kao(:, 3,11, 3) = (/ & &1.5980e-02_rb,1.5367e-02_rb,1.3971e-02_rb,1.2366e-02_rb,1.0542e-02_rb,8.5565e-03_rb, & &6.3780e-03_rb,3.9351e-03_rb,1.7235e-03_rb/) kao(:, 4,11, 3) = (/ & &1.7219e-02_rb,1.6745e-02_rb,1.5253e-02_rb,1.3475e-02_rb,1.1557e-02_rb,9.4243e-03_rb, & &6.9880e-03_rb,4.3338e-03_rb,2.0121e-03_rb/) kao(:, 5,11, 3) = (/ & &1.8659e-02_rb,1.8178e-02_rb,1.6582e-02_rb,1.4739e-02_rb,1.2667e-02_rb,1.0254e-02_rb, & &7.6524e-03_rb,4.7481e-03_rb,2.3669e-03_rb/) kao(:, 1,12, 3) = (/ & &1.4430e-02_rb,1.3711e-02_rb,1.2344e-02_rb,1.0793e-02_rb,9.1312e-03_rb,7.2788e-03_rb, & &5.2885e-03_rb,3.1556e-03_rb,1.1392e-03_rb/) kao(:, 2,12, 3) = (/ & &1.5757e-02_rb,1.4929e-02_rb,1.3431e-02_rb,1.1729e-02_rb,9.9240e-03_rb,7.9738e-03_rb, & &5.8467e-03_rb,3.5123e-03_rb,1.3911e-03_rb/) kao(:, 3,12, 3) = (/ & &1.6948e-02_rb,1.6169e-02_rb,1.4634e-02_rb,1.2830e-02_rb,1.0856e-02_rb,8.7512e-03_rb, & &6.4418e-03_rb,3.8765e-03_rb,1.6585e-03_rb/) kao(:, 4,12, 3) = (/ & &1.8340e-02_rb,1.7651e-02_rb,1.6013e-02_rb,1.4019e-02_rb,1.1962e-02_rb,9.6662e-03_rb, & &7.0623e-03_rb,4.2621e-03_rb,1.9806e-03_rb/) kao(:, 5,12, 3) = (/ & &1.9917e-02_rb,1.9194e-02_rb,1.7450e-02_rb,1.5375e-02_rb,1.3136e-02_rb,1.0559e-02_rb, & &7.7061e-03_rb,4.6735e-03_rb,2.2886e-03_rb/) kao(:, 1,13, 3) = (/ & &1.2378e-02_rb,1.1740e-02_rb,1.0520e-02_rb,9.1794e-03_rb,7.7313e-03_rb,6.1547e-03_rb, & &4.4837e-03_rb,2.6655e-03_rb,9.8041e-04_rb/) kao(:, 2,13, 3) = (/ & &1.3400e-02_rb,1.2704e-02_rb,1.1442e-02_rb,9.9607e-03_rb,8.4166e-03_rb,6.7824e-03_rb, & &4.9464e-03_rb,2.9635e-03_rb,1.2027e-03_rb/) kao(:, 3,13, 3) = (/ & &1.4376e-02_rb,1.3828e-02_rb,1.2497e-02_rb,1.0944e-02_rb,9.2894e-03_rb,7.4859e-03_rb, & &5.4627e-03_rb,3.2639e-03_rb,1.4455e-03_rb/) kao(:, 4,13, 3) = (/ & &1.5663e-02_rb,1.5087e-02_rb,1.3675e-02_rb,1.2023e-02_rb,1.0248e-02_rb,8.2522e-03_rb, & &5.9994e-03_rb,3.5980e-03_rb,1.7132e-03_rb/) kao(:, 5,13, 3) = (/ & &1.7084e-02_rb,1.6538e-02_rb,1.5027e-02_rb,1.3180e-02_rb,1.1220e-02_rb,9.0513e-03_rb, & &6.5567e-03_rb,3.9396e-03_rb,2.0154e-03_rb/) kao(:, 1, 1, 4) = (/ & &4.5432e-05_rb,6.4085e-04_rb,1.0470e-03_rb,1.4404e-03_rb,1.8333e-03_rb,2.2857e-03_rb, & &2.8540e-03_rb,3.7474e-03_rb,3.3078e-03_rb/) kao(:, 2, 1, 4) = (/ & &4.6775e-05_rb,7.3260e-04_rb,1.2196e-03_rb,1.6906e-03_rb,2.1700e-03_rb,2.7279e-03_rb, & &3.3928e-03_rb,4.5435e-03_rb,4.0031e-03_rb/) kao(:, 3, 1, 4) = (/ & &4.7907e-05_rb,8.4030e-04_rb,1.4168e-03_rb,1.9771e-03_rb,2.5623e-03_rb,3.2199e-03_rb, & &4.0380e-03_rb,5.3656e-03_rb,4.7474e-03_rb/) kao(:, 4, 1, 4) = (/ & &4.8733e-05_rb,9.6171e-04_rb,1.6416e-03_rb,2.3126e-03_rb,3.0275e-03_rb,3.7946e-03_rb, & &4.7571e-03_rb,6.3684e-03_rb,5.6396e-03_rb/) kao(:, 5, 1, 4) = (/ & &4.9568e-05_rb,1.0960e-03_rb,1.8926e-03_rb,2.6893e-03_rb,3.5365e-03_rb,4.4677e-03_rb, & &5.5986e-03_rb,7.4848e-03_rb,6.6760e-03_rb/) kao(:, 1, 2, 4) = (/ & &5.9644e-05_rb,6.5165e-04_rb,9.7095e-04_rb,1.2735e-03_rb,1.5693e-03_rb,1.8723e-03_rb, & &2.2435e-03_rb,2.8303e-03_rb,2.5518e-03_rb/) kao(:, 2, 2, 4) = (/ & &6.1550e-05_rb,7.3433e-04_rb,1.1155e-03_rb,1.4862e-03_rb,1.8480e-03_rb,2.2144e-03_rb, & &2.6782e-03_rb,3.3851e-03_rb,3.1028e-03_rb/) kao(:, 3, 2, 4) = (/ & &6.3424e-05_rb,8.2814e-04_rb,1.2862e-03_rb,1.7299e-03_rb,2.1667e-03_rb,2.6220e-03_rb, & &3.1654e-03_rb,4.0290e-03_rb,3.7219e-03_rb/) kao(:, 4, 2, 4) = (/ & &6.4618e-05_rb,9.2770e-04_rb,1.4812e-03_rb,2.0000e-03_rb,2.5281e-03_rb,3.0889e-03_rb, & &3.7301e-03_rb,4.7467e-03_rb,4.4551e-03_rb/) kao(:, 5, 2, 4) = (/ & &6.6495e-05_rb,1.0413e-03_rb,1.6912e-03_rb,2.3096e-03_rb,2.9324e-03_rb,3.6063e-03_rb, & &4.3915e-03_rb,5.5831e-03_rb,5.2779e-03_rb/) kao(:, 1, 3, 4) = (/ & &1.0462e-04_rb,7.2939e-04_rb,1.0510e-03_rb,1.2708e-03_rb,1.4590e-03_rb,1.6268e-03_rb, & &1.8071e-03_rb,2.0571e-03_rb,1.9983e-03_rb/) kao(:, 2, 3, 4) = (/ & &1.0853e-04_rb,8.1591e-04_rb,1.1915e-03_rb,1.4605e-03_rb,1.6878e-03_rb,1.9079e-03_rb, & &2.1403e-03_rb,2.4652e-03_rb,2.3859e-03_rb/) kao(:, 3, 3, 4) = (/ & &1.1161e-04_rb,9.0807e-04_rb,1.3452e-03_rb,1.6696e-03_rb,1.9436e-03_rb,2.2298e-03_rb, & &2.5245e-03_rb,2.9256e-03_rb,2.8236e-03_rb/) kao(:, 4, 3, 4) = (/ & &1.1463e-04_rb,1.0096e-03_rb,1.5126e-03_rb,1.9029e-03_rb,2.2460e-03_rb,2.5957e-03_rb, & &2.9637e-03_rb,3.4539e-03_rb,3.3286e-03_rb/) kao(:, 5, 3, 4) = (/ & &1.1771e-04_rb,1.1227e-03_rb,1.6998e-03_rb,2.1624e-03_rb,2.5867e-03_rb,3.0031e-03_rb, & &3.4507e-03_rb,4.0691e-03_rb,3.9216e-03_rb/) kao(:, 1, 4, 4) = (/ & &1.8980e-04_rb,8.1690e-04_rb,1.1496e-03_rb,1.3743e-03_rb,1.5174e-03_rb,1.5997e-03_rb, & &1.6364e-03_rb,1.6486e-03_rb,1.6867e-03_rb/) kao(:, 2, 4, 4) = (/ & &1.9681e-04_rb,9.1682e-04_rb,1.2947e-03_rb,1.5538e-03_rb,1.7351e-03_rb,1.8526e-03_rb, & &1.9065e-03_rb,1.9583e-03_rb,2.0215e-03_rb/) kao(:, 3, 4, 4) = (/ & &2.0208e-04_rb,1.0146e-03_rb,1.4514e-03_rb,1.7516e-03_rb,1.9841e-03_rb,2.1383e-03_rb, & &2.2138e-03_rb,2.3082e-03_rb,2.3998e-03_rb/) kao(:, 4, 4, 4) = (/ & &2.0762e-04_rb,1.1226e-03_rb,1.6211e-03_rb,1.9728e-03_rb,2.2623e-03_rb,2.4506e-03_rb, & &2.5563e-03_rb,2.7166e-03_rb,2.8343e-03_rb/) kao(:, 5, 4, 4) = (/ & &2.1385e-04_rb,1.2397e-03_rb,1.8026e-03_rb,2.2223e-03_rb,2.5659e-03_rb,2.7894e-03_rb, & &2.9545e-03_rb,3.1771e-03_rb,3.3076e-03_rb/) kao(:, 1, 5, 4) = (/ & &3.1379e-04_rb,9.3426e-04_rb,1.2166e-03_rb,1.4285e-03_rb,1.5654e-03_rb,1.6404e-03_rb, & &1.5965e-03_rb,1.4828e-03_rb,1.3604e-03_rb/) kao(:, 2, 5, 4) = (/ & &3.2699e-04_rb,1.0358e-03_rb,1.3783e-03_rb,1.6163e-03_rb,1.7786e-03_rb,1.8763e-03_rb, & &1.8530e-03_rb,1.7399e-03_rb,1.6555e-03_rb/) kao(:, 3, 5, 4) = (/ & &3.3749e-04_rb,1.1387e-03_rb,1.5374e-03_rb,1.8184e-03_rb,2.0178e-03_rb,2.1215e-03_rb, & &2.1453e-03_rb,2.0239e-03_rb,1.9794e-03_rb/) kao(:, 4, 5, 4) = (/ & &3.4807e-04_rb,1.2529e-03_rb,1.7131e-03_rb,2.0397e-03_rb,2.2808e-03_rb,2.4051e-03_rb, & &2.4718e-03_rb,2.3502e-03_rb,2.3300e-03_rb/) kao(:, 5, 5, 4) = (/ & &3.5954e-04_rb,1.3777e-03_rb,1.8982e-03_rb,2.2796e-03_rb,2.5586e-03_rb,2.7323e-03_rb, & &2.8236e-03_rb,2.7161e-03_rb,2.7237e-03_rb/) kao(:, 1, 6, 4) = (/ & &4.7800e-04_rb,1.0890e-03_rb,1.3133e-03_rb,1.4652e-03_rb,1.5696e-03_rb,1.6077e-03_rb, & &1.5816e-03_rb,1.3782e-03_rb,1.1543e-03_rb/) kao(:, 2, 6, 4) = (/ & &5.0135e-04_rb,1.1692e-03_rb,1.4789e-03_rb,1.6725e-03_rb,1.7871e-03_rb,1.8348e-03_rb, & &1.8106e-03_rb,1.6080e-03_rb,1.4185e-03_rb/) kao(:, 3, 6, 4) = (/ & &5.2250e-04_rb,1.2684e-03_rb,1.6447e-03_rb,1.8893e-03_rb,2.0173e-03_rb,2.0845e-03_rb, & &2.0641e-03_rb,1.8764e-03_rb,1.6970e-03_rb/) kao(:, 4, 6, 4) = (/ & &5.4010e-04_rb,1.3890e-03_rb,1.8350e-03_rb,2.1143e-03_rb,2.2731e-03_rb,2.3591e-03_rb, & &2.3476e-03_rb,2.1762e-03_rb,2.0061e-03_rb/) kao(:, 5, 6, 4) = (/ & &5.6086e-04_rb,1.5152e-03_rb,2.0323e-03_rb,2.3522e-03_rb,2.5434e-03_rb,2.6585e-03_rb, & &2.6646e-03_rb,2.5043e-03_rb,2.3580e-03_rb/) kao(:, 1, 7, 4) = (/ & &7.6472e-04_rb,1.4103e-03_rb,1.5811e-03_rb,1.6521e-03_rb,1.6700e-03_rb,1.6355e-03_rb, & &1.5716e-03_rb,1.3655e-03_rb,1.1953e-03_rb/) kao(:, 2, 7, 4) = (/ & &8.0405e-04_rb,1.4820e-03_rb,1.7182e-03_rb,1.8432e-03_rb,1.9040e-03_rb,1.8839e-03_rb, & &1.8004e-03_rb,1.5836e-03_rb,1.3245e-03_rb/) kao(:, 3, 7, 4) = (/ & &8.3976e-04_rb,1.5925e-03_rb,1.8706e-03_rb,2.0547e-03_rb,2.1511e-03_rb,2.1580e-03_rb, & &2.0497e-03_rb,1.8151e-03_rb,1.5136e-03_rb/) kao(:, 4, 7, 4) = (/ & &8.7606e-04_rb,1.7044e-03_rb,2.0552e-03_rb,2.2845e-03_rb,2.4212e-03_rb,2.4433e-03_rb, & &2.3312e-03_rb,2.0671e-03_rb,1.7685e-03_rb/) kao(:, 5, 7, 4) = (/ & &9.1065e-04_rb,1.8368e-03_rb,2.2563e-03_rb,2.5472e-03_rb,2.7054e-03_rb,2.7384e-03_rb, & &2.6284e-03_rb,2.3513e-03_rb,2.0612e-03_rb/) kao(:, 1, 8, 4) = (/ & &1.4362e-03_rb,2.1402e-03_rb,2.2733e-03_rb,2.2579e-03_rb,2.1547e-03_rb,1.9686e-03_rb, & &1.7196e-03_rb,1.4177e-03_rb,1.4603e-03_rb/) kao(:, 2, 8, 4) = (/ & &1.5196e-03_rb,2.2635e-03_rb,2.4111e-03_rb,2.4495e-03_rb,2.3642e-03_rb,2.2258e-03_rb, & &1.9891e-03_rb,1.6444e-03_rb,1.7173e-03_rb/) kao(:, 3, 8, 4) = (/ & &1.5863e-03_rb,2.3882e-03_rb,2.5869e-03_rb,2.6588e-03_rb,2.5952e-03_rb,2.5025e-03_rb, & &2.2780e-03_rb,1.8819e-03_rb,1.8908e-03_rb/) kao(:, 4, 8, 4) = (/ & &1.6588e-03_rb,2.5177e-03_rb,2.7792e-03_rb,2.8954e-03_rb,2.8908e-03_rb,2.7990e-03_rb, & &2.5915e-03_rb,2.1558e-03_rb,2.0333e-03_rb/) kao(:, 5, 8, 4) = (/ & &1.7367e-03_rb,2.6935e-03_rb,3.0017e-03_rb,3.1619e-03_rb,3.2065e-03_rb,3.1297e-03_rb, & &2.9147e-03_rb,2.4525e-03_rb,2.1765e-03_rb/) kao(:, 1, 9, 4) = (/ & &5.1377e-03_rb,5.6879e-03_rb,5.6413e-03_rb,5.3776e-03_rb,4.8224e-03_rb,4.1689e-03_rb, & &3.3325e-03_rb,2.2481e-03_rb,2.0122e-03_rb/) kao(:, 2, 9, 4) = (/ & &5.4511e-03_rb,6.1548e-03_rb,6.1332e-03_rb,5.7185e-03_rb,5.1593e-03_rb,4.4551e-03_rb, & &3.6302e-03_rb,2.5234e-03_rb,2.3673e-03_rb/) kao(:, 3, 9, 4) = (/ & &5.7014e-03_rb,6.5729e-03_rb,6.5250e-03_rb,6.0830e-03_rb,5.4507e-03_rb,4.7941e-03_rb, & &3.9451e-03_rb,2.8561e-03_rb,2.7249e-03_rb/) kao(:, 4, 9, 4) = (/ & &5.9876e-03_rb,6.9491e-03_rb,6.9266e-03_rb,6.3994e-03_rb,5.8665e-03_rb,5.2094e-03_rb, & &4.3177e-03_rb,3.2100e-03_rb,3.0655e-03_rb/) kao(:, 5, 9, 4) = (/ & &6.2578e-03_rb,7.3161e-03_rb,7.3395e-03_rb,6.8572e-03_rb,6.3066e-03_rb,5.6391e-03_rb, & &4.7410e-03_rb,3.6035e-03_rb,3.3864e-03_rb/) kao(:, 1,10, 4) = (/ & &2.0796e-02_rb,2.0019e-02_rb,1.8165e-02_rb,1.6068e-02_rb,1.3873e-02_rb,1.1404e-02_rb, & &8.6779e-03_rb,5.2784e-03_rb,2.8413e-03_rb/) kao(:, 2,10, 4) = (/ & &2.2188e-02_rb,2.1487e-02_rb,1.9617e-02_rb,1.7448e-02_rb,1.5124e-02_rb,1.2499e-02_rb, & &9.2630e-03_rb,5.6664e-03_rb,3.3963e-03_rb/) kao(:, 3,10, 4) = (/ & &2.3219e-02_rb,2.2843e-02_rb,2.1086e-02_rb,1.8777e-02_rb,1.6130e-02_rb,1.3209e-02_rb, & &9.9059e-03_rb,6.0802e-03_rb,4.0019e-03_rb/) kao(:, 4,10, 4) = (/ & &2.4435e-02_rb,2.4082e-02_rb,2.2303e-02_rb,1.9851e-02_rb,1.7023e-02_rb,1.4121e-02_rb, & &1.0410e-02_rb,6.5843e-03_rb,4.6477e-03_rb/) kao(:, 5,10, 4) = (/ & &2.5609e-02_rb,2.5343e-02_rb,2.3560e-02_rb,2.0930e-02_rb,1.8042e-02_rb,1.4937e-02_rb, & &1.1163e-02_rb,7.1400e-03_rb,5.2598e-03_rb/) kao(:, 1,11, 4) = (/ & &3.0218e-02_rb,2.8464e-02_rb,2.5566e-02_rb,2.2189e-02_rb,1.8763e-02_rb,1.5165e-02_rb, & &1.1286e-02_rb,6.7271e-03_rb,3.0443e-03_rb/) kao(:, 2,11, 4) = (/ & &3.2017e-02_rb,3.0288e-02_rb,2.7351e-02_rb,2.3960e-02_rb,2.0417e-02_rb,1.6571e-02_rb, & &1.2201e-02_rb,7.2159e-03_rb,3.6072e-03_rb/) kao(:, 3,11, 4) = (/ & &3.3713e-02_rb,3.2141e-02_rb,2.9172e-02_rb,2.5698e-02_rb,2.1768e-02_rb,1.7546e-02_rb, & &1.2989e-02_rb,7.6734e-03_rb,4.2021e-03_rb/) kao(:, 4,11, 4) = (/ & &3.5523e-02_rb,3.3941e-02_rb,3.0802e-02_rb,2.7264e-02_rb,2.3091e-02_rb,1.8512e-02_rb, & &1.3848e-02_rb,8.2207e-03_rb,4.9261e-03_rb/) kao(:, 5,11, 4) = (/ & &3.7048e-02_rb,3.5659e-02_rb,3.2500e-02_rb,2.8766e-02_rb,2.4380e-02_rb,1.9724e-02_rb, & &1.4735e-02_rb,8.8773e-03_rb,5.6292e-03_rb/) kao(:, 1,12, 4) = (/ & &3.2170e-02_rb,2.9965e-02_rb,2.6774e-02_rb,2.3265e-02_rb,1.9604e-02_rb,1.5767e-02_rb, & &1.1665e-02_rb,6.8628e-03_rb,2.9693e-03_rb/) kao(:, 2,12, 4) = (/ & &3.3877e-02_rb,3.1857e-02_rb,2.8686e-02_rb,2.5070e-02_rb,2.1306e-02_rb,1.7043e-02_rb, & &1.2460e-02_rb,7.3567e-03_rb,3.5157e-03_rb/) kao(:, 3,12, 4) = (/ & &3.5821e-02_rb,3.3840e-02_rb,3.0497e-02_rb,2.6646e-02_rb,2.2619e-02_rb,1.8108e-02_rb, & &1.3276e-02_rb,7.8561e-03_rb,4.1559e-03_rb/) kao(:, 4,12, 4) = (/ & &3.7503e-02_rb,3.5506e-02_rb,3.2126e-02_rb,2.8288e-02_rb,2.3902e-02_rb,1.9181e-02_rb, & &1.4142e-02_rb,8.3990e-03_rb,4.8088e-03_rb/) kao(:, 5,12, 4) = (/ & &3.9218e-02_rb,3.7289e-02_rb,3.3764e-02_rb,2.9747e-02_rb,2.5253e-02_rb,2.0345e-02_rb, & &1.5175e-02_rb,9.0569e-03_rb,5.5254e-03_rb/) kao(:, 1,13, 4) = (/ & &2.7021e-02_rb,2.5240e-02_rb,2.2638e-02_rb,1.9764e-02_rb,1.6669e-02_rb,1.3389e-02_rb, & &9.8031e-03_rb,5.7609e-03_rb,2.5391e-03_rb/) kao(:, 2,13, 4) = (/ & &2.8550e-02_rb,2.6888e-02_rb,2.4164e-02_rb,2.1146e-02_rb,1.7859e-02_rb,1.4211e-02_rb, & &1.0456e-02_rb,6.1648e-03_rb,3.0359e-03_rb/) kao(:, 3,13, 4) = (/ & &3.0206e-02_rb,2.8336e-02_rb,2.5560e-02_rb,2.2362e-02_rb,1.8953e-02_rb,1.5151e-02_rb, & &1.1086e-02_rb,6.5998e-03_rb,3.5704e-03_rb/) kao(:, 4,13, 4) = (/ & &3.1495e-02_rb,2.9878e-02_rb,2.6989e-02_rb,2.3626e-02_rb,1.9993e-02_rb,1.6052e-02_rb, & &1.1891e-02_rb,7.0977e-03_rb,4.1349e-03_rb/) kao(:, 5,13, 4) = (/ & &3.2969e-02_rb,3.1259e-02_rb,2.8282e-02_rb,2.5005e-02_rb,2.1232e-02_rb,1.7061e-02_rb, & &1.2808e-02_rb,7.6578e-03_rb,4.7180e-03_rb/) kao(:, 1, 1, 5) = (/ & &7.7208e-05_rb,1.2983e-03_rb,2.1990e-03_rb,3.0698e-03_rb,3.9335e-03_rb,4.8939e-03_rb, & &6.0507e-03_rb,7.9864e-03_rb,7.3950e-03_rb/) kao(:, 2, 1, 5) = (/ & &7.7960e-05_rb,1.4953e-03_rb,2.5372e-03_rb,3.5852e-03_rb,4.6877e-03_rb,5.9141e-03_rb, & &7.4453e-03_rb,9.6664e-03_rb,8.9362e-03_rb/) kao(:, 3, 1, 5) = (/ & &7.8616e-05_rb,1.7027e-03_rb,2.9428e-03_rb,4.1895e-03_rb,5.5241e-03_rb,7.0220e-03_rb, & &8.8894e-03_rb,1.1837e-02_rb,1.0698e-02_rb/) kao(:, 4, 1, 5) = (/ & &7.9284e-05_rb,1.9233e-03_rb,3.3889e-03_rb,4.8861e-03_rb,6.4864e-03_rb,8.2886e-03_rb, & &1.0489e-02_rb,1.4031e-02_rb,1.2687e-02_rb/) kao(:, 5, 1, 5) = (/ & &8.0311e-05_rb,2.1623e-03_rb,3.8730e-03_rb,5.6513e-03_rb,7.5603e-03_rb,9.7064e-03_rb, & &1.2306e-02_rb,1.6419e-02_rb,1.4857e-02_rb/) kao(:, 1, 2, 5) = (/ & &1.0510e-04_rb,1.2010e-03_rb,1.9708e-03_rb,2.6863e-03_rb,3.3801e-03_rb,4.0401e-03_rb, & &4.8065e-03_rb,5.9839e-03_rb,5.8720e-03_rb/) kao(:, 2, 2, 5) = (/ & &1.0618e-04_rb,1.3719e-03_rb,2.2892e-03_rb,3.1040e-03_rb,3.9264e-03_rb,4.7961e-03_rb, & &5.8356e-03_rb,7.3351e-03_rb,7.0925e-03_rb/) kao(:, 3, 2, 5) = (/ & &1.0689e-04_rb,1.5661e-03_rb,2.6266e-03_rb,3.5943e-03_rb,4.5681e-03_rb,5.6180e-03_rb, & &6.8759e-03_rb,8.8640e-03_rb,8.4509e-03_rb/) kao(:, 4, 2, 5) = (/ & &1.0861e-04_rb,1.7752e-03_rb,2.9853e-03_rb,4.1453e-03_rb,5.3192e-03_rb,6.5973e-03_rb, & &8.1274e-03_rb,1.0456e-02_rb,1.0031e-02_rb/) kao(:, 5, 2, 5) = (/ & &1.1004e-04_rb,1.9945e-03_rb,3.3831e-03_rb,4.7368e-03_rb,6.1454e-03_rb,7.6846e-03_rb, & &9.5320e-03_rb,1.2312e-02_rb,1.1757e-02_rb/) kao(:, 1, 3, 5) = (/ & &1.9166e-04_rb,1.3172e-03_rb,1.9278e-03_rb,2.4677e-03_rb,2.9707e-03_rb,3.4895e-03_rb, & &3.9440e-03_rb,4.4484e-03_rb,4.3497e-03_rb/) kao(:, 2, 3, 5) = (/ & &1.9336e-04_rb,1.4888e-03_rb,2.1997e-03_rb,2.8500e-03_rb,3.4656e-03_rb,4.0405e-03_rb, & &4.6494e-03_rb,5.3886e-03_rb,5.2876e-03_rb/) kao(:, 3, 3, 5) = (/ & &1.9552e-04_rb,1.6719e-03_rb,2.4978e-03_rb,3.2794e-03_rb,4.0171e-03_rb,4.6883e-03_rb, & &5.3810e-03_rb,6.3663e-03_rb,6.3594e-03_rb/) kao(:, 4, 3, 5) = (/ & &1.9793e-04_rb,1.8618e-03_rb,2.8193e-03_rb,3.7421e-03_rb,4.6002e-03_rb,5.4246e-03_rb, & &6.2790e-03_rb,7.4939e-03_rb,7.6260e-03_rb/) kao(:, 5, 3, 5) = (/ & &2.0202e-04_rb,2.0622e-03_rb,3.1772e-03_rb,4.2408e-03_rb,5.2345e-03_rb,6.2239e-03_rb, & &7.2922e-03_rb,8.8196e-03_rb,9.0035e-03_rb/) kao(:, 1, 4, 5) = (/ & &3.5080e-04_rb,1.5106e-03_rb,2.1048e-03_rb,2.5530e-03_rb,2.8923e-03_rb,3.1426e-03_rb, & &3.3832e-03_rb,3.6360e-03_rb,3.6099e-03_rb/) kao(:, 2, 4, 5) = (/ & &3.5494e-04_rb,1.6898e-03_rb,2.3828e-03_rb,2.9160e-03_rb,3.3056e-03_rb,3.6304e-03_rb, & &3.9520e-03_rb,4.2994e-03_rb,4.2882e-03_rb/) kao(:, 3, 4, 5) = (/ & &3.5978e-04_rb,1.8836e-03_rb,2.6877e-03_rb,3.3008e-03_rb,3.7593e-03_rb,4.1815e-03_rb, & &4.6053e-03_rb,4.9917e-03_rb,5.0514e-03_rb/) kao(:, 4, 4, 5) = (/ & &3.6746e-04_rb,2.0763e-03_rb,3.0082e-03_rb,3.7203e-03_rb,4.2549e-03_rb,4.7934e-03_rb, & &5.3242e-03_rb,5.8169e-03_rb,5.8760e-03_rb/) kao(:, 5, 4, 5) = (/ & &3.7911e-04_rb,2.2831e-03_rb,3.3520e-03_rb,4.1619e-03_rb,4.7913e-03_rb,5.4605e-03_rb, & &6.1003e-03_rb,6.7476e-03_rb,6.8032e-03_rb/) kao(:, 1, 5, 5) = (/ & &5.8701e-04_rb,1.7294e-03_rb,2.3007e-03_rb,2.6940e-03_rb,2.9671e-03_rb,3.1134e-03_rb, & &3.1768e-03_rb,3.0490e-03_rb,3.1049e-03_rb/) kao(:, 2, 5, 5) = (/ & &5.9308e-04_rb,1.9111e-03_rb,2.5835e-03_rb,3.0407e-03_rb,3.3851e-03_rb,3.5845e-03_rb, & &3.6445e-03_rb,3.5746e-03_rb,3.6940e-03_rb/) kao(:, 3, 5, 5) = (/ & &6.0356e-04_rb,2.1186e-03_rb,2.8868e-03_rb,3.4242e-03_rb,3.8486e-03_rb,4.1112e-03_rb, & &4.1722e-03_rb,4.1940e-03_rb,4.3605e-03_rb/) kao(:, 4, 5, 5) = (/ & &6.1818e-04_rb,2.3278e-03_rb,3.1936e-03_rb,3.8321e-03_rb,4.3352e-03_rb,4.6666e-03_rb, & &4.7552e-03_rb,4.8779e-03_rb,5.1110e-03_rb/) kao(:, 5, 5, 5) = (/ & &6.3535e-04_rb,2.5512e-03_rb,3.5322e-03_rb,4.2882e-03_rb,4.8679e-03_rb,5.2358e-03_rb, & &5.3921e-03_rb,5.6199e-03_rb,5.9412e-03_rb/) kao(:, 1, 6, 5) = (/ & &9.2532e-04_rb,2.0015e-03_rb,2.5277e-03_rb,2.8421e-03_rb,3.0437e-03_rb,3.1018e-03_rb, & &3.0296e-03_rb,2.8221e-03_rb,2.6040e-03_rb/) kao(:, 2, 6, 5) = (/ & &9.2928e-04_rb,2.2000e-03_rb,2.8005e-03_rb,3.1777e-03_rb,3.4468e-03_rb,3.5577e-03_rb, & &3.5029e-03_rb,3.2686e-03_rb,3.0871e-03_rb/) kao(:, 3, 6, 5) = (/ & &9.4818e-04_rb,2.4342e-03_rb,3.0892e-03_rb,3.5513e-03_rb,3.8786e-03_rb,4.0485e-03_rb, & &4.0367e-03_rb,3.7564e-03_rb,3.6084e-03_rb/) kao(:, 4, 6, 5) = (/ & &9.7245e-04_rb,2.6688e-03_rb,3.4060e-03_rb,3.9527e-03_rb,4.3416e-03_rb,4.5754e-03_rb, & &4.6140e-03_rb,4.3161e-03_rb,4.2427e-03_rb/) kao(:, 5, 6, 5) = (/ & &9.9339e-04_rb,2.9158e-03_rb,3.7426e-03_rb,4.3630e-03_rb,4.8503e-03_rb,5.1436e-03_rb, & &5.2166e-03_rb,4.9082e-03_rb,4.9378e-03_rb/) kao(:, 1, 7, 5) = (/ & &1.5302e-03_rb,2.5414e-03_rb,2.9540e-03_rb,3.1974e-03_rb,3.3103e-03_rb,3.2792e-03_rb, & &3.0626e-03_rb,2.6477e-03_rb,2.2296e-03_rb/) kao(:, 2, 7, 5) = (/ & &1.5437e-03_rb,2.8069e-03_rb,3.2725e-03_rb,3.5730e-03_rb,3.6894e-03_rb,3.7000e-03_rb, & &3.5141e-03_rb,3.0866e-03_rb,2.7517e-03_rb/) kao(:, 3, 7, 5) = (/ & &1.5828e-03_rb,3.0663e-03_rb,3.6143e-03_rb,3.9451e-03_rb,4.1195e-03_rb,4.1576e-03_rb, & &4.0163e-03_rb,3.5822e-03_rb,3.3032e-03_rb/) kao(:, 4, 7, 5) = (/ & &1.6196e-03_rb,3.3257e-03_rb,3.9578e-03_rb,4.3834e-03_rb,4.5853e-03_rb,4.6606e-03_rb, & &4.5385e-03_rb,4.1261e-03_rb,3.9000e-03_rb/) kao(:, 5, 7, 5) = (/ & &1.6660e-03_rb,3.6179e-03_rb,4.3451e-03_rb,4.8226e-03_rb,5.0668e-03_rb,5.1930e-03_rb, & &5.1180e-03_rb,4.7030e-03_rb,4.5474e-03_rb/) kao(:, 1, 8, 5) = (/ & &2.9602e-03_rb,3.9304e-03_rb,4.1580e-03_rb,4.2228e-03_rb,4.1165e-03_rb,3.9147e-03_rb, & &3.5216e-03_rb,2.8265e-03_rb,2.2242e-03_rb/) kao(:, 2, 8, 5) = (/ & &2.9996e-03_rb,4.2668e-03_rb,4.6028e-03_rb,4.6806e-03_rb,4.6212e-03_rb,4.3859e-03_rb, & &3.9542e-03_rb,3.2447e-03_rb,2.5165e-03_rb/) kao(:, 3, 8, 5) = (/ & &3.0790e-03_rb,4.6440e-03_rb,5.0256e-03_rb,5.1447e-03_rb,5.1348e-03_rb,4.8892e-03_rb, & &4.4430e-03_rb,3.7287e-03_rb,2.9386e-03_rb/) kao(:, 4, 8, 5) = (/ & &3.1467e-03_rb,5.0515e-03_rb,5.4655e-03_rb,5.6295e-03_rb,5.6440e-03_rb,5.4532e-03_rb, & &4.9689e-03_rb,4.2347e-03_rb,3.5150e-03_rb/) kao(:, 5, 8, 5) = (/ & &3.2473e-03_rb,5.4319e-03_rb,5.9099e-03_rb,6.1513e-03_rb,6.2421e-03_rb,6.0606e-03_rb, & &5.5483e-03_rb,4.7752e-03_rb,4.1476e-03_rb/) kao(:, 1, 9, 5) = (/ & &1.0715e-02_rb,1.1382e-02_rb,1.0899e-02_rb,1.0007e-02_rb,9.0437e-03_rb,7.6976e-03_rb, & &6.2825e-03_rb,4.4971e-03_rb,3.7652e-03_rb/) kao(:, 2, 9, 5) = (/ & &1.0909e-02_rb,1.1862e-02_rb,1.1397e-02_rb,1.0777e-02_rb,9.8877e-03_rb,8.5937e-03_rb, & &7.0755e-03_rb,5.0938e-03_rb,4.2507e-03_rb/) kao(:, 3, 9, 5) = (/ & &1.1246e-02_rb,1.2418e-02_rb,1.2293e-02_rb,1.1701e-02_rb,1.0880e-02_rb,9.4889e-03_rb, & &7.8244e-03_rb,5.6718e-03_rb,4.5213e-03_rb/) kao(:, 4, 9, 5) = (/ & &1.1484e-02_rb,1.3245e-02_rb,1.3252e-02_rb,1.2816e-02_rb,1.1850e-02_rb,1.0328e-02_rb, & &8.6168e-03_rb,6.3257e-03_rb,4.7999e-03_rb/) kao(:, 5, 9, 5) = (/ & &1.1883e-02_rb,1.4169e-02_rb,1.4256e-02_rb,1.3856e-02_rb,1.2835e-02_rb,1.1196e-02_rb, & &9.4286e-03_rb,7.0084e-03_rb,5.1834e-03_rb/) kao(:, 1,10, 5) = (/ & &4.3348e-02_rb,4.0646e-02_rb,3.6539e-02_rb,3.2078e-02_rb,2.7151e-02_rb,2.1841e-02_rb, & &1.6185e-02_rb,9.9201e-03_rb,6.7193e-03_rb/) kao(:, 2,10, 5) = (/ & &4.4149e-02_rb,4.2066e-02_rb,3.8091e-02_rb,3.3609e-02_rb,2.8552e-02_rb,2.2983e-02_rb, & &1.7376e-02_rb,1.1009e-02_rb,7.5436e-03_rb/) kao(:, 3,10, 5) = (/ & &4.5674e-02_rb,4.3639e-02_rb,3.9624e-02_rb,3.4947e-02_rb,3.0188e-02_rb,2.4887e-02_rb, & &1.8903e-02_rb,1.2177e-02_rb,8.3556e-03_rb/) kao(:, 4,10, 5) = (/ & &4.6947e-02_rb,4.5302e-02_rb,4.1477e-02_rb,3.7249e-02_rb,3.2588e-02_rb,2.6746e-02_rb, & &2.0815e-02_rb,1.3320e-02_rb,9.0276e-03_rb/) kao(:, 5,10, 5) = (/ & &4.8633e-02_rb,4.7885e-02_rb,4.4096e-02_rb,3.9864e-02_rb,3.4957e-02_rb,2.9104e-02_rb, & &2.2653e-02_rb,1.4428e-02_rb,9.7333e-03_rb/) kao(:, 1,11, 5) = (/ & &6.1692e-02_rb,5.6780e-02_rb,5.0232e-02_rb,4.3693e-02_rb,3.6664e-02_rb,2.9101e-02_rb, & &2.1139e-02_rb,1.2500e-02_rb,7.3091e-03_rb/) kao(:, 2,11, 5) = (/ & &6.3633e-02_rb,5.9268e-02_rb,5.2865e-02_rb,4.5871e-02_rb,3.8419e-02_rb,3.0609e-02_rb, & &2.2496e-02_rb,1.3660e-02_rb,8.2073e-03_rb/) kao(:, 3,11, 5) = (/ & &6.5598e-02_rb,6.1281e-02_rb,5.4828e-02_rb,4.7713e-02_rb,4.0401e-02_rb,3.2790e-02_rb, & &2.4296e-02_rb,1.5126e-02_rb,8.8706e-03_rb/) kao(:, 4,11, 5) = (/ & &6.7575e-02_rb,6.3884e-02_rb,5.7739e-02_rb,5.0715e-02_rb,4.3385e-02_rb,3.5358e-02_rb, & &2.6343e-02_rb,1.6652e-02_rb,9.5120e-03_rb/) kao(:, 5,11, 5) = (/ & &7.0953e-02_rb,6.7728e-02_rb,6.1195e-02_rb,5.3939e-02_rb,4.6283e-02_rb,3.8093e-02_rb, & &2.8648e-02_rb,1.8051e-02_rb,1.0472e-02_rb/) kao(:, 1,12, 5) = (/ & &6.6289e-02_rb,6.0781e-02_rb,5.3636e-02_rb,4.6304e-02_rb,3.8429e-02_rb,3.0261e-02_rb, & &2.1777e-02_rb,1.2752e-02_rb,6.7746e-03_rb/) kao(:, 2,12, 5) = (/ & &6.8551e-02_rb,6.3174e-02_rb,5.6063e-02_rb,4.8348e-02_rb,4.0059e-02_rb,3.1785e-02_rb, & &2.3315e-02_rb,1.3856e-02_rb,7.6622e-03_rb/) kao(:, 3,12, 5) = (/ & &7.0441e-02_rb,6.5327e-02_rb,5.8258e-02_rb,5.0611e-02_rb,4.2587e-02_rb,3.4170e-02_rb, & &2.5237e-02_rb,1.5295e-02_rb,8.3950e-03_rb/) kao(:, 4,12, 5) = (/ & &7.3259e-02_rb,6.8842e-02_rb,6.1685e-02_rb,5.3758e-02_rb,4.5436e-02_rb,3.6706e-02_rb, & &2.7377e-02_rb,1.6771e-02_rb,8.9439e-03_rb/) kao(:, 5,12, 5) = (/ & &7.7467e-02_rb,7.3081e-02_rb,6.5449e-02_rb,5.7418e-02_rb,4.8677e-02_rb,3.9671e-02_rb, & &2.9550e-02_rb,1.8202e-02_rb,9.6319e-03_rb/) kao(:, 1,13, 5) = (/ & &5.6671e-02_rb,5.1982e-02_rb,4.5878e-02_rb,3.9500e-02_rb,3.2807e-02_rb,2.5894e-02_rb, & &1.8717e-02_rb,1.0942e-02_rb,5.7523e-03_rb/) kao(:, 2,13, 5) = (/ & &5.8577e-02_rb,5.4011e-02_rb,4.7896e-02_rb,4.1459e-02_rb,3.4661e-02_rb,2.7671e-02_rb, & &2.0186e-02_rb,1.2025e-02_rb,6.4664e-03_rb/) kao(:, 3,13, 5) = (/ & &6.0296e-02_rb,5.6294e-02_rb,5.0261e-02_rb,4.3702e-02_rb,3.6751e-02_rb,2.9579e-02_rb, & &2.1985e-02_rb,1.3253e-02_rb,7.0517e-03_rb/) kao(:, 4,13, 5) = (/ & &6.3403e-02_rb,5.9492e-02_rb,5.3202e-02_rb,4.6643e-02_rb,3.9435e-02_rb,3.1951e-02_rb, & &2.3841e-02_rb,1.4493e-02_rb,7.4965e-03_rb/) kao(:, 5,13, 5) = (/ & &6.7016e-02_rb,6.3341e-02_rb,5.7105e-02_rb,5.0058e-02_rb,4.2357e-02_rb,3.4571e-02_rb, & &2.5674e-02_rb,1.5753e-02_rb,8.1075e-03_rb/) kao(:, 1, 1, 6) = (/ & &1.5042e-04_rb,2.4198e-03_rb,4.3016e-03_rb,6.2979e-03_rb,8.5168e-03_rb,1.0968e-02_rb, & &1.3929e-02_rb,1.8584e-02_rb,1.6834e-02_rb/) kao(:, 2, 1, 6) = (/ & &1.5402e-04_rb,2.7874e-03_rb,5.0906e-03_rb,7.5405e-03_rb,1.0172e-02_rb,1.3049e-02_rb, & &1.6523e-02_rb,2.2172e-02_rb,2.0134e-02_rb/) kao(:, 3, 1, 6) = (/ & &1.5658e-04_rb,3.2116e-03_rb,5.9652e-03_rb,8.9274e-03_rb,1.2070e-02_rb,1.5491e-02_rb, & &1.9553e-02_rb,2.6056e-02_rb,2.3919e-02_rb/) kao(:, 4, 1, 6) = (/ & &1.5960e-04_rb,3.6836e-03_rb,6.9617e-03_rb,1.0460e-02_rb,1.4154e-02_rb,1.8205e-02_rb, & &2.3055e-02_rb,3.0555e-02_rb,2.8089e-02_rb/) kao(:, 5, 1, 6) = (/ & &1.6165e-04_rb,4.2037e-03_rb,8.0817e-03_rb,1.2177e-02_rb,1.6484e-02_rb,2.1191e-02_rb, & &2.6875e-02_rb,3.5769e-02_rb,3.2739e-02_rb/) kao(:, 1, 2, 6) = (/ & &2.0998e-04_rb,2.2589e-03_rb,3.7899e-03_rb,5.2410e-03_rb,6.7744e-03_rb,8.5703e-03_rb, & &1.0697e-02_rb,1.3881e-02_rb,1.3198e-02_rb/) kao(:, 2, 2, 6) = (/ & &2.1456e-04_rb,2.6007e-03_rb,4.3946e-03_rb,6.1987e-03_rb,8.1361e-03_rb,1.0272e-02_rb, & &1.2733e-02_rb,1.6541e-02_rb,1.5875e-02_rb/) kao(:, 3, 2, 6) = (/ & &2.1842e-04_rb,2.9560e-03_rb,5.0887e-03_rb,7.2752e-03_rb,9.6552e-03_rb,1.2252e-02_rb, & &1.5232e-02_rb,1.9582e-02_rb,1.8968e-02_rb/) kao(:, 4, 2, 6) = (/ & &2.2236e-04_rb,3.3459e-03_rb,5.8736e-03_rb,8.5067e-03_rb,1.1349e-02_rb,1.4414e-02_rb, & &1.7964e-02_rb,2.3187e-02_rb,2.2355e-02_rb/) kao(:, 5, 2, 6) = (/ & &2.2547e-04_rb,3.7713e-03_rb,6.7501e-03_rb,9.9039e-03_rb,1.3264e-02_rb,1.6870e-02_rb, & &2.1032e-02_rb,2.7154e-02_rb,2.6176e-02_rb/) kao(:, 1, 3, 6) = (/ & &3.8749e-04_rb,2.3567e-03_rb,3.5784e-03_rb,4.7302e-03_rb,5.7992e-03_rb,6.7584e-03_rb, & &7.8929e-03_rb,9.6810e-03_rb,9.8950e-03_rb/) kao(:, 2, 3, 6) = (/ & &3.9603e-04_rb,2.6464e-03_rb,4.1366e-03_rb,5.5007e-03_rb,6.7822e-03_rb,8.0470e-03_rb, & &9.4913e-03_rb,1.1619e-02_rb,1.2036e-02_rb/) kao(:, 3, 3, 6) = (/ & &4.0456e-04_rb,2.9559e-03_rb,4.7389e-03_rb,6.3508e-03_rb,7.8799e-03_rb,9.4907e-03_rb, & &1.1392e-02_rb,1.3956e-02_rb,1.4457e-02_rb/) kao(:, 4, 3, 6) = (/ & &4.1360e-04_rb,3.3032e-03_rb,5.4024e-03_rb,7.2987e-03_rb,9.1447e-03_rb,1.1131e-02_rb, & &1.3466e-02_rb,1.6568e-02_rb,1.7113e-02_rb/) kao(:, 5, 3, 6) = (/ & &4.1860e-04_rb,3.6941e-03_rb,6.1025e-03_rb,8.3274e-03_rb,1.0570e-02_rb,1.3013e-02_rb, & &1.5813e-02_rb,1.9496e-02_rb,2.0111e-02_rb/) kao(:, 1, 4, 6) = (/ & &7.1991e-04_rb,2.8586e-03_rb,3.8493e-03_rb,4.6115e-03_rb,5.2750e-03_rb,5.9823e-03_rb, & &6.5939e-03_rb,7.1204e-03_rb,6.9950e-03_rb/) kao(:, 2, 4, 6) = (/ & &7.3932e-04_rb,3.1546e-03_rb,4.3292e-03_rb,5.2487e-03_rb,6.1632e-03_rb,7.0322e-03_rb, & &7.8025e-03_rb,8.5583e-03_rb,8.4949e-03_rb/) kao(:, 3, 4, 6) = (/ & &7.5829e-04_rb,3.4592e-03_rb,4.8355e-03_rb,5.9709e-03_rb,7.1395e-03_rb,8.1909e-03_rb, & &9.1159e-03_rb,1.0292e-02_rb,1.0335e-02_rb/) kao(:, 4, 4, 6) = (/ & &7.6959e-04_rb,3.8025e-03_rb,5.3880e-03_rb,6.7853e-03_rb,8.1872e-03_rb,9.4673e-03_rb, & &1.0631e-02_rb,1.2218e-02_rb,1.2516e-02_rb/) kao(:, 5, 4, 6) = (/ & &7.7964e-04_rb,4.1796e-03_rb,5.9947e-03_rb,7.6582e-03_rb,9.3446e-03_rb,1.0850e-02_rb, & &1.2339e-02_rb,1.4388e-02_rb,1.5009e-02_rb/) kao(:, 1, 5, 6) = (/ & &1.2241e-03_rb,3.4685e-03_rb,4.4046e-03_rb,5.0844e-03_rb,5.4871e-03_rb,5.7179e-03_rb, & &5.7620e-03_rb,5.9818e-03_rb,6.1472e-03_rb/) kao(:, 2, 5, 6) = (/ & &1.2601e-03_rb,3.8071e-03_rb,4.8995e-03_rb,5.7159e-03_rb,6.2114e-03_rb,6.5597e-03_rb, & &6.8164e-03_rb,7.1370e-03_rb,7.3501e-03_rb/) kao(:, 3, 5, 6) = (/ & &1.2927e-03_rb,4.1224e-03_rb,5.4389e-03_rb,6.3889e-03_rb,6.9938e-03_rb,7.4901e-03_rb, & &7.9768e-03_rb,8.3697e-03_rb,8.6918e-03_rb/) kao(:, 4, 5, 6) = (/ & &1.3168e-03_rb,4.4980e-03_rb,6.0112e-03_rb,7.1194e-03_rb,7.8654e-03_rb,8.4979e-03_rb, & &9.2325e-03_rb,9.7616e-03_rb,1.0181e-02_rb/) kao(:, 5, 5, 6) = (/ & &1.3499e-03_rb,4.8864e-03_rb,6.6201e-03_rb,7.8699e-03_rb,8.7970e-03_rb,9.6632e-03_rb, & &1.0606e-02_rb,1.1344e-02_rb,1.1812e-02_rb/) kao(:, 1, 6, 6) = (/ & &1.9359e-03_rb,4.1954e-03_rb,5.0050e-03_rb,5.5462e-03_rb,5.8539e-03_rb,5.9443e-03_rb, & &5.7417e-03_rb,5.1473e-03_rb,5.2472e-03_rb/) kao(:, 2, 6, 6) = (/ & &2.0045e-03_rb,4.5957e-03_rb,5.5374e-03_rb,6.1876e-03_rb,6.5964e-03_rb,6.7501e-03_rb, & &6.5907e-03_rb,6.0581e-03_rb,6.2872e-03_rb/) kao(:, 3, 6, 6) = (/ & &2.0656e-03_rb,4.9538e-03_rb,6.0748e-03_rb,6.8772e-03_rb,7.3778e-03_rb,7.6157e-03_rb, & &7.5054e-03_rb,7.1291e-03_rb,7.4717e-03_rb/) kao(:, 4, 6, 6) = (/ & &2.1235e-03_rb,5.3117e-03_rb,6.6418e-03_rb,7.6042e-03_rb,8.2374e-03_rb,8.5589e-03_rb, & &8.5173e-03_rb,8.3153e-03_rb,8.7345e-03_rb/) kao(:, 5, 6, 6) = (/ & &2.1708e-03_rb,5.7022e-03_rb,7.2758e-03_rb,8.4071e-03_rb,9.1623e-03_rb,9.5678e-03_rb, & &9.5860e-03_rb,9.6197e-03_rb,1.0118e-02_rb/) kao(:, 1, 7, 6) = (/ & &3.2088e-03_rb,5.3976e-03_rb,6.1152e-03_rb,6.4273e-03_rb,6.5565e-03_rb,6.4169e-03_rb, & &6.0483e-03_rb,5.1718e-03_rb,4.3840e-03_rb/) kao(:, 2, 7, 6) = (/ & &3.3329e-03_rb,5.8617e-03_rb,6.7065e-03_rb,7.1293e-03_rb,7.3332e-03_rb,7.2483e-03_rb, & &6.8991e-03_rb,6.0070e-03_rb,5.1893e-03_rb/) kao(:, 3, 7, 6) = (/ & &3.4526e-03_rb,6.3215e-03_rb,7.2907e-03_rb,7.8484e-03_rb,8.1105e-03_rb,8.1244e-03_rb, & &7.7961e-03_rb,6.9012e-03_rb,6.1115e-03_rb/) kao(:, 4, 7, 6) = (/ & &3.5398e-03_rb,6.7841e-03_rb,7.9069e-03_rb,8.5448e-03_rb,8.9613e-03_rb,9.0608e-03_rb, & &8.7760e-03_rb,7.8768e-03_rb,7.1030e-03_rb/) kao(:, 5, 7, 6) = (/ & &3.6419e-03_rb,7.2100e-03_rb,8.5218e-03_rb,9.3036e-03_rb,9.8959e-03_rb,1.0073e-02_rb, & &9.8505e-03_rb,8.9292e-03_rb,8.2308e-03_rb/) kao(:, 1, 8, 6) = (/ & &6.2734e-03_rb,8.1929e-03_rb,8.7347e-03_rb,8.8396e-03_rb,8.5498e-03_rb,7.9153e-03_rb, & &7.0346e-03_rb,5.6808e-03_rb,4.1552e-03_rb/) kao(:, 2, 8, 6) = (/ & &6.5441e-03_rb,8.8580e-03_rb,9.5108e-03_rb,9.7024e-03_rb,9.3653e-03_rb,8.8364e-03_rb, & &7.9480e-03_rb,6.5304e-03_rb,4.9813e-03_rb/) kao(:, 3, 8, 6) = (/ & &6.7938e-03_rb,9.5212e-03_rb,1.0312e-02_rb,1.0573e-02_rb,1.0260e-02_rb,9.7376e-03_rb, & &8.8728e-03_rb,7.4306e-03_rb,5.9661e-03_rb/) kao(:, 4, 8, 6) = (/ & &6.9763e-03_rb,1.0160e-02_rb,1.1107e-02_rb,1.1420e-02_rb,1.1193e-02_rb,1.0684e-02_rb, & &9.8581e-03_rb,8.3990e-03_rb,6.9644e-03_rb/) kao(:, 5, 8, 6) = (/ & &7.1912e-03_rb,1.0832e-02_rb,1.1979e-02_rb,1.2319e-02_rb,1.2084e-02_rb,1.1646e-02_rb, & &1.0942e-02_rb,9.4605e-03_rb,8.0079e-03_rb/) kao(:, 1, 9, 6) = (/ & &2.3423e-02_rb,2.3874e-02_rb,2.2570e-02_rb,2.0907e-02_rb,1.8747e-02_rb,1.6279e-02_rb, & &1.3268e-02_rb,9.1967e-03_rb,5.4472e-03_rb/) kao(:, 2, 9, 6) = (/ & &2.4372e-02_rb,2.5487e-02_rb,2.4526e-02_rb,2.2806e-02_rb,2.0430e-02_rb,1.7721e-02_rb, & &1.4547e-02_rb,1.0257e-02_rb,5.8874e-03_rb/) kao(:, 3, 9, 6) = (/ & &2.5322e-02_rb,2.7228e-02_rb,2.6228e-02_rb,2.4576e-02_rb,2.2164e-02_rb,1.9365e-02_rb, & &1.5921e-02_rb,1.1389e-02_rb,6.8168e-03_rb/) kao(:, 4, 9, 6) = (/ & &2.6144e-02_rb,2.8709e-02_rb,2.7958e-02_rb,2.6366e-02_rb,2.3791e-02_rb,2.0979e-02_rb, & &1.7361e-02_rb,1.2542e-02_rb,7.8623e-03_rb/) kao(:, 5, 9, 6) = (/ & &2.7002e-02_rb,3.0246e-02_rb,2.9564e-02_rb,2.8028e-02_rb,2.5537e-02_rb,2.2731e-02_rb, & &1.8860e-02_rb,1.3722e-02_rb,9.0318e-03_rb/) kao(:, 1,10, 6) = (/ & &9.6759e-02_rb,8.9920e-02_rb,8.0281e-02_rb,6.9298e-02_rb,5.8160e-02_rb,4.6685e-02_rb, & &3.4489e-02_rb,2.1137e-02_rb,9.1317e-03_rb/) kao(:, 2,10, 6) = (/ & &1.0130e-01_rb,9.4928e-02_rb,8.5063e-02_rb,7.4190e-02_rb,6.2751e-02_rb,5.0819e-02_rb, & &3.7815e-02_rb,2.3107e-02_rb,9.7753e-03_rb/) kao(:, 3,10, 6) = (/ & &1.0500e-01_rb,9.9899e-02_rb,9.0245e-02_rb,7.9682e-02_rb,6.7667e-02_rb,5.4638e-02_rb, & &4.0873e-02_rb,2.5040e-02_rb,1.0330e-02_rb/) kao(:, 4,10, 6) = (/ & &1.0896e-01_rb,1.0463e-01_rb,9.5171e-02_rb,8.3946e-02_rb,7.1420e-02_rb,5.8144e-02_rb, & &4.3799e-02_rb,2.7205e-02_rb,1.1084e-02_rb/) kao(:, 5,10, 6) = (/ & &1.1285e-01_rb,1.0942e-01_rb,9.9931e-02_rb,8.8439e-02_rb,7.5783e-02_rb,6.1708e-02_rb, & &4.6484e-02_rb,2.9531e-02_rb,1.2060e-02_rb/) kao(:, 1,11, 6) = (/ & &1.4204e-01_rb,1.2997e-01_rb,1.1520e-01_rb,9.8769e-02_rb,8.1420e-02_rb,6.4217e-02_rb, & &4.6399e-02_rb,2.7414e-02_rb,9.3511e-03_rb/) kao(:, 2,11, 6) = (/ & &1.4781e-01_rb,1.3669e-01_rb,1.2188e-01_rb,1.0492e-01_rb,8.7668e-02_rb,6.9566e-02_rb, & &5.0549e-02_rb,3.0014e-02_rb,1.0330e-02_rb/) kao(:, 3,11, 6) = (/ & &1.5380e-01_rb,1.4353e-01_rb,1.2793e-01_rb,1.1113e-01_rb,9.3325e-02_rb,7.4108e-02_rb, & &5.4029e-02_rb,3.2498e-02_rb,1.1533e-02_rb/) kao(:, 4,11, 6) = (/ & &1.6004e-01_rb,1.5059e-01_rb,1.3460e-01_rb,1.1704e-01_rb,9.8404e-02_rb,7.8709e-02_rb, & &5.7847e-02_rb,3.4798e-02_rb,1.2510e-02_rb/) kao(:, 5,11, 6) = (/ & &1.6529e-01_rb,1.5606e-01_rb,1.4056e-01_rb,1.2310e-01_rb,1.0396e-01_rb,8.3240e-02_rb, & &6.1355e-02_rb,3.7415e-02_rb,1.3283e-02_rb/) kao(:, 1,12, 6) = (/ & &1.5238e-01_rb,1.3897e-01_rb,1.2274e-01_rb,1.0509e-01_rb,8.6816e-02_rb,6.8213e-02_rb, & &4.8813e-02_rb,2.8303e-02_rb,8.9094e-03_rb/) kao(:, 2,12, 6) = (/ & &1.5887e-01_rb,1.4598e-01_rb,1.2939e-01_rb,1.1123e-01_rb,9.2497e-02_rb,7.3141e-02_rb, & &5.2574e-02_rb,3.0889e-02_rb,9.4910e-03_rb/) kao(:, 3,12, 6) = (/ & &1.6583e-01_rb,1.5402e-01_rb,1.3664e-01_rb,1.1788e-01_rb,9.8276e-02_rb,7.7826e-02_rb, & &5.6134e-02_rb,3.3329e-02_rb,1.0354e-02_rb/) kao(:, 4,12, 6) = (/ & &1.7232e-01_rb,1.6056e-01_rb,1.4294e-01_rb,1.2398e-01_rb,1.0387e-01_rb,8.2524e-02_rb, & &5.9981e-02_rb,3.5800e-02_rb,1.1471e-02_rb/) kao(:, 5,12, 6) = (/ & &1.7822e-01_rb,1.6713e-01_rb,1.4985e-01_rb,1.3045e-01_rb,1.0965e-01_rb,8.7208e-02_rb, & &6.3531e-02_rb,3.8400e-02_rb,1.2648e-02_rb/) kao(:, 1,13, 6) = (/ & &1.2851e-01_rb,1.1760e-01_rb,1.0432e-01_rb,8.9471e-02_rb,7.3952e-02_rb,5.7965e-02_rb, & &4.1571e-02_rb,2.4244e-02_rb,7.5271e-03_rb/) kao(:, 2,13, 6) = (/ & &1.3461e-01_rb,1.2431e-01_rb,1.1020e-01_rb,9.4715e-02_rb,7.8713e-02_rb,6.2191e-02_rb, & &4.4720e-02_rb,2.6349e-02_rb,7.9374e-03_rb/) kao(:, 3,13, 6) = (/ & &1.4091e-01_rb,1.3079e-01_rb,1.1585e-01_rb,1.0015e-01_rb,8.3554e-02_rb,6.6181e-02_rb, & &4.7816e-02_rb,2.8551e-02_rb,8.7113e-03_rb/) kao(:, 4,13, 6) = (/ & &1.4657e-01_rb,1.3673e-01_rb,1.2189e-01_rb,1.0573e-01_rb,8.8680e-02_rb,7.0418e-02_rb, & &5.0990e-02_rb,3.0632e-02_rb,9.8158e-03_rb/) kao(:, 5,13, 6) = (/ & &1.5197e-01_rb,1.4281e-01_rb,1.2778e-01_rb,1.1111e-01_rb,9.3402e-02_rb,7.4099e-02_rb, & &5.4192e-02_rb,3.2952e-02_rb,1.0865e-02_rb/) kao(:, 1, 1, 7) = (/ & &2.9775e-04_rb,4.9903e-03_rb,9.5966e-03_rb,1.4458e-02_rb,1.9550e-02_rb,2.5066e-02_rb, & &3.1548e-02_rb,4.0907e-02_rb,3.8920e-02_rb/) kao(:, 2, 1, 7) = (/ & &2.9974e-04_rb,5.8708e-03_rb,1.1484e-02_rb,1.7340e-02_rb,2.3486e-02_rb,3.0156e-02_rb, & &3.8022e-02_rb,4.9522e-02_rb,4.6798e-02_rb/) kao(:, 3, 1, 7) = (/ & &3.0249e-04_rb,6.8379e-03_rb,1.3523e-02_rb,2.0453e-02_rb,2.7734e-02_rb,3.5680e-02_rb, & &4.5116e-02_rb,5.8960e-02_rb,5.5301e-02_rb/) kao(:, 4, 1, 7) = (/ & &3.0505e-04_rb,7.9161e-03_rb,1.5750e-02_rb,2.3843e-02_rb,3.2353e-02_rb,4.1634e-02_rb, & &5.2683e-02_rb,6.9279e-02_rb,6.4544e-02_rb/) kao(:, 5, 1, 7) = (/ & &3.0784e-04_rb,9.1145e-03_rb,1.8178e-02_rb,2.7529e-02_rb,3.7353e-02_rb,4.8074e-02_rb, & &6.0824e-02_rb,8.0052e-02_rb,7.4551e-02_rb/) kao(:, 1, 2, 7) = (/ & &4.4044e-04_rb,4.5745e-03_rb,7.9442e-03_rb,1.1658e-02_rb,1.5612e-02_rb,1.9809e-02_rb, & &2.4586e-02_rb,3.1373e-02_rb,3.0910e-02_rb/) kao(:, 2, 2, 7) = (/ & &4.4502e-04_rb,5.2457e-03_rb,9.4321e-03_rb,1.4009e-02_rb,1.8804e-02_rb,2.3915e-02_rb, & &2.9756e-02_rb,3.8088e-02_rb,3.7317e-02_rb/) kao(:, 3, 2, 7) = (/ & &4.4893e-04_rb,5.9898e-03_rb,1.1101e-02_rb,1.6604e-02_rb,2.2319e-02_rb,2.8413e-02_rb, & &3.5386e-02_rb,4.5425e-02_rb,4.4358e-02_rb/) kao(:, 4, 2, 7) = (/ & &4.5303e-04_rb,6.8346e-03_rb,1.2966e-02_rb,1.9451e-02_rb,2.6168e-02_rb,3.3333e-02_rb, & &4.1534e-02_rb,5.3372e-02_rb,5.2063e-02_rb/) kao(:, 5, 2, 7) = (/ & &4.5653e-04_rb,7.7989e-03_rb,1.5045e-02_rb,2.2592e-02_rb,3.0407e-02_rb,3.8717e-02_rb, & &4.8217e-02_rb,6.1953e-02_rb,6.0541e-02_rb/) kao(:, 1, 3, 7) = (/ & &8.7011e-04_rb,4.7519e-03_rb,7.4191e-03_rb,9.7724e-03_rb,1.2242e-02_rb,1.5076e-02_rb, & &1.8293e-02_rb,2.2402e-02_rb,2.3454e-02_rb/) kao(:, 2, 3, 7) = (/ & &8.7761e-04_rb,5.4004e-03_rb,8.5169e-03_rb,1.1449e-02_rb,1.4656e-02_rb,1.8245e-02_rb, & &2.2203e-02_rb,2.7303e-02_rb,2.8468e-02_rb/) kao(:, 3, 3, 7) = (/ & &8.8555e-04_rb,6.0960e-03_rb,9.7399e-03_rb,1.3383e-02_rb,1.7420e-02_rb,2.1805e-02_rb, & &2.6578e-02_rb,3.2747e-02_rb,3.4102e-02_rb/) kao(:, 4, 3, 7) = (/ & &8.8837e-04_rb,6.8303e-03_rb,1.1116e-02_rb,1.5598e-02_rb,2.0532e-02_rb,2.5757e-02_rb, & &3.1445e-02_rb,3.8773e-02_rb,4.0387e-02_rb/) kao(:, 5, 3, 7) = (/ & &8.9568e-04_rb,7.6159e-03_rb,1.2685e-02_rb,1.8136e-02_rb,2.4011e-02_rb,3.0157e-02_rb, & &3.6817e-02_rb,4.5383e-02_rb,4.7355e-02_rb/) kao(:, 1, 4, 7) = (/ & &1.7216e-03_rb,5.6014e-03_rb,7.5736e-03_rb,9.4674e-03_rb,1.1191e-02_rb,1.2535e-02_rb, & &1.3987e-02_rb,1.6268e-02_rb,1.7296e-02_rb/) kao(:, 2, 4, 7) = (/ & &1.7298e-03_rb,6.1879e-03_rb,8.6832e-03_rb,1.0978e-02_rb,1.2974e-02_rb,1.4749e-02_rb, & &1.6870e-02_rb,1.9909e-02_rb,2.1431e-02_rb/) kao(:, 3, 4, 7) = (/ & &1.7341e-03_rb,6.8367e-03_rb,9.8584e-03_rb,1.2616e-02_rb,1.4944e-02_rb,1.7324e-02_rb, & &2.0237e-02_rb,2.4035e-02_rb,2.5998e-02_rb/) kao(:, 4, 4, 7) = (/ & &1.7534e-03_rb,7.5128e-03_rb,1.1127e-02_rb,1.4362e-02_rb,1.7213e-02_rb,2.0310e-02_rb, & &2.4053e-02_rb,2.8665e-02_rb,3.1074e-02_rb/) kao(:, 5, 4, 7) = (/ & &1.7641e-03_rb,8.2760e-03_rb,1.2507e-02_rb,1.6268e-02_rb,1.9802e-02_rb,2.3773e-02_rb, & &2.8361e-02_rb,3.3846e-02_rb,3.6727e-02_rb/) kao(:, 1, 5, 7) = (/ & &3.0539e-03_rb,7.3205e-03_rb,8.9564e-03_rb,9.9240e-03_rb,1.0675e-02_rb,1.1625e-02_rb, & &1.2424e-02_rb,1.2649e-02_rb,1.2475e-02_rb/) kao(:, 2, 5, 7) = (/ & &3.0697e-03_rb,8.0642e-03_rb,9.9550e-03_rb,1.1166e-02_rb,1.2428e-02_rb,1.3587e-02_rb, & &1.4545e-02_rb,1.5222e-02_rb,1.4936e-02_rb/) kao(:, 3, 5, 7) = (/ & &3.0978e-03_rb,8.8320e-03_rb,1.1001e-02_rb,1.2560e-02_rb,1.4306e-02_rb,1.5802e-02_rb, & &1.6906e-02_rb,1.8302e-02_rb,1.7957e-02_rb/) kao(:, 4, 5, 7) = (/ & &3.1191e-03_rb,9.5288e-03_rb,1.2130e-02_rb,1.4148e-02_rb,1.6348e-02_rb,1.8245e-02_rb, & &1.9668e-02_rb,2.1849e-02_rb,2.2010e-02_rb/) kao(:, 5, 5, 7) = (/ & &3.1173e-03_rb,1.0269e-02_rb,1.3281e-02_rb,1.5937e-02_rb,1.8604e-02_rb,2.0861e-02_rb, & &2.2868e-02_rb,2.5903e-02_rb,2.6735e-02_rb/) kao(:, 1, 6, 7) = (/ & &4.9571e-03_rb,9.1596e-03_rb,1.0920e-02_rb,1.1683e-02_rb,1.1947e-02_rb,1.1808e-02_rb, & &1.1212e-02_rb,1.1074e-02_rb,1.1113e-02_rb/) kao(:, 2, 6, 7) = (/ & &5.0027e-03_rb,9.9969e-03_rb,1.2157e-02_rb,1.3082e-02_rb,1.3449e-02_rb,1.3422e-02_rb, & &1.3156e-02_rb,1.3134e-02_rb,1.3279e-02_rb/) kao(:, 3, 6, 7) = (/ & &5.0299e-03_rb,1.0940e-02_rb,1.3400e-02_rb,1.4481e-02_rb,1.5090e-02_rb,1.5137e-02_rb, & &1.5334e-02_rb,1.5370e-02_rb,1.5787e-02_rb/) kao(:, 4, 6, 7) = (/ & &5.0401e-03_rb,1.1872e-02_rb,1.4616e-02_rb,1.5947e-02_rb,1.6778e-02_rb,1.7087e-02_rb, & &1.7734e-02_rb,1.7868e-02_rb,1.8548e-02_rb/) kao(:, 5, 6, 7) = (/ & &5.0929e-03_rb,1.2799e-02_rb,1.5866e-02_rb,1.7551e-02_rb,1.8584e-02_rb,1.9414e-02_rb, & &2.0410e-02_rb,2.0816e-02_rb,2.1713e-02_rb/) kao(:, 1, 7, 7) = (/ & &8.4314e-03_rb,1.2463e-02_rb,1.3843e-02_rb,1.4407e-02_rb,1.4329e-02_rb,1.3643e-02_rb, & &1.2423e-02_rb,1.0398e-02_rb,1.0049e-02_rb/) kao(:, 2, 7, 7) = (/ & &8.4877e-03_rb,1.3426e-02_rb,1.5237e-02_rb,1.6099e-02_rb,1.6143e-02_rb,1.5465e-02_rb, & &1.4143e-02_rb,1.1980e-02_rb,1.1912e-02_rb/) kao(:, 3, 7, 7) = (/ & &8.5061e-03_rb,1.4450e-02_rb,1.6739e-02_rb,1.7865e-02_rb,1.8006e-02_rb,1.7376e-02_rb, & &1.5998e-02_rb,1.3868e-02_rb,1.3962e-02_rb/) kao(:, 4, 7, 7) = (/ & &8.5919e-03_rb,1.5490e-02_rb,1.8250e-02_rb,1.9632e-02_rb,1.9933e-02_rb,1.9343e-02_rb, & &1.7978e-02_rb,1.6120e-02_rb,1.6346e-02_rb/) kao(:, 5, 7, 7) = (/ & &8.6244e-03_rb,1.6546e-02_rb,1.9762e-02_rb,2.1475e-02_rb,2.1907e-02_rb,2.1414e-02_rb, & &2.0099e-02_rb,1.8617e-02_rb,1.9113e-02_rb/) kao(:, 1, 8, 7) = (/ & &1.6801e-02_rb,2.0166e-02_rb,2.0707e-02_rb,2.0359e-02_rb,1.9438e-02_rb,1.7889e-02_rb, & &1.5556e-02_rb,1.2093e-02_rb,8.8687e-03_rb/) kao(:, 2, 8, 7) = (/ & &1.6841e-02_rb,2.1258e-02_rb,2.2460e-02_rb,2.2381e-02_rb,2.1605e-02_rb,2.0124e-02_rb, & &1.7632e-02_rb,1.3928e-02_rb,1.0513e-02_rb/) kao(:, 3, 8, 7) = (/ & &1.6945e-02_rb,2.2389e-02_rb,2.4138e-02_rb,2.4525e-02_rb,2.3968e-02_rb,2.2498e-02_rb, & &1.9836e-02_rb,1.5792e-02_rb,1.2224e-02_rb/) kao(:, 4, 8, 7) = (/ & &1.7081e-02_rb,2.3610e-02_rb,2.5903e-02_rb,2.6682e-02_rb,2.6351e-02_rb,2.4884e-02_rb, & &2.2197e-02_rb,1.7790e-02_rb,1.4133e-02_rb/) kao(:, 5, 8, 7) = (/ & &1.7107e-02_rb,2.4831e-02_rb,2.7681e-02_rb,2.8814e-02_rb,2.8766e-02_rb,2.7453e-02_rb, & &2.4610e-02_rb,1.9914e-02_rb,1.6383e-02_rb/) kao(:, 1, 9, 7) = (/ & &6.2717e-02_rb,6.2735e-02_rb,5.8603e-02_rb,5.2748e-02_rb,4.6263e-02_rb,3.9117e-02_rb, & &3.0759e-02_rb,2.1087e-02_rb,9.9200e-03_rb/) kao(:, 2, 9, 7) = (/ & &6.3094e-02_rb,6.4670e-02_rb,6.0602e-02_rb,5.5392e-02_rb,4.9420e-02_rb,4.2558e-02_rb, & &3.4002e-02_rb,2.3733e-02_rb,1.2138e-02_rb/) kao(:, 3, 9, 7) = (/ & &6.3563e-02_rb,6.6269e-02_rb,6.3058e-02_rb,5.8357e-02_rb,5.2632e-02_rb,4.5743e-02_rb, & &3.7261e-02_rb,2.6594e-02_rb,1.4716e-02_rb/) kao(:, 4, 9, 7) = (/ & &6.4005e-02_rb,6.8005e-02_rb,6.5556e-02_rb,6.1466e-02_rb,5.6121e-02_rb,4.9302e-02_rb, & &4.0642e-02_rb,2.9533e-02_rb,1.7598e-02_rb/) kao(:, 5, 9, 7) = (/ & &6.4303e-02_rb,6.9477e-02_rb,6.8109e-02_rb,6.4600e-02_rb,5.9691e-02_rb,5.2874e-02_rb, & &4.4056e-02_rb,3.2670e-02_rb,2.0612e-02_rb/) kao(:, 1,10, 7) = (/ & &2.6283e-01_rb,2.3848e-01_rb,2.1237e-01_rb,1.8399e-01_rb,1.5364e-01_rb,1.2096e-01_rb, & &8.6686e-02_rb,5.0921e-02_rb,1.2662e-02_rb/) kao(:, 2,10, 7) = (/ & &2.6495e-01_rb,2.4348e-01_rb,2.1796e-01_rb,1.8933e-01_rb,1.5813e-01_rb,1.2513e-01_rb, & &9.1228e-02_rb,5.5191e-02_rb,1.6120e-02_rb/) kao(:, 3,10, 7) = (/ & &2.6701e-01_rb,2.4762e-01_rb,2.2286e-01_rb,1.9379e-01_rb,1.6250e-01_rb,1.3046e-01_rb, & &9.6273e-02_rb,5.9643e-02_rb,2.0041e-02_rb/) kao(:, 4,10, 7) = (/ & &2.6827e-01_rb,2.5124e-01_rb,2.2683e-01_rb,1.9843e-01_rb,1.6799e-01_rb,1.3618e-01_rb, & &1.0159e-01_rb,6.3939e-02_rb,2.4035e-02_rb/) kao(:, 5,10, 7) = (/ & &2.7234e-01_rb,2.5705e-01_rb,2.3264e-01_rb,2.0401e-01_rb,1.7374e-01_rb,1.4157e-01_rb, & &1.0689e-01_rb,6.8300e-02_rb,2.8241e-02_rb/) kao(:, 1,11, 7) = (/ & &3.8435e-01_rb,3.4486e-01_rb,3.0408e-01_rb,2.6025e-01_rb,2.1577e-01_rb,1.6840e-01_rb, & &1.1827e-01_rb,6.6862e-02_rb,1.4067e-02_rb/) kao(:, 2,11, 7) = (/ & &3.8808e-01_rb,3.5079e-01_rb,3.0947e-01_rb,2.6705e-01_rb,2.2115e-01_rb,1.7271e-01_rb, & &1.2306e-01_rb,7.1102e-02_rb,1.7282e-02_rb/) kao(:, 3,11, 7) = (/ & &3.9133e-01_rb,3.5683e-01_rb,3.1692e-01_rb,2.7320e-01_rb,2.2652e-01_rb,1.7854e-01_rb, & &1.2887e-01_rb,7.5471e-02_rb,2.0650e-02_rb/) kao(:, 4,11, 7) = (/ & &3.9688e-01_rb,3.6404e-01_rb,3.2547e-01_rb,2.8118e-01_rb,2.3421e-01_rb,1.8549e-01_rb, & &1.3490e-01_rb,8.0175e-02_rb,2.4385e-02_rb/) kao(:, 5,11, 7) = (/ & &4.0366e-01_rb,3.7211e-01_rb,3.3310e-01_rb,2.8891e-01_rb,2.4168e-01_rb,1.9277e-01_rb, & &1.4118e-01_rb,8.5255e-02_rb,2.8315e-02_rb/) kao(:, 1,12, 7) = (/ & &4.1788e-01_rb,3.7417e-01_rb,3.2848e-01_rb,2.8026e-01_rb,2.3093e-01_rb,1.7900e-01_rb, & &1.2516e-01_rb,6.9829e-02_rb,1.3077e-02_rb/) kao(:, 2,12, 7) = (/ & &4.2346e-01_rb,3.8197e-01_rb,3.3568e-01_rb,2.8761e-01_rb,2.3734e-01_rb,1.8458e-01_rb, & &1.3037e-01_rb,7.4069e-02_rb,1.6501e-02_rb/) kao(:, 3,12, 7) = (/ & &4.3061e-01_rb,3.9035e-01_rb,3.4485e-01_rb,2.9676e-01_rb,2.4502e-01_rb,1.9175e-01_rb, & &1.3672e-01_rb,7.8434e-02_rb,1.9942e-02_rb/) kao(:, 4,12, 7) = (/ & &4.3991e-01_rb,4.0142e-01_rb,3.5621e-01_rb,3.0583e-01_rb,2.5354e-01_rb,1.9941e-01_rb, & &1.4294e-01_rb,8.2867e-02_rb,2.3156e-02_rb/) kao(:, 5,12, 7) = (/ & &4.5018e-01_rb,4.1383e-01_rb,3.6847e-01_rb,3.1728e-01_rb,2.6385e-01_rb,2.0769e-01_rb, & &1.4984e-01_rb,8.7550e-02_rb,2.5906e-02_rb/) kao(:, 1,13, 7) = (/ & &3.5954e-01_rb,3.2293e-01_rb,2.8290e-01_rb,2.4149e-01_rb,1.9855e-01_rb,1.5392e-01_rb, & &1.0799e-01_rb,6.0538e-02_rb,1.1582e-02_rb/) kao(:, 2,13, 7) = (/ & &3.6620e-01_rb,3.3095e-01_rb,2.9118e-01_rb,2.4962e-01_rb,2.0579e-01_rb,1.6035e-01_rb, & &1.1345e-01_rb,6.4561e-02_rb,1.4555e-02_rb/) kao(:, 3,13, 7) = (/ & &3.7497e-01_rb,3.4139e-01_rb,3.0205e-01_rb,2.5902e-01_rb,2.1397e-01_rb,1.6755e-01_rb, & &1.1907e-01_rb,6.8274e-02_rb,1.7516e-02_rb/) kao(:, 4,13, 7) = (/ & &3.8491e-01_rb,3.5293e-01_rb,3.1344e-01_rb,2.6951e-01_rb,2.2338e-01_rb,1.7537e-01_rb, & &1.2550e-01_rb,7.2213e-02_rb,1.9685e-02_rb/) kao(:, 5,13, 7) = (/ & &3.9456e-01_rb,3.6430e-01_rb,3.2370e-01_rb,2.7885e-01_rb,2.3209e-01_rb,1.8326e-01_rb, & &1.3235e-01_rb,7.6929e-02_rb,2.1105e-02_rb/) kao(:, 1, 1, 8) = (/ & &6.2097e-04_rb,1.4117e-02_rb,2.8277e-02_rb,4.2775e-02_rb,5.7848e-02_rb,7.3960e-02_rb, & &9.2407e-02_rb,1.1864e-01_rb,1.1554e-01_rb/) kao(:, 2, 1, 8) = (/ & &6.1974e-04_rb,1.6905e-02_rb,3.3889e-02_rb,5.1276e-02_rb,6.9348e-02_rb,8.8703e-02_rb, & &1.1084e-01_rb,1.4177e-01_rb,1.3853e-01_rb/) kao(:, 3, 1, 8) = (/ & &6.1587e-04_rb,1.9900e-02_rb,3.9925e-02_rb,6.0422e-02_rb,8.1729e-02_rb,1.0451e-01_rb, & &1.3061e-01_rb,1.6696e-01_rb,1.6328e-01_rb/) kao(:, 4, 1, 8) = (/ & &6.1184e-04_rb,2.3086e-02_rb,4.6344e-02_rb,7.0163e-02_rb,9.4901e-02_rb,1.2137e-01_rb, & &1.5165e-01_rb,1.9370e-01_rb,1.8962e-01_rb/) kao(:, 5, 1, 8) = (/ & &6.0950e-04_rb,2.6468e-02_rb,5.3164e-02_rb,8.0478e-02_rb,1.0886e-01_rb,1.3922e-01_rb, & &1.7398e-01_rb,2.2192e-01_rb,2.1753e-01_rb/) kao(:, 1, 2, 8) = (/ & &9.4214e-04_rb,1.1864e-02_rb,2.3368e-02_rb,3.5168e-02_rb,4.7308e-02_rb,6.0060e-02_rb, & &7.4293e-02_rb,9.3548e-02_rb,9.4381e-02_rb/) kao(:, 2, 2, 8) = (/ & &9.3967e-04_rb,1.4205e-02_rb,2.8221e-02_rb,4.2491e-02_rb,5.7165e-02_rb,7.2616e-02_rb, & &8.9835e-02_rb,1.1322e-01_rb,1.1408e-01_rb/) kao(:, 3, 2, 8) = (/ & &9.3666e-04_rb,1.6793e-02_rb,3.3453e-02_rb,5.0403e-02_rb,6.7823e-02_rb,8.6143e-02_rb, & &1.0657e-01_rb,1.3437e-01_rb,1.3538e-01_rb/) kao(:, 4, 2, 8) = (/ & &9.3490e-04_rb,1.9589e-02_rb,3.9087e-02_rb,5.8901e-02_rb,7.9281e-02_rb,1.0068e-01_rb, & &1.2458e-01_rb,1.5697e-01_rb,1.5829e-01_rb/) kao(:, 5, 2, 8) = (/ & &9.3255e-04_rb,2.2561e-02_rb,4.5087e-02_rb,6.7983e-02_rb,9.1508e-02_rb,1.1621e-01_rb, & &1.4375e-01_rb,1.8108e-01_rb,1.8274e-01_rb/) kao(:, 1, 3, 8) = (/ & &1.9614e-03_rb,1.1299e-02_rb,1.9005e-02_rb,2.7782e-02_rb,3.7000e-02_rb,4.6522e-02_rb, & &5.6657e-02_rb,6.9080e-02_rb,7.3508e-02_rb/) kao(:, 2, 3, 8) = (/ & &1.9548e-03_rb,1.2955e-02_rb,2.2891e-02_rb,3.3903e-02_rb,4.5254e-02_rb,5.6922e-02_rb, & &6.9355e-02_rb,8.4555e-02_rb,9.0001e-02_rb/) kao(:, 3, 3, 8) = (/ & &1.9534e-03_rb,1.4833e-02_rb,2.7240e-02_rb,4.0599e-02_rb,5.4239e-02_rb,6.8264e-02_rb, & &8.3194e-02_rb,1.0146e-01_rb,1.0796e-01_rb/) kao(:, 4, 3, 8) = (/ & &1.9479e-03_rb,1.6939e-02_rb,3.1981e-02_rb,4.7805e-02_rb,6.3918e-02_rb,8.0501e-02_rb, & &9.8164e-02_rb,1.1980e-01_rb,1.2731e-01_rb/) kao(:, 5, 3, 8) = (/ & &1.9437e-03_rb,1.9215e-02_rb,3.7014e-02_rb,5.5432e-02_rb,7.4159e-02_rb,9.3422e-02_rb, & &1.1404e-01_rb,1.3937e-01_rb,1.4780e-01_rb/) kao(:, 1, 4, 8) = (/ & &4.1141e-03_rb,1.2873e-02_rb,1.8872e-02_rb,2.3795e-02_rb,2.9310e-02_rb,3.5813e-02_rb, & &4.3001e-02_rb,5.1220e-02_rb,5.6278e-02_rb/) kao(:, 2, 4, 8) = (/ & &4.1183e-03_rb,1.4575e-02_rb,2.1599e-02_rb,2.8253e-02_rb,3.5801e-02_rb,4.4309e-02_rb, & &5.3363e-02_rb,6.3628e-02_rb,6.9867e-02_rb/) kao(:, 3, 4, 8) = (/ & &4.1349e-03_rb,1.6355e-02_rb,2.4672e-02_rb,3.3305e-02_rb,4.3074e-02_rb,5.3625e-02_rb, & &6.4673e-02_rb,7.7228e-02_rb,8.4695e-02_rb/) kao(:, 4, 4, 8) = (/ & &4.1308e-03_rb,1.8173e-02_rb,2.8034e-02_rb,3.8865e-02_rb,5.0949e-02_rb,6.3606e-02_rb, & &7.6798e-02_rb,9.1846e-02_rb,1.0056e-01_rb/) kao(:, 5, 4, 8) = (/ & &4.1264e-03_rb,1.9905e-02_rb,3.1676e-02_rb,4.4946e-02_rb,5.9333e-02_rb,7.4191e-02_rb, & &8.9640e-02_rb,1.0735e-01_rb,1.1739e-01_rb/) kao(:, 1, 5, 8) = (/ & &7.8459e-03_rb,1.5273e-02_rb,2.0315e-02_rb,2.4490e-02_rb,2.7833e-02_rb,3.0201e-02_rb, & &3.3378e-02_rb,3.8411e-02_rb,4.1001e-02_rb/) kao(:, 2, 5, 8) = (/ & &7.8747e-03_rb,1.6898e-02_rb,2.3176e-02_rb,2.8487e-02_rb,3.2405e-02_rb,3.6383e-02_rb, & &4.1437e-02_rb,4.8316e-02_rb,5.2769e-02_rb/) kao(:, 3, 5, 8) = (/ & &7.8992e-03_rb,1.8661e-02_rb,2.6253e-02_rb,3.2541e-02_rb,3.7550e-02_rb,4.3266e-02_rb, & &5.0422e-02_rb,5.9136e-02_rb,6.5527e-02_rb/) kao(:, 4, 5, 8) = (/ & &7.8989e-03_rb,2.0558e-02_rb,2.9408e-02_rb,3.6576e-02_rb,4.3219e-02_rb,5.0946e-02_rb, & &6.0207e-02_rb,7.0821e-02_rb,7.8616e-02_rb/) kao(:, 5, 5, 8) = (/ & &7.9229e-03_rb,2.2512e-02_rb,3.2599e-02_rb,4.0913e-02_rb,4.9454e-02_rb,5.9390e-02_rb, & &7.0729e-02_rb,8.3313e-02_rb,9.2573e-02_rb/) kao(:, 1, 6, 8) = (/ & &1.3755e-02_rb,2.1264e-02_rb,2.4103e-02_rb,2.5712e-02_rb,2.7798e-02_rb,2.9236e-02_rb, & &2.9846e-02_rb,2.9593e-02_rb,2.7586e-02_rb/) kao(:, 2, 6, 8) = (/ & &1.3782e-02_rb,2.2999e-02_rb,2.6490e-02_rb,2.9514e-02_rb,3.2454e-02_rb,3.4496e-02_rb, & &3.5566e-02_rb,3.7000e-02_rb,3.5132e-02_rb/) kao(:, 3, 6, 8) = (/ & &1.3863e-02_rb,2.4665e-02_rb,2.9042e-02_rb,3.3641e-02_rb,3.7254e-02_rb,4.0147e-02_rb, & &4.1998e-02_rb,4.5403e-02_rb,4.4921e-02_rb/) kao(:, 4, 6, 8) = (/ & &1.3921e-02_rb,2.6309e-02_rb,3.1937e-02_rb,3.7874e-02_rb,4.2332e-02_rb,4.5980e-02_rb, & &4.9161e-02_rb,5.4719e-02_rb,5.5713e-02_rb/) kao(:, 5, 6, 8) = (/ & &1.4010e-02_rb,2.7955e-02_rb,3.5119e-02_rb,4.2034e-02_rb,4.7545e-02_rb,5.2148e-02_rb, & &5.7163e-02_rb,6.4833e-02_rb,6.7480e-02_rb/) kao(:, 1, 7, 8) = (/ & &2.4762e-02_rb,3.1775e-02_rb,3.3749e-02_rb,3.4176e-02_rb,3.3323e-02_rb,3.1060e-02_rb, & &2.9254e-02_rb,2.6750e-02_rb,2.6287e-02_rb/) kao(:, 2, 7, 8) = (/ & &2.4951e-02_rb,3.3870e-02_rb,3.6729e-02_rb,3.7700e-02_rb,3.7125e-02_rb,3.5645e-02_rb, & &3.4725e-02_rb,3.2382e-02_rb,3.2363e-02_rb/) kao(:, 3, 7, 8) = (/ & &2.5173e-02_rb,3.5837e-02_rb,3.9660e-02_rb,4.1206e-02_rb,4.1346e-02_rb,4.1029e-02_rb, & &4.0471e-02_rb,3.8518e-02_rb,3.8913e-02_rb/) kao(:, 4, 7, 8) = (/ & &2.5363e-02_rb,3.7886e-02_rb,4.2599e-02_rb,4.5028e-02_rb,4.5616e-02_rb,4.6713e-02_rb, & &4.6613e-02_rb,4.5204e-02_rb,4.5916e-02_rb/) kao(:, 5, 7, 8) = (/ & &2.5554e-02_rb,3.9913e-02_rb,4.5725e-02_rb,4.8757e-02_rb,5.0398e-02_rb,5.2532e-02_rb, & &5.3118e-02_rb,5.2718e-02_rb,5.3341e-02_rb/) kao(:, 1, 8, 8) = (/ & &5.1772e-02_rb,5.6742e-02_rb,5.6311e-02_rb,5.3676e-02_rb,4.9761e-02_rb,4.4432e-02_rb, & &3.7642e-02_rb,2.8159e-02_rb,2.5366e-02_rb/) kao(:, 2, 8, 8) = (/ & &5.2310e-02_rb,5.9935e-02_rb,6.0103e-02_rb,5.8243e-02_rb,5.4861e-02_rb,4.9530e-02_rb, & &4.2560e-02_rb,3.2942e-02_rb,3.0796e-02_rb/) kao(:, 3, 8, 8) = (/ & &5.2803e-02_rb,6.3037e-02_rb,6.4134e-02_rb,6.2766e-02_rb,5.9645e-02_rb,5.4655e-02_rb, & &4.7864e-02_rb,3.8688e-02_rb,3.7143e-02_rb/) kao(:, 4, 8, 8) = (/ & &5.3460e-02_rb,6.5918e-02_rb,6.8003e-02_rb,6.7271e-02_rb,6.4711e-02_rb,6.0132e-02_rb, & &5.3215e-02_rb,4.4724e-02_rb,4.4005e-02_rb/) kao(:, 5, 8, 8) = (/ & &5.3710e-02_rb,6.8699e-02_rb,7.1633e-02_rb,7.2036e-02_rb,6.9887e-02_rb,6.5520e-02_rb, & &5.8694e-02_rb,5.1143e-02_rb,5.1305e-02_rb/) kao(:, 1, 9, 8) = (/ & &2.0198e-01_rb,1.8901e-01_rb,1.7403e-01_rb,1.5566e-01_rb,1.3460e-01_rb,1.1050e-01_rb, & &8.4423e-02_rb,5.5049e-02_rb,2.7409e-02_rb/) kao(:, 2, 9, 8) = (/ & &2.0495e-01_rb,1.9639e-01_rb,1.8291e-01_rb,1.6519e-01_rb,1.4305e-01_rb,1.1881e-01_rb, & &9.2245e-02_rb,6.1787e-02_rb,3.3663e-02_rb/) kao(:, 3, 9, 8) = (/ & &2.0775e-01_rb,2.0359e-01_rb,1.9173e-01_rb,1.7370e-01_rb,1.5212e-01_rb,1.2752e-01_rb, & &1.0028e-01_rb,6.8520e-02_rb,3.9556e-02_rb/) kao(:, 4, 9, 8) = (/ & &2.0971e-01_rb,2.1033e-01_rb,1.9959e-01_rb,1.8173e-01_rb,1.6052e-01_rb,1.3619e-01_rb, & &1.0838e-01_rb,7.5430e-02_rb,4.6210e-02_rb/) kao(:, 5, 9, 8) = (/ & &2.1122e-01_rb,2.1661e-01_rb,2.0701e-01_rb,1.8977e-01_rb,1.6868e-01_rb,1.4451e-01_rb, & &1.1695e-01_rb,8.2426e-02_rb,5.2611e-02_rb/) kao(:, 1,10, 8) = (/ & &8.7179e-01_rb,7.7305e-01_rb,6.7676e-01_rb,5.7800e-01_rb,4.7858e-01_rb,3.7509e-01_rb, & &2.6780e-01_rb,1.5257e-01_rb,3.4825e-02_rb/) kao(:, 2,10, 8) = (/ & &8.8690e-01_rb,7.9154e-01_rb,6.9682e-01_rb,6.0089e-01_rb,5.0085e-01_rb,3.9677e-01_rb, & &2.8510e-01_rb,1.6381e-01_rb,4.0840e-02_rb/) kao(:, 3,10, 8) = (/ & &8.9846e-01_rb,8.0873e-01_rb,7.1712e-01_rb,6.2211e-01_rb,5.2235e-01_rb,4.1529e-01_rb, & &3.0033e-01_rb,1.7576e-01_rb,4.8253e-02_rb/) kao(:, 4,10, 8) = (/ & &9.1202e-01_rb,8.2713e-01_rb,7.3854e-01_rb,6.4399e-01_rb,5.4276e-01_rb,4.3255e-01_rb, & &3.1463e-01_rb,1.8727e-01_rb,5.7567e-02_rb/) kao(:, 5,10, 8) = (/ & &9.1292e-01_rb,8.3520e-01_rb,7.5311e-01_rb,6.6058e-01_rb,5.5851e-01_rb,4.4868e-01_rb, & &3.2919e-01_rb,1.9841e-01_rb,6.5659e-02_rb/) kao(:, 1,11, 8) = (/ & &1.3103e+00_rb,1.1565e+00_rb,1.0072e+00_rb,8.5492e-01_rb,7.0080e-01_rb,5.4405e-01_rb, & &3.8288e-01_rb,2.1296e-01_rb,3.6932e-02_rb/) kao(:, 2,11, 8) = (/ & &1.3299e+00_rb,1.1796e+00_rb,1.0327e+00_rb,8.8125e-01_rb,7.2693e-01_rb,5.6857e-01_rb, & &4.0335e-01_rb,2.2633e-01_rb,4.3190e-02_rb/) kao(:, 3,11, 8) = (/ & &1.3530e+00_rb,1.2064e+00_rb,1.0600e+00_rb,9.1131e-01_rb,7.5598e-01_rb,5.9411e-01_rb, & &4.2265e-01_rb,2.3978e-01_rb,5.2762e-02_rb/) kao(:, 4,11, 8) = (/ & &1.3587e+00_rb,1.2195e+00_rb,1.0781e+00_rb,9.3079e-01_rb,7.7634e-01_rb,6.1327e-01_rb, & &4.3892e-01_rb,2.5297e-01_rb,6.4865e-02_rb/) kao(:, 5,11, 8) = (/ & &1.3600e+00_rb,1.2284e+00_rb,1.0908e+00_rb,9.4457e-01_rb,7.9211e-01_rb,6.2699e-01_rb, & &4.5262e-01_rb,2.6437e-01_rb,7.6848e-02_rb/) kao(:, 1,12, 8) = (/ & &1.4407e+00_rb,1.2713e+00_rb,1.1065e+00_rb,9.3835e-01_rb,7.6825e-01_rb,5.9432e-01_rb, & &4.1638e-01_rb,2.2888e-01_rb,3.4685e-02_rb/) kao(:, 2,12, 8) = (/ & &1.4696e+00_rb,1.3029e+00_rb,1.1378e+00_rb,9.6981e-01_rb,7.9767e-01_rb,6.2103e-01_rb, & &4.3779e-01_rb,2.4254e-01_rb,4.2654e-02_rb/) kao(:, 3,12, 8) = (/ & &1.4810e+00_rb,1.3211e+00_rb,1.1578e+00_rb,9.9148e-01_rb,8.2013e-01_rb,6.4181e-01_rb, & &4.5466e-01_rb,2.5578e-01_rb,5.2496e-02_rb/) kao(:, 4,12, 8) = (/ & &1.4858e+00_rb,1.3306e+00_rb,1.1727e+00_rb,1.0074e+00_rb,8.3618e-01_rb,6.5672e-01_rb, & &4.6743e-01_rb,2.6737e-01_rb,6.3361e-02_rb/) kao(:, 5,12, 8) = (/ & &1.4815e+00_rb,1.3335e+00_rb,1.1804e+00_rb,1.0190e+00_rb,8.4985e-01_rb,6.7121e-01_rb, & &4.8121e-01_rb,2.7853e-01_rb,7.5291e-02_rb/) kao(:, 1,13, 8) = (/ & &1.2616e+00_rb,1.1163e+00_rb,9.7204e-01_rb,8.2547e-01_rb,6.7669e-01_rb,5.2391e-01_rb, & &3.6673e-01_rb,2.0106e-01_rb,2.9782e-02_rb/) kao(:, 2,13, 8) = (/ & &1.2777e+00_rb,1.1375e+00_rb,9.9345e-01_rb,8.4804e-01_rb,6.9806e-01_rb,5.4388e-01_rb, & &3.8298e-01_rb,2.1265e-01_rb,3.7539e-02_rb/) kao(:, 3,13, 8) = (/ & &1.2857e+00_rb,1.1501e+00_rb,1.0105e+00_rb,8.6538e-01_rb,7.1567e-01_rb,5.5928e-01_rb, & &3.9596e-01_rb,2.2292e-01_rb,4.5370e-02_rb/) kao(:, 4,13, 8) = (/ & &1.2877e+00_rb,1.1566e+00_rb,1.0204e+00_rb,8.7739e-01_rb,7.2832e-01_rb,5.7170e-01_rb, & &4.0727e-01_rb,2.3325e-01_rb,5.5134e-02_rb/) kao(:, 5,13, 8) = (/ & &1.2810e+00_rb,1.1580e+00_rb,1.0267e+00_rb,8.8778e-01_rb,7.3941e-01_rb,5.8252e-01_rb, & &4.1760e-01_rb,2.4248e-01_rb,6.6222e-02_rb/) kao(:, 1, 1, 9) = (/ & &1.6209e-03_rb,5.7589e-02_rb,1.1558e-01_rb,1.7436e-01_rb,2.3438e-01_rb,2.9678e-01_rb, & &3.6435e-01_rb,4.4557e-01_rb,4.6867e-01_rb/) kao(:, 2, 1, 9) = (/ & &1.6160e-03_rb,6.8254e-02_rb,1.3700e-01_rb,2.0665e-01_rb,2.7776e-01_rb,3.5160e-01_rb, & &4.3147e-01_rb,5.2804e-01_rb,5.5543e-01_rb/) kao(:, 3, 1, 9) = (/ & &1.6156e-03_rb,7.9739e-02_rb,1.6004e-01_rb,2.4140e-01_rb,3.2446e-01_rb,4.1061e-01_rb, & &5.0337e-01_rb,6.1528e-01_rb,6.4882e-01_rb/) kao(:, 4, 1, 9) = (/ & &1.6118e-03_rb,9.1878e-02_rb,1.8447e-01_rb,2.7828e-01_rb,3.7409e-01_rb,4.7339e-01_rb, & &5.8011e-01_rb,7.0748e-01_rb,7.4809e-01_rb/) kao(:, 5, 1, 9) = (/ & &1.6027e-03_rb,1.0449e-01_rb,2.0983e-01_rb,3.1665e-01_rb,4.2579e-01_rb,5.3908e-01_rb, & &6.6087e-01_rb,8.0485e-01_rb,8.5148e-01_rb/) kao(:, 1, 2, 9) = (/ & &2.5385e-03_rb,4.9947e-02_rb,1.0010e-01_rb,1.5075e-01_rb,2.0224e-01_rb,2.5529e-01_rb, & &3.1202e-01_rb,3.8059e-01_rb,4.0436e-01_rb/) kao(:, 2, 2, 9) = (/ & &2.5420e-03_rb,5.9613e-02_rb,1.1949e-01_rb,1.7998e-01_rb,2.4152e-01_rb,3.0496e-01_rb, & &3.7260e-01_rb,4.5413e-01_rb,4.8291e-01_rb/) kao(:, 3, 2, 9) = (/ & &2.5425e-03_rb,6.9977e-02_rb,1.4031e-01_rb,2.1138e-01_rb,2.8370e-01_rb,3.5840e-01_rb, & &4.3825e-01_rb,5.3358e-01_rb,5.6726e-01_rb/) kao(:, 4, 2, 9) = (/ & &2.5349e-03_rb,8.0938e-02_rb,1.6229e-01_rb,2.4456e-01_rb,3.2834e-01_rb,4.1497e-01_rb, & &5.0769e-01_rb,6.1900e-01_rb,6.5654e-01_rb/) kao(:, 5, 2, 9) = (/ & &2.5236e-03_rb,9.2377e-02_rb,1.8522e-01_rb,2.7915e-01_rb,3.7480e-01_rb,4.7381e-01_rb, & &5.8018e-01_rb,7.0850e-01_rb,7.4944e-01_rb/) kao(:, 1, 3, 9) = (/ & &5.2884e-03_rb,4.1358e-02_rb,8.2480e-02_rb,1.2391e-01_rb,1.6574e-01_rb,2.0832e-01_rb, & &2.5278e-01_rb,3.0394e-01_rb,3.3126e-01_rb/) kao(:, 2, 3, 9) = (/ & &5.3098e-03_rb,4.9746e-02_rb,9.9365e-02_rb,1.4928e-01_rb,1.9972e-01_rb,2.5111e-01_rb, & &3.0480e-01_rb,3.6676e-01_rb,3.9919e-01_rb/) kao(:, 3, 3, 9) = (/ & &5.3133e-03_rb,5.8864e-02_rb,1.1765e-01_rb,1.7679e-01_rb,2.3653e-01_rb,2.9742e-01_rb, & &3.6115e-01_rb,4.3493e-01_rb,4.7279e-01_rb/) kao(:, 4, 3, 9) = (/ & &5.3184e-03_rb,6.8570e-02_rb,1.3708e-01_rb,2.0601e-01_rb,2.7562e-01_rb,3.4665e-01_rb, & &4.2100e-01_rb,5.0744e-01_rb,5.5094e-01_rb/) kao(:, 5, 3, 9) = (/ & &5.2937e-03_rb,7.8913e-02_rb,1.5776e-01_rb,2.3709e-01_rb,3.1721e-01_rb,3.9889e-01_rb, & &4.8431e-01_rb,5.8366e-01_rb,6.3409e-01_rb/) kao(:, 1, 4, 9) = (/ & &1.1189e-02_rb,3.7631e-02_rb,6.6855e-02_rb,9.9420e-02_rb,1.3264e-01_rb,1.6622e-01_rb, & &2.0064e-01_rb,2.3828e-01_rb,2.6479e-01_rb/) kao(:, 2, 4, 9) = (/ & &1.1235e-02_rb,4.3836e-02_rb,8.1298e-02_rb,1.2151e-01_rb,1.6212e-01_rb,2.0319e-01_rb, & &2.4526e-01_rb,2.9131e-01_rb,3.2370e-01_rb/) kao(:, 3, 4, 9) = (/ & &1.1256e-02_rb,5.0846e-02_rb,9.7157e-02_rb,1.4551e-01_rb,1.9420e-01_rb,2.4340e-01_rb, & &2.9384e-01_rb,3.4897e-01_rb,3.8783e-01_rb/) kao(:, 4, 4, 9) = (/ & &1.1233e-02_rb,5.8695e-02_rb,1.1439e-01_rb,1.7147e-01_rb,2.2883e-01_rb,2.8678e-01_rb, & &3.4608e-01_rb,4.1077e-01_rb,4.5705e-01_rb/) kao(:, 5, 4, 9) = (/ & &1.1193e-02_rb,6.7408e-02_rb,1.3290e-01_rb,1.9926e-01_rb,2.6591e-01_rb,3.3325e-01_rb, & &4.0214e-01_rb,4.7714e-01_rb,5.3115e-01_rb/) kao(:, 1, 5, 9) = (/ & &2.1456e-02_rb,4.5196e-02_rb,6.1958e-02_rb,8.2153e-02_rb,1.0545e-01_rb,1.3112e-01_rb, & &1.5772e-01_rb,1.8584e-01_rb,2.0874e-01_rb/) kao(:, 2, 5, 9) = (/ & &2.1627e-02_rb,4.9543e-02_rb,7.2420e-02_rb,9.9628e-02_rb,1.3042e-01_rb,1.6274e-01_rb, & &1.9580e-01_rb,2.3075e-01_rb,2.5926e-01_rb/) kao(:, 3, 5, 9) = (/ & &2.1648e-02_rb,5.4430e-02_rb,8.4381e-02_rb,1.1963e-01_rb,1.5816e-01_rb,1.9769e-01_rb, & &2.3786e-01_rb,2.8024e-01_rb,3.1505e-01_rb/) kao(:, 4, 5, 9) = (/ & &2.1655e-02_rb,5.9909e-02_rb,9.8020e-02_rb,1.4216e-01_rb,1.8871e-01_rb,2.3596e-01_rb, & &2.8391e-01_rb,3.3439e-01_rb,3.7619e-01_rb/) kao(:, 5, 5, 9) = (/ & &2.1575e-02_rb,6.6071e-02_rb,1.1341e-01_rb,1.6675e-01_rb,2.2186e-01_rb,2.7746e-01_rb, & &3.3388e-01_rb,3.9317e-01_rb,4.4246e-01_rb/) kao(:, 1, 6, 9) = (/ & &3.8314e-02_rb,5.9481e-02_rb,7.1457e-02_rb,8.1684e-02_rb,9.1784e-02_rb,1.0487e-01_rb, & &1.2171e-01_rb,1.4213e-01_rb,1.5860e-01_rb/) kao(:, 2, 6, 9) = (/ & &3.8611e-02_rb,6.4337e-02_rb,7.9461e-02_rb,9.3850e-02_rb,1.0993e-01_rb,1.2967e-01_rb, & &1.5327e-01_rb,1.7946e-01_rb,2.0255e-01_rb/) kao(:, 3, 6, 9) = (/ & &3.8670e-02_rb,6.9241e-02_rb,8.8613e-02_rb,1.0808e-01_rb,1.3134e-01_rb,1.5836e-01_rb, & &1.8890e-01_rb,2.2142e-01_rb,2.5002e-01_rb/) kao(:, 4, 6, 9) = (/ & &3.8675e-02_rb,7.4319e-02_rb,9.8760e-02_rb,1.2484e-01_rb,1.5591e-01_rb,1.9105e-01_rb, & &2.2866e-01_rb,2.6805e-01_rb,3.0304e-01_rb/) kao(:, 5, 6, 9) = (/ & &3.8508e-02_rb,7.9526e-02_rb,1.0987e-01_rb,1.4404e-01_rb,1.8357e-01_rb,2.2696e-01_rb, & &2.7218e-01_rb,3.1912e-01_rb,3.6102e-01_rb/) kao(:, 1, 7, 9) = (/ & &7.2084e-02_rb,8.8512e-02_rb,9.7172e-02_rb,1.0090e-01_rb,1.0168e-01_rb,1.0216e-01_rb, & &1.0271e-01_rb,1.0842e-01_rb,1.0501e-01_rb/) kao(:, 2, 7, 9) = (/ & &7.2564e-02_rb,9.4711e-02_rb,1.0583e-01_rb,1.1196e-01_rb,1.1550e-01_rb,1.2008e-01_rb, & &1.2583e-01_rb,1.3849e-01_rb,1.4021e-01_rb/) kao(:, 3, 7, 9) = (/ & &7.2730e-02_rb,1.0095e-01_rb,1.1490e-01_rb,1.2380e-01_rb,1.3141e-01_rb,1.4065e-01_rb, & &1.5344e-01_rb,1.7335e-01_rb,1.8125e-01_rb/) kao(:, 4, 7, 9) = (/ & &7.2941e-02_rb,1.0706e-01_rb,1.2422e-01_rb,1.3654e-01_rb,1.5005e-01_rb,1.6497e-01_rb, & &1.8541e-01_rb,2.1284e-01_rb,2.2809e-01_rb/) kao(:, 5, 7, 9) = (/ & &7.3026e-02_rb,1.1297e-01_rb,1.3379e-01_rb,1.5116e-01_rb,1.7068e-01_rb,1.9286e-01_rb, & &2.2139e-01_rb,2.5637e-01_rb,2.7993e-01_rb/) kao(:, 1, 8, 9) = (/ & &1.6179e-01_rb,1.6443e-01_rb,1.6310e-01_rb,1.5765e-01_rb,1.4868e-01_rb,1.3533e-01_rb, & &1.1770e-01_rb,9.8380e-02_rb,8.1836e-02_rb/) kao(:, 2, 8, 9) = (/ & &1.6423e-01_rb,1.7218e-01_rb,1.7516e-01_rb,1.7171e-01_rb,1.6374e-01_rb,1.5153e-01_rb, & &1.3534e-01_rb,1.1999e-01_rb,1.0061e-01_rb/) kao(:, 3, 8, 9) = (/ & &1.6654e-01_rb,1.7965e-01_rb,1.8707e-01_rb,1.8587e-01_rb,1.7956e-01_rb,1.6926e-01_rb, & &1.5537e-01_rb,1.4544e-01_rb,1.2284e-01_rb/) kao(:, 4, 8, 9) = (/ & &1.6762e-01_rb,1.8741e-01_rb,1.9894e-01_rb,2.0043e-01_rb,1.9638e-01_rb,1.8821e-01_rb, & &1.7907e-01_rb,1.7570e-01_rb,1.5659e-01_rb/) kao(:, 5, 8, 9) = (/ & &1.6808e-01_rb,1.9570e-01_rb,2.1084e-01_rb,2.1493e-01_rb,2.1406e-01_rb,2.0908e-01_rb, & &2.0616e-01_rb,2.1009e-01_rb,1.9730e-01_rb/) kao(:, 1, 9, 9) = (/ & &7.0428e-01_rb,6.3434e-01_rb,5.6644e-01_rb,4.9559e-01_rb,4.2070e-01_rb,3.4143e-01_rb, & &2.6063e-01_rb,1.7246e-01_rb,1.1446e-01_rb/) kao(:, 2, 9, 9) = (/ & &7.1533e-01_rb,6.5148e-01_rb,5.8487e-01_rb,5.1694e-01_rb,4.4379e-01_rb,3.6693e-01_rb, & &2.8562e-01_rb,1.9355e-01_rb,1.3717e-01_rb/) kao(:, 3, 9, 9) = (/ & &7.2105e-01_rb,6.6501e-01_rb,6.0595e-01_rb,5.4025e-01_rb,4.6705e-01_rb,3.9267e-01_rb, & &3.1101e-01_rb,2.1648e-01_rb,1.6351e-01_rb/) kao(:, 4, 9, 9) = (/ & &7.2262e-01_rb,6.7430e-01_rb,6.2376e-01_rb,5.6249e-01_rb,4.9295e-01_rb,4.1839e-01_rb, & &3.3764e-01_rb,2.4119e-01_rb,1.9114e-01_rb/) kao(:, 5, 9, 9) = (/ & &7.2252e-01_rb,6.8406e-01_rb,6.4078e-01_rb,5.8400e-01_rb,5.1738e-01_rb,4.4614e-01_rb, & &3.6505e-01_rb,2.6763e-01_rb,2.2362e-01_rb/) kao(:, 1,10, 9) = (/ & &3.3754e+00_rb,2.9579e+00_rb,2.5567e+00_rb,2.1598e+00_rb,1.7623e+00_rb,1.3527e+00_rb, & &9.4464e-01_rb,5.2414e-01_rb,1.6022e-01_rb/) kao(:, 2,10, 9) = (/ & &3.4121e+00_rb,2.9947e+00_rb,2.5993e+00_rb,2.2033e+00_rb,1.8038e+00_rb,1.3952e+00_rb, & &9.8851e-01_rb,5.5797e-01_rb,1.9922e-01_rb/) kao(:, 3,10, 9) = (/ & &3.4354e+00_rb,3.0219e+00_rb,2.6345e+00_rb,2.2476e+00_rb,1.8449e+00_rb,1.4451e+00_rb, & &1.0317e+00_rb,5.9234e-01_rb,2.4180e-01_rb/) kao(:, 4,10, 9) = (/ & &3.4369e+00_rb,3.0367e+00_rb,2.6577e+00_rb,2.2740e+00_rb,1.8821e+00_rb,1.4871e+00_rb, & &1.0728e+00_rb,6.2615e-01_rb,2.8291e-01_rb/) kao(:, 5,10, 9) = (/ & &3.4461e+00_rb,3.0546e+00_rb,2.6839e+00_rb,2.3057e+00_rb,1.9262e+00_rb,1.5287e+00_rb, & &1.1134e+00_rb,6.5955e-01_rb,3.3010e-01_rb/) kao(:, 1,11, 9) = (/ & &5.5731e+00_rb,4.8785e+00_rb,4.1979e+00_rb,3.5322e+00_rb,2.8619e+00_rb,2.1883e+00_rb, & &1.5051e+00_rb,8.1479e-01_rb,1.7197e-01_rb/) kao(:, 2,11, 9) = (/ & &5.6124e+00_rb,4.9158e+00_rb,4.2449e+00_rb,3.5793e+00_rb,2.9170e+00_rb,2.2388e+00_rb, & &1.5568e+00_rb,8.5687e-01_rb,2.2531e-01_rb/) kao(:, 3,11, 9) = (/ & &5.6253e+00_rb,4.9334e+00_rb,4.2755e+00_rb,3.6196e+00_rb,2.9577e+00_rb,2.2787e+00_rb, & &1.6022e+00_rb,8.9680e-01_rb,2.6360e-01_rb/) kao(:, 4,11, 9) = (/ & &5.6351e+00_rb,4.9513e+00_rb,4.3021e+00_rb,3.6565e+00_rb,2.9923e+00_rb,2.3311e+00_rb, & &1.6513e+00_rb,9.3728e-01_rb,3.0681e-01_rb/) kao(:, 5,11, 9) = (/ & &5.6511e+00_rb,4.9808e+00_rb,4.3475e+00_rb,3.7008e+00_rb,3.0483e+00_rb,2.3866e+00_rb, & &1.7012e+00_rb,9.7887e-01_rb,3.4951e-01_rb/) kao(:, 1,12, 9) = (/ & &6.6833e+00_rb,5.8503e+00_rb,5.0320e+00_rb,4.2291e+00_rb,3.4220e+00_rb,2.6133e+00_rb, & &1.7900e+00_rb,9.6260e-01_rb,1.7445e-01_rb/) kao(:, 2,12, 9) = (/ & &6.6977e+00_rb,5.8665e+00_rb,5.0629e+00_rb,4.2649e+00_rb,3.4722e+00_rb,2.6560e+00_rb, & &1.8378e+00_rb,1.0034e+00_rb,2.1910e-01_rb/) kao(:, 3,12, 9) = (/ & &6.7112e+00_rb,5.8830e+00_rb,5.0943e+00_rb,4.3071e+00_rb,3.5122e+00_rb,2.7000e+00_rb, & &1.8863e+00_rb,1.0455e+00_rb,2.5420e-01_rb/) kao(:, 4,12, 9) = (/ & &6.7306e+00_rb,5.9135e+00_rb,5.1333e+00_rb,4.3624e+00_rb,3.5635e+00_rb,2.7641e+00_rb, & &1.9469e+00_rb,1.0906e+00_rb,2.9618e-01_rb/) kao(:, 5,12, 9) = (/ & &6.7198e+00_rb,5.9182e+00_rb,5.1572e+00_rb,4.3874e+00_rb,3.6068e+00_rb,2.8158e+00_rb, & &1.9979e+00_rb,1.1364e+00_rb,3.4172e-01_rb/) kao(:, 1,13, 9) = (/ & &6.2228e+00_rb,5.4483e+00_rb,4.6948e+00_rb,3.9489e+00_rb,3.2053e+00_rb,2.4477e+00_rb, & &1.6826e+00_rb,9.0899e-01_rb,1.6340e-01_rb/) kao(:, 2,13, 9) = (/ & &6.2479e+00_rb,5.4750e+00_rb,4.7365e+00_rb,3.9942e+00_rb,3.2532e+00_rb,2.4916e+00_rb, & &1.7319e+00_rb,9.4656e-01_rb,1.9164e-01_rb/) kao(:, 3,13, 9) = (/ & &6.2720e+00_rb,5.5063e+00_rb,4.7748e+00_rb,4.0523e+00_rb,3.3026e+00_rb,2.5508e+00_rb, & &1.7859e+00_rb,9.9108e-01_rb,2.3050e-01_rb/) kao(:, 4,13, 9) = (/ & &6.2663e+00_rb,5.5165e+00_rb,4.8016e+00_rb,4.0858e+00_rb,3.3448e+00_rb,2.6010e+00_rb, & &1.8364e+00_rb,1.0337e+00_rb,2.6420e-01_rb/) kao(:, 5,13, 9) = (/ & &6.2869e+00_rb,5.5494e+00_rb,4.8492e+00_rb,4.1318e+00_rb,3.4036e+00_rb,2.6598e+00_rb, & &1.8865e+00_rb,1.0759e+00_rb,2.9687e-01_rb/) kao(:, 1, 1,10) = (/ & &2.7731e-03_rb,1.5625e-01_rb,3.1254e-01_rb,4.6910e-01_rb,6.2583e-01_rb,7.8249e-01_rb, & &9.3706e-01_rb,1.0845e+00_rb,1.2516e+00_rb/) kao(:, 2, 1,10) = (/ & &2.6994e-03_rb,1.8576e-01_rb,3.7148e-01_rb,5.5698e-01_rb,7.4226e-01_rb,9.2683e-01_rb, & &1.1083e+00_rb,1.2874e+00_rb,1.4844e+00_rb/) kao(:, 3, 1,10) = (/ & &2.5977e-03_rb,2.1688e-01_rb,4.3344e-01_rb,6.4957e-01_rb,8.6528e-01_rb,1.0791e+00_rb, & &1.2881e+00_rb,1.4959e+00_rb,1.7305e+00_rb/) kao(:, 4, 1,10) = (/ & &2.4994e-03_rb,2.5005e-01_rb,4.9954e-01_rb,7.4789e-01_rb,9.9444e-01_rb,1.2373e+00_rb, & &1.4746e+00_rb,1.7076e+00_rb,1.9888e+00_rb/) kao(:, 5, 1,10) = (/ & &2.4443e-03_rb,2.8623e-01_rb,5.7132e-01_rb,8.5454e-01_rb,1.1344e+00_rb,1.4080e+00_rb, & &1.6698e+00_rb,1.9238e+00_rb,2.2687e+00_rb/) kao(:, 1, 2,10) = (/ & &4.6033e-03_rb,1.4235e-01_rb,2.8494e-01_rb,4.2818e-01_rb,5.7234e-01_rb,7.1833e-01_rb, & &8.6574e-01_rb,1.0139e+00_rb,1.1445e+00_rb/) kao(:, 2, 2,10) = (/ & &4.4279e-03_rb,1.7116e-01_rb,3.4236e-01_rb,5.1392e-01_rb,6.8612e-01_rb,8.5990e-01_rb, & &1.0377e+00_rb,1.2137e+00_rb,1.3721e+00_rb/) kao(:, 3, 2,10) = (/ & &4.2606e-03_rb,2.0315e-01_rb,4.0616e-01_rb,6.0913e-01_rb,8.1201e-01_rb,1.0152e+00_rb, & &1.2192e+00_rb,1.4256e+00_rb,1.6238e+00_rb/) kao(:, 4, 2,10) = (/ & &4.1205e-03_rb,2.3773e-01_rb,4.7526e-01_rb,7.1252e-01_rb,9.4929e-01_rb,1.1850e+00_rb, & &1.4175e+00_rb,1.6433e+00_rb,1.8984e+00_rb/) kao(:, 5, 2,10) = (/ & &4.0494e-03_rb,2.7547e-01_rb,5.5055e-01_rb,8.2539e-01_rb,1.0993e+00_rb,1.3710e+00_rb, & &1.6368e+00_rb,1.8772e+00_rb,2.1984e+00_rb/) kao(:, 1, 3,10) = (/ & &1.0161e-02_rb,1.2214e-01_rb,2.4424e-01_rb,3.6667e-01_rb,4.8955e-01_rb,6.1355e-01_rb, & &7.4009e-01_rb,8.7555e-01_rb,9.7887e-01_rb/) kao(:, 2, 3,10) = (/ & &9.8188e-03_rb,1.5023e-01_rb,3.0029e-01_rb,4.5055e-01_rb,6.0115e-01_rb,7.5236e-01_rb, & &9.0544e-01_rb,1.0662e+00_rb,1.2020e+00_rb/) kao(:, 3, 3,10) = (/ & &9.4977e-03_rb,1.8146e-01_rb,3.6272e-01_rb,5.4423e-01_rb,7.2598e-01_rb,9.0829e-01_rb, & &1.0912e+00_rb,1.2774e+00_rb,1.4517e+00_rb/) kao(:, 4, 3,10) = (/ & &9.2658e-03_rb,2.1540e-01_rb,4.3072e-01_rb,6.4627e-01_rb,8.6225e-01_rb,1.0787e+00_rb, & &1.2961e+00_rb,1.5118e+00_rb,1.7242e+00_rb/) kao(:, 5, 3,10) = (/ & &9.2390e-03_rb,2.5102e-01_rb,5.0193e-01_rb,7.5312e-01_rb,1.0052e+00_rb,1.2582e+00_rb, & &1.5132e+00_rb,1.7682e+00_rb,2.0100e+00_rb/) kao(:, 1, 4,10) = (/ & &2.2805e-02_rb,1.0395e-01_rb,2.0752e-01_rb,3.1119e-01_rb,4.1502e-01_rb,5.1909e-01_rb, & &6.2381e-01_rb,7.3100e-01_rb,8.2961e-01_rb/) kao(:, 2, 4,10) = (/ & &2.2222e-02_rb,1.2866e-01_rb,2.5687e-01_rb,3.8520e-01_rb,5.1380e-01_rb,6.4273e-01_rb, & &7.7289e-01_rb,9.0648e-01_rb,1.0271e+00_rb/) kao(:, 3, 4,10) = (/ & &2.1664e-02_rb,1.5642e-01_rb,3.1238e-01_rb,4.6876e-01_rb,6.2523e-01_rb,7.8254e-01_rb, & &9.4140e-01_rb,1.1052e+00_rb,1.2499e+00_rb/) kao(:, 4, 4,10) = (/ & &2.1586e-02_rb,1.8661e-01_rb,3.7283e-01_rb,5.5940e-01_rb,7.4664e-01_rb,9.3462e-01_rb, & &1.1258e+00_rb,1.3254e+00_rb,1.4927e+00_rb/) kao(:, 5, 4,10) = (/ & &2.1462e-02_rb,2.1863e-01_rb,4.3680e-01_rb,6.5519e-01_rb,8.7456e-01_rb,1.0957e+00_rb, & &1.3203e+00_rb,1.5569e+00_rb,1.7484e+00_rb/) kao(:, 1, 5,10) = (/ & &4.7130e-02_rb,9.3953e-02_rb,1.7393e-01_rb,2.6053e-01_rb,3.4731e-01_rb,4.3431e-01_rb, & &5.2182e-01_rb,6.1134e-01_rb,6.9380e-01_rb/) kao(:, 2, 5,10) = (/ & &4.5557e-02_rb,1.1245e-01_rb,2.1773e-01_rb,3.2619e-01_rb,4.3487e-01_rb,5.4373e-01_rb, & &6.5319e-01_rb,7.6497e-01_rb,8.6883e-01_rb/) kao(:, 3, 5,10) = (/ & &4.5179e-02_rb,1.3419e-01_rb,2.6606e-01_rb,3.9876e-01_rb,5.3167e-01_rb,6.6490e-01_rb, & &7.9898e-01_rb,9.3637e-01_rb,1.0624e+00_rb/) kao(:, 4, 5,10) = (/ & &4.5058e-02_rb,1.5943e-01_rb,3.1786e-01_rb,4.7639e-01_rb,6.3534e-01_rb,7.9462e-01_rb, & &9.5569e-01_rb,1.1218e+00_rb,1.2696e+00_rb/) kao(:, 5, 5,10) = (/ & &4.5124e-02_rb,1.8659e-01_rb,3.7199e-01_rb,5.5748e-01_rb,7.4317e-01_rb,9.2965e-01_rb, & &1.1179e+00_rb,1.3144e+00_rb,1.4843e+00_rb/) kao(:, 1, 6,10) = (/ & &9.1822e-02_rb,1.2595e-01_rb,1.5650e-01_rb,2.1453e-01_rb,2.8383e-01_rb,3.5468e-01_rb, & &4.2569e-01_rb,4.9790e-01_rb,5.6600e-01_rb/) kao(:, 2, 6,10) = (/ & &9.0834e-02_rb,1.3514e-01_rb,1.8905e-01_rb,2.7114e-01_rb,3.6116e-01_rb,4.5123e-01_rb, & &5.4153e-01_rb,6.3330e-01_rb,7.2013e-01_rb/) kao(:, 3, 6,10) = (/ & &9.0336e-02_rb,1.4401e-01_rb,2.2730e-01_rb,3.3603e-01_rb,4.4738e-01_rb,5.5884e-01_rb, & &6.7092e-01_rb,7.8481e-01_rb,8.9194e-01_rb/) kao(:, 4, 6,10) = (/ & &9.0439e-02_rb,1.5770e-01_rb,2.7084e-01_rb,4.0445e-01_rb,5.3847e-01_rb,6.7263e-01_rb, & &8.0760e-01_rb,9.4541e-01_rb,1.0734e+00_rb/) kao(:, 5, 6,10) = (/ & &8.9534e-02_rb,1.7535e-01_rb,3.1878e-01_rb,4.7665e-01_rb,6.3445e-01_rb,7.9249e-01_rb, & &9.5149e-01_rb,1.1135e+00_rb,1.2646e+00_rb/) kao(:, 1, 7,10) = (/ & &1.8704e-01_rb,2.0782e-01_rb,2.1870e-01_rb,2.2895e-01_rb,2.4473e-01_rb,2.8566e-01_rb, & &3.3903e-01_rb,3.9559e-01_rb,4.4999e-01_rb/) kao(:, 2, 7,10) = (/ & &1.8532e-01_rb,2.1563e-01_rb,2.3939e-01_rb,2.5636e-01_rb,3.0272e-01_rb,3.6581e-01_rb, & &4.3811e-01_rb,5.1140e-01_rb,5.8167e-01_rb/) kao(:, 3, 7,10) = (/ & &1.8680e-01_rb,2.2377e-01_rb,2.5927e-01_rb,2.9855e-01_rb,3.7097e-01_rb,4.5865e-01_rb, & &5.4953e-01_rb,6.4162e-01_rb,7.2947e-01_rb/) kao(:, 4, 7,10) = (/ & &1.8310e-01_rb,2.3512e-01_rb,2.8042e-01_rb,3.5020e-01_rb,4.4840e-01_rb,5.5852e-01_rb, & &6.6925e-01_rb,7.8169e-01_rb,8.8834e-01_rb/) kao(:, 5, 7,10) = (/ & &1.7882e-01_rb,2.4826e-01_rb,3.0849e-01_rb,4.0772e-01_rb,5.3530e-01_rb,6.6727e-01_rb, & &7.9969e-01_rb,9.3357e-01_rb,1.0615e+00_rb/) kao(:, 1, 8,10) = (/ & &4.1112e-01_rb,4.0974e-01_rb,4.1065e-01_rb,3.9316e-01_rb,3.5874e-01_rb,3.2789e-01_rb, & &2.9581e-01_rb,3.0764e-01_rb,1.9137e-01_rb/) kao(:, 2, 8,10) = (/ & &4.0366e-01_rb,4.2457e-01_rb,4.2635e-01_rb,4.1703e-01_rb,3.9720e-01_rb,3.6880e-01_rb, & &3.6253e-01_rb,4.0327e-01_rb,3.4592e-01_rb/) kao(:, 3, 8,10) = (/ & &3.8607e-01_rb,4.4207e-01_rb,4.4571e-01_rb,4.4555e-01_rb,4.3797e-01_rb,4.1894e-01_rb, & &4.4727e-01_rb,5.1245e-01_rb,5.5117e-01_rb/) kao(:, 4, 8,10) = (/ & &3.7227e-01_rb,4.5775e-01_rb,4.6855e-01_rb,4.7950e-01_rb,4.7625e-01_rb,4.8559e-01_rb, & &5.4513e-01_rb,6.3288e-01_rb,7.1148e-01_rb/) kao(:, 5, 8,10) = (/ & &3.6637e-01_rb,4.6773e-01_rb,4.9188e-01_rb,5.1329e-01_rb,5.2260e-01_rb,5.7072e-01_rb, & &6.6113e-01_rb,7.6991e-01_rb,8.6824e-01_rb/) kao(:, 1, 9,10) = (/ & &1.5096e+00_rb,1.3467e+00_rb,1.2191e+00_rb,1.0959e+00_rb,9.8221e-01_rb,8.6433e-01_rb, & &6.8915e-01_rb,4.5155e-01_rb,2.5455e-01_rb/) kao(:, 2, 9,10) = (/ & &1.4729e+00_rb,1.3283e+00_rb,1.2484e+00_rb,1.1515e+00_rb,1.0570e+00_rb,9.2603e-01_rb, & &7.4690e-01_rb,5.0470e-01_rb,3.4249e-01_rb/) kao(:, 3, 9,10) = (/ & &1.4533e+00_rb,1.3348e+00_rb,1.2453e+00_rb,1.1987e+00_rb,1.1351e+00_rb,9.9543e-01_rb, & &8.1023e-01_rb,5.6196e-01_rb,4.0591e-01_rb/) kao(:, 4, 9,10) = (/ & &1.4744e+00_rb,1.3676e+00_rb,1.2850e+00_rb,1.2602e+00_rb,1.1957e+00_rb,1.0697e+00_rb, & &8.6704e-01_rb,6.2711e-01_rb,4.8211e-01_rb/) kao(:, 5, 9,10) = (/ & &1.4999e+00_rb,1.4091e+00_rb,1.3355e+00_rb,1.3264e+00_rb,1.2721e+00_rb,1.1339e+00_rb, & &9.2252e-01_rb,7.1025e-01_rb,5.3091e-01_rb/) kao(:, 1,10,10) = (/ & &7.2829e+00_rb,6.3687e+00_rb,5.4628e+00_rb,4.5827e+00_rb,3.6816e+00_rb,2.8784e+00_rb, & &1.9461e+00_rb,1.1228e+00_rb,2.9615e-01_rb/) kao(:, 2,10,10) = (/ & &7.2567e+00_rb,6.3523e+00_rb,5.5013e+00_rb,4.6178e+00_rb,3.8060e+00_rb,2.8925e+00_rb, & &1.9877e+00_rb,1.2045e+00_rb,5.0840e-01_rb/) kao(:, 3,10,10) = (/ & &7.3526e+00_rb,6.4384e+00_rb,5.5471e+00_rb,4.6686e+00_rb,3.8188e+00_rb,2.9106e+00_rb, & &2.0584e+00_rb,1.3182e+00_rb,5.8969e-01_rb/) kao(:, 4,10,10) = (/ & &7.6517e+00_rb,6.6965e+00_rb,5.8098e+00_rb,4.9129e+00_rb,3.9609e+00_rb,3.0608e+00_rb, & &2.1952e+00_rb,1.4642e+00_rb,7.2061e-01_rb/) kao(:, 5,10,10) = (/ & &7.6682e+00_rb,6.7495e+00_rb,5.8665e+00_rb,4.9992e+00_rb,4.0971e+00_rb,3.1895e+00_rb, & &2.3244e+00_rb,1.6171e+00_rb,8.0277e-01_rb/) kao(:, 1,11,10) = (/ & &1.2863e+01_rb,1.1253e+01_rb,9.6455e+00_rb,8.0559e+00_rb,6.4984e+00_rb,4.9709e+00_rb, & &3.3831e+00_rb,1.7991e+00_rb,3.6644e-01_rb/) kao(:, 2,11,10) = (/ & &1.3151e+01_rb,1.1511e+01_rb,9.8627e+00_rb,8.2765e+00_rb,6.6703e+00_rb,5.1195e+00_rb, & &3.4235e+00_rb,1.8440e+00_rb,4.6729e-01_rb/) kao(:, 3,11,10) = (/ & &1.3385e+01_rb,1.1711e+01_rb,1.0081e+01_rb,8.4279e+00_rb,6.8536e+00_rb,5.2620e+00_rb, & &3.6394e+00_rb,1.9452e+00_rb,7.7574e-01_rb/) kao(:, 4,11,10) = (/ & &1.3506e+01_rb,1.1818e+01_rb,1.0183e+01_rb,8.6029e+00_rb,7.0409e+00_rb,5.3665e+00_rb, & &3.7651e+00_rb,2.0591e+00_rb,8.8231e-01_rb/) kao(:, 5,11,10) = (/ & &1.3392e+01_rb,1.1719e+01_rb,1.0115e+01_rb,8.6680e+00_rb,7.0525e+00_rb,5.5043e+00_rb, & &3.9029e+00_rb,2.2010e+00_rb,9.9688e-01_rb/) kao(:, 1,12,10) = (/ & &1.6670e+01_rb,1.4588e+01_rb,1.2501e+01_rb,1.0421e+01_rb,8.3941e+00_rb,6.4270e+00_rb, & &4.3660e+00_rb,2.2934e+00_rb,3.9405e-01_rb/) kao(:, 2,12,10) = (/ & &1.7105e+01_rb,1.4960e+01_rb,1.2826e+01_rb,1.0751e+01_rb,8.6199e+00_rb,6.6739e+00_rb, & &4.5154e+00_rb,2.4126e+00_rb,5.4759e-01_rb/) kao(:, 3,12,10) = (/ & &1.7307e+01_rb,1.5147e+01_rb,1.3016e+01_rb,1.0902e+01_rb,8.9354e+00_rb,6.8220e+00_rb, & &4.7181e+00_rb,2.5631e+00_rb,8.3787e-01_rb/) kao(:, 4,12,10) = (/ & &1.7279e+01_rb,1.5121e+01_rb,1.3042e+01_rb,1.0948e+01_rb,8.9655e+00_rb,6.8546e+00_rb, & &4.7965e+00_rb,2.6658e+00_rb,9.5310e-01_rb/) kao(:, 5,12,10) = (/ & &1.7622e+01_rb,1.5423e+01_rb,1.3295e+01_rb,1.1391e+01_rb,9.1951e+00_rb,7.1021e+00_rb, & &4.9630e+00_rb,2.7853e+00_rb,1.0381e+00_rb/) kao(:, 1,13,10) = (/ & &1.7285e+01_rb,1.5124e+01_rb,1.2963e+01_rb,1.0843e+01_rb,8.6958e+00_rb,6.7399e+00_rb, & &4.5324e+00_rb,2.3893e+00_rb,3.8223e-01_rb/) kao(:, 2,13,10) = (/ & &1.7394e+01_rb,1.5220e+01_rb,1.3045e+01_rb,1.0933e+01_rb,8.8783e+00_rb,6.8319e+00_rb, & &4.6535e+00_rb,2.5278e+00_rb,6.6322e-01_rb/) kao(:, 3,13,10) = (/ & &1.7534e+01_rb,1.5350e+01_rb,1.3222e+01_rb,1.1038e+01_rb,9.1270e+00_rb,6.8978e+00_rb, & &4.7818e+00_rb,2.6214e+00_rb,7.3123e-01_rb/) kao(:, 4,13,10) = (/ & &1.7891e+01_rb,1.5660e+01_rb,1.3479e+01_rb,1.1400e+01_rb,9.3159e+00_rb,7.0998e+00_rb, & &4.9577e+00_rb,2.7354e+00_rb,8.9654e-01_rb/) kao(:, 5,13,10) = (/ & &1.8019e+01_rb,1.5767e+01_rb,1.3610e+01_rb,1.1614e+01_rb,9.4166e+00_rb,7.3122e+00_rb, & &5.1530e+00_rb,2.8785e+00_rb,1.0692e+00_rb/) kao(:, 1, 1,11) = (/ & &3.1711e-03_rb,2.2841e-01_rb,4.5620e-01_rb,6.8299e-01_rb,9.0802e-01_rb,1.1291e+00_rb, & &1.3398e+00_rb,1.4993e+00_rb,1.8159e+00_rb/) kao(:, 2, 1,11) = (/ & &3.0704e-03_rb,2.7128e-01_rb,5.4234e-01_rb,8.1284e-01_rb,1.0822e+00_rb,1.3468e+00_rb, & &1.5998e+00_rb,1.7945e+00_rb,2.1643e+00_rb/) kao(:, 3, 1,11) = (/ & &2.9866e-03_rb,3.1478e-01_rb,6.2947e-01_rb,9.4408e-01_rb,1.2581e+00_rb,1.5709e+00_rb, & &1.8741e+00_rb,2.1028e+00_rb,2.5161e+00_rb/) kao(:, 4, 1,11) = (/ & &2.9163e-03_rb,3.5938e-01_rb,7.1835e-01_rb,1.0774e+00_rb,1.4362e+00_rb,1.7946e+00_rb, & &2.1451e+00_rb,2.4217e+00_rb,2.8722e+00_rb/) kao(:, 5, 1,11) = (/ & &2.8034e-03_rb,4.0521e-01_rb,8.0970e-01_rb,1.2136e+00_rb,1.6171e+00_rb,2.0187e+00_rb, & &2.4125e+00_rb,2.7343e+00_rb,3.2340e+00_rb/) kao(:, 1, 2,11) = (/ & &5.2383e-03_rb,2.1282e-01_rb,4.2542e-01_rb,6.3727e-01_rb,8.4863e-01_rb,1.0581e+00_rb, & &1.2660e+00_rb,1.4631e+00_rb,1.6971e+00_rb/) kao(:, 2, 2,11) = (/ & &5.1027e-03_rb,2.5414e-01_rb,5.0811e-01_rb,7.6215e-01_rb,1.0157e+00_rb,1.2690e+00_rb, & &1.5182e+00_rb,1.7540e+00_rb,2.0313e+00_rb/) kao(:, 3, 2,11) = (/ & &4.9821e-03_rb,2.9639e-01_rb,5.9276e-01_rb,8.8910e-01_rb,1.1857e+00_rb,1.4825e+00_rb, & &1.7783e+00_rb,2.0622e+00_rb,2.3711e+00_rb/) kao(:, 4, 2,11) = (/ & &4.8330e-03_rb,3.4110e-01_rb,6.8181e-01_rb,1.0221e+00_rb,1.3622e+00_rb,1.7021e+00_rb, & &2.0428e+00_rb,2.3773e+00_rb,2.7241e+00_rb/) kao(:, 5, 2,11) = (/ & &4.6466e-03_rb,3.8845e-01_rb,7.7604e-01_rb,1.1627e+00_rb,1.5479e+00_rb,1.9317e+00_rb, & &2.3125e+00_rb,2.6917e+00_rb,3.0955e+00_rb/) kao(:, 1, 3,11) = (/ & &1.1968e-02_rb,1.8925e-01_rb,3.7814e-01_rb,5.6720e-01_rb,7.5640e-01_rb,9.4598e-01_rb, & &1.1354e+00_rb,1.3192e+00_rb,1.5123e+00_rb/) kao(:, 2, 3,11) = (/ & &1.1738e-02_rb,2.2858e-01_rb,4.5676e-01_rb,6.8520e-01_rb,9.1426e-01_rb,1.1439e+00_rb, & &1.3747e+00_rb,1.6035e+00_rb,1.8280e+00_rb/) kao(:, 3, 3,11) = (/ & &1.1441e-02_rb,2.7028e-01_rb,5.3999e-01_rb,8.0979e-01_rb,1.0799e+00_rb,1.3506e+00_rb, & &1.6224e+00_rb,1.8949e+00_rb,2.1592e+00_rb/) kao(:, 4, 3,11) = (/ & &1.1066e-02_rb,3.1556e-01_rb,6.3024e-01_rb,9.4495e-01_rb,1.2595e+00_rb,1.5736e+00_rb, & &1.8868e+00_rb,2.1970e+00_rb,2.5183e+00_rb/) kao(:, 5, 3,11) = (/ & &1.0627e-02_rb,3.6442e-01_rb,7.2807e-01_rb,1.0914e+00_rb,1.4538e+00_rb,1.8154e+00_rb, & &2.1726e+00_rb,2.5191e+00_rb,2.9067e+00_rb/) kao(:, 1, 4,11) = (/ & &2.8048e-02_rb,1.6151e-01_rb,3.2202e-01_rb,4.8262e-01_rb,6.4375e-01_rb,8.0530e-01_rb, & &9.6854e-01_rb,1.1364e+00_rb,1.2863e+00_rb/) kao(:, 2, 4,11) = (/ & &2.7460e-02_rb,1.9867e-01_rb,3.9620e-01_rb,5.9396e-01_rb,7.9208e-01_rb,9.9102e-01_rb, & &1.1917e+00_rb,1.3983e+00_rb,1.5828e+00_rb/) kao(:, 3, 4,11) = (/ & &2.6672e-02_rb,2.3899e-01_rb,4.7658e-01_rb,7.1429e-01_rb,9.5231e-01_rb,1.1913e+00_rb, & &1.4318e+00_rb,1.6791e+00_rb,1.9031e+00_rb/) kao(:, 4, 4,11) = (/ & &2.5665e-02_rb,2.8345e-01_rb,5.6525e-01_rb,8.4715e-01_rb,1.1294e+00_rb,1.4117e+00_rb, & &1.6956e+00_rb,1.9833e+00_rb,2.2571e+00_rb/) kao(:, 5, 4,11) = (/ & &2.4958e-02_rb,3.3271e-01_rb,6.6383e-01_rb,9.9466e-01_rb,1.3259e+00_rb,1.6572e+00_rb, & &1.9874e+00_rb,2.3183e+00_rb,2.6500e+00_rb/) kao(:, 1, 5,11) = (/ & &5.9740e-02_rb,1.3717e-01_rb,2.6992e-01_rb,4.0387e-01_rb,5.3789e-01_rb,6.7238e-01_rb, & &8.0752e-01_rb,9.4549e-01_rb,1.0734e+00_rb/) kao(:, 2, 5,11) = (/ & &5.8323e-02_rb,1.6942e-01_rb,3.3625e-01_rb,5.0313e-01_rb,6.7036e-01_rb,8.3790e-01_rb, & &1.0063e+00_rb,1.1790e+00_rb,1.3380e+00_rb/) kao(:, 3, 5,11) = (/ & &5.6700e-02_rb,2.0744e-01_rb,4.1183e-01_rb,6.1629e-01_rb,8.2117e-01_rb,1.0263e+00_rb, & &1.2326e+00_rb,1.4427e+00_rb,1.6392e+00_rb/) kao(:, 4, 5,11) = (/ & &5.4845e-02_rb,2.5070e-01_rb,4.9802e-01_rb,7.4525e-01_rb,9.9296e-01_rb,1.2407e+00_rb, & &1.4895e+00_rb,1.7409e+00_rb,1.9825e+00_rb/) kao(:, 5, 5,11) = (/ & &5.3384e-02_rb,2.9836e-01_rb,5.9305e-01_rb,8.8824e-01_rb,1.1834e+00_rb,1.4792e+00_rb, & &1.7758e+00_rb,2.0754e+00_rb,2.3639e+00_rb/) kao(:, 1, 6,11) = (/ & &1.1443e-01_rb,1.5330e-01_rb,2.2814e-01_rb,3.3358e-01_rb,4.4343e-01_rb,5.5347e-01_rb, & &6.6399e-01_rb,7.7608e-01_rb,8.8294e-01_rb/) kao(:, 2, 6,11) = (/ & &1.1139e-01_rb,1.6753e-01_rb,2.8410e-01_rb,4.2322e-01_rb,5.6271e-01_rb,7.0257e-01_rb, & &8.4275e-01_rb,9.8447e-01_rb,1.1213e+00_rb/) kao(:, 3, 6,11) = (/ & &1.0816e-01_rb,1.9391e-01_rb,3.5154e-01_rb,5.2463e-01_rb,6.9799e-01_rb,8.7181e-01_rb, & &1.0460e+00_rb,1.2220e+00_rb,1.3917e+00_rb/) kao(:, 4, 6,11) = (/ & &1.0514e-01_rb,2.2522e-01_rb,4.2775e-01_rb,6.3893e-01_rb,8.5037e-01_rb,1.0626e+00_rb, & &1.2753e+00_rb,1.4901e+00_rb,1.6964e+00_rb/) kao(:, 5, 6,11) = (/ & &1.0414e-01_rb,2.6189e-01_rb,5.1110e-01_rb,7.6424e-01_rb,1.0178e+00_rb,1.2716e+00_rb, & &1.5264e+00_rb,1.7854e+00_rb,2.0311e+00_rb/) kao(:, 1, 7,11) = (/ & &2.3680e-01_rb,2.5474e-01_rb,2.7467e-01_rb,2.9968e-01_rb,3.6549e-01_rb,4.4931e-01_rb, & &5.3835e-01_rb,6.2811e-01_rb,7.1559e-01_rb/) kao(:, 2, 7,11) = (/ & &2.3126e-01_rb,2.6667e-01_rb,2.9742e-01_rb,3.6770e-01_rb,4.6828e-01_rb,5.8355e-01_rb, & &6.9932e-01_rb,8.1593e-01_rb,9.2966e-01_rb/) kao(:, 3, 7,11) = (/ & &2.2333e-01_rb,2.8145e-01_rb,3.3561e-01_rb,4.4803e-01_rb,5.8828e-01_rb,7.3378e-01_rb, & &8.7969e-01_rb,1.0266e+00_rb,1.1700e+00_rb/) kao(:, 4, 7,11) = (/ & &2.2006e-01_rb,2.9370e-01_rb,3.8943e-01_rb,5.4388e-01_rb,7.2193e-01_rb,9.0087e-01_rb, & &1.0804e+00_rb,1.2609e+00_rb,1.4372e+00_rb/) kao(:, 5, 7,11) = (/ & &2.1836e-01_rb,3.0927e-01_rb,4.5013e-01_rb,6.5145e-01_rb,8.6638e-01_rb,1.0814e+00_rb, & &1.2967e+00_rb,1.5147e+00_rb,1.7257e+00_rb/) kao(:, 1, 8,11) = (/ & &5.7508e-01_rb,5.5228e-01_rb,5.1832e-01_rb,4.8920e-01_rb,4.5962e-01_rb,4.2790e-01_rb, & &4.4544e-01_rb,5.0496e-01_rb,5.4406e-01_rb/) kao(:, 2, 8,11) = (/ & &5.5570e-01_rb,5.5086e-01_rb,5.3954e-01_rb,5.2836e-01_rb,5.0571e-01_rb,5.1612e-01_rb, & &5.7597e-01_rb,6.6763e-01_rb,7.6063e-01_rb/) kao(:, 3, 8,11) = (/ & &5.4644e-01_rb,5.5917e-01_rb,5.6849e-01_rb,5.6772e-01_rb,5.6845e-01_rb,6.3045e-01_rb, & &7.3261e-01_rb,8.5320e-01_rb,9.7237e-01_rb/) kao(:, 4, 8,11) = (/ & &5.4298e-01_rb,5.6882e-01_rb,5.9693e-01_rb,6.1038e-01_rb,6.5823e-01_rb,7.6720e-01_rb, & &9.1091e-01_rb,1.0615e+00_rb,1.2099e+00_rb/) kao(:, 5, 8,11) = (/ & &5.3663e-01_rb,5.8485e-01_rb,6.2913e-01_rb,6.6732e-01_rb,7.6736e-01_rb,9.2195e-01_rb, & &1.1025e+00_rb,1.2850e+00_rb,1.4649e+00_rb/) kao(:, 1, 9,11) = (/ & &2.5279e+00_rb,2.2431e+00_rb,2.0106e+00_rb,1.7600e+00_rb,1.4790e+00_rb,1.2051e+00_rb, & &8.9590e-01_rb,5.8517e-01_rb,3.0795e-01_rb/) kao(:, 2, 9,11) = (/ & &2.4601e+00_rb,2.1917e+00_rb,2.0103e+00_rb,1.7592e+00_rb,1.5280e+00_rb,1.2575e+00_rb, & &9.5967e-01_rb,6.7082e-01_rb,3.9930e-01_rb/) kao(:, 3, 9,11) = (/ & &2.4168e+00_rb,2.1757e+00_rb,2.0177e+00_rb,1.7994e+00_rb,1.5699e+00_rb,1.3186e+00_rb, & &1.0425e+00_rb,7.7727e-01_rb,5.2484e-01_rb/) kao(:, 4, 9,11) = (/ & &2.3770e+00_rb,2.1985e+00_rb,2.0410e+00_rb,1.8443e+00_rb,1.6274e+00_rb,1.3869e+00_rb, & &1.1288e+00_rb,9.2337e-01_rb,5.9212e-01_rb/) kao(:, 5, 9,11) = (/ & &2.3400e+00_rb,2.1850e+00_rb,2.0960e+00_rb,1.9025e+00_rb,1.6878e+00_rb,1.4602e+00_rb, & &1.2280e+00_rb,1.0954e+00_rb,7.2073e-01_rb/) kao(:, 1,10,11) = (/ & &1.1112e+01_rb,9.7248e+00_rb,8.3361e+00_rb,7.0270e+00_rb,5.7440e+00_rb,4.5096e+00_rb, & &3.2779e+00_rb,1.8950e+00_rb,4.0940e-01_rb/) kao(:, 2,10,11) = (/ & &1.0924e+01_rb,9.5564e+00_rb,8.1917e+00_rb,6.9650e+00_rb,5.7085e+00_rb,4.6298e+00_rb, & &3.3486e+00_rb,2.0156e+00_rb,4.6752e-01_rb/) kao(:, 3,10,11) = (/ & &1.0832e+01_rb,9.4781e+00_rb,8.2229e+00_rb,6.9872e+00_rb,5.8796e+00_rb,4.6954e+00_rb, & &3.5108e+00_rb,2.1192e+00_rb,8.0168e-01_rb/) kao(:, 4,10,11) = (/ & &1.0490e+01_rb,9.1768e+00_rb,8.0065e+00_rb,6.9497e+00_rb,5.9506e+00_rb,4.7816e+00_rb, & &3.6391e+00_rb,2.2227e+00_rb,9.3825e-01_rb/) kao(:, 5,10,11) = (/ & &1.0399e+01_rb,9.1010e+00_rb,8.0219e+00_rb,7.0325e+00_rb,5.9506e+00_rb,4.9243e+00_rb, & &3.8048e+00_rb,2.3499e+00_rb,1.1716e+00_rb/) kao(:, 1,11,11) = (/ & &1.6964e+01_rb,1.4849e+01_rb,1.2726e+01_rb,1.0607e+01_rb,8.5722e+00_rb,6.5304e+00_rb, & &4.5723e+00_rb,2.5353e+00_rb,5.7715e-01_rb/) kao(:, 2,11,11) = (/ & &1.6824e+01_rb,1.4725e+01_rb,1.2623e+01_rb,1.0586e+01_rb,8.5709e+00_rb,6.6756e+00_rb, & &4.7183e+00_rb,2.7595e+00_rb,6.2192e-01_rb/) kao(:, 3,11,11) = (/ & &1.6755e+01_rb,1.4665e+01_rb,1.2572e+01_rb,1.0610e+01_rb,8.6759e+00_rb,6.8661e+00_rb, & &4.7973e+00_rb,2.9494e+00_rb,7.1889e-01_rb/) kao(:, 4,11,11) = (/ & &1.6922e+01_rb,1.4802e+01_rb,1.2769e+01_rb,1.0738e+01_rb,8.9005e+00_rb,6.9130e+00_rb, & &5.0022e+00_rb,3.1663e+00_rb,1.1906e+00_rb/) kao(:, 5,11,11) = (/ & &1.7198e+01_rb,1.5045e+01_rb,1.3001e+01_rb,1.1038e+01_rb,9.0834e+00_rb,7.0679e+00_rb, & &5.2222e+00_rb,3.3529e+00_rb,1.3885e+00_rb/) kao(:, 1,12,11) = (/ & &2.1802e+01_rb,1.9077e+01_rb,1.6353e+01_rb,1.3626e+01_rb,1.0986e+01_rb,8.2719e+00_rb, & &5.7215e+00_rb,2.9889e+00_rb,6.5084e-01_rb/) kao(:, 2,12,11) = (/ & &2.2052e+01_rb,1.9310e+01_rb,1.6546e+01_rb,1.3830e+01_rb,1.1139e+01_rb,8.5492e+00_rb, & &5.8655e+00_rb,3.1860e+00_rb,7.2046e-01_rb/) kao(:, 3,12,11) = (/ & &2.2451e+01_rb,1.9654e+01_rb,1.6841e+01_rb,1.4123e+01_rb,1.1335e+01_rb,8.7814e+00_rb, & &5.9237e+00_rb,3.3098e+00_rb,8.3218e-01_rb/) kao(:, 4,12,11) = (/ & &2.3090e+01_rb,2.0216e+01_rb,1.7353e+01_rb,1.4511e+01_rb,1.1935e+01_rb,9.0228e+00_rb, & &6.2499e+00_rb,3.5354e+00_rb,1.3462e+00_rb/) kao(:, 5,12,11) = (/ & &2.3297e+01_rb,2.0383e+01_rb,1.7601e+01_rb,1.4664e+01_rb,1.2080e+01_rb,9.1910e+00_rb, & &6.4263e+00_rb,3.7093e+00_rb,1.5753e+00_rb/) kao(:, 1,13,11) = (/ & &2.3137e+01_rb,2.0253e+01_rb,1.7360e+01_rb,1.4461e+01_rb,1.1660e+01_rb,8.7711e+00_rb, & &6.0766e+00_rb,3.2004e+00_rb,6.2333e-01_rb/) kao(:, 2,13,11) = (/ & &2.3705e+01_rb,2.0739e+01_rb,1.7789e+01_rb,1.4919e+01_rb,1.1958e+01_rb,9.2720e+00_rb, & &6.2579e+00_rb,3.3419e+00_rb,6.6494e-01_rb/) kao(:, 3,13,11) = (/ & &2.4274e+01_rb,2.1226e+01_rb,1.8190e+01_rb,1.5260e+01_rb,1.2326e+01_rb,9.5663e+00_rb, & &6.4788e+00_rb,3.4909e+00_rb,1.1201e+00_rb/) kao(:, 4,13,11) = (/ & &2.4386e+01_rb,2.1333e+01_rb,1.8377e+01_rb,1.5357e+01_rb,1.2667e+01_rb,9.6781e+00_rb, & &6.7508e+00_rb,3.6779e+00_rb,1.3420e+00_rb/) kao(:, 5,13,11) = (/ & &2.4394e+01_rb,2.1348e+01_rb,1.8396e+01_rb,1.5507e+01_rb,1.2756e+01_rb,9.7415e+00_rb, & &6.8863e+00_rb,3.8176e+00_rb,1.6819e+00_rb/) kao(:, 1, 1,12) = (/ & &3.7292e-03_rb,3.2906e-01_rb,6.5580e-01_rb,9.7933e-01_rb,1.2975e+00_rb,1.6059e+00_rb, & &1.8953e+00_rb,2.1342e+00_rb,2.5948e+00_rb/) kao(:, 2, 1,12) = (/ & &3.6338e-03_rb,3.9331e-01_rb,7.8289e-01_rb,1.1672e+00_rb,1.5430e+00_rb,1.9051e+00_rb, & &2.2331e+00_rb,2.4741e+00_rb,3.0857e+00_rb/) kao(:, 3, 1,12) = (/ & &3.5564e-03_rb,4.6323e-01_rb,9.2190e-01_rb,1.3739e+00_rb,1.8144e+00_rb,2.2323e+00_rb, & &2.6037e+00_rb,2.8683e+00_rb,3.6286e+00_rb/) kao(:, 4, 1,12) = (/ & &3.4829e-03_rb,5.3356e-01_rb,1.0626e+00_rb,1.5845e+00_rb,2.0933e+00_rb,2.5784e+00_rb, & &3.0158e+00_rb,3.3179e+00_rb,4.1863e+00_rb/) kao(:, 5, 1,12) = (/ & &3.4329e-03_rb,6.0324e-01_rb,1.2029e+00_rb,1.7965e+00_rb,2.3794e+00_rb,2.9402e+00_rb, & &3.4530e+00_rb,3.8265e+00_rb,4.7585e+00_rb/) kao(:, 1, 2,12) = (/ & &6.2080e-03_rb,3.1766e-01_rb,6.3367e-01_rb,9.4784e-01_rb,1.2588e+00_rb,1.5639e+00_rb, & &1.8558e+00_rb,2.1035e+00_rb,2.5172e+00_rb/) kao(:, 2, 2,12) = (/ & &6.0635e-03_rb,3.8413e-01_rb,7.6634e-01_rb,1.1462e+00_rb,1.5215e+00_rb,1.8884e+00_rb, & &2.2355e+00_rb,2.5176e+00_rb,3.0427e+00_rb/) kao(:, 3, 2,12) = (/ & &5.9382e-03_rb,4.5423e-01_rb,9.0644e-01_rb,1.3562e+00_rb,1.8011e+00_rb,2.2367e+00_rb, & &2.6480e+00_rb,2.9724e+00_rb,3.6017e+00_rb/) kao(:, 4, 2,12) = (/ & &5.8323e-03_rb,5.2519e-01_rb,1.0487e+00_rb,1.5700e+00_rb,2.0875e+00_rb,2.5951e+00_rb, & &3.0747e+00_rb,3.4387e+00_rb,4.1744e+00_rb/) kao(:, 5, 2,12) = (/ & &5.7338e-03_rb,5.9386e-01_rb,1.1863e+00_rb,1.7768e+00_rb,2.3632e+00_rb,2.9403e+00_rb, & &3.4914e+00_rb,3.9302e+00_rb,4.7260e+00_rb/) kao(:, 1, 3,12) = (/ & &1.4176e-02_rb,2.8836e-01_rb,5.7586e-01_rb,8.6297e-01_rb,1.1493e+00_rb,1.4343e+00_rb, & &1.7160e+00_rb,1.9825e+00_rb,2.2980e+00_rb/) kao(:, 2, 3,12) = (/ & &1.3806e-02_rb,3.5186e-01_rb,7.0276e-01_rb,1.0533e+00_rb,1.4030e+00_rb,1.7510e+00_rb, & &2.0945e+00_rb,2.4186e+00_rb,2.8053e+00_rb/) kao(:, 3, 3,12) = (/ & &1.3514e-02_rb,4.1890e-01_rb,8.3697e-01_rb,1.2547e+00_rb,1.6718e+00_rb,2.0870e+00_rb, & &2.4990e+00_rb,2.8908e+00_rb,3.3428e+00_rb/) kao(:, 4, 3,12) = (/ & &1.3249e-02_rb,4.8707e-01_rb,9.7331e-01_rb,1.4597e+00_rb,1.9459e+00_rb,2.4316e+00_rb, & &2.9156e+00_rb,3.3828e+00_rb,3.8910e+00_rb/) kao(:, 5, 3,12) = (/ & &1.3015e-02_rb,5.5537e-01_rb,1.1100e+00_rb,1.6644e+00_rb,2.2195e+00_rb,2.7745e+00_rb, & &3.3300e+00_rb,3.8734e+00_rb,4.4382e+00_rb/) kao(:, 1, 4,12) = (/ & &3.3184e-02_rb,2.5339e-01_rb,5.0565e-01_rb,7.5787e-01_rb,1.0100e+00_rb,1.2620e+00_rb, & &1.5135e+00_rb,1.7634e+00_rb,2.0190e+00_rb/) kao(:, 2, 4,12) = (/ & &3.2427e-02_rb,3.1318e-01_rb,6.2514e-01_rb,9.3708e-01_rb,1.2489e+00_rb,1.5601e+00_rb, & &1.8704e+00_rb,2.1781e+00_rb,2.4966e+00_rb/) kao(:, 3, 4,12) = (/ & &3.1776e-02_rb,3.7781e-01_rb,7.5434e-01_rb,1.1309e+00_rb,1.5072e+00_rb,1.8833e+00_rb, & &2.2580e+00_rb,2.6266e+00_rb,3.0132e+00_rb/) kao(:, 4, 4,12) = (/ & &3.1130e-02_rb,4.4383e-01_rb,8.8640e-01_rb,1.3292e+00_rb,1.7718e+00_rb,2.2142e+00_rb, & &2.6572e+00_rb,3.0981e+00_rb,3.5423e+00_rb/) kao(:, 5, 4,12) = (/ & &3.0303e-02_rb,5.1080e-01_rb,1.0203e+00_rb,1.5301e+00_rb,2.0399e+00_rb,2.5495e+00_rb, & &3.0593e+00_rb,3.5718e+00_rb,4.0785e+00_rb/) kao(:, 1, 5,12) = (/ & &7.0197e-02_rb,2.2033e-01_rb,4.3908e-01_rb,6.5775e-01_rb,8.7643e-01_rb,1.0950e+00_rb, & &1.3134e+00_rb,1.5311e+00_rb,1.7514e+00_rb/) kao(:, 2, 5,12) = (/ & &6.8848e-02_rb,2.7720e-01_rb,5.5265e-01_rb,8.2808e-01_rb,1.1036e+00_rb,1.3787e+00_rb, & &1.6538e+00_rb,1.9275e+00_rb,2.2056e+00_rb/) kao(:, 3, 5,12) = (/ & &6.6971e-02_rb,3.3853e-01_rb,6.7513e-01_rb,1.0119e+00_rb,1.3485e+00_rb,1.6854e+00_rb, & &2.0224e+00_rb,2.3592e+00_rb,2.6952e+00_rb/) kao(:, 4, 5,12) = (/ & &6.5365e-02_rb,4.0161e-01_rb,8.0132e-01_rb,1.2011e+00_rb,1.6012e+00_rb,2.0009e+00_rb, & &2.4008e+00_rb,2.8038e+00_rb,3.2005e+00_rb/) kao(:, 5, 5,12) = (/ & &6.3431e-02_rb,4.6828e-01_rb,9.3456e-01_rb,1.4005e+00_rb,1.8671e+00_rb,2.3331e+00_rb, & &2.7981e+00_rb,3.2640e+00_rb,3.7323e+00_rb/) kao(:, 1, 6,12) = (/ & &1.3973e-01_rb,2.0662e-01_rb,3.6962e-01_rb,5.5318e-01_rb,7.3681e-01_rb,9.2064e-01_rb, & &1.1045e+00_rb,1.2891e+00_rb,1.4713e+00_rb/) kao(:, 2, 6,12) = (/ & &1.3671e-01_rb,2.4877e-01_rb,4.7403e-01_rb,7.0978e-01_rb,9.4572e-01_rb,1.1814e+00_rb, & &1.4179e+00_rb,1.6551e+00_rb,1.8888e+00_rb/) kao(:, 3, 6,12) = (/ & &1.3368e-01_rb,2.9917e-01_rb,5.8968e-01_rb,8.8312e-01_rb,1.1767e+00_rb,1.4704e+00_rb, & &1.7646e+00_rb,2.0602e+00_rb,2.3507e+00_rb/) kao(:, 4, 6,12) = (/ & &1.2994e-01_rb,3.5894e-01_rb,7.1459e-01_rb,1.0704e+00_rb,1.4263e+00_rb,1.7824e+00_rb, & &2.1385e+00_rb,2.4959e+00_rb,2.8498e+00_rb/) kao(:, 5, 6,12) = (/ & &1.2525e-01_rb,4.2650e-01_rb,8.4975e-01_rb,1.2729e+00_rb,1.6963e+00_rb,2.1200e+00_rb, & &2.5435e+00_rb,2.9674e+00_rb,3.3897e+00_rb/) kao(:, 1, 7,12) = (/ & &2.8974e-01_rb,3.1610e-01_rb,3.5823e-01_rb,4.6930e-01_rb,6.1329e-01_rb,7.6583e-01_rb, & &9.1850e-01_rb,1.0715e+00_rb,1.2231e+00_rb/) kao(:, 2, 7,12) = (/ & &2.8480e-01_rb,3.2946e-01_rb,4.3038e-01_rb,6.0019e-01_rb,7.9796e-01_rb,9.9665e-01_rb, & &1.1955e+00_rb,1.3949e+00_rb,1.5921e+00_rb/) kao(:, 3, 7,12) = (/ & &2.7871e-01_rb,3.5067e-01_rb,5.1857e-01_rb,7.5801e-01_rb,1.0094e+00_rb,1.2608e+00_rb, & &1.5125e+00_rb,1.7653e+00_rb,2.0145e+00_rb/) kao(:, 4, 7,12) = (/ & &2.7300e-01_rb,3.8461e-01_rb,6.2621e-01_rb,9.3301e-01_rb,1.2423e+00_rb,1.5518e+00_rb, & &1.8620e+00_rb,2.1734e+00_rb,2.4799e+00_rb/) kao(:, 5, 7,12) = (/ & &2.6591e-01_rb,4.2736e-01_rb,7.5270e-01_rb,1.1266e+00_rb,1.5003e+00_rb,1.8747e+00_rb, & &2.2489e+00_rb,2.6247e+00_rb,2.9958e+00_rb/) kao(:, 1, 8,12) = (/ & &7.1395e-01_rb,6.8533e-01_rb,6.5866e-01_rb,6.2646e-01_rb,6.1056e-01_rb,6.5589e-01_rb, & &7.5232e-01_rb,8.7691e-01_rb,1.0005e+00_rb/) kao(:, 2, 8,12) = (/ & &7.0494e-01_rb,6.9398e-01_rb,6.9094e-01_rb,6.7668e-01_rb,7.2746e-01_rb,8.4153e-01_rb, & &1.0006e+00_rb,1.1668e+00_rb,1.3319e+00_rb/) kao(:, 3, 8,12) = (/ & &6.9397e-01_rb,7.0598e-01_rb,7.2266e-01_rb,7.6185e-01_rb,8.8476e-01_rb,1.0705e+00_rb, & &1.2831e+00_rb,1.4961e+00_rb,1.7076e+00_rb/) kao(:, 4, 8,12) = (/ & &6.8087e-01_rb,7.2362e-01_rb,7.6721e-01_rb,8.7767e-01_rb,1.0787e+00_rb,1.3359e+00_rb, & &1.6015e+00_rb,1.8678e+00_rb,2.1324e+00_rb/) kao(:, 5, 8,12) = (/ & &6.7139e-01_rb,7.3688e-01_rb,8.3187e-01_rb,1.0246e+00_rb,1.3106e+00_rb,1.6352e+00_rb, & &1.9607e+00_rb,2.2865e+00_rb,2.6110e+00_rb/) kao(:, 1, 9,12) = (/ & &3.4095e+00_rb,2.9940e+00_rb,2.6084e+00_rb,2.2712e+00_rb,1.8987e+00_rb,1.5323e+00_rb, & &1.1724e+00_rb,8.1780e-01_rb,4.0421e-01_rb/) kao(:, 2, 9,12) = (/ & &3.3693e+00_rb,2.9832e+00_rb,2.6354e+00_rb,2.2978e+00_rb,1.9462e+00_rb,1.6166e+00_rb, & &1.2713e+00_rb,1.0128e+00_rb,5.1858e-01_rb/) kao(:, 3, 9,12) = (/ & &3.3273e+00_rb,2.9606e+00_rb,2.6476e+00_rb,2.3138e+00_rb,2.0240e+00_rb,1.7033e+00_rb, & &1.3935e+00_rb,1.2814e+00_rb,6.1493e-01_rb/) kao(:, 4, 9,12) = (/ & &3.2577e+00_rb,2.9148e+00_rb,2.6437e+00_rb,2.3667e+00_rb,2.0968e+00_rb,1.8097e+00_rb, & &1.5817e+00_rb,1.6061e+00_rb,8.7818e-01_rb/) kao(:, 5, 9,12) = (/ & &3.1999e+00_rb,2.9208e+00_rb,2.6366e+00_rb,2.4121e+00_rb,2.1879e+00_rb,1.9394e+00_rb, & &1.8270e+00_rb,1.9776e+00_rb,1.4315e+00_rb/) kao(:, 1,10,12) = (/ & &1.8080e+01_rb,1.5820e+01_rb,1.3560e+01_rb,1.1300e+01_rb,9.1208e+00_rb,6.9174e+00_rb, & &4.8050e+00_rb,2.5816e+00_rb,5.9225e-01_rb/) kao(:, 2,10,12) = (/ & &1.7863e+01_rb,1.5633e+01_rb,1.3401e+01_rb,1.1233e+01_rb,9.0719e+00_rb,6.9705e+00_rb, & &4.8769e+00_rb,2.6813e+00_rb,6.3411e-01_rb/) kao(:, 3,10,12) = (/ & &1.7446e+01_rb,1.5265e+01_rb,1.3103e+01_rb,1.1057e+01_rb,9.0250e+00_rb,7.0448e+00_rb, & &4.8922e+00_rb,2.7949e+00_rb,7.0806e-01_rb/) kao(:, 4,10,12) = (/ & &1.7175e+01_rb,1.5031e+01_rb,1.2961e+01_rb,1.0925e+01_rb,8.9744e+00_rb,7.0129e+00_rb, & &4.9823e+00_rb,2.9347e+00_rb,1.2270e+00_rb/) kao(:, 5,10,12) = (/ & &1.6980e+01_rb,1.4865e+01_rb,1.2847e+01_rb,1.0927e+01_rb,9.0016e+00_rb,7.0557e+00_rb, & &5.0460e+00_rb,3.0782e+00_rb,1.3161e+00_rb/) kao(:, 1,11,12) = (/ & &3.1621e+01_rb,2.7664e+01_rb,2.3716e+01_rb,1.9762e+01_rb,1.5836e+01_rb,1.2028e+01_rb, & &8.3404e+00_rb,4.4951e+00_rb,7.7226e-01_rb/) kao(:, 2,11,12) = (/ & &3.1089e+01_rb,2.7197e+01_rb,2.3314e+01_rb,1.9432e+01_rb,1.5688e+01_rb,1.1946e+01_rb, & &8.4568e+00_rb,4.5500e+00_rb,1.2396e+00_rb/) kao(:, 3,11,12) = (/ & &3.0576e+01_rb,2.6758e+01_rb,2.2933e+01_rb,1.9212e+01_rb,1.5533e+01_rb,1.1953e+01_rb, & &8.4697e+00_rb,4.6829e+00_rb,1.0564e+00_rb/) kao(:, 4,11,12) = (/ & &3.0097e+01_rb,2.6346e+01_rb,2.2583e+01_rb,1.9026e+01_rb,1.5507e+01_rb,1.2181e+01_rb, & &8.5232e+00_rb,4.7855e+00_rb,1.0613e+00_rb/) kao(:, 5,11,12) = (/ & &2.9719e+01_rb,2.6007e+01_rb,2.2377e+01_rb,1.8843e+01_rb,1.5650e+01_rb,1.2244e+01_rb, & &8.6646e+00_rb,4.9270e+00_rb,1.7788e+00_rb/) kao(:, 1,12,12) = (/ & &3.8089e+01_rb,3.3321e+01_rb,2.8563e+01_rb,2.3805e+01_rb,1.9048e+01_rb,1.4479e+01_rb, & &1.0042e+01_rb,5.5700e+00_rb,1.0139e+00_rb/) kao(:, 2,12,12) = (/ & &3.7254e+01_rb,3.2590e+01_rb,2.7941e+01_rb,2.3286e+01_rb,1.8814e+01_rb,1.4266e+01_rb, & &1.0187e+01_rb,5.6505e+00_rb,1.3358e+00_rb/) kao(:, 3,12,12) = (/ & &3.6753e+01_rb,3.2149e+01_rb,2.7565e+01_rb,2.3058e+01_rb,1.8681e+01_rb,1.4515e+01_rb, & &1.0441e+01_rb,5.8743e+00_rb,1.3962e+00_rb/) kao(:, 4,12,12) = (/ & &3.6095e+01_rb,3.1568e+01_rb,2.7073e+01_rb,2.2830e+01_rb,1.8483e+01_rb,1.4754e+01_rb, & &1.0446e+01_rb,6.0858e+00_rb,1.2630e+00_rb/) kao(:, 5,12,12) = (/ & &3.5605e+01_rb,3.1165e+01_rb,2.6709e+01_rb,2.2579e+01_rb,1.8648e+01_rb,1.4780e+01_rb, & &1.0721e+01_rb,6.3554e+00_rb,1.9400e+00_rb/) kao(:, 1,13,12) = (/ & &3.6373e+01_rb,3.1828e+01_rb,2.7282e+01_rb,2.2746e+01_rb,1.8235e+01_rb,1.3858e+01_rb, & &9.7116e+00_rb,5.3620e+00_rb,1.4114e+00_rb/) kao(:, 2,13,12) = (/ & &3.6095e+01_rb,3.1587e+01_rb,2.7062e+01_rb,2.2560e+01_rb,1.8254e+01_rb,1.3864e+01_rb, & &1.0010e+01_rb,5.5792e+00_rb,1.4567e+00_rb/) kao(:, 3,13,12) = (/ & &3.5583e+01_rb,3.1140e+01_rb,2.6700e+01_rb,2.2381e+01_rb,1.8087e+01_rb,1.4135e+01_rb, & &1.0160e+01_rb,5.8997e+00_rb,1.1528e+00_rb/) kao(:, 4,13,12) = (/ & &3.5474e+01_rb,3.1045e+01_rb,2.6613e+01_rb,2.2429e+01_rb,1.8206e+01_rb,1.4545e+01_rb, & &1.0311e+01_rb,6.1832e+00_rb,1.6292e+00_rb/) kao(:, 5,13,12) = (/ & &3.5565e+01_rb,3.1124e+01_rb,2.6773e+01_rb,2.2531e+01_rb,1.8670e+01_rb,1.4802e+01_rb, & &1.0686e+01_rb,6.5577e+00_rb,2.3163e+00_rb/) kao(:, 1, 1,13) = (/ & &4.6813e-03_rb,5.0961e-01_rb,1.0176e+00_rb,1.5220e+00_rb,2.0224e+00_rb,2.5138e+00_rb, & &2.9825e+00_rb,3.3723e+00_rb,4.0446e+00_rb/) kao(:, 2, 1,13) = (/ & &4.5378e-03_rb,5.9150e-01_rb,1.1812e+00_rb,1.7694e+00_rb,2.3540e+00_rb,2.9329e+00_rb, & &3.4999e+00_rb,3.9983e+00_rb,4.7077e+00_rb/) kao(:, 3, 1,13) = (/ & &4.3993e-03_rb,6.8031e-01_rb,1.3585e+00_rb,2.0344e+00_rb,2.7071e+00_rb,3.3760e+00_rb, & &4.0375e+00_rb,4.6330e+00_rb,5.4138e+00_rb/) kao(:, 4, 1,13) = (/ & &4.2648e-03_rb,7.8088e-01_rb,1.5583e+00_rb,2.3313e+00_rb,3.0997e+00_rb,3.8593e+00_rb, & &4.5971e+00_rb,5.2655e+00_rb,6.1991e+00_rb/) kao(:, 5, 1,13) = (/ & &4.1347e-03_rb,8.9242e-01_rb,1.7790e+00_rb,2.6579e+00_rb,3.5250e+00_rb,4.3745e+00_rb, & &5.1887e+00_rb,5.9002e+00_rb,7.0497e+00_rb/) kao(:, 1, 2,13) = (/ & &7.6228e-03_rb,4.9032e-01_rb,9.7924e-01_rb,1.4667e+00_rb,1.9517e+00_rb,2.4315e+00_rb, & &2.8986e+00_rb,3.3149e+00_rb,3.9031e+00_rb/) kao(:, 2, 2,13) = (/ & &7.3845e-03_rb,5.7215e-01_rb,1.1423e+00_rb,1.7099e+00_rb,2.2735e+00_rb,2.8309e+00_rb, & &3.3762e+00_rb,3.8853e+00_rb,4.5466e+00_rb/) kao(:, 3, 2,13) = (/ & &7.1668e-03_rb,6.6400e-01_rb,1.3252e+00_rb,1.9825e+00_rb,2.6343e+00_rb,3.2753e+00_rb, & &3.8969e+00_rb,4.4792e+00_rb,5.2681e+00_rb/) kao(:, 4, 2,13) = (/ & &6.9674e-03_rb,7.6745e-01_rb,1.5306e+00_rb,2.2881e+00_rb,3.0362e+00_rb,3.7701e+00_rb, & &4.4777e+00_rb,5.1450e+00_rb,6.0719e+00_rb/) kao(:, 5, 2,13) = (/ & &6.7870e-03_rb,8.8445e-01_rb,1.7639e+00_rb,2.6357e+00_rb,3.4964e+00_rb,4.3377e+00_rb, & &5.1390e+00_rb,5.8595e+00_rb,6.9924e+00_rb/) kao(:, 1, 3,13) = (/ & &1.6838e-02_rb,4.6207e-01_rb,9.2280e-01_rb,1.3820e+00_rb,1.8387e+00_rb,2.2901e+00_rb, & &2.7306e+00_rb,3.1427e+00_rb,3.6769e+00_rb/) kao(:, 2, 3,13) = (/ & &1.6384e-02_rb,5.4636e-01_rb,1.0908e+00_rb,1.6331e+00_rb,2.1721e+00_rb,2.7041e+00_rb, & &3.2216e+00_rb,3.6963e+00_rb,4.3436e+00_rb/) kao(:, 3, 3,13) = (/ & &1.5944e-02_rb,6.4109e-01_rb,1.2798e+00_rb,1.9157e+00_rb,2.5468e+00_rb,3.1693e+00_rb, & &3.7717e+00_rb,4.3145e+00_rb,5.0931e+00_rb/) kao(:, 4, 3,13) = (/ & &1.5558e-02_rb,7.4877e-01_rb,1.4944e+00_rb,2.2360e+00_rb,2.9707e+00_rb,3.6929e+00_rb, & &4.3862e+00_rb,5.0013e+00_rb,5.9409e+00_rb/) kao(:, 5, 3,13) = (/ & &1.5161e-02_rb,8.6996e-01_rb,1.7361e+00_rb,2.5972e+00_rb,3.4498e+00_rb,4.2854e+00_rb, & &5.0840e+00_rb,5.7719e+00_rb,6.8989e+00_rb/) kao(:, 1, 4,13) = (/ & &3.7812e-02_rb,4.2471e-01_rb,8.4847e-01_rb,1.2717e+00_rb,1.6944e+00_rb,2.1155e+00_rb, & &2.5337e+00_rb,2.9379e+00_rb,3.3881e+00_rb/) kao(:, 2, 4,13) = (/ & &3.6812e-02_rb,5.1516e-01_rb,1.0290e+00_rb,1.5422e+00_rb,2.0538e+00_rb,2.5636e+00_rb, & &3.0667e+00_rb,3.5462e+00_rb,4.1066e+00_rb/) kao(:, 3, 4,13) = (/ & &3.5849e-02_rb,6.1666e-01_rb,1.2316e+00_rb,1.8451e+00_rb,2.4569e+00_rb,3.0640e+00_rb, & &3.6618e+00_rb,4.2232e+00_rb,4.9129e+00_rb/) kao(:, 4, 4,13) = (/ & &3.5079e-02_rb,7.3193e-01_rb,1.4618e+00_rb,2.1899e+00_rb,2.9146e+00_rb,3.6330e+00_rb, & &4.3356e+00_rb,4.9789e+00_rb,5.8283e+00_rb/) kao(:, 5, 4,13) = (/ & &3.4393e-02_rb,8.5645e-01_rb,1.7103e+00_rb,2.5622e+00_rb,3.4100e+00_rb,4.2503e+00_rb, & &5.0712e+00_rb,5.8174e+00_rb,6.8190e+00_rb/) kao(:, 1, 5,13) = (/ & &8.0627e-02_rb,3.8028e-01_rb,7.5923e-01_rb,1.1381e+00_rb,1.5165e+00_rb,1.8947e+00_rb, & &2.2720e+00_rb,2.6453e+00_rb,3.0318e+00_rb/) kao(:, 2, 5,13) = (/ & &7.8562e-02_rb,4.7262e-01_rb,9.4356e-01_rb,1.4144e+00_rb,1.8847e+00_rb,2.3543e+00_rb, & &2.8214e+00_rb,3.2802e+00_rb,3.7680e+00_rb/) kao(:, 3, 5,13) = (/ & &7.6982e-02_rb,5.7810e-01_rb,1.1544e+00_rb,1.7303e+00_rb,2.3053e+00_rb,2.8784e+00_rb, & &3.4478e+00_rb,4.0008e+00_rb,4.6091e+00_rb/) kao(:, 4, 5,13) = (/ & &7.5657e-02_rb,6.9735e-01_rb,1.3928e+00_rb,2.0875e+00_rb,2.7814e+00_rb,3.4728e+00_rb, & &4.1587e+00_rb,4.8230e+00_rb,5.5613e+00_rb/) kao(:, 5, 5,13) = (/ & &7.4333e-02_rb,8.2506e-01_rb,1.6482e+00_rb,2.4702e+00_rb,3.2916e+00_rb,4.1103e+00_rb, & &4.9228e+00_rb,5.7104e+00_rb,6.5816e+00_rb/) kao(:, 1, 6,13) = (/ & &1.6425e-01_rb,3.3608e-01_rb,6.6609e-01_rb,9.9817e-01_rb,1.3302e+00_rb,1.6619e+00_rb, & &1.9931e+00_rb,2.3215e+00_rb,2.6587e+00_rb/) kao(:, 2, 6,13) = (/ & &1.6074e-01_rb,4.2522e-01_rb,8.4831e-01_rb,1.2715e+00_rb,1.6941e+00_rb,2.1166e+00_rb, & &2.5378e+00_rb,2.9543e+00_rb,3.3863e+00_rb/) kao(:, 3, 6,13) = (/ & &1.5834e-01_rb,5.2989e-01_rb,1.0574e+00_rb,1.5848e+00_rb,2.1117e+00_rb,2.6382e+00_rb, & &3.1634e+00_rb,3.6820e+00_rb,4.2213e+00_rb/) kao(:, 4, 6,13) = (/ & &1.5607e-01_rb,6.4460e-01_rb,1.2868e+00_rb,1.9290e+00_rb,2.5707e+00_rb,3.2115e+00_rb, & &3.8511e+00_rb,4.4833e+00_rb,5.1392e+00_rb/) kao(:, 5, 6,13) = (/ & &1.5296e-01_rb,7.6868e-01_rb,1.5350e+00_rb,2.3008e+00_rb,3.0663e+00_rb,3.8313e+00_rb, & &4.5942e+00_rb,5.3490e+00_rb,6.1304e+00_rb/) kao(:, 1, 7,13) = (/ & &3.5667e-01_rb,3.9890e-01_rb,5.8897e-01_rb,8.6077e-01_rb,1.1469e+00_rb,1.4325e+00_rb, & &1.7184e+00_rb,2.0036e+00_rb,2.2913e+00_rb/) kao(:, 2, 7,13) = (/ & &3.5161e-01_rb,4.4967e-01_rb,7.5040e-01_rb,1.1221e+00_rb,1.4950e+00_rb,1.8682e+00_rb, & &2.2405e+00_rb,2.6119e+00_rb,2.9872e+00_rb/) kao(:, 3, 7,13) = (/ & &3.4606e-01_rb,5.1859e-01_rb,9.4635e-01_rb,1.4181e+00_rb,1.8897e+00_rb,2.3609e+00_rb, & &2.8323e+00_rb,3.3018e+00_rb,3.7764e+00_rb/) kao(:, 4, 7,13) = (/ & &3.3825e-01_rb,6.0265e-01_rb,1.1668e+00_rb,1.7485e+00_rb,2.3304e+00_rb,2.9114e+00_rb, & &3.4925e+00_rb,4.0716e+00_rb,4.6575e+00_rb/) kao(:, 5, 7,13) = (/ & &3.3043e-01_rb,7.1091e-01_rb,1.4088e+00_rb,2.1112e+00_rb,2.8136e+00_rb,3.5161e+00_rb, & &4.2182e+00_rb,4.9170e+00_rb,5.6239e+00_rb/) kao(:, 1, 8,13) = (/ & &9.2067e-01_rb,8.6182e-01_rb,8.2952e-01_rb,8.7491e-01_rb,1.0086e+00_rb,1.2181e+00_rb, & &1.4607e+00_rb,1.7034e+00_rb,1.9462e+00_rb/) kao(:, 2, 8,13) = (/ & &9.0671e-01_rb,8.7567e-01_rb,8.9610e-01_rb,1.0491e+00_rb,1.2996e+00_rb,1.6153e+00_rb, & &1.9371e+00_rb,2.2592e+00_rb,2.5816e+00_rb/) kao(:, 3, 8,13) = (/ & &8.8973e-01_rb,8.8439e-01_rb,1.0044e+00_rb,1.2766e+00_rb,1.6623e+00_rb,2.0766e+00_rb, & &2.4910e+00_rb,2.9049e+00_rb,3.3193e+00_rb/) kao(:, 4, 8,13) = (/ & &8.6846e-01_rb,9.1357e-01_rb,1.1469e+00_rb,1.5675e+00_rb,2.0797e+00_rb,2.5979e+00_rb, & &3.1162e+00_rb,3.6352e+00_rb,4.1539e+00_rb/) kao(:, 5, 8,13) = (/ & &8.4664e-01_rb,9.6627e-01_rb,1.3262e+00_rb,1.9064e+00_rb,2.5399e+00_rb,3.1734e+00_rb, & &3.8073e+00_rb,4.4405e+00_rb,5.0740e+00_rb/) kao(:, 1, 9,13) = (/ & &4.4067e+00_rb,3.8562e+00_rb,3.3799e+00_rb,2.9279e+00_rb,2.4898e+00_rb,2.0023e+00_rb, & &1.6061e+00_rb,1.4556e+00_rb,5.3966e-01_rb/) kao(:, 2, 9,13) = (/ & &4.3584e+00_rb,3.8431e+00_rb,3.3719e+00_rb,2.9985e+00_rb,2.5395e+00_rb,2.1329e+00_rb, & &1.8824e+00_rb,1.9290e+00_rb,1.2534e+00_rb/) kao(:, 3, 9,13) = (/ & &4.2715e+00_rb,3.7950e+00_rb,3.4185e+00_rb,3.0378e+00_rb,2.6388e+00_rb,2.3497e+00_rb, & &2.2667e+00_rb,2.5092e+00_rb,2.3205e+00_rb/) kao(:, 4, 9,13) = (/ & &4.1934e+00_rb,3.7482e+00_rb,3.4519e+00_rb,3.0862e+00_rb,2.7969e+00_rb,2.6493e+00_rb, & &2.7789e+00_rb,3.1851e+00_rb,3.5246e+00_rb/) kao(:, 5, 9,13) = (/ & &4.0917e+00_rb,3.7105e+00_rb,3.4634e+00_rb,3.1979e+00_rb,3.0093e+00_rb,3.0525e+00_rb, & &3.4012e+00_rb,3.9555e+00_rb,4.5178e+00_rb/) kao(:, 1,10,13) = (/ & &2.3719e+01_rb,2.0753e+01_rb,1.7788e+01_rb,1.4825e+01_rb,1.1907e+01_rb,9.0621e+00_rb, & &6.2541e+00_rb,3.4363e+00_rb,9.1814e-01_rb/) kao(:, 2,10,13) = (/ & &2.3432e+01_rb,2.0501e+01_rb,1.7571e+01_rb,1.4658e+01_rb,1.1890e+01_rb,9.0622e+00_rb, & &6.4024e+00_rb,3.5910e+00_rb,1.1158e+00_rb/) kao(:, 3,10,13) = (/ & &2.3069e+01_rb,2.0187e+01_rb,1.7300e+01_rb,1.4541e+01_rb,1.1793e+01_rb,9.1570e+00_rb, & &6.5099e+00_rb,3.8249e+00_rb,9.3188e-01_rb/) kao(:, 4,10,13) = (/ & &2.2641e+01_rb,1.9809e+01_rb,1.6998e+01_rb,1.4367e+01_rb,1.1776e+01_rb,9.2770e+00_rb, & &6.6180e+00_rb,4.0885e+00_rb,9.9189e-01_rb/) kao(:, 5,10,13) = (/ & &2.2220e+01_rb,1.9436e+01_rb,1.6770e+01_rb,1.4187e+01_rb,1.1792e+01_rb,9.2910e+00_rb, & &6.8771e+00_rb,4.4865e+00_rb,1.9399e+00_rb/) kao(:, 1,11,13) = (/ & &4.4319e+01_rb,3.8780e+01_rb,3.3240e+01_rb,2.7701e+01_rb,2.2160e+01_rb,1.6704e+01_rb, & &1.1307e+01_rb,6.0563e+00_rb,5.8625e-01_rb/) kao(:, 2,11,13) = (/ & &4.3809e+01_rb,3.8330e+01_rb,3.2852e+01_rb,2.7376e+01_rb,2.1936e+01_rb,1.6626e+01_rb, & &1.1378e+01_rb,6.1989e+00_rb,8.1730e-01_rb/) kao(:, 3,11,13) = (/ & &4.3202e+01_rb,3.7799e+01_rb,3.2400e+01_rb,2.7000e+01_rb,2.1788e+01_rb,1.6575e+01_rb, & &1.1586e+01_rb,6.3577e+00_rb,1.8296e+00_rb/) kao(:, 4,11,13) = (/ & &4.2458e+01_rb,3.7147e+01_rb,3.1841e+01_rb,2.6621e+01_rb,2.1500e+01_rb,1.6577e+01_rb, & &1.1663e+01_rb,6.6208e+00_rb,1.8735e+00_rb/) kao(:, 5,11,13) = (/ & &4.1634e+01_rb,3.6429e+01_rb,3.1221e+01_rb,2.6233e+01_rb,2.1246e+01_rb,1.6580e+01_rb, & &1.1685e+01_rb,6.9092e+00_rb,1.7032e+00_rb/) kao(:, 1,12,13) = (/ & &6.1904e+01_rb,5.4167e+01_rb,4.6429e+01_rb,3.8690e+01_rb,3.0952e+01_rb,2.3248e+01_rb, & &1.5661e+01_rb,8.2582e+00_rb,4.3930e-01_rb/) kao(:, 2,12,13) = (/ & &6.1270e+01_rb,5.3611e+01_rb,4.5953e+01_rb,3.8296e+01_rb,3.0637e+01_rb,2.3190e+01_rb, & &1.5723e+01_rb,8.4338e+00_rb,1.2396e+00_rb/) kao(:, 3,12,13) = (/ & &6.0345e+01_rb,5.2802e+01_rb,4.5261e+01_rb,3.7714e+01_rb,3.0326e+01_rb,2.2898e+01_rb, & &1.5824e+01_rb,8.5563e+00_rb,2.5106e+00_rb/) kao(:, 4,12,13) = (/ & &5.9306e+01_rb,5.1895e+01_rb,4.4474e+01_rb,3.7089e+01_rb,2.9895e+01_rb,2.2756e+01_rb, & &1.5929e+01_rb,8.7873e+00_rb,2.2974e+00_rb/) kao(:, 5,12,13) = (/ & &5.8419e+01_rb,5.1111e+01_rb,4.3811e+01_rb,3.6683e+01_rb,2.9523e+01_rb,2.2821e+01_rb, & &1.5911e+01_rb,9.0327e+00_rb,2.2973e+00_rb/) kao(:, 1,13,13) = (/ & &6.8544e+01_rb,5.9975e+01_rb,5.1408e+01_rb,4.2840e+01_rb,3.4272e+01_rb,2.5775e+01_rb, & &1.7340e+01_rb,9.2235e+00_rb,4.0824e-01_rb/) kao(:, 2,13,13) = (/ & &6.7698e+01_rb,5.9233e+01_rb,5.0770e+01_rb,4.2312e+01_rb,3.3875e+01_rb,2.5602e+01_rb, & &1.7402e+01_rb,9.3485e+00_rb,1.7747e+00_rb/) kao(:, 3,13,13) = (/ & &6.6803e+01_rb,5.8453e+01_rb,5.0103e+01_rb,4.1750e+01_rb,3.3601e+01_rb,2.5372e+01_rb, & &1.7686e+01_rb,9.4660e+00_rb,2.9931e+00_rb/) kao(:, 4,13,13) = (/ & &6.5956e+01_rb,5.7706e+01_rb,4.9463e+01_rb,4.1288e+01_rb,3.3259e+01_rb,2.5336e+01_rb, & &1.7750e+01_rb,9.7483e+00_rb,2.7732e+00_rb/) kao(:, 5,13,13) = (/ & &6.5110e+01_rb,5.6969e+01_rb,4.8829e+01_rb,4.0948e+01_rb,3.2989e+01_rb,2.5559e+01_rb, & &1.7705e+01_rb,9.9706e+00_rb,2.2584e+00_rb/) kao(:, 1, 1,14) = (/ & &5.3617e-03_rb,8.8862e-01_rb,1.7657e+00_rb,2.6246e+00_rb,3.4547e+00_rb,4.2326e+00_rb, & &4.9022e+00_rb,5.2848e+00_rb,6.9093e+00_rb/) kao(:, 2, 1,14) = (/ & &5.2510e-03_rb,1.0670e+00_rb,2.1191e+00_rb,3.1492e+00_rb,4.1423e+00_rb,5.0696e+00_rb, & &5.8593e+00_rb,6.2778e+00_rb,8.2844e+00_rb/) kao(:, 3, 1,14) = (/ & &5.1410e-03_rb,1.2574e+00_rb,2.4970e+00_rb,3.7095e+00_rb,4.8778e+00_rb,5.9654e+00_rb, & &6.8831e+00_rb,7.3419e+00_rb,9.7553e+00_rb/) kao(:, 4, 1,14) = (/ & &5.0266e-03_rb,1.4566e+00_rb,2.8932e+00_rb,4.2987e+00_rb,5.6515e+00_rb,6.9086e+00_rb, & &7.9640e+00_rb,8.4651e+00_rb,1.1303e+01_rb/) kao(:, 5, 1,14) = (/ & &4.9104e-03_rb,1.6562e+00_rb,3.2920e+00_rb,4.8956e+00_rb,6.4440e+00_rb,7.8868e+00_rb, & &9.0871e+00_rb,9.6375e+00_rb,1.2888e+01_rb/) kao(:, 1, 2,14) = (/ & &8.7449e-03_rb,9.0334e-01_rb,1.7988e+00_rb,2.6821e+00_rb,3.5450e+00_rb,4.3691e+00_rb, & &5.1072e+00_rb,5.5794e+00_rb,7.0898e+00_rb/) kao(:, 2, 2,14) = (/ & &8.5771e-03_rb,1.0973e+00_rb,2.1846e+00_rb,3.2569e+00_rb,4.3031e+00_rb,5.3011e+00_rb, & &6.1907e+00_rb,6.7403e+00_rb,8.6059e+00_rb/) kao(:, 3, 2,14) = (/ & &8.3757e-03_rb,1.3007e+00_rb,2.5910e+00_rb,3.8649e+00_rb,5.1100e+00_rb,6.3010e+00_rb, & &7.3563e+00_rb,7.9915e+00_rb,1.0220e+01_rb/) kao(:, 4, 2,14) = (/ & &8.1726e-03_rb,1.5076e+00_rb,3.0039e+00_rb,4.4835e+00_rb,5.9326e+00_rb,7.3236e+00_rb, & &8.5740e+00_rb,9.3177e+00_rb,1.1865e+01_rb/) kao(:, 5, 2,14) = (/ & &7.9706e-03_rb,1.7155e+00_rb,3.4194e+00_rb,5.1046e+00_rb,6.7592e+00_rb,8.3528e+00_rb, & &9.7973e+00_rb,1.0700e+01_rb,1.3518e+01_rb/) kao(:, 1, 3,14) = (/ & &1.9310e-02_rb,8.7468e-01_rb,1.7453e+00_rb,2.6103e+00_rb,3.4663e+00_rb,4.3037e+00_rb, & &5.0955e+00_rb,5.7297e+00_rb,6.9321e+00_rb/) kao(:, 2, 3,14) = (/ & &1.8969e-02_rb,1.0738e+00_rb,2.1432e+00_rb,3.2076e+00_rb,4.2608e+00_rb,5.2941e+00_rb, & &6.2765e+00_rb,7.0620e+00_rb,8.5210e+00_rb/) kao(:, 3, 3,14) = (/ & &1.8605e-02_rb,1.2813e+00_rb,2.5582e+00_rb,3.8286e+00_rb,5.0883e+00_rb,6.3262e+00_rb, & &7.5114e+00_rb,8.4846e+00_rb,1.0176e+01_rb/) kao(:, 4, 3,14) = (/ & &1.8213e-02_rb,1.4944e+00_rb,2.9835e+00_rb,4.4663e+00_rb,5.9372e+00_rb,7.3859e+00_rb, & &8.7760e+00_rb,9.9435e+00_rb,1.1874e+01_rb/) kao(:, 5, 3,14) = (/ & &1.7876e-02_rb,1.7091e+00_rb,3.4131e+00_rb,5.1104e+00_rb,6.7954e+00_rb,8.4548e+00_rb, & &1.0056e+01_rb,1.1421e+01_rb,1.3590e+01_rb/) kao(:, 1, 4,14) = (/ & &4.4344e-02_rb,8.3370e-01_rb,1.6650e+00_rb,2.4941e+00_rb,3.3185e+00_rb,4.1344e+00_rb, & &4.9297e+00_rb,5.6430e+00_rb,6.6364e+00_rb/) kao(:, 2, 4,14) = (/ & &4.3566e-02_rb,1.0283e+00_rb,2.0545e+00_rb,3.0778e+00_rb,4.0971e+00_rb,5.1067e+00_rb, & &6.0943e+00_rb,6.9950e+00_rb,8.1935e+00_rb/) kao(:, 3, 4,14) = (/ & &4.2932e-02_rb,1.2330e+00_rb,2.4636e+00_rb,3.6915e+00_rb,4.9148e+00_rb,6.1292e+00_rb, & &7.3214e+00_rb,8.4254e+00_rb,9.8287e+00_rb/) kao(:, 4, 4,14) = (/ & &4.2251e-02_rb,1.4427e+00_rb,2.8831e+00_rb,4.3208e+00_rb,5.7549e+00_rb,7.1799e+00_rb, & &8.5827e+00_rb,9.9037e+00_rb,1.1509e+01_rb/) kao(:, 5, 4,14) = (/ & &4.1551e-02_rb,1.6617e+00_rb,3.3208e+00_rb,4.9772e+00_rb,6.6290e+00_rb,8.2714e+00_rb, & &9.8934e+00_rb,1.1428e+01_rb,1.3257e+01_rb/) kao(:, 1, 5,14) = (/ & &9.4754e-02_rb,7.8821e-01_rb,1.5748e+00_rb,2.3603e+00_rb,3.1437e+00_rb,3.9237e+00_rb, & &4.6947e+00_rb,5.4302e+00_rb,6.2865e+00_rb/) kao(:, 2, 5,14) = (/ & &9.3575e-02_rb,9.7845e-01_rb,1.9550e+00_rb,2.9310e+00_rb,3.9047e+00_rb,4.8748e+00_rb, & &5.8356e+00_rb,6.7595e+00_rb,7.8084e+00_rb/) kao(:, 3, 5,14) = (/ & &9.2188e-02_rb,1.1782e+00_rb,2.3547e+00_rb,3.5302e+00_rb,4.7038e+00_rb,5.8743e+00_rb, & &7.0357e+00_rb,8.1610e+00_rb,9.4064e+00_rb/) kao(:, 4, 5,14) = (/ & &9.0816e-02_rb,1.3863e+00_rb,2.7710e+00_rb,4.1546e+00_rb,5.5362e+00_rb,6.9136e+00_rb, & &8.2813e+00_rb,9.6122e+00_rb,1.1071e+01_rb/) kao(:, 5, 5,14) = (/ & &8.9641e-02_rb,1.6059e+00_rb,3.2095e+00_rb,4.8121e+00_rb,6.4122e+00_rb,8.0077e+00_rb, & &9.5924e+00_rb,1.1136e+01_rb,1.2823e+01_rb/) kao(:, 1, 6,14) = (/ & &1.9317e-01_rb,7.2809e-01_rb,1.4547e+00_rb,2.1811e+00_rb,2.9065e+00_rb,3.6305e+00_rb, & &4.3507e+00_rb,5.0577e+00_rb,5.8117e+00_rb/) kao(:, 2, 6,14) = (/ & &1.9031e-01_rb,9.0988e-01_rb,1.8182e+00_rb,2.7260e+00_rb,3.6329e+00_rb,4.5385e+00_rb, & &5.4408e+00_rb,6.3293e+00_rb,7.2643e+00_rb/) kao(:, 3, 6,14) = (/ & &1.8758e-01_rb,1.1038e+00_rb,2.2061e+00_rb,3.3074e+00_rb,4.4083e+00_rb,5.5073e+00_rb, & &6.6028e+00_rb,7.6822e+00_rb,8.8149e+00_rb/) kao(:, 4, 6,14) = (/ & &1.8516e-01_rb,1.3141e+00_rb,2.6258e+00_rb,3.9372e+00_rb,5.2485e+00_rb,6.5558e+00_rb, & &7.8598e+00_rb,9.1449e+00_rb,1.0495e+01_rb/) kao(:, 5, 6,14) = (/ & &1.8433e-01_rb,1.5378e+00_rb,3.0732e+00_rb,4.6078e+00_rb,6.1419e+00_rb,7.6735e+00_rb, & &9.1990e+00_rb,1.0701e+01_rb,1.2282e+01_rb/) kao(:, 1, 7,14) = (/ & &4.2545e-01_rb,7.0197e-01_rb,1.3229e+00_rb,1.9833e+00_rb,2.6434e+00_rb,3.3025e+00_rb, & &3.9608e+00_rb,4.6133e+00_rb,5.2849e+00_rb/) kao(:, 2, 7,14) = (/ & &4.1807e-01_rb,8.4884e-01_rb,1.6721e+00_rb,2.5066e+00_rb,3.3410e+00_rb,4.1750e+00_rb, & &5.0067e+00_rb,5.8326e+00_rb,6.6798e+00_rb/) kao(:, 3, 7,14) = (/ & &4.1332e-01_rb,1.0301e+00_rb,2.0577e+00_rb,3.0848e+00_rb,4.1118e+00_rb,5.1378e+00_rb, & &6.1618e+00_rb,7.1777e+00_rb,8.2211e+00_rb/) kao(:, 4, 7,14) = (/ & &4.0936e-01_rb,1.2414e+00_rb,2.4798e+00_rb,3.7180e+00_rb,4.9556e+00_rb,6.1921e+00_rb, & &7.4267e+00_rb,8.6520e+00_rb,9.9083e+00_rb/) kao(:, 5, 7,14) = (/ & &4.0685e-01_rb,1.4675e+00_rb,2.9318e+00_rb,4.3961e+00_rb,5.8593e+00_rb,7.3214e+00_rb, & &8.7804e+00_rb,1.0230e+01_rb,1.1715e+01_rb/) kao(:, 1, 8,14) = (/ & &1.1195e+00_rb,1.0895e+00_rb,1.3598e+00_rb,1.7846e+00_rb,2.3466e+00_rb,2.9325e+00_rb, & &3.5182e+00_rb,4.1012e+00_rb,4.6898e+00_rb/) kao(:, 2, 8,14) = (/ & &1.1037e+00_rb,1.1788e+00_rb,1.6176e+00_rb,2.2927e+00_rb,3.0553e+00_rb,3.8181e+00_rb, & &4.5804e+00_rb,5.3406e+00_rb,6.1069e+00_rb/) kao(:, 3, 8,14) = (/ & &1.0884e+00_rb,1.2851e+00_rb,1.9342e+00_rb,2.8650e+00_rb,3.8186e+00_rb,4.7719e+00_rb, & &5.7236e+00_rb,6.6739e+00_rb,7.6330e+00_rb/) kao(:, 4, 8,14) = (/ & &1.0777e+00_rb,1.3879e+00_rb,2.3316e+00_rb,3.4927e+00_rb,4.6551e+00_rb,5.8169e+00_rb, & &6.9783e+00_rb,8.1364e+00_rb,9.3055e+00_rb/) kao(:, 5, 8,14) = (/ & &1.0697e+00_rb,1.5195e+00_rb,2.7843e+00_rb,4.1737e+00_rb,5.5632e+00_rb,6.9521e+00_rb, & &8.3391e+00_rb,9.7222e+00_rb,1.1121e+01_rb/) kao(:, 1, 9,14) = (/ & &5.6190e+00_rb,4.9167e+00_rb,4.3250e+00_rb,3.7358e+00_rb,3.4047e+00_rb,3.1579e+00_rb, & &3.1500e+00_rb,3.5459e+00_rb,3.9362e+00_rb/) kao(:, 2, 9,14) = (/ & &5.5255e+00_rb,4.8418e+00_rb,4.3146e+00_rb,3.9154e+00_rb,3.7623e+00_rb,3.7282e+00_rb, & &4.0980e+00_rb,4.7612e+00_rb,5.4406e+00_rb/) kao(:, 3, 9,14) = (/ & &5.4430e+00_rb,4.8357e+00_rb,4.3573e+00_rb,4.2040e+00_rb,4.1594e+00_rb,4.5007e+00_rb, & &5.2453e+00_rb,6.1166e+00_rb,6.9893e+00_rb/) kao(:, 4, 9,14) = (/ & &5.3842e+00_rb,4.8388e+00_rb,4.5334e+00_rb,4.4707e+00_rb,4.7073e+00_rb,5.4536e+00_rb, & &6.5005e+00_rb,7.5810e+00_rb,8.6617e+00_rb/) kao(:, 5, 9,14) = (/ & &5.3385e+00_rb,4.8392e+00_rb,4.7032e+00_rb,4.7787e+00_rb,5.4197e+00_rb,6.5502e+00_rb, & &7.8564e+00_rb,9.1615e+00_rb,1.0470e+01_rb/) kao(:, 1,10,14) = (/ & &3.1503e+01_rb,2.7564e+01_rb,2.3627e+01_rb,1.9689e+01_rb,1.5752e+01_rb,1.2029e+01_rb, & &8.2850e+00_rb,5.0089e+00_rb,2.6421e-01_rb/) kao(:, 2,10,14) = (/ & &3.1041e+01_rb,2.7162e+01_rb,2.3282e+01_rb,1.9402e+01_rb,1.5696e+01_rb,1.2052e+01_rb, & &8.5363e+00_rb,5.5767e+00_rb,1.2004e+00_rb/) kao(:, 3,10,14) = (/ & &3.0653e+01_rb,2.6822e+01_rb,2.2991e+01_rb,1.9210e+01_rb,1.5684e+01_rb,1.2101e+01_rb, & &9.0343e+00_rb,6.3229e+00_rb,1.6811e+00_rb/) kao(:, 4,10,14) = (/ & &3.0330e+01_rb,2.6541e+01_rb,2.2749e+01_rb,1.9185e+01_rb,1.5678e+01_rb,1.2425e+01_rb, & &9.5207e+00_rb,7.4497e+00_rb,1.5881e+00_rb/) kao(:, 5,10,14) = (/ & &2.9986e+01_rb,2.6238e+01_rb,2.2506e+01_rb,1.9078e+01_rb,1.5796e+01_rb,1.2833e+01_rb, & &1.0036e+01_rb,8.8467e+00_rb,2.8996e+00_rb/) kao(:, 1,11,14) = (/ & &6.1029e+01_rb,5.3402e+01_rb,4.5771e+01_rb,3.8145e+01_rb,3.0515e+01_rb,2.2887e+01_rb, & &1.5544e+01_rb,8.4710e+00_rb,5.1903e-01_rb/) kao(:, 2,11,14) = (/ & &6.0319e+01_rb,5.2777e+01_rb,4.5238e+01_rb,3.7700e+01_rb,3.0160e+01_rb,2.2857e+01_rb, & &1.5622e+01_rb,8.8835e+00_rb,1.0450e+00_rb/) kao(:, 3,11,14) = (/ & &5.9632e+01_rb,5.2177e+01_rb,4.4723e+01_rb,3.7270e+01_rb,2.9909e+01_rb,2.2818e+01_rb, & &1.5829e+01_rb,9.3768e+00_rb,1.3014e+00_rb/) kao(:, 4,11,14) = (/ & &5.9020e+01_rb,5.1642e+01_rb,4.4266e+01_rb,3.6888e+01_rb,2.9847e+01_rb,2.2764e+01_rb, & &1.6262e+01_rb,9.9702e+00_rb,2.2647e+00_rb/) kao(:, 5,11,14) = (/ & &5.8283e+01_rb,5.0998e+01_rb,4.3714e+01_rb,3.6531e+01_rb,2.9620e+01_rb,2.3044e+01_rb, & &1.6667e+01_rb,1.0858e+01_rb,2.1604e+00_rb/) kao(:, 1,12,14) = (/ & &8.6818e+01_rb,7.5961e+01_rb,6.5105e+01_rb,5.4264e+01_rb,4.3410e+01_rb,3.2557e+01_rb, & &2.1958e+01_rb,1.1756e+01_rb,1.0818e+00_rb/) kao(:, 2,12,14) = (/ & &8.5898e+01_rb,7.5160e+01_rb,6.4423e+01_rb,5.3685e+01_rb,4.2947e+01_rb,3.2329e+01_rb, & &2.1951e+01_rb,1.2183e+01_rb,6.2703e-01_rb/) kao(:, 3,12,14) = (/ & &8.4970e+01_rb,7.4354e+01_rb,6.3731e+01_rb,5.3109e+01_rb,4.2485e+01_rb,3.2310e+01_rb, & &2.2149e+01_rb,1.2602e+01_rb,1.0531e+00_rb/) kao(:, 4,12,14) = (/ & &8.4043e+01_rb,7.3537e+01_rb,6.3034e+01_rb,5.2533e+01_rb,4.2288e+01_rb,3.2140e+01_rb, & &2.2696e+01_rb,1.3012e+01_rb,4.3852e+00_rb/) kao(:, 5,12,14) = (/ & &8.3130e+01_rb,7.2745e+01_rb,6.2351e+01_rb,5.1964e+01_rb,4.2084e+01_rb,3.2159e+01_rb, & &2.3067e+01_rb,1.3670e+01_rb,3.1697e+00_rb/) kao(:, 1,13,14) = (/ & &9.9062e+01_rb,8.6679e+01_rb,7.4295e+01_rb,6.1914e+01_rb,4.9531e+01_rb,3.7148e+01_rb, & &2.5053e+01_rb,1.3336e+01_rb,1.0355e+00_rb/) kao(:, 2,13,14) = (/ & &9.8005e+01_rb,8.5755e+01_rb,7.3503e+01_rb,6.1254e+01_rb,4.9004e+01_rb,3.6913e+01_rb, & &2.4991e+01_rb,1.3937e+01_rb,6.5467e-01_rb/) kao(:, 3,13,14) = (/ & &9.6910e+01_rb,8.4797e+01_rb,7.2683e+01_rb,6.0573e+01_rb,4.8483e+01_rb,3.6814e+01_rb, & &2.5110e+01_rb,1.4339e+01_rb,1.8215e+00_rb/) kao(:, 4,13,14) = (/ & &9.5837e+01_rb,8.3857e+01_rb,7.1882e+01_rb,5.9896e+01_rb,4.8229e+01_rb,3.6584e+01_rb, & &2.5752e+01_rb,1.4680e+01_rb,4.3881e+00_rb/) kao(:, 5,13,14) = (/ & &9.4386e+01_rb,8.2585e+01_rb,7.0788e+01_rb,5.9024e+01_rb,4.7765e+01_rb,3.6452e+01_rb, & &2.6308e+01_rb,1.5330e+01_rb,4.3734e+00_rb/) kao(:, 1, 1,15) = (/ & &6.2662e-03_rb,2.0747e+00_rb,4.1170e+00_rb,6.1089e+00_rb,8.0146e+00_rb,9.7584e+00_rb, & &1.1145e+01_rb,1.1422e+01_rb,1.6029e+01_rb/) kao(:, 2, 1,15) = (/ & &6.1351e-03_rb,2.4271e+00_rb,4.8178e+00_rb,7.1504e+00_rb,9.3877e+00_rb,1.1443e+01_rb, & &1.3088e+01_rb,1.3461e+01_rb,1.8775e+01_rb/) kao(:, 3, 1,15) = (/ & &6.0097e-03_rb,2.7826e+00_rb,5.5248e+00_rb,8.2041e+00_rb,1.0775e+01_rb,1.3145e+01_rb, & &1.5060e+01_rb,1.5543e+01_rb,2.1551e+01_rb/) kao(:, 4, 1,15) = (/ & &5.9020e-03_rb,3.1403e+00_rb,6.2337e+00_rb,9.2578e+00_rb,1.2161e+01_rb,1.4850e+01_rb, & &1.7039e+01_rb,1.7642e+01_rb,2.4321e+01_rb/) kao(:, 5, 1,15) = (/ & &5.8030e-03_rb,3.5098e+00_rb,6.9636e+00_rb,1.0331e+01_rb,1.3560e+01_rb,1.6533e+01_rb, & &1.8991e+01_rb,1.9724e+01_rb,2.7120e+01_rb/) kao(:, 1, 2,15) = (/ & &1.0266e-02_rb,2.1405e+00_rb,4.2622e+00_rb,6.3547e+00_rb,8.3970e+00_rb,1.0344e+01_rb, & &1.2064e+01_rb,1.2985e+01_rb,1.6794e+01_rb/) kao(:, 2, 2,15) = (/ & &1.0014e-02_rb,2.5163e+00_rb,5.0119e+00_rb,7.4752e+00_rb,9.8815e+00_rb,1.2172e+01_rb, & &1.4218e+01_rb,1.5356e+01_rb,1.9763e+01_rb/) kao(:, 3, 2,15) = (/ & &9.8638e-03_rb,2.9079e+00_rb,5.7890e+00_rb,8.6292e+00_rb,1.1401e+01_rb,1.4046e+01_rb, & &1.6408e+01_rb,1.7772e+01_rb,2.2802e+01_rb/) kao(:, 4, 2,15) = (/ & &9.7234e-03_rb,3.3191e+00_rb,6.6057e+00_rb,9.8408e+00_rb,1.2995e+01_rb,1.5989e+01_rb, & &1.8633e+01_rb,2.0195e+01_rb,2.5989e+01_rb/) kao(:, 5, 2,15) = (/ & &9.5893e-03_rb,3.7435e+00_rb,7.4476e+00_rb,1.1096e+01_rb,1.4644e+01_rb,1.8006e+01_rb, & &2.0946e+01_rb,2.2600e+01_rb,2.9288e+01_rb/) kao(:, 1, 3,15) = (/ & &2.3937e-02_rb,2.0884e+00_rb,4.1689e+00_rb,6.2403e+00_rb,8.2897e+00_rb,1.0301e+01_rb, & &1.2219e+01_rb,1.3769e+01_rb,1.6579e+01_rb/) kao(:, 2, 3,15) = (/ & &2.3289e-02_rb,2.4959e+00_rb,4.9798e+00_rb,7.4513e+00_rb,9.8967e+00_rb,1.2286e+01_rb, & &1.4557e+01_rb,1.6412e+01_rb,1.9793e+01_rb/) kao(:, 3, 3,15) = (/ & &2.2745e-02_rb,2.9294e+00_rb,5.8465e+00_rb,8.7448e+00_rb,1.1610e+01_rb,1.4408e+01_rb, & &1.7054e+01_rb,1.9158e+01_rb,2.3219e+01_rb/) kao(:, 4, 3,15) = (/ & &2.2330e-02_rb,3.3848e+00_rb,6.7550e+00_rb,1.0101e+01_rb,1.3409e+01_rb,1.6637e+01_rb, & &1.9679e+01_rb,2.2057e+01_rb,2.6817e+01_rb/) kao(:, 5, 3,15) = (/ & &2.1962e-02_rb,3.8549e+00_rb,7.6925e+00_rb,1.1504e+01_rb,1.5265e+01_rb,1.8935e+01_rb, & &2.2399e+01_rb,2.5067e+01_rb,3.0529e+01_rb/) kao(:, 1, 4,15) = (/ & &5.8511e-02_rb,1.9940e+00_rb,3.9844e+00_rb,5.9687e+00_rb,7.9437e+00_rb,9.9016e+00_rb, & &1.1811e+01_rb,1.3553e+01_rb,1.5887e+01_rb/) kao(:, 2, 4,15) = (/ & &5.6982e-02_rb,2.4233e+00_rb,4.8420e+00_rb,7.2530e+00_rb,9.6512e+00_rb,1.2029e+01_rb, & &1.4341e+01_rb,1.6438e+01_rb,1.9302e+01_rb/) kao(:, 3, 4,15) = (/ & &5.5673e-02_rb,2.8886e+00_rb,5.7711e+00_rb,8.6444e+00_rb,1.1501e+01_rb,1.4329e+01_rb, & &1.7084e+01_rb,1.9562e+01_rb,2.3002e+01_rb/) kao(:, 4, 4,15) = (/ & &5.4580e-02_rb,3.3869e+00_rb,6.7661e+00_rb,1.0134e+01_rb,1.3482e+01_rb,1.6795e+01_rb, & &2.0015e+01_rb,2.2895e+01_rb,2.6964e+01_rb/) kao(:, 5, 4,15) = (/ & &5.3615e-02_rb,3.9077e+00_rb,7.8058e+00_rb,1.1691e+01_rb,1.5555e+01_rb,1.9373e+01_rb, & &2.3083e+01_rb,2.6384e+01_rb,3.1109e+01_rb/) kao(:, 1, 5,15) = (/ & &1.2989e-01_rb,1.8900e+00_rb,3.7783e+00_rb,5.6637e+00_rb,7.5463e+00_rb,9.4177e+00_rb, & &1.1267e+01_rb,1.3028e+01_rb,1.5093e+01_rb/) kao(:, 2, 5,15) = (/ & &1.2665e-01_rb,2.3422e+00_rb,4.6829e+00_rb,7.0179e+00_rb,9.3476e+00_rb,1.1662e+01_rb, & &1.3953e+01_rb,1.6125e+01_rb,1.8695e+01_rb/) kao(:, 3, 5,15) = (/ & &1.2397e-01_rb,2.8405e+00_rb,5.6772e+00_rb,8.5098e+00_rb,1.1334e+01_rb,1.4142e+01_rb, & &1.6912e+01_rb,1.9527e+01_rb,2.2668e+01_rb/) kao(:, 4, 5,15) = (/ & &1.2164e-01_rb,3.3767e+00_rb,6.7490e+00_rb,1.0116e+01_rb,1.3472e+01_rb,1.6807e+01_rb, & &2.0097e+01_rb,2.3197e+01_rb,2.6943e+01_rb/) kao(:, 5, 5,15) = (/ & &1.1945e-01_rb,3.9432e+00_rb,7.8814e+00_rb,1.1812e+01_rb,1.5732e+01_rb,1.9624e+01_rb, & &2.3463e+01_rb,2.7077e+01_rb,3.1463e+01_rb/) kao(:, 1, 6,15) = (/ & &2.7269e-01_rb,1.7592e+00_rb,3.5166e+00_rb,5.2733e+00_rb,7.0272e+00_rb,8.7771e+00_rb, & &1.0515e+01_rb,1.2209e+01_rb,1.4054e+01_rb/) kao(:, 2, 6,15) = (/ & &2.6586e-01_rb,2.2331e+00_rb,4.4644e+00_rb,6.6948e+00_rb,8.9210e+00_rb,1.1141e+01_rb, & &1.3343e+01_rb,1.5486e+01_rb,1.7841e+01_rb/) kao(:, 3, 6,15) = (/ & &2.5987e-01_rb,2.7625e+00_rb,5.5224e+00_rb,8.2799e+00_rb,1.1033e+01_rb,1.3778e+01_rb, & &1.6504e+01_rb,1.9146e+01_rb,2.2064e+01_rb/) kao(:, 4, 6,15) = (/ & &2.5470e-01_rb,3.3380e+00_rb,6.6713e+00_rb,1.0004e+01_rb,1.3331e+01_rb,1.6646e+01_rb, & &1.9934e+01_rb,2.3121e+01_rb,2.6661e+01_rb/) kao(:, 5, 6,15) = (/ & &2.4980e-01_rb,3.9509e+00_rb,7.8982e+00_rb,1.1841e+01_rb,1.5778e+01_rb,1.9702e+01_rb, & &2.3595e+01_rb,2.7362e+01_rb,3.1554e+01_rb/) kao(:, 1, 7,15) = (/ & &6.0751e-01_rb,1.6155e+00_rb,3.2295e+00_rb,4.8433e+00_rb,6.4556e+00_rb,8.0666e+00_rb, & &9.6721e+00_rb,1.1255e+01_rb,1.2910e+01_rb/) kao(:, 2, 7,15) = (/ & &5.9214e-01_rb,2.1056e+00_rb,4.2107e+00_rb,6.3119e+00_rb,8.4131e+00_rb,1.0511e+01_rb, & &1.2602e+01_rb,1.4667e+01_rb,1.6825e+01_rb/) kao(:, 3, 7,15) = (/ & &5.7904e-01_rb,2.6613e+00_rb,5.3198e+00_rb,7.9772e+00_rb,1.0632e+01_rb,1.3285e+01_rb, & &1.5925e+01_rb,1.8528e+01_rb,2.1262e+01_rb/) kao(:, 4, 7,15) = (/ & &5.6819e-01_rb,3.2710e+00_rb,6.5412e+00_rb,9.8097e+00_rb,1.3074e+01_rb,1.6330e+01_rb, & &1.9581e+01_rb,2.2775e+01_rb,2.6146e+01_rb/) kao(:, 5, 7,15) = (/ & &5.5940e-01_rb,3.9287e+00_rb,7.8537e+00_rb,1.1777e+01_rb,1.5697e+01_rb,1.9610e+01_rb, & &2.3510e+01_rb,2.7346e+01_rb,3.1392e+01_rb/) kao(:, 1, 8,15) = (/ & &1.5944e+00_rb,1.8253e+00_rb,2.9741e+00_rb,4.4602e+00_rb,5.9464e+00_rb,7.4314e+00_rb, & &8.9145e+00_rb,1.0387e+01_rb,1.1892e+01_rb/) kao(:, 2, 8,15) = (/ & &1.5557e+00_rb,2.1022e+00_rb,3.9278e+00_rb,5.8889e+00_rb,7.8512e+00_rb,9.8106e+00_rb, & &1.1770e+01_rb,1.3716e+01_rb,1.5700e+01_rb/) kao(:, 3, 8,15) = (/ & &1.5271e+00_rb,2.5583e+00_rb,5.0719e+00_rb,7.6057e+00_rb,1.0139e+01_rb,1.2670e+01_rb, & &1.5200e+01_rb,1.7713e+01_rb,2.0275e+01_rb/) kao(:, 4, 8,15) = (/ & &1.5040e+00_rb,3.1773e+00_rb,6.3513e+00_rb,9.5214e+00_rb,1.2692e+01_rb,1.5861e+01_rb, & &1.9025e+01_rb,2.2168e+01_rb,2.5379e+01_rb/) kao(:, 5, 8,15) = (/ & &1.4829e+00_rb,3.8723e+00_rb,7.7385e+00_rb,1.1605e+01_rb,1.5469e+01_rb,1.9331e+01_rb, & &2.3189e+01_rb,2.7019e+01_rb,3.0932e+01_rb/) kao(:, 1, 9,15) = (/ & &7.9603e+00_rb,6.9650e+00_rb,6.1670e+00_rb,5.9409e+00_rb,5.9163e+00_rb,6.8445e+00_rb, & &8.2104e+00_rb,9.5758e+00_rb,1.0949e+01_rb/) kao(:, 2, 9,15) = (/ & &7.7491e+00_rb,6.7807e+00_rb,6.5143e+00_rb,6.5222e+00_rb,7.4209e+00_rb,9.1698e+00_rb, & &1.1001e+01_rb,1.2830e+01_rb,1.4668e+01_rb/) kao(:, 3, 9,15) = (/ & &7.6260e+00_rb,6.7058e+00_rb,6.8127e+00_rb,7.5772e+00_rb,9.5702e+00_rb,1.1961e+01_rb, & &1.4350e+01_rb,1.6735e+01_rb,1.9129e+01_rb/) kao(:, 4, 9,15) = (/ & &7.5222e+00_rb,6.8189e+00_rb,7.2464e+00_rb,9.2266e+00_rb,1.2156e+01_rb,1.5192e+01_rb, & &1.8221e+01_rb,2.1251e+01_rb,2.4297e+01_rb/) kao(:, 5, 9,15) = (/ & &7.4213e+00_rb,6.9850e+00_rb,8.1141e+00_rb,1.1288e+01_rb,1.5041e+01_rb,1.8797e+01_rb, & &2.2550e+01_rb,2.6298e+01_rb,3.0063e+01_rb/) kao(:, 1,10,15) = (/ & &4.4970e+01_rb,3.9351e+01_rb,3.3728e+01_rb,2.8106e+01_rb,2.2484e+01_rb,1.7001e+01_rb, & &1.2662e+01_rb,9.3833e+00_rb,3.0844e+00_rb/) kao(:, 2,10,15) = (/ & &4.3703e+01_rb,3.8241e+01_rb,3.2779e+01_rb,2.7313e+01_rb,2.1862e+01_rb,1.7553e+01_rb, & &1.3621e+01_rb,1.2273e+01_rb,6.8989e+00_rb/) kao(:, 3,10,15) = (/ & &4.2828e+01_rb,3.7472e+01_rb,3.2122e+01_rb,2.6765e+01_rb,2.2087e+01_rb,1.8341e+01_rb, & &1.5372e+01_rb,1.6156e+01_rb,1.4584e+01_rb/) kao(:, 4,10,15) = (/ & &4.2192e+01_rb,3.6921e+01_rb,3.1646e+01_rb,2.6524e+01_rb,2.2776e+01_rb,1.9260e+01_rb, & &1.8346e+01_rb,2.0694e+01_rb,2.3643e+01_rb/) kao(:, 5,10,15) = (/ & &4.1609e+01_rb,3.6411e+01_rb,3.1210e+01_rb,2.6835e+01_rb,2.3359e+01_rb,2.1143e+01_rb, & &2.2256e+01_rb,2.5773e+01_rb,2.9447e+01_rb/) kao(:, 1,11,15) = (/ & &8.7878e+01_rb,7.6892e+01_rb,6.5913e+01_rb,5.4929e+01_rb,4.3942e+01_rb,3.2958e+01_rb, & &2.2278e+01_rb,1.3146e+01_rb,1.2934e+00_rb/) kao(:, 2,11,15) = (/ & &8.5528e+01_rb,7.4837e+01_rb,6.4148e+01_rb,5.3454e+01_rb,4.2765e+01_rb,3.2087e+01_rb, & &2.2860e+01_rb,1.5064e+01_rb,9.2095e-01_rb/) kao(:, 3,11,15) = (/ & &8.3842e+01_rb,7.3371e+01_rb,6.2884e+01_rb,5.2405e+01_rb,4.1923e+01_rb,3.2241e+01_rb, & &2.3615e+01_rb,1.8250e+01_rb,5.0549e+00_rb/) kao(:, 4,11,15) = (/ & &8.2422e+01_rb,7.2123e+01_rb,6.1819e+01_rb,5.1515e+01_rb,4.1404e+01_rb,3.2935e+01_rb, & &2.5033e+01_rb,2.2612e+01_rb,1.1342e+01_rb/) kao(:, 5,11,15) = (/ & &8.1155e+01_rb,7.1009e+01_rb,6.0866e+01_rb,5.0722e+01_rb,4.1664e+01_rb,3.3361e+01_rb, & &2.7672e+01_rb,2.7836e+01_rb,2.1588e+01_rb/) kao(:, 1,12,15) = (/ & &1.2764e+02_rb,1.1168e+02_rb,9.5717e+01_rb,7.9766e+01_rb,6.3821e+01_rb,4.7862e+01_rb, & &3.1927e+01_rb,1.7517e+01_rb,5.0733e-04_rb/) kao(:, 2,12,15) = (/ & &1.2458e+02_rb,1.0901e+02_rb,9.3437e+01_rb,7.7867e+01_rb,6.2287e+01_rb,4.6718e+01_rb, & &3.2041e+01_rb,1.8889e+01_rb,1.2295e+00_rb/) kao(:, 3,12,15) = (/ & &1.2214e+02_rb,1.0687e+02_rb,9.1606e+01_rb,7.6332e+01_rb,6.1069e+01_rb,4.6041e+01_rb, & &3.2605e+01_rb,2.1597e+01_rb,1.0764e+00_rb/) kao(:, 4,12,15) = (/ & &1.1993e+02_rb,1.0494e+02_rb,8.9942e+01_rb,7.4954e+01_rb,5.9961e+01_rb,4.6289e+01_rb, & &3.3082e+01_rb,2.5581e+01_rb,1.5268e+00_rb/) kao(:, 5,12,15) = (/ & &1.1793e+02_rb,1.0318e+02_rb,8.8443e+01_rb,7.3700e+01_rb,5.9323e+01_rb,4.6666e+01_rb, & &3.5017e+01_rb,3.0597e+01_rb,1.3997e+01_rb/) kao(:, 1,13,15) = (/ & &1.4863e+02_rb,1.3005e+02_rb,1.1147e+02_rb,9.2892e+01_rb,7.4315e+01_rb,5.5737e+01_rb, & &3.7199e+01_rb,2.0080e+01_rb,6.4806e-01_rb/) kao(:, 2,13,15) = (/ & &1.4520e+02_rb,1.2704e+02_rb,1.0889e+02_rb,9.0753e+01_rb,7.2597e+01_rb,5.4452e+01_rb, & &3.7281e+01_rb,2.1314e+01_rb,1.2348e+00_rb/) kao(:, 3,13,15) = (/ & &1.4229e+02_rb,1.2450e+02_rb,1.0672e+02_rb,8.8931e+01_rb,7.1150e+01_rb,5.3675e+01_rb, & &3.7660e+01_rb,2.4186e+01_rb,1.1194e+00_rb/) kao(:, 4,13,15) = (/ & &1.3965e+02_rb,1.2219e+02_rb,1.0474e+02_rb,8.7285e+01_rb,6.9825e+01_rb,5.3800e+01_rb, & &3.7958e+01_rb,2.8295e+01_rb,2.6393e+00_rb/) kao(:, 5,13,15) = (/ & &1.3732e+02_rb,1.2017e+02_rb,1.0299e+02_rb,8.5829e+01_rb,6.9074e+01_rb,5.3874e+01_rb, & &3.9693e+01_rb,3.3322e+01_rb,1.2822e+01_rb/) kao(:, 1, 1,16) = (/ & &6.7483e-03_rb,2.7477e+00_rb,5.4216e+00_rb,7.9838e+00_rb,1.0362e+01_rb,1.2414e+01_rb, & &1.3792e+01_rb,1.3364e+01_rb,2.0724e+01_rb/) kao(:, 2, 1,16) = (/ & &6.6276e-03_rb,3.2705e+00_rb,6.4539e+00_rb,9.5049e+00_rb,1.2338e+01_rb,1.4784e+01_rb, & &1.6428e+01_rb,1.5929e+01_rb,2.4675e+01_rb/) kao(:, 3, 1,16) = (/ & &6.5036e-03_rb,3.8140e+00_rb,7.5283e+00_rb,1.1085e+01_rb,1.4395e+01_rb,1.7249e+01_rb, & &1.9172e+01_rb,1.8603e+01_rb,2.8790e+01_rb/) kao(:, 4, 1,16) = (/ & &6.3721e-03_rb,4.3730e+00_rb,8.6292e+00_rb,1.2711e+01_rb,1.6503e+01_rb,1.9784e+01_rb, & &2.1993e+01_rb,2.1351e+01_rb,3.3006e+01_rb/) kao(:, 5, 1,16) = (/ & &6.2363e-03_rb,4.9396e+00_rb,9.7465e+00_rb,1.4357e+01_rb,1.8648e+01_rb,2.2353e+01_rb, & &2.4860e+01_rb,2.4146e+01_rb,3.7295e+01_rb/) kao(:, 1, 2,16) = (/ & &1.1399e-02_rb,3.0700e+00_rb,6.0865e+00_rb,9.0222e+00_rb,1.1819e+01_rb,1.4357e+01_rb, & &1.6335e+01_rb,1.6615e+01_rb,2.3637e+01_rb/) kao(:, 2, 2,16) = (/ & &1.1191e-02_rb,3.6855e+00_rb,7.3071e+00_rb,1.0831e+01_rb,1.4189e+01_rb,1.7243e+01_rb, & &1.9624e+01_rb,1.9971e+01_rb,2.8378e+01_rb/) kao(:, 3, 2,16) = (/ & &1.0967e-02_rb,4.3287e+00_rb,8.5840e+00_rb,1.2722e+01_rb,1.6670e+01_rb,2.0258e+01_rb, & &2.3062e+01_rb,2.3488e+01_rb,3.3340e+01_rb/) kao(:, 4, 2,16) = (/ & &1.0738e-02_rb,4.9902e+00_rb,9.8948e+00_rb,1.4671e+01_rb,1.9224e+01_rb,2.3370e+01_rb, & &2.6613e+01_rb,2.7035e+01_rb,3.8446e+01_rb/) kao(:, 5, 2,16) = (/ & &1.0463e-02_rb,5.6638e+00_rb,1.1230e+01_rb,1.6648e+01_rb,2.1823e+01_rb,2.6530e+01_rb, & &3.0222e+01_rb,3.0819e+01_rb,4.3644e+01_rb/) kao(:, 1, 3,16) = (/ & &2.6306e-02_rb,3.2694e+00_rb,6.5125e+00_rb,9.7138e+00_rb,1.2840e+01_rb,1.5828e+01_rb, & &1.8484e+01_rb,2.0009e+01_rb,2.5680e+01_rb/) kao(:, 2, 3,16) = (/ & &2.5884e-02_rb,3.9785e+00_rb,7.9277e+00_rb,1.1819e+01_rb,1.5631e+01_rb,1.9201e+01_rb, & &2.2505e+01_rb,2.4372e+01_rb,3.1262e+01_rb/) kao(:, 3, 3,16) = (/ & &2.5346e-02_rb,4.7273e+00_rb,9.4145e+00_rb,1.4042e+01_rb,1.8571e+01_rb,2.2894e+01_rb, & &2.6751e+01_rb,2.8974e+01_rb,3.7022e+01_rb/) kao(:, 4, 3,16) = (/ & &2.4784e-02_rb,5.5013e+00_rb,1.0958e+01_rb,1.6345e+01_rb,2.1611e+01_rb,2.6651e+01_rb, & &3.1147e+01_rb,3.3763e+01_rb,4.3221e+01_rb/) kao(:, 5, 3,16) = (/ & &2.4200e-02_rb,6.2942e+00_rb,1.2535e+01_rb,1.8701e+01_rb,2.4733e+01_rb,3.0502e+01_rb, & &3.5641e+01_rb,3.8658e+01_rb,4.9465e+01_rb/) kao(:, 1, 4,16) = (/ & &6.3011e-02_rb,3.3909e+00_rb,6.7686e+00_rb,1.0126e+01_rb,1.3449e+01_rb,1.6701e+01_rb, & &1.9789e+01_rb,2.2242e+01_rb,2.6898e+01_rb/) kao(:, 2, 4,16) = (/ & &6.1738e-02_rb,4.1953e+00_rb,8.3750e+00_rb,1.2529e+01_rb,1.6640e+01_rb,2.0669e+01_rb, & &2.4483e+01_rb,2.7534e+01_rb,3.3280e+01_rb/) kao(:, 3, 4,16) = (/ & &6.0385e-02_rb,5.0522e+00_rb,1.0085e+01_rb,1.5088e+01_rb,2.0041e+01_rb,2.4891e+01_rb, & &2.9498e+01_rb,3.3182e+01_rb,4.0082e+01_rb/) kao(:, 4, 4,16) = (/ & &5.8960e-02_rb,5.9475e+00_rb,1.1873e+01_rb,1.7764e+01_rb,2.3588e+01_rb,2.9299e+01_rb, & &3.4723e+01_rb,3.9079e+01_rb,4.7175e+01_rb/) kao(:, 5, 4,16) = (/ & &5.7513e-02_rb,6.8674e+00_rb,1.3704e+01_rb,2.0508e+01_rb,2.7243e+01_rb,3.3832e+01_rb, & &4.0104e+01_rb,4.5142e+01_rb,5.4486e+01_rb/) kao(:, 1, 5,16) = (/ & &1.5311e-01_rb,3.4647e+00_rb,6.9218e+00_rb,1.0370e+01_rb,1.3799e+01_rb,1.7194e+01_rb, & &2.0501e+01_rb,2.3473e+01_rb,2.7599e+01_rb/) kao(:, 2, 5,16) = (/ & &1.4808e-01_rb,4.3642e+00_rb,8.7211e+00_rb,1.3066e+01_rb,1.7386e+01_rb,2.1656e+01_rb, & &2.5836e+01_rb,2.9576e+01_rb,3.4772e+01_rb/) kao(:, 3, 5,16) = (/ & &1.4324e-01_rb,5.3326e+00_rb,1.0656e+01_rb,1.5962e+01_rb,2.1244e+01_rb,2.6472e+01_rb, & &3.1566e+01_rb,3.6158e+01_rb,4.2487e+01_rb/) kao(:, 4, 5,16) = (/ & &1.3867e-01_rb,6.3343e+00_rb,1.2694e+01_rb,1.9018e+01_rb,2.5310e+01_rb,3.1544e+01_rb, & &3.7609e+01_rb,4.3076e+01_rb,5.0619e+01_rb/) kao(:, 5, 5,16) = (/ & &1.3442e-01_rb,7.4110e+00_rb,1.4809e+01_rb,2.2187e+01_rb,2.9523e+01_rb,3.6788e+01_rb, & &4.3874e+01_rb,5.0262e+01_rb,5.9046e+01_rb/) kao(:, 1, 6,16) = (/ & &3.3965e-01_rb,3.4550e+00_rb,6.9058e+00_rb,1.0352e+01_rb,1.3789e+01_rb,1.7206e+01_rb, & &2.0578e+01_rb,2.3766e+01_rb,2.7578e+01_rb/) kao(:, 2, 6,16) = (/ & &3.2990e-01_rb,4.4451e+00_rb,8.8565e+00_rb,1.3318e+01_rb,1.7740e+01_rb,2.2139e+01_rb, & &2.6477e+01_rb,3.0582e+01_rb,3.5479e+01_rb/) kao(:, 3, 6,16) = (/ & &3.2021e-01_rb,5.5240e+00_rb,1.1042e+01_rb,1.6554e+01_rb,2.2048e+01_rb,2.7511e+01_rb, & &3.2908e+01_rb,3.8025e+01_rb,4.4095e+01_rb/) kao(:, 4, 6,16) = (/ & &3.1092e-01_rb,6.6752e+00_rb,1.3341e+01_rb,2.0002e+01_rb,2.6641e+01_rb,3.3245e+01_rb, & &3.9761e+01_rb,4.5941e+01_rb,5.3282e+01_rb/) kao(:, 5, 6,16) = (/ & &3.0227e-01_rb,7.8771e+00_rb,1.5743e+01_rb,2.3602e+01_rb,3.1434e+01_rb,3.9236e+01_rb, & &4.6923e+01_rb,5.4228e+01_rb,6.2865e+01_rb/) kao(:, 1, 7,16) = (/ & &7.9672e-01_rb,3.3862e+00_rb,6.7703e+00_rb,1.0151e+01_rb,1.3528e+01_rb,1.6895e+01_rb, & &2.0243e+01_rb,2.3498e+01_rb,2.7056e+01_rb/) kao(:, 2, 7,16) = (/ & &7.7399e-01_rb,4.4592e+00_rb,8.9171e+00_rb,1.3369e+01_rb,1.7816e+01_rb,2.2252e+01_rb, & &2.6655e+01_rb,3.0954e+01_rb,3.5514e+01_rb/) kao(:, 3, 7,16) = (/ & &7.5170e-01_rb,5.6480e+00_rb,1.1293e+01_rb,1.6933e+01_rb,2.2566e+01_rb,2.8186e+01_rb, & &3.3769e+01_rb,3.9205e+01_rb,4.5131e+01_rb/) kao(:, 4, 7,16) = (/ & &7.3106e-01_rb,6.9294e+00_rb,1.3857e+01_rb,2.0779e+01_rb,2.7691e+01_rb,3.4583e+01_rb, & &4.1435e+01_rb,4.8102e+01_rb,5.5380e+01_rb/) kao(:, 5, 7,16) = (/ & &7.1147e-01_rb,8.2841e+00_rb,1.6563e+01_rb,2.4830e+01_rb,3.3089e+01_rb,4.1334e+01_rb, & &4.9522e+01_rb,5.7496e+01_rb,6.6175e+01_rb/) kao(:, 1, 8,16) = (/ & &2.2037e+00_rb,3.2722e+00_rb,6.5418e+00_rb,9.8122e+00_rb,1.3082e+01_rb,1.6344e+01_rb, & &1.9599e+01_rb,2.2817e+01_rb,2.6163e+01_rb/) kao(:, 2, 8,16) = (/ & &2.1416e+00_rb,4.4204e+00_rb,8.8385e+00_rb,1.3255e+01_rb,1.7675e+01_rb,2.2079e+01_rb, & &2.6477e+01_rb,3.0833e+01_rb,3.5348e+01_rb/) kao(:, 3, 8,16) = (/ & &2.0842e+00_rb,5.7151e+00_rb,1.1428e+01_rb,1.7137e+01_rb,2.2842e+01_rb,2.8548e+01_rb, & &3.4230e+01_rb,3.9856e+01_rb,4.5681e+01_rb/) kao(:, 4, 8,16) = (/ & &2.0305e+00_rb,7.1274e+00_rb,1.4255e+01_rb,2.1373e+01_rb,2.8489e+01_rb,3.5598e+01_rb, & &4.2693e+01_rb,4.9704e+01_rb,5.6975e+01_rb/) kao(:, 5, 8,16) = (/ & &1.9781e+00_rb,8.6369e+00_rb,1.7269e+01_rb,2.5895e+01_rb,3.4524e+01_rb,4.3140e+01_rb, & &5.1725e+01_rb,6.0225e+01_rb,6.9043e+01_rb/) kao(:, 1, 9,16) = (/ & &1.1509e+01_rb,1.0070e+01_rb,8.6316e+00_rb,9.3146e+00_rb,1.2418e+01_rb,1.5525e+01_rb, & &1.8622e+01_rb,2.1717e+01_rb,2.4834e+01_rb/) kao(:, 2, 9,16) = (/ & &1.1216e+01_rb,9.8124e+00_rb,8.9628e+00_rb,1.2947e+01_rb,1.7258e+01_rb,2.1566e+01_rb, & &2.5882e+01_rb,3.0171e+01_rb,3.4512e+01_rb/) kao(:, 3, 9,16) = (/ & &1.0936e+01_rb,9.5703e+00_rb,1.1414e+01_rb,1.7115e+01_rb,2.2811e+01_rb,2.8515e+01_rb, & &3.4212e+01_rb,3.9896e+01_rb,4.5613e+01_rb/) kao(:, 4, 9,16) = (/ & &1.0665e+01_rb,9.3327e+00_rb,1.4497e+01_rb,2.1741e+01_rb,2.8981e+01_rb,3.6218e+01_rb, & &4.3300e+01_rb,5.0677e+01_rb,5.7950e+01_rb/) kao(:, 5, 9,16) = (/ & &1.0398e+01_rb,9.5016e+00_rb,1.7820e+01_rb,2.6724e+01_rb,3.5623e+01_rb,4.4518e+01_rb, & &5.3410e+01_rb,6.2271e+01_rb,7.1226e+01_rb/) kao(:, 1,10,16) = (/ & &6.7305e+01_rb,5.8689e+01_rb,5.0477e+01_rb,4.2062e+01_rb,3.3650e+01_rb,2.5240e+01_rb, & &1.8527e+01_rb,2.0871e+01_rb,2.3854e+01_rb/) kao(:, 2,10,16) = (/ & &6.5751e+01_rb,5.7530e+01_rb,4.9313e+01_rb,4.1093e+01_rb,3.2876e+01_rb,2.4802e+01_rb, & &2.5524e+01_rb,2.9774e+01_rb,3.4038e+01_rb/) kao(:, 3,10,16) = (/ & &6.4198e+01_rb,5.6172e+01_rb,4.8149e+01_rb,4.0130e+01_rb,3.2100e+01_rb,2.8998e+01_rb, & &3.4448e+01_rb,4.0179e+01_rb,4.5916e+01_rb/) kao(:, 4,10,16) = (/ & &6.2664e+01_rb,5.4833e+01_rb,4.6832e+01_rb,3.9166e+01_rb,3.2607e+01_rb,3.7058e+01_rb, & &4.4476e+01_rb,5.1875e+01_rb,5.9284e+01_rb/) kao(:, 5,10,16) = (/ & &6.1101e+01_rb,5.3467e+01_rb,4.5664e+01_rb,3.8190e+01_rb,3.7365e+01_rb,4.6149e+01_rb, & &5.5367e+01_rb,6.4570e+01_rb,7.3787e+01_rb/) kao(:, 1,11,16) = (/ & &1.3576e+02_rb,1.1879e+02_rb,1.0182e+02_rb,8.4849e+01_rb,6.7875e+01_rb,5.0907e+01_rb, & &3.3938e+01_rb,2.3799e+01_rb,9.0162e+00_rb/) kao(:, 2,11,16) = (/ & &1.3280e+02_rb,1.1619e+02_rb,9.9587e+01_rb,8.3000e+01_rb,6.6392e+01_rb,4.9800e+01_rb, & &3.3906e+01_rb,3.3859e+01_rb,3.7265e+01_rb/) kao(:, 3,11,16) = (/ & &1.2969e+02_rb,1.1350e+02_rb,9.7289e+01_rb,8.1076e+01_rb,6.4844e+01_rb,4.8642e+01_rb, & &3.9970e+01_rb,4.5587e+01_rb,5.2094e+01_rb/) kao(:, 4,11,16) = (/ & &1.2653e+02_rb,1.1071e+02_rb,9.4885e+01_rb,7.9077e+01_rb,6.3265e+01_rb,4.8850e+01_rb, & &5.0310e+01_rb,5.8678e+01_rb,6.7071e+01_rb/) kao(:, 5,11,16) = (/ & &1.2325e+02_rb,1.0784e+02_rb,9.2433e+01_rb,7.7029e+01_rb,6.1622e+01_rb,5.4553e+01_rb, & &6.2511e+01_rb,7.2895e+01_rb,8.3291e+01_rb/) kao(:, 1,12,16) = (/ & &2.0298e+02_rb,1.7762e+02_rb,1.5224e+02_rb,1.2687e+02_rb,1.0147e+02_rb,7.6126e+01_rb, & &5.0748e+01_rb,2.9045e+01_rb,9.6314e-05_rb/) kao(:, 2,12,16) = (/ & &1.9850e+02_rb,1.7368e+02_rb,1.4888e+02_rb,1.2405e+02_rb,9.9250e+01_rb,7.4435e+01_rb, & &4.9625e+01_rb,3.8234e+01_rb,2.3705e+01_rb/) kao(:, 3,12,16) = (/ & &1.9369e+02_rb,1.6949e+02_rb,1.4528e+02_rb,1.2103e+02_rb,9.6845e+01_rb,7.2640e+01_rb, & &5.1319e+01_rb,5.1242e+01_rb,5.0529e+01_rb/) kao(:, 4,12,16) = (/ & &1.8865e+02_rb,1.6508e+02_rb,1.4148e+02_rb,1.1791e+02_rb,9.4323e+01_rb,7.0746e+01_rb, & &5.9155e+01_rb,6.5776e+01_rb,7.5148e+01_rb/) kao(:, 5,12,16) = (/ & &1.8345e+02_rb,1.6051e+02_rb,1.3757e+02_rb,1.1465e+02_rb,9.1715e+01_rb,7.1673e+01_rb, & &7.0340e+01_rb,8.1440e+01_rb,9.3046e+01_rb/) kao(:, 1,13,16) = (/ & &2.4179e+02_rb,2.1156e+02_rb,1.8133e+02_rb,1.5111e+02_rb,1.2089e+02_rb,9.0670e+01_rb, & &6.0447e+01_rb,3.4181e+01_rb,7.5740e-05_rb/) kao(:, 2,13,16) = (/ & &2.3602e+02_rb,2.0653e+02_rb,1.7702e+02_rb,1.4755e+02_rb,1.1802e+02_rb,8.8512e+01_rb, & &5.9018e+01_rb,4.3484e+01_rb,2.5520e+01_rb/) kao(:, 3,13,16) = (/ & &2.2984e+02_rb,2.0112e+02_rb,1.7238e+02_rb,1.4366e+02_rb,1.1493e+02_rb,8.6216e+01_rb, & &6.0956e+01_rb,5.6909e+01_rb,5.1259e+01_rb/) kao(:, 4,13,16) = (/ & &2.2335e+02_rb,1.9547e+02_rb,1.6749e+02_rb,1.3960e+02_rb,1.1169e+02_rb,8.3756e+01_rb, & &6.8596e+01_rb,7.2790e+01_rb,7.7355e+01_rb/) kao(:, 5,13,16) = (/ & &2.1661e+02_rb,1.8954e+02_rb,1.6247e+02_rb,1.3539e+02_rb,1.0832e+02_rb,8.5058e+01_rb, & &7.9741e+01_rb,8.9915e+01_rb,1.0226e+02_rb/) ! The array KBO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels < ~100mb and temperatures. The first ! index in the array, JT, which runs from 1 to 5, corresponds to ! different temperatures. More specifically, JT = 3 means that the ! data are for the reference temperature TREF for this pressure ! level, JT = 2 refers to the temperature TREF-15, JT = 1 is for ! TREF-30, JT = 4 is for TREF+15, and JT = 5 is for TREF+30. ! The second index, JP, runs from 13 to 59 and refers to the JPth ! reference pressure level (see taumol.f for the value of these ! pressure levels in mb). The third index, IG, goes from 1 to 16, ! and tells us which g-interval the absorption coefficients are for. kbo(:,13, 1) = (/ & &2.3382e-03_rb,2.8918e-03_rb,3.5228e-03_rb,4.2513e-03_rb,5.0992e-03_rb/) kbo(:,14, 1) = (/ & &2.0993e-03_rb,2.6087e-03_rb,3.2027e-03_rb,3.9155e-03_rb,4.7075e-03_rb/) kbo(:,15, 1) = (/ & &1.9068e-03_rb,2.4224e-03_rb,2.9993e-03_rb,3.6366e-03_rb,4.4490e-03_rb/) kbo(:,16, 1) = (/ & &1.7630e-03_rb,2.2267e-03_rb,2.7514e-03_rb,3.4114e-03_rb,4.1614e-03_rb/) kbo(:,17, 1) = (/ & &1.6519e-03_rb,2.0886e-03_rb,2.6010e-03_rb,3.2457e-03_rb,3.9066e-03_rb/) kbo(:,18, 1) = (/ & &1.5561e-03_rb,1.9733e-03_rb,2.5429e-03_rb,3.1325e-03_rb,3.6764e-03_rb/) kbo(:,19, 1) = (/ & &1.4778e-03_rb,1.9477e-03_rb,2.4734e-03_rb,2.9725e-03_rb,3.4413e-03_rb/) kbo(:,20, 1) = (/ & &1.3764e-03_rb,1.8206e-03_rb,2.2794e-03_rb,2.6918e-03_rb,3.0807e-03_rb/) kbo(:,21, 1) = (/ & &1.2547e-03_rb,1.6614e-03_rb,2.0387e-03_rb,2.3912e-03_rb,2.7222e-03_rb/) kbo(:,22, 1) = (/ & &1.1692e-03_rb,1.5034e-03_rb,1.8117e-03_rb,2.1136e-03_rb,2.3959e-03_rb/) kbo(:,23, 1) = (/ & &1.0852e-03_rb,1.3578e-03_rb,1.6152e-03_rb,1.8580e-03_rb,2.0983e-03_rb/) kbo(:,24, 1) = (/ & &9.9196e-04_rb,1.2216e-03_rb,1.4332e-03_rb,1.6336e-03_rb,1.8396e-03_rb/) kbo(:,25, 1) = (/ & &9.0621e-04_rb,1.0934e-03_rb,1.2579e-03_rb,1.4326e-03_rb,1.5972e-03_rb/) kbo(:,26, 1) = (/ & &8.1196e-04_rb,9.6544e-04_rb,1.0989e-03_rb,1.2439e-03_rb,1.3772e-03_rb/) kbo(:,27, 1) = (/ & &7.2402e-04_rb,8.4382e-04_rb,9.5455e-04_rb,1.0692e-03_rb,1.1790e-03_rb/) kbo(:,28, 1) = (/ & &6.3816e-04_rb,7.3173e-04_rb,8.2333e-04_rb,9.1530e-04_rb,1.0008e-03_rb/) kbo(:,29, 1) = (/ & &5.5611e-04_rb,6.2561e-04_rb,7.0457e-04_rb,7.7239e-04_rb,8.4074e-04_rb/) kbo(:,30, 1) = (/ & &4.7758e-04_rb,5.3585e-04_rb,5.9602e-04_rb,6.4848e-04_rb,7.0299e-04_rb/) kbo(:,31, 1) = (/ & &4.0233e-04_rb,4.5494e-04_rb,5.0095e-04_rb,5.4165e-04_rb,5.8359e-04_rb/) kbo(:,32, 1) = (/ & &3.4147e-04_rb,3.8327e-04_rb,4.2049e-04_rb,4.5512e-04_rb,4.8721e-04_rb/) kbo(:,33, 1) = (/ & &2.9210e-04_rb,3.2465e-04_rb,3.5276e-04_rb,3.8153e-04_rb,4.1121e-04_rb/) kbo(:,34, 1) = (/ & &2.4930e-04_rb,2.7584e-04_rb,2.9920e-04_rb,3.2247e-04_rb,3.4759e-04_rb/) kbo(:,35, 1) = (/ & &2.1208e-04_rb,2.3419e-04_rb,2.5253e-04_rb,2.7252e-04_rb,2.9279e-04_rb/) kbo(:,36, 1) = (/ & &1.7811e-04_rb,1.9459e-04_rb,2.1195e-04_rb,2.2908e-04_rb,2.4619e-04_rb/) kbo(:,37, 1) = (/ & &1.4252e-04_rb,1.5802e-04_rb,1.7124e-04_rb,1.8557e-04_rb,1.9967e-04_rb/) kbo(:,38, 1) = (/ & &1.1316e-04_rb,1.2691e-04_rb,1.3875e-04_rb,1.4940e-04_rb,1.6149e-04_rb/) kbo(:,39, 1) = (/ & &8.9734e-05_rb,1.0111e-04_rb,1.1110e-04_rb,1.2104e-04_rb,1.3018e-04_rb/) kbo(:,40, 1) = (/ & &6.9862e-05_rb,7.9338e-05_rb,8.7351e-05_rb,9.5361e-05_rb,1.0350e-04_rb/) kbo(:,41, 1) = (/ & &5.3903e-05_rb,6.1377e-05_rb,6.8596e-05_rb,7.4910e-05_rb,8.1525e-05_rb/) kbo(:,42, 1) = (/ & &4.1353e-05_rb,4.7327e-05_rb,5.3464e-05_rb,5.8873e-05_rb,6.3813e-05_rb/) kbo(:,43, 1) = (/ & &3.1177e-05_rb,3.6021e-05_rb,4.0748e-05_rb,4.5236e-05_rb,4.9388e-05_rb/) kbo(:,44, 1) = (/ & &2.3155e-05_rb,2.7105e-05_rb,3.0750e-05_rb,3.4487e-05_rb,3.7902e-05_rb/) kbo(:,45, 1) = (/ & &1.6939e-05_rb,2.0019e-05_rb,2.3152e-05_rb,2.6034e-05_rb,2.8825e-05_rb/) kbo(:,46, 1) = (/ & &1.2188e-05_rb,1.4774e-05_rb,1.7220e-05_rb,1.9590e-05_rb,2.1820e-05_rb/) kbo(:,47, 1) = (/ & &8.5598e-06_rb,1.0765e-05_rb,1.2719e-05_rb,1.4628e-05_rb,1.6428e-05_rb/) kbo(:,48, 1) = (/ & &5.9262e-06_rb,7.6349e-06_rb,9.2601e-06_rb,1.0811e-05_rb,1.2306e-05_rb/) kbo(:,49, 1) = (/ & &3.9332e-06_rb,5.2612e-06_rb,6.6345e-06_rb,7.8390e-06_rb,9.0160e-06_rb/) kbo(:,50, 1) = (/ & &2.6915e-06_rb,3.7062e-06_rb,4.7528e-06_rb,5.7591e-06_rb,6.6828e-06_rb/) kbo(:,51, 1) = (/ & &1.9031e-06_rb,2.5633e-06_rb,3.3817e-06_rb,4.2212e-06_rb,4.9973e-06_rb/) kbo(:,52, 1) = (/ & &1.3022e-06_rb,1.7876e-06_rb,2.4129e-06_rb,3.0582e-06_rb,3.6770e-06_rb/) kbo(:,53, 1) = (/ & &8.8514e-07_rb,1.2531e-06_rb,1.6651e-06_rb,2.1701e-06_rb,2.6821e-06_rb/) kbo(:,54, 1) = (/ & &6.3174e-07_rb,9.0490e-07_rb,1.2164e-06_rb,1.6231e-06_rb,2.0201e-06_rb/) kbo(:,55, 1) = (/ & &4.6092e-07_rb,6.6386e-07_rb,9.1477e-07_rb,1.2278e-06_rb,1.5504e-06_rb/) kbo(:,56, 1) = (/ & &3.3312e-07_rb,4.8579e-07_rb,6.8774e-07_rb,9.1495e-07_rb,1.1856e-06_rb/) kbo(:,57, 1) = (/ & &2.4004e-07_rb,3.5567e-07_rb,5.1418e-07_rb,6.8280e-07_rb,9.0960e-07_rb/) kbo(:,58, 1) = (/ & &1.7424e-07_rb,2.6290e-07_rb,3.8304e-07_rb,5.1880e-07_rb,6.9948e-07_rb/) kbo(:,59, 1) = (/ & &1.4545e-07_rb,2.2249e-07_rb,3.3056e-07_rb,4.4487e-07_rb,6.0780e-07_rb/) kbo(:,13, 2) = (/ & &1.0289e-02_rb,1.3009e-02_rb,1.5474e-02_rb,1.7839e-02_rb,2.0097e-02_rb/) kbo(:,14, 2) = (/ & &9.5725e-03_rb,1.1818e-02_rb,1.3904e-02_rb,1.5918e-02_rb,1.7958e-02_rb/) kbo(:,15, 2) = (/ & &8.9675e-03_rb,1.0842e-02_rb,1.2642e-02_rb,1.4399e-02_rb,1.6048e-02_rb/) kbo(:,16, 2) = (/ & &8.1677e-03_rb,9.7202e-03_rb,1.1280e-02_rb,1.2681e-02_rb,1.4168e-02_rb/) kbo(:,17, 2) = (/ & &7.4338e-03_rb,8.8205e-03_rb,1.0076e-02_rb,1.1262e-02_rb,1.2428e-02_rb/) kbo(:,18, 2) = (/ & &6.8634e-03_rb,8.0133e-03_rb,8.9513e-03_rb,9.9366e-03_rb,1.1014e-02_rb/) kbo(:,19, 2) = (/ & &6.3552e-03_rb,7.2047e-03_rb,8.0129e-03_rb,8.8966e-03_rb,9.8381e-03_rb/) kbo(:,20, 2) = (/ & &5.6397e-03_rb,6.2755e-03_rb,6.9887e-03_rb,7.7846e-03_rb,8.5391e-03_rb/) kbo(:,21, 2) = (/ & &4.8925e-03_rb,5.4088e-03_rb,6.0399e-03_rb,6.7004e-03_rb,7.3289e-03_rb/) kbo(:,22, 2) = (/ & &4.2004e-03_rb,4.6864e-03_rb,5.2247e-03_rb,5.7527e-03_rb,6.2510e-03_rb/) kbo(:,23, 2) = (/ & &3.5982e-03_rb,4.0432e-03_rb,4.4892e-03_rb,4.9192e-03_rb,5.3260e-03_rb/) kbo(:,24, 2) = (/ & &3.1341e-03_rb,3.4942e-03_rb,3.8506e-03_rb,4.1837e-03_rb,4.5083e-03_rb/) kbo(:,25, 2) = (/ & &2.7078e-03_rb,2.9853e-03_rb,3.2644e-03_rb,3.5527e-03_rb,3.8354e-03_rb/) kbo(:,26, 2) = (/ & &2.3166e-03_rb,2.5349e-03_rb,2.7760e-03_rb,3.0099e-03_rb,3.2441e-03_rb/) kbo(:,27, 2) = (/ & &1.9581e-03_rb,2.1476e-03_rb,2.3442e-03_rb,2.5333e-03_rb,2.7284e-03_rb/) kbo(:,28, 2) = (/ & &1.6566e-03_rb,1.8064e-03_rb,1.9708e-03_rb,2.1221e-03_rb,2.2915e-03_rb/) kbo(:,29, 2) = (/ & &1.3865e-03_rb,1.5225e-03_rb,1.6510e-03_rb,1.7817e-03_rb,1.9308e-03_rb/) kbo(:,30, 2) = (/ & &1.1671e-03_rb,1.2777e-03_rb,1.3825e-03_rb,1.4960e-03_rb,1.6203e-03_rb/) kbo(:,31, 2) = (/ & &9.8586e-04_rb,1.0724e-03_rb,1.1604e-03_rb,1.2563e-03_rb,1.3588e-03_rb/) kbo(:,32, 2) = (/ & &8.3378e-04_rb,9.0396e-04_rb,9.7429e-04_rb,1.0568e-03_rb,1.1470e-03_rb/) kbo(:,33, 2) = (/ & &7.0369e-04_rb,7.5618e-04_rb,8.2196e-04_rb,8.9196e-04_rb,9.6493e-04_rb/) kbo(:,34, 2) = (/ & &5.9334e-04_rb,6.3847e-04_rb,6.9888e-04_rb,7.5675e-04_rb,8.1741e-04_rb/) kbo(:,35, 2) = (/ & &4.9419e-04_rb,5.3430e-04_rb,5.8625e-04_rb,6.3690e-04_rb,6.8685e-04_rb/) kbo(:,36, 2) = (/ & &4.1196e-04_rb,4.5151e-04_rb,4.9203e-04_rb,5.3162e-04_rb,5.7140e-04_rb/) kbo(:,37, 2) = (/ & &3.3813e-04_rb,3.6860e-04_rb,4.0277e-04_rb,4.3459e-04_rb,4.6722e-04_rb/) kbo(:,38, 2) = (/ & &2.7817e-04_rb,3.0151e-04_rb,3.2943e-04_rb,3.5593e-04_rb,3.8227e-04_rb/) kbo(:,39, 2) = (/ & &2.2867e-04_rb,2.4762e-04_rb,2.6968e-04_rb,2.9008e-04_rb,3.1209e-04_rb/) kbo(:,40, 2) = (/ & &1.8342e-04_rb,1.9773e-04_rb,2.1631e-04_rb,2.3254e-04_rb,2.4976e-04_rb/) kbo(:,41, 2) = (/ & &1.4676e-04_rb,1.5810e-04_rb,1.7216e-04_rb,1.8594e-04_rb,1.9960e-04_rb/) kbo(:,42, 2) = (/ & &1.1746e-04_rb,1.2665e-04_rb,1.3672e-04_rb,1.4836e-04_rb,1.5881e-04_rb/) kbo(:,43, 2) = (/ & &9.3086e-05_rb,1.0013e-04_rb,1.0780e-04_rb,1.1711e-04_rb,1.2583e-04_rb/) kbo(:,44, 2) = (/ & &7.3232e-05_rb,7.8805e-05_rb,8.4882e-05_rb,9.2011e-05_rb,9.9424e-05_rb/) kbo(:,45, 2) = (/ & &5.7257e-05_rb,6.2283e-05_rb,6.6827e-05_rb,7.2104e-05_rb,7.8039e-05_rb/) kbo(:,46, 2) = (/ & &4.5024e-05_rb,4.8935e-05_rb,5.2600e-05_rb,5.6600e-05_rb,6.1280e-05_rb/) kbo(:,47, 2) = (/ & &3.5357e-05_rb,3.8098e-05_rb,4.1339e-05_rb,4.4405e-05_rb,4.7940e-05_rb/) kbo(:,48, 2) = (/ & &2.7815e-05_rb,2.9967e-05_rb,3.2437e-05_rb,3.4873e-05_rb,3.7402e-05_rb/) kbo(:,49, 2) = (/ & &2.1939e-05_rb,2.3492e-05_rb,2.5305e-05_rb,2.7332e-05_rb,2.9323e-05_rb/) kbo(:,50, 2) = (/ & &1.7237e-05_rb,1.8528e-05_rb,1.9953e-05_rb,2.1525e-05_rb,2.3159e-05_rb/) kbo(:,51, 2) = (/ & &1.3436e-05_rb,1.4671e-05_rb,1.5802e-05_rb,1.6957e-05_rb,1.8296e-05_rb/) kbo(:,52, 2) = (/ & &1.0450e-05_rb,1.1538e-05_rb,1.2438e-05_rb,1.3421e-05_rb,1.4433e-05_rb/) kbo(:,53, 2) = (/ & &8.1106e-06_rb,9.0282e-06_rb,9.8120e-06_rb,1.0593e-05_rb,1.1339e-05_rb/) kbo(:,54, 2) = (/ & &6.3166e-06_rb,7.0785e-06_rb,7.7924e-06_rb,8.4016e-06_rb,8.9926e-06_rb/) kbo(:,55, 2) = (/ & &4.9361e-06_rb,5.5830e-06_rb,6.1858e-06_rb,6.7021e-06_rb,7.1744e-06_rb/) kbo(:,56, 2) = (/ & &3.8472e-06_rb,4.3596e-06_rb,4.8727e-06_rb,5.3362e-06_rb,5.7261e-06_rb/) kbo(:,57, 2) = (/ & &2.9833e-06_rb,3.4045e-06_rb,3.8019e-06_rb,4.2184e-06_rb,4.5533e-06_rb/) kbo(:,58, 2) = (/ & &2.2932e-06_rb,2.6742e-06_rb,3.0024e-06_rb,3.3291e-06_rb,3.6047e-06_rb/) kbo(:,59, 2) = (/ & &1.8323e-06_rb,2.1714e-06_rb,2.4292e-06_rb,2.6999e-06_rb,2.9218e-06_rb/) kbo(:,13, 3) = (/ & &3.0891e-02_rb,3.3118e-02_rb,3.6308e-02_rb,3.9588e-02_rb,4.3089e-02_rb/) kbo(:,14, 3) = (/ & &2.6329e-02_rb,2.8653e-02_rb,3.1325e-02_rb,3.4211e-02_rb,3.7000e-02_rb/) kbo(:,15, 3) = (/ & &2.2620e-02_rb,2.4702e-02_rb,2.7101e-02_rb,2.9342e-02_rb,3.1645e-02_rb/) kbo(:,16, 3) = (/ & &1.9521e-02_rb,2.1493e-02_rb,2.3534e-02_rb,2.5338e-02_rb,2.7120e-02_rb/) kbo(:,17, 3) = (/ & &1.7199e-02_rb,1.8861e-02_rb,2.0377e-02_rb,2.1918e-02_rb,2.3545e-02_rb/) kbo(:,18, 3) = (/ & &1.5181e-02_rb,1.6445e-02_rb,1.7796e-02_rb,1.9171e-02_rb,2.0759e-02_rb/) kbo(:,19, 3) = (/ & &1.3401e-02_rb,1.4529e-02_rb,1.5713e-02_rb,1.7031e-02_rb,1.8531e-02_rb/) kbo(:,20, 3) = (/ & &1.1566e-02_rb,1.2595e-02_rb,1.3616e-02_rb,1.4797e-02_rb,1.6195e-02_rb/) kbo(:,21, 3) = (/ & &9.9790e-03_rb,1.0856e-02_rb,1.1739e-02_rb,1.2840e-02_rb,1.4039e-02_rb/) kbo(:,22, 3) = (/ & &8.5571e-03_rb,9.3189e-03_rb,1.0148e-02_rb,1.1149e-02_rb,1.2271e-02_rb/) kbo(:,23, 3) = (/ & &7.3578e-03_rb,7.9960e-03_rb,8.8066e-03_rb,9.6774e-03_rb,1.0719e-02_rb/) kbo(:,24, 3) = (/ & &6.2710e-03_rb,6.8510e-03_rb,7.5829e-03_rb,8.4285e-03_rb,9.3410e-03_rb/) kbo(:,25, 3) = (/ & &5.3189e-03_rb,5.9223e-03_rb,6.5735e-03_rb,7.3163e-03_rb,8.1167e-03_rb/) kbo(:,26, 3) = (/ & &4.5763e-03_rb,5.1227e-03_rb,5.7207e-03_rb,6.3561e-03_rb,7.0425e-03_rb/) kbo(:,27, 3) = (/ & &3.9329e-03_rb,4.4226e-03_rb,4.9281e-03_rb,5.4554e-03_rb,6.0474e-03_rb/) kbo(:,28, 3) = (/ & &3.3818e-03_rb,3.7926e-03_rb,4.2066e-03_rb,4.6531e-03_rb,5.1585e-03_rb/) kbo(:,29, 3) = (/ & &2.9035e-03_rb,3.2271e-03_rb,3.5855e-03_rb,3.9705e-03_rb,4.3799e-03_rb/) kbo(:,30, 3) = (/ & &2.4837e-03_rb,2.7647e-03_rb,3.0488e-03_rb,3.3703e-03_rb,3.7029e-03_rb/) kbo(:,31, 3) = (/ & &2.0927e-03_rb,2.3283e-03_rb,2.5712e-03_rb,2.8545e-03_rb,3.1157e-03_rb/) kbo(:,32, 3) = (/ & &1.7660e-03_rb,1.9568e-03_rb,2.1676e-03_rb,2.3923e-03_rb,2.6159e-03_rb/) kbo(:,33, 3) = (/ & &1.4871e-03_rb,1.6499e-03_rb,1.8213e-03_rb,2.0066e-03_rb,2.1979e-03_rb/) kbo(:,34, 3) = (/ & &1.2670e-03_rb,1.4012e-03_rb,1.5485e-03_rb,1.7073e-03_rb,1.8735e-03_rb/) kbo(:,35, 3) = (/ & &1.0672e-03_rb,1.1813e-03_rb,1.3131e-03_rb,1.4449e-03_rb,1.5924e-03_rb/) kbo(:,36, 3) = (/ & &8.9185e-04_rb,9.8733e-04_rb,1.0955e-03_rb,1.2168e-03_rb,1.3441e-03_rb/) kbo(:,37, 3) = (/ & &7.2820e-04_rb,8.0537e-04_rb,8.9528e-04_rb,9.9910e-04_rb,1.1050e-03_rb/) kbo(:,38, 3) = (/ & &5.9186e-04_rb,6.5591e-04_rb,7.2922e-04_rb,8.1759e-04_rb,9.0441e-04_rb/) kbo(:,39, 3) = (/ & &4.8327e-04_rb,5.3477e-04_rb,5.9527e-04_rb,6.6884e-04_rb,7.4026e-04_rb/) kbo(:,40, 3) = (/ & &3.8671e-04_rb,4.2869e-04_rb,4.7628e-04_rb,5.3686e-04_rb,5.9502e-04_rb/) kbo(:,41, 3) = (/ & &3.0862e-04_rb,3.4166e-04_rb,3.8000e-04_rb,4.2745e-04_rb,4.7580e-04_rb/) kbo(:,42, 3) = (/ & &2.4577e-04_rb,2.7168e-04_rb,3.0221e-04_rb,3.3942e-04_rb,3.8025e-04_rb/) kbo(:,43, 3) = (/ & &1.9416e-04_rb,2.1479e-04_rb,2.3878e-04_rb,2.6702e-04_rb,3.0069e-04_rb/) kbo(:,44, 3) = (/ & &1.5374e-04_rb,1.6929e-04_rb,1.8776e-04_rb,2.0950e-04_rb,2.3556e-04_rb/) kbo(:,45, 3) = (/ & &1.2163e-04_rb,1.3301e-04_rb,1.4695e-04_rb,1.6433e-04_rb,1.8435e-04_rb/) kbo(:,46, 3) = (/ & &9.4928e-05_rb,1.0426e-04_rb,1.1546e-04_rb,1.2841e-04_rb,1.4410e-04_rb/) kbo(:,47, 3) = (/ & &7.3995e-05_rb,8.2130e-05_rb,9.0212e-05_rb,1.0006e-04_rb,1.1186e-04_rb/) kbo(:,48, 3) = (/ & &5.7893e-05_rb,6.3962e-05_rb,7.0352e-05_rb,7.8032e-05_rb,8.7072e-05_rb/) kbo(:,49, 3) = (/ & &4.5051e-05_rb,4.9908e-05_rb,5.5306e-05_rb,6.0837e-05_rb,6.7927e-05_rb/) kbo(:,50, 3) = (/ & &3.5303e-05_rb,3.9326e-05_rb,4.3324e-05_rb,4.7812e-05_rb,5.3164e-05_rb/) kbo(:,51, 3) = (/ & &2.7771e-05_rb,3.0856e-05_rb,3.4054e-05_rb,3.7804e-05_rb,4.1758e-05_rb/) kbo(:,52, 3) = (/ & &2.1938e-05_rb,2.4227e-05_rb,2.6919e-05_rb,2.9733e-05_rb,3.2981e-05_rb/) kbo(:,53, 3) = (/ & &1.7187e-05_rb,1.9050e-05_rb,2.1224e-05_rb,2.3374e-05_rb,2.5986e-05_rb/) kbo(:,54, 3) = (/ & &1.3551e-05_rb,1.5084e-05_rb,1.6671e-05_rb,1.8493e-05_rb,2.0639e-05_rb/) kbo(:,55, 3) = (/ & &1.0736e-05_rb,1.1998e-05_rb,1.3230e-05_rb,1.4714e-05_rb,1.6387e-05_rb/) kbo(:,56, 3) = (/ & &8.4780e-06_rb,9.5613e-06_rb,1.0535e-05_rb,1.1722e-05_rb,1.2981e-05_rb/) kbo(:,57, 3) = (/ & &6.6892e-06_rb,7.5486e-06_rb,8.3874e-06_rb,9.3040e-06_rb,1.0324e-05_rb/) kbo(:,58, 3) = (/ & &5.3282e-06_rb,5.9530e-06_rb,6.6841e-06_rb,7.4078e-06_rb,8.2298e-06_rb/) kbo(:,59, 3) = (/ & &4.3459e-06_rb,4.8321e-06_rb,5.4567e-06_rb,6.0369e-06_rb,6.7261e-06_rb/) kbo(:,13, 4) = (/ & &6.7009e-02_rb,7.0746e-02_rb,7.4150e-02_rb,7.7569e-02_rb,8.1680e-02_rb/) kbo(:,14, 4) = (/ & &5.5943e-02_rb,5.8697e-02_rb,6.1678e-02_rb,6.4914e-02_rb,6.9379e-02_rb/) kbo(:,15, 4) = (/ & &4.6843e-02_rb,4.9217e-02_rb,5.1833e-02_rb,5.5783e-02_rb,5.9767e-02_rb/) kbo(:,16, 4) = (/ & &3.9239e-02_rb,4.1262e-02_rb,4.4032e-02_rb,4.7642e-02_rb,5.1925e-02_rb/) kbo(:,17, 4) = (/ & &3.3107e-02_rb,3.5295e-02_rb,3.8541e-02_rb,4.2220e-02_rb,4.6357e-02_rb/) kbo(:,18, 4) = (/ & &2.8797e-02_rb,3.1620e-02_rb,3.4631e-02_rb,3.8034e-02_rb,4.1725e-02_rb/) kbo(:,19, 4) = (/ & &2.5628e-02_rb,2.8281e-02_rb,3.1139e-02_rb,3.4358e-02_rb,3.7925e-02_rb/) kbo(:,20, 4) = (/ & &2.2579e-02_rb,2.4906e-02_rb,2.7554e-02_rb,3.0345e-02_rb,3.3488e-02_rb/) kbo(:,21, 4) = (/ & &1.9528e-02_rb,2.1738e-02_rb,2.4107e-02_rb,2.6707e-02_rb,2.9475e-02_rb/) kbo(:,22, 4) = (/ & &1.7101e-02_rb,1.8986e-02_rb,2.1039e-02_rb,2.3296e-02_rb,2.5855e-02_rb/) kbo(:,23, 4) = (/ & &1.4866e-02_rb,1.6502e-02_rb,1.8337e-02_rb,2.0414e-02_rb,2.2548e-02_rb/) kbo(:,24, 4) = (/ & &1.2821e-02_rb,1.4288e-02_rb,1.5941e-02_rb,1.7747e-02_rb,1.9679e-02_rb/) kbo(:,25, 4) = (/ & &1.1061e-02_rb,1.2369e-02_rb,1.3872e-02_rb,1.5379e-02_rb,1.7059e-02_rb/) kbo(:,26, 4) = (/ & &9.5354e-03_rb,1.0723e-02_rb,1.2012e-02_rb,1.3430e-02_rb,1.4839e-02_rb/) kbo(:,27, 4) = (/ & &8.1975e-03_rb,9.2673e-03_rb,1.0387e-02_rb,1.1650e-02_rb,1.2827e-02_rb/) kbo(:,28, 4) = (/ & &7.0231e-03_rb,7.9702e-03_rb,8.9828e-03_rb,1.0032e-02_rb,1.1053e-02_rb/) kbo(:,29, 4) = (/ & &6.0200e-03_rb,6.8421e-03_rb,7.7670e-03_rb,8.6094e-03_rb,9.5249e-03_rb/) kbo(:,30, 4) = (/ & &5.1558e-03_rb,5.8823e-03_rb,6.6735e-03_rb,7.4143e-03_rb,8.2222e-03_rb/) kbo(:,31, 4) = (/ & &4.4508e-03_rb,5.1031e-03_rb,5.7395e-03_rb,6.3990e-03_rb,7.0930e-03_rb/) kbo(:,32, 4) = (/ & &3.8687e-03_rb,4.4226e-03_rb,4.9634e-03_rb,5.5499e-03_rb,6.1447e-03_rb/) kbo(:,33, 4) = (/ & &3.3860e-03_rb,3.8414e-03_rb,4.3170e-03_rb,4.8129e-03_rb,5.3113e-03_rb/) kbo(:,34, 4) = (/ & &2.9667e-03_rb,3.3572e-03_rb,3.7642e-03_rb,4.1882e-03_rb,4.5973e-03_rb/) kbo(:,35, 4) = (/ & &2.5854e-03_rb,2.9160e-03_rb,3.2542e-03_rb,3.6120e-03_rb,3.9574e-03_rb/) kbo(:,36, 4) = (/ & &2.2132e-03_rb,2.5004e-03_rb,2.7859e-03_rb,3.0722e-03_rb,3.3673e-03_rb/) kbo(:,37, 4) = (/ & &1.8397e-03_rb,2.0798e-03_rb,2.3185e-03_rb,2.5525e-03_rb,2.8046e-03_rb/) kbo(:,38, 4) = (/ & &1.5241e-03_rb,1.7240e-03_rb,1.9250e-03_rb,2.1190e-03_rb,2.3334e-03_rb/) kbo(:,39, 4) = (/ & &1.2578e-03_rb,1.4258e-03_rb,1.5974e-03_rb,1.7602e-03_rb,1.9414e-03_rb/) kbo(:,40, 4) = (/ & &1.0136e-03_rb,1.1511e-03_rb,1.2925e-03_rb,1.4274e-03_rb,1.5799e-03_rb/) kbo(:,41, 4) = (/ & &8.1255e-04_rb,9.2485e-04_rb,1.0421e-03_rb,1.1560e-03_rb,1.2823e-03_rb/) kbo(:,42, 4) = (/ & &6.5076e-04_rb,7.4076e-04_rb,8.3891e-04_rb,9.3536e-04_rb,1.0398e-03_rb/) kbo(:,43, 4) = (/ & &5.1457e-04_rb,5.8675e-04_rb,6.6625e-04_rb,7.5025e-04_rb,8.3332e-04_rb/) kbo(:,44, 4) = (/ & &4.0130e-04_rb,4.6112e-04_rb,5.2500e-04_rb,5.9353e-04_rb,6.6396e-04_rb/) kbo(:,45, 4) = (/ & &3.1174e-04_rb,3.6176e-04_rb,4.1281e-04_rb,4.6943e-04_rb,5.2749e-04_rb/) kbo(:,46, 4) = (/ & &2.4198e-04_rb,2.8347e-04_rb,3.2327e-04_rb,3.6940e-04_rb,4.1847e-04_rb/) kbo(:,47, 4) = (/ & &1.8653e-04_rb,2.1946e-04_rb,2.5297e-04_rb,2.9033e-04_rb,3.3117e-04_rb/) kbo(:,48, 4) = (/ & &1.4273e-04_rb,1.6990e-04_rb,1.9780e-04_rb,2.2703e-04_rb,2.6076e-04_rb/) kbo(:,49, 4) = (/ & &1.1020e-04_rb,1.3076e-04_rb,1.5369e-04_rb,1.7736e-04_rb,2.0453e-04_rb/) kbo(:,50, 4) = (/ & &8.5840e-05_rb,1.0098e-04_rb,1.2003e-04_rb,1.3937e-04_rb,1.6133e-04_rb/) kbo(:,51, 4) = (/ & &6.7375e-05_rb,7.8667e-05_rb,9.3691e-05_rb,1.0967e-04_rb,1.2714e-04_rb/) kbo(:,52, 4) = (/ & &5.2333e-05_rb,6.1321e-05_rb,7.2765e-05_rb,8.6008e-05_rb,9.9915e-05_rb/) kbo(:,53, 4) = (/ & &4.0658e-05_rb,4.7664e-05_rb,5.6514e-05_rb,6.7300e-05_rb,7.8701e-05_rb/) kbo(:,54, 4) = (/ & &3.1857e-05_rb,3.7478e-05_rb,4.4306e-05_rb,5.3025e-05_rb,6.2299e-05_rb/) kbo(:,55, 4) = (/ & &2.4955e-05_rb,2.9435e-05_rb,3.4823e-05_rb,4.1578e-05_rb,4.9419e-05_rb/) kbo(:,56, 4) = (/ & &1.9655e-05_rb,2.3009e-05_rb,2.7169e-05_rb,3.2570e-05_rb,3.9005e-05_rb/) kbo(:,57, 4) = (/ & &1.5476e-05_rb,1.8100e-05_rb,2.1340e-05_rb,2.5521e-05_rb,3.0667e-05_rb/) kbo(:,58, 4) = (/ & &1.2154e-05_rb,1.4292e-05_rb,1.6827e-05_rb,2.0050e-05_rb,2.4167e-05_rb/) kbo(:,59, 4) = (/ & &9.8901e-06_rb,1.1647e-05_rb,1.3760e-05_rb,1.6454e-05_rb,1.9831e-05_rb/) kbo(:,13, 5) = (/ & &1.3634e-01_rb,1.4252e-01_rb,1.5001e-01_rb,1.6028e-01_rb,1.7134e-01_rb/) kbo(:,14, 5) = (/ & &1.1274e-01_rb,1.1839e-01_rb,1.2582e-01_rb,1.3453e-01_rb,1.4378e-01_rb/) kbo(:,15, 5) = (/ & &9.3550e-02_rb,9.9682e-02_rb,1.0681e-01_rb,1.1432e-01_rb,1.2335e-01_rb/) kbo(:,16, 5) = (/ & &7.9704e-02_rb,8.5926e-02_rb,9.2006e-02_rb,9.9216e-02_rb,1.0669e-01_rb/) kbo(:,17, 5) = (/ & &6.9562e-02_rb,7.4399e-02_rb,8.0031e-02_rb,8.6090e-02_rb,9.3210e-02_rb/) kbo(:,18, 5) = (/ & &6.1028e-02_rb,6.5373e-02_rb,7.1097e-02_rb,7.7143e-02_rb,8.4153e-02_rb/) kbo(:,19, 5) = (/ & &5.4138e-02_rb,5.9145e-02_rb,6.4366e-02_rb,7.0461e-02_rb,7.6822e-02_rb/) kbo(:,20, 5) = (/ & &4.7698e-02_rb,5.2419e-02_rb,5.7657e-02_rb,6.3398e-02_rb,6.9523e-02_rb/) kbo(:,21, 5) = (/ & &4.2126e-02_rb,4.6323e-02_rb,5.1164e-02_rb,5.6007e-02_rb,6.1597e-02_rb/) kbo(:,22, 5) = (/ & &3.6873e-02_rb,4.0763e-02_rb,4.4958e-02_rb,4.9556e-02_rb,5.4204e-02_rb/) kbo(:,23, 5) = (/ & &3.2201e-02_rb,3.5761e-02_rb,3.9530e-02_rb,4.3670e-02_rb,4.7920e-02_rb/) kbo(:,24, 5) = (/ & &2.8239e-02_rb,3.1305e-02_rb,3.4844e-02_rb,3.8415e-02_rb,4.2157e-02_rb/) kbo(:,25, 5) = (/ & &2.4669e-02_rb,2.7511e-02_rb,3.0568e-02_rb,3.3769e-02_rb,3.6890e-02_rb/) kbo(:,26, 5) = (/ & &2.1582e-02_rb,2.4173e-02_rb,2.6811e-02_rb,2.9496e-02_rb,3.2330e-02_rb/) kbo(:,27, 5) = (/ & &1.8849e-02_rb,2.1094e-02_rb,2.3446e-02_rb,2.5755e-02_rb,2.8374e-02_rb/) kbo(:,28, 5) = (/ & &1.6379e-02_rb,1.8330e-02_rb,2.0367e-02_rb,2.2542e-02_rb,2.4931e-02_rb/) kbo(:,29, 5) = (/ & &1.4280e-02_rb,1.5993e-02_rb,1.7723e-02_rb,1.9736e-02_rb,2.1895e-02_rb/) kbo(:,30, 5) = (/ & &1.2451e-02_rb,1.3902e-02_rb,1.5477e-02_rb,1.7322e-02_rb,1.9234e-02_rb/) kbo(:,31, 5) = (/ & &1.0840e-02_rb,1.2122e-02_rb,1.3593e-02_rb,1.5159e-02_rb,1.6921e-02_rb/) kbo(:,32, 5) = (/ & &9.4753e-03_rb,1.0651e-02_rb,1.1992e-02_rb,1.3397e-02_rb,1.4887e-02_rb/) kbo(:,33, 5) = (/ & &8.3358e-03_rb,9.4249e-03_rb,1.0592e-02_rb,1.1871e-02_rb,1.3208e-02_rb/) kbo(:,34, 5) = (/ & &7.3799e-03_rb,8.3765e-03_rb,9.4456e-03_rb,1.0582e-02_rb,1.1863e-02_rb/) kbo(:,35, 5) = (/ & &6.4631e-03_rb,7.3628e-03_rb,8.3364e-03_rb,9.3419e-03_rb,1.0526e-02_rb/) kbo(:,36, 5) = (/ & &5.5926e-03_rb,6.3888e-03_rb,7.2585e-03_rb,8.2192e-03_rb,9.2462e-03_rb/) kbo(:,37, 5) = (/ & &4.7015e-03_rb,5.3951e-03_rb,6.1680e-03_rb,7.0229e-03_rb,7.9329e-03_rb/) kbo(:,38, 5) = (/ & &3.9517e-03_rb,4.5644e-03_rb,5.2429e-03_rb,6.0141e-03_rb,6.8184e-03_rb/) kbo(:,39, 5) = (/ & &3.3266e-03_rb,3.8629e-03_rb,4.4575e-03_rb,5.1473e-03_rb,5.8646e-03_rb/) kbo(:,40, 5) = (/ & &2.7281e-03_rb,3.1818e-03_rb,3.6932e-03_rb,4.2742e-03_rb,4.8976e-03_rb/) kbo(:,41, 5) = (/ & &2.2270e-03_rb,2.6113e-03_rb,3.0386e-03_rb,3.5308e-03_rb,4.0601e-03_rb/) kbo(:,42, 5) = (/ & &1.8093e-03_rb,2.1403e-03_rb,2.4947e-03_rb,2.9136e-03_rb,3.3566e-03_rb/) kbo(:,43, 5) = (/ & &1.4510e-03_rb,1.7247e-03_rb,2.0294e-03_rb,2.3716e-03_rb,2.7407e-03_rb/) kbo(:,44, 5) = (/ & &1.1565e-03_rb,1.3809e-03_rb,1.6356e-03_rb,1.9170e-03_rb,2.2199e-03_rb/) kbo(:,45, 5) = (/ & &9.2074e-04_rb,1.1011e-03_rb,1.3110e-03_rb,1.5432e-03_rb,1.7974e-03_rb/) kbo(:,46, 5) = (/ & &7.2799e-04_rb,8.7147e-04_rb,1.0468e-03_rb,1.2375e-03_rb,1.4475e-03_rb/) kbo(:,47, 5) = (/ & &5.6825e-04_rb,6.8576e-04_rb,8.2827e-04_rb,9.8300e-04_rb,1.1595e-03_rb/) kbo(:,48, 5) = (/ & &4.4362e-04_rb,5.3785e-04_rb,6.5132e-04_rb,7.7947e-04_rb,9.2729e-04_rb/) kbo(:,49, 5) = (/ & &3.4360e-04_rb,4.2004e-04_rb,5.1060e-04_rb,6.1673e-04_rb,7.3913e-04_rb/) kbo(:,50, 5) = (/ & &2.6639e-04_rb,3.2974e-04_rb,4.0310e-04_rb,4.8991e-04_rb,5.9182e-04_rb/) kbo(:,51, 5) = (/ & &2.0705e-04_rb,2.5803e-04_rb,3.1790e-04_rb,3.8886e-04_rb,4.7401e-04_rb/) kbo(:,52, 5) = (/ & &1.6104e-04_rb,2.0156e-04_rb,2.4998e-04_rb,3.0713e-04_rb,3.7759e-04_rb/) kbo(:,53, 5) = (/ & &1.2422e-04_rb,1.5670e-04_rb,1.9587e-04_rb,2.4211e-04_rb,2.9925e-04_rb/) kbo(:,54, 5) = (/ & &9.6443e-05_rb,1.2239e-04_rb,1.5459e-04_rb,1.9203e-04_rb,2.3866e-04_rb/) kbo(:,55, 5) = (/ & &7.5345e-05_rb,9.6163e-05_rb,1.2185e-04_rb,1.5278e-04_rb,1.9092e-04_rb/) kbo(:,56, 5) = (/ & &5.8479e-05_rb,7.5388e-05_rb,9.6163e-05_rb,1.2109e-04_rb,1.5224e-04_rb/) kbo(:,57, 5) = (/ & &4.5173e-05_rb,5.8728e-05_rb,7.5432e-05_rb,9.5735e-05_rb,1.2084e-04_rb/) kbo(:,58, 5) = (/ & &3.5110e-05_rb,4.5659e-05_rb,5.9108e-05_rb,7.5684e-05_rb,9.5780e-05_rb/) kbo(:,59, 5) = (/ & &2.8669e-05_rb,3.7452e-05_rb,4.8577e-05_rb,6.2553e-05_rb,7.9913e-05_rb/) kbo(:,13, 6) = (/ & &3.1943e-01_rb,3.3627e-01_rb,3.5152e-01_rb,3.6856e-01_rb,3.8489e-01_rb/) kbo(:,14, 6) = (/ & &2.6955e-01_rb,2.8315e-01_rb,2.9631e-01_rb,3.1035e-01_rb,3.2480e-01_rb/) kbo(:,15, 6) = (/ & &2.2744e-01_rb,2.3792e-01_rb,2.4935e-01_rb,2.6127e-01_rb,2.7359e-01_rb/) kbo(:,16, 6) = (/ & &1.9190e-01_rb,2.0128e-01_rb,2.1209e-01_rb,2.2354e-01_rb,2.3634e-01_rb/) kbo(:,17, 6) = (/ & &1.6550e-01_rb,1.7572e-01_rb,1.8575e-01_rb,1.9639e-01_rb,2.0864e-01_rb/) kbo(:,18, 6) = (/ & &1.4664e-01_rb,1.5533e-01_rb,1.6464e-01_rb,1.7496e-01_rb,1.8532e-01_rb/) kbo(:,19, 6) = (/ & &1.3086e-01_rb,1.3857e-01_rb,1.4754e-01_rb,1.5676e-01_rb,1.6804e-01_rb/) kbo(:,20, 6) = (/ & &1.1476e-01_rb,1.2256e-01_rb,1.3048e-01_rb,1.3999e-01_rb,1.5052e-01_rb/) kbo(:,21, 6) = (/ & &1.0042e-01_rb,1.0755e-01_rb,1.1552e-01_rb,1.2457e-01_rb,1.3541e-01_rb/) kbo(:,22, 6) = (/ & &8.7811e-02_rb,9.4376e-02_rb,1.0240e-01_rb,1.1139e-01_rb,1.2190e-01_rb/) kbo(:,23, 6) = (/ & &7.6746e-02_rb,8.3440e-02_rb,9.0958e-02_rb,9.9436e-02_rb,1.0837e-01_rb/) kbo(:,24, 6) = (/ & &6.7020e-02_rb,7.3597e-02_rb,8.0186e-02_rb,8.7655e-02_rb,9.5847e-02_rb/) kbo(:,25, 6) = (/ & &5.8852e-02_rb,6.4342e-02_rb,7.0651e-02_rb,7.7553e-02_rb,8.5595e-02_rb/) kbo(:,26, 6) = (/ & &5.1501e-02_rb,5.6677e-02_rb,6.2671e-02_rb,6.9309e-02_rb,7.6862e-02_rb/) kbo(:,27, 6) = (/ & &4.5068e-02_rb,5.0089e-02_rb,5.5571e-02_rb,6.2056e-02_rb,6.8532e-02_rb/) kbo(:,28, 6) = (/ & &3.9606e-02_rb,4.4193e-02_rb,4.9408e-02_rb,5.5057e-02_rb,6.0956e-02_rb/) kbo(:,29, 6) = (/ & &3.4989e-02_rb,3.9176e-02_rb,4.4032e-02_rb,4.9174e-02_rb,5.4655e-02_rb/) kbo(:,30, 6) = (/ & &3.0943e-02_rb,3.4971e-02_rb,3.9398e-02_rb,4.4027e-02_rb,4.9163e-02_rb/) kbo(:,31, 6) = (/ & &2.7553e-02_rb,3.1287e-02_rb,3.5351e-02_rb,3.9782e-02_rb,4.4558e-02_rb/) kbo(:,32, 6) = (/ & &2.4710e-02_rb,2.8155e-02_rb,3.1869e-02_rb,3.6099e-02_rb,4.0666e-02_rb/) kbo(:,33, 6) = (/ & &2.2173e-02_rb,2.5362e-02_rb,2.8990e-02_rb,3.2965e-02_rb,3.7297e-02_rb/) kbo(:,34, 6) = (/ & &2.0107e-02_rb,2.3109e-02_rb,2.6574e-02_rb,3.0332e-02_rb,3.4357e-02_rb/) kbo(:,35, 6) = (/ & &1.8022e-02_rb,2.0877e-02_rb,2.4132e-02_rb,2.7710e-02_rb,3.1520e-02_rb/) kbo(:,36, 6) = (/ & &1.5963e-02_rb,1.8659e-02_rb,2.1660e-02_rb,2.4929e-02_rb,2.8560e-02_rb/) kbo(:,37, 6) = (/ & &1.3764e-02_rb,1.6188e-02_rb,1.8916e-02_rb,2.1932e-02_rb,2.5294e-02_rb/) kbo(:,38, 6) = (/ & &1.1849e-02_rb,1.4028e-02_rb,1.6494e-02_rb,1.9269e-02_rb,2.2340e-02_rb/) kbo(:,39, 6) = (/ & &1.0207e-02_rb,1.2194e-02_rb,1.4401e-02_rb,1.6941e-02_rb,1.9796e-02_rb/) kbo(:,40, 6) = (/ & &8.5573e-03_rb,1.0315e-02_rb,1.2260e-02_rb,1.4559e-02_rb,1.7141e-02_rb/) kbo(:,41, 6) = (/ & &7.1290e-03_rb,8.6738e-03_rb,1.0403e-02_rb,1.2445e-02_rb,1.4801e-02_rb/) kbo(:,42, 6) = (/ & &5.9179e-03_rb,7.2709e-03_rb,8.8122e-03_rb,1.0627e-02_rb,1.2787e-02_rb/) kbo(:,43, 6) = (/ & &4.8318e-03_rb,5.9892e-03_rb,7.3334e-03_rb,8.9514e-03_rb,1.0874e-02_rb/) kbo(:,44, 6) = (/ & &3.8999e-03_rb,4.8767e-03_rb,6.0501e-03_rb,7.4816e-03_rb,9.1794e-03_rb/) kbo(:,45, 6) = (/ & &3.1360e-03_rb,3.9601e-03_rb,4.9837e-03_rb,6.2240e-03_rb,7.7311e-03_rb/) kbo(:,46, 6) = (/ & &2.5027e-03_rb,3.1827e-03_rb,4.0540e-03_rb,5.1329e-03_rb,6.4480e-03_rb/) kbo(:,47, 6) = (/ & &1.9756e-03_rb,2.5273e-03_rb,3.2610e-03_rb,4.1749e-03_rb,5.3122e-03_rb/) kbo(:,48, 6) = (/ & &1.5473e-03_rb,1.9960e-03_rb,2.6043e-03_rb,3.3772e-03_rb,4.3437e-03_rb/) kbo(:,49, 6) = (/ & &1.2068e-03_rb,1.5706e-03_rb,2.0674e-03_rb,2.7091e-03_rb,3.5307e-03_rb/) kbo(:,50, 6) = (/ & &9.4521e-04_rb,1.2396e-03_rb,1.6445e-03_rb,2.1801e-03_rb,2.8792e-03_rb/) kbo(:,51, 6) = (/ & &7.3804e-04_rb,9.7746e-04_rb,1.3076e-03_rb,1.7542e-03_rb,2.3409e-03_rb/) kbo(:,52, 6) = (/ & &5.7206e-04_rb,7.6763e-04_rb,1.0338e-03_rb,1.4015e-03_rb,1.8909e-03_rb/) kbo(:,53, 6) = (/ & &4.4225e-04_rb,5.9805e-04_rb,8.1248e-04_rb,1.1113e-03_rb,1.5170e-03_rb/) kbo(:,54, 6) = (/ & &3.4467e-04_rb,4.7010e-04_rb,6.4272e-04_rb,8.8848e-04_rb,1.2276e-03_rb/) kbo(:,55, 6) = (/ & &2.6885e-04_rb,3.6925e-04_rb,5.1051e-04_rb,7.1238e-04_rb,9.9424e-04_rb/) kbo(:,56, 6) = (/ & &2.0891e-04_rb,2.8866e-04_rb,4.0323e-04_rb,5.6854e-04_rb,8.0318e-04_rb/) kbo(:,57, 6) = (/ & &1.6206e-04_rb,2.2457e-04_rb,3.1663e-04_rb,4.5154e-04_rb,6.4436e-04_rb/) kbo(:,58, 6) = (/ & &1.2565e-04_rb,1.7534e-04_rb,2.4919e-04_rb,3.5849e-04_rb,5.1835e-04_rb/) kbo(:,59, 6) = (/ & &1.0370e-04_rb,1.4590e-04_rb,2.0972e-04_rb,3.0572e-04_rb,4.4824e-04_rb/) kbo(:,13, 7) = (/ & &8.6885e-01_rb,8.9426e-01_rb,9.2071e-01_rb,9.5081e-01_rb,9.7593e-01_rb/) kbo(:,14, 7) = (/ & &7.3422e-01_rb,7.5692e-01_rb,7.8528e-01_rb,8.1141e-01_rb,8.3349e-01_rb/) kbo(:,15, 7) = (/ & &6.1192e-01_rb,6.3447e-01_rb,6.5837e-01_rb,6.7854e-01_rb,7.0269e-01_rb/) kbo(:,16, 7) = (/ & &5.0884e-01_rb,5.2842e-01_rb,5.4670e-01_rb,5.6627e-01_rb,5.8867e-01_rb/) kbo(:,17, 7) = (/ & &4.3640e-01_rb,4.5419e-01_rb,4.7288e-01_rb,4.9197e-01_rb,5.1336e-01_rb/) kbo(:,18, 7) = (/ & &3.8407e-01_rb,4.0203e-01_rb,4.1993e-01_rb,4.4018e-01_rb,4.6362e-01_rb/) kbo(:,19, 7) = (/ & &3.4228e-01_rb,3.5912e-01_rb,3.7740e-01_rb,3.9888e-01_rb,4.2103e-01_rb/) kbo(:,20, 7) = (/ & &3.0199e-01_rb,3.1730e-01_rb,3.3484e-01_rb,3.5351e-01_rb,3.7675e-01_rb/) kbo(:,21, 7) = (/ & &2.6553e-01_rb,2.8042e-01_rb,2.9603e-01_rb,3.1609e-01_rb,3.3882e-01_rb/) kbo(:,22, 7) = (/ & &2.3320e-01_rb,2.4726e-01_rb,2.6434e-01_rb,2.8368e-01_rb,3.0736e-01_rb/) kbo(:,23, 7) = (/ & &2.0578e-01_rb,2.1941e-01_rb,2.3579e-01_rb,2.5629e-01_rb,2.8224e-01_rb/) kbo(:,24, 7) = (/ & &1.8045e-01_rb,1.9362e-01_rb,2.1135e-01_rb,2.3376e-01_rb,2.5793e-01_rb/) kbo(:,25, 7) = (/ & &1.5885e-01_rb,1.7311e-01_rb,1.9174e-01_rb,2.1249e-01_rb,2.3261e-01_rb/) kbo(:,26, 7) = (/ & &1.4101e-01_rb,1.5639e-01_rb,1.7418e-01_rb,1.9114e-01_rb,2.1048e-01_rb/) kbo(:,27, 7) = (/ & &1.2599e-01_rb,1.4076e-01_rb,1.5557e-01_rb,1.7183e-01_rb,1.9023e-01_rb/) kbo(:,28, 7) = (/ & &1.1218e-01_rb,1.2546e-01_rb,1.3903e-01_rb,1.5482e-01_rb,1.7215e-01_rb/) kbo(:,29, 7) = (/ & &1.0072e-01_rb,1.1254e-01_rb,1.2583e-01_rb,1.4062e-01_rb,1.5650e-01_rb/) kbo(:,30, 7) = (/ & &9.0713e-02_rb,1.0192e-01_rb,1.1464e-01_rb,1.2854e-01_rb,1.4398e-01_rb/) kbo(:,31, 7) = (/ & &8.2277e-02_rb,9.3097e-02_rb,1.0524e-01_rb,1.1856e-01_rb,1.3355e-01_rb/) kbo(:,32, 7) = (/ & &7.5303e-02_rb,8.5763e-02_rb,9.7401e-02_rb,1.1054e-01_rb,1.2526e-01_rb/) kbo(:,33, 7) = (/ & &6.9506e-02_rb,7.9549e-02_rb,9.0902e-02_rb,1.0398e-01_rb,1.1862e-01_rb/) kbo(:,34, 7) = (/ & &6.4727e-02_rb,7.4554e-02_rb,8.5918e-02_rb,9.8930e-02_rb,1.1374e-01_rb/) kbo(:,35, 7) = (/ & &5.9573e-02_rb,6.9480e-02_rb,8.0602e-02_rb,9.3549e-02_rb,1.0847e-01_rb/) kbo(:,36, 7) = (/ & &5.4200e-02_rb,6.3825e-02_rb,7.4842e-02_rb,8.7689e-02_rb,1.0224e-01_rb/) kbo(:,37, 7) = (/ & &4.7941e-02_rb,5.7083e-02_rb,6.7560e-02_rb,8.0041e-02_rb,9.3919e-02_rb/) kbo(:,38, 7) = (/ & &4.2423e-02_rb,5.1057e-02_rb,6.0983e-02_rb,7.2873e-02_rb,8.6484e-02_rb/) kbo(:,39, 7) = (/ & &3.7589e-02_rb,4.5606e-02_rb,5.5155e-02_rb,6.6511e-02_rb,7.9703e-02_rb/) kbo(:,40, 7) = (/ & &3.2287e-02_rb,3.9605e-02_rb,4.8489e-02_rb,5.9153e-02_rb,7.1379e-02_rb/) kbo(:,41, 7) = (/ & &2.7611e-02_rb,3.4241e-02_rb,4.2425e-02_rb,5.2312e-02_rb,6.3597e-02_rb/) kbo(:,42, 7) = (/ & &2.3526e-02_rb,2.9544e-02_rb,3.7050e-02_rb,4.6066e-02_rb,5.6624e-02_rb/) kbo(:,43, 7) = (/ & &1.9724e-02_rb,2.5077e-02_rb,3.1787e-02_rb,3.9922e-02_rb,4.9656e-02_rb/) kbo(:,44, 7) = (/ & &1.6360e-02_rb,2.1054e-02_rb,2.6994e-02_rb,3.4254e-02_rb,4.3106e-02_rb/) kbo(:,45, 7) = (/ & &1.3479e-02_rb,1.7563e-02_rb,2.2810e-02_rb,2.9308e-02_rb,3.7331e-02_rb/) kbo(:,46, 7) = (/ & &1.0982e-02_rb,1.4524e-02_rb,1.9109e-02_rb,2.4872e-02_rb,3.2032e-02_rb/) kbo(:,47, 7) = (/ & &8.8182e-03_rb,1.1815e-02_rb,1.5755e-02_rb,2.0785e-02_rb,2.7117e-02_rb/) kbo(:,48, 7) = (/ & &7.0297e-03_rb,9.5228e-03_rb,1.2883e-02_rb,1.7248e-02_rb,2.2808e-02_rb/) kbo(:,49, 7) = (/ & &5.5570e-03_rb,7.6141e-03_rb,1.0446e-02_rb,1.4193e-02_rb,1.9030e-02_rb/) kbo(:,50, 7) = (/ & &4.4018e-03_rb,6.0988e-03_rb,8.5078e-03_rb,1.1727e-02_rb,1.5958e-02_rb/) kbo(:,51, 7) = (/ & &3.4813e-03_rb,4.8790e-03_rb,6.9087e-03_rb,9.6740e-03_rb,1.3370e-02_rb/) kbo(:,52, 7) = (/ & &2.7259e-03_rb,3.8645e-03_rb,5.5503e-03_rb,7.9313e-03_rb,1.1133e-02_rb/) kbo(:,53, 7) = (/ & &2.1153e-03_rb,3.0336e-03_rb,4.4195e-03_rb,6.4300e-03_rb,9.1714e-03_rb/) kbo(:,54, 7) = (/ & &1.6649e-03_rb,2.4099e-03_rb,3.5602e-03_rb,5.2651e-03_rb,7.6558e-03_rb/) kbo(:,55, 7) = (/ & &1.3120e-03_rb,1.9223e-03_rb,2.8746e-03_rb,4.3204e-03_rb,6.4144e-03_rb/) kbo(:,56, 7) = (/ & &1.0280e-03_rb,1.5213e-03_rb,2.3034e-03_rb,3.5254e-03_rb,5.3355e-03_rb/) kbo(:,57, 7) = (/ & &8.0119e-04_rb,1.1961e-03_rb,1.8353e-03_rb,2.8565e-03_rb,4.4054e-03_rb/) kbo(:,58, 7) = (/ & &6.2596e-04_rb,9.4223e-04_rb,1.4648e-03_rb,2.3194e-03_rb,3.6416e-03_rb/) kbo(:,59, 7) = (/ & &5.2923e-04_rb,8.1079e-04_rb,1.2847e-03_rb,2.0681e-03_rb,3.3065e-03_rb/) kbo(:,13, 8) = (/ & &3.0137e+00_rb,3.0721e+00_rb,3.1135e+00_rb,3.1353e+00_rb,3.1526e+00_rb/) kbo(:,14, 8) = (/ & &2.5881e+00_rb,2.6331e+00_rb,2.6669e+00_rb,2.6887e+00_rb,2.7106e+00_rb/) kbo(:,15, 8) = (/ & &2.2017e+00_rb,2.2477e+00_rb,2.2747e+00_rb,2.3022e+00_rb,2.3199e+00_rb/) kbo(:,16, 8) = (/ & &1.8745e+00_rb,1.9119e+00_rb,1.9407e+00_rb,1.9650e+00_rb,1.9910e+00_rb/) kbo(:,17, 8) = (/ & &1.5865e+00_rb,1.6181e+00_rb,1.6438e+00_rb,1.6744e+00_rb,1.7044e+00_rb/) kbo(:,18, 8) = (/ & &1.3469e+00_rb,1.3737e+00_rb,1.4061e+00_rb,1.4422e+00_rb,1.4784e+00_rb/) kbo(:,19, 8) = (/ & &1.1589e+00_rb,1.1936e+00_rb,1.2348e+00_rb,1.2728e+00_rb,1.3146e+00_rb/) kbo(:,20, 8) = (/ & &1.0242e+00_rb,1.0660e+00_rb,1.1056e+00_rb,1.1466e+00_rb,1.1869e+00_rb/) kbo(:,21, 8) = (/ & &9.1121e-01_rb,9.5273e-01_rb,9.9427e-01_rb,1.0332e+00_rb,1.0710e+00_rb/) kbo(:,22, 8) = (/ & &8.0647e-01_rb,8.4440e-01_rb,8.8114e-01_rb,9.1866e-01_rb,9.5785e-01_rb/) kbo(:,23, 8) = (/ & &7.0834e-01_rb,7.4542e-01_rb,7.7998e-01_rb,8.1759e-01_rb,8.5850e-01_rb/) kbo(:,24, 8) = (/ & &6.2177e-01_rb,6.5425e-01_rb,6.8799e-01_rb,7.2751e-01_rb,7.7799e-01_rb/) kbo(:,25, 8) = (/ & &5.4589e-01_rb,5.7729e-01_rb,6.1309e-01_rb,6.5804e-01_rb,7.1412e-01_rb/) kbo(:,26, 8) = (/ & &4.8128e-01_rb,5.1418e-01_rb,5.5324e-01_rb,6.0347e-01_rb,6.6308e-01_rb/) kbo(:,27, 8) = (/ & &4.2682e-01_rb,4.6055e-01_rb,5.0524e-01_rb,5.5765e-01_rb,6.2135e-01_rb/) kbo(:,28, 8) = (/ & &3.8006e-01_rb,4.1721e-01_rb,4.6337e-01_rb,5.1919e-01_rb,5.8322e-01_rb/) kbo(:,29, 8) = (/ & &3.4196e-01_rb,3.8125e-01_rb,4.2943e-01_rb,4.8588e-01_rb,5.5221e-01_rb/) kbo(:,30, 8) = (/ & &3.1093e-01_rb,3.5114e-01_rb,4.0038e-01_rb,4.5863e-01_rb,5.2276e-01_rb/) kbo(:,31, 8) = (/ & &2.8616e-01_rb,3.2668e-01_rb,3.7633e-01_rb,4.3472e-01_rb,4.9941e-01_rb/) kbo(:,32, 8) = (/ & &2.6688e-01_rb,3.0820e-01_rb,3.5883e-01_rb,4.1523e-01_rb,4.8206e-01_rb/) kbo(:,33, 8) = (/ & &2.5149e-01_rb,2.9538e-01_rb,3.4473e-01_rb,4.0327e-01_rb,4.6953e-01_rb/) kbo(:,34, 8) = (/ & &2.4069e-01_rb,2.8516e-01_rb,3.3563e-01_rb,3.9421e-01_rb,4.6040e-01_rb/) kbo(:,35, 8) = (/ & &2.2923e-01_rb,2.7328e-01_rb,3.2510e-01_rb,3.8300e-01_rb,4.4899e-01_rb/) kbo(:,36, 8) = (/ & &2.1677e-01_rb,2.6037e-01_rb,3.1183e-01_rb,3.6883e-01_rb,4.3509e-01_rb/) kbo(:,37, 8) = (/ & &1.9848e-01_rb,2.3986e-01_rb,2.8965e-01_rb,3.4421e-01_rb,4.0854e-01_rb/) kbo(:,38, 8) = (/ & &1.8143e-01_rb,2.2127e-01_rb,2.6901e-01_rb,3.2212e-01_rb,3.8468e-01_rb/) kbo(:,39, 8) = (/ & &1.6606e-01_rb,2.0455e-01_rb,2.5024e-01_rb,3.0203e-01_rb,3.6363e-01_rb/) kbo(:,40, 8) = (/ & &1.4741e-01_rb,1.8322e-01_rb,2.2603e-01_rb,2.7520e-01_rb,3.3417e-01_rb/) kbo(:,41, 8) = (/ & &1.3011e-01_rb,1.6308e-01_rb,2.0319e-01_rb,2.4965e-01_rb,3.0588e-01_rb/) kbo(:,42, 8) = (/ & &1.1484e-01_rb,1.4491e-01_rb,1.8233e-01_rb,2.2638e-01_rb,2.7964e-01_rb/) kbo(:,43, 8) = (/ & &9.9279e-02_rb,1.2633e-01_rb,1.6039e-01_rb,2.0179e-01_rb,2.5143e-01_rb/) kbo(:,44, 8) = (/ & &8.4904e-02_rb,1.0929e-01_rb,1.3953e-01_rb,1.7766e-01_rb,2.2379e-01_rb/) kbo(:,45, 8) = (/ & &7.2367e-02_rb,9.4015e-02_rb,1.2097e-01_rb,1.5526e-01_rb,1.9786e-01_rb/) kbo(:,46, 8) = (/ & &6.1012e-02_rb,8.0269e-02_rb,1.0419e-01_rb,1.3470e-01_rb,1.7331e-01_rb/) kbo(:,47, 8) = (/ & &5.0418e-02_rb,6.7581e-02_rb,8.8667e-02_rb,1.1556e-01_rb,1.5023e-01_rb/) kbo(:,48, 8) = (/ & &4.1555e-02_rb,5.6345e-02_rb,7.4999e-02_rb,9.8811e-02_rb,1.2934e-01_rb/) kbo(:,49, 8) = (/ & &3.3904e-02_rb,4.6392e-02_rb,6.2939e-02_rb,8.3873e-02_rb,1.1077e-01_rb/) kbo(:,50, 8) = (/ & &2.7924e-02_rb,3.8644e-02_rb,5.3103e-02_rb,7.1817e-02_rb,9.5860e-02_rb/) kbo(:,51, 8) = (/ & &2.3027e-02_rb,3.2254e-02_rb,4.4770e-02_rb,6.1630e-02_rb,8.3189e-02_rb/) kbo(:,52, 8) = (/ & &1.8860e-02_rb,2.6783e-02_rb,3.7563e-02_rb,5.2481e-02_rb,7.1941e-02_rb/) kbo(:,53, 8) = (/ & &1.5315e-02_rb,2.2045e-02_rb,3.1363e-02_rb,4.4231e-02_rb,6.1710e-02_rb/) kbo(:,54, 8) = (/ & &1.2583e-02_rb,1.8403e-02_rb,2.6586e-02_rb,3.7901e-02_rb,5.3727e-02_rb/) kbo(:,55, 8) = (/ & &1.0382e-02_rb,1.5404e-02_rb,2.2584e-02_rb,3.2684e-02_rb,4.7053e-02_rb/) kbo(:,56, 8) = (/ & &8.4944e-03_rb,1.2799e-02_rb,1.9133e-02_rb,2.8106e-02_rb,4.1010e-02_rb/) kbo(:,57, 8) = (/ & &6.8852e-03_rb,1.0598e-02_rb,1.6081e-02_rb,2.3991e-02_rb,3.5498e-02_rb/) kbo(:,58, 8) = (/ & &5.5895e-03_rb,8.7768e-03_rb,1.3535e-02_rb,2.0567e-02_rb,3.0872e-02_rb/) kbo(:,59, 8) = (/ & &4.9705e-03_rb,7.9600e-03_rb,1.2473e-02_rb,1.9319e-02_rb,2.9463e-02_rb/) kbo(:,13, 9) = (/ & &1.4590e+01_rb,1.4670e+01_rb,1.4841e+01_rb,1.4854e+01_rb,1.4880e+01_rb/) kbo(:,14, 9) = (/ & &1.3239e+01_rb,1.3368e+01_rb,1.3423e+01_rb,1.3479e+01_rb,1.3588e+01_rb/) kbo(:,15, 9) = (/ & &1.1801e+01_rb,1.1873e+01_rb,1.1983e+01_rb,1.2092e+01_rb,1.2194e+01_rb/) kbo(:,16, 9) = (/ & &1.0397e+01_rb,1.0519e+01_rb,1.0636e+01_rb,1.0761e+01_rb,1.0910e+01_rb/) kbo(:,17, 9) = (/ & &9.1941e+00_rb,9.3273e+00_rb,9.4699e+00_rb,9.6116e+00_rb,9.7497e+00_rb/) kbo(:,18, 9) = (/ & &8.2105e+00_rb,8.3532e+00_rb,8.4897e+00_rb,8.6223e+00_rb,8.7373e+00_rb/) kbo(:,19, 9) = (/ & &7.2827e+00_rb,7.4240e+00_rb,7.5562e+00_rb,7.6727e+00_rb,7.7914e+00_rb/) kbo(:,20, 9) = (/ & &6.3721e+00_rb,6.4943e+00_rb,6.6028e+00_rb,6.7186e+00_rb,6.8391e+00_rb/) kbo(:,21, 9) = (/ & &5.5515e+00_rb,5.6468e+00_rb,5.7503e+00_rb,5.8563e+00_rb,5.9656e+00_rb/) kbo(:,22, 9) = (/ & &4.8000e+00_rb,4.8972e+00_rb,4.9944e+00_rb,5.1084e+00_rb,5.2408e+00_rb/) kbo(:,23, 9) = (/ & &4.1624e+00_rb,4.2656e+00_rb,4.3811e+00_rb,4.5085e+00_rb,4.6380e+00_rb/) kbo(:,24, 9) = (/ & &3.6468e+00_rb,3.7664e+00_rb,3.9092e+00_rb,4.0407e+00_rb,4.1687e+00_rb/) kbo(:,25, 9) = (/ & &3.2292e+00_rb,3.3800e+00_rb,3.5189e+00_rb,3.6529e+00_rb,3.8087e+00_rb/) kbo(:,26, 9) = (/ & &2.9129e+00_rb,3.0593e+00_rb,3.1926e+00_rb,3.3487e+00_rb,3.5171e+00_rb/) kbo(:,27, 9) = (/ & &2.6651e+00_rb,2.7860e+00_rb,2.9417e+00_rb,3.1050e+00_rb,3.2838e+00_rb/) kbo(:,28, 9) = (/ & &2.4547e+00_rb,2.5852e+00_rb,2.7243e+00_rb,2.8973e+00_rb,3.0879e+00_rb/) kbo(:,29, 9) = (/ & &2.2775e+00_rb,2.4144e+00_rb,2.5520e+00_rb,2.7166e+00_rb,2.9171e+00_rb/) kbo(:,30, 9) = (/ & &2.1281e+00_rb,2.2766e+00_rb,2.4266e+00_rb,2.5792e+00_rb,2.7778e+00_rb/) kbo(:,31, 9) = (/ & &1.9982e+00_rb,2.1596e+00_rb,2.3215e+00_rb,2.4758e+00_rb,2.6690e+00_rb/) kbo(:,32, 9) = (/ & &1.8974e+00_rb,2.0696e+00_rb,2.2391e+00_rb,2.4103e+00_rb,2.6183e+00_rb/) kbo(:,33, 9) = (/ & &1.8191e+00_rb,1.9994e+00_rb,2.1809e+00_rb,2.3775e+00_rb,2.6019e+00_rb/) kbo(:,34, 9) = (/ & &1.7674e+00_rb,1.9617e+00_rb,2.1590e+00_rb,2.3767e+00_rb,2.6194e+00_rb/) kbo(:,35, 9) = (/ & &1.7160e+00_rb,1.9253e+00_rb,2.1379e+00_rb,2.3725e+00_rb,2.6356e+00_rb/) kbo(:,36, 9) = (/ & &1.6660e+00_rb,1.8913e+00_rb,2.1169e+00_rb,2.3615e+00_rb,2.6378e+00_rb/) kbo(:,37, 9) = (/ & &1.5784e+00_rb,1.8090e+00_rb,2.0343e+00_rb,2.2860e+00_rb,2.5707e+00_rb/) kbo(:,38, 9) = (/ & &1.4967e+00_rb,1.7299e+00_rb,1.9619e+00_rb,2.2122e+00_rb,2.4970e+00_rb/) kbo(:,39, 9) = (/ & &1.4275e+00_rb,1.6566e+00_rb,1.8885e+00_rb,2.1422e+00_rb,2.4238e+00_rb/) kbo(:,40, 9) = (/ & &1.3319e+00_rb,1.5527e+00_rb,1.7867e+00_rb,2.0342e+00_rb,2.3084e+00_rb/) kbo(:,41, 9) = (/ & &1.2324e+00_rb,1.4488e+00_rb,1.6798e+00_rb,1.9260e+00_rb,2.1920e+00_rb/) kbo(:,42, 9) = (/ & &1.1393e+00_rb,1.3560e+00_rb,1.5786e+00_rb,1.8237e+00_rb,2.0822e+00_rb/) kbo(:,43, 9) = (/ & &1.0393e+00_rb,1.2480e+00_rb,1.4586e+00_rb,1.7011e+00_rb,1.9564e+00_rb/) kbo(:,44, 9) = (/ & &9.4004e-01_rb,1.1318e+00_rb,1.3401e+00_rb,1.5753e+00_rb,1.8301e+00_rb/) kbo(:,45, 9) = (/ & &8.4677e-01_rb,1.0287e+00_rb,1.2277e+00_rb,1.4538e+00_rb,1.7017e+00_rb/) kbo(:,46, 9) = (/ & &7.5668e-01_rb,9.2772e-01_rb,1.1175e+00_rb,1.3351e+00_rb,1.5740e+00_rb/) kbo(:,47, 9) = (/ & &6.6952e-01_rb,8.3230e-01_rb,1.0096e+00_rb,1.2100e+00_rb,1.4418e+00_rb/) kbo(:,48, 9) = (/ & &5.9179e-01_rb,7.4047e-01_rb,9.0922e-01_rb,1.0966e+00_rb,1.3183e+00_rb/) kbo(:,49, 9) = (/ & &5.2110e-01_rb,6.5712e-01_rb,8.1623e-01_rb,9.9075e-01_rb,1.1944e+00_rb/) kbo(:,50, 9) = (/ & &4.6158e-01_rb,5.8589e-01_rb,7.3680e-01_rb,8.9883e-01_rb,1.0896e+00_rb/) kbo(:,51, 9) = (/ & &4.0970e-01_rb,5.2471e-01_rb,6.6511e-01_rb,8.1893e-01_rb,1.0001e+00_rb/) kbo(:,52, 9) = (/ & &3.6376e-01_rb,4.6797e-01_rb,5.9787e-01_rb,7.4696e-01_rb,9.1589e-01_rb/) kbo(:,53, 9) = (/ & &3.2051e-01_rb,4.1628e-01_rb,5.3506e-01_rb,6.7993e-01_rb,8.3743e-01_rb/) kbo(:,54, 9) = (/ & &2.8466e-01_rb,3.7491e-01_rb,4.8412e-01_rb,6.2077e-01_rb,7.6925e-01_rb/) kbo(:,55, 9) = (/ & &2.5367e-01_rb,3.3870e-01_rb,4.3869e-01_rb,5.6524e-01_rb,7.0875e-01_rb/) kbo(:,56, 9) = (/ & &2.2562e-01_rb,3.0476e-01_rb,3.9766e-01_rb,5.1473e-01_rb,6.5170e-01_rb/) kbo(:,57, 9) = (/ & &1.9827e-01_rb,2.7217e-01_rb,3.6127e-01_rb,4.6695e-01_rb,5.9679e-01_rb/) kbo(:,58, 9) = (/ & &1.7439e-01_rb,2.4383e-01_rb,3.2816e-01_rb,4.2523e-01_rb,5.4584e-01_rb/) kbo(:,59, 9) = (/ & &1.6511e-01_rb,2.3377e-01_rb,3.1581e-01_rb,4.1157e-01_rb,5.2975e-01_rb/) kbo(:,13,10) = (/ & &4.0695e+01_rb,4.0469e+01_rb,4.0155e+01_rb,4.1544e+01_rb,4.2682e+01_rb/) kbo(:,14,10) = (/ & &3.9304e+01_rb,3.9060e+01_rb,4.0807e+01_rb,4.1587e+01_rb,4.0953e+01_rb/) kbo(:,15,10) = (/ & &3.7657e+01_rb,3.9117e+01_rb,3.9307e+01_rb,3.8957e+01_rb,3.9710e+01_rb/) kbo(:,16,10) = (/ & &3.6278e+01_rb,3.6420e+01_rb,3.6566e+01_rb,3.7322e+01_rb,3.7268e+01_rb/) kbo(:,17,10) = (/ & &3.3662e+01_rb,3.3973e+01_rb,3.4667e+01_rb,3.4884e+01_rb,3.5251e+01_rb/) kbo(:,18,10) = (/ & &3.1195e+01_rb,3.1946e+01_rb,3.2272e+01_rb,3.2818e+01_rb,3.3898e+01_rb/) kbo(:,19,10) = (/ & &2.9346e+01_rb,2.9678e+01_rb,3.0231e+01_rb,3.1581e+01_rb,3.2542e+01_rb/) kbo(:,20,10) = (/ & &2.6569e+01_rb,2.7189e+01_rb,2.8571e+01_rb,2.9702e+01_rb,3.0461e+01_rb/) kbo(:,21,10) = (/ & &2.3800e+01_rb,2.5133e+01_rb,2.6296e+01_rb,2.7333e+01_rb,2.8348e+01_rb/) kbo(:,22,10) = (/ & &2.1748e+01_rb,2.2899e+01_rb,2.3947e+01_rb,2.5006e+01_rb,2.6299e+01_rb/) kbo(:,23,10) = (/ & &1.9685e+01_rb,2.0476e+01_rb,2.1391e+01_rb,2.2690e+01_rb,2.3900e+01_rb/) kbo(:,24,10) = (/ & &1.7032e+01_rb,1.7826e+01_rb,1.8674e+01_rb,1.9703e+01_rb,2.1087e+01_rb/) kbo(:,25,10) = (/ & &1.4880e+01_rb,1.5564e+01_rb,1.6390e+01_rb,1.7502e+01_rb,1.8671e+01_rb/) kbo(:,26,10) = (/ & &1.3363e+01_rb,1.4020e+01_rb,1.5087e+01_rb,1.6178e+01_rb,1.7289e+01_rb/) kbo(:,27,10) = (/ & &1.1727e+01_rb,1.2959e+01_rb,1.3942e+01_rb,1.5094e+01_rb,1.6463e+01_rb/) kbo(:,28,10) = (/ & &1.0659e+01_rb,1.1764e+01_rb,1.3018e+01_rb,1.4300e+01_rb,1.5936e+01_rb/) kbo(:,29,10) = (/ & &9.6581e+00_rb,1.0907e+01_rb,1.2325e+01_rb,1.4028e+01_rb,1.5807e+01_rb/) kbo(:,30,10) = (/ & &8.9612e+00_rb,1.0145e+01_rb,1.1747e+01_rb,1.3771e+01_rb,1.5726e+01_rb/) kbo(:,31,10) = (/ & &8.6124e+00_rb,9.7350e+00_rb,1.1421e+01_rb,1.3475e+01_rb,1.5366e+01_rb/) kbo(:,32,10) = (/ & &8.5911e+00_rb,9.4800e+00_rb,1.1115e+01_rb,1.3010e+01_rb,1.4984e+01_rb/) kbo(:,33,10) = (/ & &8.6709e+00_rb,9.3343e+00_rb,1.0809e+01_rb,1.2622e+01_rb,1.4676e+01_rb/) kbo(:,34,10) = (/ & &8.8793e+00_rb,9.5541e+00_rb,1.0639e+01_rb,1.2461e+01_rb,1.4700e+01_rb/) kbo(:,35,10) = (/ & &9.1036e+00_rb,9.7617e+00_rb,1.0550e+01_rb,1.2303e+01_rb,1.4597e+01_rb/) kbo(:,36,10) = (/ & &9.1500e+00_rb,9.8472e+00_rb,1.0675e+01_rb,1.1920e+01_rb,1.4033e+01_rb/) kbo(:,37,10) = (/ & &8.9913e+00_rb,9.7513e+00_rb,1.0626e+01_rb,1.1848e+01_rb,1.3311e+01_rb/) kbo(:,38,10) = (/ & &8.8541e+00_rb,9.6133e+00_rb,1.0479e+01_rb,1.1805e+01_rb,1.2978e+01_rb/) kbo(:,39,10) = (/ & &8.6355e+00_rb,9.4791e+00_rb,1.0441e+01_rb,1.1774e+01_rb,1.2974e+01_rb/) kbo(:,40,10) = (/ & &8.2572e+00_rb,9.1900e+00_rb,1.0103e+01_rb,1.1340e+01_rb,1.2612e+01_rb/) kbo(:,41,10) = (/ & &7.9700e+00_rb,8.8564e+00_rb,9.7227e+00_rb,1.0892e+01_rb,1.2191e+01_rb/) kbo(:,42,10) = (/ & &7.7269e+00_rb,8.5147e+00_rb,9.3572e+00_rb,1.0449e+01_rb,1.1769e+01_rb/) kbo(:,43,10) = (/ & &7.3457e+00_rb,8.1022e+00_rb,8.9870e+00_rb,9.9755e+00_rb,1.1267e+01_rb/) kbo(:,44,10) = (/ & &6.8559e+00_rb,7.7825e+00_rb,8.6085e+00_rb,9.5618e+00_rb,1.0705e+01_rb/) kbo(:,45,10) = (/ & &6.3680e+00_rb,7.3808e+00_rb,8.2404e+00_rb,9.1444e+00_rb,1.0228e+01_rb/) kbo(:,46,10) = (/ & &5.9178e+00_rb,6.9688e+00_rb,7.8931e+00_rb,8.8310e+00_rb,9.8114e+00_rb/) kbo(:,47,10) = (/ & &5.4530e+00_rb,6.4924e+00_rb,7.5375e+00_rb,8.5314e+00_rb,9.4745e+00_rb/) kbo(:,48,10) = (/ & &4.9630e+00_rb,6.0598e+00_rb,7.0862e+00_rb,8.1895e+00_rb,9.1462e+00_rb/) kbo(:,49,10) = (/ & &4.4814e+00_rb,5.6082e+00_rb,6.6461e+00_rb,7.8385e+00_rb,8.8792e+00_rb/) kbo(:,50,10) = (/ & &4.0666e+00_rb,5.1497e+00_rb,6.2742e+00_rb,7.4367e+00_rb,8.5539e+00_rb/) kbo(:,51,10) = (/ & &3.6813e+00_rb,4.7093e+00_rb,5.9040e+00_rb,7.0217e+00_rb,8.2062e+00_rb/) kbo(:,52,10) = (/ & &3.3213e+00_rb,4.2985e+00_rb,5.4430e+00_rb,6.5658e+00_rb,7.7730e+00_rb/) kbo(:,53,10) = (/ & &2.9730e+00_rb,3.8940e+00_rb,5.0012e+00_rb,6.1367e+00_rb,7.2957e+00_rb/) kbo(:,54,10) = (/ & &2.6494e+00_rb,3.5088e+00_rb,4.5590e+00_rb,5.7479e+00_rb,6.8609e+00_rb/) kbo(:,55,10) = (/ & &2.3517e+00_rb,3.1542e+00_rb,4.1525e+00_rb,5.3587e+00_rb,6.4637e+00_rb/) kbo(:,56,10) = (/ & &2.0870e+00_rb,2.8232e+00_rb,3.7684e+00_rb,4.9288e+00_rb,6.0659e+00_rb/) kbo(:,57,10) = (/ & &1.8716e+00_rb,2.5211e+00_rb,3.3862e+00_rb,4.4963e+00_rb,5.6364e+00_rb/) kbo(:,58,10) = (/ & &1.6996e+00_rb,2.2494e+00_rb,3.0457e+00_rb,4.0946e+00_rb,5.2813e+00_rb/) kbo(:,59,10) = (/ & &1.6125e+00_rb,2.1057e+00_rb,2.8675e+00_rb,3.8607e+00_rb,5.0173e+00_rb/) kbo(:,13,11) = (/ & &5.4280e+01_rb,5.5937e+01_rb,5.6472e+01_rb,5.6083e+01_rb,5.6645e+01_rb/) kbo(:,14,11) = (/ & &5.6104e+01_rb,5.7569e+01_rb,5.6325e+01_rb,5.6970e+01_rb,5.8322e+01_rb/) kbo(:,15,11) = (/ & &5.6157e+01_rb,5.5505e+01_rb,5.6534e+01_rb,5.8680e+01_rb,5.8495e+01_rb/) kbo(:,16,11) = (/ & &5.4215e+01_rb,5.5590e+01_rb,5.7381e+01_rb,5.6844e+01_rb,5.6502e+01_rb/) kbo(:,17,11) = (/ & &5.3917e+01_rb,5.5209e+01_rb,5.4751e+01_rb,5.5176e+01_rb,5.5535e+01_rb/) kbo(:,18,11) = (/ & &5.2925e+01_rb,5.3017e+01_rb,5.3849e+01_rb,5.4671e+01_rb,5.5470e+01_rb/) kbo(:,19,11) = (/ & &5.0412e+01_rb,5.1474e+01_rb,5.2761e+01_rb,5.3623e+01_rb,5.4522e+01_rb/) kbo(:,20,11) = (/ & &4.7799e+01_rb,4.9437e+01_rb,5.0594e+01_rb,5.1515e+01_rb,5.3379e+01_rb/) kbo(:,21,11) = (/ & &4.5510e+01_rb,4.6838e+01_rb,4.7923e+01_rb,4.9803e+01_rb,5.2087e+01_rb/) kbo(:,22,11) = (/ & &4.2197e+01_rb,4.3528e+01_rb,4.5703e+01_rb,4.8296e+01_rb,5.0603e+01_rb/) kbo(:,23,11) = (/ & &3.8776e+01_rb,4.1167e+01_rb,4.4015e+01_rb,4.6341e+01_rb,4.9195e+01_rb/) kbo(:,24,11) = (/ & &3.6077e+01_rb,3.8799e+01_rb,4.1478e+01_rb,4.4468e+01_rb,4.7105e+01_rb/) kbo(:,25,11) = (/ & &3.3423e+01_rb,3.6288e+01_rb,3.9007e+01_rb,4.1836e+01_rb,4.5174e+01_rb/) kbo(:,26,11) = (/ & &3.0575e+01_rb,3.3241e+01_rb,3.5927e+01_rb,3.9133e+01_rb,4.2785e+01_rb/) kbo(:,27,11) = (/ & &2.7764e+01_rb,3.0312e+01_rb,3.3054e+01_rb,3.6826e+01_rb,4.0509e+01_rb/) kbo(:,28,11) = (/ & &2.5413e+01_rb,2.8045e+01_rb,3.1419e+01_rb,3.5118e+01_rb,3.8747e+01_rb/) kbo(:,29,11) = (/ & &2.4096e+01_rb,2.6980e+01_rb,3.0700e+01_rb,3.4243e+01_rb,3.7699e+01_rb/) kbo(:,30,11) = (/ & &2.3140e+01_rb,2.6541e+01_rb,2.9953e+01_rb,3.3565e+01_rb,3.7298e+01_rb/) kbo(:,31,11) = (/ & &2.2574e+01_rb,2.6228e+01_rb,2.9925e+01_rb,3.3653e+01_rb,3.8032e+01_rb/) kbo(:,32,11) = (/ & &2.2078e+01_rb,2.6231e+01_rb,3.0164e+01_rb,3.4342e+01_rb,3.9067e+01_rb/) kbo(:,33,11) = (/ & &2.1802e+01_rb,2.6392e+01_rb,3.0637e+01_rb,3.5356e+01_rb,4.0173e+01_rb/) kbo(:,34,11) = (/ & &2.1886e+01_rb,2.6523e+01_rb,3.1557e+01_rb,3.6504e+01_rb,4.1183e+01_rb/) kbo(:,35,11) = (/ & &2.1287e+01_rb,2.6137e+01_rb,3.1875e+01_rb,3.7051e+01_rb,4.1397e+01_rb/) kbo(:,36,11) = (/ & &2.0396e+01_rb,2.5293e+01_rb,3.0920e+01_rb,3.6387e+01_rb,4.1546e+01_rb/) kbo(:,37,11) = (/ & &1.9398e+01_rb,2.4195e+01_rb,2.9734e+01_rb,3.5138e+01_rb,4.1598e+01_rb/) kbo(:,38,11) = (/ & &1.8580e+01_rb,2.3161e+01_rb,2.8626e+01_rb,3.3912e+01_rb,4.1158e+01_rb/) kbo(:,39,11) = (/ & &1.8482e+01_rb,2.2205e+01_rb,2.7504e+01_rb,3.3104e+01_rb,4.0527e+01_rb/) kbo(:,40,11) = (/ & &1.7984e+01_rb,2.0750e+01_rb,2.5770e+01_rb,3.1669e+01_rb,3.8818e+01_rb/) kbo(:,41,11) = (/ & &1.7355e+01_rb,1.9936e+01_rb,2.4013e+01_rb,3.0152e+01_rb,3.7102e+01_rb/) kbo(:,42,11) = (/ & &1.6681e+01_rb,1.9220e+01_rb,2.2251e+01_rb,2.8625e+01_rb,3.5420e+01_rb/) kbo(:,43,11) = (/ & &1.5870e+01_rb,1.8435e+01_rb,2.1070e+01_rb,2.6668e+01_rb,3.3375e+01_rb/) kbo(:,44,11) = (/ & &1.5165e+01_rb,1.7568e+01_rb,2.0082e+01_rb,2.4204e+01_rb,3.1050e+01_rb/) kbo(:,45,11) = (/ & &1.4453e+01_rb,1.6684e+01_rb,1.9148e+01_rb,2.2404e+01_rb,2.8741e+01_rb/) kbo(:,46,11) = (/ & &1.3674e+01_rb,1.5793e+01_rb,1.8236e+01_rb,2.1064e+01_rb,2.6017e+01_rb/) kbo(:,47,11) = (/ & &1.2730e+01_rb,1.4847e+01_rb,1.7129e+01_rb,1.9769e+01_rb,2.3301e+01_rb/) kbo(:,48,11) = (/ & &1.1966e+01_rb,1.3921e+01_rb,1.6062e+01_rb,1.8570e+01_rb,2.1519e+01_rb/) kbo(:,49,11) = (/ & &1.1256e+01_rb,1.2947e+01_rb,1.5051e+01_rb,1.7441e+01_rb,2.0164e+01_rb/) kbo(:,50,11) = (/ & &1.0630e+01_rb,1.2231e+01_rb,1.4125e+01_rb,1.6384e+01_rb,1.9019e+01_rb/) kbo(:,51,11) = (/ & &9.8987e+00_rb,1.1569e+01_rb,1.3215e+01_rb,1.5489e+01_rb,1.7851e+01_rb/) kbo(:,52,11) = (/ & &9.1901e+00_rb,1.0969e+01_rb,1.2500e+01_rb,1.4560e+01_rb,1.6807e+01_rb/) kbo(:,53,11) = (/ & &8.5518e+00_rb,1.0279e+01_rb,1.1856e+01_rb,1.3672e+01_rb,1.5980e+01_rb/) kbo(:,54,11) = (/ & &7.8898e+00_rb,9.6237e+00_rb,1.1322e+01_rb,1.2850e+01_rb,1.5109e+01_rb/) kbo(:,55,11) = (/ & &7.2910e+00_rb,9.0794e+00_rb,1.0802e+01_rb,1.2222e+01_rb,1.4316e+01_rb/) kbo(:,56,11) = (/ & &6.6231e+00_rb,8.4503e+00_rb,1.0147e+01_rb,1.1641e+01_rb,1.3475e+01_rb/) kbo(:,57,11) = (/ & &5.9797e+00_rb,7.8956e+00_rb,9.5656e+00_rb,1.1172e+01_rb,1.2770e+01_rb/) kbo(:,58,11) = (/ & &5.3792e+00_rb,7.3070e+00_rb,9.0406e+00_rb,1.0661e+01_rb,1.2099e+01_rb/) kbo(:,59,11) = (/ & &5.1187e+00_rb,7.0446e+00_rb,8.7908e+00_rb,1.0434e+01_rb,1.1861e+01_rb/) kbo(:,13,12) = (/ & &8.5594e+01_rb,8.5081e+01_rb,8.4548e+01_rb,8.3781e+01_rb,8.2265e+01_rb/) kbo(:,14,12) = (/ & &8.5160e+01_rb,8.5106e+01_rb,8.5561e+01_rb,8.4404e+01_rb,8.6474e+01_rb/) kbo(:,15,12) = (/ & &8.6225e+01_rb,8.6934e+01_rb,8.6406e+01_rb,8.7005e+01_rb,8.9359e+01_rb/) kbo(:,16,12) = (/ & &8.5430e+01_rb,8.5513e+01_rb,8.6639e+01_rb,9.0490e+01_rb,9.3290e+01_rb/) kbo(:,17,12) = (/ & &8.2443e+01_rb,8.4907e+01_rb,8.8384e+01_rb,9.0076e+01_rb,9.1263e+01_rb/) kbo(:,18,12) = (/ & &8.5149e+01_rb,8.7540e+01_rb,8.9291e+01_rb,9.0823e+01_rb,9.2775e+01_rb/) kbo(:,19,12) = (/ & &8.8628e+01_rb,9.0598e+01_rb,9.2322e+01_rb,9.4441e+01_rb,9.6854e+01_rb/) kbo(:,20,12) = (/ & &8.9356e+01_rb,9.1085e+01_rb,9.4127e+01_rb,9.6914e+01_rb,9.9051e+01_rb/) kbo(:,21,12) = (/ & &8.7608e+01_rb,9.1521e+01_rb,9.5537e+01_rb,9.7630e+01_rb,9.9135e+01_rb/) kbo(:,22,12) = (/ & &8.6703e+01_rb,9.1359e+01_rb,9.3725e+01_rb,9.6097e+01_rb,9.8620e+01_rb/) kbo(:,23,12) = (/ & &8.4986e+01_rb,8.8658e+01_rb,9.1547e+01_rb,9.4897e+01_rb,9.8884e+01_rb/) kbo(:,24,12) = (/ & &8.1861e+01_rb,8.5495e+01_rb,8.9569e+01_rb,9.4335e+01_rb,9.9177e+01_rb/) kbo(:,25,12) = (/ & &7.8144e+01_rb,8.2621e+01_rb,8.8221e+01_rb,9.4555e+01_rb,9.9082e+01_rb/) kbo(:,26,12) = (/ & &7.5558e+01_rb,8.1550e+01_rb,8.8515e+01_rb,9.4800e+01_rb,1.0018e+02_rb/) kbo(:,27,12) = (/ & &7.4385e+01_rb,8.1401e+01_rb,8.8755e+01_rb,9.4867e+01_rb,9.9863e+01_rb/) kbo(:,28,12) = (/ & &7.2786e+01_rb,8.0630e+01_rb,8.7375e+01_rb,9.3177e+01_rb,9.7577e+01_rb/) kbo(:,29,12) = (/ & &7.2494e+01_rb,7.9832e+01_rb,8.6004e+01_rb,9.1472e+01_rb,9.7317e+01_rb/) kbo(:,30,12) = (/ & &7.1849e+01_rb,7.8701e+01_rb,8.4991e+01_rb,9.0891e+01_rb,9.7338e+01_rb/) kbo(:,31,12) = (/ & &7.1241e+01_rb,7.7805e+01_rb,8.4010e+01_rb,9.1171e+01_rb,1.0059e+02_rb/) kbo(:,32,12) = (/ & &7.0698e+01_rb,7.7293e+01_rb,8.4547e+01_rb,9.6001e+01_rb,1.0686e+02_rb/) kbo(:,33,12) = (/ & &7.0154e+01_rb,7.8613e+01_rb,9.0857e+01_rb,1.0245e+02_rb,1.1312e+02_rb/) kbo(:,34,12) = (/ & &7.1031e+01_rb,8.3561e+01_rb,9.6187e+01_rb,1.0815e+02_rb,1.1901e+02_rb/) kbo(:,35,12) = (/ & &7.5071e+01_rb,8.8162e+01_rb,1.0114e+02_rb,1.1296e+02_rb,1.2569e+02_rb/) kbo(:,36,12) = (/ & &7.8029e+01_rb,9.1692e+01_rb,1.0504e+02_rb,1.1849e+02_rb,1.3079e+02_rb/) kbo(:,37,12) = (/ & &7.7450e+01_rb,9.1080e+01_rb,1.0499e+02_rb,1.1872e+02_rb,1.3083e+02_rb/) kbo(:,38,12) = (/ & &7.6390e+01_rb,9.0295e+01_rb,1.0451e+02_rb,1.1896e+02_rb,1.3094e+02_rb/) kbo(:,39,12) = (/ & &7.4846e+01_rb,8.9967e+01_rb,1.0468e+02_rb,1.1884e+02_rb,1.3087e+02_rb/) kbo(:,40,12) = (/ & &7.0636e+01_rb,8.6765e+01_rb,1.0145e+02_rb,1.1588e+02_rb,1.2805e+02_rb/) kbo(:,41,12) = (/ & &6.6305e+01_rb,8.2647e+01_rb,9.8224e+01_rb,1.1219e+02_rb,1.2504e+02_rb/) kbo(:,42,12) = (/ & &6.2198e+01_rb,7.8258e+01_rb,9.4811e+01_rb,1.0862e+02_rb,1.2155e+02_rb/) kbo(:,43,12) = (/ & &5.7303e+01_rb,7.2832e+01_rb,8.9604e+01_rb,1.0357e+02_rb,1.1674e+02_rb/) kbo(:,44,12) = (/ & &5.2689e+01_rb,6.6907e+01_rb,8.3558e+01_rb,9.8406e+01_rb,1.1125e+02_rb/) kbo(:,45,12) = (/ & &4.8182e+01_rb,6.1264e+01_rb,7.7478e+01_rb,9.3228e+01_rb,1.0590e+02_rb/) kbo(:,46,12) = (/ & &4.3386e+01_rb,5.6258e+01_rb,7.0871e+01_rb,8.6833e+01_rb,1.0102e+02_rb/) kbo(:,47,12) = (/ & &3.8704e+01_rb,5.0818e+01_rb,6.4039e+01_rb,7.9666e+01_rb,9.5229e+01_rb/) kbo(:,48,12) = (/ & &3.3968e+01_rb,4.5364e+01_rb,5.8393e+01_rb,7.2512e+01_rb,8.8396e+01_rb/) kbo(:,49,12) = (/ & &2.9879e+01_rb,4.0583e+01_rb,5.2774e+01_rb,6.5752e+01_rb,8.1056e+01_rb/) kbo(:,50,12) = (/ & &2.7602e+01_rb,3.6039e+01_rb,4.7664e+01_rb,6.0460e+01_rb,7.4304e+01_rb/) kbo(:,51,12) = (/ & &2.6051e+01_rb,3.1889e+01_rb,4.2974e+01_rb,5.5102e+01_rb,6.8169e+01_rb/) kbo(:,52,12) = (/ & &2.4438e+01_rb,2.8876e+01_rb,3.8469e+01_rb,5.0102e+01_rb,6.2912e+01_rb/) kbo(:,53,12) = (/ & &2.2776e+01_rb,2.7295e+01_rb,3.4271e+01_rb,4.5285e+01_rb,5.7384e+01_rb/) kbo(:,54,12) = (/ & &2.1249e+01_rb,2.5821e+01_rb,3.0686e+01_rb,4.1216e+01_rb,5.2669e+01_rb/) kbo(:,55,12) = (/ & &2.0155e+01_rb,2.4296e+01_rb,2.8676e+01_rb,3.7338e+01_rb,4.8393e+01_rb/) kbo(:,56,12) = (/ & &1.8949e+01_rb,2.2808e+01_rb,2.7284e+01_rb,3.3732e+01_rb,4.4387e+01_rb/) kbo(:,57,12) = (/ & &1.7651e+01_rb,2.1401e+01_rb,2.5896e+01_rb,3.0538e+01_rb,4.0399e+01_rb/) kbo(:,58,12) = (/ & &1.6454e+01_rb,2.0257e+01_rb,2.4400e+01_rb,2.8791e+01_rb,3.6888e+01_rb/) kbo(:,59,12) = (/ & &1.6078e+01_rb,1.9650e+01_rb,2.3686e+01_rb,2.8130e+01_rb,3.5337e+01_rb/) kbo(:,13,13) = (/ & &1.6179e+02_rb,1.5851e+02_rb,1.5620e+02_rb,1.5532e+02_rb,1.5316e+02_rb/) kbo(:,14,13) = (/ & &1.7476e+02_rb,1.7156e+02_rb,1.7068e+02_rb,1.6952e+02_rb,1.6413e+02_rb/) kbo(:,15,13) = (/ & &1.8520e+02_rb,1.8372e+02_rb,1.8384e+02_rb,1.8019e+02_rb,1.7522e+02_rb/) kbo(:,16,13) = (/ & &1.9454e+02_rb,1.9542e+02_rb,1.9248e+02_rb,1.8773e+02_rb,1.8813e+02_rb/) kbo(:,17,13) = (/ & &2.0028e+02_rb,1.9793e+02_rb,1.9596e+02_rb,1.9785e+02_rb,2.0205e+02_rb/) kbo(:,18,13) = (/ & &1.9037e+02_rb,1.9170e+02_rb,1.9555e+02_rb,2.0164e+02_rb,2.0309e+02_rb/) kbo(:,19,13) = (/ & &1.7958e+02_rb,1.8623e+02_rb,1.9196e+02_rb,1.9543e+02_rb,1.9670e+02_rb/) kbo(:,20,13) = (/ & &1.7423e+02_rb,1.8217e+02_rb,1.8721e+02_rb,1.9064e+02_rb,1.9763e+02_rb/) kbo(:,21,13) = (/ & &1.7205e+02_rb,1.7751e+02_rb,1.8259e+02_rb,1.9102e+02_rb,1.9985e+02_rb/) kbo(:,22,13) = (/ & &1.7310e+02_rb,1.7837e+02_rb,1.8681e+02_rb,1.9582e+02_rb,2.0409e+02_rb/) kbo(:,23,13) = (/ & &1.7691e+02_rb,1.8432e+02_rb,1.9387e+02_rb,2.0103e+02_rb,2.1026e+02_rb/) kbo(:,24,13) = (/ & &1.8088e+02_rb,1.8942e+02_rb,1.9891e+02_rb,2.0699e+02_rb,2.1646e+02_rb/) kbo(:,25,13) = (/ & &1.8492e+02_rb,1.9434e+02_rb,2.0408e+02_rb,2.1437e+02_rb,2.2277e+02_rb/) kbo(:,26,13) = (/ & &1.8625e+02_rb,1.9837e+02_rb,2.0945e+02_rb,2.1941e+02_rb,2.3087e+02_rb/) kbo(:,27,13) = (/ & &1.9010e+02_rb,2.0364e+02_rb,2.1615e+02_rb,2.2715e+02_rb,2.4079e+02_rb/) kbo(:,28,13) = (/ & &1.9712e+02_rb,2.1090e+02_rb,2.2463e+02_rb,2.3844e+02_rb,2.5439e+02_rb/) kbo(:,29,13) = (/ & &2.0453e+02_rb,2.1990e+02_rb,2.3570e+02_rb,2.5241e+02_rb,2.6509e+02_rb/) kbo(:,30,13) = (/ & &2.1308e+02_rb,2.3113e+02_rb,2.4908e+02_rb,2.6461e+02_rb,2.7735e+02_rb/) kbo(:,31,13) = (/ & &2.2395e+02_rb,2.4239e+02_rb,2.6296e+02_rb,2.7710e+02_rb,2.8754e+02_rb/) kbo(:,32,13) = (/ & &2.3649e+02_rb,2.5891e+02_rb,2.7696e+02_rb,2.8809e+02_rb,2.9409e+02_rb/) kbo(:,33,13) = (/ & &2.5295e+02_rb,2.7352e+02_rb,2.8553e+02_rb,2.9364e+02_rb,3.0036e+02_rb/) kbo(:,34,13) = (/ & &2.6621e+02_rb,2.8028e+02_rb,2.9209e+02_rb,2.9925e+02_rb,3.0905e+02_rb/) kbo(:,35,13) = (/ & &2.7274e+02_rb,2.8720e+02_rb,2.9678e+02_rb,3.0598e+02_rb,3.1573e+02_rb/) kbo(:,36,13) = (/ & &2.7668e+02_rb,2.9126e+02_rb,3.0131e+02_rb,3.1293e+02_rb,3.2456e+02_rb/) kbo(:,37,13) = (/ & &2.7566e+02_rb,2.9125e+02_rb,3.0241e+02_rb,3.1513e+02_rb,3.2636e+02_rb/) kbo(:,38,13) = (/ & &2.7524e+02_rb,2.9197e+02_rb,3.0411e+02_rb,3.1688e+02_rb,3.2854e+02_rb/) kbo(:,39,13) = (/ & &2.7502e+02_rb,2.9241e+02_rb,3.0488e+02_rb,3.1825e+02_rb,3.3122e+02_rb/) kbo(:,40,13) = (/ & &2.7103e+02_rb,2.8939e+02_rb,3.0276e+02_rb,3.1510e+02_rb,3.2909e+02_rb/) kbo(:,41,13) = (/ & &2.6612e+02_rb,2.8502e+02_rb,2.9924e+02_rb,3.1164e+02_rb,3.2628e+02_rb/) kbo(:,42,13) = (/ & &2.6020e+02_rb,2.7999e+02_rb,2.9554e+02_rb,3.0769e+02_rb,3.2142e+02_rb/) kbo(:,43,13) = (/ & &2.5242e+02_rb,2.7289e+02_rb,2.9079e+02_rb,3.0394e+02_rb,3.1657e+02_rb/) kbo(:,44,13) = (/ & &2.4141e+02_rb,2.6492e+02_rb,2.8389e+02_rb,2.9851e+02_rb,3.1003e+02_rb/) kbo(:,45,13) = (/ & &2.3199e+02_rb,2.5697e+02_rb,2.7534e+02_rb,2.9238e+02_rb,3.0488e+02_rb/) kbo(:,46,13) = (/ & &2.2099e+02_rb,2.4628e+02_rb,2.6862e+02_rb,2.8625e+02_rb,2.9891e+02_rb/) kbo(:,47,13) = (/ & &2.0813e+02_rb,2.3515e+02_rb,2.5936e+02_rb,2.7698e+02_rb,2.9245e+02_rb/) kbo(:,48,13) = (/ & &1.9611e+02_rb,2.2305e+02_rb,2.4767e+02_rb,2.6948e+02_rb,2.8622e+02_rb/) kbo(:,49,13) = (/ & &1.8313e+02_rb,2.1047e+02_rb,2.3654e+02_rb,2.6025e+02_rb,2.7775e+02_rb/) kbo(:,50,13) = (/ & &1.6903e+02_rb,1.9938e+02_rb,2.2519e+02_rb,2.4907e+02_rb,2.7015e+02_rb/) kbo(:,51,13) = (/ & &1.5421e+02_rb,1.8800e+02_rb,2.1428e+02_rb,2.3876e+02_rb,2.6215e+02_rb/) kbo(:,52,13) = (/ & &1.4056e+02_rb,1.7488e+02_rb,2.0358e+02_rb,2.2873e+02_rb,2.5153e+02_rb/) kbo(:,53,13) = (/ & &1.2774e+02_rb,1.6089e+02_rb,1.9159e+02_rb,2.1758e+02_rb,2.4063e+02_rb/) kbo(:,54,13) = (/ & &1.1505e+02_rb,1.4830e+02_rb,1.8148e+02_rb,2.0706e+02_rb,2.3185e+02_rb/) kbo(:,55,13) = (/ & &1.0455e+02_rb,1.3680e+02_rb,1.7009e+02_rb,1.9749e+02_rb,2.2149e+02_rb/) kbo(:,56,13) = (/ & &9.5380e+01_rb,1.2458e+02_rb,1.5763e+02_rb,1.8850e+02_rb,2.1165e+02_rb/) kbo(:,57,13) = (/ & &8.6328e+01_rb,1.1370e+02_rb,1.4580e+02_rb,1.7843e+02_rb,2.0341e+02_rb/) kbo(:,58,13) = (/ & &7.7503e+01_rb,1.0463e+02_rb,1.3405e+02_rb,1.6684e+02_rb,1.9463e+02_rb/) kbo(:,59,13) = (/ & &7.3613e+01_rb,1.0087e+02_rb,1.2946e+02_rb,1.6169e+02_rb,1.9043e+02_rb/) kbo(:,13,14) = (/ & &2.3384e+02_rb,2.3134e+02_rb,2.2678e+02_rb,2.2105e+02_rb,2.2130e+02_rb/) kbo(:,14,14) = (/ & &2.6370e+02_rb,2.6091e+02_rb,2.5467e+02_rb,2.5118e+02_rb,2.4954e+02_rb/) kbo(:,15,14) = (/ & &2.9591e+02_rb,2.9159e+02_rb,2.8464e+02_rb,2.8328e+02_rb,2.7984e+02_rb/) kbo(:,16,14) = (/ & &3.2944e+02_rb,3.2156e+02_rb,3.1816e+02_rb,3.1521e+02_rb,3.0449e+02_rb/) kbo(:,17,14) = (/ & &3.5907e+02_rb,3.5209e+02_rb,3.5084e+02_rb,3.4076e+02_rb,3.2553e+02_rb/) kbo(:,18,14) = (/ & &3.8932e+02_rb,3.8700e+02_rb,3.7610e+02_rb,3.6121e+02_rb,3.5570e+02_rb/) kbo(:,19,14) = (/ & &4.2093e+02_rb,4.0885e+02_rb,3.9722e+02_rb,3.9095e+02_rb,3.9197e+02_rb/) kbo(:,20,14) = (/ & &4.4653e+02_rb,4.3247e+02_rb,4.2391e+02_rb,4.2574e+02_rb,4.2089e+02_rb/) kbo(:,21,14) = (/ & &4.6745e+02_rb,4.5974e+02_rb,4.5782e+02_rb,4.5591e+02_rb,4.4616e+02_rb/) kbo(:,22,14) = (/ & &4.8396e+02_rb,4.8410e+02_rb,4.8532e+02_rb,4.7987e+02_rb,4.6662e+02_rb/) kbo(:,23,14) = (/ & &5.0568e+02_rb,5.0696e+02_rb,5.0168e+02_rb,4.9917e+02_rb,4.8477e+02_rb/) kbo(:,24,14) = (/ & &5.2372e+02_rb,5.2925e+02_rb,5.2568e+02_rb,5.1576e+02_rb,5.0916e+02_rb/) kbo(:,25,14) = (/ & &5.4773e+02_rb,5.4681e+02_rb,5.4261e+02_rb,5.3467e+02_rb,5.2926e+02_rb/) kbo(:,26,14) = (/ & &5.6992e+02_rb,5.6525e+02_rb,5.5986e+02_rb,5.5383e+02_rb,5.4189e+02_rb/) kbo(:,27,14) = (/ & &5.8413e+02_rb,5.7753e+02_rb,5.7399e+02_rb,5.6915e+02_rb,5.5630e+02_rb/) kbo(:,28,14) = (/ & &5.9410e+02_rb,5.9489e+02_rb,5.8870e+02_rb,5.8276e+02_rb,5.7225e+02_rb/) kbo(:,29,14) = (/ & &6.0586e+02_rb,6.0400e+02_rb,6.0319e+02_rb,5.9066e+02_rb,5.8348e+02_rb/) kbo(:,30,14) = (/ & &6.2023e+02_rb,6.2112e+02_rb,6.1269e+02_rb,6.0507e+02_rb,5.8831e+02_rb/) kbo(:,31,14) = (/ & &6.3249e+02_rb,6.3678e+02_rb,6.2186e+02_rb,6.1145e+02_rb,5.9841e+02_rb/) kbo(:,32,14) = (/ & &6.5129e+02_rb,6.4085e+02_rb,6.3065e+02_rb,6.1664e+02_rb,6.0677e+02_rb/) kbo(:,33,14) = (/ & &6.5648e+02_rb,6.4719e+02_rb,6.3483e+02_rb,6.2799e+02_rb,6.1689e+02_rb/) kbo(:,34,14) = (/ & &6.6261e+02_rb,6.5214e+02_rb,6.4542e+02_rb,6.3852e+02_rb,6.1993e+02_rb/) kbo(:,35,14) = (/ & &6.7078e+02_rb,6.6309e+02_rb,6.5953e+02_rb,6.4635e+02_rb,6.1863e+02_rb/) kbo(:,36,14) = (/ & &6.8510e+02_rb,6.7944e+02_rb,6.7467e+02_rb,6.5682e+02_rb,6.1696e+02_rb/) kbo(:,37,14) = (/ & &6.9465e+02_rb,6.8814e+02_rb,6.8342e+02_rb,6.6410e+02_rb,6.2485e+02_rb/) kbo(:,38,14) = (/ & &7.0151e+02_rb,6.9441e+02_rb,6.9017e+02_rb,6.7086e+02_rb,6.3205e+02_rb/) kbo(:,39,14) = (/ & &7.0868e+02_rb,7.0183e+02_rb,6.9685e+02_rb,6.7866e+02_rb,6.3921e+02_rb/) kbo(:,40,14) = (/ & &7.1075e+02_rb,7.0438e+02_rb,7.0305e+02_rb,6.8866e+02_rb,6.5105e+02_rb/) kbo(:,41,14) = (/ & &7.0971e+02_rb,7.0837e+02_rb,7.0822e+02_rb,6.9421e+02_rb,6.5990e+02_rb/) kbo(:,42,14) = (/ & &7.1142e+02_rb,7.1113e+02_rb,7.1018e+02_rb,6.9720e+02_rb,6.7342e+02_rb/) kbo(:,43,14) = (/ & &7.1363e+02_rb,7.1120e+02_rb,7.0210e+02_rb,7.0055e+02_rb,6.8488e+02_rb/) kbo(:,44,14) = (/ & &7.1148e+02_rb,7.0646e+02_rb,7.0565e+02_rb,7.0398e+02_rb,6.8877e+02_rb/) kbo(:,45,14) = (/ & &7.0895e+02_rb,7.0958e+02_rb,7.0605e+02_rb,6.9798e+02_rb,6.9240e+02_rb/) kbo(:,46,14) = (/ & &6.9950e+02_rb,7.0866e+02_rb,7.0226e+02_rb,6.9819e+02_rb,6.9658e+02_rb/) kbo(:,47,14) = (/ & &6.8721e+02_rb,7.0244e+02_rb,7.0188e+02_rb,6.9806e+02_rb,6.9161e+02_rb/) kbo(:,48,14) = (/ & &6.8035e+02_rb,6.9565e+02_rb,6.9976e+02_rb,6.9387e+02_rb,6.8913e+02_rb/) kbo(:,49,14) = (/ & &6.6852e+02_rb,6.8533e+02_rb,6.9809e+02_rb,6.9470e+02_rb,6.8647e+02_rb/) kbo(:,50,14) = (/ & &6.5815e+02_rb,6.7824e+02_rb,6.9156e+02_rb,6.9473e+02_rb,6.8677e+02_rb/) kbo(:,51,14) = (/ & &6.5633e+02_rb,6.6741e+02_rb,6.8334e+02_rb,6.9427e+02_rb,6.8718e+02_rb/) kbo(:,52,14) = (/ & &6.4799e+02_rb,6.6007e+02_rb,6.7742e+02_rb,6.8641e+02_rb,6.8886e+02_rb/) kbo(:,53,14) = (/ & &6.3478e+02_rb,6.5848e+02_rb,6.6595e+02_rb,6.8004e+02_rb,6.8977e+02_rb/) kbo(:,54,14) = (/ & &6.3075e+02_rb,6.5140e+02_rb,6.6048e+02_rb,6.7510e+02_rb,6.7898e+02_rb/) kbo(:,55,14) = (/ & &6.2053e+02_rb,6.3982e+02_rb,6.5909e+02_rb,6.6252e+02_rb,6.7620e+02_rb/) kbo(:,56,14) = (/ & &6.0488e+02_rb,6.3692e+02_rb,6.5472e+02_rb,6.5961e+02_rb,6.7144e+02_rb/) kbo(:,57,14) = (/ & &5.9240e+02_rb,6.2947e+02_rb,6.4320e+02_rb,6.5881e+02_rb,6.5824e+02_rb/) kbo(:,58,14) = (/ & &5.7619e+02_rb,6.1537e+02_rb,6.4199e+02_rb,6.5527e+02_rb,6.5777e+02_rb/) kbo(:,59,14) = (/ & &5.7161e+02_rb,6.1151e+02_rb,6.3977e+02_rb,6.4718e+02_rb,6.5762e+02_rb/) kbo(:,13,15) = (/ & &3.5083e+02_rb,3.4274e+02_rb,3.3588e+02_rb,3.2964e+02_rb,3.0980e+02_rb/) kbo(:,14,15) = (/ & &4.0382e+02_rb,3.9443e+02_rb,3.8616e+02_rb,3.7379e+02_rb,3.5621e+02_rb/) kbo(:,15,15) = (/ & &4.6271e+02_rb,4.5170e+02_rb,4.4204e+02_rb,4.2053e+02_rb,4.0520e+02_rb/) kbo(:,16,15) = (/ & &5.2768e+02_rb,5.1495e+02_rb,4.9504e+02_rb,4.7377e+02_rb,4.6833e+02_rb/) kbo(:,17,15) = (/ & &5.9879e+02_rb,5.8378e+02_rb,5.5161e+02_rb,5.3753e+02_rb,5.3799e+02_rb/) kbo(:,18,15) = (/ & &6.7489e+02_rb,6.3850e+02_rb,6.1688e+02_rb,6.0987e+02_rb,5.7677e+02_rb/) kbo(:,19,15) = (/ & &7.3779e+02_rb,7.0513e+02_rb,6.9510e+02_rb,6.5830e+02_rb,6.0487e+02_rb/) kbo(:,20,15) = (/ & &8.1079e+02_rb,7.9490e+02_rb,7.5998e+02_rb,6.9897e+02_rb,6.4843e+02_rb/) kbo(:,21,15) = (/ & &8.8426e+02_rb,8.6003e+02_rb,8.0304e+02_rb,7.3384e+02_rb,6.9837e+02_rb/) kbo(:,22,15) = (/ & &9.6812e+02_rb,9.1088e+02_rb,8.3391e+02_rb,7.8330e+02_rb,7.5669e+02_rb/) kbo(:,23,15) = (/ & &1.0128e+03_rb,9.4218e+02_rb,8.8720e+02_rb,8.2530e+02_rb,7.8833e+02_rb/) kbo(:,24,15) = (/ & &1.0622e+03_rb,9.7878e+02_rb,9.1791e+02_rb,8.7765e+02_rb,7.9731e+02_rb/) kbo(:,25,15) = (/ & &1.0853e+03_rb,1.0245e+03_rb,9.5328e+02_rb,8.9340e+02_rb,8.1721e+02_rb/) kbo(:,26,15) = (/ & &1.1200e+03_rb,1.0458e+03_rb,9.9235e+02_rb,9.0775e+02_rb,8.4493e+02_rb/) kbo(:,27,15) = (/ & &1.1556e+03_rb,1.0812e+03_rb,1.0090e+03_rb,9.2343e+02_rb,8.1758e+02_rb/) kbo(:,28,15) = (/ & &1.1865e+03_rb,1.1049e+03_rb,1.0073e+03_rb,9.1620e+02_rb,7.7173e+02_rb/) kbo(:,29,15) = (/ & &1.1906e+03_rb,1.1065e+03_rb,1.0028e+03_rb,8.7527e+02_rb,7.2650e+02_rb/) kbo(:,30,15) = (/ & &1.1992e+03_rb,1.0831e+03_rb,9.6830e+02_rb,8.1150e+02_rb,6.8040e+02_rb/) kbo(:,31,15) = (/ & &1.1794e+03_rb,1.0618e+03_rb,9.0601e+02_rb,7.5400e+02_rb,6.0274e+02_rb/) kbo(:,32,15) = (/ & &1.1491e+03_rb,9.9644e+02_rb,8.3044e+02_rb,6.7287e+02_rb,5.1890e+02_rb/) kbo(:,33,15) = (/ & &1.0978e+03_rb,9.1760e+02_rb,7.5228e+02_rb,5.8187e+02_rb,4.2649e+02_rb/) kbo(:,34,15) = (/ & &1.0237e+03_rb,8.4870e+02_rb,6.6311e+02_rb,4.9111e+02_rb,3.3958e+02_rb/) kbo(:,35,15) = (/ & &9.6010e+02_rb,7.7009e+02_rb,5.7949e+02_rb,4.1414e+02_rb,2.7668e+02_rb/) kbo(:,36,15) = (/ & &9.0171e+02_rb,7.0086e+02_rb,5.0886e+02_rb,3.3823e+02_rb,2.2240e+02_rb/) kbo(:,37,15) = (/ & &9.0464e+02_rb,7.0259e+02_rb,5.0334e+02_rb,3.3120e+02_rb,2.1250e+02_rb/) kbo(:,38,15) = (/ & &9.1272e+02_rb,7.0777e+02_rb,5.0236e+02_rb,3.2627e+02_rb,2.0281e+02_rb/) kbo(:,39,15) = (/ & &9.1592e+02_rb,7.0699e+02_rb,5.0029e+02_rb,3.1832e+02_rb,1.8984e+02_rb/) kbo(:,40,15) = (/ & &9.7111e+02_rb,7.5888e+02_rb,5.4218e+02_rb,3.5289e+02_rb,2.1710e+02_rb/) kbo(:,41,15) = (/ & &1.0392e+03_rb,8.1334e+02_rb,5.9329e+02_rb,4.0507e+02_rb,2.5679e+02_rb/) kbo(:,42,15) = (/ & &1.1018e+03_rb,8.7332e+02_rb,6.5360e+02_rb,4.6461e+02_rb,2.9410e+02_rb/) kbo(:,43,15) = (/ & &1.1780e+03_rb,9.5750e+02_rb,7.5295e+02_rb,5.3640e+02_rb,3.4968e+02_rb/) kbo(:,44,15) = (/ & &1.2774e+03_rb,1.0610e+03_rb,8.3382e+02_rb,6.1903e+02_rb,4.3881e+02_rb/) kbo(:,45,15) = (/ & &1.3696e+03_rb,1.1411e+03_rb,9.2825e+02_rb,7.2390e+02_rb,5.2087e+02_rb/) kbo(:,46,15) = (/ & &1.4458e+03_rb,1.2392e+03_rb,1.0284e+03_rb,8.1462e+02_rb,6.0446e+02_rb/) kbo(:,47,15) = (/ & &1.5185e+03_rb,1.3558e+03_rb,1.1323e+03_rb,9.2353e+02_rb,7.1923e+02_rb/) kbo(:,48,15) = (/ & &1.5480e+03_rb,1.4278e+03_rb,1.2433e+03_rb,1.0338e+03_rb,8.2416e+02_rb/) kbo(:,49,15) = (/ & &1.6321e+03_rb,1.4959e+03_rb,1.3391e+03_rb,1.1340e+03_rb,9.3754e+02_rb/) kbo(:,50,15) = (/ & &1.7049e+03_rb,1.5268e+03_rb,1.4037e+03_rb,1.2337e+03_rb,1.0324e+03_rb/) kbo(:,51,15) = (/ & &1.7473e+03_rb,1.6024e+03_rb,1.4662e+03_rb,1.3130e+03_rb,1.1235e+03_rb/) kbo(:,52,15) = (/ & &1.7742e+03_rb,1.6697e+03_rb,1.4942e+03_rb,1.3753e+03_rb,1.2160e+03_rb/) kbo(:,53,15) = (/ & &1.8257e+03_rb,1.7098e+03_rb,1.5772e+03_rb,1.4297e+03_rb,1.2866e+03_rb/) kbo(:,54,15) = (/ & &1.8238e+03_rb,1.7301e+03_rb,1.6290e+03_rb,1.4640e+03_rb,1.3508e+03_rb/) kbo(:,55,15) = (/ & &1.8598e+03_rb,1.7789e+03_rb,1.6666e+03_rb,1.5389e+03_rb,1.3930e+03_rb/) kbo(:,56,15) = (/ & &1.9305e+03_rb,1.7834e+03_rb,1.6800e+03_rb,1.5831e+03_rb,1.4252e+03_rb/) kbo(:,57,15) = (/ & &1.9902e+03_rb,1.8099e+03_rb,1.7296e+03_rb,1.6197e+03_rb,1.4994e+03_rb/) kbo(:,58,15) = (/ & &2.0569e+03_rb,1.8785e+03_rb,1.7252e+03_rb,1.6299e+03_rb,1.5366e+03_rb/) kbo(:,59,15) = (/ & &2.0792e+03_rb,1.9024e+03_rb,1.7290e+03_rb,1.6559e+03_rb,1.5493e+03_rb/) kbo(:,13,16) = (/ & &5.7074e+02_rb,5.5713e+02_rb,5.4253e+02_rb,5.2721e+02_rb,5.1131e+02_rb/) kbo(:,14,16) = (/ & &6.6774e+02_rb,6.5027e+02_rb,6.3161e+02_rb,6.1261e+02_rb,5.9377e+02_rb/) kbo(:,15,16) = (/ & &7.7763e+02_rb,7.5535e+02_rb,7.3247e+02_rb,7.0914e+02_rb,6.8554e+02_rb/) kbo(:,16,16) = (/ & &9.0056e+02_rb,8.7306e+02_rb,8.4456e+02_rb,8.1516e+02_rb,7.0895e+02_rb/) kbo(:,17,16) = (/ & &1.0366e+03_rb,1.0015e+03_rb,9.6519e+02_rb,8.8128e+02_rb,7.1380e+02_rb/) kbo(:,18,16) = (/ & &1.1817e+03_rb,1.1369e+03_rb,1.0597e+03_rb,8.5644e+02_rb,7.3707e+02_rb/) kbo(:,19,16) = (/ & &1.3316e+03_rb,1.2750e+03_rb,1.0321e+03_rb,8.8674e+02_rb,7.7129e+02_rb/) kbo(:,20,16) = (/ & &1.4803e+03_rb,1.2710e+03_rb,1.0855e+03_rb,9.4408e+02_rb,7.2356e+02_rb/) kbo(:,21,16) = (/ & &1.6247e+03_rb,1.3272e+03_rb,1.1530e+03_rb,9.8338e+02_rb,6.9198e+02_rb/) kbo(:,22,16) = (/ & &1.6008e+03_rb,1.3778e+03_rb,1.2081e+03_rb,9.0370e+02_rb,5.5641e+02_rb/) kbo(:,23,16) = (/ & &1.6342e+03_rb,1.4243e+03_rb,1.1304e+03_rb,8.5528e+02_rb,4.9240e+02_rb/) kbo(:,24,16) = (/ & &1.6690e+03_rb,1.4128e+03_rb,1.0773e+03_rb,6.8055e+02_rb,4.3204e+02_rb/) kbo(:,25,16) = (/ & &1.6932e+03_rb,1.3171e+03_rb,9.9569e+02_rb,5.6924e+02_rb,2.7405e+02_rb/) kbo(:,26,16) = (/ & &1.5997e+03_rb,1.2565e+03_rb,7.2147e+02_rb,4.1508e+02_rb,1.6363e+00_rb/) kbo(:,27,16) = (/ & &1.4709e+03_rb,1.0620e+03_rb,5.5367e+02_rb,1.6801e+02_rb,1.7711e+00_rb/) kbo(:,28,16) = (/ & &1.2868e+03_rb,7.4225e+02_rb,4.1091e+02_rb,1.3979e+00_rb,1.9138e+00_rb/) kbo(:,29,16) = (/ & &1.1046e+03_rb,5.7327e+02_rb,1.1435e+02_rb,1.5227e+00_rb,2.0690e+00_rb/) kbo(:,30,16) = (/ & &7.5951e+02_rb,3.1070e+02_rb,1.1800e+00_rb,1.6572e+00_rb,2.2234e+00_rb/) kbo(:,31,16) = (/ & &5.2269e+02_rb,8.9357e-01_rb,1.2993e+00_rb,1.7936e+00_rb,2.3615e+00_rb/) kbo(:,32,16) = (/ & &1.3504e+02_rb,9.8754e-01_rb,1.4263e+00_rb,1.9479e+00_rb,2.5792e+00_rb/) kbo(:,33,16) = (/ & &7.3408e-01_rb,1.0937e+00_rb,1.5601e+00_rb,2.1018e+00_rb,2.7689e+00_rb/) kbo(:,34,16) = (/ & &8.0973e-01_rb,1.1916e+00_rb,1.6719e+00_rb,2.2462e+00_rb,2.9376e+00_rb/) kbo(:,35,16) = (/ & &8.5624e-01_rb,1.2515e+00_rb,1.7457e+00_rb,2.3340e+00_rb,3.0393e+00_rb/) kbo(:,36,16) = (/ & &8.6582e-01_rb,1.2640e+00_rb,1.7620e+00_rb,2.3537e+00_rb,3.0624e+00_rb/) kbo(:,37,16) = (/ & &8.2392e-01_rb,1.2109e+00_rb,1.6970e+00_rb,2.2619e+00_rb,2.9651e+00_rb/) kbo(:,38,16) = (/ & &7.7820e-01_rb,1.1515e+00_rb,1.6284e+00_rb,2.1818e+00_rb,2.8537e+00_rb/) kbo(:,39,16) = (/ & &7.3137e-01_rb,1.0905e+00_rb,1.5568e+00_rb,2.1026e+00_rb,2.7617e+00_rb/) kbo(:,40,16) = (/ & &6.6113e-01_rb,9.9827e-01_rb,1.4324e+00_rb,1.9599e+00_rb,2.5782e+00_rb/) kbo(:,41,16) = (/ & &5.8979e-01_rb,9.0432e-01_rb,1.3165e+00_rb,1.8211e+00_rb,2.4166e+00_rb/) kbo(:,42,16) = (/ & &5.2189e-01_rb,8.1262e-01_rb,1.2033e+00_rb,1.6872e+00_rb,2.2584e+00_rb/) kbo(:,43,16) = (/ & &4.5012e-01_rb,7.1522e-01_rb,1.0693e+00_rb,1.5212e+00_rb,2.0670e+00_rb/) kbo(:,44,16) = (/ & &3.7946e-01_rb,6.1667e-01_rb,9.4312e-01_rb,1.3624e+00_rb,1.8770e+00_rb/) kbo(:,45,16) = (/ & &3.1558e-01_rb,5.2623e-01_rb,8.0787e-01_rb,1.2032e+00_rb,1.6863e+00_rb/) kbo(:,46,16) = (/ & &2.9590e+02_rb,4.4343e-01_rb,7.0619e-01_rb,1.0578e+00_rb,1.5068e+00_rb/) kbo(:,47,16) = (/ & &7.2659e+02_rb,3.5873e-01_rb,5.9101e-01_rb,9.0599e-01_rb,1.3156e+00_rb/) kbo(:,48,16) = (/ & &1.3181e+03_rb,3.4672e+02_rb,4.8767e-01_rb,7.6683e-01_rb,1.1370e+00_rb/) kbo(:,49,16) = (/ & &1.6047e+03_rb,7.6641e+02_rb,7.0071e+01_rb,6.4471e-01_rb,9.8037e-01_rb/) kbo(:,50,16) = (/ & &1.8848e+03_rb,1.3103e+03_rb,4.1613e+02_rb,5.4100e-01_rb,8.3899e-01_rb/) kbo(:,51,16) = (/ & &2.2044e+03_rb,1.5848e+03_rb,7.6808e+02_rb,1.1316e+02_rb,7.2276e-01_rb/) kbo(:,52,16) = (/ & &2.7162e+03_rb,1.8452e+03_rb,1.2957e+03_rb,4.5829e+02_rb,6.1559e-01_rb/) kbo(:,53,16) = (/ & &3.1107e+03_rb,2.1559e+03_rb,1.5529e+03_rb,8.4689e+02_rb,1.7464e+02_rb/) kbo(:,54,16) = (/ & &3.6955e+03_rb,2.6522e+03_rb,1.8196e+03_rb,1.2866e+03_rb,5.0615e+02_rb/) kbo(:,55,16) = (/ & &4.0343e+03_rb,2.9873e+03_rb,2.0751e+03_rb,1.5293e+03_rb,8.5669e+02_rb/) kbo(:,56,16) = (/ & &4.1921e+03_rb,3.4914e+03_rb,2.5653e+03_rb,1.7745e+03_rb,1.2881e+03_rb/) kbo(:,57,16) = (/ & &4.3609e+03_rb,3.8712e+03_rb,2.9041e+03_rb,2.0379e+03_rb,1.5211e+03_rb/) kbo(:,58,16) = (/ & &4.5313e+03_rb,4.0098e+03_rb,3.4243e+03_rb,2.5213e+03_rb,1.7627e+03_rb/) kbo(:,59,16) = (/ & &4.6034e+03_rb,4.0679e+03_rb,3.6299e+03_rb,2.7016e+03_rb,1.9029e+03_rb/) ! The array KAO_Mxx contains the absorption coefficient for ! a minor species at the 16 chosen g-values for a reference pressure ! level below 100~ mb. The first index in the array, JS, runs ! from 1 to 10, and corresponds to different gas column amount ratios, ! as expressed through the binary species parameter eta, defined as ! eta = gas1/(gas1 + (rat) * gas2), where rat is the ! ratio of the reference MLS column amount value of gas 1 ! to that of gas2. The second index refers to temperature ! in 7.2 degree increments. For instance, JT = 1 refers to a ! temperature of 188.0, JT = 2 refers to 195.2, etc. The third index ! runs over the g-channel (1 to 16). kao_mn2o( 1, :, 1) = (/ & & 5.41078e-02_rb, 5.59051e-02_rb, 5.77620e-02_rb, 5.96805e-02_rb, 6.16628e-02_rb, & & 6.37110e-02_rb, 6.58272e-02_rb, 6.80137e-02_rb, 7.02728e-02_rb, 7.26069e-02_rb, & & 7.50185e-02_rb, 7.75103e-02_rb, 8.00848e-02_rb, 8.27449e-02_rb, 8.54933e-02_rb, & & 8.83330e-02_rb, 9.12670e-02_rb, 9.42984e-02_rb, 9.74306e-02_rb/) kao_mn2o( 2, :, 1) = (/ & & 1.19602e-01_rb, 1.22963e-01_rb, 1.26417e-01_rb, 1.29969e-01_rb, 1.33621e-01_rb, & & 1.37375e-01_rb, 1.41235e-01_rb, 1.45203e-01_rb, 1.49283e-01_rb, 1.53477e-01_rb, & & 1.57789e-01_rb, 1.62223e-01_rb, 1.66780e-01_rb, 1.71466e-01_rb, 1.76284e-01_rb, & & 1.81237e-01_rb, 1.86329e-01_rb, 1.91564e-01_rb, 1.96946e-01_rb/) kao_mn2o( 3, :, 1) = (/ & & 1.49614e-01_rb, 1.53427e-01_rb, 1.57337e-01_rb, 1.61346e-01_rb, 1.65457e-01_rb, & & 1.69674e-01_rb, 1.73997e-01_rb, 1.78431e-01_rb, 1.82978e-01_rb, 1.87641e-01_rb, & & 1.92422e-01_rb, 1.97325e-01_rb, 2.02354e-01_rb, 2.07510e-01_rb, 2.12798e-01_rb, & & 2.18221e-01_rb, 2.23781e-01_rb, 2.29484e-01_rb, 2.35331e-01_rb/) kao_mn2o( 4, :, 1) = (/ & & 1.80029e-01_rb, 1.84202e-01_rb, 1.88472e-01_rb, 1.92841e-01_rb, 1.97311e-01_rb, & & 2.01884e-01_rb, 2.06564e-01_rb, 2.11352e-01_rb, 2.16252e-01_rb, 2.21264e-01_rb, & & 2.26393e-01_rb, 2.31641e-01_rb, 2.37010e-01_rb, 2.42504e-01_rb, 2.48126e-01_rb, & & 2.53877e-01_rb, 2.59762e-01_rb, 2.65783e-01_rb, 2.71944e-01_rb/) kao_mn2o( 5, :, 1) = (/ & & 2.08279e-01_rb, 2.13029e-01_rb, 2.17888e-01_rb, 2.22858e-01_rb, 2.27941e-01_rb, & & 2.33140e-01_rb, 2.38458e-01_rb, 2.43897e-01_rb, 2.49460e-01_rb, 2.55150e-01_rb, & & 2.60969e-01_rb, 2.66922e-01_rb, 2.73010e-01_rb, 2.79237e-01_rb, 2.85606e-01_rb, & & 2.92120e-01_rb, 2.98783e-01_rb, 3.05598e-01_rb, 3.12568e-01_rb/) kao_mn2o( 6, :, 1) = (/ & & 2.17336e-01_rb, 2.22571e-01_rb, 2.27931e-01_rb, 2.33421e-01_rb, 2.39043e-01_rb, & & 2.44801e-01_rb, 2.50697e-01_rb, 2.56735e-01_rb, 2.62918e-01_rb, 2.69251e-01_rb, & & 2.75735e-01_rb, 2.82377e-01_rb, 2.89178e-01_rb, 2.96142e-01_rb, 3.03275e-01_rb, & & 3.10579e-01_rb, 3.18060e-01_rb, 3.25720e-01_rb, 3.33565e-01_rb/) kao_mn2o( 7, :, 1) = (/ & & 2.23903e-01_rb, 2.29349e-01_rb, 2.34926e-01_rb, 2.40640e-01_rb, 2.46493e-01_rb, & & 2.52488e-01_rb, 2.58628e-01_rb, 2.64918e-01_rb, 2.71361e-01_rb, 2.77961e-01_rb, & & 2.84721e-01_rb, 2.91646e-01_rb, 2.98739e-01_rb, 3.06005e-01_rb, 3.13447e-01_rb, & & 3.21070e-01_rb, 3.28879e-01_rb, 3.36877e-01_rb, 3.45071e-01_rb/) kao_mn2o( 8, :, 1) = (/ & & 2.23400e-01_rb, 2.28843e-01_rb, 2.34418e-01_rb, 2.40130e-01_rb, 2.45980e-01_rb, & & 2.51973e-01_rb, 2.58112e-01_rb, 2.64401e-01_rb, 2.70843e-01_rb, 2.77442e-01_rb, & & 2.84202e-01_rb, 2.91126e-01_rb, 2.98219e-01_rb, 3.05485e-01_rb, 3.12928e-01_rb, & & 3.20552e-01_rb, 3.28362e-01_rb, 3.36362e-01_rb, 3.44557e-01_rb/) kao_mn2o( 9, :, 1) = (/ & & 1.89279e-01_rb, 1.94423e-01_rb, 1.99707e-01_rb, 2.05135e-01_rb, 2.10710e-01_rb, & & 2.16437e-01_rb, 2.22319e-01_rb, 2.28361e-01_rb, 2.34568e-01_rb, 2.40943e-01_rb, & & 2.47492e-01_rb, 2.54218e-01_rb, 2.61127e-01_rb, 2.68224e-01_rb, 2.75514e-01_rb, & & 2.83002e-01_rb, 2.90694e-01_rb, 2.98594e-01_rb, 3.06709e-01_rb/) kao_mn2o( 1, :, 2) = (/ & & 9.46669e-02_rb, 9.77137e-02_rb, 1.00858e-01_rb, 1.04104e-01_rb, 1.07455e-01_rb, & & 1.10913e-01_rb, 1.14483e-01_rb, 1.18167e-01_rb, 1.21971e-01_rb, 1.25896e-01_rb, & & 1.29948e-01_rb, 1.34130e-01_rb, 1.38447e-01_rb, 1.42903e-01_rb, 1.47502e-01_rb, & & 1.52249e-01_rb, 1.57149e-01_rb, 1.62207e-01_rb, 1.67427e-01_rb/) kao_mn2o( 2, :, 2) = (/ & & 5.11901e-01_rb, 5.24950e-01_rb, 5.38331e-01_rb, 5.52053e-01_rb, 5.66125e-01_rb, & & 5.80556e-01_rb, 5.95354e-01_rb, 6.10530e-01_rb, 6.26093e-01_rb, 6.42052e-01_rb, & & 6.58418e-01_rb, 6.75202e-01_rb, 6.92413e-01_rb, 7.10062e-01_rb, 7.28162e-01_rb, & & 7.46723e-01_rb, 7.65758e-01_rb, 7.85277e-01_rb, 8.05294e-01_rb/) kao_mn2o( 3, :, 2) = (/ & & 8.32946e-01_rb, 8.45780e-01_rb, 8.58813e-01_rb, 8.72046e-01_rb, 8.85482e-01_rb, & & 8.99126e-01_rb, 9.12980e-01_rb, 9.27048e-01_rb, 9.41332e-01_rb, 9.55837e-01_rb, & & 9.70565e-01_rb, 9.85520e-01_rb, 1.00070e+00_rb, 1.01612e+00_rb, 1.03178e+00_rb, & & 1.04768e+00_rb, 1.06382e+00_rb, 1.08021e+00_rb, 1.09686e+00_rb/) kao_mn2o( 4, :, 2) = (/ & & 1.04032e+00_rb, 1.05475e+00_rb, 1.06937e+00_rb, 1.08419e+00_rb, 1.09922e+00_rb, & & 1.11446e+00_rb, 1.12991e+00_rb, 1.14557e+00_rb, 1.16145e+00_rb, 1.17755e+00_rb, & & 1.19387e+00_rb, 1.21042e+00_rb, 1.22720e+00_rb, 1.24421e+00_rb, 1.26146e+00_rb, & & 1.27895e+00_rb, 1.29668e+00_rb, 1.31465e+00_rb, 1.33287e+00_rb/) kao_mn2o( 5, :, 2) = (/ & & 1.22685e+00_rb, 1.24267e+00_rb, 1.25870e+00_rb, 1.27493e+00_rb, 1.29137e+00_rb, & & 1.30803e+00_rb, 1.32490e+00_rb, 1.34199e+00_rb, 1.35930e+00_rb, 1.37683e+00_rb, & & 1.39459e+00_rb, 1.41257e+00_rb, 1.43079e+00_rb, 1.44925e+00_rb, 1.46794e+00_rb, & & 1.48687e+00_rb, 1.50605e+00_rb, 1.52547e+00_rb, 1.54515e+00_rb/) kao_mn2o( 6, :, 2) = (/ & & 1.53781e+00_rb, 1.55206e+00_rb, 1.56645e+00_rb, 1.58097e+00_rb, 1.59563e+00_rb, & & 1.61042e+00_rb, 1.62535e+00_rb, 1.64042e+00_rb, 1.65562e+00_rb, 1.67097e+00_rb, & & 1.68646e+00_rb, 1.70210e+00_rb, 1.71788e+00_rb, 1.73380e+00_rb, 1.74987e+00_rb, & & 1.76610e+00_rb, 1.78247e+00_rb, 1.79899e+00_rb, 1.81567e+00_rb/) kao_mn2o( 7, :, 2) = (/ & & 1.90476e+00_rb, 1.91858e+00_rb, 1.93251e+00_rb, 1.94653e+00_rb, 1.96065e+00_rb, & & 1.97488e+00_rb, 1.98921e+00_rb, 2.00365e+00_rb, 2.01819e+00_rb, 2.03283e+00_rb, & & 2.04758e+00_rb, 2.06244e+00_rb, 2.07741e+00_rb, 2.09248e+00_rb, 2.10767e+00_rb, & & 2.12296e+00_rb, 2.13837e+00_rb, 2.15388e+00_rb, 2.16951e+00_rb/) kao_mn2o( 8, :, 2) = (/ & & 2.38211e+00_rb, 2.39819e+00_rb, 2.41438e+00_rb, 2.43068e+00_rb, 2.44709e+00_rb, & & 2.46361e+00_rb, 2.48024e+00_rb, 2.49699e+00_rb, 2.51384e+00_rb, 2.53082e+00_rb, & & 2.54790e+00_rb, 2.56510e+00_rb, 2.58242e+00_rb, 2.59985e+00_rb, 2.61741e+00_rb, & & 2.63508e+00_rb, 2.65287e+00_rb, 2.67078e+00_rb, 2.68881e+00_rb/) kao_mn2o( 9, :, 2) = (/ & & 1.26464e+00_rb, 1.28107e+00_rb, 1.29772e+00_rb, 1.31458e+00_rb, 1.33166e+00_rb, & & 1.34896e+00_rb, 1.36649e+00_rb, 1.38424e+00_rb, 1.40223e+00_rb, 1.42044e+00_rb, & & 1.43890e+00_rb, 1.45759e+00_rb, 1.47653e+00_rb, 1.49572e+00_rb, 1.51515e+00_rb, & & 1.53483e+00_rb, 1.55478e+00_rb, 1.57498e+00_rb, 1.59544e+00_rb/) kao_mn2o( 1, :, 3) = (/ & & 1.50082e-01_rb, 1.59095e-01_rb, 1.68650e-01_rb, 1.78779e-01_rb, 1.89516e-01_rb, & & 2.00898e-01_rb, 2.12963e-01_rb, 2.25753e-01_rb, 2.39311e-01_rb, 2.53683e-01_rb, & & 2.68919e-01_rb, 2.85069e-01_rb, 3.02190e-01_rb, 3.20339e-01_rb, 3.39577e-01_rb, & & 3.59971e-01_rb, 3.81590e-01_rb, 4.04507e-01_rb, 4.28801e-01_rb/) kao_mn2o( 2, :, 3) = (/ & & 3.09551e+00_rb, 3.09780e+00_rb, 3.10008e+00_rb, 3.10237e+00_rb, 3.10466e+00_rb, & & 3.10695e+00_rb, 3.10925e+00_rb, 3.11154e+00_rb, 3.11384e+00_rb, 3.11614e+00_rb, & & 3.11844e+00_rb, 3.12074e+00_rb, 3.12305e+00_rb, 3.12535e+00_rb, 3.12766e+00_rb, & & 3.12997e+00_rb, 3.13228e+00_rb, 3.13459e+00_rb, 3.13691e+00_rb/) kao_mn2o( 3, :, 3) = (/ & & 4.42661e+00_rb, 4.40858e+00_rb, 4.39062e+00_rb, 4.37274e+00_rb, 4.35493e+00_rb, & & 4.33719e+00_rb, 4.31953e+00_rb, 4.30193e+00_rb, 4.28441e+00_rb, 4.26696e+00_rb, & & 4.24958e+00_rb, 4.23227e+00_rb, 4.21503e+00_rb, 4.19787e+00_rb, 4.18077e+00_rb, & & 4.16374e+00_rb, 4.14678e+00_rb, 4.12989e+00_rb, 4.11307e+00_rb/) kao_mn2o( 4, :, 3) = (/ & & 5.77864e+00_rb, 5.74085e+00_rb, 5.70331e+00_rb, 5.66602e+00_rb, 5.62897e+00_rb, & & 5.59216e+00_rb, 5.55559e+00_rb, 5.51926e+00_rb, 5.48317e+00_rb, 5.44731e+00_rb, & & 5.41169e+00_rb, 5.37631e+00_rb, 5.34115e+00_rb, 5.30622e+00_rb, 5.27152e+00_rb, & & 5.23705e+00_rb, 5.20281e+00_rb, 5.16879e+00_rb, 5.13499e+00_rb/) kao_mn2o( 5, :, 3) = (/ & & 7.17294e+00_rb, 7.10890e+00_rb, 7.04542e+00_rb, 6.98251e+00_rb, 6.92017e+00_rb, & & 6.85838e+00_rb, 6.79714e+00_rb, 6.73645e+00_rb, 6.67630e+00_rb, 6.61669e+00_rb, & & 6.55761e+00_rb, 6.49905e+00_rb, 6.44102e+00_rb, 6.38351e+00_rb, 6.32651e+00_rb, & & 6.27003e+00_rb, 6.21404e+00_rb, 6.15856e+00_rb, 6.10357e+00_rb/) kao_mn2o( 6, :, 3) = (/ & & 9.05082e+00_rb, 8.96132e+00_rb, 8.87271e+00_rb, 8.78498e+00_rb, 8.69811e+00_rb, & & 8.61210e+00_rb, 8.52694e+00_rb, 8.44262e+00_rb, 8.35914e+00_rb, 8.27648e+00_rb, & & 8.19464e+00_rb, 8.11361e+00_rb, 8.03338e+00_rb, 7.95394e+00_rb, 7.87529e+00_rb, & & 7.79742e+00_rb, 7.72032e+00_rb, 7.64398e+00_rb, 7.56839e+00_rb/) kao_mn2o( 7, :, 3) = (/ & & 1.18749e+01_rb, 1.17648e+01_rb, 1.16556e+01_rb, 1.15475e+01_rb, 1.14403e+01_rb, & & 1.13342e+01_rb, 1.12290e+01_rb, 1.11248e+01_rb, 1.10216e+01_rb, 1.09194e+01_rb, & & 1.08180e+01_rb, 1.07177e+01_rb, 1.06182e+01_rb, 1.05197e+01_rb, 1.04221e+01_rb, & & 1.03254e+01_rb, 1.02296e+01_rb, 1.01347e+01_rb, 1.00407e+01_rb/) kao_mn2o( 8, :, 3) = (/ & & 1.41428e+01_rb, 1.40323e+01_rb, 1.39227e+01_rb, 1.38139e+01_rb, 1.37060e+01_rb, & & 1.35989e+01_rb, 1.34927e+01_rb, 1.33873e+01_rb, 1.32827e+01_rb, 1.31790e+01_rb, & & 1.30760e+01_rb, 1.29738e+01_rb, 1.28725e+01_rb, 1.27719e+01_rb, 1.26722e+01_rb, & & 1.25732e+01_rb, 1.24750e+01_rb, 1.23775e+01_rb, 1.22808e+01_rb/) kao_mn2o( 9, :, 3) = (/ & & 7.34993e+00_rb, 7.29335e+00_rb, 7.23720e+00_rb, 7.18149e+00_rb, 7.12620e+00_rb, & & 7.07134e+00_rb, 7.01690e+00_rb, 6.96288e+00_rb, 6.90928e+00_rb, 6.85609e+00_rb, & & 6.80331e+00_rb, 6.75094e+00_rb, 6.69897e+00_rb, 6.64739e+00_rb, 6.59622e+00_rb, & & 6.54544e+00_rb, 6.49505e+00_rb, 6.44505e+00_rb, 6.39543e+00_rb/) kao_mn2o( 1, :, 4) = (/ & & 6.11248e-01_rb, 6.37225e-01_rb, 6.64306e-01_rb, 6.92538e-01_rb, 7.21970e-01_rb, & & 7.52653e-01_rb, 7.84639e-01_rb, 8.17985e-01_rb, 8.52749e-01_rb, 8.88989e-01_rb, & & 9.26770e-01_rb, 9.66157e-01_rb, 1.00722e+00_rb, 1.05002e+00_rb, 1.09465e+00_rb, & & 1.14117e+00_rb, 1.18967e+00_rb, 1.24022e+00_rb, 1.29293e+00_rb/) kao_mn2o( 2, :, 4) = (/ & & 5.07253e+00_rb, 5.05299e+00_rb, 5.03353e+00_rb, 5.01414e+00_rb, 4.99483e+00_rb, & & 4.97559e+00_rb, 4.95642e+00_rb, 4.93733e+00_rb, 4.91831e+00_rb, 4.89937e+00_rb, & & 4.88050e+00_rb, 4.86170e+00_rb, 4.84297e+00_rb, 4.82432e+00_rb, 4.80573e+00_rb, & & 4.78722e+00_rb, 4.76878e+00_rb, 4.75042e+00_rb, 4.73212e+00_rb/) kao_mn2o( 3, :, 4) = (/ & & 7.45829e+00_rb, 7.42266e+00_rb, 7.38719e+00_rb, 7.35190e+00_rb, 7.31677e+00_rb, & & 7.28181e+00_rb, 7.24702e+00_rb, 7.21240e+00_rb, 7.17794e+00_rb, 7.14364e+00_rb, & & 7.10951e+00_rb, 7.07554e+00_rb, 7.04173e+00_rb, 7.00809e+00_rb, 6.97461e+00_rb, & & 6.94128e+00_rb, 6.90812e+00_rb, 6.87511e+00_rb, 6.84226e+00_rb/) kao_mn2o( 4, :, 4) = (/ & & 9.58893e+00_rb, 9.54796e+00_rb, 9.50716e+00_rb, 9.46654e+00_rb, 9.42609e+00_rb, & & 9.38581e+00_rb, 9.34571e+00_rb, 9.30578e+00_rb, 9.26602e+00_rb, 9.22642e+00_rb, & & 9.18700e+00_rb, 9.14775e+00_rb, 9.10866e+00_rb, 9.06974e+00_rb, 9.03099e+00_rb, & & 8.99240e+00_rb, 8.95398e+00_rb, 8.91572e+00_rb, 8.87762e+00_rb/) kao_mn2o( 5, :, 4) = (/ & & 1.16344e+01_rb, 1.16012e+01_rb, 1.15681e+01_rb, 1.15351e+01_rb, 1.15022e+01_rb, & & 1.14694e+01_rb, 1.14366e+01_rb, 1.14040e+01_rb, 1.13715e+01_rb, 1.13390e+01_rb, & & 1.13067e+01_rb, 1.12744e+01_rb, 1.12422e+01_rb, 1.12102e+01_rb, 1.11782e+01_rb, & & 1.11463e+01_rb, 1.11145e+01_rb, 1.10828e+01_rb, 1.10511e+01_rb/) kao_mn2o( 6, :, 4) = (/ & & 1.12460e+01_rb, 1.12402e+01_rb, 1.12344e+01_rb, 1.12286e+01_rb, 1.12228e+01_rb, & & 1.12170e+01_rb, 1.12112e+01_rb, 1.12055e+01_rb, 1.11997e+01_rb, 1.11939e+01_rb, & & 1.11882e+01_rb, 1.11824e+01_rb, 1.11766e+01_rb, 1.11709e+01_rb, 1.11651e+01_rb, & & 1.11594e+01_rb, 1.11536e+01_rb, 1.11479e+01_rb, 1.11421e+01_rb/) kao_mn2o( 7, :, 4) = (/ & & 8.89265e+00_rb, 8.91419e+00_rb, 8.93578e+00_rb, 8.95743e+00_rb, 8.97913e+00_rb, & & 9.00088e+00_rb, 9.02268e+00_rb, 9.04454e+00_rb, 9.06645e+00_rb, 9.08841e+00_rb, & & 9.11043e+00_rb, 9.13250e+00_rb, 9.15462e+00_rb, 9.17680e+00_rb, 9.19903e+00_rb, & & 9.22131e+00_rb, 9.24365e+00_rb, 9.26604e+00_rb, 9.28849e+00_rb/) kao_mn2o( 8, :, 4) = (/ & & 6.83933e+00_rb, 6.86688e+00_rb, 6.89453e+00_rb, 6.92230e+00_rb, 6.95018e+00_rb, & & 6.97817e+00_rb, 7.00627e+00_rb, 7.03449e+00_rb, 7.06282e+00_rb, 7.09126e+00_rb, & & 7.11982e+00_rb, 7.14850e+00_rb, 7.17729e+00_rb, 7.20619e+00_rb, 7.23521e+00_rb, & & 7.26435e+00_rb, 7.29361e+00_rb, 7.32298e+00_rb, 7.35248e+00_rb/) kao_mn2o( 9, :, 4) = (/ & & 1.10637e+01_rb, 1.10232e+01_rb, 1.09829e+01_rb, 1.09427e+01_rb, 1.09026e+01_rb, & & 1.08627e+01_rb, 1.08230e+01_rb, 1.07833e+01_rb, 1.07439e+01_rb, 1.07046e+01_rb, & & 1.06654e+01_rb, 1.06263e+01_rb, 1.05875e+01_rb, 1.05487e+01_rb, 1.05101e+01_rb, & & 1.04716e+01_rb, 1.04333e+01_rb, 1.03951e+01_rb, 1.03571e+01_rb/) kao_mn2o( 1, :, 5) = (/ & & 2.53460e+00_rb, 2.56050e+00_rb, 2.58667e+00_rb, 2.61310e+00_rb, 2.63980e+00_rb, & & 2.66678e+00_rb, 2.69403e+00_rb, 2.72156e+00_rb, 2.74937e+00_rb, 2.77746e+00_rb, & & 2.80585e+00_rb, 2.83452e+00_rb, 2.86348e+00_rb, 2.89275e+00_rb, 2.92231e+00_rb, & & 2.95217e+00_rb, 2.98234e+00_rb, 3.01281e+00_rb, 3.04360e+00_rb/) kao_mn2o( 2, :, 5) = (/ & & 7.45650e+00_rb, 7.44283e+00_rb, 7.42919e+00_rb, 7.41557e+00_rb, 7.40198e+00_rb, & & 7.38841e+00_rb, 7.37487e+00_rb, 7.36135e+00_rb, 7.34786e+00_rb, 7.33439e+00_rb, & & 7.32095e+00_rb, 7.30753e+00_rb, 7.29413e+00_rb, 7.28076e+00_rb, 7.26742e+00_rb, & & 7.25410e+00_rb, 7.24080e+00_rb, 7.22753e+00_rb, 7.21428e+00_rb/) kao_mn2o( 3, :, 5) = (/ & & 1.06311e+01_rb, 1.06110e+01_rb, 1.05909e+01_rb, 1.05709e+01_rb, 1.05509e+01_rb, & & 1.05310e+01_rb, 1.05111e+01_rb, 1.04912e+01_rb, 1.04713e+01_rb, 1.04516e+01_rb, & & 1.04318e+01_rb, 1.04121e+01_rb, 1.03924e+01_rb, 1.03727e+01_rb, 1.03531e+01_rb, & & 1.03336e+01_rb, 1.03140e+01_rb, 1.02945e+01_rb, 1.02751e+01_rb/) kao_mn2o( 4, :, 5) = (/ & & 1.03924e+01_rb, 1.03895e+01_rb, 1.03867e+01_rb, 1.03838e+01_rb, 1.03809e+01_rb, & & 1.03780e+01_rb, 1.03751e+01_rb, 1.03722e+01_rb, 1.03693e+01_rb, 1.03665e+01_rb, & & 1.03636e+01_rb, 1.03607e+01_rb, 1.03578e+01_rb, 1.03549e+01_rb, 1.03521e+01_rb, & & 1.03492e+01_rb, 1.03463e+01_rb, 1.03434e+01_rb, 1.03406e+01_rb/) kao_mn2o( 5, :, 5) = (/ & & 7.82277e+00_rb, 7.83872e+00_rb, 7.85471e+00_rb, 7.87073e+00_rb, 7.88678e+00_rb, & & 7.90287e+00_rb, 7.91899e+00_rb, 7.93514e+00_rb, 7.95132e+00_rb, 7.96754e+00_rb, & & 7.98379e+00_rb, 8.00008e+00_rb, 8.01639e+00_rb, 8.03274e+00_rb, 8.04913e+00_rb, & & 8.06555e+00_rb, 8.08200e+00_rb, 8.09848e+00_rb, 8.11500e+00_rb/) kao_mn2o( 6, :, 5) = (/ & & 6.05225e+00_rb, 6.06883e+00_rb, 6.08545e+00_rb, 6.10212e+00_rb, 6.11883e+00_rb, & & 6.13559e+00_rb, 6.15240e+00_rb, 6.16925e+00_rb, 6.18615e+00_rb, 6.20309e+00_rb, & & 6.22008e+00_rb, 6.23712e+00_rb, 6.25420e+00_rb, 6.27133e+00_rb, 6.28851e+00_rb, & & 6.30574e+00_rb, 6.32301e+00_rb, 6.34033e+00_rb, 6.35769e+00_rb/) kao_mn2o( 7, :, 5) = (/ & & 5.24135e+00_rb, 5.25696e+00_rb, 5.27261e+00_rb, 5.28831e+00_rb, 5.30405e+00_rb, & & 5.31984e+00_rb, 5.33568e+00_rb, 5.35157e+00_rb, 5.36750e+00_rb, 5.38348e+00_rb, & & 5.39951e+00_rb, 5.41558e+00_rb, 5.43171e+00_rb, 5.44788e+00_rb, 5.46410e+00_rb, & & 5.48037e+00_rb, 5.49668e+00_rb, 5.51305e+00_rb, 5.52946e+00_rb/) kao_mn2o( 8, :, 5) = (/ & & 4.40240e+00_rb, 4.40915e+00_rb, 4.41591e+00_rb, 4.42268e+00_rb, 4.42946e+00_rb, & & 4.43625e+00_rb, 4.44305e+00_rb, 4.44986e+00_rb, 4.45668e+00_rb, 4.46351e+00_rb, & & 4.47035e+00_rb, 4.47720e+00_rb, 4.48407e+00_rb, 4.49094e+00_rb, 4.49782e+00_rb, & & 4.50472e+00_rb, 4.51162e+00_rb, 4.51854e+00_rb, 4.52547e+00_rb/) kao_mn2o( 9, :, 5) = (/ & & 8.56554e+00_rb, 8.59185e+00_rb, 8.61824e+00_rb, 8.64470e+00_rb, 8.67125e+00_rb, & & 8.69788e+00_rb, 8.72460e+00_rb, 8.75139e+00_rb, 8.77827e+00_rb, 8.80523e+00_rb, & & 8.83227e+00_rb, 8.85939e+00_rb, 8.88660e+00_rb, 8.91389e+00_rb, 8.94127e+00_rb, & & 8.96873e+00_rb, 8.99627e+00_rb, 9.02390e+00_rb, 9.05161e+00_rb/) kao_mn2o( 1, :, 6) = (/ & & 5.78695e+00_rb, 5.78939e+00_rb, 5.79182e+00_rb, 5.79426e+00_rb, 5.79670e+00_rb, & & 5.79914e+00_rb, 5.80158e+00_rb, 5.80403e+00_rb, 5.80647e+00_rb, 5.80892e+00_rb, & & 5.81136e+00_rb, 5.81381e+00_rb, 5.81626e+00_rb, 5.81870e+00_rb, 5.82115e+00_rb, & & 5.82361e+00_rb, 5.82606e+00_rb, 5.82851e+00_rb, 5.83096e+00_rb/) kao_mn2o( 2, :, 6) = (/ & & 1.22893e+01_rb, 1.22556e+01_rb, 1.22221e+01_rb, 1.21886e+01_rb, 1.21552e+01_rb, & & 1.21220e+01_rb, 1.20888e+01_rb, 1.20557e+01_rb, 1.20227e+01_rb, 1.19898e+01_rb, & & 1.19569e+01_rb, 1.19242e+01_rb, 1.18915e+01_rb, 1.18590e+01_rb, 1.18265e+01_rb, & & 1.17941e+01_rb, 1.17618e+01_rb, 1.17296e+01_rb, 1.16975e+01_rb/) kao_mn2o( 3, :, 6) = (/ & & 7.93118e+00_rb, 7.94590e+00_rb, 7.96065e+00_rb, 7.97542e+00_rb, 7.99022e+00_rb, & & 8.00505e+00_rb, 8.01990e+00_rb, 8.03478e+00_rb, 8.04970e+00_rb, 8.06463e+00_rb, & & 8.07960e+00_rb, 8.09459e+00_rb, 8.10961e+00_rb, 8.12466e+00_rb, 8.13974e+00_rb, & & 8.15485e+00_rb, 8.16998e+00_rb, 8.18514e+00_rb, 8.20033e+00_rb/) kao_mn2o( 4, :, 6) = (/ & & 4.08899e+00_rb, 4.11435e+00_rb, 4.13988e+00_rb, 4.16556e+00_rb, 4.19140e+00_rb, & & 4.21740e+00_rb, 4.24357e+00_rb, 4.26989e+00_rb, 4.29638e+00_rb, 4.32304e+00_rb, & & 4.34985e+00_rb, 4.37684e+00_rb, 4.40399e+00_rb, 4.43131e+00_rb, 4.45880e+00_rb, & & 4.48646e+00_rb, 4.51430e+00_rb, 4.54230e+00_rb, 4.57048e+00_rb/) kao_mn2o( 5, :, 6) = (/ & & 2.61358e+00_rb, 2.64029e+00_rb, 2.66728e+00_rb, 2.69454e+00_rb, 2.72209e+00_rb, & & 2.74991e+00_rb, 2.77802e+00_rb, 2.80641e+00_rb, 2.83510e+00_rb, 2.86408e+00_rb, & & 2.89335e+00_rb, 2.92293e+00_rb, 2.95280e+00_rb, 2.98299e+00_rb, 3.01348e+00_rb, & & 3.04428e+00_rb, 3.07540e+00_rb, 3.10683e+00_rb, 3.13859e+00_rb/) kao_mn2o( 6, :, 6) = (/ & & 2.40720e+00_rb, 2.43430e+00_rb, 2.46169e+00_rb, 2.48940e+00_rb, 2.51741e+00_rb, & & 2.54575e+00_rb, 2.57440e+00_rb, 2.60337e+00_rb, 2.63267e+00_rb, 2.66230e+00_rb, & & 2.69226e+00_rb, 2.72256e+00_rb, 2.75320e+00_rb, 2.78419e+00_rb, 2.81552e+00_rb, & & 2.84721e+00_rb, 2.87925e+00_rb, 2.91166e+00_rb, 2.94443e+00_rb/) kao_mn2o( 7, :, 6) = (/ & & 1.99607e+00_rb, 2.01725e+00_rb, 2.03865e+00_rb, 2.06028e+00_rb, 2.08214e+00_rb, & & 2.10423e+00_rb, 2.12655e+00_rb, 2.14912e+00_rb, 2.17192e+00_rb, 2.19496e+00_rb, & & 2.21825e+00_rb, 2.24179e+00_rb, 2.26557e+00_rb, 2.28961e+00_rb, 2.31390e+00_rb, & & 2.33845e+00_rb, 2.36326e+00_rb, 2.38834e+00_rb, 2.41368e+00_rb/) kao_mn2o( 8, :, 6) = (/ & & 1.94150e+00_rb, 1.96398e+00_rb, 1.98671e+00_rb, 2.00971e+00_rb, 2.03298e+00_rb, & & 2.05651e+00_rb, 2.08032e+00_rb, 2.10440e+00_rb, 2.12876e+00_rb, 2.15341e+00_rb, & & 2.17834e+00_rb, 2.20355e+00_rb, 2.22906e+00_rb, 2.25487e+00_rb, 2.28097e+00_rb, & & 2.30738e+00_rb, 2.33409e+00_rb, 2.36111e+00_rb, 2.38844e+00_rb/) kao_mn2o( 9, :, 6) = (/ & & 2.47259e+00_rb, 2.48950e+00_rb, 2.50653e+00_rb, 2.52367e+00_rb, 2.54093e+00_rb, & & 2.55831e+00_rb, 2.57581e+00_rb, 2.59343e+00_rb, 2.61117e+00_rb, 2.62903e+00_rb, & & 2.64701e+00_rb, 2.66511e+00_rb, 2.68334e+00_rb, 2.70169e+00_rb, 2.72017e+00_rb, & & 2.73878e+00_rb, 2.75751e+00_rb, 2.77637e+00_rb, 2.79536e+00_rb/) kao_mn2o( 1, :, 7) = (/ & & 1.23417e+01_rb, 1.22618e+01_rb, 1.21823e+01_rb, 1.21034e+01_rb, 1.20250e+01_rb, & & 1.19471e+01_rb, 1.18697e+01_rb, 1.17928e+01_rb, 1.17164e+01_rb, 1.16405e+01_rb, & & 1.15651e+01_rb, 1.14901e+01_rb, 1.14157e+01_rb, 1.13417e+01_rb, 1.12683e+01_rb, & & 1.11952e+01_rb, 1.11227e+01_rb, 1.10507e+01_rb, 1.09791e+01_rb/) kao_mn2o( 2, :, 7) = (/ & & 9.30957e+00_rb, 9.32775e+00_rb, 9.34597e+00_rb, 9.36421e+00_rb, 9.38250e+00_rb, & & 9.40082e+00_rb, 9.41918e+00_rb, 9.43757e+00_rb, 9.45600e+00_rb, 9.47446e+00_rb, & & 9.49296e+00_rb, 9.51150e+00_rb, 9.53007e+00_rb, 9.54868e+00_rb, 9.56732e+00_rb, & & 9.58601e+00_rb, 9.60472e+00_rb, 9.62348e+00_rb, 9.64227e+00_rb/) kao_mn2o( 3, :, 7) = (/ & & 4.15867e+00_rb, 4.19254e+00_rb, 4.22668e+00_rb, 4.26110e+00_rb, 4.29581e+00_rb, & & 4.33079e+00_rb, 4.36606e+00_rb, 4.40162e+00_rb, 4.43747e+00_rb, 4.47360e+00_rb, & & 4.51004e+00_rb, 4.54677e+00_rb, 4.58380e+00_rb, 4.62113e+00_rb, 4.65876e+00_rb, & & 4.69670e+00_rb, 4.73495e+00_rb, 4.77351e+00_rb, 4.81239e+00_rb/) kao_mn2o( 4, :, 7) = (/ & & 3.55634e+00_rb, 3.59382e+00_rb, 3.63169e+00_rb, 3.66996e+00_rb, 3.70863e+00_rb, & & 3.74771e+00_rb, 3.78720e+00_rb, 3.82711e+00_rb, 3.86744e+00_rb, 3.90820e+00_rb, & & 3.94938e+00_rb, 3.99100e+00_rb, 4.03305e+00_rb, 4.07555e+00_rb, 4.11850e+00_rb, & & 4.16190e+00_rb, 4.20576e+00_rb, 4.25008e+00_rb, 4.29486e+00_rb/) kao_mn2o( 5, :, 7) = (/ & & 3.09468e+00_rb, 3.12655e+00_rb, 3.15876e+00_rb, 3.19129e+00_rb, 3.22416e+00_rb, & & 3.25737e+00_rb, 3.29092e+00_rb, 3.32482e+00_rb, 3.35907e+00_rb, 3.39366e+00_rb, & & 3.42862e+00_rb, 3.46393e+00_rb, 3.49961e+00_rb, 3.53566e+00_rb, 3.57208e+00_rb, & & 3.60887e+00_rb, 3.64604e+00_rb, 3.68360e+00_rb, 3.72154e+00_rb/) kao_mn2o( 6, :, 7) = (/ & & 2.75473e+00_rb, 2.78356e+00_rb, 2.81268e+00_rb, 2.84211e+00_rb, 2.87185e+00_rb, & & 2.90190e+00_rb, 2.93227e+00_rb, 2.96295e+00_rb, 2.99395e+00_rb, 3.02528e+00_rb, & & 3.05694e+00_rb, 3.08892e+00_rb, 3.12125e+00_rb, 3.15391e+00_rb, 3.18691e+00_rb, & & 3.22025e+00_rb, 3.25395e+00_rb, 3.28800e+00_rb, 3.32240e+00_rb/) kao_mn2o( 7, :, 7) = (/ & & 2.68587e+00_rb, 2.71431e+00_rb, 2.74306e+00_rb, 2.77211e+00_rb, 2.80146e+00_rb, & & 2.83113e+00_rb, 2.86111e+00_rb, 2.89141e+00_rb, 2.92203e+00_rb, 2.95298e+00_rb, & & 2.98425e+00_rb, 3.01585e+00_rb, 3.04779e+00_rb, 3.08006e+00_rb, 3.11268e+00_rb, & & 3.14564e+00_rb, 3.17896e+00_rb, 3.21262e+00_rb, 3.24664e+00_rb/) kao_mn2o( 8, :, 7) = (/ & & 2.54778e+00_rb, 2.57461e+00_rb, 2.60173e+00_rb, 2.62914e+00_rb, 2.65683e+00_rb, & & 2.68482e+00_rb, 2.71310e+00_rb, 2.74168e+00_rb, 2.77056e+00_rb, 2.79974e+00_rb, & & 2.82923e+00_rb, 2.85903e+00_rb, 2.88915e+00_rb, 2.91958e+00_rb, 2.95033e+00_rb, & & 2.98141e+00_rb, 3.01282e+00_rb, 3.04455e+00_rb, 3.07662e+00_rb/) kao_mn2o( 9, :, 7) = (/ & & 2.78137e+00_rb, 2.80957e+00_rb, 2.83805e+00_rb, 2.86682e+00_rb, 2.89589e+00_rb, & & 2.92525e+00_rb, 2.95491e+00_rb, 2.98486e+00_rb, 3.01512e+00_rb, 3.04569e+00_rb, & & 3.07657e+00_rb, 3.10776e+00_rb, 3.13927e+00_rb, 3.17110e+00_rb, 3.20324e+00_rb, & & 3.23572e+00_rb, 3.26852e+00_rb, 3.30166e+00_rb, 3.33513e+00_rb/) kao_mn2o( 1, :, 8) = (/ & & 2.28384e+01_rb, 2.27450e+01_rb, 2.26519e+01_rb, 2.25593e+01_rb, 2.24670e+01_rb, & & 2.23751e+01_rb, 2.22835e+01_rb, 2.21924e+01_rb, 2.21016e+01_rb, 2.20112e+01_rb, & & 2.19211e+01_rb, 2.18314e+01_rb, 2.17421e+01_rb, 2.16532e+01_rb, 2.15646e+01_rb, & & 2.14764e+01_rb, 2.13885e+01_rb, 2.13010e+01_rb, 2.12139e+01_rb/) kao_mn2o( 2, :, 8) = (/ & & 4.48608e+00_rb, 4.52259e+00_rb, 4.55939e+00_rb, 4.59649e+00_rb, 4.63389e+00_rb, & & 4.67160e+00_rb, 4.70961e+00_rb, 4.74793e+00_rb, 4.78656e+00_rb, 4.82551e+00_rb, & & 4.86478e+00_rb, 4.90436e+00_rb, 4.94427e+00_rb, 4.98450e+00_rb, 5.02506e+00_rb, & & 5.06595e+00_rb, 5.10717e+00_rb, 5.14873e+00_rb, 5.19062e+00_rb/) kao_mn2o( 3, :, 8) = (/ & & 3.69928e+00_rb, 3.72584e+00_rb, 3.75259e+00_rb, 3.77953e+00_rb, 3.80666e+00_rb, & & 3.83399e+00_rb, 3.86152e+00_rb, 3.88924e+00_rb, 3.91717e+00_rb, 3.94529e+00_rb, & & 3.97361e+00_rb, 4.00214e+00_rb, 4.03088e+00_rb, 4.05982e+00_rb, 4.08896e+00_rb, & & 4.11832e+00_rb, 4.14789e+00_rb, 4.17767e+00_rb, 4.20766e+00_rb/) kao_mn2o( 4, :, 8) = (/ & & 3.17856e+00_rb, 3.19596e+00_rb, 3.21345e+00_rb, 3.23104e+00_rb, 3.24872e+00_rb, & & 3.26650e+00_rb, 3.28437e+00_rb, 3.30235e+00_rb, 3.32042e+00_rb, 3.33859e+00_rb, & & 3.35686e+00_rb, 3.37523e+00_rb, 3.39370e+00_rb, 3.41227e+00_rb, 3.43095e+00_rb, & & 3.44972e+00_rb, 3.46860e+00_rb, 3.48758e+00_rb, 3.50667e+00_rb/) kao_mn2o( 5, :, 8) = (/ & & 3.16549e+00_rb, 3.18288e+00_rb, 3.20037e+00_rb, 3.21795e+00_rb, 3.23563e+00_rb, & & 3.25340e+00_rb, 3.27128e+00_rb, 3.28925e+00_rb, 3.30732e+00_rb, 3.32549e+00_rb, & & 3.34376e+00_rb, 3.36213e+00_rb, 3.38060e+00_rb, 3.39917e+00_rb, 3.41785e+00_rb, & & 3.43662e+00_rb, 3.45551e+00_rb, 3.47449e+00_rb, 3.49358e+00_rb/) kao_mn2o( 6, :, 8) = (/ & & 3.16612e+00_rb, 3.18355e+00_rb, 3.20108e+00_rb, 3.21870e+00_rb, 3.23643e+00_rb, & & 3.25425e+00_rb, 3.27217e+00_rb, 3.29018e+00_rb, 3.30830e+00_rb, 3.32652e+00_rb, & & 3.34483e+00_rb, 3.36325e+00_rb, 3.38177e+00_rb, 3.40039e+00_rb, 3.41911e+00_rb, & & 3.43794e+00_rb, 3.45687e+00_rb, 3.47591e+00_rb, 3.49505e+00_rb/) kao_mn2o( 7, :, 8) = (/ & & 3.19644e+00_rb, 3.21419e+00_rb, 3.23203e+00_rb, 3.24996e+00_rb, 3.26800e+00_rb, & & 3.28614e+00_rb, 3.30438e+00_rb, 3.32272e+00_rb, 3.34116e+00_rb, 3.35970e+00_rb, & & 3.37835e+00_rb, 3.39710e+00_rb, 3.41596e+00_rb, 3.43492e+00_rb, 3.45398e+00_rb, & & 3.47315e+00_rb, 3.49243e+00_rb, 3.51181e+00_rb, 3.53130e+00_rb/) kao_mn2o( 8, :, 8) = (/ & & 3.35759e+00_rb, 3.37775e+00_rb, 3.39804e+00_rb, 3.41845e+00_rb, 3.43899e+00_rb, & & 3.45964e+00_rb, 3.48042e+00_rb, 3.50133e+00_rb, 3.52236e+00_rb, 3.54351e+00_rb, & & 3.56480e+00_rb, 3.58621e+00_rb, 3.60775e+00_rb, 3.62942e+00_rb, 3.65122e+00_rb, & & 3.67315e+00_rb, 3.69521e+00_rb, 3.71741e+00_rb, 3.73974e+00_rb/) kao_mn2o( 9, :, 8) = (/ & & 3.17378e+00_rb, 3.19135e+00_rb, 3.20901e+00_rb, 3.22677e+00_rb, 3.24462e+00_rb, & & 3.26258e+00_rb, 3.28063e+00_rb, 3.29879e+00_rb, 3.31704e+00_rb, 3.33540e+00_rb, & & 3.35386e+00_rb, 3.37242e+00_rb, 3.39108e+00_rb, 3.40984e+00_rb, 3.42871e+00_rb, & & 3.44769e+00_rb, 3.46677e+00_rb, 3.48595e+00_rb, 3.50524e+00_rb/) kao_mn2o( 1, :, 9) = (/ & & 2.09106e+01_rb, 2.08779e+01_rb, 2.08452e+01_rb, 2.08126e+01_rb, 2.07800e+01_rb, & & 2.07475e+01_rb, 2.07150e+01_rb, 2.06826e+01_rb, 2.06502e+01_rb, 2.06179e+01_rb, & & 2.05856e+01_rb, 2.05534e+01_rb, 2.05213e+01_rb, 2.04891e+01_rb, 2.04571e+01_rb, & & 2.04251e+01_rb, 2.03931e+01_rb, 2.03612e+01_rb, 2.03293e+01_rb/) kao_mn2o( 2, :, 9) = (/ & & 2.60494e+00_rb, 2.62757e+00_rb, 2.65040e+00_rb, 2.67343e+00_rb, 2.69665e+00_rb, & & 2.72008e+00_rb, 2.74372e+00_rb, 2.76756e+00_rb, 2.79160e+00_rb, 2.81586e+00_rb, & & 2.84032e+00_rb, 2.86500e+00_rb, 2.88989e+00_rb, 2.91500e+00_rb, 2.94033e+00_rb, & & 2.96588e+00_rb, 2.99164e+00_rb, 3.01764e+00_rb, 3.04386e+00_rb/) kao_mn2o( 3, :, 9) = (/ & & 2.42238e+00_rb, 2.44514e+00_rb, 2.46811e+00_rb, 2.49130e+00_rb, 2.51471e+00_rb, & & 2.53834e+00_rb, 2.56219e+00_rb, 2.58626e+00_rb, 2.61056e+00_rb, 2.63509e+00_rb, & & 2.65985e+00_rb, 2.68484e+00_rb, 2.71007e+00_rb, 2.73554e+00_rb, 2.76124e+00_rb, & & 2.78718e+00_rb, 2.81337e+00_rb, 2.83981e+00_rb, 2.86649e+00_rb/) kao_mn2o( 4, :, 9) = (/ & & 2.33681e+00_rb, 2.35961e+00_rb, 2.38263e+00_rb, 2.40588e+00_rb, 2.42935e+00_rb, & & 2.45305e+00_rb, 2.47699e+00_rb, 2.50115e+00_rb, 2.52556e+00_rb, 2.55020e+00_rb, & & 2.57508e+00_rb, 2.60021e+00_rb, 2.62558e+00_rb, 2.65119e+00_rb, 2.67706e+00_rb, & & 2.70318e+00_rb, 2.72955e+00_rb, 2.75619e+00_rb, 2.78308e+00_rb/) kao_mn2o( 5, :, 9) = (/ & & 2.26420e+00_rb, 2.28696e+00_rb, 2.30996e+00_rb, 2.33319e+00_rb, 2.35665e+00_rb, & & 2.38035e+00_rb, 2.40429e+00_rb, 2.42846e+00_rb, 2.45288e+00_rb, 2.47755e+00_rb, & & 2.50246e+00_rb, 2.52763e+00_rb, 2.55304e+00_rb, 2.57871e+00_rb, 2.60465e+00_rb, & & 2.63084e+00_rb, 2.65729e+00_rb, 2.68401e+00_rb, 2.71100e+00_rb/) kao_mn2o( 6, :, 9) = (/ & & 2.19628e+00_rb, 2.21902e+00_rb, 2.24199e+00_rb, 2.26520e+00_rb, 2.28865e+00_rb, & & 2.31234e+00_rb, 2.33628e+00_rb, 2.36047e+00_rb, 2.38491e+00_rb, 2.40959e+00_rb, & & 2.43454e+00_rb, 2.45974e+00_rb, 2.48521e+00_rb, 2.51094e+00_rb, 2.53693e+00_rb, & & 2.56319e+00_rb, 2.58973e+00_rb, 2.61654e+00_rb, 2.64363e+00_rb/) kao_mn2o( 7, :, 9) = (/ & & 2.07829e+00_rb, 2.10090e+00_rb, 2.12375e+00_rb, 2.14685e+00_rb, 2.17021e+00_rb, & & 2.19381e+00_rb, 2.21767e+00_rb, 2.24180e+00_rb, 2.26618e+00_rb, 2.29083e+00_rb, & & 2.31575e+00_rb, 2.34094e+00_rb, 2.36640e+00_rb, 2.39214e+00_rb, 2.41816e+00_rb, & & 2.44446e+00_rb, 2.47105e+00_rb, 2.49793e+00_rb, 2.52510e+00_rb/) kao_mn2o( 8, :, 9) = (/ & & 1.68230e+00_rb, 1.70305e+00_rb, 1.72404e+00_rb, 1.74530e+00_rb, 1.76681e+00_rb, & & 1.78860e+00_rb, 1.81065e+00_rb, 1.83297e+00_rb, 1.85557e+00_rb, 1.87845e+00_rb, & & 1.90161e+00_rb, 1.92505e+00_rb, 1.94878e+00_rb, 1.97281e+00_rb, 1.99713e+00_rb, & & 2.02176e+00_rb, 2.04668e+00_rb, 2.07191e+00_rb, 2.09746e+00_rb/) kao_mn2o( 9, :, 9) = (/ & & 2.23224e+00_rb, 2.25486e+00_rb, 2.27771e+00_rb, 2.30079e+00_rb, 2.32411e+00_rb, & & 2.34766e+00_rb, 2.37145e+00_rb, 2.39548e+00_rb, 2.41975e+00_rb, 2.44427e+00_rb, & & 2.46904e+00_rb, 2.49406e+00_rb, 2.51933e+00_rb, 2.54486e+00_rb, 2.57065e+00_rb, & & 2.59670e+00_rb, 2.62301e+00_rb, 2.64959e+00_rb, 2.67644e+00_rb/) kao_mn2o( 1, :,10) = (/ & & 1.30711e+01_rb, 1.31853e+01_rb, 1.33004e+01_rb, 1.34166e+01_rb, 1.35339e+01_rb, & & 1.36521e+01_rb, 1.37714e+01_rb, 1.38917e+01_rb, 1.40130e+01_rb, 1.41355e+01_rb, & & 1.42590e+01_rb, 1.43835e+01_rb, 1.45092e+01_rb, 1.46360e+01_rb, 1.47638e+01_rb, & & 1.48928e+01_rb, 1.50229e+01_rb, 1.51542e+01_rb, 1.52866e+01_rb/) kao_mn2o( 2, :,10) = (/ & & 2.71206e-01_rb, 2.90148e-01_rb, 3.10413e-01_rb, 3.32093e-01_rb, 3.55287e-01_rb, & & 3.80102e-01_rb, 4.06649e-01_rb, 4.35051e-01_rb, 4.65436e-01_rb, 4.97943e-01_rb, & & 5.32721e-01_rb, 5.69928e-01_rb, 6.09733e-01_rb, 6.52319e-01_rb, 6.97879e-01_rb, & & 7.46621e-01_rb, 7.98767e-01_rb, 8.54555e-01_rb, 9.14239e-01_rb/) kao_mn2o( 3, :,10) = (/ & & 2.65609e-01_rb, 2.84236e-01_rb, 3.04170e-01_rb, 3.25501e-01_rb, 3.48329e-01_rb, & & 3.72758e-01_rb, 3.98900e-01_rb, 4.26875e-01_rb, 4.56812e-01_rb, 4.88849e-01_rb, & & 5.23132e-01_rb, 5.59820e-01_rb, 5.99080e-01_rb, 6.41095e-01_rb, 6.86055e-01_rb, & & 7.34169e-01_rb, 7.85657e-01_rb, 8.40756e-01_rb, 8.99718e-01_rb/) kao_mn2o( 4, :,10) = (/ & & 2.55277e-01_rb, 2.73370e-01_rb, 2.92745e-01_rb, 3.13494e-01_rb, 3.35714e-01_rb, & & 3.59508e-01_rb, 3.84989e-01_rb, 4.12275e-01_rb, 4.41496e-01_rb, 4.72788e-01_rb, & & 5.06298e-01_rb, 5.42183e-01_rb, 5.80611e-01_rb, 6.21763e-01_rb, 6.65831e-01_rb, & & 7.13023e-01_rb, 7.63560e-01_rb, 8.17678e-01_rb, 8.75633e-01_rb/) kao_mn2o( 5, :,10) = (/ & & 2.41481e-01_rb, 2.58840e-01_rb, 2.77446e-01_rb, 2.97390e-01_rb, 3.18768e-01_rb, & & 3.41682e-01_rb, 3.66244e-01_rb, 3.92571e-01_rb, 4.20791e-01_rb, 4.51039e-01_rb, & & 4.83461e-01_rb, 5.18215e-01_rb, 5.55466e-01_rb, 5.95396e-01_rb, 6.38195e-01_rb, & & 6.84071e-01_rb, 7.33245e-01_rb, 7.85954e-01_rb, 8.42452e-01_rb/) kao_mn2o( 6, :,10) = (/ & & 2.37173e-01_rb, 2.54360e-01_rb, 2.72792e-01_rb, 2.92559e-01_rb, 3.13759e-01_rb, & & 3.36495e-01_rb, 3.60878e-01_rb, 3.87029e-01_rb, 4.15074e-01_rb, 4.45152e-01_rb, & & 4.77409e-01_rb, 5.12004e-01_rb, 5.49105e-01_rb, 5.88895e-01_rb, 6.31569e-01_rb, & & 6.77334e-01_rb, 7.26416e-01_rb, 7.79055e-01_rb, 8.35508e-01_rb/) kao_mn2o( 7, :,10) = (/ & & 2.27414e-01_rb, 2.44231e-01_rb, 2.62292e-01_rb, 2.81689e-01_rb, 3.02520e-01_rb, & & 3.24891e-01_rb, 3.48917e-01_rb, 3.74720e-01_rb, 4.02430e-01_rb, 4.32190e-01_rb, & & 4.64151e-01_rb, 4.98475e-01_rb, 5.35337e-01_rb, 5.74926e-01_rb, 6.17442e-01_rb, & & 6.63102e-01_rb, 7.12138e-01_rb, 7.64801e-01_rb, 8.21358e-01_rb/) kao_mn2o( 8, :,10) = (/ & & 1.77234e-01_rb, 1.92029e-01_rb, 2.08060e-01_rb, 2.25429e-01_rb, 2.44248e-01_rb, & & 2.64638e-01_rb, 2.86730e-01_rb, 3.10667e-01_rb, 3.36601e-01_rb, 3.64701e-01_rb, & & 3.95147e-01_rb, 4.28134e-01_rb, 4.63875e-01_rb, 5.02600e-01_rb, 5.44557e-01_rb, & & 5.90017e-01_rb, 6.39272e-01_rb, 6.92639e-01_rb, 7.50461e-01_rb/) kao_mn2o( 9, :,10) = (/ & & 2.41727e-01_rb, 2.59094e-01_rb, 2.77710e-01_rb, 2.97662e-01_rb, 3.19049e-01_rb, & & 3.41972e-01_rb, 3.66541e-01_rb, 3.92877e-01_rb, 4.21104e-01_rb, 4.51359e-01_rb, & & 4.83788e-01_rb, 5.18547e-01_rb, 5.55804e-01_rb, 5.95737e-01_rb, 6.38539e-01_rb, & & 6.84417e-01_rb, 7.33590e-01_rb, 7.86297e-01_rb, 8.42790e-01_rb/) kao_mn2o( 1, :,11) = (/ & & 6.65287e+00_rb, 6.69137e+00_rb, 6.73008e+00_rb, 6.76903e+00_rb, 6.80820e+00_rb, & & 6.84759e+00_rb, 6.88721e+00_rb, 6.92707e+00_rb, 6.96715e+00_rb, 7.00746e+00_rb, & & 7.04801e+00_rb, 7.08879e+00_rb, 7.12981e+00_rb, 7.17107e+00_rb, 7.21256e+00_rb, & & 7.25430e+00_rb, 7.29628e+00_rb, 7.33850e+00_rb, 7.38096e+00_rb/) kao_mn2o( 2, :,11) = (/ & & 2.06252e-01_rb, 2.27731e-01_rb, 2.51447e-01_rb, 2.77633e-01_rb, 3.06546e-01_rb, & & 3.38470e-01_rb, 3.73719e-01_rb, 4.12638e-01_rb, 4.55611e-01_rb, 5.03058e-01_rb, & & 5.55447e-01_rb, 6.13292e-01_rb, 6.77160e-01_rb, 7.47680e-01_rb, 8.25544e-01_rb, & & 9.11517e-01_rb, 1.00644e+00_rb, 1.11125e+00_rb, 1.22698e+00_rb/) kao_mn2o( 3, :,11) = (/ & & 2.05840e-01_rb, 2.27279e-01_rb, 2.50952e-01_rb, 2.77090e-01_rb, 3.05950e-01_rb, & & 3.37816e-01_rb, 3.73002e-01_rb, 4.11852e-01_rb, 4.54748e-01_rb, 5.02113e-01_rb, & & 5.54411e-01_rb, 6.12155e-01_rb, 6.75915e-01_rb, 7.46315e-01_rb, 8.24047e-01_rb, & & 9.09876e-01_rb, 1.00465e+00_rb, 1.10928e+00_rb, 1.22482e+00_rb/) kao_mn2o( 4, :,11) = (/ & & 2.04702e-01_rb, 2.26031e-01_rb, 2.49582e-01_rb, 2.75587e-01_rb, 3.04301e-01_rb, & & 3.36008e-01_rb, 3.71018e-01_rb, 4.09675e-01_rb, 4.52361e-01_rb, 4.99495e-01_rb, & & 5.51539e-01_rb, 6.09007e-01_rb, 6.72461e-01_rb, 7.42528e-01_rb, 8.19895e-01_rb, & & 9.05323e-01_rb, 9.99653e-01_rb, 1.10381e+00_rb, 1.21882e+00_rb/) kao_mn2o( 5, :,11) = (/ & & 2.03481e-01_rb, 2.24689e-01_rb, 2.48108e-01_rb, 2.73967e-01_rb, 3.02522e-01_rb, & & 3.34053e-01_rb, 3.68871e-01_rb, 4.07317e-01_rb, 4.49771e-01_rb, 4.96649e-01_rb, & & 5.48414e-01_rb, 6.05574e-01_rb, 6.68691e-01_rb, 7.38387e-01_rb, 8.15347e-01_rb, & & 9.00329e-01_rb, 9.94168e-01_rb, 1.09779e+00_rb, 1.21221e+00_rb/) kao_mn2o( 6, :,11) = (/ & & 2.01513e-01_rb, 2.22529e-01_rb, 2.45738e-01_rb, 2.71367e-01_rb, 2.99670e-01_rb, & & 3.30924e-01_rb, 3.65437e-01_rb, 4.03550e-01_rb, 4.45639e-01_rb, 4.92117e-01_rb, & & 5.43442e-01_rb, 6.00120e-01_rb, 6.62710e-01_rb, 7.31827e-01_rb, 8.08153e-01_rb, & & 8.92439e-01_rb, 9.85516e-01_rb, 1.08830e+00_rb, 1.20180e+00_rb/) kao_mn2o( 7, :,11) = (/ & & 1.97136e-01_rb, 2.17723e-01_rb, 2.40459e-01_rb, 2.65570e-01_rb, 2.93304e-01_rb, & & 3.23933e-01_rb, 3.57762e-01_rb, 3.95122e-01_rb, 4.36385e-01_rb, 4.81956e-01_rb, & & 5.32287e-01_rb, 5.87873e-01_rb, 6.49264e-01_rb, 7.17067e-01_rb, 7.91950e-01_rb, & & 8.74653e-01_rb, 9.65992e-01_rb, 1.06687e+00_rb, 1.17828e+00_rb/) kao_mn2o( 8, :,11) = (/ & & 1.79518e-01_rb, 1.98371e-01_rb, 2.19204e-01_rb, 2.42224e-01_rb, 2.67662e-01_rb, & & 2.95772e-01_rb, 3.26833e-01_rb, 3.61157e-01_rb, 3.99085e-01_rb, 4.40996e-01_rb, & & 4.87309e-01_rb, 5.38486e-01_rb, 5.95037e-01_rb, 6.57526e-01_rb, 7.26579e-01_rb, & & 8.02883e-01_rb, 8.87201e-01_rb, 9.80373e-01_rb, 1.08333e+00_rb/) kao_mn2o( 9, :,11) = (/ & & 2.03481e-01_rb, 2.24689e-01_rb, 2.48108e-01_rb, 2.73967e-01_rb, 3.02522e-01_rb, & & 3.34053e-01_rb, 3.68871e-01_rb, 4.07317e-01_rb, 4.49771e-01_rb, 4.96649e-01_rb, & & 5.48414e-01_rb, 6.05574e-01_rb, 6.68691e-01_rb, 7.38387e-01_rb, 8.15347e-01_rb, & & 9.00329e-01_rb, 9.94168e-01_rb, 1.09779e+00_rb, 1.21221e+00_rb/) kao_mn2o( 1, :,12) = (/ & & 5.89636e+00_rb, 5.95081e+00_rb, 6.00576e+00_rb, 6.06121e+00_rb, 6.11718e+00_rb, & & 6.17366e+00_rb, 6.23067e+00_rb, 6.28820e+00_rb, 6.34627e+00_rb, 6.40487e+00_rb, & & 6.46401e+00_rb, 6.52369e+00_rb, 6.58393e+00_rb, 6.64472e+00_rb, 6.70608e+00_rb, & & 6.76800e+00_rb, 6.83050e+00_rb, 6.89357e+00_rb, 6.95722e+00_rb/) kao_mn2o( 2, :,12) = (/ & & 7.18699e-05_rb, 9.48140e-05_rb, 1.25083e-04_rb, 1.65015e-04_rb, 2.17695e-04_rb, & & 2.87193e-04_rb, 3.78877e-04_rb, 4.99831e-04_rb, 6.59400e-04_rb, 8.69909e-04_rb, & & 1.14762e-03_rb, 1.51400e-03_rb, 1.99733e-03_rb, 2.63497e-03_rb, 3.47616e-03_rb, & & 4.58591e-03_rb, 6.04993e-03_rb, 7.98133e-03_rb, 1.05293e-02_rb/) kao_mn2o( 3, :,12) = (/ & & 7.20868e-05_rb, 9.50993e-05_rb, 1.25458e-04_rb, 1.65508e-04_rb, 2.18344e-04_rb, & & 2.88046e-04_rb, 3.80000e-04_rb, 5.01307e-04_rb, 6.61341e-04_rb, 8.72462e-04_rb, & & 1.15098e-03_rb, 1.51841e-03_rb, 2.00313e-03_rb, 2.64260e-03_rb, 3.48620e-03_rb, & & 4.59911e-03_rb, 6.06729e-03_rb, 8.00416e-03_rb, 1.05593e-02_rb/) kao_mn2o( 4, :,12) = (/ & & 7.21734e-05_rb, 9.52161e-05_rb, 1.25616e-04_rb, 1.65721e-04_rb, 2.18630e-04_rb, & & 2.88432e-04_rb, 3.80519e-04_rb, 5.02007e-04_rb, 6.62282e-04_rb, 8.73727e-04_rb, & & 1.15268e-03_rb, 1.52070e-03_rb, 2.00621e-03_rb, 2.64673e-03_rb, 3.49174e-03_rb, & & 4.60655e-03_rb, 6.07727e-03_rb, 8.01755e-03_rb, 1.05773e-02_rb/) kao_mn2o( 5, :,12) = (/ & & 7.22599e-05_rb, 9.53329e-05_rb, 1.25773e-04_rb, 1.65933e-04_rb, 2.18916e-04_rb, & & 2.88818e-04_rb, 3.81038e-04_rb, 5.02706e-04_rb, 6.63223e-04_rb, 8.74992e-04_rb, & & 1.15438e-03_rb, 1.52298e-03_rb, 2.00928e-03_rb, 2.65085e-03_rb, 3.49728e-03_rb, & & 4.61398e-03_rb, 6.08725e-03_rb, 8.03094e-03_rb, 1.05952e-02_rb/) kao_mn2o( 6, :,12) = (/ & & 7.29962e-05_rb, 9.63091e-05_rb, 1.27067e-04_rb, 1.67649e-04_rb, 2.21191e-04_rb, & & 2.91833e-04_rb, 3.85036e-04_rb, 5.08005e-04_rb, 6.70247e-04_rb, 8.84304e-04_rb, & & 1.16672e-03_rb, 1.53934e-03_rb, 2.03096e-03_rb, 2.67959e-03_rb, 3.53537e-03_rb, & & 4.66447e-03_rb, 6.15417e-03_rb, 8.11962e-03_rb, 1.07128e-02_rb/) kao_mn2o( 7, :,12) = (/ & & 7.47398e-05_rb, 9.86139e-05_rb, 1.30114e-04_rb, 1.71677e-04_rb, 2.26516e-04_rb, & & 2.98872e-04_rb, 3.94340e-04_rb, 5.20305e-04_rb, 6.86506e-04_rb, 9.05797e-04_rb, & & 1.19514e-03_rb, 1.57690e-03_rb, 2.08061e-03_rb, 2.74522e-03_rb, 3.62213e-03_rb, & & 4.77915e-03_rb, 6.30576e-03_rb, 8.32001e-03_rb, 1.09777e-02_rb/) kao_mn2o( 8, :,12) = (/ & & 7.57487e-05_rb, 9.99802e-05_rb, 1.31963e-04_rb, 1.74177e-04_rb, 2.29896e-04_rb, & & 3.03438e-04_rb, 4.00506e-04_rb, 5.28625e-04_rb, 6.97729e-04_rb, 9.20927e-04_rb, & & 1.21553e-03_rb, 1.60437e-03_rb, 2.11759e-03_rb, 2.79499e-03_rb, 3.68909e-03_rb, & & 4.86921e-03_rb, 6.42684e-03_rb, 8.48274e-03_rb, 1.11963e-02_rb/) kao_mn2o( 9, :,12) = (/ & & 7.22467e-05_rb, 9.53177e-05_rb, 1.25756e-04_rb, 1.65915e-04_rb, 2.18898e-04_rb, & & 2.88800e-04_rb, 3.81024e-04_rb, 5.02700e-04_rb, 6.63231e-04_rb, 8.75024e-04_rb, & & 1.15445e-03_rb, 1.52311e-03_rb, 2.00950e-03_rb, 2.65121e-03_rb, 3.49784e-03_rb, & & 4.61483e-03_rb, 6.08852e-03_rb, 8.03280e-03_rb, 1.05980e-02_rb/) kao_mn2o( 1, :,13) = (/ & & 1.14265e+01_rb, 1.16380e+01_rb, 1.18534e+01_rb, 1.20728e+01_rb, 1.22962e+01_rb, & & 1.25238e+01_rb, 1.27556e+01_rb, 1.29917e+01_rb, 1.32322e+01_rb, 1.34771e+01_rb, & & 1.37265e+01_rb, 1.39806e+01_rb, 1.42394e+01_rb, 1.45029e+01_rb, 1.47714e+01_rb, & & 1.50448e+01_rb, 1.53232e+01_rb, 1.56068e+01_rb, 1.58957e+01_rb/) kao_mn2o( 2, :,13) = (/ & & 7.97796e-05_rb, 1.05659e-04_rb, 1.39932e-04_rb, 1.85324e-04_rb, 2.45439e-04_rb, & & 3.25054e-04_rb, 4.30496e-04_rb, 5.70140e-04_rb, 7.55082e-04_rb, 1.00002e-03_rb, & & 1.32440e-03_rb, 1.75401e-03_rb, 2.32298e-03_rb, 3.07651e-03_rb, 4.07447e-03_rb, & & 5.39614e-03_rb, 7.14655e-03_rb, 9.46475e-03_rb, 1.25349e-02_rb/) kao_mn2o( 3, :,13) = (/ & & 7.95035e-05_rb, 1.05293e-04_rb, 1.39449e-04_rb, 1.84684e-04_rb, 2.44592e-04_rb, & & 3.23934e-04_rb, 4.29013e-04_rb, 5.68178e-04_rb, 7.52486e-04_rb, 9.96580e-04_rb, & & 1.31985e-03_rb, 1.74800e-03_rb, 2.31502e-03_rb, 3.06597e-03_rb, 4.06052e-03_rb, & & 5.37770e-03_rb, 7.12214e-03_rb, 9.43244e-03_rb, 1.24922e-02_rb/) kao_mn2o( 4, :,13) = (/ & & 7.92339e-05_rb, 1.04938e-04_rb, 1.38980e-04_rb, 1.84065e-04_rb, 2.43776e-04_rb, & & 3.22857e-04_rb, 4.27593e-04_rb, 5.66305e-04_rb, 7.50016e-04_rb, 9.93322e-04_rb, & & 1.31556e-03_rb, 1.74233e-03_rb, 2.30754e-03_rb, 3.05612e-03_rb, 4.04752e-03_rb, & & 5.36055e-03_rb, 7.09953e-03_rb, 9.40262e-03_rb, 1.24528e-02_rb/) kao_mn2o( 5, :,13) = (/ & & 7.90000e-05_rb, 1.04627e-04_rb, 1.38566e-04_rb, 1.83516e-04_rb, 2.43046e-04_rb, & & 3.21887e-04_rb, 4.26303e-04_rb, 5.64591e-04_rb, 7.47738e-04_rb, 9.90295e-04_rb, & & 1.31154e-03_rb, 1.73698e-03_rb, 2.30044e-03_rb, 3.04667e-03_rb, 4.03498e-03_rb, & & 5.34388e-03_rb, 7.07737e-03_rb, 9.37318e-03_rb, 1.24137e-02_rb/) kao_mn2o( 6, :,13) = (/ & & 7.76004e-05_rb, 1.02776e-04_rb, 1.36118e-04_rb, 1.80278e-04_rb, 2.38764e-04_rb, & & 3.16224e-04_rb, 4.18814e-04_rb, 5.54686e-04_rb, 7.34638e-04_rb, 9.72970e-04_rb, & & 1.28862e-03_rb, 1.70668e-03_rb, 2.26036e-03_rb, 2.99367e-03_rb, 3.96488e-03_rb, & & 5.25118e-03_rb, 6.95477e-03_rb, 9.21105e-03_rb, 1.21993e-02_rb/) kao_mn2o( 7, :,13) = (/ & & 7.52813e-05_rb, 9.97094e-05_rb, 1.32064e-04_rb, 1.74918e-04_rb, 2.31677e-04_rb, & & 3.06854e-04_rb, 4.06426e-04_rb, 5.38308e-04_rb, 7.12984e-04_rb, 9.44341e-04_rb, & & 1.25077e-03_rb, 1.65664e-03_rb, 2.19420e-03_rb, 2.90620e-03_rb, 3.84923e-03_rb, & & 5.09828e-03_rb, 6.75263e-03_rb, 8.94379e-03_rb, 1.18460e-02_rb/) kao_mn2o( 8, :,13) = (/ & & 6.87436e-05_rb, 9.10605e-05_rb, 1.20622e-04_rb, 1.59781e-04_rb, 2.11653e-04_rb, & & 2.80364e-04_rb, 3.71381e-04_rb, 4.91946e-04_rb, 6.51651e-04_rb, 8.63203e-04_rb, & & 1.14343e-03_rb, 1.51464e-03_rb, 2.00635e-03_rb, 2.65769e-03_rb, 3.52048e-03_rb, & & 4.66337e-03_rb, 6.17729e-03_rb, 8.18269e-03_rb, 1.08391e-02_rb/) kao_mn2o( 9, :,13) = (/ & & 7.90357e-05_rb, 1.04671e-04_rb, 1.38622e-04_rb, 1.83585e-04_rb, 2.43132e-04_rb, & & 3.21994e-04_rb, 4.26434e-04_rb, 5.64750e-04_rb, 7.47931e-04_rb, 9.90526e-04_rb, & & 1.31181e-03_rb, 1.73730e-03_rb, 2.30081e-03_rb, 3.04709e-03_rb, 4.03543e-03_rb, & & 5.34435e-03_rb, 7.07782e-03_rb, 9.37355e-03_rb, 1.24139e-02_rb/) kao_mn2o( 1, :,14) = (/ & & 1.61373e+01_rb, 1.64784e+01_rb, 1.68266e+01_rb, 1.71822e+01_rb, 1.75454e+01_rb, & & 1.79162e+01_rb, 1.82948e+01_rb, 1.86814e+01_rb, 1.90762e+01_rb, 1.94794e+01_rb, & & 1.98911e+01_rb, 2.03114e+01_rb, 2.07407e+01_rb, 2.11790e+01_rb, 2.16266e+01_rb, & & 2.20836e+01_rb, 2.25504e+01_rb, 2.30269e+01_rb, 2.35136e+01_rb/) kao_mn2o( 2, :,14) = (/ & & 6.92866e-10_rb, 9.24655e-10_rb, 1.23398e-09_rb, 1.64680e-09_rb, 2.19771e-09_rb, & & 2.93292e-09_rb, 3.91409e-09_rb, 5.22349e-09_rb, 6.97093e-09_rb, 9.30295e-09_rb, & & 1.24151e-08_rb, 1.65684e-08_rb, 2.21111e-08_rb, 2.95081e-08_rb, 3.93796e-08_rb, & & 5.25535e-08_rb, 7.01346e-08_rb, 9.35970e-08_rb, 1.24908e-07_rb/) kao_mn2o( 3, :,14) = (/ & & 6.94564e-10_rb, 9.26928e-10_rb, 1.23703e-09_rb, 1.65088e-09_rb, 2.20317e-09_rb, & & 2.94024e-09_rb, 3.92389e-09_rb, 5.23661e-09_rb, 6.98851e-09_rb, 9.32650e-09_rb, & & 1.24467e-08_rb, 1.66107e-08_rb, 2.21677e-08_rb, 2.95839e-08_rb, 3.94811e-08_rb, & & 5.26894e-08_rb, 7.03165e-08_rb, 9.38407e-08_rb, 1.25235e-07_rb/) kao_mn2o( 4, :,14) = (/ & & 6.98644e-10_rb, 9.32310e-10_rb, 1.24413e-09_rb, 1.66023e-09_rb, 2.21551e-09_rb, & & 2.95649e-09_rb, 3.94531e-09_rb, 5.26484e-09_rb, 7.02570e-09_rb, 9.37548e-09_rb, & & 1.25112e-08_rb, 1.66956e-08_rb, 2.22795e-08_rb, 2.97311e-08_rb, 3.96748e-08_rb, & & 5.29443e-08_rb, 7.06518e-08_rb, 9.42817e-08_rb, 1.25815e-07_rb/) kao_mn2o( 5, :,14) = (/ & & 7.03261e-10_rb, 9.38472e-10_rb, 1.25235e-09_rb, 1.67121e-09_rb, 2.23016e-09_rb, & & 2.97605e-09_rb, 3.97141e-09_rb, 5.29968e-09_rb, 7.07220e-09_rb, 9.43754e-09_rb, & & 1.25940e-08_rb, 1.68062e-08_rb, 2.24271e-08_rb, 2.99280e-08_rb, 3.99376e-08_rb, & & 5.32951e-08_rb, 7.11200e-08_rb, 9.49066e-08_rb, 1.26649e-07_rb/) kao_mn2o( 6, :,14) = (/ & & 7.12478e-10_rb, 9.50674e-10_rb, 1.26850e-09_rb, 1.69259e-09_rb, 2.25845e-09_rb, & & 3.01350e-09_rb, 4.02096e-09_rb, 5.36525e-09_rb, 7.15896e-09_rb, 9.55233e-09_rb, & & 1.27459e-08_rb, 1.70071e-08_rb, 2.26928e-08_rb, 3.02795e-08_rb, 4.04025e-08_rb, & & 5.39099e-08_rb, 7.19330e-08_rb, 9.59815e-08_rb, 1.28070e-07_rb/) kao_mn2o( 7, :,14) = (/ & & 7.28994e-10_rb, 9.72644e-10_rb, 1.29773e-09_rb, 1.73147e-09_rb, 2.31017e-09_rb, & & 3.08230e-09_rb, 4.11249e-09_rb, 5.48700e-09_rb, 7.32092e-09_rb, 9.76777e-09_rb, & & 1.30324e-08_rb, 1.73883e-08_rb, 2.31999e-08_rb, 3.09540e-08_rb, 4.12996e-08_rb, & & 5.51032e-08_rb, 7.35203e-08_rb, 9.80928e-08_rb, 1.30878e-07_rb/) kao_mn2o( 8, :,14) = (/ & & 7.87604e-10_rb, 1.05043e-09_rb, 1.40097e-09_rb, 1.86848e-09_rb, 2.49201e-09_rb, & & 3.32360e-09_rb, 4.43271e-09_rb, 5.91194e-09_rb, 7.88479e-09_rb, 1.05160e-08_rb, & & 1.40253e-08_rb, 1.87056e-08_rb, 2.49478e-08_rb, 3.32730e-08_rb, 4.43764e-08_rb, & & 5.91851e-08_rb, 7.89356e-08_rb, 1.05277e-07_rb, 1.40408e-07_rb/) kao_mn2o( 9, :,14) = (/ & & 7.03261e-10_rb, 9.38472e-10_rb, 1.25235e-09_rb, 1.67121e-09_rb, 2.23016e-09_rb, & & 2.97605e-09_rb, 3.97141e-09_rb, 5.29968e-09_rb, 7.07220e-09_rb, 9.43754e-09_rb, & & 1.25940e-08_rb, 1.68062e-08_rb, 2.24271e-08_rb, 2.99280e-08_rb, 3.99376e-08_rb, & & 5.32951e-08_rb, 7.11200e-08_rb, 9.49066e-08_rb, 1.26649e-07_rb/) kao_mn2o( 1, :,15) = (/ & & 2.14029e+01_rb, 2.16782e+01_rb, 2.19571e+01_rb, 2.22396e+01_rb, 2.25257e+01_rb, & & 2.28155e+01_rb, 2.31090e+01_rb, 2.34063e+01_rb, 2.37074e+01_rb, 2.40124e+01_rb, & & 2.43213e+01_rb, 2.46342e+01_rb, 2.49511e+01_rb, 2.52721e+01_rb, 2.55972e+01_rb, & & 2.59265e+01_rb, 2.62600e+01_rb, 2.65979e+01_rb, 2.69400e+01_rb/) kao_mn2o( 2, :,15) = (/ & & 5.68659e-10_rb, 7.55629e-10_rb, 1.00407e-09_rb, 1.33421e-09_rb, 1.77288e-09_rb, & & 2.35579e-09_rb, 3.13036e-09_rb, 4.15960e-09_rb, 5.52724e-09_rb, 7.34455e-09_rb, & & 9.75939e-09_rb, 1.29682e-08_rb, 1.72320e-08_rb, 2.28978e-08_rb, 3.04264e-08_rb, & & 4.04304e-08_rb, 5.37236e-08_rb, 7.13875e-08_rb, 9.48591e-08_rb/) kao_mn2o( 3, :,15) = (/ & & 5.59573e-10_rb, 7.43558e-10_rb, 9.88035e-10_rb, 1.31290e-09_rb, 1.74457e-09_rb, & & 2.31817e-09_rb, 3.08037e-09_rb, 4.09318e-09_rb, 5.43900e-09_rb, 7.22730e-09_rb, & & 9.60360e-09_rb, 1.27612e-08_rb, 1.69570e-08_rb, 2.25324e-08_rb, 2.99409e-08_rb, & & 3.97853e-08_rb, 5.28665e-08_rb, 7.02486e-08_rb, 9.33459e-08_rb/) kao_mn2o( 4, :,15) = (/ & & 5.50488e-10_rb, 7.31486e-10_rb, 9.71996e-10_rb, 1.29158e-09_rb, 1.71625e-09_rb, & & 2.28055e-09_rb, 3.03039e-09_rb, 4.02676e-09_rb, 5.35075e-09_rb, 7.11005e-09_rb, & & 9.44781e-09_rb, 1.25542e-08_rb, 1.66820e-08_rb, 2.21670e-08_rb, 2.94554e-08_rb, & & 3.91402e-08_rb, 5.20093e-08_rb, 6.91098e-08_rb, 9.18327e-08_rb/) kao_mn2o( 5, :,15) = (/ & & 5.34010e-10_rb, 7.09574e-10_rb, 9.42858e-10_rb, 1.25284e-09_rb, 1.66473e-09_rb, & & 2.21203e-09_rb, 2.93927e-09_rb, 3.90560e-09_rb, 5.18963e-09_rb, 6.89580e-09_rb, & & 9.16290e-09_rb, 1.21754e-08_rb, 1.61782e-08_rb, 2.14970e-08_rb, 2.85645e-08_rb, & & 3.79555e-08_rb, 5.04340e-08_rb, 6.70149e-08_rb, 8.90470e-08_rb/) kao_mn2o( 6, :,15) = (/ & & 5.08144e-10_rb, 6.75221e-10_rb, 8.97231e-10_rb, 1.19224e-09_rb, 1.58424e-09_rb, & & 2.10513e-09_rb, 2.79729e-09_rb, 3.71703e-09_rb, 4.93919e-09_rb, 6.56317e-09_rb, & & 8.72112e-09_rb, 1.15886e-08_rb, 1.53989e-08_rb, 2.04620e-08_rb, 2.71898e-08_rb, & & 3.61297e-08_rb, 4.80091e-08_rb, 6.37943e-08_rb, 8.47696e-08_rb/) kao_mn2o( 7, :,15) = (/ & & 4.56716e-10_rb, 6.06884e-10_rb, 8.06427e-10_rb, 1.07158e-09_rb, 1.42391e-09_rb, & & 1.89210e-09_rb, 2.51422e-09_rb, 3.34089e-09_rb, 4.43938e-09_rb, 5.89904e-09_rb, & & 7.83864e-09_rb, 1.04160e-08_rb, 1.38408e-08_rb, 1.83916e-08_rb, 2.44387e-08_rb, & & 3.24742e-08_rb, 4.31517e-08_rb, 5.73399e-08_rb, 7.61932e-08_rb/) kao_mn2o( 8, :,15) = (/ & & 2.78366e-10_rb, 3.69881e-10_rb, 4.91482e-10_rb, 6.53061e-10_rb, 8.67760e-10_rb, & & 1.15304e-09_rb, 1.53211e-09_rb, 2.03581e-09_rb, 2.70510e-09_rb, 3.59441e-09_rb, & & 4.77611e-09_rb, 6.34629e-09_rb, 8.43268e-09_rb, 1.12050e-08_rb, 1.48887e-08_rb, & & 1.97835e-08_rb, 2.62875e-08_rb, 3.49296e-08_rb, 4.64130e-08_rb/) kao_mn2o( 9, :,15) = (/ & & 5.34010e-10_rb, 7.09574e-10_rb, 9.42858e-10_rb, 1.25284e-09_rb, 1.66473e-09_rb, & & 2.21203e-09_rb, 2.93927e-09_rb, 3.90560e-09_rb, 5.18963e-09_rb, 6.89580e-09_rb, & & 9.16290e-09_rb, 1.21754e-08_rb, 1.61782e-08_rb, 2.14970e-08_rb, 2.85645e-08_rb, & & 3.79555e-08_rb, 5.04340e-08_rb, 6.70149e-08_rb, 8.90470e-08_rb/) kao_mn2o( 1, :,16) = (/ & & 2.90784e+01_rb, 2.93787e+01_rb, 2.96820e+01_rb, 2.99885e+01_rb, 3.02982e+01_rb, & & 3.06110e+01_rb, 3.09271e+01_rb, 3.12464e+01_rb, 3.15690e+01_rb, 3.18950e+01_rb, & & 3.22243e+01_rb, 3.25571e+01_rb, 3.28932e+01_rb, 3.32329e+01_rb, 3.35760e+01_rb, & & 3.39227e+01_rb, 3.42730e+01_rb, 3.46269e+01_rb, 3.49844e+01_rb/) kao_mn2o( 2, :,16) = (/ & & 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, & & 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, & & 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, & & 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb/) kao_mn2o( 3, :,16) = (/ & & 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, & & 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, & & 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, & & 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb/) kao_mn2o( 4, :,16) = (/ & & 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, & & 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, & & 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, & & 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb/) kao_mn2o( 5, :,16) = (/ & & 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, & & 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, & & 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, & & 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb/) kao_mn2o( 6, :,16) = (/ & & 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, & & 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, & & 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, & & 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb/) kao_mn2o( 7, :,16) = (/ & & 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, & & 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, & & 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, & & 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb/) kao_mn2o( 8, :,16) = (/ & & 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, & & 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, & & 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, & & 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb/) kao_mn2o( 9, :,16) = (/ & & 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, & & 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, & & 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, & & 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb, 0.00000e+00_rb/) ! The array KBO_Mxx contains the absorption coefficient for ! a minor species at the 16 chosen g-values for a reference pressure ! level above 100~ mb. The first index refers to temperature ! in 7.2 degree increments. For instance, JT = 1 refers to a ! temperature of 188.0, JT = 2 refers to 195.2, etc. The second index ! runs over the g-channel (1 to 16). kbo_mn2o(:, 1) = (/ & & 8.42688e-03_rb, 8.96787e-03_rb, 9.54358e-03_rb, 1.01563e-02_rb, 1.08083e-02_rb, & & 1.15021e-02_rb, 1.22405e-02_rb, 1.30263e-02_rb, 1.38626e-02_rb, 1.47525e-02_rb, & & 1.56996e-02_rb, 1.67075e-02_rb, 1.77800e-02_rb, 1.89215e-02_rb, 2.01362e-02_rb, & & 2.14289e-02_rb, 2.28045e-02_rb, 2.42685e-02_rb, 2.58265e-02_rb/) kbo_mn2o(:, 2) = (/ & & 2.24976e-02_rb, 2.38935e-02_rb, 2.53762e-02_rb, 2.69508e-02_rb, 2.86231e-02_rb, & & 3.03991e-02_rb, 3.22854e-02_rb, 3.42887e-02_rb, 3.64163e-02_rb, 3.86760e-02_rb, & & 4.10759e-02_rb, 4.36246e-02_rb, 4.63315e-02_rb, 4.92064e-02_rb, 5.22597e-02_rb, & & 5.55024e-02_rb, 5.89464e-02_rb, 6.26040e-02_rb, 6.64886e-02_rb/) kbo_mn2o(:, 3) = (/ & & 5.93542e-02_rb, 6.37312e-02_rb, 6.84310e-02_rb, 7.34774e-02_rb, 7.88960e-02_rb, & & 8.47141e-02_rb, 9.09613e-02_rb, 9.76692e-02_rb, 1.04872e-01_rb, 1.12605e-01_rb, & & 1.20910e-01_rb, 1.29826e-01_rb, 1.39400e-01_rb, 1.49680e-01_rb, 1.60718e-01_rb, & & 1.72570e-01_rb, 1.85296e-01_rb, 1.98961e-01_rb, 2.13633e-01_rb/) kbo_mn2o(:, 4) = (/ & & 1.98022e-01_rb, 2.05895e-01_rb, 2.14082e-01_rb, 2.22594e-01_rb, 2.31445e-01_rb, & & 2.40647e-01_rb, 2.50216e-01_rb, 2.60164e-01_rb, 2.70509e-01_rb, 2.81265e-01_rb, & & 2.92448e-01_rb, 3.04076e-01_rb, 3.16167e-01_rb, 3.28738e-01_rb, 3.41809e-01_rb, & & 3.55400e-01_rb, 3.69531e-01_rb, 3.84224e-01_rb, 3.99501e-01_rb/) kbo_mn2o(:, 5) = (/ & & 6.41413e-01_rb, 6.46239e-01_rb, 6.51101e-01_rb, 6.56000e-01_rb, 6.60936e-01_rb, & & 6.65910e-01_rb, 6.70920e-01_rb, 6.75968e-01_rb, 6.81054e-01_rb, 6.86179e-01_rb, & & 6.91342e-01_rb, 6.96544e-01_rb, 7.01785e-01_rb, 7.07065e-01_rb, 7.12385e-01_rb, & & 7.17746e-01_rb, 7.23146e-01_rb, 7.28587e-01_rb, 7.34070e-01_rb/) kbo_mn2o(:, 6) = (/ & & 1.47906e+00_rb, 1.48768e+00_rb, 1.49635e+00_rb, 1.50507e+00_rb, 1.51384e+00_rb, & & 1.52267e+00_rb, 1.53154e+00_rb, 1.54047e+00_rb, 1.54944e+00_rb, 1.55847e+00_rb, & & 1.56755e+00_rb, 1.57669e+00_rb, 1.58588e+00_rb, 1.59512e+00_rb, 1.60442e+00_rb, & & 1.61377e+00_rb, 1.62317e+00_rb, 1.63263e+00_rb, 1.64215e+00_rb/) kbo_mn2o(:, 7) = (/ & & 3.53152e+00_rb, 3.55492e+00_rb, 3.57848e+00_rb, 3.60219e+00_rb, 3.62606e+00_rb, & & 3.65008e+00_rb, 3.67427e+00_rb, 3.69862e+00_rb, 3.72313e+00_rb, 3.74780e+00_rb, & & 3.77263e+00_rb, 3.79763e+00_rb, 3.82279e+00_rb, 3.84812e+00_rb, 3.87362e+00_rb, & & 3.89929e+00_rb, 3.92513e+00_rb, 3.95114e+00_rb, 3.97732e+00_rb/) kbo_mn2o(:, 8) = (/ & & 9.06783e+00_rb, 9.04597e+00_rb, 9.02415e+00_rb, 9.00239e+00_rb, 8.98069e+00_rb, & & 8.95903e+00_rb, 8.93743e+00_rb, 8.91588e+00_rb, 8.89438e+00_rb, 8.87293e+00_rb, & & 8.85154e+00_rb, 8.83020e+00_rb, 8.80890e+00_rb, 8.78766e+00_rb, 8.76647e+00_rb, & & 8.74533e+00_rb, 8.72425e+00_rb, 8.70321e+00_rb, 8.68223e+00_rb/) kbo_mn2o(:, 9) = (/ & & 3.88220e+01_rb, 3.85805e+01_rb, 3.83405e+01_rb, 3.81019e+01_rb, 3.78649e+01_rb, & & 3.76293e+01_rb, 3.73952e+01_rb, 3.71625e+01_rb, 3.69313e+01_rb, 3.67016e+01_rb, & & 3.64732e+01_rb, 3.62463e+01_rb, 3.60208e+01_rb, 3.57967e+01_rb, 3.55740e+01_rb, & & 3.53527e+01_rb, 3.51327e+01_rb, 3.49142e+01_rb, 3.46970e+01_rb/) kbo_mn2o(:, 10) = (/ & & 1.14211e+02_rb, 1.13955e+02_rb, 1.13700e+02_rb, 1.13445e+02_rb, 1.13191e+02_rb, & & 1.12938e+02_rb, 1.12685e+02_rb, 1.12433e+02_rb, 1.12181e+02_rb, 1.11930e+02_rb, & & 1.11679e+02_rb, 1.11429e+02_rb, 1.11180e+02_rb, 1.10931e+02_rb, 1.10682e+02_rb, & & 1.10434e+02_rb, 1.10187e+02_rb, 1.09940e+02_rb, 1.09694e+02_rb/) kbo_mn2o(:, 11) = (/ & & 1.60513e+02_rb, 1.60857e+02_rb, 1.61201e+02_rb, 1.61547e+02_rb, 1.61893e+02_rb, & & 1.62240e+02_rb, 1.62587e+02_rb, 1.62936e+02_rb, 1.63285e+02_rb, 1.63635e+02_rb, & & 1.63985e+02_rb, 1.64337e+02_rb, 1.64689e+02_rb, 1.65041e+02_rb, 1.65395e+02_rb, & & 1.65749e+02_rb, 1.66105e+02_rb, 1.66460e+02_rb, 1.66817e+02_rb/) kbo_mn2o(:, 12) = (/ & & 1.71473e+02_rb, 1.72766e+02_rb, 1.74068e+02_rb, 1.75381e+02_rb, 1.76703e+02_rb, & & 1.78035e+02_rb, 1.79377e+02_rb, 1.80729e+02_rb, 1.82091e+02_rb, 1.83464e+02_rb, & & 1.84847e+02_rb, 1.86240e+02_rb, 1.87644e+02_rb, 1.89059e+02_rb, 1.90484e+02_rb, & & 1.91920e+02_rb, 1.93367e+02_rb, 1.94824e+02_rb, 1.96293e+02_rb/) kbo_mn2o(:, 13) = (/ & & 2.71287e+01_rb, 2.75538e+01_rb, 2.79856e+01_rb, 2.84241e+01_rb, 2.88695e+01_rb, & & 2.93219e+01_rb, 2.97814e+01_rb, 3.02480e+01_rb, 3.07220e+01_rb, 3.12035e+01_rb, & & 3.16924e+01_rb, 3.21890e+01_rb, 3.26934e+01_rb, 3.32058e+01_rb, 3.37261e+01_rb, & & 3.42546e+01_rb, 3.47914e+01_rb, 3.53365e+01_rb, 3.58903e+01_rb/) kbo_mn2o(:, 14) = (/ & & 1.70389e+01_rb, 1.70899e+01_rb, 1.71411e+01_rb, 1.71924e+01_rb, 1.72439e+01_rb, & & 1.72955e+01_rb, 1.73473e+01_rb, 1.73992e+01_rb, 1.74513e+01_rb, 1.75035e+01_rb, & & 1.75559e+01_rb, 1.76085e+01_rb, 1.76612e+01_rb, 1.77141e+01_rb, 1.77671e+01_rb, & & 1.78203e+01_rb, 1.78736e+01_rb, 1.79271e+01_rb, 1.79808e+01_rb/) kbo_mn2o(:, 15) = (/ & & 2.49725e+00_rb, 2.66861e+00_rb, 2.85174e+00_rb, 3.04743e+00_rb, 3.25655e+00_rb, & & 3.48003e+00_rb, 3.71883e+00_rb, 3.97403e+00_rb, 4.24673e+00_rb, 4.53815e+00_rb, & & 4.84957e+00_rb, 5.18236e+00_rb, 5.53798e+00_rb, 5.91801e+00_rb, 6.32412e+00_rb, & & 6.75809e+00_rb, 7.22185e+00_rb, 7.71742e+00_rb, 8.24701e+00_rb/) kbo_mn2o(:, 16) = (/ & & 1.82935e-03_rb, 2.58912e-03_rb, 3.66444e-03_rb, 5.18637e-03_rb, 7.34039e-03_rb, & & 1.03890e-02_rb, 1.47038e-02_rb, 2.08106e-02_rb, 2.94538e-02_rb, 4.16865e-02_rb, & & 5.89999e-02_rb, 8.35040e-02_rb, 1.18185e-01_rb, 1.67270e-01_rb, 2.36741e-01_rb, & & 3.35065e-01_rb, 4.74225e-01_rb, 6.71180e-01_rb, 9.49936e-01_rb/) ! The array FORREFO contains the coefficient of the water vapor ! foreign-continuum (including the energy term). The first ! index refers to reference temperature (296,260,224,260) and ! pressure (970,475,219,3 mbar) levels. The second index ! runs over the g-channel (1 to 16). forrefo(1,:) = (/ & &7.5352e-06_rb,2.9812e-05_rb,1.4497e-04_rb,4.4006e-04_rb,1.0492e-03_rb,1.9676e-03_rb, & &1.9989e-03_rb,1.9099e-03_rb,2.2121e-03_rb,2.4491e-03_rb,2.9573e-03_rb,2.6344e-03_rb, & &3.0629e-03_rb,3.3547e-03_rb,5.0643e-03_rb,5.0642e-03_rb/) forrefo(2,:) = (/ & &6.6070e-06_rb,4.8618e-05_rb,3.1112e-04_rb,8.4235e-04_rb,1.4179e-03_rb,1.4315e-03_rb, & &1.4685e-03_rb,1.6554e-03_rb,2.1171e-03_rb,2.3545e-03_rb,2.5165e-03_rb,2.7680e-03_rb, & &2.6985e-03_rb,3.5345e-03_rb,4.2924e-03_rb,5.0712e-03_rb/) forrefo(3,:) = (/ & &6.5962e-06_rb,7.2595e-04_rb,1.3429e-03_rb,1.1675e-03_rb,9.8384e-04_rb,8.8787e-04_rb, & &8.7557e-04_rb,8.0589e-04_rb,7.7024e-04_rb,8.7518e-04_rb,9.5213e-04_rb,9.0849e-04_rb, & &1.2596e-03_rb,2.5106e-03_rb,3.9471e-03_rb,5.0742e-03_rb/) forrefo(4,:) = (/ & &3.6217e-04_rb,1.0709e-03_rb,1.0628e-03_rb,8.5640e-04_rb,8.9332e-04_rb,8.3372e-04_rb, & &7.8539e-04_rb,8.2828e-04_rb,8.3329e-04_rb,8.5118e-04_rb,8.2878e-04_rb,6.8570e-04_rb, & &6.3815e-04_rb,8.0648e-04_rb,2.3236e-03_rb,4.0321e-03_rb/) ! The array SELFREFO contains the coefficient of the water vapor ! self-continuum (including the energy term). The first index ! refers to temperature in 7.2 degree increments. For instance, ! JT = 1 refers to a temperature of 245.6, JT = 2 refers to 252.8, ! etc. The second index runs over the g-channel (1 to 16). selfrefo(:, 1) = (/ & & 2.83453e-02_rb, 2.51439e-02_rb, 2.23040e-02_rb, 1.97849e-02_rb, 1.75503e-02_rb, & & 1.55681e-02_rb, 1.38097e-02_rb, 1.22500e-02_rb, 1.08664e-02_rb, 9.63912e-03_rb/) selfrefo(:, 2) = (/ & & 3.05185e-02_rb, 2.72374e-02_rb, 2.43090e-02_rb, 2.16955e-02_rb, 1.93629e-02_rb, & & 1.72811e-02_rb, 1.54232e-02_rb, 1.37650e-02_rb, 1.22851e-02_rb, 1.09643e-02_rb/) selfrefo(:, 3) = (/ & & 4.23833e-02_rb, 3.76250e-02_rb, 3.34010e-02_rb, 2.96512e-02_rb, 2.63223e-02_rb, & & 2.33672e-02_rb, 2.07439e-02_rb, 1.84150e-02_rb, 1.63476e-02_rb, 1.45123e-02_rb/) selfrefo(:, 4) = (/ & & 5.76481e-02_rb, 5.13686e-02_rb, 4.57730e-02_rb, 4.07870e-02_rb, 3.63441e-02_rb, & & 3.23851e-02_rb, 2.88574e-02_rb, 2.57140e-02_rb, 2.29130e-02_rb, 2.04171e-02_rb/) selfrefo(:, 5) = (/ & & 6.92255e-02_rb, 6.33521e-02_rb, 5.79770e-02_rb, 5.30580e-02_rb, 4.85563e-02_rb, & & 4.44365e-02_rb, 4.06663e-02_rb, 3.72160e-02_rb, 3.40584e-02_rb, 3.11687e-02_rb/) selfrefo(:, 6) = (/ & & 6.07694e-02_rb, 5.94182e-02_rb, 5.80970e-02_rb, 5.68052e-02_rb, 5.55422e-02_rb, & & 5.43072e-02_rb, 5.30997e-02_rb, 5.19190e-02_rb, 5.07646e-02_rb, 4.96358e-02_rb/) selfrefo(:, 7) = (/ & & 6.23749e-02_rb, 6.07744e-02_rb, 5.92150e-02_rb, 5.76956e-02_rb, 5.62152e-02_rb, & & 5.47728e-02_rb, 5.33674e-02_rb, 5.19980e-02_rb, 5.06638e-02_rb, 4.93638e-02_rb/) selfrefo(:, 8) = (/ & & 6.90744e-02_rb, 6.61811e-02_rb, 6.34090e-02_rb, 6.07530e-02_rb, 5.82083e-02_rb, & & 5.57702e-02_rb, 5.34342e-02_rb, 5.11960e-02_rb, 4.90516e-02_rb, 4.69970e-02_rb/) selfrefo(:, 9) = (/ & & 8.08992e-02_rb, 7.68876e-02_rb, 7.30750e-02_rb, 6.94514e-02_rb, 6.60075e-02_rb, & & 6.27344e-02_rb, 5.96236e-02_rb, 5.66670e-02_rb, 5.38570e-02_rb, 5.11864e-02_rb/) selfrefo(:,10) = (/ & & 8.70197e-02_rb, 8.27485e-02_rb, 7.86870e-02_rb, 7.48248e-02_rb, 7.11522e-02_rb, & & 6.76599e-02_rb, 6.43389e-02_rb, 6.11810e-02_rb, 5.81781e-02_rb, 5.53225e-02_rb/) selfrefo(:,11) = (/ & & 8.84776e-02_rb, 8.54262e-02_rb, 8.24800e-02_rb, 7.96354e-02_rb, 7.68890e-02_rb, & & 7.42373e-02_rb, 7.16770e-02_rb, 6.92050e-02_rb, 6.68183e-02_rb, 6.45139e-02_rb/) selfrefo(:,12) = (/ & & 9.82552e-02_rb, 9.25696e-02_rb, 8.72130e-02_rb, 8.21664e-02_rb, 7.74118e-02_rb, & & 7.29323e-02_rb, 6.87121e-02_rb, 6.47360e-02_rb, 6.09900e-02_rb, 5.74608e-02_rb/) selfrefo(:,13) = (/ & & 9.32447e-02_rb, 8.96818e-02_rb, 8.62550e-02_rb, 8.29592e-02_rb, 7.97893e-02_rb, & & 7.67405e-02_rb, 7.38082e-02_rb, 7.09880e-02_rb, 6.82755e-02_rb, 6.56667e-02_rb/) selfrefo(:,14) = (/ & & 1.15363e-01_rb, 1.08593e-01_rb, 1.02220e-01_rb, 9.62210e-02_rb, 9.05741e-02_rb, & & 8.52585e-02_rb, 8.02549e-02_rb, 7.55450e-02_rb, 7.11115e-02_rb, 6.69382e-02_rb/) selfrefo(:,15) = (/ & & 1.23179e-01_rb, 1.19247e-01_rb, 1.15440e-01_rb, 1.11755e-01_rb, 1.08187e-01_rb, & & 1.04734e-01_rb, 1.01391e-01_rb, 9.81540e-02_rb, 9.50207e-02_rb, 9.19875e-02_rb/) selfrefo(:,16) = (/ & & 1.44104e-01_rb, 1.36412e-01_rb, 1.29130e-01_rb, 1.22237e-01_rb, 1.15712e-01_rb, & & 1.09535e-01_rb, 1.03688e-01_rb, 9.81530e-02_rb, 9.29135e-02_rb, 8.79537e-02_rb/) end subroutine lw_kgb09 ! ************************************************************************** subroutine lw_kgb10 ! ************************************************************************** use parkind, only : im => kind_im, rb => kind_rb use rrlw_kg10, only : fracrefao, fracrefbo, kao, kbo, selfrefo, forrefo implicit none save ! Planck fraction mapping level : P = 212.7250, T = 223.06 K fracrefao(:) = (/ & & 1.6909e-01_rb, 1.5419e-01_rb, 1.3999e-01_rb, 1.2637e-01_rb, & & 1.1429e-01_rb, 9.9676e-02_rb, 8.0093e-02_rb, 6.0283e-02_rb, & & 4.1077e-02_rb, 4.4857e-03_rb, 3.6545e-03_rb, 2.9243e-03_rb, & & 2.0407e-03_rb, 1.2891e-03_rb, 4.8767e-04_rb, 6.7748e-05_rb/) ! Planck fraction mapping level : P = 95.58350 mb, T = 215.70 K fracrefbo(:) = (/ & & 1.7391e-01_rb, 1.5680e-01_rb, 1.4419e-01_rb, 1.2672e-01_rb, & & 1.0708e-01_rb, 9.7034e-02_rb, 7.8545e-02_rb, 5.9784e-02_rb, & & 4.0879e-02_rb, 4.4704e-03_rb, 3.7150e-03_rb, 2.9038e-03_rb, & & 2.1454e-03_rb, 1.2802e-03_rb, 4.8328e-04_rb, 6.7378e-05_rb/) ! The array KAO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels > ~100mb and temperatures. The first ! index in the array, JT, which runs from 1 to 5, corresponds to ! different temperatures. More specifically, JT = 3 means that the ! data are for the corresponding TREF for this pressure level, ! JT = 2 refers to the temperatureTREF-15, JT = 1 is for TREF-30, ! JT = 4 is for TREF+15, and JT = 5 is for TREF+30. The second ! index, JP, runs from 1 to 13 and refers to the corresponding ! pressure level in PREF (e.g. JP = 1 is for a pressure of 1053.63 mb). ! The third index, IG, goes from 1 to 16, and tells us which ! g-interval the absorption coefficients are for. kao(:, 1, 1) = (/ & &2.7213e-02_rb,2.9029e-02_rb,3.0838e-02_rb,3.2767e-02_rb,3.4630e-02_rb/) kao(:, 2, 1) = (/ & &2.1383e-02_rb,2.2832e-02_rb,2.4365e-02_rb,2.5925e-02_rb,2.7376e-02_rb/) kao(:, 3, 1) = (/ & &1.6478e-02_rb,1.7675e-02_rb,1.8942e-02_rb,2.0177e-02_rb,2.1374e-02_rb/) kao(:, 4, 1) = (/ & &1.2848e-02_rb,1.3809e-02_rb,1.4825e-02_rb,1.5852e-02_rb,1.6799e-02_rb/) kao(:, 5, 1) = (/ & &1.0029e-02_rb,1.0847e-02_rb,1.1686e-02_rb,1.2512e-02_rb,1.3297e-02_rb/) kao(:, 6, 1) = (/ & &7.8313e-03_rb,8.5460e-03_rb,9.2025e-03_rb,9.9079e-03_rb,1.0554e-02_rb/) kao(:, 7, 1) = (/ & &6.1234e-03_rb,6.6846e-03_rb,7.2818e-03_rb,7.8451e-03_rb,8.4144e-03_rb/) kao(:, 8, 1) = (/ & &4.8747e-03_rb,5.2881e-03_rb,5.7474e-03_rb,6.2355e-03_rb,6.7085e-03_rb/) kao(:, 9, 1) = (/ & &4.1059e-03_rb,4.5848e-03_rb,4.9152e-03_rb,5.2401e-03_rb,5.5908e-03_rb/) kao(:,10, 1) = (/ & &3.5412e-03_rb,4.0565e-03_rb,4.5689e-03_rb,5.1092e-03_rb,5.6716e-03_rb/) kao(:,11, 1) = (/ & &3.0492e-03_rb,3.6436e-03_rb,4.0799e-03_rb,4.5260e-03_rb,4.9802e-03_rb/) kao(:,12, 1) = (/ & &2.5821e-03_rb,3.0995e-03_rb,3.5069e-03_rb,3.8699e-03_rb,4.2575e-03_rb/) kao(:,13, 1) = (/ & &2.1558e-03_rb,2.5890e-03_rb,2.9127e-03_rb,3.2139e-03_rb,3.5455e-03_rb/) kao(:, 1, 2) = (/ & &5.2889e-02_rb,5.6315e-02_rb,5.9927e-02_rb,6.3408e-02_rb,6.6329e-02_rb/) kao(:, 2, 2) = (/ & &4.1932e-02_rb,4.4934e-02_rb,4.8030e-02_rb,5.0855e-02_rb,5.3372e-02_rb/) kao(:, 3, 2) = (/ & &3.2754e-02_rb,3.5198e-02_rb,3.7786e-02_rb,4.0294e-02_rb,4.2438e-02_rb/) kao(:, 4, 2) = (/ & &2.5838e-02_rb,2.7680e-02_rb,2.9873e-02_rb,3.1963e-02_rb,3.3931e-02_rb/) kao(:, 5, 2) = (/ & &2.0528e-02_rb,2.2079e-02_rb,2.3740e-02_rb,2.5501e-02_rb,2.7219e-02_rb/) kao(:, 6, 2) = (/ & &1.6350e-02_rb,1.7491e-02_rb,1.8902e-02_rb,2.0280e-02_rb,2.1774e-02_rb/) kao(:, 7, 2) = (/ & &1.2732e-02_rb,1.3953e-02_rb,1.5005e-02_rb,1.6145e-02_rb,1.7323e-02_rb/) kao(:, 8, 2) = (/ & &9.7464e-03_rb,1.1159e-02_rb,1.2150e-02_rb,1.2940e-02_rb,1.3856e-02_rb/) kao(:, 9, 2) = (/ & &7.5337e-03_rb,8.5370e-03_rb,9.6841e-03_rb,1.0825e-02_rb,1.1894e-02_rb/) kao(:,10, 2) = (/ & &7.1476e-03_rb,7.8468e-03_rb,8.6104e-03_rb,9.4234e-03_rb,1.0165e-02_rb/) kao(:,11, 2) = (/ & &7.4726e-03_rb,7.8619e-03_rb,8.4110e-03_rb,8.8097e-03_rb,9.3621e-03_rb/) kao(:,12, 2) = (/ & &6.8212e-03_rb,7.3104e-03_rb,7.6521e-03_rb,8.0570e-03_rb,8.3782e-03_rb/) kao(:,13, 2) = (/ & &5.7626e-03_rb,6.1115e-03_rb,6.3578e-03_rb,6.6833e-03_rb,6.9834e-03_rb/) kao(:, 1, 3) = (/ & &9.2909e-02_rb,9.6713e-02_rb,9.9436e-02_rb,1.0242e-01_rb,1.0613e-01_rb/) kao(:, 2, 3) = (/ & &7.4548e-02_rb,7.7785e-02_rb,8.0363e-02_rb,8.2840e-02_rb,8.6028e-02_rb/) kao(:, 3, 3) = (/ & &5.8714e-02_rb,6.1823e-02_rb,6.4284e-02_rb,6.6702e-02_rb,6.9231e-02_rb/) kao(:, 4, 3) = (/ & &4.6349e-02_rb,4.9440e-02_rb,5.1743e-02_rb,5.3890e-02_rb,5.5994e-02_rb/) kao(:, 5, 3) = (/ & &3.6507e-02_rb,3.9309e-02_rb,4.1637e-02_rb,4.3586e-02_rb,4.5365e-02_rb/) kao(:, 6, 3) = (/ & &2.8427e-02_rb,3.1177e-02_rb,3.3328e-02_rb,3.5180e-02_rb,3.6733e-02_rb/) kao(:, 7, 3) = (/ & &2.2397e-02_rb,2.4640e-02_rb,2.6638e-02_rb,2.8311e-02_rb,2.9747e-02_rb/) kao(:, 8, 3) = (/ & &1.7861e-02_rb,1.9252e-02_rb,2.1033e-02_rb,2.2648e-02_rb,2.3985e-02_rb/) kao(:, 9, 3) = (/ & &1.4398e-02_rb,1.5884e-02_rb,1.6962e-02_rb,1.7935e-02_rb,1.8840e-02_rb/) kao(:,10, 3) = (/ & &1.3336e-02_rb,1.5085e-02_rb,1.6848e-02_rb,1.8578e-02_rb,1.9024e-02_rb/) kao(:,11, 3) = (/ & &1.0996e-02_rb,1.2680e-02_rb,1.4233e-02_rb,1.6184e-02_rb,1.7835e-02_rb/) kao(:,12, 3) = (/ & &9.6066e-03_rb,1.0608e-02_rb,1.2101e-02_rb,1.3713e-02_rb,1.5338e-02_rb/) kao(:,13, 3) = (/ & &8.0007e-03_rb,8.9344e-03_rb,1.0260e-02_rb,1.1651e-02_rb,1.2914e-02_rb/) kao(:, 1, 4) = (/ & &1.4098e-01_rb,1.4735e-01_rb,1.5390e-01_rb,1.6007e-01_rb,1.6623e-01_rb/) kao(:, 2, 4) = (/ & &1.1373e-01_rb,1.1930e-01_rb,1.2491e-01_rb,1.3057e-01_rb,1.3593e-01_rb/) kao(:, 3, 4) = (/ & &9.0856e-02_rb,9.5503e-02_rb,1.0012e-01_rb,1.0479e-01_rb,1.0971e-01_rb/) kao(:, 4, 4) = (/ & &7.2695e-02_rb,7.6746e-02_rb,8.0662e-02_rb,8.4622e-02_rb,8.8881e-02_rb/) kao(:, 5, 4) = (/ & &5.8402e-02_rb,6.1962e-02_rb,6.5265e-02_rb,6.8694e-02_rb,7.2371e-02_rb/) kao(:, 6, 4) = (/ & &4.7100e-02_rb,5.0100e-02_rb,5.2955e-02_rb,5.5897e-02_rb,5.9012e-02_rb/) kao(:, 7, 4) = (/ & &3.7714e-02_rb,4.0303e-02_rb,4.2858e-02_rb,4.5396e-02_rb,4.8032e-02_rb/) kao(:, 8, 4) = (/ & &2.9938e-02_rb,3.2418e-02_rb,3.4599e-02_rb,3.6801e-02_rb,3.9055e-02_rb/) kao(:, 9, 4) = (/ & &2.3570e-02_rb,2.5475e-02_rb,2.7580e-02_rb,2.9598e-02_rb,3.1549e-02_rb/) kao(:,10, 4) = (/ & &2.3291e-02_rb,2.1658e-02_rb,2.1418e-02_rb,2.1490e-02_rb,2.3536e-02_rb/) kao(:,11, 4) = (/ & &2.1808e-02_rb,2.2150e-02_rb,2.2833e-02_rb,2.0354e-02_rb,1.9688e-02_rb/) kao(:,12, 4) = (/ & &1.9246e-02_rb,1.9438e-02_rb,1.9839e-02_rb,2.0164e-02_rb,1.7716e-02_rb/) kao(:,13, 4) = (/ & &1.6236e-02_rb,1.6164e-02_rb,1.6551e-02_rb,1.6579e-02_rb,1.4849e-02_rb/) kao(:, 1, 5) = (/ & &2.5886e-01_rb,2.7100e-01_rb,2.8220e-01_rb,2.9245e-01_rb,3.0214e-01_rb/) kao(:, 2, 5) = (/ & &2.0909e-01_rb,2.1918e-01_rb,2.2861e-01_rb,2.3740e-01_rb,2.4610e-01_rb/) kao(:, 3, 5) = (/ & &1.6622e-01_rb,1.7497e-01_rb,1.8311e-01_rb,1.9088e-01_rb,1.9860e-01_rb/) kao(:, 4, 5) = (/ & &1.3301e-01_rb,1.4069e-01_rb,1.4792e-01_rb,1.5478e-01_rb,1.6132e-01_rb/) kao(:, 5, 5) = (/ & &1.0688e-01_rb,1.1355e-01_rb,1.1989e-01_rb,1.2584e-01_rb,1.3154e-01_rb/) kao(:, 6, 5) = (/ & &8.5419e-02_rb,9.1274e-02_rb,9.6848e-02_rb,1.0202e-01_rb,1.0704e-01_rb/) kao(:, 7, 5) = (/ & &6.8100e-02_rb,7.3262e-02_rb,7.8047e-02_rb,8.2594e-02_rb,8.7027e-02_rb/) kao(:, 8, 5) = (/ & &5.4252e-02_rb,5.8815e-02_rb,6.2989e-02_rb,6.6937e-02_rb,7.0783e-02_rb/) kao(:, 9, 5) = (/ & &4.3117e-02_rb,4.7224e-02_rb,5.0916e-02_rb,5.4328e-02_rb,5.7817e-02_rb/) kao(:,10, 5) = (/ & &2.9151e-02_rb,3.5667e-02_rb,4.0092e-02_rb,4.3888e-02_rb,4.6870e-02_rb/) kao(:,11, 5) = (/ & &2.3941e-02_rb,2.7450e-02_rb,2.9750e-02_rb,3.5348e-02_rb,3.9440e-02_rb/) kao(:,12, 5) = (/ & &2.0570e-02_rb,2.3238e-02_rb,2.5236e-02_rb,2.7327e-02_rb,3.2816e-02_rb/) kao(:,13, 5) = (/ & &1.7253e-02_rb,1.9755e-02_rb,2.1401e-02_rb,2.3591e-02_rb,2.8114e-02_rb/) kao(:, 1, 6) = (/ & &5.6993e-01_rb,6.0360e-01_rb,6.3489e-01_rb,6.6230e-01_rb,6.8659e-01_rb/) kao(:, 2, 6) = (/ & &4.6502e-01_rb,4.9401e-01_rb,5.2007e-01_rb,5.4304e-01_rb,5.6306e-01_rb/) kao(:, 3, 6) = (/ & &3.7271e-01_rb,3.9757e-01_rb,4.1967e-01_rb,4.3927e-01_rb,4.5631e-01_rb/) kao(:, 4, 6) = (/ & &2.9874e-01_rb,3.1990e-01_rb,3.3890e-01_rb,3.5594e-01_rb,3.7139e-01_rb/) kao(:, 5, 6) = (/ & &2.3859e-01_rb,2.5711e-01_rb,2.7375e-01_rb,2.8893e-01_rb,3.0280e-01_rb/) kao(:, 6, 6) = (/ & &1.8917e-01_rb,2.0549e-01_rb,2.2017e-01_rb,2.3369e-01_rb,2.4611e-01_rb/) kao(:, 7, 6) = (/ & &1.4938e-01_rb,1.6367e-01_rb,1.7681e-01_rb,1.8887e-01_rb,1.9989e-01_rb/) kao(:, 8, 6) = (/ & &1.1758e-01_rb,1.3011e-01_rb,1.4157e-01_rb,1.5226e-01_rb,1.6197e-01_rb/) kao(:, 9, 6) = (/ & &9.1609e-02_rb,1.0230e-01_rb,1.1226e-01_rb,1.2154e-01_rb,1.2990e-01_rb/) kao(:,10, 6) = (/ & &7.2629e-02_rb,8.2527e-02_rb,9.1786e-02_rb,1.0065e-01_rb,1.0832e-01_rb/) kao(:,11, 6) = (/ & &6.0173e-02_rb,6.9095e-02_rb,7.8339e-02_rb,8.6340e-02_rb,9.2996e-02_rb/) kao(:,12, 6) = (/ & &5.1074e-02_rb,5.9514e-02_rb,6.6969e-02_rb,7.3447e-02_rb,7.9277e-02_rb/) kao(:,13, 6) = (/ & &4.3826e-02_rb,5.0848e-02_rb,5.7125e-02_rb,6.2916e-02_rb,6.7915e-02_rb/) kao(:, 1, 7) = (/ & &1.4129e+00_rb,1.4750e+00_rb,1.5277e+00_rb,1.5727e+00_rb,1.6117e+00_rb/) kao(:, 2, 7) = (/ & &1.1749e+00_rb,1.2287e+00_rb,1.2750e+00_rb,1.3159e+00_rb,1.3523e+00_rb/) kao(:, 3, 7) = (/ & &9.5348e-01_rb,1.0008e+00_rb,1.0433e+00_rb,1.0822e+00_rb,1.1168e+00_rb/) kao(:, 4, 7) = (/ & &7.6995e-01_rb,8.1381e-01_rb,8.5421e-01_rb,8.9012e-01_rb,9.2111e-01_rb/) kao(:, 5, 7) = (/ & &6.2211e-01_rb,6.6255e-01_rb,6.9934e-01_rb,7.3149e-01_rb,7.5879e-01_rb/) kao(:, 6, 7) = (/ & &5.0056e-01_rb,5.3742e-01_rb,5.7038e-01_rb,5.9882e-01_rb,6.2305e-01_rb/) kao(:, 7, 7) = (/ & &4.0115e-01_rb,4.3352e-01_rb,4.6244e-01_rb,4.8765e-01_rb,5.0920e-01_rb/) kao(:, 8, 7) = (/ & &3.1902e-01_rb,3.4754e-01_rb,3.7305e-01_rb,3.9544e-01_rb,4.1482e-01_rb/) kao(:, 9, 7) = (/ & &2.5207e-01_rb,2.7718e-01_rb,2.9962e-01_rb,3.1933e-01_rb,3.3666e-01_rb/) kao(:,10, 7) = (/ & &1.9498e-01_rb,2.1588e-01_rb,2.3464e-01_rb,2.5127e-01_rb,2.6668e-01_rb/) kao(:,11, 7) = (/ & &1.6583e-01_rb,1.8332e-01_rb,1.9835e-01_rb,2.1191e-01_rb,2.2523e-01_rb/) kao(:,12, 7) = (/ & &1.3827e-01_rb,1.5202e-01_rb,1.6547e-01_rb,1.7854e-01_rb,1.8991e-01_rb/) kao(:,13, 7) = (/ & &1.1534e-01_rb,1.2733e-01_rb,1.3962e-01_rb,1.4987e-01_rb,1.6008e-01_rb/) kao(:, 1, 8) = (/ & &3.5920e+00_rb,3.7800e+00_rb,3.9524e+00_rb,4.1109e+00_rb,4.2529e+00_rb/) kao(:, 2, 8) = (/ & &3.2111e+00_rb,3.3886e+00_rb,3.5521e+00_rb,3.6948e+00_rb,3.8225e+00_rb/) kao(:, 3, 8) = (/ & &2.7787e+00_rb,2.9477e+00_rb,3.0955e+00_rb,3.2271e+00_rb,3.3442e+00_rb/) kao(:, 4, 8) = (/ & &2.3588e+00_rb,2.5119e+00_rb,2.6472e+00_rb,2.7686e+00_rb,2.8775e+00_rb/) kao(:, 5, 8) = (/ & &1.9705e+00_rb,2.1082e+00_rb,2.2326e+00_rb,2.3452e+00_rb,2.4470e+00_rb/) kao(:, 6, 8) = (/ & &1.6168e+00_rb,1.7418e+00_rb,1.8565e+00_rb,1.9616e+00_rb,2.0551e+00_rb/) kao(:, 7, 8) = (/ & &1.3089e+00_rb,1.4235e+00_rb,1.5288e+00_rb,1.6233e+00_rb,1.7079e+00_rb/) kao(:, 8, 8) = (/ & &1.0505e+00_rb,1.1539e+00_rb,1.2478e+00_rb,1.3319e+00_rb,1.4095e+00_rb/) kao(:, 9, 8) = (/ & &8.3583e-01_rb,9.2738e-01_rb,1.0101e+00_rb,1.0861e+00_rb,1.1567e+00_rb/) kao(:,10, 8) = (/ & &6.6552e-01_rb,7.4516e-01_rb,8.1795e-01_rb,8.8505e-01_rb,9.4596e-01_rb/) kao(:,11, 8) = (/ & &5.5048e-01_rb,6.1499e-01_rb,6.7571e-01_rb,7.3145e-01_rb,7.8064e-01_rb/) kao(:,12, 8) = (/ & &4.5804e-01_rb,5.1260e-01_rb,5.6222e-01_rb,6.0624e-01_rb,6.4709e-01_rb/) kao(:,13, 8) = (/ & &3.8513e-01_rb,4.3049e-01_rb,4.7109e-01_rb,5.0795e-01_rb,5.3980e-01_rb/) kao(:, 1, 9) = (/ & &1.0443e+01_rb,1.1048e+01_rb,1.1589e+01_rb,1.2078e+01_rb,1.2523e+01_rb/) kao(:, 2, 9) = (/ & &1.0305e+01_rb,1.0938e+01_rb,1.1513e+01_rb,1.2045e+01_rb,1.2531e+01_rb/) kao(:, 3, 9) = (/ & &9.8576e+00_rb,1.0529e+01_rb,1.1150e+01_rb,1.1712e+01_rb,1.2221e+01_rb/) kao(:, 4, 9) = (/ & &9.2371e+00_rb,9.9233e+00_rb,1.0551e+01_rb,1.1124e+01_rb,1.1647e+01_rb/) kao(:, 5, 9) = (/ & &8.4700e+00_rb,9.1602e+00_rb,9.7951e+00_rb,1.0380e+01_rb,1.0911e+01_rb/) kao(:, 6, 9) = (/ & &7.5880e+00_rb,8.2763e+00_rb,8.9154e+00_rb,9.5007e+00_rb,1.0024e+01_rb/) kao(:, 7, 9) = (/ & &6.6790e+00_rb,7.3503e+00_rb,7.9748e+00_rb,8.5357e+00_rb,9.0412e+00_rb/) kao(:, 8, 9) = (/ & &5.7712e+00_rb,6.4120e+00_rb,7.0009e+00_rb,7.5325e+00_rb,8.0088e+00_rb/) kao(:, 9, 9) = (/ & &4.8989e+00_rb,5.4909e+00_rb,6.0328e+00_rb,6.5241e+00_rb,6.9680e+00_rb/) kao(:,10, 9) = (/ & &4.1164e+00_rb,4.6491e+00_rb,5.1402e+00_rb,5.5886e+00_rb,6.0036e+00_rb/) kao(:,11, 9) = (/ & &3.6151e+00_rb,4.0753e+00_rb,4.5022e+00_rb,4.8994e+00_rb,5.2546e+00_rb/) kao(:,12, 9) = (/ & &3.1350e+00_rb,3.5329e+00_rb,3.9073e+00_rb,4.2435e+00_rb,4.5415e+00_rb/) kao(:,13, 9) = (/ & &2.6929e+00_rb,3.0365e+00_rb,3.3480e+00_rb,3.6295e+00_rb,3.8842e+00_rb/) kao(:, 1,10) = (/ & &1.9924e+01_rb,2.0919e+01_rb,2.2000e+01_rb,2.2972e+01_rb,2.3773e+01_rb/) kao(:, 2,10) = (/ & &2.0689e+01_rb,2.1909e+01_rb,2.3034e+01_rb,2.3987e+01_rb,2.4788e+01_rb/) kao(:, 3,10) = (/ & &2.0776e+01_rb,2.2053e+01_rb,2.3211e+01_rb,2.4276e+01_rb,2.5292e+01_rb/) kao(:, 4,10) = (/ & &2.0236e+01_rb,2.1839e+01_rb,2.3315e+01_rb,2.4662e+01_rb,2.5879e+01_rb/) kao(:, 5,10) = (/ & &1.9987e+01_rb,2.1808e+01_rb,2.3390e+01_rb,2.4727e+01_rb,2.5958e+01_rb/) kao(:, 6,10) = (/ & &1.9523e+01_rb,2.1285e+01_rb,2.2798e+01_rb,2.4193e+01_rb,2.5643e+01_rb/) kao(:, 7,10) = (/ & &1.8326e+01_rb,2.0057e+01_rb,2.1638e+01_rb,2.3310e+01_rb,2.4996e+01_rb/) kao(:, 8,10) = (/ & &1.6812e+01_rb,1.8592e+01_rb,2.0423e+01_rb,2.2320e+01_rb,2.4092e+01_rb/) kao(:, 9,10) = (/ & &1.5126e+01_rb,1.7059e+01_rb,1.9069e+01_rb,2.1023e+01_rb,2.2713e+01_rb/) kao(:,10,10) = (/ & &1.3603e+01_rb,1.5643e+01_rb,1.7659e+01_rb,1.9476e+01_rb,2.1017e+01_rb/) kao(:,11,10) = (/ & &1.3136e+01_rb,1.5065e+01_rb,1.6788e+01_rb,1.8298e+01_rb,1.9745e+01_rb/) kao(:,12,10) = (/ & &1.2291e+01_rb,1.3925e+01_rb,1.5389e+01_rb,1.6819e+01_rb,1.8254e+01_rb/) kao(:,13,10) = (/ & &1.1103e+01_rb,1.2502e+01_rb,1.3897e+01_rb,1.5277e+01_rb,1.6528e+01_rb/) kao(:, 1,11) = (/ & &2.4296e+01_rb,2.5293e+01_rb,2.6167e+01_rb,2.7129e+01_rb,2.8181e+01_rb/) kao(:, 2,11) = (/ & &2.5960e+01_rb,2.7094e+01_rb,2.8248e+01_rb,2.9459e+01_rb,3.0485e+01_rb/) kao(:, 3,11) = (/ & &2.6865e+01_rb,2.8307e+01_rb,2.9751e+01_rb,3.1102e+01_rb,3.2279e+01_rb/) kao(:, 4,11) = (/ & &2.7354e+01_rb,2.8995e+01_rb,3.0628e+01_rb,3.2100e+01_rb,3.3421e+01_rb/) kao(:, 5,11) = (/ & &2.6969e+01_rb,2.8892e+01_rb,3.0767e+01_rb,3.2621e+01_rb,3.4273e+01_rb/) kao(:, 6,11) = (/ & &2.6094e+01_rb,2.8469e+01_rb,3.0801e+01_rb,3.2980e+01_rb,3.4919e+01_rb/) kao(:, 7,11) = (/ & &2.5366e+01_rb,2.8149e+01_rb,3.0864e+01_rb,3.3154e+01_rb,3.5069e+01_rb/) kao(:, 8,11) = (/ & &2.4570e+01_rb,2.7568e+01_rb,3.0172e+01_rb,3.2348e+01_rb,3.4412e+01_rb/) kao(:, 9,11) = (/ & &2.3141e+01_rb,2.6027e+01_rb,2.8564e+01_rb,3.0892e+01_rb,3.3292e+01_rb/) kao(:,10,11) = (/ & &2.1375e+01_rb,2.4163e+01_rb,2.6748e+01_rb,2.9381e+01_rb,3.2113e+01_rb/) kao(:,11,11) = (/ & &2.0563e+01_rb,2.3343e+01_rb,2.6200e+01_rb,2.9082e+01_rb,3.1737e+01_rb/) kao(:,12,11) = (/ & &1.9759e+01_rb,2.2669e+01_rb,2.5592e+01_rb,2.8225e+01_rb,3.0484e+01_rb/) kao(:,13,11) = (/ & &1.9005e+01_rb,2.1823e+01_rb,2.4335e+01_rb,2.6560e+01_rb,2.8649e+01_rb/) kao(:, 1,12) = (/ & &2.8554e+01_rb,3.0109e+01_rb,3.1534e+01_rb,3.2820e+01_rb,3.3912e+01_rb/) kao(:, 2,12) = (/ & &3.1883e+01_rb,3.3547e+01_rb,3.5069e+01_rb,3.6425e+01_rb,3.7803e+01_rb/) kao(:, 3,12) = (/ & &3.5025e+01_rb,3.6824e+01_rb,3.8424e+01_rb,3.9924e+01_rb,4.1396e+01_rb/) kao(:, 4,12) = (/ & &3.7112e+01_rb,3.9231e+01_rb,4.1147e+01_rb,4.2932e+01_rb,4.4646e+01_rb/) kao(:, 5,12) = (/ & &3.8447e+01_rb,4.0861e+01_rb,4.3125e+01_rb,4.5199e+01_rb,4.7297e+01_rb/) kao(:, 6,12) = (/ & &3.8994e+01_rb,4.1741e+01_rb,4.4237e+01_rb,4.6637e+01_rb,4.8930e+01_rb/) kao(:, 7,12) = (/ & &3.8693e+01_rb,4.1674e+01_rb,4.4392e+01_rb,4.7287e+01_rb,5.0041e+01_rb/) kao(:, 8,12) = (/ & &3.7231e+01_rb,4.0534e+01_rb,4.3968e+01_rb,4.7486e+01_rb,5.0745e+01_rb/) kao(:, 9,12) = (/ & &3.5314e+01_rb,3.9308e+01_rb,4.3458e+01_rb,4.7418e+01_rb,5.1164e+01_rb/) kao(:,10,12) = (/ & &3.3674e+01_rb,3.8340e+01_rb,4.2937e+01_rb,4.7301e+01_rb,5.1085e+01_rb/) kao(:,11,12) = (/ & &3.4306e+01_rb,3.9228e+01_rb,4.3781e+01_rb,4.7771e+01_rb,5.1424e+01_rb/) kao(:,12,12) = (/ & &3.4432e+01_rb,3.9064e+01_rb,4.3274e+01_rb,4.7292e+01_rb,5.1289e+01_rb/) kao(:,13,12) = (/ & &3.3504e+01_rb,3.7950e+01_rb,4.2337e+01_rb,4.6726e+01_rb,5.1022e+01_rb/) kao(:, 1,13) = (/ & &3.3083e+01_rb,3.5231e+01_rb,3.7169e+01_rb,3.8902e+01_rb,4.0496e+01_rb/) kao(:, 2,13) = (/ & &3.7816e+01_rb,4.0283e+01_rb,4.2419e+01_rb,4.4328e+01_rb,4.6116e+01_rb/) kao(:, 3,13) = (/ & &4.2916e+01_rb,4.5668e+01_rb,4.8087e+01_rb,5.0367e+01_rb,5.2460e+01_rb/) kao(:, 4,13) = (/ & &4.7941e+01_rb,5.0937e+01_rb,5.3613e+01_rb,5.6174e+01_rb,5.8534e+01_rb/) kao(:, 5,13) = (/ & &5.2708e+01_rb,5.6040e+01_rb,5.9163e+01_rb,6.2033e+01_rb,6.4593e+01_rb/) kao(:, 6,13) = (/ & &5.6670e+01_rb,6.0546e+01_rb,6.4072e+01_rb,6.7245e+01_rb,7.0176e+01_rb/) kao(:, 7,13) = (/ & &5.9263e+01_rb,6.3946e+01_rb,6.8113e+01_rb,7.1753e+01_rb,7.5271e+01_rb/) kao(:, 8,13) = (/ & &6.0990e+01_rb,6.6317e+01_rb,7.1009e+01_rb,7.5310e+01_rb,7.9458e+01_rb/) kao(:, 9,13) = (/ & &6.1500e+01_rb,6.7310e+01_rb,7.2473e+01_rb,7.7444e+01_rb,8.1955e+01_rb/) kao(:,10,13) = (/ & &6.1095e+01_rb,6.7188e+01_rb,7.2950e+01_rb,7.8366e+01_rb,8.3528e+01_rb/) kao(:,11,13) = (/ & &6.2204e+01_rb,6.8688e+01_rb,7.5122e+01_rb,8.1365e+01_rb,8.7577e+01_rb/) kao(:,12,13) = (/ & &6.2610e+01_rb,7.0078e+01_rb,7.7313e+01_rb,8.4495e+01_rb,9.1274e+01_rb/) kao(:,13,13) = (/ & &6.3252e+01_rb,7.1343e+01_rb,7.9418e+01_rb,8.6956e+01_rb,9.3893e+01_rb/) kao(:, 1,14) = (/ & &4.3344e+01_rb,4.5304e+01_rb,4.7200e+01_rb,4.8977e+01_rb,5.0634e+01_rb/) kao(:, 2,14) = (/ & &4.8672e+01_rb,5.1219e+01_rb,5.3748e+01_rb,5.6207e+01_rb,5.8584e+01_rb/) kao(:, 3,14) = (/ & &5.3835e+01_rb,5.7385e+01_rb,6.0811e+01_rb,6.4094e+01_rb,6.7183e+01_rb/) kao(:, 4,14) = (/ & &5.9051e+01_rb,6.3463e+01_rb,6.7847e+01_rb,7.2047e+01_rb,7.6005e+01_rb/) kao(:, 5,14) = (/ & &6.4910e+01_rb,7.0372e+01_rb,7.5734e+01_rb,8.0867e+01_rb,8.5466e+01_rb/) kao(:, 6,14) = (/ & &7.1177e+01_rb,7.7830e+01_rb,8.4454e+01_rb,9.0502e+01_rb,9.5851e+01_rb/) kao(:, 7,14) = (/ & &7.8645e+01_rb,8.6401e+01_rb,9.3877e+01_rb,1.0067e+02_rb,1.0680e+02_rb/) kao(:, 8,14) = (/ & &8.6837e+01_rb,9.5972e+01_rb,1.0455e+02_rb,1.1218e+02_rb,1.1889e+02_rb/) kao(:, 9,14) = (/ & &9.4588e+01_rb,1.0523e+02_rb,1.1528e+02_rb,1.2405e+02_rb,1.3172e+02_rb/) kao(:,10,14) = (/ & &1.0185e+02_rb,1.1428e+02_rb,1.2585e+02_rb,1.3577e+02_rb,1.4474e+02_rb/) kao(:,11,14) = (/ & &1.1416e+02_rb,1.2817e+02_rb,1.4064e+02_rb,1.5135e+02_rb,1.6079e+02_rb/) kao(:,12,14) = (/ & &1.2658e+02_rb,1.4157e+02_rb,1.5496e+02_rb,1.6630e+02_rb,1.7621e+02_rb/) kao(:,13,14) = (/ & &1.3763e+02_rb,1.5352e+02_rb,1.6709e+02_rb,1.7925e+02_rb,1.9013e+02_rb/) kao(:, 1,15) = (/ & &5.4748e+01_rb,5.6924e+01_rb,5.8795e+01_rb,6.0375e+01_rb,6.1716e+01_rb/) kao(:, 2,15) = (/ & &6.5566e+01_rb,6.8287e+01_rb,7.0585e+01_rb,7.2551e+01_rb,7.4160e+01_rb/) kao(:, 3,15) = (/ & &7.7583e+01_rb,8.1027e+01_rb,8.3928e+01_rb,8.6358e+01_rb,8.8397e+01_rb/) kao(:, 4,15) = (/ & &8.9871e+01_rb,9.4173e+01_rb,9.7817e+01_rb,1.0084e+02_rb,1.0339e+02_rb/) kao(:, 5,15) = (/ & &1.0246e+02_rb,1.0776e+02_rb,1.1220e+02_rb,1.1592e+02_rb,1.1961e+02_rb/) kao(:, 6,15) = (/ & &1.1487e+02_rb,1.2133e+02_rb,1.2665e+02_rb,1.3188e+02_rb,1.3707e+02_rb/) kao(:, 7,15) = (/ & &1.2683e+02_rb,1.3446e+02_rb,1.4160e+02_rb,1.4872e+02_rb,1.5558e+02_rb/) kao(:, 8,15) = (/ & &1.3795e+02_rb,1.4756e+02_rb,1.5674e+02_rb,1.6606e+02_rb,1.7523e+02_rb/) kao(:, 9,15) = (/ & &1.4965e+02_rb,1.6170e+02_rb,1.7284e+02_rb,1.8422e+02_rb,1.9597e+02_rb/) kao(:,10,15) = (/ & &1.6376e+02_rb,1.7796e+02_rb,1.9116e+02_rb,2.0528e+02_rb,2.1939e+02_rb/) kao(:,11,15) = (/ & &1.8752e+02_rb,2.0335e+02_rb,2.1913e+02_rb,2.3662e+02_rb,2.5359e+02_rb/) kao(:,12,15) = (/ & &2.1430e+02_rb,2.3299e+02_rb,2.5241e+02_rb,2.7277e+02_rb,2.9286e+02_rb/) kao(:,13,15) = (/ & &2.4469e+02_rb,2.6735e+02_rb,2.9101e+02_rb,3.1438e+02_rb,3.3674e+02_rb/) kao(:, 1,16) = (/ & &5.6182e+01_rb,5.8534e+01_rb,6.0580e+01_rb,6.2336e+01_rb,6.3846e+01_rb/) kao(:, 2,16) = (/ & &6.7714e+01_rb,7.1253e+01_rb,7.3886e+01_rb,7.6167e+01_rb,7.8129e+01_rb/) kao(:, 3,16) = (/ & &8.2239e+01_rb,8.6274e+01_rb,8.9810e+01_rb,9.2865e+01_rb,9.5500e+01_rb/) kao(:, 4,16) = (/ & &9.7623e+01_rb,1.0299e+02_rb,1.0769e+02_rb,1.1178e+02_rb,1.1532e+02_rb/) kao(:, 5,16) = (/ & &1.1485e+02_rb,1.2193e+02_rb,1.2815e+02_rb,1.3359e+02_rb,1.3829e+02_rb/) kao(:, 6,16) = (/ & &1.3405e+02_rb,1.4336e+02_rb,1.5157e+02_rb,1.5875e+02_rb,1.6501e+02_rb/) kao(:, 7,16) = (/ & &1.5562e+02_rb,1.6780e+02_rb,1.7860e+02_rb,1.8805e+02_rb,1.9632e+02_rb/) kao(:, 8,16) = (/ & &1.7987e+02_rb,1.9571e+02_rb,2.0979e+02_rb,2.2214e+02_rb,2.3298e+02_rb/) kao(:, 9,16) = (/ & &2.0674e+02_rb,2.2717e+02_rb,2.4538e+02_rb,2.6145e+02_rb,2.7552e+02_rb/) kao(:,10,16) = (/ & &2.3822e+02_rb,2.6423e+02_rb,2.8739e+02_rb,3.0794e+02_rb,3.2592e+02_rb/) kao(:,11,16) = (/ & &2.8871e+02_rb,3.1996e+02_rb,3.4774e+02_rb,3.7226e+02_rb,3.9354e+02_rb/) kao(:,12,16) = (/ & &3.4916e+02_rb,3.8637e+02_rb,4.1932e+02_rb,4.4825e+02_rb,4.7321e+02_rb/) kao(:,13,16) = (/ & &4.2045e+02_rb,4.6429e+02_rb,5.0303e+02_rb,5.3671e+02_rb,5.6546e+02_rb/) ! The array KBO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels < ~100mb and temperatures. The first ! index in the array, JT, which runs from 1 to 5, corresponds to ! different temperatures. More specifically, JT = 3 means that the ! data are for the reference temperature TREF for this pressure ! level, JT = 2 refers to the temperature TREF-15, JT = 1 is for ! TREF-30, JT = 4 is for TREF+15, and JT = 5 is for TREF+30. ! The second index, JP, runs from 13 to 59 and refers to the JPth ! reference pressure level (see taumol.f for the value of these ! pressure levels in mb). The third index, IG, goes from 1 to 16, ! and tells us which g-interval the absorption coefficients are for. kbo(:,13, 1) = (/ & &2.1558e-03_rb,2.5890e-03_rb,2.9127e-03_rb,3.2139e-03_rb,3.5455e-03_rb/) kbo(:,14, 1) = (/ & &1.8304e-03_rb,2.1809e-03_rb,2.4298e-03_rb,2.6878e-03_rb,2.9625e-03_rb/) kbo(:,15, 1) = (/ & &1.5486e-03_rb,1.7962e-03_rb,2.0058e-03_rb,2.2286e-03_rb,2.4705e-03_rb/) kbo(:,16, 1) = (/ & &1.3025e-03_rb,1.4833e-03_rb,1.6606e-03_rb,1.8503e-03_rb,2.0485e-03_rb/) kbo(:,17, 1) = (/ & &1.0810e-03_rb,1.2227e-03_rb,1.3725e-03_rb,1.5304e-03_rb,1.6938e-03_rb/) kbo(:,18, 1) = (/ & &8.7942e-04_rb,1.0015e-03_rb,1.1266e-03_rb,1.2596e-03_rb,1.3951e-03_rb/) kbo(:,19, 1) = (/ & &7.2280e-04_rb,8.2373e-04_rb,9.2739e-04_rb,1.0381e-03_rb,1.1467e-03_rb/) kbo(:,20, 1) = (/ & &6.0184e-04_rb,6.8491e-04_rb,7.6954e-04_rb,8.5989e-04_rb,9.4913e-04_rb/) kbo(:,21, 1) = (/ & &5.0117e-04_rb,5.6823e-04_rb,6.3855e-04_rb,7.1320e-04_rb,7.8654e-04_rb/) kbo(:,22, 1) = (/ & &4.1938e-04_rb,4.7543e-04_rb,5.3375e-04_rb,5.9543e-04_rb,6.5571e-04_rb/) kbo(:,23, 1) = (/ & &3.5199e-04_rb,3.9855e-04_rb,4.4679e-04_rb,4.9714e-04_rb,5.4750e-04_rb/) kbo(:,24, 1) = (/ & &2.9639e-04_rb,3.3452e-04_rb,3.7432e-04_rb,4.1615e-04_rb,4.5706e-04_rb/) kbo(:,25, 1) = (/ & &2.4906e-04_rb,2.8117e-04_rb,3.1412e-04_rb,3.4839e-04_rb,3.7317e-04_rb/) kbo(:,26, 1) = (/ & &2.1029e-04_rb,2.3678e-04_rb,2.6421e-04_rb,2.9238e-04_rb,3.0575e-04_rb/) kbo(:,27, 1) = (/ & &1.7727e-04_rb,1.9942e-04_rb,2.2208e-04_rb,2.4556e-04_rb,2.5262e-04_rb/) kbo(:,28, 1) = (/ & &1.4969e-04_rb,1.6790e-04_rb,1.8692e-04_rb,2.0183e-04_rb,2.0915e-04_rb/) kbo(:,29, 1) = (/ & &1.2629e-04_rb,1.4151e-04_rb,1.5706e-04_rb,1.6548e-04_rb,1.7223e-04_rb/) kbo(:,30, 1) = (/ & &1.0651e-04_rb,1.1909e-04_rb,1.3186e-04_rb,1.3639e-04_rb,1.4198e-04_rb/) kbo(:,31, 1) = (/ & &8.9698e-05_rb,1.0002e-04_rb,1.0798e-04_rb,1.1271e-04_rb,1.1661e-04_rb/) kbo(:,32, 1) = (/ & &7.5536e-05_rb,8.4037e-05_rb,8.8553e-05_rb,9.2337e-05_rb,9.5468e-05_rb/) kbo(:,33, 1) = (/ & &6.3563e-05_rb,7.0507e-05_rb,7.3023e-05_rb,7.6153e-05_rb,7.8142e-05_rb/) kbo(:,34, 1) = (/ & &5.3365e-05_rb,5.7820e-05_rb,6.0490e-05_rb,6.2653e-05_rb,6.4307e-05_rb/) kbo(:,35, 1) = (/ & &4.4295e-05_rb,4.7505e-05_rb,4.9568e-05_rb,5.1436e-05_rb,5.2756e-05_rb/) kbo(:,36, 1) = (/ & &3.6359e-05_rb,3.8955e-05_rb,4.0612e-05_rb,4.2071e-05_rb,4.3157e-05_rb/) kbo(:,37, 1) = (/ & &2.9443e-05_rb,3.1950e-05_rb,3.3272e-05_rb,3.4376e-05_rb,3.5259e-05_rb/) kbo(:,38, 1) = (/ & &2.3815e-05_rb,2.6274e-05_rb,2.7165e-05_rb,2.8049e-05_rb,2.8811e-05_rb/) kbo(:,39, 1) = (/ & &1.9245e-05_rb,2.1354e-05_rb,2.2111e-05_rb,2.2930e-05_rb,2.3532e-05_rb/) kbo(:,40, 1) = (/ & &1.5405e-05_rb,1.7147e-05_rb,1.8049e-05_rb,1.8756e-05_rb,1.9282e-05_rb/) kbo(:,41, 1) = (/ & &1.2319e-05_rb,1.3748e-05_rb,1.4753e-05_rb,1.5289e-05_rb,1.5770e-05_rb/) kbo(:,42, 1) = (/ & &9.8357e-06_rb,1.1012e-05_rb,1.2183e-05_rb,1.2499e-05_rb,1.2877e-05_rb/) kbo(:,43, 1) = (/ & &7.7892e-06_rb,8.7858e-06_rb,9.7457e-06_rb,1.0234e-05_rb,1.0599e-05_rb/) kbo(:,44, 1) = (/ & &6.1605e-06_rb,6.9805e-06_rb,7.7675e-06_rb,8.4197e-06_rb,8.6950e-06_rb/) kbo(:,45, 1) = (/ & &4.8809e-06_rb,5.5274e-06_rb,6.1865e-06_rb,6.8268e-06_rb,7.0906e-06_rb/) kbo(:,46, 1) = (/ & &3.8470e-06_rb,4.3665e-06_rb,4.9029e-06_rb,5.4349e-06_rb,5.8089e-06_rb/) kbo(:,47, 1) = (/ & &3.0311e-06_rb,3.4294e-06_rb,3.8630e-06_rb,4.3044e-06_rb,4.7453e-06_rb/) kbo(:,48, 1) = (/ & &2.3694e-06_rb,2.7049e-06_rb,3.0473e-06_rb,3.4008e-06_rb,3.7674e-06_rb/) kbo(:,49, 1) = (/ & &1.8467e-06_rb,2.1296e-06_rb,2.4020e-06_rb,2.6917e-06_rb,2.9837e-06_rb/) kbo(:,50, 1) = (/ & &1.4542e-06_rb,1.6765e-06_rb,1.8996e-06_rb,2.1320e-06_rb,2.3692e-06_rb/) kbo(:,51, 1) = (/ & &1.1539e-06_rb,1.3178e-06_rb,1.5055e-06_rb,1.6911e-06_rb,1.8864e-06_rb/) kbo(:,52, 1) = (/ & &8.7493e-07_rb,1.0411e-06_rb,1.1898e-06_rb,1.3435e-06_rb,1.4983e-06_rb/) kbo(:,53, 1) = (/ & &6.6072e-07_rb,8.3282e-07_rb,9.4298e-07_rb,1.0653e-06_rb,1.1935e-06_rb/) kbo(:,54, 1) = (/ & &5.0251e-07_rb,6.4316e-07_rb,7.5237e-07_rb,8.5108e-07_rb,9.5630e-07_rb/) kbo(:,55, 1) = (/ & &3.8195e-07_rb,4.9281e-07_rb,6.0554e-07_rb,6.8279e-07_rb,7.6458e-07_rb/) kbo(:,56, 1) = (/ & &2.8943e-07_rb,3.7779e-07_rb,4.8048e-07_rb,5.4688e-07_rb,6.1650e-07_rb/) kbo(:,57, 1) = (/ & &2.1868e-07_rb,2.8870e-07_rb,3.7076e-07_rb,4.4677e-07_rb,4.9616e-07_rb/) kbo(:,58, 1) = (/ & &1.6598e-07_rb,2.2133e-07_rb,2.8693e-07_rb,3.5995e-07_rb,4.0195e-07_rb/) kbo(:,59, 1) = (/ & &1.3312e-07_rb,1.7804e-07_rb,2.3134e-07_rb,2.9072e-07_rb,3.3304e-07_rb/) kbo(:,13, 2) = (/ & &5.7626e-03_rb,6.1115e-03_rb,6.3578e-03_rb,6.6833e-03_rb,6.9834e-03_rb/) kbo(:,14, 2) = (/ & &4.7365e-03_rb,4.9915e-03_rb,5.2669e-03_rb,5.5245e-03_rb,5.7996e-03_rb/) kbo(:,15, 2) = (/ & &3.8570e-03_rb,4.0469e-03_rb,4.3101e-03_rb,4.5195e-03_rb,4.7607e-03_rb/) kbo(:,16, 2) = (/ & &3.0836e-03_rb,3.2692e-03_rb,3.4748e-03_rb,3.6812e-03_rb,3.8941e-03_rb/) kbo(:,17, 2) = (/ & &2.4665e-03_rb,2.6482e-03_rb,2.8018e-03_rb,2.9854e-03_rb,3.1785e-03_rb/) kbo(:,18, 2) = (/ & &1.9741e-03_rb,2.1245e-03_rb,2.2564e-03_rb,2.4081e-03_rb,2.5780e-03_rb/) kbo(:,19, 2) = (/ & &1.5958e-03_rb,1.7126e-03_rb,1.8351e-03_rb,1.9560e-03_rb,2.0570e-03_rb/) kbo(:,20, 2) = (/ & &1.3038e-03_rb,1.3978e-03_rb,1.5013e-03_rb,1.6102e-03_rb,1.6734e-03_rb/) kbo(:,21, 2) = (/ & &1.0706e-03_rb,1.1492e-03_rb,1.2352e-03_rb,1.3269e-03_rb,1.3755e-03_rb/) kbo(:,22, 2) = (/ & &8.8260e-04_rb,9.4987e-04_rb,1.0209e-03_rb,1.0834e-03_rb,1.1278e-03_rb/) kbo(:,23, 2) = (/ & &7.2583e-04_rb,7.8218e-04_rb,8.4637e-04_rb,8.8814e-04_rb,9.2896e-04_rb/) kbo(:,24, 2) = (/ & &6.0040e-04_rb,6.4872e-04_rb,7.0437e-04_rb,7.3258e-04_rb,7.6936e-04_rb/) kbo(:,25, 2) = (/ & &4.9798e-04_rb,5.3936e-04_rb,5.8024e-04_rb,6.0451e-04_rb,6.4613e-04_rb/) kbo(:,26, 2) = (/ & &4.1436e-04_rb,4.5078e-04_rb,4.7645e-04_rb,5.0082e-04_rb,5.4367e-04_rb/) kbo(:,27, 2) = (/ & &3.4567e-04_rb,3.7682e-04_rb,3.9546e-04_rb,4.1621e-04_rb,4.5625e-04_rb/) kbo(:,28, 2) = (/ & &2.8902e-04_rb,3.1546e-04_rb,3.2798e-04_rb,3.5075e-04_rb,3.8306e-04_rb/) kbo(:,29, 2) = (/ & &2.4193e-04_rb,2.5865e-04_rb,2.7208e-04_rb,2.9507e-04_rb,3.2156e-04_rb/) kbo(:,30, 2) = (/ & &2.0282e-04_rb,2.1375e-04_rb,2.2606e-04_rb,2.4794e-04_rb,2.6904e-04_rb/) kbo(:,31, 2) = (/ & &1.6986e-04_rb,1.7726e-04_rb,1.9036e-04_rb,2.0754e-04_rb,2.2529e-04_rb/) kbo(:,32, 2) = (/ & &1.3922e-04_rb,1.4692e-04_rb,1.5999e-04_rb,1.7445e-04_rb,1.8931e-04_rb/) kbo(:,33, 2) = (/ & &1.1520e-04_rb,1.2220e-04_rb,1.3453e-04_rb,1.4590e-04_rb,1.5875e-04_rb/) kbo(:,34, 2) = (/ & &9.5764e-05_rb,1.0295e-04_rb,1.1231e-04_rb,1.2221e-04_rb,1.3235e-04_rb/) kbo(:,35, 2) = (/ & &7.8951e-05_rb,8.5467e-05_rb,9.3381e-05_rb,1.0154e-04_rb,1.0962e-04_rb/) kbo(:,36, 2) = (/ & &6.4805e-05_rb,7.0212e-05_rb,7.6766e-05_rb,8.3544e-05_rb,9.0139e-05_rb/) kbo(:,37, 2) = (/ & &5.2918e-05_rb,5.7064e-05_rb,6.2426e-05_rb,6.8102e-05_rb,7.3562e-05_rb/) kbo(:,38, 2) = (/ & &4.3224e-05_rb,4.6216e-05_rb,5.0772e-05_rb,5.5504e-05_rb,6.0016e-05_rb/) kbo(:,39, 2) = (/ & &3.5291e-05_rb,3.7592e-05_rb,4.1355e-05_rb,4.5145e-05_rb,4.8932e-05_rb/) kbo(:,40, 2) = (/ & &2.8761e-05_rb,3.0515e-05_rb,3.3449e-05_rb,3.6463e-05_rb,3.9654e-05_rb/) kbo(:,41, 2) = (/ & &2.3487e-05_rb,2.4801e-05_rb,2.6922e-05_rb,2.9459e-05_rb,3.2147e-05_rb/) kbo(:,42, 2) = (/ & &1.9314e-05_rb,2.0243e-05_rb,2.1564e-05_rb,2.3753e-05_rb,2.5964e-05_rb/) kbo(:,43, 2) = (/ & &1.5553e-05_rb,1.6470e-05_rb,1.7479e-05_rb,1.9035e-05_rb,2.0784e-05_rb/) kbo(:,44, 2) = (/ & &1.2457e-05_rb,1.3468e-05_rb,1.4190e-05_rb,1.5199e-05_rb,1.6632e-05_rb/) kbo(:,45, 2) = (/ & &9.9734e-06_rb,1.1008e-05_rb,1.1581e-05_rb,1.2254e-05_rb,1.3346e-05_rb/) kbo(:,46, 2) = (/ & &7.9698e-06_rb,8.8088e-06_rb,9.4445e-06_rb,9.9340e-06_rb,1.0690e-05_rb/) kbo(:,47, 2) = (/ & &6.3565e-06_rb,7.0249e-06_rb,7.7396e-06_rb,8.1033e-06_rb,8.5527e-06_rb/) kbo(:,48, 2) = (/ & &5.1256e-06_rb,5.5929e-06_rb,6.1735e-06_rb,6.6021e-06_rb,6.9371e-06_rb/) kbo(:,49, 2) = (/ & &4.0784e-06_rb,4.4718e-06_rb,4.9212e-06_rb,5.4190e-06_rb,5.6740e-06_rb/) kbo(:,50, 2) = (/ & &3.3297e-06_rb,3.6155e-06_rb,3.9436e-06_rb,4.3292e-06_rb,4.6291e-06_rb/) kbo(:,51, 2) = (/ & &2.7486e-06_rb,2.9107e-06_rb,3.1698e-06_rb,3.4767e-06_rb,3.8139e-06_rb/) kbo(:,52, 2) = (/ & &2.2530e-06_rb,2.4006e-06_rb,2.5759e-06_rb,2.7925e-06_rb,3.0627e-06_rb/) kbo(:,53, 2) = (/ & &1.8678e-06_rb,1.9765e-06_rb,2.1052e-06_rb,2.2503e-06_rb,2.4591e-06_rb/) kbo(:,54, 2) = (/ & &1.5340e-06_rb,1.6385e-06_rb,1.7450e-06_rb,1.8671e-06_rb,1.9805e-06_rb/) kbo(:,55, 2) = (/ & &1.2873e-06_rb,1.3532e-06_rb,1.4432e-06_rb,1.5328e-06_rb,1.6236e-06_rb/) kbo(:,56, 2) = (/ & &1.0668e-06_rb,1.1355e-06_rb,1.1865e-06_rb,1.2884e-06_rb,1.3667e-06_rb/) kbo(:,57, 2) = (/ & &8.4592e-07_rb,9.6149e-07_rb,9.8845e-07_rb,1.0536e-06_rb,1.1286e-06_rb/) kbo(:,58, 2) = (/ & &6.5721e-07_rb,8.0847e-07_rb,8.4916e-07_rb,8.7196e-07_rb,9.4267e-07_rb/) kbo(:,59, 2) = (/ & &5.2809e-07_rb,6.6890e-07_rb,7.2431e-07_rb,7.4028e-07_rb,7.8416e-07_rb/) kbo(:,13, 3) = (/ & &8.0007e-03_rb,8.9344e-03_rb,1.0260e-02_rb,1.1651e-02_rb,1.2914e-02_rb/) kbo(:,14, 3) = (/ & &6.8039e-03_rb,7.6829e-03_rb,8.7921e-03_rb,9.9141e-03_rb,1.0757e-02_rb/) kbo(:,15, 3) = (/ & &5.7029e-03_rb,6.5489e-03_rb,7.4475e-03_rb,8.3471e-03_rb,8.8091e-03_rb/) kbo(:,16, 3) = (/ & &4.8074e-03_rb,5.5085e-03_rb,6.2455e-03_rb,6.9353e-03_rb,7.1997e-03_rb/) kbo(:,17, 3) = (/ & &4.0213e-03_rb,4.6076e-03_rb,5.2117e-03_rb,5.6731e-03_rb,5.8805e-03_rb/) kbo(:,18, 3) = (/ & &3.3461e-03_rb,3.8362e-03_rb,4.3242e-03_rb,4.6154e-03_rb,4.7757e-03_rb/) kbo(:,19, 3) = (/ & &2.7996e-03_rb,3.2075e-03_rb,3.5883e-03_rb,3.7732e-03_rb,3.8872e-03_rb/) kbo(:,20, 3) = (/ & &2.3589e-03_rb,2.6931e-03_rb,2.9843e-03_rb,3.1004e-03_rb,3.1743e-03_rb/) kbo(:,21, 3) = (/ & &1.9734e-03_rb,2.2564e-03_rb,2.4531e-03_rb,2.5572e-03_rb,2.5979e-03_rb/) kbo(:,22, 3) = (/ & &1.6777e-03_rb,1.9014e-03_rb,2.0201e-03_rb,2.0877e-03_rb,2.1290e-03_rb/) kbo(:,23, 3) = (/ & &1.4255e-03_rb,1.6043e-03_rb,1.6675e-03_rb,1.7121e-03_rb,1.7219e-03_rb/) kbo(:,24, 3) = (/ & &1.2066e-03_rb,1.3233e-03_rb,1.3782e-03_rb,1.4109e-03_rb,1.3842e-03_rb/) kbo(:,25, 3) = (/ & &1.0218e-03_rb,1.0936e-03_rb,1.1313e-03_rb,1.1590e-03_rb,1.1132e-03_rb/) kbo(:,26, 3) = (/ & &8.6686e-04_rb,9.0770e-04_rb,9.3474e-04_rb,9.3738e-04_rb,9.0394e-04_rb/) kbo(:,27, 3) = (/ & &7.2332e-04_rb,7.5480e-04_rb,7.7347e-04_rb,7.5530e-04_rb,7.3995e-04_rb/) kbo(:,28, 3) = (/ & &5.9945e-04_rb,6.1747e-04_rb,6.3797e-04_rb,6.1191e-04_rb,6.1018e-04_rb/) kbo(:,29, 3) = (/ & &4.9636e-04_rb,5.1141e-04_rb,5.1979e-04_rb,4.9718e-04_rb,5.0501e-04_rb/) kbo(:,30, 3) = (/ & &4.1287e-04_rb,4.2400e-04_rb,4.1392e-04_rb,4.0737e-04_rb,4.1659e-04_rb/) kbo(:,31, 3) = (/ & &3.3517e-04_rb,3.4906e-04_rb,3.3288e-04_rb,3.3660e-04_rb,3.4335e-04_rb/) kbo(:,32, 3) = (/ & &2.7784e-04_rb,2.7984e-04_rb,2.7143e-04_rb,2.7785e-04_rb,2.8417e-04_rb/) kbo(:,33, 3) = (/ & &2.3052e-04_rb,2.2367e-04_rb,2.2307e-04_rb,2.2883e-04_rb,2.3495e-04_rb/) kbo(:,34, 3) = (/ & &1.9073e-04_rb,1.8192e-04_rb,1.8515e-04_rb,1.8942e-04_rb,1.9507e-04_rb/) kbo(:,35, 3) = (/ & &1.5683e-04_rb,1.4914e-04_rb,1.5288e-04_rb,1.5663e-04_rb,1.6156e-04_rb/) kbo(:,36, 3) = (/ & &1.2835e-04_rb,1.2262e-04_rb,1.2564e-04_rb,1.2896e-04_rb,1.3319e-04_rb/) kbo(:,37, 3) = (/ & &1.0651e-04_rb,1.0086e-04_rb,1.0335e-04_rb,1.0615e-04_rb,1.0970e-04_rb/) kbo(:,38, 3) = (/ & &8.7372e-05_rb,8.2916e-05_rb,8.4948e-05_rb,8.7192e-05_rb,9.0174e-05_rb/) kbo(:,39, 3) = (/ & &7.1580e-05_rb,6.8441e-05_rb,6.9733e-05_rb,7.1507e-05_rb,7.4030e-05_rb/) kbo(:,40, 3) = (/ & &5.8422e-05_rb,5.7750e-05_rb,5.6983e-05_rb,5.8663e-05_rb,6.0682e-05_rb/) kbo(:,41, 3) = (/ & &4.7623e-05_rb,4.8587e-05_rb,4.6749e-05_rb,4.8145e-05_rb,4.9685e-05_rb/) kbo(:,42, 3) = (/ & &3.8729e-05_rb,4.0813e-05_rb,3.8776e-05_rb,3.9518e-05_rb,4.0826e-05_rb/) kbo(:,43, 3) = (/ & &3.2019e-05_rb,3.3273e-05_rb,3.2653e-05_rb,3.2753e-05_rb,3.3527e-05_rb/) kbo(:,44, 3) = (/ & &2.6412e-05_rb,2.7141e-05_rb,2.7698e-05_rb,2.6940e-05_rb,2.7582e-05_rb/) kbo(:,45, 3) = (/ & &2.1266e-05_rb,2.2156e-05_rb,2.3306e-05_rb,2.2397e-05_rb,2.2801e-05_rb/) kbo(:,46, 3) = (/ & &1.7333e-05_rb,1.8301e-05_rb,1.8885e-05_rb,1.9036e-05_rb,1.8747e-05_rb/) kbo(:,47, 3) = (/ & &1.4070e-05_rb,1.4972e-05_rb,1.5353e-05_rb,1.6172e-05_rb,1.5451e-05_rb/) kbo(:,48, 3) = (/ & &1.0908e-05_rb,1.2143e-05_rb,1.2701e-05_rb,1.3131e-05_rb,1.3135e-05_rb/) kbo(:,49, 3) = (/ & &8.5257e-06_rb,9.9029e-06_rb,1.0615e-05_rb,1.0623e-05_rb,1.1229e-05_rb/) kbo(:,50, 3) = (/ & &6.5831e-06_rb,7.8068e-06_rb,8.5689e-06_rb,8.8823e-06_rb,9.1397e-06_rb/) kbo(:,51, 3) = (/ & &5.0124e-06_rb,6.1123e-06_rb,6.9735e-06_rb,7.5152e-06_rb,7.4209e-06_rb/) kbo(:,52, 3) = (/ & &3.8557e-06_rb,4.7153e-06_rb,5.6513e-06_rb,6.0740e-06_rb,6.2588e-06_rb/) kbo(:,53, 3) = (/ & &2.9713e-06_rb,3.6139e-06_rb,4.3749e-06_rb,4.9165e-06_rb,5.3050e-06_rb/) kbo(:,54, 3) = (/ & &2.2856e-06_rb,2.7967e-06_rb,3.4018e-06_rb,4.0149e-06_rb,4.3280e-06_rb/) kbo(:,55, 3) = (/ & &1.7432e-06_rb,2.1952e-06_rb,2.6416e-06_rb,3.2063e-06_rb,3.5207e-06_rb/) kbo(:,56, 3) = (/ & &1.3460e-06_rb,1.6981e-06_rb,2.0681e-06_rb,2.4690e-06_rb,2.8558e-06_rb/) kbo(:,57, 3) = (/ & &1.0794e-06_rb,1.2900e-06_rb,1.6260e-06_rb,1.9447e-06_rb,2.3391e-06_rb/) kbo(:,58, 3) = (/ & &9.2042e-07_rb,9.9682e-07_rb,1.2594e-06_rb,1.5341e-06_rb,1.8245e-06_rb/) kbo(:,59, 3) = (/ & &7.5487e-07_rb,8.2111e-07_rb,1.0075e-06_rb,1.2341e-06_rb,1.4799e-06_rb/) kbo(:,13, 4) = (/ & &1.6236e-02_rb,1.6164e-02_rb,1.6551e-02_rb,1.6579e-02_rb,1.4849e-02_rb/) kbo(:,14, 4) = (/ & &1.3333e-02_rb,1.3358e-02_rb,1.3723e-02_rb,1.3164e-02_rb,1.2310e-02_rb/) kbo(:,15, 4) = (/ & &1.0791e-02_rb,1.1005e-02_rb,1.1347e-02_rb,1.0262e-02_rb,1.0198e-02_rb/) kbo(:,16, 4) = (/ & &8.7740e-03_rb,9.0551e-03_rb,8.8988e-03_rb,8.1326e-03_rb,8.4246e-03_rb/) kbo(:,17, 4) = (/ & &7.1855e-03_rb,7.4271e-03_rb,6.8507e-03_rb,6.6124e-03_rb,6.9447e-03_rb/) kbo(:,18, 4) = (/ & &5.8832e-03_rb,5.8794e-03_rb,5.3061e-03_rb,5.4156e-03_rb,5.7271e-03_rb/) kbo(:,19, 4) = (/ & &4.7612e-03_rb,4.5173e-03_rb,4.2495e-03_rb,4.4758e-03_rb,4.7797e-03_rb/) kbo(:,20, 4) = (/ & &3.8929e-03_rb,3.5371e-03_rb,3.4837e-03_rb,3.7081e-03_rb,4.0335e-03_rb/) kbo(:,21, 4) = (/ & &3.1210e-03_rb,2.8158e-03_rb,2.9040e-03_rb,3.0717e-03_rb,3.3855e-03_rb/) kbo(:,22, 4) = (/ & &2.4122e-03_rb,2.2915e-03_rb,2.4348e-03_rb,2.6102e-03_rb,2.8568e-03_rb/) kbo(:,23, 4) = (/ & &1.8931e-03_rb,1.8847e-03_rb,2.0226e-03_rb,2.2045e-03_rb,2.4293e-03_rb/) kbo(:,24, 4) = (/ & &1.5231e-03_rb,1.5878e-03_rb,1.6899e-03_rb,1.8552e-03_rb,2.0775e-03_rb/) kbo(:,25, 4) = (/ & &1.2458e-03_rb,1.3309e-03_rb,1.4317e-03_rb,1.5678e-03_rb,1.7779e-03_rb/) kbo(:,26, 4) = (/ & &1.0318e-03_rb,1.1118e-03_rb,1.2146e-03_rb,1.3449e-03_rb,1.5065e-03_rb/) kbo(:,27, 4) = (/ & &8.6665e-04_rb,9.3057e-04_rb,1.0235e-03_rb,1.1557e-03_rb,1.2745e-03_rb/) kbo(:,28, 4) = (/ & &7.2935e-04_rb,7.9123e-04_rb,8.6656e-04_rb,9.8388e-04_rb,1.0757e-03_rb/) kbo(:,29, 4) = (/ & &6.1286e-04_rb,6.7240e-04_rb,7.4124e-04_rb,8.3872e-04_rb,9.0911e-04_rb/) kbo(:,30, 4) = (/ & &5.1400e-04_rb,5.6684e-04_rb,6.4255e-04_rb,7.1220e-04_rb,7.7258e-04_rb/) kbo(:,31, 4) = (/ & &4.4005e-04_rb,4.8076e-04_rb,5.5017e-04_rb,6.0255e-04_rb,6.5647e-04_rb/) kbo(:,32, 4) = (/ & &3.7263e-04_rb,4.1679e-04_rb,4.6901e-04_rb,5.1118e-04_rb,5.5709e-04_rb/) kbo(:,33, 4) = (/ & &3.1452e-04_rb,3.5853e-04_rb,3.9810e-04_rb,4.3526e-04_rb,4.7464e-04_rb/) kbo(:,34, 4) = (/ & &2.6538e-04_rb,3.0537e-04_rb,3.3607e-04_rb,3.6889e-04_rb,4.0236e-04_rb/) kbo(:,35, 4) = (/ & &2.2314e-04_rb,2.5674e-04_rb,2.8212e-04_rb,3.1017e-04_rb,3.3804e-04_rb/) kbo(:,36, 4) = (/ & &1.8558e-04_rb,2.1307e-04_rb,2.3484e-04_rb,2.5807e-04_rb,2.8146e-04_rb/) kbo(:,37, 4) = (/ & &1.5092e-04_rb,1.7515e-04_rb,1.9371e-04_rb,2.1363e-04_rb,2.3312e-04_rb/) kbo(:,38, 4) = (/ & &1.2396e-04_rb,1.4379e-04_rb,1.5969e-04_rb,1.7662e-04_rb,1.9284e-04_rb/) kbo(:,39, 4) = (/ & &1.0157e-04_rb,1.1773e-04_rb,1.3175e-04_rb,1.4587e-04_rb,1.5934e-04_rb/) kbo(:,40, 4) = (/ & &8.2605e-05_rb,9.4273e-05_rb,1.0813e-04_rb,1.1977e-04_rb,1.3107e-04_rb/) kbo(:,41, 4) = (/ & &6.6939e-05_rb,7.5416e-05_rb,8.8332e-05_rb,9.8121e-05_rb,1.0774e-04_rb/) kbo(:,42, 4) = (/ & &5.4049e-05_rb,6.0030e-05_rb,7.1511e-05_rb,8.0199e-05_rb,8.8261e-05_rb/) kbo(:,43, 4) = (/ & &4.3092e-05_rb,4.8470e-05_rb,5.6902e-05_rb,6.4800e-05_rb,7.1905e-05_rb/) kbo(:,44, 4) = (/ & &3.4303e-05_rb,3.8888e-05_rb,4.4709e-05_rb,5.2317e-05_rb,5.8294e-05_rb/) kbo(:,45, 4) = (/ & &2.7706e-05_rb,3.1192e-05_rb,3.5138e-05_rb,4.1880e-05_rb,4.7037e-05_rb/) kbo(:,46, 4) = (/ & &2.2020e-05_rb,2.4816e-05_rb,2.8235e-05_rb,3.2847e-05_rb,3.7855e-05_rb/) kbo(:,47, 4) = (/ & &1.7397e-05_rb,1.9571e-05_rb,2.2339e-05_rb,2.5403e-05_rb,3.0154e-05_rb/) kbo(:,48, 4) = (/ & &1.4464e-05_rb,1.5535e-05_rb,1.7628e-05_rb,2.0160e-05_rb,2.3523e-05_rb/) kbo(:,49, 4) = (/ & &1.2203e-05_rb,1.2334e-05_rb,1.3809e-05_rb,1.5955e-05_rb,1.8189e-05_rb/) kbo(:,50, 4) = (/ & &1.0868e-05_rb,1.0166e-05_rb,1.1038e-05_rb,1.2542e-05_rb,1.4482e-05_rb/) kbo(:,51, 4) = (/ & &9.5445e-06_rb,8.4914e-06_rb,8.8728e-06_rb,9.7788e-06_rb,1.1531e-05_rb/) kbo(:,52, 4) = (/ & &7.6675e-06_rb,7.5593e-06_rb,7.1200e-06_rb,7.9511e-06_rb,9.0030e-06_rb/) kbo(:,53, 4) = (/ & &6.1578e-06_rb,6.8621e-06_rb,5.9549e-06_rb,6.4007e-06_rb,7.0103e-06_rb/) kbo(:,54, 4) = (/ & &4.9970e-06_rb,5.5372e-06_rb,5.2950e-06_rb,5.1133e-06_rb,5.6754e-06_rb/) kbo(:,55, 4) = (/ & &4.1058e-06_rb,4.4463e-06_rb,4.8381e-06_rb,4.2110e-06_rb,4.6398e-06_rb/) kbo(:,56, 4) = (/ & &3.3825e-06_rb,3.6285e-06_rb,4.0286e-06_rb,3.7391e-06_rb,3.7193e-06_rb/) kbo(:,57, 4) = (/ & &2.7087e-06_rb,2.9631e-06_rb,3.2500e-06_rb,3.4185e-06_rb,3.0256e-06_rb/) kbo(:,58, 4) = (/ & &2.0759e-06_rb,2.4918e-06_rb,2.6378e-06_rb,2.9253e-06_rb,2.6729e-06_rb/) kbo(:,59, 4) = (/ & &1.6942e-06_rb,2.0927e-06_rb,2.1992e-06_rb,2.4373e-06_rb,2.3395e-06_rb/) kbo(:,13, 5) = (/ & &1.7253e-02_rb,1.9755e-02_rb,2.1401e-02_rb,2.3591e-02_rb,2.8114e-02_rb/) kbo(:,14, 5) = (/ & &1.4836e-02_rb,1.6934e-02_rb,1.8341e-02_rb,2.1005e-02_rb,2.4456e-02_rb/) kbo(:,15, 5) = (/ & &1.2786e-02_rb,1.4254e-02_rb,1.5589e-02_rb,1.8700e-02_rb,2.1272e-02_rb/) kbo(:,16, 5) = (/ & &1.0892e-02_rb,1.2056e-02_rb,1.3761e-02_rb,1.6336e-02_rb,1.8224e-02_rb/) kbo(:,17, 5) = (/ & &9.1405e-03_rb,1.0167e-02_rb,1.2171e-02_rb,1.4009e-02_rb,1.5426e-02_rb/) kbo(:,18, 5) = (/ & &7.6420e-03_rb,8.7762e-03_rb,1.0582e-02_rb,1.1875e-02_rb,1.2969e-02_rb/) kbo(:,19, 5) = (/ & &6.4312e-03_rb,7.6685e-03_rb,8.9635e-03_rb,9.9226e-03_rb,1.0844e-02_rb/) kbo(:,20, 5) = (/ & &5.4039e-03_rb,6.6521e-03_rb,7.5702e-03_rb,8.3653e-03_rb,9.0934e-03_rb/) kbo(:,21, 5) = (/ & &4.6584e-03_rb,5.7137e-03_rb,6.4063e-03_rb,7.0462e-03_rb,7.6384e-03_rb/) kbo(:,22, 5) = (/ & &4.1485e-03_rb,4.9033e-03_rb,5.4200e-03_rb,5.9610e-03_rb,6.4648e-03_rb/) kbo(:,23, 5) = (/ & &3.6403e-03_rb,4.1705e-03_rb,4.6055e-03_rb,5.0423e-03_rb,5.4667e-03_rb/) kbo(:,24, 5) = (/ & &3.1466e-03_rb,3.5285e-03_rb,3.8988e-03_rb,4.2642e-03_rb,4.6134e-03_rb/) kbo(:,25, 5) = (/ & &2.6968e-03_rb,2.9919e-03_rb,3.3029e-03_rb,3.6014e-03_rb,3.8905e-03_rb/) kbo(:,26, 5) = (/ & &2.2919e-03_rb,2.5427e-03_rb,2.7966e-03_rb,3.0460e-03_rb,3.3030e-03_rb/) kbo(:,27, 5) = (/ & &1.9487e-03_rb,2.1617e-03_rb,2.3708e-03_rb,2.5760e-03_rb,2.8001e-03_rb/) kbo(:,28, 5) = (/ & &1.6604e-03_rb,1.8339e-03_rb,2.0064e-03_rb,2.1858e-03_rb,2.3683e-03_rb/) kbo(:,29, 5) = (/ & &1.4167e-03_rb,1.5573e-03_rb,1.7005e-03_rb,1.8546e-03_rb,2.0015e-03_rb/) kbo(:,30, 5) = (/ & &1.2043e-03_rb,1.3228e-03_rb,1.4435e-03_rb,1.5699e-03_rb,1.6896e-03_rb/) kbo(:,31, 5) = (/ & &1.0225e-03_rb,1.1229e-03_rb,1.2273e-03_rb,1.3283e-03_rb,1.4296e-03_rb/) kbo(:,32, 5) = (/ & &8.6992e-04_rb,9.5293e-04_rb,1.0416e-03_rb,1.1243e-03_rb,1.2104e-03_rb/) kbo(:,33, 5) = (/ & &7.3968e-04_rb,8.1278e-04_rb,8.8420e-04_rb,9.5333e-04_rb,1.0276e-03_rb/) kbo(:,34, 5) = (/ & &6.2724e-04_rb,6.8945e-04_rb,7.4802e-04_rb,8.0740e-04_rb,8.7396e-04_rb/) kbo(:,35, 5) = (/ & &5.2729e-04_rb,5.7995e-04_rb,6.2910e-04_rb,6.7983e-04_rb,7.3853e-04_rb/) kbo(:,36, 5) = (/ & &4.3895e-04_rb,4.8339e-04_rb,5.2479e-04_rb,5.6936e-04_rb,6.1891e-04_rb/) kbo(:,37, 5) = (/ & &3.6323e-04_rb,4.0071e-04_rb,4.3613e-04_rb,4.7458e-04_rb,5.1673e-04_rb/) kbo(:,38, 5) = (/ & &3.0001e-04_rb,3.3215e-04_rb,3.6263e-04_rb,3.9587e-04_rb,4.3165e-04_rb/) kbo(:,39, 5) = (/ & &2.4808e-04_rb,2.7543e-04_rb,3.0133e-04_rb,3.3050e-04_rb,3.6200e-04_rb/) kbo(:,40, 5) = (/ & &2.0392e-04_rb,2.2766e-04_rb,2.5038e-04_rb,2.7569e-04_rb,3.0329e-04_rb/) kbo(:,41, 5) = (/ & &1.6718e-04_rb,1.8754e-04_rb,2.0771e-04_rb,2.3036e-04_rb,2.5452e-04_rb/) kbo(:,42, 5) = (/ & &1.3676e-04_rb,1.5432e-04_rb,1.7210e-04_rb,1.9216e-04_rb,2.1391e-04_rb/) kbo(:,43, 5) = (/ & &1.1103e-04_rb,1.2612e-04_rb,1.4186e-04_rb,1.5938e-04_rb,1.7898e-04_rb/) kbo(:,44, 5) = (/ & &8.9549e-05_rb,1.0259e-04_rb,1.1643e-04_rb,1.3169e-04_rb,1.4912e-04_rb/) kbo(:,45, 5) = (/ & &7.2088e-05_rb,8.3098e-05_rb,9.5307e-05_rb,1.0860e-04_rb,1.2373e-04_rb/) kbo(:,46, 5) = (/ & &5.7589e-05_rb,6.6833e-05_rb,7.7497e-05_rb,8.9096e-05_rb,1.0212e-04_rb/) kbo(:,47, 5) = (/ & &4.5404e-05_rb,5.3366e-05_rb,6.2424e-05_rb,7.2413e-05_rb,8.3476e-05_rb/) kbo(:,48, 5) = (/ & &3.5296e-05_rb,4.2388e-05_rb,4.9972e-05_rb,5.8618e-05_rb,6.7991e-05_rb/) kbo(:,49, 5) = (/ & &2.7057e-05_rb,3.3322e-05_rb,3.9733e-05_rb,4.7217e-05_rb,5.5093e-05_rb/) kbo(:,50, 5) = (/ & &2.0028e-05_rb,2.6063e-05_rb,3.1674e-05_rb,3.7934e-05_rb,4.4693e-05_rb/) kbo(:,51, 5) = (/ & &1.4762e-05_rb,2.0261e-05_rb,2.5067e-05_rb,3.0345e-05_rb,3.6144e-05_rb/) kbo(:,52, 5) = (/ & &1.1471e-05_rb,1.5106e-05_rb,1.9721e-05_rb,2.4107e-05_rb,2.9127e-05_rb/) kbo(:,53, 5) = (/ & &8.8078e-06_rb,1.0927e-05_rb,1.5370e-05_rb,1.9101e-05_rb,2.3328e-05_rb/) kbo(:,54, 5) = (/ & &6.7922e-06_rb,8.5333e-06_rb,1.1608e-05_rb,1.5114e-05_rb,1.8676e-05_rb/) kbo(:,55, 5) = (/ & &5.2087e-06_rb,6.6736e-06_rb,8.5401e-06_rb,1.1909e-05_rb,1.4884e-05_rb/) kbo(:,56, 5) = (/ & &3.9778e-06_rb,5.1458e-06_rb,6.5614e-06_rb,9.1281e-06_rb,1.1849e-05_rb/) kbo(:,57, 5) = (/ & &3.4293e-06_rb,3.9957e-06_rb,5.1202e-06_rb,6.7753e-06_rb,9.3431e-06_rb/) kbo(:,58, 5) = (/ & &3.0812e-06_rb,3.0418e-06_rb,3.9938e-06_rb,5.1720e-06_rb,7.2446e-06_rb/) kbo(:,59, 5) = (/ & &2.6710e-06_rb,2.4462e-06_rb,3.2530e-06_rb,4.2384e-06_rb,5.8592e-06_rb/) kbo(:,13, 6) = (/ & &4.3826e-02_rb,5.0848e-02_rb,5.7125e-02_rb,6.2916e-02_rb,6.7915e-02_rb/) kbo(:,14, 6) = (/ & &3.8242e-02_rb,4.3851e-02_rb,4.9242e-02_rb,5.3907e-02_rb,5.8385e-02_rb/) kbo(:,15, 6) = (/ & &3.3170e-02_rb,3.7873e-02_rb,4.2212e-02_rb,4.6203e-02_rb,5.0021e-02_rb/) kbo(:,16, 6) = (/ & &2.8430e-02_rb,3.2381e-02_rb,3.6071e-02_rb,3.9408e-02_rb,4.2554e-02_rb/) kbo(:,17, 6) = (/ & &2.4252e-02_rb,2.7453e-02_rb,3.0545e-02_rb,3.3265e-02_rb,3.5923e-02_rb/) kbo(:,18, 6) = (/ & &2.0461e-02_rb,2.3166e-02_rb,2.5616e-02_rb,2.7856e-02_rb,3.0048e-02_rb/) kbo(:,19, 6) = (/ & &1.7273e-02_rb,1.9462e-02_rb,2.1473e-02_rb,2.3367e-02_rb,2.5163e-02_rb/) kbo(:,20, 6) = (/ & &1.4713e-02_rb,1.6450e-02_rb,1.8126e-02_rb,1.9702e-02_rb,2.1262e-02_rb/) kbo(:,21, 6) = (/ & &1.2468e-02_rb,1.3887e-02_rb,1.5268e-02_rb,1.6611e-02_rb,1.7949e-02_rb/) kbo(:,22, 6) = (/ & &1.0608e-02_rb,1.1782e-02_rb,1.2961e-02_rb,1.4100e-02_rb,1.5205e-02_rb/) kbo(:,23, 6) = (/ & &8.9996e-03_rb,9.9872e-03_rb,1.1001e-02_rb,1.1992e-02_rb,1.2875e-02_rb/) kbo(:,24, 6) = (/ & &7.6639e-03_rb,8.5225e-03_rb,9.3703e-03_rb,1.0166e-02_rb,1.0905e-02_rb/) kbo(:,25, 6) = (/ & &6.5402e-03_rb,7.2570e-03_rb,7.9762e-03_rb,8.6328e-03_rb,9.2482e-03_rb/) kbo(:,26, 6) = (/ & &5.5998e-03_rb,6.2109e-03_rb,6.7992e-03_rb,7.3298e-03_rb,7.8244e-03_rb/) kbo(:,27, 6) = (/ & &4.7932e-03_rb,5.3061e-03_rb,5.7794e-03_rb,6.2257e-03_rb,6.6438e-03_rb/) kbo(:,28, 6) = (/ & &4.0951e-03_rb,4.5312e-03_rb,4.9233e-03_rb,5.2892e-03_rb,5.6437e-03_rb/) kbo(:,29, 6) = (/ & &3.5062e-03_rb,3.8638e-03_rb,4.1941e-03_rb,4.4995e-03_rb,4.7944e-03_rb/) kbo(:,30, 6) = (/ & &2.9997e-03_rb,3.2915e-03_rb,3.5642e-03_rb,3.8238e-03_rb,4.0827e-03_rb/) kbo(:,31, 6) = (/ & &2.5609e-03_rb,2.8021e-03_rb,3.0278e-03_rb,3.2471e-03_rb,3.4700e-03_rb/) kbo(:,32, 6) = (/ & &2.1838e-03_rb,2.3823e-03_rb,2.5746e-03_rb,2.7615e-03_rb,2.9515e-03_rb/) kbo(:,33, 6) = (/ & &1.8610e-03_rb,2.0261e-03_rb,2.1868e-03_rb,2.3490e-03_rb,2.5125e-03_rb/) kbo(:,34, 6) = (/ & &1.5812e-03_rb,1.7190e-03_rb,1.8561e-03_rb,1.9953e-03_rb,2.1347e-03_rb/) kbo(:,35, 6) = (/ & &1.3323e-03_rb,1.4487e-03_rb,1.5664e-03_rb,1.6864e-03_rb,1.8025e-03_rb/) kbo(:,36, 6) = (/ & &1.1120e-03_rb,1.2101e-03_rb,1.3111e-03_rb,1.4134e-03_rb,1.5124e-03_rb/) kbo(:,37, 6) = (/ & &9.2067e-04_rb,1.0045e-03_rb,1.0903e-03_rb,1.1790e-03_rb,1.2650e-03_rb/) kbo(:,38, 6) = (/ & &7.6186e-04_rb,8.3301e-04_rb,9.0690e-04_rb,9.8204e-04_rb,1.0582e-03_rb/) kbo(:,39, 6) = (/ & &6.3121e-04_rb,6.9074e-04_rb,7.5442e-04_rb,8.1836e-04_rb,8.8377e-04_rb/) kbo(:,40, 6) = (/ & &5.2096e-04_rb,5.7198e-04_rb,6.2426e-04_rb,6.7904e-04_rb,7.3548e-04_rb/) kbo(:,41, 6) = (/ & &4.2992e-04_rb,4.7365e-04_rb,5.1846e-04_rb,5.6371e-04_rb,6.1228e-04_rb/) kbo(:,42, 6) = (/ & &3.5500e-04_rb,3.9262e-04_rb,4.3159e-04_rb,4.7009e-04_rb,5.1120e-04_rb/) kbo(:,43, 6) = (/ & &2.9285e-04_rb,3.2562e-04_rb,3.5900e-04_rb,3.9210e-04_rb,4.2694e-04_rb/) kbo(:,44, 6) = (/ & &2.4061e-04_rb,2.6923e-04_rb,2.9805e-04_rb,3.2732e-04_rb,3.5760e-04_rb/) kbo(:,45, 6) = (/ & &1.9754e-04_rb,2.2270e-04_rb,2.4799e-04_rb,2.7345e-04_rb,3.0033e-04_rb/) kbo(:,46, 6) = (/ & &1.6118e-04_rb,1.8331e-04_rb,2.0573e-04_rb,2.2834e-04_rb,2.5255e-04_rb/) kbo(:,47, 6) = (/ & &1.3001e-04_rb,1.4919e-04_rb,1.6905e-04_rb,1.8953e-04_rb,2.1172e-04_rb/) kbo(:,48, 6) = (/ & &1.0430e-04_rb,1.2103e-04_rb,1.3853e-04_rb,1.5665e-04_rb,1.7689e-04_rb/) kbo(:,49, 6) = (/ & &8.3158e-05_rb,9.7679e-05_rb,1.1288e-04_rb,1.2898e-04_rb,1.4689e-04_rb/) kbo(:,50, 6) = (/ & &6.6182e-05_rb,7.8799e-05_rb,9.1873e-05_rb,1.0601e-04_rb,1.2184e-04_rb/) kbo(:,51, 6) = (/ & &5.2460e-05_rb,6.3349e-05_rb,7.4559e-05_rb,8.7033e-05_rb,1.0081e-04_rb/) kbo(:,52, 6) = (/ & &4.1391e-05_rb,5.0671e-05_rb,6.0237e-05_rb,7.1015e-05_rb,8.3290e-05_rb/) kbo(:,53, 6) = (/ & &3.2451e-05_rb,4.0299e-05_rb,4.8474e-05_rb,5.7732e-05_rb,6.8499e-05_rb/) kbo(:,54, 6) = (/ & &2.5414e-05_rb,3.2075e-05_rb,3.9061e-05_rb,4.7059e-05_rb,5.6458e-05_rb/) kbo(:,55, 6) = (/ & &1.9791e-05_rb,2.5430e-05_rb,3.1447e-05_rb,3.8320e-05_rb,4.6433e-05_rb/) kbo(:,56, 6) = (/ & &1.5282e-05_rb,2.0059e-05_rb,2.5203e-05_rb,3.1033e-05_rb,3.8063e-05_rb/) kbo(:,57, 6) = (/ & &1.1377e-05_rb,1.5690e-05_rb,2.0076e-05_rb,2.5035e-05_rb,3.1091e-05_rb/) kbo(:,58, 6) = (/ & &8.3098e-06_rb,1.2203e-05_rb,1.5952e-05_rb,2.0176e-05_rb,2.5366e-05_rb/) kbo(:,59, 6) = (/ & &6.5651e-06_rb,9.9766e-06_rb,1.3186e-05_rb,1.6915e-05_rb,2.1496e-05_rb/) kbo(:,13, 7) = (/ & &1.1534e-01_rb,1.2733e-01_rb,1.3962e-01_rb,1.4987e-01_rb,1.6008e-01_rb/) kbo(:,14, 7) = (/ & &9.8557e-02_rb,1.0921e-01_rb,1.1846e-01_rb,1.2756e-01_rb,1.3545e-01_rb/) kbo(:,15, 7) = (/ & &8.4816e-02_rb,9.3361e-02_rb,1.0130e-01_rb,1.0828e-01_rb,1.1452e-01_rb/) kbo(:,16, 7) = (/ & &7.2792e-02_rb,7.9992e-02_rb,8.6025e-02_rb,9.1745e-02_rb,9.7220e-02_rb/) kbo(:,17, 7) = (/ & &6.2250e-02_rb,6.8145e-02_rb,7.3215e-02_rb,7.8161e-02_rb,8.2912e-02_rb/) kbo(:,18, 7) = (/ & &5.2897e-02_rb,5.7617e-02_rb,6.2131e-02_rb,6.6296e-02_rb,7.0468e-02_rb/) kbo(:,19, 7) = (/ & &4.4630e-02_rb,4.8620e-02_rb,5.2395e-02_rb,5.5983e-02_rb,5.9561e-02_rb/) kbo(:,20, 7) = (/ & &3.7638e-02_rb,4.1018e-02_rb,4.4192e-02_rb,4.7348e-02_rb,5.0426e-02_rb/) kbo(:,21, 7) = (/ & &3.1712e-02_rb,3.4570e-02_rb,3.7337e-02_rb,4.0055e-02_rb,4.2699e-02_rb/) kbo(:,22, 7) = (/ & &2.6951e-02_rb,2.9361e-02_rb,3.1724e-02_rb,3.4058e-02_rb,3.6337e-02_rb/) kbo(:,23, 7) = (/ & &2.2985e-02_rb,2.5005e-02_rb,2.7002e-02_rb,2.8884e-02_rb,3.0844e-02_rb/) kbo(:,24, 7) = (/ & &1.9564e-02_rb,2.1275e-02_rb,2.2950e-02_rb,2.4579e-02_rb,2.6269e-02_rb/) kbo(:,25, 7) = (/ & &1.6678e-02_rb,1.8134e-02_rb,1.9557e-02_rb,2.0984e-02_rb,2.2448e-02_rb/) kbo(:,26, 7) = (/ & &1.4215e-02_rb,1.5478e-02_rb,1.6731e-02_rb,1.8053e-02_rb,1.9409e-02_rb/) kbo(:,27, 7) = (/ & &1.2146e-02_rb,1.3259e-02_rb,1.4401e-02_rb,1.5542e-02_rb,1.6732e-02_rb/) kbo(:,28, 7) = (/ & &1.0451e-02_rb,1.1387e-02_rb,1.2366e-02_rb,1.3378e-02_rb,1.4403e-02_rb/) kbo(:,29, 7) = (/ & &8.9638e-03_rb,9.7824e-03_rb,1.0625e-02_rb,1.1522e-02_rb,1.2402e-02_rb/) kbo(:,30, 7) = (/ & &7.7059e-03_rb,8.4110e-03_rb,9.1535e-03_rb,9.9173e-03_rb,1.0684e-02_rb/) kbo(:,31, 7) = (/ & &6.6159e-03_rb,7.2344e-03_rb,7.8777e-03_rb,8.5358e-03_rb,9.2030e-03_rb/) kbo(:,32, 7) = (/ & &5.6925e-03_rb,6.2370e-03_rb,6.7880e-03_rb,7.3601e-03_rb,7.9298e-03_rb/) kbo(:,33, 7) = (/ & &4.9047e-03_rb,5.3755e-03_rb,5.8574e-03_rb,6.3478e-03_rb,6.8444e-03_rb/) kbo(:,34, 7) = (/ & &4.2261e-03_rb,4.6310e-03_rb,5.0504e-03_rb,5.4765e-03_rb,5.9065e-03_rb/) kbo(:,35, 7) = (/ & &3.6014e-03_rb,3.9541e-03_rb,4.3177e-03_rb,4.6806e-03_rb,5.0649e-03_rb/) kbo(:,36, 7) = (/ & &3.0405e-03_rb,3.3438e-03_rb,3.6573e-03_rb,3.9714e-03_rb,4.3136e-03_rb/) kbo(:,37, 7) = (/ & &2.5476e-03_rb,2.8157e-03_rb,3.0872e-03_rb,3.3632e-03_rb,3.6681e-03_rb/) kbo(:,38, 7) = (/ & &2.1334e-03_rb,2.3678e-03_rb,2.6052e-03_rb,2.8532e-03_rb,3.1134e-03_rb/) kbo(:,39, 7) = (/ & &1.7845e-03_rb,1.9869e-03_rb,2.1996e-03_rb,2.4178e-03_rb,2.6484e-03_rb/) kbo(:,40, 7) = (/ & &1.4840e-03_rb,1.6609e-03_rb,1.8504e-03_rb,2.0474e-03_rb,2.2560e-03_rb/) kbo(:,41, 7) = (/ & &1.2344e-03_rb,1.3898e-03_rb,1.5559e-03_rb,1.7345e-03_rb,1.9234e-03_rb/) kbo(:,42, 7) = (/ & &1.0314e-03_rb,1.1653e-03_rb,1.3107e-03_rb,1.4669e-03_rb,1.6353e-03_rb/) kbo(:,43, 7) = (/ & &8.5631e-04_rb,9.7409e-04_rb,1.1003e-03_rb,1.2355e-03_rb,1.3860e-03_rb/) kbo(:,44, 7) = (/ & &7.0883e-04_rb,8.1303e-04_rb,9.2536e-04_rb,1.0435e-03_rb,1.1739e-03_rb/) kbo(:,45, 7) = (/ & &5.8732e-04_rb,6.7556e-04_rb,7.7384e-04_rb,8.8025e-04_rb,9.9590e-04_rb/) kbo(:,46, 7) = (/ & &4.8484e-04_rb,5.6171e-04_rb,6.4432e-04_rb,7.3847e-04_rb,8.4169e-04_rb/) kbo(:,47, 7) = (/ & &3.9752e-04_rb,4.6412e-04_rb,5.3807e-04_rb,6.1858e-04_rb,7.0821e-04_rb/) kbo(:,48, 7) = (/ & &3.2593e-04_rb,3.8380e-04_rb,4.4885e-04_rb,5.1997e-04_rb,5.9487e-04_rb/) kbo(:,49, 7) = (/ & &2.6581e-04_rb,3.1620e-04_rb,3.7509e-04_rb,4.3658e-04_rb,5.0219e-04_rb/) kbo(:,50, 7) = (/ & &2.1682e-04_rb,2.6203e-04_rb,3.1361e-04_rb,3.6786e-04_rb,4.2524e-04_rb/) kbo(:,51, 7) = (/ & &1.7696e-04_rb,2.1726e-04_rb,2.6292e-04_rb,3.1080e-04_rb,3.6141e-04_rb/) kbo(:,52, 7) = (/ & &1.4350e-04_rb,1.8000e-04_rb,2.2008e-04_rb,2.6275e-04_rb,3.0811e-04_rb/) kbo(:,53, 7) = (/ & &1.1566e-04_rb,1.4775e-04_rb,1.8326e-04_rb,2.2179e-04_rb,2.6354e-04_rb/) kbo(:,54, 7) = (/ & &9.3174e-05_rb,1.2130e-04_rb,1.5287e-04_rb,1.8794e-04_rb,2.2723e-04_rb/) kbo(:,55, 7) = (/ & &7.4812e-05_rb,9.9351e-05_rb,1.2721e-04_rb,1.5976e-04_rb,1.9539e-04_rb/) kbo(:,56, 7) = (/ & &5.9751e-05_rb,8.0907e-05_rb,1.0532e-04_rb,1.3503e-04_rb,1.6719e-04_rb/) kbo(:,57, 7) = (/ & &4.7338e-05_rb,6.5345e-05_rb,8.6815e-05_rb,1.1307e-04_rb,1.4234e-04_rb/) kbo(:,58, 7) = (/ & &3.7388e-05_rb,5.2674e-05_rb,7.1720e-05_rb,9.4757e-05_rb,1.2118e-04_rb/) kbo(:,59, 7) = (/ & &3.1368e-05_rb,4.4899e-05_rb,6.2069e-05_rb,8.2754e-05_rb,1.0682e-04_rb/) kbo(:,13, 8) = (/ & &3.8513e-01_rb,4.3049e-01_rb,4.7109e-01_rb,5.0795e-01_rb,5.3980e-01_rb/) kbo(:,14, 8) = (/ & &3.2769e-01_rb,3.6398e-01_rb,3.9786e-01_rb,4.2776e-01_rb,4.5444e-01_rb/) kbo(:,15, 8) = (/ & &2.7898e-01_rb,3.0981e-01_rb,3.3796e-01_rb,3.6334e-01_rb,3.8812e-01_rb/) kbo(:,16, 8) = (/ & &2.3683e-01_rb,2.6231e-01_rb,2.8577e-01_rb,3.0755e-01_rb,3.2800e-01_rb/) kbo(:,17, 8) = (/ & &2.0036e-01_rb,2.2125e-01_rb,2.4047e-01_rb,2.5907e-01_rb,2.7604e-01_rb/) kbo(:,18, 8) = (/ & &1.7015e-01_rb,1.8726e-01_rb,2.0338e-01_rb,2.1873e-01_rb,2.3341e-01_rb/) kbo(:,19, 8) = (/ & &1.4494e-01_rb,1.5899e-01_rb,1.7245e-01_rb,1.8542e-01_rb,1.9788e-01_rb/) kbo(:,20, 8) = (/ & &1.2385e-01_rb,1.3588e-01_rb,1.4742e-01_rb,1.5823e-01_rb,1.6882e-01_rb/) kbo(:,21, 8) = (/ & &1.0654e-01_rb,1.1655e-01_rb,1.2609e-01_rb,1.3545e-01_rb,1.4408e-01_rb/) kbo(:,22, 8) = (/ & &9.1991e-02_rb,1.0041e-01_rb,1.0849e-01_rb,1.1626e-01_rb,1.2371e-01_rb/) kbo(:,23, 8) = (/ & &7.9046e-02_rb,8.6400e-02_rb,9.3327e-02_rb,9.9889e-02_rb,1.0642e-01_rb/) kbo(:,24, 8) = (/ & &6.8021e-02_rb,7.4328e-02_rb,8.0300e-02_rb,8.6084e-02_rb,9.1544e-02_rb/) kbo(:,25, 8) = (/ & &5.8516e-02_rb,6.3854e-02_rb,6.9101e-02_rb,7.4075e-02_rb,7.8861e-02_rb/) kbo(:,26, 8) = (/ & &5.0443e-02_rb,5.5091e-02_rb,5.9525e-02_rb,6.3760e-02_rb,6.7833e-02_rb/) kbo(:,27, 8) = (/ & &4.3538e-02_rb,4.7477e-02_rb,5.1180e-02_rb,5.4850e-02_rb,5.8530e-02_rb/) kbo(:,28, 8) = (/ & &3.7617e-02_rb,4.0916e-02_rb,4.4139e-02_rb,4.7301e-02_rb,5.0513e-02_rb/) kbo(:,29, 8) = (/ & &3.2546e-02_rb,3.5342e-02_rb,3.8069e-02_rb,4.0845e-02_rb,4.3756e-02_rb/) kbo(:,30, 8) = (/ & &2.8067e-02_rb,3.0536e-02_rb,3.2922e-02_rb,3.5388e-02_rb,3.8072e-02_rb/) kbo(:,31, 8) = (/ & &2.4245e-02_rb,2.6387e-02_rb,2.8550e-02_rb,3.0769e-02_rb,3.3007e-02_rb/) kbo(:,32, 8) = (/ & &2.1010e-02_rb,2.2870e-02_rb,2.4839e-02_rb,2.6760e-02_rb,2.8725e-02_rb/) kbo(:,33, 8) = (/ & &1.8247e-02_rb,1.9921e-02_rb,2.1633e-02_rb,2.3376e-02_rb,2.5089e-02_rb/) kbo(:,34, 8) = (/ & &1.5899e-02_rb,1.7453e-02_rb,1.8953e-02_rb,2.0489e-02_rb,2.2006e-02_rb/) kbo(:,35, 8) = (/ & &1.3799e-02_rb,1.5171e-02_rb,1.6500e-02_rb,1.7816e-02_rb,1.9222e-02_rb/) kbo(:,36, 8) = (/ & &1.1856e-02_rb,1.3040e-02_rb,1.4223e-02_rb,1.5409e-02_rb,1.6675e-02_rb/) kbo(:,37, 8) = (/ & &1.0122e-02_rb,1.1172e-02_rb,1.2227e-02_rb,1.3320e-02_rb,1.4426e-02_rb/) kbo(:,38, 8) = (/ & &8.6297e-03_rb,9.5720e-03_rb,1.0548e-02_rb,1.1499e-02_rb,1.2504e-02_rb/) kbo(:,39, 8) = (/ & &7.3583e-03_rb,8.2086e-03_rb,9.0807e-03_rb,9.9445e-03_rb,1.0852e-02_rb/) kbo(:,40, 8) = (/ & &6.2575e-03_rb,7.0294e-03_rb,7.8131e-03_rb,8.5974e-03_rb,9.4311e-03_rb/) kbo(:,41, 8) = (/ & &5.3221e-03_rb,6.0117e-03_rb,6.7242e-03_rb,7.4367e-03_rb,8.2130e-03_rb/) kbo(:,42, 8) = (/ & &4.5217e-03_rb,5.1291e-03_rb,5.7774e-03_rb,6.4411e-03_rb,7.1607e-03_rb/) kbo(:,43, 8) = (/ & &3.8118e-03_rb,4.3626e-03_rb,4.9535e-03_rb,5.5702e-03_rb,6.2186e-03_rb/) kbo(:,44, 8) = (/ & &3.1928e-03_rb,3.7055e-03_rb,4.2384e-03_rb,4.7956e-03_rb,5.3949e-03_rb/) kbo(:,45, 8) = (/ & &2.6724e-03_rb,3.1345e-03_rb,3.6292e-03_rb,4.1408e-03_rb,4.6835e-03_rb/) kbo(:,46, 8) = (/ & &2.2327e-03_rb,2.6446e-03_rb,3.0956e-03_rb,3.5684e-03_rb,4.0653e-03_rb/) kbo(:,47, 8) = (/ & &1.8490e-03_rb,2.2161e-03_rb,2.6105e-03_rb,3.0391e-03_rb,3.5058e-03_rb/) kbo(:,48, 8) = (/ & &1.5271e-03_rb,1.8513e-03_rb,2.2029e-03_rb,2.5798e-03_rb,3.0175e-03_rb/) kbo(:,49, 8) = (/ & &1.2568e-03_rb,1.5444e-03_rb,1.8551e-03_rb,2.1969e-03_rb,2.5931e-03_rb/) kbo(:,50, 8) = (/ & &1.0411e-03_rb,1.2920e-03_rb,1.5680e-03_rb,1.8789e-03_rb,2.2434e-03_rb/) kbo(:,51, 8) = (/ & &8.6157e-04_rb,1.0792e-03_rb,1.3252e-03_rb,1.6044e-03_rb,1.9374e-03_rb/) kbo(:,52, 8) = (/ & &7.1345e-04_rb,8.9803e-04_rb,1.1146e-03_rb,1.3696e-03_rb,1.6714e-03_rb/) kbo(:,53, 8) = (/ & &5.9120e-04_rb,7.4871e-04_rb,9.4040e-04_rb,1.1662e-03_rb,1.4395e-03_rb/) kbo(:,54, 8) = (/ & &4.9248e-04_rb,6.3323e-04_rb,7.9771e-04_rb,9.9957e-04_rb,1.2405e-03_rb/) kbo(:,55, 8) = (/ & &4.1065e-04_rb,5.3488e-04_rb,6.8225e-04_rb,8.6108e-04_rb,1.0736e-03_rb/) kbo(:,56, 8) = (/ & &3.4182e-04_rb,4.5283e-04_rb,5.8716e-04_rb,7.4149e-04_rb,9.3761e-04_rb/) kbo(:,57, 8) = (/ & &2.8276e-04_rb,3.8428e-04_rb,5.0468e-04_rb,6.4575e-04_rb,8.2300e-04_rb/) kbo(:,58, 8) = (/ & &2.3443e-04_rb,3.2611e-04_rb,4.3528e-04_rb,5.6896e-04_rb,7.2980e-04_rb/) kbo(:,59, 8) = (/ & &2.0666e-04_rb,2.9266e-04_rb,3.9707e-04_rb,5.2680e-04_rb,6.7824e-04_rb/) kbo(:,13, 9) = (/ & &2.6929e+00_rb,3.0365e+00_rb,3.3480e+00_rb,3.6295e+00_rb,3.8842e+00_rb/) kbo(:,14, 9) = (/ & &2.3218e+00_rb,2.6065e+00_rb,2.8670e+00_rb,3.1040e+00_rb,3.3162e+00_rb/) kbo(:,15, 9) = (/ & &1.9883e+00_rb,2.2252e+00_rb,2.4424e+00_rb,2.6373e+00_rb,2.8081e+00_rb/) kbo(:,16, 9) = (/ & &1.6988e+00_rb,1.8964e+00_rb,2.0747e+00_rb,2.2343e+00_rb,2.3791e+00_rb/) kbo(:,17, 9) = (/ & &1.4495e+00_rb,1.6116e+00_rb,1.7595e+00_rb,1.8933e+00_rb,2.0138e+00_rb/) kbo(:,18, 9) = (/ & &1.2318e+00_rb,1.3662e+00_rb,1.4893e+00_rb,1.6003e+00_rb,1.6980e+00_rb/) kbo(:,19, 9) = (/ & &1.0432e+00_rb,1.1554e+00_rb,1.2571e+00_rb,1.3476e+00_rb,1.4284e+00_rb/) kbo(:,20, 9) = (/ & &8.8399e-01_rb,9.7584e-01_rb,1.0583e+00_rb,1.1327e+00_rb,1.2000e+00_rb/) kbo(:,21, 9) = (/ & &7.4719e-01_rb,8.2246e-01_rb,8.9025e-01_rb,9.5182e-01_rb,1.0085e+00_rb/) kbo(:,22, 9) = (/ & &6.3607e-01_rb,6.9712e-01_rb,7.5292e-01_rb,8.0394e-01_rb,8.5135e-01_rb/) kbo(:,23, 9) = (/ & &5.4262e-01_rb,5.9143e-01_rb,6.3738e-01_rb,6.8008e-01_rb,7.1995e-01_rb/) kbo(:,24, 9) = (/ & &4.6285e-01_rb,5.0331e-01_rb,5.4067e-01_rb,5.7573e-01_rb,6.1046e-01_rb/) kbo(:,25, 9) = (/ & &3.9562e-01_rb,4.2919e-01_rb,4.6040e-01_rb,4.9042e-01_rb,5.1991e-01_rb/) kbo(:,26, 9) = (/ & &3.4017e-01_rb,3.6788e-01_rb,3.9442e-01_rb,4.2037e-01_rb,4.4731e-01_rb/) kbo(:,27, 9) = (/ & &2.9399e-01_rb,3.1651e-01_rb,3.3903e-01_rb,3.6222e-01_rb,3.8618e-01_rb/) kbo(:,28, 9) = (/ & &2.5435e-01_rb,2.7396e-01_rb,2.9328e-01_rb,3.1366e-01_rb,3.3524e-01_rb/) kbo(:,29, 9) = (/ & &2.2098e-01_rb,2.3815e-01_rb,2.5600e-01_rb,2.7395e-01_rb,2.9332e-01_rb/) kbo(:,30, 9) = (/ & &1.9332e-01_rb,2.0838e-01_rb,2.2416e-01_rb,2.4057e-01_rb,2.5735e-01_rb/) kbo(:,31, 9) = (/ & &1.6991e-01_rb,1.8327e-01_rb,1.9737e-01_rb,2.1207e-01_rb,2.2734e-01_rb/) kbo(:,32, 9) = (/ & &1.4986e-01_rb,1.6194e-01_rb,1.7445e-01_rb,1.8782e-01_rb,2.0152e-01_rb/) kbo(:,33, 9) = (/ & &1.3279e-01_rb,1.4378e-01_rb,1.5504e-01_rb,1.6697e-01_rb,1.7955e-01_rb/) kbo(:,34, 9) = (/ & &1.1789e-01_rb,1.2771e-01_rb,1.3816e-01_rb,1.4885e-01_rb,1.6033e-01_rb/) kbo(:,35, 9) = (/ & &1.0423e-01_rb,1.1314e-01_rb,1.2268e-01_rb,1.3249e-01_rb,1.4303e-01_rb/) kbo(:,36, 9) = (/ & &9.1569e-02_rb,9.9843e-02_rb,1.0848e-01_rb,1.1752e-01_rb,1.2715e-01_rb/) kbo(:,37, 9) = (/ & &7.9654e-02_rb,8.7324e-02_rb,9.5396e-02_rb,1.0365e-01_rb,1.1217e-01_rb/) kbo(:,38, 9) = (/ & &6.9582e-02_rb,7.6500e-02_rb,8.3939e-02_rb,9.1706e-02_rb,9.9308e-02_rb/) kbo(:,39, 9) = (/ & &6.0817e-02_rb,6.7147e-02_rb,7.4089e-02_rb,8.1389e-02_rb,8.8469e-02_rb/) kbo(:,40, 9) = (/ & &5.2895e-02_rb,5.8816e-02_rb,6.5088e-02_rb,7.1837e-02_rb,7.8761e-02_rb/) kbo(:,41, 9) = (/ & &4.5994e-02_rb,5.1507e-02_rb,5.7306e-02_rb,6.3493e-02_rb,7.0017e-02_rb/) kbo(:,42, 9) = (/ & &3.9933e-02_rb,4.5126e-02_rb,5.0659e-02_rb,5.6440e-02_rb,6.2355e-02_rb/) kbo(:,43, 9) = (/ & &3.4407e-02_rb,3.9333e-02_rb,4.4505e-02_rb,5.0025e-02_rb,5.5477e-02_rb/) kbo(:,44, 9) = (/ & &2.9641e-02_rb,3.4179e-02_rb,3.9085e-02_rb,4.4243e-02_rb,4.9585e-02_rb/) kbo(:,45, 9) = (/ & &2.5534e-02_rb,2.9717e-02_rb,3.4321e-02_rb,3.9331e-02_rb,4.4385e-02_rb/) kbo(:,46, 9) = (/ & &2.1943e-02_rb,2.5772e-02_rb,3.0011e-02_rb,3.4665e-02_rb,3.9677e-02_rb/) kbo(:,47, 9) = (/ & &1.8799e-02_rb,2.2299e-02_rb,2.6155e-02_rb,3.0452e-02_rb,3.5108e-02_rb/) kbo(:,48, 9) = (/ & &1.6134e-02_rb,1.9292e-02_rb,2.2898e-02_rb,2.6798e-02_rb,3.1152e-02_rb/) kbo(:,49, 9) = (/ & &1.3799e-02_rb,1.6693e-02_rb,1.9932e-02_rb,2.3629e-02_rb,2.7686e-02_rb/) kbo(:,50, 9) = (/ & &1.1807e-02_rb,1.4439e-02_rb,1.7455e-02_rb,2.0914e-02_rb,2.4717e-02_rb/) kbo(:,51, 9) = (/ & &1.0105e-02_rb,1.2520e-02_rb,1.5304e-02_rb,1.8588e-02_rb,2.2129e-02_rb/) kbo(:,52, 9) = (/ & &8.6629e-03_rb,1.0849e-02_rb,1.3445e-02_rb,1.6444e-02_rb,1.9913e-02_rb/) kbo(:,53, 9) = (/ & &7.4874e-03_rb,9.4257e-03_rb,1.1801e-02_rb,1.4610e-02_rb,1.7870e-02_rb/) kbo(:,54, 9) = (/ & &6.4970e-03_rb,8.2758e-03_rb,1.0456e-02_rb,1.3093e-02_rb,1.6122e-02_rb/) kbo(:,55, 9) = (/ & &5.6140e-03_rb,7.3217e-03_rb,9.3276e-03_rb,1.1747e-02_rb,1.4696e-02_rb/) kbo(:,56, 9) = (/ & &4.8349e-03_rb,6.4792e-03_rb,8.3317e-03_rb,1.0602e-02_rb,1.3343e-02_rb/) kbo(:,57, 9) = (/ & &4.1640e-03_rb,5.6963e-03_rb,7.4736e-03_rb,9.6066e-03_rb,1.2192e-02_rb/) kbo(:,58, 9) = (/ & &3.5901e-03_rb,5.0045e-03_rb,6.7274e-03_rb,8.7656e-03_rb,1.1231e-02_rb/) kbo(:,59, 9) = (/ & &3.3029e-03_rb,4.6798e-03_rb,6.3469e-03_rb,8.3368e-03_rb,1.0817e-02_rb/) kbo(:,13,10) = (/ & &1.1103e+01_rb,1.2502e+01_rb,1.3897e+01_rb,1.5277e+01_rb,1.6528e+01_rb/) kbo(:,14,10) = (/ & &9.9415e+00_rb,1.1260e+01_rb,1.2546e+01_rb,1.3697e+01_rb,1.4756e+01_rb/) kbo(:,15,10) = (/ & &8.8808e+00_rb,1.0035e+01_rb,1.1086e+01_rb,1.2088e+01_rb,1.3034e+01_rb/) kbo(:,16,10) = (/ & &7.8211e+00_rb,8.7752e+00_rb,9.7015e+00_rb,1.0578e+01_rb,1.1354e+01_rb/) kbo(:,17,10) = (/ & &6.7833e+00_rb,7.6204e+00_rb,8.4176e+00_rb,9.1234e+00_rb,9.7674e+00_rb/) kbo(:,18,10) = (/ & &5.8703e+00_rb,6.5862e+00_rb,7.2317e+00_rb,7.8324e+00_rb,8.4128e+00_rb/) kbo(:,19,10) = (/ & &5.0772e+00_rb,5.6603e+00_rb,6.2160e+00_rb,6.7517e+00_rb,7.2522e+00_rb/) kbo(:,20,10) = (/ & &4.3641e+00_rb,4.8646e+00_rb,5.3518e+00_rb,5.8113e+00_rb,6.2183e+00_rb/) kbo(:,21,10) = (/ & &3.7436e+00_rb,4.1787e+00_rb,4.5968e+00_rb,4.9653e+00_rb,5.2958e+00_rb/) kbo(:,22,10) = (/ & &3.2384e+00_rb,3.6097e+00_rb,3.9430e+00_rb,4.2432e+00_rb,4.5244e+00_rb/) kbo(:,23,10) = (/ & &2.7953e+00_rb,3.1049e+00_rb,3.3758e+00_rb,3.6302e+00_rb,3.8688e+00_rb/) kbo(:,24,10) = (/ & &2.4111e+00_rb,2.6600e+00_rb,2.8956e+00_rb,3.1175e+00_rb,3.3165e+00_rb/) kbo(:,25,10) = (/ & &2.0794e+00_rb,2.2877e+00_rb,2.4858e+00_rb,2.6707e+00_rb,2.8419e+00_rb/) kbo(:,26,10) = (/ & &1.7863e+00_rb,1.9622e+00_rb,2.1280e+00_rb,2.2830e+00_rb,2.4241e+00_rb/) kbo(:,27,10) = (/ & &1.5261e+00_rb,1.6805e+00_rb,1.8222e+00_rb,1.9507e+00_rb,2.0763e+00_rb/) kbo(:,28,10) = (/ & &1.3094e+00_rb,1.4366e+00_rb,1.5593e+00_rb,1.6738e+00_rb,1.7905e+00_rb/) kbo(:,29,10) = (/ & &1.1331e+00_rb,1.2336e+00_rb,1.3334e+00_rb,1.4402e+00_rb,1.5544e+00_rb/) kbo(:,30,10) = (/ & &9.7850e-01_rb,1.0622e+00_rb,1.1514e+00_rb,1.2513e+00_rb,1.3634e+00_rb/) kbo(:,31,10) = (/ & &8.4902e-01_rb,9.2389e-01_rb,1.0050e+00_rb,1.1001e+00_rb,1.2086e+00_rb/) kbo(:,32,10) = (/ & &7.4130e-01_rb,8.0932e-01_rb,8.8870e-01_rb,9.7905e-01_rb,1.0856e+00_rb/) kbo(:,33,10) = (/ & &6.5296e-01_rb,7.1655e-01_rb,7.9236e-01_rb,8.8248e-01_rb,9.8250e-01_rb/) kbo(:,34,10) = (/ & &5.7962e-01_rb,6.3885e-01_rb,7.0985e-01_rb,7.9650e-01_rb,8.9263e-01_rb/) kbo(:,35,10) = (/ & &5.1372e-01_rb,5.6904e-01_rb,6.3621e-01_rb,7.1633e-01_rb,8.0771e-01_rb/) kbo(:,36,10) = (/ & &4.5469e-01_rb,5.0394e-01_rb,5.6668e-01_rb,6.4061e-01_rb,7.2625e-01_rb/) kbo(:,37,10) = (/ & &3.9957e-01_rb,4.4312e-01_rb,4.9317e-01_rb,5.6045e-01_rb,6.4131e-01_rb/) kbo(:,38,10) = (/ & &3.5188e-01_rb,3.9249e-01_rb,4.3332e-01_rb,4.9135e-01_rb,5.6831e-01_rb/) kbo(:,39,10) = (/ & &3.1275e-01_rb,3.5014e-01_rb,3.8817e-01_rb,4.3541e-01_rb,5.0377e-01_rb/) kbo(:,40,10) = (/ & &2.7524e-01_rb,3.0717e-01_rb,3.4405e-01_rb,3.8385e-01_rb,4.3866e-01_rb/) kbo(:,41,10) = (/ & &2.4392e-01_rb,2.7163e-01_rb,3.0427e-01_rb,3.4320e-01_rb,3.8763e-01_rb/) kbo(:,42,10) = (/ & &2.1672e-01_rb,2.4359e-01_rb,2.7030e-01_rb,3.0489e-01_rb,3.4816e-01_rb/) kbo(:,43,10) = (/ & &1.9366e-01_rb,2.1755e-01_rb,2.4331e-01_rb,2.6943e-01_rb,3.1064e-01_rb/) kbo(:,44,10) = (/ & &1.7412e-01_rb,1.9505e-01_rb,2.1790e-01_rb,2.4485e-01_rb,2.7503e-01_rb/) kbo(:,45,10) = (/ & &1.5640e-01_rb,1.7593e-01_rb,1.9695e-01_rb,2.2100e-01_rb,2.4918e-01_rb/) kbo(:,46,10) = (/ & &1.3989e-01_rb,1.5897e-01_rb,1.7897e-01_rb,2.0081e-01_rb,2.2644e-01_rb/) kbo(:,47,10) = (/ & &1.2271e-01_rb,1.4204e-01_rb,1.6295e-01_rb,1.8322e-01_rb,2.0661e-01_rb/) kbo(:,48,10) = (/ & &1.0686e-01_rb,1.2583e-01_rb,1.4636e-01_rb,1.6777e-01_rb,1.9011e-01_rb/) kbo(:,49,10) = (/ & &9.3685e-02_rb,1.1078e-01_rb,1.3130e-01_rb,1.5261e-01_rb,1.7455e-01_rb/) kbo(:,50,10) = (/ & &8.2656e-02_rb,9.8591e-02_rb,1.1744e-01_rb,1.3916e-01_rb,1.6129e-01_rb/) kbo(:,51,10) = (/ & &7.2693e-02_rb,8.8183e-02_rb,1.0575e-01_rb,1.2537e-01_rb,1.4856e-01_rb/) kbo(:,52,10) = (/ & &6.4048e-02_rb,7.9108e-02_rb,9.5503e-02_rb,1.1470e-01_rb,1.3627e-01_rb/) kbo(:,53,10) = (/ & &5.5496e-02_rb,7.0682e-02_rb,8.5938e-02_rb,1.0406e-01_rb,1.2637e-01_rb/) kbo(:,54,10) = (/ & &4.9035e-02_rb,6.2876e-02_rb,7.7887e-02_rb,9.5399e-02_rb,1.1721e-01_rb/) kbo(:,55,10) = (/ & &4.3446e-02_rb,5.6855e-02_rb,7.1213e-02_rb,8.8342e-02_rb,1.0826e-01_rb/) kbo(:,56,10) = (/ & &3.8859e-02_rb,5.1445e-02_rb,6.5981e-02_rb,8.2010e-02_rb,1.0158e-01_rb/) kbo(:,57,10) = (/ & &3.5022e-02_rb,4.6988e-02_rb,6.1022e-02_rb,7.6424e-02_rb,9.5735e-02_rb/) kbo(:,58,10) = (/ & &3.1909e-02_rb,4.3092e-02_rb,5.6695e-02_rb,7.2335e-02_rb,9.0564e-02_rb/) kbo(:,59,10) = (/ & &3.0556e-02_rb,4.1959e-02_rb,5.5206e-02_rb,7.1568e-02_rb,9.0259e-02_rb/) kbo(:,13,11) = (/ & &1.9005e+01_rb,2.1823e+01_rb,2.4335e+01_rb,2.6560e+01_rb,2.8649e+01_rb/) kbo(:,14,11) = (/ & &1.8043e+01_rb,2.0403e+01_rb,2.2563e+01_rb,2.4639e+01_rb,2.6669e+01_rb/) kbo(:,15,11) = (/ & &1.6503e+01_rb,1.8586e+01_rb,2.0593e+01_rb,2.2552e+01_rb,2.4342e+01_rb/) kbo(:,16,11) = (/ & &1.4859e+01_rb,1.6766e+01_rb,1.8612e+01_rb,2.0317e+01_rb,2.1884e+01_rb/) kbo(:,17,11) = (/ & &1.3269e+01_rb,1.4973e+01_rb,1.6543e+01_rb,1.8024e+01_rb,1.9429e+01_rb/) kbo(:,18,11) = (/ & &1.1718e+01_rb,1.3157e+01_rb,1.4545e+01_rb,1.5849e+01_rb,1.7039e+01_rb/) kbo(:,19,11) = (/ & &1.0207e+01_rb,1.1484e+01_rb,1.2680e+01_rb,1.3769e+01_rb,1.4775e+01_rb/) kbo(:,20,11) = (/ & &8.8979e+00_rb,9.9836e+00_rb,1.0976e+01_rb,1.1897e+01_rb,1.2806e+01_rb/) kbo(:,21,11) = (/ & &7.7345e+00_rb,8.6287e+00_rb,9.4674e+00_rb,1.0308e+01_rb,1.1126e+01_rb/) kbo(:,22,11) = (/ & &6.7360e+00_rb,7.4922e+00_rb,8.2529e+00_rb,8.9982e+00_rb,9.7172e+00_rb/) kbo(:,23,11) = (/ & &5.8386e+00_rb,6.5155e+00_rb,7.1951e+00_rb,7.8490e+00_rb,8.4500e+00_rb/) kbo(:,24,11) = (/ & &5.0807e+00_rb,5.6843e+00_rb,6.2699e+00_rb,6.8121e+00_rb,7.3100e+00_rb/) kbo(:,25,11) = (/ & &4.4422e+00_rb,4.9643e+00_rb,5.4499e+00_rb,5.8998e+00_rb,6.3372e+00_rb/) kbo(:,26,11) = (/ & &3.9004e+00_rb,4.3334e+00_rb,4.7344e+00_rb,5.1243e+00_rb,5.5060e+00_rb/) kbo(:,27,11) = (/ & &3.4204e+00_rb,3.7816e+00_rb,4.1294e+00_rb,4.4714e+00_rb,4.7992e+00_rb/) kbo(:,28,11) = (/ & &2.9981e+00_rb,3.3076e+00_rb,3.6130e+00_rb,3.9107e+00_rb,4.1979e+00_rb/) kbo(:,29,11) = (/ & &2.6272e+00_rb,2.9045e+00_rb,3.1705e+00_rb,3.4300e+00_rb,3.6761e+00_rb/) kbo(:,30,11) = (/ & &2.3072e+00_rb,2.5571e+00_rb,2.7905e+00_rb,3.0127e+00_rb,3.2425e+00_rb/) kbo(:,31,11) = (/ & &2.0315e+00_rb,2.2496e+00_rb,2.4602e+00_rb,2.6655e+00_rb,2.8882e+00_rb/) kbo(:,32,11) = (/ & &1.7947e+00_rb,1.9859e+00_rb,2.1751e+00_rb,2.3754e+00_rb,2.5995e+00_rb/) kbo(:,33,11) = (/ & &1.5917e+00_rb,1.7608e+00_rb,1.9393e+00_rb,2.1339e+00_rb,2.3696e+00_rb/) kbo(:,34,11) = (/ & &1.4106e+00_rb,1.5681e+00_rb,1.7384e+00_rb,1.9365e+00_rb,2.1773e+00_rb/) kbo(:,35,11) = (/ & &1.2470e+00_rb,1.3941e+00_rb,1.5593e+00_rb,1.7605e+00_rb,1.9959e+00_rb/) kbo(:,36,11) = (/ & &1.0975e+00_rb,1.2350e+00_rb,1.3953e+00_rb,1.5917e+00_rb,1.8213e+00_rb/) kbo(:,37,11) = (/ & &9.5256e-01_rb,1.0776e+00_rb,1.2351e+00_rb,1.4193e+00_rb,1.6407e+00_rb/) kbo(:,38,11) = (/ & &8.3116e-01_rb,9.4539e-01_rb,1.0963e+00_rb,1.2721e+00_rb,1.4845e+00_rb/) kbo(:,39,11) = (/ & &7.2978e-01_rb,8.3514e-01_rb,9.7338e-01_rb,1.1448e+00_rb,1.3526e+00_rb/) kbo(:,40,11) = (/ & &6.3508e-01_rb,7.2958e-01_rb,8.5453e-01_rb,1.0153e+00_rb,1.2157e+00_rb/) kbo(:,41,11) = (/ & &5.5559e-01_rb,6.3933e-01_rb,7.5266e-01_rb,8.9822e-01_rb,1.0902e+00_rb/) kbo(:,42,11) = (/ & &4.9132e-01_rb,5.6247e-01_rb,6.6545e-01_rb,8.0063e-01_rb,9.7700e-01_rb/) kbo(:,43,11) = (/ & &4.3434e-01_rb,4.9358e-01_rb,5.8232e-01_rb,7.0818e-01_rb,8.6923e-01_rb/) kbo(:,44,11) = (/ & &3.8638e-01_rb,4.3517e-01_rb,5.1097e-01_rb,6.1891e-01_rb,7.7146e-01_rb/) kbo(:,45,11) = (/ & &3.4515e-01_rb,3.9086e-01_rb,4.5155e-01_rb,5.4453e-01_rb,6.8039e-01_rb/) kbo(:,46,11) = (/ & &3.1047e-01_rb,3.4972e-01_rb,4.0476e-01_rb,4.8078e-01_rb,5.9879e-01_rb/) kbo(:,47,11) = (/ & &2.8096e-01_rb,3.1543e-01_rb,3.6034e-01_rb,4.2515e-01_rb,5.2456e-01_rb/) kbo(:,48,11) = (/ & &2.5443e-01_rb,2.8861e-01_rb,3.2488e-01_rb,3.8074e-01_rb,4.6176e-01_rb/) kbo(:,49,11) = (/ & &2.3075e-01_rb,2.6370e-01_rb,2.9745e-01_rb,3.4508e-01_rb,4.1364e-01_rb/) kbo(:,50,11) = (/ & &2.0955e-01_rb,2.4450e-01_rb,2.7626e-01_rb,3.1515e-01_rb,3.7610e-01_rb/) kbo(:,51,11) = (/ & &1.9162e-01_rb,2.2508e-01_rb,2.5888e-01_rb,2.9434e-01_rb,3.4519e-01_rb/) kbo(:,52,11) = (/ & &1.7326e-01_rb,2.0725e-01_rb,2.4087e-01_rb,2.7521e-01_rb,3.1976e-01_rb/) kbo(:,53,11) = (/ & &1.5761e-01_rb,1.9120e-01_rb,2.2695e-01_rb,2.6019e-01_rb,2.9822e-01_rb/) kbo(:,54,11) = (/ & &1.4365e-01_rb,1.7736e-01_rb,2.1379e-01_rb,2.4744e-01_rb,2.8175e-01_rb/) kbo(:,55,11) = (/ & &1.3037e-01_rb,1.6532e-01_rb,2.0060e-01_rb,2.3640e-01_rb,2.6972e-01_rb/) kbo(:,56,11) = (/ & &1.1768e-01_rb,1.5347e-01_rb,1.8925e-01_rb,2.2636e-01_rb,2.6180e-01_rb/) kbo(:,57,11) = (/ & &1.0584e-01_rb,1.4146e-01_rb,1.7843e-01_rb,2.1611e-01_rb,2.5112e-01_rb/) kbo(:,58,11) = (/ & &9.5443e-02_rb,1.3188e-01_rb,1.6746e-01_rb,2.0707e-01_rb,2.4328e-01_rb/) kbo(:,59,11) = (/ & &9.0897e-02_rb,1.2729e-01_rb,1.6511e-01_rb,2.0322e-01_rb,2.4119e-01_rb/) kbo(:,13,12) = (/ & &3.3504e+01_rb,3.7950e+01_rb,4.2337e+01_rb,4.6726e+01_rb,5.1022e+01_rb/) kbo(:,14,12) = (/ & &3.2726e+01_rb,3.7291e+01_rb,4.1814e+01_rb,4.6223e+01_rb,5.0163e+01_rb/) kbo(:,15,12) = (/ & &3.1900e+01_rb,3.6439e+01_rb,4.0782e+01_rb,4.4671e+01_rb,4.8184e+01_rb/) kbo(:,16,12) = (/ & &3.0776e+01_rb,3.4900e+01_rb,3.8620e+01_rb,4.2065e+01_rb,4.5353e+01_rb/) kbo(:,17,12) = (/ & &2.8746e+01_rb,3.2300e+01_rb,3.5697e+01_rb,3.8925e+01_rb,4.2020e+01_rb/) kbo(:,18,12) = (/ & &2.6146e+01_rb,2.9399e+01_rb,3.2494e+01_rb,3.5494e+01_rb,3.8316e+01_rb/) kbo(:,19,12) = (/ & &2.3524e+01_rb,2.6429e+01_rb,2.9272e+01_rb,3.2000e+01_rb,3.4621e+01_rb/) kbo(:,20,12) = (/ & &2.1002e+01_rb,2.3641e+01_rb,2.6168e+01_rb,2.8626e+01_rb,3.0966e+01_rb/) kbo(:,21,12) = (/ & &1.8638e+01_rb,2.0929e+01_rb,2.3211e+01_rb,2.5404e+01_rb,2.7506e+01_rb/) kbo(:,22,12) = (/ & &1.6511e+01_rb,1.8592e+01_rb,2.0614e+01_rb,2.2575e+01_rb,2.4466e+01_rb/) kbo(:,23,12) = (/ & &1.4666e+01_rb,1.6512e+01_rb,1.8295e+01_rb,2.0007e+01_rb,2.1707e+01_rb/) kbo(:,24,12) = (/ & &1.3045e+01_rb,1.4646e+01_rb,1.6188e+01_rb,1.7728e+01_rb,1.9330e+01_rb/) kbo(:,25,12) = (/ & &1.1583e+01_rb,1.2959e+01_rb,1.4347e+01_rb,1.5799e+01_rb,1.7308e+01_rb/) kbo(:,26,12) = (/ & &1.0289e+01_rb,1.1524e+01_rb,1.2828e+01_rb,1.4195e+01_rb,1.5608e+01_rb/) kbo(:,27,12) = (/ & &9.1629e+00_rb,1.0320e+01_rb,1.1545e+01_rb,1.2818e+01_rb,1.4160e+01_rb/) kbo(:,28,12) = (/ & &8.1951e+00_rb,9.2900e+00_rb,1.0435e+01_rb,1.1638e+01_rb,1.2904e+01_rb/) kbo(:,29,12) = (/ & &7.3862e+00_rb,8.4074e+00_rb,9.4905e+00_rb,1.0629e+01_rb,1.1848e+01_rb/) kbo(:,30,12) = (/ & &6.7112e+00_rb,7.6605e+00_rb,8.6762e+00_rb,9.7816e+00_rb,1.0954e+01_rb/) kbo(:,31,12) = (/ & &6.1419e+00_rb,7.0283e+00_rb,8.0036e+00_rb,9.0662e+00_rb,1.0224e+01_rb/) kbo(:,32,12) = (/ & &5.6561e+00_rb,6.5080e+00_rb,7.4459e+00_rb,8.4904e+00_rb,9.6547e+00_rb/) kbo(:,33,12) = (/ & &5.2496e+00_rb,6.0774e+00_rb,7.0019e+00_rb,8.0523e+00_rb,9.2390e+00_rb/) kbo(:,34,12) = (/ & &4.8878e+00_rb,5.7010e+00_rb,6.6301e+00_rb,7.6985e+00_rb,8.9231e+00_rb/) kbo(:,35,12) = (/ & &4.5253e+00_rb,5.3274e+00_rb,6.2605e+00_rb,7.3465e+00_rb,8.6116e+00_rb/) kbo(:,36,12) = (/ & &4.1488e+00_rb,4.9390e+00_rb,5.8698e+00_rb,6.9625e+00_rb,8.2516e+00_rb/) kbo(:,37,12) = (/ & &3.7312e+00_rb,4.4908e+00_rb,5.4013e+00_rb,6.4804e+00_rb,7.7554e+00_rb/) kbo(:,38,12) = (/ & &3.3680e+00_rb,4.1012e+00_rb,4.9908e+00_rb,6.0547e+00_rb,7.3121e+00_rb/) kbo(:,39,12) = (/ & &3.0586e+00_rb,3.7669e+00_rb,4.6363e+00_rb,5.6845e+00_rb,6.9229e+00_rb/) kbo(:,40,12) = (/ & &2.7296e+00_rb,3.4041e+00_rb,4.2320e+00_rb,5.2462e+00_rb,6.4437e+00_rb/) kbo(:,41,12) = (/ & &2.4362e+00_rb,3.0740e+00_rb,3.8624e+00_rb,4.8348e+00_rb,5.9904e+00_rb/) kbo(:,42,12) = (/ & &2.1809e+00_rb,2.7810e+00_rb,3.5324e+00_rb,4.4598e+00_rb,5.5747e+00_rb/) kbo(:,43,12) = (/ & &1.9255e+00_rb,2.4860e+00_rb,3.1917e+00_rb,4.0645e+00_rb,5.1258e+00_rb/) kbo(:,44,12) = (/ & &1.6844e+00_rb,2.2090e+00_rb,2.8652e+00_rb,3.6821e+00_rb,4.6820e+00_rb/) kbo(:,45,12) = (/ & &1.4745e+00_rb,1.9569e+00_rb,2.5696e+00_rb,3.3333e+00_rb,4.2717e+00_rb/) kbo(:,46,12) = (/ & &1.2799e+00_rb,1.7238e+00_rb,2.2842e+00_rb,2.9993e+00_rb,3.8727e+00_rb/) kbo(:,47,12) = (/ & &1.0954e+00_rb,1.4926e+00_rb,2.0054e+00_rb,2.6579e+00_rb,3.4668e+00_rb/) kbo(:,48,12) = (/ & &9.3943e-01_rb,1.2870e+00_rb,1.7558e+00_rb,2.3470e+00_rb,3.0956e+00_rb/) kbo(:,49,12) = (/ & &8.0789e-01_rb,1.1100e+00_rb,1.5297e+00_rb,2.0665e+00_rb,2.7506e+00_rb/) kbo(:,50,12) = (/ & &7.0633e-01_rb,9.6173e-01_rb,1.3381e+00_rb,1.8318e+00_rb,2.4528e+00_rb/) kbo(:,51,12) = (/ & &6.2380e-01_rb,8.4012e-01_rb,1.1696e+00_rb,1.6208e+00_rb,2.1914e+00_rb/) kbo(:,52,12) = (/ & &5.6356e-01_rb,7.3733e-01_rb,1.0234e+00_rb,1.4290e+00_rb,1.9532e+00_rb/) kbo(:,53,12) = (/ & &5.0909e-01_rb,6.5068e-01_rb,8.9219e-01_rb,1.2539e+00_rb,1.7345e+00_rb/) kbo(:,54,12) = (/ & &4.6136e-01_rb,5.8883e-01_rb,7.8810e-01_rb,1.1078e+00_rb,1.5488e+00_rb/) kbo(:,55,12) = (/ & &4.1950e-01_rb,5.3756e-01_rb,7.0213e-01_rb,9.8100e-01_rb,1.3825e+00_rb/) kbo(:,56,12) = (/ & &3.8410e-01_rb,4.8996e-01_rb,6.3016e-01_rb,8.6652e-01_rb,1.2252e+00_rb/) kbo(:,57,12) = (/ & &3.5624e-01_rb,4.4831e-01_rb,5.7215e-01_rb,7.6572e-01_rb,1.0848e+00_rb/) kbo(:,58,12) = (/ & &3.2868e-01_rb,4.1829e-01_rb,5.2553e-01_rb,6.8368e-01_rb,9.6165e-01_rb/) kbo(:,59,12) = (/ & &3.1733e-01_rb,4.0674e-01_rb,5.0354e-01_rb,6.5575e-01_rb,9.0743e-01_rb/) kbo(:,13,13) = (/ & &6.3252e+01_rb,7.1343e+01_rb,7.9418e+01_rb,8.6956e+01_rb,9.3893e+01_rb/) kbo(:,14,13) = (/ & &6.4432e+01_rb,7.3277e+01_rb,8.1636e+01_rb,8.9410e+01_rb,9.6695e+01_rb/) kbo(:,15,13) = (/ & &6.5832e+01_rb,7.4648e+01_rb,8.2893e+01_rb,9.0741e+01_rb,9.8138e+01_rb/) kbo(:,16,13) = (/ & &6.5929e+01_rb,7.4500e+01_rb,8.2870e+01_rb,9.0803e+01_rb,9.8296e+01_rb/) kbo(:,17,13) = (/ & &6.5097e+01_rb,7.3774e+01_rb,8.2069e+01_rb,9.0039e+01_rb,9.7697e+01_rb/) kbo(:,18,13) = (/ & &6.3876e+01_rb,7.2341e+01_rb,8.0612e+01_rb,8.8540e+01_rb,9.6103e+01_rb/) kbo(:,19,13) = (/ & &6.1808e+01_rb,7.0129e+01_rb,7.8103e+01_rb,8.5721e+01_rb,9.2920e+01_rb/) kbo(:,20,13) = (/ & &5.9337e+01_rb,6.7178e+01_rb,7.4740e+01_rb,8.1921e+01_rb,8.8860e+01_rb/) kbo(:,21,13) = (/ & &5.6051e+01_rb,6.3423e+01_rb,7.0500e+01_rb,7.7416e+01_rb,8.4103e+01_rb/) kbo(:,22,13) = (/ & &5.2578e+01_rb,5.9410e+01_rb,6.6220e+01_rb,7.2967e+01_rb,7.9639e+01_rb/) kbo(:,23,13) = (/ & &4.8800e+01_rb,5.5307e+01_rb,6.1937e+01_rb,6.8633e+01_rb,7.5406e+01_rb/) kbo(:,24,13) = (/ & &4.5172e+01_rb,5.1522e+01_rb,5.8057e+01_rb,6.4742e+01_rb,7.1436e+01_rb/) kbo(:,25,13) = (/ & &4.2002e+01_rb,4.8199e+01_rb,5.4646e+01_rb,6.1219e+01_rb,6.7880e+01_rb/) kbo(:,26,13) = (/ & &3.9325e+01_rb,4.5395e+01_rb,5.1713e+01_rb,5.8235e+01_rb,6.4961e+01_rb/) kbo(:,27,13) = (/ & &3.7049e+01_rb,4.2989e+01_rb,4.9236e+01_rb,5.5807e+01_rb,6.2667e+01_rb/) kbo(:,28,13) = (/ & &3.5161e+01_rb,4.0996e+01_rb,4.7272e+01_rb,5.3955e+01_rb,6.1012e+01_rb/) kbo(:,29,13) = (/ & &3.3638e+01_rb,3.9504e+01_rb,4.5884e+01_rb,5.2759e+01_rb,6.0034e+01_rb/) kbo(:,30,13) = (/ & &3.2492e+01_rb,3.8479e+01_rb,4.5047e+01_rb,5.2111e+01_rb,5.9617e+01_rb/) kbo(:,31,13) = (/ & &3.1781e+01_rb,3.7957e+01_rb,4.4719e+01_rb,5.2013e+01_rb,5.9720e+01_rb/) kbo(:,32,13) = (/ & &3.1516e+01_rb,3.7888e+01_rb,4.4882e+01_rb,5.2382e+01_rb,6.0245e+01_rb/) kbo(:,33,13) = (/ & &3.1641e+01_rb,3.8231e+01_rb,4.5439e+01_rb,5.3118e+01_rb,6.1113e+01_rb/) kbo(:,34,13) = (/ & &3.1881e+01_rb,3.8668e+01_rb,4.6052e+01_rb,5.3873e+01_rb,6.1967e+01_rb/) kbo(:,35,13) = (/ & &3.1765e+01_rb,3.8677e+01_rb,4.6167e+01_rb,5.4068e+01_rb,6.2237e+01_rb/) kbo(:,36,13) = (/ & &3.1127e+01_rb,3.8083e+01_rb,4.5619e+01_rb,5.3554e+01_rb,6.1754e+01_rb/) kbo(:,37,13) = (/ & &2.9631e+01_rb,3.6533e+01_rb,4.4019e+01_rb,5.1934e+01_rb,6.0138e+01_rb/) kbo(:,38,13) = (/ & &2.8216e+01_rb,3.5039e+01_rb,4.2468e+01_rb,5.0350e+01_rb,5.8547e+01_rb/) kbo(:,39,13) = (/ & &2.6913e+01_rb,3.3654e+01_rb,4.1024e+01_rb,4.8851e+01_rb,5.7030e+01_rb/) kbo(:,40,13) = (/ & &2.5061e+01_rb,3.1637e+01_rb,3.8879e+01_rb,4.6620e+01_rb,5.4739e+01_rb/) kbo(:,41,13) = (/ & &2.3239e+01_rb,2.9632e+01_rb,3.6721e+01_rb,4.4349e+01_rb,5.2395e+01_rb/) kbo(:,42,13) = (/ & &2.1518e+01_rb,2.7714e+01_rb,3.4638e+01_rb,4.2154e+01_rb,5.0111e+01_rb/) kbo(:,43,13) = (/ & &1.9578e+01_rb,2.5525e+01_rb,3.2232e+01_rb,3.9588e+01_rb,4.7417e+01_rb/) kbo(:,44,13) = (/ & &1.7631e+01_rb,2.3285e+01_rb,2.9750e+01_rb,3.6914e+01_rb,4.4596e+01_rb/) kbo(:,45,13) = (/ & &1.5817e+01_rb,2.1168e+01_rb,2.7372e+01_rb,3.4312e+01_rb,4.1842e+01_rb/) kbo(:,46,13) = (/ & &1.4031e+01_rb,1.9049e+01_rb,2.4960e+01_rb,3.1648e+01_rb,3.8993e+01_rb/) kbo(:,47,13) = (/ & &1.2204e+01_rb,1.6850e+01_rb,2.2409e+01_rb,2.8797e+01_rb,3.5899e+01_rb/) kbo(:,48,13) = (/ & &1.0543e+01_rb,1.4813e+01_rb,2.0005e+01_rb,2.6074e+01_rb,3.2906e+01_rb/) kbo(:,49,13) = (/ & &9.0410e+00_rb,1.2940e+01_rb,1.7763e+01_rb,2.3491e+01_rb,3.0027e+01_rb/) kbo(:,50,13) = (/ & &7.7723e+00_rb,1.1328e+01_rb,1.5799e+01_rb,2.1188e+01_rb,2.7436e+01_rb/) kbo(:,51,13) = (/ & &6.6603e+00_rb,9.8956e+00_rb,1.4031e+01_rb,1.9082e+01_rb,2.5030e+01_rb/) kbo(:,52,13) = (/ & &5.6483e+00_rb,8.5936e+00_rb,1.2389e+01_rb,1.7108e+01_rb,2.2735e+01_rb/) kbo(:,53,13) = (/ & &4.7548e+00_rb,7.4145e+00_rb,1.0879e+01_rb,1.5253e+01_rb,2.0556e+01_rb/) kbo(:,54,13) = (/ & &4.0362e+00_rb,6.4182e+00_rb,9.6047e+00_rb,1.3672e+01_rb,1.8664e+01_rb/) kbo(:,55,13) = (/ & &3.4328e+00_rb,5.5491e+00_rb,8.4816e+00_rb,1.2254e+01_rb,1.6947e+01_rb/) kbo(:,56,13) = (/ & &2.9068e+00_rb,4.7740e+00_rb,7.4485e+00_rb,1.0936e+01_rb,1.5335e+01_rb/) kbo(:,57,13) = (/ & &2.4469e+00_rb,4.0838e+00_rb,6.4921e+00_rb,9.7157e+00_rb,1.3818e+01_rb/) kbo(:,58,13) = (/ & &2.0735e+00_rb,3.4925e+00_rb,5.6637e+00_rb,8.6413e+00_rb,1.2467e+01_rb/) kbo(:,59,13) = (/ & &1.9355e+00_rb,3.2709e+00_rb,5.3499e+00_rb,8.2221e+00_rb,1.1950e+01_rb/) kbo(:,13,14) = (/ & &1.3763e+02_rb,1.5352e+02_rb,1.6709e+02_rb,1.7925e+02_rb,1.9013e+02_rb/) kbo(:,14,14) = (/ & &1.4836e+02_rb,1.6388e+02_rb,1.7793e+02_rb,1.9078e+02_rb,2.0291e+02_rb/) kbo(:,15,14) = (/ & &1.5609e+02_rb,1.7227e+02_rb,1.8754e+02_rb,2.0210e+02_rb,2.1605e+02_rb/) kbo(:,16,14) = (/ & &1.6287e+02_rb,1.8058e+02_rb,1.9742e+02_rb,2.1358e+02_rb,2.2879e+02_rb/) kbo(:,17,14) = (/ & &1.6936e+02_rb,1.8829e+02_rb,2.0654e+02_rb,2.2380e+02_rb,2.3943e+02_rb/) kbo(:,18,14) = (/ & &1.7409e+02_rb,1.9426e+02_rb,2.1359e+02_rb,2.3157e+02_rb,2.4840e+02_rb/) kbo(:,19,14) = (/ & &1.7751e+02_rb,1.9877e+02_rb,2.1900e+02_rb,2.3829e+02_rb,2.5666e+02_rb/) kbo(:,20,14) = (/ & &1.8029e+02_rb,2.0255e+02_rb,2.2414e+02_rb,2.4492e+02_rb,2.6421e+02_rb/) kbo(:,21,14) = (/ & &1.8288e+02_rb,2.0645e+02_rb,2.2930e+02_rb,2.5080e+02_rb,2.7109e+02_rb/) kbo(:,22,14) = (/ & &1.8758e+02_rb,2.1208e+02_rb,2.3543e+02_rb,2.5750e+02_rb,2.7832e+02_rb/) kbo(:,23,14) = (/ & &1.9239e+02_rb,2.1719e+02_rb,2.4091e+02_rb,2.6350e+02_rb,2.8469e+02_rb/) kbo(:,24,14) = (/ & &1.9651e+02_rb,2.2173e+02_rb,2.4591e+02_rb,2.6890e+02_rb,2.9066e+02_rb/) kbo(:,25,14) = (/ & &2.0022e+02_rb,2.2597e+02_rb,2.5071e+02_rb,2.7426e+02_rb,2.9648e+02_rb/) kbo(:,26,14) = (/ & &2.0417e+02_rb,2.3049e+02_rb,2.5589e+02_rb,2.7996e+02_rb,3.0257e+02_rb/) kbo(:,27,14) = (/ & &2.0832e+02_rb,2.3518e+02_rb,2.6110e+02_rb,2.8565e+02_rb,3.0854e+02_rb/) kbo(:,28,14) = (/ & &2.1279e+02_rb,2.4021e+02_rb,2.6653e+02_rb,2.9138e+02_rb,3.1446e+02_rb/) kbo(:,29,14) = (/ & &2.1796e+02_rb,2.4575e+02_rb,2.7237e+02_rb,2.9736e+02_rb,3.2050e+02_rb/) kbo(:,30,14) = (/ & &2.2364e+02_rb,2.5171e+02_rb,2.7842e+02_rb,3.0343e+02_rb,3.2655e+02_rb/) kbo(:,31,14) = (/ & &2.2986e+02_rb,2.5803e+02_rb,2.8476e+02_rb,3.0967e+02_rb,3.3263e+02_rb/) kbo(:,32,14) = (/ & &2.3644e+02_rb,2.6463e+02_rb,2.9123e+02_rb,3.1599e+02_rb,3.3870e+02_rb/) kbo(:,33,14) = (/ & &2.4330e+02_rb,2.7142e+02_rb,2.9784e+02_rb,3.2234e+02_rb,3.4468e+02_rb/) kbo(:,34,14) = (/ & &2.4932e+02_rb,2.7733e+02_rb,3.0352e+02_rb,3.2779e+02_rb,3.4977e+02_rb/) kbo(:,35,14) = (/ & &2.5266e+02_rb,2.8063e+02_rb,3.0678e+02_rb,3.3096e+02_rb,3.5278e+02_rb/) kbo(:,36,14) = (/ & &2.5297e+02_rb,2.8101e+02_rb,3.0732e+02_rb,3.3158e+02_rb,3.5352e+02_rb/) kbo(:,37,14) = (/ & &2.4886e+02_rb,2.7734e+02_rb,3.0396e+02_rb,3.2863e+02_rb,3.5100e+02_rb/) kbo(:,38,14) = (/ & &2.4449e+02_rb,2.7331e+02_rb,3.0032e+02_rb,3.2535e+02_rb,3.4818e+02_rb/) kbo(:,39,14) = (/ & &2.4014e+02_rb,2.6925e+02_rb,2.9663e+02_rb,3.2206e+02_rb,3.4524e+02_rb/) kbo(:,40,14) = (/ & &2.3269e+02_rb,2.6223e+02_rb,2.9013e+02_rb,3.1615e+02_rb,3.3997e+02_rb/) kbo(:,41,14) = (/ & &2.2477e+02_rb,2.5475e+02_rb,2.8316e+02_rb,3.0972e+02_rb,3.3417e+02_rb/) kbo(:,42,14) = (/ & &2.1674e+02_rb,2.4709e+02_rb,2.7597e+02_rb,3.0309e+02_rb,3.2816e+02_rb/) kbo(:,43,14) = (/ & &2.0690e+02_rb,2.3764e+02_rb,2.6708e+02_rb,2.9483e+02_rb,3.2058e+02_rb/) kbo(:,44,14) = (/ & &1.9620e+02_rb,2.2728e+02_rb,2.5727e+02_rb,2.8565e+02_rb,3.1213e+02_rb/) kbo(:,45,14) = (/ & &1.8544e+02_rb,2.1679e+02_rb,2.4722e+02_rb,2.7624e+02_rb,3.0339e+02_rb/) kbo(:,46,14) = (/ & &1.7394e+02_rb,2.0555e+02_rb,2.3639e+02_rb,2.6594e+02_rb,2.9386e+02_rb/) kbo(:,47,14) = (/ & &1.6112e+02_rb,1.9279e+02_rb,2.2405e+02_rb,2.5421e+02_rb,2.8283e+02_rb/) kbo(:,48,14) = (/ & &1.4837e+02_rb,1.8000e+02_rb,2.1155e+02_rb,2.4220e+02_rb,2.7155e+02_rb/) kbo(:,49,14) = (/ & &1.3570e+02_rb,1.6720e+02_rb,1.9889e+02_rb,2.3000e+02_rb,2.5992e+02_rb/) kbo(:,50,14) = (/ & &1.2401e+02_rb,1.5522e+02_rb,1.8690e+02_rb,2.1834e+02_rb,2.4877e+02_rb/) kbo(:,51,14) = (/ & &1.1285e+02_rb,1.4368e+02_rb,1.7528e+02_rb,2.0692e+02_rb,2.3777e+02_rb/) kbo(:,52,14) = (/ & &1.0205e+02_rb,1.3225e+02_rb,1.6371e+02_rb,1.9541e+02_rb,2.2663e+02_rb/) kbo(:,53,14) = (/ & &9.1561e+01_rb,1.2094e+02_rb,1.5208e+02_rb,1.8381e+02_rb,2.1529e+02_rb/) kbo(:,54,14) = (/ & &8.2288e+01_rb,1.1082e+02_rb,1.4154e+02_rb,1.7313e+02_rb,2.0480e+02_rb/) kbo(:,55,14) = (/ & &7.3729e+01_rb,1.0135e+02_rb,1.3152e+02_rb,1.6297e+02_rb,1.9471e+02_rb/) kbo(:,56,14) = (/ & &6.5504e+01_rb,9.2170e+01_rb,1.2164e+02_rb,1.5283e+02_rb,1.8453e+02_rb/) kbo(:,57,14) = (/ & &5.7661e+01_rb,8.3295e+01_rb,1.1195e+02_rb,1.4273e+02_rb,1.7435e+02_rb/) kbo(:,58,14) = (/ & &5.0636e+01_rb,7.5168e+01_rb,1.0296e+02_rb,1.3321e+02_rb,1.6472e+02_rb/) kbo(:,59,14) = (/ & &4.7932e+01_rb,7.1971e+01_rb,9.9421e+01_rb,1.2944e+02_rb,1.6088e+02_rb/) kbo(:,13,15) = (/ & &2.4469e+02_rb,2.6735e+02_rb,2.9101e+02_rb,3.1438e+02_rb,3.3674e+02_rb/) kbo(:,14,15) = (/ & &2.8094e+02_rb,3.0921e+02_rb,3.3701e+02_rb,3.6348e+02_rb,3.8824e+02_rb/) kbo(:,15,15) = (/ & &3.2313e+02_rb,3.5640e+02_rb,3.8804e+02_rb,4.1754e+02_rb,4.4448e+02_rb/) kbo(:,16,15) = (/ & &3.6992e+02_rb,4.0761e+02_rb,4.4269e+02_rb,4.7470e+02_rb,5.0364e+02_rb/) kbo(:,17,15) = (/ & &4.1926e+02_rb,4.6079e+02_rb,4.9879e+02_rb,5.3327e+02_rb,5.6513e+02_rb/) kbo(:,18,15) = (/ & &4.7156e+02_rb,5.1653e+02_rb,5.5718e+02_rb,5.9454e+02_rb,6.2828e+02_rb/) kbo(:,19,15) = (/ & &5.2525e+02_rb,5.7308e+02_rb,6.1700e+02_rb,6.5663e+02_rb,6.9127e+02_rb/) kbo(:,20,15) = (/ & &5.7876e+02_rb,6.2973e+02_rb,6.7595e+02_rb,7.1709e+02_rb,7.5345e+02_rb/) kbo(:,21,15) = (/ & &6.2988e+02_rb,6.8342e+02_rb,7.3148e+02_rb,7.7494e+02_rb,8.1239e+02_rb/) kbo(:,22,15) = (/ & &6.8118e+02_rb,7.3681e+02_rb,7.8702e+02_rb,8.3157e+02_rb,8.6949e+02_rb/) kbo(:,23,15) = (/ & &7.2944e+02_rb,7.8796e+02_rb,8.3973e+02_rb,8.8478e+02_rb,9.2278e+02_rb/) kbo(:,24,15) = (/ & &7.7652e+02_rb,8.3661e+02_rb,8.8931e+02_rb,9.3457e+02_rb,9.7211e+02_rb/) kbo(:,25,15) = (/ & &8.2208e+02_rb,8.8322e+02_rb,9.3559e+02_rb,9.8038e+02_rb,1.0170e+03_rb/) kbo(:,26,15) = (/ & &8.6654e+02_rb,9.2755e+02_rb,9.7898e+02_rb,1.0223e+03_rb,1.0574e+03_rb/) kbo(:,27,15) = (/ & &9.0828e+02_rb,9.6846e+02_rb,1.0184e+03_rb,1.0599e+03_rb,1.0932e+03_rb/) kbo(:,28,15) = (/ & &9.4716e+02_rb,1.0058e+03_rb,1.0539e+03_rb,1.0933e+03_rb,1.1247e+03_rb/) kbo(:,29,15) = (/ & &9.8313e+02_rb,1.0399e+03_rb,1.0858e+03_rb,1.1230e+03_rb,1.1519e+03_rb/) kbo(:,30,15) = (/ & &1.0160e+03_rb,1.0704e+03_rb,1.1141e+03_rb,1.1489e+03_rb,1.1756e+03_rb/) kbo(:,31,15) = (/ & &1.0460e+03_rb,1.0956e+03_rb,1.1391e+03_rb,1.1716e+03_rb,1.1960e+03_rb/) kbo(:,32,15) = (/ & &1.0732e+03_rb,1.1224e+03_rb,1.1612e+03_rb,1.1912e+03_rb,1.2136e+03_rb/) kbo(:,33,15) = (/ & &1.0978e+03_rb,1.1441e+03_rb,1.1805e+03_rb,1.2081e+03_rb,1.2287e+03_rb/) kbo(:,34,15) = (/ & &1.1183e+03_rb,1.1622e+03_rb,1.1963e+03_rb,1.2219e+03_rb,1.2409e+03_rb/) kbo(:,35,15) = (/ & &1.1319e+03_rb,1.1747e+03_rb,1.2074e+03_rb,1.2320e+03_rb,1.2497e+03_rb/) kbo(:,36,15) = (/ & &1.1393e+03_rb,1.1815e+03_rb,1.2141e+03_rb,1.2383e+03_rb,1.2557e+03_rb/) kbo(:,37,15) = (/ & &1.1379e+03_rb,1.1816e+03_rb,1.2154e+03_rb,1.2404e+03_rb,1.2585e+03_rb/) kbo(:,38,15) = (/ & &1.1350e+03_rb,1.1805e+03_rb,1.2153e+03_rb,1.2413e+03_rb,1.2601e+03_rb/) kbo(:,39,15) = (/ & &1.1312e+03_rb,1.1782e+03_rb,1.2145e+03_rb,1.2415e+03_rb,1.2613e+03_rb/) kbo(:,40,15) = (/ & &1.1209e+03_rb,1.1709e+03_rb,1.2094e+03_rb,1.2385e+03_rb,1.2597e+03_rb/) kbo(:,41,15) = (/ & &1.1085e+03_rb,1.1615e+03_rb,1.2028e+03_rb,1.2343e+03_rb,1.2572e+03_rb/) kbo(:,42,15) = (/ & &1.0950e+03_rb,1.1510e+03_rb,1.1953e+03_rb,1.2290e+03_rb,1.2540e+03_rb/) kbo(:,43,15) = (/ & &1.0762e+03_rb,1.1364e+03_rb,1.1842e+03_rb,1.2211e+03_rb,1.2485e+03_rb/) kbo(:,44,15) = (/ & &1.0545e+03_rb,1.1188e+03_rb,1.1706e+03_rb,1.2111e+03_rb,1.2414e+03_rb/) kbo(:,45,15) = (/ & &1.0306e+03_rb,1.0995e+03_rb,1.1556e+03_rb,1.1997e+03_rb,1.2332e+03_rb/) kbo(:,46,15) = (/ & &1.0035e+03_rb,1.0771e+03_rb,1.1376e+03_rb,1.1860e+03_rb,1.2231e+03_rb/) kbo(:,47,15) = (/ & &9.7068e+02_rb,1.0499e+03_rb,1.1155e+03_rb,1.1686e+03_rb,1.2101e+03_rb/) kbo(:,48,15) = (/ & &9.3560e+02_rb,1.0200e+03_rb,1.0913e+03_rb,1.1493e+03_rb,1.1954e+03_rb/) kbo(:,49,15) = (/ & &8.9859e+02_rb,9.8816e+02_rb,1.0648e+03_rb,1.1280e+03_rb,1.1788e+03_rb/) kbo(:,50,15) = (/ & &8.6187e+02_rb,9.5626e+02_rb,1.0379e+03_rb,1.1061e+03_rb,1.1615e+03_rb/) kbo(:,51,15) = (/ & &8.2436e+02_rb,9.2347e+02_rb,1.0097e+03_rb,1.0831e+03_rb,1.1429e+03_rb/) kbo(:,52,15) = (/ & &7.8552e+02_rb,8.8919e+02_rb,9.8012e+02_rb,1.0582e+03_rb,1.1227e+03_rb/) kbo(:,53,15) = (/ & &7.4472e+02_rb,8.5281e+02_rb,9.4852e+02_rb,1.0314e+03_rb,1.1008e+03_rb/) kbo(:,54,15) = (/ & &7.0603e+02_rb,8.1807e+02_rb,9.1796e+02_rb,1.0053e+03_rb,1.0792e+03_rb/) kbo(:,55,15) = (/ & &6.6818e+02_rb,7.8362e+02_rb,8.8753e+02_rb,9.7880e+02_rb,1.0572e+03_rb/) kbo(:,56,15) = (/ & &6.2949e+02_rb,7.4771e+02_rb,8.5573e+02_rb,9.5104e+02_rb,1.0336e+03_rb/) kbo(:,57,15) = (/ & &5.9013e+02_rb,7.1102e+02_rb,8.2256e+02_rb,9.2198e+02_rb,1.0088e+03_rb/) kbo(:,58,15) = (/ & &5.5222e+02_rb,6.7509e+02_rb,7.8994e+02_rb,8.9322e+02_rb,9.8385e+02_rb/) kbo(:,59,15) = (/ & &5.3696e+02_rb,6.6055e+02_rb,7.7661e+02_rb,8.8142e+02_rb,9.7364e+02_rb/) kbo(:,13,16) = (/ & &4.2045e+02_rb,4.6429e+02_rb,5.0303e+02_rb,5.3671e+02_rb,5.6546e+02_rb/) kbo(:,14,16) = (/ & &5.0808e+02_rb,5.5889e+02_rb,6.0315e+02_rb,6.4104e+02_rb,6.7319e+02_rb/) kbo(:,15,16) = (/ & &6.0971e+02_rb,6.6729e+02_rb,7.1666e+02_rb,7.5857e+02_rb,7.9337e+02_rb/) kbo(:,16,16) = (/ & &7.2443e+02_rb,7.8825e+02_rb,8.4219e+02_rb,8.8727e+02_rb,9.2382e+02_rb/) kbo(:,17,16) = (/ & &8.5000e+02_rb,9.1908e+02_rb,9.7683e+02_rb,1.0239e+03_rb,1.0613e+03_rb/) kbo(:,18,16) = (/ & &9.8305e+02_rb,1.0566e+03_rb,1.1167e+03_rb,1.1645e+03_rb,1.2017e+03_rb/) kbo(:,19,16) = (/ & &1.1204e+03_rb,1.1968e+03_rb,1.2579e+03_rb,1.3058e+03_rb,1.3449e+03_rb/) kbo(:,20,16) = (/ & &1.2624e+03_rb,1.3419e+03_rb,1.4045e+03_rb,1.4519e+03_rb,1.4914e+03_rb/) kbo(:,21,16) = (/ & &1.4128e+03_rb,1.4938e+03_rb,1.5557e+03_rb,1.6009e+03_rb,1.6375e+03_rb/) kbo(:,22,16) = (/ & &1.5738e+03_rb,1.6513e+03_rb,1.7095e+03_rb,1.7503e+03_rb,1.7825e+03_rb/) kbo(:,23,16) = (/ & &1.7348e+03_rb,1.8057e+03_rb,1.8583e+03_rb,1.8939e+03_rb,1.9201e+03_rb/) kbo(:,24,16) = (/ & &1.8918e+03_rb,1.9538e+03_rb,1.9990e+03_rb,2.0285e+03_rb,2.0481e+03_rb/) kbo(:,25,16) = (/ & &2.0394e+03_rb,2.0915e+03_rb,2.1288e+03_rb,2.1514e+03_rb,2.1633e+03_rb/) kbo(:,26,16) = (/ & &2.1757e+03_rb,2.2166e+03_rb,2.2458e+03_rb,2.2605e+03_rb,2.2652e+03_rb/) kbo(:,27,16) = (/ & &2.2965e+03_rb,2.3277e+03_rb,2.3485e+03_rb,2.3546e+03_rb,2.3529e+03_rb/) kbo(:,28,16) = (/ & &2.4019e+03_rb,2.4242e+03_rb,2.4364e+03_rb,2.4355e+03_rb,2.4262e+03_rb/) kbo(:,29,16) = (/ & &2.4918e+03_rb,2.5053e+03_rb,2.5101e+03_rb,2.5025e+03_rb,2.4871e+03_rb/) kbo(:,30,16) = (/ & &2.5673e+03_rb,2.5738e+03_rb,2.5706e+03_rb,2.5574e+03_rb,2.5361e+03_rb/) kbo(:,31,16) = (/ & &2.6301e+03_rb,2.6241e+03_rb,2.6201e+03_rb,2.6003e+03_rb,2.5741e+03_rb/) kbo(:,32,16) = (/ & &2.6807e+03_rb,2.6744e+03_rb,2.6583e+03_rb,2.6342e+03_rb,2.6035e+03_rb/) kbo(:,33,16) = (/ & &2.7216e+03_rb,2.7096e+03_rb,2.6883e+03_rb,2.6595e+03_rb,2.6244e+03_rb/) kbo(:,34,16) = (/ & &2.7530e+03_rb,2.7368e+03_rb,2.7115e+03_rb,2.6793e+03_rb,2.6415e+03_rb/) kbo(:,35,16) = (/ & &2.7800e+03_rb,2.7599e+03_rb,2.7318e+03_rb,2.6972e+03_rb,2.6568e+03_rb/) kbo(:,36,16) = (/ & &2.8032e+03_rb,2.7809e+03_rb,2.7511e+03_rb,2.7149e+03_rb,2.6728e+03_rb/) kbo(:,37,16) = (/ & &2.8255e+03_rb,2.8022e+03_rb,2.7720e+03_rb,2.7352e+03_rb,2.6929e+03_rb/) kbo(:,38,16) = (/ & &2.8447e+03_rb,2.8207e+03_rb,2.7907e+03_rb,2.7534e+03_rb,2.7108e+03_rb/) kbo(:,39,16) = (/ & &2.8614e+03_rb,2.8371e+03_rb,2.8072e+03_rb,2.7697e+03_rb,2.7272e+03_rb/) kbo(:,40,16) = (/ & &2.8775e+03_rb,2.8542e+03_rb,2.8246e+03_rb,2.7882e+03_rb,2.7463e+03_rb/) kbo(:,41,16) = (/ & &2.8919e+03_rb,2.8698e+03_rb,2.8410e+03_rb,2.8060e+03_rb,2.7644e+03_rb/) kbo(:,42,16) = (/ & &2.9035e+03_rb,2.8842e+03_rb,2.8555e+03_rb,2.8221e+03_rb,2.7810e+03_rb/) kbo(:,43,16) = (/ & &2.9142e+03_rb,2.8974e+03_rb,2.8713e+03_rb,2.8381e+03_rb,2.7994e+03_rb/) kbo(:,44,16) = (/ & &2.9225e+03_rb,2.9100e+03_rb,2.8852e+03_rb,2.8542e+03_rb,2.8174e+03_rb/) kbo(:,45,16) = (/ & &2.9284e+03_rb,2.9199e+03_rb,2.8988e+03_rb,2.8699e+03_rb,2.8343e+03_rb/) kbo(:,46,16) = (/ & &2.9312e+03_rb,2.9287e+03_rb,2.9114e+03_rb,2.8839e+03_rb,2.8514e+03_rb/) kbo(:,47,16) = (/ & &2.9278e+03_rb,2.9353e+03_rb,2.9229e+03_rb,2.8988e+03_rb,2.8673e+03_rb/) kbo(:,48,16) = (/ & &2.9198e+03_rb,2.9382e+03_rb,2.9322e+03_rb,2.9123e+03_rb,2.8825e+03_rb/) kbo(:,49,16) = (/ & &2.9055e+03_rb,2.9369e+03_rb,2.9391e+03_rb,2.9238e+03_rb,2.8967e+03_rb/) kbo(:,50,16) = (/ & &2.8866e+03_rb,2.9312e+03_rb,2.9427e+03_rb,2.9328e+03_rb,2.9100e+03_rb/) kbo(:,51,16) = (/ & &2.8621e+03_rb,2.9209e+03_rb,2.9426e+03_rb,2.9399e+03_rb,2.9204e+03_rb/) kbo(:,52,16) = (/ & &2.8313e+03_rb,2.9062e+03_rb,2.9403e+03_rb,2.9447e+03_rb,2.9298e+03_rb/) kbo(:,53,16) = (/ & &2.7937e+03_rb,2.8849e+03_rb,2.9330e+03_rb,2.9466e+03_rb,2.9378e+03_rb/) kbo(:,54,16) = (/ & &2.7518e+03_rb,2.8608e+03_rb,2.9213e+03_rb,2.9463e+03_rb,2.9434e+03_rb/) kbo(:,55,16) = (/ & &2.7066e+03_rb,2.8327e+03_rb,2.9070e+03_rb,2.9427e+03_rb,2.9473e+03_rb/) kbo(:,56,16) = (/ & &2.6539e+03_rb,2.7985e+03_rb,2.8885e+03_rb,2.9351e+03_rb,2.9485e+03_rb/) kbo(:,57,16) = (/ & &2.5953e+03_rb,2.7598e+03_rb,2.8651e+03_rb,2.9247e+03_rb,2.9481e+03_rb/) kbo(:,58,16) = (/ & &2.5319e+03_rb,2.7165e+03_rb,2.8391e+03_rb,2.9117e+03_rb,2.9450e+03_rb/) kbo(:,59,16) = (/ & &2.5058e+03_rb,2.6981e+03_rb,2.8277e+03_rb,2.9062e+03_rb,2.9427e+03_rb/) ! The array FORREFO contains the coefficient of the water vapor ! foreign-continuum (including the energy term). The first ! index refers to reference temperature (296,260,224,260) and ! pressure (970,475,219,3 mbar) levels. The second index ! runs over the g-channel (1 to 16). forrefo(1,:) = (/ & &1.0515e-02_rb,1.4860e-02_rb,1.7181e-02_rb,1.6642e-02_rb,1.6644e-02_rb,1.5649e-02_rb, & &1.7734e-02_rb,1.7521e-02_rb,1.7868e-02_rb,1.8400e-02_rb,1.9361e-02_rb,2.1487e-02_rb, & &2.0192e-02_rb,1.6545e-02_rb,2.0922e-02_rb,2.0922e-02_rb/) forrefo(2,:) = (/ & &1.0423e-02_rb,1.4593e-02_rb,1.6329e-02_rb,1.7071e-02_rb,1.7252e-02_rb,1.6188e-02_rb, & &1.7752e-02_rb,1.7913e-02_rb,1.7551e-02_rb,1.8203e-02_rb,1.7946e-02_rb,1.9828e-02_rb, & &2.1566e-02_rb,1.9707e-02_rb,2.0944e-02_rb,2.0944e-02_rb/) forrefo(3,:) = (/ & &9.2770e-03_rb,1.2818e-02_rb,1.7181e-02_rb,1.7858e-02_rb,1.7888e-02_rb,1.7121e-02_rb, & &1.8116e-02_rb,1.8230e-02_rb,1.7719e-02_rb,1.7833e-02_rb,1.8438e-02_rb,1.7995e-02_rb, & &2.0895e-02_rb,2.1525e-02_rb,2.0517e-02_rb,2.0954e-02_rb/) forrefo(4,:) = (/ & &8.3290e-03_rb,1.3483e-02_rb,1.5432e-02_rb,2.0793e-02_rb,1.8404e-02_rb,1.7470e-02_rb, & &1.7253e-02_rb,1.7132e-02_rb,1.7119e-02_rb,1.7376e-02_rb,1.7030e-02_rb,1.6847e-02_rb, & &1.5562e-02_rb,1.6836e-02_rb,1.8746e-02_rb,2.1233e-02_rb/) ! The array SELFREFO contains the coefficient of the water vapor ! self-continuum (including the energy term). The first index ! refers to temperature in 7.2 degree increments. For instance, ! JT = 1 refers to a temperature of 245.6, JT = 2 refers to 252.8, ! etc. The second index runs over the g-channel (1 to 16). selfrefo(:, 1) = (/ & & 2.41120e-01_rb, 2.27071e-01_rb, 2.13840e-01_rb, 2.01380e-01_rb, 1.89646e-01_rb, & & 1.78596e-01_rb, 1.68190e-01_rb, 1.58390e-01_rb, 1.49161e-01_rb, 1.40470e-01_rb/) selfrefo(:, 2) = (/ & & 3.11156e-01_rb, 2.92249e-01_rb, 2.74490e-01_rb, 2.57810e-01_rb, 2.42144e-01_rb, & & 2.27430e-01_rb, 2.13610e-01_rb, 2.00630e-01_rb, 1.88439e-01_rb, 1.76988e-01_rb/) selfrefo(:, 3) = (/ & & 3.37148e-01_rb, 3.17767e-01_rb, 2.99500e-01_rb, 2.82283e-01_rb, 2.66056e-01_rb, & & 2.50762e-01_rb, 2.36347e-01_rb, 2.22760e-01_rb, 2.09955e-01_rb, 1.97885e-01_rb/) selfrefo(:, 4) = (/ & & 3.57139e-01_rb, 3.32763e-01_rb, 3.10050e-01_rb, 2.88888e-01_rb, 2.69170e-01_rb, & & 2.50798e-01_rb, 2.33680e-01_rb, 2.17730e-01_rb, 2.02869e-01_rb, 1.89022e-01_rb/) selfrefo(:, 5) = (/ & & 3.60626e-01_rb, 3.35433e-01_rb, 3.12000e-01_rb, 2.90204e-01_rb, 2.69931e-01_rb, & & 2.51074e-01_rb, 2.33534e-01_rb, 2.17220e-01_rb, 2.02045e-01_rb, 1.87931e-01_rb/) selfrefo(:, 6) = (/ & & 3.42420e-01_rb, 3.18795e-01_rb, 2.96800e-01_rb, 2.76323e-01_rb, 2.57258e-01_rb, & & 2.39509e-01_rb, 2.22985e-01_rb, 2.07600e-01_rb, 1.93277e-01_rb, 1.79942e-01_rb/) selfrefo(:, 7) = (/ & & 3.65491e-01_rb, 3.41599e-01_rb, 3.19270e-01_rb, 2.98400e-01_rb, 2.78895e-01_rb, & & 2.60664e-01_rb, 2.43625e-01_rb, 2.27700e-01_rb, 2.12816e-01_rb, 1.98905e-01_rb/) selfrefo(:, 8) = (/ & & 3.70354e-01_rb, 3.45005e-01_rb, 3.21390e-01_rb, 2.99392e-01_rb, 2.78899e-01_rb, & & 2.59809e-01_rb, 2.42026e-01_rb, 2.25460e-01_rb, 2.10028e-01_rb, 1.95652e-01_rb/) selfrefo(:, 9) = (/ & & 3.60483e-01_rb, 3.37846e-01_rb, 3.16630e-01_rb, 2.96747e-01_rb, 2.78112e-01_rb, & & 2.60648e-01_rb, 2.44280e-01_rb, 2.28940e-01_rb, 2.14563e-01_rb, 2.01090e-01_rb/) selfrefo(:,10) = (/ & & 3.71845e-01_rb, 3.48164e-01_rb, 3.25990e-01_rb, 3.05229e-01_rb, 2.85790e-01_rb, & & 2.67588e-01_rb, 2.50547e-01_rb, 2.34590e-01_rb, 2.19650e-01_rb, 2.05661e-01_rb/) selfrefo(:,11) = (/ & & 3.60606e-01_rb, 3.40789e-01_rb, 3.22060e-01_rb, 3.04361e-01_rb, 2.87634e-01_rb, & & 2.71826e-01_rb, 2.56888e-01_rb, 2.42770e-01_rb, 2.29428e-01_rb, 2.16819e-01_rb/) selfrefo(:,12) = (/ & & 3.90046e-01_rb, 3.68879e-01_rb, 3.48860e-01_rb, 3.29928e-01_rb, 3.12023e-01_rb, & & 2.95089e-01_rb, 2.79075e-01_rb, 2.63930e-01_rb, 2.49607e-01_rb, 2.36061e-01_rb/) selfrefo(:,13) = (/ & & 4.38542e-01_rb, 4.05139e-01_rb, 3.74280e-01_rb, 3.45771e-01_rb, 3.19434e-01_rb, & & 2.95103e-01_rb, 2.72626e-01_rb, 2.51860e-01_rb, 2.32676e-01_rb, 2.14953e-01_rb/) selfrefo(:,14) = (/ & & 4.19448e-01_rb, 3.81920e-01_rb, 3.47750e-01_rb, 3.16637e-01_rb, 2.88307e-01_rb, & & 2.62513e-01_rb, 2.39026e-01_rb, 2.17640e-01_rb, 1.98168e-01_rb, 1.80438e-01_rb/) selfrefo(:,15) = (/ & & 4.20276e-01_rb, 3.92281e-01_rb, 3.66150e-01_rb, 3.41760e-01_rb, 3.18995e-01_rb, & & 2.97746e-01_rb, 2.77912e-01_rb, 2.59400e-01_rb, 2.42121e-01_rb, 2.25993e-01_rb/) selfrefo(:,16) = (/ & & 4.20276e-01_rb, 3.92281e-01_rb, 3.66150e-01_rb, 3.41760e-01_rb, 3.18995e-01_rb, & & 2.97746e-01_rb, 2.77912e-01_rb, 2.59400e-01_rb, 2.42121e-01_rb, 2.25993e-01_rb/) end subroutine lw_kgb10 ! ************************************************************************** subroutine lw_kgb11 ! ************************************************************************** use parkind, only : im => kind_im, rb => kind_rb use rrlw_kg11, only : fracrefao, fracrefbo, kao, kbo, kao_mo2, & kbo_mo2, selfrefo, forrefo implicit none save ! Planck fraction mapping level : P=1053.63 mb, T= 294.2 K fracrefao(:) = (/ & & 1.4601e-01_rb,1.3824e-01_rb,1.4240e-01_rb,1.3463e-01_rb,1.1948e-01_rb,1.0440e-01_rb, & & 8.8667e-02_rb,6.5792e-02_rb,4.3893e-02_rb,4.7941e-03_rb,4.0760e-03_rb,3.3207e-03_rb, & & 2.4087e-03_rb,1.3912e-03_rb,4.3482e-04_rb,6.0932e-05_rb/) ! Planck fraction mapping level : P=0.353 mb, T = 262.11 K fracrefbo(:) = (/ & & 7.2928e-02_rb,1.4900e-01_rb,1.6156e-01_rb,1.5603e-01_rb,1.3934e-01_rb,1.1394e-01_rb, & & 8.8783e-02_rb,6.2411e-02_rb,4.0191e-02_rb,4.4587e-03_rb,3.9533e-03_rb,3.0847e-03_rb, & & 2.2317e-03_rb,1.4410e-03_rb,5.6722e-04_rb,7.7933e-05_rb/) ! The array KAO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels > ~100mb and temperatures. The first ! index in the array, JT, which runs from 1 to 5, corresponds to ! different temperatures. More specifically, JT = 3 means that the ! data are for the corresponding TREF for this pressure level, ! JT = 2 refers to the temperatureTREF-15, JT = 1 is for TREF-30, ! JT = 4 is for TREF+15, and JT = 5 is for TREF+30. The second ! index, JP, runs from 1 to 13 and refers to the corresponding ! pressure level in PREF (e.g. JP = 1 is for a pressure of 1053.63 mb). ! The third index, IG, goes from 1 to 16, and tells us which ! g-interval the absorption coefficients are for. kao(:, 1, 1) = (/ & &4.9423e-02_rb,4.8938e-02_rb,4.8236e-02_rb,4.7630e-02_rb,4.7027e-02_rb/) kao(:, 2, 1) = (/ & &4.0264e-02_rb,3.9991e-02_rb,3.9414e-02_rb,3.8921e-02_rb,3.8455e-02_rb/) kao(:, 3, 1) = (/ & &3.2762e-02_rb,3.2612e-02_rb,3.2225e-02_rb,3.1842e-02_rb,3.1448e-02_rb/) kao(:, 4, 1) = (/ & &2.6929e-02_rb,2.6828e-02_rb,2.6636e-02_rb,2.6311e-02_rb,2.5979e-02_rb/) kao(:, 5, 1) = (/ & &2.2254e-02_rb,2.2190e-02_rb,2.2139e-02_rb,2.1844e-02_rb,2.1606e-02_rb/) kao(:, 6, 1) = (/ & &1.8428e-02_rb,1.8406e-02_rb,1.8346e-02_rb,1.8223e-02_rb,1.7986e-02_rb/) kao(:, 7, 1) = (/ & &1.5302e-02_rb,1.5279e-02_rb,1.5227e-02_rb,1.5173e-02_rb,1.5001e-02_rb/) kao(:, 8, 1) = (/ & &1.2917e-02_rb,1.2821e-02_rb,1.2762e-02_rb,1.2673e-02_rb,1.2614e-02_rb/) kao(:, 9, 1) = (/ & &1.4361e-02_rb,1.3355e-02_rb,1.2836e-02_rb,1.2424e-02_rb,1.2069e-02_rb/) kao(:,10, 1) = (/ & &1.9078e-02_rb,1.9077e-02_rb,1.9301e-02_rb,1.9494e-02_rb,1.9600e-02_rb/) kao(:,11, 1) = (/ & &1.6651e-02_rb,1.7279e-02_rb,1.7762e-02_rb,1.8212e-02_rb,1.8508e-02_rb/) kao(:,12, 1) = (/ & &1.4359e-02_rb,1.4912e-02_rb,1.5370e-02_rb,1.5766e-02_rb,1.6068e-02_rb/) kao(:,13, 1) = (/ & &1.2190e-02_rb,1.2693e-02_rb,1.3086e-02_rb,1.3355e-02_rb,1.3602e-02_rb/) kao(:, 1, 2) = (/ & &1.3874e-01_rb,1.3507e-01_rb,1.3188e-01_rb,1.2875e-01_rb,1.2573e-01_rb/) kao(:, 2, 2) = (/ & &1.1449e-01_rb,1.1143e-01_rb,1.0880e-01_rb,1.0626e-01_rb,1.0384e-01_rb/) kao(:, 3, 2) = (/ & &9.4610e-02_rb,9.2157e-02_rb,8.9899e-02_rb,8.7836e-02_rb,8.5813e-02_rb/) kao(:, 4, 2) = (/ & &7.8921e-02_rb,7.6917e-02_rb,7.5042e-02_rb,7.3283e-02_rb,7.1619e-02_rb/) kao(:, 5, 2) = (/ & &6.6025e-02_rb,6.4395e-02_rb,6.2788e-02_rb,6.1406e-02_rb,5.9938e-02_rb/) kao(:, 6, 2) = (/ & &5.5198e-02_rb,5.3979e-02_rb,5.2652e-02_rb,5.1421e-02_rb,5.0291e-02_rb/) kao(:, 7, 2) = (/ & &4.5982e-02_rb,4.5142e-02_rb,4.4142e-02_rb,4.3045e-02_rb,4.2121e-02_rb/) kao(:, 8, 2) = (/ & &3.8128e-02_rb,3.7632e-02_rb,3.6913e-02_rb,3.6127e-02_rb,3.5207e-02_rb/) kao(:, 9, 2) = (/ & &2.9988e-02_rb,3.0199e-02_rb,2.9924e-02_rb,2.9588e-02_rb,2.9106e-02_rb/) kao(:,10, 2) = (/ & &4.8557e-02_rb,4.4974e-02_rb,3.7588e-02_rb,3.1508e-02_rb,2.7381e-02_rb/) kao(:,11, 2) = (/ & &4.6113e-02_rb,4.4271e-02_rb,4.2375e-02_rb,4.0024e-02_rb,3.7665e-02_rb/) kao(:,12, 2) = (/ & &4.0305e-02_rb,3.9408e-02_rb,3.7504e-02_rb,3.5981e-02_rb,3.4390e-02_rb/) kao(:,13, 2) = (/ & &3.3779e-02_rb,3.2735e-02_rb,3.1178e-02_rb,2.9814e-02_rb,2.8271e-02_rb/) kao(:, 1, 3) = (/ & &2.4150e-01_rb,2.3616e-01_rb,2.3111e-01_rb,2.2673e-01_rb,2.2290e-01_rb/) kao(:, 2, 3) = (/ & &2.0007e-01_rb,1.9568e-01_rb,1.9176e-01_rb,1.8825e-01_rb,1.8518e-01_rb/) kao(:, 3, 3) = (/ & &1.6573e-01_rb,1.6221e-01_rb,1.5908e-01_rb,1.5616e-01_rb,1.5376e-01_rb/) kao(:, 4, 3) = (/ & &1.3876e-01_rb,1.3573e-01_rb,1.3298e-01_rb,1.3059e-01_rb,1.2856e-01_rb/) kao(:, 5, 3) = (/ & &1.1663e-01_rb,1.1399e-01_rb,1.1156e-01_rb,1.0951e-01_rb,1.0785e-01_rb/) kao(:, 6, 3) = (/ & &9.8259e-02_rb,9.5861e-02_rb,9.3802e-02_rb,9.1948e-02_rb,9.0492e-02_rb/) kao(:, 7, 3) = (/ & &8.2887e-02_rb,8.0616e-02_rb,7.8766e-02_rb,7.7206e-02_rb,7.5856e-02_rb/) kao(:, 8, 3) = (/ & &6.9730e-02_rb,6.7730e-02_rb,6.5964e-02_rb,6.4565e-02_rb,6.3437e-02_rb/) kao(:, 9, 3) = (/ & &5.8101e-02_rb,5.6452e-02_rb,5.5028e-02_rb,5.3674e-02_rb,5.2557e-02_rb/) kao(:,10, 3) = (/ & &3.7373e-02_rb,3.5041e-02_rb,3.8621e-02_rb,4.1558e-02_rb,4.3012e-02_rb/) kao(:,11, 3) = (/ & &5.3584e-02_rb,4.0890e-02_rb,3.3882e-02_rb,2.9034e-02_rb,2.6383e-02_rb/) kao(:,12, 3) = (/ & &5.8428e-02_rb,4.4689e-02_rb,3.5111e-02_rb,2.9172e-02_rb,2.4695e-02_rb/) kao(:,13, 3) = (/ & &4.7904e-02_rb,3.6965e-02_rb,2.8601e-02_rb,2.3919e-02_rb,2.0680e-02_rb/) kao(:, 1, 4) = (/ & &4.2548e-01_rb,4.1807e-01_rb,4.1094e-01_rb,4.0423e-01_rb,3.9806e-01_rb/) kao(:, 2, 4) = (/ & &3.5494e-01_rb,3.4863e-01_rb,3.4235e-01_rb,3.3657e-01_rb,3.3155e-01_rb/) kao(:, 3, 4) = (/ & &2.9648e-01_rb,2.9099e-01_rb,2.8545e-01_rb,2.8071e-01_rb,2.7648e-01_rb/) kao(:, 4, 4) = (/ & &2.4939e-01_rb,2.4483e-01_rb,2.4021e-01_rb,2.3626e-01_rb,2.3256e-01_rb/) kao(:, 5, 4) = (/ & &2.1025e-01_rb,2.0654e-01_rb,2.0285e-01_rb,1.9937e-01_rb,1.9615e-01_rb/) kao(:, 6, 4) = (/ & &1.7714e-01_rb,1.7417e-01_rb,1.7124e-01_rb,1.6826e-01_rb,1.6547e-01_rb/) kao(:, 7, 4) = (/ & &1.4884e-01_rb,1.4658e-01_rb,1.4422e-01_rb,1.4179e-01_rb,1.3940e-01_rb/) kao(:, 8, 4) = (/ & &1.2471e-01_rb,1.2286e-01_rb,1.2117e-01_rb,1.1917e-01_rb,1.1721e-01_rb/) kao(:, 9, 4) = (/ & &1.0337e-01_rb,1.0218e-01_rb,1.0077e-01_rb,9.9333e-02_rb,9.7869e-02_rb/) kao(:,10, 4) = (/ & &8.5198e-02_rb,8.3413e-02_rb,8.1099e-02_rb,7.8395e-02_rb,7.6293e-02_rb/) kao(:,11, 4) = (/ & &6.0820e-02_rb,6.7915e-02_rb,6.7626e-02_rb,6.6844e-02_rb,6.6371e-02_rb/) kao(:,12, 4) = (/ & &4.0000e-02_rb,4.8190e-02_rb,5.3574e-02_rb,5.5575e-02_rb,5.5151e-02_rb/) kao(:,13, 4) = (/ & &3.3587e-02_rb,4.0386e-02_rb,4.5135e-02_rb,4.6401e-02_rb,4.5805e-02_rb/) kao(:, 1, 5) = (/ & &7.7524e-01_rb,7.6536e-01_rb,7.5522e-01_rb,7.4431e-01_rb,7.3311e-01_rb/) kao(:, 2, 5) = (/ & &6.5185e-01_rb,6.4405e-01_rb,6.3568e-01_rb,6.2684e-01_rb,6.1765e-01_rb/) kao(:, 3, 5) = (/ & &5.4580e-01_rb,5.3942e-01_rb,5.3289e-01_rb,5.2546e-01_rb,5.1768e-01_rb/) kao(:, 4, 5) = (/ & &4.5945e-01_rb,4.5416e-01_rb,4.4868e-01_rb,4.4229e-01_rb,4.3592e-01_rb/) kao(:, 5, 5) = (/ & &3.8777e-01_rb,3.8350e-01_rb,3.7876e-01_rb,3.7352e-01_rb,3.6853e-01_rb/) kao(:, 6, 5) = (/ & &3.2750e-01_rb,3.2403e-01_rb,3.2009e-01_rb,3.1598e-01_rb,3.1216e-01_rb/) kao(:, 7, 5) = (/ & &2.7610e-01_rb,2.7333e-01_rb,2.7016e-01_rb,2.6699e-01_rb,2.6402e-01_rb/) kao(:, 8, 5) = (/ & &2.3237e-01_rb,2.3021e-01_rb,2.2764e-01_rb,2.2511e-01_rb,2.2263e-01_rb/) kao(:, 9, 5) = (/ & &1.9461e-01_rb,1.9312e-01_rb,1.9116e-01_rb,1.8911e-01_rb,1.8708e-01_rb/) kao(:,10, 5) = (/ & &1.4772e-01_rb,1.4997e-01_rb,1.5067e-01_rb,1.5164e-01_rb,1.5169e-01_rb/) kao(:,11, 5) = (/ & &1.1317e-01_rb,1.1322e-01_rb,1.1552e-01_rb,1.1824e-01_rb,1.1886e-01_rb/) kao(:,12, 5) = (/ & &9.7948e-02_rb,9.4310e-02_rb,9.3527e-02_rb,9.3094e-02_rb,9.5273e-02_rb/) kao(:,13, 5) = (/ & &8.1443e-02_rb,7.8686e-02_rb,7.8076e-02_rb,7.8298e-02_rb,8.0221e-02_rb/) kao(:, 1, 6) = (/ & &1.5697e+00_rb,1.5485e+00_rb,1.5270e+00_rb,1.5062e+00_rb,1.4845e+00_rb/) kao(:, 2, 6) = (/ & &1.3465e+00_rb,1.3286e+00_rb,1.3101e+00_rb,1.2912e+00_rb,1.2719e+00_rb/) kao(:, 3, 6) = (/ & &1.1474e+00_rb,1.1322e+00_rb,1.1161e+00_rb,1.0997e+00_rb,1.0837e+00_rb/) kao(:, 4, 6) = (/ & &9.7861e-01_rb,9.6591e-01_rb,9.5236e-01_rb,9.3871e-01_rb,9.2522e-01_rb/) kao(:, 5, 6) = (/ & &8.3345e-01_rb,8.2282e-01_rb,8.1147e-01_rb,8.0015e-01_rb,7.8882e-01_rb/) kao(:, 6, 6) = (/ & &7.0768e-01_rb,6.9919e-01_rb,6.8975e-01_rb,6.8018e-01_rb,6.7024e-01_rb/) kao(:, 7, 6) = (/ & &5.9916e-01_rb,5.9240e-01_rb,5.8444e-01_rb,5.7632e-01_rb,5.6762e-01_rb/) kao(:, 8, 6) = (/ & &5.0612e-01_rb,5.0051e-01_rb,4.9423e-01_rb,4.8731e-01_rb,4.7989e-01_rb/) kao(:, 9, 6) = (/ & &4.2622e-01_rb,4.2196e-01_rb,4.1690e-01_rb,4.1124e-01_rb,4.0525e-01_rb/) kao(:,10, 6) = (/ & &3.5041e-01_rb,3.4937e-01_rb,3.4686e-01_rb,3.4326e-01_rb,3.3900e-01_rb/) kao(:,11, 6) = (/ & &2.8138e-01_rb,2.8270e-01_rb,2.8314e-01_rb,2.8109e-01_rb,2.7863e-01_rb/) kao(:,12, 6) = (/ & &2.2569e-01_rb,2.3115e-01_rb,2.3249e-01_rb,2.3233e-01_rb,2.3100e-01_rb/) kao(:,13, 6) = (/ & &1.8817e-01_rb,1.9206e-01_rb,1.9341e-01_rb,1.9316e-01_rb,1.9216e-01_rb/) kao(:, 1, 7) = (/ & &3.4196e+00_rb,3.3801e+00_rb,3.3399e+00_rb,3.2946e+00_rb,3.2477e+00_rb/) kao(:, 2, 7) = (/ & &3.0295e+00_rb,2.9903e+00_rb,2.9469e+00_rb,2.9032e+00_rb,2.8599e+00_rb/) kao(:, 3, 7) = (/ & &2.6483e+00_rb,2.6096e+00_rb,2.5696e+00_rb,2.5316e+00_rb,2.4936e+00_rb/) kao(:, 4, 7) = (/ & &2.3044e+00_rb,2.2705e+00_rb,2.2374e+00_rb,2.2055e+00_rb,2.1724e+00_rb/) kao(:, 5, 7) = (/ & &1.9970e+00_rb,1.9688e+00_rb,1.9416e+00_rb,1.9143e+00_rb,1.8852e+00_rb/) kao(:, 6, 7) = (/ & &1.7224e+00_rb,1.6992e+00_rb,1.6760e+00_rb,1.6526e+00_rb,1.6276e+00_rb/) kao(:, 7, 7) = (/ & &1.4770e+00_rb,1.4579e+00_rb,1.4384e+00_rb,1.4185e+00_rb,1.3976e+00_rb/) kao(:, 8, 7) = (/ & &1.2593e+00_rb,1.2433e+00_rb,1.2274e+00_rb,1.2112e+00_rb,1.1939e+00_rb/) kao(:, 9, 7) = (/ & &1.0697e+00_rb,1.0563e+00_rb,1.0434e+00_rb,1.0295e+00_rb,1.0150e+00_rb/) kao(:,10, 7) = (/ & &9.0213e-01_rb,8.9139e-01_rb,8.8119e-01_rb,8.6954e-01_rb,8.5716e-01_rb/) kao(:,11, 7) = (/ & &7.5061e-01_rb,7.4446e-01_rb,7.3597e-01_rb,7.2638e-01_rb,7.1615e-01_rb/) kao(:,12, 7) = (/ & &6.2457e-01_rb,6.1924e-01_rb,6.1219e-01_rb,6.0465e-01_rb,5.9633e-01_rb/) kao(:,13, 7) = (/ & &5.2204e-01_rb,5.1758e-01_rb,5.1182e-01_rb,5.0530e-01_rb,4.9787e-01_rb/) kao(:, 1, 8) = (/ & &7.9795e+00_rb,7.8457e+00_rb,7.7132e+00_rb,7.5890e+00_rb,7.4645e+00_rb/) kao(:, 2, 8) = (/ & &7.5076e+00_rb,7.3733e+00_rb,7.2519e+00_rb,7.1316e+00_rb,7.0099e+00_rb/) kao(:, 3, 8) = (/ & &6.9340e+00_rb,6.8148e+00_rb,6.7036e+00_rb,6.5875e+00_rb,6.4766e+00_rb/) kao(:, 4, 8) = (/ & &6.3414e+00_rb,6.2366e+00_rb,6.1298e+00_rb,6.0215e+00_rb,5.9183e+00_rb/) kao(:, 5, 8) = (/ & &5.7373e+00_rb,5.6423e+00_rb,5.5412e+00_rb,5.4426e+00_rb,5.3434e+00_rb/) kao(:, 6, 8) = (/ & &5.1373e+00_rb,5.0482e+00_rb,4.9577e+00_rb,4.8621e+00_rb,4.7659e+00_rb/) kao(:, 7, 8) = (/ & &4.5492e+00_rb,4.4684e+00_rb,4.3821e+00_rb,4.2928e+00_rb,4.2067e+00_rb/) kao(:, 8, 8) = (/ & &3.9884e+00_rb,3.9140e+00_rb,3.8349e+00_rb,3.7563e+00_rb,3.6821e+00_rb/) kao(:, 9, 8) = (/ & &3.4656e+00_rb,3.3995e+00_rb,3.3300e+00_rb,3.2636e+00_rb,3.2010e+00_rb/) kao(:,10, 8) = (/ & &2.9841e+00_rb,2.9267e+00_rb,2.8680e+00_rb,2.8124e+00_rb,2.7592e+00_rb/) kao(:,11, 8) = (/ & &2.5294e+00_rb,2.4795e+00_rb,2.4321e+00_rb,2.3862e+00_rb,2.3418e+00_rb/) kao(:,12, 8) = (/ & &2.1315e+00_rb,2.0918e+00_rb,2.0527e+00_rb,2.0146e+00_rb,1.9776e+00_rb/) kao(:,13, 8) = (/ & &1.7932e+00_rb,1.7598e+00_rb,1.7272e+00_rb,1.6957e+00_rb,1.6643e+00_rb/) kao(:, 1, 9) = (/ & &1.8965e+01_rb,1.8711e+01_rb,1.8469e+01_rb,1.8242e+01_rb,1.8035e+01_rb/) kao(:, 2, 9) = (/ & &1.9621e+01_rb,1.9373e+01_rb,1.9124e+01_rb,1.8882e+01_rb,1.8648e+01_rb/) kao(:, 3, 9) = (/ & &2.0111e+01_rb,1.9849e+01_rb,1.9576e+01_rb,1.9310e+01_rb,1.9047e+01_rb/) kao(:, 4, 9) = (/ & &2.0303e+01_rb,2.0017e+01_rb,1.9726e+01_rb,1.9447e+01_rb,1.9174e+01_rb/) kao(:, 5, 9) = (/ & &2.0176e+01_rb,1.9882e+01_rb,1.9591e+01_rb,1.9312e+01_rb,1.9035e+01_rb/) kao(:, 6, 9) = (/ & &1.9747e+01_rb,1.9457e+01_rb,1.9166e+01_rb,1.8888e+01_rb,1.8606e+01_rb/) kao(:, 7, 9) = (/ & &1.9018e+01_rb,1.8727e+01_rb,1.8446e+01_rb,1.8173e+01_rb,1.7878e+01_rb/) kao(:, 8, 9) = (/ & &1.8015e+01_rb,1.7734e+01_rb,1.7466e+01_rb,1.7191e+01_rb,1.6898e+01_rb/) kao(:, 9, 9) = (/ & &1.6785e+01_rb,1.6527e+01_rb,1.6264e+01_rb,1.5992e+01_rb,1.5711e+01_rb/) kao(:,10, 9) = (/ & &1.5379e+01_rb,1.5144e+01_rb,1.4899e+01_rb,1.4648e+01_rb,1.4396e+01_rb/) kao(:,11, 9) = (/ & &1.3809e+01_rb,1.3588e+01_rb,1.3370e+01_rb,1.3146e+01_rb,1.2927e+01_rb/) kao(:,12, 9) = (/ & &1.2243e+01_rb,1.2056e+01_rb,1.1862e+01_rb,1.1669e+01_rb,1.1464e+01_rb/) kao(:,13, 9) = (/ & &1.0743e+01_rb,1.0581e+01_rb,1.0416e+01_rb,1.0238e+01_rb,1.0057e+01_rb/) kao(:, 1,10) = (/ & &3.4918e+01_rb,3.4410e+01_rb,3.3938e+01_rb,3.3384e+01_rb,3.2811e+01_rb/) kao(:, 2,10) = (/ & &3.7421e+01_rb,3.6860e+01_rb,3.6321e+01_rb,3.5822e+01_rb,3.5445e+01_rb/) kao(:, 3,10) = (/ & &4.0412e+01_rb,3.9722e+01_rb,3.9217e+01_rb,3.8832e+01_rb,3.8460e+01_rb/) kao(:, 4,10) = (/ & &4.3162e+01_rb,4.2539e+01_rb,4.2112e+01_rb,4.1640e+01_rb,4.1120e+01_rb/) kao(:, 5,10) = (/ & &4.5609e+01_rb,4.5045e+01_rb,4.4552e+01_rb,4.3899e+01_rb,4.3271e+01_rb/) kao(:, 6,10) = (/ & &4.7877e+01_rb,4.7338e+01_rb,4.6747e+01_rb,4.6031e+01_rb,4.5492e+01_rb/) kao(:, 7,10) = (/ & &4.9831e+01_rb,4.9324e+01_rb,4.8717e+01_rb,4.8005e+01_rb,4.7611e+01_rb/) kao(:, 8,10) = (/ & &5.1031e+01_rb,5.0574e+01_rb,4.9915e+01_rb,4.9244e+01_rb,4.8761e+01_rb/) kao(:, 9,10) = (/ & &5.1465e+01_rb,5.0984e+01_rb,5.0270e+01_rb,4.9612e+01_rb,4.9032e+01_rb/) kao(:,10,10) = (/ & &5.0911e+01_rb,5.0267e+01_rb,4.9512e+01_rb,4.8818e+01_rb,4.8092e+01_rb/) kao(:,11,10) = (/ & &4.8719e+01_rb,4.7980e+01_rb,4.7190e+01_rb,4.6412e+01_rb,4.5593e+01_rb/) kao(:,12,10) = (/ & &4.5566e+01_rb,4.4779e+01_rb,4.4020e+01_rb,4.3287e+01_rb,4.2695e+01_rb/) kao(:,13,10) = (/ & &4.1842e+01_rb,4.1126e+01_rb,4.0474e+01_rb,3.9934e+01_rb,3.9455e+01_rb/) kao(:, 1,11) = (/ & &4.3485e+01_rb,4.3086e+01_rb,4.2575e+01_rb,4.2046e+01_rb,4.1574e+01_rb/) kao(:, 2,11) = (/ & &4.8017e+01_rb,4.7410e+01_rb,4.6743e+01_rb,4.6112e+01_rb,4.5460e+01_rb/) kao(:, 3,11) = (/ & &5.1964e+01_rb,5.1351e+01_rb,5.0628e+01_rb,4.9892e+01_rb,4.9112e+01_rb/) kao(:, 4,11) = (/ & &5.5970e+01_rb,5.5232e+01_rb,5.4425e+01_rb,5.3658e+01_rb,5.2964e+01_rb/) kao(:, 5,11) = (/ & &6.0234e+01_rb,5.9398e+01_rb,5.8467e+01_rb,5.7720e+01_rb,5.7104e+01_rb/) kao(:, 6,11) = (/ & &6.4036e+01_rb,6.3174e+01_rb,6.2265e+01_rb,6.1623e+01_rb,6.0928e+01_rb/) kao(:, 7,11) = (/ & &6.7087e+01_rb,6.6347e+01_rb,6.5603e+01_rb,6.4996e+01_rb,6.4192e+01_rb/) kao(:, 8,11) = (/ & &6.9922e+01_rb,6.9386e+01_rb,6.8783e+01_rb,6.8159e+01_rb,6.7317e+01_rb/) kao(:, 9,11) = (/ & &7.2326e+01_rb,7.1863e+01_rb,7.1404e+01_rb,7.0792e+01_rb,6.9972e+01_rb/) kao(:,10,11) = (/ & &7.3782e+01_rb,7.3486e+01_rb,7.3017e+01_rb,7.2321e+01_rb,7.1486e+01_rb/) kao(:,11,11) = (/ & &7.4137e+01_rb,7.3779e+01_rb,7.3113e+01_rb,7.2218e+01_rb,7.1354e+01_rb/) kao(:,12,11) = (/ & &7.3214e+01_rb,7.2506e+01_rb,7.1526e+01_rb,7.0521e+01_rb,6.9446e+01_rb/) kao(:,13,11) = (/ & &7.0360e+01_rb,6.9342e+01_rb,6.8249e+01_rb,6.7098e+01_rb,6.5980e+01_rb/) kao(:, 1,12) = (/ & &5.1887e+01_rb,5.1393e+01_rb,5.0969e+01_rb,5.0675e+01_rb,5.0203e+01_rb/) kao(:, 2,12) = (/ & &5.9704e+01_rb,5.9201e+01_rb,5.8829e+01_rb,5.8469e+01_rb,5.7899e+01_rb/) kao(:, 3,12) = (/ & &6.7858e+01_rb,6.7238e+01_rb,6.6756e+01_rb,6.6195e+01_rb,6.5626e+01_rb/) kao(:, 4,12) = (/ & &7.5062e+01_rb,7.4258e+01_rb,7.3522e+01_rb,7.2807e+01_rb,7.2094e+01_rb/) kao(:, 5,12) = (/ & &8.1152e+01_rb,8.0143e+01_rb,7.9393e+01_rb,7.8647e+01_rb,7.7881e+01_rb/) kao(:, 6,12) = (/ & &8.7340e+01_rb,8.6150e+01_rb,8.5372e+01_rb,8.4516e+01_rb,8.3657e+01_rb/) kao(:, 7,12) = (/ & &9.4121e+01_rb,9.2665e+01_rb,9.1695e+01_rb,9.0706e+01_rb,8.9764e+01_rb/) kao(:, 8,12) = (/ & &1.0086e+02_rb,9.9171e+01_rb,9.7989e+01_rb,9.6851e+01_rb,9.5921e+01_rb/) kao(:, 9,12) = (/ & &1.0671e+02_rb,1.0483e+02_rb,1.0352e+02_rb,1.0233e+02_rb,1.0145e+02_rb/) kao(:,10,12) = (/ & &1.1135e+02_rb,1.0957e+02_rb,1.0846e+02_rb,1.0742e+02_rb,1.0652e+02_rb/) kao(:,11,12) = (/ & &1.1430e+02_rb,1.1336e+02_rb,1.1254e+02_rb,1.1170e+02_rb,1.1063e+02_rb/) kao(:,12,12) = (/ & &1.1681e+02_rb,1.1638e+02_rb,1.1571e+02_rb,1.1469e+02_rb,1.1347e+02_rb/) kao(:,13,12) = (/ & &1.1832e+02_rb,1.1787e+02_rb,1.1696e+02_rb,1.1585e+02_rb,1.1448e+02_rb/) kao(:, 1,13) = (/ & &6.2138e+01_rb,6.1536e+01_rb,6.0957e+01_rb,6.0185e+01_rb,5.9644e+01_rb/) kao(:, 2,13) = (/ & &7.3104e+01_rb,7.2436e+01_rb,7.1604e+01_rb,7.0616e+01_rb,6.9923e+01_rb/) kao(:, 3,13) = (/ & &8.5575e+01_rb,8.4690e+01_rb,8.3633e+01_rb,8.2595e+01_rb,8.1733e+01_rb/) kao(:, 4,13) = (/ & &9.8880e+01_rb,9.7932e+01_rb,9.6845e+01_rb,9.5711e+01_rb,9.4631e+01_rb/) kao(:, 5,13) = (/ & &1.1273e+02_rb,1.1168e+02_rb,1.1051e+02_rb,1.0912e+02_rb,1.0775e+02_rb/) kao(:, 6,13) = (/ & &1.2651e+02_rb,1.2538e+02_rb,1.2389e+02_rb,1.2226e+02_rb,1.2074e+02_rb/) kao(:, 7,13) = (/ & &1.4003e+02_rb,1.3861e+02_rb,1.3671e+02_rb,1.3477e+02_rb,1.3302e+02_rb/) kao(:, 8,13) = (/ & &1.5267e+02_rb,1.5069e+02_rb,1.4845e+02_rb,1.4633e+02_rb,1.4433e+02_rb/) kao(:, 9,13) = (/ & &1.6510e+02_rb,1.6280e+02_rb,1.6039e+02_rb,1.5803e+02_rb,1.5572e+02_rb/) kao(:,10,13) = (/ & &1.7758e+02_rb,1.7506e+02_rb,1.7227e+02_rb,1.6951e+02_rb,1.6718e+02_rb/) kao(:,11,13) = (/ & &1.8910e+02_rb,1.8565e+02_rb,1.8227e+02_rb,1.7970e+02_rb,1.7779e+02_rb/) kao(:,12,13) = (/ & &1.9894e+02_rb,1.9500e+02_rb,1.9204e+02_rb,1.8987e+02_rb,1.8782e+02_rb/) kao(:,13,13) = (/ & &2.0665e+02_rb,2.0326e+02_rb,2.0074e+02_rb,1.9867e+02_rb,1.9680e+02_rb/) kao(:, 1,14) = (/ & &7.2473e+01_rb,7.1368e+01_rb,7.0428e+01_rb,6.9932e+01_rb,6.9604e+01_rb/) kao(:, 2,14) = (/ & &8.7789e+01_rb,8.6447e+01_rb,8.5315e+01_rb,8.4536e+01_rb,8.3865e+01_rb/) kao(:, 3,14) = (/ & &1.0616e+02_rb,1.0473e+02_rb,1.0338e+02_rb,1.0236e+02_rb,1.0132e+02_rb/) kao(:, 4,14) = (/ & &1.2669e+02_rb,1.2502e+02_rb,1.2342e+02_rb,1.2210e+02_rb,1.2081e+02_rb/) kao(:, 5,14) = (/ & &1.4951e+02_rb,1.4761e+02_rb,1.4568e+02_rb,1.4409e+02_rb,1.4262e+02_rb/) kao(:, 6,14) = (/ & &1.7487e+02_rb,1.7259e+02_rb,1.7054e+02_rb,1.6873e+02_rb,1.6691e+02_rb/) kao(:, 7,14) = (/ & &2.0246e+02_rb,2.0010e+02_rb,1.9793e+02_rb,1.9585e+02_rb,1.9382e+02_rb/) kao(:, 8,14) = (/ & &2.3272e+02_rb,2.3034e+02_rb,2.2811e+02_rb,2.2588e+02_rb,2.2363e+02_rb/) kao(:, 9,14) = (/ & &2.6521e+02_rb,2.6298e+02_rb,2.6062e+02_rb,2.5802e+02_rb,2.5525e+02_rb/) kao(:,10,14) = (/ & &2.9843e+02_rb,2.9609e+02_rb,2.9357e+02_rb,2.9069e+02_rb,2.8721e+02_rb/) kao(:,11,14) = (/ & &3.3019e+02_rb,3.2789e+02_rb,3.2506e+02_rb,3.2111e+02_rb,3.1667e+02_rb/) kao(:,12,14) = (/ & &3.6200e+02_rb,3.5928e+02_rb,3.5512e+02_rb,3.5030e+02_rb,3.4598e+02_rb/) kao(:,13,14) = (/ & &3.9453e+02_rb,3.9054e+02_rb,3.8556e+02_rb,3.8029e+02_rb,3.7518e+02_rb/) kao(:, 1,15) = (/ & &8.4296e+01_rb,8.4294e+01_rb,8.4592e+01_rb,8.4817e+01_rb,8.4944e+01_rb/) kao(:, 2,15) = (/ & &1.0316e+02_rb,1.0286e+02_rb,1.0304e+02_rb,1.0333e+02_rb,1.0370e+02_rb/) kao(:, 3,15) = (/ & &1.2648e+02_rb,1.2563e+02_rb,1.2552e+02_rb,1.2542e+02_rb,1.2564e+02_rb/) kao(:, 4,15) = (/ & &1.5355e+02_rb,1.5194e+02_rb,1.5117e+02_rb,1.5062e+02_rb,1.5044e+02_rb/) kao(:, 5,15) = (/ & &1.8607e+02_rb,1.8324e+02_rb,1.8143e+02_rb,1.8019e+02_rb,1.7911e+02_rb/) kao(:, 6,15) = (/ & &2.2538e+02_rb,2.2140e+02_rb,2.1806e+02_rb,2.1567e+02_rb,2.1369e+02_rb/) kao(:, 7,15) = (/ & &2.7204e+02_rb,2.6705e+02_rb,2.6220e+02_rb,2.5861e+02_rb,2.5549e+02_rb/) kao(:, 8,15) = (/ & &3.2681e+02_rb,3.2069e+02_rb,3.1478e+02_rb,3.0961e+02_rb,3.0517e+02_rb/) kao(:, 9,15) = (/ & &3.9109e+02_rb,3.8311e+02_rb,3.7570e+02_rb,3.6941e+02_rb,3.6369e+02_rb/) kao(:,10,15) = (/ & &4.6558e+02_rb,4.5519e+02_rb,4.4566e+02_rb,4.3786e+02_rb,4.3114e+02_rb/) kao(:,11,15) = (/ & &5.4422e+02_rb,5.3170e+02_rb,5.2160e+02_rb,5.1300e+02_rb,5.0502e+02_rb/) kao(:,12,15) = (/ & &6.3083e+02_rb,6.1809e+02_rb,6.0782e+02_rb,5.9755e+02_rb,5.8778e+02_rb/) kao(:,13,15) = (/ & &7.2633e+02_rb,7.1401e+02_rb,7.0254e+02_rb,6.9098e+02_rb,6.8020e+02_rb/) kao(:, 1,16) = (/ & &9.0293e+01_rb,9.1524e+01_rb,9.2499e+01_rb,9.3157e+01_rb,9.3569e+01_rb/) kao(:, 2,16) = (/ & &1.1228e+02_rb,1.1346e+02_rb,1.1477e+02_rb,1.1575e+02_rb,1.1638e+02_rb/) kao(:, 3,16) = (/ & &1.3962e+02_rb,1.4080e+02_rb,1.4217e+02_rb,1.4343e+02_rb,1.4444e+02_rb/) kao(:, 4,16) = (/ & &1.7141e+02_rb,1.7272e+02_rb,1.7425e+02_rb,1.7564e+02_rb,1.7671e+02_rb/) kao(:, 5,16) = (/ & &2.0680e+02_rb,2.1031e+02_rb,2.1221e+02_rb,2.1383e+02_rb,2.1512e+02_rb/) kao(:, 6,16) = (/ & &2.5314e+02_rb,2.5478e+02_rb,2.5735e+02_rb,2.5955e+02_rb,2.6116e+02_rb/) kao(:, 7,16) = (/ & &3.0938e+02_rb,3.0774e+02_rb,3.1113e+02_rb,3.1414e+02_rb,3.1633e+02_rb/) kao(:, 8,16) = (/ & &3.7909e+02_rb,3.7514e+02_rb,3.7476e+02_rb,3.7901e+02_rb,3.8212e+02_rb/) kao(:, 9,16) = (/ & &4.6433e+02_rb,4.5795e+02_rb,4.5378e+02_rb,4.5558e+02_rb,4.5979e+02_rb/) kao(:,10,16) = (/ & &5.6730e+02_rb,5.5767e+02_rb,5.5088e+02_rb,5.4957e+02_rb,5.5150e+02_rb/) kao(:,11,16) = (/ & &6.8668e+02_rb,6.7309e+02_rb,6.6516e+02_rb,6.6333e+02_rb,6.6322e+02_rb/) kao(:,12,16) = (/ & &8.3053e+02_rb,8.1176e+02_rb,8.0043e+02_rb,7.9744e+02_rb,7.9485e+02_rb/) kao(:,13,16) = (/ & &1.0026e+03_rb,9.7775e+02_rb,9.6058e+02_rb,9.5314e+02_rb,9.4719e+02_rb/) ! The array KBO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels < ~100mb and temperatures. The first ! index in the array, JT, which runs from 1 to 5, corresponds to ! different temperatures. More specifically, JT = 3 means that the ! data are for the reference temperature TREF for this pressure ! level, JT = 2 refers to the temperature TREF-15, JT = 1 is for ! TREF-30, JT = 4 is for TREF+15, and JT = 5 is for TREF+30. ! The second index, JP, runs from 13 to 59 and refers to the JPth ! reference pressure level (see taumol.f for the value of these ! pressure levels in mb). The third index, IG, goes from 1 to 16, ! and tells us which g-interval the absorption coefficients are for. kbo(:,13, 1) = (/ & &1.2190e-02_rb,1.2693e-02_rb,1.3086e-02_rb,1.3355e-02_rb,1.3602e-02_rb/) kbo(:,14, 1) = (/ & &1.0639e-02_rb,1.0991e-02_rb,1.1315e-02_rb,1.1564e-02_rb,1.1518e-02_rb/) kbo(:,15, 1) = (/ & &9.4343e-03_rb,9.6676e-03_rb,9.5938e-03_rb,9.5530e-03_rb,9.4890e-03_rb/) kbo(:,16, 1) = (/ & &7.9681e-03_rb,7.8419e-03_rb,7.8162e-03_rb,7.7492e-03_rb,7.7652e-03_rb/) kbo(:,17, 1) = (/ & &6.4068e-03_rb,6.3539e-03_rb,6.3265e-03_rb,6.3294e-03_rb,6.2292e-03_rb/) kbo(:,18, 1) = (/ & &5.1420e-03_rb,5.1335e-03_rb,5.0780e-03_rb,5.0408e-03_rb,5.0223e-03_rb/) kbo(:,19, 1) = (/ & &4.1739e-03_rb,4.1404e-03_rb,4.1032e-03_rb,4.0908e-03_rb,4.0562e-03_rb/) kbo(:,20, 1) = (/ & &3.3887e-03_rb,3.3668e-03_rb,3.3481e-03_rb,3.3359e-03_rb,3.2948e-03_rb/) kbo(:,21, 1) = (/ & &2.7580e-03_rb,2.7551e-03_rb,2.7356e-03_rb,2.7092e-03_rb,2.6841e-03_rb/) kbo(:,22, 1) = (/ & &2.2558e-03_rb,2.2435e-03_rb,2.2235e-03_rb,2.2041e-03_rb,2.1870e-03_rb/) kbo(:,23, 1) = (/ & &1.8426e-03_rb,1.8324e-03_rb,1.8088e-03_rb,1.7975e-03_rb,1.7882e-03_rb/) kbo(:,24, 1) = (/ & &1.5091e-03_rb,1.4914e-03_rb,1.4770e-03_rb,1.4698e-03_rb,1.4675e-03_rb/) kbo(:,25, 1) = (/ & &1.2361e-03_rb,1.2170e-03_rb,1.2068e-03_rb,1.2059e-03_rb,1.2054e-03_rb/) kbo(:,26, 1) = (/ & &1.0050e-03_rb,9.9424e-04_rb,9.8921e-04_rb,9.8950e-04_rb,9.9102e-04_rb/) kbo(:,27, 1) = (/ & &8.1924e-04_rb,8.1181e-04_rb,8.1111e-04_rb,8.1148e-04_rb,8.1057e-04_rb/) kbo(:,28, 1) = (/ & &6.6881e-04_rb,6.6398e-04_rb,6.6473e-04_rb,6.6536e-04_rb,6.6057e-04_rb/) kbo(:,29, 1) = (/ & &5.4452e-04_rb,5.4181e-04_rb,5.4254e-04_rb,5.4342e-04_rb,5.3551e-04_rb/) kbo(:,30, 1) = (/ & &4.4259e-04_rb,4.4140e-04_rb,4.4207e-04_rb,4.4326e-04_rb,4.2874e-04_rb/) kbo(:,31, 1) = (/ & &3.5899e-04_rb,3.5826e-04_rb,3.5911e-04_rb,3.5984e-04_rb,3.4298e-04_rb/) kbo(:,32, 1) = (/ & &2.9138e-04_rb,2.9104e-04_rb,2.9178e-04_rb,2.9237e-04_rb,2.7522e-04_rb/) kbo(:,33, 1) = (/ & &2.3674e-04_rb,2.3667e-04_rb,2.3708e-04_rb,2.3749e-04_rb,2.2116e-04_rb/) kbo(:,34, 1) = (/ & &1.9293e-04_rb,1.9295e-04_rb,1.9307e-04_rb,1.9353e-04_rb,1.7944e-04_rb/) kbo(:,35, 1) = (/ & &1.5741e-04_rb,1.5737e-04_rb,1.5735e-04_rb,1.5778e-04_rb,1.4713e-04_rb/) kbo(:,36, 1) = (/ & &1.2872e-04_rb,1.2833e-04_rb,1.2856e-04_rb,1.2886e-04_rb,1.2147e-04_rb/) kbo(:,37, 1) = (/ & &1.0573e-04_rb,1.0521e-04_rb,1.0532e-04_rb,1.0552e-04_rb,1.0153e-04_rb/) kbo(:,38, 1) = (/ & &8.6912e-05_rb,8.6294e-05_rb,8.6278e-05_rb,8.6393e-05_rb,8.5663e-05_rb/) kbo(:,39, 1) = (/ & &7.1476e-05_rb,7.0797e-05_rb,7.0693e-05_rb,7.0706e-05_rb,7.0752e-05_rb/) kbo(:,40, 1) = (/ & &5.8778e-05_rb,5.8375e-05_rb,5.8149e-05_rb,5.8120e-05_rb,5.8038e-05_rb/) kbo(:,41, 1) = (/ & &4.8208e-05_rb,4.8291e-05_rb,4.7939e-05_rb,4.7839e-05_rb,4.7717e-05_rb/) kbo(:,42, 1) = (/ & &3.9735e-05_rb,3.9794e-05_rb,3.9588e-05_rb,3.9414e-05_rb,3.9275e-05_rb/) kbo(:,43, 1) = (/ & &3.3069e-05_rb,3.2750e-05_rb,3.2898e-05_rb,3.2646e-05_rb,3.2434e-05_rb/) kbo(:,44, 1) = (/ & &2.7160e-05_rb,2.7263e-05_rb,2.7120e-05_rb,2.7165e-05_rb,2.6874e-05_rb/) kbo(:,45, 1) = (/ & &2.2285e-05_rb,2.2565e-05_rb,2.2508e-05_rb,2.2456e-05_rb,2.2357e-05_rb/) kbo(:,46, 1) = (/ & &1.8468e-05_rb,1.8529e-05_rb,1.8744e-05_rb,1.8640e-05_rb,1.8584e-05_rb/) kbo(:,47, 1) = (/ & &1.5267e-05_rb,1.5373e-05_rb,1.5389e-05_rb,1.5590e-05_rb,1.5417e-05_rb/) kbo(:,48, 1) = (/ & &1.2576e-05_rb,1.2765e-05_rb,1.2771e-05_rb,1.2828e-05_rb,1.2953e-05_rb/) kbo(:,49, 1) = (/ & &1.0526e-05_rb,1.0503e-05_rb,1.0641e-05_rb,1.0645e-05_rb,1.0671e-05_rb/) kbo(:,50, 1) = (/ & &8.5146e-06_rb,8.8286e-06_rb,8.7879e-06_rb,8.8870e-06_rb,8.8515e-06_rb/) kbo(:,51, 1) = (/ & &6.8551e-06_rb,7.1714e-06_rb,7.4262e-06_rb,7.3568e-06_rb,7.4039e-06_rb/) kbo(:,52, 1) = (/ & &5.5111e-06_rb,5.7854e-06_rb,6.0431e-06_rb,6.2230e-06_rb,6.1473e-06_rb/) kbo(:,53, 1) = (/ & &4.4382e-06_rb,4.6559e-06_rb,4.8718e-06_rb,5.0815e-06_rb,5.1941e-06_rb/) kbo(:,54, 1) = (/ & &3.6177e-06_rb,3.7935e-06_rb,3.9613e-06_rb,4.1342e-06_rb,4.2936e-06_rb/) kbo(:,55, 1) = (/ & &2.9336e-06_rb,3.1004e-06_rb,3.2420e-06_rb,3.3846e-06_rb,3.5194e-06_rb/) kbo(:,56, 1) = (/ & &2.3777e-06_rb,2.5393e-06_rb,2.6559e-06_rb,2.7737e-06_rb,2.8819e-06_rb/) kbo(:,57, 1) = (/ & &1.9258e-06_rb,2.0635e-06_rb,2.1875e-06_rb,2.2772e-06_rb,2.3684e-06_rb/) kbo(:,58, 1) = (/ & &1.5658e-06_rb,1.6813e-06_rb,1.7910e-06_rb,1.8800e-06_rb,1.9530e-06_rb/) kbo(:,59, 1) = (/ & &1.3188e-06_rb,1.4141e-06_rb,1.4979e-06_rb,1.5764e-06_rb,1.6384e-06_rb/) kbo(:,13, 2) = (/ & &3.3779e-02_rb,3.2735e-02_rb,3.1178e-02_rb,2.9814e-02_rb,2.8271e-02_rb/) kbo(:,14, 2) = (/ & &2.7945e-02_rb,2.6846e-02_rb,2.5419e-02_rb,2.4157e-02_rb,2.2814e-02_rb/) kbo(:,15, 2) = (/ & &2.2748e-02_rb,2.1521e-02_rb,2.0571e-02_rb,1.9559e-02_rb,1.8047e-02_rb/) kbo(:,16, 2) = (/ & &1.8337e-02_rb,1.7587e-02_rb,1.6750e-02_rb,1.5705e-02_rb,1.3259e-02_rb/) kbo(:,17, 2) = (/ & &1.5034e-02_rb,1.4343e-02_rb,1.3736e-02_rb,1.1541e-02_rb,9.7400e-03_rb/) kbo(:,18, 2) = (/ & &1.2164e-02_rb,1.1828e-02_rb,9.9998e-03_rb,8.2911e-03_rb,6.9774e-03_rb/) kbo(:,19, 2) = (/ & &1.0053e-02_rb,8.7760e-03_rb,7.2944e-03_rb,6.0291e-03_rb,5.2188e-03_rb/) kbo(:,20, 2) = (/ & &8.0996e-03_rb,6.6628e-03_rb,5.4744e-03_rb,4.5474e-03_rb,4.0343e-03_rb/) kbo(:,21, 2) = (/ & &6.1685e-03_rb,5.0455e-03_rb,4.1278e-03_rb,3.5537e-03_rb,3.1461e-03_rb/) kbo(:,22, 2) = (/ & &4.6680e-03_rb,3.7894e-03_rb,3.1347e-03_rb,2.7602e-03_rb,2.4538e-03_rb/) kbo(:,23, 2) = (/ & &3.5105e-03_rb,2.8430e-03_rb,2.4311e-03_rb,2.1442e-03_rb,1.9116e-03_rb/) kbo(:,24, 2) = (/ & &2.6394e-03_rb,2.1852e-03_rb,1.8960e-03_rb,1.6702e-03_rb,1.4993e-03_rb/) kbo(:,25, 2) = (/ & &2.0041e-03_rb,1.6920e-03_rb,1.4784e-03_rb,1.3107e-03_rb,1.1883e-03_rb/) kbo(:,26, 2) = (/ & &1.5414e-03_rb,1.3189e-03_rb,1.1564e-03_rb,1.0333e-03_rb,9.4710e-04_rb/) kbo(:,27, 2) = (/ & &1.2025e-03_rb,1.0381e-03_rb,9.1423e-04_rb,8.1996e-04_rb,7.6323e-04_rb/) kbo(:,28, 2) = (/ & &9.4481e-04_rb,8.2314e-04_rb,7.2601e-04_rb,6.5680e-04_rb,6.2105e-04_rb/) kbo(:,29, 2) = (/ & &7.4291e-04_rb,6.5138e-04_rb,5.7968e-04_rb,5.2914e-04_rb,5.0508e-04_rb/) kbo(:,30, 2) = (/ & &5.8796e-04_rb,5.1841e-04_rb,4.6161e-04_rb,4.2521e-04_rb,4.1671e-04_rb/) kbo(:,31, 2) = (/ & &4.6334e-04_rb,4.1198e-04_rb,3.6828e-04_rb,3.4267e-04_rb,3.4322e-04_rb/) kbo(:,32, 2) = (/ & &3.6683e-04_rb,3.2718e-04_rb,2.9598e-04_rb,2.7743e-04_rb,2.8106e-04_rb/) kbo(:,33, 2) = (/ & &2.9220e-04_rb,2.6104e-04_rb,2.3912e-04_rb,2.2529e-04_rb,2.3032e-04_rb/) kbo(:,34, 2) = (/ & &2.3494e-04_rb,2.1114e-04_rb,1.9458e-04_rb,1.8336e-04_rb,1.8849e-04_rb/) kbo(:,35, 2) = (/ & &1.9117e-04_rb,1.7220e-04_rb,1.5969e-04_rb,1.5013e-04_rb,1.5359e-04_rb/) kbo(:,36, 2) = (/ & &1.5747e-04_rb,1.4221e-04_rb,1.3171e-04_rb,1.2370e-04_rb,1.2459e-04_rb/) kbo(:,37, 2) = (/ & &1.3250e-04_rb,1.1910e-04_rb,1.0968e-04_rb,1.0296e-04_rb,1.0130e-04_rb/) kbo(:,38, 2) = (/ & &1.1160e-04_rb,9.9715e-05_rb,9.1665e-05_rb,8.5730e-05_rb,8.1933e-05_rb/) kbo(:,39, 2) = (/ & &9.4135e-05_rb,8.3974e-05_rb,7.6783e-05_rb,7.1718e-05_rb,6.7517e-05_rb/) kbo(:,40, 2) = (/ & &8.0997e-05_rb,7.2288e-05_rb,6.5235e-05_rb,6.0491e-05_rb,5.6970e-05_rb/) kbo(:,41, 2) = (/ & &7.0436e-05_rb,6.2097e-05_rb,5.5431e-05_rb,5.1123e-05_rb,4.8054e-05_rb/) kbo(:,42, 2) = (/ & &6.1655e-05_rb,5.3367e-05_rb,4.7548e-05_rb,4.3416e-05_rb,4.0552e-05_rb/) kbo(:,43, 2) = (/ & &5.5272e-05_rb,4.6832e-05_rb,4.1549e-05_rb,3.7143e-05_rb,3.4563e-05_rb/) kbo(:,44, 2) = (/ & &5.0350e-05_rb,4.1911e-05_rb,3.6573e-05_rb,3.2553e-05_rb,2.9621e-05_rb/) kbo(:,45, 2) = (/ & &4.6680e-05_rb,3.8062e-05_rb,3.2149e-05_rb,2.8703e-05_rb,2.5694e-05_rb/) kbo(:,46, 2) = (/ & &4.2769e-05_rb,3.5698e-05_rb,2.9139e-05_rb,2.5199e-05_rb,2.2638e-05_rb/) kbo(:,47, 2) = (/ & &3.6477e-05_rb,3.2822e-05_rb,2.7467e-05_rb,2.2730e-05_rb,2.0075e-05_rb/) kbo(:,48, 2) = (/ & &3.0609e-05_rb,2.9832e-05_rb,2.5641e-05_rb,2.1246e-05_rb,1.7927e-05_rb/) kbo(:,49, 2) = (/ & &2.5892e-05_rb,2.4976e-05_rb,2.3819e-05_rb,2.0178e-05_rb,1.6719e-05_rb/) kbo(:,50, 2) = (/ & &2.2068e-05_rb,2.0897e-05_rb,2.0445e-05_rb,1.8401e-05_rb,1.5648e-05_rb/) kbo(:,51, 2) = (/ & &1.8894e-05_rb,1.8060e-05_rb,1.7047e-05_rb,1.6809e-05_rb,1.4426e-05_rb/) kbo(:,52, 2) = (/ & &1.6131e-05_rb,1.5345e-05_rb,1.4613e-05_rb,1.3961e-05_rb,1.3398e-05_rb/) kbo(:,53, 2) = (/ & &1.3727e-05_rb,1.3222e-05_rb,1.2619e-05_rb,1.1906e-05_rb,1.1467e-05_rb/) kbo(:,54, 2) = (/ & &1.1644e-05_rb,1.1203e-05_rb,1.0779e-05_rb,1.0373e-05_rb,9.7090e-06_rb/) kbo(:,55, 2) = (/ & &9.9606e-06_rb,9.5440e-06_rb,9.2216e-06_rb,8.7822e-06_rb,8.3198e-06_rb/) kbo(:,56, 2) = (/ & &8.4517e-06_rb,8.1696e-06_rb,7.8373e-06_rb,7.5094e-06_rb,7.2266e-06_rb/) kbo(:,57, 2) = (/ & &7.1634e-06_rb,7.0985e-06_rb,6.7296e-06_rb,6.4794e-06_rb,6.1647e-06_rb/) kbo(:,58, 2) = (/ & &6.2286e-06_rb,5.9713e-06_rb,5.8323e-06_rb,5.5370e-06_rb,5.3465e-06_rb/) kbo(:,59, 2) = (/ & &5.3307e-06_rb,5.0367e-06_rb,4.9690e-06_rb,4.6758e-06_rb,4.5062e-06_rb/) kbo(:,13, 3) = (/ & &4.7904e-02_rb,3.6965e-02_rb,2.8601e-02_rb,2.3919e-02_rb,2.0680e-02_rb/) kbo(:,14, 3) = (/ & &3.6570e-02_rb,2.7810e-02_rb,2.1848e-02_rb,1.8508e-02_rb,1.6582e-02_rb/) kbo(:,15, 3) = (/ & &2.6097e-02_rb,1.9628e-02_rb,1.6268e-02_rb,1.4252e-02_rb,1.3801e-02_rb/) kbo(:,16, 3) = (/ & &1.8293e-02_rb,1.4393e-02_rb,1.2369e-02_rb,1.1568e-02_rb,1.2855e-02_rb/) kbo(:,17, 3) = (/ & &1.3004e-02_rb,1.0838e-02_rb,9.6882e-03_rb,1.0818e-02_rb,1.1950e-02_rb/) kbo(:,18, 3) = (/ & &9.6007e-03_rb,8.2004e-03_rb,9.1048e-03_rb,1.0148e-02_rb,1.0662e-02_rb/) kbo(:,19, 3) = (/ & &7.2730e-03_rb,7.5847e-03_rb,8.4339e-03_rb,9.0734e-03_rb,9.2118e-03_rb/) kbo(:,20, 3) = (/ & &5.9400e-03_rb,6.7100e-03_rb,7.4249e-03_rb,7.7409e-03_rb,7.7182e-03_rb/) kbo(:,21, 3) = (/ & &5.2740e-03_rb,5.8871e-03_rb,6.3746e-03_rb,6.4908e-03_rb,6.3895e-03_rb/) kbo(:,22, 3) = (/ & &4.5973e-03_rb,5.1329e-03_rb,5.3865e-03_rb,5.3473e-03_rb,5.2488e-03_rb/) kbo(:,23, 3) = (/ & &4.0216e-03_rb,4.3958e-03_rb,4.5011e-03_rb,4.3919e-03_rb,4.3384e-03_rb/) kbo(:,24, 3) = (/ & &3.5050e-03_rb,3.6950e-03_rb,3.6848e-03_rb,3.6232e-03_rb,3.5889e-03_rb/) kbo(:,25, 3) = (/ & &3.0079e-03_rb,3.0947e-03_rb,3.0321e-03_rb,2.9863e-03_rb,2.9569e-03_rb/) kbo(:,26, 3) = (/ & &2.5223e-03_rb,2.5389e-03_rb,2.4899e-03_rb,2.4616e-03_rb,2.4119e-03_rb/) kbo(:,27, 3) = (/ & &2.0904e-03_rb,2.0720e-03_rb,2.0405e-03_rb,2.0263e-03_rb,1.9704e-03_rb/) kbo(:,28, 3) = (/ & &1.7240e-03_rb,1.6892e-03_rb,1.6695e-03_rb,1.6561e-03_rb,1.6055e-03_rb/) kbo(:,29, 3) = (/ & &1.4068e-03_rb,1.3720e-03_rb,1.3607e-03_rb,1.3422e-03_rb,1.3070e-03_rb/) kbo(:,30, 3) = (/ & &1.1328e-03_rb,1.1145e-03_rb,1.1117e-03_rb,1.0886e-03_rb,1.0628e-03_rb/) kbo(:,31, 3) = (/ & &9.1589e-04_rb,9.0415e-04_rb,9.0310e-04_rb,8.8069e-04_rb,8.6082e-04_rb/) kbo(:,32, 3) = (/ & &7.4268e-04_rb,7.3425e-04_rb,7.3091e-04_rb,7.1193e-04_rb,7.0016e-04_rb/) kbo(:,33, 3) = (/ & &5.9881e-04_rb,5.9536e-04_rb,5.8909e-04_rb,5.7513e-04_rb,5.6984e-04_rb/) kbo(:,34, 3) = (/ & &4.8522e-04_rb,4.8326e-04_rb,4.7702e-04_rb,4.6806e-04_rb,4.6482e-04_rb/) kbo(:,35, 3) = (/ & &3.9408e-04_rb,3.9282e-04_rb,3.8758e-04_rb,3.8191e-04_rb,3.7951e-04_rb/) kbo(:,36, 3) = (/ & &3.2090e-04_rb,3.1998e-04_rb,3.1651e-04_rb,3.1185e-04_rb,3.1064e-04_rb/) kbo(:,37, 3) = (/ & &2.6225e-04_rb,2.6215e-04_rb,2.6078e-04_rb,2.5651e-04_rb,2.5549e-04_rb/) kbo(:,38, 3) = (/ & &2.1480e-04_rb,2.1472e-04_rb,2.1476e-04_rb,2.1116e-04_rb,2.0969e-04_rb/) kbo(:,39, 3) = (/ & &1.7555e-04_rb,1.7537e-04_rb,1.7598e-04_rb,1.7350e-04_rb,1.7249e-04_rb/) kbo(:,40, 3) = (/ & &1.4506e-04_rb,1.4338e-04_rb,1.4427e-04_rb,1.4359e-04_rb,1.4195e-04_rb/) kbo(:,41, 3) = (/ & &1.1753e-04_rb,1.1789e-04_rb,1.1842e-04_rb,1.1899e-04_rb,1.1706e-04_rb/) kbo(:,42, 3) = (/ & &9.4811e-05_rb,9.6651e-05_rb,9.6909e-05_rb,9.7780e-05_rb,9.6573e-05_rb/) kbo(:,43, 3) = (/ & &7.5161e-05_rb,7.9489e-05_rb,7.9256e-05_rb,8.0096e-05_rb,8.0065e-05_rb/) kbo(:,44, 3) = (/ & &5.8204e-05_rb,6.3635e-05_rb,6.5251e-05_rb,6.5174e-05_rb,6.6162e-05_rb/) kbo(:,45, 3) = (/ & &4.3809e-05_rb,5.0393e-05_rb,5.3351e-05_rb,5.3552e-05_rb,5.3892e-05_rb/) kbo(:,46, 3) = (/ & &3.2980e-05_rb,3.7988e-05_rb,4.2459e-05_rb,4.3951e-05_rb,4.3847e-05_rb/) kbo(:,47, 3) = (/ & &2.7646e-05_rb,2.8723e-05_rb,3.2811e-05_rb,3.5391e-05_rb,3.6137e-05_rb/) kbo(:,48, 3) = (/ & &2.4543e-05_rb,2.1924e-05_rb,2.4598e-05_rb,2.7741e-05_rb,2.9339e-05_rb/) kbo(:,49, 3) = (/ & &2.2466e-05_rb,1.9218e-05_rb,1.8251e-05_rb,2.0876e-05_rb,2.3032e-05_rb/) kbo(:,50, 3) = (/ & &2.1181e-05_rb,1.7247e-05_rb,1.5253e-05_rb,1.5927e-05_rb,1.7960e-05_rb/) kbo(:,51, 3) = (/ & &2.0829e-05_rb,1.5682e-05_rb,1.3335e-05_rb,1.2152e-05_rb,1.3683e-05_rb/) kbo(:,52, 3) = (/ & &2.0195e-05_rb,1.5008e-05_rb,1.2032e-05_rb,1.0543e-05_rb,1.0211e-05_rb/) kbo(:,53, 3) = (/ & &1.9323e-05_rb,1.4642e-05_rb,1.1065e-05_rb,9.3359e-06_rb,8.4701e-06_rb/) kbo(:,54, 3) = (/ & &1.7666e-05_rb,1.4231e-05_rb,1.0596e-05_rb,8.3241e-06_rb,7.3928e-06_rb/) kbo(:,55, 3) = (/ & &1.5462e-05_rb,1.3265e-05_rb,1.0248e-05_rb,7.8075e-06_rb,6.5230e-06_rb/) kbo(:,56, 3) = (/ & &1.3370e-05_rb,1.2106e-05_rb,9.7995e-06_rb,7.4236e-06_rb,5.8878e-06_rb/) kbo(:,57, 3) = (/ & &1.1515e-05_rb,1.0653e-05_rb,9.2073e-06_rb,7.1981e-06_rb,5.4819e-06_rb/) kbo(:,58, 3) = (/ & &1.0034e-05_rb,9.2814e-06_rb,8.4358e-06_rb,6.8772e-06_rb,5.2130e-06_rb/) kbo(:,59, 3) = (/ & &8.4460e-06_rb,7.8198e-06_rb,7.3452e-06_rb,6.2331e-06_rb,4.7237e-06_rb/) kbo(:,13, 4) = (/ & &3.3587e-02_rb,4.0386e-02_rb,4.5135e-02_rb,4.6401e-02_rb,4.5805e-02_rb/) kbo(:,14, 4) = (/ & &3.1030e-02_rb,3.6513e-02_rb,3.9636e-02_rb,3.9291e-02_rb,3.8805e-02_rb/) kbo(:,15, 4) = (/ & &2.9952e-02_rb,3.3504e-02_rb,3.3526e-02_rb,3.3527e-02_rb,3.2785e-02_rb/) kbo(:,16, 4) = (/ & &2.7625e-02_rb,2.8337e-02_rb,2.8532e-02_rb,2.8121e-02_rb,2.7038e-02_rb/) kbo(:,17, 4) = (/ & &2.3797e-02_rb,2.4231e-02_rb,2.3927e-02_rb,2.3137e-02_rb,2.2675e-02_rb/) kbo(:,18, 4) = (/ & &2.0364e-02_rb,2.0218e-02_rb,1.9689e-02_rb,1.9353e-02_rb,1.9321e-02_rb/) kbo(:,19, 4) = (/ & &1.7135e-02_rb,1.6671e-02_rb,1.6414e-02_rb,1.6325e-02_rb,1.6362e-02_rb/) kbo(:,20, 4) = (/ & &1.4048e-02_rb,1.3836e-02_rb,1.3650e-02_rb,1.3725e-02_rb,1.3743e-02_rb/) kbo(:,21, 4) = (/ & &1.1598e-02_rb,1.1451e-02_rb,1.1386e-02_rb,1.1434e-02_rb,1.1536e-02_rb/) kbo(:,22, 4) = (/ & &9.5671e-03_rb,9.4431e-03_rb,9.4962e-03_rb,9.5565e-03_rb,9.6638e-03_rb/) kbo(:,23, 4) = (/ & &7.8733e-03_rb,7.8272e-03_rb,7.8608e-03_rb,8.0045e-03_rb,8.0429e-03_rb/) kbo(:,24, 4) = (/ & &6.4854e-03_rb,6.5239e-03_rb,6.5932e-03_rb,6.6847e-03_rb,6.6897e-03_rb/) kbo(:,25, 4) = (/ & &5.3475e-03_rb,5.3959e-03_rb,5.5055e-03_rb,5.5513e-03_rb,5.5516e-03_rb/) kbo(:,26, 4) = (/ & &4.4370e-03_rb,4.4984e-03_rb,4.5821e-03_rb,4.5978e-03_rb,4.6194e-03_rb/) kbo(:,27, 4) = (/ & &3.6654e-03_rb,3.7378e-03_rb,3.7830e-03_rb,3.7897e-03_rb,3.8209e-03_rb/) kbo(:,28, 4) = (/ & &3.0135e-03_rb,3.0852e-03_rb,3.1155e-03_rb,3.1198e-03_rb,3.1538e-03_rb/) kbo(:,29, 4) = (/ & &2.4690e-03_rb,2.5299e-03_rb,2.5457e-03_rb,2.5581e-03_rb,2.5884e-03_rb/) kbo(:,30, 4) = (/ & &2.0282e-03_rb,2.0645e-03_rb,2.0716e-03_rb,2.0943e-03_rb,2.1183e-03_rb/) kbo(:,31, 4) = (/ & &1.6532e-03_rb,1.6753e-03_rb,1.6810e-03_rb,1.7064e-03_rb,1.7271e-03_rb/) kbo(:,32, 4) = (/ & &1.3440e-03_rb,1.3610e-03_rb,1.3688e-03_rb,1.3929e-03_rb,1.4080e-03_rb/) kbo(:,33, 4) = (/ & &1.0937e-03_rb,1.1058e-03_rb,1.1183e-03_rb,1.1384e-03_rb,1.1495e-03_rb/) kbo(:,34, 4) = (/ & &8.9328e-04_rb,9.0340e-04_rb,9.1730e-04_rb,9.3209e-04_rb,9.4284e-04_rb/) kbo(:,35, 4) = (/ & &7.2895e-04_rb,7.3894e-04_rb,7.5120e-04_rb,7.6322e-04_rb,7.7389e-04_rb/) kbo(:,36, 4) = (/ & &5.9465e-04_rb,6.0388e-04_rb,6.1360e-04_rb,6.2477e-04_rb,6.3446e-04_rb/) kbo(:,37, 4) = (/ & &4.8509e-04_rb,4.9426e-04_rb,5.0234e-04_rb,5.1316e-04_rb,5.2248e-04_rb/) kbo(:,38, 4) = (/ & &3.9518e-04_rb,4.0486e-04_rb,4.1118e-04_rb,4.2126e-04_rb,4.3035e-04_rb/) kbo(:,39, 4) = (/ & &3.2206e-04_rb,3.3126e-04_rb,3.3692e-04_rb,3.4570e-04_rb,3.5386e-04_rb/) kbo(:,40, 4) = (/ & &2.6189e-04_rb,2.7140e-04_rb,2.7744e-04_rb,2.8454e-04_rb,2.9309e-04_rb/) kbo(:,41, 4) = (/ & &2.1513e-04_rb,2.2151e-04_rb,2.2843e-04_rb,2.3405e-04_rb,2.4235e-04_rb/) kbo(:,42, 4) = (/ & &1.7598e-04_rb,1.8130e-04_rb,1.8775e-04_rb,1.9283e-04_rb,2.0002e-04_rb/) kbo(:,43, 4) = (/ & &1.4391e-04_rb,1.4742e-04_rb,1.5366e-04_rb,1.5883e-04_rb,1.6416e-04_rb/) kbo(:,44, 4) = (/ & &1.1869e-04_rb,1.2058e-04_rb,1.2494e-04_rb,1.3042e-04_rb,1.3475e-04_rb/) kbo(:,45, 4) = (/ & &9.8053e-05_rb,9.8247e-05_rb,1.0155e-04_rb,1.0624e-04_rb,1.1079e-04_rb/) kbo(:,46, 4) = (/ & &8.0733e-05_rb,8.0988e-05_rb,8.2961e-05_rb,8.6570e-05_rb,9.0733e-05_rb/) kbo(:,47, 4) = (/ & &6.6646e-05_rb,6.6793e-05_rb,6.7614e-05_rb,7.0248e-05_rb,7.3658e-05_rb/) kbo(:,48, 4) = (/ & &5.5124e-05_rb,5.5074e-05_rb,5.5667e-05_rb,5.7150e-05_rb,5.9800e-05_rb/) kbo(:,49, 4) = (/ & &4.4694e-05_rb,4.5221e-05_rb,4.5769e-05_rb,4.6677e-05_rb,4.8625e-05_rb/) kbo(:,50, 4) = (/ & &3.5617e-05_rb,3.7343e-05_rb,3.7522e-05_rb,3.8384e-05_rb,3.9484e-05_rb/) kbo(:,51, 4) = (/ & &2.7917e-05_rb,3.0153e-05_rb,3.0833e-05_rb,3.1535e-05_rb,3.2403e-05_rb/) kbo(:,52, 4) = (/ & &2.1904e-05_rb,2.3837e-05_rb,2.5410e-05_rb,2.5925e-05_rb,2.6605e-05_rb/) kbo(:,53, 4) = (/ & &1.6636e-05_rb,1.9086e-05_rb,2.0539e-05_rb,2.1236e-05_rb,2.1831e-05_rb/) kbo(:,54, 4) = (/ & &1.2490e-05_rb,1.4743e-05_rb,1.6336e-05_rb,1.7546e-05_rb,1.7865e-05_rb/) kbo(:,55, 4) = (/ & &1.0189e-05_rb,1.1568e-05_rb,1.3196e-05_rb,1.4286e-05_rb,1.4740e-05_rb/) kbo(:,56, 4) = (/ & &9.0688e-06_rb,8.6690e-06_rb,1.0255e-05_rb,1.1493e-05_rb,1.2371e-05_rb/) kbo(:,57, 4) = (/ & &8.8593e-06_rb,6.9758e-06_rb,8.0033e-06_rb,9.3145e-06_rb,1.0058e-05_rb/) kbo(:,58, 4) = (/ & &8.9813e-06_rb,6.2718e-06_rb,5.9506e-06_rb,7.1169e-06_rb,8.0866e-06_rb/) kbo(:,59, 4) = (/ & &8.3077e-06_rb,5.6478e-06_rb,4.7582e-06_rb,5.5908e-06_rb,6.6051e-06_rb/) kbo(:,13, 5) = (/ & &8.1443e-02_rb,7.8686e-02_rb,7.8076e-02_rb,7.8298e-02_rb,8.0221e-02_rb/) kbo(:,14, 5) = (/ & &6.8138e-02_rb,6.7426e-02_rb,6.7266e-02_rb,6.8778e-02_rb,7.0029e-02_rb/) kbo(:,15, 5) = (/ & &5.7566e-02_rb,5.8181e-02_rb,6.0037e-02_rb,6.1077e-02_rb,6.2170e-02_rb/) kbo(:,16, 5) = (/ & &4.9602e-02_rb,5.1862e-02_rb,5.2830e-02_rb,5.3796e-02_rb,5.4837e-02_rb/) kbo(:,17, 5) = (/ & &4.4316e-02_rb,4.5504e-02_rb,4.6554e-02_rb,4.7427e-02_rb,4.7730e-02_rb/) kbo(:,18, 5) = (/ & &3.9127e-02_rb,4.0270e-02_rb,4.1019e-02_rb,4.1264e-02_rb,4.1372e-02_rb/) kbo(:,19, 5) = (/ & &3.4464e-02_rb,3.5381e-02_rb,3.5731e-02_rb,3.5860e-02_rb,3.6031e-02_rb/) kbo(:,20, 5) = (/ & &2.9866e-02_rb,3.0433e-02_rb,3.0697e-02_rb,3.0719e-02_rb,3.0767e-02_rb/) kbo(:,21, 5) = (/ & &2.5526e-02_rb,2.5898e-02_rb,2.6044e-02_rb,2.5989e-02_rb,2.5913e-02_rb/) kbo(:,22, 5) = (/ & &2.1617e-02_rb,2.1821e-02_rb,2.1825e-02_rb,2.1764e-02_rb,2.1636e-02_rb/) kbo(:,23, 5) = (/ & &1.8178e-02_rb,1.8256e-02_rb,1.8221e-02_rb,1.8126e-02_rb,1.8025e-02_rb/) kbo(:,24, 5) = (/ & &1.5221e-02_rb,1.5229e-02_rb,1.5185e-02_rb,1.5079e-02_rb,1.4988e-02_rb/) kbo(:,25, 5) = (/ & &1.2672e-02_rb,1.2670e-02_rb,1.2609e-02_rb,1.2518e-02_rb,1.2439e-02_rb/) kbo(:,26, 5) = (/ & &1.0521e-02_rb,1.0503e-02_rb,1.0444e-02_rb,1.0375e-02_rb,1.0305e-02_rb/) kbo(:,27, 5) = (/ & &8.6769e-03_rb,8.6518e-03_rb,8.6102e-03_rb,8.5574e-03_rb,8.4970e-03_rb/) kbo(:,28, 5) = (/ & &7.1348e-03_rb,7.1122e-03_rb,7.0812e-03_rb,7.0380e-03_rb,6.9899e-03_rb/) kbo(:,29, 5) = (/ & &5.8206e-03_rb,5.8023e-03_rb,5.7788e-03_rb,5.7535e-03_rb,5.7174e-03_rb/) kbo(:,30, 5) = (/ & &4.7381e-03_rb,4.7263e-03_rb,4.7093e-03_rb,4.6856e-03_rb,4.6651e-03_rb/) kbo(:,31, 5) = (/ & &3.8310e-03_rb,3.8249e-03_rb,3.8179e-03_rb,3.8007e-03_rb,3.7880e-03_rb/) kbo(:,32, 5) = (/ & &3.1058e-03_rb,3.1004e-03_rb,3.0969e-03_rb,3.0876e-03_rb,3.0842e-03_rb/) kbo(:,33, 5) = (/ & &2.5170e-03_rb,2.5165e-03_rb,2.5146e-03_rb,2.5120e-03_rb,2.5162e-03_rb/) kbo(:,34, 5) = (/ & &2.0509e-03_rb,2.0525e-03_rb,2.0528e-03_rb,2.0549e-03_rb,2.0638e-03_rb/) kbo(:,35, 5) = (/ & &1.6738e-03_rb,1.6767e-03_rb,1.6787e-03_rb,1.6855e-03_rb,1.6962e-03_rb/) kbo(:,36, 5) = (/ & &1.3688e-03_rb,1.3726e-03_rb,1.3769e-03_rb,1.3854e-03_rb,1.3974e-03_rb/) kbo(:,37, 5) = (/ & &1.1244e-03_rb,1.1287e-03_rb,1.1344e-03_rb,1.1436e-03_rb,1.1555e-03_rb/) kbo(:,38, 5) = (/ & &9.2354e-04_rb,9.2789e-04_rb,9.3393e-04_rb,9.4440e-04_rb,9.5553e-04_rb/) kbo(:,39, 5) = (/ & &7.5825e-04_rb,7.6213e-04_rb,7.6943e-04_rb,7.7957e-04_rb,7.9082e-04_rb/) kbo(:,40, 5) = (/ & &6.2483e-04_rb,6.2933e-04_rb,6.3674e-04_rb,6.4631e-04_rb,6.5698e-04_rb/) kbo(:,41, 5) = (/ & &5.1520e-04_rb,5.2035e-04_rb,5.2751e-04_rb,5.3662e-04_rb,5.4646e-04_rb/) kbo(:,42, 5) = (/ & &4.2480e-04_rb,4.3031e-04_rb,4.3691e-04_rb,4.4575e-04_rb,4.5526e-04_rb/) kbo(:,43, 5) = (/ & &3.5001e-04_rb,3.5557e-04_rb,3.6220e-04_rb,3.7053e-04_rb,3.7981e-04_rb/) kbo(:,44, 5) = (/ & &2.8750e-04_rb,2.9363e-04_rb,3.0042e-04_rb,3.0784e-04_rb,3.1671e-04_rb/) kbo(:,45, 5) = (/ & &2.3558e-04_rb,2.4233e-04_rb,2.4882e-04_rb,2.5588e-04_rb,2.6409e-04_rb/) kbo(:,46, 5) = (/ & &1.9252e-04_rb,1.9920e-04_rb,2.0547e-04_rb,2.1209e-04_rb,2.1984e-04_rb/) kbo(:,47, 5) = (/ & &1.5646e-04_rb,1.6321e-04_rb,1.6931e-04_rb,1.7555e-04_rb,1.8250e-04_rb/) kbo(:,48, 5) = (/ & &1.2570e-04_rb,1.3295e-04_rb,1.3900e-04_rb,1.4479e-04_rb,1.5118e-04_rb/) kbo(:,49, 5) = (/ & &1.0046e-04_rb,1.0778e-04_rb,1.1356e-04_rb,1.1908e-04_rb,1.2499e-04_rb/) kbo(:,50, 5) = (/ & &8.0435e-05_rb,8.6489e-05_rb,9.2769e-05_rb,9.7911e-05_rb,1.0325e-04_rb/) kbo(:,51, 5) = (/ & &6.3458e-05_rb,6.9460e-05_rb,7.5498e-05_rb,8.0303e-05_rb,8.5194e-05_rb/) kbo(:,52, 5) = (/ & &4.9865e-05_rb,5.5730e-05_rb,6.0501e-05_rb,6.5586e-05_rb,7.0113e-05_rb/) kbo(:,53, 5) = (/ & &3.9952e-05_rb,4.3532e-05_rb,4.8481e-05_rb,5.3147e-05_rb,5.7399e-05_rb/) kbo(:,54, 5) = (/ & &3.2880e-05_rb,3.4587e-05_rb,3.8794e-05_rb,4.2722e-05_rb,4.7074e-05_rb/) kbo(:,55, 5) = (/ & &2.7120e-05_rb,2.7717e-05_rb,3.0553e-05_rb,3.4428e-05_rb,3.8350e-05_rb/) kbo(:,56, 5) = (/ & &2.2127e-05_rb,2.2850e-05_rb,2.4431e-05_rb,2.7545e-05_rb,3.0669e-05_rb/) kbo(:,57, 5) = (/ & &1.8252e-05_rb,1.8866e-05_rb,1.9461e-05_rb,2.1577e-05_rb,2.4721e-05_rb/) kbo(:,58, 5) = (/ & &1.4337e-05_rb,1.5384e-05_rb,1.6084e-05_rb,1.7424e-05_rb,1.9750e-05_rb/) kbo(:,59, 5) = (/ & &1.1278e-05_rb,1.2651e-05_rb,1.3368e-05_rb,1.4398e-05_rb,1.6235e-05_rb/) kbo(:,13, 6) = (/ & &1.8817e-01_rb,1.9206e-01_rb,1.9341e-01_rb,1.9316e-01_rb,1.9216e-01_rb/) kbo(:,14, 6) = (/ & &1.5839e-01_rb,1.6013e-01_rb,1.6098e-01_rb,1.6083e-01_rb,1.6026e-01_rb/) kbo(:,15, 6) = (/ & &1.3908e-01_rb,1.4022e-01_rb,1.4029e-01_rb,1.3949e-01_rb,1.3862e-01_rb/) kbo(:,16, 6) = (/ & &1.2016e-01_rb,1.2041e-01_rb,1.1995e-01_rb,1.1931e-01_rb,1.1861e-01_rb/) kbo(:,17, 6) = (/ & &1.0302e-01_rb,1.0297e-01_rb,1.0263e-01_rb,1.0230e-01_rb,1.0181e-01_rb/) kbo(:,18, 6) = (/ & &8.8231e-02_rb,8.8161e-02_rb,8.7913e-02_rb,8.7602e-02_rb,8.7188e-02_rb/) kbo(:,19, 6) = (/ & &7.6358e-02_rb,7.6259e-02_rb,7.5975e-02_rb,7.5746e-02_rb,7.5236e-02_rb/) kbo(:,20, 6) = (/ & &6.5716e-02_rb,6.5541e-02_rb,6.5322e-02_rb,6.5232e-02_rb,6.4993e-02_rb/) kbo(:,21, 6) = (/ & &5.5986e-02_rb,5.5897e-02_rb,5.5927e-02_rb,5.6065e-02_rb,5.6062e-02_rb/) kbo(:,22, 6) = (/ & &4.7367e-02_rb,4.7462e-02_rb,4.7736e-02_rb,4.7820e-02_rb,4.7753e-02_rb/) kbo(:,23, 6) = (/ & &4.0099e-02_rb,4.0361e-02_rb,4.0481e-02_rb,4.0442e-02_rb,4.0254e-02_rb/) kbo(:,24, 6) = (/ & &3.3998e-02_rb,3.4135e-02_rb,3.4123e-02_rb,3.4025e-02_rb,3.3829e-02_rb/) kbo(:,25, 6) = (/ & &2.8658e-02_rb,2.8658e-02_rb,2.8582e-02_rb,2.8475e-02_rb,2.8305e-02_rb/) kbo(:,26, 6) = (/ & &2.3955e-02_rb,2.3909e-02_rb,2.3836e-02_rb,2.3748e-02_rb,2.3606e-02_rb/) kbo(:,27, 6) = (/ & &1.9889e-02_rb,1.9852e-02_rb,1.9780e-02_rb,1.9709e-02_rb,1.9615e-02_rb/) kbo(:,28, 6) = (/ & &1.6444e-02_rb,1.6406e-02_rb,1.6372e-02_rb,1.6318e-02_rb,1.6245e-02_rb/) kbo(:,29, 6) = (/ & &1.3491e-02_rb,1.3473e-02_rb,1.3456e-02_rb,1.3404e-02_rb,1.3356e-02_rb/) kbo(:,30, 6) = (/ & &1.1049e-02_rb,1.1039e-02_rb,1.1036e-02_rb,1.1011e-02_rb,1.0973e-02_rb/) kbo(:,31, 6) = (/ & &9.0143e-03_rb,9.0192e-03_rb,9.0194e-03_rb,9.0134e-03_rb,9.0031e-03_rb/) kbo(:,32, 6) = (/ & &7.3665e-03_rb,7.3853e-03_rb,7.3885e-03_rb,7.3955e-03_rb,7.4067e-03_rb/) kbo(:,33, 6) = (/ & &6.0271e-03_rb,6.0462e-03_rb,6.0622e-03_rb,6.0836e-03_rb,6.1045e-03_rb/) kbo(:,34, 6) = (/ & &4.9546e-03_rb,4.9811e-03_rb,5.0047e-03_rb,5.0339e-03_rb,5.0627e-03_rb/) kbo(:,35, 6) = (/ & &4.0822e-03_rb,4.1121e-03_rb,4.1424e-03_rb,4.1730e-03_rb,4.2061e-03_rb/) kbo(:,36, 6) = (/ & &3.3681e-03_rb,3.3993e-03_rb,3.4334e-03_rb,3.4635e-03_rb,3.4987e-03_rb/) kbo(:,37, 6) = (/ & &2.7875e-03_rb,2.8195e-03_rb,2.8505e-03_rb,2.8836e-03_rb,2.9180e-03_rb/) kbo(:,38, 6) = (/ & &2.3080e-03_rb,2.3382e-03_rb,2.3688e-03_rb,2.3992e-03_rb,2.4337e-03_rb/) kbo(:,39, 6) = (/ & &1.9086e-03_rb,1.9391e-03_rb,1.9678e-03_rb,1.9967e-03_rb,2.0294e-03_rb/) kbo(:,40, 6) = (/ & &1.5841e-03_rb,1.6128e-03_rb,1.6390e-03_rb,1.6667e-03_rb,1.6980e-03_rb/) kbo(:,41, 6) = (/ & &1.3139e-03_rb,1.3408e-03_rb,1.3651e-03_rb,1.3913e-03_rb,1.4213e-03_rb/) kbo(:,42, 6) = (/ & &1.0897e-03_rb,1.1135e-03_rb,1.1369e-03_rb,1.1616e-03_rb,1.1887e-03_rb/) kbo(:,43, 6) = (/ & &9.0311e-04_rb,9.2481e-04_rb,9.4572e-04_rb,9.6914e-04_rb,9.9399e-04_rb/) kbo(:,44, 6) = (/ & &7.4776e-04_rb,7.6718e-04_rb,7.8637e-04_rb,8.0787e-04_rb,8.3044e-04_rb/) kbo(:,45, 6) = (/ & &6.1863e-04_rb,6.3626e-04_rb,6.5392e-04_rb,6.7285e-04_rb,6.9425e-04_rb/) kbo(:,46, 6) = (/ & &5.1188e-04_rb,5.2759e-04_rb,5.4354e-04_rb,5.6054e-04_rb,5.8050e-04_rb/) kbo(:,47, 6) = (/ & &4.2255e-04_rb,4.3715e-04_rb,4.5173e-04_rb,4.6695e-04_rb,4.8462e-04_rb/) kbo(:,48, 6) = (/ & &3.4819e-04_rb,3.6156e-04_rb,3.7458e-04_rb,3.8864e-04_rb,4.0475e-04_rb/) kbo(:,49, 6) = (/ & &2.8602e-04_rb,2.9814e-04_rb,3.1015e-04_rb,3.2283e-04_rb,3.3769e-04_rb/) kbo(:,50, 6) = (/ & &2.3475e-04_rb,2.4603e-04_rb,2.5676e-04_rb,2.6851e-04_rb,2.8207e-04_rb/) kbo(:,51, 6) = (/ & &1.9267e-04_rb,2.0293e-04_rb,2.1257e-04_rb,2.2327e-04_rb,2.3584e-04_rb/) kbo(:,52, 6) = (/ & &1.5736e-04_rb,1.6664e-04_rb,1.7558e-04_rb,1.8519e-04_rb,1.9650e-04_rb/) kbo(:,53, 6) = (/ & &1.2741e-04_rb,1.3627e-04_rb,1.4450e-04_rb,1.5309e-04_rb,1.6331e-04_rb/) kbo(:,54, 6) = (/ & &1.0368e-04_rb,1.1186e-04_rb,1.1942e-04_rb,1.2720e-04_rb,1.3642e-04_rb/) kbo(:,55, 6) = (/ & &8.4018e-05_rb,9.1900e-05_rb,9.8814e-05_rb,1.0595e-04_rb,1.1419e-04_rb/) kbo(:,56, 6) = (/ & &6.7644e-05_rb,7.5107e-05_rb,8.1537e-05_rb,8.8130e-05_rb,9.5553e-05_rb/) kbo(:,57, 6) = (/ & &5.3052e-05_rb,6.0800e-05_rb,6.7049e-05_rb,7.3153e-05_rb,7.9865e-05_rb/) kbo(:,58, 6) = (/ & &4.1297e-05_rb,4.9020e-05_rb,5.4922e-05_rb,6.0589e-05_rb,6.6753e-05_rb/) kbo(:,59, 6) = (/ & &3.4006e-05_rb,4.0647e-05_rb,4.6127e-05_rb,5.1418e-05_rb,5.7293e-05_rb/) kbo(:,13, 7) = (/ & &5.2204e-01_rb,5.1758e-01_rb,5.1182e-01_rb,5.0530e-01_rb,4.9787e-01_rb/) kbo(:,14, 7) = (/ & &4.3225e-01_rb,4.2797e-01_rb,4.2283e-01_rb,4.1695e-01_rb,4.1054e-01_rb/) kbo(:,15, 7) = (/ & &3.5438e-01_rb,3.5034e-01_rb,3.4544e-01_rb,3.4060e-01_rb,3.3555e-01_rb/) kbo(:,16, 7) = (/ & &3.0255e-01_rb,2.9825e-01_rb,2.9421e-01_rb,2.8975e-01_rb,2.8561e-01_rb/) kbo(:,17, 7) = (/ & &2.5944e-01_rb,2.5596e-01_rb,2.5201e-01_rb,2.4828e-01_rb,2.4466e-01_rb/) kbo(:,18, 7) = (/ & &2.2110e-01_rb,2.1760e-01_rb,2.1435e-01_rb,2.1143e-01_rb,2.0904e-01_rb/) kbo(:,19, 7) = (/ & &1.8864e-01_rb,1.8589e-01_rb,1.8343e-01_rb,1.8143e-01_rb,1.7990e-01_rb/) kbo(:,20, 7) = (/ & &1.6121e-01_rb,1.5932e-01_rb,1.5784e-01_rb,1.5634e-01_rb,1.5506e-01_rb/) kbo(:,21, 7) = (/ & &1.3878e-01_rb,1.3751e-01_rb,1.3632e-01_rb,1.3482e-01_rb,1.3362e-01_rb/) kbo(:,22, 7) = (/ & &1.1962e-01_rb,1.1845e-01_rb,1.1744e-01_rb,1.1632e-01_rb,1.1539e-01_rb/) kbo(:,23, 7) = (/ & &1.0245e-01_rb,1.0173e-01_rb,1.0097e-01_rb,1.0038e-01_rb,9.9933e-02_rb/) kbo(:,24, 7) = (/ & &8.7666e-02_rb,8.7158e-02_rb,8.6968e-02_rb,8.6971e-02_rb,8.7255e-02_rb/) kbo(:,25, 7) = (/ & &7.4640e-02_rb,7.4734e-02_rb,7.5053e-02_rb,7.5269e-02_rb,7.5390e-02_rb/) kbo(:,26, 7) = (/ & &6.3735e-02_rb,6.4061e-02_rb,6.4333e-02_rb,6.4421e-02_rb,6.4368e-02_rb/) kbo(:,27, 7) = (/ & &5.4126e-02_rb,5.4429e-02_rb,5.4564e-02_rb,5.4521e-02_rb,5.4525e-02_rb/) kbo(:,28, 7) = (/ & &4.5724e-02_rb,4.5897e-02_rb,4.5948e-02_rb,4.5981e-02_rb,4.6016e-02_rb/) kbo(:,29, 7) = (/ & &3.8172e-02_rb,3.8308e-02_rb,3.8382e-02_rb,3.8489e-02_rb,3.8585e-02_rb/) kbo(:,30, 7) = (/ & &3.1718e-02_rb,3.1883e-02_rb,3.2020e-02_rb,3.2173e-02_rb,3.2316e-02_rb/) kbo(:,31, 7) = (/ & &2.6252e-02_rb,2.6436e-02_rb,2.6597e-02_rb,2.6780e-02_rb,2.6950e-02_rb/) kbo(:,32, 7) = (/ & &2.1754e-02_rb,2.1941e-02_rb,2.2153e-02_rb,2.2326e-02_rb,2.2517e-02_rb/) kbo(:,33, 7) = (/ & &1.8085e-02_rb,1.8277e-02_rb,1.8461e-02_rb,1.8652e-02_rb,1.8849e-02_rb/) kbo(:,34, 7) = (/ & &1.5122e-02_rb,1.5298e-02_rb,1.5478e-02_rb,1.5652e-02_rb,1.5844e-02_rb/) kbo(:,35, 7) = (/ & &1.2625e-02_rb,1.2802e-02_rb,1.2974e-02_rb,1.3152e-02_rb,1.3333e-02_rb/) kbo(:,36, 7) = (/ & &1.0557e-02_rb,1.0724e-02_rb,1.0878e-02_rb,1.1051e-02_rb,1.1225e-02_rb/) kbo(:,37, 7) = (/ & &8.8496e-03_rb,9.0081e-03_rb,9.1627e-03_rb,9.3269e-03_rb,9.4871e-03_rb/) kbo(:,38, 7) = (/ & &7.4071e-03_rb,7.5543e-03_rb,7.6993e-03_rb,7.8541e-03_rb,8.0170e-03_rb/) kbo(:,39, 7) = (/ & &6.1854e-03_rb,6.3247e-03_rb,6.4677e-03_rb,6.6094e-03_rb,6.7526e-03_rb/) kbo(:,40, 7) = (/ & &5.1922e-03_rb,5.3234e-03_rb,5.4554e-03_rb,5.5916e-03_rb,5.7266e-03_rb/) kbo(:,41, 7) = (/ & &4.3585e-03_rb,4.4819e-03_rb,4.6086e-03_rb,4.7343e-03_rb,4.8561e-03_rb/) kbo(:,42, 7) = (/ & &3.6533e-03_rb,3.7711e-03_rb,3.8861e-03_rb,3.9990e-03_rb,4.1168e-03_rb/) kbo(:,43, 7) = (/ & &3.0584e-03_rb,3.1667e-03_rb,3.2727e-03_rb,3.3777e-03_rb,3.4881e-03_rb/) kbo(:,44, 7) = (/ & &2.5534e-03_rb,2.6526e-03_rb,2.7492e-03_rb,2.8491e-03_rb,2.9548e-03_rb/) kbo(:,45, 7) = (/ & &2.1284e-03_rb,2.2160e-03_rb,2.3074e-03_rb,2.3986e-03_rb,2.4950e-03_rb/) kbo(:,46, 7) = (/ & &1.7695e-03_rb,1.8482e-03_rb,1.9316e-03_rb,2.0146e-03_rb,2.1010e-03_rb/) kbo(:,47, 7) = (/ & &1.4673e-03_rb,1.5398e-03_rb,1.6138e-03_rb,1.6894e-03_rb,1.7692e-03_rb/) kbo(:,48, 7) = (/ & &1.2142e-03_rb,1.2798e-03_rb,1.3450e-03_rb,1.4129e-03_rb,1.4833e-03_rb/) kbo(:,49, 7) = (/ & &1.0007e-03_rb,1.0578e-03_rb,1.1143e-03_rb,1.1757e-03_rb,1.2387e-03_rb/) kbo(:,50, 7) = (/ & &8.2795e-04_rb,8.7794e-04_rb,9.2798e-04_rb,9.8346e-04_rb,1.0399e-03_rb/) kbo(:,51, 7) = (/ & &6.8604e-04_rb,7.3011e-04_rb,7.7427e-04_rb,8.2321e-04_rb,8.7374e-04_rb/) kbo(:,52, 7) = (/ & &5.6660e-04_rb,6.0603e-04_rb,6.4555e-04_rb,6.8763e-04_rb,7.3282e-04_rb/) kbo(:,53, 7) = (/ & &4.6575e-04_rb,5.0073e-04_rb,5.3612e-04_rb,5.7296e-04_rb,6.1258e-04_rb/) kbo(:,54, 7) = (/ & &3.8679e-04_rb,4.1843e-04_rb,4.5022e-04_rb,4.8415e-04_rb,5.2013e-04_rb/) kbo(:,55, 7) = (/ & &3.2310e-04_rb,3.5117e-04_rb,3.8038e-04_rb,4.1226e-04_rb,4.4542e-04_rb/) kbo(:,56, 7) = (/ & &2.6895e-04_rb,2.9441e-04_rb,3.2135e-04_rb,3.5045e-04_rb,3.8084e-04_rb/) kbo(:,57, 7) = (/ & &2.2346e-04_rb,2.4644e-04_rb,2.7077e-04_rb,2.9691e-04_rb,3.2529e-04_rb/) kbo(:,58, 7) = (/ & &1.8566e-04_rb,2.0641e-04_rb,2.2834e-04_rb,2.5256e-04_rb,2.7894e-04_rb/) kbo(:,59, 7) = (/ & &1.5949e-04_rb,1.7859e-04_rb,1.9903e-04_rb,2.2176e-04_rb,2.4718e-04_rb/) kbo(:,13, 8) = (/ & &1.7932e+00_rb,1.7598e+00_rb,1.7272e+00_rb,1.6957e+00_rb,1.6643e+00_rb/) kbo(:,14, 8) = (/ & &1.5024e+00_rb,1.4748e+00_rb,1.4482e+00_rb,1.4213e+00_rb,1.3943e+00_rb/) kbo(:,15, 8) = (/ & &1.2493e+00_rb,1.2269e+00_rb,1.2042e+00_rb,1.1821e+00_rb,1.1593e+00_rb/) kbo(:,16, 8) = (/ & &1.0236e+00_rb,1.0050e+00_rb,9.8683e-01_rb,9.6754e-01_rb,9.4805e-01_rb/) kbo(:,17, 8) = (/ & &8.3764e-01_rb,8.2167e-01_rb,8.0558e-01_rb,7.8848e-01_rb,7.7231e-01_rb/) kbo(:,18, 8) = (/ & &7.0049e-01_rb,6.8715e-01_rb,6.7310e-01_rb,6.5885e-01_rb,6.4482e-01_rb/) kbo(:,19, 8) = (/ & &6.0067e-01_rb,5.8909e-01_rb,5.7714e-01_rb,5.6481e-01_rb,5.5329e-01_rb/) kbo(:,20, 8) = (/ & &5.1436e-01_rb,5.0417e-01_rb,4.9351e-01_rb,4.8348e-01_rb,4.7495e-01_rb/) kbo(:,21, 8) = (/ & &4.3696e-01_rb,4.2847e-01_rb,4.2014e-01_rb,4.1292e-01_rb,4.0709e-01_rb/) kbo(:,22, 8) = (/ & &3.7052e-01_rb,3.6397e-01_rb,3.5765e-01_rb,3.5323e-01_rb,3.4919e-01_rb/) kbo(:,23, 8) = (/ & &3.1534e-01_rb,3.1049e-01_rb,3.0630e-01_rb,3.0316e-01_rb,3.0035e-01_rb/) kbo(:,24, 8) = (/ & &2.7112e-01_rb,2.6740e-01_rb,2.6459e-01_rb,2.6223e-01_rb,2.5988e-01_rb/) kbo(:,25, 8) = (/ & &2.3380e-01_rb,2.3133e-01_rb,2.2943e-01_rb,2.2772e-01_rb,2.2653e-01_rb/) kbo(:,26, 8) = (/ & &2.0236e-01_rb,2.0088e-01_rb,1.9954e-01_rb,1.9878e-01_rb,1.9870e-01_rb/) kbo(:,27, 8) = (/ & &1.7470e-01_rb,1.7394e-01_rb,1.7356e-01_rb,1.7393e-01_rb,1.7411e-01_rb/) kbo(:,28, 8) = (/ & &1.5024e-01_rb,1.5047e-01_rb,1.5098e-01_rb,1.5164e-01_rb,1.5243e-01_rb/) kbo(:,29, 8) = (/ & &1.2816e-01_rb,1.2887e-01_rb,1.2996e-01_rb,1.3066e-01_rb,1.3197e-01_rb/) kbo(:,30, 8) = (/ & &1.0887e-01_rb,1.0998e-01_rb,1.1099e-01_rb,1.1227e-01_rb,1.1365e-01_rb/) kbo(:,31, 8) = (/ & &9.1656e-02_rb,9.2754e-02_rb,9.3840e-02_rb,9.5163e-02_rb,9.6499e-02_rb/) kbo(:,32, 8) = (/ & &7.7165e-02_rb,7.8228e-02_rb,7.9327e-02_rb,8.0584e-02_rb,8.1883e-02_rb/) kbo(:,33, 8) = (/ & &6.4796e-02_rb,6.5863e-02_rb,6.6915e-02_rb,6.7986e-02_rb,6.9105e-02_rb/) kbo(:,34, 8) = (/ & &5.4901e-02_rb,5.5964e-02_rb,5.6945e-02_rb,5.8000e-02_rb,5.9045e-02_rb/) kbo(:,35, 8) = (/ & &4.6607e-02_rb,4.7594e-02_rb,4.8499e-02_rb,4.9452e-02_rb,5.0386e-02_rb/) kbo(:,36, 8) = (/ & &3.9577e-02_rb,4.0492e-02_rb,4.1341e-02_rb,4.2242e-02_rb,4.3090e-02_rb/) kbo(:,37, 8) = (/ & &3.3790e-02_rb,3.4662e-02_rb,3.5486e-02_rb,3.6314e-02_rb,3.7168e-02_rb/) kbo(:,38, 8) = (/ & &2.8754e-02_rb,2.9559e-02_rb,3.0387e-02_rb,3.1137e-02_rb,3.1929e-02_rb/) kbo(:,39, 8) = (/ & &2.4394e-02_rb,2.5115e-02_rb,2.5838e-02_rb,2.6544e-02_rb,2.7274e-02_rb/) kbo(:,40, 8) = (/ & &2.0920e-02_rb,2.1659e-02_rb,2.2398e-02_rb,2.3092e-02_rb,2.3784e-02_rb/) kbo(:,41, 8) = (/ & &1.7960e-02_rb,1.8686e-02_rb,1.9408e-02_rb,2.0118e-02_rb,2.0798e-02_rb/) kbo(:,42, 8) = (/ & &1.5382e-02_rb,1.6080e-02_rb,1.6764e-02_rb,1.7451e-02_rb,1.8100e-02_rb/) kbo(:,43, 8) = (/ & &1.3156e-02_rb,1.3822e-02_rb,1.4465e-02_rb,1.5132e-02_rb,1.5767e-02_rb/) kbo(:,44, 8) = (/ & &1.1236e-02_rb,1.1847e-02_rb,1.2471e-02_rb,1.3074e-02_rb,1.3675e-02_rb/) kbo(:,45, 8) = (/ & &9.5475e-03_rb,1.0122e-02_rb,1.0686e-02_rb,1.1243e-02_rb,1.1794e-02_rb/) kbo(:,46, 8) = (/ & &8.0771e-03_rb,8.6018e-03_rb,9.1254e-03_rb,9.6411e-03_rb,1.0156e-02_rb/) kbo(:,47, 8) = (/ & &6.8185e-03_rb,7.3016e-03_rb,7.7913e-03_rb,8.2730e-03_rb,8.7590e-03_rb/) kbo(:,48, 8) = (/ & &5.7132e-03_rb,6.1559e-03_rb,6.5990e-03_rb,7.0467e-03_rb,7.5035e-03_rb/) kbo(:,49, 8) = (/ & &4.7309e-03_rb,5.1282e-03_rb,5.5334e-03_rb,5.9379e-03_rb,6.3413e-03_rb/) kbo(:,50, 8) = (/ & &3.9545e-03_rb,4.3092e-03_rb,4.6836e-03_rb,5.0555e-03_rb,5.4339e-03_rb/) kbo(:,51, 8) = (/ & &3.3094e-03_rb,3.6354e-03_rb,3.9810e-03_rb,4.3245e-03_rb,4.6768e-03_rb/) kbo(:,52, 8) = (/ & &2.7556e-03_rb,3.0488e-03_rb,3.3581e-03_rb,3.6757e-03_rb,3.9978e-03_rb/) kbo(:,53, 8) = (/ & &2.2741e-03_rb,2.5328e-03_rb,2.8070e-03_rb,3.0901e-03_rb,3.3837e-03_rb/) kbo(:,54, 8) = (/ & &1.9244e-03_rb,2.1630e-03_rb,2.4199e-03_rb,2.6919e-03_rb,2.9670e-03_rb/) kbo(:,55, 8) = (/ & &1.6527e-03_rb,1.8750e-03_rb,2.1244e-03_rb,2.3895e-03_rb,2.6621e-03_rb/) kbo(:,56, 8) = (/ & &1.4187e-03_rb,1.6262e-03_rb,1.8617e-03_rb,2.1120e-03_rb,2.3834e-03_rb/) kbo(:,57, 8) = (/ & &1.2123e-03_rb,1.4102e-03_rb,1.6308e-03_rb,1.8701e-03_rb,2.1361e-03_rb/) kbo(:,58, 8) = (/ & &1.0428e-03_rb,1.2269e-03_rb,1.4357e-03_rb,1.6692e-03_rb,1.9342e-03_rb/) kbo(:,59, 8) = (/ & &9.5774e-04_rb,1.1485e-03_rb,1.3717e-03_rb,1.6313e-03_rb,1.9270e-03_rb/) kbo(:,13, 9) = (/ & &1.0743e+01_rb,1.0581e+01_rb,1.0416e+01_rb,1.0238e+01_rb,1.0057e+01_rb/) kbo(:,14, 9) = (/ & &9.3266e+00_rb,9.1890e+00_rb,9.0401e+00_rb,8.8785e+00_rb,8.7093e+00_rb/) kbo(:,15, 9) = (/ & &8.0329e+00_rb,7.9105e+00_rb,7.7721e+00_rb,7.6225e+00_rb,7.4769e+00_rb/) kbo(:,16, 9) = (/ & &6.8686e+00_rb,6.7530e+00_rb,6.6275e+00_rb,6.5036e+00_rb,6.3858e+00_rb/) kbo(:,17, 9) = (/ & &5.8249e+00_rb,5.7232e+00_rb,5.6209e+00_rb,5.5225e+00_rb,5.4281e+00_rb/) kbo(:,18, 9) = (/ & &4.8929e+00_rb,4.8094e+00_rb,4.7279e+00_rb,4.6483e+00_rb,4.5724e+00_rb/) kbo(:,19, 9) = (/ & &4.0706e+00_rb,4.0042e+00_rb,3.9380e+00_rb,3.8751e+00_rb,3.8145e+00_rb/) kbo(:,20, 9) = (/ & &3.3806e+00_rb,3.3267e+00_rb,3.2749e+00_rb,3.2247e+00_rb,3.1746e+00_rb/) kbo(:,21, 9) = (/ & &2.8074e+00_rb,2.7644e+00_rb,2.7235e+00_rb,2.6821e+00_rb,2.6407e+00_rb/) kbo(:,22, 9) = (/ & &2.3283e+00_rb,2.2955e+00_rb,2.2616e+00_rb,2.2266e+00_rb,2.1957e+00_rb/) kbo(:,23, 9) = (/ & &1.9321e+00_rb,1.9042e+00_rb,1.8758e+00_rb,1.8494e+00_rb,1.8261e+00_rb/) kbo(:,24, 9) = (/ & &1.6234e+00_rb,1.5933e+00_rb,1.5660e+00_rb,1.5420e+00_rb,1.5232e+00_rb/) kbo(:,25, 9) = (/ & &1.3980e+00_rb,1.3704e+00_rb,1.3436e+00_rb,1.3210e+00_rb,1.3008e+00_rb/) kbo(:,26, 9) = (/ & &1.2106e+00_rb,1.1883e+00_rb,1.1672e+00_rb,1.1488e+00_rb,1.1330e+00_rb/) kbo(:,27, 9) = (/ & &1.0466e+00_rb,1.0297e+00_rb,1.0139e+00_rb,1.0016e+00_rb,9.9022e-01_rb/) kbo(:,28, 9) = (/ & &9.0567e-01_rb,8.9244e-01_rb,8.8275e-01_rb,8.7361e-01_rb,8.6722e-01_rb/) kbo(:,29, 9) = (/ & &7.7743e-01_rb,7.6923e-01_rb,7.6234e-01_rb,7.5840e-01_rb,7.5702e-01_rb/) kbo(:,30, 9) = (/ & &6.6693e-01_rb,6.6196e-01_rb,6.5810e-01_rb,6.5663e-01_rb,6.5785e-01_rb/) kbo(:,31, 9) = (/ & &5.6777e-01_rb,5.6527e-01_rb,5.6420e-01_rb,5.6593e-01_rb,5.6662e-01_rb/) kbo(:,32, 9) = (/ & &4.8384e-01_rb,4.8324e-01_rb,4.8562e-01_rb,4.8803e-01_rb,4.8996e-01_rb/) kbo(:,33, 9) = (/ & &4.1137e-01_rb,4.1406e-01_rb,4.1751e-01_rb,4.2081e-01_rb,4.2550e-01_rb/) kbo(:,34, 9) = (/ & &3.5416e-01_rb,3.5806e-01_rb,3.6166e-01_rb,3.6664e-01_rb,3.7277e-01_rb/) kbo(:,35, 9) = (/ & &3.0554e-01_rb,3.0948e-01_rb,3.1424e-01_rb,3.1976e-01_rb,3.2676e-01_rb/) kbo(:,36, 9) = (/ & &2.6418e-01_rb,2.6871e-01_rb,2.7383e-01_rb,2.8027e-01_rb,2.8707e-01_rb/) kbo(:,37, 9) = (/ & &2.2969e-01_rb,2.3421e-01_rb,2.3975e-01_rb,2.4624e-01_rb,2.5310e-01_rb/) kbo(:,38, 9) = (/ & &1.9950e-01_rb,2.0421e-01_rb,2.0978e-01_rb,2.1651e-01_rb,2.2302e-01_rb/) kbo(:,39, 9) = (/ & &1.7282e-01_rb,1.7783e-01_rb,1.8337e-01_rb,1.9005e-01_rb,1.9644e-01_rb/) kbo(:,40, 9) = (/ & &1.5139e-01_rb,1.5623e-01_rb,1.6190e-01_rb,1.6820e-01_rb,1.7447e-01_rb/) kbo(:,41, 9) = (/ & &1.3264e-01_rb,1.3745e-01_rb,1.4301e-01_rb,1.4932e-01_rb,1.5546e-01_rb/) kbo(:,42, 9) = (/ & &1.1607e-01_rb,1.2085e-01_rb,1.2625e-01_rb,1.3247e-01_rb,1.3847e-01_rb/) kbo(:,43, 9) = (/ & &1.0129e-01_rb,1.0600e-01_rb,1.1131e-01_rb,1.1735e-01_rb,1.2314e-01_rb/) kbo(:,44, 9) = (/ & &8.8076e-02_rb,9.2672e-02_rb,9.7764e-02_rb,1.0358e-01_rb,1.0942e-01_rb/) kbo(:,45, 9) = (/ & &7.6267e-02_rb,8.0788e-02_rb,8.5604e-02_rb,9.1124e-02_rb,9.6796e-02_rb/) kbo(:,46, 9) = (/ & &6.5896e-02_rb,7.0073e-02_rb,7.4628e-02_rb,7.9860e-02_rb,8.5349e-02_rb/) kbo(:,47, 9) = (/ & &5.6947e-02_rb,6.0912e-02_rb,6.5102e-02_rb,6.9953e-02_rb,7.5324e-02_rb/) kbo(:,48, 9) = (/ & &4.8993e-02_rb,5.2552e-02_rb,5.6622e-02_rb,6.1050e-02_rb,6.6050e-02_rb/) kbo(:,49, 9) = (/ & &4.1828e-02_rb,4.5103e-02_rb,4.8726e-02_rb,5.2827e-02_rb,5.7536e-02_rb/) kbo(:,50, 9) = (/ & &3.6237e-02_rb,3.9173e-02_rb,4.2523e-02_rb,4.6248e-02_rb,5.0679e-02_rb/) kbo(:,51, 9) = (/ & &3.1483e-02_rb,3.4194e-02_rb,3.7317e-02_rb,4.0792e-02_rb,4.4937e-02_rb/) kbo(:,52, 9) = (/ & &2.7288e-02_rb,2.9720e-02_rb,3.2635e-02_rb,3.5833e-02_rb,3.9605e-02_rb/) kbo(:,53, 9) = (/ & &2.3553e-02_rb,2.5752e-02_rb,2.8298e-02_rb,3.1273e-02_rb,3.4805e-02_rb/) kbo(:,54, 9) = (/ & &2.0927e-02_rb,2.2955e-02_rb,2.5436e-02_rb,2.8294e-02_rb,3.1547e-02_rb/) kbo(:,55, 9) = (/ & &1.8850e-02_rb,2.0892e-02_rb,2.3245e-02_rb,2.6068e-02_rb,2.9259e-02_rb/) kbo(:,56, 9) = (/ & &1.7133e-02_rb,1.9134e-02_rb,2.1378e-02_rb,2.4152e-02_rb,2.7278e-02_rb/) kbo(:,57, 9) = (/ & &1.5614e-02_rb,1.7616e-02_rb,1.9861e-02_rb,2.2450e-02_rb,2.5658e-02_rb/) kbo(:,58, 9) = (/ & &1.4386e-02_rb,1.6367e-02_rb,1.8612e-02_rb,2.1235e-02_rb,2.4366e-02_rb/) kbo(:,59, 9) = (/ & &1.4750e-02_rb,1.6838e-02_rb,1.9250e-02_rb,2.2069e-02_rb,2.5653e-02_rb/) kbo(:,13,10) = (/ & &4.1842e+01_rb,4.1126e+01_rb,4.0474e+01_rb,3.9934e+01_rb,3.9455e+01_rb/) kbo(:,14,10) = (/ & &3.7817e+01_rb,3.7244e+01_rb,3.6754e+01_rb,3.6387e+01_rb,3.5986e+01_rb/) kbo(:,15,10) = (/ & &3.3775e+01_rb,3.3359e+01_rb,3.3057e+01_rb,3.2734e+01_rb,3.2346e+01_rb/) kbo(:,16,10) = (/ & &2.9866e+01_rb,2.9628e+01_rb,2.9352e+01_rb,2.8982e+01_rb,2.8500e+01_rb/) kbo(:,17,10) = (/ & &2.6256e+01_rb,2.6026e+01_rb,2.5674e+01_rb,2.5248e+01_rb,2.4813e+01_rb/) kbo(:,18,10) = (/ & &2.2845e+01_rb,2.2539e+01_rb,2.2184e+01_rb,2.1830e+01_rb,2.1506e+01_rb/) kbo(:,19,10) = (/ & &1.9624e+01_rb,1.9336e+01_rb,1.9054e+01_rb,1.8789e+01_rb,1.8555e+01_rb/) kbo(:,20,10) = (/ & &1.6714e+01_rb,1.6495e+01_rb,1.6283e+01_rb,1.6088e+01_rb,1.5920e+01_rb/) kbo(:,21,10) = (/ & &1.4184e+01_rb,1.4023e+01_rb,1.3853e+01_rb,1.3722e+01_rb,1.3615e+01_rb/) kbo(:,22,10) = (/ & &1.2010e+01_rb,1.1876e+01_rb,1.1769e+01_rb,1.1693e+01_rb,1.1608e+01_rb/) kbo(:,23,10) = (/ & &1.0140e+01_rb,1.0060e+01_rb,1.0004e+01_rb,9.9480e+00_rb,9.8828e+00_rb/) kbo(:,24,10) = (/ & &8.3529e+00_rb,8.3955e+00_rb,8.4004e+00_rb,8.3887e+00_rb,8.3750e+00_rb/) kbo(:,25,10) = (/ & &6.5990e+00_rb,6.6692e+00_rb,6.7250e+00_rb,6.7763e+00_rb,6.8513e+00_rb/) kbo(:,26,10) = (/ & &5.2218e+00_rb,5.2429e+00_rb,5.2934e+00_rb,5.3672e+00_rb,5.4447e+00_rb/) kbo(:,27,10) = (/ & &4.4199e+00_rb,4.3564e+00_rb,4.3290e+00_rb,4.3162e+00_rb,4.3878e+00_rb/) kbo(:,28,10) = (/ & &3.8059e+00_rb,3.7536e+00_rb,3.6821e+00_rb,3.6546e+00_rb,3.6556e+00_rb/) kbo(:,29,10) = (/ & &3.2943e+00_rb,3.2284e+00_rb,3.1752e+00_rb,3.1401e+00_rb,3.1165e+00_rb/) kbo(:,30,10) = (/ & &2.8426e+00_rb,2.7881e+00_rb,2.7489e+00_rb,2.7185e+00_rb,2.7182e+00_rb/) kbo(:,31,10) = (/ & &2.4366e+00_rb,2.4010e+00_rb,2.3877e+00_rb,2.3684e+00_rb,2.4040e+00_rb/) kbo(:,32,10) = (/ & &2.1031e+00_rb,2.0888e+00_rb,2.0634e+00_rb,2.0885e+00_rb,2.1581e+00_rb/) kbo(:,33,10) = (/ & &1.8304e+00_rb,1.8104e+00_rb,1.8138e+00_rb,1.8703e+00_rb,1.9665e+00_rb/) kbo(:,34,10) = (/ & &1.5963e+00_rb,1.5877e+00_rb,1.6209e+00_rb,1.6809e+00_rb,1.8060e+00_rb/) kbo(:,35,10) = (/ & &1.3950e+00_rb,1.4093e+00_rb,1.4535e+00_rb,1.5372e+00_rb,1.6748e+00_rb/) kbo(:,36,10) = (/ & &1.2291e+00_rb,1.2517e+00_rb,1.3081e+00_rb,1.4001e+00_rb,1.5466e+00_rb/) kbo(:,37,10) = (/ & &1.0841e+00_rb,1.1159e+00_rb,1.1678e+00_rb,1.2585e+00_rb,1.4003e+00_rb/) kbo(:,38,10) = (/ & &9.5502e-01_rb,9.9217e-01_rb,1.0459e+00_rb,1.1387e+00_rb,1.2834e+00_rb/) kbo(:,39,10) = (/ & &8.4320e-01_rb,8.8008e-01_rb,9.3921e-01_rb,1.0432e+00_rb,1.1899e+00_rb/) kbo(:,40,10) = (/ & &7.4742e-01_rb,7.8308e-01_rb,8.3378e-01_rb,9.2859e-01_rb,1.0715e+00_rb/) kbo(:,41,10) = (/ & &6.6607e-01_rb,6.9838e-01_rb,7.4378e-01_rb,8.2580e-01_rb,9.6253e-01_rb/) kbo(:,42,10) = (/ & &5.9399e-01_rb,6.2402e-01_rb,6.6818e-01_rb,7.3908e-01_rb,8.7040e-01_rb/) kbo(:,43,10) = (/ & &5.3134e-01_rb,5.5822e-01_rb,5.9679e-01_rb,6.5834e-01_rb,7.8163e-01_rb/) kbo(:,44,10) = (/ & &4.7483e-01_rb,4.9813e-01_rb,5.3656e-01_rb,5.8775e-01_rb,7.0057e-01_rb/) kbo(:,45,10) = (/ & &4.2242e-01_rb,4.4383e-01_rb,4.8053e-01_rb,5.2923e-01_rb,6.3377e-01_rb/) kbo(:,46,10) = (/ & &3.7426e-01_rb,3.9626e-01_rb,4.2998e-01_rb,4.7693e-01_rb,5.7307e-01_rb/) kbo(:,47,10) = (/ & &3.3305e-01_rb,3.5232e-01_rb,3.8380e-01_rb,4.2680e-01_rb,5.1056e-01_rb/) kbo(:,48,10) = (/ & &2.9118e-01_rb,3.1195e-01_rb,3.3996e-01_rb,3.8124e-01_rb,4.5847e-01_rb/) kbo(:,49,10) = (/ & &2.5186e-01_rb,2.7185e-01_rb,2.9957e-01_rb,3.4007e-01_rb,4.1454e-01_rb/) kbo(:,50,10) = (/ & &2.1978e-01_rb,2.4030e-01_rb,2.6478e-01_rb,3.0486e-01_rb,3.7227e-01_rb/) kbo(:,51,10) = (/ & &1.9384e-01_rb,2.1260e-01_rb,2.3536e-01_rb,2.7096e-01_rb,3.3311e-01_rb/) kbo(:,52,10) = (/ & &1.6918e-01_rb,1.8784e-01_rb,2.0901e-01_rb,2.4060e-01_rb,2.9976e-01_rb/) kbo(:,53,10) = (/ & &1.4644e-01_rb,1.6376e-01_rb,1.8425e-01_rb,2.1431e-01_rb,2.7054e-01_rb/) kbo(:,54,10) = (/ & &1.3139e-01_rb,1.4808e-01_rb,1.6611e-01_rb,1.9208e-01_rb,2.4005e-01_rb/) kbo(:,55,10) = (/ & &1.2172e-01_rb,1.3644e-01_rb,1.5558e-01_rb,1.7831e-01_rb,2.1286e-01_rb/) kbo(:,56,10) = (/ & &1.1074e-01_rb,1.2717e-01_rb,1.4642e-01_rb,1.6603e-01_rb,1.9730e-01_rb/) kbo(:,57,10) = (/ & &1.0195e-01_rb,1.1787e-01_rb,1.3707e-01_rb,1.5838e-01_rb,1.8439e-01_rb/) kbo(:,58,10) = (/ & &9.6243e-02_rb,1.1076e-01_rb,1.2956e-01_rb,1.5169e-01_rb,1.7652e-01_rb/) kbo(:,59,10) = (/ & &9.7302e-02_rb,1.1627e-01_rb,1.3740e-01_rb,1.6328e-01_rb,1.9053e-01_rb/) kbo(:,13,11) = (/ & &7.0360e+01_rb,6.9342e+01_rb,6.8249e+01_rb,6.7098e+01_rb,6.5980e+01_rb/) kbo(:,14,11) = (/ & &6.5791e+01_rb,6.4723e+01_rb,6.3625e+01_rb,6.2598e+01_rb,6.1783e+01_rb/) kbo(:,15,11) = (/ & &6.0426e+01_rb,5.9395e+01_rb,5.8516e+01_rb,5.7828e+01_rb,5.7219e+01_rb/) kbo(:,16,11) = (/ & &5.4683e+01_rb,5.3915e+01_rb,5.3328e+01_rb,5.2878e+01_rb,5.2385e+01_rb/) kbo(:,17,11) = (/ & &4.8953e+01_rb,4.8487e+01_rb,4.8177e+01_rb,4.7782e+01_rb,4.7308e+01_rb/) kbo(:,18,11) = (/ & &4.3480e+01_rb,4.3274e+01_rb,4.2982e+01_rb,4.2563e+01_rb,4.2021e+01_rb/) kbo(:,19,11) = (/ & &3.8401e+01_rb,3.8213e+01_rb,3.7862e+01_rb,3.7391e+01_rb,3.6879e+01_rb/) kbo(:,20,11) = (/ & &3.3602e+01_rb,3.3341e+01_rb,3.2960e+01_rb,3.2565e+01_rb,3.2185e+01_rb/) kbo(:,21,11) = (/ & &2.9094e+01_rb,2.8806e+01_rb,2.8524e+01_rb,2.8243e+01_rb,2.8023e+01_rb/) kbo(:,22,11) = (/ & &2.4954e+01_rb,2.4758e+01_rb,2.4575e+01_rb,2.4433e+01_rb,2.4352e+01_rb/) kbo(:,23,11) = (/ & &2.1326e+01_rb,2.1219e+01_rb,2.1148e+01_rb,2.1108e+01_rb,2.1117e+01_rb/) kbo(:,24,11) = (/ & &1.8212e+01_rb,1.8167e+01_rb,1.8172e+01_rb,1.8221e+01_rb,1.8288e+01_rb/) kbo(:,25,11) = (/ & &1.5541e+01_rb,1.5569e+01_rb,1.5649e+01_rb,1.5756e+01_rb,1.5867e+01_rb/) kbo(:,26,11) = (/ & &1.3185e+01_rb,1.3326e+01_rb,1.3479e+01_rb,1.3624e+01_rb,1.3786e+01_rb/) kbo(:,27,11) = (/ & &1.0920e+01_rb,1.1211e+01_rb,1.1487e+01_rb,1.1743e+01_rb,1.1957e+01_rb/) kbo(:,28,11) = (/ & &9.0678e+00_rb,9.3710e+00_rb,9.6834e+00_rb,9.9920e+00_rb,1.0324e+01_rb/) kbo(:,29,11) = (/ & &7.6881e+00_rb,7.9879e+00_rb,8.2968e+00_rb,8.6379e+00_rb,9.0061e+00_rb/) kbo(:,30,11) = (/ & &6.6033e+00_rb,6.8954e+00_rb,7.2204e+00_rb,7.5787e+00_rb,7.9480e+00_rb/) kbo(:,31,11) = (/ & &5.8224e+00_rb,6.1213e+00_rb,6.4394e+00_rb,6.7947e+00_rb,7.1839e+00_rb/) kbo(:,32,11) = (/ & &5.1825e+00_rb,5.4854e+00_rb,5.8203e+00_rb,6.1672e+00_rb,6.5644e+00_rb/) kbo(:,33,11) = (/ & &4.6793e+00_rb,4.9853e+00_rb,5.3218e+00_rb,5.6796e+00_rb,6.0723e+00_rb/) kbo(:,34,11) = (/ & &4.2112e+00_rb,4.5240e+00_rb,4.8672e+00_rb,5.2510e+00_rb,5.6439e+00_rb/) kbo(:,35,11) = (/ & &3.8061e+00_rb,4.1193e+00_rb,4.4694e+00_rb,4.8571e+00_rb,5.2645e+00_rb/) kbo(:,36,11) = (/ & &3.4331e+00_rb,3.7452e+00_rb,4.0978e+00_rb,4.4887e+00_rb,4.9173e+00_rb/) kbo(:,37,11) = (/ & &3.0586e+00_rb,3.3607e+00_rb,3.7172e+00_rb,4.1153e+00_rb,4.5572e+00_rb/) kbo(:,38,11) = (/ & &2.7517e+00_rb,3.0453e+00_rb,3.3976e+00_rb,3.7947e+00_rb,4.2441e+00_rb/) kbo(:,39,11) = (/ & &2.5013e+00_rb,2.7908e+00_rb,3.1383e+00_rb,3.5236e+00_rb,3.9765e+00_rb/) kbo(:,40,11) = (/ & &2.2268e+00_rb,2.5094e+00_rb,2.8534e+00_rb,3.2426e+00_rb,3.6921e+00_rb/) kbo(:,41,11) = (/ & &1.9832e+00_rb,2.2609e+00_rb,2.6000e+00_rb,2.9899e+00_rb,3.4337e+00_rb/) kbo(:,42,11) = (/ & &1.7785e+00_rb,2.0479e+00_rb,2.3793e+00_rb,2.7692e+00_rb,3.2048e+00_rb/) kbo(:,43,11) = (/ & &1.5856e+00_rb,1.8448e+00_rb,2.1667e+00_rb,2.5496e+00_rb,2.9735e+00_rb/) kbo(:,44,11) = (/ & &1.4123e+00_rb,1.6629e+00_rb,1.9679e+00_rb,2.3444e+00_rb,2.7547e+00_rb/) kbo(:,45,11) = (/ & &1.2640e+00_rb,1.5067e+00_rb,1.7987e+00_rb,2.1603e+00_rb,2.5558e+00_rb/) kbo(:,46,11) = (/ & &1.1290e+00_rb,1.3620e+00_rb,1.6422e+00_rb,1.9855e+00_rb,2.3652e+00_rb/) kbo(:,47,11) = (/ & &9.9161e-01_rb,1.2154e+00_rb,1.4836e+00_rb,1.8087e+00_rb,2.1736e+00_rb/) kbo(:,48,11) = (/ & &8.7615e-01_rb,1.0875e+00_rb,1.3440e+00_rb,1.6515e+00_rb,1.9976e+00_rb/) kbo(:,49,11) = (/ & &7.7782e-01_rb,9.7773e-01_rb,1.2220e+00_rb,1.5130e+00_rb,1.8356e+00_rb/) kbo(:,50,11) = (/ & &6.8345e-01_rb,8.7089e-01_rb,1.1065e+00_rb,1.3830e+00_rb,1.6924e+00_rb/) kbo(:,51,11) = (/ & &5.9562e-01_rb,7.7251e-01_rb,9.9776e-01_rb,1.2648e+00_rb,1.5621e+00_rb/) kbo(:,52,11) = (/ & &5.1948e-01_rb,6.8509e-01_rb,8.9806e-01_rb,1.1564e+00_rb,1.4407e+00_rb/) kbo(:,53,11) = (/ & &4.5430e-01_rb,6.0810e-01_rb,8.0999e-01_rb,1.0551e+00_rb,1.3256e+00_rb/) kbo(:,54,11) = (/ & &3.8584e-01_rb,5.2960e-01_rb,7.1926e-01_rb,9.5469e-01_rb,1.2208e+00_rb/) kbo(:,55,11) = (/ & &3.2585e-01_rb,4.5415e-01_rb,6.2813e-01_rb,8.5255e-01_rb,1.1189e+00_rb/) kbo(:,56,11) = (/ & &2.9347e-01_rb,3.8309e-01_rb,5.4571e-01_rb,7.5695e-01_rb,1.0111e+00_rb/) kbo(:,57,11) = (/ & &2.6872e-01_rb,3.3263e-01_rb,4.6996e-01_rb,6.6376e-01_rb,9.0688e-01_rb/) kbo(:,58,11) = (/ & &2.4960e-01_rb,3.0758e-01_rb,4.0207e-01_rb,5.8213e-01_rb,8.0803e-01_rb/) kbo(:,59,11) = (/ & &2.6183e-01_rb,3.2106e-01_rb,3.9760e-01_rb,5.1091e-01_rb,7.1717e-01_rb/) kbo(:,13,12) = (/ & &1.1832e+02_rb,1.1787e+02_rb,1.1696e+02_rb,1.1585e+02_rb,1.1448e+02_rb/) kbo(:,14,12) = (/ & &1.1787e+02_rb,1.1706e+02_rb,1.1585e+02_rb,1.1435e+02_rb,1.1282e+02_rb/) kbo(:,15,12) = (/ & &1.1482e+02_rb,1.1352e+02_rb,1.1198e+02_rb,1.1040e+02_rb,1.0880e+02_rb/) kbo(:,16,12) = (/ & &1.0896e+02_rb,1.0749e+02_rb,1.0590e+02_rb,1.0433e+02_rb,1.0304e+02_rb/) kbo(:,17,12) = (/ & &1.0128e+02_rb,9.9814e+01_rb,9.8422e+01_rb,9.7349e+01_rb,9.6504e+01_rb/) kbo(:,18,12) = (/ & &9.2677e+01_rb,9.1506e+01_rb,9.0639e+01_rb,9.0100e+01_rb,8.9682e+01_rb/) kbo(:,19,12) = (/ & &8.3897e+01_rb,8.3222e+01_rb,8.2911e+01_rb,8.2751e+01_rb,8.2502e+01_rb/) kbo(:,20,12) = (/ & &7.5342e+01_rb,7.5217e+01_rb,7.5315e+01_rb,7.5254e+01_rb,7.5130e+01_rb/) kbo(:,21,12) = (/ & &6.7351e+01_rb,6.7622e+01_rb,6.7745e+01_rb,6.7796e+01_rb,6.7734e+01_rb/) kbo(:,22,12) = (/ & &5.9964e+01_rb,6.0293e+01_rb,6.0504e+01_rb,6.0565e+01_rb,6.0581e+01_rb/) kbo(:,23,12) = (/ & &5.3111e+01_rb,5.3464e+01_rb,5.3681e+01_rb,5.3837e+01_rb,5.4061e+01_rb/) kbo(:,24,12) = (/ & &4.6795e+01_rb,4.7144e+01_rb,4.7460e+01_rb,4.7828e+01_rb,4.8279e+01_rb/) kbo(:,25,12) = (/ & &4.1060e+01_rb,4.1497e+01_rb,4.1989e+01_rb,4.2550e+01_rb,4.3265e+01_rb/) kbo(:,26,12) = (/ & &3.6007e+01_rb,3.6594e+01_rb,3.7261e+01_rb,3.8060e+01_rb,3.9005e+01_rb/) kbo(:,27,12) = (/ & &3.1657e+01_rb,3.2380e+01_rb,3.3234e+01_rb,3.4259e+01_rb,3.5455e+01_rb/) kbo(:,28,12) = (/ & &2.7936e+01_rb,2.8816e+01_rb,2.9878e+01_rb,3.1120e+01_rb,3.2499e+01_rb/) kbo(:,29,12) = (/ & &2.4811e+01_rb,2.5887e+01_rb,2.7138e+01_rb,2.8541e+01_rb,3.0069e+01_rb/) kbo(:,30,12) = (/ & &2.2271e+01_rb,2.3484e+01_rb,2.4883e+01_rb,2.6431e+01_rb,2.8119e+01_rb/) kbo(:,31,12) = (/ & &2.0203e+01_rb,2.1534e+01_rb,2.3058e+01_rb,2.4751e+01_rb,2.6602e+01_rb/) kbo(:,32,12) = (/ & &1.8534e+01_rb,1.9980e+01_rb,2.1635e+01_rb,2.3479e+01_rb,2.5477e+01_rb/) kbo(:,33,12) = (/ & &1.7225e+01_rb,1.8794e+01_rb,2.0572e+01_rb,2.2559e+01_rb,2.4699e+01_rb/) kbo(:,34,12) = (/ & &1.6174e+01_rb,1.7857e+01_rb,1.9770e+01_rb,2.1880e+01_rb,2.4147e+01_rb/) kbo(:,35,12) = (/ & &1.5236e+01_rb,1.7017e+01_rb,1.9034e+01_rb,2.1242e+01_rb,2.3610e+01_rb/) kbo(:,36,12) = (/ & &1.4322e+01_rb,1.6183e+01_rb,1.8272e+01_rb,2.0552e+01_rb,2.2984e+01_rb/) kbo(:,37,12) = (/ & &1.3315e+01_rb,1.5210e+01_rb,1.7331e+01_rb,1.9645e+01_rb,2.2115e+01_rb/) kbo(:,38,12) = (/ & &1.2427e+01_rb,1.4349e+01_rb,1.6493e+01_rb,1.8831e+01_rb,2.1326e+01_rb/) kbo(:,39,12) = (/ & &1.1655e+01_rb,1.3594e+01_rb,1.5756e+01_rb,1.8111e+01_rb,2.0619e+01_rb/) kbo(:,40,12) = (/ & &1.0800e+01_rb,1.2718e+01_rb,1.4870e+01_rb,1.7214e+01_rb,1.9711e+01_rb/) kbo(:,41,12) = (/ & &1.0009e+01_rb,1.1890e+01_rb,1.4023e+01_rb,1.6343e+01_rb,1.8829e+01_rb/) kbo(:,42,12) = (/ & &9.2911e+00_rb,1.1131e+01_rb,1.3230e+01_rb,1.5526e+01_rb,1.7990e+01_rb/) kbo(:,43,12) = (/ & &8.5453e+00_rb,1.0322e+01_rb,1.2366e+01_rb,1.4622e+01_rb,1.7049e+01_rb/) kbo(:,44,12) = (/ & &7.8249e+00_rb,9.5233e+00_rb,1.1499e+01_rb,1.3704e+01_rb,1.6085e+01_rb/) kbo(:,45,12) = (/ & &7.1656e+00_rb,8.7847e+00_rb,1.0682e+01_rb,1.2826e+01_rb,1.5159e+01_rb/) kbo(:,46,12) = (/ & &6.5222e+00_rb,8.0621e+00_rb,9.8691e+00_rb,1.1939e+01_rb,1.4215e+01_rb/) kbo(:,47,12) = (/ & &5.8688e+00_rb,7.3253e+00_rb,9.0292e+00_rb,1.1003e+01_rb,1.3207e+01_rb/) kbo(:,48,12) = (/ & &5.2686e+00_rb,6.6401e+00_rb,8.2460e+00_rb,1.0116e+01_rb,1.2240e+01_rb/) kbo(:,49,12) = (/ & &4.7119e+00_rb,6.0011e+00_rb,7.5181e+00_rb,9.2810e+00_rb,1.1309e+01_rb/) kbo(:,50,12) = (/ & &4.2243e+00_rb,5.4409e+00_rb,6.8771e+00_rb,8.5451e+00_rb,1.0476e+01_rb/) kbo(:,51,12) = (/ & &3.7894e+00_rb,4.9333e+00_rb,6.2908e+00_rb,7.8717e+00_rb,9.7058e+00_rb/) kbo(:,52,12) = (/ & &3.3915e+00_rb,4.4569e+00_rb,5.7416e+00_rb,7.2423e+00_rb,8.9799e+00_rb/) kbo(:,53,12) = (/ & &3.0222e+00_rb,4.0130e+00_rb,5.2245e+00_rb,6.6473e+00_rb,8.2931e+00_rb/) kbo(:,54,12) = (/ & &2.7077e+00_rb,3.6347e+00_rb,4.7766e+00_rb,6.1280e+00_rb,7.6968e+00_rb/) kbo(:,55,12) = (/ & &2.4210e+00_rb,3.2970e+00_rb,4.3697e+00_rb,5.6562e+00_rb,7.1563e+00_rb/) kbo(:,56,12) = (/ & &2.1307e+00_rb,2.9831e+00_rb,3.9864e+00_rb,5.2103e+00_rb,6.6404e+00_rb/) kbo(:,57,12) = (/ & &1.8552e+00_rb,2.6736e+00_rb,3.6295e+00_rb,4.7868e+00_rb,6.1491e+00_rb/) kbo(:,58,12) = (/ & &1.6050e+00_rb,2.3734e+00_rb,3.3136e+00_rb,4.4004e+00_rb,5.7055e+00_rb/) kbo(:,59,12) = (/ & &1.4434e+00_rb,2.1814e+00_rb,3.1118e+00_rb,4.2418e+00_rb,5.5300e+00_rb/) kbo(:,13,13) = (/ & &2.0665e+02_rb,2.0326e+02_rb,2.0074e+02_rb,1.9867e+02_rb,1.9680e+02_rb/) kbo(:,14,13) = (/ & &2.1250e+02_rb,2.0998e+02_rb,2.0827e+02_rb,2.0659e+02_rb,2.0468e+02_rb/) kbo(:,15,13) = (/ & &2.1695e+02_rb,2.1587e+02_rb,2.1446e+02_rb,2.1260e+02_rb,2.1056e+02_rb/) kbo(:,16,13) = (/ & &2.2062e+02_rb,2.1972e+02_rb,2.1811e+02_rb,2.1619e+02_rb,2.1401e+02_rb/) kbo(:,17,13) = (/ & &2.2121e+02_rb,2.1996e+02_rb,2.1823e+02_rb,2.1618e+02_rb,2.1385e+02_rb/) kbo(:,18,13) = (/ & &2.1775e+02_rb,2.1636e+02_rb,2.1445e+02_rb,2.1229e+02_rb,2.1021e+02_rb/) kbo(:,19,13) = (/ & &2.1064e+02_rb,2.0900e+02_rb,2.0712e+02_rb,2.0551e+02_rb,2.0407e+02_rb/) kbo(:,20,13) = (/ & &2.0008e+02_rb,1.9874e+02_rb,1.9769e+02_rb,1.9686e+02_rb,1.9621e+02_rb/) kbo(:,21,13) = (/ & &1.8747e+02_rb,1.8700e+02_rb,1.8691e+02_rb,1.8703e+02_rb,1.8742e+02_rb/) kbo(:,22,13) = (/ & &1.7415e+02_rb,1.7476e+02_rb,1.7572e+02_rb,1.7701e+02_rb,1.7852e+02_rb/) kbo(:,23,13) = (/ & &1.6113e+02_rb,1.6295e+02_rb,1.6510e+02_rb,1.6752e+02_rb,1.7009e+02_rb/) kbo(:,24,13) = (/ & &1.4912e+02_rb,1.5211e+02_rb,1.5536e+02_rb,1.5887e+02_rb,1.6232e+02_rb/) kbo(:,25,13) = (/ & &1.3846e+02_rb,1.4246e+02_rb,1.4677e+02_rb,1.5111e+02_rb,1.5523e+02_rb/) kbo(:,26,13) = (/ & &1.2926e+02_rb,1.3422e+02_rb,1.3933e+02_rb,1.4432e+02_rb,1.4910e+02_rb/) kbo(:,27,13) = (/ & &1.2138e+02_rb,1.2724e+02_rb,1.3302e+02_rb,1.3864e+02_rb,1.4402e+02_rb/) kbo(:,28,13) = (/ & &1.1492e+02_rb,1.2144e+02_rb,1.2785e+02_rb,1.3411e+02_rb,1.4008e+02_rb/) kbo(:,29,13) = (/ & &1.0978e+02_rb,1.1690e+02_rb,1.2395e+02_rb,1.3076e+02_rb,1.3730e+02_rb/) kbo(:,30,13) = (/ & &1.0580e+02_rb,1.1355e+02_rb,1.2118e+02_rb,1.2849e+02_rb,1.3548e+02_rb/) kbo(:,31,13) = (/ & &1.0304e+02_rb,1.1137e+02_rb,1.1944e+02_rb,1.2716e+02_rb,1.3451e+02_rb/) kbo(:,32,13) = (/ & &1.0136e+02_rb,1.1014e+02_rb,1.1859e+02_rb,1.2663e+02_rb,1.3416e+02_rb/) kbo(:,33,13) = (/ & &1.0056e+02_rb,1.0971e+02_rb,1.1845e+02_rb,1.2667e+02_rb,1.3431e+02_rb/) kbo(:,34,13) = (/ & &1.0020e+02_rb,1.0961e+02_rb,1.1855e+02_rb,1.2688e+02_rb,1.3458e+02_rb/) kbo(:,35,13) = (/ & &9.9483e+01_rb,1.0912e+02_rb,1.1821e+02_rb,1.2667e+02_rb,1.3443e+02_rb/) kbo(:,36,13) = (/ & &9.8103e+01_rb,1.0792e+02_rb,1.1721e+02_rb,1.2581e+02_rb,1.3368e+02_rb/) kbo(:,37,13) = (/ & &9.5455e+01_rb,1.0552e+02_rb,1.1504e+02_rb,1.2386e+02_rb,1.3193e+02_rb/) kbo(:,38,13) = (/ & &9.2912e+01_rb,1.0319e+02_rb,1.1292e+02_rb,1.2195e+02_rb,1.3022e+02_rb/) kbo(:,39,13) = (/ & &9.0538e+01_rb,1.0100e+02_rb,1.1091e+02_rb,1.2014e+02_rb,1.2859e+02_rb/) kbo(:,40,13) = (/ & &8.7195e+01_rb,9.7854e+01_rb,1.0799e+02_rb,1.1748e+02_rb,1.2618e+02_rb/) kbo(:,41,13) = (/ & &8.3785e+01_rb,9.4631e+01_rb,1.0497e+02_rb,1.1470e+02_rb,1.2366e+02_rb/) kbo(:,42,13) = (/ & &8.0430e+01_rb,9.1433e+01_rb,1.0197e+02_rb,1.1192e+02_rb,1.2113e+02_rb/) kbo(:,43,13) = (/ & &7.6477e+01_rb,8.7634e+01_rb,9.8384e+01_rb,1.0856e+02_rb,1.1808e+02_rb/) kbo(:,44,13) = (/ & &7.2299e+01_rb,8.3562e+01_rb,9.4524e+01_rb,1.0494e+02_rb,1.1474e+02_rb/) kbo(:,45,13) = (/ & &6.8166e+01_rb,7.9496e+01_rb,9.0629e+01_rb,1.0127e+02_rb,1.1130e+02_rb/) kbo(:,46,13) = (/ & &6.3834e+01_rb,7.5188e+01_rb,8.6450e+01_rb,9.7312e+01_rb,1.0760e+02_rb/) kbo(:,47,13) = (/ & &5.9081e+01_rb,7.0413e+01_rb,8.1772e+01_rb,9.2852e+01_rb,1.0340e+02_rb/) kbo(:,48,13) = (/ & &5.4396e+01_rb,6.5661e+01_rb,7.7060e+01_rb,8.8317e+01_rb,9.9114e+01_rb/) kbo(:,49,13) = (/ & &4.9801e+01_rb,6.0961e+01_rb,7.2354e+01_rb,8.3709e+01_rb,9.4725e+01_rb/) kbo(:,50,13) = (/ & &4.5581e+01_rb,5.6585e+01_rb,6.7933e+01_rb,7.9345e+01_rb,9.0545e+01_rb/) kbo(:,51,13) = (/ & &4.1581e+01_rb,5.2405e+01_rb,6.3662e+01_rb,7.5096e+01_rb,8.6425e+01_rb/) kbo(:,52,13) = (/ & &3.7719e+01_rb,4.8309e+01_rb,5.9448e+01_rb,7.0850e+01_rb,8.2254e+01_rb/) kbo(:,53,13) = (/ & &3.4012e+01_rb,4.4282e+01_rb,5.5265e+01_rb,6.6609e+01_rb,7.8050e+01_rb/) kbo(:,54,13) = (/ & &3.0756e+01_rb,4.0675e+01_rb,5.1476e+01_rb,6.2735e+01_rb,7.4183e+01_rb/) kbo(:,55,13) = (/ & &2.7771e+01_rb,3.7316e+01_rb,4.7906e+01_rb,5.9042e+01_rb,7.0461e+01_rb/) kbo(:,56,13) = (/ & &2.4943e+01_rb,3.4093e+01_rb,4.4398e+01_rb,5.5401e+01_rb,6.6760e+01_rb/) kbo(:,57,13) = (/ & &2.2280e+01_rb,3.0993e+01_rb,4.0957e+01_rb,5.1794e+01_rb,6.3073e+01_rb/) kbo(:,58,13) = (/ & &1.9914e+01_rb,2.8171e+01_rb,3.7788e+01_rb,4.8428e+01_rb,5.9596e+01_rb/) kbo(:,59,13) = (/ & &1.9003e+01_rb,2.7062e+01_rb,3.6534e+01_rb,4.7084e+01_rb,5.8201e+01_rb/) kbo(:,13,14) = (/ & &3.9453e+02_rb,3.9054e+02_rb,3.8556e+02_rb,3.8029e+02_rb,3.7518e+02_rb/) kbo(:,14,14) = (/ & &4.2588e+02_rb,4.2023e+02_rb,4.1375e+02_rb,4.0776e+02_rb,4.0199e+02_rb/) kbo(:,15,14) = (/ & &4.5408e+02_rb,4.4627e+02_rb,4.3917e+02_rb,4.3301e+02_rb,4.2714e+02_rb/) kbo(:,16,14) = (/ & &4.7789e+02_rb,4.6976e+02_rb,4.6328e+02_rb,4.5698e+02_rb,4.5114e+02_rb/) kbo(:,17,14) = (/ & &5.0033e+02_rb,4.9329e+02_rb,4.8659e+02_rb,4.8030e+02_rb,4.7472e+02_rb/) kbo(:,18,14) = (/ & &5.2160e+02_rb,5.1479e+02_rb,5.0850e+02_rb,5.0281e+02_rb,4.9755e+02_rb/) kbo(:,19,14) = (/ & &5.3975e+02_rb,5.3405e+02_rb,5.2880e+02_rb,5.2359e+02_rb,5.1826e+02_rb/) kbo(:,20,14) = (/ & &5.5471e+02_rb,5.5025e+02_rb,5.4544e+02_rb,5.4054e+02_rb,5.3559e+02_rb/) kbo(:,21,14) = (/ & &5.6616e+02_rb,5.6246e+02_rb,5.5854e+02_rb,5.5439e+02_rb,5.5012e+02_rb/) kbo(:,22,14) = (/ & &5.7373e+02_rb,5.7143e+02_rb,5.6842e+02_rb,5.6526e+02_rb,5.6165e+02_rb/) kbo(:,23,14) = (/ & &5.7822e+02_rb,5.7745e+02_rb,5.7602e+02_rb,5.7378e+02_rb,5.7033e+02_rb/) kbo(:,24,14) = (/ & &5.8038e+02_rb,5.8144e+02_rb,5.8147e+02_rb,5.7978e+02_rb,5.7697e+02_rb/) kbo(:,25,14) = (/ & &5.8144e+02_rb,5.8416e+02_rb,5.8500e+02_rb,5.8436e+02_rb,5.8236e+02_rb/) kbo(:,26,14) = (/ & &5.8189e+02_rb,5.8575e+02_rb,5.8780e+02_rb,5.8818e+02_rb,5.8686e+02_rb/) kbo(:,27,14) = (/ & &5.8218e+02_rb,5.8719e+02_rb,5.9038e+02_rb,5.9148e+02_rb,5.9059e+02_rb/) kbo(:,28,14) = (/ & &5.8262e+02_rb,5.8871e+02_rb,5.9261e+02_rb,5.9417e+02_rb,5.9365e+02_rb/) kbo(:,29,14) = (/ & &5.8351e+02_rb,5.9046e+02_rb,5.9468e+02_rb,5.9643e+02_rb,5.9604e+02_rb/) kbo(:,30,14) = (/ & &5.8500e+02_rb,5.9236e+02_rb,5.9667e+02_rb,5.9846e+02_rb,5.9808e+02_rb/) kbo(:,31,14) = (/ & &5.8683e+02_rb,5.9418e+02_rb,5.9850e+02_rb,6.0020e+02_rb,5.9975e+02_rb/) kbo(:,32,14) = (/ & &5.8889e+02_rb,5.9602e+02_rb,6.0013e+02_rb,6.0165e+02_rb,6.0111e+02_rb/) kbo(:,33,14) = (/ & &5.9113e+02_rb,5.9792e+02_rb,6.0167e+02_rb,6.0289e+02_rb,6.0219e+02_rb/) kbo(:,34,14) = (/ & &5.9309e+02_rb,5.9954e+02_rb,6.0296e+02_rb,6.0390e+02_rb,6.0309e+02_rb/) kbo(:,35,14) = (/ & &5.9425e+02_rb,6.0057e+02_rb,6.0391e+02_rb,6.0481e+02_rb,6.0395e+02_rb/) kbo(:,36,14) = (/ & &5.9453e+02_rb,6.0102e+02_rb,6.0449e+02_rb,6.0555e+02_rb,6.0478e+02_rb/) kbo(:,37,14) = (/ & &5.9344e+02_rb,6.0064e+02_rb,6.0466e+02_rb,6.0613e+02_rb,6.0565e+02_rb/) kbo(:,38,14) = (/ & &5.9210e+02_rb,6.0005e+02_rb,6.0460e+02_rb,6.0657e+02_rb,6.0636e+02_rb/) kbo(:,39,14) = (/ & &5.9062e+02_rb,5.9933e+02_rb,6.0439e+02_rb,6.0685e+02_rb,6.0693e+02_rb/) kbo(:,40,14) = (/ & &5.8781e+02_rb,5.9770e+02_rb,6.0363e+02_rb,6.0675e+02_rb,6.0742e+02_rb/) kbo(:,41,14) = (/ & &5.8441e+02_rb,5.9563e+02_rb,6.0254e+02_rb,6.0641e+02_rb,6.0773e+02_rb/) kbo(:,42,14) = (/ & &5.8066e+02_rb,5.9320e+02_rb,6.0125e+02_rb,6.0582e+02_rb,6.0784e+02_rb/) kbo(:,43,14) = (/ & &5.7546e+02_rb,5.8975e+02_rb,5.9921e+02_rb,6.0478e+02_rb,6.0764e+02_rb/) kbo(:,44,14) = (/ & &5.6919e+02_rb,5.8551e+02_rb,5.9655e+02_rb,6.0334e+02_rb,6.0709e+02_rb/) kbo(:,45,14) = (/ & &5.6228e+02_rb,5.8057e+02_rb,5.9328e+02_rb,6.0149e+02_rb,6.0621e+02_rb/) kbo(:,46,14) = (/ & &5.5416e+02_rb,5.7453e+02_rb,5.8925e+02_rb,5.9904e+02_rb,6.0487e+02_rb/) kbo(:,47,14) = (/ & &5.4413e+02_rb,5.6695e+02_rb,5.8396e+02_rb,5.9568e+02_rb,6.0296e+02_rb/) kbo(:,48,14) = (/ & &5.3289e+02_rb,5.5838e+02_rb,5.7778e+02_rb,5.9151e+02_rb,6.0055e+02_rb/) kbo(:,49,14) = (/ & &5.2046e+02_rb,5.4886e+02_rb,5.7056e+02_rb,5.8661e+02_rb,5.9745e+02_rb/) kbo(:,50,14) = (/ & &5.0763e+02_rb,5.3890e+02_rb,5.6309e+02_rb,5.8123e+02_rb,5.9389e+02_rb/) kbo(:,51,14) = (/ & &4.9397e+02_rb,5.2829e+02_rb,5.5490e+02_rb,5.7522e+02_rb,5.8985e+02_rb/) kbo(:,52,14) = (/ & &4.7917e+02_rb,5.1663e+02_rb,5.4597e+02_rb,5.6843e+02_rb,5.8514e+02_rb/) kbo(:,53,14) = (/ & &4.6310e+02_rb,5.0389e+02_rb,5.3606e+02_rb,5.6086e+02_rb,5.7969e+02_rb/) kbo(:,54,14) = (/ & &4.4738e+02_rb,4.9113e+02_rb,5.2610e+02_rb,5.5325e+02_rb,5.7401e+02_rb/) kbo(:,55,14) = (/ & &4.3145e+02_rb,4.7800e+02_rb,5.1576e+02_rb,5.4530e+02_rb,5.6795e+02_rb/) kbo(:,56,14) = (/ & &4.1442e+02_rb,4.6397e+02_rb,5.0460e+02_rb,5.3665e+02_rb,5.6135e+02_rb/) kbo(:,57,14) = (/ & &3.9638e+02_rb,4.4904e+02_rb,4.9255e+02_rb,5.2719e+02_rb,5.5411e+02_rb/) kbo(:,58,14) = (/ & &3.7836e+02_rb,4.3410e+02_rb,4.8026e+02_rb,5.1754e+02_rb,5.4672e+02_rb/) kbo(:,59,14) = (/ & &3.7094e+02_rb,4.2781e+02_rb,4.7507e+02_rb,5.1348e+02_rb,5.4351e+02_rb/) kbo(:,13,15) = (/ & &7.2633e+02_rb,7.1401e+02_rb,7.0254e+02_rb,6.9098e+02_rb,6.8020e+02_rb/) kbo(:,14,15) = (/ & &8.3011e+02_rb,8.1776e+02_rb,8.0585e+02_rb,7.9323e+02_rb,7.8158e+02_rb/) kbo(:,15,15) = (/ & &9.4371e+02_rb,9.3141e+02_rb,9.1779e+02_rb,9.0358e+02_rb,8.9021e+02_rb/) kbo(:,16,15) = (/ & &1.0657e+03_rb,1.0512e+03_rb,1.0343e+03_rb,1.0183e+03_rb,1.0024e+03_rb/) kbo(:,17,15) = (/ & &1.1900e+03_rb,1.1715e+03_rb,1.1530e+03_rb,1.1344e+03_rb,1.1149e+03_rb/) kbo(:,18,15) = (/ & &1.3144e+03_rb,1.2934e+03_rb,1.2719e+03_rb,1.2491e+03_rb,1.2254e+03_rb/) kbo(:,19,15) = (/ & &1.4395e+03_rb,1.4148e+03_rb,1.3884e+03_rb,1.3607e+03_rb,1.3337e+03_rb/) kbo(:,20,15) = (/ & &1.5639e+03_rb,1.5338e+03_rb,1.5021e+03_rb,1.4707e+03_rb,1.4392e+03_rb/) kbo(:,21,15) = (/ & &1.6839e+03_rb,1.6488e+03_rb,1.6126e+03_rb,1.5763e+03_rb,1.5389e+03_rb/) kbo(:,22,15) = (/ & &1.7952e+03_rb,1.7545e+03_rb,1.7135e+03_rb,1.6710e+03_rb,1.6285e+03_rb/) kbo(:,23,15) = (/ & &1.8976e+03_rb,1.8509e+03_rb,1.8033e+03_rb,1.7556e+03_rb,1.7089e+03_rb/) kbo(:,24,15) = (/ & &1.9890e+03_rb,1.9360e+03_rb,1.8826e+03_rb,1.8303e+03_rb,1.7792e+03_rb/) kbo(:,25,15) = (/ & &2.0674e+03_rb,2.0090e+03_rb,1.9512e+03_rb,1.8940e+03_rb,1.8389e+03_rb/) kbo(:,26,15) = (/ & &2.1327e+03_rb,2.0701e+03_rb,2.0075e+03_rb,1.9460e+03_rb,1.8872e+03_rb/) kbo(:,27,15) = (/ & &2.1871e+03_rb,2.1199e+03_rb,2.0526e+03_rb,1.9878e+03_rb,1.9258e+03_rb/) kbo(:,28,15) = (/ & &2.2305e+03_rb,2.1590e+03_rb,2.0884e+03_rb,2.0207e+03_rb,1.9559e+03_rb/) kbo(:,29,15) = (/ & &2.2640e+03_rb,2.1881e+03_rb,2.1149e+03_rb,2.0446e+03_rb,1.9773e+03_rb/) kbo(:,30,15) = (/ & &2.2867e+03_rb,2.2086e+03_rb,2.1332e+03_rb,2.0610e+03_rb,1.9920e+03_rb/) kbo(:,31,15) = (/ & &2.3021e+03_rb,2.2217e+03_rb,2.1448e+03_rb,2.0709e+03_rb,2.0000e+03_rb/) kbo(:,32,15) = (/ & &2.3102e+03_rb,2.2286e+03_rb,2.1502e+03_rb,2.0751e+03_rb,2.0031e+03_rb/) kbo(:,33,15) = (/ & &2.3126e+03_rb,2.2299e+03_rb,2.1503e+03_rb,2.0747e+03_rb,2.0018e+03_rb/) kbo(:,34,15) = (/ & &2.3131e+03_rb,2.2295e+03_rb,2.1494e+03_rb,2.0730e+03_rb,1.9993e+03_rb/) kbo(:,35,15) = (/ & &2.3181e+03_rb,2.2337e+03_rb,2.1530e+03_rb,2.0757e+03_rb,2.0015e+03_rb/) kbo(:,36,15) = (/ & &2.3296e+03_rb,2.2444e+03_rb,2.1625e+03_rb,2.0844e+03_rb,2.0094e+03_rb/) kbo(:,37,15) = (/ & &2.3524e+03_rb,2.2655e+03_rb,2.1822e+03_rb,2.1029e+03_rb,2.0270e+03_rb/) kbo(:,38,15) = (/ & &2.3744e+03_rb,2.2859e+03_rb,2.2015e+03_rb,2.1208e+03_rb,2.0440e+03_rb/) kbo(:,39,15) = (/ & &2.3947e+03_rb,2.3050e+03_rb,2.2197e+03_rb,2.1376e+03_rb,2.0600e+03_rb/) kbo(:,40,15) = (/ & &2.4238e+03_rb,2.3323e+03_rb,2.2455e+03_rb,2.1621e+03_rb,2.0831e+03_rb/) kbo(:,41,15) = (/ & &2.4535e+03_rb,2.3601e+03_rb,2.2718e+03_rb,2.1873e+03_rb,2.1067e+03_rb/) kbo(:,42,15) = (/ & &2.4827e+03_rb,2.3879e+03_rb,2.2978e+03_rb,2.2120e+03_rb,2.1299e+03_rb/) kbo(:,43,15) = (/ & &2.5170e+03_rb,2.4207e+03_rb,2.3287e+03_rb,2.2417e+03_rb,2.1580e+03_rb/) kbo(:,44,15) = (/ & &2.5535e+03_rb,2.4558e+03_rb,2.3619e+03_rb,2.2731e+03_rb,2.1881e+03_rb/) kbo(:,45,15) = (/ & &2.5895e+03_rb,2.4909e+03_rb,2.3955e+03_rb,2.3046e+03_rb,2.2183e+03_rb/) kbo(:,46,15) = (/ & &2.6275e+03_rb,2.5286e+03_rb,2.4314e+03_rb,2.3383e+03_rb,2.2507e+03_rb/) kbo(:,47,15) = (/ & &2.6692e+03_rb,2.5702e+03_rb,2.4716e+03_rb,2.3766e+03_rb,2.2868e+03_rb/) kbo(:,48,15) = (/ & &2.7104e+03_rb,2.6117e+03_rb,2.5124e+03_rb,2.4158e+03_rb,2.3235e+03_rb/) kbo(:,49,15) = (/ & &2.7515e+03_rb,2.6527e+03_rb,2.5535e+03_rb,2.4553e+03_rb,2.3608e+03_rb/) kbo(:,50,15) = (/ & &2.7894e+03_rb,2.6912e+03_rb,2.5919e+03_rb,2.4928e+03_rb,2.3968e+03_rb/) kbo(:,51,15) = (/ & &2.8258e+03_rb,2.7283e+03_rb,2.6293e+03_rb,2.5297e+03_rb,2.4319e+03_rb/) kbo(:,52,15) = (/ & &2.8615e+03_rb,2.7650e+03_rb,2.6661e+03_rb,2.5667e+03_rb,2.4680e+03_rb/) kbo(:,53,15) = (/ & &2.8958e+03_rb,2.8012e+03_rb,2.7030e+03_rb,2.6033e+03_rb,2.5041e+03_rb/) kbo(:,54,15) = (/ & &2.9257e+03_rb,2.8343e+03_rb,2.7368e+03_rb,2.6377e+03_rb,2.5378e+03_rb/) kbo(:,55,15) = (/ & &2.9533e+03_rb,2.8653e+03_rb,2.7685e+03_rb,2.6697e+03_rb,2.5700e+03_rb/) kbo(:,56,15) = (/ & &2.9793e+03_rb,2.8948e+03_rb,2.8002e+03_rb,2.7018e+03_rb,2.6024e+03_rb/) kbo(:,57,15) = (/ & &3.0042e+03_rb,2.9237e+03_rb,2.8317e+03_rb,2.7340e+03_rb,2.6347e+03_rb/) kbo(:,58,15) = (/ & &3.0257e+03_rb,2.9495e+03_rb,2.8610e+03_rb,2.7641e+03_rb,2.6651e+03_rb/) kbo(:,59,15) = (/ & &3.0338e+03_rb,2.9597e+03_rb,2.8725e+03_rb,2.7761e+03_rb,2.6773e+03_rb/) kbo(:,13,16) = (/ & &1.0026e+03_rb,9.7775e+02_rb,9.6058e+02_rb,9.5314e+02_rb,9.4719e+02_rb/) kbo(:,14,16) = (/ & &1.2035e+03_rb,1.1711e+03_rb,1.1486e+03_rb,1.1339e+03_rb,1.1211e+03_rb/) kbo(:,15,16) = (/ & &1.4371e+03_rb,1.3952e+03_rb,1.3661e+03_rb,1.3423e+03_rb,1.3197e+03_rb/) kbo(:,16,16) = (/ & &1.7031e+03_rb,1.6520e+03_rb,1.6127e+03_rb,1.5775e+03_rb,1.5442e+03_rb/) kbo(:,17,16) = (/ & &2.0034e+03_rb,1.9408e+03_rb,1.8881e+03_rb,1.8394e+03_rb,1.7917e+03_rb/) kbo(:,18,16) = (/ & &2.3372e+03_rb,2.2594e+03_rb,2.1891e+03_rb,2.1223e+03_rb,2.0585e+03_rb/) kbo(:,19,16) = (/ & &2.7003e+03_rb,2.6007e+03_rb,2.5092e+03_rb,2.4222e+03_rb,2.3387e+03_rb/) kbo(:,20,16) = (/ & &3.0827e+03_rb,2.9575e+03_rb,2.8405e+03_rb,2.7290e+03_rb,2.6233e+03_rb/) kbo(:,21,16) = (/ & &3.4765e+03_rb,3.3200e+03_rb,3.1728e+03_rb,3.0348e+03_rb,2.9062e+03_rb/) kbo(:,22,16) = (/ & &3.8557e+03_rb,3.6642e+03_rb,3.4867e+03_rb,3.3227e+03_rb,3.1685e+03_rb/) kbo(:,23,16) = (/ & &4.2141e+03_rb,3.9881e+03_rb,3.7808e+03_rb,3.5882e+03_rb,3.4103e+03_rb/) kbo(:,24,16) = (/ & &4.5433e+03_rb,4.2837e+03_rb,4.0442e+03_rb,3.8246e+03_rb,3.6242e+03_rb/) kbo(:,25,16) = (/ & &4.8340e+03_rb,4.5405e+03_rb,4.2717e+03_rb,4.0284e+03_rb,3.8059e+03_rb/) kbo(:,26,16) = (/ & &5.0756e+03_rb,4.7511e+03_rb,4.4591e+03_rb,4.1940e+03_rb,3.9524e+03_rb/) kbo(:,27,16) = (/ & &5.2698e+03_rb,4.9206e+03_rb,4.6082e+03_rb,4.3247e+03_rb,4.0667e+03_rb/) kbo(:,28,16) = (/ & &5.4203e+03_rb,5.0514e+03_rb,4.7208e+03_rb,4.4225e+03_rb,4.1519e+03_rb/) kbo(:,29,16) = (/ & &5.5225e+03_rb,5.1430e+03_rb,4.7990e+03_rb,4.4889e+03_rb,4.2086e+03_rb/) kbo(:,30,16) = (/ & &5.5968e+03_rb,5.2018e+03_rb,4.8479e+03_rb,4.5299e+03_rb,4.2431e+03_rb/) kbo(:,31,16) = (/ & &5.6319e+03_rb,5.2297e+03_rb,4.8692e+03_rb,4.5471e+03_rb,4.2577e+03_rb/) kbo(:,32,16) = (/ & &5.6393e+03_rb,5.2323e+03_rb,4.8693e+03_rb,4.5451e+03_rb,4.2544e+03_rb/) kbo(:,33,16) = (/ & &5.6219e+03_rb,5.2153e+03_rb,4.8522e+03_rb,4.5281e+03_rb,4.2389e+03_rb/) kbo(:,34,16) = (/ & &5.6014e+03_rb,5.1950e+03_rb,4.8333e+03_rb,4.5105e+03_rb,4.2225e+03_rb/) kbo(:,35,16) = (/ & &5.6085e+03_rb,5.1993e+03_rb,4.8360e+03_rb,4.5120e+03_rb,4.2238e+03_rb/) kbo(:,36,16) = (/ & &5.6508e+03_rb,5.2362e+03_rb,4.8672e+03_rb,4.5401e+03_rb,4.2477e+03_rb/) kbo(:,37,16) = (/ & &5.7523e+03_rb,5.3259e+03_rb,4.9464e+03_rb,4.6095e+03_rb,4.3092e+03_rb/) kbo(:,38,16) = (/ & &5.8536e+03_rb,5.4145e+03_rb,5.0247e+03_rb,4.6788e+03_rb,4.3703e+03_rb/) kbo(:,39,16) = (/ & &5.9499e+03_rb,5.4442e+03_rb,5.0495e+03_rb,4.7451e+03_rb,4.4289e+03_rb/) kbo(:,40,16) = (/ & &6.0943e+03_rb,5.6261e+03_rb,5.2115e+03_rb,4.8437e+03_rb,4.5174e+03_rb/) kbo(:,41,16) = (/ & &6.2466e+03_rb,5.7599e+03_rb,5.3292e+03_rb,4.9481e+03_rb,4.6100e+03_rb/) kbo(:,42,16) = (/ & &6.4016e+03_rb,5.8949e+03_rb,5.4490e+03_rb,5.0540e+03_rb,4.7039e+03_rb/) kbo(:,43,16) = (/ & &6.5921e+03_rb,6.0603e+03_rb,5.5952e+03_rb,5.1830e+03_rb,4.8181e+03_rb/) kbo(:,44,16) = (/ & &6.8054e+03_rb,6.2437e+03_rb,5.7562e+03_rb,5.3258e+03_rb,4.9439e+03_rb/) kbo(:,45,16) = (/ & &7.0283e+03_rb,6.4351e+03_rb,5.9235e+03_rb,5.4736e+03_rb,5.0747e+03_rb/) kbo(:,46,16) = (/ & &7.2775e+03_rb,6.6473e+03_rb,6.1076e+03_rb,5.6361e+03_rb,5.2188e+03_rb/) kbo(:,47,16) = (/ & &7.5694e+03_rb,6.8970e+03_rb,6.3223e+03_rb,5.8241e+03_rb,5.3852e+03_rb/) kbo(:,48,16) = (/ & &7.8805e+03_rb,7.1623e+03_rb,6.5487e+03_rb,6.0220e+03_rb,5.5600e+03_rb/) kbo(:,49,16) = (/ & &8.2112e+03_rb,7.4430e+03_rb,6.7899e+03_rb,6.2293e+03_rb,5.7432e+03_rb/) kbo(:,50,16) = (/ & &8.5417e+03_rb,7.7234e+03_rb,7.0279e+03_rb,6.4340e+03_rb,5.9223e+03_rb/) kbo(:,51,16) = (/ & &8.8820e+03_rb,8.0126e+03_rb,7.2736e+03_rb,6.6439e+03_rb,6.1042e+03_rb/) kbo(:,52,16) = (/ & &9.2420e+03_rb,8.3170e+03_rb,7.5326e+03_rb,6.8651e+03_rb,6.2940e+03_rb/) kbo(:,53,16) = (/ & &9.6269e+03_rb,8.6414e+03_rb,7.8081e+03_rb,7.0991e+03_rb,6.4953e+03_rb/) kbo(:,54,16) = (/ & &1.0002e+04_rb,8.9556e+03_rb,8.0739e+03_rb,7.3265e+03_rb,6.6894e+03_rb/) kbo(:,55,16) = (/ & &1.0382e+04_rb,9.2723e+03_rb,8.3431e+03_rb,7.5548e+03_rb,6.8840e+03_rb/) kbo(:,56,16) = (/ & &1.0780e+04_rb,9.6091e+03_rb,8.6265e+03_rb,7.7944e+03_rb,7.0899e+03_rb/) kbo(:,57,16) = (/ & &1.1201e+04_rb,9.9648e+03_rb,8.9241e+03_rb,8.0480e+03_rb,7.3039e+03_rb/) kbo(:,58,16) = (/ & &1.1621e+04_rb,1.0321e+04_rb,9.2223e+03_rb,8.3005e+03_rb,7.5182e+03_rb/) kbo(:,59,16) = (/ & &1.1796e+04_rb,1.0468e+04_rb,9.3476e+03_rb,8.4058e+03_rb,7.6078e+03_rb/) ! The array KAO_Mxx contains the absorption coefficient for ! a minor species at the 16 chosen g-values for a reference pressure ! level below 100~ mb. The first index refers to temperature ! in 7.2 degree increments. For instance, JT = 1 refers to a ! temperature of 188.0, JT = 2 refers to 195.2, etc. The second index ! runs over the g-channel (1 to 16). kao_mo2(:, 1) = (/ & & 2.31723e-06_rb, 2.28697e-06_rb, 2.25710e-06_rb, 2.22762e-06_rb, 2.19852e-06_rb, & & 2.16981e-06_rb, 2.14147e-06_rb, 2.11350e-06_rb, 2.08590e-06_rb, 2.05865e-06_rb, & & 2.03176e-06_rb, 2.00523e-06_rb, 1.97904e-06_rb, 1.95319e-06_rb, 1.92768e-06_rb, & & 1.90250e-06_rb, 1.87765e-06_rb, 1.85313e-06_rb, 1.82893e-06_rb/) kao_mo2(:, 2) = (/ & & 1.81980e-06_rb, 1.81352e-06_rb, 1.80726e-06_rb, 1.80101e-06_rb, 1.79479e-06_rb, & & 1.78860e-06_rb, 1.78242e-06_rb, 1.77626e-06_rb, 1.77013e-06_rb, 1.76402e-06_rb, & & 1.75792e-06_rb, 1.75185e-06_rb, 1.74580e-06_rb, 1.73977e-06_rb, 1.73377e-06_rb, & & 1.72778e-06_rb, 1.72181e-06_rb, 1.71587e-06_rb, 1.70994e-06_rb/) kao_mo2(:, 3) = (/ & & 2.26922e-06_rb, 2.25413e-06_rb, 2.23914e-06_rb, 2.22425e-06_rb, 2.20945e-06_rb, & & 2.19476e-06_rb, 2.18016e-06_rb, 2.16566e-06_rb, 2.15126e-06_rb, 2.13695e-06_rb, & & 2.12274e-06_rb, 2.10862e-06_rb, 2.09459e-06_rb, 2.08066e-06_rb, 2.06683e-06_rb, & & 2.05308e-06_rb, 2.03942e-06_rb, 2.02586e-06_rb, 2.01239e-06_rb/) kao_mo2(:, 4) = (/ & & 2.15555e-06_rb, 2.14539e-06_rb, 2.13527e-06_rb, 2.12520e-06_rb, 2.11517e-06_rb, & & 2.10520e-06_rb, 2.09527e-06_rb, 2.08538e-06_rb, 2.07555e-06_rb, 2.06576e-06_rb, & & 2.05601e-06_rb, 2.04631e-06_rb, 2.03666e-06_rb, 2.02706e-06_rb, 2.01749e-06_rb, & & 2.00798e-06_rb, 1.99851e-06_rb, 1.98908e-06_rb, 1.97970e-06_rb/) kao_mo2(:, 5) = (/ & & 2.05821e-06_rb, 2.04914e-06_rb, 2.04011e-06_rb, 2.03111e-06_rb, 2.02216e-06_rb, & & 2.01324e-06_rb, 2.00437e-06_rb, 1.99553e-06_rb, 1.98673e-06_rb, 1.97798e-06_rb, & & 1.96926e-06_rb, 1.96057e-06_rb, 1.95193e-06_rb, 1.94333e-06_rb, 1.93476e-06_rb, & & 1.92623e-06_rb, 1.91774e-06_rb, 1.90928e-06_rb, 1.90087e-06_rb/) kao_mo2(:, 6) = (/ & & 2.20148e-06_rb, 2.18998e-06_rb, 2.17854e-06_rb, 2.16717e-06_rb, 2.15585e-06_rb, & & 2.14459e-06_rb, 2.13339e-06_rb, 2.12225e-06_rb, 2.11117e-06_rb, 2.10014e-06_rb, & & 2.08918e-06_rb, 2.07827e-06_rb, 2.06741e-06_rb, 2.05662e-06_rb, 2.04588e-06_rb, & & 2.03519e-06_rb, 2.02457e-06_rb, 2.01399e-06_rb, 2.00348e-06_rb/) kao_mo2(:, 7) = (/ & & 2.28960e-06_rb, 2.27651e-06_rb, 2.26349e-06_rb, 2.25054e-06_rb, 2.23767e-06_rb, & & 2.22487e-06_rb, 2.21215e-06_rb, 2.19950e-06_rb, 2.18692e-06_rb, 2.17441e-06_rb, & & 2.16198e-06_rb, 2.14961e-06_rb, 2.13732e-06_rb, 2.12509e-06_rb, 2.11294e-06_rb, & & 2.10085e-06_rb, 2.08884e-06_rb, 2.07689e-06_rb, 2.06501e-06_rb/) kao_mo2(:, 8) = (/ & & 2.28564e-06_rb, 2.27363e-06_rb, 2.26168e-06_rb, 2.24980e-06_rb, 2.23798e-06_rb, & & 2.22622e-06_rb, 2.21452e-06_rb, 2.20288e-06_rb, 2.19131e-06_rb, 2.17980e-06_rb, & & 2.16834e-06_rb, 2.15695e-06_rb, 2.14562e-06_rb, 2.13434e-06_rb, 2.12313e-06_rb, & & 2.11197e-06_rb, 2.10087e-06_rb, 2.08984e-06_rb, 2.07886e-06_rb/) kao_mo2(:, 9) = (/ & & 2.28505e-06_rb, 2.27395e-06_rb, 2.26291e-06_rb, 2.25192e-06_rb, 2.24099e-06_rb, & & 2.23011e-06_rb, 2.21928e-06_rb, 2.20850e-06_rb, 2.19778e-06_rb, 2.18711e-06_rb, & & 2.17649e-06_rb, 2.16592e-06_rb, 2.15540e-06_rb, 2.14494e-06_rb, 2.13452e-06_rb, & & 2.12416e-06_rb, 2.11385e-06_rb, 2.10358e-06_rb, 2.09337e-06_rb/) kao_mo2(:,10) = (/ & & 2.25915e-06_rb, 2.24938e-06_rb, 2.23965e-06_rb, 2.22997e-06_rb, 2.22032e-06_rb, & & 2.21072e-06_rb, 2.20116e-06_rb, 2.19164e-06_rb, 2.18216e-06_rb, 2.17272e-06_rb, & & 2.16333e-06_rb, 2.15397e-06_rb, 2.14465e-06_rb, 2.13538e-06_rb, 2.12614e-06_rb, & & 2.11695e-06_rb, 2.10779e-06_rb, 2.09868e-06_rb, 2.08960e-06_rb/) kao_mo2(:,11) = (/ & & 2.52025e-06_rb, 2.50423e-06_rb, 2.48831e-06_rb, 2.47249e-06_rb, 2.45677e-06_rb, & & 2.44115e-06_rb, 2.42563e-06_rb, 2.41021e-06_rb, 2.39489e-06_rb, 2.37967e-06_rb, & & 2.36454e-06_rb, 2.34951e-06_rb, 2.33457e-06_rb, 2.31973e-06_rb, 2.30498e-06_rb, & & 2.29033e-06_rb, 2.27577e-06_rb, 2.26130e-06_rb, 2.24692e-06_rb/) kao_mo2(:,12) = (/ & & 2.52634e-06_rb, 2.51180e-06_rb, 2.49735e-06_rb, 2.48299e-06_rb, 2.46871e-06_rb, & & 2.45451e-06_rb, 2.44039e-06_rb, 2.42635e-06_rb, 2.41239e-06_rb, 2.39851e-06_rb, & & 2.38472e-06_rb, 2.37100e-06_rb, 2.35736e-06_rb, 2.34380e-06_rb, 2.33032e-06_rb, & & 2.31691e-06_rb, 2.30358e-06_rb, 2.29033e-06_rb, 2.27716e-06_rb/) kao_mo2(:,13) = (/ & & 2.66614e-06_rb, 2.64897e-06_rb, 2.63191e-06_rb, 2.61496e-06_rb, 2.59812e-06_rb, & & 2.58138e-06_rb, 2.56476e-06_rb, 2.54824e-06_rb, 2.53183e-06_rb, 2.51552e-06_rb, & & 2.49932e-06_rb, 2.48322e-06_rb, 2.46723e-06_rb, 2.45134e-06_rb, 2.43555e-06_rb, & & 2.41987e-06_rb, 2.40428e-06_rb, 2.38880e-06_rb, 2.37341e-06_rb/) kao_mo2(:,14) = (/ & & 2.96755e-06_rb, 2.94803e-06_rb, 2.92864e-06_rb, 2.90937e-06_rb, 2.89023e-06_rb, & & 2.87122e-06_rb, 2.85233e-06_rb, 2.83357e-06_rb, 2.81493e-06_rb, 2.79641e-06_rb, & & 2.77802e-06_rb, 2.75974e-06_rb, 2.74159e-06_rb, 2.72355e-06_rb, 2.70563e-06_rb, & & 2.68784e-06_rb, 2.67015e-06_rb, 2.65259e-06_rb, 2.63514e-06_rb/) kao_mo2(:,15) = (/ & & 1.30668e-06_rb, 1.31378e-06_rb, 1.32091e-06_rb, 1.32808e-06_rb, 1.33530e-06_rb, & & 1.34255e-06_rb, 1.34984e-06_rb, 1.35717e-06_rb, 1.36454e-06_rb, 1.37195e-06_rb, & & 1.37941e-06_rb, 1.38690e-06_rb, 1.39443e-06_rb, 1.40200e-06_rb, 1.40962e-06_rb, & & 1.41727e-06_rb, 1.42497e-06_rb, 1.43271e-06_rb, 1.44049e-06_rb/) kao_mo2(:,16) = (/ & & 5.99001e-07_rb, 6.16844e-07_rb, 6.35219e-07_rb, 6.54141e-07_rb, 6.73626e-07_rb, & & 6.93692e-07_rb, 7.14356e-07_rb, 7.35635e-07_rb, 7.57548e-07_rb, 7.80114e-07_rb, & & 8.03352e-07_rb, 8.27282e-07_rb, 8.51925e-07_rb, 8.77302e-07_rb, 9.03435e-07_rb, & & 9.30347e-07_rb, 9.58060e-07_rb, 9.86599e-07_rb, 1.01599e-06_rb/) ! The array KBO_Mxx contains the absorption coefficient for ! a minor species at the 16 chosen g-values for a reference pressure ! level above 100~ mb. The first index refers to temperature ! in 7.2 degree increments. For instance, JT = 1 refers to a ! temperature of 188.0, JT = 2 refers to 195.2, etc. The second index ! runs over the g-channel (1 to 16). kbo_mo2(:, 1) = (/ & & 4.97626e-07_rb, 5.05955e-07_rb, 5.14424e-07_rb, 5.23034e-07_rb, 5.31789e-07_rb, & & 5.40690e-07_rb, 5.49739e-07_rb, 5.58941e-07_rb, 5.68296e-07_rb, 5.77808e-07_rb, & & 5.87479e-07_rb, 5.97312e-07_rb, 6.07310e-07_rb, 6.17475e-07_rb, 6.27810e-07_rb, & & 6.38318e-07_rb, 6.49002e-07_rb, 6.59865e-07_rb, 6.70910e-07_rb/) kbo_mo2(:, 2) = (/ & & 3.10232e-06_rb, 3.06339e-06_rb, 3.02496e-06_rb, 2.98700e-06_rb, 2.94952e-06_rb, & & 2.91252e-06_rb, 2.87597e-06_rb, 2.83989e-06_rb, 2.80426e-06_rb, 2.76907e-06_rb, & & 2.73433e-06_rb, 2.70002e-06_rb, 2.66614e-06_rb, 2.63269e-06_rb, 2.59966e-06_rb, & & 2.56704e-06_rb, 2.53483e-06_rb, 2.50303e-06_rb, 2.47162e-06_rb/) kbo_mo2(:, 3) = (/ & & 2.91635e-06_rb, 2.88637e-06_rb, 2.85669e-06_rb, 2.82733e-06_rb, 2.79826e-06_rb, & & 2.76949e-06_rb, 2.74102e-06_rb, 2.71284e-06_rb, 2.68495e-06_rb, 2.65735e-06_rb, & & 2.63003e-06_rb, 2.60299e-06_rb, 2.57623e-06_rb, 2.54975e-06_rb, 2.52353e-06_rb, & & 2.49759e-06_rb, 2.47191e-06_rb, 2.44650e-06_rb, 2.42135e-06_rb/) kbo_mo2(:, 4) = (/ & & 3.15584e-06_rb, 3.11986e-06_rb, 3.08430e-06_rb, 3.04914e-06_rb, 3.01438e-06_rb, & & 2.98002e-06_rb, 2.94605e-06_rb, 2.91247e-06_rb, 2.87927e-06_rb, 2.84645e-06_rb, & & 2.81400e-06_rb, 2.78192e-06_rb, 2.75021e-06_rb, 2.71886e-06_rb, 2.68787e-06_rb, & & 2.65723e-06_rb, 2.62694e-06_rb, 2.59699e-06_rb, 2.56739e-06_rb/) kbo_mo2(:, 5) = (/ & & 2.52067e-06_rb, 2.50127e-06_rb, 2.48202e-06_rb, 2.46291e-06_rb, 2.44396e-06_rb, & & 2.42515e-06_rb, 2.40648e-06_rb, 2.38796e-06_rb, 2.36958e-06_rb, 2.35134e-06_rb, & & 2.33324e-06_rb, 2.31529e-06_rb, 2.29747e-06_rb, 2.27978e-06_rb, 2.26224e-06_rb, & & 2.24482e-06_rb, 2.22755e-06_rb, 2.21040e-06_rb, 2.19339e-06_rb/) kbo_mo2(:, 6) = (/ & & 2.37304e-06_rb, 2.36340e-06_rb, 2.35380e-06_rb, 2.34423e-06_rb, 2.33471e-06_rb, & & 2.32522e-06_rb, 2.31578e-06_rb, 2.30637e-06_rb, 2.29700e-06_rb, 2.28766e-06_rb, & & 2.27837e-06_rb, 2.26911e-06_rb, 2.25989e-06_rb, 2.25071e-06_rb, 2.24157e-06_rb, & & 2.23246e-06_rb, 2.22339e-06_rb, 2.21436e-06_rb, 2.20536e-06_rb/) kbo_mo2(:, 7) = (/ & & 2.56366e-06_rb, 2.56395e-06_rb, 2.56424e-06_rb, 2.56453e-06_rb, 2.56482e-06_rb, & & 2.56510e-06_rb, 2.56539e-06_rb, 2.56568e-06_rb, 2.56597e-06_rb, 2.56625e-06_rb, & & 2.56654e-06_rb, 2.56683e-06_rb, 2.56712e-06_rb, 2.56741e-06_rb, 2.56769e-06_rb, & & 2.56798e-06_rb, 2.56827e-06_rb, 2.56856e-06_rb, 2.56885e-06_rb/) kbo_mo2(:, 8) = (/ & & 2.54502e-06_rb, 2.55393e-06_rb, 2.56287e-06_rb, 2.57185e-06_rb, 2.58085e-06_rb, & & 2.58989e-06_rb, 2.59896e-06_rb, 2.60806e-06_rb, 2.61719e-06_rb, 2.62636e-06_rb, & & 2.63555e-06_rb, 2.64478e-06_rb, 2.65404e-06_rb, 2.66334e-06_rb, 2.67266e-06_rb, & & 2.68202e-06_rb, 2.69141e-06_rb, 2.70084e-06_rb, 2.71030e-06_rb/) kbo_mo2(:, 9) = (/ & & 1.84106e-06_rb, 1.83922e-06_rb, 1.83737e-06_rb, 1.83553e-06_rb, 1.83369e-06_rb, & & 1.83186e-06_rb, 1.83002e-06_rb, 1.82819e-06_rb, 1.82636e-06_rb, 1.82453e-06_rb, & & 1.82270e-06_rb, 1.82087e-06_rb, 1.81905e-06_rb, 1.81723e-06_rb, 1.81541e-06_rb, & & 1.81359e-06_rb, 1.81177e-06_rb, 1.80996e-06_rb, 1.80814e-06_rb/) kbo_mo2(:,10) = (/ & & 1.83886e-06_rb, 1.83632e-06_rb, 1.83379e-06_rb, 1.83126e-06_rb, 1.82874e-06_rb, & & 1.82622e-06_rb, 1.82370e-06_rb, 1.82119e-06_rb, 1.81868e-06_rb, 1.81617e-06_rb, & & 1.81367e-06_rb, 1.81117e-06_rb, 1.80867e-06_rb, 1.80618e-06_rb, 1.80369e-06_rb, & & 1.80120e-06_rb, 1.79872e-06_rb, 1.79624e-06_rb, 1.79377e-06_rb/) kbo_mo2(:,11) = (/ & & 2.30390e-06_rb, 2.30269e-06_rb, 2.30148e-06_rb, 2.30028e-06_rb, 2.29907e-06_rb, & & 2.29787e-06_rb, 2.29667e-06_rb, 2.29546e-06_rb, 2.29426e-06_rb, 2.29306e-06_rb, & & 2.29186e-06_rb, 2.29066e-06_rb, 2.28946e-06_rb, 2.28826e-06_rb, 2.28706e-06_rb, & & 2.28586e-06_rb, 2.28466e-06_rb, 2.28347e-06_rb, 2.28227e-06_rb/) kbo_mo2(:,12) = (/ & & 2.38201e-06_rb, 2.36536e-06_rb, 2.34882e-06_rb, 2.33240e-06_rb, 2.31609e-06_rb, & & 2.29990e-06_rb, 2.28382e-06_rb, 2.26785e-06_rb, 2.25199e-06_rb, 2.23625e-06_rb, & & 2.22061e-06_rb, 2.20508e-06_rb, 2.18967e-06_rb, 2.17436e-06_rb, 2.15915e-06_rb, & & 2.14406e-06_rb, 2.12907e-06_rb, 2.11418e-06_rb, 2.09940e-06_rb/) kbo_mo2(:,13) = (/ & & 2.33326e-06_rb, 2.32549e-06_rb, 2.31775e-06_rb, 2.31003e-06_rb, 2.30234e-06_rb, & & 2.29467e-06_rb, 2.28703e-06_rb, 2.27941e-06_rb, 2.27182e-06_rb, 2.26426e-06_rb, & & 2.25672e-06_rb, 2.24920e-06_rb, 2.24171e-06_rb, 2.23424e-06_rb, 2.22680e-06_rb, & & 2.21939e-06_rb, 2.21200e-06_rb, 2.20463e-06_rb, 2.19729e-06_rb/) kbo_mo2(:,14) = (/ & & 2.75292e-06_rb, 2.75210e-06_rb, 2.75129e-06_rb, 2.75047e-06_rb, 2.74965e-06_rb, & & 2.74883e-06_rb, 2.74801e-06_rb, 2.74720e-06_rb, 2.74638e-06_rb, 2.74556e-06_rb, & & 2.74475e-06_rb, 2.74393e-06_rb, 2.74311e-06_rb, 2.74230e-06_rb, 2.74148e-06_rb, & & 2.74067e-06_rb, 2.73985e-06_rb, 2.73904e-06_rb, 2.73822e-06_rb/) kbo_mo2(:,15) = (/ & & 2.55262e-06_rb, 2.53364e-06_rb, 2.51480e-06_rb, 2.49611e-06_rb, 2.47755e-06_rb, & & 2.45913e-06_rb, 2.44084e-06_rb, 2.42269e-06_rb, 2.40468e-06_rb, 2.38680e-06_rb, & & 2.36906e-06_rb, 2.35144e-06_rb, 2.33396e-06_rb, 2.31660e-06_rb, 2.29938e-06_rb, & & 2.28228e-06_rb, 2.26531e-06_rb, 2.24847e-06_rb, 2.23175e-06_rb/) kbo_mo2(:,16) = (/ & & 3.11382e-06_rb, 3.08751e-06_rb, 3.06141e-06_rb, 3.03554e-06_rb, 3.00989e-06_rb, & & 2.98445e-06_rb, 2.95923e-06_rb, 2.93422e-06_rb, 2.90942e-06_rb, 2.88483e-06_rb, & & 2.86045e-06_rb, 2.83628e-06_rb, 2.81231e-06_rb, 2.78854e-06_rb, 2.76498e-06_rb, & & 2.74161e-06_rb, 2.71844e-06_rb, 2.69547e-06_rb, 2.67269e-06_rb/) ! The array FORREFO contains the coefficient of the water vapor ! foreign-continuum (including the energy term). The first ! index refers to reference temperature (296,260,224,260) and ! pressure (970,475,219,3 mbar) levels. The second index ! runs over the g-channel (1 to 16). forrefo(1,:) = (/ & &2.8858e-02_rb,3.6879e-02_rb,4.0746e-02_rb,4.2561e-02_rb,4.2740e-02_rb,4.2707e-02_rb, & &4.4109e-02_rb,4.4540e-02_rb,4.5206e-02_rb,4.4679e-02_rb,4.5034e-02_rb,4.5364e-02_rb, & &4.6790e-02_rb,4.7857e-02_rb,4.8328e-02_rb,4.8084e-02_rb/) forrefo(2,:) = (/ & &2.7887e-02_rb,3.7376e-02_rb,4.0980e-02_rb,4.2986e-02_rb,4.3054e-02_rb,4.2975e-02_rb, & &4.3754e-02_rb,4.4352e-02_rb,4.4723e-02_rb,4.6236e-02_rb,4.5273e-02_rb,4.5360e-02_rb, & &4.5332e-02_rb,4.7587e-02_rb,4.7035e-02_rb,5.0267e-02_rb/) forrefo(3,:) = (/ & &2.5846e-02_rb,3.6753e-02_rb,4.2334e-02_rb,4.3806e-02_rb,4.3848e-02_rb,4.3215e-02_rb, & &4.3838e-02_rb,4.4278e-02_rb,4.4658e-02_rb,4.5403e-02_rb,4.5255e-02_rb,4.6347e-02_rb, & &4.4722e-02_rb,4.6612e-02_rb,4.6836e-02_rb,4.8720e-02_rb/) forrefo(4,:) = (/ & &2.8955e-02_rb,3.7608e-02_rb,4.1989e-02_rb,4.4919e-02_rb,4.2803e-02_rb,4.2842e-02_rb, & &4.2632e-02_rb,4.1056e-02_rb,4.0086e-02_rb,4.1401e-02_rb,4.2746e-02_rb,4.2142e-02_rb, & &4.1871e-02_rb,4.3917e-02_rb,4.5462e-02_rb,4.8359e-02_rb/) ! The array SELFREFO contains the coefficient of the water vapor ! self-continuum (including the energy term). The first index ! refers to temperature in 7.2 degree increments. For instance, ! JT = 1 refers to a temperature of 245.6, JT = 2 refers to 252.8, ! etc. The second index runs over the g-channel (1 to 16). selfrefo(:, 1) = (/ & & 5.96496e-01_rb, 5.49171e-01_rb, 5.05600e-01_rb, 4.65486e-01_rb, 4.28555e-01_rb, & & 3.94554e-01_rb, 3.63250e-01_rb, 3.34430e-01_rb, 3.07897e-01_rb, 2.83468e-01_rb/) selfrefo(:, 2) = (/ & & 7.46455e-01_rb, 6.82459e-01_rb, 6.23950e-01_rb, 5.70457e-01_rb, 5.21550e-01_rb, & & 4.76836e-01_rb, 4.35956e-01_rb, 3.98580e-01_rb, 3.64409e-01_rb, 3.33167e-01_rb/) selfrefo(:, 3) = (/ & & 7.86805e-01_rb, 7.21186e-01_rb, 6.61040e-01_rb, 6.05910e-01_rb, 5.55378e-01_rb, & & 5.09059e-01_rb, 4.66605e-01_rb, 4.27690e-01_rb, 3.92021e-01_rb, 3.59327e-01_rb/) selfrefo(:, 4) = (/ & & 8.11740e-01_rb, 7.44359e-01_rb, 6.82570e-01_rb, 6.25910e-01_rb, 5.73954e-01_rb, & & 5.26311e-01_rb, 4.82622e-01_rb, 4.42560e-01_rb, 4.05823e-01_rb, 3.72136e-01_rb/) selfrefo(:, 5) = (/ & & 8.14870e-01_rb, 7.47200e-01_rb, 6.85150e-01_rb, 6.28253e-01_rb, 5.76081e-01_rb, & & 5.28241e-01_rb, 4.84374e-01_rb, 4.44150e-01_rb, 4.07266e-01_rb, 3.73446e-01_rb/) selfrefo(:, 6) = (/ & & 8.10104e-01_rb, 7.43259e-01_rb, 6.81930e-01_rb, 6.25661e-01_rb, 5.74035e-01_rb, & & 5.26669e-01_rb, 4.83212e-01_rb, 4.43340e-01_rb, 4.06758e-01_rb, 3.73195e-01_rb/) selfrefo(:, 7) = (/ & & 8.13119e-01_rb, 7.48127e-01_rb, 6.88330e-01_rb, 6.33312e-01_rb, 5.82692e-01_rb, & & 5.36118e-01_rb, 4.93267e-01_rb, 4.53840e-01_rb, 4.17565e-01_rb, 3.84189e-01_rb/) selfrefo(:, 8) = (/ & & 8.26137e-01_rb, 7.58984e-01_rb, 6.97290e-01_rb, 6.40611e-01_rb, 5.88539e-01_rb, & & 5.40699e-01_rb, 4.96748e-01_rb, 4.56370e-01_rb, 4.19274e-01_rb, 3.85193e-01_rb/) selfrefo(:, 9) = (/ & & 8.30566e-01_rb, 7.63984e-01_rb, 7.02740e-01_rb, 6.46405e-01_rb, 5.94587e-01_rb, & & 5.46922e-01_rb, 5.03079e-01_rb, 4.62750e-01_rb, 4.25654e-01_rb, 3.91532e-01_rb/) selfrefo(:,10) = (/ & & 8.67471e-01_rb, 7.91575e-01_rb, 7.22320e-01_rb, 6.59124e-01_rb, 6.01457e-01_rb, & & 5.48835e-01_rb, 5.00817e-01_rb, 4.57000e-01_rb, 4.17017e-01_rb, 3.80532e-01_rb/) selfrefo(:,11) = (/ & & 8.51029e-01_rb, 7.79373e-01_rb, 7.13750e-01_rb, 6.53652e-01_rb, 5.98615e-01_rb, & & 5.48212e-01_rb, 5.02053e-01_rb, 4.59780e-01_rb, 4.21067e-01_rb, 3.85613e-01_rb/) selfrefo(:,12) = (/ & & 8.36772e-01_rb, 7.68751e-01_rb, 7.06260e-01_rb, 6.48848e-01_rb, 5.96104e-01_rb, & & 5.47647e-01_rb, 5.03129e-01_rb, 4.62230e-01_rb, 4.24655e-01_rb, 3.90136e-01_rb/) selfrefo(:,13) = (/ & & 8.36551e-01_rb, 7.71089e-01_rb, 7.10750e-01_rb, 6.55133e-01_rb, 6.03867e-01_rb, & & 5.56614e-01_rb, 5.13058e-01_rb, 4.72910e-01_rb, 4.35904e-01_rb, 4.01794e-01_rb/) selfrefo(:,14) = (/ & & 8.84307e-01_rb, 8.11175e-01_rb, 7.44090e-01_rb, 6.82553e-01_rb, 6.26106e-01_rb, & & 5.74326e-01_rb, 5.26829e-01_rb, 4.83260e-01_rb, 4.43294e-01_rb, 4.06633e-01_rb/) selfrefo(:,15) = (/ & & 8.90356e-01_rb, 8.19830e-01_rb, 7.54890e-01_rb, 6.95094e-01_rb, 6.40035e-01_rb, & & 5.89337e-01_rb, 5.42655e-01_rb, 4.99670e-01_rb, 4.60090e-01_rb, 4.23646e-01_rb/) selfrefo(:,16) = (/ & & 9.67549e-01_rb, 8.79393e-01_rb, 7.99270e-01_rb, 7.26447e-01_rb, 6.60259e-01_rb, & & 6.00101e-01_rb, 5.45425e-01_rb, 4.95730e-01_rb, 4.50563e-01_rb, 4.09511e-01_rb/) end subroutine lw_kgb11 ! ************************************************************************** subroutine lw_kgb12 ! ************************************************************************** use parkind, only : im => kind_im, rb => kind_rb use rrlw_kg12, only : fracrefao, kao, selfrefo, forrefo implicit none save ! Planck fraction mapping level : P = 174.1640 mbar, T= 215.78 K fracrefao(:, 1) = (/ & & 1.3984e-01_rb,1.6809e-01_rb,1.8072e-01_rb,1.5400e-01_rb,1.2613e-01_rb,9.6959e-02_rb, & & 5.9713e-02_rb,3.8631e-02_rb,2.6937e-02_rb,3.1711e-03_rb,2.3458e-03_rb,1.4653e-03_rb, & & 1.0567e-03_rb,6.6504e-04_rb,2.4957e-04_rb,3.5172e-05_rb/) fracrefao(:, 2) = (/ & & 1.2745e-01_rb,1.6107e-01_rb,1.6568e-01_rb,1.5436e-01_rb,1.3183e-01_rb,1.0166e-01_rb, & & 6.4506e-02_rb,4.7756e-02_rb,3.4472e-02_rb,3.7189e-03_rb,2.9349e-03_rb,2.1469e-03_rb, & & 1.3746e-03_rb,7.1691e-04_rb,2.8057e-04_rb,5.6242e-05_rb/) fracrefao(:, 3) = (/ & & 1.2181e-01_rb,1.5404e-01_rb,1.6540e-01_rb,1.5255e-01_rb,1.3736e-01_rb,9.8856e-02_rb, & & 6.8927e-02_rb,5.1385e-02_rb,3.7046e-02_rb,4.0302e-03_rb,3.0949e-03_rb,2.3772e-03_rb, & & 1.6538e-03_rb,8.9641e-04_rb,4.6991e-04_rb,1.1251e-04_rb/) fracrefao(:, 4) = (/ & & 1.1794e-01_rb,1.4864e-01_rb,1.6316e-01_rb,1.5341e-01_rb,1.3986e-01_rb,9.6656e-02_rb, & & 7.2478e-02_rb,5.5061e-02_rb,3.8886e-02_rb,4.3398e-03_rb,3.3576e-03_rb,2.4891e-03_rb, & & 1.7674e-03_rb,1.0764e-03_rb,7.7689e-04_rb,1.1251e-04_rb/) fracrefao(:, 5) = (/ & & 1.1635e-01_rb,1.4342e-01_rb,1.5924e-01_rb,1.5670e-01_rb,1.3740e-01_rb,9.7087e-02_rb, & & 7.6250e-02_rb,5.7802e-02_rb,4.0808e-02_rb,4.4113e-03_rb,3.6035e-03_rb,2.6269e-03_rb, & & 1.7586e-03_rb,1.6498e-03_rb,7.7689e-04_rb,1.1251e-04_rb/) fracrefao(:, 6) = (/ & & 1.1497e-01_rb,1.3751e-01_rb,1.5587e-01_rb,1.5904e-01_rb,1.3140e-01_rb,1.0159e-01_rb, & & 7.9729e-02_rb,6.1475e-02_rb,4.2382e-02_rb,4.5291e-03_rb,3.8161e-03_rb,2.7683e-03_rb, & & 1.9899e-03_rb,2.0395e-03_rb,7.7720e-04_rb,1.1251e-04_rb/) fracrefao(:, 7) = (/ & & 1.1331e-01_rb,1.3015e-01_rb,1.5574e-01_rb,1.5489e-01_rb,1.2697e-01_rb,1.0746e-01_rb, & & 8.4777e-02_rb,6.5145e-02_rb,4.4293e-02_rb,4.7426e-03_rb,3.8383e-03_rb,2.9065e-03_rb, & & 2.8430e-03_rb,2.0401e-03_rb,7.7689e-04_rb,1.1251e-04_rb/) fracrefao(:, 8) = (/ & & 1.0993e-01_rb,1.2320e-01_rb,1.4893e-01_rb,1.4573e-01_rb,1.3174e-01_rb,1.1149e-01_rb, & & 9.3326e-02_rb,6.9942e-02_rb,4.6762e-02_rb,4.9309e-03_rb,3.8583e-03_rb,4.1889e-03_rb, & & 3.0415e-03_rb,2.0406e-03_rb,7.7720e-04_rb,1.1251e-04_rb/) fracrefao(:, 9) = (/ & & 1.2028e-01_rb,1.2091e-01_rb,1.3098e-01_rb,1.3442e-01_rb,1.3574e-01_rb,1.1739e-01_rb, & & 9.5343e-02_rb,7.0224e-02_rb,5.3456e-02_rb,6.0206e-03_rb,5.0758e-03_rb,4.1906e-03_rb, & & 3.0431e-03_rb,2.0400e-03_rb,7.7689e-04_rb,1.1251e-04_rb/) ! The array KAO contains absorption coefs for each of the 16 g-intervals ! for a range of pressure levels > ~100mb, temperatures, and ratios ! of water vapor to CO2. The first index in the array, JS, runs ! from 1 to 10, and corresponds to different gas column amount ratios, ! as expressed through the binary species parameter eta, defined as ! eta = gas1/(gas1 + (rat) * gas2), where rat is the ! ratio of the reference MLS column amount value of gas 1 ! to that of gas2. ! The 2nd index in the array, JT, which runs from 1 to 5, corresponds ! to different temperatures. More specifically, JT = 3 means that the ! data are for the reference temperature TREF for this pressure ! level, JT = 2 refers to the temperature ! TREF-15, JT = 1 is for TREF-30, JT = 4 is for TREF+15, and JT = 5 ! is for TREF+30. The third index, JP, runs from 1 to 13 and refers ! to the reference pressure level (e.g. JP = 1 is for a ! pressure of 1053.63 mb). The fourth index, IG, goes from 1 to 16, ! and tells us which g-interval the absorption coefficients are for. kao(:, 1, 1, 1) = (/ & &1.7511e-07_rb,6.8135e-05_rb,1.1804e-04_rb,1.6931e-04_rb,2.2006e-04_rb,2.8275e-04_rb, & &3.5722e-04_rb,4.9530e-04_rb,3.5719e-04_rb/) kao(:, 2, 1, 1) = (/ & &1.9831e-07_rb,7.7459e-05_rb,1.3459e-04_rb,1.9095e-04_rb,2.5338e-04_rb,3.1724e-04_rb, & &4.1347e-04_rb,5.5823e-04_rb,4.1876e-04_rb/) kao(:, 3, 1, 1) = (/ & &2.2440e-07_rb,8.7653e-05_rb,1.5288e-04_rb,2.1636e-04_rb,2.8321e-04_rb,3.6387e-04_rb, & &4.5547e-04_rb,6.4036e-04_rb,4.9001e-04_rb/) kao(:, 4, 1, 1) = (/ & &2.4907e-07_rb,9.8921e-05_rb,1.7279e-04_rb,2.4495e-04_rb,3.1911e-04_rb,4.0317e-04_rb, & &5.1922e-04_rb,7.1060e-04_rb,5.5803e-04_rb/) kao(:, 5, 1, 1) = (/ & &2.7577e-07_rb,1.1088e-04_rb,1.9448e-04_rb,2.7670e-04_rb,3.6112e-04_rb,4.5291e-04_rb, & &5.7232e-04_rb,7.9647e-04_rb,6.3718e-04_rb/) kao(:, 1, 2, 1) = (/ & &2.1743e-07_rb,5.9697e-05_rb,1.0011e-04_rb,1.3856e-04_rb,1.7837e-04_rb,2.1937e-04_rb, & &2.7665e-04_rb,3.5934e-04_rb,2.6865e-04_rb/) kao(:, 2, 2, 1) = (/ & &2.4689e-07_rb,6.8199e-05_rb,1.1473e-04_rb,1.5826e-04_rb,2.0299e-04_rb,2.5265e-04_rb, & &3.0999e-04_rb,4.0941e-04_rb,3.2103e-04_rb/) kao(:, 3, 2, 1) = (/ & &2.7759e-07_rb,7.7428e-05_rb,1.3086e-04_rb,1.8044e-04_rb,2.2946e-04_rb,2.8434e-04_rb, & &3.5412e-04_rb,4.7313e-04_rb,3.7455e-04_rb/) kao(:, 4, 2, 1) = (/ & &3.1162e-07_rb,8.7312e-05_rb,1.4837e-04_rb,2.0486e-04_rb,2.6086e-04_rb,3.2026e-04_rb, & &3.9490e-04_rb,5.1882e-04_rb,4.3142e-04_rb/) kao(:, 5, 2, 1) = (/ & &3.4483e-07_rb,9.7902e-05_rb,1.6760e-04_rb,2.3163e-04_rb,2.9600e-04_rb,3.6332e-04_rb, & &4.4224e-04_rb,5.8485e-04_rb,4.9654e-04_rb/) kao(:, 1, 3, 1) = (/ & &3.5522e-07_rb,5.4633e-05_rb,8.9953e-05_rb,1.1946e-04_rb,1.4735e-04_rb,1.7547e-04_rb, & &2.0438e-04_rb,2.5064e-04_rb,1.9532e-04_rb/) kao(:, 2, 3, 1) = (/ & &4.0312e-07_rb,6.2965e-05_rb,1.0335e-04_rb,1.3746e-04_rb,1.6817e-04_rb,1.9939e-04_rb, & &2.3562e-04_rb,2.9335e-04_rb,2.3482e-04_rb/) kao(:, 3, 3, 1) = (/ & &4.5344e-07_rb,7.1817e-05_rb,1.1822e-04_rb,1.5709e-04_rb,1.9287e-04_rb,2.2736e-04_rb, & &2.6619e-04_rb,3.2521e-04_rb,2.7722e-04_rb/) kao(:, 4, 3, 1) = (/ & &5.1341e-07_rb,8.1197e-05_rb,1.3399e-04_rb,1.7909e-04_rb,2.2021e-04_rb,2.5936e-04_rb, & &3.0089e-04_rb,3.7007e-04_rb,3.2243e-04_rb/) kao(:, 5, 3, 1) = (/ & &5.7093e-07_rb,9.0935e-05_rb,1.5129e-04_rb,2.0303e-04_rb,2.4981e-04_rb,2.9482e-04_rb, & &3.4243e-04_rb,4.0910e-04_rb,3.7408e-04_rb/) kao(:, 1, 4, 1) = (/ & &5.9029e-07_rb,4.8269e-05_rb,8.1661e-05_rb,1.0687e-04_rb,1.2826e-04_rb,1.4610e-04_rb, & &1.6333e-04_rb,1.8670e-04_rb,1.4151e-04_rb/) kao(:, 2, 4, 1) = (/ & &6.7060e-07_rb,5.6349e-05_rb,9.4916e-05_rb,1.2365e-04_rb,1.4803e-04_rb,1.6776e-04_rb, & &1.8719e-04_rb,2.1036e-04_rb,1.7196e-04_rb/) kao(:, 3, 4, 1) = (/ & &7.5759e-07_rb,6.4869e-05_rb,1.0916e-04_rb,1.4206e-04_rb,1.6962e-04_rb,1.9348e-04_rb, & &2.1325e-04_rb,2.4238e-04_rb,2.0611e-04_rb/) kao(:, 4, 4, 1) = (/ & &8.5937e-07_rb,7.4063e-05_rb,1.2416e-04_rb,1.6207e-04_rb,1.9412e-04_rb,2.2126e-04_rb, & &2.4479e-04_rb,2.7146e-04_rb,2.4157e-04_rb/) kao(:, 5, 4, 1) = (/ & &9.5897e-07_rb,8.3687e-05_rb,1.3973e-04_rb,1.8364e-04_rb,2.2051e-04_rb,2.5234e-04_rb, & &2.7911e-04_rb,3.0928e-04_rb,2.8248e-04_rb/) kao(:, 1, 5, 1) = (/ & &9.1759e-07_rb,4.1947e-05_rb,7.0794e-05_rb,9.4885e-05_rb,1.1243e-04_rb,1.2599e-04_rb, & &1.3683e-04_rb,1.4293e-04_rb,1.0336e-04_rb/) kao(:, 2, 5, 1) = (/ & &1.0425e-06_rb,4.9113e-05_rb,8.3728e-05_rb,1.1140e-04_rb,1.3168e-04_rb,1.4605e-04_rb, & &1.5650e-04_rb,1.6563e-04_rb,1.2713e-04_rb/) kao(:, 3, 5, 1) = (/ & &1.1835e-06_rb,5.7263e-05_rb,9.7394e-05_rb,1.2924e-04_rb,1.5190e-04_rb,1.6881e-04_rb, & &1.8096e-04_rb,1.8906e-04_rb,1.5436e-04_rb/) kao(:, 4, 5, 1) = (/ & &1.3393e-06_rb,6.6178e-05_rb,1.1132e-04_rb,1.4759e-04_rb,1.7411e-04_rb,1.9396e-04_rb, & &2.0764e-04_rb,2.1628e-04_rb,1.8190e-04_rb/) kao(:, 5, 5, 1) = (/ & &1.4988e-06_rb,7.5103e-05_rb,1.2617e-04_rb,1.6721e-04_rb,1.9778e-04_rb,2.2104e-04_rb, & &2.3789e-04_rb,2.4796e-04_rb,2.1416e-04_rb/) kao(:, 1, 6, 1) = (/ & &1.3509e-06_rb,3.6190e-05_rb,6.0186e-05_rb,8.0089e-05_rb,9.7447e-05_rb,1.0817e-04_rb, & &1.1477e-04_rb,1.1459e-04_rb,7.5216e-05_rb/) kao(:, 2, 6, 1) = (/ & &1.5379e-06_rb,4.3048e-05_rb,7.1223e-05_rb,9.5429e-05_rb,1.1555e-04_rb,1.2778e-04_rb, & &1.3385e-04_rb,1.3550e-04_rb,9.3747e-05_rb/) kao(:, 3, 6, 1) = (/ & &1.7505e-06_rb,5.0649e-05_rb,8.3443e-05_rb,1.1225e-04_rb,1.3468e-04_rb,1.4925e-04_rb, & &1.5516e-04_rb,1.5522e-04_rb,1.1566e-04_rb/) kao(:, 4, 6, 1) = (/ & &1.9769e-06_rb,5.8613e-05_rb,9.7176e-05_rb,1.2952e-04_rb,1.5512e-04_rb,1.7221e-04_rb, & &1.7952e-04_rb,1.7884e-04_rb,1.3754e-04_rb/) kao(:, 5, 6, 1) = (/ & &2.2201e-06_rb,6.7356e-05_rb,1.1202e-04_rb,1.4825e-04_rb,1.7722e-04_rb,1.9650e-04_rb, & &2.0554e-04_rb,2.0495e-04_rb,1.6355e-04_rb/) kao(:, 1, 7, 1) = (/ & &2.1304e-06_rb,3.3089e-05_rb,5.1849e-05_rb,6.8730e-05_rb,8.2305e-05_rb,9.3472e-05_rb, & &9.9164e-05_rb,9.8631e-05_rb,5.9418e-05_rb/) kao(:, 2, 7, 1) = (/ & &2.4308e-06_rb,3.9636e-05_rb,6.2051e-05_rb,8.1968e-05_rb,9.8909e-05_rb,1.1256e-04_rb, & &1.1810e-04_rb,1.1396e-04_rb,7.5269e-05_rb/) kao(:, 3, 7, 1) = (/ & &2.7537e-06_rb,4.6821e-05_rb,7.3795e-05_rb,9.6812e-05_rb,1.1738e-04_rb,1.3274e-04_rb, & &1.3903e-04_rb,1.3282e-04_rb,9.2641e-05_rb/) kao(:, 4, 7, 1) = (/ & &3.1212e-06_rb,5.4439e-05_rb,8.6765e-05_rb,1.1374e-04_rb,1.3694e-04_rb,1.5474e-04_rb, & &1.6192e-04_rb,1.5375e-04_rb,1.1184e-04_rb/) kao(:, 5, 7, 1) = (/ & &3.5210e-06_rb,6.2611e-05_rb,9.9782e-05_rb,1.3214e-04_rb,1.5850e-04_rb,1.7752e-04_rb, & &1.8622e-04_rb,1.7734e-04_rb,1.3357e-04_rb/) kao(:, 1, 8, 1) = (/ & &4.1180e-06_rb,3.5356e-05_rb,4.9875e-05_rb,6.2112e-05_rb,7.3272e-05_rb,8.1665e-05_rb, & &8.7559e-05_rb,8.6370e-05_rb,4.9881e-05_rb/) kao(:, 2, 8, 1) = (/ & &4.6880e-06_rb,4.2308e-05_rb,6.0139e-05_rb,7.5108e-05_rb,8.8001e-05_rb,9.9269e-05_rb, & &1.0597e-04_rb,1.0409e-04_rb,6.3232e-05_rb/) kao(:, 3, 8, 1) = (/ & &5.2893e-06_rb,4.9705e-05_rb,7.1733e-05_rb,8.9997e-05_rb,1.0540e-04_rb,1.1807e-04_rb, & &1.2729e-04_rb,1.2367e-04_rb,7.9488e-05_rb/) kao(:, 4, 8, 1) = (/ & &5.9934e-06_rb,5.7629e-05_rb,8.3852e-05_rb,1.0617e-04_rb,1.2505e-04_rb,1.3960e-04_rb, & &1.5001e-04_rb,1.4519e-04_rb,9.7332e-05_rb/) kao(:, 5, 8, 1) = (/ & &6.8016e-06_rb,6.6193e-05_rb,9.7237e-05_rb,1.2349e-04_rb,1.4561e-04_rb,1.6359e-04_rb, & &1.7405e-04_rb,1.6782e-04_rb,1.1691e-04_rb/) kao(:, 1, 9, 1) = (/ & &1.5173e-05_rb,6.0073e-05_rb,7.5522e-05_rb,8.4608e-05_rb,8.9391e-05_rb,9.1045e-05_rb, & &9.0015e-05_rb,8.5089e-05_rb,6.2916e-05_rb/) kao(:, 2, 9, 1) = (/ & &1.7118e-05_rb,7.2165e-05_rb,9.0975e-05_rb,1.0209e-04_rb,1.0823e-04_rb,1.1031e-04_rb, & &1.0910e-04_rb,1.0450e-04_rb,8.0378e-05_rb/) kao(:, 3, 9, 1) = (/ & &1.9333e-05_rb,8.4779e-05_rb,1.0715e-04_rb,1.2042e-04_rb,1.2865e-04_rb,1.3251e-04_rb, & &1.3198e-04_rb,1.2575e-04_rb,1.0185e-04_rb/) kao(:, 4, 9, 1) = (/ & &2.2020e-05_rb,9.7885e-05_rb,1.2402e-04_rb,1.4031e-04_rb,1.5091e-04_rb,1.5615e-04_rb, & &1.5775e-04_rb,1.5010e-04_rb,1.2495e-04_rb/) kao(:, 5, 9, 1) = (/ & &2.4990e-05_rb,1.1102e-04_rb,1.4167e-04_rb,1.6181e-04_rb,1.7511e-04_rb,1.8231e-04_rb, & &1.8406e-04_rb,1.7738e-04_rb,1.4891e-04_rb/) kao(:, 1,10, 1) = (/ & &6.3843e-05_rb,1.3785e-04_rb,1.5635e-04_rb,1.6287e-04_rb,1.6037e-04_rb,1.5248e-04_rb, & &1.3606e-04_rb,1.0761e-04_rb,1.0144e-04_rb/) kao(:, 2,10, 1) = (/ & &7.2156e-05_rb,1.6111e-04_rb,1.8530e-04_rb,1.9419e-04_rb,1.9482e-04_rb,1.8548e-04_rb, & &1.6571e-04_rb,1.3139e-04_rb,1.2609e-04_rb/) kao(:, 3,10, 1) = (/ & &8.1633e-05_rb,1.8623e-04_rb,2.1467e-04_rb,2.2993e-04_rb,2.3146e-04_rb,2.2096e-04_rb, & &1.9656e-04_rb,1.5757e-04_rb,1.5350e-04_rb/) kao(:, 4,10, 1) = (/ & &9.2413e-05_rb,2.1393e-04_rb,2.4898e-04_rb,2.6688e-04_rb,2.6838e-04_rb,2.5715e-04_rb, & &2.2901e-04_rb,1.8640e-04_rb,1.8257e-04_rb/) kao(:, 5,10, 1) = (/ & &1.0426e-04_rb,2.4538e-04_rb,2.8330e-04_rb,3.0298e-04_rb,3.0752e-04_rb,2.9416e-04_rb, & &2.6511e-04_rb,2.1835e-04_rb,2.1288e-04_rb/) kao(:, 1,11, 1) = (/ & &9.9914e-05_rb,1.8204e-04_rb,1.9923e-04_rb,2.0432e-04_rb,1.9733e-04_rb,1.8201e-04_rb, & &1.5904e-04_rb,1.2299e-04_rb,1.0910e-04_rb/) kao(:, 2,11, 1) = (/ & &1.1199e-04_rb,2.1265e-04_rb,2.3389e-04_rb,2.4089e-04_rb,2.3442e-04_rb,2.2069e-04_rb, & &1.9371e-04_rb,1.4882e-04_rb,1.3411e-04_rb/) kao(:, 3,11, 1) = (/ & &1.2687e-04_rb,2.4499e-04_rb,2.7026e-04_rb,2.7909e-04_rb,2.7675e-04_rb,2.6044e-04_rb, & &2.2915e-04_rb,1.7718e-04_rb,1.6026e-04_rb/) kao(:, 4,11, 1) = (/ & &1.4261e-04_rb,2.8101e-04_rb,3.1141e-04_rb,3.2255e-04_rb,3.1948e-04_rb,3.0150e-04_rb, & &2.6612e-04_rb,2.0752e-04_rb,1.8601e-04_rb/) kao(:, 5,11, 1) = (/ & &1.5789e-04_rb,3.1929e-04_rb,3.5513e-04_rb,3.6602e-04_rb,3.6282e-04_rb,3.4410e-04_rb, & &3.0577e-04_rb,2.4097e-04_rb,2.1352e-04_rb/) kao(:, 1,12, 1) = (/ & &1.1122e-04_rb,1.9022e-04_rb,2.0568e-04_rb,2.0798e-04_rb,2.0013e-04_rb,1.8369e-04_rb, & &1.5756e-04_rb,1.2037e-04_rb,1.0098e-04_rb/) kao(:, 2,12, 1) = (/ & &1.2500e-04_rb,2.2156e-04_rb,2.4046e-04_rb,2.4347e-04_rb,2.3764e-04_rb,2.2116e-04_rb, & &1.9272e-04_rb,1.4643e-04_rb,1.2390e-04_rb/) kao(:, 3,12, 1) = (/ & &1.4056e-04_rb,2.5489e-04_rb,2.7764e-04_rb,2.8122e-04_rb,2.7905e-04_rb,2.5886e-04_rb, & &2.2636e-04_rb,1.7352e-04_rb,1.4664e-04_rb/) kao(:, 4,12, 1) = (/ & &1.5858e-04_rb,2.9021e-04_rb,3.1841e-04_rb,3.2551e-04_rb,3.1903e-04_rb,2.9848e-04_rb, & &2.6254e-04_rb,2.0265e-04_rb,1.7061e-04_rb/) kao(:, 5,12, 1) = (/ & &1.7398e-04_rb,3.2750e-04_rb,3.6207e-04_rb,3.6880e-04_rb,3.6058e-04_rb,3.3907e-04_rb, & &2.9970e-04_rb,2.3401e-04_rb,1.9575e-04_rb/) kao(:, 1,13, 1) = (/ & &9.9982e-05_rb,1.6786e-04_rb,1.8157e-04_rb,1.8311e-04_rb,1.7732e-04_rb,1.6257e-04_rb, & &1.4107e-04_rb,1.0684e-04_rb,8.8282e-05_rb/) kao(:, 2,13, 1) = (/ & &1.1208e-04_rb,1.9489e-04_rb,2.1207e-04_rb,2.1420e-04_rb,2.0856e-04_rb,1.9501e-04_rb, & &1.6942e-04_rb,1.2896e-04_rb,1.0706e-04_rb/) kao(:, 3,13, 1) = (/ & &1.2580e-04_rb,2.2390e-04_rb,2.4368e-04_rb,2.4899e-04_rb,2.4426e-04_rb,2.2695e-04_rb, & &1.9796e-04_rb,1.5273e-04_rb,1.2657e-04_rb/) kao(:, 4,13, 1) = (/ & &1.4115e-04_rb,2.5382e-04_rb,2.8079e-04_rb,2.8499e-04_rb,2.7843e-04_rb,2.6072e-04_rb, & &2.2903e-04_rb,1.7905e-04_rb,1.4711e-04_rb/) kao(:, 5,13, 1) = (/ & &1.5465e-04_rb,2.8798e-04_rb,3.1774e-04_rb,3.2258e-04_rb,3.1431e-04_rb,2.9430e-04_rb, & &2.6133e-04_rb,2.0499e-04_rb,1.6802e-04_rb/) kao(:, 1, 1, 2) = (/ & &3.7683e-07_rb,1.9808e-04_rb,3.6685e-04_rb,5.3916e-04_rb,7.1167e-04_rb,8.9309e-04_rb, & &1.1251e-03_rb,1.6060e-03_rb,1.3216e-03_rb/) kao(:, 2, 1, 2) = (/ & &4.2181e-07_rb,2.2081e-04_rb,4.0843e-04_rb,6.0005e-04_rb,7.9854e-04_rb,1.0235e-03_rb, & &1.2747e-03_rb,1.7730e-03_rb,1.5072e-03_rb/) kao(:, 3, 1, 2) = (/ & &4.6205e-07_rb,2.4503e-04_rb,4.5395e-04_rb,6.6471e-04_rb,8.8503e-04_rb,1.1345e-03_rb, & &1.4567e-03_rb,1.9804e-03_rb,1.6670e-03_rb/) kao(:, 4, 1, 2) = (/ & &5.1491e-07_rb,2.7069e-04_rb,5.0378e-04_rb,7.3699e-04_rb,9.7626e-04_rb,1.2446e-03_rb, & &1.5952e-03_rb,2.2188e-03_rb,1.8463e-03_rb/) kao(:, 5, 1, 2) = (/ & &5.5977e-07_rb,2.9608e-04_rb,5.5719e-04_rb,8.1557e-04_rb,1.0806e-03_rb,1.3738e-03_rb, & &1.7497e-03_rb,2.4313e-03_rb,2.0562e-03_rb/) kao(:, 1, 2, 2) = (/ & &4.7123e-07_rb,1.6943e-04_rb,3.0287e-04_rb,4.3680e-04_rb,5.7665e-04_rb,7.0994e-04_rb, & &8.5911e-04_rb,1.1308e-03_rb,1.0172e-03_rb/) kao(:, 2, 2, 2) = (/ & &5.2931e-07_rb,1.8961e-04_rb,3.3976e-04_rb,4.8868e-04_rb,6.4337e-04_rb,8.0862e-04_rb, & &9.8935e-04_rb,1.2742e-03_rb,1.1602e-03_rb/) kao(:, 3, 2, 2) = (/ & &5.8844e-07_rb,2.1120e-04_rb,3.7935e-04_rb,5.4606e-04_rb,7.1722e-04_rb,8.9758e-04_rb, & &1.1168e-03_rb,1.4348e-03_rb,1.3002e-03_rb/) kao(:, 4, 2, 2) = (/ & &6.4390e-07_rb,2.3336e-04_rb,4.2266e-04_rb,6.0899e-04_rb,7.9911e-04_rb,9.9511e-04_rb, & &1.2304e-03_rb,1.6357e-03_rb,1.4539e-03_rb/) kao(:, 5, 2, 2) = (/ & &7.0717e-07_rb,2.5573e-04_rb,4.6939e-04_rb,6.7801e-04_rb,8.8876e-04_rb,1.1052e-03_rb, & &1.3595e-03_rb,1.7810e-03_rb,1.6268e-03_rb/) kao(:, 1, 3, 2) = (/ & &7.7382e-07_rb,1.5592e-04_rb,2.6004e-04_rb,3.5917e-04_rb,4.5597e-04_rb,5.6221e-04_rb, & &6.6191e-04_rb,7.8092e-04_rb,7.5320e-04_rb/) kao(:, 2, 3, 2) = (/ & &8.7904e-07_rb,1.7462e-04_rb,2.9301e-04_rb,4.0553e-04_rb,5.1639e-04_rb,6.3236e-04_rb, & &7.5999e-04_rb,8.9592e-04_rb,8.6804e-04_rb/) kao(:, 3, 3, 2) = (/ & &9.8281e-07_rb,1.9263e-04_rb,3.2870e-04_rb,4.5631e-04_rb,5.8039e-04_rb,7.0848e-04_rb, & &8.4867e-04_rb,1.0369e-03_rb,9.8463e-04_rb/) kao(:, 4, 3, 2) = (/ & &1.0791e-06_rb,2.1196e-04_rb,3.6740e-04_rb,5.1125e-04_rb,6.5128e-04_rb,7.9536e-04_rb, & &9.4873e-04_rb,1.1498e-03_rb,1.1137e-03_rb/) kao(:, 5, 3, 2) = (/ & &1.1811e-06_rb,2.3314e-04_rb,4.0444e-04_rb,5.7096e-04_rb,7.2953e-04_rb,8.9019e-04_rb, & &1.0598e-03_rb,1.2765e-03_rb,1.2563e-03_rb/) kao(:, 1, 4, 2) = (/ & &1.2931e-06_rb,1.5459e-04_rb,2.3712e-04_rb,3.1151e-04_rb,3.8051e-04_rb,4.4732e-04_rb, & &5.1939e-04_rb,5.8139e-04_rb,5.5932e-04_rb/) kao(:, 2, 4, 2) = (/ & &1.4961e-06_rb,1.6924e-04_rb,2.6743e-04_rb,3.5309e-04_rb,4.3277e-04_rb,5.1005e-04_rb, & &5.8720e-04_rb,6.8557e-04_rb,6.5449e-04_rb/) kao(:, 3, 4, 2) = (/ & &1.6687e-06_rb,1.8668e-04_rb,2.9946e-04_rb,3.9815e-04_rb,4.8978e-04_rb,5.7712e-04_rb, & &6.6568e-04_rb,7.7293e-04_rb,7.4803e-04_rb/) kao(:, 4, 4, 2) = (/ & &1.8491e-06_rb,2.0517e-04_rb,3.2982e-04_rb,4.4741e-04_rb,5.5202e-04_rb,6.5205e-04_rb, & &7.5198e-04_rb,8.7064e-04_rb,8.5540e-04_rb/) kao(:, 5, 4, 2) = (/ & &2.0324e-06_rb,2.2162e-04_rb,3.6469e-04_rb,4.9544e-04_rb,6.1968e-04_rb,7.3378e-04_rb, & &8.4769e-04_rb,9.7614e-04_rb,9.7197e-04_rb/) kao(:, 1, 5, 2) = (/ & &2.0065e-06_rb,1.5150e-04_rb,2.2968e-04_rb,2.8386e-04_rb,3.3168e-04_rb,3.7581e-04_rb, & &4.1489e-04_rb,4.5675e-04_rb,4.1358e-04_rb/) kao(:, 2, 5, 2) = (/ & &2.3252e-06_rb,1.6854e-04_rb,2.5480e-04_rb,3.2081e-04_rb,3.7754e-04_rb,4.3026e-04_rb, & &4.7606e-04_rb,5.2820e-04_rb,4.9368e-04_rb/) kao(:, 3, 5, 2) = (/ & &2.6085e-06_rb,1.8331e-04_rb,2.8033e-04_rb,3.6056e-04_rb,4.2825e-04_rb,4.8928e-04_rb, & &5.4309e-04_rb,5.9807e-04_rb,5.6993e-04_rb/) kao(:, 4, 5, 2) = (/ & &2.9132e-06_rb,1.9761e-04_rb,3.1015e-04_rb,3.9882e-04_rb,4.8412e-04_rb,5.5460e-04_rb, & &6.1782e-04_rb,6.7980e-04_rb,6.5837e-04_rb/) kao(:, 5, 5, 2) = (/ & &3.2361e-06_rb,2.1434e-04_rb,3.4118e-04_rb,4.4180e-04_rb,5.3752e-04_rb,6.2588e-04_rb, & &6.9930e-04_rb,7.7113e-04_rb,7.5327e-04_rb/) kao(:, 1, 6, 2) = (/ & &2.9230e-06_rb,1.3806e-04_rb,2.1835e-04_rb,2.7095e-04_rb,3.0194e-04_rb,3.2758e-04_rb, & &3.4587e-04_rb,3.6408e-04_rb,3.0468e-04_rb/) kao(:, 2, 6, 2) = (/ & &3.4021e-06_rb,1.5365e-04_rb,2.4578e-04_rb,3.0400e-04_rb,3.4286e-04_rb,3.7318e-04_rb, & &3.9861e-04_rb,4.1438e-04_rb,3.7021e-04_rb/) kao(:, 3, 6, 2) = (/ & &3.8620e-06_rb,1.7051e-04_rb,2.7334e-04_rb,3.3438e-04_rb,3.8715e-04_rb,4.2432e-04_rb, & &4.5662e-04_rb,4.7772e-04_rb,4.3260e-04_rb/) kao(:, 4, 6, 2) = (/ & &4.2870e-06_rb,1.8887e-04_rb,2.9668e-04_rb,3.7137e-04_rb,4.2886e-04_rb,4.8133e-04_rb, & &5.2053e-04_rb,5.4689e-04_rb,5.0258e-04_rb/) kao(:, 5, 6, 2) = (/ & &4.8423e-06_rb,2.0662e-04_rb,3.1977e-04_rb,4.1089e-04_rb,4.7609e-04_rb,5.3742e-04_rb, & &5.9126e-04_rb,6.2337e-04_rb,5.7823e-04_rb/) kao(:, 1, 7, 2) = (/ & &4.5404e-06_rb,1.3143e-04_rb,2.0727e-04_rb,2.6052e-04_rb,2.9635e-04_rb,3.0743e-04_rb, & &3.0825e-04_rb,2.9703e-04_rb,2.2197e-04_rb/) kao(:, 2, 7, 2) = (/ & &5.2640e-06_rb,1.4772e-04_rb,2.3068e-04_rb,2.9687e-04_rb,3.3184e-04_rb,3.4986e-04_rb, & &3.5249e-04_rb,3.4543e-04_rb,2.7330e-04_rb/) kao(:, 3, 7, 2) = (/ & &6.0466e-06_rb,1.6470e-04_rb,2.5696e-04_rb,3.3234e-04_rb,3.6914e-04_rb,3.9626e-04_rb, & &4.0246e-04_rb,3.9902e-04_rb,3.2329e-04_rb/) kao(:, 4, 7, 2) = (/ & &6.7565e-06_rb,1.8107e-04_rb,2.8421e-04_rb,3.6286e-04_rb,4.1183e-04_rb,4.3876e-04_rb, & &4.5748e-04_rb,4.5835e-04_rb,3.7913e-04_rb/) kao(:, 5, 7, 2) = (/ & &7.6474e-06_rb,1.9867e-04_rb,3.1475e-04_rb,3.9310e-04_rb,4.5438e-04_rb,4.8957e-04_rb, & &5.1385e-04_rb,5.2320e-04_rb,4.4016e-04_rb/) kao(:, 1, 8, 2) = (/ & &8.6520e-06_rb,1.4110e-04_rb,2.0496e-04_rb,2.5993e-04_rb,2.9742e-04_rb,3.1821e-04_rb, & &3.1456e-04_rb,2.7649e-04_rb,1.8485e-04_rb/) kao(:, 2, 8, 2) = (/ & &1.0009e-05_rb,1.5517e-04_rb,2.3206e-04_rb,2.9171e-04_rb,3.4405e-04_rb,3.6414e-04_rb, & &3.5939e-04_rb,3.1713e-04_rb,2.2424e-04_rb/) kao(:, 3, 8, 2) = (/ & &1.1509e-05_rb,1.7205e-04_rb,2.6018e-04_rb,3.2636e-04_rb,3.8244e-04_rb,4.1241e-04_rb, & &4.0304e-04_rb,3.6377e-04_rb,2.6821e-04_rb/) kao(:, 4, 8, 2) = (/ & &1.3117e-05_rb,1.8959e-04_rb,2.8945e-04_rb,3.6544e-04_rb,4.2147e-04_rb,4.5788e-04_rb, & &4.4922e-04_rb,4.1527e-04_rb,3.1806e-04_rb/) kao(:, 5, 8, 2) = (/ & &1.4790e-05_rb,2.0902e-04_rb,3.1840e-04_rb,4.0603e-04_rb,4.6521e-04_rb,4.9945e-04_rb, & &5.0220e-04_rb,4.7045e-04_rb,3.7190e-04_rb/) kao(:, 1, 9, 2) = (/ & &3.0998e-05_rb,2.0637e-04_rb,2.7947e-04_rb,3.3530e-04_rb,3.6480e-04_rb,3.8205e-04_rb, & &3.8653e-04_rb,3.4762e-04_rb,1.8242e-04_rb/) kao(:, 2, 9, 2) = (/ & &3.6096e-05_rb,2.3076e-04_rb,3.1240e-04_rb,3.7284e-04_rb,4.1471e-04_rb,4.3432e-04_rb, & &4.4125e-04_rb,4.0372e-04_rb,2.2363e-04_rb/) kao(:, 3, 9, 2) = (/ & &4.2035e-05_rb,2.5734e-04_rb,3.4822e-04_rb,4.1425e-04_rb,4.6570e-04_rb,4.9153e-04_rb, & &4.9534e-04_rb,4.6243e-04_rb,2.6686e-04_rb/) kao(:, 4, 9, 2) = (/ & &4.8029e-05_rb,2.8335e-04_rb,3.8624e-04_rb,4.5968e-04_rb,5.1473e-04_rb,5.5196e-04_rb, & &5.5517e-04_rb,5.1807e-04_rb,3.1577e-04_rb/) kao(:, 5, 9, 2) = (/ & &5.5331e-05_rb,3.0966e-04_rb,4.2837e-04_rb,5.0793e-04_rb,5.6875e-04_rb,6.0971e-04_rb, & &6.2368e-04_rb,5.6511e-04_rb,3.7171e-04_rb/) kao(:, 1,10, 2) = (/ & &1.2964e-04_rb,4.0632e-04_rb,5.1358e-04_rb,5.5581e-04_rb,5.6980e-04_rb,5.6112e-04_rb, & &5.2892e-04_rb,4.3728e-04_rb,2.8865e-04_rb/) kao(:, 2,10, 2) = (/ & &1.5095e-04_rb,4.5953e-04_rb,5.7199e-04_rb,6.2596e-04_rb,6.3988e-04_rb,6.3023e-04_rb, & &5.9124e-04_rb,5.0100e-04_rb,3.5610e-04_rb/) kao(:, 3,10, 2) = (/ & &1.7573e-04_rb,5.1815e-04_rb,6.3409e-04_rb,6.9698e-04_rb,7.1541e-04_rb,7.0519e-04_rb, & &6.6061e-04_rb,5.7112e-04_rb,4.2862e-04_rb/) kao(:, 4,10, 2) = (/ & &2.0254e-04_rb,5.7408e-04_rb,7.0140e-04_rb,7.6485e-04_rb,7.9509e-04_rb,7.8487e-04_rb, & &7.3767e-04_rb,6.4340e-04_rb,5.0196e-04_rb/) kao(:, 5,10, 2) = (/ & &2.3735e-04_rb,6.3435e-04_rb,7.7477e-04_rb,8.4107e-04_rb,8.7369e-04_rb,8.7290e-04_rb, & &8.2035e-04_rb,7.1353e-04_rb,5.7378e-04_rb/) kao(:, 1,11, 2) = (/ & &2.0611e-04_rb,5.0579e-04_rb,6.0906e-04_rb,6.6598e-04_rb,6.7463e-04_rb,6.4325e-04_rb, & &5.7358e-04_rb,4.6594e-04_rb,3.7105e-04_rb/) kao(:, 2,11, 2) = (/ & &2.4168e-04_rb,5.7457e-04_rb,6.8930e-04_rb,7.4695e-04_rb,7.5788e-04_rb,7.2324e-04_rb, & &6.4676e-04_rb,5.2943e-04_rb,4.4283e-04_rb/) kao(:, 3,11, 2) = (/ & &2.7855e-04_rb,6.5109e-04_rb,7.7336e-04_rb,8.3624e-04_rb,8.3721e-04_rb,8.0652e-04_rb, & &7.2648e-04_rb,5.9132e-04_rb,5.1523e-04_rb/) kao(:, 4,11, 2) = (/ & &3.2934e-04_rb,7.2843e-04_rb,8.5922e-04_rb,9.2211e-04_rb,9.2829e-04_rb,8.9207e-04_rb, & &8.1359e-04_rb,6.5969e-04_rb,5.9146e-04_rb/) kao(:, 5,11, 2) = (/ & &3.7624e-04_rb,8.0764e-04_rb,9.4816e-04_rb,1.0176e-03_rb,1.0267e-03_rb,9.8589e-04_rb, & &9.0003e-04_rb,7.3360e-04_rb,6.6373e-04_rb/) kao(:, 1,12, 2) = (/ & &2.3690e-04_rb,5.2345e-04_rb,6.1583e-04_rb,6.6206e-04_rb,6.7308e-04_rb,6.4411e-04_rb, & &5.7108e-04_rb,4.4594e-04_rb,3.6966e-04_rb/) kao(:, 2,12, 2) = (/ & &2.7636e-04_rb,5.9693e-04_rb,6.9824e-04_rb,7.5086e-04_rb,7.5372e-04_rb,7.2129e-04_rb, & &6.4015e-04_rb,5.0417e-04_rb,4.3519e-04_rb/) kao(:, 3,12, 2) = (/ & &3.2475e-04_rb,6.7274e-04_rb,7.7976e-04_rb,8.4185e-04_rb,8.4051e-04_rb,8.0110e-04_rb, & &7.2036e-04_rb,5.6771e-04_rb,5.0173e-04_rb/) kao(:, 4,12, 2) = (/ & &3.7742e-04_rb,7.5354e-04_rb,8.6958e-04_rb,9.2971e-04_rb,9.3567e-04_rb,8.9034e-04_rb, & &7.9942e-04_rb,6.3511e-04_rb,5.6743e-04_rb/) kao(:, 5,12, 2) = (/ & &4.2656e-04_rb,8.3460e-04_rb,9.6197e-04_rb,1.0276e-03_rb,1.0348e-03_rb,9.8795e-04_rb, & &8.8414e-04_rb,7.0917e-04_rb,6.3181e-04_rb/) kao(:, 1,13, 2) = (/ & &2.1559e-04_rb,4.7034e-04_rb,5.5318e-04_rb,5.8764e-04_rb,5.9246e-04_rb,5.7342e-04_rb, & &5.0467e-04_rb,3.9184e-04_rb,3.4198e-04_rb/) kao(:, 2,13, 2) = (/ & &2.5152e-04_rb,5.3422e-04_rb,6.2195e-04_rb,6.6659e-04_rb,6.7272e-04_rb,6.3853e-04_rb, & &5.7068e-04_rb,4.4436e-04_rb,3.9456e-04_rb/) kao(:, 3,13, 2) = (/ & &3.0302e-04_rb,6.0127e-04_rb,6.9437e-04_rb,7.4686e-04_rb,7.5249e-04_rb,7.1183e-04_rb, & &6.4004e-04_rb,5.0162e-04_rb,4.4714e-04_rb/) kao(:, 4,13, 2) = (/ & &3.4242e-04_rb,6.7081e-04_rb,7.7273e-04_rb,8.2774e-04_rb,8.3533e-04_rb,7.9499e-04_rb, & &7.1004e-04_rb,5.6394e-04_rb,5.0105e-04_rb/) kao(:, 5,13, 2) = (/ & &3.8220e-04_rb,7.4575e-04_rb,8.5383e-04_rb,9.1037e-04_rb,9.2303e-04_rb,8.8587e-04_rb, & &7.8559e-04_rb,6.3207e-04_rb,5.5475e-04_rb/) kao(:, 1, 1, 3) = (/ & &5.3797e-07_rb,4.8188e-04_rb,8.9729e-04_rb,1.3200e-03_rb,1.7770e-03_rb,2.3291e-03_rb, & &3.1122e-03_rb,4.4511e-03_rb,3.5150e-03_rb/) kao(:, 2, 1, 3) = (/ & &6.1262e-07_rb,5.2615e-04_rb,9.8845e-04_rb,1.4517e-03_rb,1.9408e-03_rb,2.5148e-03_rb, & &3.2963e-03_rb,4.8584e-03_rb,3.8321e-03_rb/) kao(:, 3, 1, 3) = (/ & &7.0635e-07_rb,5.6647e-04_rb,1.0753e-03_rb,1.5925e-03_rb,2.1392e-03_rb,2.7441e-03_rb, & &3.5300e-03_rb,5.0419e-03_rb,4.2299e-03_rb/) kao(:, 4, 1, 3) = (/ & &7.6766e-07_rb,6.0727e-04_rb,1.1623e-03_rb,1.7247e-03_rb,2.3255e-03_rb,3.0054e-03_rb, & &3.8553e-03_rb,5.3163e-03_rb,4.6081e-03_rb/) kao(:, 5, 1, 3) = (/ & &8.3851e-07_rb,6.4796e-04_rb,1.2484e-03_rb,1.8617e-03_rb,2.5127e-03_rb,3.2521e-03_rb, & &4.1787e-03_rb,5.7407e-03_rb,4.9828e-03_rb/) kao(:, 1, 2, 3) = (/ & &6.9858e-07_rb,4.1220e-04_rb,7.5871e-04_rb,1.0893e-03_rb,1.4250e-03_rb,1.8069e-03_rb, & &2.3218e-03_rb,3.2208e-03_rb,2.7451e-03_rb/) kao(:, 2, 2, 3) = (/ & &8.1006e-07_rb,4.4690e-04_rb,8.3751e-04_rb,1.2083e-03_rb,1.5781e-03_rb,1.9758e-03_rb, & &2.4966e-03_rb,3.4638e-03_rb,3.0268e-03_rb/) kao(:, 3, 2, 3) = (/ & &9.0719e-07_rb,4.8245e-04_rb,9.0580e-04_rb,1.3167e-03_rb,1.7362e-03_rb,2.1788e-03_rb, & &2.7148e-03_rb,3.6613e-03_rb,3.3476e-03_rb/) kao(:, 4, 2, 3) = (/ & &9.9070e-07_rb,5.1202e-04_rb,9.7859e-04_rb,1.4272e-03_rb,1.8822e-03_rb,2.3784e-03_rb, & &2.9761e-03_rb,3.9189e-03_rb,3.6534e-03_rb/) kao(:, 5, 2, 3) = (/ & &1.0800e-06_rb,5.4986e-04_rb,1.0443e-03_rb,1.5370e-03_rb,2.0346e-03_rb,2.5754e-03_rb, & &3.2289e-03_rb,4.2581e-03_rb,3.9665e-03_rb/) kao(:, 1, 3, 3) = (/ & &1.1956e-06_rb,3.6533e-04_rb,6.4857e-04_rb,9.1797e-04_rb,1.1753e-03_rb,1.4236e-03_rb, & &1.7165e-03_rb,2.2362e-03_rb,2.0894e-03_rb/) kao(:, 2, 3, 3) = (/ & &1.3685e-06_rb,3.9659e-04_rb,7.1084e-04_rb,1.0164e-03_rb,1.3082e-03_rb,1.5859e-03_rb, & &1.8841e-03_rb,2.3586e-03_rb,2.3274e-03_rb/) kao(:, 3, 3, 3) = (/ & &1.5093e-06_rb,4.2397e-04_rb,7.7009e-04_rb,1.1048e-03_rb,1.4344e-03_rb,1.7565e-03_rb, & &2.0870e-03_rb,2.5514e-03_rb,2.5907e-03_rb/) kao(:, 4, 3, 3) = (/ & &1.6732e-06_rb,4.5580e-04_rb,8.2534e-04_rb,1.1953e-03_rb,1.5533e-03_rb,1.9057e-03_rb, & &2.2804e-03_rb,2.8031e-03_rb,2.8387e-03_rb/) kao(:, 5, 3, 3) = (/ & &1.8304e-06_rb,4.8851e-04_rb,8.8340e-04_rb,1.2735e-03_rb,1.6704e-03_rb,2.0642e-03_rb, & &2.4727e-03_rb,3.0561e-03_rb,3.0939e-03_rb/) kao(:, 1, 4, 3) = (/ & &2.0440e-06_rb,3.4190e-04_rb,5.7528e-04_rb,7.8555e-04_rb,9.8576e-04_rb,1.1789e-03_rb, & &1.3557e-03_rb,1.6128e-03_rb,1.5891e-03_rb/) kao(:, 2, 4, 3) = (/ & &2.2803e-06_rb,3.6626e-04_rb,6.2613e-04_rb,8.6621e-04_rb,1.0945e-03_rb,1.3150e-03_rb, & &1.5191e-03_rb,1.7412e-03_rb,1.7827e-03_rb/) kao(:, 3, 4, 3) = (/ & &2.5344e-06_rb,3.9307e-04_rb,6.7511e-04_rb,9.4372e-04_rb,1.1954e-03_rb,1.4474e-03_rb, & &1.6882e-03_rb,1.9262e-03_rb,2.0030e-03_rb/) kao(:, 4, 4, 3) = (/ & &2.8636e-06_rb,4.1974e-04_rb,7.2769e-04_rb,1.0153e-03_rb,1.2977e-03_rb,1.5716e-03_rb, & &1.8427e-03_rb,2.1315e-03_rb,2.2084e-03_rb/) kao(:, 5, 4, 3) = (/ & &3.0668e-06_rb,4.5207e-04_rb,7.8267e-04_rb,1.0885e-03_rb,1.3854e-03_rb,1.6897e-03_rb, & &1.9964e-03_rb,2.3147e-03_rb,2.4195e-03_rb/) kao(:, 1, 5, 3) = (/ & &3.1319e-06_rb,3.2418e-04_rb,5.2433e-04_rb,6.9885e-04_rb,8.4707e-04_rb,9.8232e-04_rb, & &1.1112e-03_rb,1.2410e-03_rb,1.2226e-03_rb/) kao(:, 2, 5, 3) = (/ & &3.5295e-06_rb,3.4929e-04_rb,5.6868e-04_rb,7.6274e-04_rb,9.3852e-04_rb,1.0972e-03_rb, & &1.2472e-03_rb,1.3812e-03_rb,1.3798e-03_rb/) kao(:, 3, 5, 3) = (/ & &3.9745e-06_rb,3.7641e-04_rb,6.1261e-04_rb,8.2611e-04_rb,1.0255e-03_rb,1.2065e-03_rb, & &1.3836e-03_rb,1.5454e-03_rb,1.5563e-03_rb/) kao(:, 4, 5, 3) = (/ & &4.4389e-06_rb,4.0602e-04_rb,6.5760e-04_rb,8.9247e-04_rb,1.1052e-03_rb,1.3151e-03_rb, & &1.5074e-03_rb,1.7081e-03_rb,1.7334e-03_rb/) kao(:, 5, 5, 3) = (/ & &4.7663e-06_rb,4.3568e-04_rb,7.0547e-04_rb,9.6253e-04_rb,1.1901e-03_rb,1.4105e-03_rb, & &1.6319e-03_rb,1.8559e-03_rb,1.9044e-03_rb/) kao(:, 1, 6, 3) = (/ & &4.5500e-06_rb,3.2085e-04_rb,4.8959e-04_rb,6.2597e-04_rb,7.4855e-04_rb,8.4386e-04_rb, & &9.2463e-04_rb,9.8196e-04_rb,9.3322e-04_rb/) kao(:, 2, 6, 3) = (/ & &5.1832e-06_rb,3.4894e-04_rb,5.2646e-04_rb,6.8892e-04_rb,8.2642e-04_rb,9.4419e-04_rb, & &1.0344e-03_rb,1.1120e-03_rb,1.0567e-03_rb/) kao(:, 3, 6, 3) = (/ & &5.7454e-06_rb,3.7624e-04_rb,5.6596e-04_rb,7.4193e-04_rb,8.9866e-04_rb,1.0339e-03_rb, & &1.1478e-03_rb,1.2434e-03_rb,1.1989e-03_rb/) kao(:, 4, 6, 3) = (/ & &6.4183e-06_rb,4.0049e-04_rb,6.1119e-04_rb,7.9917e-04_rb,9.7241e-04_rb,1.1206e-03_rb, & &1.2562e-03_rb,1.3721e-03_rb,1.3554e-03_rb/) kao(:, 5, 6, 3) = (/ & &6.9324e-06_rb,4.2668e-04_rb,6.6038e-04_rb,8.5368e-04_rb,1.0486e-03_rb,1.2116e-03_rb, & &1.3599e-03_rb,1.5001e-03_rb,1.5043e-03_rb/) kao(:, 1, 7, 3) = (/ & &7.2797e-06_rb,3.0677e-04_rb,4.8071e-04_rb,5.9971e-04_rb,6.8742e-04_rb,7.5672e-04_rb, & &8.0124e-04_rb,8.1058e-04_rb,7.0953e-04_rb/) kao(:, 2, 7, 3) = (/ & &8.1177e-06_rb,3.3920e-04_rb,5.2455e-04_rb,6.4489e-04_rb,7.6436e-04_rb,8.4338e-04_rb, & &9.0408e-04_rb,9.2147e-04_rb,8.0482e-04_rb/) kao(:, 3, 7, 3) = (/ & &8.9509e-06_rb,3.6425e-04_rb,5.6797e-04_rb,6.9667e-04_rb,8.2046e-04_rb,9.2590e-04_rb, & &9.9874e-04_rb,1.0317e-03_rb,9.2280e-04_rb/) kao(:, 4, 7, 3) = (/ & &9.9962e-06_rb,3.8975e-04_rb,6.1216e-04_rb,7.5517e-04_rb,8.8215e-04_rb,1.0000e-03_rb, & &1.0895e-03_rb,1.1382e-03_rb,1.0492e-03_rb/) kao(:, 5, 7, 3) = (/ & &1.0669e-05_rb,4.1752e-04_rb,6.5205e-04_rb,8.1765e-04_rb,9.5018e-04_rb,1.0745e-03_rb, & &1.1767e-03_rb,1.2498e-03_rb,1.1757e-03_rb/) kao(:, 1, 8, 3) = (/ & &1.3269e-05_rb,3.0208e-04_rb,4.8542e-04_rb,6.1720e-04_rb,7.0751e-04_rb,7.5832e-04_rb, & &7.5956e-04_rb,7.2658e-04_rb,5.2753e-04_rb/) kao(:, 2, 8, 3) = (/ & &1.5282e-05_rb,3.2807e-04_rb,5.3968e-04_rb,6.8467e-04_rb,7.6733e-04_rb,8.2175e-04_rb, & &8.4708e-04_rb,8.2655e-04_rb,6.1209e-04_rb/) kao(:, 3, 8, 3) = (/ & &1.6919e-05_rb,3.5455e-04_rb,5.8673e-04_rb,7.5006e-04_rb,8.3417e-04_rb,8.8820e-04_rb, & &9.3120e-04_rb,9.2583e-04_rb,7.0621e-04_rb/) kao(:, 4, 8, 3) = (/ & &1.8616e-05_rb,3.8664e-04_rb,6.2653e-04_rb,8.0927e-04_rb,9.0712e-04_rb,9.6236e-04_rb, & &1.0056e-03_rb,1.0184e-03_rb,8.0931e-04_rb/) kao(:, 5, 8, 3) = (/ & &2.0327e-05_rb,4.2321e-04_rb,6.7354e-04_rb,8.6755e-04_rb,9.7906e-04_rb,1.0424e-03_rb, & &1.0862e-03_rb,1.0982e-03_rb,9.1316e-04_rb/) kao(:, 1, 9, 3) = (/ & &5.0114e-05_rb,4.1653e-04_rb,5.9063e-04_rb,7.3539e-04_rb,8.5123e-04_rb,9.2178e-04_rb, & &9.4309e-04_rb,8.5391e-04_rb,5.1499e-04_rb/) kao(:, 2, 9, 3) = (/ & &5.7273e-05_rb,4.5656e-04_rb,6.4069e-04_rb,7.9699e-04_rb,9.4296e-04_rb,1.0365e-03_rb, & &1.0446e-03_rb,9.3220e-04_rb,6.0883e-04_rb/) kao(:, 3, 9, 3) = (/ & &6.4035e-05_rb,4.9861e-04_rb,7.0653e-04_rb,8.6985e-04_rb,1.0116e-03_rb,1.1468e-03_rb, & &1.1543e-03_rb,1.0092e-03_rb,7.0553e-04_rb/) kao(:, 4, 9, 3) = (/ & &7.2188e-05_rb,5.4617e-04_rb,7.8095e-04_rb,9.4772e-04_rb,1.1003e-03_rb,1.2322e-03_rb, & &1.2562e-03_rb,1.0988e-03_rb,7.9526e-04_rb/) kao(:, 5, 9, 3) = (/ & &7.9550e-05_rb,6.0184e-04_rb,8.5464e-04_rb,1.0416e-03_rb,1.1956e-03_rb,1.3190e-03_rb, & &1.3528e-03_rb,1.1984e-03_rb,8.7997e-04_rb/) kao(:, 1,10, 3) = (/ & &2.3306e-04_rb,7.9772e-04_rb,9.8566e-04_rb,1.1183e-03_rb,1.1737e-03_rb,1.1902e-03_rb, & &1.1793e-03_rb,1.0698e-03_rb,6.6407e-04_rb/) kao(:, 2,10, 3) = (/ & &2.6771e-04_rb,8.8993e-04_rb,1.0956e-03_rb,1.2259e-03_rb,1.2971e-03_rb,1.3020e-03_rb, & &1.2785e-03_rb,1.2036e-03_rb,7.5718e-04_rb/) kao(:, 3,10, 3) = (/ & &3.0294e-04_rb,9.8041e-04_rb,1.2123e-03_rb,1.3475e-03_rb,1.4168e-03_rb,1.4273e-03_rb, & &1.4006e-03_rb,1.3282e-03_rb,8.5838e-04_rb/) kao(:, 4,10, 3) = (/ & &3.4186e-04_rb,1.0838e-03_rb,1.3329e-03_rb,1.4855e-03_rb,1.5514e-03_rb,1.5775e-03_rb, & &1.5302e-03_rb,1.4297e-03_rb,9.7732e-04_rb/) kao(:, 5,10, 3) = (/ & &3.7940e-04_rb,1.2006e-03_rb,1.4657e-03_rb,1.6333e-03_rb,1.7070e-03_rb,1.7269e-03_rb, & &1.6832e-03_rb,1.5552e-03_rb,1.1108e-03_rb/) kao(:, 1,11, 3) = (/ & &4.1370e-04_rb,1.0481e-03_rb,1.2382e-03_rb,1.3193e-03_rb,1.3405e-03_rb,1.3128e-03_rb, & &1.2136e-03_rb,1.0530e-03_rb,7.9947e-04_rb/) kao(:, 2,11, 3) = (/ & &4.6551e-04_rb,1.1702e-03_rb,1.3813e-03_rb,1.4636e-03_rb,1.4831e-03_rb,1.4472e-03_rb, & &1.3317e-03_rb,1.1447e-03_rb,9.1716e-04_rb/) kao(:, 3,11, 3) = (/ & &5.2337e-04_rb,1.3114e-03_rb,1.5380e-03_rb,1.6111e-03_rb,1.6417e-03_rb,1.5910e-03_rb, & &1.4641e-03_rb,1.2585e-03_rb,1.0575e-03_rb/) kao(:, 4,11, 3) = (/ & &5.8236e-04_rb,1.4612e-03_rb,1.6981e-03_rb,1.7829e-03_rb,1.8015e-03_rb,1.7452e-03_rb, & &1.6069e-03_rb,1.3761e-03_rb,1.2010e-03_rb/) kao(:, 5,11, 3) = (/ & &6.7131e-04_rb,1.6254e-03_rb,1.8811e-03_rb,1.9666e-03_rb,1.9744e-03_rb,1.9137e-03_rb, & &1.7677e-03_rb,1.5105e-03_rb,1.3428e-03_rb/) kao(:, 1,12, 3) = (/ & &5.0548e-04_rb,1.1217e-03_rb,1.2964e-03_rb,1.3785e-03_rb,1.3692e-03_rb,1.2935e-03_rb, & &1.1705e-03_rb,9.6704e-04_rb,8.2680e-04_rb/) kao(:, 2,12, 3) = (/ & &5.7320e-04_rb,1.2560e-03_rb,1.4612e-03_rb,1.5290e-03_rb,1.5133e-03_rb,1.4345e-03_rb, & &1.2992e-03_rb,1.0595e-03_rb,9.5961e-04_rb/) kao(:, 3,12, 3) = (/ & &6.3853e-04_rb,1.4125e-03_rb,1.6378e-03_rb,1.6918e-03_rb,1.6663e-03_rb,1.5909e-03_rb, & &1.4283e-03_rb,1.1648e-03_rb,1.0789e-03_rb/) kao(:, 4,12, 3) = (/ & &7.1367e-04_rb,1.5888e-03_rb,1.8194e-03_rb,1.8745e-03_rb,1.8358e-03_rb,1.7471e-03_rb, & &1.5691e-03_rb,1.2862e-03_rb,1.2039e-03_rb/) kao(:, 5,12, 3) = (/ & &8.2207e-04_rb,1.7742e-03_rb,2.0103e-03_rb,2.0603e-03_rb,2.0193e-03_rb,1.9194e-03_rb, & &1.7244e-03_rb,1.4199e-03_rb,1.3514e-03_rb/) kao(:, 1,13, 3) = (/ & &5.0420e-04_rb,1.0317e-03_rb,1.1965e-03_rb,1.2627e-03_rb,1.2425e-03_rb,1.1623e-03_rb, & &1.0397e-03_rb,8.4556e-04_rb,7.6156e-04_rb/) kao(:, 2,13, 3) = (/ & &5.6808e-04_rb,1.1670e-03_rb,1.3463e-03_rb,1.4009e-03_rb,1.3701e-03_rb,1.2956e-03_rb, & &1.1567e-03_rb,9.3024e-04_rb,8.8050e-04_rb/) kao(:, 3,13, 3) = (/ & &6.1838e-04_rb,1.3214e-03_rb,1.5180e-03_rb,1.5502e-03_rb,1.5020e-03_rb,1.4361e-03_rb, & &1.2780e-03_rb,1.0272e-03_rb,9.9967e-04_rb/) kao(:, 4,13, 3) = (/ & &7.0527e-04_rb,1.4908e-03_rb,1.6794e-03_rb,1.7102e-03_rb,1.6621e-03_rb,1.5793e-03_rb, & &1.4142e-03_rb,1.1355e-03_rb,1.1267e-03_rb/) kao(:, 5,13, 3) = (/ & &8.1247e-04_rb,1.6340e-03_rb,1.8549e-03_rb,1.8870e-03_rb,1.8374e-03_rb,1.7298e-03_rb, & &1.5606e-03_rb,1.2534e-03_rb,1.2510e-03_rb/) kao(:, 1, 1, 4) = (/ & &7.9349e-07_rb,1.0718e-03_rb,2.1076e-03_rb,3.1773e-03_rb,4.3493e-03_rb,5.6505e-03_rb, & &7.2449e-03_rb,1.0124e-02_rb,8.6807e-03_rb/) kao(:, 2, 1, 4) = (/ & &7.9171e-07_rb,1.1405e-03_rb,2.2617e-03_rb,3.4209e-03_rb,4.6727e-03_rb,6.0666e-03_rb, & &7.8396e-03_rb,1.0702e-02_rb,9.3285e-03_rb/) kao(:, 3, 1, 4) = (/ & &8.3534e-07_rb,1.2022e-03_rb,2.3697e-03_rb,3.6079e-03_rb,4.9651e-03_rb,6.4864e-03_rb, & &8.3654e-03_rb,1.1513e-02_rb,9.9193e-03_rb/) kao(:, 4, 1, 4) = (/ & &9.5267e-07_rb,1.2723e-03_rb,2.4978e-03_rb,3.7943e-03_rb,5.1994e-03_rb,6.8025e-03_rb, & &8.8715e-03_rb,1.2190e-02_rb,1.0375e-02_rb/) kao(:, 5, 1, 4) = (/ & &1.1458e-06_rb,1.3554e-03_rb,2.6484e-03_rb,4.0109e-03_rb,5.4856e-03_rb,7.1578e-03_rb, & &9.2726e-03_rb,1.2904e-02_rb,1.0954e-02_rb/) kao(:, 1, 2, 4) = (/ & &9.1454e-07_rb,9.0539e-04_rb,1.7315e-03_rb,2.5817e-03_rb,3.4611e-03_rb,4.4469e-03_rb, & &5.5705e-03_rb,7.4448e-03_rb,6.8782e-03_rb/) kao(:, 2, 2, 4) = (/ & &9.5187e-07_rb,9.6041e-04_rb,1.8588e-03_rb,2.7755e-03_rb,3.7306e-03_rb,4.7775e-03_rb, & &6.0319e-03_rb,7.9894e-03_rb,7.4238e-03_rb/) kao(:, 3, 2, 4) = (/ & &1.1150e-06_rb,1.0164e-03_rb,1.9573e-03_rb,2.9264e-03_rb,3.9480e-03_rb,5.1214e-03_rb, & &6.4611e-03_rb,8.5702e-03_rb,7.8654e-03_rb/) kao(:, 4, 2, 4) = (/ & &1.3385e-06_rb,1.0876e-03_rb,2.0659e-03_rb,3.0814e-03_rb,4.1574e-03_rb,5.3507e-03_rb, & &6.8052e-03_rb,9.1287e-03_rb,8.2842e-03_rb/) kao(:, 5, 2, 4) = (/ & &1.6022e-06_rb,1.1568e-03_rb,2.2052e-03_rb,3.2703e-03_rb,4.4002e-03_rb,5.6510e-03_rb, & &7.1684e-03_rb,9.6207e-03_rb,8.7667e-03_rb/) kao(:, 1, 3, 4) = (/ & &1.5574e-06_rb,7.6371e-04_rb,1.4483e-03_rb,2.1006e-03_rb,2.7598e-03_rb,3.4620e-03_rb, & &4.1959e-03_rb,5.2056e-03_rb,5.3344e-03_rb/) kao(:, 2, 3, 4) = (/ & &1.7591e-06_rb,8.1114e-04_rb,1.5471e-03_rb,2.2761e-03_rb,2.9860e-03_rb,3.7307e-03_rb, & &4.5489e-03_rb,5.7315e-03_rb,5.7929e-03_rb/) kao(:, 3, 3, 4) = (/ & &2.0958e-06_rb,8.7335e-04_rb,1.6413e-03_rb,2.3988e-03_rb,3.1565e-03_rb,3.9689e-03_rb, & &4.8920e-03_rb,6.1466e-03_rb,6.1501e-03_rb/) kao(:, 4, 3, 4) = (/ & &2.4948e-06_rb,9.3193e-04_rb,1.7550e-03_rb,2.5427e-03_rb,3.3388e-03_rb,4.1838e-03_rb, & &5.1384e-03_rb,6.5670e-03_rb,6.5006e-03_rb/) kao(:, 5, 3, 4) = (/ & &2.9808e-06_rb,9.8734e-04_rb,1.8752e-03_rb,2.7256e-03_rb,3.5562e-03_rb,4.4297e-03_rb, & &5.4345e-03_rb,6.8804e-03_rb,6.9100e-03_rb/) kao(:, 1, 4, 4) = (/ & &2.8339e-06_rb,6.5550e-04_rb,1.2204e-03_rb,1.7505e-03_rb,2.2569e-03_rb,2.7626e-03_rb, & &3.2755e-03_rb,3.8524e-03_rb,4.1315e-03_rb/) kao(:, 2, 4, 4) = (/ & &3.2988e-06_rb,7.0845e-04_rb,1.2966e-03_rb,1.8754e-03_rb,2.4581e-03_rb,3.0020e-03_rb, & &3.5639e-03_rb,4.2448e-03_rb,4.5130e-03_rb/) kao(:, 3, 4, 4) = (/ & &3.9491e-06_rb,7.6198e-04_rb,1.3871e-03_rb,1.9942e-03_rb,2.6023e-03_rb,3.1978e-03_rb, & &3.8488e-03_rb,4.5802e-03_rb,4.8443e-03_rb/) kao(:, 4, 4, 4) = (/ & &4.6425e-06_rb,8.1982e-04_rb,1.4902e-03_rb,2.1380e-03_rb,2.7710e-03_rb,3.3974e-03_rb, & &4.0487e-03_rb,4.8659e-03_rb,5.1413e-03_rb/) kao(:, 5, 4, 4) = (/ & &5.6265e-06_rb,8.8017e-04_rb,1.5882e-03_rb,2.2893e-03_rb,2.9763e-03_rb,3.6352e-03_rb, & &4.2916e-03_rb,5.1439e-03_rb,5.4622e-03_rb/) kao(:, 1, 5, 4) = (/ & &4.8447e-06_rb,5.8594e-04_rb,1.0296e-03_rb,1.4656e-03_rb,1.8696e-03_rb,2.2619e-03_rb, & &2.6388e-03_rb,3.0084e-03_rb,3.1950e-03_rb/) kao(:, 2, 5, 4) = (/ & &5.5680e-06_rb,6.3350e-04_rb,1.1054e-03_rb,1.5640e-03_rb,2.0148e-03_rb,2.4702e-03_rb, & &2.8772e-03_rb,3.3130e-03_rb,3.5193e-03_rb/) kao(:, 3, 5, 4) = (/ & &6.5723e-06_rb,6.8615e-04_rb,1.1977e-03_rb,1.6753e-03_rb,2.1497e-03_rb,2.6254e-03_rb, & &3.0969e-03_rb,3.5912e-03_rb,3.8422e-03_rb/) kao(:, 4, 5, 4) = (/ & &7.8530e-06_rb,7.4277e-04_rb,1.2884e-03_rb,1.8101e-03_rb,2.3101e-03_rb,2.7992e-03_rb, & &3.2952e-03_rb,3.8151e-03_rb,4.0689e-03_rb/) kao(:, 5, 5, 4) = (/ & &9.4527e-06_rb,8.0105e-04_rb,1.3871e-03_rb,1.9371e-03_rb,2.4908e-03_rb,3.0121e-03_rb, & &3.5288e-03_rb,4.0532e-03_rb,4.3486e-03_rb/) kao(:, 1, 6, 4) = (/ & &7.9687e-06_rb,5.4507e-04_rb,8.9513e-04_rb,1.2382e-03_rb,1.5589e-03_rb,1.8510e-03_rb, & &2.1398e-03_rb,2.3860e-03_rb,2.4635e-03_rb/) kao(:, 2, 6, 4) = (/ & &8.8712e-06_rb,5.9098e-04_rb,9.7039e-04_rb,1.3235e-03_rb,1.6755e-03_rb,2.0285e-03_rb, & &2.3501e-03_rb,2.6411e-03_rb,2.7555e-03_rb/) kao(:, 3, 6, 4) = (/ & &1.0300e-05_rb,6.3947e-04_rb,1.0497e-03_rb,1.4366e-03_rb,1.7944e-03_rb,2.1608e-03_rb, & &2.5184e-03_rb,2.8809e-03_rb,3.0211e-03_rb/) kao(:, 4, 6, 4) = (/ & &1.2171e-05_rb,6.9277e-04_rb,1.1370e-03_rb,1.5510e-03_rb,1.9450e-03_rb,2.3217e-03_rb, & &2.6890e-03_rb,3.0692e-03_rb,3.2284e-03_rb/) kao(:, 5, 6, 4) = (/ & &1.4564e-05_rb,7.4600e-04_rb,1.2318e-03_rb,1.6801e-03_rb,2.0948e-03_rb,2.5115e-03_rb, & &2.8923e-03_rb,3.2756e-03_rb,3.4483e-03_rb/) kao(:, 1, 7, 4) = (/ & &1.3302e-05_rb,5.5386e-04_rb,8.3382e-04_rb,1.0993e-03_rb,1.3564e-03_rb,1.5663e-03_rb, & &1.7522e-03_rb,1.9212e-03_rb,1.8928e-03_rb/) kao(:, 2, 7, 4) = (/ & &1.5137e-05_rb,6.0362e-04_rb,9.0303e-04_rb,1.1816e-03_rb,1.4350e-03_rb,1.6949e-03_rb, & &1.9391e-03_rb,2.1345e-03_rb,2.1400e-03_rb/) kao(:, 3, 7, 4) = (/ & &1.7393e-05_rb,6.5556e-04_rb,9.7760e-04_rb,1.2752e-03_rb,1.5638e-03_rb,1.8142e-03_rb, & &2.0760e-03_rb,2.3419e-03_rb,2.3618e-03_rb/) kao(:, 4, 7, 4) = (/ & &2.0190e-05_rb,7.0877e-04_rb,1.0583e-03_rb,1.3832e-03_rb,1.6934e-03_rb,1.9720e-03_rb, & &2.2273e-03_rb,2.4896e-03_rb,2.5682e-03_rb/) kao(:, 5, 7, 4) = (/ & &2.3865e-05_rb,7.6246e-04_rb,1.1476e-03_rb,1.5003e-03_rb,1.8325e-03_rb,2.1363e-03_rb, & &2.4216e-03_rb,2.6647e-03_rb,2.7377e-03_rb/) kao(:, 1, 8, 4) = (/ & &2.8723e-05_rb,5.8785e-04_rb,8.8654e-04_rb,1.0769e-03_rb,1.2579e-03_rb,1.4310e-03_rb, & &1.5394e-03_rb,1.5987e-03_rb,1.4479e-03_rb/) kao(:, 2, 8, 4) = (/ & &3.1951e-05_rb,6.5934e-04_rb,9.7493e-04_rb,1.1672e-03_rb,1.3594e-03_rb,1.5243e-03_rb, & &1.6749e-03_rb,1.7779e-03_rb,1.6535e-03_rb/) kao(:, 3, 8, 4) = (/ & &3.6028e-05_rb,7.3349e-04_rb,1.0597e-03_rb,1.2704e-03_rb,1.4675e-03_rb,1.6499e-03_rb, & &1.7965e-03_rb,1.9280e-03_rb,1.8443e-03_rb/) kao(:, 4, 8, 4) = (/ & &4.1972e-05_rb,7.9901e-04_rb,1.1534e-03_rb,1.3845e-03_rb,1.5898e-03_rb,1.7819e-03_rb, & &1.9610e-03_rb,2.0652e-03_rb,2.0278e-03_rb/) kao(:, 5, 8, 4) = (/ & &4.8818e-05_rb,8.6068e-04_rb,1.2469e-03_rb,1.5029e-03_rb,1.7252e-03_rb,1.9359e-03_rb, & &2.1153e-03_rb,2.2493e-03_rb,2.1613e-03_rb/) kao(:, 1, 9, 4) = (/ & &1.2151e-04_rb,7.9394e-04_rb,1.1551e-03_rb,1.4165e-03_rb,1.6142e-03_rb,1.6912e-03_rb, & &1.6602e-03_rb,1.6194e-03_rb,1.1991e-03_rb/) kao(:, 2, 9, 4) = (/ & &1.3408e-04_rb,8.8305e-04_rb,1.2970e-03_rb,1.6023e-03_rb,1.7938e-03_rb,1.8665e-03_rb, & &1.8031e-03_rb,1.7264e-03_rb,1.3714e-03_rb/) kao(:, 3, 9, 4) = (/ & &1.5040e-04_rb,9.7901e-04_rb,1.4287e-03_rb,1.7867e-03_rb,2.0033e-03_rb,2.0339e-03_rb, & &1.9620e-03_rb,1.8611e-03_rb,1.5284e-03_rb/) kao(:, 4, 9, 4) = (/ & &1.6901e-04_rb,1.0844e-03_rb,1.5638e-03_rb,1.9651e-03_rb,2.1812e-03_rb,2.2146e-03_rb, & &2.1459e-03_rb,2.0086e-03_rb,1.6589e-03_rb/) kao(:, 5, 9, 4) = (/ & &1.9165e-04_rb,1.1941e-03_rb,1.7106e-03_rb,2.1260e-03_rb,2.3624e-03_rb,2.4142e-03_rb, & &2.3405e-03_rb,2.1792e-03_rb,1.8085e-03_rb/) kao(:, 1,10, 4) = (/ & &5.9868e-04_rb,1.5993e-03_rb,1.9364e-03_rb,2.1129e-03_rb,2.2524e-03_rb,2.3246e-03_rb, & &2.2594e-03_rb,2.0146e-03_rb,1.3568e-03_rb/) kao(:, 2,10, 4) = (/ & &6.6752e-04_rb,1.7567e-03_rb,2.1277e-03_rb,2.3435e-03_rb,2.4977e-03_rb,2.6109e-03_rb, & &2.5681e-03_rb,2.2608e-03_rb,1.5177e-03_rb/) kao(:, 3,10, 4) = (/ & &7.4901e-04_rb,1.9228e-03_rb,2.3324e-03_rb,2.5957e-03_rb,2.7706e-03_rb,2.8949e-03_rb, & &2.8715e-03_rb,2.4740e-03_rb,1.6681e-03_rb/) kao(:, 4,10, 4) = (/ & &8.4268e-04_rb,2.1035e-03_rb,2.5651e-03_rb,2.8675e-03_rb,3.0553e-03_rb,3.1760e-03_rb, & &3.1745e-03_rb,2.7207e-03_rb,1.8575e-03_rb/) kao(:, 5,10, 4) = (/ & &9.4245e-04_rb,2.2879e-03_rb,2.8080e-03_rb,3.1494e-03_rb,3.3540e-03_rb,3.4813e-03_rb, & &3.4487e-03_rb,2.9536e-03_rb,2.0691e-03_rb/) kao(:, 1,11, 4) = (/ & &1.0805e-03_rb,2.1148e-03_rb,2.4220e-03_rb,2.5310e-03_rb,2.5389e-03_rb,2.4625e-03_rb, & &2.3509e-03_rb,2.0401e-03_rb,1.4417e-03_rb/) kao(:, 2,11, 4) = (/ & &1.2248e-03_rb,2.3043e-03_rb,2.6421e-03_rb,2.7805e-03_rb,2.8051e-03_rb,2.7290e-03_rb, & &2.6298e-03_rb,2.3094e-03_rb,1.6718e-03_rb/) kao(:, 3,11, 4) = (/ & &1.3919e-03_rb,2.5018e-03_rb,2.8694e-03_rb,3.0522e-03_rb,3.0921e-03_rb,3.0140e-03_rb, & &2.9024e-03_rb,2.5763e-03_rb,1.8644e-03_rb/) kao(:, 4,11, 4) = (/ & &1.5591e-03_rb,2.7193e-03_rb,3.1319e-03_rb,3.3417e-03_rb,3.3992e-03_rb,3.3292e-03_rb, & &3.1865e-03_rb,2.8388e-03_rb,2.0955e-03_rb/) kao(:, 5,11, 4) = (/ & &1.7150e-03_rb,2.9473e-03_rb,3.3980e-03_rb,3.6551e-03_rb,3.7158e-03_rb,3.6708e-03_rb, & &3.4907e-03_rb,3.0872e-03_rb,2.3494e-03_rb/) kao(:, 1,12, 4) = (/ & &1.3897e-03_rb,2.3284e-03_rb,2.5562e-03_rb,2.6114e-03_rb,2.5756e-03_rb,2.4579e-03_rb, & &2.2328e-03_rb,1.8907e-03_rb,1.4460e-03_rb/) kao(:, 2,12, 4) = (/ & &1.5697e-03_rb,2.5462e-03_rb,2.7773e-03_rb,2.8739e-03_rb,2.8515e-03_rb,2.7127e-03_rb, & &2.4702e-03_rb,2.1317e-03_rb,1.6710e-03_rb/) kao(:, 3,12, 4) = (/ & &1.7564e-03_rb,2.7736e-03_rb,3.0368e-03_rb,3.1575e-03_rb,3.1336e-03_rb,2.9932e-03_rb, & &2.7316e-03_rb,2.3689e-03_rb,1.9165e-03_rb/) kao(:, 4,12, 4) = (/ & &1.9373e-03_rb,3.0028e-03_rb,3.3026e-03_rb,3.4473e-03_rb,3.4197e-03_rb,3.2885e-03_rb, & &3.0105e-03_rb,2.5975e-03_rb,2.1734e-03_rb/) kao(:, 5,12, 4) = (/ & &2.1103e-03_rb,3.2861e-03_rb,3.6126e-03_rb,3.7579e-03_rb,3.7472e-03_rb,3.5983e-03_rb, & &3.3137e-03_rb,2.8243e-03_rb,2.4241e-03_rb/) kao(:, 1,13, 4) = (/ & &1.4034e-03_rb,2.2073e-03_rb,2.3423e-03_rb,2.3940e-03_rb,2.3352e-03_rb,2.2289e-03_rb, & &1.9861e-03_rb,1.6453e-03_rb,1.3641e-03_rb/) kao(:, 2,13, 4) = (/ & &1.5468e-03_rb,2.3993e-03_rb,2.5715e-03_rb,2.6353e-03_rb,2.5905e-03_rb,2.4689e-03_rb, & &2.2035e-03_rb,1.8516e-03_rb,1.5595e-03_rb/) kao(:, 3,13, 4) = (/ & &1.7054e-03_rb,2.6002e-03_rb,2.8041e-03_rb,2.9001e-03_rb,2.8726e-03_rb,2.7020e-03_rb, & &2.4437e-03_rb,2.0505e-03_rb,1.7798e-03_rb/) kao(:, 4,13, 4) = (/ & &1.8746e-03_rb,2.8344e-03_rb,3.0758e-03_rb,3.1886e-03_rb,3.1543e-03_rb,2.9591e-03_rb, & &2.7010e-03_rb,2.2473e-03_rb,2.0185e-03_rb/) kao(:, 5,13, 4) = (/ & &2.0493e-03_rb,3.1290e-03_rb,3.3711e-03_rb,3.5047e-03_rb,3.4626e-03_rb,3.2529e-03_rb, & &2.9617e-03_rb,2.4466e-03_rb,2.2855e-03_rb/) kao(:, 1, 1, 5) = (/ & &2.7288e-06_rb,2.0772e-03_rb,4.1339e-03_rb,6.3040e-03_rb,8.6169e-03_rb,1.1216e-02_rb, & &1.4425e-02_rb,1.9774e-02_rb,1.7219e-02_rb/) kao(:, 2, 1, 5) = (/ & &3.1343e-06_rb,2.2547e-03_rb,4.4747e-03_rb,6.8269e-03_rb,9.3305e-03_rb,1.2134e-02_rb, & &1.5662e-02_rb,2.1511e-02_rb,1.8646e-02_rb/) kao(:, 3, 1, 5) = (/ & &3.5230e-06_rb,2.4421e-03_rb,4.8659e-03_rb,7.3919e-03_rb,1.0064e-02_rb,1.3080e-02_rb, & &1.6864e-02_rb,2.3200e-02_rb,2.0105e-02_rb/) kao(:, 4, 1, 5) = (/ & &3.8970e-06_rb,2.6162e-03_rb,5.2335e-03_rb,7.9722e-03_rb,1.0895e-02_rb,1.4129e-02_rb, & &1.8093e-02_rb,2.4994e-02_rb,2.1780e-02_rb/) kao(:, 5, 1, 5) = (/ & &4.2153e-06_rb,2.7842e-03_rb,5.5880e-03_rb,8.5221e-03_rb,1.1648e-02_rb,1.5136e-02_rb, & &1.9474e-02_rb,2.6742e-02_rb,2.3280e-02_rb/) kao(:, 1, 2, 5) = (/ & &3.8170e-06_rb,1.7299e-03_rb,3.3770e-03_rb,5.0561e-03_rb,6.8488e-03_rb,8.8137e-03_rb, & &1.1142e-02_rb,1.4709e-02_rb,1.3674e-02_rb/) kao(:, 2, 2, 5) = (/ & &4.3252e-06_rb,1.8890e-03_rb,3.6509e-03_rb,5.4769e-03_rb,7.4269e-03_rb,9.5439e-03_rb, & &1.2081e-02_rb,1.6033e-02_rb,1.4831e-02_rb/) kao(:, 3, 2, 5) = (/ & &4.7646e-06_rb,2.0435e-03_rb,3.9774e-03_rb,5.9664e-03_rb,8.0622e-03_rb,1.0295e-02_rb, & &1.3026e-02_rb,1.7373e-02_rb,1.6093e-02_rb/) kao(:, 4, 2, 5) = (/ & &5.2162e-06_rb,2.1898e-03_rb,4.2814e-03_rb,6.4462e-03_rb,8.7251e-03_rb,1.1197e-02_rb, & &1.4093e-02_rb,1.8642e-02_rb,1.7418e-02_rb/) kao(:, 5, 2, 5) = (/ & &5.6571e-06_rb,2.3346e-03_rb,4.5674e-03_rb,6.8936e-03_rb,9.3452e-03_rb,1.2004e-02_rb, & &1.5146e-02_rb,2.0072e-02_rb,1.8662e-02_rb/) kao(:, 1, 3, 5) = (/ & &6.7841e-06_rb,1.4874e-03_rb,2.7805e-03_rb,4.0760e-03_rb,5.3909e-03_rb,6.7517e-03_rb, & &8.3542e-03_rb,1.0487e-02_rb,1.0633e-02_rb/) kao(:, 2, 3, 5) = (/ & &7.5652e-06_rb,1.6242e-03_rb,3.0372e-03_rb,4.4125e-03_rb,5.8428e-03_rb,7.3572e-03_rb, & &9.0599e-03_rb,1.1418e-02_rb,1.1564e-02_rb/) kao(:, 3, 3, 5) = (/ & &8.3338e-06_rb,1.7491e-03_rb,3.3027e-03_rb,4.8269e-03_rb,6.3750e-03_rb,7.9902e-03_rb, & &9.8070e-03_rb,1.2345e-02_rb,1.2611e-02_rb/) kao(:, 4, 3, 5) = (/ & &9.1322e-06_rb,1.8750e-03_rb,3.5479e-03_rb,5.2057e-03_rb,6.8969e-03_rb,8.6842e-03_rb, & &1.0693e-02_rb,1.3305e-02_rb,1.3678e-02_rb/) kao(:, 5, 3, 5) = (/ & &9.9531e-06_rb,2.0097e-03_rb,3.7981e-03_rb,5.5735e-03_rb,7.4004e-03_rb,9.3447e-03_rb, & &1.1509e-02_rb,1.4423e-02_rb,1.4706e-02_rb/) kao(:, 1, 4, 5) = (/ & &1.2103e-05_rb,1.3043e-03_rb,2.3537e-03_rb,3.3772e-03_rb,4.3942e-03_rb,5.3862e-03_rb, & &6.4402e-03_rb,7.7504e-03_rb,8.3034e-03_rb/) kao(:, 2, 4, 5) = (/ & &1.3453e-05_rb,1.4203e-03_rb,2.5925e-03_rb,3.7016e-03_rb,4.7682e-03_rb,5.8654e-03_rb, & &7.0102e-03_rb,8.4347e-03_rb,9.0709e-03_rb/) kao(:, 3, 4, 5) = (/ & &1.4828e-05_rb,1.5367e-03_rb,2.8071e-03_rb,4.0356e-03_rb,5.2345e-03_rb,6.4096e-03_rb, & &7.5937e-03_rb,9.1611e-03_rb,9.8978e-03_rb/) kao(:, 4, 4, 5) = (/ & &1.6265e-05_rb,1.6502e-03_rb,3.0181e-03_rb,4.3485e-03_rb,5.6510e-03_rb,6.9455e-03_rb, & &8.2885e-03_rb,9.9540e-03_rb,1.0767e-02_rb/) kao(:, 5, 4, 5) = (/ & &1.7755e-05_rb,1.7615e-03_rb,3.2390e-03_rb,4.6692e-03_rb,6.0695e-03_rb,7.4667e-03_rb, & &8.9542e-03_rb,1.0781e-02_rb,1.1635e-02_rb/) kao(:, 1, 5, 5) = (/ & &2.0332e-05_rb,1.1698e-03_rb,2.0394e-03_rb,2.8422e-03_rb,3.6398e-03_rb,4.4106e-03_rb, & &5.1682e-03_rb,5.9629e-03_rb,6.5029e-03_rb/) kao(:, 2, 5, 5) = (/ & &2.2530e-05_rb,1.2736e-03_rb,2.2339e-03_rb,3.1431e-03_rb,3.9975e-03_rb,4.8072e-03_rb, & &5.6451e-03_rb,6.5119e-03_rb,7.1285e-03_rb/) kao(:, 3, 5, 5) = (/ & &2.4796e-05_rb,1.3790e-03_rb,2.4265e-03_rb,3.4174e-03_rb,4.3749e-03_rb,5.2936e-03_rb, & &6.1677e-03_rb,7.0807e-03_rb,7.7613e-03_rb/) kao(:, 4, 5, 5) = (/ & &2.7075e-05_rb,1.4796e-03_rb,2.6222e-03_rb,3.6840e-03_rb,4.7300e-03_rb,5.7397e-03_rb, & &6.7237e-03_rb,7.7301e-03_rb,8.5090e-03_rb/) kao(:, 5, 5, 5) = (/ & &2.9544e-05_rb,1.5786e-03_rb,2.8146e-03_rb,3.9658e-03_rb,5.0797e-03_rb,6.1834e-03_rb, & &7.2517e-03_rb,8.3791e-03_rb,9.2155e-03_rb/) kao(:, 1, 6, 5) = (/ & &3.1599e-05_rb,1.0623e-03_rb,1.7784e-03_rb,2.4227e-03_rb,3.0276e-03_rb,3.6296e-03_rb, & &4.1838e-03_rb,4.7343e-03_rb,5.0477e-03_rb/) kao(:, 2, 6, 5) = (/ & &3.5232e-05_rb,1.1598e-03_rb,1.9531e-03_rb,2.6761e-03_rb,3.3625e-03_rb,3.9768e-03_rb, & &4.5866e-03_rb,5.2016e-03_rb,5.5671e-03_rb/) kao(:, 3, 6, 5) = (/ & &3.8902e-05_rb,1.2546e-03_rb,2.1314e-03_rb,2.9272e-03_rb,3.6836e-03_rb,4.3880e-03_rb, & &5.0585e-03_rb,5.6644e-03_rb,6.0941e-03_rb/) kao(:, 4, 6, 5) = (/ & &4.2647e-05_rb,1.3467e-03_rb,2.3051e-03_rb,3.1735e-03_rb,3.9922e-03_rb,4.7680e-03_rb, & &5.5151e-03_rb,6.2191e-03_rb,6.7036e-03_rb/) kao(:, 5, 6, 5) = (/ & &4.6653e-05_rb,1.4422e-03_rb,2.4729e-03_rb,3.4216e-03_rb,4.3101e-03_rb,5.1401e-03_rb, & &5.9675e-03_rb,6.7430e-03_rb,7.2989e-03_rb/) kao(:, 1, 7, 5) = (/ & &5.0846e-05_rb,1.0315e-03_rb,1.6111e-03_rb,2.1236e-03_rb,2.5799e-03_rb,3.0310e-03_rb, & &3.4624e-03_rb,3.8172e-03_rb,3.8938e-03_rb/) kao(:, 2, 7, 5) = (/ & &5.6601e-05_rb,1.1149e-03_rb,1.7798e-03_rb,2.3658e-03_rb,2.8898e-03_rb,3.3716e-03_rb, & &3.7952e-03_rb,4.1967e-03_rb,4.3621e-03_rb/) kao(:, 3, 7, 5) = (/ & &6.2823e-05_rb,1.2046e-03_rb,1.9431e-03_rb,2.5998e-03_rb,3.1765e-03_rb,3.7177e-03_rb, & &4.2137e-03_rb,4.5955e-03_rb,4.7978e-03_rb/) kao(:, 4, 7, 5) = (/ & &6.9611e-05_rb,1.2957e-03_rb,2.0957e-03_rb,2.8201e-03_rb,3.4636e-03_rb,4.0605e-03_rb, & &4.6007e-03_rb,5.0741e-03_rb,5.2639e-03_rb/) kao(:, 5, 7, 5) = (/ & &7.6939e-05_rb,1.3859e-03_rb,2.2478e-03_rb,3.0375e-03_rb,3.7523e-03_rb,4.4027e-03_rb, & &4.9784e-03_rb,5.5148e-03_rb,5.7724e-03_rb/) kao(:, 1, 8, 5) = (/ & &9.6301e-05_rb,1.1719e-03_rb,1.6543e-03_rb,2.0770e-03_rb,2.3972e-03_rb,2.6733e-03_rb, & &2.9412e-03_rb,3.1694e-03_rb,3.0111e-03_rb/) kao(:, 2, 8, 5) = (/ & &1.0686e-04_rb,1.2764e-03_rb,1.7930e-03_rb,2.2808e-03_rb,2.6778e-03_rb,3.0239e-03_rb, & &3.3001e-03_rb,3.5015e-03_rb,3.3999e-03_rb/) kao(:, 3, 8, 5) = (/ & &1.1947e-04_rb,1.3739e-03_rb,1.9473e-03_rb,2.4712e-03_rb,2.9582e-03_rb,3.3516e-03_rb, & &3.6623e-03_rb,3.8834e-03_rb,3.7468e-03_rb/) kao(:, 4, 8, 5) = (/ & &1.3232e-04_rb,1.4765e-03_rb,2.1012e-03_rb,2.6685e-03_rb,3.2209e-03_rb,3.6672e-03_rb, & &4.0113e-03_rb,4.2720e-03_rb,4.1080e-03_rb/) kao(:, 5, 8, 5) = (/ & &1.4706e-04_rb,1.5789e-03_rb,2.2554e-03_rb,2.8711e-03_rb,3.4655e-03_rb,3.9725e-03_rb, & &4.3795e-03_rb,4.6534e-03_rb,4.5441e-03_rb/) kao(:, 1, 9, 5) = (/ & &3.5361e-04_rb,1.7799e-03_rb,2.5051e-03_rb,2.9026e-03_rb,3.0684e-03_rb,3.1720e-03_rb, & &3.1736e-03_rb,2.9481e-03_rb,2.3479e-03_rb/) kao(:, 2, 9, 5) = (/ & &3.8911e-04_rb,1.9917e-03_rb,2.7818e-03_rb,3.1870e-03_rb,3.3554e-03_rb,3.4634e-03_rb, & &3.5258e-03_rb,3.3674e-03_rb,2.6687e-03_rb/) kao(:, 3, 9, 5) = (/ & &4.2895e-04_rb,2.2031e-03_rb,3.0511e-03_rb,3.4571e-03_rb,3.6423e-03_rb,3.7656e-03_rb, & &3.8544e-03_rb,3.7669e-03_rb,2.9800e-03_rb/) kao(:, 4, 9, 5) = (/ & &4.7521e-04_rb,2.4131e-03_rb,3.3032e-03_rb,3.7275e-03_rb,3.9589e-03_rb,4.0895e-03_rb, & &4.1693e-03_rb,4.1455e-03_rb,3.3334e-03_rb/) kao(:, 5, 9, 5) = (/ & &5.2696e-04_rb,2.6212e-03_rb,3.5469e-03_rb,4.0100e-03_rb,4.2674e-03_rb,4.4062e-03_rb, & &4.4862e-03_rb,4.5098e-03_rb,3.6774e-03_rb/) kao(:, 1,10, 5) = (/ & &1.5564e-03_rb,3.2260e-03_rb,4.0223e-03_rb,4.5990e-03_rb,4.8864e-03_rb,4.9553e-03_rb, & &4.6372e-03_rb,3.8115e-03_rb,2.4163e-03_rb/) kao(:, 2,10, 5) = (/ & &1.6655e-03_rb,3.5530e-03_rb,4.4984e-03_rb,5.1615e-03_rb,5.5140e-03_rb,5.5636e-03_rb, & &5.1458e-03_rb,4.1627e-03_rb,2.8169e-03_rb/) kao(:, 3,10, 5) = (/ & &1.7970e-03_rb,3.9283e-03_rb,4.9975e-03_rb,5.7194e-03_rb,6.1431e-03_rb,6.1500e-03_rb, & &5.6336e-03_rb,4.5688e-03_rb,3.2157e-03_rb/) kao(:, 4,10, 5) = (/ & &1.9389e-03_rb,4.3419e-03_rb,5.5082e-03_rb,6.3036e-03_rb,6.7602e-03_rb,6.7061e-03_rb, & &6.1219e-03_rb,4.9831e-03_rb,3.5478e-03_rb/) kao(:, 5,10, 5) = (/ & &2.1200e-03_rb,4.8101e-03_rb,6.0597e-03_rb,6.9046e-03_rb,7.3538e-03_rb,7.2522e-03_rb, & &6.6229e-03_rb,5.4082e-03_rb,3.8617e-03_rb/) kao(:, 1,11, 5) = (/ & &2.5844e-03_rb,4.2072e-03_rb,4.7201e-03_rb,5.1141e-03_rb,5.3078e-03_rb,5.2931e-03_rb, & &4.9397e-03_rb,3.9983e-03_rb,2.6464e-03_rb/) kao(:, 2,11, 5) = (/ & &2.7239e-03_rb,4.5852e-03_rb,5.1921e-03_rb,5.6631e-03_rb,5.9270e-03_rb,5.9381e-03_rb, & &5.5459e-03_rb,4.4351e-03_rb,2.9283e-03_rb/) kao(:, 3,11, 5) = (/ & &2.8937e-03_rb,4.9994e-03_rb,5.7378e-03_rb,6.2452e-03_rb,6.5647e-03_rb,6.5969e-03_rb, & &6.1297e-03_rb,4.8694e-03_rb,3.2879e-03_rb/) kao(:, 4,11, 5) = (/ & &3.0973e-03_rb,5.4803e-03_rb,6.2977e-03_rb,6.8750e-03_rb,7.2241e-03_rb,7.2627e-03_rb, & &6.7036e-03_rb,5.3184e-03_rb,3.6746e-03_rb/) kao(:, 5,11, 5) = (/ & &3.3444e-03_rb,6.0139e-03_rb,6.9682e-03_rb,7.5496e-03_rb,7.9438e-03_rb,7.9183e-03_rb, & &7.2786e-03_rb,5.7800e-03_rb,4.1120e-03_rb/) kao(:, 1,12, 5) = (/ & &3.1142e-03_rb,4.6509e-03_rb,5.0639e-03_rb,5.2099e-03_rb,5.2596e-03_rb,5.1306e-03_rb, & &4.7167e-03_rb,3.8189e-03_rb,2.7150e-03_rb/) kao(:, 2,12, 5) = (/ & &3.2756e-03_rb,5.0359e-03_rb,5.5390e-03_rb,5.7321e-03_rb,5.8154e-03_rb,5.7214e-03_rb, & &5.2745e-03_rb,4.2400e-03_rb,3.0513e-03_rb/) kao(:, 3,12, 5) = (/ & &3.4985e-03_rb,5.4685e-03_rb,6.0590e-03_rb,6.2917e-03_rb,6.4404e-03_rb,6.3170e-03_rb, & &5.8354e-03_rb,4.6512e-03_rb,3.3763e-03_rb/) kao(:, 4,12, 5) = (/ & &3.7766e-03_rb,5.9630e-03_rb,6.6546e-03_rb,6.9419e-03_rb,7.0961e-03_rb,6.9336e-03_rb, & &6.4037e-03_rb,5.0749e-03_rb,3.7160e-03_rb/) kao(:, 5,12, 5) = (/ & &4.1085e-03_rb,6.5232e-03_rb,7.2797e-03_rb,7.6482e-03_rb,7.7587e-03_rb,7.5770e-03_rb, & &6.9583e-03_rb,5.5150e-03_rb,4.0847e-03_rb/) kao(:, 1,13, 5) = (/ & &2.9969e-03_rb,4.3888e-03_rb,4.7684e-03_rb,4.8307e-03_rb,4.7938e-03_rb,4.5847e-03_rb, & &4.1916e-03_rb,3.3359e-03_rb,2.6072e-03_rb/) kao(:, 2,13, 5) = (/ & &3.2153e-03_rb,4.7897e-03_rb,5.2331e-03_rb,5.3333e-03_rb,5.2913e-03_rb,5.1054e-03_rb, & &4.6633e-03_rb,3.6830e-03_rb,2.9306e-03_rb/) kao(:, 3,13, 5) = (/ & &3.4754e-03_rb,5.2096e-03_rb,5.7373e-03_rb,5.8606e-03_rb,5.8296e-03_rb,5.6492e-03_rb, & &5.1331e-03_rb,4.0274e-03_rb,3.2891e-03_rb/) kao(:, 4,13, 5) = (/ & &3.7596e-03_rb,5.6812e-03_rb,6.2772e-03_rb,6.4413e-03_rb,6.4105e-03_rb,6.2095e-03_rb, & &5.6055e-03_rb,4.3924e-03_rb,3.6856e-03_rb/) kao(:, 5,13, 5) = (/ & &4.1250e-03_rb,6.2069e-03_rb,6.8482e-03_rb,7.0531e-03_rb,7.0243e-03_rb,6.7656e-03_rb, & &6.0849e-03_rb,4.7766e-03_rb,4.1519e-03_rb/) kao(:, 1, 1, 6) = (/ & &8.6000e-06_rb,4.4651e-03_rb,9.0097e-03_rb,1.3704e-02_rb,1.8645e-02_rb,2.4046e-02_rb, & &3.0633e-02_rb,4.1152e-02_rb,3.7281e-02_rb/) kao(:, 2, 1, 6) = (/ & &9.1677e-06_rb,4.8343e-03_rb,9.7595e-03_rb,1.4853e-02_rb,2.0235e-02_rb,2.6158e-02_rb, & &3.3249e-02_rb,4.4739e-02_rb,4.0461e-02_rb/) kao(:, 3, 1, 6) = (/ & &9.7617e-06_rb,5.2064e-03_rb,1.0520e-02_rb,1.6024e-02_rb,2.1831e-02_rb,2.8229e-02_rb, & &3.6006e-02_rb,4.8415e-02_rb,4.3651e-02_rb/) kao(:, 4, 1, 6) = (/ & &1.0395e-05_rb,5.5866e-03_rb,1.1290e-02_rb,1.7191e-02_rb,2.3426e-02_rb,3.0307e-02_rb, & &3.8717e-02_rb,5.2240e-02_rb,4.6842e-02_rb/) kao(:, 5, 1, 6) = (/ & &1.1075e-05_rb,5.9593e-03_rb,1.2050e-02_rb,1.8360e-02_rb,2.5043e-02_rb,3.2426e-02_rb, & &4.1434e-02_rb,5.5912e-02_rb,5.0074e-02_rb/) kao(:, 1, 2, 6) = (/ & &1.1648e-05_rb,3.7355e-03_rb,7.3892e-03_rb,1.1190e-02_rb,1.5132e-02_rb,1.9317e-02_rb, & &2.4213e-02_rb,3.1544e-02_rb,3.0250e-02_rb/) kao(:, 2, 2, 6) = (/ & &1.2445e-05_rb,4.0410e-03_rb,8.0302e-03_rb,1.2160e-02_rb,1.6448e-02_rb,2.1055e-02_rb, & &2.6369e-02_rb,3.4311e-02_rb,3.2880e-02_rb/) kao(:, 3, 2, 6) = (/ & &1.3310e-05_rb,4.3542e-03_rb,8.6703e-03_rb,1.3133e-02_rb,1.7778e-02_rb,2.2773e-02_rb, & &2.8564e-02_rb,3.7228e-02_rb,3.5538e-02_rb/) kao(:, 4, 2, 6) = (/ & &1.4232e-05_rb,4.6616e-03_rb,9.3074e-03_rb,1.4103e-02_rb,1.9095e-02_rb,2.4467e-02_rb, & &3.0730e-02_rb,4.0202e-02_rb,3.8172e-02_rb/) kao(:, 5, 2, 6) = (/ & &1.5231e-05_rb,4.9691e-03_rb,9.9386e-03_rb,1.5066e-02_rb,2.0413e-02_rb,2.6167e-02_rb, & &3.2915e-02_rb,4.3077e-02_rb,4.0807e-02_rb/) kao(:, 1, 3, 6) = (/ & &2.0796e-05_rb,3.1636e-03_rb,6.0427e-03_rb,8.9479e-03_rb,1.1951e-02_rb,1.5111e-02_rb, & &1.8532e-02_rb,2.3072e-02_rb,2.3870e-02_rb/) kao(:, 2, 3, 6) = (/ & &2.2285e-05_rb,3.4357e-03_rb,6.5684e-03_rb,9.7449e-03_rb,1.3046e-02_rb,1.6505e-02_rb, & &2.0281e-02_rb,2.5200e-02_rb,2.6059e-02_rb/) kao(:, 3, 3, 6) = (/ & &2.3921e-05_rb,3.7148e-03_rb,7.1066e-03_rb,1.0556e-02_rb,1.4151e-02_rb,1.7911e-02_rb, & &2.2018e-02_rb,2.7457e-02_rb,2.8268e-02_rb/) kao(:, 4, 3, 6) = (/ & &2.5678e-05_rb,3.9815e-03_rb,7.6234e-03_rb,1.1355e-02_rb,1.5233e-02_rb,1.9276e-02_rb, & &2.3703e-02_rb,2.9635e-02_rb,3.0431e-02_rb/) kao(:, 5, 3, 6) = (/ & &2.7604e-05_rb,4.2441e-03_rb,8.1373e-03_rb,1.2146e-02_rb,1.6312e-02_rb,2.0656e-02_rb, & &2.5417e-02_rb,3.1780e-02_rb,3.2590e-02_rb/) kao(:, 1, 4, 6) = (/ & &3.7548e-05_rb,2.7525e-03_rb,5.0829e-03_rb,7.3519e-03_rb,9.5921e-03_rb,1.1880e-02_rb, & &1.4330e-02_rb,1.7270e-02_rb,1.8770e-02_rb/) kao(:, 2, 4, 6) = (/ & &4.0479e-05_rb,3.0018e-03_rb,5.5477e-03_rb,8.0335e-03_rb,1.0500e-02_rb,1.3017e-02_rb, & &1.5741e-02_rb,1.8989e-02_rb,2.0592e-02_rb/) kao(:, 3, 4, 6) = (/ & &4.3632e-05_rb,3.2358e-03_rb,6.0288e-03_rb,8.7218e-03_rb,1.1388e-02_rb,1.4152e-02_rb, & &1.7154e-02_rb,2.0724e-02_rb,2.2417e-02_rb/) kao(:, 4, 4, 6) = (/ & &4.6956e-05_rb,3.4641e-03_rb,6.4839e-03_rb,9.3953e-03_rb,1.2286e-02_rb,1.5294e-02_rb, & &1.8543e-02_rb,2.2416e-02_rb,2.4245e-02_rb/) kao(:, 5, 4, 6) = (/ & &5.0658e-05_rb,3.6946e-03_rb,6.9352e-03_rb,1.0060e-02_rb,1.3165e-02_rb,1.6424e-02_rb, & &1.9935e-02_rb,2.4115e-02_rb,2.6056e-02_rb/) kao(:, 1, 5, 6) = (/ & &6.1528e-05_rb,2.4644e-03_rb,4.3512e-03_rb,6.1626e-03_rb,7.9327e-03_rb,9.6496e-03_rb, & &1.1347e-02_rb,1.3264e-02_rb,1.4745e-02_rb/) kao(:, 2, 5, 6) = (/ & &6.6793e-05_rb,2.6844e-03_rb,4.7746e-03_rb,6.7632e-03_rb,8.7202e-03_rb,1.0626e-02_rb, & &1.2508e-02_rb,1.4649e-02_rb,1.6279e-02_rb/) kao(:, 3, 5, 6) = (/ & &7.2459e-05_rb,2.8961e-03_rb,5.1774e-03_rb,7.3853e-03_rb,9.5105e-03_rb,1.1570e-02_rb, & &1.3632e-02_rb,1.6051e-02_rb,1.7802e-02_rb/) kao(:, 4, 5, 6) = (/ & &7.8727e-05_rb,3.1045e-03_rb,5.5659e-03_rb,7.9693e-03_rb,1.0288e-02_rb,1.2541e-02_rb, & &1.4785e-02_rb,1.7438e-02_rb,1.9338e-02_rb/) kao(:, 5, 5, 6) = (/ & &8.5530e-05_rb,3.3182e-03_rb,5.9543e-03_rb,8.5528e-03_rb,1.1059e-02_rb,1.3485e-02_rb, & &1.5922e-02_rb,1.8829e-02_rb,2.0873e-02_rb/) kao(:, 1, 6, 6) = (/ & &9.4265e-05_rb,2.2301e-03_rb,3.8046e-03_rb,5.2488e-03_rb,6.6170e-03_rb,7.9289e-03_rb, & &9.1950e-03_rb,1.0423e-02_rb,1.1518e-02_rb/) kao(:, 2, 6, 6) = (/ & &1.0266e-04_rb,2.4246e-03_rb,4.1792e-03_rb,5.7800e-03_rb,7.2894e-03_rb,8.7747e-03_rb, & &1.0200e-02_rb,1.1548e-02_rb,1.2780e-02_rb/) kao(:, 3, 6, 6) = (/ & &1.1200e-04_rb,2.6239e-03_rb,4.5381e-03_rb,6.2992e-03_rb,7.9916e-03_rb,9.6188e-03_rb, & &1.1174e-02_rb,1.2683e-02_rb,1.4059e-02_rb/) kao(:, 4, 6, 6) = (/ & &1.2224e-04_rb,2.8287e-03_rb,4.8898e-03_rb,6.8010e-03_rb,8.6582e-03_rb,1.0462e-02_rb, & &1.2176e-02_rb,1.3803e-02_rb,1.5334e-02_rb/) kao(:, 5, 6, 6) = (/ & &1.3337e-04_rb,3.0366e-03_rb,5.2437e-03_rb,7.3027e-03_rb,9.3153e-03_rb,1.1279e-02_rb, & &1.3144e-02_rb,1.4949e-02_rb,1.6628e-02_rb/) kao(:, 1, 7, 6) = (/ & &1.5263e-04_rb,2.1146e-03_rb,3.4378e-03_rb,4.6052e-03_rb,5.6815e-03_rb,6.6787e-03_rb, & &7.5592e-03_rb,8.3902e-03_rb,8.9861e-03_rb/) kao(:, 2, 7, 6) = (/ & &1.6683e-04_rb,2.3125e-03_rb,3.7648e-03_rb,5.0866e-03_rb,6.2982e-03_rb,7.4001e-03_rb, & &8.4314e-03_rb,9.3717e-03_rb,1.0001e-02_rb/) kao(:, 3, 7, 6) = (/ & &1.8246e-04_rb,2.5152e-03_rb,4.0947e-03_rb,5.5502e-03_rb,6.9009e-03_rb,8.1426e-03_rb, & &9.2748e-03_rb,1.0344e-02_rb,1.1085e-02_rb/) kao(:, 4, 7, 6) = (/ & &1.9965e-04_rb,2.7190e-03_rb,4.4394e-03_rb,6.0162e-03_rb,7.4822e-03_rb,8.8463e-03_rb, & &1.0151e-02_rb,1.1321e-02_rb,1.2163e-02_rb/) kao(:, 5, 7, 6) = (/ & &2.1839e-04_rb,2.9201e-03_rb,4.7890e-03_rb,6.4854e-03_rb,8.0589e-03_rb,9.5473e-03_rb, & &1.0985e-02_rb,1.2296e-02_rb,1.3266e-02_rb/) kao(:, 1, 8, 6) = (/ & &2.9912e-04_rb,2.3311e-03_rb,3.4065e-03_rb,4.3529e-03_rb,5.1991e-03_rb,5.9115e-03_rb, & &6.5345e-03_rb,6.9536e-03_rb,6.9673e-03_rb/) kao(:, 2, 8, 6) = (/ & &3.2667e-04_rb,2.5198e-03_rb,3.7444e-03_rb,4.8113e-03_rb,5.7475e-03_rb,6.5852e-03_rb, & &7.2722e-03_rb,7.8027e-03_rb,7.8100e-03_rb/) kao(:, 3, 8, 6) = (/ & &3.5783e-04_rb,2.7045e-03_rb,4.0852e-03_rb,5.2736e-03_rb,6.2947e-03_rb,7.2359e-03_rb, & &8.0488e-03_rb,8.6314e-03_rb,8.7294e-03_rb/) kao(:, 4, 8, 6) = (/ & &3.9253e-04_rb,2.8930e-03_rb,4.4286e-03_rb,5.7246e-03_rb,6.8467e-03_rb,7.8891e-03_rb, & &8.7826e-03_rb,9.4970e-03_rb,9.6421e-03_rb/) kao(:, 5, 8, 6) = (/ & &4.3012e-04_rb,3.0887e-03_rb,4.7690e-03_rb,6.1815e-03_rb,7.4286e-03_rb,8.5468e-03_rb, & &9.5146e-03_rb,1.0319e-02_rb,1.0565e-02_rb/) kao(:, 1, 9, 6) = (/ & &1.0976e-03_rb,4.1506e-03_rb,5.1147e-03_rb,5.7794e-03_rb,6.2915e-03_rb,6.5755e-03_rb, & &6.7173e-03_rb,6.5721e-03_rb,5.2619e-03_rb/) kao(:, 2, 9, 6) = (/ & &1.2019e-03_rb,4.4814e-03_rb,5.5166e-03_rb,6.2823e-03_rb,6.8818e-03_rb,7.2627e-03_rb, & &7.4725e-03_rb,7.3662e-03_rb,5.9464e-03_rb/) kao(:, 3, 9, 6) = (/ & &1.3207e-03_rb,4.7927e-03_rb,5.9242e-03_rb,6.7576e-03_rb,7.4599e-03_rb,7.9614e-03_rb, & &8.2442e-03_rb,8.1477e-03_rb,6.6764e-03_rb/) kao(:, 4, 9, 6) = (/ & &1.4520e-03_rb,5.0989e-03_rb,6.3402e-03_rb,7.2519e-03_rb,8.0196e-03_rb,8.6608e-03_rb, & &9.0083e-03_rb,8.9373e-03_rb,7.4095e-03_rb/) kao(:, 5, 9, 6) = (/ & &1.5966e-03_rb,5.4241e-03_rb,6.7693e-03_rb,7.7581e-03_rb,8.6262e-03_rb,9.3645e-03_rb, & &9.7704e-03_rb,9.7289e-03_rb,8.1550e-03_rb/) kao(:, 1,10, 6) = (/ & &4.4394e-03_rb,9.1190e-03_rb,1.0725e-02_rb,1.1220e-02_rb,1.1152e-02_rb,1.0508e-02_rb, & &9.4386e-03_rb,7.8107e-03_rb,4.9143e-03_rb/) kao(:, 2,10, 6) = (/ & &4.8803e-03_rb,1.0187e-02_rb,1.1809e-02_rb,1.2265e-02_rb,1.2072e-02_rb,1.1380e-02_rb, & &1.0318e-02_rb,8.6414e-03_rb,5.6112e-03_rb/) kao(:, 3,10, 6) = (/ & &5.3784e-03_rb,1.1243e-02_rb,1.2866e-02_rb,1.3294e-02_rb,1.2988e-02_rb,1.2282e-02_rb, & &1.1181e-02_rb,9.4518e-03_rb,6.2671e-03_rb/) kao(:, 4,10, 6) = (/ & &5.9406e-03_rb,1.2247e-02_rb,1.3888e-02_rb,1.4276e-02_rb,1.3911e-02_rb,1.3225e-02_rb, & &1.2026e-02_rb,1.0238e-02_rb,6.9421e-03_rb/) kao(:, 5,10, 6) = (/ & &6.5660e-03_rb,1.3194e-02_rb,1.4891e-02_rb,1.5253e-02_rb,1.4902e-02_rb,1.4176e-02_rb, & &1.2864e-02_rb,1.1066e-02_rb,7.6281e-03_rb/) kao(:, 1,11, 6) = (/ & &6.6711e-03_rb,1.1267e-02_rb,1.2748e-02_rb,1.3242e-02_rb,1.2977e-02_rb,1.2030e-02_rb, & &1.0523e-02_rb,8.3002e-03_rb,5.3202e-03_rb/) kao(:, 2,11, 6) = (/ & &7.3092e-03_rb,1.2565e-02_rb,1.4207e-02_rb,1.4653e-02_rb,1.4245e-02_rb,1.3138e-02_rb, & &1.1437e-02_rb,9.1124e-03_rb,6.0956e-03_rb/) kao(:, 3,11, 6) = (/ & &8.0261e-03_rb,1.3900e-02_rb,1.5599e-02_rb,1.6022e-02_rb,1.5510e-02_rb,1.4232e-02_rb, & &1.2399e-02_rb,9.8954e-03_rb,6.7920e-03_rb/) kao(:, 4,11, 6) = (/ & &8.8835e-03_rb,1.5218e-02_rb,1.7018e-02_rb,1.7348e-02_rb,1.6755e-02_rb,1.5328e-02_rb, & &1.3427e-02_rb,1.0676e-02_rb,7.4156e-03_rb/) kao(:, 5,11, 6) = (/ & &9.8592e-03_rb,1.6591e-02_rb,1.8382e-02_rb,1.8693e-02_rb,1.7995e-02_rb,1.6489e-02_rb, & &1.4464e-02_rb,1.1488e-02_rb,8.0687e-03_rb/) kao(:, 1,12, 6) = (/ & &7.8286e-03_rb,1.1844e-02_rb,1.2951e-02_rb,1.3269e-02_rb,1.2819e-02_rb,1.1719e-02_rb, & &1.0146e-02_rb,7.7901e-03_rb,5.3706e-03_rb/) kao(:, 2,12, 6) = (/ & &8.5205e-03_rb,1.3089e-02_rb,1.4355e-02_rb,1.4624e-02_rb,1.4116e-02_rb,1.2895e-02_rb, & &1.1103e-02_rb,8.5730e-03_rb,5.9882e-03_rb/) kao(:, 3,12, 6) = (/ & &9.3309e-03_rb,1.4405e-02_rb,1.5746e-02_rb,1.6010e-02_rb,1.5387e-02_rb,1.4067e-02_rb, & &1.2065e-02_rb,9.3726e-03_rb,6.6686e-03_rb/) kao(:, 4,12, 6) = (/ & &1.0285e-02_rb,1.5780e-02_rb,1.7147e-02_rb,1.7368e-02_rb,1.6677e-02_rb,1.5224e-02_rb, & &1.3058e-02_rb,1.0197e-02_rb,7.3827e-03_rb/) kao(:, 5,12, 6) = (/ & &1.1378e-02_rb,1.7192e-02_rb,1.8621e-02_rb,1.8778e-02_rb,1.8045e-02_rb,1.6433e-02_rb, & &1.4105e-02_rb,1.1017e-02_rb,8.1428e-03_rb/) kao(:, 1,13, 6) = (/ & &7.7075e-03_rb,1.1053e-02_rb,1.1788e-02_rb,1.1798e-02_rb,1.1282e-02_rb,1.0218e-02_rb, & &8.7608e-03_rb,6.6974e-03_rb,4.9774e-03_rb/) kao(:, 2,13, 6) = (/ & &8.3931e-03_rb,1.2074e-02_rb,1.2868e-02_rb,1.2866e-02_rb,1.2320e-02_rb,1.1165e-02_rb, & &9.5984e-03_rb,7.4025e-03_rb,5.6029e-03_rb/) kao(:, 3,13, 6) = (/ & &9.1257e-03_rb,1.3198e-02_rb,1.3994e-02_rb,1.3989e-02_rb,1.3400e-02_rb,1.2194e-02_rb, & &1.0455e-02_rb,8.1317e-03_rb,6.2279e-03_rb/) kao(:, 4,13, 6) = (/ & &9.9594e-03_rb,1.4337e-02_rb,1.5200e-02_rb,1.5161e-02_rb,1.4494e-02_rb,1.3263e-02_rb, & &1.1356e-02_rb,8.8525e-03_rb,6.8478e-03_rb/) kao(:, 5,13, 6) = (/ & &1.0855e-02_rb,1.5527e-02_rb,1.6501e-02_rb,1.6412e-02_rb,1.5661e-02_rb,1.4395e-02_rb, & &1.2355e-02_rb,9.5887e-03_rb,7.3951e-03_rb/) kao(:, 1, 1, 7) = (/ & &2.8482e-05_rb,1.1072e-02_rb,2.2376e-02_rb,3.4052e-02_rb,4.6363e-02_rb,5.9888e-02_rb, & &7.6137e-02_rb,1.0147e-01_rb,9.2714e-02_rb/) kao(:, 2, 1, 7) = (/ & &2.9459e-05_rb,1.1920e-02_rb,2.4092e-02_rb,3.6662e-02_rb,4.9933e-02_rb,6.4531e-02_rb, & &8.2136e-02_rb,1.0950e-01_rb,9.9856e-02_rb/) kao(:, 3, 1, 7) = (/ & &3.0378e-05_rb,1.2748e-02_rb,2.5776e-02_rb,3.9242e-02_rb,5.3450e-02_rb,6.9069e-02_rb, & &8.7941e-02_rb,1.1741e-01_rb,1.0689e-01_rb/) kao(:, 4, 1, 7) = (/ & &3.1242e-05_rb,1.3565e-02_rb,2.7429e-02_rb,4.1762e-02_rb,5.6896e-02_rb,7.3556e-02_rb, & &9.3626e-02_rb,1.2500e-01_rb,1.1378e-01_rb/) kao(:, 5, 1, 7) = (/ & &3.2096e-05_rb,1.4368e-02_rb,2.9038e-02_rb,4.4226e-02_rb,6.0256e-02_rb,7.7920e-02_rb, & &9.9246e-02_rb,1.3270e-01_rb,1.2050e-01_rb/) kao(:, 1, 2, 7) = (/ & &3.8108e-05_rb,9.1980e-03_rb,1.8505e-02_rb,2.8037e-02_rb,3.7923e-02_rb,4.8524e-02_rb, & &6.0800e-02_rb,7.8866e-02_rb,7.5829e-02_rb/) kao(:, 2, 2, 7) = (/ & &3.9453e-05_rb,9.9404e-03_rb,2.0012e-02_rb,3.0307e-02_rb,4.0999e-02_rb,5.2467e-02_rb, & &6.5752e-02_rb,8.5496e-02_rb,8.1980e-02_rb/) kao(:, 3, 2, 7) = (/ & &4.0728e-05_rb,1.0645e-02_rb,2.1444e-02_rb,3.2483e-02_rb,4.3962e-02_rb,5.6282e-02_rb, & &7.0607e-02_rb,9.1834e-02_rb,8.7906e-02_rb/) kao(:, 4, 2, 7) = (/ & &4.1960e-05_rb,1.1349e-02_rb,2.2852e-02_rb,3.4627e-02_rb,4.6872e-02_rb,6.0009e-02_rb, & &7.5320e-02_rb,9.8100e-02_rb,9.3725e-02_rb/) kao(:, 5, 2, 7) = (/ & &4.3152e-05_rb,1.2042e-02_rb,2.4257e-02_rb,3.6759e-02_rb,4.9754e-02_rb,6.3714e-02_rb, & &7.9963e-02_rb,1.0426e-01_rb,9.9487e-02_rb/) kao(:, 1, 3, 7) = (/ & &6.8682e-05_rb,7.6817e-03_rb,1.5032e-02_rb,2.2610e-02_rb,3.0354e-02_rb,3.8397e-02_rb, & &4.7144e-02_rb,5.8545e-02_rb,6.0680e-02_rb/) kao(:, 2, 3, 7) = (/ & &7.1048e-05_rb,8.3077e-03_rb,1.6309e-02_rb,2.4554e-02_rb,3.2973e-02_rb,4.1716e-02_rb, & &5.1249e-02_rb,6.3726e-02_rb,6.5916e-02_rb/) kao(:, 3, 3, 7) = (/ & &7.3516e-05_rb,8.8904e-03_rb,1.7519e-02_rb,2.6389e-02_rb,3.5446e-02_rb,4.4862e-02_rb, & &5.5125e-02_rb,6.8637e-02_rb,7.0859e-02_rb/) kao(:, 4, 3, 7) = (/ & &7.5927e-05_rb,9.4787e-03_rb,1.8742e-02_rb,2.8235e-02_rb,3.7922e-02_rb,4.7994e-02_rb, & &5.8964e-02_rb,7.3444e-02_rb,7.5806e-02_rb/) kao(:, 5, 3, 7) = (/ & &7.8228e-05_rb,1.0059e-02_rb,1.9946e-02_rb,3.0057e-02_rb,4.0372e-02_rb,5.1096e-02_rb, & &6.2816e-02_rb,7.8277e-02_rb,8.0701e-02_rb/) kao(:, 1, 4, 7) = (/ & &1.2728e-04_rb,6.6847e-03_rb,1.2528e-02_rb,1.8338e-02_rb,2.4310e-02_rb,3.0521e-02_rb, & &3.7034e-02_rb,4.4629e-02_rb,4.8506e-02_rb/) kao(:, 2, 4, 7) = (/ & &1.3229e-04_rb,7.2462e-03_rb,1.3606e-02_rb,1.9949e-02_rb,2.6505e-02_rb,3.3306e-02_rb, & &4.0432e-02_rb,4.8804e-02_rb,5.2931e-02_rb/) kao(:, 3, 4, 7) = (/ & &1.3690e-04_rb,7.7950e-03_rb,1.4636e-02_rb,2.1498e-02_rb,2.8618e-02_rb,3.5967e-02_rb, & &4.3669e-02_rb,5.2720e-02_rb,5.7159e-02_rb/) kao(:, 4, 4, 7) = (/ & &1.4141e-04_rb,8.3363e-03_rb,1.5650e-02_rb,2.3036e-02_rb,3.0707e-02_rb,3.8607e-02_rb, & &4.6880e-02_rb,5.6623e-02_rb,6.1327e-02_rb/) kao(:, 5, 4, 7) = (/ & &1.4572e-04_rb,8.8720e-03_rb,1.6649e-02_rb,2.4570e-02_rb,3.2799e-02_rb,4.1227e-02_rb, & &5.0069e-02_rb,6.0500e-02_rb,6.5502e-02_rb/) kao(:, 1, 5, 7) = (/ & &2.1573e-04_rb,5.8827e-03_rb,1.0779e-02_rb,1.5450e-02_rb,1.9971e-02_rb,2.4513e-02_rb, & &2.9346e-02_rb,3.4831e-02_rb,3.8718e-02_rb/) kao(:, 2, 5, 7) = (/ & &2.2440e-04_rb,6.4009e-03_rb,1.1752e-02_rb,1.6862e-02_rb,2.1813e-02_rb,2.6822e-02_rb, & &3.2187e-02_rb,3.8239e-02_rb,4.2467e-02_rb/) kao(:, 3, 5, 7) = (/ & &2.3312e-04_rb,6.9022e-03_rb,1.2696e-02_rb,1.8213e-02_rb,2.3573e-02_rb,2.9063e-02_rb, & &3.4955e-02_rb,4.1525e-02_rb,4.6111e-02_rb/) kao(:, 4, 5, 7) = (/ & &2.4120e-04_rb,7.3983e-03_rb,1.3629e-02_rb,1.9546e-02_rb,2.5293e-02_rb,3.1249e-02_rb, & &3.7630e-02_rb,4.4709e-02_rb,4.9634e-02_rb/) kao(:, 5, 5, 7) = (/ & &2.4900e-04_rb,7.8813e-03_rb,1.4548e-02_rb,2.0857e-02_rb,2.7012e-02_rb,3.3451e-02_rb, & &4.0320e-02_rb,4.7915e-02_rb,5.3175e-02_rb/) kao(:, 1, 6, 7) = (/ & &3.4036e-04_rb,5.3231e-03_rb,9.2729e-03_rb,1.3061e-02_rb,1.6728e-02_rb,2.0215e-02_rb, & &2.3560e-02_rb,2.7195e-02_rb,3.0556e-02_rb/) kao(:, 2, 6, 7) = (/ & &3.5502e-04_rb,5.8134e-03_rb,1.0151e-02_rb,1.4345e-02_rb,1.8389e-02_rb,2.2227e-02_rb, & &2.5905e-02_rb,3.0036e-02_rb,3.3756e-02_rb/) kao(:, 3, 6, 7) = (/ & &3.6934e-04_rb,6.2790e-03_rb,1.1006e-02_rb,1.5584e-02_rb,1.9972e-02_rb,2.4157e-02_rb, & &2.8189e-02_rb,3.2811e-02_rb,3.6865e-02_rb/) kao(:, 4, 6, 7) = (/ & &3.8386e-04_rb,6.7401e-03_rb,1.1853e-02_rb,1.6807e-02_rb,2.1541e-02_rb,2.6034e-02_rb, & &3.0406e-02_rb,3.5498e-02_rb,3.9873e-02_rb/) kao(:, 5, 6, 7) = (/ & &3.9798e-04_rb,7.1899e-03_rb,1.2680e-02_rb,1.7996e-02_rb,2.3081e-02_rb,2.7888e-02_rb, & &3.2622e-02_rb,3.8170e-02_rb,4.2864e-02_rb/) kao(:, 1, 7, 7) = (/ & &5.6321e-04_rb,5.0131e-03_rb,8.3197e-03_rb,1.1342e-02_rb,1.4164e-02_rb,1.6877e-02_rb, & &1.9447e-02_rb,2.1713e-02_rb,2.3905e-02_rb/) kao(:, 2, 7, 7) = (/ & &5.9016e-04_rb,5.4925e-03_rb,9.1570e-03_rb,1.2482e-02_rb,1.5641e-02_rb,1.8693e-02_rb, & &2.1556e-02_rb,2.4086e-02_rb,2.6629e-02_rb/) kao(:, 3, 7, 7) = (/ & &6.1706e-04_rb,5.9641e-03_rb,9.9615e-03_rb,1.3605e-02_rb,1.7087e-02_rb,2.0445e-02_rb, & &2.3593e-02_rb,2.6361e-02_rb,2.9262e-02_rb/) kao(:, 4, 7, 7) = (/ & &6.4250e-04_rb,6.4355e-03_rb,1.0740e-02_rb,1.4689e-02_rb,1.8507e-02_rb,2.2162e-02_rb, & &2.5558e-02_rb,2.8565e-02_rb,3.1822e-02_rb/) kao(:, 5, 7, 7) = (/ & &6.6706e-04_rb,6.9143e-03_rb,1.1505e-02_rb,1.5753e-02_rb,1.9886e-02_rb,2.3836e-02_rb, & &2.7497e-02_rb,3.0749e-02_rb,3.4313e-02_rb/) kao(:, 1, 8, 7) = (/ & &1.1137e-03_rb,5.2798e-03_rb,8.0960e-03_rb,1.0553e-02_rb,1.2781e-02_rb,1.4788e-02_rb, & &1.6508e-02_rb,1.7972e-02_rb,1.8634e-02_rb/) kao(:, 2, 8, 7) = (/ & &1.1746e-03_rb,5.8110e-03_rb,8.9215e-03_rb,1.1680e-02_rb,1.4167e-02_rb,1.6394e-02_rb, & &1.8389e-02_rb,2.0091e-02_rb,2.0946e-02_rb/) kao(:, 3, 8, 7) = (/ & &1.2333e-03_rb,6.3510e-03_rb,9.7459e-03_rb,1.2786e-02_rb,1.5523e-02_rb,1.7978e-02_rb, & &2.0210e-02_rb,2.2150e-02_rb,2.3198e-02_rb/) kao(:, 4, 8, 7) = (/ & &1.2923e-03_rb,6.8806e-03_rb,1.0573e-02_rb,1.3874e-02_rb,1.6833e-02_rb,1.9520e-02_rb, & &2.2008e-02_rb,2.4130e-02_rb,2.5397e-02_rb/) kao(:, 5, 8, 7) = (/ & &1.3493e-03_rb,7.4001e-03_rb,1.1421e-02_rb,1.4955e-02_rb,1.8119e-02_rb,2.1028e-02_rb, & &2.3751e-02_rb,2.6082e-02_rb,2.7521e-02_rb/) kao(:, 1, 9, 7) = (/ & &4.1652e-03_rb,9.1226e-03_rb,1.1391e-02_rb,1.3127e-02_rb,1.4574e-02_rb,1.5712e-02_rb, & &1.6412e-02_rb,1.6590e-02_rb,1.4324e-02_rb/) kao(:, 2, 9, 7) = (/ & &4.4077e-03_rb,9.7658e-03_rb,1.2393e-02_rb,1.4489e-02_rb,1.6135e-02_rb,1.7441e-02_rb, & &1.8307e-02_rb,1.8536e-02_rb,1.6186e-02_rb/) kao(:, 3, 9, 7) = (/ & &4.6510e-03_rb,1.0425e-02_rb,1.3450e-02_rb,1.5897e-02_rb,1.7759e-02_rb,1.9177e-02_rb, & &2.0163e-02_rb,2.0445e-02_rb,1.8103e-02_rb/) kao(:, 4, 9, 7) = (/ & &4.8932e-03_rb,1.1096e-02_rb,1.4490e-02_rb,1.7265e-02_rb,1.9404e-02_rb,2.0920e-02_rb, & &2.2008e-02_rb,2.2308e-02_rb,1.9978e-02_rb/) kao(:, 5, 9, 7) = (/ & &5.1319e-03_rb,1.1758e-02_rb,1.5541e-02_rb,1.8602e-02_rb,2.0988e-02_rb,2.2688e-02_rb, & &2.3851e-02_rb,2.4156e-02_rb,2.1799e-02_rb/) kao(:, 1,10, 7) = (/ & &1.7349e-02_rb,2.4277e-02_rb,2.5467e-02_rb,2.5566e-02_rb,2.4825e-02_rb,2.3373e-02_rb, & &2.1223e-02_rb,1.8524e-02_rb,1.1809e-02_rb/) kao(:, 2,10, 7) = (/ & &1.8441e-02_rb,2.5550e-02_rb,2.7079e-02_rb,2.7402e-02_rb,2.6767e-02_rb,2.5495e-02_rb, & &2.3503e-02_rb,2.0675e-02_rb,1.3556e-02_rb/) kao(:, 3,10, 7) = (/ & &1.9634e-02_rb,2.6955e-02_rb,2.8784e-02_rb,2.9151e-02_rb,2.8790e-02_rb,2.7521e-02_rb, & &2.5774e-02_rb,2.2876e-02_rb,1.5334e-02_rb/) kao(:, 4,10, 7) = (/ & &2.0834e-02_rb,2.8474e-02_rb,3.0492e-02_rb,3.0988e-02_rb,3.0837e-02_rb,2.9673e-02_rb, & &2.8036e-02_rb,2.5100e-02_rb,1.7072e-02_rb/) kao(:, 5,10, 7) = (/ & &2.2004e-02_rb,3.0118e-02_rb,3.2233e-02_rb,3.2923e-02_rb,3.2760e-02_rb,3.1852e-02_rb, & &3.0321e-02_rb,2.7280e-02_rb,1.8710e-02_rb/) kao(:, 1,11, 7) = (/ & &2.5621e-02_rb,3.2655e-02_rb,3.3386e-02_rb,3.2478e-02_rb,3.0535e-02_rb,2.7796e-02_rb, & &2.3855e-02_rb,1.8680e-02_rb,1.0565e-02_rb/) kao(:, 2,11, 7) = (/ & &2.7487e-02_rb,3.4718e-02_rb,3.5449e-02_rb,3.4659e-02_rb,3.2784e-02_rb,2.9958e-02_rb, & &2.6042e-02_rb,2.0737e-02_rb,1.2143e-02_rb/) kao(:, 3,11, 7) = (/ & &2.9493e-02_rb,3.6885e-02_rb,3.7684e-02_rb,3.6984e-02_rb,3.4999e-02_rb,3.2138e-02_rb, & &2.8186e-02_rb,2.2834e-02_rb,1.3640e-02_rb/) kao(:, 4,11, 7) = (/ & &3.1405e-02_rb,3.9361e-02_rb,4.0123e-02_rb,3.9393e-02_rb,3.7354e-02_rb,3.4345e-02_rb, & &3.0182e-02_rb,2.4896e-02_rb,1.5233e-02_rb/) kao(:, 5,11, 7) = (/ & &3.3372e-02_rb,4.1804e-02_rb,4.2639e-02_rb,4.1888e-02_rb,3.9776e-02_rb,3.6559e-02_rb, & &3.2377e-02_rb,2.6934e-02_rb,1.6905e-02_rb/) kao(:, 1,12, 7) = (/ & &2.8107e-02_rb,3.4513e-02_rb,3.4691e-02_rb,3.3440e-02_rb,3.1149e-02_rb,2.8092e-02_rb, & &2.3835e-02_rb,1.7987e-02_rb,9.8223e-03_rb/) kao(:, 2,12, 7) = (/ & &3.0318e-02_rb,3.7007e-02_rb,3.7165e-02_rb,3.5894e-02_rb,3.3524e-02_rb,3.0240e-02_rb, & &2.5840e-02_rb,1.9792e-02_rb,1.1332e-02_rb/) kao(:, 3,12, 7) = (/ & &3.2580e-02_rb,3.9682e-02_rb,3.9790e-02_rb,3.8457e-02_rb,3.5971e-02_rb,3.2486e-02_rb, & &2.7883e-02_rb,2.1561e-02_rb,1.2728e-02_rb/) kao(:, 4,12, 7) = (/ & &3.4838e-02_rb,4.2408e-02_rb,4.2616e-02_rb,4.1228e-02_rb,3.8571e-02_rb,3.4918e-02_rb, & &2.9920e-02_rb,2.3363e-02_rb,1.4318e-02_rb/) kao(:, 5,12, 7) = (/ & &3.7163e-02_rb,4.5231e-02_rb,4.5400e-02_rb,4.4006e-02_rb,4.1203e-02_rb,3.7331e-02_rb, & &3.2004e-02_rb,2.5209e-02_rb,1.5927e-02_rb/) kao(:, 1,13, 7) = (/ & &2.5217e-02_rb,3.0486e-02_rb,3.0548e-02_rb,2.9385e-02_rb,2.7336e-02_rb,2.4524e-02_rb, & &2.0890e-02_rb,1.5756e-02_rb,9.4392e-03_rb/) kao(:, 2,13, 7) = (/ & &2.7202e-02_rb,3.2841e-02_rb,3.2933e-02_rb,3.1772e-02_rb,2.9593e-02_rb,2.6611e-02_rb, & &2.2741e-02_rb,1.7329e-02_rb,1.0602e-02_rb/) kao(:, 3,13, 7) = (/ & &2.9280e-02_rb,3.5351e-02_rb,3.5444e-02_rb,3.4289e-02_rb,3.1993e-02_rb,2.8821e-02_rb, & &2.4603e-02_rb,1.8828e-02_rb,1.1938e-02_rb/) kao(:, 4,13, 7) = (/ & &3.1331e-02_rb,3.7956e-02_rb,3.7975e-02_rb,3.6801e-02_rb,3.4445e-02_rb,3.1086e-02_rb, & &2.6513e-02_rb,2.0428e-02_rb,1.3267e-02_rb/) kao(:, 5,13, 7) = (/ & &3.3613e-02_rb,4.0685e-02_rb,4.0655e-02_rb,3.9388e-02_rb,3.6935e-02_rb,3.3268e-02_rb, & &2.8459e-02_rb,2.2050e-02_rb,1.4574e-02_rb/) kao(:, 1, 1, 8) = (/ & &7.0857e-05_rb,3.1247e-02_rb,6.3050e-02_rb,9.5741e-02_rb,1.2991e-01_rb,1.6688e-01_rb, & &2.1008e-01_rb,2.7194e-01_rb,2.5981e-01_rb/) kao(:, 2, 1, 8) = (/ & &7.3061e-05_rb,3.3759e-02_rb,6.8122e-02_rb,1.0346e-01_rb,1.4038e-01_rb,1.8030e-01_rb, & &2.2703e-01_rb,2.9445e-01_rb,2.8076e-01_rb/) kao(:, 3, 1, 8) = (/ & &7.5439e-05_rb,3.6248e-02_rb,7.3153e-02_rb,1.1109e-01_rb,1.5077e-01_rb,1.9367e-01_rb, & &2.4381e-01_rb,3.1652e-01_rb,3.0153e-01_rb/) kao(:, 4, 1, 8) = (/ & &7.7957e-05_rb,3.8675e-02_rb,7.8063e-02_rb,1.1859e-01_rb,1.6099e-01_rb,2.0691e-01_rb, & &2.6053e-01_rb,3.3811e-01_rb,3.2197e-01_rb/) kao(:, 5, 1, 8) = (/ & &8.0722e-05_rb,4.1119e-02_rb,8.2986e-02_rb,1.2604e-01_rb,1.7112e-01_rb,2.1995e-01_rb, & &2.7714e-01_rb,3.5946e-01_rb,3.4222e-01_rb/) kao(:, 1, 2, 8) = (/ & &9.7224e-05_rb,2.6558e-02_rb,5.3452e-02_rb,8.0855e-02_rb,1.0918e-01_rb,1.3924e-01_rb, & &1.7330e-01_rb,2.2109e-01_rb,2.1834e-01_rb/) kao(:, 2, 2, 8) = (/ & &1.0058e-04_rb,2.8759e-02_rb,5.7870e-02_rb,8.7575e-02_rb,1.1827e-01_rb,1.5089e-01_rb, & &1.8793e-01_rb,2.3994e-01_rb,2.3652e-01_rb/) kao(:, 3, 2, 8) = (/ & &1.0421e-04_rb,3.0964e-02_rb,6.2308e-02_rb,9.4299e-02_rb,1.2733e-01_rb,1.6243e-01_rb, & &2.0230e-01_rb,2.5862e-01_rb,2.5463e-01_rb/) kao(:, 4, 2, 8) = (/ & &1.0798e-04_rb,3.3179e-02_rb,6.6764e-02_rb,1.0101e-01_rb,1.3640e-01_rb,1.7400e-01_rb, & &2.1675e-01_rb,2.7715e-01_rb,2.7277e-01_rb/) kao(:, 5, 2, 8) = (/ & &1.1188e-04_rb,3.5361e-02_rb,7.1160e-02_rb,1.0767e-01_rb,1.4545e-01_rb,1.8554e-01_rb, & &2.3113e-01_rb,2.9555e-01_rb,2.9088e-01_rb/) kao(:, 1, 3, 8) = (/ & &1.7704e-04_rb,2.1958e-02_rb,4.4006e-02_rb,6.6294e-02_rb,8.8988e-02_rb,1.1245e-01_rb, & &1.3781e-01_rb,1.7014e-01_rb,1.7794e-01_rb/) kao(:, 2, 3, 8) = (/ & &1.8401e-04_rb,2.3898e-02_rb,4.7908e-02_rb,7.2164e-02_rb,9.6867e-02_rb,1.2239e-01_rb, & &1.4998e-01_rb,1.8528e-01_rb,1.9370e-01_rb/) kao(:, 3, 3, 8) = (/ & &1.9123e-04_rb,2.5882e-02_rb,5.1886e-02_rb,7.8168e-02_rb,1.0491e-01_rb,1.3257e-01_rb, & &1.6241e-01_rb,2.0047e-01_rb,2.0978e-01_rb/) kao(:, 4, 3, 8) = (/ & &1.9826e-04_rb,2.7841e-02_rb,5.5828e-02_rb,8.4093e-02_rb,1.1289e-01_rb,1.4266e-01_rb, & &1.7485e-01_rb,2.1582e-01_rb,2.2574e-01_rb/) kao(:, 5, 3, 8) = (/ & &2.0558e-04_rb,2.9781e-02_rb,5.9723e-02_rb,8.9997e-02_rb,1.2076e-01_rb,1.5262e-01_rb, & &1.8706e-01_rb,2.3095e-01_rb,2.4148e-01_rb/) kao(:, 1, 4, 8) = (/ & &3.2677e-04_rb,1.8554e-02_rb,3.5926e-02_rb,5.3829e-02_rb,7.1995e-02_rb,9.0469e-02_rb, & &1.0973e-01_rb,1.3198e-01_rb,1.4393e-01_rb/) kao(:, 2, 4, 8) = (/ & &3.3998e-04_rb,2.0214e-02_rb,3.9351e-02_rb,5.9051e-02_rb,7.8970e-02_rb,9.9220e-02_rb, & &1.2030e-01_rb,1.4461e-01_rb,1.5787e-01_rb/) kao(:, 3, 4, 8) = (/ & &3.5423e-04_rb,2.1886e-02_rb,4.2819e-02_rb,6.4313e-02_rb,8.6016e-02_rb,1.0809e-01_rb, & &1.3108e-01_rb,1.5763e-01_rb,1.7196e-01_rb/) kao(:, 4, 4, 8) = (/ & &3.6836e-04_rb,2.3526e-02_rb,4.6236e-02_rb,6.9481e-02_rb,9.2916e-02_rb,1.1677e-01_rb, & &1.4164e-01_rb,1.7039e-01_rb,1.8576e-01_rb/) kao(:, 5, 4, 8) = (/ & &3.8269e-04_rb,2.5159e-02_rb,4.9646e-02_rb,7.4614e-02_rb,9.9776e-02_rb,1.2541e-01_rb, & &1.5213e-01_rb,1.8307e-01_rb,1.9947e-01_rb/) kao(:, 1, 5, 8) = (/ & &5.5618e-04_rb,1.6693e-02_rb,3.0352e-02_rb,4.4004e-02_rb,5.8213e-02_rb,7.2865e-02_rb, & &8.7904e-02_rb,1.0425e-01_rb,1.1619e-01_rb/) kao(:, 2, 5, 8) = (/ & &5.8090e-04_rb,1.8251e-02_rb,3.3255e-02_rb,4.8452e-02_rb,6.4257e-02_rb,8.0492e-02_rb, & &9.7115e-02_rb,1.1513e-01_rb,1.2836e-01_rb/) kao(:, 3, 5, 8) = (/ & &6.0567e-04_rb,1.9782e-02_rb,3.6119e-02_rb,5.2854e-02_rb,7.0252e-02_rb,8.8045e-02_rb, & &1.0624e-01_rb,1.2602e-01_rb,1.4037e-01_rb/) kao(:, 4, 5, 8) = (/ & &6.3036e-04_rb,2.1279e-02_rb,3.8977e-02_rb,5.7257e-02_rb,7.6243e-02_rb,9.5550e-02_rb, & &1.1529e-01_rb,1.3680e-01_rb,1.5235e-01_rb/) kao(:, 5, 5, 8) = (/ & &6.5503e-04_rb,2.2767e-02_rb,4.1832e-02_rb,6.1655e-02_rb,8.2195e-02_rb,1.0302e-01_rb, & &1.2434e-01_rb,1.4756e-01_rb,1.6424e-01_rb/) kao(:, 1, 6, 8) = (/ & &8.8779e-04_rb,1.5219e-02_rb,2.6847e-02_rb,3.7621e-02_rb,4.8063e-02_rb,5.8817e-02_rb, & &7.0265e-02_rb,8.2696e-02_rb,9.3190e-02_rb/) kao(:, 2, 6, 8) = (/ & &9.2874e-04_rb,1.6673e-02_rb,2.9554e-02_rb,4.1458e-02_rb,5.3049e-02_rb,6.5160e-02_rb, & &7.8074e-02_rb,9.1921e-02_rb,1.0355e-01_rb/) kao(:, 3, 6, 8) = (/ & &9.6950e-04_rb,1.8111e-02_rb,3.2190e-02_rb,4.5211e-02_rb,5.8015e-02_rb,7.1500e-02_rb, & &8.5838e-02_rb,1.0107e-01_rb,1.1382e-01_rb/) kao(:, 4, 6, 8) = (/ & &1.0101e-03_rb,1.9522e-02_rb,3.4803e-02_rb,4.8905e-02_rb,6.3015e-02_rb,7.7875e-02_rb, & &9.3602e-02_rb,1.1021e-01_rb,1.2414e-01_rb/) kao(:, 5, 6, 8) = (/ & &1.0515e-03_rb,2.0916e-02_rb,3.7389e-02_rb,5.2547e-02_rb,6.7966e-02_rb,8.4205e-02_rb, & &1.0130e-01_rb,1.1932e-01_rb,1.3433e-01_rb/) kao(:, 1, 7, 8) = (/ & &1.4977e-03_rb,1.4733e-02_rb,2.4381e-02_rb,3.3428e-02_rb,4.1931e-02_rb,4.9753e-02_rb, & &5.7173e-02_rb,6.5580e-02_rb,7.4312e-02_rb/) kao(:, 2, 7, 8) = (/ & &1.5637e-03_rb,1.6075e-02_rb,2.6857e-02_rb,3.6980e-02_rb,4.6449e-02_rb,5.5152e-02_rb, & &6.3551e-02_rb,7.3261e-02_rb,8.3066e-02_rb/) kao(:, 3, 7, 8) = (/ & &1.6297e-03_rb,1.7399e-02_rb,2.9305e-02_rb,4.0484e-02_rb,5.0904e-02_rb,6.0470e-02_rb, & &6.9956e-02_rb,8.1009e-02_rb,9.1840e-02_rb/) kao(:, 4, 7, 8) = (/ & &1.7004e-03_rb,1.8688e-02_rb,3.1747e-02_rb,4.3982e-02_rb,5.5347e-02_rb,6.5760e-02_rb, & &7.6435e-02_rb,8.8798e-02_rb,1.0066e-01_rb/) kao(:, 5, 7, 8) = (/ & &1.7747e-03_rb,1.9942e-02_rb,3.4156e-02_rb,4.7424e-02_rb,5.9706e-02_rb,7.0996e-02_rb, & &8.2872e-02_rb,9.6510e-02_rb,1.0938e-01_rb/) kao(:, 1, 8, 8) = (/ & &3.0289e-03_rb,1.6187e-02_rb,2.4623e-02_rb,3.1800e-02_rb,3.8382e-02_rb,4.4473e-02_rb, & &4.9956e-02_rb,5.4111e-02_rb,5.8932e-02_rb/) kao(:, 2, 8, 8) = (/ & &3.1588e-03_rb,1.7601e-02_rb,2.6972e-02_rb,3.5067e-02_rb,4.2580e-02_rb,4.9539e-02_rb, & &5.5733e-02_rb,6.0374e-02_rb,6.6309e-02_rb/) kao(:, 3, 8, 8) = (/ & &3.2918e-03_rb,1.8992e-02_rb,2.9294e-02_rb,3.8315e-02_rb,4.6735e-02_rb,5.4548e-02_rb, & &6.1452e-02_rb,6.6677e-02_rb,7.3699e-02_rb/) kao(:, 4, 8, 8) = (/ & &3.4281e-03_rb,2.0362e-02_rb,3.1558e-02_rb,4.1571e-02_rb,5.0908e-02_rb,5.9537e-02_rb, & &6.7138e-02_rb,7.3015e-02_rb,8.1106e-02_rb/) kao(:, 5, 8, 8) = (/ & &3.5753e-03_rb,2.1737e-02_rb,3.3774e-02_rb,4.4733e-02_rb,5.4993e-02_rb,6.4441e-02_rb, & &7.2719e-02_rb,7.9338e-02_rb,8.8474e-02_rb/) kao(:, 1, 9, 8) = (/ & &1.1613e-02_rb,2.6600e-02_rb,3.4830e-02_rb,4.1045e-02_rb,4.5758e-02_rb,4.9187e-02_rb, & &5.0957e-02_rb,5.0881e-02_rb,4.6332e-02_rb/) kao(:, 2, 9, 8) = (/ & &1.2035e-02_rb,2.8837e-02_rb,3.7970e-02_rb,4.4834e-02_rb,5.0301e-02_rb,5.4274e-02_rb, & &5.6564e-02_rb,5.6979e-02_rb,5.2710e-02_rb/) kao(:, 3, 9, 8) = (/ & &1.2460e-02_rb,3.1118e-02_rb,4.1014e-02_rb,4.8606e-02_rb,5.4716e-02_rb,5.9241e-02_rb, & &6.2128e-02_rb,6.3036e-02_rb,5.8975e-02_rb/) kao(:, 4, 9, 8) = (/ & &1.2980e-02_rb,3.3463e-02_rb,4.4127e-02_rb,5.2378e-02_rb,5.9008e-02_rb,6.4138e-02_rb, & &6.7667e-02_rb,6.9075e-02_rb,6.5274e-02_rb/) kao(:, 5, 9, 8) = (/ & &1.3559e-02_rb,3.5809e-02_rb,4.7263e-02_rb,5.6212e-02_rb,6.3302e-02_rb,6.8912e-02_rb, & &7.3069e-02_rb,7.5010e-02_rb,7.1590e-02_rb/) kao(:, 1,10, 8) = (/ & &4.9669e-02_rb,6.5649e-02_rb,7.1116e-02_rb,7.3534e-02_rb,7.3825e-02_rb,7.2083e-02_rb, & &6.7844e-02_rb,5.9498e-02_rb,3.3788e-02_rb/) kao(:, 2,10, 8) = (/ & &5.1505e-02_rb,7.0624e-02_rb,7.6814e-02_rb,7.9826e-02_rb,8.0618e-02_rb,7.8892e-02_rb, & &7.4439e-02_rb,6.5949e-02_rb,3.8529e-02_rb/) kao(:, 3,10, 8) = (/ & &5.3297e-02_rb,7.5384e-02_rb,8.2789e-02_rb,8.6542e-02_rb,8.7369e-02_rb,8.5820e-02_rb, & &8.1089e-02_rb,7.2258e-02_rb,4.3360e-02_rb/) kao(:, 4,10, 8) = (/ & &5.5068e-02_rb,8.0008e-02_rb,8.8749e-02_rb,9.3221e-02_rb,9.4169e-02_rb,9.2692e-02_rb, & &8.7784e-02_rb,7.8437e-02_rb,4.8014e-02_rb/) kao(:, 5,10, 8) = (/ & &5.7734e-02_rb,8.4667e-02_rb,9.4556e-02_rb,9.9634e-02_rb,1.0118e-01_rb,9.9703e-02_rb, & &9.4571e-02_rb,8.4495e-02_rb,5.2667e-02_rb/) kao(:, 1,11, 8) = (/ & &7.6448e-02_rb,9.0381e-02_rb,9.1555e-02_rb,9.0047e-02_rb,8.6717e-02_rb,8.1217e-02_rb, & &7.3241e-02_rb,6.1179e-02_rb,3.1726e-02_rb/) kao(:, 2,11, 8) = (/ & &7.9612e-02_rb,9.5621e-02_rb,9.8574e-02_rb,9.7505e-02_rb,9.4314e-02_rb,8.8768e-02_rb, & &8.0204e-02_rb,6.7360e-02_rb,3.6181e-02_rb/) kao(:, 3,11, 8) = (/ & &8.2652e-02_rb,1.0183e-01_rb,1.0547e-01_rb,1.0483e-01_rb,1.0201e-01_rb,9.6508e-02_rb, & &8.7273e-02_rb,7.3474e-02_rb,4.0817e-02_rb/) kao(:, 4,11, 8) = (/ & &8.5862e-02_rb,1.0806e-01_rb,1.1212e-01_rb,1.1216e-01_rb,1.0950e-01_rb,1.0402e-01_rb, & &9.4626e-02_rb,7.9735e-02_rb,4.5328e-02_rb/) kao(:, 5,11, 8) = (/ & &8.9572e-02_rb,1.1434e-01_rb,1.1896e-01_rb,1.1939e-01_rb,1.1678e-01_rb,1.1141e-01_rb, & &1.0160e-01_rb,8.6030e-02_rb,4.9522e-02_rb/) kao(:, 1,12, 8) = (/ & &8.7861e-02_rb,9.9993e-02_rb,9.9171e-02_rb,9.4628e-02_rb,8.8704e-02_rb,8.0579e-02_rb, & &7.0917e-02_rb,5.7333e-02_rb,2.8393e-02_rb/) kao(:, 2,12, 8) = (/ & &9.1432e-02_rb,1.0608e-01_rb,1.0583e-01_rb,1.0218e-01_rb,9.6300e-02_rb,8.8064e-02_rb, & &7.7816e-02_rb,6.3024e-02_rb,3.2578e-02_rb/) kao(:, 3,12, 8) = (/ & &9.5110e-02_rb,1.1196e-01_rb,1.1325e-01_rb,1.0996e-01_rb,1.0369e-01_rb,9.5361e-02_rb, & &8.4644e-02_rb,6.8902e-02_rb,3.7335e-02_rb/) kao(:, 4,12, 8) = (/ & &9.9318e-02_rb,1.1859e-01_rb,1.2042e-01_rb,1.1748e-01_rb,1.1108e-01_rb,1.0241e-01_rb, & &9.1344e-02_rb,7.4779e-02_rb,4.1207e-02_rb/) kao(:, 5,12, 8) = (/ & &1.0395e-01_rb,1.2551e-01_rb,1.2774e-01_rb,1.2502e-01_rb,1.1865e-01_rb,1.0948e-01_rb, & &9.7810e-02_rb,8.0483e-02_rb,4.4886e-02_rb/) kao(:, 1,13, 8) = (/ & &7.9847e-02_rb,9.1714e-02_rb,9.0958e-02_rb,8.6422e-02_rb,8.0456e-02_rb,7.2533e-02_rb, & &6.2189e-02_rb,4.9649e-02_rb,2.4638e-02_rb/) kao(:, 2,13, 8) = (/ & &8.3442e-02_rb,9.7407e-02_rb,9.6872e-02_rb,9.3129e-02_rb,8.7376e-02_rb,7.8985e-02_rb, & &6.8360e-02_rb,5.4702e-02_rb,2.8608e-02_rb/) kao(:, 3,13, 8) = (/ & &8.7437e-02_rb,1.0293e-01_rb,1.0345e-01_rb,9.9852e-02_rb,9.3864e-02_rb,8.5454e-02_rb, & &7.4382e-02_rb,5.9885e-02_rb,3.2171e-02_rb/) kao(:, 4,13, 8) = (/ & &9.2235e-02_rb,1.0932e-01_rb,1.1033e-01_rb,1.0673e-01_rb,1.0043e-01_rb,9.1575e-02_rb, & &8.0229e-02_rb,6.4806e-02_rb,3.5846e-02_rb/) kao(:, 5,13, 8) = (/ & &9.7358e-02_rb,1.1603e-01_rb,1.1725e-01_rb,1.1373e-01_rb,1.0722e-01_rb,9.7942e-02_rb, & &8.5906e-02_rb,6.9573e-02_rb,3.9453e-02_rb/) kao(:, 1, 1, 9) = (/ & &2.3734e-04_rb,1.2635e-01_rb,2.5378e-01_rb,3.8280e-01_rb,5.1449e-01_rb,6.5095e-01_rb, & &7.9709e-01_rb,9.7059e-01_rb,1.0290e+00_rb/) kao(:, 2, 1, 9) = (/ & &2.4162e-04_rb,1.3562e-01_rb,2.7235e-01_rb,4.1078e-01_rb,5.5198e-01_rb,6.9838e-01_rb, & &8.5534e-01_rb,1.0400e+00_rb,1.1040e+00_rb/) kao(:, 3, 1, 9) = (/ & &2.4599e-04_rb,1.4459e-01_rb,2.9042e-01_rb,4.3810e-01_rb,5.8884e-01_rb,7.4499e-01_rb, & &9.1233e-01_rb,1.1085e+00_rb,1.1777e+00_rb/) kao(:, 4, 1, 9) = (/ & &2.5041e-04_rb,1.5330e-01_rb,3.0793e-01_rb,4.6450e-01_rb,6.2431e-01_rb,7.9002e-01_rb, & &9.6789e-01_rb,1.1761e+00_rb,1.2486e+00_rb/) kao(:, 5, 1, 9) = (/ & &2.5474e-04_rb,1.6182e-01_rb,3.2498e-01_rb,4.9034e-01_rb,6.5899e-01_rb,8.3368e-01_rb, & &1.0214e+00_rb,1.2421e+00_rb,1.3180e+00_rb/) kao(:, 1, 2, 9) = (/ & &3.4870e-04_rb,1.1450e-01_rb,2.2975e-01_rb,3.4621e-01_rb,4.6468e-01_rb,5.8691e-01_rb, & &7.1765e-01_rb,8.7423e-01_rb,9.2933e-01_rb/) kao(:, 2, 2, 9) = (/ & &3.5536e-04_rb,1.2334e-01_rb,2.4755e-01_rb,3.7300e-01_rb,5.0064e-01_rb,6.3232e-01_rb, & &7.7280e-01_rb,9.4059e-01_rb,1.0013e+00_rb/) kao(:, 3, 2, 9) = (/ & &3.6217e-04_rb,1.3183e-01_rb,2.6460e-01_rb,3.9876e-01_rb,5.3531e-01_rb,6.7635e-01_rb, & &8.2730e-01_rb,1.0064e+00_rb,1.0706e+00_rb/) kao(:, 4, 2, 9) = (/ & &3.6933e-04_rb,1.4017e-01_rb,2.8129e-01_rb,4.2395e-01_rb,5.6909e-01_rb,7.1898e-01_rb, & &8.7939e-01_rb,1.0712e+00_rb,1.1382e+00_rb/) kao(:, 5, 2, 9) = (/ & &3.7836e-04_rb,1.4828e-01_rb,2.9766e-01_rb,4.4860e-01_rb,6.0234e-01_rb,7.6096e-01_rb, & &9.3060e-01_rb,1.1332e+00_rb,1.2047e+00_rb/) kao(:, 1, 3, 9) = (/ & &6.8597e-04_rb,1.0077e-01_rb,2.0189e-01_rb,3.0366e-01_rb,4.0641e-01_rb,5.1122e-01_rb, & &6.2085e-01_rb,7.4738e-01_rb,8.1281e-01_rb/) kao(:, 2, 3, 9) = (/ & &6.9976e-04_rb,1.0900e-01_rb,2.1840e-01_rb,3.2848e-01_rb,4.3972e-01_rb,5.5316e-01_rb, & &6.7192e-01_rb,8.0915e-01_rb,8.7943e-01_rb/) kao(:, 3, 3, 9) = (/ & &7.1420e-04_rb,1.1699e-01_rb,2.3444e-01_rb,3.5259e-01_rb,4.7192e-01_rb,5.9381e-01_rb, & &7.2140e-01_rb,8.6946e-01_rb,9.4382e-01_rb/) kao(:, 4, 3, 9) = (/ & &7.3229e-04_rb,1.2483e-01_rb,2.5014e-01_rb,3.7620e-01_rb,5.0367e-01_rb,6.3374e-01_rb, & &7.7001e-01_rb,9.2785e-01_rb,1.0073e+00_rb/) kao(:, 5, 3, 9) = (/ & &7.5049e-04_rb,1.3237e-01_rb,2.6526e-01_rb,3.9901e-01_rb,5.3417e-01_rb,6.7225e-01_rb, & &8.1699e-01_rb,9.8549e-01_rb,1.0683e+00_rb/) kao(:, 1, 4, 9) = (/ & &1.3742e-03_rb,8.7179e-02_rb,1.7451e-01_rb,2.6209e-01_rb,3.5019e-01_rb,4.3920e-01_rb, & &5.3064e-01_rb,6.3091e-01_rb,7.0034e-01_rb/) kao(:, 2, 4, 9) = (/ & &1.4034e-03_rb,9.4872e-02_rb,1.8987e-01_rb,2.8522e-01_rb,3.8105e-01_rb,4.7796e-01_rb, & &5.7741e-01_rb,6.8650e-01_rb,7.6206e-01_rb/) kao(:, 3, 4, 9) = (/ & &1.4371e-03_rb,1.0231e-01_rb,2.0478e-01_rb,3.0758e-01_rb,4.1096e-01_rb,5.1550e-01_rb, & &6.2287e-01_rb,7.4083e-01_rb,8.2187e-01_rb/) kao(:, 4, 4, 9) = (/ & &1.4753e-03_rb,1.0953e-01_rb,2.1924e-01_rb,3.2932e-01_rb,4.4000e-01_rb,5.5196e-01_rb, & &6.6692e-01_rb,7.9351e-01_rb,8.7995e-01_rb/) kao(:, 5, 4, 9) = (/ & &1.5185e-03_rb,1.1661e-01_rb,2.3342e-01_rb,3.5060e-01_rb,4.6845e-01_rb,5.8764e-01_rb, & &7.1008e-01_rb,8.4502e-01_rb,9.3684e-01_rb/) kao(:, 1, 5, 9) = (/ & &2.5355e-03_rb,7.5685e-02_rb,1.4908e-01_rb,2.2375e-01_rb,2.9863e-01_rb,3.7400e-01_rb, & &4.5045e-01_rb,5.3139e-01_rb,5.9720e-01_rb/) kao(:, 2, 5, 9) = (/ & &2.5953e-03_rb,8.2577e-02_rb,1.6333e-01_rb,2.4515e-01_rb,3.2721e-01_rb,4.0982e-01_rb, & &4.9365e-01_rb,5.8247e-01_rb,6.5435e-01_rb/) kao(:, 3, 5, 9) = (/ & &2.6636e-03_rb,8.9208e-02_rb,1.7705e-01_rb,2.6573e-01_rb,3.5473e-01_rb,4.4427e-01_rb, & &5.3522e-01_rb,6.3160e-01_rb,7.0937e-01_rb/) kao(:, 4, 5, 9) = (/ & &2.7420e-03_rb,9.5746e-02_rb,1.9046e-01_rb,2.8588e-01_rb,3.8160e-01_rb,4.7792e-01_rb, & &5.7573e-01_rb,6.7936e-01_rb,7.6310e-01_rb/) kao(:, 5, 5, 9) = (/ & &2.8238e-03_rb,1.0214e-01_rb,2.0360e-01_rb,3.0562e-01_rb,4.0796e-01_rb,5.1095e-01_rb, & &6.1550e-01_rb,7.2630e-01_rb,8.1581e-01_rb/) kao(:, 1, 6, 9) = (/ & &4.3605e-03_rb,6.9106e-02_rb,1.2775e-01_rb,1.8881e-01_rb,2.5131e-01_rb,3.1447e-01_rb, & &3.7819e-01_rb,4.4408e-01_rb,5.0252e-01_rb/) kao(:, 2, 6, 9) = (/ & &4.4677e-03_rb,7.5202e-02_rb,1.4031e-01_rb,2.0810e-01_rb,2.7735e-01_rb,3.4706e-01_rb, & &4.1739e-01_rb,4.9016e-01_rb,5.5457e-01_rb/) kao(:, 3, 6, 9) = (/ & &4.5887e-03_rb,8.1094e-02_rb,1.5254e-01_rb,2.2684e-01_rb,3.0254e-01_rb,3.7858e-01_rb, & &4.5531e-01_rb,5.3473e-01_rb,6.0493e-01_rb/) kao(:, 4, 6, 9) = (/ & &4.7247e-03_rb,8.6870e-02_rb,1.6450e-01_rb,2.4527e-01_rb,3.2719e-01_rb,4.0945e-01_rb, & &4.9240e-01_rb,5.7834e-01_rb,6.5421e-01_rb/) kao(:, 5, 6, 9) = (/ & &4.8692e-03_rb,9.2597e-02_rb,1.7638e-01_rb,2.6357e-01_rb,3.5163e-01_rb,4.4001e-01_rb, & &5.2913e-01_rb,6.2153e-01_rb,7.0308e-01_rb/) kao(:, 1, 7, 9) = (/ & &7.8126e-03_rb,6.9794e-02_rb,1.1632e-01_rb,1.6292e-01_rb,2.1140e-01_rb,2.6176e-01_rb, & &3.1398e-01_rb,3.6765e-01_rb,4.1782e-01_rb/) kao(:, 2, 7, 9) = (/ & &8.0155e-03_rb,7.6059e-02_rb,1.2742e-01_rb,1.7989e-01_rb,2.3439e-01_rb,2.9098e-01_rb, & &3.4941e-01_rb,4.0917e-01_rb,4.6495e-01_rb/) kao(:, 3, 7, 9) = (/ & &8.2416e-03_rb,8.1970e-02_rb,1.3813e-01_rb,1.9625e-01_rb,2.5659e-01_rb,3.1926e-01_rb, & &3.8354e-01_rb,4.4917e-01_rb,5.1030e-01_rb/) kao(:, 4, 7, 9) = (/ & &8.4921e-03_rb,8.7603e-02_rb,1.4873e-01_rb,2.1252e-01_rb,2.7865e-01_rb,3.4736e-01_rb, & &4.1730e-01_rb,4.8866e-01_rb,5.5524e-01_rb/) kao(:, 5, 7, 9) = (/ & &8.7515e-03_rb,9.3044e-02_rb,1.5925e-01_rb,2.2867e-01_rb,3.0064e-01_rb,3.7532e-01_rb, & &4.5091e-01_rb,5.2808e-01_rb,5.9993e-01_rb/) kao(:, 1, 8, 9) = (/ & &1.6603e-02_rb,7.8794e-02_rb,1.2181e-01_rb,1.5872e-01_rb,1.9167e-01_rb,2.2528e-01_rb, & &2.6122e-01_rb,3.0128e-01_rb,3.4340e-01_rb/) kao(:, 2, 8, 9) = (/ & &1.7055e-02_rb,8.5849e-02_rb,1.3372e-01_rb,1.7446e-01_rb,2.1153e-01_rb,2.5044e-01_rb, & &2.9195e-01_rb,3.3805e-01_rb,3.8527e-01_rb/) kao(:, 3, 8, 9) = (/ & &1.7594e-02_rb,9.2738e-02_rb,1.4493e-01_rb,1.8895e-01_rb,2.3080e-01_rb,2.7486e-01_rb, & &3.2173e-01_rb,3.7362e-01_rb,4.2584e-01_rb/) kao(:, 4, 8, 9) = (/ & &1.8162e-02_rb,9.9290e-02_rb,1.5571e-01_rb,2.0324e-01_rb,2.5013e-01_rb,2.9946e-01_rb, & &3.5175e-01_rb,4.0935e-01_rb,4.6655e-01_rb/) kao(:, 5, 8, 9) = (/ & &1.8749e-02_rb,1.0557e-01_rb,1.6622e-01_rb,2.1745e-01_rb,2.6934e-01_rb,3.2386e-01_rb, & &3.8166e-01_rb,4.4484e-01_rb,5.0696e-01_rb/) kao(:, 1, 9, 9) = (/ & &6.5840e-02_rb,1.3860e-01_rb,1.7838e-01_rb,2.0998e-01_rb,2.3508e-01_rb,2.5392e-01_rb, & &2.6499e-01_rb,2.6488e-01_rb,2.7801e-01_rb/) kao(:, 2, 9, 9) = (/ & &6.7872e-02_rb,1.4849e-01_rb,1.9371e-01_rb,2.2975e-01_rb,2.5869e-01_rb,2.8072e-01_rb, & &2.9363e-01_rb,2.9601e-01_rb,3.1493e-01_rb/) kao(:, 3, 9, 9) = (/ & &7.0225e-02_rb,1.5836e-01_rb,2.0886e-01_rb,2.4918e-01_rb,2.8159e-01_rb,3.0644e-01_rb, & &3.2072e-01_rb,3.2657e-01_rb,3.5112e-01_rb/) kao(:, 4, 9, 9) = (/ & &7.2560e-02_rb,1.6804e-01_rb,2.2356e-01_rb,2.6776e-01_rb,3.0359e-01_rb,3.3128e-01_rb, & &3.4695e-01_rb,3.5732e-01_rb,3.8745e-01_rb/) kao(:, 5, 9, 9) = (/ & &7.5125e-02_rb,1.7750e-01_rb,2.3755e-01_rb,2.8560e-01_rb,3.2501e-01_rb,3.5553e-01_rb, & &3.7247e-01_rb,3.8768e-01_rb,4.2319e-01_rb/) kao(:, 1,10, 9) = (/ & &2.8983e-01_rb,3.6990e-01_rb,4.0037e-01_rb,4.0949e-01_rb,4.0589e-01_rb,3.9081e-01_rb, & &3.6404e-01_rb,3.1914e-01_rb,2.2264e-01_rb/) kao(:, 2,10, 9) = (/ & &2.9917e-01_rb,3.8833e-01_rb,4.2499e-01_rb,4.3869e-01_rb,4.3868e-01_rb,4.2555e-01_rb, & &3.9991e-01_rb,3.5416e-01_rb,2.5485e-01_rb/) kao(:, 3,10, 9) = (/ & &3.0939e-01_rb,4.0713e-01_rb,4.4875e-01_rb,4.6776e-01_rb,4.7103e-01_rb,4.6014e-01_rb, & &4.3525e-01_rb,3.8827e-01_rb,2.8738e-01_rb/) kao(:, 4,10, 9) = (/ & &3.2110e-01_rb,4.2672e-01_rb,4.7284e-01_rb,4.9667e-01_rb,5.0290e-01_rb,4.9348e-01_rb, & &4.6953e-01_rb,4.2184e-01_rb,3.1974e-01_rb/) kao(:, 5,10, 9) = (/ & &3.3272e-01_rb,4.4730e-01_rb,4.9768e-01_rb,5.2532e-01_rb,5.3384e-01_rb,5.2588e-01_rb, & &5.0287e-01_rb,4.5423e-01_rb,3.5166e-01_rb/) kao(:, 1,11, 9) = (/ & &4.4524e-01_rb,5.1679e-01_rb,5.3684e-01_rb,5.3332e-01_rb,5.1092e-01_rb,4.7255e-01_rb, & &4.1877e-01_rb,3.4229e-01_rb,1.8048e-01_rb/) kao(:, 2,11, 9) = (/ & &4.5963e-01_rb,5.4202e-01_rb,5.6658e-01_rb,5.6626e-01_rb,5.4700e-01_rb,5.0983e-01_rb, & &4.5605e-01_rb,3.7725e-01_rb,2.0742e-01_rb/) kao(:, 3,11, 9) = (/ & &4.7588e-01_rb,5.6665e-01_rb,5.9649e-01_rb,5.9968e-01_rb,5.8254e-01_rb,5.4674e-01_rb, & &4.9265e-01_rb,4.1176e-01_rb,2.3443e-01_rb/) kao(:, 4,11, 9) = (/ & &4.9478e-01_rb,5.9201e-01_rb,6.2710e-01_rb,6.3330e-01_rb,6.1823e-01_rb,5.8344e-01_rb, & &5.2842e-01_rb,4.4573e-01_rb,2.6065e-01_rb/) kao(:, 5,11, 9) = (/ & &5.1485e-01_rb,6.2017e-01_rb,6.5811e-01_rb,6.6709e-01_rb,6.5355e-01_rb,6.1972e-01_rb, & &5.6393e-01_rb,4.7838e-01_rb,2.8720e-01_rb/) kao(:, 1,12, 9) = (/ & &5.0543e-01_rb,5.6903e-01_rb,5.8050e-01_rb,5.7018e-01_rb,5.4105e-01_rb,4.9466e-01_rb, & &4.2828e-01_rb,3.3843e-01_rb,1.4652e-01_rb/) kao(:, 2,12, 9) = (/ & &5.2298e-01_rb,5.9603e-01_rb,6.1306e-01_rb,6.0448e-01_rb,5.7710e-01_rb,5.3128e-01_rb, & &4.6400e-01_rb,3.7149e-01_rb,1.6865e-01_rb/) kao(:, 3,12, 9) = (/ & &5.4270e-01_rb,6.2472e-01_rb,6.4493e-01_rb,6.3902e-01_rb,6.1334e-01_rb,5.6783e-01_rb, & &4.9936e-01_rb,4.0428e-01_rb,1.8993e-01_rb/) kao(:, 4,12, 9) = (/ & &5.6576e-01_rb,6.5409e-01_rb,6.7814e-01_rb,6.7406e-01_rb,6.4973e-01_rb,6.0390e-01_rb, & &5.3494e-01_rb,4.3628e-01_rb,2.1164e-01_rb/) kao(:, 5,12, 9) = (/ & &5.9076e-01_rb,6.8665e-01_rb,7.1248e-01_rb,7.0991e-01_rb,6.8560e-01_rb,6.4007e-01_rb, & &5.7053e-01_rb,4.6743e-01_rb,2.3320e-01_rb/) kao(:, 1,13, 9) = (/ & &4.5979e-01_rb,5.1890e-01_rb,5.2855e-01_rb,5.1825e-01_rb,4.9146e-01_rb,4.4960e-01_rb, & &3.8971e-01_rb,3.0598e-01_rb,1.2566e-01_rb/) kao(:, 2,13, 9) = (/ & &4.7640e-01_rb,5.4480e-01_rb,5.5925e-01_rb,5.5059e-01_rb,5.2436e-01_rb,4.8283e-01_rb, & &4.2163e-01_rb,3.3565e-01_rb,1.4550e-01_rb/) kao(:, 3,13, 9) = (/ & &4.9565e-01_rb,5.7250e-01_rb,5.8989e-01_rb,5.8311e-01_rb,5.5799e-01_rb,5.1559e-01_rb, & &4.5382e-01_rb,3.6511e-01_rb,1.6523e-01_rb/) kao(:, 4,13, 9) = (/ & &5.1794e-01_rb,6.0150e-01_rb,6.2192e-01_rb,6.1629e-01_rb,5.9157e-01_rb,5.4908e-01_rb, & &4.8624e-01_rb,3.9414e-01_rb,1.8408e-01_rb/) kao(:, 5,13, 9) = (/ & &5.4127e-01_rb,6.3348e-01_rb,6.5477e-01_rb,6.5028e-01_rb,6.2556e-01_rb,5.8254e-01_rb, & &5.1808e-01_rb,4.2264e-01_rb,2.0283e-01_rb/) kao(:, 1, 1,10) = (/ & &6.5918e-04_rb,3.4888e-01_rb,6.9848e-01_rb,1.0485e+00_rb,1.4002e+00_rb,1.7549e+00_rb, & &2.1190e+00_rb,2.5078e+00_rb,2.8004e+00_rb/) kao(:, 2, 1,10) = (/ & &6.7280e-04_rb,3.7184e-01_rb,7.4416e-01_rb,1.1175e+00_rb,1.4925e+00_rb,1.8689e+00_rb, & &2.2475e+00_rb,2.6390e+00_rb,2.9850e+00_rb/) kao(:, 3, 1,10) = (/ & &6.8523e-04_rb,3.9709e-01_rb,7.9353e-01_rb,1.1893e+00_rb,1.5844e+00_rb,1.9796e+00_rb, & &2.3755e+00_rb,2.7728e+00_rb,3.1689e+00_rb/) kao(:, 4, 1,10) = (/ & &6.9619e-04_rb,4.2236e-01_rb,8.4460e-01_rb,1.2663e+00_rb,1.6869e+00_rb,2.1024e+00_rb, & &2.5075e+00_rb,2.8990e+00_rb,3.3737e+00_rb/) kao(:, 5, 1,10) = (/ & &7.0541e-04_rb,4.4505e-01_rb,8.9002e-01_rb,1.3353e+00_rb,1.7799e+00_rb,2.2235e+00_rb, & &2.6534e+00_rb,3.0275e+00_rb,3.5598e+00_rb/) kao(:, 1, 2,10) = (/ & &1.0168e-03_rb,3.3520e-01_rb,6.7064e-01_rb,1.0063e+00_rb,1.3424e+00_rb,1.6793e+00_rb, & &2.0199e+00_rb,2.3746e+00_rb,2.6847e+00_rb/) kao(:, 2, 2,10) = (/ & &1.0383e-03_rb,3.6090e-01_rb,7.2200e-01_rb,1.0832e+00_rb,1.4445e+00_rb,1.8057e+00_rb, & &2.1681e+00_rb,2.5457e+00_rb,2.8891e+00_rb/) kao(:, 3, 2,10) = (/ & &1.0584e-03_rb,3.8758e-01_rb,7.7508e-01_rb,1.1623e+00_rb,1.5490e+00_rb,1.9350e+00_rb, & &2.3176e+00_rb,2.7064e+00_rb,3.0980e+00_rb/) kao(:, 4, 2,10) = (/ & &1.0746e-03_rb,4.1292e-01_rb,8.2598e-01_rb,1.2389e+00_rb,1.6519e+00_rb,2.0646e+00_rb, & &2.4744e+00_rb,2.8678e+00_rb,3.3037e+00_rb/) kao(:, 5, 2,10) = (/ & &1.0744e-03_rb,4.3717e-01_rb,8.7417e-01_rb,1.3107e+00_rb,1.7471e+00_rb,2.1834e+00_rb, & &2.6192e+00_rb,3.0444e+00_rb,3.4941e+00_rb/) kao(:, 1, 3,10) = (/ & &2.0748e-03_rb,3.1600e-01_rb,6.3217e-01_rb,9.4857e-01_rb,1.2657e+00_rb,1.5838e+00_rb, & &1.9039e+00_rb,2.2287e+00_rb,2.5314e+00_rb/) kao(:, 2, 3,10) = (/ & &2.1217e-03_rb,3.4261e-01_rb,6.8545e-01_rb,1.0284e+00_rb,1.3716e+00_rb,1.7154e+00_rb, & &2.0606e+00_rb,2.4138e+00_rb,2.7432e+00_rb/) kao(:, 3, 3,10) = (/ & &2.1619e-03_rb,3.6999e-01_rb,7.4010e-01_rb,1.1107e+00_rb,1.4817e+00_rb,1.8526e+00_rb, & &2.2240e+00_rb,2.5942e+00_rb,2.9634e+00_rb/) kao(:, 4, 3,10) = (/ & &2.1755e-03_rb,3.9596e-01_rb,7.9208e-01_rb,1.1885e+00_rb,1.5854e+00_rb,1.9831e+00_rb, & &2.3825e+00_rb,2.7842e+00_rb,3.1709e+00_rb/) kao(:, 5, 3,10) = (/ & &2.1880e-03_rb,4.2191e-01_rb,8.4399e-01_rb,1.2664e+00_rb,1.6893e+00_rb,2.1130e+00_rb, & &2.5373e+00_rb,2.9615e+00_rb,3.3787e+00_rb/) kao(:, 1, 4,10) = (/ & &4.2494e-03_rb,2.8992e-01_rb,5.8012e-01_rb,8.7071e-01_rb,1.1620e+00_rb,1.4546e+00_rb, & &1.7505e+00_rb,2.0568e+00_rb,2.3239e+00_rb/) kao(:, 2, 4,10) = (/ & &4.3512e-03_rb,3.1537e-01_rb,6.3099e-01_rb,9.4695e-01_rb,1.2638e+00_rb,1.5819e+00_rb, & &1.9039e+00_rb,2.2390e+00_rb,2.5276e+00_rb/) kao(:, 3, 4,10) = (/ & &4.4136e-03_rb,3.4243e-01_rb,6.8516e-01_rb,1.0282e+00_rb,1.3719e+00_rb,1.7170e+00_rb, & &2.0650e+00_rb,2.4245e+00_rb,2.7438e+00_rb/) kao(:, 4, 4,10) = (/ & &4.4541e-03_rb,3.6913e-01_rb,7.3845e-01_rb,1.1085e+00_rb,1.4792e+00_rb,1.8513e+00_rb, & &2.2276e+00_rb,2.6166e+00_rb,2.9583e+00_rb/) kao(:, 5, 4,10) = (/ & &4.4637e-03_rb,3.9522e-01_rb,7.9055e-01_rb,1.1865e+00_rb,1.5830e+00_rb,1.9815e+00_rb, & &2.3838e+00_rb,2.7994e+00_rb,3.1659e+00_rb/) kao(:, 1, 5,10) = (/ & &7.8944e-03_rb,2.6027e-01_rb,5.2060e-01_rb,7.8129e-01_rb,1.0423e+00_rb,1.3045e+00_rb, & &1.5691e+00_rb,1.8427e+00_rb,2.0845e+00_rb/) kao(:, 2, 5,10) = (/ & &8.0572e-03_rb,2.8413e-01_rb,5.6833e-01_rb,8.5287e-01_rb,1.1378e+00_rb,1.4238e+00_rb, & &1.7119e+00_rb,2.0096e+00_rb,2.2754e+00_rb/) kao(:, 3, 5,10) = (/ & &8.1742e-03_rb,3.1030e-01_rb,6.2054e-01_rb,9.3122e-01_rb,1.2421e+00_rb,1.5541e+00_rb, & &1.8685e+00_rb,2.1911e+00_rb,2.4841e+00_rb/) kao(:, 4, 5,10) = (/ & &8.2414e-03_rb,3.3618e-01_rb,6.7234e-01_rb,1.0088e+00_rb,1.3458e+00_rb,1.6840e+00_rb, & &2.0247e+00_rb,2.3758e+00_rb,2.6915e+00_rb/) kao(:, 5, 5,10) = (/ & &8.3003e-03_rb,3.6135e-01_rb,7.2289e-01_rb,1.0847e+00_rb,1.4472e+00_rb,1.8109e+00_rb, & &2.1782e+00_rb,2.5572e+00_rb,2.8943e+00_rb/) kao(:, 1, 6,10) = (/ & &1.3769e-02_rb,2.2868e-01_rb,4.5729e-01_rb,6.8615e-01_rb,9.1532e-01_rb,1.1447e+00_rb, & &1.3758e+00_rb,1.6126e+00_rb,1.8305e+00_rb/) kao(:, 2, 6,10) = (/ & &1.4077e-02_rb,2.5186e-01_rb,5.0368e-01_rb,7.5558e-01_rb,1.0079e+00_rb,1.2605e+00_rb, & &1.5146e+00_rb,1.7737e+00_rb,2.0155e+00_rb/) kao(:, 3, 6,10) = (/ & &1.4339e-02_rb,2.7680e-01_rb,5.5350e-01_rb,8.3033e-01_rb,1.1075e+00_rb,1.3852e+00_rb, & &1.6642e+00_rb,1.9484e+00_rb,2.2148e+00_rb/) kao(:, 4, 6,10) = (/ & &1.4519e-02_rb,3.0142e-01_rb,6.0270e-01_rb,9.0418e-01_rb,1.2061e+00_rb,1.5083e+00_rb, & &1.8129e+00_rb,2.1232e+00_rb,2.4121e+00_rb/) kao(:, 5, 6,10) = (/ & &1.4692e-02_rb,3.2398e-01_rb,6.4788e-01_rb,9.7210e-01_rb,1.2967e+00_rb,1.6219e+00_rb, & &1.9490e+00_rb,2.2841e+00_rb,2.5932e+00_rb/) kao(:, 1, 7,10) = (/ & &2.5736e-02_rb,2.1730e-01_rb,3.9499e-01_rb,5.9240e-01_rb,7.9003e-01_rb,9.8783e-01_rb, & &1.1864e+00_rb,1.3877e+00_rb,1.5798e+00_rb/) kao(:, 2, 7,10) = (/ & &2.6391e-02_rb,2.3410e-01_rb,4.4100e-01_rb,6.6147e-01_rb,8.8204e-01_rb,1.1029e+00_rb, & &1.3242e+00_rb,1.5482e+00_rb,1.7637e+00_rb/) kao(:, 3, 7,10) = (/ & &2.6951e-02_rb,2.5201e-01_rb,4.8957e-01_rb,7.3433e-01_rb,9.7905e-01_rb,1.2243e+00_rb, & &1.4699e+00_rb,1.7185e+00_rb,1.9578e+00_rb/) kao(:, 4, 7,10) = (/ & &2.7390e-02_rb,2.7020e-01_rb,5.3407e-01_rb,8.0106e-01_rb,1.0682e+00_rb,1.3359e+00_rb, & &1.6042e+00_rb,1.8761e+00_rb,2.1361e+00_rb/) kao(:, 5, 7,10) = (/ & &2.8064e-02_rb,2.8861e-01_rb,5.7611e-01_rb,8.6397e-01_rb,1.1521e+00_rb,1.4408e+00_rb, & &1.7300e+00_rb,2.0229e+00_rb,2.3040e+00_rb/) kao(:, 1, 8,10) = (/ & &5.8578e-02_rb,2.6880e-01_rb,4.0001e-01_rb,5.2061e-01_rb,6.7938e-01_rb,8.4922e-01_rb, & &1.0194e+00_rb,1.1905e+00_rb,1.3581e+00_rb/) kao(:, 2, 8,10) = (/ & &6.0087e-02_rb,2.9139e-01_rb,4.3501e-01_rb,5.7583e-01_rb,7.6491e-01_rb,9.5619e-01_rb, & &1.1477e+00_rb,1.3402e+00_rb,1.5292e+00_rb/) kao(:, 3, 8,10) = (/ & &6.1083e-02_rb,3.1400e-01_rb,4.7010e-01_rb,6.4266e-01_rb,8.5685e-01_rb,1.0710e+00_rb, & &1.2856e+00_rb,1.5014e+00_rb,1.7131e+00_rb/) kao(:, 4, 8,10) = (/ & &6.2072e-02_rb,3.3715e-01_rb,5.0004e-01_rb,7.0498e-01_rb,9.3980e-01_rb,1.1748e+00_rb, & &1.4102e+00_rb,1.6468e+00_rb,1.8789e+00_rb/) kao(:, 5, 8,10) = (/ & &6.3481e-02_rb,3.5691e-01_rb,5.2888e-01_rb,7.6432e-01_rb,1.0191e+00_rb,1.2740e+00_rb, & &1.5290e+00_rb,1.7860e+00_rb,2.0375e+00_rb/) kao(:, 1, 9,10) = (/ & &2.5051e-01_rb,4.8216e-01_rb,6.3956e-01_rb,7.5081e-01_rb,8.3417e-01_rb,8.8639e-01_rb, & &9.0389e-01_rb,1.0106e+00_rb,1.1541e+00_rb/) kao(:, 2, 9,10) = (/ & &2.5603e-01_rb,5.1856e-01_rb,6.9227e-01_rb,8.2007e-01_rb,9.1537e-01_rb,9.7189e-01_rb, & &9.9778e-01_rb,1.1454e+00_rb,1.3083e+00_rb/) kao(:, 3, 9,10) = (/ & &2.6013e-01_rb,5.5198e-01_rb,7.4416e-01_rb,8.8806e-01_rb,9.9547e-01_rb,1.0583e+00_rb, & &1.1091e+00_rb,1.2896e+00_rb,1.4729e+00_rb/) kao(:, 4, 9,10) = (/ & &2.6455e-01_rb,5.8224e-01_rb,7.9653e-01_rb,9.5696e-01_rb,1.0752e+00_rb,1.1310e+00_rb, & &1.2203e+00_rb,1.4235e+00_rb,1.6258e+00_rb/) kao(:, 5, 9,10) = (/ & &2.6779e-01_rb,6.1167e-01_rb,8.4854e-01_rb,1.0208e+00_rb,1.1434e+00_rb,1.1964e+00_rb, & &1.3330e+00_rb,1.5553e+00_rb,1.7761e+00_rb/) kao(:, 1,10,10) = (/ & &1.1877e+00_rb,1.3423e+00_rb,1.4114e+00_rb,1.4638e+00_rb,1.4747e+00_rb,1.4384e+00_rb, & &1.3561e+00_rb,1.1884e+00_rb,9.6724e-01_rb/) kao(:, 2,10,10) = (/ & &1.2130e+00_rb,1.4001e+00_rb,1.4986e+00_rb,1.5677e+00_rb,1.5910e+00_rb,1.5689e+00_rb, & &1.4918e+00_rb,1.3127e+00_rb,1.1039e+00_rb/) kao(:, 3,10,10) = (/ & &1.2346e+00_rb,1.4593e+00_rb,1.5877e+00_rb,1.6627e+00_rb,1.7012e+00_rb,1.6974e+00_rb, & &1.6231e+00_rb,1.4376e+00_rb,1.2384e+00_rb/) kao(:, 4,10,10) = (/ & &1.2516e+00_rb,1.5151e+00_rb,1.6747e+00_rb,1.7501e+00_rb,1.8076e+00_rb,1.8250e+00_rb, & &1.7537e+00_rb,1.5512e+00_rb,1.3735e+00_rb/) kao(:, 5,10,10) = (/ & &1.2661e+00_rb,1.5638e+00_rb,1.7522e+00_rb,1.8374e+00_rb,1.9121e+00_rb,1.9420e+00_rb, & &1.8736e+00_rb,1.6582e+00_rb,1.5128e+00_rb/) kao(:, 1,11,10) = (/ & &1.9480e+00_rb,2.0492e+00_rb,2.0295e+00_rb,1.9735e+00_rb,1.8970e+00_rb,1.7736e+00_rb, & &1.5866e+00_rb,1.3339e+00_rb,8.4829e-01_rb/) kao(:, 2,11,10) = (/ & &1.9908e+00_rb,2.1211e+00_rb,2.1260e+00_rb,2.0949e+00_rb,2.0240e+00_rb,1.9060e+00_rb, & &1.7325e+00_rb,1.4683e+00_rb,9.6828e-01_rb/) kao(:, 3,11,10) = (/ & &2.0285e+00_rb,2.1879e+00_rb,2.2239e+00_rb,2.2116e+00_rb,2.1470e+00_rb,2.0366e+00_rb, & &1.8735e+00_rb,1.6014e+00_rb,1.0930e+00_rb/) kao(:, 4,11,10) = (/ & &2.0556e+00_rb,2.2562e+00_rb,2.3222e+00_rb,2.3233e+00_rb,2.2648e+00_rb,2.1592e+00_rb, & &2.0072e+00_rb,1.7228e+00_rb,1.2296e+00_rb/) kao(:, 5,11,10) = (/ & &2.0825e+00_rb,2.3069e+00_rb,2.4192e+00_rb,2.4269e+00_rb,2.3834e+00_rb,2.2768e+00_rb, & &2.1248e+00_rb,1.8445e+00_rb,1.3568e+00_rb/) kao(:, 1,12,10) = (/ & &2.3362e+00_rb,2.4153e+00_rb,2.3669e+00_rb,2.2577e+00_rb,2.1055e+00_rb,1.9147e+00_rb, & &1.6820e+00_rb,1.3486e+00_rb,7.4407e-01_rb/) kao(:, 2,12,10) = (/ & &2.3893e+00_rb,2.4937e+00_rb,2.4670e+00_rb,2.3773e+00_rb,2.2296e+00_rb,2.0482e+00_rb, & &1.8201e+00_rb,1.4800e+00_rb,8.5242e-01_rb/) kao(:, 3,12,10) = (/ & &2.4357e+00_rb,2.5702e+00_rb,2.5666e+00_rb,2.4887e+00_rb,2.3537e+00_rb,2.1812e+00_rb, & &1.9511e+00_rb,1.6049e+00_rb,9.6662e-01_rb/) kao(:, 4,12,10) = (/ & &2.4652e+00_rb,2.6456e+00_rb,2.6664e+00_rb,2.5981e+00_rb,2.4742e+00_rb,2.3104e+00_rb, & &2.0695e+00_rb,1.7245e+00_rb,1.0828e+00_rb/) kao(:, 5,12,10) = (/ & &2.4945e+00_rb,2.7001e+00_rb,2.7645e+00_rb,2.7014e+00_rb,2.5936e+00_rb,2.4312e+00_rb, & &2.1779e+00_rb,1.8427e+00_rb,1.2015e+00_rb/) kao(:, 1,13,10) = (/ & &2.2054e+00_rb,2.3120e+00_rb,2.2775e+00_rb,2.1807e+00_rb,2.0276e+00_rb,1.8297e+00_rb, & &1.5931e+00_rb,1.2531e+00_rb,5.9202e-01_rb/) kao(:, 2,13,10) = (/ & &2.2559e+00_rb,2.3878e+00_rb,2.3725e+00_rb,2.2888e+00_rb,2.1438e+00_rb,1.9536e+00_rb, & &1.7172e+00_rb,1.3694e+00_rb,6.7488e-01_rb/) kao(:, 3,13,10) = (/ & &2.2951e+00_rb,2.4612e+00_rb,2.4689e+00_rb,2.3923e+00_rb,2.2596e+00_rb,2.0732e+00_rb, & &1.8332e+00_rb,1.4777e+00_rb,7.6019e-01_rb/) kao(:, 4,13,10) = (/ & &2.3235e+00_rb,2.5286e+00_rb,2.5591e+00_rb,2.4947e+00_rb,2.3722e+00_rb,2.1862e+00_rb, & &1.9383e+00_rb,1.5857e+00_rb,8.5248e-01_rb/) kao(:, 5,13,10) = (/ & &2.3616e+00_rb,2.5838e+00_rb,2.6490e+00_rb,2.5951e+00_rb,2.4760e+00_rb,2.2908e+00_rb, & &2.0454e+00_rb,1.6895e+00_rb,9.4490e-01_rb/) kao(:, 1, 1,11) = (/ & &9.3294e-04_rb,5.3309e-01_rb,1.0647e+00_rb,1.5932e+00_rb,2.1160e+00_rb,2.6255e+00_rb, & &3.0986e+00_rb,3.3968e+00_rb,4.2319e+00_rb/) kao(:, 2, 1,11) = (/ & &9.5345e-04_rb,5.6455e-01_rb,1.1277e+00_rb,1.6875e+00_rb,2.2413e+00_rb,2.7825e+00_rb, & &3.2884e+00_rb,3.6383e+00_rb,4.4826e+00_rb/) kao(:, 3, 1,11) = (/ & &9.7241e-04_rb,5.9098e-01_rb,1.1810e+00_rb,1.7692e+00_rb,2.3540e+00_rb,2.9286e+00_rb, & &3.4675e+00_rb,3.8516e+00_rb,4.7080e+00_rb/) kao(:, 4, 1,11) = (/ & &9.8984e-04_rb,6.1800e-01_rb,1.2338e+00_rb,1.8462e+00_rb,2.4536e+00_rb,3.0526e+00_rb, & &3.6266e+00_rb,4.0600e+00_rb,4.9071e+00_rb/) kao(:, 5, 1,11) = (/ & &1.0059e-03_rb,6.4816e-01_rb,1.2933e+00_rb,1.9339e+00_rb,2.5658e+00_rb,3.1822e+00_rb, & &3.7668e+00_rb,4.2510e+00_rb,5.1316e+00_rb/) kao(:, 1, 2,11) = (/ & &1.5074e-03_rb,5.1913e-01_rb,1.0387e+00_rb,1.5585e+00_rb,2.0790e+00_rb,2.5998e+00_rb, & &3.1169e+00_rb,3.5984e+00_rb,4.1578e+00_rb/) kao(:, 2, 2,11) = (/ & &1.5417e-03_rb,5.5254e-01_rb,1.1053e+00_rb,1.6578e+00_rb,2.2101e+00_rb,2.7629e+00_rb, & &3.3129e+00_rb,3.8170e+00_rb,4.4201e+00_rb/) kao(:, 3, 2,11) = (/ & &1.5713e-03_rb,5.8438e-01_rb,1.1685e+00_rb,1.7524e+00_rb,2.3358e+00_rb,2.9174e+00_rb, & &3.4950e+00_rb,4.0242e+00_rb,4.6716e+00_rb/) kao(:, 4, 2,11) = (/ & &1.5983e-03_rb,6.1743e-01_rb,1.2340e+00_rb,1.8490e+00_rb,2.4617e+00_rb,3.0691e+00_rb, & &3.6659e+00_rb,4.2202e+00_rb,4.9233e+00_rb/) kao(:, 5, 2,11) = (/ & &1.6216e-03_rb,6.5216e-01_rb,1.3030e+00_rb,1.9521e+00_rb,2.5969e+00_rb,3.2326e+00_rb, & &3.8472e+00_rb,4.4004e+00_rb,5.1936e+00_rb/) kao(:, 1, 3,11) = (/ & &3.2100e-03_rb,4.8846e-01_rb,9.7712e-01_rb,1.4663e+00_rb,1.9565e+00_rb,2.4483e+00_rb, & &2.9445e+00_rb,3.4602e+00_rb,3.9130e+00_rb/) kao(:, 2, 3,11) = (/ & &3.2832e-03_rb,5.2715e-01_rb,1.0544e+00_rb,1.5820e+00_rb,2.1102e+00_rb,2.6392e+00_rb, & &3.1691e+00_rb,3.7028e+00_rb,4.2204e+00_rb/) kao(:, 3, 3,11) = (/ & &3.3509e-03_rb,5.6319e-01_rb,1.1265e+00_rb,1.6900e+00_rb,2.2533e+00_rb,2.8179e+00_rb, & &3.3838e+00_rb,3.9526e+00_rb,4.5066e+00_rb/) kao(:, 4, 3,11) = (/ & &3.4122e-03_rb,6.0075e-01_rb,1.2012e+00_rb,1.8012e+00_rb,2.4005e+00_rb,2.9988e+00_rb, & &3.5947e+00_rb,4.1839e+00_rb,4.8011e+00_rb/) kao(:, 5, 3,11) = (/ & &3.4694e-03_rb,6.3990e-01_rb,1.2794e+00_rb,1.9184e+00_rb,2.5559e+00_rb,3.1911e+00_rb, & &3.8197e+00_rb,4.4273e+00_rb,5.1119e+00_rb/) kao(:, 1, 4,11) = (/ & &6.8944e-03_rb,4.5524e-01_rb,9.1034e-01_rb,1.3656e+00_rb,1.8210e+00_rb,2.2768e+00_rb, & &2.7339e+00_rb,3.1966e+00_rb,3.6419e+00_rb/) kao(:, 2, 4,11) = (/ & &7.0719e-03_rb,4.9844e-01_rb,9.9694e-01_rb,1.4955e+00_rb,1.9943e+00_rb,2.4932e+00_rb, & &2.9929e+00_rb,3.4921e+00_rb,3.9886e+00_rb/) kao(:, 3, 4,11) = (/ & &7.2326e-03_rb,5.3850e-01_rb,1.0768e+00_rb,1.6152e+00_rb,2.1534e+00_rb,2.6917e+00_rb, & &3.2302e+00_rb,3.7700e+00_rb,4.3067e+00_rb/) kao(:, 4, 4,11) = (/ & &7.3806e-03_rb,5.7980e-01_rb,1.1594e+00_rb,1.7389e+00_rb,2.3180e+00_rb,2.8967e+00_rb, & &3.4739e+00_rb,4.0439e+00_rb,4.6359e+00_rb/) kao(:, 5, 4,11) = (/ & &7.4998e-03_rb,6.1978e-01_rb,1.2395e+00_rb,1.8590e+00_rb,2.4785e+00_rb,3.0979e+00_rb, & &3.7146e+00_rb,4.3244e+00_rb,4.9568e+00_rb/) kao(:, 1, 5,11) = (/ & &1.3442e-02_rb,4.2037e-01_rb,8.4065e-01_rb,1.2612e+00_rb,1.6819e+00_rb,2.1029e+00_rb, & &2.5255e+00_rb,2.9520e+00_rb,3.3637e+00_rb/) kao(:, 2, 5,11) = (/ & &1.3797e-02_rb,4.6626e-01_rb,9.3234e-01_rb,1.3987e+00_rb,1.8650e+00_rb,2.3319e+00_rb, & &2.7996e+00_rb,3.2699e+00_rb,3.7300e+00_rb/) kao(:, 3, 5,11) = (/ & &1.4112e-02_rb,5.0925e-01_rb,1.0185e+00_rb,1.5280e+00_rb,2.0375e+00_rb,2.5478e+00_rb, & &3.0591e+00_rb,3.5748e+00_rb,4.0749e+00_rb/) kao(:, 4, 5,11) = (/ & &1.4385e-02_rb,5.5077e-01_rb,1.1015e+00_rb,1.6526e+00_rb,2.2034e+00_rb,2.7548e+00_rb, & &3.3072e+00_rb,3.8625e+00_rb,4.4066e+00_rb/) kao(:, 5, 5,11) = (/ & &1.4645e-02_rb,5.9271e-01_rb,1.1855e+00_rb,1.7781e+00_rb,2.3710e+00_rb,2.9641e+00_rb, & &3.5574e+00_rb,4.1512e+00_rb,4.7419e+00_rb/) kao(:, 1, 6,11) = (/ & &2.4122e-02_rb,3.8084e-01_rb,7.6147e-01_rb,1.1422e+00_rb,1.5231e+00_rb,1.9045e+00_rb, & &2.2870e+00_rb,2.6730e+00_rb,3.0460e+00_rb/) kao(:, 2, 6,11) = (/ & &2.4797e-02_rb,4.2571e-01_rb,8.5136e-01_rb,1.2771e+00_rb,1.7031e+00_rb,2.1298e+00_rb, & &2.5578e+00_rb,2.9908e+00_rb,3.4060e+00_rb/) kao(:, 3, 6,11) = (/ & &2.5418e-02_rb,4.6778e-01_rb,9.3545e-01_rb,1.4036e+00_rb,1.8720e+00_rb,2.3409e+00_rb, & &2.8115e+00_rb,3.2888e+00_rb,3.7438e+00_rb/) kao(:, 4, 6,11) = (/ & &2.5988e-02_rb,5.1023e-01_rb,1.0205e+00_rb,1.5308e+00_rb,2.0415e+00_rb,2.5527e+00_rb, & &3.0658e+00_rb,3.5842e+00_rb,4.0828e+00_rb/) kao(:, 5, 6,11) = (/ & &2.6439e-02_rb,5.5329e-01_rb,1.1066e+00_rb,1.6600e+00_rb,2.2137e+00_rb,2.7680e+00_rb, & &3.3240e+00_rb,3.8852e+00_rb,4.4272e+00_rb/) kao(:, 1, 7,11) = (/ & &4.4902e-02_rb,3.4110e-01_rb,6.7879e-01_rb,1.0183e+00_rb,1.3577e+00_rb,1.6974e+00_rb, & &2.0380e+00_rb,2.3811e+00_rb,2.7150e+00_rb/) kao(:, 2, 7,11) = (/ & &4.6257e-02_rb,3.7900e-01_rb,7.5783e-01_rb,1.1366e+00_rb,1.5157e+00_rb,1.8951e+00_rb, & &2.2756e+00_rb,2.6593e+00_rb,3.0311e+00_rb/) kao(:, 3, 7,11) = (/ & &4.7417e-02_rb,4.1838e-01_rb,8.3644e-01_rb,1.2549e+00_rb,1.6732e+00_rb,2.0920e+00_rb, & &2.5119e+00_rb,2.9363e+00_rb,3.3461e+00_rb/) kao(:, 4, 7,11) = (/ & &4.8439e-02_rb,4.5979e-01_rb,9.1922e-01_rb,1.3788e+00_rb,1.8387e+00_rb,2.2989e+00_rb, & &2.7602e+00_rb,3.2261e+00_rb,3.6771e+00_rb/) kao(:, 5, 7,11) = (/ & &4.9115e-02_rb,5.0257e-01_rb,1.0048e+00_rb,1.5073e+00_rb,2.0099e+00_rb,2.5129e+00_rb, & &3.0174e+00_rb,3.5268e+00_rb,4.0195e+00_rb/) kao(:, 1, 8,11) = (/ & &9.9346e-02_rb,4.0741e-01_rb,6.1474e-01_rb,8.8954e-01_rb,1.1859e+00_rb,1.4823e+00_rb, & &1.7793e+00_rb,2.0775e+00_rb,2.3709e+00_rb/) kao(:, 2, 8,11) = (/ & &1.0236e-01_rb,4.4079e-01_rb,6.7253e-01_rb,9.9766e-01_rb,1.3301e+00_rb,1.6626e+00_rb, & &1.9955e+00_rb,2.3301e+00_rb,2.6593e+00_rb/) kao(:, 3, 8,11) = (/ & &1.0516e-01_rb,4.6951e-01_rb,7.3794e-01_rb,1.1060e+00_rb,1.4745e+00_rb,1.8432e+00_rb, & &2.2125e+00_rb,2.5835e+00_rb,2.9480e+00_rb/) kao(:, 4, 8,11) = (/ & &1.0772e-01_rb,4.9500e-01_rb,8.1532e-01_rb,1.2227e+00_rb,1.6302e+00_rb,2.0375e+00_rb, & &2.4456e+00_rb,2.8562e+00_rb,3.2595e+00_rb/) kao(:, 5, 8,11) = (/ & &1.0947e-01_rb,5.2130e-01_rb,8.9659e-01_rb,1.3445e+00_rb,1.7925e+00_rb,2.2406e+00_rb, & &2.6897e+00_rb,3.1404e+00_rb,3.5840e+00_rb/) kao(:, 1, 9,11) = (/ & &4.1823e-01_rb,7.9567e-01_rb,1.0382e+00_rb,1.1972e+00_rb,1.2989e+00_rb,1.3526e+00_rb, & &1.5261e+00_rb,1.7800e+00_rb,2.0331e+00_rb/) kao(:, 2, 9,11) = (/ & &4.3170e-01_rb,8.4637e-01_rb,1.1195e+00_rb,1.3007e+00_rb,1.4025e+00_rb,1.4821e+00_rb, & &1.7319e+00_rb,2.0202e+00_rb,2.3074e+00_rb/) kao(:, 3, 9,11) = (/ & &4.4387e-01_rb,8.9320e-01_rb,1.1954e+00_rb,1.3918e+00_rb,1.4965e+00_rb,1.6263e+00_rb, & &1.9385e+00_rb,2.2615e+00_rb,2.5830e+00_rb/) kao(:, 4, 9,11) = (/ & &4.5501e-01_rb,9.4246e-01_rb,1.2607e+00_rb,1.4727e+00_rb,1.5878e+00_rb,1.7989e+00_rb, & &2.1575e+00_rb,2.5169e+00_rb,2.8754e+00_rb/) kao(:, 5, 9,11) = (/ & &4.6515e-01_rb,9.9000e-01_rb,1.3196e+00_rb,1.5528e+00_rb,1.6906e+00_rb,1.9810e+00_rb, & &2.3767e+00_rb,2.7728e+00_rb,3.1676e+00_rb/) kao(:, 1,10,11) = (/ & &1.9805e+00_rb,2.2049e+00_rb,2.3763e+00_rb,2.4479e+00_rb,2.4732e+00_rb,2.4264e+00_rb, & &2.2604e+00_rb,1.8802e+00_rb,1.7493e+00_rb/) kao(:, 2,10,11) = (/ & &2.0472e+00_rb,2.3153e+00_rb,2.5048e+00_rb,2.6141e+00_rb,2.6517e+00_rb,2.6235e+00_rb, & &2.4547e+00_rb,2.0470e+00_rb,2.0043e+00_rb/) kao(:, 3,10,11) = (/ & &2.1094e+00_rb,2.4143e+00_rb,2.6357e+00_rb,2.7700e+00_rb,2.8309e+00_rb,2.7965e+00_rb, & &2.6317e+00_rb,2.2035e+00_rb,2.2660e+00_rb/) kao(:, 4,10,11) = (/ & &2.1647e+00_rb,2.5051e+00_rb,2.7487e+00_rb,2.9276e+00_rb,2.9982e+00_rb,2.9552e+00_rb, & &2.7953e+00_rb,2.3731e+00_rb,2.5329e+00_rb/) kao(:, 5,10,11) = (/ & &2.2155e+00_rb,2.5942e+00_rb,2.8618e+00_rb,3.0775e+00_rb,3.1500e+00_rb,3.1109e+00_rb, & &2.9560e+00_rb,2.5540e+00_rb,2.7905e+00_rb/) kao(:, 1,11,11) = (/ & &3.3272e+00_rb,3.3391e+00_rb,3.4265e+00_rb,3.3299e+00_rb,3.1864e+00_rb,3.0000e+00_rb, & &2.7382e+00_rb,2.2548e+00_rb,1.5937e+00_rb/) kao(:, 2,11,11) = (/ & &3.4245e+00_rb,3.4923e+00_rb,3.5888e+00_rb,3.5207e+00_rb,3.3952e+00_rb,3.2270e+00_rb, & &2.9458e+00_rb,2.4552e+00_rb,1.8248e+00_rb/) kao(:, 3,11,11) = (/ & &3.5147e+00_rb,3.6350e+00_rb,3.7493e+00_rb,3.6979e+00_rb,3.6003e+00_rb,3.4366e+00_rb, & &3.1408e+00_rb,2.6446e+00_rb,2.0543e+00_rb/) kao(:, 4,11,11) = (/ & &3.5973e+00_rb,3.7611e+00_rb,3.8955e+00_rb,3.8697e+00_rb,3.7999e+00_rb,3.6320e+00_rb, & &3.3291e+00_rb,2.8219e+00_rb,2.2769e+00_rb/) kao(:, 5,11,11) = (/ & &3.6658e+00_rb,3.8812e+00_rb,4.0226e+00_rb,4.0479e+00_rb,3.9815e+00_rb,3.8145e+00_rb, & &3.5185e+00_rb,2.9782e+00_rb,2.4861e+00_rb/) kao(:, 1,12,11) = (/ & &4.1187e+00_rb,4.0374e+00_rb,4.0352e+00_rb,3.8356e+00_rb,3.5772e+00_rb,3.2668e+00_rb, & &2.8837e+00_rb,2.3539e+00_rb,1.4349e+00_rb/) kao(:, 2,12,11) = (/ & &4.2212e+00_rb,4.1986e+00_rb,4.2178e+00_rb,4.0426e+00_rb,3.8006e+00_rb,3.4932e+00_rb, & &3.0942e+00_rb,2.5554e+00_rb,1.6369e+00_rb/) kao(:, 3,12,11) = (/ & &4.3153e+00_rb,4.3421e+00_rb,4.3917e+00_rb,4.2429e+00_rb,4.0161e+00_rb,3.6975e+00_rb, & &3.3039e+00_rb,2.7454e+00_rb,1.8396e+00_rb/) kao(:, 4,12,11) = (/ & &4.3996e+00_rb,4.4753e+00_rb,4.5481e+00_rb,4.4345e+00_rb,4.2153e+00_rb,3.8944e+00_rb, & &3.5079e+00_rb,2.9264e+00_rb,2.0403e+00_rb/) kao(:, 5,12,11) = (/ & &4.4754e+00_rb,4.5978e+00_rb,4.6899e+00_rb,4.6220e+00_rb,4.4006e+00_rb,4.0838e+00_rb, & &3.7036e+00_rb,3.0926e+00_rb,2.2349e+00_rb/) kao(:, 1,13,11) = (/ & &4.0592e+00_rb,4.0332e+00_rb,3.9681e+00_rb,3.7590e+00_rb,3.4963e+00_rb,3.1626e+00_rb, & &2.7397e+00_rb,2.2238e+00_rb,1.2732e+00_rb/) kao(:, 2,13,11) = (/ & &4.1472e+00_rb,4.1742e+00_rb,4.1368e+00_rb,3.9606e+00_rb,3.7120e+00_rb,3.3731e+00_rb, & &2.9427e+00_rb,2.4115e+00_rb,1.4537e+00_rb/) kao(:, 3,13,11) = (/ & &4.2292e+00_rb,4.3011e+00_rb,4.2979e+00_rb,4.1507e+00_rb,3.9119e+00_rb,3.5700e+00_rb, & &3.1423e+00_rb,2.5914e+00_rb,1.6282e+00_rb/) kao(:, 4,13,11) = (/ & &4.3001e+00_rb,4.4170e+00_rb,4.4457e+00_rb,4.3341e+00_rb,4.0986e+00_rb,3.7637e+00_rb, & &3.3341e+00_rb,2.7592e+00_rb,1.8128e+00_rb/) kao(:, 5,13,11) = (/ & &4.3627e+00_rb,4.5278e+00_rb,4.5856e+00_rb,4.5011e+00_rb,4.2740e+00_rb,3.9472e+00_rb, & &3.5112e+00_rb,2.9185e+00_rb,1.9901e+00_rb/) kao(:, 1, 1,12) = (/ & &1.2832e-03_rb,7.6911e-01_rb,1.5308e+00_rb,2.2815e+00_rb,3.0131e+00_rb,3.7102e+00_rb, & &4.3339e+00_rb,4.8156e+00_rb,6.0262e+00_rb/) kao(:, 2, 1,12) = (/ & &1.3165e-03_rb,8.3137e-01_rb,1.6545e+00_rb,2.4655e+00_rb,3.2561e+00_rb,4.0092e+00_rb, & &4.6800e+00_rb,5.1382e+00_rb,6.5123e+00_rb/) kao(:, 3, 1,12) = (/ & &1.3465e-03_rb,8.9467e-01_rb,1.7805e+00_rb,2.6534e+00_rb,3.5040e+00_rb,4.3130e+00_rb, & &5.0270e+00_rb,5.5081e+00_rb,7.0080e+00_rb/) kao(:, 4, 1,12) = (/ & &1.3733e-03_rb,9.5420e-01_rb,1.9011e+00_rb,2.8343e+00_rb,3.7449e+00_rb,4.6125e+00_rb, & &5.3804e+00_rb,5.8655e+00_rb,7.4899e+00_rb/) kao(:, 5, 1,12) = (/ & &1.3973e-03_rb,1.0065e+00_rb,2.0056e+00_rb,2.9931e+00_rb,3.9616e+00_rb,4.8908e+00_rb, & &5.7173e+00_rb,6.2206e+00_rb,7.9232e+00_rb/) kao(:, 1, 2,12) = (/ & &2.1567e-03_rb,7.9503e-01_rb,1.5851e+00_rb,2.3675e+00_rb,3.1367e+00_rb,3.8805e+00_rb, & &4.5651e+00_rb,5.0566e+00_rb,6.2733e+00_rb/) kao(:, 2, 2,12) = (/ & &2.2096e-03_rb,8.5765e-01_rb,1.7102e+00_rb,2.5549e+00_rb,3.3862e+00_rb,4.1922e+00_rb, & &4.9361e+00_rb,5.4818e+00_rb,6.7723e+00_rb/) kao(:, 3, 2,12) = (/ & &2.2593e-03_rb,9.2132e-01_rb,1.8371e+00_rb,2.7441e+00_rb,3.6360e+00_rb,4.5001e+00_rb, & &5.3023e+00_rb,5.9092e+00_rb,7.2719e+00_rb/) kao(:, 4, 2,12) = (/ & &2.3029e-03_rb,9.7961e-01_rb,1.9547e+00_rb,2.9227e+00_rb,3.8771e+00_rb,4.8047e+00_rb, & &5.6684e+00_rb,6.3211e+00_rb,7.7542e+00_rb/) kao(:, 5, 2,12) = (/ & &2.3432e-03_rb,1.0294e+00_rb,2.0551e+00_rb,3.0745e+00_rb,4.0831e+00_rb,5.0720e+00_rb, & &6.0082e+00_rb,6.7230e+00_rb,8.1662e+00_rb/) kao(:, 1, 3,12) = (/ & &4.8280e-03_rb,7.9900e-01_rb,1.5962e+00_rb,2.3906e+00_rb,3.1803e+00_rb,3.9604e+00_rb, & &4.7157e+00_rb,5.3732e+00_rb,6.3605e+00_rb/) kao(:, 2, 3,12) = (/ & &4.9522e-03_rb,8.6159e-01_rb,1.7217e+00_rb,2.5790e+00_rb,3.4316e+00_rb,4.2766e+00_rb, & &5.0979e+00_rb,5.8264e+00_rb,6.8633e+00_rb/) kao(:, 3, 3,12) = (/ & &5.0521e-03_rb,9.2450e-01_rb,1.8472e+00_rb,2.7674e+00_rb,3.6829e+00_rb,4.5888e+00_rb, & &5.4724e+00_rb,6.2581e+00_rb,7.3659e+00_rb/) kao(:, 4, 3,12) = (/ & &5.1417e-03_rb,9.8492e-01_rb,1.9684e+00_rb,2.9494e+00_rb,3.9267e+00_rb,4.8950e+00_rb, & &5.8398e+00_rb,6.6855e+00_rb,7.8533e+00_rb/) kao(:, 5, 3,12) = (/ & &5.2128e-03_rb,1.0351e+00_rb,2.0685e+00_rb,3.1013e+00_rb,4.1304e+00_rb,5.1536e+00_rb, & &6.1563e+00_rb,7.0696e+00_rb,8.2608e+00_rb/) kao(:, 1, 4,12) = (/ & &1.0891e-02_rb,7.7727e-01_rb,1.5543e+00_rb,2.3309e+00_rb,3.1067e+00_rb,3.8812e+00_rb, & &4.6512e+00_rb,5.4004e+00_rb,6.2133e+00_rb/) kao(:, 2, 4,12) = (/ & &1.1146e-02_rb,8.4013e-01_rb,1.6801e+00_rb,2.5195e+00_rb,3.3588e+00_rb,4.1965e+00_rb, & &5.0315e+00_rb,5.8522e+00_rb,6.7175e+00_rb/) kao(:, 3, 4,12) = (/ & &1.1369e-02_rb,9.0347e-01_rb,1.8066e+00_rb,2.7094e+00_rb,3.6116e+00_rb,4.5128e+00_rb, & &5.4097e+00_rb,6.2868e+00_rb,7.2231e+00_rb/) kao(:, 4, 4,12) = (/ & &1.1543e-02_rb,9.6345e-01_rb,1.9267e+00_rb,2.8898e+00_rb,3.8526e+00_rb,4.8146e+00_rb, & &5.7741e+00_rb,6.7146e+00_rb,7.7051e+00_rb/) kao(:, 5, 4,12) = (/ & &1.1696e-02_rb,1.0158e+00_rb,2.0314e+00_rb,3.0468e+00_rb,4.0618e+00_rb,5.0772e+00_rb, & &6.0909e+00_rb,7.0982e+00_rb,8.1235e+00_rb/) kao(:, 1, 5,12) = (/ & &2.2302e-02_rb,7.3490e-01_rb,1.4696e+00_rb,2.2046e+00_rb,2.9394e+00_rb,3.6745e+00_rb, & &4.4097e+00_rb,5.1450e+00_rb,5.8787e+00_rb/) kao(:, 2, 5,12) = (/ & &2.2823e-02_rb,7.9768e-01_rb,1.5952e+00_rb,2.3932e+00_rb,3.1913e+00_rb,3.9900e+00_rb, & &4.7899e+00_rb,5.5934e+00_rb,6.3823e+00_rb/) kao(:, 3, 5,12) = (/ & &2.3280e-02_rb,8.5775e-01_rb,1.7153e+00_rb,2.5734e+00_rb,3.4313e+00_rb,4.2902e+00_rb, & &5.1502e+00_rb,6.0153e+00_rb,6.8623e+00_rb/) kao(:, 4, 5,12) = (/ & &2.3683e-02_rb,9.1895e-01_rb,1.8383e+00_rb,2.7574e+00_rb,3.6772e+00_rb,4.5980e+00_rb, & &5.5202e+00_rb,6.4486e+00_rb,7.3542e+00_rb/) kao(:, 5, 5,12) = (/ & &2.3999e-02_rb,9.7537e-01_rb,1.9505e+00_rb,2.9260e+00_rb,3.9018e+00_rb,4.8784e+00_rb, & &5.8576e+00_rb,6.8447e+00_rb,7.8034e+00_rb/) kao(:, 1, 6,12) = (/ & &4.2265e-02_rb,6.7923e-01_rb,1.3583e+00_rb,2.0372e+00_rb,2.7164e+00_rb,3.3965e+00_rb, & &4.0771e+00_rb,4.7611e+00_rb,5.4325e+00_rb/) kao(:, 2, 6,12) = (/ & &4.3312e-02_rb,7.4027e-01_rb,1.4802e+00_rb,2.2203e+00_rb,2.9606e+00_rb,3.7016e+00_rb, & &4.4440e+00_rb,5.1934e+00_rb,5.9209e+00_rb/) kao(:, 3, 6,12) = (/ & &4.4154e-02_rb,8.0193e-01_rb,1.6036e+00_rb,2.4053e+00_rb,3.2071e+00_rb,4.0091e+00_rb, & &4.8130e+00_rb,5.6200e+00_rb,6.4137e+00_rb/) kao(:, 4, 6,12) = (/ & &4.4818e-02_rb,8.6447e-01_rb,1.7287e+00_rb,2.5931e+00_rb,3.4580e+00_rb,4.3234e+00_rb, & &5.1892e+00_rb,6.0606e+00_rb,6.9157e+00_rb/) kao(:, 5, 6,12) = (/ & &4.5427e-02_rb,9.2353e-01_rb,1.8468e+00_rb,2.7701e+00_rb,3.6940e+00_rb,4.6182e+00_rb, & &5.5436e+00_rb,6.4744e+00_rb,7.3877e+00_rb/) kao(:, 1, 7,12) = (/ & &8.2851e-02_rb,6.1813e-01_rb,1.2353e+00_rb,1.8525e+00_rb,2.4701e+00_rb,3.0880e+00_rb, & &3.7064e+00_rb,4.3285e+00_rb,4.9392e+00_rb/) kao(:, 2, 7,12) = (/ & &8.4778e-02_rb,6.8174e-01_rb,1.3624e+00_rb,2.0434e+00_rb,2.7245e+00_rb,3.4060e+00_rb, & &4.0883e+00_rb,4.7735e+00_rb,5.4481e+00_rb/) kao(:, 3, 7,12) = (/ & &8.6620e-02_rb,7.4569e-01_rb,1.4908e+00_rb,2.2359e+00_rb,2.9814e+00_rb,3.7272e+00_rb, & &4.4733e+00_rb,5.2220e+00_rb,5.9623e+00_rb/) kao(:, 4, 7,12) = (/ & &8.8221e-02_rb,8.0972e-01_rb,1.6191e+00_rb,2.4284e+00_rb,3.2380e+00_rb,4.0476e+00_rb, & &4.8581e+00_rb,5.6715e+00_rb,6.4756e+00_rb/) kao(:, 5, 7,12) = (/ & &8.9388e-02_rb,8.6929e-01_rb,1.7383e+00_rb,2.6072e+00_rb,3.4769e+00_rb,4.3464e+00_rb, & &5.2172e+00_rb,6.0912e+00_rb,6.9533e+00_rb/) kao(:, 1, 8,12) = (/ & &1.9209e-01_rb,6.2527e-01_rb,1.1133e+00_rb,1.6689e+00_rb,2.2244e+00_rb,2.7803e+00_rb, & &3.3362e+00_rb,3.8938e+00_rb,4.4464e+00_rb/) kao(:, 2, 8,12) = (/ & &1.9727e-01_rb,6.6108e-01_rb,1.2430e+00_rb,1.8635e+00_rb,2.4844e+00_rb,3.1054e+00_rb, & &3.7267e+00_rb,4.3504e+00_rb,4.9671e+00_rb/) kao(:, 3, 8,12) = (/ & &2.0144e-01_rb,7.0485e-01_rb,1.3718e+00_rb,2.0572e+00_rb,2.7423e+00_rb,3.4280e+00_rb, & &4.1141e+00_rb,4.8012e+00_rb,5.4833e+00_rb/) kao(:, 4, 8,12) = (/ & &2.0484e-01_rb,7.5576e-01_rb,1.4986e+00_rb,2.2473e+00_rb,2.9964e+00_rb,3.7450e+00_rb, & &4.4951e+00_rb,5.2469e+00_rb,5.9915e+00_rb/) kao(:, 5, 8,12) = (/ & &2.0777e-01_rb,8.0793e-01_rb,1.6132e+00_rb,2.4193e+00_rb,3.2252e+00_rb,4.0323e+00_rb, & &4.8391e+00_rb,5.6481e+00_rb,6.4494e+00_rb/) kao(:, 1, 9,12) = (/ & &8.2620e-01_rb,1.3515e+00_rb,1.6396e+00_rb,1.8633e+00_rb,2.0617e+00_rb,2.4827e+00_rb, & &2.9771e+00_rb,3.4729e+00_rb,3.9666e+00_rb/) kao(:, 2, 9,12) = (/ & &8.4850e-01_rb,1.4155e+00_rb,1.7443e+00_rb,1.9664e+00_rb,2.2558e+00_rb,2.7862e+00_rb, & &3.3424e+00_rb,3.8990e+00_rb,4.4541e+00_rb/) kao(:, 3, 9,12) = (/ & &8.6743e-01_rb,1.4840e+00_rb,1.8355e+00_rb,2.0729e+00_rb,2.4805e+00_rb,3.0958e+00_rb, & &3.7138e+00_rb,4.3325e+00_rb,4.9497e+00_rb/) kao(:, 4, 9,12) = (/ & &8.8373e-01_rb,1.5402e+00_rb,1.9288e+00_rb,2.1892e+00_rb,2.7106e+00_rb,3.3871e+00_rb, & &4.0635e+00_rb,4.7407e+00_rb,5.4157e+00_rb/) kao(:, 5, 9,12) = (/ & &8.9622e-01_rb,1.5897e+00_rb,2.0124e+00_rb,2.3107e+00_rb,2.9348e+00_rb,3.6673e+00_rb, & &4.4005e+00_rb,5.1335e+00_rb,5.8643e+00_rb/) kao(:, 1,10,12) = (/ & &3.9173e+00_rb,3.9928e+00_rb,4.3366e+00_rb,4.4280e+00_rb,4.2663e+00_rb,3.9998e+00_rb, & &3.6166e+00_rb,3.1308e+00_rb,3.5126e+00_rb/) kao(:, 2,10,12) = (/ & &4.0212e+00_rb,4.1687e+00_rb,4.5593e+00_rb,4.6368e+00_rb,4.5220e+00_rb,4.2834e+00_rb, & &3.8634e+00_rb,3.4894e+00_rb,3.9713e+00_rb/) kao(:, 3,10,12) = (/ & &4.1147e+00_rb,4.3230e+00_rb,4.7454e+00_rb,4.8522e+00_rb,4.7749e+00_rb,4.5433e+00_rb, & &4.0957e+00_rb,3.8708e+00_rb,4.4196e+00_rb/) kao(:, 4,10,12) = (/ & &4.1890e+00_rb,4.4586e+00_rb,4.9236e+00_rb,5.0494e+00_rb,4.9988e+00_rb,4.8016e+00_rb, & &4.3028e+00_rb,4.2486e+00_rb,4.8508e+00_rb/) kao(:, 5,10,12) = (/ & &4.2486e+00_rb,4.5669e+00_rb,5.0902e+00_rb,5.2222e+00_rb,5.2265e+00_rb,5.0216e+00_rb, & &4.5057e+00_rb,4.6204e+00_rb,5.2753e+00_rb/) kao(:, 1,11,12) = (/ & &6.5008e+00_rb,6.1849e+00_rb,6.2789e+00_rb,6.2685e+00_rb,5.9393e+00_rb,5.4109e+00_rb, & &4.7099e+00_rb,3.7046e+00_rb,3.2687e+00_rb/) kao(:, 2,11,12) = (/ & &6.6711e+00_rb,6.4071e+00_rb,6.5745e+00_rb,6.5690e+00_rb,6.2447e+00_rb,5.7486e+00_rb, & &5.0466e+00_rb,3.9652e+00_rb,3.6849e+00_rb/) kao(:, 3,11,12) = (/ & &6.8141e+00_rb,6.5961e+00_rb,6.8266e+00_rb,6.8425e+00_rb,6.5425e+00_rb,6.0645e+00_rb, & &5.3679e+00_rb,4.1951e+00_rb,4.0848e+00_rb/) kao(:, 4,11,12) = (/ & &6.9309e+00_rb,6.7641e+00_rb,7.0497e+00_rb,7.0951e+00_rb,6.8173e+00_rb,6.3688e+00_rb, & &5.6628e+00_rb,4.4427e+00_rb,4.4838e+00_rb/) kao(:, 5,11,12) = (/ & &7.0334e+00_rb,6.9031e+00_rb,7.2676e+00_rb,7.3125e+00_rb,7.0679e+00_rb,6.6762e+00_rb, & &5.9144e+00_rb,4.7231e+00_rb,4.9084e+00_rb/) kao(:, 1,12,12) = (/ & &8.0356e+00_rb,7.5209e+00_rb,7.4229e+00_rb,7.2434e+00_rb,6.7979e+00_rb,6.1202e+00_rb, & &5.2895e+00_rb,4.1070e+00_rb,2.9936e+00_rb/) kao(:, 2,12,12) = (/ & &8.2347e+00_rb,7.7748e+00_rb,7.7310e+00_rb,7.5713e+00_rb,7.1351e+00_rb,6.4951e+00_rb, & &5.6590e+00_rb,4.4043e+00_rb,3.3743e+00_rb/) kao(:, 3,12,12) = (/ & &8.4084e+00_rb,7.9908e+00_rb,8.0012e+00_rb,7.8714e+00_rb,7.4600e+00_rb,6.8499e+00_rb, & &6.0055e+00_rb,4.6706e+00_rb,3.7574e+00_rb/) kao(:, 4,12,12) = (/ & &8.5546e+00_rb,8.1702e+00_rb,8.2474e+00_rb,8.1496e+00_rb,7.7631e+00_rb,7.1869e+00_rb, & &6.3250e+00_rb,4.9362e+00_rb,4.1426e+00_rb/) kao(:, 5,12,12) = (/ & &8.6676e+00_rb,8.3299e+00_rb,8.4723e+00_rb,8.3950e+00_rb,8.0405e+00_rb,7.5149e+00_rb, & &6.6159e+00_rb,5.2129e+00_rb,4.5254e+00_rb/) kao(:, 1,13,12) = (/ & &7.9759e+00_rb,7.5343e+00_rb,7.4503e+00_rb,7.1563e+00_rb,6.6524e+00_rb,6.0033e+00_rb, & &5.2080e+00_rb,4.0643e+00_rb,2.7278e+00_rb/) kao(:, 2,13,12) = (/ & &8.1794e+00_rb,7.7874e+00_rb,7.7473e+00_rb,7.4642e+00_rb,6.9912e+00_rb,6.3834e+00_rb, & &5.5711e+00_rb,4.3572e+00_rb,3.0821e+00_rb/) kao(:, 3,13,12) = (/ & &8.3457e+00_rb,8.0091e+00_rb,8.0057e+00_rb,7.7578e+00_rb,7.3258e+00_rb,6.7364e+00_rb, & &5.9096e+00_rb,4.6439e+00_rb,3.4477e+00_rb/) kao(:, 4,13,12) = (/ & &8.4812e+00_rb,8.2074e+00_rb,8.2395e+00_rb,8.0326e+00_rb,7.6295e+00_rb,7.0667e+00_rb, & &6.2213e+00_rb,4.9334e+00_rb,3.7948e+00_rb/) kao(:, 5,13,12) = (/ & &8.5914e+00_rb,8.3651e+00_rb,8.4655e+00_rb,8.2768e+00_rb,7.9296e+00_rb,7.3785e+00_rb, & &6.5133e+00_rb,5.2165e+00_rb,4.1485e+00_rb/) kao(:, 1, 1,13) = (/ & &1.8376e-03_rb,1.2493e+00_rb,2.4869e+00_rb,3.7066e+00_rb,4.8962e+00_rb,6.0283e+00_rb, & &7.0325e+00_rb,7.5732e+00_rb,9.7924e+00_rb/) kao(:, 2, 1,13) = (/ & &1.8435e-03_rb,1.3137e+00_rb,2.6151e+00_rb,3.8978e+00_rb,5.1474e+00_rb,6.3345e+00_rb, & &7.3693e+00_rb,7.9436e+00_rb,1.0295e+01_rb/) kao(:, 3, 1,13) = (/ & &1.8457e-03_rb,1.3823e+00_rb,2.7512e+00_rb,4.0980e+00_rb,5.4060e+00_rb,6.6439e+00_rb, & &7.7282e+00_rb,8.2817e+00_rb,1.0812e+01_rb/) kao(:, 4, 1,13) = (/ & &1.8458e-03_rb,1.4480e+00_rb,2.8814e+00_rb,4.2920e+00_rb,5.6663e+00_rb,6.9707e+00_rb, & &8.1084e+00_rb,8.6593e+00_rb,1.1333e+01_rb/) kao(:, 5, 1,13) = (/ & &1.8581e-03_rb,1.5191e+00_rb,3.0214e+00_rb,4.4961e+00_rb,5.9276e+00_rb,7.2804e+00_rb, & &8.4721e+00_rb,9.0750e+00_rb,1.1855e+01_rb/) kao(:, 1, 2,13) = (/ & &3.0081e-03_rb,1.2887e+00_rb,2.5721e+00_rb,3.8463e+00_rb,5.1064e+00_rb,6.3378e+00_rb, & &7.4987e+00_rb,8.3933e+00_rb,1.0213e+01_rb/) kao(:, 2, 2,13) = (/ & &3.0389e-03_rb,1.3599e+00_rb,2.7131e+00_rb,4.0552e+00_rb,5.3783e+00_rb,6.6678e+00_rb, & &7.8772e+00_rb,8.7981e+00_rb,1.0756e+01_rb/) kao(:, 3, 2,13) = (/ & &3.0623e-03_rb,1.4308e+00_rb,2.8555e+00_rb,4.2711e+00_rb,5.6674e+00_rb,7.0255e+00_rb, & &8.2810e+00_rb,9.2099e+00_rb,1.1335e+01_rb/) kao(:, 4, 2,13) = (/ & &3.1073e-03_rb,1.4998e+00_rb,2.9927e+00_rb,4.4738e+00_rb,5.9361e+00_rb,7.3612e+00_rb, & &8.6975e+00_rb,9.6506e+00_rb,1.1872e+01_rb/) kao(:, 5, 2,13) = (/ & &3.1371e-03_rb,1.5763e+00_rb,3.1432e+00_rb,4.6958e+00_rb,6.2242e+00_rb,7.7091e+00_rb, & &9.0917e+00_rb,1.0108e+01_rb,1.2448e+01_rb/) kao(:, 1, 3,13) = (/ & &6.7566e-03_rb,1.3010e+00_rb,2.6001e+00_rb,3.8967e+00_rb,5.1878e+00_rb,6.4676e+00_rb, & &7.7183e+00_rb,8.8575e+00_rb,1.0376e+01_rb/) kao(:, 2, 3,13) = (/ & &6.8655e-03_rb,1.3725e+00_rb,2.7424e+00_rb,4.1083e+00_rb,5.4679e+00_rb,6.8133e+00_rb, & &8.1286e+00_rb,9.3210e+00_rb,1.0936e+01_rb/) kao(:, 3, 3,13) = (/ & &7.0162e-03_rb,1.4463e+00_rb,2.8900e+00_rb,4.3294e+00_rb,5.7613e+00_rb,7.1793e+00_rb, & &8.5582e+00_rb,9.7979e+00_rb,1.1523e+01_rb/) kao(:, 4, 3,13) = (/ & &7.1355e-03_rb,1.5186e+00_rb,3.0341e+00_rb,4.5447e+00_rb,6.0464e+00_rb,7.5309e+00_rb, & &8.9783e+00_rb,1.0290e+01_rb,1.2093e+01_rb/) kao(:, 5, 3,13) = (/ & &7.2326e-03_rb,1.6009e+00_rb,3.1979e+00_rb,4.7883e+00_rb,6.3681e+00_rb,7.9274e+00_rb, & &9.4396e+00_rb,1.0789e+01_rb,1.2736e+01_rb/) kao(:, 1, 4,13) = (/ & &1.5770e-02_rb,1.2974e+00_rb,2.5940e+00_rb,3.8891e+00_rb,5.1823e+00_rb,6.4711e+00_rb, & &7.7497e+00_rb,8.9872e+00_rb,1.0364e+01_rb/) kao(:, 2, 4,13) = (/ & &1.6102e-02_rb,1.3725e+00_rb,2.7438e+00_rb,4.1133e+00_rb,5.4792e+00_rb,6.8384e+00_rb, & &8.1824e+00_rb,9.4681e+00_rb,1.0958e+01_rb/) kao(:, 3, 4,13) = (/ & &1.6461e-02_rb,1.4529e+00_rb,2.9044e+00_rb,4.3540e+00_rb,5.7994e+00_rb,7.2375e+00_rb, & &8.6575e+00_rb,1.0008e+01_rb,1.1599e+01_rb/) kao(:, 4, 4,13) = (/ & &1.6764e-02_rb,1.5336e+00_rb,3.0659e+00_rb,4.5952e+00_rb,6.1201e+00_rb,7.6366e+00_rb, & &9.1307e+00_rb,1.0552e+01_rb,1.2240e+01_rb/) kao(:, 5, 4,13) = (/ & &1.6983e-02_rb,1.6203e+00_rb,3.2389e+00_rb,4.8548e+00_rb,6.4661e+00_rb,8.0668e+00_rb, & &9.6455e+00_rb,1.1132e+01_rb,1.2932e+01_rb/) kao(:, 1, 5,13) = (/ & &3.3958e-02_rb,1.2926e+00_rb,2.5850e+00_rb,3.8765e+00_rb,5.1671e+00_rb,6.4548e+00_rb, & &7.7382e+00_rb,9.0001e+00_rb,1.0334e+01_rb/) kao(:, 2, 5,13) = (/ & &3.4722e-02_rb,1.3756e+00_rb,2.7505e+00_rb,4.1243e+00_rb,5.4969e+00_rb,6.8654e+00_rb, & &8.2252e+00_rb,9.5545e+00_rb,1.0994e+01_rb/) kao(:, 3, 5,13) = (/ & &3.5363e-02_rb,1.4648e+00_rb,2.9290e+00_rb,4.3919e+00_rb,5.8529e+00_rb,7.3099e+00_rb, & &8.7568e+00_rb,1.0164e+01_rb,1.1706e+01_rb/) kao(:, 4, 5,13) = (/ & &3.6012e-02_rb,1.5505e+00_rb,3.1003e+00_rb,4.6491e+00_rb,6.1954e+00_rb,7.7382e+00_rb, & &9.2690e+00_rb,1.0761e+01_rb,1.2391e+01_rb/) kao(:, 5, 5,13) = (/ & &3.6453e-02_rb,1.6361e+00_rb,3.2714e+00_rb,4.9053e+00_rb,6.5374e+00_rb,8.1645e+00_rb, & &9.7803e+00_rb,1.1352e+01_rb,1.3075e+01_rb/) kao(:, 1, 6,13) = (/ & &6.7837e-02_rb,1.2756e+00_rb,2.5511e+00_rb,3.8262e+00_rb,5.1016e+00_rb,6.3755e+00_rb, & &7.6486e+00_rb,8.9147e+00_rb,1.0203e+01_rb/) kao(:, 2, 6,13) = (/ & &6.9368e-02_rb,1.3655e+00_rb,2.7307e+00_rb,4.0953e+00_rb,5.4595e+00_rb,6.8218e+00_rb, & &8.1822e+00_rb,9.5288e+00_rb,1.0919e+01_rb/) kao(:, 3, 6,13) = (/ & &7.0610e-02_rb,1.4598e+00_rb,2.9193e+00_rb,4.3789e+00_rb,5.8375e+00_rb,7.2946e+00_rb, & &8.7480e+00_rb,1.0185e+01_rb,1.1675e+01_rb/) kao(:, 4, 6,13) = (/ & &7.1895e-02_rb,1.5499e+00_rb,3.0992e+00_rb,4.6481e+00_rb,6.1963e+00_rb,7.7431e+00_rb, & &9.2863e+00_rb,1.0814e+01_rb,1.2392e+01_rb/) kao(:, 5, 6,13) = (/ & &7.2713e-02_rb,1.6401e+00_rb,3.2796e+00_rb,4.9184e+00_rb,6.5572e+00_rb,8.1927e+00_rb, & &9.8252e+00_rb,1.1440e+01_rb,1.3114e+01_rb/) kao(:, 1, 7,13) = (/ & &1.4148e-01_rb,1.2306e+00_rb,2.4611e+00_rb,3.6917e+00_rb,4.9218e+00_rb,6.1530e+00_rb, & &7.3843e+00_rb,8.6153e+00_rb,9.8436e+00_rb/) kao(:, 2, 7,13) = (/ & &1.4468e-01_rb,1.3267e+00_rb,2.6534e+00_rb,3.9799e+00_rb,5.3067e+00_rb,6.6328e+00_rb, & &7.9589e+00_rb,9.2835e+00_rb,1.0613e+01_rb/) kao(:, 3, 7,13) = (/ & &1.4723e-01_rb,1.4271e+00_rb,2.8538e+00_rb,4.2801e+00_rb,5.7062e+00_rb,7.1323e+00_rb, & &8.5577e+00_rb,9.9797e+00_rb,1.1412e+01_rb/) kao(:, 4, 7,13) = (/ & &1.4959e-01_rb,1.5234e+00_rb,3.0460e+00_rb,4.5687e+00_rb,6.0905e+00_rb,7.6133e+00_rb, & &9.1342e+00_rb,1.0653e+01_rb,1.2180e+01_rb/) kao(:, 5, 7,13) = (/ & &1.5109e-01_rb,1.6156e+00_rb,3.2301e+00_rb,4.8444e+00_rb,6.4594e+00_rb,8.0732e+00_rb, & &9.6859e+00_rb,1.1294e+01_rb,1.2918e+01_rb/) kao(:, 1, 8,13) = (/ & &3.4983e-01_rb,1.1544e+00_rb,2.3087e+00_rb,3.4632e+00_rb,4.6176e+00_rb,5.7728e+00_rb, & &6.9283e+00_rb,8.0852e+00_rb,9.2350e+00_rb/) kao(:, 2, 8,13) = (/ & &3.5757e-01_rb,1.2554e+00_rb,2.5092e+00_rb,3.7633e+00_rb,5.0176e+00_rb,6.2716e+00_rb, & &7.5265e+00_rb,8.7822e+00_rb,1.0034e+01_rb/) kao(:, 3, 8,13) = (/ & &3.6359e-01_rb,1.3606e+00_rb,2.7192e+00_rb,4.0780e+00_rb,5.4366e+00_rb,6.7958e+00_rb, & &8.1543e+00_rb,9.5151e+00_rb,1.0871e+01_rb/) kao(:, 4, 8,13) = (/ & &3.6947e-01_rb,1.4619e+00_rb,2.9219e+00_rb,4.3820e+00_rb,5.8417e+00_rb,7.3019e+00_rb, & &8.7622e+00_rb,1.0223e+01_rb,1.1681e+01_rb/) kao(:, 5, 8,13) = (/ & &3.7269e-01_rb,1.5629e+00_rb,3.1234e+00_rb,4.6839e+00_rb,6.2445e+00_rb,7.8052e+00_rb, & &9.3661e+00_rb,1.0928e+01_rb,1.2487e+01_rb/) kao(:, 1, 9,13) = (/ & &1.6120e+00_rb,2.1579e+00_rb,2.5856e+00_rb,3.2058e+00_rb,4.2226e+00_rb,5.2767e+00_rb, & &6.3317e+00_rb,7.3871e+00_rb,8.4404e+00_rb/) kao(:, 2, 9,13) = (/ & &1.6481e+00_rb,2.2537e+00_rb,2.6687e+00_rb,3.4901e+00_rb,4.6465e+00_rb,5.8062e+00_rb, & &6.9659e+00_rb,8.1266e+00_rb,9.2849e+00_rb/) kao(:, 3, 9,13) = (/ & &1.6791e+00_rb,2.3216e+00_rb,2.7898e+00_rb,3.8113e+00_rb,5.0781e+00_rb,6.3453e+00_rb, & &7.6127e+00_rb,8.8803e+00_rb,1.0146e+01_rb/) kao(:, 4, 9,13) = (/ & &1.7002e+00_rb,2.3849e+00_rb,2.9226e+00_rb,4.1389e+00_rb,5.5144e+00_rb,6.8902e+00_rb, & &8.2665e+00_rb,9.6440e+00_rb,1.1018e+01_rb/) kao(:, 5, 9,13) = (/ & &1.7139e+00_rb,2.4356e+00_rb,3.0744e+00_rb,4.4589e+00_rb,5.9418e+00_rb,7.4246e+00_rb, & &8.9078e+00_rb,1.0391e+01_rb,1.1873e+01_rb/) kao(:, 1,10,13) = (/ & &8.1900e+00_rb,7.5735e+00_rb,7.5164e+00_rb,7.4868e+00_rb,7.2490e+00_rb,6.5441e+00_rb, & &6.0001e+00_rb,6.6902e+00_rb,7.6402e+00_rb/) kao(:, 2,10,13) = (/ & &8.3686e+00_rb,7.7990e+00_rb,7.8449e+00_rb,7.8651e+00_rb,7.5310e+00_rb,6.7442e+00_rb, & &6.5109e+00_rb,7.4533e+00_rb,8.5097e+00_rb/) kao(:, 3,10,13) = (/ & &8.5094e+00_rb,8.0068e+00_rb,8.1129e+00_rb,8.1601e+00_rb,7.7387e+00_rb,7.0241e+00_rb, & &7.1098e+00_rb,8.2483e+00_rb,9.4190e+00_rb/) kao(:, 4,10,13) = (/ & &8.6083e+00_rb,8.1729e+00_rb,8.3302e+00_rb,8.3900e+00_rb,7.9589e+00_rb,7.3305e+00_rb, & &7.7681e+00_rb,9.0471e+00_rb,1.0331e+01_rb/) kao(:, 5,10,13) = (/ & &8.6642e+00_rb,8.2947e+00_rb,8.5084e+00_rb,8.6017e+00_rb,8.1354e+00_rb,7.7044e+00_rb, & &8.4486e+00_rb,9.8464e+00_rb,1.1244e+01_rb/) kao(:, 1,11,13) = (/ & &1.4422e+01_rb,1.2923e+01_rb,1.2146e+01_rb,1.1467e+01_rb,1.0797e+01_rb,9.7043e+00_rb, & &7.9341e+00_rb,6.4523e+00_rb,7.2283e+00_rb/) kao(:, 2,11,13) = (/ & &1.4693e+01_rb,1.3224e+01_rb,1.2546e+01_rb,1.1961e+01_rb,1.1284e+01_rb,1.0051e+01_rb, & &8.2717e+00_rb,7.1710e+00_rb,8.1411e+00_rb/) kao(:, 3,11,13) = (/ & &1.4865e+01_rb,1.3437e+01_rb,1.2872e+01_rb,1.2352e+01_rb,1.1673e+01_rb,1.0373e+01_rb, & &8.6477e+00_rb,7.9776e+00_rb,9.0911e+00_rb/) kao(:, 4,11,13) = (/ & &1.4985e+01_rb,1.3594e+01_rb,1.3136e+01_rb,1.2689e+01_rb,1.2000e+01_rb,1.0700e+01_rb, & &9.0501e+00_rb,8.7877e+00_rb,1.0028e+01_rb/) kao(:, 5,11,13) = (/ & &1.5049e+01_rb,1.3704e+01_rb,1.3344e+01_rb,1.2975e+01_rb,1.2311e+01_rb,1.0977e+01_rb, & &9.5392e+00_rb,9.6092e+00_rb,1.0970e+01_rb/) kao(:, 1,12,13) = (/ & &1.8498e+01_rb,1.6493e+01_rb,1.5330e+01_rb,1.4296e+01_rb,1.3227e+01_rb,1.1776e+01_rb, & &9.6093e+00_rb,6.9105e+00_rb,6.8698e+00_rb/) kao(:, 2,12,13) = (/ & &1.8757e+01_rb,1.6799e+01_rb,1.5767e+01_rb,1.4839e+01_rb,1.3780e+01_rb,1.2237e+01_rb, & &1.0031e+01_rb,7.5179e+00_rb,7.8121e+00_rb/) kao(:, 3,12,13) = (/ & &1.8947e+01_rb,1.7036e+01_rb,1.6095e+01_rb,1.5249e+01_rb,1.4223e+01_rb,1.2650e+01_rb, & &1.0480e+01_rb,8.1785e+00_rb,8.7273e+00_rb/) kao(:, 4,12,13) = (/ & &1.9063e+01_rb,1.7202e+01_rb,1.6365e+01_rb,1.5574e+01_rb,1.4614e+01_rb,1.3047e+01_rb, & &1.0927e+01_rb,8.8781e+00_rb,9.6514e+00_rb/) kao(:, 5,12,13) = (/ & &1.9121e+01_rb,1.7309e+01_rb,1.6592e+01_rb,1.5868e+01_rb,1.4993e+01_rb,1.3399e+01_rb, & &1.1411e+01_rb,9.6204e+00_rb,1.0609e+01_rb/) kao(:, 1,13,13) = (/ & &1.8681e+01_rb,1.6791e+01_rb,1.5759e+01_rb,1.4851e+01_rb,1.3770e+01_rb,1.2167e+01_rb, & &1.0009e+01_rb,7.2580e+00_rb,6.5238e+00_rb/) kao(:, 2,13,13) = (/ & &1.8892e+01_rb,1.7070e+01_rb,1.6163e+01_rb,1.5373e+01_rb,1.4290e+01_rb,1.2645e+01_rb, & &1.0505e+01_rb,7.8149e+00_rb,7.3987e+00_rb/) kao(:, 3,13,13) = (/ & &1.9028e+01_rb,1.7273e+01_rb,1.6517e+01_rb,1.5784e+01_rb,1.4702e+01_rb,1.3114e+01_rb, & &1.1026e+01_rb,8.4153e+00_rb,8.2894e+00_rb/) kao(:, 4,13,13) = (/ & &1.9122e+01_rb,1.7418e+01_rb,1.6814e+01_rb,1.6131e+01_rb,1.5108e+01_rb,1.3570e+01_rb, & &1.1549e+01_rb,9.0457e+00_rb,9.1940e+00_rb/) kao(:, 5,13,13) = (/ & &1.9151e+01_rb,1.7520e+01_rb,1.7041e+01_rb,1.6440e+01_rb,1.5494e+01_rb,1.4010e+01_rb, & &1.2106e+01_rb,9.7104e+00_rb,1.0102e+01_rb/) kao(:, 1, 1,14) = (/ & &3.3087e-03_rb,1.8715e+00_rb,3.7152e+00_rb,5.5155e+00_rb,7.2487e+00_rb,8.8573e+00_rb, & &1.0201e+01_rb,1.0807e+01_rb,1.4497e+01_rb/) kao(:, 2, 1,14) = (/ & &3.2220e-03_rb,1.9525e+00_rb,3.8750e+00_rb,5.7533e+00_rb,7.5552e+00_rb,9.2212e+00_rb, & &1.0608e+01_rb,1.1197e+01_rb,1.5110e+01_rb/) kao(:, 3, 1,14) = (/ & &3.1339e-03_rb,2.0260e+00_rb,4.0195e+00_rb,5.9653e+00_rb,7.8344e+00_rb,9.5608e+00_rb, & &1.0981e+01_rb,1.1562e+01_rb,1.5669e+01_rb/) kao(:, 4, 1,14) = (/ & &3.0455e-03_rb,2.1060e+00_rb,4.1769e+00_rb,6.1939e+00_rb,8.1222e+00_rb,9.8877e+00_rb, & &1.1323e+01_rb,1.1897e+01_rb,1.6244e+01_rb/) kao(:, 5, 1,14) = (/ & &2.9339e-03_rb,2.1869e+00_rb,4.3369e+00_rb,6.4318e+00_rb,8.4325e+00_rb,1.0262e+01_rb, & &1.1718e+01_rb,1.2199e+01_rb,1.6865e+01_rb/) kao(:, 1, 2,14) = (/ & &5.2878e-03_rb,2.0475e+00_rb,4.0760e+00_rb,6.0751e+00_rb,8.0240e+00_rb,9.8767e+00_rb, & &1.1510e+01_rb,1.2463e+01_rb,1.6048e+01_rb/) kao(:, 2, 2,14) = (/ & &5.1473e-03_rb,2.1393e+00_rb,4.2595e+00_rb,6.3491e+00_rb,8.3874e+00_rb,1.0326e+01_rb, & &1.2039e+01_rb,1.3009e+01_rb,1.6775e+01_rb/) kao(:, 3, 2,14) = (/ & &5.0049e-03_rb,2.2262e+00_rb,4.4297e+00_rb,6.5989e+00_rb,8.7109e+00_rb,1.0721e+01_rb, & &1.2503e+01_rb,1.3517e+01_rb,1.7422e+01_rb/) kao(:, 4, 2,14) = (/ & &4.8227e-03_rb,2.3172e+00_rb,4.6099e+00_rb,6.8638e+00_rb,9.0568e+00_rb,1.1128e+01_rb, & &1.2937e+01_rb,1.3964e+01_rb,1.8113e+01_rb/) kao(:, 5, 2,14) = (/ & &4.6542e-03_rb,2.4084e+00_rb,4.7911e+00_rb,7.1333e+00_rb,9.4086e+00_rb,1.1557e+01_rb, & &1.3418e+01_rb,1.4407e+01_rb,1.8817e+01_rb/) kao(:, 1, 3,14) = (/ & &1.1438e-02_rb,2.1889e+00_rb,4.3692e+00_rb,6.5353e+00_rb,8.6778e+00_rb,1.0773e+01_rb, & &1.2758e+01_rb,1.4346e+01_rb,1.7356e+01_rb/) kao(:, 2, 3,14) = (/ & &1.1139e-02_rb,2.3041e+00_rb,4.5995e+00_rb,6.8793e+00_rb,9.1316e+00_rb,1.1334e+01_rb, & &1.3411e+01_rb,1.5052e+01_rb,1.8263e+01_rb/) kao(:, 3, 3,14) = (/ & &1.0770e-02_rb,2.4104e+00_rb,4.8103e+00_rb,7.1935e+00_rb,9.5485e+00_rb,1.1847e+01_rb, & &1.4017e+01_rb,1.5716e+01_rb,1.9097e+01_rb/) kao(:, 4, 3,14) = (/ & &1.0423e-02_rb,2.5146e+00_rb,5.0181e+00_rb,7.5021e+00_rb,9.9570e+00_rb,1.2351e+01_rb, & &1.4597e+01_rb,1.6319e+01_rb,1.9914e+01_rb/) kao(:, 5, 3,14) = (/ & &1.0104e-02_rb,2.6169e+00_rb,5.2203e+00_rb,7.8059e+00_rb,1.0356e+01_rb,1.2839e+01_rb, & &1.5169e+01_rb,1.6937e+01_rb,2.0712e+01_rb/) kao(:, 1, 4,14) = (/ & &2.5365e-02_rb,2.3050e+00_rb,4.6063e+00_rb,6.9017e+00_rb,9.1853e+00_rb,1.1448e+01_rb, & &1.3656e+01_rb,1.5659e+01_rb,1.8370e+01_rb/) kao(:, 2, 4,14) = (/ & &2.4778e-02_rb,2.4401e+00_rb,4.8764e+00_rb,7.3060e+00_rb,9.7240e+00_rb,1.2119e+01_rb, & &1.4458e+01_rb,1.6580e+01_rb,1.9448e+01_rb/) kao(:, 3, 4,14) = (/ & &2.4097e-02_rb,2.5614e+00_rb,5.1183e+00_rb,7.6688e+00_rb,1.0206e+01_rb,1.2719e+01_rb, & &1.5172e+01_rb,1.7403e+01_rb,2.0411e+01_rb/) kao(:, 4, 4,14) = (/ & &2.3478e-02_rb,2.6774e+00_rb,5.3500e+00_rb,8.0159e+00_rb,1.0665e+01_rb,1.3289e+01_rb, & &1.5848e+01_rb,1.8161e+01_rb,2.1330e+01_rb/) kao(:, 5, 4,14) = (/ & &2.2944e-02_rb,2.7978e+00_rb,5.5896e+00_rb,8.3727e+00_rb,1.1139e+01_rb,1.3876e+01_rb, & &1.6535e+01_rb,1.8911e+01_rb,2.2278e+01_rb/) kao(:, 1, 5,14) = (/ & &5.2400e-02_rb,2.3882e+00_rb,4.7744e+00_rb,7.1579e+00_rb,9.5370e+00_rb,1.1906e+01_rb, & &1.4251e+01_rb,1.6502e+01_rb,1.9074e+01_rb/) kao(:, 2, 5,14) = (/ & &5.1529e-02_rb,2.5417e+00_rb,5.0820e+00_rb,7.6184e+00_rb,1.0150e+01_rb,1.2670e+01_rb, & &1.5165e+01_rb,1.7564e+01_rb,2.0300e+01_rb/) kao(:, 3, 5,14) = (/ & &5.0713e-02_rb,2.6834e+00_rb,5.3644e+00_rb,8.0415e+00_rb,1.0713e+01_rb,1.3375e+01_rb, & &1.6005e+01_rb,1.8525e+01_rb,2.1426e+01_rb/) kao(:, 4, 5,14) = (/ & &4.9736e-02_rb,2.8194e+00_rb,5.6359e+00_rb,8.4488e+00_rb,1.1255e+01_rb,1.4048e+01_rb, & &1.6805e+01_rb,1.9440e+01_rb,2.2511e+01_rb/) kao(:, 5, 5,14) = (/ & &4.8999e-02_rb,2.9595e+00_rb,5.9157e+00_rb,8.8682e+00_rb,1.1813e+01_rb,1.4742e+01_rb, & &1.7634e+01_rb,2.0380e+01_rb,2.3625e+01_rb/) kao(:, 1, 6,14) = (/ & &1.0351e-01_rb,2.4306e+00_rb,4.8601e+00_rb,7.2890e+00_rb,9.7147e+00_rb,1.2135e+01_rb, & &1.4543e+01_rb,1.6905e+01_rb,1.9429e+01_rb/) kao(:, 2, 6,14) = (/ & &1.0255e-01_rb,2.6140e+00_rb,5.2274e+00_rb,7.8383e+00_rb,1.0448e+01_rb,1.3051e+01_rb, & &1.5640e+01_rb,1.8174e+01_rb,2.0896e+01_rb/) kao(:, 3, 6,14) = (/ & &1.0183e-01_rb,2.7755e+00_rb,5.5503e+00_rb,8.3234e+00_rb,1.1093e+01_rb,1.3857e+01_rb, & &1.6607e+01_rb,1.9300e+01_rb,2.2186e+01_rb/) kao(:, 4, 6,14) = (/ & &1.0081e-01_rb,2.9307e+00_rb,5.8597e+00_rb,8.7876e+00_rb,1.1711e+01_rb,1.4627e+01_rb, & &1.7527e+01_rb,2.0360e+01_rb,2.3422e+01_rb/) kao(:, 5, 6,14) = (/ & &1.0025e-01_rb,3.0883e+00_rb,6.1762e+00_rb,9.2605e+00_rb,1.2342e+01_rb,1.5414e+01_rb, & &1.8466e+01_rb,2.1444e+01_rb,2.4683e+01_rb/) kao(:, 1, 7,14) = (/ & &2.1803e-01_rb,2.4631e+00_rb,4.9259e+00_rb,7.3877e+00_rb,9.8477e+00_rb,1.2306e+01_rb, & &1.4757e+01_rb,1.7182e+01_rb,1.9695e+01_rb/) kao(:, 2, 7,14) = (/ & &2.1806e-01_rb,2.6703e+00_rb,5.3400e+00_rb,8.0091e+00_rb,1.0677e+01_rb,1.3341e+01_rb, & &1.6000e+01_rb,1.8630e+01_rb,2.1354e+01_rb/) kao(:, 3, 7,14) = (/ & &2.1815e-01_rb,2.8507e+00_rb,5.7004e+00_rb,8.5504e+00_rb,1.1399e+01_rb,1.4242e+01_rb, & &1.7080e+01_rb,1.9888e+01_rb,2.2798e+01_rb/) kao(:, 4, 7,14) = (/ & &2.1765e-01_rb,3.0257e+00_rb,6.0505e+00_rb,9.0745e+00_rb,1.2096e+01_rb,1.5115e+01_rb, & &1.8125e+01_rb,2.1099e+01_rb,2.4193e+01_rb/) kao(:, 5, 7,14) = (/ & &2.1725e-01_rb,3.2088e+00_rb,6.4163e+00_rb,9.6232e+00_rb,1.2829e+01_rb,1.6028e+01_rb, & &1.9219e+01_rb,2.2369e+01_rb,2.5657e+01_rb/) kao(:, 1, 8,14) = (/ & &5.5719e-01_rb,2.4793e+00_rb,4.9583e+00_rb,7.4367e+00_rb,9.9152e+00_rb,1.2393e+01_rb, & &1.4868e+01_rb,1.7332e+01_rb,1.9830e+01_rb/) kao(:, 2, 8,14) = (/ & &5.6059e-01_rb,2.7128e+00_rb,5.4248e+00_rb,8.1366e+00_rb,1.0849e+01_rb,1.3560e+01_rb, & &1.6268e+01_rb,1.8965e+01_rb,2.1697e+01_rb/) kao(:, 3, 8,14) = (/ & &5.6435e-01_rb,2.9177e+00_rb,5.8349e+00_rb,8.7514e+00_rb,1.1668e+01_rb,1.4583e+01_rb, & &1.7497e+01_rb,2.0397e+01_rb,2.3335e+01_rb/) kao(:, 4, 8,14) = (/ & &5.6354e-01_rb,3.1161e+00_rb,6.2315e+00_rb,9.3470e+00_rb,1.2462e+01_rb,1.5576e+01_rb, & &1.8684e+01_rb,2.1779e+01_rb,2.4923e+01_rb/) kao(:, 5, 8,14) = (/ & &5.6160e-01_rb,3.3171e+00_rb,6.6335e+00_rb,9.9496e+00_rb,1.3266e+01_rb,1.6580e+01_rb, & &1.9888e+01_rb,2.3183e+01_rb,2.6532e+01_rb/) kao(:, 1, 9,14) = (/ & &2.7023e+00_rb,3.1133e+00_rb,4.9392e+00_rb,7.4089e+00_rb,9.8776e+00_rb,1.2348e+01_rb, & &1.4816e+01_rb,1.7282e+01_rb,1.9755e+01_rb/) kao(:, 2, 9,14) = (/ & &2.7329e+00_rb,3.1899e+00_rb,5.4498e+00_rb,8.1745e+00_rb,1.0899e+01_rb,1.3624e+01_rb, & &1.6348e+01_rb,1.9070e+01_rb,2.1798e+01_rb/) kao(:, 3, 9,14) = (/ & &2.7414e+00_rb,3.2928e+00_rb,5.9087e+00_rb,8.8629e+00_rb,1.1816e+01_rb,1.4770e+01_rb, & &1.7722e+01_rb,2.0675e+01_rb,2.3632e+01_rb/) kao(:, 4, 9,14) = (/ & &2.7386e+00_rb,3.4095e+00_rb,6.3408e+00_rb,9.5112e+00_rb,1.2680e+01_rb,1.5850e+01_rb, & &1.9019e+01_rb,2.2186e+01_rb,2.5359e+01_rb/) kao(:, 5, 9,14) = (/ & &2.7253e+00_rb,3.5556e+00_rb,6.7742e+00_rb,1.0160e+01_rb,1.3547e+01_rb,1.6934e+01_rb, & &2.0319e+01_rb,2.3701e+01_rb,2.7094e+01_rb/) kao(:, 1,10,14) = (/ & &1.4620e+01_rb,1.3012e+01_rb,1.2093e+01_rb,1.1252e+01_rb,1.0888e+01_rb,1.2263e+01_rb, & &1.4693e+01_rb,1.7142e+01_rb,1.9590e+01_rb/) kao(:, 2,10,14) = (/ & &1.4753e+01_rb,1.3186e+01_rb,1.2290e+01_rb,1.1490e+01_rb,1.1589e+01_rb,1.3604e+01_rb, & &1.6324e+01_rb,1.9044e+01_rb,2.1765e+01_rb/) kao(:, 3,10,14) = (/ & &1.4775e+01_rb,1.3219e+01_rb,1.2416e+01_rb,1.1687e+01_rb,1.2328e+01_rb,1.4817e+01_rb, & &1.7779e+01_rb,2.0743e+01_rb,2.3705e+01_rb/) kao(:, 4,10,14) = (/ & &1.4749e+01_rb,1.3203e+01_rb,1.2546e+01_rb,1.1974e+01_rb,1.3088e+01_rb,1.5981e+01_rb, & &1.9178e+01_rb,2.2373e+01_rb,2.5570e+01_rb/) kao(:, 5,10,14) = (/ & &1.4700e+01_rb,1.3186e+01_rb,1.2659e+01_rb,1.2331e+01_rb,1.3931e+01_rb,1.7138e+01_rb, & &2.0565e+01_rb,2.3991e+01_rb,2.7418e+01_rb/) kao(:, 1,11,14) = (/ & &2.7410e+01_rb,2.3992e+01_rb,2.1335e+01_rb,1.9158e+01_rb,1.6847e+01_rb,1.4928e+01_rb, & &1.5265e+01_rb,1.7677e+01_rb,2.0202e+01_rb/) kao(:, 2,11,14) = (/ & &2.7494e+01_rb,2.4097e+01_rb,2.1553e+01_rb,1.9434e+01_rb,1.7307e+01_rb,1.5809e+01_rb, & &1.6793e+01_rb,1.9551e+01_rb,2.2343e+01_rb/) kao(:, 3,11,14) = (/ & &2.7540e+01_rb,2.4181e+01_rb,2.1730e+01_rb,1.9742e+01_rb,1.7701e+01_rb,1.6732e+01_rb, & &1.8269e+01_rb,2.1306e+01_rb,2.4350e+01_rb/) kao(:, 4,11,14) = (/ & &2.7514e+01_rb,2.4204e+01_rb,2.1897e+01_rb,2.0034e+01_rb,1.8171e+01_rb,1.7696e+01_rb, & &1.9766e+01_rb,2.3053e+01_rb,2.6341e+01_rb/) kao(:, 5,11,14) = (/ & &2.7458e+01_rb,2.4204e+01_rb,2.2040e+01_rb,2.0324e+01_rb,1.8730e+01_rb,1.8750e+01_rb, & &2.1236e+01_rb,2.4764e+01_rb,2.8296e+01_rb/) kao(:, 1,12,14) = (/ & &3.7739e+01_rb,3.3022e+01_rb,2.9081e+01_rb,2.5731e+01_rb,2.2384e+01_rb,1.9192e+01_rb, & &1.6882e+01_rb,1.7924e+01_rb,2.0483e+01_rb/) kao(:, 2,12,14) = (/ & &3.7888e+01_rb,3.3157e+01_rb,2.9316e+01_rb,2.6118e+01_rb,2.2987e+01_rb,1.9918e+01_rb, & &1.8210e+01_rb,1.9805e+01_rb,2.2631e+01_rb/) kao(:, 3,12,14) = (/ & &3.7945e+01_rb,3.3236e+01_rb,2.9563e+01_rb,2.6509e+01_rb,2.3567e+01_rb,2.0714e+01_rb, & &1.9521e+01_rb,2.1672e+01_rb,2.4760e+01_rb/) kao(:, 4,12,14) = (/ & &3.7956e+01_rb,3.3289e+01_rb,2.9765e+01_rb,2.6932e+01_rb,2.4108e+01_rb,2.1541e+01_rb, & &2.0877e+01_rb,2.3478e+01_rb,2.6821e+01_rb/) kao(:, 5,12,14) = (/ & &3.7967e+01_rb,3.3331e+01_rb,2.9953e+01_rb,2.7347e+01_rb,2.4651e+01_rb,2.2457e+01_rb, & &2.2265e+01_rb,2.5248e+01_rb,2.8840e+01_rb/) kao(:, 1,13,14) = (/ & &4.1396e+01_rb,3.6239e+01_rb,3.2059e+01_rb,2.8493e+01_rb,2.4944e+01_rb,2.1585e+01_rb, & &1.8204e+01_rb,1.7791e+01_rb,2.0316e+01_rb/) kao(:, 2,13,14) = (/ & &4.1543e+01_rb,3.6421e+01_rb,3.2427e+01_rb,2.9033e+01_rb,2.5736e+01_rb,2.2468e+01_rb, & &1.9493e+01_rb,1.9781e+01_rb,2.2598e+01_rb/) kao(:, 3,13,14) = (/ & &4.1678e+01_rb,3.6592e+01_rb,3.2739e+01_rb,2.9584e+01_rb,2.6500e+01_rb,2.3336e+01_rb, & &2.0749e+01_rb,2.1701e+01_rb,2.4790e+01_rb/) kao(:, 4,13,14) = (/ & &4.1767e+01_rb,3.6719e+01_rb,3.3041e+01_rb,3.0106e+01_rb,2.7204e+01_rb,2.4205e+01_rb, & &2.2086e+01_rb,2.3604e+01_rb,2.6962e+01_rb/) kao(:, 5,13,14) = (/ & &4.1856e+01_rb,3.6841e+01_rb,3.3340e+01_rb,3.0667e+01_rb,2.7878e+01_rb,2.5159e+01_rb, & &2.3471e+01_rb,2.5553e+01_rb,2.9188e+01_rb/) kao(:, 1, 1,15) = (/ & &4.1661e-03_rb,3.0613e+00_rb,6.0764e+00_rb,9.0246e+00_rb,1.1861e+01_rb,1.4480e+01_rb, & &1.6622e+01_rb,1.7284e+01_rb,2.3722e+01_rb/) kao(:, 2, 1,15) = (/ & &4.0148e-03_rb,3.1418e+00_rb,6.2320e+00_rb,9.2486e+00_rb,1.2140e+01_rb,1.4819e+01_rb, & &1.7035e+01_rb,1.7764e+01_rb,2.4279e+01_rb/) kao(:, 3, 1,15) = (/ & &3.8658e-03_rb,3.2144e+00_rb,6.3745e+00_rb,9.4527e+00_rb,1.2398e+01_rb,1.5111e+01_rb, & &1.7346e+01_rb,1.8143e+01_rb,2.4796e+01_rb/) kao(:, 4, 1,15) = (/ & &3.7196e-03_rb,3.2826e+00_rb,6.5071e+00_rb,9.6422e+00_rb,1.2633e+01_rb,1.5374e+01_rb, & &1.7599e+01_rb,1.8433e+01_rb,2.5267e+01_rb/) kao(:, 5, 1,15) = (/ & &3.5761e-03_rb,3.3515e+00_rb,6.6395e+00_rb,9.8324e+00_rb,1.2873e+01_rb,1.5639e+01_rb, & &1.7844e+01_rb,1.8646e+01_rb,2.5747e+01_rb/) kao(:, 1, 2,15) = (/ & &6.8577e-03_rb,3.3744e+00_rb,6.7125e+00_rb,9.9952e+00_rb,1.3184e+01_rb,1.6201e+01_rb, & &1.8839e+01_rb,2.0375e+01_rb,2.6368e+01_rb/) kao(:, 2, 2,15) = (/ & &6.5948e-03_rb,3.4888e+00_rb,6.9393e+00_rb,1.0331e+01_rb,1.3623e+01_rb,1.6730e+01_rb, & &1.9423e+01_rb,2.0902e+01_rb,2.7246e+01_rb/) kao(:, 3, 2,15) = (/ & &6.3372e-03_rb,3.5940e+00_rb,7.1483e+00_rb,1.0636e+01_rb,1.4019e+01_rb,1.7199e+01_rb, & &1.9946e+01_rb,2.1371e+01_rb,2.8038e+01_rb/) kao(:, 4, 2,15) = (/ & &6.0860e-03_rb,3.6975e+00_rb,7.3505e+00_rb,1.0936e+01_rb,1.4402e+01_rb,1.7655e+01_rb, & &2.0430e+01_rb,2.1802e+01_rb,2.8803e+01_rb/) kao(:, 5, 2,15) = (/ & &5.8418e-03_rb,3.7949e+00_rb,7.5419e+00_rb,1.1217e+01_rb,1.4770e+01_rb,1.8090e+01_rb, & &2.0913e+01_rb,2.2203e+01_rb,2.9539e+01_rb/) kao(:, 1, 3,15) = (/ & &1.5312e-02_rb,3.7161e+00_rb,7.4117e+00_rb,1.1074e+01_rb,1.4677e+01_rb,1.8180e+01_rb, & &2.1427e+01_rb,2.3812e+01_rb,2.9355e+01_rb/) kao(:, 2, 3,15) = (/ & &1.4697e-02_rb,3.8703e+00_rb,7.7181e+00_rb,1.1532e+01_rb,1.5288e+01_rb,1.8926e+01_rb, & &2.2293e+01_rb,2.4742e+01_rb,3.0575e+01_rb/) kao(:, 3, 3,15) = (/ & &1.4095e-02_rb,4.0069e+00_rb,7.9901e+00_rb,1.1939e+01_rb,1.5823e+01_rb,1.9587e+01_rb, & &2.3063e+01_rb,2.5568e+01_rb,3.1646e+01_rb/) kao(:, 4, 3,15) = (/ & &1.3512e-02_rb,4.1402e+00_rb,8.2563e+00_rb,1.2333e+01_rb,1.6342e+01_rb,2.0226e+01_rb, & &2.3806e+01_rb,2.6351e+01_rb,3.2684e+01_rb/) kao(:, 5, 3,15) = (/ & &1.2949e-02_rb,4.2659e+00_rb,8.5058e+00_rb,1.2707e+01_rb,1.6836e+01_rb,2.0833e+01_rb, & &2.4517e+01_rb,2.7109e+01_rb,3.3673e+01_rb/) kao(:, 1, 4,15) = (/ & &3.5017e-02_rb,4.0833e+00_rb,8.1553e+00_rb,1.2211e+01_rb,1.6236e+01_rb,2.0204e+01_rb, & &2.4024e+01_rb,2.7316e+01_rb,3.2472e+01_rb/) kao(:, 2, 4,15) = (/ & &3.3537e-02_rb,4.2828e+00_rb,8.5541e+00_rb,1.2808e+01_rb,1.7029e+01_rb,2.1189e+01_rb, & &2.5196e+01_rb,2.8637e+01_rb,3.4057e+01_rb/) kao(:, 3, 4,15) = (/ & &3.2113e-02_rb,4.4600e+00_rb,8.9081e+00_rb,1.3336e+01_rb,1.7733e+01_rb,2.2059e+01_rb, & &2.6228e+01_rb,2.9796e+01_rb,3.5465e+01_rb/) kao(:, 4, 4,15) = (/ & &3.0746e-02_rb,4.6307e+00_rb,9.2473e+00_rb,1.3839e+01_rb,1.8403e+01_rb,2.2892e+01_rb, & &2.7214e+01_rb,3.0894e+01_rb,3.6805e+01_rb/) kao(:, 5, 4,15) = (/ & &2.9433e-02_rb,4.7874e+00_rb,9.5611e+00_rb,1.4314e+01_rb,1.9029e+01_rb,2.3669e+01_rb, & &2.8132e+01_rb,3.1929e+01_rb,3.8057e+01_rb/) kao(:, 1, 5,15) = (/ & &7.3896e-02_rb,4.4639e+00_rb,8.9220e+00_rb,1.3370e+01_rb,1.7804e+01_rb,2.2204e+01_rb, & &2.6523e+01_rb,3.0537e+01_rb,3.5608e+01_rb/) kao(:, 2, 5,15) = (/ & &7.0692e-02_rb,4.7138e+00_rb,9.4187e+00_rb,1.4116e+01_rb,1.8797e+01_rb,2.3443e+01_rb, & &2.8005e+01_rb,3.2244e+01_rb,3.7595e+01_rb/) kao(:, 3, 5,15) = (/ & &6.7622e-02_rb,4.9383e+00_rb,9.8707e+00_rb,1.4791e+01_rb,1.9696e+01_rb,2.4560e+01_rb, & &2.9335e+01_rb,3.3760e+01_rb,3.9391e+01_rb/) kao(:, 4, 5,15) = (/ & &6.4677e-02_rb,5.1515e+00_rb,1.0296e+01_rb,1.5428e+01_rb,2.0542e+01_rb,2.5616e+01_rb, & &3.0597e+01_rb,3.5203e+01_rb,4.1084e+01_rb/) kao(:, 5, 5,15) = (/ & &6.1858e-02_rb,5.3461e+00_rb,1.0685e+01_rb,1.6012e+01_rb,2.1318e+01_rb,2.6583e+01_rb, & &3.1750e+01_rb,3.6527e+01_rb,4.2635e+01_rb/) kao(:, 1, 6,15) = (/ & &1.4684e-01_rb,4.8264e+00_rb,9.6500e+00_rb,1.4468e+01_rb,1.9279e+01_rb,2.4068e+01_rb, & &2.8816e+01_rb,3.3389e+01_rb,3.8558e+01_rb/) kao(:, 2, 6,15) = (/ & &1.4028e-01_rb,5.1303e+00_rb,1.0258e+01_rb,1.5380e+01_rb,2.0490e+01_rb,2.5585e+01_rb, & &3.0631e+01_rb,3.5492e+01_rb,4.0980e+01_rb/) kao(:, 3, 6,15) = (/ & &1.3401e-01_rb,5.4150e+00_rb,1.0825e+01_rb,1.6231e+01_rb,2.1624e+01_rb,2.7001e+01_rb, & &3.2322e+01_rb,3.7445e+01_rb,4.3249e+01_rb/) kao(:, 4, 6,15) = (/ & &1.2806e-01_rb,5.6771e+00_rb,1.1351e+01_rb,1.7018e+01_rb,2.2674e+01_rb,2.8310e+01_rb, & &3.3887e+01_rb,3.9255e+01_rb,4.5348e+01_rb/) kao(:, 5, 6,15) = (/ & &1.2235e-01_rb,5.9138e+00_rb,1.1824e+01_rb,1.7725e+01_rb,2.3617e+01_rb,2.9485e+01_rb, & &3.5301e+01_rb,4.0890e+01_rb,4.7234e+01_rb/) kao(:, 1, 7,15) = (/ & &3.0725e-01_rb,5.1535e+00_rb,1.0306e+01_rb,1.5454e+01_rb,2.0602e+01_rb,2.5736e+01_rb, & &3.0848e+01_rb,3.5878e+01_rb,4.1204e+01_rb/) kao(:, 2, 7,15) = (/ & &2.9321e-01_rb,5.5259e+00_rb,1.1050e+01_rb,1.6570e+01_rb,2.2088e+01_rb,2.7592e+01_rb, & &3.3073e+01_rb,3.8464e+01_rb,4.4176e+01_rb/) kao(:, 3, 7,15) = (/ & &2.7993e-01_rb,5.8735e+00_rb,1.1744e+01_rb,1.7612e+01_rb,2.3476e+01_rb,2.9329e+01_rb, & &3.5155e+01_rb,4.0875e+01_rb,4.6953e+01_rb/) kao(:, 4, 7,15) = (/ & &2.6791e-01_rb,6.1876e+00_rb,1.2373e+01_rb,1.8557e+01_rb,2.4734e+01_rb,3.0898e+01_rb, & &3.7039e+01_rb,4.3070e+01_rb,4.9468e+01_rb/) kao(:, 5, 7,15) = (/ & &2.5886e-01_rb,6.4685e+00_rb,1.2934e+01_rb,1.9398e+01_rb,2.5854e+01_rb,3.2302e+01_rb, & &3.8716e+01_rb,4.5022e+01_rb,5.1708e+01_rb/) kao(:, 1, 8,15) = (/ & &7.7279e-01_rb,5.4596e+00_rb,1.0918e+01_rb,1.6376e+01_rb,2.1832e+01_rb,2.7286e+01_rb, & &3.2729e+01_rb,3.8130e+01_rb,4.3663e+01_rb/) kao(:, 2, 8,15) = (/ & &7.3823e-01_rb,5.9033e+00_rb,1.1807e+01_rb,1.7707e+01_rb,2.3607e+01_rb,2.9503e+01_rb, & &3.5387e+01_rb,4.1229e+01_rb,4.7214e+01_rb/) kao(:, 3, 8,15) = (/ & &7.0825e-01_rb,6.3158e+00_rb,1.2632e+01_rb,1.8945e+01_rb,2.5259e+01_rb,3.1562e+01_rb, & &3.7862e+01_rb,4.4105e+01_rb,5.0517e+01_rb/) kao(:, 4, 8,15) = (/ & &6.8827e-01_rb,6.6883e+00_rb,1.3376e+01_rb,2.0062e+01_rb,2.6743e+01_rb,3.3422e+01_rb, & &4.0088e+01_rb,4.6704e+01_rb,5.3485e+01_rb/) kao(:, 5, 8,15) = (/ & &6.7674e-01_rb,7.0269e+00_rb,1.4054e+01_rb,2.1077e+01_rb,2.8099e+01_rb,3.5115e+01_rb, & &4.2117e+01_rb,4.9067e+01_rb,5.6197e+01_rb/) kao(:, 1, 9,15) = (/ & &3.6929e+00_rb,5.7245e+00_rb,1.1448e+01_rb,1.7170e+01_rb,2.2894e+01_rb,2.8616e+01_rb, & &3.4335e+01_rb,4.0048e+01_rb,4.5789e+01_rb/) kao(:, 2, 9,15) = (/ & &3.5483e+00_rb,6.2547e+00_rb,1.2509e+01_rb,1.8761e+01_rb,2.5016e+01_rb,3.1268e+01_rb, & &3.7517e+01_rb,4.3757e+01_rb,5.0032e+01_rb/) kao(:, 3, 9,15) = (/ & &3.4652e+00_rb,6.7430e+00_rb,1.3484e+01_rb,2.0224e+01_rb,2.6965e+01_rb,3.3705e+01_rb, & &4.0443e+01_rb,4.7167e+01_rb,5.3930e+01_rb/) kao(:, 4, 9,15) = (/ & &3.4260e+00_rb,7.1974e+00_rb,1.4393e+01_rb,2.1588e+01_rb,2.8784e+01_rb,3.5977e+01_rb, & &4.3167e+01_rb,5.0348e+01_rb,5.7567e+01_rb/) kao(:, 5, 9,15) = (/ & &3.4123e+00_rb,7.6134e+00_rb,1.5225e+01_rb,2.2838e+01_rb,3.0451e+01_rb,3.8059e+01_rb, & &4.5665e+01_rb,5.3256e+01_rb,6.0901e+01_rb/) kao(:, 1,10,15) = (/ & &1.9879e+01_rb,1.7395e+01_rb,1.5929e+01_rb,1.8251e+01_rb,2.3917e+01_rb,2.9895e+01_rb, & &3.5873e+01_rb,4.1851e+01_rb,4.7831e+01_rb/) kao(:, 2,10,15) = (/ & &1.9461e+01_rb,1.7089e+01_rb,1.6077e+01_rb,1.9823e+01_rb,2.6409e+01_rb,3.3015e+01_rb, & &3.9616e+01_rb,4.6210e+01_rb,5.2815e+01_rb/) kao(:, 3,10,15) = (/ & &1.9336e+01_rb,1.7101e+01_rb,1.6570e+01_rb,2.1574e+01_rb,2.8765e+01_rb,3.5957e+01_rb, & &4.3144e+01_rb,5.0330e+01_rb,5.7526e+01_rb/) kao(:, 4,10,15) = (/ & &1.9333e+01_rb,1.7178e+01_rb,1.7183e+01_rb,2.3203e+01_rb,3.0928e+01_rb,3.8662e+01_rb, & &4.6389e+01_rb,5.4117e+01_rb,6.1850e+01_rb/) kao(:, 5,10,15) = (/ & &1.9454e+01_rb,1.7376e+01_rb,1.7879e+01_rb,2.4671e+01_rb,3.2892e+01_rb,4.1116e+01_rb, & &4.9334e+01_rb,5.7555e+01_rb,6.5778e+01_rb/) kao(:, 1,11,15) = (/ & &3.7918e+01_rb,3.3177e+01_rb,2.9050e+01_rb,2.5728e+01_rb,2.6964e+01_rb,3.2638e+01_rb, & &3.9160e+01_rb,4.5686e+01_rb,5.2215e+01_rb/) kao(:, 2,11,15) = (/ & &3.7982e+01_rb,3.3235e+01_rb,2.9190e+01_rb,2.6661e+01_rb,2.9222e+01_rb,3.6220e+01_rb, & &4.3460e+01_rb,5.0704e+01_rb,5.7949e+01_rb/) kao(:, 3,11,15) = (/ & &3.8191e+01_rb,3.3419e+01_rb,2.9491e+01_rb,2.7784e+01_rb,3.1731e+01_rb,3.9527e+01_rb, & &4.7423e+01_rb,5.5330e+01_rb,6.3238e+01_rb/) kao(:, 4,11,15) = (/ & &3.8572e+01_rb,3.3751e+01_rb,2.9960e+01_rb,2.8966e+01_rb,3.4093e+01_rb,4.2514e+01_rb, & &5.1014e+01_rb,5.9516e+01_rb,6.8017e+01_rb/) kao(:, 5,11,15) = (/ & &3.9093e+01_rb,3.4206e+01_rb,3.0547e+01_rb,3.0263e+01_rb,3.6228e+01_rb,4.5245e+01_rb, & &5.4290e+01_rb,6.3320e+01_rb,7.2371e+01_rb/) kao(:, 1,12,15) = (/ & &5.5475e+01_rb,4.8541e+01_rb,4.2038e+01_rb,3.6129e+01_rb,3.3332e+01_rb,3.5714e+01_rb, & &4.2669e+01_rb,4.9771e+01_rb,5.6891e+01_rb/) kao(:, 2,12,15) = (/ & &5.6059e+01_rb,4.9052e+01_rb,4.2754e+01_rb,3.7078e+01_rb,3.5375e+01_rb,3.9558e+01_rb, & &4.7442e+01_rb,5.5347e+01_rb,6.3258e+01_rb/) kao(:, 3,12,15) = (/ & &5.6760e+01_rb,4.9664e+01_rb,4.3494e+01_rb,3.8346e+01_rb,3.7575e+01_rb,4.3186e+01_rb, & &5.1821e+01_rb,6.0453e+01_rb,6.9095e+01_rb/) kao(:, 4,12,15) = (/ & &5.7648e+01_rb,5.0443e+01_rb,4.4349e+01_rb,3.9649e+01_rb,3.9898e+01_rb,4.6561e+01_rb, & &5.5869e+01_rb,6.5177e+01_rb,7.4491e+01_rb/) kao(:, 5,12,15) = (/ & &5.8564e+01_rb,5.1244e+01_rb,4.5202e+01_rb,4.0926e+01_rb,4.2120e+01_rb,4.9601e+01_rb, & &5.9519e+01_rb,6.9433e+01_rb,7.9355e+01_rb/) kao(:, 1,13,15) = (/ & &6.5843e+01_rb,5.7608e+01_rb,4.9977e+01_rb,4.3124e+01_rb,3.8891e+01_rb,3.9628e+01_rb, & &4.6579e+01_rb,5.4339e+01_rb,6.2102e+01_rb/) kao(:, 2,13,15) = (/ & &6.6934e+01_rb,5.8564e+01_rb,5.1105e+01_rb,4.4471e+01_rb,4.1117e+01_rb,4.3582e+01_rb, & &5.1721e+01_rb,6.0334e+01_rb,6.8958e+01_rb/) kao(:, 3,13,15) = (/ & &6.8030e+01_rb,5.9532e+01_rb,5.2179e+01_rb,4.5978e+01_rb,4.3480e+01_rb,4.7374e+01_rb, & &5.6498e+01_rb,6.5896e+01_rb,7.5328e+01_rb/) kao(:, 4,13,15) = (/ & &6.9202e+01_rb,6.0551e+01_rb,5.3246e+01_rb,4.7483e+01_rb,4.5884e+01_rb,5.0923e+01_rb, & &6.0842e+01_rb,7.0980e+01_rb,8.1125e+01_rb/) kao(:, 5,13,15) = (/ & &7.0366e+01_rb,6.1567e+01_rb,5.4251e+01_rb,4.8884e+01_rb,4.8138e+01_rb,5.4098e+01_rb, & &6.4681e+01_rb,7.5454e+01_rb,8.6236e+01_rb/) kao(:, 1, 1,16) = (/ & &4.2680e-03_rb,4.0094e+00_rb,7.9109e+00_rb,1.1649e+01_rb,1.5123e+01_rb,1.8131e+01_rb, & &2.0185e+01_rb,1.9759e+01_rb,3.0246e+01_rb/) kao(:, 2, 1,16) = (/ & &4.1096e-03_rb,4.1769e+00_rb,8.2411e+00_rb,1.2134e+01_rb,1.5754e+01_rb,1.8883e+01_rb, & &2.1013e+01_rb,2.0555e+01_rb,3.1509e+01_rb/) kao(:, 3, 1,16) = (/ & &3.9552e-03_rb,4.3246e+00_rb,8.5324e+00_rb,1.2562e+01_rb,1.6307e+01_rb,1.9544e+01_rb, & &2.1743e+01_rb,2.1252e+01_rb,3.2613e+01_rb/) kao(:, 4, 1,16) = (/ & &3.8024e-03_rb,4.4537e+00_rb,8.7866e+00_rb,1.2936e+01_rb,1.6790e+01_rb,2.0122e+01_rb, & &2.2380e+01_rb,2.1858e+01_rb,3.3579e+01_rb/) kao(:, 5, 1,16) = (/ & &3.6530e-03_rb,4.5661e+00_rb,9.0077e+00_rb,1.3262e+01_rb,1.7211e+01_rb,2.0624e+01_rb, & &2.2936e+01_rb,2.2383e+01_rb,3.4420e+01_rb/) kao(:, 1, 2,16) = (/ & &7.0518e-03_rb,4.7486e+00_rb,9.4112e+00_rb,1.3945e+01_rb,1.8257e+01_rb,2.2167e+01_rb, & &2.5197e+01_rb,2.5646e+01_rb,3.6513e+01_rb/) kao(:, 2, 2,16) = (/ & &6.7731e-03_rb,4.9653e+00_rb,9.8411e+00_rb,1.4578e+01_rb,1.9087e+01_rb,2.3173e+01_rb, & &2.6338e+01_rb,2.6795e+01_rb,3.8174e+01_rb/) kao(:, 3, 2,16) = (/ & &6.4989e-03_rb,5.1561e+00_rb,1.0219e+01_rb,1.5138e+01_rb,1.9822e+01_rb,2.4059e+01_rb, & &2.7344e+01_rb,2.7802e+01_rb,3.9644e+01_rb/) kao(:, 4, 2,16) = (/ & &6.2358e-03_rb,5.3229e+00_rb,1.0548e+01_rb,1.5628e+01_rb,2.0461e+01_rb,2.4836e+01_rb, & &2.8225e+01_rb,2.8690e+01_rb,4.0921e+01_rb/) kao(:, 5, 2,16) = (/ & &5.9777e-03_rb,5.4686e+00_rb,1.0838e+01_rb,1.6055e+01_rb,2.1017e+01_rb,2.5512e+01_rb, & &2.8989e+01_rb,2.9460e+01_rb,4.2034e+01_rb/) kao(:, 1, 3,16) = (/ & &1.5841e-02_rb,5.5685e+00_rb,1.1089e+01_rb,1.6529e+01_rb,2.1842e+01_rb,2.6900e+01_rb, & &3.1365e+01_rb,3.3823e+01_rb,4.3684e+01_rb/) kao(:, 2, 3,16) = (/ & &1.5180e-02_rb,5.8535e+00_rb,1.1654e+01_rb,1.7376e+01_rb,2.2954e+01_rb,2.8269e+01_rb, & &3.2966e+01_rb,3.5548e+01_rb,4.5909e+01_rb/) kao(:, 3, 3,16) = (/ & &1.4542e-02_rb,6.1037e+00_rb,1.2154e+01_rb,1.8119e+01_rb,2.3939e+01_rb,2.9482e+01_rb, & &3.4375e+01_rb,3.7061e+01_rb,4.7877e+01_rb/) kao(:, 4, 3,16) = (/ & &1.3926e-02_rb,6.3236e+00_rb,1.2592e+01_rb,1.8771e+01_rb,2.4803e+01_rb,3.0545e+01_rb, & &3.5612e+01_rb,3.8393e+01_rb,4.9606e+01_rb/) kao(:, 5, 3,16) = (/ & &1.3332e-02_rb,6.5149e+00_rb,1.2971e+01_rb,1.9341e+01_rb,2.5553e+01_rb,3.1470e+01_rb, & &3.6691e+01_rb,3.9549e+01_rb,5.1106e+01_rb/) kao(:, 1, 4,16) = (/ & &3.6504e-02_rb,6.4847e+00_rb,1.2941e+01_rb,1.9357e+01_rb,2.5697e+01_rb,3.1893e+01_rb, & &3.7735e+01_rb,4.2276e+01_rb,5.1393e+01_rb/) kao(:, 2, 4,16) = (/ & &3.4931e-02_rb,6.8562e+00_rb,1.3684e+01_rb,2.0466e+01_rb,2.7170e+01_rb,3.3719e+01_rb, & &3.9896e+01_rb,4.4696e+01_rb,5.4340e+01_rb/) kao(:, 3, 4,16) = (/ & &3.3404e-02_rb,7.1832e+00_rb,1.4337e+01_rb,2.1441e+01_rb,2.8465e+01_rb,3.5334e+01_rb, & &4.1803e+01_rb,4.6838e+01_rb,5.6929e+01_rb/) kao(:, 4, 4,16) = (/ & &3.1940e-02_rb,7.4729e+00_rb,1.4911e+01_rb,2.2302e+01_rb,2.9607e+01_rb,3.6753e+01_rb, & &4.3482e+01_rb,4.8710e+01_rb,5.9213e+01_rb/) kao(:, 5, 4,16) = (/ & &3.0537e-02_rb,7.7225e+00_rb,1.5413e+01_rb,2.3052e+01_rb,3.0605e+01_rb,3.7982e+01_rb, & &4.4943e+01_rb,5.0367e+01_rb,6.1209e+01_rb/) kao(:, 1, 5,16) = (/ & &7.7459e-02_rb,7.5153e+00_rb,1.5015e+01_rb,2.2490e+01_rb,2.9920e+01_rb,3.7263e+01_rb, & &4.4388e+01_rb,5.0697e+01_rb,5.9839e+01_rb/) kao(:, 2, 5,16) = (/ & &7.3973e-02_rb,7.9956e+00_rb,1.5974e+01_rb,2.3926e+01_rb,3.1831e+01_rb,3.9653e+01_rb, & &4.7235e+01_rb,5.3936e+01_rb,6.3661e+01_rb/) kao(:, 3, 5,16) = (/ & &7.0652e-02_rb,8.4194e+00_rb,1.6824e+01_rb,2.5198e+01_rb,3.3521e+01_rb,4.1754e+01_rb, & &4.9742e+01_rb,5.6808e+01_rb,6.7041e+01_rb/) kao(:, 4, 5,16) = (/ & &6.7486e-02_rb,8.7920e+00_rb,1.7565e+01_rb,2.6310e+01_rb,3.5003e+01_rb,4.3595e+01_rb, & &5.1933e+01_rb,5.9317e+01_rb,7.0006e+01_rb/) kao(:, 5, 5,16) = (/ & &6.4478e-02_rb,9.1159e+00_rb,1.8215e+01_rb,2.7284e+01_rb,3.6299e+01_rb,4.5208e+01_rb, & &5.3851e+01_rb,6.1525e+01_rb,7.2598e+01_rb/) kao(:, 1, 6,16) = (/ & &1.5475e-01_rb,8.6422e+00_rb,1.7275e+01_rb,2.5892e+01_rb,3.4482e+01_rb,4.3028e+01_rb, & &5.1423e+01_rb,5.9299e+01_rb,6.8964e+01_rb/) kao(:, 2, 6,16) = (/ & &1.4760e-01_rb,9.2603e+00_rb,1.8510e+01_rb,2.7740e+01_rb,3.6952e+01_rb,4.6093e+01_rb, & &5.5105e+01_rb,6.3549e+01_rb,7.3905e+01_rb/) kao(:, 3, 6,16) = (/ & &1.4090e-01_rb,9.8052e+00_rb,1.9599e+01_rb,2.9376e+01_rb,3.9123e+01_rb,4.8807e+01_rb, & &5.8340e+01_rb,6.7288e+01_rb,7.8246e+01_rb/) kao(:, 4, 6,16) = (/ & &1.3455e-01_rb,1.0284e+01_rb,2.0553e+01_rb,3.0809e+01_rb,4.1029e+01_rb,5.1188e+01_rb, & &6.1191e+01_rb,7.0573e+01_rb,8.2057e+01_rb/) kao(:, 5, 6,16) = (/ & &1.2855e-01_rb,1.0696e+01_rb,2.1381e+01_rb,3.2059e+01_rb,4.2695e+01_rb,5.3257e+01_rb, & &6.3651e+01_rb,7.3440e+01_rb,8.5390e+01_rb/) kao(:, 1, 7,16) = (/ & &3.2765e-01_rb,9.8708e+00_rb,1.9738e+01_rb,2.9598e+01_rb,3.9436e+01_rb,4.9244e+01_rb, & &5.8981e+01_rb,6.8395e+01_rb,7.8872e+01_rb/) kao(:, 2, 7,16) = (/ & &3.1237e-01_rb,1.0655e+01_rb,2.1308e+01_rb,3.1948e+01_rb,4.2573e+01_rb,5.3154e+01_rb, & &6.3663e+01_rb,7.3848e+01_rb,8.5146e+01_rb/) kao(:, 3, 7,16) = (/ & &2.9817e-01_rb,1.1348e+01_rb,2.2690e+01_rb,3.4027e+01_rb,4.5330e+01_rb,5.6613e+01_rb, & &6.7816e+01_rb,7.8654e+01_rb,9.0660e+01_rb/) kao(:, 4, 7,16) = (/ & &2.8488e-01_rb,1.1956e+01_rb,2.3907e+01_rb,3.5845e+01_rb,4.7755e+01_rb,5.9649e+01_rb, & &7.1415e+01_rb,8.2866e+01_rb,9.5510e+01_rb/) kao(:, 5, 7,16) = (/ & &2.7283e-01_rb,1.2480e+01_rb,2.4950e+01_rb,3.7415e+01_rb,4.9097e+01_rb,6.2266e+01_rb, & &7.4578e+01_rb,8.6491e+01_rb,9.9702e+01_rb/) kao(:, 1, 8,16) = (/ & &8.3606e-01_rb,1.1195e+01_rb,2.2388e+01_rb,3.3574e+01_rb,4.4755e+01_rb,5.5920e+01_rb, & &6.7048e+01_rb,7.8029e+01_rb,8.9508e+01_rb/) kao(:, 2, 8,16) = (/ & &7.9798e-01_rb,1.2177e+01_rb,2.4351e+01_rb,3.6522e+01_rb,4.8685e+01_rb,6.0830e+01_rb, & &7.2963e+01_rb,8.4892e+01_rb,9.7369e+01_rb/) kao(:, 3, 8,16) = (/ & &7.6304e-01_rb,1.3047e+01_rb,2.6090e+01_rb,3.9130e+01_rb,5.2156e+01_rb,6.5163e+01_rb, & &7.8140e+01_rb,9.0945e+01_rb,1.0431e+02_rb/) kao(:, 4, 8,16) = (/ & &7.3296e-01_rb,1.3800e+01_rb,2.7601e+01_rb,4.1393e+01_rb,5.5174e+01_rb,6.8947e+01_rb, & &8.2670e+01_rb,9.6216e+01_rb,1.1035e+02_rb/) kao(:, 5, 8,16) = (/ & &7.2250e-01_rb,1.4453e+01_rb,2.8899e+01_rb,4.3348e+01_rb,5.7784e+01_rb,7.2193e+01_rb, & &8.6582e+01_rb,1.0076e+02_rb,1.1557e+02_rb/) kao(:, 1, 9,16) = (/ & &4.0611e+00_rb,1.2573e+01_rb,2.5149e+01_rb,3.7721e+01_rb,5.0293e+01_rb,6.2854e+01_rb, & &7.5422e+01_rb,8.7942e+01_rb,1.0059e+02_rb/) kao(:, 2, 9,16) = (/ & &3.8919e+00_rb,1.3793e+01_rb,2.7583e+01_rb,4.1373e+01_rb,5.5157e+01_rb,6.8943e+01_rb, & &8.2722e+01_rb,9.6458e+01_rb,1.1031e+02_rb/) kao(:, 3, 9,16) = (/ & &3.7505e+00_rb,1.4863e+01_rb,2.9722e+01_rb,4.4587e+01_rb,5.9447e+01_rb,7.4303e+01_rb, & &8.9145e+01_rb,1.0395e+02_rb,1.1889e+02_rb/) kao(:, 4, 9,16) = (/ & &3.6915e+00_rb,1.5793e+01_rb,3.1587e+01_rb,4.7379e+01_rb,6.3167e+01_rb,7.8955e+01_rb, & &9.4727e+01_rb,1.1046e+02_rb,1.2634e+02_rb/) kao(:, 5, 9,16) = (/ & &3.8118e+00_rb,1.6590e+01_rb,3.3180e+01_rb,4.9767e+01_rb,6.6364e+01_rb,8.2935e+01_rb, & &9.9506e+01_rb,1.1603e+02_rb,1.3273e+02_rb/) kao(:, 1,10,16) = (/ & &2.2252e+01_rb,1.9469e+01_rb,2.8181e+01_rb,4.2271e+01_rb,5.6359e+01_rb,7.0451e+01_rb, & &8.4538e+01_rb,9.8612e+01_rb,1.1272e+02_rb/) kao(:, 2,10,16) = (/ & &2.1525e+01_rb,1.8834e+01_rb,3.1126e+01_rb,4.6690e+01_rb,6.2252e+01_rb,7.7813e+01_rb, & &9.3373e+01_rb,1.0893e+02_rb,1.2450e+02_rb/) kao(:, 3,10,16) = (/ & &2.1146e+01_rb,1.8632e+01_rb,3.3699e+01_rb,5.0550e+01_rb,6.7413e+01_rb,8.4265e+01_rb, & &1.0112e+02_rb,1.1795e+02_rb,1.3483e+02_rb/) kao(:, 4,10,16) = (/ & &2.1709e+01_rb,1.9529e+01_rb,3.5926e+01_rb,5.3893e+01_rb,7.1851e+01_rb,8.9812e+01_rb, & &1.0777e+02_rb,1.2572e+02_rb,1.4370e+02_rb/) kao(:, 5,10,16) = (/ & &2.2565e+01_rb,2.0486e+01_rb,3.7826e+01_rb,5.6738e+01_rb,7.5652e+01_rb,9.4560e+01_rb, & &1.1347e+02_rb,1.3237e+02_rb,1.5131e+02_rb/) kao(:, 1,11,16) = (/ & &4.2772e+01_rb,3.7423e+01_rb,3.4479e+01_rb,4.9359e+01_rb,6.5807e+01_rb,8.2260e+01_rb, & &9.8714e+01_rb,1.1516e+02_rb,1.3161e+02_rb/) kao(:, 2,11,16) = (/ & &4.2480e+01_rb,3.7168e+01_rb,3.6886e+01_rb,5.4309e+01_rb,7.2413e+01_rb,9.0516e+01_rb, & &1.0859e+02_rb,1.2671e+02_rb,1.4483e+02_rb/) kao(:, 3,11,16) = (/ & &4.3695e+01_rb,3.8234e+01_rb,3.9646e+01_rb,5.8582e+01_rb,7.8105e+01_rb,9.7632e+01_rb, & &1.1715e+02_rb,1.3667e+02_rb,1.5621e+02_rb/) kao(:, 4,11,16) = (/ & &4.5497e+01_rb,3.9810e+01_rb,4.2112e+01_rb,6.2236e+01_rb,8.2974e+01_rb,1.0371e+02_rb, & &1.2447e+02_rb,1.4520e+02_rb,1.6595e+02_rb/) kao(:, 5,11,16) = (/ & &4.7319e+01_rb,4.1402e+01_rb,4.4245e+01_rb,6.5288e+01_rb,8.7037e+01_rb,1.0880e+02_rb, & &1.3053e+02_rb,1.5228e+02_rb,1.7407e+02_rb/) kao(:, 1,12,16) = (/ & &6.3760e+01_rb,5.5793e+01_rb,4.7823e+01_rb,5.6928e+01_rb,7.5904e+01_rb,9.4850e+01_rb, & &1.1385e+02_rb,1.3279e+02_rb,1.5181e+02_rb/) kao(:, 2,12,16) = (/ & &6.5427e+01_rb,5.7247e+01_rb,4.9649e+01_rb,6.2349e+01_rb,8.3126e+01_rb,1.0392e+02_rb, & &1.2469e+02_rb,1.4546e+02_rb,1.6625e+02_rb/) kao(:, 3,12,16) = (/ & &6.8202e+01_rb,5.9674e+01_rb,5.2535e+01_rb,6.6975e+01_rb,8.9301e+01_rb,1.1163e+02_rb, & &1.3393e+02_rb,1.5627e+02_rb,1.7860e+02_rb/) kao(:, 4,12,16) = (/ & &7.0922e+01_rb,6.2055e+01_rb,5.5321e+01_rb,7.0905e+01_rb,9.4539e+01_rb,1.1818e+02_rb, & &1.4181e+02_rb,1.6544e+02_rb,1.8908e+02_rb/) kao(:, 5,12,16) = (/ & &7.3649e+01_rb,6.4442e+01_rb,5.7813e+01_rb,7.4307e+01_rb,9.9092e+01_rb,1.2384e+02_rb, & &1.4863e+02_rb,1.7339e+02_rb,1.9818e+02_rb/) kao(:, 1,13,16) = (/ & &7.8782e+01_rb,6.8941e+01_rb,5.9088e+01_rb,6.5861e+01_rb,8.6369e+01_rb,1.0796e+02_rb, & &1.2954e+02_rb,1.5113e+02_rb,1.7274e+02_rb/) kao(:, 2,13,16) = (/ & &8.1731e+01_rb,7.1509e+01_rb,6.1634e+01_rb,7.1635e+01_rb,9.4482e+01_rb,1.1810e+02_rb, & &1.4170e+02_rb,1.6534e+02_rb,1.8896e+02_rb/) kao(:, 3,13,16) = (/ & &8.5240e+01_rb,7.4588e+01_rb,6.4915e+01_rb,7.6648e+01_rb,1.0154e+02_rb,1.2693e+02_rb, & &1.5232e+02_rb,1.7766e+02_rb,2.0308e+02_rb/) kao(:, 4,13,16) = (/ & &8.8622e+01_rb,7.7543e+01_rb,6.7967e+01_rb,8.0867e+01_rb,1.0759e+02_rb,1.3449e+02_rb, & &1.6139e+02_rb,1.8828e+02_rb,2.1519e+02_rb/) kao(:, 5,13,16) = (/ & &9.1737e+01_rb,8.0288e+01_rb,7.0891e+01_rb,8.4742e+01_rb,1.1298e+02_rb,1.4117e+02_rb, & &1.6939e+02_rb,1.9762e+02_rb,2.2595e+02_rb/) ! The array FORREFO contains the coefficient of the water vapor ! foreign-continuum (including the energy term). The first ! index refers to reference temperature (296,260,224,260) and ! pressure (970,475,219,3 mbar) levels. The second index ! runs over the g-channel (1 to 16). forrefo(1,:) = (/ & &1.4739e-04_rb,3.1686e-04_rb,8.5973e-04_rb,1.9039e-03_rb,3.1820e-03_rb,3.6596e-03_rb, & &3.8724e-03_rb,3.6785e-03_rb,3.7141e-03_rb,3.7646e-03_rb,4.2955e-03_rb,4.6343e-03_rb, & &5.0612e-03_rb,4.0227e-03_rb,4.2966e-03_rb,4.6622e-03_rb/) forrefo(2,:) = (/ & &1.9397e-04_rb,3.6322e-04_rb,8.9797e-04_rb,2.1001e-03_rb,3.0307e-03_rb,3.5563e-03_rb, & &3.8498e-03_rb,3.5741e-03_rb,3.5914e-03_rb,3.7658e-03_rb,3.8895e-03_rb,4.4072e-03_rb, & &4.7112e-03_rb,4.2230e-03_rb,4.2666e-03_rb,4.6634e-03_rb/) forrefo(3,:) = (/ & &3.1506e-04_rb,7.3687e-04_rb,1.9678e-03_rb,2.5531e-03_rb,2.8345e-03_rb,2.7809e-03_rb, & &2.9124e-03_rb,2.7125e-03_rb,2.6644e-03_rb,2.4907e-03_rb,2.7032e-03_rb,4.0967e-03_rb, & &4.1971e-03_rb,4.4507e-03_rb,4.2293e-03_rb,4.6633e-03_rb/) forrefo(4,:) = (/ & &8.8196e-04_rb,2.1125e-03_rb,2.8042e-03_rb,2.8891e-03_rb,2.4362e-03_rb,1.8733e-03_rb, & &1.4078e-03_rb,1.1987e-03_rb,1.2808e-03_rb,8.9050e-04_rb,9.4375e-04_rb,7.8351e-04_rb, & &1.0756e-03_rb,1.6586e-03_rb,1.7511e-03_rb,4.7803e-03_rb/) ! The array SELFREFO contains the coefficient of the water vapor ! self-continuum (including the energy term). The first index ! refers to temperature in 7.2 degree increments. For instance, ! JT = 1 refers to a temperature of 245.6, JT = 2 refers to 252.8, ! etc. The second index runs over the g-channel (1 to 16). selfrefo(:, 1) = (/ & & 2.37879e-02_rb, 2.10719e-02_rb, 1.86660e-02_rb, 1.65348e-02_rb, 1.46469e-02_rb, & & 1.29746e-02_rb, 1.14932e-02_rb, 1.01810e-02_rb, 9.01858e-03_rb, 7.98888e-03_rb/) selfrefo(:, 2) = (/ & & 3.10625e-02_rb, 2.82664e-02_rb, 2.57220e-02_rb, 2.34066e-02_rb, 2.12997e-02_rb, & & 1.93824e-02_rb, 1.76377e-02_rb, 1.60500e-02_rb, 1.46053e-02_rb, 1.32906e-02_rb/) selfrefo(:, 3) = (/ & & 5.19103e-02_rb, 4.80004e-02_rb, 4.43850e-02_rb, 4.10419e-02_rb, 3.79506e-02_rb, & & 3.50922e-02_rb, 3.24491e-02_rb, 3.00050e-02_rb, 2.77450e-02_rb, 2.56553e-02_rb/) selfrefo(:, 4) = (/ & & 9.12444e-02_rb, 8.38675e-02_rb, 7.70870e-02_rb, 7.08547e-02_rb, 6.51263e-02_rb, & & 5.98610e-02_rb, 5.50214e-02_rb, 5.05730e-02_rb, 4.64843e-02_rb, 4.27262e-02_rb/) selfrefo(:, 5) = (/ & & 1.11323e-01_rb, 1.04217e-01_rb, 9.75650e-02_rb, 9.13376e-02_rb, 8.55076e-02_rb, & & 8.00498e-02_rb, 7.49403e-02_rb, 7.01570e-02_rb, 6.56790e-02_rb, 6.14868e-02_rb/) selfrefo(:, 6) = (/ & & 1.25301e-01_rb, 1.16877e-01_rb, 1.09020e-01_rb, 1.01691e-01_rb, 9.48543e-02_rb, & & 8.84774e-02_rb, 8.25293e-02_rb, 7.69810e-02_rb, 7.18057e-02_rb, 6.69784e-02_rb/) selfrefo(:, 7) = (/ & & 1.34063e-01_rb, 1.24662e-01_rb, 1.15920e-01_rb, 1.07791e-01_rb, 1.00232e-01_rb, & & 9.32035e-02_rb, 8.66676e-02_rb, 8.05900e-02_rb, 7.49386e-02_rb, 6.96836e-02_rb/) selfrefo(:, 8) = (/ & & 1.26997e-01_rb, 1.18306e-01_rb, 1.10210e-01_rb, 1.02668e-01_rb, 9.56417e-02_rb, & & 8.90964e-02_rb, 8.29991e-02_rb, 7.73190e-02_rb, 7.20276e-02_rb, 6.70984e-02_rb/) selfrefo(:, 9) = (/ & & 1.28823e-01_rb, 1.20235e-01_rb, 1.12220e-01_rb, 1.04739e-01_rb, 9.77569e-02_rb, & & 9.12402e-02_rb, 8.51579e-02_rb, 7.94810e-02_rb, 7.41826e-02_rb, 6.92374e-02_rb/) selfrefo(:,10) = (/ & & 1.35802e-01_rb, 1.25981e-01_rb, 1.16870e-01_rb, 1.08418e-01_rb, 1.00577e-01_rb, & & 9.33034e-02_rb, 8.65557e-02_rb, 8.02960e-02_rb, 7.44890e-02_rb, 6.91020e-02_rb/) selfrefo(:,11) = (/ & & 1.35475e-01_rb, 1.27572e-01_rb, 1.20130e-01_rb, 1.13122e-01_rb, 1.06523e-01_rb, & & 1.00309e-01_rb, 9.44573e-02_rb, 8.89470e-02_rb, 8.37582e-02_rb, 7.88721e-02_rb/) selfrefo(:,12) = (/ & & 1.51195e-01_rb, 1.41159e-01_rb, 1.31790e-01_rb, 1.23043e-01_rb, 1.14876e-01_rb, & & 1.07251e-01_rb, 1.00132e-01_rb, 9.34860e-02_rb, 8.72809e-02_rb, 8.14877e-02_rb/) selfrefo(:,13) = (/ & & 1.57538e-01_rb, 1.47974e-01_rb, 1.38990e-01_rb, 1.30552e-01_rb, 1.22626e-01_rb, & & 1.15181e-01_rb, 1.08188e-01_rb, 1.01620e-01_rb, 9.54505e-02_rb, 8.96556e-02_rb/) selfrefo(:,14) = (/ & & 1.53567e-01_rb, 1.41564e-01_rb, 1.30500e-01_rb, 1.20300e-01_rb, 1.10898e-01_rb, & & 1.02231e-01_rb, 9.42406e-02_rb, 8.68750e-02_rb, 8.00851e-02_rb, 7.38259e-02_rb/) selfrefo(:,15) = (/ & & 1.53687e-01_rb, 1.42981e-01_rb, 1.33020e-01_rb, 1.23753e-01_rb, 1.15132e-01_rb, & & 1.07112e-01_rb, 9.96500e-02_rb, 9.27080e-02_rb, 8.62496e-02_rb, 8.02412e-02_rb/) selfrefo(:,16) = (/ & & 1.65129e-01_rb, 1.53285e-01_rb, 1.42290e-01_rb, 1.32084e-01_rb, 1.22610e-01_rb, & & 1.13815e-01_rb, 1.05651e-01_rb, 9.80730e-02_rb, 9.10384e-02_rb, 8.45083e-02_rb/) end subroutine lw_kgb12 ! ************************************************************************** subroutine lw_kgb13 ! ************************************************************************** use parkind, only : im => kind_im, rb => kind_rb use rrlw_kg13, only : fracrefao, fracrefbo, kao, kao_mco2, kao_mco, & kbo_mo3, selfrefo, forrefo implicit none save ! Planck fraction mapping level : P=473.4280 mb, T = 259.83 K fracrefao(:, 1) = (/ & & 1.7534e-01_rb,1.7394e-01_rb,1.6089e-01_rb,1.3782e-01_rb,1.0696e-01_rb,8.5853e-02_rb, & & 6.6548e-02_rb,4.9053e-02_rb,3.2064e-02_rb,3.4820e-03_rb,2.8763e-03_rb,2.2204e-03_rb, & & 1.5612e-03_rb,9.8572e-04_rb,3.6853e-04_rb,5.1612e-05_rb/) fracrefao(:, 2) = (/ & & 1.7489e-01_rb,1.7309e-01_rb,1.5981e-01_rb,1.3782e-01_rb,1.0797e-01_rb,8.6367e-02_rb, & & 6.7042e-02_rb,4.9257e-02_rb,3.2207e-02_rb,3.4820e-03_rb,2.8767e-03_rb,2.2203e-03_rb, & & 1.5613e-03_rb,9.8571e-04_rb,3.6853e-04_rb,5.1612e-05_rb/) fracrefao(:, 3) = (/ & & 1.7459e-01_rb,1.7259e-01_rb,1.5948e-01_rb,1.3694e-01_rb,1.0815e-01_rb,8.7376e-02_rb, & & 6.7339e-02_rb,4.9541e-02_rb,3.2333e-02_rb,3.5019e-03_rb,2.8958e-03_rb,2.2527e-03_rb, & & 1.6099e-03_rb,9.8574e-04_rb,3.6853e-04_rb,5.1612e-05_rb/) fracrefao(:, 4) = (/ & & 1.7391e-01_rb,1.7244e-01_rb,1.5921e-01_rb,1.3644e-01_rb,1.0787e-01_rb,8.7776e-02_rb, & & 6.8361e-02_rb,4.9628e-02_rb,3.2578e-02_rb,3.5117e-03_rb,2.9064e-03_rb,2.2571e-03_rb, & & 1.6887e-03_rb,1.0045e-03_rb,3.6853e-04_rb,5.1612e-05_rb/) fracrefao(:, 5) = (/ & & 1.7338e-01_rb,1.7157e-01_rb,1.5957e-01_rb,1.3571e-01_rb,1.0773e-01_rb,8.7966e-02_rb, & & 6.9000e-02_rb,5.0300e-02_rb,3.2813e-02_rb,3.5470e-03_rb,2.9425e-03_rb,2.2552e-03_rb, & & 1.7038e-03_rb,1.1025e-03_rb,3.6853e-04_rb,5.1612e-05_rb/) fracrefao(:, 6) = (/ & & 1.7230e-01_rb,1.7082e-01_rb,1.5917e-01_rb,1.3562e-01_rb,1.0806e-01_rb,8.7635e-02_rb, & & 6.9815e-02_rb,5.1155e-02_rb,3.3139e-02_rb,3.6264e-03_rb,2.9436e-03_rb,2.3417e-03_rb, & & 1.7731e-03_rb,1.1156e-03_rb,4.4533e-04_rb,5.1612e-05_rb/) fracrefao(:, 7) = (/ & & 1.7073e-01_rb,1.6961e-01_rb,1.5844e-01_rb,1.3594e-01_rb,1.0821e-01_rb,8.7791e-02_rb, & & 7.0502e-02_rb,5.1904e-02_rb,3.4107e-02_rb,3.5888e-03_rb,2.9574e-03_rb,2.5851e-03_rb, & & 1.9127e-03_rb,1.1537e-03_rb,4.7789e-04_rb,1.0016e-04_rb/) fracrefao(:, 8) = (/ & & 1.6700e-01_rb,1.6848e-01_rb,1.5628e-01_rb,1.3448e-01_rb,1.1011e-01_rb,8.9016e-02_rb, & & 7.1973e-02_rb,5.2798e-02_rb,3.5650e-02_rb,3.8534e-03_rb,3.4142e-03_rb,2.7799e-03_rb, & & 2.1288e-03_rb,1.3043e-03_rb,6.2858e-04_rb,1.0016e-04_rb/) fracrefao(:, 9) = (/ & & 1.6338e-01_rb,1.5565e-01_rb,1.4470e-01_rb,1.3500e-01_rb,1.1909e-01_rb,9.8312e-02_rb, & & 7.9023e-02_rb,5.5728e-02_rb,3.6831e-02_rb,3.6569e-03_rb,3.0552e-03_rb,2.3431e-03_rb, & & 1.7088e-03_rb,1.1082e-03_rb,3.6829e-04_rb,5.1612e-05_rb/) ! Planck fraction mapping level : P=4.758820 mb, T = 250.85 K fracrefbo(:) = (/ & & 1.5411e-01_rb,1.3573e-01_rb,1.2527e-01_rb,1.2698e-01_rb,1.2394e-01_rb,1.0876e-01_rb, & & 8.9906e-02_rb,6.9551e-02_rb,4.8240e-02_rb,5.2434e-03_rb,4.3630e-03_rb,3.4262e-03_rb, & & 2.5124e-03_rb,1.5479e-03_rb,3.7294e-04_rb,5.1050e-05_rb/) ! The array KAO contains absorption coefs for each of the 16 g-intervals ! for a range of pressure levels > ~100mb, temperatures, and ratios ! of water vapor to CO2. The first index in the array, JS, runs ! from 1 to 10, and corresponds to different gas column amount ratios, ! as expressed through the binary species parameter eta, defined as ! eta = gas1/(gas1 + (rat) * gas2), where rat is the ! ratio of the reference MLS column amount value of gas 1 ! to that of gas2. ! The 2nd index in the array, JT, which runs from 1 to 5, corresponds ! to different temperatures. More specifically, JT = 3 means that the ! data are for the reference temperature TREF for this pressure ! level, JT = 2 refers to the temperature ! TREF-15, JT = 1 is for TREF-30, JT = 4 is for TREF+15, and JT = 5 ! is for TREF+30. The third index, JP, runs from 1 to 13 and refers ! to the reference pressure level (e.g. JP = 1 is for a ! pressure of 1053.63 mb). The fourth index, IG, goes from 1 to 16, ! and tells us which g-interval the absorption coefficients are for. kao(:, 1, 1, 1) = (/ & &6.4065e-07_rb,1.0419e-05_rb,1.7041e-05_rb,2.3341e-05_rb,2.9288e-05_rb,3.6860e-05_rb, & &5.2289e-05_rb,7.6369e-05_rb,2.2034e-05_rb/) kao(:, 2, 1, 1) = (/ & &7.4425e-07_rb,1.2994e-05_rb,2.1634e-05_rb,2.9437e-05_rb,3.6128e-05_rb,4.4577e-05_rb, & &5.5507e-05_rb,7.3010e-05_rb,3.0368e-05_rb/) kao(:, 3, 1, 1) = (/ & &9.1477e-07_rb,1.6195e-05_rb,2.7037e-05_rb,3.6851e-05_rb,4.4956e-05_rb,5.3696e-05_rb, & &6.5423e-05_rb,7.7959e-05_rb,3.9940e-05_rb/) kao(:, 4, 1, 1) = (/ & &1.0920e-06_rb,2.0021e-05_rb,3.3475e-05_rb,4.5528e-05_rb,5.5351e-05_rb,6.4790e-05_rb, & &7.8460e-05_rb,9.0393e-05_rb,5.1295e-05_rb/) kao(:, 5, 1, 1) = (/ & &1.3489e-06_rb,2.4363e-05_rb,4.1025e-05_rb,5.5638e-05_rb,6.7646e-05_rb,7.8828e-05_rb, & &9.2175e-05_rb,1.0262e-04_rb,6.4740e-05_rb/) kao(:, 1, 2, 1) = (/ & &9.4474e-07_rb,9.5739e-06_rb,1.4537e-05_rb,1.9319e-05_rb,2.3955e-05_rb,2.8125e-05_rb, & &3.4867e-05_rb,5.4010e-05_rb,1.9403e-05_rb/) kao(:, 2, 2, 1) = (/ & &1.1323e-06_rb,1.1739e-05_rb,1.8325e-05_rb,2.4542e-05_rb,3.0201e-05_rb,3.5031e-05_rb, & &4.2528e-05_rb,5.9167e-05_rb,2.5395e-05_rb/) kao(:, 3, 2, 1) = (/ & &1.3451e-06_rb,1.4450e-05_rb,2.3075e-05_rb,3.0847e-05_rb,3.7507e-05_rb,4.3224e-05_rb, & &5.0526e-05_rb,6.6079e-05_rb,3.2769e-05_rb/) kao(:, 4, 2, 1) = (/ & &1.6171e-06_rb,1.7819e-05_rb,2.8678e-05_rb,3.8333e-05_rb,4.6715e-05_rb,5.3613e-05_rb, & &6.0668e-05_rb,7.1518e-05_rb,4.1642e-05_rb/) kao(:, 5, 2, 1) = (/ & &1.9441e-06_rb,2.1692e-05_rb,3.5243e-05_rb,4.7173e-05_rb,5.7398e-05_rb,6.5939e-05_rb, & &7.3567e-05_rb,8.2891e-05_rb,5.2140e-05_rb/) kao(:, 1, 3, 1) = (/ & &1.9997e-06_rb,1.0333e-05_rb,1.4351e-05_rb,1.7071e-05_rb,1.9818e-05_rb,2.2671e-05_rb, & &2.5587e-05_rb,3.3080e-05_rb,2.1440e-05_rb/) kao(:, 2, 3, 1) = (/ & &2.2813e-06_rb,1.2534e-05_rb,1.7541e-05_rb,2.1448e-05_rb,2.5145e-05_rb,2.8879e-05_rb, & &3.1889e-05_rb,3.7831e-05_rb,2.6738e-05_rb/) kao(:, 3, 3, 1) = (/ & &2.7401e-06_rb,1.5206e-05_rb,2.1444e-05_rb,2.7039e-05_rb,3.1929e-05_rb,3.6455e-05_rb, & &3.9620e-05_rb,4.6057e-05_rb,3.1366e-05_rb/) kao(:, 4, 3, 1) = (/ & &3.2871e-06_rb,1.8031e-05_rb,2.6416e-05_rb,3.3815e-05_rb,3.9999e-05_rb,4.5410e-05_rb, & &4.9342e-05_rb,5.4203e-05_rb,3.7064e-05_rb/) kao(:, 5, 3, 1) = (/ & &3.8869e-06_rb,2.1455e-05_rb,3.2368e-05_rb,4.1756e-05_rb,4.9581e-05_rb,5.6093e-05_rb, & &6.1027e-05_rb,6.5117e-05_rb,4.4920e-05_rb/) kao(:, 1, 4, 1) = (/ & &4.3610e-06_rb,1.3316e-05_rb,1.6242e-05_rb,1.8257e-05_rb,1.9350e-05_rb,2.0037e-05_rb, & &2.0833e-05_rb,2.3040e-05_rb,2.2366e-05_rb/) kao(:, 2, 4, 1) = (/ & &5.0348e-06_rb,1.5693e-05_rb,1.9649e-05_rb,2.2560e-05_rb,2.3970e-05_rb,2.5222e-05_rb, & &2.6081e-05_rb,2.7399e-05_rb,2.7623e-05_rb/) kao(:, 3, 4, 1) = (/ & &5.7893e-06_rb,1.8717e-05_rb,2.3542e-05_rb,2.7248e-05_rb,2.9677e-05_rb,3.1779e-05_rb, & &3.2973e-05_rb,3.3876e-05_rb,3.4347e-05_rb/) kao(:, 4, 4, 1) = (/ & &6.7700e-06_rb,2.2355e-05_rb,2.8015e-05_rb,3.2751e-05_rb,3.6706e-05_rb,3.9566e-05_rb, & &4.1488e-05_rb,4.1986e-05_rb,4.0984e-05_rb/) kao(:, 5, 4, 1) = (/ & &8.0207e-06_rb,2.6505e-05_rb,3.3421e-05_rb,3.9357e-05_rb,4.5121e-05_rb,4.9003e-05_rb, & &5.1776e-05_rb,5.2148e-05_rb,4.7085e-05_rb/) kao(:, 1, 5, 1) = (/ & &8.6602e-06_rb,1.8553e-05_rb,2.0839e-05_rb,2.1788e-05_rb,2.1544e-05_rb,2.1077e-05_rb, & &1.9473e-05_rb,1.8495e-05_rb,2.3671e-05_rb/) kao(:, 2, 5, 1) = (/ & &9.9810e-06_rb,2.2031e-05_rb,2.4930e-05_rb,2.6247e-05_rb,2.6462e-05_rb,2.6137e-05_rb, & &2.4415e-05_rb,2.2553e-05_rb,2.8177e-05_rb/) kao(:, 3, 5, 1) = (/ & &1.1619e-05_rb,2.6356e-05_rb,2.9247e-05_rb,3.1562e-05_rb,3.1911e-05_rb,3.1801e-05_rb, & &3.0166e-05_rb,2.7978e-05_rb,3.2481e-05_rb/) kao(:, 4, 5, 1) = (/ & &1.3216e-05_rb,3.1104e-05_rb,3.4868e-05_rb,3.7332e-05_rb,3.8497e-05_rb,3.8279e-05_rb, & &3.7615e-05_rb,3.4834e-05_rb,3.8514e-05_rb/) kao(:, 5, 5, 1) = (/ & &1.5414e-05_rb,3.5706e-05_rb,4.1155e-05_rb,4.4051e-05_rb,4.6023e-05_rb,4.6762e-05_rb, & &4.6430e-05_rb,4.3490e-05_rb,4.6117e-05_rb/) kao(:, 1, 6, 1) = (/ & &1.6458e-05_rb,2.5684e-05_rb,2.8012e-05_rb,2.7844e-05_rb,2.6244e-05_rb,2.4237e-05_rb, & &2.0656e-05_rb,1.6798e-05_rb,2.3796e-05_rb/) kao(:, 2, 6, 1) = (/ & &1.8595e-05_rb,3.0385e-05_rb,3.3443e-05_rb,3.3768e-05_rb,3.2056e-05_rb,2.9483e-05_rb, & &2.5851e-05_rb,2.0866e-05_rb,2.8662e-05_rb/) kao(:, 3, 6, 1) = (/ & &2.1348e-05_rb,3.6540e-05_rb,3.9601e-05_rb,3.9640e-05_rb,3.8210e-05_rb,3.5898e-05_rb, & &3.1968e-05_rb,2.5765e-05_rb,3.3968e-05_rb/) kao(:, 4, 6, 1) = (/ & &2.4741e-05_rb,4.2510e-05_rb,4.6979e-05_rb,4.6425e-05_rb,4.6165e-05_rb,4.2824e-05_rb, & &3.8814e-05_rb,3.1863e-05_rb,3.8072e-05_rb/) kao(:, 5, 6, 1) = (/ & &2.8527e-05_rb,5.0183e-05_rb,5.5064e-05_rb,5.5234e-05_rb,5.4182e-05_rb,5.0966e-05_rb, & &4.6758e-05_rb,3.9447e-05_rb,4.4935e-05_rb/) kao(:, 1, 7, 1) = (/ & &3.2476e-05_rb,3.8679e-05_rb,3.9032e-05_rb,3.7741e-05_rb,3.4552e-05_rb,2.9807e-05_rb, & &2.4164e-05_rb,1.7294e-05_rb,2.4102e-05_rb/) kao(:, 2, 7, 1) = (/ & &3.6570e-05_rb,4.6320e-05_rb,4.7537e-05_rb,4.6067e-05_rb,4.2268e-05_rb,3.6503e-05_rb, & &3.0476e-05_rb,2.2134e-05_rb,2.9448e-05_rb/) kao(:, 3, 7, 1) = (/ & &4.1124e-05_rb,5.4270e-05_rb,5.7210e-05_rb,5.5312e-05_rb,5.2106e-05_rb,4.5231e-05_rb, & &3.7737e-05_rb,2.7811e-05_rb,3.4668e-05_rb/) kao(:, 4, 7, 1) = (/ & &4.8133e-05_rb,6.4794e-05_rb,6.7628e-05_rb,6.6254e-05_rb,6.2299e-05_rb,5.4379e-05_rb, & &4.5931e-05_rb,3.4327e-05_rb,4.1743e-05_rb/) kao(:, 5, 7, 1) = (/ & &5.5532e-05_rb,7.7694e-05_rb,8.0423e-05_rb,7.9418e-05_rb,7.2354e-05_rb,6.4221e-05_rb, & &5.4806e-05_rb,4.1684e-05_rb,4.8759e-05_rb/) kao(:, 1, 8, 1) = (/ & &7.4902e-05_rb,7.7106e-05_rb,7.0826e-05_rb,6.4010e-05_rb,5.5968e-05_rb,4.6986e-05_rb, & &3.6409e-05_rb,2.2524e-05_rb,2.8079e-05_rb/) kao(:, 2, 8, 1) = (/ & &8.5067e-05_rb,8.8842e-05_rb,8.3769e-05_rb,7.6787e-05_rb,6.8134e-05_rb,5.7821e-05_rb, & &4.4557e-05_rb,2.8824e-05_rb,3.6133e-05_rb/) kao(:, 3, 8, 1) = (/ & &9.7879e-05_rb,1.0460e-04_rb,9.9884e-05_rb,9.2458e-05_rb,8.3229e-05_rb,7.0097e-05_rb, & &5.5355e-05_rb,3.6496e-05_rb,4.1979e-05_rb/) kao(:, 4, 8, 1) = (/ & &1.1321e-04_rb,1.2375e-04_rb,1.2003e-04_rb,1.1241e-04_rb,1.0088e-04_rb,8.6080e-05_rb, & &6.8531e-05_rb,4.5034e-05_rb,5.0526e-05_rb/) kao(:, 5, 8, 1) = (/ & &1.3142e-04_rb,1.5020e-04_rb,1.4626e-04_rb,1.3653e-04_rb,1.2235e-04_rb,1.0518e-04_rb, & &8.2469e-05_rb,5.5412e-05_rb,6.0484e-05_rb/) kao(:, 1, 9, 1) = (/ & &3.0190e-04_rb,2.8195e-04_rb,2.5208e-04_rb,2.1662e-04_rb,1.7929e-04_rb,1.4025e-04_rb, & &1.0049e-04_rb,5.8291e-05_rb,3.9381e-05_rb/) kao(:, 2, 9, 1) = (/ & &3.5007e-04_rb,3.2966e-04_rb,2.9418e-04_rb,2.5482e-04_rb,2.1206e-04_rb,1.6775e-04_rb, & &1.2208e-04_rb,7.2618e-05_rb,5.1006e-05_rb/) kao(:, 3, 9, 1) = (/ & &4.1355e-04_rb,3.9069e-04_rb,3.5043e-04_rb,3.0530e-04_rb,2.5611e-04_rb,2.0488e-04_rb, & &1.4964e-04_rb,8.8870e-05_rb,6.5960e-05_rb/) kao(:, 4, 9, 1) = (/ & &4.9093e-04_rb,4.6398e-04_rb,4.1726e-04_rb,3.6373e-04_rb,3.0710e-04_rb,2.4775e-04_rb, & &1.8258e-04_rb,1.0881e-04_rb,8.2307e-05_rb/) kao(:, 5, 9, 1) = (/ & &5.8022e-04_rb,5.5027e-04_rb,5.0137e-04_rb,4.3986e-04_rb,3.7225e-04_rb,2.9865e-04_rb, & &2.2079e-04_rb,1.3406e-04_rb,9.5285e-05_rb/) kao(:, 1,10, 1) = (/ & &1.2883e-03_rb,1.1451e-03_rb,9.9720e-04_rb,8.4603e-04_rb,6.8855e-04_rb,5.2856e-04_rb, & &3.6226e-04_rb,1.9198e-04_rb,7.4637e-05_rb/) kao(:, 2,10, 1) = (/ & &1.5104e-03_rb,1.3471e-03_rb,1.1771e-03_rb,9.9916e-04_rb,8.1528e-04_rb,6.2425e-04_rb, & &4.3021e-04_rb,2.3018e-04_rb,8.8724e-05_rb/) kao(:, 3,10, 1) = (/ & &1.8167e-03_rb,1.6260e-03_rb,1.4233e-03_rb,1.2086e-03_rb,9.8644e-04_rb,7.6173e-04_rb, & &5.2737e-04_rb,2.8610e-04_rb,1.0717e-04_rb/) kao(:, 4,10, 1) = (/ & &2.2177e-03_rb,1.9922e-03_rb,1.7424e-03_rb,1.4817e-03_rb,1.2127e-03_rb,9.3691e-04_rb, & &6.5292e-04_rb,3.5708e-04_rb,1.2411e-04_rb/) kao(:, 5,10, 1) = (/ & &2.7210e-03_rb,2.4399e-03_rb,2.1395e-03_rb,1.8137e-03_rb,1.4859e-03_rb,1.1551e-03_rb, & &8.0975e-04_rb,4.4504e-04_rb,1.4851e-04_rb/) kao(:, 1,11, 1) = (/ & &1.9516e-03_rb,1.7255e-03_rb,1.4956e-03_rb,1.2644e-03_rb,1.0251e-03_rb,7.8257e-04_rb, & &5.3359e-04_rb,2.7877e-04_rb,7.8095e-05_rb/) kao(:, 2,11, 1) = (/ & &2.3604e-03_rb,2.0924e-03_rb,1.8171e-03_rb,1.5363e-03_rb,1.2459e-03_rb,9.5100e-04_rb, & &6.5089e-04_rb,3.4345e-04_rb,9.5842e-05_rb/) kao(:, 3,11, 1) = (/ & &2.8804e-03_rb,2.5577e-03_rb,2.2239e-03_rb,1.8797e-03_rb,1.5233e-03_rb,1.1642e-03_rb, & &8.0020e-04_rb,4.2543e-04_rb,1.1860e-04_rb/) kao(:, 4,11, 1) = (/ & &3.5705e-03_rb,3.1731e-03_rb,2.7557e-03_rb,2.3268e-03_rb,1.8893e-03_rb,1.4468e-03_rb, & &9.9612e-04_rb,5.3416e-04_rb,1.4487e-04_rb/) kao(:, 5,11, 1) = (/ & &4.4488e-03_rb,3.9532e-03_rb,3.4428e-03_rb,2.9093e-03_rb,2.3658e-03_rb,1.8156e-03_rb, & &1.2567e-03_rb,6.7979e-04_rb,1.7247e-04_rb/) kao(:, 1,12, 1) = (/ & &2.1650e-03_rb,1.9116e-03_rb,1.6550e-03_rb,1.3963e-03_rb,1.1297e-03_rb,8.5899e-04_rb, & &5.8509e-04_rb,3.0490e-04_rb,7.1706e-05_rb/) kao(:, 2,12, 1) = (/ & &2.6267e-03_rb,2.3248e-03_rb,2.0167e-03_rb,1.7021e-03_rb,1.3758e-03_rb,1.0485e-03_rb, & &7.1504e-04_rb,3.7456e-04_rb,8.9235e-05_rb/) kao(:, 3,12, 1) = (/ & &3.2534e-03_rb,2.8836e-03_rb,2.5027e-03_rb,2.1051e-03_rb,1.7048e-03_rb,1.2988e-03_rb, & &8.8817e-04_rb,4.6846e-04_rb,1.1111e-04_rb/) kao(:, 4,12, 1) = (/ & &4.0663e-03_rb,3.6075e-03_rb,3.1250e-03_rb,2.6309e-03_rb,2.1307e-03_rb,1.6269e-03_rb, & &1.1159e-03_rb,5.9423e-04_rb,1.3807e-04_rb/) kao(:, 5,12, 1) = (/ & &5.1489e-03_rb,4.5663e-03_rb,3.9639e-03_rb,3.3363e-03_rb,2.7011e-03_rb,2.0639e-03_rb, & &1.4193e-03_rb,7.5878e-04_rb,1.6511e-04_rb/) kao(:, 1,13, 1) = (/ & &1.8892e-03_rb,1.6706e-03_rb,1.4468e-03_rb,1.2178e-03_rb,9.8369e-04_rb,7.4837e-04_rb, & &5.0829e-04_rb,2.6445e-04_rb,6.0347e-05_rb/) kao(:, 2,13, 1) = (/ & &2.3493e-03_rb,2.0800e-03_rb,1.8039e-03_rb,1.5176e-03_rb,1.2269e-03_rb,9.3478e-04_rb, & &6.3614e-04_rb,3.3311e-04_rb,7.4952e-05_rb/) kao(:, 3,13, 1) = (/ & &2.9367e-03_rb,2.6050e-03_rb,2.2571e-03_rb,1.8958e-03_rb,1.5337e-03_rb,1.1694e-03_rb, & &7.9916e-04_rb,4.2184e-04_rb,9.2442e-05_rb/) kao(:, 4,13, 1) = (/ & &3.6657e-03_rb,3.2513e-03_rb,2.8158e-03_rb,2.3704e-03_rb,1.9186e-03_rb,1.4653e-03_rb, & &1.0024e-03_rb,5.3341e-04_rb,1.1484e-04_rb/) kao(:, 5,13, 1) = (/ & &4.6760e-03_rb,4.1516e-03_rb,3.5983e-03_rb,3.0289e-03_rb,2.4503e-03_rb,1.8734e-03_rb, & &1.2888e-03_rb,6.8680e-04_rb,1.3777e-04_rb/) kao(:, 1, 1, 2) = (/ & &1.8748e-06_rb,2.5986e-05_rb,3.9140e-05_rb,5.0515e-05_rb,6.0453e-05_rb,7.0222e-05_rb, & &9.2153e-05_rb,1.1527e-04_rb,4.9863e-05_rb/) kao(:, 2, 1, 2) = (/ & &2.2195e-06_rb,3.2877e-05_rb,5.0201e-05_rb,6.4757e-05_rb,7.7459e-05_rb,8.9731e-05_rb, & &1.0523e-04_rb,1.3275e-04_rb,6.4946e-05_rb/) kao(:, 3, 1, 2) = (/ & &2.6699e-06_rb,4.0948e-05_rb,6.3539e-05_rb,8.1241e-05_rb,9.7151e-05_rb,1.1092e-04_rb, & &1.1761e-04_rb,1.3825e-04_rb,8.4658e-05_rb/) kao(:, 4, 1, 2) = (/ & &3.1333e-06_rb,5.0568e-05_rb,7.8106e-05_rb,9.9691e-05_rb,1.1981e-04_rb,1.3549e-04_rb, & &1.3924e-04_rb,1.5344e-04_rb,1.0884e-04_rb/) kao(:, 5, 1, 2) = (/ & &3.7302e-06_rb,6.1696e-05_rb,9.4521e-05_rb,1.2091e-04_rb,1.4534e-04_rb,1.6166e-04_rb, & &1.6745e-04_rb,1.7689e-04_rb,1.3808e-04_rb/) kao(:, 1, 2, 2) = (/ & &2.7303e-06_rb,2.4541e-05_rb,3.5763e-05_rb,4.4104e-05_rb,5.1595e-05_rb,5.8966e-05_rb, & &6.8130e-05_rb,1.0200e-04_rb,3.9223e-05_rb/) kao(:, 2, 2, 2) = (/ & &3.2091e-06_rb,3.1379e-05_rb,4.5745e-05_rb,5.7229e-05_rb,6.6576e-05_rb,7.4659e-05_rb, & &8.1615e-05_rb,9.9977e-05_rb,5.3367e-05_rb/) kao(:, 3, 2, 2) = (/ & &3.8233e-06_rb,3.9294e-05_rb,5.7741e-05_rb,7.2569e-05_rb,8.4616e-05_rb,9.4873e-05_rb, & &1.0240e-04_rb,1.1173e-04_rb,6.9904e-05_rb/) kao(:, 4, 2, 2) = (/ & &4.4247e-06_rb,4.8330e-05_rb,7.1550e-05_rb,9.0142e-05_rb,1.0471e-04_rb,1.1736e-04_rb, & &1.2542e-04_rb,1.2602e-04_rb,8.9761e-05_rb/) kao(:, 5, 2, 2) = (/ & &5.2245e-06_rb,5.9597e-05_rb,8.7482e-05_rb,1.0983e-04_rb,1.2772e-04_rb,1.4263e-04_rb, & &1.4957e-04_rb,1.4619e-04_rb,1.1276e-04_rb/) kao(:, 1, 3, 2) = (/ & &5.2515e-06_rb,2.5764e-05_rb,3.5421e-05_rb,4.2053e-05_rb,4.7449e-05_rb,5.0608e-05_rb, & &5.3790e-05_rb,6.3623e-05_rb,3.2707e-05_rb/) kao(:, 2, 3, 2) = (/ & &6.1812e-06_rb,3.3267e-05_rb,4.5617e-05_rb,5.4363e-05_rb,6.1462e-05_rb,6.5644e-05_rb, & &6.8603e-05_rb,7.2538e-05_rb,4.2974e-05_rb/) kao(:, 3, 3, 2) = (/ & &7.0789e-06_rb,4.1750e-05_rb,5.7967e-05_rb,6.9149e-05_rb,7.8026e-05_rb,8.4324e-05_rb, & &8.7723e-05_rb,8.7036e-05_rb,5.7402e-05_rb/) kao(:, 4, 3, 2) = (/ & &8.1019e-06_rb,5.2243e-05_rb,7.2254e-05_rb,8.6560e-05_rb,9.8380e-05_rb,1.0586e-04_rb, & &1.1006e-04_rb,1.0834e-04_rb,7.4594e-05_rb/) kao(:, 5, 3, 2) = (/ & &9.5928e-06_rb,6.4752e-05_rb,8.9095e-05_rb,1.0726e-04_rb,1.2114e-04_rb,1.3016e-04_rb, & &1.3551e-04_rb,1.3048e-04_rb,9.3901e-05_rb/) kao(:, 1, 4, 2) = (/ & &1.1020e-05_rb,2.8494e-05_rb,3.6932e-05_rb,4.2975e-05_rb,4.6074e-05_rb,4.6953e-05_rb, & &4.6313e-05_rb,4.4542e-05_rb,3.2970e-05_rb/) kao(:, 2, 4, 2) = (/ & &1.2562e-05_rb,3.7065e-05_rb,4.7812e-05_rb,5.4915e-05_rb,5.9599e-05_rb,6.1605e-05_rb, & &6.1355e-05_rb,5.8223e-05_rb,3.9379e-05_rb/) kao(:, 3, 4, 2) = (/ & &1.4576e-05_rb,4.7351e-05_rb,6.1614e-05_rb,7.0211e-05_rb,7.6184e-05_rb,7.9246e-05_rb, & &7.8840e-05_rb,7.4646e-05_rb,4.5622e-05_rb/) kao(:, 4, 4, 2) = (/ & &1.6280e-05_rb,5.8550e-05_rb,7.7244e-05_rb,8.9750e-05_rb,9.5812e-05_rb,1.0028e-04_rb, & &1.0042e-04_rb,9.4563e-05_rb,5.6157e-05_rb/) kao(:, 5, 4, 2) = (/ & &1.8452e-05_rb,7.1720e-05_rb,9.6110e-05_rb,1.1183e-04_rb,1.1944e-04_rb,1.2546e-04_rb, & &1.2521e-04_rb,1.1758e-04_rb,7.2313e-05_rb/) kao(:, 1, 5, 2) = (/ & &2.1312e-05_rb,3.6806e-05_rb,4.2862e-05_rb,4.6599e-05_rb,4.7270e-05_rb,4.6274e-05_rb, & &4.2916e-05_rb,3.6817e-05_rb,3.2593e-05_rb/) kao(:, 2, 5, 2) = (/ & &2.5202e-05_rb,4.5358e-05_rb,5.3413e-05_rb,5.8866e-05_rb,6.0628e-05_rb,5.9617e-05_rb, & &5.6530e-05_rb,4.9579e-05_rb,3.9610e-05_rb/) kao(:, 3, 5, 2) = (/ & &2.8699e-05_rb,5.5778e-05_rb,6.8120e-05_rb,7.4417e-05_rb,7.7573e-05_rb,7.6799e-05_rb, & &7.3323e-05_rb,6.4915e-05_rb,4.8072e-05_rb/) kao(:, 4, 5, 2) = (/ & &3.2753e-05_rb,6.7844e-05_rb,8.5625e-05_rb,9.3879e-05_rb,9.7934e-05_rb,9.8316e-05_rb, & &9.3375e-05_rb,8.3569e-05_rb,5.7445e-05_rb/) kao(:, 5, 5, 2) = (/ & &3.6908e-05_rb,8.3612e-05_rb,1.0490e-04_rb,1.1632e-04_rb,1.2275e-04_rb,1.2328e-04_rb, & &1.1667e-04_rb,1.0539e-04_rb,6.6570e-05_rb/) kao(:, 1, 6, 2) = (/ & &4.3241e-05_rb,5.7363e-05_rb,5.9383e-05_rb,5.9083e-05_rb,5.6687e-05_rb,5.1929e-05_rb, & &4.4854e-05_rb,3.4134e-05_rb,3.3554e-05_rb/) kao(:, 2, 6, 2) = (/ & &4.8160e-05_rb,6.6362e-05_rb,7.1460e-05_rb,7.1908e-05_rb,6.9540e-05_rb,6.3380e-05_rb, & &5.6957e-05_rb,4.4490e-05_rb,3.9435e-05_rb/) kao(:, 3, 6, 2) = (/ & &5.5150e-05_rb,7.8279e-05_rb,8.5897e-05_rb,8.6929e-05_rb,8.6216e-05_rb,7.9912e-05_rb, & &7.1634e-05_rb,5.7727e-05_rb,4.6871e-05_rb/) kao(:, 4, 6, 2) = (/ & &6.2702e-05_rb,9.3878e-05_rb,1.0189e-04_rb,1.0755e-04_rb,1.0575e-04_rb,1.0053e-04_rb, & &8.9365e-05_rb,7.5152e-05_rb,5.7874e-05_rb/) kao(:, 5, 6, 2) = (/ & &7.1646e-05_rb,1.0994e-04_rb,1.2283e-04_rb,1.3142e-04_rb,1.3048e-04_rb,1.2339e-04_rb, & &1.1339e-04_rb,9.4667e-05_rb,6.9560e-05_rb/) kao(:, 1, 7, 2) = (/ & &9.4217e-05_rb,1.0625e-04_rb,1.0297e-04_rb,9.4341e-05_rb,8.4820e-05_rb,7.4540e-05_rb, & &5.9573e-05_rb,4.0162e-05_rb,3.4032e-05_rb/) kao(:, 2, 7, 2) = (/ & &1.0328e-04_rb,1.1698e-04_rb,1.1273e-04_rb,1.0730e-04_rb,9.8854e-05_rb,8.8068e-05_rb, & &7.1680e-05_rb,5.0363e-05_rb,4.1780e-05_rb/) kao(:, 3, 7, 2) = (/ & &1.1436e-04_rb,1.3466e-04_rb,1.3293e-04_rb,1.2807e-04_rb,1.1742e-04_rb,1.0440e-04_rb, & &8.7142e-05_rb,6.2911e-05_rb,5.1346e-05_rb/) kao(:, 4, 7, 2) = (/ & &1.2805e-04_rb,1.5498e-04_rb,1.5579e-04_rb,1.5032e-04_rb,1.3953e-04_rb,1.2638e-04_rb, & &1.0638e-04_rb,7.6925e-05_rb,6.1784e-05_rb/) kao(:, 5, 7, 2) = (/ & &1.4510e-04_rb,1.7937e-04_rb,1.8186e-04_rb,1.7514e-04_rb,1.6579e-04_rb,1.5232e-04_rb, & &1.2822e-04_rb,9.5671e-05_rb,7.0048e-05_rb/) kao(:, 1, 8, 2) = (/ & &2.4926e-04_rb,2.4392e-04_rb,2.2297e-04_rb,1.9521e-04_rb,1.6651e-04_rb,1.3349e-04_rb, & &9.8669e-05_rb,6.3201e-05_rb,3.1807e-05_rb/) kao(:, 2, 8, 2) = (/ & &2.7454e-04_rb,2.7755e-04_rb,2.5558e-04_rb,2.2780e-04_rb,1.9618e-04_rb,1.5908e-04_rb, & &1.2121e-04_rb,7.6667e-05_rb,4.0012e-05_rb/) kao(:, 3, 8, 2) = (/ & &2.9508e-04_rb,3.0091e-04_rb,2.7929e-04_rb,2.5223e-04_rb,2.1930e-04_rb,1.8562e-04_rb, & &1.4312e-04_rb,9.2529e-05_rb,5.6355e-05_rb/) kao(:, 4, 8, 2) = (/ & &3.2350e-04_rb,3.3697e-04_rb,3.1656e-04_rb,2.8676e-04_rb,2.5417e-04_rb,2.1233e-04_rb, & &1.6702e-04_rb,1.1113e-04_rb,6.5692e-05_rb/) kao(:, 5, 8, 2) = (/ & &3.5413e-04_rb,3.7149e-04_rb,3.5724e-04_rb,3.2794e-04_rb,2.8883e-04_rb,2.4521e-04_rb, & &1.9502e-04_rb,1.3265e-04_rb,7.4636e-05_rb/) kao(:, 1, 9, 2) = (/ & &1.1370e-03_rb,1.0245e-03_rb,9.0233e-04_rb,7.7373e-04_rb,6.3596e-04_rb,4.9782e-04_rb, & &3.4706e-04_rb,1.8813e-04_rb,5.4967e-05_rb/) kao(:, 2, 9, 2) = (/ & &1.2549e-03_rb,1.1327e-03_rb,1.0081e-03_rb,8.6174e-04_rb,7.1233e-04_rb,5.5663e-04_rb, & &3.9054e-04_rb,2.1740e-04_rb,6.5863e-05_rb/) kao(:, 3, 9, 2) = (/ & &1.4193e-03_rb,1.2929e-03_rb,1.1501e-03_rb,9.8954e-04_rb,8.1834e-04_rb,6.4034e-04_rb, & &4.5590e-04_rb,2.5841e-04_rb,7.6782e-05_rb/) kao(:, 4, 9, 2) = (/ & &1.5730e-03_rb,1.4525e-03_rb,1.2939e-03_rb,1.1191e-03_rb,9.2869e-04_rb,7.2912e-04_rb, & &5.2003e-04_rb,2.9928e-04_rb,9.3109e-05_rb/) kao(:, 5, 9, 2) = (/ & &1.7020e-03_rb,1.5888e-03_rb,1.4187e-03_rb,1.2315e-03_rb,1.0334e-03_rb,8.2293e-04_rb, & &5.9761e-04_rb,3.4411e-04_rb,1.1836e-04_rb/) kao(:, 1,10, 2) = (/ & &6.1528e-03_rb,5.4056e-03_rb,4.6635e-03_rb,3.9185e-03_rb,3.1663e-03_rb,2.4050e-03_rb, & &1.6372e-03_rb,8.5009e-04_rb,8.0054e-05_rb/) kao(:, 2,10, 2) = (/ & &6.8550e-03_rb,6.0391e-03_rb,5.2246e-03_rb,4.3821e-03_rb,3.5514e-03_rb,2.7172e-03_rb, & &1.8529e-03_rb,9.7224e-04_rb,1.0130e-04_rb/) kao(:, 3,10, 2) = (/ & &7.6163e-03_rb,6.7254e-03_rb,5.8028e-03_rb,4.8844e-03_rb,3.9710e-03_rb,3.0268e-03_rb, & &2.0640e-03_rb,1.0804e-03_rb,1.3327e-04_rb/) kao(:, 4,10, 2) = (/ & &8.4017e-03_rb,7.4385e-03_rb,6.4324e-03_rb,5.4278e-03_rb,4.4132e-03_rb,3.3677e-03_rb, & &2.3075e-03_rb,1.2226e-03_rb,1.6598e-04_rb/) kao(:, 5,10, 2) = (/ & &9.3911e-03_rb,8.3333e-03_rb,7.2272e-03_rb,6.1232e-03_rb,4.9837e-03_rb,3.8167e-03_rb, & &2.6213e-03_rb,1.4063e-03_rb,2.0638e-04_rb/) kao(:, 1,11, 2) = (/ & &1.1762e-02_rb,1.0306e-02_rb,8.8593e-03_rb,7.4127e-03_rb,5.9627e-03_rb,4.5045e-03_rb, & &3.0511e-03_rb,1.5666e-03_rb,8.2025e-05_rb/) kao(:, 2,11, 2) = (/ & &1.3012e-02_rb,1.1426e-02_rb,9.8347e-03_rb,8.2336e-03_rb,6.6323e-03_rb,5.0275e-03_rb, & &3.4043e-03_rb,1.7550e-03_rb,1.0611e-04_rb/) kao(:, 3,11, 2) = (/ & &1.4612e-02_rb,1.2845e-02_rb,1.1070e-02_rb,9.2725e-03_rb,7.4822e-03_rb,5.6847e-03_rb, & &3.8534e-03_rb,1.9989e-03_rb,1.3346e-04_rb/) kao(:, 4,11, 2) = (/ & &1.6251e-02_rb,1.4313e-02_rb,1.2347e-02_rb,1.0360e-02_rb,8.3777e-03_rb,6.3716e-03_rb, & &4.3250e-03_rb,2.2445e-03_rb,1.6083e-04_rb/) kao(:, 5,11, 2) = (/ & &1.8150e-02_rb,1.6016e-02_rb,1.3813e-02_rb,1.1608e-02_rb,9.3833e-03_rb,7.1360e-03_rb, & &4.8421e-03_rb,2.5233e-03_rb,2.0030e-04_rb/) kao(:, 1,12, 2) = (/ & &1.5059e-02_rb,1.3197e-02_rb,1.1332e-02_rb,9.4687e-03_rb,7.6107e-03_rb,5.7434e-03_rb, & &3.8799e-03_rb,1.9799e-03_rb,8.0330e-05_rb/) kao(:, 2,12, 2) = (/ & &1.6512e-02_rb,1.4476e-02_rb,1.2442e-02_rb,1.0410e-02_rb,8.3743e-03_rb,6.3355e-03_rb, & &4.2771e-03_rb,2.1952e-03_rb,9.9323e-05_rb/) kao(:, 3,12, 2) = (/ & &1.8685e-02_rb,1.6400e-02_rb,1.4116e-02_rb,1.1818e-02_rb,9.5219e-03_rb,7.2188e-03_rb, & &4.8730e-03_rb,2.5083e-03_rb,1.2343e-04_rb/) kao(:, 4,12, 2) = (/ & &2.1153e-02_rb,1.8588e-02_rb,1.6002e-02_rb,1.3413e-02_rb,1.0821e-02_rb,8.2029e-03_rb, & &5.5391e-03_rb,2.8500e-03_rb,1.4931e-04_rb/) kao(:, 5,12, 2) = (/ & &2.3737e-02_rb,2.0901e-02_rb,1.7991e-02_rb,1.5090e-02_rb,1.2172e-02_rb,9.2290e-03_rb, & &6.2485e-03_rb,3.2234e-03_rb,1.9022e-04_rb/) kao(:, 1,13, 2) = (/ & &1.4847e-02_rb,1.3010e-02_rb,1.1175e-02_rb,9.3417e-03_rb,7.5039e-03_rb,5.6608e-03_rb, & &3.8195e-03_rb,1.9483e-03_rb,7.0259e-05_rb/) kao(:, 2,13, 2) = (/ & &1.6739e-02_rb,1.4679e-02_rb,1.2619e-02_rb,1.0555e-02_rb,8.4903e-03_rb,6.4217e-03_rb, & &4.3269e-03_rb,2.2129e-03_rb,8.5490e-05_rb/) kao(:, 3,13, 2) = (/ & &1.8825e-02_rb,1.6518e-02_rb,1.4211e-02_rb,1.1898e-02_rb,9.5859e-03_rb,7.2507e-03_rb, & &4.8896e-03_rb,2.5047e-03_rb,1.1226e-04_rb/) kao(:, 4,13, 2) = (/ & &2.1292e-02_rb,1.8712e-02_rb,1.6107e-02_rb,1.3496e-02_rb,1.0877e-02_rb,8.2331e-03_rb, & &5.5639e-03_rb,2.8510e-03_rb,1.4031e-04_rb/) kao(:, 5,13, 2) = (/ & &2.4158e-02_rb,2.1241e-02_rb,1.8299e-02_rb,1.5344e-02_rb,1.2375e-02_rb,9.3646e-03_rb, & &6.3197e-03_rb,3.2533e-03_rb,1.7265e-04_rb/) kao(:, 1, 1, 3) = (/ & &1.0410e-05_rb,6.1962e-05_rb,8.9498e-05_rb,1.0661e-04_rb,1.2164e-04_rb,1.3377e-04_rb, & &1.2941e-04_rb,1.4521e-04_rb,8.1226e-05_rb/) kao(:, 2, 1, 3) = (/ & &1.1876e-05_rb,7.8368e-05_rb,1.1198e-04_rb,1.3409e-04_rb,1.5187e-04_rb,1.6090e-04_rb, & &1.6481e-04_rb,1.6441e-04_rb,1.1141e-04_rb/) kao(:, 3, 1, 3) = (/ & &1.3686e-05_rb,9.7536e-05_rb,1.3724e-04_rb,1.6641e-04_rb,1.8557e-04_rb,1.9386e-04_rb, & &1.9539e-04_rb,1.8991e-04_rb,1.4967e-04_rb/) kao(:, 4, 1, 3) = (/ & &1.5807e-05_rb,1.1754e-04_rb,1.6722e-04_rb,2.0238e-04_rb,2.2277e-04_rb,2.3084e-04_rb, & &2.3103e-04_rb,2.1679e-04_rb,1.9490e-04_rb/) kao(:, 5, 1, 3) = (/ & &1.8430e-05_rb,1.4041e-04_rb,2.0063e-04_rb,2.4077e-04_rb,2.6088e-04_rb,2.7081e-04_rb, & &2.7088e-04_rb,2.6451e-04_rb,2.4633e-04_rb/) kao(:, 1, 2, 3) = (/ & &1.4574e-05_rb,6.1181e-05_rb,8.5219e-05_rb,1.0233e-04_rb,1.1097e-04_rb,1.1864e-04_rb, & &1.2443e-04_rb,1.2339e-04_rb,6.7714e-05_rb/) kao(:, 2, 2, 3) = (/ & &1.6727e-05_rb,7.7358e-05_rb,1.0881e-04_rb,1.2844e-04_rb,1.4104e-04_rb,1.5016e-04_rb, & &1.5142e-04_rb,1.4164e-04_rb,9.0996e-05_rb/) kao(:, 3, 2, 3) = (/ & &1.9092e-05_rb,9.6319e-05_rb,1.3467e-04_rb,1.5937e-04_rb,1.7543e-04_rb,1.8362e-04_rb, & &1.8038e-04_rb,1.5924e-04_rb,1.2122e-04_rb/) kao(:, 4, 2, 3) = (/ & &2.2128e-05_rb,1.1862e-04_rb,1.6445e-04_rb,1.9397e-04_rb,2.1438e-04_rb,2.2054e-04_rb, & &2.1448e-04_rb,2.0102e-04_rb,1.5787e-04_rb/) kao(:, 5, 2, 3) = (/ & &2.5953e-05_rb,1.4141e-04_rb,1.9710e-04_rb,2.3342e-04_rb,2.5581e-04_rb,2.5978e-04_rb, & &2.5390e-04_rb,2.3627e-04_rb,2.0062e-04_rb/) kao(:, 1, 3, 3) = (/ & &2.6011e-05_rb,6.9300e-05_rb,8.8885e-05_rb,1.0316e-04_rb,1.1255e-04_rb,1.1444e-04_rb, & &1.1119e-04_rb,1.0838e-04_rb,5.7064e-05_rb/) kao(:, 2, 3, 3) = (/ & &2.9960e-05_rb,8.6707e-05_rb,1.1415e-04_rb,1.3351e-04_rb,1.4420e-04_rb,1.4685e-04_rb, & &1.4419e-04_rb,1.3258e-04_rb,7.5649e-05_rb/) kao(:, 3, 3, 3) = (/ & &3.4740e-05_rb,1.0851e-04_rb,1.4450e-04_rb,1.6834e-04_rb,1.8054e-04_rb,1.8416e-04_rb, & &1.8038e-04_rb,1.5855e-04_rb,9.9657e-05_rb/) kao(:, 4, 3, 3) = (/ & &4.0367e-05_rb,1.3338e-04_rb,1.7889e-04_rb,2.0752e-04_rb,2.2266e-04_rb,2.2792e-04_rb, & &2.1975e-04_rb,1.8879e-04_rb,1.2950e-04_rb/) kao(:, 5, 3, 3) = (/ & &4.7325e-05_rb,1.6087e-04_rb,2.1635e-04_rb,2.5031e-04_rb,2.7116e-04_rb,2.7639e-04_rb, & &2.6032e-04_rb,2.2480e-04_rb,1.6585e-04_rb/) kao(:, 1, 4, 3) = (/ & &4.6629e-05_rb,8.8856e-05_rb,1.0307e-04_rb,1.1034e-04_rb,1.1324e-04_rb,1.1518e-04_rb, & &1.0941e-04_rb,9.2447e-05_rb,4.9807e-05_rb/) kao(:, 2, 4, 3) = (/ & &5.3813e-05_rb,1.0914e-04_rb,1.2953e-04_rb,1.4280e-04_rb,1.4973e-04_rb,1.5074e-04_rb, & &1.4150e-04_rb,1.2111e-04_rb,6.6358e-05_rb/) kao(:, 3, 4, 3) = (/ & &6.3364e-05_rb,1.3307e-04_rb,1.6255e-04_rb,1.8292e-04_rb,1.9276e-04_rb,1.9285e-04_rb, & &1.8002e-04_rb,1.5407e-04_rb,8.8052e-05_rb/) kao(:, 4, 4, 3) = (/ & &7.4529e-05_rb,1.6123e-04_rb,2.0145e-04_rb,2.2832e-04_rb,2.4093e-04_rb,2.3982e-04_rb, & &2.2562e-04_rb,1.8990e-04_rb,1.1560e-04_rb/) kao(:, 5, 4, 3) = (/ & &8.8134e-05_rb,1.9717e-04_rb,2.4798e-04_rb,2.7909e-04_rb,2.9532e-04_rb,2.9441e-04_rb, & &2.7564e-04_rb,2.2733e-04_rb,1.4686e-04_rb/) kao(:, 1, 5, 3) = (/ & &7.7279e-05_rb,1.1122e-04_rb,1.2109e-04_rb,1.2443e-04_rb,1.2189e-04_rb,1.1617e-04_rb, & &1.0613e-04_rb,8.7521e-05_rb,4.7012e-05_rb/) kao(:, 2, 5, 3) = (/ & &8.9473e-05_rb,1.3546e-04_rb,1.5195e-04_rb,1.5794e-04_rb,1.5786e-04_rb,1.5329e-04_rb, & &1.4127e-04_rb,1.1487e-04_rb,6.0204e-05_rb/) kao(:, 3, 5, 3) = (/ & &1.0328e-04_rb,1.6610e-04_rb,1.8961e-04_rb,1.9990e-04_rb,2.0229e-04_rb,2.0006e-04_rb, & &1.8432e-04_rb,1.4896e-04_rb,7.6087e-05_rb/) kao(:, 4, 5, 3) = (/ & &1.2119e-04_rb,2.0367e-04_rb,2.3155e-04_rb,2.4851e-04_rb,2.5658e-04_rb,2.5211e-04_rb, & &2.3296e-04_rb,1.8864e-04_rb,9.8744e-05_rb/) kao(:, 5, 5, 3) = (/ & &1.4337e-04_rb,2.4554e-04_rb,2.8278e-04_rb,3.0781e-04_rb,3.1834e-04_rb,3.1139e-04_rb, & &2.8860e-04_rb,2.3262e-04_rb,1.2920e-04_rb/) kao(:, 1, 6, 3) = (/ & &1.1761e-04_rb,1.4538e-04_rb,1.4284e-04_rb,1.3740e-04_rb,1.2980e-04_rb,1.1847e-04_rb, & &1.0232e-04_rb,8.1254e-05_rb,4.1748e-05_rb/) kao(:, 2, 6, 3) = (/ & &1.3703e-04_rb,1.7162e-04_rb,1.7382e-04_rb,1.7289e-04_rb,1.6644e-04_rb,1.5514e-04_rb, & &1.3666e-04_rb,1.0938e-04_rb,5.6033e-05_rb/) kao(:, 3, 6, 3) = (/ & &1.5744e-04_rb,2.0479e-04_rb,2.1458e-04_rb,2.1922e-04_rb,2.1487e-04_rb,2.0072e-04_rb, & &1.7976e-04_rb,1.4480e-04_rb,7.3663e-05_rb/) kao(:, 4, 6, 3) = (/ & &1.7947e-04_rb,2.4802e-04_rb,2.6658e-04_rb,2.7311e-04_rb,2.6613e-04_rb,2.5639e-04_rb, & &2.3337e-04_rb,1.8491e-04_rb,9.1670e-05_rb/) kao(:, 5, 6, 3) = (/ & &2.1213e-04_rb,2.9698e-04_rb,3.2800e-04_rb,3.3255e-04_rb,3.3379e-04_rb,3.2227e-04_rb, & &2.9213e-04_rb,2.3295e-04_rb,1.1053e-04_rb/) kao(:, 1, 7, 3) = (/ & &2.1717e-04_rb,2.2955e-04_rb,2.1661e-04_rb,1.9608e-04_rb,1.6989e-04_rb,1.4299e-04_rb, & &1.1566e-04_rb,8.2895e-05_rb,3.7387e-05_rb/) kao(:, 2, 7, 3) = (/ & &2.4414e-04_rb,2.6643e-04_rb,2.5638e-04_rb,2.3114e-04_rb,2.0334e-04_rb,1.7738e-04_rb, & &1.4895e-04_rb,1.0764e-04_rb,5.2222e-05_rb/) kao(:, 3, 7, 3) = (/ & &2.7286e-04_rb,3.0487e-04_rb,2.9526e-04_rb,2.7261e-04_rb,2.5126e-04_rb,2.2507e-04_rb, & &1.8734e-04_rb,1.4022e-04_rb,6.8628e-05_rb/) kao(:, 4, 7, 3) = (/ & &3.1153e-04_rb,3.5338e-04_rb,3.4554e-04_rb,3.2591e-04_rb,3.0719e-04_rb,2.7679e-04_rb, & &2.3565e-04_rb,1.8522e-04_rb,8.6360e-05_rb/) kao(:, 5, 7, 3) = (/ & &3.5307e-04_rb,4.0595e-04_rb,4.0654e-04_rb,3.9853e-04_rb,3.7853e-04_rb,3.4348e-04_rb, & &3.0049e-04_rb,2.3594e-04_rb,1.1315e-04_rb/) kao(:, 1, 8, 3) = (/ & &5.5525e-04_rb,5.3290e-04_rb,4.9219e-04_rb,4.3834e-04_rb,3.7060e-04_rb,2.9620e-04_rb, & &2.1670e-04_rb,1.3044e-04_rb,4.3913e-05_rb/) kao(:, 2, 8, 3) = (/ & &6.1273e-04_rb,5.9169e-04_rb,5.4415e-04_rb,4.8432e-04_rb,4.1256e-04_rb,3.3431e-04_rb, & &2.4554e-04_rb,1.5735e-04_rb,5.6222e-05_rb/) kao(:, 3, 8, 3) = (/ & &6.6697e-04_rb,6.5930e-04_rb,6.1229e-04_rb,5.4542e-04_rb,4.6824e-04_rb,3.7897e-04_rb, & &2.8714e-04_rb,1.8945e-04_rb,7.2182e-05_rb/) kao(:, 4, 8, 3) = (/ & &7.3789e-04_rb,7.3274e-04_rb,6.8030e-04_rb,6.0993e-04_rb,5.2803e-04_rb,4.3826e-04_rb, & &3.4177e-04_rb,2.2879e-04_rb,9.7984e-05_rb/) kao(:, 5, 8, 3) = (/ & &8.2418e-04_rb,8.2930e-04_rb,7.7540e-04_rb,7.0471e-04_rb,6.2407e-04_rb,5.2518e-04_rb, & &4.1114e-04_rb,2.7739e-04_rb,1.2917e-04_rb/) kao(:, 1, 9, 3) = (/ & &2.9866e-03_rb,2.6446e-03_rb,2.3122e-03_rb,1.9743e-03_rb,1.6235e-03_rb,1.2497e-03_rb, & &8.7401e-04_rb,4.7254e-04_rb,6.5815e-05_rb/) kao(:, 2, 9, 3) = (/ & &3.1867e-03_rb,2.8548e-03_rb,2.5070e-03_rb,2.1512e-03_rb,1.7728e-03_rb,1.3804e-03_rb, & &9.6416e-04_rb,5.2342e-04_rb,8.4426e-05_rb/) kao(:, 3, 9, 3) = (/ & &3.3577e-03_rb,3.0331e-03_rb,2.6681e-03_rb,2.2844e-03_rb,1.8894e-03_rb,1.4824e-03_rb, & &1.0437e-03_rb,5.7926e-04_rb,1.1456e-04_rb/) kao(:, 4, 9, 3) = (/ & &3.5955e-03_rb,3.2669e-03_rb,2.8865e-03_rb,2.4786e-03_rb,2.0664e-03_rb,1.6261e-03_rb, & &1.1591e-03_rb,6.6253e-04_rb,1.4708e-04_rb/) kao(:, 5, 9, 3) = (/ & &3.9554e-03_rb,3.6156e-03_rb,3.2186e-03_rb,2.7765e-03_rb,2.3055e-03_rb,1.8177e-03_rb, & &1.3061e-03_rb,7.6692e-04_rb,1.9062e-04_rb/) kao(:, 1,10, 3) = (/ & &1.6695e-02_rb,1.4628e-02_rb,1.2561e-02_rb,1.0499e-02_rb,8.4474e-03_rb,6.4042e-03_rb, & &4.3459e-03_rb,2.2571e-03_rb,5.1038e-05_rb/) kao(:, 2,10, 3) = (/ & &1.8223e-02_rb,1.5977e-02_rb,1.3728e-02_rb,1.1517e-02_rb,9.2932e-03_rb,7.0542e-03_rb, & &4.8075e-03_rb,2.4890e-03_rb,1.1555e-04_rb/) kao(:, 3,10, 3) = (/ & &2.0043e-02_rb,1.7593e-02_rb,1.5175e-02_rb,1.2748e-02_rb,1.0288e-02_rb,7.8318e-03_rb, & &5.3279e-03_rb,2.7782e-03_rb,1.4398e-04_rb/) kao(:, 4,10, 3) = (/ & &2.1904e-02_rb,1.9249e-02_rb,1.6643e-02_rb,1.3989e-02_rb,1.1315e-02_rb,8.6138e-03_rb, & &5.8652e-03_rb,3.0632e-03_rb,1.9715e-04_rb/) kao(:, 5,10, 3) = (/ & &2.3159e-02_rb,2.0410e-02_rb,1.7664e-02_rb,1.4873e-02_rb,1.2019e-02_rb,9.1728e-03_rb, & &6.2874e-03_rb,3.3158e-03_rb,2.7195e-04_rb/) kao(:, 1,11, 3) = (/ & &3.2603e-02_rb,2.8559e-02_rb,2.4510e-02_rb,2.0449e-02_rb,1.6397e-02_rb,1.2361e-02_rb, & &8.3115e-03_rb,4.2614e-03_rb,4.3561e-05_rb/) kao(:, 2,11, 3) = (/ & &3.5490e-02_rb,3.1085e-02_rb,2.6692e-02_rb,2.2303e-02_rb,1.7919e-02_rb,1.3525e-02_rb, & &9.1241e-03_rb,4.6814e-03_rb,1.0680e-04_rb/) kao(:, 3,11, 3) = (/ & &3.8854e-02_rb,3.4035e-02_rb,2.9244e-02_rb,2.4483e-02_rb,1.9700e-02_rb,1.4916e-02_rb, & &1.0095e-02_rb,5.1808e-03_rb,1.8562e-04_rb/) kao(:, 4,11, 3) = (/ & &4.2305e-02_rb,3.7086e-02_rb,3.1904e-02_rb,2.6732e-02_rb,2.1504e-02_rb,1.6276e-02_rb, & &1.1000e-02_rb,5.6671e-03_rb,2.4195e-04_rb/) kao(:, 5,11, 3) = (/ & &4.6003e-02_rb,4.0358e-02_rb,3.4797e-02_rb,2.9165e-02_rb,2.3531e-02_rb,1.7850e-02_rb, & &1.2113e-02_rb,6.2729e-03_rb,3.2815e-04_rb/) kao(:, 1,12, 3) = (/ & &4.2717e-02_rb,3.7390e-02_rb,3.2076e-02_rb,2.6766e-02_rb,2.1453e-02_rb,1.6148e-02_rb, & &1.0833e-02_rb,5.5285e-03_rb,5.3162e-05_rb/) kao(:, 2,12, 3) = (/ & &4.7716e-02_rb,4.1793e-02_rb,3.5854e-02_rb,2.9930e-02_rb,2.4020e-02_rb,1.8099e-02_rb, & &1.2166e-02_rb,6.2010e-03_rb,1.2199e-04_rb/) kao(:, 3,12, 3) = (/ & &5.2485e-02_rb,4.5967e-02_rb,3.9456e-02_rb,3.2983e-02_rb,2.6496e-02_rb,1.9981e-02_rb, & &1.3462e-02_rb,6.8646e-03_rb,1.9551e-04_rb/) kao(:, 4,12, 3) = (/ & &5.6971e-02_rb,4.9905e-02_rb,4.2910e-02_rb,3.5876e-02_rb,2.8829e-02_rb,2.1772e-02_rb, & &1.4678e-02_rb,7.4885e-03_rb,2.4038e-04_rb/) kao(:, 5,12, 3) = (/ & &6.1845e-02_rb,5.4216e-02_rb,4.6694e-02_rb,3.9065e-02_rb,3.1428e-02_rb,2.3760e-02_rb, & &1.6034e-02_rb,8.2201e-03_rb,3.2330e-04_rb/) kao(:, 1,13, 3) = (/ & &4.4159e-02_rb,3.8661e-02_rb,3.3159e-02_rb,2.7655e-02_rb,2.2159e-02_rb,1.6679e-02_rb, & &1.1182e-02_rb,5.6866e-03_rb,7.0844e-05_rb/) kao(:, 2,13, 3) = (/ & &4.9543e-02_rb,4.3376e-02_rb,3.7217e-02_rb,3.1073e-02_rb,2.4939e-02_rb,1.8777e-02_rb, & &1.2622e-02_rb,6.4095e-03_rb,1.2350e-04_rb/) kao(:, 3,13, 3) = (/ & &5.4720e-02_rb,4.7942e-02_rb,4.1156e-02_rb,3.4403e-02_rb,2.7607e-02_rb,2.0806e-02_rb, & &1.3984e-02_rb,7.1021e-03_rb,1.5128e-04_rb/) kao(:, 4,13, 3) = (/ & &5.9716e-02_rb,5.2321e-02_rb,4.4977e-02_rb,3.7585e-02_rb,3.0190e-02_rb,2.2781e-02_rb, & &1.5325e-02_rb,7.8087e-03_rb,2.1269e-04_rb/) kao(:, 5,13, 3) = (/ & &6.4624e-02_rb,5.6664e-02_rb,4.8723e-02_rb,4.0765e-02_rb,3.2763e-02_rb,2.4744e-02_rb, & &1.6652e-02_rb,8.4913e-03_rb,3.0727e-04_rb/) kao(:, 1, 1, 4) = (/ & &5.7873e-05_rb,1.6488e-04_rb,2.0580e-04_rb,2.2960e-04_rb,2.3556e-04_rb,2.2261e-04_rb, & &2.0972e-04_rb,1.9322e-04_rb,1.3088e-04_rb/) kao(:, 2, 1, 4) = (/ & &6.6249e-05_rb,1.9462e-04_rb,2.4549e-04_rb,2.7463e-04_rb,2.7934e-04_rb,2.6538e-04_rb, & &2.3743e-04_rb,2.0925e-04_rb,1.7715e-04_rb/) kao(:, 3, 1, 4) = (/ & &7.5658e-05_rb,2.2561e-04_rb,2.8843e-04_rb,3.1940e-04_rb,3.2388e-04_rb,3.1216e-04_rb, & &2.9036e-04_rb,2.7653e-04_rb,2.3143e-04_rb/) kao(:, 4, 1, 4) = (/ & &8.5832e-05_rb,2.6205e-04_rb,3.3188e-04_rb,3.6495e-04_rb,3.7173e-04_rb,3.6401e-04_rb, & &3.4696e-04_rb,3.4171e-04_rb,2.9590e-04_rb/) kao(:, 5, 1, 4) = (/ & &9.6691e-05_rb,2.9985e-04_rb,3.7678e-04_rb,4.1538e-04_rb,4.2689e-04_rb,4.2505e-04_rb, & &4.1168e-04_rb,4.0784e-04_rb,3.7540e-04_rb/) kao(:, 1, 2, 4) = (/ & &8.0001e-05_rb,1.7863e-04_rb,2.1664e-04_rb,2.3517e-04_rb,2.4432e-04_rb,2.3529e-04_rb, & &2.0358e-04_rb,1.5402e-04_rb,1.1156e-04_rb/) kao(:, 2, 2, 4) = (/ & &9.2299e-05_rb,2.0953e-04_rb,2.5648e-04_rb,2.8347e-04_rb,2.9289e-04_rb,2.8063e-04_rb, & &2.4649e-04_rb,1.9992e-04_rb,1.5181e-04_rb/) kao(:, 3, 2, 4) = (/ & &1.0437e-04_rb,2.4399e-04_rb,3.0364e-04_rb,3.3466e-04_rb,3.4277e-04_rb,3.2781e-04_rb, & &2.9451e-04_rb,2.4303e-04_rb,2.0131e-04_rb/) kao(:, 4, 2, 4) = (/ & &1.1814e-04_rb,2.8134e-04_rb,3.5342e-04_rb,3.8732e-04_rb,3.9443e-04_rb,3.8031e-04_rb, & &3.4829e-04_rb,2.8801e-04_rb,2.6066e-04_rb/) kao(:, 5, 2, 4) = (/ & &1.3198e-04_rb,3.2404e-04_rb,4.0415e-04_rb,4.4181e-04_rb,4.5121e-04_rb,4.4037e-04_rb, & &4.0877e-04_rb,3.5353e-04_rb,3.3227e-04_rb/) kao(:, 1, 3, 4) = (/ & &1.4443e-04_rb,2.3826e-04_rb,2.7329e-04_rb,2.8523e-04_rb,2.8239e-04_rb,2.6871e-04_rb, & &2.4140e-04_rb,1.7625e-04_rb,9.1057e-05_rb/) kao(:, 2, 3, 4) = (/ & &1.6500e-04_rb,2.7899e-04_rb,3.2197e-04_rb,3.3661e-04_rb,3.4010e-04_rb,3.2744e-04_rb, & &2.9069e-04_rb,2.1583e-04_rb,1.2870e-04_rb/) kao(:, 3, 3, 4) = (/ & &1.8759e-04_rb,3.2667e-04_rb,3.7258e-04_rb,3.9759e-04_rb,4.0496e-04_rb,3.8750e-04_rb, & &3.4189e-04_rb,2.6207e-04_rb,1.7564e-04_rb/) kao(:, 4, 3, 4) = (/ & &2.1411e-04_rb,3.7810e-04_rb,4.3373e-04_rb,4.6557e-04_rb,4.7150e-04_rb,4.5014e-04_rb, & &3.9858e-04_rb,3.1356e-04_rb,2.3208e-04_rb/) kao(:, 5, 3, 4) = (/ & &2.3870e-04_rb,4.2957e-04_rb,5.0123e-04_rb,5.3924e-04_rb,5.3944e-04_rb,5.1553e-04_rb, & &4.6343e-04_rb,3.7106e-04_rb,2.9980e-04_rb/) kao(:, 1, 4, 4) = (/ & &2.6076e-04_rb,3.4439e-04_rb,3.6366e-04_rb,3.6515e-04_rb,3.5256e-04_rb,3.2080e-04_rb, & &2.7636e-04_rb,2.0889e-04_rb,8.2321e-05_rb/) kao(:, 2, 4, 4) = (/ & &2.9760e-04_rb,4.0373e-04_rb,4.3154e-04_rb,4.3412e-04_rb,4.1663e-04_rb,3.8448e-04_rb, & &3.3798e-04_rb,2.5481e-04_rb,1.1139e-04_rb/) kao(:, 3, 4, 4) = (/ & &3.4031e-04_rb,4.7084e-04_rb,5.0815e-04_rb,5.1064e-04_rb,4.9099e-04_rb,4.5954e-04_rb, & &4.0644e-04_rb,3.0187e-04_rb,1.5330e-04_rb/) kao(:, 4, 4, 4) = (/ & &3.8682e-04_rb,5.4745e-04_rb,5.9070e-04_rb,5.9370e-04_rb,5.7774e-04_rb,5.4347e-04_rb, & &4.7190e-04_rb,3.5452e-04_rb,2.0604e-04_rb/) kao(:, 5, 4, 4) = (/ & &4.3959e-04_rb,6.2729e-04_rb,6.7728e-04_rb,6.8652e-04_rb,6.7377e-04_rb,6.2625e-04_rb, & &5.4307e-04_rb,4.1535e-04_rb,2.7101e-04_rb/) kao(:, 1, 5, 4) = (/ & &4.3137e-04_rb,4.9354e-04_rb,4.9901e-04_rb,4.7432e-04_rb,4.3778e-04_rb,3.8485e-04_rb, & &3.1938e-04_rb,2.2709e-04_rb,7.3559e-05_rb/) kao(:, 2, 5, 4) = (/ & &4.9217e-04_rb,5.7735e-04_rb,5.8525e-04_rb,5.6095e-04_rb,5.2221e-04_rb,4.6398e-04_rb, & &3.8313e-04_rb,2.8160e-04_rb,1.0296e-04_rb/) kao(:, 3, 5, 4) = (/ & &5.6924e-04_rb,6.7555e-04_rb,6.8298e-04_rb,6.6362e-04_rb,6.1781e-04_rb,5.4692e-04_rb, & &4.5981e-04_rb,3.4088e-04_rb,1.4005e-04_rb/) kao(:, 4, 5, 4) = (/ & &6.5162e-04_rb,7.8635e-04_rb,7.9830e-04_rb,7.7682e-04_rb,7.2322e-04_rb,6.4526e-04_rb, & &5.4580e-04_rb,4.0061e-04_rb,1.8482e-04_rb/) kao(:, 5, 5, 4) = (/ & &7.5040e-04_rb,9.0883e-04_rb,9.2599e-04_rb,8.9925e-04_rb,8.3896e-04_rb,7.5567e-04_rb, & &6.3867e-04_rb,4.6416e-04_rb,2.4367e-04_rb/) kao(:, 1, 6, 4) = (/ & &6.5259e-04_rb,6.7358e-04_rb,6.6023e-04_rb,6.1431e-04_rb,5.5026e-04_rb,4.6572e-04_rb, & &3.6933e-04_rb,2.4724e-04_rb,6.3454e-05_rb/) kao(:, 2, 6, 4) = (/ & &7.5346e-04_rb,7.9866e-04_rb,7.7727e-04_rb,7.2579e-04_rb,6.4756e-04_rb,5.5655e-04_rb, & &4.4395e-04_rb,3.0264e-04_rb,8.7333e-05_rb/) kao(:, 3, 6, 4) = (/ & &8.8029e-04_rb,9.4301e-04_rb,9.1678e-04_rb,8.5383e-04_rb,7.6672e-04_rb,6.6157e-04_rb, & &5.3248e-04_rb,3.6645e-04_rb,1.2006e-04_rb/) kao(:, 4, 6, 4) = (/ & &1.0324e-03_rb,1.1112e-03_rb,1.0784e-03_rb,1.0064e-03_rb,9.0982e-04_rb,7.8126e-04_rb, & &6.2832e-04_rb,4.4008e-04_rb,1.6674e-04_rb/) kao(:, 5, 6, 4) = (/ & &1.1873e-03_rb,1.2942e-03_rb,1.2623e-03_rb,1.1793e-03_rb,1.0646e-03_rb,9.2296e-04_rb, & &7.3952e-04_rb,5.1891e-04_rb,2.2335e-04_rb/) kao(:, 1, 7, 4) = (/ & &1.0039e-03_rb,9.6265e-04_rb,8.9986e-04_rb,8.1533e-04_rb,7.1416e-04_rb,5.9439e-04_rb, & &4.5276e-04_rb,2.8651e-04_rb,6.5221e-05_rb/) kao(:, 2, 7, 4) = (/ & &1.1698e-03_rb,1.1414e-03_rb,1.0686e-03_rb,9.8012e-04_rb,8.6148e-04_rb,7.1658e-04_rb, & &5.4576e-04_rb,3.5076e-04_rb,8.8064e-05_rb/) kao(:, 3, 7, 4) = (/ & &1.3785e-03_rb,1.3654e-03_rb,1.2898e-03_rb,1.1834e-03_rb,1.0346e-03_rb,8.5792e-04_rb, & &6.6115e-04_rb,4.2986e-04_rb,1.2055e-04_rb/) kao(:, 4, 7, 4) = (/ & &1.6296e-03_rb,1.6337e-03_rb,1.5460e-03_rb,1.4118e-03_rb,1.2372e-03_rb,1.0278e-03_rb, & &7.9671e-04_rb,5.1331e-04_rb,1.5903e-04_rb/) kao(:, 5, 7, 4) = (/ & &1.9001e-03_rb,1.9217e-03_rb,1.8220e-03_rb,1.6571e-03_rb,1.4527e-03_rb,1.2164e-03_rb, & &9.4433e-04_rb,6.1289e-04_rb,2.0363e-04_rb/) kao(:, 1, 8, 4) = (/ & &1.8226e-03_rb,1.6514e-03_rb,1.4839e-03_rb,1.2932e-03_rb,1.0982e-03_rb,8.8723e-04_rb, & &6.5582e-04_rb,3.8869e-04_rb,7.0418e-05_rb/) kao(:, 2, 8, 4) = (/ & &2.1183e-03_rb,1.9484e-03_rb,1.7717e-03_rb,1.5557e-03_rb,1.3178e-03_rb,1.0649e-03_rb, & &7.9415e-04_rb,4.7222e-04_rb,9.8173e-05_rb/) kao(:, 3, 8, 4) = (/ & &2.5295e-03_rb,2.3395e-03_rb,2.1347e-03_rb,1.8817e-03_rb,1.6058e-03_rb,1.3046e-03_rb, & &9.6185e-04_rb,5.7415e-04_rb,1.2861e-04_rb/) kao(:, 4, 8, 4) = (/ & &3.0151e-03_rb,2.8208e-03_rb,2.5722e-03_rb,2.2683e-03_rb,1.9222e-03_rb,1.5620e-03_rb, & &1.1535e-03_rb,7.0406e-04_rb,1.7432e-04_rb/) kao(:, 5, 8, 4) = (/ & &3.5096e-03_rb,3.3177e-03_rb,3.0150e-03_rb,2.6542e-03_rb,2.2606e-03_rb,1.8422e-03_rb, & &1.3738e-03_rb,8.5046e-04_rb,2.3260e-04_rb/) kao(:, 1, 9, 4) = (/ & &7.9941e-03_rb,7.0328e-03_rb,6.0711e-03_rb,5.1105e-03_rb,4.1565e-03_rb,3.2070e-03_rb, & &2.2152e-03_rb,1.1971e-03_rb,7.9032e-05_rb/) kao(:, 2, 9, 4) = (/ & &8.9783e-03_rb,7.9063e-03_rb,6.8488e-03_rb,5.7943e-03_rb,4.7410e-03_rb,3.6528e-03_rb, & &2.5467e-03_rb,1.3852e-03_rb,1.1999e-04_rb/) kao(:, 3, 9, 4) = (/ & &1.0198e-02_rb,9.0183e-03_rb,7.8510e-03_rb,6.6811e-03_rb,5.4839e-03_rb,4.2200e-03_rb, & &2.9428e-03_rb,1.6034e-03_rb,1.6821e-04_rb/) kao(:, 4, 9, 4) = (/ & &1.1749e-02_rb,1.0423e-02_rb,9.0948e-03_rb,7.7411e-03_rb,6.3357e-03_rb,4.8731e-03_rb, & &3.3881e-03_rb,1.8608e-03_rb,2.4632e-04_rb/) kao(:, 5, 9, 4) = (/ & &1.3350e-02_rb,1.1910e-02_rb,1.0410e-02_rb,8.8879e-03_rb,7.2904e-03_rb,5.6383e-03_rb, & &3.9275e-03_rb,2.1612e-03_rb,3.3903e-04_rb/) kao(:, 1,10, 4) = (/ & &4.5801e-02_rb,4.0109e-02_rb,3.4395e-02_rb,2.8682e-02_rb,2.2984e-02_rb,1.7267e-02_rb, & &1.1579e-02_rb,5.9235e-03_rb,6.3484e-05_rb/) kao(:, 2,10, 4) = (/ & &4.9659e-02_rb,4.3500e-02_rb,3.7321e-02_rb,3.1127e-02_rb,2.4948e-02_rb,1.8778e-02_rb, & &1.2636e-02_rb,6.5101e-03_rb,9.5466e-05_rb/) kao(:, 3,10, 4) = (/ & &5.4357e-02_rb,4.7634e-02_rb,4.0874e-02_rb,3.4140e-02_rb,2.7418e-02_rb,2.0676e-02_rb, & &1.3967e-02_rb,7.2134e-03_rb,2.1246e-04_rb/) kao(:, 4,10, 4) = (/ & &6.0291e-02_rb,5.2843e-02_rb,4.5373e-02_rb,3.7958e-02_rb,3.0510e-02_rb,2.3082e-02_rb, & &1.5672e-02_rb,8.0960e-03_rb,3.5404e-04_rb/) kao(:, 5,10, 4) = (/ & &6.7661e-02_rb,5.9365e-02_rb,5.1042e-02_rb,4.2745e-02_rb,3.4451e-02_rb,2.6105e-02_rb, & &1.7693e-02_rb,9.1211e-03_rb,4.7192e-04_rb/) kao(:, 1,11, 4) = (/ & &9.0702e-02_rb,7.9394e-02_rb,6.8068e-02_rb,5.6747e-02_rb,4.5417e-02_rb,3.4107e-02_rb, & &2.2797e-02_rb,1.1511e-02_rb,7.5853e-05_rb/) kao(:, 2,11, 4) = (/ & &9.9244e-02_rb,8.6879e-02_rb,7.4483e-02_rb,6.2100e-02_rb,4.9720e-02_rb,3.7362e-02_rb, & &2.5008e-02_rb,1.2672e-02_rb,1.0256e-04_rb/) kao(:, 3,11, 4) = (/ & &1.0852e-01_rb,9.5023e-02_rb,8.1487e-02_rb,6.7960e-02_rb,5.4445e-02_rb,4.0919e-02_rb, & &2.7423e-02_rb,1.3982e-02_rb,1.6509e-04_rb/) kao(:, 4,11, 4) = (/ & &1.1956e-01_rb,1.0470e-01_rb,8.9828e-02_rb,7.4940e-02_rb,6.0117e-02_rb,4.5252e-02_rb, & &3.0437e-02_rb,1.5543e-02_rb,3.1661e-04_rb/) kao(:, 5,11, 4) = (/ & &1.3039e-01_rb,1.1429e-01_rb,9.8079e-02_rb,8.1967e-02_rb,6.5782e-02_rb,4.9565e-02_rb, & &3.3397e-02_rb,1.7070e-02_rb,5.0645e-04_rb/) kao(:, 1,12, 4) = (/ & &1.2021e-01_rb,1.0519e-01_rb,9.0195e-02_rb,7.5171e-02_rb,6.0154e-02_rb,4.5148e-02_rb, & &3.0151e-02_rb,1.5167e-02_rb,6.7632e-05_rb/) kao(:, 2,12, 4) = (/ & &1.3016e-01_rb,1.1394e-01_rb,9.7701e-02_rb,8.1469e-02_rb,6.5222e-02_rb,4.8981e-02_rb, & &3.2777e-02_rb,1.6564e-02_rb,9.6691e-05_rb/) kao(:, 3,12, 4) = (/ & &1.4257e-01_rb,1.2479e-01_rb,1.0706e-01_rb,8.9271e-02_rb,7.1459e-02_rb,5.3715e-02_rb, & &3.5967e-02_rb,1.8266e-02_rb,1.8650e-04_rb/) kao(:, 4,12, 4) = (/ & &1.5648e-01_rb,1.3701e-01_rb,1.1748e-01_rb,9.8018e-02_rb,7.8554e-02_rb,5.9075e-02_rb, & &3.9673e-02_rb,2.0186e-02_rb,3.5387e-04_rb/) kao(:, 5,12, 4) = (/ & &1.6740e-01_rb,1.4658e-01_rb,1.2570e-01_rb,1.0496e-01_rb,8.4156e-02_rb,6.3336e-02_rb, & &4.2553e-02_rb,2.1604e-02_rb,5.3320e-04_rb/) kao(:, 1,13, 4) = (/ & &1.2573e-01_rb,1.1000e-01_rb,9.4314e-02_rb,7.8615e-02_rb,6.2929e-02_rb,4.7219e-02_rb, & &3.1536e-02_rb,1.5865e-02_rb,5.0474e-05_rb/) kao(:, 2,13, 4) = (/ & &1.3569e-01_rb,1.1873e-01_rb,1.0180e-01_rb,8.4863e-02_rb,6.7917e-02_rb,5.1000e-02_rb, & &3.4100e-02_rb,1.7211e-02_rb,1.0366e-04_rb/) kao(:, 3,13, 4) = (/ & &1.4578e-01_rb,1.2755e-01_rb,1.0936e-01_rb,9.1174e-02_rb,7.3030e-02_rb,5.4868e-02_rb, & &3.6725e-02_rb,1.8584e-02_rb,2.4417e-04_rb/) kao(:, 4,13, 4) = (/ & &1.5300e-01_rb,1.3393e-01_rb,1.1485e-01_rb,9.5797e-02_rb,7.6755e-02_rb,5.7691e-02_rb, & &3.8700e-02_rb,1.9588e-02_rb,3.9463e-04_rb/) kao(:, 5,13, 4) = (/ & &1.5948e-01_rb,1.3959e-01_rb,1.1975e-01_rb,9.9939e-02_rb,8.0103e-02_rb,6.0267e-02_rb, & &4.0442e-02_rb,2.0476e-02_rb,5.2489e-04_rb/) kao(:, 1, 1, 5) = (/ & &3.0730e-04_rb,4.0869e-04_rb,4.2558e-04_rb,4.1836e-04_rb,3.9519e-04_rb,3.6372e-04_rb, & &2.8694e-04_rb,2.6584e-04_rb,2.1801e-04_rb/) kao(:, 2, 1, 5) = (/ & &3.2538e-04_rb,4.3862e-04_rb,4.6062e-04_rb,4.5800e-04_rb,4.4348e-04_rb,4.2125e-04_rb, & &3.6505e-04_rb,3.2613e-04_rb,2.9396e-04_rb/) kao(:, 3, 1, 5) = (/ & &3.3965e-04_rb,4.6778e-04_rb,5.0124e-04_rb,5.0588e-04_rb,5.0627e-04_rb,4.8837e-04_rb, & &4.4591e-04_rb,3.9091e-04_rb,3.8601e-04_rb/) kao(:, 4, 1, 5) = (/ & &3.5305e-04_rb,5.0005e-04_rb,5.4810e-04_rb,5.6545e-04_rb,5.7634e-04_rb,5.6350e-04_rb, & &5.3398e-04_rb,4.9322e-04_rb,4.9703e-04_rb/) kao(:, 5, 1, 5) = (/ & &3.6843e-04_rb,5.3559e-04_rb,6.0074e-04_rb,6.3388e-04_rb,6.5476e-04_rb,6.5121e-04_rb, & &6.3615e-04_rb,6.1596e-04_rb,6.2900e-04_rb/) kao(:, 1, 2, 5) = (/ & &4.2086e-04_rb,5.1417e-04_rb,5.1972e-04_rb,4.9790e-04_rb,4.6126e-04_rb,4.1005e-04_rb, & &3.3841e-04_rb,2.3086e-04_rb,1.8396e-04_rb/) kao(:, 2, 2, 5) = (/ & &4.4142e-04_rb,5.4838e-04_rb,5.5918e-04_rb,5.4271e-04_rb,5.1015e-04_rb,4.6371e-04_rb, & &3.9686e-04_rb,2.8420e-04_rb,2.4486e-04_rb/) kao(:, 3, 2, 5) = (/ & &4.6438e-04_rb,5.8432e-04_rb,6.0102e-04_rb,5.9651e-04_rb,5.6920e-04_rb,5.3041e-04_rb, & &4.5976e-04_rb,3.7342e-04_rb,3.2265e-04_rb/) kao(:, 4, 2, 5) = (/ & &4.8279e-04_rb,6.2418e-04_rb,6.4960e-04_rb,6.5695e-04_rb,6.3988e-04_rb,6.0274e-04_rb, & &5.3017e-04_rb,4.6801e-04_rb,4.1702e-04_rb/) kao(:, 5, 2, 5) = (/ & &4.9938e-04_rb,6.6314e-04_rb,7.0911e-04_rb,7.2552e-04_rb,7.1847e-04_rb,6.8356e-04_rb, & &6.1801e-04_rb,5.7242e-04_rb,5.3937e-04_rb/) kao(:, 1, 3, 5) = (/ & &7.5073e-04_rb,8.1743e-04_rb,7.9414e-04_rb,7.4039e-04_rb,6.6425e-04_rb,5.6902e-04_rb, & &4.5211e-04_rb,2.9071e-04_rb,1.7629e-04_rb/) kao(:, 2, 3, 5) = (/ & &7.9242e-04_rb,8.7156e-04_rb,8.5005e-04_rb,8.0165e-04_rb,7.1947e-04_rb,6.2467e-04_rb, & &5.0816e-04_rb,3.5038e-04_rb,2.3642e-04_rb/) kao(:, 3, 3, 5) = (/ & &8.3043e-04_rb,9.2555e-04_rb,9.1453e-04_rb,8.6093e-04_rb,7.8464e-04_rb,6.9275e-04_rb, & &5.7807e-04_rb,4.1288e-04_rb,3.0691e-04_rb/) kao(:, 4, 3, 5) = (/ & &8.6053e-04_rb,9.7674e-04_rb,9.7765e-04_rb,9.2813e-04_rb,8.5853e-04_rb,7.7377e-04_rb, & &6.5702e-04_rb,4.8317e-04_rb,3.9911e-04_rb/) kao(:, 5, 3, 5) = (/ & &8.9084e-04_rb,1.0351e-03_rb,1.0435e-03_rb,1.0049e-03_rb,9.4814e-04_rb,8.6574e-04_rb, & &7.4637e-04_rb,5.6491e-04_rb,5.0649e-04_rb/) kao(:, 1, 4, 5) = (/ & &1.3691e-03_rb,1.3420e-03_rb,1.2789e-03_rb,1.1571e-03_rb,1.0054e-03_rb,8.3457e-04_rb, & &6.3859e-04_rb,4.0761e-04_rb,1.5090e-04_rb/) kao(:, 2, 4, 5) = (/ & &1.4497e-03_rb,1.4458e-03_rb,1.3693e-03_rb,1.2399e-03_rb,1.0886e-03_rb,9.0944e-04_rb, & &6.9922e-04_rb,4.5891e-04_rb,2.1864e-04_rb/) kao(:, 3, 4, 5) = (/ & &1.5092e-03_rb,1.5288e-03_rb,1.4492e-03_rb,1.3231e-03_rb,1.1702e-03_rb,9.8222e-04_rb, & &7.7013e-04_rb,5.2474e-04_rb,3.0407e-04_rb/) kao(:, 4, 4, 5) = (/ & &1.5602e-03_rb,1.6068e-03_rb,1.5312e-03_rb,1.4087e-03_rb,1.2594e-03_rb,1.0655e-03_rb, & &8.5735e-04_rb,5.9578e-04_rb,3.9268e-04_rb/) kao(:, 5, 4, 5) = (/ & &1.6108e-03_rb,1.6853e-03_rb,1.6164e-03_rb,1.5057e-03_rb,1.3492e-03_rb,1.1682e-03_rb, & &9.6058e-04_rb,6.7959e-04_rb,4.9525e-04_rb/) kao(:, 1, 5, 5) = (/ & &2.3434e-03_rb,2.1631e-03_rb,1.9859e-03_rb,1.7683e-03_rb,1.5141e-03_rb,1.2226e-03_rb, & &8.9923e-04_rb,5.4477e-04_rb,1.2575e-04_rb/) kao(:, 2, 5, 5) = (/ & &2.4752e-03_rb,2.3171e-03_rb,2.1360e-03_rb,1.9016e-03_rb,1.6214e-03_rb,1.3108e-03_rb, & &9.7831e-04_rb,5.9705e-04_rb,1.8419e-04_rb/) kao(:, 3, 5, 5) = (/ & &2.5685e-03_rb,2.4387e-03_rb,2.2507e-03_rb,2.0028e-03_rb,1.7171e-03_rb,1.4030e-03_rb, & &1.0542e-03_rb,6.5942e-04_rb,2.6114e-04_rb/) kao(:, 4, 5, 5) = (/ & &2.6469e-03_rb,2.5385e-03_rb,2.3599e-03_rb,2.1047e-03_rb,1.8139e-03_rb,1.4974e-03_rb, & &1.1404e-03_rb,7.3650e-04_rb,3.6173e-04_rb/) kao(:, 5, 5, 5) = (/ & &2.7111e-03_rb,2.6448e-03_rb,2.4645e-03_rb,2.2107e-03_rb,1.9222e-03_rb,1.6048e-03_rb, & &1.2367e-03_rb,8.2822e-04_rb,4.7124e-04_rb/) kao(:, 1, 6, 5) = (/ & &3.6870e-03_rb,3.3081e-03_rb,2.9535e-03_rb,2.5781e-03_rb,2.1710e-03_rb,1.7353e-03_rb, & &1.2527e-03_rb,7.1995e-04_rb,1.0649e-04_rb/) kao(:, 2, 6, 5) = (/ & &3.8867e-03_rb,3.5260e-03_rb,3.1721e-03_rb,2.7718e-03_rb,2.3392e-03_rb,1.8682e-03_rb, & &1.3468e-03_rb,7.8719e-04_rb,1.5668e-04_rb/) kao(:, 3, 6, 5) = (/ & &4.0284e-03_rb,3.6872e-03_rb,3.3334e-03_rb,2.9169e-03_rb,2.4661e-03_rb,1.9733e-03_rb, & &1.4372e-03_rb,8.5750e-04_rb,2.1580e-04_rb/) kao(:, 4, 6, 5) = (/ & &4.1355e-03_rb,3.8269e-03_rb,3.4723e-03_rb,3.0564e-03_rb,2.5962e-03_rb,2.0858e-03_rb, & &1.5388e-03_rb,9.2919e-04_rb,2.8921e-04_rb/) kao(:, 5, 6, 5) = (/ & &4.2530e-03_rb,3.9771e-03_rb,3.6076e-03_rb,3.1973e-03_rb,2.7175e-03_rb,2.1980e-03_rb, & &1.6503e-03_rb,1.0123e-03_rb,3.9933e-04_rb/) kao(:, 1, 7, 5) = (/ & &5.9303e-03_rb,5.2537e-03_rb,4.6038e-03_rb,3.9568e-03_rb,3.2763e-03_rb,2.5699e-03_rb, & &1.8266e-03_rb,1.0238e-03_rb,9.0759e-05_rb/) kao(:, 2, 7, 5) = (/ & &6.2719e-03_rb,5.5854e-03_rb,4.9264e-03_rb,4.2403e-03_rb,3.5196e-03_rb,2.7643e-03_rb, & &1.9714e-03_rb,1.1058e-03_rb,1.3173e-04_rb/) kao(:, 3, 7, 5) = (/ & &6.5193e-03_rb,5.8407e-03_rb,5.1576e-03_rb,4.4431e-03_rb,3.6909e-03_rb,2.9114e-03_rb, & &2.0825e-03_rb,1.1806e-03_rb,1.8536e-04_rb/) kao(:, 4, 7, 5) = (/ & &6.6989e-03_rb,6.0314e-03_rb,5.3552e-03_rb,4.6281e-03_rb,3.8605e-03_rb,3.0624e-03_rb, & &2.1992e-03_rb,1.2697e-03_rb,2.6787e-04_rb/) kao(:, 5, 7, 5) = (/ & &6.9450e-03_rb,6.3008e-03_rb,5.6152e-03_rb,4.8622e-03_rb,4.0675e-03_rb,3.2291e-03_rb, & &2.3204e-03_rb,1.3675e-03_rb,3.5672e-04_rb/) kao(:, 1, 8, 5) = (/ & &1.1078e-02_rb,9.7294e-03_rb,8.3981e-03_rb,7.0957e-03_rb,5.7917e-03_rb,4.4718e-03_rb, & &3.1091e-03_rb,1.6886e-03_rb,1.1294e-04_rb/) kao(:, 2, 8, 5) = (/ & &1.1717e-02_rb,1.0310e-02_rb,8.9257e-03_rb,7.5752e-03_rb,6.2113e-03_rb,4.8050e-03_rb, & &3.3497e-03_rb,1.8274e-03_rb,1.4724e-04_rb/) kao(:, 3, 8, 5) = (/ & &1.2207e-02_rb,1.0778e-02_rb,9.3683e-03_rb,7.9668e-03_rb,6.5278e-03_rb,5.0484e-03_rb, & &3.5310e-03_rb,1.9391e-03_rb,2.0653e-04_rb/) kao(:, 4, 8, 5) = (/ & &1.2674e-02_rb,1.1230e-02_rb,9.8021e-03_rb,8.3609e-03_rb,6.8807e-03_rb,5.3359e-03_rb, & &3.7364e-03_rb,2.0615e-03_rb,2.8343e-04_rb/) kao(:, 5, 8, 5) = (/ & &1.3265e-02_rb,1.1790e-02_rb,1.0322e-02_rb,8.8148e-03_rb,7.2381e-03_rb,5.6108e-03_rb, & &3.9433e-03_rb,2.1912e-03_rb,3.7254e-04_rb/) kao(:, 1, 9, 5) = (/ & &3.7052e-02_rb,3.2437e-02_rb,2.7835e-02_rb,2.3250e-02_rb,1.8658e-02_rb,1.4080e-02_rb, & &9.5558e-03_rb,4.9966e-03_rb,1.9423e-04_rb/) kao(:, 2, 9, 5) = (/ & &3.9539e-02_rb,3.4640e-02_rb,2.9744e-02_rb,2.4857e-02_rb,1.9981e-02_rb,1.5146e-02_rb, & &1.0322e-02_rb,5.4117e-03_rb,2.4661e-04_rb/) kao(:, 3, 9, 5) = (/ & &4.1918e-02_rb,3.6737e-02_rb,3.1561e-02_rb,2.6402e-02_rb,2.1269e-02_rb,1.6195e-02_rb, & &1.1056e-02_rb,5.7963e-03_rb,3.2011e-04_rb/) kao(:, 4, 9, 5) = (/ & &4.4100e-02_rb,3.8673e-02_rb,3.3273e-02_rb,2.7895e-02_rb,2.2554e-02_rb,1.7214e-02_rb, & &1.1779e-02_rb,6.1756e-03_rb,4.1260e-04_rb/) kao(:, 5, 9, 5) = (/ & &4.6405e-02_rb,4.0709e-02_rb,3.5073e-02_rb,2.9453e-02_rb,2.3852e-02_rb,1.8195e-02_rb, & &1.2445e-02_rb,6.5667e-03_rb,5.2938e-04_rb/) kao(:, 1,10, 5) = (/ & &1.5260e-01_rb,1.3356e-01_rb,1.1452e-01_rb,9.5486e-02_rb,7.6440e-02_rb,5.7459e-02_rb, & &3.8411e-02_rb,1.9334e-02_rb,1.8781e-04_rb/) kao(:, 2,10, 5) = (/ & &1.6192e-01_rb,1.4171e-01_rb,1.2154e-01_rb,1.0139e-01_rb,8.1225e-02_rb,6.1032e-02_rb, & &4.0817e-02_rb,2.0639e-02_rb,3.0020e-04_rb/) kao(:, 3,10, 5) = (/ & &1.6952e-01_rb,1.4839e-01_rb,1.2731e-01_rb,1.0623e-01_rb,8.5090e-02_rb,6.3990e-02_rb, & &4.2882e-02_rb,2.1810e-02_rb,3.7223e-04_rb/) kao(:, 4,10, 5) = (/ & &1.7675e-01_rb,1.5478e-01_rb,1.3285e-01_rb,1.1085e-01_rb,8.8843e-02_rb,6.6852e-02_rb, & &4.4829e-02_rb,2.2833e-02_rb,4.6711e-04_rb/) kao(:, 5,10, 5) = (/ & &1.8239e-01_rb,1.5968e-01_rb,1.3704e-01_rb,1.1434e-01_rb,9.1701e-02_rb,6.9058e-02_rb, & &4.6429e-02_rb,2.3733e-02_rb,6.6086e-04_rb/) kao(:, 1,11, 5) = (/ & &2.7058e-01_rb,2.3683e-01_rb,2.0302e-01_rb,1.6928e-01_rb,1.3552e-01_rb,1.0170e-01_rb, & &6.7859e-02_rb,3.4017e-02_rb,1.5001e-04_rb/) kao(:, 2,11, 5) = (/ & &2.7834e-01_rb,2.4359e-01_rb,2.0889e-01_rb,1.7416e-01_rb,1.3942e-01_rb,1.0462e-01_rb, & &6.9857e-02_rb,3.5072e-02_rb,2.9190e-04_rb/) kao(:, 3,11, 5) = (/ & &2.8582e-01_rb,2.5022e-01_rb,2.1462e-01_rb,1.7895e-01_rb,1.4327e-01_rb,1.0754e-01_rb, & &7.1838e-02_rb,3.6157e-02_rb,3.9721e-04_rb/) kao(:, 4,11, 5) = (/ & &2.8898e-01_rb,2.5301e-01_rb,2.1700e-01_rb,1.8097e-01_rb,1.4487e-01_rb,1.0884e-01_rb, & &7.2766e-02_rb,3.6699e-02_rb,5.3597e-04_rb/) kao(:, 5,11, 5) = (/ & &2.9536e-01_rb,2.5857e-01_rb,2.2177e-01_rb,1.8491e-01_rb,1.4809e-01_rb,1.1136e-01_rb, & &7.4481e-02_rb,3.7679e-02_rb,7.1552e-04_rb/) kao(:, 1,12, 5) = (/ & &3.2683e-01_rb,2.8605e-01_rb,2.4525e-01_rb,2.0441e-01_rb,1.6361e-01_rb,1.2282e-01_rb, & &8.1893e-02_rb,4.1016e-02_rb,1.4076e-04_rb/) kao(:, 2,12, 5) = (/ & &3.3106e-01_rb,2.8971e-01_rb,2.4839e-01_rb,2.0704e-01_rb,1.6570e-01_rb,1.2434e-01_rb, & &8.2938e-02_rb,4.1600e-02_rb,2.8033e-04_rb/) kao(:, 3,12, 5) = (/ & &3.3746e-01_rb,2.9539e-01_rb,2.5326e-01_rb,2.1111e-01_rb,1.6904e-01_rb,1.2682e-01_rb, & &8.4697e-02_rb,4.2481e-02_rb,3.8254e-04_rb/) kao(:, 4,12, 5) = (/ & &3.4047e-01_rb,2.9813e-01_rb,2.5560e-01_rb,2.1310e-01_rb,1.7062e-01_rb,1.2812e-01_rb, & &8.5526e-02_rb,4.3047e-02_rb,5.1612e-04_rb/) kao(:, 5,12, 5) = (/ & &3.4523e-01_rb,3.0226e-01_rb,2.5919e-01_rb,2.1613e-01_rb,1.7310e-01_rb,1.3003e-01_rb, & &8.6933e-02_rb,4.3928e-02_rb,7.3625e-04_rb/) kao(:, 1,13, 5) = (/ & &2.9792e-01_rb,2.6068e-01_rb,2.2349e-01_rb,1.8628e-01_rb,1.4905e-01_rb,1.1181e-01_rb, & &7.4561e-02_rb,3.7329e-02_rb,1.5388e-04_rb/) kao(:, 2,13, 5) = (/ & &3.0081e-01_rb,2.6326e-01_rb,2.2566e-01_rb,1.8811e-01_rb,1.5050e-01_rb,1.1291e-01_rb, & &7.5310e-02_rb,3.7768e-02_rb,2.8934e-04_rb/) kao(:, 3,13, 5) = (/ & &3.0121e-01_rb,2.6362e-01_rb,2.2602e-01_rb,1.8840e-01_rb,1.5077e-01_rb,1.1318e-01_rb, & &7.5585e-02_rb,3.7991e-02_rb,3.3166e-04_rb/) kao(:, 4,13, 5) = (/ & &3.0495e-01_rb,2.6698e-01_rb,2.2888e-01_rb,1.9082e-01_rb,1.5277e-01_rb,1.1476e-01_rb, & &7.6636e-02_rb,3.8673e-02_rb,4.6400e-04_rb/) kao(:, 5,13, 5) = (/ & &3.1093e-01_rb,2.7226e-01_rb,2.3342e-01_rb,1.9467e-01_rb,1.5596e-01_rb,1.1716e-01_rb, & &7.8384e-02_rb,3.9602e-02_rb,6.9078e-04_rb/) kao(:, 1, 1, 6) = (/ & &6.7719e-04_rb,7.1472e-04_rb,7.1797e-04_rb,6.8628e-04_rb,6.3509e-04_rb,5.7059e-04_rb, & &5.0987e-04_rb,3.4938e-04_rb,4.0895e-04_rb/) kao(:, 2, 1, 6) = (/ & &6.7482e-04_rb,7.4520e-04_rb,7.5758e-04_rb,7.4570e-04_rb,7.0620e-04_rb,6.5805e-04_rb, & &6.1645e-04_rb,4.7281e-04_rb,5.4801e-04_rb/) kao(:, 3, 1, 6) = (/ & &6.7924e-04_rb,7.8313e-04_rb,8.0713e-04_rb,8.1739e-04_rb,7.9231e-04_rb,7.6723e-04_rb, & &7.3523e-04_rb,6.1861e-04_rb,7.0683e-04_rb/) kao(:, 4, 1, 6) = (/ & &6.8649e-04_rb,8.2657e-04_rb,8.7129e-04_rb,9.0685e-04_rb,8.9681e-04_rb,8.9801e-04_rb, & &8.6860e-04_rb,7.7360e-04_rb,8.9309e-04_rb/) kao(:, 5, 1, 6) = (/ & &6.9142e-04_rb,8.7359e-04_rb,9.5301e-04_rb,1.0075e-03_rb,1.0203e-03_rb,1.0461e-03_rb, & &1.0218e-03_rb,9.5114e-04_rb,1.0965e-03_rb/) kao(:, 1, 2, 6) = (/ & &9.6029e-04_rb,9.5330e-04_rb,9.1502e-04_rb,8.4442e-04_rb,7.4240e-04_rb,6.3131e-04_rb, & &5.2007e-04_rb,3.7829e-04_rb,3.5691e-04_rb/) kao(:, 2, 2, 6) = (/ & &9.5985e-04_rb,9.8942e-04_rb,9.6445e-04_rb,8.9433e-04_rb,8.0300e-04_rb,7.0134e-04_rb, & &6.1315e-04_rb,5.0159e-04_rb,4.8663e-04_rb/) kao(:, 3, 2, 6) = (/ & &9.6320e-04_rb,1.0310e-03_rb,1.0191e-03_rb,9.5205e-04_rb,8.7761e-04_rb,7.9453e-04_rb, & &7.3253e-04_rb,6.2365e-04_rb,6.4547e-04_rb/) kao(:, 4, 2, 6) = (/ & &9.7399e-04_rb,1.0755e-03_rb,1.0817e-03_rb,1.0333e-03_rb,9.7218e-04_rb,9.1068e-04_rb, & &8.7686e-04_rb,7.5862e-04_rb,8.3212e-04_rb/) kao(:, 5, 2, 6) = (/ & &9.8138e-04_rb,1.1324e-03_rb,1.1507e-03_rb,1.1333e-03_rb,1.0937e-03_rb,1.0509e-03_rb, & &1.0310e-03_rb,9.0559e-04_rb,1.0246e-03_rb/) kao(:, 1, 3, 6) = (/ & &1.8119e-03_rb,1.6817e-03_rb,1.5499e-03_rb,1.3740e-03_rb,1.1743e-03_rb,9.5554e-04_rb, & &7.1656e-04_rb,4.7034e-04_rb,2.9777e-04_rb/) kao(:, 2, 3, 6) = (/ & &1.8107e-03_rb,1.7310e-03_rb,1.6189e-03_rb,1.4391e-03_rb,1.2510e-03_rb,1.0204e-03_rb, & &7.8709e-04_rb,5.5271e-04_rb,4.0666e-04_rb/) kao(:, 3, 3, 6) = (/ & &1.8217e-03_rb,1.7823e-03_rb,1.6795e-03_rb,1.5235e-03_rb,1.3331e-03_rb,1.1033e-03_rb, & &8.7727e-04_rb,6.6343e-04_rb,5.5347e-04_rb/) kao(:, 4, 3, 6) = (/ & &1.8325e-03_rb,1.8451e-03_rb,1.7507e-03_rb,1.6178e-03_rb,1.4289e-03_rb,1.2102e-03_rb, & &9.9121e-04_rb,7.9875e-04_rb,7.2923e-04_rb/) kao(:, 5, 3, 6) = (/ & &1.8499e-03_rb,1.9065e-03_rb,1.8500e-03_rb,1.7218e-03_rb,1.5483e-03_rb,1.3411e-03_rb, & &1.1326e-03_rb,9.4539e-04_rb,9.3725e-04_rb/) kao(:, 1, 4, 6) = (/ & &3.4114e-03_rb,3.0491e-03_rb,2.7140e-03_rb,2.3662e-03_rb,1.9783e-03_rb,1.5658e-03_rb, & &1.1300e-03_rb,6.5946e-04_rb,2.6201e-04_rb/) kao(:, 2, 4, 6) = (/ & &3.4376e-03_rb,3.0989e-03_rb,2.7962e-03_rb,2.4537e-03_rb,2.0666e-03_rb,1.6491e-03_rb, & &1.2098e-03_rb,7.2995e-04_rb,3.5441e-04_rb/) kao(:, 3, 4, 6) = (/ & &3.4485e-03_rb,3.1733e-03_rb,2.8848e-03_rb,2.5421e-03_rb,2.1715e-03_rb,1.7580e-03_rb, & &1.3056e-03_rb,8.1745e-04_rb,4.7057e-04_rb/) kao(:, 4, 4, 6) = (/ & &3.4770e-03_rb,3.2632e-03_rb,3.0027e-03_rb,2.6508e-03_rb,2.2906e-03_rb,1.8839e-03_rb, & &1.4242e-03_rb,9.3156e-04_rb,6.1906e-04_rb/) kao(:, 5, 4, 6) = (/ & &3.5195e-03_rb,3.3661e-03_rb,3.1261e-03_rb,2.7792e-03_rb,2.4277e-03_rb,2.0261e-03_rb, & &1.5634e-03_rb,1.0703e-03_rb,8.1465e-04_rb/) kao(:, 1, 5, 6) = (/ & &5.7502e-03_rb,5.0807e-03_rb,4.4217e-03_rb,3.7897e-03_rb,3.1287e-03_rb,2.4547e-03_rb, & &1.7341e-03_rb,9.6239e-04_rb,2.4204e-04_rb/) kao(:, 2, 5, 6) = (/ & &5.7894e-03_rb,5.1466e-03_rb,4.5231e-03_rb,3.9026e-03_rb,3.2431e-03_rb,2.5561e-03_rb, & &1.8209e-03_rb,1.0387e-03_rb,3.3073e-04_rb/) kao(:, 3, 5, 6) = (/ & &5.8510e-03_rb,5.2408e-03_rb,4.6666e-03_rb,4.0479e-03_rb,3.3863e-03_rb,2.6690e-03_rb, & &1.9231e-03_rb,1.1318e-03_rb,4.4023e-04_rb/) kao(:, 4, 5, 6) = (/ & &5.9488e-03_rb,5.3756e-03_rb,4.8127e-03_rb,4.2175e-03_rb,3.5437e-03_rb,2.8108e-03_rb, & &2.0541e-03_rb,1.2413e-03_rb,5.7017e-04_rb/) kao(:, 5, 5, 6) = (/ & &6.0632e-03_rb,5.5286e-03_rb,4.9850e-03_rb,4.3894e-03_rb,3.7125e-03_rb,2.9737e-03_rb, & &2.2202e-03_rb,1.3784e-03_rb,7.3804e-04_rb/) kao(:, 1, 6, 6) = (/ & &9.0144e-03_rb,7.9241e-03_rb,6.8389e-03_rb,5.7807e-03_rb,4.7224e-03_rb,3.6386e-03_rb, & &2.5487e-03_rb,1.3755e-03_rb,2.0268e-04_rb/) kao(:, 2, 6, 6) = (/ & &9.0405e-03_rb,7.9650e-03_rb,6.9105e-03_rb,5.8762e-03_rb,4.8286e-03_rb,3.7488e-03_rb, & &2.6372e-03_rb,1.4443e-03_rb,2.8152e-04_rb/) kao(:, 3, 6, 6) = (/ & &9.2000e-03_rb,8.1570e-03_rb,7.1089e-03_rb,6.0851e-03_rb,5.0081e-03_rb,3.9064e-03_rb, & &2.7603e-03_rb,1.5330e-03_rb,3.9833e-04_rb/) kao(:, 4, 6, 6) = (/ & &9.3676e-03_rb,8.3397e-03_rb,7.3293e-03_rb,6.2884e-03_rb,5.2172e-03_rb,4.0838e-03_rb, & &2.8967e-03_rb,1.6576e-03_rb,5.5504e-04_rb/) kao(:, 5, 6, 6) = (/ & &9.5404e-03_rb,8.5459e-03_rb,7.5717e-03_rb,6.5076e-03_rb,5.4312e-03_rb,4.2828e-03_rb, & &3.0616e-03_rb,1.8170e-03_rb,7.2861e-04_rb/) kao(:, 1, 7, 6) = (/ & &1.4907e-02_rb,1.3059e-02_rb,1.1219e-02_rb,9.3912e-03_rb,7.6074e-03_rb,5.8006e-03_rb, & &3.9637e-03_rb,2.0976e-03_rb,1.8870e-04_rb/) kao(:, 2, 7, 6) = (/ & &1.4960e-02_rb,1.3123e-02_rb,1.1304e-02_rb,9.5034e-03_rb,7.7189e-03_rb,5.9029e-03_rb, & &4.0714e-03_rb,2.1752e-03_rb,2.5278e-04_rb/) kao(:, 3, 7, 6) = (/ & &1.5077e-02_rb,1.3255e-02_rb,1.1479e-02_rb,9.6943e-03_rb,7.9204e-03_rb,6.0871e-03_rb, & &4.2229e-03_rb,2.2784e-03_rb,3.4866e-04_rb/) kao(:, 4, 7, 6) = (/ & &1.5413e-02_rb,1.3606e-02_rb,1.1805e-02_rb,1.0016e-02_rb,8.1764e-03_rb,6.3063e-03_rb, & &4.3884e-03_rb,2.3906e-03_rb,4.7884e-04_rb/) kao(:, 5, 7, 6) = (/ & &1.5640e-02_rb,1.3874e-02_rb,1.2089e-02_rb,1.0323e-02_rb,8.4660e-03_rb,6.5392e-03_rb, & &4.5932e-03_rb,2.5421e-03_rb,6.8588e-04_rb/) kao(:, 1, 8, 6) = (/ & &2.8559e-02_rb,2.4997e-02_rb,2.1448e-02_rb,1.7898e-02_rb,1.4352e-02_rb,1.0840e-02_rb, & &7.3538e-03_rb,3.7976e-03_rb,1.9487e-04_rb/) kao(:, 2, 8, 6) = (/ & &2.8738e-02_rb,2.5172e-02_rb,2.1609e-02_rb,1.8050e-02_rb,1.4521e-02_rb,1.1028e-02_rb, & &7.4791e-03_rb,3.8937e-03_rb,2.5597e-04_rb/) kao(:, 3, 8, 6) = (/ & &2.9088e-02_rb,2.5505e-02_rb,2.1920e-02_rb,1.8369e-02_rb,1.4844e-02_rb,1.1305e-02_rb, & &7.7085e-03_rb,4.0334e-03_rb,3.3647e-04_rb/) kao(:, 4, 8, 6) = (/ & &2.9471e-02_rb,2.5866e-02_rb,2.2282e-02_rb,1.8723e-02_rb,1.5191e-02_rb,1.1604e-02_rb, & &7.9478e-03_rb,4.2092e-03_rb,4.5107e-04_rb/) kao(:, 5, 8, 6) = (/ & &2.9965e-02_rb,2.6334e-02_rb,2.2760e-02_rb,1.9185e-02_rb,1.5605e-02_rb,1.1940e-02_rb, & &8.2260e-03_rb,4.4031e-03_rb,6.3668e-04_rb/) kao(:, 1, 9, 6) = (/ & &1.0333e-01_rb,9.0409e-02_rb,7.7506e-02_rb,6.4597e-02_rb,5.1717e-02_rb,3.8817e-02_rb, & &2.5905e-02_rb,1.3064e-02_rb,2.4712e-04_rb/) kao(:, 2, 9, 6) = (/ & &1.0373e-01_rb,9.0771e-02_rb,7.7825e-02_rb,6.4896e-02_rb,5.1961e-02_rb,3.9016e-02_rb, & &2.6085e-02_rb,1.3262e-02_rb,3.3832e-04_rb/) kao(:, 3, 9, 6) = (/ & &1.0493e-01_rb,9.1818e-02_rb,7.8786e-02_rb,6.5718e-02_rb,5.2648e-02_rb,3.9574e-02_rb, & &2.6569e-02_rb,1.3576e-02_rb,4.4601e-04_rb/) kao(:, 4, 9, 6) = (/ & &1.0587e-01_rb,9.2691e-02_rb,7.9566e-02_rb,6.6407e-02_rb,5.3246e-02_rb,4.0117e-02_rb, & &2.7043e-02_rb,1.3891e-02_rb,5.4826e-04_rb/) kao(:, 5, 9, 6) = (/ & &1.0759e-01_rb,9.4255e-02_rb,8.0925e-02_rb,6.7610e-02_rb,5.4300e-02_rb,4.1036e-02_rb, & &2.7792e-02_rb,1.4265e-02_rb,6.4886e-04_rb/) kao(:, 1,10, 6) = (/ & &3.9062e-01_rb,3.4177e-01_rb,2.9293e-01_rb,2.4412e-01_rb,1.9530e-01_rb,1.4643e-01_rb, & &9.7639e-02_rb,4.8848e-02_rb,1.4547e-04_rb/) kao(:, 2,10, 6) = (/ & &3.9313e-01_rb,3.4397e-01_rb,2.9486e-01_rb,2.4569e-01_rb,1.9653e-01_rb,1.4745e-01_rb, & &9.8352e-02_rb,4.9236e-02_rb,2.6944e-04_rb/) kao(:, 3,10, 6) = (/ & &3.9636e-01_rb,3.4679e-01_rb,2.9726e-01_rb,2.4770e-01_rb,1.9822e-01_rb,1.4872e-01_rb, & &9.9231e-02_rb,4.9728e-02_rb,4.9543e-04_rb/) kao(:, 4,10, 6) = (/ & &4.0190e-01_rb,3.5169e-01_rb,3.0137e-01_rb,2.5124e-01_rb,2.0112e-01_rb,1.5095e-01_rb, & &1.0079e-01_rb,5.0721e-02_rb,7.4715e-04_rb/) kao(:, 5,10, 6) = (/ & &4.1118e-01_rb,3.5981e-01_rb,3.0844e-01_rb,2.5722e-01_rb,2.0591e-01_rb,1.5462e-01_rb, & &1.0334e-01_rb,5.2226e-02_rb,1.0737e-03_rb/) kao(:, 1,11, 6) = (/ & &5.2843e-01_rb,4.6229e-01_rb,3.9627e-01_rb,3.3017e-01_rb,2.6411e-01_rb,1.9813e-01_rb, & &1.3214e-01_rb,6.6158e-02_rb,1.5345e-04_rb/) kao(:, 2,11, 6) = (/ & &5.2350e-01_rb,4.5807e-01_rb,3.9260e-01_rb,3.2718e-01_rb,2.6177e-01_rb,1.9641e-01_rb, & &1.3106e-01_rb,6.5668e-02_rb,2.3814e-04_rb/) kao(:, 3,11, 6) = (/ & &5.2048e-01_rb,4.5536e-01_rb,3.9029e-01_rb,3.2525e-01_rb,2.6032e-01_rb,1.9539e-01_rb, & &1.3041e-01_rb,6.5403e-02_rb,4.8642e-04_rb/) kao(:, 4,11, 6) = (/ & &5.2442e-01_rb,4.5878e-01_rb,3.9329e-01_rb,3.2791e-01_rb,2.6245e-01_rb,1.9699e-01_rb, & &1.3158e-01_rb,6.6140e-02_rb,7.7713e-04_rb/) kao(:, 5,11, 6) = (/ & &5.3645e-01_rb,4.6936e-01_rb,4.0243e-01_rb,3.3557e-01_rb,2.6862e-01_rb,2.0159e-01_rb, & &1.3470e-01_rb,6.7828e-02_rb,1.0827e-03_rb/) kao(:, 1,12, 6) = (/ & &5.9047e-01_rb,5.1664e-01_rb,4.4278e-01_rb,3.6903e-01_rb,2.9521e-01_rb,2.2135e-01_rb, & &1.4776e-01_rb,7.3993e-02_rb,1.4236e-04_rb/) kao(:, 2,12, 6) = (/ & &5.8585e-01_rb,5.1270e-01_rb,4.3944e-01_rb,3.6623e-01_rb,2.9300e-01_rb,2.1996e-01_rb, & &1.4676e-01_rb,7.3476e-02_rb,2.2023e-04_rb/) kao(:, 3,12, 6) = (/ & &5.7367e-01_rb,5.0194e-01_rb,4.3031e-01_rb,3.5876e-01_rb,2.8718e-01_rb,2.1559e-01_rb, & &1.4380e-01_rb,7.2153e-02_rb,4.4743e-04_rb/) kao(:, 4,12, 6) = (/ & &5.7511e-01_rb,5.0312e-01_rb,4.3146e-01_rb,3.5985e-01_rb,2.8795e-01_rb,2.1609e-01_rb, & &1.4436e-01_rb,7.2515e-02_rb,8.0036e-04_rb/) kao(:, 5,12, 6) = (/ & &5.8792e-01_rb,5.1441e-01_rb,4.4120e-01_rb,3.6789e-01_rb,2.9440e-01_rb,2.2104e-01_rb, & &1.4769e-01_rb,7.4288e-02_rb,1.0818e-03_rb/) kao(:, 1,13, 6) = (/ & &5.2587e-01_rb,4.6012e-01_rb,3.9434e-01_rb,3.2864e-01_rb,2.6295e-01_rb,1.9729e-01_rb, & &1.3161e-01_rb,6.5880e-02_rb,1.1855e-04_rb/) kao(:, 2,13, 6) = (/ & &5.1655e-01_rb,4.5203e-01_rb,3.8739e-01_rb,3.2291e-01_rb,2.5848e-01_rb,1.9395e-01_rb, & &1.2940e-01_rb,6.4811e-02_rb,1.8738e-04_rb/) kao(:, 3,13, 6) = (/ & &5.1454e-01_rb,4.5033e-01_rb,3.8607e-01_rb,3.2190e-01_rb,2.5767e-01_rb,1.9330e-01_rb, & &1.2903e-01_rb,6.4719e-02_rb,4.6442e-04_rb/) kao(:, 4,13, 6) = (/ & &5.2306e-01_rb,4.5763e-01_rb,3.9250e-01_rb,3.2722e-01_rb,2.6190e-01_rb,1.9661e-01_rb, & &1.3127e-01_rb,6.5873e-02_rb,7.3146e-04_rb/) kao(:, 5,13, 6) = (/ & &5.3732e-01_rb,4.7035e-01_rb,4.0337e-01_rb,3.3620e-01_rb,2.6904e-01_rb,2.0206e-01_rb, & &1.3501e-01_rb,6.8074e-02_rb,1.0136e-03_rb/) kao(:, 1, 1, 7) = (/ & &1.2103e-03_rb,1.2175e-03_rb,1.1935e-03_rb,1.1549e-03_rb,1.0791e-03_rb,9.5598e-04_rb, & &8.1255e-04_rb,6.1193e-04_rb,6.2180e-04_rb/) kao(:, 2, 1, 7) = (/ & &1.2178e-03_rb,1.2781e-03_rb,1.2880e-03_rb,1.2578e-03_rb,1.2013e-03_rb,1.0898e-03_rb, & &9.4696e-04_rb,8.3333e-04_rb,8.1545e-04_rb/) kao(:, 3, 1, 7) = (/ & &1.2282e-03_rb,1.3405e-03_rb,1.3881e-03_rb,1.3716e-03_rb,1.3394e-03_rb,1.2381e-03_rb, & &1.1125e-03_rb,1.0711e-03_rb,1.0876e-03_rb/) kao(:, 4, 1, 7) = (/ & &1.2403e-03_rb,1.4084e-03_rb,1.4922e-03_rb,1.5029e-03_rb,1.4913e-03_rb,1.4226e-03_rb, & &1.3116e-03_rb,1.3637e-03_rb,1.4095e-03_rb/) kao(:, 5, 1, 7) = (/ & &1.2587e-03_rb,1.4782e-03_rb,1.5894e-03_rb,1.6533e-03_rb,1.6739e-03_rb,1.6196e-03_rb, & &1.5433e-03_rb,1.7053e-03_rb,1.8020e-03_rb/) kao(:, 1, 2, 7) = (/ & &1.5958e-03_rb,1.5396e-03_rb,1.4781e-03_rb,1.3976e-03_rb,1.2942e-03_rb,1.1273e-03_rb, & &9.3307e-04_rb,7.0021e-04_rb,6.0904e-04_rb/) kao(:, 2, 2, 7) = (/ & &1.6176e-03_rb,1.6176e-03_rb,1.5750e-03_rb,1.5193e-03_rb,1.4296e-03_rb,1.2725e-03_rb, & &1.0674e-03_rb,8.4851e-04_rb,7.7411e-04_rb/) kao(:, 3, 2, 7) = (/ & &1.6471e-03_rb,1.6851e-03_rb,1.6807e-03_rb,1.6583e-03_rb,1.5791e-03_rb,1.4314e-03_rb, & &1.2293e-03_rb,1.0317e-03_rb,9.9584e-04_rb/) kao(:, 4, 2, 7) = (/ & &1.6650e-03_rb,1.7627e-03_rb,1.7970e-03_rb,1.8046e-03_rb,1.7334e-03_rb,1.6113e-03_rb, & &1.4228e-03_rb,1.2451e-03_rb,1.2394e-03_rb/) kao(:, 5, 2, 7) = (/ & &1.7122e-03_rb,1.8558e-03_rb,1.9287e-03_rb,1.9533e-03_rb,1.9037e-03_rb,1.8293e-03_rb, & &1.6473e-03_rb,1.5087e-03_rb,1.5795e-03_rb/) kao(:, 1, 3, 7) = (/ & &2.9351e-03_rb,2.6534e-03_rb,2.4324e-03_rb,2.1954e-03_rb,1.9158e-03_rb,1.6076e-03_rb, & &1.2520e-03_rb,8.5789e-04_rb,6.1375e-04_rb/) kao(:, 2, 3, 7) = (/ & &2.9633e-03_rb,2.7281e-03_rb,2.5348e-03_rb,2.3132e-03_rb,2.0567e-03_rb,1.7614e-03_rb, & &1.4143e-03_rb,9.9890e-04_rb,7.9742e-04_rb/) kao(:, 3, 3, 7) = (/ & &3.0018e-03_rb,2.8266e-03_rb,2.6658e-03_rb,2.4521e-03_rb,2.2182e-03_rb,1.9505e-03_rb, & &1.5883e-03_rb,1.1664e-03_rb,9.9661e-04_rb/) kao(:, 4, 3, 7) = (/ & &3.0730e-03_rb,2.9520e-03_rb,2.8043e-03_rb,2.6204e-03_rb,2.4182e-03_rb,2.1521e-03_rb, & &1.7967e-03_rb,1.3650e-03_rb,1.2315e-03_rb/) kao(:, 5, 3, 7) = (/ & &3.1816e-03_rb,3.1107e-03_rb,2.9552e-03_rb,2.8080e-03_rb,2.6346e-03_rb,2.3544e-03_rb, & &2.0373e-03_rb,1.6039e-03_rb,1.5090e-03_rb/) kao(:, 1, 4, 7) = (/ & &5.7269e-03_rb,5.0918e-03_rb,4.4466e-03_rb,3.8641e-03_rb,3.2580e-03_rb,2.6083e-03_rb, & &1.8965e-03_rb,1.1416e-03_rb,5.7204e-04_rb/) kao(:, 2, 4, 7) = (/ & &5.7492e-03_rb,5.1587e-03_rb,4.5741e-03_rb,4.0239e-03_rb,3.4230e-03_rb,2.7638e-03_rb, & &2.0485e-03_rb,1.2804e-03_rb,7.6092e-04_rb/) kao(:, 3, 4, 7) = (/ & &5.8525e-03_rb,5.2748e-03_rb,4.7562e-03_rb,4.2073e-03_rb,3.6092e-03_rb,2.9384e-03_rb, & &2.2265e-03_rb,1.4580e-03_rb,9.9771e-04_rb/) kao(:, 4, 4, 7) = (/ & &5.9797e-03_rb,5.4326e-03_rb,4.9495e-03_rb,4.4248e-03_rb,3.8014e-03_rb,3.1433e-03_rb, & &2.4307e-03_rb,1.6612e-03_rb,1.3149e-03_rb/) kao(:, 5, 4, 7) = (/ & &6.1647e-03_rb,5.6540e-03_rb,5.1948e-03_rb,4.6848e-03_rb,4.0444e-03_rb,3.3860e-03_rb, & &2.6695e-03_rb,1.9106e-03_rb,1.6620e-03_rb/) kao(:, 1, 5, 7) = (/ & &1.0220e-02_rb,9.0008e-03_rb,7.7868e-03_rb,6.5817e-03_rb,5.4248e-03_rb,4.2290e-03_rb, & &3.0009e-03_rb,1.6787e-03_rb,5.3957e-04_rb/) kao(:, 2, 5, 7) = (/ & &1.0367e-02_rb,9.1668e-03_rb,7.9693e-03_rb,6.7850e-03_rb,5.6408e-03_rb,4.4280e-03_rb, & &3.1863e-03_rb,1.8183e-03_rb,7.0339e-04_rb/) kao(:, 3, 5, 7) = (/ & &1.0581e-02_rb,9.4102e-03_rb,8.2049e-03_rb,7.0786e-03_rb,5.9001e-03_rb,4.6839e-03_rb, & &3.3914e-03_rb,1.9878e-03_rb,9.2591e-04_rb/) kao(:, 4, 5, 7) = (/ & &1.0809e-02_rb,9.6775e-03_rb,8.5132e-03_rb,7.3701e-03_rb,6.2042e-03_rb,4.9938e-03_rb, & &3.6238e-03_rb,2.1871e-03_rb,1.1943e-03_rb/) kao(:, 5, 5, 7) = (/ & &1.1112e-02_rb,1.0026e-02_rb,8.9250e-03_rb,7.7808e-03_rb,6.5932e-03_rb,5.3151e-03_rb, & &3.9019e-03_rb,2.4156e-03_rb,1.5529e-03_rb/) kao(:, 1, 6, 7) = (/ & &1.6720e-02_rb,1.4665e-02_rb,1.2615e-02_rb,1.0575e-02_rb,8.5627e-03_rb,6.5744e-03_rb, & &4.5286e-03_rb,2.4830e-03_rb,5.6458e-04_rb/) kao(:, 2, 6, 7) = (/ & &1.7104e-02_rb,1.5034e-02_rb,1.2975e-02_rb,1.0925e-02_rb,8.9009e-03_rb,6.8822e-03_rb, & &4.7999e-03_rb,2.6619e-03_rb,7.2679e-04_rb/) kao(:, 3, 6, 7) = (/ & &1.7534e-02_rb,1.5438e-02_rb,1.3395e-02_rb,1.1323e-02_rb,9.3166e-03_rb,7.2349e-03_rb, & &5.0972e-03_rb,2.8734e-03_rb,9.0147e-04_rb/) kao(:, 4, 6, 7) = (/ & &1.8091e-02_rb,1.6011e-02_rb,1.3940e-02_rb,1.1869e-02_rb,9.7728e-03_rb,7.6440e-03_rb, & &5.4515e-03_rb,3.0818e-03_rb,1.1288e-03_rb/) kao(:, 5, 6, 7) = (/ & &1.8583e-02_rb,1.6530e-02_rb,1.4432e-02_rb,1.2438e-02_rb,1.0309e-02_rb,8.1409e-03_rb, & &5.8462e-03_rb,3.3346e-03_rb,1.4293e-03_rb/) kao(:, 1, 7, 7) = (/ & &2.7982e-02_rb,2.4501e-02_rb,2.1043e-02_rb,1.7577e-02_rb,1.4110e-02_rb,1.0697e-02_rb, & &7.3114e-03_rb,3.8393e-03_rb,5.1721e-04_rb/) kao(:, 2, 7, 7) = (/ & &2.8730e-02_rb,2.5189e-02_rb,2.1653e-02_rb,1.8120e-02_rb,1.4619e-02_rb,1.1160e-02_rb, & &7.6475e-03_rb,4.0900e-03_rb,6.8268e-04_rb/) kao(:, 3, 7, 7) = (/ & &2.9602e-02_rb,2.5984e-02_rb,2.2367e-02_rb,1.8790e-02_rb,1.5226e-02_rb,1.1688e-02_rb, & &8.0684e-03_rb,4.3672e-03_rb,8.7865e-04_rb/) kao(:, 4, 7, 7) = (/ & &3.0383e-02_rb,2.6722e-02_rb,2.3100e-02_rb,1.9474e-02_rb,1.5890e-02_rb,1.2270e-02_rb, & &8.5486e-03_rb,4.6828e-03_rb,1.1058e-03_rb/) kao(:, 5, 7, 7) = (/ & &3.1027e-02_rb,2.7319e-02_rb,2.3722e-02_rb,2.0052e-02_rb,1.6464e-02_rb,1.2803e-02_rb, & &9.0257e-03_rb,5.0413e-03_rb,1.3701e-03_rb/) kao(:, 1, 8, 7) = (/ & &5.4825e-02_rb,4.7970e-02_rb,4.1147e-02_rb,3.4322e-02_rb,2.7487e-02_rb,2.0656e-02_rb, & &1.3854e-02_rb,7.1281e-03_rb,4.3340e-04_rb/) kao(:, 2, 8, 7) = (/ & &5.6231e-02_rb,4.9217e-02_rb,4.2253e-02_rb,3.5263e-02_rb,2.8269e-02_rb,2.1292e-02_rb, & &1.4434e-02_rb,7.4660e-03_rb,6.0870e-04_rb/) kao(:, 3, 8, 7) = (/ & &5.7926e-02_rb,5.0738e-02_rb,4.3579e-02_rb,3.6411e-02_rb,2.9254e-02_rb,2.2161e-02_rb, & &1.5102e-02_rb,7.9134e-03_rb,8.5563e-04_rb/) kao(:, 4, 8, 7) = (/ & &5.9329e-02_rb,5.2017e-02_rb,4.4709e-02_rb,3.7445e-02_rb,3.0174e-02_rb,2.2939e-02_rb, & &1.5732e-02_rb,8.3409e-03_rb,1.1069e-03_rb/) kao(:, 5, 8, 7) = (/ & &6.0706e-02_rb,5.3284e-02_rb,4.5885e-02_rb,3.8526e-02_rb,3.1172e-02_rb,2.3870e-02_rb, & &1.6429e-02_rb,8.7694e-03_rb,1.3835e-03_rb/) kao(:, 1, 9, 7) = (/ & &2.0429e-01_rb,1.7875e-01_rb,1.5322e-01_rb,1.2768e-01_rb,1.0216e-01_rb,7.6684e-02_rb, & &5.1143e-02_rb,2.5629e-02_rb,2.9263e-04_rb/) kao(:, 2, 9, 7) = (/ & &2.0990e-01_rb,1.8367e-01_rb,1.5743e-01_rb,1.3122e-01_rb,1.0506e-01_rb,7.8849e-02_rb, & &5.2652e-02_rb,2.6459e-02_rb,5.6921e-04_rb/) kao(:, 3, 9, 7) = (/ & &2.1338e-01_rb,1.8672e-01_rb,1.6006e-01_rb,1.3349e-01_rb,1.0689e-01_rb,8.0285e-02_rb, & &5.3664e-02_rb,2.7200e-02_rb,9.3758e-04_rb/) kao(:, 4, 9, 7) = (/ & &2.2002e-01_rb,1.9252e-01_rb,1.6512e-01_rb,1.3776e-01_rb,1.1035e-01_rb,8.2930e-02_rb, & &5.5562e-02_rb,2.8342e-02_rb,1.3055e-03_rb/) kao(:, 5, 9, 7) = (/ & &2.2506e-01_rb,1.9692e-01_rb,1.6901e-01_rb,1.4099e-01_rb,1.1303e-01_rb,8.5078e-02_rb, & &5.7190e-02_rb,2.9461e-02_rb,1.8874e-03_rb/) kao(:, 1,10, 7) = (/ & &8.3776e-01_rb,7.3310e-01_rb,6.2841e-01_rb,5.2361e-01_rb,4.1890e-01_rb,3.1415e-01_rb, & &2.0945e-01_rb,1.0479e-01_rb,1.9258e-04_rb/) kao(:, 2,10, 7) = (/ & &8.5667e-01_rb,7.4964e-01_rb,6.4250e-01_rb,5.3547e-01_rb,4.2837e-01_rb,3.2129e-01_rb, & &2.1421e-01_rb,1.0723e-01_rb,3.0052e-04_rb/) kao(:, 3,10, 7) = (/ & &8.7378e-01_rb,7.6452e-01_rb,6.5535e-01_rb,5.4608e-01_rb,4.3691e-01_rb,3.2776e-01_rb, & &2.1870e-01_rb,1.0952e-01_rb,5.4766e-04_rb/) kao(:, 4,10, 7) = (/ & &8.9911e-01_rb,7.8666e-01_rb,6.7423e-01_rb,5.6186e-01_rb,4.4961e-01_rb,3.3744e-01_rb, & &2.2515e-01_rb,1.1291e-01_rb,1.0571e-03_rb/) kao(:, 5,10, 7) = (/ & &9.2543e-01_rb,8.0983e-01_rb,6.9418e-01_rb,5.7864e-01_rb,4.6314e-01_rb,3.4767e-01_rb, & &2.3212e-01_rb,1.1658e-01_rb,1.4779e-03_rb/) kao(:, 1,11, 7) = (/ & &1.1170e+00_rb,9.7735e-01_rb,8.3780e-01_rb,6.9827e-01_rb,5.5860e-01_rb,4.1894e-01_rb, & &2.7927e-01_rb,1.3969e-01_rb,1.8784e-04_rb/) kao(:, 2,11, 7) = (/ & &1.1469e+00_rb,1.0035e+00_rb,8.6021e-01_rb,7.1681e-01_rb,5.7347e-01_rb,4.3009e-01_rb, & &2.8675e-01_rb,1.4352e-01_rb,2.9142e-04_rb/) kao(:, 3,11, 7) = (/ & &1.1926e+00_rb,1.0436e+00_rb,8.9439e-01_rb,7.4544e-01_rb,5.9622e-01_rb,4.4725e-01_rb, & &2.9836e-01_rb,1.4934e-01_rb,4.5203e-04_rb/) kao(:, 4,11, 7) = (/ & &1.2362e+00_rb,1.0816e+00_rb,9.2703e-01_rb,7.7246e-01_rb,6.1814e-01_rb,4.6378e-01_rb, & &3.0936e-01_rb,1.5503e-01_rb,7.8924e-04_rb/) kao(:, 5,11, 7) = (/ & &1.2847e+00_rb,1.1241e+00_rb,9.6352e-01_rb,8.0300e-01_rb,6.4259e-01_rb,4.8242e-01_rb, & &3.2196e-01_rb,1.6156e-01_rb,1.3839e-03_rb/) kao(:, 1,12, 7) = (/ & &1.0784e+00_rb,9.4374e-01_rb,8.0896e-01_rb,6.7399e-01_rb,5.3931e-01_rb,4.0450e-01_rb, & &2.6958e-01_rb,1.3485e-01_rb,1.8250e-04_rb/) kao(:, 2,12, 7) = (/ & &1.1016e+00_rb,9.6383e-01_rb,8.2624e-01_rb,6.8848e-01_rb,5.5081e-01_rb,4.1305e-01_rb, & &2.7543e-01_rb,1.3793e-01_rb,2.7118e-04_rb/) kao(:, 3,12, 7) = (/ & &1.1494e+00_rb,1.0057e+00_rb,8.6213e-01_rb,7.1839e-01_rb,5.7458e-01_rb,4.3099e-01_rb, & &2.8756e-01_rb,1.4395e-01_rb,4.0903e-04_rb/) kao(:, 4,12, 7) = (/ & &1.1966e+00_rb,1.0468e+00_rb,8.9727e-01_rb,7.4760e-01_rb,5.9830e-01_rb,4.4892e-01_rb, & &2.9949e-01_rb,1.5008e-01_rb,6.0710e-04_rb/) kao(:, 5,12, 7) = (/ & &1.2391e+00_rb,1.0842e+00_rb,9.2930e-01_rb,7.7450e-01_rb,6.1988e-01_rb,4.6531e-01_rb, & &3.1051e-01_rb,1.5585e-01_rb,1.1075e-03_rb/) kao(:, 1,13, 7) = (/ & &9.1609e-01_rb,8.0170e-01_rb,6.8730e-01_rb,5.7285e-01_rb,4.5825e-01_rb,3.4365e-01_rb, & &2.2921e-01_rb,1.1478e-01_rb,1.8534e-04_rb/) kao(:, 2,13, 7) = (/ & &9.2338e-01_rb,8.0782e-01_rb,6.9263e-01_rb,5.7718e-01_rb,4.6175e-01_rb,3.4635e-01_rb, & &2.3110e-01_rb,1.1575e-01_rb,2.6985e-04_rb/) kao(:, 3,13, 7) = (/ & &9.4678e-01_rb,8.2823e-01_rb,7.0984e-01_rb,5.9160e-01_rb,4.7336e-01_rb,3.5526e-01_rb, & &2.3691e-01_rb,1.1874e-01_rb,3.9189e-04_rb/) kao(:, 4,13, 7) = (/ & &9.5798e-01_rb,8.3839e-01_rb,7.1856e-01_rb,5.9888e-01_rb,4.7933e-01_rb,3.5969e-01_rb, & &2.4009e-01_rb,1.2046e-01_rb,6.8070e-04_rb/) kao(:, 5,13, 7) = (/ & &9.7420e-01_rb,8.5221e-01_rb,7.3072e-01_rb,6.0920e-01_rb,4.8778e-01_rb,3.6616e-01_rb, & &2.4455e-01_rb,1.2274e-01_rb,1.2004e-03_rb/) kao(:, 1, 1, 8) = (/ & &2.2086e-03_rb,2.0999e-03_rb,2.0159e-03_rb,1.8719e-03_rb,1.7233e-03_rb,1.5637e-03_rb, & &1.3735e-03_rb,1.3147e-03_rb,1.3769e-03_rb/) kao(:, 2, 1, 8) = (/ & &2.2485e-03_rb,2.2158e-03_rb,2.1547e-03_rb,2.0369e-03_rb,1.8898e-03_rb,1.7374e-03_rb, & &1.6006e-03_rb,1.7014e-03_rb,1.7807e-03_rb/) kao(:, 3, 1, 8) = (/ & &2.2803e-03_rb,2.3414e-03_rb,2.2949e-03_rb,2.2265e-03_rb,2.0601e-03_rb,1.9356e-03_rb, & &1.8992e-03_rb,2.1518e-03_rb,2.2509e-03_rb/) kao(:, 4, 1, 8) = (/ & &2.3178e-03_rb,2.4462e-03_rb,2.4702e-03_rb,2.4013e-03_rb,2.2630e-03_rb,2.1680e-03_rb, & &2.2995e-03_rb,2.6824e-03_rb,2.8243e-03_rb/) kao(:, 5, 1, 8) = (/ & &2.3355e-03_rb,2.5902e-03_rb,2.6514e-03_rb,2.5825e-03_rb,2.4802e-03_rb,2.5028e-03_rb, & &2.7971e-03_rb,3.2930e-03_rb,3.4957e-03_rb/) kao(:, 1, 2, 8) = (/ & &3.2554e-03_rb,3.0029e-03_rb,2.8238e-03_rb,2.5475e-03_rb,2.2552e-03_rb,1.9853e-03_rb, & &1.6584e-03_rb,1.2784e-03_rb,1.0936e-03_rb/) kao(:, 2, 2, 8) = (/ & &3.3021e-03_rb,3.1146e-03_rb,2.9858e-03_rb,2.7302e-03_rb,2.4455e-03_rb,2.1856e-03_rb, & &1.8782e-03_rb,1.5376e-03_rb,1.5050e-03_rb/) kao(:, 3, 2, 8) = (/ & &3.3434e-03_rb,3.2633e-03_rb,3.1581e-03_rb,2.9235e-03_rb,2.6724e-03_rb,2.4236e-03_rb, & &2.1164e-03_rb,1.8700e-03_rb,1.9615e-03_rb/) kao(:, 4, 2, 8) = (/ & &3.3924e-03_rb,3.4464e-03_rb,3.3467e-03_rb,3.1420e-03_rb,2.9417e-03_rb,2.6854e-03_rb, & &2.3908e-03_rb,2.2943e-03_rb,2.5456e-03_rb/) kao(:, 5, 2, 8) = (/ & &3.4124e-03_rb,3.5941e-03_rb,3.5577e-03_rb,3.4139e-03_rb,3.2366e-03_rb,2.9618e-03_rb, & &2.7452e-03_rb,2.8336e-03_rb,3.1731e-03_rb/) kao(:, 1, 3, 8) = (/ & &6.2310e-03_rb,5.6159e-03_rb,4.9769e-03_rb,4.4245e-03_rb,3.8289e-03_rb,3.1465e-03_rb, & &2.4651e-03_rb,1.6762e-03_rb,1.0171e-03_rb/) kao(:, 2, 3, 8) = (/ & &6.3558e-03_rb,5.7885e-03_rb,5.2143e-03_rb,4.7067e-03_rb,4.0833e-03_rb,3.4041e-03_rb, & &2.6899e-03_rb,1.9219e-03_rb,1.2943e-03_rb/) kao(:, 3, 3, 8) = (/ & &6.4584e-03_rb,5.9604e-03_rb,5.4819e-03_rb,4.9958e-03_rb,4.3577e-03_rb,3.6662e-03_rb, & &2.9872e-03_rb,2.1872e-03_rb,1.6861e-03_rb/) kao(:, 4, 3, 8) = (/ & &6.6103e-03_rb,6.1684e-03_rb,5.8142e-03_rb,5.2903e-03_rb,4.6437e-03_rb,3.9929e-03_rb, & &3.3051e-03_rb,2.4974e-03_rb,2.2070e-03_rb/) kao(:, 5, 3, 8) = (/ & &6.6588e-03_rb,6.3708e-03_rb,6.1123e-03_rb,5.6154e-03_rb,4.9949e-03_rb,4.3617e-03_rb, & &3.6895e-03_rb,2.8582e-03_rb,2.8798e-03_rb/) kao(:, 1, 4, 8) = (/ & &1.1807e-02_rb,1.0450e-02_rb,9.1344e-03_rb,7.7844e-03_rb,6.5100e-03_rb,5.2593e-03_rb, & &3.9218e-03_rb,2.4635e-03_rb,1.1324e-03_rb/) kao(:, 2, 4, 8) = (/ & &1.2088e-02_rb,1.0775e-02_rb,9.4615e-03_rb,8.1147e-03_rb,6.9001e-03_rb,5.6187e-03_rb, & &4.2536e-03_rb,2.7131e-03_rb,1.3848e-03_rb/) kao(:, 3, 4, 8) = (/ & &1.2276e-02_rb,1.1057e-02_rb,9.7542e-03_rb,8.5429e-03_rb,7.3199e-03_rb,6.0294e-03_rb, & &4.5931e-03_rb,3.0093e-03_rb,1.7357e-03_rb/) kao(:, 4, 4, 8) = (/ & &1.2505e-02_rb,1.1360e-02_rb,1.0130e-02_rb,9.0368e-03_rb,7.7990e-03_rb,6.4476e-03_rb, & &5.0000e-03_rb,3.3597e-03_rb,2.0753e-03_rb/) kao(:, 5, 4, 8) = (/ & &1.2694e-02_rb,1.1662e-02_rb,1.0517e-02_rb,9.4548e-03_rb,8.2827e-03_rb,6.9233e-03_rb, & &5.4172e-03_rb,3.7628e-03_rb,2.5678e-03_rb/) kao(:, 1, 5, 8) = (/ & &2.0656e-02_rb,1.8160e-02_rb,1.5700e-02_rb,1.3242e-02_rb,1.0772e-02_rb,8.3779e-03_rb, & &6.0246e-03_rb,3.5524e-03_rb,1.1630e-03_rb/) kao(:, 2, 5, 8) = (/ & &2.0910e-02_rb,1.8437e-02_rb,1.6005e-02_rb,1.3585e-02_rb,1.1145e-02_rb,8.8221e-03_rb, & &6.4062e-03_rb,3.8753e-03_rb,1.4990e-03_rb/) kao(:, 3, 5, 8) = (/ & &2.1222e-02_rb,1.8787e-02_rb,1.6416e-02_rb,1.3970e-02_rb,1.1606e-02_rb,9.3057e-03_rb, & &6.8725e-03_rb,4.2169e-03_rb,1.9100e-03_rb/) kao(:, 4, 5, 8) = (/ & &2.1675e-02_rb,1.9271e-02_rb,1.6942e-02_rb,1.4504e-02_rb,1.2206e-02_rb,9.8161e-03_rb, & &7.3695e-03_rb,4.6216e-03_rb,2.4296e-03_rb/) kao(:, 5, 5, 8) = (/ & &2.2102e-02_rb,1.9781e-02_rb,1.7441e-02_rb,1.5076e-02_rb,1.2804e-02_rb,1.0400e-02_rb, & &7.9027e-03_rb,5.0748e-03_rb,2.9846e-03_rb/) kao(:, 1, 6, 8) = (/ & &3.4516e-02_rb,3.0236e-02_rb,2.6032e-02_rb,2.1800e-02_rb,1.7574e-02_rb,1.3389e-02_rb, & &9.2847e-03_rb,5.1122e-03_rb,1.0508e-03_rb/) kao(:, 2, 6, 8) = (/ & &3.4800e-02_rb,3.0544e-02_rb,2.6323e-02_rb,2.2117e-02_rb,1.7921e-02_rb,1.3756e-02_rb, & &9.6631e-03_rb,5.4342e-03_rb,1.4451e-03_rb/) kao(:, 3, 6, 8) = (/ & &3.5127e-02_rb,3.0902e-02_rb,2.6702e-02_rb,2.2553e-02_rb,1.8369e-02_rb,1.4212e-02_rb, & &1.0118e-02_rb,5.8263e-03_rb,1.8818e-03_rb/) kao(:, 4, 6, 8) = (/ & &3.5628e-02_rb,3.1400e-02_rb,2.7233e-02_rb,2.3087e-02_rb,1.8895e-02_rb,1.4840e-02_rb, & &1.0658e-02_rb,6.2966e-03_rb,2.4028e-03_rb/) kao(:, 5, 6, 8) = (/ & &3.6414e-02_rb,3.2167e-02_rb,2.8039e-02_rb,2.3770e-02_rb,1.9619e-02_rb,1.5526e-02_rb, & &1.1248e-02_rb,6.8040e-03_rb,2.9828e-03_rb/) kao(:, 1, 7, 8) = (/ & &6.0465e-02_rb,5.2915e-02_rb,4.5423e-02_rb,3.7947e-02_rb,3.0446e-02_rb,2.2948e-02_rb, & &1.5515e-02_rb,8.2239e-03_rb,1.0379e-03_rb/) kao(:, 2, 7, 8) = (/ & &6.0755e-02_rb,5.3175e-02_rb,4.5748e-02_rb,3.8231e-02_rb,3.0723e-02_rb,2.3271e-02_rb, & &1.5903e-02_rb,8.5285e-03_rb,1.3797e-03_rb/) kao(:, 3, 7, 8) = (/ & &6.1398e-02_rb,5.3805e-02_rb,4.6318e-02_rb,3.8793e-02_rb,3.1274e-02_rb,2.3804e-02_rb, & &1.6410e-02_rb,8.9355e-03_rb,1.8226e-03_rb/) kao(:, 4, 7, 8) = (/ & &6.2566e-02_rb,5.4915e-02_rb,4.7291e-02_rb,3.9712e-02_rb,3.2135e-02_rb,2.4531e-02_rb, & &1.7075e-02_rb,9.4211e-03_rb,2.3895e-03_rb/) kao(:, 5, 7, 8) = (/ & &6.4353e-02_rb,5.6526e-02_rb,4.8732e-02_rb,4.1035e-02_rb,3.3303e-02_rb,2.5613e-02_rb, & &1.7950e-02_rb,9.9840e-03_rb,2.9275e-03_rb/) kao(:, 1, 8, 8) = (/ & &1.2368e-01_rb,1.0822e-01_rb,9.2766e-02_rb,7.7347e-02_rb,6.2005e-02_rb,4.6603e-02_rb, & &3.1194e-02_rb,1.5883e-02_rb,8.5274e-04_rb/) kao(:, 2, 8, 8) = (/ & &1.2468e-01_rb,1.0911e-01_rb,9.3546e-02_rb,7.8108e-02_rb,6.2629e-02_rb,4.7130e-02_rb, & &3.1595e-02_rb,1.6348e-02_rb,1.3444e-03_rb/) kao(:, 3, 8, 8) = (/ & &1.2638e-01_rb,1.1058e-01_rb,9.4937e-02_rb,7.9293e-02_rb,6.3607e-02_rb,4.7918e-02_rb, & &3.2304e-02_rb,1.6902e-02_rb,1.7616e-03_rb/) kao(:, 4, 8, 8) = (/ & &1.2969e-01_rb,1.1353e-01_rb,9.7623e-02_rb,8.1508e-02_rb,6.5432e-02_rb,4.9461e-02_rb, & &3.3527e-02_rb,1.7620e-02_rb,2.4617e-03_rb/) kao(:, 5, 8, 8) = (/ & &1.3392e-01_rb,1.1729e-01_rb,1.0082e-01_rb,8.4317e-02_rb,6.7894e-02_rb,5.1430e-02_rb, & &3.4991e-02_rb,1.8580e-02_rb,3.1642e-03_rb/) kao(:, 1, 9, 8) = (/ & &4.6846e-01_rb,4.0990e-01_rb,3.5136e-01_rb,2.9284e-01_rb,2.3423e-01_rb,1.7564e-01_rb, & &1.1723e-01_rb,5.8786e-02_rb,4.0030e-04_rb/) kao(:, 2, 9, 8) = (/ & &4.7406e-01_rb,4.1475e-01_rb,3.5556e-01_rb,2.9624e-01_rb,2.3703e-01_rb,1.7789e-01_rb, & &1.1882e-01_rb,5.9622e-02_rb,6.8004e-04_rb/) kao(:, 3, 9, 8) = (/ & &4.8684e-01_rb,4.2603e-01_rb,3.6514e-01_rb,3.0430e-01_rb,2.4358e-01_rb,1.8292e-01_rb, & &1.2220e-01_rb,6.1402e-02_rb,1.0402e-03_rb/) kao(:, 4, 9, 8) = (/ & &5.0043e-01_rb,4.3778e-01_rb,3.7520e-01_rb,3.1290e-01_rb,2.5060e-01_rb,1.8834e-01_rb, & &1.2594e-01_rb,6.3564e-02_rb,1.7944e-03_rb/) kao(:, 5, 9, 8) = (/ & &5.2090e-01_rb,4.5588e-01_rb,3.9070e-01_rb,3.2594e-01_rb,2.6129e-01_rb,1.9629e-01_rb, & &1.3136e-01_rb,6.6645e-02_rb,2.5620e-03_rb/) kao(:, 1,10, 8) = (/ & &1.9599e+00_rb,1.7147e+00_rb,1.4700e+00_rb,1.2249e+00_rb,9.7999e-01_rb,7.3502e-01_rb, & &4.8995e-01_rb,2.4496e-01_rb,4.5019e-04_rb/) kao(:, 2,10, 8) = (/ & &2.0004e+00_rb,1.7503e+00_rb,1.5003e+00_rb,1.2502e+00_rb,1.0002e+00_rb,7.5004e-01_rb, & &5.0013e-01_rb,2.5017e-01_rb,7.7160e-04_rb/) kao(:, 3,10, 8) = (/ & &2.0706e+00_rb,1.8118e+00_rb,1.5527e+00_rb,1.2941e+00_rb,1.0353e+00_rb,7.7648e-01_rb, & &5.1774e-01_rb,2.5926e-01_rb,1.2278e-03_rb/) kao(:, 4,10, 8) = (/ & &2.1488e+00_rb,1.8803e+00_rb,1.6119e+00_rb,1.3430e+00_rb,1.0744e+00_rb,8.0582e-01_rb, & &5.3747e-01_rb,2.6934e-01_rb,1.1252e-03_rb/) kao(:, 5,10, 8) = (/ & &2.2415e+00_rb,1.9614e+00_rb,1.6811e+00_rb,1.4008e+00_rb,1.1207e+00_rb,8.4068e-01_rb, & &5.6107e-01_rb,2.8130e-01_rb,1.6850e-03_rb/) kao(:, 1,11, 8) = (/ & &2.8911e+00_rb,2.5300e+00_rb,2.1683e+00_rb,1.8069e+00_rb,1.4455e+00_rb,1.0841e+00_rb, & &7.2274e-01_rb,3.6133e-01_rb,4.4874e-04_rb/) kao(:, 2,11, 8) = (/ & &2.9950e+00_rb,2.6205e+00_rb,2.2462e+00_rb,1.8718e+00_rb,1.4974e+00_rb,1.1232e+00_rb, & &7.4873e-01_rb,3.7448e-01_rb,7.8243e-04_rb/) kao(:, 3,11, 8) = (/ & &3.1150e+00_rb,2.7257e+00_rb,2.3363e+00_rb,1.9467e+00_rb,1.5577e+00_rb,1.1681e+00_rb, & &7.7884e-01_rb,3.8967e-01_rb,1.2703e-03_rb/) kao(:, 4,11, 8) = (/ & &3.2669e+00_rb,2.8585e+00_rb,2.4505e+00_rb,2.0417e+00_rb,1.6337e+00_rb,1.2254e+00_rb, & &8.1715e-01_rb,4.0914e-01_rb,1.7634e-03_rb/) kao(:, 5,11, 8) = (/ & &3.4234e+00_rb,2.9957e+00_rb,2.5672e+00_rb,2.1393e+00_rb,1.7114e+00_rb,1.2836e+00_rb, & &8.5639e-01_rb,4.2894e-01_rb,1.6787e-03_rb/) kao(:, 1,12, 8) = (/ & &3.0768e+00_rb,2.6917e+00_rb,2.3070e+00_rb,1.9231e+00_rb,1.5383e+00_rb,1.1537e+00_rb, & &7.6915e-01_rb,3.8462e-01_rb,4.7094e-04_rb/) kao(:, 2,12, 8) = (/ & &3.2435e+00_rb,2.8382e+00_rb,2.4330e+00_rb,2.0274e+00_rb,1.6219e+00_rb,1.2164e+00_rb, & &8.1089e-01_rb,4.0548e-01_rb,8.2872e-04_rb/) kao(:, 3,12, 8) = (/ & &3.4231e+00_rb,2.9954e+00_rb,2.5672e+00_rb,2.1393e+00_rb,1.7115e+00_rb,1.2835e+00_rb, & &8.5578e-01_rb,4.2826e-01_rb,1.3467e-03_rb/) kao(:, 4,12, 8) = (/ & &3.5915e+00_rb,3.1425e+00_rb,2.6940e+00_rb,2.2448e+00_rb,1.7959e+00_rb,1.3469e+00_rb, & &8.9804e-01_rb,4.4980e-01_rb,2.0869e-03_rb/) kao(:, 5,12, 8) = (/ & &3.8078e+00_rb,3.3318e+00_rb,2.8557e+00_rb,2.3795e+00_rb,1.9039e+00_rb,1.4280e+00_rb, & &9.5252e-01_rb,4.7712e-01_rb,1.8673e-03_rb/) kao(:, 1,13, 8) = (/ & &2.3608e+00_rb,2.0656e+00_rb,1.7703e+00_rb,1.4752e+00_rb,1.1801e+00_rb,8.8512e-01_rb, & &5.9005e-01_rb,2.9502e-01_rb,4.6667e-04_rb/) kao(:, 2,13, 8) = (/ & &2.5500e+00_rb,2.2311e+00_rb,1.9119e+00_rb,1.5932e+00_rb,1.2746e+00_rb,9.5617e-01_rb, & &6.3722e-01_rb,3.1884e-01_rb,8.1387e-04_rb/) kao(:, 3,13, 8) = (/ & &2.7068e+00_rb,2.3688e+00_rb,2.0306e+00_rb,1.6919e+00_rb,1.3534e+00_rb,1.0151e+00_rb, & &6.7709e-01_rb,3.3887e-01_rb,1.3055e-03_rb/) kao(:, 4,13, 8) = (/ & &2.8840e+00_rb,2.5234e+00_rb,2.1627e+00_rb,1.8025e+00_rb,1.4417e+00_rb,1.0815e+00_rb, & &7.2137e-01_rb,3.6139e-01_rb,1.9116e-03_rb/) kao(:, 5,13, 8) = (/ & &3.0939e+00_rb,2.7071e+00_rb,2.3203e+00_rb,1.9334e+00_rb,1.5471e+00_rb,1.1606e+00_rb, & &7.7438e-01_rb,3.8815e-01_rb,1.4651e-03_rb/) kao(:, 1, 1, 9) = (/ & &3.8342e-03_rb,3.6037e-03_rb,3.3390e-03_rb,3.1415e-03_rb,3.0062e-03_rb,3.0639e-03_rb, & &3.3790e-03_rb,3.9710e-03_rb,4.6693e-03_rb/) kao(:, 2, 1, 9) = (/ & &3.8099e-03_rb,3.5245e-03_rb,3.4236e-03_rb,3.3696e-03_rb,3.4435e-03_rb,3.7521e-03_rb, & &4.3079e-03_rb,5.1949e-03_rb,5.9521e-03_rb/) kao(:, 3, 1, 9) = (/ & &3.6846e-03_rb,3.4976e-03_rb,3.5740e-03_rb,3.6729e-03_rb,4.0680e-03_rb,4.6302e-03_rb, & &5.4360e-03_rb,6.6553e-03_rb,7.4735e-03_rb/) kao(:, 4, 1, 9) = (/ & &3.5274e-03_rb,3.5376e-03_rb,3.7030e-03_rb,4.1336e-03_rb,4.8513e-03_rb,5.7165e-03_rb, & &6.7340e-03_rb,8.3554e-03_rb,9.2181e-03_rb/) kao(:, 5, 1, 9) = (/ & &3.3692e-03_rb,3.5348e-03_rb,3.9656e-03_rb,4.7179e-03_rb,5.7827e-03_rb,6.9797e-03_rb, & &8.2404e-03_rb,1.0337e-02_rb,1.1151e-02_rb/) kao(:, 1, 2, 9) = (/ & &6.4244e-03_rb,5.9003e-03_rb,5.2917e-03_rb,4.8738e-03_rb,4.2886e-03_rb,3.6979e-03_rb, & &3.3432e-03_rb,3.4356e-03_rb,4.2740e-03_rb/) kao(:, 2, 2, 9) = (/ & &6.4294e-03_rb,5.9365e-03_rb,5.4378e-03_rb,5.0910e-03_rb,4.5359e-03_rb,4.1466e-03_rb, & &4.0476e-03_rb,4.4354e-03_rb,5.4215e-03_rb/) kao(:, 3, 2, 9) = (/ & &6.3847e-03_rb,6.0135e-03_rb,5.5846e-03_rb,5.2573e-03_rb,4.8954e-03_rb,4.7657e-03_rb, & &4.9765e-03_rb,5.6368e-03_rb,6.8419e-03_rb/) kao(:, 4, 2, 9) = (/ & &6.3412e-03_rb,5.9177e-03_rb,5.7222e-03_rb,5.4979e-03_rb,5.4021e-03_rb,5.5794e-03_rb, & &6.1113e-03_rb,7.0879e-03_rb,8.4995e-03_rb/) kao(:, 5, 2, 9) = (/ & &6.1488e-03_rb,5.8853e-03_rb,5.8235e-03_rb,5.8427e-03_rb,6.0130e-03_rb,6.6088e-03_rb, & &7.4819e-03_rb,8.8092e-03_rb,1.0289e-02_rb/) kao(:, 1, 3, 9) = (/ & &1.4195e-02_rb,1.2643e-02_rb,1.1125e-02_rb,9.5338e-03_rb,8.0743e-03_rb,6.7413e-03_rb, & &5.1394e-03_rb,3.4808e-03_rb,3.6417e-03_rb/) kao(:, 2, 3, 9) = (/ & &1.4156e-02_rb,1.2714e-02_rb,1.1322e-02_rb,9.8573e-03_rb,8.5639e-03_rb,7.1930e-03_rb, & &5.4628e-03_rb,4.1430e-03_rb,4.8796e-03_rb/) kao(:, 3, 3, 9) = (/ & &1.4281e-02_rb,1.3014e-02_rb,1.1636e-02_rb,1.0282e-02_rb,9.0638e-03_rb,7.5306e-03_rb, & &5.9490e-03_rb,5.0136e-03_rb,6.2613e-03_rb/) kao(:, 4, 3, 9) = (/ & &1.4318e-02_rb,1.3194e-02_rb,1.1832e-02_rb,1.0698e-02_rb,9.4111e-03_rb,7.9426e-03_rb, & &6.6489e-03_rb,6.1359e-03_rb,7.8675e-03_rb/) kao(:, 5, 3, 9) = (/ & &1.4241e-02_rb,1.3300e-02_rb,1.2028e-02_rb,1.0934e-02_rb,9.7284e-03_rb,8.5621e-03_rb, & &7.5356e-03_rb,7.5232e-03_rb,9.7190e-03_rb/) kao(:, 1, 4, 9) = (/ & &3.1371e-02_rb,2.7594e-02_rb,2.3918e-02_rb,2.0236e-02_rb,1.6538e-02_rb,1.2862e-02_rb, & &9.3415e-03_rb,5.6206e-03_rb,3.0136e-03_rb/) kao(:, 2, 4, 9) = (/ & &3.1367e-02_rb,2.7706e-02_rb,2.4150e-02_rb,2.0624e-02_rb,1.6974e-02_rb,1.3427e-02_rb, & &9.9709e-03_rb,6.1282e-03_rb,4.2995e-03_rb/) kao(:, 3, 4, 9) = (/ & &3.1583e-02_rb,2.8007e-02_rb,2.4625e-02_rb,2.1088e-02_rb,1.7481e-02_rb,1.4076e-02_rb, & &1.0648e-02_rb,6.6037e-03_rb,5.6873e-03_rb/) kao(:, 4, 4, 9) = (/ & &3.1875e-02_rb,2.8446e-02_rb,2.5140e-02_rb,2.1570e-02_rb,1.8204e-02_rb,1.5013e-02_rb, & &1.1353e-02_rb,7.2455e-03_rb,7.5289e-03_rb/) kao(:, 5, 4, 9) = (/ & &3.2159e-02_rb,2.8870e-02_rb,2.5760e-02_rb,2.2306e-02_rb,1.9019e-02_rb,1.5749e-02_rb, & &1.1959e-02_rb,8.0455e-03_rb,9.2604e-03_rb/) kao(:, 1, 5, 9) = (/ & &6.1996e-02_rb,5.4276e-02_rb,4.6766e-02_rb,3.9233e-02_rb,3.1722e-02_rb,2.4192e-02_rb, & &1.6676e-02_rb,9.3526e-03_rb,2.3723e-03_rb/) kao(:, 2, 5, 9) = (/ & &6.2786e-02_rb,5.5036e-02_rb,4.7544e-02_rb,4.0014e-02_rb,3.2500e-02_rb,2.4919e-02_rb, & &1.7414e-02_rb,9.9958e-03_rb,3.1775e-03_rb/) kao(:, 3, 5, 9) = (/ & &6.3408e-02_rb,5.5719e-02_rb,4.8263e-02_rb,4.0805e-02_rb,3.3340e-02_rb,2.5705e-02_rb, & &1.8217e-02_rb,1.0807e-02_rb,4.4457e-03_rb/) kao(:, 4, 5, 9) = (/ & &6.3958e-02_rb,5.6455e-02_rb,4.8967e-02_rb,4.1701e-02_rb,3.4289e-02_rb,2.6801e-02_rb, & &1.9500e-02_rb,1.1614e-02_rb,6.0592e-03_rb/) kao(:, 5, 5, 9) = (/ & &6.4544e-02_rb,5.7091e-02_rb,4.9896e-02_rb,4.2837e-02_rb,3.5365e-02_rb,2.7903e-02_rb, & &2.0589e-02_rb,1.2558e-02_rb,7.7840e-03_rb/) kao(:, 1, 6, 9) = (/ & &1.1420e-01_rb,9.9928e-02_rb,8.5730e-02_rb,7.1669e-02_rb,5.7641e-02_rb,4.3533e-02_rb, & &2.9463e-02_rb,1.5596e-02_rb,1.8870e-03_rb/) kao(:, 2, 6, 9) = (/ & &1.1463e-01_rb,1.0031e-01_rb,8.6249e-02_rb,7.2249e-02_rb,5.8195e-02_rb,4.4132e-02_rb, & &3.0125e-02_rb,1.6255e-02_rb,2.7185e-03_rb/) kao(:, 3, 6, 9) = (/ & &1.1505e-01_rb,1.0074e-01_rb,8.6836e-02_rb,7.2850e-02_rb,5.8886e-02_rb,4.5056e-02_rb, & &3.1103e-02_rb,1.7221e-02_rb,3.7627e-03_rb/) kao(:, 4, 6, 9) = (/ & &1.1693e-01_rb,1.0252e-01_rb,8.8568e-02_rb,7.4567e-02_rb,6.0606e-02_rb,4.6540e-02_rb, & &3.2424e-02_rb,1.8275e-02_rb,5.0267e-03_rb/) kao(:, 5, 6, 9) = (/ & &1.1806e-01_rb,1.0371e-01_rb,8.9817e-02_rb,7.5865e-02_rb,6.1963e-02_rb,4.7866e-02_rb, & &3.3695e-02_rb,1.9500e-02_rb,6.8317e-03_rb/) kao(:, 1, 7, 9) = (/ & &2.1427e-01_rb,1.8749e-01_rb,1.6070e-01_rb,1.3399e-01_rb,1.0738e-01_rb,8.0867e-02_rb, & &5.4264e-02_rb,2.7682e-02_rb,1.2395e-03_rb/) kao(:, 2, 7, 9) = (/ & &2.1459e-01_rb,1.8775e-01_rb,1.6094e-01_rb,1.3438e-01_rb,1.0794e-01_rb,8.1406e-02_rb, & &5.4844e-02_rb,2.8427e-02_rb,2.0965e-03_rb/) kao(:, 3, 7, 9) = (/ & &2.1615e-01_rb,1.8914e-01_rb,1.6231e-01_rb,1.3573e-01_rb,1.0921e-01_rb,8.2571e-02_rb, & &5.5952e-02_rb,2.9582e-02_rb,3.1925e-03_rb/) kao(:, 4, 7, 9) = (/ & &2.1891e-01_rb,1.9155e-01_rb,1.6470e-01_rb,1.3802e-01_rb,1.1113e-01_rb,8.4390e-02_rb, & &5.7587e-02_rb,3.0908e-02_rb,4.5715e-03_rb/) kao(:, 5, 7, 9) = (/ & &2.2155e-01_rb,1.9400e-01_rb,1.6713e-01_rb,1.4027e-01_rb,1.1333e-01_rb,8.6454e-02_rb, & &5.9526e-02_rb,3.2445e-02_rb,6.5617e-03_rb/) kao(:, 1, 8, 9) = (/ & &4.6547e-01_rb,4.0732e-01_rb,3.4911e-01_rb,2.9100e-01_rb,2.3277e-01_rb,1.7470e-01_rb, & &1.1672e-01_rb,5.8764e-02_rb,8.5250e-04_rb/) kao(:, 2, 8, 9) = (/ & &4.6469e-01_rb,4.0659e-01_rb,3.4854e-01_rb,2.9045e-01_rb,2.3244e-01_rb,1.7466e-01_rb, & &1.1705e-01_rb,5.9152e-02_rb,1.3360e-03_rb/) kao(:, 3, 8, 9) = (/ & &4.6927e-01_rb,4.1062e-01_rb,3.5196e-01_rb,2.9346e-01_rb,2.3515e-01_rb,1.7702e-01_rb, & &1.1874e-01_rb,6.0462e-02_rb,2.4435e-03_rb/) kao(:, 4, 8, 9) = (/ & &4.7393e-01_rb,4.1463e-01_rb,3.5541e-01_rb,2.9668e-01_rb,2.3809e-01_rb,1.7953e-01_rb, & &1.2082e-01_rb,6.2242e-02_rb,3.3995e-03_rb/) kao(:, 5, 8, 9) = (/ & &4.8023e-01_rb,4.2020e-01_rb,3.6048e-01_rb,3.0117e-01_rb,2.4212e-01_rb,1.8271e-01_rb, & &1.2350e-01_rb,6.4451e-02_rb,5.1655e-03_rb/) kao(:, 1, 9, 9) = (/ & &1.9039e+00_rb,1.6660e+00_rb,1.4281e+00_rb,1.1899e+00_rb,9.5193e-01_rb,7.1405e-01_rb, & &4.7606e-01_rb,2.3807e-01_rb,5.1784e-04_rb/) kao(:, 2, 9, 9) = (/ & &1.8960e+00_rb,1.6589e+00_rb,1.4220e+00_rb,1.1850e+00_rb,9.4792e-01_rb,7.1098e-01_rb, & &4.7399e-01_rb,2.3745e-01_rb,1.0379e-03_rb/) kao(:, 3, 9, 9) = (/ & &1.8985e+00_rb,1.6610e+00_rb,1.4239e+00_rb,1.1866e+00_rb,9.4922e-01_rb,7.1187e-01_rb, & &4.7501e-01_rb,2.3850e-01_rb,1.9956e-03_rb/) kao(:, 4, 9, 9) = (/ & &1.9331e+00_rb,1.6922e+00_rb,1.4503e+00_rb,1.2084e+00_rb,9.6666e-01_rb,7.2514e-01_rb, & &4.8432e-01_rb,2.4379e-01_rb,3.3200e-03_rb/) kao(:, 5, 9, 9) = (/ & &1.9563e+00_rb,1.7116e+00_rb,1.4675e+00_rb,1.2227e+00_rb,9.7814e-01_rb,7.3426e-01_rb, & &4.9112e-01_rb,2.4753e-01_rb,5.3379e-03_rb/) kao(:, 1,10, 9) = (/ & &8.5901e+00_rb,7.5167e+00_rb,6.4427e+00_rb,5.3701e+00_rb,4.2955e+00_rb,3.2213e+00_rb, & &2.1478e+00_rb,1.0738e+00_rb,2.8232e-05_rb/) kao(:, 2,10, 9) = (/ & &8.5325e+00_rb,7.4671e+00_rb,6.4018e+00_rb,5.3343e+00_rb,4.2664e+00_rb,3.2001e+00_rb, & &2.1333e+00_rb,1.0667e+00_rb,3.4266e-05_rb/) kao(:, 3,10, 9) = (/ & &8.5180e+00_rb,7.4539e+00_rb,6.3892e+00_rb,5.3241e+00_rb,4.2587e+00_rb,3.1944e+00_rb, & &2.1293e+00_rb,1.0648e+00_rb,4.9015e-05_rb/) kao(:, 4,10, 9) = (/ & &8.6373e+00_rb,7.5561e+00_rb,6.4798e+00_rb,5.3988e+00_rb,4.3190e+00_rb,3.2393e+00_rb, & &2.1596e+00_rb,1.0801e+00_rb,1.1052e-03_rb/) kao(:, 5,10, 9) = (/ & &8.7651e+00_rb,7.6691e+00_rb,6.5729e+00_rb,5.4773e+00_rb,4.3830e+00_rb,3.2869e+00_rb, & &2.1915e+00_rb,1.0965e+00_rb,2.0612e-03_rb/) kao(:, 1,11, 9) = (/ & &1.3293e+01_rb,1.1631e+01_rb,9.9694e+00_rb,8.3080e+00_rb,6.6463e+00_rb,4.9848e+00_rb, & &3.3235e+00_rb,1.6616e+00_rb,8.6041e-05_rb/) kao(:, 2,11, 9) = (/ & &1.3175e+01_rb,1.1527e+01_rb,9.8819e+00_rb,8.2359e+00_rb,6.5871e+00_rb,4.9407e+00_rb, & &3.2935e+00_rb,1.6469e+00_rb,8.8405e-05_rb/) kao(:, 3,11, 9) = (/ & &1.3260e+01_rb,1.1601e+01_rb,9.9453e+00_rb,8.2878e+00_rb,6.6300e+00_rb,4.9725e+00_rb, & &3.3155e+00_rb,1.6576e+00_rb,7.6661e-05_rb/) kao(:, 4,11, 9) = (/ & &1.3414e+01_rb,1.1737e+01_rb,1.0061e+01_rb,8.3841e+00_rb,6.7068e+00_rb,5.0294e+00_rb, & &3.3528e+00_rb,1.6766e+00_rb,3.1506e-04_rb/) kao(:, 5,11, 9) = (/ & &1.3624e+01_rb,1.1922e+01_rb,1.0219e+01_rb,8.5160e+00_rb,6.8128e+00_rb,5.1095e+00_rb, & &3.4058e+00_rb,1.7038e+00_rb,1.6944e-03_rb/) kao(:, 1,12, 9) = (/ & &1.4782e+01_rb,1.2935e+01_rb,1.1089e+01_rb,9.2388e+00_rb,7.3920e+00_rb,5.5445e+00_rb, & &3.6962e+00_rb,1.8480e+00_rb,1.3867e-04_rb/) kao(:, 2,12, 9) = (/ & &1.4730e+01_rb,1.2889e+01_rb,1.1047e+01_rb,9.2076e+00_rb,7.3659e+00_rb,5.5246e+00_rb, & &3.6830e+00_rb,1.8415e+00_rb,1.5061e-04_rb/) kao(:, 3,12, 9) = (/ & &1.4865e+01_rb,1.3005e+01_rb,1.1148e+01_rb,9.2913e+00_rb,7.4319e+00_rb,5.5733e+00_rb, & &3.7153e+00_rb,1.8580e+00_rb,1.4666e-04_rb/) kao(:, 4,12, 9) = (/ & &1.5163e+01_rb,1.3269e+01_rb,1.1374e+01_rb,9.4785e+00_rb,7.5816e+00_rb,5.6866e+00_rb, & &3.7915e+00_rb,1.8957e+00_rb,1.4926e-04_rb/) kao(:, 5,12, 9) = (/ & &1.5423e+01_rb,1.3495e+01_rb,1.1567e+01_rb,9.6394e+00_rb,7.7115e+00_rb,5.7838e+00_rb, & &3.8558e+00_rb,1.9287e+00_rb,1.8983e-03_rb/) kao(:, 1,13, 9) = (/ & &1.2526e+01_rb,1.0960e+01_rb,9.3953e+00_rb,7.8295e+00_rb,6.2636e+00_rb,4.6971e+00_rb, & &3.1319e+00_rb,1.5656e+00_rb,2.2960e-04_rb/) kao(:, 2,13, 9) = (/ & &1.2594e+01_rb,1.1020e+01_rb,9.4466e+00_rb,7.8734e+00_rb,6.2977e+00_rb,4.7229e+00_rb, & &3.1489e+00_rb,1.5743e+00_rb,3.0250e-04_rb/) kao(:, 3,13, 9) = (/ & &1.2808e+01_rb,1.1205e+01_rb,9.6060e+00_rb,8.0068e+00_rb,6.4043e+00_rb,4.8030e+00_rb, & &3.2030e+00_rb,1.6008e+00_rb,4.1712e-04_rb/) kao(:, 4,13, 9) = (/ & &1.3107e+01_rb,1.1466e+01_rb,9.8274e+00_rb,8.1873e+00_rb,6.5536e+00_rb,4.9140e+00_rb, & &3.2751e+00_rb,1.6381e+00_rb,6.5679e-04_rb/) kao(:, 5,13, 9) = (/ & &1.3444e+01_rb,1.1761e+01_rb,1.0081e+01_rb,8.4011e+00_rb,6.7204e+00_rb,5.0404e+00_rb, & &3.3592e+00_rb,1.6815e+00_rb,2.8416e-03_rb/) kao(:, 1, 1,10) = (/ & &4.6973e-03_rb,3.3679e-03_rb,3.0810e-03_rb,4.4179e-03_rb,5.3922e-03_rb,6.8127e-03_rb, & &7.5300e-03_rb,9.6520e-03_rb,1.0742e-02_rb/) kao(:, 2, 1,10) = (/ & &3.3940e-03_rb,3.6347e-03_rb,3.8181e-03_rb,5.7069e-03_rb,7.1993e-03_rb,9.1516e-03_rb, & &1.0242e-02_rb,1.2914e-02_rb,1.4284e-02_rb/) kao(:, 3, 1,10) = (/ & &2.9328e-03_rb,3.5249e-03_rb,5.0061e-03_rb,7.3569e-03_rb,8.9474e-03_rb,1.1546e-02_rb, & &1.2963e-02_rb,1.7115e-02_rb,1.7551e-02_rb/) kao(:, 4, 1,10) = (/ & &2.4964e-03_rb,3.6551e-03_rb,6.6228e-03_rb,8.9461e-03_rb,1.0774e-02_rb,1.3965e-02_rb, & &1.7435e-02_rb,2.2332e-02_rb,2.1398e-02_rb/) kao(:, 5, 1,10) = (/ & &2.1304e-03_rb,4.5161e-03_rb,8.4664e-03_rb,1.0811e-02_rb,1.3640e-02_rb,1.7099e-02_rb, & &2.2735e-02_rb,2.8461e-02_rb,2.7259e-02_rb/) kao(:, 1, 2,10) = (/ & &9.4205e-03_rb,8.2881e-03_rb,6.8055e-03_rb,5.1998e-03_rb,6.0003e-03_rb,6.4194e-03_rb, & &7.3653e-03_rb,8.1269e-03_rb,1.1868e-02_rb/) kao(:, 2, 2,10) = (/ & &8.5761e-03_rb,7.3303e-03_rb,5.6742e-03_rb,5.4200e-03_rb,7.5061e-03_rb,8.7164e-03_rb, & &9.8614e-03_rb,1.1132e-02_rb,1.4929e-02_rb/) kao(:, 3, 2,10) = (/ & &7.2342e-03_rb,5.9377e-03_rb,5.5335e-03_rb,7.0973e-03_rb,9.3181e-03_rb,1.1104e-02_rb, & &1.2752e-02_rb,1.5333e-02_rb,1.8200e-02_rb/) kao(:, 4, 2,10) = (/ & &5.3015e-03_rb,5.6105e-03_rb,6.0212e-03_rb,9.3735e-03_rb,1.1344e-02_rb,1.3845e-02_rb, & &1.6350e-02_rb,2.0205e-02_rb,2.2040e-02_rb/) kao(:, 5, 2,10) = (/ & &4.6868e-03_rb,5.1363e-03_rb,7.4969e-03_rb,1.0079e-02_rb,1.4155e-02_rb,1.6850e-02_rb, & &1.9756e-02_rb,2.5412e-02_rb,2.7831e-02_rb/) kao(:, 1, 3,10) = (/ & &2.2659e-02_rb,2.0083e-02_rb,1.7749e-02_rb,1.5132e-02_rb,1.2304e-02_rb,9.8131e-03_rb, & &6.5475e-03_rb,7.6061e-03_rb,9.2024e-03_rb/) kao(:, 2, 3,10) = (/ & &2.3012e-02_rb,2.0379e-02_rb,1.7548e-02_rb,1.4904e-02_rb,1.1694e-02_rb,9.3796e-03_rb, & &9.2412e-03_rb,1.0030e-02_rb,1.2744e-02_rb/) kao(:, 3, 3,10) = (/ & &2.1396e-02_rb,1.8727e-02_rb,1.6107e-02_rb,1.2456e-02_rb,1.0255e-02_rb,1.0536e-02_rb, & &1.1966e-02_rb,1.3095e-02_rb,1.7259e-02_rb/) kao(:, 4, 3,10) = (/ & &1.9331e-02_rb,1.6488e-02_rb,1.2963e-02_rb,1.0270e-02_rb,1.1515e-02_rb,1.2315e-02_rb, & &1.5198e-02_rb,1.6672e-02_rb,2.2500e-02_rb/) kao(:, 5, 3,10) = (/ & &1.6551e-02_rb,1.3344e-02_rb,1.1001e-02_rb,1.0385e-02_rb,1.2450e-02_rb,1.4894e-02_rb, & &1.8912e-02_rb,2.0849e-02_rb,2.4782e-02_rb/) kao(:, 1, 4,10) = (/ & &5.3443e-02_rb,4.6752e-02_rb,4.0212e-02_rb,3.3727e-02_rb,2.6764e-02_rb,2.0366e-02_rb, & &1.4100e-02_rb,8.5626e-03_rb,5.0179e-03_rb/) kao(:, 2, 4,10) = (/ & &5.5520e-02_rb,4.8788e-02_rb,4.2227e-02_rb,3.5776e-02_rb,2.9164e-02_rb,2.2326e-02_rb, & &1.5452e-02_rb,9.1701e-03_rb,6.6031e-03_rb/) kao(:, 3, 4,10) = (/ & &5.3841e-02_rb,4.7471e-02_rb,4.1338e-02_rb,3.5633e-02_rb,2.9297e-02_rb,2.2785e-02_rb, & &1.5793e-02_rb,1.1481e-02_rb,9.9885e-03_rb/) kao(:, 4, 4,10) = (/ & &5.4923e-02_rb,4.8665e-02_rb,4.2046e-02_rb,3.5458e-02_rb,2.8786e-02_rb,2.1135e-02_rb, & &1.3946e-02_rb,1.4729e-02_rb,1.3190e-02_rb/) kao(:, 5, 4,10) = (/ & &5.1650e-02_rb,4.6045e-02_rb,4.0319e-02_rb,3.3252e-02_rb,2.5245e-02_rb,1.9132e-02_rb, & &1.5667e-02_rb,1.8634e-02_rb,1.9277e-02_rb/) kao(:, 1, 5,10) = (/ & &1.1780e-01_rb,1.0308e-01_rb,8.8391e-02_rb,7.4152e-02_rb,5.9704e-02_rb,4.5204e-02_rb, & &3.0807e-02_rb,1.6385e-02_rb,4.0089e-03_rb/) kao(:, 2, 5,10) = (/ & &1.1261e-01_rb,9.8543e-02_rb,8.5059e-02_rb,7.1216e-02_rb,5.7505e-02_rb,4.3649e-02_rb, & &3.0528e-02_rb,1.7529e-02_rb,9.3093e-03_rb/) kao(:, 3, 5,10) = (/ & &1.1400e-01_rb,9.9742e-02_rb,8.6449e-02_rb,7.3042e-02_rb,5.9615e-02_rb,4.6638e-02_rb, & &3.2532e-02_rb,1.8567e-02_rb,1.1184e-02_rb/) kao(:, 4, 5,10) = (/ & &1.1613e-01_rb,1.0163e-01_rb,8.9121e-02_rb,7.4876e-02_rb,6.0453e-02_rb,4.6196e-02_rb, & &3.1216e-02_rb,1.9048e-02_rb,1.2339e-02_rb/) kao(:, 5, 5,10) = (/ & &1.2016e-01_rb,1.0608e-01_rb,9.2375e-02_rb,7.6465e-02_rb,6.2248e-02_rb,4.8476e-02_rb, & &3.3522e-02_rb,1.7446e-02_rb,1.7040e-02_rb/) kao(:, 1, 6,10) = (/ & &2.3387e-01_rb,2.0464e-01_rb,1.7541e-01_rb,1.4624e-01_rb,1.1769e-01_rb,8.8692e-02_rb, & &5.9747e-02_rb,3.0756e-02_rb,2.5605e-03_rb/) kao(:, 2, 6,10) = (/ & &2.3730e-01_rb,2.0756e-01_rb,1.7772e-01_rb,1.4892e-01_rb,1.1985e-01_rb,9.0758e-02_rb, & &6.1778e-02_rb,3.2933e-02_rb,4.6893e-03_rb/) kao(:, 3, 6,10) = (/ & &2.4203e-01_rb,2.1158e-01_rb,1.8155e-01_rb,1.5250e-01_rb,1.2284e-01_rb,9.2705e-02_rb, & &6.3067e-02_rb,3.2776e-02_rb,9.7345e-03_rb/) kao(:, 4, 6,10) = (/ & &2.3049e-01_rb,2.0160e-01_rb,1.7416e-01_rb,1.4569e-01_rb,1.1768e-01_rb,8.9784e-02_rb, & &6.1642e-02_rb,3.4682e-02_rb,1.6936e-02_rb/) kao(:, 5, 6,10) = (/ & &2.3636e-01_rb,2.0679e-01_rb,1.7932e-01_rb,1.5154e-01_rb,1.2337e-01_rb,9.4475e-02_rb, & &6.5584e-02_rb,3.6305e-02_rb,2.2069e-02_rb/) kao(:, 1, 7,10) = (/ & &4.9443e-01_rb,4.3211e-01_rb,3.7050e-01_rb,3.0887e-01_rb,2.4699e-01_rb,1.8540e-01_rb, & &1.2438e-01_rb,6.2986e-02_rb,2.0096e-03_rb/) kao(:, 2, 7,10) = (/ & &4.9639e-01_rb,4.3473e-01_rb,3.7266e-01_rb,3.1039e-01_rb,2.4852e-01_rb,1.8749e-01_rb, & &1.2568e-01_rb,6.4131e-02_rb,3.0764e-03_rb/) kao(:, 3, 7,10) = (/ & &4.9265e-01_rb,4.3128e-01_rb,3.6987e-01_rb,3.0823e-01_rb,2.4792e-01_rb,1.8671e-01_rb, & &1.2562e-01_rb,6.4213e-02_rb,5.4655e-03_rb/) kao(:, 4, 7,10) = (/ & &4.7703e-01_rb,4.1742e-01_rb,3.5749e-01_rb,2.9850e-01_rb,2.4081e-01_rb,1.8239e-01_rb, & &1.2380e-01_rb,6.5802e-02_rb,1.0925e-02_rb/) kao(:, 5, 7,10) = (/ & &4.8180e-01_rb,4.2216e-01_rb,3.6195e-01_rb,3.0277e-01_rb,2.4364e-01_rb,1.8402e-01_rb, & &1.2523e-01_rb,6.7909e-02_rb,1.4296e-02_rb/) kao(:, 1, 8,10) = (/ & &1.1962e+00_rb,1.0464e+00_rb,8.9717e-01_rb,7.4708e-01_rb,5.9764e-01_rb,4.4825e-01_rb, & &2.9884e-01_rb,1.5061e-01_rb,3.8986e-03_rb/) kao(:, 2, 8,10) = (/ & &1.2041e+00_rb,1.0536e+00_rb,9.0306e-01_rb,7.5220e-01_rb,6.0244e-01_rb,4.5171e-01_rb, & &3.0103e-01_rb,1.5197e-01_rb,3.3573e-03_rb/) kao(:, 3, 8,10) = (/ & &1.1525e+00_rb,1.0084e+00_rb,8.6433e-01_rb,7.2027e-01_rb,5.7631e-01_rb,4.3217e-01_rb, & &2.8996e-01_rb,1.4673e-01_rb,3.4045e-03_rb/) kao(:, 4, 8,10) = (/ & &1.1627e+00_rb,1.0178e+00_rb,8.7243e-01_rb,7.2665e-01_rb,5.8167e-01_rb,4.3823e-01_rb, & &2.9244e-01_rb,1.4815e-01_rb,8.5595e-03_rb/) kao(:, 5, 8,10) = (/ & &1.1683e+00_rb,1.0228e+00_rb,8.7612e-01_rb,7.3014e-01_rb,5.8445e-01_rb,4.4237e-01_rb, & &2.9748e-01_rb,1.5239e-01_rb,1.0748e-02_rb/) kao(:, 1, 9,10) = (/ & &5.3473e+00_rb,4.6810e+00_rb,4.0088e+00_rb,3.3420e+00_rb,2.6745e+00_rb,2.0052e+00_rb, & &1.3357e+00_rb,6.6899e-01_rb,9.0646e-06_rb/) kao(:, 2, 9,10) = (/ & &5.3849e+00_rb,4.7131e+00_rb,4.0386e+00_rb,3.3668e+00_rb,2.6936e+00_rb,2.0203e+00_rb, & &1.3467e+00_rb,6.7337e-01_rb,1.6160e-05_rb/) kao(:, 3, 9,10) = (/ & &5.2604e+00_rb,4.6046e+00_rb,3.9456e+00_rb,3.2881e+00_rb,2.6303e+00_rb,1.9734e+00_rb, & &1.3151e+00_rb,6.5758e-01_rb,2.7795e-05_rb/) kao(:, 4, 9,10) = (/ & &4.9950e+00_rb,4.3651e+00_rb,3.7432e+00_rb,3.1211e+00_rb,2.4979e+00_rb,1.8723e+00_rb, & &1.2477e+00_rb,6.2561e-01_rb,4.1978e-05_rb/) kao(:, 5, 9,10) = (/ & &5.1108e+00_rb,4.4671e+00_rb,3.8297e+00_rb,3.1913e+00_rb,2.5537e+00_rb,1.9170e+00_rb, & &1.2756e+00_rb,6.4540e-01_rb,6.6209e-05_rb/) kao(:, 1,10,10) = (/ & &2.6042e+01_rb,2.2785e+01_rb,1.9540e+01_rb,1.6264e+01_rb,1.3016e+01_rb,9.7654e+00_rb, & &6.5078e+00_rb,3.2552e+00_rb,5.7707e-06_rb/) kao(:, 2,10,10) = (/ & &2.6479e+01_rb,2.3167e+01_rb,1.9837e+01_rb,1.6530e+01_rb,1.3239e+01_rb,9.9265e+00_rb, & &6.6195e+00_rb,3.3086e+00_rb,1.0081e-05_rb/) kao(:, 3,10,10) = (/ & &2.6009e+01_rb,2.2746e+01_rb,1.9506e+01_rb,1.6255e+01_rb,1.3009e+01_rb,9.7479e+00_rb, & &6.5045e+00_rb,3.2511e+00_rb,1.6976e-05_rb/) kao(:, 4,10,10) = (/ & &2.4905e+01_rb,2.1818e+01_rb,1.8660e+01_rb,1.5572e+01_rb,1.2451e+01_rb,9.3433e+00_rb, & &6.2220e+00_rb,3.1125e+00_rb,2.8117e-05_rb/) kao(:, 5,10,10) = (/ & &2.5169e+01_rb,2.2024e+01_rb,1.8885e+01_rb,1.5746e+01_rb,1.2587e+01_rb,9.4388e+00_rb, & &6.2934e+00_rb,3.1427e+00_rb,4.4861e-05_rb/) kao(:, 1,11,10) = (/ & &4.3366e+01_rb,3.7949e+01_rb,3.2540e+01_rb,2.7105e+01_rb,2.1683e+01_rb,1.6263e+01_rb, & &1.0837e+01_rb,5.4210e+00_rb,4.9323e-06_rb/) kao(:, 2,11,10) = (/ & &4.4481e+01_rb,3.8935e+01_rb,3.3362e+01_rb,2.7791e+01_rb,2.2247e+01_rb,1.6680e+01_rb, & &1.1125e+01_rb,5.5599e+00_rb,8.9387e-06_rb/) kao(:, 3,11,10) = (/ & &4.2759e+01_rb,3.7428e+01_rb,3.2070e+01_rb,2.6725e+01_rb,2.1369e+01_rb,1.6026e+01_rb, & &1.0686e+01_rb,5.3424e+00_rb,1.3904e-05_rb/) kao(:, 4,11,10) = (/ & &4.2776e+01_rb,3.7387e+01_rb,3.2051e+01_rb,2.6735e+01_rb,2.1399e+01_rb,1.6039e+01_rb, & &1.0699e+01_rb,5.3492e+00_rb,2.3732e-05_rb/) kao(:, 5,11,10) = (/ & &4.2881e+01_rb,3.7499e+01_rb,3.2160e+01_rb,2.6814e+01_rb,2.1427e+01_rb,1.6080e+01_rb, & &1.0724e+01_rb,5.3602e+00_rb,3.9053e-05_rb/) kao(:, 1,12,10) = (/ & &5.2035e+01_rb,4.5530e+01_rb,3.8991e+01_rb,3.2521e+01_rb,2.6007e+01_rb,1.9502e+01_rb, & &1.3003e+01_rb,6.5017e+00_rb,4.1086e-06_rb/) kao(:, 2,12,10) = (/ & &5.2620e+01_rb,4.6040e+01_rb,3.9465e+01_rb,3.2876e+01_rb,2.6300e+01_rb,1.9726e+01_rb, & &1.3150e+01_rb,6.5751e+00_rb,7.6006e-06_rb/) kao(:, 3,12,10) = (/ & &5.1699e+01_rb,4.5233e+01_rb,3.8772e+01_rb,3.2297e+01_rb,2.5847e+01_rb,1.9404e+01_rb, & &1.2928e+01_rb,6.4618e+00_rb,1.3155e-05_rb/) kao(:, 4,12,10) = (/ & &5.1530e+01_rb,4.5092e+01_rb,3.8615e+01_rb,3.2196e+01_rb,2.5751e+01_rb,1.9320e+01_rb, & &1.2877e+01_rb,6.4388e+00_rb,2.2125e-05_rb/) kao(:, 5,12,10) = (/ & &5.2358e+01_rb,4.5788e+01_rb,3.9246e+01_rb,3.2725e+01_rb,2.6162e+01_rb,1.9634e+01_rb, & &1.3083e+01_rb,6.5448e+00_rb,3.4034e-05_rb/) kao(:, 1,13,10) = (/ & &4.8070e+01_rb,4.2058e+01_rb,3.6028e+01_rb,3.0041e+01_rb,2.4032e+01_rb,1.8020e+01_rb, & &1.2016e+01_rb,6.0067e+00_rb,1.1683e-05_rb/) kao(:, 2,13,10) = (/ & &4.7586e+01_rb,4.1613e+01_rb,3.5689e+01_rb,2.9748e+01_rb,2.3780e+01_rb,1.7835e+01_rb, & &1.1890e+01_rb,5.9450e+00_rb,6.6906e-06_rb/) kao(:, 3,13,10) = (/ & &4.7760e+01_rb,4.1804e+01_rb,3.5818e+01_rb,2.9821e+01_rb,2.3863e+01_rb,1.7898e+01_rb, & &1.1923e+01_rb,5.9715e+00_rb,1.1688e-05_rb/) kao(:, 4,13,10) = (/ & &4.7976e+01_rb,4.1998e+01_rb,3.6011e+01_rb,3.0021e+01_rb,2.3989e+01_rb,1.7987e+01_rb, & &1.2008e+01_rb,6.0018e+00_rb,2.0801e-05_rb/) kao(:, 5,13,10) = (/ & &4.8185e+01_rb,4.2179e+01_rb,3.6131e+01_rb,3.0110e+01_rb,2.4087e+01_rb,1.8066e+01_rb, & &1.2054e+01_rb,6.0193e+00_rb,3.3629e-05_rb/) kao(:, 1, 1,11) = (/ & &2.3144e-03_rb,3.0235e-03_rb,4.2030e-03_rb,4.5486e-03_rb,6.9673e-03_rb,8.5656e-03_rb, & &1.0150e-02_rb,1.3548e-02_rb,1.3475e-02_rb/) kao(:, 2, 1,11) = (/ & &2.0416e-03_rb,3.1999e-03_rb,4.6569e-03_rb,6.4031e-03_rb,9.8267e-03_rb,1.1395e-02_rb, & &1.5022e-02_rb,1.8877e-02_rb,1.8904e-02_rb/) kao(:, 3, 1,11) = (/ & &1.8509e-03_rb,4.2185e-03_rb,5.5775e-03_rb,9.1095e-03_rb,1.2979e-02_rb,1.4639e-02_rb, & &2.1829e-02_rb,2.5577e-02_rb,2.5272e-02_rb/) kao(:, 4, 1,11) = (/ & &1.7995e-03_rb,5.2396e-03_rb,7.4739e-03_rb,1.1646e-02_rb,1.7153e-02_rb,1.9747e-02_rb, & &2.8712e-02_rb,3.3739e-02_rb,3.3147e-02_rb/) kao(:, 5, 1,11) = (/ & &1.8412e-03_rb,6.1417e-03_rb,9.5119e-03_rb,1.5457e-02_rb,2.1034e-02_rb,2.5800e-02_rb, & &3.6795e-02_rb,4.3339e-02_rb,4.2100e-02_rb/) kao(:, 1, 2,11) = (/ & &7.4427e-03_rb,5.5490e-03_rb,4.6664e-03_rb,4.6380e-03_rb,5.2610e-03_rb,8.4068e-03_rb, & &1.0505e-02_rb,1.1967e-02_rb,1.0119e-02_rb/) kao(:, 2, 2,11) = (/ & &5.3180e-03_rb,5.4523e-03_rb,5.6480e-03_rb,5.7960e-03_rb,8.0504e-03_rb,1.1015e-02_rb, & &1.3308e-02_rb,1.6901e-02_rb,1.5834e-02_rb/) kao(:, 3, 2,11) = (/ & &4.1509e-03_rb,5.0420e-03_rb,5.9494e-03_rb,7.8778e-03_rb,1.1077e-02_rb,1.4709e-02_rb, & &1.7403e-02_rb,2.2592e-02_rb,2.1710e-02_rb/) kao(:, 4, 2,11) = (/ & &3.7251e-03_rb,5.8604e-03_rb,7.1881e-03_rb,1.0249e-02_rb,1.4831e-02_rb,1.9015e-02_rb, & &2.1299e-02_rb,2.9770e-02_rb,2.9198e-02_rb/) kao(:, 5, 2,11) = (/ & &3.3170e-03_rb,7.3759e-03_rb,9.2312e-03_rb,1.4285e-02_rb,1.9035e-02_rb,2.3096e-02_rb, & &2.6856e-02_rb,3.8325e-02_rb,3.7190e-02_rb/) kao(:, 1, 3,11) = (/ & &2.3930e-02_rb,2.1175e-02_rb,1.8068e-02_rb,1.3752e-02_rb,9.3232e-03_rb,6.3033e-03_rb, & &9.0890e-03_rb,1.0309e-02_rb,9.2920e-03_rb/) kao(:, 2, 3,11) = (/ & &2.1364e-02_rb,1.8346e-02_rb,1.4408e-02_rb,1.0567e-02_rb,7.3487e-03_rb,8.3255e-03_rb, & &1.2320e-02_rb,1.3559e-02_rb,1.1942e-02_rb/) kao(:, 3, 3,11) = (/ & &1.6897e-02_rb,1.4069e-02_rb,1.1090e-02_rb,9.4072e-03_rb,9.0158e-03_rb,1.2182e-02_rb, & &1.6529e-02_rb,1.8032e-02_rb,1.6702e-02_rb/) kao(:, 4, 3,11) = (/ & &1.1735e-02_rb,1.1062e-02_rb,1.1919e-02_rb,1.0177e-02_rb,1.1885e-02_rb,1.6740e-02_rb, & &2.0422e-02_rb,2.2761e-02_rb,2.2381e-02_rb/) kao(:, 5, 3,11) = (/ & &9.3268e-03_rb,1.0886e-02_rb,1.2245e-02_rb,1.2355e-02_rb,1.5695e-02_rb,2.1667e-02_rb, & &2.4460e-02_rb,2.7729e-02_rb,3.0274e-02_rb/) kao(:, 1, 4,11) = (/ & &5.8030e-02_rb,5.0790e-02_rb,4.4332e-02_rb,3.7503e-02_rb,3.1337e-02_rb,2.3862e-02_rb, & &1.5919e-02_rb,8.9924e-03_rb,1.0517e-02_rb/) kao(:, 2, 4,11) = (/ & &5.8203e-02_rb,5.1238e-02_rb,4.3852e-02_rb,3.6687e-02_rb,2.8842e-02_rb,2.1050e-02_rb, & &1.3525e-02_rb,1.1884e-02_rb,1.5506e-02_rb/) kao(:, 3, 4,11) = (/ & &6.0219e-02_rb,5.3113e-02_rb,4.5845e-02_rb,3.6288e-02_rb,2.6852e-02_rb,1.6648e-02_rb, & &1.3537e-02_rb,1.6277e-02_rb,1.8129e-02_rb/) kao(:, 4, 4,11) = (/ & &4.9871e-02_rb,4.2283e-02_rb,3.5849e-02_rb,2.8922e-02_rb,1.9343e-02_rb,1.4341e-02_rb, & &1.8188e-02_rb,2.0990e-02_rb,2.0822e-02_rb/) kao(:, 5, 4,11) = (/ & &3.8385e-02_rb,3.4058e-02_rb,2.7365e-02_rb,2.1994e-02_rb,1.7140e-02_rb,1.6164e-02_rb, & &2.3472e-02_rb,2.6305e-02_rb,2.6373e-02_rb/) kao(:, 1, 5,11) = (/ & &1.3556e-01_rb,1.1844e-01_rb,1.0158e-01_rb,8.5252e-02_rb,6.8440e-02_rb,5.1875e-02_rb, & &3.5448e-02_rb,1.8978e-02_rb,8.8762e-03_rb/) kao(:, 2, 5,11) = (/ & &1.3807e-01_rb,1.2082e-01_rb,1.0421e-01_rb,8.7432e-02_rb,7.0858e-02_rb,5.4903e-02_rb, & &3.7824e-02_rb,2.0068e-02_rb,1.1692e-02_rb/) kao(:, 3, 5,11) = (/ & &1.3721e-01_rb,1.2013e-01_rb,1.0360e-01_rb,8.7259e-02_rb,7.0575e-02_rb,5.3560e-02_rb, & &3.5670e-02_rb,1.8870e-02_rb,1.8216e-02_rb/) kao(:, 4, 5,11) = (/ & &1.2962e-01_rb,1.1333e-01_rb,9.6679e-02_rb,8.1723e-02_rb,6.6334e-02_rb,5.1939e-02_rb, & &3.3737e-02_rb,2.0192e-02_rb,2.7154e-02_rb/) kao(:, 5, 5,11) = (/ & &1.2340e-01_rb,1.0852e-01_rb,9.2540e-02_rb,7.8313e-02_rb,6.2622e-02_rb,4.1413e-02_rb, & &2.5923e-02_rb,2.4326e-02_rb,3.4052e-02_rb/) kao(:, 1, 6,11) = (/ & &2.8825e-01_rb,2.5222e-01_rb,2.1620e-01_rb,1.8017e-01_rb,1.4417e-01_rb,1.0893e-01_rb, & &7.3359e-02_rb,3.7509e-02_rb,5.6670e-03_rb/) kao(:, 2, 6,11) = (/ & &2.8768e-01_rb,2.5188e-01_rb,2.1600e-01_rb,1.7993e-01_rb,1.4497e-01_rb,1.0976e-01_rb, & &7.3838e-02_rb,3.8599e-02_rb,8.8428e-03_rb/) kao(:, 3, 6,11) = (/ & &2.8241e-01_rb,2.4722e-01_rb,2.1181e-01_rb,1.7724e-01_rb,1.4248e-01_rb,1.0766e-01_rb, & &7.3624e-02_rb,3.9950e-02_rb,1.3973e-02_rb/) kao(:, 4, 6,11) = (/ & &2.8627e-01_rb,2.5067e-01_rb,2.1487e-01_rb,1.8056e-01_rb,1.4619e-01_rb,1.1172e-01_rb, & &7.8306e-02_rb,4.0986e-02_rb,2.0403e-02_rb/) kao(:, 5, 6,11) = (/ & &2.7874e-01_rb,2.4399e-01_rb,2.0989e-01_rb,1.7645e-01_rb,1.4231e-01_rb,1.0969e-01_rb, & &7.6704e-02_rb,4.0995e-02_rb,2.4450e-02_rb/) kao(:, 1, 7,11) = (/ & &6.1169e-01_rb,5.3575e-01_rb,4.5923e-01_rb,3.8252e-01_rb,3.0616e-01_rb,2.2929e-01_rb, & &1.5383e-01_rb,7.7531e-02_rb,2.8956e-03_rb/) kao(:, 2, 7,11) = (/ & &6.1159e-01_rb,5.3511e-01_rb,4.5848e-01_rb,3.8242e-01_rb,3.0567e-01_rb,2.3004e-01_rb, & &1.5345e-01_rb,7.7731e-02_rb,6.2629e-03_rb/) kao(:, 3, 7,11) = (/ & &6.0642e-01_rb,5.3036e-01_rb,4.5410e-01_rb,3.7880e-01_rb,3.0308e-01_rb,2.2893e-01_rb, & &1.5450e-01_rb,7.9546e-02_rb,1.1879e-02_rb/) kao(:, 4, 7,11) = (/ & &6.2322e-01_rb,5.4531e-01_rb,4.6718e-01_rb,3.8974e-01_rb,3.1356e-01_rb,2.3563e-01_rb, & &1.5873e-01_rb,8.1521e-02_rb,1.3030e-02_rb/) kao(:, 5, 7,11) = (/ & &6.1773e-01_rb,5.4019e-01_rb,4.6283e-01_rb,3.8859e-01_rb,3.1161e-01_rb,2.3601e-01_rb, & &1.5998e-01_rb,8.3125e-02_rb,1.9458e-02_rb/) kao(:, 1, 8,11) = (/ & &1.4932e+00_rb,1.3065e+00_rb,1.1199e+00_rb,9.3315e-01_rb,7.4665e-01_rb,5.5991e-01_rb, & &3.7327e-01_rb,1.8697e-01_rb,1.1999e-05_rb/) kao(:, 2, 8,11) = (/ & &1.5196e+00_rb,1.3312e+00_rb,1.1397e+00_rb,9.5010e-01_rb,7.6026e-01_rb,5.7020e-01_rb, & &3.8013e-01_rb,1.9174e-01_rb,7.7042e-03_rb/) kao(:, 3, 8,11) = (/ & &1.5505e+00_rb,1.3567e+00_rb,1.1629e+00_rb,9.6902e-01_rb,7.7525e-01_rb,5.8146e-01_rb, & &3.8981e-01_rb,1.9691e-01_rb,1.2006e-02_rb/) kao(:, 4, 8,11) = (/ & &1.4878e+00_rb,1.3018e+00_rb,1.1160e+00_rb,9.2984e-01_rb,7.4341e-01_rb,5.5771e-01_rb, & &3.7622e-01_rb,1.9146e-01_rb,1.2696e-02_rb/) kao(:, 5, 8,11) = (/ & &1.4729e+00_rb,1.2883e+00_rb,1.1049e+00_rb,9.2129e-01_rb,7.3618e-01_rb,5.5599e-01_rb, & &3.7163e-01_rb,1.8805e-01_rb,1.8722e-02_rb/) kao(:, 1, 9,11) = (/ & &6.8904e+00_rb,6.0266e+00_rb,5.1680e+00_rb,4.3068e+00_rb,3.4452e+00_rb,2.5839e+00_rb, & &1.7234e+00_rb,8.6092e-01_rb,6.7224e-06_rb/) kao(:, 2, 9,11) = (/ & &7.0980e+00_rb,6.2107e+00_rb,5.3294e+00_rb,4.4415e+00_rb,3.5510e+00_rb,2.6633e+00_rb, & &1.7755e+00_rb,8.8723e-01_rb,1.2025e-05_rb/) kao(:, 3, 9,11) = (/ & &7.2688e+00_rb,6.3564e+00_rb,5.4482e+00_rb,4.5401e+00_rb,3.6343e+00_rb,2.7243e+00_rb, & &1.8161e+00_rb,9.0754e-01_rb,1.9985e-05_rb/) kao(:, 4, 9,11) = (/ & &7.1740e+00_rb,6.2782e+00_rb,5.3807e+00_rb,4.4818e+00_rb,3.5855e+00_rb,2.6901e+00_rb, & &1.7938e+00_rb,8.9646e-01_rb,3.0947e-05_rb/) kao(:, 5, 9,11) = (/ & &6.7468e+00_rb,5.9097e+00_rb,5.0601e+00_rb,4.2188e+00_rb,3.3754e+00_rb,2.5313e+00_rb, & &1.6873e+00_rb,8.4597e-01_rb,4.6476e-05_rb/) kao(:, 1,10,11) = (/ & &3.5457e+01_rb,3.1027e+01_rb,2.6582e+01_rb,2.2175e+01_rb,1.7740e+01_rb,1.3297e+01_rb, & &8.8648e+00_rb,4.4349e+00_rb,3.8551e-06_rb/) kao(:, 2,10,11) = (/ & &3.5857e+01_rb,3.1366e+01_rb,2.6891e+01_rb,2.2421e+01_rb,1.7929e+01_rb,1.3446e+01_rb, & &8.9645e+00_rb,4.4822e+00_rb,7.1785e-06_rb/) kao(:, 3,10,11) = (/ & &3.7065e+01_rb,3.2447e+01_rb,2.7799e+01_rb,2.3166e+01_rb,1.8532e+01_rb,1.3906e+01_rb, & &9.2664e+00_rb,4.6331e+00_rb,1.2630e-05_rb/) kao(:, 4,10,11) = (/ & &3.6718e+01_rb,3.2113e+01_rb,2.7539e+01_rb,2.2938e+01_rb,1.8366e+01_rb,1.3764e+01_rb, & &9.1841e+00_rb,4.5916e+00_rb,2.1179e-05_rb/) kao(:, 5,10,11) = (/ & &3.5010e+01_rb,3.0613e+01_rb,2.6257e+01_rb,2.1870e+01_rb,1.7497e+01_rb,1.3129e+01_rb, & &8.7481e+00_rb,4.3808e+00_rb,3.3504e-05_rb/) kao(:, 1,11,11) = (/ & &6.2218e+01_rb,5.4427e+01_rb,4.6646e+01_rb,3.8874e+01_rb,3.1110e+01_rb,2.3334e+01_rb, & &1.5561e+01_rb,7.7776e+00_rb,3.5875e-06_rb/) kao(:, 2,11,11) = (/ & &6.2105e+01_rb,5.4407e+01_rb,4.6579e+01_rb,3.8839e+01_rb,3.1033e+01_rb,2.3318e+01_rb, & &1.5536e+01_rb,7.7679e+00_rb,5.9066e-06_rb/) kao(:, 3,11,11) = (/ & &6.4816e+01_rb,5.6715e+01_rb,4.8615e+01_rb,4.0513e+01_rb,3.2442e+01_rb,2.4317e+01_rb, & &1.6205e+01_rb,8.1056e+00_rb,1.0776e-05_rb/) kao(:, 4,11,11) = (/ & &6.2787e+01_rb,5.4987e+01_rb,4.7112e+01_rb,3.9241e+01_rb,3.1378e+01_rb,2.3555e+01_rb, & &1.5697e+01_rb,7.8485e+00_rb,1.7304e-05_rb/) kao(:, 5,11,11) = (/ & &6.1876e+01_rb,5.4130e+01_rb,4.6407e+01_rb,3.8627e+01_rb,3.0933e+01_rb,2.3204e+01_rb, & &1.5469e+01_rb,7.7346e+00_rb,2.7512e-05_rb/) kao(:, 1,12,11) = (/ & &8.0103e+01_rb,7.0095e+01_rb,6.0103e+01_rb,5.0066e+01_rb,4.0052e+01_rb,3.0040e+01_rb, & &2.0026e+01_rb,1.0013e+01_rb,3.2505e-06_rb/) kao(:, 2,12,11) = (/ & &7.9090e+01_rb,6.9204e+01_rb,5.9318e+01_rb,4.9432e+01_rb,3.9544e+01_rb,2.9659e+01_rb, & &1.9773e+01_rb,9.8860e+00_rb,5.5034e-06_rb/) kao(:, 3,12,11) = (/ & &7.9848e+01_rb,6.9859e+01_rb,5.9882e+01_rb,4.9902e+01_rb,3.9894e+01_rb,2.9946e+01_rb, & &1.9960e+01_rb,9.9805e+00_rb,8.6063e-06_rb/) kao(:, 4,12,11) = (/ & &7.8661e+01_rb,6.8779e+01_rb,5.8977e+01_rb,4.9159e+01_rb,3.9293e+01_rb,2.9497e+01_rb, & &1.9663e+01_rb,9.8183e+00_rb,1.4131e-05_rb/) kao(:, 5,12,11) = (/ & &7.8792e+01_rb,6.8975e+01_rb,5.9124e+01_rb,4.9246e+01_rb,3.9445e+01_rb,2.9569e+01_rb, & &1.9707e+01_rb,9.8563e+00_rb,2.3305e-05_rb/) kao(:, 1,13,11) = (/ & &7.5314e+01_rb,6.5898e+01_rb,5.6507e+01_rb,4.7072e+01_rb,3.7657e+01_rb,2.8254e+01_rb, & &1.8828e+01_rb,9.4159e+00_rb,2.7819e-06_rb/) kao(:, 2,13,11) = (/ & &7.4029e+01_rb,6.4852e+01_rb,5.5523e+01_rb,4.6247e+01_rb,3.7031e+01_rb,2.7774e+01_rb, & &1.8528e+01_rb,9.2576e+00_rb,5.0908e-06_rb/) kao(:, 3,13,11) = (/ & &7.3797e+01_rb,6.4573e+01_rb,5.5347e+01_rb,4.6143e+01_rb,3.6917e+01_rb,2.7689e+01_rb, & &1.8458e+01_rb,9.2250e+00_rb,8.2936e-06_rb/) kao(:, 4,13,11) = (/ & &7.5507e+01_rb,6.6112e+01_rb,5.6628e+01_rb,4.7225e+01_rb,3.7779e+01_rb,2.8348e+01_rb, & &1.8877e+01_rb,9.4449e+00_rb,1.2487e-05_rb/) kao(:, 5,13,11) = (/ & &7.6962e+01_rb,6.7290e+01_rb,5.7729e+01_rb,4.8107e+01_rb,3.8486e+01_rb,2.8863e+01_rb, & &1.9221e+01_rb,9.6284e+00_rb,1.8751e-05_rb/) kao(:, 1, 1,12) = (/ & &1.1046e-03_rb,3.3707e-03_rb,5.0558e-03_rb,8.2647e-03_rb,9.1015e-03_rb,1.0694e-02_rb, & &1.8807e-02_rb,2.2647e-02_rb,1.8110e-02_rb/) kao(:, 2, 1,12) = (/ & &1.0969e-03_rb,4.7708e-03_rb,7.6740e-03_rb,1.0546e-02_rb,1.0900e-02_rb,1.6801e-02_rb, & &2.5799e-02_rb,3.1294e-02_rb,2.2312e-02_rb/) kao(:, 3, 1,12) = (/ & &1.0873e-03_rb,6.1594e-03_rb,1.0535e-02_rb,1.2275e-02_rb,1.5399e-02_rb,2.5780e-02_rb, & &3.4278e-02_rb,4.1551e-02_rb,3.1702e-02_rb/) kao(:, 4, 1,12) = (/ & &1.0681e-03_rb,6.7407e-03_rb,1.3124e-02_rb,1.6579e-02_rb,1.9835e-02_rb,3.5596e-02_rb, & &4.4369e-02_rb,5.3472e-02_rb,4.1109e-02_rb/) kao(:, 5, 1,12) = (/ & &1.0270e-03_rb,8.1418e-03_rb,1.5112e-02_rb,2.0848e-02_rb,2.8658e-02_rb,4.6490e-02_rb, & &5.6118e-02_rb,6.7233e-02_rb,5.7448e-02_rb/) kao(:, 1, 2,12) = (/ & &1.5646e-03_rb,3.6954e-03_rb,5.8279e-03_rb,7.1796e-03_rb,9.8217e-03_rb,9.7524e-03_rb, & &1.1081e-02_rb,1.8489e-02_rb,1.8167e-02_rb/) kao(:, 2, 2,12) = (/ & &1.5547e-03_rb,3.8903e-03_rb,7.0691e-03_rb,1.0316e-02_rb,1.1952e-02_rb,1.3642e-02_rb, & &1.6631e-02_rb,2.5775e-02_rb,2.2105e-02_rb/) kao(:, 3, 2,12) = (/ & &1.5005e-03_rb,5.8120e-03_rb,1.0164e-02_rb,1.2828e-02_rb,1.5616e-02_rb,1.8084e-02_rb, & &2.4815e-02_rb,3.4836e-02_rb,2.8922e-02_rb/) kao(:, 4, 2,12) = (/ & &1.4224e-03_rb,7.6958e-03_rb,1.3586e-02_rb,1.5505e-02_rb,1.9916e-02_rb,2.3661e-02_rb, & &3.6496e-02_rb,4.5732e-02_rb,3.8152e-02_rb/) kao(:, 5, 2,12) = (/ & &1.3736e-03_rb,9.1086e-03_rb,1.6016e-02_rb,2.0127e-02_rb,2.5470e-02_rb,3.1020e-02_rb, & &5.0141e-02_rb,5.8654e-02_rb,5.1074e-02_rb/) kao(:, 1, 3,12) = (/ & &1.0482e-02_rb,8.9646e-03_rb,6.8350e-03_rb,8.2815e-03_rb,8.8992e-03_rb,1.0605e-02_rb, & &1.0328e-02_rb,1.1583e-02_rb,1.6044e-02_rb/) kao(:, 2, 3,12) = (/ & &5.7078e-03_rb,6.1160e-03_rb,7.6830e-03_rb,9.7377e-03_rb,1.2964e-02_rb,1.2587e-02_rb, & &1.4124e-02_rb,1.6978e-02_rb,2.4120e-02_rb/) kao(:, 3, 3,12) = (/ & &3.9502e-03_rb,6.0459e-03_rb,1.0569e-02_rb,1.4120e-02_rb,1.6811e-02_rb,1.6440e-02_rb, & &1.9141e-02_rb,2.2713e-02_rb,3.1566e-02_rb/) kao(:, 4, 3,12) = (/ & &3.2701e-03_rb,7.5815e-03_rb,1.2592e-02_rb,1.9220e-02_rb,1.9128e-02_rb,2.1966e-02_rb, & &2.6084e-02_rb,3.3096e-02_rb,3.6118e-02_rb/) kao(:, 5, 3,12) = (/ & &2.7401e-03_rb,7.8080e-03_rb,1.5492e-02_rb,2.3290e-02_rb,2.4892e-02_rb,2.8848e-02_rb, & &3.4321e-02_rb,4.6873e-02_rb,4.7340e-02_rb/) kao(:, 1, 4,12) = (/ & &6.0672e-02_rb,5.3090e-02_rb,4.4556e-02_rb,3.6202e-02_rb,2.6483e-02_rb,1.8181e-02_rb, & &1.2199e-02_rb,1.0993e-02_rb,1.4969e-02_rb/) kao(:, 2, 4,12) = (/ & &4.3589e-02_rb,3.8144e-02_rb,3.0755e-02_rb,2.3593e-02_rb,1.9730e-02_rb,1.5624e-02_rb, & &1.3490e-02_rb,1.5542e-02_rb,2.0057e-02_rb/) kao(:, 3, 4,12) = (/ & &2.4695e-02_rb,2.2865e-02_rb,1.7074e-02_rb,1.5816e-02_rb,1.6661e-02_rb,2.0463e-02_rb, & &1.7348e-02_rb,2.1210e-02_rb,2.8829e-02_rb/) kao(:, 4, 4,12) = (/ & &1.4306e-02_rb,1.8283e-02_rb,1.4453e-02_rb,1.9081e-02_rb,2.2731e-02_rb,2.4085e-02_rb, & &2.3223e-02_rb,2.7809e-02_rb,4.1362e-02_rb/) kao(:, 5, 4,12) = (/ & &1.0713e-02_rb,1.1979e-02_rb,1.4158e-02_rb,2.2119e-02_rb,2.9428e-02_rb,2.9426e-02_rb, & &3.0795e-02_rb,3.5958e-02_rb,5.4444e-02_rb/) kao(:, 1, 5,12) = (/ & &1.5652e-01_rb,1.3723e-01_rb,1.1755e-01_rb,9.8247e-02_rb,7.8467e-02_rb,5.9349e-02_rb, & &3.9820e-02_rb,1.8398e-02_rb,1.1394e-02_rb/) kao(:, 2, 5,12) = (/ & &1.5350e-01_rb,1.3431e-01_rb,1.1514e-01_rb,9.6381e-02_rb,7.7667e-02_rb,5.6368e-02_rb, & &3.3743e-02_rb,1.4780e-02_rb,1.5913e-02_rb/) kao(:, 3, 5,12) = (/ & &1.3349e-01_rb,1.1672e-01_rb,9.9565e-02_rb,8.1852e-02_rb,6.1169e-02_rb,4.3464e-02_rb, & &2.9522e-02_rb,1.7569e-02_rb,2.3571e-02_rb/) kao(:, 4, 5,12) = (/ & &1.0423e-01_rb,9.1271e-02_rb,7.7253e-02_rb,6.0811e-02_rb,4.8046e-02_rb,3.4464e-02_rb, & &2.5349e-02_rb,2.3626e-02_rb,3.4271e-02_rb/) kao(:, 5, 5,12) = (/ & &6.1168e-02_rb,5.3666e-02_rb,4.5385e-02_rb,3.6131e-02_rb,3.2187e-02_rb,3.6873e-02_rb, & &3.0883e-02_rb,3.2443e-02_rb,4.3030e-02_rb/) kao(:, 1, 6,12) = (/ & &3.3296e-01_rb,2.9114e-01_rb,2.4975e-01_rb,2.0812e-01_rb,1.6650e-01_rb,1.2577e-01_rb, & &8.4465e-02_rb,4.3210e-02_rb,7.5744e-03_rb/) kao(:, 2, 6,12) = (/ & &3.2661e-01_rb,2.8604e-01_rb,2.4502e-01_rb,2.0429e-01_rb,1.6474e-01_rb,1.2400e-01_rb, & &8.4046e-02_rb,4.3324e-02_rb,1.2737e-02_rb/) kao(:, 3, 6,12) = (/ & &3.3274e-01_rb,2.9155e-01_rb,2.4958e-01_rb,2.1022e-01_rb,1.6841e-01_rb,1.2817e-01_rb, & &8.5832e-02_rb,4.1156e-02_rb,1.9272e-02_rb/) kao(:, 4, 6,12) = (/ & &3.2428e-01_rb,2.8378e-01_rb,2.4307e-01_rb,2.0420e-01_rb,1.6451e-01_rb,1.2138e-01_rb, & &7.6212e-02_rb,3.3602e-02_rb,2.1893e-02_rb/) kao(:, 5, 6,12) = (/ & &2.8830e-01_rb,2.5208e-01_rb,2.1788e-01_rb,1.7562e-01_rb,1.3634e-01_rb,9.6797e-02_rb, & &6.1659e-02_rb,2.8996e-02_rb,3.3943e-02_rb/) kao(:, 1, 7,12) = (/ & &7.1633e-01_rb,6.2687e-01_rb,5.3652e-01_rb,4.4712e-01_rb,3.5797e-01_rb,2.6845e-01_rb, & &1.7938e-01_rb,9.0924e-02_rb,9.7506e-03_rb/) kao(:, 2, 7,12) = (/ & &7.4602e-01_rb,6.5233e-01_rb,5.5949e-01_rb,4.6595e-01_rb,3.7278e-01_rb,2.7940e-01_rb, & &1.8898e-01_rb,9.6146e-02_rb,1.9089e-02_rb/) kao(:, 3, 7,12) = (/ & &7.5756e-01_rb,6.6287e-01_rb,5.6888e-01_rb,4.7384e-01_rb,3.7881e-01_rb,2.8626e-01_rb, & &1.9222e-01_rb,9.8080e-02_rb,1.5850e-02_rb/) kao(:, 4, 7,12) = (/ & &7.2210e-01_rb,6.3187e-01_rb,5.4195e-01_rb,4.5134e-01_rb,3.6428e-01_rb,2.7503e-01_rb, & &1.8532e-01_rb,9.5998e-02_rb,2.2744e-02_rb/) kao(:, 5, 7,12) = (/ & &7.1833e-01_rb,6.2908e-01_rb,5.3886e-01_rb,4.4907e-01_rb,3.6079e-01_rb,2.7147e-01_rb, & &1.8148e-01_rb,9.1961e-02_rb,3.2788e-02_rb/) kao(:, 1, 8,12) = (/ & &1.8651e+00_rb,1.6319e+00_rb,1.3988e+00_rb,1.1656e+00_rb,9.3248e-01_rb,6.9936e-01_rb, & &4.6627e-01_rb,2.3315e-01_rb,7.1174e-06_rb/) kao(:, 2, 8,12) = (/ & &1.9142e+00_rb,1.6730e+00_rb,1.4347e+00_rb,1.1964e+00_rb,9.5588e-01_rb,7.1697e-01_rb, & &4.7797e-01_rb,2.4089e-01_rb,1.3089e-05_rb/) kao(:, 3, 8,12) = (/ & &1.9338e+00_rb,1.6922e+00_rb,1.4504e+00_rb,1.2080e+00_rb,9.6694e-01_rb,7.2522e-01_rb, & &4.8350e-01_rb,2.4403e-01_rb,6.4382e-03_rb/) kao(:, 4, 8,12) = (/ & &1.9257e+00_rb,1.6851e+00_rb,1.4444e+00_rb,1.2027e+00_rb,9.6352e-01_rb,7.2222e-01_rb, & &4.8580e-01_rb,2.4642e-01_rb,2.0202e-02_rb/) kao(:, 5, 8,12) = (/ & &1.8578e+00_rb,1.6228e+00_rb,1.3921e+00_rb,1.1585e+00_rb,9.2745e-01_rb,6.9620e-01_rb, & &4.7147e-01_rb,2.4294e-01_rb,3.5578e-02_rb/) kao(:, 1, 9,12) = (/ & &8.9732e+00_rb,7.8574e+00_rb,6.7348e+00_rb,5.6085e+00_rb,4.4901e+00_rb,3.3675e+00_rb, & &2.2449e+00_rb,1.1217e+00_rb,5.5128e-06_rb/) kao(:, 2, 9,12) = (/ & &9.0176e+00_rb,7.8899e+00_rb,6.7555e+00_rb,5.6293e+00_rb,4.5061e+00_rb,3.3798e+00_rb, & &2.2531e+00_rb,1.1272e+00_rb,1.0749e-05_rb/) kao(:, 3, 9,12) = (/ & &9.1462e+00_rb,8.0080e+00_rb,6.8640e+00_rb,5.7226e+00_rb,4.5733e+00_rb,3.4343e+00_rb, & &2.2880e+00_rb,1.1452e+00_rb,1.7030e-05_rb/) kao(:, 4, 9,12) = (/ & &9.3997e+00_rb,8.2308e+00_rb,7.0500e+00_rb,5.8749e+00_rb,4.7035e+00_rb,3.5295e+00_rb, & &2.3500e+00_rb,1.1750e+00_rb,2.7289e-05_rb/) kao(:, 5, 9,12) = (/ & &9.4496e+00_rb,8.2622e+00_rb,7.0818e+00_rb,5.9018e+00_rb,4.7215e+00_rb,3.5410e+00_rb, & &2.3622e+00_rb,1.1804e+00_rb,4.0208e-05_rb/) kao(:, 1,10,12) = (/ & &4.7340e+01_rb,4.1390e+01_rb,3.5503e+01_rb,2.9570e+01_rb,2.3638e+01_rb,1.7753e+01_rb, & &1.1835e+01_rb,5.9140e+00_rb,4.0857e-06_rb/) kao(:, 2,10,12) = (/ & &4.7468e+01_rb,4.1532e+01_rb,3.5600e+01_rb,2.9666e+01_rb,2.3733e+01_rb,1.7801e+01_rb, & &1.1867e+01_rb,5.9335e+00_rb,7.3318e-06_rb/) kao(:, 3,10,12) = (/ & &4.7779e+01_rb,4.1808e+01_rb,3.5836e+01_rb,2.9862e+01_rb,2.3890e+01_rb,1.7931e+01_rb, & &1.1954e+01_rb,5.9724e+00_rb,1.2287e-05_rb/) kao(:, 4,10,12) = (/ & &5.0181e+01_rb,4.3911e+01_rb,3.7609e+01_rb,3.1364e+01_rb,2.5077e+01_rb,1.8819e+01_rb, & &1.2546e+01_rb,6.2708e+00_rb,2.0136e-05_rb/) kao(:, 5,10,12) = (/ & &5.0358e+01_rb,4.4054e+01_rb,3.7768e+01_rb,3.1474e+01_rb,2.5199e+01_rb,1.8885e+01_rb, & &1.2590e+01_rb,6.2949e+00_rb,3.0786e-05_rb/) kao(:, 1,11,12) = (/ & &8.8012e+01_rb,7.7091e+01_rb,6.6061e+01_rb,5.5064e+01_rb,4.4041e+01_rb,3.3007e+01_rb, & &2.2019e+01_rb,1.1017e+01_rb,3.6494e-06_rb/) kao(:, 2,11,12) = (/ & &8.9290e+01_rb,7.8045e+01_rb,6.6917e+01_rb,5.5778e+01_rb,4.4669e+01_rb,3.3448e+01_rb, & &2.2295e+01_rb,1.1156e+01_rb,6.7273e-06_rb/) kao(:, 3,11,12) = (/ & &8.6982e+01_rb,7.6115e+01_rb,6.5187e+01_rb,5.4368e+01_rb,4.3469e+01_rb,3.2619e+01_rb, & &2.1748e+01_rb,1.0873e+01_rb,1.1236e-05_rb/) kao(:, 4,11,12) = (/ & &8.9808e+01_rb,7.8580e+01_rb,6.7351e+01_rb,5.6127e+01_rb,4.4937e+01_rb,3.3677e+01_rb, & &2.2469e+01_rb,1.1226e+01_rb,1.9240e-05_rb/) kao(:, 5,11,12) = (/ & &9.0868e+01_rb,7.9552e+01_rb,6.8146e+01_rb,5.6871e+01_rb,4.5498e+01_rb,3.4074e+01_rb, & &2.2716e+01_rb,1.1367e+01_rb,2.9192e-05_rb/) kao(:, 1,12,12) = (/ & &1.1586e+02_rb,1.0129e+02_rb,8.6824e+01_rb,7.2354e+01_rb,5.7931e+01_rb,4.3416e+01_rb, & &2.8943e+01_rb,1.4471e+01_rb,2.9778e-06_rb/) kao(:, 2,12,12) = (/ & &1.1852e+02_rb,1.0370e+02_rb,8.8887e+01_rb,7.4073e+01_rb,5.9259e+01_rb,4.4444e+01_rb, & &2.9629e+01_rb,1.4815e+01_rb,6.0415e-06_rb/) kao(:, 3,12,12) = (/ & &1.1782e+02_rb,1.0310e+02_rb,8.8376e+01_rb,7.3644e+01_rb,5.8951e+01_rb,4.4160e+01_rb, & &2.9459e+01_rb,1.4728e+01_rb,1.0435e-05_rb/) kao(:, 4,12,12) = (/ & &1.1710e+02_rb,1.0244e+02_rb,8.7885e+01_rb,7.3194e+01_rb,5.8621e+01_rb,4.3876e+01_rb, & &2.9251e+01_rb,1.4654e+01_rb,1.8188e-05_rb/) kao(:, 5,12,12) = (/ & &1.1577e+02_rb,1.0131e+02_rb,8.6825e+01_rb,7.2359e+01_rb,5.7901e+01_rb,4.3424e+01_rb, & &2.8943e+01_rb,1.4462e+01_rb,2.8178e-05_rb/) kao(:, 1,13,12) = (/ & &1.1625e+02_rb,1.0180e+02_rb,8.7251e+01_rb,7.2708e+01_rb,5.8118e+01_rb,4.3593e+01_rb, & &2.9061e+01_rb,1.4533e+01_rb,2.6097e-06_rb/) kao(:, 2,13,12) = (/ & &1.1986e+02_rb,1.0483e+02_rb,8.9927e+01_rb,7.4912e+01_rb,5.9931e+01_rb,4.4948e+01_rb, & &2.9950e+01_rb,1.4982e+01_rb,4.5705e-06_rb/) kao(:, 3,13,12) = (/ & &1.1859e+02_rb,1.0377e+02_rb,8.8940e+01_rb,7.4121e+01_rb,5.9293e+01_rb,4.4471e+01_rb, & &2.9646e+01_rb,1.4823e+01_rb,9.6333e-06_rb/) kao(:, 4,13,12) = (/ & &1.1553e+02_rb,1.0103e+02_rb,8.6643e+01_rb,7.2158e+01_rb,5.7729e+01_rb,4.3335e+01_rb, & &2.8881e+01_rb,1.4445e+01_rb,1.6615e-05_rb/) kao(:, 5,13,12) = (/ & &1.1521e+02_rb,1.0087e+02_rb,8.6350e+01_rb,7.1959e+01_rb,5.7620e+01_rb,4.3214e+01_rb, & &2.8812e+01_rb,1.4383e+01_rb,2.5689e-05_rb/) kao(:, 1, 1,13) = (/ & &1.2352e-03_rb,5.0775e-03_rb,9.0568e-03_rb,9.6608e-03_rb,1.7051e-02_rb,2.9171e-02_rb, & &3.4997e-02_rb,4.0847e-02_rb,3.4367e-02_rb/) kao(:, 2, 1,13) = (/ & &1.2435e-03_rb,6.8803e-03_rb,1.1829e-02_rb,1.3668e-02_rb,2.8015e-02_rb,4.0318e-02_rb, & &4.8254e-02_rb,5.5929e-02_rb,5.6166e-02_rb/) kao(:, 3, 1,13) = (/ & &1.2378e-03_rb,7.6901e-03_rb,1.3370e-02_rb,2.0872e-02_rb,4.0011e-02_rb,5.3853e-02_rb, & &6.4341e-02_rb,7.4163e-02_rb,8.0135e-02_rb/) kao(:, 4, 1,13) = (/ & &1.2280e-03_rb,1.0734e-02_rb,1.6343e-02_rb,3.0629e-02_rb,5.6049e-02_rb,6.9850e-02_rb, & &8.3340e-02_rb,9.5619e-02_rb,1.1209e-01_rb/) kao(:, 5, 1,13) = (/ & &1.2088e-03_rb,1.3761e-02_rb,2.1254e-02_rb,4.2402e-02_rb,7.0900e-02_rb,8.8313e-02_rb, & &1.0523e-01_rb,1.2032e-01_rb,1.4179e-01_rb/) kao(:, 1, 2,13) = (/ & &1.7062e-03_rb,5.0744e-03_rb,8.6767e-03_rb,1.3080e-02_rb,1.1607e-02_rb,1.7056e-02_rb, & &2.8742e-02_rb,3.5357e-02_rb,2.3747e-02_rb/) kao(:, 2, 2,13) = (/ & &1.7222e-03_rb,6.7515e-03_rb,1.2374e-02_rb,1.5331e-02_rb,1.8393e-02_rb,2.7370e-02_rb, & &4.2648e-02_rb,4.9678e-02_rb,3.7912e-02_rb/) kao(:, 3, 2,13) = (/ & &1.7299e-03_rb,8.6001e-03_rb,1.6797e-02_rb,2.0526e-02_rb,2.6294e-02_rb,4.1034e-02_rb, & &5.7948e-02_rb,6.7295e-02_rb,5.4721e-02_rb/) kao(:, 4, 2,13) = (/ & &1.7668e-03_rb,1.0879e-02_rb,2.0064e-02_rb,2.7385e-02_rb,3.4476e-02_rb,5.8386e-02_rb, & &7.6246e-02_rb,8.8358e-02_rb,7.0573e-02_rb/) kao(:, 5, 2,13) = (/ & &1.7596e-03_rb,1.1860e-02_rb,2.3664e-02_rb,3.3939e-02_rb,4.8492e-02_rb,7.9884e-02_rb, & &9.7519e-02_rb,1.1290e-01_rb,9.7083e-02_rb/) kao(:, 1, 3,13) = (/ & &3.1651e-03_rb,5.2961e-03_rb,8.5469e-03_rb,1.1513e-02_rb,1.5558e-02_rb,1.4881e-02_rb, & &1.6424e-02_rb,2.5024e-02_rb,2.8147e-02_rb/) kao(:, 2, 3,13) = (/ & &3.3189e-03_rb,8.3809e-03_rb,1.1489e-02_rb,1.6299e-02_rb,2.2221e-02_rb,2.2841e-02_rb, & &2.5024e-02_rb,3.8200e-02_rb,3.8233e-02_rb/) kao(:, 3, 3,13) = (/ & &3.3701e-03_rb,1.1923e-02_rb,1.5036e-02_rb,2.2373e-02_rb,2.6383e-02_rb,3.1900e-02_rb, & &3.2997e-02_rb,5.6522e-02_rb,4.6578e-02_rb/) kao(:, 4, 3,13) = (/ & &3.3871e-03_rb,1.2781e-02_rb,1.7799e-02_rb,2.9758e-02_rb,3.5615e-02_rb,4.1357e-02_rb, & &4.8578e-02_rb,7.5987e-02_rb,6.6261e-02_rb/) kao(:, 5, 3,13) = (/ & &3.3797e-03_rb,1.4220e-02_rb,2.3964e-02_rb,3.5644e-02_rb,4.5626e-02_rb,4.9180e-02_rb, & &6.9386e-02_rb,9.9109e-02_rb,8.8310e-02_rb/) kao(:, 1, 4,13) = (/ & &1.0343e-02_rb,9.0620e-03_rb,1.2015e-02_rb,1.1324e-02_rb,1.3382e-02_rb,1.5654e-02_rb, & &1.8625e-02_rb,1.7070e-02_rb,2.1331e-02_rb/) kao(:, 2, 4,13) = (/ & &6.4226e-03_rb,5.6266e-03_rb,1.6045e-02_rb,1.6336e-02_rb,1.7909e-02_rb,2.2857e-02_rb, & &2.5406e-02_rb,2.4740e-02_rb,3.1419e-02_rb/) kao(:, 3, 4,13) = (/ & &6.5549e-03_rb,5.7385e-03_rb,1.8741e-02_rb,2.0901e-02_rb,2.5444e-02_rb,3.1318e-02_rb, & &3.5488e-02_rb,3.2476e-02_rb,4.5848e-02_rb/) kao(:, 4, 4,13) = (/ & &6.6407e-03_rb,5.8164e-03_rb,2.0962e-02_rb,2.6844e-02_rb,3.4892e-02_rb,4.1403e-02_rb, & &4.7653e-02_rb,4.2426e-02_rb,6.5116e-02_rb/) kao(:, 5, 4,13) = (/ & &6.8300e-03_rb,1.2571e-02_rb,2.5118e-02_rb,3.2793e-02_rb,4.7122e-02_rb,5.5638e-02_rb, & &5.7712e-02_rb,6.2270e-02_rb,8.9700e-02_rb/) kao(:, 1, 5,13) = (/ & &9.0149e-02_rb,7.8756e-02_rb,6.7503e-02_rb,5.7299e-02_rb,4.6607e-02_rb,3.2042e-02_rb, & &2.0392e-02_rb,1.6128e-02_rb,1.9894e-02_rb/) kao(:, 2, 5,13) = (/ & &4.8191e-02_rb,4.2297e-02_rb,3.6135e-02_rb,3.5890e-02_rb,2.5466e-02_rb,2.2998e-02_rb, & &2.3063e-02_rb,2.5066e-02_rb,2.8493e-02_rb/) kao(:, 3, 5,13) = (/ & &2.0878e-02_rb,1.8444e-02_rb,2.0162e-02_rb,2.6175e-02_rb,2.5330e-02_rb,2.8034e-02_rb, & &3.3888e-02_rb,3.5693e-02_rb,3.9583e-02_rb/) kao(:, 4, 5,13) = (/ & &1.2467e-02_rb,1.0910e-02_rb,2.2261e-02_rb,3.0489e-02_rb,3.2389e-02_rb,3.6918e-02_rb, & &4.6126e-02_rb,4.7452e-02_rb,5.4222e-02_rb/) kao(:, 5, 5,13) = (/ & &1.2730e-02_rb,1.1204e-02_rb,2.9691e-02_rb,3.6357e-02_rb,4.1593e-02_rb,4.9722e-02_rb, & &6.1593e-02_rb,5.8372e-02_rb,7.2216e-02_rb/) kao(:, 1, 6,13) = (/ & &3.3772e-01_rb,2.9577e-01_rb,2.5329e-01_rb,2.1108e-01_rb,1.6887e-01_rb,1.2604e-01_rb, & &7.8045e-02_rb,3.5455e-02_rb,1.6952e-02_rb/) kao(:, 2, 6,13) = (/ & &2.6913e-01_rb,2.3492e-01_rb,2.0161e-01_rb,1.6802e-01_rb,1.3597e-01_rb,9.6507e-02_rb, & &6.1842e-02_rb,3.0282e-02_rb,3.2161e-02_rb/) kao(:, 3, 6,13) = (/ & &1.8198e-01_rb,1.5897e-01_rb,1.3649e-01_rb,1.1355e-01_rb,1.0014e-01_rb,6.6575e-02_rb, & &4.2969e-02_rb,3.1778e-02_rb,5.1438e-02_rb/) kao(:, 4, 6,13) = (/ & &9.5916e-02_rb,8.3628e-02_rb,7.1947e-02_rb,6.5931e-02_rb,5.4714e-02_rb,4.3955e-02_rb, & &3.9042e-02_rb,4.5021e-02_rb,5.3865e-02_rb/) kao(:, 5, 6,13) = (/ & &3.8338e-02_rb,3.3822e-02_rb,2.8989e-02_rb,4.7523e-02_rb,4.4391e-02_rb,4.9375e-02_rb, & &5.3458e-02_rb,6.4090e-02_rb,6.5458e-02_rb/) kao(:, 1, 7,13) = (/ & &8.4065e-01_rb,7.3491e-01_rb,6.3155e-01_rb,5.2581e-01_rb,4.2110e-01_rb,3.1579e-01_rb, & &2.1053e-01_rb,1.0597e-01_rb,2.9312e-06_rb/) kao(:, 2, 7,13) = (/ & &8.3906e-01_rb,7.3475e-01_rb,6.2926e-01_rb,5.2485e-01_rb,4.1990e-01_rb,3.1520e-01_rb, & &2.1013e-01_rb,9.8180e-02_rb,5.1556e-06_rb/) kao(:, 3, 7,13) = (/ & &7.1003e-01_rb,6.2128e-01_rb,5.3203e-01_rb,4.4338e-01_rb,3.5504e-01_rb,2.6905e-01_rb, & &1.6926e-01_rb,7.8231e-02_rb,2.0966e-02_rb/) kao(:, 4, 7,13) = (/ & &5.6430e-01_rb,4.9377e-01_rb,4.2325e-01_rb,3.5272e-01_rb,2.8217e-01_rb,2.1549e-01_rb, & &1.3644e-01_rb,6.7355e-02_rb,4.1095e-02_rb/) kao(:, 5, 7,13) = (/ & &3.6362e-01_rb,3.1751e-01_rb,2.7269e-01_rb,2.2725e-01_rb,1.9431e-01_rb,1.4468e-01_rb, & &9.9409e-02_rb,6.2076e-02_rb,6.3795e-02_rb/) kao(:, 1, 8,13) = (/ & &2.2236e+00_rb,1.9437e+00_rb,1.6676e+00_rb,1.3884e+00_rb,1.1107e+00_rb,8.3381e-01_rb, & &5.5588e-01_rb,2.7795e-01_rb,1.5745e-06_rb/) kao(:, 2, 8,13) = (/ & &2.2078e+00_rb,1.9318e+00_rb,1.6572e+00_rb,1.3798e+00_rb,1.1048e+00_rb,8.2853e-01_rb, & &5.5239e-01_rb,2.7779e-01_rb,2.9445e-06_rb/) kao(:, 3, 8,13) = (/ & &2.2271e+00_rb,1.9469e+00_rb,1.6686e+00_rb,1.3901e+00_rb,1.1125e+00_rb,8.3518e-01_rb, & &5.5623e-01_rb,2.8153e-01_rb,5.1096e-06_rb/) kao(:, 4, 8,13) = (/ & &2.1637e+00_rb,1.8932e+00_rb,1.6227e+00_rb,1.3534e+00_rb,1.0818e+00_rb,8.1139e-01_rb, & &5.4287e-01_rb,2.5697e-01_rb,9.9333e-06_rb/) kao(:, 5, 8,13) = (/ & &1.8021e+00_rb,1.5805e+00_rb,1.3532e+00_rb,1.1288e+00_rb,9.0270e-01_rb,6.7733e-01_rb, & &4.5729e-01_rb,2.1399e-01_rb,3.0555e-05_rb/) kao(:, 1, 9,13) = (/ & &1.0795e+01_rb,9.4461e+00_rb,8.0967e+00_rb,6.7526e+00_rb,5.3928e+00_rb,4.0485e+00_rb, & &2.6990e+00_rb,1.3503e+00_rb,8.4365e-07_rb/) kao(:, 2, 9,13) = (/ & &1.1064e+01_rb,9.6811e+00_rb,8.2980e+00_rb,6.9149e+00_rb,5.5320e+00_rb,4.1492e+00_rb, & &2.7660e+00_rb,1.3844e+00_rb,1.6130e-06_rb/) kao(:, 3, 9,13) = (/ & &1.1399e+01_rb,9.9733e+00_rb,8.5488e+00_rb,7.1204e+00_rb,5.6991e+00_rb,4.2710e+00_rb, & &2.8497e+00_rb,1.4241e+00_rb,6.0805e-06_rb/) kao(:, 4, 9,13) = (/ & &1.1508e+01_rb,1.0061e+01_rb,8.6395e+00_rb,7.1995e+00_rb,5.7491e+00_rb,4.3120e+00_rb, & &2.8800e+00_rb,1.4386e+00_rb,1.4128e-05_rb/) kao(:, 5, 9,13) = (/ & &1.1400e+01_rb,9.9831e+00_rb,8.5576e+00_rb,7.1312e+00_rb,5.7049e+00_rb,4.2787e+00_rb, & &2.8526e+00_rb,1.4263e+00_rb,2.6902e-05_rb/) kao(:, 1,10,13) = (/ & &6.0229e+01_rb,5.2742e+01_rb,4.5172e+01_rb,3.7644e+01_rb,3.0138e+01_rb,2.2585e+01_rb, & &1.5057e+01_rb,7.5286e+00_rb,7.1488e-07_rb/) kao(:, 2,10,13) = (/ & &6.2236e+01_rb,5.4452e+01_rb,4.6675e+01_rb,3.8896e+01_rb,3.1118e+01_rb,2.3338e+01_rb, & &1.5559e+01_rb,7.7794e+00_rb,2.2353e-06_rb/) kao(:, 3,10,13) = (/ & &6.3127e+01_rb,5.5205e+01_rb,4.7321e+01_rb,3.9431e+01_rb,3.1516e+01_rb,2.3656e+01_rb, & &1.5745e+01_rb,7.8865e+00_rb,5.3891e-06_rb/) kao(:, 4,10,13) = (/ & &6.1110e+01_rb,5.3475e+01_rb,4.5823e+01_rb,3.8155e+01_rb,3.0566e+01_rb,2.2893e+01_rb, & &1.5262e+01_rb,7.6312e+00_rb,1.1169e-05_rb/) kao(:, 5,10,13) = (/ & &6.4796e+01_rb,5.6740e+01_rb,4.8597e+01_rb,4.0457e+01_rb,3.2404e+01_rb,2.4299e+01_rb, & &1.6199e+01_rb,8.1078e+00_rb,2.0550e-05_rb/) kao(:, 1,11,13) = (/ & &1.1504e+02_rb,1.0058e+02_rb,8.6129e+01_rb,7.1842e+01_rb,5.7476e+01_rb,4.3140e+01_rb, & &2.8738e+01_rb,1.4357e+01_rb,9.3132e-07_rb/) kao(:, 2,11,13) = (/ & &1.1792e+02_rb,1.0317e+02_rb,8.8507e+01_rb,7.3697e+01_rb,5.8960e+01_rb,4.4221e+01_rb, & &2.9502e+01_rb,1.4740e+01_rb,2.4724e-06_rb/) kao(:, 3,11,13) = (/ & &1.2218e+02_rb,1.0691e+02_rb,9.1705e+01_rb,7.6362e+01_rb,6.1091e+01_rb,4.5817e+01_rb, & &3.0544e+01_rb,1.5272e+01_rb,5.4659e-06_rb/) kao(:, 4,11,13) = (/ & &1.2095e+02_rb,1.0583e+02_rb,9.0715e+01_rb,7.5596e+01_rb,6.0430e+01_rb,4.5404e+01_rb, & &3.0213e+01_rb,1.5120e+01_rb,1.0930e-05_rb/) kao(:, 5,11,13) = (/ & &1.1751e+02_rb,1.0271e+02_rb,8.8136e+01_rb,7.3302e+01_rb,5.8706e+01_rb,4.4021e+01_rb, & &2.9378e+01_rb,1.4677e+01_rb,1.9680e-05_rb/) kao(:, 1,12,13) = (/ & &1.6045e+02_rb,1.4037e+02_rb,1.2031e+02_rb,1.0025e+02_rb,8.0142e+01_rb,6.0153e+01_rb, & &4.0104e+01_rb,2.0052e+01_rb,1.7476e-06_rb/) kao(:, 2,12,13) = (/ & &1.6342e+02_rb,1.4301e+02_rb,1.2246e+02_rb,1.0215e+02_rb,8.1640e+01_rb,6.1227e+01_rb, & &4.0821e+01_rb,2.0431e+01_rb,2.4757e-06_rb/) kao(:, 3,12,13) = (/ & &1.6723e+02_rb,1.4633e+02_rb,1.2542e+02_rb,1.0452e+02_rb,8.3616e+01_rb,6.2709e+01_rb, & &4.1810e+01_rb,2.0904e+01_rb,5.2593e-06_rb/) kao(:, 4,12,13) = (/ & &1.7014e+02_rb,1.4884e+02_rb,1.2747e+02_rb,1.0623e+02_rb,8.4980e+01_rb,6.3783e+01_rb, & &4.2524e+01_rb,2.1245e+01_rb,9.8363e-06_rb/) kao(:, 5,12,13) = (/ & &1.6634e+02_rb,1.4563e+02_rb,1.2476e+02_rb,1.0397e+02_rb,8.3150e+01_rb,6.2327e+01_rb, & &4.1610e+01_rb,2.0792e+01_rb,1.5825e-05_rb/) kao(:, 1,13,13) = (/ & &1.7420e+02_rb,1.5232e+02_rb,1.3056e+02_rb,1.0880e+02_rb,8.7095e+01_rb,6.5324e+01_rb, & &4.3550e+01_rb,2.1773e+01_rb,2.0359e-06_rb/) kao(:, 2,13,13) = (/ & &1.7505e+02_rb,1.5318e+02_rb,1.3125e+02_rb,1.0942e+02_rb,8.7528e+01_rb,6.5649e+01_rb, & &4.3765e+01_rb,2.1882e+01_rb,3.6885e-06_rb/) kao(:, 3,13,13) = (/ & &1.7705e+02_rb,1.5491e+02_rb,1.3279e+02_rb,1.1065e+02_rb,8.8524e+01_rb,6.6391e+01_rb, & &4.4262e+01_rb,2.2130e+01_rb,4.3611e-06_rb/) kao(:, 4,13,13) = (/ & &1.7817e+02_rb,1.5590e+02_rb,1.3363e+02_rb,1.1135e+02_rb,8.9083e+01_rb,6.6758e+01_rb, & &4.4540e+01_rb,2.2253e+01_rb,7.0150e-06_rb/) kao(:, 5,13,13) = (/ & &1.7584e+02_rb,1.5385e+02_rb,1.3199e+02_rb,1.0999e+02_rb,8.7917e+01_rb,6.5939e+01_rb, & &4.3996e+01_rb,2.1972e+01_rb,1.1356e-05_rb/) kao(:, 1, 1,14) = (/ & &1.3576e-03_rb,5.9355e-03_rb,1.2070e-02_rb,3.4616e-02_rb,5.3142e-02_rb,6.5578e-02_rb, & &7.6852e-02_rb,8.4718e-02_rb,1.0628e-01_rb/) kao(:, 2, 1,14) = (/ & &1.4884e-03_rb,6.6850e-03_rb,2.0385e-02_rb,5.2397e-02_rb,7.2846e-02_rb,8.9954e-02_rb, & &1.0527e-01_rb,1.1545e-01_rb,1.4569e-01_rb/) kao(:, 3, 1,14) = (/ & &1.6038e-03_rb,1.0153e-02_rb,3.3679e-02_rb,7.2611e-02_rb,9.6223e-02_rb,1.1901e-01_rb, & &1.3945e-01_rb,1.5228e-01_rb,1.9245e-01_rb/) kao(:, 4, 1,14) = (/ & &1.7044e-03_rb,1.3918e-02_rb,4.9229e-02_rb,9.2925e-02_rb,1.2323e-01_rb,1.5253e-01_rb, & &1.7914e-01_rb,1.9539e-01_rb,2.4647e-01_rb/) kao(:, 5, 1,14) = (/ & &1.8000e-03_rb,1.6377e-02_rb,6.7350e-02_rb,1.1593e-01_rb,1.5369e-01_rb,1.9039e-01_rb, & &2.2401e-01_rb,2.4471e-01_rb,3.0739e-01_rb/) kao(:, 1, 2,14) = (/ & &2.3036e-03_rb,8.1410e-03_rb,1.1112e-02_rb,1.5744e-02_rb,3.9389e-02_rb,5.9885e-02_rb, & &7.1149e-02_rb,8.0027e-02_rb,7.8847e-02_rb/) kao(:, 2, 2,14) = (/ & &2.5134e-03_rb,1.3270e-02_rb,1.6290e-02_rb,2.9767e-02_rb,5.8863e-02_rb,8.3096e-02_rb, & &9.8866e-02_rb,1.1160e-01_rb,1.1776e-01_rb/) kao(:, 3, 2,14) = (/ & &2.6930e-03_rb,1.4292e-02_rb,1.9903e-02_rb,4.6191e-02_rb,8.3472e-02_rb,1.1096e-01_rb, & &1.3216e-01_rb,1.4974e-01_rb,1.6719e-01_rb/) kao(:, 4, 2,14) = (/ & &2.7875e-03_rb,1.4114e-02_rb,2.4277e-02_rb,6.6428e-02_rb,1.1553e-01_rb,1.4377e-01_rb, & &1.7103e-01_rb,1.9428e-01_rb,2.3106e-01_rb/) kao(:, 5, 2,14) = (/ & &2.8719e-03_rb,1.9476e-02_rb,3.5900e-02_rb,9.2156e-02_rb,1.4592e-01_rb,1.8154e-01_rb, & &2.1576e-01_rb,2.4502e-01_rb,2.9183e-01_rb/) kao(:, 1, 3,14) = (/ & &5.1130e-03_rb,4.4754e-03_rb,1.7095e-02_rb,1.4542e-02_rb,2.0610e-02_rb,2.6947e-02_rb, & &5.0520e-02_rb,6.8277e-02_rb,4.1188e-02_rb/) kao(:, 2, 3,14) = (/ & &5.4209e-03_rb,4.7463e-03_rb,2.5747e-02_rb,2.2058e-02_rb,2.5589e-02_rb,4.5664e-02_rb, & &7.6140e-02_rb,9.7102e-02_rb,5.5959e-02_rb/) kao(:, 3, 3,14) = (/ & &5.7296e-03_rb,5.0218e-03_rb,2.3801e-02_rb,3.0343e-02_rb,3.8012e-02_rb,6.9885e-02_rb, & &1.1346e-01_rb,1.3263e-01_rb,8.0840e-02_rb/) kao(:, 4, 3,14) = (/ & &5.9993e-03_rb,9.9078e-03_rb,3.1169e-02_rb,3.4849e-02_rb,5.4434e-02_rb,1.0180e-01_rb, & &1.5168e-01_rb,1.7523e-01_rb,1.1385e-01_rb/) kao(:, 5, 3,14) = (/ & &6.2420e-03_rb,1.8221e-02_rb,3.8314e-02_rb,4.8056e-02_rb,8.0195e-02_rb,1.4525e-01_rb, & &1.9539e-01_rb,2.2499e-01_rb,1.6255e-01_rb/) kao(:, 1, 4,14) = (/ & &1.0992e-02_rb,9.6146e-03_rb,8.2555e-03_rb,1.9598e-02_rb,2.6210e-02_rb,2.3069e-02_rb, & &2.4334e-02_rb,4.0918e-02_rb,4.3847e-02_rb/) kao(:, 2, 4,14) = (/ & &1.1861e-02_rb,1.0380e-02_rb,8.8997e-03_rb,3.1372e-02_rb,3.1071e-02_rb,3.3427e-02_rb, & &3.7533e-02_rb,6.6384e-02_rb,5.4303e-02_rb/) kao(:, 3, 4,14) = (/ & &1.2630e-02_rb,1.1058e-02_rb,1.5158e-02_rb,4.6362e-02_rb,4.1015e-02_rb,4.0980e-02_rb, & &5.2909e-02_rb,1.0322e-01_rb,7.5185e-02_rb/) kao(:, 4, 4,14) = (/ & &1.3324e-02_rb,1.1665e-02_rb,2.8664e-02_rb,4.2673e-02_rb,5.2993e-02_rb,5.8606e-02_rb, & &7.8441e-02_rb,1.5172e-01_rb,9.8036e-02_rb/) kao(:, 5, 4,14) = (/ & &1.3148e-02_rb,1.1477e-02_rb,4.1837e-02_rb,5.5479e-02_rb,6.7238e-02_rb,7.8671e-02_rb, & &1.1999e-01_rb,1.9993e-01_rb,1.2716e-01_rb/) kao(:, 1, 5,14) = (/ & &2.2062e-02_rb,1.9303e-02_rb,1.6547e-02_rb,1.3790e-02_rb,1.9210e-02_rb,3.4370e-02_rb, & &2.6360e-02_rb,2.4628e-02_rb,2.1281e-02_rb/) kao(:, 2, 5,14) = (/ & &2.4016e-02_rb,2.1018e-02_rb,1.8036e-02_rb,1.5017e-02_rb,3.4207e-02_rb,3.8549e-02_rb, & &3.6828e-02_rb,3.7924e-02_rb,4.8887e-02_rb/) kao(:, 3, 5,14) = (/ & &2.4307e-02_rb,2.1199e-02_rb,1.8170e-02_rb,2.0814e-02_rb,5.1440e-02_rb,4.8654e-02_rb, & &5.0226e-02_rb,5.5730e-02_rb,8.3554e-02_rb/) kao(:, 4, 5,14) = (/ & &2.3589e-02_rb,2.0645e-02_rb,1.7700e-02_rb,3.6957e-02_rb,7.2673e-02_rb,6.2587e-02_rb, & &6.6284e-02_rb,7.5553e-02_rb,1.2501e-01_rb/) kao(:, 5, 5,14) = (/ & &2.3359e-02_rb,2.0344e-02_rb,1.7524e-02_rb,5.3828e-02_rb,7.8003e-02_rb,7.9260e-02_rb, & &8.5892e-02_rb,1.2047e-01_rb,1.2633e-01_rb/) kao(:, 1, 6,14) = (/ & &4.0073e-02_rb,3.4956e-02_rb,2.9962e-02_rb,2.4964e-02_rb,1.9975e-02_rb,1.9358e-02_rb, & &3.3916e-02_rb,2.3741e-02_rb,4.4372e-06_rb/) kao(:, 2, 6,14) = (/ & &4.0377e-02_rb,3.5184e-02_rb,3.0162e-02_rb,2.5240e-02_rb,2.0191e-02_rb,3.6273e-02_rb, & &4.6417e-02_rb,3.4541e-02_rb,7.2649e-06_rb/) kao(:, 3, 6,14) = (/ & &4.0665e-02_rb,3.5540e-02_rb,3.0502e-02_rb,2.5425e-02_rb,2.0338e-02_rb,5.3239e-02_rb, & &5.4545e-02_rb,5.0382e-02_rb,1.1617e-05_rb/) kao(:, 4, 6,14) = (/ & &4.0830e-02_rb,3.5726e-02_rb,3.0620e-02_rb,2.5522e-02_rb,4.1685e-02_rb,7.6060e-02_rb, & &6.8633e-02_rb,6.7501e-02_rb,4.8322e-02_rb/) kao(:, 5, 6,14) = (/ & &4.0974e-02_rb,3.5852e-02_rb,3.0742e-02_rb,2.5614e-02_rb,6.3799e-02_rb,1.0670e-01_rb, & &8.5712e-02_rb,8.9786e-02_rb,9.4019e-02_rb/) kao(:, 1, 7,14) = (/ & &3.5883e-01_rb,3.1506e-01_rb,2.6911e-01_rb,2.2518e-01_rb,1.7880e-01_rb,1.3456e-01_rb, & &8.9710e-02_rb,5.4606e-02_rb,2.4375e-06_rb/) kao(:, 2, 7,14) = (/ & &1.1133e-01_rb,9.7402e-02_rb,8.3516e-02_rb,6.9576e-02_rb,5.5665e-02_rb,4.1750e-02_rb, & &3.4893e-02_rb,3.9977e-02_rb,4.2861e-06_rb/) kao(:, 3, 7,14) = (/ & &7.4556e-02_rb,6.5240e-02_rb,5.5921e-02_rb,4.6603e-02_rb,3.7275e-02_rb,2.7967e-02_rb, & &5.4564e-02_rb,5.0979e-02_rb,7.1669e-06_rb/) kao(:, 4, 7,14) = (/ & &7.6453e-02_rb,6.6897e-02_rb,5.7506e-02_rb,4.7791e-02_rb,3.8237e-02_rb,4.2981e-02_rb, & &7.9842e-02_rb,6.6791e-02_rb,1.1410e-05_rb/) kao(:, 5, 7,14) = (/ & &7.6151e-02_rb,6.6633e-02_rb,5.7121e-02_rb,4.7606e-02_rb,3.8095e-02_rb,6.8563e-02_rb, & &1.1205e-01_rb,9.1020e-02_rb,1.8778e-05_rb/) kao(:, 1, 8,14) = (/ & &1.6212e+00_rb,1.4215e+00_rb,1.2160e+00_rb,1.0153e+00_rb,8.1222e-01_rb,6.0796e-01_rb, & &4.0531e-01_rb,2.0267e-01_rb,1.3659e-06_rb/) kao(:, 2, 8,14) = (/ & &1.0949e+00_rb,9.5809e-01_rb,8.2118e-01_rb,6.8434e-01_rb,5.4744e-01_rb,4.1058e-01_rb, & &2.7374e-01_rb,1.3687e-01_rb,2.5240e-06_rb/) kao(:, 3, 8,14) = (/ & &5.4276e-01_rb,4.7782e-01_rb,4.0969e-01_rb,3.4354e-01_rb,2.7305e-01_rb,2.0349e-01_rb, & &1.3658e-01_rb,8.0855e-02_rb,4.4900e-06_rb/) kao(:, 4, 8,14) = (/ & &1.6665e-01_rb,1.4583e-01_rb,1.2498e-01_rb,1.0416e-01_rb,8.3314e-02_rb,6.2486e-02_rb, & &4.1670e-02_rb,8.3057e-02_rb,7.7801e-06_rb/) kao(:, 5, 8,14) = (/ & &1.6956e-01_rb,1.4835e-01_rb,1.2718e-01_rb,1.0598e-01_rb,8.5407e-02_rb,6.3592e-02_rb, & &5.5348e-02_rb,1.2090e-01_rb,1.2725e-05_rb/) kao(:, 1, 9,14) = (/ & &1.1544e+01_rb,1.0088e+01_rb,8.6483e+00_rb,7.2069e+00_rb,5.7730e+00_rb,4.3233e+00_rb, & &2.8823e+00_rb,1.4419e+00_rb,7.6692e-07_rb/) kao(:, 2, 9,14) = (/ & &9.0308e+00_rb,7.9019e+00_rb,6.7729e+00_rb,5.6441e+00_rb,4.5156e+00_rb,3.3865e+00_rb, & &2.2577e+00_rb,1.1268e+00_rb,1.4786e-06_rb/) kao(:, 3, 9,14) = (/ & &6.2830e+00_rb,5.4975e+00_rb,4.7120e+00_rb,3.9269e+00_rb,3.1414e+00_rb,2.3561e+00_rb, & &1.5707e+00_rb,7.8536e-01_rb,2.7689e-06_rb/) kao(:, 4, 9,14) = (/ & &3.6304e+00_rb,3.1764e+00_rb,2.7089e+00_rb,2.2550e+00_rb,1.8152e+00_rb,1.3614e+00_rb, & &9.0300e-01_rb,4.5381e-01_rb,4.9167e-06_rb/) kao(:, 5, 9,14) = (/ & &1.4890e+00_rb,1.3035e+00_rb,1.1168e+00_rb,9.3072e-01_rb,7.4457e-01_rb,5.5869e-01_rb, & &3.7227e-01_rb,1.8616e-01_rb,8.2396e-06_rb/) kao(:, 1,10,14) = (/ & &7.2198e+01_rb,6.3175e+01_rb,5.4150e+01_rb,4.5125e+01_rb,3.6100e+01_rb,2.7075e+01_rb, & &1.8050e+01_rb,9.0251e+00_rb,4.5184e-07_rb/) kao(:, 2,10,14) = (/ & &6.4999e+01_rb,5.6876e+01_rb,4.8750e+01_rb,4.0625e+01_rb,3.2499e+01_rb,2.4375e+01_rb, & &1.6250e+01_rb,8.1250e+00_rb,9.0060e-07_rb/) kao(:, 3,10,14) = (/ & &5.3041e+01_rb,4.6463e+01_rb,3.9827e+01_rb,3.3188e+01_rb,2.6599e+01_rb,1.9891e+01_rb, & &1.3300e+01_rb,6.6377e+00_rb,1.7393e-06_rb/) kao(:, 4,10,14) = (/ & &4.2448e+01_rb,3.7144e+01_rb,3.1913e+01_rb,2.6594e+01_rb,2.1225e+01_rb,1.5957e+01_rb, & &1.0638e+01_rb,5.3187e+00_rb,3.1449e-06_rb/) kao(:, 5,10,14) = (/ & &2.5727e+01_rb,2.2511e+01_rb,1.9295e+01_rb,1.6144e+01_rb,1.2810e+01_rb,9.6477e+00_rb, & &6.4321e+00_rb,3.2028e+00_rb,5.3500e-06_rb/) kao(:, 1,11,14) = (/ & &1.4503e+02_rb,1.2691e+02_rb,1.0890e+02_rb,9.0641e+01_rb,7.2517e+01_rb,5.4390e+01_rb, & &3.6259e+01_rb,1.8129e+01_rb,3.6866e-07_rb/) kao(:, 2,11,14) = (/ & &1.4340e+02_rb,1.2547e+02_rb,1.0755e+02_rb,8.9629e+01_rb,7.1700e+01_rb,5.3764e+01_rb, & &3.5851e+01_rb,1.7926e+01_rb,7.4257e-07_rb/) kao(:, 3,11,14) = (/ & &1.2279e+02_rb,1.0744e+02_rb,9.2097e+01_rb,7.6747e+01_rb,6.1397e+01_rb,4.6046e+01_rb, & &3.0699e+01_rb,1.5350e+01_rb,1.4132e-06_rb/) kao(:, 4,11,14) = (/ & &1.0332e+02_rb,9.0407e+01_rb,7.7495e+01_rb,6.4577e+01_rb,5.1661e+01_rb,3.8673e+01_rb, & &2.5832e+01_rb,1.2916e+01_rb,2.5660e-06_rb/) kao(:, 5,11,14) = (/ & &8.4752e+01_rb,7.4338e+01_rb,6.3562e+01_rb,5.3097e+01_rb,4.2377e+01_rb,3.1859e+01_rb, & &2.1189e+01_rb,1.0594e+01_rb,4.3954e-06_rb/) kao(:, 1,12,14) = (/ & &2.1206e+02_rb,1.8578e+02_rb,1.5923e+02_rb,1.3269e+02_rb,1.0615e+02_rb,7.9613e+01_rb, & &5.3076e+01_rb,2.6538e+01_rb,2.9519e-07_rb/) kao(:, 2,12,14) = (/ & &2.1371e+02_rb,1.8696e+02_rb,1.6019e+02_rb,1.3354e+02_rb,1.0696e+02_rb,8.0220e+01_rb, & &5.3478e+01_rb,2.6706e+01_rb,5.9412e-07_rb/) kao(:, 3,12,14) = (/ & &1.9963e+02_rb,1.7467e+02_rb,1.4971e+02_rb,1.2476e+02_rb,9.9809e+01_rb,7.4861e+01_rb, & &4.9906e+01_rb,2.4953e+01_rb,1.1512e-06_rb/) kao(:, 4,12,14) = (/ & &1.7291e+02_rb,1.5155e+02_rb,1.2989e+02_rb,1.0824e+02_rb,8.6596e+01_rb,6.4945e+01_rb, & &4.3297e+01_rb,2.1649e+01_rb,2.0935e-06_rb/) kao(:, 5,12,14) = (/ & &1.4993e+02_rb,1.3106e+02_rb,1.1245e+02_rb,9.3704e+01_rb,7.4891e+01_rb,5.6224e+01_rb, & &3.7445e+01_rb,1.8742e+01_rb,5.3426e-06_rb/) kao(:, 1,13,14) = (/ & &2.3337e+02_rb,2.0357e+02_rb,1.7476e+02_rb,1.4563e+02_rb,1.1651e+02_rb,8.7377e+01_rb, & &5.8250e+01_rb,2.9126e+01_rb,2.3044e-07_rb/) kao(:, 2,13,14) = (/ & &2.3770e+02_rb,2.0799e+02_rb,1.7827e+02_rb,1.4856e+02_rb,1.1885e+02_rb,8.9136e+01_rb, & &5.9426e+01_rb,2.9711e+01_rb,4.7533e-07_rb/) kao(:, 3,13,14) = (/ & &2.3937e+02_rb,2.0945e+02_rb,1.7953e+02_rb,1.4961e+02_rb,1.1968e+02_rb,8.9763e+01_rb, & &5.9841e+01_rb,2.9920e+01_rb,1.2740e-06_rb/) kao(:, 4,13,14) = (/ & &2.1343e+02_rb,1.8675e+02_rb,1.6007e+02_rb,1.3339e+02_rb,1.0671e+02_rb,8.0033e+01_rb, & &5.3356e+01_rb,2.6677e+01_rb,3.7441e-06_rb/) kao(:, 5,13,14) = (/ & &1.8434e+02_rb,1.6130e+02_rb,1.3825e+02_rb,1.1521e+02_rb,9.2167e+01_rb,6.9126e+01_rb, & &4.6084e+01_rb,2.3083e+01_rb,8.0408e-06_rb/) kao(:, 1, 1,15) = (/ & &4.3757e-04_rb,1.7661e-02_rb,6.5219e-02_rb,9.6736e-02_rb,1.2696e-01_rb,1.5472e-01_rb, & &1.7677e-01_rb,1.8124e-01_rb,2.5391e-01_rb/) kao(:, 2, 1,15) = (/ & &4.7244e-04_rb,2.2315e-02_rb,8.7744e-02_rb,1.3008e-01_rb,1.7055e-01_rb,2.0764e-01_rb, & &2.3757e-01_rb,2.4446e-01_rb,3.4110e-01_rb/) kao(:, 3, 1,15) = (/ & &4.9936e-04_rb,3.5467e-02_rb,1.1452e-01_rb,1.6964e-01_rb,2.2220e-01_rb,2.7019e-01_rb, & &3.0873e-01_rb,3.1867e-01_rb,4.4441e-01_rb/) kao(:, 4, 1,15) = (/ & &5.2088e-04_rb,5.0547e-02_rb,1.4538e-01_rb,2.1535e-01_rb,2.8212e-01_rb,3.4264e-01_rb, & &3.9053e-01_rb,4.0360e-01_rb,5.6424e-01_rb/) kao(:, 5, 1,15) = (/ & &5.3484e-04_rb,7.2405e-02_rb,1.8030e-01_rb,2.6712e-01_rb,3.4967e-01_rb,4.2472e-01_rb, & &4.8331e-01_rb,4.9868e-01_rb,6.9933e-01_rb/) kao(:, 1, 2,15) = (/ & &5.8930e-04_rb,5.2056e-04_rb,3.8823e-02_rb,9.4547e-02_rb,1.2473e-01_rb,1.5329e-01_rb, & &1.7814e-01_rb,1.9186e-01_rb,2.4946e-01_rb/) kao(:, 2, 2,15) = (/ & &6.3170e-04_rb,5.6011e-04_rb,6.0488e-02_rb,1.2953e-01_rb,1.7093e-01_rb,2.0982e-01_rb, & &2.4359e-01_rb,2.6142e-01_rb,3.4185e-01_rb/) kao(:, 3, 2,15) = (/ & &6.6396e-04_rb,1.3947e-02_rb,9.3321e-02_rb,1.7148e-01_rb,2.2617e-01_rb,2.7768e-01_rb, & &3.2205e-01_rb,3.4444e-01_rb,4.5233e-01_rb/) kao(:, 4, 2,15) = (/ & &6.8779e-04_rb,3.2900e-02_rb,1.4029e-01_rb,2.2027e-01_rb,2.9047e-01_rb,3.5662e-01_rb, & &4.1356e-01_rb,4.4128e-01_rb,5.8094e-01_rb/) kao(:, 5, 2,15) = (/ & &7.0403e-04_rb,3.1909e-02_rb,1.8526e-01_rb,2.7582e-01_rb,3.6375e-01_rb,4.4666e-01_rb, & &5.1781e-01_rb,5.5205e-01_rb,7.2748e-01_rb/) kao(:, 1, 3,15) = (/ & &1.0314e-03_rb,9.3537e-04_rb,7.8009e-04_rb,3.5190e-02_rb,7.8660e-02_rb,1.3993e-01_rb, & &1.6539e-01_rb,1.8481e-01_rb,1.5700e-01_rb/) kao(:, 2, 3,15) = (/ & &1.1044e-03_rb,9.7099e-04_rb,3.0472e-03_rb,6.2470e-02_rb,1.3066e-01_rb,1.9656e-01_rb, & &2.3229e-01_rb,2.5938e-01_rb,2.6190e-01_rb/) kao(:, 3, 3,15) = (/ & &1.1610e-03_rb,1.0227e-03_rb,3.8685e-02_rb,9.5707e-02_rb,2.0189e-01_rb,2.6560e-01_rb, & &3.1379e-01_rb,3.5039e-01_rb,4.0559e-01_rb/) kao(:, 4, 3,15) = (/ & &1.1999e-03_rb,1.0620e-03_rb,6.9192e-02_rb,1.4962e-01_rb,2.7976e-01_rb,3.4701e-01_rb, & &4.1016e-01_rb,4.5806e-01_rb,5.5953e-01_rb/) kao(:, 5, 3,15) = (/ & &1.2331e-03_rb,1.0899e-03_rb,6.4034e-02_rb,2.1379e-01_rb,3.5531e-01_rb,4.4075e-01_rb, & &5.2094e-01_rb,5.8205e-01_rb,7.1061e-01_rb/) kao(:, 1, 4,15) = (/ & &1.8101e-03_rb,1.5857e-03_rb,1.3614e-03_rb,1.1362e-03_rb,2.5114e-02_rb,5.7242e-02_rb, & &1.1151e-01_rb,1.6445e-01_rb,5.0940e-02_rb/) kao(:, 2, 4,15) = (/ & &1.9417e-03_rb,1.7009e-03_rb,1.4618e-03_rb,1.2222e-03_rb,6.6639e-02_rb,9.6622e-02_rb, & &1.8463e-01_rb,2.3787e-01_rb,1.3472e-01_rb/) kao(:, 3, 4,15) = (/ & &2.0504e-03_rb,1.7934e-03_rb,1.5465e-03_rb,1.2907e-03_rb,6.6457e-02_rb,1.6526e-01_rb, & &2.8062e-01_rb,3.2903e-01_rb,1.3147e-01_rb/) kao(:, 4, 4,15) = (/ & &2.1280e-03_rb,1.8660e-03_rb,1.6076e-03_rb,5.7880e-02_rb,1.0798e-01_rb,2.4822e-01_rb, & &3.8266e-01_rb,4.3856e-01_rb,2.1657e-01_rb/) kao(:, 5, 4,15) = (/ & &3.4223e-03_rb,3.1028e-03_rb,2.6690e-03_rb,1.0905e-01_rb,1.5760e-01_rb,3.4585e-01_rb, & &4.9399e-01_rb,5.6645e-01_rb,3.1389e-01_rb/) kao(:, 1, 5,15) = (/ & &2.8907e-03_rb,2.5398e-03_rb,2.1780e-03_rb,1.8164e-03_rb,1.4541e-03_rb,1.0940e-03_rb, & &7.0483e-02_rb,1.0515e-01_rb,9.1867e-06_rb/) kao(:, 2, 5,15) = (/ & &3.1254e-03_rb,2.7393e-03_rb,2.3477e-03_rb,1.9606e-03_rb,1.5698e-03_rb,3.9518e-02_rb, & &7.4031e-02_rb,1.7523e-01_rb,1.5406e-05_rb/) kao(:, 3, 5,15) = (/ & &6.7235e-03_rb,5.8882e-03_rb,5.0497e-03_rb,4.2126e-03_rb,3.3747e-03_rb,9.4974e-02_rb, & &1.2240e-01_rb,2.6835e-01_rb,2.4302e-05_rb/) kao(:, 4, 5,15) = (/ & &1.0699e-02_rb,9.3645e-03_rb,8.0383e-03_rb,6.6993e-03_rb,5.3674e-03_rb,1.6163e-01_rb, & &2.1236e-01_rb,3.9941e-01_rb,3.6217e-05_rb/) kao(:, 5, 5,15) = (/ & &1.3717e-02_rb,1.2003e-02_rb,1.0303e-02_rb,8.5901e-03_rb,7.6360e-02_rb,1.2908e-01_rb, & &3.1926e-01_rb,5.2644e-01_rb,1.7649e-01_rb/) kao(:, 1, 6,15) = (/ & &8.1592e-03_rb,7.4369e-03_rb,6.3758e-03_rb,5.3146e-03_rb,4.2520e-03_rb,3.1909e-03_rb, & &2.1298e-03_rb,5.0122e-02_rb,5.2510e-06_rb/) kao(:, 2, 6,15) = (/ & &1.6119e-02_rb,1.4482e-02_rb,1.2421e-02_rb,1.0082e-02_rb,8.0668e-03_rb,6.0513e-03_rb, & &2.1472e-02_rb,7.5343e-02_rb,9.3553e-06_rb/) kao(:, 3, 6,15) = (/ & &2.2594e-02_rb,1.9767e-02_rb,1.6948e-02_rb,1.4132e-02_rb,1.1307e-02_rb,8.4832e-03_rb, & &8.7408e-02_rb,1.3678e-01_rb,1.5081e-05_rb/) kao(:, 4, 6,15) = (/ & &2.8287e-02_rb,2.4765e-02_rb,2.1227e-02_rb,1.7693e-02_rb,1.4154e-02_rb,1.0619e-02_rb, & &1.5774e-01_rb,2.2631e-01_rb,2.2824e-05_rb/) kao(:, 5, 6,15) = (/ & &3.3007e-02_rb,2.8867e-02_rb,2.4778e-02_rb,2.0634e-02_rb,1.6523e-02_rb,1.2392e-02_rb, & &2.0991e-01_rb,3.3594e-01_rb,3.3161e-05_rb/) kao(:, 1, 7,15) = (/ & &3.2923e-02_rb,2.8801e-02_rb,2.4671e-02_rb,2.0232e-02_rb,1.6462e-02_rb,1.2339e-02_rb, & &8.2302e-03_rb,4.1175e-03_rb,2.9069e-06_rb/) kao(:, 2, 7,15) = (/ & &4.4354e-02_rb,3.8819e-02_rb,3.3267e-02_rb,2.7723e-02_rb,2.2187e-02_rb,1.6641e-02_rb, & &1.1094e-02_rb,4.4470e-02_rb,5.3667e-06_rb/) kao(:, 3, 7,15) = (/ & &5.4986e-02_rb,4.8115e-02_rb,4.1243e-02_rb,3.4364e-02_rb,2.7498e-02_rb,2.0642e-02_rb, & &1.3901e-02_rb,1.0510e-01_rb,9.1519e-06_rb/) kao(:, 4, 7,15) = (/ & &6.4798e-02_rb,5.6696e-02_rb,4.8186e-02_rb,4.0508e-02_rb,3.2405e-02_rb,2.4095e-02_rb, & &1.6208e-02_rb,1.7836e-01_rb,1.4620e-05_rb/) kao(:, 5, 7,15) = (/ & &7.2855e-02_rb,6.3755e-02_rb,5.4641e-02_rb,4.5546e-02_rb,3.6442e-02_rb,2.7544e-02_rb, & &1.8370e-02_rb,1.8524e-01_rb,2.2125e-05_rb/) kao(:, 1, 8,15) = (/ & &9.4104e-02_rb,8.2337e-02_rb,7.0574e-02_rb,5.8796e-02_rb,4.7043e-02_rb,3.5284e-02_rb, & &2.3531e-02_rb,1.1762e-02_rb,1.5730e-06_rb/) kao(:, 2, 8,15) = (/ & &1.1684e-01_rb,1.0226e-01_rb,8.7581e-02_rb,7.3021e-02_rb,5.8384e-02_rb,4.3796e-02_rb, & &2.9205e-02_rb,1.4602e-02_rb,3.1057e-06_rb/) kao(:, 3, 8,15) = (/ & &1.3899e-01_rb,1.2165e-01_rb,1.0424e-01_rb,8.6874e-02_rb,6.9512e-02_rb,5.2129e-02_rb, & &3.4755e-02_rb,1.7377e-02_rb,5.5778e-06_rb/) kao(:, 4, 8,15) = (/ & &1.6026e-01_rb,1.4023e-01_rb,1.2021e-01_rb,1.0019e-01_rb,8.0158e-02_rb,6.0094e-02_rb, & &4.0057e-02_rb,2.0043e-02_rb,9.3711e-06_rb/) kao(:, 5, 8,15) = (/ & &1.7464e-01_rb,1.5283e-01_rb,1.3102e-01_rb,1.0918e-01_rb,8.7353e-02_rb,6.5505e-02_rb, & &4.3670e-02_rb,2.1848e-02_rb,1.4780e-05_rb/) kao(:, 1, 9,15) = (/ & &4.3914e-01_rb,3.8426e-01_rb,3.2523e-01_rb,2.7101e-01_rb,2.1679e-01_rb,1.6466e-01_rb, & &1.0980e-01_rb,5.4190e-02_rb,8.3394e-07_rb/) kao(:, 2, 9,15) = (/ & &5.3157e-01_rb,4.6496e-01_rb,3.9866e-01_rb,3.3222e-01_rb,2.6580e-01_rb,1.9932e-01_rb, & &1.3289e-01_rb,6.6437e-02_rb,1.7793e-06_rb/) kao(:, 3, 9,15) = (/ & &6.2792e-01_rb,5.4930e-01_rb,4.7092e-01_rb,3.9242e-01_rb,3.1384e-01_rb,2.3543e-01_rb, & &1.5698e-01_rb,7.8487e-02_rb,3.4095e-06_rb/) kao(:, 4, 9,15) = (/ & &6.9612e-01_rb,6.0916e-01_rb,5.2207e-01_rb,4.4160e-01_rb,3.4808e-01_rb,2.6107e-01_rb, & &1.7405e-01_rb,8.7030e-02_rb,6.0449e-06_rb/) kao(:, 5, 9,15) = (/ & &7.1518e-01_rb,6.2568e-01_rb,5.3633e-01_rb,4.4688e-01_rb,3.5754e-01_rb,2.6806e-01_rb, & &1.7876e-01_rb,8.9378e-02_rb,9.9175e-06_rb/) kao(:, 1,10,15) = (/ & &1.3796e+01_rb,1.2071e+01_rb,1.0346e+01_rb,8.6223e+00_rb,6.8983e+00_rb,5.1733e+00_rb, & &3.4490e+00_rb,1.7245e+00_rb,4.7027e-07_rb/) kao(:, 2,10,15) = (/ & &2.6233e+00_rb,2.2954e+00_rb,1.9673e+00_rb,1.6395e+00_rb,1.3116e+00_rb,9.8356e-01_rb, & &6.5573e-01_rb,3.2783e-01_rb,1.0735e-06_rb/) kao(:, 3,10,15) = (/ & &2.9028e+00_rb,2.5398e+00_rb,2.1774e+00_rb,1.8145e+00_rb,1.4515e+00_rb,1.0885e+00_rb, & &7.2570e-01_rb,3.6294e-01_rb,2.1946e-06_rb/) kao(:, 4,10,15) = (/ & &2.9628e+00_rb,2.5919e+00_rb,2.2220e+00_rb,1.8518e+00_rb,1.4813e+00_rb,1.1109e+00_rb, & &7.4065e-01_rb,3.7038e-01_rb,4.0439e-06_rb/) kao(:, 5,10,15) = (/ & &3.0421e+00_rb,2.6615e+00_rb,2.2818e+00_rb,1.9012e+00_rb,1.5210e+00_rb,1.1408e+00_rb, & &7.6043e-01_rb,3.8023e-01_rb,6.8742e-06_rb/) kao(:, 1,11,15) = (/ & &5.1563e+01_rb,4.5117e+01_rb,3.8674e+01_rb,3.2227e+01_rb,2.5782e+01_rb,1.9336e+01_rb, & &1.2891e+01_rb,6.4453e+00_rb,4.0707e-07_rb/) kao(:, 2,11,15) = (/ & &4.0297e+00_rb,3.5262e+00_rb,3.0227e+00_rb,2.5187e+00_rb,2.0150e+00_rb,1.5474e+00_rb, & &1.0073e+00_rb,5.0377e-01_rb,9.5505e-07_rb/) kao(:, 3,11,15) = (/ & &4.2638e+00_rb,3.7317e+00_rb,3.1981e+00_rb,2.6654e+00_rb,2.1321e+00_rb,1.5993e+00_rb, & &1.0662e+00_rb,5.3312e-01_rb,1.9370e-06_rb/) kao(:, 4,11,15) = (/ & &4.5225e+00_rb,3.9566e+00_rb,3.3892e+00_rb,2.8266e+00_rb,2.2603e+00_rb,1.6955e+00_rb, & &1.1303e+00_rb,5.6504e-01_rb,3.5823e-06_rb/) kao(:, 5,11,15) = (/ & &4.7336e+00_rb,4.1418e+00_rb,3.5502e+00_rb,2.9582e+00_rb,2.3669e+00_rb,1.7755e+00_rb, & &1.1834e+00_rb,5.9176e-01_rb,6.1298e-06_rb/) kao(:, 1,12,15) = (/ & &1.0350e+02_rb,9.0564e+01_rb,7.7625e+01_rb,6.4688e+01_rb,5.1750e+01_rb,3.8814e+01_rb, & &2.5874e+01_rb,1.2937e+01_rb,3.8485e-07_rb/) kao(:, 2,12,15) = (/ & &3.5400e+01_rb,3.0974e+01_rb,2.7218e+01_rb,2.2126e+01_rb,1.7700e+01_rb,1.3275e+01_rb, & &8.8500e+00_rb,4.4247e+00_rb,8.6295e-07_rb/) kao(:, 3,12,15) = (/ & &4.7917e+00_rb,4.1902e+00_rb,3.5927e+00_rb,2.9945e+00_rb,2.3939e+00_rb,1.7963e+00_rb, & &1.1970e+00_rb,5.9908e-01_rb,1.7414e-06_rb/) kao(:, 4,12,15) = (/ & &4.7749e+00_rb,4.1779e+00_rb,3.5811e+00_rb,2.9844e+00_rb,2.3876e+00_rb,1.7905e+00_rb, & &1.1938e+00_rb,5.9689e-01_rb,3.1576e-06_rb/) kao(:, 5,12,15) = (/ & &4.7755e+00_rb,4.1774e+00_rb,3.5815e+00_rb,2.9845e+00_rb,2.3876e+00_rb,1.7910e+00_rb, & &1.1938e+00_rb,5.9711e-01_rb,5.4455e-06_rb/) kao(:, 1,13,15) = (/ & &1.3564e+02_rb,1.2035e+02_rb,1.0244e+02_rb,8.5373e+01_rb,6.8293e+01_rb,5.1221e+01_rb, & &3.4147e+01_rb,1.7074e+01_rb,3.5301e-07_rb/) kao(:, 2,13,15) = (/ & &6.6923e+01_rb,5.8556e+01_rb,5.0190e+01_rb,4.1824e+01_rb,3.3458e+01_rb,2.5094e+01_rb, & &1.6730e+01_rb,8.3652e+00_rb,7.8175e-07_rb/) kao(:, 3,13,15) = (/ & &3.7003e+00_rb,3.2381e+00_rb,2.7755e+00_rb,2.3126e+00_rb,1.8500e+00_rb,1.3876e+00_rb, & &9.2513e-01_rb,4.6258e-01_rb,1.5659e-06_rb/) kao(:, 4,13,15) = (/ & &3.7328e+00_rb,3.2655e+00_rb,2.7985e+00_rb,2.3334e+00_rb,1.8661e+00_rb,1.3995e+00_rb, & &9.3310e-01_rb,4.6647e-01_rb,2.9454e-06_rb/) kao(:, 5,13,15) = (/ & &3.7209e+00_rb,3.2581e+00_rb,2.7929e+00_rb,2.3278e+00_rb,1.8618e+00_rb,1.3966e+00_rb, & &9.3071e-01_rb,4.6580e-01_rb,5.0591e-06_rb/) kao(:, 1, 1,16) = (/ & &3.4803e-04_rb,3.1375e-04_rb,9.0029e-02_rb,1.3230e-01_rb,1.7123e-01_rb,2.0432e-01_rb, & &2.2540e-01_rb,2.1561e-01_rb,3.4246e-01_rb/) kao(:, 2, 1,16) = (/ & &3.6711e-04_rb,6.2185e-02_rb,1.2251e-01_rb,1.8007e-01_rb,2.3310e-01_rb,2.7812e-01_rb, & &3.0698e-01_rb,2.9374e-01_rb,4.6619e-01_rb/) kao(:, 3, 1,16) = (/ & &3.8231e-04_rb,8.1789e-02_rb,1.6116e-01_rb,2.3685e-01_rb,3.0661e-01_rb,3.6587e-01_rb, & &4.0384e-01_rb,3.8690e-01_rb,6.1322e-01_rb/) kao(:, 4, 1,16) = (/ & &3.9398e-04_rb,1.0451e-01_rb,2.0587e-01_rb,3.0259e-01_rb,3.9179e-01_rb,4.6767e-01_rb, & &5.1634e-01_rb,4.9462e-01_rb,7.8358e-01_rb/) kao(:, 5, 1,16) = (/ & &4.0251e-04_rb,1.3022e-01_rb,2.5663e-01_rb,3.7711e-01_rb,4.8832e-01_rb,5.8296e-01_rb, & &6.4377e-01_rb,6.1717e-01_rb,9.7664e-01_rb/) kao(:, 1, 2,16) = (/ & &4.4386e-04_rb,3.9528e-04_rb,9.5606e-02_rb,1.4144e-01_rb,1.8490e-01_rb,2.2388e-01_rb, & &2.5317e-01_rb,2.5424e-01_rb,3.6979e-01_rb/) kao(:, 2, 2,16) = (/ & &4.6963e-04_rb,4.2143e-04_rb,1.3208e-01_rb,1.9543e-01_rb,2.5549e-01_rb,3.0939e-01_rb, & &3.5000e-01_rb,3.5157e-01_rb,5.1097e-01_rb/) kao(:, 3, 2,16) = (/ & &4.9052e-04_rb,4.4450e-04_rb,1.7597e-01_rb,2.6040e-01_rb,3.4044e-01_rb,4.1226e-01_rb, & &4.6651e-01_rb,4.6873e-01_rb,6.8087e-01_rb/) kao(:, 4, 2,16) = (/ & &5.0548e-04_rb,4.6448e-04_rb,2.2723e-01_rb,3.3632e-01_rb,4.3972e-01_rb,5.3255e-01_rb, & &6.0266e-01_rb,6.0594e-01_rb,8.7943e-01_rb/) kao(:, 5, 2,16) = (/ & &5.1704e-04_rb,1.4434e-01_rb,2.8579e-01_rb,4.2309e-01_rb,5.5324e-01_rb,6.7011e-01_rb, & &7.5842e-01_rb,7.6291e-01_rb,1.1065e+00_rb/) kao(:, 1, 3,16) = (/ & &7.4514e-04_rb,6.5703e-04_rb,5.6805e-04_rb,1.3986e-01_rb,1.8472e-01_rb,2.2721e-01_rb, & &2.6439e-01_rb,2.8334e-01_rb,3.6943e-01_rb/) kao(:, 2, 3,16) = (/ & &7.9344e-04_rb,7.0163e-04_rb,6.1002e-04_rb,1.9810e-01_rb,2.6159e-01_rb,3.2183e-01_rb, & &3.7436e-01_rb,4.0145e-01_rb,5.2319e-01_rb/) kao(:, 3, 3,16) = (/ & &8.3288e-04_rb,7.4056e-04_rb,6.4608e-04_rb,2.6931e-01_rb,3.5570e-01_rb,4.3753e-01_rb, & &5.0928e-01_rb,5.4624e-01_rb,7.1140e-01_rb/) kao(:, 4, 3,16) = (/ & &8.6418e-04_rb,7.7079e-04_rb,1.2130e-02_rb,3.5401e-01_rb,4.6743e-01_rb,5.7518e-01_rb, & &6.6923e-01_rb,7.1819e-01_rb,9.3487e-01_rb/) kao(:, 5, 3,16) = (/ & &8.8628e-04_rb,7.9797e-04_rb,3.0313e-01_rb,4.5187e-01_rb,5.9661e-01_rb,7.3417e-01_rb, & &8.5463e-01_rb,9.1729e-01_rb,1.1932e+00_rb/) kao(:, 1, 4,16) = (/ & &1.2636e-03_rb,1.1057e-03_rb,9.5136e-04_rb,7.9620e-04_rb,6.4188e-04_rb,2.1791e-01_rb, & &2.5758e-01_rb,2.8791e-01_rb,2.3364e-05_rb/) kao(:, 2, 4,16) = (/ & &1.3610e-03_rb,1.1957e-03_rb,1.0270e-03_rb,8.6413e-04_rb,7.0025e-04_rb,3.1776e-01_rb, & &3.7570e-01_rb,4.1991e-01_rb,3.8771e-05_rb/) kao(:, 3, 4,16) = (/ & &1.4417e-03_rb,1.2662e-03_rb,1.0946e-03_rb,9.2411e-04_rb,3.5694e-01_rb,4.4267e-01_rb, & &5.2346e-01_rb,5.8520e-01_rb,7.1388e-01_rb/) kao(:, 4, 4,16) = (/ & &1.5012e-03_rb,1.3268e-03_rb,1.1484e-03_rb,9.7089e-04_rb,4.7866e-01_rb,5.9391e-01_rb, & &7.0229e-01_rb,7.8545e-01_rb,9.5731e-01_rb/) kao(:, 5, 4,16) = (/ & &1.5493e-03_rb,1.3712e-03_rb,1.1941e-03_rb,1.0165e-03_rb,6.2163e-01_rb,7.7110e-01_rb, & &9.1212e-01_rb,1.0202e+00_rb,1.2432e+00_rb/) kao(:, 1, 5,16) = (/ & &1.9563e-03_rb,1.7130e-03_rb,1.4716e-03_rb,1.2286e-03_rb,9.8449e-04_rb,7.4210e-04_rb, & &5.0011e-04_rb,2.7578e-01_rb,1.4521e-05_rb/) kao(:, 2, 5,16) = (/ & &2.1251e-03_rb,1.8616e-03_rb,1.5991e-03_rb,1.3382e-03_rb,1.0747e-03_rb,8.1191e-04_rb, & &3.6392e-01_rb,4.1523e-01_rb,2.5317e-05_rb/) kao(:, 3, 5,16) = (/ & &2.2685e-03_rb,1.9902e-03_rb,1.7118e-03_rb,1.4319e-03_rb,1.1550e-03_rb,8.7607e-04_rb, & &5.2057e-01_rb,5.9412e-01_rb,4.1189e-05_rb/) kao(:, 4, 5,16) = (/ & &2.3834e-03_rb,2.0939e-03_rb,1.8039e-03_rb,1.5145e-03_rb,1.2237e-03_rb,9.3428e-04_rb, & &7.1378e-01_rb,8.1462e-01_rb,6.3394e-05_rb/) kao(:, 5, 5,16) = (/ & &2.4764e-03_rb,2.1786e-03_rb,1.8819e-03_rb,1.5832e-03_rb,1.2860e-03_rb,7.9256e-01_rb, & &9.4410e-01_rb,1.0778e+00_rb,9.2980e-05_rb/) kao(:, 1, 6,16) = (/ & &2.8061e-03_rb,2.4583e-03_rb,2.1085e-03_rb,1.7622e-03_rb,1.4067e-03_rb,1.0576e-03_rb, & &7.0829e-04_rb,1.6992e-01_rb,8.6758e-06_rb/) kao(:, 2, 6,16) = (/ & &3.0921e-03_rb,2.7056e-03_rb,2.3212e-03_rb,1.9356e-03_rb,1.5529e-03_rb,1.1677e-03_rb, & &7.8418e-04_rb,3.9086e-01_rb,1.5977e-05_rb/) kao(:, 3, 6,16) = (/ & &3.3322e-03_rb,2.9180e-03_rb,2.5057e-03_rb,2.0938e-03_rb,1.6795e-03_rb,1.2657e-03_rb, & &8.5374e-04_rb,5.7620e-01_rb,2.7234e-05_rb/) kao(:, 4, 6,16) = (/ & &3.5394e-03_rb,3.0979e-03_rb,2.6608e-03_rb,2.2263e-03_rb,1.7897e-03_rb,1.3517e-03_rb, & &9.1571e-04_rb,8.0997e-01_rb,4.3592e-05_rb/) kao(:, 5, 6,16) = (/ & &3.6973e-03_rb,3.2450e-03_rb,2.7879e-03_rb,2.3342e-03_rb,1.8813e-03_rb,1.4280e-03_rb, & &2.3591e-01_rb,1.0936e+00_rb,6.6108e-05_rb/) kao(:, 1, 7,16) = (/ & &4.1566e-03_rb,3.6382e-03_rb,3.1187e-03_rb,2.5984e-03_rb,2.0809e-03_rb,1.5620e-03_rb, & &1.0430e-03_rb,5.2415e-04_rb,5.0515e-06_rb/) kao(:, 2, 7,16) = (/ & &4.6397e-03_rb,4.0602e-03_rb,3.4821e-03_rb,2.9026e-03_rb,2.3244e-03_rb,1.7452e-03_rb, & &1.1674e-03_rb,5.8830e-04_rb,9.8982e-06_rb/) kao(:, 3, 7,16) = (/ & &5.0641e-03_rb,4.4282e-03_rb,3.8004e-03_rb,3.1687e-03_rb,2.5412e-03_rb,1.9080e-03_rb, & &1.2777e-03_rb,6.4842e-04_rb,1.7758e-05_rb/) kao(:, 4, 7,16) = (/ & &5.4224e-03_rb,4.7462e-03_rb,4.0771e-03_rb,3.3992e-03_rb,2.7272e-03_rb,2.0505e-03_rb, & &1.3779e-03_rb,7.0354e-04_rb,2.9670e-05_rb/) kao(:, 5, 7,16) = (/ & &5.7229e-03_rb,5.0101e-03_rb,4.3011e-03_rb,3.5983e-03_rb,2.8833e-03_rb,2.1757e-03_rb, & &1.4658e-03_rb,6.1847e-01_rb,4.6639e-05_rb/) kao(:, 1, 8,16) = (/ & &7.1654e-03_rb,6.2688e-03_rb,5.3745e-03_rb,4.4778e-03_rb,3.5800e-03_rb,2.6883e-03_rb, & &1.7931e-03_rb,8.9706e-04_rb,2.8888e-06_rb/) kao(:, 2, 8,16) = (/ & &8.1399e-03_rb,7.1118e-03_rb,6.0997e-03_rb,5.0831e-03_rb,4.0665e-03_rb,3.0517e-03_rb, & &2.0386e-03_rb,1.0214e-03_rb,6.0412e-06_rb/) kao(:, 3, 8,16) = (/ & &8.9800e-03_rb,7.8609e-03_rb,6.7393e-03_rb,5.6216e-03_rb,4.4978e-03_rb,3.3745e-03_rb, & &2.2551e-03_rb,1.1328e-03_rb,1.1454e-05_rb/) kao(:, 4, 8,16) = (/ & &9.7139e-03_rb,8.5067e-03_rb,7.2942e-03_rb,6.0777e-03_rb,4.8682e-03_rb,3.6593e-03_rb, & &2.4437e-03_rb,1.2326e-03_rb,2.0029e-05_rb/) kao(:, 5, 8,16) = (/ & &1.0337e-02_rb,9.0473e-03_rb,7.7560e-03_rb,6.4703e-03_rb,5.1860e-03_rb,3.8948e-03_rb, & &2.6072e-03_rb,1.3207e-03_rb,3.2759e-05_rb/) kao(:, 1, 9,16) = (/ & &2.3247e-02_rb,2.0336e-02_rb,1.7429e-02_rb,1.4524e-02_rb,1.1625e-02_rb,8.7188e-03_rb, & &5.8147e-03_rb,2.9059e-03_rb,1.6015e-06_rb/) kao(:, 2, 9,16) = (/ & &2.6840e-02_rb,2.3482e-02_rb,2.0132e-02_rb,1.6770e-02_rb,1.3422e-02_rb,1.0063e-02_rb, & &6.7117e-03_rb,3.3577e-03_rb,3.6050e-06_rb/) kao(:, 3, 9,16) = (/ & &3.0078e-02_rb,2.6329e-02_rb,2.2553e-02_rb,1.8793e-02_rb,1.5044e-02_rb,1.1280e-02_rb, & &7.5240e-03_rb,3.7656e-03_rb,7.2546e-06_rb/) kao(:, 4, 9,16) = (/ & &3.2925e-02_rb,2.8810e-02_rb,2.4697e-02_rb,2.0586e-02_rb,3.0583e-02_rb,1.2361e-02_rb, & &8.2421e-03_rb,4.1354e-03_rb,1.3329e-05_rb/) kao(:, 5, 9,16) = (/ & &3.5342e-02_rb,3.0934e-02_rb,2.6503e-02_rb,2.2104e-02_rb,1.7684e-02_rb,1.3262e-02_rb, & &8.8536e-03_rb,4.4397e-03_rb,2.2693e-05_rb/) kao(:, 1,10,16) = (/ & &8.4703e-02_rb,7.4117e-02_rb,6.3535e-02_rb,5.2927e-02_rb,4.2343e-02_rb,3.1773e-02_rb, & &2.1175e-02_rb,1.0588e-02_rb,9.2688e-07_rb/) kao(:, 2,10,16) = (/ & &9.9410e-02_rb,8.7009e-02_rb,7.4556e-02_rb,6.2160e-02_rb,4.9698e-02_rb,3.7265e-02_rb, & &2.4850e-02_rb,1.2429e-02_rb,2.2335e-06_rb/) kao(:, 3,10,16) = (/ & &1.1291e-01_rb,9.8729e-02_rb,8.4692e-02_rb,7.0598e-02_rb,5.6422e-02_rb,4.2355e-02_rb, & &2.8232e-02_rb,1.4106e-02_rb,4.7476e-06_rb/) kao(:, 4,10,16) = (/ & &1.2498e-01_rb,1.0930e-01_rb,9.3695e-02_rb,7.8057e-02_rb,6.2479e-02_rb,4.6859e-02_rb, & &3.1244e-02_rb,1.5627e-02_rb,9.1259e-06_rb/) kao(:, 5,10,16) = (/ & &1.3523e-01_rb,1.1838e-01_rb,1.0149e-01_rb,8.4512e-02_rb,6.7619e-02_rb,5.0737e-02_rb, & &3.3842e-02_rb,1.6917e-02_rb,1.6155e-05_rb/) kao(:, 1,11,16) = (/ & &1.1702e-01_rb,1.0242e-01_rb,8.7781e-02_rb,7.3100e-02_rb,5.8528e-02_rb,4.3847e-02_rb, & &2.9250e-02_rb,1.4631e-02_rb,8.3202e-07_rb/) kao(:, 2,11,16) = (/ & &1.3733e-01_rb,1.2017e-01_rb,1.0300e-01_rb,8.5853e-02_rb,6.8653e-02_rb,5.1492e-02_rb, & &3.4322e-02_rb,1.7153e-02_rb,2.0128e-06_rb/) kao(:, 3,11,16) = (/ & &1.5584e-01_rb,1.3638e-01_rb,1.1685e-01_rb,9.7461e-02_rb,7.7843e-02_rb,5.8372e-02_rb, & &3.8976e-02_rb,1.9510e-02_rb,4.3129e-06_rb/) kao(:, 4,11,16) = (/ & &1.7239e-01_rb,1.5086e-01_rb,1.2928e-01_rb,1.0779e-01_rb,8.6176e-02_rb,6.4725e-02_rb, & &4.3097e-02_rb,2.1516e-02_rb,8.3117e-06_rb/) kao(:, 5,11,16) = (/ & &1.8654e-01_rb,1.6325e-01_rb,1.3989e-01_rb,1.1667e-01_rb,9.3408e-02_rb,7.0060e-02_rb, & &4.6775e-02_rb,2.3342e-02_rb,1.4729e-05_rb/) kao(:, 1,12,16) = (/ & &1.1854e-01_rb,1.0376e-01_rb,8.8946e-02_rb,7.4074e-02_rb,5.9255e-02_rb,4.4504e-02_rb, & &2.9679e-02_rb,1.4800e-02_rb,7.4749e-07_rb/) kao(:, 2,12,16) = (/ & &1.3943e-01_rb,1.2204e-01_rb,1.0463e-01_rb,8.7342e-02_rb,6.9856e-02_rb,5.2356e-02_rb, & &3.4894e-02_rb,1.7410e-02_rb,1.8161e-06_rb/) kao(:, 3,12,16) = (/ & &1.5836e-01_rb,1.3868e-01_rb,1.1885e-01_rb,9.9001e-02_rb,7.9338e-02_rb,5.9413e-02_rb, & &3.9707e-02_rb,1.9806e-02_rb,3.8901e-06_rb/) kao(:, 4,12,16) = (/ & &1.7966e-01_rb,1.5728e-01_rb,1.3478e-01_rb,1.1217e-01_rb,8.9784e-02_rb,6.7270e-02_rb, & &4.4900e-02_rb,2.2432e-02_rb,7.2752e-06_rb/) kao(:, 5,12,16) = (/ & &2.0635e-01_rb,1.8060e-01_rb,1.5479e-01_rb,1.2891e-01_rb,1.0321e-01_rb,7.7324e-02_rb, & &5.1591e-02_rb,2.5791e-02_rb,1.2040e-05_rb/) kao(:, 1,13,16) = (/ & &2.1930e-01_rb,8.1271e-02_rb,6.9650e-02_rb,5.7973e-02_rb,4.6358e-02_rb,3.4782e-02_rb, & &2.3204e-02_rb,1.1588e-02_rb,6.6806e-07_rb/) kao(:, 2,13,16) = (/ & &1.1205e-01_rb,9.8083e-02_rb,8.4056e-02_rb,7.0107e-02_rb,5.6050e-02_rb,4.2050e-02_rb, & &2.7998e-02_rb,1.4011e-02_rb,1.5755e-06_rb/) kao(:, 3,13,16) = (/ & &1.3646e-01_rb,1.1932e-01_rb,1.0236e-01_rb,8.5263e-02_rb,6.8236e-02_rb,5.1131e-02_rb, & &3.4091e-02_rb,1.7065e-02_rb,3.1454e-06_rb/) kao(:, 4,13,16) = (/ & &1.5976e-01_rb,1.3979e-01_rb,1.1981e-01_rb,9.9935e-02_rb,7.9931e-02_rb,5.9857e-02_rb, & &3.9898e-02_rb,1.9961e-02_rb,5.5256e-06_rb/) kao(:, 5,13,16) = (/ & &1.7769e-01_rb,1.5548e-01_rb,1.3326e-01_rb,1.1109e-01_rb,8.8840e-02_rb,6.6629e-02_rb, & &4.4447e-02_rb,2.2232e-02_rb,9.1943e-06_rb/) ! The array KAO_Mxx contains the absorption coefficient for ! a minor species at the 16 chosen g-values for a reference pressure ! level below 100~ mb. The first index in the array, JS, runs ! from 1 to 10, and corresponds to different gas column amount ratios, ! as expressed through the binary species parameter eta, defined as ! eta = gas1/(gas1 + (rat) * gas2), where rat is the ! ratio of the reference MLS column amount value of gas 1 ! to that of gas2. The second index refers to temperature ! in 7.2 degree increments. For instance, JT = 1 refers to a ! temperature of 188.0, JT = 2 refers to 195.2, etc. The third index ! runs over the g-channel (1 to 16). kao_mco2( 1, :, 1) = (/ & & 1.09539e-04_rb, 1.17067e-04_rb, 1.25113e-04_rb, 1.33712e-04_rb, 1.42902e-04_rb, & & 1.52724e-04_rb, 1.63221e-04_rb, 1.74439e-04_rb, 1.86428e-04_rb, 1.99241e-04_rb, & & 2.12934e-04_rb, 2.27569e-04_rb, 2.43210e-04_rb, 2.59926e-04_rb, 2.77790e-04_rb, & & 2.96883e-04_rb, 3.17287e-04_rb, 3.39094e-04_rb, 3.62400e-04_rb/) kao_mco2( 2, :, 1) = (/ & & 1.25202e-04_rb, 1.34718e-04_rb, 1.44957e-04_rb, 1.55974e-04_rb, 1.67829e-04_rb, & & 1.80585e-04_rb, 1.94311e-04_rb, 2.09079e-04_rb, 2.24971e-04_rb, 2.42069e-04_rb, & & 2.60468e-04_rb, 2.80265e-04_rb, 3.01567e-04_rb, 3.24488e-04_rb, 3.49150e-04_rb, & & 3.75688e-04_rb, 4.04242e-04_rb, 4.34966e-04_rb, 4.68026e-04_rb/) kao_mco2( 3, :, 1) = (/ & & 1.12112e-04_rb, 1.21090e-04_rb, 1.30786e-04_rb, 1.41259e-04_rb, 1.52571e-04_rb, & & 1.64788e-04_rb, 1.77984e-04_rb, 1.92237e-04_rb, 2.07631e-04_rb, 2.24257e-04_rb, & & 2.42215e-04_rb, 2.61611e-04_rb, 2.82560e-04_rb, 3.05187e-04_rb, 3.29625e-04_rb, & & 3.56021e-04_rb, 3.84530e-04_rb, 4.15322e-04_rb, 4.48580e-04_rb/) kao_mco2( 4, :, 1) = (/ & & 9.74130e-05_rb, 1.05372e-04_rb, 1.13982e-04_rb, 1.23295e-04_rb, 1.33369e-04_rb, & & 1.44265e-04_rb, 1.56053e-04_rb, 1.68803e-04_rb, 1.82595e-04_rb, 1.97514e-04_rb, & & 2.13652e-04_rb, 2.31109e-04_rb, 2.49992e-04_rb, 2.70418e-04_rb, 2.92512e-04_rb, & & 3.16412e-04_rb, 3.42265e-04_rb, 3.70230e-04_rb, 4.00479e-04_rb/) kao_mco2( 5, :, 1) = (/ & & 8.71018e-05_rb, 9.40759e-05_rb, 1.01608e-04_rb, 1.09744e-04_rb, 1.18531e-04_rb, & & 1.28022e-04_rb, 1.38272e-04_rb, 1.49343e-04_rb, 1.61301e-04_rb, 1.74216e-04_rb, & & 1.88166e-04_rb, 2.03232e-04_rb, 2.19504e-04_rb, 2.37079e-04_rb, 2.56062e-04_rb, & & 2.76565e-04_rb, 2.98709e-04_rb, 3.22626e-04_rb, 3.48458e-04_rb/) kao_mco2( 6, :, 1) = (/ & & 7.55256e-05_rb, 8.17414e-05_rb, 8.84688e-05_rb, 9.57500e-05_rb, 1.03630e-04_rb, & & 1.12159e-04_rb, 1.21390e-04_rb, 1.31381e-04_rb, 1.42193e-04_rb, 1.53896e-04_rb, & & 1.66562e-04_rb, 1.80270e-04_rb, 1.95107e-04_rb, 2.11164e-04_rb, 2.28543e-04_rb, & & 2.47353e-04_rb, 2.67710e-04_rb, 2.89743e-04_rb, 3.13589e-04_rb/) kao_mco2( 7, :, 1) = (/ & & 5.31515e-05_rb, 6.06869e-05_rb, 6.92907e-05_rb, 7.91143e-05_rb, 9.03306e-05_rb, & & 1.03137e-04_rb, 1.17759e-04_rb, 1.34454e-04_rb, 1.53516e-04_rb, 1.75281e-04_rb, & & 2.00131e-04_rb, 2.28504e-04_rb, 2.60900e-04_rb, 2.97888e-04_rb, 3.40121e-04_rb, & & 3.88341e-04_rb, 4.43397e-04_rb, 5.06259e-04_rb, 5.78033e-04_rb/) kao_mco2( 8, :, 1) = (/ & & 2.52471e-04_rb, 2.96005e-04_rb, 3.47045e-04_rb, 4.06886e-04_rb, 4.77045e-04_rb, & & 5.59302e-04_rb, 6.55742e-04_rb, 7.68811e-04_rb, 9.01377e-04_rb, 1.05680e-03_rb, & & 1.23902e-03_rb, 1.45267e-03_rb, 1.70315e-03_rb, 1.99683e-03_rb, 2.34114e-03_rb, & & 2.74482e-03_rb, 3.21811e-03_rb, 3.77300e-03_rb, 4.42358e-03_rb/) kao_mco2( 9, :, 1) = (/ & & 4.06711e-05_rb, 4.53161e-05_rb, 5.04917e-05_rb, 5.62583e-05_rb, 6.26836e-05_rb, & & 6.98427e-05_rb, 7.78194e-05_rb, 8.67071e-05_rb, 9.66100e-05_rb, 1.07644e-04_rb, & & 1.19938e-04_rb, 1.33636e-04_rb, 1.48898e-04_rb, 1.65904e-04_rb, 1.84852e-04_rb, & & 2.05964e-04_rb, 2.29487e-04_rb, 2.55697e-04_rb, 2.84900e-04_rb/) kao_mco2( 1, :, 2) = (/ & & 2.01759e-04_rb, 2.15641e-04_rb, 2.30478e-04_rb, 2.46336e-04_rb, 2.63285e-04_rb, & & 2.81400e-04_rb, 3.00761e-04_rb, 3.21455e-04_rb, 3.43573e-04_rb, 3.67212e-04_rb, & & 3.92477e-04_rb, 4.19482e-04_rb, 4.48344e-04_rb, 4.79192e-04_rb, 5.12162e-04_rb, & & 5.47401e-04_rb, 5.85064e-04_rb, 6.25319e-04_rb, 6.68343e-04_rb/) kao_mco2( 2, :, 2) = (/ & & 2.53461e-04_rb, 2.70916e-04_rb, 2.89574e-04_rb, 3.09516e-04_rb, 3.30832e-04_rb, & & 3.53616e-04_rb, 3.77969e-04_rb, 4.03999e-04_rb, 4.31822e-04_rb, 4.61561e-04_rb, & & 4.93348e-04_rb, 5.27324e-04_rb, 5.63640e-04_rb, 6.02457e-04_rb, 6.43948e-04_rb, & & 6.88295e-04_rb, 7.35697e-04_rb, 7.86364e-04_rb, 8.40519e-04_rb/) kao_mco2( 3, :, 2) = (/ & & 2.58821e-04_rb, 2.76943e-04_rb, 2.96334e-04_rb, 3.17082e-04_rb, 3.39283e-04_rb, & & 3.63038e-04_rb, 3.88457e-04_rb, 4.15655e-04_rb, 4.44758e-04_rb, 4.75899e-04_rb, & & 5.09220e-04_rb, 5.44874e-04_rb, 5.83024e-04_rb, 6.23845e-04_rb, 6.67525e-04_rb, & & 7.14263e-04_rb, 7.64273e-04_rb, 8.17785e-04_rb, 8.75043e-04_rb/) kao_mco2( 4, :, 2) = (/ & & 2.46588e-04_rb, 2.64630e-04_rb, 2.83993e-04_rb, 3.04771e-04_rb, 3.27071e-04_rb, & & 3.51001e-04_rb, 3.76683e-04_rb, 4.04244e-04_rb, 4.33821e-04_rb, 4.65563e-04_rb, & & 4.99627e-04_rb, 5.36183e-04_rb, 5.75414e-04_rb, 6.17515e-04_rb, 6.62697e-04_rb, & & 7.11185e-04_rb, 7.63220e-04_rb, 8.19063e-04_rb, 8.78991e-04_rb/) kao_mco2( 5, :, 2) = (/ & & 2.19140e-04_rb, 2.36464e-04_rb, 2.55158e-04_rb, 2.75330e-04_rb, 2.97097e-04_rb, & & 3.20585e-04_rb, 3.45929e-04_rb, 3.73277e-04_rb, 4.02787e-04_rb, 4.34630e-04_rb, & & 4.68991e-04_rb, 5.06068e-04_rb, 5.46076e-04_rb, 5.89247e-04_rb, 6.35831e-04_rb, & & 6.86097e-04_rb, 7.40338e-04_rb, 7.98867e-04_rb, 8.62022e-04_rb/) kao_mco2( 6, :, 2) = (/ & & 1.74073e-04_rb, 1.92221e-04_rb, 2.12260e-04_rb, 2.34388e-04_rb, 2.58824e-04_rb, & & 2.85807e-04_rb, 3.15603e-04_rb, 3.48505e-04_rb, 3.84837e-04_rb, 4.24957e-04_rb, & & 4.69260e-04_rb, 5.18181e-04_rb, 5.72202e-04_rb, 6.31855e-04_rb, 6.97727e-04_rb, & & 7.70466e-04_rb, 8.50789e-04_rb, 9.39485e-04_rb, 1.03743e-03_rb/) kao_mco2( 7, :, 2) = (/ & & 1.74359e-04_rb, 1.99276e-04_rb, 2.27753e-04_rb, 2.60299e-04_rb, 2.97497e-04_rb, & & 3.40010e-04_rb, 3.88599e-04_rb, 4.44130e-04_rb, 5.07598e-04_rb, 5.80135e-04_rb, & & 6.63039e-04_rb, 7.57789e-04_rb, 8.66079e-04_rb, 9.89845e-04_rb, 1.13130e-03_rb, & & 1.29296e-03_rb, 1.47773e-03_rb, 1.68890e-03_rb, 1.93025e-03_rb/) kao_mco2( 8, :, 2) = (/ & & 1.08215e-03_rb, 1.20760e-03_rb, 1.34759e-03_rb, 1.50382e-03_rb, 1.67815e-03_rb, & & 1.87270e-03_rb, 2.08980e-03_rb, 2.33206e-03_rb, 2.60242e-03_rb, 2.90411e-03_rb, & & 3.24078e-03_rb, 3.61648e-03_rb, 4.03573e-03_rb, 4.50359e-03_rb, 5.02568e-03_rb, & & 5.60830e-03_rb, 6.25846e-03_rb, 6.98399e-03_rb, 7.79363e-03_rb/) kao_mco2( 9, :, 2) = (/ & & 1.04969e-04_rb, 1.20766e-04_rb, 1.38939e-04_rb, 1.59848e-04_rb, 1.83903e-04_rb, & & 2.11578e-04_rb, 2.43418e-04_rb, 2.80049e-04_rb, 3.22193e-04_rb, 3.70678e-04_rb, & & 4.26461e-04_rb, 4.90638e-04_rb, 5.64472e-04_rb, 6.49418e-04_rb, 7.47147e-04_rb, & & 8.59583e-04_rb, 9.88940e-04_rb, 1.13776e-03_rb, 1.30898e-03_rb/) kao_mco2( 1, :, 3) = (/ & & 3.72106e-04_rb, 3.96252e-04_rb, 4.21966e-04_rb, 4.49347e-04_rb, 4.78506e-04_rb, & & 5.09557e-04_rb, 5.42623e-04_rb, 5.77834e-04_rb, 6.15330e-04_rb, 6.55260e-04_rb, & & 6.97781e-04_rb, 7.43060e-04_rb, 7.91278e-04_rb, 8.42626e-04_rb, 8.97304e-04_rb, & & 9.55532e-04_rb, 1.01754e-03_rb, 1.08357e-03_rb, 1.15388e-03_rb/) kao_mco2( 2, :, 3) = (/ & & 4.20563e-04_rb, 4.46162e-04_rb, 4.73319e-04_rb, 5.02130e-04_rb, 5.32693e-04_rb, & & 5.65118e-04_rb, 5.99516e-04_rb, 6.36007e-04_rb, 6.74720e-04_rb, 7.15789e-04_rb, & & 7.59358e-04_rb, 8.05579e-04_rb, 8.54613e-04_rb, 9.06632e-04_rb, 9.61817e-04_rb, & & 1.02036e-03_rb, 1.08247e-03_rb, 1.14836e-03_rb, 1.21826e-03_rb/) kao_mco2( 3, :, 3) = (/ & & 4.89664e-04_rb, 5.18321e-04_rb, 5.48654e-04_rb, 5.80764e-04_rb, 6.14752e-04_rb, & & 6.50729e-04_rb, 6.88812e-04_rb, 7.29124e-04_rb, 7.71795e-04_rb, 8.16963e-04_rb, & & 8.64774e-04_rb, 9.15384e-04_rb, 9.68955e-04_rb, 1.02566e-03_rb, 1.08569e-03_rb, & & 1.14922e-03_rb, 1.21648e-03_rb, 1.28767e-03_rb, 1.36303e-03_rb/) kao_mco2( 4, :, 3) = (/ & & 4.61143e-04_rb, 4.92198e-04_rb, 5.25343e-04_rb, 5.60720e-04_rb, 5.98480e-04_rb, & & 6.38783e-04_rb, 6.81799e-04_rb, 7.27713e-04_rb, 7.76718e-04_rb, 8.29023e-04_rb, & & 8.84851e-04_rb, 9.44438e-04_rb, 1.00804e-03_rb, 1.07592e-03_rb, 1.14837e-03_rb, & & 1.22571e-03_rb, 1.30825e-03_rb, 1.39635e-03_rb, 1.49038e-03_rb/) kao_mco2( 5, :, 3) = (/ & & 4.01988e-04_rb, 4.36672e-04_rb, 4.74349e-04_rb, 5.15278e-04_rb, 5.59737e-04_rb, & & 6.08032e-04_rb, 6.60495e-04_rb, 7.17484e-04_rb, 7.79390e-04_rb, 8.46638e-04_rb, & & 9.19688e-04_rb, 9.99041e-04_rb, 1.08524e-03_rb, 1.17888e-03_rb, 1.28059e-03_rb, & & 1.39109e-03_rb, 1.51111e-03_rb, 1.64149e-03_rb, 1.78313e-03_rb/) kao_mco2( 6, :, 3) = (/ & & 3.35536e-04_rb, 3.74371e-04_rb, 4.17700e-04_rb, 4.66045e-04_rb, 5.19985e-04_rb, & & 5.80169e-04_rb, 6.47318e-04_rb, 7.22238e-04_rb, 8.05831e-04_rb, 8.99098e-04_rb, & & 1.00316e-03_rb, 1.11927e-03_rb, 1.24881e-03_rb, 1.39335e-03_rb, 1.55461e-03_rb, & & 1.73455e-03_rb, 1.93530e-03_rb, 2.15930e-03_rb, 2.40921e-03_rb/) kao_mco2( 7, :, 3) = (/ & & 3.24677e-04_rb, 3.75160e-04_rb, 4.33491e-04_rb, 5.00893e-04_rb, 5.78774e-04_rb, & & 6.68765e-04_rb, 7.72749e-04_rb, 8.92900e-04_rb, 1.03173e-03_rb, 1.19215e-03_rb, & & 1.37751e-03_rb, 1.59170e-03_rb, 1.83918e-03_rb, 2.12515e-03_rb, 2.45558e-03_rb, & & 2.83738e-03_rb, 3.27856e-03_rb, 3.78832e-03_rb, 4.37735e-03_rb/) kao_mco2( 8, :, 3) = (/ & & 2.24656e-03_rb, 2.45550e-03_rb, 2.68386e-03_rb, 2.93347e-03_rb, 3.20629e-03_rb, & & 3.50448e-03_rb, 3.83041e-03_rb, 4.18665e-03_rb, 4.57602e-03_rb, 5.00160e-03_rb, & & 5.46677e-03_rb, 5.97519e-03_rb, 6.53090e-03_rb, 7.13829e-03_rb, 7.80217e-03_rb, & & 8.52780e-03_rb, 9.32091e-03_rb, 1.01878e-02_rb, 1.11353e-02_rb/) kao_mco2( 9, :, 3) = (/ & & 2.07746e-04_rb, 2.38909e-04_rb, 2.74746e-04_rb, 3.15959e-04_rb, 3.63355e-04_rb, & & 4.17860e-04_rb, 4.80541e-04_rb, 5.52625e-04_rb, 6.35521e-04_rb, 7.30852e-04_rb, & & 8.40484e-04_rb, 9.66561e-04_rb, 1.11155e-03_rb, 1.27829e-03_rb, 1.47004e-03_rb, & & 1.69055e-03_rb, 1.94414e-03_rb, 2.23577e-03_rb, 2.57115e-03_rb/) kao_mco2( 1, :, 4) = (/ & & 7.26052e-04_rb, 7.62476e-04_rb, 8.00726e-04_rb, 8.40896e-04_rb, 8.83081e-04_rb, & & 9.27382e-04_rb, 9.73905e-04_rb, 1.02276e-03_rb, 1.07407e-03_rb, 1.12795e-03_rb, & & 1.18454e-03_rb, 1.24396e-03_rb, 1.30637e-03_rb, 1.37190e-03_rb, 1.44073e-03_rb, & & 1.51300e-03_rb, 1.58890e-03_rb, 1.66861e-03_rb, 1.75232e-03_rb/) kao_mco2( 2, :, 4) = (/ & & 4.65815e-04_rb, 5.01167e-04_rb, 5.39203e-04_rb, 5.80126e-04_rb, 6.24154e-04_rb, & & 6.71524e-04_rb, 7.22489e-04_rb, 7.77322e-04_rb, 8.36316e-04_rb, 8.99788e-04_rb, & & 9.68077e-04_rb, 1.04155e-03_rb, 1.12060e-03_rb, 1.20564e-03_rb, 1.29714e-03_rb, & & 1.39559e-03_rb, 1.50151e-03_rb, 1.61546e-03_rb, 1.73807e-03_rb/) kao_mco2( 3, :, 4) = (/ & & 3.56225e-04_rb, 3.93073e-04_rb, 4.33732e-04_rb, 4.78598e-04_rb, 5.28105e-04_rb, & & 5.82732e-04_rb, 6.43010e-04_rb, 7.09524e-04_rb, 7.82918e-04_rb, 8.63903e-04_rb, & & 9.53266e-04_rb, 1.05187e-03_rb, 1.16068e-03_rb, 1.28074e-03_rb, 1.41322e-03_rb, & & 1.55941e-03_rb, 1.72071e-03_rb, 1.89870e-03_rb, 2.09511e-03_rb/) kao_mco2( 4, :, 4) = (/ & & 3.37845e-04_rb, 3.79675e-04_rb, 4.26684e-04_rb, 4.79514e-04_rb, 5.38884e-04_rb, & & 6.05606e-04_rb, 6.80589e-04_rb, 7.64855e-04_rb, 8.59555e-04_rb, 9.65980e-04_rb, & & 1.08558e-03_rb, 1.21999e-03_rb, 1.37105e-03_rb, 1.54080e-03_rb, 1.73157e-03_rb, & & 1.94597e-03_rb, 2.18691e-03_rb, 2.45767e-03_rb, 2.76197e-03_rb/) kao_mco2( 5, :, 4) = (/ & & 3.52456e-04_rb, 4.02782e-04_rb, 4.60294e-04_rb, 5.26017e-04_rb, 6.01126e-04_rb, & & 6.86958e-04_rb, 7.85046e-04_rb, 8.97140e-04_rb, 1.02524e-03_rb, 1.17163e-03_rb, & & 1.33892e-03_rb, 1.53010e-03_rb, 1.74858e-03_rb, 1.99825e-03_rb, 2.28358e-03_rb, & & 2.60964e-03_rb, 2.98226e-03_rb, 3.40809e-03_rb, 3.89471e-03_rb/) kao_mco2( 6, :, 4) = (/ & & 4.42884e-04_rb, 5.08187e-04_rb, 5.83119e-04_rb, 6.69100e-04_rb, 7.67758e-04_rb, & & 8.80963e-04_rb, 1.01086e-03_rb, 1.15991e-03_rb, 1.33094e-03_rb, 1.52718e-03_rb, & & 1.75237e-03_rb, 2.01075e-03_rb, 2.30724e-03_rb, 2.64744e-03_rb, 3.03780e-03_rb, & & 3.48572e-03_rb, 3.99969e-03_rb, 4.58944e-03_rb, 5.26614e-03_rb/) kao_mco2( 7, :, 4) = (/ & & 8.09850e-04_rb, 9.09940e-04_rb, 1.02240e-03_rb, 1.14876e-03_rb, 1.29074e-03_rb, & & 1.45026e-03_rb, 1.62950e-03_rb, 1.83089e-03_rb, 2.05718e-03_rb, 2.31143e-03_rb, & & 2.59710e-03_rb, 2.91808e-03_rb, 3.27873e-03_rb, 3.68395e-03_rb, 4.13926e-03_rb, & & 4.65083e-03_rb, 5.22564e-03_rb, 5.87148e-03_rb, 6.59715e-03_rb/) kao_mco2( 8, :, 4) = (/ & & 3.13265e-03_rb, 3.42454e-03_rb, 3.74362e-03_rb, 4.09243e-03_rb, 4.47375e-03_rb, & & 4.89059e-03_rb, 5.34627e-03_rb, 5.84441e-03_rb, 6.38897e-03_rb, 6.98426e-03_rb, & & 7.63502e-03_rb, 8.34642e-03_rb, 9.12409e-03_rb, 9.97423e-03_rb, 1.09036e-02_rb, & & 1.19195e-02_rb, 1.30301e-02_rb, 1.42442e-02_rb, 1.55714e-02_rb/) kao_mco2( 9, :, 4) = (/ & & 5.71287e-04_rb, 6.51252e-04_rb, 7.42411e-04_rb, 8.46330e-04_rb, 9.64794e-04_rb, & & 1.09984e-03_rb, 1.25379e-03_rb, 1.42929e-03_rb, 1.62935e-03_rb, 1.85742e-03_rb, & & 2.11741e-03_rb, 2.41380e-03_rb, 2.75167e-03_rb, 3.13683e-03_rb, 3.57591e-03_rb, & & 4.07645e-03_rb, 4.64705e-03_rb, 5.29751e-03_rb, 6.03903e-03_rb/) kao_mco2( 1, :, 5) = (/ & & 2.92395e-04_rb, 3.32719e-04_rb, 3.78604e-04_rb, 4.30818e-04_rb, 4.90232e-04_rb, & & 5.57839e-04_rb, 6.34771e-04_rb, 7.22312e-04_rb, 8.21927e-04_rb, 9.35278e-04_rb, & & 1.06426e-03_rb, 1.21104e-03_rb, 1.37805e-03_rb, 1.56810e-03_rb, 1.78435e-03_rb, & & 2.03043e-03_rb, 2.31045e-03_rb, 2.62908e-03_rb, 2.99166e-03_rb/) kao_mco2( 2, :, 5) = (/ & & 3.13069e-04_rb, 3.61343e-04_rb, 4.17061e-04_rb, 4.81371e-04_rb, 5.55597e-04_rb, & & 6.41269e-04_rb, 7.40151e-04_rb, 8.54280e-04_rb, 9.86008e-04_rb, 1.13805e-03_rb, & & 1.31353e-03_rb, 1.51608e-03_rb, 1.74985e-03_rb, 2.01967e-03_rb, 2.33110e-03_rb, & & 2.69055e-03_rb, 3.10543e-03_rb, 3.58427e-03_rb, 4.13696e-03_rb/) kao_mco2( 3, :, 5) = (/ & & 3.06937e-04_rb, 3.57841e-04_rb, 4.17187e-04_rb, 4.86375e-04_rb, 5.67038e-04_rb, & & 6.61078e-04_rb, 7.70714e-04_rb, 8.98532e-04_rb, 1.04755e-03_rb, 1.22128e-03_rb, & & 1.42382e-03_rb, 1.65996e-03_rb, 1.93525e-03_rb, 2.25620e-03_rb, 2.63038e-03_rb, & & 3.06661e-03_rb, 3.57519e-03_rb, 4.16812e-03_rb, 4.85937e-03_rb/) kao_mco2( 4, :, 5) = (/ & & 4.06428e-04_rb, 4.72379e-04_rb, 5.49033e-04_rb, 6.38125e-04_rb, 7.41674e-04_rb, & & 8.62026e-04_rb, 1.00191e-03_rb, 1.16449e-03_rb, 1.35345e-03_rb, 1.57308e-03_rb, & & 1.82834e-03_rb, 2.12503e-03_rb, 2.46986e-03_rb, 2.87064e-03_rb, 3.33647e-03_rb, & & 3.87788e-03_rb, 4.50715e-03_rb, 5.23852e-03_rb, 6.08858e-03_rb/) kao_mco2( 5, :, 5) = (/ & & 6.01967e-04_rb, 6.90414e-04_rb, 7.91856e-04_rb, 9.08204e-04_rb, 1.04165e-03_rb, & & 1.19470e-03_rb, 1.37023e-03_rb, 1.57156e-03_rb, 1.80247e-03_rb, 2.06731e-03_rb, & & 2.37106e-03_rb, 2.71944e-03_rb, 3.11901e-03_rb, 3.57729e-03_rb, 4.10290e-03_rb, & & 4.70574e-03_rb, 5.39716e-03_rb, 6.19017e-03_rb, 7.09969e-03_rb/) kao_mco2( 6, :, 5) = (/ & & 1.11622e-03_rb, 1.25799e-03_rb, 1.41776e-03_rb, 1.59783e-03_rb, 1.80077e-03_rb, & & 2.02947e-03_rb, 2.28723e-03_rb, 2.57773e-03_rb, 2.90512e-03_rb, 3.27408e-03_rb, & & 3.68992e-03_rb, 4.15856e-03_rb, 4.68673e-03_rb, 5.28197e-03_rb, 5.95282e-03_rb, & & 6.70887e-03_rb, 7.56094e-03_rb, 8.52123e-03_rb, 9.60348e-03_rb/) kao_mco2( 7, :, 5) = (/ & & 3.63860e-03_rb, 3.96164e-03_rb, 4.31337e-03_rb, 4.69632e-03_rb, 5.11327e-03_rb, & & 5.56724e-03_rb, 6.06151e-03_rb, 6.59967e-03_rb, 7.18561e-03_rb, 7.82356e-03_rb, & & 8.51816e-03_rb, 9.27443e-03_rb, 1.00978e-02_rb, 1.09943e-02_rb, 1.19705e-02_rb, & & 1.30332e-02_rb, 1.41904e-02_rb, 1.54502e-02_rb, 1.68219e-02_rb/) kao_mco2( 8, :, 5) = (/ & & 5.96957e-03_rb, 6.53049e-03_rb, 7.14412e-03_rb, 7.81541e-03_rb, 8.54977e-03_rb, & & 9.35314e-03_rb, 1.02320e-02_rb, 1.11934e-02_rb, 1.22452e-02_rb, 1.33958e-02_rb, & & 1.46545e-02_rb, 1.60315e-02_rb, 1.75379e-02_rb, 1.91858e-02_rb, 2.09886e-02_rb, & & 2.29608e-02_rb, 2.51182e-02_rb, 2.74784e-02_rb, 3.00604e-02_rb/) kao_mco2( 9, :, 5) = (/ & & 1.19381e-03_rb, 1.33882e-03_rb, 1.50143e-03_rb, 1.68379e-03_rb, 1.88831e-03_rb, & & 2.11767e-03_rb, 2.37488e-03_rb, 2.66333e-03_rb, 2.98683e-03_rb, 3.34961e-03_rb, & & 3.75646e-03_rb, 4.21272e-03_rb, 4.72440e-03_rb, 5.29823e-03_rb, 5.94176e-03_rb, & & 6.66345e-03_rb, 7.47280e-03_rb, 8.38045e-03_rb, 9.39835e-03_rb/) kao_mco2( 1, :, 6) = (/ & & 4.12429e-04_rb, 4.84830e-04_rb, 5.69942e-04_rb, 6.69995e-04_rb, 7.87613e-04_rb, & & 9.25878e-04_rb, 1.08842e-03_rb, 1.27949e-03_rb, 1.50410e-03_rb, 1.76814e-03_rb, & & 2.07854e-03_rb, 2.44343e-03_rb, 2.87237e-03_rb, 3.37662e-03_rb, 3.96938e-03_rb, & & 4.66621e-03_rb, 5.48536e-03_rb, 6.44831e-03_rb, 7.58031e-03_rb/) kao_mco2( 2, :, 6) = (/ & & 6.43498e-04_rb, 7.46132e-04_rb, 8.65134e-04_rb, 1.00312e-03_rb, 1.16311e-03_rb, & & 1.34861e-03_rb, 1.56371e-03_rb, 1.81310e-03_rb, 2.10228e-03_rb, 2.43758e-03_rb, & & 2.82635e-03_rb, 3.27714e-03_rb, 3.79981e-03_rb, 4.40586e-03_rb, 5.10855e-03_rb, & & 5.92333e-03_rb, 6.86806e-03_rb, 7.96346e-03_rb, 9.23357e-03_rb/) kao_mco2( 3, :, 6) = (/ & & 1.11336e-03_rb, 1.26910e-03_rb, 1.44662e-03_rb, 1.64897e-03_rb, 1.87962e-03_rb, & & 2.14254e-03_rb, 2.44224e-03_rb, 2.78385e-03_rb, 3.17325e-03_rb, 3.61712e-03_rb, & & 4.12308e-03_rb, 4.69981e-03_rb, 5.35720e-03_rb, 6.10656e-03_rb, 6.96073e-03_rb, & & 7.93439e-03_rb, 9.04424e-03_rb, 1.03093e-02_rb, 1.17514e-02_rb/) kao_mco2( 4, :, 6) = (/ & & 1.87991e-03_rb, 2.10276e-03_rb, 2.35202e-03_rb, 2.63082e-03_rb, 2.94268e-03_rb, & & 3.29150e-03_rb, 3.68168e-03_rb, 4.11810e-03_rb, 4.60626e-03_rb, 5.15228e-03_rb, & & 5.76303e-03_rb, 6.44617e-03_rb, 7.21030e-03_rb, 8.06500e-03_rb, 9.02102e-03_rb, & & 1.00904e-02_rb, 1.12865e-02_rb, 1.26244e-02_rb, 1.41208e-02_rb/) kao_mco2( 5, :, 6) = (/ & & 3.65848e-03_rb, 4.01372e-03_rb, 4.40346e-03_rb, 4.83104e-03_rb, 5.30015e-03_rb, & & 5.81480e-03_rb, 6.37943e-03_rb, 6.99888e-03_rb, 7.67849e-03_rb, 8.42408e-03_rb, & & 9.24208e-03_rb, 1.01395e-02_rb, 1.11241e-02_rb, 1.22042e-02_rb, 1.33893e-02_rb, & & 1.46894e-02_rb, 1.61158e-02_rb, 1.76806e-02_rb, 1.93975e-02_rb/) kao_mco2( 6, :, 6) = (/ & & 5.38476e-03_rb, 5.85088e-03_rb, 6.35735e-03_rb, 6.90765e-03_rb, 7.50560e-03_rb, & & 8.15530e-03_rb, 8.86124e-03_rb, 9.62829e-03_rb, 1.04617e-02_rb, 1.13673e-02_rb, & & 1.23513e-02_rb, 1.34205e-02_rb, 1.45822e-02_rb, 1.58445e-02_rb, 1.72160e-02_rb, & & 1.87062e-02_rb, 2.03255e-02_rb, 2.20849e-02_rb, 2.39966e-02_rb/) kao_mco2( 7, :, 6) = (/ & & 6.27017e-03_rb, 6.84772e-03_rb, 7.47846e-03_rb, 8.16731e-03_rb, 8.91960e-03_rb, & & 9.74118e-03_rb, 1.06384e-02_rb, 1.16183e-02_rb, 1.26885e-02_rb, 1.38573e-02_rb, & & 1.51336e-02_rb, 1.65276e-02_rb, 1.80500e-02_rb, 1.97125e-02_rb, 2.15283e-02_rb, & & 2.35112e-02_rb, 2.56769e-02_rb, 2.80420e-02_rb, 3.06249e-02_rb/) kao_mco2( 8, :, 6) = (/ & & 9.61932e-03_rb, 1.04802e-02_rb, 1.14182e-02_rb, 1.24401e-02_rb, 1.35534e-02_rb, & & 1.47664e-02_rb, 1.60880e-02_rb, 1.75278e-02_rb, 1.90965e-02_rb, 2.08056e-02_rb, & & 2.26677e-02_rb, 2.46964e-02_rb, 2.69066e-02_rb, 2.93147e-02_rb, 3.19383e-02_rb, & & 3.47967e-02_rb, 3.79110e-02_rb, 4.13039e-02_rb, 4.50005e-02_rb/) kao_mco2( 9, :, 6) = (/ & & 2.37921e-03_rb, 2.64556e-03_rb, 2.94173e-03_rb, 3.27105e-03_rb, 3.63724e-03_rb, & & 4.04442e-03_rb, 4.49718e-03_rb, 5.00064e-03_rb, 5.56045e-03_rb, 6.18293e-03_rb, & & 6.87510e-03_rb, 7.64475e-03_rb, 8.50057e-03_rb, 9.45219e-03_rb, 1.05103e-02_rb, & & 1.16870e-02_rb, 1.29953e-02_rb, 1.44501e-02_rb, 1.60677e-02_rb/) kao_mco2( 1, :, 7) = (/ & & 4.64970e-03_rb, 5.13188e-03_rb, 5.66406e-03_rb, 6.25144e-03_rb, 6.89972e-03_rb, & & 7.61523e-03_rb, 8.40493e-03_rb, 9.27654e-03_rb, 1.02385e-02_rb, 1.13003e-02_rb, & & 1.24721e-02_rb, 1.37655e-02_rb, 1.51930e-02_rb, 1.67685e-02_rb, 1.85075e-02_rb, & & 2.04267e-02_rb, 2.25450e-02_rb, 2.48829e-02_rb, 2.74633e-02_rb/) kao_mco2( 2, :, 7) = (/ & & 6.37148e-03_rb, 6.96805e-03_rb, 7.62046e-03_rb, 8.33397e-03_rb, 9.11428e-03_rb, & & 9.96765e-03_rb, 1.09009e-02_rb, 1.19216e-02_rb, 1.30378e-02_rb, 1.42585e-02_rb, & & 1.55935e-02_rb, 1.70536e-02_rb, 1.86503e-02_rb, 2.03965e-02_rb, 2.23062e-02_rb, & & 2.43948e-02_rb, 2.66789e-02_rb, 2.91768e-02_rb, 3.19086e-02_rb/) kao_mco2( 3, :, 7) = (/ & & 7.79364e-03_rb, 8.48097e-03_rb, 9.22892e-03_rb, 1.00428e-02_rb, 1.09285e-02_rb, & & 1.18923e-02_rb, 1.29411e-02_rb, 1.40825e-02_rb, 1.53244e-02_rb, 1.66759e-02_rb, & & 1.81466e-02_rb, 1.97470e-02_rb, 2.14885e-02_rb, 2.33836e-02_rb, 2.54458e-02_rb, & & 2.76899e-02_rb, 3.01320e-02_rb, 3.27893e-02_rb, 3.56811e-02_rb/) kao_mco2( 4, :, 7) = (/ & & 8.70586e-03_rb, 9.48737e-03_rb, 1.03390e-02_rb, 1.12672e-02_rb, 1.22786e-02_rb, & & 1.33808e-02_rb, 1.45820e-02_rb, 1.58910e-02_rb, 1.73175e-02_rb, 1.88721e-02_rb, & & 2.05662e-02_rb, 2.24124e-02_rb, 2.44243e-02_rb, 2.66169e-02_rb, 2.90062e-02_rb, & & 3.16101e-02_rb, 3.44477e-02_rb, 3.75400e-02_rb, 4.09099e-02_rb/) kao_mco2( 5, :, 7) = (/ & & 9.24510e-03_rb, 1.00865e-02_rb, 1.10045e-02_rb, 1.20061e-02_rb, 1.30988e-02_rb, & & 1.42910e-02_rb, 1.55916e-02_rb, 1.70106e-02_rb, 1.85588e-02_rb, 2.02479e-02_rb, & & 2.20908e-02_rb, 2.41013e-02_rb, 2.62948e-02_rb, 2.86880e-02_rb, 3.12990e-02_rb, & & 3.41476e-02_rb, 3.72555e-02_rb, 4.06462e-02_rb, 4.43455e-02_rb/) kao_mco2( 6, :, 7) = (/ & & 1.09559e-02_rb, 1.19933e-02_rb, 1.31290e-02_rb, 1.43722e-02_rb, 1.57331e-02_rb, & & 1.72229e-02_rb, 1.88537e-02_rb, 2.06390e-02_rb, 2.25933e-02_rb, 2.47327e-02_rb, & & 2.70747e-02_rb, 2.96384e-02_rb, 3.24449e-02_rb, 3.55171e-02_rb, 3.88802e-02_rb, & & 4.25619e-02_rb, 4.65921e-02_rb, 5.10039e-02_rb, 5.58335e-02_rb/) kao_mco2( 7, :, 7) = (/ & & 1.36116e-02_rb, 1.48659e-02_rb, 1.62357e-02_rb, 1.77318e-02_rb, 1.93657e-02_rb, & & 2.11502e-02_rb, 2.30991e-02_rb, 2.52276e-02_rb, 2.75522e-02_rb, 3.00910e-02_rb, & & 3.28638e-02_rb, 3.58921e-02_rb, 3.91995e-02_rb, 4.28116e-02_rb, 4.67565e-02_rb, & & 5.10650e-02_rb, 5.57704e-02_rb, 6.09095e-02_rb, 6.65221e-02_rb/) kao_mco2( 8, :, 7) = (/ & & 1.51783e-02_rb, 1.64551e-02_rb, 1.78392e-02_rb, 1.93399e-02_rb, 2.09667e-02_rb, & & 2.27304e-02_rb, 2.46424e-02_rb, 2.67153e-02_rb, 2.89626e-02_rb, 3.13988e-02_rb, & & 3.40401e-02_rb, 3.69035e-02_rb, 4.00077e-02_rb, 4.33731e-02_rb, 4.70216e-02_rb, & & 5.09770e-02_rb, 5.52651e-02_rb, 5.99139e-02_rb, 6.49538e-02_rb/) kao_mco2( 9, :, 7) = (/ & & 1.00072e-02_rb, 1.08638e-02_rb, 1.17937e-02_rb, 1.28032e-02_rb, 1.38991e-02_rb, & & 1.50888e-02_rb, 1.63803e-02_rb, 1.77824e-02_rb, 1.93045e-02_rb, 2.09568e-02_rb, & & 2.27507e-02_rb, 2.46980e-02_rb, 2.68120e-02_rb, 2.91070e-02_rb, 3.15984e-02_rb, & & 3.43031e-02_rb, 3.72393e-02_rb, 4.04268e-02_rb, 4.38872e-02_rb/) kao_mco2( 1, :, 8) = (/ & & 1.59610e-02_rb, 1.74387e-02_rb, 1.90532e-02_rb, 2.08171e-02_rb, 2.27444e-02_rb, & & 2.48501e-02_rb, 2.71508e-02_rb, 2.96645e-02_rb, 3.24109e-02_rb, 3.54115e-02_rb, & & 3.86900e-02_rb, 4.22720e-02_rb, 4.61856e-02_rb, 5.04616e-02_rb, 5.51334e-02_rb, & & 6.02378e-02_rb, 6.58147e-02_rb, 7.19079e-02_rb, 7.85653e-02_rb/) kao_mco2( 2, :, 8) = (/ & & 1.61961e-02_rb, 1.76986e-02_rb, 1.93405e-02_rb, 2.11348e-02_rb, 2.30955e-02_rb, & & 2.52381e-02_rb, 2.75794e-02_rb, 3.01380e-02_rb, 3.29340e-02_rb, 3.59893e-02_rb, & & 3.93280e-02_rb, 4.29766e-02_rb, 4.69636e-02_rb, 5.13204e-02_rb, 5.60815e-02_rb, & & 6.12843e-02_rb, 6.69697e-02_rb, 7.31826e-02_rb, 7.99718e-02_rb/) kao_mco2( 3, :, 8) = (/ & & 1.72034e-02_rb, 1.88241e-02_rb, 2.05974e-02_rb, 2.25377e-02_rb, 2.46609e-02_rb, & & 2.69841e-02_rb, 2.95261e-02_rb, 3.23076e-02_rb, 3.53511e-02_rb, 3.86813e-02_rb, & & 4.23253e-02_rb, 4.63126e-02_rb, 5.06754e-02_rb, 5.54493e-02_rb, 6.06728e-02_rb, & & 6.63885e-02_rb, 7.26426e-02_rb, 7.94859e-02_rb, 8.69738e-02_rb/) kao_mco2( 4, :, 8) = (/ & & 1.79777e-02_rb, 1.96517e-02_rb, 2.14815e-02_rb, 2.34817e-02_rb, 2.56682e-02_rb, & & 2.80583e-02_rb, 3.06709e-02_rb, 3.35268e-02_rb, 3.66486e-02_rb, 4.00611e-02_rb, & & 4.37914e-02_rb, 4.78690e-02_rb, 5.23262e-02_rb, 5.71985e-02_rb, 6.25245e-02_rb, & & 6.83464e-02_rb, 7.47104e-02_rb, 8.16670e-02_rb, 8.92713e-02_rb/) kao_mco2( 5, :, 8) = (/ & & 2.02540e-02_rb, 2.21214e-02_rb, 2.41610e-02_rb, 2.63887e-02_rb, 2.88218e-02_rb, & & 3.14792e-02_rb, 3.43816e-02_rb, 3.75516e-02_rb, 4.10139e-02_rb, 4.47954e-02_rb, & & 4.89256e-02_rb, 5.34366e-02_rb, 5.83635e-02_rb, 6.37447e-02_rb, 6.96220e-02_rb, & & 7.60413e-02_rb, 8.30523e-02_rb, 9.07098e-02_rb, 9.90734e-02_rb/) kao_mco2( 6, :, 8) = (/ & & 2.19009e-02_rb, 2.38517e-02_rb, 2.59762e-02_rb, 2.82899e-02_rb, 3.08097e-02_rb, & & 3.35540e-02_rb, 3.65427e-02_rb, 3.97976e-02_rb, 4.33424e-02_rb, 4.72030e-02_rb, & & 5.14074e-02_rb, 5.59863e-02_rb, 6.09731e-02_rb, 6.64040e-02_rb, 7.23187e-02_rb, & & 7.87603e-02_rb, 8.57755e-02_rb, 9.34157e-02_rb, 1.01736e-01_rb/) kao_mco2( 7, :, 8) = (/ & & 2.52383e-02_rb, 2.73978e-02_rb, 2.97421e-02_rb, 3.22869e-02_rb, 3.50496e-02_rb, & & 3.80486e-02_rb, 4.13042e-02_rb, 4.48383e-02_rb, 4.86749e-02_rb, 5.28397e-02_rb, & & 5.73610e-02_rb, 6.22690e-02_rb, 6.75970e-02_rb, 7.33810e-02_rb, 7.96598e-02_rb, & & 8.64758e-02_rb, 9.38751e-02_rb, 1.01907e-01_rb, 1.10627e-01_rb/) kao_mco2( 8, :, 8) = (/ & & 3.36506e-02_rb, 3.59288e-02_rb, 3.83613e-02_rb, 4.09584e-02_rb, 4.37313e-02_rb, & & 4.66920e-02_rb, 4.98531e-02_rb, 5.32283e-02_rb, 5.68319e-02_rb, 6.06795e-02_rb, & & 6.47876e-02_rb, 6.91739e-02_rb, 7.38570e-02_rb, 7.88573e-02_rb, 8.41960e-02_rb, & & 8.98962e-02_rb, 9.59824e-02_rb, 1.02481e-01_rb, 1.09419e-01_rb/) kao_mco2( 9, :, 8) = (/ & & 2.15151e-02_rb, 2.34420e-02_rb, 2.55415e-02_rb, 2.78291e-02_rb, 3.03215e-02_rb, & & 3.30372e-02_rb, 3.59961e-02_rb, 3.92200e-02_rb, 4.27326e-02_rb, 4.65598e-02_rb, & & 5.07299e-02_rb, 5.52734e-02_rb, 6.02238e-02_rb, 6.56176e-02_rb, 7.14944e-02_rb, & & 7.78977e-02_rb, 8.48744e-02_rb, 9.24759e-02_rb, 1.00758e-01_rb/) kao_mco2( 1, :, 9) = (/ & & 3.34296e-02_rb, 3.64437e-02_rb, 3.97294e-02_rb, 4.33114e-02_rb, 4.72164e-02_rb, & & 5.14734e-02_rb, 5.61143e-02_rb, 6.11735e-02_rb, 6.66890e-02_rb, 7.27016e-02_rb, & & 7.92564e-02_rb, 8.64022e-02_rb, 9.41922e-02_rb, 1.02685e-01_rb, 1.11943e-01_rb, & & 1.22035e-01_rb, 1.33038e-01_rb, 1.45033e-01_rb, 1.58109e-01_rb/) kao_mco2( 2, :, 9) = (/ & & 3.73946e-02_rb, 4.07543e-02_rb, 4.44160e-02_rb, 4.84066e-02_rb, 5.27558e-02_rb, & & 5.74958e-02_rb, 6.26616e-02_rb, 6.82915e-02_rb, 7.44273e-02_rb, 8.11144e-02_rb, & & 8.84023e-02_rb, 9.63449e-02_rb, 1.05001e-01_rb, 1.14435e-01_rb, 1.24717e-01_rb, & & 1.35922e-01_rb, 1.48135e-01_rb, 1.61444e-01_rb, 1.75949e-01_rb/) kao_mco2( 3, :, 9) = (/ & & 4.24539e-02_rb, 4.61192e-02_rb, 5.01010e-02_rb, 5.44265e-02_rb, 5.91255e-02_rb, & & 6.42302e-02_rb, 6.97756e-02_rb, 7.57998e-02_rb, 8.23442e-02_rb, 8.94535e-02_rb, & & 9.71766e-02_rb, 1.05566e-01_rb, 1.14681e-01_rb, 1.24582e-01_rb, 1.35338e-01_rb, & & 1.47022e-01_rb, 1.59716e-01_rb, 1.73505e-01_rb, 1.88485e-01_rb/) kao_mco2( 4, :, 9) = (/ & & 5.30296e-02_rb, 5.73416e-02_rb, 6.20043e-02_rb, 6.70462e-02_rb, 7.24980e-02_rb, & & 7.83931e-02_rb, 8.47676e-02_rb, 9.16604e-02_rb, 9.91137e-02_rb, 1.07173e-01_rb, & & 1.15888e-01_rb, 1.25311e-01_rb, 1.35501e-01_rb, 1.46519e-01_rb, 1.58433e-01_rb, & & 1.71316e-01_rb, 1.85246e-01_rb, 2.00309e-01_rb, 2.16597e-01_rb/) kao_mco2( 5, :, 9) = (/ & & 6.26111e-02_rb, 6.74018e-02_rb, 7.25591e-02_rb, 7.81111e-02_rb, 8.40878e-02_rb, & & 9.05218e-02_rb, 9.74482e-02_rb, 1.04904e-01_rb, 1.12931e-01_rb, 1.21572e-01_rb, & & 1.30875e-01_rb, 1.40889e-01_rb, 1.51669e-01_rb, 1.63274e-01_rb, 1.75767e-01_rb, & & 1.89216e-01_rb, 2.03694e-01_rb, 2.19279e-01_rb, 2.36058e-01_rb/) kao_mco2( 6, :, 9) = (/ & & 7.59080e-02_rb, 8.13446e-02_rb, 8.71706e-02_rb, 9.34139e-02_rb, 1.00104e-01_rb, & & 1.07274e-01_rb, 1.14957e-01_rb, 1.23190e-01_rb, 1.32013e-01_rb, 1.41468e-01_rb, & & 1.51600e-01_rb, 1.62458e-01_rb, 1.74094e-01_rb, 1.86562e-01_rb, 1.99924e-01_rb, & & 2.14243e-01_rb, 2.29587e-01_rb, 2.46031e-01_rb, 2.63652e-01_rb/) kao_mco2( 7, :, 9) = (/ & & 8.81942e-02_rb, 9.39942e-02_rb, 1.00176e-01_rb, 1.06763e-01_rb, 1.13784e-01_rb, & & 1.21267e-01_rb, 1.29242e-01_rb, 1.37742e-01_rb, 1.46800e-01_rb, 1.56454e-01_rb, & & 1.66743e-01_rb, 1.77708e-01_rb, 1.89395e-01_rb, 2.01850e-01_rb, 2.15124e-01_rb, & & 2.29272e-01_rb, 2.44349e-01_rb, 2.60418e-01_rb, 2.77544e-01_rb/) kao_mco2( 8, :, 9) = (/ & & 6.28535e-02_rb, 6.69314e-02_rb, 7.12740e-02_rb, 7.58982e-02_rb, 8.08225e-02_rb, & & 8.60662e-02_rb, 9.16502e-02_rb, 9.75965e-02_rb, 1.03929e-01_rb, 1.10671e-01_rb, & & 1.17852e-01_rb, 1.25498e-01_rb, 1.33640e-01_rb, 1.42311e-01_rb, 1.51544e-01_rb, & & 1.61376e-01_rb, 1.71846e-01_rb, 1.82996e-01_rb, 1.94868e-01_rb/) kao_mco2( 9, :, 9) = (/ & & 6.39196e-02_rb, 6.86702e-02_rb, 7.37738e-02_rb, 7.92568e-02_rb, 8.51473e-02_rb, & & 9.14756e-02_rb, 9.82742e-02_rb, 1.05578e-01_rb, 1.13425e-01_rb, 1.21855e-01_rb, & & 1.30911e-01_rb, 1.40641e-01_rb, 1.51093e-01_rb, 1.62323e-01_rb, 1.74387e-01_rb, & & 1.87348e-01_rb, 2.01272e-01_rb, 2.16231e-01_rb, 2.32301e-01_rb/) kao_mco2( 1, :,10) = (/ & & 9.44086e-02_rb, 1.02788e-01_rb, 1.11911e-01_rb, 1.21844e-01_rb, 1.32659e-01_rb, & & 1.44434e-01_rb, 1.57253e-01_rb, 1.71211e-01_rb, 1.86407e-01_rb, 2.02952e-01_rb, & & 2.20966e-01_rb, 2.40578e-01_rb, 2.61932e-01_rb, 2.85180e-01_rb, 3.10492e-01_rb, & & 3.38051e-01_rb, 3.68056e-01_rb, 4.00723e-01_rb, 4.36291e-01_rb/) kao_mco2( 2, :,10) = (/ & & 1.29528e-01_rb, 1.39646e-01_rb, 1.50554e-01_rb, 1.62315e-01_rb, 1.74994e-01_rb, & & 1.88664e-01_rb, 2.03401e-01_rb, 2.19290e-01_rb, 2.36419e-01_rb, 2.54887e-01_rb, & & 2.74798e-01_rb, 2.96263e-01_rb, 3.19406e-01_rb, 3.44356e-01_rb, 3.71255e-01_rb, & & 4.00256e-01_rb, 4.31522e-01_rb, 4.65230e-01_rb, 5.01571e-01_rb/) kao_mco2( 3, :,10) = (/ & & 1.52325e-01_rb, 1.62991e-01_rb, 1.74404e-01_rb, 1.86616e-01_rb, 1.99684e-01_rb, & & 2.13666e-01_rb, 2.28628e-01_rb, 2.44637e-01_rb, 2.61767e-01_rb, 2.80096e-01_rb, & & 2.99710e-01_rb, 3.20696e-01_rb, 3.43152e-01_rb, 3.67181e-01_rb, 3.92892e-01_rb, & & 4.20403e-01_rb, 4.49841e-01_rb, 4.81340e-01_rb, 5.15045e-01_rb/) kao_mco2( 4, :,10) = (/ & & 1.59763e-01_rb, 1.70378e-01_rb, 1.81698e-01_rb, 1.93770e-01_rb, 2.06644e-01_rb, & & 2.20373e-01_rb, 2.35015e-01_rb, 2.50629e-01_rb, 2.67281e-01_rb, 2.85039e-01_rb, & & 3.03977e-01_rb, 3.24174e-01_rb, 3.45712e-01_rb, 3.68681e-01_rb, 3.93176e-01_rb, & & 4.19299e-01_rb, 4.47157e-01_rb, 4.76866e-01_rb, 5.08549e-01_rb/) kao_mco2( 5, :,10) = (/ & & 1.79202e-01_rb, 1.91125e-01_rb, 2.03840e-01_rb, 2.17402e-01_rb, 2.31866e-01_rb, & & 2.47292e-01_rb, 2.63744e-01_rb, 2.81291e-01_rb, 3.00005e-01_rb, 3.19964e-01_rb, & & 3.41251e-01_rb, 3.63955e-01_rb, 3.88169e-01_rb, 4.13994e-01_rb, 4.41537e-01_rb, & & 4.70912e-01_rb, 5.02242e-01_rb, 5.35656e-01_rb, 5.71293e-01_rb/) kao_mco2( 6, :,10) = (/ & & 1.66628e-01_rb, 1.76984e-01_rb, 1.87984e-01_rb, 1.99668e-01_rb, 2.12078e-01_rb, & & 2.25259e-01_rb, 2.39259e-01_rb, 2.54129e-01_rb, 2.69924e-01_rb, 2.86700e-01_rb, & & 3.04519e-01_rb, 3.23446e-01_rb, 3.43549e-01_rb, 3.64901e-01_rb, 3.87580e-01_rb, & & 4.11669e-01_rb, 4.37255e-01_rb, 4.64431e-01_rb, 4.93297e-01_rb/) kao_mco2( 7, :,10) = (/ & & 2.03980e-01_rb, 2.17141e-01_rb, 2.31152e-01_rb, 2.46067e-01_rb, 2.61945e-01_rb, & & 2.78847e-01_rb, 2.96839e-01_rb, 3.15993e-01_rb, 3.36382e-01_rb, 3.58087e-01_rb, & & 3.81193e-01_rb, 4.05789e-01_rb, 4.31972e-01_rb, 4.59845e-01_rb, 4.89517e-01_rb, & & 5.21103e-01_rb, 5.54727e-01_rb, 5.90520e-01_rb, 6.28623e-01_rb/) kao_mco2( 8, :,10) = (/ & & 1.96161e-04_rb, 2.07177e-04_rb, 2.18812e-04_rb, 2.31101e-04_rb, 2.44079e-04_rb, & & 2.57787e-04_rb, 2.72264e-04_rb, 2.87554e-04_rb, 3.03703e-04_rb, 3.20758e-04_rb, & & 3.38772e-04_rb, 3.57797e-04_rb, 3.77891e-04_rb, 3.99113e-04_rb, 4.21527e-04_rb, & & 4.45200e-04_rb, 4.70202e-04_rb, 4.96608e-04_rb, 5.24498e-04_rb/) kao_mco2( 9, :,10) = (/ & & 1.76275e-01_rb, 1.88091e-01_rb, 2.00699e-01_rb, 2.14152e-01_rb, 2.28507e-01_rb, & & 2.43824e-01_rb, 2.60168e-01_rb, 2.77607e-01_rb, 2.96216e-01_rb, 3.16071e-01_rb, & & 3.37258e-01_rb, 3.59865e-01_rb, 3.83987e-01_rb, 4.09726e-01_rb, 4.37190e-01_rb, & & 4.66495e-01_rb, 4.97765e-01_rb, 5.31131e-01_rb, 5.66733e-01_rb/) kao_mco2( 1, :,11) = (/ & & 1.99797e-01_rb, 2.14154e-01_rb, 2.29543e-01_rb, 2.46038e-01_rb, 2.63718e-01_rb, & & 2.82669e-01_rb, 3.02981e-01_rb, 3.24753e-01_rb, 3.48090e-01_rb, 3.73104e-01_rb, & & 3.99915e-01_rb, 4.28652e-01_rb, 4.59455e-01_rb, 4.92471e-01_rb, 5.27859e-01_rb, & & 5.65791e-01_rb, 6.06448e-01_rb, 6.50027e-01_rb, 6.96738e-01_rb/) kao_mco2( 2, :,11) = (/ & & 2.20638e-01_rb, 2.35685e-01_rb, 2.51759e-01_rb, 2.68929e-01_rb, 2.87271e-01_rb, & & 3.06863e-01_rb, 3.27791e-01_rb, 3.50146e-01_rb, 3.74026e-01_rb, 3.99535e-01_rb, & & 4.26784e-01_rb, 4.55891e-01_rb, 4.86983e-01_rb, 5.20195e-01_rb, 5.55673e-01_rb, & & 5.93570e-01_rb, 6.34052e-01_rb, 6.77294e-01_rb, 7.23486e-01_rb/) kao_mco2( 3, :,11) = (/ & & 2.62988e-01_rb, 2.80924e-01_rb, 3.00085e-01_rb, 3.20552e-01_rb, 3.42414e-01_rb, & & 3.65768e-01_rb, 3.90715e-01_rb, 4.17363e-01_rb, 4.45829e-01_rb, 4.76237e-01_rb, & & 5.08718e-01_rb, 5.43414e-01_rb, 5.80477e-01_rb, 6.20068e-01_rb, 6.62359e-01_rb, & & 7.07535e-01_rb, 7.55791e-01_rb, 8.07339e-01_rb, 8.62403e-01_rb/) kao_mco2( 4, :,11) = (/ & & 2.43674e-01_rb, 2.59946e-01_rb, 2.77304e-01_rb, 2.95821e-01_rb, 3.15575e-01_rb, & & 3.36647e-01_rb, 3.59127e-01_rb, 3.83108e-01_rb, 4.08691e-01_rb, 4.35981e-01_rb, & & 4.65094e-01_rb, 4.96152e-01_rb, 5.29282e-01_rb, 5.64626e-01_rb, 6.02329e-01_rb, & & 6.42550e-01_rb, 6.85457e-01_rb, 7.31229e-01_rb, 7.80057e-01_rb/) kao_mco2( 5, :,11) = (/ & & 2.23323e-01_rb, 2.37553e-01_rb, 2.52689e-01_rb, 2.68791e-01_rb, 2.85918e-01_rb, & & 3.04136e-01_rb, 3.23515e-01_rb, 3.44129e-01_rb, 3.66057e-01_rb, 3.89381e-01_rb, & & 4.14192e-01_rb, 4.40584e-01_rb, 4.68657e-01_rb, 4.98520e-01_rb, 5.30285e-01_rb, & & 5.64074e-01_rb, 6.00016e-01_rb, 6.38248e-01_rb, 6.78917e-01_rb/) kao_mco2( 6, :,11) = (/ & & 2.83716e-01_rb, 3.02622e-01_rb, 3.22788e-01_rb, 3.44298e-01_rb, 3.67241e-01_rb, & & 3.91713e-01_rb, 4.17816e-01_rb, 4.45658e-01_rb, 4.75356e-01_rb, 5.07033e-01_rb, & & 5.40820e-01_rb, 5.76859e-01_rb, 6.15300e-01_rb, 6.56302e-01_rb, 7.00037e-01_rb, & & 7.46686e-01_rb, 7.96443e-01_rb, 8.49516e-01_rb, 9.06126e-01_rb/) kao_mco2( 7, :,11) = (/ & & 1.00497e-03_rb, 1.06500e-03_rb, 1.12863e-03_rb, 1.19606e-03_rb, 1.26751e-03_rb, & & 1.34323e-03_rb, 1.42348e-03_rb, 1.50852e-03_rb, 1.59864e-03_rb, 1.69414e-03_rb, & & 1.79535e-03_rb, 1.90261e-03_rb, 2.01628e-03_rb, 2.13673e-03_rb, 2.26438e-03_rb, & & 2.39966e-03_rb, 2.54302e-03_rb, 2.69494e-03_rb, 2.85594e-03_rb/) kao_mco2( 8, :,11) = (/ & & 3.22623e-04_rb, 3.39937e-04_rb, 3.58181e-04_rb, 3.77404e-04_rb, 3.97658e-04_rb, & & 4.19000e-04_rb, 4.41487e-04_rb, 4.65180e-04_rb, 4.90146e-04_rb, 5.16451e-04_rb, & & 5.44167e-04_rb, 5.73372e-04_rb, 6.04143e-04_rb, 6.36567e-04_rb, 6.70730e-04_rb, & & 7.06726e-04_rb, 7.44655e-04_rb, 7.84619e-04_rb, 8.26727e-04_rb/) kao_mco2( 9, :,11) = (/ & & 2.23872e-01_rb, 2.38360e-01_rb, 2.53786e-01_rb, 2.70210e-01_rb, 2.87697e-01_rb, & & 3.06316e-01_rb, 3.26140e-01_rb, 3.47247e-01_rb, 3.69720e-01_rb, 3.93647e-01_rb, & & 4.19122e-01_rb, 4.46246e-01_rb, 4.75126e-01_rb, 5.05874e-01_rb, 5.38613e-01_rb, & & 5.73470e-01_rb, 6.10583e-01_rb, 6.50098e-01_rb, 6.92170e-01_rb/) kao_mco2( 1, :,12) = (/ & & 3.52418e-01_rb, 3.76085e-01_rb, 4.01341e-01_rb, 4.28293e-01_rb, 4.57055e-01_rb, & & 4.87749e-01_rb, 5.20504e-01_rb, 5.55458e-01_rb, 5.92760e-01_rb, 6.32567e-01_rb, & & 6.75047e-01_rb, 7.20380e-01_rb, 7.68757e-01_rb, 8.20383e-01_rb, 8.75476e-01_rb, & & 9.34268e-01_rb, 9.97009e-01_rb, 1.06396e+00_rb, 1.13541e+00_rb/) kao_mco2( 2, :,12) = (/ & & 3.38812e-01_rb, 3.61001e-01_rb, 3.84645e-01_rb, 4.09836e-01_rb, 4.36678e-01_rb, & & 4.65278e-01_rb, 4.95750e-01_rb, 5.28219e-01_rb, 5.62814e-01_rb, 5.99674e-01_rb, & & 6.38949e-01_rb, 6.80796e-01_rb, 7.25384e-01_rb, 7.72892e-01_rb, 8.23511e-01_rb, & & 8.77446e-01_rb, 9.34913e-01_rb, 9.96144e-01_rb, 1.06138e+00_rb/) kao_mco2( 3, :,12) = (/ & & 3.44644e-01_rb, 3.66671e-01_rb, 3.90105e-01_rb, 4.15038e-01_rb, 4.41564e-01_rb, & & 4.69785e-01_rb, 4.99810e-01_rb, 5.31754e-01_rb, 5.65740e-01_rb, 6.01897e-01_rb, & & 6.40366e-01_rb, 6.81293e-01_rb, 7.24836e-01_rb, 7.71162e-01_rb, 8.20448e-01_rb, & & 8.72885e-01_rb, 9.28673e-01_rb, 9.88027e-01_rb, 1.05117e+00_rb/) kao_mco2( 4, :,12) = (/ & & 4.20358e-01_rb, 4.47809e-01_rb, 4.77053e-01_rb, 5.08207e-01_rb, 5.41395e-01_rb, & & 5.76750e-01_rb, 6.14414e-01_rb, 6.54538e-01_rb, 6.97282e-01_rb, 7.42818e-01_rb, & & 7.91327e-01_rb, 8.43004e-01_rb, 8.98056e-01_rb, 9.56703e-01_rb, 1.01918e+00_rb, & & 1.08574e+00_rb, 1.15664e+00_rb, 1.23217e+00_rb, 1.31264e+00_rb/) kao_mco2( 5, :,12) = (/ & & 4.42756e-01_rb, 4.72000e-01_rb, 5.03174e-01_rb, 5.36408e-01_rb, 5.71837e-01_rb, & & 6.09606e-01_rb, 6.49870e-01_rb, 6.92793e-01_rb, 7.38551e-01_rb, 7.87331e-01_rb, & & 8.39333e-01_rb, 8.94770e-01_rb, 9.53868e-01_rb, 1.01687e+00_rb, 1.08403e+00_rb, & & 1.15563e+00_rb, 1.23196e+00_rb, 1.31333e+00_rb, 1.40007e+00_rb/) kao_mco2( 6, :,12) = (/ & & 1.53662e-01_rb, 1.63104e-01_rb, 1.73126e-01_rb, 1.83764e-01_rb, 1.95055e-01_rb, & & 2.07040e-01_rb, 2.19762e-01_rb, 2.33265e-01_rb, 2.47598e-01_rb, 2.62811e-01_rb, & & 2.78960e-01_rb, 2.96100e-01_rb, 3.14294e-01_rb, 3.33606e-01_rb, 3.54104e-01_rb, & & 3.75862e-01_rb, 3.98956e-01_rb, 4.23470e-01_rb, 4.49490e-01_rb/) kao_mco2( 7, :,12) = (/ & & 5.41472e-04_rb, 5.65116e-04_rb, 5.89793e-04_rb, 6.15547e-04_rb, 6.42426e-04_rb, & & 6.70479e-04_rb, 6.99757e-04_rb, 7.30313e-04_rb, 7.62203e-04_rb, 7.95486e-04_rb, & & 8.30223e-04_rb, 8.66476e-04_rb, 9.04312e-04_rb, 9.43801e-04_rb, 9.85013e-04_rb, & & 1.02803e-03_rb, 1.07292e-03_rb, 1.11977e-03_rb, 1.16866e-03_rb/) kao_mco2( 8, :,12) = (/ & & 5.94251e-04_rb, 6.17650e-04_rb, 6.41969e-04_rb, 6.67246e-04_rb, 6.93518e-04_rb, & & 7.20824e-04_rb, 7.49206e-04_rb, 7.78705e-04_rb, 8.09366e-04_rb, 8.41234e-04_rb, & & 8.74356e-04_rb, 9.08783e-04_rb, 9.44566e-04_rb, 9.81757e-04_rb, 1.02041e-03_rb, & & 1.06059e-03_rb, 1.10235e-03_rb, 1.14575e-03_rb, 1.19087e-03_rb/) kao_mco2( 9, :,12) = (/ & & 4.21683e-01_rb, 4.49025e-01_rb, 4.78140e-01_rb, 5.09142e-01_rb, 5.42155e-01_rb, & & 5.77309e-01_rb, 6.14741e-01_rb, 6.54601e-01_rb, 6.97046e-01_rb, 7.42242e-01_rb, & & 7.90369e-01_rb, 8.41617e-01_rb, 8.96188e-01_rb, 9.54297e-01_rb, 1.01617e+00_rb, & & 1.08206e+00_rb, 1.15222e+00_rb, 1.22693e+00_rb, 1.30649e+00_rb/) kao_mco2( 1, :,13) = (/ & & 5.61805e-01_rb, 5.98988e-01_rb, 6.38631e-01_rb, 6.80898e-01_rb, 7.25962e-01_rb, & & 7.74009e-01_rb, 8.25236e-01_rb, 8.79853e-01_rb, 9.38085e-01_rb, 1.00017e+00_rb, & & 1.06637e+00_rb, 1.13694e+00_rb, 1.21219e+00_rb, 1.29242e+00_rb, 1.37795e+00_rb, & & 1.46915e+00_rb, 1.56638e+00_rb, 1.67005e+00_rb, 1.78058e+00_rb/) kao_mco2( 2, :,13) = (/ & & 5.55938e-01_rb, 5.91800e-01_rb, 6.29976e-01_rb, 6.70615e-01_rb, 7.13876e-01_rb, & & 7.59927e-01_rb, 8.08949e-01_rb, 8.61133e-01_rb, 9.16683e-01_rb, 9.75817e-01_rb, & & 1.03877e+00_rb, 1.10577e+00_rb, 1.17711e+00_rb, 1.25304e+00_rb, 1.33387e+00_rb, & & 1.41992e+00_rb, 1.51152e+00_rb, 1.60902e+00_rb, 1.71282e+00_rb/) kao_mco2( 3, :,13) = (/ & & 5.94615e-01_rb, 6.33277e-01_rb, 6.74453e-01_rb, 7.18307e-01_rb, 7.65012e-01_rb, & & 8.14753e-01_rb, 8.67729e-01_rb, 9.24149e-01_rb, 9.84238e-01_rb, 1.04823e+00_rb, & & 1.11639e+00_rb, 1.18898e+00_rb, 1.26629e+00_rb, 1.34862e+00_rb, 1.43631e+00_rb, & & 1.52970e+00_rb, 1.62916e+00_rb, 1.73509e+00_rb, 1.84791e+00_rb/) kao_mco2( 4, :,13) = (/ & & 5.48973e-01_rb, 5.84145e-01_rb, 6.21570e-01_rb, 6.61394e-01_rb, 7.03768e-01_rb, & & 7.48858e-01_rb, 7.96836e-01_rb, 8.47889e-01_rb, 9.02212e-01_rb, 9.60015e-01_rb, & & 1.02152e+00_rb, 1.08697e+00_rb, 1.15661e+00_rb, 1.23071e+00_rb, 1.30956e+00_rb, & & 1.39347e+00_rb, 1.48274e+00_rb, 1.57774e+00_rb, 1.67883e+00_rb/) kao_mco2( 5, :,13) = (/ & & 1.49742e-01_rb, 1.59049e-01_rb, 1.68934e-01_rb, 1.79434e-01_rb, 1.90586e-01_rb, & & 2.02432e-01_rb, 2.15013e-01_rb, 2.28377e-01_rb, 2.42571e-01_rb, 2.57648e-01_rb, & & 2.73661e-01_rb, 2.90670e-01_rb, 3.08736e-01_rb, 3.27925e-01_rb, 3.48307e-01_rb, & & 3.69955e-01_rb, 3.92949e-01_rb, 4.17372e-01_rb, 4.43312e-01_rb/) kao_mco2( 6, :,13) = (/ & & 8.81777e-04_rb, 9.16690e-04_rb, 9.52985e-04_rb, 9.90718e-04_rb, 1.02994e-03_rb, & & 1.07072e-03_rb, 1.11312e-03_rb, 1.15719e-03_rb, 1.20301e-03_rb, 1.25064e-03_rb, & & 1.30016e-03_rb, 1.35163e-03_rb, 1.40515e-03_rb, 1.46079e-03_rb, 1.51862e-03_rb, & & 1.57875e-03_rb, 1.64126e-03_rb, 1.70624e-03_rb, 1.77380e-03_rb/) kao_mco2( 7, :,13) = (/ & & 8.84366e-04_rb, 9.20446e-04_rb, 9.57999e-04_rb, 9.97083e-04_rb, 1.03776e-03_rb, & & 1.08010e-03_rb, 1.12417e-03_rb, 1.17003e-03_rb, 1.21777e-03_rb, 1.26745e-03_rb, & & 1.31916e-03_rb, 1.37298e-03_rb, 1.42899e-03_rb, 1.48729e-03_rb, 1.54797e-03_rb, & & 1.61113e-03_rb, 1.67686e-03_rb, 1.74527e-03_rb, 1.81647e-03_rb/) kao_mco2( 8, :,13) = (/ & & 8.92597e-04_rb, 9.33069e-04_rb, 9.75377e-04_rb, 1.01960e-03_rb, 1.06583e-03_rb, & & 1.11416e-03_rb, 1.16468e-03_rb, 1.21749e-03_rb, 1.27269e-03_rb, 1.33040e-03_rb, & & 1.39073e-03_rb, 1.45378e-03_rb, 1.51970e-03_rb, 1.58861e-03_rb, 1.66064e-03_rb, & & 1.73594e-03_rb, 1.81465e-03_rb, 1.89693e-03_rb, 1.98294e-03_rb/) kao_mco2( 9, :,13) = (/ & & 1.46280e-01_rb, 1.55378e-01_rb, 1.65043e-01_rb, 1.75308e-01_rb, 1.86212e-01_rb, & & 1.97794e-01_rb, 2.10097e-01_rb, 2.23164e-01_rb, 2.37045e-01_rb, 2.51788e-01_rb, & & 2.67449e-01_rb, 2.84084e-01_rb, 3.01754e-01_rb, 3.20522e-01_rb, 3.40458e-01_rb, & & 3.61634e-01_rb, 3.84127e-01_rb, 4.08020e-01_rb, 4.33398e-01_rb/) kao_mco2( 1, :,14) = (/ & & 9.20236e-01_rb, 9.80010e-01_rb, 1.04367e+00_rb, 1.11146e+00_rb, 1.18366e+00_rb, & & 1.26054e+00_rb, 1.34242e+00_rb, 1.42962e+00_rb, 1.52248e+00_rb, 1.62137e+00_rb, & & 1.72669e+00_rb, 1.83885e+00_rb, 1.95829e+00_rb, 2.08549e+00_rb, 2.22096e+00_rb, & & 2.36522e+00_rb, 2.51886e+00_rb, 2.68247e+00_rb, 2.85671e+00_rb/) kao_mco2( 2, :,14) = (/ & & 8.39823e-01_rb, 8.95471e-01_rb, 9.54806e-01_rb, 1.01807e+00_rb, 1.08553e+00_rb, & & 1.15746e+00_rb, 1.23416e+00_rb, 1.31593e+00_rb, 1.40313e+00_rb, 1.49610e+00_rb, & & 1.59523e+00_rb, 1.70094e+00_rb, 1.81364e+00_rb, 1.93382e+00_rb, 2.06195e+00_rb, & & 2.19858e+00_rb, 2.34426e+00_rb, 2.49960e+00_rb, 2.66522e+00_rb/) kao_mco2( 3, :,14) = (/ & & 5.39252e-01_rb, 5.73971e-01_rb, 6.10925e-01_rb, 6.50259e-01_rb, 6.92125e-01_rb, & & 7.36686e-01_rb, 7.84117e-01_rb, 8.34601e-01_rb, 8.88336e-01_rb, 9.45530e-01_rb, & & 1.00641e+00_rb, 1.07120e+00_rb, 1.14017e+00_rb, 1.21358e+00_rb, 1.29171e+00_rb, & & 1.37488e+00_rb, 1.46340e+00_rb, 1.55762e+00_rb, 1.65790e+00_rb/) kao_mco2( 4, :,14) = (/ & & 1.14837e-03_rb, 1.19701e-03_rb, 1.24770e-03_rb, 1.30055e-03_rb, 1.35563e-03_rb, & & 1.41305e-03_rb, 1.47289e-03_rb, 1.53528e-03_rb, 1.60030e-03_rb, 1.66808e-03_rb, & & 1.73873e-03_rb, 1.81237e-03_rb, 1.88913e-03_rb, 1.96914e-03_rb, 2.05254e-03_rb, & & 2.13947e-03_rb, 2.23009e-03_rb, 2.32454e-03_rb, 2.42299e-03_rb/) kao_mco2( 5, :,14) = (/ & & 1.14611e-03_rb, 1.19424e-03_rb, 1.24440e-03_rb, 1.29666e-03_rb, 1.35111e-03_rb, & & 1.40786e-03_rb, 1.46698e-03_rb, 1.52859e-03_rb, 1.59279e-03_rb, 1.65968e-03_rb, & & 1.72938e-03_rb, 1.80201e-03_rb, 1.87769e-03_rb, 1.95655e-03_rb, 2.03872e-03_rb, & & 2.12434e-03_rb, 2.21355e-03_rb, 2.30651e-03_rb, 2.40338e-03_rb/) kao_mco2( 6, :,14) = (/ & & 1.14203e-03_rb, 1.18930e-03_rb, 1.23852e-03_rb, 1.28979e-03_rb, 1.34317e-03_rb, & & 1.39877e-03_rb, 1.45666e-03_rb, 1.51695e-03_rb, 1.57974e-03_rb, 1.64513e-03_rb, & & 1.71322e-03_rb, 1.78413e-03_rb, 1.85798e-03_rb, 1.93488e-03_rb, 2.01497e-03_rb, & & 2.09837e-03_rb, 2.18522e-03_rb, 2.27567e-03_rb, 2.36986e-03_rb/) kao_mco2( 7, :,14) = (/ & & 1.11217e-03_rb, 1.15727e-03_rb, 1.20421e-03_rb, 1.25305e-03_rb, 1.30386e-03_rb, & & 1.35674e-03_rb, 1.41177e-03_rb, 1.46902e-03_rb, 1.52860e-03_rb, 1.59059e-03_rb, & & 1.65510e-03_rb, 1.72222e-03_rb, 1.79207e-03_rb, 1.86475e-03_rb, 1.94037e-03_rb, & & 2.01907e-03_rb, 2.10095e-03_rb, 2.18616e-03_rb, 2.27482e-03_rb/) kao_mco2( 8, :,14) = (/ & & 1.21596e-03_rb, 1.25817e-03_rb, 1.30183e-03_rb, 1.34702e-03_rb, 1.39377e-03_rb, & & 1.44214e-03_rb, 1.49219e-03_rb, 1.54398e-03_rb, 1.59757e-03_rb, 1.65302e-03_rb, & & 1.71039e-03_rb, 1.76975e-03_rb, 1.83117e-03_rb, 1.89473e-03_rb, 1.96049e-03_rb, & & 2.02853e-03_rb, 2.09893e-03_rb, 2.17178e-03_rb, 2.24716e-03_rb/) kao_mco2( 9, :,14) = (/ & & 1.14611e-03_rb, 1.19424e-03_rb, 1.24440e-03_rb, 1.29666e-03_rb, 1.35111e-03_rb, & & 1.40786e-03_rb, 1.46698e-03_rb, 1.52859e-03_rb, 1.59279e-03_rb, 1.65968e-03_rb, & & 1.72938e-03_rb, 1.80201e-03_rb, 1.87769e-03_rb, 1.95655e-03_rb, 2.03872e-03_rb, & & 2.12434e-03_rb, 2.21355e-03_rb, 2.30651e-03_rb, 2.40338e-03_rb/) kao_mco2( 1, :,15) = (/ & & 1.29470e+00_rb, 1.37848e+00_rb, 1.46768e+00_rb, 1.56266e+00_rb, 1.66378e+00_rb, & & 1.77145e+00_rb, 1.88609e+00_rb, 2.00814e+00_rb, 2.13809e+00_rb, 2.27645e+00_rb, & & 2.42376e+00_rb, 2.58061e+00_rb, 2.74761e+00_rb, 2.92541e+00_rb, 3.11472e+00_rb, & & 3.31628e+00_rb, 3.53088e+00_rb, 3.75938e+00_rb, 4.00265e+00_rb/) kao_mco2( 2, :,15) = (/ & & 7.23701e-01_rb, 7.68508e-01_rb, 8.16089e-01_rb, 8.66616e-01_rb, 9.20272e-01_rb, & & 9.77250e-01_rb, 1.03775e+00_rb, 1.10201e+00_rb, 1.17024e+00_rb, 1.24269e+00_rb, & & 1.31963e+00_rb, 1.40133e+00_rb, 1.48809e+00_rb, 1.58023e+00_rb, 1.67807e+00_rb, & & 1.78196e+00_rb, 1.89229e+00_rb, 2.00945e+00_rb, 2.13386e+00_rb/) kao_mco2( 3, :,15) = (/ & & 1.81684e-03_rb, 1.85424e-03_rb, 1.89241e-03_rb, 1.93137e-03_rb, 1.97114e-03_rb, & & 2.01172e-03_rb, 2.05313e-03_rb, 2.09540e-03_rb, 2.13854e-03_rb, 2.18257e-03_rb, & & 2.22750e-03_rb, 2.27336e-03_rb, 2.32016e-03_rb, 2.36793e-03_rb, 2.41668e-03_rb, & & 2.46643e-03_rb, 2.51721e-03_rb, 2.56903e-03_rb, 2.62192e-03_rb/) kao_mco2( 4, :,15) = (/ & & 1.84644e-03_rb, 1.88437e-03_rb, 1.92309e-03_rb, 1.96260e-03_rb, 2.00293e-03_rb, & & 2.04408e-03_rb, 2.08608e-03_rb, 2.12894e-03_rb, 2.17268e-03_rb, 2.21732e-03_rb, & & 2.26288e-03_rb, 2.30938e-03_rb, 2.35683e-03_rb, 2.40525e-03_rb, 2.45467e-03_rb, & & 2.50510e-03_rb, 2.55658e-03_rb, 2.60910e-03_rb, 2.66271e-03_rb/) kao_mco2( 5, :,15) = (/ & & 1.88579e-03_rb, 1.92454e-03_rb, 1.96408e-03_rb, 2.00443e-03_rb, 2.04561e-03_rb, & & 2.08764e-03_rb, 2.13054e-03_rb, 2.17431e-03_rb, 2.21898e-03_rb, 2.26457e-03_rb, & & 2.31110e-03_rb, 2.35858e-03_rb, 2.40704e-03_rb, 2.45650e-03_rb, 2.50697e-03_rb, & & 2.55848e-03_rb, 2.61104e-03_rb, 2.66469e-03_rb, 2.71943e-03_rb/) kao_mco2( 6, :,15) = (/ & & 1.95322e-03_rb, 1.99316e-03_rb, 2.03391e-03_rb, 2.07549e-03_rb, 2.11793e-03_rb, & & 2.16123e-03_rb, 2.20542e-03_rb, 2.25051e-03_rb, 2.29652e-03_rb, 2.34347e-03_rb, & & 2.39139e-03_rb, 2.44028e-03_rb, 2.49017e-03_rb, 2.54109e-03_rb, 2.59304e-03_rb, & & 2.64605e-03_rb, 2.70015e-03_rb, 2.75536e-03_rb, 2.81169e-03_rb/) kao_mco2( 7, :,15) = (/ & & 2.13640e-03_rb, 2.17976e-03_rb, 2.22400e-03_rb, 2.26914e-03_rb, 2.31520e-03_rb, & & 2.36219e-03_rb, 2.41013e-03_rb, 2.45905e-03_rb, 2.50896e-03_rb, 2.55988e-03_rb, & & 2.61184e-03_rb, 2.66485e-03_rb, 2.71893e-03_rb, 2.77412e-03_rb, 2.83042e-03_rb, & & 2.88787e-03_rb, 2.94648e-03_rb, 3.00629e-03_rb, 3.06730e-03_rb/) kao_mco2( 8, :,15) = (/ & & 2.17014e-03_rb, 2.21411e-03_rb, 2.25897e-03_rb, 2.30474e-03_rb, 2.35143e-03_rb, & & 2.39908e-03_rb, 2.44769e-03_rb, 2.49728e-03_rb, 2.54788e-03_rb, 2.59950e-03_rb, & & 2.65217e-03_rb, 2.70591e-03_rb, 2.76073e-03_rb, 2.81667e-03_rb, 2.87374e-03_rb, & & 2.93197e-03_rb, 2.99137e-03_rb, 3.05198e-03_rb, 3.11382e-03_rb/) kao_mco2( 9, :,15) = (/ & & 1.88579e-03_rb, 1.92454e-03_rb, 1.96408e-03_rb, 2.00443e-03_rb, 2.04561e-03_rb, & & 2.08764e-03_rb, 2.13054e-03_rb, 2.17431e-03_rb, 2.21898e-03_rb, 2.26457e-03_rb, & & 2.31110e-03_rb, 2.35858e-03_rb, 2.40704e-03_rb, 2.45650e-03_rb, 2.50697e-03_rb, & & 2.55848e-03_rb, 2.61104e-03_rb, 2.66469e-03_rb, 2.71943e-03_rb/) kao_mco2( 1, :,16) = (/ & & 1.48989e+00_rb, 1.58377e+00_rb, 1.68356e+00_rb, 1.78964e+00_rb, 1.90241e+00_rb, & & 2.02228e+00_rb, 2.14971e+00_rb, 2.28516e+00_rb, 2.42915e+00_rb, 2.58221e+00_rb, & & 2.74492e+00_rb, 2.91788e+00_rb, 3.10174e+00_rb, 3.29718e+00_rb, 3.50494e+00_rb, & & 3.72578e+00_rb, 3.96055e+00_rb, 4.21010e+00_rb, 4.47538e+00_rb/) kao_mco2( 2, :,16) = (/ & & 2.10609e-03_rb, 2.14759e-03_rb, 2.18992e-03_rb, 2.23307e-03_rb, 2.27708e-03_rb, & & 2.32196e-03_rb, 2.36771e-03_rb, 2.41438e-03_rb, 2.46196e-03_rb, 2.51047e-03_rb, & & 2.55995e-03_rb, 2.61040e-03_rb, 2.66184e-03_rb, 2.71430e-03_rb, 2.76779e-03_rb, & & 2.82234e-03_rb, 2.87796e-03_rb, 2.93467e-03_rb, 2.99251e-03_rb/) kao_mco2( 3, :,16) = (/ & & 2.10609e-03_rb, 2.14759e-03_rb, 2.18992e-03_rb, 2.23307e-03_rb, 2.27708e-03_rb, & & 2.32196e-03_rb, 2.36771e-03_rb, 2.41438e-03_rb, 2.46196e-03_rb, 2.51047e-03_rb, & & 2.55995e-03_rb, 2.61040e-03_rb, 2.66184e-03_rb, 2.71430e-03_rb, 2.76779e-03_rb, & & 2.82234e-03_rb, 2.87796e-03_rb, 2.93467e-03_rb, 2.99251e-03_rb/) kao_mco2( 4, :,16) = (/ & & 2.10609e-03_rb, 2.14759e-03_rb, 2.18992e-03_rb, 2.23307e-03_rb, 2.27708e-03_rb, & & 2.32196e-03_rb, 2.36771e-03_rb, 2.41438e-03_rb, 2.46196e-03_rb, 2.51047e-03_rb, & & 2.55995e-03_rb, 2.61040e-03_rb, 2.66184e-03_rb, 2.71430e-03_rb, 2.76779e-03_rb, & & 2.82234e-03_rb, 2.87796e-03_rb, 2.93467e-03_rb, 2.99251e-03_rb/) kao_mco2( 5, :,16) = (/ & & 2.10609e-03_rb, 2.14759e-03_rb, 2.18992e-03_rb, 2.23307e-03_rb, 2.27708e-03_rb, & & 2.32196e-03_rb, 2.36771e-03_rb, 2.41438e-03_rb, 2.46196e-03_rb, 2.51047e-03_rb, & & 2.55995e-03_rb, 2.61040e-03_rb, 2.66184e-03_rb, 2.71430e-03_rb, 2.76779e-03_rb, & & 2.82234e-03_rb, 2.87796e-03_rb, 2.93467e-03_rb, 2.99251e-03_rb/) kao_mco2( 6, :,16) = (/ & & 2.10609e-03_rb, 2.14759e-03_rb, 2.18992e-03_rb, 2.23307e-03_rb, 2.27708e-03_rb, & & 2.32196e-03_rb, 2.36771e-03_rb, 2.41438e-03_rb, 2.46196e-03_rb, 2.51047e-03_rb, & & 2.55995e-03_rb, 2.61040e-03_rb, 2.66184e-03_rb, 2.71430e-03_rb, 2.76779e-03_rb, & & 2.82234e-03_rb, 2.87796e-03_rb, 2.93467e-03_rb, 2.99251e-03_rb/) kao_mco2( 7, :,16) = (/ & & 2.09970e-03_rb, 2.14101e-03_rb, 2.18312e-03_rb, 2.22606e-03_rb, 2.26985e-03_rb, & & 2.31450e-03_rb, 2.36003e-03_rb, 2.40645e-03_rb, 2.45379e-03_rb, 2.50205e-03_rb, & & 2.55127e-03_rb, 2.60146e-03_rb, 2.65263e-03_rb, 2.70481e-03_rb, 2.75801e-03_rb, & & 2.81226e-03_rb, 2.86758e-03_rb, 2.92399e-03_rb, 2.98150e-03_rb/) kao_mco2( 8, :,16) = (/ & & 2.09970e-03_rb, 2.14101e-03_rb, 2.18312e-03_rb, 2.22606e-03_rb, 2.26985e-03_rb, & & 2.31450e-03_rb, 2.36003e-03_rb, 2.40645e-03_rb, 2.45379e-03_rb, 2.50205e-03_rb, & & 2.55127e-03_rb, 2.60146e-03_rb, 2.65263e-03_rb, 2.70481e-03_rb, 2.75801e-03_rb, & & 2.81226e-03_rb, 2.86758e-03_rb, 2.92399e-03_rb, 2.98150e-03_rb/) kao_mco2( 9, :,16) = (/ & & 2.10609e-03_rb, 2.14759e-03_rb, 2.18992e-03_rb, 2.23307e-03_rb, 2.27708e-03_rb, & & 2.32196e-03_rb, 2.36771e-03_rb, 2.41438e-03_rb, 2.46196e-03_rb, 2.51047e-03_rb, & & 2.55995e-03_rb, 2.61040e-03_rb, 2.66184e-03_rb, 2.71430e-03_rb, 2.76779e-03_rb, & & 2.82234e-03_rb, 2.87796e-03_rb, 2.93467e-03_rb, 2.99251e-03_rb/) kao_mco( 1, :, 1) = (/ & & 4.58355e-01_rb, 4.47074e-01_rb, 4.36070e-01_rb, 4.25337e-01_rb, 4.14868e-01_rb, & & 4.04657e-01_rb, 3.94697e-01_rb, 3.84982e-01_rb, 3.75506e-01_rb, 3.66264e-01_rb, & & 3.57249e-01_rb, 3.48456e-01_rb, 3.39879e-01_rb, 3.31514e-01_rb, 3.23354e-01_rb, & & 3.15395e-01_rb, 3.07632e-01_rb, 3.00061e-01_rb, 2.92675e-01_rb/) kao_mco( 2, :, 1) = (/ & & 7.03080e-01_rb, 6.84132e-01_rb, 6.65696e-01_rb, 6.47756e-01_rb, 6.30300e-01_rb, & & 6.13314e-01_rb, 5.96786e-01_rb, 5.80703e-01_rb, 5.65053e-01_rb, 5.49826e-01_rb, & & 5.35009e-01_rb, 5.20591e-01_rb, 5.06561e-01_rb, 4.92910e-01_rb, 4.79627e-01_rb, & & 4.66701e-01_rb, 4.54124e-01_rb, 4.41886e-01_rb, 4.29978e-01_rb/) kao_mco( 3, :, 1) = (/ & & 8.53018e-01_rb, 8.29537e-01_rb, 8.06703e-01_rb, 7.84497e-01_rb, 7.62903e-01_rb, & & 7.41903e-01_rb, 7.21481e-01_rb, 7.01621e-01_rb, 6.82307e-01_rb, 6.63526e-01_rb, & & 6.45261e-01_rb, 6.27499e-01_rb, 6.10226e-01_rb, 5.93429e-01_rb, 5.77094e-01_rb, & & 5.61208e-01_rb, 5.45760e-01_rb, 5.30737e-01_rb, 5.16128e-01_rb/) kao_mco( 4, :, 1) = (/ & & 9.58866e-01_rb, 9.31881e-01_rb, 9.05654e-01_rb, 8.80166e-01_rb, 8.55395e-01_rb, & & 8.31321e-01_rb, 8.07925e-01_rb, 7.85187e-01_rb, 7.63089e-01_rb, 7.41613e-01_rb, & & 7.20742e-01_rb, 7.00457e-01_rb, 6.80744e-01_rb, 6.61586e-01_rb, 6.42966e-01_rb, & & 6.24871e-01_rb, 6.07285e-01_rb, 5.90194e-01_rb, 5.73584e-01_rb/) kao_mco( 5, :, 1) = (/ & & 1.07140e+00_rb, 1.04056e+00_rb, 1.01061e+00_rb, 9.81521e-01_rb, 9.53269e-01_rb, & & 9.25829e-01_rb, 8.99180e-01_rb, 8.73297e-01_rb, 8.48160e-01_rb, 8.23746e-01_rb, & & 8.00035e-01_rb, 7.77006e-01_rb, 7.54641e-01_rb, 7.32919e-01_rb, 7.11822e-01_rb, & & 6.91333e-01_rb, 6.71433e-01_rb, 6.52106e-01_rb, 6.33336e-01_rb/) kao_mco( 6, :, 1) = (/ & & 1.21046e+00_rb, 1.17478e+00_rb, 1.14015e+00_rb, 1.10655e+00_rb, 1.07393e+00_rb, & & 1.04228e+00_rb, 1.01156e+00_rb, 9.81740e-01_rb, 9.52803e-01_rb, 9.24720e-01_rb, & & 8.97463e-01_rb, 8.71011e-01_rb, 8.45338e-01_rb, 8.20422e-01_rb, 7.96240e-01_rb, & & 7.72771e-01_rb, 7.49993e-01_rb, 7.27887e-01_rb, 7.06433e-01_rb/) kao_mco( 7, :, 1) = (/ & & 1.57730e+00_rb, 1.52919e+00_rb, 1.48255e+00_rb, 1.43733e+00_rb, 1.39349e+00_rb, & & 1.35099e+00_rb, 1.30978e+00_rb, 1.26983e+00_rb, 1.23110e+00_rb, 1.19355e+00_rb, & & 1.15715e+00_rb, 1.12186e+00_rb, 1.08764e+00_rb, 1.05446e+00_rb, 1.02230e+00_rb, & & 9.91121e-01_rb, 9.60890e-01_rb, 9.31583e-01_rb, 9.03169e-01_rb/) kao_mco( 8, :, 1) = (/ & & 2.43678e+00_rb, 2.36595e+00_rb, 2.29719e+00_rb, 2.23042e+00_rb, 2.16560e+00_rb, & & 2.10266e+00_rb, 2.04154e+00_rb, 1.98221e+00_rb, 1.92460e+00_rb, 1.86866e+00_rb, & & 1.81435e+00_rb, 1.76162e+00_rb, 1.71042e+00_rb, 1.66070e+00_rb, 1.61244e+00_rb, & & 1.56557e+00_rb, 1.52007e+00_rb, 1.47589e+00_rb, 1.43300e+00_rb/) kao_mco( 9, :, 1) = (/ & & 9.66296e-01_rb, 9.39903e-01_rb, 9.14232e-01_rb, 8.89262e-01_rb, 8.64973e-01_rb, & & 8.41348e-01_rb, 8.18369e-01_rb, 7.96017e-01_rb, 7.74275e-01_rb, 7.53128e-01_rb, & & 7.32558e-01_rb, 7.12549e-01_rb, 6.93088e-01_rb, 6.74157e-01_rb, 6.55744e-01_rb, & & 6.37834e-01_rb, 6.20413e-01_rb, 6.03468e-01_rb, 5.86985e-01_rb/) kao_mco( 1, :, 2) = (/ & & 1.15047e+00_rb, 1.12127e+00_rb, 1.09281e+00_rb, 1.06507e+00_rb, 1.03804e+00_rb, & & 1.01169e+00_rb, 9.86010e-01_rb, 9.60983e-01_rb, 9.36591e-01_rb, 9.12818e-01_rb, & & 8.89649e-01_rb, 8.67067e-01_rb, 8.45059e-01_rb, 8.23610e-01_rb, 8.02705e-01_rb, & & 7.82330e-01_rb, 7.62473e-01_rb, 7.43119e-01_rb, 7.24257e-01_rb/) kao_mco( 2, :, 2) = (/ & & 1.43243e+00_rb, 1.39430e+00_rb, 1.35719e+00_rb, 1.32106e+00_rb, 1.28590e+00_rb, & & 1.25167e+00_rb, 1.21836e+00_rb, 1.18593e+00_rb, 1.15436e+00_rb, 1.12364e+00_rb, & & 1.09373e+00_rb, 1.06462e+00_rb, 1.03628e+00_rb, 1.00870e+00_rb, 9.81848e-01_rb, & & 9.55714e-01_rb, 9.30275e-01_rb, 9.05514e-01_rb, 8.81412e-01_rb/) kao_mco( 3, :, 2) = (/ & & 1.61389e+00_rb, 1.56911e+00_rb, 1.52556e+00_rb, 1.48323e+00_rb, 1.44207e+00_rb, & & 1.40205e+00_rb, 1.36314e+00_rb, 1.32531e+00_rb, 1.28854e+00_rb, 1.25278e+00_rb, & & 1.21801e+00_rb, 1.18421e+00_rb, 1.15135e+00_rb, 1.11940e+00_rb, 1.08834e+00_rb, & & 1.05814e+00_rb, 1.02877e+00_rb, 1.00022e+00_rb, 9.72466e-01_rb/) kao_mco( 4, :, 2) = (/ & & 1.78458e+00_rb, 1.73440e+00_rb, 1.68564e+00_rb, 1.63825e+00_rb, 1.59219e+00_rb, & & 1.54742e+00_rb, 1.50391e+00_rb, 1.46163e+00_rb, 1.42053e+00_rb, 1.38059e+00_rb, & & 1.34178e+00_rb, 1.30405e+00_rb, 1.26739e+00_rb, 1.23175e+00_rb, 1.19712e+00_rb, & & 1.16346e+00_rb, 1.13075e+00_rb, 1.09896e+00_rb, 1.06806e+00_rb/) kao_mco( 5, :, 2) = (/ & & 1.92622e+00_rb, 1.87172e+00_rb, 1.81876e+00_rb, 1.76730e+00_rb, 1.71730e+00_rb, & & 1.66871e+00_rb, 1.62150e+00_rb, 1.57562e+00_rb, 1.53104e+00_rb, 1.48772e+00_rb, & & 1.44563e+00_rb, 1.40473e+00_rb, 1.36498e+00_rb, 1.32636e+00_rb, 1.28883e+00_rb, & & 1.25237e+00_rb, 1.21693e+00_rb, 1.18250e+00_rb, 1.14905e+00_rb/) kao_mco( 6, :, 2) = (/ & & 2.23194e+00_rb, 2.16782e+00_rb, 2.10554e+00_rb, 2.04505e+00_rb, 1.98630e+00_rb, & & 1.92924e+00_rb, 1.87381e+00_rb, 1.81998e+00_rb, 1.76770e+00_rb, 1.71691e+00_rb, & & 1.66759e+00_rb, 1.61968e+00_rb, 1.57315e+00_rb, 1.52796e+00_rb, 1.48406e+00_rb, & & 1.44143e+00_rb, 1.40002e+00_rb, 1.35980e+00_rb, 1.32073e+00_rb/) kao_mco( 7, :, 2) = (/ & & 2.64692e+00_rb, 2.57290e+00_rb, 2.50096e+00_rb, 2.43103e+00_rb, 2.36305e+00_rb, & & 2.29697e+00_rb, 2.23275e+00_rb, 2.17031e+00_rb, 2.10963e+00_rb, 2.05064e+00_rb, & & 1.99330e+00_rb, 1.93756e+00_rb, 1.88338e+00_rb, 1.83072e+00_rb, 1.77953e+00_rb, & & 1.72977e+00_rb, 1.68140e+00_rb, 1.63438e+00_rb, 1.58868e+00_rb/) kao_mco( 8, :, 2) = (/ & & 2.86812e+00_rb, 2.80121e+00_rb, 2.73586e+00_rb, 2.67204e+00_rb, 2.60970e+00_rb, & & 2.54882e+00_rb, 2.48936e+00_rb, 2.43129e+00_rb, 2.37457e+00_rb, 2.31917e+00_rb, & & 2.26507e+00_rb, 2.21223e+00_rb, 2.16062e+00_rb, 2.11022e+00_rb, 2.06099e+00_rb, & & 2.01291e+00_rb, 1.96595e+00_rb, 1.92009e+00_rb, 1.87529e+00_rb/) kao_mco( 9, :, 2) = (/ & & 1.25243e+00_rb, 1.22790e+00_rb, 1.20385e+00_rb, 1.18027e+00_rb, 1.15716e+00_rb, & & 1.13449e+00_rb, 1.11227e+00_rb, 1.09049e+00_rb, 1.06913e+00_rb, 1.04819e+00_rb, & & 1.02766e+00_rb, 1.00754e+00_rb, 9.87804e-01_rb, 9.68457e-01_rb, 9.49490e-01_rb, & & 9.30894e-01_rb, 9.12662e-01_rb, 8.94787e-01_rb, 8.77263e-01_rb/) kao_mco( 1, :, 3) = (/ & & 2.55598e+00_rb, 2.48729e+00_rb, 2.42045e+00_rb, 2.35541e+00_rb, 2.29211e+00_rb, & & 2.23052e+00_rb, 2.17058e+00_rb, 2.11225e+00_rb, 2.05549e+00_rb, 2.00025e+00_rb, & & 1.94650e+00_rb, 1.89419e+00_rb, 1.84329e+00_rb, 1.79376e+00_rb, 1.74555e+00_rb, & & 1.69865e+00_rb, 1.65300e+00_rb, 1.60858e+00_rb, 1.56535e+00_rb/) kao_mco( 2, :, 3) = (/ & & 2.93113e+00_rb, 2.85257e+00_rb, 2.77612e+00_rb, 2.70172e+00_rb, 2.62932e+00_rb, & & 2.55885e+00_rb, 2.49028e+00_rb, 2.42354e+00_rb, 2.35859e+00_rb, 2.29538e+00_rb, & & 2.23386e+00_rb, 2.17400e+00_rb, 2.11573e+00_rb, 2.05903e+00_rb, 2.00385e+00_rb, & & 1.95015e+00_rb, 1.89788e+00_rb, 1.84702e+00_rb, 1.79752e+00_rb/) kao_mco( 3, :, 3) = (/ & & 3.26626e+00_rb, 3.18025e+00_rb, 3.09651e+00_rb, 3.01497e+00_rb, 2.93558e+00_rb, & & 2.85828e+00_rb, 2.78302e+00_rb, 2.70973e+00_rb, 2.63838e+00_rb, 2.56891e+00_rb, & & 2.50126e+00_rb, 2.43540e+00_rb, 2.37127e+00_rb, 2.30883e+00_rb, 2.24803e+00_rb, & & 2.18883e+00_rb, 2.13120e+00_rb, 2.07508e+00_rb, 2.02044e+00_rb/) kao_mco( 4, :, 3) = (/ & & 3.65895e+00_rb, 3.56418e+00_rb, 3.47187e+00_rb, 3.38194e+00_rb, 3.29435e+00_rb, & & 3.20903e+00_rb, 3.12591e+00_rb, 3.04495e+00_rb, 2.96608e+00_rb, 2.88926e+00_rb, & & 2.81443e+00_rb, 2.74153e+00_rb, 2.67053e+00_rb, 2.60136e+00_rb, 2.53398e+00_rb, & & 2.46835e+00_rb, 2.40442e+00_rb, 2.34214e+00_rb, 2.28148e+00_rb/) kao_mco( 5, :, 3) = (/ & & 4.13692e+00_rb, 4.03459e+00_rb, 3.93479e+00_rb, 3.83746e+00_rb, 3.74254e+00_rb, & & 3.64997e+00_rb, 3.55968e+00_rb, 3.47163e+00_rb, 3.38576e+00_rb, 3.30201e+00_rb, & & 3.22034e+00_rb, 3.14068e+00_rb, 3.06299e+00_rb, 2.98723e+00_rb, 2.91334e+00_rb, & & 2.84128e+00_rb, 2.77100e+00_rb, 2.70246e+00_rb, 2.63561e+00_rb/) kao_mco( 6, :, 3) = (/ & & 4.42856e+00_rb, 4.32480e+00_rb, 4.22348e+00_rb, 4.12453e+00_rb, 4.02790e+00_rb, & & 3.93353e+00_rb, 3.84137e+00_rb, 3.75137e+00_rb, 3.66348e+00_rb, 3.57765e+00_rb, & & 3.49383e+00_rb, 3.41198e+00_rb, 3.33204e+00_rb, 3.25397e+00_rb, 3.17774e+00_rb, & & 3.10329e+00_rb, 3.03058e+00_rb, 2.95958e+00_rb, 2.89024e+00_rb/) kao_mco( 7, :, 3) = (/ & & 4.31306e+00_rb, 4.21750e+00_rb, 4.12406e+00_rb, 4.03268e+00_rb, 3.94333e+00_rb, & & 3.85596e+00_rb, 3.77053e+00_rb, 3.68699e+00_rb, 3.60530e+00_rb, 3.52542e+00_rb, & & 3.44731e+00_rb, 3.37093e+00_rb, 3.29624e+00_rb, 3.22321e+00_rb, 3.15179e+00_rb, & & 3.08196e+00_rb, 3.01368e+00_rb, 2.94691e+00_rb, 2.88161e+00_rb/) kao_mco( 8, :, 3) = (/ & & 4.38922e+00_rb, 4.32180e+00_rb, 4.25543e+00_rb, 4.19007e+00_rb, 4.12571e+00_rb, & & 4.06234e+00_rb, 3.99995e+00_rb, 3.93851e+00_rb, 3.87802e+00_rb, 3.81846e+00_rb, & & 3.75981e+00_rb, 3.70206e+00_rb, 3.64520e+00_rb, 3.58922e+00_rb, 3.53409e+00_rb, & & 3.47981e+00_rb, 3.42636e+00_rb, 3.37374e+00_rb, 3.32192e+00_rb/) kao_mco( 9, :, 3) = (/ & & 1.56810e+00_rb, 1.54211e+00_rb, 1.51654e+00_rb, 1.49139e+00_rb, 1.46667e+00_rb, & & 1.44235e+00_rb, 1.41844e+00_rb, 1.39492e+00_rb, 1.37179e+00_rb, 1.34905e+00_rb, & & 1.32668e+00_rb, 1.30469e+00_rb, 1.28306e+00_rb, 1.26178e+00_rb, 1.24086e+00_rb, & & 1.22029e+00_rb, 1.20006e+00_rb, 1.18016e+00_rb, 1.16059e+00_rb/) kao_mco( 1, :, 4) = (/ & & 6.58275e+00_rb, 6.43026e+00_rb, 6.28130e+00_rb, 6.13579e+00_rb, 5.99365e+00_rb, & & 5.85481e+00_rb, 5.71918e+00_rb, 5.58669e+00_rb, 5.45727e+00_rb, 5.33085e+00_rb, & & 5.20736e+00_rb, 5.08673e+00_rb, 4.96889e+00_rb, 4.85379e+00_rb, 4.74135e+00_rb, & & 4.63151e+00_rb, 4.52422e+00_rb, 4.41942e+00_rb, 4.31704e+00_rb/) kao_mco( 2, :, 4) = (/ & & 6.59883e+00_rb, 6.45139e+00_rb, 6.30725e+00_rb, 6.16633e+00_rb, 6.02855e+00_rb, & & 5.89386e+00_rb, 5.76217e+00_rb, 5.63342e+00_rb, 5.50756e+00_rb, 5.38450e+00_rb, & & 5.26419e+00_rb, 5.14657e+00_rb, 5.03158e+00_rb, 4.91916e+00_rb, 4.80925e+00_rb, & & 4.70180e+00_rb, 4.59675e+00_rb, 4.49404e+00_rb, 4.39363e+00_rb/) kao_mco( 3, :, 4) = (/ & & 6.58521e+00_rb, 6.44452e+00_rb, 6.30683e+00_rb, 6.17209e+00_rb, 6.04023e+00_rb, & & 5.91118e+00_rb, 5.78489e+00_rb, 5.66130e+00_rb, 5.54034e+00_rb, 5.42198e+00_rb, & & 5.30614e+00_rb, 5.19277e+00_rb, 5.08183e+00_rb, 4.97326e+00_rb, 4.86701e+00_rb, & & 4.76303e+00_rb, 4.66127e+00_rb, 4.56168e+00_rb, 4.46422e+00_rb/) kao_mco( 4, :, 4) = (/ & & 6.33742e+00_rb, 6.20870e+00_rb, 6.08260e+00_rb, 5.95905e+00_rb, 5.83802e+00_rb, & & 5.71945e+00_rb, 5.60328e+00_rb, 5.48947e+00_rb, 5.37798e+00_rb, 5.26875e+00_rb, & & 5.16174e+00_rb, 5.05690e+00_rb, 4.95419e+00_rb, 4.85357e+00_rb, 4.75499e+00_rb, & & 4.65841e+00_rb, 4.56379e+00_rb, 4.47110e+00_rb, 4.38029e+00_rb/) kao_mco( 5, :, 4) = (/ & & 5.99732e+00_rb, 5.88459e+00_rb, 5.77398e+00_rb, 5.66545e+00_rb, 5.55896e+00_rb, & & 5.45447e+00_rb, 5.35194e+00_rb, 5.25134e+00_rb, 5.15263e+00_rb, 5.05578e+00_rb, & & 4.96075e+00_rb, 4.86750e+00_rb, 4.77601e+00_rb, 4.68623e+00_rb, 4.59815e+00_rb, & & 4.51171e+00_rb, 4.42691e+00_rb, 4.34370e+00_rb, 4.26205e+00_rb/) kao_mco( 6, :, 4) = (/ & & 5.74529e+00_rb, 5.65249e+00_rb, 5.56119e+00_rb, 5.47136e+00_rb, 5.38299e+00_rb, & & 5.29604e+00_rb, 5.21049e+00_rb, 5.12633e+00_rb, 5.04353e+00_rb, 4.96206e+00_rb, & & 4.88191e+00_rb, 4.80306e+00_rb, 4.72547e+00_rb, 4.64915e+00_rb, 4.57405e+00_rb, & & 4.50017e+00_rb, 4.42748e+00_rb, 4.35596e+00_rb, 4.28560e+00_rb/) kao_mco( 7, :, 4) = (/ & & 5.87251e+00_rb, 5.79956e+00_rb, 5.72753e+00_rb, 5.65638e+00_rb, 5.58613e+00_rb, & & 5.51674e+00_rb, 5.44822e+00_rb, 5.38054e+00_rb, 5.31371e+00_rb, 5.24771e+00_rb, & & 5.18253e+00_rb, 5.11815e+00_rb, 5.05458e+00_rb, 4.99180e+00_rb, 4.92979e+00_rb, & & 4.86856e+00_rb, 4.80809e+00_rb, 4.74837e+00_rb, 4.68939e+00_rb/) kao_mco( 8, :, 4) = (/ & & 5.68503e+00_rb, 5.62827e+00_rb, 5.57207e+00_rb, 5.51644e+00_rb, 5.46136e+00_rb, & & 5.40684e+00_rb, 5.35285e+00_rb, 5.29941e+00_rb, 5.24650e+00_rb, 5.19412e+00_rb, & & 5.14226e+00_rb, 5.09092e+00_rb, 5.04009e+00_rb, 4.98977e+00_rb, 4.93995e+00_rb, & & 4.89063e+00_rb, 4.84180e+00_rb, 4.79346e+00_rb, 4.74560e+00_rb/) kao_mco( 9, :, 4) = (/ & & 2.69278e+00_rb, 2.65058e+00_rb, 2.60903e+00_rb, 2.56814e+00_rb, 2.52789e+00_rb, & & 2.48827e+00_rb, 2.44927e+00_rb, 2.41088e+00_rb, 2.37310e+00_rb, 2.33590e+00_rb, & & 2.29929e+00_rb, 2.26325e+00_rb, 2.22778e+00_rb, 2.19286e+00_rb, 2.15849e+00_rb, & & 2.12466e+00_rb, 2.09136e+00_rb, 2.05859e+00_rb, 2.02632e+00_rb/) kao_mco( 1, :, 5) = (/ & & 9.12231e+00_rb, 9.00052e+00_rb, 8.88036e+00_rb, 8.76180e+00_rb, 8.64482e+00_rb, & & 8.52941e+00_rb, 8.41553e+00_rb, 8.30318e+00_rb, 8.19233e+00_rb, 8.08295e+00_rb, & & 7.97504e+00_rb, 7.86857e+00_rb, 7.76352e+00_rb, 7.65987e+00_rb, 7.55760e+00_rb, & & 7.45671e+00_rb, 7.35715e+00_rb, 7.25893e+00_rb, 7.16202e+00_rb/) kao_mco( 2, :, 5) = (/ & & 8.37315e+00_rb, 8.27808e+00_rb, 8.18410e+00_rb, 8.09118e+00_rb, 7.99931e+00_rb, & & 7.90849e+00_rb, 7.81871e+00_rb, 7.72994e+00_rb, 7.64217e+00_rb, 7.55541e+00_rb, & & 7.46963e+00_rb, 7.38482e+00_rb, 7.30098e+00_rb, 7.21809e+00_rb, 7.13614e+00_rb, & & 7.05512e+00_rb, 6.97502e+00_rb, 6.89582e+00_rb, 6.81753e+00_rb/) kao_mco( 3, :, 5) = (/ & & 8.14557e+00_rb, 8.06533e+00_rb, 7.98587e+00_rb, 7.90720e+00_rb, 7.82930e+00_rb, & & 7.75217e+00_rb, 7.67580e+00_rb, 7.60018e+00_rb, 7.52530e+00_rb, 7.45117e+00_rb, & & 7.37776e+00_rb, 7.30508e+00_rb, 7.23311e+00_rb, 7.16186e+00_rb, 7.09130e+00_rb, & & 7.02144e+00_rb, 6.95227e+00_rb, 6.88378e+00_rb, 6.81596e+00_rb/) kao_mco( 4, :, 5) = (/ & & 8.18046e+00_rb, 8.11056e+00_rb, 8.04126e+00_rb, 7.97256e+00_rb, 7.90444e+00_rb, & & 7.83690e+00_rb, 7.76994e+00_rb, 7.70355e+00_rb, 7.63773e+00_rb, 7.57247e+00_rb, & & 7.50777e+00_rb, 7.44362e+00_rb, 7.38002e+00_rb, 7.31697e+00_rb, 7.25445e+00_rb, & & 7.19247e+00_rb, 7.13101e+00_rb, 7.07008e+00_rb, 7.00968e+00_rb/) kao_mco( 5, :, 5) = (/ & & 8.30092e+00_rb, 8.23529e+00_rb, 8.17019e+00_rb, 8.10559e+00_rb, 8.04151e+00_rb, & & 7.97794e+00_rb, 7.91487e+00_rb, 7.85230e+00_rb, 7.79022e+00_rb, 7.72863e+00_rb, & & 7.66753e+00_rb, 7.60691e+00_rb, 7.54678e+00_rb, 7.48711e+00_rb, 7.42792e+00_rb, & & 7.36920e+00_rb, 7.31094e+00_rb, 7.25314e+00_rb, 7.19580e+00_rb/) kao_mco( 6, :, 5) = (/ & & 8.30014e+00_rb, 8.24466e+00_rb, 8.18955e+00_rb, 8.13481e+00_rb, 8.08044e+00_rb, & & 8.02642e+00_rb, 7.97277e+00_rb, 7.91948e+00_rb, 7.86655e+00_rb, 7.81396e+00_rb, & & 7.76173e+00_rb, 7.70985e+00_rb, 7.65832e+00_rb, 7.60713e+00_rb, 7.55628e+00_rb, & & 7.50577e+00_rb, 7.45560e+00_rb, 7.40577e+00_rb, 7.35627e+00_rb/) kao_mco( 7, :, 5) = (/ & & 7.95931e+00_rb, 7.93958e+00_rb, 7.91989e+00_rb, 7.90025e+00_rb, 7.88066e+00_rb, & & 7.86112e+00_rb, 7.84163e+00_rb, 7.82219e+00_rb, 7.80279e+00_rb, 7.78344e+00_rb, & & 7.76414e+00_rb, 7.74489e+00_rb, 7.72568e+00_rb, 7.70653e+00_rb, 7.68742e+00_rb, & & 7.66836e+00_rb, 7.64934e+00_rb, 7.63038e+00_rb, 7.61146e+00_rb/) kao_mco( 8, :, 5) = (/ & & 9.32576e+00_rb, 9.31747e+00_rb, 9.30919e+00_rb, 9.30092e+00_rb, 9.29265e+00_rb, & & 9.28439e+00_rb, 9.27613e+00_rb, 9.26789e+00_rb, 9.25965e+00_rb, 9.25142e+00_rb, & & 9.24320e+00_rb, 9.23498e+00_rb, 9.22677e+00_rb, 9.21857e+00_rb, 9.21038e+00_rb, & & 9.20219e+00_rb, 9.19401e+00_rb, 9.18584e+00_rb, 9.17767e+00_rb/) kao_mco( 9, :, 5) = (/ & & 4.13116e+00_rb, 4.08426e+00_rb, 4.03788e+00_rb, 3.99204e+00_rb, 3.94671e+00_rb, & & 3.90190e+00_rb, 3.85760e+00_rb, 3.81380e+00_rb, 3.77049e+00_rb, 3.72768e+00_rb, & & 3.68536e+00_rb, 3.64351e+00_rb, 3.60214e+00_rb, 3.56124e+00_rb, 3.52081e+00_rb, & & 3.48083e+00_rb, 3.44131e+00_rb, 3.40224e+00_rb, 3.36361e+00_rb/) kao_mco( 1, :, 6) = (/ & & 1.21200e+01_rb, 1.21580e+01_rb, 1.21961e+01_rb, 1.22344e+01_rb, 1.22728e+01_rb, & & 1.23113e+01_rb, 1.23499e+01_rb, 1.23886e+01_rb, 1.24275e+01_rb, 1.24664e+01_rb, & & 1.25056e+01_rb, 1.25448e+01_rb, 1.25841e+01_rb, 1.26236e+01_rb, 1.26632e+01_rb, & & 1.27029e+01_rb, 1.27428e+01_rb, 1.27827e+01_rb, 1.28228e+01_rb/) kao_mco( 2, :, 6) = (/ & & 1.25231e+01_rb, 1.25625e+01_rb, 1.26020e+01_rb, 1.26417e+01_rb, 1.26815e+01_rb, & & 1.27214e+01_rb, 1.27614e+01_rb, 1.28015e+01_rb, 1.28418e+01_rb, 1.28822e+01_rb, & & 1.29228e+01_rb, 1.29634e+01_rb, 1.30042e+01_rb, 1.30451e+01_rb, 1.30862e+01_rb, & & 1.31274e+01_rb, 1.31687e+01_rb, 1.32101e+01_rb, 1.32517e+01_rb/) kao_mco( 3, :, 6) = (/ & & 1.27566e+01_rb, 1.27983e+01_rb, 1.28401e+01_rb, 1.28820e+01_rb, 1.29241e+01_rb, & & 1.29663e+01_rb, 1.30087e+01_rb, 1.30512e+01_rb, 1.30938e+01_rb, 1.31366e+01_rb, & & 1.31795e+01_rb, 1.32225e+01_rb, 1.32657e+01_rb, 1.33090e+01_rb, 1.33525e+01_rb, & & 1.33961e+01_rb, 1.34399e+01_rb, 1.34838e+01_rb, 1.35278e+01_rb/) kao_mco( 4, :, 6) = (/ & & 1.27132e+01_rb, 1.27454e+01_rb, 1.27777e+01_rb, 1.28101e+01_rb, 1.28425e+01_rb, & & 1.28750e+01_rb, 1.29077e+01_rb, 1.29403e+01_rb, 1.29731e+01_rb, 1.30060e+01_rb, & & 1.30389e+01_rb, 1.30720e+01_rb, 1.31051e+01_rb, 1.31383e+01_rb, 1.31716e+01_rb, & & 1.32049e+01_rb, 1.32384e+01_rb, 1.32719e+01_rb, 1.33055e+01_rb/) kao_mco( 5, :, 6) = (/ & & 1.33151e+01_rb, 1.33523e+01_rb, 1.33896e+01_rb, 1.34271e+01_rb, 1.34646e+01_rb, & & 1.35022e+01_rb, 1.35400e+01_rb, 1.35779e+01_rb, 1.36158e+01_rb, 1.36539e+01_rb, & & 1.36921e+01_rb, 1.37303e+01_rb, 1.37687e+01_rb, 1.38072e+01_rb, 1.38458e+01_rb, & & 1.38846e+01_rb, 1.39234e+01_rb, 1.39623e+01_rb, 1.40013e+01_rb/) kao_mco( 6, :, 6) = (/ & & 1.41448e+01_rb, 1.41902e+01_rb, 1.42357e+01_rb, 1.42814e+01_rb, 1.43272e+01_rb, & & 1.43732e+01_rb, 1.44194e+01_rb, 1.44656e+01_rb, 1.45121e+01_rb, 1.45586e+01_rb, & & 1.46054e+01_rb, 1.46522e+01_rb, 1.46993e+01_rb, 1.47464e+01_rb, 1.47938e+01_rb, & & 1.48413e+01_rb, 1.48889e+01_rb, 1.49367e+01_rb, 1.49846e+01_rb/) kao_mco( 7, :, 6) = (/ & & 1.56578e+01_rb, 1.56938e+01_rb, 1.57299e+01_rb, 1.57661e+01_rb, 1.58024e+01_rb, & & 1.58388e+01_rb, 1.58752e+01_rb, 1.59117e+01_rb, 1.59484e+01_rb, 1.59851e+01_rb, & & 1.60218e+01_rb, 1.60587e+01_rb, 1.60957e+01_rb, 1.61327e+01_rb, 1.61698e+01_rb, & & 1.62070e+01_rb, 1.62443e+01_rb, 1.62817e+01_rb, 1.63192e+01_rb/) kao_mco( 8, :, 6) = (/ & & 1.73627e+01_rb, 1.74761e+01_rb, 1.75903e+01_rb, 1.77052e+01_rb, 1.78208e+01_rb, & & 1.79373e+01_rb, 1.80544e+01_rb, 1.81724e+01_rb, 1.82911e+01_rb, 1.84106e+01_rb, & & 1.85309e+01_rb, 1.86519e+01_rb, 1.87738e+01_rb, 1.88964e+01_rb, 1.90198e+01_rb, & & 1.91441e+01_rb, 1.92692e+01_rb, 1.93950e+01_rb, 1.95217e+01_rb/) kao_mco( 9, :, 6) = (/ & & 7.16326e+00_rb, 7.12921e+00_rb, 7.09531e+00_rb, 7.06158e+00_rb, 7.02800e+00_rb, & & 6.99459e+00_rb, 6.96133e+00_rb, 6.92824e+00_rb, 6.89530e+00_rb, 6.86252e+00_rb, & & 6.82989e+00_rb, 6.79742e+00_rb, 6.76510e+00_rb, 6.73293e+00_rb, 6.70092e+00_rb, & & 6.66906e+00_rb, 6.63736e+00_rb, 6.60580e+00_rb, 6.57439e+00_rb/) kao_mco( 1, :, 7) = (/ & & 2.09288e+01_rb, 2.10487e+01_rb, 2.11692e+01_rb, 2.12904e+01_rb, 2.14124e+01_rb, & & 2.15350e+01_rb, 2.16583e+01_rb, 2.17823e+01_rb, 2.19070e+01_rb, 2.20325e+01_rb, & & 2.21587e+01_rb, 2.22855e+01_rb, 2.24132e+01_rb, 2.25415e+01_rb, 2.26706e+01_rb, & & 2.28004e+01_rb, 2.29310e+01_rb, 2.30623e+01_rb, 2.31943e+01_rb/) kao_mco( 2, :, 7) = (/ & & 2.08159e+01_rb, 2.09509e+01_rb, 2.10867e+01_rb, 2.12234e+01_rb, 2.13610e+01_rb, & & 2.14994e+01_rb, 2.16388e+01_rb, 2.17791e+01_rb, 2.19202e+01_rb, 2.20623e+01_rb, & & 2.22053e+01_rb, 2.23493e+01_rb, 2.24942e+01_rb, 2.26400e+01_rb, 2.27867e+01_rb, & & 2.29345e+01_rb, 2.30831e+01_rb, 2.32328e+01_rb, 2.33834e+01_rb/) kao_mco( 3, :, 7) = (/ & & 2.10827e+01_rb, 2.12409e+01_rb, 2.14002e+01_rb, 2.15608e+01_rb, 2.17225e+01_rb, & & 2.18855e+01_rb, 2.20497e+01_rb, 2.22151e+01_rb, 2.23818e+01_rb, 2.25497e+01_rb, & & 2.27189e+01_rb, 2.28893e+01_rb, 2.30611e+01_rb, 2.32341e+01_rb, 2.34084e+01_rb, & & 2.35840e+01_rb, 2.37609e+01_rb, 2.39392e+01_rb, 2.41188e+01_rb/) kao_mco( 4, :, 7) = (/ & & 2.13866e+01_rb, 2.15772e+01_rb, 2.17694e+01_rb, 2.19634e+01_rb, 2.21590e+01_rb, & & 2.23565e+01_rb, 2.25556e+01_rb, 2.27566e+01_rb, 2.29594e+01_rb, 2.31639e+01_rb, & & 2.33703e+01_rb, 2.35785e+01_rb, 2.37886e+01_rb, 2.40005e+01_rb, 2.42144e+01_rb, & & 2.44301e+01_rb, 2.46477e+01_rb, 2.48673e+01_rb, 2.50889e+01_rb/) kao_mco( 5, :, 7) = (/ & & 1.93714e+01_rb, 1.95595e+01_rb, 1.97493e+01_rb, 1.99410e+01_rb, 2.01345e+01_rb, & & 2.03300e+01_rb, 2.05273e+01_rb, 2.07265e+01_rb, 2.09277e+01_rb, 2.11308e+01_rb, & & 2.13359e+01_rb, 2.15430e+01_rb, 2.17521e+01_rb, 2.19632e+01_rb, 2.21764e+01_rb, & & 2.23917e+01_rb, 2.26090e+01_rb, 2.28284e+01_rb, 2.30500e+01_rb/) kao_mco( 6, :, 7) = (/ & & 1.70418e+01_rb, 1.72109e+01_rb, 1.73817e+01_rb, 1.75541e+01_rb, 1.77283e+01_rb, & & 1.79041e+01_rb, 1.80818e+01_rb, 1.82612e+01_rb, 1.84423e+01_rb, 1.86253e+01_rb, & & 1.88101e+01_rb, 1.89967e+01_rb, 1.91852e+01_rb, 1.93755e+01_rb, 1.95678e+01_rb, & & 1.97619e+01_rb, 1.99580e+01_rb, 2.01560e+01_rb, 2.03560e+01_rb/) kao_mco( 7, :, 7) = (/ & & 1.31735e+01_rb, 1.32921e+01_rb, 1.34118e+01_rb, 1.35326e+01_rb, 1.36545e+01_rb, & & 1.37775e+01_rb, 1.39015e+01_rb, 1.40267e+01_rb, 1.41531e+01_rb, 1.42805e+01_rb, & & 1.44091e+01_rb, 1.45389e+01_rb, 1.46698e+01_rb, 1.48019e+01_rb, 1.49353e+01_rb, & & 1.50698e+01_rb, 1.52055e+01_rb, 1.53424e+01_rb, 1.54806e+01_rb/) kao_mco( 8, :, 7) = (/ & & 4.97361e+00_rb, 4.96550e+00_rb, 4.95740e+00_rb, 4.94931e+00_rb, 4.94124e+00_rb, & & 4.93318e+00_rb, 4.92513e+00_rb, 4.91709e+00_rb, 4.90907e+00_rb, 4.90106e+00_rb, & & 4.89307e+00_rb, 4.88509e+00_rb, 4.87712e+00_rb, 4.86916e+00_rb, 4.86122e+00_rb, & & 4.85329e+00_rb, 4.84537e+00_rb, 4.83747e+00_rb, 4.82958e+00_rb/) kao_mco( 9, :, 7) = (/ & & 1.76121e+01_rb, 1.75887e+01_rb, 1.75653e+01_rb, 1.75420e+01_rb, 1.75187e+01_rb, & & 1.74955e+01_rb, 1.74722e+01_rb, 1.74490e+01_rb, 1.74259e+01_rb, 1.74027e+01_rb, & & 1.73796e+01_rb, 1.73566e+01_rb, 1.73335e+01_rb, 1.73105e+01_rb, 1.72875e+01_rb, & & 1.72646e+01_rb, 1.72416e+01_rb, 1.72188e+01_rb, 1.71959e+01_rb/) kao_mco( 1, :, 8) = (/ & & 5.99126e+00_rb, 6.08386e+00_rb, 6.17790e+00_rb, 6.27339e+00_rb, 6.37035e+00_rb, & & 6.46881e+00_rb, 6.56880e+00_rb, 6.67033e+00_rb, 6.77343e+00_rb, 6.87812e+00_rb, & & 6.98443e+00_rb, 7.09238e+00_rb, 7.20201e+00_rb, 7.31332e+00_rb, 7.42636e+00_rb, & & 7.54115e+00_rb, 7.65771e+00_rb, 7.77607e+00_rb, 7.89626e+00_rb/) kao_mco( 2, :, 8) = (/ & & 4.71621e+00_rb, 4.78830e+00_rb, 4.86149e+00_rb, 4.93580e+00_rb, 5.01124e+00_rb, & & 5.08784e+00_rb, 5.16561e+00_rb, 5.24456e+00_rb, 5.32473e+00_rb, 5.40612e+00_rb, & & 5.48875e+00_rb, 5.57264e+00_rb, 5.65782e+00_rb, 5.74430e+00_rb, 5.83211e+00_rb, & & 5.92125e+00_rb, 6.01176e+00_rb, 6.10365e+00_rb, 6.19694e+00_rb/) kao_mco( 3, :, 8) = (/ & & 2.77067e+00_rb, 2.81437e+00_rb, 2.85876e+00_rb, 2.90385e+00_rb, 2.94965e+00_rb, & & 2.99617e+00_rb, 3.04343e+00_rb, 3.09143e+00_rb, 3.14019e+00_rb, 3.18972e+00_rb, & & 3.24003e+00_rb, 3.29114e+00_rb, 3.34305e+00_rb, 3.39578e+00_rb, 3.44934e+00_rb, & & 3.50374e+00_rb, 3.55901e+00_rb, 3.61514e+00_rb, 3.67216e+00_rb/) kao_mco( 4, :, 8) = (/ & & 1.22388e+00_rb, 1.24248e+00_rb, 1.26136e+00_rb, 1.28053e+00_rb, 1.29999e+00_rb, & & 1.31974e+00_rb, 1.33979e+00_rb, 1.36015e+00_rb, 1.38082e+00_rb, 1.40181e+00_rb, & & 1.42311e+00_rb, 1.44473e+00_rb, 1.46669e+00_rb, 1.48897e+00_rb, 1.51160e+00_rb, & & 1.53457e+00_rb, 1.55789e+00_rb, 1.58156e+00_rb, 1.60559e+00_rb/) kao_mco( 5, :, 8) = (/ & & 1.41479e+00_rb, 1.43540e+00_rb, 1.45631e+00_rb, 1.47752e+00_rb, 1.49904e+00_rb, & & 1.52088e+00_rb, 1.54303e+00_rb, 1.56550e+00_rb, 1.58831e+00_rb, 1.61144e+00_rb, & & 1.63491e+00_rb, 1.65872e+00_rb, 1.68288e+00_rb, 1.70740e+00_rb, 1.73227e+00_rb, & & 1.75750e+00_rb, 1.78310e+00_rb, 1.80907e+00_rb, 1.83542e+00_rb/) kao_mco( 6, :, 8) = (/ & & 1.43154e+00_rb, 1.46074e+00_rb, 1.49053e+00_rb, 1.52093e+00_rb, 1.55196e+00_rb, & & 1.58361e+00_rb, 1.61591e+00_rb, 1.64887e+00_rb, 1.68250e+00_rb, 1.71682e+00_rb, & & 1.75184e+00_rb, 1.78757e+00_rb, 1.82403e+00_rb, 1.86123e+00_rb, 1.89920e+00_rb, & & 1.93793e+00_rb, 1.97746e+00_rb, 2.01779e+00_rb, 2.05895e+00_rb/) kao_mco( 7, :, 8) = (/ & & 2.49358e+00_rb, 2.56028e+00_rb, 2.62875e+00_rb, 2.69906e+00_rb, 2.77124e+00_rb, & & 2.84536e+00_rb, 2.92146e+00_rb, 2.99960e+00_rb, 3.07982e+00_rb, 3.16219e+00_rb, & & 3.24677e+00_rb, 3.33360e+00_rb, 3.42276e+00_rb, 3.51430e+00_rb, 3.60829e+00_rb, & & 3.70480e+00_rb, 3.80388e+00_rb, 3.90562e+00_rb, 4.01007e+00_rb/) kao_mco( 8, :, 8) = (/ & & 4.32513e+00_rb, 4.39903e+00_rb, 4.47420e+00_rb, 4.55065e+00_rb, 4.62841e+00_rb, & & 4.70750e+00_rb, 4.78794e+00_rb, 4.86975e+00_rb, 4.95296e+00_rb, 5.03759e+00_rb, & & 5.12367e+00_rb, 5.21122e+00_rb, 5.30027e+00_rb, 5.39084e+00_rb, 5.48295e+00_rb, & & 5.57664e+00_rb, 5.67193e+00_rb, 5.76885e+00_rb, 5.86743e+00_rb/) kao_mco( 9, :, 8) = (/ & & 3.35160e+01_rb, 3.36789e+01_rb, 3.38425e+01_rb, 3.40069e+01_rb, 3.41722e+01_rb, & & 3.43382e+01_rb, 3.45050e+01_rb, 3.46727e+01_rb, 3.48412e+01_rb, 3.50105e+01_rb, & & 3.51806e+01_rb, 3.53515e+01_rb, 3.55233e+01_rb, 3.56959e+01_rb, 3.58693e+01_rb, & & 3.60436e+01_rb, 3.62187e+01_rb, 3.63947e+01_rb, 3.65715e+01_rb/) kao_mco( 1, :, 9) = (/ & & 8.68159e-01_rb, 9.13680e-01_rb, 9.61587e-01_rb, 1.01201e+00_rb, 1.06507e+00_rb, & & 1.12091e+00_rb, 1.17969e+00_rb, 1.24154e+00_rb, 1.30664e+00_rb, 1.37515e+00_rb, & & 1.44726e+00_rb, 1.52314e+00_rb, 1.60300e+00_rb, 1.68705e+00_rb, 1.77551e+00_rb, & & 1.86861e+00_rb, 1.96658e+00_rb, 2.06970e+00_rb, 2.17822e+00_rb/) kao_mco( 2, :, 9) = (/ & & 9.04391e-01_rb, 9.49669e-01_rb, 9.97214e-01_rb, 1.04714e+00_rb, 1.09956e+00_rb, & & 1.15461e+00_rb, 1.21242e+00_rb, 1.27312e+00_rb, 1.33685e+00_rb, 1.40378e+00_rb, & & 1.47406e+00_rb, 1.54786e+00_rb, 1.62535e+00_rb, 1.70673e+00_rb, 1.79217e+00_rb, & & 1.88190e+00_rb, 1.97611e+00_rb, 2.07505e+00_rb, 2.17893e+00_rb/) kao_mco( 3, :, 9) = (/ & & 9.67479e-01_rb, 1.01312e+00_rb, 1.06092e+00_rb, 1.11098e+00_rb, 1.16339e+00_rb, & & 1.21828e+00_rb, 1.27576e+00_rb, 1.33595e+00_rb, 1.39898e+00_rb, 1.46499e+00_rb, & & 1.53411e+00_rb, 1.60649e+00_rb, 1.68228e+00_rb, 1.76165e+00_rb, 1.84476e+00_rb, & & 1.93180e+00_rb, 2.02294e+00_rb, 2.11839e+00_rb, 2.21833e+00_rb/) kao_mco( 4, :, 9) = (/ & & 1.05240e+00_rb, 1.09817e+00_rb, 1.14592e+00_rb, 1.19576e+00_rb, 1.24776e+00_rb, & & 1.30202e+00_rb, 1.35864e+00_rb, 1.41772e+00_rb, 1.47937e+00_rb, 1.54371e+00_rb, & & 1.61084e+00_rb, 1.68089e+00_rb, 1.75398e+00_rb, 1.83026e+00_rb, 1.90985e+00_rb, & & 1.99290e+00_rb, 2.07957e+00_rb, 2.17000e+00_rb, 2.26437e+00_rb/) kao_mco( 5, :, 9) = (/ & & 1.25800e+00_rb, 1.30557e+00_rb, 1.35494e+00_rb, 1.40618e+00_rb, 1.45935e+00_rb, & & 1.51454e+00_rb, 1.57181e+00_rb, 1.63125e+00_rb, 1.69293e+00_rb, 1.75695e+00_rb, & & 1.82339e+00_rb, 1.89234e+00_rb, 1.96389e+00_rb, 2.03816e+00_rb, 2.11523e+00_rb, & & 2.19522e+00_rb, 2.27823e+00_rb, 2.36438e+00_rb, 2.45378e+00_rb/) kao_mco( 6, :, 9) = (/ & & 1.76509e+00_rb, 1.80550e+00_rb, 1.84683e+00_rb, 1.88911e+00_rb, 1.93235e+00_rb, & & 1.97658e+00_rb, 2.02183e+00_rb, 2.06811e+00_rb, 2.11546e+00_rb, 2.16388e+00_rb, & & 2.21342e+00_rb, 2.26408e+00_rb, 2.31591e+00_rb, 2.36893e+00_rb, 2.42315e+00_rb, & & 2.47862e+00_rb, 2.53536e+00_rb, 2.59340e+00_rb, 2.65277e+00_rb/) kao_mco( 7, :, 9) = (/ & & 2.03543e+00_rb, 2.05285e+00_rb, 2.07042e+00_rb, 2.08815e+00_rb, 2.10602e+00_rb, & & 2.12405e+00_rb, 2.14223e+00_rb, 2.16057e+00_rb, 2.17907e+00_rb, 2.19772e+00_rb, & & 2.21654e+00_rb, 2.23551e+00_rb, 2.25465e+00_rb, 2.27395e+00_rb, 2.29342e+00_rb, & & 2.31305e+00_rb, 2.33285e+00_rb, 2.35282e+00_rb, 2.37296e+00_rb/) kao_mco( 8, :, 9) = (/ & & 3.18883e+00_rb, 3.20538e+00_rb, 3.22200e+00_rb, 3.23872e+00_rb, 3.25552e+00_rb, & & 3.27241e+00_rb, 3.28939e+00_rb, 3.30645e+00_rb, 3.32360e+00_rb, 3.34085e+00_rb, & & 3.35818e+00_rb, 3.37560e+00_rb, 3.39311e+00_rb, 3.41071e+00_rb, 3.42841e+00_rb, & & 3.44619e+00_rb, 3.46407e+00_rb, 3.48204e+00_rb, 3.50011e+00_rb/) kao_mco( 9, :, 9) = (/ & & 3.97585e+00_rb, 3.96333e+00_rb, 3.95084e+00_rb, 3.93839e+00_rb, 3.92598e+00_rb, & & 3.91361e+00_rb, 3.90128e+00_rb, 3.88899e+00_rb, 3.87674e+00_rb, 3.86452e+00_rb, & & 3.85235e+00_rb, 3.84021e+00_rb, 3.82811e+00_rb, 3.81605e+00_rb, 3.80402e+00_rb, & & 3.79204e+00_rb, 3.78009e+00_rb, 3.76818e+00_rb, 3.75631e+00_rb/) kao_mco( 1, :,10) = (/ & & 8.62646e-01_rb, 9.35164e-01_rb, 1.01378e+00_rb, 1.09900e+00_rb, 1.19139e+00_rb, & & 1.29154e+00_rb, 1.40011e+00_rb, 1.51781e+00_rb, 1.64541e+00_rb, 1.78373e+00_rb, & & 1.93367e+00_rb, 2.09623e+00_rb, 2.27245e+00_rb, 2.46348e+00_rb, 2.67057e+00_rb, & & 2.89507e+00_rb, 3.13844e+00_rb, 3.40227e+00_rb, 3.68828e+00_rb/) kao_mco( 2, :,10) = (/ & & 8.04693e-01_rb, 8.72167e-01_rb, 9.45298e-01_rb, 1.02456e+00_rb, 1.11047e+00_rb, & & 1.20358e+00_rb, 1.30450e+00_rb, 1.41389e+00_rb, 1.53244e+00_rb, 1.66094e+00_rb, & & 1.80021e+00_rb, 1.95115e+00_rb, 2.11476e+00_rb, 2.29208e+00_rb, 2.48427e+00_rb, & & 2.69258e+00_rb, 2.91835e+00_rb, 3.16305e+00_rb, 3.42827e+00_rb/) kao_mco( 3, :,10) = (/ & & 7.66566e-01_rb, 8.24651e-01_rb, 8.87137e-01_rb, 9.54358e-01_rb, 1.02667e+00_rb, & & 1.10447e+00_rb, 1.18815e+00_rb, 1.27818e+00_rb, 1.37503e+00_rb, 1.47922e+00_rb, & & 1.59131e+00_rb, 1.71189e+00_rb, 1.84160e+00_rb, 1.98114e+00_rb, 2.13126e+00_rb, & & 2.29275e+00_rb, 2.46648e+00_rb, 2.65337e+00_rb, 2.85442e+00_rb/) kao_mco( 4, :,10) = (/ & & 5.40305e-01_rb, 5.77106e-01_rb, 6.16414e-01_rb, 6.58400e-01_rb, 7.03245e-01_rb, & & 7.51145e-01_rb, 8.02307e-01_rb, 8.56954e-01_rb, 9.15323e-01_rb, 9.77668e-01_rb, & & 1.04426e+00_rb, 1.11539e+00_rb, 1.19136e+00_rb, 1.27250e+00_rb, 1.35918e+00_rb, & & 1.45175e+00_rb, 1.55064e+00_rb, 1.65625e+00_rb, 1.76906e+00_rb/) kao_mco( 5, :,10) = (/ & & 8.22474e-01_rb, 8.02911e-01_rb, 7.83814e-01_rb, 7.65171e-01_rb, 7.46971e-01_rb, & & 7.29204e-01_rb, 7.11860e-01_rb, 6.94928e-01_rb, 6.78399e-01_rb, 6.62263e-01_rb, & & 6.46511e-01_rb, 6.31133e-01_rb, 6.16122e-01_rb, 6.01467e-01_rb, 5.87161e-01_rb, & & 5.73195e-01_rb, 5.59562e-01_rb, 5.46252e-01_rb, 5.33260e-01_rb/) kao_mco( 6, :,10) = (/ & & 1.28162e+00_rb, 1.25110e+00_rb, 1.22131e+00_rb, 1.19223e+00_rb, 1.16384e+00_rb, & & 1.13613e+00_rb, 1.10908e+00_rb, 1.08267e+00_rb, 1.05689e+00_rb, 1.03173e+00_rb, & & 1.00716e+00_rb, 9.83184e-01_rb, 9.59774e-01_rb, 9.36921e-01_rb, 9.14613e-01_rb, & & 8.92836e-01_rb, 8.71577e-01_rb, 8.50825e-01_rb, 8.30567e-01_rb/) kao_mco( 7, :,10) = (/ & & 1.92679e+00_rb, 1.90551e+00_rb, 1.88446e+00_rb, 1.86365e+00_rb, 1.84307e+00_rb, & & 1.82271e+00_rb, 1.80258e+00_rb, 1.78267e+00_rb, 1.76298e+00_rb, 1.74351e+00_rb, & & 1.72425e+00_rb, 1.70520e+00_rb, 1.68637e+00_rb, 1.66774e+00_rb, 1.64932e+00_rb, & & 1.63111e+00_rb, 1.61309e+00_rb, 1.59527e+00_rb, 1.57765e+00_rb/) kao_mco( 8, :,10) = (/ & & 4.66485e+00_rb, 4.60869e+00_rb, 4.55320e+00_rb, 4.49838e+00_rb, 4.44423e+00_rb, & & 4.39072e+00_rb, 4.33786e+00_rb, 4.28563e+00_rb, 4.23404e+00_rb, 4.18306e+00_rb, & & 4.13270e+00_rb, 4.08295e+00_rb, 4.03379e+00_rb, 3.98523e+00_rb, 3.93725e+00_rb, & & 3.88985e+00_rb, 3.84301e+00_rb, 3.79675e+00_rb, 3.75104e+00_rb/) kao_mco( 9, :,10) = (/ & & 1.41505e+00_rb, 1.37820e+00_rb, 1.34232e+00_rb, 1.30736e+00_rb, 1.27332e+00_rb, & & 1.24016e+00_rb, 1.20786e+00_rb, 1.17641e+00_rb, 1.14578e+00_rb, 1.11594e+00_rb, & & 1.08688e+00_rb, 1.05858e+00_rb, 1.03101e+00_rb, 1.00416e+00_rb, 9.78015e-01_rb, & & 9.52547e-01_rb, 9.27742e-01_rb, 9.03583e-01_rb, 8.80053e-01_rb/) kao_mco( 1, :,11) = (/ & & 3.40468e-03_rb, 4.05994e-03_rb, 4.84130e-03_rb, 5.77305e-03_rb, 6.88412e-03_rb, & & 8.20902e-03_rb, 9.78890e-03_rb, 1.16728e-02_rb, 1.39194e-02_rb, 1.65983e-02_rb, & & 1.97927e-02_rb, 2.36020e-02_rb, 2.81444e-02_rb, 3.35610e-02_rb, 4.00200e-02_rb, & & 4.77222e-02_rb, 5.69067e-02_rb, 6.78588e-02_rb, 8.09187e-02_rb/) kao_mco( 2, :,11) = (/ & & 3.85021e-02_rb, 4.02208e-02_rb, 4.20162e-02_rb, 4.38918e-02_rb, 4.58512e-02_rb, & & 4.78980e-02_rb, 5.00361e-02_rb, 5.22697e-02_rb, 5.46031e-02_rb, 5.70405e-02_rb, & & 5.95868e-02_rb, 6.22468e-02_rb, 6.50254e-02_rb, 6.79282e-02_rb, 7.09605e-02_rb, & & 7.41282e-02_rb, 7.74372e-02_rb, 8.08940e-02_rb, 8.45051e-02_rb/) kao_mco( 3, :,11) = (/ & & 5.24852e-01_rb, 5.10480e-01_rb, 4.96501e-01_rb, 4.82905e-01_rb, 4.69681e-01_rb, & & 4.56820e-01_rb, 4.44310e-01_rb, 4.32143e-01_rb, 4.20310e-01_rb, 4.08800e-01_rb, & & 3.97606e-01_rb, 3.86718e-01_rb, 3.76128e-01_rb, 3.65828e-01_rb, 3.55810e-01_rb, & & 3.46067e-01_rb, 3.36590e-01_rb, 3.27373e-01_rb, 3.18409e-01_rb/) kao_mco( 4, :,11) = (/ & & 5.86290e-01_rb, 5.70241e-01_rb, 5.54632e-01_rb, 5.39450e-01_rb, 5.24683e-01_rb, & & 5.10321e-01_rb, 4.96352e-01_rb, 4.82765e-01_rb, 4.69550e-01_rb, 4.56697e-01_rb, & & 4.44196e-01_rb, 4.32036e-01_rb, 4.20210e-01_rb, 4.08708e-01_rb, 3.97520e-01_rb, & & 3.86638e-01_rb, 3.76055e-01_rb, 3.65761e-01_rb, 3.55749e-01_rb/) kao_mco( 5, :,11) = (/ & & 1.66977e+00_rb, 1.61807e+00_rb, 1.56798e+00_rb, 1.51943e+00_rb, 1.47239e+00_rb, & & 1.42681e+00_rb, 1.38264e+00_rb, 1.33983e+00_rb, 1.29835e+00_rb, 1.25815e+00_rb, & & 1.21920e+00_rb, 1.18146e+00_rb, 1.14488e+00_rb, 1.10943e+00_rb, 1.07509e+00_rb, & & 1.04180e+00_rb, 1.00955e+00_rb, 9.78295e-01_rb, 9.48008e-01_rb/) kao_mco( 6, :,11) = (/ & & 1.96627e+00_rb, 1.90948e+00_rb, 1.85432e+00_rb, 1.80076e+00_rb, 1.74875e+00_rb, & & 1.69823e+00_rb, 1.64918e+00_rb, 1.60155e+00_rb, 1.55529e+00_rb, 1.51036e+00_rb, & & 1.46674e+00_rb, 1.42437e+00_rb, 1.38323e+00_rb, 1.34328e+00_rb, 1.30448e+00_rb, & & 1.26680e+00_rb, 1.23021e+00_rb, 1.19467e+00_rb, 1.16016e+00_rb/) kao_mco( 7, :,11) = (/ & & 1.67574e+00_rb, 1.63510e+00_rb, 1.59544e+00_rb, 1.55674e+00_rb, 1.51898e+00_rb, & & 1.48213e+00_rb, 1.44618e+00_rb, 1.41111e+00_rb, 1.37688e+00_rb, 1.34348e+00_rb, & & 1.31090e+00_rb, 1.27910e+00_rb, 1.24808e+00_rb, 1.21780e+00_rb, 1.18826e+00_rb, & & 1.15944e+00_rb, 1.13132e+00_rb, 1.10388e+00_rb, 1.07710e+00_rb/) kao_mco( 8, :,11) = (/ & & 2.00764e+00_rb, 1.96233e+00_rb, 1.91803e+00_rb, 1.87474e+00_rb, 1.83242e+00_rb, & & 1.79106e+00_rb, 1.75063e+00_rb, 1.71111e+00_rb, 1.67249e+00_rb, 1.63474e+00_rb, & & 1.59784e+00_rb, 1.56177e+00_rb, 1.52652e+00_rb, 1.49206e+00_rb, 1.45838e+00_rb, & & 1.42546e+00_rb, 1.39329e+00_rb, 1.36184e+00_rb, 1.33110e+00_rb/) kao_mco( 9, :,11) = (/ & & 1.83026e+00_rb, 1.77349e+00_rb, 1.71849e+00_rb, 1.66519e+00_rb, 1.61355e+00_rb, & & 1.56350e+00_rb, 1.51501e+00_rb, 1.46803e+00_rb, 1.42250e+00_rb, 1.37838e+00_rb, & & 1.33563e+00_rb, 1.29421e+00_rb, 1.25407e+00_rb, 1.21517e+00_rb, 1.17749e+00_rb, & & 1.14097e+00_rb, 1.10558e+00_rb, 1.07129e+00_rb, 1.03807e+00_rb/) kao_mco( 1, :,12) = (/ & & 3.90309e-04_rb, 4.81310e-04_rb, 5.93528e-04_rb, 7.31909e-04_rb, 9.02554e-04_rb, & & 1.11299e-03_rb, 1.37248e-03_rb, 1.69247e-03_rb, 2.08708e-03_rb, 2.57368e-03_rb, & & 3.17374e-03_rb, 3.91370e-03_rb, 4.82617e-03_rb, 5.95140e-03_rb, 7.33897e-03_rb, & & 9.05007e-03_rb, 1.11601e-02_rb, 1.37621e-02_rb, 1.69707e-02_rb/) kao_mco( 2, :,12) = (/ & & 9.80585e-02_rb, 9.77457e-02_rb, 9.74339e-02_rb, 9.71231e-02_rb, 9.68132e-02_rb, & & 9.65044e-02_rb, 9.61965e-02_rb, 9.58897e-02_rb, 9.55838e-02_rb, 9.52789e-02_rb, & & 9.49749e-02_rb, 9.46719e-02_rb, 9.43699e-02_rb, 9.40689e-02_rb, 9.37688e-02_rb, & & 9.34697e-02_rb, 9.31715e-02_rb, 9.28743e-02_rb, 9.25780e-02_rb/) kao_mco( 3, :,12) = (/ & & 3.15258e-01_rb, 3.09936e-01_rb, 3.04704e-01_rb, 2.99560e-01_rb, 2.94503e-01_rb, & & 2.89532e-01_rb, 2.84645e-01_rb, 2.79840e-01_rb, 2.75116e-01_rb, 2.70472e-01_rb, & & 2.65906e-01_rb, 2.61417e-01_rb, 2.57004e-01_rb, 2.52666e-01_rb, 2.48401e-01_rb, & & 2.44207e-01_rb, 2.40085e-01_rb, 2.36032e-01_rb, 2.32048e-01_rb/) kao_mco( 4, :,12) = (/ & & 9.74407e-01_rb, 9.46900e-01_rb, 9.20170e-01_rb, 8.94195e-01_rb, 8.68952e-01_rb, & & 8.44422e-01_rb, 8.20585e-01_rb, 7.97421e-01_rb, 7.74910e-01_rb, 7.53035e-01_rb, & & 7.31777e-01_rb, 7.11120e-01_rb, 6.91046e-01_rb, 6.71538e-01_rb, 6.52581e-01_rb, & & 6.34159e-01_rb, 6.16257e-01_rb, 5.98861e-01_rb, 5.81956e-01_rb/) kao_mco( 5, :,12) = (/ & & 1.04234e+00_rb, 1.01364e+00_rb, 9.85726e-01_rb, 9.58581e-01_rb, 9.32184e-01_rb, & & 9.06514e-01_rb, 8.81551e-01_rb, 8.57275e-01_rb, 8.33668e-01_rb, 8.10710e-01_rb, & & 7.88385e-01_rb, 7.66675e-01_rb, 7.45563e-01_rb, 7.25032e-01_rb, 7.05066e-01_rb, & & 6.85650e-01_rb, 6.66769e-01_rb, 6.48408e-01_rb, 6.30552e-01_rb/) kao_mco( 6, :,12) = (/ & & 1.79052e+00_rb, 1.73725e+00_rb, 1.68557e+00_rb, 1.63543e+00_rb, 1.58678e+00_rb, & & 1.53957e+00_rb, 1.49377e+00_rb, 1.44933e+00_rb, 1.40622e+00_rb, 1.36439e+00_rb, & & 1.32380e+00_rb, 1.28442e+00_rb, 1.24621e+00_rb, 1.20913e+00_rb, 1.17316e+00_rb, & & 1.13826e+00_rb, 1.10440e+00_rb, 1.07155e+00_rb, 1.03967e+00_rb/) kao_mco( 7, :,12) = (/ & & 2.99551e+00_rb, 2.90366e+00_rb, 2.81462e+00_rb, 2.72831e+00_rb, 2.64464e+00_rb, & & 2.56355e+00_rb, 2.48494e+00_rb, 2.40874e+00_rb, 2.33487e+00_rb, 2.26328e+00_rb, & & 2.19387e+00_rb, 2.12660e+00_rb, 2.06139e+00_rb, 1.99818e+00_rb, 1.93690e+00_rb, & & 1.87751e+00_rb, 1.81993e+00_rb, 1.76413e+00_rb, 1.71003e+00_rb/) kao_mco( 8, :,12) = (/ & & 2.89665e+00_rb, 2.81184e+00_rb, 2.72951e+00_rb, 2.64960e+00_rb, 2.57202e+00_rb, & & 2.49672e+00_rb, 2.42362e+00_rb, 2.35266e+00_rb, 2.28378e+00_rb, 2.21692e+00_rb, & & 2.15201e+00_rb, 2.08900e+00_rb, 2.02784e+00_rb, 1.96847e+00_rb, 1.91084e+00_rb, & & 1.85489e+00_rb, 1.80059e+00_rb, 1.74787e+00_rb, 1.69669e+00_rb/) kao_mco( 9, :,12) = (/ & & 1.03145e+00_rb, 1.00335e+00_rb, 9.76014e-01_rb, 9.49426e-01_rb, 9.23561e-01_rb, & & 8.98402e-01_rb, 8.73927e-01_rb, 8.50120e-01_rb, 8.26961e-01_rb, 8.04433e-01_rb, & & 7.82518e-01_rb, 7.61201e-01_rb, 7.40464e-01_rb, 7.20293e-01_rb, 7.00670e-01_rb, & & 6.81583e-01_rb, 6.63015e-01_rb, 6.44953e-01_rb, 6.27383e-01_rb/) kao_mco( 1, :,13) = (/ & & 5.27769e-04_rb, 6.65449e-04_rb, 8.39047e-04_rb, 1.05793e-03_rb, 1.33392e-03_rb, & & 1.68190e-03_rb, 2.12066e-03_rb, 2.67388e-03_rb, 3.37143e-03_rb, 4.25094e-03_rb, & & 5.35990e-03_rb, 6.75816e-03_rb, 8.52117e-03_rb, 1.07441e-02_rb, 1.35470e-02_rb, & & 1.70810e-02_rb, 2.15370e-02_rb, 2.71554e-02_rb, 3.42395e-02_rb/) kao_mco( 2, :,13) = (/ & & 1.08329e-01_rb, 1.10179e-01_rb, 1.12060e-01_rb, 1.13974e-01_rb, 1.15920e-01_rb, & & 1.17899e-01_rb, 1.19913e-01_rb, 1.21960e-01_rb, 1.24043e-01_rb, 1.26161e-01_rb, & & 1.28316e-01_rb, 1.30507e-01_rb, 1.32735e-01_rb, 1.35002e-01_rb, 1.37307e-01_rb, & & 1.39652e-01_rb, 1.42037e-01_rb, 1.44462e-01_rb, 1.46929e-01_rb/) kao_mco( 3, :,13) = (/ & & 1.95992e-01_rb, 1.94515e-01_rb, 1.93049e-01_rb, 1.91594e-01_rb, 1.90150e-01_rb, & & 1.88717e-01_rb, 1.87294e-01_rb, 1.85882e-01_rb, 1.84481e-01_rb, 1.83091e-01_rb, & & 1.81711e-01_rb, 1.80341e-01_rb, 1.78982e-01_rb, 1.77633e-01_rb, 1.76294e-01_rb, & & 1.74965e-01_rb, 1.73646e-01_rb, 1.72337e-01_rb, 1.71038e-01_rb/) kao_mco( 4, :,13) = (/ & & 4.49766e-01_rb, 4.42749e-01_rb, 4.35841e-01_rb, 4.29042e-01_rb, 4.22348e-01_rb, & & 4.15759e-01_rb, 4.09272e-01_rb, 4.02887e-01_rb, 3.96601e-01_rb, 3.90414e-01_rb, & & 3.84323e-01_rb, 3.78327e-01_rb, 3.72424e-01_rb, 3.66614e-01_rb, 3.60894e-01_rb, & & 3.55264e-01_rb, 3.49721e-01_rb, 3.44265e-01_rb, 3.38894e-01_rb/) kao_mco( 5, :,13) = (/ & & 1.07498e+00_rb, 1.04736e+00_rb, 1.02045e+00_rb, 9.94232e-01_rb, 9.68686e-01_rb, & & 9.43797e-01_rb, 9.19547e-01_rb, 8.95920e-01_rb, 8.72900e-01_rb, 8.50471e-01_rb, & & 8.28619e-01_rb, 8.07329e-01_rb, 7.86585e-01_rb, 7.66374e-01_rb, 7.46683e-01_rb, & & 7.27498e-01_rb, 7.08805e-01_rb, 6.90593e-01_rb, 6.72849e-01_rb/) kao_mco( 6, :,13) = (/ & & 1.66569e+00_rb, 1.61740e+00_rb, 1.57052e+00_rb, 1.52500e+00_rb, 1.48080e+00_rb, & & 1.43787e+00_rb, 1.39620e+00_rb, 1.35573e+00_rb, 1.31643e+00_rb, 1.27827e+00_rb, & & 1.24122e+00_rb, 1.20524e+00_rb, 1.17031e+00_rb, 1.13638e+00_rb, 1.10344e+00_rb, & & 1.07146e+00_rb, 1.04040e+00_rb, 1.01025e+00_rb, 9.80963e-01_rb/) kao_mco( 7, :,13) = (/ & & 1.52948e+00_rb, 1.48763e+00_rb, 1.44693e+00_rb, 1.40735e+00_rb, 1.36884e+00_rb, & & 1.33139e+00_rb, 1.29497e+00_rb, 1.25954e+00_rb, 1.22508e+00_rb, 1.19156e+00_rb, & & 1.15896e+00_rb, 1.12725e+00_rb, 1.09641e+00_rb, 1.06641e+00_rb, 1.03724e+00_rb, & & 1.00886e+00_rb, 9.81259e-01_rb, 9.54412e-01_rb, 9.28301e-01_rb/) kao_mco( 8, :,13) = (/ & & 3.81027e+00_rb, 3.69422e+00_rb, 3.58170e+00_rb, 3.47261e+00_rb, 3.36684e+00_rb, & & 3.26429e+00_rb, 3.16486e+00_rb, 3.06847e+00_rb, 2.97501e+00_rb, 2.88439e+00_rb, & & 2.79654e+00_rb, 2.71136e+00_rb, 2.62878e+00_rb, 2.54871e+00_rb, 2.47108e+00_rb, & & 2.39581e+00_rb, 2.32284e+00_rb, 2.25209e+00_rb, 2.18350e+00_rb/) kao_mco( 9, :,13) = (/ & & 1.12516e+00_rb, 1.09531e+00_rb, 1.06625e+00_rb, 1.03796e+00_rb, 1.01042e+00_rb, & & 9.83616e-01_rb, 9.57520e-01_rb, 9.32117e-01_rb, 9.07387e-01_rb, 8.83314e-01_rb, & & 8.59880e-01_rb, 8.37067e-01_rb, 8.14859e-01_rb, 7.93241e-01_rb, 7.72196e-01_rb, & & 7.51709e-01_rb, 7.31766e-01_rb, 7.12352e-01_rb, 6.93454e-01_rb/) kao_mco( 1, :,14) = (/ & & 4.79165e-04_rb, 6.26966e-04_rb, 8.20356e-04_rb, 1.07340e-03_rb, 1.40450e-03_rb, & & 1.83772e-03_rb, 2.40457e-03_rb, 3.14628e-03_rb, 4.11676e-03_rb, 5.38660e-03_rb, & & 7.04813e-03_rb, 9.22216e-03_rb, 1.20668e-02_rb, 1.57889e-02_rb, 2.06590e-02_rb, & & 2.70314e-02_rb, 3.53694e-02_rb, 4.62792e-02_rb, 6.05542e-02_rb/) kao_mco( 2, :,14) = (/ & & 4.75367e-04_rb, 6.21987e-04_rb, 8.13830e-04_rb, 1.06484e-03_rb, 1.39328e-03_rb, & & 1.82302e-03_rb, 2.38530e-03_rb, 3.12101e-03_rb, 4.08365e-03_rb, 5.34318e-03_rb, & & 6.99121e-03_rb, 9.14756e-03_rb, 1.19690e-02_rb, 1.56607e-02_rb, 2.04909e-02_rb, & & 2.68111e-02_rb, 3.50806e-02_rb, 4.59007e-02_rb, 6.00580e-02_rb/) kao_mco( 3, :,14) = (/ & & 1.39594e-01_rb, 1.42407e-01_rb, 1.45276e-01_rb, 1.48202e-01_rb, 1.51188e-01_rb, & & 1.54234e-01_rb, 1.57342e-01_rb, 1.60512e-01_rb, 1.63745e-01_rb, 1.67044e-01_rb, & & 1.70410e-01_rb, 1.73843e-01_rb, 1.77345e-01_rb, 1.80918e-01_rb, 1.84563e-01_rb, & & 1.88282e-01_rb, 1.92075e-01_rb, 1.95945e-01_rb, 1.99892e-01_rb/) kao_mco( 4, :,14) = (/ & & 2.73418e-01_rb, 2.71322e-01_rb, 2.69242e-01_rb, 2.67177e-01_rb, 2.65129e-01_rb, & & 2.63096e-01_rb, 2.61079e-01_rb, 2.59077e-01_rb, 2.57091e-01_rb, 2.55120e-01_rb, & & 2.53164e-01_rb, 2.51223e-01_rb, 2.49297e-01_rb, 2.47386e-01_rb, 2.45489e-01_rb, & & 2.43607e-01_rb, 2.41739e-01_rb, 2.39886e-01_rb, 2.38047e-01_rb/) kao_mco( 5, :,14) = (/ & & 5.01880e-01_rb, 4.95066e-01_rb, 4.88344e-01_rb, 4.81713e-01_rb, 4.75173e-01_rb, & & 4.68721e-01_rb, 4.62357e-01_rb, 4.56079e-01_rb, 4.49887e-01_rb, 4.43778e-01_rb, & & 4.37753e-01_rb, 4.31809e-01_rb, 4.25946e-01_rb, 4.20163e-01_rb, 4.14458e-01_rb, & & 4.08830e-01_rb, 4.03279e-01_rb, 3.97804e-01_rb, 3.92403e-01_rb/) kao_mco( 6, :,14) = (/ & & 9.46125e-01_rb, 9.29642e-01_rb, 9.13447e-01_rb, 8.97533e-01_rb, 8.81897e-01_rb, & & 8.66533e-01_rb, 8.51437e-01_rb, 8.36603e-01_rb, 8.22029e-01_rb, 8.07708e-01_rb, & & 7.93636e-01_rb, 7.79810e-01_rb, 7.66225e-01_rb, 7.52876e-01_rb, 7.39760e-01_rb, & & 7.26872e-01_rb, 7.14209e-01_rb, 7.01766e-01_rb, 6.89540e-01_rb/) kao_mco( 7, :,14) = (/ & & 2.47697e+00_rb, 2.41183e+00_rb, 2.34840e+00_rb, 2.28664e+00_rb, 2.22650e+00_rb, & & 2.16795e+00_rb, 2.11093e+00_rb, 2.05541e+00_rb, 2.00136e+00_rb, 1.94872e+00_rb, & & 1.89747e+00_rb, 1.84757e+00_rb, 1.79898e+00_rb, 1.75167e+00_rb, 1.70560e+00_rb, & & 1.66074e+00_rb, 1.61707e+00_rb, 1.57454e+00_rb, 1.53313e+00_rb/) kao_mco( 8, :,14) = (/ & & 2.19323e+00_rb, 2.13926e+00_rb, 2.08662e+00_rb, 2.03528e+00_rb, 1.98519e+00_rb, & & 1.93635e+00_rb, 1.88870e+00_rb, 1.84222e+00_rb, 1.79689e+00_rb, 1.75268e+00_rb, & & 1.70955e+00_rb, 1.66748e+00_rb, 1.62645e+00_rb, 1.58643e+00_rb, 1.54739e+00_rb, & & 1.50932e+00_rb, 1.47218e+00_rb, 1.43595e+00_rb, 1.40062e+00_rb/) kao_mco( 9, :,14) = (/ & & 5.68351e-01_rb, 5.60360e-01_rb, 5.52481e-01_rb, 5.44712e-01_rb, 5.37053e-01_rb, & & 5.29502e-01_rb, 5.22057e-01_rb, 5.14716e-01_rb, 5.07479e-01_rb, 5.00343e-01_rb, & & 4.93308e-01_rb, 4.86372e-01_rb, 4.79533e-01_rb, 4.72790e-01_rb, 4.66142e-01_rb, & & 4.59588e-01_rb, 4.53126e-01_rb, 4.46754e-01_rb, 4.40473e-01_rb/) kao_mco( 1, :,15) = (/ & & 7.87937e-04_rb, 1.01733e-03_rb, 1.31351e-03_rb, 1.69591e-03_rb, 2.18964e-03_rb, & & 2.82712e-03_rb, 3.65018e-03_rb, 4.71286e-03_rb, 6.08493e-03_rb, 7.85644e-03_rb, & & 1.01437e-02_rb, 1.30969e-02_rb, 1.69098e-02_rb, 2.18327e-02_rb, 2.81889e-02_rb, & & 3.63956e-02_rb, 4.69915e-02_rb, 6.06722e-02_rb, 7.83357e-02_rb/) kao_mco( 2, :,15) = (/ & & 7.87937e-04_rb, 1.01733e-03_rb, 1.31351e-03_rb, 1.69591e-03_rb, 2.18964e-03_rb, & & 2.82712e-03_rb, 3.65018e-03_rb, 4.71286e-03_rb, 6.08493e-03_rb, 7.85644e-03_rb, & & 1.01437e-02_rb, 1.30969e-02_rb, 1.69098e-02_rb, 2.18327e-02_rb, 2.81889e-02_rb, & & 3.63956e-02_rb, 4.69915e-02_rb, 6.06722e-02_rb, 7.83357e-02_rb/) kao_mco( 3, :,15) = (/ & & 1.97281e-01_rb, 2.00714e-01_rb, 2.04206e-01_rb, 2.07760e-01_rb, 2.11375e-01_rb, & & 2.15053e-01_rb, 2.18795e-01_rb, 2.22603e-01_rb, 2.26476e-01_rb, 2.30417e-01_rb, & & 2.34426e-01_rb, 2.38506e-01_rb, 2.42656e-01_rb, 2.46878e-01_rb, 2.51174e-01_rb, & & 2.55545e-01_rb, 2.59992e-01_rb, 2.64516e-01_rb, 2.69119e-01_rb/) kao_mco( 4, :,15) = (/ & & 4.47509e-01_rb, 4.52222e-01_rb, 4.56985e-01_rb, 4.61799e-01_rb, 4.66663e-01_rb, & & 4.71578e-01_rb, 4.76545e-01_rb, 4.81565e-01_rb, 4.86637e-01_rb, 4.91763e-01_rb, & & 4.96942e-01_rb, 5.02177e-01_rb, 5.07466e-01_rb, 5.12811e-01_rb, 5.18213e-01_rb, & & 5.23671e-01_rb, 5.29187e-01_rb, 5.34761e-01_rb, 5.40393e-01_rb/) kao_mco( 5, :,15) = (/ & & 1.02732e+00_rb, 1.02091e+00_rb, 1.01453e+00_rb, 1.00820e+00_rb, 1.00191e+00_rb, & & 9.95660e-01_rb, 9.89447e-01_rb, 9.83273e-01_rb, 9.77137e-01_rb, 9.71039e-01_rb, & & 9.64980e-01_rb, 9.58958e-01_rb, 9.52974e-01_rb, 9.47027e-01_rb, 9.41118e-01_rb, & & 9.35245e-01_rb, 9.29409e-01_rb, 9.23609e-01_rb, 9.17846e-01_rb/) kao_mco( 6, :,15) = (/ & & 1.13766e+00_rb, 1.12944e+00_rb, 1.12128e+00_rb, 1.11318e+00_rb, 1.10514e+00_rb, & & 1.09715e+00_rb, 1.08923e+00_rb, 1.08136e+00_rb, 1.07355e+00_rb, 1.06579e+00_rb, & & 1.05809e+00_rb, 1.05045e+00_rb, 1.04286e+00_rb, 1.03532e+00_rb, 1.02784e+00_rb, & & 1.02042e+00_rb, 1.01305e+00_rb, 1.00573e+00_rb, 9.98462e-01_rb/) kao_mco( 7, :,15) = (/ & & 1.13268e+00_rb, 1.12496e+00_rb, 1.11730e+00_rb, 1.10969e+00_rb, 1.10213e+00_rb, & & 1.09462e+00_rb, 1.08717e+00_rb, 1.07976e+00_rb, 1.07241e+00_rb, 1.06510e+00_rb, & & 1.05785e+00_rb, 1.05064e+00_rb, 1.04349e+00_rb, 1.03638e+00_rb, 1.02932e+00_rb, & & 1.02231e+00_rb, 1.01535e+00_rb, 1.00843e+00_rb, 1.00156e+00_rb/) kao_mco( 8, :,15) = (/ & & 1.11982e+00_rb, 1.11343e+00_rb, 1.10707e+00_rb, 1.10075e+00_rb, 1.09447e+00_rb, & & 1.08822e+00_rb, 1.08201e+00_rb, 1.07583e+00_rb, 1.06969e+00_rb, 1.06358e+00_rb, & & 1.05751e+00_rb, 1.05147e+00_rb, 1.04547e+00_rb, 1.03950e+00_rb, 1.03356e+00_rb, & & 1.02766e+00_rb, 1.02180e+00_rb, 1.01596e+00_rb, 1.01016e+00_rb/) kao_mco( 9, :,15) = (/ & & 1.03561e+00_rb, 1.02902e+00_rb, 1.02246e+00_rb, 1.01595e+00_rb, 1.00948e+00_rb, & & 1.00305e+00_rb, 9.96667e-01_rb, 9.90320e-01_rb, 9.84013e-01_rb, 9.77747e-01_rb, & & 9.71520e-01_rb, 9.65334e-01_rb, 9.59186e-01_rb, 9.53078e-01_rb, 9.47008e-01_rb, & & 9.40978e-01_rb, 9.34985e-01_rb, 9.29031e-01_rb, 9.23115e-01_rb/) kao_mco( 1, :,16) = (/ & & 1.22217e-03_rb, 1.56836e-03_rb, 2.01261e-03_rb, 2.58271e-03_rb, 3.31429e-03_rb, & & 4.25310e-03_rb, 5.45784e-03_rb, 7.00383e-03_rb, 8.98775e-03_rb, 1.15336e-02_rb, & & 1.48007e-02_rb, 1.89931e-02_rb, 2.43731e-02_rb, 3.12771e-02_rb, 4.01367e-02_rb, & & 5.15059e-02_rb, 6.60956e-02_rb, 8.48179e-02_rb, 1.08843e-01_rb/) kao_mco( 2, :,16) = (/ & & 1.22217e-03_rb, 1.56836e-03_rb, 2.01261e-03_rb, 2.58271e-03_rb, 3.31429e-03_rb, & & 4.25310e-03_rb, 5.45784e-03_rb, 7.00383e-03_rb, 8.98775e-03_rb, 1.15336e-02_rb, & & 1.48007e-02_rb, 1.89931e-02_rb, 2.43731e-02_rb, 3.12771e-02_rb, 4.01367e-02_rb, & & 5.15059e-02_rb, 6.60956e-02_rb, 8.48179e-02_rb, 1.08843e-01_rb/) kao_mco( 3, :,16) = (/ & & 1.22217e-03_rb, 1.56836e-03_rb, 2.01261e-03_rb, 2.58271e-03_rb, 3.31429e-03_rb, & & 4.25310e-03_rb, 5.45784e-03_rb, 7.00383e-03_rb, 8.98775e-03_rb, 1.15336e-02_rb, & & 1.48007e-02_rb, 1.89931e-02_rb, 2.43731e-02_rb, 3.12771e-02_rb, 4.01367e-02_rb, & & 5.15059e-02_rb, 6.60956e-02_rb, 8.48179e-02_rb, 1.08843e-01_rb/) kao_mco( 4, :,16) = (/ & & 1.01221e+00_rb, 1.01660e+00_rb, 1.02101e+00_rb, 1.02544e+00_rb, 1.02989e+00_rb, & & 1.03436e+00_rb, 1.03884e+00_rb, 1.04335e+00_rb, 1.04788e+00_rb, 1.05243e+00_rb, & & 1.05699e+00_rb, 1.06158e+00_rb, 1.06619e+00_rb, 1.07081e+00_rb, 1.07546e+00_rb, & & 1.08012e+00_rb, 1.08481e+00_rb, 1.08952e+00_rb, 1.09425e+00_rb/) kao_mco( 5, :,16) = (/ & & 1.01221e+00_rb, 1.01660e+00_rb, 1.02101e+00_rb, 1.02544e+00_rb, 1.02989e+00_rb, & & 1.03436e+00_rb, 1.03884e+00_rb, 1.04335e+00_rb, 1.04788e+00_rb, 1.05243e+00_rb, & & 1.05699e+00_rb, 1.06158e+00_rb, 1.06619e+00_rb, 1.07081e+00_rb, 1.07546e+00_rb, & & 1.08012e+00_rb, 1.08481e+00_rb, 1.08952e+00_rb, 1.09425e+00_rb/) kao_mco( 6, :,16) = (/ & & 1.01221e+00_rb, 1.01660e+00_rb, 1.02101e+00_rb, 1.02544e+00_rb, 1.02989e+00_rb, & & 1.03436e+00_rb, 1.03884e+00_rb, 1.04335e+00_rb, 1.04788e+00_rb, 1.05243e+00_rb, & & 1.05699e+00_rb, 1.06158e+00_rb, 1.06619e+00_rb, 1.07081e+00_rb, 1.07546e+00_rb, & & 1.08012e+00_rb, 1.08481e+00_rb, 1.08952e+00_rb, 1.09425e+00_rb/) kao_mco( 7, :,16) = (/ & & 1.01221e+00_rb, 1.01660e+00_rb, 1.02101e+00_rb, 1.02544e+00_rb, 1.02989e+00_rb, & & 1.03436e+00_rb, 1.03884e+00_rb, 1.04335e+00_rb, 1.04788e+00_rb, 1.05243e+00_rb, & & 1.05699e+00_rb, 1.06158e+00_rb, 1.06619e+00_rb, 1.07081e+00_rb, 1.07546e+00_rb, & & 1.08012e+00_rb, 1.08481e+00_rb, 1.08952e+00_rb, 1.09425e+00_rb/) kao_mco( 8, :,16) = (/ & & 1.01221e+00_rb, 1.01660e+00_rb, 1.02101e+00_rb, 1.02544e+00_rb, 1.02989e+00_rb, & & 1.03436e+00_rb, 1.03884e+00_rb, 1.04335e+00_rb, 1.04788e+00_rb, 1.05243e+00_rb, & & 1.05699e+00_rb, 1.06158e+00_rb, 1.06619e+00_rb, 1.07081e+00_rb, 1.07546e+00_rb, & & 1.08012e+00_rb, 1.08481e+00_rb, 1.08952e+00_rb, 1.09425e+00_rb/) kao_mco( 9, :,16) = (/ & & 1.01221e+00_rb, 1.01660e+00_rb, 1.02101e+00_rb, 1.02544e+00_rb, 1.02989e+00_rb, & & 1.03436e+00_rb, 1.03884e+00_rb, 1.04335e+00_rb, 1.04788e+00_rb, 1.05243e+00_rb, & & 1.05699e+00_rb, 1.06158e+00_rb, 1.06619e+00_rb, 1.07081e+00_rb, 1.07546e+00_rb, & & 1.08012e+00_rb, 1.08481e+00_rb, 1.08952e+00_rb, 1.09425e+00_rb/) ! The array KBO_Mxx contains the absorption coefficient for ! a minor species at the 16 chosen g-values for a reference pressure ! level above 100~ mb. The first index refers to temperature ! in 7.2 degree increments. For instance, JT = 1 refers to a ! temperature of 188.0, JT = 2 refers to 195.2, etc. The second index ! runs over the g-channel (1 to 16). kbo_mo3(:, 1) = (/ & & 1.07596e-02_rb, 1.12146e-02_rb, 1.16887e-02_rb, 1.21830e-02_rb, 1.26981e-02_rb, & & 1.32350e-02_rb, 1.37946e-02_rb, 1.43779e-02_rb, 1.49858e-02_rb, 1.56194e-02_rb, & & 1.62799e-02_rb, 1.69682e-02_rb, 1.76857e-02_rb, 1.84334e-02_rb, 1.92129e-02_rb, & & 2.00252e-02_rb, 2.08719e-02_rb, 2.17544e-02_rb, 2.26743e-02_rb/) kbo_mo3(:, 2) = (/ & & 9.48276e-02_rb, 9.66591e-02_rb, 9.85260e-02_rb, 1.00429e-01_rb, 1.02369e-01_rb, & & 1.04346e-01_rb, 1.06361e-01_rb, 1.08416e-01_rb, 1.10510e-01_rb, 1.12644e-01_rb, & & 1.14820e-01_rb, 1.17037e-01_rb, 1.19298e-01_rb, 1.21602e-01_rb, 1.23951e-01_rb, & & 1.26345e-01_rb, 1.28785e-01_rb, 1.31273e-01_rb, 1.33808e-01_rb/) kbo_mo3(:, 3) = (/ & & 3.54721e-01_rb, 3.55779e-01_rb, 3.56841e-01_rb, 3.57906e-01_rb, 3.58973e-01_rb, & & 3.60044e-01_rb, 3.61119e-01_rb, 3.62196e-01_rb, 3.63277e-01_rb, 3.64360e-01_rb, & & 3.65448e-01_rb, 3.66538e-01_rb, 3.67631e-01_rb, 3.68728e-01_rb, 3.69828e-01_rb, & & 3.70932e-01_rb, 3.72038e-01_rb, 3.73148e-01_rb, 3.74262e-01_rb/) kbo_mo3(:, 4) = (/ & & 6.46454e-01_rb, 6.43823e-01_rb, 6.41202e-01_rb, 6.38593e-01_rb, 6.35994e-01_rb, & & 6.33405e-01_rb, 6.30827e-01_rb, 6.28260e-01_rb, 6.25703e-01_rb, 6.23156e-01_rb, & & 6.20620e-01_rb, 6.18094e-01_rb, 6.15578e-01_rb, 6.13073e-01_rb, 6.10578e-01_rb, & & 6.08093e-01_rb, 6.05618e-01_rb, 6.03153e-01_rb, 6.00698e-01_rb/) kbo_mo3(:, 5) = (/ & & 9.29832e-01_rb, 9.22877e-01_rb, 9.15975e-01_rb, 9.09124e-01_rb, 9.02324e-01_rb, & & 8.95576e-01_rb, 8.88877e-01_rb, 8.82229e-01_rb, 8.75631e-01_rb, 8.69082e-01_rb, & & 8.62582e-01_rb, 8.56130e-01_rb, 8.49727e-01_rb, 8.43372e-01_rb, 8.37064e-01_rb, & & 8.30803e-01_rb, 8.24589e-01_rb, 8.18422e-01_rb, 8.12301e-01_rb/) kbo_mo3(:, 6) = (/ & & 1.43531e+00_rb, 1.42616e+00_rb, 1.41706e+00_rb, 1.40802e+00_rb, 1.39903e+00_rb, & & 1.39010e+00_rb, 1.38124e+00_rb, 1.37242e+00_rb, 1.36367e+00_rb, 1.35496e+00_rb, & & 1.34632e+00_rb, 1.33773e+00_rb, 1.32919e+00_rb, 1.32071e+00_rb, 1.31229e+00_rb, & & 1.30391e+00_rb, 1.29559e+00_rb, 1.28733e+00_rb, 1.27911e+00_rb/) kbo_mo3(:, 7) = (/ & & 2.68664e+00_rb, 2.67196e+00_rb, 2.65736e+00_rb, 2.64284e+00_rb, 2.62840e+00_rb, & & 2.61404e+00_rb, 2.59975e+00_rb, 2.58555e+00_rb, 2.57142e+00_rb, 2.55737e+00_rb, & & 2.54340e+00_rb, 2.52950e+00_rb, 2.51568e+00_rb, 2.50193e+00_rb, 2.48826e+00_rb, & & 2.47466e+00_rb, 2.46114e+00_rb, 2.44769e+00_rb, 2.43432e+00_rb/) kbo_mo3(:, 8) = (/ & & 2.45343e+00_rb, 2.43442e+00_rb, 2.41556e+00_rb, 2.39684e+00_rb, 2.37827e+00_rb, & & 2.35984e+00_rb, 2.34156e+00_rb, 2.32342e+00_rb, 2.30541e+00_rb, 2.28755e+00_rb, & & 2.26983e+00_rb, 2.25224e+00_rb, 2.23479e+00_rb, 2.21747e+00_rb, 2.20029e+00_rb, & & 2.18324e+00_rb, 2.16633e+00_rb, 2.14954e+00_rb, 2.13289e+00_rb/) kbo_mo3(:, 9) = (/ & & 1.55879e-01_rb, 1.55998e-01_rb, 1.56118e-01_rb, 1.56238e-01_rb, 1.56358e-01_rb, & & 1.56478e-01_rb, 1.56599e-01_rb, 1.56719e-01_rb, 1.56840e-01_rb, 1.56960e-01_rb, & & 1.57081e-01_rb, 1.57201e-01_rb, 1.57322e-01_rb, 1.57443e-01_rb, 1.57564e-01_rb, & & 1.57685e-01_rb, 1.57806e-01_rb, 1.57928e-01_rb, 1.58049e-01_rb/) kbo_mo3(:,10) = (/ & & 8.75149e-03_rb, 8.88794e-03_rb, 9.02651e-03_rb, 9.16725e-03_rb, 9.31018e-03_rb, & & 9.45534e-03_rb, 9.60276e-03_rb, 9.75248e-03_rb, 9.90454e-03_rb, 1.00590e-02_rb, & & 1.02158e-02_rb, 1.03751e-02_rb, 1.05368e-02_rb, 1.07011e-02_rb, 1.08680e-02_rb, & & 1.10374e-02_rb, 1.12095e-02_rb, 1.13843e-02_rb, 1.15618e-02_rb/) kbo_mo3(:,11) = (/ & & 8.83874e-03_rb, 8.97926e-03_rb, 9.12201e-03_rb, 9.26703e-03_rb, 9.41436e-03_rb, & & 9.56403e-03_rb, 9.71608e-03_rb, 9.87055e-03_rb, 1.00275e-02_rb, 1.01869e-02_rb, & & 1.03488e-02_rb, 1.05134e-02_rb, 1.06805e-02_rb, 1.08503e-02_rb, 1.10228e-02_rb, & & 1.11980e-02_rb, 1.13761e-02_rb, 1.15569e-02_rb, 1.17407e-02_rb/) kbo_mo3(:,12) = (/ & & 9.59461e-03_rb, 9.70417e-03_rb, 9.81498e-03_rb, 9.92705e-03_rb, 1.00404e-02_rb, & & 1.01550e-02_rb, 1.02710e-02_rb, 1.03883e-02_rb, 1.05069e-02_rb, 1.06269e-02_rb, & & 1.07482e-02_rb, 1.08709e-02_rb, 1.09951e-02_rb, 1.11206e-02_rb, 1.12476e-02_rb, & & 1.13760e-02_rb, 1.15059e-02_rb, 1.16373e-02_rb, 1.17702e-02_rb/) kbo_mo3(:,13) = (/ & & 1.13077e-02_rb, 1.14079e-02_rb, 1.15089e-02_rb, 1.16109e-02_rb, 1.17138e-02_rb, & & 1.18176e-02_rb, 1.19223e-02_rb, 1.20279e-02_rb, 1.21344e-02_rb, 1.22419e-02_rb, & & 1.23504e-02_rb, 1.24598e-02_rb, 1.25702e-02_rb, 1.26816e-02_rb, 1.27939e-02_rb, & & 1.29073e-02_rb, 1.30216e-02_rb, 1.31370e-02_rb, 1.32534e-02_rb/) kbo_mo3(:,14) = (/ & & 6.74844e-03_rb, 6.82637e-03_rb, 6.90519e-03_rb, 6.98493e-03_rb, 7.06558e-03_rb, & & 7.14717e-03_rb, 7.22970e-03_rb, 7.31318e-03_rb, 7.39762e-03_rb, 7.48304e-03_rb, & & 7.56945e-03_rb, 7.65686e-03_rb, 7.74527e-03_rb, 7.83470e-03_rb, 7.92517e-03_rb, & & 8.01668e-03_rb, 8.10925e-03_rb, 8.20289e-03_rb, 8.29761e-03_rb/) kbo_mo3(:,15) = (/ & & 7.94595e-03_rb, 8.00015e-03_rb, 8.05472e-03_rb, 8.10966e-03_rb, 8.16497e-03_rb, & & 8.22067e-03_rb, 8.27674e-03_rb, 8.33320e-03_rb, 8.39004e-03_rb, 8.44727e-03_rb, & & 8.50489e-03_rb, 8.56290e-03_rb, 8.62130e-03_rb, 8.68011e-03_rb, 8.73932e-03_rb, & & 8.79893e-03_rb, 8.85895e-03_rb, 8.91937e-03_rb, 8.98021e-03_rb/) kbo_mo3(:,16) = (/ & & 1.85967e-03_rb, 1.86082e-03_rb, 1.86197e-03_rb, 1.86312e-03_rb, 1.86428e-03_rb, & & 1.86543e-03_rb, 1.86658e-03_rb, 1.86774e-03_rb, 1.86889e-03_rb, 1.87005e-03_rb, & & 1.87121e-03_rb, 1.87236e-03_rb, 1.87352e-03_rb, 1.87468e-03_rb, 1.87584e-03_rb, & & 1.87700e-03_rb, 1.87816e-03_rb, 1.87932e-03_rb, 1.88049e-03_rb/) ! The array FORREFO contains the coefficient of the water vapor ! foreign-continuum (including the energy term). The first ! index refers to reference temperature (296,260,224,260) and ! pressure (970,475,219,3 mbar) levels. The second index ! runs over the g-channel (1 to 16). forrefo(1,:) = (/ & &1.6586e-05_rb,1.9995e-05_rb,1.8582e-05_rb,1.3988e-05_rb,1.3650e-05_rb,1.1079e-05_rb, & &9.5855e-06_rb,8.4062e-06_rb,1.3558e-05_rb,1.8620e-05_rb,2.2652e-05_rb,1.7883e-05_rb, & &2.6241e-05_rb,3.1171e-05_rb,3.9386e-05_rb,4.4415e-05_rb/) forrefo(2,:) = (/ & &2.0730e-05_rb,2.3258e-05_rb,2.1543e-05_rb,1.5660e-05_rb,9.7872e-06_rb,8.1078e-06_rb, & &7.0246e-06_rb,6.0428e-06_rb,4.8793e-06_rb,4.4937e-06_rb,4.7078e-06_rb,4.6898e-06_rb, & &6.9481e-06_rb,8.6269e-06_rb,3.1761e-06_rb,3.1440e-06_rb/) forrefo(3,:) = (/ & &1.5737e-05_rb,2.2501e-05_rb,2.3520e-05_rb,2.0288e-05_rb,1.2083e-05_rb,6.8256e-06_rb, & &6.0637e-06_rb,5.5434e-06_rb,4.3888e-06_rb,3.8435e-06_rb,3.8477e-06_rb,3.8314e-06_rb, & &3.8251e-06_rb,3.3637e-06_rb,3.1950e-06_rb,3.1440e-06_rb/) forrefo(4,:) = (/ & &1.1400e-05_rb,7.9751e-06_rb,8.8659e-06_rb,1.5884e-05_rb,1.9118e-05_rb,1.9429e-05_rb, & &2.0532e-05_rb,2.2155e-05_rb,2.3894e-05_rb,2.2984e-05_rb,2.3731e-05_rb,2.4538e-05_rb, & &2.6697e-05_rb,1.9329e-05_rb,3.3306e-06_rb,3.2018e-06_rb/) ! The array SELFREFO contains the coefficient of the water vapor ! self-continuum (including the energy term). The first index ! refers to temperature in 7.2 degree increments. For instance, ! JT = 1 refers to a temperature of 245.6, JT = 2 refers to 252.8, ! etc. The second index runs over the g-channel (1 to 16). selfrefo(:, 1) = (/ & & 9.62275e-03_rb, 8.29909e-03_rb, 7.15750e-03_rb, 6.17294e-03_rb, 5.32382e-03_rb, & & 4.59150e-03_rb, 3.95991e-03_rb, 3.41520e-03_rb, 2.94542e-03_rb, 2.54026e-03_rb/) selfrefo(:, 2) = (/ & & 9.76664e-03_rb, 8.47783e-03_rb, 7.35910e-03_rb, 6.38799e-03_rb, 5.54504e-03_rb, & & 4.81331e-03_rb, 4.17815e-03_rb, 3.62680e-03_rb, 3.14821e-03_rb, 2.73277e-03_rb/) selfrefo(:, 3) = (/ & & 9.53856e-03_rb, 8.23750e-03_rb, 7.11390e-03_rb, 6.14356e-03_rb, 5.30558e-03_rb, & & 4.58190e-03_rb, 3.95693e-03_rb, 3.41720e-03_rb, 2.95109e-03_rb, 2.54856e-03_rb/) selfrefo(:, 4) = (/ & & 8.47621e-03_rb, 7.29518e-03_rb, 6.27870e-03_rb, 5.40385e-03_rb, 4.65091e-03_rb, & & 4.00287e-03_rb, 3.44513e-03_rb, 2.96510e-03_rb, 2.55196e-03_rb, 2.19638e-03_rb/) selfrefo(:, 5) = (/ & & 6.71258e-03_rb, 5.95346e-03_rb, 5.28020e-03_rb, 4.68307e-03_rb, 4.15348e-03_rb, & & 3.68377e-03_rb, 3.26718e-03_rb, 2.89770e-03_rb, 2.57000e-03_rb, 2.27937e-03_rb/) selfrefo(:, 6) = (/ & & 6.29140e-03_rb, 5.55557e-03_rb, 4.90580e-03_rb, 4.33203e-03_rb, 3.82536e-03_rb, & & 3.37795e-03_rb, 2.98287e-03_rb, 2.63400e-03_rb, 2.32593e-03_rb, 2.05389e-03_rb/) selfrefo(:, 7) = (/ & & 6.00229e-03_rb, 5.28180e-03_rb, 4.64780e-03_rb, 4.08990e-03_rb, 3.59897e-03_rb, & & 3.16696e-03_rb, 2.78682e-03_rb, 2.45230e-03_rb, 2.15794e-03_rb, 1.89891e-03_rb/) selfrefo(:, 8) = (/ & & 5.78892e-03_rb, 5.07191e-03_rb, 4.44370e-03_rb, 3.89330e-03_rb, 3.41108e-03_rb, & & 2.98858e-03_rb, 2.61842e-03_rb, 2.29410e-03_rb, 2.00995e-03_rb, 1.76100e-03_rb/) selfrefo(:, 9) = (/ & & 4.96186e-03_rb, 4.56767e-03_rb, 4.20480e-03_rb, 3.87076e-03_rb, 3.56325e-03_rb, & & 3.28017e-03_rb, 3.01959e-03_rb, 2.77970e-03_rb, 2.55887e-03_rb, 2.35559e-03_rb/) selfrefo(:,10) = (/ & & 4.56849e-03_rb, 4.35527e-03_rb, 4.15200e-03_rb, 3.95822e-03_rb, 3.77348e-03_rb, & & 3.59736e-03_rb, 3.42946e-03_rb, 3.26940e-03_rb, 3.11681e-03_rb, 2.97134e-03_rb/) selfrefo(:,11) = (/ & & 4.47310e-03_rb, 4.32453e-03_rb, 4.18090e-03_rb, 4.04204e-03_rb, 3.90779e-03_rb, & & 3.77799e-03_rb, 3.65251e-03_rb, 3.53120e-03_rb, 3.41392e-03_rb, 3.30053e-03_rb/) selfrefo(:,12) = (/ & & 4.46459e-03_rb, 4.24031e-03_rb, 4.02730e-03_rb, 3.82499e-03_rb, 3.63284e-03_rb, & & 3.45035e-03_rb, 3.27702e-03_rb, 3.11240e-03_rb, 2.95605e-03_rb, 2.80755e-03_rb/) selfrefo(:,13) = (/ & & 4.43961e-03_rb, 4.35658e-03_rb, 4.27510e-03_rb, 4.19514e-03_rb, 4.11669e-03_rb, & & 4.03969e-03_rb, 3.96414e-03_rb, 3.89000e-03_rb, 3.81725e-03_rb, 3.74585e-03_rb/) selfrefo(:,14) = (/ & & 4.40512e-03_rb, 4.41515e-03_rb, 4.42520e-03_rb, 4.43527e-03_rb, 4.44537e-03_rb, & & 4.45549e-03_rb, 4.46563e-03_rb, 4.47580e-03_rb, 4.48599e-03_rb, 4.49620e-03_rb/) selfrefo(:,15) = (/ & & 3.21965e-03_rb, 3.42479e-03_rb, 3.64300e-03_rb, 3.87512e-03_rb, 4.12202e-03_rb, & & 4.38466e-03_rb, 4.66403e-03_rb, 4.96120e-03_rb, 5.27731e-03_rb, 5.61355e-03_rb/) selfrefo(:,16) = (/ & & 3.11402e-03_rb, 3.35870e-03_rb, 3.62260e-03_rb, 3.90724e-03_rb, 4.21424e-03_rb, & & 4.54536e-03_rb, 4.90250e-03_rb, 5.28770e-03_rb, 5.70317e-03_rb, 6.15128e-03_rb/) end subroutine lw_kgb13 ! ************************************************************************** subroutine lw_kgb14 ! ************************************************************************** use parkind, only : im => kind_im, rb => kind_rb use rrlw_kg14, only : fracrefao, fracrefbo, kao, kbo, selfrefo, forrefo implicit none save ! Planck fraction mapping level : P = 142.5940 mb, T = 215.70 K fracrefao(:) = (/ & & 1.9360e-01_rb, 1.7276e-01_rb, 1.4811e-01_rb, 1.2238e-01_rb, & & 1.0242e-01_rb, 8.6830e-02_rb, 7.1890e-02_rb, 5.4030e-02_rb, & & 3.5075e-02_rb, 3.8052e-03_rb, 3.1458e-03_rb, 2.4873e-03_rb, & & 1.8182e-03_rb, 1.1563e-03_rb, 4.3251e-04_rb, 5.7744e-05_rb/) ! Planck fraction mapping level : P = 4.758820mb, T = 250.85 K fracrefbo(:) = (/ & & 1.8599e-01_rb, 1.6646e-01_rb, 1.4264e-01_rb, 1.2231e-01_rb, & & 1.0603e-01_rb, 9.2014e-02_rb, 7.5287e-02_rb, 5.6758e-02_rb, & & 3.8386e-02_rb, 4.2139e-03_rb, 3.5399e-03_rb, 2.7381e-03_rb, & & 1.9202e-03_rb, 1.2083e-03_rb, 4.5395e-04_rb, 6.2699e-05_rb/) ! The array KAO contains absorption coefs for each of the 16 g-intervals ! for a range of pressure levels > ~100mb, temperatures, and ratios ! of water vapor to CO2. The first index in the array, JS, runs ! from 1 to 10, and corresponds to different gas column amount ratios, ! as expressed through the binary species parameter eta, defined as ! eta = gas1/(gas1 + (rat) * gas2), where rat is the ! ratio of the reference MLS column amount value of gas 1 ! to that of gas2. ! The 2nd index in the array, JT, which runs from 1 to 5, corresponds ! to different temperatures. More specifically, JT = 3 means that the ! data are for the reference temperature TREF for this pressure ! level, JT = 2 refers to the temperature ! TREF-15, JT = 1 is for TREF-30, JT = 4 is for TREF+15, and JT = 5 ! is for TREF+30. The third index, JP, runs from 1 to 13 and refers ! to the reference pressure level (e.g. JP = 1 is for a ! pressure of 1053.63 mb). The fourth index, IG, goes from 1 to 16, ! and tells us which g-interval the absorption coefficients are for. kao(:, 1, 1) = (/ & &3.5183e-01_rb,3.7165e-01_rb,3.9536e-01_rb,4.2364e-01_rb,4.5645e-01_rb/) kao(:, 2, 1) = (/ & &2.9958e-01_rb,3.1568e-01_rb,3.3580e-01_rb,3.6030e-01_rb,3.8890e-01_rb/) kao(:, 3, 1) = (/ & &2.5105e-01_rb,2.6327e-01_rb,2.7913e-01_rb,2.9918e-01_rb,3.2278e-01_rb/) kao(:, 4, 1) = (/ & &2.0894e-01_rb,2.1786e-01_rb,2.3000e-01_rb,2.4588e-01_rb,2.6517e-01_rb/) kao(:, 5, 1) = (/ & &1.7343e-01_rb,1.7993e-01_rb,1.8907e-01_rb,2.0143e-01_rb,2.1685e-01_rb/) kao(:, 6, 1) = (/ & &1.4374e-01_rb,1.4829e-01_rb,1.5503e-01_rb,1.6436e-01_rb,1.7642e-01_rb/) kao(:, 7, 1) = (/ & &1.1916e-01_rb,1.2232e-01_rb,1.2721e-01_rb,1.3426e-01_rb,1.4361e-01_rb/) kao(:, 8, 1) = (/ & &9.8898e-02_rb,1.0120e-01_rb,1.0467e-01_rb,1.0982e-01_rb,1.1705e-01_rb/) kao(:, 9, 1) = (/ & &8.2212e-02_rb,8.3740e-02_rb,8.6244e-02_rb,9.0121e-02_rb,9.5602e-02_rb/) kao(:,10, 1) = (/ & &6.8330e-02_rb,6.9351e-02_rb,7.1210e-02_rb,7.4137e-02_rb,7.8349e-02_rb/) kao(:,11, 1) = (/ & &5.6910e-02_rb,5.7856e-02_rb,5.9557e-02_rb,6.2211e-02_rb,6.6055e-02_rb/) kao(:,12, 1) = (/ & &4.7279e-02_rb,4.8187e-02_rb,4.9716e-02_rb,5.2169e-02_rb,5.5693e-02_rb/) kao(:,13, 1) = (/ & &3.9228e-02_rb,4.0055e-02_rb,4.1480e-02_rb,4.3734e-02_rb,4.6826e-02_rb/) kao(:, 1, 2) = (/ & &1.2827e+00_rb,1.3853e+00_rb,1.5108e+00_rb,1.6643e+00_rb,1.8505e+00_rb/) kao(:, 2, 2) = (/ & &1.1042e+00_rb,1.1988e+00_rb,1.3140e+00_rb,1.4542e+00_rb,1.6229e+00_rb/) kao(:, 3, 2) = (/ & &9.2790e-01_rb,1.0121e+00_rb,1.1133e+00_rb,1.2349e+00_rb,1.3807e+00_rb/) kao(:, 4, 2) = (/ & &7.7001e-01_rb,8.4339e-01_rb,9.3172e-01_rb,1.0366e+00_rb,1.1604e+00_rb/) kao(:, 5, 2) = (/ & &6.3550e-01_rb,6.9915e-01_rb,7.7552e-01_rb,8.6518e-01_rb,9.7050e-01_rb/) kao(:, 6, 2) = (/ & &5.2058e-01_rb,5.7460e-01_rb,6.3982e-01_rb,7.1578e-01_rb,8.0435e-01_rb/) kao(:, 7, 2) = (/ & &4.2451e-01_rb,4.7028e-01_rb,5.2464e-01_rb,5.8830e-01_rb,6.6179e-01_rb/) kao(:, 8, 2) = (/ & &3.4539e-01_rb,3.8222e-01_rb,4.2607e-01_rb,4.7789e-01_rb,5.3786e-01_rb/) kao(:, 9, 2) = (/ & &2.7941e-01_rb,3.0849e-01_rb,3.4320e-01_rb,3.8420e-01_rb,4.3240e-01_rb/) kao(:,10, 2) = (/ & &2.2666e-01_rb,2.5024e-01_rb,2.7777e-01_rb,3.1051e-01_rb,3.4934e-01_rb/) kao(:,11, 2) = (/ & &1.9193e-01_rb,2.1218e-01_rb,2.3589e-01_rb,2.6422e-01_rb,2.9804e-01_rb/) kao(:,12, 2) = (/ & &1.6216e-01_rb,1.7954e-01_rb,2.0015e-01_rb,2.2464e-01_rb,2.5376e-01_rb/) kao(:,13, 2) = (/ & &1.3654e-01_rb,1.5163e-01_rb,1.6956e-01_rb,1.9071e-01_rb,2.1617e-01_rb/) kao(:, 1, 3) = (/ & &5.3312e+00_rb,5.9534e+00_rb,6.6227e+00_rb,7.3398e+00_rb,8.1099e+00_rb/) kao(:, 2, 3) = (/ & &4.6807e+00_rb,5.2433e+00_rb,5.8458e+00_rb,6.4988e+00_rb,7.1971e+00_rb/) kao(:, 3, 3) = (/ & &3.9284e+00_rb,4.4200e+00_rb,4.9505e+00_rb,5.5235e+00_rb,6.1336e+00_rb/) kao(:, 4, 3) = (/ & &3.2160e+00_rb,3.6333e+00_rb,4.0896e+00_rb,4.5842e+00_rb,5.1138e+00_rb/) kao(:, 5, 3) = (/ & &2.5935e+00_rb,2.9443e+00_rb,3.3309e+00_rb,3.7529e+00_rb,4.2079e+00_rb/) kao(:, 6, 3) = (/ & &2.0555e+00_rb,2.3468e+00_rb,2.6695e+00_rb,3.0246e+00_rb,3.4114e+00_rb/) kao(:, 7, 3) = (/ & &1.6122e+00_rb,1.8522e+00_rb,2.1211e+00_rb,2.4178e+00_rb,2.7436e+00_rb/) kao(:, 8, 3) = (/ & &1.2572e+00_rb,1.4549e+00_rb,1.6787e+00_rb,1.9278e+00_rb,2.2011e+00_rb/) kao(:, 9, 3) = (/ & &9.7554e-01_rb,1.1374e+00_rb,1.3224e+00_rb,1.5307e+00_rb,1.7599e+00_rb/) kao(:,10, 3) = (/ & &7.6412e-01_rb,8.9744e-01_rb,1.0509e+00_rb,1.2253e+00_rb,1.4183e+00_rb/) kao(:,11, 3) = (/ & &6.4606e-01_rb,7.6360e-01_rb,8.9925e-01_rb,1.0524e+00_rb,1.2194e+00_rb/) kao(:,12, 3) = (/ & &5.4819e-01_rb,6.5159e-01_rb,7.6939e-01_rb,8.9987e-01_rb,1.0405e+00_rb/) kao(:,13, 3) = (/ & &4.6584e-01_rb,5.5439e-01_rb,6.5378e-01_rb,7.6270e-01_rb,8.8077e-01_rb/) kao(:, 1, 4) = (/ & &1.6140e+01_rb,1.7514e+01_rb,1.8771e+01_rb,1.9886e+01_rb,2.0829e+01_rb/) kao(:, 2, 4) = (/ & &1.4035e+01_rb,1.5167e+01_rb,1.6185e+01_rb,1.7079e+01_rb,1.7864e+01_rb/) kao(:, 3, 4) = (/ & &1.2090e+01_rb,1.3039e+01_rb,1.3889e+01_rb,1.4653e+01_rb,1.5339e+01_rb/) kao(:, 4, 4) = (/ & &1.0243e+01_rb,1.1063e+01_rb,1.1803e+01_rb,1.2472e+01_rb,1.3075e+01_rb/) kao(:, 5, 4) = (/ & &8.5658e+00_rb,9.2747e+00_rb,9.9250e+00_rb,1.0511e+01_rb,1.1040e+01_rb/) kao(:, 6, 4) = (/ & &7.0689e+00_rb,7.6839e+00_rb,8.2525e+00_rb,8.7702e+00_rb,9.2411e+00_rb/) kao(:, 7, 4) = (/ & &5.7728e+00_rb,6.3036e+00_rb,6.7993e+00_rb,7.2580e+00_rb,7.6760e+00_rb/) kao(:, 8, 4) = (/ & &4.6719e+00_rb,5.1262e+00_rb,5.5542e+00_rb,5.9566e+00_rb,6.3304e+00_rb/) kao(:, 9, 4) = (/ & &3.7449e+00_rb,4.1314e+00_rb,4.4992e+00_rb,4.8512e+00_rb,5.1834e+00_rb/) kao(:,10, 4) = (/ & &2.9983e+00_rb,3.3274e+00_rb,3.6424e+00_rb,3.9480e+00_rb,4.2418e+00_rb/) kao(:,11, 4) = (/ & &2.5136e+00_rb,2.7891e+00_rb,3.0545e+00_rb,3.3182e+00_rb,3.5747e+00_rb/) kao(:,12, 4) = (/ & &2.1004e+00_rb,2.3314e+00_rb,2.5605e+00_rb,2.7929e+00_rb,3.0174e+00_rb/) kao(:,13, 4) = (/ & &1.7524e+00_rb,1.9492e+00_rb,2.1512e+00_rb,2.3564e+00_rb,2.5478e+00_rb/) kao(:, 1, 5) = (/ & &3.4724e+01_rb,3.5203e+01_rb,3.5615e+01_rb,3.5967e+01_rb,3.6300e+01_rb/) kao(:, 2, 5) = (/ & &2.9704e+01_rb,3.0154e+01_rb,3.0541e+01_rb,3.0880e+01_rb,3.1155e+01_rb/) kao(:, 3, 5) = (/ & &2.5203e+01_rb,2.5623e+01_rb,2.5990e+01_rb,2.6275e+01_rb,2.6504e+01_rb/) kao(:, 4, 5) = (/ & &2.1552e+01_rb,2.1924e+01_rb,2.2232e+01_rb,2.2450e+01_rb,2.2639e+01_rb/) kao(:, 5, 5) = (/ & &1.8513e+01_rb,1.8836e+01_rb,1.9081e+01_rb,1.9246e+01_rb,1.9410e+01_rb/) kao(:, 6, 5) = (/ & &1.5765e+01_rb,1.6046e+01_rb,1.6242e+01_rb,1.6370e+01_rb,1.6509e+01_rb/) kao(:, 7, 5) = (/ & &1.3333e+01_rb,1.3583e+01_rb,1.3745e+01_rb,1.3853e+01_rb,1.3971e+01_rb/) kao(:, 8, 5) = (/ & &1.1230e+01_rb,1.1452e+01_rb,1.1589e+01_rb,1.1683e+01_rb,1.1782e+01_rb/) kao(:, 9, 5) = (/ & &9.4196e+00_rb,9.6109e+00_rb,9.7356e+00_rb,9.8175e+00_rb,9.8960e+00_rb/) kao(:,10, 5) = (/ & &7.8743e+00_rb,8.0366e+00_rb,8.1439e+00_rb,8.2124e+00_rb,8.2768e+00_rb/) kao(:,11, 5) = (/ & &6.6265e+00_rb,6.7386e+00_rb,6.8161e+00_rb,6.8681e+00_rb,6.9329e+00_rb/) kao(:,12, 5) = (/ & &5.5390e+00_rb,5.6241e+00_rb,5.6817e+00_rb,5.7305e+00_rb,5.8031e+00_rb/) kao(:,13, 5) = (/ & &4.6094e+00_rb,4.6772e+00_rb,4.7246e+00_rb,4.7737e+00_rb,4.8549e+00_rb/) kao(:, 1, 6) = (/ & &5.5082e+01_rb,5.5287e+01_rb,5.5714e+01_rb,5.6227e+01_rb,5.6768e+01_rb/) kao(:, 2, 6) = (/ & &4.8272e+01_rb,4.8698e+01_rb,4.9143e+01_rb,4.9607e+01_rb,5.0132e+01_rb/) kao(:, 3, 6) = (/ & &4.2021e+01_rb,4.2370e+01_rb,4.2729e+01_rb,4.3163e+01_rb,4.3674e+01_rb/) kao(:, 4, 6) = (/ & &3.6214e+01_rb,3.6443e+01_rb,3.6742e+01_rb,3.7158e+01_rb,3.7640e+01_rb/) kao(:, 5, 6) = (/ & &3.1082e+01_rb,3.1249e+01_rb,3.1507e+01_rb,3.1893e+01_rb,3.2320e+01_rb/) kao(:, 6, 6) = (/ & &2.6864e+01_rb,2.6986e+01_rb,2.7204e+01_rb,2.7526e+01_rb,2.7858e+01_rb/) kao(:, 7, 6) = (/ & &2.3146e+01_rb,2.3231e+01_rb,2.3407e+01_rb,2.3654e+01_rb,2.3926e+01_rb/) kao(:, 8, 6) = (/ & &1.9819e+01_rb,1.9868e+01_rb,1.9994e+01_rb,2.0178e+01_rb,2.0400e+01_rb/) kao(:, 9, 6) = (/ & &1.6892e+01_rb,1.6913e+01_rb,1.7001e+01_rb,1.7132e+01_rb,1.7310e+01_rb/) kao(:,10, 6) = (/ & &1.4365e+01_rb,1.4367e+01_rb,1.4429e+01_rb,1.4521e+01_rb,1.4660e+01_rb/) kao(:,11, 6) = (/ & &1.2162e+01_rb,1.2177e+01_rb,1.2223e+01_rb,1.2309e+01_rb,1.2439e+01_rb/) kao(:,12, 6) = (/ & &1.0257e+01_rb,1.0260e+01_rb,1.0295e+01_rb,1.0375e+01_rb,1.0502e+01_rb/) kao(:,13, 6) = (/ & &8.6109e+00_rb,8.6045e+00_rb,8.6391e+00_rb,8.7159e+00_rb,8.8472e+00_rb/) kao(:, 1, 7) = (/ & &9.6537e+01_rb,9.5488e+01_rb,9.4812e+01_rb,9.4687e+01_rb,9.5057e+01_rb/) kao(:, 2, 7) = (/ & &8.5306e+01_rb,8.4772e+01_rb,8.4928e+01_rb,8.5670e+01_rb,8.6805e+01_rb/) kao(:, 3, 7) = (/ & &7.4847e+01_rb,7.4994e+01_rb,7.5806e+01_rb,7.7131e+01_rb,7.8782e+01_rb/) kao(:, 4, 7) = (/ & &6.5341e+01_rb,6.6016e+01_rb,6.7305e+01_rb,6.9026e+01_rb,7.0761e+01_rb/) kao(:, 5, 7) = (/ & &5.6784e+01_rb,5.7825e+01_rb,5.9429e+01_rb,6.1058e+01_rb,6.2599e+01_rb/) kao(:, 6, 7) = (/ & &4.9097e+01_rb,5.0352e+01_rb,5.1865e+01_rb,5.3258e+01_rb,5.4642e+01_rb/) kao(:, 7, 7) = (/ & &4.2608e+01_rb,4.3857e+01_rb,4.5074e+01_rb,4.6282e+01_rb,4.7459e+01_rb/) kao(:, 8, 7) = (/ & &3.7209e+01_rb,3.8259e+01_rb,3.9241e+01_rb,4.0246e+01_rb,4.1244e+01_rb/) kao(:, 9, 7) = (/ & &3.2353e+01_rb,3.3212e+01_rb,3.4023e+01_rb,3.4877e+01_rb,3.5739e+01_rb/) kao(:,10, 7) = (/ & &2.7960e+01_rb,2.8627e+01_rb,2.9290e+01_rb,3.0022e+01_rb,3.0747e+01_rb/) kao(:,11, 7) = (/ & &2.4264e+01_rb,2.4777e+01_rb,2.5355e+01_rb,2.5965e+01_rb,2.6544e+01_rb/) kao(:,12, 7) = (/ & &2.0930e+01_rb,2.1372e+01_rb,2.1863e+01_rb,2.2353e+01_rb,2.2822e+01_rb/) kao(:,13, 7) = (/ & &1.7993e+01_rb,1.8373e+01_rb,1.8772e+01_rb,1.9157e+01_rb,1.9544e+01_rb/) kao(:, 1, 8) = (/ & &2.1856e+02_rb,2.1566e+02_rb,2.1284e+02_rb,2.0997e+02_rb,2.0718e+02_rb/) kao(:, 2, 8) = (/ & &2.0300e+02_rb,2.0022e+02_rb,1.9750e+02_rb,1.9481e+02_rb,1.9235e+02_rb/) kao(:, 3, 8) = (/ & &1.8584e+02_rb,1.8317e+02_rb,1.8063e+02_rb,1.7831e+02_rb,1.7621e+02_rb/) kao(:, 4, 8) = (/ & &1.6761e+02_rb,1.6519e+02_rb,1.6298e+02_rb,1.6101e+02_rb,1.5981e+02_rb/) kao(:, 5, 8) = (/ & &1.4928e+02_rb,1.4711e+02_rb,1.4522e+02_rb,1.4425e+02_rb,1.4420e+02_rb/) kao(:, 6, 8) = (/ & &1.3122e+02_rb,1.2933e+02_rb,1.2822e+02_rb,1.2825e+02_rb,1.2918e+02_rb/) kao(:, 7, 8) = (/ & &1.1410e+02_rb,1.1264e+02_rb,1.1239e+02_rb,1.1324e+02_rb,1.1505e+02_rb/) kao(:, 8, 8) = (/ & &9.8348e+01_rb,9.7493e+01_rb,9.7940e+01_rb,9.9442e+01_rb,1.0191e+02_rb/) kao(:, 9, 8) = (/ & &8.4647e+01_rb,8.4268e+01_rb,8.5204e+01_rb,8.7179e+01_rb,9.0023e+01_rb/) kao(:,10, 8) = (/ & &7.3021e+01_rb,7.3118e+01_rb,7.4447e+01_rb,7.6754e+01_rb,7.9414e+01_rb/) kao(:,11, 8) = (/ & &6.3300e+01_rb,6.4312e+01_rb,6.6319e+01_rb,6.8546e+01_rb,7.0686e+01_rb/) kao(:,12, 8) = (/ & &5.5501e+01_rb,5.7093e+01_rb,5.8983e+01_rb,6.0787e+01_rb,6.2564e+01_rb/) kao(:,13, 8) = (/ & &4.8706e+01_rb,5.0287e+01_rb,5.1813e+01_rb,5.3328e+01_rb,5.4791e+01_rb/) kao(:, 1, 9) = (/ & &5.5934e+02_rb,5.5574e+02_rb,5.5144e+02_rb,5.4673e+02_rb,5.4155e+02_rb/) kao(:, 2, 9) = (/ & &5.7946e+02_rb,5.7510e+02_rb,5.7015e+02_rb,5.6485e+02_rb,5.5885e+02_rb/) kao(:, 3, 9) = (/ & &5.9076e+02_rb,5.8577e+02_rb,5.8036e+02_rb,5.7428e+02_rb,5.6790e+02_rb/) kao(:, 4, 9) = (/ & &5.9122e+02_rb,5.8578e+02_rb,5.7964e+02_rb,5.7332e+02_rb,5.6635e+02_rb/) kao(:, 5, 9) = (/ & &5.8028e+02_rb,5.7411e+02_rb,5.6769e+02_rb,5.6068e+02_rb,5.5353e+02_rb/) kao(:, 6, 9) = (/ & &5.5962e+02_rb,5.5294e+02_rb,5.4600e+02_rb,5.3888e+02_rb,5.3142e+02_rb/) kao(:, 7, 9) = (/ & &5.2985e+02_rb,5.2302e+02_rb,5.1578e+02_rb,5.0845e+02_rb,5.0105e+02_rb/) kao(:, 8, 9) = (/ & &4.9277e+02_rb,4.8554e+02_rb,4.7838e+02_rb,4.7112e+02_rb,4.6381e+02_rb/) kao(:, 9, 9) = (/ & &4.5092e+02_rb,4.4373e+02_rb,4.3650e+02_rb,4.2952e+02_rb,4.2278e+02_rb/) kao(:,10, 9) = (/ & &4.0542e+02_rb,3.9841e+02_rb,3.9162e+02_rb,3.8505e+02_rb,3.7968e+02_rb/) kao(:,11, 9) = (/ & &3.5669e+02_rb,3.5010e+02_rb,3.4395e+02_rb,3.3923e+02_rb,3.3643e+02_rb/) kao(:,12, 9) = (/ & &3.0992e+02_rb,3.0411e+02_rb,2.9975e+02_rb,2.9742e+02_rb,2.9692e+02_rb/) kao(:,13, 9) = (/ & &2.6703e+02_rb,2.6279e+02_rb,2.6062e+02_rb,2.6039e+02_rb,2.6194e+02_rb/) kao(:, 1,10) = (/ & &9.5667e+02_rb,9.5651e+02_rb,9.5375e+02_rb,9.4993e+02_rb,9.4458e+02_rb/) kao(:, 2,10) = (/ & &1.0737e+03_rb,1.0712e+03_rb,1.0675e+03_rb,1.0621e+03_rb,1.0554e+03_rb/) kao(:, 3,10) = (/ & &1.1862e+03_rb,1.1837e+03_rb,1.1793e+03_rb,1.1732e+03_rb,1.1657e+03_rb/) kao(:, 4,10) = (/ & &1.2923e+03_rb,1.2885e+03_rb,1.2837e+03_rb,1.2762e+03_rb,1.2683e+03_rb/) kao(:, 5,10) = (/ & &1.3860e+03_rb,1.3831e+03_rb,1.3760e+03_rb,1.3692e+03_rb,1.3583e+03_rb/) kao(:, 6,10) = (/ & &1.4574e+03_rb,1.4515e+03_rb,1.4451e+03_rb,1.4344e+03_rb,1.4246e+03_rb/) kao(:, 7,10) = (/ & &1.5032e+03_rb,1.4948e+03_rb,1.4847e+03_rb,1.4737e+03_rb,1.4593e+03_rb/) kao(:, 8,10) = (/ & &1.5178e+03_rb,1.5093e+03_rb,1.4967e+03_rb,1.4828e+03_rb,1.4689e+03_rb/) kao(:, 9,10) = (/ & &1.5009e+03_rb,1.4874e+03_rb,1.4751e+03_rb,1.4596e+03_rb,1.4422e+03_rb/) kao(:,10,10) = (/ & &1.4526e+03_rb,1.4382e+03_rb,1.4207e+03_rb,1.4042e+03_rb,1.3871e+03_rb/) kao(:,11,10) = (/ & &1.3669e+03_rb,1.3492e+03_rb,1.3313e+03_rb,1.3144e+03_rb,1.2952e+03_rb/) kao(:,12,10) = (/ & &1.2561e+03_rb,1.2377e+03_rb,1.2201e+03_rb,1.2021e+03_rb,1.1826e+03_rb/) kao(:,13,10) = (/ & &1.1367e+03_rb,1.1187e+03_rb,1.1007e+03_rb,1.0822e+03_rb,1.0635e+03_rb/) kao(:, 1,11) = (/ & &1.0788e+03_rb,1.0784e+03_rb,1.0786e+03_rb,1.0769e+03_rb,1.0720e+03_rb/) kao(:, 2,11) = (/ & &1.2360e+03_rb,1.2387e+03_rb,1.2382e+03_rb,1.2346e+03_rb,1.2287e+03_rb/) kao(:, 3,11) = (/ & &1.4028e+03_rb,1.4050e+03_rb,1.4041e+03_rb,1.4005e+03_rb,1.3939e+03_rb/) kao(:, 4,11) = (/ & &1.5761e+03_rb,1.5770e+03_rb,1.5755e+03_rb,1.5691e+03_rb,1.5622e+03_rb/) kao(:, 5,11) = (/ & &1.7429e+03_rb,1.7443e+03_rb,1.7409e+03_rb,1.7348e+03_rb,1.7262e+03_rb/) kao(:, 6,11) = (/ & &1.9004e+03_rb,1.9007e+03_rb,1.8945e+03_rb,1.8893e+03_rb,1.8776e+03_rb/) kao(:, 7,11) = (/ & &2.0382e+03_rb,2.0344e+03_rb,2.0314e+03_rb,2.0213e+03_rb,2.0121e+03_rb/) kao(:, 8,11) = (/ & &2.1442e+03_rb,2.1390e+03_rb,2.1319e+03_rb,2.1222e+03_rb,2.1076e+03_rb/) kao(:, 9,11) = (/ & &2.2113e+03_rb,2.2063e+03_rb,2.1931e+03_rb,2.1796e+03_rb,2.1631e+03_rb/) kao(:,10,11) = (/ & &2.2360e+03_rb,2.2231e+03_rb,2.2114e+03_rb,2.1930e+03_rb,2.1737e+03_rb/) kao(:,11,11) = (/ & &2.2031e+03_rb,2.1887e+03_rb,2.1696e+03_rb,2.1476e+03_rb,2.1259e+03_rb/) kao(:,12,11) = (/ & &2.1236e+03_rb,2.1030e+03_rb,2.0791e+03_rb,2.0554e+03_rb,2.0303e+03_rb/) kao(:,13,11) = (/ & &1.9976e+03_rb,1.9732e+03_rb,1.9489e+03_rb,1.9244e+03_rb,1.8976e+03_rb/) kao(:, 1,12) = (/ & &1.1934e+03_rb,1.1955e+03_rb,1.1958e+03_rb,1.1936e+03_rb,1.1920e+03_rb/) kao(:, 2,12) = (/ & &1.3945e+03_rb,1.3970e+03_rb,1.3984e+03_rb,1.3987e+03_rb,1.3979e+03_rb/) kao(:, 3,12) = (/ & &1.6215e+03_rb,1.6249e+03_rb,1.6252e+03_rb,1.6264e+03_rb,1.6242e+03_rb/) kao(:, 4,12) = (/ & &1.8681e+03_rb,1.8729e+03_rb,1.8755e+03_rb,1.8766e+03_rb,1.8729e+03_rb/) kao(:, 5,12) = (/ & &2.1302e+03_rb,2.1346e+03_rb,2.1412e+03_rb,2.1410e+03_rb,2.1383e+03_rb/) kao(:, 6,12) = (/ & &2.4029e+03_rb,2.4115e+03_rb,2.4156e+03_rb,2.4143e+03_rb,2.4101e+03_rb/) kao(:, 7,12) = (/ & &2.6748e+03_rb,2.6869e+03_rb,2.6879e+03_rb,2.6884e+03_rb,2.6793e+03_rb/) kao(:, 8,12) = (/ & &2.9380e+03_rb,2.9477e+03_rb,2.9496e+03_rb,2.9469e+03_rb,2.9380e+03_rb/) kao(:, 9,12) = (/ & &3.1781e+03_rb,3.1822e+03_rb,3.1866e+03_rb,3.1790e+03_rb,3.1694e+03_rb/) kao(:,10,12) = (/ & &3.3770e+03_rb,3.3808e+03_rb,3.3765e+03_rb,3.3686e+03_rb,3.3530e+03_rb/) kao(:,11,12) = (/ & &3.5189e+03_rb,3.5130e+03_rb,3.5038e+03_rb,3.4874e+03_rb,3.4673e+03_rb/) kao(:,12,12) = (/ & &3.5908e+03_rb,3.5789e+03_rb,3.5609e+03_rb,3.5388e+03_rb,3.5103e+03_rb/) kao(:,13,12) = (/ & &3.5806e+03_rb,3.5582e+03_rb,3.5338e+03_rb,3.5034e+03_rb,3.4725e+03_rb/) kao(:, 1,13) = (/ & &1.2919e+03_rb,1.2953e+03_rb,1.2979e+03_rb,1.2980e+03_rb,1.2956e+03_rb/) kao(:, 2,13) = (/ & &1.5383e+03_rb,1.5420e+03_rb,1.5447e+03_rb,1.5440e+03_rb,1.5420e+03_rb/) kao(:, 3,13) = (/ & &1.8220e+03_rb,1.8287e+03_rb,1.8322e+03_rb,1.8325e+03_rb,1.8308e+03_rb/) kao(:, 4,13) = (/ & &2.1443e+03_rb,2.1550e+03_rb,2.1609e+03_rb,2.1623e+03_rb,2.1617e+03_rb/) kao(:, 5,13) = (/ & &2.5123e+03_rb,2.5251e+03_rb,2.5330e+03_rb,2.5368e+03_rb,2.5365e+03_rb/) kao(:, 6,13) = (/ & &2.9214e+03_rb,2.9360e+03_rb,2.9475e+03_rb,2.9537e+03_rb,2.9558e+03_rb/) kao(:, 7,13) = (/ & &3.3684e+03_rb,3.3871e+03_rb,3.4024e+03_rb,3.4082e+03_rb,3.4125e+03_rb/) kao(:, 8,13) = (/ & &3.8472e+03_rb,3.8701e+03_rb,3.8882e+03_rb,3.8980e+03_rb,3.9031e+03_rb/) kao(:, 9,13) = (/ & &4.3463e+03_rb,4.3744e+03_rb,4.3907e+03_rb,4.4045e+03_rb,4.4088e+03_rb/) kao(:,10,13) = (/ & &4.8548e+03_rb,4.8861e+03_rb,4.9050e+03_rb,4.9166e+03_rb,4.9195e+03_rb/) kao(:,11,13) = (/ & &5.3685e+03_rb,5.3944e+03_rb,5.4093e+03_rb,5.4165e+03_rb,5.4085e+03_rb/) kao(:,12,13) = (/ & &5.8390e+03_rb,5.8545e+03_rb,5.8642e+03_rb,5.8596e+03_rb,5.8502e+03_rb/) kao(:,13,13) = (/ & &6.2371e+03_rb,6.2518e+03_rb,6.2489e+03_rb,6.2389e+03_rb,6.2163e+03_rb/) kao(:, 1,14) = (/ & &1.3744e+03_rb,1.3784e+03_rb,1.3801e+03_rb,1.3822e+03_rb,1.3833e+03_rb/) kao(:, 2,14) = (/ & &1.6525e+03_rb,1.6579e+03_rb,1.6603e+03_rb,1.6628e+03_rb,1.6635e+03_rb/) kao(:, 3,14) = (/ & &1.9810e+03_rb,1.9908e+03_rb,1.9968e+03_rb,2.0006e+03_rb,2.0007e+03_rb/) kao(:, 4,14) = (/ & &2.3728e+03_rb,2.3844e+03_rb,2.3938e+03_rb,2.4019e+03_rb,2.4042e+03_rb/) kao(:, 5,14) = (/ & &2.8373e+03_rb,2.8532e+03_rb,2.8650e+03_rb,2.8745e+03_rb,2.8783e+03_rb/) kao(:, 6,14) = (/ & &3.3748e+03_rb,3.3991e+03_rb,3.4179e+03_rb,3.4320e+03_rb,3.4378e+03_rb/) kao(:, 7,14) = (/ & &3.9998e+03_rb,4.0298e+03_rb,4.0539e+03_rb,4.0746e+03_rb,4.0866e+03_rb/) kao(:, 8,14) = (/ & &4.7196e+03_rb,4.7615e+03_rb,4.7914e+03_rb,4.8146e+03_rb,4.8273e+03_rb/) kao(:, 9,14) = (/ & &5.5304e+03_rb,5.5847e+03_rb,5.6275e+03_rb,5.6623e+03_rb,5.6782e+03_rb/) kao(:,10,14) = (/ & &6.4513e+03_rb,6.5110e+03_rb,6.5637e+03_rb,6.6030e+03_rb,6.6279e+03_rb/) kao(:,11,14) = (/ & &7.5126e+03_rb,7.5759e+03_rb,7.6236e+03_rb,7.6577e+03_rb,7.6817e+03_rb/) kao(:,12,14) = (/ & &8.6584e+03_rb,8.7304e+03_rb,8.7796e+03_rb,8.8102e+03_rb,8.8235e+03_rb/) kao(:,13,14) = (/ & &9.8812e+03_rb,9.9499e+03_rb,9.9974e+03_rb,1.0022e+04_rb,1.0029e+04_rb/) kao(:, 1,15) = (/ & &1.4528e+03_rb,1.4581e+03_rb,1.4601e+03_rb,1.4582e+03_rb,1.4558e+03_rb/) kao(:, 2,15) = (/ & &1.7546e+03_rb,1.7631e+03_rb,1.7666e+03_rb,1.7671e+03_rb,1.7653e+03_rb/) kao(:, 3,15) = (/ & &2.1167e+03_rb,2.1275e+03_rb,2.1344e+03_rb,2.1393e+03_rb,2.1396e+03_rb/) kao(:, 4,15) = (/ & &2.5536e+03_rb,2.5679e+03_rb,2.5752e+03_rb,2.5829e+03_rb,2.5878e+03_rb/) kao(:, 5,15) = (/ & &3.0751e+03_rb,3.0964e+03_rb,3.1097e+03_rb,3.1178e+03_rb,3.1252e+03_rb/) kao(:, 6,15) = (/ & &3.6981e+03_rb,3.7293e+03_rb,3.7501e+03_rb,3.7620e+03_rb,3.7738e+03_rb/) kao(:, 7,15) = (/ & &4.4451e+03_rb,4.4852e+03_rb,4.5165e+03_rb,4.5355e+03_rb,4.5519e+03_rb/) kao(:, 8,15) = (/ & &5.3398e+03_rb,5.3890e+03_rb,5.4280e+03_rb,5.4575e+03_rb,5.4832e+03_rb/) kao(:, 9,15) = (/ & &6.4016e+03_rb,6.4666e+03_rb,6.5191e+03_rb,6.5509e+03_rb,6.5855e+03_rb/) kao(:,10,15) = (/ & &7.6539e+03_rb,7.7451e+03_rb,7.8138e+03_rb,7.8602e+03_rb,7.8961e+03_rb/) kao(:,11,15) = (/ & &9.1780e+03_rb,9.2834e+03_rb,9.3652e+03_rb,9.4242e+03_rb,9.4602e+03_rb/) kao(:,12,15) = (/ & &1.0986e+04_rb,1.1091e+04_rb,1.1175e+04_rb,1.1241e+04_rb,1.1280e+04_rb/) kao(:,13,15) = (/ & &1.3095e+04_rb,1.3203e+04_rb,1.3280e+04_rb,1.3335e+04_rb,1.3364e+04_rb/) kao(:, 1,16) = (/ & &1.4758e+03_rb,1.4811e+03_rb,1.4822e+03_rb,1.4873e+03_rb,1.4919e+03_rb/) kao(:, 2,16) = (/ & &1.7931e+03_rb,1.7988e+03_rb,1.8023e+03_rb,1.8054e+03_rb,1.8115e+03_rb/) kao(:, 3,16) = (/ & &2.1801e+03_rb,2.1858e+03_rb,2.1915e+03_rb,2.1950e+03_rb,2.1996e+03_rb/) kao(:, 4,16) = (/ & &2.6497e+03_rb,2.6575e+03_rb,2.6648e+03_rb,2.6696e+03_rb,2.6752e+03_rb/) kao(:, 5,16) = (/ & &3.2162e+03_rb,3.2298e+03_rb,3.2415e+03_rb,3.2482e+03_rb,3.2542e+03_rb/) kao(:, 6,16) = (/ & &3.8965e+03_rb,3.9207e+03_rb,3.9398e+03_rb,3.9520e+03_rb,3.9556e+03_rb/) kao(:, 7,16) = (/ & &4.7145e+03_rb,4.7502e+03_rb,4.7821e+03_rb,4.8036e+03_rb,4.8122e+03_rb/) kao(:, 8,16) = (/ & &5.7091e+03_rb,5.7519e+03_rb,5.7946e+03_rb,5.8300e+03_rb,5.8477e+03_rb/) kao(:, 9,16) = (/ & &6.9081e+03_rb,6.9691e+03_rb,7.0079e+03_rb,7.0618e+03_rb,7.0936e+03_rb/) kao(:,10,16) = (/ & &8.3531e+03_rb,8.4377e+03_rb,8.4862e+03_rb,8.5388e+03_rb,8.5857e+03_rb/) kao(:,11,16) = (/ & &1.0140e+04_rb,1.0233e+04_rb,1.0291e+04_rb,1.0344e+04_rb,1.0381e+04_rb/) kao(:,12,16) = (/ & &1.2278e+04_rb,1.2376e+04_rb,1.2452e+04_rb,1.2503e+04_rb,1.2519e+04_rb/) kao(:,13,16) = (/ & &1.4816e+04_rb,1.4930e+04_rb,1.5014e+04_rb,1.5052e+04_rb,1.5044e+04_rb/) ! The array KBO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels < ~100mb and temperatures. The first ! index in the array, JT, which runs from 1 to 5, corresponds to ! different temperatures. More specifically, JT = 3 means that the ! data are for the reference temperature TREF for this pressure ! level, JT = 2 refers to the temperature TREF-15, JT = 1 is for ! TREF-30, JT = 4 is for TREF+15, and JT = 5 is for TREF+30. ! The second index, JP, runs from 13 to 59 and refers to the JPth ! reference pressure level (see taumol.f for the value of these ! pressure levels in mb). The third index, IG, goes from 1 to 16, ! and tells us which g-interval the absorption coefficients are for. kbo(:,13, 1) = (/ & &3.9228e-02_rb,4.0055e-02_rb,4.1480e-02_rb,4.3734e-02_rb,4.6826e-02_rb/) kbo(:,14, 1) = (/ & &3.2541e-02_rb,3.3340e-02_rb,3.4715e-02_rb,3.6769e-02_rb,3.9564e-02_rb/) kbo(:,15, 1) = (/ & &2.6969e-02_rb,2.7753e-02_rb,2.9038e-02_rb,3.0896e-02_rb,3.3356e-02_rb/) kbo(:,16, 1) = (/ & &2.2342e-02_rb,2.3099e-02_rb,2.4270e-02_rb,2.5925e-02_rb,2.8078e-02_rb/) kbo(:,17, 1) = (/ & &1.8513e-02_rb,1.9222e-02_rb,2.0267e-02_rb,2.1721e-02_rb,2.3597e-02_rb/) kbo(:,18, 1) = (/ & &1.5353e-02_rb,1.5989e-02_rb,1.6916e-02_rb,1.8172e-02_rb,1.9812e-02_rb/) kbo(:,19, 1) = (/ & &1.2730e-02_rb,1.3292e-02_rb,1.4104e-02_rb,1.5198e-02_rb,1.6633e-02_rb/) kbo(:,20, 1) = (/ & &1.0558e-02_rb,1.1059e-02_rb,1.1764e-02_rb,1.2725e-02_rb,1.3995e-02_rb/) kbo(:,21, 1) = (/ & &8.7555e-03_rb,9.1943e-03_rb,9.8141e-03_rb,1.0663e-02_rb,1.1783e-02_rb/) kbo(:,22, 1) = (/ & &7.2788e-03_rb,7.6721e-03_rb,8.2312e-03_rb,8.9953e-03_rb,1.0002e-02_rb/) kbo(:,23, 1) = (/ & &6.0534e-03_rb,6.4084e-03_rb,6.9154e-03_rb,7.6052e-03_rb,8.5112e-03_rb/) kbo(:,24, 1) = (/ & &5.0381e-03_rb,5.3630e-03_rb,5.8249e-03_rb,6.4486e-03_rb,7.2625e-03_rb/) kbo(:,25, 1) = (/ & &4.2012e-03_rb,4.4994e-03_rb,4.9231e-03_rb,5.4862e-03_rb,6.2185e-03_rb/) kbo(:,26, 1) = (/ & &3.5140e-03_rb,3.7917e-03_rb,4.1803e-03_rb,4.6907e-03_rb,5.3531e-03_rb/) kbo(:,27, 1) = (/ & &2.9461e-03_rb,3.2058e-03_rb,3.5595e-03_rb,4.0238e-03_rb,4.6243e-03_rb/) kbo(:,28, 1) = (/ & &2.4782e-03_rb,2.7200e-03_rb,3.0408e-03_rb,3.4639e-03_rb,4.0087e-03_rb/) kbo(:,29, 1) = (/ & &2.0935e-03_rb,2.3161e-03_rb,2.6092e-03_rb,2.9949e-03_rb,3.4943e-03_rb/) kbo(:,30, 1) = (/ & &1.7747e-03_rb,1.9777e-03_rb,2.2475e-03_rb,2.5999e-03_rb,3.0591e-03_rb/) kbo(:,31, 1) = (/ & &1.5106e-03_rb,1.6973e-03_rb,1.9445e-03_rb,2.2691e-03_rb,2.6924e-03_rb/) kbo(:,32, 1) = (/ & &1.2905e-03_rb,1.4629e-03_rb,1.6903e-03_rb,1.9914e-03_rb,2.3817e-03_rb/) kbo(:,33, 1) = (/ & &1.1070e-03_rb,1.2664e-03_rb,1.4773e-03_rb,1.7562e-03_rb,2.1183e-03_rb/) kbo(:,34, 1) = (/ & &9.4969e-04_rb,1.0951e-03_rb,1.2897e-03_rb,1.5465e-03_rb,1.8794e-03_rb/) kbo(:,35, 1) = (/ & &8.0650e-04_rb,9.3657e-04_rb,1.1113e-03_rb,1.3423e-03_rb,1.6411e-03_rb/) kbo(:,36, 1) = (/ & &6.7527e-04_rb,7.8828e-04_rb,9.4082e-04_rb,1.1424e-03_rb,1.4040e-03_rb/) kbo(:,37, 1) = (/ & &5.5374e-04_rb,6.4781e-04_rb,7.7522e-04_rb,9.4463e-04_rb,1.1654e-03_rb/) kbo(:,38, 1) = (/ & &4.5356e-04_rb,5.3144e-04_rb,6.3765e-04_rb,7.7978e-04_rb,9.6558e-04_rb/) kbo(:,39, 1) = (/ & &3.7155e-04_rb,4.3614e-04_rb,5.2472e-04_rb,6.4387e-04_rb,8.0047e-04_rb/) kbo(:,40, 1) = (/ & &2.9980e-04_rb,3.5165e-04_rb,4.2320e-04_rb,5.2024e-04_rb,6.4874e-04_rb/) kbo(:,41, 1) = (/ & &2.4145e-04_rb,2.8281e-04_rb,3.4028e-04_rb,4.1898e-04_rb,5.2376e-04_rb/) kbo(:,42, 1) = (/ & &1.9444e-04_rb,2.2740e-04_rb,2.7348e-04_rb,3.3721e-04_rb,4.2264e-04_rb/) kbo(:,43, 1) = (/ & &1.5533e-04_rb,1.8108e-04_rb,2.1726e-04_rb,2.6787e-04_rb,3.3649e-04_rb/) kbo(:,44, 1) = (/ & &1.2372e-04_rb,1.4362e-04_rb,1.7176e-04_rb,2.1151e-04_rb,2.6597e-04_rb/) kbo(:,45, 1) = (/ & &9.8615e-05_rb,1.1395e-04_rb,1.3575e-04_rb,1.6686e-04_rb,2.0989e-04_rb/) kbo(:,46, 1) = (/ & &7.8410e-05_rb,9.0146e-05_rb,1.0684e-04_rb,1.3092e-04_rb,1.6455e-04_rb/) kbo(:,47, 1) = (/ & &6.2111e-05_rb,7.0925e-05_rb,8.3491e-05_rb,1.0171e-04_rb,1.2752e-04_rb/) kbo(:,48, 1) = (/ & &4.9292e-05_rb,5.5878e-05_rb,6.5308e-05_rb,7.9022e-05_rb,9.8758e-05_rb/) kbo(:,49, 1) = (/ & &3.9189e-05_rb,4.4083e-05_rb,5.1134e-05_rb,6.1433e-05_rb,7.6433e-05_rb/) kbo(:,50, 1) = (/ & &3.1297e-05_rb,3.4944e-05_rb,4.0262e-05_rb,4.8024e-05_rb,5.9468e-05_rb/) kbo(:,51, 1) = (/ & &2.5040e-05_rb,2.7793e-05_rb,3.1794e-05_rb,3.7665e-05_rb,4.6363e-05_rb/) kbo(:,52, 1) = (/ & &2.0024e-05_rb,2.2137e-05_rb,2.5151e-05_rb,2.9572e-05_rb,3.6157e-05_rb/) kbo(:,53, 1) = (/ & &1.5989e-05_rb,1.7662e-05_rb,1.9908e-05_rb,2.3247e-05_rb,2.8202e-05_rb/) kbo(:,54, 1) = (/ & &1.2802e-05_rb,1.4140e-05_rb,1.5857e-05_rb,1.8384e-05_rb,2.2160e-05_rb/) kbo(:,55, 1) = (/ & &1.0251e-05_rb,1.1335e-05_rb,1.2664e-05_rb,1.4589e-05_rb,1.7471e-05_rb/) kbo(:,56, 1) = (/ & &8.1863e-06_rb,9.0810e-06_rb,1.0125e-05_rb,1.1592e-05_rb,1.3791e-05_rb/) kbo(:,57, 1) = (/ & &6.5183e-06_rb,7.2717e-06_rb,8.0938e-06_rb,9.2169e-06_rb,1.0895e-05_rb/) kbo(:,58, 1) = (/ & &5.1879e-06_rb,5.8228e-06_rb,6.4835e-06_rb,7.3485e-06_rb,8.6418e-06_rb/) kbo(:,59, 1) = (/ & &4.2168e-06_rb,4.7498e-06_rb,5.3015e-06_rb,6.0144e-06_rb,7.0853e-06_rb/) kbo(:,13, 2) = (/ & &1.3654e-01_rb,1.5163e-01_rb,1.6956e-01_rb,1.9071e-01_rb,2.1617e-01_rb/) kbo(:,14, 2) = (/ & &1.1559e-01_rb,1.2885e-01_rb,1.4454e-01_rb,1.6328e-01_rb,1.8606e-01_rb/) kbo(:,15, 2) = (/ & &9.7693e-02_rb,1.0924e-01_rb,1.2296e-01_rb,1.3968e-01_rb,1.6004e-01_rb/) kbo(:,16, 2) = (/ & &8.2470e-02_rb,9.2497e-02_rb,1.0461e-01_rb,1.1951e-01_rb,1.3759e-01_rb/) kbo(:,17, 2) = (/ & &6.9485e-02_rb,7.8236e-02_rb,8.9019e-02_rb,1.0217e-01_rb,1.1819e-01_rb/) kbo(:,18, 2) = (/ & &5.8434e-02_rb,6.6177e-02_rb,7.5740e-02_rb,8.7380e-02_rb,1.0143e-01_rb/) kbo(:,19, 2) = (/ & &4.9105e-02_rb,5.5950e-02_rb,6.4367e-02_rb,7.4577e-02_rb,8.6834e-02_rb/) kbo(:,20, 2) = (/ & &4.1358e-02_rb,4.7392e-02_rb,5.4755e-02_rb,6.3671e-02_rb,7.4385e-02_rb/) kbo(:,21, 2) = (/ & &3.4862e-02_rb,4.0138e-02_rb,4.6538e-02_rb,5.4275e-02_rb,6.3577e-02_rb/) kbo(:,22, 2) = (/ & &2.9678e-02_rb,3.4317e-02_rb,3.9913e-02_rb,4.6700e-02_rb,5.4863e-02_rb/) kbo(:,23, 2) = (/ & &2.5302e-02_rb,2.9357e-02_rb,3.4270e-02_rb,4.0209e-02_rb,4.7364e-02_rb/) kbo(:,24, 2) = (/ & &2.1615e-02_rb,2.5159e-02_rb,2.9473e-02_rb,3.4693e-02_rb,4.0992e-02_rb/) kbo(:,25, 2) = (/ & &1.8506e-02_rb,2.1620e-02_rb,2.5407e-02_rb,3.0032e-02_rb,3.5645e-02_rb/) kbo(:,26, 2) = (/ & &1.5911e-02_rb,1.8663e-02_rb,2.2016e-02_rb,2.6153e-02_rb,3.1176e-02_rb/) kbo(:,27, 2) = (/ & &1.3710e-02_rb,1.6139e-02_rb,1.9144e-02_rb,2.2842e-02_rb,2.7378e-02_rb/) kbo(:,28, 2) = (/ & &1.1834e-02_rb,1.3997e-02_rb,1.6695e-02_rb,2.0027e-02_rb,2.4111e-02_rb/) kbo(:,29, 2) = (/ & &1.0249e-02_rb,1.2190e-02_rb,1.4630e-02_rb,1.7647e-02_rb,2.1313e-02_rb/) kbo(:,30, 2) = (/ & &8.9036e-03_rb,1.0661e-02_rb,1.2868e-02_rb,1.5600e-02_rb,1.8888e-02_rb/) kbo(:,31, 2) = (/ & &7.7687e-03_rb,9.3699e-03_rb,1.1378e-02_rb,1.3839e-02_rb,1.6787e-02_rb/) kbo(:,32, 2) = (/ & &6.8140e-03_rb,8.2759e-03_rb,1.0101e-02_rb,1.2319e-02_rb,1.4958e-02_rb/) kbo(:,33, 2) = (/ & &6.0058e-03_rb,7.3417e-03_rb,8.9915e-03_rb,1.0990e-02_rb,1.3357e-02_rb/) kbo(:,34, 2) = (/ & &5.2812e-03_rb,6.4864e-03_rb,7.9715e-03_rb,9.7608e-03_rb,1.1880e-02_rb/) kbo(:,35, 2) = (/ & &4.5664e-03_rb,5.6316e-03_rb,6.9402e-03_rb,8.5171e-03_rb,1.0395e-02_rb/) kbo(:,36, 2) = (/ & &3.8650e-03_rb,4.7853e-03_rb,5.9182e-03_rb,7.2844e-03_rb,8.9146e-03_rb/) kbo(:,37, 2) = (/ & &3.1698e-03_rb,3.9391e-03_rb,4.8941e-03_rb,6.0480e-03_rb,7.4275e-03_rb/) kbo(:,38, 2) = (/ & &2.5939e-03_rb,3.2378e-03_rb,4.0393e-03_rb,5.0137e-03_rb,6.1786e-03_rb/) kbo(:,39, 2) = (/ & &2.1228e-03_rb,2.6601e-03_rb,3.3343e-03_rb,4.1558e-03_rb,5.1416e-03_rb/) kbo(:,40, 2) = (/ & &1.6967e-03_rb,2.1355e-03_rb,2.6888e-03_rb,3.3677e-03_rb,4.1883e-03_rb/) kbo(:,41, 2) = (/ & &1.3505e-03_rb,1.7067e-03_rb,2.1592e-03_rb,2.7184e-03_rb,3.3988e-03_rb/) kbo(:,42, 2) = (/ & &1.0736e-03_rb,1.3626e-03_rb,1.7319e-03_rb,2.1915e-03_rb,2.7553e-03_rb/) kbo(:,43, 2) = (/ & &8.4090e-04_rb,1.0714e-03_rb,1.3684e-03_rb,1.7414e-03_rb,2.2023e-03_rb/) kbo(:,44, 2) = (/ & &6.5390e-04_rb,8.3586e-04_rb,1.0728e-03_rb,1.3727e-03_rb,1.7466e-03_rb/) kbo(:,45, 2) = (/ & &5.0782e-04_rb,6.5105e-04_rb,8.3889e-04_rb,1.0793e-03_rb,1.3823e-03_rb/) kbo(:,46, 2) = (/ & &3.9179e-04_rb,5.0302e-04_rb,6.5132e-04_rb,8.4212e-04_rb,1.0854e-03_rb/) kbo(:,47, 2) = (/ & &2.9882e-04_rb,3.8363e-04_rb,4.9873e-04_rb,6.4829e-04_rb,8.4103e-04_rb/) kbo(:,48, 2) = (/ & &2.2778e-04_rb,2.9209e-04_rb,3.8081e-04_rb,4.9759e-04_rb,6.4942e-04_rb/) kbo(:,49, 2) = (/ & &1.7348e-04_rb,2.2201e-04_rb,2.8994e-04_rb,3.8059e-04_rb,4.9968e-04_rb/) kbo(:,50, 2) = (/ & &1.3291e-04_rb,1.6970e-04_rb,2.2169e-04_rb,2.9250e-04_rb,3.8590e-04_rb/) kbo(:,51, 2) = (/ & &1.0207e-04_rb,1.2991e-04_rb,1.6972e-04_rb,2.2476e-04_rb,2.9809e-04_rb/) kbo(:,52, 2) = (/ & &7.8428e-05_rb,9.9370e-05_rb,1.2969e-04_rb,1.7236e-04_rb,2.2955e-04_rb/) kbo(:,53, 2) = (/ & &6.0320e-05_rb,7.5906e-05_rb,9.8948e-05_rb,1.3170e-04_rb,1.7631e-04_rb/) kbo(:,54, 2) = (/ & &4.6701e-05_rb,5.8457e-05_rb,7.5987e-05_rb,1.0130e-04_rb,1.3626e-04_rb/) kbo(:,55, 2) = (/ & &3.6311e-05_rb,4.5177e-05_rb,5.8536e-05_rb,7.8091e-05_rb,1.0548e-04_rb/) kbo(:,56, 2) = (/ & &2.8265e-05_rb,3.4933e-05_rb,4.5042e-05_rb,6.0092e-05_rb,8.1465e-05_rb/) kbo(:,57, 2) = (/ & &2.2041e-05_rb,2.7013e-05_rb,3.4636e-05_rb,4.6160e-05_rb,6.2788e-05_rb/) kbo(:,58, 2) = (/ & &1.7267e-05_rb,2.0998e-05_rb,2.6754e-05_rb,3.5587e-05_rb,4.8495e-05_rb/) kbo(:,59, 2) = (/ & &1.3975e-05_rb,1.7004e-05_rb,2.1693e-05_rb,2.8956e-05_rb,3.9630e-05_rb/) kbo(:,13, 3) = (/ & &4.6584e-01_rb,5.5439e-01_rb,6.5378e-01_rb,7.6270e-01_rb,8.8077e-01_rb/) kbo(:,14, 3) = (/ & &4.0124e-01_rb,4.7657e-01_rb,5.6034e-01_rb,6.5177e-01_rb,7.5174e-01_rb/) kbo(:,15, 3) = (/ & &3.4513e-01_rb,4.0912e-01_rb,4.7944e-01_rb,5.5671e-01_rb,6.4124e-01_rb/) kbo(:,16, 3) = (/ & &2.9666e-01_rb,3.5062e-01_rb,4.0982e-01_rb,4.7509e-01_rb,5.4644e-01_rb/) kbo(:,17, 3) = (/ & &2.5400e-01_rb,2.9955e-01_rb,3.4952e-01_rb,4.0464e-01_rb,4.6504e-01_rb/) kbo(:,18, 3) = (/ & &2.1648e-01_rb,2.5489e-01_rb,2.9720e-01_rb,3.4406e-01_rb,3.9550e-01_rb/) kbo(:,19, 3) = (/ & &1.8385e-01_rb,2.1623e-01_rb,2.5204e-01_rb,2.9205e-01_rb,3.3599e-01_rb/) kbo(:,20, 3) = (/ & &1.5627e-01_rb,1.8359e-01_rb,2.1416e-01_rb,2.4849e-01_rb,2.8606e-01_rb/) kbo(:,21, 3) = (/ & &1.3276e-01_rb,1.5592e-01_rb,1.8216e-01_rb,2.1168e-01_rb,2.4388e-01_rb/) kbo(:,22, 3) = (/ & &1.1395e-01_rb,1.3395e-01_rb,1.5675e-01_rb,1.8217e-01_rb,2.0967e-01_rb/) kbo(:,23, 3) = (/ & &9.7815e-02_rb,1.1526e-01_rb,1.3514e-01_rb,1.5691e-01_rb,1.8033e-01_rb/) kbo(:,24, 3) = (/ & &8.4102e-02_rb,9.9408e-02_rb,1.1660e-01_rb,1.3523e-01_rb,1.5511e-01_rb/) kbo(:,25, 3) = (/ & &7.2584e-02_rb,8.5921e-02_rb,1.0065e-01_rb,1.1653e-01_rb,1.3347e-01_rb/) kbo(:,26, 3) = (/ & &6.2935e-02_rb,7.4476e-02_rb,8.7054e-02_rb,1.0059e-01_rb,1.1498e-01_rb/) kbo(:,27, 3) = (/ & &5.4628e-02_rb,6.4547e-02_rb,7.5255e-02_rb,8.6846e-02_rb,9.9043e-02_rb/) kbo(:,28, 3) = (/ & &4.7438e-02_rb,5.5913e-02_rb,6.5081e-02_rb,7.4969e-02_rb,8.5391e-02_rb/) kbo(:,29, 3) = (/ & &4.1247e-02_rb,4.8483e-02_rb,5.6377e-02_rb,6.4788e-02_rb,7.3775e-02_rb/) kbo(:,30, 3) = (/ & &3.5874e-02_rb,4.2080e-02_rb,4.8862e-02_rb,5.6085e-02_rb,6.3787e-02_rb/) kbo(:,31, 3) = (/ & &3.1224e-02_rb,3.6582e-02_rb,4.2396e-02_rb,4.8680e-02_rb,5.5240e-02_rb/) kbo(:,32, 3) = (/ & &2.7211e-02_rb,3.1854e-02_rb,3.6880e-02_rb,4.2315e-02_rb,4.7892e-02_rb/) kbo(:,33, 3) = (/ & &2.3744e-02_rb,2.7755e-02_rb,3.2147e-02_rb,3.6823e-02_rb,4.1518e-02_rb/) kbo(:,34, 3) = (/ & &2.0626e-02_rb,2.4111e-02_rb,2.7927e-02_rb,3.1884e-02_rb,3.5825e-02_rb/) kbo(:,35, 3) = (/ & &1.7661e-02_rb,2.0671e-02_rb,2.3952e-02_rb,2.7283e-02_rb,3.0580e-02_rb/) kbo(:,36, 3) = (/ & &1.4872e-02_rb,1.7453e-02_rb,2.0237e-02_rb,2.3045e-02_rb,2.5826e-02_rb/) kbo(:,37, 3) = (/ & &1.2231e-02_rb,1.4407e-02_rb,1.6754e-02_rb,1.9119e-02_rb,2.1470e-02_rb/) kbo(:,38, 3) = (/ & &1.0046e-02_rb,1.1883e-02_rb,1.3859e-02_rb,1.5852e-02_rb,1.7844e-02_rb/) kbo(:,39, 3) = (/ & &8.2562e-03_rb,9.8067e-03_rb,1.1470e-02_rb,1.3152e-02_rb,1.4841e-02_rb/) kbo(:,40, 3) = (/ & &6.6596e-03_rb,7.9555e-03_rb,9.3542e-03_rb,1.0774e-02_rb,1.2201e-02_rb/) kbo(:,41, 3) = (/ & &5.3569e-03_rb,6.4354e-03_rb,7.6095e-03_rb,8.8054e-03_rb,1.0012e-02_rb/) kbo(:,42, 3) = (/ & &4.3009e-03_rb,5.1973e-03_rb,6.1851e-03_rb,7.1918e-03_rb,8.2134e-03_rb/) kbo(:,43, 3) = (/ & &3.4093e-03_rb,4.1490e-03_rb,4.9732e-03_rb,5.8239e-03_rb,6.6848e-03_rb/) kbo(:,44, 3) = (/ & &2.6823e-03_rb,3.2897e-03_rb,3.9739e-03_rb,4.6907e-03_rb,5.4167e-03_rb/) kbo(:,45, 3) = (/ & &2.1046e-03_rb,2.6003e-03_rb,3.1662e-03_rb,3.7704e-03_rb,4.3820e-03_rb/) kbo(:,46, 3) = (/ & &1.6388e-03_rb,2.0403e-03_rb,2.5048e-03_rb,3.0127e-03_rb,3.5286e-03_rb/) kbo(:,47, 3) = (/ & &1.2595e-03_rb,1.5807e-03_rb,1.9580e-03_rb,2.3819e-03_rb,2.8168e-03_rb/) kbo(:,48, 3) = (/ & &9.6423e-04_rb,1.2197e-03_rb,1.5249e-03_rb,1.8746e-03_rb,2.2418e-03_rb/) kbo(:,49, 3) = (/ & &7.3527e-04_rb,9.3718e-04_rb,1.1821e-03_rb,1.4684e-03_rb,1.7777e-03_rb/) kbo(:,50, 3) = (/ & &5.6217e-04_rb,7.2217e-04_rb,9.1835e-04_rb,1.1512e-03_rb,1.4112e-03_rb/) kbo(:,51, 3) = (/ & &4.2967e-04_rb,5.5583e-04_rb,7.1300e-04_rb,9.0190e-04_rb,1.1184e-03_rb/) kbo(:,52, 3) = (/ & &3.2742e-04_rb,4.2631e-04_rb,5.5137e-04_rb,7.0406e-04_rb,8.8313e-04_rb/) kbo(:,53, 3) = (/ & &2.4868e-04_rb,3.2582e-04_rb,4.2465e-04_rb,5.4760e-04_rb,6.9409e-04_rb/) kbo(:,54, 3) = (/ & &1.8974e-04_rb,2.5027e-04_rb,3.2861e-04_rb,4.2756e-04_rb,5.4716e-04_rb/) kbo(:,55, 3) = (/ & &1.4494e-04_rb,1.9239e-04_rb,2.5442e-04_rb,3.3395e-04_rb,4.3136e-04_rb/) kbo(:,56, 3) = (/ & &1.1043e-04_rb,1.4756e-04_rb,1.9639e-04_rb,2.5993e-04_rb,3.3900e-04_rb/) kbo(:,57, 3) = (/ & &8.3928e-05_rb,1.1287e-04_rb,1.5113e-04_rb,2.0155e-04_rb,2.6555e-04_rb/) kbo(:,58, 3) = (/ & &6.4018e-05_rb,8.6477e-05_rb,1.1648e-04_rb,1.5666e-04_rb,2.0830e-04_rb/) kbo(:,59, 3) = (/ & &5.1497e-05_rb,6.9896e-05_rb,9.4663e-05_rb,1.2810e-04_rb,1.7150e-04_rb/) kbo(:,13, 4) = (/ & &1.7524e+00_rb,1.9492e+00_rb,2.1512e+00_rb,2.3564e+00_rb,2.5478e+00_rb/) kbo(:,14, 4) = (/ & &1.4772e+00_rb,1.6494e+00_rb,1.8280e+00_rb,2.0044e+00_rb,2.1600e+00_rb/) kbo(:,15, 4) = (/ & &1.2495e+00_rb,1.4008e+00_rb,1.5559e+00_rb,1.6974e+00_rb,1.8203e+00_rb/) kbo(:,16, 4) = (/ & &1.0605e+00_rb,1.1902e+00_rb,1.3172e+00_rb,1.4293e+00_rb,1.5280e+00_rb/) kbo(:,17, 4) = (/ & &8.9958e-01_rb,1.0068e+00_rb,1.1092e+00_rb,1.1993e+00_rb,1.2798e+00_rb/) kbo(:,18, 4) = (/ & &7.6135e-01_rb,8.4970e-01_rb,9.3198e-01_rb,1.0052e+00_rb,1.0709e+00_rb/) kbo(:,19, 4) = (/ & &6.4340e-01_rb,7.1592e-01_rb,7.8258e-01_rb,8.4177e-01_rb,8.9530e-01_rb/) kbo(:,20, 4) = (/ & &5.4418e-01_rb,6.0357e-01_rb,6.5718e-01_rb,7.0498e-01_rb,7.4918e-01_rb/) kbo(:,21, 4) = (/ & &4.5911e-01_rb,5.0742e-01_rb,5.5063e-01_rb,5.8988e-01_rb,6.2662e-01_rb/) kbo(:,22, 4) = (/ & &3.8906e-01_rb,4.2787e-01_rb,4.6285e-01_rb,4.9521e-01_rb,5.2615e-01_rb/) kbo(:,23, 4) = (/ & &3.2912e-01_rb,3.6040e-01_rb,3.8895e-01_rb,4.1593e-01_rb,4.4229e-01_rb/) kbo(:,24, 4) = (/ & &2.7830e-01_rb,3.0371e-01_rb,3.2729e-01_rb,3.5001e-01_rb,3.7213e-01_rb/) kbo(:,25, 4) = (/ & &2.3534e-01_rb,2.5620e-01_rb,2.7595e-01_rb,2.9506e-01_rb,3.1323e-01_rb/) kbo(:,26, 4) = (/ & &1.9937e-01_rb,2.1667e-01_rb,2.3330e-01_rb,2.4915e-01_rb,2.6395e-01_rb/) kbo(:,27, 4) = (/ & &1.6896e-01_rb,1.8346e-01_rb,1.9732e-01_rb,2.1038e-01_rb,2.2245e-01_rb/) kbo(:,28, 4) = (/ & &1.4324e-01_rb,1.5539e-01_rb,1.6686e-01_rb,1.7760e-01_rb,1.8754e-01_rb/) kbo(:,29, 4) = (/ & &1.2158e-01_rb,1.3162e-01_rb,1.4109e-01_rb,1.4990e-01_rb,1.5824e-01_rb/) kbo(:,30, 4) = (/ & &1.0319e-01_rb,1.1149e-01_rb,1.1927e-01_rb,1.2651e-01_rb,1.3374e-01_rb/) kbo(:,31, 4) = (/ & &8.7596e-02_rb,9.4445e-02_rb,1.0083e-01_rb,1.0683e-01_rb,1.1324e-01_rb/) kbo(:,32, 4) = (/ & &7.4371e-02_rb,7.9986e-02_rb,8.5218e-02_rb,9.0404e-02_rb,9.6151e-02_rb/) kbo(:,33, 4) = (/ & &6.3127e-02_rb,6.7754e-02_rb,7.2100e-02_rb,7.6670e-02_rb,8.1947e-02_rb/) kbo(:,34, 4) = (/ & &5.3448e-02_rb,5.7257e-02_rb,6.0976e-02_rb,6.5117e-02_rb,6.9920e-02_rb/) kbo(:,35, 4) = (/ & &4.4958e-02_rb,4.8132e-02_rb,5.1386e-02_rb,5.5110e-02_rb,5.9396e-02_rb/) kbo(:,36, 4) = (/ & &3.7535e-02_rb,4.0225e-02_rb,4.3084e-02_rb,4.6370e-02_rb,5.0142e-02_rb/) kbo(:,37, 4) = (/ & &3.1000e-02_rb,3.3296e-02_rb,3.5751e-02_rb,3.8593e-02_rb,4.1835e-02_rb/) kbo(:,38, 4) = (/ & &2.5584e-02_rb,2.7542e-02_rb,2.9661e-02_rb,3.2102e-02_rb,3.4896e-02_rb/) kbo(:,39, 4) = (/ & &2.1117e-02_rb,2.2790e-02_rb,2.4613e-02_rb,2.6708e-02_rb,2.9115e-02_rb/) kbo(:,40, 4) = (/ & &1.7285e-02_rb,1.8708e-02_rb,2.0253e-02_rb,2.2025e-02_rb,2.4072e-02_rb/) kbo(:,41, 4) = (/ & &1.4124e-02_rb,1.5332e-02_rb,1.6640e-02_rb,1.8138e-02_rb,1.9869e-02_rb/) kbo(:,42, 4) = (/ & &1.1535e-02_rb,1.2562e-02_rb,1.3665e-02_rb,1.4929e-02_rb,1.6393e-02_rb/) kbo(:,43, 4) = (/ & &9.3628e-03_rb,1.0238e-02_rb,1.1164e-02_rb,1.2221e-02_rb,1.3452e-02_rb/) kbo(:,44, 4) = (/ & &7.5734e-03_rb,8.3195e-03_rb,9.0965e-03_rb,9.9764e-03_rb,1.1001e-02_rb/) kbo(:,45, 4) = (/ & &6.1205e-03_rb,6.7536e-03_rb,7.4083e-03_rb,8.1381e-03_rb,8.9936e-03_rb/) kbo(:,46, 4) = (/ & &4.9262e-03_rb,5.4662e-03_rb,6.0165e-03_rb,6.6206e-03_rb,7.3272e-03_rb/) kbo(:,47, 4) = (/ & &3.9391e-03_rb,4.3970e-03_rb,4.8610e-03_rb,5.3580e-03_rb,5.9369e-03_rb/) kbo(:,48, 4) = (/ & &3.1403e-03_rb,3.5287e-03_rb,3.9210e-03_rb,4.3323e-03_rb,4.8039e-03_rb/) kbo(:,49, 4) = (/ & &2.4956e-03_rb,2.8254e-03_rb,3.1568e-03_rb,3.4981e-03_rb,3.8839e-03_rb/) kbo(:,50, 4) = (/ & &1.9828e-03_rb,2.2636e-03_rb,2.5424e-03_rb,2.8288e-03_rb,3.1441e-03_rb/) kbo(:,51, 4) = (/ & &1.5714e-03_rb,1.8113e-03_rb,2.0459e-03_rb,2.2868e-03_rb,2.5462e-03_rb/) kbo(:,52, 4) = (/ & &1.2395e-03_rb,1.4453e-03_rb,1.6428e-03_rb,1.8457e-03_rb,2.0598e-03_rb/) kbo(:,53, 4) = (/ & &9.7290e-04_rb,1.1497e-03_rb,1.3161e-03_rb,1.4871e-03_rb,1.6649e-03_rb/) kbo(:,54, 4) = (/ & &7.6445e-04_rb,9.1516e-04_rb,1.0560e-03_rb,1.2000e-03_rb,1.3484e-03_rb/) kbo(:,55, 4) = (/ & &5.9991e-04_rb,7.2766e-04_rb,8.4765e-04_rb,9.6806e-04_rb,1.0927e-03_rb/) kbo(:,56, 4) = (/ & &4.6862e-04_rb,5.7638e-04_rb,6.7857e-04_rb,7.7940e-04_rb,8.8453e-04_rb/) kbo(:,57, 4) = (/ & &3.6453e-04_rb,4.5447e-04_rb,5.4199e-04_rb,6.2645e-04_rb,7.1474e-04_rb/) kbo(:,58, 4) = (/ & &2.8389e-04_rb,3.5818e-04_rb,4.3272e-04_rb,5.0377e-04_rb,5.7789e-04_rb/) kbo(:,59, 4) = (/ & &2.3060e-04_rb,2.9282e-04_rb,3.5542e-04_rb,4.1534e-04_rb,4.7810e-04_rb/) kbo(:,13, 5) = (/ & &4.6094e+00_rb,4.6772e+00_rb,4.7246e+00_rb,4.7737e+00_rb,4.8549e+00_rb/) kbo(:,14, 5) = (/ & &3.8278e+00_rb,3.8806e+00_rb,3.9251e+00_rb,3.9810e+00_rb,4.0718e+00_rb/) kbo(:,15, 5) = (/ & &3.1722e+00_rb,3.2168e+00_rb,3.2634e+00_rb,3.3308e+00_rb,3.4210e+00_rb/) kbo(:,16, 5) = (/ & &2.6249e+00_rb,2.6705e+00_rb,2.7237e+00_rb,2.7913e+00_rb,2.8656e+00_rb/) kbo(:,17, 5) = (/ & &2.1764e+00_rb,2.2249e+00_rb,2.2741e+00_rb,2.3304e+00_rb,2.3919e+00_rb/) kbo(:,18, 5) = (/ & &1.8098e+00_rb,1.8520e+00_rb,1.8935e+00_rb,1.9392e+00_rb,1.9922e+00_rb/) kbo(:,19, 5) = (/ & &1.5044e+00_rb,1.5380e+00_rb,1.5723e+00_rb,1.6122e+00_rb,1.6588e+00_rb/) kbo(:,20, 5) = (/ & &1.2493e+00_rb,1.2764e+00_rb,1.3059e+00_rb,1.3405e+00_rb,1.3817e+00_rb/) kbo(:,21, 5) = (/ & &1.0373e+00_rb,1.0597e+00_rb,1.0855e+00_rb,1.1148e+00_rb,1.1513e+00_rb/) kbo(:,22, 5) = (/ & &8.6282e-01_rb,8.8188e-01_rb,9.0343e-01_rb,9.2979e-01_rb,9.6231e-01_rb/) kbo(:,23, 5) = (/ & &7.1704e-01_rb,7.3333e-01_rb,7.5232e-01_rb,7.7633e-01_rb,8.0551e-01_rb/) kbo(:,24, 5) = (/ & &5.9518e-01_rb,6.0940e-01_rb,6.2643e-01_rb,6.4862e-01_rb,6.7508e-01_rb/) kbo(:,25, 5) = (/ & &4.9422e-01_rb,5.0656e-01_rb,5.2248e-01_rb,5.4283e-01_rb,5.6739e-01_rb/) kbo(:,26, 5) = (/ & &4.1037e-01_rb,4.2180e-01_rb,4.3687e-01_rb,4.5588e-01_rb,4.7822e-01_rb/) kbo(:,27, 5) = (/ & &3.4124e-01_rb,3.5223e-01_rb,3.6648e-01_rb,3.8368e-01_rb,4.0379e-01_rb/) kbo(:,28, 5) = (/ & &2.8464e-01_rb,2.9501e-01_rb,3.0821e-01_rb,3.2362e-01_rb,3.4157e-01_rb/) kbo(:,29, 5) = (/ & &2.3808e-01_rb,2.4801e-01_rb,2.5984e-01_rb,2.7366e-01_rb,2.8965e-01_rb/) kbo(:,30, 5) = (/ & &1.9967e-01_rb,2.0890e-01_rb,2.1955e-01_rb,2.3198e-01_rb,2.4657e-01_rb/) kbo(:,31, 5) = (/ & &1.6792e-01_rb,1.7624e-01_rb,1.8593e-01_rb,1.9729e-01_rb,2.1071e-01_rb/) kbo(:,32, 5) = (/ & &1.4147e-01_rb,1.4902e-01_rb,1.5786e-01_rb,1.6833e-01_rb,1.8092e-01_rb/) kbo(:,33, 5) = (/ & &1.1942e-01_rb,1.2630e-01_rb,1.3442e-01_rb,1.4414e-01_rb,1.5600e-01_rb/) kbo(:,34, 5) = (/ & &1.0087e-01_rb,1.0707e-01_rb,1.1451e-01_rb,1.2366e-01_rb,1.3474e-01_rb/) kbo(:,35, 5) = (/ & &8.4860e-02_rb,9.0419e-02_rb,9.7193e-02_rb,1.0562e-01_rb,1.1587e-01_rb/) kbo(:,36, 5) = (/ & &7.0999e-02_rb,7.5907e-02_rb,8.1988e-02_rb,8.9567e-02_rb,9.8842e-02_rb/) kbo(:,37, 5) = (/ & &5.8886e-02_rb,6.3102e-02_rb,6.8391e-02_rb,7.5008e-02_rb,8.3160e-02_rb/) kbo(:,38, 5) = (/ & &4.8832e-02_rb,5.2452e-02_rb,5.7040e-02_rb,6.2826e-02_rb,7.0009e-02_rb/) kbo(:,39, 5) = (/ & &4.0501e-02_rb,4.3616e-02_rb,4.7608e-02_rb,5.2697e-02_rb,5.9016e-02_rb/) kbo(:,40, 5) = (/ & &3.3361e-02_rb,3.5983e-02_rb,3.9374e-02_rb,4.3750e-02_rb,4.9196e-02_rb/) kbo(:,41, 5) = (/ & &2.7445e-02_rb,2.9649e-02_rb,3.2516e-02_rb,3.6256e-02_rb,4.0930e-02_rb/) kbo(:,42, 5) = (/ & &2.2572e-02_rb,2.4412e-02_rb,2.6829e-02_rb,3.0022e-02_rb,3.4040e-02_rb/) kbo(:,43, 5) = (/ & &1.8476e-02_rb,1.9991e-02_rb,2.1997e-02_rb,2.4673e-02_rb,2.8080e-02_rb/) kbo(:,44, 5) = (/ & &1.5092e-02_rb,1.6330e-02_rb,1.7973e-02_rb,2.0194e-02_rb,2.3058e-02_rb/) kbo(:,45, 5) = (/ & &1.2321e-02_rb,1.3334e-02_rb,1.4674e-02_rb,1.6507e-02_rb,1.8911e-02_rb/) kbo(:,46, 5) = (/ & &1.0036e-02_rb,1.0861e-02_rb,1.1940e-02_rb,1.3440e-02_rb,1.5434e-02_rb/) kbo(:,47, 5) = (/ & &8.1439e-03_rb,8.8117e-03_rb,9.6681e-03_rb,1.0871e-02_rb,1.2500e-02_rb/) kbo(:,48, 5) = (/ & &6.6059e-03_rb,7.1462e-03_rb,7.8259e-03_rb,8.7835e-03_rb,1.0106e-02_rb/) kbo(:,49, 5) = (/ & &5.3548e-03_rb,5.7913e-03_rb,6.3343e-03_rb,7.0935e-03_rb,8.1581e-03_rb/) kbo(:,50, 5) = (/ & &4.3482e-03_rb,4.7014e-03_rb,5.1411e-03_rb,5.7429e-03_rb,6.6034e-03_rb/) kbo(:,51, 5) = (/ & &3.5331e-03_rb,3.8185e-03_rb,4.1765e-03_rb,4.6543e-03_rb,5.3466e-03_rb/) kbo(:,52, 5) = (/ & &2.8695e-03_rb,3.1007e-03_rb,3.3920e-03_rb,3.7708e-03_rb,4.3257e-03_rb/) kbo(:,53, 5) = (/ & &2.3291e-03_rb,2.5165e-03_rb,2.7524e-03_rb,3.0532e-03_rb,3.4935e-03_rb/) kbo(:,54, 5) = (/ & &1.8925e-03_rb,2.0468e-03_rb,2.2382e-03_rb,2.4801e-03_rb,2.8323e-03_rb/) kbo(:,55, 5) = (/ & &1.5385e-03_rb,1.6657e-03_rb,1.8210e-03_rb,2.0171e-03_rb,2.2988e-03_rb/) kbo(:,56, 5) = (/ & &1.2499e-03_rb,1.3548e-03_rb,1.4808e-03_rb,1.6398e-03_rb,1.8634e-03_rb/) kbo(:,57, 5) = (/ & &1.0138e-03_rb,1.1010e-03_rb,1.2032e-03_rb,1.3320e-03_rb,1.5093e-03_rb/) kbo(:,58, 5) = (/ & &8.2159e-04_rb,8.9516e-04_rb,9.7844e-04_rb,1.0832e-03_rb,1.2245e-03_rb/) kbo(:,59, 5) = (/ & &6.7629e-04_rb,7.3875e-04_rb,8.0921e-04_rb,8.9812e-04_rb,1.0190e-03_rb/) kbo(:,13, 6) = (/ & &8.6109e+00_rb,8.6045e+00_rb,8.6391e+00_rb,8.7159e+00_rb,8.8472e+00_rb/) kbo(:,14, 6) = (/ & &7.2012e+00_rb,7.1992e+00_rb,7.2347e+00_rb,7.3193e+00_rb,7.4652e+00_rb/) kbo(:,15, 6) = (/ & &6.0036e+00_rb,6.0084e+00_rb,6.0525e+00_rb,6.1531e+00_rb,6.3134e+00_rb/) kbo(:,16, 6) = (/ & &4.9860e+00_rb,4.9990e+00_rb,5.0571e+00_rb,5.1776e+00_rb,5.3476e+00_rb/) kbo(:,17, 6) = (/ & &4.1286e+00_rb,4.1532e+00_rb,4.2350e+00_rb,4.3671e+00_rb,4.5277e+00_rb/) kbo(:,18, 6) = (/ & &3.4143e+00_rb,3.4596e+00_rb,3.5560e+00_rb,3.6799e+00_rb,3.8169e+00_rb/) kbo(:,19, 6) = (/ & &2.8306e+00_rb,2.8919e+00_rb,2.9820e+00_rb,3.0877e+00_rb,3.2050e+00_rb/) kbo(:,20, 6) = (/ & &2.3552e+00_rb,2.4158e+00_rb,2.4951e+00_rb,2.5846e+00_rb,2.6876e+00_rb/) kbo(:,21, 6) = (/ & &1.9600e+00_rb,2.0149e+00_rb,2.0826e+00_rb,2.1623e+00_rb,2.2526e+00_rb/) kbo(:,22, 6) = (/ & &1.6326e+00_rb,1.6825e+00_rb,1.7432e+00_rb,1.8140e+00_rb,1.8956e+00_rb/) kbo(:,23, 6) = (/ & &1.3616e+00_rb,1.4065e+00_rb,1.4611e+00_rb,1.5245e+00_rb,1.5974e+00_rb/) kbo(:,24, 6) = (/ & &1.1379e+00_rb,1.1784e+00_rb,1.2266e+00_rb,1.2828e+00_rb,1.3489e+00_rb/) kbo(:,25, 6) = (/ & &9.5263e-01_rb,9.8858e-01_rb,1.0309e+00_rb,1.0818e+00_rb,1.1428e+00_rb/) kbo(:,26, 6) = (/ & &7.9793e-01_rb,8.2975e-01_rb,8.6871e-01_rb,9.1620e-01_rb,9.7213e-01_rb/) kbo(:,27, 6) = (/ & &6.6853e-01_rb,6.9732e-01_rb,7.3341e-01_rb,7.7799e-01_rb,8.3032e-01_rb/) kbo(:,28, 6) = (/ & &5.6032e-01_rb,5.8734e-01_rb,6.2174e-01_rb,6.6339e-01_rb,7.1179e-01_rb/) kbo(:,29, 6) = (/ & &4.7080e-01_rb,4.9684e-01_rb,5.2958e-01_rb,5.6837e-01_rb,6.1280e-01_rb/) kbo(:,30, 6) = (/ & &3.9732e-01_rb,4.2229e-01_rb,4.5298e-01_rb,4.8884e-01_rb,5.2914e-01_rb/) kbo(:,31, 6) = (/ & &3.3719e-01_rb,3.6099e-01_rb,3.8930e-01_rb,4.2211e-01_rb,4.5851e-01_rb/) kbo(:,32, 6) = (/ & &2.8780e-01_rb,3.1000e-01_rb,3.3607e-01_rb,3.6581e-01_rb,3.9865e-01_rb/) kbo(:,33, 6) = (/ & &2.4698e-01_rb,2.6737e-01_rb,2.9124e-01_rb,3.1811e-01_rb,3.4839e-01_rb/) kbo(:,34, 6) = (/ & &2.1208e-01_rb,2.3079e-01_rb,2.5250e-01_rb,2.7695e-01_rb,3.0517e-01_rb/) kbo(:,35, 6) = (/ & &1.8116e-01_rb,1.9828e-01_rb,2.1775e-01_rb,2.3997e-01_rb,2.6607e-01_rb/) kbo(:,36, 6) = (/ & &1.5361e-01_rb,1.6893e-01_rb,1.8633e-01_rb,2.0647e-01_rb,2.3023e-01_rb/) kbo(:,37, 6) = (/ & &1.2853e-01_rb,1.4194e-01_rb,1.5730e-01_rb,1.7520e-01_rb,1.9644e-01_rb/) kbo(:,38, 6) = (/ & &1.0750e-01_rb,1.1924e-01_rb,1.3275e-01_rb,1.4862e-01_rb,1.6766e-01_rb/) kbo(:,39, 6) = (/ & &8.9946e-02_rb,1.0018e-01_rb,1.1208e-01_rb,1.2616e-01_rb,1.4325e-01_rb/) kbo(:,40, 6) = (/ & &7.4468e-02_rb,8.3253e-02_rb,9.3534e-02_rb,1.0578e-01_rb,1.2083e-01_rb/) kbo(:,41, 6) = (/ & &6.1560e-02_rb,6.9060e-02_rb,7.7885e-02_rb,8.8512e-02_rb,1.0168e-01_rb/) kbo(:,42, 6) = (/ & &5.0884e-02_rb,5.7270e-02_rb,6.4836e-02_rb,7.4017e-02_rb,8.5530e-02_rb/) kbo(:,43, 6) = (/ & &4.1741e-02_rb,4.7136e-02_rb,5.3555e-02_rb,6.1413e-02_rb,7.1280e-02_rb/) kbo(:,44, 6) = (/ & &3.4114e-02_rb,3.8637e-02_rb,4.4075e-02_rb,5.0720e-02_rb,5.9134e-02_rb/) kbo(:,45, 6) = (/ & &2.7843e-02_rb,3.1631e-02_rb,3.6225e-02_rb,4.1848e-02_rb,4.9013e-02_rb/) kbo(:,46, 6) = (/ & &2.2624e-02_rb,2.5773e-02_rb,2.9633e-02_rb,3.4369e-02_rb,4.0405e-02_rb/) kbo(:,47, 6) = (/ & &1.8260e-02_rb,2.0843e-02_rb,2.4043e-02_rb,2.7985e-02_rb,3.3023e-02_rb/) kbo(:,48, 6) = (/ & &1.4711e-02_rb,1.6820e-02_rb,1.9466e-02_rb,2.2727e-02_rb,2.6914e-02_rb/) kbo(:,49, 6) = (/ & &1.1827e-02_rb,1.3542e-02_rb,1.5709e-02_rb,1.8410e-02_rb,2.1875e-02_rb/) kbo(:,50, 6) = (/ & &9.5219e-03_rb,1.0923e-02_rb,1.2699e-02_rb,1.4938e-02_rb,1.7808e-02_rb/) kbo(:,51, 6) = (/ & &7.6687e-03_rb,8.8049e-03_rb,1.0259e-02_rb,1.2113e-02_rb,1.4495e-02_rb/) kbo(:,52, 6) = (/ & &6.1732e-03_rb,7.0853e-03_rb,8.2719e-03_rb,9.7966e-03_rb,1.1770e-02_rb/) kbo(:,53, 6) = (/ & &4.9698e-03_rb,5.6903e-03_rb,6.6530e-03_rb,7.9081e-03_rb,9.5294e-03_rb/) kbo(:,54, 6) = (/ & &4.0149e-03_rb,4.5833e-03_rb,5.3685e-03_rb,6.4021e-03_rb,7.7450e-03_rb/) kbo(:,55, 6) = (/ & &3.2497e-03_rb,3.6951e-03_rb,4.3359e-03_rb,5.1870e-03_rb,6.3011e-03_rb/) kbo(:,56, 6) = (/ & &2.6325e-03_rb,2.9773e-03_rb,3.4964e-03_rb,4.1937e-03_rb,5.1170e-03_rb/) kbo(:,57, 6) = (/ & &2.1354e-03_rb,2.3977e-03_rb,2.8151e-03_rb,3.3845e-03_rb,4.1468e-03_rb/) kbo(:,58, 6) = (/ & &1.7364e-03_rb,1.9358e-03_rb,2.2698e-03_rb,2.7348e-03_rb,3.3639e-03_rb/) kbo(:,59, 6) = (/ & &1.4324e-03_rb,1.6023e-03_rb,1.8879e-03_rb,2.2888e-03_rb,2.8370e-03_rb/) kbo(:,13, 7) = (/ & &1.7993e+01_rb,1.8373e+01_rb,1.8772e+01_rb,1.9157e+01_rb,1.9544e+01_rb/) kbo(:,14, 7) = (/ & &1.5395e+01_rb,1.5713e+01_rb,1.6031e+01_rb,1.6348e+01_rb,1.6675e+01_rb/) kbo(:,15, 7) = (/ & &1.3087e+01_rb,1.3328e+01_rb,1.3586e+01_rb,1.3851e+01_rb,1.4166e+01_rb/) kbo(:,16, 7) = (/ & &1.1053e+01_rb,1.1254e+01_rb,1.1469e+01_rb,1.1711e+01_rb,1.2037e+01_rb/) kbo(:,17, 7) = (/ & &9.3076e+00_rb,9.4744e+00_rb,9.6627e+00_rb,9.9088e+00_rb,1.0257e+01_rb/) kbo(:,18, 7) = (/ & &7.8193e+00_rb,7.9665e+00_rb,8.1534e+00_rb,8.4211e+00_rb,8.7715e+00_rb/) kbo(:,19, 7) = (/ & &6.5448e+00_rb,6.6861e+00_rb,6.8916e+00_rb,7.1741e+00_rb,7.4962e+00_rb/) kbo(:,20, 7) = (/ & &5.4651e+00_rb,5.6202e+00_rb,5.8422e+00_rb,6.1124e+00_rb,6.3952e+00_rb/) kbo(:,21, 7) = (/ & &4.5716e+00_rb,4.7392e+00_rb,4.9589e+00_rb,5.1951e+00_rb,5.4343e+00_rb/) kbo(:,22, 7) = (/ & &3.8421e+00_rb,4.0181e+00_rb,4.2111e+00_rb,4.4111e+00_rb,4.6135e+00_rb/) kbo(:,23, 7) = (/ & &3.2420e+00_rb,3.4014e+00_rb,3.5676e+00_rb,3.7366e+00_rb,3.9163e+00_rb/) kbo(:,24, 7) = (/ & &2.7372e+00_rb,2.8745e+00_rb,3.0185e+00_rb,3.1680e+00_rb,3.3279e+00_rb/) kbo(:,25, 7) = (/ & &2.3109e+00_rb,2.4310e+00_rb,2.5564e+00_rb,2.6909e+00_rb,2.8371e+00_rb/) kbo(:,26, 7) = (/ & &1.9553e+00_rb,2.0603e+00_rb,2.1726e+00_rb,2.2928e+00_rb,2.4305e+00_rb/) kbo(:,27, 7) = (/ & &1.6578e+00_rb,1.7514e+00_rb,1.8510e+00_rb,1.9617e+00_rb,2.0943e+00_rb/) kbo(:,28, 7) = (/ & &1.4096e+00_rb,1.4926e+00_rb,1.5811e+00_rb,1.6863e+00_rb,1.8139e+00_rb/) kbo(:,29, 7) = (/ & &1.2014e+00_rb,1.2743e+00_rb,1.3570e+00_rb,1.4576e+00_rb,1.5798e+00_rb/) kbo(:,30, 7) = (/ & &1.0255e+00_rb,1.0913e+00_rb,1.1701e+00_rb,1.2677e+00_rb,1.3837e+00_rb/) kbo(:,31, 7) = (/ & &8.7693e-01_rb,9.3909e-01_rb,1.0166e+00_rb,1.1099e+00_rb,1.2195e+00_rb/) kbo(:,32, 7) = (/ & &7.5259e-01_rb,8.1353e-01_rb,8.8887e-01_rb,9.7843e-01_rb,1.0818e+00_rb/) kbo(:,33, 7) = (/ & &6.4947e-01_rb,7.0941e-01_rb,7.8262e-01_rb,8.6809e-01_rb,9.6577e-01_rb/) kbo(:,34, 7) = (/ & &5.6287e-01_rb,6.2118e-01_rb,6.9115e-01_rb,7.7236e-01_rb,8.6471e-01_rb/) kbo(:,35, 7) = (/ & &4.8662e-01_rb,5.4191e-01_rb,6.0756e-01_rb,6.8389e-01_rb,7.7035e-01_rb/) kbo(:,36, 7) = (/ & &4.1799e-01_rb,4.6899e-01_rb,5.2971e-01_rb,6.0005e-01_rb,6.8040e-01_rb/) kbo(:,37, 7) = (/ & &3.5425e-01_rb,3.9998e-01_rb,4.5446e-01_rb,5.1797e-01_rb,5.9123e-01_rb/) kbo(:,38, 7) = (/ & &3.0041e-01_rb,3.4120e-01_rb,3.9013e-01_rb,4.4734e-01_rb,5.1414e-01_rb/) kbo(:,39, 7) = (/ & &2.5510e-01_rb,2.9152e-01_rb,3.3528e-01_rb,3.8698e-01_rb,4.4801e-01_rb/) kbo(:,40, 7) = (/ & &2.1385e-01_rb,2.4566e-01_rb,2.8431e-01_rb,3.3018e-01_rb,3.8482e-01_rb/) kbo(:,41, 7) = (/ & &1.7890e-01_rb,2.0671e-01_rb,2.4058e-01_rb,2.8118e-01_rb,3.2987e-01_rb/) kbo(:,42, 7) = (/ & &1.4939e-01_rb,1.7381e-01_rb,2.0357e-01_rb,2.3938e-01_rb,2.8282e-01_rb/) kbo(:,43, 7) = (/ & &1.2354e-01_rb,1.4458e-01_rb,1.7057e-01_rb,2.0193e-01_rb,2.4014e-01_rb/) kbo(:,44, 7) = (/ & &1.0153e-01_rb,1.1950e-01_rb,1.4202e-01_rb,1.6945e-01_rb,2.0287e-01_rb/) kbo(:,45, 7) = (/ & &8.3299e-02_rb,9.8554e-02_rb,1.1794e-01_rb,1.4189e-01_rb,1.7119e-01_rb/) kbo(:,46, 7) = (/ & &6.7950e-02_rb,8.0732e-02_rb,9.7254e-02_rb,1.1796e-01_rb,1.4359e-01_rb/) kbo(:,47, 7) = (/ & &5.4969e-02_rb,6.5444e-02_rb,7.9285e-02_rb,9.6924e-02_rb,1.1901e-01_rb/) kbo(:,48, 7) = (/ & &4.4384e-02_rb,5.2919e-02_rb,6.4422e-02_rb,7.9306e-02_rb,9.8242e-02_rb/) kbo(:,49, 7) = (/ & &3.5781e-02_rb,4.2676e-02_rb,5.2185e-02_rb,6.4673e-02_rb,8.0797e-02_rb/) kbo(:,50, 7) = (/ & &2.8901e-02_rb,3.4506e-02_rb,4.2382e-02_rb,5.2852e-02_rb,6.6579e-02_rb/) kbo(:,51, 7) = (/ & &2.3369e-02_rb,2.7878e-02_rb,3.4389e-02_rb,4.3175e-02_rb,5.4833e-02_rb/) kbo(:,52, 7) = (/ & &1.8862e-02_rb,2.2473e-02_rb,2.7804e-02_rb,3.5169e-02_rb,4.5009e-02_rb/) kbo(:,53, 7) = (/ & &1.5202e-02_rb,1.8063e-02_rb,2.2412e-02_rb,2.8532e-02_rb,3.6823e-02_rb/) kbo(:,54, 7) = (/ & &1.2294e-02_rb,1.4584e-02_rb,1.8116e-02_rb,2.3236e-02_rb,3.0266e-02_rb/) kbo(:,55, 7) = (/ & &9.9456e-03_rb,1.1792e-02_rb,1.4659e-02_rb,1.8922e-02_rb,2.4874e-02_rb/) kbo(:,56, 7) = (/ & &8.0324e-03_rb,9.5190e-03_rb,1.1834e-02_rb,1.5356e-02_rb,2.0377e-02_rb/) kbo(:,57, 7) = (/ & &6.4764e-03_rb,7.6756e-03_rb,9.5255e-03_rb,1.2420e-02_rb,1.6628e-02_rb/) kbo(:,58, 7) = (/ & &5.2278e-03_rb,6.1981e-03_rb,7.6844e-03_rb,1.0060e-02_rb,1.3591e-02_rb/) kbo(:,59, 7) = (/ & &4.3384e-03_rb,5.1762e-03_rb,6.4759e-03_rb,8.5723e-03_rb,1.1730e-02_rb/) kbo(:,13, 8) = (/ & &4.8706e+01_rb,5.0287e+01_rb,5.1813e+01_rb,5.3328e+01_rb,5.4791e+01_rb/) kbo(:,14, 8) = (/ & &4.2745e+01_rb,4.3995e+01_rb,4.5243e+01_rb,4.6475e+01_rb,4.7668e+01_rb/) kbo(:,15, 8) = (/ & &3.7251e+01_rb,3.8260e+01_rb,3.9278e+01_rb,4.0277e+01_rb,4.1241e+01_rb/) kbo(:,16, 8) = (/ & &3.2307e+01_rb,3.3121e+01_rb,3.3949e+01_rb,3.4768e+01_rb,3.5567e+01_rb/) kbo(:,17, 8) = (/ & &2.7892e+01_rb,2.8569e+01_rb,2.9248e+01_rb,2.9919e+01_rb,3.0586e+01_rb/) kbo(:,18, 8) = (/ & &2.3896e+01_rb,2.4456e+01_rb,2.5013e+01_rb,2.5581e+01_rb,2.6214e+01_rb/) kbo(:,19, 8) = (/ & &2.0345e+01_rb,2.0796e+01_rb,2.1262e+01_rb,2.1777e+01_rb,2.2440e+01_rb/) kbo(:,20, 8) = (/ & &1.7240e+01_rb,1.7611e+01_rb,1.8026e+01_rb,1.8548e+01_rb,1.9267e+01_rb/) kbo(:,21, 8) = (/ & &1.4559e+01_rb,1.4881e+01_rb,1.5281e+01_rb,1.5850e+01_rb,1.6627e+01_rb/) kbo(:,22, 8) = (/ & &1.2297e+01_rb,1.2604e+01_rb,1.3048e+01_rb,1.3680e+01_rb,1.4474e+01_rb/) kbo(:,23, 8) = (/ & &1.0392e+01_rb,1.0731e+01_rb,1.1231e+01_rb,1.1887e+01_rb,1.2635e+01_rb/) kbo(:,24, 8) = (/ & &8.8024e+00_rb,9.1906e+00_rb,9.7265e+00_rb,1.0368e+01_rb,1.1047e+01_rb/) kbo(:,25, 8) = (/ & &7.4985e+00_rb,7.9218e+00_rb,8.4606e+00_rb,9.0520e+00_rb,9.6698e+00_rb/) kbo(:,26, 8) = (/ & &6.4322e+00_rb,6.8736e+00_rb,7.3794e+00_rb,7.9154e+00_rb,8.4712e+00_rb/) kbo(:,27, 8) = (/ & &5.5575e+00_rb,5.9810e+00_rb,6.4388e+00_rb,6.9229e+00_rb,7.4216e+00_rb/) kbo(:,28, 8) = (/ & &4.8206e+00_rb,5.2066e+00_rb,5.6224e+00_rb,6.0597e+00_rb,6.5182e+00_rb/) kbo(:,29, 8) = (/ & &4.1909e+00_rb,4.5439e+00_rb,4.9224e+00_rb,5.3216e+00_rb,5.7541e+00_rb/) kbo(:,30, 8) = (/ & &3.6537e+00_rb,3.9765e+00_rb,4.3215e+00_rb,4.6952e+00_rb,5.1087e+00_rb/) kbo(:,31, 8) = (/ & &3.1984e+00_rb,3.4930e+00_rb,3.8129e+00_rb,4.1678e+00_rb,4.5716e+00_rb/) kbo(:,32, 8) = (/ & &2.8116e+00_rb,3.0829e+00_rb,3.3853e+00_rb,3.7289e+00_rb,4.1280e+00_rb/) kbo(:,33, 8) = (/ & &2.4834e+00_rb,2.7385e+00_rb,3.0281e+00_rb,3.3657e+00_rb,3.7662e+00_rb/) kbo(:,34, 8) = (/ & &2.1985e+00_rb,2.4407e+00_rb,2.7219e+00_rb,3.0561e+00_rb,3.4576e+00_rb/) kbo(:,35, 8) = (/ & &1.9383e+00_rb,2.1683e+00_rb,2.4400e+00_rb,2.7681e+00_rb,3.1668e+00_rb/) kbo(:,36, 8) = (/ & &1.6974e+00_rb,1.9136e+00_rb,2.1729e+00_rb,2.4903e+00_rb,2.8775e+00_rb/) kbo(:,37, 8) = (/ & &1.4652e+00_rb,1.6633e+00_rb,1.9048e+00_rb,2.2035e+00_rb,2.5698e+00_rb/) kbo(:,38, 8) = (/ & &1.2656e+00_rb,1.4474e+00_rb,1.6717e+00_rb,1.9523e+00_rb,2.2987e+00_rb/) kbo(:,39, 8) = (/ & &1.0950e+00_rb,1.2617e+00_rb,1.4708e+00_rb,1.7354e+00_rb,2.0626e+00_rb/) kbo(:,40, 8) = (/ & &9.3521e-01_rb,1.0851e+00_rb,1.2754e+00_rb,1.5183e+00_rb,1.8212e+00_rb/) kbo(:,41, 8) = (/ & &7.9768e-01_rb,9.3182e-01_rb,1.1039e+00_rb,1.3257e+00_rb,1.6049e+00_rb/) kbo(:,42, 8) = (/ & &6.8000e-01_rb,8.0060e-01_rb,9.5561e-01_rb,1.1575e+00_rb,1.4146e+00_rb/) kbo(:,43, 8) = (/ & &5.7402e-01_rb,6.8098e-01_rb,8.1874e-01_rb,9.9948e-01_rb,1.2325e+00_rb/) kbo(:,44, 8) = (/ & &4.8186e-01_rb,5.7592e-01_rb,6.9798e-01_rb,8.5786e-01_rb,1.0670e+00_rb/) kbo(:,45, 8) = (/ & &4.0392e-01_rb,4.8633e-01_rb,5.9393e-01_rb,7.3592e-01_rb,9.2240e-01_rb/) kbo(:,46, 8) = (/ & &3.3669e-01_rb,4.0818e-01_rb,5.0211e-01_rb,6.2723e-01_rb,7.9252e-01_rb/) kbo(:,47, 8) = (/ & &2.7781e-01_rb,3.3888e-01_rb,4.1961e-01_rb,5.2781e-01_rb,6.7290e-01_rb/) kbo(:,48, 8) = (/ & &2.2877e-01_rb,2.8059e-01_rb,3.4952e-01_rb,4.4268e-01_rb,5.6946e-01_rb/) kbo(:,49, 8) = (/ & &1.8802e-01_rb,2.3180e-01_rb,2.9026e-01_rb,3.7003e-01_rb,4.7989e-01_rb/) kbo(:,50, 8) = (/ & &1.5486e-01_rb,1.9224e-01_rb,2.4194e-01_rb,3.1045e-01_rb,4.0570e-01_rb/) kbo(:,51, 8) = (/ & &1.2726e-01_rb,1.5950e-01_rb,2.0189e-01_rb,2.6070e-01_rb,3.4311e-01_rb/) kbo(:,52, 8) = (/ & &1.0409e-01_rb,1.3185e-01_rb,1.6823e-01_rb,2.1834e-01_rb,2.8934e-01_rb/) kbo(:,53, 8) = (/ & &8.4711e-02_rb,1.0844e-01_rb,1.3980e-01_rb,1.8253e-01_rb,2.4332e-01_rb/) kbo(:,54, 8) = (/ & &6.9167e-02_rb,8.9444e-02_rb,1.1665e-01_rb,1.5372e-01_rb,2.0609e-01_rb/) kbo(:,55, 8) = (/ & &5.6448e-02_rb,7.3743e-02_rb,9.7299e-02_rb,1.2965e-01_rb,1.7511e-01_rb/) kbo(:,56, 8) = (/ & &4.5936e-02_rb,6.0554e-02_rb,8.0824e-02_rb,1.0896e-01_rb,1.4860e-01_rb/) kbo(:,57, 8) = (/ & &3.7232e-02_rb,4.9532e-02_rb,6.6834e-02_rb,9.1174e-02_rb,1.2579e-01_rb/) kbo(:,58, 8) = (/ & &3.0170e-02_rb,4.0563e-02_rb,5.5307e-02_rb,7.6347e-02_rb,1.0664e-01_rb/) kbo(:,59, 8) = (/ & &2.5677e-02_rb,3.5025e-02_rb,4.8385e-02_rb,6.7734e-02_rb,9.6011e-02_rb/) kbo(:,13, 9) = (/ & &2.6703e+02_rb,2.6279e+02_rb,2.6062e+02_rb,2.6039e+02_rb,2.6194e+02_rb/) kbo(:,14, 9) = (/ & &2.2898e+02_rb,2.2692e+02_rb,2.2683e+02_rb,2.2864e+02_rb,2.3216e+02_rb/) kbo(:,15, 9) = (/ & &1.9675e+02_rb,1.9661e+02_rb,1.9840e+02_rb,2.0200e+02_rb,2.0726e+02_rb/) kbo(:,16, 9) = (/ & &1.6984e+02_rb,1.7136e+02_rb,1.7476e+02_rb,1.7992e+02_rb,1.8656e+02_rb/) kbo(:,17, 9) = (/ & &1.4758e+02_rb,1.5050e+02_rb,1.5527e+02_rb,1.6140e+02_rb,1.6749e+02_rb/) kbo(:,18, 9) = (/ & &1.2946e+02_rb,1.3358e+02_rb,1.3896e+02_rb,1.4424e+02_rb,1.4936e+02_rb/) kbo(:,19, 9) = (/ & &1.1448e+02_rb,1.1916e+02_rb,1.2382e+02_rb,1.2832e+02_rb,1.3257e+02_rb/) kbo(:,20, 9) = (/ & &1.0147e+02_rb,1.0559e+02_rb,1.0961e+02_rb,1.1348e+02_rb,1.1720e+02_rb/) kbo(:,21, 9) = (/ & &8.9412e+01_rb,9.2958e+01_rb,9.6430e+01_rb,9.9808e+01_rb,1.0309e+02_rb/) kbo(:,22, 9) = (/ & &7.8582e+01_rb,8.1638e+01_rb,8.4651e+01_rb,8.7620e+01_rb,9.0634e+01_rb/) kbo(:,23, 9) = (/ & &6.8855e+01_rb,7.1486e+01_rb,7.4134e+01_rb,7.6820e+01_rb,7.9730e+01_rb/) kbo(:,24, 9) = (/ & &6.0268e+01_rb,6.2580e+01_rb,6.4940e+01_rb,6.7498e+01_rb,7.0383e+01_rb/) kbo(:,25, 9) = (/ & &5.2817e+01_rb,5.4857e+01_rb,5.7070e+01_rb,5.9583e+01_rb,6.2456e+01_rb/) kbo(:,26, 9) = (/ & &4.6400e+01_rb,4.8304e+01_rb,5.0443e+01_rb,5.2928e+01_rb,5.5843e+01_rb/) kbo(:,27, 9) = (/ & &4.0882e+01_rb,4.2740e+01_rb,4.4869e+01_rb,4.7387e+01_rb,5.0354e+01_rb/) kbo(:,28, 9) = (/ & &3.6127e+01_rb,3.8035e+01_rb,4.0229e+01_rb,4.2798e+01_rb,4.5828e+01_rb/) kbo(:,29, 9) = (/ & &3.2099e+01_rb,3.4067e+01_rb,3.6357e+01_rb,3.9031e+01_rb,4.2139e+01_rb/) kbo(:,30, 9) = (/ & &2.8701e+01_rb,3.0741e+01_rb,3.3127e+01_rb,3.5914e+01_rb,3.9160e+01_rb/) kbo(:,31, 9) = (/ & &2.5860e+01_rb,2.7970e+01_rb,3.0458e+01_rb,3.3377e+01_rb,3.6776e+01_rb/) kbo(:,32, 9) = (/ & &2.3508e+01_rb,2.5694e+01_rb,2.8287e+01_rb,3.1347e+01_rb,3.4892e+01_rb/) kbo(:,33, 9) = (/ & &2.1570e+01_rb,2.3849e+01_rb,2.6553e+01_rb,2.9752e+01_rb,3.3419e+01_rb/) kbo(:,34, 9) = (/ & &1.9918e+01_rb,2.2276e+01_rb,2.5098e+01_rb,2.8399e+01_rb,3.2162e+01_rb/) kbo(:,35, 9) = (/ & &1.8364e+01_rb,2.0767e+01_rb,2.3651e+01_rb,2.7001e+01_rb,3.0813e+01_rb/) kbo(:,36, 9) = (/ & &1.6826e+01_rb,1.9227e+01_rb,2.2113e+01_rb,2.5466e+01_rb,2.9284e+01_rb/) kbo(:,37, 9) = (/ & &1.5183e+01_rb,1.7515e+01_rb,2.0322e+01_rb,2.3610e+01_rb,2.7381e+01_rb/) kbo(:,38, 9) = (/ & &1.3727e+01_rb,1.5985e+01_rb,1.8713e+01_rb,2.1934e+01_rb,2.5649e+01_rb/) kbo(:,39, 9) = (/ & &1.2450e+01_rb,1.4635e+01_rb,1.7282e+01_rb,2.0444e+01_rb,2.4108e+01_rb/) kbo(:,40, 9) = (/ & &1.1136e+01_rb,1.3200e+01_rb,1.5726e+01_rb,1.8770e+01_rb,2.2337e+01_rb/) kbo(:,41, 9) = (/ & &9.9523e+00_rb,1.1888e+01_rb,1.4289e+01_rb,1.7214e+01_rb,2.0673e+01_rb/) kbo(:,42, 9) = (/ & &8.8997e+00_rb,1.0713e+01_rb,1.2995e+01_rb,1.5799e+01_rb,1.9151e+01_rb/) kbo(:,43, 9) = (/ & &7.8779e+00_rb,9.5542e+00_rb,1.1690e+01_rb,1.4348e+01_rb,1.7554e+01_rb/) kbo(:,44, 9) = (/ & &6.9290e+00_rb,8.4792e+00_rb,1.0459e+01_rb,1.2952e+01_rb,1.5997e+01_rb/) kbo(:,45, 9) = (/ & &6.0796e+00_rb,7.5168e+00_rb,9.3520e+00_rb,1.1681e+01_rb,1.4566e+01_rb/) kbo(:,46, 9) = (/ & &5.2960e+00_rb,6.6184e+00_rb,8.3160e+00_rb,1.0473e+01_rb,1.3177e+01_rb/) kbo(:,47, 9) = (/ & &4.5500e+00_rb,5.7498e+00_rb,7.3069e+00_rb,9.2819e+00_rb,1.1781e+01_rb/) kbo(:,48, 9) = (/ & &3.8931e+00_rb,4.9768e+00_rb,6.3975e+00_rb,8.2101e+00_rb,1.0505e+01_rb/) kbo(:,49, 9) = (/ & &3.3134e+00_rb,4.2874e+00_rb,5.5792e+00_rb,7.2463e+00_rb,9.3480e+00_rb/) kbo(:,50, 9) = (/ & &2.8246e+00_rb,3.7000e+00_rb,4.8781e+00_rb,6.4148e+00_rb,8.3545e+00_rb/) kbo(:,51, 9) = (/ & &2.4042e+00_rb,3.1908e+00_rb,4.2622e+00_rb,5.6755e+00_rb,7.4755e+00_rb/) kbo(:,52, 9) = (/ & &2.0363e+00_rb,2.7388e+00_rb,3.7098e+00_rb,5.0044e+00_rb,6.6735e+00_rb/) kbo(:,53, 9) = (/ & &1.7163e+00_rb,2.3398e+00_rb,3.2134e+00_rb,4.3950e+00_rb,5.9331e+00_rb/) kbo(:,54, 9) = (/ & &1.4526e+00_rb,2.0075e+00_rb,2.7999e+00_rb,3.8816e+00_rb,5.3040e+00_rb/) kbo(:,55, 9) = (/ & &1.2300e+00_rb,1.7228e+00_rb,2.4419e+00_rb,3.4323e+00_rb,4.7483e+00_rb/) kbo(:,56, 9) = (/ & &1.0375e+00_rb,1.4731e+00_rb,2.1205e+00_rb,3.0254e+00_rb,4.2381e+00_rb/) kbo(:,57, 9) = (/ & &8.7139e-01_rb,1.2530e+00_rb,1.8332e+00_rb,2.6576e+00_rb,3.7724e+00_rb/) kbo(:,58, 9) = (/ & &7.3413e-01_rb,1.0690e+00_rb,1.5879e+00_rb,2.3382e+00_rb,3.3642e+00_rb/) kbo(:,59, 9) = (/ & &6.5989e-01_rb,9.7719e-01_rb,1.4752e+00_rb,2.2003e+00_rb,3.1955e+00_rb/) kbo(:,13,10) = (/ & &1.1367e+03_rb,1.1187e+03_rb,1.1007e+03_rb,1.0822e+03_rb,1.0635e+03_rb/) kbo(:,14,10) = (/ & &1.0074e+03_rb,9.9018e+02_rb,9.7308e+02_rb,9.5574e+02_rb,9.3889e+02_rb/) kbo(:,15,10) = (/ & &8.7706e+02_rb,8.6124e+02_rb,8.4557e+02_rb,8.3018e+02_rb,8.1545e+02_rb/) kbo(:,16,10) = (/ & &7.5406e+02_rb,7.4004e+02_rb,7.2614e+02_rb,7.1298e+02_rb,7.0106e+02_rb/) kbo(:,17,10) = (/ & &6.4217e+02_rb,6.3016e+02_rb,6.1851e+02_rb,6.1057e+02_rb,6.1770e+02_rb/) kbo(:,18,10) = (/ & &5.4317e+02_rb,5.3308e+02_rb,5.2858e+02_rb,5.4063e+02_rb,5.6728e+02_rb/) kbo(:,19,10) = (/ & &4.6024e+02_rb,4.5629e+02_rb,4.6936e+02_rb,4.9569e+02_rb,5.2404e+02_rb/) kbo(:,20,10) = (/ & &3.9833e+02_rb,4.0962e+02_rb,4.3282e+02_rb,4.5686e+02_rb,4.8096e+02_rb/) kbo(:,21,10) = (/ & &3.5836e+02_rb,3.7926e+02_rb,4.0031e+02_rb,4.2094e+02_rb,4.4134e+02_rb/) kbo(:,22,10) = (/ & &3.2968e+02_rb,3.4978e+02_rb,3.6939e+02_rb,3.8833e+02_rb,4.0603e+02_rb/) kbo(:,23,10) = (/ & &3.0114e+02_rb,3.1980e+02_rb,3.3812e+02_rb,3.5559e+02_rb,3.7182e+02_rb/) kbo(:,24,10) = (/ & &2.7330e+02_rb,2.9068e+02_rb,3.0752e+02_rb,3.2347e+02_rb,3.3875e+02_rb/) kbo(:,25,10) = (/ & &2.4688e+02_rb,2.6295e+02_rb,2.7833e+02_rb,2.9325e+02_rb,3.0804e+02_rb/) kbo(:,26,10) = (/ & &2.2243e+02_rb,2.3718e+02_rb,2.5149e+02_rb,2.6591e+02_rb,2.8021e+02_rb/) kbo(:,27,10) = (/ & &2.0056e+02_rb,2.1372e+02_rb,2.2739e+02_rb,2.4128e+02_rb,2.5540e+02_rb/) kbo(:,28,10) = (/ & &1.8160e+02_rb,1.9338e+02_rb,2.0609e+02_rb,2.1959e+02_rb,2.3363e+02_rb/) kbo(:,29,10) = (/ & &1.6537e+02_rb,1.7620e+02_rb,1.8800e+02_rb,2.0075e+02_rb,2.1484e+02_rb/) kbo(:,30,10) = (/ & &1.5182e+02_rb,1.6163e+02_rb,1.7256e+02_rb,1.8487e+02_rb,1.9853e+02_rb/) kbo(:,31,10) = (/ & &1.4022e+02_rb,1.4937e+02_rb,1.5973e+02_rb,1.7160e+02_rb,1.8530e+02_rb/) kbo(:,32,10) = (/ & &1.3043e+02_rb,1.3908e+02_rb,1.4919e+02_rb,1.6089e+02_rb,1.7519e+02_rb/) kbo(:,33,10) = (/ & &1.2206e+02_rb,1.3058e+02_rb,1.4055e+02_rb,1.5267e+02_rb,1.6777e+02_rb/) kbo(:,34,10) = (/ & &1.1470e+02_rb,1.2330e+02_rb,1.3342e+02_rb,1.4627e+02_rb,1.6240e+02_rb/) kbo(:,35,10) = (/ & &1.0771e+02_rb,1.1657e+02_rb,1.2696e+02_rb,1.4044e+02_rb,1.5769e+02_rb/) kbo(:,36,10) = (/ & &1.0083e+02_rb,1.1016e+02_rb,1.2074e+02_rb,1.3465e+02_rb,1.5261e+02_rb/) kbo(:,37,10) = (/ & &9.3496e+01_rb,1.0322e+02_rb,1.1406e+02_rb,1.2781e+02_rb,1.4573e+02_rb/) kbo(:,38,10) = (/ & &8.6889e+01_rb,9.7016e+01_rb,1.0824e+02_rb,1.2185e+02_rb,1.3969e+02_rb/) kbo(:,39,10) = (/ & &8.1021e+01_rb,9.1487e+01_rb,1.0329e+02_rb,1.1682e+02_rb,1.3445e+02_rb/) kbo(:,40,10) = (/ & &7.4776e+01_rb,8.5570e+01_rb,9.7630e+01_rb,1.1098e+02_rb,1.2786e+02_rb/) kbo(:,41,10) = (/ & &6.8905e+01_rb,7.9963e+01_rb,9.2277e+01_rb,1.0563e+02_rb,1.2163e+02_rb/) kbo(:,42,10) = (/ & &6.3556e+01_rb,7.4784e+01_rb,8.7205e+01_rb,1.0072e+02_rb,1.1596e+02_rb/) kbo(:,43,10) = (/ & &5.8129e+01_rb,6.9316e+01_rb,8.1730e+01_rb,9.5263e+01_rb,1.0987e+02_rb/) kbo(:,44,10) = (/ & &5.2913e+01_rb,6.3890e+01_rb,7.6248e+01_rb,8.9686e+01_rb,1.0397e+02_rb/) kbo(:,45,10) = (/ & &4.8208e+01_rb,5.8780e+01_rb,7.0988e+01_rb,8.4262e+01_rb,9.8407e+01_rb/) kbo(:,46,10) = (/ & &4.3761e+01_rb,5.3798e+01_rb,6.5649e+01_rb,7.8725e+01_rb,9.2702e+01_rb/) kbo(:,47,10) = (/ & &3.9326e+01_rb,4.8763e+01_rb,6.0030e+01_rb,7.2829e+01_rb,8.6540e+01_rb/) kbo(:,48,10) = (/ & &3.5364e+01_rb,4.4166e+01_rb,5.4802e+01_rb,6.7118e+01_rb,8.0555e+01_rb/) kbo(:,49,10) = (/ & &3.1766e+01_rb,3.9895e+01_rb,4.9874e+01_rb,6.1599e+01_rb,7.4720e+01_rb/) kbo(:,50,10) = (/ & &2.8694e+01_rb,3.6225e+01_rb,4.5586e+01_rb,5.6696e+01_rb,6.9417e+01_rb/) kbo(:,51,10) = (/ & &2.5920e+01_rb,3.2954e+01_rb,4.1705e+01_rb,5.2192e+01_rb,6.4368e+01_rb/) kbo(:,52,10) = (/ & &2.3265e+01_rb,2.9945e+01_rb,3.8066e+01_rb,4.7953e+01_rb,5.9548e+01_rb/) kbo(:,53,10) = (/ & &2.0700e+01_rb,2.7205e+01_rb,3.4731e+01_rb,4.4004e+01_rb,5.4983e+01_rb/) kbo(:,54,10) = (/ & &1.8407e+01_rb,2.4804e+01_rb,3.1883e+01_rb,4.0571e+01_rb,5.0997e+01_rb/) kbo(:,55,10) = (/ & &1.6304e+01_rb,2.2551e+01_rb,2.9350e+01_rb,3.7469e+01_rb,4.7350e+01_rb/) kbo(:,56,10) = (/ & &1.4323e+01_rb,2.0360e+01_rb,2.7019e+01_rb,3.4608e+01_rb,4.3950e+01_rb/) kbo(:,57,10) = (/ & &1.2463e+01_rb,1.8241e+01_rb,2.4765e+01_rb,3.1934e+01_rb,4.0687e+01_rb/) kbo(:,58,10) = (/ & &1.0795e+01_rb,1.6294e+01_rb,2.2666e+01_rb,2.9555e+01_rb,3.7776e+01_rb/) kbo(:,59,10) = (/ & &1.0106e+01_rb,1.5507e+01_rb,2.1812e+01_rb,2.8629e+01_rb,3.6645e+01_rb/) kbo(:,13,11) = (/ & &1.9976e+03_rb,1.9732e+03_rb,1.9489e+03_rb,1.9244e+03_rb,1.8976e+03_rb/) kbo(:,14,11) = (/ & &1.8361e+03_rb,1.8109e+03_rb,1.7859e+03_rb,1.7607e+03_rb,1.7342e+03_rb/) kbo(:,15,11) = (/ & &1.6588e+03_rb,1.6335e+03_rb,1.6090e+03_rb,1.5838e+03_rb,1.5592e+03_rb/) kbo(:,16,11) = (/ & &1.4709e+03_rb,1.4475e+03_rb,1.4246e+03_rb,1.4016e+03_rb,1.3798e+03_rb/) kbo(:,17,11) = (/ & &1.2816e+03_rb,1.2604e+03_rb,1.2396e+03_rb,1.2204e+03_rb,1.2023e+03_rb/) kbo(:,18,11) = (/ & &1.1028e+03_rb,1.0839e+03_rb,1.0668e+03_rb,1.0513e+03_rb,1.0382e+03_rb/) kbo(:,19,11) = (/ & &9.4023e+02_rb,9.2525e+02_rb,9.1156e+02_rb,9.0352e+02_rb,9.1240e+02_rb/) kbo(:,20,11) = (/ & &7.9708e+02_rb,7.8540e+02_rb,7.8133e+02_rb,7.9678e+02_rb,8.2988e+02_rb/) kbo(:,21,11) = (/ & &6.7587e+02_rb,6.7233e+02_rb,6.8973e+02_rb,7.2606e+02_rb,7.7277e+02_rb/) kbo(:,22,11) = (/ & &5.8284e+02_rb,5.9841e+02_rb,6.3319e+02_rb,6.7525e+02_rb,7.1925e+02_rb/) kbo(:,23,11) = (/ & &5.2309e+02_rb,5.5425e+02_rb,5.9038e+02_rb,6.2826e+02_rb,6.6879e+02_rb/) kbo(:,24,11) = (/ & &4.8568e+02_rb,5.1820e+02_rb,5.5078e+02_rb,5.8566e+02_rb,6.2252e+02_rb/) kbo(:,25,11) = (/ & &4.5215e+02_rb,4.8337e+02_rb,5.1498e+02_rb,5.4697e+02_rb,5.8166e+02_rb/) kbo(:,26,11) = (/ & &4.2013e+02_rb,4.5049e+02_rb,4.8168e+02_rb,5.1282e+02_rb,5.4620e+02_rb/) kbo(:,27,11) = (/ & &3.8959e+02_rb,4.1991e+02_rb,4.5056e+02_rb,4.8229e+02_rb,5.1534e+02_rb/) kbo(:,28,11) = (/ & &3.6165e+02_rb,3.9145e+02_rb,4.2248e+02_rb,4.5510e+02_rb,4.8890e+02_rb/) kbo(:,29,11) = (/ & &3.3655e+02_rb,3.6613e+02_rb,3.9802e+02_rb,4.3186e+02_rb,4.6748e+02_rb/) kbo(:,30,11) = (/ & &3.1395e+02_rb,3.4455e+02_rb,3.7776e+02_rb,4.1303e+02_rb,4.5043e+02_rb/) kbo(:,31,11) = (/ & &2.9496e+02_rb,3.2692e+02_rb,3.6155e+02_rb,3.9895e+02_rb,4.3848e+02_rb/) kbo(:,32,11) = (/ & &2.7981e+02_rb,3.1316e+02_rb,3.4973e+02_rb,3.8935e+02_rb,4.3105e+02_rb/) kbo(:,33,11) = (/ & &2.6816e+02_rb,3.0318e+02_rb,3.4211e+02_rb,3.8404e+02_rb,4.2836e+02_rb/) kbo(:,34,11) = (/ & &2.5884e+02_rb,2.9576e+02_rb,3.3707e+02_rb,3.8116e+02_rb,4.2770e+02_rb/) kbo(:,35,11) = (/ & &2.4952e+02_rb,2.8807e+02_rb,3.3125e+02_rb,3.7732e+02_rb,4.2524e+02_rb/) kbo(:,36,11) = (/ & &2.3943e+02_rb,2.7867e+02_rb,3.2325e+02_rb,3.7058e+02_rb,4.1944e+02_rb/) kbo(:,37,11) = (/ & &2.2613e+02_rb,2.6501e+02_rb,3.0984e+02_rb,3.5803e+02_rb,4.0758e+02_rb/) kbo(:,38,11) = (/ & &2.1436e+02_rb,2.5281e+02_rb,2.9747e+02_rb,3.4610e+02_rb,3.9628e+02_rb/) kbo(:,39,11) = (/ & &2.0421e+02_rb,2.4224e+02_rb,2.8638e+02_rb,3.3523e+02_rb,3.8565e+02_rb/) kbo(:,40,11) = (/ & &1.9196e+02_rb,2.2865e+02_rb,2.7155e+02_rb,3.1991e+02_rb,3.7045e+02_rb/) kbo(:,41,11) = (/ & &1.8048e+02_rb,2.1574e+02_rb,2.5717e+02_rb,3.0447e+02_rb,3.5504e+02_rb/) kbo(:,42,11) = (/ & &1.7002e+02_rb,2.0375e+02_rb,2.4381e+02_rb,2.8960e+02_rb,3.3999e+02_rb/) kbo(:,43,11) = (/ & &1.5882e+02_rb,1.9068e+02_rb,2.2888e+02_rb,2.7297e+02_rb,3.2243e+02_rb/) kbo(:,44,11) = (/ & &1.4807e+02_rb,1.7774e+02_rb,2.1381e+02_rb,2.5595e+02_rb,3.0384e+02_rb/) kbo(:,45,11) = (/ & &1.3832e+02_rb,1.6584e+02_rb,1.9975e+02_rb,2.3997e+02_rb,2.8600e+02_rb/) kbo(:,46,11) = (/ & &1.2854e+02_rb,1.5423e+02_rb,1.8595e+02_rb,2.2400e+02_rb,2.6785e+02_rb/) kbo(:,47,11) = (/ & &1.1798e+02_rb,1.4267e+02_rb,1.7172e+02_rb,2.0717e+02_rb,2.4874e+02_rb/) kbo(:,48,11) = (/ & &1.0754e+02_rb,1.3197e+02_rb,1.5865e+02_rb,1.9157e+02_rb,2.3076e+02_rb/) kbo(:,49,11) = (/ & &9.7426e+01_rb,1.2165e+02_rb,1.4680e+02_rb,1.7709e+02_rb,2.1383e+02_rb/) kbo(:,50,11) = (/ & &8.8058e+01_rb,1.1199e+02_rb,1.3670e+02_rb,1.6456e+02_rb,1.9880e+02_rb/) kbo(:,51,11) = (/ & &7.9382e+01_rb,1.0270e+02_rb,1.2731e+02_rb,1.5331e+02_rb,1.8527e+02_rb/) kbo(:,52,11) = (/ & &7.1270e+01_rb,9.3720e+01_rb,1.1802e+02_rb,1.4309e+02_rb,1.7263e+02_rb/) kbo(:,53,11) = (/ & &6.3724e+01_rb,8.4883e+01_rb,1.0881e+02_rb,1.3358e+02_rb,1.6088e+02_rb/) kbo(:,54,11) = (/ & &5.7330e+01_rb,7.7159e+01_rb,1.0045e+02_rb,1.2510e+02_rb,1.5088e+02_rb/) kbo(:,55,11) = (/ & &5.1611e+01_rb,7.0208e+01_rb,9.2617e+01_rb,1.1701e+02_rb,1.4209e+02_rb/) kbo(:,56,11) = (/ & &4.6383e+01_rb,6.3679e+01_rb,8.4927e+01_rb,1.0898e+02_rb,1.3380e+02_rb/) kbo(:,57,11) = (/ & &4.1604e+01_rb,5.7613e+01_rb,7.7613e+01_rb,1.0100e+02_rb,1.2575e+02_rb/) kbo(:,58,11) = (/ & &3.7495e+01_rb,5.2208e+01_rb,7.1056e+01_rb,9.3655e+01_rb,1.1815e+02_rb/) kbo(:,59,11) = (/ & &3.5885e+01_rb,5.0106e+01_rb,6.8487e+01_rb,9.0651e+01_rb,1.1506e+02_rb/) kbo(:,13,12) = (/ & &3.5806e+03_rb,3.5582e+03_rb,3.5338e+03_rb,3.5034e+03_rb,3.4725e+03_rb/) kbo(:,14,12) = (/ & &3.4862e+03_rb,3.4597e+03_rb,3.4292e+03_rb,3.3949e+03_rb,3.3614e+03_rb/) kbo(:,15,12) = (/ & &3.3163e+03_rb,3.2855e+03_rb,3.2498e+03_rb,3.2159e+03_rb,3.1795e+03_rb/) kbo(:,16,12) = (/ & &3.0905e+03_rb,3.0565e+03_rb,3.0217e+03_rb,2.9883e+03_rb,2.9514e+03_rb/) kbo(:,17,12) = (/ & &2.8252e+03_rb,2.7909e+03_rb,2.7597e+03_rb,2.7275e+03_rb,2.6935e+03_rb/) kbo(:,18,12) = (/ & &2.5391e+03_rb,2.5095e+03_rb,2.4810e+03_rb,2.4508e+03_rb,2.4233e+03_rb/) kbo(:,19,12) = (/ & &2.2475e+03_rb,2.2231e+03_rb,2.1980e+03_rb,2.1744e+03_rb,2.1532e+03_rb/) kbo(:,20,12) = (/ & &1.9592e+03_rb,1.9385e+03_rb,1.9191e+03_rb,1.9031e+03_rb,1.8880e+03_rb/) kbo(:,21,12) = (/ & &1.6882e+03_rb,1.6730e+03_rb,1.6603e+03_rb,1.6503e+03_rb,1.6513e+03_rb/) kbo(:,22,12) = (/ & &1.4424e+03_rb,1.4327e+03_rb,1.4274e+03_rb,1.4386e+03_rb,1.4720e+03_rb/) kbo(:,23,12) = (/ & &1.2274e+03_rb,1.2245e+03_rb,1.2417e+03_rb,1.2835e+03_rb,1.3444e+03_rb/) kbo(:,24,12) = (/ & &1.0462e+03_rb,1.0639e+03_rb,1.1088e+03_rb,1.1752e+03_rb,1.2597e+03_rb/) kbo(:,25,12) = (/ & &9.1114e+02_rb,9.5200e+02_rb,1.0177e+03_rb,1.1057e+03_rb,1.2094e+03_rb/) kbo(:,26,12) = (/ & &8.2003e+02_rb,8.7985e+02_rb,9.6324e+02_rb,1.0645e+03_rb,1.1739e+03_rb/) kbo(:,27,12) = (/ & &7.6267e+02_rb,8.3792e+02_rb,9.2956e+02_rb,1.0323e+03_rb,1.1455e+03_rb/) kbo(:,28,12) = (/ & &7.2963e+02_rb,8.0994e+02_rb,9.0250e+02_rb,1.0075e+03_rb,1.1258e+03_rb/) kbo(:,29,12) = (/ & &7.0594e+02_rb,7.8863e+02_rb,8.8342e+02_rb,9.9282e+02_rb,1.1166e+03_rb/) kbo(:,30,12) = (/ & &6.8865e+02_rb,7.7319e+02_rb,8.7237e+02_rb,9.8744e+02_rb,1.1171e+03_rb/) kbo(:,31,12) = (/ & &6.7685e+02_rb,7.6521e+02_rb,8.7052e+02_rb,9.9144e+02_rb,1.1267e+03_rb/) kbo(:,32,12) = (/ & &6.7111e+02_rb,7.6562e+02_rb,8.7695e+02_rb,1.0037e+03_rb,1.1434e+03_rb/) kbo(:,33,12) = (/ & &6.7259e+02_rb,7.7346e+02_rb,8.9020e+02_rb,1.0220e+03_rb,1.1658e+03_rb/) kbo(:,34,12) = (/ & &6.7713e+02_rb,7.8296e+02_rb,9.0470e+02_rb,1.0405e+03_rb,1.1875e+03_rb/) kbo(:,35,12) = (/ & &6.7665e+02_rb,7.8599e+02_rb,9.1053e+02_rb,1.0483e+03_rb,1.1976e+03_rb/) kbo(:,36,12) = (/ & &6.6854e+02_rb,7.7898e+02_rb,9.0439e+02_rb,1.0428e+03_rb,1.1928e+03_rb/) kbo(:,37,12) = (/ & &6.4709e+02_rb,7.5625e+02_rb,8.8001e+02_rb,1.0171e+03_rb,1.1660e+03_rb/) kbo(:,38,12) = (/ & &6.2682e+02_rb,7.3409e+02_rb,8.5611e+02_rb,9.9182e+02_rb,1.1392e+03_rb/) kbo(:,39,12) = (/ & &6.0784e+02_rb,7.1328e+02_rb,8.3356e+02_rb,9.6784e+02_rb,1.1136e+03_rb/) kbo(:,40,12) = (/ & &5.7971e+02_rb,6.8247e+02_rb,7.9953e+02_rb,9.3053e+02_rb,1.0739e+03_rb/) kbo(:,41,12) = (/ & &5.5088e+02_rb,6.5173e+02_rb,7.6511e+02_rb,8.9294e+02_rb,1.0334e+03_rb/) kbo(:,42,12) = (/ & &5.2250e+02_rb,6.2258e+02_rb,7.3222e+02_rb,8.5651e+02_rb,9.9385e+02_rb/) kbo(:,43,12) = (/ & &4.8933e+02_rb,5.8876e+02_rb,6.9433e+02_rb,8.1420e+02_rb,9.4769e+02_rb/) kbo(:,44,12) = (/ & &4.5428e+02_rb,5.5295e+02_rb,6.5546e+02_rb,7.7054e+02_rb,8.9971e+02_rb/) kbo(:,45,12) = (/ & &4.2007e+02_rb,5.1771e+02_rb,6.1870e+02_rb,7.2869e+02_rb,8.5325e+02_rb/) kbo(:,46,12) = (/ & &3.8522e+02_rb,4.8086e+02_rb,5.8089e+02_rb,6.8626e+02_rb,8.0577e+02_rb/) kbo(:,47,12) = (/ & &3.4877e+02_rb,4.4033e+02_rb,5.3933e+02_rb,6.4157e+02_rb,7.5519e+02_rb/) kbo(:,48,12) = (/ & &3.1493e+02_rb,4.0108e+02_rb,4.9823e+02_rb,5.9910e+02_rb,7.0691e+02_rb/) kbo(:,49,12) = (/ & &2.8364e+02_rb,3.6388e+02_rb,4.5779e+02_rb,5.5756e+02_rb,6.6121e+02_rb/) kbo(:,50,12) = (/ & &2.5678e+02_rb,3.3121e+02_rb,4.2060e+02_rb,5.1905e+02_rb,6.2075e+02_rb/) kbo(:,51,12) = (/ & &2.3307e+02_rb,3.0175e+02_rb,3.8585e+02_rb,4.8220e+02_rb,5.8283e+02_rb/) kbo(:,52,12) = (/ & &2.1162e+02_rb,2.7441e+02_rb,3.5299e+02_rb,4.4577e+02_rb,5.4547e+02_rb/) kbo(:,53,12) = (/ & &1.9234e+02_rb,2.4923e+02_rb,3.2216e+02_rb,4.1019e+02_rb,5.0837e+02_rb/) kbo(:,54,12) = (/ & &1.7628e+02_rb,2.2813e+02_rb,2.9582e+02_rb,3.7887e+02_rb,4.7480e+02_rb/) kbo(:,55,12) = (/ & &1.6140e+02_rb,2.0966e+02_rb,2.7210e+02_rb,3.5029e+02_rb,4.4296e+02_rb/) kbo(:,56,12) = (/ & &1.4678e+02_rb,1.9288e+02_rb,2.5016e+02_rb,3.2346e+02_rb,4.1177e+02_rb/) kbo(:,57,12) = (/ & &1.3255e+02_rb,1.7758e+02_rb,2.2997e+02_rb,2.9828e+02_rb,3.8188e+02_rb/) kbo(:,58,12) = (/ & &1.1943e+02_rb,1.6353e+02_rb,2.1228e+02_rb,2.7566e+02_rb,3.5477e+02_rb/) kbo(:,59,12) = (/ & &1.1423e+02_rb,1.5792e+02_rb,2.0564e+02_rb,2.6702e+02_rb,3.4426e+02_rb/) kbo(:,13,13) = (/ & &6.2371e+03_rb,6.2518e+03_rb,6.2489e+03_rb,6.2389e+03_rb,6.2163e+03_rb/) kbo(:,14,13) = (/ & &6.5479e+03_rb,6.5460e+03_rb,6.5322e+03_rb,6.5131e+03_rb,6.4799e+03_rb/) kbo(:,15,13) = (/ & &6.7275e+03_rb,6.7134e+03_rb,6.6981e+03_rb,6.6679e+03_rb,6.6340e+03_rb/) kbo(:,16,13) = (/ & &6.7706e+03_rb,6.7549e+03_rb,6.7279e+03_rb,6.6968e+03_rb,6.6585e+03_rb/) kbo(:,17,13) = (/ & &6.6836e+03_rb,6.6601e+03_rb,6.6362e+03_rb,6.6043e+03_rb,6.5760e+03_rb/) kbo(:,18,13) = (/ & &6.4651e+03_rb,6.4504e+03_rb,6.4295e+03_rb,6.4100e+03_rb,6.3855e+03_rb/) kbo(:,19,13) = (/ & &6.1476e+03_rb,6.1374e+03_rb,6.1314e+03_rb,6.1247e+03_rb,6.1206e+03_rb/) kbo(:,20,13) = (/ & &5.7657e+03_rb,5.7701e+03_rb,5.7793e+03_rb,5.7885e+03_rb,5.8038e+03_rb/) kbo(:,21,13) = (/ & &5.3372e+03_rb,5.3657e+03_rb,5.3946e+03_rb,5.4291e+03_rb,5.4659e+03_rb/) kbo(:,22,13) = (/ & &4.8964e+03_rb,4.9428e+03_rb,4.9998e+03_rb,5.0621e+03_rb,5.1258e+03_rb/) kbo(:,23,13) = (/ & &4.4608e+03_rb,4.5344e+03_rb,4.6177e+03_rb,4.7044e+03_rb,4.8008e+03_rb/) kbo(:,24,13) = (/ & &4.0572e+03_rb,4.1535e+03_rb,4.2613e+03_rb,4.3798e+03_rb,4.5026e+03_rb/) kbo(:,25,13) = (/ & &3.6891e+03_rb,3.8125e+03_rb,3.9482e+03_rb,4.0905e+03_rb,4.2411e+03_rb/) kbo(:,26,13) = (/ & &3.3690e+03_rb,3.5206e+03_rb,3.6781e+03_rb,3.8529e+03_rb,4.0416e+03_rb/) kbo(:,27,13) = (/ & &3.0960e+03_rb,3.2709e+03_rb,3.4667e+03_rb,3.6805e+03_rb,3.9027e+03_rb/) kbo(:,28,13) = (/ & &2.8685e+03_rb,3.0838e+03_rb,3.3203e+03_rb,3.5644e+03_rb,3.8131e+03_rb/) kbo(:,29,13) = (/ & &2.7079e+03_rb,2.9620e+03_rb,3.2275e+03_rb,3.4951e+03_rb,3.7635e+03_rb/) kbo(:,30,13) = (/ & &2.6061e+03_rb,2.8858e+03_rb,3.1752e+03_rb,3.4611e+03_rb,3.7451e+03_rb/) kbo(:,31,13) = (/ & &2.5477e+03_rb,2.8507e+03_rb,3.1575e+03_rb,3.4577e+03_rb,3.7506e+03_rb/) kbo(:,32,13) = (/ & &2.5270e+03_rb,2.8474e+03_rb,3.1664e+03_rb,3.4757e+03_rb,3.7742e+03_rb/) kbo(:,33,13) = (/ & &2.5348e+03_rb,2.8669e+03_rb,3.1934e+03_rb,3.5095e+03_rb,3.8093e+03_rb/) kbo(:,34,13) = (/ & &2.5519e+03_rb,2.8931e+03_rb,3.2251e+03_rb,3.5432e+03_rb,3.8451e+03_rb/) kbo(:,35,13) = (/ & &2.5512e+03_rb,2.8985e+03_rb,3.2338e+03_rb,3.5558e+03_rb,3.8584e+03_rb/) kbo(:,36,13) = (/ & &2.5221e+03_rb,2.8745e+03_rb,3.2143e+03_rb,3.5395e+03_rb,3.8450e+03_rb/) kbo(:,37,13) = (/ & &2.4460e+03_rb,2.8025e+03_rb,3.1490e+03_rb,3.4791e+03_rb,3.7899e+03_rb/) kbo(:,38,13) = (/ & &2.3708e+03_rb,2.7313e+03_rb,3.0831e+03_rb,3.4179e+03_rb,3.7342e+03_rb/) kbo(:,39,13) = (/ & &2.3003e+03_rb,2.6642e+03_rb,3.0201e+03_rb,3.3586e+03_rb,3.6803e+03_rb/) kbo(:,40,13) = (/ & &2.1969e+03_rb,2.5616e+03_rb,2.9219e+03_rb,3.2671e+03_rb,3.5954e+03_rb/) kbo(:,41,13) = (/ & &2.0924e+03_rb,2.4560e+03_rb,2.8204e+03_rb,3.1716e+03_rb,3.5055e+03_rb/) kbo(:,42,13) = (/ & &1.9915e+03_rb,2.3511e+03_rb,2.7188e+03_rb,3.0759e+03_rb,3.4151e+03_rb/) kbo(:,43,13) = (/ & &1.8747e+03_rb,2.2279e+03_rb,2.5969e+03_rb,2.9589e+03_rb,3.3053e+03_rb/) kbo(:,44,13) = (/ & &1.7544e+03_rb,2.0986e+03_rb,2.4653e+03_rb,2.8326e+03_rb,3.1860e+03_rb/) kbo(:,45,13) = (/ & &1.6386e+03_rb,1.9731e+03_rb,2.3348e+03_rb,2.7048e+03_rb,3.0644e+03_rb/) kbo(:,46,13) = (/ & &1.5205e+03_rb,1.8444e+03_rb,2.1974e+03_rb,2.5688e+03_rb,2.9332e+03_rb/) kbo(:,47,13) = (/ & &1.3958e+03_rb,1.7058e+03_rb,2.0486e+03_rb,2.4160e+03_rb,2.7851e+03_rb/) kbo(:,48,13) = (/ & &1.2783e+03_rb,1.5734e+03_rb,1.9036e+03_rb,2.2627e+03_rb,2.6347e+03_rb/) kbo(:,49,13) = (/ & &1.1678e+03_rb,1.4470e+03_rb,1.7643e+03_rb,2.1130e+03_rb,2.4832e+03_rb/) kbo(:,50,13) = (/ & &1.0712e+03_rb,1.3344e+03_rb,1.6384e+03_rb,1.9762e+03_rb,2.3408e+03_rb/) kbo(:,51,13) = (/ & &9.8353e+02_rb,1.2311e+03_rb,1.5209e+03_rb,1.8472e+03_rb,2.2032e+03_rb/) kbo(:,52,13) = (/ & &9.0254e+02_rb,1.1339e+03_rb,1.4093e+03_rb,1.7232e+03_rb,2.0693e+03_rb/) kbo(:,53,13) = (/ & &8.2760e+02_rb,1.0429e+03_rb,1.3025e+03_rb,1.6032e+03_rb,1.9381e+03_rb/) kbo(:,54,13) = (/ & &7.6424e+02_rb,9.6451e+02_rb,1.2096e+03_rb,1.4971e+03_rb,1.8216e+03_rb/) kbo(:,55,13) = (/ & &7.1080e+02_rb,8.9446e+02_rb,1.1253e+03_rb,1.4000e+03_rb,1.7133e+03_rb/) kbo(:,56,13) = (/ & &6.6381e+02_rb,8.2901e+02_rb,1.0458e+03_rb,1.3069e+03_rb,1.6083e+03_rb/) kbo(:,57,13) = (/ & &6.2290e+02_rb,7.6867e+02_rb,9.7122e+02_rb,1.2178e+03_rb,1.5070e+03_rb/) kbo(:,58,13) = (/ & &5.8709e+02_rb,7.1760e+02_rb,9.0453e+02_rb,1.1378e+03_rb,1.4149e+03_rb/) kbo(:,59,13) = (/ & &5.7268e+02_rb,6.9849e+02_rb,8.7854e+02_rb,1.1067e+03_rb,1.3783e+03_rb/) kbo(:,13,14) = (/ & &9.8812e+03_rb,9.9499e+03_rb,9.9974e+03_rb,1.0022e+04_rb,1.0029e+04_rb/) kbo(:,14,14) = (/ & &1.1156e+04_rb,1.1216e+04_rb,1.1254e+04_rb,1.1270e+04_rb,1.1265e+04_rb/) kbo(:,15,14) = (/ & &1.2449e+04_rb,1.2496e+04_rb,1.2517e+04_rb,1.2519e+04_rb,1.2490e+04_rb/) kbo(:,16,14) = (/ & &1.3700e+04_rb,1.3729e+04_rb,1.3741e+04_rb,1.3718e+04_rb,1.3680e+04_rb/) kbo(:,17,14) = (/ & &1.4861e+04_rb,1.4895e+04_rb,1.4882e+04_rb,1.4853e+04_rb,1.4786e+04_rb/) kbo(:,18,14) = (/ & &1.5910e+04_rb,1.5917e+04_rb,1.5910e+04_rb,1.5867e+04_rb,1.5794e+04_rb/) kbo(:,19,14) = (/ & &1.6801e+04_rb,1.6817e+04_rb,1.6802e+04_rb,1.6758e+04_rb,1.6676e+04_rb/) kbo(:,20,14) = (/ & &1.7524e+04_rb,1.7556e+04_rb,1.7546e+04_rb,1.7509e+04_rb,1.7437e+04_rb/) kbo(:,21,14) = (/ & &1.8096e+04_rb,1.8141e+04_rb,1.8145e+04_rb,1.8122e+04_rb,1.8064e+04_rb/) kbo(:,22,14) = (/ & &1.8520e+04_rb,1.8595e+04_rb,1.8633e+04_rb,1.8624e+04_rb,1.8566e+04_rb/) kbo(:,23,14) = (/ & &1.8825e+04_rb,1.8946e+04_rb,1.9018e+04_rb,1.9030e+04_rb,1.8984e+04_rb/) kbo(:,24,14) = (/ & &1.9042e+04_rb,1.9220e+04_rb,1.9316e+04_rb,1.9349e+04_rb,1.9324e+04_rb/) kbo(:,25,14) = (/ & &1.9210e+04_rb,1.9418e+04_rb,1.9542e+04_rb,1.9606e+04_rb,1.9602e+04_rb/) kbo(:,26,14) = (/ & &1.9338e+04_rb,1.9577e+04_rb,1.9740e+04_rb,1.9821e+04_rb,1.9828e+04_rb/) kbo(:,27,14) = (/ & &1.9451e+04_rb,1.9723e+04_rb,1.9903e+04_rb,2.0002e+04_rb,2.0015e+04_rb/) kbo(:,28,14) = (/ & &1.9563e+04_rb,1.9853e+04_rb,2.0047e+04_rb,2.0156e+04_rb,2.0162e+04_rb/) kbo(:,29,14) = (/ & &1.9675e+04_rb,1.9975e+04_rb,2.0176e+04_rb,2.0280e+04_rb,2.0284e+04_rb/) kbo(:,30,14) = (/ & &1.9781e+04_rb,2.0092e+04_rb,2.0291e+04_rb,2.0384e+04_rb,2.0380e+04_rb/) kbo(:,31,14) = (/ & &1.9898e+04_rb,2.0205e+04_rb,2.0389e+04_rb,2.0467e+04_rb,2.0456e+04_rb/) kbo(:,32,14) = (/ & &2.0014e+04_rb,2.0306e+04_rb,2.0476e+04_rb,2.0543e+04_rb,2.0514e+04_rb/) kbo(:,33,14) = (/ & &2.0125e+04_rb,2.0400e+04_rb,2.0544e+04_rb,2.0600e+04_rb,2.0558e+04_rb/) kbo(:,34,14) = (/ & &2.0217e+04_rb,2.0476e+04_rb,2.0611e+04_rb,2.0645e+04_rb,2.0591e+04_rb/) kbo(:,35,14) = (/ & &2.0276e+04_rb,2.0526e+04_rb,2.0654e+04_rb,2.0682e+04_rb,2.0620e+04_rb/) kbo(:,36,14) = (/ & &2.0294e+04_rb,2.0553e+04_rb,2.0682e+04_rb,2.0712e+04_rb,2.0656e+04_rb/) kbo(:,37,14) = (/ & &2.0260e+04_rb,2.0540e+04_rb,2.0692e+04_rb,2.0741e+04_rb,2.0704e+04_rb/) kbo(:,38,14) = (/ & &2.0217e+04_rb,2.0522e+04_rb,2.0695e+04_rb,2.0763e+04_rb,2.0734e+04_rb/) kbo(:,39,14) = (/ & &2.0167e+04_rb,2.0500e+04_rb,2.0691e+04_rb,2.0777e+04_rb,2.0762e+04_rb/) kbo(:,40,14) = (/ & &2.0068e+04_rb,2.0438e+04_rb,2.0666e+04_rb,2.0778e+04_rb,2.0786e+04_rb/) kbo(:,41,14) = (/ & &1.9949e+04_rb,2.0361e+04_rb,2.0631e+04_rb,2.0768e+04_rb,2.0804e+04_rb/) kbo(:,42,14) = (/ & &1.9819e+04_rb,2.0274e+04_rb,2.0579e+04_rb,2.0750e+04_rb,2.0814e+04_rb/) kbo(:,43,14) = (/ & &1.9645e+04_rb,2.0149e+04_rb,2.0503e+04_rb,2.0721e+04_rb,2.0814e+04_rb/) kbo(:,44,14) = (/ & &1.9429e+04_rb,1.9994e+04_rb,2.0396e+04_rb,2.0663e+04_rb,2.0798e+04_rb/) kbo(:,45,14) = (/ & &1.9189e+04_rb,1.9824e+04_rb,2.0285e+04_rb,2.0595e+04_rb,2.0770e+04_rb/) kbo(:,46,14) = (/ & &1.8912e+04_rb,1.9621e+04_rb,2.0139e+04_rb,2.0501e+04_rb,2.0722e+04_rb/) kbo(:,47,14) = (/ & &1.8574e+04_rb,1.9355e+04_rb,1.9947e+04_rb,2.0373e+04_rb,2.0652e+04_rb/) kbo(:,48,14) = (/ & &1.8199e+04_rb,1.9060e+04_rb,1.9733e+04_rb,2.0223e+04_rb,2.0560e+04_rb/) kbo(:,49,14) = (/ & &1.7788e+04_rb,1.8737e+04_rb,1.9487e+04_rb,2.0042e+04_rb,2.0440e+04_rb/) kbo(:,50,14) = (/ & &1.7372e+04_rb,1.8402e+04_rb,1.9222e+04_rb,1.9853e+04_rb,2.0312e+04_rb/) kbo(:,51,14) = (/ & &1.6932e+04_rb,1.8048e+04_rb,1.8944e+04_rb,1.9653e+04_rb,2.0163e+04_rb/) kbo(:,52,14) = (/ & &1.6460e+04_rb,1.7668e+04_rb,1.8640e+04_rb,1.9416e+04_rb,1.9992e+04_rb/) kbo(:,53,14) = (/ & &1.5959e+04_rb,1.7252e+04_rb,1.8310e+04_rb,1.9147e+04_rb,1.9806e+04_rb/) kbo(:,54,14) = (/ & &1.5461e+04_rb,1.6846e+04_rb,1.7980e+04_rb,1.8888e+04_rb,1.9606e+04_rb/) kbo(:,55,14) = (/ & &1.4966e+04_rb,1.6424e+04_rb,1.7640e+04_rb,1.8623e+04_rb,1.9399e+04_rb/) kbo(:,56,14) = (/ & &1.4452e+04_rb,1.5984e+04_rb,1.7276e+04_rb,1.8327e+04_rb,1.9166e+04_rb/) kbo(:,57,14) = (/ & &1.3910e+04_rb,1.5518e+04_rb,1.6891e+04_rb,1.8015e+04_rb,1.8917e+04_rb/) kbo(:,58,14) = (/ & &1.3384e+04_rb,1.5053e+04_rb,1.6496e+04_rb,1.7699e+04_rb,1.8667e+04_rb/) kbo(:,59,14) = (/ & &1.3166e+04_rb,1.4859e+04_rb,1.6332e+04_rb,1.7567e+04_rb,1.8563e+04_rb/) kbo(:,13,15) = (/ & &1.3095e+04_rb,1.3203e+04_rb,1.3280e+04_rb,1.3335e+04_rb,1.3364e+04_rb/) kbo(:,14,15) = (/ & &1.5533e+04_rb,1.5637e+04_rb,1.5702e+04_rb,1.5732e+04_rb,1.5730e+04_rb/) kbo(:,15,15) = (/ & &1.8283e+04_rb,1.8379e+04_rb,1.8421e+04_rb,1.8416e+04_rb,1.8371e+04_rb/) kbo(:,16,15) = (/ & &2.1357e+04_rb,2.1409e+04_rb,2.1406e+04_rb,2.1356e+04_rb,2.1240e+04_rb/) kbo(:,17,15) = (/ & &2.4722e+04_rb,2.4699e+04_rb,2.4632e+04_rb,2.4482e+04_rb,2.4282e+04_rb/) kbo(:,18,15) = (/ & &2.8315e+04_rb,2.8214e+04_rb,2.8019e+04_rb,2.7755e+04_rb,2.7441e+04_rb/) kbo(:,19,15) = (/ & &3.2071e+04_rb,3.1837e+04_rb,3.1501e+04_rb,3.1092e+04_rb,3.0622e+04_rb/) kbo(:,20,15) = (/ & &3.5875e+04_rb,3.5466e+04_rb,3.4981e+04_rb,3.4394e+04_rb,3.3745e+04_rb/) kbo(:,21,15) = (/ & &3.9627e+04_rb,3.9030e+04_rb,3.8357e+04_rb,3.7580e+04_rb,3.6746e+04_rb/) kbo(:,22,15) = (/ & &4.3205e+04_rb,4.2400e+04_rb,4.1478e+04_rb,4.0494e+04_rb,3.9468e+04_rb/) kbo(:,23,15) = (/ & &4.6532e+04_rb,4.5460e+04_rb,4.4309e+04_rb,4.3126e+04_rb,4.1899e+04_rb/) kbo(:,24,15) = (/ & &4.9513e+04_rb,4.8176e+04_rb,4.6831e+04_rb,4.5435e+04_rb,4.4005e+04_rb/) kbo(:,25,15) = (/ & &5.2106e+04_rb,5.0560e+04_rb,4.9001e+04_rb,4.7400e+04_rb,4.5767e+04_rb/) kbo(:,26,15) = (/ & &5.4289e+04_rb,5.2537e+04_rb,5.0767e+04_rb,4.8979e+04_rb,4.7180e+04_rb/) kbo(:,27,15) = (/ & &5.6074e+04_rb,5.4129e+04_rb,5.2176e+04_rb,5.0219e+04_rb,4.8292e+04_rb/) kbo(:,28,15) = (/ & &5.7491e+04_rb,5.5358e+04_rb,5.3246e+04_rb,5.1171e+04_rb,4.9128e+04_rb/) kbo(:,29,15) = (/ & &5.8538e+04_rb,5.6261e+04_rb,5.4015e+04_rb,5.1836e+04_rb,4.9710e+04_rb/) kbo(:,30,15) = (/ & &5.9277e+04_rb,5.6882e+04_rb,5.4538e+04_rb,5.2280e+04_rb,5.0075e+04_rb/) kbo(:,31,15) = (/ & &5.9738e+04_rb,5.7244e+04_rb,5.4845e+04_rb,5.2509e+04_rb,5.0252e+04_rb/) kbo(:,32,15) = (/ & &5.9975e+04_rb,5.7405e+04_rb,5.4958e+04_rb,5.2573e+04_rb,5.0275e+04_rb/) kbo(:,33,15) = (/ & &6.0007e+04_rb,5.7410e+04_rb,5.4914e+04_rb,5.2499e+04_rb,5.0167e+04_rb/) kbo(:,34,15) = (/ & &5.9998e+04_rb,5.7359e+04_rb,5.4840e+04_rb,5.2398e+04_rb,5.0041e+04_rb/) kbo(:,35,15) = (/ & &6.0132e+04_rb,5.7462e+04_rb,5.4907e+04_rb,5.2438e+04_rb,5.0062e+04_rb/) kbo(:,36,15) = (/ & &6.0467e+04_rb,5.7764e+04_rb,5.5174e+04_rb,5.2679e+04_rb,5.0279e+04_rb/) kbo(:,37,15) = (/ & &6.1171e+04_rb,5.8407e+04_rb,5.5781e+04_rb,5.3245e+04_rb,5.0803e+04_rb/) kbo(:,38,15) = (/ & &6.1845e+04_rb,5.9045e+04_rb,5.6369e+04_rb,5.3796e+04_rb,5.1321e+04_rb/) kbo(:,39,15) = (/ & &6.2474e+04_rb,5.9622e+04_rb,5.6925e+04_rb,5.4319e+04_rb,5.1811e+04_rb/) kbo(:,40,15) = (/ & &6.3380e+04_rb,6.0485e+04_rb,5.7724e+04_rb,5.5082e+04_rb,5.2540e+04_rb/) kbo(:,41,15) = (/ & &6.4308e+04_rb,6.1360e+04_rb,5.8546e+04_rb,5.5868e+04_rb,5.3286e+04_rb/) kbo(:,42,15) = (/ & &6.5214e+04_rb,6.2221e+04_rb,5.9366e+04_rb,5.6643e+04_rb,5.4029e+04_rb/) kbo(:,43,15) = (/ & &6.6280e+04_rb,6.3259e+04_rb,6.0335e+04_rb,5.7567e+04_rb,5.4915e+04_rb/) kbo(:,44,15) = (/ & &6.7443e+04_rb,6.4360e+04_rb,6.1383e+04_rb,5.8557e+04_rb,5.5857e+04_rb/) kbo(:,45,15) = (/ & &6.8616e+04_rb,6.5461e+04_rb,6.2445e+04_rb,5.9557e+04_rb,5.6818e+04_rb/) kbo(:,46,15) = (/ & &6.9855e+04_rb,6.6628e+04_rb,6.3578e+04_rb,6.0631e+04_rb,5.7835e+04_rb/) kbo(:,47,15) = (/ & &7.1240e+04_rb,6.7969e+04_rb,6.4839e+04_rb,6.1843e+04_rb,5.8987e+04_rb/) kbo(:,48,15) = (/ & &7.2637e+04_rb,6.9326e+04_rb,6.6121e+04_rb,6.3073e+04_rb,6.0145e+04_rb/) kbo(:,49,15) = (/ & &7.4017e+04_rb,7.0688e+04_rb,6.7429e+04_rb,6.4324e+04_rb,6.1340e+04_rb/) kbo(:,50,15) = (/ & &7.5349e+04_rb,7.1972e+04_rb,6.8674e+04_rb,6.5502e+04_rb,6.2467e+04_rb/) kbo(:,51,15) = (/ & &7.6637e+04_rb,7.3219e+04_rb,6.9913e+04_rb,6.6663e+04_rb,6.3587e+04_rb/) kbo(:,52,15) = (/ & &7.7955e+04_rb,7.4483e+04_rb,7.1122e+04_rb,6.7846e+04_rb,6.4721e+04_rb/) kbo(:,53,15) = (/ & &7.9280e+04_rb,7.5753e+04_rb,7.2364e+04_rb,6.9053e+04_rb,6.5858e+04_rb/) kbo(:,54,15) = (/ & &8.0495e+04_rb,7.6933e+04_rb,7.3504e+04_rb,7.0171e+04_rb,6.6914e+04_rb/) kbo(:,55,15) = (/ & &8.1662e+04_rb,7.8089e+04_rb,7.4612e+04_rb,7.1233e+04_rb,6.7959e+04_rb/) kbo(:,56,15) = (/ & &8.2843e+04_rb,7.9230e+04_rb,7.5715e+04_rb,7.2316e+04_rb,6.9008e+04_rb/) kbo(:,57,15) = (/ & &8.4005e+04_rb,8.0398e+04_rb,7.6842e+04_rb,7.3404e+04_rb,7.0077e+04_rb/) kbo(:,58,15) = (/ & &8.5078e+04_rb,8.1502e+04_rb,7.7919e+04_rb,7.4439e+04_rb,7.1083e+04_rb/) kbo(:,59,15) = (/ & &8.5505e+04_rb,8.1958e+04_rb,7.8361e+04_rb,7.4870e+04_rb,7.1482e+04_rb/) kbo(:,13,16) = (/ & &1.4816e+04_rb,1.4930e+04_rb,1.5014e+04_rb,1.5052e+04_rb,1.5044e+04_rb/) kbo(:,14,16) = (/ & &1.7836e+04_rb,1.7951e+04_rb,1.8019e+04_rb,1.8017e+04_rb,1.7984e+04_rb/) kbo(:,15,16) = (/ & &2.1381e+04_rb,2.1462e+04_rb,2.1481e+04_rb,2.1430e+04_rb,2.1342e+04_rb/) kbo(:,16,16) = (/ & &2.5477e+04_rb,2.5475e+04_rb,2.5403e+04_rb,2.5275e+04_rb,2.5089e+04_rb/) kbo(:,17,16) = (/ & &3.0124e+04_rb,3.0002e+04_rb,2.9773e+04_rb,2.9519e+04_rb,2.9186e+04_rb/) kbo(:,18,16) = (/ & &3.5286e+04_rb,3.4965e+04_rb,3.4530e+04_rb,3.4092e+04_rb,3.3540e+04_rb/) kbo(:,19,16) = (/ & &4.0852e+04_rb,4.0241e+04_rb,3.9575e+04_rb,3.8871e+04_rb,3.8057e+04_rb/) kbo(:,20,16) = (/ & &4.6699e+04_rb,4.5739e+04_rb,4.4741e+04_rb,4.3700e+04_rb,4.2576e+04_rb/) kbo(:,21,16) = (/ & &5.2654e+04_rb,5.1275e+04_rb,4.9864e+04_rb,4.8428e+04_rb,4.6961e+04_rb/) kbo(:,22,16) = (/ & &5.8403e+04_rb,5.6551e+04_rb,5.4684e+04_rb,5.2822e+04_rb,5.0976e+04_rb/) kbo(:,23,16) = (/ & &6.3816e+04_rb,6.1463e+04_rb,5.9121e+04_rb,5.6821e+04_rb,5.4590e+04_rb/) kbo(:,24,16) = (/ & &6.8713e+04_rb,6.5863e+04_rb,6.3058e+04_rb,6.0345e+04_rb,5.7751e+04_rb/) kbo(:,25,16) = (/ & &7.2989e+04_rb,6.9656e+04_rb,6.6424e+04_rb,6.3329e+04_rb,6.0404e+04_rb/) kbo(:,26,16) = (/ & &7.6570e+04_rb,7.2775e+04_rb,6.9149e+04_rb,6.5716e+04_rb,6.2522e+04_rb/) kbo(:,27,16) = (/ & &7.9459e+04_rb,7.5274e+04_rb,7.1313e+04_rb,6.7589e+04_rb,6.4169e+04_rb/) kbo(:,28,16) = (/ & &8.1683e+04_rb,7.7174e+04_rb,7.2947e+04_rb,6.8995e+04_rb,6.5376e+04_rb/) kbo(:,29,16) = (/ & &8.3285e+04_rb,7.8510e+04_rb,7.4071e+04_rb,6.9957e+04_rb,6.6188e+04_rb/) kbo(:,30,16) = (/ & &8.4346e+04_rb,7.9371e+04_rb,7.4777e+04_rb,7.0557e+04_rb,6.6673e+04_rb/) kbo(:,31,16) = (/ & &8.4928e+04_rb,7.9835e+04_rb,7.5096e+04_rb,7.0806e+04_rb,6.6861e+04_rb/) kbo(:,32,16) = (/ & &8.5101e+04_rb,7.9916e+04_rb,7.5117e+04_rb,7.0792e+04_rb,6.6791e+04_rb/) kbo(:,33,16) = (/ & &8.4949e+04_rb,7.9717e+04_rb,7.4898e+04_rb,7.0557e+04_rb,6.6529e+04_rb/) kbo(:,34,16) = (/ & &8.4743e+04_rb,7.9470e+04_rb,7.4656e+04_rb,7.0309e+04_rb,6.6256e+04_rb/) kbo(:,35,16) = (/ & &8.4858e+04_rb,7.9542e+04_rb,7.4709e+04_rb,7.0325e+04_rb,6.6240e+04_rb/) kbo(:,36,16) = (/ & &8.5440e+04_rb,8.0039e+04_rb,7.5130e+04_rb,7.0697e+04_rb,6.6564e+04_rb/) kbo(:,37,16) = (/ & &8.6760e+04_rb,8.1217e+04_rb,7.6179e+04_rb,7.1644e+04_rb,6.7431e+04_rb/) kbo(:,38,16) = (/ & &8.8049e+04_rb,8.2388e+04_rb,7.7214e+04_rb,7.2579e+04_rb,6.8294e+04_rb/) kbo(:,39,16) = (/ & &8.9280e+04_rb,8.3525e+04_rb,7.8218e+04_rb,7.3474e+04_rb,6.9111e+04_rb/) kbo(:,40,16) = (/ & &9.1121e+04_rb,8.5172e+04_rb,7.9710e+04_rb,7.4807e+04_rb,7.0344e+04_rb/) kbo(:,41,16) = (/ & &9.3033e+04_rb,8.6893e+04_rb,8.1281e+04_rb,7.6203e+04_rb,7.1626e+04_rb/) kbo(:,42,16) = (/ & &9.4965e+04_rb,8.8622e+04_rb,8.0415e+04_rb,7.7606e+04_rb,7.2910e+04_rb/) kbo(:,43,16) = (/ & &9.7303e+04_rb,9.0720e+04_rb,8.4775e+04_rb,7.9330e+04_rb,7.4454e+04_rb/) kbo(:,44,16) = (/ & &9.9859e+04_rb,9.3029e+04_rb,8.6867e+04_rb,8.1230e+04_rb,7.6153e+04_rb/) kbo(:,45,16) = (/ & &1.0249e+05_rb,9.5410e+04_rb,8.8999e+04_rb,8.3177e+04_rb,7.7890e+04_rb/) kbo(:,46,16) = (/ & &1.0536e+05_rb,9.7993e+04_rb,9.1330e+04_rb,8.5316e+04_rb,7.9796e+04_rb/) kbo(:,47,16) = (/ & &1.0871e+05_rb,1.0095e+05_rb,9.4014e+04_rb,8.7743e+04_rb,8.2024e+04_rb/) kbo(:,48,16) = (/ & &1.1228e+05_rb,1.0405e+05_rb,9.6823e+04_rb,9.0264e+04_rb,8.4322e+04_rb/) kbo(:,49,16) = (/ & &1.1602e+05_rb,1.0727e+05_rb,9.9709e+04_rb,9.2873e+04_rb,8.6711e+04_rb/) kbo(:,50,16) = (/ & &1.1975e+05_rb,1.1051e+05_rb,1.0253e+05_rb,9.5425e+04_rb,8.8999e+04_rb/) kbo(:,51,16) = (/ & &1.2354e+05_rb,1.1380e+05_rb,1.0536e+05_rb,9.7987e+04_rb,9.1299e+04_rb/) kbo(:,52,16) = (/ & &1.2745e+05_rb,1.1723e+05_rb,1.0833e+05_rb,1.0062e+05_rb,9.3694e+04_rb/) kbo(:,53,16) = (/ & &1.3160e+05_rb,1.2088e+05_rb,1.1148e+05_rb,1.0337e+05_rb,9.6183e+04_rb/) kbo(:,54,16) = (/ & &1.3555e+05_rb,1.2436e+05_rb,1.1452e+05_rb,1.0598e+05_rb,9.8537e+04_rb/) kbo(:,55,16) = (/ & &1.3946e+05_rb,1.2781e+05_rb,1.1754e+05_rb,1.0859e+05_rb,1.0085e+05_rb/) kbo(:,56,16) = (/ & &1.4362e+05_rb,1.3143e+05_rb,1.2072e+05_rb,1.1136e+05_rb,1.0326e+05_rb/) kbo(:,57,16) = (/ & &1.4797e+05_rb,1.3519e+05_rb,1.2403e+05_rb,1.1423e+05_rb,1.0573e+05_rb/) kbo(:,58,16) = (/ & &1.5241e+05_rb,1.3886e+05_rb,1.2729e+05_rb,1.1707e+05_rb,1.0818e+05_rb/) kbo(:,59,16) = (/ & &1.5431e+05_rb,1.4041e+05_rb,1.2862e+05_rb,1.1825e+05_rb,1.0919e+05_rb/) ! The array FORREFO contains the coefficient of the water vapor ! foreign-continuum (including the energy term). The first ! index refers to reference temperature (296,260,224,260) and ! pressure (970,475,219,3 mbar) levels. The second index ! runs over the g-channel (1 to 16). forrefo(1,:) = (/ & &2.7075e-06_rb,2.2609e-06_rb,1.5633e-06_rb,8.7484e-07_rb,5.5470e-07_rb,4.8456e-07_rb, & &4.7463e-07_rb,4.6154e-07_rb,4.4425e-07_rb,4.2960e-07_rb,4.2626e-07_rb,4.1715e-07_rb, & &4.2607e-07_rb,3.6616e-07_rb,2.6366e-07_rb,2.6029e-07_rb/) forrefo(2,:) = (/ & &2.6759e-06_rb,2.2237e-06_rb,1.4466e-06_rb,9.3032e-07_rb,6.4927e-07_rb,5.4809e-07_rb, & &4.9504e-07_rb,4.6305e-07_rb,4.4873e-07_rb,4.2146e-07_rb,4.2176e-07_rb,4.2812e-07_rb, & &4.0529e-07_rb,4.0969e-07_rb,2.9442e-07_rb,2.6821e-07_rb/) forrefo(3,:) = (/ & &2.6608e-06_rb,2.1140e-06_rb,1.4838e-06_rb,9.2083e-07_rb,6.3350e-07_rb,5.7195e-07_rb, & &6.2253e-07_rb,5.1783e-07_rb,4.4749e-07_rb,4.3261e-07_rb,4.2553e-07_rb,4.2175e-07_rb, & &4.1085e-07_rb,4.0358e-07_rb,3.5340e-07_rb,2.7191e-07_rb/) forrefo(4,:) = (/ & &2.6412e-06_rb,1.9814e-06_rb,1.2672e-06_rb,8.1129e-07_rb,7.1447e-07_rb,7.5026e-07_rb, & &7.4386e-07_rb,7.2759e-07_rb,7.3583e-07_rb,7.6493e-07_rb,8.8959e-07_rb,7.5534e-07_rb, & &5.3734e-07_rb,4.5572e-07_rb,4.1676e-07_rb,3.6198e-07_rb/) ! The array SELFREFO contains the coefficient of the water vapor ! self-continuum (including the energy term). The first index ! refers to temperature in 7.2 degree increments. For instance, ! JT = 1 refers to a temperature of 245.6, JT = 2 refers to 252.8, ! etc. The second index runs over the g-channel (1 to 16). selfrefo(:, 1) = (/ & & 4.67262e-03_rb, 3.95211e-03_rb, 3.34270e-03_rb, 2.82726e-03_rb, 2.39130e-03_rb, & & 2.02256e-03_rb, 1.71069e-03_rb, 1.44690e-03_rb, 1.22379e-03_rb, 1.03508e-03_rb/) selfrefo(:, 2) = (/ & & 4.42593e-03_rb, 3.73338e-03_rb, 3.14920e-03_rb, 2.65643e-03_rb, 2.24076e-03_rb, & & 1.89014e-03_rb, 1.59438e-03_rb, 1.34490e-03_rb, 1.13446e-03_rb, 9.56943e-04_rb/) selfrefo(:, 3) = (/ & & 3.96072e-03_rb, 3.33789e-03_rb, 2.81300e-03_rb, 2.37065e-03_rb, 1.99786e-03_rb, & & 1.68369e-03_rb, 1.41893e-03_rb, 1.19580e-03_rb, 1.00776e-03_rb, 8.49286e-04_rb/) selfrefo(:, 4) = (/ & & 3.71833e-03_rb, 3.10030e-03_rb, 2.58500e-03_rb, 2.15535e-03_rb, 1.79711e-03_rb, & & 1.49841e-03_rb, 1.24936e-03_rb, 1.04170e-03_rb, 8.68558e-04_rb, 7.24195e-04_rb/) selfrefo(:, 5) = (/ & & 3.55755e-03_rb, 2.95355e-03_rb, 2.45210e-03_rb, 2.03578e-03_rb, 1.69015e-03_rb, & & 1.40320e-03_rb, 1.16497e-03_rb, 9.67180e-04_rb, 8.02973e-04_rb, 6.66646e-04_rb/) selfrefo(:, 6) = (/ & & 3.47601e-03_rb, 2.88628e-03_rb, 2.39660e-03_rb, 1.99000e-03_rb, 1.65238e-03_rb, & & 1.37204e-03_rb, 1.13927e-03_rb, 9.45980e-04_rb, 7.85487e-04_rb, 6.52224e-04_rb/) selfrefo(:, 7) = (/ & & 3.44479e-03_rb, 2.86224e-03_rb, 2.37820e-03_rb, 1.97602e-03_rb, 1.64185e-03_rb, & & 1.36420e-03_rb, 1.13350e-03_rb, 9.41810e-04_rb, 7.82539e-04_rb, 6.50204e-04_rb/) selfrefo(:, 8) = (/ & & 3.40154e-03_rb, 2.82953e-03_rb, 2.35370e-03_rb, 1.95789e-03_rb, 1.62864e-03_rb, & & 1.35476e-03_rb, 1.12694e-03_rb, 9.37430e-04_rb, 7.79788e-04_rb, 6.48655e-04_rb/) selfrefo(:, 9) = (/ & & 3.39380e-03_rb, 2.82288e-03_rb, 2.34800e-03_rb, 1.95301e-03_rb, 1.62446e-03_rb, & & 1.35119e-03_rb, 1.12389e-03_rb, 9.34820e-04_rb, 7.77560e-04_rb, 6.46755e-04_rb/) selfrefo(:,10) = (/ & & 3.37185e-03_rb, 2.80654e-03_rb, 2.33600e-03_rb, 1.94435e-03_rb, 1.61837e-03_rb, & & 1.34704e-03_rb, 1.12120e-03_rb, 9.33220e-04_rb, 7.76759e-04_rb, 6.46530e-04_rb/) selfrefo(:,11) = (/ & & 3.37924e-03_rb, 2.81172e-03_rb, 2.33950e-03_rb, 1.94659e-03_rb, 1.61967e-03_rb, & & 1.34765e-03_rb, 1.12132e-03_rb, 9.33000e-04_rb, 7.76306e-04_rb, 6.45930e-04_rb/) selfrefo(:,12) = (/ & & 3.39658e-03_rb, 2.82289e-03_rb, 2.34610e-03_rb, 1.94984e-03_rb, 1.62051e-03_rb, & & 1.34680e-03_rb, 1.11933e-03_rb, 9.30270e-04_rb, 7.73146e-04_rb, 6.42561e-04_rb/) selfrefo(:,13) = (/ & & 3.36070e-03_rb, 2.79913e-03_rb, 2.33140e-03_rb, 1.94183e-03_rb, 1.61735e-03_rb, & & 1.34709e-03_rb, 1.12199e-03_rb, 9.34510e-04_rb, 7.78354e-04_rb, 6.48292e-04_rb/) selfrefo(:,14) = (/ & & 3.40428e-03_rb, 2.81994e-03_rb, 2.33590e-03_rb, 1.93495e-03_rb, 1.60282e-03_rb, & & 1.32770e-03_rb, 1.09980e-03_rb, 9.11020e-04_rb, 7.54645e-04_rb, 6.25111e-04_rb/) selfrefo(:,15) = (/ & & 3.27075e-03_rb, 2.70783e-03_rb, 2.24180e-03_rb, 1.85597e-03_rb, 1.53655e-03_rb, & & 1.27210e-03_rb, 1.05317e-03_rb, 8.71910e-04_rb, 7.21849e-04_rb, 5.97615e-04_rb/) selfrefo(:,16) = (/ & & 3.23123e-03_rb, 2.67891e-03_rb, 2.22100e-03_rb, 1.84136e-03_rb, 1.52661e-03_rb, & & 1.26567e-03_rb, 1.04932e-03_rb, 8.69960e-04_rb, 7.21256e-04_rb, 5.97970e-04_rb/) end subroutine lw_kgb14 ! ************************************************************************** subroutine lw_kgb15 ! ************************************************************************** use parkind, only : im => kind_im, rb => kind_rb use rrlw_kg15, only : fracrefao, kao, kao_mn2, selfrefo, forrefo implicit none save ! Planck fraction mapping level : P = 1053. mb, T = 294.2 K fracrefao(:, 1) = (/ & & 1.0689e-01_rb,1.1563e-01_rb,1.2447e-01_rb,1.2921e-01_rb,1.2840e-01_rb,1.2113e-01_rb, & & 1.0643e-01_rb,8.4987e-02_rb,6.0142e-02_rb,6.6798e-03_rb,5.5293e-03_rb,4.3700e-03_rb, & & 3.2061e-03_rb,2.0476e-03_rb,7.7366e-04_rb,1.0897e-04_rb/) fracrefao(:, 2) = (/ & & 1.0782e-01_rb,1.1637e-01_rb,1.2290e-01_rb,1.2911e-01_rb,1.2841e-01_rb,1.2113e-01_rb, & & 1.0643e-01_rb,8.4987e-02_rb,6.0142e-02_rb,6.6798e-03_rb,5.5293e-03_rb,4.3700e-03_rb, & & 3.2061e-03_rb,2.0476e-03_rb,7.7366e-04_rb,1.0897e-04_rb/) fracrefao(:, 3) = (/ & & 1.0858e-01_rb,1.1860e-01_rb,1.2237e-01_rb,1.2665e-01_rb,1.2841e-01_rb,1.2111e-01_rb, & & 1.0642e-01_rb,8.4987e-02_rb,6.0142e-02_rb,6.6798e-03_rb,5.5293e-03_rb,4.3700e-03_rb, & & 3.2061e-03_rb,2.0476e-03_rb,7.7366e-04_rb,1.0897e-04_rb/) fracrefao(:, 4) = (/ & & 1.1022e-01_rb,1.1965e-01_rb,1.2334e-01_rb,1.2383e-01_rb,1.2761e-01_rb,1.2109e-01_rb, & & 1.0642e-01_rb,8.4987e-02_rb,6.0142e-02_rb,6.6798e-03_rb,5.5293e-03_rb,4.3700e-03_rb, & & 3.2061e-03_rb,2.0476e-03_rb,7.7366e-04_rb,1.0897e-04_rb/) fracrefao(:, 5) = (/ & & 1.1342e-01_rb,1.2069e-01_rb,1.2360e-01_rb,1.2447e-01_rb,1.2340e-01_rb,1.2020e-01_rb, & & 1.0639e-01_rb,8.4987e-02_rb,6.0142e-02_rb,6.6798e-03_rb,5.5293e-03_rb,4.3700e-03_rb, & & 3.2061e-03_rb,2.0476e-03_rb,7.7366e-04_rb,1.0897e-04_rb/) fracrefao(:, 6) = (/ & & 1.1771e-01_rb,1.2280e-01_rb,1.2177e-01_rb,1.2672e-01_rb,1.2398e-01_rb,1.1787e-01_rb, & & 1.0131e-01_rb,8.4987e-02_rb,6.0142e-02_rb,6.6798e-03_rb,5.5293e-03_rb,4.3700e-03_rb, & & 3.2061e-03_rb,2.0476e-03_rb,7.7366e-04_rb,1.0897e-04_rb/) fracrefao(:, 7) = (/ & & 1.2320e-01_rb,1.2491e-01_rb,1.2001e-01_rb,1.2936e-01_rb,1.2653e-01_rb,1.1929e-01_rb, & & 9.8955e-02_rb,7.4887e-02_rb,6.0142e-02_rb,6.6798e-03_rb,5.5293e-03_rb,4.3700e-03_rb, & & 3.2061e-03_rb,2.0476e-03_rb,7.7366e-04_rb,1.0897e-04_rb/) fracrefao(:, 8) = (/ & & 1.3105e-01_rb,1.2563e-01_rb,1.3055e-01_rb,1.2854e-01_rb,1.3402e-01_rb,1.1571e-01_rb, & & 9.4876e-02_rb,6.0459e-02_rb,5.6457e-02_rb,6.6798e-03_rb,5.5293e-03_rb,4.3700e-03_rb, & & 3.2061e-03_rb,2.0476e-03_rb,7.7366e-04_rb,1.0897e-04_rb/) fracrefao(:, 9) = (/ & & 1.1375e-01_rb,1.2090e-01_rb,1.2348e-01_rb,1.2458e-01_rb,1.2406e-01_rb,1.1921e-01_rb, & & 1.0802e-01_rb,8.6613e-02_rb,5.8125e-02_rb,6.2984e-03_rb,5.2359e-03_rb,4.0641e-03_rb, & & 2.9379e-03_rb,1.9001e-03_rb,7.2646e-04_rb,1.0553e-04_rb/) ! The array KAO contains absorption coefs for each of the 16 g-intervals ! for a range of pressure levels > ~100mb, temperatures, and ratios ! of water vapor to CO2. The first index in the array, JS, runs ! from 1 to 10, and corresponds to different gas column amount ratios, ! as expressed through the binary species parameter eta, defined as ! eta = gas1/(gas1 + (rat) * gas2), where rat is the ! ratio of the reference MLS column amount value of gas 1 ! to that of gas2. ! The 2nd index in the array, JT, which runs from 1 to 5, corresponds ! to different temperatures. More specifically, JT = 3 means that the ! data are for the reference temperature TREF for this pressure ! level, JT = 2 refers to the temperature ! TREF-15, JT = 1 is for TREF-30, JT = 4 is for TREF+15, and JT = 5 ! is for TREF+30. The third index, JP, runs from 1 to 13 and refers ! to the reference pressure level (e.g. JP = 1 is for a ! pressure of 1053.63 mb). The fourth index, IG, goes from 1 to 16, ! and tells us which g-interval the absorption coefficients are for. kao(:, 1, 1, 1) = (/ & &3.4242e-02_rb,1.7071e-01_rb,2.6138e-01_rb,3.1721e-01_rb,3.2432e-01_rb,2.6831e-01_rb, & &2.0528e-01_rb,1.1088e-01_rb,5.8968e-01_rb/) kao(:, 2, 1, 1) = (/ & &3.3652e-02_rb,1.6779e-01_rb,2.5725e-01_rb,3.0829e-01_rb,3.1520e-01_rb,2.6815e-01_rb, & &2.0103e-01_rb,1.1213e-01_rb,5.6496e-01_rb/) kao(:, 3, 1, 1) = (/ & &3.2936e-02_rb,1.6580e-01_rb,2.5340e-01_rb,3.0468e-01_rb,3.0583e-01_rb,2.6658e-01_rb, & &1.9781e-01_rb,1.1388e-01_rb,5.5053e-01_rb/) kao(:, 4, 1, 1) = (/ & &3.2004e-02_rb,1.6475e-01_rb,2.5029e-01_rb,3.0171e-01_rb,3.0308e-01_rb,2.6842e-01_rb, & &1.9857e-01_rb,1.1861e-01_rb,5.4961e-01_rb/) kao(:, 5, 1, 1) = (/ & &3.0990e-02_rb,1.6410e-01_rb,2.4670e-01_rb,2.9476e-01_rb,3.0044e-01_rb,2.7387e-01_rb, & &1.9493e-01_rb,1.2451e-01_rb,5.3996e-01_rb/) kao(:, 1, 2, 1) = (/ & &3.0564e-02_rb,1.4940e-01_rb,2.2694e-01_rb,2.6721e-01_rb,2.6456e-01_rb,2.1891e-01_rb, & &1.6459e-01_rb,9.1113e-02_rb,4.6587e-01_rb/) kao(:, 2, 2, 1) = (/ & &2.9826e-02_rb,1.4880e-01_rb,2.2345e-01_rb,2.6474e-01_rb,2.5889e-01_rb,2.2136e-01_rb, & &1.6243e-01_rb,9.1934e-02_rb,4.6056e-01_rb/) kao(:, 3, 2, 1) = (/ & &2.9292e-02_rb,1.4800e-01_rb,2.2058e-01_rb,2.6235e-01_rb,2.5684e-01_rb,2.2295e-01_rb, & &1.6276e-01_rb,9.5842e-02_rb,4.5687e-01_rb/) kao(:, 4, 2, 1) = (/ & &2.8631e-02_rb,1.4795e-01_rb,2.1809e-01_rb,2.5690e-01_rb,2.5387e-01_rb,2.2588e-01_rb, & &1.6201e-01_rb,9.9403e-02_rb,4.5029e-01_rb/) kao(:, 5, 2, 1) = (/ & &2.7916e-02_rb,1.4649e-01_rb,2.1539e-01_rb,2.5025e-01_rb,2.5060e-01_rb,2.2852e-01_rb, & &1.6118e-01_rb,1.0330e-01_rb,4.4510e-01_rb/) kao(:, 1, 3, 1) = (/ & &2.7060e-02_rb,1.3249e-01_rb,1.9563e-01_rb,2.2645e-01_rb,2.1616e-01_rb,1.7969e-01_rb, & &1.3284e-01_rb,7.4965e-02_rb,3.7244e-01_rb/) kao(:, 2, 3, 1) = (/ & &2.6723e-02_rb,1.3208e-01_rb,1.9386e-01_rb,2.2490e-01_rb,2.1534e-01_rb,1.8332e-01_rb, & &1.3372e-01_rb,7.6721e-02_rb,3.7364e-01_rb/) kao(:, 3, 3, 1) = (/ & &2.6384e-02_rb,1.3168e-01_rb,1.9203e-01_rb,2.2240e-01_rb,2.1507e-01_rb,1.8752e-01_rb, & &1.3386e-01_rb,7.9482e-02_rb,3.7891e-01_rb/) kao(:, 4, 3, 1) = (/ & &2.5689e-02_rb,1.3020e-01_rb,1.8980e-01_rb,2.1868e-01_rb,2.1152e-01_rb,1.8912e-01_rb, & &1.3349e-01_rb,8.2411e-02_rb,3.7480e-01_rb/) kao(:, 5, 3, 1) = (/ & &2.4939e-02_rb,1.2901e-01_rb,1.8570e-01_rb,2.1295e-01_rb,2.0942e-01_rb,1.8777e-01_rb, & &1.3349e-01_rb,8.5566e-02_rb,3.6973e-01_rb/) kao(:, 1, 4, 1) = (/ & &2.4242e-02_rb,1.1699e-01_rb,1.6835e-01_rb,1.9257e-01_rb,1.7909e-01_rb,1.4906e-01_rb, & &1.0978e-01_rb,6.3298e-02_rb,3.0317e-01_rb/) kao(:, 2, 4, 1) = (/ & &2.3651e-02_rb,1.1679e-01_rb,1.6721e-01_rb,1.9147e-01_rb,1.7987e-01_rb,1.5405e-01_rb, & &1.1069e-01_rb,6.4435e-02_rb,3.0873e-01_rb/) kao(:, 3, 4, 1) = (/ & &2.2665e-02_rb,1.1583e-01_rb,1.6543e-01_rb,1.8831e-01_rb,1.8066e-01_rb,1.5730e-01_rb, & &1.1107e-01_rb,6.6643e-02_rb,3.1154e-01_rb/) kao(:, 4, 4, 1) = (/ & &2.1814e-02_rb,1.1462e-01_rb,1.6249e-01_rb,1.8491e-01_rb,1.7772e-01_rb,1.5750e-01_rb, & &1.1124e-01_rb,6.9078e-02_rb,3.1214e-01_rb/) kao(:, 5, 4, 1) = (/ & &2.1129e-02_rb,1.1306e-01_rb,1.5907e-01_rb,1.7919e-01_rb,1.7465e-01_rb,1.5650e-01_rb, & &1.1133e-01_rb,7.1551e-02_rb,3.0812e-01_rb/) kao(:, 1, 5, 1) = (/ & &2.0560e-02_rb,1.0249e-01_rb,1.4447e-01_rb,1.6390e-01_rb,1.4827e-01_rb,1.2487e-01_rb, & &9.0642e-02_rb,5.3488e-02_rb,2.4754e-01_rb/) kao(:, 2, 5, 1) = (/ & &1.9799e-02_rb,1.0201e-01_rb,1.4357e-01_rb,1.6295e-01_rb,1.5070e-01_rb,1.2910e-01_rb, & &9.1763e-02_rb,5.4394e-02_rb,2.5641e-01_rb/) kao(:, 3, 5, 1) = (/ & &1.9183e-02_rb,1.0090e-01_rb,1.4151e-01_rb,1.5954e-01_rb,1.5069e-01_rb,1.3095e-01_rb, & &9.2718e-02_rb,5.6321e-02_rb,2.5912e-01_rb/) kao(:, 4, 5, 1) = (/ & &1.8512e-02_rb,9.9552e-02_rb,1.3834e-01_rb,1.5497e-01_rb,1.4881e-01_rb,1.3077e-01_rb, & &9.3091e-02_rb,5.8675e-02_rb,2.5974e-01_rb/) kao(:, 5, 5, 1) = (/ & &1.7786e-02_rb,9.7242e-02_rb,1.3532e-01_rb,1.5076e-01_rb,1.4713e-01_rb,1.3062e-01_rb, & &9.3284e-02_rb,6.0479e-02_rb,2.5760e-01_rb/) kao(:, 1, 6, 1) = (/ & &1.7311e-02_rb,8.8922e-02_rb,1.2346e-01_rb,1.3907e-01_rb,1.2282e-01_rb,1.0362e-01_rb, & &7.4353e-02_rb,4.4575e-02_rb,2.0465e-01_rb/) kao(:, 2, 6, 1) = (/ & &1.6759e-02_rb,8.7881e-02_rb,1.2272e-01_rb,1.3747e-01_rb,1.2636e-01_rb,1.0747e-01_rb, & &7.5966e-02_rb,4.6065e-02_rb,2.1117e-01_rb/) kao(:, 3, 6, 1) = (/ & &1.6118e-02_rb,8.6674e-02_rb,1.1960e-01_rb,1.3378e-01_rb,1.2578e-01_rb,1.0890e-01_rb, & &7.7032e-02_rb,4.7370e-02_rb,2.1535e-01_rb/) kao(:, 4, 6, 1) = (/ & &1.5604e-02_rb,8.5004e-02_rb,1.1715e-01_rb,1.3060e-01_rb,1.2464e-01_rb,1.0936e-01_rb, & &7.8068e-02_rb,4.9979e-02_rb,2.1513e-01_rb/) kao(:, 5, 6, 1) = (/ & &1.5010e-02_rb,8.2612e-02_rb,1.1457e-01_rb,1.2694e-01_rb,1.2379e-01_rb,1.0886e-01_rb, & &7.8577e-02_rb,5.1634e-02_rb,2.1475e-01_rb/) kao(:, 1, 7, 1) = (/ & &1.4769e-02_rb,7.6038e-02_rb,1.0565e-01_rb,1.1761e-01_rb,1.0346e-01_rb,8.6214e-02_rb, & &6.1132e-02_rb,3.6999e-02_rb,1.7055e-01_rb/) kao(:, 2, 7, 1) = (/ & &1.4212e-02_rb,7.5191e-02_rb,1.0412e-01_rb,1.1565e-01_rb,1.0591e-01_rb,8.9750e-02_rb, & &6.2857e-02_rb,3.8703e-02_rb,1.7619e-01_rb/) kao(:, 3, 7, 1) = (/ & &1.3756e-02_rb,7.4145e-02_rb,1.0177e-01_rb,1.1260e-01_rb,1.0586e-01_rb,9.1675e-02_rb, & &6.4846e-02_rb,4.0069e-02_rb,1.8020e-01_rb/) kao(:, 4, 7, 1) = (/ & &1.3258e-02_rb,7.2484e-02_rb,9.9439e-02_rb,1.0966e-01_rb,1.0522e-01_rb,9.2290e-02_rb, & &6.5394e-02_rb,4.2345e-02_rb,1.8038e-01_rb/) kao(:, 5, 7, 1) = (/ & &1.2766e-02_rb,7.0689e-02_rb,9.6896e-02_rb,1.0710e-01_rb,1.0411e-01_rb,9.1721e-02_rb, & &6.6375e-02_rb,4.4166e-02_rb,1.8031e-01_rb/) kao(:, 1, 8, 1) = (/ & &1.2774e-02_rb,6.5331e-02_rb,9.0505e-02_rb,1.0027e-01_rb,8.8579e-02_rb,7.2873e-02_rb, & &5.1439e-02_rb,3.0866e-02_rb,1.4484e-01_rb/) kao(:, 2, 8, 1) = (/ & &1.2386e-02_rb,6.4820e-02_rb,8.9216e-02_rb,9.8573e-02_rb,9.0271e-02_rb,7.6134e-02_rb, & &5.3003e-02_rb,3.2488e-02_rb,1.4948e-01_rb/) kao(:, 3, 8, 1) = (/ & &1.1934e-02_rb,6.3787e-02_rb,8.6950e-02_rb,9.5946e-02_rb,9.0138e-02_rb,7.8085e-02_rb, & &5.5347e-02_rb,3.4134e-02_rb,1.5219e-01_rb/) kao(:, 4, 8, 1) = (/ & &1.1544e-02_rb,6.2588e-02_rb,8.5063e-02_rb,9.3318e-02_rb,8.9759e-02_rb,7.8769e-02_rb, & &5.5958e-02_rb,3.6086e-02_rb,1.5324e-01_rb/) kao(:, 5, 8, 1) = (/ & &1.1084e-02_rb,6.0720e-02_rb,8.2631e-02_rb,9.1723e-02_rb,8.9027e-02_rb,7.8819e-02_rb, & &5.6823e-02_rb,3.7768e-02_rb,1.5367e-01_rb/) kao(:, 1, 9, 1) = (/ & &1.1061e-02_rb,5.5946e-02_rb,7.7372e-02_rb,8.4825e-02_rb,7.4671e-02_rb,6.0881e-02_rb, & &4.3320e-02_rb,2.5693e-02_rb,1.2149e-01_rb/) kao(:, 2, 9, 1) = (/ & &1.0663e-02_rb,5.5517e-02_rb,7.6169e-02_rb,8.3555e-02_rb,7.6380e-02_rb,6.3832e-02_rb, & &4.4653e-02_rb,2.7044e-02_rb,1.2592e-01_rb/) kao(:, 3, 9, 1) = (/ & &1.0298e-02_rb,5.4609e-02_rb,7.4061e-02_rb,8.1380e-02_rb,7.6283e-02_rb,6.5805e-02_rb, & &4.6544e-02_rb,2.8652e-02_rb,1.2784e-01_rb/) kao(:, 4, 9, 1) = (/ & &9.9642e-03_rb,5.3590e-02_rb,7.2457e-02_rb,7.9291e-02_rb,7.6297e-02_rb,6.6701e-02_rb, & &4.7215e-02_rb,3.0429e-02_rb,1.2985e-01_rb/) kao(:, 5, 9, 1) = (/ & &9.5838e-03_rb,5.1774e-02_rb,7.0525e-02_rb,7.7952e-02_rb,7.5761e-02_rb,6.7035e-02_rb, & &4.8099e-02_rb,3.1771e-02_rb,1.2981e-01_rb/) kao(:, 1,10, 1) = (/ & &9.5065e-03_rb,4.7743e-02_rb,6.5906e-02_rb,7.1569e-02_rb,6.3088e-02_rb,5.1008e-02_rb, & &3.6270e-02_rb,2.1647e-02_rb,1.0151e-01_rb/) kao(:, 2,10, 1) = (/ & &9.1696e-03_rb,4.7417e-02_rb,6.4599e-02_rb,7.0371e-02_rb,6.4348e-02_rb,5.3431e-02_rb, & &3.7744e-02_rb,2.2620e-02_rb,1.0603e-01_rb/) kao(:, 3,10, 1) = (/ & &8.8668e-03_rb,4.6740e-02_rb,6.2818e-02_rb,6.8749e-02_rb,6.4307e-02_rb,5.5442e-02_rb, & &3.9323e-02_rb,2.3889e-02_rb,1.0716e-01_rb/) kao(:, 4,10, 1) = (/ & &8.5593e-03_rb,4.5273e-02_rb,6.1475e-02_rb,6.7236e-02_rb,6.4539e-02_rb,5.6295e-02_rb, & &4.0023e-02_rb,2.5561e-02_rb,1.0908e-01_rb/) kao(:, 5,10, 1) = (/ & &8.2765e-03_rb,4.3918e-02_rb,5.9902e-02_rb,6.5936e-02_rb,6.4146e-02_rb,5.6753e-02_rb, & &4.0609e-02_rb,2.6739e-02_rb,1.0938e-01_rb/) kao(:, 1,11, 1) = (/ & &8.0135e-03_rb,4.0574e-02_rb,5.5523e-02_rb,5.9842e-02_rb,5.3590e-02_rb,4.3205e-02_rb, & &3.0578e-02_rb,1.8553e-02_rb,8.6419e-02_rb/) kao(:, 2,11, 1) = (/ & &7.7438e-03_rb,4.0051e-02_rb,5.3954e-02_rb,5.8561e-02_rb,5.4366e-02_rb,4.5533e-02_rb, & &3.1980e-02_rb,1.9368e-02_rb,8.9461e-02_rb/) kao(:, 3,11, 1) = (/ & &7.4839e-03_rb,3.9067e-02_rb,5.2580e-02_rb,5.7160e-02_rb,5.4156e-02_rb,4.6927e-02_rb, & &3.3356e-02_rb,2.0535e-02_rb,9.0297e-02_rb/) kao(:, 4,11, 1) = (/ & &7.2468e-03_rb,3.7809e-02_rb,5.1257e-02_rb,5.6080e-02_rb,5.4294e-02_rb,4.7574e-02_rb, & &3.3980e-02_rb,2.1720e-02_rb,9.1828e-02_rb/) kao(:, 5,11, 1) = (/ & &6.9859e-03_rb,3.6737e-02_rb,5.0287e-02_rb,5.5092e-02_rb,5.3946e-02_rb,4.8082e-02_rb, & &3.4738e-02_rb,2.2682e-02_rb,9.1913e-02_rb/) kao(:, 1,12, 1) = (/ & &6.8723e-03_rb,3.4461e-02_rb,4.6618e-02_rb,5.0325e-02_rb,4.5843e-02_rb,3.7154e-02_rb, & &2.6350e-02_rb,1.5945e-02_rb,7.4796e-02_rb/) kao(:, 2,12, 1) = (/ & &6.6342e-03_rb,3.3814e-02_rb,4.5285e-02_rb,4.9258e-02_rb,4.6140e-02_rb,3.8916e-02_rb, & &2.7614e-02_rb,1.6684e-02_rb,7.6431e-02_rb/) kao(:, 3,12, 1) = (/ & &6.4256e-03_rb,3.2718e-02_rb,4.4302e-02_rb,4.8163e-02_rb,4.5963e-02_rb,4.0038e-02_rb, & &2.8672e-02_rb,1.7798e-02_rb,7.6864e-02_rb/) kao(:, 4,12, 1) = (/ & &6.1980e-03_rb,3.1806e-02_rb,4.3232e-02_rb,4.7321e-02_rb,4.6023e-02_rb,4.0771e-02_rb, & &2.9167e-02_rb,1.8567e-02_rb,7.7874e-02_rb/) kao(:, 5,12, 1) = (/ & &5.9663e-03_rb,3.0964e-02_rb,4.2379e-02_rb,4.6375e-02_rb,4.5692e-02_rb,4.1306e-02_rb, & &2.9920e-02_rb,1.9375e-02_rb,7.7903e-02_rb/) kao(:, 1,13, 1) = (/ & &6.1312e-03_rb,2.9682e-02_rb,3.9975e-02_rb,4.3642e-02_rb,4.0252e-02_rb,3.3035e-02_rb, & &2.3558e-02_rb,1.4050e-02_rb,6.6647e-02_rb/) kao(:, 2,13, 1) = (/ & &5.9440e-03_rb,2.8920e-02_rb,3.8788e-02_rb,4.2829e-02_rb,4.0420e-02_rb,3.4105e-02_rb, & &2.4570e-02_rb,1.4699e-02_rb,6.7206e-02_rb/) kao(:, 3,13, 1) = (/ & &5.7437e-03_rb,2.7994e-02_rb,3.7951e-02_rb,4.1862e-02_rb,4.0303e-02_rb,3.5364e-02_rb, & &2.5449e-02_rb,1.5507e-02_rb,6.7644e-02_rb/) kao(:, 4,13, 1) = (/ & &5.5406e-03_rb,2.7263e-02_rb,3.7056e-02_rb,4.0900e-02_rb,3.9818e-02_rb,3.6193e-02_rb, & &2.6077e-02_rb,1.6255e-02_rb,6.7402e-02_rb/) kao(:, 5,13, 1) = (/ & &5.3457e-03_rb,2.6652e-02_rb,3.6336e-02_rb,3.9995e-02_rb,3.9467e-02_rb,3.6352e-02_rb, & &2.6575e-02_rb,1.6998e-02_rb,6.7304e-02_rb/) kao(:, 1, 1, 2) = (/ & &4.1184e-02_rb,2.7179e-01_rb,3.3427e-01_rb,3.7214e-01_rb,4.0092e-01_rb,3.9640e-01_rb, & &3.3752e-01_rb,3.1662e-01_rb,7.0395e-01_rb/) kao(:, 2, 1, 2) = (/ & &3.9613e-02_rb,2.5448e-01_rb,3.1529e-01_rb,3.6420e-01_rb,3.9285e-01_rb,3.8292e-01_rb, & &3.4622e-01_rb,3.3570e-01_rb,7.0351e-01_rb/) kao(:, 3, 1, 2) = (/ & &3.8482e-02_rb,2.4018e-01_rb,3.0435e-01_rb,3.6080e-01_rb,3.8815e-01_rb,3.7286e-01_rb, & &3.5535e-01_rb,3.5400e-01_rb,6.9477e-01_rb/) kao(:, 4, 1, 2) = (/ & &3.7848e-02_rb,2.2963e-01_rb,2.9537e-01_rb,3.6193e-01_rb,3.8220e-01_rb,3.7308e-01_rb, & &3.6939e-01_rb,3.6570e-01_rb,6.8368e-01_rb/) kao(:, 5, 1, 2) = (/ & &3.7774e-02_rb,2.2394e-01_rb,2.9359e-01_rb,3.5744e-01_rb,3.7874e-01_rb,3.6962e-01_rb, & &3.8607e-01_rb,3.7579e-01_rb,6.9280e-01_rb/) kao(:, 1, 2, 2) = (/ & &3.5631e-02_rb,2.2069e-01_rb,2.7258e-01_rb,3.1550e-01_rb,3.3342e-01_rb,3.2657e-01_rb, & &2.8024e-01_rb,2.7588e-01_rb,5.9197e-01_rb/) kao(:, 2, 2, 2) = (/ & &3.4562e-02_rb,2.0891e-01_rb,2.6384e-01_rb,3.1412e-01_rb,3.2954e-01_rb,3.2211e-01_rb, & &2.9490e-01_rb,2.9533e-01_rb,5.8323e-01_rb/) kao(:, 3, 2, 2) = (/ & &3.3571e-02_rb,1.9802e-01_rb,2.5784e-01_rb,3.1122e-01_rb,3.2677e-01_rb,3.1912e-01_rb, & &3.0590e-01_rb,3.0715e-01_rb,5.7853e-01_rb/) kao(:, 4, 2, 2) = (/ & &3.2736e-02_rb,1.9123e-01_rb,2.5333e-01_rb,3.0890e-01_rb,3.2624e-01_rb,3.1676e-01_rb, & &3.1863e-01_rb,3.1850e-01_rb,5.8754e-01_rb/) kao(:, 5, 2, 2) = (/ & &3.2264e-02_rb,1.8835e-01_rb,2.5452e-01_rb,3.0891e-01_rb,3.2749e-01_rb,3.1271e-01_rb, & &3.2651e-01_rb,3.2839e-01_rb,5.9068e-01_rb/) kao(:, 1, 3, 2) = (/ & &3.1584e-02_rb,1.8152e-01_rb,2.2653e-01_rb,2.6984e-01_rb,2.8266e-01_rb,2.7419e-01_rb, & &2.3718e-01_rb,2.3355e-01_rb,4.9551e-01_rb/) kao(:, 2, 3, 2) = (/ & &3.0265e-02_rb,1.7457e-01_rb,2.2109e-01_rb,2.6703e-01_rb,2.7958e-01_rb,2.7087e-01_rb, & &2.4754e-01_rb,2.5014e-01_rb,4.9470e-01_rb/) kao(:, 3, 3, 2) = (/ & &2.9150e-02_rb,1.6735e-01_rb,2.1902e-01_rb,2.6391e-01_rb,2.7849e-01_rb,2.6534e-01_rb, & &2.5781e-01_rb,2.6293e-01_rb,4.9430e-01_rb/) kao(:, 4, 3, 2) = (/ & &2.8592e-02_rb,1.6364e-01_rb,2.1995e-01_rb,2.6189e-01_rb,2.7866e-01_rb,2.6352e-01_rb, & &2.7044e-01_rb,2.7363e-01_rb,4.9527e-01_rb/) kao(:, 5, 3, 2) = (/ & &2.8231e-02_rb,1.6046e-01_rb,2.1887e-01_rb,2.6443e-01_rb,2.7635e-01_rb,2.6884e-01_rb, & &2.7778e-01_rb,2.8066e-01_rb,4.9153e-01_rb/) kao(:, 1, 4, 2) = (/ & &2.7586e-02_rb,1.5275e-01_rb,1.9293e-01_rb,2.2899e-01_rb,2.4107e-01_rb,2.3244e-01_rb, & &2.0047e-01_rb,1.9534e-01_rb,4.2244e-01_rb/) kao(:, 2, 4, 2) = (/ & &2.6887e-02_rb,1.4829e-01_rb,1.9195e-01_rb,2.2560e-01_rb,2.3907e-01_rb,2.2550e-01_rb, & &2.1032e-01_rb,2.1041e-01_rb,4.2198e-01_rb/) kao(:, 3, 4, 2) = (/ & &2.6805e-02_rb,1.4416e-01_rb,1.9016e-01_rb,2.2531e-01_rb,2.3789e-01_rb,2.2485e-01_rb, & &2.1879e-01_rb,2.2259e-01_rb,4.1901e-01_rb/) kao(:, 4, 4, 2) = (/ & &2.6734e-02_rb,1.4087e-01_rb,1.9109e-01_rb,2.2675e-01_rb,2.3622e-01_rb,2.2628e-01_rb, & &2.2901e-01_rb,2.3158e-01_rb,4.1030e-01_rb/) kao(:, 5, 4, 2) = (/ & &2.6617e-02_rb,1.3796e-01_rb,1.9377e-01_rb,2.2557e-01_rb,2.3342e-01_rb,2.2649e-01_rb, & &2.3523e-01_rb,2.3617e-01_rb,4.1160e-01_rb/) kao(:, 1, 5, 2) = (/ & &2.5332e-02_rb,1.2963e-01_rb,1.6655e-01_rb,1.9042e-01_rb,2.0895e-01_rb,1.9510e-01_rb, & &1.6916e-01_rb,1.6222e-01_rb,3.6316e-01_rb/) kao(:, 2, 5, 2) = (/ & &2.5181e-02_rb,1.2537e-01_rb,1.6592e-01_rb,1.8998e-01_rb,2.0621e-01_rb,1.9136e-01_rb, & &1.7764e-01_rb,1.7625e-01_rb,3.5695e-01_rb/) kao(:, 3, 5, 2) = (/ & &2.4972e-02_rb,1.2219e-01_rb,1.6618e-01_rb,1.9129e-01_rb,2.0217e-01_rb,1.9130e-01_rb, & &1.8535e-01_rb,1.8719e-01_rb,3.4788e-01_rb/) kao(:, 4, 5, 2) = (/ & &2.4749e-02_rb,1.2096e-01_rb,1.6848e-01_rb,1.9087e-01_rb,1.9911e-01_rb,1.9130e-01_rb, & &1.9341e-01_rb,1.9372e-01_rb,3.4412e-01_rb/) kao(:, 5, 5, 2) = (/ & &2.4660e-02_rb,1.2126e-01_rb,1.7164e-01_rb,1.8946e-01_rb,1.9462e-01_rb,1.9216e-01_rb, & &1.9926e-01_rb,1.9935e-01_rb,3.3902e-01_rb/) kao(:, 1, 6, 2) = (/ & &2.3422e-02_rb,1.0907e-01_rb,1.4314e-01_rb,1.6055e-01_rb,1.7919e-01_rb,1.6497e-01_rb, & &1.4423e-01_rb,1.3518e-01_rb,3.0537e-01_rb/) kao(:, 2, 6, 2) = (/ & &2.3193e-02_rb,1.0714e-01_rb,1.4280e-01_rb,1.6151e-01_rb,1.7408e-01_rb,1.6236e-01_rb, & &1.4991e-01_rb,1.4676e-01_rb,2.9795e-01_rb/) kao(:, 3, 6, 2) = (/ & &2.2992e-02_rb,1.0582e-01_rb,1.4541e-01_rb,1.6228e-01_rb,1.7059e-01_rb,1.6204e-01_rb, & &1.5617e-01_rb,1.5704e-01_rb,2.9013e-01_rb/) kao(:, 4, 6, 2) = (/ & &2.2904e-02_rb,1.0595e-01_rb,1.4661e-01_rb,1.6015e-01_rb,1.6718e-01_rb,1.6268e-01_rb, & &1.6254e-01_rb,1.6133e-01_rb,2.8558e-01_rb/) kao(:, 5, 6, 2) = (/ & &2.3037e-02_rb,1.0659e-01_rb,1.4720e-01_rb,1.5884e-01_rb,1.6394e-01_rb,1.6537e-01_rb, & &1.6790e-01_rb,1.6640e-01_rb,2.8291e-01_rb/) kao(:, 1, 7, 2) = (/ & &2.1778e-02_rb,9.4871e-02_rb,1.2415e-01_rb,1.3737e-01_rb,1.5258e-01_rb,1.4160e-01_rb, & &1.2347e-01_rb,1.1302e-01_rb,2.5408e-01_rb/) kao(:, 2, 7, 2) = (/ & &2.1522e-02_rb,9.3423e-02_rb,1.2417e-01_rb,1.3839e-01_rb,1.4741e-01_rb,1.4006e-01_rb, & &1.2799e-01_rb,1.2268e-01_rb,2.4943e-01_rb/) kao(:, 3, 7, 2) = (/ & &2.1257e-02_rb,9.3282e-02_rb,1.2533e-01_rb,1.3843e-01_rb,1.4474e-01_rb,1.3911e-01_rb, & &1.3239e-01_rb,1.3095e-01_rb,2.4208e-01_rb/) kao(:, 4, 7, 2) = (/ & &2.0841e-02_rb,9.3161e-02_rb,1.2672e-01_rb,1.3698e-01_rb,1.4106e-01_rb,1.4019e-01_rb, & &1.3855e-01_rb,1.3550e-01_rb,2.3874e-01_rb/) kao(:, 5, 7, 2) = (/ & &2.0486e-02_rb,9.4079e-02_rb,1.2713e-01_rb,1.3508e-01_rb,1.3852e-01_rb,1.4171e-01_rb, & &1.4291e-01_rb,1.3980e-01_rb,2.3641e-01_rb/) kao(:, 1, 8, 2) = (/ & &2.0219e-02_rb,8.3245e-02_rb,1.0821e-01_rb,1.1854e-01_rb,1.3123e-01_rb,1.2323e-01_rb, & &1.0617e-01_rb,9.4794e-02_rb,2.1425e-01_rb/) kao(:, 2, 8, 2) = (/ & &1.9540e-02_rb,8.2217e-02_rb,1.0811e-01_rb,1.1985e-01_rb,1.2621e-01_rb,1.2208e-01_rb, & &1.0997e-01_rb,1.0316e-01_rb,2.0956e-01_rb/) kao(:, 3, 8, 2) = (/ & &1.9115e-02_rb,8.1811e-02_rb,1.0961e-01_rb,1.1959e-01_rb,1.2388e-01_rb,1.2129e-01_rb, & &1.1337e-01_rb,1.1053e-01_rb,2.0624e-01_rb/) kao(:, 4, 8, 2) = (/ & &1.8733e-02_rb,8.1851e-02_rb,1.1044e-01_rb,1.1828e-01_rb,1.2090e-01_rb,1.2160e-01_rb, & &1.1850e-01_rb,1.1463e-01_rb,2.0160e-01_rb/) kao(:, 5, 8, 2) = (/ & &1.8489e-02_rb,8.3310e-02_rb,1.0940e-01_rb,1.1607e-01_rb,1.1923e-01_rb,1.2205e-01_rb, & &1.2223e-01_rb,1.1845e-01_rb,2.0014e-01_rb/) kao(:, 1, 9, 2) = (/ & &1.7934e-02_rb,7.2499e-02_rb,9.3347e-02_rb,1.0259e-01_rb,1.1263e-01_rb,1.0693e-01_rb, & &9.0284e-02_rb,7.9546e-02_rb,1.8180e-01_rb/) kao(:, 2, 9, 2) = (/ & &1.7445e-02_rb,7.1879e-02_rb,9.3312e-02_rb,1.0334e-01_rb,1.0867e-01_rb,1.0654e-01_rb, & &9.3871e-02_rb,8.7011e-02_rb,1.7650e-01_rb/) kao(:, 3, 9, 2) = (/ & &1.7054e-02_rb,7.1164e-02_rb,9.4558e-02_rb,1.0223e-01_rb,1.0632e-01_rb,1.0559e-01_rb, & &9.7124e-02_rb,9.3354e-02_rb,1.7444e-01_rb/) kao(:, 4, 9, 2) = (/ & &1.6642e-02_rb,7.2006e-02_rb,9.4764e-02_rb,1.0087e-01_rb,1.0340e-01_rb,1.0507e-01_rb, & &1.0155e-01_rb,9.7191e-02_rb,1.7012e-01_rb/) kao(:, 5, 9, 2) = (/ & &1.6243e-02_rb,7.2866e-02_rb,9.2285e-02_rb,9.9097e-02_rb,1.0185e-01_rb,1.0516e-01_rb, & &1.0490e-01_rb,1.0097e-01_rb,1.7041e-01_rb/) kao(:, 1,10, 2) = (/ & &1.5979e-02_rb,6.3035e-02_rb,8.0318e-02_rb,8.8320e-02_rb,9.6214e-02_rb,9.2269e-02_rb, & &7.7109e-02_rb,6.7263e-02_rb,1.5451e-01_rb/) kao(:, 2,10, 2) = (/ & &1.5470e-02_rb,6.2313e-02_rb,8.0559e-02_rb,8.8699e-02_rb,9.3120e-02_rb,9.2382e-02_rb, & &7.9788e-02_rb,7.3810e-02_rb,1.5001e-01_rb/) kao(:, 3,10, 2) = (/ & &1.4968e-02_rb,6.2321e-02_rb,8.1515e-02_rb,8.7265e-02_rb,9.0898e-02_rb,9.1273e-02_rb, & &8.3098e-02_rb,7.9462e-02_rb,1.4837e-01_rb/) kao(:, 4,10, 2) = (/ & &1.4648e-02_rb,6.3201e-02_rb,8.0459e-02_rb,8.6353e-02_rb,8.8769e-02_rb,9.0582e-02_rb, & &8.6861e-02_rb,8.2886e-02_rb,1.4494e-01_rb/) kao(:, 5,10, 2) = (/ & &1.4327e-02_rb,6.4058e-02_rb,7.8092e-02_rb,8.4556e-02_rb,8.7537e-02_rb,9.0662e-02_rb, & &8.9892e-02_rb,8.5887e-02_rb,1.4505e-01_rb/) kao(:, 1,11, 2) = (/ & &1.3861e-02_rb,5.4196e-02_rb,6.8747e-02_rb,7.5984e-02_rb,8.0767e-02_rb,7.9801e-02_rb, & &6.6830e-02_rb,5.9302e-02_rb,1.2963e-01_rb/) kao(:, 2,11, 2) = (/ & &1.3347e-02_rb,5.4113e-02_rb,6.9722e-02_rb,7.5263e-02_rb,7.8466e-02_rb,7.8575e-02_rb, & &6.9140e-02_rb,6.4556e-02_rb,1.2675e-01_rb/) kao(:, 3,11, 2) = (/ & &1.3016e-02_rb,5.4555e-02_rb,6.9179e-02_rb,7.4613e-02_rb,7.7291e-02_rb,7.7531e-02_rb, & &7.2200e-02_rb,6.9022e-02_rb,1.2482e-01_rb/) kao(:, 4,11, 2) = (/ & &1.2671e-02_rb,5.5408e-02_rb,6.7230e-02_rb,7.3198e-02_rb,7.5526e-02_rb,7.7122e-02_rb, & &7.5177e-02_rb,7.1296e-02_rb,1.2336e-01_rb/) kao(:, 5,11, 2) = (/ & &1.2351e-02_rb,5.6031e-02_rb,6.5093e-02_rb,7.1581e-02_rb,7.4883e-02_rb,7.6822e-02_rb, & &7.7284e-02_rb,7.3771e-02_rb,1.2246e-01_rb/) kao(:, 1,12, 2) = (/ & &1.2126e-02_rb,4.7285e-02_rb,5.9933e-02_rb,6.5129e-02_rb,6.8290e-02_rb,6.7884e-02_rb, & &5.7878e-02_rb,5.1782e-02_rb,1.0839e-01_rb/) kao(:, 2,12, 2) = (/ & &1.1745e-02_rb,4.7398e-02_rb,5.9988e-02_rb,6.4477e-02_rb,6.6821e-02_rb,6.6892e-02_rb, & &6.0270e-02_rb,5.6137e-02_rb,1.0621e-01_rb/) kao(:, 3,12, 2) = (/ & &1.1385e-02_rb,4.8238e-02_rb,5.8218e-02_rb,6.3614e-02_rb,6.5819e-02_rb,6.5904e-02_rb, & &6.2567e-02_rb,5.9036e-02_rb,1.0557e-01_rb/) kao(:, 4,12, 2) = (/ & &1.1087e-02_rb,4.8582e-02_rb,5.6782e-02_rb,6.2244e-02_rb,6.4582e-02_rb,6.5133e-02_rb, & &6.4669e-02_rb,6.1446e-02_rb,1.0435e-01_rb/) kao(:, 5,12, 2) = (/ & &1.0909e-02_rb,4.7898e-02_rb,5.5031e-02_rb,6.0882e-02_rb,6.4057e-02_rb,6.5202e-02_rb, & &6.6350e-02_rb,6.3114e-02_rb,1.0415e-01_rb/) kao(:, 1,13, 2) = (/ & &1.1050e-02_rb,4.2216e-02_rb,5.3216e-02_rb,5.6607e-02_rb,5.8614e-02_rb,5.8762e-02_rb, & &5.1111e-02_rb,4.5278e-02_rb,9.1112e-02_rb/) kao(:, 2,13, 2) = (/ & &1.0650e-02_rb,4.2640e-02_rb,5.2374e-02_rb,5.5676e-02_rb,5.7428e-02_rb,5.7903e-02_rb, & &5.3022e-02_rb,4.8756e-02_rb,9.0299e-02_rb/) kao(:, 3,13, 2) = (/ & &1.0375e-02_rb,4.2997e-02_rb,5.0849e-02_rb,5.4963e-02_rb,5.6516e-02_rb,5.6613e-02_rb, & &5.4398e-02_rb,5.1351e-02_rb,8.9757e-02_rb/) kao(:, 4,13, 2) = (/ & &1.0186e-02_rb,4.2550e-02_rb,4.9650e-02_rb,5.4126e-02_rb,5.6087e-02_rb,5.6100e-02_rb, & &5.5740e-02_rb,5.3111e-02_rb,8.9898e-02_rb/) kao(:, 5,13, 2) = (/ & &9.9803e-03_rb,4.1596e-02_rb,4.8435e-02_rb,5.3214e-02_rb,5.5733e-02_rb,5.6166e-02_rb, & &5.6820e-02_rb,5.4773e-02_rb,8.9718e-02_rb/) kao(:, 1, 1, 3) = (/ & &1.0349e-01_rb,2.2333e-01_rb,4.3448e-01_rb,4.7188e-01_rb,4.9049e-01_rb,5.6379e-01_rb, & &6.8188e-01_rb,5.5213e-01_rb,8.7331e-01_rb/) kao(:, 2, 1, 3) = (/ & &9.8776e-02_rb,2.3587e-01_rb,4.2090e-01_rb,4.7099e-01_rb,4.8532e-01_rb,5.6756e-01_rb, & &6.8304e-01_rb,5.3972e-01_rb,8.6585e-01_rb/) kao(:, 3, 1, 3) = (/ & &9.4379e-02_rb,2.4459e-01_rb,4.0703e-01_rb,4.4771e-01_rb,4.8054e-01_rb,5.8051e-01_rb, & &6.8126e-01_rb,5.2715e-01_rb,8.6189e-01_rb/) kao(:, 4, 1, 3) = (/ & &8.9966e-02_rb,2.4911e-01_rb,4.0891e-01_rb,4.3132e-01_rb,4.8073e-01_rb,5.8214e-01_rb, & &6.7058e-01_rb,5.2176e-01_rb,8.6463e-01_rb/) kao(:, 5, 1, 3) = (/ & &8.6080e-02_rb,2.4561e-01_rb,4.0823e-01_rb,4.3495e-01_rb,4.8341e-01_rb,5.8583e-01_rb, & &6.6494e-01_rb,5.1295e-01_rb,8.6781e-01_rb/) kao(:, 1, 2, 3) = (/ & &9.1121e-02_rb,2.7597e-01_rb,3.6090e-01_rb,3.8864e-01_rb,4.2468e-01_rb,5.0778e-01_rb, & &6.0614e-01_rb,4.7263e-01_rb,7.5147e-01_rb/) kao(:, 2, 2, 3) = (/ & &8.6968e-02_rb,2.8112e-01_rb,3.5384e-01_rb,3.7604e-01_rb,4.2522e-01_rb,5.1397e-01_rb, & &5.9893e-01_rb,4.6387e-01_rb,7.5402e-01_rb/) kao(:, 3, 2, 3) = (/ & &8.3177e-02_rb,2.8458e-01_rb,3.4657e-01_rb,3.6832e-01_rb,4.2349e-01_rb,5.1886e-01_rb, & &5.9537e-01_rb,4.5576e-01_rb,7.6481e-01_rb/) kao(:, 4, 2, 3) = (/ & &7.9593e-02_rb,2.8362e-01_rb,3.4405e-01_rb,3.6602e-01_rb,4.2737e-01_rb,5.2263e-01_rb, & &5.9169e-01_rb,4.4715e-01_rb,7.7154e-01_rb/) kao(:, 5, 2, 3) = (/ & &7.6305e-02_rb,2.7901e-01_rb,3.3923e-01_rb,3.6563e-01_rb,4.2905e-01_rb,5.2631e-01_rb, & &5.9188e-01_rb,4.4184e-01_rb,7.8075e-01_rb/) kao(:, 1, 3, 3) = (/ & &8.1532e-02_rb,2.6557e-01_rb,3.0691e-01_rb,3.2639e-01_rb,3.6998e-01_rb,4.4624e-01_rb, & &5.2995e-01_rb,4.1015e-01_rb,6.5448e-01_rb/) kao(:, 2, 3, 3) = (/ & &7.8061e-02_rb,2.5705e-01_rb,3.0144e-01_rb,3.1922e-01_rb,3.7157e-01_rb,4.5007e-01_rb, & &5.2671e-01_rb,4.0238e-01_rb,6.6049e-01_rb/) kao(:, 3, 3, 3) = (/ & &7.4871e-02_rb,2.4964e-01_rb,2.9703e-01_rb,3.1658e-01_rb,3.7272e-01_rb,4.5628e-01_rb, & &5.2424e-01_rb,3.9540e-01_rb,6.6589e-01_rb/) kao(:, 4, 3, 3) = (/ & &7.1934e-02_rb,2.4252e-01_rb,2.8855e-01_rb,3.1667e-01_rb,3.7723e-01_rb,4.6275e-01_rb, & &5.1485e-01_rb,3.8931e-01_rb,6.7492e-01_rb/) kao(:, 5, 3, 3) = (/ & &6.9067e-02_rb,2.3451e-01_rb,2.8461e-01_rb,3.1625e-01_rb,3.8425e-01_rb,4.6414e-01_rb, & &5.0872e-01_rb,3.8671e-01_rb,6.9966e-01_rb/) kao(:, 1, 4, 3) = (/ & &7.4166e-02_rb,2.1898e-01_rb,2.6310e-01_rb,2.7673e-01_rb,3.2117e-01_rb,3.8906e-01_rb, & &4.5677e-01_rb,3.5535e-01_rb,5.6605e-01_rb/) kao(:, 2, 4, 3) = (/ & &7.1027e-02_rb,2.1158e-01_rb,2.5634e-01_rb,2.7577e-01_rb,3.2463e-01_rb,3.9708e-01_rb, & &4.5460e-01_rb,3.5060e-01_rb,5.7431e-01_rb/) kao(:, 3, 4, 3) = (/ & &6.8100e-02_rb,2.0832e-01_rb,2.5127e-01_rb,2.7640e-01_rb,3.2722e-01_rb,4.0091e-01_rb, & &4.5112e-01_rb,3.4506e-01_rb,5.8564e-01_rb/) kao(:, 4, 4, 3) = (/ & &6.5366e-02_rb,2.0407e-01_rb,2.4599e-01_rb,2.7530e-01_rb,3.3554e-01_rb,4.0555e-01_rb, & &4.3614e-01_rb,3.4106e-01_rb,6.0722e-01_rb/) kao(:, 5, 4, 3) = (/ & &6.2828e-02_rb,2.0183e-01_rb,2.4016e-01_rb,2.8032e-01_rb,3.4415e-01_rb,4.1256e-01_rb, & &4.2811e-01_rb,3.3888e-01_rb,6.2274e-01_rb/) kao(:, 1, 5, 3) = (/ & &6.8085e-02_rb,1.8443e-01_rb,2.2193e-01_rb,2.4125e-01_rb,2.7858e-01_rb,3.3878e-01_rb, & &3.9224e-01_rb,3.0775e-01_rb,4.8825e-01_rb/) kao(:, 2, 5, 3) = (/ & &6.5024e-02_rb,1.8062e-01_rb,2.1594e-01_rb,2.3959e-01_rb,2.8255e-01_rb,3.4709e-01_rb, & &3.8693e-01_rb,3.0387e-01_rb,4.9773e-01_rb/) kao(:, 3, 5, 3) = (/ & &6.2309e-02_rb,1.7709e-01_rb,2.1233e-01_rb,2.4099e-01_rb,2.9052e-01_rb,3.5084e-01_rb, & &3.7550e-01_rb,2.9937e-01_rb,5.1983e-01_rb/) kao(:, 4, 5, 3) = (/ & &6.0049e-02_rb,1.7340e-01_rb,2.0891e-01_rb,2.4567e-01_rb,2.9963e-01_rb,3.5573e-01_rb, & &3.6423e-01_rb,2.9642e-01_rb,5.3792e-01_rb/) kao(:, 5, 5, 3) = (/ & &5.7860e-02_rb,1.7101e-01_rb,2.0517e-01_rb,2.5155e-01_rb,3.0986e-01_rb,3.5542e-01_rb, & &3.5482e-01_rb,2.9214e-01_rb,5.5424e-01_rb/) kao(:, 1, 6, 3) = (/ & &6.1553e-02_rb,1.6486e-01_rb,1.8851e-01_rb,2.1013e-01_rb,2.4069e-01_rb,2.9423e-01_rb, & &3.2998e-01_rb,2.6499e-01_rb,4.1520e-01_rb/) kao(:, 2, 6, 3) = (/ & &5.8962e-02_rb,1.6161e-01_rb,1.8469e-01_rb,2.1043e-01_rb,2.4572e-01_rb,3.0023e-01_rb, & &3.2384e-01_rb,2.6279e-01_rb,4.2954e-01_rb/) kao(:, 3, 6, 3) = (/ & &5.6865e-02_rb,1.5845e-01_rb,1.8137e-01_rb,2.1320e-01_rb,2.5567e-01_rb,3.0422e-01_rb, & &3.1399e-01_rb,2.5823e-01_rb,4.4811e-01_rb/) kao(:, 4, 6, 3) = (/ & &5.4727e-02_rb,1.5470e-01_rb,1.8033e-01_rb,2.2018e-01_rb,2.6466e-01_rb,3.0350e-01_rb, & &3.0450e-01_rb,2.5479e-01_rb,4.6359e-01_rb/) kao(:, 5, 6, 3) = (/ & &5.2654e-02_rb,1.5114e-01_rb,1.8009e-01_rb,2.2727e-01_rb,2.7074e-01_rb,3.0288e-01_rb, & &2.9697e-01_rb,2.5146e-01_rb,4.7630e-01_rb/) kao(:, 1, 7, 3) = (/ & &5.4386e-02_rb,1.4374e-01_rb,1.6223e-01_rb,1.8219e-01_rb,2.0984e-01_rb,2.5288e-01_rb, & &2.7777e-01_rb,2.2929e-01_rb,3.5662e-01_rb/) kao(:, 2, 7, 3) = (/ & &5.2357e-02_rb,1.4042e-01_rb,1.5995e-01_rb,1.8335e-01_rb,2.1810e-01_rb,2.5710e-01_rb, & &2.7180e-01_rb,2.2723e-01_rb,3.7033e-01_rb/) kao(:, 3, 7, 3) = (/ & &5.0433e-02_rb,1.3664e-01_rb,1.5916e-01_rb,1.8872e-01_rb,2.2495e-01_rb,2.5913e-01_rb, & &2.6518e-01_rb,2.2296e-01_rb,3.8796e-01_rb/) kao(:, 4, 7, 3) = (/ & &4.8970e-02_rb,1.3435e-01_rb,1.5882e-01_rb,1.9514e-01_rb,2.3146e-01_rb,2.5861e-01_rb, & &2.5643e-01_rb,2.1963e-01_rb,4.0045e-01_rb/) kao(:, 5, 7, 3) = (/ & &4.7677e-02_rb,1.3141e-01_rb,1.5996e-01_rb,2.0198e-01_rb,2.3377e-01_rb,2.5698e-01_rb, & &2.5063e-01_rb,2.1548e-01_rb,4.0471e-01_rb/) kao(:, 1, 8, 3) = (/ & &4.9561e-02_rb,1.2585e-01_rb,1.4205e-01_rb,1.6041e-01_rb,1.8455e-01_rb,2.1813e-01_rb, & &2.3719e-01_rb,1.9955e-01_rb,3.0456e-01_rb/) kao(:, 2, 8, 3) = (/ & &4.7879e-02_rb,1.2232e-01_rb,1.4089e-01_rb,1.6222e-01_rb,1.9194e-01_rb,2.2092e-01_rb, & &2.3163e-01_rb,1.9730e-01_rb,3.1885e-01_rb/) kao(:, 3, 8, 3) = (/ & &4.6426e-02_rb,1.1957e-01_rb,1.4043e-01_rb,1.6717e-01_rb,1.9752e-01_rb,2.2121e-01_rb, & &2.2638e-01_rb,1.9261e-01_rb,3.3187e-01_rb/) kao(:, 4, 8, 3) = (/ & &4.5268e-02_rb,1.1738e-01_rb,1.4149e-01_rb,1.7294e-01_rb,2.0208e-01_rb,2.2061e-01_rb, & &2.1864e-01_rb,1.8926e-01_rb,3.4074e-01_rb/) kao(:, 5, 8, 3) = (/ & &4.3956e-02_rb,1.1566e-01_rb,1.4446e-01_rb,1.7951e-01_rb,2.0361e-01_rb,2.1938e-01_rb, & &2.1462e-01_rb,1.8542e-01_rb,3.4583e-01_rb/) kao(:, 1, 9, 3) = (/ & &4.5250e-02_rb,1.0911e-01_rb,1.2308e-01_rb,1.4028e-01_rb,1.6172e-01_rb,1.8816e-01_rb, & &2.0368e-01_rb,1.7299e-01_rb,2.5859e-01_rb/) kao(:, 2, 9, 3) = (/ & &4.3924e-02_rb,1.0618e-01_rb,1.2262e-01_rb,1.4258e-01_rb,1.6714e-01_rb,1.8918e-01_rb, & &1.9807e-01_rb,1.7073e-01_rb,2.7235e-01_rb/) kao(:, 3, 9, 3) = (/ & &4.2608e-02_rb,1.0467e-01_rb,1.2300e-01_rb,1.4745e-01_rb,1.7253e-01_rb,1.8886e-01_rb, & &1.9316e-01_rb,1.6589e-01_rb,2.8262e-01_rb/) kao(:, 4, 9, 3) = (/ & &4.1423e-02_rb,1.0229e-01_rb,1.2419e-01_rb,1.5295e-01_rb,1.7546e-01_rb,1.8853e-01_rb, & &1.8673e-01_rb,1.6267e-01_rb,2.8816e-01_rb/) kao(:, 5, 9, 3) = (/ & &4.0021e-02_rb,1.0144e-01_rb,1.2853e-01_rb,1.5736e-01_rb,1.7632e-01_rb,1.8748e-01_rb, & &1.8330e-01_rb,1.5887e-01_rb,2.9011e-01_rb/) kao(:, 1,10, 3) = (/ & &4.1171e-02_rb,9.3658e-02_rb,1.0622e-01_rb,1.2188e-01_rb,1.4076e-01_rb,1.6261e-01_rb, & &1.7423e-01_rb,1.4922e-01_rb,2.1862e-01_rb/) kao(:, 2,10, 3) = (/ & &3.9662e-02_rb,9.1742e-02_rb,1.0641e-01_rb,1.2434e-01_rb,1.4583e-01_rb,1.6228e-01_rb, & &1.6976e-01_rb,1.4678e-01_rb,2.3073e-01_rb/) kao(:, 3,10, 3) = (/ & &3.8151e-02_rb,8.9581e-02_rb,1.0765e-01_rb,1.2937e-01_rb,1.4971e-01_rb,1.6177e-01_rb, & &1.6479e-01_rb,1.4256e-01_rb,2.3771e-01_rb/) kao(:, 4,10, 3) = (/ & &3.6829e-02_rb,8.8190e-02_rb,1.0980e-01_rb,1.3385e-01_rb,1.5088e-01_rb,1.6121e-01_rb, & &1.5970e-01_rb,1.3919e-01_rb,2.4389e-01_rb/) kao(:, 5,10, 3) = (/ & &3.5799e-02_rb,8.7081e-02_rb,1.1397e-01_rb,1.3613e-01_rb,1.5068e-01_rb,1.6032e-01_rb, & &1.5668e-01_rb,1.3612e-01_rb,2.4347e-01_rb/) kao(:, 1,11, 3) = (/ & &3.5950e-02_rb,7.9375e-02_rb,9.2025e-02_rb,1.0686e-01_rb,1.2416e-01_rb,1.3928e-01_rb, & &1.4761e-01_rb,1.2730e-01_rb,1.9139e-01_rb/) kao(:, 2,11, 3) = (/ & &3.4807e-02_rb,7.7447e-02_rb,9.2655e-02_rb,1.1006e-01_rb,1.2736e-01_rb,1.3892e-01_rb, & &1.4381e-01_rb,1.2426e-01_rb,1.9723e-01_rb/) kao(:, 3,11, 3) = (/ & &3.3668e-02_rb,7.6215e-02_rb,9.4748e-02_rb,1.1430e-01_rb,1.2842e-01_rb,1.3852e-01_rb, & &1.3892e-01_rb,1.2007e-01_rb,2.0316e-01_rb/) kao(:, 4,11, 3) = (/ & &3.2675e-02_rb,7.5405e-02_rb,9.7335e-02_rb,1.1502e-01_rb,1.2820e-01_rb,1.3796e-01_rb, & &1.3569e-01_rb,1.1793e-01_rb,2.0391e-01_rb/) kao(:, 5,11, 3) = (/ & &3.1803e-02_rb,7.5385e-02_rb,1.0078e-01_rb,1.1505e-01_rb,1.2792e-01_rb,1.3782e-01_rb, & &1.3291e-01_rb,1.1573e-01_rb,2.0592e-01_rb/) kao(:, 1,12, 3) = (/ & &3.2107e-02_rb,6.7817e-02_rb,8.0190e-02_rb,9.4418e-02_rb,1.0883e-01_rb,1.2016e-01_rb, & &1.2478e-01_rb,1.0916e-01_rb,1.6437e-01_rb/) kao(:, 2,12, 3) = (/ & &3.0865e-02_rb,6.6495e-02_rb,8.1339e-02_rb,9.7570e-02_rb,1.0958e-01_rb,1.1971e-01_rb, & &1.2159e-01_rb,1.0575e-01_rb,1.6979e-01_rb/) kao(:, 3,12, 3) = (/ & &2.9814e-02_rb,6.5982e-02_rb,8.4322e-02_rb,9.8160e-02_rb,1.0983e-01_rb,1.1899e-01_rb, & &1.1775e-01_rb,1.0260e-01_rb,1.7251e-01_rb/) kao(:, 4,12, 3) = (/ & &2.8719e-02_rb,6.6210e-02_rb,8.5962e-02_rb,9.8372e-02_rb,1.0963e-01_rb,1.1883e-01_rb, & &1.1590e-01_rb,1.0037e-01_rb,1.7377e-01_rb/) kao(:, 5,12, 3) = (/ & &2.7641e-02_rb,6.7001e-02_rb,8.6676e-02_rb,9.9268e-02_rb,1.1059e-01_rb,1.1880e-01_rb, & &1.1301e-01_rb,9.8900e-02_rb,1.7602e-01_rb/) kao(:, 1,13, 3) = (/ & &2.9283e-02_rb,6.0178e-02_rb,7.1238e-02_rb,8.4877e-02_rb,9.5368e-02_rb,1.0416e-01_rb, & &1.0619e-01_rb,9.4038e-02_rb,1.4273e-01_rb/) kao(:, 2,13, 3) = (/ & &2.8137e-02_rb,5.9367e-02_rb,7.3469e-02_rb,8.5617e-02_rb,9.5728e-02_rb,1.0364e-01_rb, & &1.0343e-01_rb,9.0972e-02_rb,1.4741e-01_rb/) kao(:, 3,13, 3) = (/ & &2.7056e-02_rb,5.9346e-02_rb,7.4992e-02_rb,8.5630e-02_rb,9.5820e-02_rb,1.0325e-01_rb, & &1.0105e-01_rb,8.7823e-02_rb,1.4877e-01_rb/) kao(:, 4,13, 3) = (/ & &2.6017e-02_rb,6.0117e-02_rb,7.5313e-02_rb,8.5867e-02_rb,9.6184e-02_rb,1.0321e-01_rb, & &9.9567e-02_rb,8.6122e-02_rb,1.5028e-01_rb/) kao(:, 5,13, 3) = (/ & &2.5188e-02_rb,6.1586e-02_rb,7.5405e-02_rb,8.7449e-02_rb,9.7275e-02_rb,1.0347e-01_rb, & &9.7619e-02_rb,8.4749e-02_rb,1.5271e-01_rb/) kao(:, 1, 1, 4) = (/ & &2.0140e-01_rb,2.2296e-01_rb,3.8441e-01_rb,7.9237e-01_rb,8.6626e-01_rb,8.2263e-01_rb, & &7.4305e-01_rb,7.5768e-01_rb,1.5145e+00_rb/) kao(:, 2, 1, 4) = (/ & &1.9181e-01_rb,2.1723e-01_rb,4.1174e-01_rb,7.7988e-01_rb,8.4188e-01_rb,7.8979e-01_rb, & &7.0362e-01_rb,7.1757e-01_rb,1.4753e+00_rb/) kao(:, 3, 1, 4) = (/ & &1.8358e-01_rb,2.1296e-01_rb,4.3167e-01_rb,7.6375e-01_rb,8.2127e-01_rb,7.5942e-01_rb, & &6.7535e-01_rb,6.8460e-01_rb,1.4372e+00_rb/) kao(:, 4, 1, 4) = (/ & &1.7731e-01_rb,2.0956e-01_rb,4.3260e-01_rb,7.5378e-01_rb,8.0524e-01_rb,7.2961e-01_rb, & &6.5477e-01_rb,6.4648e-01_rb,1.3999e+00_rb/) kao(:, 5, 1, 4) = (/ & &1.7164e-01_rb,2.1055e-01_rb,4.2755e-01_rb,7.3334e-01_rb,7.8436e-01_rb,7.1000e-01_rb, & &6.4297e-01_rb,6.0884e-01_rb,1.3521e+00_rb/) kao(:, 1, 2, 4) = (/ & &1.7302e-01_rb,2.0244e-01_rb,5.3076e-01_rb,6.9942e-01_rb,7.3274e-01_rb,6.9098e-01_rb, & &6.5285e-01_rb,6.3638e-01_rb,1.2559e+00_rb/) kao(:, 2, 2, 4) = (/ & &1.6489e-01_rb,1.9797e-01_rb,5.4053e-01_rb,6.8204e-01_rb,7.0789e-01_rb,6.6109e-01_rb, & &6.3152e-01_rb,6.0382e-01_rb,1.2010e+00_rb/) kao(:, 3, 2, 4) = (/ & &1.5760e-01_rb,1.9570e-01_rb,5.4478e-01_rb,6.6415e-01_rb,6.8272e-01_rb,6.3617e-01_rb, & &6.0950e-01_rb,5.7193e-01_rb,1.1640e+00_rb/) kao(:, 4, 2, 4) = (/ & &1.5184e-01_rb,1.9435e-01_rb,5.4381e-01_rb,6.4780e-01_rb,6.6147e-01_rb,6.1692e-01_rb, & &5.8732e-01_rb,5.4197e-01_rb,1.1223e+00_rb/) kao(:, 5, 2, 4) = (/ & &1.4698e-01_rb,1.9520e-01_rb,5.4107e-01_rb,6.3896e-01_rb,6.4395e-01_rb,6.0782e-01_rb, & &5.7401e-01_rb,5.1623e-01_rb,1.0839e+00_rb/) kao(:, 1, 3, 4) = (/ & &1.5095e-01_rb,2.3961e-01_rb,5.3891e-01_rb,5.9274e-01_rb,6.0360e-01_rb,5.9975e-01_rb, & &5.7583e-01_rb,5.3639e-01_rb,1.0254e+00_rb/) kao(:, 2, 3, 4) = (/ & &1.4378e-01_rb,2.4579e-01_rb,5.2840e-01_rb,5.8072e-01_rb,5.8574e-01_rb,5.7325e-01_rb, & &5.5457e-01_rb,5.1150e-01_rb,9.9368e-01_rb/) kao(:, 3, 3, 4) = (/ & &1.3744e-01_rb,2.5218e-01_rb,5.1071e-01_rb,5.6679e-01_rb,5.6782e-01_rb,5.5647e-01_rb, & &5.3781e-01_rb,4.7984e-01_rb,9.5622e-01_rb/) kao(:, 4, 3, 4) = (/ & &1.3182e-01_rb,2.5642e-01_rb,4.9891e-01_rb,5.5373e-01_rb,5.5212e-01_rb,5.4201e-01_rb, & &5.2720e-01_rb,4.5497e-01_rb,9.3692e-01_rb/) kao(:, 5, 3, 4) = (/ & &1.2736e-01_rb,2.6156e-01_rb,4.9042e-01_rb,5.4609e-01_rb,5.4094e-01_rb,5.2788e-01_rb, & &5.2063e-01_rb,4.2896e-01_rb,9.1393e-01_rb/) kao(:, 1, 4, 4) = (/ & &1.3296e-01_rb,3.0808e-01_rb,4.5560e-01_rb,5.0161e-01_rb,5.1973e-01_rb,5.1660e-01_rb, & &5.1162e-01_rb,4.5889e-01_rb,8.7778e-01_rb/) kao(:, 2, 4, 4) = (/ & &1.2659e-01_rb,3.1156e-01_rb,4.4164e-01_rb,4.8779e-01_rb,5.0041e-01_rb,4.9812e-01_rb, & &4.9015e-01_rb,4.3243e-01_rb,8.4542e-01_rb/) kao(:, 3, 4, 4) = (/ & &1.2094e-01_rb,3.1188e-01_rb,4.3105e-01_rb,4.7578e-01_rb,4.8617e-01_rb,4.8333e-01_rb, & &4.7842e-01_rb,4.0299e-01_rb,8.1678e-01_rb/) kao(:, 4, 4, 4) = (/ & &1.1593e-01_rb,3.1351e-01_rb,4.2237e-01_rb,4.6451e-01_rb,4.7350e-01_rb,4.7079e-01_rb, & &4.7610e-01_rb,3.7858e-01_rb,7.9667e-01_rb/) kao(:, 5, 4, 4) = (/ & &1.1150e-01_rb,3.1306e-01_rb,4.1390e-01_rb,4.5362e-01_rb,4.6429e-01_rb,4.6167e-01_rb, & &4.7081e-01_rb,3.5772e-01_rb,7.7552e-01_rb/) kao(:, 1, 5, 4) = (/ & &1.1755e-01_rb,3.2807e-01_rb,3.8548e-01_rb,4.2521e-01_rb,4.4554e-01_rb,4.5203e-01_rb, & &4.4500e-01_rb,3.9225e-01_rb,7.4478e-01_rb/) kao(:, 2, 5, 4) = (/ & &1.1209e-01_rb,3.1909e-01_rb,3.7705e-01_rb,4.1235e-01_rb,4.2996e-01_rb,4.3302e-01_rb, & &4.3279e-01_rb,3.6494e-01_rb,7.1780e-01_rb/) kao(:, 3, 5, 4) = (/ & &1.0716e-01_rb,3.1181e-01_rb,3.6570e-01_rb,3.9834e-01_rb,4.1575e-01_rb,4.2162e-01_rb, & &4.2981e-01_rb,3.4051e-01_rb,6.9974e-01_rb/) kao(:, 4, 5, 4) = (/ & &1.0275e-01_rb,3.0301e-01_rb,3.5750e-01_rb,3.8990e-01_rb,4.0553e-01_rb,4.1539e-01_rb, & &4.2536e-01_rb,3.1843e-01_rb,6.8036e-01_rb/) kao(:, 5, 5, 4) = (/ & &9.8998e-02_rb,2.9446e-01_rb,3.5111e-01_rb,3.8417e-01_rb,3.9923e-01_rb,4.1474e-01_rb, & &4.2083e-01_rb,3.0243e-01_rb,6.6644e-01_rb/) kao(:, 1, 6, 4) = (/ & &1.0705e-01_rb,2.7318e-01_rb,3.3208e-01_rb,3.6143e-01_rb,3.8591e-01_rb,3.9313e-01_rb, & &3.9284e-01_rb,3.3741e-01_rb,6.4786e-01_rb/) kao(:, 2, 6, 4) = (/ & &1.0199e-01_rb,2.6545e-01_rb,3.2251e-01_rb,3.5040e-01_rb,3.7450e-01_rb,3.7890e-01_rb, & &3.8585e-01_rb,3.0993e-01_rb,6.2347e-01_rb/) kao(:, 3, 6, 4) = (/ & &9.7437e-02_rb,2.5576e-01_rb,3.1499e-01_rb,3.4107e-01_rb,3.6300e-01_rb,3.7247e-01_rb, & &3.8009e-01_rb,2.8815e-01_rb,6.0580e-01_rb/) kao(:, 4, 6, 4) = (/ & &9.3482e-02_rb,2.4922e-01_rb,3.0800e-01_rb,3.3313e-01_rb,3.5414e-01_rb,3.7096e-01_rb, & &3.7706e-01_rb,2.7157e-01_rb,5.9892e-01_rb/) kao(:, 5, 6, 4) = (/ & &9.0031e-02_rb,2.4481e-01_rb,3.0199e-01_rb,3.2745e-01_rb,3.5204e-01_rb,3.7018e-01_rb, & &3.6552e-01_rb,2.5507e-01_rb,5.9364e-01_rb/) kao(:, 1, 7, 4) = (/ & &1.0201e-01_rb,2.3487e-01_rb,2.8528e-01_rb,3.1378e-01_rb,3.3635e-01_rb,3.4598e-01_rb, & &3.4770e-01_rb,2.9069e-01_rb,5.6026e-01_rb/) kao(:, 2, 7, 4) = (/ & &9.7333e-02_rb,2.2730e-01_rb,2.7830e-01_rb,3.0507e-01_rb,3.2187e-01_rb,3.3481e-01_rb, & &3.4172e-01_rb,2.6797e-01_rb,5.4227e-01_rb/) kao(:, 3, 7, 4) = (/ & &9.3243e-02_rb,2.2136e-01_rb,2.6944e-01_rb,2.9618e-01_rb,3.1454e-01_rb,3.2973e-01_rb, & &3.3451e-01_rb,2.4821e-01_rb,5.2884e-01_rb/) kao(:, 4, 7, 4) = (/ & &8.9660e-02_rb,2.1638e-01_rb,2.6334e-01_rb,2.9056e-01_rb,3.1245e-01_rb,3.2791e-01_rb, & &3.2519e-01_rb,2.3192e-01_rb,5.2407e-01_rb/) kao(:, 5, 7, 4) = (/ & &8.6492e-02_rb,2.1156e-01_rb,2.5984e-01_rb,2.8528e-01_rb,3.1573e-01_rb,3.2789e-01_rb, & &3.1681e-01_rb,2.1806e-01_rb,5.2688e-01_rb/) kao(:, 1, 8, 4) = (/ & &1.0039e-01_rb,2.1049e-01_rb,2.5117e-01_rb,2.7733e-01_rb,2.9294e-01_rb,3.0451e-01_rb, & &3.0671e-01_rb,2.5418e-01_rb,4.9108e-01_rb/) kao(:, 2, 8, 4) = (/ & &9.6148e-02_rb,2.0539e-01_rb,2.4350e-01_rb,2.6931e-01_rb,2.8451e-01_rb,2.9582e-01_rb, & &3.0170e-01_rb,2.3605e-01_rb,4.7511e-01_rb/) kao(:, 3, 8, 4) = (/ & &9.2145e-02_rb,2.0009e-01_rb,2.3646e-01_rb,2.6177e-01_rb,2.7896e-01_rb,2.9276e-01_rb, & &2.9264e-01_rb,2.1892e-01_rb,4.6537e-01_rb/) kao(:, 4, 8, 4) = (/ & &8.8569e-02_rb,1.9568e-01_rb,2.3097e-01_rb,2.5688e-01_rb,2.7814e-01_rb,2.9214e-01_rb, & &2.8481e-01_rb,2.0263e-01_rb,4.6603e-01_rb/) kao(:, 5, 8, 4) = (/ & &8.5629e-02_rb,1.9094e-01_rb,2.2714e-01_rb,2.5259e-01_rb,2.7953e-01_rb,2.8904e-01_rb, & &2.7433e-01_rb,1.9066e-01_rb,4.6777e-01_rb/) kao(:, 1, 9, 4) = (/ & &9.8021e-02_rb,1.9151e-01_rb,2.2309e-01_rb,2.4564e-01_rb,2.5865e-01_rb,2.6783e-01_rb, & &2.6894e-01_rb,2.2292e-01_rb,4.2854e-01_rb/) kao(:, 2, 9, 4) = (/ & &9.3022e-02_rb,1.8527e-01_rb,2.1592e-01_rb,2.3651e-01_rb,2.5064e-01_rb,2.6055e-01_rb, & &2.6499e-01_rb,2.0617e-01_rb,4.1580e-01_rb/) kao(:, 3, 9, 4) = (/ & &8.8595e-02_rb,1.8097e-01_rb,2.1073e-01_rb,2.3156e-01_rb,2.4703e-01_rb,2.5851e-01_rb, & &2.5441e-01_rb,1.9146e-01_rb,4.1005e-01_rb/) kao(:, 4, 9, 4) = (/ & &8.4486e-02_rb,1.7670e-01_rb,2.0686e-01_rb,2.2734e-01_rb,2.4622e-01_rb,2.5730e-01_rb, & &2.4711e-01_rb,1.7700e-01_rb,4.1054e-01_rb/) kao(:, 5, 9, 4) = (/ & &8.1546e-02_rb,1.7284e-01_rb,2.0523e-01_rb,2.2674e-01_rb,2.4921e-01_rb,2.5266e-01_rb, & &2.3614e-01_rb,1.6619e-01_rb,4.1551e-01_rb/) kao(:, 1,10, 4) = (/ & &9.1049e-02_rb,1.7362e-01_rb,1.9833e-01_rb,2.1764e-01_rb,2.2798e-01_rb,2.3471e-01_rb, & &2.3646e-01_rb,1.9422e-01_rb,3.7343e-01_rb/) kao(:, 2,10, 4) = (/ & &8.6996e-02_rb,1.6791e-01_rb,1.9240e-01_rb,2.1075e-01_rb,2.2237e-01_rb,2.2936e-01_rb, & &2.3178e-01_rb,1.7985e-01_rb,3.6356e-01_rb/) kao(:, 3,10, 4) = (/ & &8.2800e-02_rb,1.6395e-01_rb,1.8777e-01_rb,2.0552e-01_rb,2.1940e-01_rb,2.2862e-01_rb, & &2.2169e-01_rb,1.6614e-01_rb,3.6046e-01_rb/) kao(:, 4,10, 4) = (/ & &7.8811e-02_rb,1.5975e-01_rb,1.8561e-01_rb,2.0375e-01_rb,2.1988e-01_rb,2.2450e-01_rb, & &2.1345e-01_rb,1.5492e-01_rb,3.6096e-01_rb/) kao(:, 5,10, 4) = (/ & &7.5529e-02_rb,1.5650e-01_rb,1.8353e-01_rb,2.0505e-01_rb,2.1950e-01_rb,2.1739e-01_rb, & &2.0454e-01_rb,1.4507e-01_rb,3.6055e-01_rb/) kao(:, 1,11, 4) = (/ & &7.7672e-02_rb,1.5145e-01_rb,1.7382e-01_rb,1.8990e-01_rb,1.9990e-01_rb,2.0432e-01_rb, & &2.0547e-01_rb,1.6386e-01_rb,3.1843e-01_rb/) kao(:, 2,11, 4) = (/ & &7.3723e-02_rb,1.4611e-01_rb,1.6807e-01_rb,1.8489e-01_rb,1.9610e-01_rb,2.0254e-01_rb, & &1.9720e-01_rb,1.5217e-01_rb,3.1488e-01_rb/) kao(:, 3,11, 4) = (/ & &7.0457e-02_rb,1.4249e-01_rb,1.6412e-01_rb,1.8266e-01_rb,1.9585e-01_rb,1.9778e-01_rb, & &1.8906e-01_rb,1.4085e-01_rb,3.1421e-01_rb/) kao(:, 4,11, 4) = (/ & &6.7094e-02_rb,1.3863e-01_rb,1.6386e-01_rb,1.8321e-01_rb,1.9415e-01_rb,1.9186e-01_rb, & &1.8023e-01_rb,1.3105e-01_rb,3.1088e-01_rb/) kao(:, 5,11, 4) = (/ & &6.4100e-02_rb,1.3524e-01_rb,1.6357e-01_rb,1.8497e-01_rb,1.9137e-01_rb,1.8498e-01_rb, & &1.7319e-01_rb,1.2321e-01_rb,3.0324e-01_rb/) kao(:, 1,12, 4) = (/ & &6.6765e-02_rb,1.2994e-01_rb,1.4944e-01_rb,1.6445e-01_rb,1.7587e-01_rb,1.8101e-01_rb, & &1.7769e-01_rb,1.3984e-01_rb,2.7673e-01_rb/) kao(:, 2,12, 4) = (/ & &6.3023e-02_rb,1.2593e-01_rb,1.4588e-01_rb,1.6162e-01_rb,1.7387e-01_rb,1.7653e-01_rb, & &1.6990e-01_rb,1.2980e-01_rb,2.7397e-01_rb/) kao(:, 3,12, 4) = (/ & &6.0078e-02_rb,1.2173e-01_rb,1.4433e-01_rb,1.6136e-01_rb,1.7141e-01_rb,1.7100e-01_rb, & &1.6190e-01_rb,1.2017e-01_rb,2.6912e-01_rb/) kao(:, 4,12, 4) = (/ & &5.7591e-02_rb,1.1797e-01_rb,1.4432e-01_rb,1.6200e-01_rb,1.6903e-01_rb,1.6549e-01_rb, & &1.5510e-01_rb,1.1177e-01_rb,2.6329e-01_rb/) kao(:, 5,12, 4) = (/ & &5.5506e-02_rb,1.1583e-01_rb,1.4556e-01_rb,1.5779e-01_rb,1.6302e-01_rb,1.5857e-01_rb, & &1.4926e-01_rb,1.0509e-01_rb,2.5258e-01_rb/) kao(:, 1,13, 4) = (/ & &5.9522e-02_rb,1.1440e-01_rb,1.3268e-01_rb,1.4518e-01_rb,1.5668e-01_rb,1.6016e-01_rb, & &1.5672e-01_rb,1.2200e-01_rb,2.4269e-01_rb/) kao(:, 2,13, 4) = (/ & &5.6603e-02_rb,1.1049e-01_rb,1.3023e-01_rb,1.4451e-01_rb,1.5437e-01_rb,1.5452e-01_rb, & &1.4924e-01_rb,1.1346e-01_rb,2.3750e-01_rb/) kao(:, 3,13, 4) = (/ & &5.4101e-02_rb,1.0639e-01_rb,1.2967e-01_rb,1.4482e-01_rb,1.5052e-01_rb,1.4869e-01_rb, & &1.4191e-01_rb,1.0569e-01_rb,2.3366e-01_rb/) kao(:, 4,13, 4) = (/ & &5.1959e-02_rb,1.0421e-01_rb,1.3053e-01_rb,1.4062e-01_rb,1.4577e-01_rb,1.4358e-01_rb, & &1.3605e-01_rb,9.8273e-02_rb,2.2442e-01_rb/) kao(:, 5,13, 4) = (/ & &4.9821e-02_rb,1.0307e-01_rb,1.3162e-01_rb,1.3605e-01_rb,1.4048e-01_rb,1.3772e-01_rb, & &1.3142e-01_rb,9.2354e-02_rb,2.1552e-01_rb/) kao(:, 1, 1, 5) = (/ & &4.4662e-01_rb,4.5491e-01_rb,4.6518e-01_rb,4.8073e-01_rb,9.6301e-01_rb,1.0662e+00_rb, & &9.6837e-01_rb,6.1516e-01_rb,1.5492e+00_rb/) kao(:, 2, 1, 5) = (/ & &4.3070e-01_rb,4.3901e-01_rb,4.4894e-01_rb,4.8843e-01_rb,9.7366e-01_rb,1.0185e+00_rb, & &9.1919e-01_rb,5.9289e-01_rb,1.4372e+00_rb/) kao(:, 3, 1, 5) = (/ & &4.1920e-01_rb,4.2623e-01_rb,4.3584e-01_rb,5.1853e-01_rb,9.4077e-01_rb,9.6967e-01_rb, & &8.7962e-01_rb,5.7716e-01_rb,1.3511e+00_rb/) kao(:, 4, 1, 5) = (/ & &4.1320e-01_rb,4.1951e-01_rb,4.2768e-01_rb,5.3113e-01_rb,8.9548e-01_rb,9.3086e-01_rb, & &8.2656e-01_rb,5.7871e-01_rb,1.2540e+00_rb/) kao(:, 5, 1, 5) = (/ & &4.1049e-01_rb,4.1583e-01_rb,4.2551e-01_rb,5.4820e-01_rb,8.6249e-01_rb,8.9543e-01_rb, & &7.7827e-01_rb,5.9312e-01_rb,1.1774e+00_rb/) kao(:, 1, 2, 5) = (/ & &3.7419e-01_rb,3.9315e-01_rb,4.1387e-01_rb,7.3684e-01_rb,9.3729e-01_rb,9.5798e-01_rb, & &8.1977e-01_rb,5.4534e-01_rb,1.3830e+00_rb/) kao(:, 2, 2, 5) = (/ & &3.6046e-01_rb,3.7870e-01_rb,3.9949e-01_rb,7.5022e-01_rb,8.9119e-01_rb,9.0575e-01_rb, & &7.6682e-01_rb,5.2408e-01_rb,1.3014e+00_rb/) kao(:, 3, 2, 5) = (/ & &3.5058e-01_rb,3.6732e-01_rb,3.9129e-01_rb,7.6077e-01_rb,8.5537e-01_rb,8.6853e-01_rb, & &7.2131e-01_rb,5.2368e-01_rb,1.1992e+00_rb/) kao(:, 4, 2, 5) = (/ & &3.4363e-01_rb,3.5974e-01_rb,3.8593e-01_rb,7.6592e-01_rb,8.1963e-01_rb,8.3241e-01_rb, & &6.8939e-01_rb,5.2630e-01_rb,1.1280e+00_rb/) kao(:, 5, 2, 5) = (/ & &3.4117e-01_rb,3.5633e-01_rb,3.8040e-01_rb,7.4257e-01_rb,7.9365e-01_rb,7.8846e-01_rb, & &6.5921e-01_rb,5.2675e-01_rb,1.0716e+00_rb/) kao(:, 1, 3, 5) = (/ & &3.1617e-01_rb,3.4533e-01_rb,4.9004e-01_rb,8.0662e-01_rb,8.6490e-01_rb,8.2831e-01_rb, & &6.9369e-01_rb,4.9053e-01_rb,1.2685e+00_rb/) kao(:, 2, 3, 5) = (/ & &3.0386e-01_rb,3.3185e-01_rb,4.9271e-01_rb,7.6499e-01_rb,8.1967e-01_rb,7.8960e-01_rb, & &6.4565e-01_rb,4.7244e-01_rb,1.1699e+00_rb/) kao(:, 3, 3, 5) = (/ & &2.9464e-01_rb,3.2055e-01_rb,5.0043e-01_rb,7.2785e-01_rb,7.8235e-01_rb,7.5123e-01_rb, & &6.1372e-01_rb,4.7097e-01_rb,1.0909e+00_rb/) kao(:, 4, 3, 5) = (/ & &2.8765e-01_rb,3.1339e-01_rb,5.0754e-01_rb,6.9697e-01_rb,7.5208e-01_rb,7.1843e-01_rb, & &5.8571e-01_rb,4.6400e-01_rb,1.0036e+00_rb/) kao(:, 5, 3, 5) = (/ & &2.8344e-01_rb,3.0751e-01_rb,5.1242e-01_rb,6.6855e-01_rb,7.1995e-01_rb,6.9218e-01_rb, & &5.7184e-01_rb,4.7451e-01_rb,9.2127e-01_rb/) kao(:, 1, 4, 5) = (/ & &2.6775e-01_rb,3.0604e-01_rb,6.4660e-01_rb,7.3076e-01_rb,7.6521e-01_rb,7.2923e-01_rb, & &5.8618e-01_rb,4.3353e-01_rb,1.1015e+00_rb/) kao(:, 2, 4, 5) = (/ & &2.5632e-01_rb,2.9306e-01_rb,6.2522e-01_rb,6.9215e-01_rb,7.2674e-01_rb,6.8433e-01_rb, & &5.5230e-01_rb,4.1918e-01_rb,1.0081e+00_rb/) kao(:, 3, 4, 5) = (/ & &2.4780e-01_rb,2.8292e-01_rb,5.9390e-01_rb,6.5413e-01_rb,6.8773e-01_rb,6.5028e-01_rb, & &5.2160e-01_rb,4.1724e-01_rb,9.3062e-01_rb/) kao(:, 4, 4, 5) = (/ & &2.4100e-01_rb,2.7551e-01_rb,5.7041e-01_rb,6.2793e-01_rb,6.5534e-01_rb,6.2452e-01_rb, & &5.0866e-01_rb,4.1719e-01_rb,8.4917e-01_rb/) kao(:, 5, 4, 5) = (/ & &2.3658e-01_rb,2.6967e-01_rb,5.4813e-01_rb,6.0747e-01_rb,6.2636e-01_rb,5.9897e-01_rb, & &4.9899e-01_rb,4.2737e-01_rb,7.8635e-01_rb/) kao(:, 1, 5, 5) = (/ & &2.2714e-01_rb,3.0892e-01_rb,5.8868e-01_rb,6.5760e-01_rb,6.7083e-01_rb,6.2555e-01_rb, & &5.1259e-01_rb,3.8131e-01_rb,9.5049e-01_rb/) kao(:, 2, 5, 5) = (/ & &2.1666e-01_rb,3.0798e-01_rb,5.5062e-01_rb,6.2165e-01_rb,6.2939e-01_rb,5.9031e-01_rb, & &4.8040e-01_rb,3.7074e-01_rb,8.6898e-01_rb/) kao(:, 3, 5, 5) = (/ & &2.0871e-01_rb,3.0702e-01_rb,5.2691e-01_rb,5.8794e-01_rb,5.9599e-01_rb,5.6236e-01_rb, & &4.6150e-01_rb,3.6395e-01_rb,7.8288e-01_rb/) kao(:, 4, 5, 5) = (/ & &2.0276e-01_rb,3.0943e-01_rb,5.0433e-01_rb,5.5988e-01_rb,5.6518e-01_rb,5.3494e-01_rb, & &4.4833e-01_rb,3.6773e-01_rb,7.2419e-01_rb/) kao(:, 5, 5, 5) = (/ & &1.9892e-01_rb,3.1215e-01_rb,4.8278e-01_rb,5.3676e-01_rb,5.4170e-01_rb,5.0924e-01_rb, & &4.4109e-01_rb,3.7855e-01_rb,6.8358e-01_rb/) kao(:, 1, 6, 5) = (/ & &1.9298e-01_rb,3.8310e-01_rb,5.2601e-01_rb,5.8117e-01_rb,5.8505e-01_rb,5.4459e-01_rb, & &4.4513e-01_rb,3.3639e-01_rb,8.1804e-01_rb/) kao(:, 2, 6, 5) = (/ & &1.8380e-01_rb,3.7978e-01_rb,4.9784e-01_rb,5.4325e-01_rb,5.4503e-01_rb,5.1006e-01_rb, & &4.1750e-01_rb,3.2606e-01_rb,7.4136e-01_rb/) kao(:, 3, 6, 5) = (/ & &1.7694e-01_rb,3.8180e-01_rb,4.7027e-01_rb,5.1699e-01_rb,5.1079e-01_rb,4.8235e-01_rb, & &4.0208e-01_rb,3.2052e-01_rb,6.7777e-01_rb/) kao(:, 4, 6, 5) = (/ & &1.7133e-01_rb,3.7179e-01_rb,4.4558e-01_rb,4.8630e-01_rb,4.9002e-01_rb,4.5737e-01_rb, & &3.9155e-01_rb,3.2262e-01_rb,6.2593e-01_rb/) kao(:, 5, 6, 5) = (/ & &1.6754e-01_rb,3.5443e-01_rb,4.2444e-01_rb,4.6383e-01_rb,4.6954e-01_rb,4.4064e-01_rb, & &3.8904e-01_rb,3.3286e-01_rb,5.7664e-01_rb/) kao(:, 1, 7, 5) = (/ & &1.6680e-01_rb,3.8673e-01_rb,4.6977e-01_rb,5.0982e-01_rb,5.0645e-01_rb,4.7419e-01_rb, & &3.9067e-01_rb,2.9795e-01_rb,7.1500e-01_rb/) kao(:, 2, 7, 5) = (/ & &1.5848e-01_rb,3.6483e-01_rb,4.3657e-01_rb,4.7719e-01_rb,4.7339e-01_rb,4.4276e-01_rb, & &3.6591e-01_rb,2.8456e-01_rb,6.4266e-01_rb/) kao(:, 3, 7, 5) = (/ & &1.5206e-01_rb,3.4607e-01_rb,4.1294e-01_rb,4.4755e-01_rb,4.4747e-01_rb,4.1880e-01_rb, & &3.5274e-01_rb,2.8027e-01_rb,5.8922e-01_rb/) kao(:, 4, 7, 5) = (/ & &1.4707e-01_rb,3.2827e-01_rb,3.9251e-01_rb,4.2303e-01_rb,4.2524e-01_rb,3.9890e-01_rb, & &3.4920e-01_rb,2.8325e-01_rb,5.4340e-01_rb/) kao(:, 5, 7, 5) = (/ & &1.4361e-01_rb,3.1545e-01_rb,3.7348e-01_rb,4.0710e-01_rb,4.0646e-01_rb,3.8591e-01_rb, & &3.3880e-01_rb,2.9285e-01_rb,5.0986e-01_rb/) kao(:, 1, 8, 5) = (/ & &1.4820e-01_rb,3.5091e-01_rb,4.2013e-01_rb,4.5147e-01_rb,4.5056e-01_rb,4.1729e-01_rb, & &3.4786e-01_rb,2.6599e-01_rb,6.3121e-01_rb/) kao(:, 2, 8, 5) = (/ & &1.4070e-01_rb,3.2895e-01_rb,3.9148e-01_rb,4.1739e-01_rb,4.1786e-01_rb,3.8937e-01_rb, & &3.2642e-01_rb,2.5048e-01_rb,5.6833e-01_rb/) kao(:, 3, 8, 5) = (/ & &1.3491e-01_rb,3.1064e-01_rb,3.6928e-01_rb,3.9231e-01_rb,3.9615e-01_rb,3.7023e-01_rb, & &3.1619e-01_rb,2.4413e-01_rb,5.2283e-01_rb/) kao(:, 4, 8, 5) = (/ & &1.3040e-01_rb,2.9486e-01_rb,3.4865e-01_rb,3.7267e-01_rb,3.7585e-01_rb,3.5308e-01_rb, & &3.1289e-01_rb,2.4763e-01_rb,4.8158e-01_rb/) kao(:, 5, 8, 5) = (/ & &1.2713e-01_rb,2.8372e-01_rb,3.3299e-01_rb,3.5768e-01_rb,3.6293e-01_rb,3.4468e-01_rb, & &2.9924e-01_rb,2.5414e-01_rb,4.5058e-01_rb/) kao(:, 1, 9, 5) = (/ & &1.3333e-01_rb,3.1732e-01_rb,3.7806e-01_rb,3.9822e-01_rb,3.9576e-01_rb,3.6830e-01_rb, & &3.0959e-01_rb,2.3751e-01_rb,5.5734e-01_rb/) kao(:, 2, 9, 5) = (/ & &1.2728e-01_rb,2.9745e-01_rb,3.4973e-01_rb,3.7018e-01_rb,3.6774e-01_rb,3.4366e-01_rb, & &2.8994e-01_rb,2.2165e-01_rb,5.0172e-01_rb/) kao(:, 3, 9, 5) = (/ & &1.2260e-01_rb,2.7734e-01_rb,3.2656e-01_rb,3.4735e-01_rb,3.4508e-01_rb,3.2798e-01_rb, & &2.8353e-01_rb,2.1398e-01_rb,4.5989e-01_rb/) kao(:, 4, 9, 5) = (/ & &1.1943e-01_rb,2.6308e-01_rb,3.0660e-01_rb,3.2980e-01_rb,3.3173e-01_rb,3.1278e-01_rb, & &2.7390e-01_rb,2.1485e-01_rb,4.2942e-01_rb/) kao(:, 5, 9, 5) = (/ & &1.1701e-01_rb,2.4928e-01_rb,2.9183e-01_rb,3.1474e-01_rb,3.2039e-01_rb,3.0863e-01_rb, & &2.6433e-01_rb,2.1871e-01_rb,3.9836e-01_rb/) kao(:, 1,10, 5) = (/ & &1.2488e-01_rb,2.8649e-01_rb,3.3436e-01_rb,3.5060e-01_rb,3.4715e-01_rb,3.2381e-01_rb, & &2.7352e-01_rb,2.0897e-01_rb,4.9029e-01_rb/) kao(:, 2,10, 5) = (/ & &1.1908e-01_rb,2.6494e-01_rb,3.0883e-01_rb,3.2464e-01_rb,3.2171e-01_rb,3.0303e-01_rb, & &2.5647e-01_rb,1.9520e-01_rb,4.4008e-01_rb/) kao(:, 3,10, 5) = (/ & &1.1556e-01_rb,2.4763e-01_rb,2.8674e-01_rb,3.0514e-01_rb,3.0302e-01_rb,2.8868e-01_rb, & &2.5222e-01_rb,1.8782e-01_rb,4.0842e-01_rb/) kao(:, 4,10, 5) = (/ & &1.1322e-01_rb,2.3334e-01_rb,2.7126e-01_rb,2.8846e-01_rb,2.9340e-01_rb,2.7863e-01_rb, & &2.4033e-01_rb,1.8521e-01_rb,3.8163e-01_rb/) kao(:, 5,10, 5) = (/ & &1.1126e-01_rb,2.2285e-01_rb,2.5915e-01_rb,2.7811e-01_rb,2.8680e-01_rb,2.7376e-01_rb, & &2.3030e-01_rb,1.8823e-01_rb,3.5861e-01_rb/) kao(:, 1,11, 5) = (/ & &1.2133e-01_rb,2.4900e-01_rb,2.8640e-01_rb,2.9703e-01_rb,2.9301e-01_rb,2.7475e-01_rb, & &2.3250e-01_rb,1.7899e-01_rb,4.0785e-01_rb/) kao(:, 2,11, 5) = (/ & &1.1707e-01_rb,2.3382e-01_rb,2.6584e-01_rb,2.7776e-01_rb,2.7455e-01_rb,2.6096e-01_rb, & &2.2631e-01_rb,1.6847e-01_rb,3.7573e-01_rb/) kao(:, 3,11, 5) = (/ & &1.1375e-01_rb,2.1845e-01_rb,2.5115e-01_rb,2.6117e-01_rb,2.6335e-01_rb,2.5113e-01_rb, & &2.1653e-01_rb,1.6132e-01_rb,3.4922e-01_rb/) kao(:, 4,11, 5) = (/ & &1.1166e-01_rb,2.0864e-01_rb,2.3761e-01_rb,2.5163e-01_rb,2.5840e-01_rb,2.4419e-01_rb, & &2.0592e-01_rb,1.6130e-01_rb,3.3156e-01_rb/) kao(:, 5,11, 5) = (/ & &1.1026e-01_rb,2.0025e-01_rb,2.2827e-01_rb,2.4711e-01_rb,2.5459e-01_rb,2.3449e-01_rb, & &1.9737e-01_rb,1.6301e-01_rb,3.1155e-01_rb/) kao(:, 1,12, 5) = (/ & &1.2068e-01_rb,2.2498e-01_rb,2.5241e-01_rb,2.6093e-01_rb,2.5316e-01_rb,2.3830e-01_rb, & &2.0580e-01_rb,1.5434e-01_rb,3.4650e-01_rb/) kao(:, 2,12, 5) = (/ & &1.1732e-01_rb,2.1063e-01_rb,2.3754e-01_rb,2.4422e-01_rb,2.4130e-01_rb,2.2913e-01_rb, & &1.9581e-01_rb,1.4538e-01_rb,3.2419e-01_rb/) kao(:, 3,12, 5) = (/ & &1.1291e-01_rb,2.0050e-01_rb,2.2356e-01_rb,2.3528e-01_rb,2.3734e-01_rb,2.2099e-01_rb, & &1.8732e-01_rb,1.4169e-01_rb,3.0809e-01_rb/) kao(:, 4,12, 5) = (/ & &1.0801e-01_rb,1.9213e-01_rb,2.1514e-01_rb,2.2964e-01_rb,2.3229e-01_rb,2.1151e-01_rb, & &1.7615e-01_rb,1.4140e-01_rb,2.8807e-01_rb/) kao(:, 5,12, 5) = (/ & &1.0409e-01_rb,1.8478e-01_rb,2.0856e-01_rb,2.2937e-01_rb,2.2388e-01_rb,2.0038e-01_rb, & &1.7052e-01_rb,1.4327e-01_rb,2.6150e-01_rb/) kao(:, 1,13, 5) = (/ & &1.1514e-01_rb,2.0822e-01_rb,2.3178e-01_rb,2.3757e-01_rb,2.2988e-01_rb,2.1559e-01_rb, & &1.8505e-01_rb,1.3755e-01_rb,3.0255e-01_rb/) kao(:, 2,13, 5) = (/ & &1.0856e-01_rb,1.9378e-01_rb,2.1572e-01_rb,2.2466e-01_rb,2.2140e-01_rb,2.1071e-01_rb, & &1.7476e-01_rb,1.2903e-01_rb,2.8912e-01_rb/) kao(:, 3,13, 5) = (/ & &1.0257e-01_rb,1.8315e-01_rb,2.0306e-01_rb,2.1501e-01_rb,2.1837e-01_rb,1.9973e-01_rb, & &1.6546e-01_rb,1.2594e-01_rb,2.7440e-01_rb/) kao(:, 4,13, 5) = (/ & &9.7502e-02_rb,1.7382e-01_rb,1.9450e-01_rb,2.1448e-01_rb,2.0917e-01_rb,1.8735e-01_rb, & &1.5671e-01_rb,1.2605e-01_rb,2.4875e-01_rb/) kao(:, 5,13, 5) = (/ & &9.4048e-02_rb,1.6507e-01_rb,1.8951e-01_rb,2.1087e-01_rb,1.9884e-01_rb,1.7732e-01_rb, & &1.5188e-01_rb,1.2757e-01_rb,2.1998e-01_rb/) kao(:, 1, 1, 6) = (/ & &1.2242e+00_rb,1.1159e+00_rb,1.0120e+00_rb,9.1389e-01_rb,8.1856e-01_rb,1.1483e+00_rb, & &9.8709e-01_rb,9.2159e-01_rb,4.7502e-01_rb/) kao(:, 2, 1, 6) = (/ & &1.1928e+00_rb,1.0903e+00_rb,9.9311e-01_rb,9.0065e-01_rb,8.3223e-01_rb,1.1145e+00_rb, & &9.5738e-01_rb,9.2153e-01_rb,6.9449e-01_rb/) kao(:, 3, 1, 6) = (/ & &1.1808e+00_rb,1.0824e+00_rb,9.8824e-01_rb,8.9828e-01_rb,8.9586e-01_rb,1.0864e+00_rb, & &9.3281e-01_rb,9.2795e-01_rb,8.4213e-01_rb/) kao(:, 4, 1, 6) = (/ & &1.1721e+00_rb,1.0760e+00_rb,9.8481e-01_rb,8.9679e-01_rb,9.5583e-01_rb,1.0646e+00_rb, & &9.4941e-01_rb,9.2047e-01_rb,8.5863e-01_rb/) kao(:, 5, 1, 6) = (/ & &1.1790e+00_rb,1.0814e+00_rb,9.8996e-01_rb,8.9927e-01_rb,1.0035e+00_rb,1.0346e+00_rb, & &9.5167e-01_rb,9.2657e-01_rb,7.2509e-01_rb/) kao(:, 1, 2, 6) = (/ & &1.0264e+00_rb,9.4284e-01_rb,8.6709e-01_rb,7.9559e-01_rb,1.1080e+00_rb,1.0254e+00_rb, & &9.2224e-01_rb,8.7122e-01_rb,1.0512e+00_rb/) kao(:, 2, 2, 6) = (/ & &1.0018e+00_rb,9.2359e-01_rb,8.5299e-01_rb,7.8672e-01_rb,1.0674e+00_rb,9.8417e-01_rb, & &8.9700e-01_rb,8.6779e-01_rb,9.4293e-01_rb/) kao(:, 3, 2, 6) = (/ & &9.8988e-01_rb,9.1596e-01_rb,8.4833e-01_rb,7.8816e-01_rb,1.0499e+00_rb,9.5536e-01_rb, & &8.7579e-01_rb,8.5648e-01_rb,8.1445e-01_rb/) kao(:, 4, 2, 6) = (/ & &9.8822e-01_rb,9.1536e-01_rb,8.4663e-01_rb,7.9377e-01_rb,1.0292e+00_rb,9.3843e-01_rb, & &8.7227e-01_rb,8.6174e-01_rb,7.0730e-01_rb/) kao(:, 5, 2, 6) = (/ & &9.8800e-01_rb,9.1393e-01_rb,8.4855e-01_rb,8.2484e-01_rb,1.0072e+00_rb,9.4807e-01_rb, & &8.8827e-01_rb,8.7216e-01_rb,5.9331e-01_rb/) kao(:, 1, 3, 6) = (/ & &8.6794e-01_rb,8.0430e-01_rb,7.5031e-01_rb,8.9541e-01_rb,1.0214e+00_rb,9.4865e-01_rb, & &8.5821e-01_rb,7.9700e-01_rb,8.7719e-01_rb/) kao(:, 2, 3, 6) = (/ & &8.4313e-01_rb,7.8532e-01_rb,7.3608e-01_rb,9.3906e-01_rb,9.7060e-01_rb,9.0816e-01_rb, & &8.3425e-01_rb,7.9621e-01_rb,7.6329e-01_rb/) kao(:, 3, 3, 6) = (/ & &8.3157e-01_rb,7.7858e-01_rb,7.3266e-01_rb,9.5972e-01_rb,9.4116e-01_rb,8.8096e-01_rb, & &8.0848e-01_rb,7.9477e-01_rb,6.5966e-01_rb/) kao(:, 4, 3, 6) = (/ & &8.2987e-01_rb,7.7678e-01_rb,7.3040e-01_rb,9.3971e-01_rb,9.0923e-01_rb,8.7002e-01_rb, & &8.0556e-01_rb,8.1217e-01_rb,6.0022e-01_rb/) kao(:, 5, 3, 6) = (/ & &8.2093e-01_rb,7.6968e-01_rb,7.2610e-01_rb,9.2404e-01_rb,8.9670e-01_rb,8.5391e-01_rb, & &7.9373e-01_rb,8.1610e-01_rb,5.3117e-01_rb/) kao(:, 1, 4, 6) = (/ & &7.3504e-01_rb,6.8896e-01_rb,6.5474e-01_rb,9.5125e-01_rb,9.3510e-01_rb,8.8191e-01_rb, & &7.8339e-01_rb,7.2709e-01_rb,7.9136e-01_rb/) kao(:, 2, 4, 6) = (/ & &7.1205e-01_rb,6.7167e-01_rb,6.7088e-01_rb,9.0689e-01_rb,8.7886e-01_rb,8.4133e-01_rb, & &7.6196e-01_rb,7.2232e-01_rb,6.9067e-01_rb/) kao(:, 3, 4, 6) = (/ & &7.0055e-01_rb,6.6424e-01_rb,7.0492e-01_rb,8.8094e-01_rb,8.5026e-01_rb,8.0832e-01_rb, & &7.4494e-01_rb,7.3074e-01_rb,6.1263e-01_rb/) kao(:, 4, 4, 6) = (/ & &6.9588e-01_rb,6.6015e-01_rb,7.3043e-01_rb,8.5040e-01_rb,8.2745e-01_rb,7.8458e-01_rb, & &7.3728e-01_rb,7.3901e-01_rb,5.3700e-01_rb/) kao(:, 5, 4, 6) = (/ & &6.8558e-01_rb,6.5206e-01_rb,7.5371e-01_rb,8.2365e-01_rb,8.2063e-01_rb,7.6670e-01_rb, & &7.3328e-01_rb,7.4717e-01_rb,4.4797e-01_rb/) kao(:, 1, 5, 6) = (/ & &6.2240e-01_rb,5.9202e-01_rb,7.9818e-01_rb,8.6221e-01_rb,8.4556e-01_rb,7.9840e-01_rb, & &7.0353e-01_rb,6.4834e-01_rb,7.3196e-01_rb/) kao(:, 2, 5, 6) = (/ & &6.0152e-01_rb,5.7633e-01_rb,8.0789e-01_rb,8.1513e-01_rb,8.0789e-01_rb,7.5099e-01_rb, & &6.7710e-01_rb,6.4945e-01_rb,6.3067e-01_rb/) kao(:, 3, 5, 6) = (/ & &5.8999e-01_rb,5.6942e-01_rb,7.6969e-01_rb,7.8647e-01_rb,7.7674e-01_rb,7.1468e-01_rb, & &6.6534e-01_rb,6.5860e-01_rb,5.4173e-01_rb/) kao(:, 4, 5, 6) = (/ & &5.8241e-01_rb,5.6326e-01_rb,7.5015e-01_rb,7.6096e-01_rb,7.5392e-01_rb,6.9429e-01_rb, & &6.6094e-01_rb,6.6621e-01_rb,4.4433e-01_rb/) kao(:, 5, 5, 6) = (/ & &5.7098e-01_rb,5.5310e-01_rb,7.2743e-01_rb,7.3939e-01_rb,7.3730e-01_rb,6.8982e-01_rb, & &6.6680e-01_rb,6.6632e-01_rb,3.5896e-01_rb/) kao(:, 1, 6, 6) = (/ & &5.2885e-01_rb,5.1244e-01_rb,7.5494e-01_rb,7.8724e-01_rb,7.7080e-01_rb,7.0256e-01_rb, & &6.2568e-01_rb,5.6883e-01_rb,6.4732e-01_rb/) kao(:, 2, 6, 6) = (/ & &5.0860e-01_rb,4.9747e-01_rb,7.1101e-01_rb,7.4294e-01_rb,7.2488e-01_rb,6.6139e-01_rb, & &6.0894e-01_rb,5.7630e-01_rb,5.5132e-01_rb/) kao(:, 3, 6, 6) = (/ & &4.9680e-01_rb,4.8858e-01_rb,6.8601e-01_rb,7.0262e-01_rb,6.9083e-01_rb,6.2832e-01_rb, & &5.9581e-01_rb,5.8177e-01_rb,4.5843e-01_rb/) kao(:, 4, 6, 6) = (/ & &4.8828e-01_rb,4.9338e-01_rb,6.6185e-01_rb,6.8834e-01_rb,6.6433e-01_rb,6.1518e-01_rb, & &5.9405e-01_rb,5.8713e-01_rb,3.7286e-01_rb/) kao(:, 5, 6, 6) = (/ & &4.7758e-01_rb,5.0393e-01_rb,6.4306e-01_rb,6.6695e-01_rb,6.4365e-01_rb,6.0629e-01_rb, & &5.9623e-01_rb,5.8994e-01_rb,3.0878e-01_rb/) kao(:, 1, 7, 6) = (/ & &4.5544e-01_rb,5.1675e-01_rb,6.9040e-01_rb,7.2442e-01_rb,6.9583e-01_rb,6.2374e-01_rb, & &5.5330e-01_rb,4.9819e-01_rb,5.7066e-01_rb/) kao(:, 2, 7, 6) = (/ & &4.3526e-01_rb,5.2433e-01_rb,6.5887e-01_rb,6.7132e-01_rb,6.4888e-01_rb,5.8229e-01_rb, & &5.3592e-01_rb,5.0387e-01_rb,4.7263e-01_rb/) kao(:, 3, 7, 6) = (/ & &4.2386e-01_rb,5.3503e-01_rb,6.2067e-01_rb,6.3646e-01_rb,6.0983e-01_rb,5.5722e-01_rb, & &5.2827e-01_rb,5.1003e-01_rb,3.8891e-01_rb/) kao(:, 4, 7, 6) = (/ & &4.1478e-01_rb,5.3714e-01_rb,5.9921e-01_rb,6.0957e-01_rb,5.8334e-01_rb,5.4159e-01_rb, & &5.2418e-01_rb,5.1278e-01_rb,3.1885e-01_rb/) kao(:, 5, 7, 6) = (/ & &4.0467e-01_rb,5.2009e-01_rb,5.7701e-01_rb,5.8575e-01_rb,5.6859e-01_rb,5.4155e-01_rb, & &5.3930e-01_rb,5.1710e-01_rb,2.6235e-01_rb/) kao(:, 1, 8, 6) = (/ & &4.0091e-01_rb,5.6115e-01_rb,6.4335e-01_rb,6.5229e-01_rb,6.2013e-01_rb,5.5832e-01_rb, & &4.9333e-01_rb,4.3362e-01_rb,5.1143e-01_rb/) kao(:, 2, 8, 6) = (/ & &3.8169e-01_rb,5.2953e-01_rb,5.9829e-01_rb,6.0811e-01_rb,5.7734e-01_rb,5.1950e-01_rb, & &4.7393e-01_rb,4.3986e-01_rb,4.2322e-01_rb/) kao(:, 3, 8, 6) = (/ & &3.7078e-01_rb,5.0436e-01_rb,5.6958e-01_rb,5.7197e-01_rb,5.3831e-01_rb,4.9299e-01_rb, & &4.6737e-01_rb,4.4557e-01_rb,3.4628e-01_rb/) kao(:, 4, 8, 6) = (/ & &3.6161e-01_rb,4.8989e-01_rb,5.4426e-01_rb,5.4657e-01_rb,5.1938e-01_rb,4.8189e-01_rb, & &4.6346e-01_rb,4.4852e-01_rb,2.8491e-01_rb/) kao(:, 5, 8, 6) = (/ & &3.5235e-01_rb,4.6785e-01_rb,5.2499e-01_rb,5.2434e-01_rb,5.0210e-01_rb,4.7954e-01_rb, & &4.8680e-01_rb,4.5258e-01_rb,2.3809e-01_rb/) kao(:, 1, 9, 6) = (/ & &3.5188e-01_rb,5.0784e-01_rb,5.8680e-01_rb,5.8599e-01_rb,5.5453e-01_rb,4.9355e-01_rb, & &4.3434e-01_rb,3.7345e-01_rb,4.5760e-01_rb/) kao(:, 2, 9, 6) = (/ & &3.3384e-01_rb,4.7725e-01_rb,5.4527e-01_rb,5.4039e-01_rb,5.1277e-01_rb,4.6053e-01_rb, & &4.1752e-01_rb,3.8054e-01_rb,3.7664e-01_rb/) kao(:, 3, 9, 6) = (/ & &3.2337e-01_rb,4.6079e-01_rb,5.0889e-01_rb,5.0540e-01_rb,4.8167e-01_rb,4.3259e-01_rb, & &4.1005e-01_rb,3.8447e-01_rb,3.0502e-01_rb/) kao(:, 4, 9, 6) = (/ & &3.1489e-01_rb,4.4224e-01_rb,4.8906e-01_rb,4.8098e-01_rb,4.5962e-01_rb,4.2889e-01_rb, & &4.1407e-01_rb,3.8891e-01_rb,2.4901e-01_rb/) kao(:, 5, 9, 6) = (/ & &3.0731e-01_rb,4.2604e-01_rb,4.6542e-01_rb,4.6457e-01_rb,4.4425e-01_rb,4.2325e-01_rb, & &4.3000e-01_rb,3.9500e-01_rb,2.1365e-01_rb/) kao(:, 1,10, 6) = (/ & &3.0872e-01_rb,4.6438e-01_rb,5.2605e-01_rb,5.1940e-01_rb,4.8758e-01_rb,4.3435e-01_rb, & &3.8048e-01_rb,3.2415e-01_rb,4.0329e-01_rb/) kao(:, 2,10, 6) = (/ & &2.9295e-01_rb,4.4115e-01_rb,4.8348e-01_rb,4.7740e-01_rb,4.4909e-01_rb,4.0221e-01_rb, & &3.6624e-01_rb,3.2721e-01_rb,3.3011e-01_rb/) kao(:, 3,10, 6) = (/ & &2.8328e-01_rb,4.1772e-01_rb,4.5515e-01_rb,4.4741e-01_rb,4.2330e-01_rb,3.8012e-01_rb, & &3.5851e-01_rb,3.3085e-01_rb,2.6425e-01_rb/) kao(:, 4,10, 6) = (/ & &2.7562e-01_rb,4.0009e-01_rb,4.2827e-01_rb,4.2695e-01_rb,4.0250e-01_rb,3.7844e-01_rb, & &3.6844e-01_rb,3.3695e-01_rb,2.1886e-01_rb/) kao(:, 5,10, 6) = (/ & &2.6849e-01_rb,3.8403e-01_rb,4.1066e-01_rb,4.0861e-01_rb,3.9231e-01_rb,3.7926e-01_rb, & &3.7696e-01_rb,3.4332e-01_rb,1.9262e-01_rb/) kao(:, 1,11, 6) = (/ & &2.6466e-01_rb,4.1355e-01_rb,4.4454e-01_rb,4.4042e-01_rb,4.1233e-01_rb,3.6752e-01_rb, & &3.2678e-01_rb,2.7894e-01_rb,3.2749e-01_rb/) kao(:, 2,11, 6) = (/ & &2.5291e-01_rb,3.8781e-01_rb,4.1430e-01_rb,4.0659e-01_rb,3.8277e-01_rb,3.4153e-01_rb, & &3.1495e-01_rb,2.7988e-01_rb,2.6257e-01_rb/) kao(:, 3,11, 6) = (/ & &2.4541e-01_rb,3.7100e-01_rb,3.8849e-01_rb,3.8315e-01_rb,3.6055e-01_rb,3.3569e-01_rb, & &3.1896e-01_rb,2.8851e-01_rb,2.1720e-01_rb/) kao(:, 4,11, 6) = (/ & &2.3761e-01_rb,3.4992e-01_rb,3.7138e-01_rb,3.6645e-01_rb,3.4895e-01_rb,3.3415e-01_rb, & &3.2576e-01_rb,2.9375e-01_rb,1.9101e-01_rb/) kao(:, 5,11, 6) = (/ & &2.3136e-01_rb,3.3422e-01_rb,3.5550e-01_rb,3.5462e-01_rb,3.4596e-01_rb,3.4410e-01_rb, & &3.3336e-01_rb,3.0010e-01_rb,1.7683e-01_rb/) kao(:, 1,12, 6) = (/ & &2.3099e-01_rb,3.6467e-01_rb,3.8654e-01_rb,3.7740e-01_rb,3.5454e-01_rb,3.1341e-01_rb, & &2.8207e-01_rb,2.4141e-01_rb,2.7098e-01_rb/) kao(:, 2,12, 6) = (/ & &2.2244e-01_rb,3.4190e-01_rb,3.5753e-01_rb,3.5048e-01_rb,3.3109e-01_rb,2.9786e-01_rb, & &2.7909e-01_rb,2.4469e-01_rb,2.1730e-01_rb/) kao(:, 3,12, 6) = (/ & &2.1694e-01_rb,3.2183e-01_rb,3.3982e-01_rb,3.3193e-01_rb,3.1521e-01_rb,2.9823e-01_rb, & &2.8101e-01_rb,2.4988e-01_rb,1.8539e-01_rb/) kao(:, 4,12, 6) = (/ & &2.1365e-01_rb,3.0582e-01_rb,3.2214e-01_rb,3.1915e-01_rb,3.0963e-01_rb,3.0101e-01_rb, & &2.9010e-01_rb,2.5511e-01_rb,1.7246e-01_rb/) kao(:, 5,12, 6) = (/ & &2.1126e-01_rb,2.9440e-01_rb,3.1065e-01_rb,3.1395e-01_rb,3.1604e-01_rb,3.0993e-01_rb, & &2.9537e-01_rb,2.6162e-01_rb,1.5291e-01_rb/) kao(:, 1,13, 6) = (/ & &2.2386e-01_rb,3.3097e-01_rb,3.4162e-01_rb,3.3327e-01_rb,3.1314e-01_rb,2.7728e-01_rb, & &2.5014e-01_rb,2.1154e-01_rb,2.3428e-01_rb/) kao(:, 2,13, 6) = (/ & &2.2040e-01_rb,3.1261e-01_rb,3.2237e-01_rb,3.1373e-01_rb,2.9682e-01_rb,2.6651e-01_rb, & &2.5032e-01_rb,2.1702e-01_rb,1.9039e-01_rb/) kao(:, 3,13, 6) = (/ & &2.1610e-01_rb,2.9730e-01_rb,3.0955e-01_rb,3.0133e-01_rb,2.8651e-01_rb,2.7201e-01_rb, & &2.5430e-01_rb,2.2027e-01_rb,1.6665e-01_rb/) kao(:, 4,13, 6) = (/ & &2.1312e-01_rb,2.8629e-01_rb,2.9748e-01_rb,2.9400e-01_rb,2.8967e-01_rb,2.7599e-01_rb, & &2.5853e-01_rb,2.2523e-01_rb,1.5373e-01_rb/) kao(:, 5,13, 6) = (/ & &2.0806e-01_rb,2.7757e-01_rb,2.8967e-01_rb,2.9354e-01_rb,2.9376e-01_rb,2.8253e-01_rb, & &2.6218e-01_rb,2.3101e-01_rb,1.3574e-01_rb/) kao(:, 1, 1, 7) = (/ & &3.5613e+00_rb,3.1188e+00_rb,2.6764e+00_rb,2.2340e+00_rb,1.7917e+00_rb,1.6352e+00_rb, & &1.8092e+00_rb,1.6379e+00_rb,2.7539e-02_rb/) kao(:, 2, 1, 7) = (/ & &3.4002e+00_rb,2.9785e+00_rb,2.5569e+00_rb,2.1349e+00_rb,1.7133e+00_rb,1.7200e+00_rb, & &1.7738e+00_rb,1.6325e+00_rb,3.6313e-02_rb/) kao(:, 3, 1, 7) = (/ & &3.2557e+00_rb,2.8529e+00_rb,2.4503e+00_rb,2.0478e+00_rb,1.6479e+00_rb,1.7947e+00_rb, & &1.7613e+00_rb,1.6123e+00_rb,7.9598e-02_rb/) kao(:, 4, 1, 7) = (/ & &3.1418e+00_rb,2.7541e+00_rb,2.3673e+00_rb,1.9817e+00_rb,1.6011e+00_rb,1.8327e+00_rb, & &1.7198e+00_rb,1.6148e+00_rb,2.1944e-01_rb/) kao(:, 5, 1, 7) = (/ & &3.1204e+00_rb,2.7380e+00_rb,2.3562e+00_rb,1.9785e+00_rb,1.6099e+00_rb,1.8773e+00_rb, & &1.7180e+00_rb,1.6127e+00_rb,2.9776e-01_rb/) kao(:, 1, 2, 7) = (/ & &2.9874e+00_rb,2.6163e+00_rb,2.2453e+00_rb,1.8746e+00_rb,1.5312e+00_rb,1.8525e+00_rb, & &1.7071e+00_rb,1.5893e+00_rb,5.1776e-01_rb/) kao(:, 2, 2, 7) = (/ & &2.8505e+00_rb,2.4972e+00_rb,2.1440e+00_rb,1.7909e+00_rb,1.5966e+00_rb,1.8306e+00_rb, & &1.6863e+00_rb,1.5842e+00_rb,4.3879e-01_rb/) kao(:, 3, 2, 7) = (/ & &2.7350e+00_rb,2.3969e+00_rb,2.0589e+00_rb,1.7214e+00_rb,1.6370e+00_rb,1.7877e+00_rb, & &1.6805e+00_rb,1.5918e+00_rb,4.1523e-01_rb/) kao(:, 4, 2, 7) = (/ & &2.6409e+00_rb,2.3156e+00_rb,1.9935e+00_rb,1.6727e+00_rb,1.6830e+00_rb,1.7575e+00_rb, & &1.6634e+00_rb,1.5980e+00_rb,2.9373e-01_rb/) kao(:, 5, 2, 7) = (/ & &2.5886e+00_rb,2.2740e+00_rb,1.9607e+00_rb,1.6497e+00_rb,1.7391e+00_rb,1.7232e+00_rb, & &1.6344e+00_rb,1.6105e+00_rb,1.8509e-01_rb/) kao(:, 1, 3, 7) = (/ & &2.5285e+00_rb,2.2147e+00_rb,1.9010e+00_rb,1.5874e+00_rb,1.8079e+00_rb,1.7347e+00_rb, & &1.6267e+00_rb,1.5173e+00_rb,4.9543e-01_rb/) kao(:, 2, 3, 7) = (/ & &2.4109e+00_rb,2.1124e+00_rb,1.8139e+00_rb,1.5156e+00_rb,1.7831e+00_rb,1.7011e+00_rb, & &1.6143e+00_rb,1.5141e+00_rb,4.4268e-01_rb/) kao(:, 3, 3, 7) = (/ & &2.3122e+00_rb,2.0266e+00_rb,1.7413e+00_rb,1.4891e+00_rb,1.7442e+00_rb,1.6741e+00_rb, & &1.6075e+00_rb,1.5297e+00_rb,3.4522e-01_rb/) kao(:, 4, 3, 7) = (/ & &2.2338e+00_rb,1.9602e+00_rb,1.6889e+00_rb,1.5208e+00_rb,1.7228e+00_rb,1.6317e+00_rb, & &1.5933e+00_rb,1.5434e+00_rb,2.1394e-01_rb/) kao(:, 5, 3, 7) = (/ & &2.1901e+00_rb,1.9250e+00_rb,1.6600e+00_rb,1.5510e+00_rb,1.6972e+00_rb,1.6258e+00_rb, & &1.5808e+00_rb,1.5686e+00_rb,1.5097e-01_rb/) kao(:, 1, 4, 7) = (/ & &2.1490e+00_rb,1.8824e+00_rb,1.6159e+00_rb,1.5783e+00_rb,1.6916e+00_rb,1.6097e+00_rb, & &1.5676e+00_rb,1.4069e+00_rb,5.0896e-01_rb/) kao(:, 2, 4, 7) = (/ & &2.0429e+00_rb,1.7900e+00_rb,1.5373e+00_rb,1.6130e+00_rb,1.6613e+00_rb,1.5828e+00_rb, & &1.5388e+00_rb,1.4176e+00_rb,3.7374e-01_rb/) kao(:, 3, 4, 7) = (/ & &1.9560e+00_rb,1.7146e+00_rb,1.4748e+00_rb,1.6326e+00_rb,1.6129e+00_rb,1.5608e+00_rb, & &1.5146e+00_rb,1.4336e+00_rb,2.6187e-01_rb/) kao(:, 4, 4, 7) = (/ & &1.8914e+00_rb,1.6603e+00_rb,1.4322e+00_rb,1.6118e+00_rb,1.5843e+00_rb,1.5418e+00_rb, & &1.4880e+00_rb,1.4608e+00_rb,1.8007e-01_rb/) kao(:, 5, 4, 7) = (/ & &1.8569e+00_rb,1.6328e+00_rb,1.4097e+00_rb,1.6022e+00_rb,1.5587e+00_rb,1.5446e+00_rb, & &1.4805e+00_rb,1.4912e+00_rb,1.1749e-01_rb/) kao(:, 1, 5, 7) = (/ & &1.8276e+00_rb,1.6010e+00_rb,1.3745e+00_rb,1.6030e+00_rb,1.5630e+00_rb,1.5166e+00_rb, & &1.4457e+00_rb,1.2855e+00_rb,4.3144e-01_rb/) kao(:, 2, 5, 7) = (/ & &1.7325e+00_rb,1.5182e+00_rb,1.3289e+00_rb,1.5483e+00_rb,1.5172e+00_rb,1.4962e+00_rb, & &1.4204e+00_rb,1.2974e+00_rb,3.2532e-01_rb/) kao(:, 3, 5, 7) = (/ & &1.6556e+00_rb,1.4514e+00_rb,1.3491e+00_rb,1.5022e+00_rb,1.4839e+00_rb,1.4801e+00_rb, & &1.3899e+00_rb,1.3214e+00_rb,2.2874e-01_rb/) kao(:, 4, 5, 7) = (/ & &1.6008e+00_rb,1.4058e+00_rb,1.3614e+00_rb,1.4817e+00_rb,1.4667e+00_rb,1.4542e+00_rb, & &1.3728e+00_rb,1.3543e+00_rb,1.4774e-01_rb/) kao(:, 5, 5, 7) = (/ & &1.5722e+00_rb,1.3835e+00_rb,1.3910e+00_rb,1.4609e+00_rb,1.4510e+00_rb,1.4341e+00_rb, & &1.3580e+00_rb,1.3940e+00_rb,9.9947e-02_rb/) kao(:, 1, 6, 7) = (/ & &1.5600e+00_rb,1.3665e+00_rb,1.3891e+00_rb,1.4520e+00_rb,1.4361e+00_rb,1.4207e+00_rb, & &1.3105e+00_rb,1.1513e+00_rb,3.8692e-01_rb/) kao(:, 2, 6, 7) = (/ & &1.4739e+00_rb,1.2917e+00_rb,1.3972e+00_rb,1.4114e+00_rb,1.4085e+00_rb,1.3840e+00_rb, & &1.2763e+00_rb,1.1653e+00_rb,2.7607e-01_rb/) kao(:, 3, 6, 7) = (/ & &1.4042e+00_rb,1.2317e+00_rb,1.3535e+00_rb,1.3731e+00_rb,1.3834e+00_rb,1.3540e+00_rb, & &1.2537e+00_rb,1.1954e+00_rb,1.8549e-01_rb/) kao(:, 4, 6, 7) = (/ & &1.3553e+00_rb,1.1909e+00_rb,1.3235e+00_rb,1.3411e+00_rb,1.3606e+00_rb,1.3282e+00_rb, & &1.2356e+00_rb,1.2339e+00_rb,1.3113e-01_rb/) kao(:, 5, 6, 7) = (/ & &1.3290e+00_rb,1.1708e+00_rb,1.3052e+00_rb,1.3291e+00_rb,1.3435e+00_rb,1.3084e+00_rb, & &1.2394e+00_rb,1.2789e+00_rb,8.5104e-02_rb/) kao(:, 1, 7, 7) = (/ & &1.3486e+00_rb,1.1821e+00_rb,1.3320e+00_rb,1.3296e+00_rb,1.3530e+00_rb,1.2921e+00_rb, & &1.1792e+00_rb,1.0146e+00_rb,3.3967e-01_rb/) kao(:, 2, 7, 7) = (/ & &1.2698e+00_rb,1.1140e+00_rb,1.2658e+00_rb,1.2934e+00_rb,1.3084e+00_rb,1.2591e+00_rb, & &1.1496e+00_rb,1.0323e+00_rb,2.4089e-01_rb/) kao(:, 3, 7, 7) = (/ & &1.2066e+00_rb,1.0597e+00_rb,1.2265e+00_rb,1.2606e+00_rb,1.2717e+00_rb,1.2202e+00_rb, & &1.1236e+00_rb,1.0630e+00_rb,1.6653e-01_rb/) kao(:, 4, 7, 7) = (/ & &1.1624e+00_rb,1.0337e+00_rb,1.1938e+00_rb,1.2388e+00_rb,1.2436e+00_rb,1.1958e+00_rb, & &1.1143e+00_rb,1.1071e+00_rb,1.1640e-01_rb/) kao(:, 5, 7, 7) = (/ & &1.1373e+00_rb,1.0419e+00_rb,1.1824e+00_rb,1.2289e+00_rb,1.2206e+00_rb,1.1715e+00_rb, & &1.1114e+00_rb,1.1517e+00_rb,7.1520e-02_rb/) kao(:, 1, 8, 7) = (/ & &1.1959e+00_rb,1.0587e+00_rb,1.2168e+00_rb,1.2562e+00_rb,1.2533e+00_rb,1.1755e+00_rb, & &1.0535e+00_rb,8.9257e-01_rb,2.9562e-01_rb/) kao(:, 2, 8, 7) = (/ & &1.1212e+00_rb,1.0393e+00_rb,1.1676e+00_rb,1.2170e+00_rb,1.2001e+00_rb,1.1361e+00_rb, & &1.0253e+00_rb,9.0430e-01_rb,2.1449e-01_rb/) kao(:, 3, 8, 7) = (/ & &1.0601e+00_rb,1.0297e+00_rb,1.1266e+00_rb,1.1809e+00_rb,1.1623e+00_rb,1.1020e+00_rb, & &1.0023e+00_rb,9.3591e-01_rb,1.5382e-01_rb/) kao(:, 4, 8, 7) = (/ & &1.0187e+00_rb,1.0227e+00_rb,1.0991e+00_rb,1.1460e+00_rb,1.1243e+00_rb,1.0751e+00_rb, & &9.9421e-01_rb,9.7855e-01_rb,1.0944e-01_rb/) kao(:, 5, 8, 7) = (/ & &9.9531e-01_rb,1.0219e+00_rb,1.0832e+00_rb,1.1243e+00_rb,1.1050e+00_rb,1.0609e+00_rb, & &9.9136e-01_rb,1.0252e+00_rb,7.0614e-02_rb/) kao(:, 1, 9, 7) = (/ & &1.0539e+00_rb,1.0559e+00_rb,1.1142e+00_rb,1.1729e+00_rb,1.1295e+00_rb,1.0580e+00_rb, & &9.3382e-01_rb,7.7194e-01_rb,2.7489e-01_rb/) kao(:, 2, 9, 7) = (/ & &9.8392e-01_rb,1.0263e+00_rb,1.0713e+00_rb,1.1148e+00_rb,1.0796e+00_rb,1.0137e+00_rb, & &9.0260e-01_rb,7.8234e-01_rb,1.9796e-01_rb/) kao(:, 3, 9, 7) = (/ & &9.2807e-01_rb,9.7104e-01_rb,1.0401e+00_rb,1.0698e+00_rb,1.0381e+00_rb,9.8279e-01_rb, & &8.8087e-01_rb,8.1424e-01_rb,1.4396e-01_rb/) kao(:, 4, 9, 7) = (/ & &8.9022e-01_rb,9.3422e-01_rb,1.0109e+00_rb,1.0366e+00_rb,1.0048e+00_rb,9.5511e-01_rb, & &8.7539e-01_rb,8.5432e-01_rb,1.0430e-01_rb/) kao(:, 5, 9, 7) = (/ & &8.6877e-01_rb,9.2050e-01_rb,1.0000e+00_rb,1.0116e+00_rb,9.8826e-01_rb,9.4009e-01_rb, & &8.7922e-01_rb,9.0156e-01_rb,6.8077e-02_rb/) kao(:, 1,10, 7) = (/ & &9.2527e-01_rb,9.7705e-01_rb,1.0325e+00_rb,1.0578e+00_rb,1.0149e+00_rb,9.3478e-01_rb, & &8.1724e-01_rb,6.6415e-01_rb,2.3891e-01_rb/) kao(:, 2,10, 7) = (/ & &8.6097e-01_rb,9.1106e-01_rb,9.9506e-01_rb,1.0007e+00_rb,9.6610e-01_rb,8.9639e-01_rb, & &7.8861e-01_rb,6.7596e-01_rb,1.7815e-01_rb/) kao(:, 3,10, 7) = (/ & &8.1181e-01_rb,8.7070e-01_rb,9.5033e-01_rb,9.5476e-01_rb,9.2168e-01_rb,8.6431e-01_rb, & &7.7032e-01_rb,7.0318e-01_rb,1.3199e-01_rb/) kao(:, 4,10, 7) = (/ & &7.7887e-01_rb,8.4520e-01_rb,9.2163e-01_rb,9.1956e-01_rb,8.9130e-01_rb,8.3659e-01_rb, & &7.6501e-01_rb,7.4145e-01_rb,9.1831e-02_rb/) kao(:, 5,10, 7) = (/ & &7.5933e-01_rb,8.3227e-01_rb,9.0273e-01_rb,9.0188e-01_rb,8.7623e-01_rb,8.2773e-01_rb, & &7.7824e-01_rb,7.8260e-01_rb,6.3171e-02_rb/) kao(:, 1,11, 7) = (/ & &7.8226e-01_rb,8.4719e-01_rb,9.2612e-01_rb,9.1570e-01_rb,8.7421e-01_rb,8.0479e-01_rb, & &6.9799e-01_rb,5.7039e-01_rb,1.8643e-01_rb/) kao(:, 2,11, 7) = (/ & &7.3229e-01_rb,8.0376e-01_rb,8.7472e-01_rb,8.6879e-01_rb,8.2958e-01_rb,7.6891e-01_rb, & &6.7602e-01_rb,5.8714e-01_rb,1.4000e-01_rb/) kao(:, 3,11, 7) = (/ & &6.9599e-01_rb,7.7478e-01_rb,8.4133e-01_rb,8.3314e-01_rb,7.9919e-01_rb,7.4119e-01_rb, & &6.6696e-01_rb,6.1671e-01_rb,1.0181e-01_rb/) kao(:, 4,11, 7) = (/ & &6.7489e-01_rb,7.6185e-01_rb,8.1367e-01_rb,8.1128e-01_rb,7.7952e-01_rb,7.3228e-01_rb, & &6.7358e-01_rb,6.5125e-01_rb,7.0225e-02_rb/) kao(:, 5,11, 7) = (/ & &6.5905e-01_rb,7.5391e-01_rb,7.9725e-01_rb,7.9623e-01_rb,7.7236e-01_rb,7.3477e-01_rb, & &6.9321e-01_rb,6.9245e-01_rb,4.7555e-02_rb/) kao(:, 1,12, 7) = (/ & &6.7862e-01_rb,7.6075e-01_rb,8.1212e-01_rb,7.9974e-01_rb,7.5616e-01_rb,6.9320e-01_rb, & &5.9851e-01_rb,4.9309e-01_rb,1.4949e-01_rb/) kao(:, 2,12, 7) = (/ & &6.3807e-01_rb,7.3022e-01_rb,7.7190e-01_rb,7.6245e-01_rb,7.2390e-01_rb,6.6782e-01_rb, & &5.8563e-01_rb,5.1153e-01_rb,1.1607e-01_rb/) kao(:, 3,12, 7) = (/ & &6.1294e-01_rb,7.1220e-01_rb,7.4125e-01_rb,7.3342e-01_rb,6.9810e-01_rb,6.4969e-01_rb, & &5.8866e-01_rb,5.3877e-01_rb,8.5989e-02_rb/) kao(:, 4,12, 7) = (/ & &5.9734e-01_rb,7.0046e-01_rb,7.2548e-01_rb,7.1635e-01_rb,6.8868e-01_rb,6.5109e-01_rb, & &5.9747e-01_rb,5.7263e-01_rb,5.7849e-02_rb/) kao(:, 5,12, 7) = (/ & &5.8148e-01_rb,6.8644e-01_rb,7.1487e-01_rb,7.0660e-01_rb,6.8790e-01_rb,6.6368e-01_rb, & &6.1903e-01_rb,6.0994e-01_rb,3.8734e-02_rb/) kao(:, 1,13, 7) = (/ & &6.1552e-01_rb,7.1356e-01_rb,7.3721e-01_rb,7.1646e-01_rb,6.7473e-01_rb,6.1507e-01_rb, & &5.2767e-01_rb,4.3311e-01_rb,1.2482e-01_rb/) kao(:, 2,13, 7) = (/ & &5.8292e-01_rb,6.8409e-01_rb,7.0235e-01_rb,6.8503e-01_rb,6.4503e-01_rb,5.9514e-01_rb, & &5.2204e-01_rb,4.4742e-01_rb,9.8236e-02_rb/) kao(:, 3,13, 7) = (/ & &5.6436e-01_rb,6.6497e-01_rb,6.8075e-01_rb,6.6573e-01_rb,6.3039e-01_rb,5.8718e-01_rb, & &5.2651e-01_rb,4.7434e-01_rb,7.2297e-02_rb/) kao(:, 4,13, 7) = (/ & &5.4811e-01_rb,6.4832e-01_rb,6.6742e-01_rb,6.5348e-01_rb,6.2977e-01_rb,5.9747e-01_rb, & &5.3863e-01_rb,5.0502e-01_rb,5.7494e-02_rb/) kao(:, 5,13, 7) = (/ & &5.3739e-01_rb,6.3448e-01_rb,6.5434e-01_rb,6.4659e-01_rb,6.3825e-01_rb,6.0640e-01_rb, & &5.6100e-01_rb,5.4046e-01_rb,3.2048e-02_rb/) kao(:, 1, 1, 8) = (/ & &1.1660e+01_rb,1.0203e+01_rb,8.7459e+00_rb,7.2889e+00_rb,5.8318e+00_rb,4.3748e+00_rb, & &3.7766e+00_rb,3.7739e+00_rb,2.3608e-03_rb/) kao(:, 2, 1, 8) = (/ & &1.1346e+01_rb,9.9282e+00_rb,8.5104e+00_rb,7.0926e+00_rb,5.6748e+00_rb,4.2570e+00_rb, & &3.8721e+00_rb,3.9057e+00_rb,3.1824e-03_rb/) kao(:, 3, 1, 8) = (/ & &1.1194e+01_rb,9.7951e+00_rb,8.3963e+00_rb,6.9976e+00_rb,5.5988e+00_rb,4.2000e+00_rb, & &3.9469e+00_rb,4.0712e+00_rb,4.2520e-03_rb/) kao(:, 4, 1, 8) = (/ & &1.1228e+01_rb,9.8250e+00_rb,8.4220e+00_rb,7.0189e+00_rb,5.6159e+00_rb,4.2457e+00_rb, & &4.0615e+00_rb,4.2140e+00_rb,1.1766e-02_rb/) kao(:, 5, 1, 8) = (/ & &1.1405e+01_rb,9.9798e+00_rb,8.5545e+00_rb,7.1289e+00_rb,5.7036e+00_rb,4.3747e+00_rb, & &4.1857e+00_rb,4.3557e+00_rb,1.5766e-01_rb/) kao(:, 1, 2, 8) = (/ & &9.6985e+00_rb,8.4867e+00_rb,7.2748e+00_rb,6.0630e+00_rb,4.8511e+00_rb,3.9524e+00_rb, & &3.9347e+00_rb,3.7679e+00_rb,7.6708e-02_rb/) kao(:, 2, 2, 8) = (/ & &9.4032e+00_rb,8.2283e+00_rb,7.0533e+00_rb,5.8784e+00_rb,4.7035e+00_rb,3.9843e+00_rb, & &4.0089e+00_rb,3.9489e+00_rb,9.1596e-02_rb/) kao(:, 3, 2, 8) = (/ & &9.2359e+00_rb,8.0819e+00_rb,6.9278e+00_rb,5.7738e+00_rb,4.6198e+00_rb,4.0563e+00_rb, & &4.1174e+00_rb,4.1185e+00_rb,7.3144e-02_rb/) kao(:, 4, 2, 8) = (/ & &9.2178e+00_rb,8.0660e+00_rb,6.9143e+00_rb,5.7625e+00_rb,4.6107e+00_rb,4.1515e+00_rb, & &4.2394e+00_rb,4.2904e+00_rb,1.1674e-01_rb/) kao(:, 5, 2, 8) = (/ & &9.3781e+00_rb,8.2055e+00_rb,7.0329e+00_rb,5.8605e+00_rb,4.6883e+00_rb,4.2988e+00_rb, & &4.3503e+00_rb,4.4505e+00_rb,1.2134e-01_rb/) kao(:, 1, 3, 8) = (/ & &8.1381e+00_rb,7.1213e+00_rb,6.1045e+00_rb,5.0877e+00_rb,4.0880e+00_rb,4.0519e+00_rb, & &3.8139e+00_rb,3.6880e+00_rb,8.7204e-02_rb/) kao(:, 2, 3, 8) = (/ & &7.8478e+00_rb,6.8673e+00_rb,5.8868e+00_rb,4.9063e+00_rb,4.0625e+00_rb,4.0788e+00_rb, & &3.9290e+00_rb,3.8689e+00_rb,6.5887e-02_rb/) kao(:, 3, 3, 8) = (/ & &7.6555e+00_rb,6.6990e+00_rb,5.7426e+00_rb,4.7861e+00_rb,4.0779e+00_rb,4.1101e+00_rb, & &4.0765e+00_rb,4.0574e+00_rb,7.1216e-02_rb/) kao(:, 4, 3, 8) = (/ & &7.5783e+00_rb,6.6314e+00_rb,5.6846e+00_rb,4.7378e+00_rb,4.1353e+00_rb,4.1781e+00_rb, & &4.2207e+00_rb,4.2405e+00_rb,8.4339e-02_rb/) kao(:, 5, 3, 8) = (/ & &7.6543e+00_rb,6.6980e+00_rb,5.7416e+00_rb,4.7853e+00_rb,4.2544e+00_rb,4.2669e+00_rb, & &4.4018e+00_rb,4.4237e+00_rb,7.8612e-02_rb/) kao(:, 1, 4, 8) = (/ & &6.8589e+00_rb,6.0020e+00_rb,5.1451e+00_rb,4.2882e+00_rb,3.9706e+00_rb,3.8613e+00_rb, & &3.5947e+00_rb,3.5300e+00_rb,6.1710e-02_rb/) kao(:, 2, 4, 8) = (/ & &6.5794e+00_rb,5.7574e+00_rb,4.9355e+00_rb,4.1135e+00_rb,3.9575e+00_rb,3.8878e+00_rb, & &3.7477e+00_rb,3.7212e+00_rb,6.0817e-02_rb/) kao(:, 3, 4, 8) = (/ & &6.3760e+00_rb,5.5795e+00_rb,4.7829e+00_rb,3.9985e+00_rb,3.9783e+00_rb,3.9606e+00_rb, & &3.9214e+00_rb,3.9164e+00_rb,6.3574e-02_rb/) kao(:, 4, 4, 8) = (/ & &6.2600e+00_rb,5.4779e+00_rb,4.6959e+00_rb,4.0045e+00_rb,4.0114e+00_rb,4.0769e+00_rb, & &4.1164e+00_rb,4.1060e+00_rb,7.8132e-02_rb/) kao(:, 5, 4, 8) = (/ & &6.2608e+00_rb,5.4787e+00_rb,4.6966e+00_rb,4.0716e+00_rb,4.0797e+00_rb,4.1992e+00_rb, & &4.3140e+00_rb,4.3043e+00_rb,7.5353e-02_rb/) kao(:, 1, 5, 8) = (/ & &5.7927e+00_rb,5.0691e+00_rb,4.3455e+00_rb,3.8105e+00_rb,3.8237e+00_rb,3.5526e+00_rb, & &3.3728e+00_rb,3.3373e+00_rb,4.9756e-02_rb/) kao(:, 2, 5, 8) = (/ & &5.5277e+00_rb,4.8372e+00_rb,4.1467e+00_rb,3.7691e+00_rb,3.7793e+00_rb,3.6108e+00_rb, & &3.5410e+00_rb,3.5220e+00_rb,4.2289e-02_rb/) kao(:, 3, 5, 8) = (/ & &5.3258e+00_rb,4.6606e+00_rb,3.9953e+00_rb,3.7485e+00_rb,3.7814e+00_rb,3.7044e+00_rb, & &3.7302e+00_rb,3.7158e+00_rb,4.7217e-02_rb/) kao(:, 4, 5, 8) = (/ & &5.1933e+00_rb,4.5445e+00_rb,3.8958e+00_rb,3.7349e+00_rb,3.8276e+00_rb,3.8482e+00_rb, & &3.9315e+00_rb,3.9070e+00_rb,5.2805e-02_rb/) kao(:, 5, 5, 8) = (/ & &5.1489e+00_rb,4.5057e+00_rb,3.8627e+00_rb,3.7753e+00_rb,3.9160e+00_rb,4.0236e+00_rb, & &4.1558e+00_rb,4.1173e+00_rb,7.3119e-02_rb/) kao(:, 1, 6, 8) = (/ & &4.9153e+00_rb,4.3014e+00_rb,3.6874e+00_rb,3.6742e+00_rb,3.4664e+00_rb,3.2352e+00_rb, & &3.1382e+00_rb,3.1290e+00_rb,5.3656e-02_rb/) kao(:, 2, 6, 8) = (/ & &4.6666e+00_rb,4.0837e+00_rb,3.5075e+00_rb,3.5947e+00_rb,3.4390e+00_rb,3.3186e+00_rb, & &3.2995e+00_rb,3.2957e+00_rb,3.0716e-02_rb/) kao(:, 3, 6, 8) = (/ & &4.4714e+00_rb,3.9130e+00_rb,3.4299e+00_rb,3.5379e+00_rb,3.4620e+00_rb,3.4453e+00_rb, & &3.4927e+00_rb,3.4789e+00_rb,2.2748e-02_rb/) kao(:, 4, 6, 8) = (/ & &4.3327e+00_rb,3.7916e+00_rb,3.3931e+00_rb,3.5287e+00_rb,3.5342e+00_rb,3.5995e+00_rb, & &3.6934e+00_rb,3.6650e+00_rb,4.0419e-02_rb/) kao(:, 5, 6, 8) = (/ & &4.2621e+00_rb,3.7298e+00_rb,3.3976e+00_rb,3.5656e+00_rb,3.6513e+00_rb,3.7826e+00_rb, & &3.9184e+00_rb,3.8666e+00_rb,1.0762e-01_rb/) kao(:, 1, 7, 8) = (/ & &4.2315e+00_rb,3.7030e+00_rb,3.3451e+00_rb,3.3493e+00_rb,3.1177e+00_rb,2.9742e+00_rb, & &2.9072e+00_rb,2.9068e+00_rb,5.8460e-02_rb/) kao(:, 2, 7, 8) = (/ & &3.9985e+00_rb,3.4984e+00_rb,3.2669e+00_rb,3.2554e+00_rb,3.1149e+00_rb,3.0526e+00_rb, & &3.0595e+00_rb,3.0700e+00_rb,2.7402e-02_rb/) kao(:, 3, 7, 8) = (/ & &3.8099e+00_rb,3.3338e+00_rb,3.2097e+00_rb,3.2104e+00_rb,3.1587e+00_rb,3.1808e+00_rb, & &3.2348e+00_rb,3.2401e+00_rb,1.9004e-02_rb/) kao(:, 4, 7, 8) = (/ & &3.6700e+00_rb,3.2116e+00_rb,3.1648e+00_rb,3.2052e+00_rb,3.2433e+00_rb,3.3349e+00_rb, & &3.4286e+00_rb,3.4160e+00_rb,4.2481e-02_rb/) kao(:, 5, 7, 8) = (/ & &3.5860e+00_rb,3.1383e+00_rb,3.1473e+00_rb,3.2492e+00_rb,3.3786e+00_rb,3.5157e+00_rb, & &3.6429e+00_rb,3.6020e+00_rb,1.5676e-01_rb/) kao(:, 1, 8, 8) = (/ & &3.7309e+00_rb,3.2652e+00_rb,3.2085e+00_rb,3.0458e+00_rb,2.8667e+00_rb,2.7650e+00_rb, & &2.6802e+00_rb,2.6374e+00_rb,6.7482e-02_rb/) kao(:, 2, 8, 8) = (/ & &3.5088e+00_rb,3.0710e+00_rb,3.0883e+00_rb,2.9531e+00_rb,2.8706e+00_rb,2.8363e+00_rb, & &2.8330e+00_rb,2.8092e+00_rb,3.1671e-02_rb/) kao(:, 3, 8, 8) = (/ & &3.3283e+00_rb,2.9131e+00_rb,2.9801e+00_rb,2.9151e+00_rb,2.9077e+00_rb,2.9395e+00_rb, & &2.9913e+00_rb,2.9792e+00_rb,1.9457e-02_rb/) kao(:, 4, 8, 8) = (/ & &3.1890e+00_rb,2.7912e+00_rb,2.9223e+00_rb,2.9235e+00_rb,2.9935e+00_rb,3.0761e+00_rb, & &3.1767e+00_rb,3.1591e+00_rb,4.5502e-02_rb/) kao(:, 5, 8, 8) = (/ & &3.0966e+00_rb,2.7276e+00_rb,2.9000e+00_rb,2.9842e+00_rb,3.1139e+00_rb,3.2433e+00_rb, & &3.3703e+00_rb,3.3444e+00_rb,1.7959e-01_rb/) kao(:, 1, 9, 8) = (/ & &3.2795e+00_rb,2.8728e+00_rb,2.9171e+00_rb,2.7516e+00_rb,2.6513e+00_rb,2.5188e+00_rb, & &2.4080e+00_rb,2.3392e+00_rb,6.9869e-02_rb/) kao(:, 2, 9, 8) = (/ & &3.0734e+00_rb,2.7076e+00_rb,2.7821e+00_rb,2.6844e+00_rb,2.6368e+00_rb,2.5852e+00_rb, & &2.5517e+00_rb,2.5045e+00_rb,4.1359e-02_rb/) kao(:, 3, 9, 8) = (/ & &2.9006e+00_rb,2.6099e+00_rb,2.6833e+00_rb,2.6568e+00_rb,2.6662e+00_rb,2.6837e+00_rb, & &2.7125e+00_rb,2.6712e+00_rb,2.1538e-02_rb/) kao(:, 4, 9, 8) = (/ & &2.7639e+00_rb,2.5377e+00_rb,2.6242e+00_rb,2.6595e+00_rb,2.7323e+00_rb,2.8096e+00_rb, & &2.8901e+00_rb,2.8466e+00_rb,5.4396e-02_rb/) kao(:, 5, 9, 8) = (/ & &2.6669e+00_rb,2.4856e+00_rb,2.6031e+00_rb,2.7098e+00_rb,2.8344e+00_rb,2.9696e+00_rb, & &3.0834e+00_rb,3.0331e+00_rb,2.0077e-01_rb/) kao(:, 1,10, 8) = (/ & &2.8722e+00_rb,2.6105e+00_rb,2.6085e+00_rb,2.5091e+00_rb,2.4056e+00_rb,2.2547e+00_rb, & &2.1348e+00_rb,2.0413e+00_rb,7.1950e-02_rb/) kao(:, 2,10, 8) = (/ & &2.6764e+00_rb,2.5038e+00_rb,2.4795e+00_rb,2.4482e+00_rb,2.3806e+00_rb,2.3128e+00_rb, & &2.2556e+00_rb,2.1912e+00_rb,3.7979e-02_rb/) kao(:, 3,10, 8) = (/ & &2.5139e+00_rb,2.4083e+00_rb,2.3949e+00_rb,2.4105e+00_rb,2.4135e+00_rb,2.4077e+00_rb, & &2.4119e+00_rb,2.3558e+00_rb,2.2438e-02_rb/) kao(:, 4,10, 8) = (/ & &2.3840e+00_rb,2.3185e+00_rb,2.3481e+00_rb,2.4127e+00_rb,2.4770e+00_rb,2.5357e+00_rb, & &2.5771e+00_rb,2.5231e+00_rb,7.0033e-02_rb/) kao(:, 5,10, 8) = (/ & &2.2922e+00_rb,2.2525e+00_rb,2.3358e+00_rb,2.4514e+00_rb,2.5719e+00_rb,2.6836e+00_rb, & &2.7691e+00_rb,2.7055e+00_rb,2.1431e-01_rb/) kao(:, 1,11, 8) = (/ & &2.4203e+00_rb,2.3366e+00_rb,2.2726e+00_rb,2.2388e+00_rb,2.1243e+00_rb,2.0012e+00_rb, & &1.8959e+00_rb,1.8076e+00_rb,5.5769e-02_rb/) kao(:, 2,11, 8) = (/ & &2.2551e+00_rb,2.2021e+00_rb,2.1879e+00_rb,2.1841e+00_rb,2.1218e+00_rb,2.0691e+00_rb, & &2.0223e+00_rb,1.9543e+00_rb,2.8668e-02_rb/) kao(:, 3,11, 8) = (/ & &2.1166e+00_rb,2.0926e+00_rb,2.1229e+00_rb,2.1590e+00_rb,2.1592e+00_rb,2.1682e+00_rb, & &2.1642e+00_rb,2.1075e+00_rb,3.1850e-02_rb/) kao(:, 4,11, 8) = (/ & &2.0122e+00_rb,2.0159e+00_rb,2.0901e+00_rb,2.1693e+00_rb,2.2337e+00_rb,2.2891e+00_rb, & &2.3331e+00_rb,2.2748e+00_rb,1.4071e-01_rb/) kao(:, 5,11, 8) = (/ & &1.9514e+00_rb,1.9763e+00_rb,2.0989e+00_rb,2.2225e+00_rb,2.3388e+00_rb,2.4447e+00_rb, & &2.5215e+00_rb,2.4588e+00_rb,2.8723e-01_rb/) kao(:, 1,12, 8) = (/ & &2.0683e+00_rb,2.0370e+00_rb,2.0375e+00_rb,1.9798e+00_rb,1.8792e+00_rb,1.7675e+00_rb, & &1.6700e+00_rb,1.5868e+00_rb,4.4568e-02_rb/) kao(:, 2,12, 8) = (/ & &1.9287e+00_rb,1.9214e+00_rb,1.9599e+00_rb,1.9353e+00_rb,1.8869e+00_rb,1.8278e+00_rb, & &1.7894e+00_rb,1.7244e+00_rb,2.3573e-02_rb/) kao(:, 3,12, 8) = (/ & &1.8200e+00_rb,1.8347e+00_rb,1.9076e+00_rb,1.9217e+00_rb,1.9295e+00_rb,1.9250e+00_rb, & &1.9263e+00_rb,1.8738e+00_rb,5.2475e-02_rb/) kao(:, 4,12, 8) = (/ & &1.7432e+00_rb,1.7845e+00_rb,1.8845e+00_rb,1.9488e+00_rb,2.0009e+00_rb,2.0498e+00_rb, & &2.0942e+00_rb,2.0382e+00_rb,1.8765e-01_rb/) kao(:, 5,12, 8) = (/ & &1.7053e+00_rb,1.7760e+00_rb,1.9065e+00_rb,2.0215e+00_rb,2.1153e+00_rb,2.2054e+00_rb, & &2.2781e+00_rb,2.2210e+00_rb,3.6587e-01_rb/) kao(:, 1,13, 8) = (/ & &1.8562e+00_rb,1.8459e+00_rb,1.8637e+00_rb,1.7957e+00_rb,1.6878e+00_rb,1.5797e+00_rb, & &1.4757e+00_rb,1.3906e+00_rb,3.6132e-02_rb/) kao(:, 2,13, 8) = (/ & &1.7399e+00_rb,1.7611e+00_rb,1.7971e+00_rb,1.7529e+00_rb,1.6955e+00_rb,1.6354e+00_rb, & &1.5829e+00_rb,1.5250e+00_rb,2.1418e-02_rb/) kao(:, 3,13, 8) = (/ & &1.6467e+00_rb,1.6945e+00_rb,1.7550e+00_rb,1.7487e+00_rb,1.7380e+00_rb,1.7251e+00_rb, & &1.7178e+00_rb,1.6689e+00_rb,6.4309e-02_rb/) kao(:, 4,13, 8) = (/ & &1.5930e+00_rb,1.6654e+00_rb,1.7520e+00_rb,1.7797e+00_rb,1.8113e+00_rb,1.8460e+00_rb, & &1.8831e+00_rb,1.8288e+00_rb,2.0946e-01_rb/) kao(:, 5,13, 8) = (/ & &1.5695e+00_rb,1.6755e+00_rb,1.7906e+00_rb,1.8612e+00_rb,1.9314e+00_rb,2.0101e+00_rb, & &2.0671e+00_rb,2.0074e+00_rb,3.8278e-01_rb/) kao(:, 1, 1, 9) = (/ & &4.3448e+02_rb,3.8017e+02_rb,3.2586e+02_rb,2.7155e+02_rb,2.1724e+02_rb,1.6293e+02_rb, & &1.0862e+02_rb,5.5107e+01_rb,2.7465e-03_rb/) kao(:, 2, 1, 9) = (/ & &5.8321e+02_rb,5.1031e+02_rb,4.3741e+02_rb,3.6451e+02_rb,2.9161e+02_rb,2.1870e+02_rb, & &1.4580e+02_rb,7.3550e+01_rb,3.5822e-03_rb/) kao(:, 3, 1, 9) = (/ & &7.6101e+02_rb,6.6588e+02_rb,5.7076e+02_rb,4.7563e+02_rb,3.8051e+02_rb,2.8538e+02_rb, & &1.9025e+02_rb,9.5593e+01_rb,5.6366e-03_rb/) kao(:, 4, 1, 9) = (/ & &9.6683e+02_rb,8.4598e+02_rb,7.2512e+02_rb,6.0427e+02_rb,4.8342e+02_rb,3.6256e+02_rb, & &2.4171e+02_rb,1.2116e+02_rb,6.3697e-02_rb/) kao(:, 5, 1, 9) = (/ & &1.1977e+03_rb,1.0480e+03_rb,8.9827e+02_rb,7.4856e+02_rb,5.9885e+02_rb,4.4914e+02_rb, & &2.9942e+02_rb,1.4986e+02_rb,2.8050e-01_rb/) kao(:, 1, 2, 9) = (/ & &3.3233e+02_rb,2.9079e+02_rb,2.4925e+02_rb,2.0770e+02_rb,1.6616e+02_rb,1.2462e+02_rb, & &8.3297e+01_rb,4.3020e+01_rb,1.2769e-02_rb/) kao(:, 2, 2, 9) = (/ & &4.5139e+02_rb,3.9497e+02_rb,3.3854e+02_rb,2.8212e+02_rb,2.2570e+02_rb,1.6927e+02_rb, & &1.1303e+02_rb,5.7664e+01_rb,6.8183e-02_rb/) kao(:, 3, 2, 9) = (/ & &5.9515e+02_rb,5.2076e+02_rb,4.4637e+02_rb,3.7197e+02_rb,2.9758e+02_rb,2.2318e+02_rb, & &1.4890e+02_rb,7.5394e+01_rb,1.7070e-01_rb/) kao(:, 4, 2, 9) = (/ & &7.6179e+02_rb,6.6657e+02_rb,5.7134e+02_rb,4.7612e+02_rb,3.8090e+02_rb,2.8567e+02_rb, & &1.9048e+02_rb,9.5968e+01_rb,4.9948e-01_rb/) kao(:, 5, 2, 9) = (/ & &9.5206e+02_rb,8.3305e+02_rb,7.1404e+02_rb,5.9504e+02_rb,4.7603e+02_rb,3.5702e+02_rb, & &2.3802e+02_rb,1.1952e+02_rb,1.1527e+00_rb/) kao(:, 1, 3, 9) = (/ & &2.3507e+02_rb,2.0568e+02_rb,1.7630e+02_rb,1.4692e+02_rb,1.1753e+02_rb,8.8151e+01_rb, & &5.9624e+01_rb,3.1706e+01_rb,5.0754e-02_rb/) kao(:, 2, 3, 9) = (/ & &3.2531e+02_rb,2.8465e+02_rb,2.4398e+02_rb,2.0332e+02_rb,1.6266e+02_rb,1.2199e+02_rb, & &8.2067e+01_rb,4.2715e+01_rb,9.9945e-02_rb/) kao(:, 3, 3, 9) = (/ & &4.3545e+02_rb,3.8102e+02_rb,3.2659e+02_rb,2.7216e+02_rb,2.1773e+02_rb,1.6330e+02_rb, & &1.0943e+02_rb,5.6175e+01_rb,4.3033e-01_rb/) kao(:, 4, 3, 9) = (/ & &5.6623e+02_rb,4.9545e+02_rb,4.2468e+02_rb,3.5390e+02_rb,2.8312e+02_rb,2.1234e+02_rb, & &1.4196e+02_rb,7.2208e+01_rb,1.0055e+00_rb/) kao(:, 5, 3, 9) = (/ & &7.1637e+02_rb,6.2682e+02_rb,5.3728e+02_rb,4.4773e+02_rb,3.5819e+02_rb,2.6864e+02_rb, & &1.7932e+02_rb,9.0659e+01_rb,1.5764e+00_rb/) kao(:, 1, 4, 9) = (/ & &1.6080e+02_rb,1.4070e+02_rb,1.2060e+02_rb,1.0050e+02_rb,8.0399e+01_rb,6.0779e+01_rb, & &4.1842e+01_rb,2.3410e+01_rb,9.5747e-02_rb/) kao(:, 2, 4, 9) = (/ & &2.2661e+02_rb,1.9829e+02_rb,1.6996e+02_rb,1.4163e+02_rb,1.1331e+02_rb,8.5452e+01_rb, & &5.8120e+01_rb,3.1330e+01_rb,8.2203e-01_rb/) kao(:, 3, 4, 9) = (/ & &3.0940e+02_rb,2.7072e+02_rb,2.3205e+02_rb,1.9338e+02_rb,1.5470e+02_rb,1.1642e+02_rb, & &7.8610e+01_rb,4.1331e+01_rb,1.4967e+00_rb/) kao(:, 4, 4, 9) = (/ & &4.0889e+02_rb,3.5778e+02_rb,3.0667e+02_rb,2.5556e+02_rb,2.0445e+02_rb,1.5361e+02_rb, & &1.0323e+02_rb,5.3416e+01_rb,2.0722e+00_rb/) kao(:, 5, 4, 9) = (/ & &5.2581e+02_rb,4.6008e+02_rb,3.9436e+02_rb,3.2863e+02_rb,2.6291e+02_rb,1.9734e+02_rb, & &1.3221e+02_rb,6.7657e+01_rb,2.6260e+00_rb/) kao(:, 1, 5, 9) = (/ & &1.0850e+02_rb,9.4934e+01_rb,8.1372e+01_rb,6.7810e+01_rb,5.4459e+01_rb,4.1884e+01_rb, & &2.9671e+01_rb,1.7923e+01_rb,1.1913e+00_rb/) kao(:, 2, 5, 9) = (/ & &1.5572e+02_rb,1.3625e+02_rb,1.1679e+02_rb,9.7324e+01_rb,7.8121e+01_rb,5.9526e+01_rb, & &4.1277e+01_rb,2.3510e+01_rb,1.9137e+00_rb/) kao(:, 3, 5, 9) = (/ & &2.1676e+02_rb,1.8967e+02_rb,1.6257e+02_rb,1.3548e+02_rb,1.0864e+02_rb,8.2293e+01_rb, & &5.6282e+01_rb,3.0781e+01_rb,2.5565e+00_rb/) kao(:, 4, 5, 9) = (/ & &2.9183e+02_rb,2.5535e+02_rb,2.1887e+02_rb,1.8239e+02_rb,1.4612e+02_rb,1.1027e+02_rb, & &7.4761e+01_rb,3.9788e+01_rb,3.1260e+00_rb/) kao(:, 5, 5, 9) = (/ & &3.8115e+02_rb,3.3351e+02_rb,2.8587e+02_rb,2.3822e+02_rb,1.9070e+02_rb,1.4356e+02_rb, & &9.6772e+01_rb,5.0545e+01_rb,3.5402e+00_rb/) kao(:, 1, 6, 9) = (/ & &7.1661e+01_rb,6.2704e+01_rb,5.3746e+01_rb,4.4797e+01_rb,3.6644e+01_rb,2.8875e+01_rb, & &2.1420e+01_rb,1.4378e+01_rb,2.0773e+00_rb/) kao(:, 2, 6, 9) = (/ & &1.0465e+02_rb,9.1565e+01_rb,7.8484e+01_rb,6.5455e+01_rb,5.3153e+01_rb,4.1163e+01_rb, & &2.9464e+01_rb,1.8199e+01_rb,2.7911e+00_rb/) kao(:, 3, 6, 9) = (/ & &1.4858e+02_rb,1.3001e+02_rb,1.1144e+02_rb,9.2961e+01_rb,7.5079e+01_rb,5.7480e+01_rb, & &4.0178e+01_rb,2.3340e+01_rb,3.3860e+00_rb/) kao(:, 4, 6, 9) = (/ & &2.0400e+02_rb,1.7850e+02_rb,1.5300e+02_rb,1.2759e+02_rb,1.0268e+02_rb,7.8054e+01_rb, & &5.3729e+01_rb,2.9889e+01_rb,3.8146e+00_rb/) kao(:, 5, 6, 9) = (/ & &2.7127e+02_rb,2.3736e+02_rb,2.0345e+02_rb,1.6959e+02_rb,1.3617e+02_rb,1.0303e+02_rb, & &7.0191e+01_rb,3.7883e+01_rb,4.1027e+00_rb/) kao(:, 1, 7, 9) = (/ & &4.7664e+01_rb,4.1706e+01_rb,3.5748e+01_rb,3.0192e+01_rb,2.5283e+01_rb,2.0687e+01_rb, & &1.6356e+01_rb,1.2414e+01_rb,2.7141e+00_rb/) kao(:, 2, 7, 9) = (/ & &7.0406e+01_rb,6.1605e+01_rb,5.2805e+01_rb,4.4485e+01_rb,3.6675e+01_rb,2.9135e+01_rb, & &2.1846e+01_rb,1.4960e+01_rb,3.3740e+00_rb/) kao(:, 3, 7, 9) = (/ & &1.0189e+02_rb,8.9150e+01_rb,7.6414e+01_rb,6.4182e+01_rb,5.2360e+01_rb,4.0780e+01_rb, & &2.9464e+01_rb,1.8559e+01_rb,3.8705e+00_rb/) kao(:, 4, 7, 9) = (/ & &1.4268e+02_rb,1.2484e+02_rb,1.0701e+02_rb,8.9652e+01_rb,7.2635e+01_rb,5.5858e+01_rb, & &3.9357e+01_rb,2.3287e+01_rb,4.2268e+00_rb/) kao(:, 5, 7, 9) = (/ & &1.9337e+02_rb,1.6920e+02_rb,1.4503e+02_rb,1.2126e+02_rb,9.7796e+01_rb,7.4601e+01_rb, & &5.1680e+01_rb,2.9228e+01_rb,4.3853e+00_rb/) kao(:, 1, 8, 9) = (/ & &3.2619e+01_rb,2.8542e+01_rb,2.4489e+01_rb,2.1251e+01_rb,1.8391e+01_rb,1.5792e+01_rb, & &1.3493e+01_rb,1.1316e+01_rb,3.0747e+00_rb/) kao(:, 2, 8, 9) = (/ & &4.8375e+01_rb,4.2328e+01_rb,3.6375e+01_rb,3.1177e+01_rb,2.6286e+01_rb,2.1635e+01_rb, & &1.7234e+01_rb,1.3233e+01_rb,3.6551e+00_rb/) kao(:, 3, 8, 9) = (/ & &7.1088e+01_rb,6.2202e+01_rb,5.3468e+01_rb,4.5389e+01_rb,3.7595e+01_rb,3.0015e+01_rb, & &2.2675e+01_rb,1.5741e+01_rb,4.0898e+00_rb/) kao(:, 4, 8, 9) = (/ & &1.0151e+02_rb,8.8821e+01_rb,7.6303e+01_rb,6.4370e+01_rb,5.2682e+01_rb,4.1218e+01_rb, & &2.9982e+01_rb,1.9170e+01_rb,4.3948e+00_rb/) kao(:, 5, 8, 9) = (/ & &1.4013e+02_rb,1.2261e+02_rb,1.0526e+02_rb,8.8413e+01_rb,7.1810e+01_rb,5.5432e+01_rb, & &3.9307e+01_rb,2.3602e+01_rb,4.4795e+00_rb/) kao(:, 1, 9, 9) = (/ & &2.2374e+01_rb,1.9574e+01_rb,1.7087e+01_rb,1.5322e+01_rb,1.3873e+01_rb,1.2730e+01_rb, & &1.1784e+01_rb,1.0057e+01_rb,3.2920e+00_rb/) kao(:, 2, 9, 9) = (/ & &3.3006e+01_rb,2.8880e+01_rb,2.5155e+01_rb,2.2057e+01_rb,1.9232e+01_rb,1.6658e+01_rb, & &1.4329e+01_rb,1.1850e+01_rb,3.8043e+00_rb/) kao(:, 3, 9, 9) = (/ & &4.8965e+01_rb,4.2845e+01_rb,3.7181e+01_rb,3.2051e+01_rb,2.7172e+01_rb,2.2508e+01_rb, & &1.8078e+01_rb,1.3961e+01_rb,4.2059e+00_rb/) kao(:, 4, 9, 9) = (/ & &7.1218e+01_rb,6.2316e+01_rb,5.3886e+01_rb,4.5928e+01_rb,3.8193e+01_rb,3.0649e+01_rb, & &2.3347e+01_rb,1.6446e+01_rb,4.4539e+00_rb/) kao(:, 5, 9, 9) = (/ & &1.0013e+02_rb,8.7618e+01_rb,7.5558e+01_rb,6.3912e+01_rb,5.2481e+01_rb,4.1239e+01_rb, & &3.0241e+01_rb,1.9662e+01_rb,4.4837e+00_rb/) kao(:, 1,10, 9) = (/ & &1.6016e+01_rb,1.4014e+01_rb,1.2654e+01_rb,1.1832e+01_rb,1.1333e+01_rb,1.1079e+01_rb, & &1.0430e+01_rb,8.9198e+00_rb,3.4165e+00_rb/) kao(:, 2,10, 9) = (/ & &2.3316e+01_rb,2.0402e+01_rb,1.8216e+01_rb,1.6474e+01_rb,1.5033e+01_rb,1.3817e+01_rb, & &1.2667e+01_rb,1.0521e+01_rb,3.8593e+00_rb/) kao(:, 3,10, 9) = (/ & &3.4676e+01_rb,3.0345e+01_rb,2.6796e+01_rb,2.3607e+01_rb,2.0669e+01_rb,1.7940e+01_rb, & &1.5414e+01_rb,1.2426e+01_rb,4.1980e+00_rb/) kao(:, 4,10, 9) = (/ & &5.1075e+01_rb,4.4715e+01_rb,3.9109e+01_rb,3.3826e+01_rb,2.8757e+01_rb,2.3883e+01_rb, & &1.9235e+01_rb,1.4676e+01_rb,4.3830e+00_rb/) kao(:, 5,10, 9) = (/ & &7.2971e+01_rb,6.3894e+01_rb,5.5508e+01_rb,4.7426e+01_rb,3.9536e+01_rb,3.1844e+01_rb, & &2.4374e+01_rb,1.7279e+01_rb,4.3810e+00_rb/) kao(:, 1,11, 9) = (/ & &1.3577e+01_rb,1.1946e+01_rb,1.1209e+01_rb,1.0837e+01_rb,1.0794e+01_rb,1.0607e+01_rb, & &9.9046e+00_rb,8.4158e+00_rb,3.5771e+00_rb/) kao(:, 2,11, 9) = (/ & &1.9792e+01_rb,1.7445e+01_rb,1.5940e+01_rb,1.4785e+01_rb,1.3920e+01_rb,1.3199e+01_rb, & &1.2097e+01_rb,9.9522e+00_rb,3.9185e+00_rb/) kao(:, 3,11, 9) = (/ & &2.9476e+01_rb,2.5957e+01_rb,2.3237e+01_rb,2.0843e+01_rb,1.8688e+01_rb,1.6684e+01_rb, & &1.4791e+01_rb,1.1766e+01_rb,4.1553e+00_rb/) kao(:, 4,11, 9) = (/ & &4.3413e+01_rb,3.8176e+01_rb,3.3695e+01_rb,2.9502e+01_rb,2.5515e+01_rb,2.1698e+01_rb, & &1.8077e+01_rb,1.3908e+01_rb,4.1942e+00_rb/) kao(:, 5,11, 9) = (/ & &6.2007e+01_rb,5.4458e+01_rb,4.7606e+01_rb,4.1020e+01_rb,3.4622e+01_rb,2.8398e+01_rb, & &2.2392e+01_rb,1.6392e+01_rb,4.1692e+00_rb/) kao(:, 1,12, 9) = (/ & &1.1680e+01_rb,1.0479e+01_rb,1.0122e+01_rb,1.0167e+01_rb,1.0289e+01_rb,1.0072e+01_rb, & &9.3417e+00_rb,7.9079e+00_rb,3.5200e+00_rb/) kao(:, 2,12, 9) = (/ & &1.7053e+01_rb,1.5231e+01_rb,1.4215e+01_rb,1.3566e+01_rb,1.3123e+01_rb,1.2618e+01_rb, & &1.1431e+01_rb,9.3416e+00_rb,3.7828e+00_rb/) kao(:, 3,12, 9) = (/ & &2.5404e+01_rb,2.2573e+01_rb,2.0511e+01_rb,1.8777e+01_rb,1.7216e+01_rb,1.5812e+01_rb, & &1.4031e+01_rb,1.1064e+01_rb,3.9374e+00_rb/) kao(:, 4,12, 9) = (/ & &3.7431e+01_rb,3.3112e+01_rb,2.9529e+01_rb,2.6224e+01_rb,2.3088e+01_rb,2.0100e+01_rb, & &1.7184e+01_rb,1.3093e+01_rb,3.9253e+00_rb/) kao(:, 5,12, 9) = (/ & &5.3474e+01_rb,4.7145e+01_rb,4.1510e+01_rb,3.6119e+01_rb,3.0908e+01_rb,2.5843e+01_rb, & &2.0970e+01_rb,1.5444e+01_rb,3.9004e+00_rb/) kao(:, 1,13, 9) = (/ & &1.0438e+01_rb,9.5597e+00_rb,9.5087e+00_rb,9.7911e+00_rb,9.8820e+00_rb,9.5875e+00_rb, & &8.8692e+00_rb,7.4811e+00_rb,3.3069e+00_rb/) kao(:, 2,13, 9) = (/ & &1.5260e+01_rb,1.3818e+01_rb,1.3178e+01_rb,1.2874e+01_rb,1.2679e+01_rb,1.2091e+01_rb, & &1.0875e+01_rb,8.8312e+00_rb,3.5228e+00_rb/) kao(:, 3,13, 9) = (/ & &2.2789e+01_rb,2.0434e+01_rb,1.8837e+01_rb,1.7547e+01_rb,1.6403e+01_rb,1.5263e+01_rb, & &1.3389e+01_rb,1.0463e+01_rb,3.6351e+00_rb/) kao(:, 4,13, 9) = (/ & &3.3586e+01_rb,2.9891e+01_rb,2.6912e+01_rb,2.4218e+01_rb,2.1653e+01_rb,1.9218e+01_rb, & &1.6457e+01_rb,1.2402e+01_rb,3.6180e+00_rb/) kao(:, 5,13, 9) = (/ & &4.7989e+01_rb,4.2477e+01_rb,3.7650e+01_rb,3.3082e+01_rb,2.8647e+01_rb,2.4351e+01_rb, & &2.0129e+01_rb,1.4659e+01_rb,3.6174e+00_rb/) kao(:, 1, 1,10) = (/ & &2.6405e+03_rb,2.3104e+03_rb,1.9803e+03_rb,1.6503e+03_rb,1.3202e+03_rb,9.9017e+02_rb, & &6.6011e+02_rb,3.3006e+02_rb,2.0071e-03_rb/) kao(:, 2, 1,10) = (/ & &3.3430e+03_rb,2.9251e+03_rb,2.5072e+03_rb,2.0894e+03_rb,1.6715e+03_rb,1.2536e+03_rb, & &8.3575e+02_rb,4.1787e+02_rb,3.1756e-03_rb/) kao(:, 3, 1,10) = (/ & &4.1007e+03_rb,3.5881e+03_rb,3.0756e+03_rb,2.5630e+03_rb,2.0504e+03_rb,1.5378e+03_rb, & &1.0252e+03_rb,5.1259e+02_rb,1.5257e-02_rb/) kao(:, 4, 1,10) = (/ & &4.9110e+03_rb,4.2972e+03_rb,3.6833e+03_rb,3.0694e+03_rb,2.4555e+03_rb,1.8416e+03_rb, & &1.2278e+03_rb,6.1388e+02_rb,1.9623e-01_rb/) kao(:, 5, 1,10) = (/ & &5.7642e+03_rb,5.0437e+03_rb,4.3232e+03_rb,3.6026e+03_rb,2.8821e+03_rb,2.1616e+03_rb, & &1.4411e+03_rb,7.2053e+02_rb,3.1630e-01_rb/) kao(:, 1, 2,10) = (/ & &2.0643e+03_rb,1.8062e+03_rb,1.5482e+03_rb,1.2902e+03_rb,1.0321e+03_rb,7.7410e+02_rb, & &5.1607e+02_rb,2.5804e+02_rb,7.9610e-02_rb/) kao(:, 2, 2,10) = (/ & &2.6419e+03_rb,2.3117e+03_rb,1.9815e+03_rb,1.6512e+03_rb,1.3210e+03_rb,9.9073e+02_rb, & &6.6049e+02_rb,3.3024e+02_rb,3.1756e-01_rb/) kao(:, 3, 2,10) = (/ & &3.2679e+03_rb,2.8594e+03_rb,2.4509e+03_rb,2.0424e+03_rb,1.6340e+03_rb,1.2255e+03_rb, & &8.1698e+02_rb,4.0849e+02_rb,1.6019e+00_rb/) kao(:, 4, 2,10) = (/ & &3.9535e+03_rb,3.4593e+03_rb,2.9652e+03_rb,2.4710e+03_rb,1.9768e+03_rb,1.4826e+03_rb, & &9.8838e+02_rb,4.9419e+02_rb,2.9545e+00_rb/) kao(:, 5, 2,10) = (/ & &4.6801e+03_rb,4.0951e+03_rb,3.5101e+03_rb,2.9251e+03_rb,2.3401e+03_rb,1.7551e+03_rb, & &1.1700e+03_rb,5.8502e+02_rb,4.1449e+00_rb/) kao(:, 1, 3,10) = (/ & &1.5076e+03_rb,1.3191e+03_rb,1.1307e+03_rb,9.4224e+02_rb,7.5379e+02_rb,5.6534e+02_rb, & &3.7689e+02_rb,1.8845e+02_rb,5.0945e-01_rb/) kao(:, 2, 3,10) = (/ & &1.9623e+03_rb,1.7170e+03_rb,1.4718e+03_rb,1.2265e+03_rb,9.8117e+02_rb,7.3588e+02_rb, & &4.9059e+02_rb,2.4529e+02_rb,2.4679e+00_rb/) kao(:, 3, 3,10) = (/ & &2.4731e+03_rb,2.1640e+03_rb,1.8549e+03_rb,1.5457e+03_rb,1.2366e+03_rb,9.2743e+02_rb, & &6.1829e+02_rb,3.0914e+02_rb,5.8082e+00_rb/) kao(:, 4, 3,10) = (/ & &3.0330e+03_rb,2.6538e+03_rb,2.2747e+03_rb,1.8956e+03_rb,1.5165e+03_rb,1.1374e+03_rb, & &7.5824e+02_rb,3.7912e+02_rb,6.6677e+00_rb/) kao(:, 5, 3,10) = (/ & &3.6345e+03_rb,3.1802e+03_rb,2.7259e+03_rb,2.2715e+03_rb,1.8172e+03_rb,1.3629e+03_rb, & &9.0862e+02_rb,4.5431e+02_rb,6.6949e+00_rb/) kao(:, 1, 4,10) = (/ & &1.0627e+03_rb,9.2986e+02_rb,7.9702e+02_rb,6.6419e+02_rb,5.3135e+02_rb,3.9851e+02_rb, & &2.6568e+02_rb,1.3284e+02_rb,8.6599e+00_rb/) kao(:, 2, 4,10) = (/ & &1.4166e+03_rb,1.2395e+03_rb,1.0624e+03_rb,8.8537e+02_rb,7.0829e+02_rb,5.3122e+02_rb, & &3.5415e+02_rb,1.7707e+02_rb,9.4746e+00_rb/) kao(:, 3, 4,10) = (/ & &1.8198e+03_rb,1.5923e+03_rb,1.3648e+03_rb,1.1374e+03_rb,9.0989e+02_rb,6.8241e+02_rb, & &4.5494e+02_rb,2.2747e+02_rb,9.4272e+00_rb/) kao(:, 4, 4,10) = (/ & &2.2704e+03_rb,1.9866e+03_rb,1.7028e+03_rb,1.4190e+03_rb,1.1352e+03_rb,8.5140e+02_rb, & &5.6760e+02_rb,2.8380e+02_rb,9.3833e+00_rb/) kao(:, 5, 4,10) = (/ & &2.7615e+03_rb,2.4164e+03_rb,2.0712e+03_rb,1.7260e+03_rb,1.3808e+03_rb,1.0356e+03_rb, & &6.9039e+02_rb,3.4519e+02_rb,9.3214e+00_rb/) kao(:, 1, 5,10) = (/ & &7.3556e+02_rb,6.4362e+02_rb,5.5167e+02_rb,4.5973e+02_rb,3.6778e+02_rb,2.7584e+02_rb, & &1.8389e+02_rb,9.1946e+01_rb,1.0345e+01_rb/) kao(:, 2, 5,10) = (/ & &1.0082e+03_rb,8.8219e+02_rb,7.5616e+02_rb,6.3013e+02_rb,5.0411e+02_rb,3.7808e+02_rb, & &2.5205e+02_rb,1.2603e+02_rb,1.0318e+01_rb/) kao(:, 3, 5,10) = (/ & &1.3203e+03_rb,1.1552e+03_rb,9.9020e+02_rb,8.2516e+02_rb,6.6013e+02_rb,4.9510e+02_rb, & &3.3007e+02_rb,1.6503e+02_rb,1.0269e+01_rb/) kao(:, 4, 5,10) = (/ & &1.6790e+03_rb,1.4691e+03_rb,1.2593e+03_rb,1.0494e+03_rb,8.3951e+02_rb,6.2963e+02_rb, & &4.1976e+02_rb,2.0988e+02_rb,1.0211e+01_rb/) kao(:, 5, 5,10) = (/ & &2.0720e+03_rb,1.8130e+03_rb,1.5540e+03_rb,1.2950e+03_rb,1.0360e+03_rb,7.7699e+02_rb, & &5.1799e+02_rb,2.5900e+02_rb,1.0128e+01_rb/) kao(:, 1, 6,10) = (/ & &4.9443e+02_rb,4.3263e+02_rb,3.7082e+02_rb,3.0902e+02_rb,2.4721e+02_rb,1.8541e+02_rb, & &1.2361e+02_rb,6.1804e+01_rb,1.1088e+01_rb/) kao(:, 2, 6,10) = (/ & &6.9842e+02_rb,6.1111e+02_rb,5.2381e+02_rb,4.3651e+02_rb,3.4921e+02_rb,2.6191e+02_rb, & &1.7460e+02_rb,8.7302e+01_rb,1.1041e+01_rb/) kao(:, 3, 6,10) = (/ & &9.3821e+02_rb,8.2094e+02_rb,7.0366e+02_rb,5.8638e+02_rb,4.6911e+02_rb,3.5183e+02_rb, & &2.3455e+02_rb,1.1728e+02_rb,1.0988e+01_rb/) kao(:, 4, 6,10) = (/ & &1.2155e+03_rb,1.0636e+03_rb,9.1165e+02_rb,7.5971e+02_rb,6.0777e+02_rb,4.5582e+02_rb, & &3.0388e+02_rb,1.5194e+02_rb,1.0913e+01_rb/) kao(:, 5, 6,10) = (/ & &1.5286e+03_rb,1.3375e+03_rb,1.1464e+03_rb,9.5536e+02_rb,7.6429e+02_rb,5.7321e+02_rb, & &3.8214e+02_rb,1.9107e+02_rb,1.0808e+01_rb/) kao(:, 1, 7,10) = (/ & &3.2977e+02_rb,2.8854e+02_rb,2.4732e+02_rb,2.0610e+02_rb,1.6488e+02_rb,1.2366e+02_rb, & &8.2441e+01_rb,4.1221e+01_rb,1.1566e+01_rb/) kao(:, 2, 7,10) = (/ & &4.8209e+02_rb,4.2183e+02_rb,3.6157e+02_rb,3.0131e+02_rb,2.4104e+02_rb,1.8078e+02_rb, & &1.2052e+02_rb,6.0261e+01_rb,1.1564e+01_rb/) kao(:, 3, 7,10) = (/ & &6.6530e+02_rb,5.8214e+02_rb,4.9898e+02_rb,4.1581e+02_rb,3.3265e+02_rb,2.4949e+02_rb, & &1.6632e+02_rb,8.3163e+01_rb,1.1535e+01_rb/) kao(:, 4, 7,10) = (/ & &8.8049e+02_rb,7.7043e+02_rb,6.6036e+02_rb,5.5030e+02_rb,4.4024e+02_rb,3.3018e+02_rb, & &2.2012e+02_rb,1.1006e+02_rb,1.1437e+01_rb/) kao(:, 5, 7,10) = (/ & &1.1278e+03_rb,9.8684e+02_rb,8.4586e+02_rb,7.0488e+02_rb,5.6391e+02_rb,4.2293e+02_rb, & &2.8195e+02_rb,1.4098e+02_rb,1.1316e+01_rb/) kao(:, 1, 8,10) = (/ & &2.2204e+02_rb,1.9428e+02_rb,1.6653e+02_rb,1.3877e+02_rb,1.1102e+02_rb,8.3264e+01_rb, & &5.5510e+01_rb,3.0059e+01_rb,1.1861e+01_rb/) kao(:, 2, 8,10) = (/ & &3.3638e+02_rb,2.9433e+02_rb,2.5228e+02_rb,2.1024e+02_rb,1.6819e+02_rb,1.2614e+02_rb, & &8.4095e+01_rb,4.2076e+01_rb,1.1785e+01_rb/) kao(:, 3, 8,10) = (/ & &4.7771e+02_rb,4.1800e+02_rb,3.5828e+02_rb,2.9857e+02_rb,2.3886e+02_rb,1.7914e+02_rb, & &1.1943e+02_rb,5.9714e+01_rb,1.1693e+01_rb/) kao(:, 4, 8,10) = (/ & &6.4744e+02_rb,5.6651e+02_rb,4.8558e+02_rb,4.0465e+02_rb,3.2372e+02_rb,2.4279e+02_rb, & &1.6186e+02_rb,8.0931e+01_rb,1.1572e+01_rb/) kao(:, 5, 8,10) = (/ & &8.4463e+02_rb,7.3905e+02_rb,6.3347e+02_rb,5.2789e+02_rb,4.2232e+02_rb,3.1674e+02_rb, & &2.1116e+02_rb,1.0558e+02_rb,1.1447e+01_rb/) kao(:, 1, 9,10) = (/ & &1.4633e+02_rb,1.2804e+02_rb,1.0975e+02_rb,9.1455e+01_rb,7.3164e+01_rb,5.4873e+01_rb, & &3.7228e+01_rb,2.6999e+01_rb,1.1829e+01_rb/) kao(:, 2, 9,10) = (/ & &2.2961e+02_rb,2.0091e+02_rb,1.7220e+02_rb,1.4350e+02_rb,1.1480e+02_rb,8.6102e+01_rb, & &5.7402e+01_rb,3.3291e+01_rb,1.1753e+01_rb/) kao(:, 3, 9,10) = (/ & &3.3705e+02_rb,2.9492e+02_rb,2.5279e+02_rb,2.1066e+02_rb,1.6852e+02_rb,1.2639e+02_rb, & &8.4263e+01_rb,4.2726e+01_rb,1.1656e+01_rb/) kao(:, 4, 9,10) = (/ & &4.6791e+02_rb,4.0942e+02_rb,3.5094e+02_rb,2.9245e+02_rb,2.3396e+02_rb,1.7547e+02_rb, & &1.1698e+02_rb,5.8490e+01_rb,1.1546e+01_rb/) kao(:, 5, 9,10) = (/ & &6.2380e+02_rb,5.4582e+02_rb,4.6785e+02_rb,3.8987e+02_rb,3.1190e+02_rb,2.3392e+02_rb, & &1.5595e+02_rb,7.7975e+01_rb,1.1440e+01_rb/) kao(:, 1,10,10) = (/ & &9.9121e+01_rb,8.6731e+01_rb,7.4340e+01_rb,6.1950e+01_rb,4.9560e+01_rb,3.7719e+01_rb, & &3.0913e+01_rb,2.3571e+01_rb,1.2025e+01_rb/) kao(:, 2,10,10) = (/ & &1.5969e+02_rb,1.3973e+02_rb,1.1977e+02_rb,9.9804e+01_rb,7.9844e+01_rb,5.9883e+01_rb, & &4.1267e+01_rb,2.9611e+01_rb,1.1959e+01_rb/) kao(:, 3,10,10) = (/ & &2.4182e+02_rb,2.1160e+02_rb,1.8137e+02_rb,1.5114e+02_rb,1.2091e+02_rb,9.0684e+01_rb, & &6.0456e+01_rb,3.6780e+01_rb,1.1864e+01_rb/) kao(:, 4,10,10) = (/ & &3.4325e+02_rb,3.0034e+02_rb,2.5744e+02_rb,2.1453e+02_rb,1.7163e+02_rb,1.2872e+02_rb, & &8.5813e+01_rb,4.5301e+01_rb,1.1768e+01_rb/) kao(:, 5,10,10) = (/ & &4.6649e+02_rb,4.0818e+02_rb,3.4987e+02_rb,2.9156e+02_rb,2.3325e+02_rb,1.7493e+02_rb, & &1.1662e+02_rb,5.8448e+01_rb,1.1666e+01_rb/) kao(:, 1,11,10) = (/ & &8.4453e+01_rb,7.3896e+01_rb,6.3339e+01_rb,5.2783e+01_rb,4.2282e+01_rb,3.5008e+01_rb, & &3.0468e+01_rb,2.2795e+01_rb,1.2480e+01_rb/) kao(:, 2,11,10) = (/ & &1.3606e+02_rb,1.1905e+02_rb,1.0204e+02_rb,8.5035e+01_rb,6.8028e+01_rb,5.1171e+01_rb, & &3.9405e+01_rb,2.8346e+01_rb,1.2418e+01_rb/) kao(:, 3,11,10) = (/ & &2.0562e+02_rb,1.7991e+02_rb,1.5421e+02_rb,1.2851e+02_rb,1.0281e+02_rb,7.7106e+01_rb, & &5.2236e+01_rb,3.5283e+01_rb,1.2333e+01_rb/) kao(:, 4,11,10) = (/ & &2.9197e+02_rb,2.5547e+02_rb,2.1898e+02_rb,1.8248e+02_rb,1.4598e+02_rb,1.0949e+02_rb, & &7.2992e+01_rb,4.3383e+01_rb,1.2243e+01_rb/) kao(:, 5,11,10) = (/ & &3.9645e+02_rb,3.4690e+02_rb,2.9734e+02_rb,2.4778e+02_rb,1.9823e+02_rb,1.4867e+02_rb, & &9.9113e+01_rb,5.2639e+01_rb,1.2132e+01_rb/) kao(:, 1,12,10) = (/ & &7.3008e+01_rb,6.3882e+01_rb,5.4756e+01_rb,4.5630e+01_rb,3.8097e+01_rb,3.4292e+01_rb, & &2.9157e+01_rb,2.1820e+01_rb,1.2784e+01_rb/) kao(:, 2,12,10) = (/ & &1.1777e+02_rb,1.0304e+02_rb,8.8324e+01_rb,7.3604e+01_rb,5.8883e+01_rb,4.6283e+01_rb, & &3.8218e+01_rb,2.7110e+01_rb,1.2693e+01_rb/) kao(:, 3,12,10) = (/ & &1.7754e+02_rb,1.5535e+02_rb,1.3316e+02_rb,1.1096e+02_rb,8.8771e+01_rb,6.6578e+01_rb, & &4.9180e+01_rb,3.3603e+01_rb,1.2566e+01_rb/) kao(:, 4,12,10) = (/ & &2.5172e+02_rb,2.2026e+02_rb,1.8879e+02_rb,1.5733e+02_rb,1.2586e+02_rb,9.4396e+01_rb, & &6.3855e+01_rb,4.1285e+01_rb,1.2431e+01_rb/) kao(:, 5,12,10) = (/ & &3.4203e+02_rb,2.9928e+02_rb,2.5652e+02_rb,2.1377e+02_rb,1.7102e+02_rb,1.2826e+02_rb, & &8.5508e+01_rb,5.0087e+01_rb,1.2252e+01_rb/) kao(:, 1,13,10) = (/ & &6.5744e+01_rb,5.7526e+01_rb,4.9308e+01_rb,4.1412e+01_rb,3.7107e+01_rb,3.3686e+01_rb, & &2.7959e+01_rb,2.0954e+01_rb,1.2543e+01_rb/) kao(:, 2,13,10) = (/ & &1.0592e+02_rb,9.2679e+01_rb,7.9440e+01_rb,6.6200e+01_rb,5.3492e+01_rb,4.5296e+01_rb, & &3.7012e+01_rb,2.6073e+01_rb,1.2385e+01_rb/) kao(:, 3,13,10) = (/ & &1.5952e+02_rb,1.3958e+02_rb,1.1964e+02_rb,9.9699e+01_rb,7.9759e+01_rb,6.0961e+01_rb, & &4.7985e+01_rb,3.2430e+01_rb,1.2250e+01_rb/) kao(:, 4,13,10) = (/ & &2.2626e+02_rb,1.9798e+02_rb,1.6969e+02_rb,1.4141e+02_rb,1.1313e+02_rb,8.4848e+01_rb, & &6.0965e+01_rb,3.9929e+01_rb,1.2100e+01_rb/) kao(:, 5,13,10) = (/ & &3.0736e+02_rb,2.6894e+02_rb,2.3052e+02_rb,1.9210e+02_rb,1.5368e+02_rb,1.1526e+02_rb, & &7.7678e+01_rb,4.8494e+01_rb,1.1980e+01_rb/) kao(:, 1, 1,11) = (/ & &3.9010e+03_rb,3.4134e+03_rb,2.9257e+03_rb,2.4381e+03_rb,1.9505e+03_rb,1.4629e+03_rb, & &9.7525e+02_rb,4.8762e+02_rb,2.5641e-03_rb/) kao(:, 2, 1,11) = (/ & &4.8941e+03_rb,4.2823e+03_rb,3.6706e+03_rb,3.0588e+03_rb,2.4471e+03_rb,1.8353e+03_rb, & &1.2235e+03_rb,6.1176e+02_rb,4.7147e-03_rb/) kao(:, 3, 1,11) = (/ & &6.0244e+03_rb,5.2713e+03_rb,4.5183e+03_rb,3.7652e+03_rb,3.0122e+03_rb,2.2591e+03_rb, & &1.5061e+03_rb,7.5305e+02_rb,1.8229e-02_rb/) kao(:, 4, 1,11) = (/ & &7.2726e+03_rb,6.3635e+03_rb,5.4544e+03_rb,4.5454e+03_rb,3.6363e+03_rb,2.7272e+03_rb, & &1.8181e+03_rb,9.0907e+02_rb,4.1403e-02_rb/) kao(:, 5, 1,11) = (/ & &8.6200e+03_rb,7.5425e+03_rb,6.4650e+03_rb,5.3875e+03_rb,4.3100e+03_rb,3.2325e+03_rb, & &2.1550e+03_rb,1.0775e+03_rb,7.0391e-01_rb/) kao(:, 1, 2,11) = (/ & &3.0926e+03_rb,2.7060e+03_rb,2.3194e+03_rb,1.9329e+03_rb,1.5463e+03_rb,1.1597e+03_rb, & &7.7315e+02_rb,3.8657e+02_rb,1.4758e-01_rb/) kao(:, 2, 2,11) = (/ & &3.9512e+03_rb,3.4573e+03_rb,2.9634e+03_rb,2.4695e+03_rb,1.9756e+03_rb,1.4817e+03_rb, & &9.8779e+02_rb,4.9390e+02_rb,7.5464e-01_rb/) kao(:, 3, 2,11) = (/ & &4.9225e+03_rb,4.3072e+03_rb,3.6919e+03_rb,3.0766e+03_rb,2.4613e+03_rb,1.8460e+03_rb, & &1.2306e+03_rb,6.1532e+02_rb,2.2469e+00_rb/) kao(:, 4, 2,11) = (/ & &6.0042e+03_rb,5.2537e+03_rb,4.5032e+03_rb,3.7526e+03_rb,3.0021e+03_rb,2.2516e+03_rb, & &1.5011e+03_rb,7.5053e+02_rb,4.5134e+00_rb/) kao(:, 5, 2,11) = (/ & &7.1983e+03_rb,6.2985e+03_rb,5.3987e+03_rb,4.4989e+03_rb,3.5991e+03_rb,2.6994e+03_rb, & &1.7996e+03_rb,8.9979e+02_rb,5.4294e+00_rb/) kao(:, 1, 3,11) = (/ & &2.3009e+03_rb,2.0133e+03_rb,1.7257e+03_rb,1.4381e+03_rb,1.1505e+03_rb,8.6285e+02_rb, & &5.7523e+02_rb,2.8762e+02_rb,4.0343e+00_rb/) kao(:, 2, 3,11) = (/ & &2.9916e+03_rb,2.6177e+03_rb,2.2437e+03_rb,1.8698e+03_rb,1.4958e+03_rb,1.1219e+03_rb, & &7.4790e+02_rb,3.7395e+02_rb,9.4960e+00_rb/) kao(:, 3, 3,11) = (/ & &3.7957e+03_rb,3.3213e+03_rb,2.8468e+03_rb,2.3723e+03_rb,1.8979e+03_rb,1.4234e+03_rb, & &9.4893e+02_rb,4.7447e+02_rb,9.8961e+00_rb/) kao(:, 4, 3,11) = (/ & &4.7090e+03_rb,4.1204e+03_rb,3.5318e+03_rb,2.9432e+03_rb,2.3545e+03_rb,1.7659e+03_rb, & &1.1773e+03_rb,5.8863e+02_rb,9.8448e+00_rb/) kao(:, 5, 3,11) = (/ & &5.7119e+03_rb,4.9979e+03_rb,4.2839e+03_rb,3.5699e+03_rb,2.8560e+03_rb,2.1420e+03_rb, & &1.4280e+03_rb,7.1399e+02_rb,9.5434e+00_rb/) kao(:, 1, 4,11) = (/ & &1.6459e+03_rb,1.4402e+03_rb,1.2345e+03_rb,1.0287e+03_rb,8.2297e+02_rb,6.1723e+02_rb, & &4.1148e+02_rb,2.0574e+02_rb,1.1261e+01_rb/) kao(:, 2, 4,11) = (/ & &2.1944e+03_rb,1.9201e+03_rb,1.6458e+03_rb,1.3715e+03_rb,1.0972e+03_rb,8.2292e+02_rb, & &5.4861e+02_rb,2.7431e+02_rb,1.1246e+01_rb/) kao(:, 3, 4,11) = (/ & &2.8415e+03_rb,2.4863e+03_rb,2.1311e+03_rb,1.7759e+03_rb,1.4207e+03_rb,1.0656e+03_rb, & &7.1037e+02_rb,3.5519e+02_rb,1.1203e+01_rb/) kao(:, 4, 4,11) = (/ & &3.5819e+03_rb,3.1342e+03_rb,2.6865e+03_rb,2.2387e+03_rb,1.7910e+03_rb,1.3432e+03_rb, & &8.9549e+02_rb,4.4774e+02_rb,1.1137e+01_rb/) kao(:, 5, 4,11) = (/ & &4.4164e+03_rb,3.8643e+03_rb,3.3123e+03_rb,2.7602e+03_rb,2.2082e+03_rb,1.6561e+03_rb, & &1.1041e+03_rb,5.5205e+02_rb,1.1062e+01_rb/) kao(:, 1, 5,11) = (/ & &1.1573e+03_rb,1.0126e+03_rb,8.6797e+02_rb,7.2331e+02_rb,5.7865e+02_rb,4.3399e+02_rb, & &2.8932e+02_rb,1.4466e+02_rb,1.2627e+01_rb/) kao(:, 2, 5,11) = (/ & &1.5804e+03_rb,1.3829e+03_rb,1.1853e+03_rb,9.8775e+02_rb,7.9020e+02_rb,5.9265e+02_rb, & &3.9510e+02_rb,1.9755e+02_rb,1.2599e+01_rb/) kao(:, 3, 5,11) = (/ & &2.0873e+03_rb,1.8264e+03_rb,1.5655e+03_rb,1.3046e+03_rb,1.0437e+03_rb,7.8274e+02_rb, & &5.2183e+02_rb,2.6092e+02_rb,1.2536e+01_rb/) kao(:, 4, 5,11) = (/ & &2.6827e+03_rb,2.3473e+03_rb,2.0120e+03_rb,1.6767e+03_rb,1.3413e+03_rb,1.0060e+03_rb, & &6.7067e+02_rb,3.3534e+02_rb,1.2467e+01_rb/) kao(:, 5, 5,11) = (/ & &3.3592e+03_rb,2.9393e+03_rb,2.5194e+03_rb,2.0995e+03_rb,1.6796e+03_rb,1.2597e+03_rb, & &8.3980e+02_rb,4.1990e+02_rb,1.2393e+01_rb/) kao(:, 1, 6,11) = (/ & &7.9180e+02_rb,6.9282e+02_rb,5.9385e+02_rb,4.9487e+02_rb,3.9590e+02_rb,2.9692e+02_rb, & &1.9795e+02_rb,9.8975e+01_rb,1.3948e+01_rb/) kao(:, 2, 6,11) = (/ & &1.1067e+03_rb,9.6838e+02_rb,8.3004e+02_rb,6.9170e+02_rb,5.5336e+02_rb,4.1502e+02_rb, & &2.7668e+02_rb,1.3834e+02_rb,1.3917e+01_rb/) kao(:, 3, 6,11) = (/ & &1.4976e+03_rb,1.3104e+03_rb,1.1232e+03_rb,9.3600e+02_rb,7.4880e+02_rb,5.6160e+02_rb, & &3.7440e+02_rb,1.8720e+02_rb,1.3860e+01_rb/) kao(:, 4, 6,11) = (/ & &1.9619e+03_rb,1.7167e+03_rb,1.4715e+03_rb,1.2262e+03_rb,9.8097e+02_rb,7.3573e+02_rb, & &4.9049e+02_rb,2.4524e+02_rb,1.3785e+01_rb/) kao(:, 5, 6,11) = (/ & &2.4991e+03_rb,2.1867e+03_rb,1.8743e+03_rb,1.5619e+03_rb,1.2496e+03_rb,9.3716e+02_rb, & &6.2477e+02_rb,3.1239e+02_rb,1.3707e+01_rb/) kao(:, 1, 7,11) = (/ & &5.3794e+02_rb,4.7070e+02_rb,4.0346e+02_rb,3.3621e+02_rb,2.6897e+02_rb,2.0173e+02_rb, & &1.3449e+02_rb,6.7243e+01_rb,1.5200e+01_rb/) kao(:, 2, 7,11) = (/ & &7.7168e+02_rb,6.7522e+02_rb,5.7876e+02_rb,4.8230e+02_rb,3.8584e+02_rb,2.8938e+02_rb, & &1.9292e+02_rb,9.6460e+01_rb,1.5161e+01_rb/) kao(:, 3, 7,11) = (/ & &1.0690e+03_rb,9.3537e+02_rb,8.0174e+02_rb,6.6812e+02_rb,5.3449e+02_rb,4.0087e+02_rb, & &2.6725e+02_rb,1.3362e+02_rb,1.5097e+01_rb/) kao(:, 4, 7,11) = (/ & &1.4303e+03_rb,1.2515e+03_rb,1.0727e+03_rb,8.9396e+02_rb,7.1516e+02_rb,5.3637e+02_rb, & &3.5758e+02_rb,1.7879e+02_rb,1.5017e+01_rb/) kao(:, 5, 7,11) = (/ & &1.8576e+03_rb,1.6254e+03_rb,1.3932e+03_rb,1.1610e+03_rb,9.2880e+02_rb,6.9660e+02_rb, & &4.6440e+02_rb,2.3220e+02_rb,1.4920e+01_rb/) kao(:, 1, 8,11) = (/ & &3.6857e+02_rb,3.2250e+02_rb,2.7643e+02_rb,2.3036e+02_rb,1.8428e+02_rb,1.3821e+02_rb, & &9.2143e+01_rb,4.6072e+01_rb,1.6297e+01_rb/) kao(:, 2, 8,11) = (/ & &5.4427e+02_rb,4.7624e+02_rb,4.0820e+02_rb,3.4017e+02_rb,2.7214e+02_rb,2.0410e+02_rb, & &1.3607e+02_rb,6.8035e+01_rb,1.6238e+01_rb/) kao(:, 3, 8,11) = (/ & &7.7191e+02_rb,6.7542e+02_rb,5.7893e+02_rb,4.8244e+02_rb,3.8595e+02_rb,2.8947e+02_rb, & &1.9298e+02_rb,9.6489e+01_rb,1.6155e+01_rb/) kao(:, 4, 8,11) = (/ & &1.0564e+03_rb,9.2435e+02_rb,7.9230e+02_rb,6.6025e+02_rb,5.2820e+02_rb,3.9615e+02_rb, & &2.6410e+02_rb,1.3205e+02_rb,1.6062e+01_rb/) kao(:, 5, 8,11) = (/ & &1.3972e+03_rb,1.2225e+03_rb,1.0479e+03_rb,8.7322e+02_rb,6.9858e+02_rb,5.2393e+02_rb, & &3.4929e+02_rb,1.7465e+02_rb,1.5943e+01_rb/) kao(:, 1, 9,11) = (/ & &2.4734e+02_rb,2.1642e+02_rb,1.8550e+02_rb,1.5459e+02_rb,1.2367e+02_rb,9.2751e+01_rb, & &6.1834e+01_rb,3.4329e+01_rb,1.7139e+01_rb/) kao(:, 2, 9,11) = (/ & &3.7646e+02_rb,3.2941e+02_rb,2.8235e+02_rb,2.3529e+02_rb,1.8823e+02_rb,1.4117e+02_rb, & &9.4116e+01_rb,4.7119e+01_rb,1.7064e+01_rb/) kao(:, 3, 9,11) = (/ & &5.4702e+02_rb,4.7864e+02_rb,4.1027e+02_rb,3.4189e+02_rb,2.7351e+02_rb,2.0513e+02_rb, & &1.3676e+02_rb,6.8378e+01_rb,1.6972e+01_rb/) kao(:, 4, 9,11) = (/ & &7.6564e+02_rb,6.6994e+02_rb,5.7423e+02_rb,4.7853e+02_rb,3.8282e+02_rb,2.8712e+02_rb, & &1.9141e+02_rb,9.5706e+01_rb,1.6856e+01_rb/) kao(:, 5, 9,11) = (/ & &1.0333e+03_rb,9.0412e+02_rb,7.7496e+02_rb,6.4580e+02_rb,5.1664e+02_rb,3.8748e+02_rb, & &2.5832e+02_rb,1.2916e+02_rb,1.6713e+01_rb/) kao(:, 1,10,11) = (/ & &1.6975e+02_rb,1.4853e+02_rb,1.2731e+02_rb,1.0609e+02_rb,8.4874e+01_rb,6.3656e+01_rb, & &4.3000e+01_rb,3.1831e+01_rb,1.7572e+01_rb/) kao(:, 2,10,11) = (/ & &2.6544e+02_rb,2.3226e+02_rb,1.9908e+02_rb,1.6590e+02_rb,1.3272e+02_rb,9.9541e+01_rb, & &6.6361e+01_rb,3.9122e+01_rb,1.7485e+01_rb/) kao(:, 3,10,11) = (/ & &3.9471e+02_rb,3.4537e+02_rb,2.9603e+02_rb,2.4669e+02_rb,1.9735e+02_rb,1.4801e+02_rb, & &9.8676e+01_rb,5.0382e+01_rb,1.7381e+01_rb/) kao(:, 4,10,11) = (/ & &5.6315e+02_rb,4.9275e+02_rb,4.2236e+02_rb,3.5197e+02_rb,2.8157e+02_rb,2.1118e+02_rb, & &1.4079e+02_rb,7.0394e+01_rb,1.7247e+01_rb/) kao(:, 5,10,11) = (/ & &7.7410e+02_rb,6.7734e+02_rb,5.8057e+02_rb,4.8381e+02_rb,3.8705e+02_rb,2.9029e+02_rb, & &1.9352e+02_rb,9.6763e+01_rb,1.7092e+01_rb/) kao(:, 1,11,11) = (/ & &1.4476e+02_rb,1.2667e+02_rb,1.0857e+02_rb,9.0475e+01_rb,7.2380e+01_rb,5.4285e+01_rb, & &4.0590e+01_rb,3.2171e+01_rb,1.7597e+01_rb/) kao(:, 2,11,11) = (/ & &2.2628e+02_rb,1.9800e+02_rb,1.6971e+02_rb,1.4143e+02_rb,1.1314e+02_rb,8.4856e+01_rb, & &5.6719e+01_rb,3.9479e+01_rb,1.7480e+01_rb/) kao(:, 3,11,11) = (/ & &3.3682e+02_rb,2.9472e+02_rb,2.5262e+02_rb,2.1051e+02_rb,1.6841e+02_rb,1.2631e+02_rb, & &8.4204e+01_rb,4.8355e+01_rb,1.7349e+01_rb/) kao(:, 4,11,11) = (/ & &4.8164e+02_rb,4.2144e+02_rb,3.6123e+02_rb,3.0103e+02_rb,2.4082e+02_rb,1.8062e+02_rb, & &1.2041e+02_rb,6.1572e+01_rb,1.7186e+01_rb/) kao(:, 5,11,11) = (/ & &6.6267e+02_rb,5.7984e+02_rb,4.9701e+02_rb,4.1417e+02_rb,3.3134e+02_rb,2.4850e+02_rb, & &1.6567e+02_rb,8.2835e+01_rb,1.7015e+01_rb/) kao(:, 1,12,11) = (/ & &1.2510e+02_rb,1.0946e+02_rb,9.3823e+01_rb,7.8186e+01_rb,6.2549e+01_rb,4.8100e+01_rb, & &4.0318e+01_rb,3.2221e+01_rb,1.7708e+01_rb/) kao(:, 2,12,11) = (/ & &1.9563e+02_rb,1.7117e+02_rb,1.4672e+02_rb,1.2227e+02_rb,9.7813e+01_rb,7.3360e+01_rb, & &5.2529e+01_rb,3.9562e+01_rb,1.7612e+01_rb/) kao(:, 3,12,11) = (/ & &2.9201e+02_rb,2.5551e+02_rb,2.1901e+02_rb,1.8251e+02_rb,1.4600e+02_rb,1.0950e+02_rb, & &7.3154e+01_rb,4.8447e+01_rb,1.7481e+01_rb/) kao(:, 4,12,11) = (/ & &4.1774e+02_rb,3.6552e+02_rb,3.1331e+02_rb,2.6109e+02_rb,2.0887e+02_rb,1.5665e+02_rb, & &1.0444e+02_rb,5.8915e+01_rb,1.7339e+01_rb/) kao(:, 5,12,11) = (/ & &5.7504e+02_rb,5.0316e+02_rb,4.3128e+02_rb,3.5940e+02_rb,2.8752e+02_rb,2.1564e+02_rb, & &1.4376e+02_rb,7.3682e+01_rb,1.7186e+01_rb/) kao(:, 1,13,11) = (/ & &1.1264e+02_rb,9.8561e+01_rb,8.4481e+01_rb,7.0401e+01_rb,5.6432e+01_rb,4.7061e+01_rb, & &4.0409e+01_rb,3.2253e+01_rb,1.8302e+01_rb/) kao(:, 2,13,11) = (/ & &1.7621e+02_rb,1.5419e+02_rb,1.3216e+02_rb,1.1013e+02_rb,8.8108e+01_rb,6.6456e+01_rb, & &5.2592e+01_rb,3.9667e+01_rb,1.8194e+01_rb/) kao(:, 3,13,11) = (/ & &2.6303e+02_rb,2.3015e+02_rb,1.9727e+02_rb,1.6440e+02_rb,1.3152e+02_rb,9.8638e+01_rb, & &6.8547e+01_rb,4.8772e+01_rb,1.8071e+01_rb/) kao(:, 4,13,11) = (/ & &3.7673e+02_rb,3.2964e+02_rb,2.8255e+02_rb,2.3546e+02_rb,1.8837e+02_rb,1.4128e+02_rb, & &9.4251e+01_rb,5.9423e+01_rb,1.7926e+01_rb/) kao(:, 5,13,11) = (/ & &5.1904e+02_rb,4.5416e+02_rb,3.8928e+02_rb,3.2440e+02_rb,2.5952e+02_rb,1.9464e+02_rb, & &1.2976e+02_rb,7.1698e+01_rb,1.7708e+01_rb/) kao(:, 1, 1,12) = (/ & &6.1566e+03_rb,5.3871e+03_rb,4.6175e+03_rb,3.8479e+03_rb,3.0783e+03_rb,2.3087e+03_rb, & &1.5392e+03_rb,7.6958e+02_rb,3.6622e-03_rb/) kao(:, 2, 1,12) = (/ & &7.8640e+03_rb,6.8810e+03_rb,5.8980e+03_rb,4.9150e+03_rb,3.9320e+03_rb,2.9490e+03_rb, & &1.9660e+03_rb,9.8301e+02_rb,3.6025e-03_rb/) kao(:, 3, 1,12) = (/ & &9.7949e+03_rb,8.5705e+03_rb,7.3462e+03_rb,6.1218e+03_rb,4.8974e+03_rb,3.6731e+03_rb, & &2.4487e+03_rb,1.2244e+03_rb,3.3010e-02_rb/) kao(:, 4, 1,12) = (/ & &1.1959e+04_rb,1.0464e+04_rb,8.9695e+03_rb,7.4746e+03_rb,5.9797e+03_rb,4.4847e+03_rb, & &2.9898e+03_rb,1.4949e+03_rb,6.0612e-02_rb/) kao(:, 5, 1,12) = (/ & &1.4386e+04_rb,1.2588e+04_rb,1.0790e+04_rb,8.9913e+03_rb,7.1931e+03_rb,5.3948e+03_rb, & &3.5965e+03_rb,1.7983e+03_rb,7.6915e-02_rb/) kao(:, 1, 2,12) = (/ & &5.0811e+03_rb,4.4460e+03_rb,3.8109e+03_rb,3.1757e+03_rb,2.5406e+03_rb,1.9054e+03_rb, & &1.2703e+03_rb,6.3514e+02_rb,2.7963e-01_rb/) kao(:, 2, 2,12) = (/ & &6.5891e+03_rb,5.7655e+03_rb,4.9418e+03_rb,4.1182e+03_rb,3.2946e+03_rb,2.4709e+03_rb, & &1.6473e+03_rb,8.2364e+02_rb,2.3002e+00_rb/) kao(:, 3, 2,12) = (/ & &8.3666e+03_rb,7.3208e+03_rb,6.2750e+03_rb,5.2291e+03_rb,4.1833e+03_rb,3.1375e+03_rb, & &2.0917e+03_rb,1.0458e+03_rb,4.9790e+00_rb/) kao(:, 4, 2,12) = (/ & &1.0356e+04_rb,9.0616e+03_rb,7.7671e+03_rb,6.4726e+03_rb,5.1781e+03_rb,3.8836e+03_rb, & &2.5890e+03_rb,1.2945e+03_rb,6.0169e+00_rb/) kao(:, 5, 2,12) = (/ & &1.2531e+04_rb,1.0965e+04_rb,9.3984e+03_rb,7.8320e+03_rb,6.2656e+03_rb,4.6992e+03_rb, & &3.1328e+03_rb,1.5664e+03_rb,6.8160e+00_rb/) kao(:, 1, 3,12) = (/ & &3.8913e+03_rb,3.4049e+03_rb,2.9185e+03_rb,2.4321e+03_rb,1.9457e+03_rb,1.4593e+03_rb, & &9.7284e+02_rb,4.8642e+02_rb,1.1253e+01_rb/) kao(:, 2, 3,12) = (/ & &5.1870e+03_rb,4.5386e+03_rb,3.8902e+03_rb,3.2418e+03_rb,2.5935e+03_rb,1.9451e+03_rb, & &1.2967e+03_rb,6.4837e+02_rb,1.1246e+01_rb/) kao(:, 3, 3,12) = (/ & &6.6906e+03_rb,5.8543e+03_rb,5.0180e+03_rb,4.1816e+03_rb,3.3453e+03_rb,2.5090e+03_rb, & &1.6727e+03_rb,8.3633e+02_rb,1.1235e+01_rb/) kao(:, 4, 3,12) = (/ & &8.4124e+03_rb,7.3608e+03_rb,6.3093e+03_rb,5.2577e+03_rb,4.2062e+03_rb,3.1546e+03_rb, & &2.1031e+03_rb,1.0515e+03_rb,1.1206e+01_rb/) kao(:, 5, 3,12) = (/ & &1.0381e+04_rb,9.0837e+03_rb,7.7860e+03_rb,6.4883e+03_rb,5.1907e+03_rb,3.8930e+03_rb, & &2.5953e+03_rb,1.2977e+03_rb,1.1154e+01_rb/) kao(:, 1, 4,12) = (/ & &2.8697e+03_rb,2.5110e+03_rb,2.1523e+03_rb,1.7936e+03_rb,1.4349e+03_rb,1.0761e+03_rb, & &7.1743e+02_rb,3.5872e+02_rb,1.3022e+01_rb/) kao(:, 2, 4,12) = (/ & &3.9101e+03_rb,3.4213e+03_rb,2.9326e+03_rb,2.4438e+03_rb,1.9551e+03_rb,1.4663e+03_rb, & &9.7753e+02_rb,4.8877e+02_rb,1.3025e+01_rb/) kao(:, 3, 4,12) = (/ & &5.1573e+03_rb,4.5126e+03_rb,3.8680e+03_rb,3.2233e+03_rb,2.5786e+03_rb,1.9340e+03_rb, & &1.2893e+03_rb,6.4466e+02_rb,1.3008e+01_rb/) kao(:, 4, 4,12) = (/ & &6.6403e+03_rb,5.8103e+03_rb,4.9802e+03_rb,4.1502e+03_rb,3.3201e+03_rb,2.4901e+03_rb, & &1.6601e+03_rb,8.3004e+02_rb,1.2981e+01_rb/) kao(:, 5, 4,12) = (/ & &8.3023e+03_rb,7.2645e+03_rb,6.2267e+03_rb,5.1889e+03_rb,4.1511e+03_rb,3.1134e+03_rb, & &2.0756e+03_rb,1.0378e+03_rb,1.2927e+01_rb/) kao(:, 1, 5,12) = (/ & &2.0574e+03_rb,1.8002e+03_rb,1.5431e+03_rb,1.2859e+03_rb,1.0287e+03_rb,7.7153e+02_rb, & &5.1435e+02_rb,2.5718e+02_rb,1.4941e+01_rb/) kao(:, 2, 5,12) = (/ & &2.8796e+03_rb,2.5197e+03_rb,2.1597e+03_rb,1.7998e+03_rb,1.4398e+03_rb,1.0799e+03_rb, & &7.1991e+02_rb,3.5996e+02_rb,1.4958e+01_rb/) kao(:, 3, 5,12) = (/ & &3.9044e+03_rb,3.4163e+03_rb,2.9283e+03_rb,2.4402e+03_rb,1.9522e+03_rb,1.4641e+03_rb, & &9.7610e+02_rb,4.8805e+02_rb,1.4965e+01_rb/) kao(:, 4, 5,12) = (/ & &5.1045e+03_rb,4.4665e+03_rb,3.8284e+03_rb,3.1903e+03_rb,2.5523e+03_rb,1.9142e+03_rb, & &1.2761e+03_rb,6.3807e+02_rb,1.4927e+01_rb/) kao(:, 5, 5,12) = (/ & &6.5127e+03_rb,5.6986e+03_rb,4.8846e+03_rb,4.0705e+03_rb,3.2564e+03_rb,2.4423e+03_rb, & &1.6282e+03_rb,8.1409e+02_rb,1.4857e+01_rb/) kao(:, 1, 6,12) = (/ & &1.4218e+03_rb,1.2441e+03_rb,1.0663e+03_rb,8.8861e+02_rb,7.1089e+02_rb,5.3316e+02_rb, & &3.5544e+02_rb,1.7772e+02_rb,1.7034e+01_rb/) kao(:, 2, 6,12) = (/ & &2.0585e+03_rb,1.8012e+03_rb,1.5439e+03_rb,1.2865e+03_rb,1.0292e+03_rb,7.7193e+02_rb, & &5.1462e+02_rb,2.5731e+02_rb,1.7052e+01_rb/) kao(:, 3, 6,12) = (/ & &2.8529e+03_rb,2.4963e+03_rb,2.1397e+03_rb,1.7831e+03_rb,1.4265e+03_rb,1.0699e+03_rb, & &7.1324e+02_rb,3.5662e+02_rb,1.7043e+01_rb/) kao(:, 4, 6,12) = (/ & &3.8237e+03_rb,3.3458e+03_rb,2.8678e+03_rb,2.3898e+03_rb,1.9119e+03_rb,1.4339e+03_rb, & &9.5593e+02_rb,4.7797e+02_rb,1.6999e+01_rb/) kao(:, 5, 6,12) = (/ & &4.9757e+03_rb,4.3537e+03_rb,3.7318e+03_rb,3.1098e+03_rb,2.4878e+03_rb,1.8659e+03_rb, & &1.2439e+03_rb,6.2196e+02_rb,1.6923e+01_rb/) kao(:, 1, 7,12) = (/ & &9.7219e+02_rb,8.5066e+02_rb,7.2914e+02_rb,6.0761e+02_rb,4.8609e+02_rb,3.6457e+02_rb, & &2.4305e+02_rb,1.2152e+02_rb,1.9204e+01_rb/) kao(:, 2, 7,12) = (/ & &1.4501e+03_rb,1.2688e+03_rb,1.0876e+03_rb,9.0631e+02_rb,7.2505e+02_rb,5.4378e+02_rb, & &3.6252e+02_rb,1.8126e+02_rb,1.9225e+01_rb/) kao(:, 3, 7,12) = (/ & &2.0671e+03_rb,1.8087e+03_rb,1.5503e+03_rb,1.2919e+03_rb,1.0335e+03_rb,7.7515e+02_rb, & &5.1676e+02_rb,2.5838e+02_rb,1.9209e+01_rb/) kao(:, 4, 7,12) = (/ & &2.8414e+03_rb,2.4862e+03_rb,2.1311e+03_rb,1.7759e+03_rb,1.4207e+03_rb,1.0655e+03_rb, & &7.1035e+02_rb,3.5518e+02_rb,1.9156e+01_rb/) kao(:, 5, 7,12) = (/ & &3.7638e+03_rb,3.2933e+03_rb,2.8228e+03_rb,2.3524e+03_rb,1.8819e+03_rb,1.4114e+03_rb, & &9.4094e+02_rb,4.7047e+02_rb,1.9066e+01_rb/) kao(:, 1, 8,12) = (/ & &6.6611e+02_rb,5.8284e+02_rb,4.9958e+02_rb,4.1632e+02_rb,3.3305e+02_rb,2.4979e+02_rb, & &1.6653e+02_rb,8.3265e+01_rb,2.1374e+01_rb/) kao(:, 2, 8,12) = (/ & &1.0262e+03_rb,8.9794e+02_rb,7.6966e+02_rb,6.4139e+02_rb,5.1311e+02_rb,3.8483e+02_rb, & &2.5656e+02_rb,1.2828e+02_rb,2.1403e+01_rb/) kao(:, 3, 8,12) = (/ & &1.5100e+03_rb,1.3213e+03_rb,1.1325e+03_rb,9.4376e+02_rb,7.5501e+02_rb,5.6626e+02_rb, & &3.7751e+02_rb,1.8875e+02_rb,2.1385e+01_rb/) kao(:, 4, 8,12) = (/ & &2.1206e+03_rb,1.8555e+03_rb,1.5904e+03_rb,1.3254e+03_rb,1.0603e+03_rb,7.9522e+02_rb, & &5.3015e+02_rb,2.6507e+02_rb,2.1320e+01_rb/) kao(:, 5, 8,12) = (/ & &2.8794e+03_rb,2.5195e+03_rb,2.1596e+03_rb,1.7996e+03_rb,1.4397e+03_rb,1.0798e+03_rb, & &7.1985e+02_rb,3.5993e+02_rb,2.1216e+01_rb/) kao(:, 1, 9,12) = (/ & &4.4380e+02_rb,3.8832e+02_rb,3.3285e+02_rb,2.7737e+02_rb,2.2190e+02_rb,1.6642e+02_rb, & &1.1095e+02_rb,5.5475e+01_rb,2.3490e+01_rb/) kao(:, 2, 9,12) = (/ & &7.0869e+02_rb,6.2011e+02_rb,5.3152e+02_rb,4.4293e+02_rb,3.5435e+02_rb,2.6576e+02_rb, & &1.7717e+02_rb,8.8587e+01_rb,2.3505e+01_rb/) kao(:, 3, 9,12) = (/ & &1.0731e+03_rb,9.3894e+02_rb,8.0481e+02_rb,6.7067e+02_rb,5.3654e+02_rb,4.0240e+02_rb, & &2.6827e+02_rb,1.3414e+02_rb,2.3465e+01_rb/) kao(:, 4, 9,12) = (/ & &1.5496e+03_rb,1.3559e+03_rb,1.1622e+03_rb,9.6851e+02_rb,7.7481e+02_rb,5.8111e+02_rb, & &3.8741e+02_rb,1.9370e+02_rb,2.3379e+01_rb/) kao(:, 5, 9,12) = (/ & &2.1497e+03_rb,1.8810e+03_rb,1.6123e+03_rb,1.3436e+03_rb,1.0749e+03_rb,8.0615e+02_rb, & &5.3743e+02_rb,2.6872e+02_rb,2.3258e+01_rb/) kao(:, 1,10,12) = (/ & &3.0213e+02_rb,2.6436e+02_rb,2.2659e+02_rb,1.8883e+02_rb,1.5106e+02_rb,1.1330e+02_rb, & &7.5532e+01_rb,4.3106e+01_rb,2.5395e+01_rb/) kao(:, 2,10,12) = (/ & &4.9804e+02_rb,4.3578e+02_rb,3.7353e+02_rb,3.1127e+02_rb,2.4902e+02_rb,1.8676e+02_rb, & &1.2451e+02_rb,6.2505e+01_rb,2.5385e+01_rb/) kao(:, 3,10,12) = (/ & &7.7418e+02_rb,6.7741e+02_rb,5.8063e+02_rb,4.8386e+02_rb,3.8709e+02_rb,2.9032e+02_rb, & &1.9354e+02_rb,9.6773e+01_rb,2.5325e+01_rb/) kao(:, 4,10,12) = (/ & &1.1469e+03_rb,1.0035e+03_rb,8.6015e+02_rb,7.1679e+02_rb,5.7343e+02_rb,4.3007e+02_rb, & &2.8671e+02_rb,1.4336e+02_rb,2.5217e+01_rb/) kao(:, 5,10,12) = (/ & &1.6217e+03_rb,1.4190e+03_rb,1.2162e+03_rb,1.0135e+03_rb,8.1083e+02_rb,6.0812e+02_rb, & &4.0541e+02_rb,2.0271e+02_rb,2.5082e+01_rb/) kao(:, 1,11,12) = (/ & &2.6097e+02_rb,2.2835e+02_rb,1.9573e+02_rb,1.6311e+02_rb,1.3048e+02_rb,9.7863e+01_rb, & &6.5361e+01_rb,4.5364e+01_rb,2.6989e+01_rb/) kao(:, 2,11,12) = (/ & &4.3087e+02_rb,3.7701e+02_rb,3.2315e+02_rb,2.6929e+02_rb,2.1543e+02_rb,1.6158e+02_rb, & &1.0772e+02_rb,5.7754e+01_rb,2.6926e+01_rb/) kao(:, 3,11,12) = (/ & &6.7272e+02_rb,5.8863e+02_rb,5.0454e+02_rb,4.2045e+02_rb,3.3636e+02_rb,2.5227e+02_rb, & &1.6818e+02_rb,8.4156e+01_rb,2.6813e+01_rb/) kao(:, 4,11,12) = (/ & &9.9607e+02_rb,8.7156e+02_rb,7.4705e+02_rb,6.2254e+02_rb,4.9803e+02_rb,3.7353e+02_rb, & &2.4902e+02_rb,1.2451e+02_rb,2.6666e+01_rb/) kao(:, 5,11,12) = (/ & &1.4127e+03_rb,1.2361e+03_rb,1.0595e+03_rb,8.8291e+02_rb,7.0633e+02_rb,5.2975e+02_rb, & &3.5316e+02_rb,1.7658e+02_rb,2.6473e+01_rb/) kao(:, 1,12,12) = (/ & &2.2830e+02_rb,1.9976e+02_rb,1.7123e+02_rb,1.4269e+02_rb,1.1415e+02_rb,8.5613e+01_rb, & &6.0099e+01_rb,4.8249e+01_rb,2.8107e+01_rb/) kao(:, 2,12,12) = (/ & &3.7815e+02_rb,3.3089e+02_rb,2.8362e+02_rb,2.3635e+02_rb,1.8908e+02_rb,1.4181e+02_rb, & &9.4540e+01_rb,5.8332e+01_rb,2.7966e+01_rb/) kao(:, 3,12,12) = (/ & &5.9040e+02_rb,5.1660e+02_rb,4.4280e+02_rb,3.6900e+02_rb,2.9520e+02_rb,2.2140e+02_rb, & &1.4760e+02_rb,7.6746e+01_rb,2.7793e+01_rb/) kao(:, 4,12,12) = (/ & &8.7660e+02_rb,7.6702e+02_rb,6.5745e+02_rb,5.4787e+02_rb,4.3830e+02_rb,3.2873e+02_rb, & &2.1915e+02_rb,1.0959e+02_rb,2.7580e+01_rb/) kao(:, 5,12,12) = (/ & &1.2432e+03_rb,1.0878e+03_rb,9.3242e+02_rb,7.7702e+02_rb,6.2161e+02_rb,4.6621e+02_rb, & &3.1081e+02_rb,1.5540e+02_rb,2.7330e+01_rb/) kao(:, 1,13,12) = (/ & &2.0770e+02_rb,1.8173e+02_rb,1.5577e+02_rb,1.2981e+02_rb,1.0385e+02_rb,7.8129e+01_rb, & &6.0586e+01_rb,5.1072e+01_rb,2.8383e+01_rb/) kao(:, 2,13,12) = (/ & &3.4420e+02_rb,3.0118e+02_rb,2.5815e+02_rb,2.1513e+02_rb,1.7210e+02_rb,1.2908e+02_rb, & &8.7185e+01_rb,6.1802e+01_rb,2.8222e+01_rb/) kao(:, 3,13,12) = (/ & &5.3871e+02_rb,4.7137e+02_rb,4.0403e+02_rb,3.3670e+02_rb,2.6936e+02_rb,2.0202e+02_rb, & &1.3468e+02_rb,7.6219e+01_rb,2.8010e+01_rb/) kao(:, 4,13,12) = (/ & &7.9982e+02_rb,6.9985e+02_rb,5.9987e+02_rb,4.9989e+02_rb,3.9991e+02_rb,2.9994e+02_rb, & &1.9996e+02_rb,1.0196e+02_rb,2.7782e+01_rb/) kao(:, 5,13,12) = (/ & &1.1353e+03_rb,9.9341e+02_rb,8.5150e+02_rb,7.0958e+02_rb,5.6767e+02_rb,4.2575e+02_rb, & &2.8384e+02_rb,1.4192e+02_rb,2.7521e+01_rb/) kao(:, 1, 1,13) = (/ & &1.0877e+04_rb,9.5175e+03_rb,8.1579e+03_rb,6.7982e+03_rb,5.4386e+03_rb,4.0789e+03_rb, & &2.7193e+03_rb,1.3596e+03_rb,2.7375e-03_rb/) kao(:, 2, 1,13) = (/ & &1.4140e+04_rb,1.2372e+04_rb,1.0605e+04_rb,8.8373e+03_rb,7.0699e+03_rb,5.3024e+03_rb, & &3.5349e+03_rb,1.7675e+03_rb,2.6515e-03_rb/) kao(:, 3, 1,13) = (/ & &1.7904e+04_rb,1.5666e+04_rb,1.3428e+04_rb,1.1190e+04_rb,8.9519e+03_rb,6.7139e+03_rb, & &4.4759e+03_rb,2.2380e+03_rb,3.8993e-02_rb/) kao(:, 4, 1,13) = (/ & &2.2059e+04_rb,1.9302e+04_rb,1.6544e+04_rb,1.3787e+04_rb,1.1029e+04_rb,8.2721e+03_rb, & &5.5147e+03_rb,2.7574e+03_rb,9.2576e-02_rb/) kao(:, 5, 1,13) = (/ & &2.6544e+04_rb,2.3226e+04_rb,1.9908e+04_rb,1.6590e+04_rb,1.3272e+04_rb,9.9541e+03_rb, & &6.6361e+03_rb,3.3180e+03_rb,1.0695e-01_rb/) kao(:, 1, 2,13) = (/ & &9.6500e+03_rb,8.4437e+03_rb,7.2375e+03_rb,6.0312e+03_rb,4.8250e+03_rb,3.6187e+03_rb, & &2.4125e+03_rb,1.2062e+03_rb,3.2200e-01_rb/) kao(:, 2, 2,13) = (/ & &1.2735e+04_rb,1.1143e+04_rb,9.5512e+03_rb,7.9593e+03_rb,6.3674e+03_rb,4.7756e+03_rb, & &3.1837e+03_rb,1.5919e+03_rb,5.1280e+00_rb/) kao(:, 3, 2,13) = (/ & &1.6244e+04_rb,1.4213e+04_rb,1.2183e+04_rb,1.0152e+04_rb,8.1218e+03_rb,6.0913e+03_rb, & &4.0609e+03_rb,2.0304e+03_rb,7.4252e+00_rb/) kao(:, 4, 2,13) = (/ & &2.0224e+04_rb,1.7696e+04_rb,1.5168e+04_rb,1.2640e+04_rb,1.0112e+04_rb,7.5839e+03_rb, & &5.0559e+03_rb,2.5280e+03_rb,7.7282e+00_rb/) kao(:, 5, 2,13) = (/ & &2.4645e+04_rb,2.1565e+04_rb,1.8484e+04_rb,1.5403e+04_rb,1.2323e+04_rb,9.2420e+03_rb, & &6.1614e+03_rb,3.0807e+03_rb,7.1576e+00_rb/) kao(:, 1, 3,13) = (/ & &7.8601e+03_rb,6.8776e+03_rb,5.8951e+03_rb,4.9126e+03_rb,3.9300e+03_rb,2.9475e+03_rb, & &1.9650e+03_rb,9.8251e+02_rb,1.2409e+01_rb/) kao(:, 2, 3,13) = (/ & &1.0573e+04_rb,9.2512e+03_rb,7.9296e+03_rb,6.6080e+03_rb,5.2864e+03_rb,3.9648e+03_rb, & &2.6432e+03_rb,1.3216e+03_rb,1.2422e+01_rb/) kao(:, 3, 3,13) = (/ & &1.3794e+04_rb,1.2070e+04_rb,1.0346e+04_rb,8.6214e+03_rb,6.8971e+03_rb,5.1729e+03_rb, & &3.4486e+03_rb,1.7243e+03_rb,1.2413e+01_rb/) kao(:, 4, 3,13) = (/ & &1.7502e+04_rb,1.5315e+04_rb,1.3127e+04_rb,1.0939e+04_rb,8.7512e+03_rb,6.5634e+03_rb, & &4.3756e+03_rb,2.1878e+03_rb,1.2394e+01_rb/) kao(:, 5, 3,13) = (/ & &2.1662e+04_rb,1.8954e+04_rb,1.6247e+04_rb,1.3539e+04_rb,1.0831e+04_rb,8.1233e+03_rb, & &5.4155e+03_rb,2.7078e+03_rb,1.2358e+01_rb/) kao(:, 1, 4,13) = (/ & &6.0906e+03_rb,5.3293e+03_rb,4.5680e+03_rb,3.8067e+03_rb,3.0453e+03_rb,2.2840e+03_rb, & &1.5227e+03_rb,7.6133e+02_rb,1.4627e+01_rb/) kao(:, 2, 4,13) = (/ & &8.4475e+03_rb,7.3915e+03_rb,6.3356e+03_rb,5.2797e+03_rb,4.2237e+03_rb,3.1678e+03_rb, & &2.1119e+03_rb,1.0559e+03_rb,1.4656e+01_rb/) kao(:, 3, 4,13) = (/ & &1.1299e+04_rb,9.8868e+03_rb,8.4744e+03_rb,7.0620e+03_rb,5.6496e+03_rb,4.2372e+03_rb, & &2.8248e+03_rb,1.4124e+03_rb,1.4666e+01_rb/) kao(:, 4, 4,13) = (/ & &1.4605e+04_rb,1.2779e+04_rb,1.0954e+04_rb,9.1282e+03_rb,7.3025e+03_rb,5.4769e+03_rb, & &3.6513e+03_rb,1.8256e+03_rb,1.4645e+01_rb/) kao(:, 5, 4,13) = (/ & &1.8360e+04_rb,1.6065e+04_rb,1.3770e+04_rb,1.1475e+04_rb,9.1801e+03_rb,6.8851e+03_rb, & &4.5900e+03_rb,2.2950e+03_rb,1.4604e+01_rb/) kao(:, 1, 5,13) = (/ & &4.6024e+03_rb,4.0271e+03_rb,3.4518e+03_rb,2.8765e+03_rb,2.3012e+03_rb,1.7259e+03_rb, & &1.1506e+03_rb,5.7529e+02_rb,1.7191e+01_rb/) kao(:, 2, 5,13) = (/ & &6.5855e+03_rb,5.7623e+03_rb,4.9391e+03_rb,4.1159e+03_rb,3.2927e+03_rb,2.4695e+03_rb, & &1.6464e+03_rb,8.2318e+02_rb,1.7235e+01_rb/) kao(:, 3, 5,13) = (/ & &8.9962e+03_rb,7.8717e+03_rb,6.7471e+03_rb,5.6226e+03_rb,4.4981e+03_rb,3.3736e+03_rb, & &2.2490e+03_rb,1.1245e+03_rb,1.7249e+01_rb/) kao(:, 4, 5,13) = (/ & &1.1873e+04_rb,1.0388e+04_rb,8.9044e+03_rb,7.4203e+03_rb,5.9363e+03_rb,4.4522e+03_rb, & &2.9681e+03_rb,1.4841e+03_rb,1.7236e+01_rb/) kao(:, 5, 5,13) = (/ & &1.5203e+04_rb,1.3303e+04_rb,1.1402e+04_rb,9.5020e+03_rb,7.6016e+03_rb,5.7012e+03_rb, & &3.8008e+03_rb,1.9004e+03_rb,1.7202e+01_rb/) kao(:, 1, 6,13) = (/ & &3.3402e+03_rb,2.9227e+03_rb,2.5052e+03_rb,2.0876e+03_rb,1.6701e+03_rb,1.2526e+03_rb, & &8.3506e+02_rb,4.1753e+02_rb,2.0086e+01_rb/) kao(:, 2, 6,13) = (/ & &4.9170e+03_rb,4.3024e+03_rb,3.6877e+03_rb,3.0731e+03_rb,2.4585e+03_rb,1.8439e+03_rb, & &1.2292e+03_rb,6.1462e+02_rb,2.0160e+01_rb/) kao(:, 3, 6,13) = (/ & &6.9136e+03_rb,6.0494e+03_rb,5.1852e+03_rb,4.3210e+03_rb,3.4568e+03_rb,2.5926e+03_rb, & &1.7284e+03_rb,8.6420e+02_rb,2.0194e+01_rb/) kao(:, 4, 6,13) = (/ & &9.3499e+03_rb,8.1811e+03_rb,7.0124e+03_rb,5.8437e+03_rb,4.6749e+03_rb,3.5062e+03_rb, & &2.3375e+03_rb,1.1687e+03_rb,2.0186e+01_rb/) kao(:, 5, 6,13) = (/ & &1.2234e+04_rb,1.0705e+04_rb,9.1755e+03_rb,7.6462e+03_rb,6.1170e+03_rb,4.5877e+03_rb, & &3.0585e+03_rb,1.5292e+03_rb,2.0149e+01_rb/) kao(:, 1, 7,13) = (/ & &2.3634e+03_rb,2.0680e+03_rb,1.7726e+03_rb,1.4771e+03_rb,1.1817e+03_rb,8.8628e+02_rb, & &5.9086e+02_rb,2.9543e+02_rb,2.3318e+01_rb/) kao(:, 2, 7,13) = (/ & &3.6109e+03_rb,3.1596e+03_rb,2.7082e+03_rb,2.2568e+03_rb,1.8055e+03_rb,1.3541e+03_rb, & &9.0273e+02_rb,4.5136e+02_rb,2.3426e+01_rb/) kao(:, 3, 7,13) = (/ & &5.2430e+03_rb,4.5876e+03_rb,3.9322e+03_rb,3.2769e+03_rb,2.6215e+03_rb,1.9661e+03_rb, & &1.3107e+03_rb,6.5537e+02_rb,2.3476e+01_rb/) kao(:, 4, 7,13) = (/ & &7.2754e+03_rb,6.3660e+03_rb,5.4565e+03_rb,4.5471e+03_rb,3.6377e+03_rb,2.7283e+03_rb, & &1.8188e+03_rb,9.0942e+02_rb,2.3476e+01_rb/) kao(:, 5, 7,13) = (/ & &9.7107e+03_rb,8.4968e+03_rb,7.2830e+03_rb,6.0691e+03_rb,4.8553e+03_rb,3.6415e+03_rb, & &2.4276e+03_rb,1.2138e+03_rb,2.3445e+01_rb/) kao(:, 1, 8,13) = (/ & &1.6675e+03_rb,1.4591e+03_rb,1.2506e+03_rb,1.0422e+03_rb,8.3375e+02_rb,6.2531e+02_rb, & &4.1687e+02_rb,2.0844e+02_rb,2.6870e+01_rb/) kao(:, 2, 8,13) = (/ & &2.6544e+03_rb,2.3226e+03_rb,1.9908e+03_rb,1.6590e+03_rb,1.3272e+03_rb,9.9538e+02_rb, & &6.6359e+02_rb,3.3179e+02_rb,2.6998e+01_rb/) kao(:, 3, 8,13) = (/ & &3.9767e+03_rb,3.4797e+03_rb,2.9826e+03_rb,2.4855e+03_rb,1.9884e+03_rb,1.4913e+03_rb, & &9.9419e+02_rb,4.9709e+02_rb,2.7066e+01_rb/) kao(:, 4, 8,13) = (/ & &5.6620e+03_rb,4.9542e+03_rb,4.2465e+03_rb,3.5387e+03_rb,2.8310e+03_rb,2.1232e+03_rb, & &1.4155e+03_rb,7.0775e+02_rb,2.7083e+01_rb/) kao(:, 5, 8,13) = (/ & &7.7334e+03_rb,6.7667e+03_rb,5.8000e+03_rb,4.8334e+03_rb,3.8667e+03_rb,2.9000e+03_rb, & &1.9333e+03_rb,9.6667e+02_rb,2.7049e+01_rb/) kao(:, 1, 9,13) = (/ & &1.1358e+03_rb,9.9378e+02_rb,8.5181e+02_rb,7.0984e+02_rb,5.6787e+02_rb,4.2591e+02_rb, & &2.8394e+02_rb,1.4197e+02_rb,3.0678e+01_rb/) kao(:, 2, 9,13) = (/ & &1.8861e+03_rb,1.6503e+03_rb,1.4146e+03_rb,1.1788e+03_rb,9.4305e+02_rb,7.0729e+02_rb, & &4.7153e+02_rb,2.3576e+02_rb,3.0840e+01_rb/) kao(:, 3, 9,13) = (/ & &2.9209e+03_rb,2.5558e+03_rb,2.1907e+03_rb,1.8256e+03_rb,1.4605e+03_rb,1.0953e+03_rb, & &7.3023e+02_rb,3.6511e+02_rb,3.0929e+01_rb/) kao(:, 4, 9,13) = (/ & &4.2847e+03_rb,3.7491e+03_rb,3.2135e+03_rb,2.6779e+03_rb,2.1424e+03_rb,1.6068e+03_rb, & &1.0712e+03_rb,5.3559e+02_rb,3.0953e+01_rb/) kao(:, 5, 9,13) = (/ & &6.0053e+03_rb,5.2546e+03_rb,4.5040e+03_rb,3.7533e+03_rb,3.0026e+03_rb,2.2520e+03_rb, & &1.5013e+03_rb,7.5066e+02_rb,3.0913e+01_rb/) kao(:, 1,10,13) = (/ & &7.8733e+02_rb,6.8892e+02_rb,5.9050e+02_rb,4.9208e+02_rb,3.9366e+02_rb,2.9525e+02_rb, & &1.9683e+02_rb,9.8416e+01_rb,3.4699e+01_rb/) kao(:, 2,10,13) = (/ & &1.3543e+03_rb,1.1850e+03_rb,1.0157e+03_rb,8.4641e+02_rb,6.7713e+02_rb,5.0785e+02_rb, & &3.3856e+02_rb,1.6928e+02_rb,3.4872e+01_rb/) kao(:, 3,10,13) = (/ & &2.1695e+03_rb,1.8983e+03_rb,1.6271e+03_rb,1.3559e+03_rb,1.0848e+03_rb,8.1356e+02_rb, & &5.4238e+02_rb,2.7119e+02_rb,3.4962e+01_rb/) kao(:, 4,10,13) = (/ & &3.2703e+03_rb,2.8615e+03_rb,2.4527e+03_rb,2.0439e+03_rb,1.6351e+03_rb,1.2263e+03_rb, & &8.1756e+02_rb,4.0878e+02_rb,3.4974e+01_rb/) kao(:, 5,10,13) = (/ & &4.6791e+03_rb,4.0942e+03_rb,3.5093e+03_rb,2.9244e+03_rb,2.3395e+03_rb,1.7546e+03_rb, & &1.1698e+03_rb,5.8488e+02_rb,3.4915e+01_rb/) kao(:, 1,11,13) = (/ & &7.0254e+02_rb,6.1472e+02_rb,5.2690e+02_rb,4.3908e+02_rb,3.5127e+02_rb,2.6345e+02_rb, & &1.7563e+02_rb,8.8441e+01_rb,3.8867e+01_rb/) kao(:, 2,11,13) = (/ & &1.2148e+03_rb,1.0630e+03_rb,9.1111e+02_rb,7.5926e+02_rb,6.0740e+02_rb,4.5555e+02_rb, & &3.0370e+02_rb,1.5185e+02_rb,3.8999e+01_rb/) kao(:, 3,11,13) = (/ & &1.9474e+03_rb,1.7040e+03_rb,1.4606e+03_rb,1.2171e+03_rb,9.7371e+02_rb,7.3028e+02_rb, & &4.8685e+02_rb,2.4343e+02_rb,3.9046e+01_rb/) kao(:, 4,11,13) = (/ & &2.9354e+03_rb,2.5684e+03_rb,2.2015e+03_rb,1.8346e+03_rb,1.4677e+03_rb,1.1008e+03_rb, & &7.3384e+02_rb,3.6692e+02_rb,3.9009e+01_rb/) kao(:, 5,11,13) = (/ & &4.2118e+03_rb,3.6853e+03_rb,3.1589e+03_rb,2.6324e+03_rb,2.1059e+03_rb,1.5794e+03_rb, & &1.0529e+03_rb,5.2647e+02_rb,3.8898e+01_rb/) kao(:, 1,12,13) = (/ & &6.3490e+02_rb,5.5553e+02_rb,4.7617e+02_rb,3.9681e+02_rb,3.1745e+02_rb,2.3809e+02_rb, & &1.5872e+02_rb,8.3817e+01_rb,4.2920e+01_rb/) kao(:, 2,12,13) = (/ & &1.0964e+03_rb,9.5936e+02_rb,8.2231e+02_rb,6.8526e+02_rb,5.4821e+02_rb,4.1116e+02_rb, & &2.7410e+02_rb,1.3705e+02_rb,4.3006e+01_rb/) kao(:, 3,12,13) = (/ & &1.7602e+03_rb,1.5402e+03_rb,1.3202e+03_rb,1.1001e+03_rb,8.8010e+02_rb,6.6008e+02_rb, & &4.4005e+02_rb,2.2003e+02_rb,4.2996e+01_rb/) kao(:, 4,12,13) = (/ & &2.6586e+03_rb,2.3263e+03_rb,1.9940e+03_rb,1.6616e+03_rb,1.3293e+03_rb,9.9698e+02_rb, & &6.6465e+02_rb,3.3233e+02_rb,4.2901e+01_rb/) kao(:, 5,12,13) = (/ & &3.8091e+03_rb,3.3329e+03_rb,2.8568e+03_rb,2.3807e+03_rb,1.9045e+03_rb,1.4284e+03_rb, & &9.5227e+02_rb,4.7613e+02_rb,4.2723e+01_rb/) kao(:, 1,13,13) = (/ & &5.9158e+02_rb,5.1763e+02_rb,4.4368e+02_rb,3.6974e+02_rb,2.9579e+02_rb,2.2184e+02_rb, & &1.4790e+02_rb,8.4889e+01_rb,4.6678e+01_rb/) kao(:, 2,13,13) = (/ & &1.0244e+03_rb,8.9631e+02_rb,7.6827e+02_rb,6.4022e+02_rb,5.1218e+02_rb,3.8414e+02_rb, & &2.5609e+02_rb,1.2940e+02_rb,4.6683e+01_rb/) kao(:, 3,13,13) = (/ & &1.6452e+03_rb,1.4395e+03_rb,1.2339e+03_rb,1.0282e+03_rb,8.2259e+02_rb,6.1694e+02_rb, & &4.1130e+02_rb,2.0565e+02_rb,4.6592e+01_rb/) kao(:, 4,13,13) = (/ & &2.4841e+03_rb,2.1736e+03_rb,1.8631e+03_rb,1.5526e+03_rb,1.2421e+03_rb,9.3154e+02_rb, & &6.2103e+02_rb,3.1052e+02_rb,4.6412e+01_rb/) kao(:, 5,13,13) = (/ & &3.5669e+03_rb,3.1210e+03_rb,2.6752e+03_rb,2.2293e+03_rb,1.7834e+03_rb,1.3376e+03_rb, & &8.9172e+02_rb,4.4586e+02_rb,4.6169e+01_rb/) kao(:, 1, 1,14) = (/ & &2.0814e+04_rb,1.8212e+04_rb,1.5610e+04_rb,1.3008e+04_rb,1.0407e+04_rb,7.8051e+03_rb, & &5.2034e+03_rb,2.6017e+03_rb,4.7014e-03_rb/) kao(:, 2, 1,14) = (/ & &2.6951e+04_rb,2.3582e+04_rb,2.0213e+04_rb,1.6844e+04_rb,1.3475e+04_rb,1.0107e+04_rb, & &6.7377e+03_rb,3.3688e+03_rb,6.0711e-03_rb/) kao(:, 3, 1,14) = (/ & &3.3875e+04_rb,2.9641e+04_rb,2.5406e+04_rb,2.1172e+04_rb,1.6938e+04_rb,1.2703e+04_rb, & &8.4688e+03_rb,4.2344e+03_rb,2.5176e-02_rb/) kao(:, 4, 1,14) = (/ & &4.1606e+04_rb,3.6405e+04_rb,3.1205e+04_rb,2.6004e+04_rb,2.0803e+04_rb,1.5602e+04_rb, & &1.0402e+04_rb,5.2008e+03_rb,1.0468e-01_rb/) kao(:, 5, 1,14) = (/ & &5.0069e+04_rb,4.3810e+04_rb,3.7551e+04_rb,3.1293e+04_rb,2.5034e+04_rb,1.8776e+04_rb, & &1.2517e+04_rb,6.2586e+03_rb,1.0717e-01_rb/) kao(:, 1, 2,14) = (/ & &1.9736e+04_rb,1.7269e+04_rb,1.4802e+04_rb,1.2335e+04_rb,9.8681e+03_rb,7.4011e+03_rb, & &4.9341e+03_rb,2.4670e+03_rb,1.4424e-01_rb/) kao(:, 2, 2,14) = (/ & &2.5938e+04_rb,2.2696e+04_rb,1.9454e+04_rb,1.6211e+04_rb,1.2969e+04_rb,9.7268e+03_rb, & &6.4845e+03_rb,3.2423e+03_rb,5.4893e+00_rb/) kao(:, 3, 2,14) = (/ & &3.3117e+04_rb,2.8978e+04_rb,2.4838e+04_rb,2.0698e+04_rb,1.6559e+04_rb,1.2419e+04_rb, & &8.2793e+03_rb,4.1397e+03_rb,6.5583e+00_rb/) kao(:, 4, 2,14) = (/ & &4.1192e+04_rb,3.6043e+04_rb,3.0894e+04_rb,2.5745e+04_rb,2.0596e+04_rb,1.5447e+04_rb, & &1.0298e+04_rb,5.1490e+03_rb,7.2955e+00_rb/) kao(:, 5, 2,14) = (/ & &5.0084e+04_rb,4.3824e+04_rb,3.7563e+04_rb,3.1303e+04_rb,2.5042e+04_rb,1.8782e+04_rb, & &1.2521e+04_rb,6.2605e+03_rb,4.5976e+00_rb/) kao(:, 1, 3,14) = (/ & &1.7352e+04_rb,1.5183e+04_rb,1.3014e+04_rb,1.0845e+04_rb,8.6759e+03_rb,6.5069e+03_rb, & &4.3379e+03_rb,2.1690e+03_rb,1.3353e+01_rb/) kao(:, 2, 3,14) = (/ & &2.3378e+04_rb,2.0456e+04_rb,1.7533e+04_rb,1.4611e+04_rb,1.1689e+04_rb,8.7667e+03_rb, & &5.8445e+03_rb,2.9222e+03_rb,1.3389e+01_rb/) kao(:, 3, 3,14) = (/ & &3.0448e+04_rb,2.6642e+04_rb,2.2836e+04_rb,1.9030e+04_rb,1.5224e+04_rb,1.1418e+04_rb, & &7.6119e+03_rb,3.8060e+03_rb,1.3397e+01_rb/) kao(:, 4, 3,14) = (/ & &3.8507e+04_rb,3.3693e+04_rb,2.8880e+04_rb,2.4067e+04_rb,1.9253e+04_rb,1.4440e+04_rb, & &9.6266e+03_rb,4.8133e+03_rb,1.3385e+01_rb/) kao(:, 5, 3,14) = (/ & &4.7469e+04_rb,4.1535e+04_rb,3.5602e+04_rb,2.9668e+04_rb,2.3734e+04_rb,1.7801e+04_rb, & &1.1867e+04_rb,5.9336e+03_rb,1.3346e+01_rb/) kao(:, 1, 4,14) = (/ & &1.4631e+04_rb,1.2802e+04_rb,1.0973e+04_rb,9.1445e+03_rb,7.3156e+03_rb,5.4867e+03_rb, & &3.6578e+03_rb,1.8289e+03_rb,1.5943e+01_rb/) kao(:, 2, 4,14) = (/ & &2.0262e+04_rb,1.7729e+04_rb,1.5197e+04_rb,1.2664e+04_rb,1.0131e+04_rb,7.5983e+03_rb, & &5.0655e+03_rb,2.5328e+03_rb,1.6007e+01_rb/) kao(:, 3, 4,14) = (/ & &2.6988e+04_rb,2.3615e+04_rb,2.0241e+04_rb,1.6868e+04_rb,1.3494e+04_rb,1.0121e+04_rb, & &6.7470e+03_rb,3.3735e+03_rb,1.6031e+01_rb/) kao(:, 4, 4,14) = (/ & &3.4853e+04_rb,3.0497e+04_rb,2.6140e+04_rb,2.1783e+04_rb,1.7427e+04_rb,1.3070e+04_rb, & &8.7133e+03_rb,4.3567e+03_rb,1.6028e+01_rb/) kao(:, 5, 4,14) = (/ & &4.3821e+04_rb,3.8343e+04_rb,3.2866e+04_rb,2.7388e+04_rb,2.1910e+04_rb,1.6433e+04_rb, & &1.0955e+04_rb,5.4776e+03_rb,1.6009e+01_rb/) kao(:, 1, 5,14) = (/ & &1.2010e+04_rb,1.0509e+04_rb,9.0077e+03_rb,7.5064e+03_rb,6.0051e+03_rb,4.5038e+03_rb, & &3.0026e+03_rb,1.5013e+03_rb,1.9009e+01_rb/) kao(:, 2, 5,14) = (/ & &1.7127e+04_rb,1.4986e+04_rb,1.2846e+04_rb,1.0705e+04_rb,8.5637e+03_rb,6.4228e+03_rb, & &4.2818e+03_rb,2.1409e+03_rb,1.9111e+01_rb/) kao(:, 3, 5,14) = (/ & &2.3449e+04_rb,2.0517e+04_rb,1.7586e+04_rb,1.4655e+04_rb,1.1724e+04_rb,8.7932e+03_rb, & &5.8621e+03_rb,2.9311e+03_rb,1.9171e+01_rb/) kao(:, 4, 5,14) = (/ & &3.0924e+04_rb,2.7059e+04_rb,2.3193e+04_rb,1.9328e+04_rb,1.5462e+04_rb,1.1597e+04_rb, & &7.7310e+03_rb,3.8655e+03_rb,1.9184e+01_rb/) kao(:, 5, 5,14) = (/ & &3.9495e+04_rb,3.4558e+04_rb,2.9621e+04_rb,2.4684e+04_rb,1.9748e+04_rb,1.4811e+04_rb, & &9.8738e+03_rb,4.9369e+03_rb,1.9172e+01_rb/) kao(:, 1, 6,14) = (/ & &9.4628e+03_rb,8.2800e+03_rb,7.0971e+03_rb,5.9142e+03_rb,4.7314e+03_rb,3.5485e+03_rb, & &2.3657e+03_rb,1.1828e+03_rb,2.2644e+01_rb/) kao(:, 2, 6,14) = (/ & &1.3981e+04_rb,1.2233e+04_rb,1.0486e+04_rb,8.7381e+03_rb,6.9905e+03_rb,5.2429e+03_rb, & &3.4952e+03_rb,1.7476e+03_rb,2.2781e+01_rb/) kao(:, 3, 6,14) = (/ & &1.9648e+04_rb,1.7192e+04_rb,1.4736e+04_rb,1.2280e+04_rb,9.8239e+03_rb,7.3679e+03_rb, & &4.9119e+03_rb,2.4560e+03_rb,2.2869e+01_rb/) kao(:, 4, 6,14) = (/ & &2.6483e+04_rb,2.3173e+04_rb,1.9862e+04_rb,1.6552e+04_rb,1.3242e+04_rb,9.9312e+03_rb, & &6.6208e+03_rb,3.3104e+03_rb,2.2915e+01_rb/) kao(:, 5, 6,14) = (/ & &3.4470e+04_rb,3.0161e+04_rb,2.5853e+04_rb,2.1544e+04_rb,1.7235e+04_rb,1.2926e+04_rb, & &8.6175e+03_rb,4.3088e+03_rb,2.2923e+01_rb/) kao(:, 1, 7,14) = (/ & &7.3078e+03_rb,6.3943e+03_rb,5.4808e+03_rb,4.5673e+03_rb,3.6539e+03_rb,2.7404e+03_rb, & &1.8269e+03_rb,9.1346e+02_rb,2.6896e+01_rb/) kao(:, 2, 7,14) = (/ & &1.1178e+04_rb,9.7811e+03_rb,8.3838e+03_rb,6.9865e+03_rb,5.5892e+03_rb,4.1919e+03_rb, & &2.7946e+03_rb,1.3973e+03_rb,2.7090e+01_rb/) kao(:, 3, 7,14) = (/ & &1.6168e+04_rb,1.4147e+04_rb,1.2126e+04_rb,1.0105e+04_rb,8.0839e+03_rb,6.0629e+03_rb, & &4.0420e+03_rb,2.0210e+03_rb,2.7221e+01_rb/) kao(:, 4, 7,14) = (/ & &2.2360e+04_rb,1.9565e+04_rb,1.6770e+04_rb,1.3975e+04_rb,1.1180e+04_rb,8.3848e+03_rb, & &5.5899e+03_rb,2.7949e+03_rb,2.7298e+01_rb/) kao(:, 5, 7,14) = (/ & &2.9827e+04_rb,2.6099e+04_rb,2.2370e+04_rb,1.8642e+04_rb,1.4913e+04_rb,1.1185e+04_rb, & &7.4567e+03_rb,3.7283e+03_rb,2.7315e+01_rb/) kao(:, 1, 8,14) = (/ & &5.5945e+03_rb,4.8952e+03_rb,4.1959e+03_rb,3.4966e+03_rb,2.7972e+03_rb,2.0979e+03_rb, & &1.3986e+03_rb,6.9931e+02_rb,3.1842e+01_rb/) kao(:, 2, 8,14) = (/ & &8.8907e+03_rb,7.7794e+03_rb,6.6680e+03_rb,5.5567e+03_rb,4.4454e+03_rb,3.3340e+03_rb, & &2.2227e+03_rb,1.1113e+03_rb,3.2101e+01_rb/) kao(:, 3, 8,14) = (/ & &1.3296e+04_rb,1.1634e+04_rb,9.9724e+03_rb,8.3103e+03_rb,6.6483e+03_rb,4.9862e+03_rb, & &3.3241e+03_rb,1.6621e+03_rb,3.2282e+01_rb/) kao(:, 4, 8,14) = (/ & &1.8955e+04_rb,1.6586e+04_rb,1.4216e+04_rb,1.1847e+04_rb,9.4776e+03_rb,7.1082e+03_rb, & &4.7388e+03_rb,2.3694e+03_rb,3.2388e+01_rb/) kao(:, 5, 8,14) = (/ & &2.5906e+04_rb,2.2668e+04_rb,1.9430e+04_rb,1.6191e+04_rb,1.2953e+04_rb,9.7149e+03_rb, & &6.4766e+03_rb,3.2383e+03_rb,3.2425e+01_rb/) kao(:, 1, 9,14) = (/ & &4.1067e+03_rb,3.5934e+03_rb,3.0800e+03_rb,2.5667e+03_rb,2.0533e+03_rb,1.5400e+03_rb, & &1.0267e+03_rb,5.1334e+02_rb,3.7521e+01_rb/) kao(:, 2, 9,14) = (/ & &6.8230e+03_rb,5.9701e+03_rb,5.1172e+03_rb,4.2644e+03_rb,3.4115e+03_rb,2.5586e+03_rb, & &1.7057e+03_rb,8.5287e+02_rb,3.7865e+01_rb/) kao(:, 3, 9,14) = (/ & &1.0614e+04_rb,9.2875e+03_rb,7.9607e+03_rb,6.6339e+03_rb,5.3071e+03_rb,3.9804e+03_rb, & &2.6536e+03_rb,1.3268e+03_rb,3.8104e+01_rb/) kao(:, 4, 9,14) = (/ & &1.5585e+04_rb,1.3637e+04_rb,1.1689e+04_rb,9.7408e+03_rb,7.7926e+03_rb,5.8445e+03_rb, & &3.8963e+03_rb,1.9481e+03_rb,3.8251e+01_rb/) kao(:, 5, 9,14) = (/ & &2.1772e+04_rb,1.9051e+04_rb,1.6329e+04_rb,1.3608e+04_rb,1.0886e+04_rb,8.1646e+03_rb, & &5.4430e+03_rb,2.7215e+03_rb,3.8308e+01_rb/) kao(:, 1,10,14) = (/ & &3.0498e+03_rb,2.6686e+03_rb,2.2874e+03_rb,1.9061e+03_rb,1.5249e+03_rb,1.1437e+03_rb, & &7.6245e+02_rb,3.8122e+02_rb,4.4006e+01_rb/) kao(:, 2,10,14) = (/ & &5.3046e+03_rb,4.6415e+03_rb,3.9785e+03_rb,3.3154e+03_rb,2.6523e+03_rb,1.9892e+03_rb, & &1.3261e+03_rb,6.6307e+02_rb,4.4440e+01_rb/) kao(:, 3,10,14) = (/ & &8.5201e+03_rb,7.4551e+03_rb,6.3901e+03_rb,5.3250e+03_rb,4.2600e+03_rb,3.1950e+03_rb, & &2.1300e+03_rb,1.0650e+03_rb,4.4746e+01_rb/) kao(:, 4,10,14) = (/ & &1.2818e+04_rb,1.1216e+04_rb,9.6138e+03_rb,8.0115e+03_rb,6.4092e+03_rb,4.8069e+03_rb, & &3.2046e+03_rb,1.6023e+03_rb,4.4928e+01_rb/) kao(:, 5,10,14) = (/ & &1.8340e+04_rb,1.6048e+04_rb,1.3755e+04_rb,1.1463e+04_rb,9.1701e+03_rb,6.8776e+03_rb, & &4.5851e+03_rb,2.2925e+03_rb,4.5005e+01_rb/) kao(:, 1,11,14) = (/ & &2.9434e+03_rb,2.5755e+03_rb,2.2076e+03_rb,1.8396e+03_rb,1.4717e+03_rb,1.1038e+03_rb, & &7.3585e+02_rb,3.6793e+02_rb,5.1570e+01_rb/) kao(:, 2,11,14) = (/ & &5.1056e+03_rb,4.4674e+03_rb,3.8292e+03_rb,3.1910e+03_rb,2.5528e+03_rb,1.9146e+03_rb, & &1.2764e+03_rb,6.3819e+02_rb,5.2012e+01_rb/) kao(:, 3,11,14) = (/ & &8.1976e+03_rb,7.1728e+03_rb,6.1481e+03_rb,5.1234e+03_rb,4.0987e+03_rb,3.0741e+03_rb, & &2.0494e+03_rb,1.0247e+03_rb,5.2312e+01_rb/) kao(:, 4,11,14) = (/ & &1.2377e+04_rb,1.0830e+04_rb,9.2826e+03_rb,7.7355e+03_rb,6.1884e+03_rb,4.6413e+03_rb, & &3.0942e+03_rb,1.5471e+03_rb,5.2478e+01_rb/) kao(:, 5,11,14) = (/ & &1.7764e+04_rb,1.5544e+04_rb,1.3323e+04_rb,1.1103e+04_rb,8.8820e+03_rb,6.6616e+03_rb, & &4.4410e+03_rb,2.2205e+03_rb,5.2507e+01_rb/) kao(:, 1,12,14) = (/ & &2.8315e+03_rb,2.4776e+03_rb,2.1237e+03_rb,1.7697e+03_rb,1.4158e+03_rb,1.0618e+03_rb, & &7.0789e+02_rb,3.5394e+02_rb,5.9960e+01_rb/) kao(:, 2,12,14) = (/ & &4.9224e+03_rb,4.3071e+03_rb,3.6918e+03_rb,3.0765e+03_rb,2.4612e+03_rb,1.8459e+03_rb, & &1.2306e+03_rb,6.1530e+02_rb,6.0405e+01_rb/) kao(:, 3,12,14) = (/ & &7.9376e+03_rb,6.9454e+03_rb,5.9532e+03_rb,4.9610e+03_rb,3.9688e+03_rb,2.9766e+03_rb, & &1.9844e+03_rb,9.9220e+02_rb,6.0667e+01_rb/) kao(:, 4,12,14) = (/ & &1.2004e+04_rb,1.0504e+04_rb,9.0032e+03_rb,7.5027e+03_rb,6.0021e+03_rb,4.5016e+03_rb, & &3.0011e+03_rb,1.5005e+03_rb,6.0769e+01_rb/) kao(:, 5,12,14) = (/ & &1.7211e+04_rb,1.5059e+04_rb,1.2908e+04_rb,1.0757e+04_rb,8.6054e+03_rb,6.4541e+03_rb, & &4.3027e+03_rb,2.1514e+03_rb,6.0741e+01_rb/) kao(:, 1,13,14) = (/ & &2.8060e+03_rb,2.4552e+03_rb,2.1045e+03_rb,1.7537e+03_rb,1.4030e+03_rb,1.0522e+03_rb, & &7.0149e+02_rb,3.5075e+02_rb,6.9076e+01_rb/) kao(:, 2,13,14) = (/ & &4.9007e+03_rb,4.2881e+03_rb,3.6756e+03_rb,3.0630e+03_rb,2.4504e+03_rb,1.8378e+03_rb, & &1.2252e+03_rb,6.1260e+02_rb,6.9478e+01_rb/) kao(:, 3,13,14) = (/ & &7.8921e+03_rb,6.9056e+03_rb,5.9191e+03_rb,4.9326e+03_rb,3.9460e+03_rb,2.9595e+03_rb, & &1.9730e+03_rb,9.8652e+02_rb,6.9694e+01_rb/) kao(:, 4,13,14) = (/ & &1.1933e+04_rb,1.0441e+04_rb,8.9495e+03_rb,7.4579e+03_rb,5.9663e+03_rb,4.4748e+03_rb, & &2.9832e+03_rb,1.4916e+03_rb,6.9728e+01_rb/) kao(:, 5,13,14) = (/ & &1.7152e+04_rb,1.5008e+04_rb,1.2864e+04_rb,1.0720e+04_rb,8.5759e+03_rb,6.4320e+03_rb, & &4.2880e+03_rb,2.1440e+03_rb,6.9601e+01_rb/) kao(:, 1, 1,15) = (/ & &3.5423e+04_rb,3.0995e+04_rb,2.6567e+04_rb,2.2139e+04_rb,1.7712e+04_rb,1.3284e+04_rb, & &8.8558e+03_rb,4.4279e+03_rb,7.1610e-03_rb/) kao(:, 2, 1,15) = (/ & &4.5820e+04_rb,4.0093e+04_rb,3.4365e+04_rb,2.8638e+04_rb,2.2910e+04_rb,1.7183e+04_rb, & &1.1455e+04_rb,5.7276e+03_rb,7.1091e-03_rb/) kao(:, 3, 1,15) = (/ & &5.7623e+04_rb,5.0421e+04_rb,4.3218e+04_rb,3.6015e+04_rb,2.8812e+04_rb,2.1609e+04_rb, & &1.4406e+04_rb,7.2029e+03_rb,7.8150e-03_rb/) kao(:, 4, 1,15) = (/ & &7.0726e+04_rb,6.1885e+04_rb,5.3044e+04_rb,4.4204e+04_rb,3.5363e+04_rb,2.6522e+04_rb, & &1.7681e+04_rb,8.8407e+03_rb,4.0966e-02_rb/) kao(:, 5, 1,15) = (/ & &8.4947e+04_rb,7.4329e+04_rb,6.3711e+04_rb,5.3092e+04_rb,4.2474e+04_rb,3.1855e+04_rb, & &2.1237e+04_rb,1.0618e+04_rb,1.7079e-01_rb/) kao(:, 1, 2,15) = (/ & &3.6296e+04_rb,3.1759e+04_rb,2.7222e+04_rb,2.2685e+04_rb,1.8148e+04_rb,1.3611e+04_rb, & &9.0740e+03_rb,4.5370e+03_rb,7.6264e-03_rb/) kao(:, 2, 2,15) = (/ & &4.7676e+04_rb,4.1717e+04_rb,3.5757e+04_rb,2.9798e+04_rb,2.3838e+04_rb,1.7879e+04_rb, & &1.1919e+04_rb,5.9595e+03_rb,7.8530e+00_rb/) kao(:, 3, 2,15) = (/ & &6.0722e+04_rb,5.3132e+04_rb,4.5542e+04_rb,3.7951e+04_rb,3.0361e+04_rb,2.2771e+04_rb, & &1.5181e+04_rb,7.5903e+03_rb,1.1682e+01_rb/) kao(:, 4, 2,15) = (/ & &7.5305e+04_rb,6.5892e+04_rb,5.6479e+04_rb,4.7065e+04_rb,3.7652e+04_rb,2.8239e+04_rb, & &1.8826e+04_rb,9.4131e+03_rb,7.5532e+00_rb/) kao(:, 5, 2,15) = (/ & &9.1241e+04_rb,7.9835e+04_rb,6.8430e+04_rb,5.7025e+04_rb,4.5620e+04_rb,3.4215e+04_rb, & &2.2810e+04_rb,1.1405e+04_rb,1.0957e+00_rb/) kao(:, 1, 3,15) = (/ & &3.4715e+04_rb,3.0376e+04_rb,2.6036e+04_rb,2.1697e+04_rb,1.7358e+04_rb,1.3018e+04_rb, & &8.6788e+03_rb,4.3394e+03_rb,1.4232e+01_rb/) kao(:, 2, 3,15) = (/ & &4.6613e+04_rb,4.0787e+04_rb,3.4960e+04_rb,2.9133e+04_rb,2.3307e+04_rb,1.7480e+04_rb, & &1.1653e+04_rb,5.8267e+03_rb,1.4235e+01_rb/) kao(:, 3, 3,15) = (/ & &6.0451e+04_rb,5.2894e+04_rb,4.5338e+04_rb,3.7782e+04_rb,3.0225e+04_rb,2.2669e+04_rb, & &1.5113e+04_rb,7.5563e+03_rb,1.4209e+01_rb/) kao(:, 4, 3,15) = (/ & &7.6104e+04_rb,6.6591e+04_rb,5.7078e+04_rb,4.7565e+04_rb,3.8052e+04_rb,2.8539e+04_rb, & &1.9026e+04_rb,9.5130e+03_rb,1.4121e+01_rb/) kao(:, 5, 3,15) = (/ & &9.3385e+04_rb,8.1712e+04_rb,7.0039e+04_rb,5.8365e+04_rb,4.6692e+04_rb,3.5019e+04_rb, & &2.3346e+04_rb,1.1673e+04_rb,1.4063e+01_rb/) kao(:, 1, 4,15) = (/ & &3.1974e+04_rb,2.7977e+04_rb,2.3981e+04_rb,1.9984e+04_rb,1.5987e+04_rb,1.1990e+04_rb, & &7.9936e+03_rb,3.9968e+03_rb,1.7130e+01_rb/) kao(:, 2, 4,15) = (/ & &4.4033e+04_rb,3.8529e+04_rb,3.3025e+04_rb,2.7521e+04_rb,2.2017e+04_rb,1.6512e+04_rb, & &1.1008e+04_rb,5.5042e+03_rb,1.7154e+01_rb/) kao(:, 3, 4,15) = (/ & &5.8299e+04_rb,5.1012e+04_rb,4.3725e+04_rb,3.6437e+04_rb,2.9150e+04_rb,2.1862e+04_rb, & &1.4575e+04_rb,7.2874e+03_rb,1.7147e+01_rb/) kao(:, 4, 4,15) = (/ & &7.4658e+04_rb,6.5325e+04_rb,5.5993e+04_rb,4.6661e+04_rb,3.7329e+04_rb,2.7997e+04_rb, & &1.8664e+04_rb,9.3322e+03_rb,1.7125e+01_rb/) kao(:, 5, 4,15) = (/ & &9.3061e+04_rb,8.1428e+04_rb,6.9796e+04_rb,5.8163e+04_rb,4.6530e+04_rb,3.4898e+04_rb, & &2.3265e+04_rb,1.1633e+04_rb,1.7053e+01_rb/) kao(:, 1, 5,15) = (/ & &2.8780e+04_rb,2.5183e+04_rb,2.1585e+04_rb,1.7988e+04_rb,1.4390e+04_rb,1.0793e+04_rb, & &7.1950e+03_rb,3.5975e+03_rb,2.0610e+01_rb/) kao(:, 2, 5,15) = (/ & &4.0696e+04_rb,3.5609e+04_rb,3.0522e+04_rb,2.5435e+04_rb,2.0348e+04_rb,1.5261e+04_rb, & &1.0174e+04_rb,5.0871e+03_rb,2.0673e+01_rb/) kao(:, 3, 5,15) = (/ & &5.5132e+04_rb,4.8240e+04_rb,4.1349e+04_rb,3.4457e+04_rb,2.7566e+04_rb,2.0674e+04_rb, & &1.3783e+04_rb,6.8915e+03_rb,2.0688e+01_rb/) kao(:, 4, 5,15) = (/ & &7.2202e+04_rb,6.3177e+04_rb,5.4152e+04_rb,4.5126e+04_rb,3.6101e+04_rb,2.7076e+04_rb, & &1.8051e+04_rb,9.0253e+03_rb,2.0678e+01_rb/) kao(:, 5, 5,15) = (/ & &9.1794e+04_rb,8.0320e+04_rb,6.8846e+04_rb,5.7371e+04_rb,4.5897e+04_rb,3.4423e+04_rb, & &2.2949e+04_rb,1.1474e+04_rb,2.0627e+01_rb/) kao(:, 1, 6,15) = (/ & &2.4928e+04_rb,2.1812e+04_rb,1.8696e+04_rb,1.5580e+04_rb,1.2464e+04_rb,9.3479e+03_rb, & &6.2319e+03_rb,3.1160e+03_rb,2.4743e+01_rb/) kao(:, 2, 6,15) = (/ & &3.6459e+04_rb,3.1902e+04_rb,2.7344e+04_rb,2.2787e+04_rb,1.8230e+04_rb,1.3672e+04_rb, & &9.1148e+03_rb,4.5574e+03_rb,2.4868e+01_rb/) kao(:, 3, 6,15) = (/ & &5.0921e+04_rb,4.4556e+04_rb,3.8191e+04_rb,3.1826e+04_rb,2.5461e+04_rb,1.9095e+04_rb, & &1.2730e+04_rb,6.3651e+03_rb,2.4935e+01_rb/) kao(:, 4, 6,15) = (/ & &6.8337e+04_rb,5.9795e+04_rb,5.1253e+04_rb,4.2711e+04_rb,3.4168e+04_rb,2.5626e+04_rb, & &1.7084e+04_rb,8.5421e+03_rb,2.4952e+01_rb/) kao(:, 5, 6,15) = (/ & &8.8665e+04_rb,7.7582e+04_rb,6.6499e+04_rb,5.5416e+04_rb,4.4333e+04_rb,3.3249e+04_rb, & &2.2166e+04_rb,1.1083e+04_rb,2.4917e+01_rb/) kao(:, 1, 7,15) = (/ & &2.1322e+04_rb,1.8657e+04_rb,1.5992e+04_rb,1.3326e+04_rb,1.0661e+04_rb,7.9957e+03_rb, & &5.3305e+03_rb,2.6652e+03_rb,2.9665e+01_rb/) kao(:, 2, 7,15) = (/ & &3.2413e+04_rb,2.8361e+04_rb,2.4310e+04_rb,2.0258e+04_rb,1.6206e+04_rb,1.2155e+04_rb, & &8.1031e+03_rb,4.0516e+03_rb,2.9861e+01_rb/) kao(:, 3, 7,15) = (/ & &4.6696e+04_rb,4.0859e+04_rb,3.5022e+04_rb,2.9185e+04_rb,2.3348e+04_rb,1.7511e+04_rb, & &1.1674e+04_rb,5.8369e+03_rb,3.0001e+01_rb/) kao(:, 4, 7,15) = (/ & &6.4261e+04_rb,5.6228e+04_rb,4.8195e+04_rb,4.0163e+04_rb,3.2130e+04_rb,2.4098e+04_rb, & &1.6065e+04_rb,8.0325e+03_rb,3.0074e+01_rb/) kao(:, 5, 7,15) = (/ & &8.5103e+04_rb,7.4465e+04_rb,6.3827e+04_rb,5.3189e+04_rb,4.2551e+04_rb,3.1914e+04_rb, & &2.1276e+04_rb,1.0638e+04_rb,3.0077e+01_rb/) kao(:, 1, 8,15) = (/ & &1.8276e+04_rb,1.5991e+04_rb,1.3707e+04_rb,1.1422e+04_rb,9.1380e+03_rb,6.8535e+03_rb, & &4.5690e+03_rb,2.2845e+03_rb,3.5525e+01_rb/) kao(:, 2, 8,15) = (/ & &2.8919e+04_rb,2.5304e+04_rb,2.1689e+04_rb,1.8074e+04_rb,1.4459e+04_rb,1.0845e+04_rb, & &7.2298e+03_rb,3.6149e+03_rb,3.5844e+01_rb/) kao(:, 3, 8,15) = (/ & &4.2999e+04_rb,3.7624e+04_rb,3.2249e+04_rb,2.6874e+04_rb,2.1500e+04_rb,1.6125e+04_rb, & &1.0750e+04_rb,5.3749e+03_rb,3.6058e+01_rb/) kao(:, 4, 8,15) = (/ & &6.0712e+04_rb,5.3123e+04_rb,4.5534e+04_rb,3.7945e+04_rb,3.0356e+04_rb,2.2767e+04_rb, & &1.5178e+04_rb,7.5890e+03_rb,3.6184e+01_rb/) kao(:, 5, 8,15) = (/ & &8.2146e+04_rb,7.1878e+04_rb,6.1610e+04_rb,5.1341e+04_rb,4.1073e+04_rb,3.0805e+04_rb, & &2.0537e+04_rb,1.0268e+04_rb,3.6243e+01_rb/) kao(:, 1, 9,15) = (/ & &1.5122e+04_rb,1.3232e+04_rb,1.1341e+04_rb,9.4512e+03_rb,7.5610e+03_rb,5.6707e+03_rb, & &3.7805e+03_rb,1.8902e+03_rb,4.2513e+01_rb/) kao(:, 2, 9,15) = (/ & &2.4972e+04_rb,2.1851e+04_rb,1.8729e+04_rb,1.5608e+04_rb,1.2486e+04_rb,9.3646e+03_rb, & &6.2431e+03_rb,3.1215e+03_rb,4.2950e+01_rb/) kao(:, 3, 9,15) = (/ & &3.8412e+04_rb,3.3611e+04_rb,2.8809e+04_rb,2.4007e+04_rb,1.9206e+04_rb,1.4404e+04_rb, & &9.6030e+03_rb,4.8015e+03_rb,4.3278e+01_rb/) kao(:, 4, 9,15) = (/ & &5.5843e+04_rb,4.8863e+04_rb,4.1882e+04_rb,3.4902e+04_rb,2.7921e+04_rb,2.0941e+04_rb, & &1.3961e+04_rb,6.9804e+03_rb,4.3480e+01_rb/) kao(:, 5, 9,15) = (/ & &7.7611e+04_rb,6.7910e+04_rb,5.8208e+04_rb,4.8507e+04_rb,3.8805e+04_rb,2.9104e+04_rb, & &1.9403e+04_rb,9.7013e+03_rb,4.3587e+01_rb/) kao(:, 1,10,15) = (/ & &1.2684e+04_rb,1.1099e+04_rb,9.5132e+03_rb,7.9276e+03_rb,6.3421e+03_rb,4.7566e+03_rb, & &3.1710e+03_rb,1.5855e+03_rb,5.0840e+01_rb/) kao(:, 2,10,15) = (/ & &2.1787e+04_rb,1.9064e+04_rb,1.6340e+04_rb,1.3617e+04_rb,1.0893e+04_rb,8.1700e+03_rb, & &5.4467e+03_rb,2.7233e+03_rb,5.1430e+01_rb/) kao(:, 3,10,15) = (/ & &3.4684e+04_rb,3.0349e+04_rb,2.6013e+04_rb,2.1678e+04_rb,1.7342e+04_rb,1.3007e+04_rb, & &8.6710e+03_rb,4.3355e+03_rb,5.1863e+01_rb/) kao(:, 4,10,15) = (/ & &5.1947e+04_rb,4.5454e+04_rb,3.8960e+04_rb,3.2467e+04_rb,2.5974e+04_rb,1.9480e+04_rb, & &1.2987e+04_rb,6.4934e+03_rb,5.2160e+01_rb/) kao(:, 5,10,15) = (/ & &7.3912e+04_rb,6.4673e+04_rb,5.5434e+04_rb,4.6195e+04_rb,3.6956e+04_rb,2.7717e+04_rb, & &1.8478e+04_rb,9.2389e+03_rb,5.2321e+01_rb/) kao(:, 1,11,15) = (/ & &1.3711e+04_rb,1.1997e+04_rb,1.0283e+04_rb,8.5694e+03_rb,6.8555e+03_rb,5.1416e+03_rb, & &3.4277e+03_rb,1.7139e+03_rb,6.1054e+01_rb/) kao(:, 2,11,15) = (/ & &2.3669e+04_rb,2.0711e+04_rb,1.7752e+04_rb,1.4793e+04_rb,1.1835e+04_rb,8.8760e+03_rb, & &5.9173e+03_rb,2.9586e+03_rb,6.1742e+01_rb/) kao(:, 3,11,15) = (/ & &3.7832e+04_rb,3.3103e+04_rb,2.8374e+04_rb,2.3645e+04_rb,1.8916e+04_rb,1.4187e+04_rb, & &9.4579e+03_rb,4.7289e+03_rb,6.2215e+01_rb/) kao(:, 4,11,15) = (/ & &5.6757e+04_rb,4.9662e+04_rb,4.2568e+04_rb,3.5473e+04_rb,2.8378e+04_rb,2.1284e+04_rb, & &1.4189e+04_rb,7.0945e+03_rb,6.2524e+01_rb/) kao(:, 5,11,15) = (/ & &8.0798e+04_rb,7.0698e+04_rb,6.0598e+04_rb,5.0499e+04_rb,4.0399e+04_rb,3.0299e+04_rb, & &2.0199e+04_rb,1.0100e+04_rb,6.2689e+01_rb/) kao(:, 1,12,15) = (/ & &1.4989e+04_rb,1.3115e+04_rb,1.1241e+04_rb,9.3679e+03_rb,7.4943e+03_rb,5.6207e+03_rb, & &3.7471e+03_rb,1.8736e+03_rb,7.3162e+01_rb/) kao(:, 2,12,15) = (/ & &2.5949e+04_rb,2.2705e+04_rb,1.9461e+04_rb,1.6218e+04_rb,1.2974e+04_rb,9.7307e+03_rb, & &6.4871e+03_rb,3.2436e+03_rb,7.3885e+01_rb/) kao(:, 3,12,15) = (/ & &4.1513e+04_rb,3.6324e+04_rb,3.1134e+04_rb,2.5945e+04_rb,2.0756e+04_rb,1.5567e+04_rb, & &1.0378e+04_rb,5.1891e+03_rb,7.4405e+01_rb/) kao(:, 4,12,15) = (/ & &6.2315e+04_rb,5.4526e+04_rb,4.6737e+04_rb,3.8947e+04_rb,3.1158e+04_rb,2.3368e+04_rb, & &1.5579e+04_rb,7.7894e+03_rb,7.4701e+01_rb/) kao(:, 5,12,15) = (/ & &8.8861e+04_rb,7.7754e+04_rb,6.6646e+04_rb,5.5538e+04_rb,4.4431e+04_rb,3.3323e+04_rb, & &2.2215e+04_rb,1.1108e+04_rb,7.4795e+01_rb/) kao(:, 1,13,15) = (/ & &1.6915e+04_rb,1.4801e+04_rb,1.2687e+04_rb,1.0572e+04_rb,8.4577e+03_rb,6.3433e+03_rb, & &4.2289e+03_rb,2.1144e+03_rb,8.7334e+01_rb/) kao(:, 2,13,15) = (/ & &2.9284e+04_rb,2.5624e+04_rb,2.1963e+04_rb,1.8303e+04_rb,1.4642e+04_rb,1.0982e+04_rb, & &7.3211e+03_rb,3.6605e+03_rb,8.8104e+01_rb/) kao(:, 3,13,15) = (/ & &4.6892e+04_rb,4.1031e+04_rb,3.5169e+04_rb,2.9308e+04_rb,2.3446e+04_rb,1.7585e+04_rb, & &1.1723e+04_rb,5.8616e+03_rb,8.8585e+01_rb/) kao(:, 4,13,15) = (/ & &7.0448e+04_rb,6.1642e+04_rb,5.2836e+04_rb,4.4030e+04_rb,3.5224e+04_rb,2.6418e+04_rb, & &1.7612e+04_rb,8.8061e+03_rb,8.8802e+01_rb/) kao(:, 5,13,15) = (/ & &1.0039e+05_rb,8.7843e+04_rb,7.5294e+04_rb,6.2745e+04_rb,5.0196e+04_rb,3.7647e+04_rb, & &2.5098e+04_rb,1.2549e+04_rb,8.8791e+01_rb/) kao(:, 1, 1,16) = (/ & &4.3683e+04_rb,3.8223e+04_rb,3.2762e+04_rb,2.7302e+04_rb,2.1842e+04_rb,1.6381e+04_rb, & &1.0921e+04_rb,5.4604e+03_rb,7.6073e-03_rb/) kao(:, 2, 1,16) = (/ & &5.6813e+04_rb,4.9712e+04_rb,4.2610e+04_rb,3.5508e+04_rb,2.8407e+04_rb,2.1305e+04_rb, & &1.4203e+04_rb,7.1017e+03_rb,7.6403e-03_rb/) kao(:, 3, 1,16) = (/ & &7.1746e+04_rb,6.2777e+04_rb,5.3809e+04_rb,4.4841e+04_rb,3.5873e+04_rb,2.6905e+04_rb, & &1.7936e+04_rb,8.9682e+03_rb,3.7278e-03_rb/) kao(:, 4, 1,16) = (/ & &8.8334e+04_rb,7.7292e+04_rb,6.6250e+04_rb,5.5209e+04_rb,4.4167e+04_rb,3.3125e+04_rb, & &2.2083e+04_rb,1.1042e+04_rb,3.7292e-03_rb/) kao(:, 5, 1,16) = (/ & &1.0639e+05_rb,9.3091e+04_rb,7.9793e+04_rb,6.6494e+04_rb,5.3195e+04_rb,3.9896e+04_rb, & &2.6598e+04_rb,1.3299e+04_rb,7.8826e-01_rb/) kao(:, 1, 2,16) = (/ & &4.6897e+04_rb,4.1035e+04_rb,3.5173e+04_rb,2.9311e+04_rb,2.3449e+04_rb,1.7586e+04_rb, & &1.1724e+04_rb,5.8622e+03_rb,8.2408e-03_rb/) kao(:, 2, 2,16) = (/ & &6.1887e+04_rb,5.4151e+04_rb,4.6415e+04_rb,3.8679e+04_rb,3.0943e+04_rb,2.3208e+04_rb, & &1.5472e+04_rb,7.7359e+03_rb,1.2063e+01_rb/) kao(:, 3, 2,16) = (/ & &7.9108e+04_rb,6.9219e+04_rb,5.9331e+04_rb,4.9442e+04_rb,3.9554e+04_rb,2.9666e+04_rb, & &1.9777e+04_rb,9.8885e+03_rb,1.1743e+01_rb/) kao(:, 4, 2,16) = (/ & &9.8415e+04_rb,8.6113e+04_rb,7.3811e+04_rb,6.1509e+04_rb,4.9207e+04_rb,3.6906e+04_rb, & &2.4604e+04_rb,1.2302e+04_rb,3.5693e-03_rb/) kao(:, 5, 2,16) = (/ & &1.1961e+05_rb,1.0466e+05_rb,8.9707e+04_rb,7.4755e+04_rb,5.9804e+04_rb,4.4853e+04_rb, & &2.9902e+04_rb,1.4951e+04_rb,5.8824e-01_rb/) kao(:, 1, 3,16) = (/ & &4.7187e+04_rb,4.1289e+04_rb,3.5390e+04_rb,2.9492e+04_rb,2.3594e+04_rb,1.7695e+04_rb, & &1.1797e+04_rb,5.8984e+03_rb,1.4554e+01_rb/) kao(:, 2, 3,16) = (/ & &6.3662e+04_rb,5.5704e+04_rb,4.7746e+04_rb,3.9789e+04_rb,3.1831e+04_rb,2.3873e+04_rb, & &1.5915e+04_rb,7.9577e+03_rb,1.4573e+01_rb/) kao(:, 3, 3,16) = (/ & &8.2931e+04_rb,7.2565e+04_rb,6.2198e+04_rb,5.1832e+04_rb,4.1465e+04_rb,3.1099e+04_rb, & &2.0733e+04_rb,1.0366e+04_rb,1.4578e+01_rb/) kao(:, 4, 3,16) = (/ & &1.0484e+05_rb,9.1735e+04_rb,7.8630e+04_rb,6.5525e+04_rb,5.2420e+04_rb,3.9315e+04_rb, & &2.6210e+04_rb,1.3105e+04_rb,1.4538e+01_rb/) kao(:, 5, 3,16) = (/ & &1.2920e+05_rb,1.1305e+05_rb,9.6898e+04_rb,8.0748e+04_rb,6.4599e+04_rb,4.8449e+04_rb, & &3.2299e+04_rb,1.6150e+04_rb,1.4475e+01_rb/) kao(:, 1, 4,16) = (/ & &4.6077e+04_rb,4.0317e+04_rb,3.4558e+04_rb,2.8798e+04_rb,2.3038e+04_rb,1.7279e+04_rb, & &1.1519e+04_rb,5.7596e+03_rb,1.7584e+01_rb/) kao(:, 2, 4,16) = (/ & &6.3824e+04_rb,5.5846e+04_rb,4.7868e+04_rb,3.9890e+04_rb,3.1912e+04_rb,2.3934e+04_rb, & &1.5956e+04_rb,7.9779e+03_rb,1.7639e+01_rb/) kao(:, 3, 4,16) = (/ & &8.4999e+04_rb,7.4374e+04_rb,6.3749e+04_rb,5.3124e+04_rb,4.2499e+04_rb,3.1874e+04_rb, & &2.1250e+04_rb,1.0625e+04_rb,1.7665e+01_rb/) kao(:, 4, 4,16) = (/ & &1.0949e+05_rb,9.5804e+04_rb,8.2118e+04_rb,6.8432e+04_rb,5.4745e+04_rb,4.1059e+04_rb, & &2.7373e+04_rb,1.3686e+04_rb,1.7655e+01_rb/) kao(:, 5, 4,16) = (/ & &1.3706e+05_rb,1.1993e+05_rb,1.0280e+05_rb,8.5665e+04_rb,6.8532e+04_rb,5.1399e+04_rb, & &3.4266e+04_rb,1.7133e+04_rb,1.7601e+01_rb/) kao(:, 1, 5,16) = (/ & &4.4408e+04_rb,3.8857e+04_rb,3.3306e+04_rb,2.7755e+04_rb,2.2204e+04_rb,1.6653e+04_rb, & &1.1102e+04_rb,5.5509e+03_rb,2.1257e+01_rb/) kao(:, 2, 5,16) = (/ & &6.3274e+04_rb,5.5364e+04_rb,4.7455e+04_rb,3.9546e+04_rb,3.1637e+04_rb,2.3728e+04_rb, & &1.5818e+04_rb,7.9092e+03_rb,2.1367e+01_rb/) kao(:, 3, 5,16) = (/ & &8.6266e+04_rb,7.5483e+04_rb,6.4700e+04_rb,5.3916e+04_rb,4.3133e+04_rb,3.2350e+04_rb, & &2.1567e+04_rb,1.0783e+04_rb,2.1428e+01_rb/) kao(:, 4, 5,16) = (/ & &1.1336e+05_rb,9.9194e+04_rb,8.5023e+04_rb,7.0853e+04_rb,5.6682e+04_rb,4.2512e+04_rb, & &2.8341e+04_rb,1.4171e+04_rb,2.1442e+01_rb/) kao(:, 5, 5,16) = (/ & &1.4437e+05_rb,1.2632e+05_rb,1.0827e+05_rb,9.0229e+04_rb,7.2183e+04_rb,5.4137e+04_rb, & &3.6091e+04_rb,1.8046e+04_rb,2.1411e+01_rb/) kao(:, 1, 6,16) = (/ & &4.1622e+04_rb,3.6419e+04_rb,3.1217e+04_rb,2.6014e+04_rb,2.0811e+04_rb,1.5608e+04_rb, & &1.0406e+04_rb,5.2028e+03_rb,2.5704e+01_rb/) kao(:, 2, 6,16) = (/ & &6.1272e+04_rb,5.3613e+04_rb,4.5954e+04_rb,3.8295e+04_rb,3.0636e+04_rb,2.2977e+04_rb, & &1.5318e+04_rb,7.6590e+03_rb,2.5880e+01_rb/) kao(:, 3, 6,16) = (/ & &8.5823e+04_rb,7.5095e+04_rb,6.4367e+04_rb,5.3639e+04_rb,4.2911e+04_rb,3.2183e+04_rb, & &2.1456e+04_rb,1.0728e+04_rb,2.5988e+01_rb/) kao(:, 4, 6,16) = (/ & &1.1534e+05_rb,1.0092e+05_rb,8.6501e+04_rb,7.2084e+04_rb,5.7667e+04_rb,4.3251e+04_rb, & &2.8834e+04_rb,1.4417e+04_rb,2.6050e+01_rb/) kao(:, 5, 6,16) = (/ & &1.4970e+05_rb,1.3098e+05_rb,1.1227e+05_rb,9.3560e+04_rb,7.4848e+04_rb,5.6136e+04_rb, & &3.7424e+04_rb,1.8712e+04_rb,2.6033e+01_rb/) kao(:, 1, 7,16) = (/ & &3.8762e+04_rb,3.3917e+04_rb,2.9071e+04_rb,2.4226e+04_rb,1.9381e+04_rb,1.4536e+04_rb, & &9.6904e+03_rb,4.8452e+03_rb,3.1098e+01_rb/) kao(:, 2, 7,16) = (/ & &5.9114e+04_rb,5.1725e+04_rb,4.4335e+04_rb,3.6946e+04_rb,2.9557e+04_rb,2.2168e+04_rb, & &1.4778e+04_rb,7.3892e+03_rb,3.1343e+01_rb/) kao(:, 3, 7,16) = (/ & &8.5273e+04_rb,7.4614e+04_rb,6.3955e+04_rb,5.3296e+04_rb,4.2636e+04_rb,3.1977e+04_rb, & &2.1318e+04_rb,1.0659e+04_rb,3.1509e+01_rb/) kao(:, 4, 7,16) = (/ & &1.1738e+05_rb,1.0271e+05_rb,8.8034e+04_rb,7.3362e+04_rb,5.8689e+04_rb,4.4017e+04_rb, & &2.9345e+04_rb,1.4672e+04_rb,3.1622e+01_rb/) kao(:, 5, 7,16) = (/ & &1.5542e+05_rb,1.3599e+05_rb,1.1657e+05_rb,9.7138e+04_rb,7.7710e+04_rb,5.8283e+04_rb, & &3.8855e+04_rb,1.9427e+04_rb,3.1655e+01_rb/) kao(:, 1, 8,16) = (/ & &3.6377e+04_rb,3.1830e+04_rb,2.7279e+04_rb,2.2736e+04_rb,1.8189e+04_rb,1.3641e+04_rb, & &9.0943e+03_rb,4.5472e+03_rb,3.7610e+01_rb/) kao(:, 2, 8,16) = (/ & &5.7649e+04_rb,5.0443e+04_rb,4.3237e+04_rb,3.6031e+04_rb,2.8825e+04_rb,2.1619e+04_rb, & &1.4412e+04_rb,7.2062e+03_rb,3.7934e+01_rb/) kao(:, 3, 8,16) = (/ & &8.5747e+04_rb,7.5029e+04_rb,6.4311e+04_rb,5.3592e+04_rb,4.2874e+04_rb,3.2155e+04_rb, & &2.1437e+04_rb,1.0718e+04_rb,3.8193e+01_rb/) kao(:, 4, 8,16) = (/ & &1.2106e+05_rb,1.0593e+05_rb,9.0796e+04_rb,7.5663e+04_rb,6.0531e+04_rb,4.5398e+04_rb, & &3.0265e+04_rb,1.5133e+04_rb,3.8356e+01_rb/) kao(:, 5, 8,16) = (/ & &1.6369e+05_rb,1.4323e+05_rb,1.2277e+05_rb,1.0231e+05_rb,8.1844e+04_rb,6.1383e+04_rb, & &4.0922e+04_rb,2.0461e+04_rb,3.8437e+01_rb/) kao(:, 1, 9,16) = (/ & &3.3210e+04_rb,2.9058e+04_rb,2.4907e+04_rb,2.0756e+04_rb,1.6605e+04_rb,1.2454e+04_rb, & &8.3024e+03_rb,4.1512e+03_rb,4.5425e+01_rb/) kao(:, 2, 9,16) = (/ & &5.4859e+04_rb,4.8001e+04_rb,4.1144e+04_rb,3.4287e+04_rb,2.7429e+04_rb,2.0572e+04_rb, & &1.3715e+04_rb,6.8573e+03_rb,4.5889e+01_rb/) kao(:, 3, 9,16) = (/ & &8.4365e+04_rb,7.3820e+04_rb,6.3274e+04_rb,5.2728e+04_rb,4.2183e+04_rb,3.1637e+04_rb, & &2.1091e+04_rb,1.0546e+04_rb,4.6246e+01_rb/) kao(:, 4, 9,16) = (/ & &1.2241e+05_rb,1.0711e+05_rb,9.1805e+04_rb,7.6504e+04_rb,6.1203e+04_rb,4.5902e+04_rb, & &3.0602e+04_rb,1.5301e+04_rb,4.6486e+01_rb/) kao(:, 5, 9,16) = (/ & &1.6922e+05_rb,1.4806e+05_rb,1.2691e+05_rb,1.0576e+05_rb,8.4608e+04_rb,6.3456e+04_rb, & &4.2304e+04_rb,2.1152e+04_rb,4.6625e+01_rb/) kao(:, 1,10,16) = (/ & &3.0979e+04_rb,2.7106e+04_rb,2.3234e+04_rb,1.9362e+04_rb,1.5489e+04_rb,1.1617e+04_rb, & &7.7447e+03_rb,3.8723e+03_rb,5.4886e+01_rb/) kao(:, 2,10,16) = (/ & &5.3196e+04_rb,4.6547e+04_rb,3.9897e+04_rb,3.3248e+04_rb,2.6598e+04_rb,1.9948e+04_rb, & &1.3299e+04_rb,6.6495e+03_rb,5.5476e+01_rb/) kao(:, 3,10,16) = (/ & &8.4341e+04_rb,7.3798e+04_rb,6.3256e+04_rb,5.2713e+04_rb,4.2170e+04_rb,3.1628e+04_rb, & &2.1085e+04_rb,1.0332e+04_rb,5.5974e+01_rb/) kao(:, 4,10,16) = (/ & &1.2535e+05_rb,1.0968e+05_rb,9.4014e+04_rb,7.8345e+04_rb,6.2676e+04_rb,4.7007e+04_rb, & &3.1338e+04_rb,1.5669e+04_rb,5.6279e+01_rb/) kao(:, 5,10,16) = (/ & &1.7674e+05_rb,1.5464e+05_rb,1.3255e+05_rb,1.1046e+05_rb,8.8368e+04_rb,6.6276e+04_rb, & &4.4184e+04_rb,2.2092e+04_rb,5.6482e+01_rb/) kao(:, 1,11,16) = (/ & &3.7488e+04_rb,3.2802e+04_rb,2.8116e+04_rb,2.3430e+04_rb,1.8744e+04_rb,1.4058e+04_rb, & &9.3718e+03_rb,4.6859e+03_rb,6.6623e+01_rb/) kao(:, 2,11,16) = (/ & &6.4180e+04_rb,5.6158e+04_rb,4.8135e+04_rb,4.0112e+04_rb,3.2090e+04_rb,2.4067e+04_rb, & &1.6045e+04_rb,8.0224e+03_rb,6.7308e+01_rb/) kao(:, 3,11,16) = (/ & &1.0143e+05_rb,8.8753e+04_rb,7.6074e+04_rb,6.3395e+04_rb,5.0716e+04_rb,3.8037e+04_rb, & &2.5358e+04_rb,1.2679e+04_rb,6.7849e+01_rb/) kao(:, 4,11,16) = (/ & &1.5034e+05_rb,1.3155e+05_rb,1.1275e+05_rb,9.3961e+04_rb,7.5169e+04_rb,5.6376e+04_rb, & &3.7584e+04_rb,1.8792e+04_rb,6.8179e+01_rb/) kao(:, 5,11,16) = (/ & &2.1140e+05_rb,1.8498e+05_rb,1.5855e+05_rb,1.3213e+05_rb,1.0570e+05_rb,7.9275e+04_rb, & &5.2850e+04_rb,2.6425e+04_rb,6.8333e+01_rb/) kao(:, 1,12,16) = (/ & &4.5641e+04_rb,3.9936e+04_rb,3.4231e+04_rb,2.8526e+04_rb,2.2821e+04_rb,1.7116e+04_rb, & &1.1410e+04_rb,5.7052e+03_rb,8.0729e+01_rb/) kao(:, 2,12,16) = (/ & &7.7843e+04_rb,6.8113e+04_rb,5.8382e+04_rb,4.8652e+04_rb,3.8922e+04_rb,2.9191e+04_rb, & &1.9461e+04_rb,9.7304e+03_rb,8.1511e+01_rb/) kao(:, 3,12,16) = (/ & &1.2264e+05_rb,1.0731e+05_rb,9.1979e+04_rb,7.6649e+04_rb,6.1320e+04_rb,4.5990e+04_rb, & &3.0660e+04_rb,1.5330e+04_rb,8.2042e+01_rb/) kao(:, 4,12,16) = (/ & &1.8173e+05_rb,1.5901e+05_rb,1.3629e+05_rb,1.1358e+05_rb,9.0863e+04_rb,6.8147e+04_rb, & &4.5431e+04_rb,2.2716e+04_rb,8.2374e+01_rb/) kao(:, 5,12,16) = (/ & &2.5615e+05_rb,2.2413e+05_rb,1.9211e+05_rb,1.6009e+05_rb,1.2807e+05_rb,9.6056e+04_rb, & &6.4037e+04_rb,3.2019e+04_rb,8.2428e+01_rb/) kao(:, 1,13,16) = (/ & &5.7163e+04_rb,5.0018e+04_rb,4.2872e+04_rb,3.5727e+04_rb,2.8582e+04_rb,2.1436e+04_rb, & &1.4291e+04_rb,7.1455e+03_rb,9.7539e+01_rb/) kao(:, 2,13,16) = (/ & &9.7458e+04_rb,8.5276e+04_rb,7.3094e+04_rb,6.0911e+04_rb,4.8729e+04_rb,3.6547e+04_rb, & &2.4365e+04_rb,1.2182e+04_rb,9.8425e+01_rb/) kao(:, 3,13,16) = (/ & &1.5404e+05_rb,1.3479e+05_rb,1.1553e+05_rb,9.6277e+04_rb,7.7021e+04_rb,5.7766e+04_rb, & &3.8511e+04_rb,1.9255e+04_rb,9.8903e+01_rb/) kao(:, 4,13,16) = (/ & &2.2887e+05_rb,2.0026e+05_rb,1.7165e+05_rb,1.4304e+05_rb,1.1444e+05_rb,8.5827e+04_rb, & &5.7218e+04_rb,2.8609e+04_rb,9.9135e+01_rb/) kao(:, 5,13,16) = (/ & &3.2310e+05_rb,2.8271e+05_rb,2.4232e+05_rb,2.0194e+05_rb,1.6155e+05_rb,1.2116e+05_rb, & &8.0775e+04_rb,4.0387e+04_rb,9.9042e+01_rb/) ! The array KA_Mxx contains the absorption coefficient for ! a minor species at the 16 chosen g-values for a reference pressure ! level below 100~ mb. The first index in the array, JS, runs ! from 1 to 10, and corresponds to different gas column amount ratios, ! as expressed through the binary species parameter eta, defined as ! eta = gas1/(gas1 + (rat) * gas2), where rat is the ! ratio of the reference MLS column amount value of gas 1 ! to that of gas2. The second index refers to temperature ! in 7.2 degree increments. For instance, JT = 1 refers to a ! temperature of 188.0, JT = 2 refers to 195.2, etc. The third index ! runs over the g-channel (1 to 16). kao_mn2( 1, :, 1) = (/ & & 3.24352e-08_rb, 3.39625e-08_rb, 3.55618e-08_rb, 3.72364e-08_rb, 3.89899e-08_rb, & & 4.08259e-08_rb, 4.27484e-08_rb, 4.47614e-08_rb, 4.68692e-08_rb, 4.90763e-08_rb, & & 5.13873e-08_rb, 5.38071e-08_rb, 5.63409e-08_rb, 5.89940e-08_rb, 6.17720e-08_rb, & & 6.46808e-08_rb, 6.77266e-08_rb, 7.09158e-08_rb, 7.42553e-08_rb/) kao_mn2( 2, :, 1) = (/ & & 3.44203e-08_rb, 3.60254e-08_rb, 3.77053e-08_rb, 3.94636e-08_rb, 4.13038e-08_rb, & & 4.32299e-08_rb, 4.52458e-08_rb, 4.73557e-08_rb, 4.95640e-08_rb, 5.18753e-08_rb, & & 5.42943e-08_rb, 5.68262e-08_rb, 5.94761e-08_rb, 6.22496e-08_rb, 6.51524e-08_rb, & & 6.81906e-08_rb, 7.13704e-08_rb, 7.46986e-08_rb, 7.81819e-08_rb/) kao_mn2( 3, :, 1) = (/ & & 3.44344e-08_rb, 3.61485e-08_rb, 3.79480e-08_rb, 3.98370e-08_rb, 4.18201e-08_rb, & & 4.39019e-08_rb, 4.60873e-08_rb, 4.83815e-08_rb, 5.07899e-08_rb, 5.33182e-08_rb, & & 5.59723e-08_rb, 5.87586e-08_rb, 6.16836e-08_rb, 6.47541e-08_rb, 6.79776e-08_rb, & & 7.13614e-08_rb, 7.49138e-08_rb, 7.86429e-08_rb, 8.25577e-08_rb/) kao_mn2( 4, :, 1) = (/ & & 4.21102e-08_rb, 4.38921e-08_rb, 4.57493e-08_rb, 4.76852e-08_rb, 4.97029e-08_rb, & & 5.18061e-08_rb, 5.39982e-08_rb, 5.62831e-08_rb, 5.86647e-08_rb, 6.11470e-08_rb, & & 6.37344e-08_rb, 6.64313e-08_rb, 6.92422e-08_rb, 7.21722e-08_rb, 7.52261e-08_rb, & & 7.84092e-08_rb, 8.17270e-08_rb, 8.51852e-08_rb, 8.87897e-08_rb/) kao_mn2( 5, :, 1) = (/ & & 4.78813e-08_rb, 5.01015e-08_rb, 5.24246e-08_rb, 5.48554e-08_rb, 5.73989e-08_rb, & & 6.00603e-08_rb, 6.28452e-08_rb, 6.57592e-08_rb, 6.88083e-08_rb, 7.19987e-08_rb, & & 7.53371e-08_rb, 7.88304e-08_rb, 8.24855e-08_rb, 8.63102e-08_rb, 9.03122e-08_rb, & & 9.44997e-08_rb, 9.88815e-08_rb, 1.03466e-07_rb, 1.08264e-07_rb/) kao_mn2( 6, :, 1) = (/ & & 7.03115e-08_rb, 7.27877e-08_rb, 7.53511e-08_rb, 7.80048e-08_rb, 8.07519e-08_rb, & & 8.35958e-08_rb, 8.65398e-08_rb, 8.95875e-08_rb, 9.27426e-08_rb, 9.60087e-08_rb, & & 9.93899e-08_rb, 1.02890e-07_rb, 1.06514e-07_rb, 1.10265e-07_rb, 1.14148e-07_rb, & & 1.18168e-07_rb, 1.22330e-07_rb, 1.26638e-07_rb, 1.31098e-07_rb/) kao_mn2( 7, :, 1) = (/ & & 8.86454e-08_rb, 9.20065e-08_rb, 9.54951e-08_rb, 9.91159e-08_rb, 1.02874e-07_rb, & & 1.06775e-07_rb, 1.10823e-07_rb, 1.15025e-07_rb, 1.19387e-07_rb, 1.23913e-07_rb, & & 1.28612e-07_rb, 1.33488e-07_rb, 1.38550e-07_rb, 1.43803e-07_rb, 1.49255e-07_rb, & & 1.54915e-07_rb, 1.60788e-07_rb, 1.66885e-07_rb, 1.73213e-07_rb/) kao_mn2( 8, :, 1) = (/ & & 1.34118e-07_rb, 1.38267e-07_rb, 1.42545e-07_rb, 1.46955e-07_rb, 1.51502e-07_rb, & & 1.56189e-07_rb, 1.61022e-07_rb, 1.66004e-07_rb, 1.71140e-07_rb, 1.76435e-07_rb, & & 1.81893e-07_rb, 1.87521e-07_rb, 1.93323e-07_rb, 1.99304e-07_rb, 2.05470e-07_rb, & & 2.11827e-07_rb, 2.18381e-07_rb, 2.25138e-07_rb, 2.32103e-07_rb/) kao_mn2( 9, :, 1) = (/ & & 5.08256e-08_rb, 5.30384e-08_rb, 5.53476e-08_rb, 5.77573e-08_rb, 6.02718e-08_rb, & & 6.28959e-08_rb, 6.56342e-08_rb, 6.84917e-08_rb, 7.14737e-08_rb, 7.45854e-08_rb, & & 7.78327e-08_rb, 8.12213e-08_rb, 8.47574e-08_rb, 8.84475e-08_rb, 9.22983e-08_rb, & & 9.63167e-08_rb, 1.00510e-07_rb, 1.04886e-07_rb, 1.09452e-07_rb/) kao_mn2( 1, :, 2) = (/ & & 8.23958e-08_rb, 8.39092e-08_rb, 8.54504e-08_rb, 8.70200e-08_rb, 8.86183e-08_rb, & & 9.02460e-08_rb, 9.19036e-08_rb, 9.35917e-08_rb, 9.53107e-08_rb, 9.70614e-08_rb, & & 9.88442e-08_rb, 1.00660e-07_rb, 1.02509e-07_rb, 1.04391e-07_rb, 1.06309e-07_rb, & & 1.08261e-07_rb, 1.10250e-07_rb, 1.12275e-07_rb, 1.14337e-07_rb/) kao_mn2( 2, :, 2) = (/ & & 8.52335e-08_rb, 8.69254e-08_rb, 8.86509e-08_rb, 9.04107e-08_rb, 9.22054e-08_rb, & & 9.40357e-08_rb, 9.59024e-08_rb, 9.78061e-08_rb, 9.97476e-08_rb, 1.01728e-07_rb, & & 1.03747e-07_rb, 1.05806e-07_rb, 1.07907e-07_rb, 1.10049e-07_rb, 1.12233e-07_rb, & & 1.14461e-07_rb, 1.16733e-07_rb, 1.19050e-07_rb, 1.21414e-07_rb/) kao_mn2( 3, :, 2) = (/ & & 1.04608e-07_rb, 1.06067e-07_rb, 1.07546e-07_rb, 1.09046e-07_rb, 1.10567e-07_rb, & & 1.12110e-07_rb, 1.13673e-07_rb, 1.15259e-07_rb, 1.16866e-07_rb, 1.18496e-07_rb, & & 1.20149e-07_rb, 1.21825e-07_rb, 1.23524e-07_rb, 1.25247e-07_rb, 1.26994e-07_rb, & & 1.28765e-07_rb, 1.30561e-07_rb, 1.32382e-07_rb, 1.34229e-07_rb/) kao_mn2( 4, :, 2) = (/ & & 1.17504e-07_rb, 1.18763e-07_rb, 1.20036e-07_rb, 1.21322e-07_rb, 1.22622e-07_rb, & & 1.23936e-07_rb, 1.25265e-07_rb, 1.26607e-07_rb, 1.27964e-07_rb, 1.29335e-07_rb, & & 1.30721e-07_rb, 1.32122e-07_rb, 1.33538e-07_rb, 1.34969e-07_rb, 1.36415e-07_rb, & & 1.37877e-07_rb, 1.39354e-07_rb, 1.40848e-07_rb, 1.42357e-07_rb/) kao_mn2( 5, :, 2) = (/ & & 1.23552e-07_rb, 1.25200e-07_rb, 1.26870e-07_rb, 1.28562e-07_rb, 1.30277e-07_rb, & & 1.32015e-07_rb, 1.33776e-07_rb, 1.35560e-07_rb, 1.37368e-07_rb, 1.39200e-07_rb, & & 1.41057e-07_rb, 1.42938e-07_rb, 1.44845e-07_rb, 1.46777e-07_rb, 1.48735e-07_rb, & & 1.50718e-07_rb, 1.52729e-07_rb, 1.54766e-07_rb, 1.56830e-07_rb/) kao_mn2( 6, :, 2) = (/ & & 1.29682e-07_rb, 1.32226e-07_rb, 1.34820e-07_rb, 1.37464e-07_rb, 1.40161e-07_rb, & & 1.42910e-07_rb, 1.45713e-07_rb, 1.48571e-07_rb, 1.51486e-07_rb, 1.54457e-07_rb, & & 1.57487e-07_rb, 1.60576e-07_rb, 1.63726e-07_rb, 1.66937e-07_rb, 1.70212e-07_rb, & & 1.73551e-07_rb, 1.76955e-07_rb, 1.80426e-07_rb, 1.83965e-07_rb/) kao_mn2( 7, :, 2) = (/ & & 1.77416e-07_rb, 1.78627e-07_rb, 1.79846e-07_rb, 1.81073e-07_rb, 1.82309e-07_rb, & & 1.83554e-07_rb, 1.84806e-07_rb, 1.86068e-07_rb, 1.87338e-07_rb, 1.88616e-07_rb, & & 1.89904e-07_rb, 1.91200e-07_rb, 1.92505e-07_rb, 1.93819e-07_rb, 1.95142e-07_rb, & & 1.96474e-07_rb, 1.97815e-07_rb, 1.99165e-07_rb, 2.00524e-07_rb/) kao_mn2( 8, :, 2) = (/ & & 2.20695e-07_rb, 2.20451e-07_rb, 2.20208e-07_rb, 2.19965e-07_rb, 2.19722e-07_rb, & & 2.19480e-07_rb, 2.19238e-07_rb, 2.18996e-07_rb, 2.18754e-07_rb, 2.18513e-07_rb, & & 2.18272e-07_rb, 2.18031e-07_rb, 2.17790e-07_rb, 2.17550e-07_rb, 2.17310e-07_rb, & & 2.17070e-07_rb, 2.16831e-07_rb, 2.16591e-07_rb, 2.16352e-07_rb/) kao_mn2( 9, :, 2) = (/ & & 1.23015e-07_rb, 1.24808e-07_rb, 1.26626e-07_rb, 1.28471e-07_rb, 1.30343e-07_rb, & & 1.32242e-07_rb, 1.34168e-07_rb, 1.36123e-07_rb, 1.38106e-07_rb, 1.40118e-07_rb, & & 1.42160e-07_rb, 1.44231e-07_rb, 1.46332e-07_rb, 1.48464e-07_rb, 1.50627e-07_rb, & & 1.52822e-07_rb, 1.55048e-07_rb, 1.57307e-07_rb, 1.59599e-07_rb/) kao_mn2( 1, :, 3) = (/ & & 1.87585e-07_rb, 1.89503e-07_rb, 1.91440e-07_rb, 1.93398e-07_rb, 1.95375e-07_rb, & & 1.97372e-07_rb, 1.99390e-07_rb, 2.01429e-07_rb, 2.03488e-07_rb, 2.05568e-07_rb, & & 2.07670e-07_rb, 2.09793e-07_rb, 2.11938e-07_rb, 2.14105e-07_rb, 2.16294e-07_rb, & & 2.18505e-07_rb, 2.20739e-07_rb, 2.22996e-07_rb, 2.25275e-07_rb/) kao_mn2( 2, :, 3) = (/ & & 1.82585e-07_rb, 1.84249e-07_rb, 1.85929e-07_rb, 1.87624e-07_rb, 1.89335e-07_rb, & & 1.91061e-07_rb, 1.92803e-07_rb, 1.94561e-07_rb, 1.96335e-07_rb, 1.98125e-07_rb, & & 1.99932e-07_rb, 2.01755e-07_rb, 2.03594e-07_rb, 2.05451e-07_rb, 2.07324e-07_rb, & & 2.09214e-07_rb, 2.11122e-07_rb, 2.13047e-07_rb, 2.14989e-07_rb/) kao_mn2( 3, :, 3) = (/ & & 1.64711e-07_rb, 1.67539e-07_rb, 1.70417e-07_rb, 1.73343e-07_rb, 1.76321e-07_rb, & & 1.79349e-07_rb, 1.82429e-07_rb, 1.85562e-07_rb, 1.88749e-07_rb, 1.91990e-07_rb, & & 1.95288e-07_rb, 1.98642e-07_rb, 2.02053e-07_rb, 2.05523e-07_rb, 2.09053e-07_rb, & & 2.12643e-07_rb, 2.16295e-07_rb, 2.20010e-07_rb, 2.23788e-07_rb/) kao_mn2( 4, :, 3) = (/ & & 1.67494e-07_rb, 1.71011e-07_rb, 1.74601e-07_rb, 1.78267e-07_rb, 1.82009e-07_rb, & & 1.85831e-07_rb, 1.89732e-07_rb, 1.93715e-07_rb, 1.97782e-07_rb, 2.01935e-07_rb, & & 2.06174e-07_rb, 2.10503e-07_rb, 2.14922e-07_rb, 2.19434e-07_rb, 2.24041e-07_rb, & & 2.28745e-07_rb, 2.33548e-07_rb, 2.38451e-07_rb, 2.43457e-07_rb/) kao_mn2( 5, :, 3) = (/ & & 1.97399e-07_rb, 2.00092e-07_rb, 2.02821e-07_rb, 2.05588e-07_rb, 2.08393e-07_rb, & & 2.11236e-07_rb, 2.14118e-07_rb, 2.17039e-07_rb, 2.20000e-07_rb, 2.23001e-07_rb, & & 2.26043e-07_rb, 2.29127e-07_rb, 2.32252e-07_rb, 2.35421e-07_rb, 2.38633e-07_rb, & & 2.41888e-07_rb, 2.45188e-07_rb, 2.48533e-07_rb, 2.51923e-07_rb/) kao_mn2( 6, :, 3) = (/ & & 2.24021e-07_rb, 2.24970e-07_rb, 2.25923e-07_rb, 2.26880e-07_rb, 2.27840e-07_rb, & & 2.28805e-07_rb, 2.29774e-07_rb, 2.30747e-07_rb, 2.31725e-07_rb, 2.32706e-07_rb, & & 2.33692e-07_rb, 2.34681e-07_rb, 2.35675e-07_rb, 2.36673e-07_rb, 2.37675e-07_rb, & & 2.38682e-07_rb, 2.39693e-07_rb, 2.40708e-07_rb, 2.41727e-07_rb/) kao_mn2( 7, :, 3) = (/ & & 1.98178e-07_rb, 2.00676e-07_rb, 2.03205e-07_rb, 2.05766e-07_rb, 2.08359e-07_rb, & & 2.10986e-07_rb, 2.13645e-07_rb, 2.16337e-07_rb, 2.19064e-07_rb, 2.21825e-07_rb, & & 2.24621e-07_rb, 2.27452e-07_rb, 2.30319e-07_rb, 2.33222e-07_rb, 2.36161e-07_rb, & & 2.39138e-07_rb, 2.42152e-07_rb, 2.45204e-07_rb, 2.48294e-07_rb/) kao_mn2( 8, :, 3) = (/ & & 2.83042e-07_rb, 2.89941e-07_rb, 2.97009e-07_rb, 3.04250e-07_rb, 3.11666e-07_rb, & & 3.19264e-07_rb, 3.27047e-07_rb, 3.35019e-07_rb, 3.43186e-07_rb, 3.51552e-07_rb, & & 3.60122e-07_rb, 3.68901e-07_rb, 3.77893e-07_rb, 3.87105e-07_rb, 3.96542e-07_rb, & & 4.06208e-07_rb, 4.16111e-07_rb, 4.26254e-07_rb, 4.36645e-07_rb/) kao_mn2( 9, :, 3) = (/ & & 1.98963e-07_rb, 2.01576e-07_rb, 2.04224e-07_rb, 2.06907e-07_rb, 2.09626e-07_rb, & & 2.12379e-07_rb, 2.15169e-07_rb, 2.17996e-07_rb, 2.20860e-07_rb, 2.23761e-07_rb, & & 2.26701e-07_rb, 2.29679e-07_rb, 2.32696e-07_rb, 2.35753e-07_rb, 2.38851e-07_rb, & & 2.41988e-07_rb, 2.45167e-07_rb, 2.48388e-07_rb, 2.51651e-07_rb/) kao_mn2( 1, :, 4) = (/ & & 3.75434e-07_rb, 3.79581e-07_rb, 3.83775e-07_rb, 3.88014e-07_rb, 3.92301e-07_rb, & & 3.96634e-07_rb, 4.01016e-07_rb, 4.05446e-07_rb, 4.09925e-07_rb, 4.14453e-07_rb, & & 4.19032e-07_rb, 4.23661e-07_rb, 4.28341e-07_rb, 4.33073e-07_rb, 4.37857e-07_rb, & & 4.42694e-07_rb, 4.47585e-07_rb, 4.52529e-07_rb, 4.57528e-07_rb/) kao_mn2( 2, :, 4) = (/ & & 3.76756e-07_rb, 3.80760e-07_rb, 3.84805e-07_rb, 3.88894e-07_rb, 3.93027e-07_rb, & & 3.97203e-07_rb, 4.01423e-07_rb, 4.05689e-07_rb, 4.10000e-07_rb, 4.14356e-07_rb, & & 4.18759e-07_rb, 4.23209e-07_rb, 4.27706e-07_rb, 4.32250e-07_rb, 4.36843e-07_rb, & & 4.41485e-07_rb, 4.46176e-07_rb, 4.50917e-07_rb, 4.55708e-07_rb/) kao_mn2( 3, :, 4) = (/ & & 3.76258e-07_rb, 3.78929e-07_rb, 3.81619e-07_rb, 3.84329e-07_rb, 3.87057e-07_rb, & & 3.89805e-07_rb, 3.92572e-07_rb, 3.95359e-07_rb, 3.98166e-07_rb, 4.00993e-07_rb, & & 4.03839e-07_rb, 4.06706e-07_rb, 4.09594e-07_rb, 4.12502e-07_rb, 4.15430e-07_rb, & & 4.18379e-07_rb, 4.21349e-07_rb, 4.24341e-07_rb, 4.27353e-07_rb/) kao_mn2( 4, :, 4) = (/ & & 3.17796e-07_rb, 3.22447e-07_rb, 3.27166e-07_rb, 3.31954e-07_rb, 3.36812e-07_rb, & & 3.41742e-07_rb, 3.46743e-07_rb, 3.51818e-07_rb, 3.56967e-07_rb, 3.62191e-07_rb, & & 3.67492e-07_rb, 3.72870e-07_rb, 3.78328e-07_rb, 3.83865e-07_rb, 3.89483e-07_rb, & & 3.95183e-07_rb, 4.00967e-07_rb, 4.06835e-07_rb, 4.12789e-07_rb/) kao_mn2( 5, :, 4) = (/ & & 3.33793e-07_rb, 3.38941e-07_rb, 3.44169e-07_rb, 3.49478e-07_rb, 3.54868e-07_rb, & & 3.60342e-07_rb, 3.65900e-07_rb, 3.71544e-07_rb, 3.77275e-07_rb, 3.83094e-07_rb, & & 3.89003e-07_rb, 3.95003e-07_rb, 4.01096e-07_rb, 4.07283e-07_rb, 4.13565e-07_rb, & & 4.19944e-07_rb, 4.26421e-07_rb, 4.32999e-07_rb, 4.39677e-07_rb/) kao_mn2( 6, :, 4) = (/ & & 3.60052e-07_rb, 3.66686e-07_rb, 3.73442e-07_rb, 3.80323e-07_rb, 3.87330e-07_rb, & & 3.94466e-07_rb, 4.01734e-07_rb, 4.09136e-07_rb, 4.16674e-07_rb, 4.24351e-07_rb, & & 4.32169e-07_rb, 4.40132e-07_rb, 4.48241e-07_rb, 4.56500e-07_rb, 4.64910e-07_rb, & & 4.73476e-07_rb, 4.82200e-07_rb, 4.91084e-07_rb, 5.00132e-07_rb/) kao_mn2( 7, :, 4) = (/ & & 4.14713e-07_rb, 4.21885e-07_rb, 4.29181e-07_rb, 4.36603e-07_rb, 4.44153e-07_rb, & & 4.51834e-07_rb, 4.59648e-07_rb, 4.67598e-07_rb, 4.75684e-07_rb, 4.83910e-07_rb, & & 4.92279e-07_rb, 5.00793e-07_rb, 5.09453e-07_rb, 5.18264e-07_rb, 5.27226e-07_rb, & & 5.36344e-07_rb, 5.45620e-07_rb, 5.55055e-07_rb, 5.64654e-07_rb/) kao_mn2( 8, :, 4) = (/ & & 4.15352e-07_rb, 4.24386e-07_rb, 4.33617e-07_rb, 4.43049e-07_rb, 4.52685e-07_rb, & & 4.62532e-07_rb, 4.72592e-07_rb, 4.82872e-07_rb, 4.93374e-07_rb, 5.04106e-07_rb, & & 5.15071e-07_rb, 5.26274e-07_rb, 5.37721e-07_rb, 5.49417e-07_rb, 5.61367e-07_rb, & & 5.73577e-07_rb, 5.86053e-07_rb, 5.98800e-07_rb, 6.11825e-07_rb/) kao_mn2( 9, :, 4) = (/ & & 3.33820e-07_rb, 3.39144e-07_rb, 3.44553e-07_rb, 3.50048e-07_rb, 3.55631e-07_rb, & & 3.61302e-07_rb, 3.67065e-07_rb, 3.72919e-07_rb, 3.78866e-07_rb, 3.84908e-07_rb, & & 3.91047e-07_rb, 3.97284e-07_rb, 4.03620e-07_rb, 4.10057e-07_rb, 4.16597e-07_rb, & & 4.23241e-07_rb, 4.29991e-07_rb, 4.36849e-07_rb, 4.43816e-07_rb/) kao_mn2( 1, :, 5) = (/ & & 6.99819e-07_rb, 7.04629e-07_rb, 7.09472e-07_rb, 7.14349e-07_rb, 7.19258e-07_rb, & & 7.24202e-07_rb, 7.29180e-07_rb, 7.34192e-07_rb, 7.39238e-07_rb, 7.44319e-07_rb, & & 7.49435e-07_rb, 7.54586e-07_rb, 7.59773e-07_rb, 7.64995e-07_rb, 7.70253e-07_rb, & & 7.75547e-07_rb, 7.80877e-07_rb, 7.86245e-07_rb, 7.91649e-07_rb/) kao_mn2( 2, :, 5) = (/ & & 6.98257e-07_rb, 7.03182e-07_rb, 7.08143e-07_rb, 7.13138e-07_rb, 7.18169e-07_rb, & & 7.23235e-07_rb, 7.28336e-07_rb, 7.33474e-07_rb, 7.38648e-07_rb, 7.43858e-07_rb, & & 7.49106e-07_rb, 7.54390e-07_rb, 7.59711e-07_rb, 7.65071e-07_rb, 7.70467e-07_rb, & & 7.75902e-07_rb, 7.81376e-07_rb, 7.86887e-07_rb, 7.92438e-07_rb/) kao_mn2( 3, :, 5) = (/ & & 6.98531e-07_rb, 7.03429e-07_rb, 7.08361e-07_rb, 7.13328e-07_rb, 7.18329e-07_rb, & & 7.23365e-07_rb, 7.28437e-07_rb, 7.33545e-07_rb, 7.38688e-07_rb, 7.43867e-07_rb, & & 7.49082e-07_rb, 7.54335e-07_rb, 7.59623e-07_rb, 7.64950e-07_rb, 7.70313e-07_rb, & & 7.75714e-07_rb, 7.81153e-07_rb, 7.86630e-07_rb, 7.92145e-07_rb/) kao_mn2( 4, :, 5) = (/ & & 7.37210e-07_rb, 7.38869e-07_rb, 7.40532e-07_rb, 7.42198e-07_rb, 7.43868e-07_rb, & & 7.45542e-07_rb, 7.47219e-07_rb, 7.48901e-07_rb, 7.50586e-07_rb, 7.52275e-07_rb, & & 7.53967e-07_rb, 7.55664e-07_rb, 7.57364e-07_rb, 7.59068e-07_rb, 7.60777e-07_rb, & & 7.62488e-07_rb, 7.64204e-07_rb, 7.65924e-07_rb, 7.67647e-07_rb/) kao_mn2( 5, :, 5) = (/ & & 6.07063e-07_rb, 6.12893e-07_rb, 6.18779e-07_rb, 6.24722e-07_rb, 6.30721e-07_rb, & & 6.36778e-07_rb, 6.42893e-07_rb, 6.49067e-07_rb, 6.55301e-07_rb, 6.61594e-07_rb, & & 6.67947e-07_rb, 6.74362e-07_rb, 6.80838e-07_rb, 6.87376e-07_rb, 6.93978e-07_rb, & & 7.00642e-07_rb, 7.07371e-07_rb, 7.14164e-07_rb, 7.21022e-07_rb/) kao_mn2( 6, :, 5) = (/ & & 6.13354e-07_rb, 6.20147e-07_rb, 6.27016e-07_rb, 6.33961e-07_rb, 6.40983e-07_rb, & & 6.48082e-07_rb, 6.55260e-07_rb, 6.62518e-07_rb, 6.69856e-07_rb, 6.77276e-07_rb, & & 6.84777e-07_rb, 6.92362e-07_rb, 7.00030e-07_rb, 7.07784e-07_rb, 7.15624e-07_rb, & & 7.23550e-07_rb, 7.31564e-07_rb, 7.39667e-07_rb, 7.47859e-07_rb/) kao_mn2( 7, :, 5) = (/ & & 6.86666e-07_rb, 6.92902e-07_rb, 6.99195e-07_rb, 7.05545e-07_rb, 7.11952e-07_rb, & & 7.18418e-07_rb, 7.24943e-07_rb, 7.31526e-07_rb, 7.38170e-07_rb, 7.44874e-07_rb, & & 7.51639e-07_rb, 7.58465e-07_rb, 7.65353e-07_rb, 7.72304e-07_rb, 7.79318e-07_rb, & & 7.86395e-07_rb, 7.93537e-07_rb, 8.00744e-07_rb, 8.08016e-07_rb/) kao_mn2( 8, :, 5) = (/ & & 9.39664e-07_rb, 9.39765e-07_rb, 9.39866e-07_rb, 9.39966e-07_rb, 9.40067e-07_rb, & & 9.40168e-07_rb, 9.40268e-07_rb, 9.40369e-07_rb, 9.40470e-07_rb, 9.40571e-07_rb, & & 9.40671e-07_rb, 9.40772e-07_rb, 9.40873e-07_rb, 9.40974e-07_rb, 9.41074e-07_rb, & & 9.41175e-07_rb, 9.41276e-07_rb, 9.41377e-07_rb, 9.41478e-07_rb/) kao_mn2( 9, :, 5) = (/ & & 6.02847e-07_rb, 6.09726e-07_rb, 6.16684e-07_rb, 6.23722e-07_rb, 6.30839e-07_rb, & & 6.38038e-07_rb, 6.45320e-07_rb, 6.52684e-07_rb, 6.60132e-07_rb, 6.67665e-07_rb, & & 6.75284e-07_rb, 6.82991e-07_rb, 6.90785e-07_rb, 6.98668e-07_rb, 7.06641e-07_rb, & & 7.14705e-07_rb, 7.22861e-07_rb, 7.31110e-07_rb, 7.39453e-07_rb/) kao_mn2( 1, :, 6) = (/ & & 1.13692e-06_rb, 1.13231e-06_rb, 1.12772e-06_rb, 1.12315e-06_rb, 1.11859e-06_rb, & & 1.11406e-06_rb, 1.10954e-06_rb, 1.10505e-06_rb, 1.10057e-06_rb, 1.09610e-06_rb, & & 1.09166e-06_rb, 1.08724e-06_rb, 1.08283e-06_rb, 1.07844e-06_rb, 1.07407e-06_rb, & & 1.06971e-06_rb, 1.06538e-06_rb, 1.06106e-06_rb, 1.05676e-06_rb/) kao_mn2( 2, :, 6) = (/ & & 1.13682e-06_rb, 1.13221e-06_rb, 1.12762e-06_rb, 1.12305e-06_rb, 1.11849e-06_rb, & & 1.11396e-06_rb, 1.10944e-06_rb, 1.10495e-06_rb, 1.10047e-06_rb, 1.09600e-06_rb, & & 1.09156e-06_rb, 1.08714e-06_rb, 1.08273e-06_rb, 1.07834e-06_rb, 1.07397e-06_rb, & & 1.06961e-06_rb, 1.06528e-06_rb, 1.06096e-06_rb, 1.05666e-06_rb/) kao_mn2( 3, :, 6) = (/ & & 1.13642e-06_rb, 1.13181e-06_rb, 1.12722e-06_rb, 1.12265e-06_rb, 1.11809e-06_rb, & & 1.11356e-06_rb, 1.10904e-06_rb, 1.10455e-06_rb, 1.10007e-06_rb, 1.09560e-06_rb, & & 1.09116e-06_rb, 1.08674e-06_rb, 1.08233e-06_rb, 1.07794e-06_rb, 1.07357e-06_rb, & & 1.06921e-06_rb, 1.06488e-06_rb, 1.06056e-06_rb, 1.05626e-06_rb/) kao_mn2( 4, :, 6) = (/ & & 1.13626e-06_rb, 1.13160e-06_rb, 1.12696e-06_rb, 1.12233e-06_rb, 1.11773e-06_rb, & & 1.11314e-06_rb, 1.10858e-06_rb, 1.10403e-06_rb, 1.09950e-06_rb, 1.09498e-06_rb, & & 1.09049e-06_rb, 1.08602e-06_rb, 1.08156e-06_rb, 1.07712e-06_rb, 1.07270e-06_rb, & & 1.06830e-06_rb, 1.06392e-06_rb, 1.05955e-06_rb, 1.05520e-06_rb/) kao_mn2( 5, :, 6) = (/ & & 1.22429e-06_rb, 1.21163e-06_rb, 1.19909e-06_rb, 1.18669e-06_rb, 1.17441e-06_rb, & & 1.16226e-06_rb, 1.15024e-06_rb, 1.13834e-06_rb, 1.12656e-06_rb, 1.11491e-06_rb, & & 1.10338e-06_rb, 1.09196e-06_rb, 1.08067e-06_rb, 1.06949e-06_rb, 1.05842e-06_rb, & & 1.04747e-06_rb, 1.03664e-06_rb, 1.02591e-06_rb, 1.01530e-06_rb/) kao_mn2( 6, :, 6) = (/ & & 1.02400e-06_rb, 1.02238e-06_rb, 1.02077e-06_rb, 1.01916e-06_rb, 1.01755e-06_rb, & & 1.01594e-06_rb, 1.01433e-06_rb, 1.01273e-06_rb, 1.01113e-06_rb, 1.00953e-06_rb, & & 1.00794e-06_rb, 1.00635e-06_rb, 1.00476e-06_rb, 1.00317e-06_rb, 1.00159e-06_rb, & & 1.00000e-06_rb, 9.98425e-07_rb, 9.96848e-07_rb, 9.95273e-07_rb/) kao_mn2( 7, :, 6) = (/ & & 1.08594e-06_rb, 1.08185e-06_rb, 1.07778e-06_rb, 1.07373e-06_rb, 1.06969e-06_rb, & & 1.06566e-06_rb, 1.06165e-06_rb, 1.05766e-06_rb, 1.05368e-06_rb, 1.04971e-06_rb, & & 1.04576e-06_rb, 1.04183e-06_rb, 1.03791e-06_rb, 1.03400e-06_rb, 1.03011e-06_rb, & & 1.02623e-06_rb, 1.02237e-06_rb, 1.01852e-06_rb, 1.01469e-06_rb/) kao_mn2( 8, :, 6) = (/ & & 1.25029e-06_rb, 1.22508e-06_rb, 1.20038e-06_rb, 1.17618e-06_rb, 1.15247e-06_rb, & & 1.12924e-06_rb, 1.10647e-06_rb, 1.08416e-06_rb, 1.06231e-06_rb, 1.04089e-06_rb, & & 1.01990e-06_rb, 9.99343e-07_rb, 9.79196e-07_rb, 9.59454e-07_rb, 9.40111e-07_rb, & & 9.21158e-07_rb, 9.02587e-07_rb, 8.84390e-07_rb, 8.66560e-07_rb/) kao_mn2( 9, :, 6) = (/ & & 1.21299e-06_rb, 1.19953e-06_rb, 1.18622e-06_rb, 1.17305e-06_rb, 1.16003e-06_rb, & & 1.14716e-06_rb, 1.13443e-06_rb, 1.12184e-06_rb, 1.10939e-06_rb, 1.09708e-06_rb, & & 1.08491e-06_rb, 1.07287e-06_rb, 1.06096e-06_rb, 1.04919e-06_rb, 1.03755e-06_rb, & & 1.02603e-06_rb, 1.01465e-06_rb, 1.00339e-06_rb, 9.92253e-07_rb/) kao_mn2( 1, :, 7) = (/ & & 1.53893e-06_rb, 1.51743e-06_rb, 1.49623e-06_rb, 1.47532e-06_rb, 1.45471e-06_rb, & & 1.43438e-06_rb, 1.41434e-06_rb, 1.39458e-06_rb, 1.37509e-06_rb, 1.35588e-06_rb, & & 1.33694e-06_rb, 1.31826e-06_rb, 1.29984e-06_rb, 1.28167e-06_rb, 1.26377e-06_rb, & & 1.24611e-06_rb, 1.22870e-06_rb, 1.21153e-06_rb, 1.19460e-06_rb/) kao_mn2( 2, :, 7) = (/ & & 1.53809e-06_rb, 1.51665e-06_rb, 1.49552e-06_rb, 1.47467e-06_rb, 1.45412e-06_rb, & & 1.43386e-06_rb, 1.41388e-06_rb, 1.39418e-06_rb, 1.37475e-06_rb, 1.35559e-06_rb, & & 1.33670e-06_rb, 1.31807e-06_rb, 1.29970e-06_rb, 1.28159e-06_rb, 1.26373e-06_rb, & & 1.24612e-06_rb, 1.22875e-06_rb, 1.21163e-06_rb, 1.19475e-06_rb/) kao_mn2( 3, :, 7) = (/ & & 1.53883e-06_rb, 1.51733e-06_rb, 1.49613e-06_rb, 1.47522e-06_rb, 1.45461e-06_rb, & & 1.43428e-06_rb, 1.41424e-06_rb, 1.39448e-06_rb, 1.37499e-06_rb, 1.35578e-06_rb, & & 1.33684e-06_rb, 1.31816e-06_rb, 1.29974e-06_rb, 1.28157e-06_rb, 1.26367e-06_rb, & & 1.24601e-06_rb, 1.22860e-06_rb, 1.21143e-06_rb, 1.19450e-06_rb/) kao_mn2( 4, :, 7) = (/ & & 1.53789e-06_rb, 1.51645e-06_rb, 1.49532e-06_rb, 1.47448e-06_rb, 1.45393e-06_rb, & & 1.43366e-06_rb, 1.41368e-06_rb, 1.39398e-06_rb, 1.37455e-06_rb, 1.35539e-06_rb, & & 1.33650e-06_rb, 1.31787e-06_rb, 1.29950e-06_rb, 1.28139e-06_rb, 1.26353e-06_rb, & & 1.24592e-06_rb, 1.22856e-06_rb, 1.21143e-06_rb, 1.19455e-06_rb/) kao_mn2( 5, :, 7) = (/ & & 1.54059e-06_rb, 1.51888e-06_rb, 1.49747e-06_rb, 1.47637e-06_rb, 1.45557e-06_rb, & & 1.43505e-06_rb, 1.41483e-06_rb, 1.39489e-06_rb, 1.37523e-06_rb, 1.35585e-06_rb, & & 1.33675e-06_rb, 1.31791e-06_rb, 1.29934e-06_rb, 1.28103e-06_rb, 1.26297e-06_rb, & & 1.24517e-06_rb, 1.22763e-06_rb, 1.21033e-06_rb, 1.19327e-06_rb/) kao_mn2( 6, :, 7) = (/ & & 1.70605e-06_rb, 1.65759e-06_rb, 1.61052e-06_rb, 1.56478e-06_rb, 1.52034e-06_rb, & & 1.47716e-06_rb, 1.43521e-06_rb, 1.39445e-06_rb, 1.35485e-06_rb, 1.31637e-06_rb, & & 1.27898e-06_rb, 1.24266e-06_rb, 1.20737e-06_rb, 1.17308e-06_rb, 1.13976e-06_rb, & & 1.10739e-06_rb, 1.07594e-06_rb, 1.04539e-06_rb, 1.01570e-06_rb/) kao_mn2( 7, :, 7) = (/ & & 1.39128e-06_rb, 1.36388e-06_rb, 1.33702e-06_rb, 1.31068e-06_rb, 1.28487e-06_rb, & & 1.25956e-06_rb, 1.23475e-06_rb, 1.21044e-06_rb, 1.18659e-06_rb, 1.16322e-06_rb, & & 1.14031e-06_rb, 1.11785e-06_rb, 1.09584e-06_rb, 1.07425e-06_rb, 1.05309e-06_rb, & & 1.03235e-06_rb, 1.01202e-06_rb, 9.92088e-07_rb, 9.72548e-07_rb/) kao_mn2( 8, :, 7) = (/ & & 1.15676e-06_rb, 1.13709e-06_rb, 1.11775e-06_rb, 1.09874e-06_rb, 1.08005e-06_rb, & & 1.06168e-06_rb, 1.04362e-06_rb, 1.02587e-06_rb, 1.00842e-06_rb, 9.91271e-07_rb, & & 9.74411e-07_rb, 9.57838e-07_rb, 9.41547e-07_rb, 9.25532e-07_rb, 9.09791e-07_rb, & & 8.94316e-07_rb, 8.79105e-07_rb, 8.64153e-07_rb, 8.49455e-07_rb/) kao_mn2( 9, :, 7) = (/ & & 1.53483e-06_rb, 1.51352e-06_rb, 1.49252e-06_rb, 1.47180e-06_rb, 1.45138e-06_rb, & & 1.43123e-06_rb, 1.41137e-06_rb, 1.39178e-06_rb, 1.37246e-06_rb, 1.35341e-06_rb, & & 1.33463e-06_rb, 1.31610e-06_rb, 1.29784e-06_rb, 1.27982e-06_rb, 1.26206e-06_rb, & & 1.24454e-06_rb, 1.22727e-06_rb, 1.21024e-06_rb, 1.19344e-06_rb/) kao_mn2( 1, :, 8) = (/ & & 1.70380e-06_rb, 1.67470e-06_rb, 1.64609e-06_rb, 1.61796e-06_rb, 1.59032e-06_rb, & & 1.56315e-06_rb, 1.53645e-06_rb, 1.51020e-06_rb, 1.48440e-06_rb, 1.45904e-06_rb, & & 1.43411e-06_rb, 1.40961e-06_rb, 1.38553e-06_rb, 1.36186e-06_rb, 1.33859e-06_rb, & & 1.31572e-06_rb, 1.29324e-06_rb, 1.27115e-06_rb, 1.24943e-06_rb/) kao_mn2( 2, :, 8) = (/ & & 1.70380e-06_rb, 1.67470e-06_rb, 1.64609e-06_rb, 1.61796e-06_rb, 1.59032e-06_rb, & & 1.56315e-06_rb, 1.53645e-06_rb, 1.51020e-06_rb, 1.48440e-06_rb, 1.45904e-06_rb, & & 1.43411e-06_rb, 1.40961e-06_rb, 1.38553e-06_rb, 1.36186e-06_rb, 1.33859e-06_rb, & & 1.31572e-06_rb, 1.29324e-06_rb, 1.27115e-06_rb, 1.24943e-06_rb/) kao_mn2( 3, :, 8) = (/ & & 1.70380e-06_rb, 1.67470e-06_rb, 1.64609e-06_rb, 1.61796e-06_rb, 1.59032e-06_rb, & & 1.56315e-06_rb, 1.53645e-06_rb, 1.51020e-06_rb, 1.48440e-06_rb, 1.45904e-06_rb, & & 1.43411e-06_rb, 1.40961e-06_rb, 1.38553e-06_rb, 1.36186e-06_rb, 1.33859e-06_rb, & & 1.31572e-06_rb, 1.29324e-06_rb, 1.27115e-06_rb, 1.24943e-06_rb/) kao_mn2( 4, :, 8) = (/ & & 1.70380e-06_rb, 1.67470e-06_rb, 1.64609e-06_rb, 1.61796e-06_rb, 1.59032e-06_rb, & & 1.56315e-06_rb, 1.53645e-06_rb, 1.51020e-06_rb, 1.48440e-06_rb, 1.45904e-06_rb, & & 1.43411e-06_rb, 1.40961e-06_rb, 1.38553e-06_rb, 1.36186e-06_rb, 1.33859e-06_rb, & & 1.31572e-06_rb, 1.29324e-06_rb, 1.27115e-06_rb, 1.24943e-06_rb/) kao_mn2( 5, :, 8) = (/ & & 1.70380e-06_rb, 1.67470e-06_rb, 1.64609e-06_rb, 1.61796e-06_rb, 1.59032e-06_rb, & & 1.56315e-06_rb, 1.53645e-06_rb, 1.51020e-06_rb, 1.48440e-06_rb, 1.45904e-06_rb, & & 1.43411e-06_rb, 1.40961e-06_rb, 1.38553e-06_rb, 1.36186e-06_rb, 1.33859e-06_rb, & & 1.31572e-06_rb, 1.29324e-06_rb, 1.27115e-06_rb, 1.24943e-06_rb/) kao_mn2( 6, :, 8) = (/ & & 1.70380e-06_rb, 1.67470e-06_rb, 1.64609e-06_rb, 1.61796e-06_rb, 1.59032e-06_rb, & & 1.56315e-06_rb, 1.53645e-06_rb, 1.51020e-06_rb, 1.48440e-06_rb, 1.45904e-06_rb, & & 1.43411e-06_rb, 1.40961e-06_rb, 1.38553e-06_rb, 1.36186e-06_rb, 1.33859e-06_rb, & & 1.31572e-06_rb, 1.29324e-06_rb, 1.27115e-06_rb, 1.24943e-06_rb/) kao_mn2( 7, :, 8) = (/ & & 1.71827e-06_rb, 1.65481e-06_rb, 1.59370e-06_rb, 1.53484e-06_rb, 1.47816e-06_rb, & & 1.42357e-06_rb, 1.37099e-06_rb, 1.32036e-06_rb, 1.27160e-06_rb, 1.22464e-06_rb, & & 1.17941e-06_rb, 1.13585e-06_rb, 1.09390e-06_rb, 1.05350e-06_rb, 1.01459e-06_rb, & & 9.77124e-07_rb, 9.41037e-07_rb, 9.06284e-07_rb, 8.72813e-07_rb/) kao_mn2( 8, :, 8) = (/ & & 1.77169e-06_rb, 1.62858e-06_rb, 1.49703e-06_rb, 1.37610e-06_rb, 1.26494e-06_rb, & & 1.16276e-06_rb, 1.06883e-06_rb, 9.82495e-07_rb, 9.03131e-07_rb, 8.30177e-07_rb, & & 7.63117e-07_rb, 7.01473e-07_rb, 6.44810e-07_rb, 5.92723e-07_rb, 5.44844e-07_rb, & & 5.00832e-07_rb, 4.60376e-07_rb, 4.23187e-07_rb, 3.89003e-07_rb/) kao_mn2( 9, :, 8) = (/ & & 1.70025e-06_rb, 1.67042e-06_rb, 1.64110e-06_rb, 1.61231e-06_rb, 1.58401e-06_rb, & & 1.55622e-06_rb, 1.52891e-06_rb, 1.50208e-06_rb, 1.47572e-06_rb, 1.44982e-06_rb, & & 1.42438e-06_rb, 1.39939e-06_rb, 1.37483e-06_rb, 1.35071e-06_rb, 1.32700e-06_rb, & & 1.30372e-06_rb, 1.28084e-06_rb, 1.25836e-06_rb, 1.23628e-06_rb/) kao_mn2( 1, :, 9) = (/ & & 1.74004e-06_rb, 1.70661e-06_rb, 1.67383e-06_rb, 1.64167e-06_rb, 1.61014e-06_rb, & & 1.57921e-06_rb, 1.54887e-06_rb, 1.51912e-06_rb, 1.48994e-06_rb, 1.46132e-06_rb, & & 1.43325e-06_rb, 1.40572e-06_rb, 1.37871e-06_rb, 1.35223e-06_rb, 1.32625e-06_rb, & & 1.30078e-06_rb, 1.27579e-06_rb, 1.25128e-06_rb, 1.22725e-06_rb/) kao_mn2( 2, :, 9) = (/ & & 1.74004e-06_rb, 1.70661e-06_rb, 1.67383e-06_rb, 1.64167e-06_rb, 1.61014e-06_rb, & & 1.57921e-06_rb, 1.54887e-06_rb, 1.51912e-06_rb, 1.48994e-06_rb, 1.46132e-06_rb, & & 1.43325e-06_rb, 1.40572e-06_rb, 1.37871e-06_rb, 1.35223e-06_rb, 1.32625e-06_rb, & & 1.30078e-06_rb, 1.27579e-06_rb, 1.25128e-06_rb, 1.22725e-06_rb/) kao_mn2( 3, :, 9) = (/ & & 1.74004e-06_rb, 1.70661e-06_rb, 1.67383e-06_rb, 1.64167e-06_rb, 1.61014e-06_rb, & & 1.57921e-06_rb, 1.54887e-06_rb, 1.51912e-06_rb, 1.48994e-06_rb, 1.46132e-06_rb, & & 1.43325e-06_rb, 1.40572e-06_rb, 1.37871e-06_rb, 1.35223e-06_rb, 1.32625e-06_rb, & & 1.30078e-06_rb, 1.27579e-06_rb, 1.25128e-06_rb, 1.22725e-06_rb/) kao_mn2( 4, :, 9) = (/ & & 1.74004e-06_rb, 1.70661e-06_rb, 1.67383e-06_rb, 1.64167e-06_rb, 1.61014e-06_rb, & & 1.57921e-06_rb, 1.54887e-06_rb, 1.51912e-06_rb, 1.48994e-06_rb, 1.46132e-06_rb, & & 1.43325e-06_rb, 1.40572e-06_rb, 1.37871e-06_rb, 1.35223e-06_rb, 1.32625e-06_rb, & & 1.30078e-06_rb, 1.27579e-06_rb, 1.25128e-06_rb, 1.22725e-06_rb/) kao_mn2( 5, :, 9) = (/ & & 1.74004e-06_rb, 1.70661e-06_rb, 1.67383e-06_rb, 1.64167e-06_rb, 1.61014e-06_rb, & & 1.57921e-06_rb, 1.54887e-06_rb, 1.51912e-06_rb, 1.48994e-06_rb, 1.46132e-06_rb, & & 1.43325e-06_rb, 1.40572e-06_rb, 1.37871e-06_rb, 1.35223e-06_rb, 1.32625e-06_rb, & & 1.30078e-06_rb, 1.27579e-06_rb, 1.25128e-06_rb, 1.22725e-06_rb/) kao_mn2( 6, :, 9) = (/ & & 1.74004e-06_rb, 1.70661e-06_rb, 1.67383e-06_rb, 1.64167e-06_rb, 1.61014e-06_rb, & & 1.57921e-06_rb, 1.54887e-06_rb, 1.51912e-06_rb, 1.48994e-06_rb, 1.46132e-06_rb, & & 1.43325e-06_rb, 1.40572e-06_rb, 1.37871e-06_rb, 1.35223e-06_rb, 1.32625e-06_rb, & & 1.30078e-06_rb, 1.27579e-06_rb, 1.25128e-06_rb, 1.22725e-06_rb/) kao_mn2( 7, :, 9) = (/ & & 1.74004e-06_rb, 1.70661e-06_rb, 1.67383e-06_rb, 1.64167e-06_rb, 1.61014e-06_rb, & & 1.57921e-06_rb, 1.54887e-06_rb, 1.51912e-06_rb, 1.48994e-06_rb, 1.46132e-06_rb, & & 1.43325e-06_rb, 1.40572e-06_rb, 1.37871e-06_rb, 1.35223e-06_rb, 1.32625e-06_rb, & & 1.30078e-06_rb, 1.27579e-06_rb, 1.25128e-06_rb, 1.22725e-06_rb/) kao_mn2( 8, :, 9) = (/ & & 1.08654e-06_rb, 1.09039e-06_rb, 1.09425e-06_rb, 1.09812e-06_rb, 1.10201e-06_rb, & & 1.10592e-06_rb, 1.10983e-06_rb, 1.11376e-06_rb, 1.11771e-06_rb, 1.12167e-06_rb, & & 1.12564e-06_rb, 1.12962e-06_rb, 1.13363e-06_rb, 1.13764e-06_rb, 1.14167e-06_rb, & & 1.14571e-06_rb, 1.14977e-06_rb, 1.15384e-06_rb, 1.15793e-06_rb/) kao_mn2( 9, :, 9) = (/ & & 1.74382e-06_rb, 1.71092e-06_rb, 1.67864e-06_rb, 1.64697e-06_rb, 1.61589e-06_rb, & & 1.58541e-06_rb, 1.55549e-06_rb, 1.52615e-06_rb, 1.49735e-06_rb, 1.46910e-06_rb, & & 1.44138e-06_rb, 1.41419e-06_rb, 1.38751e-06_rb, 1.36133e-06_rb, 1.33564e-06_rb, & & 1.31045e-06_rb, 1.28572e-06_rb, 1.26146e-06_rb, 1.23766e-06_rb/) kao_mn2( 1, :,10) = (/ & & 1.73703e-06_rb, 1.70249e-06_rb, 1.66863e-06_rb, 1.63544e-06_rb, 1.60292e-06_rb, & & 1.57104e-06_rb, 1.53980e-06_rb, 1.50917e-06_rb, 1.47916e-06_rb, 1.44974e-06_rb, & & 1.42091e-06_rb, 1.39265e-06_rb, 1.36496e-06_rb, 1.33781e-06_rb, 1.31121e-06_rb, & & 1.28513e-06_rb, 1.25957e-06_rb, 1.23452e-06_rb, 1.20997e-06_rb/) kao_mn2( 2, :,10) = (/ & & 1.73703e-06_rb, 1.70249e-06_rb, 1.66863e-06_rb, 1.63544e-06_rb, 1.60292e-06_rb, & & 1.57104e-06_rb, 1.53980e-06_rb, 1.50917e-06_rb, 1.47916e-06_rb, 1.44974e-06_rb, & & 1.42091e-06_rb, 1.39265e-06_rb, 1.36496e-06_rb, 1.33781e-06_rb, 1.31121e-06_rb, & & 1.28513e-06_rb, 1.25957e-06_rb, 1.23452e-06_rb, 1.20997e-06_rb/) kao_mn2( 3, :,10) = (/ & & 1.73703e-06_rb, 1.70249e-06_rb, 1.66863e-06_rb, 1.63544e-06_rb, 1.60292e-06_rb, & & 1.57104e-06_rb, 1.53980e-06_rb, 1.50917e-06_rb, 1.47916e-06_rb, 1.44974e-06_rb, & & 1.42091e-06_rb, 1.39265e-06_rb, 1.36496e-06_rb, 1.33781e-06_rb, 1.31121e-06_rb, & & 1.28513e-06_rb, 1.25957e-06_rb, 1.23452e-06_rb, 1.20997e-06_rb/) kao_mn2( 4, :,10) = (/ & & 1.73703e-06_rb, 1.70249e-06_rb, 1.66863e-06_rb, 1.63544e-06_rb, 1.60292e-06_rb, & & 1.57104e-06_rb, 1.53980e-06_rb, 1.50917e-06_rb, 1.47916e-06_rb, 1.44974e-06_rb, & & 1.42091e-06_rb, 1.39265e-06_rb, 1.36496e-06_rb, 1.33781e-06_rb, 1.31121e-06_rb, & & 1.28513e-06_rb, 1.25957e-06_rb, 1.23452e-06_rb, 1.20997e-06_rb/) kao_mn2( 5, :,10) = (/ & & 1.73703e-06_rb, 1.70249e-06_rb, 1.66863e-06_rb, 1.63544e-06_rb, 1.60292e-06_rb, & & 1.57104e-06_rb, 1.53980e-06_rb, 1.50917e-06_rb, 1.47916e-06_rb, 1.44974e-06_rb, & & 1.42091e-06_rb, 1.39265e-06_rb, 1.36496e-06_rb, 1.33781e-06_rb, 1.31121e-06_rb, & & 1.28513e-06_rb, 1.25957e-06_rb, 1.23452e-06_rb, 1.20997e-06_rb/) kao_mn2( 6, :,10) = (/ & & 1.73703e-06_rb, 1.70249e-06_rb, 1.66863e-06_rb, 1.63544e-06_rb, 1.60292e-06_rb, & & 1.57104e-06_rb, 1.53980e-06_rb, 1.50917e-06_rb, 1.47916e-06_rb, 1.44974e-06_rb, & & 1.42091e-06_rb, 1.39265e-06_rb, 1.36496e-06_rb, 1.33781e-06_rb, 1.31121e-06_rb, & & 1.28513e-06_rb, 1.25957e-06_rb, 1.23452e-06_rb, 1.20997e-06_rb/) kao_mn2( 7, :,10) = (/ & & 1.73703e-06_rb, 1.70249e-06_rb, 1.66863e-06_rb, 1.63544e-06_rb, 1.60292e-06_rb, & & 1.57104e-06_rb, 1.53980e-06_rb, 1.50917e-06_rb, 1.47916e-06_rb, 1.44974e-06_rb, & & 1.42091e-06_rb, 1.39265e-06_rb, 1.36496e-06_rb, 1.33781e-06_rb, 1.31121e-06_rb, & & 1.28513e-06_rb, 1.25957e-06_rb, 1.23452e-06_rb, 1.20997e-06_rb/) kao_mn2( 8, :,10) = (/ & & 1.73703e-06_rb, 1.70249e-06_rb, 1.66863e-06_rb, 1.63544e-06_rb, 1.60292e-06_rb, & & 1.57104e-06_rb, 1.53980e-06_rb, 1.50917e-06_rb, 1.47916e-06_rb, 1.44974e-06_rb, & & 1.42091e-06_rb, 1.39265e-06_rb, 1.36496e-06_rb, 1.33781e-06_rb, 1.31121e-06_rb, & & 1.28513e-06_rb, 1.25957e-06_rb, 1.23452e-06_rb, 1.20997e-06_rb/) kao_mn2( 9, :,10) = (/ & & 1.82903e-06_rb, 1.78673e-06_rb, 1.74541e-06_rb, 1.70505e-06_rb, 1.66562e-06_rb, & & 1.62710e-06_rb, 1.58947e-06_rb, 1.55271e-06_rb, 1.51680e-06_rb, 1.48172e-06_rb, & & 1.44745e-06_rb, 1.41398e-06_rb, 1.38128e-06_rb, 1.34933e-06_rb, 1.31813e-06_rb, & & 1.28765e-06_rb, 1.25787e-06_rb, 1.22878e-06_rb, 1.20036e-06_rb/) kao_mn2( 1, :,11) = (/ & & 1.73118e-06_rb, 1.69710e-06_rb, 1.66370e-06_rb, 1.63095e-06_rb, 1.59885e-06_rb, & & 1.56737e-06_rb, 1.53652e-06_rb, 1.50628e-06_rb, 1.47663e-06_rb, 1.44756e-06_rb, & & 1.41907e-06_rb, 1.39114e-06_rb, 1.36376e-06_rb, 1.33691e-06_rb, 1.31060e-06_rb, & & 1.28480e-06_rb, 1.25951e-06_rb, 1.23472e-06_rb, 1.21041e-06_rb/) kao_mn2( 2, :,11) = (/ & & 1.73118e-06_rb, 1.69710e-06_rb, 1.66370e-06_rb, 1.63095e-06_rb, 1.59885e-06_rb, & & 1.56737e-06_rb, 1.53652e-06_rb, 1.50628e-06_rb, 1.47663e-06_rb, 1.44756e-06_rb, & & 1.41907e-06_rb, 1.39114e-06_rb, 1.36376e-06_rb, 1.33691e-06_rb, 1.31060e-06_rb, & & 1.28480e-06_rb, 1.25951e-06_rb, 1.23472e-06_rb, 1.21041e-06_rb/) kao_mn2( 3, :,11) = (/ & & 1.73118e-06_rb, 1.69710e-06_rb, 1.66370e-06_rb, 1.63095e-06_rb, 1.59885e-06_rb, & & 1.56737e-06_rb, 1.53652e-06_rb, 1.50628e-06_rb, 1.47663e-06_rb, 1.44756e-06_rb, & & 1.41907e-06_rb, 1.39114e-06_rb, 1.36376e-06_rb, 1.33691e-06_rb, 1.31060e-06_rb, & & 1.28480e-06_rb, 1.25951e-06_rb, 1.23472e-06_rb, 1.21041e-06_rb/) kao_mn2( 4, :,11) = (/ & & 1.73118e-06_rb, 1.69710e-06_rb, 1.66370e-06_rb, 1.63095e-06_rb, 1.59885e-06_rb, & & 1.56737e-06_rb, 1.53652e-06_rb, 1.50628e-06_rb, 1.47663e-06_rb, 1.44756e-06_rb, & & 1.41907e-06_rb, 1.39114e-06_rb, 1.36376e-06_rb, 1.33691e-06_rb, 1.31060e-06_rb, & & 1.28480e-06_rb, 1.25951e-06_rb, 1.23472e-06_rb, 1.21041e-06_rb/) kao_mn2( 5, :,11) = (/ & & 1.73118e-06_rb, 1.69710e-06_rb, 1.66370e-06_rb, 1.63095e-06_rb, 1.59885e-06_rb, & & 1.56737e-06_rb, 1.53652e-06_rb, 1.50628e-06_rb, 1.47663e-06_rb, 1.44756e-06_rb, & & 1.41907e-06_rb, 1.39114e-06_rb, 1.36376e-06_rb, 1.33691e-06_rb, 1.31060e-06_rb, & & 1.28480e-06_rb, 1.25951e-06_rb, 1.23472e-06_rb, 1.21041e-06_rb/) kao_mn2( 6, :,11) = (/ & & 1.73118e-06_rb, 1.69710e-06_rb, 1.66370e-06_rb, 1.63095e-06_rb, 1.59885e-06_rb, & & 1.56737e-06_rb, 1.53652e-06_rb, 1.50628e-06_rb, 1.47663e-06_rb, 1.44756e-06_rb, & & 1.41907e-06_rb, 1.39114e-06_rb, 1.36376e-06_rb, 1.33691e-06_rb, 1.31060e-06_rb, & & 1.28480e-06_rb, 1.25951e-06_rb, 1.23472e-06_rb, 1.21041e-06_rb/) kao_mn2( 7, :,11) = (/ & & 1.73118e-06_rb, 1.69710e-06_rb, 1.66370e-06_rb, 1.63095e-06_rb, 1.59885e-06_rb, & & 1.56737e-06_rb, 1.53652e-06_rb, 1.50628e-06_rb, 1.47663e-06_rb, 1.44756e-06_rb, & & 1.41907e-06_rb, 1.39114e-06_rb, 1.36376e-06_rb, 1.33691e-06_rb, 1.31060e-06_rb, & & 1.28480e-06_rb, 1.25951e-06_rb, 1.23472e-06_rb, 1.21041e-06_rb/) kao_mn2( 8, :,11) = (/ & & 1.73118e-06_rb, 1.69710e-06_rb, 1.66370e-06_rb, 1.63095e-06_rb, 1.59885e-06_rb, & & 1.56737e-06_rb, 1.53652e-06_rb, 1.50628e-06_rb, 1.47663e-06_rb, 1.44756e-06_rb, & & 1.41907e-06_rb, 1.39114e-06_rb, 1.36376e-06_rb, 1.33691e-06_rb, 1.31060e-06_rb, & & 1.28480e-06_rb, 1.25951e-06_rb, 1.23472e-06_rb, 1.21041e-06_rb/) kao_mn2( 9, :,11) = (/ & & 1.81037e-06_rb, 1.76948e-06_rb, 1.72952e-06_rb, 1.69045e-06_rb, 1.65228e-06_rb, & & 1.61496e-06_rb, 1.57848e-06_rb, 1.54283e-06_rb, 1.50799e-06_rb, 1.47393e-06_rb, & & 1.44064e-06_rb, 1.40810e-06_rb, 1.37630e-06_rb, 1.34522e-06_rb, 1.31484e-06_rb, & & 1.28514e-06_rb, 1.25611e-06_rb, 1.22774e-06_rb, 1.20002e-06_rb/) kao_mn2( 1, :,12) = (/ & & 1.73338e-06_rb, 1.69915e-06_rb, 1.66560e-06_rb, 1.63271e-06_rb, 1.60046e-06_rb, & & 1.56886e-06_rb, 1.53788e-06_rb, 1.50751e-06_rb, 1.47774e-06_rb, 1.44856e-06_rb, & & 1.41995e-06_rb, 1.39191e-06_rb, 1.36442e-06_rb, 1.33748e-06_rb, 1.31107e-06_rb, & & 1.28518e-06_rb, 1.25980e-06_rb, 1.23492e-06_rb, 1.21053e-06_rb/) kao_mn2( 2, :,12) = (/ & & 1.73338e-06_rb, 1.69915e-06_rb, 1.66560e-06_rb, 1.63271e-06_rb, 1.60046e-06_rb, & & 1.56886e-06_rb, 1.53788e-06_rb, 1.50751e-06_rb, 1.47774e-06_rb, 1.44856e-06_rb, & & 1.41995e-06_rb, 1.39191e-06_rb, 1.36442e-06_rb, 1.33748e-06_rb, 1.31107e-06_rb, & & 1.28518e-06_rb, 1.25980e-06_rb, 1.23492e-06_rb, 1.21053e-06_rb/) kao_mn2( 3, :,12) = (/ & & 1.73338e-06_rb, 1.69915e-06_rb, 1.66560e-06_rb, 1.63271e-06_rb, 1.60046e-06_rb, & & 1.56886e-06_rb, 1.53788e-06_rb, 1.50751e-06_rb, 1.47774e-06_rb, 1.44856e-06_rb, & & 1.41995e-06_rb, 1.39191e-06_rb, 1.36442e-06_rb, 1.33748e-06_rb, 1.31107e-06_rb, & & 1.28518e-06_rb, 1.25980e-06_rb, 1.23492e-06_rb, 1.21053e-06_rb/) kao_mn2( 4, :,12) = (/ & & 1.73338e-06_rb, 1.69915e-06_rb, 1.66560e-06_rb, 1.63271e-06_rb, 1.60046e-06_rb, & & 1.56886e-06_rb, 1.53788e-06_rb, 1.50751e-06_rb, 1.47774e-06_rb, 1.44856e-06_rb, & & 1.41995e-06_rb, 1.39191e-06_rb, 1.36442e-06_rb, 1.33748e-06_rb, 1.31107e-06_rb, & & 1.28518e-06_rb, 1.25980e-06_rb, 1.23492e-06_rb, 1.21053e-06_rb/) kao_mn2( 5, :,12) = (/ & & 1.73338e-06_rb, 1.69915e-06_rb, 1.66560e-06_rb, 1.63271e-06_rb, 1.60046e-06_rb, & & 1.56886e-06_rb, 1.53788e-06_rb, 1.50751e-06_rb, 1.47774e-06_rb, 1.44856e-06_rb, & & 1.41995e-06_rb, 1.39191e-06_rb, 1.36442e-06_rb, 1.33748e-06_rb, 1.31107e-06_rb, & & 1.28518e-06_rb, 1.25980e-06_rb, 1.23492e-06_rb, 1.21053e-06_rb/) kao_mn2( 6, :,12) = (/ & & 1.73338e-06_rb, 1.69915e-06_rb, 1.66560e-06_rb, 1.63271e-06_rb, 1.60046e-06_rb, & & 1.56886e-06_rb, 1.53788e-06_rb, 1.50751e-06_rb, 1.47774e-06_rb, 1.44856e-06_rb, & & 1.41995e-06_rb, 1.39191e-06_rb, 1.36442e-06_rb, 1.33748e-06_rb, 1.31107e-06_rb, & & 1.28518e-06_rb, 1.25980e-06_rb, 1.23492e-06_rb, 1.21053e-06_rb/) kao_mn2( 7, :,12) = (/ & & 1.73338e-06_rb, 1.69915e-06_rb, 1.66560e-06_rb, 1.63271e-06_rb, 1.60046e-06_rb, & & 1.56886e-06_rb, 1.53788e-06_rb, 1.50751e-06_rb, 1.47774e-06_rb, 1.44856e-06_rb, & & 1.41995e-06_rb, 1.39191e-06_rb, 1.36442e-06_rb, 1.33748e-06_rb, 1.31107e-06_rb, & & 1.28518e-06_rb, 1.25980e-06_rb, 1.23492e-06_rb, 1.21053e-06_rb/) kao_mn2( 8, :,12) = (/ & & 1.73338e-06_rb, 1.69915e-06_rb, 1.66560e-06_rb, 1.63271e-06_rb, 1.60046e-06_rb, & & 1.56886e-06_rb, 1.53788e-06_rb, 1.50751e-06_rb, 1.47774e-06_rb, 1.44856e-06_rb, & & 1.41995e-06_rb, 1.39191e-06_rb, 1.36442e-06_rb, 1.33748e-06_rb, 1.31107e-06_rb, & & 1.28518e-06_rb, 1.25980e-06_rb, 1.23492e-06_rb, 1.21053e-06_rb/) kao_mn2( 9, :,12) = (/ & & 2.04857e-06_rb, 1.98353e-06_rb, 1.92055e-06_rb, 1.85957e-06_rb, 1.80053e-06_rb, & & 1.74336e-06_rb, 1.68800e-06_rb, 1.63441e-06_rb, 1.58251e-06_rb, 1.53227e-06_rb, & & 1.48362e-06_rb, 1.43651e-06_rb, 1.39090e-06_rb, 1.34674e-06_rb, 1.30398e-06_rb, & & 1.26257e-06_rb, 1.22249e-06_rb, 1.18367e-06_rb, 1.14609e-06_rb/) kao_mn2( 1, :,13) = (/ & & 1.73511e-06_rb, 1.70072e-06_rb, 1.66702e-06_rb, 1.63398e-06_rb, 1.60159e-06_rb, & & 1.56985e-06_rb, 1.53874e-06_rb, 1.50824e-06_rb, 1.47835e-06_rb, 1.44905e-06_rb, & & 1.42033e-06_rb, 1.39218e-06_rb, 1.36459e-06_rb, 1.33755e-06_rb, 1.31104e-06_rb, & & 1.28505e-06_rb, 1.25958e-06_rb, 1.23462e-06_rb, 1.21015e-06_rb/) kao_mn2( 2, :,13) = (/ & & 1.73511e-06_rb, 1.70072e-06_rb, 1.66702e-06_rb, 1.63398e-06_rb, 1.60159e-06_rb, & & 1.56985e-06_rb, 1.53874e-06_rb, 1.50824e-06_rb, 1.47835e-06_rb, 1.44905e-06_rb, & & 1.42033e-06_rb, 1.39218e-06_rb, 1.36459e-06_rb, 1.33755e-06_rb, 1.31104e-06_rb, & & 1.28505e-06_rb, 1.25958e-06_rb, 1.23462e-06_rb, 1.21015e-06_rb/) kao_mn2( 3, :,13) = (/ & & 1.73511e-06_rb, 1.70072e-06_rb, 1.66702e-06_rb, 1.63398e-06_rb, 1.60159e-06_rb, & & 1.56985e-06_rb, 1.53874e-06_rb, 1.50824e-06_rb, 1.47835e-06_rb, 1.44905e-06_rb, & & 1.42033e-06_rb, 1.39218e-06_rb, 1.36459e-06_rb, 1.33755e-06_rb, 1.31104e-06_rb, & & 1.28505e-06_rb, 1.25958e-06_rb, 1.23462e-06_rb, 1.21015e-06_rb/) kao_mn2( 4, :,13) = (/ & & 1.73511e-06_rb, 1.70072e-06_rb, 1.66702e-06_rb, 1.63398e-06_rb, 1.60159e-06_rb, & & 1.56985e-06_rb, 1.53874e-06_rb, 1.50824e-06_rb, 1.47835e-06_rb, 1.44905e-06_rb, & & 1.42033e-06_rb, 1.39218e-06_rb, 1.36459e-06_rb, 1.33755e-06_rb, 1.31104e-06_rb, & & 1.28505e-06_rb, 1.25958e-06_rb, 1.23462e-06_rb, 1.21015e-06_rb/) kao_mn2( 5, :,13) = (/ & & 1.73511e-06_rb, 1.70072e-06_rb, 1.66702e-06_rb, 1.63398e-06_rb, 1.60159e-06_rb, & & 1.56985e-06_rb, 1.53874e-06_rb, 1.50824e-06_rb, 1.47835e-06_rb, 1.44905e-06_rb, & & 1.42033e-06_rb, 1.39218e-06_rb, 1.36459e-06_rb, 1.33755e-06_rb, 1.31104e-06_rb, & & 1.28505e-06_rb, 1.25958e-06_rb, 1.23462e-06_rb, 1.21015e-06_rb/) kao_mn2( 6, :,13) = (/ & & 1.73511e-06_rb, 1.70072e-06_rb, 1.66702e-06_rb, 1.63398e-06_rb, 1.60159e-06_rb, & & 1.56985e-06_rb, 1.53874e-06_rb, 1.50824e-06_rb, 1.47835e-06_rb, 1.44905e-06_rb, & & 1.42033e-06_rb, 1.39218e-06_rb, 1.36459e-06_rb, 1.33755e-06_rb, 1.31104e-06_rb, & & 1.28505e-06_rb, 1.25958e-06_rb, 1.23462e-06_rb, 1.21015e-06_rb/) kao_mn2( 7, :,13) = (/ & & 1.73511e-06_rb, 1.70072e-06_rb, 1.66702e-06_rb, 1.63398e-06_rb, 1.60159e-06_rb, & & 1.56985e-06_rb, 1.53874e-06_rb, 1.50824e-06_rb, 1.47835e-06_rb, 1.44905e-06_rb, & & 1.42033e-06_rb, 1.39218e-06_rb, 1.36459e-06_rb, 1.33755e-06_rb, 1.31104e-06_rb, & & 1.28505e-06_rb, 1.25958e-06_rb, 1.23462e-06_rb, 1.21015e-06_rb/) kao_mn2( 8, :,13) = (/ & & 1.73511e-06_rb, 1.70072e-06_rb, 1.66702e-06_rb, 1.63398e-06_rb, 1.60159e-06_rb, & & 1.56985e-06_rb, 1.53874e-06_rb, 1.50824e-06_rb, 1.47835e-06_rb, 1.44905e-06_rb, & & 1.42033e-06_rb, 1.39218e-06_rb, 1.36459e-06_rb, 1.33755e-06_rb, 1.31104e-06_rb, & & 1.28505e-06_rb, 1.25958e-06_rb, 1.23462e-06_rb, 1.21015e-06_rb/) kao_mn2( 9, :,13) = (/ & & 2.13403e-06_rb, 2.05906e-06_rb, 1.98673e-06_rb, 1.91694e-06_rb, 1.84961e-06_rb, & & 1.78463e-06_rb, 1.72194e-06_rb, 1.66145e-06_rb, 1.60309e-06_rb, 1.54678e-06_rb, & & 1.49244e-06_rb, 1.44002e-06_rb, 1.38943e-06_rb, 1.34062e-06_rb, 1.29353e-06_rb, & & 1.24809e-06_rb, 1.20425e-06_rb, 1.16195e-06_rb, 1.12113e-06_rb/) kao_mn2( 1, :,14) = (/ & & 1.73398e-06_rb, 1.69941e-06_rb, 1.66553e-06_rb, 1.63233e-06_rb, 1.59979e-06_rb, & & 1.56790e-06_rb, 1.53664e-06_rb, 1.50601e-06_rb, 1.47598e-06_rb, 1.44656e-06_rb, & & 1.41772e-06_rb, 1.38946e-06_rb, 1.36176e-06_rb, 1.33461e-06_rb, 1.30801e-06_rb, & & 1.28193e-06_rb, 1.25637e-06_rb, 1.23133e-06_rb, 1.20678e-06_rb/) kao_mn2( 2, :,14) = (/ & & 1.73398e-06_rb, 1.69941e-06_rb, 1.66553e-06_rb, 1.63233e-06_rb, 1.59979e-06_rb, & & 1.56790e-06_rb, 1.53664e-06_rb, 1.50601e-06_rb, 1.47598e-06_rb, 1.44656e-06_rb, & & 1.41772e-06_rb, 1.38946e-06_rb, 1.36176e-06_rb, 1.33461e-06_rb, 1.30801e-06_rb, & & 1.28193e-06_rb, 1.25637e-06_rb, 1.23133e-06_rb, 1.20678e-06_rb/) kao_mn2( 3, :,14) = (/ & & 1.73398e-06_rb, 1.69941e-06_rb, 1.66553e-06_rb, 1.63233e-06_rb, 1.59979e-06_rb, & & 1.56790e-06_rb, 1.53664e-06_rb, 1.50601e-06_rb, 1.47598e-06_rb, 1.44656e-06_rb, & & 1.41772e-06_rb, 1.38946e-06_rb, 1.36176e-06_rb, 1.33461e-06_rb, 1.30801e-06_rb, & & 1.28193e-06_rb, 1.25637e-06_rb, 1.23133e-06_rb, 1.20678e-06_rb/) kao_mn2( 4, :,14) = (/ & & 1.73398e-06_rb, 1.69941e-06_rb, 1.66553e-06_rb, 1.63233e-06_rb, 1.59979e-06_rb, & & 1.56790e-06_rb, 1.53664e-06_rb, 1.50601e-06_rb, 1.47598e-06_rb, 1.44656e-06_rb, & & 1.41772e-06_rb, 1.38946e-06_rb, 1.36176e-06_rb, 1.33461e-06_rb, 1.30801e-06_rb, & & 1.28193e-06_rb, 1.25637e-06_rb, 1.23133e-06_rb, 1.20678e-06_rb/) kao_mn2( 5, :,14) = (/ & & 1.73398e-06_rb, 1.69941e-06_rb, 1.66553e-06_rb, 1.63233e-06_rb, 1.59979e-06_rb, & & 1.56790e-06_rb, 1.53664e-06_rb, 1.50601e-06_rb, 1.47598e-06_rb, 1.44656e-06_rb, & & 1.41772e-06_rb, 1.38946e-06_rb, 1.36176e-06_rb, 1.33461e-06_rb, 1.30801e-06_rb, & & 1.28193e-06_rb, 1.25637e-06_rb, 1.23133e-06_rb, 1.20678e-06_rb/) kao_mn2( 6, :,14) = (/ & & 1.73398e-06_rb, 1.69941e-06_rb, 1.66553e-06_rb, 1.63233e-06_rb, 1.59979e-06_rb, & & 1.56790e-06_rb, 1.53664e-06_rb, 1.50601e-06_rb, 1.47598e-06_rb, 1.44656e-06_rb, & & 1.41772e-06_rb, 1.38946e-06_rb, 1.36176e-06_rb, 1.33461e-06_rb, 1.30801e-06_rb, & & 1.28193e-06_rb, 1.25637e-06_rb, 1.23133e-06_rb, 1.20678e-06_rb/) kao_mn2( 7, :,14) = (/ & & 1.73398e-06_rb, 1.69941e-06_rb, 1.66553e-06_rb, 1.63233e-06_rb, 1.59979e-06_rb, & & 1.56790e-06_rb, 1.53664e-06_rb, 1.50601e-06_rb, 1.47598e-06_rb, 1.44656e-06_rb, & & 1.41772e-06_rb, 1.38946e-06_rb, 1.36176e-06_rb, 1.33461e-06_rb, 1.30801e-06_rb, & & 1.28193e-06_rb, 1.25637e-06_rb, 1.23133e-06_rb, 1.20678e-06_rb/) kao_mn2( 8, :,14) = (/ & & 1.73398e-06_rb, 1.69941e-06_rb, 1.66553e-06_rb, 1.63233e-06_rb, 1.59979e-06_rb, & & 1.56790e-06_rb, 1.53664e-06_rb, 1.50601e-06_rb, 1.47598e-06_rb, 1.44656e-06_rb, & & 1.41772e-06_rb, 1.38946e-06_rb, 1.36176e-06_rb, 1.33461e-06_rb, 1.30801e-06_rb, & & 1.28193e-06_rb, 1.25637e-06_rb, 1.23133e-06_rb, 1.20678e-06_rb/) kao_mn2( 9, :,14) = (/ & & 1.83423e-06_rb, 1.79123e-06_rb, 1.74923e-06_rb, 1.70821e-06_rb, 1.66816e-06_rb, & & 1.62904e-06_rb, 1.59085e-06_rb, 1.55354e-06_rb, 1.51712e-06_rb, 1.48154e-06_rb, & & 1.44681e-06_rb, 1.41288e-06_rb, 1.37975e-06_rb, 1.34740e-06_rb, 1.31581e-06_rb, & & 1.28496e-06_rb, 1.25483e-06_rb, 1.22540e-06_rb, 1.19667e-06_rb/) kao_mn2( 1, :,15) = (/ & & 1.73231e-06_rb, 1.69765e-06_rb, 1.66368e-06_rb, 1.63039e-06_rb, 1.59776e-06_rb, & & 1.56579e-06_rb, 1.53445e-06_rb, 1.50375e-06_rb, 1.47366e-06_rb, 1.44417e-06_rb, & & 1.41527e-06_rb, 1.38695e-06_rb, 1.35919e-06_rb, 1.33199e-06_rb, 1.30534e-06_rb, & & 1.27922e-06_rb, 1.25362e-06_rb, 1.22853e-06_rb, 1.20395e-06_rb/) kao_mn2( 2, :,15) = (/ & & 1.73231e-06_rb, 1.69765e-06_rb, 1.66368e-06_rb, 1.63039e-06_rb, 1.59776e-06_rb, & & 1.56579e-06_rb, 1.53445e-06_rb, 1.50375e-06_rb, 1.47366e-06_rb, 1.44417e-06_rb, & & 1.41527e-06_rb, 1.38695e-06_rb, 1.35919e-06_rb, 1.33199e-06_rb, 1.30534e-06_rb, & & 1.27922e-06_rb, 1.25362e-06_rb, 1.22853e-06_rb, 1.20395e-06_rb/) kao_mn2( 3, :,15) = (/ & & 1.73231e-06_rb, 1.69765e-06_rb, 1.66368e-06_rb, 1.63039e-06_rb, 1.59776e-06_rb, & & 1.56579e-06_rb, 1.53445e-06_rb, 1.50375e-06_rb, 1.47366e-06_rb, 1.44417e-06_rb, & & 1.41527e-06_rb, 1.38695e-06_rb, 1.35919e-06_rb, 1.33199e-06_rb, 1.30534e-06_rb, & & 1.27922e-06_rb, 1.25362e-06_rb, 1.22853e-06_rb, 1.20395e-06_rb/) kao_mn2( 4, :,15) = (/ & & 1.73231e-06_rb, 1.69765e-06_rb, 1.66368e-06_rb, 1.63039e-06_rb, 1.59776e-06_rb, & & 1.56579e-06_rb, 1.53445e-06_rb, 1.50375e-06_rb, 1.47366e-06_rb, 1.44417e-06_rb, & & 1.41527e-06_rb, 1.38695e-06_rb, 1.35919e-06_rb, 1.33199e-06_rb, 1.30534e-06_rb, & & 1.27922e-06_rb, 1.25362e-06_rb, 1.22853e-06_rb, 1.20395e-06_rb/) kao_mn2( 5, :,15) = (/ & & 1.73231e-06_rb, 1.69765e-06_rb, 1.66368e-06_rb, 1.63039e-06_rb, 1.59776e-06_rb, & & 1.56579e-06_rb, 1.53445e-06_rb, 1.50375e-06_rb, 1.47366e-06_rb, 1.44417e-06_rb, & & 1.41527e-06_rb, 1.38695e-06_rb, 1.35919e-06_rb, 1.33199e-06_rb, 1.30534e-06_rb, & & 1.27922e-06_rb, 1.25362e-06_rb, 1.22853e-06_rb, 1.20395e-06_rb/) kao_mn2( 6, :,15) = (/ & & 1.73231e-06_rb, 1.69765e-06_rb, 1.66368e-06_rb, 1.63039e-06_rb, 1.59776e-06_rb, & & 1.56579e-06_rb, 1.53445e-06_rb, 1.50375e-06_rb, 1.47366e-06_rb, 1.44417e-06_rb, & & 1.41527e-06_rb, 1.38695e-06_rb, 1.35919e-06_rb, 1.33199e-06_rb, 1.30534e-06_rb, & & 1.27922e-06_rb, 1.25362e-06_rb, 1.22853e-06_rb, 1.20395e-06_rb/) kao_mn2( 7, :,15) = (/ & & 1.73231e-06_rb, 1.69765e-06_rb, 1.66368e-06_rb, 1.63039e-06_rb, 1.59776e-06_rb, & & 1.56579e-06_rb, 1.53445e-06_rb, 1.50375e-06_rb, 1.47366e-06_rb, 1.44417e-06_rb, & & 1.41527e-06_rb, 1.38695e-06_rb, 1.35919e-06_rb, 1.33199e-06_rb, 1.30534e-06_rb, & & 1.27922e-06_rb, 1.25362e-06_rb, 1.22853e-06_rb, 1.20395e-06_rb/) kao_mn2( 8, :,15) = (/ & & 1.73231e-06_rb, 1.69765e-06_rb, 1.66368e-06_rb, 1.63039e-06_rb, 1.59776e-06_rb, & & 1.56579e-06_rb, 1.53445e-06_rb, 1.50375e-06_rb, 1.47366e-06_rb, 1.44417e-06_rb, & & 1.41527e-06_rb, 1.38695e-06_rb, 1.35919e-06_rb, 1.33199e-06_rb, 1.30534e-06_rb, & & 1.27922e-06_rb, 1.25362e-06_rb, 1.22853e-06_rb, 1.20395e-06_rb/) kao_mn2( 9, :,15) = (/ & & 1.71602e-06_rb, 1.68499e-06_rb, 1.65452e-06_rb, 1.62461e-06_rb, 1.59523e-06_rb, & & 1.56639e-06_rb, 1.53807e-06_rb, 1.51026e-06_rb, 1.48295e-06_rb, 1.45614e-06_rb, & & 1.42981e-06_rb, 1.40395e-06_rb, 1.37857e-06_rb, 1.35364e-06_rb, 1.32917e-06_rb, & & 1.30513e-06_rb, 1.28153e-06_rb, 1.25836e-06_rb, 1.23561e-06_rb/) kao_mn2( 1, :,16) = (/ & & 1.73310e-06_rb, 1.69826e-06_rb, 1.66413e-06_rb, 1.63069e-06_rb, 1.59791e-06_rb, & & 1.56580e-06_rb, 1.53433e-06_rb, 1.50349e-06_rb, 1.47328e-06_rb, 1.44367e-06_rb, & & 1.41465e-06_rb, 1.38622e-06_rb, 1.35836e-06_rb, 1.33106e-06_rb, 1.30431e-06_rb, & & 1.27810e-06_rb, 1.25241e-06_rb, 1.22724e-06_rb, 1.20257e-06_rb/) kao_mn2( 2, :,16) = (/ & & 1.73310e-06_rb, 1.69826e-06_rb, 1.66413e-06_rb, 1.63069e-06_rb, 1.59791e-06_rb, & & 1.56580e-06_rb, 1.53433e-06_rb, 1.50349e-06_rb, 1.47328e-06_rb, 1.44367e-06_rb, & & 1.41465e-06_rb, 1.38622e-06_rb, 1.35836e-06_rb, 1.33106e-06_rb, 1.30431e-06_rb, & & 1.27810e-06_rb, 1.25241e-06_rb, 1.22724e-06_rb, 1.20257e-06_rb/) kao_mn2( 3, :,16) = (/ & & 1.73310e-06_rb, 1.69826e-06_rb, 1.66413e-06_rb, 1.63069e-06_rb, 1.59791e-06_rb, & & 1.56580e-06_rb, 1.53433e-06_rb, 1.50349e-06_rb, 1.47328e-06_rb, 1.44367e-06_rb, & & 1.41465e-06_rb, 1.38622e-06_rb, 1.35836e-06_rb, 1.33106e-06_rb, 1.30431e-06_rb, & & 1.27810e-06_rb, 1.25241e-06_rb, 1.22724e-06_rb, 1.20257e-06_rb/) kao_mn2( 4, :,16) = (/ & & 1.73310e-06_rb, 1.69826e-06_rb, 1.66413e-06_rb, 1.63069e-06_rb, 1.59791e-06_rb, & & 1.56580e-06_rb, 1.53433e-06_rb, 1.50349e-06_rb, 1.47328e-06_rb, 1.44367e-06_rb, & & 1.41465e-06_rb, 1.38622e-06_rb, 1.35836e-06_rb, 1.33106e-06_rb, 1.30431e-06_rb, & & 1.27810e-06_rb, 1.25241e-06_rb, 1.22724e-06_rb, 1.20257e-06_rb/) kao_mn2( 5, :,16) = (/ & & 1.73310e-06_rb, 1.69826e-06_rb, 1.66413e-06_rb, 1.63069e-06_rb, 1.59791e-06_rb, & & 1.56580e-06_rb, 1.53433e-06_rb, 1.50349e-06_rb, 1.47328e-06_rb, 1.44367e-06_rb, & & 1.41465e-06_rb, 1.38622e-06_rb, 1.35836e-06_rb, 1.33106e-06_rb, 1.30431e-06_rb, & & 1.27810e-06_rb, 1.25241e-06_rb, 1.22724e-06_rb, 1.20257e-06_rb/) kao_mn2( 6, :,16) = (/ & & 1.73310e-06_rb, 1.69826e-06_rb, 1.66413e-06_rb, 1.63069e-06_rb, 1.59791e-06_rb, & & 1.56580e-06_rb, 1.53433e-06_rb, 1.50349e-06_rb, 1.47328e-06_rb, 1.44367e-06_rb, & & 1.41465e-06_rb, 1.38622e-06_rb, 1.35836e-06_rb, 1.33106e-06_rb, 1.30431e-06_rb, & & 1.27810e-06_rb, 1.25241e-06_rb, 1.22724e-06_rb, 1.20257e-06_rb/) kao_mn2( 7, :,16) = (/ & & 1.73310e-06_rb, 1.69826e-06_rb, 1.66413e-06_rb, 1.63069e-06_rb, 1.59791e-06_rb, & & 1.56580e-06_rb, 1.53433e-06_rb, 1.50349e-06_rb, 1.47328e-06_rb, 1.44367e-06_rb, & & 1.41465e-06_rb, 1.38622e-06_rb, 1.35836e-06_rb, 1.33106e-06_rb, 1.30431e-06_rb, & & 1.27810e-06_rb, 1.25241e-06_rb, 1.22724e-06_rb, 1.20257e-06_rb/) kao_mn2( 8, :,16) = (/ & & 1.73310e-06_rb, 1.69826e-06_rb, 1.66413e-06_rb, 1.63069e-06_rb, 1.59791e-06_rb, & & 1.56580e-06_rb, 1.53433e-06_rb, 1.50349e-06_rb, 1.47328e-06_rb, 1.44367e-06_rb, & & 1.41465e-06_rb, 1.38622e-06_rb, 1.35836e-06_rb, 1.33106e-06_rb, 1.30431e-06_rb, & & 1.27810e-06_rb, 1.25241e-06_rb, 1.22724e-06_rb, 1.20257e-06_rb/) kao_mn2( 9, :,16) = (/ & & 1.79375e-06_rb, 1.75599e-06_rb, 1.71903e-06_rb, 1.68284e-06_rb, 1.64741e-06_rb, & & 1.61273e-06_rb, 1.57878e-06_rb, 1.54554e-06_rb, 1.51301e-06_rb, 1.48116e-06_rb, & & 1.44998e-06_rb, 1.41945e-06_rb, 1.38957e-06_rb, 1.36032e-06_rb, 1.33168e-06_rb, & & 1.30365e-06_rb, 1.27620e-06_rb, 1.24934e-06_rb, 1.22304e-06_rb/) ! The array FORREFO contains the coefficient of the water vapor ! foreign-continuum (including the energy term). The first ! index refers to reference temperature (296,260,224,260) and ! pressure (970,475,219,3 mbar) levels. The second index ! runs over the g-channel (1 to 16). forrefo(1,:) = (/ & &1.1755e-06_rb,6.5398e-07_rb,4.3915e-07_rb,3.0753e-07_rb,1.9677e-07_rb,1.4362e-07_rb, & &9.4598e-08_rb,1.1848e-07_rb,1.4280e-07_rb,1.5821e-07_rb,1.5816e-07_rb,1.5769e-07_rb, & &1.5844e-07_rb,1.6016e-07_rb,1.6232e-07_rb,1.6320e-07_rb/) forrefo(2,:) = (/ & &1.0703e-06_rb,6.2783e-07_rb,4.7122e-07_rb,2.6300e-07_rb,1.8538e-07_rb,1.5076e-07_rb, & &1.9474e-07_rb,2.9543e-07_rb,2.0093e-07_rb,1.5819e-07_rb,1.5826e-07_rb,1.5737e-07_rb, & &1.5751e-07_rb,1.5910e-07_rb,1.6181e-07_rb,1.6320e-07_rb/) forrefo(3,:) = (/ & &1.0470e-06_rb,5.8184e-07_rb,4.8218e-07_rb,2.7771e-07_rb,1.9036e-07_rb,1.5737e-07_rb, & &1.8633e-07_rb,2.5754e-07_rb,4.0647e-07_rb,1.5839e-07_rb,1.5914e-07_rb,1.5788e-07_rb, & &1.5731e-07_rb,1.5836e-07_rb,1.6103e-07_rb,1.6320e-07_rb/) forrefo(4,:) = (/ & &1.3891e-06_rb,5.4901e-07_rb,2.8850e-07_rb,1.9176e-07_rb,1.4549e-07_rb,1.3603e-07_rb, & &1.7472e-07_rb,2.9796e-07_rb,3.2452e-07_rb,2.5231e-07_rb,2.8195e-07_rb,1.5527e-07_rb, & &1.5507e-07_rb,1.5442e-07_rb,1.5275e-07_rb,1.6057e-07_rb/) ! The array SELFREFO contains the coefficient of the water vapor ! self-continuum (including the energy term). The first index ! refers to temperature in 7.2 degree increments. For instance, ! JT = 1 refers to a temperature of 245.6, JT = 2 refers to 252.8, ! etc. The second index runs over the g-channel (1 to 16). selfrefo(:, 1) = (/ & & 1.73980e-03_rb, 1.41928e-03_rb, 1.15780e-03_rb, 9.44496e-04_rb, 7.70490e-04_rb, & & 6.28541e-04_rb, 5.12744e-04_rb, 4.18280e-04_rb, 3.41219e-04_rb, 2.78356e-04_rb/) selfrefo(:, 2) = (/ & & 1.84082e-03_rb, 1.50228e-03_rb, 1.22600e-03_rb, 1.00053e-03_rb, 8.16525e-04_rb, & & 6.66359e-04_rb, 5.43811e-04_rb, 4.43800e-04_rb, 3.62182e-04_rb, 2.95574e-04_rb/) selfrefo(:, 3) = (/ & & 1.92957e-03_rb, 1.57727e-03_rb, 1.28930e-03_rb, 1.05390e-03_rb, 8.61484e-04_rb, & & 7.04197e-04_rb, 5.75627e-04_rb, 4.70530e-04_rb, 3.84622e-04_rb, 3.14399e-04_rb/) selfrefo(:, 4) = (/ & & 2.12958e-03_rb, 1.73572e-03_rb, 1.41470e-03_rb, 1.15305e-03_rb, 9.39798e-04_rb, & & 7.65984e-04_rb, 6.24317e-04_rb, 5.08850e-04_rb, 4.14739e-04_rb, 3.38034e-04_rb/) selfrefo(:, 5) = (/ & & 2.30636e-03_rb, 1.88401e-03_rb, 1.53900e-03_rb, 1.25717e-03_rb, 1.02695e-03_rb, & & 8.38891e-04_rb, 6.85270e-04_rb, 5.59780e-04_rb, 4.57270e-04_rb, 3.73533e-04_rb/) selfrefo(:, 6) = (/ & & 2.47824e-03_rb, 2.03278e-03_rb, 1.66740e-03_rb, 1.36769e-03_rb, 1.12185e-03_rb, & & 9.20206e-04_rb, 7.54803e-04_rb, 6.19130e-04_rb, 5.07844e-04_rb, 4.16561e-04_rb/) selfrefo(:, 7) = (/ & & 2.54196e-03_rb, 2.10768e-03_rb, 1.74760e-03_rb, 1.44904e-03_rb, 1.20148e-03_rb, & & 9.96215e-04_rb, 8.26019e-04_rb, 6.84900e-04_rb, 5.67890e-04_rb, 4.70870e-04_rb/) selfrefo(:, 8) = (/ & & 2.52650e-03_rb, 2.11773e-03_rb, 1.77510e-03_rb, 1.48790e-03_rb, 1.24717e-03_rb, & & 1.04539e-03_rb, 8.76251e-04_rb, 7.34480e-04_rb, 6.15646e-04_rb, 5.16039e-04_rb/) selfrefo(:, 9) = (/ & & 2.82351e-03_rb, 2.34652e-03_rb, 1.95010e-03_rb, 1.62065e-03_rb, 1.34686e-03_rb, & & 1.11933e-03_rb, 9.30232e-04_rb, 7.73080e-04_rb, 6.42477e-04_rb, 5.33939e-04_rb/) selfrefo(:,10) = (/ & & 2.98189e-03_rb, 2.46741e-03_rb, 2.04170e-03_rb, 1.68944e-03_rb, 1.39795e-03_rb, & & 1.15676e-03_rb, 9.57176e-04_rb, 7.92030e-04_rb, 6.55377e-04_rb, 5.42302e-04_rb/) selfrefo(:,11) = (/ & & 2.98239e-03_rb, 2.46774e-03_rb, 2.04190e-03_rb, 1.68954e-03_rb, 1.39799e-03_rb, & & 1.15675e-03_rb, 9.57137e-04_rb, 7.91970e-04_rb, 6.55305e-04_rb, 5.42224e-04_rb/) selfrefo(:,12) = (/ & & 2.97833e-03_rb, 2.46461e-03_rb, 2.03950e-03_rb, 1.68772e-03_rb, 1.39661e-03_rb, & & 1.15571e-03_rb, 9.56370e-04_rb, 7.91410e-04_rb, 6.54903e-04_rb, 5.41942e-04_rb/) selfrefo(:,13) = (/ & & 2.97779e-03_rb, 2.46463e-03_rb, 2.03990e-03_rb, 1.68836e-03_rb, 1.39741e-03_rb, & & 1.15659e-03_rb, 9.57278e-04_rb, 7.92310e-04_rb, 6.55771e-04_rb, 5.42762e-04_rb/) selfrefo(:,14) = (/ & & 2.98326e-03_rb, 2.46943e-03_rb, 2.04410e-03_rb, 1.69203e-03_rb, 1.40060e-03_rb, & & 1.15936e-03_rb, 9.59673e-04_rb, 7.94380e-04_rb, 6.57557e-04_rb, 5.44301e-04_rb/) selfrefo(:,15) = (/ & & 2.99407e-03_rb, 2.47825e-03_rb, 2.05130e-03_rb, 1.69790e-03_rb, 1.40539e-03_rb, & & 1.16327e-03_rb, 9.62862e-04_rb, 7.96980e-04_rb, 6.59676e-04_rb, 5.46028e-04_rb/) selfrefo(:,16) = (/ & & 3.00005e-03_rb, 2.48296e-03_rb, 2.05500e-03_rb, 1.70080e-03_rb, 1.40765e-03_rb, & & 1.16503e-03_rb, 9.64224e-04_rb, 7.98030e-04_rb, 6.60481e-04_rb, 5.46641e-04_rb/) end subroutine lw_kgb15 ! ************************************************************************** subroutine lw_kgb16 ! ************************************************************************** use parkind, only : im => kind_im, rb => kind_rb use rrlw_kg16, only : fracrefao, fracrefbo, kao, kbo, selfrefo, forrefo implicit none save ! Planck fraction mapping level: P = 387.6100 mbar, T = 250.17 K fracrefao(:, 1) = (/ & & 1.1593e-01_rb,2.3390e-01_rb,1.9120e-01_rb,1.3121e-01_rb,1.0590e-01_rb,8.4852e-02_rb, & & 6.4168e-02_rb,4.2537e-02_rb,2.3220e-02_rb,2.1767e-03_rb,1.8203e-03_rb,1.3724e-03_rb, & & 9.5452e-04_rb,5.5015e-04_rb,1.9348e-04_rb,2.7344e-05_rb/) fracrefao(:, 2) = (/ & & 2.8101e-01_rb,1.9773e-01_rb,1.4749e-01_rb,1.1399e-01_rb,8.8190e-02_rb,7.0531e-02_rb, & & 4.6356e-02_rb,3.0774e-02_rb,1.7332e-02_rb,2.0054e-03_rb,1.5950e-03_rb,1.2760e-03_rb, & & 9.5034e-04_rb,5.4992e-04_rb,1.9349e-04_rb,2.7309e-05_rb/) fracrefao(:, 3) = (/ & & 2.9054e-01_rb,2.1263e-01_rb,1.4133e-01_rb,1.1083e-01_rb,8.5107e-02_rb,6.5247e-02_rb, & & 4.4542e-02_rb,2.7205e-02_rb,1.6495e-02_rb,1.8453e-03_rb,1.5222e-03_rb,1.1884e-03_rb, & & 8.1094e-04_rb,4.9173e-04_rb,1.9344e-04_rb,2.7286e-05_rb/) fracrefao(:, 4) = (/ & & 2.9641e-01_rb,2.1738e-01_rb,1.4228e-01_rb,1.0830e-01_rb,8.2837e-02_rb,6.1359e-02_rb, & & 4.4683e-02_rb,2.5027e-02_rb,1.6057e-02_rb,1.7558e-03_rb,1.4193e-03_rb,1.0970e-03_rb, & & 7.8281e-04_rb,4.3260e-04_rb,1.4837e-04_rb,2.2958e-05_rb/) fracrefao(:, 5) = (/ & & 2.9553e-01_rb,2.2139e-01_rb,1.4816e-01_rb,1.0601e-01_rb,8.0048e-02_rb,6.0082e-02_rb, & & 4.3952e-02_rb,2.3788e-02_rb,1.5734e-02_rb,1.6586e-03_rb,1.3434e-03_rb,1.0281e-03_rb, & & 7.0256e-04_rb,4.2577e-04_rb,1.2803e-04_rb,1.3315e-05_rb/) fracrefao(:, 6) = (/ & & 2.9313e-01_rb,2.2476e-01_rb,1.5470e-01_rb,1.0322e-01_rb,7.8904e-02_rb,5.8175e-02_rb, & & 4.3097e-02_rb,2.3618e-02_rb,1.5385e-02_rb,1.5942e-03_rb,1.2702e-03_rb,9.5566e-04_rb, & & 6.5421e-04_rb,4.0165e-04_rb,1.2805e-04_rb,1.3355e-05_rb/) fracrefao(:, 7) = (/ & & 2.9069e-01_rb,2.2823e-01_rb,1.5995e-01_rb,1.0170e-01_rb,7.7287e-02_rb,5.6780e-02_rb, & & 4.1752e-02_rb,2.3899e-02_rb,1.4937e-02_rb,1.4916e-03_rb,1.1909e-03_rb,9.1307e-04_rb, & & 6.3518e-04_rb,3.9866e-04_rb,1.2805e-04_rb,1.3298e-05_rb/) fracrefao(:, 8) = (/ & & 2.8446e-01_rb,2.2651e-01_rb,1.7133e-01_rb,1.0299e-01_rb,7.4231e-02_rb,5.6031e-02_rb, & & 4.1368e-02_rb,2.4318e-02_rb,1.4135e-02_rb,1.4216e-03_rb,1.1465e-03_rb,8.9800e-04_rb, & & 6.3553e-04_rb,3.9536e-04_rb,1.2749e-04_rb,1.3298e-05_rb/) fracrefao(:, 9) = (/ & & 2.0568e-01_rb,2.5049e-01_rb,2.0568e-01_rb,1.1781e-01_rb,7.5579e-02_rb,5.8136e-02_rb, & & 4.2397e-02_rb,2.6544e-02_rb,1.3067e-02_rb,1.4061e-03_rb,1.1455e-03_rb,8.9408e-04_rb, & & 6.3652e-04_rb,3.9450e-04_rb,1.2841e-04_rb,1.3315e-05_rb/) ! Planck fraction mapping level : P=95.58350 mb, T = 215.70 K fracrefbo(:) = (/ & & 1.8111e-01_rb,2.2612e-01_rb,1.6226e-01_rb,1.1872e-01_rb,9.9048e-02_rb,8.0390e-02_rb, & & 6.1648e-02_rb,4.1704e-02_rb,2.2976e-02_rb,1.9263e-03_rb,1.4694e-03_rb,1.1498e-03_rb, & & 7.9906e-04_rb,4.8310e-04_rb,1.6188e-04_rb,2.2651e-05_rb/) ! The array KAO contains absorption coefs for each of the 16 g-intervals ! for a range of pressure levels > ~100mb, temperatures, and ratios ! of water vapor to CO2. The first index in the array, JS, runs ! from 1 to 10, and corresponds to different gas column amount ratios, ! as expressed through the binary species parameter eta, defined as ! eta = gas1/(gas1 + (rat) * gas2), where rat is the ! ratio of the reference MLS column amount value of gas 1 ! to that of gas2. ! The 2nd index in the array, JT, which runs from 1 to 5, corresponds ! to different temperatures. More specifically, JT = 3 means that the ! data are for the reference temperature TREF for this pressure ! level, JT = 2 refers to the temperature ! TREF-15, JT = 1 is for TREF-30, JT = 4 is for TREF+15, and JT = 5 ! is for TREF+30. The third index, JP, runs from 1 to 13 and refers ! to the reference pressure level (e.g. JP = 1 is for a ! pressure of 1053.63 mb). The fourth index, IG, goes from 1 to 16, ! and tells us which g-interval the absorption coefficients are for. kao(:, 1, 1, 1) = (/ & &2.6621e-07_rb,6.0791e-06_rb,9.3282e-06_rb,1.2208e-05_rb,1.4897e-05_rb,1.7596e-05_rb, & &2.0729e-05_rb,2.6390e-05_rb,2.1078e-05_rb/) kao(:, 2, 1, 1) = (/ & &2.8927e-07_rb,6.1043e-06_rb,9.4020e-06_rb,1.2345e-05_rb,1.5126e-05_rb,1.7938e-05_rb, & &2.1210e-05_rb,2.6769e-05_rb,2.1943e-05_rb/) kao(:, 3, 1, 1) = (/ & &3.1534e-07_rb,6.1325e-06_rb,9.4674e-06_rb,1.2459e-05_rb,1.5335e-05_rb,1.8250e-05_rb, & &2.1635e-05_rb,2.7290e-05_rb,2.2718e-05_rb/) kao(:, 4, 1, 1) = (/ & &3.3330e-07_rb,6.1474e-06_rb,9.4677e-06_rb,1.2509e-05_rb,1.5444e-05_rb,1.8455e-05_rb, & &2.1960e-05_rb,2.7695e-05_rb,2.3390e-05_rb/) kao(:, 5, 1, 1) = (/ & &3.5345e-07_rb,6.1735e-06_rb,9.4652e-06_rb,1.2538e-05_rb,1.5529e-05_rb,1.8608e-05_rb, & &2.2197e-05_rb,2.8038e-05_rb,2.3906e-05_rb/) kao(:, 1, 2, 1) = (/ & &3.4774e-07_rb,6.3116e-06_rb,9.2039e-06_rb,1.1662e-05_rb,1.3842e-05_rb,1.5878e-05_rb, & &1.7925e-05_rb,2.1213e-05_rb,1.7372e-05_rb/) kao(:, 2, 2, 1) = (/ & &3.7649e-07_rb,6.3618e-06_rb,9.2771e-06_rb,1.1777e-05_rb,1.4038e-05_rb,1.6170e-05_rb, & &1.8345e-05_rb,2.1716e-05_rb,1.8135e-05_rb/) kao(:, 3, 2, 1) = (/ & &4.1206e-07_rb,6.4231e-06_rb,9.3322e-06_rb,1.1891e-05_rb,1.4202e-05_rb,1.6428e-05_rb, & &1.8750e-05_rb,2.2212e-05_rb,1.8847e-05_rb/) kao(:, 4, 2, 1) = (/ & &4.4004e-07_rb,6.4581e-06_rb,9.3579e-06_rb,1.1962e-05_rb,1.4316e-05_rb,1.6601e-05_rb, & &1.9025e-05_rb,2.2633e-05_rb,1.9458e-05_rb/) kao(:, 5, 2, 1) = (/ & &4.6078e-07_rb,6.4755e-06_rb,9.3704e-06_rb,1.1973e-05_rb,1.4371e-05_rb,1.6702e-05_rb, & &1.9215e-05_rb,2.2953e-05_rb,1.9948e-05_rb/) kao(:, 1, 3, 1) = (/ & &5.9817e-07_rb,7.8428e-06_rb,1.0496e-05_rb,1.2549e-05_rb,1.4230e-05_rb,1.5565e-05_rb, & &1.6588e-05_rb,1.7671e-05_rb,1.4245e-05_rb/) kao(:, 2, 3, 1) = (/ & &6.5182e-07_rb,7.9343e-06_rb,1.0585e-05_rb,1.2668e-05_rb,1.4392e-05_rb,1.5789e-05_rb, & &1.6949e-05_rb,1.8125e-05_rb,1.4996e-05_rb/) kao(:, 3, 3, 1) = (/ & &7.0221e-07_rb,8.0226e-06_rb,1.0677e-05_rb,1.2755e-05_rb,1.4518e-05_rb,1.5973e-05_rb, & &1.7236e-05_rb,1.8551e-05_rb,1.5656e-05_rb/) kao(:, 4, 3, 1) = (/ & &7.6366e-07_rb,8.1339e-06_rb,1.0778e-05_rb,1.2848e-05_rb,1.4645e-05_rb,1.6156e-05_rb, & &1.7457e-05_rb,1.8931e-05_rb,1.6271e-05_rb/) kao(:, 5, 3, 1) = (/ & &7.9889e-07_rb,8.1643e-06_rb,1.0808e-05_rb,1.2886e-05_rb,1.4686e-05_rb,1.6241e-05_rb, & &1.7601e-05_rb,1.9193e-05_rb,1.6837e-05_rb/) kao(:, 1, 4, 1) = (/ & &1.0320e-06_rb,1.0378e-05_rb,1.2935e-05_rb,1.4632e-05_rb,1.5802e-05_rb,1.6452e-05_rb, & &1.6586e-05_rb,1.6155e-05_rb,1.2287e-05_rb/) kao(:, 2, 4, 1) = (/ & &1.1305e-06_rb,1.0573e-05_rb,1.3130e-05_rb,1.4798e-05_rb,1.5980e-05_rb,1.6653e-05_rb, & &1.6853e-05_rb,1.6526e-05_rb,1.3070e-05_rb/) kao(:, 3, 4, 1) = (/ & &1.2198e-06_rb,1.0772e-05_rb,1.3274e-05_rb,1.4971e-05_rb,1.6111e-05_rb,1.6834e-05_rb, & &1.7084e-05_rb,1.6873e-05_rb,1.3795e-05_rb/) kao(:, 4, 4, 1) = (/ & &1.3096e-06_rb,1.0937e-05_rb,1.3422e-05_rb,1.5096e-05_rb,1.6233e-05_rb,1.6971e-05_rb, & &1.7284e-05_rb,1.7149e-05_rb,1.4420e-05_rb/) kao(:, 5, 4, 1) = (/ & &1.4155e-06_rb,1.1094e-05_rb,1.3596e-05_rb,1.5273e-05_rb,1.6388e-05_rb,1.7112e-05_rb, & &1.7471e-05_rb,1.7381e-05_rb,1.4960e-05_rb/) kao(:, 1, 5, 1) = (/ & &1.6279e-06_rb,1.3142e-05_rb,1.6056e-05_rb,1.7394e-05_rb,1.8017e-05_rb,1.8011e-05_rb, & &1.7308e-05_rb,1.5625e-05_rb,1.1008e-05_rb/) kao(:, 2, 5, 1) = (/ & &1.7835e-06_rb,1.3457e-05_rb,1.6348e-05_rb,1.7668e-05_rb,1.8277e-05_rb,1.8261e-05_rb, & &1.7567e-05_rb,1.5970e-05_rb,1.1698e-05_rb/) kao(:, 3, 5, 1) = (/ & &1.9402e-06_rb,1.3791e-05_rb,1.6620e-05_rb,1.7922e-05_rb,1.8515e-05_rb,1.8474e-05_rb, & &1.7802e-05_rb,1.6252e-05_rb,1.2372e-05_rb/) kao(:, 4, 5, 1) = (/ & &2.0835e-06_rb,1.4086e-05_rb,1.6875e-05_rb,1.8160e-05_rb,1.8703e-05_rb,1.8665e-05_rb, & &1.7992e-05_rb,1.6486e-05_rb,1.3071e-05_rb/) kao(:, 5, 5, 1) = (/ & &2.2582e-06_rb,1.4511e-05_rb,1.7205e-05_rb,1.8422e-05_rb,1.8984e-05_rb,1.8898e-05_rb, & &1.8217e-05_rb,1.6724e-05_rb,1.3787e-05_rb/) kao(:, 1, 6, 1) = (/ & &2.4034e-06_rb,1.6823e-05_rb,1.9391e-05_rb,2.0723e-05_rb,2.0772e-05_rb,2.0043e-05_rb, & &1.8498e-05_rb,1.5704e-05_rb,9.8836e-06_rb/) kao(:, 2, 6, 1) = (/ & &2.6386e-06_rb,1.7226e-05_rb,1.9692e-05_rb,2.1124e-05_rb,2.1126e-05_rb,2.0392e-05_rb, & &1.8810e-05_rb,1.6034e-05_rb,1.0751e-05_rb/) kao(:, 3, 6, 1) = (/ & &2.8660e-06_rb,1.7674e-05_rb,2.0029e-05_rb,2.1524e-05_rb,2.1484e-05_rb,2.0719e-05_rb, & &1.9071e-05_rb,1.6298e-05_rb,1.1450e-05_rb/) kao(:, 4, 6, 1) = (/ & &3.0844e-06_rb,1.8072e-05_rb,2.0407e-05_rb,2.1899e-05_rb,2.1788e-05_rb,2.0987e-05_rb, & &1.9304e-05_rb,1.6540e-05_rb,1.2182e-05_rb/) kao(:, 5, 6, 1) = (/ & &3.2920e-06_rb,1.8533e-05_rb,2.0800e-05_rb,2.2106e-05_rb,2.2044e-05_rb,2.1223e-05_rb, & &1.9506e-05_rb,1.6741e-05_rb,1.2836e-05_rb/) kao(:, 1, 7, 1) = (/ & &3.8221e-06_rb,2.2204e-05_rb,2.4808e-05_rb,2.5531e-05_rb,2.5616e-05_rb,2.3917e-05_rb, & &2.1120e-05_rb,1.6870e-05_rb,8.7171e-06_rb/) kao(:, 2, 7, 1) = (/ & &4.1828e-06_rb,2.2870e-05_rb,2.5558e-05_rb,2.5953e-05_rb,2.6151e-05_rb,2.4347e-05_rb, & &2.1524e-05_rb,1.7202e-05_rb,9.2028e-06_rb/) kao(:, 3, 7, 1) = (/ & &4.5497e-06_rb,2.3564e-05_rb,2.6164e-05_rb,2.6493e-05_rb,2.6591e-05_rb,2.4767e-05_rb, & &2.1899e-05_rb,1.7498e-05_rb,9.7937e-06_rb/) kao(:, 4, 7, 1) = (/ & &4.8742e-06_rb,2.4270e-05_rb,2.6708e-05_rb,2.7099e-05_rb,2.6759e-05_rb,2.5177e-05_rb, & &2.2242e-05_rb,1.7759e-05_rb,1.0449e-05_rb/) kao(:, 5, 7, 1) = (/ & &5.1866e-06_rb,2.4962e-05_rb,2.7348e-05_rb,2.7664e-05_rb,2.7129e-05_rb,2.5537e-05_rb, & &2.2515e-05_rb,1.7998e-05_rb,1.1128e-05_rb/) kao(:, 1, 8, 1) = (/ & &7.4211e-06_rb,3.2998e-05_rb,3.6610e-05_rb,3.7073e-05_rb,3.4983e-05_rb,3.2511e-05_rb, & &2.7821e-05_rb,2.0603e-05_rb,7.1809e-06_rb/) kao(:, 2, 8, 1) = (/ & &8.1099e-06_rb,3.4342e-05_rb,3.7801e-05_rb,3.7976e-05_rb,3.5797e-05_rb,3.2823e-05_rb, & &2.8347e-05_rb,2.1030e-05_rb,7.7735e-06_rb/) kao(:, 3, 8, 1) = (/ & &8.7992e-06_rb,3.5880e-05_rb,3.8837e-05_rb,3.8975e-05_rb,3.6756e-05_rb,3.3300e-05_rb, & &2.8882e-05_rb,2.1428e-05_rb,8.4180e-06_rb/) kao(:, 4, 8, 1) = (/ & &9.4486e-06_rb,3.7431e-05_rb,3.9883e-05_rb,3.9775e-05_rb,3.7762e-05_rb,3.3901e-05_rb, & &2.9403e-05_rb,2.1792e-05_rb,9.1057e-06_rb/) kao(:, 5, 8, 1) = (/ & &1.0041e-05_rb,3.9014e-05_rb,4.1019e-05_rb,4.0539e-05_rb,3.8447e-05_rb,3.4543e-05_rb, & &2.9823e-05_rb,2.2110e-05_rb,9.8280e-06_rb/) kao(:, 1, 9, 1) = (/ & &2.6945e-05_rb,8.1804e-05_rb,8.6984e-05_rb,8.4462e-05_rb,7.8660e-05_rb,6.9398e-05_rb, & &5.6216e-05_rb,3.9134e-05_rb,6.0831e-06_rb/) kao(:, 2, 9, 1) = (/ & &2.9562e-05_rb,8.5456e-05_rb,9.1284e-05_rb,8.7620e-05_rb,8.1311e-05_rb,7.1570e-05_rb, & &5.7999e-05_rb,3.9483e-05_rb,6.6855e-06_rb/) kao(:, 3, 9, 1) = (/ & &3.2110e-05_rb,8.8183e-05_rb,9.6256e-05_rb,9.1033e-05_rb,8.3882e-05_rb,7.3603e-05_rb, & &5.9334e-05_rb,4.0067e-05_rb,7.3573e-06_rb/) kao(:, 4, 9, 1) = (/ & &3.4494e-05_rb,9.0981e-05_rb,1.0082e-04_rb,9.4837e-05_rb,8.6631e-05_rb,7.5471e-05_rb, & &6.0778e-05_rb,4.0870e-05_rb,8.0874e-06_rb/) kao(:, 5, 9, 1) = (/ & &3.6729e-05_rb,9.3406e-05_rb,1.0411e-04_rb,9.8963e-05_rb,8.9287e-05_rb,7.7185e-05_rb, & &6.1987e-05_rb,4.1723e-05_rb,8.8598e-06_rb/) kao(:, 1,10, 1) = (/ & &1.1063e-04_rb,2.0470e-04_rb,2.2594e-04_rb,2.2784e-04_rb,2.0878e-04_rb,1.7781e-04_rb, & &1.3876e-04_rb,9.0190e-05_rb,6.6238e-06_rb/) kao(:, 2,10, 1) = (/ & &1.2128e-04_rb,2.1612e-04_rb,2.3657e-04_rb,2.3782e-04_rb,2.2024e-04_rb,1.8545e-04_rb, & &1.4406e-04_rb,9.3147e-05_rb,7.2888e-06_rb/) kao(:, 3,10, 1) = (/ & &1.3155e-04_rb,2.2685e-04_rb,2.4613e-04_rb,2.4648e-04_rb,2.3100e-04_rb,1.9523e-04_rb, & &1.4909e-04_rb,9.5827e-05_rb,7.7784e-06_rb/) kao(:, 4,10, 1) = (/ & &1.4108e-04_rb,2.3656e-04_rb,2.5475e-04_rb,2.5395e-04_rb,2.3879e-04_rb,2.0427e-04_rb, & &1.5511e-04_rb,9.8368e-05_rb,8.3069e-06_rb/) kao(:, 5,10, 1) = (/ & &1.4988e-04_rb,2.4526e-04_rb,2.6296e-04_rb,2.6141e-04_rb,2.4593e-04_rb,2.1313e-04_rb, & &1.6065e-04_rb,1.0083e-04_rb,8.9709e-06_rb/) kao(:, 1,11, 1) = (/ & &1.6397e-04_rb,2.6056e-04_rb,2.8031e-04_rb,2.7866e-04_rb,2.6081e-04_rb,2.2383e-04_rb, & &1.7351e-04_rb,1.0962e-04_rb,6.8264e-06_rb/) kao(:, 2,11, 1) = (/ & &1.7933e-04_rb,2.7580e-04_rb,2.9343e-04_rb,2.9042e-04_rb,2.7290e-04_rb,2.3596e-04_rb, & &1.8069e-04_rb,1.1353e-04_rb,7.5502e-06_rb/) kao(:, 3,11, 1) = (/ & &1.9324e-04_rb,2.9031e-04_rb,3.0629e-04_rb,3.0108e-04_rb,2.8182e-04_rb,2.4730e-04_rb, & &1.8878e-04_rb,1.1713e-04_rb,7.9027e-06_rb/) kao(:, 4,11, 1) = (/ & &2.0654e-04_rb,3.0384e-04_rb,3.1739e-04_rb,3.1103e-04_rb,2.9049e-04_rb,2.5555e-04_rb, & &1.9705e-04_rb,1.2084e-04_rb,8.5383e-06_rb/) kao(:, 5,11, 1) = (/ & &2.1856e-04_rb,3.1574e-04_rb,3.2801e-04_rb,3.2141e-04_rb,2.9895e-04_rb,2.6285e-04_rb, & &2.0518e-04_rb,1.2441e-04_rb,9.1615e-06_rb/) kao(:, 1,12, 1) = (/ & &1.7554e-04_rb,2.6383e-04_rb,2.7930e-04_rb,2.7562e-04_rb,2.5860e-04_rb,2.2333e-04_rb, & &1.7363e-04_rb,1.0883e-04_rb,5.7385e-06_rb/) kao(:, 2,12, 1) = (/ & &1.9241e-04_rb,2.8007e-04_rb,2.9311e-04_rb,2.8776e-04_rb,2.6852e-04_rb,2.3492e-04_rb, & &1.8150e-04_rb,1.1266e-04_rb,6.8723e-06_rb/) kao(:, 3,12, 1) = (/ & &2.0743e-04_rb,2.9497e-04_rb,3.0602e-04_rb,2.9878e-04_rb,2.7794e-04_rb,2.4424e-04_rb, & &1.8850e-04_rb,1.1619e-04_rb,7.4728e-06_rb/) kao(:, 4,12, 1) = (/ & &2.2033e-04_rb,3.0884e-04_rb,3.1746e-04_rb,3.0874e-04_rb,2.8629e-04_rb,2.5127e-04_rb, & &1.9681e-04_rb,1.2004e-04_rb,7.8331e-06_rb/) kao(:, 5,12, 1) = (/ & &2.3385e-04_rb,3.2096e-04_rb,3.2817e-04_rb,3.1852e-04_rb,2.9492e-04_rb,2.5838e-04_rb, & &2.0541e-04_rb,1.2394e-04_rb,8.4107e-06_rb/) kao(:, 1,13, 1) = (/ & &1.4984e-04_rb,2.2462e-04_rb,2.3735e-04_rb,2.3350e-04_rb,2.1852e-04_rb,1.8858e-04_rb, & &1.4655e-04_rb,9.1919e-05_rb,4.7944e-06_rb/) kao(:, 2,13, 1) = (/ & &1.6431e-04_rb,2.3822e-04_rb,2.4852e-04_rb,2.4374e-04_rb,2.2685e-04_rb,1.9798e-04_rb, & &1.5298e-04_rb,9.5139e-05_rb,5.7512e-06_rb/) kao(:, 3,13, 1) = (/ & &1.7714e-04_rb,2.5149e-04_rb,2.5950e-04_rb,2.5249e-04_rb,2.3438e-04_rb,2.0591e-04_rb, & &1.5891e-04_rb,9.8151e-05_rb,6.2816e-06_rb/) kao(:, 4,13, 1) = (/ & &1.8918e-04_rb,2.6227e-04_rb,2.6867e-04_rb,2.6081e-04_rb,2.4142e-04_rb,2.1149e-04_rb, & &1.6602e-04_rb,1.0121e-04_rb,6.5742e-06_rb/) kao(:, 5,13, 1) = (/ & &1.9984e-04_rb,2.7202e-04_rb,2.7776e-04_rb,2.6884e-04_rb,2.4875e-04_rb,2.1766e-04_rb, & &1.7300e-04_rb,1.0449e-04_rb,7.0482e-06_rb/) kao(:, 1, 1, 2) = (/ & &1.6519e-06_rb,1.6500e-05_rb,2.5026e-05_rb,3.2759e-05_rb,4.0208e-05_rb,4.7995e-05_rb, & &5.7218e-05_rb,7.0450e-05_rb,6.2071e-05_rb/) kao(:, 2, 1, 2) = (/ & &1.7427e-06_rb,1.6766e-05_rb,2.5514e-05_rb,3.3509e-05_rb,4.1226e-05_rb,4.9256e-05_rb, & &5.8782e-05_rb,7.2775e-05_rb,6.4227e-05_rb/) kao(:, 3, 1, 2) = (/ & &1.8342e-06_rb,1.7039e-05_rb,2.6012e-05_rb,3.4217e-05_rb,4.2214e-05_rb,5.0504e-05_rb, & &6.0325e-05_rb,7.4727e-05_rb,6.6376e-05_rb/) kao(:, 4, 1, 2) = (/ & &1.9060e-06_rb,1.7243e-05_rb,2.6493e-05_rb,3.4981e-05_rb,4.3216e-05_rb,5.1749e-05_rb, & &6.1747e-05_rb,7.6716e-05_rb,6.8482e-05_rb/) kao(:, 5, 1, 2) = (/ & &1.9873e-06_rb,1.7462e-05_rb,2.6980e-05_rb,3.5686e-05_rb,4.4149e-05_rb,5.2919e-05_rb, & &6.3181e-05_rb,7.8643e-05_rb,7.0600e-05_rb/) kao(:, 1, 2, 2) = (/ & &2.1537e-06_rb,1.7686e-05_rb,2.5477e-05_rb,3.2084e-05_rb,3.8037e-05_rb,4.3791e-05_rb, & &5.0118e-05_rb,5.9749e-05_rb,5.2659e-05_rb/) kao(:, 2, 2, 2) = (/ & &2.2967e-06_rb,1.7950e-05_rb,2.5979e-05_rb,3.2808e-05_rb,3.8966e-05_rb,4.4991e-05_rb, & &5.1587e-05_rb,6.1578e-05_rb,5.4559e-05_rb/) kao(:, 3, 2, 2) = (/ & &2.4223e-06_rb,1.8241e-05_rb,2.6472e-05_rb,3.3476e-05_rb,3.9818e-05_rb,4.6056e-05_rb, & &5.2876e-05_rb,6.3201e-05_rb,5.6392e-05_rb/) kao(:, 4, 2, 2) = (/ & &2.5452e-06_rb,1.8478e-05_rb,2.6920e-05_rb,3.4112e-05_rb,4.0714e-05_rb,4.7174e-05_rb, & &5.4253e-05_rb,6.4831e-05_rb,5.8337e-05_rb/) kao(:, 5, 2, 2) = (/ & &2.6442e-06_rb,1.8696e-05_rb,2.7330e-05_rb,3.4790e-05_rb,4.1641e-05_rb,4.8326e-05_rb, & &5.5567e-05_rb,6.6400e-05_rb,6.0213e-05_rb/) kao(:, 1, 3, 2) = (/ & &3.6781e-06_rb,2.1946e-05_rb,2.9916e-05_rb,3.5559e-05_rb,4.0089e-05_rb,4.3735e-05_rb, & &4.6884e-05_rb,5.0541e-05_rb,4.3984e-05_rb/) kao(:, 2, 3, 2) = (/ & &3.9348e-06_rb,2.2135e-05_rb,3.0461e-05_rb,3.6306e-05_rb,4.1005e-05_rb,4.4863e-05_rb, & &4.8174e-05_rb,5.2207e-05_rb,4.5557e-05_rb/) kao(:, 3, 3, 2) = (/ & &4.1798e-06_rb,2.2403e-05_rb,3.0963e-05_rb,3.7011e-05_rb,4.1865e-05_rb,4.5861e-05_rb, & &4.9330e-05_rb,5.3612e-05_rb,4.7151e-05_rb/) kao(:, 4, 3, 2) = (/ & &4.4176e-06_rb,2.2879e-05_rb,3.1514e-05_rb,3.7717e-05_rb,4.2706e-05_rb,4.6836e-05_rb, & &5.0501e-05_rb,5.4941e-05_rb,4.8733e-05_rb/) kao(:, 5, 3, 2) = (/ & &4.5930e-06_rb,2.3205e-05_rb,3.1822e-05_rb,3.8274e-05_rb,4.3472e-05_rb,4.7803e-05_rb, & &5.1670e-05_rb,5.6326e-05_rb,5.0305e-05_rb/) kao(:, 1, 4, 2) = (/ & &6.4358e-06_rb,2.9282e-05_rb,3.6943e-05_rb,4.2596e-05_rb,4.5632e-05_rb,4.7319e-05_rb, & &4.7633e-05_rb,4.6727e-05_rb,3.6481e-05_rb/) kao(:, 2, 4, 2) = (/ & &6.8669e-06_rb,2.9817e-05_rb,3.7275e-05_rb,4.3436e-05_rb,4.6592e-05_rb,4.8428e-05_rb, & &4.8930e-05_rb,4.8153e-05_rb,3.7877e-05_rb/) kao(:, 3, 4, 2) = (/ & &7.3364e-06_rb,3.0199e-05_rb,3.7809e-05_rb,4.3827e-05_rb,4.7553e-05_rb,4.9496e-05_rb, & &5.0112e-05_rb,4.9423e-05_rb,3.9242e-05_rb/) kao(:, 4, 4, 2) = (/ & &7.7623e-06_rb,3.0806e-05_rb,3.8513e-05_rb,4.4137e-05_rb,4.8467e-05_rb,5.0544e-05_rb, & &5.1178e-05_rb,5.0627e-05_rb,4.0689e-05_rb/) kao(:, 5, 4, 2) = (/ & &8.2042e-06_rb,3.1502e-05_rb,3.9409e-05_rb,4.4849e-05_rb,4.9430e-05_rb,5.1580e-05_rb, & &5.2292e-05_rb,5.1835e-05_rb,4.2152e-05_rb/) kao(:, 1, 5, 2) = (/ & &1.0402e-05_rb,3.8540e-05_rb,4.6318e-05_rb,5.0020e-05_rb,5.3672e-05_rb,5.3150e-05_rb, & &5.0796e-05_rb,4.5989e-05_rb,3.1155e-05_rb/) kao(:, 2, 5, 2) = (/ & &1.1085e-05_rb,3.9241e-05_rb,4.7238e-05_rb,5.0920e-05_rb,5.3596e-05_rb,5.4294e-05_rb, & &5.2010e-05_rb,4.7261e-05_rb,3.2691e-05_rb/) kao(:, 3, 5, 2) = (/ & &1.1793e-05_rb,3.9912e-05_rb,4.8110e-05_rb,5.1979e-05_rb,5.4361e-05_rb,5.5470e-05_rb, & &5.3221e-05_rb,4.8498e-05_rb,3.4229e-05_rb/) kao(:, 4, 5, 2) = (/ & &1.2505e-05_rb,4.0706e-05_rb,4.8865e-05_rb,5.3127e-05_rb,5.5321e-05_rb,5.6646e-05_rb, & &5.4402e-05_rb,4.9696e-05_rb,3.5620e-05_rb/) kao(:, 5, 5, 2) = (/ & &1.3238e-05_rb,4.1575e-05_rb,5.0157e-05_rb,5.4552e-05_rb,5.6339e-05_rb,5.7036e-05_rb, & &5.5608e-05_rb,5.0863e-05_rb,3.6859e-05_rb/) kao(:, 1, 6, 2) = (/ & &1.5685e-05_rb,4.8160e-05_rb,5.7576e-05_rb,6.0816e-05_rb,6.0795e-05_rb,5.9888e-05_rb, & &5.5641e-05_rb,4.7076e-05_rb,2.7125e-05_rb/) kao(:, 2, 6, 2) = (/ & &1.6746e-05_rb,4.9438e-05_rb,5.8728e-05_rb,6.2091e-05_rb,6.2171e-05_rb,6.0759e-05_rb, & &5.6976e-05_rb,4.8239e-05_rb,2.8411e-05_rb/) kao(:, 3, 6, 2) = (/ & &1.7756e-05_rb,5.0622e-05_rb,5.9836e-05_rb,6.3203e-05_rb,6.3569e-05_rb,6.1458e-05_rb, & &5.8288e-05_rb,4.9429e-05_rb,2.9823e-05_rb/) kao(:, 4, 6, 2) = (/ & &1.8829e-05_rb,5.1859e-05_rb,6.0806e-05_rb,6.4509e-05_rb,6.5119e-05_rb,6.2540e-05_rb, & &5.8809e-05_rb,5.0652e-05_rb,3.1085e-05_rb/) kao(:, 5, 6, 2) = (/ & &1.9856e-05_rb,5.2975e-05_rb,6.2034e-05_rb,6.5989e-05_rb,6.6522e-05_rb,6.3894e-05_rb, & &5.9538e-05_rb,5.1853e-05_rb,3.2453e-05_rb/) kao(:, 1, 7, 2) = (/ & &2.4856e-05_rb,6.4218e-05_rb,7.4055e-05_rb,7.7980e-05_rb,7.5911e-05_rb,7.1057e-05_rb, & &6.3849e-05_rb,5.1579e-05_rb,2.5153e-05_rb/) kao(:, 2, 7, 2) = (/ & &2.6608e-05_rb,6.6305e-05_rb,7.5730e-05_rb,7.9533e-05_rb,7.7616e-05_rb,7.2887e-05_rb, & &6.4610e-05_rb,5.2907e-05_rb,2.6881e-05_rb/) kao(:, 3, 7, 2) = (/ & &2.8288e-05_rb,6.8291e-05_rb,7.7618e-05_rb,8.1185e-05_rb,7.9322e-05_rb,7.4738e-05_rb, & &6.5685e-05_rb,5.4242e-05_rb,2.8455e-05_rb/) kao(:, 4, 7, 2) = (/ & &3.0045e-05_rb,7.0265e-05_rb,7.9536e-05_rb,8.2799e-05_rb,8.1209e-05_rb,7.6305e-05_rb, & &6.7186e-05_rb,5.5601e-05_rb,2.9886e-05_rb/) kao(:, 5, 7, 2) = (/ & &3.1755e-05_rb,7.2003e-05_rb,8.1183e-05_rb,8.4367e-05_rb,8.2925e-05_rb,7.7935e-05_rb, & &6.8892e-05_rb,5.5914e-05_rb,3.1298e-05_rb/) kao(:, 1, 8, 2) = (/ & &4.6308e-05_rb,9.7055e-05_rb,1.0843e-04_rb,1.0990e-04_rb,1.0798e-04_rb,9.8279e-05_rb, & &8.2910e-05_rb,6.2908e-05_rb,2.6615e-05_rb/) kao(:, 2, 8, 2) = (/ & &4.9990e-05_rb,1.0048e-04_rb,1.1189e-04_rb,1.1329e-04_rb,1.1038e-04_rb,1.0108e-04_rb, & &8.5246e-05_rb,6.3800e-05_rb,2.8720e-05_rb/) kao(:, 3, 8, 2) = (/ & &5.3406e-05_rb,1.0353e-04_rb,1.1536e-04_rb,1.1646e-04_rb,1.1270e-04_rb,1.0316e-04_rb, & &8.7419e-05_rb,6.5105e-05_rb,3.1055e-05_rb/) kao(:, 4, 8, 2) = (/ & &5.6634e-05_rb,1.0658e-04_rb,1.1884e-04_rb,1.1968e-04_rb,1.1489e-04_rb,1.0536e-04_rb, & &8.9223e-05_rb,6.6739e-05_rb,3.2877e-05_rb/) kao(:, 5, 8, 2) = (/ & &5.9979e-05_rb,1.0942e-04_rb,1.2217e-04_rb,1.2302e-04_rb,1.1760e-04_rb,1.0763e-04_rb, & &9.1750e-05_rb,6.8524e-05_rb,3.4517e-05_rb/) kao(:, 1, 9, 2) = (/ & &1.6574e-04_rb,2.3675e-04_rb,2.5425e-04_rb,2.5367e-04_rb,2.3792e-04_rb,2.1003e-04_rb, & &1.7177e-04_rb,1.1936e-04_rb,3.2512e-05_rb/) kao(:, 2, 9, 2) = (/ & &1.7873e-04_rb,2.4657e-04_rb,2.6302e-04_rb,2.6299e-04_rb,2.4679e-04_rb,2.1704e-04_rb, & &1.7629e-04_rb,1.2297e-04_rb,3.4956e-05_rb/) kao(:, 3, 9, 2) = (/ & &1.9203e-04_rb,2.5827e-04_rb,2.7104e-04_rb,2.7133e-04_rb,2.5463e-04_rb,2.2408e-04_rb, & &1.8102e-04_rb,1.2579e-04_rb,3.6986e-05_rb/) kao(:, 4, 9, 2) = (/ & &2.0457e-04_rb,2.7047e-04_rb,2.8009e-04_rb,2.7979e-04_rb,2.6236e-04_rb,2.3082e-04_rb, & &1.8610e-04_rb,1.2867e-04_rb,3.9201e-05_rb/) kao(:, 5, 9, 2) = (/ & &2.1654e-04_rb,2.8311e-04_rb,2.9060e-04_rb,2.8789e-04_rb,2.7019e-04_rb,2.3757e-04_rb, & &1.9128e-04_rb,1.3157e-04_rb,4.1162e-05_rb/) kao(:, 1,10, 2) = (/ & &6.9835e-04_rb,7.7425e-04_rb,7.4212e-04_rb,6.8606e-04_rb,6.1917e-04_rb,5.3712e-04_rb, & &4.2860e-04_rb,2.7889e-04_rb,3.4936e-05_rb/) kao(:, 2,10, 2) = (/ & &7.4976e-04_rb,8.1587e-04_rb,7.7895e-04_rb,7.1764e-04_rb,6.4311e-04_rb,5.5763e-04_rb, & &4.4404e-04_rb,2.8872e-04_rb,3.8434e-05_rb/) kao(:, 3,10, 2) = (/ & &8.0421e-04_rb,8.6133e-04_rb,8.1873e-04_rb,7.5123e-04_rb,6.6805e-04_rb,5.7460e-04_rb, & &4.5895e-04_rb,2.9845e-04_rb,4.2197e-05_rb/) kao(:, 4,10, 2) = (/ & &8.5541e-04_rb,9.0651e-04_rb,8.6169e-04_rb,7.8842e-04_rb,6.9649e-04_rb,5.9375e-04_rb, & &4.7283e-04_rb,3.0790e-04_rb,4.6109e-05_rb/) kao(:, 5,10, 2) = (/ & &9.0554e-04_rb,9.5112e-04_rb,9.0374e-04_rb,8.2600e-04_rb,7.2587e-04_rb,6.1366e-04_rb, & &4.8709e-04_rb,3.1697e-04_rb,4.9839e-05_rb/) kao(:, 1,11, 2) = (/ & &1.0573e-03_rb,1.1046e-03_rb,1.0331e-03_rb,9.3641e-04_rb,8.2149e-04_rb,6.9220e-04_rb, & &5.4269e-04_rb,3.5137e-04_rb,3.2311e-05_rb/) kao(:, 2,11, 2) = (/ & &1.1354e-03_rb,1.1699e-03_rb,1.0957e-03_rb,9.8791e-04_rb,8.6081e-04_rb,7.2123e-04_rb, & &5.6428e-04_rb,3.6441e-04_rb,3.5797e-05_rb/) kao(:, 3,11, 2) = (/ & &1.2157e-03_rb,1.2370e-03_rb,1.1565e-03_rb,1.0415e-03_rb,9.0546e-04_rb,7.4993e-04_rb, & &5.8345e-04_rb,3.7768e-04_rb,3.9564e-05_rb/) kao(:, 4,11, 2) = (/ & &1.2894e-03_rb,1.3041e-03_rb,1.2183e-03_rb,1.0951e-03_rb,9.4833e-04_rb,7.8292e-04_rb, & &6.0424e-04_rb,3.8988e-04_rb,4.3105e-05_rb/) kao(:, 5,11, 2) = (/ & &1.3602e-03_rb,1.3714e-03_rb,1.2775e-03_rb,1.1464e-03_rb,9.9122e-04_rb,8.1361e-04_rb, & &6.2375e-04_rb,4.0138e-04_rb,4.6502e-05_rb/) kao(:, 1,12, 2) = (/ & &1.1559e-03_rb,1.1821e-03_rb,1.1002e-03_rb,9.8760e-04_rb,8.5869e-04_rb,7.1597e-04_rb, & &5.5368e-04_rb,3.5629e-04_rb,2.8926e-05_rb/) kao(:, 2,12, 2) = (/ & &1.2387e-03_rb,1.2530e-03_rb,1.1642e-03_rb,1.0435e-03_rb,9.0422e-04_rb,7.4802e-04_rb, & &5.7617e-04_rb,3.7052e-04_rb,3.1589e-05_rb/) kao(:, 3,12, 2) = (/ & &1.3216e-03_rb,1.3229e-03_rb,1.2283e-03_rb,1.1015e-03_rb,9.5193e-04_rb,7.8187e-04_rb, & &5.9954e-04_rb,3.8460e-04_rb,3.4577e-05_rb/) kao(:, 4,12, 2) = (/ & &1.3983e-03_rb,1.3942e-03_rb,1.2931e-03_rb,1.1587e-03_rb,9.9709e-04_rb,8.1633e-04_rb, & &6.2085e-04_rb,3.9719e-04_rb,3.7982e-05_rb/) kao(:, 5,12, 2) = (/ & &1.4751e-03_rb,1.4634e-03_rb,1.3557e-03_rb,1.2116e-03_rb,1.0389e-03_rb,8.4961e-04_rb, & &6.4030e-04_rb,4.0878e-04_rb,4.0969e-05_rb/) kao(:, 1,13, 2) = (/ & &1.0038e-03_rb,1.0239e-03_rb,9.5244e-04_rb,8.5524e-04_rb,7.4348e-04_rb,6.2001e-04_rb, & &4.7929e-04_rb,3.0767e-04_rb,2.4695e-05_rb/) kao(:, 2,13, 2) = (/ & &1.0734e-03_rb,1.0865e-03_rb,1.0094e-03_rb,9.0484e-04_rb,7.8346e-04_rb,6.4723e-04_rb, & &4.9815e-04_rb,3.1985e-04_rb,2.6858e-05_rb/) kao(:, 3,13, 2) = (/ & &1.1391e-03_rb,1.1434e-03_rb,1.0621e-03_rb,9.5239e-04_rb,8.2130e-04_rb,6.7579e-04_rb, & &5.1796e-04_rb,3.3140e-04_rb,2.9385e-05_rb/) kao(:, 4,13, 2) = (/ & &1.2032e-03_rb,1.2025e-03_rb,1.1163e-03_rb,9.9786e-04_rb,8.5960e-04_rb,7.0590e-04_rb, & &5.3619e-04_rb,3.4228e-04_rb,3.2189e-05_rb/) kao(:, 5,13, 2) = (/ & &1.2690e-03_rb,1.2617e-03_rb,1.1676e-03_rb,1.0418e-03_rb,8.9504e-04_rb,7.3293e-04_rb, & &5.5106e-04_rb,3.5176e-04_rb,3.4791e-05_rb/) kao(:, 1, 1, 3) = (/ & &3.4054e-06_rb,3.6169e-05_rb,5.7781e-05_rb,7.9702e-05_rb,9.9450e-05_rb,1.1908e-04_rb, & &1.4021e-04_rb,1.6904e-04_rb,1.5965e-04_rb/) kao(:, 2, 1, 3) = (/ & &3.5406e-06_rb,3.7213e-05_rb,5.9148e-05_rb,7.9930e-05_rb,1.0281e-04_rb,1.2326e-04_rb, & &1.4516e-04_rb,1.7473e-04_rb,1.6518e-04_rb/) kao(:, 3, 1, 3) = (/ & &3.6962e-06_rb,3.8392e-05_rb,6.0628e-05_rb,8.1614e-05_rb,1.0332e-04_rb,1.2805e-04_rb, & &1.5083e-04_rb,1.8127e-04_rb,1.7179e-04_rb/) kao(:, 4, 1, 3) = (/ & &3.8150e-06_rb,3.9649e-05_rb,6.2587e-05_rb,8.4276e-05_rb,1.0580e-04_rb,1.2950e-04_rb, & &1.5730e-04_rb,1.8884e-04_rb,1.7648e-04_rb/) kao(:, 5, 1, 3) = (/ & &3.9425e-06_rb,4.0895e-05_rb,6.4628e-05_rb,8.7067e-05_rb,1.0971e-04_rb,1.3287e-04_rb, & &1.5979e-04_rb,1.9707e-04_rb,1.8056e-04_rb/) kao(:, 1, 2, 3) = (/ & &4.7659e-06_rb,3.7672e-05_rb,5.6772e-05_rb,7.4964e-05_rb,9.3354e-05_rb,1.1163e-04_rb, & &1.2805e-04_rb,1.4897e-04_rb,1.4118e-04_rb/) kao(:, 2, 2, 3) = (/ & &4.9285e-06_rb,3.8459e-05_rb,5.8331e-05_rb,7.6310e-05_rb,9.3490e-05_rb,1.1292e-04_rb, & &1.3218e-04_rb,1.5402e-04_rb,1.4609e-04_rb/) kao(:, 3, 2, 3) = (/ & &5.1241e-06_rb,3.9569e-05_rb,6.0060e-05_rb,7.8269e-05_rb,9.6361e-05_rb,1.1403e-04_rb, & &1.3730e-04_rb,1.5986e-04_rb,1.4966e-04_rb/) kao(:, 4, 2, 3) = (/ & &5.2863e-06_rb,4.0536e-05_rb,6.2133e-05_rb,8.0760e-05_rb,9.8821e-05_rb,1.1724e-04_rb, & &1.3737e-04_rb,1.6656e-04_rb,1.5208e-04_rb/) kao(:, 5, 2, 3) = (/ & &5.4310e-06_rb,4.1540e-05_rb,6.3967e-05_rb,8.3433e-05_rb,1.0178e-04_rb,1.2080e-04_rb, & &1.4142e-04_rb,1.7063e-04_rb,1.5631e-04_rb/) kao(:, 1, 3, 3) = (/ & &8.9186e-06_rb,4.5407e-05_rb,6.3526e-05_rb,7.8550e-05_rb,9.1618e-05_rb,1.0496e-04_rb, & &1.2158e-04_rb,1.3284e-04_rb,1.2340e-04_rb/) kao(:, 2, 3, 3) = (/ & &9.2443e-06_rb,4.6508e-05_rb,6.4784e-05_rb,8.0506e-05_rb,9.3613e-05_rb,1.0642e-04_rb, & &1.2005e-04_rb,1.3711e-04_rb,1.2632e-04_rb/) kao(:, 3, 3, 3) = (/ & &9.5550e-06_rb,4.7677e-05_rb,6.6548e-05_rb,8.2736e-05_rb,9.6188e-05_rb,1.0877e-04_rb, & &1.2156e-04_rb,1.4196e-04_rb,1.2696e-04_rb/) kao(:, 4, 3, 3) = (/ & &9.9051e-06_rb,4.8778e-05_rb,6.8112e-05_rb,8.4988e-05_rb,9.9246e-05_rb,1.1223e-04_rb, & &1.2463e-04_rb,1.4159e-04_rb,1.2947e-04_rb/) kao(:, 5, 3, 3) = (/ & &1.0162e-05_rb,4.9942e-05_rb,6.9999e-05_rb,8.7421e-05_rb,1.0238e-04_rb,1.1576e-04_rb, & &1.2839e-04_rb,1.4461e-04_rb,1.3351e-04_rb/) kao(:, 1, 4, 3) = (/ & &1.6753e-05_rb,5.8237e-05_rb,7.6272e-05_rb,8.8204e-05_rb,9.8762e-05_rb,1.0698e-04_rb, & &1.1349e-04_rb,1.2379e-04_rb,1.0697e-04_rb/) kao(:, 2, 4, 3) = (/ & &1.7441e-05_rb,5.9610e-05_rb,7.7972e-05_rb,9.0358e-05_rb,1.0097e-04_rb,1.0919e-04_rb, & &1.1491e-04_rb,1.2294e-04_rb,1.0628e-04_rb/) kao(:, 3, 4, 3) = (/ & &1.8082e-05_rb,6.1175e-05_rb,7.9988e-05_rb,9.2267e-05_rb,1.0332e-04_rb,1.1211e-04_rb, & &1.1776e-04_rb,1.2346e-04_rb,1.0729e-04_rb/) kao(:, 4, 4, 3) = (/ & &1.8658e-05_rb,6.2685e-05_rb,8.1816e-05_rb,9.5481e-05_rb,1.0615e-04_rb,1.1496e-04_rb, & &1.2097e-04_rb,1.2608e-04_rb,1.1024e-04_rb/) kao(:, 5, 4, 3) = (/ & &1.9340e-05_rb,6.4673e-05_rb,8.3970e-05_rb,9.8481e-05_rb,1.0873e-04_rb,1.1832e-04_rb, & &1.2499e-04_rb,1.2979e-04_rb,1.1362e-04_rb/) kao(:, 1, 5, 3) = (/ & &2.8523e-05_rb,7.5471e-05_rb,9.2112e-05_rb,1.0383e-04_rb,1.0948e-04_rb,1.1290e-04_rb, & &1.1403e-04_rb,1.1277e-04_rb,8.7972e-05_rb/) kao(:, 2, 5, 3) = (/ & &2.9775e-05_rb,7.7638e-05_rb,9.4306e-05_rb,1.0580e-04_rb,1.1226e-04_rb,1.1540e-04_rb, & &1.1664e-04_rb,1.1378e-04_rb,8.7781e-05_rb/) kao(:, 3, 5, 3) = (/ & &3.1032e-05_rb,7.9995e-05_rb,9.6878e-05_rb,1.0807e-04_rb,1.1530e-04_rb,1.1833e-04_rb, & &1.1968e-04_rb,1.1643e-04_rb,8.9738e-05_rb/) kao(:, 4, 5, 3) = (/ & &3.2122e-05_rb,8.2389e-05_rb,9.9387e-05_rb,1.1070e-04_rb,1.1849e-04_rb,1.2073e-04_rb, & &1.2266e-04_rb,1.1931e-04_rb,9.1761e-05_rb/) kao(:, 5, 5, 3) = (/ & &3.3412e-05_rb,8.5294e-05_rb,1.0214e-04_rb,1.1395e-04_rb,1.2220e-04_rb,1.2513e-04_rb, & &1.2589e-04_rb,1.2317e-04_rb,9.4332e-05_rb/) kao(:, 1, 6, 3) = (/ & &4.4933e-05_rb,9.9737e-05_rb,1.1255e-04_rb,1.2118e-04_rb,1.2554e-04_rb,1.2364e-04_rb, & &1.1791e-04_rb,1.0852e-04_rb,7.4135e-05_rb/) kao(:, 2, 6, 3) = (/ & &4.7071e-05_rb,1.0236e-04_rb,1.1567e-04_rb,1.2397e-04_rb,1.2766e-04_rb,1.2658e-04_rb, & &1.2060e-04_rb,1.1056e-04_rb,7.5435e-05_rb/) kao(:, 3, 6, 3) = (/ & &4.9151e-05_rb,1.0514e-04_rb,1.1921e-04_rb,1.2711e-04_rb,1.3040e-04_rb,1.2992e-04_rb, & &1.2331e-04_rb,1.1371e-04_rb,7.6849e-05_rb/) kao(:, 4, 6, 3) = (/ & &5.1024e-05_rb,1.0807e-04_rb,1.2306e-04_rb,1.3034e-04_rb,1.3370e-04_rb,1.3344e-04_rb, & &1.2682e-04_rb,1.1612e-04_rb,7.8630e-05_rb/) kao(:, 5, 6, 3) = (/ & &5.2854e-05_rb,1.1144e-04_rb,1.2670e-04_rb,1.3361e-04_rb,1.3751e-04_rb,1.3677e-04_rb, & &1.3113e-04_rb,1.1903e-04_rb,8.1063e-05_rb/) kao(:, 1, 7, 3) = (/ & &7.4131e-05_rb,1.3771e-04_rb,1.5135e-04_rb,1.5339e-04_rb,1.5199e-04_rb,1.4542e-04_rb, & &1.3212e-04_rb,1.1157e-04_rb,6.3305e-05_rb/) kao(:, 2, 7, 3) = (/ & &7.8122e-05_rb,1.4080e-04_rb,1.5542e-04_rb,1.5789e-04_rb,1.5525e-04_rb,1.4808e-04_rb, & &1.3571e-04_rb,1.1400e-04_rb,6.4305e-05_rb/) kao(:, 3, 7, 3) = (/ & &8.1792e-05_rb,1.4429e-04_rb,1.5980e-04_rb,1.6259e-04_rb,1.5930e-04_rb,1.5173e-04_rb, & &1.3906e-04_rb,1.1682e-04_rb,6.5778e-05_rb/) kao(:, 4, 7, 3) = (/ & &8.5102e-05_rb,1.4854e-04_rb,1.6447e-04_rb,1.6719e-04_rb,1.6365e-04_rb,1.5623e-04_rb, & &1.4249e-04_rb,1.1910e-04_rb,6.8216e-05_rb/) kao(:, 5, 7, 3) = (/ & &8.8343e-05_rb,1.5302e-04_rb,1.6961e-04_rb,1.7246e-04_rb,1.6859e-04_rb,1.6045e-04_rb, & &1.4567e-04_rb,1.2333e-04_rb,7.0812e-05_rb/) kao(:, 1, 8, 3) = (/ & &1.4407e-04_rb,2.1929e-04_rb,2.3408e-04_rb,2.3175e-04_rb,2.1747e-04_rb,1.9684e-04_rb, & &1.7181e-04_rb,1.3227e-04_rb,5.5189e-05_rb/) kao(:, 2, 8, 3) = (/ & &1.5218e-04_rb,2.2535e-04_rb,2.3947e-04_rb,2.3742e-04_rb,2.2354e-04_rb,2.0175e-04_rb, & &1.7481e-04_rb,1.3567e-04_rb,5.7508e-05_rb/) kao(:, 3, 8, 3) = (/ & &1.5981e-04_rb,2.3168e-04_rb,2.4529e-04_rb,2.4373e-04_rb,2.2990e-04_rb,2.0756e-04_rb, & &1.7860e-04_rb,1.3869e-04_rb,5.9914e-05_rb/) kao(:, 4, 8, 3) = (/ & &1.6710e-04_rb,2.3880e-04_rb,2.5211e-04_rb,2.5020e-04_rb,2.3684e-04_rb,2.1373e-04_rb, & &1.8326e-04_rb,1.4183e-04_rb,6.3164e-05_rb/) kao(:, 5, 8, 3) = (/ & &1.7380e-04_rb,2.4599e-04_rb,2.5929e-04_rb,2.5766e-04_rb,2.4400e-04_rb,2.1994e-04_rb, & &1.8763e-04_rb,1.4519e-04_rb,6.6105e-05_rb/) kao(:, 1, 9, 3) = (/ & &5.2627e-04_rb,6.1534e-04_rb,6.0941e-04_rb,5.7646e-04_rb,5.2415e-04_rb,4.5407e-04_rb, & &3.6135e-04_rb,2.4279e-04_rb,6.7993e-05_rb/) kao(:, 2, 9, 3) = (/ & &5.5864e-04_rb,6.4193e-04_rb,6.3124e-04_rb,5.9396e-04_rb,5.3793e-04_rb,4.6535e-04_rb, & &3.7115e-04_rb,2.4862e-04_rb,7.5217e-05_rb/) kao(:, 3, 9, 3) = (/ & &5.8842e-04_rb,6.6676e-04_rb,6.5277e-04_rb,6.1271e-04_rb,5.5239e-04_rb,4.7636e-04_rb, & &3.8150e-04_rb,2.5543e-04_rb,8.1799e-05_rb/) kao(:, 4, 9, 3) = (/ & &6.1785e-04_rb,6.9166e-04_rb,6.7437e-04_rb,6.3091e-04_rb,5.6815e-04_rb,4.8941e-04_rb, & &3.9213e-04_rb,2.6284e-04_rb,8.7598e-05_rb/) kao(:, 5, 9, 3) = (/ & &6.4520e-04_rb,7.1602e-04_rb,6.9663e-04_rb,6.4913e-04_rb,5.8418e-04_rb,5.0317e-04_rb, & &4.0334e-04_rb,2.7060e-04_rb,9.2801e-05_rb/) kao(:, 1,10, 3) = (/ & &2.1645e-03_rb,2.1618e-03_rb,2.0014e-03_rb,1.7923e-03_rb,1.5495e-03_rb,1.2769e-03_rb, & &9.6609e-04_rb,6.0453e-04_rb,1.0410e-04_rb/) kao(:, 2,10, 3) = (/ & &2.3095e-03_rb,2.2836e-03_rb,2.1017e-03_rb,1.8749e-03_rb,1.6151e-03_rb,1.3240e-03_rb, & &9.9711e-04_rb,6.2160e-04_rb,1.1408e-04_rb/) kao(:, 3,10, 3) = (/ & &2.4464e-03_rb,2.3906e-03_rb,2.1944e-03_rb,1.9559e-03_rb,1.6773e-03_rb,1.3715e-03_rb, & &1.0290e-03_rb,6.3832e-04_rb,1.2224e-04_rb/) kao(:, 4,10, 3) = (/ & &2.5757e-03_rb,2.5009e-03_rb,2.2880e-03_rb,2.0317e-03_rb,1.7417e-03_rb,1.4189e-03_rb, & &1.0630e-03_rb,6.5627e-04_rb,1.3004e-04_rb/) kao(:, 5,10, 3) = (/ & &2.6938e-03_rb,2.6117e-03_rb,2.3825e-03_rb,2.1099e-03_rb,1.8067e-03_rb,1.4685e-03_rb, & &1.0955e-03_rb,6.7426e-04_rb,1.3892e-04_rb/) kao(:, 1,11, 3) = (/ & &3.2925e-03_rb,3.1585e-03_rb,2.8624e-03_rb,2.5152e-03_rb,2.1339e-03_rb,1.7245e-03_rb, & &1.2749e-03_rb,7.7353e-04_rb,1.1570e-04_rb/) kao(:, 2,11, 3) = (/ & &3.4939e-03_rb,3.3275e-03_rb,2.9995e-03_rb,2.6330e-03_rb,2.2285e-03_rb,1.7928e-03_rb, & &1.3221e-03_rb,7.9717e-04_rb,1.2609e-04_rb/) kao(:, 3,11, 3) = (/ & &3.6814e-03_rb,3.4852e-03_rb,3.1333e-03_rb,2.7438e-03_rb,2.3219e-03_rb,1.8667e-03_rb, & &1.3711e-03_rb,8.2069e-04_rb,1.3849e-04_rb/) kao(:, 4,11, 3) = (/ & &3.8717e-03_rb,3.6472e-03_rb,3.2720e-03_rb,2.8608e-03_rb,2.4167e-03_rb,1.9357e-03_rb, & &1.4194e-03_rb,8.4717e-04_rb,1.4796e-04_rb/) kao(:, 5,11, 3) = (/ & &4.0507e-03_rb,3.8076e-03_rb,3.4109e-03_rb,2.9754e-03_rb,2.5103e-03_rb,2.0111e-03_rb, & &1.4691e-03_rb,8.7324e-04_rb,1.5498e-04_rb/) kao(:, 1,12, 3) = (/ & &3.6937e-03_rb,3.5033e-03_rb,3.1460e-03_rb,2.7421e-03_rb,2.3088e-03_rb,1.8436e-03_rb, & &1.3493e-03_rb,8.0094e-04_rb,1.1298e-04_rb/) kao(:, 2,12, 3) = (/ & &3.9154e-03_rb,3.6887e-03_rb,3.2999e-03_rb,2.8717e-03_rb,2.4149e-03_rb,1.9245e-03_rb, & &1.4017e-03_rb,8.2771e-04_rb,1.2419e-04_rb/) kao(:, 3,12, 3) = (/ & &4.1285e-03_rb,3.8698e-03_rb,3.4585e-03_rb,3.0012e-03_rb,2.5199e-03_rb,2.0022e-03_rb, & &1.4553e-03_rb,8.5423e-04_rb,1.3225e-04_rb/) kao(:, 4,12, 3) = (/ & &4.3384e-03_rb,4.0509e-03_rb,3.6103e-03_rb,3.1297e-03_rb,2.6243e-03_rb,2.0861e-03_rb, & &1.5110e-03_rb,8.8306e-04_rb,1.4212e-04_rb/) kao(:, 5,12, 3) = (/ & &4.5406e-03_rb,4.2341e-03_rb,3.7730e-03_rb,3.2693e-03_rb,2.7384e-03_rb,2.1705e-03_rb, & &1.5683e-03_rb,9.1255e-04_rb,1.5213e-04_rb/) kao(:, 1,13, 3) = (/ & &3.2602e-03_rb,3.0914e-03_rb,2.7797e-03_rb,2.4220e-03_rb,2.0389e-03_rb,1.6288e-03_rb, & &1.1889e-03_rb,7.0223e-04_rb,9.9450e-05_rb/) kao(:, 2,13, 3) = (/ & &3.4542e-03_rb,3.2567e-03_rb,2.9218e-03_rb,2.5424e-03_rb,2.1356e-03_rb,1.7009e-03_rb, & &1.2356e-03_rb,7.2786e-04_rb,1.0781e-04_rb/) kao(:, 3,13, 3) = (/ & &3.6454e-03_rb,3.4269e-03_rb,3.0649e-03_rb,2.6592e-03_rb,2.2314e-03_rb,1.7744e-03_rb, & &1.2855e-03_rb,7.5225e-04_rb,1.1667e-04_rb/) kao(:, 4,13, 3) = (/ & &3.8341e-03_rb,3.5875e-03_rb,3.2022e-03_rb,2.7784e-03_rb,2.3283e-03_rb,1.8470e-03_rb, & &1.3345e-03_rb,7.7860e-04_rb,1.2556e-04_rb/) kao(:, 5,13, 3) = (/ & &4.0097e-03_rb,3.7448e-03_rb,3.3397e-03_rb,2.8965e-03_rb,2.4238e-03_rb,1.9205e-03_rb, & &1.3873e-03_rb,8.0728e-04_rb,1.3156e-04_rb/) kao(:, 1, 1, 4) = (/ & &7.6190e-06_rb,7.2707e-05_rb,1.2159e-04_rb,1.6797e-04_rb,2.1749e-04_rb,2.7232e-04_rb, & &3.3756e-04_rb,4.5000e-04_rb,3.7863e-04_rb/) kao(:, 2, 1, 4) = (/ & &7.7938e-06_rb,7.4481e-05_rb,1.2500e-04_rb,1.7416e-04_rb,2.2412e-04_rb,2.7984e-04_rb, & &3.4630e-04_rb,4.4903e-04_rb,3.8823e-04_rb/) kao(:, 3, 1, 4) = (/ & &8.0028e-06_rb,7.6115e-05_rb,1.2829e-04_rb,1.8057e-04_rb,2.3237e-04_rb,2.8607e-04_rb, & &3.5506e-04_rb,4.5741e-04_rb,3.9983e-04_rb/) kao(:, 4, 1, 4) = (/ & &8.1270e-06_rb,7.7997e-05_rb,1.3160e-04_rb,1.8544e-04_rb,2.4027e-04_rb,2.9656e-04_rb, & &3.6016e-04_rb,4.6576e-04_rb,4.1176e-04_rb/) kao(:, 5, 1, 4) = (/ & &8.2916e-06_rb,8.0436e-05_rb,1.3585e-04_rb,1.9127e-04_rb,2.4691e-04_rb,3.0708e-04_rb, & &3.7489e-04_rb,4.7422e-04_rb,4.3091e-04_rb/) kao(:, 1, 2, 4) = (/ & &1.0434e-05_rb,7.3238e-05_rb,1.1625e-04_rb,1.5526e-04_rb,1.9383e-04_rb,2.3419e-04_rb, & &2.8405e-04_rb,3.6155e-04_rb,3.1532e-04_rb/) kao(:, 2, 2, 4) = (/ & &1.0681e-05_rb,7.5036e-05_rb,1.1854e-04_rb,1.5997e-04_rb,2.0074e-04_rb,2.4144e-04_rb, & &2.9129e-04_rb,3.7038e-04_rb,3.2501e-04_rb/) kao(:, 3, 2, 4) = (/ & &1.0988e-05_rb,7.7182e-05_rb,1.2126e-04_rb,1.6374e-04_rb,2.0655e-04_rb,2.5052e-04_rb, & &2.9566e-04_rb,3.7520e-04_rb,3.3554e-04_rb/) kao(:, 4, 2, 4) = (/ & &1.1243e-05_rb,7.9396e-05_rb,1.2452e-04_rb,1.6827e-04_rb,2.1213e-04_rb,2.5807e-04_rb, & &3.0951e-04_rb,3.7973e-04_rb,3.4985e-04_rb/) kao(:, 5, 2, 4) = (/ & &1.1433e-05_rb,8.1733e-05_rb,1.2847e-04_rb,1.7400e-04_rb,2.1976e-04_rb,2.6675e-04_rb, & &3.1873e-04_rb,3.9060e-04_rb,3.6531e-04_rb/) kao(:, 1, 3, 4) = (/ & &1.9121e-05_rb,8.5930e-05_rb,1.2401e-04_rb,1.5771e-04_rb,1.8803e-04_rb,2.1587e-04_rb, & &2.4191e-04_rb,2.8659e-04_rb,2.6000e-04_rb/) kao(:, 2, 3, 4) = (/ & &1.9555e-05_rb,8.7968e-05_rb,1.2724e-04_rb,1.6033e-04_rb,1.9279e-04_rb,2.2305e-04_rb, & &2.5217e-04_rb,2.9281e-04_rb,2.6982e-04_rb/) kao(:, 3, 3, 4) = (/ & &2.0014e-05_rb,9.0319e-05_rb,1.3030e-04_rb,1.6432e-04_rb,1.9658e-04_rb,2.2814e-04_rb, & &2.6130e-04_rb,2.9767e-04_rb,2.8111e-04_rb/) kao(:, 4, 3, 4) = (/ & &2.0629e-05_rb,9.3145e-05_rb,1.3414e-04_rb,1.6939e-04_rb,2.0212e-04_rb,2.3402e-04_rb, & &2.6796e-04_rb,3.0992e-04_rb,2.9328e-04_rb/) kao(:, 5, 3, 4) = (/ & &2.0980e-05_rb,9.5719e-05_rb,1.3796e-04_rb,1.7464e-04_rb,2.0857e-04_rb,2.4205e-04_rb, & &2.7670e-04_rb,3.1994e-04_rb,3.0523e-04_rb/) kao(:, 1, 4, 4) = (/ & &3.5480e-05_rb,1.1130e-04_rb,1.4459e-04_rb,1.7323e-04_rb,1.9468e-04_rb,2.1444e-04_rb, & &2.2966e-04_rb,2.4128e-04_rb,2.1617e-04_rb/) kao(:, 2, 4, 4) = (/ & &3.6323e-05_rb,1.1358e-04_rb,1.4824e-04_rb,1.7664e-04_rb,1.9952e-04_rb,2.1840e-04_rb, & &2.3716e-04_rb,2.5075e-04_rb,2.2864e-04_rb/) kao(:, 3, 4, 4) = (/ & &3.7216e-05_rb,1.1624e-04_rb,1.5219e-04_rb,1.8108e-04_rb,2.0484e-04_rb,2.2378e-04_rb, & &2.4107e-04_rb,2.5972e-04_rb,2.3687e-04_rb/) kao(:, 4, 4, 4) = (/ & &3.8132e-05_rb,1.1926e-04_rb,1.5631e-04_rb,1.8514e-04_rb,2.0992e-04_rb,2.3030e-04_rb, & &2.4787e-04_rb,2.6623e-04_rb,2.4575e-04_rb/) kao(:, 5, 4, 4) = (/ & &3.9332e-05_rb,1.2292e-04_rb,1.6148e-04_rb,1.9104e-04_rb,2.1696e-04_rb,2.3764e-04_rb, & &2.5623e-04_rb,2.7468e-04_rb,2.5520e-04_rb/) kao(:, 1, 5, 4) = (/ & &6.0558e-05_rb,1.4537e-04_rb,1.7679e-04_rb,1.9677e-04_rb,2.1242e-04_rb,2.2290e-04_rb, & &2.2712e-04_rb,2.2468e-04_rb,1.8402e-04_rb/) kao(:, 2, 5, 4) = (/ & &6.2024e-05_rb,1.4763e-04_rb,1.8049e-04_rb,2.0169e-04_rb,2.1740e-04_rb,2.2816e-04_rb, & &2.3141e-04_rb,2.3210e-04_rb,1.9363e-04_rb/) kao(:, 3, 5, 4) = (/ & &6.3560e-05_rb,1.5048e-04_rb,1.8446e-04_rb,2.0674e-04_rb,2.2245e-04_rb,2.3297e-04_rb, & &2.3732e-04_rb,2.3625e-04_rb,1.9953e-04_rb/) kao(:, 4, 5, 4) = (/ & &6.5197e-05_rb,1.5389e-04_rb,1.8956e-04_rb,2.1242e-04_rb,2.2805e-04_rb,2.3893e-04_rb, & &2.4394e-04_rb,2.4242e-04_rb,2.0731e-04_rb/) kao(:, 5, 5, 4) = (/ & &6.7408e-05_rb,1.5860e-04_rb,1.9588e-04_rb,2.1916e-04_rb,2.3481e-04_rb,2.4604e-04_rb, & &2.5157e-04_rb,2.5058e-04_rb,2.1479e-04_rb/) kao(:, 1, 6, 4) = (/ & &9.6086e-05_rb,1.8511e-04_rb,2.1787e-04_rb,2.3286e-04_rb,2.3898e-04_rb,2.3907e-04_rb, & &2.3360e-04_rb,2.1667e-04_rb,1.5583e-04_rb/) kao(:, 2, 6, 4) = (/ & &9.8537e-05_rb,1.8825e-04_rb,2.2157e-04_rb,2.3776e-04_rb,2.4456e-04_rb,2.4422e-04_rb, & &2.3850e-04_rb,2.2088e-04_rb,1.6156e-04_rb/) kao(:, 3, 6, 4) = (/ & &1.0106e-04_rb,1.9192e-04_rb,2.2599e-04_rb,2.4309e-04_rb,2.5072e-04_rb,2.5018e-04_rb, & &2.4346e-04_rb,2.2608e-04_rb,1.6736e-04_rb/) kao(:, 4, 6, 4) = (/ & &1.0368e-04_rb,1.9610e-04_rb,2.3144e-04_rb,2.4948e-04_rb,2.5710e-04_rb,2.5653e-04_rb, & &2.4933e-04_rb,2.3314e-04_rb,1.7404e-04_rb/) kao(:, 5, 6, 4) = (/ & &1.0646e-04_rb,2.0089e-04_rb,2.3770e-04_rb,2.5701e-04_rb,2.6421e-04_rb,2.6433e-04_rb, & &2.5582e-04_rb,2.4028e-04_rb,1.7876e-04_rb/) kao(:, 1, 7, 4) = (/ & &1.6042e-04_rb,2.5585e-04_rb,2.8519e-04_rb,2.9642e-04_rb,2.9350e-04_rb,2.7913e-04_rb, & &2.5601e-04_rb,2.2211e-04_rb,1.3626e-04_rb/) kao(:, 2, 7, 4) = (/ & &1.6465e-04_rb,2.6056e-04_rb,2.8988e-04_rb,3.0133e-04_rb,2.9907e-04_rb,2.8588e-04_rb, & &2.6187e-04_rb,2.2729e-04_rb,1.4135e-04_rb/) kao(:, 3, 7, 4) = (/ & &1.6901e-04_rb,2.6578e-04_rb,2.9572e-04_rb,3.0741e-04_rb,3.0551e-04_rb,2.9184e-04_rb, & &2.6817e-04_rb,2.3205e-04_rb,1.4656e-04_rb/) kao(:, 4, 7, 4) = (/ & &1.7367e-04_rb,2.7110e-04_rb,3.0239e-04_rb,3.1497e-04_rb,3.1315e-04_rb,2.9895e-04_rb, & &2.7506e-04_rb,2.3781e-04_rb,1.5059e-04_rb/) kao(:, 5, 7, 4) = (/ & &1.7865e-04_rb,2.7756e-04_rb,3.1008e-04_rb,3.2315e-04_rb,3.2186e-04_rb,3.0753e-04_rb, & &2.8375e-04_rb,2.4404e-04_rb,1.5550e-04_rb/) kao(:, 1, 8, 4) = (/ & &3.1654e-04_rb,4.1629e-04_rb,4.3839e-04_rb,4.3773e-04_rb,4.1826e-04_rb,3.8213e-04_rb, & &3.2793e-04_rb,2.5576e-04_rb,1.2647e-04_rb/) kao(:, 2, 8, 4) = (/ & &3.2537e-04_rb,4.2537e-04_rb,4.4661e-04_rb,4.4494e-04_rb,4.2500e-04_rb,3.8879e-04_rb, & &3.3490e-04_rb,2.6206e-04_rb,1.2938e-04_rb/) kao(:, 3, 8, 4) = (/ & &3.3408e-04_rb,4.3504e-04_rb,4.5626e-04_rb,4.5382e-04_rb,4.3360e-04_rb,3.9751e-04_rb, & &3.4272e-04_rb,2.6854e-04_rb,1.3239e-04_rb/) kao(:, 4, 8, 4) = (/ & &3.4318e-04_rb,4.4480e-04_rb,4.6645e-04_rb,4.6411e-04_rb,4.4358e-04_rb,4.0695e-04_rb, & &3.5185e-04_rb,2.7598e-04_rb,1.3521e-04_rb/) kao(:, 5, 8, 4) = (/ & &3.5364e-04_rb,4.5591e-04_rb,4.7748e-04_rb,4.7551e-04_rb,4.5523e-04_rb,4.1803e-04_rb, & &3.6238e-04_rb,2.8454e-04_rb,1.3901e-04_rb/) kao(:, 1, 9, 4) = (/ & &1.1778e-03_rb,1.2542e-03_rb,1.1993e-03_rb,1.1088e-03_rb,9.9621e-04_rb,8.5814e-04_rb, & &6.9027e-04_rb,4.7338e-04_rb,1.4222e-04_rb/) kao(:, 2, 9, 4) = (/ & &1.2148e-03_rb,1.2865e-03_rb,1.2285e-03_rb,1.1318e-03_rb,1.0140e-03_rb,8.7230e-04_rb, & &7.0194e-04_rb,4.8264e-04_rb,1.4691e-04_rb/) kao(:, 3, 9, 4) = (/ & &1.2493e-03_rb,1.3197e-03_rb,1.2603e-03_rb,1.1590e-03_rb,1.0363e-03_rb,8.9016e-04_rb, & &7.1481e-04_rb,4.9330e-04_rb,1.5194e-04_rb/) kao(:, 4, 9, 4) = (/ & &1.2842e-03_rb,1.3516e-03_rb,1.2898e-03_rb,1.1881e-03_rb,1.0607e-03_rb,9.1030e-04_rb, & &7.3056e-04_rb,5.0488e-04_rb,1.5874e-04_rb/) kao(:, 5, 9, 4) = (/ & &1.3233e-03_rb,1.3878e-03_rb,1.3225e-03_rb,1.2203e-03_rb,1.0882e-03_rb,9.3354e-04_rb, & &7.4949e-04_rb,5.1819e-04_rb,1.6715e-04_rb/) kao(:, 1,10, 4) = (/ & &4.9223e-03_rb,4.6924e-03_rb,4.2372e-03_rb,3.7210e-03_rb,3.1598e-03_rb,2.5466e-03_rb, & &1.8894e-03_rb,1.1610e-03_rb,2.5902e-04_rb/) kao(:, 2,10, 4) = (/ & &5.1019e-03_rb,4.8420e-03_rb,4.3700e-03_rb,3.8242e-03_rb,3.2382e-03_rb,2.6075e-03_rb, & &1.9274e-03_rb,1.1773e-03_rb,2.7993e-04_rb/) kao(:, 3,10, 4) = (/ & &5.2624e-03_rb,4.9912e-03_rb,4.4976e-03_rb,3.9326e-03_rb,3.3295e-03_rb,2.6789e-03_rb, & &1.9739e-03_rb,1.2013e-03_rb,2.9275e-04_rb/) kao(:, 4,10, 4) = (/ & &5.4202e-03_rb,5.1325e-03_rb,4.6211e-03_rb,4.0415e-03_rb,3.4179e-03_rb,2.7474e-03_rb, & &2.0231e-03_rb,1.2303e-03_rb,3.0514e-04_rb/) kao(:, 5,10, 4) = (/ & &5.5922e-03_rb,5.2716e-03_rb,4.7430e-03_rb,4.1489e-03_rb,3.5047e-03_rb,2.8180e-03_rb, & &2.0794e-03_rb,1.2643e-03_rb,3.1858e-04_rb/) kao(:, 1,11, 4) = (/ & &7.2623e-03_rb,6.7979e-03_rb,6.0744e-03_rb,5.2843e-03_rb,4.4298e-03_rb,3.5303e-03_rb, & &2.5670e-03_rb,1.5127e-03_rb,3.1480e-04_rb/) kao(:, 2,11, 4) = (/ & &7.5607e-03_rb,7.0506e-03_rb,6.2894e-03_rb,5.4629e-03_rb,4.5682e-03_rb,3.6306e-03_rb, & &2.6328e-03_rb,1.5436e-03_rb,3.2537e-04_rb/) kao(:, 3,11, 4) = (/ & &7.8471e-03_rb,7.2956e-03_rb,6.4988e-03_rb,5.6385e-03_rb,4.7125e-03_rb,3.7379e-03_rb, & &2.7029e-03_rb,1.5776e-03_rb,3.3231e-04_rb/) kao(:, 4,11, 4) = (/ & &8.1128e-03_rb,7.5290e-03_rb,6.7020e-03_rb,5.8093e-03_rb,4.8535e-03_rb,3.8422e-03_rb, & &2.7753e-03_rb,1.6189e-03_rb,3.4203e-04_rb/) kao(:, 5,11, 4) = (/ & &8.3759e-03_rb,7.7545e-03_rb,6.8899e-03_rb,5.9710e-03_rb,4.9875e-03_rb,3.9509e-03_rb, & &2.8575e-03_rb,1.6684e-03_rb,3.5725e-04_rb/) kao(:, 1,12, 4) = (/ & &8.0096e-03_rb,7.4190e-03_rb,6.5933e-03_rb,5.7152e-03_rb,4.7757e-03_rb,3.7806e-03_rb, & &2.7237e-03_rb,1.5850e-03_rb,3.0906e-04_rb/) kao(:, 2,12, 4) = (/ & &8.3245e-03_rb,7.6924e-03_rb,6.8377e-03_rb,5.9147e-03_rb,4.9319e-03_rb,3.8997e-03_rb, & &2.8053e-03_rb,1.6213e-03_rb,3.1505e-04_rb/) kao(:, 3,12, 4) = (/ & &8.6504e-03_rb,7.9748e-03_rb,7.0681e-03_rb,6.1123e-03_rb,5.0902e-03_rb,4.0202e-03_rb, & &2.8850e-03_rb,1.6649e-03_rb,3.2236e-04_rb/) kao(:, 4,12, 4) = (/ & &8.9354e-03_rb,8.2303e-03_rb,7.2913e-03_rb,6.2946e-03_rb,5.2436e-03_rb,4.1358e-03_rb, & &2.9697e-03_rb,1.7144e-03_rb,3.2906e-04_rb/) kao(:, 5,12, 4) = (/ & &9.2169e-03_rb,8.4842e-03_rb,7.5093e-03_rb,6.4790e-03_rb,5.3967e-03_rb,4.2618e-03_rb, & &3.0601e-03_rb,1.7687e-03_rb,3.3757e-04_rb/) kao(:, 1,13, 4) = (/ & &7.1631e-03_rb,6.6319e-03_rb,5.8920e-03_rb,5.0960e-03_rb,4.2500e-03_rb,3.3594e-03_rb, & &2.4169e-03_rb,1.3985e-03_rb,2.7237e-04_rb/) kao(:, 2,13, 4) = (/ & &7.4650e-03_rb,6.8721e-03_rb,6.1020e-03_rb,5.2700e-03_rb,4.3954e-03_rb,3.4698e-03_rb, & &2.4897e-03_rb,1.4341e-03_rb,2.7736e-04_rb/) kao(:, 3,13, 4) = (/ & &7.7609e-03_rb,7.1282e-03_rb,6.3106e-03_rb,5.4462e-03_rb,4.5330e-03_rb,3.5736e-03_rb, & &2.5636e-03_rb,1.4770e-03_rb,2.8124e-04_rb/) kao(:, 4,13, 4) = (/ & &8.0101e-03_rb,7.3618e-03_rb,6.5123e-03_rb,5.6158e-03_rb,4.6733e-03_rb,3.6861e-03_rb, & &2.6445e-03_rb,1.5233e-03_rb,2.8716e-04_rb/) kao(:, 5,13, 4) = (/ & &8.2606e-03_rb,7.6008e-03_rb,6.7314e-03_rb,5.7990e-03_rb,4.8288e-03_rb,3.8083e-03_rb, & &2.7261e-03_rb,1.5712e-03_rb,2.9686e-04_rb/) kao(:, 1, 1, 5) = (/ & &1.3739e-05_rb,1.5137e-04_rb,2.5878e-04_rb,3.6225e-04_rb,4.6522e-04_rb,5.7109e-04_rb, & &6.9199e-04_rb,8.4168e-04_rb,8.0480e-04_rb/) kao(:, 2, 1, 5) = (/ & &1.3888e-05_rb,1.5627e-04_rb,2.6885e-04_rb,3.7698e-04_rb,4.8125e-04_rb,5.9114e-04_rb, & &7.1164e-04_rb,8.7936e-04_rb,8.3421e-04_rb/) kao(:, 3, 1, 5) = (/ & &1.4142e-05_rb,1.6264e-04_rb,2.8096e-04_rb,3.9281e-04_rb,5.0319e-04_rb,6.1580e-04_rb, & &7.3800e-04_rb,9.1340e-04_rb,8.6788e-04_rb/) kao(:, 4, 1, 5) = (/ & &1.4278e-05_rb,1.6909e-04_rb,2.9347e-04_rb,4.1125e-04_rb,5.2641e-04_rb,6.4515e-04_rb, & &7.7492e-04_rb,9.4989e-04_rb,9.0996e-04_rb/) kao(:, 5, 1, 5) = (/ & &1.4494e-05_rb,1.7605e-04_rb,3.0657e-04_rb,4.3067e-04_rb,5.5274e-04_rb,6.7670e-04_rb, & &8.1211e-04_rb,9.9682e-04_rb,9.5292e-04_rb/) kao(:, 1, 2, 5) = (/ & &1.8692e-05_rb,1.5213e-04_rb,2.4704e-04_rb,3.3748e-04_rb,4.2434e-04_rb,5.1189e-04_rb, & &6.0610e-04_rb,7.3668e-04_rb,6.9411e-04_rb/) kao(:, 2, 2, 5) = (/ & &1.8918e-05_rb,1.5679e-04_rb,2.5663e-04_rb,3.5044e-04_rb,4.4175e-04_rb,5.3243e-04_rb, & &6.2710e-04_rb,7.5567e-04_rb,7.2022e-04_rb/) kao(:, 3, 2, 5) = (/ & &1.9322e-05_rb,1.6205e-04_rb,2.6764e-04_rb,3.6642e-04_rb,4.6108e-04_rb,5.5570e-04_rb, & &6.5662e-04_rb,7.8535e-04_rb,7.5176e-04_rb/) kao(:, 4, 2, 5) = (/ & &1.9585e-05_rb,1.6765e-04_rb,2.7850e-04_rb,3.8286e-04_rb,4.8359e-04_rb,5.8272e-04_rb, & &6.8652e-04_rb,8.2260e-04_rb,7.8717e-04_rb/) kao(:, 5, 2, 5) = (/ & &1.9818e-05_rb,1.7339e-04_rb,2.8992e-04_rb,3.9889e-04_rb,5.0485e-04_rb,6.1010e-04_rb, & &7.2141e-04_rb,8.6363e-04_rb,8.2436e-04_rb/) kao(:, 1, 3, 5) = (/ & &3.4262e-05_rb,1.7533e-04_rb,2.6113e-04_rb,3.3571e-04_rb,4.0540e-04_rb,4.7229e-04_rb, & &5.3818e-04_rb,6.1661e-04_rb,5.8845e-04_rb/) kao(:, 2, 3, 5) = (/ & &3.4716e-05_rb,1.7923e-04_rb,2.6899e-04_rb,3.4836e-04_rb,4.2096e-04_rb,4.9023e-04_rb, & &5.6025e-04_rb,6.3703e-04_rb,6.0869e-04_rb/) kao(:, 3, 3, 5) = (/ & &3.5292e-05_rb,1.8347e-04_rb,2.7811e-04_rb,3.6147e-04_rb,4.3915e-04_rb,5.1242e-04_rb, & &5.8378e-04_rb,6.6557e-04_rb,6.3564e-04_rb/) kao(:, 4, 3, 5) = (/ & &3.6120e-05_rb,1.8884e-04_rb,2.8797e-04_rb,3.7545e-04_rb,4.5740e-04_rb,5.3560e-04_rb, & &6.1221e-04_rb,6.9822e-04_rb,6.6452e-04_rb/) kao(:, 5, 3, 5) = (/ & &3.6636e-05_rb,1.9428e-04_rb,2.9738e-04_rb,3.9013e-04_rb,4.7606e-04_rb,5.5790e-04_rb, & &6.3990e-04_rb,7.3219e-04_rb,6.9591e-04_rb/) kao(:, 1, 4, 5) = (/ & &6.3937e-05_rb,2.1416e-04_rb,2.9895e-04_rb,3.6305e-04_rb,4.1697e-04_rb,4.6136e-04_rb, & &4.9950e-04_rb,5.3752e-04_rb,4.9755e-04_rb/) kao(:, 2, 4, 5) = (/ & &6.4891e-05_rb,2.1788e-04_rb,3.0564e-04_rb,3.7373e-04_rb,4.2957e-04_rb,4.7819e-04_rb, & &5.1730e-04_rb,5.5769e-04_rb,5.1340e-04_rb/) kao(:, 3, 4, 5) = (/ & &6.5931e-05_rb,2.2256e-04_rb,3.1273e-04_rb,3.8551e-04_rb,4.4411e-04_rb,4.9569e-04_rb, & &5.4027e-04_rb,5.8134e-04_rb,5.3558e-04_rb/) kao(:, 4, 4, 5) = (/ & &6.7204e-05_rb,2.2716e-04_rb,3.2137e-04_rb,3.9776e-04_rb,4.6059e-04_rb,5.1431e-04_rb, & &5.6246e-04_rb,6.0834e-04_rb,5.5897e-04_rb/) kao(:, 5, 4, 5) = (/ & &6.9088e-05_rb,2.3323e-04_rb,3.3076e-04_rb,4.1010e-04_rb,4.7742e-04_rb,5.3504e-04_rb, & &5.8525e-04_rb,6.3600e-04_rb,5.8418e-04_rb/) kao(:, 1, 5, 5) = (/ & &1.0861e-04_rb,2.6518e-04_rb,3.4675e-04_rb,4.0531e-04_rb,4.4642e-04_rb,4.7448e-04_rb, & &4.8963e-04_rb,4.9041e-04_rb,4.2330e-04_rb/) kao(:, 2, 5, 5) = (/ & &1.1058e-04_rb,2.6952e-04_rb,3.5268e-04_rb,4.1375e-04_rb,4.5888e-04_rb,4.8791e-04_rb, & &5.0614e-04_rb,5.0767e-04_rb,4.3569e-04_rb/) kao(:, 3, 5, 5) = (/ & &1.1255e-04_rb,2.7465e-04_rb,3.6022e-04_rb,4.2322e-04_rb,4.7137e-04_rb,5.0379e-04_rb, & &5.2287e-04_rb,5.2860e-04_rb,4.5259e-04_rb/) kao(:, 4, 5, 5) = (/ & &1.1490e-04_rb,2.8064e-04_rb,3.6839e-04_rb,4.3377e-04_rb,4.8454e-04_rb,5.2116e-04_rb, & &5.4180e-04_rb,5.5017e-04_rb,4.7054e-04_rb/) kao(:, 5, 5, 5) = (/ & &1.1845e-04_rb,2.8778e-04_rb,3.7745e-04_rb,4.4611e-04_rb,4.9985e-04_rb,5.3937e-04_rb, & &5.6277e-04_rb,5.7154e-04_rb,4.9105e-04_rb/) kao(:, 1, 6, 5) = (/ & &1.7235e-04_rb,3.3181e-04_rb,4.0736e-04_rb,4.5766e-04_rb,4.8926e-04_rb,5.0113e-04_rb, & &4.9597e-04_rb,4.6976e-04_rb,3.5862e-04_rb/) kao(:, 2, 6, 5) = (/ & &1.7547e-04_rb,3.3667e-04_rb,4.1414e-04_rb,4.6509e-04_rb,4.9861e-04_rb,5.1384e-04_rb, & &5.0976e-04_rb,4.8537e-04_rb,3.6976e-04_rb/) kao(:, 3, 6, 5) = (/ & &1.7903e-04_rb,3.4304e-04_rb,4.2198e-04_rb,4.7494e-04_rb,5.0792e-04_rb,5.2713e-04_rb, & &5.2630e-04_rb,5.0120e-04_rb,3.8272e-04_rb/) kao(:, 4, 6, 5) = (/ & &1.8326e-04_rb,3.5076e-04_rb,4.3097e-04_rb,4.8545e-04_rb,5.2030e-04_rb,5.4158e-04_rb, & &5.4362e-04_rb,5.1767e-04_rb,3.9660e-04_rb/) kao(:, 5, 6, 5) = (/ & &1.8798e-04_rb,3.5938e-04_rb,4.4150e-04_rb,4.9742e-04_rb,5.3429e-04_rb,5.5639e-04_rb, & &5.6101e-04_rb,5.3674e-04_rb,4.1415e-04_rb/) kao(:, 1, 7, 5) = (/ & &2.9155e-04_rb,4.4941e-04_rb,5.1334e-04_rb,5.5160e-04_rb,5.6796e-04_rb,5.6534e-04_rb, & &5.3624e-04_rb,4.7508e-04_rb,3.0367e-04_rb/) kao(:, 2, 7, 5) = (/ & &2.9728e-04_rb,4.5662e-04_rb,5.2104e-04_rb,5.6062e-04_rb,5.7827e-04_rb,5.7448e-04_rb, & &5.4737e-04_rb,4.8748e-04_rb,3.1275e-04_rb/) kao(:, 3, 7, 5) = (/ & &3.0362e-04_rb,4.6646e-04_rb,5.3089e-04_rb,5.7148e-04_rb,5.9016e-04_rb,5.8669e-04_rb, & &5.6081e-04_rb,5.0270e-04_rb,3.2221e-04_rb/) kao(:, 4, 7, 5) = (/ & &3.1074e-04_rb,4.7852e-04_rb,5.4299e-04_rb,5.8375e-04_rb,6.0313e-04_rb,6.0067e-04_rb, & &5.7534e-04_rb,5.1934e-04_rb,3.3373e-04_rb/) kao(:, 5, 7, 5) = (/ & &3.1895e-04_rb,4.9180e-04_rb,5.5670e-04_rb,5.9847e-04_rb,6.1763e-04_rb,6.1617e-04_rb, & &5.9045e-04_rb,5.3590e-04_rb,3.4594e-04_rb/) kao(:, 1, 8, 5) = (/ & &5.8477e-04_rb,7.4431e-04_rb,7.7278e-04_rb,7.7426e-04_rb,7.5736e-04_rb,7.1816e-04_rb, & &6.5106e-04_rb,5.3737e-04_rb,2.7725e-04_rb/) kao(:, 2, 8, 5) = (/ & &5.9470e-04_rb,7.5491e-04_rb,7.8490e-04_rb,7.8595e-04_rb,7.6803e-04_rb,7.3022e-04_rb, & &6.6291e-04_rb,5.4897e-04_rb,2.8497e-04_rb/) kao(:, 3, 8, 5) = (/ & &6.0851e-04_rb,7.7097e-04_rb,8.0204e-04_rb,8.0136e-04_rb,7.8218e-04_rb,7.4418e-04_rb, & &6.7668e-04_rb,5.6182e-04_rb,2.9265e-04_rb/) kao(:, 4, 8, 5) = (/ & &6.2426e-04_rb,7.9122e-04_rb,8.2299e-04_rb,8.2167e-04_rb,7.9967e-04_rb,7.6040e-04_rb, & &6.9192e-04_rb,5.7414e-04_rb,3.0175e-04_rb/) kao(:, 5, 8, 5) = (/ & &6.4049e-04_rb,8.1349e-04_rb,8.4675e-04_rb,8.4414e-04_rb,8.2107e-04_rb,7.7949e-04_rb, & &7.0895e-04_rb,5.8878e-04_rb,3.1239e-04_rb/) kao(:, 1, 9, 5) = (/ & &2.2196e-03_rb,2.3078e-03_rb,2.1925e-03_rb,2.0227e-03_rb,1.7963e-03_rb,1.5336e-03_rb, & &1.2354e-03_rb,8.8457e-04_rb,3.2582e-04_rb/) kao(:, 2, 9, 5) = (/ & &2.2570e-03_rb,2.3473e-03_rb,2.2277e-03_rb,2.0540e-03_rb,1.8274e-03_rb,1.5588e-03_rb, & &1.2524e-03_rb,8.9724e-04_rb,3.2676e-04_rb/) kao(:, 3, 9, 5) = (/ & &2.3089e-03_rb,2.3978e-03_rb,2.2707e-03_rb,2.0928e-03_rb,1.8651e-03_rb,1.5919e-03_rb, & &1.2779e-03_rb,9.1370e-04_rb,3.3500e-04_rb/) kao(:, 4, 9, 5) = (/ & &2.3733e-03_rb,2.4602e-03_rb,2.3315e-03_rb,2.1419e-03_rb,1.9119e-03_rb,1.6319e-03_rb, & &1.3090e-03_rb,9.3384e-04_rb,3.3899e-04_rb/) kao(:, 5, 9, 5) = (/ & &2.4406e-03_rb,2.5271e-03_rb,2.3986e-03_rb,2.2033e-03_rb,1.9655e-03_rb,1.6770e-03_rb, & &1.3445e-03_rb,9.5837e-04_rb,3.4762e-04_rb/) kao(:, 1,10, 5) = (/ & &9.4839e-03_rb,8.9137e-03_rb,7.9871e-03_rb,6.9719e-03_rb,5.8780e-03_rb,4.7134e-03_rb, & &3.4759e-03_rb,2.1070e-03_rb,4.8830e-04_rb/) kao(:, 2,10, 5) = (/ & &9.6557e-03_rb,9.0801e-03_rb,8.1340e-03_rb,7.0972e-03_rb,5.9780e-03_rb,4.7945e-03_rb, & &3.5398e-03_rb,2.1454e-03_rb,4.8857e-04_rb/) kao(:, 3,10, 5) = (/ & &9.8746e-03_rb,9.2754e-03_rb,8.2985e-03_rb,7.2339e-03_rb,6.1011e-03_rb,4.8911e-03_rb, & &3.6103e-03_rb,2.1918e-03_rb,5.0136e-04_rb/) kao(:, 4,10, 5) = (/ & &1.0155e-02_rb,9.5179e-03_rb,8.5070e-03_rb,7.4122e-03_rb,6.2501e-03_rb,5.0174e-03_rb, & &3.7003e-03_rb,2.2452e-03_rb,5.1609e-04_rb/) kao(:, 5,10, 5) = (/ & &1.0472e-02_rb,9.8032e-03_rb,8.7668e-03_rb,7.6331e-03_rb,6.4389e-03_rb,5.1659e-03_rb, & &3.8012e-03_rb,2.3067e-03_rb,5.2606e-04_rb/) kao(:, 1,11, 5) = (/ & &1.4268e-02_rb,1.3170e-02_rb,1.1684e-02_rb,1.0078e-02_rb,8.4022e-03_rb,6.6241e-03_rb, & &4.7723e-03_rb,2.7954e-03_rb,5.2361e-04_rb/) kao(:, 2,11, 5) = (/ & &1.4540e-02_rb,1.3417e-02_rb,1.1900e-02_rb,1.0250e-02_rb,8.5500e-03_rb,6.7539e-03_rb, & &4.8654e-03_rb,2.8533e-03_rb,5.3348e-04_rb/) kao(:, 3,11, 5) = (/ & &1.4880e-02_rb,1.3732e-02_rb,1.2163e-02_rb,1.0481e-02_rb,8.7324e-03_rb,6.9009e-03_rb, & &4.9833e-03_rb,2.9218e-03_rb,5.5883e-04_rb/) kao(:, 4,11, 5) = (/ & &1.5319e-02_rb,1.4123e-02_rb,1.2507e-02_rb,1.0772e-02_rb,8.9669e-03_rb,7.0955e-03_rb, & &5.1189e-03_rb,2.9943e-03_rb,5.8850e-04_rb/) kao(:, 5,11, 5) = (/ & &1.5835e-02_rb,1.4577e-02_rb,1.2919e-02_rb,1.1125e-02_rb,9.2533e-03_rb,7.3128e-03_rb, & &5.2667e-03_rb,3.0792e-03_rb,6.1073e-04_rb/) kao(:, 1,12, 5) = (/ & &1.5802e-02_rb,1.4518e-02_rb,1.2819e-02_rb,1.1003e-02_rb,9.1252e-03_rb,7.1742e-03_rb, & &5.1262e-03_rb,2.9592e-03_rb,5.0816e-04_rb/) kao(:, 2,12, 5) = (/ & &1.6146e-02_rb,1.4810e-02_rb,1.3074e-02_rb,1.1225e-02_rb,9.3090e-03_rb,7.3135e-03_rb, & &5.2412e-03_rb,3.0249e-03_rb,5.3398e-04_rb/) kao(:, 3,12, 5) = (/ & &1.6565e-02_rb,1.5205e-02_rb,1.3415e-02_rb,1.1514e-02_rb,9.5432e-03_rb,7.5058e-03_rb, & &5.3826e-03_rb,3.1020e-03_rb,5.6164e-04_rb/) kao(:, 4,12, 5) = (/ & &1.7128e-02_rb,1.5682e-02_rb,1.3836e-02_rb,1.1883e-02_rb,9.8516e-03_rb,7.7437e-03_rb, & &5.5313e-03_rb,3.1868e-03_rb,5.8823e-04_rb/) kao(:, 5,12, 5) = (/ & &1.7790e-02_rb,1.6267e-02_rb,1.4348e-02_rb,1.2311e-02_rb,1.0183e-02_rb,7.9904e-03_rb, & &5.7100e-03_rb,3.2821e-03_rb,6.0779e-04_rb/) kao(:, 1,13, 5) = (/ & &1.4021e-02_rb,1.2885e-02_rb,1.1370e-02_rb,9.7666e-03_rb,8.0956e-03_rb,6.3531e-03_rb, & &4.5485e-03_rb,2.6326e-03_rb,4.6002e-04_rb/) kao(:, 2,13, 5) = (/ & &1.4373e-02_rb,1.3207e-02_rb,1.1632e-02_rb,9.9865e-03_rb,8.2754e-03_rb,6.5087e-03_rb, & &4.6669e-03_rb,2.6967e-03_rb,4.8163e-04_rb/) kao(:, 3,13, 5) = (/ & &1.4774e-02_rb,1.3588e-02_rb,1.1994e-02_rb,1.0306e-02_rb,8.5450e-03_rb,6.7168e-03_rb, & &4.8089e-03_rb,2.7710e-03_rb,4.9996e-04_rb/) kao(:, 4,13, 5) = (/ & &1.5343e-02_rb,1.4084e-02_rb,1.2424e-02_rb,1.0664e-02_rb,8.8287e-03_rb,6.9355e-03_rb, & &4.9590e-03_rb,2.8556e-03_rb,5.2093e-04_rb/) kao(:, 5,13, 5) = (/ & &1.5979e-02_rb,1.4619e-02_rb,1.2888e-02_rb,1.1066e-02_rb,9.1632e-03_rb,7.1872e-03_rb, & &5.1400e-03_rb,2.9489e-03_rb,5.4238e-04_rb/) kao(:, 1, 1, 6) = (/ & &2.4381e-05_rb,3.5965e-04_rb,6.3963e-04_rb,9.0999e-04_rb,1.1781e-03_rb,1.4492e-03_rb, & &1.7469e-03_rb,2.1949e-03_rb,2.0167e-03_rb/) kao(:, 2, 1, 6) = (/ & &2.4551e-05_rb,3.6820e-04_rb,6.5359e-04_rb,9.2911e-04_rb,1.2030e-03_rb,1.4796e-03_rb, & &1.7884e-03_rb,2.2546e-03_rb,2.0633e-03_rb/) kao(:, 3, 1, 6) = (/ & &2.4844e-05_rb,3.7777e-04_rb,6.7015e-04_rb,9.5166e-04_rb,1.2316e-03_rb,1.5153e-03_rb, & &1.8326e-03_rb,2.3125e-03_rb,2.1171e-03_rb/) kao(:, 4, 1, 6) = (/ & &2.5013e-05_rb,3.8840e-04_rb,6.8929e-04_rb,9.7743e-04_rb,1.2638e-03_rb,1.5559e-03_rb, & &1.8833e-03_rb,2.3873e-03_rb,2.1814e-03_rb/) kao(:, 5, 1, 6) = (/ & &2.5349e-05_rb,4.0094e-04_rb,7.1137e-04_rb,1.0079e-03_rb,1.3021e-03_rb,1.6023e-03_rb, & &1.9431e-03_rb,2.4704e-03_rb,2.2554e-03_rb/) kao(:, 1, 2, 6) = (/ & &3.3532e-05_rb,3.4195e-04_rb,5.9227e-04_rb,8.3115e-04_rb,1.0659e-03_rb,1.2984e-03_rb, & &1.5375e-03_rb,1.8307e-03_rb,1.7555e-03_rb/) kao(:, 2, 2, 6) = (/ & &3.3884e-05_rb,3.4950e-04_rb,6.0496e-04_rb,8.4827e-04_rb,1.0865e-03_rb,1.3240e-03_rb, & &1.5683e-03_rb,1.8747e-03_rb,1.7936e-03_rb/) kao(:, 3, 2, 6) = (/ & &3.4432e-05_rb,3.5837e-04_rb,6.1975e-04_rb,8.6913e-04_rb,1.1113e-03_rb,1.3536e-03_rb, & &1.6021e-03_rb,1.9222e-03_rb,1.8373e-03_rb/) kao(:, 4, 2, 6) = (/ & &3.4886e-05_rb,3.6829e-04_rb,6.3662e-04_rb,8.9220e-04_rb,1.1391e-03_rb,1.3857e-03_rb, & &1.6406e-03_rb,1.9755e-03_rb,1.8873e-03_rb/) kao(:, 5, 2, 6) = (/ & &3.5279e-05_rb,3.7968e-04_rb,6.5599e-04_rb,9.1909e-04_rb,1.1730e-03_rb,1.4257e-03_rb, & &1.6862e-03_rb,2.0365e-03_rb,1.9484e-03_rb/) kao(:, 1, 3, 6) = (/ & &6.2269e-05_rb,3.6578e-04_rb,5.8707e-04_rb,7.9355e-04_rb,9.9285e-04_rb,1.1848e-03_rb, & &1.3757e-03_rb,1.5822e-03_rb,1.5104e-03_rb/) kao(:, 2, 3, 6) = (/ & &6.2987e-05_rb,3.7248e-04_rb,5.9883e-04_rb,8.1016e-04_rb,1.0136e-03_rb,1.2090e-03_rb, & &1.4023e-03_rb,1.6140e-03_rb,1.5440e-03_rb/) kao(:, 3, 3, 6) = (/ & &6.3830e-05_rb,3.8077e-04_rb,6.1238e-04_rb,8.2947e-04_rb,1.0380e-03_rb,1.2373e-03_rb, & &1.4338e-03_rb,1.6476e-03_rb,1.5800e-03_rb/) kao(:, 4, 3, 6) = (/ & &6.5057e-05_rb,3.9038e-04_rb,6.2908e-04_rb,8.5186e-04_rb,1.0655e-03_rb,1.2690e-03_rb, & &1.4686e-03_rb,1.6847e-03_rb,1.6204e-03_rb/) kao(:, 5, 3, 6) = (/ & &6.5891e-05_rb,4.0010e-04_rb,6.4778e-04_rb,8.7680e-04_rb,1.0962e-03_rb,1.3060e-03_rb, & &1.5104e-03_rb,1.7307e-03_rb,1.6697e-03_rb/) kao(:, 1, 4, 6) = (/ & &1.1763e-04_rb,4.2852e-04_rb,6.2857e-04_rb,8.0251e-04_rb,9.6160e-04_rb,1.1103e-03_rb, & &1.2549e-03_rb,1.3952e-03_rb,1.2948e-03_rb/) kao(:, 2, 4, 6) = (/ & &1.1903e-04_rb,4.3548e-04_rb,6.3935e-04_rb,8.1698e-04_rb,9.8074e-04_rb,1.1338e-03_rb, & &1.2810e-03_rb,1.4231e-03_rb,1.3227e-03_rb/) kao(:, 3, 4, 6) = (/ & &1.2084e-04_rb,4.4304e-04_rb,6.5330e-04_rb,8.3469e-04_rb,1.0028e-03_rb,1.1604e-03_rb, & &1.3104e-03_rb,1.4544e-03_rb,1.3535e-03_rb/) kao(:, 4, 4, 6) = (/ & &1.2295e-04_rb,4.5274e-04_rb,6.6888e-04_rb,8.5565e-04_rb,1.0277e-03_rb,1.1905e-03_rb, & &1.3437e-03_rb,1.4894e-03_rb,1.3881e-03_rb/) kao(:, 5, 4, 6) = (/ & &1.2576e-04_rb,4.6369e-04_rb,6.8705e-04_rb,8.8171e-04_rb,1.0587e-03_rb,1.2251e-03_rb, & &1.3822e-03_rb,1.5303e-03_rb,1.4309e-03_rb/) kao(:, 1, 5, 6) = (/ & &2.0248e-04_rb,5.1976e-04_rb,7.0294e-04_rb,8.5252e-04_rb,9.7761e-04_rb,1.0816e-03_rb, & &1.1680e-03_rb,1.2476e-03_rb,1.1044e-03_rb/) kao(:, 2, 5, 6) = (/ & &2.0493e-04_rb,5.2640e-04_rb,7.1432e-04_rb,8.6690e-04_rb,9.9395e-04_rb,1.1019e-03_rb, & &1.1914e-03_rb,1.2719e-03_rb,1.1285e-03_rb/) kao(:, 3, 5, 6) = (/ & &2.0806e-04_rb,5.3477e-04_rb,7.2739e-04_rb,8.8542e-04_rb,1.0148e-03_rb,1.1250e-03_rb, & &1.2182e-03_rb,1.3005e-03_rb,1.1542e-03_rb/) kao(:, 4, 5, 6) = (/ & &2.1205e-04_rb,5.4496e-04_rb,7.4280e-04_rb,9.0607e-04_rb,1.0399e-03_rb,1.1525e-03_rb, & &1.2484e-03_rb,1.3331e-03_rb,1.1843e-03_rb/) kao(:, 5, 5, 6) = (/ & &2.1768e-04_rb,5.5787e-04_rb,7.6255e-04_rb,9.3016e-04_rb,1.0697e-03_rb,1.1863e-03_rb, & &1.2845e-03_rb,1.3711e-03_rb,1.2208e-03_rb/) kao(:, 1, 6, 6) = (/ & &3.2402e-04_rb,6.5065e-04_rb,8.1276e-04_rb,9.3175e-04_rb,1.0254e-03_rb,1.0960e-03_rb, & &1.1336e-03_rb,1.1359e-03_rb,9.3926e-04_rb/) kao(:, 2, 6, 6) = (/ & &3.2839e-04_rb,6.5803e-04_rb,8.2121e-04_rb,9.4691e-04_rb,1.0426e-03_rb,1.1132e-03_rb, & &1.1537e-03_rb,1.1594e-03_rb,9.5631e-04_rb/) kao(:, 3, 6, 6) = (/ & &3.3397e-04_rb,6.6749e-04_rb,8.3425e-04_rb,9.6403e-04_rb,1.0654e-03_rb,1.1356e-03_rb, & &1.1768e-03_rb,1.1847e-03_rb,9.7614e-04_rb/) kao(:, 4, 6, 6) = (/ & &3.4074e-04_rb,6.7873e-04_rb,8.5077e-04_rb,9.8417e-04_rb,1.0893e-03_rb,1.1622e-03_rb, & &1.2041e-03_rb,1.2139e-03_rb,1.0001e-03_rb/) kao(:, 5, 6, 6) = (/ & &3.4865e-04_rb,6.9287e-04_rb,8.6902e-04_rb,1.0071e-03_rb,1.1162e-03_rb,1.1933e-03_rb, & &1.2370e-03_rb,1.2465e-03_rb,1.0295e-03_rb/) kao(:, 1, 7, 6) = (/ & &5.4679e-04_rb,8.8419e-04_rb,1.0272e-03_rb,1.1131e-03_rb,1.1586e-03_rb,1.1796e-03_rb, & &1.1677e-03_rb,1.1006e-03_rb,7.9375e-04_rb/) kao(:, 2, 7, 6) = (/ & &5.5453e-04_rb,8.9535e-04_rb,1.0406e-03_rb,1.1278e-03_rb,1.1758e-03_rb,1.1986e-03_rb, & &1.1860e-03_rb,1.1193e-03_rb,8.0863e-04_rb/) kao(:, 3, 7, 6) = (/ & &5.6482e-04_rb,9.0803e-04_rb,1.0560e-03_rb,1.1451e-03_rb,1.1955e-03_rb,1.2220e-03_rb, & &1.2089e-03_rb,1.1408e-03_rb,8.2565e-04_rb/) kao(:, 4, 7, 6) = (/ & &5.7672e-04_rb,9.2334e-04_rb,1.0748e-03_rb,1.1654e-03_rb,1.2195e-03_rb,1.2479e-03_rb, & &1.2361e-03_rb,1.1655e-03_rb,8.4564e-04_rb/) kao(:, 5, 7, 6) = (/ & &5.9187e-04_rb,9.4280e-04_rb,1.0968e-03_rb,1.1862e-03_rb,1.2479e-03_rb,1.2773e-03_rb, & &1.2677e-03_rb,1.1958e-03_rb,8.6975e-04_rb/) kao(:, 1, 8, 6) = (/ & &1.0890e-03_rb,1.4212e-03_rb,1.5274e-03_rb,1.5635e-03_rb,1.5408e-03_rb,1.4729e-03_rb, & &1.3514e-03_rb,1.1730e-03_rb,6.7724e-04_rb/) kao(:, 2, 8, 6) = (/ & &1.1074e-03_rb,1.4404e-03_rb,1.5493e-03_rb,1.5864e-03_rb,1.5647e-03_rb,1.4941e-03_rb, & &1.3720e-03_rb,1.1894e-03_rb,6.8838e-04_rb/) kao(:, 3, 8, 6) = (/ & &1.1299e-03_rb,1.4626e-03_rb,1.5727e-03_rb,1.6115e-03_rb,1.5892e-03_rb,1.5170e-03_rb, & &1.3954e-03_rb,1.2114e-03_rb,7.0024e-04_rb/) kao(:, 4, 8, 6) = (/ & &1.1562e-03_rb,1.4908e-03_rb,1.6005e-03_rb,1.6404e-03_rb,1.6196e-03_rb,1.5467e-03_rb, & &1.4229e-03_rb,1.2388e-03_rb,7.1485e-04_rb/) kao(:, 5, 8, 6) = (/ & &1.1885e-03_rb,1.5267e-03_rb,1.6357e-03_rb,1.6752e-03_rb,1.6528e-03_rb,1.5764e-03_rb, & &1.4553e-03_rb,1.2696e-03_rb,7.3183e-04_rb/) kao(:, 1, 9, 6) = (/ & &4.1665e-03_rb,4.3468e-03_rb,4.1293e-03_rb,3.8165e-03_rb,3.4449e-03_rb,3.0107e-03_rb, & &2.4884e-03_rb,1.8186e-03_rb,7.0770e-04_rb/) kao(:, 2, 9, 6) = (/ & &4.2379e-03_rb,4.4019e-03_rb,4.1804e-03_rb,3.8702e-03_rb,3.4962e-03_rb,3.0618e-03_rb, & &2.5301e-03_rb,1.8480e-03_rb,7.1084e-04_rb/) kao(:, 3, 9, 6) = (/ & &4.3206e-03_rb,4.4730e-03_rb,4.2494e-03_rb,3.9358e-03_rb,3.5562e-03_rb,3.1108e-03_rb, & &2.5726e-03_rb,1.8787e-03_rb,7.1447e-04_rb/) kao(:, 4, 9, 6) = (/ & &4.4148e-03_rb,4.5672e-03_rb,4.3360e-03_rb,4.0233e-03_rb,3.6279e-03_rb,3.1667e-03_rb, & &2.6211e-03_rb,1.9152e-03_rb,7.2547e-04_rb/) kao(:, 5, 9, 6) = (/ & &4.5366e-03_rb,4.6880e-03_rb,4.4475e-03_rb,4.1247e-03_rb,3.7148e-03_rb,3.2357e-03_rb, & &2.6777e-03_rb,1.9564e-03_rb,7.3351e-04_rb/) kao(:, 1,10, 6) = (/ & &1.8255e-02_rb,1.7198e-02_rb,1.5391e-02_rb,1.3391e-02_rb,1.1273e-02_rb,9.0394e-03_rb, & &6.6601e-03_rb,4.0944e-03_rb,9.8389e-04_rb/) kao(:, 2,10, 6) = (/ & &1.8579e-02_rb,1.7439e-02_rb,1.5601e-02_rb,1.3577e-02_rb,1.1427e-02_rb,9.1759e-03_rb, & &6.7580e-03_rb,4.1605e-03_rb,9.8485e-04_rb/) kao(:, 3,10, 6) = (/ & &1.8934e-02_rb,1.7772e-02_rb,1.5898e-02_rb,1.3821e-02_rb,1.1616e-02_rb,9.3279e-03_rb, & &6.8809e-03_rb,4.2287e-03_rb,9.8296e-04_rb/) kao(:, 4,10, 6) = (/ & &1.9364e-02_rb,1.8152e-02_rb,1.6246e-02_rb,1.4125e-02_rb,1.1868e-02_rb,9.5176e-03_rb, & &7.0263e-03_rb,4.3137e-03_rb,9.8595e-04_rb/) kao(:, 5,10, 6) = (/ & &1.9876e-02_rb,1.8605e-02_rb,1.6643e-02_rb,1.4478e-02_rb,1.2165e-02_rb,9.7573e-03_rb, & &7.2015e-03_rb,4.4138e-03_rb,9.9549e-04_rb/) kao(:, 1,11, 6) = (/ & &2.7906e-02_rb,2.5779e-02_rb,2.2845e-02_rb,1.9689e-02_rb,1.6356e-02_rb,1.2926e-02_rb, & &9.3112e-03_rb,5.4266e-03_rb,1.1493e-03_rb/) kao(:, 2,11, 6) = (/ & &2.8474e-02_rb,2.6276e-02_rb,2.3282e-02_rb,2.0063e-02_rb,1.6649e-02_rb,1.3118e-02_rb, & &9.4591e-03_rb,5.5176e-03_rb,1.1605e-03_rb/) kao(:, 3,11, 6) = (/ & &2.9161e-02_rb,2.6826e-02_rb,2.3755e-02_rb,2.0435e-02_rb,1.6944e-02_rb,1.3356e-02_rb, & &9.6281e-03_rb,5.6370e-03_rb,1.1658e-03_rb/) kao(:, 4,11, 6) = (/ & &2.9864e-02_rb,2.7446e-02_rb,2.4305e-02_rb,2.0907e-02_rb,1.7344e-02_rb,1.3665e-02_rb, & &9.8501e-03_rb,5.7787e-03_rb,1.1679e-03_rb/) kao(:, 5,11, 6) = (/ & &3.0716e-02_rb,2.8218e-02_rb,2.4989e-02_rb,2.1484e-02_rb,1.7837e-02_rb,1.4047e-02_rb, & &1.0137e-02_rb,5.9391e-03_rb,1.1749e-03_rb/) kao(:, 1,12, 6) = (/ & &3.1456e-02_rb,2.8840e-02_rb,2.5490e-02_rb,2.1901e-02_rb,1.8104e-02_rb,1.4184e-02_rb, & &1.0144e-02_rb,5.8131e-03_rb,1.1656e-03_rb/) kao(:, 2,12, 6) = (/ & &3.2212e-02_rb,2.9507e-02_rb,2.6048e-02_rb,2.2347e-02_rb,1.8450e-02_rb,1.4457e-02_rb, & &1.0325e-02_rb,5.9330e-03_rb,1.1607e-03_rb/) kao(:, 3,12, 6) = (/ & &3.2965e-02_rb,3.0133e-02_rb,2.6613e-02_rb,2.2834e-02_rb,1.8888e-02_rb,1.4793e-02_rb, & &1.0553e-02_rb,6.0675e-03_rb,1.1612e-03_rb/) kao(:, 4,12, 6) = (/ & &3.3903e-02_rb,3.0999e-02_rb,2.7365e-02_rb,2.3453e-02_rb,1.9368e-02_rb,1.5160e-02_rb, & &1.0832e-02_rb,6.2310e-03_rb,1.1792e-03_rb/) kao(:, 5,12, 6) = (/ & &3.4986e-02_rb,3.1940e-02_rb,2.8176e-02_rb,2.4131e-02_rb,1.9947e-02_rb,1.5618e-02_rb, & &1.1156e-02_rb,6.4247e-03_rb,1.2061e-03_rb/) kao(:, 1,13, 6) = (/ & &2.8494e-02_rb,2.6140e-02_rb,2.3086e-02_rb,1.9829e-02_rb,1.6410e-02_rb,1.2869e-02_rb, & &9.1750e-03_rb,5.2477e-03_rb,1.0839e-03_rb/) kao(:, 2,13, 6) = (/ & &2.9204e-02_rb,2.6786e-02_rb,2.3660e-02_rb,2.0312e-02_rb,1.6791e-02_rb,1.3151e-02_rb, & &9.3741e-03_rb,5.3670e-03_rb,1.0879e-03_rb/) kao(:, 3,13, 6) = (/ & &3.0028e-02_rb,2.7500e-02_rb,2.4267e-02_rb,2.0802e-02_rb,1.7182e-02_rb,1.3458e-02_rb, & &9.5924e-03_rb,5.5018e-03_rb,1.1043e-03_rb/) kao(:, 4,13, 6) = (/ & &3.0958e-02_rb,2.8295e-02_rb,2.4961e-02_rb,2.1395e-02_rb,1.7690e-02_rb,1.3840e-02_rb, & &9.8578e-03_rb,5.6588e-03_rb,1.1197e-03_rb/) kao(:, 5,13, 6) = (/ & &3.2042e-02_rb,2.9250e-02_rb,2.5779e-02_rb,2.2082e-02_rb,1.8250e-02_rb,1.4290e-02_rb, & &1.0177e-02_rb,5.8420e-03_rb,1.1367e-03_rb/) kao(:, 1, 1, 7) = (/ & &4.8330e-05_rb,9.1748e-04_rb,1.6343e-03_rb,2.3037e-03_rb,2.9566e-03_rb,3.6315e-03_rb, & &4.4475e-03_rb,5.8406e-03_rb,5.3151e-03_rb/) kao(:, 2, 1, 7) = (/ & &4.8596e-05_rb,9.3271e-04_rb,1.6606e-03_rb,2.3393e-03_rb,3.0027e-03_rb,3.6916e-03_rb, & &4.5243e-03_rb,5.9244e-03_rb,5.4196e-03_rb/) kao(:, 3, 1, 7) = (/ & &4.9220e-05_rb,9.5049e-04_rb,1.6928e-03_rb,2.3820e-03_rb,3.0582e-03_rb,3.7632e-03_rb, & &4.6161e-03_rb,6.0368e-03_rb,5.5387e-03_rb/) kao(:, 4, 1, 7) = (/ & &4.9714e-05_rb,9.7063e-04_rb,1.7276e-03_rb,2.4311e-03_rb,3.1220e-03_rb,3.8430e-03_rb, & &4.7205e-03_rb,6.1613e-03_rb,5.6708e-03_rb/) kao(:, 5, 1, 7) = (/ & &5.0550e-05_rb,9.9274e-04_rb,1.7651e-03_rb,2.4850e-03_rb,3.1923e-03_rb,3.9328e-03_rb, & &4.8316e-03_rb,6.3027e-03_rb,5.8156e-03_rb/) kao(:, 1, 2, 7) = (/ & &6.7697e-05_rb,8.5995e-04_rb,1.5004e-03_rb,2.0933e-03_rb,2.6519e-03_rb,3.1963e-03_rb, & &3.7792e-03_rb,4.6863e-03_rb,4.4711e-03_rb/) kao(:, 2, 2, 7) = (/ & &6.8123e-05_rb,8.7528e-04_rb,1.5266e-03_rb,2.1301e-03_rb,2.6961e-03_rb,3.2484e-03_rb, & &3.8450e-03_rb,4.7682e-03_rb,4.5579e-03_rb/) kao(:, 3, 2, 7) = (/ & &6.9098e-05_rb,8.9351e-04_rb,1.5568e-03_rb,2.1723e-03_rb,2.7472e-03_rb,3.3096e-03_rb, & &3.9205e-03_rb,4.8697e-03_rb,4.6570e-03_rb/) kao(:, 4, 2, 7) = (/ & &7.0075e-05_rb,9.1426e-04_rb,1.5908e-03_rb,2.2183e-03_rb,2.8071e-03_rb,3.3815e-03_rb, & &4.0084e-03_rb,4.9811e-03_rb,4.7715e-03_rb/) kao(:, 5, 2, 7) = (/ & &7.1192e-05_rb,9.3706e-04_rb,1.6283e-03_rb,2.2693e-03_rb,2.8718e-03_rb,3.4625e-03_rb, & &4.1070e-03_rb,5.1037e-03_rb,4.8979e-03_rb/) kao(:, 1, 3, 7) = (/ & &1.2733e-04_rb,8.7624e-04_rb,1.4506e-03_rb,1.9805e-03_rb,2.4757e-03_rb,2.9317e-03_rb, & &3.3558e-03_rb,3.8170e-03_rb,3.7686e-03_rb/) kao(:, 2, 3, 7) = (/ & &1.2826e-04_rb,8.9276e-04_rb,1.4769e-03_rb,2.0153e-03_rb,2.5174e-03_rb,2.9784e-03_rb, & &3.4075e-03_rb,3.8801e-03_rb,3.8344e-03_rb/) kao(:, 3, 3, 7) = (/ & &1.2973e-04_rb,9.1170e-04_rb,1.5076e-03_rb,2.0539e-03_rb,2.5651e-03_rb,3.0352e-03_rb, & &3.4680e-03_rb,3.9525e-03_rb,3.9125e-03_rb/) kao(:, 4, 3, 7) = (/ & &1.3225e-04_rb,9.3418e-04_rb,1.5436e-03_rb,2.1000e-03_rb,2.6202e-03_rb,3.1002e-03_rb, & &3.5421e-03_rb,4.0383e-03_rb,4.0057e-03_rb/) kao(:, 5, 3, 7) = (/ & &1.3440e-04_rb,9.5794e-04_rb,1.5825e-03_rb,2.1509e-03_rb,2.6822e-03_rb,3.1720e-03_rb, & &3.6252e-03_rb,4.1370e-03_rb,4.1108e-03_rb/) kao(:, 1, 4, 7) = (/ & &2.4414e-04_rb,9.8791e-04_rb,1.4797e-03_rb,1.9337e-03_rb,2.3609e-03_rb,2.7541e-03_rb, & &3.0988e-03_rb,3.3862e-03_rb,3.2303e-03_rb/) kao(:, 2, 4, 7) = (/ & &2.4513e-04_rb,1.0039e-03_rb,1.5070e-03_rb,1.9692e-03_rb,2.4021e-03_rb,2.7995e-03_rb, & &3.1468e-03_rb,3.4333e-03_rb,3.2790e-03_rb/) kao(:, 3, 4, 7) = (/ & &2.4808e-04_rb,1.0229e-03_rb,1.5373e-03_rb,2.0098e-03_rb,2.4481e-03_rb,2.8491e-03_rb, & &3.2030e-03_rb,3.4903e-03_rb,3.3384e-03_rb/) kao(:, 4, 4, 7) = (/ & &2.5202e-04_rb,1.0447e-03_rb,1.5721e-03_rb,2.0572e-03_rb,2.5035e-03_rb,2.9093e-03_rb, & &3.2672e-03_rb,3.5611e-03_rb,3.4115e-03_rb/) kao(:, 5, 4, 7) = (/ & &2.5833e-04_rb,1.0719e-03_rb,1.6144e-03_rb,2.1102e-03_rb,2.5658e-03_rb,2.9793e-03_rb, & &3.3418e-03_rb,3.6423e-03_rb,3.4938e-03_rb/) kao(:, 1, 5, 7) = (/ & &4.2770e-04_rb,1.1830e-03_rb,1.6220e-03_rb,1.9840e-03_rb,2.3123e-03_rb,2.6214e-03_rb, & &2.8956e-03_rb,3.0934e-03_rb,2.7805e-03_rb/) kao(:, 2, 5, 7) = (/ & &4.3162e-04_rb,1.2016e-03_rb,1.6476e-03_rb,2.0183e-03_rb,2.3523e-03_rb,2.6652e-03_rb, & &2.9419e-03_rb,3.1389e-03_rb,2.8192e-03_rb/) kao(:, 3, 5, 7) = (/ & &4.3693e-04_rb,1.2232e-03_rb,1.6764e-03_rb,2.0550e-03_rb,2.3985e-03_rb,2.7158e-03_rb, & &2.9926e-03_rb,3.1918e-03_rb,2.8694e-03_rb/) kao(:, 4, 5, 7) = (/ & &4.4235e-04_rb,1.2462e-03_rb,1.7099e-03_rb,2.0981e-03_rb,2.4518e-03_rb,2.7746e-03_rb, & &3.0533e-03_rb,3.2519e-03_rb,2.9306e-03_rb/) kao(:, 5, 5, 7) = (/ & &4.5257e-04_rb,1.2739e-03_rb,1.7526e-03_rb,2.1524e-03_rb,2.5133e-03_rb,2.8432e-03_rb, & &3.1246e-03_rb,3.3219e-03_rb,2.9994e-03_rb/) kao(:, 1, 6, 7) = (/ & &6.9917e-04_rb,1.4510e-03_rb,1.8508e-03_rb,2.1612e-03_rb,2.3969e-03_rb,2.5820e-03_rb, & &2.7369e-03_rb,2.8411e-03_rb,2.3809e-03_rb/) kao(:, 2, 6, 7) = (/ & &7.0685e-04_rb,1.4737e-03_rb,1.8819e-03_rb,2.1948e-03_rb,2.4365e-03_rb,2.6262e-03_rb, & &2.7822e-03_rb,2.8845e-03_rb,2.4163e-03_rb/) kao(:, 3, 6, 7) = (/ & &7.1685e-04_rb,1.4992e-03_rb,1.9139e-03_rb,2.2300e-03_rb,2.4777e-03_rb,2.6750e-03_rb, & &2.8324e-03_rb,2.9331e-03_rb,2.4594e-03_rb/) kao(:, 4, 6, 7) = (/ & &7.2831e-04_rb,1.5276e-03_rb,1.9491e-03_rb,2.2715e-03_rb,2.5262e-03_rb,2.7293e-03_rb, & &2.8927e-03_rb,2.9913e-03_rb,2.5109e-03_rb/) kao(:, 5, 6, 7) = (/ & &7.4174e-04_rb,1.5586e-03_rb,1.9900e-03_rb,2.3214e-03_rb,2.5825e-03_rb,2.7929e-03_rb, & &2.9629e-03_rb,3.0587e-03_rb,2.5688e-03_rb/) kao(:, 1, 7, 7) = (/ & &1.2039e-03_rb,1.9587e-03_rb,2.2962e-03_rb,2.5331e-03_rb,2.6974e-03_rb,2.7733e-03_rb, & &2.7634e-03_rb,2.6777e-03_rb,2.0245e-03_rb/) kao(:, 2, 7, 7) = (/ & &1.2204e-03_rb,1.9874e-03_rb,2.3314e-03_rb,2.5722e-03_rb,2.7404e-03_rb,2.8207e-03_rb, & &2.8122e-03_rb,2.7221e-03_rb,2.0503e-03_rb/) kao(:, 3, 7, 7) = (/ & &1.2400e-03_rb,2.0184e-03_rb,2.3716e-03_rb,2.6156e-03_rb,2.7851e-03_rb,2.8685e-03_rb, & &2.8623e-03_rb,2.7709e-03_rb,2.0844e-03_rb/) kao(:, 4, 7, 7) = (/ & &1.2633e-03_rb,2.0537e-03_rb,2.4164e-03_rb,2.6645e-03_rb,2.8368e-03_rb,2.9213e-03_rb, & &2.9184e-03_rb,2.8302e-03_rb,2.1246e-03_rb/) kao(:, 5, 7, 7) = (/ & &1.2880e-03_rb,2.0946e-03_rb,2.4660e-03_rb,2.7241e-03_rb,2.8956e-03_rb,2.9852e-03_rb, & &2.9850e-03_rb,2.8977e-03_rb,2.1717e-03_rb/) kao(:, 1, 8, 7) = (/ & &2.4360e-03_rb,3.2317e-03_rb,3.4336e-03_rb,3.4928e-03_rb,3.4872e-03_rb,3.3872e-03_rb, & &3.1811e-03_rb,2.7989e-03_rb,1.6994e-03_rb/) kao(:, 2, 8, 7) = (/ & &2.4784e-03_rb,3.2772e-03_rb,3.4707e-03_rb,3.5477e-03_rb,3.5429e-03_rb,3.4442e-03_rb, & &3.2393e-03_rb,2.8503e-03_rb,1.7216e-03_rb/) kao(:, 3, 8, 7) = (/ & &2.5215e-03_rb,3.3205e-03_rb,3.5181e-03_rb,3.6097e-03_rb,3.6079e-03_rb,3.5043e-03_rb, & &3.2957e-03_rb,2.9015e-03_rb,1.7516e-03_rb/) kao(:, 4, 8, 7) = (/ & &2.5734e-03_rb,3.3690e-03_rb,3.5815e-03_rb,3.6774e-03_rb,3.6742e-03_rb,3.5696e-03_rb, & &3.3583e-03_rb,2.9597e-03_rb,1.7852e-03_rb/) kao(:, 5, 8, 7) = (/ & &2.6287e-03_rb,3.4209e-03_rb,3.6564e-03_rb,3.7526e-03_rb,3.7488e-03_rb,3.6496e-03_rb, & &3.4322e-03_rb,3.0257e-03_rb,1.8234e-03_rb/) kao(:, 1, 9, 7) = (/ & &9.2016e-03_rb,9.7823e-03_rb,9.4145e-03_rb,8.7411e-03_rb,7.8879e-03_rb,6.8736e-03_rb, & &5.6569e-03_rb,4.2025e-03_rb,1.5538e-03_rb/) kao(:, 2, 9, 7) = (/ & &9.3962e-03_rb,9.9769e-03_rb,9.5905e-03_rb,8.8876e-03_rb,8.0147e-03_rb,6.9737e-03_rb, & &5.7408e-03_rb,4.2797e-03_rb,1.5748e-03_rb/) kao(:, 3, 9, 7) = (/ & &9.5905e-03_rb,1.0169e-02_rb,9.7567e-03_rb,9.0284e-03_rb,8.1348e-03_rb,7.0770e-03_rb, & &5.8473e-03_rb,4.3619e-03_rb,1.5893e-03_rb/) kao(:, 4, 9, 7) = (/ & &9.8163e-03_rb,1.0370e-02_rb,9.9309e-03_rb,9.1820e-03_rb,8.2703e-03_rb,7.1825e-03_rb, & &5.9588e-03_rb,4.4477e-03_rb,1.6087e-03_rb/) kao(:, 5, 9, 7) = (/ & &1.0054e-02_rb,1.0584e-02_rb,1.0131e-02_rb,9.3626e-03_rb,8.4298e-03_rb,7.3350e-03_rb, & &6.0835e-03_rb,4.5437e-03_rb,1.6313e-03_rb/) kao(:, 1,10, 7) = (/ & &3.9276e-02_rb,3.6749e-02_rb,3.3301e-02_rb,2.9241e-02_rb,2.4794e-02_rb,2.0028e-02_rb, & &1.4912e-02_rb,9.3013e-03_rb,2.0443e-03_rb/) kao(:, 2,10, 7) = (/ & &4.0105e-02_rb,3.7556e-02_rb,3.4005e-02_rb,2.9863e-02_rb,2.5353e-02_rb,2.0438e-02_rb, & &1.5180e-02_rb,9.4819e-03_rb,2.0242e-03_rb/) kao(:, 3,10, 7) = (/ & &4.0916e-02_rb,3.8307e-02_rb,3.4681e-02_rb,3.0487e-02_rb,2.5876e-02_rb,2.0814e-02_rb, & &1.5451e-02_rb,9.6638e-03_rb,2.0047e-03_rb/) kao(:, 4,10, 7) = (/ & &4.1894e-02_rb,3.9199e-02_rb,3.5443e-02_rb,3.1118e-02_rb,2.6390e-02_rb,2.1233e-02_rb, & &1.5746e-02_rb,9.8447e-03_rb,2.0155e-03_rb/) kao(:, 5,10, 7) = (/ & &4.2954e-02_rb,4.0161e-02_rb,3.6290e-02_rb,3.1839e-02_rb,2.6971e-02_rb,2.1693e-02_rb, & &1.6115e-02_rb,1.0055e-02_rb,2.0394e-03_rb/) kao(:, 1,11, 7) = (/ & &6.0955e-02_rb,5.5737e-02_rb,4.9723e-02_rb,4.3019e-02_rb,3.5876e-02_rb,2.8379e-02_rb, & &2.0432e-02_rb,1.2085e-02_rb,2.3716e-03_rb/) kao(:, 2,11, 7) = (/ & &6.2198e-02_rb,5.6869e-02_rb,5.0662e-02_rb,4.3787e-02_rb,3.6565e-02_rb,2.8915e-02_rb, & &2.0814e-02_rb,1.2323e-02_rb,2.3542e-03_rb/) kao(:, 3,11, 7) = (/ & &6.3419e-02_rb,5.8024e-02_rb,5.1697e-02_rb,4.4702e-02_rb,3.7324e-02_rb,2.9465e-02_rb, & &2.1204e-02_rb,1.2555e-02_rb,2.3313e-03_rb/) kao(:, 4,11, 7) = (/ & &6.4926e-02_rb,5.9386e-02_rb,5.2869e-02_rb,4.5680e-02_rb,3.8119e-02_rb,3.0075e-02_rb, & &2.1667e-02_rb,1.2812e-02_rb,2.3155e-03_rb/) kao(:, 5,11, 7) = (/ & &6.6635e-02_rb,6.0864e-02_rb,5.4124e-02_rb,4.6774e-02_rb,3.9011e-02_rb,3.0829e-02_rb, & &2.2206e-02_rb,1.3119e-02_rb,2.3251e-03_rb/) kao(:, 1,12, 7) = (/ & &6.9869e-02_rb,6.3637e-02_rb,5.6420e-02_rb,4.8546e-02_rb,4.0307e-02_rb,3.1740e-02_rb, & &2.2682e-02_rb,1.3139e-02_rb,2.4428e-03_rb/) kao(:, 2,12, 7) = (/ & &7.1577e-02_rb,6.5133e-02_rb,5.7685e-02_rb,4.9634e-02_rb,4.1244e-02_rb,3.2466e-02_rb, & &2.3165e-02_rb,1.3402e-02_rb,2.4417e-03_rb/) kao(:, 3,12, 7) = (/ & &7.3435e-02_rb,6.6765e-02_rb,5.9111e-02_rb,5.0782e-02_rb,4.2090e-02_rb,3.3070e-02_rb, & &2.3631e-02_rb,1.3663e-02_rb,2.4312e-03_rb/) kao(:, 4,12, 7) = (/ & &7.5274e-02_rb,6.8406e-02_rb,6.0539e-02_rb,5.2024e-02_rb,4.3158e-02_rb,3.3897e-02_rb, & &2.4213e-02_rb,1.3961e-02_rb,2.4213e-03_rb/) kao(:, 5,12, 7) = (/ & &7.7518e-02_rb,7.0447e-02_rb,6.2339e-02_rb,5.3608e-02_rb,4.4457e-02_rb,3.4884e-02_rb, & &2.4882e-02_rb,1.4302e-02_rb,2.4144e-03_rb/) kao(:, 1,13, 7) = (/ & &6.3971e-02_rb,5.8270e-02_rb,5.1535e-02_rb,4.4263e-02_rb,3.6709e-02_rb,2.8872e-02_rb, & &2.0629e-02_rb,1.1917e-02_rb,2.3953e-03_rb/) kao(:, 2,13, 7) = (/ & &6.5643e-02_rb,5.9813e-02_rb,5.2890e-02_rb,4.5419e-02_rb,3.7684e-02_rb,2.9600e-02_rb, & &2.1119e-02_rb,1.2188e-02_rb,2.4046e-03_rb/) kao(:, 3,13, 7) = (/ & &6.7472e-02_rb,6.1457e-02_rb,5.4341e-02_rb,4.6654e-02_rb,3.8721e-02_rb,3.0402e-02_rb, & &2.1696e-02_rb,1.2486e-02_rb,2.3922e-03_rb/) kao(:, 4,13, 7) = (/ & &6.9579e-02_rb,6.3365e-02_rb,5.6023e-02_rb,4.8132e-02_rb,3.9923e-02_rb,3.1337e-02_rb, & &2.2348e-02_rb,1.2806e-02_rb,2.3768e-03_rb/) kao(:, 5,13, 7) = (/ & &7.1993e-02_rb,6.5596e-02_rb,5.7974e-02_rb,4.9776e-02_rb,4.1204e-02_rb,3.2317e-02_rb, & &2.3035e-02_rb,1.3183e-02_rb,2.3765e-03_rb/) kao(:, 1, 1, 8) = (/ & &1.3552e-04_rb,2.4322e-03_rb,4.1951e-03_rb,5.8754e-03_rb,7.6297e-03_rb,9.6149e-03_rb, & &1.1994e-02_rb,1.5380e-02_rb,1.4856e-02_rb/) kao(:, 2, 1, 8) = (/ & &1.3805e-04_rb,2.4459e-03_rb,4.2175e-03_rb,5.9121e-03_rb,7.6823e-03_rb,9.6825e-03_rb, & &1.2072e-02_rb,1.5469e-02_rb,1.4971e-02_rb/) kao(:, 3, 1, 8) = (/ & &1.4131e-04_rb,2.4661e-03_rb,4.2478e-03_rb,5.9602e-03_rb,7.7525e-03_rb,9.7747e-03_rb, & &1.2179e-02_rb,1.5577e-02_rb,1.5128e-02_rb/) kao(:, 4, 1, 8) = (/ & &1.4377e-04_rb,2.4912e-03_rb,4.2859e-03_rb,6.0170e-03_rb,7.8373e-03_rb,9.8887e-03_rb, & &1.2314e-02_rb,1.5728e-02_rb,1.5316e-02_rb/) kao(:, 5, 1, 8) = (/ & &1.4692e-04_rb,2.5205e-03_rb,4.3310e-03_rb,6.0836e-03_rb,7.9343e-03_rb,1.0019e-02_rb, & &1.2473e-02_rb,1.5904e-02_rb,1.5528e-02_rb/) kao(:, 1, 2, 8) = (/ & &1.8928e-04_rb,2.4121e-03_rb,4.0623e-03_rb,5.5541e-03_rb,6.9898e-03_rb,8.5008e-03_rb, & &1.0323e-02_rb,1.3028e-02_rb,1.2924e-02_rb/) kao(:, 2, 2, 8) = (/ & &1.9267e-04_rb,2.4360e-03_rb,4.0898e-03_rb,5.5901e-03_rb,7.0384e-03_rb,8.5652e-03_rb, & &1.0405e-02_rb,1.3116e-02_rb,1.3041e-02_rb/) kao(:, 3, 2, 8) = (/ & &1.9724e-04_rb,2.4656e-03_rb,4.1277e-03_rb,5.6355e-03_rb,7.0999e-03_rb,8.6497e-03_rb, & &1.0515e-02_rb,1.3234e-02_rb,1.3193e-02_rb/) kao(:, 4, 2, 8) = (/ & &2.0128e-04_rb,2.4981e-03_rb,4.1715e-03_rb,5.6919e-03_rb,7.1715e-03_rb,8.7477e-03_rb, & &1.0645e-02_rb,1.3388e-02_rb,1.3368e-02_rb/) kao(:, 5, 2, 8) = (/ & &2.0477e-04_rb,2.5328e-03_rb,4.2216e-03_rb,5.7557e-03_rb,7.2538e-03_rb,8.8556e-03_rb, & &1.0788e-02_rb,1.3565e-02_rb,1.3563e-02_rb/) kao(:, 1, 3, 8) = (/ & &3.5927e-04_rb,2.5910e-03_rb,4.2037e-03_rb,5.6032e-03_rb,6.8389e-03_rb,7.9673e-03_rb, & &9.0787e-03_rb,1.0659e-02_rb,1.1075e-02_rb/) kao(:, 2, 3, 8) = (/ & &3.6570e-04_rb,2.6231e-03_rb,4.2518e-03_rb,5.6510e-03_rb,6.8860e-03_rb,8.0235e-03_rb, & &9.1475e-03_rb,1.0746e-02_rb,1.1185e-02_rb/) kao(:, 3, 3, 8) = (/ & &3.7255e-04_rb,2.6596e-03_rb,4.3088e-03_rb,5.7121e-03_rb,6.9479e-03_rb,8.0889e-03_rb, & &9.2308e-03_rb,1.0860e-02_rb,1.1321e-02_rb/) kao(:, 4, 3, 8) = (/ & &3.8155e-04_rb,2.7037e-03_rb,4.3688e-03_rb,5.7837e-03_rb,7.0219e-03_rb,8.1712e-03_rb, & &9.3303e-03_rb,1.0993e-02_rb,1.1473e-02_rb/) kao(:, 5, 3, 8) = (/ & &3.8777e-04_rb,2.7514e-03_rb,4.4348e-03_rb,5.8612e-03_rb,7.1061e-03_rb,8.2670e-03_rb, & &9.4452e-03_rb,1.1141e-02_rb,1.1658e-02_rb/) kao(:, 1, 4, 8) = (/ & &6.9620e-04_rb,2.9029e-03_rb,4.4649e-03_rb,5.7896e-03_rb,6.9152e-03_rb,7.8788e-03_rb, & &8.6335e-03_rb,9.2668e-03_rb,9.4651e-03_rb/) kao(:, 2, 4, 8) = (/ & &7.1019e-04_rb,2.9517e-03_rb,4.5263e-03_rb,5.8664e-03_rb,6.9912e-03_rb,7.9468e-03_rb, & &8.6984e-03_rb,9.3401e-03_rb,9.5623e-03_rb/) kao(:, 3, 4, 8) = (/ & &7.2359e-04_rb,3.0044e-03_rb,4.5979e-03_rb,5.9489e-03_rb,7.0830e-03_rb,8.0315e-03_rb, & &8.7768e-03_rb,9.4291e-03_rb,9.6859e-03_rb/) kao(:, 4, 4, 8) = (/ & &7.3828e-04_rb,3.0619e-03_rb,4.6789e-03_rb,6.0379e-03_rb,7.1842e-03_rb,8.1322e-03_rb, & &8.8743e-03_rb,9.5317e-03_rb,9.8248e-03_rb/) kao(:, 5, 4, 8) = (/ & &7.5535e-04_rb,3.1266e-03_rb,4.7671e-03_rb,6.1369e-03_rb,7.2972e-03_rb,8.2469e-03_rb, & &8.9884e-03_rb,9.6595e-03_rb,9.9955e-03_rb/) kao(:, 1, 5, 8) = (/ & &1.2367e-03_rb,3.3787e-03_rb,4.7869e-03_rb,5.9863e-03_rb,7.0094e-03_rb,7.8065e-03_rb, & &8.3893e-03_rb,8.6393e-03_rb,8.1050e-03_rb/) kao(:, 2, 5, 8) = (/ & &1.2606e-03_rb,3.4408e-03_rb,4.8727e-03_rb,6.0829e-03_rb,7.1090e-03_rb,7.9083e-03_rb, & &8.4736e-03_rb,8.7084e-03_rb,8.1896e-03_rb/) kao(:, 3, 5, 8) = (/ & &1.2858e-03_rb,3.5058e-03_rb,4.9695e-03_rb,6.1896e-03_rb,7.2184e-03_rb,8.0235e-03_rb, & &8.5795e-03_rb,8.7948e-03_rb,8.2945e-03_rb/) kao(:, 4, 5, 8) = (/ & &1.3144e-03_rb,3.5781e-03_rb,5.0734e-03_rb,6.3066e-03_rb,7.3381e-03_rb,8.1502e-03_rb, & &8.7050e-03_rb,8.8972e-03_rb,8.4098e-03_rb/) kao(:, 5, 5, 8) = (/ & &1.3469e-03_rb,3.6641e-03_rb,5.1833e-03_rb,6.4362e-03_rb,7.4701e-03_rb,8.2878e-03_rb, & &8.8414e-03_rb,9.0166e-03_rb,8.5483e-03_rb/) kao(:, 1, 6, 8) = (/ & &2.0401e-03_rb,4.1601e-03_rb,5.3408e-03_rb,6.2948e-03_rb,7.1082e-03_rb,7.7648e-03_rb, & &8.1607e-03_rb,8.2016e-03_rb,6.9653e-03_rb/) kao(:, 2, 6, 8) = (/ & &2.0844e-03_rb,4.2423e-03_rb,5.4455e-03_rb,6.4160e-03_rb,7.2313e-03_rb,7.8855e-03_rb, & &8.2759e-03_rb,8.2810e-03_rb,7.0331e-03_rb/) kao(:, 3, 6, 8) = (/ & &2.1282e-03_rb,4.3237e-03_rb,5.5575e-03_rb,6.5512e-03_rb,7.3708e-03_rb,8.0202e-03_rb, & &8.4033e-03_rb,8.3806e-03_rb,7.1162e-03_rb/) kao(:, 4, 6, 8) = (/ & &2.1756e-03_rb,4.4109e-03_rb,5.6792e-03_rb,6.6960e-03_rb,7.5224e-03_rb,8.1665e-03_rb, & &8.5397e-03_rb,8.4981e-03_rb,7.2093e-03_rb/) kao(:, 5, 6, 8) = (/ & &2.2255e-03_rb,4.5091e-03_rb,5.8068e-03_rb,6.8485e-03_rb,7.6856e-03_rb,8.3228e-03_rb, & &8.6864e-03_rb,8.6279e-03_rb,7.3203e-03_rb/) kao(:, 1, 7, 8) = (/ & &3.5433e-03_rb,5.7288e-03_rb,6.6788e-03_rb,7.3197e-03_rb,7.7679e-03_rb,8.0638e-03_rb, & &8.2036e-03_rb,7.9558e-03_rb,6.0055e-03_rb/) kao(:, 2, 7, 8) = (/ & &3.6269e-03_rb,5.8458e-03_rb,6.8139e-03_rb,7.4674e-03_rb,7.9220e-03_rb,8.2152e-03_rb, & &8.3417e-03_rb,8.0664e-03_rb,6.0619e-03_rb/) kao(:, 3, 7, 8) = (/ & &3.7095e-03_rb,5.9702e-03_rb,6.9487e-03_rb,7.6264e-03_rb,8.0952e-03_rb,8.3842e-03_rb, & &8.4920e-03_rb,8.1889e-03_rb,6.1273e-03_rb/) kao(:, 4, 7, 8) = (/ & &3.7971e-03_rb,6.0972e-03_rb,7.0950e-03_rb,7.7981e-03_rb,8.2789e-03_rb,8.5668e-03_rb, & &8.6571e-03_rb,8.3173e-03_rb,6.2019e-03_rb/) kao(:, 5, 7, 8) = (/ & &3.8894e-03_rb,6.2311e-03_rb,7.2602e-03_rb,7.9756e-03_rb,8.4749e-03_rb,8.7608e-03_rb, & &8.8292e-03_rb,8.4586e-03_rb,6.2926e-03_rb/) kao(:, 1, 8, 8) = (/ & &7.2384e-03_rb,9.3960e-03_rb,1.0099e-02_rb,1.0331e-02_rb,1.0208e-02_rb,9.8199e-03_rb, & &9.1852e-03_rb,8.2577e-03_rb,5.1301e-03_rb/) kao(:, 2, 8, 8) = (/ & &7.4182e-03_rb,9.6243e-03_rb,1.0349e-02_rb,1.0556e-02_rb,1.0419e-02_rb,1.0021e-02_rb, & &9.3680e-03_rb,8.3968e-03_rb,5.1752e-03_rb/) kao(:, 3, 8, 8) = (/ & &7.6043e-03_rb,9.8546e-03_rb,1.0598e-02_rb,1.0777e-02_rb,1.0633e-02_rb,1.0249e-02_rb, & &9.5676e-03_rb,8.5508e-03_rb,5.2269e-03_rb/) kao(:, 4, 8, 8) = (/ & &7.7980e-03_rb,1.0094e-02_rb,1.0836e-02_rb,1.1012e-02_rb,1.0870e-02_rb,1.0482e-02_rb, & &9.7866e-03_rb,8.7162e-03_rb,5.2872e-03_rb/) kao(:, 5, 8, 8) = (/ & &8.0005e-03_rb,1.0352e-02_rb,1.1093e-02_rb,1.1272e-02_rb,1.1127e-02_rb,1.0726e-02_rb, & &1.0012e-02_rb,8.8875e-03_rb,5.3638e-03_rb/) kao(:, 1, 9, 8) = (/ & &2.7897e-02_rb,2.8473e-02_rb,2.7594e-02_rb,2.5806e-02_rb,2.3354e-02_rb,2.0346e-02_rb, & &1.6782e-02_rb,1.2341e-02_rb,4.1787e-03_rb/) kao(:, 2, 9, 8) = (/ & &2.8638e-02_rb,2.9187e-02_rb,2.8303e-02_rb,2.6475e-02_rb,2.3949e-02_rb,2.0857e-02_rb, & &1.7181e-02_rb,1.2602e-02_rb,4.2128e-03_rb/) kao(:, 3, 9, 8) = (/ & &2.9413e-02_rb,2.9901e-02_rb,2.8994e-02_rb,2.7143e-02_rb,2.4571e-02_rb,2.1381e-02_rb, & &1.7560e-02_rb,1.2888e-02_rb,4.2655e-03_rb/) kao(:, 4, 9, 8) = (/ & &3.0228e-02_rb,3.0665e-02_rb,2.9734e-02_rb,2.7828e-02_rb,2.5188e-02_rb,2.1923e-02_rb, & &1.7970e-02_rb,1.3183e-02_rb,4.3190e-03_rb/) kao(:, 5, 9, 8) = (/ & &3.1084e-02_rb,3.1463e-02_rb,3.0494e-02_rb,2.8550e-02_rb,2.5844e-02_rb,2.2478e-02_rb, & &1.8412e-02_rb,1.3496e-02_rb,4.3806e-03_rb/) kao(:, 1,10, 8) = (/ & &1.1962e-01_rb,1.0878e-01_rb,9.8349e-02_rb,8.6745e-02_rb,7.3912e-02_rb,5.9973e-02_rb, & &4.4839e-02_rb,2.7943e-02_rb,4.7543e-03_rb/) kao(:, 2,10, 8) = (/ & &1.2315e-01_rb,1.1182e-01_rb,1.0110e-01_rb,8.9175e-02_rb,7.5937e-02_rb,6.1630e-02_rb, & &4.6110e-02_rb,2.8679e-02_rb,4.8196e-03_rb/) kao(:, 3,10, 8) = (/ & &1.2693e-01_rb,1.1500e-01_rb,1.0391e-01_rb,9.1586e-02_rb,7.7974e-02_rb,6.3317e-02_rb, & &4.7374e-02_rb,2.9424e-02_rb,4.8761e-03_rb/) kao(:, 4,10, 8) = (/ & &1.3084e-01_rb,1.1837e-01_rb,1.0689e-01_rb,9.4192e-02_rb,8.0184e-02_rb,6.5076e-02_rb, & &4.8672e-02_rb,3.0173e-02_rb,4.8766e-03_rb/) kao(:, 5,10, 8) = (/ & &1.3499e-01_rb,1.2195e-01_rb,1.1004e-01_rb,9.6906e-02_rb,8.2479e-02_rb,6.6930e-02_rb, & &4.9998e-02_rb,3.0984e-02_rb,4.9096e-03_rb/) kao(:, 1,11, 8) = (/ & &1.7854e-01_rb,1.6015e-01_rb,1.4269e-01_rb,1.2418e-01_rb,1.0441e-01_rb,8.3289e-02_rb, & &6.0955e-02_rb,3.6472e-02_rb,5.4769e-03_rb/) kao(:, 2,11, 8) = (/ & &1.8442e-01_rb,1.6524e-01_rb,1.4721e-01_rb,1.2815e-01_rb,1.0771e-01_rb,8.5980e-02_rb, & &6.2870e-02_rb,3.7580e-02_rb,5.4728e-03_rb/) kao(:, 3,11, 8) = (/ & &1.9077e-01_rb,1.7071e-01_rb,1.5197e-01_rb,1.3224e-01_rb,1.1114e-01_rb,8.8708e-02_rb, & &6.4824e-02_rb,3.8654e-02_rb,5.4615e-03_rb/) kao(:, 4,11, 8) = (/ & &1.9746e-01_rb,1.7645e-01_rb,1.5699e-01_rb,1.3658e-01_rb,1.1475e-01_rb,9.1549e-02_rb, & &6.6833e-02_rb,3.9764e-02_rb,5.4686e-03_rb/) kao(:, 5,11, 8) = (/ & &2.0452e-01_rb,1.8255e-01_rb,1.6232e-01_rb,1.4114e-01_rb,1.1852e-01_rb,9.4452e-02_rb, & &6.8909e-02_rb,4.0947e-02_rb,5.4706e-03_rb/) kao(:, 1,12, 8) = (/ & &2.0120e-01_rb,1.7983e-01_rb,1.5919e-01_rb,1.3760e-01_rb,1.1465e-01_rb,9.0568e-02_rb, & &6.5383e-02_rb,3.8355e-02_rb,5.7670e-03_rb/) kao(:, 2,12, 8) = (/ & &2.0757e-01_rb,1.8546e-01_rb,1.6435e-01_rb,1.4209e-01_rb,1.1843e-01_rb,9.3538e-02_rb, & &6.7515e-02_rb,3.9583e-02_rb,5.7182e-03_rb/) kao(:, 3,12, 8) = (/ & &2.1449e-01_rb,1.9151e-01_rb,1.6961e-01_rb,1.4673e-01_rb,1.2244e-01_rb,9.6759e-02_rb, & &6.9782e-02_rb,4.0857e-02_rb,5.7245e-03_rb/) kao(:, 4,12, 8) = (/ & &2.2222e-01_rb,1.9817e-01_rb,1.7542e-01_rb,1.5173e-01_rb,1.2653e-01_rb,1.0003e-01_rb, & &7.2145e-02_rb,4.2184e-02_rb,5.7102e-03_rb/) kao(:, 5,12, 8) = (/ & &2.3023e-01_rb,2.0507e-01_rb,1.8144e-01_rb,1.5689e-01_rb,1.3087e-01_rb,1.0351e-01_rb, & &7.4642e-02_rb,4.3620e-02_rb,5.7450e-03_rb/) kao(:, 1,13, 8) = (/ & &1.8448e-01_rb,1.6553e-01_rb,1.4649e-01_rb,1.2620e-01_rb,1.0471e-01_rb,8.2340e-02_rb, & &5.9042e-02_rb,3.4367e-02_rb,5.6219e-03_rb/) kao(:, 2,13, 8) = (/ & &1.9034e-01_rb,1.7056e-01_rb,1.5103e-01_rb,1.3022e-01_rb,1.0811e-01_rb,8.5094e-02_rb, & &6.1006e-02_rb,3.5479e-02_rb,5.5942e-03_rb/) kao(:, 3,13, 8) = (/ & &1.9658e-01_rb,1.7595e-01_rb,1.5589e-01_rb,1.3452e-01_rb,1.1170e-01_rb,8.7865e-02_rb, & &6.2984e-02_rb,3.6599e-02_rb,5.6072e-03_rb/) kao(:, 4,13, 8) = (/ & &2.0338e-01_rb,1.8188e-01_rb,1.6115e-01_rb,1.3898e-01_rb,1.1533e-01_rb,9.0760e-02_rb, & &6.5090e-02_rb,3.7803e-02_rb,5.6436e-03_rb/) kao(:, 5,13, 8) = (/ & &2.1087e-01_rb,1.8825e-01_rb,1.6661e-01_rb,1.4369e-01_rb,1.1939e-01_rb,9.3967e-02_rb, & &6.7400e-02_rb,3.9148e-02_rb,5.6745e-03_rb/) kao(:, 1, 1, 9) = (/ & &9.4421e-04_rb,7.3440e-03_rb,1.3185e-02_rb,1.9434e-02_rb,2.5910e-02_rb,3.2531e-02_rb, & &3.9377e-02_rb,4.6620e-02_rb,5.1571e-02_rb/) kao(:, 2, 1, 9) = (/ & &9.6482e-04_rb,7.2909e-03_rb,1.3109e-02_rb,1.9331e-02_rb,2.5776e-02_rb,3.2360e-02_rb, & &3.9164e-02_rb,4.6323e-02_rb,5.1303e-02_rb/) kao(:, 3, 1, 9) = (/ & &9.8476e-04_rb,7.2409e-03_rb,1.3044e-02_rb,1.9248e-02_rb,2.5665e-02_rb,3.2216e-02_rb, & &3.8981e-02_rb,4.6102e-02_rb,5.1082e-02_rb/) kao(:, 4, 1, 9) = (/ & &1.0020e-03_rb,7.1999e-03_rb,1.3010e-02_rb,1.9215e-02_rb,2.5618e-02_rb,3.2137e-02_rb, & &3.8862e-02_rb,4.5932e-02_rb,5.0990e-02_rb/) kao(:, 5, 1, 9) = (/ & &1.0184e-03_rb,7.1770e-03_rb,1.3015e-02_rb,1.9243e-02_rb,2.5654e-02_rb,3.2165e-02_rb, & &3.8858e-02_rb,4.5863e-02_rb,5.1066e-02_rb/) kao(:, 1, 2, 9) = (/ & &1.3462e-03_rb,8.0869e-03_rb,1.3393e-02_rb,1.9013e-02_rb,2.4987e-02_rb,3.1278e-02_rb, & &3.7900e-02_rb,4.5296e-02_rb,4.9469e-02_rb/) kao(:, 2, 2, 9) = (/ & &1.3803e-03_rb,8.0241e-03_rb,1.3304e-02_rb,1.8903e-02_rb,2.4859e-02_rb,3.1123e-02_rb, & &3.7707e-02_rb,4.5049e-02_rb,4.9230e-02_rb/) kao(:, 3, 2, 9) = (/ & &1.4130e-03_rb,7.9636e-03_rb,1.3235e-02_rb,1.8828e-02_rb,2.4777e-02_rb,3.1019e-02_rb, & &3.7558e-02_rb,4.4839e-02_rb,4.9085e-02_rb/) kao(:, 4, 2, 9) = (/ & &1.4417e-03_rb,7.9144e-03_rb,1.3198e-02_rb,1.8807e-02_rb,2.4768e-02_rb,3.1006e-02_rb, & &3.7513e-02_rb,4.4699e-02_rb,4.9090e-02_rb/) kao(:, 5, 2, 9) = (/ & &1.4672e-03_rb,7.8840e-03_rb,1.3197e-02_rb,1.8844e-02_rb,2.4841e-02_rb,3.1094e-02_rb, & &3.7591e-02_rb,4.4701e-02_rb,4.9253e-02_rb/) kao(:, 1, 3, 9) = (/ & &2.5556e-03_rb,1.0082e-02_rb,1.5320e-02_rb,1.9920e-02_rb,2.4710e-02_rb,2.9907e-02_rb, & &3.5684e-02_rb,4.2430e-02_rb,4.6609e-02_rb/) kao(:, 2, 3, 9) = (/ & &2.6284e-03_rb,1.0047e-02_rb,1.5209e-02_rb,1.9796e-02_rb,2.4582e-02_rb,2.9765e-02_rb, & &3.5524e-02_rb,4.2220e-02_rb,4.6433e-02_rb/) kao(:, 3, 3, 9) = (/ & &2.6960e-03_rb,1.0006e-02_rb,1.5105e-02_rb,1.9696e-02_rb,2.4496e-02_rb,2.9686e-02_rb, & &3.5446e-02_rb,4.2085e-02_rb,4.6365e-02_rb/) kao(:, 4, 3, 9) = (/ & &2.7589e-03_rb,9.9586e-03_rb,1.5035e-02_rb,1.9644e-02_rb,2.4475e-02_rb,2.9692e-02_rb, & &3.5469e-02_rb,4.2071e-02_rb,4.6440e-02_rb/) kao(:, 5, 3, 9) = (/ & &2.8129e-03_rb,9.9196e-03_rb,1.4994e-02_rb,1.9639e-02_rb,2.4519e-02_rb,2.9788e-02_rb, & &3.5597e-02_rb,4.2188e-02_rb,4.6642e-02_rb/) kao(:, 1, 4, 9) = (/ & &4.8937e-03_rb,1.3203e-02_rb,1.8921e-02_rb,2.3296e-02_rb,2.6924e-02_rb,3.0282e-02_rb, & &3.4096e-02_rb,3.9071e-02_rb,4.3251e-02_rb/) kao(:, 2, 4, 9) = (/ & &5.0488e-03_rb,1.3226e-02_rb,1.8867e-02_rb,2.3170e-02_rb,2.6777e-02_rb,3.0147e-02_rb, & &3.3963e-02_rb,3.8948e-02_rb,4.3159e-02_rb/) kao(:, 3, 4, 9) = (/ & &5.1910e-03_rb,1.3248e-02_rb,1.8795e-02_rb,2.3060e-02_rb,2.6655e-02_rb,3.0063e-02_rb, & &3.3903e-02_rb,3.8899e-02_rb,4.3165e-02_rb/) kao(:, 4, 4, 9) = (/ & &5.3207e-03_rb,1.3268e-02_rb,1.8730e-02_rb,2.2981e-02_rb,2.6589e-02_rb,3.0040e-02_rb, & &3.3930e-02_rb,3.8970e-02_rb,4.3287e-02_rb/) kao(:, 5, 4, 9) = (/ & &5.4422e-03_rb,1.3287e-02_rb,1.8693e-02_rb,2.2945e-02_rb,2.6576e-02_rb,3.0081e-02_rb, & &3.4041e-02_rb,3.9135e-02_rb,4.3512e-02_rb/) kao(:, 1, 5, 9) = (/ & &8.5307e-03_rb,1.7183e-02_rb,2.3465e-02_rb,2.7970e-02_rb,3.1130e-02_rb,3.3358e-02_rb, & &3.4774e-02_rb,3.6613e-02_rb,3.9589e-02_rb/) kao(:, 2, 5, 9) = (/ & &8.8245e-03_rb,1.7347e-02_rb,2.3508e-02_rb,2.7937e-02_rb,3.1047e-02_rb,3.3237e-02_rb, & &3.4670e-02_rb,3.6530e-02_rb,3.9570e-02_rb/) kao(:, 3, 5, 9) = (/ & &9.0927e-03_rb,1.7496e-02_rb,2.3535e-02_rb,2.7881e-02_rb,3.0966e-02_rb,3.3147e-02_rb, & &3.4603e-02_rb,3.6513e-02_rb,3.9628e-02_rb/) kao(:, 4, 5, 9) = (/ & &9.3371e-03_rb,1.7632e-02_rb,2.3559e-02_rb,2.7829e-02_rb,3.0920e-02_rb,3.3100e-02_rb, & &3.4594e-02_rb,3.6581e-02_rb,3.9792e-02_rb/) kao(:, 5, 5, 9) = (/ & &9.5713e-03_rb,1.7760e-02_rb,2.3602e-02_rb,2.7816e-02_rb,3.0915e-02_rb,3.3109e-02_rb, & &3.4648e-02_rb,3.6731e-02_rb,4.0039e-02_rb/) kao(:, 1, 6, 9) = (/ & &1.3837e-02_rb,2.2346e-02_rb,2.8803e-02_rb,3.3403e-02_rb,3.6375e-02_rb,3.7770e-02_rb, & &3.7769e-02_rb,3.6158e-02_rb,3.5736e-02_rb/) kao(:, 2, 6, 9) = (/ & &1.4345e-02_rb,2.2684e-02_rb,2.9062e-02_rb,3.3523e-02_rb,3.6415e-02_rb,3.7748e-02_rb, & &3.7698e-02_rb,3.6127e-02_rb,3.5788e-02_rb/) kao(:, 3, 6, 9) = (/ & &1.4814e-02_rb,2.3025e-02_rb,2.9297e-02_rb,3.3616e-02_rb,3.6414e-02_rb,3.7728e-02_rb, & &3.7657e-02_rb,3.6132e-02_rb,3.5900e-02_rb/) kao(:, 4, 6, 9) = (/ & &1.5241e-02_rb,2.3333e-02_rb,2.9502e-02_rb,3.3707e-02_rb,3.6417e-02_rb,3.7743e-02_rb, & &3.7671e-02_rb,3.6177e-02_rb,3.6086e-02_rb/) kao(:, 5, 6, 9) = (/ & &1.5643e-02_rb,2.3601e-02_rb,2.9688e-02_rb,3.3808e-02_rb,3.6468e-02_rb,3.7791e-02_rb, & &3.7729e-02_rb,3.6273e-02_rb,3.6334e-02_rb/) kao(:, 1, 7, 9) = (/ & &2.3687e-02_rb,3.1230e-02_rb,3.7445e-02_rb,4.1636e-02_rb,4.4049e-02_rb,4.4684e-02_rb, & &4.3161e-02_rb,3.8835e-02_rb,3.1866e-02_rb/) kao(:, 2, 7, 9) = (/ & &2.4610e-02_rb,3.1967e-02_rb,3.8037e-02_rb,4.2097e-02_rb,4.4354e-02_rb,4.4855e-02_rb, & &4.3236e-02_rb,3.8850e-02_rb,3.1969e-02_rb/) kao(:, 3, 7, 9) = (/ & &2.5467e-02_rb,3.2639e-02_rb,3.8612e-02_rb,4.2519e-02_rb,4.4609e-02_rb,4.4967e-02_rb, & &4.3302e-02_rb,3.8885e-02_rb,3.2129e-02_rb/) kao(:, 4, 7, 9) = (/ & &2.6267e-02_rb,3.3238e-02_rb,3.9137e-02_rb,4.2894e-02_rb,4.4845e-02_rb,4.5082e-02_rb, & &4.3395e-02_rb,3.8965e-02_rb,3.2326e-02_rb/) kao(:, 5, 7, 9) = (/ & &2.6995e-02_rb,3.3786e-02_rb,3.9598e-02_rb,4.3239e-02_rb,4.5071e-02_rb,4.5249e-02_rb, & &4.3527e-02_rb,3.9067e-02_rb,3.2557e-02_rb/) kao(:, 1, 8, 9) = (/ & &4.7920e-02_rb,5.2366e-02_rb,5.6749e-02_rb,5.9168e-02_rb,5.9712e-02_rb,5.8092e-02_rb, & &5.3946e-02_rb,4.5783e-02_rb,2.8113e-02_rb/) kao(:, 2, 8, 9) = (/ & &4.9884e-02_rb,5.3965e-02_rb,5.8166e-02_rb,6.0347e-02_rb,6.0665e-02_rb,5.8786e-02_rb, & &5.4351e-02_rb,4.5985e-02_rb,2.8254e-02_rb/) kao(:, 3, 8, 9) = (/ & &5.1719e-02_rb,5.5478e-02_rb,5.9448e-02_rb,6.1483e-02_rb,6.1565e-02_rb,5.9384e-02_rb, & &5.4686e-02_rb,4.6159e-02_rb,2.8435e-02_rb/) kao(:, 4, 8, 9) = (/ & &5.3394e-02_rb,5.6807e-02_rb,6.0645e-02_rb,6.2509e-02_rb,6.2363e-02_rb,5.9916e-02_rb, & &5.4999e-02_rb,4.6361e-02_rb,2.8611e-02_rb/) kao(:, 5, 8, 9) = (/ & &5.4964e-02_rb,5.7985e-02_rb,6.1688e-02_rb,6.3442e-02_rb,6.3043e-02_rb,6.0445e-02_rb, & &5.5342e-02_rb,4.6592e-02_rb,2.8833e-02_rb/) kao(:, 1, 9, 9) = (/ & &1.8387e-01_rb,1.6808e-01_rb,1.5799e-01_rb,1.4671e-01_rb,1.3366e-01_rb,1.1828e-01_rb, & &9.9590e-02_rb,7.4670e-02_rb,2.3960e-02_rb/) kao(:, 2, 9, 9) = (/ & &1.9171e-01_rb,1.7460e-01_rb,1.6351e-01_rb,1.5144e-01_rb,1.3758e-01_rb,1.2130e-01_rb, & &1.0166e-01_rb,7.5740e-02_rb,2.4137e-02_rb/) kao(:, 3, 9, 9) = (/ & &1.9894e-01_rb,1.8065e-01_rb,1.6862e-01_rb,1.5587e-01_rb,1.4113e-01_rb,1.2411e-01_rb, & &1.0364e-01_rb,7.6719e-02_rb,2.4294e-02_rb/) kao(:, 4, 9, 9) = (/ & &2.0563e-01_rb,1.8623e-01_rb,1.7319e-01_rb,1.5976e-01_rb,1.4435e-01_rb,1.2672e-01_rb, & &1.0542e-01_rb,7.7598e-02_rb,2.4446e-02_rb/) kao(:, 5, 9, 9) = (/ & &2.1200e-01_rb,1.9152e-01_rb,1.7746e-01_rb,1.6330e-01_rb,1.4720e-01_rb,1.2898e-01_rb, & &1.0699e-01_rb,7.8411e-02_rb,2.4664e-02_rb/) kao(:, 1,10, 9) = (/ & &7.9805e-01_rb,7.0103e-01_rb,6.0984e-01_rb,5.2274e-01_rb,4.3812e-01_rb,3.5220e-01_rb, & &2.6270e-01_rb,1.6632e-01_rb,1.8620e-02_rb/) kao(:, 2,10, 9) = (/ & &8.3214e-01_rb,7.3068e-01_rb,6.3476e-01_rb,5.4295e-01_rb,4.5426e-01_rb,3.6461e-01_rb, & &2.7128e-01_rb,1.7099e-01_rb,1.8699e-02_rb/) kao(:, 3,10, 9) = (/ & &8.6405e-01_rb,7.5844e-01_rb,6.5814e-01_rb,5.6198e-01_rb,4.6922e-01_rb,3.7620e-01_rb, & &2.7918e-01_rb,1.7530e-01_rb,1.8761e-02_rb/) kao(:, 4,10, 9) = (/ & &8.9399e-01_rb,7.8448e-01_rb,6.8005e-01_rb,5.7978e-01_rb,4.8302e-01_rb,3.8668e-01_rb, & &2.8631e-01_rb,1.7930e-01_rb,1.8825e-02_rb/) kao(:, 5,10, 9) = (/ & &9.2229e-01_rb,8.0909e-01_rb,7.0076e-01_rb,5.9657e-01_rb,4.9598e-01_rb,3.9642e-01_rb, & &2.9286e-01_rb,1.8285e-01_rb,1.8959e-02_rb/) kao(:, 1,11, 9) = (/ & &1.2376e+00_rb,1.0851e+00_rb,9.3781e-01_rb,7.9479e-01_rb,6.5536e-01_rb,5.1636e-01_rb, & &3.7350e-01_rb,2.2328e-01_rb,1.9046e-02_rb/) kao(:, 2,11, 9) = (/ & &1.2888e+00_rb,1.1296e+00_rb,9.7557e-01_rb,8.2566e-01_rb,6.7951e-01_rb,5.3467e-01_rb, & &3.8601e-01_rb,2.3011e-01_rb,1.9117e-02_rb/) kao(:, 3,11, 9) = (/ & &1.3372e+00_rb,1.1719e+00_rb,1.0114e+00_rb,8.5500e-01_rb,7.0234e-01_rb,5.5187e-01_rb, & &3.9765e-01_rb,2.3639e-01_rb,1.9165e-02_rb/) kao(:, 4,11, 9) = (/ & &1.3819e+00_rb,1.2109e+00_rb,1.0444e+00_rb,8.8194e-01_rb,7.2332e-01_rb,5.6752e-01_rb, & &4.0827e-01_rb,2.4219e-01_rb,1.9058e-02_rb/) kao(:, 5,11, 9) = (/ & &1.4259e+00_rb,1.2494e+00_rb,1.0769e+00_rb,9.0854e-01_rb,7.4408e-01_rb,5.8286e-01_rb, & &4.1859e-01_rb,2.4748e-01_rb,1.9067e-02_rb/) kao(:, 1,12, 9) = (/ & &1.4243e+00_rb,1.2488e+00_rb,1.0789e+00_rb,9.1317e-01_rb,7.5092e-01_rb,5.8812e-01_rb, & &4.2112e-01_rb,2.4611e-01_rb,1.9872e-02_rb/) kao(:, 2,12, 9) = (/ & &1.4836e+00_rb,1.3004e+00_rb,1.1224e+00_rb,9.4876e-01_rb,7.7876e-01_rb,6.0917e-01_rb, & &4.3528e-01_rb,2.5376e-01_rb,2.0064e-02_rb/) kao(:, 3,12, 9) = (/ & &1.5386e+00_rb,1.3484e+00_rb,1.1631e+00_rb,9.8199e-01_rb,8.0461e-01_rb,6.2868e-01_rb, & &4.4843e-01_rb,2.6085e-01_rb,2.0179e-02_rb/) kao(:, 4,12, 9) = (/ & &1.5909e+00_rb,1.3940e+00_rb,1.2017e+00_rb,1.0136e+00_rb,8.2931e-01_rb,6.4713e-01_rb, & &4.6088e-01_rb,2.6745e-01_rb,2.0157e-02_rb/) kao(:, 5,12, 9) = (/ & &1.6423e+00_rb,1.4388e+00_rb,1.2396e+00_rb,1.0446e+00_rb,8.5343e-01_rb,6.6506e-01_rb, & &4.7297e-01_rb,2.7367e-01_rb,2.0135e-02_rb/) kao(:, 1,13, 9) = (/ & &1.3090e+00_rb,1.1487e+00_rb,9.9498e-01_rb,8.4529e-01_rb,6.9751e-01_rb,5.4690e-01_rb, & &3.9201e-01_rb,2.2831e-01_rb,1.9648e-02_rb/) kao(:, 2,13, 9) = (/ & &1.3642e+00_rb,1.1967e+00_rb,1.0354e+00_rb,8.7822e-01_rb,7.2355e-01_rb,5.6643e-01_rb, & &4.0528e-01_rb,2.3543e-01_rb,1.9783e-02_rb/) kao(:, 3,13, 9) = (/ & &1.4156e+00_rb,1.2415e+00_rb,1.0731e+00_rb,9.0892e-01_rb,7.4783e-01_rb,5.8491e-01_rb, & &4.1788e-01_rb,2.4217e-01_rb,1.9878e-02_rb/) kao(:, 4,13, 9) = (/ & &1.4652e+00_rb,1.2846e+00_rb,1.1094e+00_rb,9.3863e-01_rb,7.7135e-01_rb,6.0268e-01_rb, & &4.2988e-01_rb,2.4851e-01_rb,1.9864e-02_rb/) kao(:, 5,13, 9) = (/ & &1.5126e+00_rb,1.3260e+00_rb,1.1446e+00_rb,9.6741e-01_rb,7.9378e-01_rb,6.1968e-01_rb, & &4.4123e-01_rb,2.5440e-01_rb,1.9877e-02_rb/) kao(:, 1, 1,10) = (/ & &3.3844e-03_rb,1.5864e-02_rb,3.0967e-02_rb,4.5960e-02_rb,6.0759e-02_rb,7.5076e-02_rb, & &8.8299e-02_rb,9.7840e-02_rb,1.2109e-01_rb/) kao(:, 2, 1,10) = (/ & &3.3774e-03_rb,1.5840e-02_rb,3.0916e-02_rb,4.5912e-02_rb,6.0698e-02_rb,7.5010e-02_rb, & &8.8211e-02_rb,9.7731e-02_rb,1.2099e-01_rb/) kao(:, 3, 1,10) = (/ & &3.3575e-03_rb,1.5844e-02_rb,3.0912e-02_rb,4.5937e-02_rb,6.0728e-02_rb,7.5022e-02_rb, & &8.8124e-02_rb,9.7474e-02_rb,1.2106e-01_rb/) kao(:, 4, 1,10) = (/ & &3.3333e-03_rb,1.5824e-02_rb,3.0829e-02_rb,4.5838e-02_rb,6.0646e-02_rb,7.4990e-02_rb, & &8.8084e-02_rb,9.7173e-02_rb,1.2089e-01_rb/) kao(:, 5, 1,10) = (/ & &3.3084e-03_rb,1.5776e-02_rb,3.0693e-02_rb,4.5649e-02_rb,6.0428e-02_rb,7.4773e-02_rb, & &8.7909e-02_rb,9.6839e-02_rb,1.2042e-01_rb/) kao(:, 1, 2,10) = (/ & &5.1392e-03_rb,1.7464e-02_rb,3.2432e-02_rb,4.7915e-02_rb,6.3487e-02_rb,7.8847e-02_rb, & &9.3621e-02_rb,1.0600e-01_rb,1.2635e-01_rb/) kao(:, 2, 2,10) = (/ & &5.1325e-03_rb,1.7471e-02_rb,3.2464e-02_rb,4.7934e-02_rb,6.3521e-02_rb,7.8889e-02_rb, & &9.3606e-02_rb,1.0592e-01_rb,1.2642e-01_rb/) kao(:, 3, 2,10) = (/ & &5.1157e-03_rb,1.7466e-02_rb,3.2343e-02_rb,4.7787e-02_rb,6.3340e-02_rb,7.8722e-02_rb, & &9.3575e-02_rb,1.0588e-01_rb,1.2605e-01_rb/) kao(:, 4, 2,10) = (/ & &5.0987e-03_rb,1.7399e-02_rb,3.2075e-02_rb,4.7428e-02_rb,6.2893e-02_rb,7.8221e-02_rb, & &9.3145e-02_rb,1.0589e-01_rb,1.2513e-01_rb/) kao(:, 5, 2,10) = (/ & &5.0781e-03_rb,1.7287e-02_rb,3.1803e-02_rb,4.7068e-02_rb,6.2420e-02_rb,7.7655e-02_rb, & &9.2528e-02_rb,1.0558e-01_rb,1.2418e-01_rb/) kao(:, 1, 3,10) = (/ & &1.0449e-02_rb,2.2920e-02_rb,3.5229e-02_rb,4.9841e-02_rb,6.5300e-02_rb,8.0993e-02_rb, & &9.6715e-02_rb,1.1178e-01_rb,1.2900e-01_rb/) kao(:, 2, 3,10) = (/ & &1.0475e-02_rb,2.2840e-02_rb,3.5278e-02_rb,4.9881e-02_rb,6.5245e-02_rb,8.1037e-02_rb, & &9.6863e-02_rb,1.1212e-01_rb,1.2899e-01_rb/) kao(:, 3, 3,10) = (/ & &1.0487e-02_rb,2.2756e-02_rb,3.5213e-02_rb,4.9645e-02_rb,6.4866e-02_rb,8.0649e-02_rb, & &9.6451e-02_rb,1.1190e-01_rb,1.2830e-01_rb/) kao(:, 4, 3,10) = (/ & &1.0493e-02_rb,2.2711e-02_rb,3.4996e-02_rb,4.9204e-02_rb,6.4312e-02_rb,7.9994e-02_rb, & &9.5693e-02_rb,1.1109e-01_rb,1.2723e-01_rb/) kao(:, 5, 3,10) = (/ & &1.0487e-02_rb,2.2599e-02_rb,3.4737e-02_rb,4.8786e-02_rb,6.3856e-02_rb,7.9443e-02_rb, & &9.5024e-02_rb,1.1021e-01_rb,1.2638e-01_rb/) kao(:, 1, 4,10) = (/ & &2.1474e-02_rb,3.4011e-02_rb,4.5615e-02_rb,5.6742e-02_rb,6.8329e-02_rb,8.2791e-02_rb, & &9.7759e-02_rb,1.1367e-01_rb,1.2934e-01_rb/) kao(:, 2, 4,10) = (/ & &2.1593e-02_rb,3.3751e-02_rb,4.5521e-02_rb,5.6645e-02_rb,6.8211e-02_rb,8.2434e-02_rb, & &9.7517e-02_rb,1.1348e-01_rb,1.2896e-01_rb/) kao(:, 3, 4,10) = (/ & &2.1694e-02_rb,3.3429e-02_rb,4.5406e-02_rb,5.6399e-02_rb,6.7862e-02_rb,8.1741e-02_rb, & &9.6866e-02_rb,1.1284e-01_rb,1.2803e-01_rb/) kao(:, 4, 4,10) = (/ & &2.1761e-02_rb,3.3088e-02_rb,4.5200e-02_rb,5.5990e-02_rb,6.7313e-02_rb,8.0951e-02_rb, & &9.6103e-02_rb,1.1192e-01_rb,1.2712e-01_rb/) kao(:, 5, 4,10) = (/ & &2.1871e-02_rb,3.2779e-02_rb,4.4802e-02_rb,5.5607e-02_rb,6.6864e-02_rb,8.0377e-02_rb, & &9.5554e-02_rb,1.1124e-01_rb,1.2647e-01_rb/) kao(:, 1, 5,10) = (/ & &3.9770e-02_rb,5.1894e-02_rb,6.3327e-02_rb,7.2180e-02_rb,8.0917e-02_rb,8.8056e-02_rb, & &9.8598e-02_rb,1.1206e-01_rb,1.2671e-01_rb/) kao(:, 2, 5,10) = (/ & &4.0140e-02_rb,5.1409e-02_rb,6.3212e-02_rb,7.2060e-02_rb,8.0506e-02_rb,8.7647e-02_rb, & &9.8026e-02_rb,1.1163e-01_rb,1.2617e-01_rb/) kao(:, 3, 5,10) = (/ & &4.0492e-02_rb,5.0925e-02_rb,6.2882e-02_rb,7.1952e-02_rb,8.0008e-02_rb,8.6965e-02_rb, & &9.7225e-02_rb,1.1094e-01_rb,1.2542e-01_rb/) kao(:, 4, 5,10) = (/ & &4.0826e-02_rb,5.0532e-02_rb,6.2408e-02_rb,7.1612e-02_rb,7.9337e-02_rb,8.6238e-02_rb, & &9.6327e-02_rb,1.1019e-01_rb,1.2470e-01_rb/) kao(:, 5, 5,10) = (/ & &4.1162e-02_rb,5.0261e-02_rb,6.1890e-02_rb,7.0980e-02_rb,7.8777e-02_rb,8.5713e-02_rb, & &9.5778e-02_rb,1.0986e-01_rb,1.2449e-01_rb/) kao(:, 1, 6,10) = (/ & &6.7916e-02_rb,7.7649e-02_rb,8.9172e-02_rb,9.6900e-02_rb,1.0149e-01_rb,1.0503e-01_rb, & &1.0523e-01_rb,1.0994e-01_rb,1.2156e-01_rb/) kao(:, 2, 6,10) = (/ & &6.8757e-02_rb,7.7814e-02_rb,8.8891e-02_rb,9.7030e-02_rb,1.0144e-01_rb,1.0468e-01_rb, & &1.0479e-01_rb,1.0906e-01_rb,1.2102e-01_rb/) kao(:, 3, 6,10) = (/ & &6.9572e-02_rb,7.7629e-02_rb,8.8407e-02_rb,9.6716e-02_rb,1.0124e-01_rb,1.0403e-01_rb, & &1.0408e-01_rb,1.0810e-01_rb,1.2040e-01_rb/) kao(:, 4, 6,10) = (/ & &7.0420e-02_rb,7.7345e-02_rb,8.8011e-02_rb,9.6134e-02_rb,1.0079e-01_rb,1.0305e-01_rb, & &1.0321e-01_rb,1.0749e-01_rb,1.2017e-01_rb/) kao(:, 5, 6,10) = (/ & &7.1176e-02_rb,7.7213e-02_rb,8.7761e-02_rb,9.5353e-02_rb,9.9879e-02_rb,1.0215e-01_rb, & &1.0265e-01_rb,1.0733e-01_rb,1.2038e-01_rb/) kao(:, 1, 7,10) = (/ & &1.2127e-01_rb,1.2412e-01_rb,1.3217e-01_rb,1.3765e-01_rb,1.3951e-01_rb,1.3625e-01_rb, & &1.2814e-01_rb,1.1487e-01_rb,1.1426e-01_rb/) kao(:, 2, 7,10) = (/ & &1.2309e-01_rb,1.2453e-01_rb,1.3252e-01_rb,1.3798e-01_rb,1.3976e-01_rb,1.3644e-01_rb, & &1.2796e-01_rb,1.1426e-01_rb,1.1391e-01_rb/) kao(:, 3, 7,10) = (/ & &1.2489e-01_rb,1.2494e-01_rb,1.3228e-01_rb,1.3764e-01_rb,1.3951e-01_rb,1.3625e-01_rb, & &1.2756e-01_rb,1.1350e-01_rb,1.1349e-01_rb/) kao(:, 4, 7,10) = (/ & &1.2680e-01_rb,1.2557e-01_rb,1.3198e-01_rb,1.3739e-01_rb,1.3886e-01_rb,1.3552e-01_rb, & &1.2649e-01_rb,1.1282e-01_rb,1.1362e-01_rb/) kao(:, 5, 7,10) = (/ & &1.2852e-01_rb,1.2615e-01_rb,1.3199e-01_rb,1.3726e-01_rb,1.3802e-01_rb,1.3430e-01_rb, & &1.2550e-01_rb,1.1257e-01_rb,1.1419e-01_rb/) kao(:, 1, 8,10) = (/ & &2.5214e-01_rb,2.3134e-01_rb,2.3152e-01_rb,2.2506e-01_rb,2.1543e-01_rb,2.0242e-01_rb, & &1.8079e-01_rb,1.4566e-01_rb,1.0565e-01_rb/) kao(:, 2, 8,10) = (/ & &2.5695e-01_rb,2.3363e-01_rb,2.3275e-01_rb,2.2604e-01_rb,2.1637e-01_rb,2.0282e-01_rb, & &1.8105e-01_rb,1.4554e-01_rb,1.0546e-01_rb/) kao(:, 3, 8,10) = (/ & &2.6176e-01_rb,2.3588e-01_rb,2.3395e-01_rb,2.2621e-01_rb,2.1636e-01_rb,2.0257e-01_rb, & &1.8076e-01_rb,1.4513e-01_rb,1.0533e-01_rb/) kao(:, 4, 8,10) = (/ & &2.6651e-01_rb,2.3871e-01_rb,2.3539e-01_rb,2.2647e-01_rb,2.1633e-01_rb,2.0229e-01_rb, & &1.8002e-01_rb,1.4419e-01_rb,1.0597e-01_rb/) kao(:, 5, 8,10) = (/ & &2.7042e-01_rb,2.4131e-01_rb,2.3677e-01_rb,2.2700e-01_rb,2.1683e-01_rb,2.0167e-01_rb, & &1.7891e-01_rb,1.4342e-01_rb,1.0666e-01_rb/) kao(:, 1, 9,10) = (/ & &9.7736e-01_rb,8.5726e-01_rb,7.4530e-01_rb,6.6330e-01_rb,5.7895e-01_rb,4.8711e-01_rb, & &3.8944e-01_rb,2.7986e-01_rb,9.6120e-02_rb/) kao(:, 2, 9,10) = (/ & &1.0005e+00_rb,8.7740e-01_rb,7.5935e-01_rb,6.7173e-01_rb,5.8495e-01_rb,4.9078e-01_rb, & &3.9206e-01_rb,2.8024e-01_rb,9.6028e-02_rb/) kao(:, 3, 9,10) = (/ & &1.0238e+00_rb,8.9765e-01_rb,7.7412e-01_rb,6.7963e-01_rb,5.9056e-01_rb,4.9392e-01_rb, & &3.9381e-01_rb,2.7971e-01_rb,9.6387e-02_rb/) kao(:, 4, 9,10) = (/ & &1.0459e+00_rb,9.1704e-01_rb,7.8954e-01_rb,6.8917e-01_rb,5.9755e-01_rb,4.9657e-01_rb, & &3.9497e-01_rb,2.7927e-01_rb,9.7373e-02_rb/) kao(:, 5, 9,10) = (/ & &1.0630e+00_rb,9.3201e-01_rb,8.0170e-01_rb,6.9634e-01_rb,6.0306e-01_rb,4.9955e-01_rb, & &3.9651e-01_rb,2.7910e-01_rb,9.7962e-02_rb/) kao(:, 1,10,10) = (/ & &4.2057e+00_rb,3.6817e+00_rb,3.1579e+00_rb,2.6346e+00_rb,2.1198e+00_rb,1.6450e+00_rb, & &1.1902e+00_rb,7.0817e-01_rb,7.8303e-02_rb/) kao(:, 2,10,10) = (/ & &4.3277e+00_rb,3.7881e+00_rb,3.2491e+00_rb,2.7104e+00_rb,2.1754e+00_rb,1.6774e+00_rb, & &1.2094e+00_rb,7.1654e-01_rb,7.8798e-02_rb/) kao(:, 3,10,10) = (/ & &4.4500e+00_rb,3.8956e+00_rb,3.3411e+00_rb,2.7869e+00_rb,2.2338e+00_rb,1.7120e+00_rb, & &1.2289e+00_rb,7.2324e-01_rb,7.8857e-02_rb/) kao(:, 4,10,10) = (/ & &4.5562e+00_rb,3.9883e+00_rb,3.4205e+00_rb,2.8532e+00_rb,2.2862e+00_rb,1.7446e+00_rb, & &1.2492e+00_rb,7.3045e-01_rb,7.9497e-02_rb/) kao(:, 5,10,10) = (/ & &4.6429e+00_rb,4.0644e+00_rb,3.4858e+00_rb,2.9077e+00_rb,2.3298e+00_rb,1.7714e+00_rb, & &1.2652e+00_rb,7.3636e-01_rb,7.8315e-02_rb/) kao(:, 1,11,10) = (/ & &6.3643e+00_rb,5.5702e+00_rb,4.7761e+00_rb,3.9823e+00_rb,3.1901e+00_rb,2.4267e+00_rb, & &1.7139e+00_rb,9.8175e-01_rb,5.2396e-02_rb/) kao(:, 2,11,10) = (/ & &6.5707e+00_rb,5.7511e+00_rb,4.9312e+00_rb,4.1117e+00_rb,3.2928e+00_rb,2.4948e+00_rb, & &1.7532e+00_rb,9.9614e-01_rb,5.2761e-02_rb/) kao(:, 3,11,10) = (/ & &6.7598e+00_rb,5.9160e+00_rb,5.0729e+00_rb,4.2301e+00_rb,3.3876e+00_rb,2.5590e+00_rb, & &1.7914e+00_rb,1.0123e+00_rb,5.3574e-02_rb/) kao(:, 4,11,10) = (/ & &6.9211e+00_rb,6.0577e+00_rb,5.1942e+00_rb,4.3313e+00_rb,3.4687e+00_rb,2.6150e+00_rb, & &1.8227e+00_rb,1.0262e+00_rb,5.6608e-02_rb/) kao(:, 5,11,10) = (/ & &7.0466e+00_rb,6.1673e+00_rb,5.2885e+00_rb,4.4096e+00_rb,3.5315e+00_rb,2.6584e+00_rb, & &1.8463e+00_rb,1.0382e+00_rb,5.6583e-02_rb/) kao(:, 1,12,10) = (/ & &7.1591e+00_rb,6.2650e+00_rb,5.3715e+00_rb,4.4783e+00_rb,3.5872e+00_rb,2.7305e+00_rb, & &1.9173e+00_rb,1.0829e+00_rb,5.4364e-02_rb/) kao(:, 2,12,10) = (/ & &7.3899e+00_rb,6.4678e+00_rb,5.5455e+00_rb,4.6234e+00_rb,3.7023e+00_rb,2.8086e+00_rb, & &1.9670e+00_rb,1.1039e+00_rb,5.3004e-02_rb/) kao(:, 3,12,10) = (/ & &7.5932e+00_rb,6.6457e+00_rb,5.6978e+00_rb,4.7509e+00_rb,3.8044e+00_rb,2.8774e+00_rb, & &2.0093e+00_rb,1.1228e+00_rb,5.1959e-02_rb/) kao(:, 4,12,10) = (/ & &7.7612e+00_rb,6.7925e+00_rb,5.8241e+00_rb,4.8562e+00_rb,3.8890e+00_rb,2.9344e+00_rb, & &2.0429e+00_rb,1.1393e+00_rb,5.3174e-02_rb/) kao(:, 5,12,10) = (/ & &7.8969e+00_rb,6.9118e+00_rb,5.9263e+00_rb,4.9415e+00_rb,3.9571e+00_rb,2.9804e+00_rb, & &2.0685e+00_rb,1.1516e+00_rb,5.1704e-02_rb/) kao(:, 1,13,10) = (/ & &6.4705e+00_rb,5.6627e+00_rb,4.8551e+00_rb,4.0480e+00_rb,3.2529e+00_rb,2.5042e+00_rb, & &1.7607e+00_rb,9.9775e-01_rb,5.2819e-02_rb/) kao(:, 2,13,10) = (/ & &6.6649e+00_rb,5.8328e+00_rb,5.0012e+00_rb,4.1701e+00_rb,3.3469e+00_rb,2.5698e+00_rb, & &1.8026e+00_rb,1.0186e+00_rb,5.2318e-02_rb/) kao(:, 3,13,10) = (/ & &6.8320e+00_rb,5.9796e+00_rb,5.1272e+00_rb,4.2755e+00_rb,3.4276e+00_rb,2.6233e+00_rb, & &1.8383e+00_rb,1.0369e+00_rb,5.1248e-02_rb/) kao(:, 4,13,10) = (/ & &6.9674e+00_rb,6.0982e+00_rb,5.2289e+00_rb,4.3604e+00_rb,3.4933e+00_rb,2.6647e+00_rb, & &1.8662e+00_rb,1.0505e+00_rb,5.2356e-02_rb/) kao(:, 5,13,10) = (/ & &7.0874e+00_rb,6.2027e+00_rb,5.3188e+00_rb,4.4355e+00_rb,3.5528e+00_rb,2.7014e+00_rb, & &1.8899e+00_rb,1.0614e+00_rb,5.1111e-02_rb/) kao(:, 1, 1,11) = (/ & &4.6742e-03_rb,2.0279e-02_rb,3.9426e-02_rb,5.8543e-02_rb,7.7272e-02_rb,9.5241e-02_rb, & &1.1148e-01_rb,1.2235e-01_rb,1.5408e-01_rb/) kao(:, 2, 1,11) = (/ & &4.6073e-03_rb,2.0296e-02_rb,3.9412e-02_rb,5.8523e-02_rb,7.7232e-02_rb,9.5132e-02_rb, & &1.1121e-01_rb,1.2184e-01_rb,1.5399e-01_rb/) kao(:, 3, 1,11) = (/ & &4.5565e-03_rb,2.0227e-02_rb,3.9298e-02_rb,5.8356e-02_rb,7.7038e-02_rb,9.4961e-02_rb, & &1.1109e-01_rb,1.2151e-01_rb,1.5359e-01_rb/) kao(:, 4, 1,11) = (/ & &4.5047e-03_rb,2.0130e-02_rb,3.9180e-02_rb,5.8173e-02_rb,7.6772e-02_rb,9.4618e-02_rb, & &1.1074e-01_rb,1.2134e-01_rb,1.5306e-01_rb/) kao(:, 5, 1,11) = (/ & &4.4540e-03_rb,2.0027e-02_rb,3.9084e-02_rb,5.8025e-02_rb,7.6535e-02_rb,9.4251e-02_rb, & &1.1025e-01_rb,1.2116e-01_rb,1.5260e-01_rb/) kao(:, 1, 2,11) = (/ & &7.4064e-03_rb,2.2194e-02_rb,4.1767e-02_rb,6.1911e-02_rb,8.1938e-02_rb,1.0155e-01_rb, & &1.2014e-01_rb,1.3485e-01_rb,1.6319e-01_rb/) kao(:, 2, 2,11) = (/ & &7.3108e-03_rb,2.2143e-02_rb,4.1684e-02_rb,6.1877e-02_rb,8.1902e-02_rb,1.0152e-01_rb, & &1.2013e-01_rb,1.3472e-01_rb,1.6312e-01_rb/) kao(:, 3, 2,11) = (/ & &7.2232e-03_rb,2.2079e-02_rb,4.1677e-02_rb,6.1891e-02_rb,8.1918e-02_rb,1.0151e-01_rb, & &1.1999e-01_rb,1.3454e-01_rb,1.6316e-01_rb/) kao(:, 4, 2,11) = (/ & &7.1304e-03_rb,2.2033e-02_rb,4.1736e-02_rb,6.1998e-02_rb,8.2035e-02_rb,1.0158e-01_rb, & &1.1988e-01_rb,1.3411e-01_rb,1.6341e-01_rb/) kao(:, 5, 2,11) = (/ & &7.0357e-03_rb,2.1988e-02_rb,4.1742e-02_rb,6.2041e-02_rb,8.2077e-02_rb,1.0158e-01_rb, & &1.1983e-01_rb,1.3366e-01_rb,1.6350e-01_rb/) kao(:, 1, 3,11) = (/ & &1.5774e-02_rb,2.9169e-02_rb,4.5962e-02_rb,6.5827e-02_rb,8.6496e-02_rb,1.0742e-01_rb, & &1.2791e-01_rb,1.4653e-01_rb,1.7156e-01_rb/) kao(:, 2, 3,11) = (/ & &1.5614e-02_rb,2.8989e-02_rb,4.5846e-02_rb,6.5612e-02_rb,8.6438e-02_rb,1.0734e-01_rb, & &1.2776e-01_rb,1.4623e-01_rb,1.7149e-01_rb/) kao(:, 3, 3,11) = (/ & &1.5422e-02_rb,2.8825e-02_rb,4.5777e-02_rb,6.5531e-02_rb,8.6532e-02_rb,1.0747e-01_rb, & &1.2790e-01_rb,1.4632e-01_rb,1.7170e-01_rb/) kao(:, 4, 3,11) = (/ & &1.5220e-02_rb,2.8664e-02_rb,4.5718e-02_rb,6.5531e-02_rb,8.6682e-02_rb,1.0768e-01_rb, & &1.2815e-01_rb,1.4661e-01_rb,1.7201e-01_rb/) kao(:, 5, 3,11) = (/ & &1.5041e-02_rb,2.8491e-02_rb,4.5554e-02_rb,6.5387e-02_rb,8.6561e-02_rb,1.0758e-01_rb, & &1.2814e-01_rb,1.4679e-01_rb,1.7174e-01_rb/) kao(:, 1, 4,11) = (/ & &3.3773e-02_rb,4.4438e-02_rb,5.9281e-02_rb,7.3962e-02_rb,9.2405e-02_rb,1.1202e-01_rb, & &1.3347e-01_rb,1.5431e-01_rb,1.7769e-01_rb/) kao(:, 2, 4,11) = (/ & &3.3523e-02_rb,4.4307e-02_rb,5.8961e-02_rb,7.3730e-02_rb,9.2117e-02_rb,1.1213e-01_rb, & &1.3369e-01_rb,1.5450e-01_rb,1.7797e-01_rb/) kao(:, 3, 4,11) = (/ & &3.3236e-02_rb,4.4011e-02_rb,5.8687e-02_rb,7.3516e-02_rb,9.1754e-02_rb,1.1213e-01_rb, & &1.3376e-01_rb,1.5472e-01_rb,1.7805e-01_rb/) kao(:, 4, 4,11) = (/ & &3.2927e-02_rb,4.3662e-02_rb,5.8418e-02_rb,7.3212e-02_rb,9.1231e-02_rb,1.1190e-01_rb, & &1.3353e-01_rb,1.5459e-01_rb,1.7761e-01_rb/) kao(:, 5, 4,11) = (/ & &3.2628e-02_rb,4.3294e-02_rb,5.8201e-02_rb,7.2680e-02_rb,9.0434e-02_rb,1.1128e-01_rb, & &1.3281e-01_rb,1.5389e-01_rb,1.7655e-01_rb/) kao(:, 1, 5,11) = (/ & &6.5323e-02_rb,7.2628e-02_rb,8.3508e-02_rb,9.5963e-02_rb,1.0655e-01_rb,1.2020e-01_rb, & &1.3782e-01_rb,1.5923e-01_rb,1.8200e-01_rb/) kao(:, 2, 5,11) = (/ & &6.5064e-02_rb,7.2406e-02_rb,8.3203e-02_rb,9.5444e-02_rb,1.0632e-01_rb,1.1979e-01_rb, & &1.3760e-01_rb,1.5925e-01_rb,1.8207e-01_rb/) kao(:, 3, 5,11) = (/ & &6.4756e-02_rb,7.1969e-02_rb,8.2862e-02_rb,9.4908e-02_rb,1.0590e-01_rb,1.1930e-01_rb, & &1.3724e-01_rb,1.5904e-01_rb,1.8162e-01_rb/) kao(:, 4, 5,11) = (/ & &6.4304e-02_rb,7.1135e-02_rb,8.2400e-02_rb,9.4416e-02_rb,1.0531e-01_rb,1.1853e-01_rb, & &1.3656e-01_rb,1.5838e-01_rb,1.8061e-01_rb/) kao(:, 5, 5,11) = (/ & &6.3847e-02_rb,7.0072e-02_rb,8.1806e-02_rb,9.3969e-02_rb,1.0427e-01_rb,1.1735e-01_rb, & &1.3557e-01_rb,1.5724e-01_rb,1.7920e-01_rb/) kao(:, 1, 6,11) = (/ & &1.1614e-01_rb,1.1612e-01_rb,1.2461e-01_rb,1.3093e-01_rb,1.3774e-01_rb,1.4186e-01_rb, & &1.4765e-01_rb,1.6150e-01_rb,1.8364e-01_rb/) kao(:, 2, 6,11) = (/ & &1.1619e-01_rb,1.1550e-01_rb,1.2387e-01_rb,1.3036e-01_rb,1.3714e-01_rb,1.4135e-01_rb, & &1.4700e-01_rb,1.6131e-01_rb,1.8335e-01_rb/) kao(:, 3, 6,11) = (/ & &1.1615e-01_rb,1.1477e-01_rb,1.2280e-01_rb,1.2991e-01_rb,1.3667e-01_rb,1.4072e-01_rb, & &1.4596e-01_rb,1.6062e-01_rb,1.8242e-01_rb/) kao(:, 4, 6,11) = (/ & &1.1574e-01_rb,1.1387e-01_rb,1.2156e-01_rb,1.2938e-01_rb,1.3597e-01_rb,1.3977e-01_rb, & &1.4470e-01_rb,1.5943e-01_rb,1.8095e-01_rb/) kao(:, 5, 6,11) = (/ & &1.1520e-01_rb,1.1286e-01_rb,1.2034e-01_rb,1.2877e-01_rb,1.3515e-01_rb,1.3854e-01_rb, & &1.4325e-01_rb,1.5816e-01_rb,1.7948e-01_rb/) kao(:, 1, 7,11) = (/ & &2.1510e-01_rb,1.9619e-01_rb,2.0174e-01_rb,1.9935e-01_rb,1.9475e-01_rb,1.8847e-01_rb, & &1.8001e-01_rb,1.6816e-01_rb,1.8086e-01_rb/) kao(:, 2, 7,11) = (/ & &2.1625e-01_rb,1.9617e-01_rb,2.0091e-01_rb,1.9825e-01_rb,1.9429e-01_rb,1.8801e-01_rb, & &1.7902e-01_rb,1.6736e-01_rb,1.8038e-01_rb/) kao(:, 3, 7,11) = (/ & &2.1700e-01_rb,1.9569e-01_rb,1.9979e-01_rb,1.9686e-01_rb,1.9372e-01_rb,1.8767e-01_rb, & &1.7767e-01_rb,1.6608e-01_rb,1.7932e-01_rb/) kao(:, 4, 7,11) = (/ & &2.1676e-01_rb,1.9471e-01_rb,1.9847e-01_rb,1.9536e-01_rb,1.9293e-01_rb,1.8720e-01_rb, & &1.7635e-01_rb,1.6450e-01_rb,1.7799e-01_rb/) kao(:, 5, 7,11) = (/ & &2.1625e-01_rb,1.9358e-01_rb,1.9672e-01_rb,1.9373e-01_rb,1.9213e-01_rb,1.8631e-01_rb, & &1.7483e-01_rb,1.6262e-01_rb,1.7662e-01_rb/) kao(:, 1, 8,11) = (/ & &4.6382e-01_rb,4.0807e-01_rb,3.7899e-01_rb,3.5840e-01_rb,3.2915e-01_rb,2.9613e-01_rb, & &2.5854e-01_rb,2.1154e-01_rb,1.7388e-01_rb/) kao(:, 2, 8,11) = (/ & &4.6803e-01_rb,4.1204e-01_rb,3.7966e-01_rb,3.5758e-01_rb,3.2785e-01_rb,2.9605e-01_rb, & &2.5875e-01_rb,2.1026e-01_rb,1.7332e-01_rb/) kao(:, 3, 8,11) = (/ & &4.7076e-01_rb,4.1406e-01_rb,3.7922e-01_rb,3.5601e-01_rb,3.2603e-01_rb,2.9561e-01_rb, & &2.5861e-01_rb,2.0864e-01_rb,1.7242e-01_rb/) kao(:, 4, 8,11) = (/ & &4.7155e-01_rb,4.1450e-01_rb,3.7727e-01_rb,3.5413e-01_rb,3.2392e-01_rb,2.9447e-01_rb, & &2.5827e-01_rb,2.0694e-01_rb,1.7120e-01_rb/) kao(:, 5, 8,11) = (/ & &4.7233e-01_rb,4.1516e-01_rb,3.7581e-01_rb,3.5208e-01_rb,3.2176e-01_rb,2.9332e-01_rb, & &2.5728e-01_rb,2.0514e-01_rb,1.7042e-01_rb/) kao(:, 1, 9,11) = (/ & &1.8678e+00_rb,1.6362e+00_rb,1.4048e+00_rb,1.1793e+00_rb,9.9438e-01_rb,8.2136e-01_rb, & &6.2834e-01_rb,4.2034e-01_rb,1.6334e-01_rb/) kao(:, 2, 9,11) = (/ & &1.8906e+00_rb,1.6563e+00_rb,1.4224e+00_rb,1.1919e+00_rb,9.9937e-01_rb,8.2259e-01_rb, & &6.2713e-01_rb,4.2292e-01_rb,1.6311e-01_rb/) kao(:, 3, 9,11) = (/ & &1.9044e+00_rb,1.6682e+00_rb,1.4321e+00_rb,1.1983e+00_rb,1.0002e+00_rb,8.2124e-01_rb, & &6.2419e-01_rb,4.2359e-01_rb,1.6249e-01_rb/) kao(:, 4, 9,11) = (/ & &1.9121e+00_rb,1.6748e+00_rb,1.4376e+00_rb,1.2016e+00_rb,9.9779e-01_rb,8.1901e-01_rb, & &6.2159e-01_rb,4.2327e-01_rb,1.6166e-01_rb/) kao(:, 5, 9,11) = (/ & &1.9224e+00_rb,1.6839e+00_rb,1.4454e+00_rb,1.2078e+00_rb,9.9866e-01_rb,8.1827e-01_rb, & &6.1893e-01_rb,4.2245e-01_rb,1.6163e-01_rb/) kao(:, 1,10,11) = (/ & &8.3490e+00_rb,7.3068e+00_rb,6.2652e+00_rb,5.2233e+00_rb,4.1816e+00_rb,3.1407e+00_rb, & &2.1527e+00_rb,1.2369e+00_rb,1.2697e-01_rb/) kao(:, 2,10,11) = (/ & &8.4604e+00_rb,7.4045e+00_rb,6.3492e+00_rb,5.2936e+00_rb,4.2378e+00_rb,3.1825e+00_rb, & &2.1701e+00_rb,1.2392e+00_rb,1.2746e-01_rb/) kao(:, 3,10,11) = (/ & &8.5299e+00_rb,7.4655e+00_rb,6.4008e+00_rb,5.3364e+00_rb,4.2721e+00_rb,3.2084e+00_rb, & &2.1800e+00_rb,1.2385e+00_rb,1.2876e-01_rb/) kao(:, 4,10,11) = (/ & &8.6037e+00_rb,7.5302e+00_rb,6.4564e+00_rb,5.3827e+00_rb,4.3093e+00_rb,3.2362e+00_rb, & &2.1902e+00_rb,1.2373e+00_rb,1.3016e-01_rb/) kao(:, 5,10,11) = (/ & &8.6811e+00_rb,7.5976e+00_rb,6.5142e+00_rb,5.4315e+00_rb,4.3481e+00_rb,3.2657e+00_rb, & &2.2039e+00_rb,1.2408e+00_rb,1.3327e-01_rb/) kao(:, 1,11,11) = (/ & &1.2908e+01_rb,1.1296e+01_rb,9.6842e+00_rb,8.0726e+00_rb,6.4609e+00_rb,4.8491e+00_rb, & &3.2606e+00_rb,1.7969e+00_rb,1.0870e-01_rb/) kao(:, 2,11,11) = (/ & &1.3081e+01_rb,1.1447e+01_rb,9.8136e+00_rb,8.1796e+00_rb,6.5463e+00_rb,4.9136e+00_rb, & &3.2978e+00_rb,1.8090e+00_rb,1.0807e-01_rb/) kao(:, 3,11,11) = (/ & &1.3247e+01_rb,1.1593e+01_rb,9.9386e+00_rb,8.2843e+00_rb,6.6304e+00_rb,4.9764e+00_rb, & &3.3344e+00_rb,1.8186e+00_rb,1.0723e-01_rb/) kao(:, 4,11,11) = (/ & &1.3412e+01_rb,1.1737e+01_rb,1.0062e+01_rb,8.3876e+00_rb,6.7133e+00_rb,5.0389e+00_rb, & &3.3728e+00_rb,1.8302e+00_rb,1.0582e-01_rb/) kao(:, 5,11,11) = (/ & &1.3565e+01_rb,1.1871e+01_rb,1.0177e+01_rb,8.4837e+00_rb,6.7902e+00_rb,5.0972e+00_rb, & &3.4088e+00_rb,1.8416e+00_rb,1.0800e-01_rb/) kao(:, 1,12,11) = (/ & &1.4642e+01_rb,1.2812e+01_rb,1.0983e+01_rb,9.1554e+00_rb,7.3265e+00_rb,5.4974e+00_rb, & &3.7020e+00_rb,2.0284e+00_rb,8.2662e-02_rb/) kao(:, 2,12,11) = (/ & &1.4885e+01_rb,1.3026e+01_rb,1.1167e+01_rb,9.3078e+00_rb,7.4487e+00_rb,5.5898e+00_rb, & &3.7559e+00_rb,2.0497e+00_rb,8.1390e-02_rb/) kao(:, 3,12,11) = (/ & &1.5119e+01_rb,1.3231e+01_rb,1.1343e+01_rb,9.4543e+00_rb,7.5661e+00_rb,5.6785e+00_rb, & &3.8088e+00_rb,2.0698e+00_rb,8.0357e-02_rb/) kao(:, 4,12,11) = (/ & &1.5358e+01_rb,1.3440e+01_rb,1.1522e+01_rb,9.6047e+00_rb,7.6867e+00_rb,5.7694e+00_rb, & &3.8642e+00_rb,2.0905e+00_rb,7.9812e-02_rb/) kao(:, 5,12,11) = (/ & &1.5578e+01_rb,1.3633e+01_rb,1.1688e+01_rb,9.7428e+00_rb,7.7978e+00_rb,5.8532e+00_rb, & &3.9171e+00_rb,2.1122e+00_rb,8.2952e-02_rb/) kao(:, 1,13,11) = (/ & &1.3181e+01_rb,1.1536e+01_rb,9.8891e+00_rb,8.2428e+00_rb,6.5963e+00_rb,4.9547e+00_rb, & &3.3878e+00_rb,1.8779e+00_rb,8.5930e-02_rb/) kao(:, 2,13,11) = (/ & &1.3431e+01_rb,1.1753e+01_rb,1.0076e+01_rb,8.3993e+00_rb,6.7218e+00_rb,5.0463e+00_rb, & &3.4400e+00_rb,1.9003e+00_rb,8.2789e-02_rb/) kao(:, 3,13,11) = (/ & &1.3694e+01_rb,1.1985e+01_rb,1.0274e+01_rb,8.5642e+00_rb,6.8544e+00_rb,5.1452e+00_rb, & &3.4940e+00_rb,1.9250e+00_rb,8.1321e-02_rb/) kao(:, 4,13,11) = (/ & &1.3957e+01_rb,1.2214e+01_rb,1.0471e+01_rb,8.7279e+00_rb,6.9861e+00_rb,5.2450e+00_rb, & &3.5504e+00_rb,1.9524e+00_rb,7.8953e-02_rb/) kao(:, 5,13,11) = (/ & &1.4201e+01_rb,1.2428e+01_rb,1.0655e+01_rb,8.8819e+00_rb,7.1097e+00_rb,5.3381e+00_rb, & &3.6055e+00_rb,1.9785e+00_rb,8.1036e-02_rb/) kao(:, 1, 1,12) = (/ & &6.5787e-03_rb,2.6236e-02_rb,5.1362e-02_rb,7.6305e-02_rb,1.0073e-01_rb,1.2420e-01_rb, & &1.4556e-01_rb,1.6001e-01_rb,2.0088e-01_rb/) kao(:, 2, 1,12) = (/ & &6.5355e-03_rb,2.5963e-02_rb,5.1031e-02_rb,7.5853e-02_rb,1.0014e-01_rb,1.2346e-01_rb, & &1.4463e-01_rb,1.5894e-01_rb,1.9973e-01_rb/) kao(:, 3, 1,12) = (/ & &6.4519e-03_rb,2.5842e-02_rb,5.0885e-02_rb,7.5629e-02_rb,9.9804e-02_rb,1.2294e-01_rb, & &1.4394e-01_rb,1.5802e-01_rb,1.9913e-01_rb/) kao(:, 4, 1,12) = (/ & &6.3508e-03_rb,2.5827e-02_rb,5.0889e-02_rb,7.5643e-02_rb,9.9816e-02_rb,1.2289e-01_rb, & &1.4367e-01_rb,1.5727e-01_rb,1.9918e-01_rb/) kao(:, 5, 1,12) = (/ & &6.2468e-03_rb,2.5824e-02_rb,5.0882e-02_rb,7.5643e-02_rb,9.9840e-02_rb,1.2300e-01_rb, & &1.4386e-01_rb,1.5674e-01_rb,1.9923e-01_rb/) kao(:, 1, 2,12) = (/ & &1.0416e-02_rb,2.8932e-02_rb,5.5152e-02_rb,8.2023e-02_rb,1.0846e-01_rb,1.3404e-01_rb, & &1.5780e-01_rb,1.7629e-01_rb,2.1619e-01_rb/) kao(:, 2, 2,12) = (/ & &1.0342e-02_rb,2.8637e-02_rb,5.4892e-02_rb,8.1654e-02_rb,1.0796e-01_rb,1.3340e-01_rb, & &1.5695e-01_rb,1.7507e-01_rb,2.1532e-01_rb/) kao(:, 3, 2,12) = (/ & &1.0224e-02_rb,2.8457e-02_rb,5.4759e-02_rb,8.1469e-02_rb,1.0772e-01_rb,1.3310e-01_rb, & &1.5656e-01_rb,1.7435e-01_rb,2.1487e-01_rb/) kao(:, 4, 2,12) = (/ & &1.0091e-02_rb,2.8318e-02_rb,5.4670e-02_rb,8.1344e-02_rb,1.0759e-01_rb,1.3299e-01_rb, & &1.5649e-01_rb,1.7414e-01_rb,2.1459e-01_rb/) kao(:, 5, 2,12) = (/ & &9.9570e-03_rb,2.8146e-02_rb,5.4539e-02_rb,8.1138e-02_rb,1.0736e-01_rb,1.3278e-01_rb, & &1.5638e-01_rb,1.7422e-01_rb,2.1411e-01_rb/) kao(:, 1, 3,12) = (/ & &2.2302e-02_rb,3.7417e-02_rb,6.1097e-02_rb,8.8747e-02_rb,1.1756e-01_rb,1.4593e-01_rb, & &1.7314e-01_rb,1.9636e-01_rb,2.3403e-01_rb/) kao(:, 2, 3,12) = (/ & &2.2117e-02_rb,3.6950e-02_rb,6.0557e-02_rb,8.8385e-02_rb,1.1711e-01_rb,1.4537e-01_rb, & &1.7254e-01_rb,1.9566e-01_rb,2.3319e-01_rb/) kao(:, 3, 3,12) = (/ & &2.1903e-02_rb,3.6596e-02_rb,6.0142e-02_rb,8.8214e-02_rb,1.1684e-01_rb,1.4504e-01_rb, & &1.7207e-01_rb,1.9507e-01_rb,2.3270e-01_rb/) kao(:, 4, 3,12) = (/ & &2.1706e-02_rb,3.6379e-02_rb,5.9779e-02_rb,8.7937e-02_rb,1.1644e-01_rb,1.4454e-01_rb, & &1.7162e-01_rb,1.9475e-01_rb,2.3180e-01_rb/) kao(:, 5, 3,12) = (/ & &2.1485e-02_rb,3.6152e-02_rb,5.9419e-02_rb,8.7609e-02_rb,1.1597e-01_rb,1.4392e-01_rb, & &1.7083e-01_rb,1.9407e-01_rb,2.3079e-01_rb/) kao(:, 1, 4,12) = (/ & &4.8787e-02_rb,6.0363e-02_rb,7.6958e-02_rb,9.9608e-02_rb,1.2651e-01_rb,1.5698e-01_rb, & &1.8722e-01_rb,2.1554e-01_rb,2.5046e-01_rb/) kao(:, 2, 4,12) = (/ & &4.8476e-02_rb,5.9621e-02_rb,7.6177e-02_rb,9.8903e-02_rb,1.2601e-01_rb,1.5644e-01_rb, & &1.8652e-01_rb,2.1472e-01_rb,2.4963e-01_rb/) kao(:, 3, 4,12) = (/ & &4.8022e-02_rb,5.9054e-02_rb,7.5570e-02_rb,9.8295e-02_rb,1.2578e-01_rb,1.5620e-01_rb, & &1.8618e-01_rb,2.1420e-01_rb,2.4913e-01_rb/) kao(:, 4, 4,12) = (/ & &4.7565e-02_rb,5.8399e-02_rb,7.5073e-02_rb,9.7780e-02_rb,1.2559e-01_rb,1.5591e-01_rb, & &1.8579e-01_rb,2.1367e-01_rb,2.4858e-01_rb/) kao(:, 5, 4,12) = (/ & &4.7078e-02_rb,5.7702e-02_rb,7.4506e-02_rb,9.7303e-02_rb,1.2546e-01_rb,1.5568e-01_rb, & &1.8546e-01_rb,2.1318e-01_rb,2.4815e-01_rb/) kao(:, 1, 5,12) = (/ & &9.7499e-02_rb,9.8718e-02_rb,1.1395e-01_rb,1.2710e-01_rb,1.4448e-01_rb,1.6872e-01_rb, & &1.9875e-01_rb,2.3006e-01_rb,2.6441e-01_rb/) kao(:, 2, 5,12) = (/ & &9.6942e-02_rb,9.7852e-02_rb,1.1233e-01_rb,1.2606e-01_rb,1.4347e-01_rb,1.6785e-01_rb, & &1.9829e-01_rb,2.2956e-01_rb,2.6367e-01_rb/) kao(:, 3, 5,12) = (/ & &9.6111e-02_rb,9.7066e-02_rb,1.1087e-01_rb,1.2520e-01_rb,1.4264e-01_rb,1.6720e-01_rb, & &1.9804e-01_rb,2.2914e-01_rb,2.6333e-01_rb/) kao(:, 4, 5,12) = (/ & &9.5331e-02_rb,9.6285e-02_rb,1.0984e-01_rb,1.2440e-01_rb,1.4205e-01_rb,1.6680e-01_rb, & &1.9797e-01_rb,2.2895e-01_rb,2.6319e-01_rb/) kao(:, 5, 5,12) = (/ & &9.4443e-02_rb,9.5498e-02_rb,1.0898e-01_rb,1.2351e-01_rb,1.4175e-01_rb,1.6646e-01_rb, & &1.9775e-01_rb,2.2870e-01_rb,2.6275e-01_rb/) kao(:, 1, 6,12) = (/ & &1.8140e-01_rb,1.6408e-01_rb,1.7552e-01_rb,1.8196e-01_rb,1.8674e-01_rb,1.9489e-01_rb, & &2.1183e-01_rb,2.4078e-01_rb,2.7512e-01_rb/) kao(:, 2, 6,12) = (/ & &1.8064e-01_rb,1.6323e-01_rb,1.7439e-01_rb,1.7956e-01_rb,1.8547e-01_rb,1.9334e-01_rb, & &2.1068e-01_rb,2.4042e-01_rb,2.7473e-01_rb/) kao(:, 3, 6,12) = (/ & &1.7939e-01_rb,1.6216e-01_rb,1.7344e-01_rb,1.7751e-01_rb,1.8404e-01_rb,1.9207e-01_rb, & &2.1020e-01_rb,2.4067e-01_rb,2.7502e-01_rb/) kao(:, 4, 6,12) = (/ & &1.7796e-01_rb,1.6097e-01_rb,1.7233e-01_rb,1.7595e-01_rb,1.8277e-01_rb,1.9147e-01_rb, & &2.0971e-01_rb,2.4067e-01_rb,2.7492e-01_rb/) kao(:, 5, 6,12) = (/ & &1.7632e-01_rb,1.5943e-01_rb,1.7056e-01_rb,1.7456e-01_rb,1.8167e-01_rb,1.9081e-01_rb, & &2.0890e-01_rb,2.4019e-01_rb,2.7421e-01_rb/) kao(:, 1, 7,12) = (/ & &3.5379e-01_rb,3.1064e-01_rb,2.9565e-01_rb,2.8816e-01_rb,2.7694e-01_rb,2.6472e-01_rb, & &2.4939e-01_rb,2.5136e-01_rb,2.8304e-01_rb/) kao(:, 2, 7,12) = (/ & &3.5306e-01_rb,3.1059e-01_rb,2.9503e-01_rb,2.8682e-01_rb,2.7447e-01_rb,2.6248e-01_rb, & &2.4787e-01_rb,2.5077e-01_rb,2.8333e-01_rb/) kao(:, 3, 7,12) = (/ & &3.5170e-01_rb,3.1024e-01_rb,2.9413e-01_rb,2.8605e-01_rb,2.7226e-01_rb,2.6030e-01_rb, & &2.4686e-01_rb,2.5055e-01_rb,2.8358e-01_rb/) kao(:, 4, 7,12) = (/ & &3.4988e-01_rb,3.0935e-01_rb,2.9228e-01_rb,2.8440e-01_rb,2.7034e-01_rb,2.5822e-01_rb, & &2.4645e-01_rb,2.4996e-01_rb,2.8315e-01_rb/) kao(:, 5, 7,12) = (/ & &3.4759e-01_rb,3.0773e-01_rb,2.8986e-01_rb,2.8199e-01_rb,2.6823e-01_rb,2.5660e-01_rb, & &2.4547e-01_rb,2.4917e-01_rb,2.8239e-01_rb/) kao(:, 1, 8,12) = (/ & &8.0496e-01_rb,7.0527e-01_rb,6.0910e-01_rb,5.5199e-01_rb,5.0022e-01_rb,4.3776e-01_rb, & &3.7465e-01_rb,3.0063e-01_rb,2.8877e-01_rb/) kao(:, 2, 8,12) = (/ & &8.0672e-01_rb,7.0707e-01_rb,6.1070e-01_rb,5.5311e-01_rb,5.0061e-01_rb,4.3582e-01_rb, & &3.7176e-01_rb,2.9952e-01_rb,2.8902e-01_rb/) kao(:, 3, 8,12) = (/ & &8.0691e-01_rb,7.0823e-01_rb,6.1191e-01_rb,5.5364e-01_rb,5.0004e-01_rb,4.3422e-01_rb, & &3.6951e-01_rb,2.9892e-01_rb,2.8876e-01_rb/) kao(:, 4, 8,12) = (/ & &8.0527e-01_rb,7.0753e-01_rb,6.1153e-01_rb,5.5173e-01_rb,4.9853e-01_rb,4.3157e-01_rb, & &3.6699e-01_rb,2.9815e-01_rb,2.8834e-01_rb/) kao(:, 5, 8,12) = (/ & &8.0219e-01_rb,7.0523e-01_rb,6.0964e-01_rb,5.4776e-01_rb,4.9536e-01_rb,4.2816e-01_rb, & &3.6486e-01_rb,2.9693e-01_rb,2.8675e-01_rb/) kao(:, 1, 9,12) = (/ & &3.4182e+00_rb,2.9916e+00_rb,2.5652e+00_rb,2.1389e+00_rb,1.7153e+00_rb,1.3419e+00_rb, & &1.0101e+00_rb,6.4726e-01_rb,2.8926e-01_rb/) kao(:, 2, 9,12) = (/ & &3.4411e+00_rb,3.0119e+00_rb,2.5830e+00_rb,2.1544e+00_rb,1.7278e+00_rb,1.3490e+00_rb, & &1.0168e+00_rb,6.4570e-01_rb,2.8901e-01_rb/) kao(:, 3, 9,12) = (/ & &3.4584e+00_rb,3.0278e+00_rb,2.5976e+00_rb,2.1679e+00_rb,1.7392e+00_rb,1.3535e+00_rb, & &1.0208e+00_rb,6.4462e-01_rb,2.8863e-01_rb/) kao(:, 4, 9,12) = (/ & &3.4643e+00_rb,3.0337e+00_rb,2.6033e+00_rb,2.1735e+00_rb,1.7445e+00_rb,1.3538e+00_rb, & &1.0204e+00_rb,6.4174e-01_rb,2.8774e-01_rb/) kao(:, 5, 9,12) = (/ & &3.4625e+00_rb,3.0324e+00_rb,2.6029e+00_rb,2.1736e+00_rb,1.7453e+00_rb,1.3500e+00_rb, & &1.0152e+00_rb,6.3782e-01_rb,2.8595e-01_rb/) kao(:, 1,10,12) = (/ & &1.6048e+01_rb,1.4043e+01_rb,1.2038e+01_rb,1.0032e+01_rb,8.0269e+00_rb,6.0216e+00_rb, & &4.0164e+00_rb,2.1217e+00_rb,2.8227e-01_rb/) kao(:, 2,10,12) = (/ & &1.6256e+01_rb,1.4226e+01_rb,1.2195e+01_rb,1.0164e+01_rb,8.1333e+00_rb,6.1029e+00_rb, & &4.0729e+00_rb,2.1442e+00_rb,2.8170e-01_rb/) kao(:, 3,10,12) = (/ & &1.6399e+01_rb,1.4351e+01_rb,1.2303e+01_rb,1.0255e+01_rb,8.2073e+00_rb,6.1596e+00_rb, & &4.1123e+00_rb,2.1594e+00_rb,2.8134e-01_rb/) kao(:, 4,10,12) = (/ & &1.6465e+01_rb,1.4409e+01_rb,1.2353e+01_rb,1.0297e+01_rb,8.2414e+00_rb,6.1861e+00_rb, & &4.1319e+00_rb,2.1644e+00_rb,2.8049e-01_rb/) kao(:, 5,10,12) = (/ & &1.6472e+01_rb,1.4416e+01_rb,1.2359e+01_rb,1.0303e+01_rb,8.2464e+00_rb,6.1909e+00_rb, & &4.1366e+00_rb,2.1582e+00_rb,2.7905e-01_rb/) kao(:, 1,11,12) = (/ & &2.6190e+01_rb,2.2917e+01_rb,1.9644e+01_rb,1.6372e+01_rb,1.3098e+01_rb,9.8258e+00_rb, & &6.5533e+00_rb,3.3347e+00_rb,2.0130e-01_rb/) kao(:, 2,11,12) = (/ & &2.6572e+01_rb,2.3252e+01_rb,1.9932e+01_rb,1.6612e+01_rb,1.3292e+01_rb,9.9715e+00_rb, & &6.6522e+00_rb,3.3768e+00_rb,2.0375e-01_rb/) kao(:, 3,11,12) = (/ & &2.6794e+01_rb,2.3447e+01_rb,2.0099e+01_rb,1.6751e+01_rb,1.3404e+01_rb,1.0057e+01_rb, & &6.7102e+00_rb,3.4019e+00_rb,2.0648e-01_rb/) kao(:, 4,11,12) = (/ & &2.6905e+01_rb,2.3544e+01_rb,2.0183e+01_rb,1.6822e+01_rb,1.3461e+01_rb,1.0100e+01_rb, & &6.7401e+00_rb,3.4102e+00_rb,2.0903e-01_rb/) kao(:, 5,11,12) = (/ & &2.6968e+01_rb,2.3599e+01_rb,2.0230e+01_rb,1.6860e+01_rb,1.3492e+01_rb,1.0123e+01_rb, & &6.7556e+00_rb,3.4122e+00_rb,2.1045e-01_rb/) kao(:, 1,12,12) = (/ & &3.1310e+01_rb,2.7398e+01_rb,2.3484e+01_rb,1.9572e+01_rb,1.5659e+01_rb,1.1747e+01_rb, & &7.8342e+00_rb,3.9879e+00_rb,1.6283e-01_rb/) kao(:, 2,12,12) = (/ & &3.1751e+01_rb,2.7784e+01_rb,2.3816e+01_rb,1.9849e+01_rb,1.5882e+01_rb,1.1914e+01_rb, & &7.9470e+00_rb,4.0341e+00_rb,1.6415e-01_rb/) kao(:, 3,12,12) = (/ & &3.2043e+01_rb,2.8038e+01_rb,2.4036e+01_rb,2.0032e+01_rb,1.6028e+01_rb,1.2025e+01_rb, & &8.0217e+00_rb,4.0620e+00_rb,1.6794e-01_rb/) kao(:, 4,12,12) = (/ & &3.2220e+01_rb,2.8195e+01_rb,2.4168e+01_rb,2.0143e+01_rb,1.6116e+01_rb,1.2091e+01_rb, & &8.0659e+00_rb,4.0753e+00_rb,1.6850e-01_rb/) kao(:, 5,12,12) = (/ & &3.2373e+01_rb,2.8329e+01_rb,2.4283e+01_rb,2.0239e+01_rb,1.6193e+01_rb,1.2149e+01_rb, & &8.1043e+00_rb,4.0871e+00_rb,1.6988e-01_rb/) kao(:, 1,13,12) = (/ & &2.9544e+01_rb,2.5852e+01_rb,2.2161e+01_rb,1.8469e+01_rb,1.4777e+01_rb,1.1085e+01_rb, & &7.3931e+00_rb,3.8439e+00_rb,1.2880e-01_rb/) kao(:, 2,13,12) = (/ & &2.9974e+01_rb,2.6228e+01_rb,2.2483e+01_rb,1.8737e+01_rb,1.4992e+01_rb,1.1247e+01_rb, & &7.5021e+00_rb,3.8830e+00_rb,1.3338e-01_rb/) kao(:, 3,13,12) = (/ & &3.0254e+01_rb,2.6474e+01_rb,2.2694e+01_rb,1.8912e+01_rb,1.5132e+01_rb,1.1352e+01_rb, & &7.5719e+00_rb,3.9004e+00_rb,1.3721e-01_rb/) kao(:, 4,13,12) = (/ & &3.0504e+01_rb,2.6693e+01_rb,2.2881e+01_rb,1.9069e+01_rb,1.5258e+01_rb,1.1446e+01_rb, & &7.6348e+00_rb,3.9163e+00_rb,1.3871e-01_rb/) kao(:, 5,13,12) = (/ & &3.0781e+01_rb,2.6934e+01_rb,2.3088e+01_rb,1.9241e+01_rb,1.5395e+01_rb,1.1550e+01_rb, & &7.7042e+00_rb,3.9392e+00_rb,1.4036e-01_rb/) kao(:, 1, 1,13) = (/ & &9.0088e-03_rb,3.7171e-02_rb,7.3185e-02_rb,1.0841e-01_rb,1.4222e-01_rb,1.7328e-01_rb, & &1.9823e-01_rb,2.0424e-01_rb,2.8396e-01_rb/) kao(:, 2, 1,13) = (/ & &8.8070e-03_rb,3.7017e-02_rb,7.2761e-02_rb,1.0769e-01_rb,1.4122e-01_rb,1.7208e-01_rb, & &1.9703e-01_rb,2.0324e-01_rb,2.8185e-01_rb/) kao(:, 3, 1,13) = (/ & &8.6641e-03_rb,3.6729e-02_rb,7.2126e-02_rb,1.0675e-01_rb,1.4002e-01_rb,1.7072e-01_rb, & &1.9555e-01_rb,2.0207e-01_rb,2.7936e-01_rb/) kao(:, 4, 1,13) = (/ & &8.5351e-03_rb,3.6304e-02_rb,7.1373e-02_rb,1.0562e-01_rb,1.3853e-01_rb,1.6891e-01_rb, & &1.9361e-01_rb,2.0011e-01_rb,2.7631e-01_rb/) kao(:, 5, 1,13) = (/ & &8.4180e-03_rb,3.5892e-02_rb,7.0613e-02_rb,1.0456e-01_rb,1.3716e-01_rb,1.6725e-01_rb, & &1.9159e-01_rb,1.9822e-01_rb,2.7366e-01_rb/) kao(:, 1, 2,13) = (/ & &1.4629e-02_rb,4.1401e-02_rb,8.1344e-02_rb,1.2092e-01_rb,1.5970e-01_rb,1.9686e-01_rb, & &2.3007e-01_rb,2.4893e-01_rb,3.1872e-01_rb/) kao(:, 2, 2,13) = (/ & &1.4347e-02_rb,4.1149e-02_rb,8.0754e-02_rb,1.2000e-01_rb,1.5844e-01_rb,1.9525e-01_rb, & &2.2811e-01_rb,2.4701e-01_rb,3.1592e-01_rb/) kao(:, 3, 2,13) = (/ & &1.4116e-02_rb,4.0731e-02_rb,7.9979e-02_rb,1.1881e-01_rb,1.5685e-01_rb,1.9333e-01_rb, & &2.2600e-01_rb,2.4518e-01_rb,3.1267e-01_rb/) kao(:, 4, 2,13) = (/ & &1.3916e-02_rb,4.0235e-02_rb,7.9131e-02_rb,1.1757e-01_rb,1.5518e-01_rb,1.9122e-01_rb, & &2.2354e-01_rb,2.4260e-01_rb,3.0926e-01_rb/) kao(:, 5, 2,13) = (/ & &1.3712e-02_rb,3.9826e-02_rb,7.8358e-02_rb,1.1644e-01_rb,1.5370e-01_rb,1.8938e-01_rb, & &2.2131e-01_rb,2.4017e-01_rb,3.0647e-01_rb/) kao(:, 1, 3,13) = (/ & &3.2046e-02_rb,5.1387e-02_rb,8.9167e-02_rb,1.3251e-01_rb,1.7557e-01_rb,2.1798e-01_rb, & &2.5867e-01_rb,2.9276e-01_rb,3.4967e-01_rb/) kao(:, 2, 3,13) = (/ & &3.1484e-02_rb,5.0885e-02_rb,8.8511e-02_rb,1.3146e-01_rb,1.7409e-01_rb,2.1604e-01_rb, & &2.5621e-01_rb,2.8967e-01_rb,3.4641e-01_rb/) kao(:, 3, 3,13) = (/ & &3.1011e-02_rb,5.0194e-02_rb,8.7651e-02_rb,1.3011e-01_rb,1.7226e-01_rb,2.1375e-01_rb, & &2.5357e-01_rb,2.8697e-01_rb,3.4255e-01_rb/) kao(:, 4, 3,13) = (/ & &3.0595e-02_rb,4.9306e-02_rb,8.6747e-02_rb,1.2888e-01_rb,1.7065e-01_rb,2.1172e-01_rb, & &2.5094e-01_rb,2.8374e-01_rb,3.3932e-01_rb/) kao(:, 5, 3,13) = (/ & &3.0114e-02_rb,4.8480e-02_rb,8.6058e-02_rb,1.2788e-01_rb,1.6935e-01_rb,2.1010e-01_rb, & &2.4901e-01_rb,2.8126e-01_rb,3.3697e-01_rb/) kao(:, 1, 4,13) = (/ & &7.1437e-02_rb,7.9531e-02_rb,1.0765e-01_rb,1.4496e-01_rb,1.9060e-01_rb,2.3699e-01_rb, & &2.8255e-01_rb,3.2483e-01_rb,3.7856e-01_rb/) kao(:, 2, 4,13) = (/ & &7.0222e-02_rb,7.8795e-02_rb,1.0643e-01_rb,1.4338e-01_rb,1.8881e-01_rb,2.3460e-01_rb, & &2.7960e-01_rb,3.2131e-01_rb,3.7439e-01_rb/) kao(:, 3, 4,13) = (/ & &6.9262e-02_rb,7.7852e-02_rb,1.0486e-01_rb,1.4165e-01_rb,1.8684e-01_rb,2.3207e-01_rb, & &2.7650e-01_rb,3.1773e-01_rb,3.7008e-01_rb/) kao(:, 4, 4,13) = (/ & &6.8383e-02_rb,7.7009e-02_rb,1.0310e-01_rb,1.4004e-01_rb,1.8506e-01_rb,2.2994e-01_rb, & &2.7397e-01_rb,3.1473e-01_rb,3.6682e-01_rb/) kao(:, 5, 4,13) = (/ & &6.7482e-02_rb,7.6264e-02_rb,1.0166e-01_rb,1.3889e-01_rb,1.8370e-01_rb,2.2828e-01_rb, & &2.7201e-01_rb,3.1244e-01_rb,3.6430e-01_rb/) kao(:, 1, 5,13) = (/ & &1.4624e-01_rb,1.3361e-01_rb,1.5693e-01_rb,1.7752e-01_rb,2.1095e-01_rb,2.5537e-01_rb, & &3.0486e-01_rb,3.5270e-01_rb,4.0651e-01_rb/) kao(:, 2, 5,13) = (/ & &1.4398e-01_rb,1.3165e-01_rb,1.5512e-01_rb,1.7519e-01_rb,2.0814e-01_rb,2.5302e-01_rb, & &3.0184e-01_rb,3.4895e-01_rb,4.0217e-01_rb/) kao(:, 3, 5,13) = (/ & &1.4207e-01_rb,1.3000e-01_rb,1.5346e-01_rb,1.7248e-01_rb,2.0524e-01_rb,2.5056e-01_rb, & &2.9880e-01_rb,3.4528e-01_rb,3.9789e-01_rb/) kao(:, 4, 5,13) = (/ & &1.4038e-01_rb,1.2884e-01_rb,1.5157e-01_rb,1.6985e-01_rb,2.0246e-01_rb,2.4823e-01_rb, & &2.9613e-01_rb,3.4225e-01_rb,3.9462e-01_rb/) kao(:, 5, 5,13) = (/ & &1.3874e-01_rb,1.2784e-01_rb,1.4941e-01_rb,1.6780e-01_rb,2.0033e-01_rb,2.4657e-01_rb, & &2.9417e-01_rb,3.3986e-01_rb,3.9218e-01_rb/) kao(:, 1, 6,13) = (/ & &2.8046e-01_rb,2.4640e-01_rb,2.4558e-01_rb,2.5477e-01_rb,2.6318e-01_rb,2.8661e-01_rb, & &3.2769e-01_rb,3.7985e-01_rb,4.3568e-01_rb/) kao(:, 2, 6,13) = (/ & &2.7643e-01_rb,2.4318e-01_rb,2.4273e-01_rb,2.5156e-01_rb,2.5913e-01_rb,2.8275e-01_rb, & &3.2478e-01_rb,3.7621e-01_rb,4.3126e-01_rb/) kao(:, 3, 6,13) = (/ & &2.7290e-01_rb,2.4050e-01_rb,2.4016e-01_rb,2.4894e-01_rb,2.5526e-01_rb,2.7880e-01_rb, & &3.2177e-01_rb,3.7266e-01_rb,4.2706e-01_rb/) kao(:, 4, 6,13) = (/ & &2.7013e-01_rb,2.3869e-01_rb,2.3760e-01_rb,2.4573e-01_rb,2.5166e-01_rb,2.7510e-01_rb, & &3.1929e-01_rb,3.6982e-01_rb,4.2412e-01_rb/) kao(:, 5, 6,13) = (/ & &2.6724e-01_rb,2.3701e-01_rb,2.3563e-01_rb,2.4210e-01_rb,2.4866e-01_rb,2.7240e-01_rb, & &3.1774e-01_rb,3.6799e-01_rb,4.2206e-01_rb/) kao(:, 1, 7,13) = (/ & &5.6688e-01_rb,4.9674e-01_rb,4.3519e-01_rb,4.2029e-01_rb,3.9894e-01_rb,3.7594e-01_rb, & &3.7424e-01_rb,4.0700e-01_rb,4.6486e-01_rb/) kao(:, 2, 7,13) = (/ & &5.6062e-01_rb,4.9147e-01_rb,4.2917e-01_rb,4.1552e-01_rb,3.9325e-01_rb,3.7043e-01_rb, & &3.6935e-01_rb,4.0348e-01_rb,4.6044e-01_rb/) kao(:, 3, 7,13) = (/ & &5.5419e-01_rb,4.8620e-01_rb,4.2405e-01_rb,4.1052e-01_rb,3.8832e-01_rb,3.6566e-01_rb, & &3.6433e-01_rb,4.0051e-01_rb,4.5715e-01_rb/) kao(:, 4, 7,13) = (/ & &5.4908e-01_rb,4.8208e-01_rb,4.2069e-01_rb,4.0630e-01_rb,3.8346e-01_rb,3.6097e-01_rb, & &3.5952e-01_rb,3.9819e-01_rb,4.5457e-01_rb/) kao(:, 5, 7,13) = (/ & &5.4429e-01_rb,4.7829e-01_rb,4.1793e-01_rb,4.0260e-01_rb,3.7854e-01_rb,3.5674e-01_rb, & &3.5560e-01_rb,3.9638e-01_rb,4.5240e-01_rb/) kao(:, 1, 8,13) = (/ & &1.3466e+00_rb,1.1788e+00_rb,1.0111e+00_rb,8.5366e-01_rb,7.5173e-01_rb,6.5869e-01_rb, & &5.4376e-01_rb,4.6329e-01_rb,4.8785e-01_rb/) kao(:, 2, 8,13) = (/ & &1.3340e+00_rb,1.1680e+00_rb,1.0021e+00_rb,8.4354e-01_rb,7.4161e-01_rb,6.4846e-01_rb, & &5.3530e-01_rb,4.5751e-01_rb,4.8487e-01_rb/) kao(:, 3, 8,13) = (/ & &1.3215e+00_rb,1.1573e+00_rb,9.9337e-01_rb,8.3476e-01_rb,7.3374e-01_rb,6.3918e-01_rb, & &5.2901e-01_rb,4.5174e-01_rb,4.8277e-01_rb/) kao(:, 4, 8,13) = (/ & &1.3130e+00_rb,1.1502e+00_rb,9.8764e-01_rb,8.2958e-01_rb,7.2734e-01_rb,6.3251e-01_rb, & &5.2258e-01_rb,4.4677e-01_rb,4.8075e-01_rb/) kao(:, 5, 8,13) = (/ & &1.3037e+00_rb,1.1423e+00_rb,9.8136e-01_rb,8.2511e-01_rb,7.2245e-01_rb,6.2665e-01_rb, & &5.1636e-01_rb,4.4197e-01_rb,4.7928e-01_rb/) kao(:, 1, 9,13) = (/ & &6.0221e+00_rb,5.2697e+00_rb,4.5174e+00_rb,3.7653e+00_rb,3.0129e+00_rb,2.2622e+00_rb, & &1.5952e+00_rb,9.9726e-01_rb,5.0671e-01_rb/) kao(:, 2, 9,13) = (/ & &5.9755e+00_rb,5.2290e+00_rb,4.4828e+00_rb,3.7364e+00_rb,2.9901e+00_rb,2.2441e+00_rb, & &1.5732e+00_rb,9.8172e-01_rb,5.0573e-01_rb/) kao(:, 3, 9,13) = (/ & &5.9358e+00_rb,5.1947e+00_rb,4.4536e+00_rb,3.7125e+00_rb,2.9715e+00_rb,2.2305e+00_rb, & &1.5561e+00_rb,9.6836e-01_rb,5.0514e-01_rb/) kao(:, 4, 9,13) = (/ & &5.9085e+00_rb,5.1712e+00_rb,4.4336e+00_rb,3.6962e+00_rb,2.9588e+00_rb,2.2217e+00_rb, & &1.5446e+00_rb,9.5878e-01_rb,5.0373e-01_rb/) kao(:, 5, 9,13) = (/ & &5.8741e+00_rb,5.1412e+00_rb,4.4082e+00_rb,3.6753e+00_rb,2.9426e+00_rb,2.2110e+00_rb, & &1.5366e+00_rb,9.5070e-01_rb,5.0223e-01_rb/) kao(:, 1,10,13) = (/ & &2.9983e+01_rb,2.6236e+01_rb,2.2488e+01_rb,1.8741e+01_rb,1.4994e+01_rb,1.1246e+01_rb, & &7.4983e+00_rb,3.7584e+00_rb,5.2065e-01_rb/) kao(:, 2,10,13) = (/ & &2.9796e+01_rb,2.6072e+01_rb,2.2348e+01_rb,1.8624e+01_rb,1.4900e+01_rb,1.1176e+01_rb, & &7.4520e+00_rb,3.7308e+00_rb,5.2186e-01_rb/) kao(:, 3,10,13) = (/ & &2.9702e+01_rb,2.5989e+01_rb,2.2278e+01_rb,1.8566e+01_rb,1.4854e+01_rb,1.1142e+01_rb, & &7.4298e+00_rb,3.7183e+00_rb,5.2236e-01_rb/) kao(:, 4,10,13) = (/ & &2.9648e+01_rb,2.5942e+01_rb,2.2238e+01_rb,1.8533e+01_rb,1.4828e+01_rb,1.1123e+01_rb, & &7.4177e+00_rb,3.7128e+00_rb,5.2097e-01_rb/) kao(:, 5,10,13) = (/ & &2.9599e+01_rb,2.5901e+01_rb,2.2202e+01_rb,1.8502e+01_rb,1.4804e+01_rb,1.1105e+01_rb, & &7.4063e+00_rb,3.7092e+00_rb,5.1987e-01_rb/) kao(:, 1,11,13) = (/ & &5.1290e+01_rb,4.4882e+01_rb,3.8471e+01_rb,3.2058e+01_rb,2.5646e+01_rb,1.9236e+01_rb, & &1.2824e+01_rb,6.4141e+00_rb,5.2983e-01_rb/) kao(:, 2,11,13) = (/ & &5.1244e+01_rb,4.4838e+01_rb,3.8434e+01_rb,3.2028e+01_rb,2.5623e+01_rb,1.9219e+01_rb, & &1.2814e+01_rb,6.4089e+00_rb,5.3215e-01_rb/) kao(:, 3,11,13) = (/ & &5.1318e+01_rb,4.4905e+01_rb,3.8491e+01_rb,3.2076e+01_rb,2.5662e+01_rb,1.9248e+01_rb, & &1.2833e+01_rb,6.4196e+00_rb,5.3209e-01_rb/) kao(:, 4,11,13) = (/ & &5.1488e+01_rb,4.5053e+01_rb,3.8617e+01_rb,3.2182e+01_rb,2.5747e+01_rb,1.9312e+01_rb, & &1.2877e+01_rb,6.4422e+00_rb,5.3137e-01_rb/) kao(:, 5,11,13) = (/ & &5.1544e+01_rb,4.5101e+01_rb,3.8659e+01_rb,3.2218e+01_rb,2.5776e+01_rb,1.9335e+01_rb, & &1.2893e+01_rb,6.4519e+00_rb,5.3038e-01_rb/) kao(:, 1,12,13) = (/ & &6.4625e+01_rb,5.6547e+01_rb,4.8469e+01_rb,4.0391e+01_rb,3.2315e+01_rb,2.4238e+01_rb, & &1.6158e+01_rb,8.0814e+00_rb,4.6363e-01_rb/) kao(:, 2,12,13) = (/ & &6.4981e+01_rb,5.6858e+01_rb,4.8737e+01_rb,4.0614e+01_rb,3.2493e+01_rb,2.4371e+01_rb, & &1.6249e+01_rb,8.1265e+00_rb,4.7141e-01_rb/) kao(:, 3,12,13) = (/ & &6.5489e+01_rb,5.7301e+01_rb,4.9118e+01_rb,4.0933e+01_rb,3.2747e+01_rb,2.4562e+01_rb, & &1.6376e+01_rb,8.1908e+00_rb,4.7318e-01_rb/) kao(:, 4,12,13) = (/ & &6.5927e+01_rb,5.7688e+01_rb,4.9446e+01_rb,4.1208e+01_rb,3.2967e+01_rb,2.4727e+01_rb, & &1.6488e+01_rb,8.2475e+00_rb,4.7664e-01_rb/) kao(:, 5,12,13) = (/ & &6.6087e+01_rb,5.7823e+01_rb,4.9566e+01_rb,4.1306e+01_rb,3.3048e+01_rb,2.4787e+01_rb, & &1.6528e+01_rb,8.2690e+00_rb,4.7820e-01_rb/) kao(:, 1,13,13) = (/ & &6.4615e+01_rb,5.6540e+01_rb,4.8462e+01_rb,4.0385e+01_rb,3.2309e+01_rb,2.4232e+01_rb, & &1.6156e+01_rb,8.0805e+00_rb,4.0088e-01_rb/) kao(:, 2,13,13) = (/ & &6.5417e+01_rb,5.7241e+01_rb,4.9064e+01_rb,4.0887e+01_rb,3.2711e+01_rb,2.4534e+01_rb, & &1.6357e+01_rb,8.1804e+00_rb,3.9953e-01_rb/) kao(:, 3,13,13) = (/ & &6.6282e+01_rb,5.7998e+01_rb,4.9715e+01_rb,4.1430e+01_rb,3.3145e+01_rb,2.4860e+01_rb, & &1.6576e+01_rb,8.2909e+00_rb,4.0385e-01_rb/) kao(:, 4,13,13) = (/ & &6.6847e+01_rb,5.8491e+01_rb,5.0137e+01_rb,4.1781e+01_rb,3.3427e+01_rb,2.5072e+01_rb, & &1.6717e+01_rb,8.3627e+00_rb,4.1064e-01_rb/) kao(:, 5,13,13) = (/ & &6.7163e+01_rb,5.8769e+01_rb,5.0375e+01_rb,4.1983e+01_rb,3.3587e+01_rb,2.5193e+01_rb, & &1.6798e+01_rb,8.4033e+00_rb,4.1414e-01_rb/) kao(:, 1, 1,14) = (/ & &1.2012e-02_rb,4.7001e-02_rb,9.2646e-02_rb,1.3669e-01_rb,1.7808e-01_rb,2.1465e-01_rb, & &2.4110e-01_rb,2.4013e-01_rb,3.5593e-01_rb/) kao(:, 2, 1,14) = (/ & &1.1787e-02_rb,4.6471e-02_rb,9.1548e-02_rb,1.3506e-01_rb,1.7598e-01_rb,2.1215e-01_rb, & &2.3833e-01_rb,2.3702e-01_rb,3.5168e-01_rb/) kao(:, 3, 1,14) = (/ & &1.1552e-02_rb,4.6117e-02_rb,9.0846e-02_rb,1.3398e-01_rb,1.7452e-01_rb,2.1037e-01_rb, & &2.3630e-01_rb,2.3518e-01_rb,3.4867e-01_rb/) kao(:, 4, 1,14) = (/ & &1.1308e-02_rb,4.5919e-02_rb,9.0260e-02_rb,1.3312e-01_rb,1.7345e-01_rb,2.0914e-01_rb, & &2.3511e-01_rb,2.3456e-01_rb,3.4647e-01_rb/) kao(:, 5, 1,14) = (/ & &1.1074e-02_rb,4.5680e-02_rb,8.9686e-02_rb,1.3217e-01_rb,1.7213e-01_rb,2.0750e-01_rb, & &2.3330e-01_rb,2.3291e-01_rb,3.4372e-01_rb/) kao(:, 1, 2,14) = (/ & &1.9894e-02_rb,5.5751e-02_rb,1.1015e-01_rb,1.6336e-01_rb,2.1450e-01_rb,2.6180e-01_rb, & &3.0044e-01_rb,3.1221e-01_rb,4.2855e-01_rb/) kao(:, 2, 2,14) = (/ & &1.9495e-02_rb,5.5076e-02_rb,1.0879e-01_rb,1.6130e-01_rb,2.1180e-01_rb,2.5853e-01_rb, & &2.9678e-01_rb,3.0859e-01_rb,4.2309e-01_rb/) kao(:, 3, 2,14) = (/ & &1.9117e-02_rb,5.4639e-02_rb,1.0781e-01_rb,1.5983e-01_rb,2.0983e-01_rb,2.5605e-01_rb, & &2.9379e-01_rb,3.0533e-01_rb,4.1905e-01_rb/) kao(:, 4, 2,14) = (/ & &1.8729e-02_rb,5.4397e-02_rb,1.0705e-01_rb,1.5861e-01_rb,2.0822e-01_rb,2.5408e-01_rb, & &2.9159e-01_rb,3.0324e-01_rb,4.1584e-01_rb/) kao(:, 5, 2,14) = (/ & &1.8354e-02_rb,5.4135e-02_rb,1.0645e-01_rb,1.5762e-01_rb,2.0683e-01_rb,2.5235e-01_rb, & &2.8960e-01_rb,3.0120e-01_rb,4.1280e-01_rb/) kao(:, 1, 3,14) = (/ & &4.4808e-02_rb,6.8120e-02_rb,1.3030e-01_rb,1.9402e-01_rb,2.5661e-01_rb,3.1701e-01_rb, & &3.7210e-01_rb,4.0841e-01_rb,5.1219e-01_rb/) kao(:, 2, 3,14) = (/ & &4.3894e-02_rb,6.7026e-02_rb,1.2859e-01_rb,1.9144e-01_rb,2.5317e-01_rb,3.1271e-01_rb, & &3.6711e-01_rb,4.0328e-01_rb,5.0524e-01_rb/) kao(:, 3, 3,14) = (/ & &4.3009e-02_rb,6.6189e-02_rb,1.2745e-01_rb,1.8969e-01_rb,2.5081e-01_rb,3.0975e-01_rb, & &3.6348e-01_rb,3.9877e-01_rb,5.0039e-01_rb/) kao(:, 4, 3,14) = (/ & &4.2131e-02_rb,6.5604e-02_rb,1.2666e-01_rb,1.8820e-01_rb,2.4871e-01_rb,3.0709e-01_rb, & &3.6038e-01_rb,3.9547e-01_rb,4.9608e-01_rb/) kao(:, 5, 3,14) = (/ & &4.1300e-02_rb,6.4954e-02_rb,1.2597e-01_rb,1.8706e-01_rb,2.4708e-01_rb,3.0499e-01_rb, & &3.5781e-01_rb,3.9252e-01_rb,4.9231e-01_rb/) kao(:, 1, 4,14) = (/ & &1.0301e-01_rb,1.0024e-01_rb,1.5513e-01_rb,2.2660e-01_rb,3.0051e-01_rb,3.7330e-01_rb, & &4.4331e-01_rb,5.0277e-01_rb,5.9886e-01_rb/) kao(:, 2, 4,14) = (/ & &1.0093e-01_rb,9.7693e-02_rb,1.5244e-01_rb,2.2368e-01_rb,2.9661e-01_rb,3.6838e-01_rb, & &4.3740e-01_rb,4.9600e-01_rb,5.9091e-01_rb/) kao(:, 3, 4,14) = (/ & &9.8888e-02_rb,9.5814e-02_rb,1.5056e-01_rb,2.2160e-01_rb,2.9368e-01_rb,3.6475e-01_rb, & &4.3305e-01_rb,4.9087e-01_rb,5.8504e-01_rb/) kao(:, 4, 4,14) = (/ & &9.6900e-02_rb,9.4385e-02_rb,1.4923e-01_rb,2.1998e-01_rb,2.9118e-01_rb,3.6134e-01_rb, & &4.2884e-01_rb,4.8615e-01_rb,5.7910e-01_rb/) kao(:, 5, 4,14) = (/ & &9.5071e-02_rb,9.3054e-02_rb,1.4811e-01_rb,2.1854e-01_rb,2.8905e-01_rb,3.5852e-01_rb, & &4.2539e-01_rb,4.8206e-01_rb,5.7407e-01_rb/) kao(:, 1, 5,14) = (/ & &2.1660e-01_rb,1.9045e-01_rb,2.0807e-01_rb,2.6919e-01_rb,3.4511e-01_rb,4.2945e-01_rb, & &5.1231e-01_rb,5.8951e-01_rb,6.8618e-01_rb/) kao(:, 2, 5,14) = (/ & &2.1241e-01_rb,1.8672e-01_rb,2.0475e-01_rb,2.6424e-01_rb,3.4065e-01_rb,4.2384e-01_rb, & &5.0554e-01_rb,5.8155e-01_rb,6.7701e-01_rb/) kao(:, 3, 5,14) = (/ & &2.0837e-01_rb,1.8314e-01_rb,2.0195e-01_rb,2.6053e-01_rb,3.3744e-01_rb,4.1942e-01_rb, & &5.0021e-01_rb,5.7551e-01_rb,6.6986e-01_rb/) kao(:, 4, 5,14) = (/ & &2.0430e-01_rb,1.7971e-01_rb,1.9948e-01_rb,2.5756e-01_rb,3.3465e-01_rb,4.1558e-01_rb, & &4.9517e-01_rb,5.6937e-01_rb,6.6243e-01_rb/) kao(:, 5, 5,14) = (/ & &2.0042e-01_rb,1.7656e-01_rb,1.9774e-01_rb,2.5482e-01_rb,3.3186e-01_rb,4.1183e-01_rb, & &4.9052e-01_rb,5.6389e-01_rb,6.5569e-01_rb/) kao(:, 1, 6,14) = (/ & &4.2427e-01_rb,3.7203e-01_rb,3.3320e-01_rb,3.5686e-01_rb,4.1154e-01_rb,4.8492e-01_rb, & &5.7932e-01_rb,6.7077e-01_rb,7.7255e-01_rb/) kao(:, 2, 6,14) = (/ & &4.1690e-01_rb,3.6557e-01_rb,3.2503e-01_rb,3.5212e-01_rb,4.0345e-01_rb,4.7827e-01_rb, & &5.7140e-01_rb,6.6143e-01_rb,7.6181e-01_rb/) kao(:, 3, 6,14) = (/ & &4.0958e-01_rb,3.5909e-01_rb,3.1787e-01_rb,3.4706e-01_rb,3.9704e-01_rb,4.7318e-01_rb, & &5.6463e-01_rb,6.5338e-01_rb,7.5243e-01_rb/) kao(:, 4, 6,14) = (/ & &4.0201e-01_rb,3.5239e-01_rb,3.1191e-01_rb,3.4259e-01_rb,3.9161e-01_rb,4.6839e-01_rb, & &5.5839e-01_rb,6.4570e-01_rb,7.4289e-01_rb/) kao(:, 5, 6,14) = (/ & &3.9475e-01_rb,3.4591e-01_rb,3.0639e-01_rb,3.3917e-01_rb,3.8642e-01_rb,4.6363e-01_rb, & &5.5236e-01_rb,6.3841e-01_rb,7.3426e-01_rb/) kao(:, 1, 7,14) = (/ & &8.8029e-01_rb,7.7094e-01_rb,6.6160e-01_rb,5.8339e-01_rb,5.7398e-01_rb,5.9529e-01_rb, & &6.4618e-01_rb,7.4819e-01_rb,8.5701e-01_rb/) kao(:, 2, 7,14) = (/ & &8.6525e-01_rb,7.5771e-01_rb,6.5024e-01_rb,5.6937e-01_rb,5.6534e-01_rb,5.8297e-01_rb, & &6.3577e-01_rb,7.3677e-01_rb,8.4377e-01_rb/) kao(:, 3, 7,14) = (/ & &8.5121e-01_rb,7.4536e-01_rb,6.3948e-01_rb,5.5760e-01_rb,5.5733e-01_rb,5.7172e-01_rb, & &6.2728e-01_rb,7.2631e-01_rb,8.3134e-01_rb/) kao(:, 4, 7,14) = (/ & &8.3673e-01_rb,7.3261e-01_rb,6.2850e-01_rb,5.4720e-01_rb,5.4987e-01_rb,5.6219e-01_rb, & &6.1953e-01_rb,7.1698e-01_rb,8.1995e-01_rb/) kao(:, 5, 7,14) = (/ & &8.2233e-01_rb,7.1991e-01_rb,6.1754e-01_rb,5.3796e-01_rb,5.4354e-01_rb,5.5330e-01_rb, & &6.1303e-01_rb,7.0902e-01_rb,8.1040e-01_rb/) kao(:, 1, 8,14) = (/ & &2.1633e+00_rb,1.8933e+00_rb,1.6233e+00_rb,1.3534e+00_rb,1.1037e+00_rb,9.5036e-01_rb, & &8.5982e-01_rb,8.2829e-01_rb,9.4205e-01_rb/) kao(:, 2, 8,14) = (/ & &2.1282e+00_rb,1.8626e+00_rb,1.5970e+00_rb,1.3314e+00_rb,1.0818e+00_rb,9.3527e-01_rb, & &8.4498e-01_rb,8.1322e-01_rb,9.2537e-01_rb/) kao(:, 3, 8,14) = (/ & &2.0953e+00_rb,1.8337e+00_rb,1.5723e+00_rb,1.3107e+00_rb,1.0621e+00_rb,9.2114e-01_rb, & &8.2743e-01_rb,8.0051e-01_rb,9.1039e-01_rb/) kao(:, 4, 8,14) = (/ & &2.0607e+00_rb,1.8035e+00_rb,1.5462e+00_rb,1.2890e+00_rb,1.0433e+00_rb,9.0766e-01_rb, & &8.1242e-01_rb,7.8938e-01_rb,8.9703e-01_rb/) kao(:, 5, 8,14) = (/ & &2.0272e+00_rb,1.7741e+00_rb,1.5210e+00_rb,1.2680e+00_rb,1.0246e+00_rb,8.9475e-01_rb, & &7.9856e-01_rb,7.8051e-01_rb,8.8639e-01_rb/) kao(:, 1, 9,14) = (/ & &1.0073e+01_rb,8.8141e+00_rb,7.5553e+00_rb,6.2968e+00_rb,5.0379e+00_rb,3.7790e+00_rb, & &2.5252e+00_rb,1.5121e+00_rb,1.0239e+00_rb/) kao(:, 2, 9,14) = (/ & &9.9292e+00_rb,8.6881e+00_rb,7.4471e+00_rb,6.2062e+00_rb,4.9656e+00_rb,3.7249e+00_rb, & &2.4866e+00_rb,1.4902e+00_rb,1.0036e+00_rb/) kao(:, 3, 9,14) = (/ & &9.7859e+00_rb,8.5628e+00_rb,7.3398e+00_rb,6.1169e+00_rb,4.8940e+00_rb,3.6711e+00_rb, & &2.4492e+00_rb,1.4699e+00_rb,9.8554e-01_rb/) kao(:, 4, 9,14) = (/ & &9.6386e+00_rb,8.4340e+00_rb,7.2293e+00_rb,6.0249e+00_rb,4.8203e+00_rb,3.6156e+00_rb, & &2.4114e+00_rb,1.4506e+00_rb,9.7113e-01_rb/) kao(:, 5, 9,14) = (/ & &9.4939e+00_rb,8.3072e+00_rb,7.1206e+00_rb,5.9343e+00_rb,4.7478e+00_rb,3.5614e+00_rb, & &2.3752e+00_rb,1.4305e+00_rb,9.6050e-01_rb/) kao(:, 1,10,14) = (/ & &5.2612e+01_rb,4.6036e+01_rb,3.9459e+01_rb,3.2882e+01_rb,2.6307e+01_rb,1.9730e+01_rb, & &1.3154e+01_rb,6.5782e+00_rb,1.1007e+00_rb/) kao(:, 2,10,14) = (/ & &5.2045e+01_rb,4.5541e+01_rb,3.9035e+01_rb,3.2530e+01_rb,2.6024e+01_rb,1.9518e+01_rb, & &1.3013e+01_rb,6.5076e+00_rb,1.0772e+00_rb/) kao(:, 3,10,14) = (/ & &5.1396e+01_rb,4.4972e+01_rb,3.8548e+01_rb,3.2123e+01_rb,2.5700e+01_rb,1.9274e+01_rb, & &1.2851e+01_rb,6.4259e+00_rb,1.0576e+00_rb/) kao(:, 4,10,14) = (/ & &5.0681e+01_rb,4.4348e+01_rb,3.8014e+01_rb,3.1677e+01_rb,2.5342e+01_rb,1.9007e+01_rb, & &1.2671e+01_rb,6.3366e+00_rb,1.0433e+00_rb/) kao(:, 5,10,14) = (/ & &4.9909e+01_rb,4.3671e+01_rb,3.7433e+01_rb,3.1194e+01_rb,2.4957e+01_rb,1.8717e+01_rb, & &1.2479e+01_rb,6.2406e+00_rb,1.0315e+00_rb/) kao(:, 1,11,14) = (/ & &9.5447e+01_rb,8.3519e+01_rb,7.1586e+01_rb,5.9654e+01_rb,4.7724e+01_rb,3.5792e+01_rb, & &2.3862e+01_rb,1.1932e+01_rb,1.1580e+00_rb/) kao(:, 2,11,14) = (/ & &9.4633e+01_rb,8.2803e+01_rb,7.0974e+01_rb,5.9145e+01_rb,4.7317e+01_rb,3.5487e+01_rb, & &2.3658e+01_rb,1.1830e+01_rb,1.1359e+00_rb/) kao(:, 3,11,14) = (/ & &9.3512e+01_rb,8.1822e+01_rb,7.0137e+01_rb,5.8447e+01_rb,4.6756e+01_rb,3.5068e+01_rb, & &2.3379e+01_rb,1.1690e+01_rb,1.1191e+00_rb/) kao(:, 4,11,14) = (/ & &9.1943e+01_rb,8.0451e+01_rb,6.8957e+01_rb,5.7463e+01_rb,4.5972e+01_rb,3.4478e+01_rb, & &2.2985e+01_rb,1.1494e+01_rb,1.1048e+00_rb/) kao(:, 5,11,14) = (/ & &9.0366e+01_rb,7.9072e+01_rb,6.7775e+01_rb,5.6480e+01_rb,4.5183e+01_rb,3.3888e+01_rb, & &2.2593e+01_rb,1.1297e+01_rb,1.0941e+00_rb/) kao(:, 1,12,14) = (/ & &1.2829e+02_rb,1.1225e+02_rb,9.6218e+01_rb,8.0178e+01_rb,6.4148e+01_rb,4.8109e+01_rb, & &3.2071e+01_rb,1.6037e+01_rb,1.2082e+00_rb/) kao(:, 2,12,14) = (/ & &1.2686e+02_rb,1.1100e+02_rb,9.5144e+01_rb,7.9288e+01_rb,6.3431e+01_rb,4.7572e+01_rb, & &3.1716e+01_rb,1.5858e+01_rb,1.1882e+00_rb/) kao(:, 3,12,14) = (/ & &1.2492e+02_rb,1.0930e+02_rb,9.3686e+01_rb,7.8073e+01_rb,6.2461e+01_rb,4.6846e+01_rb, & &3.1229e+01_rb,1.5615e+01_rb,1.1735e+00_rb/) kao(:, 4,12,14) = (/ & &1.2277e+02_rb,1.0742e+02_rb,9.2079e+01_rb,7.6735e+01_rb,6.1388e+01_rb,4.6041e+01_rb, & &3.0695e+01_rb,1.5349e+01_rb,1.1628e+00_rb/) kao(:, 5,12,14) = (/ & &1.2083e+02_rb,1.0573e+02_rb,9.0624e+01_rb,7.5519e+01_rb,6.0418e+01_rb,4.5314e+01_rb, & &3.0211e+01_rb,1.5107e+01_rb,1.1538e+00_rb/) kao(:, 1,13,14) = (/ & &1.3638e+02_rb,1.1933e+02_rb,1.0229e+02_rb,8.5232e+01_rb,6.8189e+01_rb,5.1142e+01_rb, & &3.4096e+01_rb,1.7048e+01_rb,1.2383e+00_rb/) kao(:, 2,13,14) = (/ & &1.3472e+02_rb,1.1788e+02_rb,1.0104e+02_rb,8.4200e+01_rb,6.7359e+01_rb,5.0520e+01_rb, & &3.3681e+01_rb,1.6841e+01_rb,1.2326e+00_rb/) kao(:, 3,13,14) = (/ & &1.3259e+02_rb,1.1602e+02_rb,9.9447e+01_rb,8.2873e+01_rb,6.6300e+01_rb,4.9725e+01_rb, & &3.3151e+01_rb,1.6576e+01_rb,1.2214e+00_rb/) kao(:, 4,13,14) = (/ & &1.3062e+02_rb,1.1429e+02_rb,9.7966e+01_rb,8.1640e+01_rb,6.5311e+01_rb,4.8985e+01_rb, & &3.2658e+01_rb,1.6329e+01_rb,1.2124e+00_rb/) kao(:, 5,13,14) = (/ & &1.2869e+02_rb,1.1261e+02_rb,9.6524e+01_rb,8.0437e+01_rb,6.4351e+01_rb,4.8263e+01_rb, & &3.2178e+01_rb,1.6090e+01_rb,1.2063e+00_rb/) kao(:, 1, 1,15) = (/ & &1.6224e-02_rb,5.5981e-02_rb,1.1058e-01_rb,1.6311e-01_rb,2.1224e-01_rb,2.5534e-01_rb, & &2.8563e-01_rb,2.8102e-01_rb,4.2449e-01_rb/) kao(:, 2, 1,15) = (/ & &1.5819e-02_rb,5.4235e-02_rb,1.0708e-01_rb,1.5789e-01_rb,2.0538e-01_rb,2.4690e-01_rb, & &2.7600e-01_rb,2.7172e-01_rb,4.1075e-01_rb/) kao(:, 3, 1,15) = (/ & &1.5437e-02_rb,5.3030e-02_rb,1.0453e-01_rb,1.5410e-01_rb,2.0034e-01_rb,2.4064e-01_rb, & &2.6869e-01_rb,2.6394e-01_rb,4.0067e-01_rb/) kao(:, 4, 1,15) = (/ & &1.5047e-02_rb,5.2309e-02_rb,1.0294e-01_rb,1.5163e-01_rb,1.9708e-01_rb,2.3671e-01_rb, & &2.6420e-01_rb,2.5937e-01_rb,3.9409e-01_rb/) kao(:, 5, 1,15) = (/ & &1.4670e-02_rb,5.2264e-02_rb,1.0263e-01_rb,1.5109e-01_rb,1.9635e-01_rb,2.3592e-01_rb, & &2.6369e-01_rb,2.6037e-01_rb,3.9232e-01_rb/) kao(:, 1, 2,15) = (/ & &2.7874e-02_rb,6.8016e-02_rb,1.3490e-01_rb,2.0013e-01_rb,2.6255e-01_rb,3.1976e-01_rb, & &3.6546e-01_rb,3.7626e-01_rb,5.2506e-01_rb/) kao(:, 2, 2,15) = (/ & &2.7188e-02_rb,6.5949e-02_rb,1.3068e-01_rb,1.9379e-01_rb,2.5414e-01_rb,3.0936e-01_rb, & &3.5322e-01_rb,3.6307e-01_rb,5.0826e-01_rb/) kao(:, 3, 2,15) = (/ & &2.6530e-02_rb,6.4457e-02_rb,1.2748e-01_rb,1.8895e-01_rb,2.4773e-01_rb,3.0143e-01_rb, & &3.4397e-01_rb,3.5278e-01_rb,4.9544e-01_rb/) kao(:, 4, 2,15) = (/ & &2.5866e-02_rb,6.3478e-02_rb,1.2538e-01_rb,1.8573e-01_rb,2.4341e-01_rb,2.9608e-01_rb, & &3.3770e-01_rb,3.4604e-01_rb,4.8658e-01_rb/) kao(:, 5, 2,15) = (/ & &2.5184e-02_rb,6.3069e-02_rb,1.2422e-01_rb,1.8387e-01_rb,2.4089e-01_rb,2.9292e-01_rb, & &3.3402e-01_rb,3.4222e-01_rb,4.8125e-01_rb/) kao(:, 1, 3,15) = (/ & &6.4680e-02_rb,8.3094e-02_rb,1.6505e-01_rb,2.4624e-01_rb,3.2572e-01_rb,4.0189e-01_rb, & &4.7033e-01_rb,5.1238e-01_rb,6.5139e-01_rb/) kao(:, 2, 3,15) = (/ & &6.3121e-02_rb,8.0680e-02_rb,1.6005e-01_rb,2.3872e-01_rb,3.1571e-01_rb,3.8944e-01_rb, & &4.5551e-01_rb,4.9522e-01_rb,6.3135e-01_rb/) kao(:, 3, 3,15) = (/ & &6.1563e-02_rb,7.8867e-02_rb,1.5612e-01_rb,2.3258e-01_rb,3.0746e-01_rb,3.7914e-01_rb, & &4.4323e-01_rb,4.8117e-01_rb,6.1483e-01_rb/) kao(:, 4, 3,15) = (/ & &6.0025e-02_rb,7.7639e-02_rb,1.5328e-01_rb,2.2820e-01_rb,3.0153e-01_rb,3.7164e-01_rb, & &4.3426e-01_rb,4.7103e-01_rb,6.0254e-01_rb/) kao(:, 5, 3,15) = (/ & &5.8411e-02_rb,7.7256e-02_rb,1.5120e-01_rb,2.2490e-01_rb,2.9704e-01_rb,3.6599e-01_rb, & &4.2759e-01_rb,4.6376e-01_rb,5.9316e-01_rb/) kao(:, 1, 4,15) = (/ & &1.5257e-01_rb,1.3544e-01_rb,2.0077e-01_rb,3.0036e-01_rb,3.9895e-01_rb,4.9562e-01_rb, & &5.8758e-01_rb,6.6215e-01_rb,7.9779e-01_rb/) kao(:, 2, 4,15) = (/ & &1.4896e-01_rb,1.3204e-01_rb,1.9507e-01_rb,2.9140e-01_rb,3.8695e-01_rb,4.8067e-01_rb, & &5.6978e-01_rb,6.4163e-01_rb,7.7379e-01_rb/) kao(:, 3, 4,15) = (/ & &1.4526e-01_rb,1.2874e-01_rb,1.9046e-01_rb,2.8415e-01_rb,3.7702e-01_rb,4.6809e-01_rb, & &5.5459e-01_rb,6.2416e-01_rb,7.5329e-01_rb/) kao(:, 4, 4,15) = (/ & &1.4150e-01_rb,1.2551e-01_rb,1.8699e-01_rb,2.7869e-01_rb,3.6960e-01_rb,4.5869e-01_rb, & &5.4325e-01_rb,6.1092e-01_rb,7.3794e-01_rb/) kao(:, 5, 4,15) = (/ & &1.3788e-01_rb,1.2292e-01_rb,1.8424e-01_rb,2.7423e-01_rb,3.6354e-01_rb,4.5105e-01_rb, & &5.3408e-01_rb,6.0044e-01_rb,7.2537e-01_rb/) kao(:, 1, 5,15) = (/ & &3.2844e-01_rb,2.8856e-01_rb,2.7979e-01_rb,3.6340e-01_rb,4.8359e-01_rb,6.0259e-01_rb, & &7.1867e-01_rb,8.2355e-01_rb,9.6702e-01_rb/) kao(:, 2, 5,15) = (/ & &3.2063e-01_rb,2.8155e-01_rb,2.6962e-01_rb,3.5320e-01_rb,4.6960e-01_rb,5.8494e-01_rb, & &6.9755e-01_rb,7.9908e-01_rb,9.3875e-01_rb/) kao(:, 3, 5,15) = (/ & &3.1261e-01_rb,2.7434e-01_rb,2.6034e-01_rb,3.4461e-01_rb,4.5775e-01_rb,5.6986e-01_rb, & &6.7919e-01_rb,7.7764e-01_rb,9.1375e-01_rb/) kao(:, 4, 5,15) = (/ & &3.0440e-01_rb,2.6704e-01_rb,2.5252e-01_rb,3.3787e-01_rb,4.4841e-01_rb,5.5807e-01_rb, & &6.6481e-01_rb,7.6089e-01_rb,8.9431e-01_rb/) kao(:, 5, 5,15) = (/ & &2.9686e-01_rb,2.6035e-01_rb,2.4591e-01_rb,3.3225e-01_rb,4.4072e-01_rb,5.4821e-01_rb, & &6.5299e-01_rb,7.4709e-01_rb,8.7822e-01_rb/) kao(:, 1, 6,15) = (/ & &6.6195e-01_rb,5.8013e-01_rb,4.9831e-01_rb,4.9605e-01_rb,5.8178e-01_rb,7.2595e-01_rb, & &8.6836e-01_rb,1.0033e+00_rb,1.1633e+00_rb/) kao(:, 2, 6,15) = (/ & &6.4501e-01_rb,5.6519e-01_rb,4.8535e-01_rb,4.7586e-01_rb,5.6606e-01_rb,7.0584e-01_rb, & &8.4395e-01_rb,9.7492e-01_rb,1.1306e+00_rb/) kao(:, 3, 6,15) = (/ & &6.2808e-01_rb,5.5020e-01_rb,4.7240e-01_rb,4.5801e-01_rb,5.5243e-01_rb,6.8837e-01_rb, & &8.2269e-01_rb,9.4987e-01_rb,1.1015e+00_rb/) kao(:, 4, 6,15) = (/ & &6.1101e-01_rb,5.3520e-01_rb,4.5941e-01_rb,4.4278e-01_rb,5.4121e-01_rb,6.7408e-01_rb, & &8.0538e-01_rb,9.2955e-01_rb,1.0781e+00_rb/) kao(:, 5, 6,15) = (/ & &5.9524e-01_rb,5.2132e-01_rb,4.4745e-01_rb,4.2965e-01_rb,5.3187e-01_rb,6.6218e-01_rb, & &7.9084e-01_rb,9.1257e-01_rb,1.0584e+00_rb/) kao(:, 1, 7,15) = (/ & &1.4144e+00_rb,1.2384e+00_rb,1.0623e+00_rb,8.8626e-01_rb,8.1737e-01_rb,8.6950e-01_rb, & &1.0395e+00_rb,1.2069e+00_rb,1.3892e+00_rb/) kao(:, 2, 7,15) = (/ & &1.3748e+00_rb,1.2036e+00_rb,1.0323e+00_rb,8.6117e-01_rb,7.8383e-01_rb,8.4592e-01_rb, & &1.0122e+00_rb,1.1745e+00_rb,1.3519e+00_rb/) kao(:, 3, 7,15) = (/ & &1.3356e+00_rb,1.1692e+00_rb,1.0028e+00_rb,8.3643e-01_rb,7.5357e-01_rb,8.2575e-01_rb, & &9.8798e-01_rb,1.1461e+00_rb,1.3189e+00_rb/) kao(:, 4, 7,15) = (/ & &1.2972e+00_rb,1.1356e+00_rb,9.7391e-01_rb,8.1222e-01_rb,7.2715e-01_rb,8.0916e-01_rb, & &9.6777e-01_rb,1.1223e+00_rb,1.2914e+00_rb/) kao(:, 5, 7,15) = (/ & &1.2621e+00_rb,1.1049e+00_rb,9.4752e-01_rb,7.9014e-01_rb,7.0399e-01_rb,7.9481e-01_rb, & &9.5022e-01_rb,1.1017e+00_rb,1.2675e+00_rb/) kao(:, 1, 8,15) = (/ & &3.5678e+00_rb,3.1226e+00_rb,2.6774e+00_rb,2.2323e+00_rb,1.7871e+00_rb,1.4068e+00_rb, & &1.2751e+00_rb,1.4347e+00_rb,1.6442e+00_rb/) kao(:, 2, 8,15) = (/ & &3.4620e+00_rb,3.0298e+00_rb,2.5977e+00_rb,2.1657e+00_rb,1.7337e+00_rb,1.3525e+00_rb, & &1.2330e+00_rb,1.4002e+00_rb,1.6038e+00_rb/) kao(:, 3, 8,15) = (/ & &3.3581e+00_rb,2.9387e+00_rb,2.5197e+00_rb,2.1005e+00_rb,1.6813e+00_rb,1.3030e+00_rb, & &1.1987e+00_rb,1.3683e+00_rb,1.5668e+00_rb/) kao(:, 4, 8,15) = (/ & &3.2581e+00_rb,2.8514e+00_rb,2.4446e+00_rb,2.0378e+00_rb,1.6310e+00_rb,1.2580e+00_rb, & &1.1700e+00_rb,1.3407e+00_rb,1.5349e+00_rb/) kao(:, 5, 8,15) = (/ & &3.1664e+00_rb,2.7709e+00_rb,2.3756e+00_rb,1.9802e+00_rb,1.5848e+00_rb,1.2171e+00_rb, & &1.1461e+00_rb,1.3159e+00_rb,1.5061e+00_rb/) kao(:, 1, 9,15) = (/ & &1.6997e+01_rb,1.4874e+01_rb,1.2750e+01_rb,1.0625e+01_rb,8.5017e+00_rb,6.3777e+00_rb, & &4.2536e+00_rb,2.2902e+00_rb,1.9313e+00_rb/) kao(:, 2, 9,15) = (/ & &1.6471e+01_rb,1.4414e+01_rb,1.2355e+01_rb,1.0296e+01_rb,8.2389e+00_rb,6.1803e+00_rb, & &4.1219e+00_rb,2.1942e+00_rb,1.8874e+00_rb/) kao(:, 3, 9,15) = (/ & &1.5959e+01_rb,1.3964e+01_rb,1.1970e+01_rb,9.9759e+00_rb,7.9817e+00_rb,5.9872e+00_rb, & &3.9932e+00_rb,2.1070e+00_rb,1.8460e+00_rb/) kao(:, 4, 9,15) = (/ & &1.5470e+01_rb,1.3538e+01_rb,1.1604e+01_rb,9.6708e+00_rb,7.7374e+00_rb,5.8040e+00_rb, & &3.8707e+00_rb,2.0267e+00_rb,1.8089e+00_rb/) kao(:, 5, 9,15) = (/ & &1.5020e+01_rb,1.3143e+01_rb,1.1265e+01_rb,9.3885e+00_rb,7.5114e+00_rb,5.6345e+00_rb, & &3.7577e+00_rb,1.9548e+00_rb,1.7742e+00_rb/) kao(:, 1,10,15) = (/ & &9.0636e+01_rb,7.9307e+01_rb,6.7977e+01_rb,5.6649e+01_rb,4.5320e+01_rb,3.3991e+01_rb, & &2.2662e+01_rb,1.1334e+01_rb,2.2438e+00_rb/) kao(:, 2,10,15) = (/ & &8.7565e+01_rb,7.6621e+01_rb,6.5675e+01_rb,5.4728e+01_rb,4.3786e+01_rb,3.2842e+01_rb, & &2.1895e+01_rb,1.0950e+01_rb,2.1955e+00_rb/) kao(:, 3,10,15) = (/ & &8.4686e+01_rb,7.4100e+01_rb,6.3516e+01_rb,5.2929e+01_rb,4.2345e+01_rb,3.1759e+01_rb, & &2.1174e+01_rb,1.0590e+01_rb,2.1489e+00_rb/) kao(:, 4,10,15) = (/ & &8.2038e+01_rb,7.1783e+01_rb,6.1529e+01_rb,5.1276e+01_rb,4.1020e+01_rb,3.0766e+01_rb, & &2.0512e+01_rb,1.0258e+01_rb,2.1057e+00_rb/) kao(:, 5,10,15) = (/ & &7.9656e+01_rb,6.9701e+01_rb,5.9744e+01_rb,4.9787e+01_rb,3.9829e+01_rb,2.9874e+01_rb, & &1.9917e+01_rb,9.9593e+00_rb,2.0648e+00_rb/) kao(:, 1,11,15) = (/ & &1.6605e+02_rb,1.4529e+02_rb,1.2455e+02_rb,1.0378e+02_rb,8.3029e+01_rb,6.2280e+01_rb, & &4.1517e+01_rb,2.0760e+01_rb,2.5530e+00_rb/) kao(:, 2,11,15) = (/ & &1.6006e+02_rb,1.4006e+02_rb,1.2005e+02_rb,1.0004e+02_rb,8.0031e+01_rb,6.0027e+01_rb, & &4.0019e+01_rb,2.0011e+01_rb,2.4994e+00_rb/) kao(:, 3,11,15) = (/ & &1.5475e+02_rb,1.3539e+02_rb,1.1606e+02_rb,9.6709e+01_rb,7.7371e+01_rb,5.8029e+01_rb, & &3.8687e+01_rb,1.9345e+01_rb,2.4484e+00_rb/) kao(:, 4,11,15) = (/ & &1.5058e+02_rb,1.3176e+02_rb,1.1294e+02_rb,9.4118e+01_rb,7.5292e+01_rb,5.6471e+01_rb, & &3.7649e+01_rb,1.8825e+01_rb,2.4006e+00_rb/) kao(:, 5,11,15) = (/ & &1.4680e+02_rb,1.2845e+02_rb,1.1009e+02_rb,9.1748e+01_rb,7.3399e+01_rb,5.5050e+01_rb, & &3.6700e+01_rb,1.8351e+01_rb,2.3540e+00_rb/) kao(:, 1,12,15) = (/ & &2.2602e+02_rb,1.9778e+02_rb,1.6953e+02_rb,1.4127e+02_rb,1.1301e+02_rb,8.4757e+01_rb, & &5.6507e+01_rb,2.8257e+01_rb,2.8716e+00_rb/) kao(:, 2,12,15) = (/ & &2.1869e+02_rb,1.9135e+02_rb,1.6402e+02_rb,1.3669e+02_rb,1.0935e+02_rb,8.2013e+01_rb, & &5.4674e+01_rb,2.7339e+01_rb,2.8132e+00_rb/) kao(:, 3,12,15) = (/ & &2.1253e+02_rb,1.8597e+02_rb,1.5940e+02_rb,1.3282e+02_rb,1.0626e+02_rb,7.9692e+01_rb, & &5.3134e+01_rb,2.6567e+01_rb,2.7573e+00_rb/) kao(:, 4,12,15) = (/ & &2.0725e+02_rb,1.8134e+02_rb,1.5543e+02_rb,1.2952e+02_rb,1.0362e+02_rb,7.7720e+01_rb, & &5.1811e+01_rb,2.5907e+01_rb,2.7022e+00_rb/) kao(:, 5,12,15) = (/ & &2.0216e+02_rb,1.7690e+02_rb,1.5162e+02_rb,1.2635e+02_rb,1.0108e+02_rb,7.5810e+01_rb, & &5.0540e+01_rb,2.5271e+01_rb,2.6508e+00_rb/) kao(:, 1,13,15) = (/ & &2.4880e+02_rb,2.1770e+02_rb,1.8661e+02_rb,1.5550e+02_rb,1.2440e+02_rb,9.3305e+01_rb, & &6.2205e+01_rb,3.1105e+01_rb,3.1971e+00_rb/) kao(:, 2,13,15) = (/ & &2.4131e+02_rb,2.1114e+02_rb,1.8097e+02_rb,1.5081e+02_rb,1.2065e+02_rb,9.0483e+01_rb, & &6.0327e+01_rb,3.0165e+01_rb,3.1338e+00_rb/) kao(:, 3,13,15) = (/ & &2.3499e+02_rb,2.0562e+02_rb,1.7624e+02_rb,1.4687e+02_rb,1.1750e+02_rb,8.8123e+01_rb, & &5.8749e+01_rb,2.9377e+01_rb,3.0697e+00_rb/) kao(:, 4,13,15) = (/ & &2.2900e+02_rb,2.0038e+02_rb,1.7175e+02_rb,1.4313e+02_rb,1.1451e+02_rb,8.5878e+01_rb, & &5.7253e+01_rb,2.8627e+01_rb,3.0070e+00_rb/) kao(:, 5,13,15) = (/ & &2.2306e+02_rb,1.9518e+02_rb,1.6729e+02_rb,1.3941e+02_rb,1.1152e+02_rb,8.3649e+01_rb, & &5.5766e+01_rb,2.7883e+01_rb,2.9481e+00_rb/) kao(:, 1, 1,16) = (/ & &1.9445e-02_rb,6.3230e-02_rb,1.2479e-01_rb,1.8384e-01_rb,2.3882e-01_rb,2.8643e-01_rb, & &3.1893e-01_rb,3.1112e-01_rb,4.7763e-01_rb/) kao(:, 2, 1,16) = (/ & &1.8835e-02_rb,6.2634e-02_rb,1.2363e-01_rb,1.8213e-01_rb,2.3659e-01_rb,2.8379e-01_rb, & &3.1600e-01_rb,3.0828e-01_rb,4.7319e-01_rb/) kao(:, 3, 1,16) = (/ & &1.8228e-02_rb,6.1941e-02_rb,1.2224e-01_rb,1.8013e-01_rb,2.3399e-01_rb,2.8070e-01_rb, & &3.1257e-01_rb,3.0493e-01_rb,4.6798e-01_rb/) kao(:, 4, 1,16) = (/ & &1.7647e-02_rb,6.1170e-02_rb,1.2073e-01_rb,1.7790e-01_rb,2.3107e-01_rb,2.7723e-01_rb, & &3.0877e-01_rb,3.0124e-01_rb,4.6215e-01_rb/) kao(:, 5, 1,16) = (/ & &1.7079e-02_rb,6.0350e-02_rb,1.1912e-01_rb,1.7548e-01_rb,2.2801e-01_rb,2.7357e-01_rb, & &3.0466e-01_rb,2.9733e-01_rb,4.5602e-01_rb/) kao(:, 1, 2,16) = (/ & &3.4634e-02_rb,7.7044e-02_rb,1.5273e-01_rb,2.2632e-01_rb,2.9575e-01_rb,3.6021e-01_rb, & &4.0997e-01_rb,4.1812e-01_rb,5.9296e-01_rb/) kao(:, 2, 2,16) = (/ & &3.3420e-02_rb,7.6207e-02_rb,1.5110e-01_rb,2.2402e-01_rb,2.9356e-01_rb,3.5685e-01_rb, & &4.0638e-01_rb,4.1457e-01_rb,5.8711e-01_rb/) kao(:, 3, 2,16) = (/ & &3.2246e-02_rb,7.5373e-02_rb,1.4946e-01_rb,2.2157e-01_rb,2.9037e-01_rb,3.5299e-01_rb, & &4.0204e-01_rb,4.1028e-01_rb,5.8073e-01_rb/) kao(:, 4, 2,16) = (/ & &3.1106e-02_rb,7.4437e-02_rb,1.4762e-01_rb,2.1883e-01_rb,2.8679e-01_rb,3.4868e-01_rb, & &3.9718e-01_rb,4.0541e-01_rb,5.7357e-01_rb/) kao(:, 5, 2,16) = (/ & &3.0021e-02_rb,7.3426e-02_rb,1.4561e-01_rb,2.1587e-01_rb,2.8293e-01_rb,3.4400e-01_rb, & &3.9193e-01_rb,4.0015e-01_rb,5.6584e-01_rb/) kao(:, 1, 3,16) = (/ & &8.3051e-02_rb,9.4793e-02_rb,1.8876e-01_rb,2.8144e-01_rb,3.7196e-01_rb,4.5816e-01_rb, & &5.3450e-01_rb,5.7690e-01_rb,7.4391e-01_rb/) kao(:, 2, 3,16) = (/ & &7.9830e-02_rb,9.3082e-02_rb,1.8538e-01_rb,2.7644e-01_rb,3.6534e-01_rb,4.5017e-01_rb, & &5.2550e-01_rb,5.6808e-01_rb,7.3067e-01_rb/) kao(:, 3, 3,16) = (/ & &7.6737e-02_rb,9.1705e-02_rb,1.8269e-01_rb,2.7246e-01_rb,3.6014e-01_rb,4.4395e-01_rb, & &5.1857e-01_rb,5.6175e-01_rb,7.2028e-01_rb/) kao(:, 4, 3,16) = (/ & &7.3809e-02_rb,9.0497e-02_rb,1.8026e-01_rb,2.6888e-01_rb,3.5554e-01_rb,4.3839e-01_rb, & &5.1223e-01_rb,5.5508e-01_rb,7.1107e-01_rb/) kao(:, 5, 3,16) = (/ & &7.1033e-02_rb,8.9276e-02_rb,1.7779e-01_rb,2.6523e-01_rb,3.5066e-01_rb,4.3243e-01_rb, & &5.0536e-01_rb,5.4783e-01_rb,7.0132e-01_rb/) kao(:, 1, 4,16) = (/ & &2.0125e-01_rb,1.7779e-01_rb,2.3399e-01_rb,3.4997e-01_rb,4.6464e-01_rb,5.7674e-01_rb, & &6.8253e-01_rb,7.6508e-01_rb,9.2928e-01_rb/) kao(:, 2, 4,16) = (/ & &1.9265e-01_rb,1.7048e-01_rb,2.2831e-01_rb,3.4146e-01_rb,4.5338e-01_rb,5.6281e-01_rb, & &6.6618e-01_rb,7.4718e-01_rb,9.0679e-01_rb/) kao(:, 3, 4,16) = (/ & &1.8456e-01_rb,1.6365e-01_rb,2.2378e-01_rb,3.3476e-01_rb,4.4451e-01_rb,5.5182e-01_rb, & &6.5330e-01_rb,7.3313e-01_rb,8.8901e-01_rb/) kao(:, 4, 4,16) = (/ & &1.7702e-01_rb,1.5723e-01_rb,2.1978e-01_rb,3.2875e-01_rb,4.3660e-01_rb,5.4199e-01_rb, & &6.4188e-01_rb,7.2098e-01_rb,8.7320e-01_rb/) kao(:, 5, 4,16) = (/ & &1.6997e-01_rb,1.5116e-01_rb,2.1600e-01_rb,3.2314e-01_rb,4.2913e-01_rb,5.3288e-01_rb, & &6.3120e-01_rb,7.0945e-01_rb,8.5826e-01_rb/) kao(:, 1, 5,16) = (/ & &4.4228e-01_rb,3.8795e-01_rb,3.3395e-01_rb,4.3605e-01_rb,5.8013e-01_rb,7.2255e-01_rb, & &8.6084e-01_rb,9.8346e-01_rb,1.1603e+00_rb/) kao(:, 2, 5,16) = (/ & &4.2199e-01_rb,3.7056e-01_rb,3.1956e-01_rb,4.2215e-01_rb,5.6164e-01_rb,6.9945e-01_rb, & &8.3347e-01_rb,9.5217e-01_rb,1.1233e+00_rb/) kao(:, 3, 5,16) = (/ & &4.0375e-01_rb,3.5492e-01_rb,3.0638e-01_rb,4.1150e-01_rb,5.4754e-01_rb,6.8200e-01_rb, & &8.1260e-01_rb,9.2875e-01_rb,1.0951e+00_rb/) kao(:, 4, 5,16) = (/ & &3.8716e-01_rb,3.4051e-01_rb,2.9411e-01_rb,4.0247e-01_rb,5.3546e-01_rb,6.6706e-01_rb, & &7.9494e-01_rb,9.0883e-01_rb,1.0709e+00_rb/) kao(:, 5, 5,16) = (/ & &3.7160e-01_rb,3.2689e-01_rb,2.8321e-01_rb,3.9414e-01_rb,5.2444e-01_rb,6.5338e-01_rb, & &7.7865e-01_rb,8.9056e-01_rb,1.0489e+00_rb/) kao(:, 1, 6,16) = (/ & &9.0506e-01_rb,7.9284e-01_rb,6.8068e-01_rb,5.6916e-01_rb,7.2503e-01_rb,9.0468e-01_rb, & &1.0813e+00_rb,1.2473e+00_rb,1.4500e+00_rb/) kao(:, 2, 6,16) = (/ & &8.6465e-01_rb,7.5773e-01_rb,6.5086e-01_rb,5.4531e-01_rb,6.9722e-01_rb,8.6983e-01_rb, & &1.0397e+00_rb,1.1992e+00_rb,1.3944e+00_rb/) kao(:, 3, 6,16) = (/ & &8.2825e-01_rb,7.2598e-01_rb,6.2379e-01_rb,5.2549e-01_rb,6.7605e-01_rb,8.4340e-01_rb, & &1.0082e+00_rb,1.1629e+00_rb,1.3521e+00_rb/) kao(:, 4, 6,16) = (/ & &7.9420e-01_rb,6.9632e-01_rb,5.9834e-01_rb,5.1029e-01_rb,6.5811e-01_rb,8.2106e-01_rb, & &9.8160e-01_rb,1.1324e+00_rb,1.3162e+00_rb/) kao(:, 5, 6,16) = (/ & &7.6215e-01_rb,6.6829e-01_rb,5.7431e-01_rb,4.9359e-01_rb,6.4194e-01_rb,8.0089e-01_rb, & &9.5749e-01_rb,1.1049e+00_rb,1.2839e+00_rb/) kao(:, 1, 7,16) = (/ & &1.9676e+00_rb,1.7224e+00_rb,1.4775e+00_rb,1.2325e+00_rb,9.8756e-01_rb,1.1304e+00_rb, & &1.3539e+00_rb,1.5704e+00_rb,1.8105e+00_rb/) kao(:, 2, 7,16) = (/ & &1.8838e+00_rb,1.6493e+00_rb,1.4147e+00_rb,1.1804e+00_rb,9.4604e-01_rb,1.0806e+00_rb, & &1.2942e+00_rb,1.5011e+00_rb,1.7307e+00_rb/) kao(:, 3, 7,16) = (/ & &1.8058e+00_rb,1.5808e+00_rb,1.3563e+00_rb,1.1318e+00_rb,9.0772e-01_rb,1.0432e+00_rb, & &1.2494e+00_rb,1.4491e+00_rb,1.6707e+00_rb/) kao(:, 4, 7,16) = (/ & &1.7320e+00_rb,1.5166e+00_rb,1.3008e+00_rb,1.0854e+00_rb,8.7621e-01_rb,1.0114e+00_rb, & &1.2114e+00_rb,1.4051e+00_rb,1.6197e+00_rb/) kao(:, 5, 7,16) = (/ & &1.6617e+00_rb,1.4551e+00_rb,1.2484e+00_rb,1.0417e+00_rb,8.4899e-01_rb,9.8293e-01_rb, & &1.1773e+00_rb,1.3657e+00_rb,1.5743e+00_rb/) kao(:, 1, 8,16) = (/ & &5.0769e+00_rb,4.4432e+00_rb,3.8096e+00_rb,3.1755e+00_rb,2.5417e+00_rb,1.9082e+00_rb, & &1.6892e+00_rb,1.9659e+00_rb,2.2550e+00_rb/) kao(:, 2, 8,16) = (/ & &4.8681e+00_rb,4.2603e+00_rb,3.6527e+00_rb,3.0450e+00_rb,2.4373e+00_rb,1.8300e+00_rb, & &1.6072e+00_rb,1.8705e+00_rb,2.1455e+00_rb/) kao(:, 3, 8,16) = (/ & &4.6692e+00_rb,4.0861e+00_rb,3.5032e+00_rb,2.9205e+00_rb,2.3378e+00_rb,1.7550e+00_rb, & &1.5446e+00_rb,1.7976e+00_rb,2.0621e+00_rb/) kao(:, 4, 8,16) = (/ & &4.4792e+00_rb,3.9199e+00_rb,3.3609e+00_rb,2.8016e+00_rb,2.2429e+00_rb,1.6836e+00_rb, & &1.4923e+00_rb,1.7367e+00_rb,1.9921e+00_rb/) kao(:, 5, 8,16) = (/ & &4.2972e+00_rb,3.7609e+00_rb,3.2243e+00_rb,2.6879e+00_rb,2.1517e+00_rb,1.6153e+00_rb, & &1.4455e+00_rb,1.6824e+00_rb,1.9297e+00_rb/) kao(:, 1, 9,16) = (/ & &2.4893e+01_rb,2.1786e+01_rb,1.8675e+01_rb,1.5563e+01_rb,1.2450e+01_rb,9.3398e+00_rb, & &6.2286e+00_rb,3.1170e+00_rb,2.8014e+00_rb/) kao(:, 2, 9,16) = (/ & &2.3897e+01_rb,2.0912e+01_rb,1.7925e+01_rb,1.4937e+01_rb,1.1951e+01_rb,8.9651e+00_rb, & &5.9788e+00_rb,2.9923e+00_rb,2.6581e+00_rb/) kao(:, 3, 9,16) = (/ & &2.2932e+01_rb,2.0066e+01_rb,1.7201e+01_rb,1.4334e+01_rb,1.1468e+01_rb,8.6027e+00_rb, & &5.7371e+00_rb,2.8711e+00_rb,2.5442e+00_rb/) kao(:, 4, 9,16) = (/ & &2.1999e+01_rb,1.9250e+01_rb,1.6501e+01_rb,1.3753e+01_rb,1.1001e+01_rb,8.2533e+00_rb, & &5.5038e+00_rb,2.7545e+00_rb,2.4493e+00_rb/) kao(:, 5, 9,16) = (/ & &2.1105e+01_rb,1.8469e+01_rb,1.5831e+01_rb,1.3195e+01_rb,1.0556e+01_rb,7.9178e+00_rb, & &5.2806e+00_rb,2.6423e+00_rb,2.3650e+00_rb/) kao(:, 1,10,16) = (/ & &1.3702e+02_rb,1.1990e+02_rb,1.0277e+02_rb,8.5642e+01_rb,6.8515e+01_rb,5.1385e+01_rb, & &3.4262e+01_rb,1.7133e+01_rb,3.4526e+00_rb/) kao(:, 2,10,16) = (/ & &1.3162e+02_rb,1.1516e+02_rb,9.8725e+01_rb,8.2273e+01_rb,6.5802e+01_rb,4.9353e+01_rb, & &3.2909e+01_rb,1.6459e+01_rb,3.2683e+00_rb/) kao(:, 3,10,16) = (/ & &1.2631e+02_rb,1.1053e+02_rb,9.4741e+01_rb,7.8943e+01_rb,6.3147e+01_rb,4.7375e+01_rb, & &3.1582e+01_rb,1.5793e+01_rb,3.1197e+00_rb/) kao(:, 4,10,16) = (/ & &1.2113e+02_rb,1.0599e+02_rb,9.0842e+01_rb,7.5703e+01_rb,6.0562e+01_rb,4.5424e+01_rb, & &3.0282e+01_rb,1.5145e+01_rb,2.9946e+00_rb/) kao(:, 5,10,16) = (/ & &1.1642e+02_rb,1.0187e+02_rb,8.7320e+01_rb,7.2762e+01_rb,5.8215e+01_rb,4.3658e+01_rb, & &2.9108e+01_rb,1.4557e+01_rb,2.8829e+00_rb/) kao(:, 1,11,16) = (/ & &2.5880e+02_rb,2.2644e+02_rb,1.9413e+02_rb,1.6174e+02_rb,1.2941e+02_rb,9.7065e+01_rb, & &6.4700e+01_rb,3.2352e+01_rb,4.1212e+00_rb/) kao(:, 2,11,16) = (/ & &2.4838e+02_rb,2.1734e+02_rb,1.8628e+02_rb,1.5524e+02_rb,1.2419e+02_rb,9.3146e+01_rb, & &6.2097e+01_rb,3.1052e+01_rb,3.9061e+00_rb/) kao(:, 3,11,16) = (/ & &2.3869e+02_rb,2.0886e+02_rb,1.7902e+02_rb,1.4918e+02_rb,1.1935e+02_rb,8.9511e+01_rb, & &5.9677e+01_rb,2.9841e+01_rb,3.7301e+00_rb/) kao(:, 4,11,16) = (/ & &2.2943e+02_rb,2.0074e+02_rb,1.7207e+02_rb,1.4339e+02_rb,1.1472e+02_rb,8.6039e+01_rb, & &5.7356e+01_rb,2.8682e+01_rb,3.5754e+00_rb/) kao(:, 5,11,16) = (/ & &2.2131e+02_rb,1.9367e+02_rb,1.6600e+02_rb,1.3834e+02_rb,1.1067e+02_rb,8.3001e+01_rb, & &5.5340e+01_rb,2.7668e+01_rb,3.4351e+00_rb/) kao(:, 1,12,16) = (/ & &3.6519e+02_rb,3.1953e+02_rb,2.7390e+02_rb,2.2827e+02_rb,1.8260e+02_rb,1.3695e+02_rb, & &9.1294e+01_rb,4.5654e+01_rb,4.8878e+00_rb/) kao(:, 2,12,16) = (/ & &3.5163e+02_rb,3.0767e+02_rb,2.6371e+02_rb,2.1977e+02_rb,1.7580e+02_rb,1.3186e+02_rb, & &8.7903e+01_rb,4.3953e+01_rb,4.5957e+00_rb/) kao(:, 3,12,16) = (/ & &3.3818e+02_rb,2.9589e+02_rb,2.5364e+02_rb,2.1136e+02_rb,1.6910e+02_rb,1.2682e+02_rb, & &8.4547e+01_rb,4.2272e+01_rb,4.4276e+00_rb/) kao(:, 4,12,16) = (/ & &3.2523e+02_rb,2.8457e+02_rb,2.4393e+02_rb,2.0329e+02_rb,1.6262e+02_rb,1.2197e+02_rb, & &8.1319e+01_rb,4.0657e+01_rb,4.2352e+00_rb/) kao(:, 5,12,16) = (/ & &3.1377e+02_rb,2.7452e+02_rb,2.3534e+02_rb,1.9609e+02_rb,1.5688e+02_rb,1.1765e+02_rb, & &7.8446e+01_rb,3.9220e+01_rb,4.0574e+00_rb/) kao(:, 1,13,16) = (/ & &4.1560e+02_rb,3.6364e+02_rb,3.1170e+02_rb,2.5976e+02_rb,2.0781e+02_rb,1.5585e+02_rb, & &1.0390e+02_rb,5.1953e+01_rb,5.7636e+00_rb/) kao(:, 2,13,16) = (/ & &3.9970e+02_rb,3.4978e+02_rb,2.9980e+02_rb,2.4983e+02_rb,1.9986e+02_rb,1.4990e+02_rb, & &9.9932e+01_rb,4.9970e+01_rb,5.4706e+00_rb/) kao(:, 3,13,16) = (/ & &3.8378e+02_rb,3.3582e+02_rb,2.8782e+02_rb,2.3987e+02_rb,1.9190e+02_rb,1.4391e+02_rb, & &9.5948e+01_rb,4.7978e+01_rb,5.2080e+00_rb/) kao(:, 4,13,16) = (/ & &3.6900e+02_rb,3.2290e+02_rb,2.7675e+02_rb,2.3063e+02_rb,1.8451e+02_rb,1.3838e+02_rb, & &9.2254e+01_rb,4.6129e+01_rb,4.9718e+00_rb/) kao(:, 5,13,16) = (/ & &3.5587e+02_rb,3.1138e+02_rb,2.6690e+02_rb,2.2242e+02_rb,1.7795e+02_rb,1.3345e+02_rb, & &8.8970e+01_rb,4.4486e+01_rb,4.7553e+00_rb/) ! The array KBO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels < ~100mb and temperatures. The first ! index in the array, JT, which runs from 1 to 5, corresponds to ! different temperatures. More specifically, JT = 3 means that the ! data are for the reference temperature TREF for this pressure ! level, JT = 2 refers to the temperature TREF-15, JT = 1 is for ! TREF-30, JT = 4 is for TREF+15, and JT = 5 is for TREF+30. ! The second index, JP, runs from 13 to 59 and refers to the JPth ! reference pressure level (see taumol.f for the value of these ! pressure levels in mb). The third index, IG, goes from 1 to 16, ! and tells us which g-interval the absorption coefficients are for. kbo(:,13, 1) = (/ & &6.6242e-04_rb,6.9229e-04_rb,7.2125e-04_rb,7.5111e-04_rb,7.7882e-04_rb/) kbo(:,14, 1) = (/ & &5.7148e-04_rb,6.0011e-04_rb,6.2434e-04_rb,6.4765e-04_rb,6.6822e-04_rb/) kbo(:,15, 1) = (/ & &5.0245e-04_rb,5.2495e-04_rb,5.4519e-04_rb,5.6261e-04_rb,5.8004e-04_rb/) kbo(:,16, 1) = (/ & &4.4219e-04_rb,4.6335e-04_rb,4.7782e-04_rb,4.9293e-04_rb,5.0687e-04_rb/) kbo(:,17, 1) = (/ & &3.9452e-04_rb,4.1172e-04_rb,4.2558e-04_rb,4.3834e-04_rb,4.5031e-04_rb/) kbo(:,18, 1) = (/ & &3.5502e-04_rb,3.7021e-04_rb,3.8062e-04_rb,3.9326e-04_rb,4.0413e-04_rb/) kbo(:,19, 1) = (/ & &3.1835e-04_rb,3.3204e-04_rb,3.4438e-04_rb,3.5308e-04_rb,3.6251e-04_rb/) kbo(:,20, 1) = (/ & &2.7685e-04_rb,2.8739e-04_rb,2.9799e-04_rb,3.0565e-04_rb,3.1346e-04_rb/) kbo(:,21, 1) = (/ & &2.3803e-04_rb,2.4613e-04_rb,2.5507e-04_rb,2.6118e-04_rb,2.6805e-04_rb/) kbo(:,22, 1) = (/ & &2.0518e-04_rb,2.1064e-04_rb,2.1799e-04_rb,2.2345e-04_rb,2.2945e-04_rb/) kbo(:,23, 1) = (/ & &1.7609e-04_rb,1.8136e-04_rb,1.8691e-04_rb,1.9179e-04_rb,1.9680e-04_rb/) kbo(:,24, 1) = (/ & &1.5133e-04_rb,1.5582e-04_rb,1.6020e-04_rb,1.6517e-04_rb,1.6912e-04_rb/) kbo(:,25, 1) = (/ & &1.3023e-04_rb,1.3355e-04_rb,1.3826e-04_rb,1.4195e-04_rb,1.4464e-04_rb/) kbo(:,26, 1) = (/ & &1.1153e-04_rb,1.1437e-04_rb,1.1820e-04_rb,1.2126e-04_rb,1.2331e-04_rb/) kbo(:,27, 1) = (/ & &9.5262e-05_rb,9.8055e-05_rb,1.0080e-04_rb,1.0342e-04_rb,1.0508e-04_rb/) kbo(:,28, 1) = (/ & &8.1680e-05_rb,8.3691e-05_rb,8.6133e-05_rb,8.8128e-05_rb,8.9712e-05_rb/) kbo(:,29, 1) = (/ & &7.0309e-05_rb,7.1883e-05_rb,7.3686e-05_rb,7.5287e-05_rb,7.6689e-05_rb/) kbo(:,30, 1) = (/ & &6.0539e-05_rb,6.1910e-05_rb,6.3188e-05_rb,6.4488e-05_rb,6.6886e-05_rb/) kbo(:,31, 1) = (/ & &5.2744e-05_rb,5.3514e-05_rb,5.4453e-05_rb,5.5692e-05_rb,5.7687e-05_rb/) kbo(:,32, 1) = (/ & &4.5908e-05_rb,4.6319e-05_rb,4.7373e-05_rb,4.8133e-05_rb,4.9705e-05_rb/) kbo(:,33, 1) = (/ & &3.9867e-05_rb,4.0547e-05_rb,4.1159e-05_rb,4.1892e-05_rb,4.3045e-05_rb/) kbo(:,34, 1) = (/ & &3.4676e-05_rb,3.5573e-05_rb,3.6016e-05_rb,3.7022e-05_rb,3.7402e-05_rb/) kbo(:,35, 1) = (/ & &3.0380e-05_rb,3.1177e-05_rb,3.1680e-05_rb,3.2397e-05_rb,3.2578e-05_rb/) kbo(:,36, 1) = (/ & &2.6710e-05_rb,2.7409e-05_rb,2.7919e-05_rb,2.8397e-05_rb,2.8592e-05_rb/) kbo(:,37, 1) = (/ & &2.2468e-05_rb,2.3018e-05_rb,2.3378e-05_rb,2.3912e-05_rb,2.4011e-05_rb/) kbo(:,38, 1) = (/ & &1.8961e-05_rb,1.9311e-05_rb,1.9590e-05_rb,2.0060e-05_rb,2.0183e-05_rb/) kbo(:,39, 1) = (/ & &1.6038e-05_rb,1.6240e-05_rb,1.6497e-05_rb,1.6653e-05_rb,1.7067e-05_rb/) kbo(:,40, 1) = (/ & &1.3126e-05_rb,1.3247e-05_rb,1.3457e-05_rb,1.3586e-05_rb,1.3950e-05_rb/) kbo(:,41, 1) = (/ & &1.0642e-05_rb,1.0779e-05_rb,1.0904e-05_rb,1.1060e-05_rb,1.1348e-05_rb/) kbo(:,42, 1) = (/ & &8.5931e-06_rb,8.7256e-06_rb,8.8249e-06_rb,8.9763e-06_rb,9.1997e-06_rb/) kbo(:,43, 1) = (/ & &6.8315e-06_rb,7.0003e-06_rb,7.0825e-06_rb,7.1921e-06_rb,7.3080e-06_rb/) kbo(:,44, 1) = (/ & &5.4113e-06_rb,5.5622e-06_rb,5.6277e-06_rb,5.7357e-06_rb,5.8407e-06_rb/) kbo(:,45, 1) = (/ & &4.2868e-06_rb,4.4145e-06_rb,4.4700e-06_rb,4.5509e-06_rb,4.6597e-06_rb/) kbo(:,46, 1) = (/ & &3.3813e-06_rb,3.5001e-06_rb,3.5350e-06_rb,3.6083e-06_rb,3.6919e-06_rb/) kbo(:,47, 1) = (/ & &2.6664e-06_rb,2.7723e-06_rb,2.7972e-06_rb,2.8533e-06_rb,2.9267e-06_rb/) kbo(:,48, 1) = (/ & &2.0946e-06_rb,2.1711e-06_rb,2.2048e-06_rb,2.2465e-06_rb,2.3102e-06_rb/) kbo(:,49, 1) = (/ & &1.6333e-06_rb,1.6996e-06_rb,1.7388e-06_rb,1.7611e-06_rb,1.8115e-06_rb/) kbo(:,50, 1) = (/ & &1.2781e-06_rb,1.3328e-06_rb,1.3698e-06_rb,1.3938e-06_rb,1.4265e-06_rb/) kbo(:,51, 1) = (/ & &1.0076e-06_rb,1.0460e-06_rb,1.0807e-06_rb,1.1011e-06_rb,1.1257e-06_rb/) kbo(:,52, 1) = (/ & &7.9394e-07_rb,8.1840e-07_rb,8.4881e-07_rb,8.6654e-07_rb,8.8734e-07_rb/) kbo(:,53, 1) = (/ & &6.1785e-07_rb,6.3992e-07_rb,6.6144e-07_rb,6.7843e-07_rb,6.9618e-07_rb/) kbo(:,54, 1) = (/ & &4.8490e-07_rb,5.0506e-07_rb,5.1952e-07_rb,5.3413e-07_rb,5.4905e-07_rb/) kbo(:,55, 1) = (/ & &3.8198e-07_rb,3.9926e-07_rb,4.1207e-07_rb,4.2268e-07_rb,4.3489e-07_rb/) kbo(:,56, 1) = (/ & &3.0062e-07_rb,3.1357e-07_rb,3.2461e-07_rb,3.3313e-07_rb,3.4390e-07_rb/) kbo(:,57, 1) = (/ & &2.3579e-07_rb,2.4608e-07_rb,2.5500e-07_rb,2.6288e-07_rb,2.7145e-07_rb/) kbo(:,58, 1) = (/ & &1.8530e-07_rb,1.9293e-07_rb,2.0021e-07_rb,2.0804e-07_rb,2.1510e-07_rb/) kbo(:,59, 1) = (/ & &1.4951e-07_rb,1.5512e-07_rb,1.6259e-07_rb,1.6844e-07_rb,1.7451e-07_rb/) kbo(:,13, 2) = (/ & &2.8194e-03_rb,3.0121e-03_rb,3.1846e-03_rb,3.3490e-03_rb,3.5100e-03_rb/) kbo(:,14, 2) = (/ & &2.4827e-03_rb,2.6492e-03_rb,2.7938e-03_rb,2.9346e-03_rb,3.0538e-03_rb/) kbo(:,15, 2) = (/ & &2.2064e-03_rb,2.3375e-03_rb,2.4556e-03_rb,2.5697e-03_rb,2.6626e-03_rb/) kbo(:,16, 2) = (/ & &1.9378e-03_rb,2.0444e-03_rb,2.1458e-03_rb,2.2321e-03_rb,2.3069e-03_rb/) kbo(:,17, 2) = (/ & &1.7072e-03_rb,1.7953e-03_rb,1.8810e-03_rb,1.9513e-03_rb,2.0122e-03_rb/) kbo(:,18, 2) = (/ & &1.5182e-03_rb,1.5881e-03_rb,1.6604e-03_rb,1.7175e-03_rb,1.7691e-03_rb/) kbo(:,19, 2) = (/ & &1.3604e-03_rb,1.4237e-03_rb,1.4711e-03_rb,1.5216e-03_rb,1.5631e-03_rb/) kbo(:,20, 2) = (/ & &1.1858e-03_rb,1.2290e-03_rb,1.2712e-03_rb,1.3090e-03_rb,1.3421e-03_rb/) kbo(:,21, 2) = (/ & &1.0189e-03_rb,1.0547e-03_rb,1.0885e-03_rb,1.1186e-03_rb,1.1432e-03_rb/) kbo(:,22, 2) = (/ & &8.7055e-04_rb,9.0481e-04_rb,9.2821e-04_rb,9.5252e-04_rb,9.7075e-04_rb/) kbo(:,23, 2) = (/ & &7.4675e-04_rb,7.7099e-04_rb,7.9133e-04_rb,8.0933e-04_rb,8.2551e-04_rb/) kbo(:,24, 2) = (/ & &6.4034e-04_rb,6.5905e-04_rb,6.7517e-04_rb,6.8951e-04_rb,7.0349e-04_rb/) kbo(:,25, 2) = (/ & &5.4635e-04_rb,5.6117e-04_rb,5.7460e-04_rb,5.8668e-04_rb,5.9880e-04_rb/) kbo(:,26, 2) = (/ & &4.6328e-04_rb,4.7565e-04_rb,4.8724e-04_rb,4.9802e-04_rb,5.0785e-04_rb/) kbo(:,27, 2) = (/ & &3.9145e-04_rb,4.0138e-04_rb,4.1206e-04_rb,4.2067e-04_rb,4.2970e-04_rb/) kbo(:,28, 2) = (/ & &3.2965e-04_rb,3.3905e-04_rb,3.4755e-04_rb,3.5536e-04_rb,3.6345e-04_rb/) kbo(:,29, 2) = (/ & &2.7722e-04_rb,2.8535e-04_rb,2.9237e-04_rb,2.9947e-04_rb,3.0668e-04_rb/) kbo(:,30, 2) = (/ & &2.3378e-04_rb,2.4040e-04_rb,2.4667e-04_rb,2.5278e-04_rb,2.6270e-04_rb/) kbo(:,31, 2) = (/ & &1.9661e-04_rb,2.0207e-04_rb,2.0803e-04_rb,2.1348e-04_rb,2.2186e-04_rb/) kbo(:,32, 2) = (/ & &1.6562e-04_rb,1.7146e-04_rb,1.7695e-04_rb,1.8193e-04_rb,1.8929e-04_rb/) kbo(:,33, 2) = (/ & &1.4107e-04_rb,1.4666e-04_rb,1.5183e-04_rb,1.5594e-04_rb,1.6243e-04_rb/) kbo(:,34, 2) = (/ & &1.2158e-04_rb,1.2598e-04_rb,1.3011e-04_rb,1.3588e-04_rb,1.4023e-04_rb/) kbo(:,35, 2) = (/ & &1.0453e-04_rb,1.0824e-04_rb,1.1246e-04_rb,1.1806e-04_rb,1.2280e-04_rb/) kbo(:,36, 2) = (/ & &9.0281e-05_rb,9.3775e-05_rb,9.7901e-05_rb,1.0364e-04_rb,1.0744e-04_rb/) kbo(:,37, 2) = (/ & &7.5786e-05_rb,7.8742e-05_rb,8.2503e-05_rb,8.7040e-05_rb,8.9489e-05_rb/) kbo(:,38, 2) = (/ & &6.3149e-05_rb,6.6113e-05_rb,6.8833e-05_rb,7.2371e-05_rb,7.4496e-05_rb/) kbo(:,39, 2) = (/ & &5.2982e-05_rb,5.5381e-05_rb,5.7239e-05_rb,5.9241e-05_rb,6.1954e-05_rb/) kbo(:,40, 2) = (/ & &4.3111e-05_rb,4.5156e-05_rb,4.6617e-05_rb,4.8324e-05_rb,5.0544e-05_rb/) kbo(:,41, 2) = (/ & &3.4957e-05_rb,3.6661e-05_rb,3.7913e-05_rb,3.9243e-05_rb,4.1170e-05_rb/) kbo(:,42, 2) = (/ & &2.8335e-05_rb,2.9735e-05_rb,3.0788e-05_rb,3.1864e-05_rb,3.3563e-05_rb/) kbo(:,43, 2) = (/ & &2.2801e-05_rb,2.3962e-05_rb,2.4808e-05_rb,2.5685e-05_rb,2.6685e-05_rb/) kbo(:,44, 2) = (/ & &1.8216e-05_rb,1.9207e-05_rb,1.9940e-05_rb,2.0623e-05_rb,2.1468e-05_rb/) kbo(:,45, 2) = (/ & &1.4497e-05_rb,1.5369e-05_rb,1.6010e-05_rb,1.6560e-05_rb,1.7214e-05_rb/) kbo(:,46, 2) = (/ & &1.1546e-05_rb,1.2283e-05_rb,1.2829e-05_rb,1.3281e-05_rb,1.3789e-05_rb/) kbo(:,47, 2) = (/ & &9.1407e-06_rb,9.7102e-06_rb,1.0256e-05_rb,1.0642e-05_rb,1.1044e-05_rb/) kbo(:,48, 2) = (/ & &7.2582e-06_rb,7.7178e-06_rb,8.1771e-06_rb,8.5159e-06_rb,8.8287e-06_rb/) kbo(:,49, 2) = (/ & &5.7413e-06_rb,6.0895e-06_rb,6.4724e-06_rb,6.7948e-06_rb,7.0423e-06_rb/) kbo(:,50, 2) = (/ & &4.5645e-06_rb,4.8219e-06_rb,5.1398e-06_rb,5.4019e-06_rb,5.6251e-06_rb/) kbo(:,51, 2) = (/ & &3.6347e-06_rb,3.8345e-06_rb,4.0925e-06_rb,4.2999e-06_rb,4.4976e-06_rb/) kbo(:,52, 2) = (/ & &2.8914e-06_rb,3.0394e-06_rb,3.2506e-06_rb,3.4210e-06_rb,3.5835e-06_rb/) kbo(:,53, 2) = (/ & &2.2827e-06_rb,2.4183e-06_rb,2.5753e-06_rb,2.7165e-06_rb,2.8435e-06_rb/) kbo(:,54, 2) = (/ & &1.8109e-06_rb,1.9319e-06_rb,2.0517e-06_rb,2.1771e-06_rb,2.2825e-06_rb/) kbo(:,55, 2) = (/ & &1.4459e-06_rb,1.5442e-06_rb,1.6423e-06_rb,1.7466e-06_rb,1.8412e-06_rb/) kbo(:,56, 2) = (/ & &1.1487e-06_rb,1.2318e-06_rb,1.3168e-06_rb,1.4029e-06_rb,1.4853e-06_rb/) kbo(:,57, 2) = (/ & &9.1432e-07_rb,9.8206e-07_rb,1.0551e-06_rb,1.1262e-06_rb,1.1922e-06_rb/) kbo(:,58, 2) = (/ & &7.2392e-07_rb,7.8435e-07_rb,8.4467e-07_rb,9.0516e-07_rb,9.5596e-07_rb/) kbo(:,59, 2) = (/ & &5.9300e-07_rb,6.4245e-07_rb,6.9378e-07_rb,7.4259e-07_rb,7.8676e-07_rb/) kbo(:,13, 3) = (/ & &8.5247e-03_rb,8.9273e-03_rb,9.3494e-03_rb,9.7833e-03_rb,1.0198e-02_rb/) kbo(:,14, 3) = (/ & &7.6220e-03_rb,7.9465e-03_rb,8.3037e-03_rb,8.6680e-03_rb,9.0184e-03_rb/) kbo(:,15, 3) = (/ & &6.7313e-03_rb,7.0250e-03_rb,7.3390e-03_rb,7.6496e-03_rb,7.9523e-03_rb/) kbo(:,16, 3) = (/ & &5.8626e-03_rb,6.1324e-03_rb,6.4081e-03_rb,6.6680e-03_rb,6.9239e-03_rb/) kbo(:,17, 3) = (/ & &5.1190e-03_rb,5.3847e-03_rb,5.6114e-03_rb,5.8394e-03_rb,6.0319e-03_rb/) kbo(:,18, 3) = (/ & &4.4937e-03_rb,4.7329e-03_rb,4.9304e-03_rb,5.1178e-03_rb,5.2582e-03_rb/) kbo(:,19, 3) = (/ & &3.9714e-03_rb,4.1523e-03_rb,4.3393e-03_rb,4.4847e-03_rb,4.6081e-03_rb/) kbo(:,20, 3) = (/ & &3.4227e-03_rb,3.5888e-03_rb,3.7323e-03_rb,3.8457e-03_rb,3.9571e-03_rb/) kbo(:,21, 3) = (/ & &2.9355e-03_rb,3.0688e-03_rb,3.1813e-03_rb,3.2800e-03_rb,3.3665e-03_rb/) kbo(:,22, 3) = (/ & &2.5131e-03_rb,2.6136e-03_rb,2.7075e-03_rb,2.7888e-03_rb,2.8576e-03_rb/) kbo(:,23, 3) = (/ & &2.1439e-03_rb,2.2229e-03_rb,2.3069e-03_rb,2.3691e-03_rb,2.4314e-03_rb/) kbo(:,24, 3) = (/ & &1.8279e-03_rb,1.8995e-03_rb,1.9649e-03_rb,2.0190e-03_rb,2.0668e-03_rb/) kbo(:,25, 3) = (/ & &1.5582e-03_rb,1.6177e-03_rb,1.6674e-03_rb,1.7146e-03_rb,1.7550e-03_rb/) kbo(:,26, 3) = (/ & &1.3272e-03_rb,1.3717e-03_rb,1.4140e-03_rb,1.4536e-03_rb,1.4858e-03_rb/) kbo(:,27, 3) = (/ & &1.1230e-03_rb,1.1594e-03_rb,1.1953e-03_rb,1.2264e-03_rb,1.2540e-03_rb/) kbo(:,28, 3) = (/ & &9.4753e-04_rb,9.7763e-04_rb,1.0074e-03_rb,1.0308e-03_rb,1.0536e-03_rb/) kbo(:,29, 3) = (/ & &7.9502e-04_rb,8.1974e-04_rb,8.4372e-04_rb,8.6478e-04_rb,8.8308e-04_rb/) kbo(:,30, 3) = (/ & &6.6596e-04_rb,6.8697e-04_rb,7.0803e-04_rb,7.2439e-04_rb,7.5784e-04_rb/) kbo(:,31, 3) = (/ & &5.5745e-04_rb,5.7516e-04_rb,5.9220e-04_rb,6.0512e-04_rb,6.3289e-04_rb/) kbo(:,32, 3) = (/ & &4.6662e-04_rb,4.8150e-04_rb,4.9505e-04_rb,5.0361e-04_rb,5.2756e-04_rb/) kbo(:,33, 3) = (/ & &3.9094e-04_rb,4.0255e-04_rb,4.1211e-04_rb,4.1938e-04_rb,4.4050e-04_rb/) kbo(:,34, 3) = (/ & &3.2769e-04_rb,3.3699e-04_rb,3.4471e-04_rb,3.6275e-04_rb,3.6949e-04_rb/) kbo(:,35, 3) = (/ & &2.7475e-04_rb,2.8204e-04_rb,2.8828e-04_rb,3.0332e-04_rb,3.0836e-04_rb/) kbo(:,36, 3) = (/ & &2.2983e-04_rb,2.3568e-04_rb,2.4113e-04_rb,2.5319e-04_rb,2.5736e-04_rb/) kbo(:,37, 3) = (/ & &1.8895e-04_rb,1.9397e-04_rb,1.9807e-04_rb,2.0882e-04_rb,2.1275e-04_rb/) kbo(:,38, 3) = (/ & &1.5549e-04_rb,1.5951e-04_rb,1.6323e-04_rb,1.7252e-04_rb,1.7561e-04_rb/) kbo(:,39, 3) = (/ & &1.2765e-04_rb,1.3102e-04_rb,1.3443e-04_rb,1.3776e-04_rb,1.4478e-04_rb/) kbo(:,40, 3) = (/ & &1.0414e-04_rb,1.0697e-04_rb,1.0972e-04_rb,1.1251e-04_rb,1.1839e-04_rb/) kbo(:,41, 3) = (/ & &8.4861e-05_rb,8.7037e-05_rb,8.9345e-05_rb,9.1552e-05_rb,9.6450e-05_rb/) kbo(:,42, 3) = (/ & &6.9029e-05_rb,7.0620e-05_rb,7.2608e-05_rb,7.4362e-05_rb,7.8451e-05_rb/) kbo(:,43, 3) = (/ & &5.5731e-05_rb,5.6934e-05_rb,5.8627e-05_rb,6.0036e-05_rb,6.1419e-05_rb/) kbo(:,44, 3) = (/ & &4.4750e-05_rb,4.5795e-05_rb,4.7066e-05_rb,4.8320e-05_rb,4.9340e-05_rb/) kbo(:,45, 3) = (/ & &3.5902e-05_rb,3.6793e-05_rb,3.7710e-05_rb,3.8772e-05_rb,3.9634e-05_rb/) kbo(:,46, 3) = (/ & &2.8669e-05_rb,2.9406e-05_rb,3.0158e-05_rb,3.1055e-05_rb,3.1783e-05_rb/) kbo(:,47, 3) = (/ & &2.2957e-05_rb,2.3586e-05_rb,2.4179e-05_rb,2.4875e-05_rb,2.5463e-05_rb/) kbo(:,48, 3) = (/ & &1.8322e-05_rb,1.8764e-05_rb,1.9281e-05_rb,1.9846e-05_rb,2.0330e-05_rb/) kbo(:,49, 3) = (/ & &1.4581e-05_rb,1.4948e-05_rb,1.5326e-05_rb,1.5796e-05_rb,1.6188e-05_rb/) kbo(:,50, 3) = (/ & &1.1658e-05_rb,1.1996e-05_rb,1.2253e-05_rb,1.2626e-05_rb,1.2988e-05_rb/) kbo(:,51, 3) = (/ & &9.3098e-06_rb,9.6196e-06_rb,9.8320e-06_rb,1.0134e-05_rb,1.0431e-05_rb/) kbo(:,52, 3) = (/ & &7.3883e-06_rb,7.7108e-06_rb,7.8752e-06_rb,8.1035e-06_rb,8.3459e-06_rb/) kbo(:,53, 3) = (/ & &5.8592e-06_rb,6.1249e-06_rb,6.2920e-06_rb,6.4688e-06_rb,6.6480e-06_rb/) kbo(:,54, 3) = (/ & &4.7059e-06_rb,4.9088e-06_rb,5.0922e-06_rb,5.2219e-06_rb,5.3713e-06_rb/) kbo(:,55, 3) = (/ & &3.7899e-06_rb,3.9660e-06_rb,4.1365e-06_rb,4.2472e-06_rb,4.3644e-06_rb/) kbo(:,56, 3) = (/ & &3.0554e-06_rb,3.2100e-06_rb,3.3483e-06_rb,3.4494e-06_rb,3.5457e-06_rb/) kbo(:,57, 3) = (/ & &2.4489e-06_rb,2.5923e-06_rb,2.7014e-06_rb,2.7985e-06_rb,2.8823e-06_rb/) kbo(:,58, 3) = (/ & &1.9694e-06_rb,2.0948e-06_rb,2.1872e-06_rb,2.2740e-06_rb,2.3512e-06_rb/) kbo(:,59, 3) = (/ & &1.6303e-06_rb,1.7449e-06_rb,1.8268e-06_rb,1.9070e-06_rb,1.9708e-06_rb/) kbo(:,13, 4) = (/ & &1.8047e-02_rb,1.8718e-02_rb,1.9333e-02_rb,1.9945e-02_rb,2.0619e-02_rb/) kbo(:,14, 4) = (/ & &1.6432e-02_rb,1.7100e-02_rb,1.7741e-02_rb,1.8401e-02_rb,1.9089e-02_rb/) kbo(:,15, 4) = (/ & &1.4807e-02_rb,1.5451e-02_rb,1.6100e-02_rb,1.6750e-02_rb,1.7413e-02_rb/) kbo(:,16, 4) = (/ & &1.3139e-02_rb,1.3704e-02_rb,1.4262e-02_rb,1.4904e-02_rb,1.5552e-02_rb/) kbo(:,17, 4) = (/ & &1.1663e-02_rb,1.2130e-02_rb,1.2669e-02_rb,1.3218e-02_rb,1.3830e-02_rb/) kbo(:,18, 4) = (/ & &1.0329e-02_rb,1.0751e-02_rb,1.1271e-02_rb,1.1798e-02_rb,1.2374e-02_rb/) kbo(:,19, 4) = (/ & &9.2112e-03_rb,9.6353e-03_rb,1.0130e-02_rb,1.0649e-02_rb,1.1157e-02_rb/) kbo(:,20, 4) = (/ & &8.0574e-03_rb,8.4807e-03_rb,8.9054e-03_rb,9.3587e-03_rb,9.7992e-03_rb/) kbo(:,21, 4) = (/ & &7.0019e-03_rb,7.3853e-03_rb,7.7827e-03_rb,8.1758e-03_rb,8.5421e-03_rb/) kbo(:,22, 4) = (/ & &6.0893e-03_rb,6.4266e-03_rb,6.7752e-03_rb,7.1040e-03_rb,7.4095e-03_rb/) kbo(:,23, 4) = (/ & &5.2966e-03_rb,5.5992e-03_rb,5.8988e-03_rb,6.1748e-03_rb,6.4166e-03_rb/) kbo(:,24, 4) = (/ & &4.6174e-03_rb,4.8835e-03_rb,5.1353e-03_rb,5.3661e-03_rb,5.5632e-03_rb/) kbo(:,25, 4) = (/ & &4.0173e-03_rb,4.2433e-03_rb,4.4670e-03_rb,4.6521e-03_rb,4.8258e-03_rb/) kbo(:,26, 4) = (/ & &3.4865e-03_rb,3.6826e-03_rb,3.8670e-03_rb,4.0200e-03_rb,4.1614e-03_rb/) kbo(:,27, 4) = (/ & &3.0102e-03_rb,3.1785e-03_rb,3.3303e-03_rb,3.4548e-03_rb,3.5736e-03_rb/) kbo(:,28, 4) = (/ & &2.5902e-03_rb,2.7336e-03_rb,2.8553e-03_rb,2.9588e-03_rb,3.0603e-03_rb/) kbo(:,29, 4) = (/ & &2.2148e-03_rb,2.3314e-03_rb,2.4216e-03_rb,2.5098e-03_rb,2.5968e-03_rb/) kbo(:,30, 4) = (/ & &1.8884e-03_rb,1.9733e-03_rb,2.0479e-03_rb,2.1223e-03_rb,2.2826e-03_rb/) kbo(:,31, 4) = (/ & &1.5995e-03_rb,1.6617e-03_rb,1.7230e-03_rb,1.7883e-03_rb,1.9307e-03_rb/) kbo(:,32, 4) = (/ & &1.3496e-03_rb,1.3999e-03_rb,1.4538e-03_rb,1.5096e-03_rb,1.6319e-03_rb/) kbo(:,33, 4) = (/ & &1.1363e-03_rb,1.1813e-03_rb,1.2287e-03_rb,1.2753e-03_rb,1.3874e-03_rb/) kbo(:,34, 4) = (/ & &9.6663e-04_rb,1.0050e-03_rb,1.0440e-03_rb,1.1401e-03_rb,1.1914e-03_rb/) kbo(:,35, 4) = (/ & &8.2252e-04_rb,8.5291e-04_rb,8.9255e-04_rb,9.7906e-04_rb,1.0213e-03_rb/) kbo(:,36, 4) = (/ & &6.9843e-04_rb,7.2671e-04_rb,7.6052e-04_rb,8.3992e-04_rb,8.7893e-04_rb/) kbo(:,37, 4) = (/ & &5.7973e-04_rb,6.0624e-04_rb,6.3703e-04_rb,7.0532e-04_rb,7.4046e-04_rb/) kbo(:,38, 4) = (/ & &4.8124e-04_rb,5.0463e-04_rb,5.3059e-04_rb,5.8984e-04_rb,6.2161e-04_rb/) kbo(:,39, 4) = (/ & &3.9797e-04_rb,4.2007e-04_rb,4.4141e-04_rb,4.6508e-04_rb,5.2126e-04_rb/) kbo(:,40, 4) = (/ & &3.2587e-04_rb,3.4475e-04_rb,3.6264e-04_rb,3.8270e-04_rb,4.3106e-04_rb/) kbo(:,41, 4) = (/ & &2.6592e-04_rb,2.8134e-04_rb,2.9669e-04_rb,3.1406e-04_rb,3.5481e-04_rb/) kbo(:,42, 4) = (/ & &2.1654e-04_rb,2.2933e-04_rb,2.4233e-04_rb,2.5702e-04_rb,2.9186e-04_rb/) kbo(:,43, 4) = (/ & &1.7468e-04_rb,1.8487e-04_rb,1.9562e-04_rb,2.0857e-04_rb,2.2203e-04_rb/) kbo(:,44, 4) = (/ & &1.3990e-04_rb,1.4813e-04_rb,1.5725e-04_rb,1.6786e-04_rb,1.7935e-04_rb/) kbo(:,45, 4) = (/ & &1.1147e-04_rb,1.1816e-04_rb,1.2590e-04_rb,1.3456e-04_rb,1.4433e-04_rb/) kbo(:,46, 4) = (/ & &8.8593e-05_rb,9.4029e-05_rb,1.0037e-04_rb,1.0744e-04_rb,1.1598e-04_rb/) kbo(:,47, 4) = (/ & &7.0072e-05_rb,7.4712e-05_rb,7.9919e-05_rb,8.5900e-05_rb,9.3033e-05_rb/) kbo(:,48, 4) = (/ & &5.5180e-05_rb,5.9132e-05_rb,6.3502e-05_rb,6.8198e-05_rb,7.4266e-05_rb/) kbo(:,49, 4) = (/ & &4.3109e-05_rb,4.6388e-05_rb,5.0075e-05_rb,5.3912e-05_rb,5.8896e-05_rb/) kbo(:,50, 4) = (/ & &3.4049e-05_rb,3.6756e-05_rb,3.9830e-05_rb,4.3128e-05_rb,4.7184e-05_rb/) kbo(:,51, 4) = (/ & &2.7005e-05_rb,2.9148e-05_rb,3.1674e-05_rb,3.4539e-05_rb,3.7748e-05_rb/) kbo(:,52, 4) = (/ & &2.1299e-05_rb,2.3058e-05_rb,2.5114e-05_rb,2.7488e-05_rb,3.0113e-05_rb/) kbo(:,53, 4) = (/ & &1.6705e-05_rb,1.8140e-05_rb,1.9875e-05_rb,2.1784e-05_rb,2.3982e-05_rb/) kbo(:,54, 4) = (/ & &1.3350e-05_rb,1.4560e-05_rb,1.5930e-05_rb,1.7502e-05_rb,1.9341e-05_rb/) kbo(:,55, 4) = (/ & &1.0773e-05_rb,1.1749e-05_rb,1.2886e-05_rb,1.4153e-05_rb,1.5702e-05_rb/) kbo(:,56, 4) = (/ & &8.6460e-06_rb,9.4510e-06_rb,1.0398e-05_rb,1.1452e-05_rb,1.2706e-05_rb/) kbo(:,57, 4) = (/ & &6.9096e-06_rb,7.6015e-06_rb,8.3864e-06_rb,9.2473e-06_rb,1.0265e-05_rb/) kbo(:,58, 4) = (/ & &5.5254e-06_rb,6.1387e-06_rb,6.7789e-06_rb,7.4818e-06_rb,8.3075e-06_rb/) kbo(:,59, 4) = (/ & &4.6551e-06_rb,5.1865e-06_rb,5.7401e-06_rb,6.3194e-06_rb,7.0521e-06_rb/) kbo(:,13, 5) = (/ & &3.4718e-02_rb,3.5594e-02_rb,3.6803e-02_rb,3.8083e-02_rb,3.9520e-02_rb/) kbo(:,14, 5) = (/ & &3.2238e-02_rb,3.3220e-02_rb,3.4363e-02_rb,3.5532e-02_rb,3.6904e-02_rb/) kbo(:,15, 5) = (/ & &3.0600e-02_rb,3.1610e-02_rb,3.2771e-02_rb,3.3966e-02_rb,3.5285e-02_rb/) kbo(:,16, 5) = (/ & &2.8159e-02_rb,2.9168e-02_rb,3.0264e-02_rb,3.1396e-02_rb,3.2647e-02_rb/) kbo(:,17, 5) = (/ & &2.5788e-02_rb,2.6724e-02_rb,2.7768e-02_rb,2.8866e-02_rb,3.0013e-02_rb/) kbo(:,18, 5) = (/ & &2.3487e-02_rb,2.4520e-02_rb,2.5499e-02_rb,2.6557e-02_rb,2.7740e-02_rb/) kbo(:,19, 5) = (/ & &2.1508e-02_rb,2.2551e-02_rb,2.3562e-02_rb,2.4611e-02_rb,2.5770e-02_rb/) kbo(:,20, 5) = (/ & &1.9153e-02_rb,2.0099e-02_rb,2.1123e-02_rb,2.2234e-02_rb,2.3370e-02_rb/) kbo(:,21, 5) = (/ & &1.6910e-02_rb,1.7820e-02_rb,1.8821e-02_rb,1.9939e-02_rb,2.1019e-02_rb/) kbo(:,22, 5) = (/ & &1.4892e-02_rb,1.5824e-02_rb,1.6836e-02_rb,1.7897e-02_rb,1.8973e-02_rb/) kbo(:,23, 5) = (/ & &1.3201e-02_rb,1.4110e-02_rb,1.5066e-02_rb,1.6122e-02_rb,1.7163e-02_rb/) kbo(:,24, 5) = (/ & &1.1786e-02_rb,1.2643e-02_rb,1.3592e-02_rb,1.4574e-02_rb,1.5604e-02_rb/) kbo(:,25, 5) = (/ & &1.0551e-02_rb,1.1376e-02_rb,1.2278e-02_rb,1.3228e-02_rb,1.4135e-02_rb/) kbo(:,26, 5) = (/ & &9.4341e-03_rb,1.0259e-02_rb,1.1075e-02_rb,1.1949e-02_rb,1.2760e-02_rb/) kbo(:,27, 5) = (/ & &8.4286e-03_rb,9.1773e-03_rb,9.9233e-03_rb,1.0676e-02_rb,1.1418e-02_rb/) kbo(:,28, 5) = (/ & &7.5098e-03_rb,8.1852e-03_rb,8.8662e-03_rb,9.5190e-03_rb,1.0161e-02_rb/) kbo(:,29, 5) = (/ & &6.6339e-03_rb,7.2146e-03_rb,7.8111e-03_rb,8.3875e-03_rb,8.9339e-03_rb/) kbo(:,30, 5) = (/ & &5.8318e-03_rb,6.3504e-03_rb,6.8644e-03_rb,7.3656e-03_rb,8.2854e-03_rb/) kbo(:,31, 5) = (/ & &5.0938e-03_rb,5.5450e-03_rb,5.9883e-03_rb,6.4048e-03_rb,7.2251e-03_rb/) kbo(:,32, 5) = (/ & &4.4534e-03_rb,4.8436e-03_rb,5.2343e-03_rb,5.5836e-03_rb,6.3649e-03_rb/) kbo(:,33, 5) = (/ & &3.8952e-03_rb,4.2551e-03_rb,4.5701e-03_rb,4.9101e-03_rb,5.6667e-03_rb/) kbo(:,34, 5) = (/ & &3.4434e-03_rb,3.7546e-03_rb,4.0585e-03_rb,4.7206e-03_rb,5.1136e-03_rb/) kbo(:,35, 5) = (/ & &3.0323e-03_rb,3.3194e-03_rb,3.6005e-03_rb,4.2419e-03_rb,4.6276e-03_rb/) kbo(:,36, 5) = (/ & &2.6713e-03_rb,2.9283e-03_rb,3.2072e-03_rb,3.8119e-03_rb,4.2091e-03_rb/) kbo(:,37, 5) = (/ & &2.2748e-03_rb,2.5138e-03_rb,2.7697e-03_rb,3.3361e-03_rb,3.7192e-03_rb/) kbo(:,38, 5) = (/ & &1.9294e-03_rb,2.1456e-03_rb,2.3858e-03_rb,2.9205e-03_rb,3.2883e-03_rb/) kbo(:,39, 5) = (/ & &1.6394e-03_rb,1.8308e-03_rb,2.0616e-03_rb,2.3311e-03_rb,2.9179e-03_rb/) kbo(:,40, 5) = (/ & &1.3611e-03_rb,1.5347e-03_rb,1.7447e-03_rb,1.9909e-03_rb,2.5336e-03_rb/) kbo(:,41, 5) = (/ & &1.1258e-03_rb,1.2811e-03_rb,1.4710e-03_rb,1.6948e-03_rb,2.1957e-03_rb/) kbo(:,42, 5) = (/ & &9.3054e-04_rb,1.0685e-03_rb,1.2380e-03_rb,1.4417e-03_rb,1.8992e-03_rb/) kbo(:,43, 5) = (/ & &7.5595e-04_rb,8.7758e-04_rb,1.0267e-03_rb,1.2093e-03_rb,1.4383e-03_rb/) kbo(:,44, 5) = (/ & &6.0708e-04_rb,7.1329e-04_rb,8.4285e-04_rb,1.0050e-03_rb,1.2098e-03_rb/) kbo(:,45, 5) = (/ & &4.8565e-04_rb,5.7704e-04_rb,6.8980e-04_rb,8.3254e-04_rb,1.0112e-03_rb/) kbo(:,46, 5) = (/ & &3.8568e-04_rb,4.6292e-04_rb,5.6071e-04_rb,6.8523e-04_rb,8.4055e-04_rb/) kbo(:,47, 5) = (/ & &3.0303e-04_rb,3.6775e-04_rb,4.5081e-04_rb,5.5621e-04_rb,6.9040e-04_rb/) kbo(:,48, 5) = (/ & &2.3629e-04_rb,2.9047e-04_rb,3.6009e-04_rb,4.4971e-04_rb,5.6449e-04_rb/) kbo(:,49, 5) = (/ & &1.8277e-04_rb,2.2768e-04_rb,2.8500e-04_rb,3.5988e-04_rb,4.5780e-04_rb/) kbo(:,50, 5) = (/ & &1.4236e-04_rb,1.7948e-04_rb,2.2683e-04_rb,2.8959e-04_rb,3.7278e-04_rb/) kbo(:,51, 5) = (/ & &1.1105e-04_rb,1.4188e-04_rb,1.8087e-04_rb,2.3323e-04_rb,3.0421e-04_rb/) kbo(:,52, 5) = (/ & &8.5949e-05_rb,1.1090e-04_rb,1.4310e-04_rb,1.8669e-04_rb,2.4668e-04_rb/) kbo(:,53, 5) = (/ & &6.6010e-05_rb,8.6189e-05_rb,1.1254e-04_rb,1.4823e-04_rb,1.9832e-04_rb/) kbo(:,54, 5) = (/ & &5.1508e-05_rb,6.7802e-05_rb,8.9425e-05_rb,1.1908e-04_rb,1.6117e-04_rb/) kbo(:,55, 5) = (/ & &4.0450e-05_rb,5.3662e-05_rb,7.1436e-05_rb,9.6039e-05_rb,1.3135e-04_rb/) kbo(:,56, 5) = (/ & &3.1739e-05_rb,4.2180e-05_rb,5.6735e-05_rb,7.6991e-05_rb,1.0631e-04_rb/) kbo(:,57, 5) = (/ & &2.4823e-05_rb,3.2939e-05_rb,4.4784e-05_rb,6.1322e-05_rb,8.5682e-05_rb/) kbo(:,58, 5) = (/ & &1.9514e-05_rb,2.5849e-05_rb,3.5397e-05_rb,4.8867e-05_rb,6.9076e-05_rb/) kbo(:,59, 5) = (/ & &1.6536e-05_rb,2.1873e-05_rb,3.0188e-05_rb,4.2152e-05_rb,6.0090e-05_rb/) kbo(:,13, 6) = (/ & &7.0936e-02_rb,7.2599e-02_rb,7.4412e-02_rb,7.6631e-02_rb,7.9197e-02_rb/) kbo(:,14, 6) = (/ & &6.5108e-02_rb,6.6883e-02_rb,6.8861e-02_rb,7.1194e-02_rb,7.3890e-02_rb/) kbo(:,15, 6) = (/ & &6.1844e-02_rb,6.3875e-02_rb,6.5914e-02_rb,6.8440e-02_rb,7.1135e-02_rb/) kbo(:,16, 6) = (/ & &5.8757e-02_rb,6.1061e-02_rb,6.3588e-02_rb,6.6243e-02_rb,6.9218e-02_rb/) kbo(:,17, 6) = (/ & &5.6075e-02_rb,5.8373e-02_rb,6.0818e-02_rb,6.3696e-02_rb,6.6956e-02_rb/) kbo(:,18, 6) = (/ & &5.3195e-02_rb,5.5446e-02_rb,5.8088e-02_rb,6.0906e-02_rb,6.3907e-02_rb/) kbo(:,19, 6) = (/ & &5.0738e-02_rb,5.2979e-02_rb,5.5433e-02_rb,5.8280e-02_rb,6.1280e-02_rb/) kbo(:,20, 6) = (/ & &4.6694e-02_rb,4.8984e-02_rb,5.1371e-02_rb,5.4034e-02_rb,5.7035e-02_rb/) kbo(:,21, 6) = (/ & &4.2499e-02_rb,4.4760e-02_rb,4.7087e-02_rb,4.9709e-02_rb,5.2664e-02_rb/) kbo(:,22, 6) = (/ & &3.8535e-02_rb,4.0776e-02_rb,4.3118e-02_rb,4.5805e-02_rb,4.8711e-02_rb/) kbo(:,23, 6) = (/ & &3.4990e-02_rb,3.7200e-02_rb,3.9611e-02_rb,4.2290e-02_rb,4.5266e-02_rb/) kbo(:,24, 6) = (/ & &3.1926e-02_rb,3.4161e-02_rb,3.6618e-02_rb,3.9305e-02_rb,4.2288e-02_rb/) kbo(:,25, 6) = (/ & &2.9165e-02_rb,3.1418e-02_rb,3.3868e-02_rb,3.6528e-02_rb,3.9610e-02_rb/) kbo(:,26, 6) = (/ & &2.6632e-02_rb,2.8869e-02_rb,3.1334e-02_rb,3.4138e-02_rb,3.7332e-02_rb/) kbo(:,27, 6) = (/ & &2.4229e-02_rb,2.6481e-02_rb,2.9027e-02_rb,3.1970e-02_rb,3.5096e-02_rb/) kbo(:,28, 6) = (/ & &2.2118e-02_rb,2.4355e-02_rb,2.6986e-02_rb,2.9969e-02_rb,3.3170e-02_rb/) kbo(:,29, 6) = (/ & &2.0075e-02_rb,2.2435e-02_rb,2.5083e-02_rb,2.8074e-02_rb,3.1267e-02_rb/) kbo(:,30, 6) = (/ & &1.8356e-02_rb,2.0732e-02_rb,2.3448e-02_rb,2.6423e-02_rb,3.0839e-02_rb/) kbo(:,31, 6) = (/ & &1.6821e-02_rb,1.9252e-02_rb,2.1963e-02_rb,2.5007e-02_rb,2.9517e-02_rb/) kbo(:,32, 6) = (/ & &1.5646e-02_rb,1.8065e-02_rb,2.0807e-02_rb,2.3917e-02_rb,2.8359e-02_rb/) kbo(:,33, 6) = (/ & &1.4697e-02_rb,1.7147e-02_rb,1.9949e-02_rb,2.3040e-02_rb,2.7566e-02_rb/) kbo(:,34, 6) = (/ & &1.3988e-02_rb,1.6488e-02_rb,1.9318e-02_rb,2.3681e-02_rb,2.7159e-02_rb/) kbo(:,35, 6) = (/ & &1.3271e-02_rb,1.5781e-02_rb,1.8680e-02_rb,2.3148e-02_rb,2.6620e-02_rb/) kbo(:,36, 6) = (/ & &1.2443e-02_rb,1.5030e-02_rb,1.7973e-02_rb,2.2405e-02_rb,2.5873e-02_rb/) kbo(:,37, 6) = (/ & &1.1274e-02_rb,1.3767e-02_rb,1.6642e-02_rb,2.1024e-02_rb,2.4462e-02_rb/) kbo(:,38, 6) = (/ & &1.0206e-02_rb,1.2636e-02_rb,1.5395e-02_rb,1.9741e-02_rb,2.3148e-02_rb/) kbo(:,39, 6) = (/ & &9.2481e-03_rb,1.1600e-02_rb,1.4300e-02_rb,1.7327e-02_rb,2.1951e-02_rb/) kbo(:,40, 6) = (/ & &8.1267e-03_rb,1.0335e-02_rb,1.2898e-02_rb,1.5836e-02_rb,2.0384e-02_rb/) kbo(:,41, 6) = (/ & &7.0946e-03_rb,9.1506e-03_rb,1.1587e-02_rb,1.4430e-02_rb,1.8862e-02_rb/) kbo(:,42, 6) = (/ & &6.1743e-03_rb,8.0792e-03_rb,1.0417e-02_rb,1.3119e-02_rb,1.7424e-02_rb/) kbo(:,43, 6) = (/ & &5.2531e-03_rb,6.9901e-03_rb,9.1605e-03_rb,1.1697e-02_rb,1.4583e-02_rb/) kbo(:,44, 6) = (/ & &4.3985e-03_rb,5.9665e-03_rb,7.9494e-03_rb,1.0327e-02_rb,1.3038e-02_rb/) kbo(:,45, 6) = (/ & &3.6636e-03_rb,5.0581e-03_rb,6.8612e-03_rb,9.0504e-03_rb,1.1599e-02_rb/) kbo(:,46, 6) = (/ & &3.0066e-03_rb,4.2365e-03_rb,5.8498e-03_rb,7.8432e-03_rb,1.0214e-02_rb/) kbo(:,47, 6) = (/ & &2.4125e-03_rb,3.4783e-03_rb,4.8978e-03_rb,6.6863e-03_rb,8.8516e-03_rb/) kbo(:,48, 6) = (/ & &1.9141e-03_rb,2.8190e-03_rb,4.0533e-03_rb,5.6391e-03_rb,7.5940e-03_rb/) kbo(:,49, 6) = (/ & &1.4995e-03_rb,2.2582e-03_rb,3.3183e-03_rb,4.7078e-03_rb,6.4551e-03_rb/) kbo(:,50, 6) = (/ & &1.1787e-03_rb,1.8162e-03_rb,2.7290e-03_rb,3.9486e-03_rb,5.5105e-03_rb/) kbo(:,51, 6) = (/ & &9.2536e-04_rb,1.4546e-03_rb,2.2372e-03_rb,3.3051e-03_rb,4.6909e-03_rb/) kbo(:,52, 6) = (/ & &7.1718e-04_rb,1.1533e-03_rb,1.8133e-03_rb,2.7360e-03_rb,3.9584e-03_rb/) kbo(:,53, 6) = (/ & &5.4913e-04_rb,9.0136e-04_rb,1.4515e-03_rb,2.2390e-03_rb,3.3052e-03_rb/) kbo(:,54, 6) = (/ & &4.2639e-04_rb,7.1524e-04_rb,1.1781e-03_rb,1.8604e-03_rb,2.8043e-03_rb/) kbo(:,55, 6) = (/ & &3.3211e-04_rb,5.6986e-04_rb,9.6021e-04_rb,1.5541e-03_rb,2.3898e-03_rb/) kbo(:,56, 6) = (/ & &2.5572e-04_rb,4.4925e-04_rb,7.7580e-04_rb,1.2883e-03_rb,2.0250e-03_rb/) kbo(:,57, 6) = (/ & &1.9517e-04_rb,3.4994e-04_rb,6.2105e-04_rb,1.0576e-03_rb,1.7032e-03_rb/) kbo(:,58, 6) = (/ & &1.4935e-04_rb,2.7300e-04_rb,4.9776e-04_rb,8.6979e-04_rb,1.4384e-03_rb/) kbo(:,59, 6) = (/ & &1.2881e-04_rb,2.4100e-04_rb,4.4942e-04_rb,8.0211e-04_rb,1.3455e-03_rb/) kbo(:,13, 7) = (/ & &1.5834e-01_rb,1.6249e-01_rb,1.6718e-01_rb,1.7299e-01_rb,1.7881e-01_rb/) kbo(:,14, 7) = (/ & &1.4697e-01_rb,1.5136e-01_rb,1.5631e-01_rb,1.6088e-01_rb,1.6631e-01_rb/) kbo(:,15, 7) = (/ & &1.4037e-01_rb,1.4484e-01_rb,1.4966e-01_rb,1.5465e-01_rb,1.6040e-01_rb/) kbo(:,16, 7) = (/ & &1.3335e-01_rb,1.3799e-01_rb,1.4282e-01_rb,1.4817e-01_rb,1.5433e-01_rb/) kbo(:,17, 7) = (/ & &1.2994e-01_rb,1.3481e-01_rb,1.4043e-01_rb,1.4652e-01_rb,1.5312e-01_rb/) kbo(:,18, 7) = (/ & &1.2814e-01_rb,1.3395e-01_rb,1.4042e-01_rb,1.4789e-01_rb,1.5627e-01_rb/) kbo(:,19, 7) = (/ & &1.2710e-01_rb,1.3361e-01_rb,1.4139e-01_rb,1.4985e-01_rb,1.5917e-01_rb/) kbo(:,20, 7) = (/ & &1.2151e-01_rb,1.2844e-01_rb,1.3635e-01_rb,1.4526e-01_rb,1.5485e-01_rb/) kbo(:,21, 7) = (/ & &1.1463e-01_rb,1.2176e-01_rb,1.2980e-01_rb,1.3882e-01_rb,1.4834e-01_rb/) kbo(:,22, 7) = (/ & &1.0733e-01_rb,1.1471e-01_rb,1.2303e-01_rb,1.3189e-01_rb,1.4224e-01_rb/) kbo(:,23, 7) = (/ & &1.0056e-01_rb,1.0811e-01_rb,1.1675e-01_rb,1.2597e-01_rb,1.3621e-01_rb/) kbo(:,24, 7) = (/ & &9.4505e-02_rb,1.0259e-01_rb,1.1127e-01_rb,1.2075e-01_rb,1.3101e-01_rb/) kbo(:,25, 7) = (/ & &8.9426e-02_rb,9.7409e-02_rb,1.0620e-01_rb,1.1605e-01_rb,1.2683e-01_rb/) kbo(:,26, 7) = (/ & &8.4533e-02_rb,9.2442e-02_rb,1.0164e-01_rb,1.1173e-01_rb,1.2271e-01_rb/) kbo(:,27, 7) = (/ & &7.9749e-02_rb,8.8003e-02_rb,9.7311e-02_rb,1.0746e-01_rb,1.1871e-01_rb/) kbo(:,28, 7) = (/ & &7.5483e-02_rb,8.3936e-02_rb,9.3313e-02_rb,1.0378e-01_rb,1.1507e-01_rb/) kbo(:,29, 7) = (/ & &7.1103e-02_rb,7.9904e-02_rb,8.9739e-02_rb,1.0032e-01_rb,1.1148e-01_rb/) kbo(:,30, 7) = (/ & &6.7483e-02_rb,7.6590e-02_rb,8.6589e-02_rb,9.7210e-02_rb,1.1098e-01_rb/) kbo(:,31, 7) = (/ & &6.4404e-02_rb,7.3695e-02_rb,8.3853e-02_rb,9.4939e-02_rb,1.0916e-01_rb/) kbo(:,32, 7) = (/ & &6.2132e-02_rb,7.1593e-02_rb,8.2197e-02_rb,9.3726e-02_rb,1.0838e-01_rb/) kbo(:,33, 7) = (/ & &6.0812e-02_rb,7.0660e-02_rb,8.1722e-02_rb,9.3787e-02_rb,1.0875e-01_rb/) kbo(:,34, 7) = (/ & &6.0340e-02_rb,7.0788e-02_rb,8.2210e-02_rb,9.6618e-02_rb,1.0965e-01_rb/) kbo(:,35, 7) = (/ & &5.9655e-02_rb,7.0346e-02_rb,8.1926e-02_rb,9.6670e-02_rb,1.0999e-01_rb/) kbo(:,36, 7) = (/ & &5.8475e-02_rb,6.9222e-02_rb,8.1005e-02_rb,9.6061e-02_rb,1.0964e-01_rb/) kbo(:,37, 7) = (/ & &5.5330e-02_rb,6.5969e-02_rb,7.7716e-02_rb,9.2736e-02_rb,1.0626e-01_rb/) kbo(:,38, 7) = (/ & &5.2353e-02_rb,6.2872e-02_rb,7.4519e-02_rb,8.9400e-02_rb,1.0278e-01_rb/) kbo(:,39, 7) = (/ & &4.9669e-02_rb,5.9933e-02_rb,7.1439e-02_rb,8.4019e-02_rb,9.9553e-02_rb/) kbo(:,40, 7) = (/ & &4.5810e-02_rb,5.5845e-02_rb,6.7001e-02_rb,7.9231e-02_rb,9.4558e-02_rb/) kbo(:,41, 7) = (/ & &4.2118e-02_rb,5.1782e-02_rb,6.2542e-02_rb,7.4429e-02_rb,8.9527e-02_rb/) kbo(:,42, 7) = (/ & &3.8602e-02_rb,4.7947e-02_rb,5.8290e-02_rb,6.9790e-02_rb,8.4691e-02_rb/) kbo(:,43, 7) = (/ & &3.4683e-02_rb,4.3605e-02_rb,5.3513e-02_rb,6.4549e-02_rb,7.6612e-02_rb/) kbo(:,44, 7) = (/ & &3.0820e-02_rb,3.9228e-02_rb,4.8707e-02_rb,5.9113e-02_rb,7.0667e-02_rb/) kbo(:,45, 7) = (/ & &2.7206e-02_rb,3.5088e-02_rb,4.4017e-02_rb,5.3958e-02_rb,6.4971e-02_rb/) kbo(:,46, 7) = (/ & &2.3728e-02_rb,3.1004e-02_rb,3.9410e-02_rb,4.8844e-02_rb,5.9195e-02_rb/) kbo(:,47, 7) = (/ & &2.0318e-02_rb,2.6968e-02_rb,3.4803e-02_rb,4.3672e-02_rb,5.3514e-02_rb/) kbo(:,48, 7) = (/ & &1.7221e-02_rb,2.3270e-02_rb,3.0475e-02_rb,3.8751e-02_rb,4.8067e-02_rb/) kbo(:,49, 7) = (/ & &1.4371e-02_rb,1.9831e-02_rb,2.6371e-02_rb,3.4011e-02_rb,4.2706e-02_rb/) kbo(:,50, 7) = (/ & &1.2067e-02_rb,1.6953e-02_rb,2.2948e-02_rb,3.0025e-02_rb,3.8163e-02_rb/) kbo(:,51, 7) = (/ & &1.0081e-02_rb,1.4494e-02_rb,1.9976e-02_rb,2.6511e-02_rb,3.4117e-02_rb/) kbo(:,52, 7) = (/ & &8.3102e-03_rb,1.2227e-02_rb,1.7157e-02_rb,2.3198e-02_rb,3.0263e-02_rb/) kbo(:,53, 7) = (/ & &6.7300e-03_rb,1.0157e-02_rb,1.4580e-02_rb,2.0030e-02_rb,2.6549e-02_rb/) kbo(:,54, 7) = (/ & &5.5699e-03_rb,8.6183e-03_rb,1.2632e-02_rb,1.7641e-02_rb,2.3782e-02_rb/) kbo(:,55, 7) = (/ & &4.6424e-03_rb,7.3686e-03_rb,1.1048e-02_rb,1.5705e-02_rb,2.1480e-02_rb/) kbo(:,56, 7) = (/ & &3.8360e-03_rb,6.2508e-03_rb,9.5901e-03_rb,1.3914e-02_rb,1.9327e-02_rb/) kbo(:,57, 7) = (/ & &3.1377e-03_rb,5.2589e-03_rb,8.2647e-03_rb,1.2235e-02_rb,1.7290e-02_rb/) kbo(:,58, 7) = (/ & &2.5678e-03_rb,4.4320e-03_rb,7.1403e-03_rb,1.0793e-02_rb,1.5530e-02_rb/) kbo(:,59, 7) = (/ & &2.3969e-03_rb,4.2221e-03_rb,6.8990e-03_rb,1.0531e-02_rb,1.5294e-02_rb/) kbo(:,13, 8) = (/ & &4.5374e-01_rb,4.6892e-01_rb,4.8468e-01_rb,5.0059e-01_rb,5.1827e-01_rb/) kbo(:,14, 8) = (/ & &4.3219e-01_rb,4.4586e-01_rb,4.6019e-01_rb,4.7608e-01_rb,4.9298e-01_rb/) kbo(:,15, 8) = (/ & &4.0920e-01_rb,4.2277e-01_rb,4.3751e-01_rb,4.5370e-01_rb,4.7139e-01_rb/) kbo(:,16, 8) = (/ & &3.8774e-01_rb,3.9959e-01_rb,4.1438e-01_rb,4.3100e-01_rb,4.4920e-01_rb/) kbo(:,17, 8) = (/ & &3.7675e-01_rb,3.9034e-01_rb,4.0535e-01_rb,4.2142e-01_rb,4.3931e-01_rb/) kbo(:,18, 8) = (/ & &3.7210e-01_rb,3.8690e-01_rb,4.0196e-01_rb,4.1888e-01_rb,4.3633e-01_rb/) kbo(:,19, 8) = (/ & &3.8004e-01_rb,3.9604e-01_rb,4.1156e-01_rb,4.2942e-01_rb,4.4872e-01_rb/) kbo(:,20, 8) = (/ & &3.8032e-01_rb,3.9826e-01_rb,4.1629e-01_rb,4.3599e-01_rb,4.5653e-01_rb/) kbo(:,21, 8) = (/ & &3.7841e-01_rb,3.9929e-01_rb,4.1819e-01_rb,4.3972e-01_rb,4.6162e-01_rb/) kbo(:,22, 8) = (/ & &3.7504e-01_rb,3.9852e-01_rb,4.2087e-01_rb,4.4494e-01_rb,4.6985e-01_rb/) kbo(:,23, 8) = (/ & &3.7298e-01_rb,3.9721e-01_rb,4.2335e-01_rb,4.5127e-01_rb,4.7949e-01_rb/) kbo(:,24, 8) = (/ & &3.7096e-01_rb,3.9820e-01_rb,4.2817e-01_rb,4.5927e-01_rb,4.9128e-01_rb/) kbo(:,25, 8) = (/ & &3.6772e-01_rb,3.9818e-01_rb,4.3145e-01_rb,4.6548e-01_rb,5.0188e-01_rb/) kbo(:,26, 8) = (/ & &3.6515e-01_rb,3.9789e-01_rb,4.3248e-01_rb,4.6959e-01_rb,5.0716e-01_rb/) kbo(:,27, 8) = (/ & &3.5912e-01_rb,3.9421e-01_rb,4.3089e-01_rb,4.6934e-01_rb,5.0871e-01_rb/) kbo(:,28, 8) = (/ & &3.5260e-01_rb,3.8990e-01_rb,4.2842e-01_rb,4.6770e-01_rb,5.0872e-01_rb/) kbo(:,29, 8) = (/ & &3.4566e-01_rb,3.8302e-01_rb,4.2135e-01_rb,4.6236e-01_rb,5.0539e-01_rb/) kbo(:,30, 8) = (/ & &3.3909e-01_rb,3.7648e-01_rb,4.1601e-01_rb,4.5869e-01_rb,5.0690e-01_rb/) kbo(:,31, 8) = (/ & &3.3097e-01_rb,3.6927e-01_rb,4.1020e-01_rb,4.5248e-01_rb,5.0201e-01_rb/) kbo(:,32, 8) = (/ & &3.2677e-01_rb,3.6552e-01_rb,4.0712e-01_rb,4.4947e-01_rb,4.9828e-01_rb/) kbo(:,33, 8) = (/ & &3.2437e-01_rb,3.6324e-01_rb,4.0445e-01_rb,4.4744e-01_rb,4.9526e-01_rb/) kbo(:,34, 8) = (/ & &3.2478e-01_rb,3.6385e-01_rb,4.0433e-01_rb,4.5266e-01_rb,4.9618e-01_rb/) kbo(:,35, 8) = (/ & &3.2335e-01_rb,3.6225e-01_rb,4.0283e-01_rb,4.5093e-01_rb,4.9595e-01_rb/) kbo(:,36, 8) = (/ & &3.1952e-01_rb,3.5913e-01_rb,4.0020e-01_rb,4.4926e-01_rb,4.9354e-01_rb/) kbo(:,37, 8) = (/ & &3.0545e-01_rb,3.4531e-01_rb,3.8604e-01_rb,4.3520e-01_rb,4.7874e-01_rb/) kbo(:,38, 8) = (/ & &2.9161e-01_rb,3.3033e-01_rb,3.7111e-01_rb,4.1959e-01_rb,4.6334e-01_rb/) kbo(:,39, 8) = (/ & &2.7728e-01_rb,3.1579e-01_rb,3.5591e-01_rb,3.9884e-01_rb,4.4658e-01_rb/) kbo(:,40, 8) = (/ & &2.6059e-01_rb,2.9767e-01_rb,3.3670e-01_rb,3.7917e-01_rb,4.2621e-01_rb/) kbo(:,41, 8) = (/ & &2.4427e-01_rb,2.7974e-01_rb,3.1821e-01_rb,3.5868e-01_rb,4.0499e-01_rb/) kbo(:,42, 8) = (/ & &2.2818e-01_rb,2.6203e-01_rb,2.9920e-01_rb,3.3811e-01_rb,3.8330e-01_rb/) kbo(:,43, 8) = (/ & &2.1001e-01_rb,2.4274e-01_rb,2.7765e-01_rb,3.1477e-01_rb,3.5346e-01_rb/) kbo(:,44, 8) = (/ & &1.9124e-01_rb,2.2202e-01_rb,2.5515e-01_rb,2.8981e-01_rb,3.2699e-01_rb/) kbo(:,45, 8) = (/ & &1.7260e-01_rb,2.0229e-01_rb,2.3352e-01_rb,2.6561e-01_rb,2.9973e-01_rb/) kbo(:,46, 8) = (/ & &1.5463e-01_rb,1.8250e-01_rb,2.1175e-01_rb,2.4206e-01_rb,2.7362e-01_rb/) kbo(:,47, 8) = (/ & &1.3753e-01_rb,1.6353e-01_rb,1.9105e-01_rb,2.1973e-01_rb,2.4911e-01_rb/) kbo(:,48, 8) = (/ & &1.2102e-01_rb,1.4531e-01_rb,1.7086e-01_rb,1.9744e-01_rb,2.2473e-01_rb/) kbo(:,49, 8) = (/ & &1.0521e-01_rb,1.2719e-01_rb,1.5065e-01_rb,1.7507e-01_rb,1.9976e-01_rb/) kbo(:,50, 8) = (/ & &9.2290e-02_rb,1.1288e-01_rb,1.3468e-01_rb,1.5758e-01_rb,1.8102e-01_rb/) kbo(:,51, 8) = (/ & &8.1396e-02_rb,1.0065e-01_rb,1.2103e-01_rb,1.4278e-01_rb,1.6472e-01_rb/) kbo(:,52, 8) = (/ & &7.1108e-02_rb,8.8827e-02_rb,1.0785e-01_rb,1.2780e-01_rb,1.4857e-01_rb/) kbo(:,53, 8) = (/ & &6.0985e-02_rb,7.7296e-02_rb,9.4909e-02_rb,1.1304e-01_rb,1.3292e-01_rb/) kbo(:,54, 8) = (/ & &5.4165e-02_rb,6.9879e-02_rb,8.6686e-02_rb,1.0438e-01_rb,1.2336e-01_rb/) kbo(:,55, 8) = (/ & &4.9072e-02_rb,6.4377e-02_rb,8.0975e-02_rb,9.8517e-02_rb,1.1715e-01_rb/) kbo(:,56, 8) = (/ & &4.4131e-02_rb,5.9064e-02_rb,7.5254e-02_rb,9.2618e-02_rb,1.1083e-01_rb/) kbo(:,57, 8) = (/ & &3.9404e-02_rb,5.3744e-02_rb,6.9648e-02_rb,8.6728e-02_rb,1.0474e-01_rb/) kbo(:,58, 8) = (/ & &3.5245e-02_rb,4.9278e-02_rb,6.4917e-02_rb,8.1857e-02_rb,9.9966e-02_rb/) kbo(:,59, 8) = (/ & &3.5641e-02_rb,5.0530e-02_rb,6.7256e-02_rb,8.5600e-02_rb,1.0518e-01_rb/) kbo(:,13, 9) = (/ & &3.0582e+00_rb,3.1802e+00_rb,3.2924e+00_rb,3.3999e+00_rb,3.5039e+00_rb/) kbo(:,14, 9) = (/ & &2.7741e+00_rb,2.8902e+00_rb,2.9983e+00_rb,3.1018e+00_rb,3.1995e+00_rb/) kbo(:,15, 9) = (/ & &2.5019e+00_rb,2.6118e+00_rb,2.7174e+00_rb,2.8165e+00_rb,2.9092e+00_rb/) kbo(:,16, 9) = (/ & &2.2794e+00_rb,2.3785e+00_rb,2.4700e+00_rb,2.5601e+00_rb,2.6476e+00_rb/) kbo(:,17, 9) = (/ & &2.1431e+00_rb,2.2237e+00_rb,2.2973e+00_rb,2.3689e+00_rb,2.4470e+00_rb/) kbo(:,18, 9) = (/ & &2.1112e+00_rb,2.1931e+00_rb,2.2642e+00_rb,2.3350e+00_rb,2.3995e+00_rb/) kbo(:,19, 9) = (/ & &2.1192e+00_rb,2.1960e+00_rb,2.2679e+00_rb,2.3312e+00_rb,2.3985e+00_rb/) kbo(:,20, 9) = (/ & &2.0719e+00_rb,2.1504e+00_rb,2.2204e+00_rb,2.2883e+00_rb,2.3541e+00_rb/) kbo(:,21, 9) = (/ & &2.0023e+00_rb,2.0787e+00_rb,2.1566e+00_rb,2.2279e+00_rb,2.2981e+00_rb/) kbo(:,22, 9) = (/ & &1.9677e+00_rb,2.0354e+00_rb,2.1023e+00_rb,2.1820e+00_rb,2.2522e+00_rb/) kbo(:,23, 9) = (/ & &1.9509e+00_rb,2.0289e+00_rb,2.0929e+00_rb,2.1547e+00_rb,2.2177e+00_rb/) kbo(:,24, 9) = (/ & &1.9605e+00_rb,2.0316e+00_rb,2.0945e+00_rb,2.1537e+00_rb,2.2147e+00_rb/) kbo(:,25, 9) = (/ & &1.9774e+00_rb,2.0460e+00_rb,2.1037e+00_rb,2.1656e+00_rb,2.2237e+00_rb/) kbo(:,26, 9) = (/ & &1.9746e+00_rb,2.0494e+00_rb,2.1183e+00_rb,2.1793e+00_rb,2.2462e+00_rb/) kbo(:,27, 9) = (/ & &1.9769e+00_rb,2.0480e+00_rb,2.1184e+00_rb,2.1915e+00_rb,2.2594e+00_rb/) kbo(:,28, 9) = (/ & &1.9705e+00_rb,2.0478e+00_rb,2.1273e+00_rb,2.2021e+00_rb,2.2684e+00_rb/) kbo(:,29, 9) = (/ & &1.9428e+00_rb,2.0233e+00_rb,2.1092e+00_rb,2.1834e+00_rb,2.2523e+00_rb/) kbo(:,30, 9) = (/ & &1.9054e+00_rb,1.9928e+00_rb,2.0804e+00_rb,2.1559e+00_rb,2.2456e+00_rb/) kbo(:,31, 9) = (/ & &1.8578e+00_rb,1.9522e+00_rb,2.0363e+00_rb,2.1176e+00_rb,2.2067e+00_rb/) kbo(:,32, 9) = (/ & &1.8167e+00_rb,1.9163e+00_rb,1.9986e+00_rb,2.0826e+00_rb,2.1707e+00_rb/) kbo(:,33, 9) = (/ & &1.7835e+00_rb,1.8773e+00_rb,1.9713e+00_rb,2.0531e+00_rb,2.1415e+00_rb/) kbo(:,34, 9) = (/ & &1.7699e+00_rb,1.8654e+00_rb,1.9579e+00_rb,2.0589e+00_rb,2.1344e+00_rb/) kbo(:,35, 9) = (/ & &1.7588e+00_rb,1.8543e+00_rb,1.9464e+00_rb,2.0494e+00_rb,2.1255e+00_rb/) kbo(:,36, 9) = (/ & &1.7548e+00_rb,1.8549e+00_rb,1.9407e+00_rb,2.0440e+00_rb,2.1280e+00_rb/) kbo(:,37, 9) = (/ & &1.7109e+00_rb,1.8072e+00_rb,1.9003e+00_rb,1.9969e+00_rb,2.0787e+00_rb/) kbo(:,38, 9) = (/ & &1.6587e+00_rb,1.7570e+00_rb,1.8515e+00_rb,1.9517e+00_rb,2.0362e+00_rb/) kbo(:,39, 9) = (/ & &1.5996e+00_rb,1.6993e+00_rb,1.7940e+00_rb,1.8844e+00_rb,1.9872e+00_rb/) kbo(:,40, 9) = (/ & &1.5318e+00_rb,1.6341e+00_rb,1.7309e+00_rb,1.8212e+00_rb,1.9247e+00_rb/) kbo(:,41, 9) = (/ & &1.4675e+00_rb,1.5693e+00_rb,1.6630e+00_rb,1.7538e+00_rb,1.8608e+00_rb/) kbo(:,42, 9) = (/ & &1.4053e+00_rb,1.5014e+00_rb,1.5957e+00_rb,1.6862e+00_rb,1.7957e+00_rb/) kbo(:,43, 9) = (/ & &1.3266e+00_rb,1.4241e+00_rb,1.5193e+00_rb,1.6083e+00_rb,1.7037e+00_rb/) kbo(:,44, 9) = (/ & &1.2422e+00_rb,1.3405e+00_rb,1.4375e+00_rb,1.5296e+00_rb,1.6219e+00_rb/) kbo(:,45, 9) = (/ & &1.1571e+00_rb,1.2540e+00_rb,1.3469e+00_rb,1.4395e+00_rb,1.5427e+00_rb/) kbo(:,46, 9) = (/ & &1.0762e+00_rb,1.1688e+00_rb,1.2622e+00_rb,1.3587e+00_rb,1.4621e+00_rb/) kbo(:,47, 9) = (/ & &9.9321e-01_rb,1.0861e+00_rb,1.1791e+00_rb,1.2774e+00_rb,1.3779e+00_rb/) kbo(:,48, 9) = (/ & &9.0640e-01_rb,1.0035e+00_rb,1.0964e+00_rb,1.1955e+00_rb,1.2984e+00_rb/) kbo(:,49, 9) = (/ & &8.2476e-01_rb,9.1593e-01_rb,1.0111e+00_rb,1.1148e+00_rb,1.2202e+00_rb/) kbo(:,50, 9) = (/ & &7.5762e-01_rb,8.4984e-01_rb,9.4454e-01_rb,1.0468e+00_rb,1.1530e+00_rb/) kbo(:,51, 9) = (/ & &6.9972e-01_rb,7.8939e-01_rb,8.8551e-01_rb,9.8599e-01_rb,1.0894e+00_rb/) kbo(:,52, 9) = (/ & &6.4292e-01_rb,7.3062e-01_rb,8.2745e-01_rb,9.2620e-01_rb,1.0265e+00_rb/) kbo(:,53, 9) = (/ & &5.8631e-01_rb,6.7367e-01_rb,7.6794e-01_rb,8.6557e-01_rb,9.6191e-01_rb/) kbo(:,54, 9) = (/ & &5.4766e-01_rb,6.3312e-01_rb,7.2658e-01_rb,8.2340e-01_rb,9.1820e-01_rb/) kbo(:,55, 9) = (/ & &5.1893e-01_rb,6.0477e-01_rb,6.9346e-01_rb,7.9003e-01_rb,8.8552e-01_rb/) kbo(:,56, 9) = (/ & &4.9077e-01_rb,5.7504e-01_rb,6.6139e-01_rb,7.5822e-01_rb,8.5232e-01_rb/) kbo(:,57, 9) = (/ & &4.6294e-01_rb,5.4644e-01_rb,6.3217e-01_rb,7.2497e-01_rb,8.2095e-01_rb/) kbo(:,58, 9) = (/ & &4.3872e-01_rb,5.2209e-01_rb,6.0717e-01_rb,6.9576e-01_rb,7.9255e-01_rb/) kbo(:,59, 9) = (/ & &4.5355e-01_rb,5.4099e-01_rb,6.2851e-01_rb,7.1405e-01_rb,8.0552e-01_rb/) kbo(:,13,10) = (/ & &1.4982e+01_rb,1.5495e+01_rb,1.5954e+01_rb,1.6348e+01_rb,1.6704e+01_rb/) kbo(:,14,10) = (/ & &1.3335e+01_rb,1.3739e+01_rb,1.4075e+01_rb,1.4394e+01_rb,1.4701e+01_rb/) kbo(:,15,10) = (/ & &1.2249e+01_rb,1.2466e+01_rb,1.2680e+01_rb,1.2851e+01_rb,1.2999e+01_rb/) kbo(:,16,10) = (/ & &1.1258e+01_rb,1.1509e+01_rb,1.1735e+01_rb,1.1863e+01_rb,1.1992e+01_rb/) kbo(:,17,10) = (/ & &9.6399e+00_rb,9.9316e+00_rb,1.0198e+01_rb,1.0495e+01_rb,1.0685e+01_rb/) kbo(:,18,10) = (/ & &8.3200e+00_rb,8.3604e+00_rb,8.4791e+00_rb,8.5483e+00_rb,8.6485e+00_rb/) kbo(:,19,10) = (/ & &8.1074e+00_rb,8.1199e+00_rb,8.1734e+00_rb,8.2725e+00_rb,8.2532e+00_rb/) kbo(:,20,10) = (/ & &8.0251e+00_rb,8.0270e+00_rb,8.1639e+00_rb,8.2375e+00_rb,8.2230e+00_rb/) kbo(:,21,10) = (/ & &7.9993e+00_rb,8.0934e+00_rb,8.2060e+00_rb,8.1449e+00_rb,8.1878e+00_rb/) kbo(:,22,10) = (/ & &7.7052e+00_rb,7.8023e+00_rb,8.0192e+00_rb,8.0278e+00_rb,8.0411e+00_rb/) kbo(:,23,10) = (/ & &7.2443e+00_rb,7.3880e+00_rb,7.6036e+00_rb,7.7289e+00_rb,7.8141e+00_rb/) kbo(:,24,10) = (/ & &6.8599e+00_rb,6.9432e+00_rb,7.2334e+00_rb,7.4508e+00_rb,7.5685e+00_rb/) kbo(:,25,10) = (/ & &6.7077e+00_rb,6.7570e+00_rb,7.0253e+00_rb,7.1690e+00_rb,7.3506e+00_rb/) kbo(:,26,10) = (/ & &6.7805e+00_rb,6.7972e+00_rb,6.9739e+00_rb,6.9966e+00_rb,7.1457e+00_rb/) kbo(:,27,10) = (/ & &6.6456e+00_rb,6.8298e+00_rb,6.9537e+00_rb,6.8703e+00_rb,6.9847e+00_rb/) kbo(:,28,10) = (/ & &6.6227e+00_rb,6.7740e+00_rb,6.7717e+00_rb,6.7969e+00_rb,6.8834e+00_rb/) kbo(:,29,10) = (/ & &6.5026e+00_rb,6.7130e+00_rb,6.6983e+00_rb,6.7888e+00_rb,6.9842e+00_rb/) kbo(:,30,10) = (/ & &6.4613e+00_rb,6.7438e+00_rb,6.7406e+00_rb,6.8001e+00_rb,7.0628e+00_rb/) kbo(:,31,10) = (/ & &6.4453e+00_rb,6.5818e+00_rb,6.6914e+00_rb,6.8343e+00_rb,7.1118e+00_rb/) kbo(:,32,10) = (/ & &6.4750e+00_rb,6.5165e+00_rb,6.6931e+00_rb,6.9311e+00_rb,7.2907e+00_rb/) kbo(:,33,10) = (/ & &6.3852e+00_rb,6.5174e+00_rb,6.6687e+00_rb,7.0429e+00_rb,7.4921e+00_rb/) kbo(:,34,10) = (/ & &6.2937e+00_rb,6.5395e+00_rb,6.7522e+00_rb,7.1615e+00_rb,7.5856e+00_rb/) kbo(:,35,10) = (/ & &6.2760e+00_rb,6.5561e+00_rb,6.8772e+00_rb,7.3182e+00_rb,7.7508e+00_rb/) kbo(:,36,10) = (/ & &6.2498e+00_rb,6.5146e+00_rb,6.9721e+00_rb,7.4134e+00_rb,7.7777e+00_rb/) kbo(:,37,10) = (/ & &6.0875e+00_rb,6.4490e+00_rb,6.8813e+00_rb,7.4029e+00_rb,7.7937e+00_rb/) kbo(:,38,10) = (/ & &5.9776e+00_rb,6.3534e+00_rb,6.8337e+00_rb,7.2840e+00_rb,7.6800e+00_rb/) kbo(:,39,10) = (/ & &5.9369e+00_rb,6.2769e+00_rb,6.7228e+00_rb,7.1879e+00_rb,7.5772e+00_rb/) kbo(:,40,10) = (/ & &5.8199e+00_rb,6.1346e+00_rb,6.5569e+00_rb,7.0308e+00_rb,7.5139e+00_rb/) kbo(:,41,10) = (/ & &5.6637e+00_rb,5.9953e+00_rb,6.3928e+00_rb,6.8959e+00_rb,7.3899e+00_rb/) kbo(:,42,10) = (/ & &5.4578e+00_rb,5.8740e+00_rb,6.2837e+00_rb,6.7615e+00_rb,7.2182e+00_rb/) kbo(:,43,10) = (/ & &5.2432e+00_rb,5.6884e+00_rb,6.0915e+00_rb,6.5892e+00_rb,7.0176e+00_rb/) kbo(:,44,10) = (/ & &5.0352e+00_rb,5.5134e+00_rb,5.9765e+00_rb,6.3927e+00_rb,6.8192e+00_rb/) kbo(:,45,10) = (/ & &4.8185e+00_rb,5.3066e+00_rb,5.8216e+00_rb,6.2708e+00_rb,6.5394e+00_rb/) kbo(:,46,10) = (/ & &4.5458e+00_rb,5.0700e+00_rb,5.5601e+00_rb,5.9708e+00_rb,6.3061e+00_rb/) kbo(:,47,10) = (/ & &4.3290e+00_rb,4.8090e+00_rb,5.3177e+00_rb,5.7187e+00_rb,6.0493e+00_rb/) kbo(:,48,10) = (/ & &4.1252e+00_rb,4.6210e+00_rb,5.0031e+00_rb,5.3950e+00_rb,5.6779e+00_rb/) kbo(:,49,10) = (/ & &3.8776e+00_rb,4.3638e+00_rb,4.7491e+00_rb,5.0119e+00_rb,5.3209e+00_rb/) kbo(:,50,10) = (/ & &3.6432e+00_rb,4.1171e+00_rb,4.5036e+00_rb,4.8339e+00_rb,5.0310e+00_rb/) kbo(:,51,10) = (/ & &3.4528e+00_rb,3.8987e+00_rb,4.2685e+00_rb,4.6158e+00_rb,4.8586e+00_rb/) kbo(:,52,10) = (/ & &3.2373e+00_rb,3.6786e+00_rb,4.0057e+00_rb,4.3579e+00_rb,4.6615e+00_rb/) kbo(:,53,10) = (/ & &3.0066e+00_rb,3.4261e+00_rb,3.7660e+00_rb,4.0904e+00_rb,4.4162e+00_rb/) kbo(:,54,10) = (/ & &2.8305e+00_rb,3.2571e+00_rb,3.6215e+00_rb,3.9208e+00_rb,4.2651e+00_rb/) kbo(:,55,10) = (/ & &2.6852e+00_rb,3.0952e+00_rb,3.4961e+00_rb,3.7995e+00_rb,4.1315e+00_rb/) kbo(:,56,10) = (/ & &2.5024e+00_rb,2.9749e+00_rb,3.3840e+00_rb,3.6764e+00_rb,4.0215e+00_rb/) kbo(:,57,10) = (/ & &2.3413e+00_rb,2.8251e+00_rb,3.2333e+00_rb,3.5901e+00_rb,3.8695e+00_rb/) kbo(:,58,10) = (/ & &2.2399e+00_rb,2.6684e+00_rb,3.1055e+00_rb,3.4841e+00_rb,3.7568e+00_rb/) kbo(:,59,10) = (/ & &2.3106e+00_rb,2.6842e+00_rb,3.0911e+00_rb,3.5243e+00_rb,3.8718e+00_rb/) kbo(:,13,11) = (/ & &3.1114e+01_rb,3.1701e+01_rb,3.2323e+01_rb,3.2943e+01_rb,3.3516e+01_rb/) kbo(:,14,11) = (/ & &2.7715e+01_rb,2.8303e+01_rb,2.8933e+01_rb,2.9548e+01_rb,3.0169e+01_rb/) kbo(:,15,11) = (/ & &2.4338e+01_rb,2.4986e+01_rb,2.5617e+01_rb,2.6312e+01_rb,2.7005e+01_rb/) kbo(:,16,11) = (/ & &2.1212e+01_rb,2.1803e+01_rb,2.2432e+01_rb,2.3085e+01_rb,2.3696e+01_rb/) kbo(:,17,11) = (/ & &1.8965e+01_rb,1.9451e+01_rb,1.9925e+01_rb,2.0308e+01_rb,2.0718e+01_rb/) kbo(:,18,11) = (/ & &1.6301e+01_rb,1.6846e+01_rb,1.7358e+01_rb,1.7884e+01_rb,1.8436e+01_rb/) kbo(:,19,11) = (/ & &1.3305e+01_rb,1.3592e+01_rb,1.3869e+01_rb,1.4251e+01_rb,1.4704e+01_rb/) kbo(:,20,11) = (/ & &1.2734e+01_rb,1.2816e+01_rb,1.2643e+01_rb,1.2573e+01_rb,1.2686e+01_rb/) kbo(:,21,11) = (/ & &1.2657e+01_rb,1.2589e+01_rb,1.2354e+01_rb,1.2271e+01_rb,1.2114e+01_rb/) kbo(:,22,11) = (/ & &1.2492e+01_rb,1.2455e+01_rb,1.2170e+01_rb,1.1916e+01_rb,1.1871e+01_rb/) kbo(:,23,11) = (/ & &1.2437e+01_rb,1.2266e+01_rb,1.2152e+01_rb,1.1923e+01_rb,1.2016e+01_rb/) kbo(:,24,11) = (/ & &1.2312e+01_rb,1.2409e+01_rb,1.2179e+01_rb,1.1958e+01_rb,1.2034e+01_rb/) kbo(:,25,11) = (/ & &1.1905e+01_rb,1.2160e+01_rb,1.2010e+01_rb,1.2119e+01_rb,1.2127e+01_rb/) kbo(:,26,11) = (/ & &1.1398e+01_rb,1.1792e+01_rb,1.1851e+01_rb,1.2073e+01_rb,1.2295e+01_rb/) kbo(:,27,11) = (/ & &1.1115e+01_rb,1.1534e+01_rb,1.1738e+01_rb,1.2206e+01_rb,1.2469e+01_rb/) kbo(:,28,11) = (/ & &1.0833e+01_rb,1.1382e+01_rb,1.1757e+01_rb,1.2168e+01_rb,1.2751e+01_rb/) kbo(:,29,11) = (/ & &1.0849e+01_rb,1.1242e+01_rb,1.1765e+01_rb,1.2112e+01_rb,1.2581e+01_rb/) kbo(:,30,11) = (/ & &1.0908e+01_rb,1.1219e+01_rb,1.1698e+01_rb,1.2283e+01_rb,1.2675e+01_rb/) kbo(:,31,11) = (/ & &1.1065e+01_rb,1.1480e+01_rb,1.1755e+01_rb,1.2188e+01_rb,1.2848e+01_rb/) kbo(:,32,11) = (/ & &1.1087e+01_rb,1.1591e+01_rb,1.1912e+01_rb,1.2336e+01_rb,1.2746e+01_rb/) kbo(:,33,11) = (/ & &1.1325e+01_rb,1.1662e+01_rb,1.2022e+01_rb,1.2470e+01_rb,1.2619e+01_rb/) kbo(:,34,11) = (/ & &1.1533e+01_rb,1.1754e+01_rb,1.2155e+01_rb,1.2455e+01_rb,1.2615e+01_rb/) kbo(:,35,11) = (/ & &1.1659e+01_rb,1.1966e+01_rb,1.2184e+01_rb,1.2500e+01_rb,1.2545e+01_rb/) kbo(:,36,11) = (/ & &1.1755e+01_rb,1.2074e+01_rb,1.2225e+01_rb,1.2599e+01_rb,1.2813e+01_rb/) kbo(:,37,11) = (/ & &1.1716e+01_rb,1.1980e+01_rb,1.2067e+01_rb,1.2383e+01_rb,1.2671e+01_rb/) kbo(:,38,11) = (/ & &1.1652e+01_rb,1.1821e+01_rb,1.1815e+01_rb,1.2298e+01_rb,1.2561e+01_rb/) kbo(:,39,11) = (/ & &1.1437e+01_rb,1.1591e+01_rb,1.1776e+01_rb,1.2140e+01_rb,1.2306e+01_rb/) kbo(:,40,11) = (/ & &1.1267e+01_rb,1.1380e+01_rb,1.1567e+01_rb,1.1899e+01_rb,1.1967e+01_rb/) kbo(:,41,11) = (/ & &1.0928e+01_rb,1.1128e+01_rb,1.1355e+01_rb,1.1698e+01_rb,1.1735e+01_rb/) kbo(:,42,11) = (/ & &1.0609e+01_rb,1.0842e+01_rb,1.1168e+01_rb,1.1452e+01_rb,1.1524e+01_rb/) kbo(:,43,11) = (/ & &1.0251e+01_rb,1.0481e+01_rb,1.0835e+01_rb,1.1143e+01_rb,1.1300e+01_rb/) kbo(:,44,11) = (/ & &9.7650e+00_rb,1.0106e+01_rb,1.0340e+01_rb,1.0725e+01_rb,1.0899e+01_rb/) kbo(:,45,11) = (/ & &9.2584e+00_rb,9.6204e+00_rb,9.9580e+00_rb,1.0325e+01_rb,1.0626e+01_rb/) kbo(:,46,11) = (/ & &8.9377e+00_rb,9.1742e+00_rb,9.5458e+00_rb,9.9839e+00_rb,1.0197e+01_rb/) kbo(:,47,11) = (/ & &8.5371e+00_rb,8.7965e+00_rb,9.0763e+00_rb,9.5717e+00_rb,9.9938e+00_rb/) kbo(:,48,11) = (/ & &7.9850e+00_rb,8.3229e+00_rb,8.7471e+00_rb,9.1748e+00_rb,9.6663e+00_rb/) kbo(:,49,11) = (/ & &7.4325e+00_rb,7.8561e+00_rb,8.3257e+00_rb,8.9344e+00_rb,9.3488e+00_rb/) kbo(:,50,11) = (/ & &6.9934e+00_rb,7.5330e+00_rb,7.9938e+00_rb,8.5231e+00_rb,9.1226e+00_rb/) kbo(:,51,11) = (/ & &6.6292e+00_rb,7.1581e+00_rb,7.7030e+00_rb,8.1971e+00_rb,8.9077e+00_rb/) kbo(:,52,11) = (/ & &6.2107e+00_rb,6.7791e+00_rb,7.3981e+00_rb,7.9369e+00_rb,8.8177e+00_rb/) kbo(:,53,11) = (/ & &5.7771e+00_rb,6.3836e+00_rb,7.0431e+00_rb,7.8871e+00_rb,8.9292e+00_rb/) kbo(:,54,11) = (/ & &5.5085e+00_rb,6.1058e+00_rb,6.7091e+00_rb,7.6421e+00_rb,8.6682e+00_rb/) kbo(:,55,11) = (/ & &5.3542e+00_rb,5.9311e+00_rb,6.5099e+00_rb,7.2327e+00_rb,8.2463e+00_rb/) kbo(:,56,11) = (/ & &5.2013e+00_rb,5.6998e+00_rb,6.2622e+00_rb,6.8978e+00_rb,7.7861e+00_rb/) kbo(:,57,11) = (/ & &4.9844e+00_rb,5.4898e+00_rb,6.0972e+00_rb,6.6262e+00_rb,7.3665e+00_rb/) kbo(:,58,11) = (/ & &4.7470e+00_rb,5.3695e+00_rb,5.9047e+00_rb,6.4509e+00_rb,7.0483e+00_rb/) kbo(:,59,11) = (/ & &4.7734e+00_rb,5.4744e+00_rb,6.0332e+00_rb,6.5609e+00_rb,7.0505e+00_rb/) kbo(:,13,12) = (/ & &6.9738e+01_rb,7.0752e+01_rb,7.1414e+01_rb,7.2004e+01_rb,7.2657e+01_rb/) kbo(:,14,12) = (/ & &6.4422e+01_rb,6.5346e+01_rb,6.6191e+01_rb,6.7103e+01_rb,6.7985e+01_rb/) kbo(:,15,12) = (/ & &5.8702e+01_rb,5.9763e+01_rb,6.0895e+01_rb,6.1978e+01_rb,6.3157e+01_rb/) kbo(:,16,12) = (/ & &5.3091e+01_rb,5.4316e+01_rb,5.5558e+01_rb,5.6938e+01_rb,5.8399e+01_rb/) kbo(:,17,12) = (/ & &4.7175e+01_rb,4.8634e+01_rb,5.0234e+01_rb,5.1992e+01_rb,5.3803e+01_rb/) kbo(:,18,12) = (/ & &4.1145e+01_rb,4.2755e+01_rb,4.4548e+01_rb,4.6436e+01_rb,4.8468e+01_rb/) kbo(:,19,12) = (/ & &3.4889e+01_rb,3.6512e+01_rb,3.8406e+01_rb,4.0570e+01_rb,4.2997e+01_rb/) kbo(:,20,12) = (/ & &2.8470e+01_rb,3.0112e+01_rb,3.2281e+01_rb,3.4662e+01_rb,3.7243e+01_rb/) kbo(:,21,12) = (/ & &2.3947e+01_rb,2.5322e+01_rb,2.7206e+01_rb,2.9369e+01_rb,3.2034e+01_rb/) kbo(:,22,12) = (/ & &2.2071e+01_rb,2.2771e+01_rb,2.4136e+01_rb,2.6151e+01_rb,2.8304e+01_rb/) kbo(:,23,12) = (/ & &2.1437e+01_rb,2.2028e+01_rb,2.2789e+01_rb,2.3769e+01_rb,2.5664e+01_rb/) kbo(:,24,12) = (/ & &2.1104e+01_rb,2.1623e+01_rb,2.2496e+01_rb,2.3486e+01_rb,2.4592e+01_rb/) kbo(:,25,12) = (/ & &2.1238e+01_rb,2.1868e+01_rb,2.2645e+01_rb,2.3461e+01_rb,2.4762e+01_rb/) kbo(:,26,12) = (/ & &2.1604e+01_rb,2.2258e+01_rb,2.3294e+01_rb,2.4121e+01_rb,2.5265e+01_rb/) kbo(:,27,12) = (/ & &2.2115e+01_rb,2.2777e+01_rb,2.3909e+01_rb,2.4766e+01_rb,2.5867e+01_rb/) kbo(:,28,12) = (/ & &2.2448e+01_rb,2.3238e+01_rb,2.4298e+01_rb,2.5624e+01_rb,2.6343e+01_rb/) kbo(:,29,12) = (/ & &2.2577e+01_rb,2.3289e+01_rb,2.4323e+01_rb,2.5634e+01_rb,2.6765e+01_rb/) kbo(:,30,12) = (/ & &2.2578e+01_rb,2.3315e+01_rb,2.4386e+01_rb,2.5500e+01_rb,2.6908e+01_rb/) kbo(:,31,12) = (/ & &2.2201e+01_rb,2.3259e+01_rb,2.4131e+01_rb,2.5149e+01_rb,2.6545e+01_rb/) kbo(:,32,12) = (/ & &2.2079e+01_rb,2.2922e+01_rb,2.4111e+01_rb,2.5430e+01_rb,2.6527e+01_rb/) kbo(:,33,12) = (/ & &2.2095e+01_rb,2.2961e+01_rb,2.4279e+01_rb,2.5414e+01_rb,2.7005e+01_rb/) kbo(:,34,12) = (/ & &2.2319e+01_rb,2.3341e+01_rb,2.4447e+01_rb,2.6277e+01_rb,2.7940e+01_rb/) kbo(:,35,12) = (/ & &2.2552e+01_rb,2.3701e+01_rb,2.5211e+01_rb,2.6844e+01_rb,2.9224e+01_rb/) kbo(:,36,12) = (/ & &2.3085e+01_rb,2.4181e+01_rb,2.5665e+01_rb,2.7600e+01_rb,3.0387e+01_rb/) kbo(:,37,12) = (/ & &2.2925e+01_rb,2.4128e+01_rb,2.5553e+01_rb,2.7616e+01_rb,3.1077e+01_rb/) kbo(:,38,12) = (/ & &2.2707e+01_rb,2.3887e+01_rb,2.5581e+01_rb,2.8109e+01_rb,3.1584e+01_rb/) kbo(:,39,12) = (/ & &2.2511e+01_rb,2.3842e+01_rb,2.5754e+01_rb,2.8880e+01_rb,3.2658e+01_rb/) kbo(:,40,12) = (/ & &2.1948e+01_rb,2.3291e+01_rb,2.5416e+01_rb,2.8638e+01_rb,3.2604e+01_rb/) kbo(:,41,12) = (/ & &2.1476e+01_rb,2.2682e+01_rb,2.5024e+01_rb,2.8295e+01_rb,3.2225e+01_rb/) kbo(:,42,12) = (/ & &2.0874e+01_rb,2.2077e+01_rb,2.4841e+01_rb,2.8049e+01_rb,3.2070e+01_rb/) kbo(:,43,12) = (/ & &2.0317e+01_rb,2.1501e+01_rb,2.4302e+01_rb,2.7503e+01_rb,3.1532e+01_rb/) kbo(:,44,12) = (/ & &1.9539e+01_rb,2.0870e+01_rb,2.3855e+01_rb,2.7092e+01_rb,3.1110e+01_rb/) kbo(:,45,12) = (/ & &1.8830e+01_rb,2.0599e+01_rb,2.3570e+01_rb,2.6837e+01_rb,3.0566e+01_rb/) kbo(:,46,12) = (/ & &1.8029e+01_rb,2.0375e+01_rb,2.3363e+01_rb,2.6419e+01_rb,3.0085e+01_rb/) kbo(:,47,12) = (/ & &1.7365e+01_rb,1.9999e+01_rb,2.2921e+01_rb,2.5901e+01_rb,2.9166e+01_rb/) kbo(:,48,12) = (/ & &1.7043e+01_rb,1.9606e+01_rb,2.2433e+01_rb,2.5542e+01_rb,2.8495e+01_rb/) kbo(:,49,12) = (/ & &1.6912e+01_rb,1.9487e+01_rb,2.2139e+01_rb,2.5022e+01_rb,2.8110e+01_rb/) kbo(:,50,12) = (/ & &1.6517e+01_rb,1.8987e+01_rb,2.1585e+01_rb,2.4422e+01_rb,2.7428e+01_rb/) kbo(:,51,12) = (/ & &1.5891e+01_rb,1.8550e+01_rb,2.1056e+01_rb,2.3767e+01_rb,2.6461e+01_rb/) kbo(:,52,12) = (/ & &1.5362e+01_rb,1.8085e+01_rb,2.0538e+01_rb,2.3135e+01_rb,2.5477e+01_rb/) kbo(:,53,12) = (/ & &1.4979e+01_rb,1.7596e+01_rb,2.0169e+01_rb,2.2304e+01_rb,2.4351e+01_rb/) kbo(:,54,12) = (/ & &1.4292e+01_rb,1.6762e+01_rb,1.9386e+01_rb,2.1407e+01_rb,2.3360e+01_rb/) kbo(:,55,12) = (/ & &1.3424e+01_rb,1.5675e+01_rb,1.8295e+01_rb,2.0550e+01_rb,2.2398e+01_rb/) kbo(:,56,12) = (/ & &1.2558e+01_rb,1.4702e+01_rb,1.7198e+01_rb,1.9642e+01_rb,2.1560e+01_rb/) kbo(:,57,12) = (/ & &1.1789e+01_rb,1.3891e+01_rb,1.6101e+01_rb,1.8574e+01_rb,2.0696e+01_rb/) kbo(:,58,12) = (/ & &1.0944e+01_rb,1.2980e+01_rb,1.5007e+01_rb,1.7361e+01_rb,1.9688e+01_rb/) kbo(:,59,12) = (/ & &1.0805e+01_rb,1.1957e+01_rb,1.3692e+01_rb,1.5846e+01_rb,1.8110e+01_rb/) kbo(:,13,13) = (/ & &1.5252e+02_rb,1.5442e+02_rb,1.5646e+02_rb,1.5779e+02_rb,1.5854e+02_rb/) kbo(:,14,13) = (/ & &1.5029e+02_rb,1.5315e+02_rb,1.5552e+02_rb,1.5711e+02_rb,1.5813e+02_rb/) kbo(:,15,13) = (/ & &1.4712e+02_rb,1.5063e+02_rb,1.5294e+02_rb,1.5483e+02_rb,1.5630e+02_rb/) kbo(:,16,13) = (/ & &1.4282e+02_rb,1.4612e+02_rb,1.4898e+02_rb,1.5141e+02_rb,1.5352e+02_rb/) kbo(:,17,13) = (/ & &1.3686e+02_rb,1.4066e+02_rb,1.4417e+02_rb,1.4736e+02_rb,1.5020e+02_rb/) kbo(:,18,13) = (/ & &1.3031e+02_rb,1.3486e+02_rb,1.3910e+02_rb,1.4308e+02_rb,1.4669e+02_rb/) kbo(:,19,13) = (/ & &1.2305e+02_rb,1.2878e+02_rb,1.3410e+02_rb,1.3882e+02_rb,1.4318e+02_rb/) kbo(:,20,13) = (/ & &1.1539e+02_rb,1.2206e+02_rb,1.2838e+02_rb,1.3444e+02_rb,1.4010e+02_rb/) kbo(:,21,13) = (/ & &1.0694e+02_rb,1.1477e+02_rb,1.2233e+02_rb,1.2972e+02_rb,1.3638e+02_rb/) kbo(:,22,13) = (/ & &9.8072e+01_rb,1.0767e+02_rb,1.1673e+02_rb,1.2508e+02_rb,1.3303e+02_rb/) kbo(:,23,13) = (/ & &8.9638e+01_rb,1.0003e+02_rb,1.1035e+02_rb,1.2081e+02_rb,1.2954e+02_rb/) kbo(:,24,13) = (/ & &8.2450e+01_rb,9.3359e+01_rb,1.0421e+02_rb,1.1509e+02_rb,1.2544e+02_rb/) kbo(:,25,13) = (/ & &7.6879e+01_rb,8.7792e+01_rb,9.9290e+01_rb,1.1048e+02_rb,1.2100e+02_rb/) kbo(:,26,13) = (/ & &7.3470e+01_rb,8.4233e+01_rb,9.5225e+01_rb,1.0688e+02_rb,1.1752e+02_rb/) kbo(:,27,13) = (/ & &7.1984e+01_rb,8.2203e+01_rb,9.3044e+01_rb,1.0438e+02_rb,1.1537e+02_rb/) kbo(:,28,13) = (/ & &7.1683e+01_rb,8.1066e+01_rb,9.2180e+01_rb,1.0291e+02_rb,1.1419e+02_rb/) kbo(:,29,13) = (/ & &7.3240e+01_rb,8.2713e+01_rb,9.3261e+01_rb,1.0420e+02_rb,1.1497e+02_rb/) kbo(:,30,13) = (/ & &7.5656e+01_rb,8.5740e+01_rb,9.5155e+01_rb,1.0607e+02_rb,1.1653e+02_rb/) kbo(:,31,13) = (/ & &7.9639e+01_rb,8.9485e+01_rb,9.9623e+01_rb,1.0965e+02_rb,1.1967e+02_rb/) kbo(:,32,13) = (/ & &8.5052e+01_rb,9.4635e+01_rb,1.0433e+02_rb,1.1321e+02_rb,1.2287e+02_rb/) kbo(:,33,13) = (/ & &9.0468e+01_rb,1.0058e+02_rb,1.0969e+02_rb,1.1864e+02_rb,1.2671e+02_rb/) kbo(:,34,13) = (/ & &9.5615e+01_rb,1.0581e+02_rb,1.1476e+02_rb,1.2258e+02_rb,1.3070e+02_rb/) kbo(:,35,13) = (/ & &9.9168e+01_rb,1.0972e+02_rb,1.1933e+02_rb,1.2712e+02_rb,1.3373e+02_rb/) kbo(:,36,13) = (/ & &1.0086e+02_rb,1.1164e+02_rb,1.2168e+02_rb,1.3014e+02_rb,1.3667e+02_rb/) kbo(:,37,13) = (/ & &1.0047e+02_rb,1.1211e+02_rb,1.2253e+02_rb,1.3099e+02_rb,1.3706e+02_rb/) kbo(:,38,13) = (/ & &1.0049e+02_rb,1.1250e+02_rb,1.2313e+02_rb,1.3108e+02_rb,1.3732e+02_rb/) kbo(:,39,13) = (/ & &1.0115e+02_rb,1.1295e+02_rb,1.2350e+02_rb,1.3105e+02_rb,1.3768e+02_rb/) kbo(:,40,13) = (/ & &9.9765e+01_rb,1.1141e+02_rb,1.2196e+02_rb,1.2992e+02_rb,1.3631e+02_rb/) kbo(:,41,13) = (/ & &9.8221e+01_rb,1.1003e+02_rb,1.2037e+02_rb,1.2825e+02_rb,1.3487e+02_rb/) kbo(:,42,13) = (/ & &9.7048e+01_rb,1.0845e+02_rb,1.1823e+02_rb,1.2668e+02_rb,1.3349e+02_rb/) kbo(:,43,13) = (/ & &9.4582e+01_rb,1.0608e+02_rb,1.1575e+02_rb,1.2424e+02_rb,1.3118e+02_rb/) kbo(:,44,13) = (/ & &9.2428e+01_rb,1.0325e+02_rb,1.1298e+02_rb,1.2159e+02_rb,1.2888e+02_rb/) kbo(:,45,13) = (/ & &9.0012e+01_rb,1.0014e+02_rb,1.0975e+02_rb,1.1855e+02_rb,1.2634e+02_rb/) kbo(:,46,13) = (/ & &8.6912e+01_rb,9.6825e+01_rb,1.0618e+02_rb,1.1559e+02_rb,1.2362e+02_rb/) kbo(:,47,13) = (/ & &8.3243e+01_rb,9.2791e+01_rb,1.0216e+02_rb,1.1173e+02_rb,1.2014e+02_rb/) kbo(:,48,13) = (/ & &7.9277e+01_rb,8.8596e+01_rb,9.7998e+01_rb,1.0757e+02_rb,1.1661e+02_rb/) kbo(:,49,13) = (/ & &7.5292e+01_rb,8.4192e+01_rb,9.3715e+01_rb,1.0350e+02_rb,1.1301e+02_rb/) kbo(:,50,13) = (/ & &7.1230e+01_rb,8.0247e+01_rb,8.9698e+01_rb,9.9552e+01_rb,1.0903e+02_rb/) kbo(:,51,13) = (/ & &6.7476e+01_rb,7.6410e+01_rb,8.5492e+01_rb,9.5376e+01_rb,1.0529e+02_rb/) kbo(:,52,13) = (/ & &6.3984e+01_rb,7.2323e+01_rb,8.1379e+01_rb,9.1669e+01_rb,1.0161e+02_rb/) kbo(:,53,13) = (/ & &6.0507e+01_rb,6.8710e+01_rb,7.7291e+01_rb,8.7376e+01_rb,9.7642e+01_rb/) kbo(:,54,13) = (/ & &5.7140e+01_rb,6.5369e+01_rb,7.3636e+01_rb,8.3548e+01_rb,9.3708e+01_rb/) kbo(:,55,13) = (/ & &5.3812e+01_rb,6.2020e+01_rb,7.0040e+01_rb,7.9975e+01_rb,8.9949e+01_rb/) kbo(:,56,13) = (/ & &5.0680e+01_rb,5.8469e+01_rb,6.6837e+01_rb,7.6130e+01_rb,8.6168e+01_rb/) kbo(:,57,13) = (/ & &4.7704e+01_rb,5.5283e+01_rb,6.3212e+01_rb,7.2482e+01_rb,8.2593e+01_rb/) kbo(:,58,13) = (/ & &4.4831e+01_rb,5.2037e+01_rb,6.0082e+01_rb,6.9516e+01_rb,7.9098e+01_rb/) kbo(:,59,13) = (/ & &4.1993e+01_rb,5.0276e+01_rb,5.8426e+01_rb,6.7849e+01_rb,7.7045e+01_rb/) kbo(:,13,14) = (/ & &3.2192e+02_rb,3.1800e+02_rb,3.1299e+02_rb,3.0833e+02_rb,3.0378e+02_rb/) kbo(:,14,14) = (/ & &3.3616e+02_rb,3.3204e+02_rb,3.2756e+02_rb,3.2328e+02_rb,3.1928e+02_rb/) kbo(:,15,14) = (/ & &3.4851e+02_rb,3.4454e+02_rb,3.4128e+02_rb,3.3796e+02_rb,3.3453e+02_rb/) kbo(:,16,14) = (/ & &3.5910e+02_rb,3.5703e+02_rb,3.5472e+02_rb,3.5212e+02_rb,3.4919e+02_rb/) kbo(:,17,14) = (/ & &3.6944e+02_rb,3.6874e+02_rb,3.6739e+02_rb,3.6541e+02_rb,3.6285e+02_rb/) kbo(:,18,14) = (/ & &3.7860e+02_rb,3.7918e+02_rb,3.7877e+02_rb,3.7733e+02_rb,3.7491e+02_rb/) kbo(:,19,14) = (/ & &3.8633e+02_rb,3.8813e+02_rb,3.8858e+02_rb,3.8768e+02_rb,3.8541e+02_rb/) kbo(:,20,14) = (/ & &3.9291e+02_rb,3.9591e+02_rb,3.9708e+02_rb,3.9648e+02_rb,3.9435e+02_rb/) kbo(:,21,14) = (/ & &3.9871e+02_rb,4.0263e+02_rb,4.0428e+02_rb,4.0401e+02_rb,4.0199e+02_rb/) kbo(:,22,14) = (/ & &4.0411e+02_rb,4.0861e+02_rb,4.1054e+02_rb,4.1035e+02_rb,4.0818e+02_rb/) kbo(:,23,14) = (/ & &4.0907e+02_rb,4.1390e+02_rb,4.1591e+02_rb,4.1564e+02_rb,4.1319e+02_rb/) kbo(:,24,14) = (/ & &4.1361e+02_rb,4.1846e+02_rb,4.2039e+02_rb,4.1994e+02_rb,4.1722e+02_rb/) kbo(:,25,14) = (/ & &4.1735e+02_rb,4.2250e+02_rb,4.2427e+02_rb,4.2345e+02_rb,4.2038e+02_rb/) kbo(:,26,14) = (/ & &4.2023e+02_rb,4.2561e+02_rb,4.2741e+02_rb,4.2618e+02_rb,4.2275e+02_rb/) kbo(:,27,14) = (/ & &4.2191e+02_rb,4.2794e+02_rb,4.2966e+02_rb,4.2833e+02_rb,4.2447e+02_rb/) kbo(:,28,14) = (/ & &4.2376e+02_rb,4.3047e+02_rb,4.3157e+02_rb,4.2984e+02_rb,4.2560e+02_rb/) kbo(:,29,14) = (/ & &4.2494e+02_rb,4.3173e+02_rb,4.3312e+02_rb,4.3087e+02_rb,4.2623e+02_rb/) kbo(:,30,14) = (/ & &4.2606e+02_rb,4.3133e+02_rb,4.3417e+02_rb,4.3157e+02_rb,4.2642e+02_rb/) kbo(:,31,14) = (/ & &4.2650e+02_rb,4.3107e+02_rb,4.3305e+02_rb,4.3172e+02_rb,4.2612e+02_rb/) kbo(:,32,14) = (/ & &4.2471e+02_rb,4.2957e+02_rb,4.3084e+02_rb,4.2984e+02_rb,4.2547e+02_rb/) kbo(:,33,14) = (/ & &4.2258e+02_rb,4.2628e+02_rb,4.2740e+02_rb,4.2572e+02_rb,4.2270e+02_rb/) kbo(:,34,14) = (/ & &4.1904e+02_rb,4.2166e+02_rb,4.2281e+02_rb,4.2119e+02_rb,4.1745e+02_rb/) kbo(:,35,14) = (/ & &4.1547e+02_rb,4.1665e+02_rb,4.1587e+02_rb,4.1430e+02_rb,4.1140e+02_rb/) kbo(:,36,14) = (/ & &4.1132e+02_rb,4.1218e+02_rb,4.1072e+02_rb,4.0729e+02_rb,4.0326e+02_rb/) kbo(:,37,14) = (/ & &4.1025e+02_rb,4.1006e+02_rb,4.0857e+02_rb,4.0548e+02_rb,4.0090e+02_rb/) kbo(:,38,14) = (/ & &4.0864e+02_rb,4.0868e+02_rb,4.0686e+02_rb,4.0372e+02_rb,3.9921e+02_rb/) kbo(:,39,14) = (/ & &4.0644e+02_rb,4.0717e+02_rb,4.0510e+02_rb,4.0183e+02_rb,3.9677e+02_rb/) kbo(:,40,14) = (/ & &4.0674e+02_rb,4.0768e+02_rb,4.0593e+02_rb,4.0263e+02_rb,3.9822e+02_rb/) kbo(:,41,14) = (/ & &4.0619e+02_rb,4.0758e+02_rb,4.0668e+02_rb,4.0411e+02_rb,4.0014e+02_rb/) kbo(:,42,14) = (/ & &4.0516e+02_rb,4.0769e+02_rb,4.0744e+02_rb,4.0512e+02_rb,4.0147e+02_rb/) kbo(:,43,14) = (/ & &4.0427e+02_rb,4.0784e+02_rb,4.0882e+02_rb,4.0743e+02_rb,4.0425e+02_rb/) kbo(:,44,14) = (/ & &4.0222e+02_rb,4.0791e+02_rb,4.0985e+02_rb,4.0932e+02_rb,4.0671e+02_rb/) kbo(:,45,14) = (/ & &4.0049e+02_rb,4.0766e+02_rb,4.1090e+02_rb,4.1120e+02_rb,4.0941e+02_rb/) kbo(:,46,14) = (/ & &3.9818e+02_rb,4.0642e+02_rb,4.1148e+02_rb,4.1248e+02_rb,4.1163e+02_rb/) kbo(:,47,14) = (/ & &3.9380e+02_rb,4.0435e+02_rb,4.1138e+02_rb,4.1374e+02_rb,4.1407e+02_rb/) kbo(:,48,14) = (/ & &3.8928e+02_rb,4.0188e+02_rb,4.1084e+02_rb,4.1473e+02_rb,4.1611e+02_rb/) kbo(:,49,14) = (/ & &3.8359e+02_rb,3.9878e+02_rb,4.0957e+02_rb,4.1507e+02_rb,4.1710e+02_rb/) kbo(:,50,14) = (/ & &3.7809e+02_rb,3.9485e+02_rb,4.0769e+02_rb,4.1481e+02_rb,4.1835e+02_rb/) kbo(:,51,14) = (/ & &3.7168e+02_rb,3.9024e+02_rb,4.0538e+02_rb,4.1442e+02_rb,4.1907e+02_rb/) kbo(:,52,14) = (/ & &3.6416e+02_rb,3.8544e+02_rb,4.0242e+02_rb,4.1266e+02_rb,4.1894e+02_rb/) kbo(:,53,14) = (/ & &3.5526e+02_rb,3.7935e+02_rb,3.9858e+02_rb,4.1114e+02_rb,4.1870e+02_rb/) kbo(:,54,14) = (/ & &3.4652e+02_rb,3.7311e+02_rb,3.9451e+02_rb,4.0902e+02_rb,4.1841e+02_rb/) kbo(:,55,14) = (/ & &3.3749e+02_rb,3.6678e+02_rb,3.9033e+02_rb,4.0637e+02_rb,4.1776e+02_rb/) kbo(:,56,14) = (/ & &3.2816e+02_rb,3.6010e+02_rb,3.8512e+02_rb,4.0357e+02_rb,4.1651e+02_rb/) kbo(:,57,14) = (/ & &3.1792e+02_rb,3.5199e+02_rb,3.7987e+02_rb,4.0009e+02_rb,4.1450e+02_rb/) kbo(:,58,14) = (/ & &3.0792e+02_rb,3.4419e+02_rb,3.7396e+02_rb,3.9574e+02_rb,4.1235e+02_rb/) kbo(:,59,14) = (/ & &3.0450e+02_rb,3.4137e+02_rb,3.7215e+02_rb,3.9490e+02_rb,4.1294e+02_rb/) kbo(:,13,15) = (/ & &5.8728e+02_rb,5.6960e+02_rb,5.5469e+02_rb,5.4056e+02_rb,5.2654e+02_rb/) kbo(:,14,15) = (/ & &6.4066e+02_rb,6.2243e+02_rb,6.0593e+02_rb,5.8946e+02_rb,5.7294e+02_rb/) kbo(:,15,15) = (/ & &6.9682e+02_rb,6.7763e+02_rb,6.5849e+02_rb,6.3897e+02_rb,6.1931e+02_rb/) kbo(:,16,15) = (/ & &7.5471e+02_rb,7.3292e+02_rb,7.1026e+02_rb,6.8716e+02_rb,6.6402e+02_rb/) kbo(:,17,15) = (/ & &8.1231e+02_rb,7.8651e+02_rb,7.5977e+02_rb,7.3284e+02_rb,7.0637e+02_rb/) kbo(:,18,15) = (/ & &8.6774e+02_rb,8.3725e+02_rb,8.0641e+02_rb,7.7597e+02_rb,7.4653e+02_rb/) kbo(:,19,15) = (/ & &9.1989e+02_rb,8.8492e+02_rb,8.5007e+02_rb,8.1594e+02_rb,7.8315e+02_rb/) kbo(:,20,15) = (/ & &9.6712e+02_rb,9.2752e+02_rb,8.8885e+02_rb,8.5117e+02_rb,8.1509e+02_rb/) kbo(:,21,15) = (/ & &1.0088e+03_rb,9.6497e+02_rb,9.2264e+02_rb,8.8175e+02_rb,8.4261e+02_rb/) kbo(:,22,15) = (/ & &1.0418e+03_rb,9.9399e+02_rb,9.4844e+02_rb,9.0461e+02_rb,8.6306e+02_rb/) kbo(:,23,15) = (/ & &1.0679e+03_rb,1.0170e+03_rb,9.6858e+02_rb,9.2246e+02_rb,8.7882e+02_rb/) kbo(:,24,15) = (/ & &1.0878e+03_rb,1.0343e+03_rb,9.8346e+02_rb,9.3530e+02_rb,8.9008e+02_rb/) kbo(:,25,15) = (/ & &1.1017e+03_rb,1.0460e+03_rb,9.9332e+02_rb,9.4368e+02_rb,8.9722e+02_rb/) kbo(:,26,15) = (/ & &1.1097e+03_rb,1.0523e+03_rb,9.9837e+02_rb,9.4761e+02_rb,9.0024e+02_rb/) kbo(:,27,15) = (/ & &1.1134e+03_rb,1.0547e+03_rb,9.9983e+02_rb,9.4851e+02_rb,9.0041e+02_rb/) kbo(:,28,15) = (/ & &1.1133e+03_rb,1.0539e+03_rb,9.9848e+02_rb,9.4685e+02_rb,8.9828e+02_rb/) kbo(:,29,15) = (/ & &1.1100e+03_rb,1.0502e+03_rb,9.9454e+02_rb,9.4272e+02_rb,8.9398e+02_rb/) kbo(:,30,15) = (/ & &1.1040e+03_rb,1.0443e+03_rb,9.8865e+02_rb,9.3687e+02_rb,8.8821e+02_rb/) kbo(:,31,15) = (/ & &1.0960e+03_rb,1.0364e+03_rb,9.8114e+02_rb,9.2948e+02_rb,8.8105e+02_rb/) kbo(:,32,15) = (/ & &1.0862e+03_rb,1.0270e+03_rb,9.7213e+02_rb,9.2091e+02_rb,8.7298e+02_rb/) kbo(:,33,15) = (/ & &1.0752e+03_rb,1.0167e+03_rb,9.6230e+02_rb,9.1136e+02_rb,8.6427e+02_rb/) kbo(:,34,15) = (/ & &1.0653e+03_rb,1.0075e+03_rb,9.5353e+02_rb,9.0314e+02_rb,8.5654e+02_rb/) kbo(:,35,15) = (/ & &1.0607e+03_rb,1.0031e+03_rb,9.4921e+02_rb,8.9900e+02_rb,8.5273e+02_rb/) kbo(:,36,15) = (/ & &1.0620e+03_rb,1.0042e+03_rb,9.5018e+02_rb,8.9983e+02_rb,8.5343e+02_rb/) kbo(:,37,15) = (/ & &1.0721e+03_rb,1.0134e+03_rb,9.5885e+02_rb,9.0773e+02_rb,8.6067e+02_rb/) kbo(:,38,15) = (/ & &1.0824e+03_rb,1.0229e+03_rb,9.6769e+02_rb,9.1592e+02_rb,8.6811e+02_rb/) kbo(:,39,15) = (/ & &1.0926e+03_rb,1.0322e+03_rb,9.7633e+02_rb,9.2388e+02_rb,8.7544e+02_rb/) kbo(:,40,15) = (/ & &1.1061e+03_rb,1.0474e+03_rb,9.9047e+02_rb,9.3721e+02_rb,8.8756e+02_rb/) kbo(:,41,15) = (/ & &1.1226e+03_rb,1.0637e+03_rb,1.0055e+03_rb,9.5118e+02_rb,9.0046e+02_rb/) kbo(:,42,15) = (/ & &1.1394e+03_rb,1.0801e+03_rb,1.0206e+03_rb,9.6537e+02_rb,9.1362e+02_rb/) kbo(:,43,15) = (/ & &1.1611e+03_rb,1.1003e+03_rb,1.0393e+03_rb,9.8274e+02_rb,9.2982e+02_rb/) kbo(:,44,15) = (/ & &1.1862e+03_rb,1.1226e+03_rb,1.0598e+03_rb,1.0018e+03_rb,9.4776e+02_rb/) kbo(:,45,15) = (/ & &1.2106e+03_rb,1.1455e+03_rb,1.0808e+03_rb,1.0212e+03_rb,9.6597e+02_rb/) kbo(:,46,15) = (/ & &1.2373e+03_rb,1.1703e+03_rb,1.1039e+03_rb,1.0424e+03_rb,9.8575e+02_rb/) kbo(:,47,15) = (/ & &1.2689e+03_rb,1.1988e+03_rb,1.1303e+03_rb,1.0668e+03_rb,1.0082e+03_rb/) kbo(:,48,15) = (/ & &1.2999e+03_rb,1.2281e+03_rb,1.1575e+03_rb,1.0920e+03_rb,1.0314e+03_rb/) kbo(:,49,15) = (/ & &1.3314e+03_rb,1.2580e+03_rb,1.1855e+03_rb,1.1179e+03_rb,1.0553e+03_rb/) kbo(:,50,15) = (/ & &1.3612e+03_rb,1.2867e+03_rb,1.2124e+03_rb,1.1430e+03_rb,1.0785e+03_rb/) kbo(:,51,15) = (/ & &1.3905e+03_rb,1.3151e+03_rb,1.2392e+03_rb,1.1679e+03_rb,1.1016e+03_rb/) kbo(:,52,15) = (/ & &1.4202e+03_rb,1.3438e+03_rb,1.2667e+03_rb,1.1935e+03_rb,1.1254e+03_rb/) kbo(:,53,15) = (/ & &1.4513e+03_rb,1.3727e+03_rb,1.2946e+03_rb,1.2198e+03_rb,1.1498e+03_rb/) kbo(:,54,15) = (/ & &1.4800e+03_rb,1.3995e+03_rb,1.3206e+03_rb,1.2445e+03_rb,1.1728e+03_rb/) kbo(:,55,15) = (/ & &1.5077e+03_rb,1.4256e+03_rb,1.3457e+03_rb,1.2685e+03_rb,1.1953e+03_rb/) kbo(:,56,15) = (/ & &1.5346e+03_rb,1.4518e+03_rb,1.3711e+03_rb,1.2930e+03_rb,1.2182e+03_rb/) kbo(:,57,15) = (/ & &1.5614e+03_rb,1.4781e+03_rb,1.3967e+03_rb,1.3177e+03_rb,1.2417e+03_rb/) kbo(:,58,15) = (/ & &1.5868e+03_rb,1.5034e+03_rb,1.4212e+03_rb,1.3415e+03_rb,1.2645e+03_rb/) kbo(:,59,15) = (/ & &1.5970e+03_rb,1.5135e+03_rb,1.4312e+03_rb,1.3511e+03_rb,1.2737e+03_rb/) kbo(:,13,16) = (/ & &9.8102e+02_rb,9.4348e+02_rb,9.0592e+02_rb,8.7102e+02_rb,8.4003e+02_rb/) kbo(:,14,16) = (/ & &1.1017e+03_rb,1.0558e+03_rb,1.0119e+03_rb,9.7251e+02_rb,9.3606e+02_rb/) kbo(:,15,16) = (/ & &1.2294e+03_rb,1.1733e+03_rb,1.1221e+03_rb,1.0765e+03_rb,1.0331e+03_rb/) kbo(:,16,16) = (/ & &1.3605e+03_rb,1.2927e+03_rb,1.2335e+03_rb,1.1795e+03_rb,1.1282e+03_rb/) kbo(:,17,16) = (/ & &1.4907e+03_rb,1.4118e+03_rb,1.3426e+03_rb,1.2786e+03_rb,1.2181e+03_rb/) kbo(:,18,16) = (/ & &1.6164e+03_rb,1.5261e+03_rb,1.4460e+03_rb,1.3720e+03_rb,1.3020e+03_rb/) kbo(:,19,16) = (/ & &1.7353e+03_rb,1.6329e+03_rb,1.5412e+03_rb,1.4568e+03_rb,1.3777e+03_rb/) kbo(:,20,16) = (/ & &1.8432e+03_rb,1.7287e+03_rb,1.6256e+03_rb,1.5311e+03_rb,1.4432e+03_rb/) kbo(:,21,16) = (/ & &1.9386e+03_rb,1.8123e+03_rb,1.6986e+03_rb,1.5948e+03_rb,1.4993e+03_rb/) kbo(:,22,16) = (/ & &2.0105e+03_rb,1.8749e+03_rb,1.7520e+03_rb,1.6411e+03_rb,1.5395e+03_rb/) kbo(:,23,16) = (/ & &2.0682e+03_rb,1.9239e+03_rb,1.7938e+03_rb,1.6758e+03_rb,1.5698e+03_rb/) kbo(:,24,16) = (/ & &2.1097e+03_rb,1.9590e+03_rb,1.8231e+03_rb,1.7013e+03_rb,1.5912e+03_rb/) kbo(:,25,16) = (/ & &2.1366e+03_rb,1.9806e+03_rb,1.8412e+03_rb,1.7160e+03_rb,1.6035e+03_rb/) kbo(:,26,16) = (/ & &2.1483e+03_rb,1.9894e+03_rb,1.8477e+03_rb,1.7210e+03_rb,1.6077e+03_rb/) kbo(:,27,16) = (/ & &2.1499e+03_rb,1.9893e+03_rb,1.8466e+03_rb,1.7191e+03_rb,1.6062e+03_rb/) kbo(:,28,16) = (/ & &2.1427e+03_rb,1.9818e+03_rb,1.8393e+03_rb,1.7119e+03_rb,1.6006e+03_rb/) kbo(:,29,16) = (/ & &2.1277e+03_rb,1.9675e+03_rb,1.8260e+03_rb,1.6998e+03_rb,1.5909e+03_rb/) kbo(:,30,16) = (/ & &2.1075e+03_rb,1.9489e+03_rb,1.8089e+03_rb,1.6842e+03_rb,1.5788e+03_rb/) kbo(:,31,16) = (/ & &2.0822e+03_rb,1.9262e+03_rb,1.7881e+03_rb,1.6663e+03_rb,1.5639e+03_rb/) kbo(:,32,16) = (/ & &2.0533e+03_rb,1.9005e+03_rb,1.7649e+03_rb,1.6467e+03_rb,1.5469e+03_rb/) kbo(:,33,16) = (/ & &2.0222e+03_rb,1.8726e+03_rb,1.7400e+03_rb,1.6262e+03_rb,1.5282e+03_rb/) kbo(:,34,16) = (/ & &1.9951e+03_rb,1.8486e+03_rb,1.7187e+03_rb,1.6087e+03_rb,1.5123e+03_rb/) kbo(:,35,16) = (/ & &1.9819e+03_rb,1.8366e+03_rb,1.7081e+03_rb,1.6001e+03_rb,1.5043e+03_rb/) kbo(:,36,16) = (/ & &1.9843e+03_rb,1.8387e+03_rb,1.7099e+03_rb,1.6017e+03_rb,1.5056e+03_rb/) kbo(:,37,16) = (/ & &2.0096e+03_rb,1.8607e+03_rb,1.7293e+03_rb,1.6180e+03_rb,1.5204e+03_rb/) kbo(:,38,16) = (/ & &2.0360e+03_rb,1.8842e+03_rb,1.7495e+03_rb,1.6347e+03_rb,1.5358e+03_rb/) kbo(:,39,16) = (/ & &2.0619e+03_rb,1.9070e+03_rb,1.7697e+03_rb,1.6516e+03_rb,1.5509e+03_rb/) kbo(:,40,16) = (/ & &2.1060e+03_rb,1.9450e+03_rb,1.8033e+03_rb,1.6798e+03_rb,1.5761e+03_rb/) kbo(:,41,16) = (/ & &2.1534e+03_rb,1.9860e+03_rb,1.8395e+03_rb,1.7107e+03_rb,1.6027e+03_rb/) kbo(:,42,16) = (/ & &2.2020e+03_rb,2.0285e+03_rb,1.8771e+03_rb,1.7432e+03_rb,1.6297e+03_rb/) kbo(:,43,16) = (/ & &2.2623e+03_rb,2.0820e+03_rb,1.9234e+03_rb,1.7841e+03_rb,1.6639e+03_rb/) kbo(:,44,16) = (/ & &2.3303e+03_rb,2.1416e+03_rb,1.9758e+03_rb,1.8302e+03_rb,1.7027e+03_rb/) kbo(:,45,16) = (/ & &2.4015e+03_rb,2.2036e+03_rb,2.0305e+03_rb,1.8787e+03_rb,1.7442e+03_rb/) kbo(:,46,16) = (/ & &2.4806e+03_rb,2.2729e+03_rb,2.0910e+03_rb,1.9319e+03_rb,1.7910e+03_rb/) kbo(:,47,16) = (/ & &2.5738e+03_rb,2.3537e+03_rb,2.1621e+03_rb,1.9939e+03_rb,1.8463e+03_rb/) kbo(:,48,16) = (/ & &2.6744e+03_rb,2.4391e+03_rb,2.2368e+03_rb,2.0594e+03_rb,1.9042e+03_rb/) kbo(:,49,16) = (/ & &2.7827e+03_rb,2.5294e+03_rb,2.3154e+03_rb,2.1283e+03_rb,1.9646e+03_rb/) kbo(:,50,16) = (/ & &2.8923e+03_rb,2.6199e+03_rb,2.3931e+03_rb,2.1963e+03_rb,2.0240e+03_rb/) kbo(:,51,16) = (/ & &3.0068e+03_rb,2.7139e+03_rb,2.4725e+03_rb,2.2657e+03_rb,2.0848e+03_rb/) kbo(:,52,16) = (/ & &3.1290e+03_rb,2.8143e+03_rb,2.5557e+03_rb,2.3381e+03_rb,2.1483e+03_rb/) kbo(:,53,16) = (/ & &3.2592e+03_rb,2.9226e+03_rb,2.6451e+03_rb,2.4144e+03_rb,2.2150e+03_rb/) kbo(:,54,16) = (/ & &3.3865e+03_rb,3.0292e+03_rb,2.7322e+03_rb,2.4877e+03_rb,2.2788e+03_rb/) kbo(:,55,16) = (/ & &3.5154e+03_rb,3.1374e+03_rb,2.8210e+03_rb,2.5614e+03_rb,2.3429e+03_rb/) kbo(:,56,16) = (/ & &3.6521e+03_rb,3.2511e+03_rb,2.9159e+03_rb,2.6395e+03_rb,2.4095e+03_rb/) kbo(:,57,16) = (/ & &3.7974e+03_rb,3.3719e+03_rb,3.0171e+03_rb,2.7223e+03_rb,2.4795e+03_rb/) kbo(:,58,16) = (/ & &3.9425e+03_rb,3.4927e+03_rb,3.1186e+03_rb,2.8056e+03_rb,2.5484e+03_rb/) kbo(:,59,16) = (/ & &4.0032e+03_rb,3.5431e+03_rb,3.1604e+03_rb,2.8404e+03_rb,2.5772e+03_rb/) ! The array FORREFO contains the coefficient of the water vapor ! foreign-continuum (including the energy term). The first ! index refers to reference temperature (296,260,224,260) and ! pressure (970,475,219,3 mbar) levels. The second index ! runs over the g-channel (1 to 16). forrefo(1,:) = (/ & &5.1629e-06_rb,7.7578e-06_rb,1.9043e-05_rb,1.4802e-04_rb,2.2980e-04_rb,2.8057e-04_rb, & &3.2824e-04_rb,3.4913e-04_rb,3.6515e-04_rb,3.8271e-04_rb,3.7499e-04_rb,3.6966e-04_rb, & &3.7424e-04_rb,3.8884e-04_rb,3.7117e-04_rb,4.3710e-04_rb/) forrefo(2,:) = (/ & &5.0804e-06_rb,1.3466e-05_rb,7.2606e-05_rb,1.6940e-04_rb,2.1022e-04_rb,2.5900e-04_rb, & &2.9106e-04_rb,3.2261e-04_rb,3.2066e-04_rb,3.5421e-04_rb,3.7128e-04_rb,3.8144e-04_rb, & &3.7854e-04_rb,3.8347e-04_rb,3.8921e-04_rb,3.7339e-04_rb/) forrefo(3,:) = (/ & &5.4797e-05_rb,1.0026e-04_rb,1.2422e-04_rb,1.6386e-04_rb,1.8378e-04_rb,1.9616e-04_rb, & &2.0711e-04_rb,2.2492e-04_rb,2.5240e-04_rb,2.6187e-04_rb,2.6058e-04_rb,2.4892e-04_rb, & &2.6526e-04_rb,3.2105e-04_rb,3.6903e-04_rb,3.7213e-04_rb/) forrefo(4,:) = (/ & &4.2782e-05_rb,1.4775e-04_rb,1.4588e-04_rb,1.6964e-04_rb,1.6667e-04_rb,1.7192e-04_rb, & &1.9057e-04_rb,2.0180e-04_rb,2.1177e-04_rb,2.2326e-04_rb,2.3801e-04_rb,2.9308e-04_rb, & &3.1130e-04_rb,3.1829e-04_rb,3.5035e-04_rb,3.7782e-04_rb/) ! The array SELFREFO contains the coefficient of the water vapor ! self-continuum (including the energy term). The first index ! refers to temperature in 7.2 degree increments. For instance, ! JT = 1 refers to a temperature of 245.6, JT = 2 refers to 252.8, ! etc. The second index runs over the g-channel (1 to 16). selfrefo(:, 1) = (/ & & 1.27793e-03_rb, 1.05944e-03_rb, 8.78300e-04_rb, 7.28133e-04_rb, 6.03641e-04_rb, & & 5.00434e-04_rb, 4.14873e-04_rb, 3.43940e-04_rb, 2.85135e-04_rb, 2.36384e-04_rb/) selfrefo(:, 2) = (/ & & 1.42785e-03_rb, 1.17602e-03_rb, 9.68600e-04_rb, 7.97765e-04_rb, 6.57060e-04_rb, & & 5.41172e-04_rb, 4.45724e-04_rb, 3.67110e-04_rb, 3.02361e-04_rb, 2.49033e-04_rb/) selfrefo(:, 3) = (/ & & 2.94095e-03_rb, 2.27102e-03_rb, 1.75370e-03_rb, 1.35422e-03_rb, 1.04574e-03_rb, & & 8.07525e-04_rb, 6.23577e-04_rb, 4.81530e-04_rb, 3.71841e-04_rb, 2.87138e-04_rb/) selfrefo(:, 4) = (/ & & 3.94894e-03_rb, 3.48184e-03_rb, 3.07000e-03_rb, 2.70687e-03_rb, 2.38669e-03_rb, & & 2.10439e-03_rb, 1.85547e-03_rb, 1.63600e-03_rb, 1.44249e-03_rb, 1.27187e-03_rb/) selfrefo(:, 5) = (/ & & 4.19971e-03_rb, 3.86333e-03_rb, 3.55390e-03_rb, 3.26925e-03_rb, 3.00740e-03_rb, & & 2.76652e-03_rb, 2.54494e-03_rb, 2.34110e-03_rb, 2.15359e-03_rb, 1.98110e-03_rb/) selfrefo(:, 6) = (/ & & 4.95922e-03_rb, 4.57134e-03_rb, 4.21380e-03_rb, 3.88422e-03_rb, 3.58042e-03_rb, & & 3.30038e-03_rb, 3.04225e-03_rb, 2.80430e-03_rb, 2.58496e-03_rb, 2.38278e-03_rb/) selfrefo(:, 7) = (/ & & 5.27379e-03_rb, 4.91005e-03_rb, 4.57140e-03_rb, 4.25611e-03_rb, 3.96256e-03_rb, & & 3.68925e-03_rb, 3.43480e-03_rb, 3.19790e-03_rb, 2.97734e-03_rb, 2.77199e-03_rb/) selfrefo(:, 8) = (/ & & 5.75341e-03_rb, 5.31533e-03_rb, 4.91060e-03_rb, 4.53669e-03_rb, 4.19126e-03_rb, & & 3.87212e-03_rb, 3.57729e-03_rb, 3.30490e-03_rb, 3.05325e-03_rb, 2.82077e-03_rb/) selfrefo(:, 9) = (/ & & 5.49849e-03_rb, 5.14295e-03_rb, 4.81040e-03_rb, 4.49935e-03_rb, 4.20842e-03_rb, & & 3.93629e-03_rb, 3.68177e-03_rb, 3.44370e-03_rb, 3.22102e-03_rb, 3.01275e-03_rb/) selfrefo(:,10) = (/ & & 6.04962e-03_rb, 5.60945e-03_rb, 5.20130e-03_rb, 4.82285e-03_rb, 4.47194e-03_rb, & & 4.14656e-03_rb, 3.84485e-03_rb, 3.56510e-03_rb, 3.30570e-03_rb, 3.06518e-03_rb/) selfrefo(:,11) = (/ & & 6.40108e-03_rb, 5.87551e-03_rb, 5.39310e-03_rb, 4.95029e-03_rb, 4.54385e-03_rb, & & 4.17077e-03_rb, 3.82833e-03_rb, 3.51400e-03_rb, 3.22548e-03_rb, 2.96065e-03_rb/) selfrefo(:,12) = (/ & & 6.77938e-03_rb, 6.15713e-03_rb, 5.59200e-03_rb, 5.07874e-03_rb, 4.61259e-03_rb, & & 4.18922e-03_rb, 3.80472e-03_rb, 3.45550e-03_rb, 3.13834e-03_rb, 2.85029e-03_rb/) selfrefo(:,13) = (/ & & 6.90020e-03_rb, 6.26766e-03_rb, 5.69310e-03_rb, 5.17121e-03_rb, 4.69717e-03_rb, & & 4.26658e-03_rb, 3.87546e-03_rb, 3.52020e-03_rb, 3.19750e-03_rb, 2.90439e-03_rb/) selfrefo(:,14) = (/ & & 6.92759e-03_rb, 6.32882e-03_rb, 5.78180e-03_rb, 5.28206e-03_rb, 4.82552e-03_rb, & & 4.40843e-03_rb, 4.02740e-03_rb, 3.67930e-03_rb, 3.36129e-03_rb, 3.07076e-03_rb/) selfrefo(:,15) = (/ & & 7.54539e-03_rb, 6.81161e-03_rb, 6.14920e-03_rb, 5.55120e-03_rb, 5.01136e-03_rb, & & 4.52402e-03_rb, 4.08407e-03_rb, 3.68690e-03_rb, 3.32836e-03_rb, 3.00468e-03_rb/) selfrefo(:,16) = (/ & & 7.62039e-03_rb, 7.10834e-03_rb, 6.63070e-03_rb, 6.18515e-03_rb, 5.76955e-03_rb, & & 5.38186e-03_rb, 5.02023e-03_rb, 4.68290e-03_rb, 4.36823e-03_rb, 4.07471e-03_rb/) end subroutine lw_kgb16 ================================================ FILE: GeosRad/rrtmg_lw_rad.F90 ================================================ ! path: $Source: /storm/rc1/cvsroot/rc/rrtmg_lw/src/rrtmg_lw_rad.f90,v $ ! author: $Author: mike $ ! revision: $Revision: 1.11 $ ! created: $Date: 2009/11/12 20:52:25 $ ! module rrtmg_lw_rad ! -------------------------------------------------------------------------- ! | | ! | Copyright 2002-2009, Atmospheric & Environmental Research, Inc. (AER). | ! | This software may be used, copied, or redistributed as long as it is | ! | not sold and this copyright notice is reproduced on each copy made. | ! | This model is provided as is without any express or implied warranties. | ! | (http://www.rtweb.aer.com/) | ! | | ! -------------------------------------------------------------------------- ! ! **************************************************************************** ! * * ! * RRTMG_LW * ! * * ! * * ! * * ! * a rapid radiative transfer model * ! * for the longwave region * ! * for application to general circulation models * ! * * ! * * ! * Atmospheric and Environmental Research, Inc. * ! * 131 Hartwell Avenue * ! * Lexington, MA 02421 * ! * * ! * * ! * Eli J. Mlawer * ! * Jennifer S. Delamere * ! * Michael J. Iacono * ! * Shepard A. Clough * ! * * ! * * ! * * ! * * ! * * ! * * ! * email: miacono@aer.com * ! * email: emlawer@aer.com * ! * email: jdelamer@aer.com * ! * * ! * The authors wish to acknowledge the contributions of the * ! * following people: Steven J. Taubman, Karen Cady-Pereira, * ! * Patrick D. Brown, Ronald E. Farren, Luke Chen, Robert Bergstrom. * ! * * ! **************************************************************************** ! -------- Modules -------- use parkind, only : im => kind_im, rb => kind_rb use rrlw_vsn use mcica_subcol_gen_lw, only: mcica_subcol_lw use rrtmg_lw_cldprmc, only: cldprmc ! *** Move the required call to rrtmg_lw_ini below and the following ! use association to the GCM initialization area *** ! use rrtmg_lw_init, only: rrtmg_lw_ini use rrtmg_lw_rtrnmc, only: rtrnmc use rrtmg_lw_setcoef, only: setcoef use rrtmg_lw_taumol, only: taumol implicit none ! public interfaces/functions/subroutines public :: rrtmg_lw, inatm !------------------------------------------------------------------ contains !------------------------------------------------------------------ !------------------------------------------------------------------ ! Public subroutines !------------------------------------------------------------------ recursive subroutine rrtmg_lw & (ncol ,nlay ,icld ,idrv , & play ,plev ,tlay ,tlev ,tsfc , & h2ovmr ,o3vmr ,co2vmr ,ch4vmr ,n2ovmr ,o2vmr , & cfc11vmr,cfc12vmr,cfc22vmr,ccl4vmr ,emis , & inflglw ,iceflglw,liqflglw,cldfmcl , & taucmcl ,ciwpmcl ,clwpmcl ,reicmcl ,relqmcl , & tauaer , & uflx ,dflx ,hr ,uflxc ,dflxc, hrc, & duflx_dt,duflxc_dt ) ! -------- Description -------- ! This program is the driver subroutine for RRTMG_LW, the AER LW radiation ! model for application to GCMs, that has been adapted from RRTM_LW for ! improved efficiency. ! ! NOTE: The call to RRTMG_LW_INI should be moved to the GCM initialization ! area, since this has to be called only once. ! ! This routine: ! a) calls INATM to read in the atmospheric profile from GCM; ! all layering in RRTMG is ordered from surface to toa. ! b) calls CLDPRMC to set cloud optical depth for McICA based ! on input cloud properties ! c) calls SETCOEF to calculate various quantities needed for ! the radiative transfer algorithm ! d) calls TAUMOL to calculate gaseous optical depths for each ! of the 16 spectral bands ! e) calls RTRNMC (for both clear and cloudy profiles) to perform the ! radiative transfer calculation using McICA, the Monte-Carlo ! Independent Column Approximation, to represent sub-grid scale ! cloud variability ! f) passes the necessary fluxes and cooling rates back to GCM ! ! Two modes of operation are possible: ! The mode is chosen by using either rrtmg_lw.nomcica.f90 (to not use ! McICA) or rrtmg_lw.f90 (to use McICA) to interface with a GCM. ! ! 1) Standard, single forward model calculation (imca = 0) ! 2) Monte Carlo Independent Column Approximation (McICA, Pincus et al., ! JC, 2003) method is applied to the forward model calculation (imca = 1) ! ! This call to RRTMG_LW must be preceeded by a call to the module ! mcica_subcol_gen_lw.f90 to run the McICA sub-column cloud generator, ! which will provide the cloud physical or cloud optical properties ! on the RRTMG quadrature point (ngpt) dimension. ! Two random number generators are available for use when imca = 1. ! This is chosen by setting flag irnd on input to mcica_subcol_gen_lw. ! 1) KISSVEC (irnd = 0) ! 2) Mersenne-Twister (irnd = 1) ! ! Two methods of cloud property input are possible: ! Cloud properties can be input in one of two ways (controlled by input ! flags inflglw, iceflglw, and liqflglw; see text file rrtmg_lw_instructions ! and subroutine rrtmg_lw_cldprmc.f90 for further details): ! ! 1) Input cloud fraction and cloud optical depth directly (inflglw = 0) ! 2) Input cloud fraction and cloud physical properties (inflglw = 1 or 2); ! cloud optical properties are calculated by cldprmc or cldprmc based ! on input settings of iceflglw and liqflglw. Ice particle size provided ! must be appropriately defined for the ice parameterization selected. ! ! One method of aerosol property input is possible: ! Aerosol properties can be input in only one way (controlled by input ! flag iaer; see text file rrtmg_lw_instructions for further details): ! ! 1) Input aerosol optical depth directly by layer and spectral band (iaer=10); ! band average optical depth at the mid-point of each spectral band. ! RRTMG_LW currently treats only aerosol absorption; ! scattering capability is not presently available. ! ! The optional calculation of the change in upward flux as a function of surface ! temperature is available (controlled by input flag idrv). This can be utilized ! to approximate adjustments to the upward flux profile caused only by a change in ! surface temperature between full radiation calls. This feature uses the pre- ! calculated derivative of the Planck function with respect to surface temperature. ! ! 1) Normal forward calculation for the input profile (idrv=0) ! 2) Normal forward calculation with optional calculation of the change ! in upward flux as a function of surface temperature for clear sky ! and total sky flux. Flux partial derivatives are provided in arrays ! duflx_dt and duflxc_dt for total and clear sky. (idrv=1) ! ! ! ------- Modifications ------- ! ! This version of RRTMG_LW has been modified from RRTM_LW to use a reduced ! set of g-points for application to GCMs. ! !-- Original version (derived from RRTM_LW), reduction of g-points, other ! revisions for use with GCMs. ! 1999: M. J. Iacono, AER, Inc. !-- Adapted for use with NCAR/CAM. ! May 2004: M. J. Iacono, AER, Inc. !-- Revised to add McICA capability. ! Nov 2005: M. J. Iacono, AER, Inc. !-- Conversion to F90 formatting for consistency with rrtmg_sw. ! Feb 2007: M. J. Iacono, AER, Inc. !-- Modifications to formatting to use assumed-shape arrays. ! Aug 2007: M. J. Iacono, AER, Inc. !-- Modified to add longwave aerosol absorption. ! Apr 2008: M. J. Iacono, AER, Inc. !-- Added capability to calculate derivative of upward flux wrt surface temperature. ! Nov 2009: M. J. Iacono, E. J. Mlawer, AER, Inc. ! --------- Modules ---------- use parrrtm, only : nbndlw, ngptlw, maxxsec, mxmol use rrlw_con, only: fluxfac, heatfac, oneminus, pi use rrlw_wvn, only: ng, ngb, nspa, nspb, wavenum1, wavenum2, delwave ! ------- Declarations ------- ! ----- Input ----- ! Note: All volume mixing ratios are in dimensionless units of mole fraction obtained ! by scaling mass mixing ratio (g/g) with the appropriate molecular weights (g/mol) integer(kind=im), intent(in) :: ncol ! Number of horizontal columns integer(kind=im), intent(in) :: nlay ! Number of model layers integer(kind=im), intent(inout) :: icld ! Cloud overlap method ! 0: Clear only ! 1: Random ! 2: Maximum/random ! 3: Maximum integer(kind=im), intent(in) :: idrv ! Flag for calculation of dFdT, the change ! in upward flux as a function of ! surface temperature [0=off, 1=on] ! 0: Normal forward calculation ! 1: Normal forward calculation with ! duflx_dt and duflxc_dt output real(kind=rb), intent(in) :: play(ncol,nlay) ! Layer pressures (hPa, mb) ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: plev(ncol,nlay+1) ! Interface pressures (hPa, mb) ! Dimensions: (ncol,nlay+1) real(kind=rb), intent(in) :: tlay(ncol,nlay) ! Layer temperatures (K) ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: tlev(ncol,nlay+1) ! Interface temperatures (K) ! Dimensions: (ncol,nlay+1) real(kind=rb), intent(in) :: tsfc(ncol) ! Surface temperature (K) ! Dimensions: (ncol) real(kind=rb), intent(in) :: h2ovmr(ncol,nlay) ! H2O volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: o3vmr(ncol,nlay) ! O3 volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: co2vmr(ncol,nlay) ! CO2 volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: ch4vmr(ncol,nlay) ! Methane volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: n2ovmr(ncol,nlay) ! Nitrous oxide volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: o2vmr(ncol,nlay) ! Oxygen volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: cfc11vmr(ncol,nlay) ! CFC11 volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: cfc12vmr(ncol,nlay) ! CFC12 volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: cfc22vmr(ncol,nlay) ! CFC22 volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: ccl4vmr(ncol,nlay) ! CCL4 volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: emis(ncol,nbndlw) ! Surface emissivity ! Dimensions: (ncol,nbndlw) integer(kind=im), intent(in) :: inflglw ! Flag for cloud optical properties integer(kind=im), intent(in) :: iceflglw ! Flag for ice particle specification integer(kind=im), intent(in) :: liqflglw ! Flag for liquid droplet specification real(kind=rb), intent(in) :: cldfmcl(ngptlw,ncol,nlay) ! Cloud fraction ! Dimensions: (ngptlw,ncol,nlay) real(kind=rb), intent(in) :: ciwpmcl(ngptlw,ncol,nlay) ! In-cloud ice water path (g/m2) ! Dimensions: (ngptlw,ncol,nlay) real(kind=rb), intent(in) :: clwpmcl(ngptlw,ncol,nlay) ! In-cloud liquid water path (g/m2) ! Dimensions: (ngptlw,ncol,nlay) real(kind=rb), intent(in) :: reicmcl(ncol,nlay) ! Cloud ice particle effective size (microns) ! Dimensions: (ncol,nlay) ! specific definition of reicmcl depends on setting of iceflglw: ! iceflglw = 0: ice effective radius, r_ec, (Ebert and Curry, 1992), ! r_ec must be >= 10.0 microns ! iceflglw = 1: ice effective radius, r_ec, (Ebert and Curry, 1992), ! r_ec range is limited to 13.0 to 130.0 microns ! iceflglw = 2: ice effective radius, r_k, (Key, Streamer Ref. Manual, 1996) ! r_k range is limited to 5.0 to 131.0 microns ! iceflglw = 3: generalized effective size, dge, (Fu, 1996), ! dge range is limited to 5.0 to 140.0 microns ! [dge = 1.0315 * r_ec] real(kind=rb), intent(in) :: relqmcl(ncol,nlay) ! Cloud water drop effective radius (microns) ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: taucmcl(ngptlw,ncol,nlay) ! In-cloud optical depth ! Dimensions: (ngptlw,ncol,nlay) ! real(kind=rb), intent(in) :: ssacmcl(nbndlw,ncol,nlay) ! In-cloud single scattering albedo ! Dimensions: (ngptlw,ncol,nlay) ! for future expansion ! lw scattering not yet available ! real(kind=rb), intent(in) :: asmcmcl(nbndlw,ncol,nlay) ! In-cloud asymmetry parameter ! Dimensions: (ngptlw,ncol,nlay) ! for future expansion ! lw scattering not yet available real(kind=rb), intent(in) :: tauaer(ncol,nlay,nbndlw) ! aerosol optical depth ! at mid-point of LW spectral bands ! Dimensions: (ncol,nlay,nbndlw) ! real(kind=rb), intent(in) :: ssaaer(ncol,nlay,nbndlw) ! aerosol single scattering albedo ! Dimensions: (ncol,nlay,nbndlw) ! for future expansion ! (lw aerosols/scattering not yet available) ! real(kind=rb), intent(in) :: asmaer(ncol,nlay,nbndlw) ! aerosol asymmetry parameter ! Dimensions: (ncol,nlay,nbndlw) ! for future expansion ! (lw aerosols/scattering not yet available) ! ----- Output ----- real(kind=rb), intent(out) :: uflx(ncol,nlay+1) ! Total sky longwave upward flux (W/m2) ! Dimensions: (ncol,nlay+1) real(kind=rb), intent(out) :: dflx(ncol,nlay+1) ! Total sky longwave downward flux (W/m2) ! Dimensions: (ncol,nlay+1) real(kind=rb), intent(out) :: hr(ncol,nlay) ! Total sky longwave radiative heating rate (K/d) ! Dimensions: (ncol,nlay) real(kind=rb), intent(out) :: uflxc(ncol,nlay+1) ! Clear sky longwave upward flux (W/m2) ! Dimensions: (ncol,nlay+1) real(kind=rb), intent(out) :: dflxc(ncol,nlay+1) ! Clear sky longwave downward flux (W/m2) ! Dimensions: (ncol,nlay+1) real(kind=rb), intent(out) :: hrc(ncol,nlay) ! Clear sky longwave radiative heating rate (K/d) ! Dimensions: (ncol,nlay) ! ----- Optional Output ----- real(kind=rb), intent(out), optional :: duflx_dt(ncol,nlay) ! change in upward longwave flux (w/m2/K) ! with respect to surface temperature ! Dimensions: (ncol,nlay) real(kind=rb), intent(out), optional :: duflxc_dt(ncol,nlay) ! change in clear sky upward longwave flux (w/m2/K) ! with respect to surface temperature ! Dimensions: (ncol,nlay) ! ----- Local ----- ! Control integer(kind=im) :: nlayers ! total number of layers integer(kind=im) :: istart ! beginning band of calculation integer(kind=im) :: iend ! ending band of calculation integer(kind=im) :: iout ! output option flag (inactive) integer(kind=im) :: iaer ! aerosol option flag integer(kind=im) :: iplon ! column loop index integer(kind=im) :: imca ! flag for mcica [0=off, 1=on] integer(kind=im) :: ims ! value for changing mcica permute seed integer(kind=im) :: k ! layer loop index integer(kind=im) :: ig ! g-point loop index ! Atmosphere real(kind=rb) :: pavel(nlay+1) ! layer pressures (mb) real(kind=rb) :: tavel(nlay+1) ! layer temperatures (K) real(kind=rb) :: pz(0:nlay+1) ! level (interface) pressures (hPa, mb) real(kind=rb) :: tz(0:nlay+1) ! level (interface) temperatures (K) real(kind=rb) :: tbound ! surface temperature (K) real(kind=rb) :: coldry(nlay+1) ! dry air column density (mol/cm2) real(kind=rb) :: wbrodl(nlay+1) ! broadening gas column density (mol/cm2) real(kind=rb) :: wkl(mxmol,nlay+1) ! molecular amounts (mol/cm-2) real(kind=rb) :: wx(maxxsec,nlay+1) ! cross-section amounts (mol/cm-2) real(kind=rb) :: pwvcm ! precipitable water vapor (cm) real(kind=rb) :: semiss(nbndlw) ! lw surface emissivity real(kind=rb) :: fracs(nlay+1,ngptlw) ! real(kind=rb) :: taug(nlay+1,ngptlw) ! gaseous optical depths real(kind=rb) :: taut(nlay+1,ngptlw) ! gaseous + aerosol optical depths real(kind=rb) :: taua(nlay+1,nbndlw) ! aerosol optical depth ! real(kind=rb) :: ssaa(nlay+1,nbndlw) ! aerosol single scattering albedo ! for future expansion ! (lw aerosols/scattering not yet available) ! real(kind=rb) :: asma(nlay+1,nbndlw) ! aerosol asymmetry parameter ! for future expansion ! (lw aerosols/scattering not yet available) ! Atmosphere - setcoef integer(kind=im) :: laytrop ! tropopause layer index integer(kind=im) :: jp(nlay+1) ! lookup table index integer(kind=im) :: jt(nlay+1) ! lookup table index integer(kind=im) :: jt1(nlay+1) ! lookup table index real(kind=rb) :: planklay(nlay+1,nbndlw)! real(kind=rb) :: planklev(0:nlay+1,nbndlw)! real(kind=rb) :: plankbnd(nbndlw) ! real(kind=rb) :: dplankbnd_dt(nbndlw) ! real(kind=rb) :: colh2o(nlay+1) ! column amount (h2o) real(kind=rb) :: colco2(nlay+1) ! column amount (co2) real(kind=rb) :: colo3(nlay+1) ! column amount (o3) real(kind=rb) :: coln2o(nlay+1) ! column amount (n2o) real(kind=rb) :: colco(nlay+1) ! column amount (co) real(kind=rb) :: colch4(nlay+1) ! column amount (ch4) real(kind=rb) :: colo2(nlay+1) ! column amount (o2) real(kind=rb) :: colbrd(nlay+1) ! column amount (broadening gases) integer(kind=im) :: indself(nlay+1) integer(kind=im) :: indfor(nlay+1) real(kind=rb) :: selffac(nlay+1) real(kind=rb) :: selffrac(nlay+1) real(kind=rb) :: forfac(nlay+1) real(kind=rb) :: forfrac(nlay+1) integer(kind=im) :: indminor(nlay+1) real(kind=rb) :: minorfrac(nlay+1) real(kind=rb) :: scaleminor(nlay+1) real(kind=rb) :: scaleminorn2(nlay+1) real(kind=rb) :: & ! fac00(nlay+1), fac01(nlay+1), & fac10(nlay+1), fac11(nlay+1) real(kind=rb) :: & ! rat_h2oco2(nlay+1),rat_h2oco2_1(nlay+1), & rat_h2oo3(nlay+1),rat_h2oo3_1(nlay+1), & rat_h2on2o(nlay+1),rat_h2on2o_1(nlay+1), & rat_h2och4(nlay+1),rat_h2och4_1(nlay+1), & rat_n2oco2(nlay+1),rat_n2oco2_1(nlay+1), & rat_o3co2(nlay+1),rat_o3co2_1(nlay+1) ! Atmosphere/clouds - cldprop integer(kind=im) :: ncbands ! number of cloud spectral bands integer(kind=im) :: inflag ! flag for cloud property method integer(kind=im) :: iceflag ! flag for ice cloud properties integer(kind=im) :: liqflag ! flag for liquid cloud properties ! Atmosphere/clouds - cldprmc [mcica] real(kind=rb) :: cldfmc(ngptlw,nlay+1) ! cloud fraction [mcica] real(kind=rb) :: ciwpmc(ngptlw,nlay+1) ! in-cloud ice water path [mcica] real(kind=rb) :: clwpmc(ngptlw,nlay+1) ! in-cloud liquid water path [mcica] real(kind=rb) :: relqmc(nlay+1) ! liquid particle effective radius (microns) real(kind=rb) :: reicmc(nlay+1) ! ice particle effective size (microns) real(kind=rb) :: taucmc(ngptlw,nlay+1) ! in-cloud optical depth [mcica] ! real(kind=rb) :: ssacmc(ngptlw,nlay+1) ! in-cloud single scattering albedo [mcica] ! for future expansion ! (lw scattering not yet available) ! real(kind=rb) :: asmcmc(ngptlw,nlay+1) ! in-cloud asymmetry parameter [mcica] ! for future expansion ! (lw scattering not yet available) ! Output real(kind=rb) :: totuflux(0:nlay+1) ! upward longwave flux (w/m2) real(kind=rb) :: totdflux(0:nlay+1) ! downward longwave flux (w/m2) real(kind=rb) :: fnet(0:nlay+1) ! net longwave flux (w/m2) real(kind=rb) :: htr(0:nlay+1) ! longwave heating rate (k/day) real(kind=rb) :: totuclfl(0:nlay+1) ! clear sky upward longwave flux (w/m2) real(kind=rb) :: totdclfl(0:nlay+1) ! clear sky downward longwave flux (w/m2) real(kind=rb) :: fnetc(0:nlay+1) ! clear sky net longwave flux (w/m2) real(kind=rb) :: htrc(0:nlay+1) ! clear sky longwave heating rate (k/day) real(kind=rb) :: dtotuflux_dt(0:nlay+1) ! change in upward longwave flux (w/m2/k) ! with respect to surface temperature real(kind=rb) :: dtotuclfl_dt(0:nlay+1) ! change in clear sky upward longwave flux (w/m2/k) ! with respect to surface temperature ! ! Initializations oneminus = 1._rb - 1.e-6_rb pi = 2._rb * asin(1._rb) fluxfac = pi * 2.e4_rb ! orig: fluxfac = pi * 2.d4 istart = 1 iend = 16 iout = 0 ims = 1 ! Set imca to select calculation type: ! imca = 0, use standard forward model calculation ! imca = 1, use McICA for Monte Carlo treatment of sub-grid cloud variability ! *** This version uses McICA (imca = 1) *** ! Set icld to select of clear or cloud calculation and cloud overlap method ! icld = 0, clear only ! icld = 1, with clouds using random cloud overlap ! icld = 2, with clouds using maximum/random cloud overlap ! icld = 3, with clouds using maximum cloud overlap (McICA only) if (icld.lt.0.or.icld.gt.3) icld = 2 ! Set iaer to select aerosol option ! iaer = 0, no aerosols ! icld = 10, input total aerosol optical depth (tauaer) directly iaer = 10 ! Call model and data initialization, compute lookup tables, perform ! reduction of g-points from 256 to 140 for input absorption coefficient ! data and other arrays. ! ! In a GCM this call should be placed in the model initialization ! area, since this has to be called only once. ! call rrtmg_lw_ini(cpdair) ! This is the main longitude/column loop within RRTMG. do iplon = 1, ncol ! Prepare atmospheric profile from GCM for use in RRTMG, and define ! other input parameters. call inatm (iplon, nlay, icld, iaer, & play, plev, tlay, tlev, tsfc, h2ovmr, & o3vmr, co2vmr, ch4vmr, n2ovmr, o2vmr, cfc11vmr, cfc12vmr, & cfc22vmr, ccl4vmr, emis, inflglw, iceflglw, liqflglw, & cldfmcl, taucmcl, ciwpmcl, clwpmcl, reicmcl, relqmcl, tauaer, & nlayers, pavel, pz, tavel, tz, tbound, semiss, coldry, & wkl, wbrodl, wx, pwvcm, inflag, iceflag, liqflag, & cldfmc, taucmc, ciwpmc, clwpmc, reicmc, relqmc, taua) ! Prepare atmospheric profile from GCM for use in RRTMG, and define ! For cloudy atmosphere, use cldprmc to set cloud optical properties based on ! input cloud physical properties. Select method based on choices described ! in cldprmc. Cloud fraction, water path, liquid droplet and ice particle ! effective radius must be passed into cldprmc. Cloud fraction and cloud ! optical depth are transferred to rrtmg_lw arrays in cldprmc. call cldprmc(nlayers, inflag, iceflag, liqflag, cldfmc, ciwpmc, & clwpmc, reicmc, relqmc, ncbands, taucmc) ! Calculate information needed by the radiative transfer routine ! that is specific to this atmosphere, especially some of the ! coefficients and indices needed to compute the optical depths ! by interpolating data from stored reference atmospheres. call setcoef(nlayers, istart, pavel, tavel, tz, tbound, semiss, & coldry, wkl, wbrodl, & laytrop, jp, jt, jt1, planklay, planklev, plankbnd, & idrv, dplankbnd_dt, & colh2o, colco2, colo3, coln2o, colco, colch4, colo2, & colbrd, fac00, fac01, fac10, fac11, & rat_h2oco2, rat_h2oco2_1, rat_h2oo3, rat_h2oo3_1, & rat_h2on2o, rat_h2on2o_1, rat_h2och4, rat_h2och4_1, & rat_n2oco2, rat_n2oco2_1, rat_o3co2, rat_o3co2_1, & selffac, selffrac, indself, forfac, forfrac, indfor, & minorfrac, scaleminor, scaleminorn2, indminor) ! Calculate the gaseous optical depths and Planck fractions for ! each longwave spectral band. call taumol(nlayers, pavel, wx, coldry, & laytrop, jp, jt, jt1, planklay, planklev, plankbnd, & colh2o, colco2, colo3, coln2o, colco, colch4, colo2, & colbrd, fac00, fac01, fac10, fac11, & rat_h2oco2, rat_h2oco2_1, rat_h2oo3, rat_h2oo3_1, & rat_h2on2o, rat_h2on2o_1, rat_h2och4, rat_h2och4_1, & rat_n2oco2, rat_n2oco2_1, rat_o3co2, rat_o3co2_1, & selffac, selffrac, indself, forfac, forfrac, indfor, & minorfrac, scaleminor, scaleminorn2, indminor, & fracs, taug) ! Combine gaseous and aerosol optical depths, if aerosol active if (iaer .eq. 0) then do k = 1, nlayers do ig = 1, ngptlw taut(k,ig) = taug(k,ig) enddo enddo elseif (iaer .eq. 10) then do k = 1, nlayers do ig = 1, ngptlw taut(k,ig) = taug(k,ig) + taua(k,ngb(ig)) enddo enddo endif ! Call the radiative transfer routine. ! Either routine can be called to do clear sky calculation. If clouds ! are present, then select routine based on cloud overlap assumption ! to be used. Clear sky calculation is done simultaneously. ! For McICA, RTRNMC is called for clear and cloudy calculations. call rtrnmc(nlayers, istart, iend, iout, pz, semiss, ncbands, & cldfmc, taucmc, planklay, planklev, plankbnd, & pwvcm, fracs, taut, & totuflux, totdflux, fnet, htr, & totuclfl, totdclfl, fnetc, htrc, & idrv, dplankbnd_dt, dtotuflux_dt, dtotuclfl_dt ) ! Transfer up and down fluxes and heating rate to output arrays. ! Vertical indexing goes from bottom to top; reverse here for GCM if necessary. do k = 0, nlayers uflx(iplon,k+1) = totuflux(k) dflx(iplon,k+1) = totdflux(k) uflxc(iplon,k+1) = totuclfl(k) dflxc(iplon,k+1) = totdclfl(k) enddo do k = 0, nlayers-1 hr(iplon,k+1) = htr(k) hrc(iplon,k+1) = htrc(k) enddo ! If idrv=1 option is active, transfer upward flux derivatives to output arrays. if (idrv .eq. 1) then do k = 0, nlayers duflx_dt(iplon,k+1) = dtotuflux_dt(k) duflxc_dt(iplon,k+1) = dtotuclfl_dt(k) enddo endif ! End longitude/column loop enddo end subroutine rrtmg_lw !*************************************************************************** subroutine inatm (iplon, nlay, icld, iaer, & play, plev, tlay, tlev, tsfc, h2ovmr, & o3vmr, co2vmr, ch4vmr, n2ovmr, o2vmr, cfc11vmr, cfc12vmr, & cfc22vmr, ccl4vmr, emis, inflglw, iceflglw, liqflglw, & cldfmcl, taucmcl, ciwpmcl, clwpmcl, reicmcl, relqmcl, tauaer, & nlayers, pavel, pz, tavel, tz, tbound, semiss, coldry, & wkl, wbrodl, wx, pwvcm, inflag, iceflag, liqflag, & cldfmc, taucmc, ciwpmc, clwpmc, reicmc, relqmc, taua) !*************************************************************************** ! ! Input atmospheric profile from GCM, and prepare it for use in RRTMG_LW. ! Set other RRTMG_LW input parameters. ! !*************************************************************************** ! --------- Modules ---------- use parrrtm, only : nbndlw, ngptlw, nmol, maxxsec, mxmol use rrlw_con, only: fluxfac, heatfac, oneminus, pi, grav, avogad use rrlw_wvn, only: ng, nspa, nspb, wavenum1, wavenum2, delwave, ixindx ! ------- Declarations ------- ! ----- Input ----- ! Note: All volume mixing ratios are in dimensionless units of mole fraction obtained ! by scaling mass mixing ratio (g/g) with the appropriate molecular weights (g/mol) integer(kind=im), intent(in) :: iplon ! column loop index integer(kind=im), intent(in) :: nlay ! Number of model layers integer(kind=im), intent(in) :: icld ! clear/cloud and cloud overlap flag integer(kind=im), intent(in) :: iaer ! aerosol option flag real(kind=rb), intent(in) :: play(:,:) ! Layer pressures (hPa, mb) ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: plev(:,:) ! Interface pressures (hPa, mb) ! Dimensions: (ncol,nlay+1) real(kind=rb), intent(in) :: tlay(:,:) ! Layer temperatures (K) ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: tlev(:,:) ! Interface temperatures (K) ! Dimensions: (ncol,nlay+1) real(kind=rb), intent(in) :: tsfc(:) ! Surface temperature (K) ! Dimensions: (ncol) real(kind=rb), intent(in) :: h2ovmr(:,:) ! H2O volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: o3vmr(:,:) ! O3 volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: co2vmr(:,:) ! CO2 volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: ch4vmr(:,:) ! Methane volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: n2ovmr(:,:) ! Nitrous oxide volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: o2vmr(:,:) ! Oxygen volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: cfc11vmr(:,:) ! CFC11 volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: cfc12vmr(:,:) ! CFC12 volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: cfc22vmr(:,:) ! CFC22 volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: ccl4vmr(:,:) ! CCL4 volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: emis(:,:) ! Surface emissivity ! Dimensions: (ncol,nbndlw) integer(kind=im), intent(in) :: inflglw ! Flag for cloud optical properties integer(kind=im), intent(in) :: iceflglw ! Flag for ice particle specification integer(kind=im), intent(in) :: liqflglw ! Flag for liquid droplet specification real(kind=rb), intent(in) :: cldfmcl(:,:,:) ! Cloud fraction ! Dimensions: (ngptlw,ncol,nlay) real(kind=rb), intent(in) :: ciwpmcl(:,:,:) ! In-cloud ice water path (g/m2) ! Dimensions: (ngptlw,ncol,nlay) real(kind=rb), intent(in) :: clwpmcl(:,:,:) ! In-cloud liquid water path (g/m2) ! Dimensions: (ngptlw,ncol,nlay) real(kind=rb), intent(in) :: relqmcl(:,:) ! Cloud water drop effective radius (microns) ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: reicmcl(:,:) ! Cloud ice effective size (microns) ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: taucmcl(:,:,:) ! In-cloud optical depth ! Dimensions: (ngptlw,ncol,nlay) real(kind=rb), intent(in) :: tauaer(:,:,:) ! Aerosol optical depth ! Dimensions: (ncol,nlay,nbndlw) ! ----- Output ----- ! Atmosphere integer(kind=im), intent(out) :: nlayers ! number of layers real(kind=rb), intent(out) :: pavel(:) ! layer pressures (mb) ! Dimensions: (nlay) real(kind=rb), intent(out) :: tavel(:) ! layer temperatures (K) ! Dimensions: (nlay) real(kind=rb), intent(out) :: pz(0:) ! level (interface) pressures (hPa, mb) ! Dimensions: (0:nlay) real(kind=rb), intent(out) :: tz(0:) ! level (interface) temperatures (K) ! Dimensions: (0:nlay) real(kind=rb), intent(out) :: tbound ! surface temperature (K) real(kind=rb), intent(out) :: coldry(:) ! dry air column density (mol/cm2) ! Dimensions: (nlay) real(kind=rb), intent(out) :: wbrodl(:) ! broadening gas column density (mol/cm2) ! Dimensions: (nlay) real(kind=rb), intent(out) :: wkl(:,:) ! molecular amounts (mol/cm-2) ! Dimensions: (mxmol,nlay) real(kind=rb), intent(out) :: wx(:,:) ! cross-section amounts (mol/cm-2) ! Dimensions: (maxxsec,nlay) real(kind=rb), intent(out) :: pwvcm ! precipitable water vapor (cm) real(kind=rb), intent(out) :: semiss(:) ! lw surface emissivity ! Dimensions: (nbndlw) ! Atmosphere/clouds - cldprmc integer(kind=im), intent(out) :: inflag ! flag for cloud property method integer(kind=im), intent(out) :: iceflag ! flag for ice cloud properties integer(kind=im), intent(out) :: liqflag ! flag for liquid cloud properties real(kind=rb), intent(out) :: cldfmc(:,:) ! cloud fraction [mcica] ! Dimensions: (ngptlw,nlay) real(kind=rb), intent(out) :: ciwpmc(:,:) ! in-cloud ice water path [mcica] ! Dimensions: (ngptlw,nlay) real(kind=rb), intent(out) :: clwpmc(:,:) ! in-cloud liquid water path [mcica] ! Dimensions: (ngptlw,nlay) real(kind=rb), intent(out) :: relqmc(:) ! liquid particle effective radius (microns) ! Dimensions: (nlay) real(kind=rb), intent(out) :: reicmc(:) ! ice particle effective size (microns) ! Dimensions: (nlay) real(kind=rb), intent(out) :: taucmc(:,:) ! in-cloud optical depth [mcica] ! Dimensions: (ngptlw,nlay) real(kind=rb), intent(out) :: taua(:,:) ! aerosol optical depth ! Dimensions: (nlay,nbndlw) ! ----- Local ----- real(kind=rb), parameter :: amd = 28.9660_rb ! Effective molecular weight of dry air (g/mol) real(kind=rb), parameter :: amw = 18.0160_rb ! Molecular weight of water vapor (g/mol) ! real(kind=rb), parameter :: amc = 44.0098_rb ! Molecular weight of carbon dioxide (g/mol) ! real(kind=rb), parameter :: amo = 47.9998_rb ! Molecular weight of ozone (g/mol) ! real(kind=rb), parameter :: amo2 = 31.9999_rb ! Molecular weight of oxygen (g/mol) ! real(kind=rb), parameter :: amch4 = 16.0430_rb ! Molecular weight of methane (g/mol) ! real(kind=rb), parameter :: amn2o = 44.0128_rb ! Molecular weight of nitrous oxide (g/mol) ! real(kind=rb), parameter :: amc11 = 137.3684_rb ! Molecular weight of CFC11 (g/mol) - CCL3F ! real(kind=rb), parameter :: amc12 = 120.9138_rb ! Molecular weight of CFC12 (g/mol) - CCL2F2 ! real(kind=rb), parameter :: amc22 = 86.4688_rb ! Molecular weight of CFC22 (g/mol) - CHCLF2 ! real(kind=rb), parameter :: amcl4 = 153.823_rb ! Molecular weight of CCL4 (g/mol) - CCL4 ! Set molecular weight ratios (for converting mmr to vmr) ! e.g. h2ovmr = h2ommr * amdw) real(kind=rb), parameter :: amdw = 1.607793_rb ! Molecular weight of dry air / water vapor real(kind=rb), parameter :: amdc = 0.658114_rb ! Molecular weight of dry air / carbon dioxide real(kind=rb), parameter :: amdo = 0.603428_rb ! Molecular weight of dry air / ozone real(kind=rb), parameter :: amdm = 1.805423_rb ! Molecular weight of dry air / methane real(kind=rb), parameter :: amdn = 0.658090_rb ! Molecular weight of dry air / nitrous oxide real(kind=rb), parameter :: amdo2 = 0.905140_rb ! Molecular weight of dry air / oxygen real(kind=rb), parameter :: amdc1 = 0.210852_rb ! Molecular weight of dry air / CFC11 real(kind=rb), parameter :: amdc2 = 0.239546_rb ! Molecular weight of dry air / CFC12 integer(kind=im) :: isp, l, ix, n, imol, ib, ig ! Loop indices real(kind=rb) :: amm, amttl, wvttl, wvsh, summol ! Add one to nlayers here to include extra model layer at top of atmosphere nlayers = nlay ! Initialize all molecular amounts and cloud properties to zero here, then pass input amounts ! into RRTM arrays below. wkl(:,:) = 0.0_rb wx(:,:) = 0.0_rb cldfmc(:,:) = 0.0_rb taucmc(:,:) = 0.0_rb ciwpmc(:,:) = 0.0_rb clwpmc(:,:) = 0.0_rb reicmc(:) = 0.0_rb relqmc(:) = 0.0_rb taua(:,:) = 0.0_rb amttl = 0.0_rb wvttl = 0.0_rb ! Set surface temperature. tbound = tsfc(iplon) ! Install input GCM arrays into RRTMG_LW arrays for pressure, temperature, ! and molecular amounts. ! Pressures are input in mb, or are converted to mb here. ! Molecular amounts are input in volume mixing ratio, or are converted from ! mass mixing ratio (or specific humidity for h2o) to volume mixing ratio ! here. These are then converted to molecular amount (molec/cm2) below. ! The dry air column COLDRY (in molec/cm2) is calculated from the level ! pressures, pz (in mb), based on the hydrostatic equation and includes a ! correction to account for h2o in the layer. The molecular weight of moist ! air (amm) is calculated for each layer. ! Note: In RRTMG, layer indexing goes from bottom to top, and coding below ! assumes GCM input fields are also bottom to top. Input layer indexing ! from GCM fields should be reversed here if necessary. pz(0) = plev(iplon,1) tz(0) = tlev(iplon,1) do l = 1, nlayers pavel(l) = play(iplon,l) tavel(l) = tlay(iplon,l) pz(l) = plev(iplon,l+1) tz(l) = tlev(iplon,l+1) ! For h2o input in vmr: wkl(1,l) = h2ovmr(iplon,l) ! For h2o input in mmr: ! wkl(1,l) = h2o(iplon,l)*amdw ! For h2o input in specific humidity; ! wkl(1,l) = (h2o(iplon,l)/(1._rb - h2o(iplon,l)))*amdw wkl(2,l) = co2vmr(iplon,l) wkl(3,l) = o3vmr(iplon,l) wkl(4,l) = n2ovmr(iplon,l) wkl(6,l) = ch4vmr(iplon,l) wkl(7,l) = o2vmr(iplon,l) amm = (1._rb - wkl(1,l)) * amd + wkl(1,l) * amw coldry(l) = (pz(l-1)-pz(l)) * 1.e3_rb * avogad / & (1.e2_rb * grav * amm * (1._rb + wkl(1,l))) enddo ! Set cross section molecule amounts from input; convert to vmr if necessary do l=1, nlayers wx(1,l) = ccl4vmr(iplon,l) wx(2,l) = cfc11vmr(iplon,l) wx(3,l) = cfc12vmr(iplon,l) wx(4,l) = cfc22vmr(iplon,l) enddo ! The following section can be used to set values for an additional layer (from ! the GCM top level to 1.e-4 mb) for improved calculation of TOA fluxes. ! Temperature and molecular amounts in the extra model layer are set to ! their values in the top GCM model layer, though these can be modified ! here if necessary. ! If this feature is utilized, increase nlayers by one above, limit the two ! loops above to (nlayers-1), and set the top most (extra) layer values here. ! pavel(nlayers) = 0.5_rb * pz(nlayers-1) ! tavel(nlayers) = tavel(nlayers-1) ! pz(nlayers) = 1.e-4_rb ! tz(nlayers-1) = 0.5_rb * (tavel(nlayers)+tavel(nlayers-1)) ! tz(nlayers) = tz(nlayers-1) ! wkl(1,nlayers) = wkl(1,nlayers-1) ! wkl(2,nlayers) = wkl(2,nlayers-1) ! wkl(3,nlayers) = wkl(3,nlayers-1) ! wkl(4,nlayers) = wkl(4,nlayers-1) ! wkl(6,nlayers) = wkl(6,nlayers-1) ! wkl(7,nlayers) = wkl(7,nlayers-1) ! amm = (1._rb - wkl(1,nlayers-1)) * amd + wkl(1,nlayers-1) * amw ! coldry(nlayers) = (pz(nlayers-1)) * 1.e3_rb * avogad / & ! (1.e2_rb * grav * amm * (1._rb + wkl(1,nlayers-1))) ! wx(1,nlayers) = wx(1,nlayers-1) ! wx(2,nlayers) = wx(2,nlayers-1) ! wx(3,nlayers) = wx(3,nlayers-1) ! wx(4,nlayers) = wx(4,nlayers-1) ! At this point all molecular amounts in wkl and wx are in volume mixing ratio; ! convert to molec/cm2 based on coldry for use in rrtm. also, compute precipitable ! water vapor for diffusivity angle adjustments in rtrn and rtrnmr. do l = 1, nlayers summol = 0.0_rb do imol = 2, nmol summol = summol + wkl(imol,l) enddo wbrodl(l) = coldry(l) * (1._rb - summol) do imol = 1, nmol wkl(imol,l) = coldry(l) * wkl(imol,l) enddo amttl = amttl + coldry(l)+wkl(1,l) wvttl = wvttl + wkl(1,l) do ix = 1,maxxsec if (ixindx(ix) .ne. 0) then wx(ixindx(ix),l) = coldry(l) * wx(ix,l) * 1.e-20_rb endif enddo enddo wvsh = (amw * wvttl) / (amd * amttl) pwvcm = wvsh * (1.e3_rb * pz(0)) / (1.e2_rb * grav) ! Set spectral surface emissivity for each longwave band. do n=1,nbndlw semiss(n) = emis(iplon,n) ! semiss(n) = 1.0_rb enddo ! Transfer aerosol optical properties to RRTM variable; ! modify to reverse layer indexing here if necessary. if (iaer .ge. 1) then do l = 1, nlayers do ib = 1, nbndlw taua(l,ib) = tauaer(iplon,l,ib) enddo enddo endif ! Transfer cloud fraction and cloud optical properties to RRTM variables, ! modify to reverse layer indexing here if necessary. if (icld .ge. 1) then inflag = inflglw iceflag = iceflglw liqflag = liqflglw ! Move incoming GCM cloud arrays to RRTMG cloud arrays. ! For GCM input, incoming reicmcl is defined based on selected ice parameterization (inflglw) do l = 1, nlayers do ig = 1, ngptlw cldfmc(ig,l) = cldfmcl(ig,iplon,l) taucmc(ig,l) = taucmcl(ig,iplon,l) ciwpmc(ig,l) = ciwpmcl(ig,iplon,l) clwpmc(ig,l) = clwpmcl(ig,iplon,l) enddo reicmc(l) = reicmcl(iplon,l) relqmc(l) = relqmcl(iplon,l) enddo ! If an extra layer is being used in RRTMG, set all cloud properties to zero in the extra layer. ! cldfmc(:,nlayers) = 0.0_rb ! taucmc(:,nlayers) = 0.0_rb ! ciwpmc(:,nlayers) = 0.0_rb ! clwpmc(:,nlayers) = 0.0_rb ! reicmc(nlayers) = 0.0_rb ! relqmc(nlayers) = 0.0_rb ! taua(nlayers,:) = 0.0_rb endif end subroutine inatm end module rrtmg_lw_rad ================================================ FILE: GeosRad/rrtmg_lw_rad.F90.safe ================================================ ! path: $Source: /storm/rc1/cvsroot/rc/rrtmg_lw/src/rrtmg_lw_rad.f90,v $ ! author: $Author: mike $ ! revision: $Revision: 1.11 $ ! created: $Date: 2009/11/12 20:52:25 $ ! module rrtmg_lw_rad ! -------------------------------------------------------------------------- ! | | ! | Copyright 2002-2009, Atmospheric & Environmental Research, Inc. (AER). | ! | This software may be used, copied, or redistributed as long as it is | ! | not sold and this copyright notice is reproduced on each copy made. | ! | This model is provided as is without any express or implied warranties. | ! | (http://www.rtweb.aer.com/) | ! | | ! -------------------------------------------------------------------------- ! ! **************************************************************************** ! * * ! * RRTMG_LW * ! * * ! * * ! * * ! * a rapid radiative transfer model * ! * for the longwave region * ! * for application to general circulation models * ! * * ! * * ! * Atmospheric and Environmental Research, Inc. * ! * 131 Hartwell Avenue * ! * Lexington, MA 02421 * ! * * ! * * ! * Eli J. Mlawer * ! * Jennifer S. Delamere * ! * Michael J. Iacono * ! * Shepard A. Clough * ! * * ! * * ! * * ! * * ! * * ! * * ! * email: miacono@aer.com * ! * email: emlawer@aer.com * ! * email: jdelamer@aer.com * ! * * ! * The authors wish to acknowledge the contributions of the * ! * following people: Steven J. Taubman, Karen Cady-Pereira, * ! * Patrick D. Brown, Ronald E. Farren, Luke Chen, Robert Bergstrom. * ! * * ! **************************************************************************** ! -------- Modules -------- use parkind, only : im => kind_im, rb => kind_rb use rrlw_vsn use mcica_subcol_gen_lw, only: mcica_subcol_lw use rrtmg_lw_cldprmc, only: cldprmc ! *** Move the required call to rrtmg_lw_ini below and the following ! use association to the GCM initialization area *** ! use rrtmg_lw_init, only: rrtmg_lw_ini use rrtmg_lw_rtrnmc, only: rtrnmc use rrtmg_lw_setcoef, only: setcoef use rrtmg_lw_taumol, only: taumol implicit none ! public interfaces/functions/subroutines public :: rrtmg_lw, inatm !------------------------------------------------------------------ contains !------------------------------------------------------------------ !------------------------------------------------------------------ ! Public subroutines !------------------------------------------------------------------ subroutine rrtmg_lw & (ncol ,nlay ,icld ,idrv , & play ,plev ,tlay ,tlev ,tsfc , & h2ovmr ,o3vmr ,co2vmr ,ch4vmr ,n2ovmr ,o2vmr , & cfc11vmr,cfc12vmr,cfc22vmr,ccl4vmr ,emis , & inflglw ,iceflglw,liqflglw,cldfmcl , & taucmcl ,ciwpmcl ,clwpmcl ,reicmcl ,relqmcl , & tauaer , & uflx ,dflx ,hr ,uflxc ,dflxc, hrc, & duflx_dt,duflxc_dt ) ! -------- Description -------- ! This program is the driver subroutine for RRTMG_LW, the AER LW radiation ! model for application to GCMs, that has been adapted from RRTM_LW for ! improved efficiency. ! ! NOTE: The call to RRTMG_LW_INI should be moved to the GCM initialization ! area, since this has to be called only once. ! ! This routine: ! a) calls INATM to read in the atmospheric profile from GCM; ! all layering in RRTMG is ordered from surface to toa. ! b) calls CLDPRMC to set cloud optical depth for McICA based ! on input cloud properties ! c) calls SETCOEF to calculate various quantities needed for ! the radiative transfer algorithm ! d) calls TAUMOL to calculate gaseous optical depths for each ! of the 16 spectral bands ! e) calls RTRNMC (for both clear and cloudy profiles) to perform the ! radiative transfer calculation using McICA, the Monte-Carlo ! Independent Column Approximation, to represent sub-grid scale ! cloud variability ! f) passes the necessary fluxes and cooling rates back to GCM ! ! Two modes of operation are possible: ! The mode is chosen by using either rrtmg_lw.nomcica.f90 (to not use ! McICA) or rrtmg_lw.f90 (to use McICA) to interface with a GCM. ! ! 1) Standard, single forward model calculation (imca = 0) ! 2) Monte Carlo Independent Column Approximation (McICA, Pincus et al., ! JC, 2003) method is applied to the forward model calculation (imca = 1) ! ! This call to RRTMG_LW must be preceeded by a call to the module ! mcica_subcol_gen_lw.f90 to run the McICA sub-column cloud generator, ! which will provide the cloud physical or cloud optical properties ! on the RRTMG quadrature point (ngpt) dimension. ! Two random number generators are available for use when imca = 1. ! This is chosen by setting flag irnd on input to mcica_subcol_gen_lw. ! 1) KISSVEC (irnd = 0) ! 2) Mersenne-Twister (irnd = 1) ! ! Two methods of cloud property input are possible: ! Cloud properties can be input in one of two ways (controlled by input ! flags inflglw, iceflglw, and liqflglw; see text file rrtmg_lw_instructions ! and subroutine rrtmg_lw_cldprmc.f90 for further details): ! ! 1) Input cloud fraction and cloud optical depth directly (inflglw = 0) ! 2) Input cloud fraction and cloud physical properties (inflglw = 1 or 2); ! cloud optical properties are calculated by cldprmc or cldprmc based ! on input settings of iceflglw and liqflglw. Ice particle size provided ! must be appropriately defined for the ice parameterization selected. ! ! One method of aerosol property input is possible: ! Aerosol properties can be input in only one way (controlled by input ! flag iaer; see text file rrtmg_lw_instructions for further details): ! ! 1) Input aerosol optical depth directly by layer and spectral band (iaer=10); ! band average optical depth at the mid-point of each spectral band. ! RRTMG_LW currently treats only aerosol absorption; ! scattering capability is not presently available. ! ! The optional calculation of the change in upward flux as a function of surface ! temperature is available (controlled by input flag idrv). This can be utilized ! to approximate adjustments to the upward flux profile caused only by a change in ! surface temperature between full radiation calls. This feature uses the pre- ! calculated derivative of the Planck function with respect to surface temperature. ! ! 1) Normal forward calculation for the input profile (idrv=0) ! 2) Normal forward calculation with optional calculation of the change ! in upward flux as a function of surface temperature for clear sky ! and total sky flux. Flux partial derivatives are provided in arrays ! duflx_dt and duflxc_dt for total and clear sky. (idrv=1) ! ! ! ------- Modifications ------- ! ! This version of RRTMG_LW has been modified from RRTM_LW to use a reduced ! set of g-points for application to GCMs. ! !-- Original version (derived from RRTM_LW), reduction of g-points, other ! revisions for use with GCMs. ! 1999: M. J. Iacono, AER, Inc. !-- Adapted for use with NCAR/CAM. ! May 2004: M. J. Iacono, AER, Inc. !-- Revised to add McICA capability. ! Nov 2005: M. J. Iacono, AER, Inc. !-- Conversion to F90 formatting for consistency with rrtmg_sw. ! Feb 2007: M. J. Iacono, AER, Inc. !-- Modifications to formatting to use assumed-shape arrays. ! Aug 2007: M. J. Iacono, AER, Inc. !-- Modified to add longwave aerosol absorption. ! Apr 2008: M. J. Iacono, AER, Inc. !-- Added capability to calculate derivative of upward flux wrt surface temperature. ! Nov 2009: M. J. Iacono, E. J. Mlawer, AER, Inc. ! --------- Modules ---------- use parrrtm, only : nbndlw, ngptlw, maxxsec, mxmol use rrlw_con, only: fluxfac, heatfac, oneminus, pi use rrlw_wvn, only: ng, ngb, nspa, nspb, wavenum1, wavenum2, delwave ! ------- Declarations ------- ! ----- Input ----- ! Note: All volume mixing ratios are in dimensionless units of mole fraction obtained ! by scaling mass mixing ratio (g/g) with the appropriate molecular weights (g/mol) integer(kind=im), intent(in) :: ncol ! Number of horizontal columns integer(kind=im), intent(in) :: nlay ! Number of model layers integer(kind=im), intent(inout) :: icld ! Cloud overlap method ! 0: Clear only ! 1: Random ! 2: Maximum/random ! 3: Maximum integer(kind=im), intent(in) :: idrv ! Flag for calculation of dFdT, the change ! in upward flux as a function of ! surface temperature [0=off, 1=on] ! 0: Normal forward calculation ! 1: Normal forward calculation with ! duflx_dt and duflxc_dt output real(kind=rb), intent(in) :: play(:,:) ! Layer pressures (hPa, mb) ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: plev(:,:) ! Interface pressures (hPa, mb) ! Dimensions: (ncol,nlay+1) real(kind=rb), intent(in) :: tlay(:,:) ! Layer temperatures (K) ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: tlev(:,:) ! Interface temperatures (K) ! Dimensions: (ncol,nlay+1) real(kind=rb), intent(in) :: tsfc(:) ! Surface temperature (K) ! Dimensions: (ncol) real(kind=rb), intent(in) :: h2ovmr(:,:) ! H2O volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: o3vmr(:,:) ! O3 volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: co2vmr(:,:) ! CO2 volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: ch4vmr(:,:) ! Methane volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: n2ovmr(:,:) ! Nitrous oxide volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: o2vmr(:,:) ! Oxygen volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: cfc11vmr(:,:) ! CFC11 volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: cfc12vmr(:,:) ! CFC12 volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: cfc22vmr(:,:) ! CFC22 volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: ccl4vmr(:,:) ! CCL4 volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: emis(:,:) ! Surface emissivity ! Dimensions: (ncol,nbndlw) integer(kind=im), intent(in) :: inflglw ! Flag for cloud optical properties integer(kind=im), intent(in) :: iceflglw ! Flag for ice particle specification integer(kind=im), intent(in) :: liqflglw ! Flag for liquid droplet specification real(kind=rb), intent(in) :: cldfmcl(:,:,:) ! Cloud fraction ! Dimensions: (ngptlw,ncol,nlay) real(kind=rb), intent(in) :: ciwpmcl(:,:,:) ! In-cloud ice water path (g/m2) ! Dimensions: (ngptlw,ncol,nlay) real(kind=rb), intent(in) :: clwpmcl(:,:,:) ! In-cloud liquid water path (g/m2) ! Dimensions: (ngptlw,ncol,nlay) real(kind=rb), intent(in) :: reicmcl(:,:) ! Cloud ice particle effective size (microns) ! Dimensions: (ncol,nlay) ! specific definition of reicmcl depends on setting of iceflglw: ! iceflglw = 0: ice effective radius, r_ec, (Ebert and Curry, 1992), ! r_ec must be >= 10.0 microns ! iceflglw = 1: ice effective radius, r_ec, (Ebert and Curry, 1992), ! r_ec range is limited to 13.0 to 130.0 microns ! iceflglw = 2: ice effective radius, r_k, (Key, Streamer Ref. Manual, 1996) ! r_k range is limited to 5.0 to 131.0 microns ! iceflglw = 3: generalized effective size, dge, (Fu, 1996), ! dge range is limited to 5.0 to 140.0 microns ! [dge = 1.0315 * r_ec] real(kind=rb), intent(in) :: relqmcl(:,:) ! Cloud water drop effective radius (microns) ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: taucmcl(:,:,:) ! In-cloud optical depth ! Dimensions: (ngptlw,ncol,nlay) ! real(kind=rb), intent(in) :: ssacmcl(:,:,:) ! In-cloud single scattering albedo ! Dimensions: (ngptlw,ncol,nlay) ! for future expansion ! lw scattering not yet available ! real(kind=rb), intent(in) :: asmcmcl(:,:,:) ! In-cloud asymmetry parameter ! Dimensions: (ngptlw,ncol,nlay) ! for future expansion ! lw scattering not yet available real(kind=rb), intent(in) :: tauaer(:,:,:) ! aerosol optical depth ! at mid-point of LW spectral bands ! Dimensions: (ncol,nlay,nbndlw) ! real(kind=rb), intent(in) :: ssaaer(:,:,:) ! aerosol single scattering albedo ! Dimensions: (ncol,nlay,nbndlw) ! for future expansion ! (lw aerosols/scattering not yet available) ! real(kind=rb), intent(in) :: asmaer(:,:,:) ! aerosol asymmetry parameter ! Dimensions: (ncol,nlay,nbndlw) ! for future expansion ! (lw aerosols/scattering not yet available) ! ----- Output ----- real(kind=rb), intent(out) :: uflx(:,:) ! Total sky longwave upward flux (W/m2) ! Dimensions: (ncol,nlay+1) real(kind=rb), intent(out) :: dflx(:,:) ! Total sky longwave downward flux (W/m2) ! Dimensions: (ncol,nlay+1) real(kind=rb), intent(out) :: hr(:,:) ! Total sky longwave radiative heating rate (K/d) ! Dimensions: (ncol,nlay) real(kind=rb), intent(out) :: uflxc(:,:) ! Clear sky longwave upward flux (W/m2) ! Dimensions: (ncol,nlay+1) real(kind=rb), intent(out) :: dflxc(:,:) ! Clear sky longwave downward flux (W/m2) ! Dimensions: (ncol,nlay+1) real(kind=rb), intent(out) :: hrc(:,:) ! Clear sky longwave radiative heating rate (K/d) ! Dimensions: (ncol,nlay) ! ----- Optional Output ----- real(kind=rb), intent(out), optional :: duflx_dt(:,:) ! change in upward longwave flux (w/m2/K) ! with respect to surface temperature ! Dimensions: (ncol,nlay) real(kind=rb), intent(out), optional :: duflxc_dt(:,:) ! change in clear sky upward longwave flux (w/m2/K) ! with respect to surface temperature ! Dimensions: (ncol,nlay) ! ----- Local ----- ! Control integer(kind=im) :: nlayers ! total number of layers integer(kind=im) :: istart ! beginning band of calculation integer(kind=im) :: iend ! ending band of calculation integer(kind=im) :: iout ! output option flag (inactive) integer(kind=im) :: iaer ! aerosol option flag integer(kind=im) :: iplon ! column loop index integer(kind=im) :: imca ! flag for mcica [0=off, 1=on] integer(kind=im) :: ims ! value for changing mcica permute seed integer(kind=im) :: k ! layer loop index integer(kind=im) :: ig ! g-point loop index ! Atmosphere real(kind=rb) :: pavel(nlay+1) ! layer pressures (mb) real(kind=rb) :: tavel(nlay+1) ! layer temperatures (K) real(kind=rb) :: pz(0:nlay+1) ! level (interface) pressures (hPa, mb) real(kind=rb) :: tz(0:nlay+1) ! level (interface) temperatures (K) real(kind=rb) :: tbound ! surface temperature (K) real(kind=rb) :: coldry(nlay+1) ! dry air column density (mol/cm2) real(kind=rb) :: wbrodl(nlay+1) ! broadening gas column density (mol/cm2) real(kind=rb) :: wkl(mxmol,nlay+1) ! molecular amounts (mol/cm-2) real(kind=rb) :: wx(maxxsec,nlay+1) ! cross-section amounts (mol/cm-2) real(kind=rb) :: pwvcm ! precipitable water vapor (cm) real(kind=rb) :: semiss(nbndlw) ! lw surface emissivity real(kind=rb) :: fracs(nlay+1,ngptlw) ! real(kind=rb) :: taug(nlay+1,ngptlw) ! gaseous optical depths real(kind=rb) :: taut(nlay+1,ngptlw) ! gaseous + aerosol optical depths real(kind=rb) :: taua(nlay+1,nbndlw) ! aerosol optical depth ! real(kind=rb) :: ssaa(nlay+1,nbndlw) ! aerosol single scattering albedo ! for future expansion ! (lw aerosols/scattering not yet available) ! real(kind=rb) :: asma(nlay+1,nbndlw) ! aerosol asymmetry parameter ! for future expansion ! (lw aerosols/scattering not yet available) ! Atmosphere - setcoef integer(kind=im) :: laytrop ! tropopause layer index integer(kind=im) :: jp(nlay+1) ! lookup table index integer(kind=im) :: jt(nlay+1) ! lookup table index integer(kind=im) :: jt1(nlay+1) ! lookup table index real(kind=rb) :: planklay(nlay+1,nbndlw)! real(kind=rb) :: planklev(0:nlay+1,nbndlw)! real(kind=rb) :: plankbnd(nbndlw) ! real(kind=rb) :: dplankbnd_dt(nbndlw) ! real(kind=rb) :: colh2o(nlay+1) ! column amount (h2o) real(kind=rb) :: colco2(nlay+1) ! column amount (co2) real(kind=rb) :: colo3(nlay+1) ! column amount (o3) real(kind=rb) :: coln2o(nlay+1) ! column amount (n2o) real(kind=rb) :: colco(nlay+1) ! column amount (co) real(kind=rb) :: colch4(nlay+1) ! column amount (ch4) real(kind=rb) :: colo2(nlay+1) ! column amount (o2) real(kind=rb) :: colbrd(nlay+1) ! column amount (broadening gases) integer(kind=im) :: indself(nlay+1) integer(kind=im) :: indfor(nlay+1) real(kind=rb) :: selffac(nlay+1) real(kind=rb) :: selffrac(nlay+1) real(kind=rb) :: forfac(nlay+1) real(kind=rb) :: forfrac(nlay+1) integer(kind=im) :: indminor(nlay+1) real(kind=rb) :: minorfrac(nlay+1) real(kind=rb) :: scaleminor(nlay+1) real(kind=rb) :: scaleminorn2(nlay+1) real(kind=rb) :: & ! fac00(nlay+1), fac01(nlay+1), & fac10(nlay+1), fac11(nlay+1) real(kind=rb) :: & ! rat_h2oco2(nlay+1),rat_h2oco2_1(nlay+1), & rat_h2oo3(nlay+1),rat_h2oo3_1(nlay+1), & rat_h2on2o(nlay+1),rat_h2on2o_1(nlay+1), & rat_h2och4(nlay+1),rat_h2och4_1(nlay+1), & rat_n2oco2(nlay+1),rat_n2oco2_1(nlay+1), & rat_o3co2(nlay+1),rat_o3co2_1(nlay+1) ! Atmosphere/clouds - cldprop integer(kind=im) :: ncbands ! number of cloud spectral bands integer(kind=im) :: inflag ! flag for cloud property method integer(kind=im) :: iceflag ! flag for ice cloud properties integer(kind=im) :: liqflag ! flag for liquid cloud properties ! Atmosphere/clouds - cldprmc [mcica] real(kind=rb) :: cldfmc(ngptlw,nlay+1) ! cloud fraction [mcica] real(kind=rb) :: ciwpmc(ngptlw,nlay+1) ! in-cloud ice water path [mcica] real(kind=rb) :: clwpmc(ngptlw,nlay+1) ! in-cloud liquid water path [mcica] real(kind=rb) :: relqmc(nlay+1) ! liquid particle effective radius (microns) real(kind=rb) :: reicmc(nlay+1) ! ice particle effective size (microns) real(kind=rb) :: taucmc(ngptlw,nlay+1) ! in-cloud optical depth [mcica] ! real(kind=rb) :: ssacmc(ngptlw,nlay+1) ! in-cloud single scattering albedo [mcica] ! for future expansion ! (lw scattering not yet available) ! real(kind=rb) :: asmcmc(ngptlw,nlay+1) ! in-cloud asymmetry parameter [mcica] ! for future expansion ! (lw scattering not yet available) ! Output real(kind=rb) :: totuflux(0:nlay+1) ! upward longwave flux (w/m2) real(kind=rb) :: totdflux(0:nlay+1) ! downward longwave flux (w/m2) real(kind=rb) :: fnet(0:nlay+1) ! net longwave flux (w/m2) real(kind=rb) :: htr(0:nlay+1) ! longwave heating rate (k/day) real(kind=rb) :: totuclfl(0:nlay+1) ! clear sky upward longwave flux (w/m2) real(kind=rb) :: totdclfl(0:nlay+1) ! clear sky downward longwave flux (w/m2) real(kind=rb) :: fnetc(0:nlay+1) ! clear sky net longwave flux (w/m2) real(kind=rb) :: htrc(0:nlay+1) ! clear sky longwave heating rate (k/day) real(kind=rb) :: dtotuflux_dt(0:nlay+1) ! change in upward longwave flux (w/m2/k) ! with respect to surface temperature real(kind=rb) :: dtotuclfl_dt(0:nlay+1) ! change in clear sky upward longwave flux (w/m2/k) ! with respect to surface temperature ! ! Initializations oneminus = 1._rb - 1.e-6_rb pi = 2._rb * asin(1._rb) fluxfac = pi * 2.e4_rb ! orig: fluxfac = pi * 2.d4 istart = 1 iend = 16 iout = 0 ims = 1 ! Set imca to select calculation type: ! imca = 0, use standard forward model calculation ! imca = 1, use McICA for Monte Carlo treatment of sub-grid cloud variability ! *** This version uses McICA (imca = 1) *** ! Set icld to select of clear or cloud calculation and cloud overlap method ! icld = 0, clear only ! icld = 1, with clouds using random cloud overlap ! icld = 2, with clouds using maximum/random cloud overlap ! icld = 3, with clouds using maximum cloud overlap (McICA only) if (icld.lt.0.or.icld.gt.3) icld = 2 ! Set iaer to select aerosol option ! iaer = 0, no aerosols ! icld = 10, input total aerosol optical depth (tauaer) directly iaer = 10 ! Call model and data initialization, compute lookup tables, perform ! reduction of g-points from 256 to 140 for input absorption coefficient ! data and other arrays. ! ! In a GCM this call should be placed in the model initialization ! area, since this has to be called only once. ! call rrtmg_lw_ini(cpdair) ! This is the main longitude/column loop within RRTMG. do iplon = 1, ncol ! Prepare atmospheric profile from GCM for use in RRTMG, and define ! other input parameters. call inatm (iplon, nlay, icld, iaer, & play, plev, tlay, tlev, tsfc, h2ovmr, & o3vmr, co2vmr, ch4vmr, n2ovmr, o2vmr, cfc11vmr, cfc12vmr, & cfc22vmr, ccl4vmr, emis, inflglw, iceflglw, liqflglw, & cldfmcl, taucmcl, ciwpmcl, clwpmcl, reicmcl, relqmcl, tauaer, & nlayers, pavel, pz, tavel, tz, tbound, semiss, coldry, & wkl, wbrodl, wx, pwvcm, inflag, iceflag, liqflag, & cldfmc, taucmc, ciwpmc, clwpmc, reicmc, relqmc, taua) ! For cloudy atmosphere, use cldprmc to set cloud optical properties based on ! input cloud physical properties. Select method based on choices described ! in cldprmc. Cloud fraction, water path, liquid droplet and ice particle ! effective radius must be passed into cldprmc. Cloud fraction and cloud ! optical depth are transferred to rrtmg_lw arrays in cldprmc. call cldprmc(nlayers, inflag, iceflag, liqflag, cldfmc, ciwpmc, & clwpmc, reicmc, relqmc, ncbands, taucmc) ! Calculate information needed by the radiative transfer routine ! that is specific to this atmosphere, especially some of the ! coefficients and indices needed to compute the optical depths ! by interpolating data from stored reference atmospheres. call setcoef(nlayers, istart, pavel, tavel, tz, tbound, semiss, & coldry, wkl, wbrodl, & laytrop, jp, jt, jt1, planklay, planklev, plankbnd, & idrv, dplankbnd_dt, & colh2o, colco2, colo3, coln2o, colco, colch4, colo2, & colbrd, fac00, fac01, fac10, fac11, & rat_h2oco2, rat_h2oco2_1, rat_h2oo3, rat_h2oo3_1, & rat_h2on2o, rat_h2on2o_1, rat_h2och4, rat_h2och4_1, & rat_n2oco2, rat_n2oco2_1, rat_o3co2, rat_o3co2_1, & selffac, selffrac, indself, forfac, forfrac, indfor, & minorfrac, scaleminor, scaleminorn2, indminor) ! Calculate the gaseous optical depths and Planck fractions for ! each longwave spectral band. call taumol(nlayers, pavel, wx, coldry, & laytrop, jp, jt, jt1, planklay, planklev, plankbnd, & colh2o, colco2, colo3, coln2o, colco, colch4, colo2, & colbrd, fac00, fac01, fac10, fac11, & rat_h2oco2, rat_h2oco2_1, rat_h2oo3, rat_h2oo3_1, & rat_h2on2o, rat_h2on2o_1, rat_h2och4, rat_h2och4_1, & rat_n2oco2, rat_n2oco2_1, rat_o3co2, rat_o3co2_1, & selffac, selffrac, indself, forfac, forfrac, indfor, & minorfrac, scaleminor, scaleminorn2, indminor, & fracs, taug) ! Combine gaseous and aerosol optical depths, if aerosol active if (iaer .eq. 0) then do k = 1, nlayers do ig = 1, ngptlw taut(k,ig) = taug(k,ig) enddo enddo elseif (iaer .eq. 10) then do k = 1, nlayers do ig = 1, ngptlw taut(k,ig) = taug(k,ig) + taua(k,ngb(ig)) enddo enddo endif ! Call the radiative transfer routine. ! Either routine can be called to do clear sky calculation. If clouds ! are present, then select routine based on cloud overlap assumption ! to be used. Clear sky calculation is done simultaneously. ! For McICA, RTRNMC is called for clear and cloudy calculations. call rtrnmc(nlayers, istart, iend, iout, pz, semiss, ncbands, & cldfmc, taucmc, planklay, planklev, plankbnd, & pwvcm, fracs, taut, & totuflux, totdflux, fnet, htr, & totuclfl, totdclfl, fnetc, htrc, & idrv, dplankbnd_dt, dtotuflux_dt, dtotuclfl_dt ) ! Transfer up and down fluxes and heating rate to output arrays. ! Vertical indexing goes from bottom to top; reverse here for GCM if necessary. do k = 0, nlayers uflx(iplon,k+1) = totuflux(k) dflx(iplon,k+1) = totdflux(k) uflxc(iplon,k+1) = totuclfl(k) dflxc(iplon,k+1) = totdclfl(k) enddo do k = 0, nlayers-1 hr(iplon,k+1) = htr(k) hrc(iplon,k+1) = htrc(k) enddo ! If idrv=1 option is active, transfer upward flux derivatives to output arrays. if (idrv .eq. 1) then do k = 0, nlayers duflx_dt(iplon,k+1) = dtotuflux_dt(k) duflxc_dt(iplon,k+1) = dtotuclfl_dt(k) enddo endif ! End longitude/column loop enddo end subroutine rrtmg_lw !*************************************************************************** subroutine inatm (iplon, nlay, icld, iaer, & play, plev, tlay, tlev, tsfc, h2ovmr, & o3vmr, co2vmr, ch4vmr, n2ovmr, o2vmr, cfc11vmr, cfc12vmr, & cfc22vmr, ccl4vmr, emis, inflglw, iceflglw, liqflglw, & cldfmcl, taucmcl, ciwpmcl, clwpmcl, reicmcl, relqmcl, tauaer, & nlayers, pavel, pz, tavel, tz, tbound, semiss, coldry, & wkl, wbrodl, wx, pwvcm, inflag, iceflag, liqflag, & cldfmc, taucmc, ciwpmc, clwpmc, reicmc, relqmc, taua) !*************************************************************************** ! ! Input atmospheric profile from GCM, and prepare it for use in RRTMG_LW. ! Set other RRTMG_LW input parameters. ! !*************************************************************************** ! --------- Modules ---------- use parrrtm, only : nbndlw, ngptlw, nmol, maxxsec, mxmol use rrlw_con, only: fluxfac, heatfac, oneminus, pi, grav, avogad use rrlw_wvn, only: ng, nspa, nspb, wavenum1, wavenum2, delwave, ixindx ! ------- Declarations ------- ! ----- Input ----- ! Note: All volume mixing ratios are in dimensionless units of mole fraction obtained ! by scaling mass mixing ratio (g/g) with the appropriate molecular weights (g/mol) integer(kind=im), intent(in) :: iplon ! column loop index integer(kind=im), intent(in) :: nlay ! Number of model layers integer(kind=im), intent(in) :: icld ! clear/cloud and cloud overlap flag integer(kind=im), intent(in) :: iaer ! aerosol option flag real(kind=rb), intent(in) :: play(:,:) ! Layer pressures (hPa, mb) ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: plev(:,:) ! Interface pressures (hPa, mb) ! Dimensions: (ncol,nlay+1) real(kind=rb), intent(in) :: tlay(:,:) ! Layer temperatures (K) ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: tlev(:,:) ! Interface temperatures (K) ! Dimensions: (ncol,nlay+1) real(kind=rb), intent(in) :: tsfc(:) ! Surface temperature (K) ! Dimensions: (ncol) real(kind=rb), intent(in) :: h2ovmr(:,:) ! H2O volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: o3vmr(:,:) ! O3 volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: co2vmr(:,:) ! CO2 volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: ch4vmr(:,:) ! Methane volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: n2ovmr(:,:) ! Nitrous oxide volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: o2vmr(:,:) ! Oxygen volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: cfc11vmr(:,:) ! CFC11 volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: cfc12vmr(:,:) ! CFC12 volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: cfc22vmr(:,:) ! CFC22 volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: ccl4vmr(:,:) ! CCL4 volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: emis(:,:) ! Surface emissivity ! Dimensions: (ncol,nbndlw) integer(kind=im), intent(in) :: inflglw ! Flag for cloud optical properties integer(kind=im), intent(in) :: iceflglw ! Flag for ice particle specification integer(kind=im), intent(in) :: liqflglw ! Flag for liquid droplet specification real(kind=rb), intent(in) :: cldfmcl(:,:,:) ! Cloud fraction ! Dimensions: (ngptlw,ncol,nlay) real(kind=rb), intent(in) :: ciwpmcl(:,:,:) ! In-cloud ice water path (g/m2) ! Dimensions: (ngptlw,ncol,nlay) real(kind=rb), intent(in) :: clwpmcl(:,:,:) ! In-cloud liquid water path (g/m2) ! Dimensions: (ngptlw,ncol,nlay) real(kind=rb), intent(in) :: relqmcl(:,:) ! Cloud water drop effective radius (microns) ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: reicmcl(:,:) ! Cloud ice effective size (microns) ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: taucmcl(:,:,:) ! In-cloud optical depth ! Dimensions: (ngptlw,ncol,nlay) real(kind=rb), intent(in) :: tauaer(:,:,:) ! Aerosol optical depth ! Dimensions: (ncol,nlay,nbndlw) ! ----- Output ----- ! Atmosphere integer(kind=im), intent(out) :: nlayers ! number of layers real(kind=rb), intent(out) :: pavel(:) ! layer pressures (mb) ! Dimensions: (nlay) real(kind=rb), intent(out) :: tavel(:) ! layer temperatures (K) ! Dimensions: (nlay) real(kind=rb), intent(out) :: pz(0:) ! level (interface) pressures (hPa, mb) ! Dimensions: (0:nlay) real(kind=rb), intent(out) :: tz(0:) ! level (interface) temperatures (K) ! Dimensions: (0:nlay) real(kind=rb), intent(out) :: tbound ! surface temperature (K) real(kind=rb), intent(out) :: coldry(:) ! dry air column density (mol/cm2) ! Dimensions: (nlay) real(kind=rb), intent(out) :: wbrodl(:) ! broadening gas column density (mol/cm2) ! Dimensions: (nlay) real(kind=rb), intent(out) :: wkl(:,:) ! molecular amounts (mol/cm-2) ! Dimensions: (mxmol,nlay) real(kind=rb), intent(out) :: wx(:,:) ! cross-section amounts (mol/cm-2) ! Dimensions: (maxxsec,nlay) real(kind=rb), intent(out) :: pwvcm ! precipitable water vapor (cm) real(kind=rb), intent(out) :: semiss(:) ! lw surface emissivity ! Dimensions: (nbndlw) ! Atmosphere/clouds - cldprmc integer(kind=im), intent(out) :: inflag ! flag for cloud property method integer(kind=im), intent(out) :: iceflag ! flag for ice cloud properties integer(kind=im), intent(out) :: liqflag ! flag for liquid cloud properties real(kind=rb), intent(out) :: cldfmc(:,:) ! cloud fraction [mcica] ! Dimensions: (ngptlw,nlay) real(kind=rb), intent(out) :: ciwpmc(:,:) ! in-cloud ice water path [mcica] ! Dimensions: (ngptlw,nlay) real(kind=rb), intent(out) :: clwpmc(:,:) ! in-cloud liquid water path [mcica] ! Dimensions: (ngptlw,nlay) real(kind=rb), intent(out) :: relqmc(:) ! liquid particle effective radius (microns) ! Dimensions: (nlay) real(kind=rb), intent(out) :: reicmc(:) ! ice particle effective size (microns) ! Dimensions: (nlay) real(kind=rb), intent(out) :: taucmc(:,:) ! in-cloud optical depth [mcica] ! Dimensions: (ngptlw,nlay) real(kind=rb), intent(out) :: taua(:,:) ! aerosol optical depth ! Dimensions: (nlay,nbndlw) ! ----- Local ----- real(kind=rb), parameter :: amd = 28.9660_rb ! Effective molecular weight of dry air (g/mol) real(kind=rb), parameter :: amw = 18.0160_rb ! Molecular weight of water vapor (g/mol) ! real(kind=rb), parameter :: amc = 44.0098_rb ! Molecular weight of carbon dioxide (g/mol) ! real(kind=rb), parameter :: amo = 47.9998_rb ! Molecular weight of ozone (g/mol) ! real(kind=rb), parameter :: amo2 = 31.9999_rb ! Molecular weight of oxygen (g/mol) ! real(kind=rb), parameter :: amch4 = 16.0430_rb ! Molecular weight of methane (g/mol) ! real(kind=rb), parameter :: amn2o = 44.0128_rb ! Molecular weight of nitrous oxide (g/mol) ! real(kind=rb), parameter :: amc11 = 137.3684_rb ! Molecular weight of CFC11 (g/mol) - CCL3F ! real(kind=rb), parameter :: amc12 = 120.9138_rb ! Molecular weight of CFC12 (g/mol) - CCL2F2 ! real(kind=rb), parameter :: amc22 = 86.4688_rb ! Molecular weight of CFC22 (g/mol) - CHCLF2 ! real(kind=rb), parameter :: amcl4 = 153.823_rb ! Molecular weight of CCL4 (g/mol) - CCL4 ! Set molecular weight ratios (for converting mmr to vmr) ! e.g. h2ovmr = h2ommr * amdw) real(kind=rb), parameter :: amdw = 1.607793_rb ! Molecular weight of dry air / water vapor real(kind=rb), parameter :: amdc = 0.658114_rb ! Molecular weight of dry air / carbon dioxide real(kind=rb), parameter :: amdo = 0.603428_rb ! Molecular weight of dry air / ozone real(kind=rb), parameter :: amdm = 1.805423_rb ! Molecular weight of dry air / methane real(kind=rb), parameter :: amdn = 0.658090_rb ! Molecular weight of dry air / nitrous oxide real(kind=rb), parameter :: amdo2 = 0.905140_rb ! Molecular weight of dry air / oxygen real(kind=rb), parameter :: amdc1 = 0.210852_rb ! Molecular weight of dry air / CFC11 real(kind=rb), parameter :: amdc2 = 0.239546_rb ! Molecular weight of dry air / CFC12 integer(kind=im) :: isp, l, ix, n, imol, ib, ig ! Loop indices real(kind=rb) :: amm, amttl, wvttl, wvsh, summol ! Add one to nlayers here to include extra model layer at top of atmosphere nlayers = nlay ! Initialize all molecular amounts and cloud properties to zero here, then pass input amounts ! into RRTM arrays below. wkl(:,:) = 0.0_rb wx(:,:) = 0.0_rb cldfmc(:,:) = 0.0_rb taucmc(:,:) = 0.0_rb ciwpmc(:,:) = 0.0_rb clwpmc(:,:) = 0.0_rb reicmc(:) = 0.0_rb relqmc(:) = 0.0_rb taua(:,:) = 0.0_rb amttl = 0.0_rb wvttl = 0.0_rb ! Set surface temperature. tbound = tsfc(iplon) ! Install input GCM arrays into RRTMG_LW arrays for pressure, temperature, ! and molecular amounts. ! Pressures are input in mb, or are converted to mb here. ! Molecular amounts are input in volume mixing ratio, or are converted from ! mass mixing ratio (or specific humidity for h2o) to volume mixing ratio ! here. These are then converted to molecular amount (molec/cm2) below. ! The dry air column COLDRY (in molec/cm2) is calculated from the level ! pressures, pz (in mb), based on the hydrostatic equation and includes a ! correction to account for h2o in the layer. The molecular weight of moist ! air (amm) is calculated for each layer. ! Note: In RRTMG, layer indexing goes from bottom to top, and coding below ! assumes GCM input fields are also bottom to top. Input layer indexing ! from GCM fields should be reversed here if necessary. pz(0) = plev(iplon,1) tz(0) = tlev(iplon,1) do l = 1, nlayers pavel(l) = play(iplon,l) tavel(l) = tlay(iplon,l) pz(l) = plev(iplon,l+1) tz(l) = tlev(iplon,l+1) ! For h2o input in vmr: wkl(1,l) = h2ovmr(iplon,l) ! For h2o input in mmr: ! wkl(1,l) = h2o(iplon,l)*amdw ! For h2o input in specific humidity; ! wkl(1,l) = (h2o(iplon,l)/(1._rb - h2o(iplon,l)))*amdw wkl(2,l) = co2vmr(iplon,l) wkl(3,l) = o3vmr(iplon,l) wkl(4,l) = n2ovmr(iplon,l) wkl(6,l) = ch4vmr(iplon,l) wkl(7,l) = o2vmr(iplon,l) amm = (1._rb - wkl(1,l)) * amd + wkl(1,l) * amw coldry(l) = (pz(l-1)-pz(l)) * 1.e3_rb * avogad / & (1.e2_rb * grav * amm * (1._rb + wkl(1,l))) enddo ! Set cross section molecule amounts from input; convert to vmr if necessary do l=1, nlayers wx(1,l) = ccl4vmr(iplon,l) wx(2,l) = cfc11vmr(iplon,l) wx(3,l) = cfc12vmr(iplon,l) wx(4,l) = cfc22vmr(iplon,l) enddo ! The following section can be used to set values for an additional layer (from ! the GCM top level to 1.e-4 mb) for improved calculation of TOA fluxes. ! Temperature and molecular amounts in the extra model layer are set to ! their values in the top GCM model layer, though these can be modified ! here if necessary. ! If this feature is utilized, increase nlayers by one above, limit the two ! loops above to (nlayers-1), and set the top most (extra) layer values here. ! pavel(nlayers) = 0.5_rb * pz(nlayers-1) ! tavel(nlayers) = tavel(nlayers-1) ! pz(nlayers) = 1.e-4_rb ! tz(nlayers-1) = 0.5_rb * (tavel(nlayers)+tavel(nlayers-1)) ! tz(nlayers) = tz(nlayers-1) ! wkl(1,nlayers) = wkl(1,nlayers-1) ! wkl(2,nlayers) = wkl(2,nlayers-1) ! wkl(3,nlayers) = wkl(3,nlayers-1) ! wkl(4,nlayers) = wkl(4,nlayers-1) ! wkl(6,nlayers) = wkl(6,nlayers-1) ! wkl(7,nlayers) = wkl(7,nlayers-1) ! amm = (1._rb - wkl(1,nlayers-1)) * amd + wkl(1,nlayers-1) * amw ! coldry(nlayers) = (pz(nlayers-1)) * 1.e3_rb * avogad / & ! (1.e2_rb * grav * amm * (1._rb + wkl(1,nlayers-1))) ! wx(1,nlayers) = wx(1,nlayers-1) ! wx(2,nlayers) = wx(2,nlayers-1) ! wx(3,nlayers) = wx(3,nlayers-1) ! wx(4,nlayers) = wx(4,nlayers-1) ! At this point all molecular amounts in wkl and wx are in volume mixing ratio; ! convert to molec/cm2 based on coldry for use in rrtm. also, compute precipitable ! water vapor for diffusivity angle adjustments in rtrn and rtrnmr. do l = 1, nlayers summol = 0.0_rb do imol = 2, nmol summol = summol + wkl(imol,l) enddo wbrodl(l) = coldry(l) * (1._rb - summol) do imol = 1, nmol wkl(imol,l) = coldry(l) * wkl(imol,l) enddo amttl = amttl + coldry(l)+wkl(1,l) wvttl = wvttl + wkl(1,l) do ix = 1,maxxsec if (ixindx(ix) .ne. 0) then wx(ixindx(ix),l) = coldry(l) * wx(ix,l) * 1.e-20_rb endif enddo enddo wvsh = (amw * wvttl) / (amd * amttl) pwvcm = wvsh * (1.e3_rb * pz(0)) / (1.e2_rb * grav) ! Set spectral surface emissivity for each longwave band. do n=1,nbndlw semiss(n) = emis(iplon,n) ! semiss(n) = 1.0_rb enddo ! Transfer aerosol optical properties to RRTM variable; ! modify to reverse layer indexing here if necessary. if (iaer .ge. 1) then do l = 1, nlayers do ib = 1, nbndlw taua(l,ib) = tauaer(iplon,l,ib) enddo enddo endif ! Transfer cloud fraction and cloud optical properties to RRTM variables, ! modify to reverse layer indexing here if necessary. if (icld .ge. 1) then inflag = inflglw iceflag = iceflglw liqflag = liqflglw ! Move incoming GCM cloud arrays to RRTMG cloud arrays. ! For GCM input, incoming reicmcl is defined based on selected ice parameterization (inflglw) do l = 1, nlayers do ig = 1, ngptlw cldfmc(ig,l) = cldfmcl(ig,iplon,l) taucmc(ig,l) = taucmcl(ig,iplon,l) ciwpmc(ig,l) = ciwpmcl(ig,iplon,l) clwpmc(ig,l) = clwpmcl(ig,iplon,l) enddo reicmc(l) = reicmcl(iplon,l) relqmc(l) = relqmcl(iplon,l) enddo ! If an extra layer is being used in RRTMG, set all cloud properties to zero in the extra layer. ! cldfmc(:,nlayers) = 0.0_rb ! taucmc(:,nlayers) = 0.0_rb ! ciwpmc(:,nlayers) = 0.0_rb ! clwpmc(:,nlayers) = 0.0_rb ! reicmc(nlayers) = 0.0_rb ! relqmc(nlayers) = 0.0_rb ! taua(nlayers,:) = 0.0_rb endif end subroutine inatm end module rrtmg_lw_rad ================================================ FILE: GeosRad/rrtmg_lw_rad.nomcica.F90.safe ================================================ ! path: $Source: /storm/rc1/cvsroot/rc/rrtmg_lw/src/rrtmg_lw_rad.nomcica.f90,v $ ! author: $Author: mike $ ! revision: $Revision: 1.11 $ ! created: $Date: 2009/11/12 20:52:25 $ ! module rrtmg_lw_rad ! -------------------------------------------------------------------------- ! | | ! | Copyright 2002-2009, Atmospheric & Environmental Research, Inc. (AER). | ! | This software may be used, copied, or redistributed as long as it is | ! | not sold and this copyright notice is reproduced on each copy made. | ! | This model is provided as is without any express or implied warranties. | ! | (http://www.rtweb.aer.com/) | ! | | ! -------------------------------------------------------------------------- ! ! **************************************************************************** ! * * ! * RRTMG_LW * ! * * ! * * ! * * ! * a rapid radiative transfer model * ! * for the longwave region * ! * for application to general circulation models * ! * * ! * * ! * Atmospheric and Environmental Research, Inc. * ! * 131 Hartwell Avenue * ! * Lexington, MA 02421 * ! * * ! * * ! * Eli J. Mlawer * ! * Jennifer S. Delamere * ! * Michael J. Iacono * ! * Shepard A. Clough * ! * * ! * * ! * * ! * * ! * * ! * * ! * email: emlawer@aer.com * ! * email: jdelamer@aer.com * ! * email: miacono@aer.com * ! * * ! * The authors wish to acknowledge the contributions of the * ! * following people: Steven J. Taubman, Karen Cady-Pereira, * ! * Patrick D. Brown, Ronald E. Farren, Luke Chen, Robert Bergstrom. * ! * * ! **************************************************************************** ! -------- Modules -------- use parkind, only : im => kind_im, rb => kind_rb use rrlw_vsn use rrtmg_lw_cldprop, only: cldprop ! *** Move the required call to rrtmg_lw_ini below and the following ! use association to the GCM initialization area *** ! use rrtmg_lw_init, only: rrtmg_lw_ini use rrtmg_lw_rtrn, only: rtrn use rrtmg_lw_rtrnmr, only: rtrnmr use rrtmg_lw_setcoef, only: setcoef use rrtmg_lw_taumol, only: taumol implicit none ! public interfaces/functions/subroutines public :: rrtmg_lw, inatm !------------------------------------------------------------------ contains !------------------------------------------------------------------ !------------------------------------------------------------------ ! Public subroutines !------------------------------------------------------------------ subroutine rrtmg_lw & (ncol ,nlay ,icld ,idrv , & play ,plev ,tlay ,tlev ,tsfc , & h2ovmr ,o3vmr ,co2vmr ,ch4vmr ,n2ovmr ,o2vmr, & cfc11vmr,cfc12vmr,cfc22vmr,ccl4vmr ,emis , & inflglw ,iceflglw,liqflglw,cldfr , & taucld ,cicewp ,cliqwp ,reice ,reliq , & tauaer , & uflx ,dflx ,hr ,uflxc ,dflxc, hrc, & duflx_dt,duflxc_dt ) ! -------- Description -------- ! This program is the driver subroutine for RRTMG_LW, the AER LW radiation ! model for application to GCMs, that has been adapted from RRTM_LW for ! improved efficiency. ! ! NOTE: The call to RRTMG_LW_INI should be moved to the GCM initialization ! area, since this has to be called only once. ! ! This routine: ! a) calls INATM to read in the atmospheric profile from GCM; ! all layering in RRTMG is ordered from surface to toa. ! b) calls CLDPROP to set cloud optical depth based on input ! cloud properties ! c) calls SETCOEF to calculate various quantities needed for ! the radiative transfer algorithm ! d) calls TAUMOL to calculate gaseous optical depths for each ! of the 16 spectral bands ! e) calls RTRNMR (for both clear and cloudy profiles) to perform the ! radiative transfer calculation with a maximum-random cloud ! overlap method, or calls RTRN to use random cloud overlap. ! f) passes the necessary fluxes and cooling rates back to GCM ! ! Two modes of operation are possible: ! The mode is chosen by using either rrtmg_lw.nomcica.f90 (to not use ! McICA) or rrtmg_lw.f90 (to use McICA) to interface with a GCM. ! ! 1) Standard, single forward model calculation (imca = 0) ! 2) Monte Carlo Independent Column Approximation (McICA, Pincus et al., ! JC, 2003) method is applied to the forward model calculation (imca = 1) ! ! Two methods of cloud property input are possible: ! Cloud properties can be input in one of two ways (controlled by input ! flags inflglw, iceflglw, and liqflglw; see text file rrtmg_lw_instructions ! and subroutine rrtmg_lw_cldprop.f90 for further details): ! ! 1) Input cloud fraction and cloud optical depth directly (inflglw = 0) ! 2) Input cloud fraction and cloud physical properties (inflglw = 1 or 2); ! cloud optical properties are calculated by cldprop or cldprmc based ! on input settings of iceflglw and liqflglw. Ice particle size provided ! must be appropriately defined for the ice parameterization selected. ! ! One method of aerosol property input is possible: ! Aerosol properties can be input in only one way (controlled by input ! flag iaer; see text file rrtmg_lw_instructions for further details): ! ! 1) Input aerosol optical depth directly by layer and spectral band (iaer=10); ! band average optical depth at the mid-point of each spectral band. ! RRTMG_LW currently treats only aerosol absorption; ! scattering capability is not presently available. ! ! The optional calculation of the change in upward flux as a function of surface ! temperature is available (controlled by input flag idrv). This can be utilized ! to approximate adjustments to the upward flux profile caused only by a change in ! surface temperature between full radiation calls. This feature uses the pre- ! calculated derivative of the Planck function with respect to surface temperature. ! ! 1) Normal forward calculation for the input profile (idrv=0) ! 2) Normal forward calculation with optional calculation of the change ! in upward flux as a function of surface temperature for clear sky ! and total sky flux. Flux partial derivatives are provided in arrays ! duflx_dt and duflxc_dt for total and clear sky. (idrv=1) ! ! ! ------- Modifications ------- ! ! This version of RRTMG_LW has been modified from RRTM_LW to use a reduced ! set of g-points for application to GCMs. ! !-- Original version (derived from RRTM_LW), reduction of g-points, other ! revisions for use with GCMs. ! 1999: M. J. Iacono, AER, Inc. !-- Adapted for use with NCAR/CAM. ! May 2004: M. J. Iacono, AER, Inc. !-- Conversion to F90 formatting for consistency with rrtmg_sw. ! Feb 2007: M. J. Iacono, AER, Inc. !-- Modifications to formatting to use assumed-shape arrays. ! Aug 2007: M. J. Iacono, AER, Inc. !-- Modified to add longwave aerosol absorption. ! Apr 2008: M. J. Iacono, AER, Inc. !-- Added capability to calculate derivative of upward flux wrt surface temperature. ! Nov 2009: M. J. Iacono, E. J. Mlawer, AER, Inc. ! --------- Modules ---------- use parrrtm, only : nbndlw, ngptlw, maxxsec, mxmol use rrlw_con, only: fluxfac, heatfac, oneminus, pi use rrlw_wvn, only: ng, ngb, nspa, nspb, wavenum1, wavenum2, delwave ! ------- Declarations ------- ! ----- Input ----- ! Note: All volume mixing ratios are in dimensionless units of mole fraction obtained ! by scaling mass mixing ratio (g/g) with the appropriate molecular weights (g/mol) integer(kind=im), intent(in) :: ncol ! Number of horizontal columns integer(kind=im), intent(in) :: nlay ! Number of model layers integer(kind=im), intent(inout) :: icld ! Cloud overlap method ! 0: Clear only ! 1: Random ! 2: Maximum/random ! 3: Maximum integer(kind=im), intent(in) :: idrv ! Flag for calculation of dFdT, the change ! in upward flux as a function of ! surface temperature [0=off, 1=on] ! 0: Normal forward calculation ! 1: Normal forward calculation with ! duflx_dt and duflxc_dt output real(kind=rb), intent(in) :: play(:,:) ! Layer pressures (hPa, mb) ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: plev(:,:) ! Interface pressures (hPa, mb) ! Dimensions: (ncol,nlay+1) real(kind=rb), intent(in) :: tlay(:,:) ! Layer temperatures (K) ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: tlev(:,:) ! Interface temperatures (K) ! Dimensions: (ncol,nlay+1) real(kind=rb), intent(in) :: tsfc(:) ! Surface temperature (K) ! Dimensions: (ncol) real(kind=rb), intent(in) :: h2ovmr(:,:) ! H2O volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: o3vmr(:,:) ! O3 volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: co2vmr(:,:) ! CO2 volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: ch4vmr(:,:) ! Methane volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: n2ovmr(:,:) ! Nitrous oxide volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: o2vmr(:,:) ! Oxygen volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: cfc11vmr(:,:) ! CFC11 volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: cfc12vmr(:,:) ! CFC12 volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: cfc22vmr(:,:) ! CFC22 volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: ccl4vmr(:,:) ! CCL4 volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: emis(:,:) ! Surface emissivity ! Dimensions: (ncol,nbndlw) integer(kind=im), intent(in) :: inflglw ! Flag for cloud optical properties integer(kind=im), intent(in) :: iceflglw ! Flag for ice particle specification integer(kind=im), intent(in) :: liqflglw ! Flag for liquid droplet specification real(kind=rb), intent(in) :: cldfr(:,:) ! Cloud fraction ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: cicewp(:,:) ! Cloud ice water path (g/m2) ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: cliqwp(:,:) ! Cloud liquid water path (g/m2) ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: reice(:,:) ! Cloud ice particle effective size (microns) ! Dimensions: (ncol,nlay) ! specific definition of reice depends on setting of iceflglw: ! iceflglw = 0: ice effective radius, r_ec, (Ebert and Curry, 1992), ! r_ec must be >= 10.0 microns ! iceflglw = 1: ice effective radius, r_ec, (Ebert and Curry, 1992), ! r_ec range is limited to 13.0 to 130.0 microns ! iceflglw = 2: ice effective radius, r_k, (Key, Streamer Ref. Manual, 1996) ! r_k range is limited to 5.0 to 131.0 microns ! iceflglw = 3: generalized effective size, dge, (Fu, 1996), ! dge range is limited to 5.0 to 140.0 microns ! [dge = 1.0315 * r_ec] real(kind=rb), intent(in) :: reliq(:,:) ! Cloud water drop effective radius (microns) ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: taucld(:,:,:) ! In-cloud optical depth ! Dimensions: (nbndlw,ncol,nlay) ! real(kind=rb), intent(in) :: ssacld(:,:,:) ! In-cloud single scattering albedo ! Dimensions: (nbndlw,ncol,nlay) ! for future expansion ! (lw scattering not yet available) ! real(kind=rb), intent(in) :: asmcld(:,:,:) ! In-cloud asymmetry parameter ! Dimensions: (nbndlw,ncol,nlay) ! for future expansion ! (lw scattering not yet available) real(kind=rb), intent(in) :: tauaer(:,:,:) ! aerosol optical depth ! Dimensions: (ncol,nlay,nbndlw) ! real(kind=rb), intent(in) :: ssaaer(:,:,:) ! aerosol single scattering albedo ! Dimensions: (ncol,nlay,nbndlw) ! for future expansion ! (lw aerosols/scattering not yet available) ! real(kind=rb), intent(in) :: asmaer(:,:,:) ! aerosol asymmetry parameter ! Dimensions: (ncol,nlay,nbndlw) ! for future expansion ! (lw aerosols/scattering not yet available) ! ----- Output ----- real(kind=rb), intent(out) :: uflx(:,:) ! Total sky longwave upward flux (W/m2) ! Dimensions: (ncol,nlay+1) real(kind=rb), intent(out) :: dflx(:,:) ! Total sky longwave downward flux (W/m2) ! Dimensions: (ncol,nlay+1) real(kind=rb), intent(out) :: hr(:,:) ! Total sky longwave radiative heating rate (K/d) ! Dimensions: (ncol,nlay) real(kind=rb), intent(out) :: uflxc(:,:) ! Clear sky longwave upward flux (W/m2) ! Dimensions: (ncol,nlay+1) real(kind=rb), intent(out) :: dflxc(:,:) ! Clear sky longwave downward flux (W/m2) ! Dimensions: (ncol,nlay+1) real(kind=rb), intent(out) :: hrc(:,:) ! Clear sky longwave radiative heating rate (K/d) ! Dimensions: (ncol,nlay) ! ----- Optional Output ----- real(kind=rb), intent(out), optional :: duflx_dt(:,:) ! change in upward longwave flux (w/m2/k) ! with respect to surface temperature ! Dimensions: (ncol,nlay) real(kind=rb), intent(out), optional :: duflxc_dt(:,:) ! change in clear sky upward longwave flux (w/m2/k) ! with respect to surface temperature ! Dimensions: (ncol,nlay) ! ----- Local ----- ! Control integer(kind=im) :: nlayers ! total number of layers integer(kind=im) :: istart ! beginning band of calculation integer(kind=im) :: iend ! ending band of calculation integer(kind=im) :: iout ! output option flag (inactive) integer(kind=im) :: iaer ! aerosol option flag integer(kind=im) :: iplon ! column loop index integer(kind=im) :: imca ! flag for mcica [0=off, 1=on] integer(kind=im) :: k ! layer loop index integer(kind=im) :: ig ! g-point loop index ! Atmosphere real(kind=rb) :: pavel(nlay+1) ! layer pressures (mb) real(kind=rb) :: tavel(nlay+1) ! layer temperatures (K) real(kind=rb) :: pz(0:nlay+1) ! level (interface) pressures (hPa, mb) real(kind=rb) :: tz(0:nlay+1) ! level (interface) temperatures (K) real(kind=rb) :: tbound ! surface temperature (K) real(kind=rb) :: coldry(nlay+1) ! dry air column density (mol/cm2) real(kind=rb) :: wbrodl(nlay+1) ! broadening gas column density (mol/cm2) real(kind=rb) :: wkl(mxmol,nlay+1) ! molecular amounts (mol/cm-2) real(kind=rb) :: wx(maxxsec,nlay+1) ! cross-section amounts (mol/cm-2) real(kind=rb) :: pwvcm ! precipitable water vapor (cm) real(kind=rb) :: semiss(nbndlw) ! lw surface emissivity real(kind=rb) :: fracs(nlay+1,ngptlw) ! real(kind=rb) :: taug(nlay+1,ngptlw) ! gaseous optical depths real(kind=rb) :: taut(nlay+1,ngptlw) ! gaseous + aerosol optical depths real(kind=rb) :: taua(nlay+1,nbndlw) ! aerosol optical depth ! real(kind=rb) :: ssaa(nlay+1,nbndlw) ! aerosol single scattering albedo ! for future expansion ! (lw aerosols/scattering not yet available) ! real(kind=rb) :: asma(nlay+1,nbndlw) ! aerosol asymmetry parameter ! for future expansion ! (lw aerosols/scattering not yet available) ! Atmosphere - setcoef integer(kind=im) :: laytrop ! tropopause layer index integer(kind=im) :: jp(nlay+1) ! lookup table index integer(kind=im) :: jt(nlay+1) ! lookup table index integer(kind=im) :: jt1(nlay+1) ! lookup table index real(kind=rb) :: planklay(nlay+1,nbndlw)! real(kind=rb) :: planklev(0:nlay+1,nbndlw)! real(kind=rb) :: plankbnd(nbndlw) ! real(kind=rb) :: dplankbnd_dt(nbndlw) ! real(kind=rb) :: colh2o(nlay+1) ! column amount (h2o) real(kind=rb) :: colco2(nlay+1) ! column amount (co2) real(kind=rb) :: colo3(nlay+1) ! column amount (o3) real(kind=rb) :: coln2o(nlay+1) ! column amount (n2o) real(kind=rb) :: colco(nlay+1) ! column amount (co) real(kind=rb) :: colch4(nlay+1) ! column amount (ch4) real(kind=rb) :: colo2(nlay+1) ! column amount (o2) real(kind=rb) :: colbrd(nlay+1) ! column amount (broadening gases) integer(kind=im) :: indself(nlay+1) integer(kind=im) :: indfor(nlay+1) real(kind=rb) :: selffac(nlay+1) real(kind=rb) :: selffrac(nlay+1) real(kind=rb) :: forfac(nlay+1) real(kind=rb) :: forfrac(nlay+1) integer(kind=im) :: indminor(nlay+1) real(kind=rb) :: minorfrac(nlay+1) real(kind=rb) :: scaleminor(nlay+1) real(kind=rb) :: scaleminorn2(nlay+1) real(kind=rb) :: & ! fac00(nlay+1), fac01(nlay+1), & fac10(nlay+1), fac11(nlay+1) real(kind=rb) :: & ! rat_h2oco2(nlay+1),rat_h2oco2_1(nlay+1), & rat_h2oo3(nlay+1),rat_h2oo3_1(nlay+1), & rat_h2on2o(nlay+1),rat_h2on2o_1(nlay+1), & rat_h2och4(nlay+1),rat_h2och4_1(nlay+1), & rat_n2oco2(nlay+1),rat_n2oco2_1(nlay+1), & rat_o3co2(nlay+1),rat_o3co2_1(nlay+1) ! Atmosphere/clouds - cldprop integer(kind=im) :: ncbands ! number of cloud spectral bands integer(kind=im) :: inflag ! flag for cloud property method integer(kind=im) :: iceflag ! flag for ice cloud properties integer(kind=im) :: liqflag ! flag for liquid cloud properties real(kind=rb) :: cldfrac(nlay+1) ! layer cloud fraction real(kind=rb) :: tauc(nbndlw,nlay+1) ! in-cloud optical depth ! real(kind=rb) :: ssac(nbndlw,nlay+1) ! in-cloud single scattering albedo ! for future expansion ! (lw scattering not yet available) ! real(kind=rb) :: asmc(nbndlw,nlay+1) ! in-cloud asymmetry parameter ! for future expansion ! (lw scattering not yet available) real(kind=rb) :: ciwp(nlay+1) ! cloud ice water path real(kind=rb) :: clwp(nlay+1) ! cloud liquid water path real(kind=rb) :: rel(nlay+1) ! cloud liquid particle effective radius (microns) real(kind=rb) :: rei(nlay+1) ! cloud ice particle effective size (microns) real(kind=rb) :: taucloud(nlay+1,nbndlw)! layer in-cloud optical depth ! Output real(kind=rb) :: totuflux(0:nlay+1) ! upward longwave flux (w/m2) real(kind=rb) :: totdflux(0:nlay+1) ! downward longwave flux (w/m2) real(kind=rb) :: fnet(0:nlay+1) ! net longwave flux (w/m2) real(kind=rb) :: htr(0:nlay+1) ! longwave heating rate (k/day) real(kind=rb) :: totuclfl(0:nlay+1) ! clear sky upward longwave flux (w/m2) real(kind=rb) :: totdclfl(0:nlay+1) ! clear sky downward longwave flux (w/m2) real(kind=rb) :: fnetc(0:nlay+1) ! clear sky net longwave flux (w/m2) real(kind=rb) :: htrc(0:nlay+1) ! clear sky longwave heating rate (k/day) real(kind=rb) :: dtotuflux_dt(0:nlay+1) ! change in upward longwave flux (w/m2/k) ! with respect to surface temperature real(kind=rb) :: dtotuclfl_dt(0:nlay+1) ! change in clear sky upward longwave flux (w/m2/k) ! with respect to surface temperature ! ! Initializations oneminus = 1._rb - 1.e-6_rb pi = 2._rb*asin(1._rb) fluxfac = pi * 2.e4_rb ! orig: fluxfac = pi * 2.d4 istart = 1 iend = 16 iout = 0 ! Set imca to select calculation type: ! imca = 0, use standard forward model calculation ! imca = 1, use McICA for Monte Carlo treatment of sub-grid cloud variability ! *** This version does not use McICA (imca = 0) *** ! Set default icld to select of clear or cloud calculation and cloud overlap method ! icld = 0, clear only ! icld = 1, with clouds using random cloud overlap ! icld = 2, with clouds using maximum/random cloud overlap ! icld = 3, with clouds using maximum cloud overlap (McICA only) if (icld.lt.0.or.icld.gt.3) icld = 2 ! Set iaer to select aerosol option ! iaer = 0, no aerosols ! icld = 10, input total aerosol optical depth (tauaer) directly iaer = 10 ! Call model and data initialization, compute lookup tables, perform ! reduction of g-points from 256 to 140 for input absorption coefficient ! data and other arrays. ! ! In a GCM this call should be placed in the model initialization ! area, since this has to be called only once. ! call rrtmg_lw_ini(cpdair) ! This is the main longitude/column loop within RRTMG. do iplon = 1, ncol ! Prepare atmospheric profile from GCM for use in RRTMG, and define ! other input parameters. call inatm (iplon, nlay, icld, iaer, & play, plev, tlay, tlev, tsfc, h2ovmr, & o3vmr, co2vmr, ch4vmr, n2ovmr, o2vmr, cfc11vmr, cfc12vmr, & cfc22vmr, ccl4vmr, emis, inflglw, iceflglw, liqflglw, & cldfr, taucld, cicewp, cliqwp, reice, reliq, tauaer, & nlayers, pavel, pz, tavel, tz, tbound, semiss, coldry, & wkl, wbrodl, wx, pwvcm, inflag, iceflag, liqflag, & cldfrac, tauc, ciwp, clwp, rei, rel, taua) ! For cloudy atmosphere, use cldprop to set cloud optical properties based on ! input cloud physical properties. Select method based on choices described ! in cldprop. Cloud fraction, water path, liquid droplet and ice particle ! effective radius must be passed into cldprop. Cloud fraction and cloud ! optical depth are transferred to rrtmg_lw arrays in cldprop. call cldprop(nlayers, inflag, iceflag, liqflag, cldfrac, tauc, & ciwp, clwp, rei, rel, ncbands, taucloud) ! Calculate information needed by the radiative transfer routine ! that is specific to this atmosphere, especially some of the ! coefficients and indices needed to compute the optical depths ! by interpolating data from stored reference atmospheres. call setcoef(nlayers, istart, pavel, tavel, tz, tbound, semiss, & coldry, wkl, wbrodl, & laytrop, jp, jt, jt1, planklay, planklev, plankbnd, & idrv, dplankbnd_dt, & colh2o, colco2, colo3, coln2o, colco, colch4, colo2, & colbrd, fac00, fac01, fac10, fac11, & rat_h2oco2, rat_h2oco2_1, rat_h2oo3, rat_h2oo3_1, & rat_h2on2o, rat_h2on2o_1, rat_h2och4, rat_h2och4_1, & rat_n2oco2, rat_n2oco2_1, rat_o3co2, rat_o3co2_1, & selffac, selffrac, indself, forfac, forfrac, indfor, & minorfrac, scaleminor, scaleminorn2, indminor) ! Calculate the gaseous optical depths and Planck fractions for ! each longwave spectral band. call taumol(nlayers, pavel, wx, coldry, & laytrop, jp, jt, jt1, planklay, planklev, plankbnd, & colh2o, colco2, colo3, coln2o, colco, colch4, colo2, & colbrd, fac00, fac01, fac10, fac11, & rat_h2oco2, rat_h2oco2_1, rat_h2oo3, rat_h2oo3_1, & rat_h2on2o, rat_h2on2o_1, rat_h2och4, rat_h2och4_1, & rat_n2oco2, rat_n2oco2_1, rat_o3co2, rat_o3co2_1, & selffac, selffrac, indself, forfac, forfrac, indfor, & minorfrac, scaleminor, scaleminorn2, indminor, & fracs, taug) ! Combine gaseous and aerosol optical depths, if aerosol active if (iaer .eq. 0) then do k = 1, nlayers do ig = 1, ngptlw taut(k,ig) = taug(k,ig) enddo enddo elseif (iaer .eq. 10) then do k = 1, nlayers do ig = 1, ngptlw taut(k,ig) = taug(k,ig) + taua(k,ngb(ig)) enddo enddo endif ! Call the radiative transfer routine. ! Either routine can be called to do clear sky calculation. If clouds ! are present, then select routine based on cloud overlap assumption ! to be used. Clear sky calculation is done simultaneously. if (icld .eq. 1) then call rtrn(nlayers, istart, iend, iout, pz, semiss, ncbands, & cldfrac, taucloud, planklay, planklev, plankbnd, & pwvcm, fracs, taut, & totuflux, totdflux, fnet, htr, & totuclfl, totdclfl, fnetc, htrc, & idrv, dplankbnd_dt, dtotuflux_dt, dtotuclfl_dt ) else call rtrnmr(nlayers, istart, iend, iout, pz, semiss, ncbands, & cldfrac, taucloud, planklay, planklev, plankbnd, & pwvcm, fracs, taut, & totuflux, totdflux, fnet, htr, & totuclfl, totdclfl, fnetc, htrc, & idrv, dplankbnd_dt, dtotuflux_dt, dtotuclfl_dt ) endif ! Transfer up and down fluxes and heating rate to output arrays. ! Vertical indexing goes from bottom to top; reverse here for GCM if necessary. do k = 0, nlayers uflx(iplon,k+1) = totuflux(k) dflx(iplon,k+1) = totdflux(k) uflxc(iplon,k+1) = totuclfl(k) dflxc(iplon,k+1) = totdclfl(k) enddo do k = 0, nlayers-1 hr(iplon,k+1) = htr(k) hrc(iplon,k+1) = htrc(k) enddo ! If idrv=1 option is active, transfer upward flux derivatives to output arrays. if (idrv .eq. 1) then do k = 0, nlayers duflx_dt(iplon,k+1) = dtotuflux_dt(k) duflxc_dt(iplon,k+1) = dtotuclfl_dt(k) enddo endif ! End longitude/column loop enddo end subroutine rrtmg_lw !*************************************************************************** subroutine inatm (iplon, nlay, icld, iaer, & play, plev, tlay, tlev, tsfc, h2ovmr, & o3vmr, co2vmr, ch4vmr, n2ovmr, o2vmr, cfc11vmr, cfc12vmr, & cfc22vmr, ccl4vmr, emis, inflglw, iceflglw, liqflglw, & cldfr, taucld, cicewp, cliqwp, reice, reliq, tauaer, & nlayers, pavel, pz, tavel, tz, tbound, semiss, coldry, & wkl, wbrodl, wx, pwvcm, inflag, iceflag, liqflag, & cldfrac, tauc, ciwp, clwp, rei, rel, taua) !*************************************************************************** ! ! Input atmospheric profile from GCM, and prepare it for use in RRTMG_LW. ! Set other RRTMG_LW input parameters. ! !*************************************************************************** ! --------- Modules ---------- use parrrtm, only : nbndlw, ngptlw, nmol, maxxsec, mxmol use rrlw_con, only: fluxfac, heatfac, oneminus, pi, grav, avogad use rrlw_wvn, only: ng, nspa, nspb, wavenum1, wavenum2, delwave, ixindx ! ------- Declarations ------- ! ----- Input ----- ! Note: All volume mixing ratios are in dimensionless units of mole fraction obtained ! by scaling mass mixing ratio (g/g) with the appropriate molecular weights (g/mol) integer(kind=im), intent(in) :: iplon ! column loop index integer(kind=im), intent(in) :: nlay ! Number of model layers integer(kind=im), intent(in) :: icld ! clear/cloud and cloud overlap flag integer(kind=im), intent(in) :: iaer ! aerosol option flag real(kind=rb), intent(in) :: play(:,:) ! Layer pressures (hPa, mb) ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: plev(:,:) ! Interface pressures (hPa, mb) ! Dimensions: (ncol,nlay+1) real(kind=rb), intent(in) :: tlay(:,:) ! Layer temperatures (K) ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: tlev(:,:) ! Interface temperatures (K) ! Dimensions: (ncol,nlay+1) real(kind=rb), intent(in) :: tsfc(:) ! Surface temperature (K) ! Dimensions: (ncol) real(kind=rb), intent(in) :: h2ovmr(:,:) ! H2O volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: o3vmr(:,:) ! O3 volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: co2vmr(:,:) ! CO2 volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: ch4vmr(:,:) ! Methane volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: n2ovmr(:,:) ! Nitrous oxide volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: o2vmr(:,:) ! Oxygen volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: cfc11vmr(:,:) ! CFC11 volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: cfc12vmr(:,:) ! CFC12 volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: cfc22vmr(:,:) ! CFC22 volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: ccl4vmr(:,:) ! CCL4 volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: emis(:,:) ! Surface emissivity ! Dimensions: (ncol,nbndlw) integer(kind=im), intent(in) :: inflglw ! Flag for cloud optical properties integer(kind=im), intent(in) :: iceflglw ! Flag for ice particle specification integer(kind=im), intent(in) :: liqflglw ! Flag for liquid droplet specification real(kind=rb), intent(in) :: cldfr(:,:) ! Cloud fraction ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: cicewp(:,:) ! Cloud ice water path (g/m2) ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: cliqwp(:,:) ! Cloud liquid water path (g/m2) ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: reice(:,:) ! Cloud ice effective size (microns) ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: reliq(:,:) ! Cloud water drop effective radius (microns) ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: taucld(:,:,:) ! In-cloud optical depth ! Dimensions: (nbndlw,ncol,nlay) real(kind=rb), intent(in) :: tauaer(:,:,:) ! Aerosol optical depth ! Dimensions: (ncol,nlay,nbndlw) ! ----- Output ----- ! Atmosphere integer(kind=im), intent(out) :: nlayers ! number of layers real(kind=rb), intent(out) :: pavel(:) ! layer pressures (mb) ! Dimensions: (nlay) real(kind=rb), intent(out) :: tavel(:) ! layer temperatures (K) ! Dimensions: (nlay) real(kind=rb), intent(out) :: pz(0:) ! level (interface) pressures (hPa, mb) ! Dimensions: (0:nlay) real(kind=rb), intent(out) :: tz(0:) ! level (interface) temperatures (K) ! Dimensions: (0:nlay) real(kind=rb), intent(out) :: tbound ! surface temperature (K) real(kind=rb), intent(out) :: coldry(:) ! dry air column density (mol/cm2) ! Dimensions: (nlay) real(kind=rb), intent(out) :: wbrodl(:) ! broadening gas column density (mol/cm2) ! Dimensions: (nlay) real(kind=rb), intent(out) :: wkl(:,:) ! molecular amounts (mol/cm-2) ! Dimensions: (mxmol,nlay) real(kind=rb), intent(out) :: wx(:,:) ! cross-section amounts (mol/cm-2) ! Dimensions: (maxxsec,nlay) real(kind=rb), intent(out) :: pwvcm ! precipitable water vapor (cm) real(kind=rb), intent(out) :: semiss(:) ! lw surface emissivity ! Dimensions: (nbndlw) ! Atmosphere/clouds - cldprop integer(kind=im), intent(out) :: inflag ! flag for cloud property method integer(kind=im), intent(out) :: iceflag ! flag for ice cloud properties integer(kind=im), intent(out) :: liqflag ! flag for liquid cloud properties real(kind=rb), intent(out) :: cldfrac(:) ! layer cloud fraction ! Dimensions: (nlay) real(kind=rb), intent(out) :: ciwp(:) ! cloud ice water path ! Dimensions: (nlay) real(kind=rb), intent(out) :: clwp(:) ! cloud liquid water path ! Dimensions: (nlay) real(kind=rb), intent(out) :: rel(:) ! cloud liquid particle effective radius (microns) ! Dimensions: (nlay) real(kind=rb), intent(out) :: rei(:) ! cloud ice particle effective size (microns) ! Dimensions: (nlay) real(kind=rb), intent(out) :: tauc(:,:) ! in-cloud optical depth ! Dimensions: (nbndlw,nlay) real(kind=rb), intent(out) :: taua(:,:) ! aerosol optical depth ! Dimensions: (nlay,nbndlw) ! ----- Local ----- real(kind=rb), parameter :: amd = 28.9660_rb ! Effective molecular weight of dry air (g/mol) real(kind=rb), parameter :: amw = 18.0160_rb ! Molecular weight of water vapor (g/mol) ! real(kind=rb), parameter :: amc = 44.0098_rb ! Molecular weight of carbon dioxide (g/mol) ! real(kind=rb), parameter :: amo = 47.9998_rb ! Molecular weight of ozone (g/mol) ! real(kind=rb), parameter :: amo2 = 31.9999_rb ! Molecular weight of oxygen (g/mol) ! real(kind=rb), parameter :: amch4 = 16.0430_rb ! Molecular weight of methane (g/mol) ! real(kind=rb), parameter :: amn2o = 44.0128_rb ! Molecular weight of nitrous oxide (g/mol) ! real(kind=rb), parameter :: amc11 = 137.3684_rb ! Molecular weight of CFC11 (g/mol) - CCL3F ! real(kind=rb), parameter :: amc12 = 120.9138_rb ! Molecular weight of CFC12 (g/mol) - CCL2F2 ! real(kind=rb), parameter :: amc22 = 86.4688_rb ! Molecular weight of CFC22 (g/mol) - CHCLF2 ! real(kind=rb), parameter :: amcl4 = 153.823_rb ! Molecular weight of CCL4 (g/mol) - CCL4 ! Set molecular weight ratios (for converting mmr to vmr) ! e.g. h2ovmr = h2ommr * amdw) real(kind=rb), parameter :: amdw = 1.607793_rb ! Molecular weight of dry air / water vapor real(kind=rb), parameter :: amdc = 0.658114_rb ! Molecular weight of dry air / carbon dioxide real(kind=rb), parameter :: amdo = 0.603428_rb ! Molecular weight of dry air / ozone real(kind=rb), parameter :: amdm = 1.805423_rb ! Molecular weight of dry air / methane real(kind=rb), parameter :: amdn = 0.658090_rb ! Molecular weight of dry air / nitrous oxide real(kind=rb), parameter :: amdo2 = 0.905140_rb ! Molecular weight of dry air / oxygen real(kind=rb), parameter :: amdc1 = 0.210852_rb ! Molecular weight of dry air / CFC11 real(kind=rb), parameter :: amdc2 = 0.239546_rb ! Molecular weight of dry air / CFC12 integer(kind=im) :: isp, l, ix, n, imol, ib ! Loop indices real(kind=rb) :: amm, amttl, wvttl, wvsh, summol ! Add one to nlayers here to include extra model layer at top of atmosphere nlayers = nlay ! Initialize all molecular amounts and cloud properties to zero here, then pass input amounts ! into RRTM arrays below. wkl(:,:) = 0.0_rb wx(:,:) = 0.0_rb cldfrac(:) = 0.0_rb tauc(:,:) = 0.0_rb ciwp(:) = 0.0_rb clwp(:) = 0.0_rb rei(:) = 0.0_rb rel(:) = 0.0_rb taua(:,:) = 0.0_rb amttl = 0.0_rb wvttl = 0.0_rb ! Set surface temperature. tbound = tsfc(iplon) ! Install input GCM arrays into RRTMG_LW arrays for pressure, temperature, ! and molecular amounts. ! Pressures are input in mb, or are converted to mb here. ! Molecular amounts are input in volume mixing ratio, or are converted from ! mass mixing ratio (or specific humidity for h2o) to volume mixing ratio ! here. These are then converted to molecular amount (molec/cm2) below. ! The dry air column COLDRY (in molec/cm2) is calculated from the level ! pressures, pz (in mb), based on the hydrostatic equation and includes a ! correction to account for h2o in the layer. The molecular weight of moist ! air (amm) is calculated for each layer. ! Note: In RRTMG, layer indexing goes from bottom to top, and coding below ! assumes GCM input fields are also bottom to top. Input layer indexing ! from GCM fields should be reversed here if necessary. pz(0) = plev(iplon,1) tz(0) = tlev(iplon,1) do l = 1, nlayers pavel(l) = play(iplon,l) tavel(l) = tlay(iplon,l) pz(l) = plev(iplon,l+1) tz(l) = tlev(iplon,l+1) ! For h2o input in vmr: wkl(1,l) = h2ovmr(iplon,l) ! For h2o input in mmr: ! wkl(1,l) = h2o(iplon,l)*amdw ! For h2o input in specific humidity; ! wkl(1,l) = (h2o(iplon,l)/(1._rb - h2o(iplon,l)))*amdw wkl(2,l) = co2vmr(iplon,l) wkl(3,l) = o3vmr(iplon,l) wkl(4,l) = n2ovmr(iplon,l) wkl(6,l) = ch4vmr(iplon,l) wkl(7,l) = o2vmr(iplon,l) amm = (1._rb - wkl(1,l)) * amd + wkl(1,l) * amw coldry(l) = (pz(l-1)-pz(l)) * 1.e3_rb * avogad / & (1.e2_rb * grav * amm * (1._rb + wkl(1,l))) enddo ! Set cross section molecule amounts from input; convert to vmr if necessary do l=1, nlayers wx(1,l) = ccl4vmr(iplon,l) wx(2,l) = cfc11vmr(iplon,l) wx(3,l) = cfc12vmr(iplon,l) wx(4,l) = cfc22vmr(iplon,l) enddo ! The following section can be used to set values for an additional layer (from ! the GCM top level to 1.e-4 mb) for improved calculation of TOA fluxes. ! Temperature and molecular amounts in the extra model layer are set to ! their values in the top GCM model layer, though these can be modified ! here if necessary. ! If this feature is utilized, increase nlayers by one above, limit the two ! loops above to (nlayers-1), and set the top most (extra) layer values here. ! pavel(nlayers) = 0.5_rb * pz(nlayers-1) ! tavel(nlayers) = tavel(nlayers-1) ! pz(nlayers) = 1.e-4_rb ! tz(nlayers-1) = 0.5_rb * (tavel(nlayers)+tavel(nlayers-1)) ! tz(nlayers) = tz(nlayers-1) ! wkl(1,nlayers) = wkl(1,nlayers-1) ! wkl(2,nlayers) = wkl(2,nlayers-1) ! wkl(3,nlayers) = wkl(3,nlayers-1) ! wkl(4,nlayers) = wkl(4,nlayers-1) ! wkl(6,nlayers) = wkl(6,nlayers-1) ! wkl(7,nlayers) = wkl(7,nlayers-1) ! amm = (1._rb - wkl(1,nlayers-1)) * amd + wkl(1,nlayers-1) * amw ! coldry(nlayers) = (pz(nlayers-1)) * 1.e3_rb * avogad / & ! (1.e2_rb * grav * amm * (1._rb + wkl(1,nlayers-1))) ! wx(1,nlayers) = wx(1,nlayers-1) ! wx(2,nlayers) = wx(2,nlayers-1) ! wx(3,nlayers) = wx(3,nlayers-1) ! wx(4,nlayers) = wx(4,nlayers-1) ! At this point all moleculular amounts in wkl and wx are in volume mixing ratio; ! convert to molec/cm2 based on coldry for use in rrtm. also, compute precipitable ! water vapor for diffusivity angle adjustments in rtrn and rtrnmr. do l = 1, nlayers summol = 0.0_rb do imol = 2, nmol summol = summol + wkl(imol,l) enddo wbrodl(l) = coldry(l) * (1._rb - summol) do imol = 1, nmol wkl(imol,l) = coldry(l) * wkl(imol,l) enddo amttl = amttl + coldry(l)+wkl(1,l) wvttl = wvttl + wkl(1,l) do ix = 1,maxxsec if (ixindx(ix) .ne. 0) then wx(ixindx(ix),l) = coldry(l) * wx(ix,l) * 1.e-20_rb endif enddo enddo wvsh = (amw * wvttl) / (amd * amttl) pwvcm = wvsh * (1.e3_rb * pz(0)) / (1.e2_rb * grav) ! Set spectral surface emissivity for each longwave band. do n=1,nbndlw semiss(n) = emis(iplon,n) ! semiss(n) = 1.0_rb enddo ! Transfer aerosol optical properties to RRTM variable; ! modify to reverse layer indexing here if necessary. if (iaer .ge. 1) then do l = 1, nlayers do ib = 1, nbndlw taua(l,ib) = tauaer(iplon,l,ib) enddo enddo endif ! Transfer cloud fraction and cloud optical properties to RRTM variables, ! modify to reverse layer indexing here if necessary. if (icld .ge. 1) then inflag = inflglw iceflag = iceflglw liqflag = liqflglw ! Move incoming GCM cloud arrays to RRTMG cloud arrays. ! For GCM input, incoming reice is defined based on selected ice parameterization (inflglw) do l = 1, nlayers cldfrac(l) = cldfr(iplon,l) ciwp(l) = cicewp(iplon,l) clwp(l) = cliqwp(iplon,l) rei(l) = reice(iplon,l) rel(l) = reliq(iplon,l) do n=1,nbndlw tauc(n,l) = taucld(n,iplon,l) ! ssac(n,l) = ssacld(n,iplon,l) ! asmc(n,l) = asmcld(n,iplon,l) enddo enddo ! If an extra layer is being used in RRTMG, set all cloud properties to zero in the extra layer. ! cldfrac(nlayers) = 0.0_rb ! tauc(:nbndlw,nlayers) = 0.0_rb ! ciwp(nlayers) = 0.0_rb ! clwp(nlayers) = 0.0_rb ! rei(nlayers) = 0.0_rb ! rel(nlayers) = 0.0_rb ! taua(nlayers,:) = 0.0_rb endif end subroutine inatm end module rrtmg_lw_rad ================================================ FILE: GeosRad/rrtmg_lw_rtrnmc.F90 ================================================ ! path: $Source: /storm/rc1/cvsroot/rc/rrtmg_lw/src/rrtmg_lw_rtrnmc.f90,v $ ! author: $Author: mike $ ! revision: $Revision: 1.7 $ ! created: $Date: 2009/11/12 20:52:25 $ ! module rrtmg_lw_rtrnmc ! -------------------------------------------------------------------------- ! | | ! | Copyright 2002-2009, Atmospheric & Environmental Research, Inc. (AER). | ! | This software may be used, copied, or redistributed as long as it is | ! | not sold and this copyright notice is reproduced on each copy made. | ! | This model is provided as is without any express or implied warranties. | ! | (http://www.rtweb.aer.com/) | ! | | ! -------------------------------------------------------------------------- ! --------- Modules ---------- use parkind, only : im => kind_im, rb => kind_rb use parrrtm, only : mg, nbndlw, ngptlw use rrlw_con, only: fluxfac, heatfac use rrlw_wvn, only: delwave, ngb, ngs use rrlw_tbl, only: tblint, bpade, tau_tbl, exp_tbl, tfn_tbl use rrlw_vsn, only: hvrrtc, hnamrtc implicit none contains !----------------------------------------------------------------------------- subroutine rtrnmc(nlayers, istart, iend, iout, pz, semiss, ncbands, & cldfmc, taucmc, planklay, planklev, plankbnd, & pwvcm, fracs, taut, & totuflux, totdflux, fnet, htr, & totuclfl, totdclfl, fnetc, htrc, & idrv, dplankbnd_dt, dtotuflux_dt, dtotuclfl_dt ) !----------------------------------------------------------------------------- ! ! Original version: E. J. Mlawer, et al. RRTM_V3.0 ! Revision for GCMs: Michael J. Iacono; October, 2002 ! Revision for F90: Michael J. Iacono; June, 2006 ! Revision for dFdT option: M. J. Iacono and E. J. Mlawer, November 2009 ! ! This program calculates the upward fluxes, downward fluxes, and ! heating rates for an arbitrary clear or cloudy atmosphere. The input ! to this program is the atmospheric profile, all Planck function ! information, and the cloud fraction by layer. A variable diffusivity ! angle (SECDIFF) is used for the angle integration. Bands 2-3 and 5-9 ! use a value for SECDIFF that varies from 1.50 to 1.80 as a function of ! the column water vapor, and other bands use a value of 1.66. The Gaussian ! weight appropriate to this angle (WTDIFF=0.5) is applied here. Note that ! use of the emissivity angle for the flux integration can cause errors of ! 1 to 4 W/m2 within cloudy layers. ! Clouds are treated with the McICA stochastic approach and maximum-random ! cloud overlap. ! This subroutine also provides the optional capability to calculate ! the derivative of upward flux respect to surface temperature using ! the pre-tabulated derivative of the Planck function with respect to ! temperature integrated over each spectral band. !*************************************************************************** ! ------- Declarations ------- ! ----- Input ----- integer(kind=im), intent(in) :: nlayers ! total number of layers integer(kind=im), intent(in) :: istart ! beginning band of calculation integer(kind=im), intent(in) :: iend ! ending band of calculation integer(kind=im), intent(in) :: iout ! output option flag ! Atmosphere real(kind=rb), intent(in) :: pz(0:) ! level (interface) pressures (hPa, mb) ! Dimensions: (0:nlayers) real(kind=rb), intent(in) :: pwvcm ! precipitable water vapor (cm) real(kind=rb), intent(in) :: semiss(:) ! lw surface emissivity ! Dimensions: (nbndlw) real(kind=rb), intent(in) :: planklay(:,:) ! ! Dimensions: (nlayers,nbndlw) real(kind=rb), intent(in) :: planklev(0:,:) ! ! Dimensions: (0:nlayers,nbndlw) real(kind=rb), intent(in) :: plankbnd(:) ! ! Dimensions: (nbndlw) real(kind=rb), intent(in) :: fracs(:,:) ! ! Dimensions: (nlayers,ngptw) real(kind=rb), intent(in) :: taut(:,:) ! gaseous + aerosol optical depths ! Dimensions: (nlayers,ngptlw) ! Clouds integer(kind=im), intent(in) :: ncbands ! number of cloud spectral bands real(kind=rb), intent(in) :: cldfmc(:,:) ! layer cloud fraction [mcica] ! Dimensions: (ngptlw,nlayers) real(kind=rb), intent(in) :: taucmc(:,:) ! layer cloud optical depth [mcica] ! Dimensions: (ngptlw,nlayers) integer(kind=im), intent(in) :: idrv ! flag for calculation of dF/dt from ! Planck derivative [0=off, 1=on] real(kind=rb), intent(in) :: dplankbnd_dt(:) ! derivative of Planck function wrt temp ! Dimensions: (nbndlw) ! ----- Output ----- real(kind=rb), intent(out) :: totuflux(0:) ! upward longwave flux (w/m2) ! Dimensions: (0:nlayers) real(kind=rb), intent(out) :: totdflux(0:) ! downward longwave flux (w/m2) ! Dimensions: (0:nlayers) real(kind=rb), intent(out) :: fnet(0:) ! net longwave flux (w/m2) ! Dimensions: (0:nlayers) real(kind=rb), intent(out) :: htr(0:) ! longwave heating rate (k/day) ! Dimensions: (0:nlayers) real(kind=rb), intent(out) :: totuclfl(0:) ! clear sky upward longwave flux (w/m2) ! Dimensions: (0:nlayers) real(kind=rb), intent(out) :: totdclfl(0:) ! clear sky downward longwave flux (w/m2) ! Dimensions: (0:nlayers) real(kind=rb), intent(out) :: fnetc(0:) ! clear sky net longwave flux (w/m2) ! Dimensions: (0:nlayers) real(kind=rb), intent(out) :: htrc(0:) ! clear sky longwave heating rate (k/day) ! Dimensions: (0:nlayers) real(kind=rb), intent(out) :: dtotuflux_dt(0:) ! change in upward longwave flux (w/m2/k) ! with respect to surface temperature ! Dimensions: (0:nlayers) real(kind=rb), intent(out) :: dtotuclfl_dt(0:) ! change in upward longwave flux (w/m2/k) ! with respect to surface temperature ! Dimensions: (0:nlayers) ! ----- Local ----- ! Declarations for radiative transfer real(kind=rb) :: abscld(nlayers,ngptlw) real(kind=rb) :: atot(nlayers) real(kind=rb) :: atrans(nlayers) real(kind=rb) :: bbugas(nlayers) real(kind=rb) :: bbutot(nlayers) real(kind=rb) :: clrurad(0:nlayers) real(kind=rb) :: clrdrad(0:nlayers) real(kind=rb) :: efclfrac(nlayers,ngptlw) real(kind=rb) :: uflux(0:nlayers) real(kind=rb) :: dflux(0:nlayers) real(kind=rb) :: urad(0:nlayers) real(kind=rb) :: drad(0:nlayers) real(kind=rb) :: uclfl(0:nlayers) real(kind=rb) :: dclfl(0:nlayers) real(kind=rb) :: odcld(nlayers,ngptlw) real(kind=rb) :: secdiff(nbndlw) ! secant of diffusivity angle real(kind=rb) :: a0(nbndlw),a1(nbndlw),a2(nbndlw)! diffusivity angle adjustment coefficients real(kind=rb) :: wtdiff, rec_6 real(kind=rb) :: transcld, radld, radclrd, plfrac, blay, dplankup, dplankdn real(kind=rb) :: odepth, odtot, odepth_rec, odtot_rec, gassrc real(kind=rb) :: tblind, tfactot, bbd, bbdtot, tfacgas, transc, tausfac real(kind=rb) :: rad0, reflect, radlu, radclru real(kind=rb) :: duflux_dt(0:nlayers) real(kind=rb) :: duclfl_dt(0:nlayers) real(kind=rb) :: d_urad_dt(0:nlayers) real(kind=rb) :: d_clrurad_dt(0:nlayers) real(kind=rb) :: d_rad0_dt, d_radlu_dt, d_radclru_dt integer(kind=im) :: icldlyr(nlayers) ! flag for cloud in layer integer(kind=im) :: ibnd, ib, iband, lay, lev, l, ig ! loop indices integer(kind=im) :: igc ! g-point interval counter integer(kind=im) :: iclddn ! flag for cloud in down path integer(kind=im) :: ittot, itgas, itr ! lookup table indices ! ------- Definitions ------- ! input ! nlayers ! number of model layers ! ngptlw ! total number of g-point subintervals ! nbndlw ! number of longwave spectral bands ! ncbands ! number of spectral bands for clouds ! secdiff ! diffusivity angle ! wtdiff ! weight for radiance to flux conversion ! pavel ! layer pressures (mb) ! pz ! level (interface) pressures (mb) ! tavel ! layer temperatures (k) ! tz ! level (interface) temperatures(mb) ! tbound ! surface temperature (k) ! cldfrac ! layer cloud fraction ! taucloud ! layer cloud optical depth ! itr ! integer look-up table index ! icldlyr ! flag for cloudy layers ! iclddn ! flag for cloud in column at any layer ! semiss ! surface emissivities for each band ! reflect ! surface reflectance ! bpade ! 1/(pade constant) ! tau_tbl ! clear sky optical depth look-up table ! exp_tbl ! exponential look-up table for transmittance ! tfn_tbl ! tau transition function look-up table ! local ! atrans ! gaseous absorptivity ! abscld ! cloud absorptivity ! atot ! combined gaseous and cloud absorptivity ! odclr ! clear sky (gaseous) optical depth ! odcld ! cloud optical depth ! odtot ! optical depth of gas and cloud ! tfacgas ! gas-only pade factor, used for planck fn ! tfactot ! gas and cloud pade factor, used for planck fn ! bbdgas ! gas-only planck function for downward rt ! bbugas ! gas-only planck function for upward rt ! bbdtot ! gas and cloud planck function for downward rt ! bbutot ! gas and cloud planck function for upward calc. ! gassrc ! source radiance due to gas only ! efclfrac ! effective cloud fraction ! radlu ! spectrally summed upward radiance ! radclru ! spectrally summed clear sky upward radiance ! urad ! upward radiance by layer ! clrurad ! clear sky upward radiance by layer ! radld ! spectrally summed downward radiance ! radclrd ! spectrally summed clear sky downward radiance ! drad ! downward radiance by layer ! clrdrad ! clear sky downward radiance by layer ! d_radlu_dt ! spectrally summed upward radiance ! d_radclru_dt ! spectrally summed clear sky upward radiance ! d_urad_dt ! upward radiance by layer ! d_clrurad_dt ! clear sky upward radiance by layer ! output ! totuflux ! upward longwave flux (w/m2) ! totdflux ! downward longwave flux (w/m2) ! fnet ! net longwave flux (w/m2) ! htr ! longwave heating rate (k/day) ! totuclfl ! clear sky upward longwave flux (w/m2) ! totdclfl ! clear sky downward longwave flux (w/m2) ! fnetc ! clear sky net longwave flux (w/m2) ! htrc ! clear sky longwave heating rate (k/day) ! dtotuflux_dt ! change in upward longwave flux (w/m2/k) ! ! with respect to surface temperature ! dtotuclfl_dt ! change in clear sky upward longwave flux (w/m2/k) ! ! with respect to surface temperature ! This secant and weight corresponds to the standard diffusivity ! angle. This initial value is redefined below for some bands. data wtdiff /0.5_rb/ data rec_6 /0.166667_rb/ ! Reset diffusivity angle for Bands 2-3 and 5-9 to vary (between 1.50 ! and 1.80) as a function of total column water vapor. The function ! has been defined to minimize flux and cooling rate errors in these bands ! over a wide range of precipitable water values. data a0 / 1.66_rb, 1.55_rb, 1.58_rb, 1.66_rb, & 1.54_rb, 1.454_rb, 1.89_rb, 1.33_rb, & 1.668_rb, 1.66_rb, 1.66_rb, 1.66_rb, & 1.66_rb, 1.66_rb, 1.66_rb, 1.66_rb / data a1 / 0.00_rb, 0.25_rb, 0.22_rb, 0.00_rb, & 0.13_rb, 0.446_rb, -0.10_rb, 0.40_rb, & -0.006_rb, 0.00_rb, 0.00_rb, 0.00_rb, & 0.00_rb, 0.00_rb, 0.00_rb, 0.00_rb / data a2 / 0.00_rb, -12.0_rb, -11.7_rb, 0.00_rb, & -0.72_rb,-0.243_rb, 0.19_rb,-0.062_rb, & 0.414_rb, 0.00_rb, 0.00_rb, 0.00_rb, & 0.00_rb, 0.00_rb, 0.00_rb, 0.00_rb / hvrrtc = '$Revision: 1.7 $' do ibnd = 1,nbndlw if (ibnd.eq.1 .or. ibnd.eq.4 .or. ibnd.ge.10) then secdiff(ibnd) = 1.66_rb else secdiff(ibnd) = a0(ibnd) + a1(ibnd)*exp(a2(ibnd)*pwvcm) if (secdiff(ibnd) .gt. 1.80_rb) secdiff(ibnd) = 1.80_rb if (secdiff(ibnd) .lt. 1.50_rb) secdiff(ibnd) = 1.50_rb endif enddo urad(0) = 0.0_rb drad(0) = 0.0_rb totuflux(0) = 0.0_rb totdflux(0) = 0.0_rb clrurad(0) = 0.0_rb clrdrad(0) = 0.0_rb totuclfl(0) = 0.0_rb totdclfl(0) = 0.0_rb if (idrv .eq. 1) then d_urad_dt(0) = 0.0_rb d_clrurad_dt(0) = 0.0_rb dtotuflux_dt(0) = 0.0_rb dtotuclfl_dt(0) = 0.0_rb endif do lay = 1, nlayers urad(lay) = 0.0_rb drad(lay) = 0.0_rb totuflux(lay) = 0.0_rb totdflux(lay) = 0.0_rb clrurad(lay) = 0.0_rb clrdrad(lay) = 0.0_rb totuclfl(lay) = 0.0_rb totdclfl(lay) = 0.0_rb icldlyr(lay) = 0 if (idrv .eq. 1) then d_urad_dt(lay) = 0.0_rb d_clrurad_dt(lay) = 0.0_rb dtotuflux_dt(lay) = 0.0_rb dtotuclfl_dt(lay) = 0.0_rb endif ! Change to band loop? do ig = 1, ngptlw if (cldfmc(ig,lay) .eq. 1._rb) then ib = ngb(ig) odcld(lay,ig) = secdiff(ib) * taucmc(ig,lay) transcld = exp(-odcld(lay,ig)) abscld(lay,ig) = 1._rb - transcld efclfrac(lay,ig) = abscld(lay,ig) * cldfmc(ig,lay) icldlyr(lay) = 1 else odcld(lay,ig) = 0.0_rb abscld(lay,ig) = 0.0_rb efclfrac(lay,ig) = 0.0_rb endif enddo enddo igc = 1 ! Loop over frequency bands. do iband = istart, iend ! Reinitialize g-point counter for each band if output for each band is requested. if (iout.gt.0.and.iband.ge.2) igc = ngs(iband-1)+1 ! Loop over g-channels. 1000 continue ! Radiative transfer starts here. radld = 0._rb radclrd = 0._rb iclddn = 0 ! Downward radiative transfer loop. do lev = nlayers, 1, -1 plfrac = fracs(lev,igc) blay = planklay(lev,iband) dplankup = planklev(lev,iband) - blay dplankdn = planklev(lev-1,iband) - blay odepth = secdiff(iband) * taut(lev,igc) if (odepth .lt. 0.0_rb) odepth = 0.0_rb ! Cloudy layer if (icldlyr(lev).eq.1) then iclddn = 1 odtot = odepth + odcld(lev,igc) if (odtot .lt. 0.06_rb) then atrans(lev) = odepth - 0.5_rb*odepth*odepth odepth_rec = rec_6*odepth gassrc = plfrac*(blay+dplankdn*odepth_rec)*atrans(lev) atot(lev) = odtot - 0.5_rb*odtot*odtot odtot_rec = rec_6*odtot bbdtot = plfrac * (blay+dplankdn*odtot_rec) bbd = plfrac*(blay+dplankdn*odepth_rec) radld = radld - radld * (atrans(lev) + & efclfrac(lev,igc) * (1. - atrans(lev))) + & gassrc + cldfmc(igc,lev) * & (bbdtot * atot(lev) - gassrc) drad(lev-1) = drad(lev-1) + radld bbugas(lev) = plfrac * (blay+dplankup*odepth_rec) bbutot(lev) = plfrac * (blay+dplankup*odtot_rec) elseif (odepth .le. 0.06_rb) then atrans(lev) = odepth - 0.5_rb*odepth*odepth odepth_rec = rec_6*odepth gassrc = plfrac*(blay+dplankdn*odepth_rec)*atrans(lev) odtot = odepth + odcld(lev,igc) tblind = odtot/(bpade+odtot) ittot = tblint*tblind + 0.5_rb tfactot = tfn_tbl(ittot) bbdtot = plfrac * (blay + tfactot*dplankdn) bbd = plfrac*(blay+dplankdn*odepth_rec) atot(lev) = 1. - exp_tbl(ittot) radld = radld - radld * (atrans(lev) + & efclfrac(lev,igc) * (1._rb - atrans(lev))) + & gassrc + cldfmc(igc,lev) * & (bbdtot * atot(lev) - gassrc) drad(lev-1) = drad(lev-1) + radld bbugas(lev) = plfrac * (blay + dplankup*odepth_rec) bbutot(lev) = plfrac * (blay + tfactot * dplankup) else tblind = odepth/(bpade+odepth) itgas = tblint*tblind+0.5_rb odepth = tau_tbl(itgas) atrans(lev) = 1._rb - exp_tbl(itgas) tfacgas = tfn_tbl(itgas) gassrc = atrans(lev) * plfrac * (blay + tfacgas*dplankdn) odtot = odepth + odcld(lev,igc) tblind = odtot/(bpade+odtot) ittot = tblint*tblind + 0.5_rb tfactot = tfn_tbl(ittot) bbdtot = plfrac * (blay + tfactot*dplankdn) bbd = plfrac*(blay+tfacgas*dplankdn) atot(lev) = 1._rb - exp_tbl(ittot) radld = radld - radld * (atrans(lev) + & efclfrac(lev,igc) * (1._rb - atrans(lev))) + & gassrc + cldfmc(igc,lev) * & (bbdtot * atot(lev) - gassrc) drad(lev-1) = drad(lev-1) + radld bbugas(lev) = plfrac * (blay + tfacgas * dplankup) bbutot(lev) = plfrac * (blay + tfactot * dplankup) endif ! Clear layer else if (odepth .le. 0.06_rb) then atrans(lev) = odepth-0.5_rb*odepth*odepth odepth = rec_6*odepth bbd = plfrac*(blay+dplankdn*odepth) bbugas(lev) = plfrac*(blay+dplankup*odepth) else tblind = odepth/(bpade+odepth) itr = tblint*tblind+0.5_rb transc = exp_tbl(itr) atrans(lev) = 1._rb-transc tausfac = tfn_tbl(itr) bbd = plfrac*(blay+tausfac*dplankdn) bbugas(lev) = plfrac * (blay + tausfac * dplankup) endif radld = radld + (bbd-radld)*atrans(lev) drad(lev-1) = drad(lev-1) + radld endif ! Set clear sky stream to total sky stream as long as layers ! remain clear. Streams diverge when a cloud is reached (iclddn=1), ! and clear sky stream must be computed separately from that point. if (iclddn.eq.1) then radclrd = radclrd + (bbd-radclrd) * atrans(lev) clrdrad(lev-1) = clrdrad(lev-1) + radclrd else radclrd = radld clrdrad(lev-1) = drad(lev-1) endif enddo ! Spectral emissivity & reflectance ! Include the contribution of spectrally varying longwave emissivity ! and reflection from the surface to the upward radiative transfer. ! Note: Spectral and Lambertian reflection are identical for the ! diffusivity angle flux integration used here. ! Note: The emissivity is applied to plankbnd and dplankbnd_dt when ! they are defined in subroutine setcoef. rad0 = fracs(1,igc) * plankbnd(iband) if (idrv .eq. 1) then d_rad0_dt = fracs(1,igc) * dplankbnd_dt(iband) endif ! Add in specular reflection of surface downward radiance. reflect = 1._rb - semiss(iband) radlu = rad0 + reflect * radld radclru = rad0 + reflect * radclrd ! Upward radiative transfer loop. urad(0) = urad(0) + radlu clrurad(0) = clrurad(0) + radclru if (idrv .eq. 1) then d_radlu_dt = d_rad0_dt d_urad_dt(0) = d_urad_dt(0) + d_radlu_dt d_radclru_dt = d_rad0_dt d_clrurad_dt(0) = d_clrurad_dt(0) + d_radclru_dt endif do lev = 1, nlayers ! Cloudy layer if (icldlyr(lev) .eq. 1) then gassrc = bbugas(lev) * atrans(lev) radlu = radlu - radlu * (atrans(lev) + & efclfrac(lev,igc) * (1._rb - atrans(lev))) + & gassrc + cldfmc(igc,lev) * & (bbutot(lev) * atot(lev) - gassrc) urad(lev) = urad(lev) + radlu if (idrv .eq. 1) then d_radlu_dt = d_radlu_dt * cldfmc(igc,lev) * (1.0_rb - atot(lev)) + & d_radlu_dt * (1.0_rb - cldfmc(igc,lev)) * (1.0_rb - atrans(lev)) d_urad_dt(lev) = d_urad_dt(lev) + d_radlu_dt endif ! Clear layer else radlu = radlu + (bbugas(lev)-radlu)*atrans(lev) urad(lev) = urad(lev) + radlu if (idrv .eq. 1) then d_radlu_dt = d_radlu_dt * (1.0_rb - atrans(lev)) d_urad_dt(lev) = d_urad_dt(lev) + d_radlu_dt endif endif ! Set clear sky stream to total sky stream as long as all layers ! are clear (iclddn=0). Streams must be calculated separately at ! all layers when a cloud is present (ICLDDN=1), because surface ! reflectance is different for each stream. if (iclddn.eq.1) then radclru = radclru + (bbugas(lev)-radclru)*atrans(lev) clrurad(lev) = clrurad(lev) + radclru else radclru = radlu clrurad(lev) = urad(lev) endif if (idrv .eq. 1) then if (iclddn.eq.1) then d_radclru_dt = d_radclru_dt * (1.0_rb - atrans(lev)) d_clrurad_dt(lev) = d_clrurad_dt(lev) + d_radclru_dt else d_radclru_dt = d_radlu_dt d_clrurad_dt(lev) = d_urad_dt(lev) endif endif enddo ! Increment g-point counter igc = igc + 1 ! Return to continue radiative transfer for all g-channels in present band if (igc .le. ngs(iband)) go to 1000 ! Process longwave output from band for total and clear streams. ! Calculate upward, downward, and net flux. do lev = nlayers, 0, -1 uflux(lev) = urad(lev)*wtdiff dflux(lev) = drad(lev)*wtdiff urad(lev) = 0.0_rb drad(lev) = 0.0_rb totuflux(lev) = totuflux(lev) + uflux(lev) * delwave(iband) totdflux(lev) = totdflux(lev) + dflux(lev) * delwave(iband) uclfl(lev) = clrurad(lev)*wtdiff dclfl(lev) = clrdrad(lev)*wtdiff clrurad(lev) = 0.0_rb clrdrad(lev) = 0.0_rb totuclfl(lev) = totuclfl(lev) + uclfl(lev) * delwave(iband) totdclfl(lev) = totdclfl(lev) + dclfl(lev) * delwave(iband) enddo ! Calculate total change in upward flux wrt surface temperature if (idrv .eq. 1) then do lev = nlayers, 0, -1 duflux_dt(lev) = d_urad_dt(lev) * wtdiff d_urad_dt(lev) = 0.0_rb dtotuflux_dt(lev) = dtotuflux_dt(lev) + duflux_dt(lev) * delwave(iband) * fluxfac duclfl_dt(lev) = d_clrurad_dt(lev) * wtdiff d_clrurad_dt(lev) = 0.0_rb dtotuclfl_dt(lev) = dtotuclfl_dt(lev) + duclfl_dt(lev) * delwave(iband) * fluxfac enddo endif ! End spectral band loop enddo ! Calculate fluxes at surface totuflux(0) = totuflux(0) * fluxfac totdflux(0) = totdflux(0) * fluxfac fnet(0) = totuflux(0) - totdflux(0) totuclfl(0) = totuclfl(0) * fluxfac totdclfl(0) = totdclfl(0) * fluxfac fnetc(0) = totuclfl(0) - totdclfl(0) ! Calculate fluxes at model levels do lev = 1, nlayers totuflux(lev) = totuflux(lev) * fluxfac totdflux(lev) = totdflux(lev) * fluxfac fnet(lev) = totuflux(lev) - totdflux(lev) totuclfl(lev) = totuclfl(lev) * fluxfac totdclfl(lev) = totdclfl(lev) * fluxfac fnetc(lev) = totuclfl(lev) - totdclfl(lev) l = lev - 1 ! Calculate heating rates at model layers htr(l)=heatfac*(fnet(l)-fnet(lev))/(pz(l)-pz(lev)) htrc(l)=heatfac*(fnetc(l)-fnetc(lev))/(pz(l)-pz(lev)) enddo ! Set heating rate to zero in top layer htr(nlayers) = 0.0_rb htrc(nlayers) = 0.0_rb end subroutine rtrnmc end module rrtmg_lw_rtrnmc ================================================ FILE: GeosRad/rrtmg_lw_rtrnmr.F90.safe ================================================ ! path: $Source: /storm/rc1/cvsroot/rc/rrtmg_lw/src/rrtmg_lw_rtrnmr.f90,v $ ! author: $Author: mike $ ! revision: $Revision: 1.7 $ ! created: $Date: 2009/11/12 20:52:26 $ ! module rrtmg_lw_rtrnmr ! -------------------------------------------------------------------------- ! | | ! | Copyright 2002-2009, Atmospheric & Environmental Research, Inc. (AER). | ! | This software may be used, copied, or redistributed as long as it is | ! | not sold and this copyright notice is reproduced on each copy made. | ! | This model is provided as is without any express or implied warranties. | ! | (http://www.rtweb.aer.com/) | ! | | ! -------------------------------------------------------------------------- ! ------- Modules ------- use parkind, only : im => kind_im, rb => kind_rb use parrrtm, only : mg, nbndlw, ngptlw use rrlw_con, only: fluxfac, heatfac use rrlw_wvn, only: delwave, ngs use rrlw_tbl, only: tblint, bpade, tau_tbl, exp_tbl, tfn_tbl use rrlw_vsn, only: hvrrtx, hnamrtx implicit none contains !----------------------------------------------------------------------------- subroutine rtrnmr(nlayers, istart, iend, iout, pz, semiss, ncbands, & cldfrac, taucloud, planklay, planklev, plankbnd, & pwvcm, fracs, taut, & totuflux, totdflux, fnet, htr, & totuclfl, totdclfl, fnetc, htrc, & idrv, dplankbnd_dt, dtotuflux_dt, dtotuclfl_dt ) !----------------------------------------------------------------------------- ! ! Original version: E. J. Mlawer, et al. RRTM_V3.0 ! Revision for GCMs: Michael J. Iacono; October, 2002 ! Revision for F90: Michael J. Iacono; June, 2006 ! Revision for dFdT option: M. J. Iacono and E. J. Mlawer, November 2009 ! ! This program calculates the upward fluxes, downward fluxes, and ! heating rates for an arbitrary clear or cloudy atmosphere. The input ! to this program is the atmospheric profile, all Planck function ! information, and the cloud fraction by layer. A variable diffusivity ! angle (SECDIFF) is used for the angle integration. Bands 2-3 and 5-9 ! use a value for SECDIFF that varies from 1.50 to 1.80 as a function of ! the column water vapor, and other bands use a value of 1.66. The Gaussian ! weight appropriate to this angle (WTDIFF=0.5) is applied here. Note that ! use of the emissivity angle for the flux integration can cause errors of ! 1 to 4 W/m2 within cloudy layers. ! Clouds are treated with a maximum-random cloud overlap method. ! This subroutine also provides the optional capability to calculate ! the derivative of upward flux respect to surface temperature using ! the pre-tabulated derivative of the Planck function with respect to ! temperature integrated over each spectral band. !*************************************************************************** ! ------- Declarations ------- ! ----- Input ----- integer(kind=im), intent(in) :: nlayers ! total number of layers integer(kind=im), intent(in) :: istart ! beginning band of calculation integer(kind=im), intent(in) :: iend ! ending band of calculation integer(kind=im), intent(in) :: iout ! output option flag ! Atmosphere real(kind=rb), intent(in) :: pz(0:) ! level (interface) pressures (hPa, mb) ! Dimensions: (0:nlayers) real(kind=rb), intent(in) :: pwvcm ! precipitable water vapor (cm) real(kind=rb), intent(in) :: semiss(:) ! lw surface emissivity ! Dimensions: (nbndlw) real(kind=rb), intent(in) :: planklay(:,:) ! ! Dimensions: (nlayers,nbndlw) real(kind=rb), intent(in) :: planklev(0:,:) ! ! Dimensions: (0:nlayers,nbndlw) real(kind=rb), intent(in) :: plankbnd(:) ! ! Dimensions: (nbndlw) real(kind=rb), intent(in) :: fracs(:,:) ! ! Dimensions: (nlayers,ngptw) real(kind=rb), intent(in) :: taut(:,:) ! gaseous + aerosol optical depths ! Dimensions: (nlayers,ngptlw) ! Clouds integer(kind=im), intent(in) :: ncbands ! number of cloud spectral bands real(kind=rb), intent(in) :: cldfrac(:) ! layer cloud fraction ! Dimensions: (nlayers) real(kind=rb), intent(in) :: taucloud(:,:) ! layer cloud optical depth ! Dimensions: (nlayers,nbndlw) integer(kind=im), intent(in) :: idrv ! flag for calculation of dF/dt from ! Planck derivative [0=off, 1=on] real(kind=rb), intent(in) :: dplankbnd_dt(:) ! derivative of Planck function wrt temp ! Dimensions: (nbndlw) ! ----- Output ----- real(kind=rb), intent(out) :: totuflux(0:) ! upward longwave flux (w/m2) ! Dimensions: (0:nlayers) real(kind=rb), intent(out) :: totdflux(0:) ! downward longwave flux (w/m2) ! Dimensions: (0:nlayers) real(kind=rb), intent(out) :: fnet(0:) ! net longwave flux (w/m2) ! Dimensions: (0:nlayers) real(kind=rb), intent(out) :: htr(0:) ! longwave heating rate (k/day) ! Dimensions: (0:nlayers) real(kind=rb), intent(out) :: totuclfl(0:) ! clear sky upward longwave flux (w/m2) ! Dimensions: (0:nlayers) real(kind=rb), intent(out) :: totdclfl(0:) ! clear sky downward longwave flux (w/m2) ! Dimensions: (0:nlayers) real(kind=rb), intent(out) :: fnetc(0:) ! clear sky net longwave flux (w/m2) ! Dimensions: (0:nlayers) real(kind=rb), intent(out) :: htrc(0:) ! clear sky longwave heating rate (k/day) ! Dimensions: (0:nlayers) real(kind=rb), intent(out) :: dtotuflux_dt(0:) ! change in upward longwave flux (w/m2/k) ! with respect to surface temperature ! Dimensions: (0:nlayers) real(kind=rb), intent(out) :: dtotuclfl_dt(0:) ! change in upward longwave flux (w/m2/k) ! with respect to surface temperature ! Dimensions: (0:nlayers) ! ----- Local ----- ! Declarations for radiative transfer real(kind=rb) :: abscld(nlayers,nbndlw) real(kind=rb) :: atot(nlayers) real(kind=rb) :: atrans(nlayers) real(kind=rb) :: bbugas(nlayers) real(kind=rb) :: bbutot(nlayers) real(kind=rb) :: clrurad(0:nlayers) real(kind=rb) :: clrdrad(0:nlayers) real(kind=rb) :: efclfrac(nlayers,nbndlw) real(kind=rb) :: uflux(0:nlayers) real(kind=rb) :: dflux(0:nlayers) real(kind=rb) :: urad(0:nlayers) real(kind=rb) :: drad(0:nlayers) real(kind=rb) :: uclfl(0:nlayers) real(kind=rb) :: dclfl(0:nlayers) real(kind=rb) :: odcld(nlayers,nbndlw) real(kind=rb) :: secdiff(nbndlw) ! secant of diffusivity angle real(kind=rb) :: a0(nbndlw),a1(nbndlw),a2(nbndlw)! diffusivity angle adjustment coefficients real(kind=rb) :: wtdiff, rec_6 real(kind=rb) :: transcld, radld, radclrd, plfrac, blay, dplankup, dplankdn real(kind=rb) :: odepth, odtot, odepth_rec, odtot_rec, gassrc, ttot real(kind=rb) :: tblind, tfactot, bbd, bbdtot, tfacgas, transc, tausfac real(kind=rb) :: rad0, reflect, radlu, radclru real(kind=rb) :: duflux_dt(0:nlayers) real(kind=rb) :: duclfl_dt(0:nlayers) real(kind=rb) :: d_urad_dt(0:nlayers) real(kind=rb) :: d_clrurad_dt(0:nlayers) real(kind=rb) :: d_rad0_dt, d_radlu_dt, d_radclru_dt integer(kind=im) :: icldlyr(nlayers) ! flag for cloud in layer integer(kind=im) :: ibnd, ib, iband, lay, lev, l ! loop indices integer(kind=im) :: igc ! g-point interval counter integer(kind=im) :: iclddn ! flag for cloud in down path integer(kind=im) :: ittot, itgas, itr ! lookup table indices integer(kind=im) :: ipat(16,0:2) ! Declarations for cloud overlap adjustment real(kind=rb) :: faccld1(nlayers+1),faccld2(nlayers+1) real(kind=rb) :: facclr1(nlayers+1),facclr2(nlayers+1) real(kind=rb) :: faccmb1(nlayers+1),faccmb2(nlayers+1) real(kind=rb) :: faccld1d(0:nlayers),faccld2d(0:nlayers) real(kind=rb) :: facclr1d(0:nlayers),facclr2d(0:nlayers) real(kind=rb) :: faccmb1d(0:nlayers),faccmb2d(0:nlayers) real(kind=rb) :: fmax, fmin, rat1, rat2 real(kind=rb) :: clrradd, cldradd, clrradu, cldradu, oldclr, oldcld real(kind=rb) :: rad, cldsrc, radmod integer(kind=im) :: istcld(nlayers+1),istcldd(0:nlayers) ! ------- Definitions ------- ! input ! nlayers ! number of model layers ! ngptlw ! total number of g-point subintervals ! nbndlw ! number of longwave spectral bands ! ncbands ! number of spectral bands for clouds ! secdiff ! diffusivity angle ! wtdiff ! weight for radiance to flux conversion ! pavel ! layer pressures (mb) ! pz ! level (interface) pressures (mb) ! tavel ! layer temperatures (k) ! tz ! level (interface) temperatures(mb) ! tbound ! surface temperature (k) ! cldfrac ! layer cloud fraction ! taucloud ! layer cloud optical depth ! itr ! integer look-up table index ! icldlyr ! flag for cloudy layers ! iclddn ! flag for cloud in column at any layer ! semiss ! surface emissivities for each band ! reflect ! surface reflectance ! bpade ! 1/(pade constant) ! tau_tbl ! clear sky optical depth look-up table ! exp_tbl ! exponential look-up table for transmittance ! tfn_tbl ! tau transition function look-up table ! local ! atrans ! gaseous absorptivity ! abscld ! cloud absorptivity ! atot ! combined gaseous and cloud absorptivity ! odclr ! clear sky (gaseous) optical depth ! odcld ! cloud optical depth ! odtot ! optical depth of gas and cloud ! tfacgas ! gas-only pade factor, used for planck fn ! tfactot ! gas and cloud pade factor, used for planck fn ! bbdgas ! gas-only planck function for downward rt ! bbugas ! gas-only planck function for upward rt ! bbdtot ! gas and cloud planck function for downward rt ! bbutot ! gas and cloud planck function for upward calc. ! gassrc ! source radiance due to gas only ! efclfrac ! effective cloud fraction ! radlu ! spectrally summed upward radiance ! radclru ! spectrally summed clear sky upward radiance ! urad ! upward radiance by layer ! clrurad ! clear sky upward radiance by layer ! radld ! spectrally summed downward radiance ! radclrd ! spectrally summed clear sky downward radiance ! drad ! downward radiance by layer ! clrdrad ! clear sky downward radiance by layer ! d_radlu_dt ! spectrally summed upward radiance ! d_radclru_dt ! spectrally summed clear sky upward radiance ! d_urad_dt ! upward radiance by layer ! d_clrurad_dt ! clear sky upward radiance by layer ! output ! totuflux ! upward longwave flux (w/m2) ! totdflux ! downward longwave flux (w/m2) ! fnet ! net longwave flux (w/m2) ! htr ! longwave heating rate (k/day) ! totuclfl ! clear sky upward longwave flux (w/m2) ! totdclfl ! clear sky downward longwave flux (w/m2) ! fnetc ! clear sky net longwave flux (w/m2) ! htrc ! clear sky longwave heating rate (k/day) ! dtotuflux_dt ! change in upward longwave flux (w/m2/k) ! ! with respect to surface temperature ! dtotuclfl_dt ! change in clear sky upward longwave flux (w/m2/k) ! ! with respect to surface temperature ! These arrays indicate the spectral 'region' (used in the ! calculation of ice cloud optical depths) corresponding ! to each spectral band. See cldprop.f for more details. data ipat /1,1,1,1,1,1,1,1,1, 1, 1, 1, 1, 1, 1, 1, & 1,2,3,3,3,4,4,4,5, 5, 5, 5, 5, 5, 5, 5, & 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16/ ! This secant and weight corresponds to the standard diffusivity ! angle. This initial value is redefined below for some bands. data wtdiff /0.5_rb/ data rec_6 /0.166667_rb/ ! Reset diffusivity angle for Bands 2-3 and 5-9 to vary (between 1.50 ! and 1.80) as a function of total column water vapor. The function ! has been defined to minimize flux and cooling rate errors in these bands ! over a wide range of precipitable water values. data a0 / 1.66_rb, 1.55_rb, 1.58_rb, 1.66_rb, & 1.54_rb, 1.454_rb, 1.89_rb, 1.33_rb, & 1.668_rb, 1.66_rb, 1.66_rb, 1.66_rb, & 1.66_rb, 1.66_rb, 1.66_rb, 1.66_rb / data a1 / 0.00_rb, 0.25_rb, 0.22_rb, 0.00_rb, & 0.13_rb, 0.446_rb, -0.10_rb, 0.40_rb, & -0.006_rb, 0.00_rb, 0.00_rb, 0.00_rb, & 0.00_rb, 0.00_rb, 0.00_rb, 0.00_rb / data a2 / 0.00_rb, -12.0_rb, -11.7_rb, 0.00_rb, & -0.72_rb,-0.243_rb, 0.19_rb,-0.062_rb, & 0.414_rb, 0.00_rb, 0.00_rb, 0.00_rb, & 0.00_rb, 0.00_rb, 0.00_rb, 0.00_rb / do ibnd = 1,nbndlw if (ibnd.eq.1 .or. ibnd.eq.4 .or. ibnd.ge.10) then secdiff(ibnd) = 1.66_rb else secdiff(ibnd) = a0(ibnd) + a1(ibnd)*exp(a2(ibnd)*pwvcm) if (secdiff(ibnd) .gt. 1.80_rb) secdiff(ibnd) = 1.80_rb if (secdiff(ibnd) .lt. 1.50_rb) secdiff(ibnd) = 1.50_rb endif enddo hvrrtx = '$Revision: 1.7 $' urad(0) = 0.0_rb drad(0) = 0.0_rb totuflux(0) = 0.0_rb totdflux(0) = 0.0_rb clrurad(0) = 0.0_rb clrdrad(0) = 0.0_rb totuclfl(0) = 0.0_rb totdclfl(0) = 0.0_rb if (idrv .eq. 1) then d_urad_dt(0) = 0.0_rb d_clrurad_dt(0) = 0.0_rb dtotuflux_dt(0) = 0.0_rb dtotuclfl_dt(0) = 0.0_rb endif do lay = 1, nlayers urad(lay) = 0.0_rb drad(lay) = 0.0_rb totuflux(lay) = 0.0_rb totdflux(lay) = 0.0_rb clrurad(lay) = 0.0_rb clrdrad(lay) = 0.0_rb totuclfl(lay) = 0.0_rb totdclfl(lay) = 0.0_rb if (idrv .eq. 1) then d_urad_dt(lay) = 0.0_rb d_clrurad_dt(lay) = 0.0_rb dtotuflux_dt(lay) = 0.0_rb dtotuclfl_dt(lay) = 0.0_rb endif do ib = 1, ncbands if (cldfrac(lay) .ge. 1.e-6_rb) then odcld(lay,ib) = secdiff(ib) * taucloud(lay,ib) icldlyr(lay) = 1 else odcld(lay,ib) = 0.0_rb icldlyr(lay) = 0 endif enddo enddo ! Maximum/Random cloud overlap parameter istcld(1) = 1 istcldd(nlayers) = 1 do lev = 1, nlayers if (icldlyr(lev).eq.1) then ! Maximum/random cloud overlap istcld(lev+1) = 0 if (lev .eq. nlayers) then faccld1(lev+1) = 0._rb faccld2(lev+1) = 0._rb facclr1(lev+1) = 0._rb facclr2(lev+1) = 0._rb faccmb1(lev+1) = 0._rb faccmb2(lev+1) = 0._rb elseif (cldfrac(lev+1) .ge. cldfrac(lev)) then faccld1(lev+1) = 0._rb faccld2(lev+1) = 0._rb if (istcld(lev) .eq. 1) then facclr1(lev+1) = 0._rb facclr2(lev+1) = 0._rb if (cldfrac(lev) .lt. 1._rb) facclr2(lev+1) = & (cldfrac(lev+1)-cldfrac(lev))/(1._rb-cldfrac(lev)) facclr2(lev) = 0._rb faccld2(lev) = 0._rb else fmax = max(cldfrac(lev),cldfrac(lev-1)) if (cldfrac(lev+1) .gt. fmax) then facclr1(lev+1) = rat2 facclr2(lev+1) = (cldfrac(lev+1)-fmax)/(1._rb-fmax) elseif (cldfrac(lev+1) .lt. fmax) then facclr1(lev+1) = (cldfrac(lev+1)-cldfrac(lev))/ & (cldfrac(lev-1)-cldfrac(lev)) facclr2(lev+1) = 0._rb else facclr1(lev+1) = rat2 facclr2(lev+1) = 0._rb endif endif if (facclr1(lev+1).gt.0._rb .or. facclr2(lev+1).gt.0._rb) then rat1 = 1._rb rat2 = 0._rb else rat1 = 0._rb rat2 = 0._rb endif else facclr1(lev+1) = 0._rb facclr2(lev+1) = 0._rb if (istcld(lev) .eq. 1) then faccld1(lev+1) = 0._rb faccld2(lev+1) = (cldfrac(lev)-cldfrac(lev+1))/cldfrac(lev) facclr2(lev) = 0._rb faccld2(lev) = 0._rb else fmin = min(cldfrac(lev),cldfrac(lev-1)) if (cldfrac(lev+1) .le. fmin) then faccld1(lev+1) = rat1 faccld2(lev+1) = (fmin-cldfrac(lev+1))/fmin else faccld1(lev+1) = (cldfrac(lev)-cldfrac(lev+1))/(cldfrac(lev)-fmin) faccld2(lev+1) = 0._rb endif endif if (faccld1(lev+1).gt.0._rb .or. faccld2(lev+1).gt.0._rb) then rat1 = 0._rb rat2 = 1._rb else rat1 = 0._rb rat2 = 0._rb endif endif faccmb1(lev+1) = facclr1(lev+1) * faccld2(lev) * cldfrac(lev-1) faccmb2(lev+1) = faccld1(lev+1) * facclr2(lev) * (1._rb - cldfrac(lev-1)) else istcld(lev+1) = 1 endif enddo do lev = nlayers, 1, -1 if (icldlyr(lev).eq.1) then istcldd(lev-1) = 0 if (lev .eq. 1) then faccld1d(lev-1) = 0._rb faccld2d(lev-1) = 0._rb facclr1d(lev-1) = 0._rb facclr2d(lev-1) = 0._rb faccmb1d(lev-1) = 0._rb faccmb2d(lev-1) = 0._rb elseif (cldfrac(lev-1) .ge. cldfrac(lev)) then faccld1d(lev-1) = 0._rb faccld2d(lev-1) = 0._rb if (istcldd(lev) .eq. 1) then facclr1d(lev-1) = 0._rb facclr2d(lev-1) = 0._rb if (cldfrac(lev) .lt. 1._rb) facclr2d(lev-1) = & (cldfrac(lev-1)-cldfrac(lev))/(1._rb-cldfrac(lev)) facclr2d(lev) = 0._rb faccld2d(lev) = 0._rb else fmax = max(cldfrac(lev),cldfrac(lev+1)) if (cldfrac(lev-1) .gt. fmax) then facclr1d(lev-1) = rat2 facclr2d(lev-1) = (cldfrac(lev-1)-fmax)/(1._rb-fmax) elseif (cldfrac(lev-1) .lt. fmax) then facclr1d(lev-1) = (cldfrac(lev-1)-cldfrac(lev))/ & (cldfrac(lev+1)-cldfrac(lev)) facclr2d(lev-1) = 0. else facclr1d(lev-1) = rat2 facclr2d(lev-1) = 0._rb endif endif if (facclr1d(lev-1).gt.0._rb .or. facclr2d(lev-1).gt.0._rb)then rat1 = 1._rb rat2 = 0._rb else rat1 = 0._rb rat2 = 0._rb endif else facclr1d(lev-1) = 0._rb facclr2d(lev-1) = 0._rb if (istcldd(lev) .eq. 1) then faccld1d(lev-1) = 0._rb faccld2d(lev-1) = (cldfrac(lev)-cldfrac(lev-1))/cldfrac(lev) facclr2d(lev) = 0._rb faccld2d(lev) = 0._rb else fmin = min(cldfrac(lev),cldfrac(lev+1)) if (cldfrac(lev-1) .le. fmin) then faccld1d(lev-1) = rat1 faccld2d(lev-1) = (fmin-cldfrac(lev-1))/fmin else faccld1d(lev-1) = (cldfrac(lev)-cldfrac(lev-1))/(cldfrac(lev)-fmin) faccld2d(lev-1) = 0._rb endif endif if (faccld1d(lev-1).gt.0._rb .or. faccld2d(lev-1).gt.0._rb)then rat1 = 0._rb rat2 = 1._rb else rat1 = 0._rb rat2 = 0._rb endif endif faccmb1d(lev-1) = facclr1d(lev-1) * faccld2d(lev) * cldfrac(lev+1) faccmb2d(lev-1) = faccld1d(lev-1) * facclr2d(lev) * (1._rb - cldfrac(lev+1)) else istcldd(lev-1) = 1 endif enddo igc = 1 ! Loop over frequency bands. do iband = istart, iend ! Reinitialize g-point counter for each band if output for each band is requested. if (iout.gt.0.and.iband.ge.2) igc = ngs(iband-1)+1 if (ncbands .eq. 1) then ib = ipat(iband,0) elseif (ncbands .eq. 5) then ib = ipat(iband,1) elseif (ncbands .eq. 16) then ib = ipat(iband,2) endif ! Loop over g-channels. 1000 continue ! Radiative transfer starts here. radld = 0._rb radclrd = 0._rb iclddn = 0 ! Downward radiative transfer loop. do lev = nlayers, 1, -1 plfrac = fracs(lev,igc) blay = planklay(lev,iband) dplankup = planklev(lev,iband) - blay dplankdn = planklev(lev-1,iband) - blay odepth = secdiff(iband) * taut(lev,igc) if (odepth .lt. 0.0_rb) odepth = 0.0_rb ! Cloudy layer if (icldlyr(lev).eq.1) then iclddn = 1 odtot = odepth + odcld(lev,ib) if (odtot .lt. 0.06_rb) then atrans(lev) = odepth - 0.5_rb*odepth*odepth odepth_rec = rec_6*odepth gassrc = plfrac*(blay+dplankdn*odepth_rec)*atrans(lev) atot(lev) = odtot - 0.5_rb*odtot*odtot odtot_rec = rec_6*odtot bbdtot = plfrac * (blay+dplankdn*odtot_rec) bbd = plfrac*(blay+dplankdn*odepth_rec) bbugas(lev) = plfrac * (blay+dplankup*odepth_rec) bbutot(lev) = plfrac * (blay+dplankup*odtot_rec) elseif (odepth .le. 0.06_rb) then atrans(lev) = odepth - 0.5_rb*odepth*odepth odepth_rec = rec_6*odepth gassrc = plfrac*(blay+dplankdn*odepth_rec)*atrans(lev) odtot = odepth + odcld(lev,ib) tblind = odtot/(bpade+odtot) ittot = tblint*tblind + 0.5_rb tfactot = tfn_tbl(ittot) bbdtot = plfrac * (blay + tfactot*dplankdn) bbd = plfrac*(blay+dplankdn*odepth_rec) atot(lev) = 1._rb - exp_tbl(ittot) bbugas(lev) = plfrac * (blay + dplankup*odepth_rec) bbutot(lev) = plfrac * (blay + tfactot * dplankup) else tblind = odepth/(bpade+odepth) itgas = tblint*tblind+0.5_rb odepth = tau_tbl(itgas) atrans(lev) = 1._rb - exp_tbl(itgas) tfacgas = tfn_tbl(itgas) gassrc = atrans(lev) * plfrac * (blay + tfacgas*dplankdn) odtot = odepth + odcld(lev,ib) tblind = odtot/(bpade+odtot) ittot = tblint*tblind + 0.5_rb tfactot = tfn_tbl(ittot) bbdtot = plfrac * (blay + tfactot*dplankdn) bbd = plfrac*(blay+tfacgas*dplankdn) atot(lev) = 1._rb - exp_tbl(ittot) bbugas(lev) = plfrac * (blay + tfacgas * dplankup) bbutot(lev) = plfrac * (blay + tfactot * dplankup) endif if (istcldd(lev) .eq. 1) then cldradd = cldfrac(lev) * radld clrradd = radld - cldradd oldcld = cldradd oldclr = clrradd rad = 0._rb endif ttot = 1._rb - atot(lev) cldsrc = bbdtot * atot(lev) cldradd = cldradd * ttot + cldfrac(lev) * cldsrc clrradd = clrradd * (1._rb-atrans(lev)) + (1._rb - cldfrac(lev)) * gassrc radld = cldradd + clrradd drad(lev-1) = drad(lev-1) + radld radmod = rad * & (facclr1d(lev-1) * (1.-atrans(lev)) + & faccld1d(lev-1) * ttot) - & faccmb1d(lev-1) * gassrc + & faccmb2d(lev-1) * cldsrc oldcld = cldradd - radmod oldclr = clrradd + radmod rad = -radmod + facclr2d(lev-1)*oldclr - faccld2d(lev-1)*oldcld cldradd = cldradd + rad clrradd = clrradd - rad ! Clear layer else if (odepth .le. 0.06_rb) then atrans(lev) = odepth-0.5_rb*odepth*odepth odepth = rec_6*odepth bbd = plfrac*(blay+dplankdn*odepth) bbugas(lev) = plfrac*(blay+dplankup*odepth) else tblind = odepth/(bpade+odepth) itr = tblint*tblind+0.5_rb transc = exp_tbl(itr) atrans(lev) = 1._rb-transc tausfac = tfn_tbl(itr) bbd = plfrac*(blay+tausfac*dplankdn) bbugas(lev) = plfrac * (blay + tausfac * dplankup) endif radld = radld + (bbd-radld)*atrans(lev) drad(lev-1) = drad(lev-1) + radld endif ! Set clear sky stream to total sky stream as long as layers ! remain clear. Streams diverge when a cloud is reached (iclddn=1), ! and clear sky stream must be computed separately from that point. if (iclddn.eq.1) then radclrd = radclrd + (bbd-radclrd) * atrans(lev) clrdrad(lev-1) = clrdrad(lev-1) + radclrd else radclrd = radld clrdrad(lev-1) = drad(lev-1) endif enddo ! Spectral emissivity & reflectance ! Include the contribution of spectrally varying longwave emissivity ! and reflection from the surface to the upward radiative transfer. ! Note: Spectral and Lambertian reflection are identical for the ! diffusivity angle flux integration used here. ! Note: The emissivity is applied to plankbnd and dplankbnd_dt when ! they are defined in subroutine setcoef. rad0 = fracs(1,igc) * plankbnd(iband) if (idrv .eq. 1) then d_rad0_dt = fracs(1,igc) * dplankbnd_dt(iband) endif ! Add in reflection of surface downward radiance. reflect = 1._rb - semiss(iband) radlu = rad0 + reflect * radld radclru = rad0 + reflect * radclrd ! Upward radiative transfer loop. urad(0) = urad(0) + radlu clrurad(0) = clrurad(0) + radclru if (idrv .eq. 1) then d_radlu_dt = d_rad0_dt d_urad_dt(0) = d_urad_dt(0) + d_radlu_dt d_radclru_dt = d_rad0_dt d_clrurad_dt(0) = d_clrurad_dt(0) + d_radclru_dt endif do lev = 1, nlayers ! Cloudy layer if (icldlyr(lev) .eq. 1) then gassrc = bbugas(lev) * atrans(lev) if (istcld(lev) .eq. 1) then cldradu = cldfrac(lev) * radlu clrradu = radlu - cldradu oldcld = cldradu oldclr = clrradu rad = 0._rb endif ttot = 1._rb - atot(lev) cldsrc = bbutot(lev) * atot(lev) cldradu = cldradu * ttot + cldfrac(lev) * cldsrc clrradu = clrradu * (1.0_rb-atrans(lev)) + (1._rb - cldfrac(lev)) * gassrc ! Total sky radiance radlu = cldradu + clrradu urad(lev) = urad(lev) + radlu radmod = rad * & (facclr1(lev+1)*(1.0_rb-atrans(lev))+ & faccld1(lev+1) * ttot) - & faccmb1(lev+1) * gassrc + & faccmb2(lev+1) * cldsrc oldcld = cldradu - radmod oldclr = clrradu + radmod rad = -radmod + facclr2(lev+1)*oldclr - faccld2(lev+1)*oldcld cldradu = cldradu + rad clrradu = clrradu - rad if (idrv .eq. 1) then d_radlu_dt = d_radlu_dt * cldfrac(lev) * (1.0_rb - atot(lev)) + & d_radlu_dt * (1.0_rb - cldfrac(lev)) * (1.0_rb - atrans(lev)) d_urad_dt(lev) = d_urad_dt(lev) + d_radlu_dt endif ! Clear layer else radlu = radlu + (bbugas(lev)-radlu)*atrans(lev) urad(lev) = urad(lev) + radlu if (idrv .eq. 1) then d_radlu_dt = d_radlu_dt * (1.0_rb - atrans(lev)) d_urad_dt(lev) = d_urad_dt(lev) + d_radlu_dt endif endif ! Set clear sky stream to total sky stream as long as all layers ! are clear (iclddn=0). Streams must be calculated separately at ! all layers when a cloud is present (iclddn=1), because surface ! reflectance is different for each stream. if (iclddn.eq.1) then radclru = radclru + (bbugas(lev)-radclru)*atrans(lev) clrurad(lev) = clrurad(lev) + radclru else radclru = radlu clrurad(lev) = urad(lev) endif if (idrv .eq. 1) then if (iclddn.eq.1) then d_radclru_dt = d_radclru_dt * (1.0_rb - atrans(lev)) d_clrurad_dt(lev) = d_clrurad_dt(lev) + d_radclru_dt else d_radclru_dt = d_radlu_dt d_clrurad_dt(lev) = d_urad_dt(lev) endif endif enddo ! Increment g-point counter igc = igc + 1 ! Return to continue radiative transfer for all g-channels in present band if (igc .le. ngs(iband)) go to 1000 ! Process longwave output from band. ! Calculate upward, downward, and net flux. do lev = nlayers, 0, -1 uflux(lev) = urad(lev)*wtdiff dflux(lev) = drad(lev)*wtdiff urad(lev) = 0.0_rb drad(lev) = 0.0_rb totuflux(lev) = totuflux(lev) + uflux(lev) * delwave(iband) totdflux(lev) = totdflux(lev) + dflux(lev) * delwave(iband) uclfl(lev) = clrurad(lev)*wtdiff dclfl(lev) = clrdrad(lev)*wtdiff clrurad(lev) = 0.0_rb clrdrad(lev) = 0.0_rb totuclfl(lev) = totuclfl(lev) + uclfl(lev) * delwave(iband) totdclfl(lev) = totdclfl(lev) + dclfl(lev) * delwave(iband) enddo ! Calculate total change in upward flux wrt surface temperature if (idrv .eq. 1) then do lev = nlayers, 0, -1 duflux_dt(lev) = d_urad_dt(lev) * wtdiff d_urad_dt(lev) = 0.0_rb dtotuflux_dt(lev) = dtotuflux_dt(lev) + duflux_dt(lev) * delwave(iband) * fluxfac duclfl_dt(lev) = d_clrurad_dt(lev) * wtdiff d_clrurad_dt(lev) = 0.0_rb dtotuclfl_dt(lev) = dtotuclfl_dt(lev) + duclfl_dt(lev) * delwave(iband) * fluxfac enddo endif ! End spectral band loop enddo ! Calculate fluxes at surface totuflux(0) = totuflux(0) * fluxfac totdflux(0) = totdflux(0) * fluxfac fnet(0) = totuflux(0) - totdflux(0) totuclfl(0) = totuclfl(0) * fluxfac totdclfl(0) = totdclfl(0) * fluxfac fnetc(0) = totuclfl(0) - totdclfl(0) ! Calculate fluxes at model levels do lev = 1, nlayers totuflux(lev) = totuflux(lev) * fluxfac totdflux(lev) = totdflux(lev) * fluxfac fnet(lev) = totuflux(lev) - totdflux(lev) totuclfl(lev) = totuclfl(lev) * fluxfac totdclfl(lev) = totdclfl(lev) * fluxfac fnetc(lev) = totuclfl(lev) - totdclfl(lev) l = lev - 1 ! Calculate heating rates at model layers htr(l)=heatfac*(fnet(l)-fnet(lev))/(pz(l)-pz(lev)) htrc(l)=heatfac*(fnetc(l)-fnetc(lev))/(pz(l)-pz(lev)) enddo ! Set heating rate to zero in top layer htr(nlayers) = 0.0_rb htrc(nlayers) = 0.0_rb end subroutine rtrnmr end module rrtmg_lw_rtrnmr ================================================ FILE: GeosRad/rrtmg_lw_setcoef.F90 ================================================ ! path: $Source: /storm/rc1/cvsroot/rc/rrtmg_lw/src/rrtmg_lw_setcoef.f90,v $ ! author: $Author: mike $ ! revision: $Revision: 1.5 $ ! created: $Date: 2009/11/12 20:52:26 $ ! module rrtmg_lw_setcoef ! -------------------------------------------------------------------------- ! | | ! | Copyright 2002-2009, Atmospheric & Environmental Research, Inc. (AER). | ! | This software may be used, copied, or redistributed as long as it is | ! | not sold and this copyright notice is reproduced on each copy made. | ! | This model is provided as is without any express or implied warranties. | ! | (http://www.rtweb.aer.com/) | ! | | ! -------------------------------------------------------------------------- ! ------- Modules ------- use parkind, only : im => kind_im, rb => kind_rb use parrrtm, only : nbndlw, mg, maxxsec, mxmol use rrlw_wvn, only: totplnk, totplk16, totplnkderiv, totplk16deriv use rrlw_ref use rrlw_vsn, only: hvrset, hnamset implicit none contains !---------------------------------------------------------------------------- subroutine setcoef(nlayers, istart, pavel, tavel, tz, tbound, semiss, & coldry, wkl, wbroad, & laytrop, jp, jt, jt1, planklay, planklev, plankbnd, & idrv, dplankbnd_dt, & colh2o, colco2, colo3, coln2o, colco, colch4, colo2, & colbrd, fac00, fac01, fac10, fac11, & rat_h2oco2, rat_h2oco2_1, rat_h2oo3, rat_h2oo3_1, & rat_h2on2o, rat_h2on2o_1, rat_h2och4, rat_h2och4_1, & rat_n2oco2, rat_n2oco2_1, rat_o3co2, rat_o3co2_1, & selffac, selffrac, indself, forfac, forfrac, indfor, & minorfrac, scaleminor, scaleminorn2, indminor) !---------------------------------------------------------------------------- ! ! Purpose: For a given atmosphere, calculate the indices and ! fractions related to the pressure and temperature interpolations. ! Also calculate the values of the integrated Planck functions ! for each band at the level and layer temperatures. ! ------- Declarations ------- ! ----- Input ----- integer(kind=im), intent(in) :: nlayers ! total number of layers integer(kind=im), intent(in) :: istart ! beginning band of calculation integer(kind=im), intent(in) :: idrv ! Planck derivative option flag real(kind=rb), intent(in) :: pavel(:) ! layer pressures (mb) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: tavel(:) ! layer temperatures (K) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: tz(0:) ! level (interface) temperatures (K) ! Dimensions: (0:nlayers) real(kind=rb), intent(in) :: tbound ! surface temperature (K) real(kind=rb), intent(in) :: coldry(:) ! dry air column density (mol/cm2) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: wbroad(:) ! broadening gas column density (mol/cm2) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: wkl(:,:) ! molecular amounts (mol/cm-2) ! Dimensions: (mxmol,nlayers) real(kind=rb), intent(in) :: semiss(:) ! lw surface emissivity ! Dimensions: (nbndlw) ! ----- Output ----- integer(kind=im), intent(out) :: laytrop ! tropopause layer index integer(kind=im), intent(out) :: jp(:) ! ! Dimensions: (nlayers) integer(kind=im), intent(out) :: jt(:) ! ! Dimensions: (nlayers) integer(kind=im), intent(out) :: jt1(:) ! ! Dimensions: (nlayers) real(kind=rb), intent(out) :: planklay(:,:) ! ! Dimensions: (nlayers,nbndlw) real(kind=rb), intent(out) :: planklev(0:,:) ! ! Dimensions: (0:nlayers,nbndlw) real(kind=rb), intent(out) :: plankbnd(:) ! ! Dimensions: (nbndlw) real(kind=rb), intent(out) :: dplankbnd_dt(:) ! ! Dimensions: (nbndlw) real(kind=rb), intent(out) :: colh2o(:) ! column amount (h2o) ! Dimensions: (nlayers) real(kind=rb), intent(out) :: colco2(:) ! column amount (co2) ! Dimensions: (nlayers) real(kind=rb), intent(out) :: colo3(:) ! column amount (o3) ! Dimensions: (nlayers) real(kind=rb), intent(out) :: coln2o(:) ! column amount (n2o) ! Dimensions: (nlayers) real(kind=rb), intent(out) :: colco(:) ! column amount (co) ! Dimensions: (nlayers) real(kind=rb), intent(out) :: colch4(:) ! column amount (ch4) ! Dimensions: (nlayers) real(kind=rb), intent(out) :: colo2(:) ! column amount (o2) ! Dimensions: (nlayers) real(kind=rb), intent(out) :: colbrd(:) ! column amount (broadening gases) ! Dimensions: (nlayers) integer(kind=im), intent(out) :: indself(:) ! Dimensions: (nlayers) integer(kind=im), intent(out) :: indfor(:) ! Dimensions: (nlayers) real(kind=rb), intent(out) :: selffac(:) ! Dimensions: (nlayers) real(kind=rb), intent(out) :: selffrac(:) ! Dimensions: (nlayers) real(kind=rb), intent(out) :: forfac(:) ! Dimensions: (nlayers) real(kind=rb), intent(out) :: forfrac(:) ! Dimensions: (nlayers) integer(kind=im), intent(out) :: indminor(:) ! Dimensions: (nlayers) real(kind=rb), intent(out) :: minorfrac(:) ! Dimensions: (nlayers) real(kind=rb), intent(out) :: scaleminor(:) ! Dimensions: (nlayers) real(kind=rb), intent(out) :: scaleminorn2(:) ! Dimensions: (nlayers) real(kind=rb), intent(out) :: & ! fac00(:), fac01(:), & ! Dimensions: (nlayers) fac10(:), fac11(:) real(kind=rb), intent(out) :: & ! rat_h2oco2(:),rat_h2oco2_1(:), & rat_h2oo3(:),rat_h2oo3_1(:), & ! Dimensions: (nlayers) rat_h2on2o(:),rat_h2on2o_1(:), & rat_h2och4(:),rat_h2och4_1(:), & rat_n2oco2(:),rat_n2oco2_1(:), & rat_o3co2(:),rat_o3co2_1(:) ! ----- Local ----- integer(kind=im) :: indbound, indlev0 integer(kind=im) :: lay, indlay, indlev, iband integer(kind=im) :: jp1 real(kind=rb) :: stpfac, tbndfrac, t0frac, tlayfrac, tlevfrac real(kind=rb) :: dbdtlev, dbdtlay real(kind=rb) :: plog, fp, ft, ft1, water, scalefac, factor, compfp hvrset = '$Revision: 1.5 $' stpfac = 296._rb/1013._rb indbound = tbound - 159._rb if (indbound .lt. 1) then indbound = 1 elseif (indbound .gt. 180) then indbound = 180 endif tbndfrac = tbound - 159._rb - float(indbound) indlev0 = tz(0) - 159._rb if (indlev0 .lt. 1) then indlev0 = 1 elseif (indlev0 .gt. 180) then indlev0 = 180 endif t0frac = tz(0) - 159._rb - float(indlev0) laytrop = 0 ! Begin layer loop ! Calculate the integrated Planck functions for each band at the ! surface, level, and layer temperatures. do lay = 1, nlayers indlay = tavel(lay) - 159._rb if (indlay .lt. 1) then indlay = 1 elseif (indlay .gt. 180) then indlay = 180 endif tlayfrac = tavel(lay) - 159._rb - float(indlay) indlev = tz(lay) - 159._rb if (indlev .lt. 1) then indlev = 1 elseif (indlev .gt. 180) then indlev = 180 endif tlevfrac = tz(lay) - 159._rb - float(indlev) ! Begin spectral band loop do iband = 1, 15 if (lay.eq.1) then dbdtlev = totplnk(indbound+1,iband) - totplnk(indbound,iband) plankbnd(iband) = semiss(iband) * & (totplnk(indbound,iband) + tbndfrac * dbdtlev) dbdtlev = totplnk(indlev0+1,iband)-totplnk(indlev0,iband) planklev(0,iband) = totplnk(indlev0,iband) + t0frac * dbdtlev if (idrv .eq. 1) then dbdtlev = totplnkderiv(indbound+1,iband) - totplnkderiv(indbound,iband) dplankbnd_dt(iband) = semiss(iband) * & (totplnkderiv(indbound,iband) + tbndfrac * dbdtlev) endif endif dbdtlev = totplnk(indlev+1,iband) - totplnk(indlev,iband) dbdtlay = totplnk(indlay+1,iband) - totplnk(indlay,iband) planklay(lay,iband) = totplnk(indlay,iband) + tlayfrac * dbdtlay planklev(lay,iband) = totplnk(indlev,iband) + tlevfrac * dbdtlev enddo ! For band 16, if radiative transfer will be performed on just ! this band, use integrated Planck values up to 3250 cm-1. ! If radiative transfer will be performed across all 16 bands, ! then include in the integrated Planck values for this band ! contributions from 2600 cm-1 to infinity. iband = 16 if (istart .eq. 16) then if (lay.eq.1) then dbdtlev = totplk16(indbound+1) - totplk16(indbound) plankbnd(iband) = semiss(iband) * & (totplk16(indbound) + tbndfrac * dbdtlev) if (idrv .eq. 1) then dbdtlev = totplk16deriv(indbound+1) - totplk16deriv(indbound) dplankbnd_dt(iband) = semiss(iband) * & (totplk16deriv(indbound) + tbndfrac * dbdtlev) endif dbdtlev = totplnk(indlev0+1,iband)-totplnk(indlev0,iband) planklev(0,iband) = totplk16(indlev0) + & t0frac * dbdtlev endif dbdtlev = totplk16(indlev+1) - totplk16(indlev) dbdtlay = totplk16(indlay+1) - totplk16(indlay) planklay(lay,iband) = totplk16(indlay) + tlayfrac * dbdtlay planklev(lay,iband) = totplk16(indlev) + tlevfrac * dbdtlev else if (lay.eq.1) then dbdtlev = totplnk(indbound+1,iband) - totplnk(indbound,iband) plankbnd(iband) = semiss(iband) * & (totplnk(indbound,iband) + tbndfrac * dbdtlev) if (idrv .eq. 1) then dbdtlev = totplnkderiv(indbound+1,iband) - totplnkderiv(indbound,iband) dplankbnd_dt(iband) = semiss(iband) * & (totplnkderiv(indbound,iband) + tbndfrac * dbdtlev) endif dbdtlev = totplnk(indlev0+1,iband)-totplnk(indlev0,iband) planklev(0,iband) = totplnk(indlev0,iband) + t0frac * dbdtlev endif dbdtlev = totplnk(indlev+1,iband) - totplnk(indlev,iband) dbdtlay = totplnk(indlay+1,iband) - totplnk(indlay,iband) planklay(lay,iband) = totplnk(indlay,iband) + tlayfrac * dbdtlay planklev(lay,iband) = totplnk(indlev,iband) + tlevfrac * dbdtlev endif ! Find the two reference pressures on either side of the ! layer pressure. Store them in JP and JP1. Store in FP the ! fraction of the difference (in ln(pressure)) between these ! two values that the layer pressure lies. plog = LOG(pavel(lay)) jp(lay) = int(36._rb - 5*(plog+0.04_rb)) if (jp(lay) .lt. 1) then jp(lay) = 1 elseif (jp(lay) .gt. 58) then jp(lay) = 58 endif jp1 = jp(lay) + 1 fp = 5._rb *(preflog(jp(lay)) - plog) ! Determine, for each reference pressure (JP and JP1), which ! reference temperature (these are different for each ! reference pressure) is nearest the layer temperature but does ! not exceed it. Store these indices in JT and JT1, resp. ! Store in FT (resp. FT1) the fraction of the way between JT ! (JT1) and the next highest reference temperature that the ! layer temperature falls. jt(lay) = int(3._rb + (tavel(lay)-tref(jp(lay)))/15._rb) if (jt(lay) .lt. 1) then jt(lay) = 1 elseif (jt(lay) .gt. 4) then jt(lay) = 4 endif ft = ((tavel(lay)-tref(jp(lay)))/15._rb) - float(jt(lay)-3) jt1(lay) = int(3._rb + (tavel(lay)-tref(jp1))/15._rb) if (jt1(lay) .lt. 1) then jt1(lay) = 1 elseif (jt1(lay) .gt. 4) then jt1(lay) = 4 endif ft1 = ((tavel(lay)-tref(jp1))/15._rb) - float(jt1(lay)-3) water = wkl(1,lay)/coldry(lay) scalefac = pavel(lay) * stpfac / tavel(lay) ! If the pressure is less than ~100mb, perform a different ! set of species interpolations. if (plog .le. 4.56_rb) go to 5300 laytrop = laytrop + 1 forfac(lay) = scalefac / (1.+water) factor = (332.0_rb-tavel(lay))/36.0_rb indfor(lay) = min(2, max(1, int(factor))) forfrac(lay) = factor - float(indfor(lay)) ! Set up factors needed to separately include the water vapor ! self-continuum in the calculation of absorption coefficient. selffac(lay) = water * forfac(lay) factor = (tavel(lay)-188.0_rb)/7.2_rb indself(lay) = min(9, max(1, int(factor)-7)) selffrac(lay) = factor - float(indself(lay) + 7) ! Set up factors needed to separately include the minor gases ! in the calculation of absorption coefficient scaleminor(lay) = pavel(lay)/tavel(lay) scaleminorn2(lay) = (pavel(lay)/tavel(lay)) & *(wbroad(lay)/(coldry(lay)+wkl(1,lay))) factor = (tavel(lay)-180.8_rb)/7.2_rb indminor(lay) = min(18, max(1, int(factor))) minorfrac(lay) = factor - float(indminor(lay)) ! Setup reference ratio to be used in calculation of binary ! species parameter in lower atmosphere. rat_h2oco2(lay)=chi_mls(1,jp(lay))/chi_mls(2,jp(lay)) rat_h2oco2_1(lay)=chi_mls(1,jp(lay)+1)/chi_mls(2,jp(lay)+1) rat_h2oo3(lay)=chi_mls(1,jp(lay))/chi_mls(3,jp(lay)) rat_h2oo3_1(lay)=chi_mls(1,jp(lay)+1)/chi_mls(3,jp(lay)+1) rat_h2on2o(lay)=chi_mls(1,jp(lay))/chi_mls(4,jp(lay)) rat_h2on2o_1(lay)=chi_mls(1,jp(lay)+1)/chi_mls(4,jp(lay)+1) rat_h2och4(lay)=chi_mls(1,jp(lay))/chi_mls(6,jp(lay)) rat_h2och4_1(lay)=chi_mls(1,jp(lay)+1)/chi_mls(6,jp(lay)+1) rat_n2oco2(lay)=chi_mls(4,jp(lay))/chi_mls(2,jp(lay)) rat_n2oco2_1(lay)=chi_mls(4,jp(lay)+1)/chi_mls(2,jp(lay)+1) ! Calculate needed column amounts. colh2o(lay) = 1.e-20_rb * wkl(1,lay) colco2(lay) = 1.e-20_rb * wkl(2,lay) colo3(lay) = 1.e-20_rb * wkl(3,lay) coln2o(lay) = 1.e-20_rb * wkl(4,lay) colco(lay) = 1.e-20_rb * wkl(5,lay) colch4(lay) = 1.e-20_rb * wkl(6,lay) colo2(lay) = 1.e-20_rb * wkl(7,lay) if (colco2(lay) .eq. 0._rb) colco2(lay) = 1.e-32_rb * coldry(lay) if (colo3(lay) .eq. 0._rb) colo3(lay) = 1.e-32_rb * coldry(lay) if (coln2o(lay) .eq. 0._rb) coln2o(lay) = 1.e-32_rb * coldry(lay) if (colco(lay) .eq. 0._rb) colco(lay) = 1.e-32_rb * coldry(lay) if (colch4(lay) .eq. 0._rb) colch4(lay) = 1.e-32_rb * coldry(lay) colbrd(lay) = 1.e-20_rb * wbroad(lay) go to 5400 ! Above laytrop. 5300 continue forfac(lay) = scalefac / (1.+water) factor = (tavel(lay)-188.0_rb)/36.0_rb indfor(lay) = 3 forfrac(lay) = factor - 1.0_rb ! Set up factors needed to separately include the water vapor ! self-continuum in the calculation of absorption coefficient. selffac(lay) = water * forfac(lay) ! Set up factors needed to separately include the minor gases ! in the calculation of absorption coefficient scaleminor(lay) = pavel(lay)/tavel(lay) scaleminorn2(lay) = (pavel(lay)/tavel(lay)) & * (wbroad(lay)/(coldry(lay)+wkl(1,lay))) factor = (tavel(lay)-180.8_rb)/7.2_rb indminor(lay) = min(18, max(1, int(factor))) minorfrac(lay) = factor - float(indminor(lay)) ! Setup reference ratio to be used in calculation of binary ! species parameter in upper atmosphere. rat_h2oco2(lay)=chi_mls(1,jp(lay))/chi_mls(2,jp(lay)) rat_h2oco2_1(lay)=chi_mls(1,jp(lay)+1)/chi_mls(2,jp(lay)+1) rat_o3co2(lay)=chi_mls(3,jp(lay))/chi_mls(2,jp(lay)) rat_o3co2_1(lay)=chi_mls(3,jp(lay)+1)/chi_mls(2,jp(lay)+1) ! Calculate needed column amounts. colh2o(lay) = 1.e-20_rb * wkl(1,lay) colco2(lay) = 1.e-20_rb * wkl(2,lay) colo3(lay) = 1.e-20_rb * wkl(3,lay) coln2o(lay) = 1.e-20_rb * wkl(4,lay) colco(lay) = 1.e-20_rb * wkl(5,lay) colch4(lay) = 1.e-20_rb * wkl(6,lay) colo2(lay) = 1.e-20_rb * wkl(7,lay) if (colco2(lay) .eq. 0._rb) colco2(lay) = 1.e-32_rb * coldry(lay) if (colo3(lay) .eq. 0._rb) colo3(lay) = 1.e-32_rb * coldry(lay) if (coln2o(lay) .eq. 0._rb) coln2o(lay) = 1.e-32_rb * coldry(lay) if (colco(lay) .eq. 0._rb) colco(lay) = 1.e-32_rb * coldry(lay) if (colch4(lay) .eq. 0._rb) colch4(lay) = 1.e-32_rb * coldry(lay) colbrd(lay) = 1.e-20_rb * wbroad(lay) 5400 continue ! We have now isolated the layer ln pressure and temperature, ! between two reference pressures and two reference temperatures ! (for each reference pressure). We multiply the pressure ! fraction FP with the appropriate temperature fractions to get ! the factors that will be needed for the interpolation that yields ! the optical depths (performed in routines TAUGBn for band n).` compfp = 1. - fp fac10(lay) = compfp * ft fac00(lay) = compfp * (1._rb - ft) fac11(lay) = fp * ft1 fac01(lay) = fp * (1._rb - ft1) ! Rescale selffac and forfac for use in taumol selffac(lay) = colh2o(lay)*selffac(lay) forfac(lay) = colh2o(lay)*forfac(lay) ! End layer loop enddo end subroutine setcoef !*************************************************************************** subroutine lwatmref !*************************************************************************** save ! These pressures are chosen such that the ln of the first pressure ! has only a few non-zero digits (i.e. ln(PREF(1)) = 6.96000) and ! each subsequent ln(pressure) differs from the previous one by 0.2. pref(:) = (/ & 1.05363e+03_rb,8.62642e+02_rb,7.06272e+02_rb,5.78246e+02_rb,4.73428e+02_rb, & 3.87610e+02_rb,3.17348e+02_rb,2.59823e+02_rb,2.12725e+02_rb,1.74164e+02_rb, & 1.42594e+02_rb,1.16746e+02_rb,9.55835e+01_rb,7.82571e+01_rb,6.40715e+01_rb, & 5.24573e+01_rb,4.29484e+01_rb,3.51632e+01_rb,2.87892e+01_rb,2.35706e+01_rb, & 1.92980e+01_rb,1.57998e+01_rb,1.29358e+01_rb,1.05910e+01_rb,8.67114e+00_rb, & 7.09933e+00_rb,5.81244e+00_rb,4.75882e+00_rb,3.89619e+00_rb,3.18993e+00_rb, & 2.61170e+00_rb,2.13828e+00_rb,1.75067e+00_rb,1.43333e+00_rb,1.17351e+00_rb, & 9.60789e-01_rb,7.86628e-01_rb,6.44036e-01_rb,5.27292e-01_rb,4.31710e-01_rb, & 3.53455e-01_rb,2.89384e-01_rb,2.36928e-01_rb,1.93980e-01_rb,1.58817e-01_rb, & 1.30029e-01_rb,1.06458e-01_rb,8.71608e-02_rb,7.13612e-02_rb,5.84256e-02_rb, & 4.78349e-02_rb,3.91639e-02_rb,3.20647e-02_rb,2.62523e-02_rb,2.14936e-02_rb, & 1.75975e-02_rb,1.44076e-02_rb,1.17959e-02_rb,9.65769e-03_rb/) preflog(:) = (/ & 6.9600e+00_rb, 6.7600e+00_rb, 6.5600e+00_rb, 6.3600e+00_rb, 6.1600e+00_rb, & 5.9600e+00_rb, 5.7600e+00_rb, 5.5600e+00_rb, 5.3600e+00_rb, 5.1600e+00_rb, & 4.9600e+00_rb, 4.7600e+00_rb, 4.5600e+00_rb, 4.3600e+00_rb, 4.1600e+00_rb, & 3.9600e+00_rb, 3.7600e+00_rb, 3.5600e+00_rb, 3.3600e+00_rb, 3.1600e+00_rb, & 2.9600e+00_rb, 2.7600e+00_rb, 2.5600e+00_rb, 2.3600e+00_rb, 2.1600e+00_rb, & 1.9600e+00_rb, 1.7600e+00_rb, 1.5600e+00_rb, 1.3600e+00_rb, 1.1600e+00_rb, & 9.6000e-01_rb, 7.6000e-01_rb, 5.6000e-01_rb, 3.6000e-01_rb, 1.6000e-01_rb, & -4.0000e-02_rb,-2.4000e-01_rb,-4.4000e-01_rb,-6.4000e-01_rb,-8.4000e-01_rb, & -1.0400e+00_rb,-1.2400e+00_rb,-1.4400e+00_rb,-1.6400e+00_rb,-1.8400e+00_rb, & -2.0400e+00_rb,-2.2400e+00_rb,-2.4400e+00_rb,-2.6400e+00_rb,-2.8400e+00_rb, & -3.0400e+00_rb,-3.2400e+00_rb,-3.4400e+00_rb,-3.6400e+00_rb,-3.8400e+00_rb, & -4.0400e+00_rb,-4.2400e+00_rb,-4.4400e+00_rb,-4.6400e+00_rb/) ! These are the temperatures associated with the respective ! pressures for the mls standard atmosphere. tref(:) = (/ & 2.9420e+02_rb, 2.8799e+02_rb, 2.7894e+02_rb, 2.6925e+02_rb, 2.5983e+02_rb, & 2.5017e+02_rb, 2.4077e+02_rb, 2.3179e+02_rb, 2.2306e+02_rb, 2.1578e+02_rb, & 2.1570e+02_rb, 2.1570e+02_rb, 2.1570e+02_rb, 2.1706e+02_rb, 2.1858e+02_rb, & 2.2018e+02_rb, 2.2174e+02_rb, 2.2328e+02_rb, 2.2479e+02_rb, 2.2655e+02_rb, & 2.2834e+02_rb, 2.3113e+02_rb, 2.3401e+02_rb, 2.3703e+02_rb, 2.4022e+02_rb, & 2.4371e+02_rb, 2.4726e+02_rb, 2.5085e+02_rb, 2.5457e+02_rb, 2.5832e+02_rb, & 2.6216e+02_rb, 2.6606e+02_rb, 2.6999e+02_rb, 2.7340e+02_rb, 2.7536e+02_rb, & 2.7568e+02_rb, 2.7372e+02_rb, 2.7163e+02_rb, 2.6955e+02_rb, 2.6593e+02_rb, & 2.6211e+02_rb, 2.5828e+02_rb, 2.5360e+02_rb, 2.4854e+02_rb, 2.4348e+02_rb, & 2.3809e+02_rb, 2.3206e+02_rb, 2.2603e+02_rb, 2.2000e+02_rb, 2.1435e+02_rb, & 2.0887e+02_rb, 2.0340e+02_rb, 1.9792e+02_rb, 1.9290e+02_rb, 1.8809e+02_rb, & 1.8329e+02_rb, 1.7849e+02_rb, 1.7394e+02_rb, 1.7212e+02_rb/) chi_mls(1,1:12) = (/ & 1.8760e-02_rb, 1.2223e-02_rb, 5.8909e-03_rb, 2.7675e-03_rb, 1.4065e-03_rb, & 7.5970e-04_rb, 3.8876e-04_rb, 1.6542e-04_rb, 3.7190e-05_rb, 7.4765e-06_rb, & 4.3082e-06_rb, 3.3319e-06_rb/) chi_mls(1,13:59) = (/ & 3.2039e-06_rb, 3.1619e-06_rb, 3.2524e-06_rb, 3.4226e-06_rb, 3.6288e-06_rb, & 3.9148e-06_rb, 4.1488e-06_rb, 4.3081e-06_rb, 4.4420e-06_rb, 4.5778e-06_rb, & 4.7087e-06_rb, 4.7943e-06_rb, 4.8697e-06_rb, 4.9260e-06_rb, 4.9669e-06_rb, & 4.9963e-06_rb, 5.0527e-06_rb, 5.1266e-06_rb, 5.2503e-06_rb, 5.3571e-06_rb, & 5.4509e-06_rb, 5.4830e-06_rb, 5.5000e-06_rb, 5.5000e-06_rb, 5.4536e-06_rb, & 5.4047e-06_rb, 5.3558e-06_rb, 5.2533e-06_rb, 5.1436e-06_rb, 5.0340e-06_rb, & 4.8766e-06_rb, 4.6979e-06_rb, 4.5191e-06_rb, 4.3360e-06_rb, 4.1442e-06_rb, & 3.9523e-06_rb, 3.7605e-06_rb, 3.5722e-06_rb, 3.3855e-06_rb, 3.1988e-06_rb, & 3.0121e-06_rb, 2.8262e-06_rb, 2.6407e-06_rb, 2.4552e-06_rb, 2.2696e-06_rb, & 4.3360e-06_rb, 4.1442e-06_rb/) chi_mls(2,1:12) = (/ & 3.5500e-04_rb, 3.5500e-04_rb, 3.5500e-04_rb, 3.5500e-04_rb, 3.5500e-04_rb, & 3.5500e-04_rb, 3.5500e-04_rb, 3.5500e-04_rb, 3.5500e-04_rb, 3.5500e-04_rb, & 3.5500e-04_rb, 3.5500e-04_rb/) chi_mls(2,13:59) = (/ & 3.5500e-04_rb, 3.5500e-04_rb, 3.5500e-04_rb, 3.5500e-04_rb, 3.5500e-04_rb, & 3.5500e-04_rb, 3.5500e-04_rb, 3.5500e-04_rb, 3.5500e-04_rb, 3.5500e-04_rb, & 3.5500e-04_rb, 3.5500e-04_rb, 3.5500e-04_rb, 3.5500e-04_rb, 3.5500e-04_rb, & 3.5500e-04_rb, 3.5500e-04_rb, 3.5500e-04_rb, 3.5500e-04_rb, 3.5500e-04_rb, & 3.5500e-04_rb, 3.5500e-04_rb, 3.5500e-04_rb, 3.5500e-04_rb, 3.5500e-04_rb, & 3.5500e-04_rb, 3.5500e-04_rb, 3.5500e-04_rb, 3.5500e-04_rb, 3.5500e-04_rb, & 3.5500e-04_rb, 3.5500e-04_rb, 3.5500e-04_rb, 3.5500e-04_rb, 3.5500e-04_rb, & 3.5500e-04_rb, 3.5500e-04_rb, 3.5500e-04_rb, 3.5500e-04_rb, 3.5500e-04_rb, & 3.5500e-04_rb, 3.5471e-04_rb, 3.5427e-04_rb, 3.5384e-04_rb, 3.5340e-04_rb, & 3.5500e-04_rb, 3.5500e-04_rb/) chi_mls(3,1:12) = (/ & 3.0170e-08_rb, 3.4725e-08_rb, 4.2477e-08_rb, 5.2759e-08_rb, 6.6944e-08_rb, & 8.7130e-08_rb, 1.1391e-07_rb, 1.5677e-07_rb, 2.1788e-07_rb, 3.2443e-07_rb, & 4.6594e-07_rb, 5.6806e-07_rb/) chi_mls(3,13:59) = (/ & 6.9607e-07_rb, 1.1186e-06_rb, 1.7618e-06_rb, 2.3269e-06_rb, 2.9577e-06_rb, & 3.6593e-06_rb, 4.5950e-06_rb, 5.3189e-06_rb, 5.9618e-06_rb, 6.5113e-06_rb, & 7.0635e-06_rb, 7.6917e-06_rb, 8.2577e-06_rb, 8.7082e-06_rb, 8.8325e-06_rb, & 8.7149e-06_rb, 8.0943e-06_rb, 7.3307e-06_rb, 6.3101e-06_rb, 5.3672e-06_rb, & 4.4829e-06_rb, 3.8391e-06_rb, 3.2827e-06_rb, 2.8235e-06_rb, 2.4906e-06_rb, & 2.1645e-06_rb, 1.8385e-06_rb, 1.6618e-06_rb, 1.5052e-06_rb, 1.3485e-06_rb, & 1.1972e-06_rb, 1.0482e-06_rb, 8.9926e-07_rb, 7.6343e-07_rb, 6.5381e-07_rb, & 5.4419e-07_rb, 4.3456e-07_rb, 3.6421e-07_rb, 3.1194e-07_rb, 2.5967e-07_rb, & 2.0740e-07_rb, 1.9146e-07_rb, 1.9364e-07_rb, 1.9582e-07_rb, 1.9800e-07_rb, & 7.6343e-07_rb, 6.5381e-07_rb/) chi_mls(4,1:12) = (/ & 3.2000e-07_rb, 3.2000e-07_rb, 3.2000e-07_rb, 3.2000e-07_rb, 3.2000e-07_rb, & 3.1965e-07_rb, 3.1532e-07_rb, 3.0383e-07_rb, 2.9422e-07_rb, 2.8495e-07_rb, & 2.7671e-07_rb, 2.6471e-07_rb/) chi_mls(4,13:59) = (/ & 2.4285e-07_rb, 2.0955e-07_rb, 1.7195e-07_rb, 1.3749e-07_rb, 1.1332e-07_rb, & 1.0035e-07_rb, 9.1281e-08_rb, 8.5463e-08_rb, 8.0363e-08_rb, 7.3372e-08_rb, & 6.5975e-08_rb, 5.6039e-08_rb, 4.7090e-08_rb, 3.9977e-08_rb, 3.2979e-08_rb, & 2.6064e-08_rb, 2.1066e-08_rb, 1.6592e-08_rb, 1.3017e-08_rb, 1.0090e-08_rb, & 7.6249e-09_rb, 6.1159e-09_rb, 4.6672e-09_rb, 3.2857e-09_rb, 2.8484e-09_rb, & 2.4620e-09_rb, 2.0756e-09_rb, 1.8551e-09_rb, 1.6568e-09_rb, 1.4584e-09_rb, & 1.3195e-09_rb, 1.2072e-09_rb, 1.0948e-09_rb, 9.9780e-10_rb, 9.3126e-10_rb, & 8.6472e-10_rb, 7.9818e-10_rb, 7.5138e-10_rb, 7.1367e-10_rb, 6.7596e-10_rb, & 6.3825e-10_rb, 6.0981e-10_rb, 5.8600e-10_rb, 5.6218e-10_rb, 5.3837e-10_rb, & 9.9780e-10_rb, 9.3126e-10_rb/) chi_mls(5,1:12) = (/ & 1.5000e-07_rb, 1.4306e-07_rb, 1.3474e-07_rb, 1.3061e-07_rb, 1.2793e-07_rb, & 1.2038e-07_rb, 1.0798e-07_rb, 9.4238e-08_rb, 7.9488e-08_rb, 6.1386e-08_rb, & 4.5563e-08_rb, 3.3475e-08_rb/) chi_mls(5,13:59) = (/ & 2.5118e-08_rb, 1.8671e-08_rb, 1.4349e-08_rb, 1.2501e-08_rb, 1.2407e-08_rb, & 1.3472e-08_rb, 1.4900e-08_rb, 1.6079e-08_rb, 1.7156e-08_rb, 1.8616e-08_rb, & 2.0106e-08_rb, 2.1654e-08_rb, 2.3096e-08_rb, 2.4340e-08_rb, 2.5643e-08_rb, & 2.6990e-08_rb, 2.8456e-08_rb, 2.9854e-08_rb, 3.0943e-08_rb, 3.2023e-08_rb, & 3.3101e-08_rb, 3.4260e-08_rb, 3.5360e-08_rb, 3.6397e-08_rb, 3.7310e-08_rb, & 3.8217e-08_rb, 3.9123e-08_rb, 4.1303e-08_rb, 4.3652e-08_rb, 4.6002e-08_rb, & 5.0289e-08_rb, 5.5446e-08_rb, 6.0603e-08_rb, 6.8946e-08_rb, 8.3652e-08_rb, & 9.8357e-08_rb, 1.1306e-07_rb, 1.4766e-07_rb, 1.9142e-07_rb, 2.3518e-07_rb, & 2.7894e-07_rb, 3.5001e-07_rb, 4.3469e-07_rb, 5.1938e-07_rb, 6.0407e-07_rb, & 6.8946e-08_rb, 8.3652e-08_rb/) chi_mls(6,1:12) = (/ & 1.7000e-06_rb, 1.7000e-06_rb, 1.6999e-06_rb, 1.6904e-06_rb, 1.6671e-06_rb, & 1.6351e-06_rb, 1.6098e-06_rb, 1.5590e-06_rb, 1.5120e-06_rb, 1.4741e-06_rb, & 1.4385e-06_rb, 1.4002e-06_rb/) chi_mls(6,13:59) = (/ & 1.3573e-06_rb, 1.3130e-06_rb, 1.2512e-06_rb, 1.1668e-06_rb, 1.0553e-06_rb, & 9.3281e-07_rb, 8.1217e-07_rb, 7.5239e-07_rb, 7.0728e-07_rb, 6.6722e-07_rb, & 6.2733e-07_rb, 5.8604e-07_rb, 5.4769e-07_rb, 5.1480e-07_rb, 4.8206e-07_rb, & 4.4943e-07_rb, 4.1702e-07_rb, 3.8460e-07_rb, 3.5200e-07_rb, 3.1926e-07_rb, & 2.8646e-07_rb, 2.5498e-07_rb, 2.2474e-07_rb, 1.9588e-07_rb, 1.8295e-07_rb, & 1.7089e-07_rb, 1.5882e-07_rb, 1.5536e-07_rb, 1.5304e-07_rb, 1.5072e-07_rb, & 1.5000e-07_rb, 1.5000e-07_rb, 1.5000e-07_rb, 1.5000e-07_rb, 1.5000e-07_rb, & 1.5000e-07_rb, 1.5000e-07_rb, 1.5000e-07_rb, 1.5000e-07_rb, 1.5000e-07_rb, & 1.5000e-07_rb, 1.5000e-07_rb, 1.5000e-07_rb, 1.5000e-07_rb, 1.5000e-07_rb, & 1.5000e-07_rb, 1.5000e-07_rb/) chi_mls(7,1:12) = (/ & 0.2090_rb, 0.2090_rb, 0.2090_rb, 0.2090_rb, 0.2090_rb, & 0.2090_rb, 0.2090_rb, 0.2090_rb, 0.2090_rb, 0.2090_rb, & 0.2090_rb, 0.2090_rb/) chi_mls(7,13:59) = (/ & 0.2090_rb, 0.2090_rb, 0.2090_rb, 0.2090_rb, 0.2090_rb, & 0.2090_rb, 0.2090_rb, 0.2090_rb, 0.2090_rb, 0.2090_rb, & 0.2090_rb, 0.2090_rb, 0.2090_rb, 0.2090_rb, 0.2090_rb, & 0.2090_rb, 0.2090_rb, 0.2090_rb, 0.2090_rb, 0.2090_rb, & 0.2090_rb, 0.2090_rb, 0.2090_rb, 0.2090_rb, 0.2090_rb, & 0.2090_rb, 0.2090_rb, 0.2090_rb, 0.2090_rb, 0.2090_rb, & 0.2090_rb, 0.2090_rb, 0.2090_rb, 0.2090_rb, 0.2090_rb, & 0.2090_rb, 0.2090_rb, 0.2090_rb, 0.2090_rb, 0.2090_rb, & 0.2090_rb, 0.2090_rb, 0.2090_rb, 0.2090_rb, 0.2090_rb, & 0.2090_rb, 0.2090_rb/) end subroutine lwatmref !*************************************************************************** subroutine lwavplank !*************************************************************************** save totplnk(1:50, 1) = (/ & 0.14783e-05_rb,0.15006e-05_rb,0.15230e-05_rb,0.15455e-05_rb,0.15681e-05_rb, & 0.15908e-05_rb,0.16136e-05_rb,0.16365e-05_rb,0.16595e-05_rb,0.16826e-05_rb, & 0.17059e-05_rb,0.17292e-05_rb,0.17526e-05_rb,0.17762e-05_rb,0.17998e-05_rb, & 0.18235e-05_rb,0.18473e-05_rb,0.18712e-05_rb,0.18953e-05_rb,0.19194e-05_rb, & 0.19435e-05_rb,0.19678e-05_rb,0.19922e-05_rb,0.20166e-05_rb,0.20412e-05_rb, & 0.20658e-05_rb,0.20905e-05_rb,0.21153e-05_rb,0.21402e-05_rb,0.21652e-05_rb, & 0.21902e-05_rb,0.22154e-05_rb,0.22406e-05_rb,0.22659e-05_rb,0.22912e-05_rb, & 0.23167e-05_rb,0.23422e-05_rb,0.23678e-05_rb,0.23934e-05_rb,0.24192e-05_rb, & 0.24450e-05_rb,0.24709e-05_rb,0.24968e-05_rb,0.25229e-05_rb,0.25490e-05_rb, & 0.25751e-05_rb,0.26014e-05_rb,0.26277e-05_rb,0.26540e-05_rb,0.26805e-05_rb/) totplnk(51:100, 1) = (/ & 0.27070e-05_rb,0.27335e-05_rb,0.27602e-05_rb,0.27869e-05_rb,0.28136e-05_rb, & 0.28404e-05_rb,0.28673e-05_rb,0.28943e-05_rb,0.29213e-05_rb,0.29483e-05_rb, & 0.29754e-05_rb,0.30026e-05_rb,0.30298e-05_rb,0.30571e-05_rb,0.30845e-05_rb, & 0.31119e-05_rb,0.31393e-05_rb,0.31669e-05_rb,0.31944e-05_rb,0.32220e-05_rb, & 0.32497e-05_rb,0.32774e-05_rb,0.33052e-05_rb,0.33330e-05_rb,0.33609e-05_rb, & 0.33888e-05_rb,0.34168e-05_rb,0.34448e-05_rb,0.34729e-05_rb,0.35010e-05_rb, & 0.35292e-05_rb,0.35574e-05_rb,0.35857e-05_rb,0.36140e-05_rb,0.36424e-05_rb, & 0.36708e-05_rb,0.36992e-05_rb,0.37277e-05_rb,0.37563e-05_rb,0.37848e-05_rb, & 0.38135e-05_rb,0.38421e-05_rb,0.38708e-05_rb,0.38996e-05_rb,0.39284e-05_rb, & 0.39572e-05_rb,0.39861e-05_rb,0.40150e-05_rb,0.40440e-05_rb,0.40730e-05_rb/) totplnk(101:150, 1) = (/ & 0.41020e-05_rb,0.41311e-05_rb,0.41602e-05_rb,0.41893e-05_rb,0.42185e-05_rb, & 0.42477e-05_rb,0.42770e-05_rb,0.43063e-05_rb,0.43356e-05_rb,0.43650e-05_rb, & 0.43944e-05_rb,0.44238e-05_rb,0.44533e-05_rb,0.44828e-05_rb,0.45124e-05_rb, & 0.45419e-05_rb,0.45715e-05_rb,0.46012e-05_rb,0.46309e-05_rb,0.46606e-05_rb, & 0.46903e-05_rb,0.47201e-05_rb,0.47499e-05_rb,0.47797e-05_rb,0.48096e-05_rb, & 0.48395e-05_rb,0.48695e-05_rb,0.48994e-05_rb,0.49294e-05_rb,0.49594e-05_rb, & 0.49895e-05_rb,0.50196e-05_rb,0.50497e-05_rb,0.50798e-05_rb,0.51100e-05_rb, & 0.51402e-05_rb,0.51704e-05_rb,0.52007e-05_rb,0.52309e-05_rb,0.52612e-05_rb, & 0.52916e-05_rb,0.53219e-05_rb,0.53523e-05_rb,0.53827e-05_rb,0.54132e-05_rb, & 0.54436e-05_rb,0.54741e-05_rb,0.55047e-05_rb,0.55352e-05_rb,0.55658e-05_rb/) totplnk(151:181, 1) = (/ & 0.55964e-05_rb,0.56270e-05_rb,0.56576e-05_rb,0.56883e-05_rb,0.57190e-05_rb, & 0.57497e-05_rb,0.57804e-05_rb,0.58112e-05_rb,0.58420e-05_rb,0.58728e-05_rb, & 0.59036e-05_rb,0.59345e-05_rb,0.59653e-05_rb,0.59962e-05_rb,0.60272e-05_rb, & 0.60581e-05_rb,0.60891e-05_rb,0.61201e-05_rb,0.61511e-05_rb,0.61821e-05_rb, & 0.62131e-05_rb,0.62442e-05_rb,0.62753e-05_rb,0.63064e-05_rb,0.63376e-05_rb, & 0.63687e-05_rb,0.63998e-05_rb,0.64310e-05_rb,0.64622e-05_rb,0.64935e-05_rb, & 0.65247e-05_rb/) totplnk(1:50, 2) = (/ & 0.20262e-05_rb,0.20757e-05_rb,0.21257e-05_rb,0.21763e-05_rb,0.22276e-05_rb, & 0.22794e-05_rb,0.23319e-05_rb,0.23849e-05_rb,0.24386e-05_rb,0.24928e-05_rb, & 0.25477e-05_rb,0.26031e-05_rb,0.26591e-05_rb,0.27157e-05_rb,0.27728e-05_rb, & 0.28306e-05_rb,0.28889e-05_rb,0.29478e-05_rb,0.30073e-05_rb,0.30673e-05_rb, & 0.31279e-05_rb,0.31890e-05_rb,0.32507e-05_rb,0.33129e-05_rb,0.33757e-05_rb, & 0.34391e-05_rb,0.35029e-05_rb,0.35674e-05_rb,0.36323e-05_rb,0.36978e-05_rb, & 0.37638e-05_rb,0.38304e-05_rb,0.38974e-05_rb,0.39650e-05_rb,0.40331e-05_rb, & 0.41017e-05_rb,0.41708e-05_rb,0.42405e-05_rb,0.43106e-05_rb,0.43812e-05_rb, & 0.44524e-05_rb,0.45240e-05_rb,0.45961e-05_rb,0.46687e-05_rb,0.47418e-05_rb, & 0.48153e-05_rb,0.48894e-05_rb,0.49639e-05_rb,0.50389e-05_rb,0.51143e-05_rb/) totplnk(51:100, 2) = (/ & 0.51902e-05_rb,0.52666e-05_rb,0.53434e-05_rb,0.54207e-05_rb,0.54985e-05_rb, & 0.55767e-05_rb,0.56553e-05_rb,0.57343e-05_rb,0.58139e-05_rb,0.58938e-05_rb, & 0.59742e-05_rb,0.60550e-05_rb,0.61362e-05_rb,0.62179e-05_rb,0.63000e-05_rb, & 0.63825e-05_rb,0.64654e-05_rb,0.65487e-05_rb,0.66324e-05_rb,0.67166e-05_rb, & 0.68011e-05_rb,0.68860e-05_rb,0.69714e-05_rb,0.70571e-05_rb,0.71432e-05_rb, & 0.72297e-05_rb,0.73166e-05_rb,0.74039e-05_rb,0.74915e-05_rb,0.75796e-05_rb, & 0.76680e-05_rb,0.77567e-05_rb,0.78459e-05_rb,0.79354e-05_rb,0.80252e-05_rb, & 0.81155e-05_rb,0.82061e-05_rb,0.82970e-05_rb,0.83883e-05_rb,0.84799e-05_rb, & 0.85719e-05_rb,0.86643e-05_rb,0.87569e-05_rb,0.88499e-05_rb,0.89433e-05_rb, & 0.90370e-05_rb,0.91310e-05_rb,0.92254e-05_rb,0.93200e-05_rb,0.94150e-05_rb/) totplnk(101:150, 2) = (/ & 0.95104e-05_rb,0.96060e-05_rb,0.97020e-05_rb,0.97982e-05_rb,0.98948e-05_rb, & 0.99917e-05_rb,0.10089e-04_rb,0.10186e-04_rb,0.10284e-04_rb,0.10382e-04_rb, & 0.10481e-04_rb,0.10580e-04_rb,0.10679e-04_rb,0.10778e-04_rb,0.10877e-04_rb, & 0.10977e-04_rb,0.11077e-04_rb,0.11178e-04_rb,0.11279e-04_rb,0.11380e-04_rb, & 0.11481e-04_rb,0.11583e-04_rb,0.11684e-04_rb,0.11786e-04_rb,0.11889e-04_rb, & 0.11992e-04_rb,0.12094e-04_rb,0.12198e-04_rb,0.12301e-04_rb,0.12405e-04_rb, & 0.12509e-04_rb,0.12613e-04_rb,0.12717e-04_rb,0.12822e-04_rb,0.12927e-04_rb, & 0.13032e-04_rb,0.13138e-04_rb,0.13244e-04_rb,0.13349e-04_rb,0.13456e-04_rb, & 0.13562e-04_rb,0.13669e-04_rb,0.13776e-04_rb,0.13883e-04_rb,0.13990e-04_rb, & 0.14098e-04_rb,0.14206e-04_rb,0.14314e-04_rb,0.14422e-04_rb,0.14531e-04_rb/) totplnk(151:181, 2) = (/ & 0.14639e-04_rb,0.14748e-04_rb,0.14857e-04_rb,0.14967e-04_rb,0.15076e-04_rb, & 0.15186e-04_rb,0.15296e-04_rb,0.15407e-04_rb,0.15517e-04_rb,0.15628e-04_rb, & 0.15739e-04_rb,0.15850e-04_rb,0.15961e-04_rb,0.16072e-04_rb,0.16184e-04_rb, & 0.16296e-04_rb,0.16408e-04_rb,0.16521e-04_rb,0.16633e-04_rb,0.16746e-04_rb, & 0.16859e-04_rb,0.16972e-04_rb,0.17085e-04_rb,0.17198e-04_rb,0.17312e-04_rb, & 0.17426e-04_rb,0.17540e-04_rb,0.17654e-04_rb,0.17769e-04_rb,0.17883e-04_rb, & 0.17998e-04_rb/) totplnk(1:50, 3) = (/ & 1.34822e-06_rb,1.39134e-06_rb,1.43530e-06_rb,1.48010e-06_rb,1.52574e-06_rb, & 1.57222e-06_rb,1.61956e-06_rb,1.66774e-06_rb,1.71678e-06_rb,1.76666e-06_rb, & 1.81741e-06_rb,1.86901e-06_rb,1.92147e-06_rb,1.97479e-06_rb,2.02898e-06_rb, & 2.08402e-06_rb,2.13993e-06_rb,2.19671e-06_rb,2.25435e-06_rb,2.31285e-06_rb, & 2.37222e-06_rb,2.43246e-06_rb,2.49356e-06_rb,2.55553e-06_rb,2.61837e-06_rb, & 2.68207e-06_rb,2.74664e-06_rb,2.81207e-06_rb,2.87837e-06_rb,2.94554e-06_rb, & 3.01356e-06_rb,3.08245e-06_rb,3.15221e-06_rb,3.22282e-06_rb,3.29429e-06_rb, & 3.36662e-06_rb,3.43982e-06_rb,3.51386e-06_rb,3.58876e-06_rb,3.66451e-06_rb, & 3.74112e-06_rb,3.81857e-06_rb,3.89688e-06_rb,3.97602e-06_rb,4.05601e-06_rb, & 4.13685e-06_rb,4.21852e-06_rb,4.30104e-06_rb,4.38438e-06_rb,4.46857e-06_rb/) totplnk(51:100, 3) = (/ & 4.55358e-06_rb,4.63943e-06_rb,4.72610e-06_rb,4.81359e-06_rb,4.90191e-06_rb, & 4.99105e-06_rb,5.08100e-06_rb,5.17176e-06_rb,5.26335e-06_rb,5.35573e-06_rb, & 5.44892e-06_rb,5.54292e-06_rb,5.63772e-06_rb,5.73331e-06_rb,5.82970e-06_rb, & 5.92688e-06_rb,6.02485e-06_rb,6.12360e-06_rb,6.22314e-06_rb,6.32346e-06_rb, & 6.42455e-06_rb,6.52641e-06_rb,6.62906e-06_rb,6.73247e-06_rb,6.83664e-06_rb, & 6.94156e-06_rb,7.04725e-06_rb,7.15370e-06_rb,7.26089e-06_rb,7.36883e-06_rb, & 7.47752e-06_rb,7.58695e-06_rb,7.69712e-06_rb,7.80801e-06_rb,7.91965e-06_rb, & 8.03201e-06_rb,8.14510e-06_rb,8.25891e-06_rb,8.37343e-06_rb,8.48867e-06_rb, & 8.60463e-06_rb,8.72128e-06_rb,8.83865e-06_rb,8.95672e-06_rb,9.07548e-06_rb, & 9.19495e-06_rb,9.31510e-06_rb,9.43594e-06_rb,9.55745e-06_rb,9.67966e-06_rb/) totplnk(101:150, 3) = (/ & 9.80254e-06_rb,9.92609e-06_rb,1.00503e-05_rb,1.01752e-05_rb,1.03008e-05_rb, & 1.04270e-05_rb,1.05539e-05_rb,1.06814e-05_rb,1.08096e-05_rb,1.09384e-05_rb, & 1.10679e-05_rb,1.11980e-05_rb,1.13288e-05_rb,1.14601e-05_rb,1.15922e-05_rb, & 1.17248e-05_rb,1.18581e-05_rb,1.19920e-05_rb,1.21265e-05_rb,1.22616e-05_rb, & 1.23973e-05_rb,1.25337e-05_rb,1.26706e-05_rb,1.28081e-05_rb,1.29463e-05_rb, & 1.30850e-05_rb,1.32243e-05_rb,1.33642e-05_rb,1.35047e-05_rb,1.36458e-05_rb, & 1.37875e-05_rb,1.39297e-05_rb,1.40725e-05_rb,1.42159e-05_rb,1.43598e-05_rb, & 1.45044e-05_rb,1.46494e-05_rb,1.47950e-05_rb,1.49412e-05_rb,1.50879e-05_rb, & 1.52352e-05_rb,1.53830e-05_rb,1.55314e-05_rb,1.56803e-05_rb,1.58297e-05_rb, & 1.59797e-05_rb,1.61302e-05_rb,1.62812e-05_rb,1.64327e-05_rb,1.65848e-05_rb/) totplnk(151:181, 3) = (/ & 1.67374e-05_rb,1.68904e-05_rb,1.70441e-05_rb,1.71982e-05_rb,1.73528e-05_rb, & 1.75079e-05_rb,1.76635e-05_rb,1.78197e-05_rb,1.79763e-05_rb,1.81334e-05_rb, & 1.82910e-05_rb,1.84491e-05_rb,1.86076e-05_rb,1.87667e-05_rb,1.89262e-05_rb, & 1.90862e-05_rb,1.92467e-05_rb,1.94076e-05_rb,1.95690e-05_rb,1.97309e-05_rb, & 1.98932e-05_rb,2.00560e-05_rb,2.02193e-05_rb,2.03830e-05_rb,2.05472e-05_rb, & 2.07118e-05_rb,2.08768e-05_rb,2.10423e-05_rb,2.12083e-05_rb,2.13747e-05_rb, & 2.15414e-05_rb/) totplnk(1:50, 4) = (/ & 8.90528e-07_rb,9.24222e-07_rb,9.58757e-07_rb,9.94141e-07_rb,1.03038e-06_rb, & 1.06748e-06_rb,1.10545e-06_rb,1.14430e-06_rb,1.18403e-06_rb,1.22465e-06_rb, & 1.26618e-06_rb,1.30860e-06_rb,1.35193e-06_rb,1.39619e-06_rb,1.44136e-06_rb, & 1.48746e-06_rb,1.53449e-06_rb,1.58246e-06_rb,1.63138e-06_rb,1.68124e-06_rb, & 1.73206e-06_rb,1.78383e-06_rb,1.83657e-06_rb,1.89028e-06_rb,1.94495e-06_rb, & 2.00060e-06_rb,2.05724e-06_rb,2.11485e-06_rb,2.17344e-06_rb,2.23303e-06_rb, & 2.29361e-06_rb,2.35519e-06_rb,2.41777e-06_rb,2.48134e-06_rb,2.54592e-06_rb, & 2.61151e-06_rb,2.67810e-06_rb,2.74571e-06_rb,2.81433e-06_rb,2.88396e-06_rb, & 2.95461e-06_rb,3.02628e-06_rb,3.09896e-06_rb,3.17267e-06_rb,3.24741e-06_rb, & 3.32316e-06_rb,3.39994e-06_rb,3.47774e-06_rb,3.55657e-06_rb,3.63642e-06_rb/) totplnk(51:100, 4) = (/ & 3.71731e-06_rb,3.79922e-06_rb,3.88216e-06_rb,3.96612e-06_rb,4.05112e-06_rb, & 4.13714e-06_rb,4.22419e-06_rb,4.31227e-06_rb,4.40137e-06_rb,4.49151e-06_rb, & 4.58266e-06_rb,4.67485e-06_rb,4.76806e-06_rb,4.86229e-06_rb,4.95754e-06_rb, & 5.05383e-06_rb,5.15113e-06_rb,5.24946e-06_rb,5.34879e-06_rb,5.44916e-06_rb, & 5.55053e-06_rb,5.65292e-06_rb,5.75632e-06_rb,5.86073e-06_rb,5.96616e-06_rb, & 6.07260e-06_rb,6.18003e-06_rb,6.28848e-06_rb,6.39794e-06_rb,6.50838e-06_rb, & 6.61983e-06_rb,6.73229e-06_rb,6.84573e-06_rb,6.96016e-06_rb,7.07559e-06_rb, & 7.19200e-06_rb,7.30940e-06_rb,7.42779e-06_rb,7.54715e-06_rb,7.66749e-06_rb, & 7.78882e-06_rb,7.91110e-06_rb,8.03436e-06_rb,8.15859e-06_rb,8.28379e-06_rb, & 8.40994e-06_rb,8.53706e-06_rb,8.66515e-06_rb,8.79418e-06_rb,8.92416e-06_rb/) totplnk(101:150, 4) = (/ & 9.05510e-06_rb,9.18697e-06_rb,9.31979e-06_rb,9.45356e-06_rb,9.58826e-06_rb, & 9.72389e-06_rb,9.86046e-06_rb,9.99793e-06_rb,1.01364e-05_rb,1.02757e-05_rb, & 1.04159e-05_rb,1.05571e-05_rb,1.06992e-05_rb,1.08422e-05_rb,1.09861e-05_rb, & 1.11309e-05_rb,1.12766e-05_rb,1.14232e-05_rb,1.15707e-05_rb,1.17190e-05_rb, & 1.18683e-05_rb,1.20184e-05_rb,1.21695e-05_rb,1.23214e-05_rb,1.24741e-05_rb, & 1.26277e-05_rb,1.27822e-05_rb,1.29376e-05_rb,1.30939e-05_rb,1.32509e-05_rb, & 1.34088e-05_rb,1.35676e-05_rb,1.37273e-05_rb,1.38877e-05_rb,1.40490e-05_rb, & 1.42112e-05_rb,1.43742e-05_rb,1.45380e-05_rb,1.47026e-05_rb,1.48680e-05_rb, & 1.50343e-05_rb,1.52014e-05_rb,1.53692e-05_rb,1.55379e-05_rb,1.57074e-05_rb, & 1.58778e-05_rb,1.60488e-05_rb,1.62207e-05_rb,1.63934e-05_rb,1.65669e-05_rb/) totplnk(151:181, 4) = (/ & 1.67411e-05_rb,1.69162e-05_rb,1.70920e-05_rb,1.72685e-05_rb,1.74459e-05_rb, & 1.76240e-05_rb,1.78029e-05_rb,1.79825e-05_rb,1.81629e-05_rb,1.83440e-05_rb, & 1.85259e-05_rb,1.87086e-05_rb,1.88919e-05_rb,1.90760e-05_rb,1.92609e-05_rb, & 1.94465e-05_rb,1.96327e-05_rb,1.98199e-05_rb,2.00076e-05_rb,2.01961e-05_rb, & 2.03853e-05_rb,2.05752e-05_rb,2.07658e-05_rb,2.09571e-05_rb,2.11491e-05_rb, & 2.13418e-05_rb,2.15352e-05_rb,2.17294e-05_rb,2.19241e-05_rb,2.21196e-05_rb, & 2.23158e-05_rb/) totplnk(1:50, 5) = (/ & 5.70230e-07_rb,5.94788e-07_rb,6.20085e-07_rb,6.46130e-07_rb,6.72936e-07_rb, & 7.00512e-07_rb,7.28869e-07_rb,7.58019e-07_rb,7.87971e-07_rb,8.18734e-07_rb, & 8.50320e-07_rb,8.82738e-07_rb,9.15999e-07_rb,9.50110e-07_rb,9.85084e-07_rb, & 1.02093e-06_rb,1.05765e-06_rb,1.09527e-06_rb,1.13378e-06_rb,1.17320e-06_rb, & 1.21353e-06_rb,1.25479e-06_rb,1.29698e-06_rb,1.34011e-06_rb,1.38419e-06_rb, & 1.42923e-06_rb,1.47523e-06_rb,1.52221e-06_rb,1.57016e-06_rb,1.61910e-06_rb, & 1.66904e-06_rb,1.71997e-06_rb,1.77192e-06_rb,1.82488e-06_rb,1.87886e-06_rb, & 1.93387e-06_rb,1.98991e-06_rb,2.04699e-06_rb,2.10512e-06_rb,2.16430e-06_rb, & 2.22454e-06_rb,2.28584e-06_rb,2.34821e-06_rb,2.41166e-06_rb,2.47618e-06_rb, & 2.54178e-06_rb,2.60847e-06_rb,2.67626e-06_rb,2.74514e-06_rb,2.81512e-06_rb/) totplnk(51:100, 5) = (/ & 2.88621e-06_rb,2.95841e-06_rb,3.03172e-06_rb,3.10615e-06_rb,3.18170e-06_rb, & 3.25838e-06_rb,3.33618e-06_rb,3.41511e-06_rb,3.49518e-06_rb,3.57639e-06_rb, & 3.65873e-06_rb,3.74221e-06_rb,3.82684e-06_rb,3.91262e-06_rb,3.99955e-06_rb, & 4.08763e-06_rb,4.17686e-06_rb,4.26725e-06_rb,4.35880e-06_rb,4.45150e-06_rb, & 4.54537e-06_rb,4.64039e-06_rb,4.73659e-06_rb,4.83394e-06_rb,4.93246e-06_rb, & 5.03215e-06_rb,5.13301e-06_rb,5.23504e-06_rb,5.33823e-06_rb,5.44260e-06_rb, & 5.54814e-06_rb,5.65484e-06_rb,5.76272e-06_rb,5.87177e-06_rb,5.98199e-06_rb, & 6.09339e-06_rb,6.20596e-06_rb,6.31969e-06_rb,6.43460e-06_rb,6.55068e-06_rb, & 6.66793e-06_rb,6.78636e-06_rb,6.90595e-06_rb,7.02670e-06_rb,7.14863e-06_rb, & 7.27173e-06_rb,7.39599e-06_rb,7.52142e-06_rb,7.64802e-06_rb,7.77577e-06_rb/) totplnk(101:150, 5) = (/ & 7.90469e-06_rb,8.03477e-06_rb,8.16601e-06_rb,8.29841e-06_rb,8.43198e-06_rb, & 8.56669e-06_rb,8.70256e-06_rb,8.83957e-06_rb,8.97775e-06_rb,9.11706e-06_rb, & 9.25753e-06_rb,9.39915e-06_rb,9.54190e-06_rb,9.68580e-06_rb,9.83085e-06_rb, & 9.97704e-06_rb,1.01243e-05_rb,1.02728e-05_rb,1.04224e-05_rb,1.05731e-05_rb, & 1.07249e-05_rb,1.08779e-05_rb,1.10320e-05_rb,1.11872e-05_rb,1.13435e-05_rb, & 1.15009e-05_rb,1.16595e-05_rb,1.18191e-05_rb,1.19799e-05_rb,1.21418e-05_rb, & 1.23048e-05_rb,1.24688e-05_rb,1.26340e-05_rb,1.28003e-05_rb,1.29676e-05_rb, & 1.31361e-05_rb,1.33056e-05_rb,1.34762e-05_rb,1.36479e-05_rb,1.38207e-05_rb, & 1.39945e-05_rb,1.41694e-05_rb,1.43454e-05_rb,1.45225e-05_rb,1.47006e-05_rb, & 1.48797e-05_rb,1.50600e-05_rb,1.52413e-05_rb,1.54236e-05_rb,1.56070e-05_rb/) totplnk(151:181, 5) = (/ & 1.57914e-05_rb,1.59768e-05_rb,1.61633e-05_rb,1.63509e-05_rb,1.65394e-05_rb, & 1.67290e-05_rb,1.69197e-05_rb,1.71113e-05_rb,1.73040e-05_rb,1.74976e-05_rb, & 1.76923e-05_rb,1.78880e-05_rb,1.80847e-05_rb,1.82824e-05_rb,1.84811e-05_rb, & 1.86808e-05_rb,1.88814e-05_rb,1.90831e-05_rb,1.92857e-05_rb,1.94894e-05_rb, & 1.96940e-05_rb,1.98996e-05_rb,2.01061e-05_rb,2.03136e-05_rb,2.05221e-05_rb, & 2.07316e-05_rb,2.09420e-05_rb,2.11533e-05_rb,2.13657e-05_rb,2.15789e-05_rb, & 2.17931e-05_rb/) totplnk(1:50, 6) = (/ & 2.73493e-07_rb,2.87408e-07_rb,3.01848e-07_rb,3.16825e-07_rb,3.32352e-07_rb, & 3.48439e-07_rb,3.65100e-07_rb,3.82346e-07_rb,4.00189e-07_rb,4.18641e-07_rb, & 4.37715e-07_rb,4.57422e-07_rb,4.77774e-07_rb,4.98784e-07_rb,5.20464e-07_rb, & 5.42824e-07_rb,5.65879e-07_rb,5.89638e-07_rb,6.14115e-07_rb,6.39320e-07_rb, & 6.65266e-07_rb,6.91965e-07_rb,7.19427e-07_rb,7.47666e-07_rb,7.76691e-07_rb, & 8.06516e-07_rb,8.37151e-07_rb,8.68607e-07_rb,9.00896e-07_rb,9.34029e-07_rb, & 9.68018e-07_rb,1.00287e-06_rb,1.03860e-06_rb,1.07522e-06_rb,1.11274e-06_rb, & 1.15117e-06_rb,1.19052e-06_rb,1.23079e-06_rb,1.27201e-06_rb,1.31418e-06_rb, & 1.35731e-06_rb,1.40141e-06_rb,1.44650e-06_rb,1.49257e-06_rb,1.53965e-06_rb, & 1.58773e-06_rb,1.63684e-06_rb,1.68697e-06_rb,1.73815e-06_rb,1.79037e-06_rb/) totplnk(51:100, 6) = (/ & 1.84365e-06_rb,1.89799e-06_rb,1.95341e-06_rb,2.00991e-06_rb,2.06750e-06_rb, & 2.12619e-06_rb,2.18599e-06_rb,2.24691e-06_rb,2.30895e-06_rb,2.37212e-06_rb, & 2.43643e-06_rb,2.50189e-06_rb,2.56851e-06_rb,2.63628e-06_rb,2.70523e-06_rb, & 2.77536e-06_rb,2.84666e-06_rb,2.91916e-06_rb,2.99286e-06_rb,3.06776e-06_rb, & 3.14387e-06_rb,3.22120e-06_rb,3.29975e-06_rb,3.37953e-06_rb,3.46054e-06_rb, & 3.54280e-06_rb,3.62630e-06_rb,3.71105e-06_rb,3.79707e-06_rb,3.88434e-06_rb, & 3.97288e-06_rb,4.06270e-06_rb,4.15380e-06_rb,4.24617e-06_rb,4.33984e-06_rb, & 4.43479e-06_rb,4.53104e-06_rb,4.62860e-06_rb,4.72746e-06_rb,4.82763e-06_rb, & 4.92911e-06_rb,5.03191e-06_rb,5.13603e-06_rb,5.24147e-06_rb,5.34824e-06_rb, & 5.45634e-06_rb,5.56578e-06_rb,5.67656e-06_rb,5.78867e-06_rb,5.90213e-06_rb/) totplnk(101:150, 6) = (/ & 6.01694e-06_rb,6.13309e-06_rb,6.25060e-06_rb,6.36947e-06_rb,6.48968e-06_rb, & 6.61126e-06_rb,6.73420e-06_rb,6.85850e-06_rb,6.98417e-06_rb,7.11120e-06_rb, & 7.23961e-06_rb,7.36938e-06_rb,7.50053e-06_rb,7.63305e-06_rb,7.76694e-06_rb, & 7.90221e-06_rb,8.03887e-06_rb,8.17690e-06_rb,8.31632e-06_rb,8.45710e-06_rb, & 8.59928e-06_rb,8.74282e-06_rb,8.88776e-06_rb,9.03409e-06_rb,9.18179e-06_rb, & 9.33088e-06_rb,9.48136e-06_rb,9.63323e-06_rb,9.78648e-06_rb,9.94111e-06_rb, & 1.00971e-05_rb,1.02545e-05_rb,1.04133e-05_rb,1.05735e-05_rb,1.07351e-05_rb, & 1.08980e-05_rb,1.10624e-05_rb,1.12281e-05_rb,1.13952e-05_rb,1.15637e-05_rb, & 1.17335e-05_rb,1.19048e-05_rb,1.20774e-05_rb,1.22514e-05_rb,1.24268e-05_rb, & 1.26036e-05_rb,1.27817e-05_rb,1.29612e-05_rb,1.31421e-05_rb,1.33244e-05_rb/) totplnk(151:181, 6) = (/ & 1.35080e-05_rb,1.36930e-05_rb,1.38794e-05_rb,1.40672e-05_rb,1.42563e-05_rb, & 1.44468e-05_rb,1.46386e-05_rb,1.48318e-05_rb,1.50264e-05_rb,1.52223e-05_rb, & 1.54196e-05_rb,1.56182e-05_rb,1.58182e-05_rb,1.60196e-05_rb,1.62223e-05_rb, & 1.64263e-05_rb,1.66317e-05_rb,1.68384e-05_rb,1.70465e-05_rb,1.72559e-05_rb, & 1.74666e-05_rb,1.76787e-05_rb,1.78921e-05_rb,1.81069e-05_rb,1.83230e-05_rb, & 1.85404e-05_rb,1.87591e-05_rb,1.89791e-05_rb,1.92005e-05_rb,1.94232e-05_rb, & 1.96471e-05_rb/) totplnk(1:50, 7) = (/ & 1.25349e-07_rb,1.32735e-07_rb,1.40458e-07_rb,1.48527e-07_rb,1.56954e-07_rb, & 1.65748e-07_rb,1.74920e-07_rb,1.84481e-07_rb,1.94443e-07_rb,2.04814e-07_rb, & 2.15608e-07_rb,2.26835e-07_rb,2.38507e-07_rb,2.50634e-07_rb,2.63229e-07_rb, & 2.76301e-07_rb,2.89864e-07_rb,3.03930e-07_rb,3.18508e-07_rb,3.33612e-07_rb, & 3.49253e-07_rb,3.65443e-07_rb,3.82195e-07_rb,3.99519e-07_rb,4.17428e-07_rb, & 4.35934e-07_rb,4.55050e-07_rb,4.74785e-07_rb,4.95155e-07_rb,5.16170e-07_rb, & 5.37844e-07_rb,5.60186e-07_rb,5.83211e-07_rb,6.06929e-07_rb,6.31355e-07_rb, & 6.56498e-07_rb,6.82373e-07_rb,7.08990e-07_rb,7.36362e-07_rb,7.64501e-07_rb, & 7.93420e-07_rb,8.23130e-07_rb,8.53643e-07_rb,8.84971e-07_rb,9.17128e-07_rb, & 9.50123e-07_rb,9.83969e-07_rb,1.01868e-06_rb,1.05426e-06_rb,1.09073e-06_rb/) totplnk(51:100, 7) = (/ & 1.12810e-06_rb,1.16638e-06_rb,1.20558e-06_rb,1.24572e-06_rb,1.28680e-06_rb, & 1.32883e-06_rb,1.37183e-06_rb,1.41581e-06_rb,1.46078e-06_rb,1.50675e-06_rb, & 1.55374e-06_rb,1.60174e-06_rb,1.65078e-06_rb,1.70087e-06_rb,1.75200e-06_rb, & 1.80421e-06_rb,1.85749e-06_rb,1.91186e-06_rb,1.96732e-06_rb,2.02389e-06_rb, & 2.08159e-06_rb,2.14040e-06_rb,2.20035e-06_rb,2.26146e-06_rb,2.32372e-06_rb, & 2.38714e-06_rb,2.45174e-06_rb,2.51753e-06_rb,2.58451e-06_rb,2.65270e-06_rb, & 2.72210e-06_rb,2.79272e-06_rb,2.86457e-06_rb,2.93767e-06_rb,3.01201e-06_rb, & 3.08761e-06_rb,3.16448e-06_rb,3.24261e-06_rb,3.32204e-06_rb,3.40275e-06_rb, & 3.48476e-06_rb,3.56808e-06_rb,3.65271e-06_rb,3.73866e-06_rb,3.82595e-06_rb, & 3.91456e-06_rb,4.00453e-06_rb,4.09584e-06_rb,4.18851e-06_rb,4.28254e-06_rb/) totplnk(101:150, 7) = (/ & 4.37796e-06_rb,4.47475e-06_rb,4.57293e-06_rb,4.67249e-06_rb,4.77346e-06_rb, & 4.87583e-06_rb,4.97961e-06_rb,5.08481e-06_rb,5.19143e-06_rb,5.29948e-06_rb, & 5.40896e-06_rb,5.51989e-06_rb,5.63226e-06_rb,5.74608e-06_rb,5.86136e-06_rb, & 5.97810e-06_rb,6.09631e-06_rb,6.21597e-06_rb,6.33713e-06_rb,6.45976e-06_rb, & 6.58388e-06_rb,6.70950e-06_rb,6.83661e-06_rb,6.96521e-06_rb,7.09531e-06_rb, & 7.22692e-06_rb,7.36005e-06_rb,7.49468e-06_rb,7.63084e-06_rb,7.76851e-06_rb, & 7.90773e-06_rb,8.04846e-06_rb,8.19072e-06_rb,8.33452e-06_rb,8.47985e-06_rb, & 8.62674e-06_rb,8.77517e-06_rb,8.92514e-06_rb,9.07666e-06_rb,9.22975e-06_rb, & 9.38437e-06_rb,9.54057e-06_rb,9.69832e-06_rb,9.85762e-06_rb,1.00185e-05_rb, & 1.01810e-05_rb,1.03450e-05_rb,1.05106e-05_rb,1.06777e-05_rb,1.08465e-05_rb/) totplnk(151:181, 7) = (/ & 1.10168e-05_rb,1.11887e-05_rb,1.13621e-05_rb,1.15372e-05_rb,1.17138e-05_rb, & 1.18920e-05_rb,1.20718e-05_rb,1.22532e-05_rb,1.24362e-05_rb,1.26207e-05_rb, & 1.28069e-05_rb,1.29946e-05_rb,1.31839e-05_rb,1.33749e-05_rb,1.35674e-05_rb, & 1.37615e-05_rb,1.39572e-05_rb,1.41544e-05_rb,1.43533e-05_rb,1.45538e-05_rb, & 1.47558e-05_rb,1.49595e-05_rb,1.51647e-05_rb,1.53716e-05_rb,1.55800e-05_rb, & 1.57900e-05_rb,1.60017e-05_rb,1.62149e-05_rb,1.64296e-05_rb,1.66460e-05_rb, & 1.68640e-05_rb/) totplnk(1:50, 8) = (/ & 6.74445e-08_rb,7.18176e-08_rb,7.64153e-08_rb,8.12456e-08_rb,8.63170e-08_rb, & 9.16378e-08_rb,9.72168e-08_rb,1.03063e-07_rb,1.09184e-07_rb,1.15591e-07_rb, & 1.22292e-07_rb,1.29296e-07_rb,1.36613e-07_rb,1.44253e-07_rb,1.52226e-07_rb, & 1.60540e-07_rb,1.69207e-07_rb,1.78236e-07_rb,1.87637e-07_rb,1.97421e-07_rb, & 2.07599e-07_rb,2.18181e-07_rb,2.29177e-07_rb,2.40598e-07_rb,2.52456e-07_rb, & 2.64761e-07_rb,2.77523e-07_rb,2.90755e-07_rb,3.04468e-07_rb,3.18673e-07_rb, & 3.33381e-07_rb,3.48603e-07_rb,3.64352e-07_rb,3.80638e-07_rb,3.97474e-07_rb, & 4.14871e-07_rb,4.32841e-07_rb,4.51395e-07_rb,4.70547e-07_rb,4.90306e-07_rb, & 5.10687e-07_rb,5.31699e-07_rb,5.53357e-07_rb,5.75670e-07_rb,5.98652e-07_rb, & 6.22315e-07_rb,6.46672e-07_rb,6.71731e-07_rb,6.97511e-07_rb,7.24018e-07_rb/) totplnk(51:100, 8) = (/ & 7.51266e-07_rb,7.79269e-07_rb,8.08038e-07_rb,8.37584e-07_rb,8.67922e-07_rb, & 8.99061e-07_rb,9.31016e-07_rb,9.63797e-07_rb,9.97417e-07_rb,1.03189e-06_rb, & 1.06722e-06_rb,1.10343e-06_rb,1.14053e-06_rb,1.17853e-06_rb,1.21743e-06_rb, & 1.25726e-06_rb,1.29803e-06_rb,1.33974e-06_rb,1.38241e-06_rb,1.42606e-06_rb, & 1.47068e-06_rb,1.51630e-06_rb,1.56293e-06_rb,1.61056e-06_rb,1.65924e-06_rb, & 1.70894e-06_rb,1.75971e-06_rb,1.81153e-06_rb,1.86443e-06_rb,1.91841e-06_rb, & 1.97350e-06_rb,2.02968e-06_rb,2.08699e-06_rb,2.14543e-06_rb,2.20500e-06_rb, & 2.26573e-06_rb,2.32762e-06_rb,2.39068e-06_rb,2.45492e-06_rb,2.52036e-06_rb, & 2.58700e-06_rb,2.65485e-06_rb,2.72393e-06_rb,2.79424e-06_rb,2.86580e-06_rb, & 2.93861e-06_rb,3.01269e-06_rb,3.08803e-06_rb,3.16467e-06_rb,3.24259e-06_rb/) totplnk(101:150, 8) = (/ & 3.32181e-06_rb,3.40235e-06_rb,3.48420e-06_rb,3.56739e-06_rb,3.65192e-06_rb, & 3.73779e-06_rb,3.82502e-06_rb,3.91362e-06_rb,4.00359e-06_rb,4.09494e-06_rb, & 4.18768e-06_rb,4.28182e-06_rb,4.37737e-06_rb,4.47434e-06_rb,4.57273e-06_rb, & 4.67254e-06_rb,4.77380e-06_rb,4.87651e-06_rb,4.98067e-06_rb,5.08630e-06_rb, & 5.19339e-06_rb,5.30196e-06_rb,5.41201e-06_rb,5.52356e-06_rb,5.63660e-06_rb, & 5.75116e-06_rb,5.86722e-06_rb,5.98479e-06_rb,6.10390e-06_rb,6.22453e-06_rb, & 6.34669e-06_rb,6.47042e-06_rb,6.59569e-06_rb,6.72252e-06_rb,6.85090e-06_rb, & 6.98085e-06_rb,7.11238e-06_rb,7.24549e-06_rb,7.38019e-06_rb,7.51646e-06_rb, & 7.65434e-06_rb,7.79382e-06_rb,7.93490e-06_rb,8.07760e-06_rb,8.22192e-06_rb, & 8.36784e-06_rb,8.51540e-06_rb,8.66459e-06_rb,8.81542e-06_rb,8.96786e-06_rb/) totplnk(151:181, 8) = (/ & 9.12197e-06_rb,9.27772e-06_rb,9.43513e-06_rb,9.59419e-06_rb,9.75490e-06_rb, & 9.91728e-06_rb,1.00813e-05_rb,1.02471e-05_rb,1.04144e-05_rb,1.05835e-05_rb, & 1.07543e-05_rb,1.09267e-05_rb,1.11008e-05_rb,1.12766e-05_rb,1.14541e-05_rb, & 1.16333e-05_rb,1.18142e-05_rb,1.19969e-05_rb,1.21812e-05_rb,1.23672e-05_rb, & 1.25549e-05_rb,1.27443e-05_rb,1.29355e-05_rb,1.31284e-05_rb,1.33229e-05_rb, & 1.35193e-05_rb,1.37173e-05_rb,1.39170e-05_rb,1.41185e-05_rb,1.43217e-05_rb, & 1.45267e-05_rb/) totplnk(1:50, 9) = (/ & 2.61522e-08_rb,2.80613e-08_rb,3.00838e-08_rb,3.22250e-08_rb,3.44899e-08_rb, & 3.68841e-08_rb,3.94129e-08_rb,4.20820e-08_rb,4.48973e-08_rb,4.78646e-08_rb, & 5.09901e-08_rb,5.42799e-08_rb,5.77405e-08_rb,6.13784e-08_rb,6.52001e-08_rb, & 6.92126e-08_rb,7.34227e-08_rb,7.78375e-08_rb,8.24643e-08_rb,8.73103e-08_rb, & 9.23832e-08_rb,9.76905e-08_rb,1.03240e-07_rb,1.09039e-07_rb,1.15097e-07_rb, & 1.21421e-07_rb,1.28020e-07_rb,1.34902e-07_rb,1.42075e-07_rb,1.49548e-07_rb, & 1.57331e-07_rb,1.65432e-07_rb,1.73860e-07_rb,1.82624e-07_rb,1.91734e-07_rb, & 2.01198e-07_rb,2.11028e-07_rb,2.21231e-07_rb,2.31818e-07_rb,2.42799e-07_rb, & 2.54184e-07_rb,2.65983e-07_rb,2.78205e-07_rb,2.90862e-07_rb,3.03963e-07_rb, & 3.17519e-07_rb,3.31541e-07_rb,3.46039e-07_rb,3.61024e-07_rb,3.76507e-07_rb/) totplnk(51:100, 9) = (/ & 3.92498e-07_rb,4.09008e-07_rb,4.26050e-07_rb,4.43633e-07_rb,4.61769e-07_rb, & 4.80469e-07_rb,4.99744e-07_rb,5.19606e-07_rb,5.40067e-07_rb,5.61136e-07_rb, & 5.82828e-07_rb,6.05152e-07_rb,6.28120e-07_rb,6.51745e-07_rb,6.76038e-07_rb, & 7.01010e-07_rb,7.26674e-07_rb,7.53041e-07_rb,7.80124e-07_rb,8.07933e-07_rb, & 8.36482e-07_rb,8.65781e-07_rb,8.95845e-07_rb,9.26683e-07_rb,9.58308e-07_rb, & 9.90732e-07_rb,1.02397e-06_rb,1.05803e-06_rb,1.09292e-06_rb,1.12866e-06_rb, & 1.16526e-06_rb,1.20274e-06_rb,1.24109e-06_rb,1.28034e-06_rb,1.32050e-06_rb, & 1.36158e-06_rb,1.40359e-06_rb,1.44655e-06_rb,1.49046e-06_rb,1.53534e-06_rb, & 1.58120e-06_rb,1.62805e-06_rb,1.67591e-06_rb,1.72478e-06_rb,1.77468e-06_rb, & 1.82561e-06_rb,1.87760e-06_rb,1.93066e-06_rb,1.98479e-06_rb,2.04000e-06_rb/) totplnk(101:150, 9) = (/ & 2.09631e-06_rb,2.15373e-06_rb,2.21228e-06_rb,2.27196e-06_rb,2.33278e-06_rb, & 2.39475e-06_rb,2.45790e-06_rb,2.52222e-06_rb,2.58773e-06_rb,2.65445e-06_rb, & 2.72238e-06_rb,2.79152e-06_rb,2.86191e-06_rb,2.93354e-06_rb,3.00643e-06_rb, & 3.08058e-06_rb,3.15601e-06_rb,3.23273e-06_rb,3.31075e-06_rb,3.39009e-06_rb, & 3.47074e-06_rb,3.55272e-06_rb,3.63605e-06_rb,3.72072e-06_rb,3.80676e-06_rb, & 3.89417e-06_rb,3.98297e-06_rb,4.07315e-06_rb,4.16474e-06_rb,4.25774e-06_rb, & 4.35217e-06_rb,4.44802e-06_rb,4.54532e-06_rb,4.64406e-06_rb,4.74428e-06_rb, & 4.84595e-06_rb,4.94911e-06_rb,5.05376e-06_rb,5.15990e-06_rb,5.26755e-06_rb, & 5.37671e-06_rb,5.48741e-06_rb,5.59963e-06_rb,5.71340e-06_rb,5.82871e-06_rb, & 5.94559e-06_rb,6.06403e-06_rb,6.18404e-06_rb,6.30565e-06_rb,6.42885e-06_rb/) totplnk(151:181, 9) = (/ & 6.55364e-06_rb,6.68004e-06_rb,6.80806e-06_rb,6.93771e-06_rb,7.06898e-06_rb, & 7.20190e-06_rb,7.33646e-06_rb,7.47267e-06_rb,7.61056e-06_rb,7.75010e-06_rb, & 7.89133e-06_rb,8.03423e-06_rb,8.17884e-06_rb,8.32514e-06_rb,8.47314e-06_rb, & 8.62284e-06_rb,8.77427e-06_rb,8.92743e-06_rb,9.08231e-06_rb,9.23893e-06_rb, & 9.39729e-06_rb,9.55741e-06_rb,9.71927e-06_rb,9.88291e-06_rb,1.00483e-05_rb, & 1.02155e-05_rb,1.03844e-05_rb,1.05552e-05_rb,1.07277e-05_rb,1.09020e-05_rb, & 1.10781e-05_rb/) totplnk(1:50,10) = (/ & 8.89300e-09_rb,9.63263e-09_rb,1.04235e-08_rb,1.12685e-08_rb,1.21703e-08_rb, & 1.31321e-08_rb,1.41570e-08_rb,1.52482e-08_rb,1.64090e-08_rb,1.76428e-08_rb, & 1.89533e-08_rb,2.03441e-08_rb,2.18190e-08_rb,2.33820e-08_rb,2.50370e-08_rb, & 2.67884e-08_rb,2.86402e-08_rb,3.05969e-08_rb,3.26632e-08_rb,3.48436e-08_rb, & 3.71429e-08_rb,3.95660e-08_rb,4.21179e-08_rb,4.48040e-08_rb,4.76294e-08_rb, & 5.05996e-08_rb,5.37201e-08_rb,5.69966e-08_rb,6.04349e-08_rb,6.40411e-08_rb, & 6.78211e-08_rb,7.17812e-08_rb,7.59276e-08_rb,8.02670e-08_rb,8.48059e-08_rb, & 8.95508e-08_rb,9.45090e-08_rb,9.96873e-08_rb,1.05093e-07_rb,1.10733e-07_rb, & 1.16614e-07_rb,1.22745e-07_rb,1.29133e-07_rb,1.35786e-07_rb,1.42711e-07_rb, & 1.49916e-07_rb,1.57410e-07_rb,1.65202e-07_rb,1.73298e-07_rb,1.81709e-07_rb/) totplnk(51:100,10) = (/ & 1.90441e-07_rb,1.99505e-07_rb,2.08908e-07_rb,2.18660e-07_rb,2.28770e-07_rb, & 2.39247e-07_rb,2.50101e-07_rb,2.61340e-07_rb,2.72974e-07_rb,2.85013e-07_rb, & 2.97467e-07_rb,3.10345e-07_rb,3.23657e-07_rb,3.37413e-07_rb,3.51623e-07_rb, & 3.66298e-07_rb,3.81448e-07_rb,3.97082e-07_rb,4.13212e-07_rb,4.29848e-07_rb, & 4.47000e-07_rb,4.64680e-07_rb,4.82898e-07_rb,5.01664e-07_rb,5.20991e-07_rb, & 5.40888e-07_rb,5.61369e-07_rb,5.82440e-07_rb,6.04118e-07_rb,6.26410e-07_rb, & 6.49329e-07_rb,6.72887e-07_rb,6.97095e-07_rb,7.21964e-07_rb,7.47506e-07_rb, & 7.73732e-07_rb,8.00655e-07_rb,8.28287e-07_rb,8.56635e-07_rb,8.85717e-07_rb, & 9.15542e-07_rb,9.46122e-07_rb,9.77469e-07_rb,1.00960e-06_rb,1.04251e-06_rb, & 1.07623e-06_rb,1.11077e-06_rb,1.14613e-06_rb,1.18233e-06_rb,1.21939e-06_rb/) totplnk(101:150,10) = (/ & 1.25730e-06_rb,1.29610e-06_rb,1.33578e-06_rb,1.37636e-06_rb,1.41785e-06_rb, & 1.46027e-06_rb,1.50362e-06_rb,1.54792e-06_rb,1.59319e-06_rb,1.63942e-06_rb, & 1.68665e-06_rb,1.73487e-06_rb,1.78410e-06_rb,1.83435e-06_rb,1.88564e-06_rb, & 1.93797e-06_rb,1.99136e-06_rb,2.04582e-06_rb,2.10137e-06_rb,2.15801e-06_rb, & 2.21576e-06_rb,2.27463e-06_rb,2.33462e-06_rb,2.39577e-06_rb,2.45806e-06_rb, & 2.52153e-06_rb,2.58617e-06_rb,2.65201e-06_rb,2.71905e-06_rb,2.78730e-06_rb, & 2.85678e-06_rb,2.92749e-06_rb,2.99946e-06_rb,3.07269e-06_rb,3.14720e-06_rb, & 3.22299e-06_rb,3.30007e-06_rb,3.37847e-06_rb,3.45818e-06_rb,3.53923e-06_rb, & 3.62161e-06_rb,3.70535e-06_rb,3.79046e-06_rb,3.87695e-06_rb,3.96481e-06_rb, & 4.05409e-06_rb,4.14477e-06_rb,4.23687e-06_rb,4.33040e-06_rb,4.42538e-06_rb/) totplnk(151:181,10) = (/ & 4.52180e-06_rb,4.61969e-06_rb,4.71905e-06_rb,4.81991e-06_rb,4.92226e-06_rb, & 5.02611e-06_rb,5.13148e-06_rb,5.23839e-06_rb,5.34681e-06_rb,5.45681e-06_rb, & 5.56835e-06_rb,5.68146e-06_rb,5.79614e-06_rb,5.91242e-06_rb,6.03030e-06_rb, & 6.14978e-06_rb,6.27088e-06_rb,6.39360e-06_rb,6.51798e-06_rb,6.64398e-06_rb, & 6.77165e-06_rb,6.90099e-06_rb,7.03198e-06_rb,7.16468e-06_rb,7.29906e-06_rb, & 7.43514e-06_rb,7.57294e-06_rb,7.71244e-06_rb,7.85369e-06_rb,7.99666e-06_rb, & 8.14138e-06_rb/) totplnk(1:50,11) = (/ & 2.53767e-09_rb,2.77242e-09_rb,3.02564e-09_rb,3.29851e-09_rb,3.59228e-09_rb, & 3.90825e-09_rb,4.24777e-09_rb,4.61227e-09_rb,5.00322e-09_rb,5.42219e-09_rb, & 5.87080e-09_rb,6.35072e-09_rb,6.86370e-09_rb,7.41159e-09_rb,7.99628e-09_rb, & 8.61974e-09_rb,9.28404e-09_rb,9.99130e-09_rb,1.07437e-08_rb,1.15436e-08_rb, & 1.23933e-08_rb,1.32953e-08_rb,1.42522e-08_rb,1.52665e-08_rb,1.63410e-08_rb, & 1.74786e-08_rb,1.86820e-08_rb,1.99542e-08_rb,2.12985e-08_rb,2.27179e-08_rb, & 2.42158e-08_rb,2.57954e-08_rb,2.74604e-08_rb,2.92141e-08_rb,3.10604e-08_rb, & 3.30029e-08_rb,3.50457e-08_rb,3.71925e-08_rb,3.94476e-08_rb,4.18149e-08_rb, & 4.42991e-08_rb,4.69043e-08_rb,4.96352e-08_rb,5.24961e-08_rb,5.54921e-08_rb, & 5.86277e-08_rb,6.19081e-08_rb,6.53381e-08_rb,6.89231e-08_rb,7.26681e-08_rb/) totplnk(51:100,11) = (/ & 7.65788e-08_rb,8.06604e-08_rb,8.49187e-08_rb,8.93591e-08_rb,9.39879e-08_rb, & 9.88106e-08_rb,1.03834e-07_rb,1.09063e-07_rb,1.14504e-07_rb,1.20165e-07_rb, & 1.26051e-07_rb,1.32169e-07_rb,1.38525e-07_rb,1.45128e-07_rb,1.51982e-07_rb, & 1.59096e-07_rb,1.66477e-07_rb,1.74132e-07_rb,1.82068e-07_rb,1.90292e-07_rb, & 1.98813e-07_rb,2.07638e-07_rb,2.16775e-07_rb,2.26231e-07_rb,2.36015e-07_rb, & 2.46135e-07_rb,2.56599e-07_rb,2.67415e-07_rb,2.78592e-07_rb,2.90137e-07_rb, & 3.02061e-07_rb,3.14371e-07_rb,3.27077e-07_rb,3.40186e-07_rb,3.53710e-07_rb, & 3.67655e-07_rb,3.82031e-07_rb,3.96848e-07_rb,4.12116e-07_rb,4.27842e-07_rb, & 4.44039e-07_rb,4.60713e-07_rb,4.77876e-07_rb,4.95537e-07_rb,5.13706e-07_rb, & 5.32392e-07_rb,5.51608e-07_rb,5.71360e-07_rb,5.91662e-07_rb,6.12521e-07_rb/) totplnk(101:150,11) = (/ & 6.33950e-07_rb,6.55958e-07_rb,6.78556e-07_rb,7.01753e-07_rb,7.25562e-07_rb, & 7.49992e-07_rb,7.75055e-07_rb,8.00760e-07_rb,8.27120e-07_rb,8.54145e-07_rb, & 8.81845e-07_rb,9.10233e-07_rb,9.39318e-07_rb,9.69113e-07_rb,9.99627e-07_rb, & 1.03087e-06_rb,1.06286e-06_rb,1.09561e-06_rb,1.12912e-06_rb,1.16340e-06_rb, & 1.19848e-06_rb,1.23435e-06_rb,1.27104e-06_rb,1.30855e-06_rb,1.34690e-06_rb, & 1.38609e-06_rb,1.42614e-06_rb,1.46706e-06_rb,1.50886e-06_rb,1.55155e-06_rb, & 1.59515e-06_rb,1.63967e-06_rb,1.68512e-06_rb,1.73150e-06_rb,1.77884e-06_rb, & 1.82715e-06_rb,1.87643e-06_rb,1.92670e-06_rb,1.97797e-06_rb,2.03026e-06_rb, & 2.08356e-06_rb,2.13791e-06_rb,2.19330e-06_rb,2.24975e-06_rb,2.30728e-06_rb, & 2.36589e-06_rb,2.42560e-06_rb,2.48641e-06_rb,2.54835e-06_rb,2.61142e-06_rb/) totplnk(151:181,11) = (/ & 2.67563e-06_rb,2.74100e-06_rb,2.80754e-06_rb,2.87526e-06_rb,2.94417e-06_rb, & 3.01429e-06_rb,3.08562e-06_rb,3.15819e-06_rb,3.23199e-06_rb,3.30704e-06_rb, & 3.38336e-06_rb,3.46096e-06_rb,3.53984e-06_rb,3.62002e-06_rb,3.70151e-06_rb, & 3.78433e-06_rb,3.86848e-06_rb,3.95399e-06_rb,4.04084e-06_rb,4.12907e-06_rb, & 4.21868e-06_rb,4.30968e-06_rb,4.40209e-06_rb,4.49592e-06_rb,4.59117e-06_rb, & 4.68786e-06_rb,4.78600e-06_rb,4.88561e-06_rb,4.98669e-06_rb,5.08926e-06_rb, & 5.19332e-06_rb/) totplnk(1:50,12) = (/ & 2.73921e-10_rb,3.04500e-10_rb,3.38056e-10_rb,3.74835e-10_rb,4.15099e-10_rb, & 4.59126e-10_rb,5.07214e-10_rb,5.59679e-10_rb,6.16857e-10_rb,6.79103e-10_rb, & 7.46796e-10_rb,8.20335e-10_rb,9.00144e-10_rb,9.86671e-10_rb,1.08039e-09_rb, & 1.18180e-09_rb,1.29142e-09_rb,1.40982e-09_rb,1.53757e-09_rb,1.67529e-09_rb, & 1.82363e-09_rb,1.98327e-09_rb,2.15492e-09_rb,2.33932e-09_rb,2.53726e-09_rb, & 2.74957e-09_rb,2.97710e-09_rb,3.22075e-09_rb,3.48145e-09_rb,3.76020e-09_rb, & 4.05801e-09_rb,4.37595e-09_rb,4.71513e-09_rb,5.07672e-09_rb,5.46193e-09_rb, & 5.87201e-09_rb,6.30827e-09_rb,6.77205e-09_rb,7.26480e-09_rb,7.78794e-09_rb, & 8.34304e-09_rb,8.93163e-09_rb,9.55537e-09_rb,1.02159e-08_rb,1.09151e-08_rb, & 1.16547e-08_rb,1.24365e-08_rb,1.32625e-08_rb,1.41348e-08_rb,1.50554e-08_rb/) totplnk(51:100,12) = (/ & 1.60264e-08_rb,1.70500e-08_rb,1.81285e-08_rb,1.92642e-08_rb,2.04596e-08_rb, & 2.17171e-08_rb,2.30394e-08_rb,2.44289e-08_rb,2.58885e-08_rb,2.74209e-08_rb, & 2.90290e-08_rb,3.07157e-08_rb,3.24841e-08_rb,3.43371e-08_rb,3.62782e-08_rb, & 3.83103e-08_rb,4.04371e-08_rb,4.26617e-08_rb,4.49878e-08_rb,4.74190e-08_rb, & 4.99589e-08_rb,5.26113e-08_rb,5.53801e-08_rb,5.82692e-08_rb,6.12826e-08_rb, & 6.44245e-08_rb,6.76991e-08_rb,7.11105e-08_rb,7.46634e-08_rb,7.83621e-08_rb, & 8.22112e-08_rb,8.62154e-08_rb,9.03795e-08_rb,9.47081e-08_rb,9.92066e-08_rb, & 1.03879e-07_rb,1.08732e-07_rb,1.13770e-07_rb,1.18998e-07_rb,1.24422e-07_rb, & 1.30048e-07_rb,1.35880e-07_rb,1.41924e-07_rb,1.48187e-07_rb,1.54675e-07_rb, & 1.61392e-07_rb,1.68346e-07_rb,1.75543e-07_rb,1.82988e-07_rb,1.90688e-07_rb/) totplnk(101:150,12) = (/ & 1.98650e-07_rb,2.06880e-07_rb,2.15385e-07_rb,2.24172e-07_rb,2.33247e-07_rb, & 2.42617e-07_rb,2.52289e-07_rb,2.62272e-07_rb,2.72571e-07_rb,2.83193e-07_rb, & 2.94147e-07_rb,3.05440e-07_rb,3.17080e-07_rb,3.29074e-07_rb,3.41430e-07_rb, & 3.54155e-07_rb,3.67259e-07_rb,3.80747e-07_rb,3.94631e-07_rb,4.08916e-07_rb, & 4.23611e-07_rb,4.38725e-07_rb,4.54267e-07_rb,4.70245e-07_rb,4.86666e-07_rb, & 5.03541e-07_rb,5.20879e-07_rb,5.38687e-07_rb,5.56975e-07_rb,5.75751e-07_rb, & 5.95026e-07_rb,6.14808e-07_rb,6.35107e-07_rb,6.55932e-07_rb,6.77293e-07_rb, & 6.99197e-07_rb,7.21656e-07_rb,7.44681e-07_rb,7.68278e-07_rb,7.92460e-07_rb, & 8.17235e-07_rb,8.42614e-07_rb,8.68606e-07_rb,8.95223e-07_rb,9.22473e-07_rb, & 9.50366e-07_rb,9.78915e-07_rb,1.00813e-06_rb,1.03802e-06_rb,1.06859e-06_rb/) totplnk(151:181,12) = (/ & 1.09986e-06_rb,1.13184e-06_rb,1.16453e-06_rb,1.19796e-06_rb,1.23212e-06_rb, & 1.26703e-06_rb,1.30270e-06_rb,1.33915e-06_rb,1.37637e-06_rb,1.41440e-06_rb, & 1.45322e-06_rb,1.49286e-06_rb,1.53333e-06_rb,1.57464e-06_rb,1.61679e-06_rb, & 1.65981e-06_rb,1.70370e-06_rb,1.74847e-06_rb,1.79414e-06_rb,1.84071e-06_rb, & 1.88821e-06_rb,1.93663e-06_rb,1.98599e-06_rb,2.03631e-06_rb,2.08759e-06_rb, & 2.13985e-06_rb,2.19310e-06_rb,2.24734e-06_rb,2.30260e-06_rb,2.35888e-06_rb, & 2.41619e-06_rb/) totplnk(1:50,13) = (/ & 4.53634e-11_rb,5.11435e-11_rb,5.75754e-11_rb,6.47222e-11_rb,7.26531e-11_rb, & 8.14420e-11_rb,9.11690e-11_rb,1.01921e-10_rb,1.13790e-10_rb,1.26877e-10_rb, & 1.41288e-10_rb,1.57140e-10_rb,1.74555e-10_rb,1.93665e-10_rb,2.14613e-10_rb, & 2.37548e-10_rb,2.62633e-10_rb,2.90039e-10_rb,3.19948e-10_rb,3.52558e-10_rb, & 3.88073e-10_rb,4.26716e-10_rb,4.68719e-10_rb,5.14331e-10_rb,5.63815e-10_rb, & 6.17448e-10_rb,6.75526e-10_rb,7.38358e-10_rb,8.06277e-10_rb,8.79625e-10_rb, & 9.58770e-10_rb,1.04410e-09_rb,1.13602e-09_rb,1.23495e-09_rb,1.34135e-09_rb, & 1.45568e-09_rb,1.57845e-09_rb,1.71017e-09_rb,1.85139e-09_rb,2.00268e-09_rb, & 2.16464e-09_rb,2.33789e-09_rb,2.52309e-09_rb,2.72093e-09_rb,2.93212e-09_rb, & 3.15740e-09_rb,3.39757e-09_rb,3.65341e-09_rb,3.92579e-09_rb,4.21559e-09_rb/) totplnk(51:100,13) = (/ & 4.52372e-09_rb,4.85115e-09_rb,5.19886e-09_rb,5.56788e-09_rb,5.95928e-09_rb, & 6.37419e-09_rb,6.81375e-09_rb,7.27917e-09_rb,7.77168e-09_rb,8.29256e-09_rb, & 8.84317e-09_rb,9.42487e-09_rb,1.00391e-08_rb,1.06873e-08_rb,1.13710e-08_rb, & 1.20919e-08_rb,1.28515e-08_rb,1.36514e-08_rb,1.44935e-08_rb,1.53796e-08_rb, & 1.63114e-08_rb,1.72909e-08_rb,1.83201e-08_rb,1.94008e-08_rb,2.05354e-08_rb, & 2.17258e-08_rb,2.29742e-08_rb,2.42830e-08_rb,2.56545e-08_rb,2.70910e-08_rb, & 2.85950e-08_rb,3.01689e-08_rb,3.18155e-08_rb,3.35373e-08_rb,3.53372e-08_rb, & 3.72177e-08_rb,3.91818e-08_rb,4.12325e-08_rb,4.33727e-08_rb,4.56056e-08_rb, & 4.79342e-08_rb,5.03617e-08_rb,5.28915e-08_rb,5.55270e-08_rb,5.82715e-08_rb, & 6.11286e-08_rb,6.41019e-08_rb,6.71951e-08_rb,7.04119e-08_rb,7.37560e-08_rb/) totplnk(101:150,13) = (/ & 7.72315e-08_rb,8.08424e-08_rb,8.45927e-08_rb,8.84866e-08_rb,9.25281e-08_rb, & 9.67218e-08_rb,1.01072e-07_rb,1.05583e-07_rb,1.10260e-07_rb,1.15107e-07_rb, & 1.20128e-07_rb,1.25330e-07_rb,1.30716e-07_rb,1.36291e-07_rb,1.42061e-07_rb, & 1.48031e-07_rb,1.54206e-07_rb,1.60592e-07_rb,1.67192e-07_rb,1.74015e-07_rb, & 1.81064e-07_rb,1.88345e-07_rb,1.95865e-07_rb,2.03628e-07_rb,2.11643e-07_rb, & 2.19912e-07_rb,2.28443e-07_rb,2.37244e-07_rb,2.46318e-07_rb,2.55673e-07_rb, & 2.65316e-07_rb,2.75252e-07_rb,2.85489e-07_rb,2.96033e-07_rb,3.06891e-07_rb, & 3.18070e-07_rb,3.29576e-07_rb,3.41417e-07_rb,3.53600e-07_rb,3.66133e-07_rb, & 3.79021e-07_rb,3.92274e-07_rb,4.05897e-07_rb,4.19899e-07_rb,4.34288e-07_rb, & 4.49071e-07_rb,4.64255e-07_rb,4.79850e-07_rb,4.95863e-07_rb,5.12300e-07_rb/) totplnk(151:181,13) = (/ & 5.29172e-07_rb,5.46486e-07_rb,5.64250e-07_rb,5.82473e-07_rb,6.01164e-07_rb, & 6.20329e-07_rb,6.39979e-07_rb,6.60122e-07_rb,6.80767e-07_rb,7.01922e-07_rb, & 7.23596e-07_rb,7.45800e-07_rb,7.68539e-07_rb,7.91826e-07_rb,8.15669e-07_rb, & 8.40076e-07_rb,8.65058e-07_rb,8.90623e-07_rb,9.16783e-07_rb,9.43544e-07_rb, & 9.70917e-07_rb,9.98912e-07_rb,1.02754e-06_rb,1.05681e-06_rb,1.08673e-06_rb, & 1.11731e-06_rb,1.14856e-06_rb,1.18050e-06_rb,1.21312e-06_rb,1.24645e-06_rb, & 1.28049e-06_rb/) totplnk(1:50,14) = (/ & 1.40113e-11_rb,1.59358e-11_rb,1.80960e-11_rb,2.05171e-11_rb,2.32266e-11_rb, & 2.62546e-11_rb,2.96335e-11_rb,3.33990e-11_rb,3.75896e-11_rb,4.22469e-11_rb, & 4.74164e-11_rb,5.31466e-11_rb,5.94905e-11_rb,6.65054e-11_rb,7.42522e-11_rb, & 8.27975e-11_rb,9.22122e-11_rb,1.02573e-10_rb,1.13961e-10_rb,1.26466e-10_rb, & 1.40181e-10_rb,1.55206e-10_rb,1.71651e-10_rb,1.89630e-10_rb,2.09265e-10_rb, & 2.30689e-10_rb,2.54040e-10_rb,2.79467e-10_rb,3.07128e-10_rb,3.37190e-10_rb, & 3.69833e-10_rb,4.05243e-10_rb,4.43623e-10_rb,4.85183e-10_rb,5.30149e-10_rb, & 5.78755e-10_rb,6.31255e-10_rb,6.87910e-10_rb,7.49002e-10_rb,8.14824e-10_rb, & 8.85687e-10_rb,9.61914e-10_rb,1.04385e-09_rb,1.13186e-09_rb,1.22631e-09_rb, & 1.32761e-09_rb,1.43617e-09_rb,1.55243e-09_rb,1.67686e-09_rb,1.80992e-09_rb/) totplnk(51:100,14) = (/ & 1.95212e-09_rb,2.10399e-09_rb,2.26607e-09_rb,2.43895e-09_rb,2.62321e-09_rb, & 2.81949e-09_rb,3.02844e-09_rb,3.25073e-09_rb,3.48707e-09_rb,3.73820e-09_rb, & 4.00490e-09_rb,4.28794e-09_rb,4.58819e-09_rb,4.90647e-09_rb,5.24371e-09_rb, & 5.60081e-09_rb,5.97875e-09_rb,6.37854e-09_rb,6.80120e-09_rb,7.24782e-09_rb, & 7.71950e-09_rb,8.21740e-09_rb,8.74271e-09_rb,9.29666e-09_rb,9.88054e-09_rb, & 1.04956e-08_rb,1.11434e-08_rb,1.18251e-08_rb,1.25422e-08_rb,1.32964e-08_rb, & 1.40890e-08_rb,1.49217e-08_rb,1.57961e-08_rb,1.67140e-08_rb,1.76771e-08_rb, & 1.86870e-08_rb,1.97458e-08_rb,2.08553e-08_rb,2.20175e-08_rb,2.32342e-08_rb, & 2.45077e-08_rb,2.58401e-08_rb,2.72334e-08_rb,2.86900e-08_rb,3.02122e-08_rb, & 3.18021e-08_rb,3.34624e-08_rb,3.51954e-08_rb,3.70037e-08_rb,3.88899e-08_rb/) totplnk(101:150,14) = (/ & 4.08568e-08_rb,4.29068e-08_rb,4.50429e-08_rb,4.72678e-08_rb,4.95847e-08_rb, & 5.19963e-08_rb,5.45058e-08_rb,5.71161e-08_rb,5.98309e-08_rb,6.26529e-08_rb, & 6.55857e-08_rb,6.86327e-08_rb,7.17971e-08_rb,7.50829e-08_rb,7.84933e-08_rb, & 8.20323e-08_rb,8.57035e-08_rb,8.95105e-08_rb,9.34579e-08_rb,9.75488e-08_rb, & 1.01788e-07_rb,1.06179e-07_rb,1.10727e-07_rb,1.15434e-07_rb,1.20307e-07_rb, & 1.25350e-07_rb,1.30566e-07_rb,1.35961e-07_rb,1.41539e-07_rb,1.47304e-07_rb, & 1.53263e-07_rb,1.59419e-07_rb,1.65778e-07_rb,1.72345e-07_rb,1.79124e-07_rb, & 1.86122e-07_rb,1.93343e-07_rb,2.00792e-07_rb,2.08476e-07_rb,2.16400e-07_rb, & 2.24568e-07_rb,2.32988e-07_rb,2.41666e-07_rb,2.50605e-07_rb,2.59813e-07_rb, & 2.69297e-07_rb,2.79060e-07_rb,2.89111e-07_rb,2.99455e-07_rb,3.10099e-07_rb/) totplnk(151:181,14) = (/ & 3.21049e-07_rb,3.32311e-07_rb,3.43893e-07_rb,3.55801e-07_rb,3.68041e-07_rb, & 3.80621e-07_rb,3.93547e-07_rb,4.06826e-07_rb,4.20465e-07_rb,4.34473e-07_rb, & 4.48856e-07_rb,4.63620e-07_rb,4.78774e-07_rb,4.94325e-07_rb,5.10280e-07_rb, & 5.26648e-07_rb,5.43436e-07_rb,5.60652e-07_rb,5.78302e-07_rb,5.96397e-07_rb, & 6.14943e-07_rb,6.33949e-07_rb,6.53421e-07_rb,6.73370e-07_rb,6.93803e-07_rb, & 7.14731e-07_rb,7.36157e-07_rb,7.58095e-07_rb,7.80549e-07_rb,8.03533e-07_rb, & 8.27050e-07_rb/) totplnk(1:50,15) = (/ & 3.90483e-12_rb,4.47999e-12_rb,5.13122e-12_rb,5.86739e-12_rb,6.69829e-12_rb, & 7.63467e-12_rb,8.68833e-12_rb,9.87221e-12_rb,1.12005e-11_rb,1.26885e-11_rb, & 1.43534e-11_rb,1.62134e-11_rb,1.82888e-11_rb,2.06012e-11_rb,2.31745e-11_rb, & 2.60343e-11_rb,2.92087e-11_rb,3.27277e-11_rb,3.66242e-11_rb,4.09334e-11_rb, & 4.56935e-11_rb,5.09455e-11_rb,5.67338e-11_rb,6.31057e-11_rb,7.01127e-11_rb, & 7.78096e-11_rb,8.62554e-11_rb,9.55130e-11_rb,1.05651e-10_rb,1.16740e-10_rb, & 1.28858e-10_rb,1.42089e-10_rb,1.56519e-10_rb,1.72243e-10_rb,1.89361e-10_rb, & 2.07978e-10_rb,2.28209e-10_rb,2.50173e-10_rb,2.73999e-10_rb,2.99820e-10_rb, & 3.27782e-10_rb,3.58034e-10_rb,3.90739e-10_rb,4.26067e-10_rb,4.64196e-10_rb, & 5.05317e-10_rb,5.49631e-10_rb,5.97347e-10_rb,6.48689e-10_rb,7.03891e-10_rb/) totplnk(51:100,15) = (/ & 7.63201e-10_rb,8.26876e-10_rb,8.95192e-10_rb,9.68430e-10_rb,1.04690e-09_rb, & 1.13091e-09_rb,1.22079e-09_rb,1.31689e-09_rb,1.41957e-09_rb,1.52922e-09_rb, & 1.64623e-09_rb,1.77101e-09_rb,1.90401e-09_rb,2.04567e-09_rb,2.19647e-09_rb, & 2.35690e-09_rb,2.52749e-09_rb,2.70875e-09_rb,2.90127e-09_rb,3.10560e-09_rb, & 3.32238e-09_rb,3.55222e-09_rb,3.79578e-09_rb,4.05375e-09_rb,4.32682e-09_rb, & 4.61574e-09_rb,4.92128e-09_rb,5.24420e-09_rb,5.58536e-09_rb,5.94558e-09_rb, & 6.32575e-09_rb,6.72678e-09_rb,7.14964e-09_rb,7.59526e-09_rb,8.06470e-09_rb, & 8.55897e-09_rb,9.07916e-09_rb,9.62638e-09_rb,1.02018e-08_rb,1.08066e-08_rb, & 1.14420e-08_rb,1.21092e-08_rb,1.28097e-08_rb,1.35446e-08_rb,1.43155e-08_rb, & 1.51237e-08_rb,1.59708e-08_rb,1.68581e-08_rb,1.77873e-08_rb,1.87599e-08_rb/) totplnk(101:150,15) = (/ & 1.97777e-08_rb,2.08423e-08_rb,2.19555e-08_rb,2.31190e-08_rb,2.43348e-08_rb, & 2.56045e-08_rb,2.69302e-08_rb,2.83140e-08_rb,2.97578e-08_rb,3.12636e-08_rb, & 3.28337e-08_rb,3.44702e-08_rb,3.61755e-08_rb,3.79516e-08_rb,3.98012e-08_rb, & 4.17265e-08_rb,4.37300e-08_rb,4.58143e-08_rb,4.79819e-08_rb,5.02355e-08_rb, & 5.25777e-08_rb,5.50114e-08_rb,5.75393e-08_rb,6.01644e-08_rb,6.28896e-08_rb, & 6.57177e-08_rb,6.86521e-08_rb,7.16959e-08_rb,7.48520e-08_rb,7.81239e-08_rb, & 8.15148e-08_rb,8.50282e-08_rb,8.86675e-08_rb,9.24362e-08_rb,9.63380e-08_rb, & 1.00376e-07_rb,1.04555e-07_rb,1.08878e-07_rb,1.13349e-07_rb,1.17972e-07_rb, & 1.22751e-07_rb,1.27690e-07_rb,1.32793e-07_rb,1.38064e-07_rb,1.43508e-07_rb, & 1.49129e-07_rb,1.54931e-07_rb,1.60920e-07_rb,1.67099e-07_rb,1.73473e-07_rb/) totplnk(151:181,15) = (/ & 1.80046e-07_rb,1.86825e-07_rb,1.93812e-07_rb,2.01014e-07_rb,2.08436e-07_rb, & 2.16082e-07_rb,2.23957e-07_rb,2.32067e-07_rb,2.40418e-07_rb,2.49013e-07_rb, & 2.57860e-07_rb,2.66963e-07_rb,2.76328e-07_rb,2.85961e-07_rb,2.95868e-07_rb, & 3.06053e-07_rb,3.16524e-07_rb,3.27286e-07_rb,3.38345e-07_rb,3.49707e-07_rb, & 3.61379e-07_rb,3.73367e-07_rb,3.85676e-07_rb,3.98315e-07_rb,4.11287e-07_rb, & 4.24602e-07_rb,4.38265e-07_rb,4.52283e-07_rb,4.66662e-07_rb,4.81410e-07_rb, & 4.96535e-07_rb/) totplnk(1:50,16) = (/ & 0.28639e-12_rb,0.33349e-12_rb,0.38764e-12_rb,0.44977e-12_rb,0.52093e-12_rb, & 0.60231e-12_rb,0.69522e-12_rb,0.80111e-12_rb,0.92163e-12_rb,0.10586e-11_rb, & 0.12139e-11_rb,0.13899e-11_rb,0.15890e-11_rb,0.18138e-11_rb,0.20674e-11_rb, & 0.23531e-11_rb,0.26744e-11_rb,0.30352e-11_rb,0.34401e-11_rb,0.38936e-11_rb, & 0.44011e-11_rb,0.49681e-11_rb,0.56010e-11_rb,0.63065e-11_rb,0.70919e-11_rb, & 0.79654e-11_rb,0.89357e-11_rb,0.10012e-10_rb,0.11205e-10_rb,0.12526e-10_rb, & 0.13986e-10_rb,0.15600e-10_rb,0.17380e-10_rb,0.19342e-10_rb,0.21503e-10_rb, & 0.23881e-10_rb,0.26494e-10_rb,0.29362e-10_rb,0.32509e-10_rb,0.35958e-10_rb, & 0.39733e-10_rb,0.43863e-10_rb,0.48376e-10_rb,0.53303e-10_rb,0.58679e-10_rb, & 0.64539e-10_rb,0.70920e-10_rb,0.77864e-10_rb,0.85413e-10_rb,0.93615e-10_rb/) totplnk(51:100,16) = (/ & 0.10252e-09_rb,0.11217e-09_rb,0.12264e-09_rb,0.13397e-09_rb,0.14624e-09_rb, & 0.15950e-09_rb,0.17383e-09_rb,0.18930e-09_rb,0.20599e-09_rb,0.22399e-09_rb, & 0.24339e-09_rb,0.26427e-09_rb,0.28674e-09_rb,0.31090e-09_rb,0.33686e-09_rb, & 0.36474e-09_rb,0.39466e-09_rb,0.42676e-09_rb,0.46115e-09_rb,0.49800e-09_rb, & 0.53744e-09_rb,0.57964e-09_rb,0.62476e-09_rb,0.67298e-09_rb,0.72448e-09_rb, & 0.77945e-09_rb,0.83809e-09_rb,0.90062e-09_rb,0.96725e-09_rb,0.10382e-08_rb, & 0.11138e-08_rb,0.11941e-08_rb,0.12796e-08_rb,0.13704e-08_rb,0.14669e-08_rb, & 0.15694e-08_rb,0.16781e-08_rb,0.17934e-08_rb,0.19157e-08_rb,0.20453e-08_rb, & 0.21825e-08_rb,0.23278e-08_rb,0.24815e-08_rb,0.26442e-08_rb,0.28161e-08_rb, & 0.29978e-08_rb,0.31898e-08_rb,0.33925e-08_rb,0.36064e-08_rb,0.38321e-08_rb/) totplnk(101:150,16) = (/ & 0.40700e-08_rb,0.43209e-08_rb,0.45852e-08_rb,0.48636e-08_rb,0.51567e-08_rb, & 0.54652e-08_rb,0.57897e-08_rb,0.61310e-08_rb,0.64897e-08_rb,0.68667e-08_rb, & 0.72626e-08_rb,0.76784e-08_rb,0.81148e-08_rb,0.85727e-08_rb,0.90530e-08_rb, & 0.95566e-08_rb,0.10084e-07_rb,0.10638e-07_rb,0.11217e-07_rb,0.11824e-07_rb, & 0.12458e-07_rb,0.13123e-07_rb,0.13818e-07_rb,0.14545e-07_rb,0.15305e-07_rb, & 0.16099e-07_rb,0.16928e-07_rb,0.17795e-07_rb,0.18699e-07_rb,0.19643e-07_rb, & 0.20629e-07_rb,0.21656e-07_rb,0.22728e-07_rb,0.23845e-07_rb,0.25010e-07_rb, & 0.26223e-07_rb,0.27487e-07_rb,0.28804e-07_rb,0.30174e-07_rb,0.31600e-07_rb, & 0.33084e-07_rb,0.34628e-07_rb,0.36233e-07_rb,0.37902e-07_rb,0.39637e-07_rb, & 0.41440e-07_rb,0.43313e-07_rb,0.45259e-07_rb,0.47279e-07_rb,0.49376e-07_rb/) totplnk(151:181,16) = (/ & 0.51552e-07_rb,0.53810e-07_rb,0.56153e-07_rb,0.58583e-07_rb,0.61102e-07_rb, & 0.63713e-07_rb,0.66420e-07_rb,0.69224e-07_rb,0.72129e-07_rb,0.75138e-07_rb, & 0.78254e-07_rb,0.81479e-07_rb,0.84818e-07_rb,0.88272e-07_rb,0.91846e-07_rb, & 0.95543e-07_rb,0.99366e-07_rb,0.10332e-06_rb,0.10740e-06_rb,0.11163e-06_rb, & 0.11599e-06_rb,0.12050e-06_rb,0.12515e-06_rb,0.12996e-06_rb,0.13493e-06_rb, & 0.14005e-06_rb,0.14534e-06_rb,0.15080e-06_rb,0.15643e-06_rb,0.16224e-06_rb, & 0.16823e-06_rb/) totplk16(1:50) = (/ & 0.28481e-12_rb,0.33159e-12_rb,0.38535e-12_rb,0.44701e-12_rb,0.51763e-12_rb, & 0.59836e-12_rb,0.69049e-12_rb,0.79549e-12_rb,0.91493e-12_rb,0.10506e-11_rb, & 0.12045e-11_rb,0.13788e-11_rb,0.15758e-11_rb,0.17984e-11_rb,0.20493e-11_rb, & 0.23317e-11_rb,0.26494e-11_rb,0.30060e-11_rb,0.34060e-11_rb,0.38539e-11_rb, & 0.43548e-11_rb,0.49144e-11_rb,0.55387e-11_rb,0.62344e-11_rb,0.70086e-11_rb, & 0.78692e-11_rb,0.88248e-11_rb,0.98846e-11_rb,0.11059e-10_rb,0.12358e-10_rb, & 0.13794e-10_rb,0.15379e-10_rb,0.17128e-10_rb,0.19055e-10_rb,0.21176e-10_rb, & 0.23508e-10_rb,0.26070e-10_rb,0.28881e-10_rb,0.31963e-10_rb,0.35339e-10_rb, & 0.39034e-10_rb,0.43073e-10_rb,0.47484e-10_rb,0.52299e-10_rb,0.57548e-10_rb, & 0.63267e-10_rb,0.69491e-10_rb,0.76261e-10_rb,0.83616e-10_rb,0.91603e-10_rb/) totplk16(51:100) = (/ & 0.10027e-09_rb,0.10966e-09_rb,0.11983e-09_rb,0.13084e-09_rb,0.14275e-09_rb, & 0.15562e-09_rb,0.16951e-09_rb,0.18451e-09_rb,0.20068e-09_rb,0.21810e-09_rb, & 0.23686e-09_rb,0.25704e-09_rb,0.27875e-09_rb,0.30207e-09_rb,0.32712e-09_rb, & 0.35400e-09_rb,0.38282e-09_rb,0.41372e-09_rb,0.44681e-09_rb,0.48223e-09_rb, & 0.52013e-09_rb,0.56064e-09_rb,0.60392e-09_rb,0.65015e-09_rb,0.69948e-09_rb, & 0.75209e-09_rb,0.80818e-09_rb,0.86794e-09_rb,0.93157e-09_rb,0.99929e-09_rb, & 0.10713e-08_rb,0.11479e-08_rb,0.12293e-08_rb,0.13157e-08_rb,0.14074e-08_rb, & 0.15047e-08_rb,0.16079e-08_rb,0.17172e-08_rb,0.18330e-08_rb,0.19557e-08_rb, & 0.20855e-08_rb,0.22228e-08_rb,0.23680e-08_rb,0.25214e-08_rb,0.26835e-08_rb, & 0.28546e-08_rb,0.30352e-08_rb,0.32257e-08_rb,0.34266e-08_rb,0.36384e-08_rb/) totplk16(101:150) = (/ & 0.38615e-08_rb,0.40965e-08_rb,0.43438e-08_rb,0.46041e-08_rb,0.48779e-08_rb, & 0.51658e-08_rb,0.54683e-08_rb,0.57862e-08_rb,0.61200e-08_rb,0.64705e-08_rb, & 0.68382e-08_rb,0.72240e-08_rb,0.76285e-08_rb,0.80526e-08_rb,0.84969e-08_rb, & 0.89624e-08_rb,0.94498e-08_rb,0.99599e-08_rb,0.10494e-07_rb,0.11052e-07_rb, & 0.11636e-07_rb,0.12246e-07_rb,0.12884e-07_rb,0.13551e-07_rb,0.14246e-07_rb, & 0.14973e-07_rb,0.15731e-07_rb,0.16522e-07_rb,0.17347e-07_rb,0.18207e-07_rb, & 0.19103e-07_rb,0.20037e-07_rb,0.21011e-07_rb,0.22024e-07_rb,0.23079e-07_rb, & 0.24177e-07_rb,0.25320e-07_rb,0.26508e-07_rb,0.27744e-07_rb,0.29029e-07_rb, & 0.30365e-07_rb,0.31753e-07_rb,0.33194e-07_rb,0.34691e-07_rb,0.36246e-07_rb, & 0.37859e-07_rb,0.39533e-07_rb,0.41270e-07_rb,0.43071e-07_rb,0.44939e-07_rb/) totplk16(151:181) = (/ & 0.46875e-07_rb,0.48882e-07_rb,0.50961e-07_rb,0.53115e-07_rb,0.55345e-07_rb, & 0.57655e-07_rb,0.60046e-07_rb,0.62520e-07_rb,0.65080e-07_rb,0.67728e-07_rb, & 0.70466e-07_rb,0.73298e-07_rb,0.76225e-07_rb,0.79251e-07_rb,0.82377e-07_rb, & 0.85606e-07_rb,0.88942e-07_rb,0.92386e-07_rb,0.95942e-07_rb,0.99612e-07_rb, & 0.10340e-06_rb,0.10731e-06_rb,0.11134e-06_rb,0.11550e-06_rb,0.11979e-06_rb, & 0.12421e-06_rb,0.12876e-06_rb,0.13346e-06_rb,0.13830e-06_rb,0.14328e-06_rb, & 0.14841e-06_rb/) end subroutine lwavplank !*************************************************************************** subroutine lwavplankderiv !*************************************************************************** save totplnkderiv(1:50, 1) = (/ & 2.22125e-08_rb,2.23245e-08_rb,2.24355e-08_rb,2.25435e-08_rb,2.26560e-08_rb, & 2.27620e-08_rb,2.28690e-08_rb,2.29760e-08_rb,2.30775e-08_rb,2.31800e-08_rb, & 2.32825e-08_rb,2.33825e-08_rb,2.34820e-08_rb,2.35795e-08_rb,2.36760e-08_rb, & 2.37710e-08_rb,2.38655e-08_rb,2.39595e-08_rb,2.40530e-08_rb,2.41485e-08_rb, & 2.42395e-08_rb,2.43300e-08_rb,2.44155e-08_rb,2.45085e-08_rb,2.45905e-08_rb, & 2.46735e-08_rb,2.47565e-08_rb,2.48465e-08_rb,2.49315e-08_rb,2.50100e-08_rb, & 2.50905e-08_rb,2.51705e-08_rb,2.52490e-08_rb,2.53260e-08_rb,2.54075e-08_rb, & 2.54785e-08_rb,2.55555e-08_rb,2.56340e-08_rb,2.57050e-08_rb,2.57820e-08_rb, & 2.58525e-08_rb,2.59205e-08_rb,2.59945e-08_rb,2.60680e-08_rb,2.61375e-08_rb, & 2.61980e-08_rb,2.62745e-08_rb,2.63335e-08_rb,2.63995e-08_rb,2.64710e-08_rb/) totplnkderiv(51:100, 1) = (/ & 2.65300e-08_rb,2.66005e-08_rb,2.66685e-08_rb,2.67310e-08_rb,2.67915e-08_rb, & 2.68540e-08_rb,2.69065e-08_rb,2.69730e-08_rb,2.70270e-08_rb,2.70690e-08_rb, & 2.71420e-08_rb,2.71985e-08_rb,2.72560e-08_rb,2.73180e-08_rb,2.73760e-08_rb, & 2.74285e-08_rb,2.74840e-08_rb,2.75290e-08_rb,2.75950e-08_rb,2.76360e-08_rb, & 2.76975e-08_rb,2.77475e-08_rb,2.78080e-08_rb,2.78375e-08_rb,2.79120e-08_rb, & 2.79510e-08_rb,2.79955e-08_rb,2.80625e-08_rb,2.80920e-08_rb,2.81570e-08_rb, & 2.81990e-08_rb,2.82330e-08_rb,2.82830e-08_rb,2.83365e-08_rb,2.83740e-08_rb, & 2.84295e-08_rb,2.84910e-08_rb,2.85275e-08_rb,2.85525e-08_rb,2.86085e-08_rb, & 2.86535e-08_rb,2.86945e-08_rb,2.87355e-08_rb,2.87695e-08_rb,2.88105e-08_rb, & 2.88585e-08_rb,2.88945e-08_rb,2.89425e-08_rb,2.89580e-08_rb,2.90265e-08_rb/) totplnkderiv(101:150, 1) = (/ & 2.90445e-08_rb,2.90905e-08_rb,2.91425e-08_rb,2.91560e-08_rb,2.91970e-08_rb, & 2.91905e-08_rb,2.92880e-08_rb,2.92950e-08_rb,2.93630e-08_rb,2.93995e-08_rb, & 2.94425e-08_rb,2.94635e-08_rb,2.94770e-08_rb,2.95290e-08_rb,2.95585e-08_rb, & 2.95815e-08_rb,2.95995e-08_rb,2.96745e-08_rb,2.96725e-08_rb,2.97040e-08_rb, & 2.97750e-08_rb,2.97905e-08_rb,2.98175e-08_rb,2.98355e-08_rb,2.98705e-08_rb, & 2.99040e-08_rb,2.99680e-08_rb,2.99860e-08_rb,3.00270e-08_rb,3.00200e-08_rb, & 3.00770e-08_rb,3.00795e-08_rb,3.01065e-08_rb,3.01795e-08_rb,3.01815e-08_rb, & 3.02025e-08_rb,3.02360e-08_rb,3.02360e-08_rb,3.03090e-08_rb,3.03155e-08_rb, & 3.03725e-08_rb,3.03635e-08_rb,3.04270e-08_rb,3.04610e-08_rb,3.04635e-08_rb, & 3.04610e-08_rb,3.05180e-08_rb,3.05430e-08_rb,3.05290e-08_rb,3.05885e-08_rb/) totplnkderiv(151:181, 1) = (/ & 3.05750e-08_rb,3.05775e-08_rb,3.06795e-08_rb,3.07025e-08_rb,3.07365e-08_rb, & 3.07435e-08_rb,3.07525e-08_rb,3.07680e-08_rb,3.08115e-08_rb,3.07930e-08_rb, & 3.08155e-08_rb,3.08660e-08_rb,3.08865e-08_rb,3.08390e-08_rb,3.09340e-08_rb, & 3.09685e-08_rb,3.09340e-08_rb,3.09820e-08_rb,3.10365e-08_rb,3.10705e-08_rb, & 3.10750e-08_rb,3.10475e-08_rb,3.11685e-08_rb,3.11455e-08_rb,3.11500e-08_rb, & 3.11775e-08_rb,3.11890e-08_rb,3.12045e-08_rb,3.12185e-08_rb,3.12415e-08_rb, & 3.12590e-08_rb/) totplnkderiv(1:50, 2) = (/ & 4.91150e-08_rb,4.97290e-08_rb,5.03415e-08_rb,5.09460e-08_rb,5.15550e-08_rb, & 5.21540e-08_rb,5.27575e-08_rb,5.33500e-08_rb,5.39500e-08_rb,5.45445e-08_rb, & 5.51290e-08_rb,5.57235e-08_rb,5.62955e-08_rb,5.68800e-08_rb,5.74620e-08_rb, & 5.80425e-08_rb,5.86145e-08_rb,5.91810e-08_rb,5.97435e-08_rb,6.03075e-08_rb, & 6.08625e-08_rb,6.14135e-08_rb,6.19775e-08_rb,6.25185e-08_rb,6.30675e-08_rb, & 6.36145e-08_rb,6.41535e-08_rb,6.46920e-08_rb,6.52265e-08_rb,6.57470e-08_rb, & 6.62815e-08_rb,6.68000e-08_rb,6.73320e-08_rb,6.78550e-08_rb,6.83530e-08_rb, & 6.88760e-08_rb,6.93735e-08_rb,6.98790e-08_rb,7.03950e-08_rb,7.08810e-08_rb, & 7.13815e-08_rb,7.18795e-08_rb,7.23415e-08_rb,7.28505e-08_rb,7.33285e-08_rb, & 7.38075e-08_rb,7.42675e-08_rb,7.47605e-08_rb,7.52380e-08_rb,7.57020e-08_rb/) totplnkderiv(51:100, 2) = (/ & 7.61495e-08_rb,7.65955e-08_rb,7.70565e-08_rb,7.75185e-08_rb,7.79735e-08_rb, & 7.83915e-08_rb,7.88625e-08_rb,7.93215e-08_rb,7.97425e-08_rb,8.02195e-08_rb, & 8.05905e-08_rb,8.10335e-08_rb,8.14770e-08_rb,8.19025e-08_rb,8.22955e-08_rb, & 8.27115e-08_rb,8.31165e-08_rb,8.35645e-08_rb,8.39440e-08_rb,8.43785e-08_rb, & 8.47380e-08_rb,8.51495e-08_rb,8.55405e-08_rb,8.59720e-08_rb,8.63135e-08_rb, & 8.67065e-08_rb,8.70930e-08_rb,8.74545e-08_rb,8.78780e-08_rb,8.82160e-08_rb, & 8.85625e-08_rb,8.89850e-08_rb,8.93395e-08_rb,8.97080e-08_rb,9.00675e-08_rb, & 9.04085e-08_rb,9.07360e-08_rb,9.11315e-08_rb,9.13815e-08_rb,9.18320e-08_rb, & 9.21500e-08_rb,9.24725e-08_rb,9.28640e-08_rb,9.31955e-08_rb,9.35185e-08_rb, & 9.38645e-08_rb,9.41780e-08_rb,9.45465e-08_rb,9.48470e-08_rb,9.51375e-08_rb/) totplnkderiv(101:150, 2) = (/ & 9.55245e-08_rb,9.57925e-08_rb,9.61195e-08_rb,9.64750e-08_rb,9.68110e-08_rb, & 9.71715e-08_rb,9.74150e-08_rb,9.77250e-08_rb,9.79600e-08_rb,9.82600e-08_rb, & 9.85300e-08_rb,9.88400e-08_rb,9.91600e-08_rb,9.95350e-08_rb,9.97500e-08_rb, & 1.00090e-07_rb,1.00370e-07_rb,1.00555e-07_rb,1.00935e-07_rb,1.01275e-07_rb, & 1.01400e-07_rb,1.01790e-07_rb,1.01945e-07_rb,1.02225e-07_rb,1.02585e-07_rb, & 1.02895e-07_rb,1.03010e-07_rb,1.03285e-07_rb,1.03540e-07_rb,1.03890e-07_rb, & 1.04015e-07_rb,1.04420e-07_rb,1.04640e-07_rb,1.04810e-07_rb,1.05090e-07_rb, & 1.05385e-07_rb,1.05600e-07_rb,1.05965e-07_rb,1.06050e-07_rb,1.06385e-07_rb, & 1.06390e-07_rb,1.06795e-07_rb,1.06975e-07_rb,1.07240e-07_rb,1.07435e-07_rb, & 1.07815e-07_rb,1.07960e-07_rb,1.08010e-07_rb,1.08535e-07_rb,1.08670e-07_rb/) totplnkderiv(151:181, 2) = (/ & 1.08855e-07_rb,1.09210e-07_rb,1.09195e-07_rb,1.09510e-07_rb,1.09665e-07_rb, & 1.09885e-07_rb,1.10130e-07_rb,1.10440e-07_rb,1.10640e-07_rb,1.10760e-07_rb, & 1.11125e-07_rb,1.11195e-07_rb,1.11345e-07_rb,1.11710e-07_rb,1.11765e-07_rb, & 1.11960e-07_rb,1.12225e-07_rb,1.12460e-07_rb,1.12595e-07_rb,1.12730e-07_rb, & 1.12880e-07_rb,1.13295e-07_rb,1.13215e-07_rb,1.13505e-07_rb,1.13665e-07_rb, & 1.13870e-07_rb,1.14025e-07_rb,1.14325e-07_rb,1.14495e-07_rb,1.14605e-07_rb, & 1.14905e-07_rb/) totplnkderiv(1:50, 3) = (/ & 4.27040e-08_rb,4.35430e-08_rb,4.43810e-08_rb,4.52210e-08_rb,4.60630e-08_rb, & 4.69135e-08_rb,4.77585e-08_rb,4.86135e-08_rb,4.94585e-08_rb,5.03230e-08_rb, & 5.11740e-08_rb,5.20250e-08_rb,5.28940e-08_rb,5.37465e-08_rb,5.46175e-08_rb, & 5.54700e-08_rb,5.63430e-08_rb,5.72085e-08_rb,5.80735e-08_rb,5.89430e-08_rb, & 5.98015e-08_rb,6.06680e-08_rb,6.15380e-08_rb,6.24130e-08_rb,6.32755e-08_rb, & 6.41340e-08_rb,6.50060e-08_rb,6.58690e-08_rb,6.67315e-08_rb,6.76025e-08_rb, & 6.84585e-08_rb,6.93205e-08_rb,7.01845e-08_rb,7.10485e-08_rb,7.19160e-08_rb, & 7.27695e-08_rb,7.36145e-08_rb,7.44840e-08_rb,7.53405e-08_rb,7.61770e-08_rb, & 7.70295e-08_rb,7.78745e-08_rb,7.87350e-08_rb,7.95740e-08_rb,8.04150e-08_rb, & 8.12565e-08_rb,8.20885e-08_rb,8.29455e-08_rb,8.37830e-08_rb,8.46035e-08_rb/) totplnkderiv(51:100, 3) = (/ & 8.54315e-08_rb,8.62770e-08_rb,8.70975e-08_rb,8.79140e-08_rb,8.87190e-08_rb, & 8.95625e-08_rb,9.03625e-08_rb,9.11795e-08_rb,9.19930e-08_rb,9.27685e-08_rb, & 9.36095e-08_rb,9.43785e-08_rb,9.52375e-08_rb,9.59905e-08_rb,9.67680e-08_rb, & 9.75840e-08_rb,9.83755e-08_rb,9.91710e-08_rb,9.99445e-08_rb,1.00706e-07_rb, & 1.01477e-07_rb,1.02255e-07_rb,1.03021e-07_rb,1.03776e-07_rb,1.04544e-07_rb, & 1.05338e-07_rb,1.06082e-07_rb,1.06843e-07_rb,1.07543e-07_rb,1.08298e-07_rb, & 1.09103e-07_rb,1.09812e-07_rb,1.10536e-07_rb,1.11268e-07_rb,1.12027e-07_rb, & 1.12727e-07_rb,1.13464e-07_rb,1.14183e-07_rb,1.15037e-07_rb,1.15615e-07_rb, & 1.16329e-07_rb,1.17057e-07_rb,1.17734e-07_rb,1.18448e-07_rb,1.19149e-07_rb, & 1.19835e-07_rb,1.20512e-07_rb,1.21127e-07_rb,1.21895e-07_rb,1.22581e-07_rb/) totplnkderiv(101:150, 3) = (/ & 1.23227e-07_rb,1.23928e-07_rb,1.24560e-07_rb,1.25220e-07_rb,1.25895e-07_rb, & 1.26565e-07_rb,1.27125e-07_rb,1.27855e-07_rb,1.28490e-07_rb,1.29195e-07_rb, & 1.29790e-07_rb,1.30470e-07_rb,1.31070e-07_rb,1.31690e-07_rb,1.32375e-07_rb, & 1.32960e-07_rb,1.33570e-07_rb,1.34230e-07_rb,1.34840e-07_rb,1.35315e-07_rb, & 1.35990e-07_rb,1.36555e-07_rb,1.37265e-07_rb,1.37945e-07_rb,1.38425e-07_rb, & 1.38950e-07_rb,1.39640e-07_rb,1.40220e-07_rb,1.40775e-07_rb,1.41400e-07_rb, & 1.42020e-07_rb,1.42500e-07_rb,1.43085e-07_rb,1.43680e-07_rb,1.44255e-07_rb, & 1.44855e-07_rb,1.45385e-07_rb,1.45890e-07_rb,1.46430e-07_rb,1.46920e-07_rb, & 1.47715e-07_rb,1.48090e-07_rb,1.48695e-07_rb,1.49165e-07_rb,1.49715e-07_rb, & 1.50130e-07_rb,1.50720e-07_rb,1.51330e-07_rb,1.51725e-07_rb,1.52350e-07_rb/) totplnkderiv(151:181, 3) = (/ & 1.52965e-07_rb,1.53305e-07_rb,1.53915e-07_rb,1.54280e-07_rb,1.54950e-07_rb, & 1.55370e-07_rb,1.55850e-07_rb,1.56260e-07_rb,1.56825e-07_rb,1.57470e-07_rb, & 1.57760e-07_rb,1.58295e-07_rb,1.58780e-07_rb,1.59470e-07_rb,1.59940e-07_rb, & 1.60325e-07_rb,1.60825e-07_rb,1.61100e-07_rb,1.61605e-07_rb,1.62045e-07_rb, & 1.62670e-07_rb,1.63020e-07_rb,1.63625e-07_rb,1.63900e-07_rb,1.64420e-07_rb, & 1.64705e-07_rb,1.65430e-07_rb,1.65610e-07_rb,1.66220e-07_rb,1.66585e-07_rb, & 1.66965e-07_rb/) totplnkderiv(1:50, 4) = (/ & 3.32829e-08_rb,3.41160e-08_rb,3.49626e-08_rb,3.58068e-08_rb,3.66765e-08_rb, & 3.75320e-08_rb,3.84095e-08_rb,3.92920e-08_rb,4.01830e-08_rb,4.10715e-08_rb, & 4.19735e-08_rb,4.28835e-08_rb,4.37915e-08_rb,4.47205e-08_rb,4.56410e-08_rb, & 4.65770e-08_rb,4.75090e-08_rb,4.84530e-08_rb,4.93975e-08_rb,5.03470e-08_rb, & 5.13000e-08_rb,5.22560e-08_rb,5.32310e-08_rb,5.41865e-08_rb,5.51655e-08_rb, & 5.61590e-08_rb,5.71120e-08_rb,5.81075e-08_rb,5.91060e-08_rb,6.00895e-08_rb, & 6.10750e-08_rb,6.20740e-08_rb,6.30790e-08_rb,6.40765e-08_rb,6.50940e-08_rb, & 6.60895e-08_rb,6.71230e-08_rb,6.81200e-08_rb,6.91260e-08_rb,7.01485e-08_rb, & 7.11625e-08_rb,7.21870e-08_rb,7.32010e-08_rb,7.42080e-08_rb,7.52285e-08_rb, & 7.62930e-08_rb,7.73040e-08_rb,7.83185e-08_rb,7.93410e-08_rb,8.03560e-08_rb/) totplnkderiv(51:100, 4) = (/ & 8.14115e-08_rb,8.24200e-08_rb,8.34555e-08_rb,8.45100e-08_rb,8.55265e-08_rb, & 8.65205e-08_rb,8.75615e-08_rb,8.85870e-08_rb,8.96175e-08_rb,9.07015e-08_rb, & 9.16475e-08_rb,9.27525e-08_rb,9.37055e-08_rb,9.47375e-08_rb,9.57995e-08_rb, & 9.67635e-08_rb,9.77980e-08_rb,9.87735e-08_rb,9.98485e-08_rb,1.00904e-07_rb, & 1.01900e-07_rb,1.02876e-07_rb,1.03905e-07_rb,1.04964e-07_rb,1.05956e-07_rb, & 1.06870e-07_rb,1.07952e-07_rb,1.08944e-07_rb,1.10003e-07_rb,1.10965e-07_rb, & 1.11952e-07_rb,1.12927e-07_rb,1.13951e-07_rb,1.14942e-07_rb,1.15920e-07_rb, & 1.16968e-07_rb,1.17877e-07_rb,1.18930e-07_rb,1.19862e-07_rb,1.20817e-07_rb, & 1.21817e-07_rb,1.22791e-07_rb,1.23727e-07_rb,1.24751e-07_rb,1.25697e-07_rb, & 1.26634e-07_rb,1.27593e-07_rb,1.28585e-07_rb,1.29484e-07_rb,1.30485e-07_rb/) totplnkderiv(101:150, 4) = (/ & 1.31363e-07_rb,1.32391e-07_rb,1.33228e-07_rb,1.34155e-07_rb,1.35160e-07_rb, & 1.36092e-07_rb,1.37070e-07_rb,1.37966e-07_rb,1.38865e-07_rb,1.39740e-07_rb, & 1.40770e-07_rb,1.41620e-07_rb,1.42605e-07_rb,1.43465e-07_rb,1.44240e-07_rb, & 1.45305e-07_rb,1.46220e-07_rb,1.47070e-07_rb,1.47935e-07_rb,1.48890e-07_rb, & 1.49905e-07_rb,1.50640e-07_rb,1.51435e-07_rb,1.52335e-07_rb,1.53235e-07_rb, & 1.54045e-07_rb,1.54895e-07_rb,1.55785e-07_rb,1.56870e-07_rb,1.57360e-07_rb, & 1.58395e-07_rb,1.59185e-07_rb,1.60060e-07_rb,1.60955e-07_rb,1.61770e-07_rb, & 1.62445e-07_rb,1.63415e-07_rb,1.64170e-07_rb,1.65125e-07_rb,1.65995e-07_rb, & 1.66545e-07_rb,1.67580e-07_rb,1.68295e-07_rb,1.69130e-07_rb,1.69935e-07_rb, & 1.70800e-07_rb,1.71610e-07_rb,1.72365e-07_rb,1.73215e-07_rb,1.73770e-07_rb/) totplnkderiv(151:181, 4) = (/ & 1.74590e-07_rb,1.75525e-07_rb,1.76095e-07_rb,1.77125e-07_rb,1.77745e-07_rb, & 1.78580e-07_rb,1.79315e-07_rb,1.80045e-07_rb,1.80695e-07_rb,1.81580e-07_rb, & 1.82360e-07_rb,1.83205e-07_rb,1.84055e-07_rb,1.84315e-07_rb,1.85225e-07_rb, & 1.85865e-07_rb,1.86660e-07_rb,1.87445e-07_rb,1.88350e-07_rb,1.88930e-07_rb, & 1.89420e-07_rb,1.90275e-07_rb,1.90630e-07_rb,1.91650e-07_rb,1.92485e-07_rb, & 1.93285e-07_rb,1.93695e-07_rb,1.94595e-07_rb,1.94895e-07_rb,1.95960e-07_rb, & 1.96525e-07_rb/) totplnkderiv(1:50, 5) = (/ & 2.41948e-08_rb,2.49273e-08_rb,2.56705e-08_rb,2.64263e-08_rb,2.71899e-08_rb, & 2.79687e-08_rb,2.87531e-08_rb,2.95520e-08_rb,3.03567e-08_rb,3.11763e-08_rb, & 3.20014e-08_rb,3.28390e-08_rb,3.36865e-08_rb,3.45395e-08_rb,3.54083e-08_rb, & 3.62810e-08_rb,3.71705e-08_rb,3.80585e-08_rb,3.89650e-08_rb,3.98750e-08_rb, & 4.07955e-08_rb,4.17255e-08_rb,4.26635e-08_rb,4.36095e-08_rb,4.45605e-08_rb, & 4.55190e-08_rb,4.64910e-08_rb,4.74670e-08_rb,4.84480e-08_rb,4.94430e-08_rb, & 5.04460e-08_rb,5.14440e-08_rb,5.24500e-08_rb,5.34835e-08_rb,5.44965e-08_rb, & 5.55325e-08_rb,5.65650e-08_rb,5.76050e-08_rb,5.86615e-08_rb,5.97175e-08_rb, & 6.07750e-08_rb,6.18400e-08_rb,6.29095e-08_rb,6.39950e-08_rb,6.50665e-08_rb, & 6.61405e-08_rb,6.72290e-08_rb,6.82800e-08_rb,6.94445e-08_rb,7.05460e-08_rb/) totplnkderiv(51:100, 5) = (/ & 7.16400e-08_rb,7.27475e-08_rb,7.38790e-08_rb,7.49845e-08_rb,7.61270e-08_rb, & 7.72375e-08_rb,7.83770e-08_rb,7.95045e-08_rb,8.06315e-08_rb,8.17715e-08_rb, & 8.29275e-08_rb,8.40555e-08_rb,8.52110e-08_rb,8.63565e-08_rb,8.75045e-08_rb, & 8.86735e-08_rb,8.98150e-08_rb,9.09970e-08_rb,9.21295e-08_rb,9.32730e-08_rb, & 9.44605e-08_rb,9.56170e-08_rb,9.67885e-08_rb,9.79275e-08_rb,9.91190e-08_rb, & 1.00278e-07_rb,1.01436e-07_rb,1.02625e-07_rb,1.03792e-07_rb,1.04989e-07_rb, & 1.06111e-07_rb,1.07320e-07_rb,1.08505e-07_rb,1.09626e-07_rb,1.10812e-07_rb, & 1.11948e-07_rb,1.13162e-07_rb,1.14289e-07_rb,1.15474e-07_rb,1.16661e-07_rb, & 1.17827e-07_rb,1.19023e-07_rb,1.20167e-07_rb,1.21356e-07_rb,1.22499e-07_rb, & 1.23653e-07_rb,1.24876e-07_rb,1.25983e-07_rb,1.27175e-07_rb,1.28325e-07_rb/) totplnkderiv(101:150, 5) = (/ & 1.29517e-07_rb,1.30685e-07_rb,1.31840e-07_rb,1.33013e-07_rb,1.34160e-07_rb, & 1.35297e-07_rb,1.36461e-07_rb,1.37630e-07_rb,1.38771e-07_rb,1.39913e-07_rb, & 1.41053e-07_rb,1.42218e-07_rb,1.43345e-07_rb,1.44460e-07_rb,1.45692e-07_rb, & 1.46697e-07_rb,1.47905e-07_rb,1.49010e-07_rb,1.50210e-07_rb,1.51285e-07_rb, & 1.52380e-07_rb,1.53555e-07_rb,1.54655e-07_rb,1.55805e-07_rb,1.56850e-07_rb, & 1.58055e-07_rb,1.59115e-07_rb,1.60185e-07_rb,1.61255e-07_rb,1.62465e-07_rb, & 1.63575e-07_rb,1.64675e-07_rb,1.65760e-07_rb,1.66765e-07_rb,1.67945e-07_rb, & 1.69070e-07_rb,1.70045e-07_rb,1.71145e-07_rb,1.72260e-07_rb,1.73290e-07_rb, & 1.74470e-07_rb,1.75490e-07_rb,1.76515e-07_rb,1.77555e-07_rb,1.78660e-07_rb, & 1.79670e-07_rb,1.80705e-07_rb,1.81895e-07_rb,1.82745e-07_rb,1.83950e-07_rb/) totplnkderiv(151:181, 5) = (/ & 1.84955e-07_rb,1.85940e-07_rb,1.87080e-07_rb,1.88010e-07_rb,1.89145e-07_rb, & 1.90130e-07_rb,1.91110e-07_rb,1.92130e-07_rb,1.93205e-07_rb,1.94230e-07_rb, & 1.95045e-07_rb,1.96070e-07_rb,1.97155e-07_rb,1.98210e-07_rb,1.99080e-07_rb, & 2.00280e-07_rb,2.01135e-07_rb,2.02150e-07_rb,2.03110e-07_rb,2.04135e-07_rb, & 2.05110e-07_rb,2.06055e-07_rb,2.07120e-07_rb,2.08075e-07_rb,2.08975e-07_rb, & 2.09950e-07_rb,2.10870e-07_rb,2.11830e-07_rb,2.12960e-07_rb,2.13725e-07_rb, & 2.14765e-07_rb/) totplnkderiv(1:50, 6) = (/ & 1.36567e-08_rb,1.41766e-08_rb,1.47079e-08_rb,1.52499e-08_rb,1.58075e-08_rb, & 1.63727e-08_rb,1.69528e-08_rb,1.75429e-08_rb,1.81477e-08_rb,1.87631e-08_rb, & 1.93907e-08_rb,2.00297e-08_rb,2.06808e-08_rb,2.13432e-08_rb,2.20183e-08_rb, & 2.27076e-08_rb,2.34064e-08_rb,2.41181e-08_rb,2.48400e-08_rb,2.55750e-08_rb, & 2.63231e-08_rb,2.70790e-08_rb,2.78502e-08_rb,2.86326e-08_rb,2.94259e-08_rb, & 3.02287e-08_rb,3.10451e-08_rb,3.18752e-08_rb,3.27108e-08_rb,3.35612e-08_rb, & 3.44198e-08_rb,3.52930e-08_rb,3.61785e-08_rb,3.70690e-08_rb,3.79725e-08_rb, & 3.88845e-08_rb,3.98120e-08_rb,4.07505e-08_rb,4.16965e-08_rb,4.26515e-08_rb, & 4.36190e-08_rb,4.45925e-08_rb,4.55760e-08_rb,4.65735e-08_rb,4.75835e-08_rb, & 4.85970e-08_rb,4.96255e-08_rb,5.06975e-08_rb,5.16950e-08_rb,5.27530e-08_rb/) totplnkderiv(51:100, 6) = (/ & 5.38130e-08_rb,5.48860e-08_rb,5.59715e-08_rb,5.70465e-08_rb,5.81385e-08_rb, & 5.92525e-08_rb,6.03565e-08_rb,6.14815e-08_rb,6.26175e-08_rb,6.37475e-08_rb, & 6.48855e-08_rb,6.60340e-08_rb,6.71980e-08_rb,6.83645e-08_rb,6.95430e-08_rb, & 7.07145e-08_rb,7.19015e-08_rb,7.30995e-08_rb,7.43140e-08_rb,7.55095e-08_rb, & 7.67115e-08_rb,7.79485e-08_rb,7.91735e-08_rb,8.03925e-08_rb,8.16385e-08_rb, & 8.28775e-08_rb,8.41235e-08_rb,8.53775e-08_rb,8.66405e-08_rb,8.78940e-08_rb, & 8.91805e-08_rb,9.04515e-08_rb,9.17290e-08_rb,9.30230e-08_rb,9.43145e-08_rb, & 9.56200e-08_rb,9.69160e-08_rb,9.82140e-08_rb,9.95285e-08_rb,1.00829e-07_rb, & 1.02145e-07_rb,1.03478e-07_rb,1.04787e-07_rb,1.06095e-07_rb,1.07439e-07_rb, & 1.08785e-07_rb,1.10078e-07_rb,1.11466e-07_rb,1.12795e-07_rb,1.14133e-07_rb/) totplnkderiv(101:150, 6) = (/ & 1.15479e-07_rb,1.16825e-07_rb,1.18191e-07_rb,1.19540e-07_rb,1.20908e-07_rb, & 1.22257e-07_rb,1.23634e-07_rb,1.24992e-07_rb,1.26345e-07_rb,1.27740e-07_rb, & 1.29098e-07_rb,1.30447e-07_rb,1.31831e-07_rb,1.33250e-07_rb,1.34591e-07_rb, & 1.36011e-07_rb,1.37315e-07_rb,1.38721e-07_rb,1.40103e-07_rb,1.41504e-07_rb, & 1.42882e-07_rb,1.44259e-07_rb,1.45674e-07_rb,1.46997e-07_rb,1.48412e-07_rb, & 1.49794e-07_rb,1.51167e-07_rb,1.52577e-07_rb,1.53941e-07_rb,1.55369e-07_rb, & 1.56725e-07_rb,1.58125e-07_rb,1.59460e-07_rb,1.60895e-07_rb,1.62260e-07_rb, & 1.63610e-07_rb,1.65085e-07_rb,1.66410e-07_rb,1.67805e-07_rb,1.69185e-07_rb, & 1.70570e-07_rb,1.71915e-07_rb,1.73375e-07_rb,1.74775e-07_rb,1.76090e-07_rb, & 1.77485e-07_rb,1.78905e-07_rb,1.80190e-07_rb,1.81610e-07_rb,1.82960e-07_rb/) totplnkderiv(151:181, 6) = (/ & 1.84330e-07_rb,1.85750e-07_rb,1.87060e-07_rb,1.88470e-07_rb,1.89835e-07_rb, & 1.91250e-07_rb,1.92565e-07_rb,1.93925e-07_rb,1.95220e-07_rb,1.96620e-07_rb, & 1.98095e-07_rb,1.99330e-07_rb,2.00680e-07_rb,2.02090e-07_rb,2.03360e-07_rb, & 2.04775e-07_rb,2.06080e-07_rb,2.07440e-07_rb,2.08820e-07_rb,2.10095e-07_rb, & 2.11445e-07_rb,2.12785e-07_rb,2.14050e-07_rb,2.15375e-07_rb,2.16825e-07_rb, & 2.18080e-07_rb,2.19345e-07_rb,2.20710e-07_rb,2.21980e-07_rb,2.23425e-07_rb, & 2.24645e-07_rb/) totplnkderiv(1:50, 7) = (/ & 7.22270e-09_rb,7.55350e-09_rb,7.89480e-09_rb,8.24725e-09_rb,8.60780e-09_rb, & 8.98215e-09_rb,9.36430e-09_rb,9.76035e-09_rb,1.01652e-08_rb,1.05816e-08_rb, & 1.10081e-08_rb,1.14480e-08_rb,1.18981e-08_rb,1.23600e-08_rb,1.28337e-08_rb, & 1.33172e-08_rb,1.38139e-08_rb,1.43208e-08_rb,1.48413e-08_rb,1.53702e-08_rb, & 1.59142e-08_rb,1.64704e-08_rb,1.70354e-08_rb,1.76178e-08_rb,1.82065e-08_rb, & 1.88083e-08_rb,1.94237e-08_rb,2.00528e-08_rb,2.06913e-08_rb,2.13413e-08_rb, & 2.20058e-08_rb,2.26814e-08_rb,2.33686e-08_rb,2.40729e-08_rb,2.47812e-08_rb, & 2.55099e-08_rb,2.62449e-08_rb,2.69966e-08_rb,2.77569e-08_rb,2.85269e-08_rb, & 2.93144e-08_rb,3.01108e-08_rb,3.09243e-08_rb,3.17433e-08_rb,3.25756e-08_rb, & 3.34262e-08_rb,3.42738e-08_rb,3.51480e-08_rb,3.60285e-08_rb,3.69160e-08_rb/) totplnkderiv(51:100, 7) = (/ & 3.78235e-08_rb,3.87390e-08_rb,3.96635e-08_rb,4.06095e-08_rb,4.15600e-08_rb, & 4.25180e-08_rb,4.34895e-08_rb,4.44800e-08_rb,4.54715e-08_rb,4.64750e-08_rb, & 4.74905e-08_rb,4.85210e-08_rb,4.95685e-08_rb,5.06135e-08_rb,5.16725e-08_rb, & 5.27480e-08_rb,5.38265e-08_rb,5.49170e-08_rb,5.60120e-08_rb,5.71275e-08_rb, & 5.82610e-08_rb,5.93775e-08_rb,6.05245e-08_rb,6.17025e-08_rb,6.28355e-08_rb, & 6.40135e-08_rb,6.52015e-08_rb,6.63865e-08_rb,6.75790e-08_rb,6.88120e-08_rb, & 7.00070e-08_rb,7.12335e-08_rb,7.24720e-08_rb,7.37340e-08_rb,7.49775e-08_rb, & 7.62415e-08_rb,7.75185e-08_rb,7.87915e-08_rb,8.00875e-08_rb,8.13630e-08_rb, & 8.26710e-08_rb,8.39645e-08_rb,8.53060e-08_rb,8.66305e-08_rb,8.79915e-08_rb, & 8.93080e-08_rb,9.06560e-08_rb,9.19860e-08_rb,9.33550e-08_rb,9.47305e-08_rb/) totplnkderiv(101:150, 7) = (/ & 9.61180e-08_rb,9.74500e-08_rb,9.88850e-08_rb,1.00263e-07_rb,1.01688e-07_rb, & 1.03105e-07_rb,1.04489e-07_rb,1.05906e-07_rb,1.07345e-07_rb,1.08771e-07_rb, & 1.10220e-07_rb,1.11713e-07_rb,1.13098e-07_rb,1.14515e-07_rb,1.16019e-07_rb, & 1.17479e-07_rb,1.18969e-07_rb,1.20412e-07_rb,1.21852e-07_rb,1.23387e-07_rb, & 1.24851e-07_rb,1.26319e-07_rb,1.27811e-07_rb,1.29396e-07_rb,1.30901e-07_rb, & 1.32358e-07_rb,1.33900e-07_rb,1.35405e-07_rb,1.36931e-07_rb,1.38443e-07_rb, & 1.39985e-07_rb,1.41481e-07_rb,1.43072e-07_rb,1.44587e-07_rb,1.46133e-07_rb, & 1.47698e-07_rb,1.49203e-07_rb,1.50712e-07_rb,1.52363e-07_rb,1.53795e-07_rb, & 1.55383e-07_rb,1.56961e-07_rb,1.58498e-07_rb,1.60117e-07_rb,1.61745e-07_rb, & 1.63190e-07_rb,1.64790e-07_rb,1.66370e-07_rb,1.67975e-07_rb,1.69555e-07_rb/) totplnkderiv(151:181, 7) = (/ & 1.71060e-07_rb,1.72635e-07_rb,1.74345e-07_rb,1.75925e-07_rb,1.77395e-07_rb, & 1.78960e-07_rb,1.80620e-07_rb,1.82180e-07_rb,1.83840e-07_rb,1.85340e-07_rb, & 1.86940e-07_rb,1.88550e-07_rb,1.90095e-07_rb,1.91670e-07_rb,1.93385e-07_rb, & 1.94895e-07_rb,1.96500e-07_rb,1.98090e-07_rb,1.99585e-07_rb,2.01280e-07_rb, & 2.02950e-07_rb,2.04455e-07_rb,2.06075e-07_rb,2.07635e-07_rb,2.09095e-07_rb, & 2.10865e-07_rb,2.12575e-07_rb,2.14050e-07_rb,2.15630e-07_rb,2.17060e-07_rb, & 2.18715e-07_rb/) totplnkderiv(1:50, 8) = (/ & 4.26397e-09_rb,4.48470e-09_rb,4.71299e-09_rb,4.94968e-09_rb,5.19542e-09_rb, & 5.44847e-09_rb,5.71195e-09_rb,5.98305e-09_rb,6.26215e-09_rb,6.55290e-09_rb, & 6.85190e-09_rb,7.15950e-09_rb,7.47745e-09_rb,7.80525e-09_rb,8.14190e-09_rb, & 8.48915e-09_rb,8.84680e-09_rb,9.21305e-09_rb,9.59105e-09_rb,9.98130e-09_rb, & 1.03781e-08_rb,1.07863e-08_rb,1.12094e-08_rb,1.16371e-08_rb,1.20802e-08_rb, & 1.25327e-08_rb,1.29958e-08_rb,1.34709e-08_rb,1.39592e-08_rb,1.44568e-08_rb, & 1.49662e-08_rb,1.54828e-08_rb,1.60186e-08_rb,1.65612e-08_rb,1.71181e-08_rb, & 1.76822e-08_rb,1.82591e-08_rb,1.88487e-08_rb,1.94520e-08_rb,2.00691e-08_rb, & 2.06955e-08_rb,2.13353e-08_rb,2.19819e-08_rb,2.26479e-08_rb,2.33234e-08_rb, & 2.40058e-08_rb,2.47135e-08_rb,2.54203e-08_rb,2.61414e-08_rb,2.68778e-08_rb/) totplnkderiv(51:100, 8) = (/ & 2.76265e-08_rb,2.83825e-08_rb,2.91632e-08_rb,2.99398e-08_rb,3.07389e-08_rb, & 3.15444e-08_rb,3.23686e-08_rb,3.31994e-08_rb,3.40487e-08_rb,3.49020e-08_rb, & 3.57715e-08_rb,3.66515e-08_rb,3.75465e-08_rb,3.84520e-08_rb,3.93675e-08_rb, & 4.02985e-08_rb,4.12415e-08_rb,4.21965e-08_rb,4.31630e-08_rb,4.41360e-08_rb, & 4.51220e-08_rb,4.61235e-08_rb,4.71440e-08_rb,4.81515e-08_rb,4.91905e-08_rb, & 5.02395e-08_rb,5.12885e-08_rb,5.23735e-08_rb,5.34460e-08_rb,5.45245e-08_rb, & 5.56375e-08_rb,5.67540e-08_rb,5.78780e-08_rb,5.90065e-08_rb,6.01520e-08_rb, & 6.13000e-08_rb,6.24720e-08_rb,6.36530e-08_rb,6.48500e-08_rb,6.60500e-08_rb, & 6.72435e-08_rb,6.84735e-08_rb,6.97025e-08_rb,7.09530e-08_rb,7.21695e-08_rb, & 7.34270e-08_rb,7.47295e-08_rb,7.59915e-08_rb,7.72685e-08_rb,7.85925e-08_rb/) totplnkderiv(101:150, 8) = (/ & 7.98855e-08_rb,8.12205e-08_rb,8.25120e-08_rb,8.38565e-08_rb,8.52005e-08_rb, & 8.65570e-08_rb,8.79075e-08_rb,8.92920e-08_rb,9.06535e-08_rb,9.20455e-08_rb, & 9.34230e-08_rb,9.48355e-08_rb,9.62720e-08_rb,9.76890e-08_rb,9.90755e-08_rb, & 1.00528e-07_rb,1.01982e-07_rb,1.03436e-07_rb,1.04919e-07_rb,1.06368e-07_rb, & 1.07811e-07_rb,1.09326e-07_rb,1.10836e-07_rb,1.12286e-07_rb,1.13803e-07_rb, & 1.15326e-07_rb,1.16809e-07_rb,1.18348e-07_rb,1.19876e-07_rb,1.21413e-07_rb, & 1.22922e-07_rb,1.24524e-07_rb,1.26049e-07_rb,1.27573e-07_rb,1.29155e-07_rb, & 1.30708e-07_rb,1.32327e-07_rb,1.33958e-07_rb,1.35480e-07_rb,1.37081e-07_rb, & 1.38716e-07_rb,1.40326e-07_rb,1.41872e-07_rb,1.43468e-07_rb,1.45092e-07_rb, & 1.46806e-07_rb,1.48329e-07_rb,1.49922e-07_rb,1.51668e-07_rb,1.53241e-07_rb/) totplnkderiv(151:181, 8) = (/ & 1.54996e-07_rb,1.56561e-07_rb,1.58197e-07_rb,1.59884e-07_rb,1.61576e-07_rb, & 1.63200e-07_rb,1.64885e-07_rb,1.66630e-07_rb,1.68275e-07_rb,1.69935e-07_rb, & 1.71650e-07_rb,1.73245e-07_rb,1.75045e-07_rb,1.76710e-07_rb,1.78330e-07_rb, & 1.79995e-07_rb,1.81735e-07_rb,1.83470e-07_rb,1.85200e-07_rb,1.86890e-07_rb, & 1.88595e-07_rb,1.90300e-07_rb,1.91995e-07_rb,1.93715e-07_rb,1.95495e-07_rb, & 1.97130e-07_rb,1.98795e-07_rb,2.00680e-07_rb,2.02365e-07_rb,2.04090e-07_rb, & 2.05830e-07_rb/) totplnkderiv(1:50, 9) = (/ & 1.85410e-09_rb,1.96515e-09_rb,2.08117e-09_rb,2.20227e-09_rb,2.32861e-09_rb, & 2.46066e-09_rb,2.59812e-09_rb,2.74153e-09_rb,2.89058e-09_rb,3.04567e-09_rb, & 3.20674e-09_rb,3.37442e-09_rb,3.54854e-09_rb,3.72892e-09_rb,3.91630e-09_rb, & 4.11013e-09_rb,4.31150e-09_rb,4.52011e-09_rb,4.73541e-09_rb,4.95870e-09_rb, & 5.18913e-09_rb,5.42752e-09_rb,5.67340e-09_rb,5.92810e-09_rb,6.18995e-09_rb, & 6.46055e-09_rb,6.73905e-09_rb,7.02620e-09_rb,7.32260e-09_rb,7.62700e-09_rb, & 7.94050e-09_rb,8.26370e-09_rb,8.59515e-09_rb,8.93570e-09_rb,9.28535e-09_rb, & 9.64575e-09_rb,1.00154e-08_rb,1.03944e-08_rb,1.07839e-08_rb,1.11832e-08_rb, & 1.15909e-08_rb,1.20085e-08_rb,1.24399e-08_rb,1.28792e-08_rb,1.33280e-08_rb, & 1.37892e-08_rb,1.42573e-08_rb,1.47408e-08_rb,1.52345e-08_rb,1.57371e-08_rb/) totplnkderiv(51:100, 9) = (/ & 1.62496e-08_rb,1.67756e-08_rb,1.73101e-08_rb,1.78596e-08_rb,1.84161e-08_rb, & 1.89869e-08_rb,1.95681e-08_rb,2.01632e-08_rb,2.07626e-08_rb,2.13800e-08_rb, & 2.20064e-08_rb,2.26453e-08_rb,2.32970e-08_rb,2.39595e-08_rb,2.46340e-08_rb, & 2.53152e-08_rb,2.60158e-08_rb,2.67235e-08_rb,2.74471e-08_rb,2.81776e-08_rb, & 2.89233e-08_rb,2.96822e-08_rb,3.04488e-08_rb,3.12298e-08_rb,3.20273e-08_rb, & 3.28304e-08_rb,3.36455e-08_rb,3.44765e-08_rb,3.53195e-08_rb,3.61705e-08_rb, & 3.70385e-08_rb,3.79155e-08_rb,3.88065e-08_rb,3.97055e-08_rb,4.06210e-08_rb, & 4.15490e-08_rb,4.24825e-08_rb,4.34355e-08_rb,4.43920e-08_rb,4.53705e-08_rb, & 4.63560e-08_rb,4.73565e-08_rb,4.83655e-08_rb,4.93815e-08_rb,5.04180e-08_rb, & 5.14655e-08_rb,5.25175e-08_rb,5.35865e-08_rb,5.46720e-08_rb,5.57670e-08_rb/) totplnkderiv(101:150, 9) = (/ & 5.68640e-08_rb,5.79825e-08_rb,5.91140e-08_rb,6.02515e-08_rb,6.13985e-08_rb, & 6.25525e-08_rb,6.37420e-08_rb,6.49220e-08_rb,6.61145e-08_rb,6.73185e-08_rb, & 6.85520e-08_rb,6.97760e-08_rb,7.10050e-08_rb,7.22650e-08_rb,7.35315e-08_rb, & 7.48035e-08_rb,7.60745e-08_rb,7.73740e-08_rb,7.86870e-08_rb,7.99845e-08_rb, & 8.13325e-08_rb,8.26615e-08_rb,8.40010e-08_rb,8.53640e-08_rb,8.67235e-08_rb, & 8.80960e-08_rb,8.95055e-08_rb,9.08945e-08_rb,9.23045e-08_rb,9.37100e-08_rb, & 9.51555e-08_rb,9.65630e-08_rb,9.80235e-08_rb,9.94920e-08_rb,1.00966e-07_rb, & 1.02434e-07_rb,1.03898e-07_rb,1.05386e-07_rb,1.06905e-07_rb,1.08418e-07_rb, & 1.09926e-07_rb,1.11454e-07_rb,1.13010e-07_rb,1.14546e-07_rb,1.16106e-07_rb, & 1.17652e-07_rb,1.19264e-07_rb,1.20817e-07_rb,1.22395e-07_rb,1.24024e-07_rb/) totplnkderiv(151:181, 9) = (/ & 1.25585e-07_rb,1.27213e-07_rb,1.28817e-07_rb,1.30472e-07_rb,1.32088e-07_rb, & 1.33752e-07_rb,1.35367e-07_rb,1.37018e-07_rb,1.38698e-07_rb,1.40394e-07_rb, & 1.42026e-07_rb,1.43796e-07_rb,1.45438e-07_rb,1.47175e-07_rb,1.48866e-07_rb, & 1.50576e-07_rb,1.52281e-07_rb,1.54018e-07_rb,1.55796e-07_rb,1.57515e-07_rb, & 1.59225e-07_rb,1.60989e-07_rb,1.62754e-07_rb,1.64532e-07_rb,1.66285e-07_rb, & 1.68070e-07_rb,1.69870e-07_rb,1.71625e-07_rb,1.73440e-07_rb,1.75275e-07_rb, & 1.77040e-07_rb/) totplnkderiv(1:50,10) = (/ & 7.14917e-10_rb,7.64833e-10_rb,8.17460e-10_rb,8.72980e-10_rb,9.31380e-10_rb, & 9.92940e-10_rb,1.05746e-09_rb,1.12555e-09_rb,1.19684e-09_rb,1.27162e-09_rb, & 1.35001e-09_rb,1.43229e-09_rb,1.51815e-09_rb,1.60831e-09_rb,1.70271e-09_rb, & 1.80088e-09_rb,1.90365e-09_rb,2.01075e-09_rb,2.12261e-09_rb,2.23924e-09_rb, & 2.36057e-09_rb,2.48681e-09_rb,2.61814e-09_rb,2.75506e-09_rb,2.89692e-09_rb, & 3.04423e-09_rb,3.19758e-09_rb,3.35681e-09_rb,3.52113e-09_rb,3.69280e-09_rb, & 3.86919e-09_rb,4.05205e-09_rb,4.24184e-09_rb,4.43877e-09_rb,4.64134e-09_rb, & 4.85088e-09_rb,5.06670e-09_rb,5.29143e-09_rb,5.52205e-09_rb,5.75980e-09_rb, & 6.00550e-09_rb,6.25840e-09_rb,6.51855e-09_rb,6.78800e-09_rb,7.06435e-09_rb, & 7.34935e-09_rb,7.64220e-09_rb,7.94470e-09_rb,8.25340e-09_rb,8.57030e-09_rb/) totplnkderiv(51:100,10) = (/ & 8.89680e-09_rb,9.23255e-09_rb,9.57770e-09_rb,9.93045e-09_rb,1.02932e-08_rb, & 1.06649e-08_rb,1.10443e-08_rb,1.14348e-08_rb,1.18350e-08_rb,1.22463e-08_rb, & 1.26679e-08_rb,1.30949e-08_rb,1.35358e-08_rb,1.39824e-08_rb,1.44425e-08_rb, & 1.49126e-08_rb,1.53884e-08_rb,1.58826e-08_rb,1.63808e-08_rb,1.68974e-08_rb, & 1.74159e-08_rb,1.79447e-08_rb,1.84886e-08_rb,1.90456e-08_rb,1.96124e-08_rb, & 2.01863e-08_rb,2.07737e-08_rb,2.13720e-08_rb,2.19837e-08_rb,2.26044e-08_rb, & 2.32396e-08_rb,2.38856e-08_rb,2.45344e-08_rb,2.52055e-08_rb,2.58791e-08_rb, & 2.65706e-08_rb,2.72758e-08_rb,2.79852e-08_rb,2.87201e-08_rb,2.94518e-08_rb, & 3.02063e-08_rb,3.09651e-08_rb,3.17357e-08_rb,3.25235e-08_rb,3.33215e-08_rb, & 3.41285e-08_rb,3.49485e-08_rb,3.57925e-08_rb,3.66330e-08_rb,3.74765e-08_rb/) totplnkderiv(101:150,10) = (/ & 3.83675e-08_rb,3.92390e-08_rb,4.01330e-08_rb,4.10340e-08_rb,4.19585e-08_rb, & 4.28815e-08_rb,4.38210e-08_rb,4.47770e-08_rb,4.57575e-08_rb,4.67325e-08_rb, & 4.77170e-08_rb,4.87205e-08_rb,4.97410e-08_rb,5.07620e-08_rb,5.18180e-08_rb, & 5.28540e-08_rb,5.39260e-08_rb,5.50035e-08_rb,5.60885e-08_rb,5.71900e-08_rb, & 5.82940e-08_rb,5.94380e-08_rb,6.05690e-08_rb,6.17185e-08_rb,6.28860e-08_rb, & 6.40670e-08_rb,6.52300e-08_rb,6.64225e-08_rb,6.76485e-08_rb,6.88715e-08_rb, & 7.00750e-08_rb,7.13760e-08_rb,7.25910e-08_rb,7.38860e-08_rb,7.51290e-08_rb, & 7.64420e-08_rb,7.77550e-08_rb,7.90725e-08_rb,8.03825e-08_rb,8.17330e-08_rb, & 8.30810e-08_rb,8.44330e-08_rb,8.57720e-08_rb,8.72115e-08_rb,8.85800e-08_rb, & 8.99945e-08_rb,9.13905e-08_rb,9.28345e-08_rb,9.42665e-08_rb,9.56765e-08_rb/) totplnkderiv(151:181,10) = (/ & 9.72000e-08_rb,9.86780e-08_rb,1.00105e-07_rb,1.01616e-07_rb,1.03078e-07_rb, & 1.04610e-07_rb,1.06154e-07_rb,1.07639e-07_rb,1.09242e-07_rb,1.10804e-07_rb, & 1.12384e-07_rb,1.13871e-07_rb,1.15478e-07_rb,1.17066e-07_rb,1.18703e-07_rb, & 1.20294e-07_rb,1.21930e-07_rb,1.23543e-07_rb,1.25169e-07_rb,1.26806e-07_rb, & 1.28503e-07_rb,1.30233e-07_rb,1.31834e-07_rb,1.33596e-07_rb,1.35283e-07_rb, & 1.36947e-07_rb,1.38594e-07_rb,1.40362e-07_rb,1.42131e-07_rb,1.43823e-07_rb, & 1.45592e-07_rb/) totplnkderiv(1:50,11) = (/ & 2.25919e-10_rb,2.43810e-10_rb,2.62866e-10_rb,2.83125e-10_rb,3.04676e-10_rb, & 3.27536e-10_rb,3.51796e-10_rb,3.77498e-10_rb,4.04714e-10_rb,4.33528e-10_rb, & 4.64000e-10_rb,4.96185e-10_rb,5.30165e-10_rb,5.65999e-10_rb,6.03749e-10_rb, & 6.43579e-10_rb,6.85479e-10_rb,7.29517e-10_rb,7.75810e-10_rb,8.24440e-10_rb, & 8.75520e-10_rb,9.29065e-10_rb,9.85175e-10_rb,1.04405e-09_rb,1.10562e-09_rb, & 1.17005e-09_rb,1.23742e-09_rb,1.30780e-09_rb,1.38141e-09_rb,1.45809e-09_rb, & 1.53825e-09_rb,1.62177e-09_rb,1.70884e-09_rb,1.79942e-09_rb,1.89390e-09_rb, & 1.99205e-09_rb,2.09429e-09_rb,2.20030e-09_rb,2.31077e-09_rb,2.42510e-09_rb, & 2.54410e-09_rb,2.66754e-09_rb,2.79529e-09_rb,2.92777e-09_rb,3.06498e-09_rb, & 3.20691e-09_rb,3.35450e-09_rb,3.50653e-09_rb,3.66427e-09_rb,3.82723e-09_rb/) totplnkderiv(51:100,11) = (/ & 3.99549e-09_rb,4.16911e-09_rb,4.34892e-09_rb,4.53415e-09_rb,4.72504e-09_rb, & 4.92197e-09_rb,5.12525e-09_rb,5.33485e-09_rb,5.55085e-09_rb,5.77275e-09_rb, & 6.00105e-09_rb,6.23650e-09_rb,6.47855e-09_rb,6.72735e-09_rb,6.98325e-09_rb, & 7.24695e-09_rb,7.51730e-09_rb,7.79480e-09_rb,8.07975e-09_rb,8.37170e-09_rb, & 8.67195e-09_rb,8.98050e-09_rb,9.29575e-09_rb,9.61950e-09_rb,9.95150e-09_rb, & 1.02912e-08_rb,1.06397e-08_rb,1.09964e-08_rb,1.13611e-08_rb,1.17348e-08_rb, & 1.21158e-08_rb,1.25072e-08_rb,1.29079e-08_rb,1.33159e-08_rb,1.37342e-08_rb, & 1.41599e-08_rb,1.45966e-08_rb,1.50438e-08_rb,1.54964e-08_rb,1.59605e-08_rb, & 1.64337e-08_rb,1.69189e-08_rb,1.74134e-08_rb,1.79136e-08_rb,1.84272e-08_rb, & 1.89502e-08_rb,1.94845e-08_rb,2.00248e-08_rb,2.05788e-08_rb,2.11455e-08_rb/) totplnkderiv(101:150,11) = (/ & 2.17159e-08_rb,2.23036e-08_rb,2.28983e-08_rb,2.35033e-08_rb,2.41204e-08_rb, & 2.47485e-08_rb,2.53860e-08_rb,2.60331e-08_rb,2.66891e-08_rb,2.73644e-08_rb, & 2.80440e-08_rb,2.87361e-08_rb,2.94412e-08_rb,3.01560e-08_rb,3.08805e-08_rb, & 3.16195e-08_rb,3.23690e-08_rb,3.31285e-08_rb,3.39015e-08_rb,3.46820e-08_rb, & 3.54770e-08_rb,3.62805e-08_rb,3.70960e-08_rb,3.79295e-08_rb,3.87715e-08_rb, & 3.96185e-08_rb,4.04860e-08_rb,4.13600e-08_rb,4.22500e-08_rb,4.31490e-08_rb, & 4.40610e-08_rb,4.49810e-08_rb,4.59205e-08_rb,4.68650e-08_rb,4.78260e-08_rb, & 4.87970e-08_rb,4.97790e-08_rb,5.07645e-08_rb,5.17730e-08_rb,5.27960e-08_rb, & 5.38285e-08_rb,5.48650e-08_rb,5.59205e-08_rb,5.69960e-08_rb,5.80690e-08_rb, & 5.91570e-08_rb,6.02640e-08_rb,6.13750e-08_rb,6.25015e-08_rb,6.36475e-08_rb/) totplnkderiv(151:181,11) = (/ & 6.47950e-08_rb,6.59510e-08_rb,6.71345e-08_rb,6.83175e-08_rb,6.95250e-08_rb, & 7.07325e-08_rb,7.19490e-08_rb,7.31880e-08_rb,7.44315e-08_rb,7.56880e-08_rb, & 7.69500e-08_rb,7.82495e-08_rb,7.95330e-08_rb,8.08450e-08_rb,8.21535e-08_rb, & 8.34860e-08_rb,8.48330e-08_rb,8.61795e-08_rb,8.75480e-08_rb,8.89235e-08_rb, & 9.03060e-08_rb,9.17045e-08_rb,9.31140e-08_rb,9.45240e-08_rb,9.59720e-08_rb, & 9.74140e-08_rb,9.88825e-08_rb,1.00347e-07_rb,1.01825e-07_rb,1.03305e-07_rb, & 1.04826e-07_rb/) totplnkderiv(1:50,12) = (/ & 2.91689e-11_rb,3.20300e-11_rb,3.51272e-11_rb,3.84803e-11_rb,4.21014e-11_rb, & 4.60107e-11_rb,5.02265e-11_rb,5.47685e-11_rb,5.96564e-11_rb,6.49111e-11_rb, & 7.05522e-11_rb,7.66060e-11_rb,8.30974e-11_rb,9.00441e-11_rb,9.74820e-11_rb, & 1.05435e-10_rb,1.13925e-10_rb,1.22981e-10_rb,1.32640e-10_rb,1.42933e-10_rb, & 1.53882e-10_rb,1.65527e-10_rb,1.77903e-10_rb,1.91054e-10_rb,2.05001e-10_rb, & 2.19779e-10_rb,2.35448e-10_rb,2.52042e-10_rb,2.69565e-10_rb,2.88128e-10_rb, & 3.07714e-10_rb,3.28370e-10_rb,3.50238e-10_rb,3.73235e-10_rb,3.97433e-10_rb, & 4.22964e-10_rb,4.49822e-10_rb,4.78042e-10_rb,5.07721e-10_rb,5.38915e-10_rb, & 5.71610e-10_rb,6.05916e-10_rb,6.41896e-10_rb,6.79600e-10_rb,7.19110e-10_rb, & 7.60455e-10_rb,8.03625e-10_rb,8.48870e-10_rb,8.96080e-10_rb,9.45490e-10_rb/) totplnkderiv(51:100,12) = (/ & 9.96930e-10_rb,1.05071e-09_rb,1.10679e-09_rb,1.16521e-09_rb,1.22617e-09_rb, & 1.28945e-09_rb,1.35554e-09_rb,1.42427e-09_rb,1.49574e-09_rb,1.56984e-09_rb, & 1.64695e-09_rb,1.72715e-09_rb,1.81034e-09_rb,1.89656e-09_rb,1.98613e-09_rb, & 2.07898e-09_rb,2.17515e-09_rb,2.27498e-09_rb,2.37826e-09_rb,2.48517e-09_rb, & 2.59566e-09_rb,2.71004e-09_rb,2.82834e-09_rb,2.95078e-09_rb,3.07686e-09_rb, & 3.20739e-09_rb,3.34232e-09_rb,3.48162e-09_rb,3.62515e-09_rb,3.77337e-09_rb, & 3.92614e-09_rb,4.08317e-09_rb,4.24567e-09_rb,4.41272e-09_rb,4.58524e-09_rb, & 4.76245e-09_rb,4.94450e-09_rb,5.13235e-09_rb,5.32535e-09_rb,5.52415e-09_rb, & 5.72770e-09_rb,5.93815e-09_rb,6.15315e-09_rb,6.37525e-09_rb,6.60175e-09_rb, & 6.83485e-09_rb,7.07490e-09_rb,7.32060e-09_rb,7.57225e-09_rb,7.83035e-09_rb/) totplnkderiv(101:150,12) = (/ & 8.09580e-09_rb,8.36620e-09_rb,8.64410e-09_rb,8.93110e-09_rb,9.22170e-09_rb, & 9.52055e-09_rb,9.82595e-09_rb,1.01399e-08_rb,1.04613e-08_rb,1.07878e-08_rb, & 1.11223e-08_rb,1.14667e-08_rb,1.18152e-08_rb,1.21748e-08_rb,1.25410e-08_rb, & 1.29147e-08_rb,1.32948e-08_rb,1.36858e-08_rb,1.40827e-08_rb,1.44908e-08_rb, & 1.49040e-08_rb,1.53284e-08_rb,1.57610e-08_rb,1.61995e-08_rb,1.66483e-08_rb, & 1.71068e-08_rb,1.75714e-08_rb,1.80464e-08_rb,1.85337e-08_rb,1.90249e-08_rb, & 1.95309e-08_rb,2.00407e-08_rb,2.05333e-08_rb,2.10929e-08_rb,2.16346e-08_rb, & 2.21829e-08_rb,2.27402e-08_rb,2.33112e-08_rb,2.38922e-08_rb,2.44802e-08_rb, & 2.50762e-08_rb,2.56896e-08_rb,2.63057e-08_rb,2.69318e-08_rb,2.75705e-08_rb, & 2.82216e-08_rb,2.88787e-08_rb,2.95505e-08_rb,3.02335e-08_rb,3.09215e-08_rb/) totplnkderiv(151:181,12) = (/ & 3.16235e-08_rb,3.23350e-08_rb,3.30590e-08_rb,3.37960e-08_rb,3.45395e-08_rb, & 3.52955e-08_rb,3.60615e-08_rb,3.68350e-08_rb,3.76265e-08_rb,3.84255e-08_rb, & 3.92400e-08_rb,4.00485e-08_rb,4.08940e-08_rb,4.17310e-08_rb,4.25860e-08_rb, & 4.34585e-08_rb,4.43270e-08_rb,4.52220e-08_rb,4.61225e-08_rb,4.70345e-08_rb, & 4.79560e-08_rb,4.89000e-08_rb,4.98445e-08_rb,5.07985e-08_rb,5.17705e-08_rb, & 5.27575e-08_rb,5.37420e-08_rb,5.47495e-08_rb,5.57725e-08_rb,5.68105e-08_rb, & 5.78395e-08_rb/) totplnkderiv(1:50,13) = (/ & 5.47482e-12_rb,6.09637e-12_rb,6.77874e-12_rb,7.52703e-12_rb,8.34784e-12_rb, & 9.24486e-12_rb,1.02246e-11_rb,1.12956e-11_rb,1.24615e-11_rb,1.37321e-11_rb, & 1.51131e-11_rb,1.66129e-11_rb,1.82416e-11_rb,2.00072e-11_rb,2.19187e-11_rb, & 2.39828e-11_rb,2.62171e-11_rb,2.86290e-11_rb,3.12283e-11_rb,3.40276e-11_rb, & 3.70433e-11_rb,4.02847e-11_rb,4.37738e-11_rb,4.75070e-11_rb,5.15119e-11_rb, & 5.58120e-11_rb,6.04059e-11_rb,6.53208e-11_rb,7.05774e-11_rb,7.61935e-11_rb, & 8.21832e-11_rb,8.85570e-11_rb,9.53575e-11_rb,1.02592e-10_rb,1.10298e-10_rb, & 1.18470e-10_rb,1.27161e-10_rb,1.36381e-10_rb,1.46161e-10_rb,1.56529e-10_rb, & 1.67521e-10_rb,1.79142e-10_rb,1.91423e-10_rb,2.04405e-10_rb,2.18123e-10_rb, & 2.32608e-10_rb,2.47889e-10_rb,2.63994e-10_rb,2.80978e-10_rb,2.98843e-10_rb/) totplnkderiv(51:100,13) = (/ & 3.17659e-10_rb,3.37423e-10_rb,3.58206e-10_rb,3.80090e-10_rb,4.02996e-10_rb, & 4.27065e-10_rb,4.52298e-10_rb,4.78781e-10_rb,5.06493e-10_rb,5.35576e-10_rb, & 5.65942e-10_rb,5.97761e-10_rb,6.31007e-10_rb,6.65740e-10_rb,7.02095e-10_rb, & 7.39945e-10_rb,7.79575e-10_rb,8.20845e-10_rb,8.63870e-10_rb,9.08680e-10_rb, & 9.55385e-10_rb,1.00416e-09_rb,1.05464e-09_rb,1.10737e-09_rb,1.16225e-09_rb, & 1.21918e-09_rb,1.27827e-09_rb,1.33988e-09_rb,1.40370e-09_rb,1.46994e-09_rb, & 1.53850e-09_rb,1.60993e-09_rb,1.68382e-09_rb,1.76039e-09_rb,1.83997e-09_rb, & 1.92182e-09_rb,2.00686e-09_rb,2.09511e-09_rb,2.18620e-09_rb,2.28034e-09_rb, & 2.37753e-09_rb,2.47805e-09_rb,2.58193e-09_rb,2.68935e-09_rb,2.80064e-09_rb, & 2.91493e-09_rb,3.03271e-09_rb,3.15474e-09_rb,3.27987e-09_rb,3.40936e-09_rb/) totplnkderiv(101:150,13) = (/ & 3.54277e-09_rb,3.68019e-09_rb,3.82173e-09_rb,3.96703e-09_rb,4.11746e-09_rb, & 4.27104e-09_rb,4.43020e-09_rb,4.59395e-09_rb,4.76060e-09_rb,4.93430e-09_rb, & 5.11085e-09_rb,5.29280e-09_rb,5.48055e-09_rb,5.67300e-09_rb,5.86950e-09_rb, & 6.07160e-09_rb,6.28015e-09_rb,6.49295e-09_rb,6.71195e-09_rb,6.93455e-09_rb, & 7.16470e-09_rb,7.39985e-09_rb,7.64120e-09_rb,7.88885e-09_rb,8.13910e-09_rb, & 8.39930e-09_rb,8.66535e-09_rb,8.93600e-09_rb,9.21445e-09_rb,9.49865e-09_rb, & 9.78845e-09_rb,1.00856e-08_rb,1.04361e-08_rb,1.07018e-08_rb,1.10164e-08_rb, & 1.13438e-08_rb,1.16748e-08_rb,1.20133e-08_rb,1.23575e-08_rb,1.27117e-08_rb, & 1.30708e-08_rb,1.34383e-08_rb,1.38138e-08_rb,1.41985e-08_rb,1.45859e-08_rb, & 1.49846e-08_rb,1.53879e-08_rb,1.58042e-08_rb,1.62239e-08_rb,1.66529e-08_rb/) totplnkderiv(151:181,13) = (/ & 1.70954e-08_rb,1.75422e-08_rb,1.79943e-08_rb,1.84537e-08_rb,1.89280e-08_rb, & 1.94078e-08_rb,1.98997e-08_rb,2.03948e-08_rb,2.08956e-08_rb,2.14169e-08_rb, & 2.19330e-08_rb,2.24773e-08_rb,2.30085e-08_rb,2.35676e-08_rb,2.41237e-08_rb, & 2.46919e-08_rb,2.52720e-08_rb,2.58575e-08_rb,2.64578e-08_rb,2.70675e-08_rb, & 2.76878e-08_rb,2.83034e-08_rb,2.89430e-08_rb,2.95980e-08_rb,3.02480e-08_rb, & 3.09105e-08_rb,3.15980e-08_rb,3.22865e-08_rb,3.29755e-08_rb,3.36775e-08_rb, & 3.43990e-08_rb/) totplnkderiv(1:50,14) = (/ & 1.81489e-12_rb,2.03846e-12_rb,2.28659e-12_rb,2.56071e-12_rb,2.86352e-12_rb, & 3.19789e-12_rb,3.56668e-12_rb,3.97211e-12_rb,4.41711e-12_rb,4.90616e-12_rb, & 5.44153e-12_rb,6.02790e-12_rb,6.67001e-12_rb,7.37018e-12_rb,8.13433e-12_rb, & 8.96872e-12_rb,9.87526e-12_rb,1.08601e-11_rb,1.19328e-11_rb,1.30938e-11_rb, & 1.43548e-11_rb,1.57182e-11_rb,1.71916e-11_rb,1.87875e-11_rb,2.05091e-11_rb, & 2.23652e-11_rb,2.43627e-11_rb,2.65190e-11_rb,2.88354e-11_rb,3.13224e-11_rb, & 3.39926e-11_rb,3.68664e-11_rb,3.99372e-11_rb,4.32309e-11_rb,4.67496e-11_rb, & 5.05182e-11_rb,5.45350e-11_rb,5.88268e-11_rb,6.34126e-11_rb,6.82878e-11_rb, & 7.34973e-11_rb,7.90201e-11_rb,8.49075e-11_rb,9.11725e-11_rb,9.78235e-11_rb, & 1.04856e-10_rb,1.12342e-10_rb,1.20278e-10_rb,1.28680e-10_rb,1.37560e-10_rb/) totplnkderiv(51:100,14) = (/ & 1.46953e-10_rb,1.56900e-10_rb,1.67401e-10_rb,1.78498e-10_rb,1.90161e-10_rb, & 2.02523e-10_rb,2.15535e-10_rb,2.29239e-10_rb,2.43665e-10_rb,2.58799e-10_rb, & 2.74767e-10_rb,2.91522e-10_rb,3.09141e-10_rb,3.27625e-10_rb,3.47011e-10_rb, & 3.67419e-10_rb,3.88720e-10_rb,4.11066e-10_rb,4.34522e-10_rb,4.59002e-10_rb, & 4.84657e-10_rb,5.11391e-10_rb,5.39524e-10_rb,5.68709e-10_rb,5.99240e-10_rb, & 6.31295e-10_rb,6.64520e-10_rb,6.99200e-10_rb,7.35525e-10_rb,7.73135e-10_rb, & 8.12440e-10_rb,8.53275e-10_rb,8.95930e-10_rb,9.40165e-10_rb,9.86260e-10_rb, & 1.03423e-09_rb,1.08385e-09_rb,1.13567e-09_rb,1.18916e-09_rb,1.24469e-09_rb, & 1.30262e-09_rb,1.36268e-09_rb,1.42479e-09_rb,1.48904e-09_rb,1.55557e-09_rb, & 1.62478e-09_rb,1.69642e-09_rb,1.77023e-09_rb,1.84696e-09_rb,1.92646e-09_rb/) totplnkderiv(101:150,14) = (/ & 2.00831e-09_rb,2.09299e-09_rb,2.18007e-09_rb,2.27093e-09_rb,2.36398e-09_rb, & 2.46020e-09_rb,2.55985e-09_rb,2.66230e-09_rb,2.76795e-09_rb,2.87667e-09_rb, & 2.98971e-09_rb,3.10539e-09_rb,3.22462e-09_rb,3.34779e-09_rb,3.47403e-09_rb, & 3.60419e-09_rb,3.73905e-09_rb,3.87658e-09_rb,4.01844e-09_rb,4.16535e-09_rb, & 4.31470e-09_rb,4.46880e-09_rb,4.62765e-09_rb,4.78970e-09_rb,4.95735e-09_rb, & 5.12890e-09_rb,5.30430e-09_rb,5.48595e-09_rb,5.67010e-09_rb,5.86145e-09_rb, & 6.05740e-09_rb,6.25725e-09_rb,6.46205e-09_rb,6.67130e-09_rb,6.88885e-09_rb, & 7.10845e-09_rb,7.33450e-09_rb,7.56700e-09_rb,7.80440e-09_rb,8.04465e-09_rb, & 8.29340e-09_rb,8.54820e-09_rb,8.80790e-09_rb,9.07195e-09_rb,9.34605e-09_rb, & 9.62005e-09_rb,9.90685e-09_rb,1.01939e-08_rb,1.04938e-08_rb,1.07957e-08_rb/) totplnkderiv(151:181,14) = (/ & 1.11059e-08_rb,1.14208e-08_rb,1.17447e-08_rb,1.20717e-08_rb,1.24088e-08_rb, & 1.27490e-08_rb,1.31020e-08_rb,1.34601e-08_rb,1.38231e-08_rb,1.41966e-08_rb, & 1.45767e-08_rb,1.49570e-08_rb,1.53503e-08_rb,1.57496e-08_rb,1.61663e-08_rb, & 1.65784e-08_rb,1.70027e-08_rb,1.74290e-08_rb,1.78730e-08_rb,1.83235e-08_rb, & 1.87810e-08_rb,1.92418e-08_rb,1.97121e-08_rb,2.01899e-08_rb,2.05787e-08_rb, & 2.11784e-08_rb,2.16824e-08_rb,2.21931e-08_rb,2.27235e-08_rb,2.32526e-08_rb, & 2.37850e-08_rb/) totplnkderiv(1:50,15) = (/ & 5.39905e-13_rb,6.11835e-13_rb,6.92224e-13_rb,7.81886e-13_rb,8.81851e-13_rb, & 9.93072e-13_rb,1.11659e-12_rb,1.25364e-12_rb,1.40562e-12_rb,1.57359e-12_rb, & 1.75937e-12_rb,1.96449e-12_rb,2.19026e-12_rb,2.43892e-12_rb,2.71249e-12_rb, & 3.01233e-12_rb,3.34163e-12_rb,3.70251e-12_rb,4.09728e-12_rb,4.52885e-12_rb, & 4.99939e-12_rb,5.51242e-12_rb,6.07256e-12_rb,6.68167e-12_rb,7.34274e-12_rb, & 8.06178e-12_rb,8.84185e-12_rb,9.68684e-12_rb,1.06020e-11_rb,1.15909e-11_rb, & 1.26610e-11_rb,1.38158e-11_rb,1.50620e-11_rb,1.64047e-11_rb,1.78508e-11_rb, & 1.94055e-11_rb,2.10805e-11_rb,2.28753e-11_rb,2.48000e-11_rb,2.68699e-11_rb, & 2.90824e-11_rb,3.14526e-11_rb,3.39882e-11_rb,3.67020e-11_rb,3.95914e-11_rb, & 4.26870e-11_rb,4.59824e-11_rb,4.94926e-11_rb,5.32302e-11_rb,5.72117e-11_rb/) totplnkderiv(51:100,15) = (/ & 6.14475e-11_rb,6.59483e-11_rb,7.07393e-11_rb,7.57999e-11_rb,8.11980e-11_rb, & 8.68920e-11_rb,9.29390e-11_rb,9.93335e-11_rb,1.06101e-10_rb,1.13263e-10_rb, & 1.20827e-10_rb,1.28819e-10_rb,1.37255e-10_rb,1.46163e-10_rb,1.55547e-10_rb, & 1.65428e-10_rb,1.75837e-10_rb,1.86816e-10_rb,1.98337e-10_rb,2.10476e-10_rb, & 2.23218e-10_rb,2.36600e-10_rb,2.50651e-10_rb,2.65425e-10_rb,2.80895e-10_rb, & 2.97102e-10_rb,3.14100e-10_rb,3.31919e-10_rb,3.50568e-10_rb,3.70064e-10_rb, & 3.90464e-10_rb,4.11813e-10_rb,4.34111e-10_rb,4.57421e-10_rb,4.81717e-10_rb, & 5.07039e-10_rb,5.33569e-10_rb,5.61137e-10_rb,5.89975e-10_rb,6.19980e-10_rb, & 6.51170e-10_rb,6.83650e-10_rb,7.17520e-10_rb,7.52735e-10_rb,7.89390e-10_rb, & 8.27355e-10_rb,8.66945e-10_rb,9.08020e-10_rb,9.50665e-10_rb,9.95055e-10_rb/) totplnkderiv(101:150,15) = (/ & 1.04101e-09_rb,1.08864e-09_rb,1.13823e-09_rb,1.18923e-09_rb,1.24257e-09_rb, & 1.29741e-09_rb,1.35442e-09_rb,1.41347e-09_rb,1.47447e-09_rb,1.53767e-09_rb, & 1.60322e-09_rb,1.67063e-09_rb,1.74033e-09_rb,1.81256e-09_rb,1.88704e-09_rb, & 1.96404e-09_rb,2.04329e-09_rb,2.12531e-09_rb,2.21032e-09_rb,2.29757e-09_rb, & 2.38739e-09_rb,2.48075e-09_rb,2.57628e-09_rb,2.67481e-09_rb,2.77627e-09_rb, & 2.88100e-09_rb,2.98862e-09_rb,3.09946e-09_rb,3.21390e-09_rb,3.33105e-09_rb, & 3.45185e-09_rb,3.57599e-09_rb,3.70370e-09_rb,3.83512e-09_rb,3.96909e-09_rb, & 4.10872e-09_rb,4.25070e-09_rb,4.39605e-09_rb,4.54670e-09_rb,4.70015e-09_rb, & 4.85850e-09_rb,5.02050e-09_rb,5.18655e-09_rb,5.35815e-09_rb,5.53180e-09_rb, & 5.71225e-09_rb,5.89495e-09_rb,6.08260e-09_rb,6.27485e-09_rb,6.47345e-09_rb/) totplnkderiv(151:181,15) = (/ & 6.67520e-09_rb,6.88310e-09_rb,7.09400e-09_rb,7.31140e-09_rb,7.53350e-09_rb, & 7.76040e-09_rb,7.99215e-09_rb,8.22850e-09_rb,8.47235e-09_rb,8.71975e-09_rb, & 8.97360e-09_rb,9.23365e-09_rb,9.49950e-09_rb,9.76965e-09_rb,1.00441e-08_rb, & 1.03270e-08_rb,1.06158e-08_rb,1.09112e-08_rb,1.12111e-08_rb,1.15172e-08_rb, & 1.18263e-08_rb,1.21475e-08_rb,1.24735e-08_rb,1.28027e-08_rb,1.32023e-08_rb, & 1.34877e-08_rb,1.38399e-08_rb,1.42000e-08_rb,1.45625e-08_rb,1.49339e-08_rb, & 1.53156e-08_rb/) totplnkderiv(1:50,16) = (/ & 4.38799e-14_rb,5.04835e-14_rb,5.79773e-14_rb,6.64627e-14_rb,7.60706e-14_rb, & 8.69213e-14_rb,9.91554e-14_rb,1.12932e-13_rb,1.28419e-13_rb,1.45809e-13_rb, & 1.65298e-13_rb,1.87109e-13_rb,2.11503e-13_rb,2.38724e-13_rb,2.69058e-13_rb, & 3.02878e-13_rb,3.40423e-13_rb,3.82128e-13_rb,4.28390e-13_rb,4.79625e-13_rb, & 5.36292e-13_rb,5.98933e-13_rb,6.68066e-13_rb,7.44216e-13_rb,8.28159e-13_rb, & 9.20431e-13_rb,1.02180e-12_rb,1.13307e-12_rb,1.25504e-12_rb,1.38863e-12_rb, & 1.53481e-12_rb,1.69447e-12_rb,1.86896e-12_rb,2.05903e-12_rb,2.26637e-12_rb, & 2.49193e-12_rb,2.73736e-12_rb,3.00416e-12_rb,3.29393e-12_rb,3.60781e-12_rb, & 3.94805e-12_rb,4.31675e-12_rb,4.71543e-12_rb,5.14627e-12_rb,5.61226e-12_rb, & 6.11456e-12_rb,6.65585e-12_rb,7.23969e-12_rb,7.86811e-12_rb,8.54456e-12_rb/) totplnkderiv(51:100,16) = (/ & 9.27075e-12_rb,1.00516e-11_rb,1.08898e-11_rb,1.17884e-11_rb,1.27514e-11_rb, & 1.37839e-11_rb,1.48893e-11_rb,1.60716e-11_rb,1.73333e-11_rb,1.86849e-11_rb, & 2.01237e-11_rb,2.16610e-11_rb,2.33001e-11_rb,2.50440e-11_rb,2.69035e-11_rb, & 2.88827e-11_rb,3.09881e-11_rb,3.32234e-11_rb,3.55981e-11_rb,3.81193e-11_rb, & 4.07946e-11_rb,4.36376e-11_rb,4.66485e-11_rb,4.98318e-11_rb,5.32080e-11_rb, & 5.67754e-11_rb,6.05524e-11_rb,6.45450e-11_rb,6.87639e-11_rb,7.32160e-11_rb, & 7.79170e-11_rb,8.28780e-11_rb,8.81045e-11_rb,9.36200e-11_rb,9.94280e-11_rb, & 1.05545e-10_rb,1.11982e-10_rb,1.18752e-10_rb,1.25866e-10_rb,1.33350e-10_rb, & 1.41210e-10_rb,1.49469e-10_rb,1.58143e-10_rb,1.67233e-10_rb,1.76760e-10_rb, & 1.86758e-10_rb,1.97236e-10_rb,2.08227e-10_rb,2.19723e-10_rb,2.31737e-10_rb/) totplnkderiv(101:150,16) = (/ & 2.44329e-10_rb,2.57503e-10_rb,2.71267e-10_rb,2.85647e-10_rb,3.00706e-10_rb, & 3.16391e-10_rb,3.32807e-10_rb,3.49887e-10_rb,3.67748e-10_rb,3.86369e-10_rb, & 4.05746e-10_rb,4.25984e-10_rb,4.47060e-10_rb,4.68993e-10_rb,4.91860e-10_rb, & 5.15601e-10_rb,5.40365e-10_rb,5.66085e-10_rb,5.92855e-10_rb,6.20640e-10_rb, & 6.49605e-10_rb,6.79585e-10_rb,7.10710e-10_rb,7.43145e-10_rb,7.76805e-10_rb, & 8.11625e-10_rb,8.47800e-10_rb,8.85300e-10_rb,9.24220e-10_rb,9.64550e-10_rb, & 1.00623e-09_rb,1.04957e-09_rb,1.09429e-09_rb,1.14079e-09_rb,1.18882e-09_rb, & 1.23848e-09_rb,1.28986e-09_rb,1.34301e-09_rb,1.39796e-09_rb,1.45493e-09_rb, & 1.51372e-09_rb,1.57440e-09_rb,1.63702e-09_rb,1.70173e-09_rb,1.76874e-09_rb, & 1.83753e-09_rb,1.90898e-09_rb,1.98250e-09_rb,2.05836e-09_rb,2.13646e-09_rb/) totplnkderiv(151:181,16) = (/ & 2.21710e-09_rb,2.30027e-09_rb,2.38591e-09_rb,2.47432e-09_rb,2.56503e-09_rb, & 2.65878e-09_rb,2.75516e-09_rb,2.85432e-09_rb,2.95688e-09_rb,3.06201e-09_rb, & 3.17023e-09_rb,3.28153e-09_rb,3.39604e-09_rb,3.51391e-09_rb,3.63517e-09_rb, & 3.75955e-09_rb,3.88756e-09_rb,4.01880e-09_rb,4.15405e-09_rb,4.29255e-09_rb, & 4.43535e-09_rb,4.58145e-09_rb,4.73165e-09_rb,4.88560e-09_rb,5.04390e-09_rb, & 5.20630e-09_rb,5.37255e-09_rb,5.54355e-09_rb,5.71915e-09_rb,5.89855e-09_rb, & 6.08280e-09_rb/) totplk16deriv(1:50) = (/ & 4.35811e-14_rb,5.01270e-14_rb,5.75531e-14_rb,6.59588e-14_rb,7.54735e-14_rb, & 8.62147e-14_rb,9.83225e-14_rb,1.11951e-13_rb,1.27266e-13_rb,1.44456e-13_rb, & 1.63715e-13_rb,1.85257e-13_rb,2.09343e-13_rb,2.36209e-13_rb,2.66136e-13_rb, & 2.99486e-13_rb,3.36493e-13_rb,3.77582e-13_rb,4.23146e-13_rb,4.73578e-13_rb, & 5.29332e-13_rb,5.90936e-13_rb,6.58891e-13_rb,7.33710e-13_rb,8.16135e-13_rb, & 9.06705e-13_rb,1.00614e-12_rb,1.11524e-12_rb,1.23477e-12_rb,1.36561e-12_rb, & 1.50871e-12_rb,1.66488e-12_rb,1.83552e-12_rb,2.02123e-12_rb,2.22375e-12_rb, & 2.44389e-12_rb,2.68329e-12_rb,2.94338e-12_rb,3.22570e-12_rb,3.53129e-12_rb, & 3.86236e-12_rb,4.22086e-12_rb,4.60827e-12_rb,5.02666e-12_rb,5.47890e-12_rb, & 5.96595e-12_rb,6.49057e-12_rb,7.05592e-12_rb,7.66401e-12_rb,8.31821e-12_rb/) totplk16deriv(51:100) = (/ & 9.01998e-12_rb,9.77390e-12_rb,1.05826e-11_rb,1.14491e-11_rb,1.23769e-11_rb, & 1.33709e-11_rb,1.44341e-11_rb,1.55706e-11_rb,1.67821e-11_rb,1.80793e-11_rb, & 1.94586e-11_rb,2.09316e-11_rb,2.25007e-11_rb,2.41685e-11_rb,2.59454e-11_rb, & 2.78356e-11_rb,2.98440e-11_rb,3.19744e-11_rb,3.42355e-11_rb,3.66340e-11_rb, & 3.91772e-11_rb,4.18773e-11_rb,4.47339e-11_rb,4.77509e-11_rb,5.09490e-11_rb, & 5.43240e-11_rb,5.78943e-11_rb,6.16648e-11_rb,6.56445e-11_rb,6.98412e-11_rb, & 7.42680e-11_rb,7.89335e-11_rb,8.38450e-11_rb,8.90220e-11_rb,9.44695e-11_rb, & 1.00197e-10_rb,1.06221e-10_rb,1.12550e-10_rb,1.19193e-10_rb,1.26175e-10_rb, & 1.33498e-10_rb,1.41188e-10_rb,1.49251e-10_rb,1.57693e-10_rb,1.66530e-10_rb, & 1.75798e-10_rb,1.85495e-10_rb,1.95661e-10_rb,2.06275e-10_rb,2.17357e-10_rb/) totplk16deriv(101:150) = (/ & 2.28959e-10_rb,2.41085e-10_rb,2.53739e-10_rb,2.66944e-10_rb,2.80755e-10_rb, & 2.95121e-10_rb,3.10141e-10_rb,3.25748e-10_rb,3.42057e-10_rb,3.59026e-10_rb, & 3.76668e-10_rb,3.95066e-10_rb,4.14211e-10_rb,4.34111e-10_rb,4.54818e-10_rb, & 4.76295e-10_rb,4.98681e-10_rb,5.21884e-10_rb,5.46000e-10_rb,5.71015e-10_rb, & 5.97065e-10_rb,6.23965e-10_rb,6.51865e-10_rb,6.80905e-10_rb,7.11005e-10_rb, & 7.42100e-10_rb,7.74350e-10_rb,8.07745e-10_rb,8.42355e-10_rb,8.78185e-10_rb, & 9.15130e-10_rb,9.53520e-10_rb,9.93075e-10_rb,1.03415e-09_rb,1.07649e-09_rb, & 1.12021e-09_rb,1.16539e-09_rb,1.21207e-09_rb,1.26025e-09_rb,1.31014e-09_rb, & 1.36156e-09_rb,1.41453e-09_rb,1.46909e-09_rb,1.52540e-09_rb,1.58368e-09_rb, & 1.64334e-09_rb,1.70527e-09_rb,1.76888e-09_rb,1.83442e-09_rb,1.90182e-09_rb/) totplk16deriv(151:181) = (/ & 1.97128e-09_rb,2.04281e-09_rb,2.11635e-09_rb,2.19219e-09_rb,2.26979e-09_rb, & 2.34989e-09_rb,2.43219e-09_rb,2.51660e-09_rb,2.60396e-09_rb,2.69317e-09_rb, & 2.78501e-09_rb,2.87927e-09_rb,2.97600e-09_rb,3.07548e-09_rb,3.17772e-09_rb, & 3.28235e-09_rb,3.38982e-09_rb,3.49985e-09_rb,3.61307e-09_rb,3.72883e-09_rb, & 3.84805e-09_rb,3.96975e-09_rb,4.09465e-09_rb,4.22240e-09_rb,4.35370e-09_rb, & 4.48800e-09_rb,4.62535e-09_rb,4.76640e-09_rb,4.91110e-09_rb,5.05850e-09_rb, & 5.20965e-09_rb/) end subroutine lwavplankderiv end module rrtmg_lw_setcoef ================================================ FILE: GeosRad/rrtmg_lw_taumol.F90 ================================================ ! path: $Source: /storm/rc1/cvsroot/rc/rrtmg_lw/src/rrtmg_lw_taumol.f90,v $ ! author: $Author: mike $ ! revision: $Revision: 1.7 $ ! created: $Date: 2009/10/20 15:08:37 $ ! module rrtmg_lw_taumol ! -------------------------------------------------------------------------- ! | | ! | Copyright 2002-2009, Atmospheric & Environmental Research, Inc. (AER). | ! | This software may be used, copied, or redistributed as long as it is | ! | not sold and this copyright notice is reproduced on each copy made. | ! | This model is provided as is without any express or implied warranties. | ! | (http://www.rtweb.aer.com/) | ! | | ! -------------------------------------------------------------------------- ! ------- Modules ------- use parkind, only : im => kind_im, rb => kind_rb use parrrtm, only : mg, nbndlw, maxxsec, ngptlw use rrlw_con, only: oneminus use rrlw_wvn, only: nspa, nspb use rrlw_vsn, only: hvrtau, hnamtau implicit none contains !---------------------------------------------------------------------------- subroutine taumol(nlayers, pavel, wx, coldry, & laytrop, jp, jt, jt1, planklay, planklev, plankbnd, & colh2o, colco2, colo3, coln2o, colco, colch4, colo2, & colbrd, fac00, fac01, fac10, fac11, & rat_h2oco2, rat_h2oco2_1, rat_h2oo3, rat_h2oo3_1, & rat_h2on2o, rat_h2on2o_1, rat_h2och4, rat_h2och4_1, & rat_n2oco2, rat_n2oco2_1, rat_o3co2, rat_o3co2_1, & selffac, selffrac, indself, forfac, forfrac, indfor, & minorfrac, scaleminor, scaleminorn2, indminor, & fracs, taug) !---------------------------------------------------------------------------- ! ******************************************************************************* ! * * ! * Optical depths developed for the * ! * * ! * RAPID RADIATIVE TRANSFER MODEL (RRTM) * ! * * ! * * ! * ATMOSPHERIC AND ENVIRONMENTAL RESEARCH, INC. * ! * 131 HARTWELL AVENUE * ! * LEXINGTON, MA 02421 * ! * * ! * * ! * ELI J. MLAWER * ! * JENNIFER DELAMERE * ! * STEVEN J. TAUBMAN * ! * SHEPARD A. CLOUGH * ! * * ! * * ! * * ! * * ! * email: mlawer@aer.com * ! * email: jdelamer@aer.com * ! * * ! * The authors wish to acknowledge the contributions of the * ! * following people: Karen Cady-Pereira, Patrick D. Brown, * ! * Michael J. Iacono, Ronald E. Farren, Luke Chen, Robert Bergstrom. * ! * * ! ******************************************************************************* ! * * ! * Revision for g-point reduction: Michael J. Iacono, AER, Inc. * ! * * ! ******************************************************************************* ! * TAUMOL * ! * * ! * This file contains the subroutines TAUGBn (where n goes from * ! * 1 to 16). TAUGBn calculates the optical depths and Planck fractions * ! * per g-value and layer for band n. * ! * * ! * Output: optical depths (unitless) * ! * fractions needed to compute Planck functions at every layer * ! * and g-value * ! * * ! * COMMON /TAUGCOM/ TAUG(MXLAY,MG) * ! * COMMON /PLANKG/ FRACS(MXLAY,MG) * ! * * ! * Input * ! * * ! * COMMON /FEATURES/ NG(NBANDS),NSPA(NBANDS),NSPB(NBANDS) * ! * COMMON /PRECISE/ ONEMINUS * ! * COMMON /PROFILE/ NLAYERS,PAVEL(MXLAY),TAVEL(MXLAY), * ! * & PZ(0:MXLAY),TZ(0:MXLAY) * ! * COMMON /PROFDATA/ LAYTROP, * ! * & COLH2O(MXLAY),COLCO2(MXLAY),COLO3(MXLAY), * ! * & COLN2O(MXLAY),COLCO(MXLAY),COLCH4(MXLAY), * ! * & COLO2(MXLAY) ! * COMMON /INTFAC/ FAC00(MXLAY),FAC01(MXLAY), * ! * & FAC10(MXLAY),FAC11(MXLAY) * ! * COMMON /INTIND/ JP(MXLAY),JT(MXLAY),JT1(MXLAY) * ! * COMMON /SELF/ SELFFAC(MXLAY), SELFFRAC(MXLAY), INDSELF(MXLAY) * ! * * ! * Description: * ! * NG(IBAND) - number of g-values in band IBAND * ! * NSPA(IBAND) - for the lower atmosphere, the number of reference * ! * atmospheres that are stored for band IBAND per * ! * pressure level and temperature. Each of these * ! * atmospheres has different relative amounts of the * ! * key species for the band (i.e. different binary * ! * species parameters). * ! * NSPB(IBAND) - same for upper atmosphere * ! * ONEMINUS - since problems are caused in some cases by interpolation * ! * parameters equal to or greater than 1, for these cases * ! * these parameters are set to this value, slightly < 1. * ! * PAVEL - layer pressures (mb) * ! * TAVEL - layer temperatures (degrees K) * ! * PZ - level pressures (mb) * ! * TZ - level temperatures (degrees K) * ! * LAYTROP - layer at which switch is made from one combination of * ! * key species to another * ! * COLH2O, COLCO2, COLO3, COLN2O, COLCH4 - column amounts of water * ! * vapor,carbon dioxide, ozone, nitrous ozide, methane, * ! * respectively (molecules/cm**2) * ! * FACij(LAY) - for layer LAY, these are factors that are needed to * ! * compute the interpolation factors that multiply the * ! * appropriate reference k-values. A value of 0 (1) for * ! * i,j indicates that the corresponding factor multiplies * ! * reference k-value for the lower (higher) of the two * ! * appropriate temperatures, and altitudes, respectively. * ! * JP - the index of the lower (in altitude) of the two appropriate * ! * reference pressure levels needed for interpolation * ! * JT, JT1 - the indices of the lower of the two appropriate reference * ! * temperatures needed for interpolation (for pressure * ! * levels JP and JP+1, respectively) * ! * SELFFAC - scale factor needed for water vapor self-continuum, equals * ! * (water vapor density)/(atmospheric density at 296K and * ! * 1013 mb) * ! * SELFFRAC - factor needed for temperature interpolation of reference * ! * water vapor self-continuum data * ! * INDSELF - index of the lower of the two appropriate reference * ! * temperatures needed for the self-continuum interpolation * ! * FORFAC - scale factor needed for water vapor foreign-continuum. * ! * FORFRAC - factor needed for temperature interpolation of reference * ! * water vapor foreign-continuum data * ! * INDFOR - index of the lower of the two appropriate reference * ! * temperatures needed for the foreign-continuum interpolation * ! * * ! * Data input * ! * COMMON /Kn/ KA(NSPA(n),5,13,MG), KB(NSPB(n),5,13:59,MG), SELFREF(10,MG),* ! * FORREF(4,MG), KA_M'MGAS', KB_M'MGAS' * ! * (note: n is the band number,'MGAS' is the species name of the minor * ! * gas) * ! * * ! * Description: * ! * KA - k-values for low reference atmospheres (key-species only) * ! * (units: cm**2/molecule) * ! * KB - k-values for high reference atmospheres (key-species only) * ! * (units: cm**2/molecule) * ! * KA_M'MGAS' - k-values for low reference atmosphere minor species * ! * (units: cm**2/molecule) * ! * KB_M'MGAS' - k-values for high reference atmosphere minor species * ! * (units: cm**2/molecule) * ! * SELFREF - k-values for water vapor self-continuum for reference * ! * atmospheres (used below LAYTROP) * ! * (units: cm**2/molecule) * ! * FORREF - k-values for water vapor foreign-continuum for reference * ! * atmospheres (used below/above LAYTROP) * ! * (units: cm**2/molecule) * ! * * ! * DIMENSION ABSA(65*NSPA(n),MG), ABSB(235*NSPB(n),MG) * ! * EQUIVALENCE (KA,ABSA),(KB,ABSB) * ! * * !******************************************************************************* ! ------- Declarations ------- ! ----- Input ----- integer(kind=im), intent(in) :: nlayers ! total number of layers real(kind=rb), intent(in) :: pavel(:) ! layer pressures (mb) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: wx(:,:) ! cross-section amounts (mol/cm2) ! Dimensions: (maxxsec,nlayers) real(kind=rb), intent(in) :: coldry(:) ! column amount (dry air) ! Dimensions: (nlayers) integer(kind=im), intent(in) :: laytrop ! tropopause layer index integer(kind=im), intent(in) :: jp(:) ! ! Dimensions: (nlayers) integer(kind=im), intent(in) :: jt(:) ! ! Dimensions: (nlayers) integer(kind=im), intent(in) :: jt1(:) ! ! Dimensions: (nlayers) real(kind=rb), intent(in) :: planklay(:,:) ! ! Dimensions: (nlayers,nbndlw) real(kind=rb), intent(in) :: planklev(0:,:) ! ! Dimensions: (nlayers,nbndlw) real(kind=rb), intent(in) :: plankbnd(:) ! ! Dimensions: (nbndlw) real(kind=rb), intent(in) :: colh2o(:) ! column amount (h2o) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: colco2(:) ! column amount (co2) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: colo3(:) ! column amount (o3) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: coln2o(:) ! column amount (n2o) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: colco(:) ! column amount (co) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: colch4(:) ! column amount (ch4) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: colo2(:) ! column amount (o2) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: colbrd(:) ! column amount (broadening gases) ! Dimensions: (nlayers) integer(kind=im), intent(in) :: indself(:) ! Dimensions: (nlayers) integer(kind=im), intent(in) :: indfor(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: selffac(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: selffrac(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: forfac(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: forfrac(:) ! Dimensions: (nlayers) integer(kind=im), intent(in) :: indminor(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: minorfrac(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: scaleminor(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: scaleminorn2(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: & ! fac00(:), fac01(:), & ! Dimensions: (nlayers) fac10(:), fac11(:) real(kind=rb), intent(in) :: & ! rat_h2oco2(:),rat_h2oco2_1(:), & rat_h2oo3(:),rat_h2oo3_1(:), & ! Dimensions: (nlayers) rat_h2on2o(:),rat_h2on2o_1(:), & rat_h2och4(:),rat_h2och4_1(:), & rat_n2oco2(:),rat_n2oco2_1(:), & rat_o3co2(:),rat_o3co2_1(:) ! ----- Output ----- real(kind=rb), intent(out) :: fracs(:,:) ! planck fractions ! Dimensions: (nlayers,ngptlw) real(kind=rb), intent(out) :: taug(:,:) ! gaseous optical depth ! Dimensions: (nlayers,ngptlw) hvrtau = '$Revision: 1.7 $' ! Calculate gaseous optical depth and planck fractions for each spectral band. call taugb1 call taugb2 call taugb3 call taugb4 call taugb5 call taugb6 call taugb7 call taugb8 call taugb9 call taugb10 call taugb11 call taugb12 call taugb13 call taugb14 call taugb15 call taugb16 contains !---------------------------------------------------------------------------- subroutine taugb1 !---------------------------------------------------------------------------- ! ------- Modifications ------- ! Written by Eli J. Mlawer, Atmospheric & Environmental Research. ! Revised by Michael J. Iacono, Atmospheric & Environmental Research. ! ! band 1: 10-350 cm-1 (low key - h2o; low minor - n2) ! (high key - h2o; high minor - n2) ! ! note: previous versions of rrtm band 1: ! 10-250 cm-1 (low - h2o; high - h2o) !---------------------------------------------------------------------------- ! ------- Modules ------- use parrrtm, only : ng1 use rrlw_kg01, only : fracrefa, fracrefb, absa, ka, absb, kb, & ka_mn2, kb_mn2, selfref, forref ! ------- Declarations ------- ! Local integer(kind=im) :: lay, ind0, ind1, inds, indf, indm, ig real(kind=rb) :: pp, corradj, scalen2, tauself, taufor, taun2 ! Minor gas mapping levels: ! lower - n2, p = 142.5490 mbar, t = 215.70 k ! upper - n2, p = 142.5490 mbar, t = 215.70 k ! Compute the optical depth by interpolating in ln(pressure) and ! temperature. Below laytrop, the water vapor self-continuum and ! foreign continuum is interpolated (in temperature) separately. ! Lower atmosphere loop do lay = 1, laytrop ind0 = ((jp(lay)-1)*5+(jt(lay)-1))*nspa(1) + 1 ind1 = (jp(lay)*5+(jt1(lay)-1))*nspa(1) + 1 inds = indself(lay) indf = indfor(lay) indm = indminor(lay) pp = pavel(lay) corradj = 1. if (pp .lt. 250._rb) then corradj = 1._rb - 0.15_rb * (250._rb-pp) / 154.4_rb endif scalen2 = colbrd(lay) * scaleminorn2(lay) do ig = 1, ng1 tauself = selffac(lay) * (selfref(inds,ig) + selffrac(lay) * & (selfref(inds+1,ig) - selfref(inds,ig))) taufor = forfac(lay) * (forref(indf,ig) + forfrac(lay) * & (forref(indf+1,ig) - forref(indf,ig))) taun2 = scalen2*(ka_mn2(indm,ig) + & minorfrac(lay) * (ka_mn2(indm+1,ig) - ka_mn2(indm,ig))) taug(lay,ig) = corradj * (colh2o(lay) * & (fac00(lay) * absa(ind0,ig) + & fac10(lay) * absa(ind0+1,ig) + & fac01(lay) * absa(ind1,ig) + & fac11(lay) * absa(ind1+1,ig)) & + tauself + taufor + taun2) fracs(lay,ig) = fracrefa(ig) enddo enddo ! Upper atmosphere loop do lay = laytrop+1, nlayers ind0 = ((jp(lay)-13)*5+(jt(lay)-1))*nspb(1) + 1 ind1 = ((jp(lay)-12)*5+(jt1(lay)-1))*nspb(1) + 1 indf = indfor(lay) indm = indminor(lay) pp = pavel(lay) corradj = 1._rb - 0.15_rb * (pp / 95.6_rb) scalen2 = colbrd(lay) * scaleminorn2(lay) do ig = 1, ng1 taufor = forfac(lay) * (forref(indf,ig) + & forfrac(lay) * (forref(indf+1,ig) - forref(indf,ig))) taun2 = scalen2*(kb_mn2(indm,ig) + & minorfrac(lay) * (kb_mn2(indm+1,ig) - kb_mn2(indm,ig))) taug(lay,ig) = corradj * (colh2o(lay) * & (fac00(lay) * absb(ind0,ig) + & fac10(lay) * absb(ind0+1,ig) + & fac01(lay) * absb(ind1,ig) + & fac11(lay) * absb(ind1+1,ig)) & + taufor + taun2) fracs(lay,ig) = fracrefb(ig) enddo enddo end subroutine taugb1 !---------------------------------------------------------------------------- subroutine taugb2 !---------------------------------------------------------------------------- ! ! band 2: 350-500 cm-1 (low key - h2o; high key - h2o) ! ! note: previous version of rrtm band 2: ! 250 - 500 cm-1 (low - h2o; high - h2o) !---------------------------------------------------------------------------- ! ------- Modules ------- use parrrtm, only : ng2, ngs1 use rrlw_kg02, only : fracrefa, fracrefb, absa, ka, absb, kb, & selfref, forref ! ------- Declarations ------- ! Local integer(kind=im) :: lay, ind0, ind1, inds, indf, ig real(kind=rb) :: pp, corradj, tauself, taufor ! Compute the optical depth by interpolating in ln(pressure) and ! temperature. Below laytrop, the water vapor self-continuum and ! foreign continuum is interpolated (in temperature) separately. ! Lower atmosphere loop do lay = 1, laytrop ind0 = ((jp(lay)-1)*5+(jt(lay)-1))*nspa(2) + 1 ind1 = (jp(lay)*5+(jt1(lay)-1))*nspa(2) + 1 inds = indself(lay) indf = indfor(lay) pp = pavel(lay) corradj = 1._rb - .05_rb * (pp - 100._rb) / 900._rb do ig = 1, ng2 tauself = selffac(lay) * (selfref(inds,ig) + selffrac(lay) * & (selfref(inds+1,ig) - selfref(inds,ig))) taufor = forfac(lay) * (forref(indf,ig) + forfrac(lay) * & (forref(indf+1,ig) - forref(indf,ig))) taug(lay,ngs1+ig) = corradj * (colh2o(lay) * & (fac00(lay) * absa(ind0,ig) + & fac10(lay) * absa(ind0+1,ig) + & fac01(lay) * absa(ind1,ig) + & fac11(lay) * absa(ind1+1,ig)) & + tauself + taufor) fracs(lay,ngs1+ig) = fracrefa(ig) enddo enddo ! Upper atmosphere loop do lay = laytrop+1, nlayers ind0 = ((jp(lay)-13)*5+(jt(lay)-1))*nspb(2) + 1 ind1 = ((jp(lay)-12)*5+(jt1(lay)-1))*nspb(2) + 1 indf = indfor(lay) do ig = 1, ng2 taufor = forfac(lay) * (forref(indf,ig) + & forfrac(lay) * (forref(indf+1,ig) - forref(indf,ig))) taug(lay,ngs1+ig) = colh2o(lay) * & (fac00(lay) * absb(ind0,ig) + & fac10(lay) * absb(ind0+1,ig) + & fac01(lay) * absb(ind1,ig) + & fac11(lay) * absb(ind1+1,ig)) & + taufor fracs(lay,ngs1+ig) = fracrefb(ig) enddo enddo end subroutine taugb2 !---------------------------------------------------------------------------- subroutine taugb3 !---------------------------------------------------------------------------- ! ! band 3: 500-630 cm-1 (low key - h2o,co2; low minor - n2o) ! (high key - h2o,co2; high minor - n2o) !---------------------------------------------------------------------------- ! ------- Modules ------- use parrrtm, only : ng3, ngs2 use rrlw_ref, only : chi_mls use rrlw_kg03, only : fracrefa, fracrefb, absa, ka, absb, kb, & ka_mn2o, kb_mn2o, selfref, forref ! ------- Declarations ------- ! Local integer(kind=im) :: lay, ind0, ind1, inds, indf, indm, ig integer(kind=im) :: js, js1, jmn2o, jpl real(kind=rb) :: speccomb, specparm, specmult, fs real(kind=rb) :: speccomb1, specparm1, specmult1, fs1 real(kind=rb) :: speccomb_mn2o, specparm_mn2o, specmult_mn2o, & fmn2o, fmn2omf, chi_n2o, ratn2o, adjfac, adjcoln2o real(kind=rb) :: speccomb_planck, specparm_planck, specmult_planck, fpl real(kind=rb) :: p, p4, fk0, fk1, fk2 real(kind=rb) :: fac000, fac100, fac200, fac010, fac110, fac210 real(kind=rb) :: fac001, fac101, fac201, fac011, fac111, fac211 real(kind=rb) :: tauself, taufor, n2om1, n2om2, absn2o real(kind=rb) :: refrat_planck_a, refrat_planck_b, refrat_m_a, refrat_m_b real(kind=rb) :: tau_major, tau_major1 ! Minor gas mapping levels: ! lower - n2o, p = 706.272 mbar, t = 278.94 k ! upper - n2o, p = 95.58 mbar, t = 215.7 k ! P = 212.725 mb refrat_planck_a = chi_mls(1,9)/chi_mls(2,9) ! P = 95.58 mb refrat_planck_b = chi_mls(1,13)/chi_mls(2,13) ! P = 706.270mb refrat_m_a = chi_mls(1,3)/chi_mls(2,3) ! P = 95.58 mb refrat_m_b = chi_mls(1,13)/chi_mls(2,13) ! Compute the optical depth by interpolating in ln(pressure) and ! temperature, and appropriate species. Below laytrop, the water vapor ! self-continuum and foreign continuum is interpolated (in temperature) ! separately. ! Lower atmosphere loop do lay = 1, laytrop speccomb = colh2o(lay) + rat_h2oco2(lay)*colco2(lay) specparm = colh2o(lay)/speccomb if (specparm .ge. oneminus) specparm = oneminus specmult = 8._rb*(specparm) js = 1 + int(specmult) fs = mod(specmult,1.0_rb) speccomb1 = colh2o(lay) + rat_h2oco2_1(lay)*colco2(lay) specparm1 = colh2o(lay)/speccomb1 if (specparm1 .ge. oneminus) specparm1 = oneminus specmult1 = 8._rb*(specparm1) js1 = 1 + int(specmult1) fs1 = mod(specmult1,1.0_rb) speccomb_mn2o = colh2o(lay) + refrat_m_a*colco2(lay) specparm_mn2o = colh2o(lay)/speccomb_mn2o if (specparm_mn2o .ge. oneminus) specparm_mn2o = oneminus specmult_mn2o = 8._rb*specparm_mn2o jmn2o = 1 + int(specmult_mn2o) fmn2o = mod(specmult_mn2o,1.0_rb) fmn2omf = minorfrac(lay)*fmn2o ! In atmospheres where the amount of N2O is too great to be considered ! a minor species, adjust the column amount of N2O by an empirical factor ! to obtain the proper contribution. chi_n2o = coln2o(lay)/coldry(lay) ratn2o = 1.e20_rb*chi_n2o/chi_mls(4,jp(lay)+1) if (ratn2o .gt. 1.5_rb) then adjfac = 0.5_rb+(ratn2o-0.5_rb)**0.65_rb adjcoln2o = adjfac*chi_mls(4,jp(lay)+1)*coldry(lay)*1.e-20_rb else adjcoln2o = coln2o(lay) endif speccomb_planck = colh2o(lay)+refrat_planck_a*colco2(lay) specparm_planck = colh2o(lay)/speccomb_planck if (specparm_planck .ge. oneminus) specparm_planck=oneminus specmult_planck = 8._rb*specparm_planck jpl= 1 + int(specmult_planck) fpl = mod(specmult_planck,1.0_rb) ind0 = ((jp(lay)-1)*5+(jt(lay)-1))*nspa(3) + js ind1 = (jp(lay)*5+(jt1(lay)-1))*nspa(3) + js1 inds = indself(lay) indf = indfor(lay) indm = indminor(lay) if (specparm .lt. 0.125_rb) then p = fs - 1 p4 = p**4 fk0 = p4 fk1 = 1 - p - 2.0_rb*p4 fk2 = p + p4 fac000 = fk0*fac00(lay) fac100 = fk1*fac00(lay) fac200 = fk2*fac00(lay) fac010 = fk0*fac10(lay) fac110 = fk1*fac10(lay) fac210 = fk2*fac10(lay) else if (specparm .gt. 0.875_rb) then p = -fs p4 = p**4 fk0 = p4 fk1 = 1 - p - 2.0_rb*p4 fk2 = p + p4 fac000 = fk0*fac00(lay) fac100 = fk1*fac00(lay) fac200 = fk2*fac00(lay) fac010 = fk0*fac10(lay) fac110 = fk1*fac10(lay) fac210 = fk2*fac10(lay) else fac000 = (1._rb - fs) * fac00(lay) fac010 = (1._rb - fs) * fac10(lay) fac100 = fs * fac00(lay) fac110 = fs * fac10(lay) endif if (specparm1 .lt. 0.125_rb) then p = fs1 - 1 p4 = p**4 fk0 = p4 fk1 = 1 - p - 2.0_rb*p4 fk2 = p + p4 fac001 = fk0*fac01(lay) fac101 = fk1*fac01(lay) fac201 = fk2*fac01(lay) fac011 = fk0*fac11(lay) fac111 = fk1*fac11(lay) fac211 = fk2*fac11(lay) else if (specparm1 .gt. 0.875_rb) then p = -fs1 p4 = p**4 fk0 = p4 fk1 = 1 - p - 2.0_rb*p4 fk2 = p + p4 fac001 = fk0*fac01(lay) fac101 = fk1*fac01(lay) fac201 = fk2*fac01(lay) fac011 = fk0*fac11(lay) fac111 = fk1*fac11(lay) fac211 = fk2*fac11(lay) else fac001 = (1._rb - fs1) * fac01(lay) fac011 = (1._rb - fs1) * fac11(lay) fac101 = fs1 * fac01(lay) fac111 = fs1 * fac11(lay) endif do ig = 1, ng3 tauself = selffac(lay)* (selfref(inds,ig) + selffrac(lay) * & (selfref(inds+1,ig) - selfref(inds,ig))) taufor = forfac(lay) * (forref(indf,ig) + forfrac(lay) * & (forref(indf+1,ig) - forref(indf,ig))) n2om1 = ka_mn2o(jmn2o,indm,ig) + fmn2o * & (ka_mn2o(jmn2o+1,indm,ig) - ka_mn2o(jmn2o,indm,ig)) n2om2 = ka_mn2o(jmn2o,indm+1,ig) + fmn2o * & (ka_mn2o(jmn2o+1,indm+1,ig) - ka_mn2o(jmn2o,indm+1,ig)) absn2o = n2om1 + minorfrac(lay) * (n2om2 - n2om1) if (specparm .lt. 0.125_rb) then tau_major = speccomb * & (fac000 * absa(ind0,ig) + & fac100 * absa(ind0+1,ig) + & fac200 * absa(ind0+2,ig) + & fac010 * absa(ind0+9,ig) + & fac110 * absa(ind0+10,ig) + & fac210 * absa(ind0+11,ig)) else if (specparm .gt. 0.875_rb) then tau_major = speccomb * & (fac200 * absa(ind0-1,ig) + & fac100 * absa(ind0,ig) + & fac000 * absa(ind0+1,ig) + & fac210 * absa(ind0+8,ig) + & fac110 * absa(ind0+9,ig) + & fac010 * absa(ind0+10,ig)) else tau_major = speccomb * & (fac000 * absa(ind0,ig) + & fac100 * absa(ind0+1,ig) + & fac010 * absa(ind0+9,ig) + & fac110 * absa(ind0+10,ig)) endif if (specparm1 .lt. 0.125_rb) then tau_major1 = speccomb1 * & (fac001 * absa(ind1,ig) + & fac101 * absa(ind1+1,ig) + & fac201 * absa(ind1+2,ig) + & fac011 * absa(ind1+9,ig) + & fac111 * absa(ind1+10,ig) + & fac211 * absa(ind1+11,ig)) else if (specparm1 .gt. 0.875_rb) then tau_major1 = speccomb1 * & (fac201 * absa(ind1-1,ig) + & fac101 * absa(ind1,ig) + & fac001 * absa(ind1+1,ig) + & fac211 * absa(ind1+8,ig) + & fac111 * absa(ind1+9,ig) + & fac011 * absa(ind1+10,ig)) else tau_major1 = speccomb1 * & (fac001 * absa(ind1,ig) + & fac101 * absa(ind1+1,ig) + & fac011 * absa(ind1+9,ig) + & fac111 * absa(ind1+10,ig)) endif taug(lay,ngs2+ig) = tau_major + tau_major1 & + tauself + taufor & + adjcoln2o*absn2o fracs(lay,ngs2+ig) = fracrefa(ig,jpl) + fpl * & (fracrefa(ig,jpl+1)-fracrefa(ig,jpl)) enddo enddo ! Upper atmosphere loop do lay = laytrop+1, nlayers speccomb = colh2o(lay) + rat_h2oco2(lay)*colco2(lay) specparm = colh2o(lay)/speccomb if (specparm .ge. oneminus) specparm = oneminus specmult = 4._rb*(specparm) js = 1 + int(specmult) fs = mod(specmult,1.0_rb) speccomb1 = colh2o(lay) + rat_h2oco2_1(lay)*colco2(lay) specparm1 = colh2o(lay)/speccomb1 if (specparm1 .ge. oneminus) specparm1 = oneminus specmult1 = 4._rb*(specparm1) js1 = 1 + int(specmult1) fs1 = mod(specmult1,1.0_rb) fac000 = (1._rb - fs) * fac00(lay) fac010 = (1._rb - fs) * fac10(lay) fac100 = fs * fac00(lay) fac110 = fs * fac10(lay) fac001 = (1._rb - fs1) * fac01(lay) fac011 = (1._rb - fs1) * fac11(lay) fac101 = fs1 * fac01(lay) fac111 = fs1 * fac11(lay) speccomb_mn2o = colh2o(lay) + refrat_m_b*colco2(lay) specparm_mn2o = colh2o(lay)/speccomb_mn2o if (specparm_mn2o .ge. oneminus) specparm_mn2o = oneminus specmult_mn2o = 4._rb*specparm_mn2o jmn2o = 1 + int(specmult_mn2o) fmn2o = mod(specmult_mn2o,1.0_rb) fmn2omf = minorfrac(lay)*fmn2o ! In atmospheres where the amount of N2O is too great to be considered ! a minor species, adjust the column amount of N2O by an empirical factor ! to obtain the proper contribution. chi_n2o = coln2o(lay)/coldry(lay) ratn2o = 1.e20*chi_n2o/chi_mls(4,jp(lay)+1) if (ratn2o .gt. 1.5_rb) then adjfac = 0.5_rb+(ratn2o-0.5_rb)**0.65_rb adjcoln2o = adjfac*chi_mls(4,jp(lay)+1)*coldry(lay)*1.e-20_rb else adjcoln2o = coln2o(lay) endif speccomb_planck = colh2o(lay)+refrat_planck_b*colco2(lay) specparm_planck = colh2o(lay)/speccomb_planck if (specparm_planck .ge. oneminus) specparm_planck=oneminus specmult_planck = 4._rb*specparm_planck jpl= 1 + int(specmult_planck) fpl = mod(specmult_planck,1.0_rb) ind0 = ((jp(lay)-13)*5+(jt(lay)-1))*nspb(3) + js ind1 = ((jp(lay)-12)*5+(jt1(lay)-1))*nspb(3) + js1 indf = indfor(lay) indm = indminor(lay) do ig = 1, ng3 taufor = forfac(lay) * (forref(indf,ig) + & forfrac(lay) * (forref(indf+1,ig) - forref(indf,ig))) n2om1 = kb_mn2o(jmn2o,indm,ig) + fmn2o * & (kb_mn2o(jmn2o+1,indm,ig)-kb_mn2o(jmn2o,indm,ig)) n2om2 = kb_mn2o(jmn2o,indm+1,ig) + fmn2o * & (kb_mn2o(jmn2o+1,indm+1,ig)-kb_mn2o(jmn2o,indm+1,ig)) absn2o = n2om1 + minorfrac(lay) * (n2om2 - n2om1) taug(lay,ngs2+ig) = speccomb * & (fac000 * absb(ind0,ig) + & fac100 * absb(ind0+1,ig) + & fac010 * absb(ind0+5,ig) + & fac110 * absb(ind0+6,ig)) & + speccomb1 * & (fac001 * absb(ind1,ig) + & fac101 * absb(ind1+1,ig) + & fac011 * absb(ind1+5,ig) + & fac111 * absb(ind1+6,ig)) & + taufor & + adjcoln2o*absn2o fracs(lay,ngs2+ig) = fracrefb(ig,jpl) + fpl * & (fracrefb(ig,jpl+1)-fracrefb(ig,jpl)) enddo enddo end subroutine taugb3 !---------------------------------------------------------------------------- subroutine taugb4 !---------------------------------------------------------------------------- ! ! band 4: 630-700 cm-1 (low key - h2o,co2; high key - o3,co2) !---------------------------------------------------------------------------- ! ------- Modules ------- use parrrtm, only : ng4, ngs3 use rrlw_ref, only : chi_mls use rrlw_kg04, only : fracrefa, fracrefb, absa, ka, absb, kb, & selfref, forref ! ------- Declarations ------- ! Local integer(kind=im) :: lay, ind0, ind1, inds, indf, ig integer(kind=im) :: js, js1, jpl real(kind=rb) :: speccomb, specparm, specmult, fs real(kind=rb) :: speccomb1, specparm1, specmult1, fs1 real(kind=rb) :: speccomb_planck, specparm_planck, specmult_planck, fpl real(kind=rb) :: p, p4, fk0, fk1, fk2 real(kind=rb) :: fac000, fac100, fac200, fac010, fac110, fac210 real(kind=rb) :: fac001, fac101, fac201, fac011, fac111, fac211 real(kind=rb) :: tauself, taufor real(kind=rb) :: refrat_planck_a, refrat_planck_b real(kind=rb) :: tau_major, tau_major1 ! P = 142.5940 mb refrat_planck_a = chi_mls(1,11)/chi_mls(2,11) ! P = 95.58350 mb refrat_planck_b = chi_mls(3,13)/chi_mls(2,13) ! Compute the optical depth by interpolating in ln(pressure) and ! temperature, and appropriate species. Below laytrop, the water ! vapor self-continuum and foreign continuum is interpolated (in temperature) ! separately. ! Lower atmosphere loop do lay = 1, laytrop speccomb = colh2o(lay) + rat_h2oco2(lay)*colco2(lay) specparm = colh2o(lay)/speccomb if (specparm .ge. oneminus) specparm = oneminus specmult = 8._rb*(specparm) js = 1 + int(specmult) fs = mod(specmult,1.0_rb) speccomb1 = colh2o(lay) + rat_h2oco2_1(lay)*colco2(lay) specparm1 = colh2o(lay)/speccomb1 if (specparm1 .ge. oneminus) specparm1 = oneminus specmult1 = 8._rb*(specparm1) js1 = 1 + int(specmult1) fs1 = mod(specmult1,1.0_rb) speccomb_planck = colh2o(lay)+refrat_planck_a*colco2(lay) specparm_planck = colh2o(lay)/speccomb_planck if (specparm_planck .ge. oneminus) specparm_planck=oneminus specmult_planck = 8._rb*specparm_planck jpl= 1 + int(specmult_planck) fpl = mod(specmult_planck,1.0_rb) ind0 = ((jp(lay)-1)*5+(jt(lay)-1))*nspa(4) + js ind1 = (jp(lay)*5+(jt1(lay)-1))*nspa(4) + js1 inds = indself(lay) indf = indfor(lay) if (specparm .lt. 0.125_rb) then p = fs - 1 p4 = p**4 fk0 = p4 fk1 = 1 - p - 2.0_rb*p4 fk2 = p + p4 fac000 = fk0*fac00(lay) fac100 = fk1*fac00(lay) fac200 = fk2*fac00(lay) fac010 = fk0*fac10(lay) fac110 = fk1*fac10(lay) fac210 = fk2*fac10(lay) else if (specparm .gt. 0.875_rb) then p = -fs p4 = p**4 fk0 = p4 fk1 = 1 - p - 2.0_rb*p4 fk2 = p + p4 fac000 = fk0*fac00(lay) fac100 = fk1*fac00(lay) fac200 = fk2*fac00(lay) fac010 = fk0*fac10(lay) fac110 = fk1*fac10(lay) fac210 = fk2*fac10(lay) else fac000 = (1._rb - fs) * fac00(lay) fac010 = (1._rb - fs) * fac10(lay) fac100 = fs * fac00(lay) fac110 = fs * fac10(lay) endif if (specparm1 .lt. 0.125_rb) then p = fs1 - 1 p4 = p**4 fk0 = p4 fk1 = 1 - p - 2.0_rb*p4 fk2 = p + p4 fac001 = fk0*fac01(lay) fac101 = fk1*fac01(lay) fac201 = fk2*fac01(lay) fac011 = fk0*fac11(lay) fac111 = fk1*fac11(lay) fac211 = fk2*fac11(lay) else if (specparm1 .gt. 0.875_rb) then p = -fs1 p4 = p**4 fk0 = p4 fk1 = 1 - p - 2.0_rb*p4 fk2 = p + p4 fac001 = fk0*fac01(lay) fac101 = fk1*fac01(lay) fac201 = fk2*fac01(lay) fac011 = fk0*fac11(lay) fac111 = fk1*fac11(lay) fac211 = fk2*fac11(lay) else fac001 = (1._rb - fs1) * fac01(lay) fac011 = (1._rb - fs1) * fac11(lay) fac101 = fs1 * fac01(lay) fac111 = fs1 * fac11(lay) endif do ig = 1, ng4 tauself = selffac(lay)* (selfref(inds,ig) + selffrac(lay) * & (selfref(inds+1,ig) - selfref(inds,ig))) taufor = forfac(lay) * (forref(indf,ig) + forfrac(lay) * & (forref(indf+1,ig) - forref(indf,ig))) if (specparm .lt. 0.125_rb) then tau_major = speccomb * & (fac000 * absa(ind0,ig) + & fac100 * absa(ind0+1,ig) + & fac200 * absa(ind0+2,ig) + & fac010 * absa(ind0+9,ig) + & fac110 * absa(ind0+10,ig) + & fac210 * absa(ind0+11,ig)) else if (specparm .gt. 0.875_rb) then tau_major = speccomb * & (fac200 * absa(ind0-1,ig) + & fac100 * absa(ind0,ig) + & fac000 * absa(ind0+1,ig) + & fac210 * absa(ind0+8,ig) + & fac110 * absa(ind0+9,ig) + & fac010 * absa(ind0+10,ig)) else tau_major = speccomb * & (fac000 * absa(ind0,ig) + & fac100 * absa(ind0+1,ig) + & fac010 * absa(ind0+9,ig) + & fac110 * absa(ind0+10,ig)) endif if (specparm1 .lt. 0.125_rb) then tau_major1 = speccomb1 * & (fac001 * absa(ind1,ig) + & fac101 * absa(ind1+1,ig) + & fac201 * absa(ind1+2,ig) + & fac011 * absa(ind1+9,ig) + & fac111 * absa(ind1+10,ig) + & fac211 * absa(ind1+11,ig)) else if (specparm1 .gt. 0.875_rb) then tau_major1 = speccomb1 * & (fac201 * absa(ind1-1,ig) + & fac101 * absa(ind1,ig) + & fac001 * absa(ind1+1,ig) + & fac211 * absa(ind1+8,ig) + & fac111 * absa(ind1+9,ig) + & fac011 * absa(ind1+10,ig)) else tau_major1 = speccomb1 * & (fac001 * absa(ind1,ig) + & fac101 * absa(ind1+1,ig) + & fac011 * absa(ind1+9,ig) + & fac111 * absa(ind1+10,ig)) endif taug(lay,ngs3+ig) = tau_major + tau_major1 & + tauself + taufor fracs(lay,ngs3+ig) = fracrefa(ig,jpl) + fpl * & (fracrefa(ig,jpl+1)-fracrefa(ig,jpl)) enddo enddo ! Upper atmosphere loop do lay = laytrop+1, nlayers speccomb = colo3(lay) + rat_o3co2(lay)*colco2(lay) specparm = colo3(lay)/speccomb if (specparm .ge. oneminus) specparm = oneminus specmult = 4._rb*(specparm) js = 1 + int(specmult) fs = mod(specmult,1.0_rb) speccomb1 = colo3(lay) + rat_o3co2_1(lay)*colco2(lay) specparm1 = colo3(lay)/speccomb1 if (specparm1 .ge. oneminus) specparm1 = oneminus specmult1 = 4._rb*(specparm1) js1 = 1 + int(specmult1) fs1 = mod(specmult1,1.0_rb) fac000 = (1._rb - fs) * fac00(lay) fac010 = (1._rb - fs) * fac10(lay) fac100 = fs * fac00(lay) fac110 = fs * fac10(lay) fac001 = (1._rb - fs1) * fac01(lay) fac011 = (1._rb - fs1) * fac11(lay) fac101 = fs1 * fac01(lay) fac111 = fs1 * fac11(lay) speccomb_planck = colo3(lay)+refrat_planck_b*colco2(lay) specparm_planck = colo3(lay)/speccomb_planck if (specparm_planck .ge. oneminus) specparm_planck=oneminus specmult_planck = 4._rb*specparm_planck jpl= 1 + int(specmult_planck) fpl = mod(specmult_planck,1.0_rb) ind0 = ((jp(lay)-13)*5+(jt(lay)-1))*nspb(4) + js ind1 = ((jp(lay)-12)*5+(jt1(lay)-1))*nspb(4) + js1 do ig = 1, ng4 taug(lay,ngs3+ig) = speccomb * & (fac000 * absb(ind0,ig) + & fac100 * absb(ind0+1,ig) + & fac010 * absb(ind0+5,ig) + & fac110 * absb(ind0+6,ig)) & + speccomb1 * & (fac001 * absb(ind1,ig) + & fac101 * absb(ind1+1,ig) + & fac011 * absb(ind1+5,ig) + & fac111 * absb(ind1+6,ig)) fracs(lay,ngs3+ig) = fracrefb(ig,jpl) + fpl * & (fracrefb(ig,jpl+1)-fracrefb(ig,jpl)) enddo ! Empirical modification to code to improve stratospheric cooling rates ! for co2. Revised to apply weighting for g-point reduction in this band. taug(lay,ngs3+8)=taug(lay,ngs3+8)*0.92 taug(lay,ngs3+9)=taug(lay,ngs3+9)*0.88 taug(lay,ngs3+10)=taug(lay,ngs3+10)*1.07 taug(lay,ngs3+11)=taug(lay,ngs3+11)*1.1 taug(lay,ngs3+12)=taug(lay,ngs3+12)*0.99 taug(lay,ngs3+13)=taug(lay,ngs3+13)*0.88 taug(lay,ngs3+14)=taug(lay,ngs3+14)*0.943 enddo end subroutine taugb4 !---------------------------------------------------------------------------- subroutine taugb5 !---------------------------------------------------------------------------- ! ! band 5: 700-820 cm-1 (low key - h2o,co2; low minor - o3, ccl4) ! (high key - o3,co2) !---------------------------------------------------------------------------- ! ------- Modules ------- use parrrtm, only : ng5, ngs4 use rrlw_ref, only : chi_mls use rrlw_kg05, only : fracrefa, fracrefb, absa, ka, absb, kb, & ka_mo3, selfref, forref, ccl4 ! ------- Declarations ------- ! Local integer(kind=im) :: lay, ind0, ind1, inds, indf, indm, ig integer(kind=im) :: js, js1, jmo3, jpl real(kind=rb) :: speccomb, specparm, specmult, fs real(kind=rb) :: speccomb1, specparm1, specmult1, fs1 real(kind=rb) :: speccomb_mo3, specparm_mo3, specmult_mo3, fmo3 real(kind=rb) :: speccomb_planck, specparm_planck, specmult_planck, fpl real(kind=rb) :: p, p4, fk0, fk1, fk2 real(kind=rb) :: fac000, fac100, fac200, fac010, fac110, fac210 real(kind=rb) :: fac001, fac101, fac201, fac011, fac111, fac211 real(kind=rb) :: tauself, taufor, o3m1, o3m2, abso3 real(kind=rb) :: refrat_planck_a, refrat_planck_b, refrat_m_a real(kind=rb) :: tau_major, tau_major1 ! Minor gas mapping level : ! lower - o3, p = 317.34 mbar, t = 240.77 k ! lower - ccl4 ! Calculate reference ratio to be used in calculation of Planck ! fraction in lower/upper atmosphere. ! P = 473.420 mb refrat_planck_a = chi_mls(1,5)/chi_mls(2,5) ! P = 0.2369 mb refrat_planck_b = chi_mls(3,43)/chi_mls(2,43) ! P = 317.3480 refrat_m_a = chi_mls(1,7)/chi_mls(2,7) ! Compute the optical depth by interpolating in ln(pressure) and ! temperature, and appropriate species. Below laytrop, the ! water vapor self-continuum and foreign continuum is ! interpolated (in temperature) separately. ! Lower atmosphere loop do lay = 1, laytrop speccomb = colh2o(lay) + rat_h2oco2(lay)*colco2(lay) specparm = colh2o(lay)/speccomb if (specparm .ge. oneminus) specparm = oneminus specmult = 8._rb*(specparm) js = 1 + int(specmult) fs = mod(specmult,1.0_rb) speccomb1 = colh2o(lay) + rat_h2oco2_1(lay)*colco2(lay) specparm1 = colh2o(lay)/speccomb1 if (specparm1 .ge. oneminus) specparm1 = oneminus specmult1 = 8._rb*(specparm1) js1 = 1 + int(specmult1) fs1 = mod(specmult1,1.0_rb) speccomb_mo3 = colh2o(lay) + refrat_m_a*colco2(lay) specparm_mo3 = colh2o(lay)/speccomb_mo3 if (specparm_mo3 .ge. oneminus) specparm_mo3 = oneminus specmult_mo3 = 8._rb*specparm_mo3 jmo3 = 1 + int(specmult_mo3) fmo3 = mod(specmult_mo3,1.0_rb) speccomb_planck = colh2o(lay)+refrat_planck_a*colco2(lay) specparm_planck = colh2o(lay)/speccomb_planck if (specparm_planck .ge. oneminus) specparm_planck=oneminus specmult_planck = 8._rb*specparm_planck jpl= 1 + int(specmult_planck) fpl = mod(specmult_planck,1.0_rb) ind0 = ((jp(lay)-1)*5+(jt(lay)-1))*nspa(5) + js ind1 = (jp(lay)*5+(jt1(lay)-1))*nspa(5) + js1 inds = indself(lay) indf = indfor(lay) indm = indminor(lay) if (specparm .lt. 0.125_rb) then p = fs - 1 p4 = p**4 fk0 = p4 fk1 = 1 - p - 2.0_rb*p4 fk2 = p + p4 fac000 = fk0*fac00(lay) fac100 = fk1*fac00(lay) fac200 = fk2*fac00(lay) fac010 = fk0*fac10(lay) fac110 = fk1*fac10(lay) fac210 = fk2*fac10(lay) else if (specparm .gt. 0.875_rb) then p = -fs p4 = p**4 fk0 = p4 fk1 = 1 - p - 2.0_rb*p4 fk2 = p + p4 fac000 = fk0*fac00(lay) fac100 = fk1*fac00(lay) fac200 = fk2*fac00(lay) fac010 = fk0*fac10(lay) fac110 = fk1*fac10(lay) fac210 = fk2*fac10(lay) else fac000 = (1._rb - fs) * fac00(lay) fac010 = (1._rb - fs) * fac10(lay) fac100 = fs * fac00(lay) fac110 = fs * fac10(lay) endif if (specparm1 .lt. 0.125_rb) then p = fs1 - 1 p4 = p**4 fk0 = p4 fk1 = 1 - p - 2.0_rb*p4 fk2 = p + p4 fac001 = fk0*fac01(lay) fac101 = fk1*fac01(lay) fac201 = fk2*fac01(lay) fac011 = fk0*fac11(lay) fac111 = fk1*fac11(lay) fac211 = fk2*fac11(lay) else if (specparm1 .gt. 0.875_rb) then p = -fs1 p4 = p**4 fk0 = p4 fk1 = 1 - p - 2.0_rb*p4 fk2 = p + p4 fac001 = fk0*fac01(lay) fac101 = fk1*fac01(lay) fac201 = fk2*fac01(lay) fac011 = fk0*fac11(lay) fac111 = fk1*fac11(lay) fac211 = fk2*fac11(lay) else fac001 = (1._rb - fs1) * fac01(lay) fac011 = (1._rb - fs1) * fac11(lay) fac101 = fs1 * fac01(lay) fac111 = fs1 * fac11(lay) endif do ig = 1, ng5 tauself = selffac(lay) * (selfref(inds,ig) + selffrac(lay) * & (selfref(inds+1,ig) - selfref(inds,ig))) taufor = forfac(lay) * (forref(indf,ig) + forfrac(lay) * & (forref(indf+1,ig) - forref(indf,ig))) o3m1 = ka_mo3(jmo3,indm,ig) + fmo3 * & (ka_mo3(jmo3+1,indm,ig)-ka_mo3(jmo3,indm,ig)) o3m2 = ka_mo3(jmo3,indm+1,ig) + fmo3 * & (ka_mo3(jmo3+1,indm+1,ig)-ka_mo3(jmo3,indm+1,ig)) abso3 = o3m1 + minorfrac(lay)*(o3m2-o3m1) if (specparm .lt. 0.125_rb) then tau_major = speccomb * & (fac000 * absa(ind0,ig) + & fac100 * absa(ind0+1,ig) + & fac200 * absa(ind0+2,ig) + & fac010 * absa(ind0+9,ig) + & fac110 * absa(ind0+10,ig) + & fac210 * absa(ind0+11,ig)) else if (specparm .gt. 0.875_rb) then tau_major = speccomb * & (fac200 * absa(ind0-1,ig) + & fac100 * absa(ind0,ig) + & fac000 * absa(ind0+1,ig) + & fac210 * absa(ind0+8,ig) + & fac110 * absa(ind0+9,ig) + & fac010 * absa(ind0+10,ig)) else tau_major = speccomb * & (fac000 * absa(ind0,ig) + & fac100 * absa(ind0+1,ig) + & fac010 * absa(ind0+9,ig) + & fac110 * absa(ind0+10,ig)) endif if (specparm1 .lt. 0.125_rb) then tau_major1 = speccomb1 * & (fac001 * absa(ind1,ig) + & fac101 * absa(ind1+1,ig) + & fac201 * absa(ind1+2,ig) + & fac011 * absa(ind1+9,ig) + & fac111 * absa(ind1+10,ig) + & fac211 * absa(ind1+11,ig)) else if (specparm1 .gt. 0.875_rb) then tau_major1 = speccomb1 * & (fac201 * absa(ind1-1,ig) + & fac101 * absa(ind1,ig) + & fac001 * absa(ind1+1,ig) + & fac211 * absa(ind1+8,ig) + & fac111 * absa(ind1+9,ig) + & fac011 * absa(ind1+10,ig)) else tau_major1 = speccomb1 * & (fac001 * absa(ind1,ig) + & fac101 * absa(ind1+1,ig) + & fac011 * absa(ind1+9,ig) + & fac111 * absa(ind1+10,ig)) endif taug(lay,ngs4+ig) = tau_major + tau_major1 & + tauself + taufor & + abso3*colo3(lay) & + wx(1,lay) * ccl4(ig) fracs(lay,ngs4+ig) = fracrefa(ig,jpl) + fpl * & (fracrefa(ig,jpl+1)-fracrefa(ig,jpl)) enddo enddo ! Upper atmosphere loop do lay = laytrop+1, nlayers speccomb = colo3(lay) + rat_o3co2(lay)*colco2(lay) specparm = colo3(lay)/speccomb if (specparm .ge. oneminus) specparm = oneminus specmult = 4._rb*(specparm) js = 1 + int(specmult) fs = mod(specmult,1.0_rb) speccomb1 = colo3(lay) + rat_o3co2_1(lay)*colco2(lay) specparm1 = colo3(lay)/speccomb1 if (specparm1 .ge. oneminus) specparm1 = oneminus specmult1 = 4._rb*(specparm1) js1 = 1 + int(specmult1) fs1 = mod(specmult1,1.0_rb) fac000 = (1._rb - fs) * fac00(lay) fac010 = (1._rb - fs) * fac10(lay) fac100 = fs * fac00(lay) fac110 = fs * fac10(lay) fac001 = (1._rb - fs1) * fac01(lay) fac011 = (1._rb - fs1) * fac11(lay) fac101 = fs1 * fac01(lay) fac111 = fs1 * fac11(lay) speccomb_planck = colo3(lay)+refrat_planck_b*colco2(lay) specparm_planck = colo3(lay)/speccomb_planck if (specparm_planck .ge. oneminus) specparm_planck=oneminus specmult_planck = 4._rb*specparm_planck jpl= 1 + int(specmult_planck) fpl = mod(specmult_planck,1.0_rb) ind0 = ((jp(lay)-13)*5+(jt(lay)-1))*nspb(5) + js ind1 = ((jp(lay)-12)*5+(jt1(lay)-1))*nspb(5) + js1 do ig = 1, ng5 taug(lay,ngs4+ig) = speccomb * & (fac000 * absb(ind0,ig) + & fac100 * absb(ind0+1,ig) + & fac010 * absb(ind0+5,ig) + & fac110 * absb(ind0+6,ig)) & + speccomb1 * & (fac001 * absb(ind1,ig) + & fac101 * absb(ind1+1,ig) + & fac011 * absb(ind1+5,ig) + & fac111 * absb(ind1+6,ig)) & + wx(1,lay) * ccl4(ig) fracs(lay,ngs4+ig) = fracrefb(ig,jpl) + fpl * & (fracrefb(ig,jpl+1)-fracrefb(ig,jpl)) enddo enddo end subroutine taugb5 !---------------------------------------------------------------------------- subroutine taugb6 !---------------------------------------------------------------------------- ! ! band 6: 820-980 cm-1 (low key - h2o; low minor - co2) ! (high key - nothing; high minor - cfc11, cfc12) !---------------------------------------------------------------------------- ! ------- Modules ------- use parrrtm, only : ng6, ngs5 use rrlw_ref, only : chi_mls use rrlw_kg06, only : fracrefa, absa, ka, ka_mco2, & selfref, forref, cfc11adj, cfc12 ! ------- Declarations ------- ! Local integer(kind=im) :: lay, ind0, ind1, inds, indf, indm, ig real(kind=rb) :: chi_co2, ratco2, adjfac, adjcolco2 real(kind=rb) :: tauself, taufor, absco2 ! Minor gas mapping level: ! lower - co2, p = 706.2720 mb, t = 294.2 k ! upper - cfc11, cfc12 ! Compute the optical depth by interpolating in ln(pressure) and ! temperature. The water vapor self-continuum and foreign continuum ! is interpolated (in temperature) separately. ! Lower atmosphere loop do lay = 1, laytrop ! In atmospheres where the amount of CO2 is too great to be considered ! a minor species, adjust the column amount of CO2 by an empirical factor ! to obtain the proper contribution. chi_co2 = colco2(lay)/(coldry(lay)) ratco2 = 1.e20_rb*chi_co2/chi_mls(2,jp(lay)+1) if (ratco2 .gt. 3.0_rb) then adjfac = 2.0_rb+(ratco2-2.0_rb)**0.77_rb adjcolco2 = adjfac*chi_mls(2,jp(lay)+1)*coldry(lay)*1.e-20_rb else adjcolco2 = colco2(lay) endif ind0 = ((jp(lay)-1)*5+(jt(lay)-1))*nspa(6) + 1 ind1 = (jp(lay)*5+(jt1(lay)-1))*nspa(6) + 1 inds = indself(lay) indf = indfor(lay) indm = indminor(lay) do ig = 1, ng6 tauself = selffac(lay) * (selfref(inds,ig) + selffrac(lay) * & (selfref(inds+1,ig) - selfref(inds,ig))) taufor = forfac(lay) * (forref(indf,ig) + forfrac(lay) * & (forref(indf+1,ig) - forref(indf,ig))) absco2 = (ka_mco2(indm,ig) + minorfrac(lay) * & (ka_mco2(indm+1,ig) - ka_mco2(indm,ig))) taug(lay,ngs5+ig) = colh2o(lay) * & (fac00(lay) * absa(ind0,ig) + & fac10(lay) * absa(ind0+1,ig) + & fac01(lay) * absa(ind1,ig) + & fac11(lay) * absa(ind1+1,ig)) & + tauself + taufor & + adjcolco2 * absco2 & + wx(2,lay) * cfc11adj(ig) & + wx(3,lay) * cfc12(ig) fracs(lay,ngs5+ig) = fracrefa(ig) enddo enddo ! Upper atmosphere loop ! Nothing important goes on above laytrop in this band. do lay = laytrop+1, nlayers do ig = 1, ng6 taug(lay,ngs5+ig) = 0.0_rb & + wx(2,lay) * cfc11adj(ig) & + wx(3,lay) * cfc12(ig) fracs(lay,ngs5+ig) = fracrefa(ig) enddo enddo end subroutine taugb6 !---------------------------------------------------------------------------- subroutine taugb7 !---------------------------------------------------------------------------- ! ! band 7: 980-1080 cm-1 (low key - h2o,o3; low minor - co2) ! (high key - o3; high minor - co2) !---------------------------------------------------------------------------- ! ------- Modules ------- use parrrtm, only : ng7, ngs6 use rrlw_ref, only : chi_mls use rrlw_kg07, only : fracrefa, fracrefb, absa, ka, absb, kb, & ka_mco2, kb_mco2, selfref, forref ! ------- Declarations ------- ! Local integer(kind=im) :: lay, ind0, ind1, inds, indf, indm, ig integer(kind=im) :: js, js1, jmco2, jpl real(kind=rb) :: speccomb, specparm, specmult, fs real(kind=rb) :: speccomb1, specparm1, specmult1, fs1 real(kind=rb) :: speccomb_mco2, specparm_mco2, specmult_mco2, fmco2 real(kind=rb) :: speccomb_planck, specparm_planck, specmult_planck, fpl real(kind=rb) :: p, p4, fk0, fk1, fk2 real(kind=rb) :: fac000, fac100, fac200, fac010, fac110, fac210 real(kind=rb) :: fac001, fac101, fac201, fac011, fac111, fac211 real(kind=rb) :: tauself, taufor, co2m1, co2m2, absco2 real(kind=rb) :: chi_co2, ratco2, adjfac, adjcolco2 real(kind=rb) :: refrat_planck_a, refrat_m_a real(kind=rb) :: tau_major, tau_major1 ! Minor gas mapping level : ! lower - co2, p = 706.2620 mbar, t= 278.94 k ! upper - co2, p = 12.9350 mbar, t = 234.01 k ! Calculate reference ratio to be used in calculation of Planck ! fraction in lower atmosphere. ! P = 706.2620 mb refrat_planck_a = chi_mls(1,3)/chi_mls(3,3) ! P = 706.2720 mb refrat_m_a = chi_mls(1,3)/chi_mls(3,3) ! Compute the optical depth by interpolating in ln(pressure), ! temperature, and appropriate species. Below laytrop, the water ! vapor self-continuum and foreign continuum is interpolated ! (in temperature) separately. ! Lower atmosphere loop do lay = 1, laytrop speccomb = colh2o(lay) + rat_h2oo3(lay)*colo3(lay) specparm = colh2o(lay)/speccomb if (specparm .ge. oneminus) specparm = oneminus specmult = 8._rb*(specparm) js = 1 + int(specmult) fs = mod(specmult,1.0_rb) speccomb1 = colh2o(lay) + rat_h2oo3_1(lay)*colo3(lay) specparm1 = colh2o(lay)/speccomb1 if (specparm1 .ge. oneminus) specparm1 = oneminus specmult1 = 8._rb*(specparm1) js1 = 1 + int(specmult1) fs1 = mod(specmult1,1.0_rb) speccomb_mco2 = colh2o(lay) + refrat_m_a*colo3(lay) specparm_mco2 = colh2o(lay)/speccomb_mco2 if (specparm_mco2 .ge. oneminus) specparm_mco2 = oneminus specmult_mco2 = 8._rb*specparm_mco2 jmco2 = 1 + int(specmult_mco2) fmco2 = mod(specmult_mco2,1.0_rb) ! In atmospheres where the amount of CO2 is too great to be considered ! a minor species, adjust the column amount of CO2 by an empirical factor ! to obtain the proper contribution. chi_co2 = colco2(lay)/(coldry(lay)) ratco2 = 1.e20*chi_co2/chi_mls(2,jp(lay)+1) if (ratco2 .gt. 3.0_rb) then adjfac = 3.0_rb+(ratco2-3.0_rb)**0.79_rb adjcolco2 = adjfac*chi_mls(2,jp(lay)+1)*coldry(lay)*1.e-20_rb else adjcolco2 = colco2(lay) endif speccomb_planck = colh2o(lay)+refrat_planck_a*colo3(lay) specparm_planck = colh2o(lay)/speccomb_planck if (specparm_planck .ge. oneminus) specparm_planck=oneminus specmult_planck = 8._rb*specparm_planck jpl= 1 + int(specmult_planck) fpl = mod(specmult_planck,1.0_rb) ind0 = ((jp(lay)-1)*5+(jt(lay)-1))*nspa(7) + js ind1 = (jp(lay)*5+(jt1(lay)-1))*nspa(7) + js1 inds = indself(lay) indf = indfor(lay) indm = indminor(lay) if (specparm .lt. 0.125_rb) then p = fs - 1 p4 = p**4 fk0 = p4 fk1 = 1 - p - 2.0_rb*p4 fk2 = p + p4 fac000 = fk0*fac00(lay) fac100 = fk1*fac00(lay) fac200 = fk2*fac00(lay) fac010 = fk0*fac10(lay) fac110 = fk1*fac10(lay) fac210 = fk2*fac10(lay) else if (specparm .gt. 0.875_rb) then p = -fs p4 = p**4 fk0 = p4 fk1 = 1 - p - 2.0_rb*p4 fk2 = p + p4 fac000 = fk0*fac00(lay) fac100 = fk1*fac00(lay) fac200 = fk2*fac00(lay) fac010 = fk0*fac10(lay) fac110 = fk1*fac10(lay) fac210 = fk2*fac10(lay) else fac000 = (1._rb - fs) * fac00(lay) fac010 = (1._rb - fs) * fac10(lay) fac100 = fs * fac00(lay) fac110 = fs * fac10(lay) endif if (specparm .lt. 0.125_rb) then p = fs1 - 1 p4 = p**4 fk0 = p4 fk1 = 1 - p - 2.0_rb*p4 fk2 = p + p4 fac001 = fk0*fac01(lay) fac101 = fk1*fac01(lay) fac201 = fk2*fac01(lay) fac011 = fk0*fac11(lay) fac111 = fk1*fac11(lay) fac211 = fk2*fac11(lay) else if (specparm1 .gt. 0.875_rb) then p = -fs1 p4 = p**4 fk0 = p4 fk1 = 1 - p - 2.0_rb*p4 fk2 = p + p4 fac001 = fk0*fac01(lay) fac101 = fk1*fac01(lay) fac201 = fk2*fac01(lay) fac011 = fk0*fac11(lay) fac111 = fk1*fac11(lay) fac211 = fk2*fac11(lay) else fac001 = (1._rb - fs1) * fac01(lay) fac011 = (1._rb - fs1) * fac11(lay) fac101 = fs1 * fac01(lay) fac111 = fs1 * fac11(lay) endif do ig = 1, ng7 tauself = selffac(lay)* (selfref(inds,ig) + selffrac(lay) * & (selfref(inds+1,ig) - selfref(inds,ig))) taufor = forfac(lay) * (forref(indf,ig) + forfrac(lay) * & (forref(indf+1,ig) - forref(indf,ig))) co2m1 = ka_mco2(jmco2,indm,ig) + fmco2 * & (ka_mco2(jmco2+1,indm,ig) - ka_mco2(jmco2,indm,ig)) co2m2 = ka_mco2(jmco2,indm+1,ig) + fmco2 * & (ka_mco2(jmco2+1,indm+1,ig) - ka_mco2(jmco2,indm+1,ig)) absco2 = co2m1 + minorfrac(lay) * (co2m2 - co2m1) if (specparm .lt. 0.125_rb) then tau_major = speccomb * & (fac000 * absa(ind0,ig) + & fac100 * absa(ind0+1,ig) + & fac200 * absa(ind0+2,ig) + & fac010 * absa(ind0+9,ig) + & fac110 * absa(ind0+10,ig) + & fac210 * absa(ind0+11,ig)) else if (specparm .gt. 0.875_rb) then tau_major = speccomb * & (fac200 * absa(ind0-1,ig) + & fac100 * absa(ind0,ig) + & fac000 * absa(ind0+1,ig) + & fac210 * absa(ind0+8,ig) + & fac110 * absa(ind0+9,ig) + & fac010 * absa(ind0+10,ig)) else tau_major = speccomb * & (fac000 * absa(ind0,ig) + & fac100 * absa(ind0+1,ig) + & fac010 * absa(ind0+9,ig) + & fac110 * absa(ind0+10,ig)) endif if (specparm1 .lt. 0.125_rb) then tau_major1 = speccomb1 * & (fac001 * absa(ind1,ig) + & fac101 * absa(ind1+1,ig) + & fac201 * absa(ind1+2,ig) + & fac011 * absa(ind1+9,ig) + & fac111 * absa(ind1+10,ig) + & fac211 * absa(ind1+11,ig)) else if (specparm1 .gt. 0.875_rb) then tau_major1 = speccomb1 * & (fac201 * absa(ind1-1,ig) + & fac101 * absa(ind1,ig) + & fac001 * absa(ind1+1,ig) + & fac211 * absa(ind1+8,ig) + & fac111 * absa(ind1+9,ig) + & fac011 * absa(ind1+10,ig)) else tau_major1 = speccomb1 * & (fac001 * absa(ind1,ig) + & fac101 * absa(ind1+1,ig) + & fac011 * absa(ind1+9,ig) + & fac111 * absa(ind1+10,ig)) endif taug(lay,ngs6+ig) = tau_major + tau_major1 & + tauself + taufor & + adjcolco2*absco2 fracs(lay,ngs6+ig) = fracrefa(ig,jpl) + fpl * & (fracrefa(ig,jpl+1)-fracrefa(ig,jpl)) enddo enddo ! Upper atmosphere loop do lay = laytrop+1, nlayers ! In atmospheres where the amount of CO2 is too great to be considered ! a minor species, adjust the column amount of CO2 by an empirical factor ! to obtain the proper contribution. chi_co2 = colco2(lay)/(coldry(lay)) ratco2 = 1.e20*chi_co2/chi_mls(2,jp(lay)+1) if (ratco2 .gt. 3.0_rb) then adjfac = 2.0_rb+(ratco2-2.0_rb)**0.79_rb adjcolco2 = adjfac*chi_mls(2,jp(lay)+1)*coldry(lay)*1.e-20_rb else adjcolco2 = colco2(lay) endif ind0 = ((jp(lay)-13)*5+(jt(lay)-1))*nspb(7) + 1 ind1 = ((jp(lay)-12)*5+(jt1(lay)-1))*nspb(7) + 1 indm = indminor(lay) do ig = 1, ng7 absco2 = kb_mco2(indm,ig) + minorfrac(lay) * & (kb_mco2(indm+1,ig) - kb_mco2(indm,ig)) taug(lay,ngs6+ig) = colo3(lay) * & (fac00(lay) * absb(ind0,ig) + & fac10(lay) * absb(ind0+1,ig) + & fac01(lay) * absb(ind1,ig) + & fac11(lay) * absb(ind1+1,ig)) & + adjcolco2 * absco2 fracs(lay,ngs6+ig) = fracrefb(ig) enddo ! Empirical modification to code to improve stratospheric cooling rates ! for o3. Revised to apply weighting for g-point reduction in this band. taug(lay,ngs6+6)=taug(lay,ngs6+6)*0.92_rb taug(lay,ngs6+7)=taug(lay,ngs6+7)*0.88_rb taug(lay,ngs6+8)=taug(lay,ngs6+8)*1.07_rb taug(lay,ngs6+9)=taug(lay,ngs6+9)*1.1_rb taug(lay,ngs6+10)=taug(lay,ngs6+10)*0.99_rb taug(lay,ngs6+11)=taug(lay,ngs6+11)*0.855_rb enddo end subroutine taugb7 !---------------------------------------------------------------------------- subroutine taugb8 !---------------------------------------------------------------------------- ! ! band 8: 1080-1180 cm-1 (low key - h2o; low minor - co2,o3,n2o) ! (high key - o3; high minor - co2, n2o) !---------------------------------------------------------------------------- ! ------- Modules ------- use parrrtm, only : ng8, ngs7 use rrlw_ref, only : chi_mls use rrlw_kg08, only : fracrefa, fracrefb, absa, ka, absb, kb, & ka_mco2, ka_mn2o, ka_mo3, kb_mco2, kb_mn2o, & selfref, forref, cfc12, cfc22adj ! ------- Declarations ------- ! Local integer(kind=im) :: lay, ind0, ind1, inds, indf, indm, ig real(kind=rb) :: tauself, taufor, absco2, abso3, absn2o real(kind=rb) :: chi_co2, ratco2, adjfac, adjcolco2 ! Minor gas mapping level: ! lower - co2, p = 1053.63 mb, t = 294.2 k ! lower - o3, p = 317.348 mb, t = 240.77 k ! lower - n2o, p = 706.2720 mb, t= 278.94 k ! lower - cfc12,cfc11 ! upper - co2, p = 35.1632 mb, t = 223.28 k ! upper - n2o, p = 8.716e-2 mb, t = 226.03 k ! Compute the optical depth by interpolating in ln(pressure) and ! temperature, and appropriate species. Below laytrop, the water vapor ! self-continuum and foreign continuum is interpolated (in temperature) ! separately. ! Lower atmosphere loop do lay = 1, laytrop ! In atmospheres where the amount of CO2 is too great to be considered ! a minor species, adjust the column amount of CO2 by an empirical factor ! to obtain the proper contribution. chi_co2 = colco2(lay)/(coldry(lay)) ratco2 = 1.e20_rb*chi_co2/chi_mls(2,jp(lay)+1) if (ratco2 .gt. 3.0_rb) then adjfac = 2.0_rb+(ratco2-2.0_rb)**0.65_rb adjcolco2 = adjfac*chi_mls(2,jp(lay)+1)*coldry(lay)*1.e-20_rb else adjcolco2 = colco2(lay) endif ind0 = ((jp(lay)-1)*5+(jt(lay)-1))*nspa(8) + 1 ind1 = (jp(lay)*5+(jt1(lay)-1))*nspa(8) + 1 inds = indself(lay) indf = indfor(lay) indm = indminor(lay) do ig = 1, ng8 tauself = selffac(lay) * (selfref(inds,ig) + selffrac(lay) * & (selfref(inds+1,ig) - selfref(inds,ig))) taufor = forfac(lay) * (forref(indf,ig) + forfrac(lay) * & (forref(indf+1,ig) - forref(indf,ig))) absco2 = (ka_mco2(indm,ig) + minorfrac(lay) * & (ka_mco2(indm+1,ig) - ka_mco2(indm,ig))) abso3 = (ka_mo3(indm,ig) + minorfrac(lay) * & (ka_mo3(indm+1,ig) - ka_mo3(indm,ig))) absn2o = (ka_mn2o(indm,ig) + minorfrac(lay) * & (ka_mn2o(indm+1,ig) - ka_mn2o(indm,ig))) taug(lay,ngs7+ig) = colh2o(lay) * & (fac00(lay) * absa(ind0,ig) + & fac10(lay) * absa(ind0+1,ig) + & fac01(lay) * absa(ind1,ig) + & fac11(lay) * absa(ind1+1,ig)) & + tauself + taufor & + adjcolco2*absco2 & + colo3(lay) * abso3 & + coln2o(lay) * absn2o & + wx(3,lay) * cfc12(ig) & + wx(4,lay) * cfc22adj(ig) fracs(lay,ngs7+ig) = fracrefa(ig) enddo enddo ! Upper atmosphere loop do lay = laytrop+1, nlayers ! In atmospheres where the amount of CO2 is too great to be considered ! a minor species, adjust the column amount of CO2 by an empirical factor ! to obtain the proper contribution. chi_co2 = colco2(lay)/coldry(lay) ratco2 = 1.e20_rb*chi_co2/chi_mls(2,jp(lay)+1) if (ratco2 .gt. 3.0_rb) then adjfac = 2.0_rb+(ratco2-2.0_rb)**0.65_rb adjcolco2 = adjfac*chi_mls(2,jp(lay)+1) * coldry(lay)*1.e-20_rb else adjcolco2 = colco2(lay) endif ind0 = ((jp(lay)-13)*5+(jt(lay)-1))*nspb(8) + 1 ind1 = ((jp(lay)-12)*5+(jt1(lay)-1))*nspb(8) + 1 indm = indminor(lay) do ig = 1, ng8 absco2 = (kb_mco2(indm,ig) + minorfrac(lay) * & (kb_mco2(indm+1,ig) - kb_mco2(indm,ig))) absn2o = (kb_mn2o(indm,ig) + minorfrac(lay) * & (kb_mn2o(indm+1,ig) - kb_mn2o(indm,ig))) taug(lay,ngs7+ig) = colo3(lay) * & (fac00(lay) * absb(ind0,ig) + & fac10(lay) * absb(ind0+1,ig) + & fac01(lay) * absb(ind1,ig) + & fac11(lay) * absb(ind1+1,ig)) & + adjcolco2*absco2 & + coln2o(lay)*absn2o & + wx(3,lay) * cfc12(ig) & + wx(4,lay) * cfc22adj(ig) fracs(lay,ngs7+ig) = fracrefb(ig) enddo enddo end subroutine taugb8 !---------------------------------------------------------------------------- subroutine taugb9 !---------------------------------------------------------------------------- ! ! band 9: 1180-1390 cm-1 (low key - h2o,ch4; low minor - n2o) ! (high key - ch4; high minor - n2o) !---------------------------------------------------------------------------- ! ------- Modules ------- use parrrtm, only : ng9, ngs8 use rrlw_ref, only : chi_mls use rrlw_kg09, only : fracrefa, fracrefb, absa, ka, absb, kb, & ka_mn2o, kb_mn2o, selfref, forref ! ------- Declarations ------- ! Local integer(kind=im) :: lay, ind0, ind1, inds, indf, indm, ig integer(kind=im) :: js, js1, jmn2o, jpl real(kind=rb) :: speccomb, specparm, specmult, fs real(kind=rb) :: speccomb1, specparm1, specmult1, fs1 real(kind=rb) :: speccomb_mn2o, specparm_mn2o, specmult_mn2o, fmn2o real(kind=rb) :: speccomb_planck, specparm_planck, specmult_planck, fpl real(kind=rb) :: p, p4, fk0, fk1, fk2 real(kind=rb) :: fac000, fac100, fac200, fac010, fac110, fac210 real(kind=rb) :: fac001, fac101, fac201, fac011, fac111, fac211 real(kind=rb) :: tauself, taufor, n2om1, n2om2, absn2o real(kind=rb) :: chi_n2o, ratn2o, adjfac, adjcoln2o real(kind=rb) :: refrat_planck_a, refrat_m_a real(kind=rb) :: tau_major, tau_major1 ! Minor gas mapping level : ! lower - n2o, p = 706.272 mbar, t = 278.94 k ! upper - n2o, p = 95.58 mbar, t = 215.7 k ! Calculate reference ratio to be used in calculation of Planck ! fraction in lower/upper atmosphere. ! P = 212 mb refrat_planck_a = chi_mls(1,9)/chi_mls(6,9) ! P = 706.272 mb refrat_m_a = chi_mls(1,3)/chi_mls(6,3) ! Compute the optical depth by interpolating in ln(pressure), ! temperature, and appropriate species. Below laytrop, the water ! vapor self-continuum and foreign continuum is interpolated ! (in temperature) separately. ! Lower atmosphere loop do lay = 1, laytrop speccomb = colh2o(lay) + rat_h2och4(lay)*colch4(lay) specparm = colh2o(lay)/speccomb if (specparm .ge. oneminus) specparm = oneminus specmult = 8._rb*(specparm) js = 1 + int(specmult) fs = mod(specmult,1.0_rb) speccomb1 = colh2o(lay) + rat_h2och4_1(lay)*colch4(lay) specparm1 = colh2o(lay)/speccomb1 if (specparm1 .ge. oneminus) specparm1 = oneminus specmult1 = 8._rb*(specparm1) js1 = 1 + int(specmult1) fs1 = mod(specmult1,1.0_rb) speccomb_mn2o = colh2o(lay) + refrat_m_a*colch4(lay) specparm_mn2o = colh2o(lay)/speccomb_mn2o if (specparm_mn2o .ge. oneminus) specparm_mn2o = oneminus specmult_mn2o = 8._rb*specparm_mn2o jmn2o = 1 + int(specmult_mn2o) fmn2o = mod(specmult_mn2o,1.0_rb) ! In atmospheres where the amount of N2O is too great to be considered ! a minor species, adjust the column amount of N2O by an empirical factor ! to obtain the proper contribution. chi_n2o = coln2o(lay)/(coldry(lay)) ratn2o = 1.e20_rb*chi_n2o/chi_mls(4,jp(lay)+1) if (ratn2o .gt. 1.5_rb) then adjfac = 0.5_rb+(ratn2o-0.5_rb)**0.65_rb adjcoln2o = adjfac*chi_mls(4,jp(lay)+1)*coldry(lay)*1.e-20_rb else adjcoln2o = coln2o(lay) endif speccomb_planck = colh2o(lay)+refrat_planck_a*colch4(lay) specparm_planck = colh2o(lay)/speccomb_planck if (specparm_planck .ge. oneminus) specparm_planck=oneminus specmult_planck = 8._rb*specparm_planck jpl= 1 + int(specmult_planck) fpl = mod(specmult_planck,1.0_rb) ind0 = ((jp(lay)-1)*5+(jt(lay)-1))*nspa(9) + js ind1 = (jp(lay)*5+(jt1(lay)-1))*nspa(9) + js1 inds = indself(lay) indf = indfor(lay) indm = indminor(lay) if (specparm .lt. 0.125_rb) then p = fs - 1 p4 = p**4 fk0 = p4 fk1 = 1 - p - 2.0_rb*p4 fk2 = p + p4 fac000 = fk0*fac00(lay) fac100 = fk1*fac00(lay) fac200 = fk2*fac00(lay) fac010 = fk0*fac10(lay) fac110 = fk1*fac10(lay) fac210 = fk2*fac10(lay) else if (specparm .gt. 0.875_rb) then p = -fs p4 = p**4 fk0 = p4 fk1 = 1 - p - 2.0_rb*p4 fk2 = p + p4 fac000 = fk0*fac00(lay) fac100 = fk1*fac00(lay) fac200 = fk2*fac00(lay) fac010 = fk0*fac10(lay) fac110 = fk1*fac10(lay) fac210 = fk2*fac10(lay) else fac000 = (1._rb - fs) * fac00(lay) fac010 = (1._rb - fs) * fac10(lay) fac100 = fs * fac00(lay) fac110 = fs * fac10(lay) endif if (specparm1 .lt. 0.125_rb) then p = fs1 - 1 p4 = p**4 fk0 = p4 fk1 = 1 - p - 2.0_rb*p4 fk2 = p + p4 fac001 = fk0*fac01(lay) fac101 = fk1*fac01(lay) fac201 = fk2*fac01(lay) fac011 = fk0*fac11(lay) fac111 = fk1*fac11(lay) fac211 = fk2*fac11(lay) else if (specparm1 .gt. 0.875_rb) then p = -fs1 p4 = p**4 fk0 = p4 fk1 = 1 - p - 2.0_rb*p4 fk2 = p + p4 fac001 = fk0*fac01(lay) fac101 = fk1*fac01(lay) fac201 = fk2*fac01(lay) fac011 = fk0*fac11(lay) fac111 = fk1*fac11(lay) fac211 = fk2*fac11(lay) else fac001 = (1._rb - fs1) * fac01(lay) fac011 = (1._rb - fs1) * fac11(lay) fac101 = fs1 * fac01(lay) fac111 = fs1 * fac11(lay) endif do ig = 1, ng9 tauself = selffac(lay)* (selfref(inds,ig) + selffrac(lay) * & (selfref(inds+1,ig) - selfref(inds,ig))) taufor = forfac(lay) * (forref(indf,ig) + forfrac(lay) * & (forref(indf+1,ig) - forref(indf,ig))) n2om1 = ka_mn2o(jmn2o,indm,ig) + fmn2o * & (ka_mn2o(jmn2o+1,indm,ig) - ka_mn2o(jmn2o,indm,ig)) n2om2 = ka_mn2o(jmn2o,indm+1,ig) + fmn2o * & (ka_mn2o(jmn2o+1,indm+1,ig) - ka_mn2o(jmn2o,indm+1,ig)) absn2o = n2om1 + minorfrac(lay) * (n2om2 - n2om1) if (specparm .lt. 0.125_rb) then tau_major = speccomb * & (fac000 * absa(ind0,ig) + & fac100 * absa(ind0+1,ig) + & fac200 * absa(ind0+2,ig) + & fac010 * absa(ind0+9,ig) + & fac110 * absa(ind0+10,ig) + & fac210 * absa(ind0+11,ig)) else if (specparm .gt. 0.875_rb) then tau_major = speccomb * & (fac200 * absa(ind0-1,ig) + & fac100 * absa(ind0,ig) + & fac000 * absa(ind0+1,ig) + & fac210 * absa(ind0+8,ig) + & fac110 * absa(ind0+9,ig) + & fac010 * absa(ind0+10,ig)) else tau_major = speccomb * & (fac000 * absa(ind0,ig) + & fac100 * absa(ind0+1,ig) + & fac010 * absa(ind0+9,ig) + & fac110 * absa(ind0+10,ig)) endif if (specparm1 .lt. 0.125_rb) then tau_major1 = speccomb1 * & (fac001 * absa(ind1,ig) + & fac101 * absa(ind1+1,ig) + & fac201 * absa(ind1+2,ig) + & fac011 * absa(ind1+9,ig) + & fac111 * absa(ind1+10,ig) + & fac211 * absa(ind1+11,ig)) else if (specparm1 .gt. 0.875_rb) then tau_major1 = speccomb1 * & (fac201 * absa(ind1-1,ig) + & fac101 * absa(ind1,ig) + & fac001 * absa(ind1+1,ig) + & fac211 * absa(ind1+8,ig) + & fac111 * absa(ind1+9,ig) + & fac011 * absa(ind1+10,ig)) else tau_major1 = speccomb1 * & (fac001 * absa(ind1,ig) + & fac101 * absa(ind1+1,ig) + & fac011 * absa(ind1+9,ig) + & fac111 * absa(ind1+10,ig)) endif taug(lay,ngs8+ig) = tau_major + tau_major1 & + tauself + taufor & + adjcoln2o*absn2o fracs(lay,ngs8+ig) = fracrefa(ig,jpl) + fpl * & (fracrefa(ig,jpl+1)-fracrefa(ig,jpl)) enddo enddo ! Upper atmosphere loop do lay = laytrop+1, nlayers ! In atmospheres where the amount of N2O is too great to be considered ! a minor species, adjust the column amount of N2O by an empirical factor ! to obtain the proper contribution. chi_n2o = coln2o(lay)/(coldry(lay)) ratn2o = 1.e20_rb*chi_n2o/chi_mls(4,jp(lay)+1) if (ratn2o .gt. 1.5_rb) then adjfac = 0.5_rb+(ratn2o-0.5_rb)**0.65_rb adjcoln2o = adjfac*chi_mls(4,jp(lay)+1)*coldry(lay)*1.e-20_rb else adjcoln2o = coln2o(lay) endif ind0 = ((jp(lay)-13)*5+(jt(lay)-1))*nspb(9) + 1 ind1 = ((jp(lay)-12)*5+(jt1(lay)-1))*nspb(9) + 1 indm = indminor(lay) do ig = 1, ng9 absn2o = kb_mn2o(indm,ig) + minorfrac(lay) * & (kb_mn2o(indm+1,ig) - kb_mn2o(indm,ig)) taug(lay,ngs8+ig) = colch4(lay) * & (fac00(lay) * absb(ind0,ig) + & fac10(lay) * absb(ind0+1,ig) + & fac01(lay) * absb(ind1,ig) + & fac11(lay) * absb(ind1+1,ig)) & + adjcoln2o*absn2o fracs(lay,ngs8+ig) = fracrefb(ig) enddo enddo end subroutine taugb9 !---------------------------------------------------------------------------- subroutine taugb10 !---------------------------------------------------------------------------- ! ! band 10: 1390-1480 cm-1 (low key - h2o; high key - h2o) !---------------------------------------------------------------------------- ! ------- Modules ------- use parrrtm, only : ng10, ngs9 use rrlw_kg10, only : fracrefa, fracrefb, absa, ka, absb, kb, & selfref, forref ! ------- Declarations ------- ! Local integer(kind=im) :: lay, ind0, ind1, inds, indf, ig real(kind=rb) :: tauself, taufor ! Compute the optical depth by interpolating in ln(pressure) and ! temperature. Below laytrop, the water vapor self-continuum and ! foreign continuum is interpolated (in temperature) separately. ! Lower atmosphere loop do lay = 1, laytrop ind0 = ((jp(lay)-1)*5+(jt(lay)-1))*nspa(10) + 1 ind1 = (jp(lay)*5+(jt1(lay)-1))*nspa(10) + 1 inds = indself(lay) indf = indfor(lay) do ig = 1, ng10 tauself = selffac(lay) * (selfref(inds,ig) + selffrac(lay) * & (selfref(inds+1,ig) - selfref(inds,ig))) taufor = forfac(lay) * (forref(indf,ig) + forfrac(lay) * & (forref(indf+1,ig) - forref(indf,ig))) taug(lay,ngs9+ig) = colh2o(lay) * & (fac00(lay) * absa(ind0,ig) + & fac10(lay) * absa(ind0+1,ig) + & fac01(lay) * absa(ind1,ig) + & fac11(lay) * absa(ind1+1,ig)) & + tauself + taufor fracs(lay,ngs9+ig) = fracrefa(ig) enddo enddo ! Upper atmosphere loop do lay = laytrop+1, nlayers ind0 = ((jp(lay)-13)*5+(jt(lay)-1))*nspb(10) + 1 ind1 = ((jp(lay)-12)*5+(jt1(lay)-1))*nspb(10) + 1 indf = indfor(lay) do ig = 1, ng10 taufor = forfac(lay) * (forref(indf,ig) + forfrac(lay) * & (forref(indf+1,ig) - forref(indf,ig))) taug(lay,ngs9+ig) = colh2o(lay) * & (fac00(lay) * absb(ind0,ig) + & fac10(lay) * absb(ind0+1,ig) + & fac01(lay) * absb(ind1,ig) + & fac11(lay) * absb(ind1+1,ig)) & + taufor fracs(lay,ngs9+ig) = fracrefb(ig) enddo enddo end subroutine taugb10 !---------------------------------------------------------------------------- subroutine taugb11 !---------------------------------------------------------------------------- ! ! band 11: 1480-1800 cm-1 (low - h2o; low minor - o2) ! (high key - h2o; high minor - o2) !---------------------------------------------------------------------------- ! ------- Modules ------- use parrrtm, only : ng11, ngs10 use rrlw_kg11, only : fracrefa, fracrefb, absa, ka, absb, kb, & ka_mo2, kb_mo2, selfref, forref ! ------- Declarations ------- ! Local integer(kind=im) :: lay, ind0, ind1, inds, indf, indm, ig real(kind=rb) :: scaleo2, tauself, taufor, tauo2 ! Minor gas mapping level : ! lower - o2, p = 706.2720 mbar, t = 278.94 k ! upper - o2, p = 4.758820 mbarm t = 250.85 k ! Compute the optical depth by interpolating in ln(pressure) and ! temperature. Below laytrop, the water vapor self-continuum and ! foreign continuum is interpolated (in temperature) separately. ! Lower atmosphere loop do lay = 1, laytrop ind0 = ((jp(lay)-1)*5+(jt(lay)-1))*nspa(11) + 1 ind1 = (jp(lay)*5+(jt1(lay)-1))*nspa(11) + 1 inds = indself(lay) indf = indfor(lay) indm = indminor(lay) scaleo2 = colo2(lay)*scaleminor(lay) do ig = 1, ng11 tauself = selffac(lay) * (selfref(inds,ig) + selffrac(lay) * & (selfref(inds+1,ig) - selfref(inds,ig))) taufor = forfac(lay) * (forref(indf,ig) + forfrac(lay) * & (forref(indf+1,ig) - forref(indf,ig))) tauo2 = scaleo2 * (ka_mo2(indm,ig) + minorfrac(lay) * & (ka_mo2(indm+1,ig) - ka_mo2(indm,ig))) taug(lay,ngs10+ig) = colh2o(lay) * & (fac00(lay) * absa(ind0,ig) + & fac10(lay) * absa(ind0+1,ig) + & fac01(lay) * absa(ind1,ig) + & fac11(lay) * absa(ind1+1,ig)) & + tauself + taufor & + tauo2 fracs(lay,ngs10+ig) = fracrefa(ig) enddo enddo ! Upper atmosphere loop do lay = laytrop+1, nlayers ind0 = ((jp(lay)-13)*5+(jt(lay)-1))*nspb(11) + 1 ind1 = ((jp(lay)-12)*5+(jt1(lay)-1))*nspb(11) + 1 indf = indfor(lay) indm = indminor(lay) scaleo2 = colo2(lay)*scaleminor(lay) do ig = 1, ng11 taufor = forfac(lay) * (forref(indf,ig) + forfrac(lay) * & (forref(indf+1,ig) - forref(indf,ig))) tauo2 = scaleo2 * (kb_mo2(indm,ig) + minorfrac(lay) * & (kb_mo2(indm+1,ig) - kb_mo2(indm,ig))) taug(lay,ngs10+ig) = colh2o(lay) * & (fac00(lay) * absb(ind0,ig) + & fac10(lay) * absb(ind0+1,ig) + & fac01(lay) * absb(ind1,ig) + & fac11(lay) * absb(ind1+1,ig)) & + taufor & + tauo2 fracs(lay,ngs10+ig) = fracrefb(ig) enddo enddo end subroutine taugb11 !---------------------------------------------------------------------------- subroutine taugb12 !---------------------------------------------------------------------------- ! ! band 12: 1800-2080 cm-1 (low - h2o,co2; high - nothing) !---------------------------------------------------------------------------- ! ------- Modules ------- use parrrtm, only : ng12, ngs11 use rrlw_ref, only : chi_mls use rrlw_kg12, only : fracrefa, absa, ka, & selfref, forref ! ------- Declarations ------- ! Local integer(kind=im) :: lay, ind0, ind1, inds, indf, ig integer(kind=im) :: js, js1, jpl real(kind=rb) :: speccomb, specparm, specmult, fs real(kind=rb) :: speccomb1, specparm1, specmult1, fs1 real(kind=rb) :: speccomb_planck, specparm_planck, specmult_planck, fpl real(kind=rb) :: p, p4, fk0, fk1, fk2 real(kind=rb) :: fac000, fac100, fac200, fac010, fac110, fac210 real(kind=rb) :: fac001, fac101, fac201, fac011, fac111, fac211 real(kind=rb) :: tauself, taufor real(kind=rb) :: refrat_planck_a real(kind=rb) :: tau_major, tau_major1 ! Calculate reference ratio to be used in calculation of Planck ! fraction in lower/upper atmosphere. ! P = 174.164 mb refrat_planck_a = chi_mls(1,10)/chi_mls(2,10) ! Compute the optical depth by interpolating in ln(pressure), ! temperature, and appropriate species. Below laytrop, the water ! vapor self-continuum adn foreign continuum is interpolated ! (in temperature) separately. ! Lower atmosphere loop do lay = 1, laytrop speccomb = colh2o(lay) + rat_h2oco2(lay)*colco2(lay) specparm = colh2o(lay)/speccomb if (specparm .ge. oneminus) specparm = oneminus specmult = 8._rb*(specparm) js = 1 + int(specmult) fs = mod(specmult,1.0_rb) speccomb1 = colh2o(lay) + rat_h2oco2_1(lay)*colco2(lay) specparm1 = colh2o(lay)/speccomb1 if (specparm1 .ge. oneminus) specparm1 = oneminus specmult1 = 8._rb*(specparm1) js1 = 1 + int(specmult1) fs1 = mod(specmult1,1.0_rb) speccomb_planck = colh2o(lay)+refrat_planck_a*colco2(lay) specparm_planck = colh2o(lay)/speccomb_planck if (specparm_planck .ge. oneminus) specparm_planck=oneminus specmult_planck = 8._rb*specparm_planck jpl= 1 + int(specmult_planck) fpl = mod(specmult_planck,1.0_rb) ind0 = ((jp(lay)-1)*5+(jt(lay)-1))*nspa(12) + js ind1 = (jp(lay)*5+(jt1(lay)-1))*nspa(12) + js1 inds = indself(lay) indf = indfor(lay) if (specparm .lt. 0.125_rb) then p = fs - 1 p4 = p**4 fk0 = p4 fk1 = 1 - p - 2.0_rb*p4 fk2 = p + p4 fac000 = fk0*fac00(lay) fac100 = fk1*fac00(lay) fac200 = fk2*fac00(lay) fac010 = fk0*fac10(lay) fac110 = fk1*fac10(lay) fac210 = fk2*fac10(lay) else if (specparm .gt. 0.875_rb) then p = -fs p4 = p**4 fk0 = p4 fk1 = 1 - p - 2.0_rb*p4 fk2 = p + p4 fac000 = fk0*fac00(lay) fac100 = fk1*fac00(lay) fac200 = fk2*fac00(lay) fac010 = fk0*fac10(lay) fac110 = fk1*fac10(lay) fac210 = fk2*fac10(lay) else fac000 = (1._rb - fs) * fac00(lay) fac010 = (1._rb - fs) * fac10(lay) fac100 = fs * fac00(lay) fac110 = fs * fac10(lay) endif if (specparm1 .lt. 0.125_rb) then p = fs1 - 1 p4 = p**4 fk0 = p4 fk1 = 1 - p - 2.0_rb*p4 fk2 = p + p4 fac001 = fk0*fac01(lay) fac101 = fk1*fac01(lay) fac201 = fk2*fac01(lay) fac011 = fk0*fac11(lay) fac111 = fk1*fac11(lay) fac211 = fk2*fac11(lay) else if (specparm1 .gt. 0.875_rb) then p = -fs1 p4 = p**4 fk0 = p4 fk1 = 1 - p - 2.0_rb*p4 fk2 = p + p4 fac001 = fk0*fac01(lay) fac101 = fk1*fac01(lay) fac201 = fk2*fac01(lay) fac011 = fk0*fac11(lay) fac111 = fk1*fac11(lay) fac211 = fk2*fac11(lay) else fac001 = (1._rb - fs1) * fac01(lay) fac011 = (1._rb - fs1) * fac11(lay) fac101 = fs1 * fac01(lay) fac111 = fs1 * fac11(lay) endif do ig = 1, ng12 tauself = selffac(lay)* (selfref(inds,ig) + selffrac(lay) * & (selfref(inds+1,ig) - selfref(inds,ig))) taufor = forfac(lay) * (forref(indf,ig) + forfrac(lay) * & (forref(indf+1,ig) - forref(indf,ig))) if (specparm .lt. 0.125_rb) then tau_major = speccomb * & (fac000 * absa(ind0,ig) + & fac100 * absa(ind0+1,ig) + & fac200 * absa(ind0+2,ig) + & fac010 * absa(ind0+9,ig) + & fac110 * absa(ind0+10,ig) + & fac210 * absa(ind0+11,ig)) else if (specparm .gt. 0.875_rb) then tau_major = speccomb * & (fac200 * absa(ind0-1,ig) + & fac100 * absa(ind0,ig) + & fac000 * absa(ind0+1,ig) + & fac210 * absa(ind0+8,ig) + & fac110 * absa(ind0+9,ig) + & fac010 * absa(ind0+10,ig)) else tau_major = speccomb * & (fac000 * absa(ind0,ig) + & fac100 * absa(ind0+1,ig) + & fac010 * absa(ind0+9,ig) + & fac110 * absa(ind0+10,ig)) endif if (specparm1 .lt. 0.125_rb) then tau_major1 = speccomb1 * & (fac001 * absa(ind1,ig) + & fac101 * absa(ind1+1,ig) + & fac201 * absa(ind1+2,ig) + & fac011 * absa(ind1+9,ig) + & fac111 * absa(ind1+10,ig) + & fac211 * absa(ind1+11,ig)) else if (specparm1 .gt. 0.875_rb) then tau_major1 = speccomb1 * & (fac201 * absa(ind1-1,ig) + & fac101 * absa(ind1,ig) + & fac001 * absa(ind1+1,ig) + & fac211 * absa(ind1+8,ig) + & fac111 * absa(ind1+9,ig) + & fac011 * absa(ind1+10,ig)) else tau_major1 = speccomb1 * & (fac001 * absa(ind1,ig) + & fac101 * absa(ind1+1,ig) + & fac011 * absa(ind1+9,ig) + & fac111 * absa(ind1+10,ig)) endif taug(lay,ngs11+ig) = tau_major + tau_major1 & + tauself + taufor fracs(lay,ngs11+ig) = fracrefa(ig,jpl) + fpl * & (fracrefa(ig,jpl+1)-fracrefa(ig,jpl)) enddo enddo ! Upper atmosphere loop do lay = laytrop+1, nlayers do ig = 1, ng12 taug(lay,ngs11+ig) = 0.0_rb fracs(lay,ngs11+ig) = 0.0_rb enddo enddo end subroutine taugb12 !---------------------------------------------------------------------------- subroutine taugb13 !---------------------------------------------------------------------------- ! ! band 13: 2080-2250 cm-1 (low key - h2o,n2o; high minor - o3 minor) !---------------------------------------------------------------------------- ! ------- Modules ------- use parrrtm, only : ng13, ngs12 use rrlw_ref, only : chi_mls use rrlw_kg13, only : fracrefa, fracrefb, absa, ka, & ka_mco2, ka_mco, kb_mo3, selfref, forref ! ------- Declarations ------- ! Local integer(kind=im) :: lay, ind0, ind1, inds, indf, indm, ig integer(kind=im) :: js, js1, jmco2, jmco, jpl real(kind=rb) :: speccomb, specparm, specmult, fs real(kind=rb) :: speccomb1, specparm1, specmult1, fs1 real(kind=rb) :: speccomb_mco2, specparm_mco2, specmult_mco2, fmco2 real(kind=rb) :: speccomb_mco, specparm_mco, specmult_mco, fmco real(kind=rb) :: speccomb_planck, specparm_planck, specmult_planck, fpl real(kind=rb) :: p, p4, fk0, fk1, fk2 real(kind=rb) :: fac000, fac100, fac200, fac010, fac110, fac210 real(kind=rb) :: fac001, fac101, fac201, fac011, fac111, fac211 real(kind=rb) :: tauself, taufor, co2m1, co2m2, absco2 real(kind=rb) :: com1, com2, absco, abso3 real(kind=rb) :: chi_co2, ratco2, adjfac, adjcolco2 real(kind=rb) :: refrat_planck_a, refrat_m_a, refrat_m_a3 real(kind=rb) :: tau_major, tau_major1 ! Minor gas mapping levels : ! lower - co2, p = 1053.63 mb, t = 294.2 k ! lower - co, p = 706 mb, t = 278.94 k ! upper - o3, p = 95.5835 mb, t = 215.7 k ! Calculate reference ratio to be used in calculation of Planck ! fraction in lower/upper atmosphere. ! P = 473.420 mb (Level 5) refrat_planck_a = chi_mls(1,5)/chi_mls(4,5) ! P = 1053. (Level 1) refrat_m_a = chi_mls(1,1)/chi_mls(4,1) ! P = 706. (Level 3) refrat_m_a3 = chi_mls(1,3)/chi_mls(4,3) ! Compute the optical depth by interpolating in ln(pressure), ! temperature, and appropriate species. Below laytrop, the water ! vapor self-continuum and foreign continuum is interpolated ! (in temperature) separately. ! Lower atmosphere loop do lay = 1, laytrop speccomb = colh2o(lay) + rat_h2on2o(lay)*coln2o(lay) specparm = colh2o(lay)/speccomb if (specparm .ge. oneminus) specparm = oneminus specmult = 8._rb*(specparm) js = 1 + int(specmult) fs = mod(specmult,1.0_rb) speccomb1 = colh2o(lay) + rat_h2on2o_1(lay)*coln2o(lay) specparm1 = colh2o(lay)/speccomb1 if (specparm1 .ge. oneminus) specparm1 = oneminus specmult1 = 8._rb*(specparm1) js1 = 1 + int(specmult1) fs1 = mod(specmult1,1.0_rb) speccomb_mco2 = colh2o(lay) + refrat_m_a*coln2o(lay) specparm_mco2 = colh2o(lay)/speccomb_mco2 if (specparm_mco2 .ge. oneminus) specparm_mco2 = oneminus specmult_mco2 = 8._rb*specparm_mco2 jmco2 = 1 + int(specmult_mco2) fmco2 = mod(specmult_mco2,1.0_rb) ! In atmospheres where the amount of CO2 is too great to be considered ! a minor species, adjust the column amount of CO2 by an empirical factor ! to obtain the proper contribution. chi_co2 = colco2(lay)/(coldry(lay)) ratco2 = 1.e20_rb*chi_co2/3.55e-4_rb if (ratco2 .gt. 3.0_rb) then adjfac = 2.0_rb+(ratco2-2.0_rb)**0.68_rb adjcolco2 = adjfac*3.55e-4*coldry(lay)*1.e-20_rb else adjcolco2 = colco2(lay) endif speccomb_mco = colh2o(lay) + refrat_m_a3*coln2o(lay) specparm_mco = colh2o(lay)/speccomb_mco if (specparm_mco .ge. oneminus) specparm_mco = oneminus specmult_mco = 8._rb*specparm_mco jmco = 1 + int(specmult_mco) fmco = mod(specmult_mco,1.0_rb) speccomb_planck = colh2o(lay)+refrat_planck_a*coln2o(lay) specparm_planck = colh2o(lay)/speccomb_planck if (specparm_planck .ge. oneminus) specparm_planck=oneminus specmult_planck = 8._rb*specparm_planck jpl= 1 + int(specmult_planck) fpl = mod(specmult_planck,1.0_rb) ind0 = ((jp(lay)-1)*5+(jt(lay)-1))*nspa(13) + js ind1 = (jp(lay)*5+(jt1(lay)-1))*nspa(13) + js1 inds = indself(lay) indf = indfor(lay) indm = indminor(lay) if (specparm .lt. 0.125_rb) then p = fs - 1 p4 = p**4 fk0 = p4 fk1 = 1 - p - 2.0_rb*p4 fk2 = p + p4 fac000 = fk0*fac00(lay) fac100 = fk1*fac00(lay) fac200 = fk2*fac00(lay) fac010 = fk0*fac10(lay) fac110 = fk1*fac10(lay) fac210 = fk2*fac10(lay) else if (specparm .gt. 0.875_rb) then p = -fs p4 = p**4 fk0 = p4 fk1 = 1 - p - 2.0_rb*p4 fk2 = p + p4 fac000 = fk0*fac00(lay) fac100 = fk1*fac00(lay) fac200 = fk2*fac00(lay) fac010 = fk0*fac10(lay) fac110 = fk1*fac10(lay) fac210 = fk2*fac10(lay) else fac000 = (1._rb - fs) * fac00(lay) fac010 = (1._rb - fs) * fac10(lay) fac100 = fs * fac00(lay) fac110 = fs * fac10(lay) endif if (specparm1 .lt. 0.125_rb) then p = fs1 - 1 p4 = p**4 fk0 = p4 fk1 = 1 - p - 2.0_rb*p4 fk2 = p + p4 fac001 = fk0*fac01(lay) fac101 = fk1*fac01(lay) fac201 = fk2*fac01(lay) fac011 = fk0*fac11(lay) fac111 = fk1*fac11(lay) fac211 = fk2*fac11(lay) else if (specparm1 .gt. 0.875_rb) then p = -fs1 p4 = p**4 fk0 = p4 fk1 = 1 - p - 2.0_rb*p4 fk2 = p + p4 fac001 = fk0*fac01(lay) fac101 = fk1*fac01(lay) fac201 = fk2*fac01(lay) fac011 = fk0*fac11(lay) fac111 = fk1*fac11(lay) fac211 = fk2*fac11(lay) else fac001 = (1._rb - fs1) * fac01(lay) fac011 = (1._rb - fs1) * fac11(lay) fac101 = fs1 * fac01(lay) fac111 = fs1 * fac11(lay) endif do ig = 1, ng13 tauself = selffac(lay)* (selfref(inds,ig) + selffrac(lay) * & (selfref(inds+1,ig) - selfref(inds,ig))) taufor = forfac(lay) * (forref(indf,ig) + forfrac(lay) * & (forref(indf+1,ig) - forref(indf,ig))) co2m1 = ka_mco2(jmco2,indm,ig) + fmco2 * & (ka_mco2(jmco2+1,indm,ig) - ka_mco2(jmco2,indm,ig)) co2m2 = ka_mco2(jmco2,indm+1,ig) + fmco2 * & (ka_mco2(jmco2+1,indm+1,ig) - ka_mco2(jmco2,indm+1,ig)) absco2 = co2m1 + minorfrac(lay) * (co2m2 - co2m1) com1 = ka_mco(jmco,indm,ig) + fmco * & (ka_mco(jmco+1,indm,ig) - ka_mco(jmco,indm,ig)) com2 = ka_mco(jmco,indm+1,ig) + fmco * & (ka_mco(jmco+1,indm+1,ig) - ka_mco(jmco,indm+1,ig)) absco = com1 + minorfrac(lay) * (com2 - com1) if (specparm .lt. 0.125_rb) then tau_major = speccomb * & (fac000 * absa(ind0,ig) + & fac100 * absa(ind0+1,ig) + & fac200 * absa(ind0+2,ig) + & fac010 * absa(ind0+9,ig) + & fac110 * absa(ind0+10,ig) + & fac210 * absa(ind0+11,ig)) else if (specparm .gt. 0.875_rb) then tau_major = speccomb * & (fac200 * absa(ind0-1,ig) + & fac100 * absa(ind0,ig) + & fac000 * absa(ind0+1,ig) + & fac210 * absa(ind0+8,ig) + & fac110 * absa(ind0+9,ig) + & fac010 * absa(ind0+10,ig)) else tau_major = speccomb * & (fac000 * absa(ind0,ig) + & fac100 * absa(ind0+1,ig) + & fac010 * absa(ind0+9,ig) + & fac110 * absa(ind0+10,ig)) endif if (specparm1 .lt. 0.125_rb) then tau_major1 = speccomb1 * & (fac001 * absa(ind1,ig) + & fac101 * absa(ind1+1,ig) + & fac201 * absa(ind1+2,ig) + & fac011 * absa(ind1+9,ig) + & fac111 * absa(ind1+10,ig) + & fac211 * absa(ind1+11,ig)) else if (specparm1 .gt. 0.875_rb) then tau_major1 = speccomb1 * & (fac201 * absa(ind1-1,ig) + & fac101 * absa(ind1,ig) + & fac001 * absa(ind1+1,ig) + & fac211 * absa(ind1+8,ig) + & fac111 * absa(ind1+9,ig) + & fac011 * absa(ind1+10,ig)) else tau_major1 = speccomb1 * & (fac001 * absa(ind1,ig) + & fac101 * absa(ind1+1,ig) + & fac011 * absa(ind1+9,ig) + & fac111 * absa(ind1+10,ig)) endif taug(lay,ngs12+ig) = tau_major + tau_major1 & + tauself + taufor & + adjcolco2*absco2 & + colco(lay)*absco fracs(lay,ngs12+ig) = fracrefa(ig,jpl) + fpl * & (fracrefa(ig,jpl+1)-fracrefa(ig,jpl)) enddo enddo ! Upper atmosphere loop do lay = laytrop+1, nlayers indm = indminor(lay) do ig = 1, ng13 abso3 = kb_mo3(indm,ig) + minorfrac(lay) * & (kb_mo3(indm+1,ig) - kb_mo3(indm,ig)) taug(lay,ngs12+ig) = colo3(lay)*abso3 fracs(lay,ngs12+ig) = fracrefb(ig) enddo enddo end subroutine taugb13 !---------------------------------------------------------------------------- subroutine taugb14 !---------------------------------------------------------------------------- ! ! band 14: 2250-2380 cm-1 (low - co2; high - co2) !---------------------------------------------------------------------------- ! ------- Modules ------- use parrrtm, only : ng14, ngs13 use rrlw_kg14, only : fracrefa, fracrefb, absa, ka, absb, kb, & selfref, forref ! ------- Declarations ------- ! Local integer(kind=im) :: lay, ind0, ind1, inds, indf, ig real(kind=rb) :: tauself, taufor ! Compute the optical depth by interpolating in ln(pressure) and ! temperature. Below laytrop, the water vapor self-continuum ! and foreign continuum is interpolated (in temperature) separately. ! Lower atmosphere loop do lay = 1, laytrop ind0 = ((jp(lay)-1)*5+(jt(lay)-1))*nspa(14) + 1 ind1 = (jp(lay)*5+(jt1(lay)-1))*nspa(14) + 1 inds = indself(lay) indf = indfor(lay) do ig = 1, ng14 tauself = selffac(lay) * (selfref(inds,ig) + selffrac(lay) * & (selfref(inds+1,ig) - selfref(inds,ig))) taufor = forfac(lay) * (forref(indf,ig) + forfrac(lay) * & (forref(indf+1,ig) - forref(indf,ig))) taug(lay,ngs13+ig) = colco2(lay) * & (fac00(lay) * absa(ind0,ig) + & fac10(lay) * absa(ind0+1,ig) + & fac01(lay) * absa(ind1,ig) + & fac11(lay) * absa(ind1+1,ig)) & + tauself + taufor fracs(lay,ngs13+ig) = fracrefa(ig) enddo enddo ! Upper atmosphere loop do lay = laytrop+1, nlayers ind0 = ((jp(lay)-13)*5+(jt(lay)-1))*nspb(14) + 1 ind1 = ((jp(lay)-12)*5+(jt1(lay)-1))*nspb(14) + 1 do ig = 1, ng14 taug(lay,ngs13+ig) = colco2(lay) * & (fac00(lay) * absb(ind0,ig) + & fac10(lay) * absb(ind0+1,ig) + & fac01(lay) * absb(ind1,ig) + & fac11(lay) * absb(ind1+1,ig)) fracs(lay,ngs13+ig) = fracrefb(ig) enddo enddo end subroutine taugb14 !---------------------------------------------------------------------------- subroutine taugb15 !---------------------------------------------------------------------------- ! ! band 15: 2380-2600 cm-1 (low - n2o,co2; low minor - n2) ! (high - nothing) !---------------------------------------------------------------------------- ! ------- Modules ------- use parrrtm, only : ng15, ngs14 use rrlw_ref, only : chi_mls use rrlw_kg15, only : fracrefa, absa, ka, & ka_mn2, selfref, forref ! ------- Declarations ------- ! Local integer(kind=im) :: lay, ind0, ind1, inds, indf, indm, ig integer(kind=im) :: js, js1, jmn2, jpl real(kind=rb) :: speccomb, specparm, specmult, fs real(kind=rb) :: speccomb1, specparm1, specmult1, fs1 real(kind=rb) :: speccomb_mn2, specparm_mn2, specmult_mn2, fmn2 real(kind=rb) :: speccomb_planck, specparm_planck, specmult_planck, fpl real(kind=rb) :: p, p4, fk0, fk1, fk2 real(kind=rb) :: fac000, fac100, fac200, fac010, fac110, fac210 real(kind=rb) :: fac001, fac101, fac201, fac011, fac111, fac211 real(kind=rb) :: scalen2, tauself, taufor, n2m1, n2m2, taun2 real(kind=rb) :: refrat_planck_a, refrat_m_a real(kind=rb) :: tau_major, tau_major1 ! Minor gas mapping level : ! Lower - Nitrogen Continuum, P = 1053., T = 294. ! Calculate reference ratio to be used in calculation of Planck ! fraction in lower atmosphere. ! P = 1053. mb (Level 1) refrat_planck_a = chi_mls(4,1)/chi_mls(2,1) ! P = 1053. refrat_m_a = chi_mls(4,1)/chi_mls(2,1) ! Compute the optical depth by interpolating in ln(pressure), ! temperature, and appropriate species. Below laytrop, the water ! vapor self-continuum and foreign continuum is interpolated ! (in temperature) separately. ! Lower atmosphere loop do lay = 1, laytrop speccomb = coln2o(lay) + rat_n2oco2(lay)*colco2(lay) specparm = coln2o(lay)/speccomb if (specparm .ge. oneminus) specparm = oneminus specmult = 8._rb*(specparm) js = 1 + int(specmult) fs = mod(specmult,1.0_rb) speccomb1 = coln2o(lay) + rat_n2oco2_1(lay)*colco2(lay) specparm1 = coln2o(lay)/speccomb1 if (specparm1 .ge. oneminus) specparm1 = oneminus specmult1 = 8._rb*(specparm1) js1 = 1 + int(specmult1) fs1 = mod(specmult1,1.0_rb) speccomb_mn2 = coln2o(lay) + refrat_m_a*colco2(lay) specparm_mn2 = coln2o(lay)/speccomb_mn2 if (specparm_mn2 .ge. oneminus) specparm_mn2 = oneminus specmult_mn2 = 8._rb*specparm_mn2 jmn2 = 1 + int(specmult_mn2) fmn2 = mod(specmult_mn2,1.0_rb) speccomb_planck = coln2o(lay)+refrat_planck_a*colco2(lay) specparm_planck = coln2o(lay)/speccomb_planck if (specparm_planck .ge. oneminus) specparm_planck=oneminus specmult_planck = 8._rb*specparm_planck jpl= 1 + int(specmult_planck) fpl = mod(specmult_planck,1.0_rb) ind0 = ((jp(lay)-1)*5+(jt(lay)-1))*nspa(15) + js ind1 = (jp(lay)*5+(jt1(lay)-1))*nspa(15) + js1 inds = indself(lay) indf = indfor(lay) indm = indminor(lay) scalen2 = colbrd(lay)*scaleminor(lay) if (specparm .lt. 0.125_rb) then p = fs - 1 p4 = p**4 fk0 = p4 fk1 = 1 - p - 2.0_rb*p4 fk2 = p + p4 fac000 = fk0*fac00(lay) fac100 = fk1*fac00(lay) fac200 = fk2*fac00(lay) fac010 = fk0*fac10(lay) fac110 = fk1*fac10(lay) fac210 = fk2*fac10(lay) else if (specparm .gt. 0.875_rb) then p = -fs p4 = p**4 fk0 = p4 fk1 = 1 - p - 2.0_rb*p4 fk2 = p + p4 fac000 = fk0*fac00(lay) fac100 = fk1*fac00(lay) fac200 = fk2*fac00(lay) fac010 = fk0*fac10(lay) fac110 = fk1*fac10(lay) fac210 = fk2*fac10(lay) else fac000 = (1._rb - fs) * fac00(lay) fac010 = (1._rb - fs) * fac10(lay) fac100 = fs * fac00(lay) fac110 = fs * fac10(lay) endif if (specparm1 .lt. 0.125_rb) then p = fs1 - 1 p4 = p**4 fk0 = p4 fk1 = 1 - p - 2.0_rb*p4 fk2 = p + p4 fac001 = fk0*fac01(lay) fac101 = fk1*fac01(lay) fac201 = fk2*fac01(lay) fac011 = fk0*fac11(lay) fac111 = fk1*fac11(lay) fac211 = fk2*fac11(lay) else if (specparm1 .gt. 0.875_rb) then p = -fs1 p4 = p**4 fk0 = p4 fk1 = 1 - p - 2.0_rb*p4 fk2 = p + p4 fac001 = fk0*fac01(lay) fac101 = fk1*fac01(lay) fac201 = fk2*fac01(lay) fac011 = fk0*fac11(lay) fac111 = fk1*fac11(lay) fac211 = fk2*fac11(lay) else fac001 = (1._rb - fs1) * fac01(lay) fac011 = (1._rb - fs1) * fac11(lay) fac101 = fs1 * fac01(lay) fac111 = fs1 * fac11(lay) endif do ig = 1, ng15 tauself = selffac(lay)* (selfref(inds,ig) + selffrac(lay) * & (selfref(inds+1,ig) - selfref(inds,ig))) taufor = forfac(lay) * (forref(indf,ig) + forfrac(lay) * & (forref(indf+1,ig) - forref(indf,ig))) n2m1 = ka_mn2(jmn2,indm,ig) + fmn2 * & (ka_mn2(jmn2+1,indm,ig) - ka_mn2(jmn2,indm,ig)) n2m2 = ka_mn2(jmn2,indm+1,ig) + fmn2 * & (ka_mn2(jmn2+1,indm+1,ig) - ka_mn2(jmn2,indm+1,ig)) taun2 = scalen2 * (n2m1 + minorfrac(lay) * (n2m2 - n2m1)) if (specparm .lt. 0.125_rb) then tau_major = speccomb * & (fac000 * absa(ind0,ig) + & fac100 * absa(ind0+1,ig) + & fac200 * absa(ind0+2,ig) + & fac010 * absa(ind0+9,ig) + & fac110 * absa(ind0+10,ig) + & fac210 * absa(ind0+11,ig)) else if (specparm .gt. 0.875_rb) then tau_major = speccomb * & (fac200 * absa(ind0-1,ig) + & fac100 * absa(ind0,ig) + & fac000 * absa(ind0+1,ig) + & fac210 * absa(ind0+8,ig) + & fac110 * absa(ind0+9,ig) + & fac010 * absa(ind0+10,ig)) else tau_major = speccomb * & (fac000 * absa(ind0,ig) + & fac100 * absa(ind0+1,ig) + & fac010 * absa(ind0+9,ig) + & fac110 * absa(ind0+10,ig)) endif if (specparm1 .lt. 0.125_rb) then tau_major1 = speccomb1 * & (fac001 * absa(ind1,ig) + & fac101 * absa(ind1+1,ig) + & fac201 * absa(ind1+2,ig) + & fac011 * absa(ind1+9,ig) + & fac111 * absa(ind1+10,ig) + & fac211 * absa(ind1+11,ig)) else if (specparm1 .gt. 0.875_rb) then tau_major1 = speccomb1 * & (fac201 * absa(ind1-1,ig) + & fac101 * absa(ind1,ig) + & fac001 * absa(ind1+1,ig) + & fac211 * absa(ind1+8,ig) + & fac111 * absa(ind1+9,ig) + & fac011 * absa(ind1+10,ig)) else tau_major1 = speccomb1 * & (fac001 * absa(ind1,ig) + & fac101 * absa(ind1+1,ig) + & fac011 * absa(ind1+9,ig) + & fac111 * absa(ind1+10,ig)) endif taug(lay,ngs14+ig) = tau_major + tau_major1 & + tauself + taufor & + taun2 fracs(lay,ngs14+ig) = fracrefa(ig,jpl) + fpl * & (fracrefa(ig,jpl+1)-fracrefa(ig,jpl)) enddo enddo ! Upper atmosphere loop do lay = laytrop+1, nlayers do ig = 1, ng15 taug(lay,ngs14+ig) = 0.0_rb fracs(lay,ngs14+ig) = 0.0_rb enddo enddo end subroutine taugb15 !---------------------------------------------------------------------------- subroutine taugb16 !---------------------------------------------------------------------------- ! ! band 16: 2600-3250 cm-1 (low key- h2o,ch4; high key - ch4) !---------------------------------------------------------------------------- ! ------- Modules ------- use parrrtm, only : ng16, ngs15 use rrlw_ref, only : chi_mls use rrlw_kg16, only : fracrefa, fracrefb, absa, ka, absb, kb, & selfref, forref ! ------- Declarations ------- ! Local integer(kind=im) :: lay, ind0, ind1, inds, indf, ig integer(kind=im) :: js, js1, jpl real(kind=rb) :: speccomb, specparm, specmult, fs real(kind=rb) :: speccomb1, specparm1, specmult1, fs1 real(kind=rb) :: speccomb_planck, specparm_planck, specmult_planck, fpl real(kind=rb) :: p, p4, fk0, fk1, fk2 real(kind=rb) :: fac000, fac100, fac200, fac010, fac110, fac210 real(kind=rb) :: fac001, fac101, fac201, fac011, fac111, fac211 real(kind=rb) :: tauself, taufor real(kind=rb) :: refrat_planck_a real(kind=rb) :: tau_major, tau_major1 ! Calculate reference ratio to be used in calculation of Planck ! fraction in lower atmosphere. ! P = 387. mb (Level 6) refrat_planck_a = chi_mls(1,6)/chi_mls(6,6) ! Compute the optical depth by interpolating in ln(pressure), ! temperature,and appropriate species. Below laytrop, the water ! vapor self-continuum and foreign continuum is interpolated ! (in temperature) separately. ! Lower atmosphere loop do lay = 1, laytrop speccomb = colh2o(lay) + rat_h2och4(lay)*colch4(lay) specparm = colh2o(lay)/speccomb if (specparm .ge. oneminus) specparm = oneminus specmult = 8._rb*(specparm) js = 1 + int(specmult) fs = mod(specmult,1.0_rb) speccomb1 = colh2o(lay) + rat_h2och4_1(lay)*colch4(lay) specparm1 = colh2o(lay)/speccomb1 if (specparm1 .ge. oneminus) specparm1 = oneminus specmult1 = 8._rb*(specparm1) js1 = 1 + int(specmult1) fs1 = mod(specmult1,1.0_rb) speccomb_planck = colh2o(lay)+refrat_planck_a*colch4(lay) specparm_planck = colh2o(lay)/speccomb_planck if (specparm_planck .ge. oneminus) specparm_planck=oneminus specmult_planck = 8._rb*specparm_planck jpl= 1 + int(specmult_planck) fpl = mod(specmult_planck,1.0_rb) ind0 = ((jp(lay)-1)*5+(jt(lay)-1))*nspa(16) + js ind1 = (jp(lay)*5+(jt1(lay)-1))*nspa(16) + js1 inds = indself(lay) indf = indfor(lay) if (specparm .lt. 0.125_rb) then p = fs - 1 p4 = p**4 fk0 = p4 fk1 = 1 - p - 2.0_rb*p4 fk2 = p + p4 fac000 = fk0*fac00(lay) fac100 = fk1*fac00(lay) fac200 = fk2*fac00(lay) fac010 = fk0*fac10(lay) fac110 = fk1*fac10(lay) fac210 = fk2*fac10(lay) else if (specparm .gt. 0.875_rb) then p = -fs p4 = p**4 fk0 = p4 fk1 = 1 - p - 2.0_rb*p4 fk2 = p + p4 fac000 = fk0*fac00(lay) fac100 = fk1*fac00(lay) fac200 = fk2*fac00(lay) fac010 = fk0*fac10(lay) fac110 = fk1*fac10(lay) fac210 = fk2*fac10(lay) else fac000 = (1._rb - fs) * fac00(lay) fac010 = (1._rb - fs) * fac10(lay) fac100 = fs * fac00(lay) fac110 = fs * fac10(lay) endif if (specparm1 .lt. 0.125_rb) then p = fs1 - 1 p4 = p**4 fk0 = p4 fk1 = 1 - p - 2.0_rb*p4 fk2 = p + p4 fac001 = fk0*fac01(lay) fac101 = fk1*fac01(lay) fac201 = fk2*fac01(lay) fac011 = fk0*fac11(lay) fac111 = fk1*fac11(lay) fac211 = fk2*fac11(lay) else if (specparm1 .gt. 0.875_rb) then p = -fs1 p4 = p**4 fk0 = p4 fk1 = 1 - p - 2.0_rb*p4 fk2 = p + p4 fac001 = fk0*fac01(lay) fac101 = fk1*fac01(lay) fac201 = fk2*fac01(lay) fac011 = fk0*fac11(lay) fac111 = fk1*fac11(lay) fac211 = fk2*fac11(lay) else fac001 = (1._rb - fs1) * fac01(lay) fac011 = (1._rb - fs1) * fac11(lay) fac101 = fs1 * fac01(lay) fac111 = fs1 * fac11(lay) endif do ig = 1, ng16 tauself = selffac(lay)* (selfref(inds,ig) + selffrac(lay) * & (selfref(inds+1,ig) - selfref(inds,ig))) taufor = forfac(lay) * (forref(indf,ig) + forfrac(lay) * & (forref(indf+1,ig) - forref(indf,ig))) if (specparm .lt. 0.125_rb) then tau_major = speccomb * & (fac000 * absa(ind0,ig) + & fac100 * absa(ind0+1,ig) + & fac200 * absa(ind0+2,ig) + & fac010 * absa(ind0+9,ig) + & fac110 * absa(ind0+10,ig) + & fac210 * absa(ind0+11,ig)) else if (specparm .gt. 0.875_rb) then tau_major = speccomb * & (fac200 * absa(ind0-1,ig) + & fac100 * absa(ind0,ig) + & fac000 * absa(ind0+1,ig) + & fac210 * absa(ind0+8,ig) + & fac110 * absa(ind0+9,ig) + & fac010 * absa(ind0+10,ig)) else tau_major = speccomb * & (fac000 * absa(ind0,ig) + & fac100 * absa(ind0+1,ig) + & fac010 * absa(ind0+9,ig) + & fac110 * absa(ind0+10,ig)) endif if (specparm1 .lt. 0.125_rb) then tau_major1 = speccomb1 * & (fac001 * absa(ind1,ig) + & fac101 * absa(ind1+1,ig) + & fac201 * absa(ind1+2,ig) + & fac011 * absa(ind1+9,ig) + & fac111 * absa(ind1+10,ig) + & fac211 * absa(ind1+11,ig)) else if (specparm1 .gt. 0.875_rb) then tau_major1 = speccomb1 * & (fac201 * absa(ind1-1,ig) + & fac101 * absa(ind1,ig) + & fac001 * absa(ind1+1,ig) + & fac211 * absa(ind1+8,ig) + & fac111 * absa(ind1+9,ig) + & fac011 * absa(ind1+10,ig)) else tau_major1 = speccomb1 * & (fac001 * absa(ind1,ig) + & fac101 * absa(ind1+1,ig) + & fac011 * absa(ind1+9,ig) + & fac111 * absa(ind1+10,ig)) endif taug(lay,ngs15+ig) = tau_major + tau_major1 & + tauself + taufor fracs(lay,ngs15+ig) = fracrefa(ig,jpl) + fpl * & (fracrefa(ig,jpl+1)-fracrefa(ig,jpl)) enddo enddo ! Upper atmosphere loop do lay = laytrop+1, nlayers ind0 = ((jp(lay)-13)*5+(jt(lay)-1))*nspb(16) + 1 ind1 = ((jp(lay)-12)*5+(jt1(lay)-1))*nspb(16) + 1 do ig = 1, ng16 taug(lay,ngs15+ig) = colch4(lay) * & (fac00(lay) * absb(ind0,ig) + & fac10(lay) * absb(ind0+1,ig) + & fac01(lay) * absb(ind1,ig) + & fac11(lay) * absb(ind1+1,ig)) fracs(lay,ngs15+ig) = fracrefb(ig) enddo enddo end subroutine taugb16 end subroutine taumol end module rrtmg_lw_taumol ================================================ FILE: GeosRad/rrtmg_sw_cldprmc.F90 ================================================ ! path: $Source: /storm/rc1/cvsroot/rc/rrtmg_sw/src/rrtmg_sw_cldprmc.f90,v $ ! author: $Author: mike $ ! revision: $Revision: 1.7 $ ! created: $Date: 2009/02/09 19:45:54 $ module rrtmg_sw_cldprmc ! -------------------------------------------------------------------------- ! | | ! | Copyright 2002-2008, Atmospheric & Environmental Research, Inc. (AER). | ! | This software may be used, copied, or redistributed as long as it is | ! | not sold and this copyright notice is reproduced on each copy made. | ! | This model is provided as is without any express or implied warranties. | ! | (http://www.rtweb.aer.com/) | ! | | ! -------------------------------------------------------------------------- ! ------- Modules ------- use parkind, only : im => kind_im, rb => kind_rb use parrrsw, only : ngptsw, jpband, jpb1, jpb2 use rrsw_cld, only : extliq1, ssaliq1, asyliq1, & extice2, ssaice2, asyice2, & extice3, ssaice3, asyice3, fdlice3, & abari, bbari, cbari, dbari, ebari, fbari use rrsw_wvn, only : wavenum1, wavenum2, ngb use rrsw_vsn, only : hvrclc, hnamclc implicit none contains ! ---------------------------------------------------------------------------- subroutine cldprmc_sw(nlayers, inflag, iceflag, liqflag, cldfmc, & ciwpmc, clwpmc, reicmc, relqmc, & taormc, taucmc, ssacmc, asmcmc, fsfcmc) ! ---------------------------------------------------------------------------- ! Purpose: Compute the cloud optical properties for each cloudy layer ! and g-point interval for use by the McICA method. ! Note: Only inflag = 0 and inflag=2/liqflag=1/iceflag=1,2,3 are available; ! (Hu & Stamnes, Ebert and Curry, Key, and Fu) are implemented. ! ------- Input ------- integer(kind=im), intent(in) :: nlayers ! total number of layers integer(kind=im), intent(in) :: inflag ! see definitions integer(kind=im), intent(in) :: iceflag ! see definitions integer(kind=im), intent(in) :: liqflag ! see definitions real(kind=rb), intent(in) :: cldfmc(:,:) ! cloud fraction [mcica] ! Dimensions: (ngptsw,nlayers) real(kind=rb), intent(in) :: ciwpmc(:,:) ! cloud ice water path [mcica] ! Dimensions: (ngptsw,nlayers) real(kind=rb), intent(in) :: clwpmc(:,:) ! cloud liquid water path [mcica] ! Dimensions: (ngptsw,nlayers) real(kind=rb), intent(in) :: relqmc(:) ! cloud liquid particle effective radius (microns) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: reicmc(:) ! cloud ice particle effective radius (microns) ! Dimensions: (nlayers) ! specific definition of reicmc depends on setting of iceflag: ! iceflag = 0: (inactive) ! ! iceflag = 1: ice effective radius, r_ec, (Ebert and Curry, 1992), ! r_ec range is limited to 13.0 to 130.0 microns ! iceflag = 2: ice effective radius, r_k, (Key, Streamer Ref. Manual, 1996) ! r_k range is limited to 5.0 to 131.0 microns ! iceflag = 3: generalized effective size, dge, (Fu, 1996), ! dge range is limited to 5.0 to 140.0 microns ! [dge = 1.0315 * r_ec] real(kind=rb), intent(in) :: fsfcmc(:,:) ! cloud forward scattering fraction ! Dimensions: (ngptsw,nlayers) ! ------- Output ------- real(kind=rb), intent(inout) :: taucmc(:,:) ! cloud optical depth (delta scaled) ! Dimensions: (ngptsw,nlayers) real(kind=rb), intent(inout) :: ssacmc(:,:) ! single scattering albedo (delta scaled) ! Dimensions: (ngptsw,nlayers) real(kind=rb), intent(inout) :: asmcmc(:,:) ! asymmetry parameter (delta scaled) ! Dimensions: (ngptsw,nlayers) real(kind=rb), intent(out) :: taormc(:,:) ! cloud optical depth (non-delta scaled) ! Dimensions: (ngptsw,nlayers) ! ------- Local ------- ! integer(kind=im) :: ncbands integer(kind=im) :: ib, lay, istr, index, icx, ig real(kind=rb), parameter :: eps = 1.e-06_rb ! epsilon real(kind=rb), parameter :: cldmin = 1.e-20_rb ! minimum value for cloud quantities real(kind=rb) :: cwp ! total cloud water path real(kind=rb) :: radliq ! cloud liquid droplet radius (microns) real(kind=rb) :: radice ! cloud ice effective size (microns) real(kind=rb) :: factor real(kind=rb) :: fint real(kind=rb) :: taucldorig_a, taucloud_a, ssacloud_a, ffp, ffp1, ffpssa real(kind=rb) :: tauiceorig, scatice, ssaice, tauice, tauliqorig, scatliq, ssaliq, tauliq real(kind=rb) :: fdelta(ngptsw) real(kind=rb) :: extcoice(ngptsw), gice(ngptsw) real(kind=rb) :: ssacoice(ngptsw), forwice(ngptsw) real(kind=rb) :: extcoliq(ngptsw), gliq(ngptsw) real(kind=rb) :: ssacoliq(ngptsw), forwliq(ngptsw) ! Initialize hvrclc = '$Revision: 1.7 $' ! Some of these initializations are done elsewhere do lay = 1, nlayers do ig = 1, ngptsw taormc(ig,lay) = taucmc(ig,lay) ! taucmc(ig,lay) = 0.0_rb ! ssacmc(ig,lay) = 1.0_rb ! asmcmc(ig,lay) = 0.0_rb enddo enddo ! Main layer loop do lay = 1, nlayers ! Main g-point interval loop do ig = 1, ngptsw cwp = ciwpmc(ig,lay) + clwpmc(ig,lay) if (cldfmc(ig,lay) .ge. cldmin .and. & (cwp .ge. cldmin .or. taucmc(ig,lay) .ge. cldmin)) then ! (inflag=0): Cloud optical properties input directly if (inflag .eq. 0) then ! Cloud optical properties already defined in taucmc, ssacmc, asmcmc are unscaled; ! Apply delta-M scaling here (using Henyey-Greenstein approximation) taucldorig_a = taucmc(ig,lay) ffp = fsfcmc(ig,lay) ffp1 = 1.0_rb - ffp ffpssa = 1.0_rb - ffp * ssacmc(ig,lay) ssacloud_a = ffp1 * ssacmc(ig,lay) / ffpssa taucloud_a = ffpssa * taucldorig_a taormc(ig,lay) = taucldorig_a ssacmc(ig,lay) = ssacloud_a taucmc(ig,lay) = taucloud_a asmcmc(ig,lay) = (asmcmc(ig,lay) - ffp) / (ffp1) elseif (inflag .eq. 1) then stop 'INFLAG = 1 OPTION NOT AVAILABLE WITH MCICA' ! (inflag=2): Separate treatement of ice clouds and water clouds. elseif (inflag .eq. 2) then radice = reicmc(lay) ! Calculation of absorption coefficients due to ice clouds. if (ciwpmc(ig,lay) .eq. 0.0_rb) then extcoice(ig) = 0.0_rb ssacoice(ig) = 0.0_rb gice(ig) = 0.0_rb forwice(ig) = 0.0_rb ! (iceflag = 1): ! Note: This option uses Ebert and Curry approach for all particle sizes similar to ! CAM3 implementation, though this is somewhat unjustified for large ice particles elseif (iceflag .eq. 1) then ib = ngb(ig) if (wavenum2(ib) .gt. 1.43e04_rb) then icx = 1 elseif (wavenum2(ib) .gt. 7.7e03_rb) then icx = 2 elseif (wavenum2(ib) .gt. 5.3e03_rb) then icx = 3 elseif (wavenum2(ib) .gt. 4.0e03_rb) then icx = 4 elseif (wavenum2(ib) .ge. 2.5e03_rb) then icx = 5 endif extcoice(ig) = (abari(icx) + bbari(icx)/radice) ssacoice(ig) = 1._rb - cbari(icx) - dbari(icx) * radice gice(ig) = ebari(icx) + fbari(icx) * radice ! Check to ensure upper limit of gice is within physical limits for large particles if (gice(ig).ge.1._rb) gice(ig) = 1._rb - eps forwice(ig) = gice(ig)*gice(ig) ! Check to ensure all calculated quantities are within physical limits. if (extcoice(ig) .lt. 0.0_rb) stop 'ICE EXTINCTION LESS THAN 0.0' if (ssacoice(ig) .gt. 1.0_rb) stop 'ICE SSA GRTR THAN 1.0' if (ssacoice(ig) .lt. 0.0_rb) stop 'ICE SSA LESS THAN 0.0' if (gice(ig) .gt. 1.0_rb) stop 'ICE ASYM GRTR THAN 1.0' if (gice(ig) .lt. 0.0_rb) stop 'ICE ASYM LESS THAN 0.0' ! For iceflag=2 option, ice particle effective radius is limited to 5.0 to 131.0 microns elseif (iceflag .eq. 2) then if (radice .lt. 5.0_rb .or. radice .gt. 131.0_rb) stop 'ICE RADIUS OUT OF BOUNDS' factor = (radice - 2._rb)/3._rb index = int(factor) if (index .eq. 43) index = 42 fint = factor - float(index) ib = ngb(ig) extcoice(ig) = extice2(index,ib) + fint * & (extice2(index+1,ib) - extice2(index,ib)) ssacoice(ig) = ssaice2(index,ib) + fint * & (ssaice2(index+1,ib) - ssaice2(index,ib)) gice(ig) = asyice2(index,ib) + fint * & (asyice2(index+1,ib) - asyice2(index,ib)) forwice(ig) = gice(ig)*gice(ig) ! Check to ensure all calculated quantities are within physical limits. if (extcoice(ig) .lt. 0.0_rb) stop 'ICE EXTINCTION LESS THAN 0.0' if (ssacoice(ig) .gt. 1.0_rb) stop 'ICE SSA GRTR THAN 1.0' if (ssacoice(ig) .lt. 0.0_rb) stop 'ICE SSA LESS THAN 0.0' if (gice(ig) .gt. 1.0_rb) stop 'ICE ASYM GRTR THAN 1.0' if (gice(ig) .lt. 0.0_rb) stop 'ICE ASYM LESS THAN 0.0' ! For iceflag=3 option, ice particle generalized effective size is limited to 5.0 to 140.0 microns elseif (iceflag .eq. 3) then if (radice .lt. 5.0_rb .or. radice .gt. 140.0_rb) stop 'ICE GENERALIZED EFFECTIVE SIZE OUT OF BOUNDS' factor = (radice - 2._rb)/3._rb index = int(factor) if (index .eq. 46) index = 45 fint = factor - float(index) ib = ngb(ig) extcoice(ig) = extice3(index,ib) + fint * & (extice3(index+1,ib) - extice3(index,ib)) ssacoice(ig) = ssaice3(index,ib) + fint * & (ssaice3(index+1,ib) - ssaice3(index,ib)) gice(ig) = asyice3(index,ib) + fint * & (asyice3(index+1,ib) - asyice3(index,ib)) fdelta(ig) = fdlice3(index,ib) + fint * & (fdlice3(index+1,ib) - fdlice3(index,ib)) if (fdelta(ig) .lt. 0.0_rb) stop 'FDELTA LESS THAN 0.0' if (fdelta(ig) .gt. 1.0_rb) stop 'FDELTA GT THAN 1.0' forwice(ig) = fdelta(ig) + 0.5_rb / ssacoice(ig) ! See Fu 1996 p. 2067 if (forwice(ig) .gt. gice(ig)) forwice(ig) = gice(ig) ! Check to ensure all calculated quantities are within physical limits. if (extcoice(ig) .lt. 0.0_rb) stop 'ICE EXTINCTION LESS THAN 0.0' if (ssacoice(ig) .gt. 1.0_rb) stop 'ICE SSA GRTR THAN 1.0' if (ssacoice(ig) .lt. 0.0_rb) stop 'ICE SSA LESS THAN 0.0' if (gice(ig) .gt. 1.0_rb) stop 'ICE ASYM GRTR THAN 1.0' if (gice(ig) .lt. 0.0_rb) stop 'ICE ASYM LESS THAN 0.0' endif ! Calculation of absorption coefficients due to water clouds. if (clwpmc(ig,lay) .eq. 0.0_rb) then extcoliq(ig) = 0.0_rb ssacoliq(ig) = 0.0_rb gliq(ig) = 0.0_rb forwliq(ig) = 0.0_rb elseif (liqflag .eq. 1) then radliq = relqmc(lay) if (radliq .lt. 1.5_rb .or. radliq .gt. 60._rb) stop & 'liquid effective radius out of bounds' index = int(radliq - 1.5_rb) if (index .eq. 0) index = 1 if (index .eq. 58) index = 57 fint = radliq - 1.5_rb - float(index) ib = ngb(ig) extcoliq(ig) = extliq1(index,ib) + fint * & (extliq1(index+1,ib) - extliq1(index,ib)) ssacoliq(ig) = ssaliq1(index,ib) + fint * & (ssaliq1(index+1,ib) - ssaliq1(index,ib)) if (fint .lt. 0._rb .and. ssacoliq(ig) .gt. 1._rb) & ssacoliq(ig) = ssaliq1(index,ib) gliq(ig) = asyliq1(index,ib) + fint * & (asyliq1(index+1,ib) - asyliq1(index,ib)) forwliq(ig) = gliq(ig)*gliq(ig) ! Check to ensure all calculated quantities are within physical limits. if (extcoliq(ig) .lt. 0.0_rb) stop 'LIQUID EXTINCTION LESS THAN 0.0' if (ssacoliq(ig) .gt. 1.0_rb) stop 'LIQUID SSA GRTR THAN 1.0' if (ssacoliq(ig) .lt. 0.0_rb) stop 'LIQUID SSA LESS THAN 0.0' if (gliq(ig) .gt. 1.0_rb) stop 'LIQUID ASYM GRTR THAN 1.0' if (gliq(ig) .lt. 0.0_rb) stop 'LIQUID ASYM LESS THAN 0.0' endif tauliqorig = clwpmc(ig,lay) * extcoliq(ig) tauiceorig = ciwpmc(ig,lay) * extcoice(ig) taormc(ig,lay) = tauliqorig + tauiceorig ssaliq = ssacoliq(ig) * (1._rb - forwliq(ig)) / & (1._rb - forwliq(ig) * ssacoliq(ig)) tauliq = (1._rb - forwliq(ig) * ssacoliq(ig)) * tauliqorig ssaice = ssacoice(ig) * (1._rb - forwice(ig)) / & (1._rb - forwice(ig) * ssacoice(ig)) tauice = (1._rb - forwice(ig) * ssacoice(ig)) * tauiceorig scatliq = ssaliq * tauliq scatice = ssaice * tauice taucmc(ig,lay) = tauliq + tauice ! Ensure non-zero taucmc and scatice if(taucmc(ig,lay).eq.0.) taucmc(ig,lay) = cldmin if(scatice.eq.0.) scatice = cldmin ssacmc(ig,lay) = (scatliq + scatice) / taucmc(ig,lay) if (iceflag .eq. 3) then ! In accordance with the 1996 Fu paper, equation A.3, ! the moments for ice were calculated depending on whether using spheres ! or hexagonal ice crystals. ! Set asymetry parameter to first moment (istr=1) istr = 1 asmcmc(ig,lay) = (1.0_rb/(scatliq+scatice))* & (scatliq*(gliq(ig)**istr - forwliq(ig)) / & (1.0_rb - forwliq(ig)) + scatice * ((gice(ig)-forwice(ig))/ & (1.0_rb - forwice(ig)))**istr) else ! This code is the standard method for delta-m scaling. ! Set asymetry parameter to first moment (istr=1) istr = 1 asmcmc(ig,lay) = (scatliq * & (gliq(ig)**istr - forwliq(ig)) / & (1.0_rb - forwliq(ig)) + scatice * (gice(ig)**istr - forwice(ig)) / & (1.0_rb - forwice(ig)))/(scatliq + scatice) endif endif endif ! End g-point interval loop enddo ! End layer loop enddo end subroutine cldprmc_sw end module rrtmg_sw_cldprmc ================================================ FILE: GeosRad/rrtmg_sw_cldprop.F90.safe ================================================ ! path: $Source: /storm/rc1/cvsroot/rc/rrtmg_sw/src/rrtmg_sw_cldprop.f90,v $ ! author: $Author: mike $ ! revision: $Revision: 1.7 $ ! created: $Date: 2009/02/09 19:45:55 $ module rrtmg_sw_cldprop ! -------------------------------------------------------------------------- ! | | ! | Copyright 2002-2008, Atmospheric & Environmental Research, Inc. (AER). | ! | This software may be used, copied, or redistributed as long as it is | ! | not sold and this copyright notice is reproduced on each copy made. | ! | This model is provided as is without any express or implied warranties. | ! | (http://www.rtweb.aer.com/) | ! | | ! -------------------------------------------------------------------------- ! ------- Modules ------- use parkind, only : im => kind_im, rb => kind_rb use parrrsw, only : nbndsw, jpband, jpb1, jpb2 use rrsw_cld, only : extliq1, ssaliq1, asyliq1, & extice2, ssaice2, asyice2, & extice3, ssaice3, asyice3, fdlice3, & abari, bbari, cbari, dbari, ebari, fbari use rrsw_wvn, only : wavenum1, wavenum2 use rrsw_vsn, only : hvrcld, hnamcld implicit none contains ! ---------------------------------------------------------------------------- subroutine cldprop_sw(nlayers, inflag, iceflag, liqflag, cldfrac, & tauc, ssac, asmc, fsfc, ciwp, clwp, rei, rel, & taucldorig, taucloud, ssacloud, asmcloud) ! ---------------------------------------------------------------------------- ! Purpose: Compute the cloud optical properties for each cloudy layer. ! Note: Only inflag = 0 and inflag=2/liqflag=1/iceflag=1,2,3 are available; ! (Hu & Stamnes, Ebert and Curry, Key, and Fu) are implemented. ! ------- Input ------- integer(kind=im), intent(in) :: nlayers ! total number of layers integer(kind=im), intent(in) :: inflag ! see definitions integer(kind=im), intent(in) :: iceflag ! see definitions integer(kind=im), intent(in) :: liqflag ! see definitions real(kind=rb), intent(in) :: cldfrac(:) ! cloud fraction ! Dimensions: (nlayers) real(kind=rb), intent(in) :: ciwp(:) ! cloud ice water path ! Dimensions: (nlayers) real(kind=rb), intent(in) :: clwp(:) ! cloud liquid water path ! Dimensions: (nlayers) real(kind=rb), intent(in) :: rei(:) ! cloud ice particle effective size (microns) ! Dimensions: (nlayers) ! specific definition of rei depends on setting of iceflag: ! iceflag = 0: (inactive) ! ! iceflag = 1: ice effective radius, r_ec, (Ebert and Curry, 1992), ! r_ec range is limited to 13.0 to 130.0 microns ! iceflag = 2: ice effective radius, r_k, (Key, Streamer Ref. Manual, 1996) ! r_k range is limited to 5.0 to 131.0 microns ! iceflag = 3: generalized effective size, dge, (Fu, 1996), ! dge range is limited to 5.0 to 140.0 microns ! [dge = 1.0315 * r_ec] real(kind=rb), intent(in) :: rel(:) ! cloud liquid particle effective radius (microns) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: tauc(:,:) ! cloud optical depth ! Dimensions: (nbndsw,nlayers) real(kind=rb), intent(in) :: ssac(:,:) ! single scattering albedo ! Dimensions: (nbndsw,nlayers) real(kind=rb), intent(in) :: asmc(:,:) ! asymmetry parameter ! Dimensions: (nbndsw,nlayers) real(kind=rb), intent(in) :: fsfc(:,:) ! forward scattering fraction ! Dimensions: (nbndsw,nlayers) ! ------- Output ------- real(kind=rb), intent(out) :: taucloud(:,:) ! cloud optical depth (delta scaled) ! Dimensions: (nlayers,jpband) real(kind=rb), intent(out) :: taucldorig(:,:) ! cloud optical depth (non-delta scaled) ! Dimensions: (nlayers,jpband) real(kind=rb), intent(out) :: ssacloud(:,:) ! single scattering albedo (delta scaled) ! Dimensions: (nlayers,jpband) real(kind=rb), intent(out) :: asmcloud(:,:) ! asymmetry parameter (delta scaled) ! Dimensions: (nlayers,jpband) ! ------- Local ------- ! integer(kind=im) :: ncbands integer(kind=im) :: ib, ib1, ib2, lay, istr, index, icx real(kind=rb), parameter :: eps = 1.e-06_rb ! epsilon real(kind=rb), parameter :: cldmin = 1.e-20_rb ! minimum value for cloud quantities real(kind=rb) :: cwp ! total cloud water path real(kind=rb) :: radliq ! cloud liquid droplet radius (microns) real(kind=rb) :: radice ! cloud ice effective size (microns) real(kind=rb) :: factor real(kind=rb) :: fint real(kind=rb) :: tauctot(nlayers) ! band integrated cloud optical depth real(kind=rb) :: taucldorig_a, ssacloud_a, taucloud_a, ffp, ffp1, ffpssa real(kind=rb) :: tauiceorig, scatice, ssaice, tauice, tauliqorig, scatliq, ssaliq, tauliq real(kind=rb) :: fdelta(jpb1:jpb2) real(kind=rb) :: extcoice(jpb1:jpb2), gice(jpb1:jpb2) real(kind=rb) :: ssacoice(jpb1:jpb2), forwice(jpb1:jpb2) real(kind=rb) :: extcoliq(jpb1:jpb2), gliq(jpb1:jpb2) real(kind=rb) :: ssacoliq(jpb1:jpb2), forwliq(jpb1:jpb2) ! Initialize hvrcld = '$Revision: 1.7 $' ! ncbands = 29 ib1 = jpb1 ib2 = jpb2 tauctot(:) = 0._rb do lay = 1, nlayers do ib = ib1 , ib2 taucldorig(lay,ib) = tauc(ib-15,lay) taucloud(lay,ib) = 0.0_rb ssacloud(lay,ib) = 1.0_rb asmcloud(lay,ib) = 0.0_rb tauctot(lay) = tauctot(lay) + tauc(ib-15,lay) enddo enddo ! Main layer loop do lay = 1, nlayers cwp = ciwp(lay) + clwp(lay) if (cldfrac(lay) .ge. cldmin .and. & (cwp .ge. cldmin .or. tauctot(lay) .ge. cldmin)) then ! (inflag=0): Cloud optical properties input directly ! Cloud optical properties already defined in tauc, ssac, asmc are unscaled; ! Apply delta-M scaling here if (inflag .eq. 0) then do ib = ib1 , ib2 taucldorig_a = tauc(ib-15,lay) ffp = fsfc(ib-15,lay) ffp1 = 1.0_rb - ffp ffpssa = 1.0_rb - ffp * ssac(ib-15,lay) ssacloud_a = ffp1 * ssac(ib-15,lay) / ffpssa taucloud_a = ffpssa * taucldorig_a taucldorig(lay,ib) = taucldorig_a ssacloud(lay,ib) = ssacloud_a taucloud(lay,ib) = taucloud_a asmcloud(lay,ib) = (asmc(ib-15,lay) - ffp) / (ffp1) enddo ! (inflag=2): Separate treatement of ice clouds and water clouds. elseif (inflag .eq. 2) then radice = rei(lay) ! Calculation of absorption coefficients due to ice clouds. if (ciwp(lay) .eq. 0.0_rb) then do ib = ib1 , ib2 extcoice(ib) = 0.0_rb ssacoice(ib) = 0.0_rb gice(ib) = 0.0_rb forwice(ib) = 0.0_rb enddo ! (iceflag = 1): ! Note: This option uses Ebert and Curry approach for all particle sizes similar to ! CAM3 implementation, though this is somewhat ineffective for large ice particles elseif (iceflag .eq. 1) then do ib = ib1, ib2 if (wavenum2(ib) .gt. 1.43e04_rb) then icx = 1 elseif (wavenum2(ib) .gt. 7.7e03_rb) then icx = 2 elseif (wavenum2(ib) .gt. 5.3e03_rb) then icx = 3 elseif (wavenum2(ib) .gt. 4.0e03_rb) then icx = 4 elseif (wavenum2(ib) .ge. 2.5e03_rb) then icx = 5 endif extcoice(ib) = abari(icx) + bbari(icx)/radice ssacoice(ib) = 1._rb - cbari(icx) - dbari(icx) * radice gice(ib) = ebari(icx) + fbari(icx) * radice ! Check to ensure upper limit of gice is within physical limits for large particles if (gice(ib) .ge. 1.0_rb) gice(ib) = 1.0_rb - eps forwice(ib) = gice(ib)*gice(ib) ! Check to ensure all calculated quantities are within physical limits. if (extcoice(ib) .lt. 0.0_rb) stop 'ICE EXTINCTION LESS THAN 0.0' if (ssacoice(ib) .gt. 1.0_rb) stop 'ICE SSA GRTR THAN 1.0' if (ssacoice(ib) .lt. 0.0_rb) stop 'ICE SSA LESS THAN 0.0' if (gice(ib) .gt. 1.0_rb) stop 'ICE ASYM GRTR THAN 1.0' if (gice(ib) .lt. 0.0_rb) stop 'ICE ASYM LESS THAN 0.0' enddo ! For iceflag=2 option, ice particle effective radius is limited to 5.0 to 131.0 microns elseif (iceflag .eq. 2) then if (radice .lt. 5.0_rb .or. radice .gt. 131.0_rb) stop 'ICE RADIUS OUT OF BOUNDS' factor = (radice - 2._rb)/3._rb index = int(factor) if (index .eq. 43) index = 42 fint = factor - float(index) do ib = ib1, ib2 extcoice(ib) = extice2(index,ib) + fint * & (extice2(index+1,ib) - extice2(index,ib)) ssacoice(ib) = ssaice2(index,ib) + fint * & (ssaice2(index+1,ib) - ssaice2(index,ib)) gice(ib) = asyice2(index,ib) + fint * & (asyice2(index+1,ib) - asyice2(index,ib)) forwice(ib) = gice(ib)*gice(ib) ! Check to ensure all calculated quantities are within physical limits. if (extcoice(ib) .lt. 0.0_rb) stop 'ICE EXTINCTION LESS THAN 0.0' if (ssacoice(ib) .gt. 1.0_rb) stop 'ICE SSA GRTR THAN 1.0' if (ssacoice(ib) .lt. 0.0_rb) stop 'ICE SSA LESS THAN 0.0' if (gice(ib) .gt. 1.0_rb) stop 'ICE ASYM GRTR THAN 1.0' if (gice(ib) .lt. 0.0_rb) stop 'ICE ASYM LESS THAN 0.0' enddo ! For iceflag=3 option, ice particle generalized effective size is limited to 5.0 to 140.0 microns elseif (iceflag .eq. 3) then if (radice .lt. 5.0_rb .or. radice .gt. 140.0_rb) stop 'ICE GENERALIZED EFFECTIVE SIZE OUT OF BOUNDS' factor = (radice - 2._rb)/3._rb index = int(factor) if (index .eq. 46) index = 45 fint = factor - float(index) do ib = ib1 , ib2 extcoice(ib) = extice3(index,ib) + fint * & (extice3(index+1,ib) - extice3(index,ib)) ssacoice(ib) = ssaice3(index,ib) + fint * & (ssaice3(index+1,ib) - ssaice3(index,ib)) gice(ib) = asyice3(index,ib) + fint * & (asyice3(index+1,ib) - asyice3(index,ib)) fdelta(ib) = fdlice3(index,ib) + fint * & (fdlice3(index+1,ib) - fdlice3(index,ib)) if (fdelta(ib) .lt. 0.0_rb) stop 'FDELTA LESS THAN 0.0' if (fdelta(ib) .gt. 1.0_rb) stop 'FDELTA GT THAN 1.0' forwice(ib) = fdelta(ib) + 0.5_rb / ssacoice(ib) ! See Fu 1996 p. 2067 if (forwice(ib) .gt. gice(ib)) forwice(ib) = gice(ib) ! Check to ensure all calculated quantities are within physical limits. if (extcoice(ib) .lt. 0.0_rb) stop 'ICE EXTINCTION LESS THAN 0.0' if (ssacoice(ib) .gt. 1.0_rb) stop 'ICE SSA GRTR THAN 1.0' if (ssacoice(ib) .lt. 0.0_rb) stop 'ICE SSA LESS THAN 0.0' if (gice(ib) .gt. 1.0_rb) stop 'ICE ASYM GRTR THAN 1.0' if (gice(ib) .lt. 0.0_rb) stop 'ICE ASYM LESS THAN 0.0' enddo endif ! Calculation of absorption coefficients due to water clouds. if (clwp(lay) .eq. 0.0_rb) then do ib = ib1 , ib2 extcoliq(ib) = 0.0_rb ssacoliq(ib) = 0.0_rb gliq(ib) = 0.0_rb forwliq(ib) = 0.0_rb enddo elseif (liqflag .eq. 1) then radliq = rel(lay) if (radliq .lt. 1.5_rb .or. radliq .gt. 60._rb) stop & 'LIQUID EFFECTIVE RADIUS OUT OF BOUNDS' index = int(radliq - 1.5_rb) if (index .eq. 0) index = 1 if (index .eq. 58) index = 57 fint = radliq - 1.5_rb - float(index) do ib = ib1 , ib2 extcoliq(ib) = extliq1(index,ib) + fint * & (extliq1(index+1,ib) - extliq1(index,ib)) ssacoliq(ib) = ssaliq1(index,ib) + fint * & (ssaliq1(index+1,ib) - ssaliq1(index,ib)) if (fint .lt. 0._rb .and. ssacoliq(ib) .gt. 1._rb) & ssacoliq(ib) = ssaliq1(index,ib) gliq(ib) = asyliq1(index,ib) + fint * & (asyliq1(index+1,ib) - asyliq1(index,ib)) forwliq(ib) = gliq(ib)*gliq(ib) ! Check to ensure all calculated quantities are within physical limits. if (extcoliq(ib) .lt. 0.0_rb) stop 'LIQUID EXTINCTION LESS THAN 0.0' if (ssacoliq(ib) .gt. 1.0_rb) stop 'LIQUID SSA GRTR THAN 1.0' if (ssacoliq(ib) .lt. 0.0_rb) stop 'LIQUID SSA LESS THAN 0.0' if (gliq(ib) .gt. 1.0_rb) stop 'LIQUID ASYM GRTR THAN 1.0' if (gliq(ib) .lt. 0.0_rb) stop 'LIQUID ASYM LESS THAN 0.0' enddo endif do ib = ib1 , ib2 tauliqorig = clwp(lay) * extcoliq(ib) tauiceorig = ciwp(lay) * extcoice(ib) taucldorig(lay,ib) = tauliqorig + tauiceorig ssaliq = ssacoliq(ib) * (1.0_rb - forwliq(ib)) / & (1.0_rb - forwliq(ib) * ssacoliq(ib)) tauliq = (1.0_rb - forwliq(ib) * ssacoliq(ib)) * tauliqorig ssaice = ssacoice(ib) * (1.0_rb - forwice(ib)) / & (1.0_rb - forwice(ib) * ssacoice(ib)) tauice = (1.0_rb - forwice(ib) * ssacoice(ib)) * tauiceorig scatliq = ssaliq * tauliq scatice = ssaice * tauice taucloud(lay,ib) = tauliq + tauice ! Ensure non-zero taucmc and scatice if (taucloud(lay,ib).eq.0.0_rb) taucloud(lay,ib) = cldmin if (scatice.eq.0.0_rb) scatice = cldmin ssacloud(lay,ib) = (scatliq + scatice) / taucloud(lay,ib) if (iceflag .eq. 3) then ! In accordance with the 1996 Fu paper, equation A.3, ! the moments for ice were calculated depending on whether using spheres ! or hexagonal ice crystals. istr = 1 asmcloud(lay,ib) = (1.0_rb/(scatliq+scatice)) * & (scatliq*(gliq(ib)**istr - forwliq(ib)) / & (1.0_rb - forwliq(ib)) + scatice * ((gice(ib)-forwice(ib)) / & (1.0_rb - forwice(ib)))**istr) else ! This code is the standard method for delta-m scaling. istr = 1 asmcloud(lay,ib) = (scatliq * & (gliq(ib)**istr - forwliq(ib)) / & (1.0_rb - forwliq(ib)) + scatice * (gice(ib)**istr - forwice(ib)) / & (1.0_rb - forwice(ib)))/(scatliq + scatice) endif enddo endif endif ! End layer loop enddo end subroutine cldprop_sw end module rrtmg_sw_cldprop ================================================ FILE: GeosRad/rrtmg_sw_init.F90 ================================================ ! path: $Source: /storm/rc1/cvsroot/rc/rrtmg_sw/src/rrtmg_sw_init.f90,v $ ! author: $Author: mike $ ! revision: $Revision: 1.4 $ ! created: $Date: 2009/02/09 19:45:55 $ module rrtmg_sw_init ! -------------------------------------------------------------------------- ! | | ! | Copyright 2002-2008, Atmospheric & Environmental Research, Inc. (AER). | ! | This software may be used, copied, or redistributed as long as it is | ! | not sold and this copyright notice is reproduced on each copy made. | ! | This model is provided as is without any express or implied warranties. | ! | (http://www.rtweb.aer.com/) | ! | | ! -------------------------------------------------------------------------- ! ------- Modules ------- use parkind, only : im => kind_im, rb => kind_rb use rrsw_wvn use rrtmg_sw_setcoef, only: swatmref implicit none contains ! ************************************************************************** subroutine rrtmg_sw_ini ! ************************************************************************** ! ! Original version: Michael J. Iacono; February, 2004 ! Revision for F90 formatting: M. J. Iacono, July, 2006 ! ! This subroutine performs calculations necessary for the initialization ! of the shortwave model. Lookup tables are computed for use in the SW ! radiative transfer, and input absorption coefficient data for each ! spectral band are reduced from 224 g-point intervals to 112. ! ************************************************************************** use parrrsw, only : mg, nbndsw, ngptsw use rrsw_tbl, only: ntbl, tblint, pade, bpade, tau_tbl, exp_tbl use rrsw_vsn, only: hvrini, hnamini use rrtmg_sw_k_g real(kind=rb), parameter :: cpdair=1003.5 ! Specific heat capacity of dry air ! at constant pressure at 273 K ! (J kg-1 K-1) ! ------- Local ------- integer(kind=im) :: ibnd, igc, ig, ind, ipr integer(kind=im) :: igcsm, iprsm integer(kind=im) :: itr real(kind=rb) :: wtsum, wtsm(mg) real(kind=rb) :: tfn real(kind=rb), parameter :: expeps = 1.e-20_rb ! Smallest value for exponential table ! ------- Definitions ------- ! Arrays for 10000-point look-up tables: ! TAU_TBL Clear-sky optical depth ! EXP_TBL Exponential lookup table for transmittance ! PADE Pade approximation constant (= 0.278) ! BPADE Inverse of the Pade approximation constant ! hvrini = '$Revision: 1.4 $' ! Initialize model data call swdatinit(cpdair) call swcmbdat ! g-point interval reduction data call swaerpr ! aerosol optical properties call swcldpr ! cloud optical properties call swatmref ! reference MLS profile call sw_kgb16 ! molecular absorption coefficients call sw_kgb17 call sw_kgb18 call sw_kgb19 call sw_kgb20 call sw_kgb21 call sw_kgb22 call sw_kgb23 call sw_kgb24 call sw_kgb25 call sw_kgb26 call sw_kgb27 call sw_kgb28 call sw_kgb29 ! Define exponential lookup tables for transmittance. Tau is ! computed as a function of the tau transition function, and transmittance ! is calculated as a function of tau. All tables are computed at intervals ! of 0.0001. The inverse of the constant used in the Pade approximation to ! the tau transition function is set to bpade. exp_tbl(0) = 1.0_rb exp_tbl(ntbl) = expeps bpade = 1.0_rb / pade do itr = 1, ntbl-1 tfn = float(itr) / float(ntbl) tau_tbl = bpade * tfn / (1._rb - tfn) exp_tbl(itr) = exp(-tau_tbl) if (exp_tbl(itr) .le. expeps) exp_tbl(itr) = expeps enddo ! Perform g-point reduction from 16 per band (224 total points) to ! a band dependent number (112 total points) for all absorption ! coefficient input data and Planck fraction input data. ! Compute relative weighting for new g-point combinations. igcsm = 0 do ibnd = 1,nbndsw iprsm = 0 if (ngc(ibnd).lt.mg) then do igc = 1,ngc(ibnd) igcsm = igcsm + 1 wtsum = 0. do ipr = 1, ngn(igcsm) iprsm = iprsm + 1 wtsum = wtsum + wt(iprsm) enddo wtsm(igc) = wtsum enddo do ig = 1, ng(ibnd+15) ind = (ibnd-1)*mg + ig rwgt(ind) = wt(ig)/wtsm(ngm(ind)) enddo else do ig = 1, ng(ibnd+15) igcsm = igcsm + 1 ind = (ibnd-1)*mg + ig rwgt(ind) = 1.0_rb enddo endif enddo ! Reduce g-points for absorption coefficient data in each LW spectral band. call cmbgb16s call cmbgb17 call cmbgb18 call cmbgb19 call cmbgb20 call cmbgb21 call cmbgb22 call cmbgb23 call cmbgb24 call cmbgb25 call cmbgb26 call cmbgb27 call cmbgb28 call cmbgb29 end subroutine rrtmg_sw_ini !*************************************************************************** subroutine swdatinit(cpdair) !*************************************************************************** ! --------- Modules ---------- use rrsw_con, only: heatfac, grav, planck, boltz, & clight, avogad, alosmt, gascon, radcn1, radcn2, & sbcnst, secdy use rrsw_vsn save real(kind=rb), intent(in) :: cpdair ! Specific heat capacity of dry air ! at constant pressure at 273 K ! (J kg-1 K-1) ! Shortwave spectral band limits (wavenumbers) wavenum1(:) = (/2600._rb, 3250._rb, 4000._rb, 4650._rb, 5150._rb, 6150._rb, 7700._rb, & 8050._rb,12850._rb,16000._rb,22650._rb,29000._rb,38000._rb, 820._rb/) wavenum2(:) = (/3250._rb, 4000._rb, 4650._rb, 5150._rb, 6150._rb, 7700._rb, 8050._rb, & 12850._rb,16000._rb,22650._rb,29000._rb,38000._rb,50000._rb, 2600._rb/) delwave(:) = (/ 650._rb, 750._rb, 650._rb, 500._rb, 1000._rb, 1550._rb, 350._rb, & 4800._rb, 3150._rb, 6650._rb, 6350._rb, 9000._rb,12000._rb, 1780._rb/) ! Spectral band information ng(:) = (/16,16,16,16,16,16,16,16,16,16,16,16,16,16/) nspa(:) = (/9,9,9,9,1,9,9,1,9,1,0,1,9,1/) nspb(:) = (/1,5,1,1,1,5,1,0,1,0,0,1,5,1/) ! Fundamental physical constants from NIST 2002 grav = 9.8066_rb ! Acceleration of gravity ! (m s-2) planck = 6.62606876e-27_rb ! Planck constant ! (ergs s; g cm2 s-1) boltz = 1.3806503e-16_rb ! Boltzmann constant ! (ergs K-1; g cm2 s-2 K-1) clight = 2.99792458e+10_rb ! Speed of light in a vacuum ! (cm s-1) avogad = 6.02214199e+23_rb ! Avogadro constant ! (mol-1) alosmt = 2.6867775e+19_rb ! Loschmidt constant ! (cm-3) gascon = 8.31447200e+07_rb ! Molar gas constant ! (ergs mol-1 K-1) radcn1 = 1.191042772e-12_rb ! First radiation constant ! (W cm2 sr-1) radcn2 = 1.4387752_rb ! Second radiation constant ! (cm K) sbcnst = 5.670400e-04_rb ! Stefan-Boltzmann constant ! (W cm-2 K-4) secdy = 8.6400e4_rb ! Number of seconds per day ! (s d-1) ! ! units are generally cgs ! ! The first and second radiation constants are taken from NIST. ! They were previously obtained from the relations: ! radcn1 = 2.*planck*clight*clight*1.e-07 ! radcn2 = planck*clight/boltz ! Heatfac is the factor by which delta-flux / delta-pressure is ! multiplied, with flux in W/m-2 and pressure in mbar, to get ! the heating rate in units of degrees/day. It is equal to: ! Original value: ! (g)x(#sec/day)x(1e-5)/(specific heat of air at const. p) ! Here, cpdair (1.004) is in units of J g-1 K-1, and the ! constant (1.e-5) converts mb to Pa and g-1 to kg-1. ! = (9.8066)(86400)(1e-5)/(1.004) ! heatfac = 8.4391_rb ! ! Modified value for consistency with CAM3: ! (g)x(#sec/day)x(1e-5)/(specific heat of air at const. p) ! Here, cpdair (1.00464) is in units of J g-1 K-1, and the ! constant (1.e-5) converts mb to Pa and g-1 to kg-1. ! = (9.80616)(86400)(1e-5)/(1.00464) ! heatfac = 8.43339130434_rb ! ! Calculated value (from constants above and input cpdair) ! (grav) x (#sec/day) / (specific heat of dry air at const. p x 1.e2) ! Here, cpdair is in units of J kg-1 K-1, and the constant (1.e2) ! converts mb to Pa when heatfac is multiplied by W m-2 mb-1. heatfac = grav * secdy / (cpdair * 1.e2_rb) end subroutine swdatinit !*************************************************************************** subroutine swcmbdat !*************************************************************************** save ! ------- Definitions ------- ! Arrays for the g-point reduction from 224 to 112 for the 16 LW bands: ! This mapping from 224 to 112 points has been carefully selected to ! minimize the effect on the resulting fluxes and cooling rates, and ! caution should be used if the mapping is modified. The full 224 ! g-point set can be restored with ngpt=224, ngc=16*16, ngn=224*1., etc. ! ngpt The total number of new g-points ! ngc The number of new g-points in each band ! ngs The cumulative sum of new g-points for each band ! ngm The index of each new g-point relative to the original ! 16 g-points for each band. ! ngn The number of original g-points that are combined to make ! each new g-point in each band. ! ngb The band index for each new g-point. ! wt RRTM weights for 16 g-points. ! Use this set for 112 quadrature point (g-point) model ! ------- Data statements ------- ngc(:) = (/ 6,12, 8, 8,10,10, 2,10, 8, 6, 6, 8, 6,12 /) ngs(:) = (/ 6,18,26,34,44,54,56,66,74,80,86,94,100,112 /) ngm(:) = (/ 1,1,2,2,3,3,4,4,5,5,5,5,6,6,6,6, & ! band 16 1,2,3,4,5,6,6,7,8,8,9,10,10,11,12,12, & ! band 17 1,2,3,4,5,5,6,6,7,7,7,7,8,8,8,8, & ! band 18 1,2,3,4,5,5,6,6,7,7,7,7,8,8,8,8, & ! band 19 1,2,3,4,5,6,7,8,9,9,10,10,10,10,10,10, & ! band 20 1,2,3,4,5,6,7,8,9,9,10,10,10,10,10,10, & ! band 21 1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2, & ! band 22 1,1,2,2,3,4,5,6,7,8,9,9,10,10,10,10, & ! band 23 1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8, & ! band 24 1,2,3,3,4,4,5,5,5,5,6,6,6,6,6,6, & ! band 25 1,2,3,3,4,4,5,5,5,5,6,6,6,6,6,6, & ! band 26 1,2,3,4,5,6,7,7,7,7,8,8,8,8,8,8, & ! band 27 1,2,3,3,4,4,5,5,5,5,6,6,6,6,6,6, & ! band 28 1,2,3,4,5,5,6,6,7,7,8,8,9,10,11,12 /) ! band 29 ngn(:) = (/ 2,2,2,2,4,4, & ! band 16 1,1,1,1,1,2,1,2,1,2,1,2, & ! band 17 1,1,1,1,2,2,4,4, & ! band 18 1,1,1,1,2,2,4,4, & ! band 19 1,1,1,1,1,1,1,1,2,6, & ! band 20 1,1,1,1,1,1,1,1,2,6, & ! band 21 8,8, & ! band 22 2,2,1,1,1,1,1,1,2,4, & ! band 23 2,2,2,2,2,2,2,2, & ! band 24 1,1,2,2,4,6, & ! band 25 1,1,2,2,4,6, & ! band 26 1,1,1,1,1,1,4,6, & ! band 27 1,1,2,2,4,6, & ! band 28 1,1,1,1,2,2,2,2,1,1,1,1 /) ! band 29 ngb(:) = (/ 16,16,16,16,16,16, & ! band 16 17,17,17,17,17,17,17,17,17,17,17,17, & ! band 17 18,18,18,18,18,18,18,18, & ! band 18 19,19,19,19,19,19,19,19, & ! band 19 20,20,20,20,20,20,20,20,20,20, & ! band 20 21,21,21,21,21,21,21,21,21,21, & ! band 21 22,22, & ! band 22 23,23,23,23,23,23,23,23,23,23, & ! band 23 24,24,24,24,24,24,24,24, & ! band 24 25,25,25,25,25,25, & ! band 25 26,26,26,26,26,26, & ! band 26 27,27,27,27,27,27,27,27, & ! band 27 28,28,28,28,28,28, & ! band 28 29,29,29,29,29,29,29,29,29,29,29,29 /) ! band 29 ! Use this set for full 224 quadrature point (g-point) model ! ------- Data statements ------- ! ngc(:) = (/ 16,16,16,16,16,16,16,16,16,16,16,16,16,16 /) ! ngs(:) = (/ 16,32,48,64,80,96,112,128,144,160,176,192,208,224 /) ! ngm(:) = (/ 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, & ! band 16 ! 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, & ! band 17 ! 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, & ! band 18 ! 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, & ! band 19 ! 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, & ! band 20 ! 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, & ! band 21 ! 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, & ! band 22 ! 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, & ! band 23 ! 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, & ! band 24 ! 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, & ! band 25 ! 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, & ! band 26 ! 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, & ! band 27 ! 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, & ! band 28 ! 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 /) ! band 29 ! ngn(:) = (/ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, & ! band 16 ! 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, & ! band 17 ! 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, & ! band 18 ! 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, & ! band 19 ! 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, & ! band 20 ! 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, & ! band 21 ! 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, & ! band 22 ! 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, & ! band 23 ! 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, & ! band 24 ! 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, & ! band 25 ! 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, & ! band 26 ! 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, & ! band 27 ! 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, & ! band 28 ! 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 /) ! band 29 ! ngb(:) = (/ 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, & ! band 16 ! 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, & ! band 17 ! 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, & ! band 18 ! 19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19, & ! band 19 ! 20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20, & ! band 20 ! 21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21, & ! band 21 ! 22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22, & ! band 22 ! 23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23, & ! band 23 ! 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, & ! band 24 ! 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25, & ! band 25 ! 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26, & ! band 26 ! 27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27, & ! band 27 ! 28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28, & ! band 28 ! 29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29 /) ! band 29 wt(:) = (/ 0.1527534276_rb, 0.1491729617_rb, 0.1420961469_rb, & 0.1316886544_rb, 0.1181945205_rb, 0.1019300893_rb, & 0.0832767040_rb, 0.0626720116_rb, 0.0424925000_rb, & 0.0046269894_rb, 0.0038279891_rb, 0.0030260086_rb, & 0.0022199750_rb, 0.0014140010_rb, 0.0005330000_rb, & 0.0000750000_rb /) end subroutine swcmbdat !*************************************************************************** subroutine swaerpr !*************************************************************************** ! Purpose: Define spectral aerosol properties for six ECMWF aerosol types ! as used in the ECMWF IFS model (see module rrsw_aer.F90 for details) ! ! Original: Defined for rrtmg_sw 14 spectral bands, JJMorcrette, ECMWF Feb 2003 ! Revision: Reformatted for consistency with rrtmg_lw, MJIacono, AER, Jul 2006 use rrsw_aer, only : rsrtaua, rsrpiza, rsrasya save rsrtaua( 1, :) = (/ & 0.10849_rb, 0.66699_rb, 0.65255_rb, 0.11600_rb, 0.06529_rb, 0.04468_rb/) rsrtaua( 2, :) = (/ & 0.10849_rb, 0.66699_rb, 0.65255_rb, 0.11600_rb, 0.06529_rb, 0.04468_rb/) rsrtaua( 3, :) = (/ & 0.20543_rb, 0.84642_rb, 0.84958_rb, 0.21673_rb, 0.28270_rb, 0.10915_rb/) rsrtaua( 4, :) = (/ & 0.20543_rb, 0.84642_rb, 0.84958_rb, 0.21673_rb, 0.28270_rb, 0.10915_rb/) rsrtaua( 5, :) = (/ & 0.20543_rb, 0.84642_rb, 0.84958_rb, 0.21673_rb, 0.28270_rb, 0.10915_rb/) rsrtaua( 6, :) = (/ & 0.20543_rb, 0.84642_rb, 0.84958_rb, 0.21673_rb, 0.28270_rb, 0.10915_rb/) rsrtaua( 7, :) = (/ & 0.20543_rb, 0.84642_rb, 0.84958_rb, 0.21673_rb, 0.28270_rb, 0.10915_rb/) rsrtaua( 8, :) = (/ & 0.52838_rb, 0.93285_rb, 0.93449_rb, 0.53078_rb, 0.67148_rb, 0.46608_rb/) rsrtaua( 9, :) = (/ & 0.52838_rb, 0.93285_rb, 0.93449_rb, 0.53078_rb, 0.67148_rb, 0.46608_rb/) rsrtaua(10, :) = (/ & 1.69446_rb, 1.11855_rb, 1.09212_rb, 1.72145_rb, 1.03858_rb, 1.12044_rb/) rsrtaua(11, :) = (/ & 1.69446_rb, 1.11855_rb, 1.09212_rb, 1.72145_rb, 1.03858_rb, 1.12044_rb/) rsrtaua(12, :) = (/ & 1.69446_rb, 1.11855_rb, 1.09212_rb, 1.72145_rb, 1.03858_rb, 1.12044_rb/) rsrtaua(13, :) = (/ & 1.69446_rb, 1.11855_rb, 1.09212_rb, 1.72145_rb, 1.03858_rb, 1.12044_rb/) rsrtaua(14, :) = (/ & 0.10849_rb, 0.66699_rb, 0.65255_rb, 0.11600_rb, 0.06529_rb, 0.04468_rb/) rsrpiza( 1, :) = (/ & .5230504_rb, .7868518_rb, .8531531_rb, .4048149_rb, .8748231_rb, .2355667_rb/) rsrpiza( 2, :) = (/ & .5230504_rb, .7868518_rb, .8531531_rb, .4048149_rb, .8748231_rb, .2355667_rb/) rsrpiza( 3, :) = (/ & .8287144_rb, .9949396_rb, .9279543_rb, .6765051_rb, .9467578_rb, .9955938_rb/) rsrpiza( 4, :) = (/ & .8287144_rb, .9949396_rb, .9279543_rb, .6765051_rb, .9467578_rb, .9955938_rb/) rsrpiza( 5, :) = (/ & .8287144_rb, .9949396_rb, .9279543_rb, .6765051_rb, .9467578_rb, .9955938_rb/) rsrpiza( 6, :) = (/ & .8287144_rb, .9949396_rb, .9279543_rb, .6765051_rb, .9467578_rb, .9955938_rb/) rsrpiza( 7, :) = (/ & .8287144_rb, .9949396_rb, .9279543_rb, .6765051_rb, .9467578_rb, .9955938_rb/) rsrpiza( 8, :) = (/ & .8970131_rb, .9984940_rb, .9245594_rb, .7768385_rb, .9532763_rb, .9999999_rb/) rsrpiza( 9, :) = (/ & .8970131_rb, .9984940_rb, .9245594_rb, .7768385_rb, .9532763_rb, .9999999_rb/) rsrpiza(10, :) = (/ & .9148907_rb, .9956173_rb, .7504584_rb, .8131335_rb, .9401905_rb, .9999999_rb/) rsrpiza(11, :) = (/ & .9148907_rb, .9956173_rb, .7504584_rb, .8131335_rb, .9401905_rb, .9999999_rb/) rsrpiza(12, :) = (/ & .9148907_rb, .9956173_rb, .7504584_rb, .8131335_rb, .9401905_rb, .9999999_rb/) rsrpiza(13, :) = (/ & .9148907_rb, .9956173_rb, .7504584_rb, .8131335_rb, .9401905_rb, .9999999_rb/) rsrpiza(14, :) = (/ & .5230504_rb, .7868518_rb, .8531531_rb, .4048149_rb, .8748231_rb, .2355667_rb/) rsrasya( 1, :) = (/ & 0.700610_rb, 0.818871_rb, 0.702399_rb, 0.689886_rb, .4629866_rb, .1907639_rb/) rsrasya( 2, :) = (/ & 0.700610_rb, 0.818871_rb, 0.702399_rb, 0.689886_rb, .4629866_rb, .1907639_rb/) rsrasya( 3, :) = (/ & 0.636342_rb, 0.802467_rb, 0.691305_rb, 0.627497_rb, .6105750_rb, .4760794_rb/) rsrasya( 4, :) = (/ & 0.636342_rb, 0.802467_rb, 0.691305_rb, 0.627497_rb, .6105750_rb, .4760794_rb/) rsrasya( 5, :) = (/ & 0.636342_rb, 0.802467_rb, 0.691305_rb, 0.627497_rb, .6105750_rb, .4760794_rb/) rsrasya( 6, :) = (/ & 0.636342_rb, 0.802467_rb, 0.691305_rb, 0.627497_rb, .6105750_rb, .4760794_rb/) rsrasya( 7, :) = (/ & 0.636342_rb, 0.802467_rb, 0.691305_rb, 0.627497_rb, .6105750_rb, .4760794_rb/) rsrasya( 8, :) = (/ & 0.668431_rb, 0.788530_rb, 0.698682_rb, 0.657422_rb, .6735182_rb, .6519706_rb/) rsrasya( 9, :) = (/ & 0.668431_rb, 0.788530_rb, 0.698682_rb, 0.657422_rb, .6735182_rb, .6519706_rb/) rsrasya(10, :) = (/ & 0.729019_rb, 0.803129_rb, 0.784592_rb, 0.712208_rb, .7008249_rb, .7270548_rb/) rsrasya(11, :) = (/ & 0.729019_rb, 0.803129_rb, 0.784592_rb, 0.712208_rb, .7008249_rb, .7270548_rb/) rsrasya(12, :) = (/ & 0.729019_rb, 0.803129_rb, 0.784592_rb, 0.712208_rb, .7008249_rb, .7270548_rb/) rsrasya(13, :) = (/ & 0.729019_rb, 0.803129_rb, 0.784592_rb, 0.712208_rb, .7008249_rb, .7270548_rb/) rsrasya(14, :) = (/ & 0.700610_rb, 0.818871_rb, 0.702399_rb, 0.689886_rb, .4629866_rb, .1907639_rb/) end subroutine swaerpr !*************************************************************************** subroutine cmbgb16s !*************************************************************************** ! ! Original version: MJIacono; July 1998 ! Revision for RRTM_SW: MJIacono; November 2002 ! Revision for RRTMG_SW: MJIacono; December 2003 ! Revision for F90 reformatting: MJIacono; July 2006 ! ! The subroutines CMBGB16->CMBGB29 input the absorption coefficient ! data for each band, which are defined for 16 g-points and 14 spectral ! bands. The data are combined with appropriate weighting following the ! g-point mapping arrays specified in RRTMG_SW_INIT. Solar source ! function data in array SFLUXREF are combined without weighting. All ! g-point reduced data are put into new arrays for use in RRTMG_SW. ! ! band 16: 2600-3250 cm-1 (low key- h2o,ch4; high key - ch4) ! !----------------------------------------------------------------------- use rrsw_kg16, only : kao, kbo, selfrefo, forrefo, sfluxrefo, & absa, ka, absb, kb, selfref, forref, sfluxref ! ------- Local ------- integer(kind=im) :: jn, jt, jp, igc, ipr, iprsm real(kind=rb) :: sumk, sumf do jn = 1,9 do jt = 1,5 do jp = 1,13 iprsm = 0 do igc = 1,ngc(1) sumk = 0. do ipr = 1, ngn(igc) iprsm = iprsm + 1 sumk = sumk + kao(jn,jt,jp,iprsm)*rwgt(iprsm) enddo ka(jn,jt,jp,igc) = sumk enddo enddo enddo enddo do jt = 1,5 do jp = 13,59 iprsm = 0 do igc = 1,ngc(1) sumk = 0. do ipr = 1, ngn(igc) iprsm = iprsm + 1 sumk = sumk + kbo(jt,jp,iprsm)*rwgt(iprsm) enddo kb(jt,jp,igc) = sumk enddo enddo enddo do jt = 1,10 iprsm = 0 do igc = 1,ngc(1) sumk = 0. do ipr = 1, ngn(igc) iprsm = iprsm + 1 sumk = sumk + selfrefo(jt,iprsm)*rwgt(iprsm) enddo selfref(jt,igc) = sumk enddo enddo do jt = 1,3 iprsm = 0 do igc = 1,ngc(1) sumk = 0. do ipr = 1, ngn(igc) iprsm = iprsm + 1 sumk = sumk + forrefo(jt,iprsm)*rwgt(iprsm) enddo forref(jt,igc) = sumk enddo enddo iprsm = 0 do igc = 1,ngc(1) sumf = 0. do ipr = 1, ngn(igc) iprsm = iprsm + 1 sumf = sumf + sfluxrefo(iprsm) enddo sfluxref(igc) = sumf enddo end subroutine cmbgb16s !*************************************************************************** subroutine cmbgb17 !*************************************************************************** ! ! band 17: 3250-4000 cm-1 (low - h2o,co2; high - h2o,co2) !----------------------------------------------------------------------- use rrsw_kg17, only : kao, kbo, selfrefo, forrefo, sfluxrefo, & absa, ka, absb, kb, selfref, forref, sfluxref ! ------- Local ------- integer(kind=im) :: jn, jt, jp, igc, ipr, iprsm real(kind=rb) :: sumk, sumf do jn = 1,9 do jt = 1,5 do jp = 1,13 iprsm = 0 do igc = 1,ngc(2) sumk = 0. do ipr = 1, ngn(ngs(1)+igc) iprsm = iprsm + 1 sumk = sumk + kao(jn,jt,jp,iprsm)*rwgt(iprsm+16) enddo ka(jn,jt,jp,igc) = sumk enddo enddo enddo enddo do jn = 1,5 do jt = 1,5 do jp = 13,59 iprsm = 0 do igc = 1,ngc(2) sumk = 0. do ipr = 1, ngn(ngs(1)+igc) iprsm = iprsm + 1 sumk = sumk + kbo(jn,jt,jp,iprsm)*rwgt(iprsm+16) enddo kb(jn,jt,jp,igc) = sumk enddo enddo enddo enddo do jt = 1,10 iprsm = 0 do igc = 1,ngc(2) sumk = 0. do ipr = 1, ngn(ngs(1)+igc) iprsm = iprsm + 1 sumk = sumk + selfrefo(jt,iprsm)*rwgt(iprsm+16) enddo selfref(jt,igc) = sumk enddo enddo do jt = 1,4 iprsm = 0 do igc = 1,ngc(2) sumk = 0. do ipr = 1, ngn(ngs(1)+igc) iprsm = iprsm + 1 sumk = sumk + forrefo(jt,iprsm)*rwgt(iprsm+16) enddo forref(jt,igc) = sumk enddo enddo do jp = 1,5 iprsm = 0 do igc = 1,ngc(2) sumf = 0. do ipr = 1, ngn(ngs(1)+igc) iprsm = iprsm + 1 sumf = sumf + sfluxrefo(iprsm,jp) enddo sfluxref(igc,jp) = sumf enddo enddo end subroutine cmbgb17 !*************************************************************************** subroutine cmbgb18 !*************************************************************************** ! ! band 18: 4000-4650 cm-1 (low - h2o,ch4; high - ch4) !----------------------------------------------------------------------- use rrsw_kg18, only : kao, kbo, selfrefo, forrefo, sfluxrefo, & absa, ka, absb, kb, selfref, forref, sfluxref ! ------- Local ------- integer(kind=im) :: jn, jt, jp, igc, ipr, iprsm real(kind=rb) :: sumk, sumf do jn = 1,9 do jt = 1,5 do jp = 1,13 iprsm = 0 do igc = 1,ngc(3) sumk = 0. do ipr = 1, ngn(ngs(2)+igc) iprsm = iprsm + 1 sumk = sumk + kao(jn,jt,jp,iprsm)*rwgt(iprsm+32) enddo ka(jn,jt,jp,igc) = sumk enddo enddo enddo enddo do jt = 1,5 do jp = 13,59 iprsm = 0 do igc = 1,ngc(3) sumk = 0. do ipr = 1, ngn(ngs(2)+igc) iprsm = iprsm + 1 sumk = sumk + kbo(jt,jp,iprsm)*rwgt(iprsm+32) enddo kb(jt,jp,igc) = sumk enddo enddo enddo do jt = 1,10 iprsm = 0 do igc = 1,ngc(3) sumk = 0. do ipr = 1, ngn(ngs(2)+igc) iprsm = iprsm + 1 sumk = sumk + selfrefo(jt,iprsm)*rwgt(iprsm+32) enddo selfref(jt,igc) = sumk enddo enddo do jt = 1,3 iprsm = 0 do igc = 1,ngc(3) sumk = 0. do ipr = 1, ngn(ngs(2)+igc) iprsm = iprsm + 1 sumk = sumk + forrefo(jt,iprsm)*rwgt(iprsm+32) enddo forref(jt,igc) = sumk enddo enddo do jp = 1,9 iprsm = 0 do igc = 1,ngc(3) sumf = 0. do ipr = 1, ngn(ngs(2)+igc) iprsm = iprsm + 1 sumf = sumf + sfluxrefo(iprsm,jp) enddo sfluxref(igc,jp) = sumf enddo enddo end subroutine cmbgb18 !*************************************************************************** subroutine cmbgb19 !*************************************************************************** ! ! band 19: 4650-5150 cm-1 (low - h2o,co2; high - co2) !----------------------------------------------------------------------- use rrsw_kg19, only : kao, kbo, selfrefo, forrefo, sfluxrefo, & absa, ka, absb, kb, selfref, forref, sfluxref ! ------- Local ------- integer(kind=im) :: jn, jt, jp, igc, ipr, iprsm real(kind=rb) :: sumk, sumf do jn = 1,9 do jt = 1,5 do jp = 1,13 iprsm = 0 do igc = 1,ngc(4) sumk = 0. do ipr = 1, ngn(ngs(3)+igc) iprsm = iprsm + 1 sumk = sumk + kao(jn,jt,jp,iprsm)*rwgt(iprsm+48) enddo ka(jn,jt,jp,igc) = sumk enddo enddo enddo enddo do jt = 1,5 do jp = 13,59 iprsm = 0 do igc = 1,ngc(4) sumk = 0. do ipr = 1, ngn(ngs(3)+igc) iprsm = iprsm + 1 sumk = sumk + kbo(jt,jp,iprsm)*rwgt(iprsm+48) enddo kb(jt,jp,igc) = sumk enddo enddo enddo do jt = 1,10 iprsm = 0 do igc = 1,ngc(4) sumk = 0. do ipr = 1, ngn(ngs(3)+igc) iprsm = iprsm + 1 sumk = sumk + selfrefo(jt,iprsm)*rwgt(iprsm+48) enddo selfref(jt,igc) = sumk enddo enddo do jt = 1,3 iprsm = 0 do igc = 1,ngc(4) sumk = 0. do ipr = 1, ngn(ngs(3)+igc) iprsm = iprsm + 1 sumk = sumk + forrefo(jt,iprsm)*rwgt(iprsm+48) enddo forref(jt,igc) = sumk enddo enddo do jp = 1,9 iprsm = 0 do igc = 1,ngc(4) sumf = 0. do ipr = 1, ngn(ngs(3)+igc) iprsm = iprsm + 1 sumf = sumf + sfluxrefo(iprsm,jp) enddo sfluxref(igc,jp) = sumf enddo enddo end subroutine cmbgb19 !*************************************************************************** subroutine cmbgb20 !*************************************************************************** ! ! band 20: 5150-6150 cm-1 (low - h2o; high - h2o) !----------------------------------------------------------------------- use rrsw_kg20, only : kao, kbo, selfrefo, forrefo, sfluxrefo, absch4o, & absa, ka, absb, kb, selfref, forref, sfluxref, absch4 ! ------- Local ------- integer(kind=im) :: jt, jp, igc, ipr, iprsm real(kind=rb) :: sumk, sumf1, sumf2 do jt = 1,5 do jp = 1,13 iprsm = 0 do igc = 1,ngc(5) sumk = 0. do ipr = 1, ngn(ngs(4)+igc) iprsm = iprsm + 1 sumk = sumk + kao(jt,jp,iprsm)*rwgt(iprsm+64) enddo ka(jt,jp,igc) = sumk enddo enddo do jp = 13,59 iprsm = 0 do igc = 1,ngc(5) sumk = 0. do ipr = 1, ngn(ngs(4)+igc) iprsm = iprsm + 1 sumk = sumk + kbo(jt,jp,iprsm)*rwgt(iprsm+64) enddo kb(jt,jp,igc) = sumk enddo enddo enddo do jt = 1,10 iprsm = 0 do igc = 1,ngc(5) sumk = 0. do ipr = 1, ngn(ngs(4)+igc) iprsm = iprsm + 1 sumk = sumk + selfrefo(jt,iprsm)*rwgt(iprsm+64) enddo selfref(jt,igc) = sumk enddo enddo do jt = 1,4 iprsm = 0 do igc = 1,ngc(5) sumk = 0. do ipr = 1, ngn(ngs(4)+igc) iprsm = iprsm + 1 sumk = sumk + forrefo(jt,iprsm)*rwgt(iprsm+64) enddo forref(jt,igc) = sumk enddo enddo iprsm = 0 do igc = 1,ngc(5) sumf1 = 0. sumf2 = 0. do ipr = 1, ngn(ngs(4)+igc) iprsm = iprsm + 1 sumf1 = sumf1 + sfluxrefo(iprsm) sumf2 = sumf2 + absch4o(iprsm)*rwgt(iprsm+64) enddo sfluxref(igc) = sumf1 absch4(igc) = sumf2 enddo end subroutine cmbgb20 !*************************************************************************** subroutine cmbgb21 !*************************************************************************** ! ! band 21: 6150-7700 cm-1 (low - h2o,co2; high - h2o,co2) !----------------------------------------------------------------------- use rrsw_kg21, only : kao, kbo, selfrefo, forrefo, sfluxrefo, & absa, ka, absb, kb, selfref, forref, sfluxref ! ------- Local ------- integer(kind=im) :: jn, jt, jp, igc, ipr, iprsm real(kind=rb) :: sumk, sumf do jn = 1,9 do jt = 1,5 do jp = 1,13 iprsm = 0 do igc = 1,ngc(6) sumk = 0. do ipr = 1, ngn(ngs(5)+igc) iprsm = iprsm + 1 sumk = sumk + kao(jn,jt,jp,iprsm)*rwgt(iprsm+80) enddo ka(jn,jt,jp,igc) = sumk enddo enddo enddo enddo do jn = 1,5 do jt = 1,5 do jp = 13,59 iprsm = 0 do igc = 1,ngc(6) sumk = 0. do ipr = 1, ngn(ngs(5)+igc) iprsm = iprsm + 1 sumk = sumk + kbo(jn,jt,jp,iprsm)*rwgt(iprsm+80) enddo kb(jn,jt,jp,igc) = sumk enddo enddo enddo enddo do jt = 1,10 iprsm = 0 do igc = 1,ngc(6) sumk = 0. do ipr = 1, ngn(ngs(5)+igc) iprsm = iprsm + 1 sumk = sumk + selfrefo(jt,iprsm)*rwgt(iprsm+80) enddo selfref(jt,igc) = sumk enddo enddo do jt = 1,4 iprsm = 0 do igc = 1,ngc(6) sumk = 0. do ipr = 1, ngn(ngs(5)+igc) iprsm = iprsm + 1 sumk = sumk + forrefo(jt,iprsm)*rwgt(iprsm+80) enddo forref(jt,igc) = sumk enddo enddo do jp = 1,9 iprsm = 0 do igc = 1,ngc(6) sumf = 0. do ipr = 1, ngn(ngs(5)+igc) iprsm = iprsm + 1 sumf = sumf + sfluxrefo(iprsm,jp) enddo sfluxref(igc,jp) = sumf enddo enddo end subroutine cmbgb21 !*************************************************************************** subroutine cmbgb22 !*************************************************************************** ! ! band 22: 7700-8050 cm-1 (low - h2o,o2; high - o2) !----------------------------------------------------------------------- use rrsw_kg22, only : kao, kbo, selfrefo, forrefo, sfluxrefo, & absa, ka, absb, kb, selfref, forref, sfluxref ! ------- Local ------- integer(kind=im) :: jn, jt, jp, igc, ipr, iprsm real(kind=rb) :: sumk, sumf do jn = 1,9 do jt = 1,5 do jp = 1,13 iprsm = 0 do igc = 1,ngc(7) sumk = 0. do ipr = 1, ngn(ngs(6)+igc) iprsm = iprsm + 1 sumk = sumk + kao(jn,jt,jp,iprsm)*rwgt(iprsm+96) enddo ka(jn,jt,jp,igc) = sumk enddo enddo enddo enddo do jt = 1,5 do jp = 13,59 iprsm = 0 do igc = 1,ngc(7) sumk = 0. do ipr = 1, ngn(ngs(6)+igc) iprsm = iprsm + 1 sumk = sumk + kbo(jt,jp,iprsm)*rwgt(iprsm+96) enddo kb(jt,jp,igc) = sumk enddo enddo enddo do jt = 1,10 iprsm = 0 do igc = 1,ngc(7) sumk = 0. do ipr = 1, ngn(ngs(6)+igc) iprsm = iprsm + 1 sumk = sumk + selfrefo(jt,iprsm)*rwgt(iprsm+96) enddo selfref(jt,igc) = sumk enddo enddo do jt = 1,3 iprsm = 0 do igc = 1,ngc(7) sumk = 0. do ipr = 1, ngn(ngs(6)+igc) iprsm = iprsm + 1 sumk = sumk + forrefo(jt,iprsm)*rwgt(iprsm+96) enddo forref(jt,igc) = sumk enddo enddo do jp = 1,9 iprsm = 0 do igc = 1,ngc(7) sumf = 0. do ipr = 1, ngn(ngs(6)+igc) iprsm = iprsm + 1 sumf = sumf + sfluxrefo(iprsm,jp) enddo sfluxref(igc,jp) = sumf enddo enddo end subroutine cmbgb22 !*************************************************************************** subroutine cmbgb23 !*************************************************************************** ! ! band 23: 8050-12850 cm-1 (low - h2o; high - nothing) !----------------------------------------------------------------------- use rrsw_kg23, only : kao, selfrefo, forrefo, sfluxrefo, raylo, & absa, ka, selfref, forref, sfluxref, rayl ! ------- Local ------- integer(kind=im) :: jt, jp, igc, ipr, iprsm real(kind=rb) :: sumk, sumf1, sumf2 do jt = 1,5 do jp = 1,13 iprsm = 0 do igc = 1,ngc(8) sumk = 0. do ipr = 1, ngn(ngs(7)+igc) iprsm = iprsm + 1 sumk = sumk + kao(jt,jp,iprsm)*rwgt(iprsm+112) enddo ka(jt,jp,igc) = sumk enddo enddo enddo do jt = 1,10 iprsm = 0 do igc = 1,ngc(8) sumk = 0. do ipr = 1, ngn(ngs(7)+igc) iprsm = iprsm + 1 sumk = sumk + selfrefo(jt,iprsm)*rwgt(iprsm+112) enddo selfref(jt,igc) = sumk enddo enddo do jt = 1,3 iprsm = 0 do igc = 1,ngc(8) sumk = 0. do ipr = 1, ngn(ngs(7)+igc) iprsm = iprsm + 1 sumk = sumk + forrefo(jt,iprsm)*rwgt(iprsm+112) enddo forref(jt,igc) = sumk enddo enddo iprsm = 0 do igc = 1,ngc(8) sumf1 = 0. sumf2 = 0. do ipr = 1, ngn(ngs(7)+igc) iprsm = iprsm + 1 sumf1 = sumf1 + sfluxrefo(iprsm) sumf2 = sumf2 + raylo(iprsm)*rwgt(iprsm+112) enddo sfluxref(igc) = sumf1 rayl(igc) = sumf2 enddo end subroutine cmbgb23 !*************************************************************************** subroutine cmbgb24 !*************************************************************************** ! ! band 24: 12850-16000 cm-1 (low - h2o,o2; high - o2) !----------------------------------------------------------------------- use rrsw_kg24, only : kao, kbo, selfrefo, forrefo, sfluxrefo, & abso3ao, abso3bo, raylao, raylbo, & absa, ka, absb, kb, selfref, forref, sfluxref, & abso3a, abso3b, rayla, raylb ! ------- Local ------- integer(kind=im) :: jn, jt, jp, igc, ipr, iprsm real(kind=rb) :: sumk, sumf1, sumf2, sumf3 do jn = 1,9 do jt = 1,5 do jp = 1,13 iprsm = 0 do igc = 1,ngc(9) sumk = 0. do ipr = 1, ngn(ngs(8)+igc) iprsm = iprsm + 1 sumk = sumk + kao(jn,jt,jp,iprsm)*rwgt(iprsm+128) enddo ka(jn,jt,jp,igc) = sumk enddo enddo enddo enddo do jt = 1,5 do jp = 13,59 iprsm = 0 do igc = 1,ngc(9) sumk = 0. do ipr = 1, ngn(ngs(8)+igc) iprsm = iprsm + 1 sumk = sumk + kbo(jt,jp,iprsm)*rwgt(iprsm+128) enddo kb(jt,jp,igc) = sumk enddo enddo enddo do jt = 1,10 iprsm = 0 do igc = 1,ngc(9) sumk = 0. do ipr = 1, ngn(ngs(8)+igc) iprsm = iprsm + 1 sumk = sumk + selfrefo(jt,iprsm)*rwgt(iprsm+128) enddo selfref(jt,igc) = sumk enddo enddo do jt = 1,3 iprsm = 0 do igc = 1,ngc(9) sumk = 0. do ipr = 1, ngn(ngs(8)+igc) iprsm = iprsm + 1 sumk = sumk + forrefo(jt,iprsm)*rwgt(iprsm+128) enddo forref(jt,igc) = sumk enddo enddo iprsm = 0 do igc = 1,ngc(9) sumf1 = 0. sumf2 = 0. sumf3 = 0. do ipr = 1, ngn(ngs(8)+igc) iprsm = iprsm + 1 sumf1 = sumf1 + raylbo(iprsm)*rwgt(iprsm+128) sumf2 = sumf2 + abso3ao(iprsm)*rwgt(iprsm+128) sumf3 = sumf3 + abso3bo(iprsm)*rwgt(iprsm+128) enddo raylb(igc) = sumf1 abso3a(igc) = sumf2 abso3b(igc) = sumf3 enddo do jp = 1,9 iprsm = 0 do igc = 1,ngc(9) sumf1 = 0. sumf2 = 0. do ipr = 1, ngn(ngs(8)+igc) iprsm = iprsm + 1 sumf1 = sumf1 + sfluxrefo(iprsm,jp) sumf2 = sumf2 + raylao(iprsm,jp)*rwgt(iprsm+128) enddo sfluxref(igc,jp) = sumf1 rayla(igc,jp) = sumf2 enddo enddo end subroutine cmbgb24 !*************************************************************************** subroutine cmbgb25 !*************************************************************************** ! ! band 25: 16000-22650 cm-1 (low - h2o; high - nothing) !----------------------------------------------------------------------- use rrsw_kg25, only : kao, sfluxrefo, & abso3ao, abso3bo, raylo, & absa, ka, sfluxref, & abso3a, abso3b, rayl ! ------- Local ------- integer(kind=im) :: jt, jp, igc, ipr, iprsm real(kind=rb) :: sumk, sumf1, sumf2, sumf3, sumf4 do jt = 1,5 do jp = 1,13 iprsm = 0 do igc = 1,ngc(10) sumk = 0. do ipr = 1, ngn(ngs(9)+igc) iprsm = iprsm + 1 sumk = sumk + kao(jt,jp,iprsm)*rwgt(iprsm+144) enddo ka(jt,jp,igc) = sumk enddo enddo enddo iprsm = 0 do igc = 1,ngc(10) sumf1 = 0. sumf2 = 0. sumf3 = 0. sumf4 = 0. do ipr = 1, ngn(ngs(9)+igc) iprsm = iprsm + 1 sumf1 = sumf1 + sfluxrefo(iprsm) sumf2 = sumf2 + abso3ao(iprsm)*rwgt(iprsm+144) sumf3 = sumf3 + abso3bo(iprsm)*rwgt(iprsm+144) sumf4 = sumf4 + raylo(iprsm)*rwgt(iprsm+144) enddo sfluxref(igc) = sumf1 abso3a(igc) = sumf2 abso3b(igc) = sumf3 rayl(igc) = sumf4 enddo end subroutine cmbgb25 !*************************************************************************** subroutine cmbgb26 !*************************************************************************** ! ! band 26: 22650-29000 cm-1 (low - nothing; high - nothing) !----------------------------------------------------------------------- use rrsw_kg26, only : sfluxrefo, raylo, & sfluxref, rayl ! ------- Local ------- integer(kind=im) :: igc, ipr, iprsm real(kind=rb) :: sumf1, sumf2 iprsm = 0 do igc = 1,ngc(11) sumf1 = 0. sumf2 = 0. do ipr = 1, ngn(ngs(10)+igc) iprsm = iprsm + 1 sumf1 = sumf1 + raylo(iprsm)*rwgt(iprsm+160) sumf2 = sumf2 + sfluxrefo(iprsm) enddo rayl(igc) = sumf1 sfluxref(igc) = sumf2 enddo end subroutine cmbgb26 !*************************************************************************** subroutine cmbgb27 !*************************************************************************** ! ! band 27: 29000-38000 cm-1 (low - o3; high - o3) !----------------------------------------------------------------------- use rrsw_kg27, only : kao, kbo, sfluxrefo, raylo, & absa, ka, absb, kb, sfluxref, rayl ! ------- Local ------- integer(kind=im) :: jt, jp, igc, ipr, iprsm real(kind=rb) :: sumk, sumf1, sumf2 do jt = 1,5 do jp = 1,13 iprsm = 0 do igc = 1,ngc(12) sumk = 0. do ipr = 1, ngn(ngs(11)+igc) iprsm = iprsm + 1 sumk = sumk + kao(jt,jp,iprsm)*rwgt(iprsm+176) enddo ka(jt,jp,igc) = sumk enddo enddo do jp = 13,59 iprsm = 0 do igc = 1,ngc(12) sumk = 0. do ipr = 1, ngn(ngs(11)+igc) iprsm = iprsm + 1 sumk = sumk + kbo(jt,jp,iprsm)*rwgt(iprsm+176) enddo kb(jt,jp,igc) = sumk enddo enddo enddo iprsm = 0 do igc = 1,ngc(12) sumf1 = 0. sumf2 = 0. do ipr = 1, ngn(ngs(11)+igc) iprsm = iprsm + 1 sumf1 = sumf1 + sfluxrefo(iprsm) sumf2 = sumf2 + raylo(iprsm)*rwgt(iprsm+176) enddo sfluxref(igc) = sumf1 rayl(igc) = sumf2 enddo end subroutine cmbgb27 !*************************************************************************** subroutine cmbgb28 !*************************************************************************** ! ! band 28: 38000-50000 cm-1 (low - o3,o2; high - o3,o2) !----------------------------------------------------------------------- use rrsw_kg28, only : kao, kbo, sfluxrefo, & absa, ka, absb, kb, sfluxref ! ------- Local ------- integer(kind=im) :: jn, jt, jp, igc, ipr, iprsm real(kind=rb) :: sumk, sumf do jn = 1,9 do jt = 1,5 do jp = 1,13 iprsm = 0 do igc = 1,ngc(13) sumk = 0. do ipr = 1, ngn(ngs(12)+igc) iprsm = iprsm + 1 sumk = sumk + kao(jn,jt,jp,iprsm)*rwgt(iprsm+192) enddo ka(jn,jt,jp,igc) = sumk enddo enddo enddo enddo do jn = 1,5 do jt = 1,5 do jp = 13,59 iprsm = 0 do igc = 1,ngc(13) sumk = 0. do ipr = 1, ngn(ngs(12)+igc) iprsm = iprsm + 1 sumk = sumk + kbo(jn,jt,jp,iprsm)*rwgt(iprsm+192) enddo kb(jn,jt,jp,igc) = sumk enddo enddo enddo enddo do jp = 1,5 iprsm = 0 do igc = 1,ngc(13) sumf = 0. do ipr = 1, ngn(ngs(12)+igc) iprsm = iprsm + 1 sumf = sumf + sfluxrefo(iprsm,jp) enddo sfluxref(igc,jp) = sumf enddo enddo end subroutine cmbgb28 !*************************************************************************** subroutine cmbgb29 !*************************************************************************** ! ! band 29: 820-2600 cm-1 (low - h2o; high - co2) !----------------------------------------------------------------------- use rrsw_kg29, only : kao, kbo, selfrefo, forrefo, sfluxrefo, & absh2oo, absco2o, & absa, ka, absb, kb, selfref, forref, sfluxref, & absh2o, absco2 ! ------- Local ------- integer(kind=im) :: jt, jp, igc, ipr, iprsm real(kind=rb) :: sumk, sumf1, sumf2, sumf3 do jt = 1,5 do jp = 1,13 iprsm = 0 do igc = 1,ngc(14) sumk = 0. do ipr = 1, ngn(ngs(13)+igc) iprsm = iprsm + 1 sumk = sumk + kao(jt,jp,iprsm)*rwgt(iprsm+208) enddo ka(jt,jp,igc) = sumk enddo enddo do jp = 13,59 iprsm = 0 do igc = 1,ngc(14) sumk = 0. do ipr = 1, ngn(ngs(13)+igc) iprsm = iprsm + 1 sumk = sumk + kbo(jt,jp,iprsm)*rwgt(iprsm+208) enddo kb(jt,jp,igc) = sumk enddo enddo enddo do jt = 1,10 iprsm = 0 do igc = 1,ngc(14) sumk = 0. do ipr = 1, ngn(ngs(13)+igc) iprsm = iprsm + 1 sumk = sumk + selfrefo(jt,iprsm)*rwgt(iprsm+208) enddo selfref(jt,igc) = sumk enddo enddo do jt = 1,4 iprsm = 0 do igc = 1,ngc(14) sumk = 0. do ipr = 1, ngn(ngs(13)+igc) iprsm = iprsm + 1 sumk = sumk + forrefo(jt,iprsm)*rwgt(iprsm+208) enddo forref(jt,igc) = sumk enddo enddo iprsm = 0 do igc = 1,ngc(14) sumf1 = 0. sumf2 = 0. sumf3 = 0. do ipr = 1, ngn(ngs(13)+igc) iprsm = iprsm + 1 sumf1 = sumf1 + sfluxrefo(iprsm) sumf2 = sumf2 + absco2o(iprsm)*rwgt(iprsm+208) sumf3 = sumf3 + absh2oo(iprsm)*rwgt(iprsm+208) enddo sfluxref(igc) = sumf1 absco2(igc) = sumf2 absh2o(igc) = sumf3 enddo end subroutine cmbgb29 !*********************************************************************** subroutine swcldpr !*********************************************************************** ! Purpose: Define cloud extinction coefficient, single scattering albedo ! and asymmetry parameter data. ! ! ------- Modules ------- use rrsw_cld, only : extliq1, ssaliq1, asyliq1, & extice2, ssaice2, asyice2, & extice3, ssaice3, asyice3, fdlice3, & abari, bbari, cbari, dbari, ebari, fbari save !----------------------------------------------------------------------- ! ! Explanation of the method for each value of INFLAG. A value of ! 0 for INFLAG do not distingish being liquid and ice clouds. ! INFLAG = 2 does distinguish between liquid and ice clouds, and ! requires further user input to specify the method to be used to ! compute the aborption due to each. ! INFLAG = 0: For each cloudy layer, the cloud fraction, the cloud optical ! depth, the cloud single-scattering albedo, and the ! moments of the phase function (0:NSTREAM). Note ! that these values are delta-m scaled within this ! subroutine. ! INFLAG = 2: For each cloudy layer, the cloud fraction, cloud ! water path (g/m2), and cloud ice fraction are input. ! ICEFLAG = 2: The ice effective radius (microns) is input and the ! optical properties due to ice clouds are computed from ! the optical properties stored in the RT code, STREAMER v3.0 ! (Reference: Key. J., Streamer User's Guide, Cooperative ! Institute for Meteorological Satellite Studies, 2001, 96 pp.). ! Valid range of values for re are between 5.0 and ! 131.0 micron. ! This version uses Ebert and Curry, JGR, (1992) method for ! ice particles larger than 131.0 microns. ! ICEFLAG = 3: The ice generalized effective size (dge) is input ! and the optical depths, single-scattering albedo, ! and phase function moments are calculated as in ! Q. Fu, J. Climate, (1996). Q. Fu provided high resolution ! tables which were appropriately averaged for the ! bands in RRTM_SW. Linear interpolation is used to ! get the coefficients from the stored tables. ! Valid range of values for dge are between 5.0 and ! 140.0 micron. ! This version uses Ebert and Curry, JGR, (1992) method for ! ice particles larger than 140.0 microns. ! LIQFLAG = 1: The water droplet effective radius (microns) is input ! and the optical depths due to water clouds are computed ! as in Hu and Stamnes, J., Clim., 6, 728-742, (1993). ! The values for absorption coefficients appropriate for ! the spectral bands in RRTM have been obtained for a ! range of effective radii by an averaging procedure ! based on the work of J. Pinto (private communication). ! Linear interpolation is used to get the absorption ! coefficients for the input effective radius. ! ! ------------------------------------------------------------------ ! Everything below is for INFLAG = 2. ! Coefficients for Ebert and Curry method abari(:) = (/ & & 3.448e-03_rb,3.448e-03_rb,3.448e-03_rb,3.448e-03_rb,3.448e-03_rb /) bbari(:) = (/ & & 2.431e+00_rb,2.431e+00_rb,2.431e+00_rb,2.431e+00_rb,2.431e+00_rb /) cbari(:) = (/ & & 1.000e-05_rb,1.100e-04_rb,1.240e-02_rb,3.779e-02_rb,4.666e-01_rb /) dbari(:) = (/ & & 0.000e+00_rb,1.405e-05_rb,6.867e-04_rb,1.284e-03_rb,2.050e-05_rb /) ebari(:) = (/ & & 7.661e-01_rb,7.730e-01_rb,7.865e-01_rb,8.172e-01_rb,9.595e-01_rb /) fbari(:) = (/ & & 5.851e-04_rb,5.665e-04_rb,7.204e-04_rb,7.463e-04_rb,1.076e-04_rb /) ! Extinction coefficient extliq1(:, 16) = (/ & & 8.981463e-01_rb,6.317895e-01_rb,4.557508e-01_rb,3.481624e-01_rb,2.797950e-01_rb,& & 2.342753e-01_rb,2.026934e-01_rb,1.800102e-01_rb,1.632408e-01_rb,1.505384e-01_rb,& & 1.354524e-01_rb,1.246520e-01_rb,1.154342e-01_rb,1.074756e-01_rb,1.005353e-01_rb,& & 9.442987e-02_rb,8.901760e-02_rb,8.418693e-02_rb,7.984904e-02_rb,7.593229e-02_rb,& & 7.237827e-02_rb,6.913887e-02_rb,6.617415e-02_rb,6.345061e-02_rb,6.094001e-02_rb,& & 5.861834e-02_rb,5.646506e-02_rb,5.446250e-02_rb,5.249596e-02_rb,5.081114e-02_rb,& & 4.922243e-02_rb,4.772189e-02_rb,4.630243e-02_rb,4.495766e-02_rb,4.368189e-02_rb,& & 4.246995e-02_rb,4.131720e-02_rb,4.021941e-02_rb,3.917276e-02_rb,3.817376e-02_rb,& & 3.721926e-02_rb,3.630635e-02_rb,3.543237e-02_rb,3.459491e-02_rb,3.379171e-02_rb,& & 3.302073e-02_rb,3.228007e-02_rb,3.156798e-02_rb,3.088284e-02_rb,3.022315e-02_rb,& & 2.958753e-02_rb,2.897468e-02_rb,2.838340e-02_rb,2.781258e-02_rb,2.726117e-02_rb,& & 2.672821e-02_rb,2.621278e-02_rb,2.5714e-02_rb /) extliq1(:, 17) = (/ & & 8.293797e-01_rb,6.048371e-01_rb,4.465706e-01_rb,3.460387e-01_rb,2.800064e-01_rb,& & 2.346584e-01_rb,2.022399e-01_rb,1.782626e-01_rb,1.600153e-01_rb,1.457903e-01_rb,& & 1.334061e-01_rb,1.228548e-01_rb,1.138396e-01_rb,1.060486e-01_rb,9.924856e-02_rb,& & 9.326208e-02_rb,8.795158e-02_rb,8.320883e-02_rb,7.894750e-02_rb,7.509792e-02_rb,& & 7.160323e-02_rb,6.841653e-02_rb,6.549889e-02_rb,6.281763e-02_rb,6.034516e-02_rb,& & 5.805802e-02_rb,5.593615e-02_rb,5.396226e-02_rb,5.202302e-02_rb,5.036246e-02_rb,& & 4.879606e-02_rb,4.731610e-02_rb,4.591565e-02_rb,4.458852e-02_rb,4.332912e-02_rb,& & 4.213243e-02_rb,4.099390e-02_rb,3.990941e-02_rb,3.887522e-02_rb,3.788792e-02_rb,& & 3.694440e-02_rb,3.604183e-02_rb,3.517760e-02_rb,3.434934e-02_rb,3.355485e-02_rb,& & 3.279211e-02_rb,3.205925e-02_rb,3.135458e-02_rb,3.067648e-02_rb,3.002349e-02_rb,& & 2.939425e-02_rb,2.878748e-02_rb,2.820200e-02_rb,2.763673e-02_rb,2.709062e-02_rb,& & 2.656272e-02_rb,2.605214e-02_rb,2.5558e-02_rb /) extliq1(:, 18) = (/ & & 9.193685e-01_rb,6.128292e-01_rb,4.344150e-01_rb,3.303048e-01_rb,2.659500e-01_rb,& & 2.239727e-01_rb,1.953457e-01_rb,1.751012e-01_rb,1.603515e-01_rb,1.493360e-01_rb,& & 1.323791e-01_rb,1.219335e-01_rb,1.130076e-01_rb,1.052926e-01_rb,9.855839e-02_rb,& & 9.262925e-02_rb,8.736918e-02_rb,8.267112e-02_rb,7.844965e-02_rb,7.463585e-02_rb,& & 7.117343e-02_rb,6.801601e-02_rb,6.512503e-02_rb,6.246815e-02_rb,6.001806e-02_rb,& & 5.775154e-02_rb,5.564872e-02_rb,5.369250e-02_rb,5.176284e-02_rb,5.011536e-02_rb,& & 4.856099e-02_rb,4.709211e-02_rb,4.570193e-02_rb,4.438430e-02_rb,4.313375e-02_rb,& & 4.194529e-02_rb,4.081443e-02_rb,3.973712e-02_rb,3.870966e-02_rb,3.772866e-02_rb,& & 3.679108e-02_rb,3.589409e-02_rb,3.503514e-02_rb,3.421185e-02_rb,3.342206e-02_rb,& & 3.266377e-02_rb,3.193513e-02_rb,3.123447e-02_rb,3.056018e-02_rb,2.991081e-02_rb,& & 2.928502e-02_rb,2.868154e-02_rb,2.809920e-02_rb,2.753692e-02_rb,2.699367e-02_rb,& & 2.646852e-02_rb,2.596057e-02_rb,2.5469e-02_rb /) extliq1(:, 19) = (/ & & 9.136931e-01_rb,5.743244e-01_rb,4.080708e-01_rb,3.150572e-01_rb,2.577261e-01_rb,& & 2.197900e-01_rb,1.933037e-01_rb,1.740212e-01_rb,1.595056e-01_rb,1.482756e-01_rb,& & 1.312164e-01_rb,1.209246e-01_rb,1.121227e-01_rb,1.045095e-01_rb,9.785967e-02_rb,& & 9.200149e-02_rb,8.680170e-02_rb,8.215531e-02_rb,7.797850e-02_rb,7.420361e-02_rb,& & 7.077530e-02_rb,6.764798e-02_rb,6.478369e-02_rb,6.215063e-02_rb,5.972189e-02_rb,& & 5.747458e-02_rb,5.538913e-02_rb,5.344866e-02_rb,5.153216e-02_rb,4.989745e-02_rb,& & 4.835476e-02_rb,4.689661e-02_rb,4.551629e-02_rb,4.420777e-02_rb,4.296563e-02_rb,& & 4.178497e-02_rb,4.066137e-02_rb,3.959081e-02_rb,3.856963e-02_rb,3.759452e-02_rb,& & 3.666244e-02_rb,3.577061e-02_rb,3.491650e-02_rb,3.409777e-02_rb,3.331227e-02_rb,& & 3.255803e-02_rb,3.183322e-02_rb,3.113617e-02_rb,3.046530e-02_rb,2.981918e-02_rb,& & 2.919646e-02_rb,2.859591e-02_rb,2.801635e-02_rb,2.745671e-02_rb,2.691599e-02_rb,& & 2.639324e-02_rb,2.588759e-02_rb,2.5398e-02_rb /) extliq1(:, 20) = (/ & & 8.447548e-01_rb,5.326840e-01_rb,3.921523e-01_rb,3.119082e-01_rb,2.597055e-01_rb,& & 2.228737e-01_rb,1.954157e-01_rb,1.741155e-01_rb,1.570881e-01_rb,1.431520e-01_rb,& & 1.302034e-01_rb,1.200491e-01_rb,1.113571e-01_rb,1.038330e-01_rb,9.725657e-02_rb,& & 9.145949e-02_rb,8.631112e-02_rb,8.170840e-02_rb,7.756901e-02_rb,7.382641e-02_rb,& & 7.042616e-02_rb,6.732338e-02_rb,6.448069e-02_rb,6.186672e-02_rb,5.945494e-02_rb,& & 5.722277e-02_rb,5.515089e-02_rb,5.322262e-02_rb,5.132153e-02_rb,4.969799e-02_rb,& & 4.816556e-02_rb,4.671686e-02_rb,4.534525e-02_rb,4.404480e-02_rb,4.281014e-02_rb,& & 4.163643e-02_rb,4.051930e-02_rb,3.945479e-02_rb,3.843927e-02_rb,3.746945e-02_rb,& & 3.654234e-02_rb,3.565518e-02_rb,3.480547e-02_rb,3.399088e-02_rb,3.320930e-02_rb,& & 3.245876e-02_rb,3.173745e-02_rb,3.104371e-02_rb,3.037600e-02_rb,2.973287e-02_rb,& & 2.911300e-02_rb,2.851516e-02_rb,2.793818e-02_rb,2.738101e-02_rb,2.684264e-02_rb,& & 2.632214e-02_rb,2.581863e-02_rb,2.5331e-02_rb /) extliq1(:, 21) = (/ & & 7.727642e-01_rb,5.034865e-01_rb,3.808673e-01_rb,3.080333e-01_rb,2.586453e-01_rb,& & 2.224989e-01_rb,1.947060e-01_rb,1.725821e-01_rb,1.545096e-01_rb,1.394456e-01_rb,& & 1.288683e-01_rb,1.188852e-01_rb,1.103317e-01_rb,1.029214e-01_rb,9.643967e-02_rb,& & 9.072239e-02_rb,8.564194e-02_rb,8.109758e-02_rb,7.700875e-02_rb,7.331026e-02_rb,& & 6.994879e-02_rb,6.688028e-02_rb,6.406807e-02_rb,6.148133e-02_rb,5.909400e-02_rb,& & 5.688388e-02_rb,5.483197e-02_rb,5.292185e-02_rb,5.103763e-02_rb,4.942905e-02_rb,& & 4.791039e-02_rb,4.647438e-02_rb,4.511453e-02_rb,4.382497e-02_rb,4.260043e-02_rb,& & 4.143616e-02_rb,4.032784e-02_rb,3.927155e-02_rb,3.826375e-02_rb,3.730117e-02_rb,& & 3.638087e-02_rb,3.550013e-02_rb,3.465646e-02_rb,3.384759e-02_rb,3.307141e-02_rb,& & 3.232598e-02_rb,3.160953e-02_rb,3.092040e-02_rb,3.025706e-02_rb,2.961810e-02_rb,& & 2.900220e-02_rb,2.840814e-02_rb,2.783478e-02_rb,2.728106e-02_rb,2.674599e-02_rb,& & 2.622864e-02_rb,2.572816e-02_rb,2.5244e-02_rb /) extliq1(:, 22) = (/ & & 7.416833e-01_rb,4.959591e-01_rb,3.775057e-01_rb,3.056353e-01_rb,2.565943e-01_rb,& & 2.206935e-01_rb,1.931479e-01_rb,1.712860e-01_rb,1.534837e-01_rb,1.386906e-01_rb,& & 1.281198e-01_rb,1.182344e-01_rb,1.097595e-01_rb,1.024137e-01_rb,9.598552e-02_rb,& & 9.031320e-02_rb,8.527093e-02_rb,8.075927e-02_rb,7.669869e-02_rb,7.302481e-02_rb,& & 6.968491e-02_rb,6.663542e-02_rb,6.384008e-02_rb,6.126838e-02_rb,5.889452e-02_rb,& & 5.669654e-02_rb,5.465558e-02_rb,5.275540e-02_rb,5.087937e-02_rb,4.927904e-02_rb,& & 4.776796e-02_rb,4.633895e-02_rb,4.498557e-02_rb,4.370202e-02_rb,4.248306e-02_rb,& & 4.132399e-02_rb,4.022052e-02_rb,3.916878e-02_rb,3.816523e-02_rb,3.720665e-02_rb,& & 3.629011e-02_rb,3.541290e-02_rb,3.457257e-02_rb,3.376685e-02_rb,3.299365e-02_rb,& & 3.225105e-02_rb,3.153728e-02_rb,3.085069e-02_rb,3.018977e-02_rb,2.955310e-02_rb,& & 2.893940e-02_rb,2.834742e-02_rb,2.777606e-02_rb,2.722424e-02_rb,2.669099e-02_rb,& & 2.617539e-02_rb,2.567658e-02_rb,2.5194e-02_rb /) extliq1(:, 23) = (/ & & 7.058580e-01_rb,4.866573e-01_rb,3.712238e-01_rb,2.998638e-01_rb,2.513441e-01_rb,& & 2.161972e-01_rb,1.895576e-01_rb,1.686669e-01_rb,1.518437e-01_rb,1.380046e-01_rb,& & 1.267564e-01_rb,1.170399e-01_rb,1.087026e-01_rb,1.014704e-01_rb,9.513729e-02_rb,& & 8.954555e-02_rb,8.457221e-02_rb,8.012009e-02_rb,7.611136e-02_rb,7.248294e-02_rb,& & 6.918317e-02_rb,6.616934e-02_rb,6.340584e-02_rb,6.086273e-02_rb,5.851465e-02_rb,& & 5.634001e-02_rb,5.432027e-02_rb,5.243946e-02_rb,5.058070e-02_rb,4.899628e-02_rb,& & 4.749975e-02_rb,4.608411e-02_rb,4.474303e-02_rb,4.347082e-02_rb,4.226237e-02_rb,& & 4.111303e-02_rb,4.001861e-02_rb,3.897528e-02_rb,3.797959e-02_rb,3.702835e-02_rb,& & 3.611867e-02_rb,3.524791e-02_rb,3.441364e-02_rb,3.361360e-02_rb,3.284577e-02_rb,& & 3.210823e-02_rb,3.139923e-02_rb,3.071716e-02_rb,3.006052e-02_rb,2.942791e-02_rb,& & 2.881806e-02_rb,2.822974e-02_rb,2.766185e-02_rb,2.711335e-02_rb,2.658326e-02_rb,& & 2.607066e-02_rb,2.557473e-02_rb,2.5095e-02_rb /) extliq1(:, 24) = (/ & & 6.822779e-01_rb,4.750373e-01_rb,3.634834e-01_rb,2.940726e-01_rb,2.468060e-01_rb,& & 2.125768e-01_rb,1.866586e-01_rb,1.663588e-01_rb,1.500326e-01_rb,1.366192e-01_rb,& & 1.253472e-01_rb,1.158052e-01_rb,1.076101e-01_rb,1.004954e-01_rb,9.426089e-02_rb,& & 8.875268e-02_rb,8.385090e-02_rb,7.946063e-02_rb,7.550578e-02_rb,7.192466e-02_rb,& & 6.866669e-02_rb,6.569001e-02_rb,6.295971e-02_rb,6.044642e-02_rb,5.812526e-02_rb,& & 5.597500e-02_rb,5.397746e-02_rb,5.211690e-02_rb,5.027505e-02_rb,4.870703e-02_rb,& & 4.722555e-02_rb,4.582373e-02_rb,4.449540e-02_rb,4.323497e-02_rb,4.203742e-02_rb,& & 4.089821e-02_rb,3.981321e-02_rb,3.877867e-02_rb,3.779118e-02_rb,3.684762e-02_rb,& & 3.594514e-02_rb,3.508114e-02_rb,3.425322e-02_rb,3.345917e-02_rb,3.269698e-02_rb,& & 3.196477e-02_rb,3.126082e-02_rb,3.058352e-02_rb,2.993141e-02_rb,2.930310e-02_rb,& & 2.869732e-02_rb,2.811289e-02_rb,2.754869e-02_rb,2.700371e-02_rb,2.647698e-02_rb,& & 2.596760e-02_rb,2.547473e-02_rb,2.4998e-02_rb /) extliq1(:, 25) = (/ & & 6.666233e-01_rb,4.662044e-01_rb,3.579517e-01_rb,2.902984e-01_rb,2.440475e-01_rb,& & 2.104431e-01_rb,1.849277e-01_rb,1.648970e-01_rb,1.487555e-01_rb,1.354714e-01_rb,& & 1.244173e-01_rb,1.149913e-01_rb,1.068903e-01_rb,9.985323e-02_rb,9.368351e-02_rb,& & 8.823009e-02_rb,8.337507e-02_rb,7.902511e-02_rb,7.510529e-02_rb,7.155482e-02_rb,& & 6.832386e-02_rb,6.537113e-02_rb,6.266218e-02_rb,6.016802e-02_rb,5.786408e-02_rb,& & 5.572939e-02_rb,5.374598e-02_rb,5.189830e-02_rb,5.006825e-02_rb,4.851081e-02_rb,& & 4.703906e-02_rb,4.564623e-02_rb,4.432621e-02_rb,4.307349e-02_rb,4.188312e-02_rb,& & 4.075060e-02_rb,3.967183e-02_rb,3.864313e-02_rb,3.766111e-02_rb,3.672269e-02_rb,& & 3.582505e-02_rb,3.496559e-02_rb,3.414196e-02_rb,3.335198e-02_rb,3.259362e-02_rb,& & 3.186505e-02_rb,3.116454e-02_rb,3.049052e-02_rb,2.984152e-02_rb,2.921617e-02_rb,& & 2.861322e-02_rb,2.803148e-02_rb,2.746986e-02_rb,2.692733e-02_rb,2.640295e-02_rb,& & 2.589582e-02_rb,2.540510e-02_rb,2.4930e-02_rb /) extliq1(:, 26) = (/ & & 6.535669e-01_rb,4.585865e-01_rb,3.529226e-01_rb,2.867245e-01_rb,2.413848e-01_rb,& & 2.083956e-01_rb,1.833191e-01_rb,1.636150e-01_rb,1.477247e-01_rb,1.346392e-01_rb,& & 1.236449e-01_rb,1.143095e-01_rb,1.062828e-01_rb,9.930773e-02_rb,9.319029e-02_rb,& & 8.778150e-02_rb,8.296497e-02_rb,7.864847e-02_rb,7.475799e-02_rb,7.123343e-02_rb,& & 6.802549e-02_rb,6.509332e-02_rb,6.240285e-02_rb,5.992538e-02_rb,5.763657e-02_rb,& & 5.551566e-02_rb,5.354483e-02_rb,5.170870e-02_rb,4.988866e-02_rb,4.834061e-02_rb,& & 4.687751e-02_rb,4.549264e-02_rb,4.417999e-02_rb,4.293410e-02_rb,4.175006e-02_rb,& & 4.062344e-02_rb,3.955019e-02_rb,3.852663e-02_rb,3.754943e-02_rb,3.661553e-02_rb,& & 3.572214e-02_rb,3.486669e-02_rb,3.404683e-02_rb,3.326040e-02_rb,3.250542e-02_rb,& & 3.178003e-02_rb,3.108254e-02_rb,3.041139e-02_rb,2.976511e-02_rb,2.914235e-02_rb,& & 2.854187e-02_rb,2.796247e-02_rb,2.740309e-02_rb,2.686271e-02_rb,2.634038e-02_rb,& & 2.583520e-02_rb,2.534636e-02_rb,2.4873e-02_rb /) extliq1(:, 27) = (/ & & 6.448790e-01_rb,4.541425e-01_rb,3.503348e-01_rb,2.850494e-01_rb,2.401966e-01_rb,& & 2.074811e-01_rb,1.825631e-01_rb,1.629515e-01_rb,1.471142e-01_rb,1.340574e-01_rb,& & 1.231462e-01_rb,1.138628e-01_rb,1.058802e-01_rb,9.894286e-02_rb,9.285818e-02_rb,& & 8.747802e-02_rb,8.268676e-02_rb,7.839271e-02_rb,7.452230e-02_rb,7.101580e-02_rb,& & 6.782418e-02_rb,6.490685e-02_rb,6.222991e-02_rb,5.976484e-02_rb,5.748742e-02_rb,& & 5.537703e-02_rb,5.341593e-02_rb,5.158883e-02_rb,4.977355e-02_rb,4.823172e-02_rb,& & 4.677430e-02_rb,4.539465e-02_rb,4.408680e-02_rb,4.284533e-02_rb,4.166539e-02_rb,& & 4.054257e-02_rb,3.947283e-02_rb,3.845256e-02_rb,3.747842e-02_rb,3.654737e-02_rb,& & 3.565665e-02_rb,3.480370e-02_rb,3.398620e-02_rb,3.320198e-02_rb,3.244908e-02_rb,& & 3.172566e-02_rb,3.103002e-02_rb,3.036062e-02_rb,2.971600e-02_rb,2.909482e-02_rb,& & 2.849582e-02_rb,2.791785e-02_rb,2.735982e-02_rb,2.682072e-02_rb,2.629960e-02_rb,& & 2.579559e-02_rb,2.530786e-02_rb,2.4836e-02_rb /) extliq1(:, 28) = (/ & & 6.422688e-01_rb,4.528453e-01_rb,3.497232e-01_rb,2.847724e-01_rb,2.400815e-01_rb,& & 2.074403e-01_rb,1.825502e-01_rb,1.629415e-01_rb,1.470934e-01_rb,1.340183e-01_rb,& & 1.230935e-01_rb,1.138049e-01_rb,1.058201e-01_rb,9.888245e-02_rb,9.279878e-02_rb,& & 8.742053e-02_rb,8.263175e-02_rb,7.834058e-02_rb,7.447327e-02_rb,7.097000e-02_rb,& & 6.778167e-02_rb,6.486765e-02_rb,6.219400e-02_rb,5.973215e-02_rb,5.745790e-02_rb,& & 5.535059e-02_rb,5.339250e-02_rb,5.156831e-02_rb,4.975308e-02_rb,4.821235e-02_rb,& & 4.675596e-02_rb,4.537727e-02_rb,4.407030e-02_rb,4.282968e-02_rb,4.165053e-02_rb,& & 4.052845e-02_rb,3.945941e-02_rb,3.843980e-02_rb,3.746628e-02_rb,3.653583e-02_rb,& & 3.564567e-02_rb,3.479326e-02_rb,3.397626e-02_rb,3.319253e-02_rb,3.244008e-02_rb,& & 3.171711e-02_rb,3.102189e-02_rb,3.035289e-02_rb,2.970866e-02_rb,2.908784e-02_rb,& & 2.848920e-02_rb,2.791156e-02_rb,2.735385e-02_rb,2.681507e-02_rb,2.629425e-02_rb,& & 2.579053e-02_rb,2.530308e-02_rb,2.4831e-02_rb /) extliq1(:, 29) = (/ & & 4.614710e-01_rb,4.556116e-01_rb,4.056568e-01_rb,3.529833e-01_rb,3.060334e-01_rb,& & 2.658127e-01_rb,2.316095e-01_rb,2.024325e-01_rb,1.773749e-01_rb,1.556867e-01_rb,& & 1.455558e-01_rb,1.332882e-01_rb,1.229052e-01_rb,1.140067e-01_rb,1.062981e-01_rb,& & 9.955703e-02_rb,9.361333e-02_rb,8.833420e-02_rb,8.361467e-02_rb,7.937071e-02_rb,& & 7.553420e-02_rb,7.204942e-02_rb,6.887031e-02_rb,6.595851e-02_rb,6.328178e-02_rb,& & 6.081286e-02_rb,5.852854e-02_rb,5.640892e-02_rb,5.431269e-02_rb,5.252561e-02_rb,& & 5.084345e-02_rb,4.925727e-02_rb,4.775910e-02_rb,4.634182e-02_rb,4.499907e-02_rb,& & 4.372512e-02_rb,4.251484e-02_rb,4.136357e-02_rb,4.026710e-02_rb,3.922162e-02_rb,& & 3.822365e-02_rb,3.727004e-02_rb,3.635790e-02_rb,3.548457e-02_rb,3.464764e-02_rb,& & 3.384488e-02_rb,3.307424e-02_rb,3.233384e-02_rb,3.162192e-02_rb,3.093688e-02_rb,& & 3.027723e-02_rb,2.964158e-02_rb,2.902864e-02_rb,2.843722e-02_rb,2.786621e-02_rb,& & 2.731457e-02_rb,2.678133e-02_rb,2.6266e-02_rb /) ! Single scattering albedo ssaliq1(:, 16) = (/ & & 8.143821e-01_rb,7.836739e-01_rb,7.550722e-01_rb,7.306269e-01_rb,7.105612e-01_rb,& & 6.946649e-01_rb,6.825556e-01_rb,6.737762e-01_rb,6.678448e-01_rb,6.642830e-01_rb,& & 6.679741e-01_rb,6.584607e-01_rb,6.505598e-01_rb,6.440951e-01_rb,6.388901e-01_rb,& & 6.347689e-01_rb,6.315549e-01_rb,6.290718e-01_rb,6.271432e-01_rb,6.255928e-01_rb,& & 6.242441e-01_rb,6.229207e-01_rb,6.214464e-01_rb,6.196445e-01_rb,6.173388e-01_rb,& & 6.143527e-01_rb,6.105099e-01_rb,6.056339e-01_rb,6.108290e-01_rb,6.073939e-01_rb,& & 6.043073e-01_rb,6.015473e-01_rb,5.990913e-01_rb,5.969173e-01_rb,5.950028e-01_rb,& & 5.933257e-01_rb,5.918636e-01_rb,5.905944e-01_rb,5.894957e-01_rb,5.885453e-01_rb,& & 5.877209e-01_rb,5.870003e-01_rb,5.863611e-01_rb,5.857811e-01_rb,5.852381e-01_rb,& & 5.847098e-01_rb,5.841738e-01_rb,5.836081e-01_rb,5.829901e-01_rb,5.822979e-01_rb,& & 5.815089e-01_rb,5.806011e-01_rb,5.795521e-01_rb,5.783396e-01_rb,5.769413e-01_rb,& & 5.753351e-01_rb,5.734986e-01_rb,5.7141e-01_rb /) ssaliq1(:, 17) = (/ & & 8.165821e-01_rb,8.002015e-01_rb,7.816921e-01_rb,7.634131e-01_rb,7.463721e-01_rb,& & 7.312469e-01_rb,7.185883e-01_rb,7.088975e-01_rb,7.026671e-01_rb,7.004020e-01_rb,& & 7.042138e-01_rb,6.960930e-01_rb,6.894243e-01_rb,6.840459e-01_rb,6.797957e-01_rb,& & 6.765119e-01_rb,6.740325e-01_rb,6.721955e-01_rb,6.708391e-01_rb,6.698013e-01_rb,& & 6.689201e-01_rb,6.680339e-01_rb,6.669805e-01_rb,6.655982e-01_rb,6.637250e-01_rb,& & 6.611992e-01_rb,6.578588e-01_rb,6.535420e-01_rb,6.584449e-01_rb,6.553992e-01_rb,& & 6.526547e-01_rb,6.501917e-01_rb,6.479905e-01_rb,6.460313e-01_rb,6.442945e-01_rb,& & 6.427605e-01_rb,6.414094e-01_rb,6.402217e-01_rb,6.391775e-01_rb,6.382573e-01_rb,& & 6.374413e-01_rb,6.367099e-01_rb,6.360433e-01_rb,6.354218e-01_rb,6.348257e-01_rb,& & 6.342355e-01_rb,6.336313e-01_rb,6.329935e-01_rb,6.323023e-01_rb,6.315383e-01_rb,& & 6.306814e-01_rb,6.297122e-01_rb,6.286110e-01_rb,6.273579e-01_rb,6.259333e-01_rb,& & 6.243176e-01_rb,6.224910e-01_rb,6.2043e-01_rb /) ssaliq1(:, 18) = (/ & & 9.900163e-01_rb,9.854307e-01_rb,9.797730e-01_rb,9.733113e-01_rb,9.664245e-01_rb,& & 9.594976e-01_rb,9.529055e-01_rb,9.470112e-01_rb,9.421695e-01_rb,9.387304e-01_rb,& & 9.344918e-01_rb,9.305302e-01_rb,9.267048e-01_rb,9.230072e-01_rb,9.194289e-01_rb,& & 9.159616e-01_rb,9.125968e-01_rb,9.093260e-01_rb,9.061409e-01_rb,9.030330e-01_rb,& & 8.999940e-01_rb,8.970154e-01_rb,8.940888e-01_rb,8.912058e-01_rb,8.883579e-01_rb,& & 8.855368e-01_rb,8.827341e-01_rb,8.799413e-01_rb,8.777423e-01_rb,8.749566e-01_rb,& & 8.722298e-01_rb,8.695605e-01_rb,8.669469e-01_rb,8.643875e-01_rb,8.618806e-01_rb,& & 8.594246e-01_rb,8.570179e-01_rb,8.546589e-01_rb,8.523459e-01_rb,8.500773e-01_rb,& & 8.478516e-01_rb,8.456670e-01_rb,8.435219e-01_rb,8.414148e-01_rb,8.393439e-01_rb,& & 8.373078e-01_rb,8.353047e-01_rb,8.333330e-01_rb,8.313911e-01_rb,8.294774e-01_rb,& & 8.275904e-01_rb,8.257282e-01_rb,8.238893e-01_rb,8.220721e-01_rb,8.202751e-01_rb,& & 8.184965e-01_rb,8.167346e-01_rb,8.1499e-01_rb /) ssaliq1(:, 19) = (/ & & 9.999916e-01_rb,9.987396e-01_rb,9.966900e-01_rb,9.950738e-01_rb,9.937531e-01_rb,& & 9.925912e-01_rb,9.914525e-01_rb,9.902018e-01_rb,9.887046e-01_rb,9.868263e-01_rb,& & 9.849039e-01_rb,9.832372e-01_rb,9.815265e-01_rb,9.797770e-01_rb,9.779940e-01_rb,& & 9.761827e-01_rb,9.743481e-01_rb,9.724955e-01_rb,9.706303e-01_rb,9.687575e-01_rb,& & 9.668823e-01_rb,9.650100e-01_rb,9.631457e-01_rb,9.612947e-01_rb,9.594622e-01_rb,& & 9.576534e-01_rb,9.558734e-01_rb,9.541275e-01_rb,9.522059e-01_rb,9.504258e-01_rb,& & 9.486459e-01_rb,9.468676e-01_rb,9.450921e-01_rb,9.433208e-01_rb,9.415548e-01_rb,& & 9.397955e-01_rb,9.380441e-01_rb,9.363022e-01_rb,9.345706e-01_rb,9.328510e-01_rb,& & 9.311445e-01_rb,9.294524e-01_rb,9.277761e-01_rb,9.261167e-01_rb,9.244755e-01_rb,& & 9.228540e-01_rb,9.212534e-01_rb,9.196748e-01_rb,9.181197e-01_rb,9.165894e-01_rb,& & 9.150851e-01_rb,9.136080e-01_rb,9.121596e-01_rb,9.107410e-01_rb,9.093536e-01_rb,& & 9.079987e-01_rb,9.066775e-01_rb,9.0539e-01_rb /) ssaliq1(:, 20) = (/ & & 9.979493e-01_rb,9.964113e-01_rb,9.950014e-01_rb,9.937045e-01_rb,9.924964e-01_rb,& & 9.913546e-01_rb,9.902575e-01_rb,9.891843e-01_rb,9.881136e-01_rb,9.870238e-01_rb,& & 9.859934e-01_rb,9.849372e-01_rb,9.838873e-01_rb,9.828434e-01_rb,9.818052e-01_rb,& & 9.807725e-01_rb,9.797450e-01_rb,9.787225e-01_rb,9.777047e-01_rb,9.766914e-01_rb,& & 9.756823e-01_rb,9.746771e-01_rb,9.736756e-01_rb,9.726775e-01_rb,9.716827e-01_rb,& & 9.706907e-01_rb,9.697014e-01_rb,9.687145e-01_rb,9.678060e-01_rb,9.668108e-01_rb,& & 9.658218e-01_rb,9.648391e-01_rb,9.638629e-01_rb,9.628936e-01_rb,9.619313e-01_rb,& & 9.609763e-01_rb,9.600287e-01_rb,9.590888e-01_rb,9.581569e-01_rb,9.572330e-01_rb,& & 9.563176e-01_rb,9.554108e-01_rb,9.545128e-01_rb,9.536239e-01_rb,9.527443e-01_rb,& & 9.518741e-01_rb,9.510137e-01_rb,9.501633e-01_rb,9.493230e-01_rb,9.484931e-01_rb,& & 9.476740e-01_rb,9.468656e-01_rb,9.460683e-01_rb,9.452824e-01_rb,9.445080e-01_rb,& & 9.437454e-01_rb,9.429948e-01_rb,9.4226e-01_rb /) ssaliq1(:, 21) = (/ & & 9.988742e-01_rb,9.982668e-01_rb,9.976935e-01_rb,9.971497e-01_rb,9.966314e-01_rb,& & 9.961344e-01_rb,9.956545e-01_rb,9.951873e-01_rb,9.947286e-01_rb,9.942741e-01_rb,& & 9.938457e-01_rb,9.933947e-01_rb,9.929473e-01_rb,9.925032e-01_rb,9.920621e-01_rb,& & 9.916237e-01_rb,9.911875e-01_rb,9.907534e-01_rb,9.903209e-01_rb,9.898898e-01_rb,& & 9.894597e-01_rb,9.890304e-01_rb,9.886015e-01_rb,9.881726e-01_rb,9.877435e-01_rb,& & 9.873138e-01_rb,9.868833e-01_rb,9.864516e-01_rb,9.860698e-01_rb,9.856317e-01_rb,& & 9.851957e-01_rb,9.847618e-01_rb,9.843302e-01_rb,9.839008e-01_rb,9.834739e-01_rb,& & 9.830494e-01_rb,9.826275e-01_rb,9.822083e-01_rb,9.817918e-01_rb,9.813782e-01_rb,& & 9.809675e-01_rb,9.805598e-01_rb,9.801552e-01_rb,9.797538e-01_rb,9.793556e-01_rb,& & 9.789608e-01_rb,9.785695e-01_rb,9.781817e-01_rb,9.777975e-01_rb,9.774171e-01_rb,& & 9.770404e-01_rb,9.766676e-01_rb,9.762988e-01_rb,9.759340e-01_rb,9.755733e-01_rb,& & 9.752169e-01_rb,9.748649e-01_rb,9.7452e-01_rb /) ssaliq1(:, 22) = (/ & & 9.994441e-01_rb,9.991608e-01_rb,9.988949e-01_rb,9.986439e-01_rb,9.984054e-01_rb,& & 9.981768e-01_rb,9.979557e-01_rb,9.977396e-01_rb,9.975258e-01_rb,9.973120e-01_rb,& & 9.971011e-01_rb,9.968852e-01_rb,9.966708e-01_rb,9.964578e-01_rb,9.962462e-01_rb,& & 9.960357e-01_rb,9.958264e-01_rb,9.956181e-01_rb,9.954108e-01_rb,9.952043e-01_rb,& & 9.949987e-01_rb,9.947937e-01_rb,9.945892e-01_rb,9.943853e-01_rb,9.941818e-01_rb,& & 9.939786e-01_rb,9.937757e-01_rb,9.935728e-01_rb,9.933922e-01_rb,9.931825e-01_rb,& & 9.929739e-01_rb,9.927661e-01_rb,9.925592e-01_rb,9.923534e-01_rb,9.921485e-01_rb,& & 9.919447e-01_rb,9.917421e-01_rb,9.915406e-01_rb,9.913403e-01_rb,9.911412e-01_rb,& & 9.909435e-01_rb,9.907470e-01_rb,9.905519e-01_rb,9.903581e-01_rb,9.901659e-01_rb,& & 9.899751e-01_rb,9.897858e-01_rb,9.895981e-01_rb,9.894120e-01_rb,9.892276e-01_rb,& & 9.890447e-01_rb,9.888637e-01_rb,9.886845e-01_rb,9.885070e-01_rb,9.883314e-01_rb,& & 9.881576e-01_rb,9.879859e-01_rb,9.8782e-01_rb /) ssaliq1(:, 23) = (/ & & 9.999138e-01_rb,9.998730e-01_rb,9.998338e-01_rb,9.997965e-01_rb,9.997609e-01_rb,& & 9.997270e-01_rb,9.996944e-01_rb,9.996629e-01_rb,9.996321e-01_rb,9.996016e-01_rb,& & 9.995690e-01_rb,9.995372e-01_rb,9.995057e-01_rb,9.994744e-01_rb,9.994433e-01_rb,& & 9.994124e-01_rb,9.993817e-01_rb,9.993510e-01_rb,9.993206e-01_rb,9.992903e-01_rb,& & 9.992600e-01_rb,9.992299e-01_rb,9.991998e-01_rb,9.991698e-01_rb,9.991398e-01_rb,& & 9.991098e-01_rb,9.990799e-01_rb,9.990499e-01_rb,9.990231e-01_rb,9.989920e-01_rb,& & 9.989611e-01_rb,9.989302e-01_rb,9.988996e-01_rb,9.988690e-01_rb,9.988386e-01_rb,& & 9.988084e-01_rb,9.987783e-01_rb,9.987485e-01_rb,9.987187e-01_rb,9.986891e-01_rb,& & 9.986598e-01_rb,9.986306e-01_rb,9.986017e-01_rb,9.985729e-01_rb,9.985443e-01_rb,& & 9.985160e-01_rb,9.984879e-01_rb,9.984600e-01_rb,9.984324e-01_rb,9.984050e-01_rb,& & 9.983778e-01_rb,9.983509e-01_rb,9.983243e-01_rb,9.982980e-01_rb,9.982719e-01_rb,& & 9.982461e-01_rb,9.982206e-01_rb,9.9820e-01_rb /) ssaliq1(:, 24) = (/ & & 9.999985e-01_rb,9.999979e-01_rb,9.999972e-01_rb,9.999966e-01_rb,9.999961e-01_rb,& & 9.999955e-01_rb,9.999950e-01_rb,9.999944e-01_rb,9.999938e-01_rb,9.999933e-01_rb,& & 9.999927e-01_rb,9.999921e-01_rb,9.999915e-01_rb,9.999910e-01_rb,9.999904e-01_rb,& & 9.999899e-01_rb,9.999893e-01_rb,9.999888e-01_rb,9.999882e-01_rb,9.999877e-01_rb,& & 9.999871e-01_rb,9.999866e-01_rb,9.999861e-01_rb,9.999855e-01_rb,9.999850e-01_rb,& & 9.999844e-01_rb,9.999839e-01_rb,9.999833e-01_rb,9.999828e-01_rb,9.999823e-01_rb,& & 9.999817e-01_rb,9.999812e-01_rb,9.999807e-01_rb,9.999801e-01_rb,9.999796e-01_rb,& & 9.999791e-01_rb,9.999786e-01_rb,9.999781e-01_rb,9.999776e-01_rb,9.999770e-01_rb,& & 9.999765e-01_rb,9.999761e-01_rb,9.999756e-01_rb,9.999751e-01_rb,9.999746e-01_rb,& & 9.999741e-01_rb,9.999736e-01_rb,9.999732e-01_rb,9.999727e-01_rb,9.999722e-01_rb,& & 9.999718e-01_rb,9.999713e-01_rb,9.999709e-01_rb,9.999705e-01_rb,9.999701e-01_rb,& & 9.999697e-01_rb,9.999692e-01_rb,9.9997e-01_rb /) ssaliq1(:, 25) = (/ & & 9.999999e-01_rb,9.999998e-01_rb,9.999997e-01_rb,9.999997e-01_rb,9.999997e-01_rb,& & 9.999996e-01_rb,9.999996e-01_rb,9.999995e-01_rb,9.999995e-01_rb,9.999994e-01_rb,& & 9.999994e-01_rb,9.999993e-01_rb,9.999993e-01_rb,9.999992e-01_rb,9.999992e-01_rb,& & 9.999991e-01_rb,9.999991e-01_rb,9.999991e-01_rb,9.999990e-01_rb,9.999989e-01_rb,& & 9.999989e-01_rb,9.999989e-01_rb,9.999988e-01_rb,9.999988e-01_rb,9.999987e-01_rb,& & 9.999987e-01_rb,9.999986e-01_rb,9.999986e-01_rb,9.999985e-01_rb,9.999985e-01_rb,& & 9.999984e-01_rb,9.999984e-01_rb,9.999984e-01_rb,9.999983e-01_rb,9.999983e-01_rb,& & 9.999982e-01_rb,9.999982e-01_rb,9.999982e-01_rb,9.999981e-01_rb,9.999980e-01_rb,& & 9.999980e-01_rb,9.999980e-01_rb,9.999979e-01_rb,9.999979e-01_rb,9.999978e-01_rb,& & 9.999978e-01_rb,9.999977e-01_rb,9.999977e-01_rb,9.999977e-01_rb,9.999976e-01_rb,& & 9.999976e-01_rb,9.999975e-01_rb,9.999975e-01_rb,9.999974e-01_rb,9.999974e-01_rb,& & 9.999974e-01_rb,9.999973e-01_rb,1.0000e+00_rb /) ssaliq1(:, 26) = (/ & & 9.999997e-01_rb,9.999995e-01_rb,9.999993e-01_rb,9.999992e-01_rb,9.999990e-01_rb,& & 9.999989e-01_rb,9.999988e-01_rb,9.999987e-01_rb,9.999986e-01_rb,9.999985e-01_rb,& & 9.999984e-01_rb,9.999983e-01_rb,9.999982e-01_rb,9.999981e-01_rb,9.999980e-01_rb,& & 9.999978e-01_rb,9.999977e-01_rb,9.999976e-01_rb,9.999975e-01_rb,9.999974e-01_rb,& & 9.999973e-01_rb,9.999972e-01_rb,9.999970e-01_rb,9.999969e-01_rb,9.999968e-01_rb,& & 9.999967e-01_rb,9.999966e-01_rb,9.999965e-01_rb,9.999964e-01_rb,9.999963e-01_rb,& & 9.999962e-01_rb,9.999961e-01_rb,9.999959e-01_rb,9.999958e-01_rb,9.999957e-01_rb,& & 9.999956e-01_rb,9.999955e-01_rb,9.999954e-01_rb,9.999953e-01_rb,9.999952e-01_rb,& & 9.999951e-01_rb,9.999949e-01_rb,9.999949e-01_rb,9.999947e-01_rb,9.999946e-01_rb,& & 9.999945e-01_rb,9.999944e-01_rb,9.999943e-01_rb,9.999942e-01_rb,9.999941e-01_rb,& & 9.999940e-01_rb,9.999939e-01_rb,9.999938e-01_rb,9.999937e-01_rb,9.999936e-01_rb,& & 9.999935e-01_rb,9.999934e-01_rb,9.9999e-01_rb /) ssaliq1(:, 27) = (/ & & 9.999984e-01_rb,9.999976e-01_rb,9.999969e-01_rb,9.999962e-01_rb,9.999956e-01_rb,& & 9.999950e-01_rb,9.999945e-01_rb,9.999940e-01_rb,9.999935e-01_rb,9.999931e-01_rb,& & 9.999926e-01_rb,9.999920e-01_rb,9.999914e-01_rb,9.999908e-01_rb,9.999903e-01_rb,& & 9.999897e-01_rb,9.999891e-01_rb,9.999886e-01_rb,9.999880e-01_rb,9.999874e-01_rb,& & 9.999868e-01_rb,9.999863e-01_rb,9.999857e-01_rb,9.999851e-01_rb,9.999846e-01_rb,& & 9.999840e-01_rb,9.999835e-01_rb,9.999829e-01_rb,9.999824e-01_rb,9.999818e-01_rb,& & 9.999812e-01_rb,9.999806e-01_rb,9.999800e-01_rb,9.999795e-01_rb,9.999789e-01_rb,& & 9.999783e-01_rb,9.999778e-01_rb,9.999773e-01_rb,9.999767e-01_rb,9.999761e-01_rb,& & 9.999756e-01_rb,9.999750e-01_rb,9.999745e-01_rb,9.999739e-01_rb,9.999734e-01_rb,& & 9.999729e-01_rb,9.999723e-01_rb,9.999718e-01_rb,9.999713e-01_rb,9.999708e-01_rb,& & 9.999703e-01_rb,9.999697e-01_rb,9.999692e-01_rb,9.999687e-01_rb,9.999683e-01_rb,& & 9.999678e-01_rb,9.999673e-01_rb,9.9997e-01_rb /) ssaliq1(:, 28) = (/ & & 9.999981e-01_rb,9.999973e-01_rb,9.999965e-01_rb,9.999958e-01_rb,9.999951e-01_rb,& & 9.999943e-01_rb,9.999937e-01_rb,9.999930e-01_rb,9.999924e-01_rb,9.999918e-01_rb,& & 9.999912e-01_rb,9.999905e-01_rb,9.999897e-01_rb,9.999890e-01_rb,9.999883e-01_rb,& & 9.999876e-01_rb,9.999869e-01_rb,9.999862e-01_rb,9.999855e-01_rb,9.999847e-01_rb,& & 9.999840e-01_rb,9.999834e-01_rb,9.999827e-01_rb,9.999819e-01_rb,9.999812e-01_rb,& & 9.999805e-01_rb,9.999799e-01_rb,9.999791e-01_rb,9.999785e-01_rb,9.999778e-01_rb,& & 9.999771e-01_rb,9.999764e-01_rb,9.999757e-01_rb,9.999750e-01_rb,9.999743e-01_rb,& & 9.999736e-01_rb,9.999729e-01_rb,9.999722e-01_rb,9.999715e-01_rb,9.999709e-01_rb,& & 9.999701e-01_rb,9.999695e-01_rb,9.999688e-01_rb,9.999682e-01_rb,9.999675e-01_rb,& & 9.999669e-01_rb,9.999662e-01_rb,9.999655e-01_rb,9.999649e-01_rb,9.999642e-01_rb,& & 9.999636e-01_rb,9.999630e-01_rb,9.999624e-01_rb,9.999618e-01_rb,9.999612e-01_rb,& & 9.999606e-01_rb,9.999600e-01_rb,9.9996e-01_rb /) ssaliq1(:, 29) = (/ & & 8.505737e-01_rb,8.465102e-01_rb,8.394829e-01_rb,8.279508e-01_rb,8.110806e-01_rb,& & 7.900397e-01_rb,7.669615e-01_rb,7.444422e-01_rb,7.253055e-01_rb,7.124831e-01_rb,& & 7.016434e-01_rb,6.885485e-01_rb,6.767340e-01_rb,6.661029e-01_rb,6.565577e-01_rb,& & 6.480013e-01_rb,6.403373e-01_rb,6.334697e-01_rb,6.273034e-01_rb,6.217440e-01_rb,& & 6.166983e-01_rb,6.120740e-01_rb,6.077796e-01_rb,6.037249e-01_rb,5.998207e-01_rb,& & 5.959788e-01_rb,5.921123e-01_rb,5.881354e-01_rb,5.891285e-01_rb,5.851143e-01_rb,& & 5.814653e-01_rb,5.781606e-01_rb,5.751792e-01_rb,5.724998e-01_rb,5.701016e-01_rb,& & 5.679634e-01_rb,5.660642e-01_rb,5.643829e-01_rb,5.628984e-01_rb,5.615898e-01_rb,& & 5.604359e-01_rb,5.594158e-01_rb,5.585083e-01_rb,5.576924e-01_rb,5.569470e-01_rb,& & 5.562512e-01_rb,5.555838e-01_rb,5.549239e-01_rb,5.542503e-01_rb,5.535420e-01_rb,& & 5.527781e-01_rb,5.519374e-01_rb,5.509989e-01_rb,5.499417e-01_rb,5.487445e-01_rb,& & 5.473865e-01_rb,5.458466e-01_rb,5.4410e-01_rb /) ! asymmetry parameter asyliq1(:, 16) = (/ & & 8.133297e-01_rb,8.133528e-01_rb,8.173865e-01_rb,8.243205e-01_rb,8.333063e-01_rb,& & 8.436317e-01_rb,8.546611e-01_rb,8.657934e-01_rb,8.764345e-01_rb,8.859837e-01_rb,& & 8.627394e-01_rb,8.824569e-01_rb,8.976887e-01_rb,9.089541e-01_rb,9.167699e-01_rb,& & 9.216517e-01_rb,9.241147e-01_rb,9.246743e-01_rb,9.238469e-01_rb,9.221504e-01_rb,& & 9.201045e-01_rb,9.182299e-01_rb,9.170491e-01_rb,9.170862e-01_rb,9.188653e-01_rb,& & 9.229111e-01_rb,9.297468e-01_rb,9.398950e-01_rb,9.203269e-01_rb,9.260693e-01_rb,& & 9.309373e-01_rb,9.349918e-01_rb,9.382935e-01_rb,9.409030e-01_rb,9.428809e-01_rb,& & 9.442881e-01_rb,9.451851e-01_rb,9.456331e-01_rb,9.456926e-01_rb,9.454247e-01_rb,& & 9.448902e-01_rb,9.441503e-01_rb,9.432661e-01_rb,9.422987e-01_rb,9.413094e-01_rb,& & 9.403594e-01_rb,9.395102e-01_rb,9.388230e-01_rb,9.383594e-01_rb,9.381810e-01_rb,& & 9.383489e-01_rb,9.389251e-01_rb,9.399707e-01_rb,9.415475e-01_rb,9.437167e-01_rb,& & 9.465399e-01_rb,9.500786e-01_rb,9.5439e-01_rb /) asyliq1(:, 17) = (/ & & 8.794448e-01_rb,8.819306e-01_rb,8.837667e-01_rb,8.853832e-01_rb,8.871010e-01_rb,& & 8.892675e-01_rb,8.922584e-01_rb,8.964666e-01_rb,9.022940e-01_rb,9.101456e-01_rb,& & 8.839999e-01_rb,9.035610e-01_rb,9.184568e-01_rb,9.292315e-01_rb,9.364282e-01_rb,& & 9.405887e-01_rb,9.422554e-01_rb,9.419703e-01_rb,9.402759e-01_rb,9.377159e-01_rb,& & 9.348345e-01_rb,9.321769e-01_rb,9.302888e-01_rb,9.297166e-01_rb,9.310075e-01_rb,& & 9.347080e-01_rb,9.413643e-01_rb,9.515216e-01_rb,9.306286e-01_rb,9.361781e-01_rb,& & 9.408374e-01_rb,9.446692e-01_rb,9.477363e-01_rb,9.501013e-01_rb,9.518268e-01_rb,& & 9.529756e-01_rb,9.536105e-01_rb,9.537938e-01_rb,9.535886e-01_rb,9.530574e-01_rb,& & 9.522633e-01_rb,9.512688e-01_rb,9.501370e-01_rb,9.489306e-01_rb,9.477126e-01_rb,& & 9.465459e-01_rb,9.454934e-01_rb,9.446183e-01_rb,9.439833e-01_rb,9.436519e-01_rb,& & 9.436866e-01_rb,9.441508e-01_rb,9.451073e-01_rb,9.466195e-01_rb,9.487501e-01_rb,& & 9.515621e-01_rb,9.551185e-01_rb,9.5948e-01_rb /) asyliq1(:, 18) = (/ & & 8.478817e-01_rb,8.269312e-01_rb,8.161352e-01_rb,8.135960e-01_rb,8.173586e-01_rb,& & 8.254167e-01_rb,8.357072e-01_rb,8.461167e-01_rb,8.544952e-01_rb,8.586776e-01_rb,& & 8.335562e-01_rb,8.524273e-01_rb,8.669052e-01_rb,8.775014e-01_rb,8.847277e-01_rb,& & 8.890958e-01_rb,8.911173e-01_rb,8.913038e-01_rb,8.901669e-01_rb,8.882182e-01_rb,& & 8.859692e-01_rb,8.839315e-01_rb,8.826164e-01_rb,8.825356e-01_rb,8.842004e-01_rb,& & 8.881223e-01_rb,8.948131e-01_rb,9.047837e-01_rb,8.855951e-01_rb,8.911796e-01_rb,& & 8.959229e-01_rb,8.998837e-01_rb,9.031209e-01_rb,9.056939e-01_rb,9.076609e-01_rb,& & 9.090812e-01_rb,9.100134e-01_rb,9.105167e-01_rb,9.106496e-01_rb,9.104712e-01_rb,& & 9.100404e-01_rb,9.094159e-01_rb,9.086568e-01_rb,9.078218e-01_rb,9.069697e-01_rb,& & 9.061595e-01_rb,9.054499e-01_rb,9.048999e-01_rb,9.045683e-01_rb,9.045142e-01_rb,& & 9.047962e-01_rb,9.054730e-01_rb,9.066037e-01_rb,9.082472e-01_rb,9.104623e-01_rb,& & 9.133079e-01_rb,9.168427e-01_rb,9.2113e-01_rb /) asyliq1(:, 19) = (/ & & 8.216697e-01_rb,7.982871e-01_rb,7.891147e-01_rb,7.909083e-01_rb,8.003833e-01_rb,& & 8.142516e-01_rb,8.292290e-01_rb,8.420356e-01_rb,8.493945e-01_rb,8.480316e-01_rb,& & 8.212381e-01_rb,8.394984e-01_rb,8.534095e-01_rb,8.634813e-01_rb,8.702242e-01_rb,& & 8.741483e-01_rb,8.757638e-01_rb,8.755808e-01_rb,8.741095e-01_rb,8.718604e-01_rb,& & 8.693433e-01_rb,8.670686e-01_rb,8.655464e-01_rb,8.652872e-01_rb,8.668006e-01_rb,& & 8.705973e-01_rb,8.771874e-01_rb,8.870809e-01_rb,8.678284e-01_rb,8.732315e-01_rb,& & 8.778084e-01_rb,8.816166e-01_rb,8.847146e-01_rb,8.871603e-01_rb,8.890116e-01_rb,& & 8.903266e-01_rb,8.911632e-01_rb,8.915796e-01_rb,8.916337e-01_rb,8.913834e-01_rb,& & 8.908869e-01_rb,8.902022e-01_rb,8.893873e-01_rb,8.885001e-01_rb,8.875986e-01_rb,& & 8.867411e-01_rb,8.859852e-01_rb,8.853891e-01_rb,8.850111e-01_rb,8.849089e-01_rb,& & 8.851405e-01_rb,8.857639e-01_rb,8.868372e-01_rb,8.884185e-01_rb,8.905656e-01_rb,& & 8.933368e-01_rb,8.967899e-01_rb,9.0098e-01_rb /) asyliq1(:, 20) = (/ & & 8.063610e-01_rb,7.938147e-01_rb,7.921304e-01_rb,7.985092e-01_rb,8.101339e-01_rb,& & 8.242175e-01_rb,8.379913e-01_rb,8.486920e-01_rb,8.535547e-01_rb,8.498083e-01_rb,& & 8.224849e-01_rb,8.405509e-01_rb,8.542436e-01_rb,8.640770e-01_rb,8.705653e-01_rb,& & 8.742227e-01_rb,8.755630e-01_rb,8.751004e-01_rb,8.733491e-01_rb,8.708231e-01_rb,& & 8.680365e-01_rb,8.655035e-01_rb,8.637381e-01_rb,8.632544e-01_rb,8.645665e-01_rb,& & 8.681885e-01_rb,8.746346e-01_rb,8.844188e-01_rb,8.648180e-01_rb,8.700563e-01_rb,& & 8.744672e-01_rb,8.781087e-01_rb,8.810393e-01_rb,8.833174e-01_rb,8.850011e-01_rb,& & 8.861485e-01_rb,8.868183e-01_rb,8.870687e-01_rb,8.869579e-01_rb,8.865441e-01_rb,& & 8.858857e-01_rb,8.850412e-01_rb,8.840686e-01_rb,8.830263e-01_rb,8.819726e-01_rb,& & 8.809658e-01_rb,8.800642e-01_rb,8.793260e-01_rb,8.788099e-01_rb,8.785737e-01_rb,& & 8.786758e-01_rb,8.791746e-01_rb,8.801283e-01_rb,8.815955e-01_rb,8.836340e-01_rb,& & 8.863024e-01_rb,8.896592e-01_rb,8.9376e-01_rb /) asyliq1(:, 21) = (/ & & 7.885899e-01_rb,7.937172e-01_rb,8.020658e-01_rb,8.123971e-01_rb,8.235502e-01_rb,& & 8.343776e-01_rb,8.437336e-01_rb,8.504711e-01_rb,8.534421e-01_rb,8.514978e-01_rb,& & 8.238888e-01_rb,8.417463e-01_rb,8.552057e-01_rb,8.647853e-01_rb,8.710038e-01_rb,& & 8.743798e-01_rb,8.754319e-01_rb,8.746786e-01_rb,8.726386e-01_rb,8.698303e-01_rb,& & 8.667724e-01_rb,8.639836e-01_rb,8.619823e-01_rb,8.612870e-01_rb,8.624165e-01_rb,& & 8.658893e-01_rb,8.722241e-01_rb,8.819394e-01_rb,8.620216e-01_rb,8.671239e-01_rb,& & 8.713983e-01_rb,8.749032e-01_rb,8.776970e-01_rb,8.798385e-01_rb,8.813860e-01_rb,& & 8.823980e-01_rb,8.829332e-01_rb,8.830500e-01_rb,8.828068e-01_rb,8.822623e-01_rb,& & 8.814750e-01_rb,8.805031e-01_rb,8.794056e-01_rb,8.782407e-01_rb,8.770672e-01_rb,& & 8.759432e-01_rb,8.749275e-01_rb,8.740784e-01_rb,8.734547e-01_rb,8.731146e-01_rb,& & 8.731170e-01_rb,8.735199e-01_rb,8.743823e-01_rb,8.757625e-01_rb,8.777191e-01_rb,& & 8.803105e-01_rb,8.835953e-01_rb,8.8763e-01_rb /) asyliq1(:, 22) = (/ & & 7.811516e-01_rb,7.962229e-01_rb,8.096199e-01_rb,8.212996e-01_rb,8.312212e-01_rb,& & 8.393430e-01_rb,8.456236e-01_rb,8.500214e-01_rb,8.524950e-01_rb,8.530031e-01_rb,& & 8.251485e-01_rb,8.429043e-01_rb,8.562461e-01_rb,8.656954e-01_rb,8.717737e-01_rb,& & 8.750020e-01_rb,8.759022e-01_rb,8.749953e-01_rb,8.728027e-01_rb,8.698461e-01_rb,& & 8.666466e-01_rb,8.637257e-01_rb,8.616047e-01_rb,8.608051e-01_rb,8.618483e-01_rb,& & 8.652557e-01_rb,8.715487e-01_rb,8.812485e-01_rb,8.611645e-01_rb,8.662052e-01_rb,& & 8.704173e-01_rb,8.738594e-01_rb,8.765901e-01_rb,8.786678e-01_rb,8.801517e-01_rb,& & 8.810999e-01_rb,8.815713e-01_rb,8.816246e-01_rb,8.813185e-01_rb,8.807114e-01_rb,& & 8.798621e-01_rb,8.788290e-01_rb,8.776713e-01_rb,8.764470e-01_rb,8.752152e-01_rb,& & 8.740343e-01_rb,8.729631e-01_rb,8.720602e-01_rb,8.713842e-01_rb,8.709936e-01_rb,& & 8.709475e-01_rb,8.713041e-01_rb,8.721221e-01_rb,8.734602e-01_rb,8.753774e-01_rb,& & 8.779319e-01_rb,8.811825e-01_rb,8.8519e-01_rb /) asyliq1(:, 23) = (/ & & 7.865744e-01_rb,8.093340e-01_rb,8.257596e-01_rb,8.369940e-01_rb,8.441574e-01_rb,& & 8.483602e-01_rb,8.507096e-01_rb,8.523139e-01_rb,8.542834e-01_rb,8.577321e-01_rb,& & 8.288960e-01_rb,8.465308e-01_rb,8.597175e-01_rb,8.689830e-01_rb,8.748542e-01_rb,& & 8.778584e-01_rb,8.785222e-01_rb,8.773728e-01_rb,8.749370e-01_rb,8.717419e-01_rb,& & 8.683145e-01_rb,8.651816e-01_rb,8.628704e-01_rb,8.619077e-01_rb,8.628205e-01_rb,& & 8.661356e-01_rb,8.723803e-01_rb,8.820815e-01_rb,8.616715e-01_rb,8.666389e-01_rb,& & 8.707753e-01_rb,8.741398e-01_rb,8.767912e-01_rb,8.787885e-01_rb,8.801908e-01_rb,& & 8.810570e-01_rb,8.814460e-01_rb,8.814167e-01_rb,8.810283e-01_rb,8.803395e-01_rb,& & 8.794095e-01_rb,8.782971e-01_rb,8.770613e-01_rb,8.757610e-01_rb,8.744553e-01_rb,& & 8.732031e-01_rb,8.720634e-01_rb,8.710951e-01_rb,8.703572e-01_rb,8.699086e-01_rb,& & 8.698084e-01_rb,8.701155e-01_rb,8.708887e-01_rb,8.721872e-01_rb,8.740698e-01_rb,& & 8.765957e-01_rb,8.798235e-01_rb,8.8381e-01_rb /) asyliq1(:, 24) = (/ & & 8.069513e-01_rb,8.262939e-01_rb,8.398241e-01_rb,8.486352e-01_rb,8.538213e-01_rb,& & 8.564743e-01_rb,8.576854e-01_rb,8.585455e-01_rb,8.601452e-01_rb,8.635755e-01_rb,& & 8.337383e-01_rb,8.512655e-01_rb,8.643049e-01_rb,8.733896e-01_rb,8.790535e-01_rb,& & 8.818295e-01_rb,8.822518e-01_rb,8.808533e-01_rb,8.781676e-01_rb,8.747284e-01_rb,& & 8.710690e-01_rb,8.677229e-01_rb,8.652236e-01_rb,8.641047e-01_rb,8.648993e-01_rb,& & 8.681413e-01_rb,8.743640e-01_rb,8.841007e-01_rb,8.633558e-01_rb,8.682719e-01_rb,& & 8.723543e-01_rb,8.756621e-01_rb,8.782547e-01_rb,8.801915e-01_rb,8.815318e-01_rb,& & 8.823347e-01_rb,8.826598e-01_rb,8.825663e-01_rb,8.821135e-01_rb,8.813608e-01_rb,& & 8.803674e-01_rb,8.791928e-01_rb,8.778960e-01_rb,8.765366e-01_rb,8.751738e-01_rb,& & 8.738670e-01_rb,8.726755e-01_rb,8.716585e-01_rb,8.708755e-01_rb,8.703856e-01_rb,& & 8.702483e-01_rb,8.705229e-01_rb,8.712687e-01_rb,8.725448e-01_rb,8.744109e-01_rb,& & 8.769260e-01_rb,8.801496e-01_rb,8.8414e-01_rb /) asyliq1(:, 25) = (/ & & 8.252182e-01_rb,8.379244e-01_rb,8.471709e-01_rb,8.535760e-01_rb,8.577540e-01_rb,& & 8.603183e-01_rb,8.618820e-01_rb,8.630578e-01_rb,8.644587e-01_rb,8.666970e-01_rb,& & 8.362159e-01_rb,8.536817e-01_rb,8.666387e-01_rb,8.756240e-01_rb,8.811746e-01_rb,& & 8.838273e-01_rb,8.841191e-01_rb,8.825871e-01_rb,8.797681e-01_rb,8.761992e-01_rb,& & 8.724174e-01_rb,8.689593e-01_rb,8.663623e-01_rb,8.651632e-01_rb,8.658988e-01_rb,& & 8.691064e-01_rb,8.753226e-01_rb,8.850847e-01_rb,8.641620e-01_rb,8.690500e-01_rb,& & 8.731026e-01_rb,8.763795e-01_rb,8.789400e-01_rb,8.808438e-01_rb,8.821503e-01_rb,& & 8.829191e-01_rb,8.832095e-01_rb,8.830813e-01_rb,8.825938e-01_rb,8.818064e-01_rb,& & 8.807787e-01_rb,8.795704e-01_rb,8.782408e-01_rb,8.768493e-01_rb,8.754557e-01_rb,& & 8.741193e-01_rb,8.728995e-01_rb,8.718561e-01_rb,8.710484e-01_rb,8.705360e-01_rb,& & 8.703782e-01_rb,8.706347e-01_rb,8.713650e-01_rb,8.726285e-01_rb,8.744849e-01_rb,& & 8.769933e-01_rb,8.802136e-01_rb,8.8421e-01_rb /) asyliq1(:, 26) = (/ & & 8.370583e-01_rb,8.467920e-01_rb,8.537769e-01_rb,8.585136e-01_rb,8.615034e-01_rb,& & 8.632474e-01_rb,8.642468e-01_rb,8.650026e-01_rb,8.660161e-01_rb,8.677882e-01_rb,& & 8.369760e-01_rb,8.543821e-01_rb,8.672699e-01_rb,8.761782e-01_rb,8.816454e-01_rb,& & 8.842103e-01_rb,8.844114e-01_rb,8.827872e-01_rb,8.798766e-01_rb,8.762179e-01_rb,& & 8.723500e-01_rb,8.688112e-01_rb,8.661403e-01_rb,8.648758e-01_rb,8.655563e-01_rb,& & 8.687206e-01_rb,8.749072e-01_rb,8.846546e-01_rb,8.636289e-01_rb,8.684849e-01_rb,& & 8.725054e-01_rb,8.757501e-01_rb,8.782785e-01_rb,8.801503e-01_rb,8.814249e-01_rb,& & 8.821620e-01_rb,8.824211e-01_rb,8.822620e-01_rb,8.817440e-01_rb,8.809268e-01_rb,& & 8.798699e-01_rb,8.786330e-01_rb,8.772756e-01_rb,8.758572e-01_rb,8.744374e-01_rb,& & 8.730760e-01_rb,8.718323e-01_rb,8.707660e-01_rb,8.699366e-01_rb,8.694039e-01_rb,& & 8.692271e-01_rb,8.694661e-01_rb,8.701803e-01_rb,8.714293e-01_rb,8.732727e-01_rb,& & 8.757702e-01_rb,8.789811e-01_rb,8.8297e-01_rb /) asyliq1(:, 27) = (/ & & 8.430819e-01_rb,8.510060e-01_rb,8.567270e-01_rb,8.606533e-01_rb,8.631934e-01_rb,& & 8.647554e-01_rb,8.657471e-01_rb,8.665760e-01_rb,8.676496e-01_rb,8.693754e-01_rb,& & 8.384298e-01_rb,8.557913e-01_rb,8.686214e-01_rb,8.774605e-01_rb,8.828495e-01_rb,& & 8.853287e-01_rb,8.854393e-01_rb,8.837215e-01_rb,8.807161e-01_rb,8.769639e-01_rb,& & 8.730053e-01_rb,8.693812e-01_rb,8.666321e-01_rb,8.652988e-01_rb,8.659219e-01_rb,& & 8.690419e-01_rb,8.751999e-01_rb,8.849360e-01_rb,8.638013e-01_rb,8.686371e-01_rb,& & 8.726369e-01_rb,8.758605e-01_rb,8.783674e-01_rb,8.802176e-01_rb,8.814705e-01_rb,& & 8.821859e-01_rb,8.824234e-01_rb,8.822429e-01_rb,8.817038e-01_rb,8.808658e-01_rb,& & 8.797887e-01_rb,8.785323e-01_rb,8.771560e-01_rb,8.757196e-01_rb,8.742828e-01_rb,& & 8.729052e-01_rb,8.716467e-01_rb,8.705666e-01_rb,8.697250e-01_rb,8.691812e-01_rb,& & 8.689950e-01_rb,8.692264e-01_rb,8.699346e-01_rb,8.711795e-01_rb,8.730209e-01_rb,& & 8.755181e-01_rb,8.787312e-01_rb,8.8272e-01_rb /) asyliq1(:, 28) = (/ & & 8.452284e-01_rb,8.522700e-01_rb,8.572973e-01_rb,8.607031e-01_rb,8.628802e-01_rb,& & 8.642215e-01_rb,8.651198e-01_rb,8.659679e-01_rb,8.671588e-01_rb,8.690853e-01_rb,& & 8.383803e-01_rb,8.557485e-01_rb,8.685851e-01_rb,8.774303e-01_rb,8.828245e-01_rb,& & 8.853077e-01_rb,8.854207e-01_rb,8.837034e-01_rb,8.806962e-01_rb,8.769398e-01_rb,& & 8.729740e-01_rb,8.693393e-01_rb,8.665761e-01_rb,8.652247e-01_rb,8.658253e-01_rb,& & 8.689182e-01_rb,8.750438e-01_rb,8.847424e-01_rb,8.636140e-01_rb,8.684449e-01_rb,& & 8.724400e-01_rb,8.756589e-01_rb,8.781613e-01_rb,8.800072e-01_rb,8.812559e-01_rb,& & 8.819671e-01_rb,8.822007e-01_rb,8.820165e-01_rb,8.814737e-01_rb,8.806322e-01_rb,& & 8.795518e-01_rb,8.782923e-01_rb,8.769129e-01_rb,8.754737e-01_rb,8.740342e-01_rb,& & 8.726542e-01_rb,8.713934e-01_rb,8.703111e-01_rb,8.694677e-01_rb,8.689222e-01_rb,& & 8.687344e-01_rb,8.689646e-01_rb,8.696715e-01_rb,8.709156e-01_rb,8.727563e-01_rb,& & 8.752531e-01_rb,8.784659e-01_rb,8.8245e-01_rb /) asyliq1(:, 29) = (/ & & 7.800869e-01_rb,8.091120e-01_rb,8.325369e-01_rb,8.466266e-01_rb,8.515495e-01_rb,& & 8.499371e-01_rb,8.456203e-01_rb,8.430521e-01_rb,8.470286e-01_rb,8.625431e-01_rb,& & 8.402261e-01_rb,8.610822e-01_rb,8.776608e-01_rb,8.904485e-01_rb,8.999294e-01_rb,& & 9.065860e-01_rb,9.108995e-01_rb,9.133503e-01_rb,9.144187e-01_rb,9.145855e-01_rb,& & 9.143320e-01_rb,9.141402e-01_rb,9.144933e-01_rb,9.158754e-01_rb,9.187716e-01_rb,& & 9.236677e-01_rb,9.310503e-01_rb,9.414058e-01_rb,9.239108e-01_rb,9.300719e-01_rb,& & 9.353612e-01_rb,9.398378e-01_rb,9.435609e-01_rb,9.465895e-01_rb,9.489829e-01_rb,& & 9.508000e-01_rb,9.521002e-01_rb,9.529424e-01_rb,9.533860e-01_rb,9.534902e-01_rb,& & 9.533143e-01_rb,9.529177e-01_rb,9.523596e-01_rb,9.516997e-01_rb,9.509973e-01_rb,& & 9.503121e-01_rb,9.497037e-01_rb,9.492317e-01_rb,9.489558e-01_rb,9.489356e-01_rb,& & 9.492311e-01_rb,9.499019e-01_rb,9.510077e-01_rb,9.526084e-01_rb,9.547636e-01_rb,& & 9.575331e-01_rb,9.609766e-01_rb,9.6515e-01_rb /) ! Spherical Ice Particle Parameterization ! extinction units (ext coef/iwc): [(m^-1)/(g m^-3)] extice2(:, 16) = (/ & ! band 16 & 4.101824e-01_rb,2.435514e-01_rb,1.713697e-01_rb,1.314865e-01_rb,1.063406e-01_rb,& & 8.910701e-02_rb,7.659480e-02_rb,6.711784e-02_rb,5.970353e-02_rb,5.375249e-02_rb,& & 4.887577e-02_rb,4.481025e-02_rb,4.137171e-02_rb,3.842744e-02_rb,3.587948e-02_rb,& & 3.365396e-02_rb,3.169419e-02_rb,2.995593e-02_rb,2.840419e-02_rb,2.701091e-02_rb,& & 2.575336e-02_rb,2.461293e-02_rb,2.357423e-02_rb,2.262443e-02_rb,2.175276e-02_rb,& & 2.095012e-02_rb,2.020875e-02_rb,1.952199e-02_rb,1.888412e-02_rb,1.829018e-02_rb,& & 1.773586e-02_rb,1.721738e-02_rb,1.673144e-02_rb,1.627510e-02_rb,1.584579e-02_rb,& & 1.544122e-02_rb,1.505934e-02_rb,1.469833e-02_rb,1.435654e-02_rb,1.403251e-02_rb,& & 1.372492e-02_rb,1.343255e-02_rb,1.315433e-02_rb /) extice2(:, 17) = (/ & ! band 17 & 3.836650e-01_rb,2.304055e-01_rb,1.637265e-01_rb,1.266681e-01_rb,1.031602e-01_rb,& & 8.695191e-02_rb,7.511544e-02_rb,6.610009e-02_rb,5.900909e-02_rb,5.328833e-02_rb,& & 4.857728e-02_rb,4.463133e-02_rb,4.127880e-02_rb,3.839567e-02_rb,3.589013e-02_rb,& & 3.369280e-02_rb,3.175027e-02_rb,3.002079e-02_rb,2.847121e-02_rb,2.707493e-02_rb,& & 2.581031e-02_rb,2.465962e-02_rb,2.360815e-02_rb,2.264363e-02_rb,2.175571e-02_rb,& & 2.093563e-02_rb,2.017592e-02_rb,1.947015e-02_rb,1.881278e-02_rb,1.819901e-02_rb,& & 1.762463e-02_rb,1.708598e-02_rb,1.657982e-02_rb,1.610330e-02_rb,1.565390e-02_rb,& & 1.522937e-02_rb,1.482768e-02_rb,1.444706e-02_rb,1.408588e-02_rb,1.374270e-02_rb,& & 1.341619e-02_rb,1.310517e-02_rb,1.280857e-02_rb /) extice2(:, 18) = (/ & ! band 18 & 4.152673e-01_rb,2.436816e-01_rb,1.702243e-01_rb,1.299704e-01_rb,1.047528e-01_rb,& & 8.756039e-02_rb,7.513327e-02_rb,6.575690e-02_rb,5.844616e-02_rb,5.259609e-02_rb,& & 4.781531e-02_rb,4.383980e-02_rb,4.048517e-02_rb,3.761891e-02_rb,3.514342e-02_rb,& & 3.298525e-02_rb,3.108814e-02_rb,2.940825e-02_rb,2.791096e-02_rb,2.656858e-02_rb,& & 2.535869e-02_rb,2.426297e-02_rb,2.326627e-02_rb,2.235602e-02_rb,2.152164e-02_rb,& & 2.075420e-02_rb,2.004613e-02_rb,1.939091e-02_rb,1.878296e-02_rb,1.821744e-02_rb,& & 1.769015e-02_rb,1.719741e-02_rb,1.673600e-02_rb,1.630308e-02_rb,1.589615e-02_rb,& & 1.551298e-02_rb,1.515159e-02_rb,1.481021e-02_rb,1.448726e-02_rb,1.418131e-02_rb,& & 1.389109e-02_rb,1.361544e-02_rb,1.335330e-02_rb /) extice2(:, 19) = (/ & ! band 19 & 3.873250e-01_rb,2.331609e-01_rb,1.655002e-01_rb,1.277753e-01_rb,1.038247e-01_rb,& & 8.731780e-02_rb,7.527638e-02_rb,6.611873e-02_rb,5.892850e-02_rb,5.313885e-02_rb,& & 4.838068e-02_rb,4.440356e-02_rb,4.103167e-02_rb,3.813804e-02_rb,3.562870e-02_rb,& & 3.343269e-02_rb,3.149539e-02_rb,2.977414e-02_rb,2.823510e-02_rb,2.685112e-02_rb,& & 2.560015e-02_rb,2.446411e-02_rb,2.342805e-02_rb,2.247948e-02_rb,2.160789e-02_rb,& & 2.080438e-02_rb,2.006139e-02_rb,1.937238e-02_rb,1.873177e-02_rb,1.813469e-02_rb,& & 1.757689e-02_rb,1.705468e-02_rb,1.656479e-02_rb,1.610435e-02_rb,1.567081e-02_rb,& & 1.526192e-02_rb,1.487565e-02_rb,1.451020e-02_rb,1.416396e-02_rb,1.383546e-02_rb,& & 1.352339e-02_rb,1.322657e-02_rb,1.294392e-02_rb /) extice2(:, 20) = (/ & ! band 20 & 3.784280e-01_rb,2.291396e-01_rb,1.632551e-01_rb,1.263775e-01_rb,1.028944e-01_rb,& & 8.666975e-02_rb,7.480952e-02_rb,6.577335e-02_rb,5.866714e-02_rb,5.293694e-02_rb,& & 4.822153e-02_rb,4.427547e-02_rb,4.092626e-02_rb,3.804918e-02_rb,3.555184e-02_rb,& & 3.336440e-02_rb,3.143307e-02_rb,2.971577e-02_rb,2.817912e-02_rb,2.679632e-02_rb,& & 2.554558e-02_rb,2.440903e-02_rb,2.337187e-02_rb,2.242173e-02_rb,2.154821e-02_rb,& & 2.074249e-02_rb,1.999706e-02_rb,1.930546e-02_rb,1.866212e-02_rb,1.806221e-02_rb,& & 1.750152e-02_rb,1.697637e-02_rb,1.648352e-02_rb,1.602010e-02_rb,1.558358e-02_rb,& & 1.517172e-02_rb,1.478250e-02_rb,1.441413e-02_rb,1.406498e-02_rb,1.373362e-02_rb,& & 1.341872e-02_rb,1.311911e-02_rb,1.283371e-02_rb /) extice2(:, 21) = (/ & ! band 21 & 3.719909e-01_rb,2.259490e-01_rb,1.613144e-01_rb,1.250648e-01_rb,1.019462e-01_rb,& & 8.595358e-02_rb,7.425064e-02_rb,6.532618e-02_rb,5.830218e-02_rb,5.263421e-02_rb,& & 4.796697e-02_rb,4.405891e-02_rb,4.074013e-02_rb,3.788776e-02_rb,3.541071e-02_rb,& & 3.324008e-02_rb,3.132280e-02_rb,2.961733e-02_rb,2.809071e-02_rb,2.671645e-02_rb,& & 2.547302e-02_rb,2.434276e-02_rb,2.331102e-02_rb,2.236558e-02_rb,2.149614e-02_rb,& & 2.069397e-02_rb,1.995163e-02_rb,1.926272e-02_rb,1.862174e-02_rb,1.802389e-02_rb,& & 1.746500e-02_rb,1.694142e-02_rb,1.644994e-02_rb,1.598772e-02_rb,1.555225e-02_rb,& & 1.514129e-02_rb,1.475286e-02_rb,1.438515e-02_rb,1.403659e-02_rb,1.370572e-02_rb,& & 1.339124e-02_rb,1.309197e-02_rb,1.280685e-02_rb /) extice2(:, 22) = (/ & ! band 22 & 3.713158e-01_rb,2.253816e-01_rb,1.608461e-01_rb,1.246718e-01_rb,1.016109e-01_rb,& & 8.566332e-02_rb,7.399666e-02_rb,6.510199e-02_rb,5.810290e-02_rb,5.245608e-02_rb,& & 4.780702e-02_rb,4.391478e-02_rb,4.060989e-02_rb,3.776982e-02_rb,3.530374e-02_rb,& & 3.314296e-02_rb,3.123458e-02_rb,2.953719e-02_rb,2.801794e-02_rb,2.665043e-02_rb,& & 2.541321e-02_rb,2.428868e-02_rb,2.326224e-02_rb,2.232173e-02_rb,2.145688e-02_rb,& & 2.065899e-02_rb,1.992067e-02_rb,1.923552e-02_rb,1.859808e-02_rb,1.800356e-02_rb,& & 1.744782e-02_rb,1.692721e-02_rb,1.643855e-02_rb,1.597900e-02_rb,1.554606e-02_rb,& & 1.513751e-02_rb,1.475137e-02_rb,1.438586e-02_rb,1.403938e-02_rb,1.371050e-02_rb,& & 1.339793e-02_rb,1.310050e-02_rb,1.281713e-02_rb /) extice2(:, 23) = (/ & ! band 23 & 3.605883e-01_rb,2.204388e-01_rb,1.580431e-01_rb,1.229033e-01_rb,1.004203e-01_rb,& & 8.482616e-02_rb,7.338941e-02_rb,6.465105e-02_rb,5.776176e-02_rb,5.219398e-02_rb,& & 4.760288e-02_rb,4.375369e-02_rb,4.048111e-02_rb,3.766539e-02_rb,3.521771e-02_rb,& & 3.307079e-02_rb,3.117277e-02_rb,2.948303e-02_rb,2.796929e-02_rb,2.660560e-02_rb,& & 2.537086e-02_rb,2.424772e-02_rb,2.322182e-02_rb,2.228114e-02_rb,2.141556e-02_rb,& & 2.061649e-02_rb,1.987661e-02_rb,1.918962e-02_rb,1.855009e-02_rb,1.795330e-02_rb,& & 1.739514e-02_rb,1.687199e-02_rb,1.638069e-02_rb,1.591845e-02_rb,1.548276e-02_rb,& & 1.507143e-02_rb,1.468249e-02_rb,1.431416e-02_rb,1.396486e-02_rb,1.363318e-02_rb,& & 1.331781e-02_rb,1.301759e-02_rb,1.273147e-02_rb /) extice2(:, 24) = (/ & ! band 24 & 3.527890e-01_rb,2.168469e-01_rb,1.560090e-01_rb,1.216216e-01_rb,9.955787e-02_rb,& & 8.421942e-02_rb,7.294827e-02_rb,6.432192e-02_rb,5.751081e-02_rb,5.199888e-02_rb,& & 4.744835e-02_rb,4.362899e-02_rb,4.037847e-02_rb,3.757910e-02_rb,3.514351e-02_rb,& & 3.300546e-02_rb,3.111382e-02_rb,2.942853e-02_rb,2.791775e-02_rb,2.655584e-02_rb,& & 2.532195e-02_rb,2.419892e-02_rb,2.317255e-02_rb,2.223092e-02_rb,2.136402e-02_rb,& & 2.056334e-02_rb,1.982160e-02_rb,1.913258e-02_rb,1.849087e-02_rb,1.789178e-02_rb,& & 1.733124e-02_rb,1.680565e-02_rb,1.631187e-02_rb,1.584711e-02_rb,1.540889e-02_rb,& & 1.499502e-02_rb,1.460354e-02_rb,1.423269e-02_rb,1.388088e-02_rb,1.354670e-02_rb,& & 1.322887e-02_rb,1.292620e-02_rb,1.263767e-02_rb /) extice2(:, 25) = (/ & ! band 25 & 3.477874e-01_rb,2.143515e-01_rb,1.544887e-01_rb,1.205942e-01_rb,9.881779e-02_rb,& & 8.366261e-02_rb,7.251586e-02_rb,6.397790e-02_rb,5.723183e-02_rb,5.176908e-02_rb,& & 4.725658e-02_rb,4.346715e-02_rb,4.024055e-02_rb,3.746055e-02_rb,3.504080e-02_rb,& & 3.291583e-02_rb,3.103507e-02_rb,2.935891e-02_rb,2.785582e-02_rb,2.650042e-02_rb,& & 2.527206e-02_rb,2.415376e-02_rb,2.313142e-02_rb,2.219326e-02_rb,2.132934e-02_rb,& & 2.053122e-02_rb,1.979169e-02_rb,1.910456e-02_rb,1.846448e-02_rb,1.786680e-02_rb,& & 1.730745e-02_rb,1.678289e-02_rb,1.628998e-02_rb,1.582595e-02_rb,1.538835e-02_rb,& & 1.497499e-02_rb,1.458393e-02_rb,1.421341e-02_rb,1.386187e-02_rb,1.352788e-02_rb,& & 1.321019e-02_rb,1.290762e-02_rb,1.261913e-02_rb /) extice2(:, 26) = (/ & ! band 26 & 3.453721e-01_rb,2.130744e-01_rb,1.536698e-01_rb,1.200140e-01_rb,9.838078e-02_rb,& & 8.331940e-02_rb,7.223803e-02_rb,6.374775e-02_rb,5.703770e-02_rb,5.160290e-02_rb,& & 4.711259e-02_rb,4.334110e-02_rb,4.012923e-02_rb,3.736150e-02_rb,3.495208e-02_rb,& & 3.283589e-02_rb,3.096267e-02_rb,2.929302e-02_rb,2.779560e-02_rb,2.644517e-02_rb,& & 2.522119e-02_rb,2.410677e-02_rb,2.308788e-02_rb,2.215281e-02_rb,2.129165e-02_rb,& & 2.049602e-02_rb,1.975874e-02_rb,1.907365e-02_rb,1.843542e-02_rb,1.783943e-02_rb,& & 1.728162e-02_rb,1.675847e-02_rb,1.626685e-02_rb,1.580401e-02_rb,1.536750e-02_rb,& & 1.495515e-02_rb,1.456502e-02_rb,1.419537e-02_rb,1.384463e-02_rb,1.351139e-02_rb,& & 1.319438e-02_rb,1.289246e-02_rb,1.260456e-02_rb /) extice2(:, 27) = (/ & ! band 27 & 3.417883e-01_rb,2.113379e-01_rb,1.526395e-01_rb,1.193347e-01_rb,9.790253e-02_rb,& & 8.296715e-02_rb,7.196979e-02_rb,6.353806e-02_rb,5.687024e-02_rb,5.146670e-02_rb,& & 4.700001e-02_rb,4.324667e-02_rb,4.004894e-02_rb,3.729233e-02_rb,3.489172e-02_rb,& & 3.278257e-02_rb,3.091499e-02_rb,2.924987e-02_rb,2.775609e-02_rb,2.640859e-02_rb,& & 2.518695e-02_rb,2.407439e-02_rb,2.305697e-02_rb,2.212303e-02_rb,2.126273e-02_rb,& & 2.046774e-02_rb,1.973090e-02_rb,1.904610e-02_rb,1.840801e-02_rb,1.781204e-02_rb,& & 1.725417e-02_rb,1.673086e-02_rb,1.623902e-02_rb,1.577590e-02_rb,1.533906e-02_rb,& & 1.492634e-02_rb,1.453580e-02_rb,1.416571e-02_rb,1.381450e-02_rb,1.348078e-02_rb,& & 1.316327e-02_rb,1.286082e-02_rb,1.257240e-02_rb /) extice2(:, 28) = (/ & ! band 28 & 3.416111e-01_rb,2.114124e-01_rb,1.527734e-01_rb,1.194809e-01_rb,9.804612e-02_rb,& & 8.310287e-02_rb,7.209595e-02_rb,6.365442e-02_rb,5.697710e-02_rb,5.156460e-02_rb,& & 4.708957e-02_rb,4.332850e-02_rb,4.012361e-02_rb,3.736037e-02_rb,3.495364e-02_rb,& & 3.283879e-02_rb,3.096593e-02_rb,2.929589e-02_rb,2.779751e-02_rb,2.644571e-02_rb,& & 2.522004e-02_rb,2.410369e-02_rb,2.308271e-02_rb,2.214542e-02_rb,2.128195e-02_rb,& & 2.048396e-02_rb,1.974429e-02_rb,1.905679e-02_rb,1.841614e-02_rb,1.781774e-02_rb,& & 1.725754e-02_rb,1.673203e-02_rb,1.623807e-02_rb,1.577293e-02_rb,1.533416e-02_rb,& & 1.491958e-02_rb,1.452727e-02_rb,1.415547e-02_rb,1.380262e-02_rb,1.346732e-02_rb,& & 1.314830e-02_rb,1.284439e-02_rb,1.255456e-02_rb /) extice2(:, 29) = (/ & ! band 29 & 4.196611e-01_rb,2.493642e-01_rb,1.761261e-01_rb,1.357197e-01_rb,1.102161e-01_rb,& & 9.269376e-02_rb,7.992985e-02_rb,7.022538e-02_rb,6.260168e-02_rb,5.645603e-02_rb,& & 5.139732e-02_rb,4.716088e-02_rb,4.356133e-02_rb,4.046498e-02_rb,3.777303e-02_rb,& & 3.541094e-02_rb,3.332137e-02_rb,3.145954e-02_rb,2.978998e-02_rb,2.828419e-02_rb,& & 2.691905e-02_rb,2.567559e-02_rb,2.453811e-02_rb,2.349350e-02_rb,2.253072e-02_rb,& & 2.164042e-02_rb,2.081464e-02_rb,2.004652e-02_rb,1.933015e-02_rb,1.866041e-02_rb,& & 1.803283e-02_rb,1.744348e-02_rb,1.688894e-02_rb,1.636616e-02_rb,1.587244e-02_rb,& & 1.540539e-02_rb,1.496287e-02_rb,1.454295e-02_rb,1.414392e-02_rb,1.376423e-02_rb,& & 1.340247e-02_rb,1.305739e-02_rb,1.272784e-02_rb /) ! single-scattering albedo: unitless ssaice2(:, 16) = (/ & ! band 16 & 6.630615e-01_rb,6.451169e-01_rb,6.333696e-01_rb,6.246927e-01_rb,6.178420e-01_rb,& & 6.121976e-01_rb,6.074069e-01_rb,6.032505e-01_rb,5.995830e-01_rb,5.963030e-01_rb,& & 5.933372e-01_rb,5.906311e-01_rb,5.881427e-01_rb,5.858395e-01_rb,5.836955e-01_rb,& & 5.816896e-01_rb,5.798046e-01_rb,5.780264e-01_rb,5.763429e-01_rb,5.747441e-01_rb,& & 5.732213e-01_rb,5.717672e-01_rb,5.703754e-01_rb,5.690403e-01_rb,5.677571e-01_rb,& & 5.665215e-01_rb,5.653297e-01_rb,5.641782e-01_rb,5.630643e-01_rb,5.619850e-01_rb,& & 5.609381e-01_rb,5.599214e-01_rb,5.589328e-01_rb,5.579707e-01_rb,5.570333e-01_rb,& & 5.561193e-01_rb,5.552272e-01_rb,5.543558e-01_rb,5.535041e-01_rb,5.526708e-01_rb,& & 5.518551e-01_rb,5.510561e-01_rb,5.502729e-01_rb /) ssaice2(:, 17) = (/ & ! band 17 & 7.689749e-01_rb,7.398171e-01_rb,7.205819e-01_rb,7.065690e-01_rb,6.956928e-01_rb,& & 6.868989e-01_rb,6.795813e-01_rb,6.733606e-01_rb,6.679838e-01_rb,6.632742e-01_rb,& & 6.591036e-01_rb,6.553766e-01_rb,6.520197e-01_rb,6.489757e-01_rb,6.461991e-01_rb,& & 6.436531e-01_rb,6.413075e-01_rb,6.391375e-01_rb,6.371221e-01_rb,6.352438e-01_rb,& & 6.334876e-01_rb,6.318406e-01_rb,6.302918e-01_rb,6.288315e-01_rb,6.274512e-01_rb,& & 6.261436e-01_rb,6.249022e-01_rb,6.237211e-01_rb,6.225953e-01_rb,6.215201e-01_rb,& & 6.204914e-01_rb,6.195055e-01_rb,6.185592e-01_rb,6.176492e-01_rb,6.167730e-01_rb,& & 6.159280e-01_rb,6.151120e-01_rb,6.143228e-01_rb,6.135587e-01_rb,6.128177e-01_rb,& & 6.120984e-01_rb,6.113993e-01_rb,6.107189e-01_rb /) ssaice2(:, 18) = (/ & ! band 18 & 9.956167e-01_rb,9.814770e-01_rb,9.716104e-01_rb,9.639746e-01_rb,9.577179e-01_rb,& & 9.524010e-01_rb,9.477672e-01_rb,9.436527e-01_rb,9.399467e-01_rb,9.365708e-01_rb,& & 9.334672e-01_rb,9.305921e-01_rb,9.279118e-01_rb,9.253993e-01_rb,9.230330e-01_rb,& & 9.207954e-01_rb,9.186719e-01_rb,9.166501e-01_rb,9.147199e-01_rb,9.128722e-01_rb,& & 9.110997e-01_rb,9.093956e-01_rb,9.077544e-01_rb,9.061708e-01_rb,9.046406e-01_rb,& & 9.031598e-01_rb,9.017248e-01_rb,9.003326e-01_rb,8.989804e-01_rb,8.976655e-01_rb,& & 8.963857e-01_rb,8.951389e-01_rb,8.939233e-01_rb,8.927370e-01_rb,8.915785e-01_rb,& & 8.904464e-01_rb,8.893392e-01_rb,8.882559e-01_rb,8.871951e-01_rb,8.861559e-01_rb,& & 8.851373e-01_rb,8.841383e-01_rb,8.831581e-01_rb /) ssaice2(:, 19) = (/ & ! band 19 & 9.723177e-01_rb,9.452119e-01_rb,9.267592e-01_rb,9.127393e-01_rb,9.014238e-01_rb,& & 8.919334e-01_rb,8.837584e-01_rb,8.765773e-01_rb,8.701736e-01_rb,8.643950e-01_rb,& & 8.591299e-01_rb,8.542942e-01_rb,8.498230e-01_rb,8.456651e-01_rb,8.417794e-01_rb,& & 8.381324e-01_rb,8.346964e-01_rb,8.314484e-01_rb,8.283687e-01_rb,8.254408e-01_rb,& & 8.226505e-01_rb,8.199854e-01_rb,8.174348e-01_rb,8.149891e-01_rb,8.126403e-01_rb,& & 8.103808e-01_rb,8.082041e-01_rb,8.061044e-01_rb,8.040765e-01_rb,8.021156e-01_rb,& & 8.002174e-01_rb,7.983781e-01_rb,7.965941e-01_rb,7.948622e-01_rb,7.931795e-01_rb,& & 7.915432e-01_rb,7.899508e-01_rb,7.884002e-01_rb,7.868891e-01_rb,7.854156e-01_rb,& & 7.839779e-01_rb,7.825742e-01_rb,7.812031e-01_rb /) ssaice2(:, 20) = (/ & ! band 20 & 9.933294e-01_rb,9.860917e-01_rb,9.811564e-01_rb,9.774008e-01_rb,9.743652e-01_rb,& & 9.718155e-01_rb,9.696159e-01_rb,9.676810e-01_rb,9.659531e-01_rb,9.643915e-01_rb,& & 9.629667e-01_rb,9.616561e-01_rb,9.604426e-01_rb,9.593125e-01_rb,9.582548e-01_rb,& & 9.572607e-01_rb,9.563227e-01_rb,9.554347e-01_rb,9.545915e-01_rb,9.537888e-01_rb,& & 9.530226e-01_rb,9.522898e-01_rb,9.515874e-01_rb,9.509130e-01_rb,9.502643e-01_rb,& & 9.496394e-01_rb,9.490366e-01_rb,9.484542e-01_rb,9.478910e-01_rb,9.473456e-01_rb,& & 9.468169e-01_rb,9.463039e-01_rb,9.458056e-01_rb,9.453212e-01_rb,9.448499e-01_rb,& & 9.443910e-01_rb,9.439438e-01_rb,9.435077e-01_rb,9.430821e-01_rb,9.426666e-01_rb,& & 9.422607e-01_rb,9.418638e-01_rb,9.414756e-01_rb /) ssaice2(:, 21) = (/ & ! band 21 & 9.900787e-01_rb,9.828880e-01_rb,9.779258e-01_rb,9.741173e-01_rb,9.710184e-01_rb,& & 9.684012e-01_rb,9.661332e-01_rb,9.641301e-01_rb,9.623352e-01_rb,9.607083e-01_rb,& & 9.592198e-01_rb,9.578474e-01_rb,9.565739e-01_rb,9.553856e-01_rb,9.542715e-01_rb,& & 9.532226e-01_rb,9.522314e-01_rb,9.512919e-01_rb,9.503986e-01_rb,9.495472e-01_rb,& & 9.487337e-01_rb,9.479549e-01_rb,9.472077e-01_rb,9.464897e-01_rb,9.457985e-01_rb,& & 9.451322e-01_rb,9.444890e-01_rb,9.438673e-01_rb,9.432656e-01_rb,9.426826e-01_rb,& & 9.421173e-01_rb,9.415684e-01_rb,9.410351e-01_rb,9.405164e-01_rb,9.400115e-01_rb,& & 9.395198e-01_rb,9.390404e-01_rb,9.385728e-01_rb,9.381164e-01_rb,9.376707e-01_rb,& & 9.372350e-01_rb,9.368091e-01_rb,9.363923e-01_rb /) ssaice2(:, 22) = (/ & ! band 22 & 9.986793e-01_rb,9.985239e-01_rb,9.983911e-01_rb,9.982715e-01_rb,9.981606e-01_rb,& & 9.980562e-01_rb,9.979567e-01_rb,9.978613e-01_rb,9.977691e-01_rb,9.976798e-01_rb,& & 9.975929e-01_rb,9.975081e-01_rb,9.974251e-01_rb,9.973438e-01_rb,9.972640e-01_rb,& & 9.971855e-01_rb,9.971083e-01_rb,9.970322e-01_rb,9.969571e-01_rb,9.968830e-01_rb,& & 9.968099e-01_rb,9.967375e-01_rb,9.966660e-01_rb,9.965951e-01_rb,9.965250e-01_rb,& & 9.964555e-01_rb,9.963867e-01_rb,9.963185e-01_rb,9.962508e-01_rb,9.961836e-01_rb,& & 9.961170e-01_rb,9.960508e-01_rb,9.959851e-01_rb,9.959198e-01_rb,9.958550e-01_rb,& & 9.957906e-01_rb,9.957266e-01_rb,9.956629e-01_rb,9.955997e-01_rb,9.955367e-01_rb,& & 9.954742e-01_rb,9.954119e-01_rb,9.953500e-01_rb /) ssaice2(:, 23) = (/ & ! band 23 & 9.997944e-01_rb,9.997791e-01_rb,9.997664e-01_rb,9.997547e-01_rb,9.997436e-01_rb,& & 9.997327e-01_rb,9.997219e-01_rb,9.997110e-01_rb,9.996999e-01_rb,9.996886e-01_rb,& & 9.996771e-01_rb,9.996653e-01_rb,9.996533e-01_rb,9.996409e-01_rb,9.996282e-01_rb,& & 9.996152e-01_rb,9.996019e-01_rb,9.995883e-01_rb,9.995743e-01_rb,9.995599e-01_rb,& & 9.995453e-01_rb,9.995302e-01_rb,9.995149e-01_rb,9.994992e-01_rb,9.994831e-01_rb,& & 9.994667e-01_rb,9.994500e-01_rb,9.994329e-01_rb,9.994154e-01_rb,9.993976e-01_rb,& & 9.993795e-01_rb,9.993610e-01_rb,9.993422e-01_rb,9.993230e-01_rb,9.993035e-01_rb,& & 9.992837e-01_rb,9.992635e-01_rb,9.992429e-01_rb,9.992221e-01_rb,9.992008e-01_rb,& & 9.991793e-01_rb,9.991574e-01_rb,9.991352e-01_rb /) ssaice2(:, 24) = (/ & ! band 24 & 9.999949e-01_rb,9.999947e-01_rb,9.999943e-01_rb,9.999939e-01_rb,9.999934e-01_rb,& & 9.999927e-01_rb,9.999920e-01_rb,9.999913e-01_rb,9.999904e-01_rb,9.999895e-01_rb,& & 9.999885e-01_rb,9.999874e-01_rb,9.999863e-01_rb,9.999851e-01_rb,9.999838e-01_rb,& & 9.999824e-01_rb,9.999810e-01_rb,9.999795e-01_rb,9.999780e-01_rb,9.999764e-01_rb,& & 9.999747e-01_rb,9.999729e-01_rb,9.999711e-01_rb,9.999692e-01_rb,9.999673e-01_rb,& & 9.999653e-01_rb,9.999632e-01_rb,9.999611e-01_rb,9.999589e-01_rb,9.999566e-01_rb,& & 9.999543e-01_rb,9.999519e-01_rb,9.999495e-01_rb,9.999470e-01_rb,9.999444e-01_rb,& & 9.999418e-01_rb,9.999392e-01_rb,9.999364e-01_rb,9.999336e-01_rb,9.999308e-01_rb,& & 9.999279e-01_rb,9.999249e-01_rb,9.999219e-01_rb /) ssaice2(:, 25) = (/ & ! band 25 & 9.999997e-01_rb,9.999997e-01_rb,9.999997e-01_rb,9.999996e-01_rb,9.999996e-01_rb,& & 9.999995e-01_rb,9.999994e-01_rb,9.999993e-01_rb,9.999993e-01_rb,9.999992e-01_rb,& & 9.999991e-01_rb,9.999989e-01_rb,9.999988e-01_rb,9.999987e-01_rb,9.999986e-01_rb,& & 9.999984e-01_rb,9.999983e-01_rb,9.999981e-01_rb,9.999980e-01_rb,9.999978e-01_rb,& & 9.999976e-01_rb,9.999974e-01_rb,9.999972e-01_rb,9.999971e-01_rb,9.999969e-01_rb,& & 9.999966e-01_rb,9.999964e-01_rb,9.999962e-01_rb,9.999960e-01_rb,9.999957e-01_rb,& & 9.999955e-01_rb,9.999953e-01_rb,9.999950e-01_rb,9.999947e-01_rb,9.999945e-01_rb,& & 9.999942e-01_rb,9.999939e-01_rb,9.999936e-01_rb,9.999934e-01_rb,9.999931e-01_rb,& & 9.999928e-01_rb,9.999925e-01_rb,9.999921e-01_rb /) ssaice2(:, 26) = (/ & ! band 26 & 9.999997e-01_rb,9.999996e-01_rb,9.999996e-01_rb,9.999995e-01_rb,9.999994e-01_rb,& & 9.999993e-01_rb,9.999992e-01_rb,9.999991e-01_rb,9.999990e-01_rb,9.999989e-01_rb,& & 9.999987e-01_rb,9.999986e-01_rb,9.999984e-01_rb,9.999982e-01_rb,9.999980e-01_rb,& & 9.999978e-01_rb,9.999976e-01_rb,9.999974e-01_rb,9.999972e-01_rb,9.999970e-01_rb,& & 9.999967e-01_rb,9.999965e-01_rb,9.999962e-01_rb,9.999959e-01_rb,9.999956e-01_rb,& & 9.999954e-01_rb,9.999951e-01_rb,9.999947e-01_rb,9.999944e-01_rb,9.999941e-01_rb,& & 9.999938e-01_rb,9.999934e-01_rb,9.999931e-01_rb,9.999927e-01_rb,9.999923e-01_rb,& & 9.999920e-01_rb,9.999916e-01_rb,9.999912e-01_rb,9.999908e-01_rb,9.999904e-01_rb,& & 9.999899e-01_rb,9.999895e-01_rb,9.999891e-01_rb /) ssaice2(:, 27) = (/ & ! band 27 & 9.999987e-01_rb,9.999987e-01_rb,9.999985e-01_rb,9.999984e-01_rb,9.999982e-01_rb,& & 9.999980e-01_rb,9.999978e-01_rb,9.999976e-01_rb,9.999973e-01_rb,9.999970e-01_rb,& & 9.999967e-01_rb,9.999964e-01_rb,9.999960e-01_rb,9.999956e-01_rb,9.999952e-01_rb,& & 9.999948e-01_rb,9.999944e-01_rb,9.999939e-01_rb,9.999934e-01_rb,9.999929e-01_rb,& & 9.999924e-01_rb,9.999918e-01_rb,9.999913e-01_rb,9.999907e-01_rb,9.999901e-01_rb,& & 9.999894e-01_rb,9.999888e-01_rb,9.999881e-01_rb,9.999874e-01_rb,9.999867e-01_rb,& & 9.999860e-01_rb,9.999853e-01_rb,9.999845e-01_rb,9.999837e-01_rb,9.999829e-01_rb,& & 9.999821e-01_rb,9.999813e-01_rb,9.999804e-01_rb,9.999796e-01_rb,9.999787e-01_rb,& & 9.999778e-01_rb,9.999768e-01_rb,9.999759e-01_rb /) ssaice2(:, 28) = (/ & ! band 28 & 9.999989e-01_rb,9.999989e-01_rb,9.999987e-01_rb,9.999986e-01_rb,9.999984e-01_rb,& & 9.999982e-01_rb,9.999980e-01_rb,9.999978e-01_rb,9.999975e-01_rb,9.999972e-01_rb,& & 9.999969e-01_rb,9.999966e-01_rb,9.999962e-01_rb,9.999958e-01_rb,9.999954e-01_rb,& & 9.999950e-01_rb,9.999945e-01_rb,9.999941e-01_rb,9.999936e-01_rb,9.999931e-01_rb,& & 9.999925e-01_rb,9.999920e-01_rb,9.999914e-01_rb,9.999908e-01_rb,9.999902e-01_rb,& & 9.999896e-01_rb,9.999889e-01_rb,9.999883e-01_rb,9.999876e-01_rb,9.999869e-01_rb,& & 9.999861e-01_rb,9.999854e-01_rb,9.999846e-01_rb,9.999838e-01_rb,9.999830e-01_rb,& & 9.999822e-01_rb,9.999814e-01_rb,9.999805e-01_rb,9.999796e-01_rb,9.999787e-01_rb,& & 9.999778e-01_rb,9.999769e-01_rb,9.999759e-01_rb /) ssaice2(:, 29) = (/ & ! band 29 & 7.042143e-01_rb,6.691161e-01_rb,6.463240e-01_rb,6.296590e-01_rb,6.166381e-01_rb,& & 6.060183e-01_rb,5.970908e-01_rb,5.894144e-01_rb,5.826968e-01_rb,5.767343e-01_rb,& & 5.713804e-01_rb,5.665256e-01_rb,5.620867e-01_rb,5.579987e-01_rb,5.542101e-01_rb,& & 5.506794e-01_rb,5.473727e-01_rb,5.442620e-01_rb,5.413239e-01_rb,5.385389e-01_rb,& & 5.358901e-01_rb,5.333633e-01_rb,5.309460e-01_rb,5.286277e-01_rb,5.263988e-01_rb,& & 5.242512e-01_rb,5.221777e-01_rb,5.201719e-01_rb,5.182280e-01_rb,5.163410e-01_rb,& & 5.145062e-01_rb,5.127197e-01_rb,5.109776e-01_rb,5.092766e-01_rb,5.076137e-01_rb,& & 5.059860e-01_rb,5.043911e-01_rb,5.028266e-01_rb,5.012904e-01_rb,4.997805e-01_rb,& & 4.982951e-01_rb,4.968326e-01_rb,4.953913e-01_rb /) ! asymmetry factor: unitless asyice2(:, 16) = (/ & ! band 16 & 7.946655e-01_rb,8.547685e-01_rb,8.806016e-01_rb,8.949880e-01_rb,9.041676e-01_rb,& & 9.105399e-01_rb,9.152249e-01_rb,9.188160e-01_rb,9.216573e-01_rb,9.239620e-01_rb,& & 9.258695e-01_rb,9.274745e-01_rb,9.288441e-01_rb,9.300267e-01_rb,9.310584e-01_rb,& & 9.319665e-01_rb,9.327721e-01_rb,9.334918e-01_rb,9.341387e-01_rb,9.347236e-01_rb,& & 9.352551e-01_rb,9.357402e-01_rb,9.361850e-01_rb,9.365942e-01_rb,9.369722e-01_rb,& & 9.373225e-01_rb,9.376481e-01_rb,9.379516e-01_rb,9.382352e-01_rb,9.385010e-01_rb,& & 9.387505e-01_rb,9.389854e-01_rb,9.392070e-01_rb,9.394163e-01_rb,9.396145e-01_rb,& & 9.398024e-01_rb,9.399809e-01_rb,9.401508e-01_rb,9.403126e-01_rb,9.404670e-01_rb,& & 9.406144e-01_rb,9.407555e-01_rb,9.408906e-01_rb /) asyice2(:, 17) = (/ & ! band 17 & 9.078091e-01_rb,9.195850e-01_rb,9.267250e-01_rb,9.317083e-01_rb,9.354632e-01_rb,& & 9.384323e-01_rb,9.408597e-01_rb,9.428935e-01_rb,9.446301e-01_rb,9.461351e-01_rb,& & 9.474555e-01_rb,9.486259e-01_rb,9.496722e-01_rb,9.506146e-01_rb,9.514688e-01_rb,& & 9.522476e-01_rb,9.529612e-01_rb,9.536181e-01_rb,9.542251e-01_rb,9.547883e-01_rb,& & 9.553124e-01_rb,9.558019e-01_rb,9.562601e-01_rb,9.566904e-01_rb,9.570953e-01_rb,& & 9.574773e-01_rb,9.578385e-01_rb,9.581806e-01_rb,9.585054e-01_rb,9.588142e-01_rb,& & 9.591083e-01_rb,9.593888e-01_rb,9.596569e-01_rb,9.599135e-01_rb,9.601593e-01_rb,& & 9.603952e-01_rb,9.606219e-01_rb,9.608399e-01_rb,9.610499e-01_rb,9.612523e-01_rb,& & 9.614477e-01_rb,9.616365e-01_rb,9.618192e-01_rb /) asyice2(:, 18) = (/ & ! band 18 & 8.322045e-01_rb,8.528693e-01_rb,8.648167e-01_rb,8.729163e-01_rb,8.789054e-01_rb,& & 8.835845e-01_rb,8.873819e-01_rb,8.905511e-01_rb,8.932532e-01_rb,8.955965e-01_rb,& & 8.976567e-01_rb,8.994887e-01_rb,9.011334e-01_rb,9.026221e-01_rb,9.039791e-01_rb,& & 9.052237e-01_rb,9.063715e-01_rb,9.074349e-01_rb,9.084245e-01_rb,9.093489e-01_rb,& & 9.102154e-01_rb,9.110303e-01_rb,9.117987e-01_rb,9.125253e-01_rb,9.132140e-01_rb,& & 9.138682e-01_rb,9.144910e-01_rb,9.150850e-01_rb,9.156524e-01_rb,9.161955e-01_rb,& & 9.167160e-01_rb,9.172157e-01_rb,9.176959e-01_rb,9.181581e-01_rb,9.186034e-01_rb,& & 9.190330e-01_rb,9.194478e-01_rb,9.198488e-01_rb,9.202368e-01_rb,9.206126e-01_rb,& & 9.209768e-01_rb,9.213301e-01_rb,9.216731e-01_rb /) asyice2(:, 19) = (/ & ! band 19 & 8.116560e-01_rb,8.488278e-01_rb,8.674331e-01_rb,8.788148e-01_rb,8.865810e-01_rb,& & 8.922595e-01_rb,8.966149e-01_rb,9.000747e-01_rb,9.028980e-01_rb,9.052513e-01_rb,& & 9.072468e-01_rb,9.089632e-01_rb,9.104574e-01_rb,9.117713e-01_rb,9.129371e-01_rb,& & 9.139793e-01_rb,9.149174e-01_rb,9.157668e-01_rb,9.165400e-01_rb,9.172473e-01_rb,& & 9.178970e-01_rb,9.184962e-01_rb,9.190508e-01_rb,9.195658e-01_rb,9.200455e-01_rb,& & 9.204935e-01_rb,9.209130e-01_rb,9.213067e-01_rb,9.216771e-01_rb,9.220262e-01_rb,& & 9.223560e-01_rb,9.226680e-01_rb,9.229636e-01_rb,9.232443e-01_rb,9.235112e-01_rb,& & 9.237652e-01_rb,9.240074e-01_rb,9.242385e-01_rb,9.244594e-01_rb,9.246708e-01_rb,& & 9.248733e-01_rb,9.250674e-01_rb,9.252536e-01_rb /) asyice2(:, 20) = (/ & ! band 20 & 8.047113e-01_rb,8.402864e-01_rb,8.570332e-01_rb,8.668455e-01_rb,8.733206e-01_rb,& & 8.779272e-01_rb,8.813796e-01_rb,8.840676e-01_rb,8.862225e-01_rb,8.879904e-01_rb,& & 8.894682e-01_rb,8.907228e-01_rb,8.918019e-01_rb,8.927404e-01_rb,8.935645e-01_rb,& & 8.942943e-01_rb,8.949452e-01_rb,8.955296e-01_rb,8.960574e-01_rb,8.965366e-01_rb,& & 8.969736e-01_rb,8.973740e-01_rb,8.977422e-01_rb,8.980820e-01_rb,8.983966e-01_rb,& & 8.986889e-01_rb,8.989611e-01_rb,8.992153e-01_rb,8.994533e-01_rb,8.996766e-01_rb,& & 8.998865e-01_rb,9.000843e-01_rb,9.002709e-01_rb,9.004474e-01_rb,9.006146e-01_rb,& & 9.007731e-01_rb,9.009237e-01_rb,9.010670e-01_rb,9.012034e-01_rb,9.013336e-01_rb,& & 9.014579e-01_rb,9.015767e-01_rb,9.016904e-01_rb /) asyice2(:, 21) = (/ & ! band 21 & 8.179122e-01_rb,8.480726e-01_rb,8.621945e-01_rb,8.704354e-01_rb,8.758555e-01_rb,& & 8.797007e-01_rb,8.825750e-01_rb,8.848078e-01_rb,8.865939e-01_rb,8.880564e-01_rb,& & 8.892765e-01_rb,8.903105e-01_rb,8.911982e-01_rb,8.919689e-01_rb,8.926446e-01_rb,& & 8.932419e-01_rb,8.937738e-01_rb,8.942506e-01_rb,8.946806e-01_rb,8.950702e-01_rb,& & 8.954251e-01_rb,8.957497e-01_rb,8.960477e-01_rb,8.963223e-01_rb,8.965762e-01_rb,& & 8.968116e-01_rb,8.970306e-01_rb,8.972347e-01_rb,8.974255e-01_rb,8.976042e-01_rb,& & 8.977720e-01_rb,8.979298e-01_rb,8.980784e-01_rb,8.982188e-01_rb,8.983515e-01_rb,& & 8.984771e-01_rb,8.985963e-01_rb,8.987095e-01_rb,8.988171e-01_rb,8.989195e-01_rb,& & 8.990172e-01_rb,8.991104e-01_rb,8.991994e-01_rb /) asyice2(:, 22) = (/ & ! band 22 & 8.169789e-01_rb,8.455024e-01_rb,8.586925e-01_rb,8.663283e-01_rb,8.713217e-01_rb,& & 8.748488e-01_rb,8.774765e-01_rb,8.795122e-01_rb,8.811370e-01_rb,8.824649e-01_rb,& & 8.835711e-01_rb,8.845073e-01_rb,8.853103e-01_rb,8.860068e-01_rb,8.866170e-01_rb,& & 8.871560e-01_rb,8.876358e-01_rb,8.880658e-01_rb,8.884533e-01_rb,8.888044e-01_rb,& & 8.891242e-01_rb,8.894166e-01_rb,8.896851e-01_rb,8.899324e-01_rb,8.901612e-01_rb,& & 8.903733e-01_rb,8.905706e-01_rb,8.907545e-01_rb,8.909265e-01_rb,8.910876e-01_rb,& & 8.912388e-01_rb,8.913812e-01_rb,8.915153e-01_rb,8.916419e-01_rb,8.917617e-01_rb,& & 8.918752e-01_rb,8.919829e-01_rb,8.920851e-01_rb,8.921824e-01_rb,8.922751e-01_rb,& & 8.923635e-01_rb,8.924478e-01_rb,8.925284e-01_rb /) asyice2(:, 23) = (/ & ! band 23 & 8.387642e-01_rb,8.569979e-01_rb,8.658630e-01_rb,8.711825e-01_rb,8.747605e-01_rb,& & 8.773472e-01_rb,8.793129e-01_rb,8.808621e-01_rb,8.821179e-01_rb,8.831583e-01_rb,& & 8.840361e-01_rb,8.847875e-01_rb,8.854388e-01_rb,8.860094e-01_rb,8.865138e-01_rb,& & 8.869634e-01_rb,8.873668e-01_rb,8.877310e-01_rb,8.880617e-01_rb,8.883635e-01_rb,& & 8.886401e-01_rb,8.888947e-01_rb,8.891298e-01_rb,8.893477e-01_rb,8.895504e-01_rb,& & 8.897393e-01_rb,8.899159e-01_rb,8.900815e-01_rb,8.902370e-01_rb,8.903833e-01_rb,& & 8.905214e-01_rb,8.906518e-01_rb,8.907753e-01_rb,8.908924e-01_rb,8.910036e-01_rb,& & 8.911094e-01_rb,8.912101e-01_rb,8.913062e-01_rb,8.913979e-01_rb,8.914856e-01_rb,& & 8.915695e-01_rb,8.916498e-01_rb,8.917269e-01_rb /) asyice2(:, 24) = (/ & ! band 24 & 8.522208e-01_rb,8.648132e-01_rb,8.711224e-01_rb,8.749901e-01_rb,8.776354e-01_rb,& & 8.795743e-01_rb,8.810649e-01_rb,8.822518e-01_rb,8.832225e-01_rb,8.840333e-01_rb,& & 8.847224e-01_rb,8.853162e-01_rb,8.858342e-01_rb,8.862906e-01_rb,8.866962e-01_rb,& & 8.870595e-01_rb,8.873871e-01_rb,8.876842e-01_rb,8.879551e-01_rb,8.882032e-01_rb,& & 8.884316e-01_rb,8.886425e-01_rb,8.888380e-01_rb,8.890199e-01_rb,8.891895e-01_rb,& & 8.893481e-01_rb,8.894968e-01_rb,8.896366e-01_rb,8.897683e-01_rb,8.898926e-01_rb,& & 8.900102e-01_rb,8.901215e-01_rb,8.902272e-01_rb,8.903276e-01_rb,8.904232e-01_rb,& & 8.905144e-01_rb,8.906014e-01_rb,8.906845e-01_rb,8.907640e-01_rb,8.908402e-01_rb,& & 8.909132e-01_rb,8.909834e-01_rb,8.910507e-01_rb /) asyice2(:, 25) = (/ & ! band 25 & 8.578202e-01_rb,8.683033e-01_rb,8.735431e-01_rb,8.767488e-01_rb,8.789378e-01_rb,& & 8.805399e-01_rb,8.817701e-01_rb,8.827485e-01_rb,8.835480e-01_rb,8.842152e-01_rb,& & 8.847817e-01_rb,8.852696e-01_rb,8.856949e-01_rb,8.860694e-01_rb,8.864020e-01_rb,& & 8.866997e-01_rb,8.869681e-01_rb,8.872113e-01_rb,8.874330e-01_rb,8.876360e-01_rb,& & 8.878227e-01_rb,8.879951e-01_rb,8.881548e-01_rb,8.883033e-01_rb,8.884418e-01_rb,& & 8.885712e-01_rb,8.886926e-01_rb,8.888066e-01_rb,8.889139e-01_rb,8.890152e-01_rb,& & 8.891110e-01_rb,8.892017e-01_rb,8.892877e-01_rb,8.893695e-01_rb,8.894473e-01_rb,& & 8.895214e-01_rb,8.895921e-01_rb,8.896597e-01_rb,8.897243e-01_rb,8.897862e-01_rb,& & 8.898456e-01_rb,8.899025e-01_rb,8.899572e-01_rb /) asyice2(:, 26) = (/ & ! band 26 & 8.625615e-01_rb,8.713831e-01_rb,8.755799e-01_rb,8.780560e-01_rb,8.796983e-01_rb,& & 8.808714e-01_rb,8.817534e-01_rb,8.824420e-01_rb,8.829953e-01_rb,8.834501e-01_rb,& & 8.838310e-01_rb,8.841549e-01_rb,8.844338e-01_rb,8.846767e-01_rb,8.848902e-01_rb,& & 8.850795e-01_rb,8.852484e-01_rb,8.854002e-01_rb,8.855374e-01_rb,8.856620e-01_rb,& & 8.857758e-01_rb,8.858800e-01_rb,8.859759e-01_rb,8.860644e-01_rb,8.861464e-01_rb,& & 8.862225e-01_rb,8.862935e-01_rb,8.863598e-01_rb,8.864218e-01_rb,8.864800e-01_rb,& & 8.865347e-01_rb,8.865863e-01_rb,8.866349e-01_rb,8.866809e-01_rb,8.867245e-01_rb,& & 8.867658e-01_rb,8.868050e-01_rb,8.868423e-01_rb,8.868778e-01_rb,8.869117e-01_rb,& & 8.869440e-01_rb,8.869749e-01_rb,8.870044e-01_rb /) asyice2(:, 27) = (/ & ! band 27 & 8.587495e-01_rb,8.684764e-01_rb,8.728189e-01_rb,8.752872e-01_rb,8.768846e-01_rb,& & 8.780060e-01_rb,8.788386e-01_rb,8.794824e-01_rb,8.799960e-01_rb,8.804159e-01_rb,& & 8.807660e-01_rb,8.810626e-01_rb,8.813175e-01_rb,8.815390e-01_rb,8.817335e-01_rb,& & 8.819057e-01_rb,8.820593e-01_rb,8.821973e-01_rb,8.823220e-01_rb,8.824353e-01_rb,& & 8.825387e-01_rb,8.826336e-01_rb,8.827209e-01_rb,8.828016e-01_rb,8.828764e-01_rb,& & 8.829459e-01_rb,8.830108e-01_rb,8.830715e-01_rb,8.831283e-01_rb,8.831817e-01_rb,& & 8.832320e-01_rb,8.832795e-01_rb,8.833244e-01_rb,8.833668e-01_rb,8.834071e-01_rb,& & 8.834454e-01_rb,8.834817e-01_rb,8.835164e-01_rb,8.835495e-01_rb,8.835811e-01_rb,& & 8.836113e-01_rb,8.836402e-01_rb,8.836679e-01_rb /) asyice2(:, 28) = (/ & ! band 28 & 8.561110e-01_rb,8.678583e-01_rb,8.727554e-01_rb,8.753892e-01_rb,8.770154e-01_rb,& & 8.781109e-01_rb,8.788949e-01_rb,8.794812e-01_rb,8.799348e-01_rb,8.802952e-01_rb,& & 8.805880e-01_rb,8.808300e-01_rb,8.810331e-01_rb,8.812058e-01_rb,8.813543e-01_rb,& & 8.814832e-01_rb,8.815960e-01_rb,8.816956e-01_rb,8.817839e-01_rb,8.818629e-01_rb,& & 8.819339e-01_rb,8.819979e-01_rb,8.820560e-01_rb,8.821089e-01_rb,8.821573e-01_rb,& & 8.822016e-01_rb,8.822425e-01_rb,8.822801e-01_rb,8.823150e-01_rb,8.823474e-01_rb,& & 8.823775e-01_rb,8.824056e-01_rb,8.824318e-01_rb,8.824564e-01_rb,8.824795e-01_rb,& & 8.825011e-01_rb,8.825215e-01_rb,8.825408e-01_rb,8.825589e-01_rb,8.825761e-01_rb,& & 8.825924e-01_rb,8.826078e-01_rb,8.826224e-01_rb /) asyice2(:, 29) = (/ & ! band 29 & 8.311124e-01_rb,8.688197e-01_rb,8.900274e-01_rb,9.040696e-01_rb,9.142334e-01_rb,& & 9.220181e-01_rb,9.282195e-01_rb,9.333048e-01_rb,9.375689e-01_rb,9.412085e-01_rb,& & 9.443604e-01_rb,9.471230e-01_rb,9.495694e-01_rb,9.517549e-01_rb,9.537224e-01_rb,& & 9.555057e-01_rb,9.571316e-01_rb,9.586222e-01_rb,9.599952e-01_rb,9.612656e-01_rb,& & 9.624458e-01_rb,9.635461e-01_rb,9.645756e-01_rb,9.655418e-01_rb,9.664513e-01_rb,& & 9.673098e-01_rb,9.681222e-01_rb,9.688928e-01_rb,9.696256e-01_rb,9.703237e-01_rb,& & 9.709903e-01_rb,9.716280e-01_rb,9.722391e-01_rb,9.728258e-01_rb,9.733901e-01_rb,& & 9.739336e-01_rb,9.744579e-01_rb,9.749645e-01_rb,9.754546e-01_rb,9.759294e-01_rb,& & 9.763901e-01_rb,9.768376e-01_rb,9.772727e-01_rb /) ! Hexagonal Ice Particle Parameterization ! extinction units (ext coef/iwc): [(m^-1)/(g m^-3)] extice3(:, 16) = (/ & ! band 16 & 5.194013e-01_rb,3.215089e-01_rb,2.327917e-01_rb,1.824424e-01_rb,1.499977e-01_rb,& & 1.273492e-01_rb,1.106421e-01_rb,9.780982e-02_rb,8.764435e-02_rb,7.939266e-02_rb,& & 7.256081e-02_rb,6.681137e-02_rb,6.190600e-02_rb,5.767154e-02_rb,5.397915e-02_rb,& & 5.073102e-02_rb,4.785151e-02_rb,4.528125e-02_rb,4.297296e-02_rb,4.088853e-02_rb,& & 3.899690e-02_rb,3.727251e-02_rb,3.569411e-02_rb,3.424393e-02_rb,3.290694e-02_rb,& & 3.167040e-02_rb,3.052340e-02_rb,2.945654e-02_rb,2.846172e-02_rb,2.753188e-02_rb,& & 2.666085e-02_rb,2.584322e-02_rb,2.507423e-02_rb,2.434967e-02_rb,2.366579e-02_rb,& & 2.301926e-02_rb,2.240711e-02_rb,2.182666e-02_rb,2.127551e-02_rb,2.075150e-02_rb,& & 2.025267e-02_rb,1.977725e-02_rb,1.932364e-02_rb,1.889035e-02_rb,1.847607e-02_rb,& & 1.807956e-02_rb /) extice3(:, 17) = (/ & ! band 17 & 4.901155e-01_rb,3.065286e-01_rb,2.230800e-01_rb,1.753951e-01_rb,1.445402e-01_rb,& & 1.229417e-01_rb,1.069777e-01_rb,9.469760e-02_rb,8.495824e-02_rb,7.704501e-02_rb,& & 7.048834e-02_rb,6.496693e-02_rb,6.025353e-02_rb,5.618286e-02_rb,5.263186e-02_rb,& & 4.950698e-02_rb,4.673585e-02_rb,4.426164e-02_rb,4.203904e-02_rb,4.003153e-02_rb,& & 3.820932e-02_rb,3.654790e-02_rb,3.502688e-02_rb,3.362919e-02_rb,3.234041e-02_rb,& & 3.114829e-02_rb,3.004234e-02_rb,2.901356e-02_rb,2.805413e-02_rb,2.715727e-02_rb,& & 2.631705e-02_rb,2.552828e-02_rb,2.478637e-02_rb,2.408725e-02_rb,2.342734e-02_rb,& & 2.280343e-02_rb,2.221264e-02_rb,2.165242e-02_rb,2.112043e-02_rb,2.061461e-02_rb,& & 2.013308e-02_rb,1.967411e-02_rb,1.923616e-02_rb,1.881783e-02_rb,1.841781e-02_rb,& & 1.803494e-02_rb /) extice3(:, 18) = (/ & ! band 18 & 5.056264e-01_rb,3.160261e-01_rb,2.298442e-01_rb,1.805973e-01_rb,1.487318e-01_rb,& & 1.264258e-01_rb,1.099389e-01_rb,9.725656e-02_rb,8.719819e-02_rb,7.902576e-02_rb,& & 7.225433e-02_rb,6.655206e-02_rb,6.168427e-02_rb,5.748028e-02_rb,5.381296e-02_rb,& & 5.058572e-02_rb,4.772383e-02_rb,4.516857e-02_rb,4.287317e-02_rb,4.079990e-02_rb,& & 3.891801e-02_rb,3.720217e-02_rb,3.563133e-02_rb,3.418786e-02_rb,3.285686e-02_rb,& & 3.162569e-02_rb,3.048352e-02_rb,2.942104e-02_rb,2.843018e-02_rb,2.750395e-02_rb,& & 2.663621e-02_rb,2.582160e-02_rb,2.505539e-02_rb,2.433337e-02_rb,2.365185e-02_rb,& & 2.300750e-02_rb,2.239736e-02_rb,2.181878e-02_rb,2.126937e-02_rb,2.074699e-02_rb,& & 2.024968e-02_rb,1.977567e-02_rb,1.932338e-02_rb,1.889134e-02_rb,1.847823e-02_rb,& & 1.808281e-02_rb /) extice3(:, 19) = (/ & ! band 19 & 4.881605e-01_rb,3.055237e-01_rb,2.225070e-01_rb,1.750688e-01_rb,1.443736e-01_rb,& & 1.228869e-01_rb,1.070054e-01_rb,9.478893e-02_rb,8.509997e-02_rb,7.722769e-02_rb,& & 7.070495e-02_rb,6.521211e-02_rb,6.052311e-02_rb,5.647351e-02_rb,5.294088e-02_rb,& & 4.983217e-02_rb,4.707539e-02_rb,4.461398e-02_rb,4.240288e-02_rb,4.040575e-02_rb,& & 3.859298e-02_rb,3.694016e-02_rb,3.542701e-02_rb,3.403655e-02_rb,3.275444e-02_rb,& & 3.156849e-02_rb,3.046827e-02_rb,2.944481e-02_rb,2.849034e-02_rb,2.759812e-02_rb,& & 2.676226e-02_rb,2.597757e-02_rb,2.523949e-02_rb,2.454400e-02_rb,2.388750e-02_rb,& & 2.326682e-02_rb,2.267909e-02_rb,2.212176e-02_rb,2.159253e-02_rb,2.108933e-02_rb,& & 2.061028e-02_rb,2.015369e-02_rb,1.971801e-02_rb,1.930184e-02_rb,1.890389e-02_rb,& & 1.852300e-02_rb /) extice3(:, 20) = (/ & ! band 20 & 5.103703e-01_rb,3.188144e-01_rb,2.317435e-01_rb,1.819887e-01_rb,1.497944e-01_rb,& & 1.272584e-01_rb,1.106013e-01_rb,9.778822e-02_rb,8.762610e-02_rb,7.936938e-02_rb,& & 7.252809e-02_rb,6.676701e-02_rb,6.184901e-02_rb,5.760165e-02_rb,5.389651e-02_rb,& & 5.063598e-02_rb,4.774457e-02_rb,4.516295e-02_rb,4.284387e-02_rb,4.074922e-02_rb,& & 3.884792e-02_rb,3.711438e-02_rb,3.552734e-02_rb,3.406898e-02_rb,3.272425e-02_rb,& & 3.148038e-02_rb,3.032643e-02_rb,2.925299e-02_rb,2.825191e-02_rb,2.731612e-02_rb,& & 2.643943e-02_rb,2.561642e-02_rb,2.484230e-02_rb,2.411284e-02_rb,2.342429e-02_rb,& & 2.277329e-02_rb,2.215686e-02_rb,2.157231e-02_rb,2.101724e-02_rb,2.048946e-02_rb,& & 1.998702e-02_rb,1.950813e-02_rb,1.905118e-02_rb,1.861468e-02_rb,1.819730e-02_rb,& & 1.779781e-02_rb /) extice3(:, 21) = (/ & ! band 21 & 5.031161e-01_rb,3.144511e-01_rb,2.286942e-01_rb,1.796903e-01_rb,1.479819e-01_rb,& & 1.257860e-01_rb,1.093803e-01_rb,9.676059e-02_rb,8.675183e-02_rb,7.861971e-02_rb,& & 7.188168e-02_rb,6.620754e-02_rb,6.136376e-02_rb,5.718050e-02_rb,5.353127e-02_rb,& & 5.031995e-02_rb,4.747218e-02_rb,4.492952e-02_rb,4.264544e-02_rb,4.058240e-02_rb,& & 3.870979e-02_rb,3.700242e-02_rb,3.543933e-02_rb,3.400297e-02_rb,3.267854e-02_rb,& & 3.145345e-02_rb,3.031691e-02_rb,2.925967e-02_rb,2.827370e-02_rb,2.735203e-02_rb,& & 2.648858e-02_rb,2.567798e-02_rb,2.491555e-02_rb,2.419710e-02_rb,2.351893e-02_rb,& & 2.287776e-02_rb,2.227063e-02_rb,2.169491e-02_rb,2.114821e-02_rb,2.062840e-02_rb,& & 2.013354e-02_rb,1.966188e-02_rb,1.921182e-02_rb,1.878191e-02_rb,1.837083e-02_rb,& & 1.797737e-02_rb /) extice3(:, 22) = (/ & ! band 22 & 4.949453e-01_rb,3.095918e-01_rb,2.253402e-01_rb,1.771964e-01_rb,1.460446e-01_rb,& & 1.242383e-01_rb,1.081206e-01_rb,9.572235e-02_rb,8.588928e-02_rb,7.789990e-02_rb,& & 7.128013e-02_rb,6.570559e-02_rb,6.094684e-02_rb,5.683701e-02_rb,5.325183e-02_rb,& & 5.009688e-02_rb,4.729909e-02_rb,4.480106e-02_rb,4.255708e-02_rb,4.053025e-02_rb,& & 3.869051e-02_rb,3.701310e-02_rb,3.547745e-02_rb,3.406631e-02_rb,3.276512e-02_rb,& & 3.156153e-02_rb,3.044494e-02_rb,2.940626e-02_rb,2.843759e-02_rb,2.753211e-02_rb,& & 2.668381e-02_rb,2.588744e-02_rb,2.513839e-02_rb,2.443255e-02_rb,2.376629e-02_rb,& & 2.313637e-02_rb,2.253990e-02_rb,2.197428e-02_rb,2.143718e-02_rb,2.092649e-02_rb,& & 2.044032e-02_rb,1.997694e-02_rb,1.953478e-02_rb,1.911241e-02_rb,1.870855e-02_rb,& & 1.832199e-02_rb /) extice3(:, 23) = (/ & ! band 23 & 5.052816e-01_rb,3.157665e-01_rb,2.296233e-01_rb,1.803986e-01_rb,1.485473e-01_rb,& & 1.262514e-01_rb,1.097718e-01_rb,9.709524e-02_rb,8.704139e-02_rb,7.887264e-02_rb,& & 7.210424e-02_rb,6.640454e-02_rb,6.153894e-02_rb,5.733683e-02_rb,5.367116e-02_rb,& & 5.044537e-02_rb,4.758477e-02_rb,4.503066e-02_rb,4.273629e-02_rb,4.066395e-02_rb,& & 3.878291e-02_rb,3.706784e-02_rb,3.549771e-02_rb,3.405488e-02_rb,3.272448e-02_rb,& & 3.149387e-02_rb,3.035221e-02_rb,2.929020e-02_rb,2.829979e-02_rb,2.737397e-02_rb,& & 2.650663e-02_rb,2.569238e-02_rb,2.492651e-02_rb,2.420482e-02_rb,2.352361e-02_rb,& & 2.287954e-02_rb,2.226968e-02_rb,2.169136e-02_rb,2.114220e-02_rb,2.062005e-02_rb,& & 2.012296e-02_rb,1.964917e-02_rb,1.919709e-02_rb,1.876524e-02_rb,1.835231e-02_rb,& & 1.795707e-02_rb /) extice3(:, 24) = (/ & ! band 24 & 5.042067e-01_rb,3.151195e-01_rb,2.291708e-01_rb,1.800573e-01_rb,1.482779e-01_rb,& & 1.260324e-01_rb,1.095900e-01_rb,9.694202e-02_rb,8.691087e-02_rb,7.876056e-02_rb,& & 7.200745e-02_rb,6.632062e-02_rb,6.146600e-02_rb,5.727338e-02_rb,5.361599e-02_rb,& & 5.039749e-02_rb,4.754334e-02_rb,4.499500e-02_rb,4.270580e-02_rb,4.063815e-02_rb,& & 3.876135e-02_rb,3.705016e-02_rb,3.548357e-02_rb,3.404400e-02_rb,3.271661e-02_rb,& & 3.148877e-02_rb,3.034969e-02_rb,2.929008e-02_rb,2.830191e-02_rb,2.737818e-02_rb,& & 2.651279e-02_rb,2.570039e-02_rb,2.493624e-02_rb,2.421618e-02_rb,2.353650e-02_rb,& & 2.289390e-02_rb,2.228541e-02_rb,2.170840e-02_rb,2.116048e-02_rb,2.063950e-02_rb,& & 2.014354e-02_rb,1.967082e-02_rb,1.921975e-02_rb,1.878888e-02_rb,1.837688e-02_rb,& & 1.798254e-02_rb /) extice3(:, 25) = (/ & ! band 25 & 5.022507e-01_rb,3.139246e-01_rb,2.283218e-01_rb,1.794059e-01_rb,1.477544e-01_rb,& & 1.255984e-01_rb,1.092222e-01_rb,9.662516e-02_rb,8.663439e-02_rb,7.851688e-02_rb,& & 7.179095e-02_rb,6.612700e-02_rb,6.129193e-02_rb,5.711618e-02_rb,5.347351e-02_rb,& & 5.026796e-02_rb,4.742530e-02_rb,4.488721e-02_rb,4.260724e-02_rb,4.054790e-02_rb,& & 3.867866e-02_rb,3.697435e-02_rb,3.541407e-02_rb,3.398029e-02_rb,3.265824e-02_rb,& & 3.143535e-02_rb,3.030085e-02_rb,2.924551e-02_rb,2.826131e-02_rb,2.734130e-02_rb,& & 2.647939e-02_rb,2.567026e-02_rb,2.490919e-02_rb,2.419203e-02_rb,2.351509e-02_rb,& & 2.287507e-02_rb,2.226903e-02_rb,2.169434e-02_rb,2.114862e-02_rb,2.062975e-02_rb,& & 2.013578e-02_rb,1.966496e-02_rb,1.921571e-02_rb,1.878658e-02_rb,1.837623e-02_rb,& & 1.798348e-02_rb /) extice3(:, 26) = (/ & ! band 26 & 5.068316e-01_rb,3.166869e-01_rb,2.302576e-01_rb,1.808693e-01_rb,1.489122e-01_rb,& & 1.265423e-01_rb,1.100080e-01_rb,9.728926e-02_rb,8.720201e-02_rb,7.900612e-02_rb,& & 7.221524e-02_rb,6.649660e-02_rb,6.161484e-02_rb,5.739877e-02_rb,5.372093e-02_rb,& & 5.048442e-02_rb,4.761431e-02_rb,4.505172e-02_rb,4.274972e-02_rb,4.067050e-02_rb,& & 3.878321e-02_rb,3.706244e-02_rb,3.548710e-02_rb,3.403948e-02_rb,3.270466e-02_rb,& & 3.146995e-02_rb,3.032450e-02_rb,2.925897e-02_rb,2.826527e-02_rb,2.733638e-02_rb,& & 2.646615e-02_rb,2.564920e-02_rb,2.488078e-02_rb,2.415670e-02_rb,2.347322e-02_rb,& & 2.282702e-02_rb,2.221513e-02_rb,2.163489e-02_rb,2.108390e-02_rb,2.056002e-02_rb,& & 2.006128e-02_rb,1.958591e-02_rb,1.913232e-02_rb,1.869904e-02_rb,1.828474e-02_rb,& & 1.788819e-02_rb /) extice3(:, 27) = (/ & ! band 27 & 5.077707e-01_rb,3.172636e-01_rb,2.306695e-01_rb,1.811871e-01_rb,1.491691e-01_rb,& & 1.267565e-01_rb,1.101907e-01_rb,9.744773e-02_rb,8.734125e-02_rb,7.912973e-02_rb,& & 7.232591e-02_rb,6.659637e-02_rb,6.170530e-02_rb,5.748120e-02_rb,5.379634e-02_rb,& & 5.055367e-02_rb,4.767809e-02_rb,4.511061e-02_rb,4.280423e-02_rb,4.072104e-02_rb,& & 3.883015e-02_rb,3.710611e-02_rb,3.552776e-02_rb,3.407738e-02_rb,3.274002e-02_rb,& & 3.150296e-02_rb,3.035532e-02_rb,2.928776e-02_rb,2.829216e-02_rb,2.736150e-02_rb,& & 2.648961e-02_rb,2.567111e-02_rb,2.490123e-02_rb,2.417576e-02_rb,2.349098e-02_rb,& & 2.284354e-02_rb,2.223049e-02_rb,2.164914e-02_rb,2.109711e-02_rb,2.057222e-02_rb,& & 2.007253e-02_rb,1.959626e-02_rb,1.914181e-02_rb,1.870770e-02_rb,1.829261e-02_rb,& & 1.789531e-02_rb /) extice3(:, 28) = (/ & ! band 28 & 5.062281e-01_rb,3.163402e-01_rb,2.300275e-01_rb,1.807060e-01_rb,1.487921e-01_rb,& & 1.264523e-01_rb,1.099403e-01_rb,9.723879e-02_rb,8.716516e-02_rb,7.898034e-02_rb,& & 7.219863e-02_rb,6.648771e-02_rb,6.161254e-02_rb,5.740217e-02_rb,5.372929e-02_rb,& & 5.049716e-02_rb,4.763092e-02_rb,4.507179e-02_rb,4.277290e-02_rb,4.069649e-02_rb,& & 3.881175e-02_rb,3.709331e-02_rb,3.552008e-02_rb,3.407442e-02_rb,3.274141e-02_rb,& & 3.150837e-02_rb,3.036447e-02_rb,2.930037e-02_rb,2.830801e-02_rb,2.738037e-02_rb,& & 2.651132e-02_rb,2.569547e-02_rb,2.492810e-02_rb,2.420499e-02_rb,2.352243e-02_rb,& & 2.287710e-02_rb,2.226604e-02_rb,2.168658e-02_rb,2.113634e-02_rb,2.061316e-02_rb,& & 2.011510e-02_rb,1.964038e-02_rb,1.918740e-02_rb,1.875471e-02_rb,1.834096e-02_rb,& & 1.794495e-02_rb /) extice3(:, 29) = (/ & ! band 29 & 1.338834e-01_rb,1.924912e-01_rb,1.755523e-01_rb,1.534793e-01_rb,1.343937e-01_rb,& & 1.187883e-01_rb,1.060654e-01_rb,9.559106e-02_rb,8.685880e-02_rb,7.948698e-02_rb,& & 7.319086e-02_rb,6.775669e-02_rb,6.302215e-02_rb,5.886236e-02_rb,5.517996e-02_rb,& & 5.189810e-02_rb,4.895539e-02_rb,4.630225e-02_rb,4.389823e-02_rb,4.171002e-02_rb,& & 3.970998e-02_rb,3.787493e-02_rb,3.618537e-02_rb,3.462471e-02_rb,3.317880e-02_rb,& & 3.183547e-02_rb,3.058421e-02_rb,2.941590e-02_rb,2.832256e-02_rb,2.729724e-02_rb,& & 2.633377e-02_rb,2.542675e-02_rb,2.457136e-02_rb,2.376332e-02_rb,2.299882e-02_rb,& & 2.227443e-02_rb,2.158707e-02_rb,2.093400e-02_rb,2.031270e-02_rb,1.972091e-02_rb,& & 1.915659e-02_rb,1.861787e-02_rb,1.810304e-02_rb,1.761055e-02_rb,1.713899e-02_rb,& & 1.668704e-02_rb /) ! single-scattering albedo: unitless ssaice3(:, 16) = (/ & ! band 16 & 6.749442e-01_rb,6.649947e-01_rb,6.565828e-01_rb,6.489928e-01_rb,6.420046e-01_rb,& & 6.355231e-01_rb,6.294964e-01_rb,6.238901e-01_rb,6.186783e-01_rb,6.138395e-01_rb,& & 6.093543e-01_rb,6.052049e-01_rb,6.013742e-01_rb,5.978457e-01_rb,5.946030e-01_rb,& & 5.916302e-01_rb,5.889115e-01_rb,5.864310e-01_rb,5.841731e-01_rb,5.821221e-01_rb,& & 5.802624e-01_rb,5.785785e-01_rb,5.770549e-01_rb,5.756759e-01_rb,5.744262e-01_rb,& & 5.732901e-01_rb,5.722524e-01_rb,5.712974e-01_rb,5.704097e-01_rb,5.695739e-01_rb,& & 5.687747e-01_rb,5.679964e-01_rb,5.672238e-01_rb,5.664415e-01_rb,5.656340e-01_rb,& & 5.647860e-01_rb,5.638821e-01_rb,5.629070e-01_rb,5.618452e-01_rb,5.606815e-01_rb,& & 5.594006e-01_rb,5.579870e-01_rb,5.564255e-01_rb,5.547008e-01_rb,5.527976e-01_rb,& & 5.507005e-01_rb /) ssaice3(:, 17) = (/ & ! band 17 & 7.628550e-01_rb,7.567297e-01_rb,7.508463e-01_rb,7.451972e-01_rb,7.397745e-01_rb,& & 7.345705e-01_rb,7.295775e-01_rb,7.247881e-01_rb,7.201945e-01_rb,7.157894e-01_rb,& & 7.115652e-01_rb,7.075145e-01_rb,7.036300e-01_rb,6.999044e-01_rb,6.963304e-01_rb,& & 6.929007e-01_rb,6.896083e-01_rb,6.864460e-01_rb,6.834067e-01_rb,6.804833e-01_rb,& & 6.776690e-01_rb,6.749567e-01_rb,6.723397e-01_rb,6.698109e-01_rb,6.673637e-01_rb,& & 6.649913e-01_rb,6.626870e-01_rb,6.604441e-01_rb,6.582561e-01_rb,6.561163e-01_rb,& & 6.540182e-01_rb,6.519554e-01_rb,6.499215e-01_rb,6.479099e-01_rb,6.459145e-01_rb,& & 6.439289e-01_rb,6.419468e-01_rb,6.399621e-01_rb,6.379686e-01_rb,6.359601e-01_rb,& & 6.339306e-01_rb,6.318740e-01_rb,6.297845e-01_rb,6.276559e-01_rb,6.254825e-01_rb,& & 6.232583e-01_rb /) ssaice3(:, 18) = (/ & ! band 18 & 9.924147e-01_rb,9.882792e-01_rb,9.842257e-01_rb,9.802522e-01_rb,9.763566e-01_rb,& & 9.725367e-01_rb,9.687905e-01_rb,9.651157e-01_rb,9.615104e-01_rb,9.579725e-01_rb,& & 9.544997e-01_rb,9.510901e-01_rb,9.477416e-01_rb,9.444520e-01_rb,9.412194e-01_rb,& & 9.380415e-01_rb,9.349165e-01_rb,9.318421e-01_rb,9.288164e-01_rb,9.258373e-01_rb,& & 9.229027e-01_rb,9.200106e-01_rb,9.171589e-01_rb,9.143457e-01_rb,9.115688e-01_rb,& & 9.088263e-01_rb,9.061161e-01_rb,9.034362e-01_rb,9.007846e-01_rb,8.981592e-01_rb,& & 8.955581e-01_rb,8.929792e-01_rb,8.904206e-01_rb,8.878803e-01_rb,8.853562e-01_rb,& & 8.828464e-01_rb,8.803488e-01_rb,8.778616e-01_rb,8.753827e-01_rb,8.729102e-01_rb,& & 8.704421e-01_rb,8.679764e-01_rb,8.655112e-01_rb,8.630445e-01_rb,8.605744e-01_rb,& & 8.580989e-01_rb /) ssaice3(:, 19) = (/ & ! band 19 & 9.629413e-01_rb,9.517182e-01_rb,9.409209e-01_rb,9.305366e-01_rb,9.205529e-01_rb,& & 9.109569e-01_rb,9.017362e-01_rb,8.928780e-01_rb,8.843699e-01_rb,8.761992e-01_rb,& & 8.683536e-01_rb,8.608204e-01_rb,8.535873e-01_rb,8.466417e-01_rb,8.399712e-01_rb,& & 8.335635e-01_rb,8.274062e-01_rb,8.214868e-01_rb,8.157932e-01_rb,8.103129e-01_rb,& & 8.050336e-01_rb,7.999432e-01_rb,7.950294e-01_rb,7.902798e-01_rb,7.856825e-01_rb,& & 7.812250e-01_rb,7.768954e-01_rb,7.726815e-01_rb,7.685711e-01_rb,7.645522e-01_rb,& & 7.606126e-01_rb,7.567404e-01_rb,7.529234e-01_rb,7.491498e-01_rb,7.454074e-01_rb,& & 7.416844e-01_rb,7.379688e-01_rb,7.342485e-01_rb,7.305118e-01_rb,7.267468e-01_rb,& & 7.229415e-01_rb,7.190841e-01_rb,7.151628e-01_rb,7.111657e-01_rb,7.070811e-01_rb,& & 7.028972e-01_rb /) ssaice3(:, 20) = (/ & ! band 20 & 9.942270e-01_rb,9.909206e-01_rb,9.876775e-01_rb,9.844960e-01_rb,9.813746e-01_rb,& & 9.783114e-01_rb,9.753049e-01_rb,9.723535e-01_rb,9.694553e-01_rb,9.666088e-01_rb,& & 9.638123e-01_rb,9.610641e-01_rb,9.583626e-01_rb,9.557060e-01_rb,9.530928e-01_rb,& & 9.505211e-01_rb,9.479895e-01_rb,9.454961e-01_rb,9.430393e-01_rb,9.406174e-01_rb,& & 9.382288e-01_rb,9.358717e-01_rb,9.335446e-01_rb,9.312456e-01_rb,9.289731e-01_rb,& & 9.267255e-01_rb,9.245010e-01_rb,9.222980e-01_rb,9.201147e-01_rb,9.179496e-01_rb,& & 9.158008e-01_rb,9.136667e-01_rb,9.115457e-01_rb,9.094359e-01_rb,9.073358e-01_rb,& & 9.052436e-01_rb,9.031577e-01_rb,9.010763e-01_rb,8.989977e-01_rb,8.969203e-01_rb,& & 8.948423e-01_rb,8.927620e-01_rb,8.906778e-01_rb,8.885879e-01_rb,8.864907e-01_rb,& & 8.843843e-01_rb /) ssaice3(:, 21) = (/ & ! band 21 & 9.934014e-01_rb,9.899331e-01_rb,9.865537e-01_rb,9.832610e-01_rb,9.800523e-01_rb,& & 9.769254e-01_rb,9.738777e-01_rb,9.709069e-01_rb,9.680106e-01_rb,9.651862e-01_rb,& & 9.624315e-01_rb,9.597439e-01_rb,9.571212e-01_rb,9.545608e-01_rb,9.520605e-01_rb,& & 9.496177e-01_rb,9.472301e-01_rb,9.448954e-01_rb,9.426111e-01_rb,9.403749e-01_rb,& & 9.381843e-01_rb,9.360370e-01_rb,9.339307e-01_rb,9.318629e-01_rb,9.298313e-01_rb,& & 9.278336e-01_rb,9.258673e-01_rb,9.239302e-01_rb,9.220198e-01_rb,9.201338e-01_rb,& & 9.182700e-01_rb,9.164258e-01_rb,9.145991e-01_rb,9.127874e-01_rb,9.109884e-01_rb,& & 9.091999e-01_rb,9.074194e-01_rb,9.056447e-01_rb,9.038735e-01_rb,9.021033e-01_rb,& & 9.003320e-01_rb,8.985572e-01_rb,8.967766e-01_rb,8.949879e-01_rb,8.931888e-01_rb,& & 8.913770e-01_rb /) ssaice3(:, 22) = (/ & ! band 22 & 9.994833e-01_rb,9.992055e-01_rb,9.989278e-01_rb,9.986500e-01_rb,9.983724e-01_rb,& & 9.980947e-01_rb,9.978172e-01_rb,9.975397e-01_rb,9.972623e-01_rb,9.969849e-01_rb,& & 9.967077e-01_rb,9.964305e-01_rb,9.961535e-01_rb,9.958765e-01_rb,9.955997e-01_rb,& & 9.953230e-01_rb,9.950464e-01_rb,9.947699e-01_rb,9.944936e-01_rb,9.942174e-01_rb,& & 9.939414e-01_rb,9.936656e-01_rb,9.933899e-01_rb,9.931144e-01_rb,9.928390e-01_rb,& & 9.925639e-01_rb,9.922889e-01_rb,9.920141e-01_rb,9.917396e-01_rb,9.914652e-01_rb,& & 9.911911e-01_rb,9.909171e-01_rb,9.906434e-01_rb,9.903700e-01_rb,9.900967e-01_rb,& & 9.898237e-01_rb,9.895510e-01_rb,9.892784e-01_rb,9.890062e-01_rb,9.887342e-01_rb,& & 9.884625e-01_rb,9.881911e-01_rb,9.879199e-01_rb,9.876490e-01_rb,9.873784e-01_rb,& & 9.871081e-01_rb /) ssaice3(:, 23) = (/ & ! band 23 & 9.999343e-01_rb,9.998917e-01_rb,9.998492e-01_rb,9.998067e-01_rb,9.997642e-01_rb,& & 9.997218e-01_rb,9.996795e-01_rb,9.996372e-01_rb,9.995949e-01_rb,9.995528e-01_rb,& & 9.995106e-01_rb,9.994686e-01_rb,9.994265e-01_rb,9.993845e-01_rb,9.993426e-01_rb,& & 9.993007e-01_rb,9.992589e-01_rb,9.992171e-01_rb,9.991754e-01_rb,9.991337e-01_rb,& & 9.990921e-01_rb,9.990505e-01_rb,9.990089e-01_rb,9.989674e-01_rb,9.989260e-01_rb,& & 9.988846e-01_rb,9.988432e-01_rb,9.988019e-01_rb,9.987606e-01_rb,9.987194e-01_rb,& & 9.986782e-01_rb,9.986370e-01_rb,9.985959e-01_rb,9.985549e-01_rb,9.985139e-01_rb,& & 9.984729e-01_rb,9.984319e-01_rb,9.983910e-01_rb,9.983502e-01_rb,9.983094e-01_rb,& & 9.982686e-01_rb,9.982279e-01_rb,9.981872e-01_rb,9.981465e-01_rb,9.981059e-01_rb,& & 9.980653e-01_rb /) ssaice3(:, 24) = (/ & ! band 24 & 9.999978e-01_rb,9.999965e-01_rb,9.999952e-01_rb,9.999939e-01_rb,9.999926e-01_rb,& & 9.999913e-01_rb,9.999900e-01_rb,9.999887e-01_rb,9.999873e-01_rb,9.999860e-01_rb,& & 9.999847e-01_rb,9.999834e-01_rb,9.999821e-01_rb,9.999808e-01_rb,9.999795e-01_rb,& & 9.999782e-01_rb,9.999769e-01_rb,9.999756e-01_rb,9.999743e-01_rb,9.999730e-01_rb,& & 9.999717e-01_rb,9.999704e-01_rb,9.999691e-01_rb,9.999678e-01_rb,9.999665e-01_rb,& & 9.999652e-01_rb,9.999639e-01_rb,9.999626e-01_rb,9.999613e-01_rb,9.999600e-01_rb,& & 9.999587e-01_rb,9.999574e-01_rb,9.999561e-01_rb,9.999548e-01_rb,9.999535e-01_rb,& & 9.999522e-01_rb,9.999509e-01_rb,9.999496e-01_rb,9.999483e-01_rb,9.999470e-01_rb,& & 9.999457e-01_rb,9.999444e-01_rb,9.999431e-01_rb,9.999418e-01_rb,9.999405e-01_rb,& & 9.999392e-01_rb /) ssaice3(:, 25) = (/ & ! band 25 & 9.999994e-01_rb,9.999993e-01_rb,9.999991e-01_rb,9.999990e-01_rb,9.999989e-01_rb,& & 9.999987e-01_rb,9.999986e-01_rb,9.999984e-01_rb,9.999983e-01_rb,9.999982e-01_rb,& & 9.999980e-01_rb,9.999979e-01_rb,9.999977e-01_rb,9.999976e-01_rb,9.999975e-01_rb,& & 9.999973e-01_rb,9.999972e-01_rb,9.999970e-01_rb,9.999969e-01_rb,9.999967e-01_rb,& & 9.999966e-01_rb,9.999965e-01_rb,9.999963e-01_rb,9.999962e-01_rb,9.999960e-01_rb,& & 9.999959e-01_rb,9.999957e-01_rb,9.999956e-01_rb,9.999954e-01_rb,9.999953e-01_rb,& & 9.999952e-01_rb,9.999950e-01_rb,9.999949e-01_rb,9.999947e-01_rb,9.999946e-01_rb,& & 9.999944e-01_rb,9.999943e-01_rb,9.999941e-01_rb,9.999940e-01_rb,9.999939e-01_rb,& & 9.999937e-01_rb,9.999936e-01_rb,9.999934e-01_rb,9.999933e-01_rb,9.999931e-01_rb,& & 9.999930e-01_rb /) ssaice3(:, 26) = (/ & ! band 26 & 9.999997e-01_rb,9.999995e-01_rb,9.999992e-01_rb,9.999990e-01_rb,9.999987e-01_rb,& & 9.999985e-01_rb,9.999983e-01_rb,9.999980e-01_rb,9.999978e-01_rb,9.999976e-01_rb,& & 9.999973e-01_rb,9.999971e-01_rb,9.999969e-01_rb,9.999967e-01_rb,9.999965e-01_rb,& & 9.999963e-01_rb,9.999960e-01_rb,9.999958e-01_rb,9.999956e-01_rb,9.999954e-01_rb,& & 9.999952e-01_rb,9.999950e-01_rb,9.999948e-01_rb,9.999946e-01_rb,9.999944e-01_rb,& & 9.999942e-01_rb,9.999939e-01_rb,9.999937e-01_rb,9.999935e-01_rb,9.999933e-01_rb,& & 9.999931e-01_rb,9.999929e-01_rb,9.999927e-01_rb,9.999925e-01_rb,9.999923e-01_rb,& & 9.999920e-01_rb,9.999918e-01_rb,9.999916e-01_rb,9.999914e-01_rb,9.999911e-01_rb,& & 9.999909e-01_rb,9.999907e-01_rb,9.999905e-01_rb,9.999902e-01_rb,9.999900e-01_rb,& & 9.999897e-01_rb /) ssaice3(:, 27) = (/ & ! band 27 & 9.999991e-01_rb,9.999985e-01_rb,9.999980e-01_rb,9.999974e-01_rb,9.999968e-01_rb,& & 9.999963e-01_rb,9.999957e-01_rb,9.999951e-01_rb,9.999946e-01_rb,9.999940e-01_rb,& & 9.999934e-01_rb,9.999929e-01_rb,9.999923e-01_rb,9.999918e-01_rb,9.999912e-01_rb,& & 9.999907e-01_rb,9.999901e-01_rb,9.999896e-01_rb,9.999891e-01_rb,9.999885e-01_rb,& & 9.999880e-01_rb,9.999874e-01_rb,9.999869e-01_rb,9.999863e-01_rb,9.999858e-01_rb,& & 9.999853e-01_rb,9.999847e-01_rb,9.999842e-01_rb,9.999836e-01_rb,9.999831e-01_rb,& & 9.999826e-01_rb,9.999820e-01_rb,9.999815e-01_rb,9.999809e-01_rb,9.999804e-01_rb,& & 9.999798e-01_rb,9.999793e-01_rb,9.999787e-01_rb,9.999782e-01_rb,9.999776e-01_rb,& & 9.999770e-01_rb,9.999765e-01_rb,9.999759e-01_rb,9.999754e-01_rb,9.999748e-01_rb,& & 9.999742e-01_rb /) ssaice3(:, 28) = (/ & ! band 28 & 9.999975e-01_rb,9.999961e-01_rb,9.999946e-01_rb,9.999931e-01_rb,9.999917e-01_rb,& & 9.999903e-01_rb,9.999888e-01_rb,9.999874e-01_rb,9.999859e-01_rb,9.999845e-01_rb,& & 9.999831e-01_rb,9.999816e-01_rb,9.999802e-01_rb,9.999788e-01_rb,9.999774e-01_rb,& & 9.999759e-01_rb,9.999745e-01_rb,9.999731e-01_rb,9.999717e-01_rb,9.999702e-01_rb,& & 9.999688e-01_rb,9.999674e-01_rb,9.999660e-01_rb,9.999646e-01_rb,9.999631e-01_rb,& & 9.999617e-01_rb,9.999603e-01_rb,9.999589e-01_rb,9.999574e-01_rb,9.999560e-01_rb,& & 9.999546e-01_rb,9.999532e-01_rb,9.999517e-01_rb,9.999503e-01_rb,9.999489e-01_rb,& & 9.999474e-01_rb,9.999460e-01_rb,9.999446e-01_rb,9.999431e-01_rb,9.999417e-01_rb,& & 9.999403e-01_rb,9.999388e-01_rb,9.999374e-01_rb,9.999359e-01_rb,9.999345e-01_rb,& & 9.999330e-01_rb /) ssaice3(:, 29) = (/ & ! band 29 & 4.526500e-01_rb,5.287890e-01_rb,5.410487e-01_rb,5.459865e-01_rb,5.485149e-01_rb,& & 5.498914e-01_rb,5.505895e-01_rb,5.508310e-01_rb,5.507364e-01_rb,5.503793e-01_rb,& & 5.498090e-01_rb,5.490612e-01_rb,5.481637e-01_rb,5.471395e-01_rb,5.460083e-01_rb,& & 5.447878e-01_rb,5.434946e-01_rb,5.421442e-01_rb,5.407514e-01_rb,5.393309e-01_rb,& & 5.378970e-01_rb,5.364641e-01_rb,5.350464e-01_rb,5.336582e-01_rb,5.323140e-01_rb,& & 5.310283e-01_rb,5.298158e-01_rb,5.286914e-01_rb,5.276704e-01_rb,5.267680e-01_rb,& & 5.260000e-01_rb,5.253823e-01_rb,5.249311e-01_rb,5.246629e-01_rb,5.245946e-01_rb,& & 5.247434e-01_rb,5.251268e-01_rb,5.257626e-01_rb,5.266693e-01_rb,5.278653e-01_rb,& & 5.293698e-01_rb,5.312022e-01_rb,5.333823e-01_rb,5.359305e-01_rb,5.388676e-01_rb,& & 5.422146e-01_rb /) ! asymmetry factor: unitless asyice3(:, 16) = (/ & ! band 16 & 8.340752e-01_rb,8.435170e-01_rb,8.517487e-01_rb,8.592064e-01_rb,8.660387e-01_rb,& & 8.723204e-01_rb,8.780997e-01_rb,8.834137e-01_rb,8.882934e-01_rb,8.927662e-01_rb,& & 8.968577e-01_rb,9.005914e-01_rb,9.039899e-01_rb,9.070745e-01_rb,9.098659e-01_rb,& & 9.123836e-01_rb,9.146466e-01_rb,9.166734e-01_rb,9.184817e-01_rb,9.200886e-01_rb,& & 9.215109e-01_rb,9.227648e-01_rb,9.238661e-01_rb,9.248304e-01_rb,9.256727e-01_rb,& & 9.264078e-01_rb,9.270505e-01_rb,9.276150e-01_rb,9.281156e-01_rb,9.285662e-01_rb,& & 9.289806e-01_rb,9.293726e-01_rb,9.297557e-01_rb,9.301435e-01_rb,9.305491e-01_rb,& & 9.309859e-01_rb,9.314671e-01_rb,9.320055e-01_rb,9.326140e-01_rb,9.333053e-01_rb,& & 9.340919e-01_rb,9.349861e-01_rb,9.360000e-01_rb,9.371451e-01_rb,9.384329e-01_rb,& & 9.398744e-01_rb /) asyice3(:, 17) = (/ & ! band 17 & 8.728160e-01_rb,8.777333e-01_rb,8.823754e-01_rb,8.867535e-01_rb,8.908785e-01_rb,& & 8.947611e-01_rb,8.984118e-01_rb,9.018408e-01_rb,9.050582e-01_rb,9.080739e-01_rb,& & 9.108976e-01_rb,9.135388e-01_rb,9.160068e-01_rb,9.183106e-01_rb,9.204595e-01_rb,& & 9.224620e-01_rb,9.243271e-01_rb,9.260632e-01_rb,9.276788e-01_rb,9.291822e-01_rb,& & 9.305817e-01_rb,9.318853e-01_rb,9.331012e-01_rb,9.342372e-01_rb,9.353013e-01_rb,& & 9.363013e-01_rb,9.372450e-01_rb,9.381400e-01_rb,9.389939e-01_rb,9.398145e-01_rb,& & 9.406092e-01_rb,9.413856e-01_rb,9.421511e-01_rb,9.429131e-01_rb,9.436790e-01_rb,& & 9.444561e-01_rb,9.452517e-01_rb,9.460729e-01_rb,9.469270e-01_rb,9.478209e-01_rb,& & 9.487617e-01_rb,9.497562e-01_rb,9.508112e-01_rb,9.519335e-01_rb,9.531294e-01_rb,& & 9.544055e-01_rb /) asyice3(:, 18) = (/ & ! band 18 & 7.897566e-01_rb,7.948704e-01_rb,7.998041e-01_rb,8.045623e-01_rb,8.091495e-01_rb,& & 8.135702e-01_rb,8.178290e-01_rb,8.219305e-01_rb,8.258790e-01_rb,8.296792e-01_rb,& & 8.333355e-01_rb,8.368524e-01_rb,8.402343e-01_rb,8.434856e-01_rb,8.466108e-01_rb,& & 8.496143e-01_rb,8.525004e-01_rb,8.552737e-01_rb,8.579384e-01_rb,8.604990e-01_rb,& & 8.629597e-01_rb,8.653250e-01_rb,8.675992e-01_rb,8.697867e-01_rb,8.718916e-01_rb,& & 8.739185e-01_rb,8.758715e-01_rb,8.777551e-01_rb,8.795734e-01_rb,8.813308e-01_rb,& & 8.830315e-01_rb,8.846799e-01_rb,8.862802e-01_rb,8.878366e-01_rb,8.893534e-01_rb,& & 8.908350e-01_rb,8.922854e-01_rb,8.937090e-01_rb,8.951099e-01_rb,8.964925e-01_rb,& & 8.978609e-01_rb,8.992192e-01_rb,9.005718e-01_rb,9.019229e-01_rb,9.032765e-01_rb,& & 9.046369e-01_rb /) asyice3(:, 19) = (/ & ! band 19 & 7.812615e-01_rb,7.887764e-01_rb,7.959664e-01_rb,8.028413e-01_rb,8.094109e-01_rb,& & 8.156849e-01_rb,8.216730e-01_rb,8.273846e-01_rb,8.328294e-01_rb,8.380166e-01_rb,& & 8.429556e-01_rb,8.476556e-01_rb,8.521258e-01_rb,8.563753e-01_rb,8.604131e-01_rb,& & 8.642481e-01_rb,8.678893e-01_rb,8.713455e-01_rb,8.746254e-01_rb,8.777378e-01_rb,& & 8.806914e-01_rb,8.834948e-01_rb,8.861566e-01_rb,8.886854e-01_rb,8.910897e-01_rb,& & 8.933779e-01_rb,8.955586e-01_rb,8.976402e-01_rb,8.996311e-01_rb,9.015398e-01_rb,& & 9.033745e-01_rb,9.051436e-01_rb,9.068555e-01_rb,9.085185e-01_rb,9.101410e-01_rb,& & 9.117311e-01_rb,9.132972e-01_rb,9.148476e-01_rb,9.163905e-01_rb,9.179340e-01_rb,& & 9.194864e-01_rb,9.210559e-01_rb,9.226505e-01_rb,9.242784e-01_rb,9.259476e-01_rb,& & 9.276661e-01_rb /) asyice3(:, 20) = (/ & ! band 20 & 7.640720e-01_rb,7.691119e-01_rb,7.739941e-01_rb,7.787222e-01_rb,7.832998e-01_rb,& & 7.877304e-01_rb,7.920177e-01_rb,7.961652e-01_rb,8.001765e-01_rb,8.040551e-01_rb,& & 8.078044e-01_rb,8.114280e-01_rb,8.149294e-01_rb,8.183119e-01_rb,8.215791e-01_rb,& & 8.247344e-01_rb,8.277812e-01_rb,8.307229e-01_rb,8.335629e-01_rb,8.363046e-01_rb,& & 8.389514e-01_rb,8.415067e-01_rb,8.439738e-01_rb,8.463560e-01_rb,8.486568e-01_rb,& & 8.508795e-01_rb,8.530274e-01_rb,8.551039e-01_rb,8.571122e-01_rb,8.590558e-01_rb,& & 8.609378e-01_rb,8.627618e-01_rb,8.645309e-01_rb,8.662485e-01_rb,8.679178e-01_rb,& & 8.695423e-01_rb,8.711251e-01_rb,8.726697e-01_rb,8.741792e-01_rb,8.756571e-01_rb,& & 8.771065e-01_rb,8.785307e-01_rb,8.799331e-01_rb,8.813169e-01_rb,8.826854e-01_rb,& & 8.840419e-01_rb /) asyice3(:, 21) = (/ & ! band 21 & 7.602598e-01_rb,7.651572e-01_rb,7.699014e-01_rb,7.744962e-01_rb,7.789452e-01_rb,& & 7.832522e-01_rb,7.874205e-01_rb,7.914538e-01_rb,7.953555e-01_rb,7.991290e-01_rb,& & 8.027777e-01_rb,8.063049e-01_rb,8.097140e-01_rb,8.130081e-01_rb,8.161906e-01_rb,& & 8.192645e-01_rb,8.222331e-01_rb,8.250993e-01_rb,8.278664e-01_rb,8.305374e-01_rb,& & 8.331153e-01_rb,8.356030e-01_rb,8.380037e-01_rb,8.403201e-01_rb,8.425553e-01_rb,& & 8.447121e-01_rb,8.467935e-01_rb,8.488022e-01_rb,8.507412e-01_rb,8.526132e-01_rb,& & 8.544210e-01_rb,8.561675e-01_rb,8.578554e-01_rb,8.594875e-01_rb,8.610665e-01_rb,& & 8.625951e-01_rb,8.640760e-01_rb,8.655119e-01_rb,8.669055e-01_rb,8.682594e-01_rb,& & 8.695763e-01_rb,8.708587e-01_rb,8.721094e-01_rb,8.733308e-01_rb,8.745255e-01_rb,& & 8.756961e-01_rb /) asyice3(:, 22) = (/ & ! band 22 & 7.568957e-01_rb,7.606995e-01_rb,7.644072e-01_rb,7.680204e-01_rb,7.715402e-01_rb,& & 7.749682e-01_rb,7.783057e-01_rb,7.815541e-01_rb,7.847148e-01_rb,7.877892e-01_rb,& & 7.907786e-01_rb,7.936846e-01_rb,7.965084e-01_rb,7.992515e-01_rb,8.019153e-01_rb,& & 8.045011e-01_rb,8.070103e-01_rb,8.094444e-01_rb,8.118048e-01_rb,8.140927e-01_rb,& & 8.163097e-01_rb,8.184571e-01_rb,8.205364e-01_rb,8.225488e-01_rb,8.244958e-01_rb,& & 8.263789e-01_rb,8.281993e-01_rb,8.299586e-01_rb,8.316580e-01_rb,8.332991e-01_rb,& & 8.348831e-01_rb,8.364115e-01_rb,8.378857e-01_rb,8.393071e-01_rb,8.406770e-01_rb,& & 8.419969e-01_rb,8.432682e-01_rb,8.444923e-01_rb,8.456706e-01_rb,8.468044e-01_rb,& & 8.478952e-01_rb,8.489444e-01_rb,8.499533e-01_rb,8.509234e-01_rb,8.518561e-01_rb,& & 8.527528e-01_rb /) asyice3(:, 23) = (/ & ! band 23 & 7.575066e-01_rb,7.606912e-01_rb,7.638236e-01_rb,7.669035e-01_rb,7.699306e-01_rb,& & 7.729046e-01_rb,7.758254e-01_rb,7.786926e-01_rb,7.815060e-01_rb,7.842654e-01_rb,& & 7.869705e-01_rb,7.896211e-01_rb,7.922168e-01_rb,7.947574e-01_rb,7.972428e-01_rb,& & 7.996726e-01_rb,8.020466e-01_rb,8.043646e-01_rb,8.066262e-01_rb,8.088313e-01_rb,& & 8.109796e-01_rb,8.130709e-01_rb,8.151049e-01_rb,8.170814e-01_rb,8.190001e-01_rb,& & 8.208608e-01_rb,8.226632e-01_rb,8.244071e-01_rb,8.260924e-01_rb,8.277186e-01_rb,& & 8.292856e-01_rb,8.307932e-01_rb,8.322411e-01_rb,8.336291e-01_rb,8.349570e-01_rb,& & 8.362244e-01_rb,8.374312e-01_rb,8.385772e-01_rb,8.396621e-01_rb,8.406856e-01_rb,& & 8.416476e-01_rb,8.425479e-01_rb,8.433861e-01_rb,8.441620e-01_rb,8.448755e-01_rb,& & 8.455263e-01_rb /) asyice3(:, 24) = (/ & ! band 24 & 7.568829e-01_rb,7.597947e-01_rb,7.626745e-01_rb,7.655212e-01_rb,7.683337e-01_rb,& & 7.711111e-01_rb,7.738523e-01_rb,7.765565e-01_rb,7.792225e-01_rb,7.818494e-01_rb,& & 7.844362e-01_rb,7.869819e-01_rb,7.894854e-01_rb,7.919459e-01_rb,7.943623e-01_rb,& & 7.967337e-01_rb,7.990590e-01_rb,8.013373e-01_rb,8.035676e-01_rb,8.057488e-01_rb,& & 8.078802e-01_rb,8.099605e-01_rb,8.119890e-01_rb,8.139645e-01_rb,8.158862e-01_rb,& & 8.177530e-01_rb,8.195641e-01_rb,8.213183e-01_rb,8.230149e-01_rb,8.246527e-01_rb,& & 8.262308e-01_rb,8.277483e-01_rb,8.292042e-01_rb,8.305976e-01_rb,8.319275e-01_rb,& & 8.331929e-01_rb,8.343929e-01_rb,8.355265e-01_rb,8.365928e-01_rb,8.375909e-01_rb,& & 8.385197e-01_rb,8.393784e-01_rb,8.401659e-01_rb,8.408815e-01_rb,8.415240e-01_rb,& & 8.420926e-01_rb /) asyice3(:, 25) = (/ & ! band 25 & 7.548616e-01_rb,7.575454e-01_rb,7.602153e-01_rb,7.628696e-01_rb,7.655067e-01_rb,& & 7.681249e-01_rb,7.707225e-01_rb,7.732978e-01_rb,7.758492e-01_rb,7.783750e-01_rb,& & 7.808735e-01_rb,7.833430e-01_rb,7.857819e-01_rb,7.881886e-01_rb,7.905612e-01_rb,& & 7.928983e-01_rb,7.951980e-01_rb,7.974588e-01_rb,7.996789e-01_rb,8.018567e-01_rb,& & 8.039905e-01_rb,8.060787e-01_rb,8.081196e-01_rb,8.101115e-01_rb,8.120527e-01_rb,& & 8.139416e-01_rb,8.157764e-01_rb,8.175557e-01_rb,8.192776e-01_rb,8.209405e-01_rb,& & 8.225427e-01_rb,8.240826e-01_rb,8.255585e-01_rb,8.269688e-01_rb,8.283117e-01_rb,& & 8.295856e-01_rb,8.307889e-01_rb,8.319198e-01_rb,8.329767e-01_rb,8.339579e-01_rb,& & 8.348619e-01_rb,8.356868e-01_rb,8.364311e-01_rb,8.370930e-01_rb,8.376710e-01_rb,& & 8.381633e-01_rb /) asyice3(:, 26) = (/ & ! band 26 & 7.491854e-01_rb,7.518523e-01_rb,7.545089e-01_rb,7.571534e-01_rb,7.597839e-01_rb,& & 7.623987e-01_rb,7.649959e-01_rb,7.675737e-01_rb,7.701303e-01_rb,7.726639e-01_rb,& & 7.751727e-01_rb,7.776548e-01_rb,7.801084e-01_rb,7.825318e-01_rb,7.849230e-01_rb,& & 7.872804e-01_rb,7.896020e-01_rb,7.918862e-01_rb,7.941309e-01_rb,7.963345e-01_rb,& & 7.984951e-01_rb,8.006109e-01_rb,8.026802e-01_rb,8.047009e-01_rb,8.066715e-01_rb,& & 8.085900e-01_rb,8.104546e-01_rb,8.122636e-01_rb,8.140150e-01_rb,8.157072e-01_rb,& & 8.173382e-01_rb,8.189063e-01_rb,8.204096e-01_rb,8.218464e-01_rb,8.232148e-01_rb,& & 8.245130e-01_rb,8.257391e-01_rb,8.268915e-01_rb,8.279682e-01_rb,8.289675e-01_rb,& & 8.298875e-01_rb,8.307264e-01_rb,8.314824e-01_rb,8.321537e-01_rb,8.327385e-01_rb,& & 8.332350e-01_rb /) asyice3(:, 27) = (/ & ! band 27 & 7.397086e-01_rb,7.424069e-01_rb,7.450955e-01_rb,7.477725e-01_rb,7.504362e-01_rb,& & 7.530846e-01_rb,7.557159e-01_rb,7.583283e-01_rb,7.609199e-01_rb,7.634888e-01_rb,& & 7.660332e-01_rb,7.685512e-01_rb,7.710411e-01_rb,7.735009e-01_rb,7.759288e-01_rb,& & 7.783229e-01_rb,7.806814e-01_rb,7.830024e-01_rb,7.852841e-01_rb,7.875246e-01_rb,& & 7.897221e-01_rb,7.918748e-01_rb,7.939807e-01_rb,7.960380e-01_rb,7.980449e-01_rb,& & 7.999995e-01_rb,8.019000e-01_rb,8.037445e-01_rb,8.055311e-01_rb,8.072581e-01_rb,& & 8.089235e-01_rb,8.105255e-01_rb,8.120623e-01_rb,8.135319e-01_rb,8.149326e-01_rb,& & 8.162626e-01_rb,8.175198e-01_rb,8.187025e-01_rb,8.198089e-01_rb,8.208371e-01_rb,& & 8.217852e-01_rb,8.226514e-01_rb,8.234338e-01_rb,8.241306e-01_rb,8.247399e-01_rb,& & 8.252599e-01_rb /) asyice3(:, 28) = (/ & ! band 28 & 7.224533e-01_rb,7.251681e-01_rb,7.278728e-01_rb,7.305654e-01_rb,7.332444e-01_rb,& & 7.359078e-01_rb,7.385539e-01_rb,7.411808e-01_rb,7.437869e-01_rb,7.463702e-01_rb,& & 7.489291e-01_rb,7.514616e-01_rb,7.539661e-01_rb,7.564408e-01_rb,7.588837e-01_rb,& & 7.612933e-01_rb,7.636676e-01_rb,7.660049e-01_rb,7.683034e-01_rb,7.705612e-01_rb,& & 7.727767e-01_rb,7.749480e-01_rb,7.770733e-01_rb,7.791509e-01_rb,7.811789e-01_rb,& & 7.831556e-01_rb,7.850791e-01_rb,7.869478e-01_rb,7.887597e-01_rb,7.905131e-01_rb,& & 7.922062e-01_rb,7.938372e-01_rb,7.954044e-01_rb,7.969059e-01_rb,7.983399e-01_rb,& & 7.997047e-01_rb,8.009985e-01_rb,8.022195e-01_rb,8.033658e-01_rb,8.044357e-01_rb,& & 8.054275e-01_rb,8.063392e-01_rb,8.071692e-01_rb,8.079157e-01_rb,8.085768e-01_rb,& & 8.091507e-01_rb /) asyice3(:, 29) = (/ & ! band 29 & 8.850026e-01_rb,9.005489e-01_rb,9.069242e-01_rb,9.121799e-01_rb,9.168987e-01_rb,& & 9.212259e-01_rb,9.252176e-01_rb,9.289028e-01_rb,9.323000e-01_rb,9.354235e-01_rb,& & 9.382858e-01_rb,9.408985e-01_rb,9.432734e-01_rb,9.454218e-01_rb,9.473557e-01_rb,& & 9.490871e-01_rb,9.506282e-01_rb,9.519917e-01_rb,9.531904e-01_rb,9.542374e-01_rb,& & 9.551461e-01_rb,9.559298e-01_rb,9.566023e-01_rb,9.571775e-01_rb,9.576692e-01_rb,& & 9.580916e-01_rb,9.584589e-01_rb,9.587853e-01_rb,9.590851e-01_rb,9.593729e-01_rb,& & 9.596632e-01_rb,9.599705e-01_rb,9.603096e-01_rb,9.606954e-01_rb,9.611427e-01_rb,& & 9.616667e-01_rb,9.622826e-01_rb,9.630060e-01_rb,9.638524e-01_rb,9.648379e-01_rb,& & 9.659788e-01_rb,9.672916e-01_rb,9.687933e-01_rb,9.705014e-01_rb,9.724337e-01_rb,& & 9.746084e-01_rb /) ! fdelta: unitless fdlice3(:, 16) = (/ & ! band 16 & 4.959277e-02_rb,4.685292e-02_rb,4.426104e-02_rb,4.181231e-02_rb,3.950191e-02_rb,& & 3.732500e-02_rb,3.527675e-02_rb,3.335235e-02_rb,3.154697e-02_rb,2.985578e-02_rb,& & 2.827395e-02_rb,2.679666e-02_rb,2.541909e-02_rb,2.413640e-02_rb,2.294378e-02_rb,& & 2.183639e-02_rb,2.080940e-02_rb,1.985801e-02_rb,1.897736e-02_rb,1.816265e-02_rb,& & 1.740905e-02_rb,1.671172e-02_rb,1.606585e-02_rb,1.546661e-02_rb,1.490917e-02_rb,& & 1.438870e-02_rb,1.390038e-02_rb,1.343939e-02_rb,1.300089e-02_rb,1.258006e-02_rb,& & 1.217208e-02_rb,1.177212e-02_rb,1.137536e-02_rb,1.097696e-02_rb,1.057210e-02_rb,& & 1.015596e-02_rb,9.723704e-03_rb,9.270516e-03_rb,8.791565e-03_rb,8.282026e-03_rb,& & 7.737072e-03_rb,7.151879e-03_rb,6.521619e-03_rb,5.841467e-03_rb,5.106597e-03_rb,& & 4.312183e-03_rb /) fdlice3(:, 17) = (/ & ! band 17 & 5.071224e-02_rb,5.000217e-02_rb,4.933872e-02_rb,4.871992e-02_rb,4.814380e-02_rb,& & 4.760839e-02_rb,4.711170e-02_rb,4.665177e-02_rb,4.622662e-02_rb,4.583426e-02_rb,& & 4.547274e-02_rb,4.514007e-02_rb,4.483428e-02_rb,4.455340e-02_rb,4.429544e-02_rb,& & 4.405844e-02_rb,4.384041e-02_rb,4.363939e-02_rb,4.345340e-02_rb,4.328047e-02_rb,& & 4.311861e-02_rb,4.296586e-02_rb,4.282024e-02_rb,4.267977e-02_rb,4.254248e-02_rb,& & 4.240640e-02_rb,4.226955e-02_rb,4.212995e-02_rb,4.198564e-02_rb,4.183462e-02_rb,& & 4.167494e-02_rb,4.150462e-02_rb,4.132167e-02_rb,4.112413e-02_rb,4.091003e-02_rb,& & 4.067737e-02_rb,4.042420e-02_rb,4.014854e-02_rb,3.984840e-02_rb,3.952183e-02_rb,& & 3.916683e-02_rb,3.878144e-02_rb,3.836368e-02_rb,3.791158e-02_rb,3.742316e-02_rb,& & 3.689645e-02_rb /) fdlice3(:, 18) = (/ & ! band 18 & 1.062938e-01_rb,1.065234e-01_rb,1.067822e-01_rb,1.070682e-01_rb,1.073793e-01_rb,& & 1.077137e-01_rb,1.080693e-01_rb,1.084442e-01_rb,1.088364e-01_rb,1.092439e-01_rb,& & 1.096647e-01_rb,1.100970e-01_rb,1.105387e-01_rb,1.109878e-01_rb,1.114423e-01_rb,& & 1.119004e-01_rb,1.123599e-01_rb,1.128190e-01_rb,1.132757e-01_rb,1.137279e-01_rb,& & 1.141738e-01_rb,1.146113e-01_rb,1.150385e-01_rb,1.154534e-01_rb,1.158540e-01_rb,& & 1.162383e-01_rb,1.166045e-01_rb,1.169504e-01_rb,1.172741e-01_rb,1.175738e-01_rb,& & 1.178472e-01_rb,1.180926e-01_rb,1.183080e-01_rb,1.184913e-01_rb,1.186405e-01_rb,& & 1.187538e-01_rb,1.188291e-01_rb,1.188645e-01_rb,1.188580e-01_rb,1.188076e-01_rb,& & 1.187113e-01_rb,1.185672e-01_rb,1.183733e-01_rb,1.181277e-01_rb,1.178282e-01_rb,& & 1.174731e-01_rb /) fdlice3(:, 19) = (/ & ! band 19 & 1.076195e-01_rb,1.065195e-01_rb,1.054696e-01_rb,1.044673e-01_rb,1.035099e-01_rb,& & 1.025951e-01_rb,1.017203e-01_rb,1.008831e-01_rb,1.000808e-01_rb,9.931116e-02_rb,& & 9.857151e-02_rb,9.785939e-02_rb,9.717230e-02_rb,9.650774e-02_rb,9.586322e-02_rb,& & 9.523623e-02_rb,9.462427e-02_rb,9.402484e-02_rb,9.343544e-02_rb,9.285358e-02_rb,& & 9.227675e-02_rb,9.170245e-02_rb,9.112818e-02_rb,9.055144e-02_rb,8.996974e-02_rb,& & 8.938056e-02_rb,8.878142e-02_rb,8.816981e-02_rb,8.754323e-02_rb,8.689919e-02_rb,& & 8.623517e-02_rb,8.554869e-02_rb,8.483724e-02_rb,8.409832e-02_rb,8.332943e-02_rb,& & 8.252807e-02_rb,8.169175e-02_rb,8.081795e-02_rb,7.990419e-02_rb,7.894796e-02_rb,& & 7.794676e-02_rb,7.689809e-02_rb,7.579945e-02_rb,7.464834e-02_rb,7.344227e-02_rb,& & 7.217872e-02_rb /) fdlice3(:, 20) = (/ & ! band 20 & 1.119014e-01_rb,1.122706e-01_rb,1.126690e-01_rb,1.130947e-01_rb,1.135456e-01_rb,& & 1.140199e-01_rb,1.145154e-01_rb,1.150302e-01_rb,1.155623e-01_rb,1.161096e-01_rb,& & 1.166703e-01_rb,1.172422e-01_rb,1.178233e-01_rb,1.184118e-01_rb,1.190055e-01_rb,& & 1.196025e-01_rb,1.202008e-01_rb,1.207983e-01_rb,1.213931e-01_rb,1.219832e-01_rb,& & 1.225665e-01_rb,1.231411e-01_rb,1.237050e-01_rb,1.242561e-01_rb,1.247926e-01_rb,& & 1.253122e-01_rb,1.258132e-01_rb,1.262934e-01_rb,1.267509e-01_rb,1.271836e-01_rb,& & 1.275896e-01_rb,1.279669e-01_rb,1.283134e-01_rb,1.286272e-01_rb,1.289063e-01_rb,& & 1.291486e-01_rb,1.293522e-01_rb,1.295150e-01_rb,1.296351e-01_rb,1.297104e-01_rb,& & 1.297390e-01_rb,1.297189e-01_rb,1.296480e-01_rb,1.295244e-01_rb,1.293460e-01_rb,& & 1.291109e-01_rb /) fdlice3(:, 21) = (/ & ! band 21 & 1.133298e-01_rb,1.136777e-01_rb,1.140556e-01_rb,1.144615e-01_rb,1.148934e-01_rb,& & 1.153492e-01_rb,1.158269e-01_rb,1.163243e-01_rb,1.168396e-01_rb,1.173706e-01_rb,& & 1.179152e-01_rb,1.184715e-01_rb,1.190374e-01_rb,1.196108e-01_rb,1.201897e-01_rb,& & 1.207720e-01_rb,1.213558e-01_rb,1.219389e-01_rb,1.225194e-01_rb,1.230951e-01_rb,& & 1.236640e-01_rb,1.242241e-01_rb,1.247733e-01_rb,1.253096e-01_rb,1.258309e-01_rb,& & 1.263352e-01_rb,1.268205e-01_rb,1.272847e-01_rb,1.277257e-01_rb,1.281415e-01_rb,& & 1.285300e-01_rb,1.288893e-01_rb,1.292173e-01_rb,1.295118e-01_rb,1.297710e-01_rb,& & 1.299927e-01_rb,1.301748e-01_rb,1.303154e-01_rb,1.304124e-01_rb,1.304637e-01_rb,& & 1.304673e-01_rb,1.304212e-01_rb,1.303233e-01_rb,1.301715e-01_rb,1.299638e-01_rb,& & 1.296983e-01_rb /) fdlice3(:, 22) = (/ & ! band 22 & 1.145360e-01_rb,1.153256e-01_rb,1.161453e-01_rb,1.169929e-01_rb,1.178666e-01_rb,& & 1.187641e-01_rb,1.196835e-01_rb,1.206227e-01_rb,1.215796e-01_rb,1.225522e-01_rb,& & 1.235383e-01_rb,1.245361e-01_rb,1.255433e-01_rb,1.265579e-01_rb,1.275779e-01_rb,& & 1.286011e-01_rb,1.296257e-01_rb,1.306494e-01_rb,1.316703e-01_rb,1.326862e-01_rb,& & 1.336951e-01_rb,1.346950e-01_rb,1.356838e-01_rb,1.366594e-01_rb,1.376198e-01_rb,& & 1.385629e-01_rb,1.394866e-01_rb,1.403889e-01_rb,1.412678e-01_rb,1.421212e-01_rb,& & 1.429469e-01_rb,1.437430e-01_rb,1.445074e-01_rb,1.452381e-01_rb,1.459329e-01_rb,& & 1.465899e-01_rb,1.472069e-01_rb,1.477819e-01_rb,1.483128e-01_rb,1.487976e-01_rb,& & 1.492343e-01_rb,1.496207e-01_rb,1.499548e-01_rb,1.502346e-01_rb,1.504579e-01_rb,& & 1.506227e-01_rb /) fdlice3(:, 23) = (/ & ! band 23 & 1.153263e-01_rb,1.161445e-01_rb,1.169932e-01_rb,1.178703e-01_rb,1.187738e-01_rb,& & 1.197016e-01_rb,1.206516e-01_rb,1.216217e-01_rb,1.226099e-01_rb,1.236141e-01_rb,& & 1.246322e-01_rb,1.256621e-01_rb,1.267017e-01_rb,1.277491e-01_rb,1.288020e-01_rb,& & 1.298584e-01_rb,1.309163e-01_rb,1.319736e-01_rb,1.330281e-01_rb,1.340778e-01_rb,& & 1.351207e-01_rb,1.361546e-01_rb,1.371775e-01_rb,1.381873e-01_rb,1.391820e-01_rb,& & 1.401593e-01_rb,1.411174e-01_rb,1.420540e-01_rb,1.429671e-01_rb,1.438547e-01_rb,& & 1.447146e-01_rb,1.455449e-01_rb,1.463433e-01_rb,1.471078e-01_rb,1.478364e-01_rb,& & 1.485270e-01_rb,1.491774e-01_rb,1.497857e-01_rb,1.503497e-01_rb,1.508674e-01_rb,& & 1.513367e-01_rb,1.517554e-01_rb,1.521216e-01_rb,1.524332e-01_rb,1.526880e-01_rb,& & 1.528840e-01_rb /) fdlice3(:, 24) = (/ & ! band 24 & 1.160842e-01_rb,1.169118e-01_rb,1.177697e-01_rb,1.186556e-01_rb,1.195676e-01_rb,& & 1.205036e-01_rb,1.214616e-01_rb,1.224394e-01_rb,1.234349e-01_rb,1.244463e-01_rb,& & 1.254712e-01_rb,1.265078e-01_rb,1.275539e-01_rb,1.286075e-01_rb,1.296664e-01_rb,& & 1.307287e-01_rb,1.317923e-01_rb,1.328550e-01_rb,1.339149e-01_rb,1.349699e-01_rb,& & 1.360179e-01_rb,1.370567e-01_rb,1.380845e-01_rb,1.390991e-01_rb,1.400984e-01_rb,& & 1.410803e-01_rb,1.420429e-01_rb,1.429840e-01_rb,1.439016e-01_rb,1.447936e-01_rb,& & 1.456579e-01_rb,1.464925e-01_rb,1.472953e-01_rb,1.480642e-01_rb,1.487972e-01_rb,& & 1.494923e-01_rb,1.501472e-01_rb,1.507601e-01_rb,1.513287e-01_rb,1.518511e-01_rb,& & 1.523252e-01_rb,1.527489e-01_rb,1.531201e-01_rb,1.534368e-01_rb,1.536969e-01_rb,& & 1.538984e-01_rb /) fdlice3(:, 25) = (/ & ! band 25 & 1.168725e-01_rb,1.177088e-01_rb,1.185747e-01_rb,1.194680e-01_rb,1.203867e-01_rb,& & 1.213288e-01_rb,1.222923e-01_rb,1.232750e-01_rb,1.242750e-01_rb,1.252903e-01_rb,& & 1.263187e-01_rb,1.273583e-01_rb,1.284069e-01_rb,1.294626e-01_rb,1.305233e-01_rb,& & 1.315870e-01_rb,1.326517e-01_rb,1.337152e-01_rb,1.347756e-01_rb,1.358308e-01_rb,& & 1.368788e-01_rb,1.379175e-01_rb,1.389449e-01_rb,1.399590e-01_rb,1.409577e-01_rb,& & 1.419389e-01_rb,1.429007e-01_rb,1.438410e-01_rb,1.447577e-01_rb,1.456488e-01_rb,& & 1.465123e-01_rb,1.473461e-01_rb,1.481483e-01_rb,1.489166e-01_rb,1.496492e-01_rb,& & 1.503439e-01_rb,1.509988e-01_rb,1.516118e-01_rb,1.521808e-01_rb,1.527038e-01_rb,& & 1.531788e-01_rb,1.536037e-01_rb,1.539764e-01_rb,1.542951e-01_rb,1.545575e-01_rb,& & 1.547617e-01_rb /) fdlice3(:, 26) = (/ & !band 26 & 1.180509e-01_rb,1.189025e-01_rb,1.197820e-01_rb,1.206875e-01_rb,1.216171e-01_rb,& & 1.225687e-01_rb,1.235404e-01_rb,1.245303e-01_rb,1.255363e-01_rb,1.265564e-01_rb,& & 1.275888e-01_rb,1.286313e-01_rb,1.296821e-01_rb,1.307392e-01_rb,1.318006e-01_rb,& & 1.328643e-01_rb,1.339284e-01_rb,1.349908e-01_rb,1.360497e-01_rb,1.371029e-01_rb,& & 1.381486e-01_rb,1.391848e-01_rb,1.402095e-01_rb,1.412208e-01_rb,1.422165e-01_rb,& & 1.431949e-01_rb,1.441539e-01_rb,1.450915e-01_rb,1.460058e-01_rb,1.468947e-01_rb,& & 1.477564e-01_rb,1.485888e-01_rb,1.493900e-01_rb,1.501580e-01_rb,1.508907e-01_rb,& & 1.515864e-01_rb,1.522428e-01_rb,1.528582e-01_rb,1.534305e-01_rb,1.539578e-01_rb,& & 1.544380e-01_rb,1.548692e-01_rb,1.552494e-01_rb,1.555767e-01_rb,1.558490e-01_rb,& & 1.560645e-01_rb /) fdlice3(:, 27) = (/ & ! band 27 & 1.200480e-01_rb,1.209267e-01_rb,1.218304e-01_rb,1.227575e-01_rb,1.237059e-01_rb,& & 1.246739e-01_rb,1.256595e-01_rb,1.266610e-01_rb,1.276765e-01_rb,1.287041e-01_rb,& & 1.297420e-01_rb,1.307883e-01_rb,1.318412e-01_rb,1.328988e-01_rb,1.339593e-01_rb,& & 1.350207e-01_rb,1.360813e-01_rb,1.371393e-01_rb,1.381926e-01_rb,1.392396e-01_rb,& & 1.402783e-01_rb,1.413069e-01_rb,1.423235e-01_rb,1.433263e-01_rb,1.443134e-01_rb,& & 1.452830e-01_rb,1.462332e-01_rb,1.471622e-01_rb,1.480681e-01_rb,1.489490e-01_rb,& & 1.498032e-01_rb,1.506286e-01_rb,1.514236e-01_rb,1.521863e-01_rb,1.529147e-01_rb,& & 1.536070e-01_rb,1.542614e-01_rb,1.548761e-01_rb,1.554491e-01_rb,1.559787e-01_rb,& & 1.564629e-01_rb,1.568999e-01_rb,1.572879e-01_rb,1.576249e-01_rb,1.579093e-01_rb,& & 1.581390e-01_rb /) fdlice3(:, 28) = (/ & ! band 28 & 1.247813e-01_rb,1.256496e-01_rb,1.265417e-01_rb,1.274560e-01_rb,1.283905e-01_rb,& & 1.293436e-01_rb,1.303135e-01_rb,1.312983e-01_rb,1.322964e-01_rb,1.333060e-01_rb,& & 1.343252e-01_rb,1.353523e-01_rb,1.363855e-01_rb,1.374231e-01_rb,1.384632e-01_rb,& & 1.395042e-01_rb,1.405441e-01_rb,1.415813e-01_rb,1.426140e-01_rb,1.436404e-01_rb,& & 1.446587e-01_rb,1.456672e-01_rb,1.466640e-01_rb,1.476475e-01_rb,1.486157e-01_rb,& & 1.495671e-01_rb,1.504997e-01_rb,1.514117e-01_rb,1.523016e-01_rb,1.531673e-01_rb,& & 1.540073e-01_rb,1.548197e-01_rb,1.556026e-01_rb,1.563545e-01_rb,1.570734e-01_rb,& & 1.577576e-01_rb,1.584054e-01_rb,1.590149e-01_rb,1.595843e-01_rb,1.601120e-01_rb,& & 1.605962e-01_rb,1.610349e-01_rb,1.614266e-01_rb,1.617693e-01_rb,1.620614e-01_rb,& & 1.623011e-01_rb /) fdlice3(:, 29) = (/ & ! band 29 & 1.006055e-01_rb,9.549582e-02_rb,9.063960e-02_rb,8.602900e-02_rb,8.165612e-02_rb,& & 7.751308e-02_rb,7.359199e-02_rb,6.988496e-02_rb,6.638412e-02_rb,6.308156e-02_rb,& & 5.996942e-02_rb,5.703979e-02_rb,5.428481e-02_rb,5.169657e-02_rb,4.926719e-02_rb,& & 4.698880e-02_rb,4.485349e-02_rb,4.285339e-02_rb,4.098061e-02_rb,3.922727e-02_rb,& & 3.758547e-02_rb,3.604733e-02_rb,3.460497e-02_rb,3.325051e-02_rb,3.197604e-02_rb,& & 3.077369e-02_rb,2.963558e-02_rb,2.855381e-02_rb,2.752050e-02_rb,2.652776e-02_rb,& & 2.556772e-02_rb,2.463247e-02_rb,2.371415e-02_rb,2.280485e-02_rb,2.189670e-02_rb,& & 2.098180e-02_rb,2.005228e-02_rb,1.910024e-02_rb,1.811781e-02_rb,1.709709e-02_rb,& & 1.603020e-02_rb,1.490925e-02_rb,1.372635e-02_rb,1.247363e-02_rb,1.114319e-02_rb,& & 9.727157e-03_rb /) end subroutine swcldpr end module rrtmg_sw_init ================================================ FILE: GeosRad/rrtmg_sw_k_g.F90 ================================================ ! path: $Source: /storm/rc1/cvsroot/rc/rrtmg_sw/src/rrtmg_sw_k_g.f90,v $ ! author: $Author: mike $ ! revision: $Revision: 1.3 $ ! created: $Date: 2008/08/29 17:59:09 $ module rrtmg_sw_k_g ! -------------------------------------------------------------------------- ! | | ! | Copyright 2002-2008, Atmospheric & Environmental Research, Inc. (AER). | ! | This software may be used, copied, or redistributed as long as it is | ! | not sold and this copyright notice is reproduced on each copy made. | ! | This model is provided as is without any express or implied warranties. | ! | (http://www.rtweb.aer.com/) | ! | | ! -------------------------------------------------------------------------- implicit none contains !------------------------------------------------------------------ ! Public subroutines !------------------------------------------------------------------ ! ************************************************************************** ! subroutine sw_kgbnn ! ************************************************************************** ! RRTM Shortwave Radiative Transfer Model ! Atmospheric and Environmental Research, Inc., Cambridge, MA ! ! Original by J.Delamere, Atmospheric & Environmental Research. ! Reformatted for F90: JJMorcrette, ECMWF ! Further F90 and GCM revisions: MJIacono, AER, July 2002 ! ! This file contains 14 subroutines that include the ! absorption coefficients and other data for each of the 14 shortwave ! spectral bands used in RRTM_SW. Here, the data are defined for 16 ! g-points, or sub-intervals, per band. These data are combined and ! weighted using a mapping procedure in routine RRTMG_SW_INIT to reduce ! the total number of g-points from 224 to 112 for use in the GCM. ! ************************************************************************** subroutine sw_kgb16 ! ************************************************************************** use parkind, only : im => kind_im, rb => kind_rb use rrsw_kg16, only : kao, kbo, selfrefo, forrefo, sfluxrefo, & rayl, strrat1, layreffr use rrsw_vsn, only: hvrkg, hnamkg implicit none save hvrkg = '$Revision: 1.3 $' ! Kurucz solar source function sfluxrefo(:) = (/ & & 1.92269_rb , 1.72844_rb , 1.64326_rb , 1.58451_rb & &, 1.44031_rb , 1.25108_rb , 1.02724_rb , 0.776759_rb & &, 0.534444_rb , 5.87755e-02_rb, 4.86706e-02_rb, 3.87989e-02_rb & &, 2.84532e-02_rb, 1.82431e-02_rb, 6.92320e-03_rb, 9.70770e-04_rb /) ! Rayleigh extinction coefficient at v = 2925 cm-1. rayl = 2.91e-10_rb strrat1 = 252.131_rb layreffr = 18 ! ----------------------------------------------------------------- ! The array KAO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels> ~100mb, temperatures, and binary ! species parameters (see taumol.f for definition). The first ! index in the array, JS, runs from 1 to 9, and corresponds to ! different values of the binary species parameter. For instance, ! JS=1 refers to dry air, JS = 2 corresponds to the paramter value 1/8, ! JS = 3 corresponds to the parameter value 2/8, etc. The second index ! in the array, JT, which runs from 1 to 5, corresponds to different ! temperatures. More specifically, JT = 3 means that the data are for ! the reference temperature TREF for this pressure level, JT = 2 refers ! to TREF-15, JT = 1 is for TREF-30, JT = 4 is for TREF+15, and JT = 5 ! is for TREF+30. The third index, JP, runs from 1 to 13 and refers ! to the JPth reference pressure level (see taumol.f for these levels ! in mb). The fourth index, IG, goes from 1 to 16, and indicates ! which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kao(:, 1, 1, 1) = (/ & & 0.15349e-04_rb,0.89162e-04_rb,0.97706e-04_rb,0.96973e-04_rb,0.90703e-04_rb, & & 0.80393e-04_rb,0.67242e-04_rb,0.50804e-04_rb,0.23334e-04_rb /) kao(:, 2, 1, 1) = (/ & & 0.16138e-04_rb,0.89235e-04_rb,0.97696e-04_rb,0.96116e-04_rb,0.89625e-04_rb, & & 0.79382e-04_rb,0.66587e-04_rb,0.50583e-04_rb,0.24342e-04_rb /) kao(:, 3, 1, 1) = (/ & & 0.16801e-04_rb,0.89390e-04_rb,0.97492e-04_rb,0.95146e-04_rb,0.88483e-04_rb, & & 0.78325e-04_rb,0.65873e-04_rb,0.50342e-04_rb,0.25245e-04_rb /) kao(:, 4, 1, 1) = (/ & & 0.17584e-04_rb,0.89321e-04_rb,0.97141e-04_rb,0.93952e-04_rb,0.87141e-04_rb, & & 0.77126e-04_rb,0.65068e-04_rb,0.49985e-04_rb,0.26046e-04_rb /) kao(:, 5, 1, 1) = (/ & & 0.18258e-04_rb,0.89204e-04_rb,0.96602e-04_rb,0.92773e-04_rb,0.85832e-04_rb, & & 0.76015e-04_rb,0.64318e-04_rb,0.49612e-04_rb,0.26697e-04_rb /) kao(:, 1, 2, 1) = (/ & & 0.12783e-04_rb,0.77013e-04_rb,0.85056e-04_rb,0.84160e-04_rb,0.79021e-04_rb, & & 0.70101e-04_rb,0.58520e-04_rb,0.44007e-04_rb,0.19895e-04_rb /) kao(:, 2, 2, 1) = (/ & & 0.13452e-04_rb,0.77084e-04_rb,0.84929e-04_rb,0.83386e-04_rb,0.78122e-04_rb, & & 0.69293e-04_rb,0.57974e-04_rb,0.43855e-04_rb,0.20713e-04_rb /) kao(:, 3, 2, 1) = (/ & & 0.14066e-04_rb,0.77185e-04_rb,0.84612e-04_rb,0.82498e-04_rb,0.77177e-04_rb, & & 0.68443e-04_rb,0.57444e-04_rb,0.43722e-04_rb,0.21494e-04_rb /) kao(:, 4, 2, 1) = (/ & & 0.14678e-04_rb,0.76996e-04_rb,0.83962e-04_rb,0.81526e-04_rb,0.76049e-04_rb, & & 0.67485e-04_rb,0.56822e-04_rb,0.43530e-04_rb,0.22200e-04_rb /) kao(:, 5, 2, 1) = (/ & & 0.15258e-04_rb,0.76788e-04_rb,0.82821e-04_rb,0.80320e-04_rb,0.74845e-04_rb, & & 0.66487e-04_rb,0.56144e-04_rb,0.43262e-04_rb,0.22757e-04_rb /) kao(:, 1, 3, 1) = (/ & & 0.10474e-04_rb,0.66144e-04_rb,0.73703e-04_rb,0.72701e-04_rb,0.68638e-04_rb, & & 0.60826e-04_rb,0.50854e-04_rb,0.37989e-04_rb,0.17743e-04_rb /) kao(:, 2, 3, 1) = (/ & & 0.11024e-04_rb,0.66096e-04_rb,0.73447e-04_rb,0.72029e-04_rb,0.67858e-04_rb, & & 0.60163e-04_rb,0.50424e-04_rb,0.37886e-04_rb,0.18519e-04_rb /) kao(:, 3, 3, 1) = (/ & & 0.11534e-04_rb,0.65974e-04_rb,0.72795e-04_rb,0.71229e-04_rb,0.67005e-04_rb, & & 0.59442e-04_rb,0.49950e-04_rb,0.37779e-04_rb,0.19184e-04_rb /) kao(:, 4, 3, 1) = (/ & & 0.12091e-04_rb,0.65752e-04_rb,0.72003e-04_rb,0.70357e-04_rb,0.66129e-04_rb, & & 0.58718e-04_rb,0.49503e-04_rb,0.37690e-04_rb,0.19788e-04_rb /) kao(:, 5, 3, 1) = (/ & & 0.12560e-04_rb,0.65678e-04_rb,0.71013e-04_rb,0.69266e-04_rb,0.65076e-04_rb, & & 0.57873e-04_rb,0.48947e-04_rb,0.37519e-04_rb,0.20290e-04_rb /) kao(:, 1, 4, 1) = (/ & & 0.85236e-05_rb,0.56692e-04_rb,0.63625e-04_rb,0.62567e-04_rb,0.59412e-04_rb, & & 0.52601e-04_rb,0.43957e-04_rb,0.32602e-04_rb,0.16862e-04_rb /) kao(:, 2, 4, 1) = (/ & & 0.89886e-05_rb,0.56512e-04_rb,0.63288e-04_rb,0.61902e-04_rb,0.58733e-04_rb, & & 0.52036e-04_rb,0.43629e-04_rb,0.32592e-04_rb,0.17543e-04_rb /) kao(:, 3, 4, 1) = (/ & & 0.94085e-05_rb,0.56287e-04_rb,0.62588e-04_rb,0.61197e-04_rb,0.58020e-04_rb, & & 0.51469e-04_rb,0.43247e-04_rb,0.32567e-04_rb,0.18199e-04_rb /) kao(:, 4, 4, 1) = (/ & & 0.98830e-05_rb,0.55998e-04_rb,0.61716e-04_rb,0.60485e-04_rb,0.57250e-04_rb, & & 0.50840e-04_rb,0.42842e-04_rb,0.32520e-04_rb,0.18771e-04_rb /) kao(:, 5, 4, 1) = (/ & & 0.10278e-04_rb,0.55929e-04_rb,0.61011e-04_rb,0.59745e-04_rb,0.56462e-04_rb, & & 0.50254e-04_rb,0.42468e-04_rb,0.32457e-04_rb,0.19296e-04_rb /) kao(:, 1, 5, 1) = (/ & & 0.68852e-05_rb,0.48282e-04_rb,0.54761e-04_rb,0.53543e-04_rb,0.51345e-04_rb, & & 0.45380e-04_rb,0.37794e-04_rb,0.27880e-04_rb,0.14959e-04_rb /) kao(:, 2, 5, 1) = (/ & & 0.72830e-05_rb,0.48206e-04_rb,0.54379e-04_rb,0.52923e-04_rb,0.50723e-04_rb, & & 0.44903e-04_rb,0.37536e-04_rb,0.27938e-04_rb,0.15841e-04_rb /) kao(:, 3, 5, 1) = (/ & & 0.76436e-05_rb,0.47928e-04_rb,0.53597e-04_rb,0.52299e-04_rb,0.50061e-04_rb, & & 0.44426e-04_rb,0.37240e-04_rb,0.27962e-04_rb,0.16760e-04_rb /) kao(:, 4, 5, 1) = (/ & & 0.80055e-05_rb,0.47625e-04_rb,0.52896e-04_rb,0.51678e-04_rb,0.49302e-04_rb, & & 0.43902e-04_rb,0.36930e-04_rb,0.27968e-04_rb,0.17586e-04_rb /) kao(:, 5, 5, 1) = (/ & & 0.83555e-05_rb,0.47486e-04_rb,0.52258e-04_rb,0.51112e-04_rb,0.48444e-04_rb, & & 0.43409e-04_rb,0.36652e-04_rb,0.27966e-04_rb,0.18270e-04_rb /) kao(:, 1, 6, 1) = (/ & & 0.55363e-05_rb,0.40995e-04_rb,0.46991e-04_rb,0.45840e-04_rb,0.44200e-04_rb, & & 0.38984e-04_rb,0.32341e-04_rb,0.23743e-04_rb,0.12825e-04_rb /) kao(:, 2, 6, 1) = (/ & & 0.58741e-05_rb,0.40851e-04_rb,0.46490e-04_rb,0.45277e-04_rb,0.43651e-04_rb, & & 0.38565e-04_rb,0.32141e-04_rb,0.23813e-04_rb,0.13671e-04_rb /) kao(:, 3, 6, 1) = (/ & & 0.61821e-05_rb,0.40643e-04_rb,0.45850e-04_rb,0.44728e-04_rb,0.42924e-04_rb, & & 0.38164e-04_rb,0.31920e-04_rb,0.23858e-04_rb,0.14647e-04_rb /) kao(:, 4, 6, 1) = (/ & & 0.64614e-05_rb,0.40329e-04_rb,0.45202e-04_rb,0.44163e-04_rb,0.42054e-04_rb, & & 0.37723e-04_rb,0.31679e-04_rb,0.23886e-04_rb,0.15533e-04_rb /) kao(:, 5, 6, 1) = (/ & & 0.67675e-05_rb,0.40137e-04_rb,0.44578e-04_rb,0.43574e-04_rb,0.41267e-04_rb, & & 0.37271e-04_rb,0.31420e-04_rb,0.23883e-04_rb,0.16436e-04_rb /) kao(:, 1, 7, 1) = (/ & & 0.44217e-05_rb,0.34626e-04_rb,0.39970e-04_rb,0.39080e-04_rb,0.37744e-04_rb, & & 0.33237e-04_rb,0.27507e-04_rb,0.20074e-04_rb,0.11007e-04_rb /) kao(:, 2, 7, 1) = (/ & & 0.47104e-05_rb,0.34494e-04_rb,0.39592e-04_rb,0.38568e-04_rb,0.37283e-04_rb, & & 0.32875e-04_rb,0.27342e-04_rb,0.20149e-04_rb,0.11834e-04_rb /) kao(:, 3, 7, 1) = (/ & & 0.49764e-05_rb,0.34300e-04_rb,0.39007e-04_rb,0.38074e-04_rb,0.36415e-04_rb, & & 0.32528e-04_rb,0.27158e-04_rb,0.20213e-04_rb,0.12801e-04_rb /) kao(:, 4, 7, 1) = (/ & & 0.52135e-05_rb,0.34067e-04_rb,0.38449e-04_rb,0.37591e-04_rb,0.35661e-04_rb, & & 0.32173e-04_rb,0.26959e-04_rb,0.20265e-04_rb,0.13763e-04_rb /) kao(:, 5, 7, 1) = (/ & & 0.54275e-05_rb,0.33832e-04_rb,0.37875e-04_rb,0.37057e-04_rb,0.35065e-04_rb, & & 0.31800e-04_rb,0.26760e-04_rb,0.20278e-04_rb,0.14677e-04_rb /) kao(:, 1, 8, 1) = (/ & & 0.35317e-05_rb,0.29115e-04_rb,0.33824e-04_rb,0.33370e-04_rb,0.32237e-04_rb, & & 0.28331e-04_rb,0.23362e-04_rb,0.16932e-04_rb,0.96086e-05_rb /) kao(:, 2, 8, 1) = (/ & & 0.37854e-05_rb,0.29084e-04_rb,0.33632e-04_rb,0.32929e-04_rb,0.31805e-04_rb, & & 0.28018e-04_rb,0.23236e-04_rb,0.17006e-04_rb,0.10621e-04_rb /) kao(:, 3, 8, 1) = (/ & & 0.40127e-05_rb,0.28935e-04_rb,0.33190e-04_rb,0.32483e-04_rb,0.30936e-04_rb, & & 0.27716e-04_rb,0.23074e-04_rb,0.17087e-04_rb,0.11657e-04_rb /) kao(:, 4, 8, 1) = (/ & & 0.42184e-05_rb,0.28732e-04_rb,0.32711e-04_rb,0.32042e-04_rb,0.30351e-04_rb, & & 0.27404e-04_rb,0.22906e-04_rb,0.17140e-04_rb,0.12504e-04_rb /) kao(:, 5, 8, 1) = (/ & & 0.44040e-05_rb,0.28488e-04_rb,0.32207e-04_rb,0.31581e-04_rb,0.29852e-04_rb, & & 0.27086e-04_rb,0.22740e-04_rb,0.17166e-04_rb,0.13401e-04_rb /) kao(:, 1, 9, 1) = (/ & & 0.28004e-05_rb,0.24421e-04_rb,0.28507e-04_rb,0.28270e-04_rb,0.27415e-04_rb, & & 0.24038e-04_rb,0.19759e-04_rb,0.14209e-04_rb,0.88498e-05_rb /) kao(:, 2, 9, 1) = (/ & & 0.30342e-05_rb,0.24385e-04_rb,0.28391e-04_rb,0.27999e-04_rb,0.26969e-04_rb, & & 0.23770e-04_rb,0.19651e-04_rb,0.14288e-04_rb,0.10048e-04_rb /) kao(:, 3, 9, 1) = (/ & & 0.32304e-05_rb,0.24304e-04_rb,0.28136e-04_rb,0.27602e-04_rb,0.26246e-04_rb, & & 0.23508e-04_rb,0.19517e-04_rb,0.14360e-04_rb,0.11188e-04_rb /) kao(:, 4, 9, 1) = (/ & & 0.34049e-05_rb,0.24160e-04_rb,0.27731e-04_rb,0.27211e-04_rb,0.25756e-04_rb, & & 0.23246e-04_rb,0.19380e-04_rb,0.14426e-04_rb,0.12319e-04_rb /) kao(:, 5, 9, 1) = (/ & & 0.35648e-05_rb,0.23940e-04_rb,0.27283e-04_rb,0.26806e-04_rb,0.25320e-04_rb, & & 0.22960e-04_rb,0.19234e-04_rb,0.14451e-04_rb,0.13506e-04_rb /) kao(:, 1,10, 1) = (/ & & 0.22115e-05_rb,0.20358e-04_rb,0.23898e-04_rb,0.23781e-04_rb,0.23142e-04_rb, & & 0.20260e-04_rb,0.16593e-04_rb,0.11876e-04_rb,0.77665e-05_rb /) kao(:, 2,10, 1) = (/ & & 0.24264e-05_rb,0.20362e-04_rb,0.23820e-04_rb,0.23569e-04_rb,0.22708e-04_rb, & & 0.20037e-04_rb,0.16524e-04_rb,0.11954e-04_rb,0.90216e-05_rb /) kao(:, 3,10, 1) = (/ & & 0.26002e-05_rb,0.20303e-04_rb,0.23663e-04_rb,0.23295e-04_rb,0.22132e-04_rb, & & 0.19806e-04_rb,0.16414e-04_rb,0.12011e-04_rb,0.10379e-04_rb /) kao(:, 4,10, 1) = (/ & & 0.27486e-05_rb,0.20198e-04_rb,0.23357e-04_rb,0.22943e-04_rb,0.21707e-04_rb, & & 0.19580e-04_rb,0.16298e-04_rb,0.12060e-04_rb,0.11771e-04_rb /) kao(:, 5,10, 1) = (/ & & 0.28881e-05_rb,0.20019e-04_rb,0.22982e-04_rb,0.22584e-04_rb,0.21296e-04_rb, & & 0.19341e-04_rb,0.16164e-04_rb,0.12088e-04_rb,0.13279e-04_rb /) kao(:, 1,11, 1) = (/ & & 0.18320e-05_rb,0.16927e-04_rb,0.19968e-04_rb,0.19856e-04_rb,0.19352e-04_rb, & & 0.16934e-04_rb,0.13866e-04_rb,0.99116e-05_rb,0.67134e-05_rb /) kao(:, 2,11, 1) = (/ & & 0.20049e-05_rb,0.16927e-04_rb,0.19853e-04_rb,0.19674e-04_rb,0.18853e-04_rb, & & 0.16739e-04_rb,0.13797e-04_rb,0.99757e-05_rb,0.78968e-05_rb /) kao(:, 3,11, 1) = (/ & & 0.21502e-05_rb,0.16866e-04_rb,0.19704e-04_rb,0.19448e-04_rb,0.18441e-04_rb, & & 0.16541e-04_rb,0.13705e-04_rb,0.10023e-04_rb,0.91593e-05_rb /) kao(:, 4,11, 1) = (/ & & 0.22714e-05_rb,0.16777e-04_rb,0.19465e-04_rb,0.19143e-04_rb,0.18062e-04_rb, & & 0.16347e-04_rb,0.13601e-04_rb,0.10057e-04_rb,0.10536e-04_rb /) kao(:, 5,11, 1) = (/ & & 0.23867e-05_rb,0.16634e-04_rb,0.19123e-04_rb,0.18829e-04_rb,0.17732e-04_rb, & & 0.16132e-04_rb,0.13484e-04_rb,0.10082e-04_rb,0.12018e-04_rb /) kao(:, 1,12, 1) = (/ & & 0.15169e-05_rb,0.14042e-04_rb,0.16626e-04_rb,0.16552e-04_rb,0.16148e-04_rb, & & 0.14121e-04_rb,0.11557e-04_rb,0.82558e-05_rb,0.56116e-05_rb /) kao(:, 2,12, 1) = (/ & & 0.16576e-05_rb,0.14051e-04_rb,0.16515e-04_rb,0.16389e-04_rb,0.15651e-04_rb, & & 0.13956e-04_rb,0.11498e-04_rb,0.83065e-05_rb,0.66756e-05_rb /) kao(:, 3,12, 1) = (/ & & 0.17786e-05_rb,0.13996e-04_rb,0.16382e-04_rb,0.16200e-04_rb,0.15335e-04_rb, & & 0.13791e-04_rb,0.11414e-04_rb,0.83396e-05_rb,0.78609e-05_rb /) kao(:, 4,12, 1) = (/ & & 0.18784e-05_rb,0.13920e-04_rb,0.16173e-04_rb,0.15944e-04_rb,0.15016e-04_rb, & & 0.13612e-04_rb,0.11321e-04_rb,0.83696e-05_rb,0.90657e-05_rb /) kao(:, 5,12, 1) = (/ & & 0.19730e-05_rb,0.13808e-04_rb,0.15876e-04_rb,0.15671e-04_rb,0.14704e-04_rb, & & 0.13425e-04_rb,0.11218e-04_rb,0.83846e-05_rb,0.10342e-04_rb /) kao(:, 1,13, 1) = (/ & & 0.12548e-05_rb,0.11622e-04_rb,0.13817e-04_rb,0.13765e-04_rb,0.13366e-04_rb, & & 0.11761e-04_rb,0.96214e-05_rb,0.68586e-05_rb,0.46815e-05_rb /) kao(:, 2,13, 1) = (/ & & 0.13720e-05_rb,0.11638e-04_rb,0.13707e-04_rb,0.13640e-04_rb,0.13007e-04_rb, & & 0.11624e-04_rb,0.95672e-05_rb,0.68978e-05_rb,0.55831e-05_rb /) kao(:, 3,13, 1) = (/ & & 0.14716e-05_rb,0.11595e-04_rb,0.13603e-04_rb,0.13476e-04_rb,0.12728e-04_rb, & & 0.11474e-04_rb,0.94883e-05_rb,0.69284e-05_rb,0.65694e-05_rb /) kao(:, 4,13, 1) = (/ & & 0.15544e-05_rb,0.11533e-04_rb,0.13432e-04_rb,0.13265e-04_rb,0.12450e-04_rb, & & 0.11320e-04_rb,0.94054e-05_rb,0.69510e-05_rb,0.75699e-05_rb /) kao(:, 5,13, 1) = (/ & & 0.16324e-05_rb,0.11450e-04_rb,0.13177e-04_rb,0.13030e-04_rb,0.12193e-04_rb, & & 0.11159e-04_rb,0.93157e-05_rb,0.69543e-05_rb,0.86449e-05_rb /) kao(:, 1, 1, 2) = (/ & & 0.10905e-03_rb,0.19084e-03_rb,0.20069e-03_rb,0.19832e-03_rb,0.18610e-03_rb, & & 0.17089e-03_rb,0.14990e-03_rb,0.11759e-03_rb,0.64675e-04_rb /) kao(:, 2, 1, 2) = (/ & & 0.11105e-03_rb,0.18952e-03_rb,0.19885e-03_rb,0.19823e-03_rb,0.18675e-03_rb, & & 0.17126e-03_rb,0.15098e-03_rb,0.11929e-03_rb,0.67071e-04_rb /) kao(:, 3, 1, 2) = (/ & & 0.11276e-03_rb,0.18853e-03_rb,0.19769e-03_rb,0.19892e-03_rb,0.18804e-03_rb, & & 0.17228e-03_rb,0.15234e-03_rb,0.12104e-03_rb,0.69562e-04_rb /) kao(:, 4, 1, 2) = (/ & & 0.11331e-03_rb,0.18716e-03_rb,0.19673e-03_rb,0.19862e-03_rb,0.18922e-03_rb, & & 0.17345e-03_rb,0.15364e-03_rb,0.12287e-03_rb,0.72145e-04_rb /) kao(:, 5, 1, 2) = (/ & & 0.11374e-03_rb,0.18626e-03_rb,0.19656e-03_rb,0.19857e-03_rb,0.19062e-03_rb, & & 0.17445e-03_rb,0.15373e-03_rb,0.12483e-03_rb,0.74697e-04_rb /) kao(:, 1, 2, 2) = (/ & & 0.94458e-04_rb,0.16650e-03_rb,0.17483e-03_rb,0.17491e-03_rb,0.16501e-03_rb, & & 0.15069e-03_rb,0.13359e-03_rb,0.10498e-03_rb,0.55352e-04_rb /) kao(:, 2, 2, 2) = (/ & & 0.96121e-04_rb,0.16557e-03_rb,0.17383e-03_rb,0.17514e-03_rb,0.16597e-03_rb, & & 0.15082e-03_rb,0.13480e-03_rb,0.10677e-03_rb,0.57531e-04_rb /) kao(:, 3, 2, 2) = (/ & & 0.97581e-04_rb,0.16494e-03_rb,0.17349e-03_rb,0.17480e-03_rb,0.16726e-03_rb, & & 0.15206e-03_rb,0.13520e-03_rb,0.10844e-03_rb,0.59621e-04_rb /) kao(:, 4, 2, 2) = (/ & & 0.98152e-04_rb,0.16427e-03_rb,0.17323e-03_rb,0.17471e-03_rb,0.16812e-03_rb, & & 0.15352e-03_rb,0.13523e-03_rb,0.11008e-03_rb,0.61894e-04_rb /) kao(:, 5, 2, 2) = (/ & & 0.98081e-04_rb,0.16346e-03_rb,0.17334e-03_rb,0.17481e-03_rb,0.16845e-03_rb, & & 0.15496e-03_rb,0.13612e-03_rb,0.11175e-03_rb,0.64159e-04_rb /) kao(:, 1, 3, 2) = (/ & & 0.80988e-04_rb,0.14444e-03_rb,0.15236e-03_rb,0.15355e-03_rb,0.14515e-03_rb, & & 0.13201e-03_rb,0.11827e-03_rb,0.92843e-04_rb,0.47818e-04_rb /) kao(:, 2, 3, 2) = (/ & & 0.82627e-04_rb,0.14399e-03_rb,0.15198e-03_rb,0.15308e-03_rb,0.14622e-03_rb, & & 0.13285e-03_rb,0.11829e-03_rb,0.94579e-04_rb,0.49498e-04_rb /) kao(:, 3, 3, 2) = (/ & & 0.83666e-04_rb,0.14365e-03_rb,0.15183e-03_rb,0.15300e-03_rb,0.14704e-03_rb, & & 0.13418e-03_rb,0.11832e-03_rb,0.96259e-04_rb,0.51225e-04_rb /) kao(:, 4, 3, 2) = (/ & & 0.84164e-04_rb,0.14362e-03_rb,0.15205e-03_rb,0.15285e-03_rb,0.14764e-03_rb, & & 0.13590e-03_rb,0.11954e-03_rb,0.97885e-04_rb,0.52990e-04_rb /) kao(:, 5, 3, 2) = (/ & & 0.84014e-04_rb,0.14269e-03_rb,0.15214e-03_rb,0.15331e-03_rb,0.14865e-03_rb, & & 0.13747e-03_rb,0.12089e-03_rb,0.99389e-04_rb,0.54936e-04_rb /) kao(:, 1, 4, 2) = (/ & & 0.69055e-04_rb,0.12498e-03_rb,0.13260e-03_rb,0.13427e-03_rb,0.12748e-03_rb, & & 0.11593e-03_rb,0.10318e-03_rb,0.81535e-04_rb,0.43344e-04_rb /) kao(:, 2, 4, 2) = (/ & & 0.70374e-04_rb,0.12479e-03_rb,0.13217e-03_rb,0.13387e-03_rb,0.12823e-03_rb, & & 0.11702e-03_rb,0.10316e-03_rb,0.83059e-04_rb,0.44577e-04_rb /) kao(:, 3, 4, 2) = (/ & & 0.71321e-04_rb,0.12483e-03_rb,0.13205e-03_rb,0.13371e-03_rb,0.12866e-03_rb, & & 0.11820e-03_rb,0.10422e-03_rb,0.84648e-04_rb,0.45880e-04_rb /) kao(:, 4, 4, 2) = (/ & & 0.71712e-04_rb,0.12475e-03_rb,0.13249e-03_rb,0.13379e-03_rb,0.12934e-03_rb, & & 0.11960e-03_rb,0.10551e-03_rb,0.86238e-04_rb,0.47243e-04_rb /) kao(:, 5, 4, 2) = (/ & & 0.71917e-04_rb,0.12433e-03_rb,0.13275e-03_rb,0.13434e-03_rb,0.13049e-03_rb, & & 0.12131e-03_rb,0.10676e-03_rb,0.87830e-04_rb,0.48641e-04_rb /) kao(:, 1, 5, 2) = (/ & & 0.58527e-04_rb,0.10840e-03_rb,0.11507e-03_rb,0.11730e-03_rb,0.11099e-03_rb, & & 0.10118e-03_rb,0.89566e-04_rb,0.71122e-04_rb,0.43658e-04_rb /) kao(:, 2, 5, 2) = (/ & & 0.59798e-04_rb,0.10799e-03_rb,0.11447e-03_rb,0.11692e-03_rb,0.11189e-03_rb, & & 0.10224e-03_rb,0.90255e-04_rb,0.72476e-04_rb,0.44361e-04_rb /) kao(:, 3, 5, 2) = (/ & & 0.60601e-04_rb,0.10799e-03_rb,0.11464e-03_rb,0.11677e-03_rb,0.11225e-03_rb, & & 0.10358e-03_rb,0.91122e-04_rb,0.73922e-04_rb,0.45004e-04_rb /) kao(:, 4, 5, 2) = (/ & & 0.60971e-04_rb,0.10798e-03_rb,0.11486e-03_rb,0.11681e-03_rb,0.11304e-03_rb, & & 0.10512e-03_rb,0.91981e-04_rb,0.75441e-04_rb,0.45782e-04_rb /) kao(:, 5, 5, 2) = (/ & & 0.61166e-04_rb,0.10769e-03_rb,0.11529e-03_rb,0.11740e-03_rb,0.11428e-03_rb, & & 0.10674e-03_rb,0.93329e-04_rb,0.76963e-04_rb,0.46781e-04_rb /) kao(:, 1, 6, 2) = (/ & & 0.49298e-04_rb,0.93665e-04_rb,0.99302e-04_rb,0.10166e-03_rb,0.96125e-04_rb, & & 0.87991e-04_rb,0.77830e-04_rb,0.61651e-04_rb,0.45761e-04_rb /) kao(:, 2, 6, 2) = (/ & & 0.50498e-04_rb,0.93479e-04_rb,0.98966e-04_rb,0.10139e-03_rb,0.96705e-04_rb, & & 0.89173e-04_rb,0.78227e-04_rb,0.62850e-04_rb,0.46039e-04_rb /) kao(:, 3, 6, 2) = (/ & & 0.51269e-04_rb,0.93203e-04_rb,0.98973e-04_rb,0.10127e-03_rb,0.97298e-04_rb, & & 0.90362e-04_rb,0.78802e-04_rb,0.64157e-04_rb,0.46346e-04_rb /) kao(:, 4, 6, 2) = (/ & & 0.51588e-04_rb,0.93137e-04_rb,0.99162e-04_rb,0.10129e-03_rb,0.98592e-04_rb, & & 0.91554e-04_rb,0.79929e-04_rb,0.65574e-04_rb,0.46727e-04_rb /) kao(:, 5, 6, 2) = (/ & & 0.51597e-04_rb,0.92792e-04_rb,0.99458e-04_rb,0.10170e-03_rb,0.99448e-04_rb, & & 0.92834e-04_rb,0.81330e-04_rb,0.66366e-04_rb,0.47183e-04_rb /) kao(:, 1, 7, 2) = (/ & & 0.41246e-04_rb,0.80496e-04_rb,0.85316e-04_rb,0.87435e-04_rb,0.82542e-04_rb, & & 0.75819e-04_rb,0.67022e-04_rb,0.53111e-04_rb,0.48352e-04_rb /) kao(:, 2, 7, 2) = (/ & & 0.42332e-04_rb,0.80236e-04_rb,0.84984e-04_rb,0.87173e-04_rb,0.83192e-04_rb, & & 0.76872e-04_rb,0.67154e-04_rb,0.54235e-04_rb,0.49203e-04_rb /) kao(:, 3, 7, 2) = (/ & & 0.43069e-04_rb,0.79969e-04_rb,0.85117e-04_rb,0.87191e-04_rb,0.83963e-04_rb, & & 0.78027e-04_rb,0.67911e-04_rb,0.55423e-04_rb,0.50036e-04_rb /) kao(:, 4, 7, 2) = (/ & & 0.43347e-04_rb,0.79762e-04_rb,0.85176e-04_rb,0.87282e-04_rb,0.84970e-04_rb, & & 0.78971e-04_rb,0.69097e-04_rb,0.56659e-04_rb,0.50699e-04_rb /) kao(:, 5, 7, 2) = (/ & & 0.43381e-04_rb,0.79473e-04_rb,0.85320e-04_rb,0.87550e-04_rb,0.85526e-04_rb, & & 0.80111e-04_rb,0.70399e-04_rb,0.56992e-04_rb,0.51218e-04_rb /) kao(:, 1, 8, 2) = (/ & & 0.34402e-04_rb,0.69256e-04_rb,0.73264e-04_rb,0.74907e-04_rb,0.70733e-04_rb, & & 0.65058e-04_rb,0.57123e-04_rb,0.45547e-04_rb,0.49061e-04_rb /) kao(:, 2, 8, 2) = (/ & & 0.35394e-04_rb,0.68938e-04_rb,0.72891e-04_rb,0.74693e-04_rb,0.71198e-04_rb, & & 0.66010e-04_rb,0.57419e-04_rb,0.46585e-04_rb,0.51368e-04_rb /) kao(:, 3, 8, 2) = (/ & & 0.36086e-04_rb,0.68637e-04_rb,0.72875e-04_rb,0.74679e-04_rb,0.72090e-04_rb, & & 0.66902e-04_rb,0.58282e-04_rb,0.47622e-04_rb,0.51837e-04_rb /) kao(:, 4, 8, 2) = (/ & & 0.36445e-04_rb,0.68326e-04_rb,0.72869e-04_rb,0.74856e-04_rb,0.72765e-04_rb, & & 0.67827e-04_rb,0.59362e-04_rb,0.48483e-04_rb,0.52297e-04_rb /) kao(:, 5, 8, 2) = (/ & & 0.36483e-04_rb,0.68010e-04_rb,0.72961e-04_rb,0.75096e-04_rb,0.73241e-04_rb, & & 0.68587e-04_rb,0.60512e-04_rb,0.48784e-04_rb,0.53745e-04_rb /) kao(:, 1, 9, 2) = (/ & & 0.28433e-04_rb,0.59232e-04_rb,0.62701e-04_rb,0.63901e-04_rb,0.60103e-04_rb, & & 0.55141e-04_rb,0.48531e-04_rb,0.38847e-04_rb,0.54662e-04_rb /) kao(:, 2, 9, 2) = (/ & & 0.29405e-04_rb,0.58918e-04_rb,0.62216e-04_rb,0.63604e-04_rb,0.60633e-04_rb, & & 0.55830e-04_rb,0.48918e-04_rb,0.39795e-04_rb,0.56459e-04_rb /) kao(:, 3, 9, 2) = (/ & & 0.30040e-04_rb,0.58597e-04_rb,0.61986e-04_rb,0.63627e-04_rb,0.61357e-04_rb, & & 0.56779e-04_rb,0.49706e-04_rb,0.40729e-04_rb,0.58698e-04_rb /) kao(:, 4, 9, 2) = (/ & & 0.30412e-04_rb,0.58268e-04_rb,0.61940e-04_rb,0.63690e-04_rb,0.61916e-04_rb, & & 0.57700e-04_rb,0.50677e-04_rb,0.41137e-04_rb,0.60426e-04_rb /) kao(:, 5, 9, 2) = (/ & & 0.30517e-04_rb,0.57913e-04_rb,0.61982e-04_rb,0.63808e-04_rb,0.62307e-04_rb, & & 0.58353e-04_rb,0.51602e-04_rb,0.41668e-04_rb,0.61933e-04_rb /) kao(:, 1,10, 2) = (/ & & 0.23291e-04_rb,0.50308e-04_rb,0.53243e-04_rb,0.54258e-04_rb,0.50787e-04_rb, & & 0.46509e-04_rb,0.41036e-04_rb,0.32969e-04_rb,0.63749e-04_rb /) kao(:, 2,10, 2) = (/ & & 0.24304e-04_rb,0.50027e-04_rb,0.52858e-04_rb,0.54035e-04_rb,0.51457e-04_rb, & & 0.47117e-04_rb,0.41427e-04_rb,0.33795e-04_rb,0.67891e-04_rb /) kao(:, 3,10, 2) = (/ & & 0.24884e-04_rb,0.49658e-04_rb,0.52484e-04_rb,0.53877e-04_rb,0.52001e-04_rb, & & 0.47908e-04_rb,0.42080e-04_rb,0.34652e-04_rb,0.71374e-04_rb /) kao(:, 4,10, 2) = (/ & & 0.25245e-04_rb,0.49329e-04_rb,0.52369e-04_rb,0.53861e-04_rb,0.52353e-04_rb, & & 0.48763e-04_rb,0.42918e-04_rb,0.34903e-04_rb,0.73983e-04_rb /) kao(:, 5,10, 2) = (/ & & 0.25399e-04_rb,0.49019e-04_rb,0.52344e-04_rb,0.53920e-04_rb,0.52702e-04_rb, & & 0.49354e-04_rb,0.43795e-04_rb,0.35336e-04_rb,0.76874e-04_rb /) kao(:, 1,11, 2) = (/ & & 0.19464e-04_rb,0.42428e-04_rb,0.44774e-04_rb,0.45764e-04_rb,0.43065e-04_rb, & & 0.39257e-04_rb,0.34681e-04_rb,0.28149e-04_rb,0.56538e-04_rb /) kao(:, 2,11, 2) = (/ & & 0.20274e-04_rb,0.42118e-04_rb,0.44484e-04_rb,0.45525e-04_rb,0.43594e-04_rb, & & 0.39908e-04_rb,0.35109e-04_rb,0.28880e-04_rb,0.61143e-04_rb /) kao(:, 3,11, 2) = (/ & & 0.20723e-04_rb,0.41781e-04_rb,0.44183e-04_rb,0.45345e-04_rb,0.43968e-04_rb, & & 0.40542e-04_rb,0.35722e-04_rb,0.29427e-04_rb,0.66428e-04_rb /) kao(:, 4,11, 2) = (/ & & 0.20986e-04_rb,0.41469e-04_rb,0.44005e-04_rb,0.45299e-04_rb,0.44240e-04_rb, & & 0.41204e-04_rb,0.36501e-04_rb,0.29565e-04_rb,0.70536e-04_rb /) kao(:, 5,11, 2) = (/ & & 0.21088e-04_rb,0.41122e-04_rb,0.44008e-04_rb,0.45344e-04_rb,0.44427e-04_rb, & & 0.41695e-04_rb,0.37345e-04_rb,0.29974e-04_rb,0.74164e-04_rb /) kao(:, 1,12, 2) = (/ & & 0.16205e-04_rb,0.35661e-04_rb,0.37585e-04_rb,0.38332e-04_rb,0.36196e-04_rb, & & 0.33054e-04_rb,0.29216e-04_rb,0.23917e-04_rb,0.49111e-04_rb /) kao(:, 2,12, 2) = (/ & & 0.16873e-04_rb,0.35314e-04_rb,0.37290e-04_rb,0.38165e-04_rb,0.36667e-04_rb, & & 0.33618e-04_rb,0.29598e-04_rb,0.24536e-04_rb,0.53408e-04_rb /) kao(:, 3,12, 2) = (/ & & 0.17216e-04_rb,0.35012e-04_rb,0.37013e-04_rb,0.37971e-04_rb,0.36937e-04_rb, & & 0.34200e-04_rb,0.30188e-04_rb,0.24727e-04_rb,0.56692e-04_rb /) kao(:, 4,12, 2) = (/ & & 0.17409e-04_rb,0.34711e-04_rb,0.36851e-04_rb,0.37885e-04_rb,0.37053e-04_rb, & & 0.34609e-04_rb,0.30881e-04_rb,0.24937e-04_rb,0.60809e-04_rb /) kao(:, 5,12, 2) = (/ & & 0.17480e-04_rb,0.34362e-04_rb,0.36830e-04_rb,0.37891e-04_rb,0.37213e-04_rb, & & 0.35045e-04_rb,0.31524e-04_rb,0.25269e-04_rb,0.65163e-04_rb /) kao(:, 1,13, 2) = (/ & & 0.13457e-04_rb,0.29884e-04_rb,0.31446e-04_rb,0.32052e-04_rb,0.30374e-04_rb, & & 0.27733e-04_rb,0.24511e-04_rb,0.20198e-04_rb,0.41009e-04_rb /) kao(:, 2,13, 2) = (/ & & 0.14007e-04_rb,0.29560e-04_rb,0.31187e-04_rb,0.31882e-04_rb,0.30716e-04_rb, & & 0.28181e-04_rb,0.24877e-04_rb,0.20737e-04_rb,0.44661e-04_rb /) kao(:, 3,13, 2) = (/ & & 0.14280e-04_rb,0.29273e-04_rb,0.30932e-04_rb,0.31685e-04_rb,0.30856e-04_rb, & & 0.28687e-04_rb,0.25310e-04_rb,0.20664e-04_rb,0.47397e-04_rb /) kao(:, 4,13, 2) = (/ & & 0.14434e-04_rb,0.28982e-04_rb,0.30751e-04_rb,0.31601e-04_rb,0.30957e-04_rb, & & 0.28945e-04_rb,0.25864e-04_rb,0.20868e-04_rb,0.50575e-04_rb /) kao(:, 5,13, 2) = (/ & & 0.14483e-04_rb,0.28660e-04_rb,0.30711e-04_rb,0.31533e-04_rb,0.31075e-04_rb, & & 0.29320e-04_rb,0.26408e-04_rb,0.21257e-04_rb,0.54097e-04_rb /) kao(:, 1, 1, 3) = (/ & & 0.22536e-03_rb,0.32037e-03_rb,0.33781e-03_rb,0.34273e-03_rb,0.33729e-03_rb, & & 0.32075e-03_rb,0.29153e-03_rb,0.24856e-03_rb,0.16410e-03_rb /) kao(:, 2, 1, 3) = (/ & & 0.22342e-03_rb,0.32281e-03_rb,0.34293e-03_rb,0.34673e-03_rb,0.34167e-03_rb, & & 0.32688e-03_rb,0.29787e-03_rb,0.25566e-03_rb,0.17029e-03_rb /) kao(:, 3, 1, 3) = (/ & & 0.22157e-03_rb,0.32559e-03_rb,0.34865e-03_rb,0.35164e-03_rb,0.34805e-03_rb, & & 0.33353e-03_rb,0.30505e-03_rb,0.26380e-03_rb,0.17749e-03_rb /) kao(:, 4, 1, 3) = (/ & & 0.21986e-03_rb,0.32894e-03_rb,0.35375e-03_rb,0.35845e-03_rb,0.35514e-03_rb, & & 0.33992e-03_rb,0.31266e-03_rb,0.27259e-03_rb,0.18209e-03_rb /) kao(:, 5, 1, 3) = (/ & & 0.21815e-03_rb,0.33282e-03_rb,0.35982e-03_rb,0.36699e-03_rb,0.36319e-03_rb, & & 0.34849e-03_rb,0.32265e-03_rb,0.28174e-03_rb,0.18630e-03_rb /) kao(:, 1, 2, 3) = (/ & & 0.19541e-03_rb,0.28383e-03_rb,0.30057e-03_rb,0.30208e-03_rb,0.29811e-03_rb, & & 0.28614e-03_rb,0.25813e-03_rb,0.22172e-03_rb,0.14533e-03_rb /) kao(:, 2, 2, 3) = (/ & & 0.19410e-03_rb,0.28606e-03_rb,0.30502e-03_rb,0.30638e-03_rb,0.30342e-03_rb, & & 0.29123e-03_rb,0.26438e-03_rb,0.22759e-03_rb,0.15063e-03_rb /) kao(:, 3, 2, 3) = (/ & & 0.19280e-03_rb,0.28892e-03_rb,0.31031e-03_rb,0.31345e-03_rb,0.30930e-03_rb, & & 0.29708e-03_rb,0.27075e-03_rb,0.23476e-03_rb,0.15387e-03_rb /) kao(:, 4, 2, 3) = (/ & & 0.19169e-03_rb,0.29226e-03_rb,0.31596e-03_rb,0.32060e-03_rb,0.31687e-03_rb, & & 0.30282e-03_rb,0.27961e-03_rb,0.24147e-03_rb,0.15653e-03_rb /) kao(:, 5, 2, 3) = (/ & & 0.19047e-03_rb,0.29594e-03_rb,0.32186e-03_rb,0.32831e-03_rb,0.32510e-03_rb, & & 0.31022e-03_rb,0.28786e-03_rb,0.24847e-03_rb,0.16195e-03_rb /) kao(:, 1, 3, 3) = (/ & & 0.16871e-03_rb,0.24969e-03_rb,0.26468e-03_rb,0.26465e-03_rb,0.26214e-03_rb, & & 0.25247e-03_rb,0.22732e-03_rb,0.19530e-03_rb,0.12777e-03_rb /) kao(:, 2, 3, 3) = (/ & & 0.16793e-03_rb,0.25161e-03_rb,0.26876e-03_rb,0.26973e-03_rb,0.26695e-03_rb, & & 0.25688e-03_rb,0.23244e-03_rb,0.20054e-03_rb,0.12972e-03_rb /) kao(:, 3, 3, 3) = (/ & & 0.16733e-03_rb,0.25378e-03_rb,0.27385e-03_rb,0.27612e-03_rb,0.27305e-03_rb, & & 0.26119e-03_rb,0.23922e-03_rb,0.20542e-03_rb,0.13061e-03_rb /) kao(:, 4, 3, 3) = (/ & & 0.16706e-03_rb,0.25676e-03_rb,0.27970e-03_rb,0.28379e-03_rb,0.28013e-03_rb, & & 0.26708e-03_rb,0.24668e-03_rb,0.21081e-03_rb,0.13394e-03_rb /) kao(:, 5, 3, 3) = (/ & & 0.16637e-03_rb,0.26037e-03_rb,0.28504e-03_rb,0.29050e-03_rb,0.28611e-03_rb, & & 0.27355e-03_rb,0.25260e-03_rb,0.21670e-03_rb,0.13844e-03_rb /) kao(:, 1, 4, 3) = (/ & & 0.14579e-03_rb,0.21908e-03_rb,0.23187e-03_rb,0.23162e-03_rb,0.22921e-03_rb, & & 0.22070e-03_rb,0.19997e-03_rb,0.17094e-03_rb,0.11198e-03_rb /) kao(:, 2, 4, 3) = (/ & & 0.14542e-03_rb,0.22095e-03_rb,0.23576e-03_rb,0.23659e-03_rb,0.23393e-03_rb, & & 0.22421e-03_rb,0.20413e-03_rb,0.17485e-03_rb,0.11080e-03_rb /) kao(:, 3, 4, 3) = (/ & & 0.14519e-03_rb,0.22277e-03_rb,0.24039e-03_rb,0.24264e-03_rb,0.23941e-03_rb, & & 0.22826e-03_rb,0.20957e-03_rb,0.17862e-03_rb,0.11236e-03_rb /) kao(:, 4, 4, 3) = (/ & & 0.14504e-03_rb,0.22526e-03_rb,0.24523e-03_rb,0.24877e-03_rb,0.24473e-03_rb, & & 0.23381e-03_rb,0.21512e-03_rb,0.18339e-03_rb,0.11577e-03_rb /) kao(:, 5, 4, 3) = (/ & & 0.14497e-03_rb,0.22869e-03_rb,0.25070e-03_rb,0.25513e-03_rb,0.25076e-03_rb, & & 0.23990e-03_rb,0.22117e-03_rb,0.18804e-03_rb,0.11947e-03_rb /) kao(:, 1, 5, 3) = (/ & & 0.12609e-03_rb,0.19125e-03_rb,0.20302e-03_rb,0.20235e-03_rb,0.20038e-03_rb, & & 0.19210e-03_rb,0.17493e-03_rb,0.14918e-03_rb,0.95914e-04_rb /) kao(:, 2, 5, 3) = (/ & & 0.12575e-03_rb,0.19304e-03_rb,0.20668e-03_rb,0.20708e-03_rb,0.20395e-03_rb, & & 0.19513e-03_rb,0.17862e-03_rb,0.15191e-03_rb,0.95952e-04_rb /) kao(:, 3, 5, 3) = (/ & & 0.12572e-03_rb,0.19504e-03_rb,0.21070e-03_rb,0.21227e-03_rb,0.20862e-03_rb, & & 0.19877e-03_rb,0.18323e-03_rb,0.15540e-03_rb,0.98040e-04_rb /) kao(:, 4, 5, 3) = (/ & & 0.12578e-03_rb,0.19736e-03_rb,0.21498e-03_rb,0.21770e-03_rb,0.21305e-03_rb, & & 0.20380e-03_rb,0.18766e-03_rb,0.15949e-03_rb,0.10020e-03_rb /) kao(:, 5, 5, 3) = (/ & & 0.12588e-03_rb,0.20051e-03_rb,0.21971e-03_rb,0.22313e-03_rb,0.21848e-03_rb, & & 0.20915e-03_rb,0.19284e-03_rb,0.16321e-03_rb,0.10267e-03_rb /) kao(:, 1, 6, 3) = (/ & & 0.10863e-03_rb,0.16576e-03_rb,0.17695e-03_rb,0.17678e-03_rb,0.17469e-03_rb, & & 0.16678e-03_rb,0.15163e-03_rb,0.12940e-03_rb,0.89550e-04_rb /) kao(:, 2, 6, 3) = (/ & & 0.10863e-03_rb,0.16706e-03_rb,0.18030e-03_rb,0.18081e-03_rb,0.17775e-03_rb, & & 0.16938e-03_rb,0.15534e-03_rb,0.13148e-03_rb,0.89670e-04_rb /) kao(:, 3, 6, 3) = (/ & & 0.10855e-03_rb,0.16916e-03_rb,0.18384e-03_rb,0.18538e-03_rb,0.18134e-03_rb, & & 0.17272e-03_rb,0.15912e-03_rb,0.13459e-03_rb,0.90520e-04_rb /) kao(:, 4, 6, 3) = (/ & & 0.10855e-03_rb,0.17152e-03_rb,0.18761e-03_rb,0.18997e-03_rb,0.18510e-03_rb, & & 0.17711e-03_rb,0.16286e-03_rb,0.13757e-03_rb,0.91792e-04_rb /) kao(:, 5, 6, 3) = (/ & & 0.10853e-03_rb,0.17415e-03_rb,0.19152e-03_rb,0.19450e-03_rb,0.18955e-03_rb, & & 0.18160e-03_rb,0.16658e-03_rb,0.14151e-03_rb,0.94030e-04_rb /) kao(:, 1, 7, 3) = (/ & & 0.92930e-04_rb,0.14283e-03_rb,0.15332e-03_rb,0.15365e-03_rb,0.15192e-03_rb, & & 0.14476e-03_rb,0.13092e-03_rb,0.11095e-03_rb,0.91877e-04_rb /) kao(:, 2, 7, 3) = (/ & & 0.92984e-04_rb,0.14401e-03_rb,0.15614e-03_rb,0.15721e-03_rb,0.15413e-03_rb, & & 0.14688e-03_rb,0.13443e-03_rb,0.11315e-03_rb,0.90405e-04_rb /) kao(:, 3, 7, 3) = (/ & & 0.92945e-04_rb,0.14573e-03_rb,0.15905e-03_rb,0.16110e-03_rb,0.15737e-03_rb, & & 0.14983e-03_rb,0.13738e-03_rb,0.11591e-03_rb,0.89977e-04_rb /) kao(:, 4, 7, 3) = (/ & & 0.93035e-04_rb,0.14787e-03_rb,0.16239e-03_rb,0.16472e-03_rb,0.16084e-03_rb, & & 0.15371e-03_rb,0.14051e-03_rb,0.11827e-03_rb,0.90955e-04_rb /) kao(:, 5, 7, 3) = (/ & & 0.92985e-04_rb,0.15023e-03_rb,0.16593e-03_rb,0.16877e-03_rb,0.16496e-03_rb, & & 0.15743e-03_rb,0.14348e-03_rb,0.12221e-03_rb,0.92269e-04_rb /) kao(:, 1, 8, 3) = (/ & & 0.79600e-04_rb,0.12290e-03_rb,0.13269e-03_rb,0.13322e-03_rb,0.13145e-03_rb, & & 0.12540e-03_rb,0.11354e-03_rb,0.94559e-04_rb,0.10796e-03_rb /) kao(:, 2, 8, 3) = (/ & & 0.79683e-04_rb,0.12390e-03_rb,0.13495e-03_rb,0.13633e-03_rb,0.13351e-03_rb, & & 0.12708e-03_rb,0.11620e-03_rb,0.96898e-04_rb,0.10854e-03_rb /) kao(:, 3, 8, 3) = (/ & & 0.79630e-04_rb,0.12537e-03_rb,0.13745e-03_rb,0.13937e-03_rb,0.13626e-03_rb, & & 0.12970e-03_rb,0.11867e-03_rb,0.99068e-04_rb,0.10974e-03_rb /) kao(:, 4, 8, 3) = (/ & & 0.79625e-04_rb,0.12719e-03_rb,0.14027e-03_rb,0.14234e-03_rb,0.13941e-03_rb, & & 0.13283e-03_rb,0.12113e-03_rb,0.10155e-03_rb,0.11075e-03_rb /) kao(:, 5, 8, 3) = (/ & & 0.79589e-04_rb,0.12914e-03_rb,0.14322e-03_rb,0.14575e-03_rb,0.14305e-03_rb, & & 0.13597e-03_rb,0.12361e-03_rb,0.10505e-03_rb,0.11038e-03_rb /) kao(:, 1, 9, 3) = (/ & & 0.67917e-04_rb,0.10525e-03_rb,0.11421e-03_rb,0.11510e-03_rb,0.11341e-03_rb, & & 0.10850e-03_rb,0.97945e-04_rb,0.80197e-04_rb,0.13259e-03_rb /) kao(:, 2, 9, 3) = (/ & & 0.67928e-04_rb,0.10625e-03_rb,0.11606e-03_rb,0.11762e-03_rb,0.11532e-03_rb, & & 0.11035e-03_rb,0.10017e-03_rb,0.82394e-04_rb,0.13427e-03_rb /) kao(:, 3, 9, 3) = (/ & & 0.67856e-04_rb,0.10744e-03_rb,0.11824e-03_rb,0.11998e-03_rb,0.11756e-03_rb, & & 0.11235e-03_rb,0.10203e-03_rb,0.84408e-04_rb,0.13461e-03_rb /) kao(:, 4, 9, 3) = (/ & & 0.67768e-04_rb,0.10890e-03_rb,0.12070e-03_rb,0.12262e-03_rb,0.12012e-03_rb, & & 0.11456e-03_rb,0.10420e-03_rb,0.86916e-04_rb,0.13504e-03_rb /) kao(:, 5, 9, 3) = (/ & & 0.67707e-04_rb,0.11054e-03_rb,0.12323e-03_rb,0.12567e-03_rb,0.12318e-03_rb, & & 0.11694e-03_rb,0.10644e-03_rb,0.89648e-04_rb,0.13829e-03_rb /) kao(:, 1,10, 3) = (/ & & 0.57658e-04_rb,0.89812e-04_rb,0.97774e-04_rb,0.98825e-04_rb,0.97412e-04_rb, & & 0.93433e-04_rb,0.84119e-04_rb,0.68026e-04_rb,0.20137e-03_rb /) kao(:, 2,10, 3) = (/ & & 0.57461e-04_rb,0.90575e-04_rb,0.99228e-04_rb,0.10076e-03_rb,0.98930e-04_rb, & & 0.94984e-04_rb,0.86081e-04_rb,0.70085e-04_rb,0.20178e-03_rb /) kao(:, 3,10, 3) = (/ & & 0.57397e-04_rb,0.91666e-04_rb,0.10122e-03_rb,0.10281e-03_rb,0.10088e-03_rb, & & 0.96688e-04_rb,0.87695e-04_rb,0.72010e-04_rb,0.20052e-03_rb /) kao(:, 4,10, 3) = (/ & & 0.57291e-04_rb,0.92869e-04_rb,0.10334e-03_rb,0.10517e-03_rb,0.10317e-03_rb, & & 0.98293e-04_rb,0.89394e-04_rb,0.74251e-04_rb,0.20103e-03_rb /) kao(:, 5,10, 3) = (/ & & 0.57126e-04_rb,0.94072e-04_rb,0.10545e-03_rb,0.10789e-03_rb,0.10579e-03_rb, & & 0.10034e-03_rb,0.91420e-04_rb,0.76761e-04_rb,0.20035e-03_rb /) kao(:, 1,11, 3) = (/ & & 0.48600e-04_rb,0.76535e-04_rb,0.83721e-04_rb,0.84782e-04_rb,0.83379e-04_rb, & & 0.80481e-04_rb,0.72441e-04_rb,0.58503e-04_rb,0.20926e-03_rb /) kao(:, 2,11, 3) = (/ & & 0.48356e-04_rb,0.77272e-04_rb,0.85067e-04_rb,0.86588e-04_rb,0.84928e-04_rb, & & 0.81803e-04_rb,0.74015e-04_rb,0.60222e-04_rb,0.21110e-03_rb /) kao(:, 3,11, 3) = (/ & & 0.48180e-04_rb,0.78198e-04_rb,0.86939e-04_rb,0.88416e-04_rb,0.86712e-04_rb, & & 0.83176e-04_rb,0.75535e-04_rb,0.61973e-04_rb,0.20823e-03_rb /) kao(:, 4,11, 3) = (/ & & 0.48042e-04_rb,0.79160e-04_rb,0.88776e-04_rb,0.90704e-04_rb,0.88934e-04_rb, & & 0.84522e-04_rb,0.76983e-04_rb,0.64264e-04_rb,0.20745e-03_rb /) kao(:, 5,11, 3) = (/ & & 0.47901e-04_rb,0.80171e-04_rb,0.90395e-04_rb,0.92950e-04_rb,0.91253e-04_rb, & & 0.86364e-04_rb,0.78675e-04_rb,0.66159e-04_rb,0.20642e-03_rb /) kao(:, 1,12, 3) = (/ & & 0.40769e-04_rb,0.64775e-04_rb,0.71240e-04_rb,0.72409e-04_rb,0.71085e-04_rb, & & 0.68679e-04_rb,0.61925e-04_rb,0.50009e-04_rb,0.19056e-03_rb /) kao(:, 2,12, 3) = (/ & & 0.40486e-04_rb,0.65479e-04_rb,0.72574e-04_rb,0.73906e-04_rb,0.72438e-04_rb, & & 0.69693e-04_rb,0.63286e-04_rb,0.51717e-04_rb,0.19000e-03_rb /) kao(:, 3,12, 3) = (/ & & 0.40313e-04_rb,0.66212e-04_rb,0.74137e-04_rb,0.75686e-04_rb,0.74201e-04_rb, & & 0.70781e-04_rb,0.64554e-04_rb,0.53372e-04_rb,0.19242e-03_rb /) kao(:, 4,12, 3) = (/ & & 0.40107e-04_rb,0.66938e-04_rb,0.75524e-04_rb,0.77664e-04_rb,0.76142e-04_rb, & & 0.72280e-04_rb,0.65894e-04_rb,0.55174e-04_rb,0.19382e-03_rb /) kao(:, 5,12, 3) = (/ & & 0.39910e-04_rb,0.67782e-04_rb,0.76780e-04_rb,0.79463e-04_rb,0.78210e-04_rb, & & 0.73902e-04_rb,0.67292e-04_rb,0.56789e-04_rb,0.19106e-03_rb /) kao(:, 1,13, 3) = (/ & & 0.34103e-04_rb,0.54622e-04_rb,0.60315e-04_rb,0.61417e-04_rb,0.60332e-04_rb, & & 0.58110e-04_rb,0.52537e-04_rb,0.42612e-04_rb,0.15955e-03_rb /) kao(:, 2,13, 3) = (/ & & 0.33853e-04_rb,0.55148e-04_rb,0.61492e-04_rb,0.62745e-04_rb,0.61577e-04_rb, & & 0.59061e-04_rb,0.53702e-04_rb,0.43873e-04_rb,0.15892e-03_rb /) kao(:, 3,13, 3) = (/ & & 0.33647e-04_rb,0.55699e-04_rb,0.62687e-04_rb,0.64355e-04_rb,0.63160e-04_rb, & & 0.60072e-04_rb,0.54954e-04_rb,0.45643e-04_rb,0.16047e-03_rb /) kao(:, 4,13, 3) = (/ & & 0.33430e-04_rb,0.56291e-04_rb,0.63770e-04_rb,0.65844e-04_rb,0.64844e-04_rb, & & 0.61457e-04_rb,0.56064e-04_rb,0.47101e-04_rb,0.16125e-03_rb /) kao(:, 5,13, 3) = (/ & & 0.33186e-04_rb,0.56947e-04_rb,0.64747e-04_rb,0.67352e-04_rb,0.66508e-04_rb, & & 0.62903e-04_rb,0.57307e-04_rb,0.48379e-04_rb,0.16021e-03_rb /) kao(:, 1, 1, 4) = (/ & & 0.36602e-03_rb,0.52858e-03_rb,0.59251e-03_rb,0.61027e-03_rb,0.60893e-03_rb, & & 0.58987e-03_rb,0.55560e-03_rb,0.49855e-03_rb,0.38105e-03_rb /) kao(:, 2, 1, 4) = (/ & & 0.36935e-03_rb,0.53570e-03_rb,0.60138e-03_rb,0.62341e-03_rb,0.62297e-03_rb, & & 0.60228e-03_rb,0.56872e-03_rb,0.51035e-03_rb,0.39106e-03_rb /) kao(:, 3, 1, 4) = (/ & & 0.37348e-03_rb,0.54590e-03_rb,0.61238e-03_rb,0.63855e-03_rb,0.63820e-03_rb, & & 0.61734e-03_rb,0.58475e-03_rb,0.52206e-03_rb,0.40317e-03_rb /) kao(:, 4, 1, 4) = (/ & & 0.37665e-03_rb,0.55373e-03_rb,0.62261e-03_rb,0.65120e-03_rb,0.65250e-03_rb, & & 0.63373e-03_rb,0.59840e-03_rb,0.53517e-03_rb,0.41639e-03_rb /) kao(:, 5, 1, 4) = (/ & & 0.38076e-03_rb,0.56302e-03_rb,0.63456e-03_rb,0.66611e-03_rb,0.66857e-03_rb, & & 0.65240e-03_rb,0.61521e-03_rb,0.55178e-03_rb,0.43702e-03_rb /) kao(:, 1, 2, 4) = (/ & & 0.32225e-03_rb,0.47151e-03_rb,0.53262e-03_rb,0.55192e-03_rb,0.54706e-03_rb, & & 0.52658e-03_rb,0.49569e-03_rb,0.43958e-03_rb,0.31739e-03_rb /) kao(:, 2, 2, 4) = (/ & & 0.32532e-03_rb,0.47816e-03_rb,0.54076e-03_rb,0.56222e-03_rb,0.55834e-03_rb, & & 0.53879e-03_rb,0.50612e-03_rb,0.44777e-03_rb,0.32763e-03_rb /) kao(:, 3, 2, 4) = (/ & & 0.32941e-03_rb,0.48729e-03_rb,0.55083e-03_rb,0.57497e-03_rb,0.57312e-03_rb, & & 0.55394e-03_rb,0.51991e-03_rb,0.45969e-03_rb,0.33942e-03_rb /) kao(:, 4, 2, 4) = (/ & & 0.33303e-03_rb,0.49510e-03_rb,0.56036e-03_rb,0.58720e-03_rb,0.58669e-03_rb, & & 0.56974e-03_rb,0.53255e-03_rb,0.47385e-03_rb,0.35453e-03_rb /) kao(:, 5, 2, 4) = (/ & & 0.33657e-03_rb,0.50290e-03_rb,0.57014e-03_rb,0.59917e-03_rb,0.59997e-03_rb, & & 0.58475e-03_rb,0.54777e-03_rb,0.48909e-03_rb,0.36980e-03_rb /) kao(:, 1, 3, 4) = (/ & & 0.28263e-03_rb,0.41968e-03_rb,0.47376e-03_rb,0.49297e-03_rb,0.48633e-03_rb, & & 0.46530e-03_rb,0.43654e-03_rb,0.38496e-03_rb,0.26217e-03_rb /) kao(:, 2, 3, 4) = (/ & & 0.28517e-03_rb,0.42528e-03_rb,0.48017e-03_rb,0.50148e-03_rb,0.49564e-03_rb, & & 0.47634e-03_rb,0.44517e-03_rb,0.39228e-03_rb,0.27386e-03_rb /) kao(:, 3, 3, 4) = (/ & & 0.28805e-03_rb,0.43254e-03_rb,0.48769e-03_rb,0.51075e-03_rb,0.50628e-03_rb, & & 0.48940e-03_rb,0.45557e-03_rb,0.40274e-03_rb,0.28527e-03_rb /) kao(:, 4, 3, 4) = (/ & & 0.29156e-03_rb,0.44130e-03_rb,0.49824e-03_rb,0.52245e-03_rb,0.52001e-03_rb, & & 0.50355e-03_rb,0.46711e-03_rb,0.41540e-03_rb,0.29729e-03_rb /) kao(:, 5, 3, 4) = (/ & & 0.29453e-03_rb,0.44828e-03_rb,0.50753e-03_rb,0.53257e-03_rb,0.53321e-03_rb, & & 0.51645e-03_rb,0.48189e-03_rb,0.42882e-03_rb,0.30960e-03_rb /) kao(:, 1, 4, 4) = (/ & & 0.24709e-03_rb,0.37040e-03_rb,0.41811e-03_rb,0.43692e-03_rb,0.42924e-03_rb, & & 0.40974e-03_rb,0.38217e-03_rb,0.33504e-03_rb,0.21956e-03_rb /) kao(:, 2, 4, 4) = (/ & & 0.24935e-03_rb,0.37531e-03_rb,0.42359e-03_rb,0.44356e-03_rb,0.43669e-03_rb, & & 0.41955e-03_rb,0.39063e-03_rb,0.34337e-03_rb,0.23257e-03_rb /) kao(:, 3, 4, 4) = (/ & & 0.25192e-03_rb,0.38183e-03_rb,0.43049e-03_rb,0.45130e-03_rb,0.44572e-03_rb, & & 0.43016e-03_rb,0.39919e-03_rb,0.35274e-03_rb,0.24051e-03_rb /) kao(:, 4, 4, 4) = (/ & & 0.25420e-03_rb,0.38887e-03_rb,0.43864e-03_rb,0.46020e-03_rb,0.45692e-03_rb, & & 0.44111e-03_rb,0.40882e-03_rb,0.36219e-03_rb,0.24966e-03_rb /) kao(:, 5, 4, 4) = (/ & & 0.25772e-03_rb,0.39769e-03_rb,0.44993e-03_rb,0.47213e-03_rb,0.47068e-03_rb, & & 0.45426e-03_rb,0.42157e-03_rb,0.37400e-03_rb,0.25930e-03_rb /) kao(:, 1, 5, 4) = (/ & & 0.21574e-03_rb,0.32603e-03_rb,0.36644e-03_rb,0.38307e-03_rb,0.37721e-03_rb, & & 0.36018e-03_rb,0.33363e-03_rb,0.29143e-03_rb,0.18896e-03_rb /) kao(:, 2, 5, 4) = (/ & & 0.21778e-03_rb,0.33044e-03_rb,0.37107e-03_rb,0.38833e-03_rb,0.38426e-03_rb, & & 0.36797e-03_rb,0.34054e-03_rb,0.29920e-03_rb,0.19816e-03_rb /) kao(:, 3, 5, 4) = (/ & & 0.22015e-03_rb,0.33584e-03_rb,0.37735e-03_rb,0.39513e-03_rb,0.39228e-03_rb, & & 0.37720e-03_rb,0.34842e-03_rb,0.30654e-03_rb,0.20383e-03_rb /) kao(:, 4, 5, 4) = (/ & & 0.22252e-03_rb,0.34167e-03_rb,0.38484e-03_rb,0.40343e-03_rb,0.40251e-03_rb, & & 0.38567e-03_rb,0.35760e-03_rb,0.31401e-03_rb,0.21178e-03_rb /) kao(:, 5, 5, 4) = (/ & & 0.22604e-03_rb,0.34964e-03_rb,0.39509e-03_rb,0.41443e-03_rb,0.41465e-03_rb, & & 0.39685e-03_rb,0.36847e-03_rb,0.32400e-03_rb,0.21929e-03_rb /) kao(:, 1, 6, 4) = (/ & & 0.18783e-03_rb,0.28666e-03_rb,0.32037e-03_rb,0.33351e-03_rb,0.32945e-03_rb, & & 0.31516e-03_rb,0.29066e-03_rb,0.25263e-03_rb,0.16238e-03_rb /) kao(:, 2, 6, 4) = (/ & & 0.18921e-03_rb,0.29078e-03_rb,0.32423e-03_rb,0.33799e-03_rb,0.33536e-03_rb, & & 0.32156e-03_rb,0.29643e-03_rb,0.25941e-03_rb,0.16831e-03_rb /) kao(:, 3, 6, 4) = (/ & & 0.19117e-03_rb,0.29487e-03_rb,0.32978e-03_rb,0.34375e-03_rb,0.34274e-03_rb, & & 0.32907e-03_rb,0.30344e-03_rb,0.26560e-03_rb,0.17389e-03_rb /) kao(:, 4, 6, 4) = (/ & & 0.19356e-03_rb,0.29979e-03_rb,0.33631e-03_rb,0.35135e-03_rb,0.35098e-03_rb, & & 0.33648e-03_rb,0.31108e-03_rb,0.27199e-03_rb,0.18056e-03_rb /) kao(:, 5, 6, 4) = (/ & & 0.19643e-03_rb,0.30567e-03_rb,0.34396e-03_rb,0.35996e-03_rb,0.36067e-03_rb, & & 0.34559e-03_rb,0.32056e-03_rb,0.28009e-03_rb,0.18507e-03_rb /) kao(:, 1, 7, 4) = (/ & & 0.16233e-03_rb,0.25159e-03_rb,0.28051e-03_rb,0.29071e-03_rb,0.28724e-03_rb, & & 0.27399e-03_rb,0.25257e-03_rb,0.21995e-03_rb,0.15053e-03_rb /) kao(:, 2, 7, 4) = (/ & & 0.16394e-03_rb,0.25497e-03_rb,0.28374e-03_rb,0.29454e-03_rb,0.29203e-03_rb, & & 0.28002e-03_rb,0.25781e-03_rb,0.22523e-03_rb,0.15467e-03_rb /) kao(:, 3, 7, 4) = (/ & & 0.16554e-03_rb,0.25862e-03_rb,0.28837e-03_rb,0.29946e-03_rb,0.29804e-03_rb, & & 0.28580e-03_rb,0.26386e-03_rb,0.23003e-03_rb,0.15858e-03_rb /) kao(:, 4, 7, 4) = (/ & & 0.16755e-03_rb,0.26275e-03_rb,0.29380e-03_rb,0.30624e-03_rb,0.30499e-03_rb, & & 0.29233e-03_rb,0.27029e-03_rb,0.23539e-03_rb,0.16161e-03_rb /) kao(:, 5, 7, 4) = (/ & & 0.17007e-03_rb,0.26765e-03_rb,0.30035e-03_rb,0.31353e-03_rb,0.31332e-03_rb, & & 0.30019e-03_rb,0.27871e-03_rb,0.24192e-03_rb,0.16587e-03_rb /) kao(:, 1, 8, 4) = (/ & & 0.14021e-03_rb,0.21983e-03_rb,0.24557e-03_rb,0.25394e-03_rb,0.25027e-03_rb, & & 0.23769e-03_rb,0.21853e-03_rb,0.19056e-03_rb,0.17210e-03_rb /) kao(:, 2, 8, 4) = (/ & & 0.14181e-03_rb,0.22244e-03_rb,0.24837e-03_rb,0.25730e-03_rb,0.25433e-03_rb, & & 0.24284e-03_rb,0.22361e-03_rb,0.19448e-03_rb,0.16707e-03_rb /) kao(:, 3, 8, 4) = (/ & & 0.14344e-03_rb,0.22578e-03_rb,0.25216e-03_rb,0.26169e-03_rb,0.25950e-03_rb, & & 0.24760e-03_rb,0.22868e-03_rb,0.19861e-03_rb,0.16518e-03_rb /) kao(:, 4, 8, 4) = (/ & & 0.14524e-03_rb,0.22935e-03_rb,0.25652e-03_rb,0.26715e-03_rb,0.26554e-03_rb, & & 0.25327e-03_rb,0.23470e-03_rb,0.20360e-03_rb,0.16514e-03_rb /) kao(:, 5, 8, 4) = (/ & & 0.14752e-03_rb,0.23348e-03_rb,0.26209e-03_rb,0.27316e-03_rb,0.27225e-03_rb, & & 0.26056e-03_rb,0.24203e-03_rb,0.20916e-03_rb,0.16671e-03_rb /) kao(:, 1, 9, 4) = (/ & & 0.12008e-03_rb,0.19084e-03_rb,0.21359e-03_rb,0.22137e-03_rb,0.21826e-03_rb, & & 0.20646e-03_rb,0.18855e-03_rb,0.16443e-03_rb,0.31379e-03_rb /) kao(:, 2, 9, 4) = (/ & & 0.12170e-03_rb,0.19281e-03_rb,0.21619e-03_rb,0.22414e-03_rb,0.22156e-03_rb, & & 0.21036e-03_rb,0.19272e-03_rb,0.16751e-03_rb,0.30810e-03_rb /) kao(:, 3, 9, 4) = (/ & & 0.12341e-03_rb,0.19553e-03_rb,0.21930e-03_rb,0.22810e-03_rb,0.22604e-03_rb, & & 0.21457e-03_rb,0.19724e-03_rb,0.17093e-03_rb,0.30579e-03_rb /) kao(:, 4, 9, 4) = (/ & & 0.12515e-03_rb,0.19866e-03_rb,0.22306e-03_rb,0.23273e-03_rb,0.23128e-03_rb, & & 0.22000e-03_rb,0.20255e-03_rb,0.17520e-03_rb,0.30468e-03_rb /) kao(:, 5, 9, 4) = (/ & & 0.12711e-03_rb,0.20244e-03_rb,0.22780e-03_rb,0.23779e-03_rb,0.23723e-03_rb, & & 0.22672e-03_rb,0.20873e-03_rb,0.18006e-03_rb,0.30071e-03_rb /) kao(:, 1,10, 4) = (/ & & 0.10239e-03_rb,0.16495e-03_rb,0.18568e-03_rb,0.19287e-03_rb,0.19038e-03_rb, & & 0.17962e-03_rb,0.16274e-03_rb,0.14112e-03_rb,0.46281e-03_rb /) kao(:, 2,10, 4) = (/ & & 0.10386e-03_rb,0.16652e-03_rb,0.18791e-03_rb,0.19539e-03_rb,0.19307e-03_rb, & & 0.18291e-03_rb,0.16628e-03_rb,0.14354e-03_rb,0.46032e-03_rb /) kao(:, 3,10, 4) = (/ & & 0.10550e-03_rb,0.16884e-03_rb,0.19060e-03_rb,0.19863e-03_rb,0.19685e-03_rb, & & 0.18669e-03_rb,0.17045e-03_rb,0.14674e-03_rb,0.45882e-03_rb /) kao(:, 4,10, 4) = (/ & & 0.10710e-03_rb,0.17185e-03_rb,0.19377e-03_rb,0.20238e-03_rb,0.20140e-03_rb, & & 0.19164e-03_rb,0.17544e-03_rb,0.15076e-03_rb,0.45556e-03_rb /) kao(:, 5,10, 4) = (/ & & 0.10887e-03_rb,0.17528e-03_rb,0.19755e-03_rb,0.20663e-03_rb,0.20650e-03_rb, & & 0.19756e-03_rb,0.18068e-03_rb,0.15495e-03_rb,0.45295e-03_rb /) kao(:, 1,11, 4) = (/ & & 0.87454e-04_rb,0.14214e-03_rb,0.16093e-03_rb,0.16784e-03_rb,0.16634e-03_rb, & & 0.15750e-03_rb,0.14233e-03_rb,0.12157e-03_rb,0.50227e-03_rb /) kao(:, 2,11, 4) = (/ & & 0.89026e-04_rb,0.14363e-03_rb,0.16297e-03_rb,0.17024e-03_rb,0.16905e-03_rb, & & 0.16052e-03_rb,0.14560e-03_rb,0.12384e-03_rb,0.48800e-03_rb /) kao(:, 3,11, 4) = (/ & & 0.90456e-04_rb,0.14595e-03_rb,0.16534e-03_rb,0.17342e-03_rb,0.17281e-03_rb, & & 0.16441e-03_rb,0.14965e-03_rb,0.12699e-03_rb,0.48638e-03_rb /) kao(:, 4,11, 4) = (/ & & 0.91788e-04_rb,0.14885e-03_rb,0.16823e-03_rb,0.17680e-03_rb,0.17688e-03_rb, & & 0.16911e-03_rb,0.15409e-03_rb,0.13060e-03_rb,0.48097e-03_rb /) kao(:, 5,11, 4) = (/ & & 0.92958e-04_rb,0.15220e-03_rb,0.17197e-03_rb,0.18085e-03_rb,0.18150e-03_rb, & & 0.17440e-03_rb,0.15892e-03_rb,0.13466e-03_rb,0.48115e-03_rb /) kao(:, 1,12, 4) = (/ & & 0.74228e-04_rb,0.12171e-03_rb,0.13828e-03_rb,0.14464e-03_rb,0.14381e-03_rb, & & 0.13674e-03_rb,0.12370e-03_rb,0.10454e-03_rb,0.48263e-03_rb /) kao(:, 2,12, 4) = (/ & & 0.75542e-04_rb,0.12330e-03_rb,0.13992e-03_rb,0.14688e-03_rb,0.14666e-03_rb, & & 0.13981e-03_rb,0.12694e-03_rb,0.10662e-03_rb,0.46961e-03_rb /) kao(:, 3,12, 4) = (/ & & 0.76696e-04_rb,0.12551e-03_rb,0.14218e-03_rb,0.14964e-03_rb,0.14989e-03_rb, & & 0.14346e-03_rb,0.13058e-03_rb,0.10986e-03_rb,0.45986e-03_rb /) kao(:, 4,12, 4) = (/ & & 0.77769e-04_rb,0.12821e-03_rb,0.14505e-03_rb,0.15276e-03_rb,0.15361e-03_rb, & & 0.14764e-03_rb,0.13466e-03_rb,0.11322e-03_rb,0.45064e-03_rb /) kao(:, 5,12, 4) = (/ & & 0.78633e-04_rb,0.13113e-03_rb,0.14863e-03_rb,0.15667e-03_rb,0.15783e-03_rb, & & 0.15249e-03_rb,0.13915e-03_rb,0.11696e-03_rb,0.45257e-03_rb /) kao(:, 1,13, 4) = (/ & & 0.62659e-04_rb,0.10388e-03_rb,0.11828e-03_rb,0.12392e-03_rb,0.12371e-03_rb, & & 0.11811e-03_rb,0.10712e-03_rb,0.89769e-04_rb,0.40925e-03_rb /) kao(:, 2,13, 4) = (/ & & 0.63709e-04_rb,0.10546e-03_rb,0.11986e-03_rb,0.12594e-03_rb,0.12627e-03_rb, & & 0.12095e-03_rb,0.11006e-03_rb,0.92053e-04_rb,0.39852e-03_rb /) kao(:, 3,13, 4) = (/ & & 0.64717e-04_rb,0.10750e-03_rb,0.12189e-03_rb,0.12839e-03_rb,0.12907e-03_rb, & & 0.12414e-03_rb,0.11317e-03_rb,0.94939e-04_rb,0.39013e-03_rb /) kao(:, 4,13, 4) = (/ & & 0.65465e-04_rb,0.10983e-03_rb,0.12464e-03_rb,0.13149e-03_rb,0.13253e-03_rb, & & 0.12801e-03_rb,0.11693e-03_rb,0.98001e-04_rb,0.38349e-03_rb /) kao(:, 5,13, 4) = (/ & & 0.66137e-04_rb,0.11222e-03_rb,0.12786e-03_rb,0.13517e-03_rb,0.13652e-03_rb, & & 0.13219e-03_rb,0.12093e-03_rb,0.10155e-03_rb,0.38305e-03_rb /) kao(:, 1, 1, 5) = (/ & & 0.60998e-03_rb,0.92357e-03_rb,0.10463e-02_rb,0.11196e-02_rb,0.11571e-02_rb, & & 0.11569e-02_rb,0.11152e-02_rb,0.10342e-02_rb,0.80721e-03_rb /) kao(:, 2, 1, 5) = (/ & & 0.61496e-03_rb,0.93510e-03_rb,0.10604e-02_rb,0.11361e-02_rb,0.11777e-02_rb, & & 0.11834e-02_rb,0.11457e-02_rb,0.10708e-02_rb,0.83732e-03_rb /) kao(:, 3, 1, 5) = (/ & & 0.62454e-03_rb,0.95002e-03_rb,0.10819e-02_rb,0.11594e-02_rb,0.12038e-02_rb, & & 0.12158e-02_rb,0.11823e-02_rb,0.11158e-02_rb,0.87187e-03_rb /) kao(:, 4, 1, 5) = (/ & & 0.63013e-03_rb,0.96444e-03_rb,0.11010e-02_rb,0.11847e-02_rb,0.12326e-02_rb, & & 0.12499e-02_rb,0.12239e-02_rb,0.11623e-02_rb,0.91505e-03_rb /) kao(:, 5, 1, 5) = (/ & & 0.63867e-03_rb,0.98562e-03_rb,0.11276e-02_rb,0.12151e-02_rb,0.12673e-02_rb, & & 0.12886e-02_rb,0.12687e-02_rb,0.12127e-02_rb,0.95931e-03_rb /) kao(:, 1, 2, 5) = (/ & & 0.54006e-03_rb,0.82110e-03_rb,0.93517e-03_rb,0.10086e-02_rb,0.10436e-02_rb, & & 0.10473e-02_rb,0.10071e-02_rb,0.92435e-03_rb,0.69632e-03_rb /) kao(:, 2, 2, 5) = (/ & & 0.54512e-03_rb,0.83214e-03_rb,0.94586e-03_rb,0.10224e-02_rb,0.10616e-02_rb, & & 0.10697e-02_rb,0.10360e-02_rb,0.95897e-03_rb,0.72282e-03_rb /) kao(:, 3, 2, 5) = (/ & & 0.55430e-03_rb,0.84713e-03_rb,0.96481e-03_rb,0.10423e-02_rb,0.10850e-02_rb, & & 0.10972e-02_rb,0.10691e-02_rb,0.99640e-03_rb,0.75512e-03_rb /) kao(:, 4, 2, 5) = (/ & & 0.56089e-03_rb,0.86369e-03_rb,0.98575e-03_rb,0.10648e-02_rb,0.11112e-02_rb, & & 0.11281e-02_rb,0.11049e-02_rb,0.10361e-02_rb,0.79150e-03_rb /) kao(:, 5, 2, 5) = (/ & & 0.56701e-03_rb,0.88105e-03_rb,0.10081e-02_rb,0.10898e-02_rb,0.11420e-02_rb, & & 0.11626e-02_rb,0.11406e-02_rb,0.10780e-02_rb,0.83023e-03_rb /) kao(:, 1, 3, 5) = (/ & & 0.47586e-03_rb,0.72781e-03_rb,0.83369e-03_rb,0.89860e-03_rb,0.93234e-03_rb, & & 0.93626e-03_rb,0.89909e-03_rb,0.81585e-03_rb,0.59036e-03_rb /) kao(:, 2, 3, 5) = (/ & & 0.48035e-03_rb,0.73757e-03_rb,0.84502e-03_rb,0.91276e-03_rb,0.94800e-03_rb, & & 0.95536e-03_rb,0.92668e-03_rb,0.84501e-03_rb,0.61080e-03_rb /) kao(:, 3, 3, 5) = (/ & & 0.48667e-03_rb,0.74941e-03_rb,0.86058e-03_rb,0.92996e-03_rb,0.96794e-03_rb, & & 0.97737e-03_rb,0.95368e-03_rb,0.87646e-03_rb,0.63872e-03_rb /) kao(:, 4, 3, 5) = (/ & & 0.49637e-03_rb,0.76538e-03_rb,0.87882e-03_rb,0.95073e-03_rb,0.99190e-03_rb, & & 0.10051e-02_rb,0.98438e-03_rb,0.91070e-03_rb,0.66866e-03_rb /) kao(:, 5, 3, 5) = (/ & & 0.50269e-03_rb,0.78028e-03_rb,0.89635e-03_rb,0.97198e-03_rb,0.10179e-02_rb, & & 0.10338e-02_rb,0.10130e-02_rb,0.94553e-03_rb,0.70095e-03_rb /) kao(:, 1, 4, 5) = (/ & & 0.41745e-03_rb,0.64505e-03_rb,0.73966e-03_rb,0.79761e-03_rb,0.82752e-03_rb, & & 0.82878e-03_rb,0.79470e-03_rb,0.71636e-03_rb,0.49987e-03_rb /) kao(:, 2, 4, 5) = (/ & & 0.42212e-03_rb,0.65318e-03_rb,0.75017e-03_rb,0.80979e-03_rb,0.84194e-03_rb, & & 0.84473e-03_rb,0.81717e-03_rb,0.73865e-03_rb,0.51625e-03_rb /) kao(:, 3, 4, 5) = (/ & & 0.42808e-03_rb,0.66407e-03_rb,0.76314e-03_rb,0.82416e-03_rb,0.85814e-03_rb, & & 0.86375e-03_rb,0.83972e-03_rb,0.76440e-03_rb,0.53894e-03_rb /) kao(:, 4, 4, 5) = (/ & & 0.43544e-03_rb,0.67737e-03_rb,0.77911e-03_rb,0.84222e-03_rb,0.87777e-03_rb, & & 0.88583e-03_rb,0.86479e-03_rb,0.79362e-03_rb,0.56271e-03_rb /) kao(:, 5, 4, 5) = (/ & & 0.44549e-03_rb,0.69330e-03_rb,0.79686e-03_rb,0.86274e-03_rb,0.90103e-03_rb, & & 0.91189e-03_rb,0.89184e-03_rb,0.82416e-03_rb,0.58887e-03_rb /) kao(:, 1, 5, 5) = (/ & & 0.36593e-03_rb,0.56942e-03_rb,0.65432e-03_rb,0.70354e-03_rb,0.72916e-03_rb, & & 0.72850e-03_rb,0.69713e-03_rb,0.62558e-03_rb,0.42621e-03_rb /) kao(:, 2, 5, 5) = (/ & & 0.37099e-03_rb,0.57654e-03_rb,0.66395e-03_rb,0.71472e-03_rb,0.74107e-03_rb, & & 0.74240e-03_rb,0.71535e-03_rb,0.64376e-03_rb,0.43884e-03_rb /) kao(:, 3, 5, 5) = (/ & & 0.37647e-03_rb,0.58652e-03_rb,0.67530e-03_rb,0.72837e-03_rb,0.75654e-03_rb, & & 0.75759e-03_rb,0.73402e-03_rb,0.66546e-03_rb,0.45630e-03_rb /) kao(:, 4, 5, 5) = (/ & & 0.38311e-03_rb,0.59837e-03_rb,0.68871e-03_rb,0.74328e-03_rb,0.77277e-03_rb, & & 0.77677e-03_rb,0.75490e-03_rb,0.68962e-03_rb,0.47449e-03_rb /) kao(:, 5, 5, 5) = (/ & & 0.39217e-03_rb,0.61368e-03_rb,0.70480e-03_rb,0.76178e-03_rb,0.79297e-03_rb, & & 0.79889e-03_rb,0.77761e-03_rb,0.71542e-03_rb,0.49580e-03_rb /) kao(:, 1, 6, 5) = (/ & & 0.32055e-03_rb,0.49922e-03_rb,0.57435e-03_rb,0.61868e-03_rb,0.63931e-03_rb, & & 0.63779e-03_rb,0.60689e-03_rb,0.54327e-03_rb,0.36282e-03_rb /) kao(:, 2, 6, 5) = (/ & & 0.32502e-03_rb,0.50520e-03_rb,0.58251e-03_rb,0.62835e-03_rb,0.64977e-03_rb, & & 0.64920e-03_rb,0.62209e-03_rb,0.55837e-03_rb,0.37399e-03_rb /) kao(:, 3, 6, 5) = (/ & & 0.33055e-03_rb,0.51462e-03_rb,0.59267e-03_rb,0.63972e-03_rb,0.66253e-03_rb, & & 0.66213e-03_rb,0.63802e-03_rb,0.57660e-03_rb,0.38710e-03_rb /) kao(:, 4, 6, 5) = (/ & & 0.33647e-03_rb,0.52569e-03_rb,0.60454e-03_rb,0.65260e-03_rb,0.67645e-03_rb, & & 0.67638e-03_rb,0.65560e-03_rb,0.59667e-03_rb,0.40130e-03_rb /) kao(:, 5, 6, 5) = (/ & & 0.34306e-03_rb,0.53846e-03_rb,0.61820e-03_rb,0.66796e-03_rb,0.69284e-03_rb, & & 0.69400e-03_rb,0.67340e-03_rb,0.61700e-03_rb,0.41923e-03_rb /) kao(:, 1, 7, 5) = (/ & & 0.28149e-03_rb,0.43644e-03_rb,0.49974e-03_rb,0.53938e-03_rb,0.55701e-03_rb, & & 0.55579e-03_rb,0.52736e-03_rb,0.47001e-03_rb,0.31306e-03_rb /) kao(:, 2, 7, 5) = (/ & & 0.28528e-03_rb,0.44207e-03_rb,0.50655e-03_rb,0.54763e-03_rb,0.56691e-03_rb, & & 0.56439e-03_rb,0.53930e-03_rb,0.48247e-03_rb,0.32173e-03_rb /) kao(:, 3, 7, 5) = (/ & & 0.29004e-03_rb,0.45020e-03_rb,0.51518e-03_rb,0.55741e-03_rb,0.57771e-03_rb, & & 0.57585e-03_rb,0.55263e-03_rb,0.49748e-03_rb,0.33090e-03_rb /) kao(:, 4, 7, 5) = (/ & & 0.29568e-03_rb,0.46070e-03_rb,0.52625e-03_rb,0.56864e-03_rb,0.58962e-03_rb, & & 0.58944e-03_rb,0.56702e-03_rb,0.51458e-03_rb,0.34232e-03_rb /) kao(:, 5, 7, 5) = (/ & & 0.30178e-03_rb,0.47274e-03_rb,0.53886e-03_rb,0.58253e-03_rb,0.60354e-03_rb, & & 0.60454e-03_rb,0.58225e-03_rb,0.53128e-03_rb,0.35470e-03_rb /) kao(:, 1, 8, 5) = (/ & & 0.24786e-03_rb,0.38205e-03_rb,0.43403e-03_rb,0.46727e-03_rb,0.48302e-03_rb, & & 0.48227e-03_rb,0.45812e-03_rb,0.40611e-03_rb,0.30468e-03_rb /) kao(:, 2, 8, 5) = (/ & & 0.25026e-03_rb,0.38705e-03_rb,0.43948e-03_rb,0.47351e-03_rb,0.49158e-03_rb, & & 0.49003e-03_rb,0.46771e-03_rb,0.41673e-03_rb,0.30992e-03_rb /) kao(:, 3, 8, 5) = (/ & & 0.25464e-03_rb,0.39453e-03_rb,0.44681e-03_rb,0.48211e-03_rb,0.50112e-03_rb, & & 0.49992e-03_rb,0.47844e-03_rb,0.42901e-03_rb,0.31626e-03_rb /) kao(:, 4, 8, 5) = (/ & & 0.25978e-03_rb,0.40390e-03_rb,0.45683e-03_rb,0.49220e-03_rb,0.51134e-03_rb, & & 0.51141e-03_rb,0.48898e-03_rb,0.44238e-03_rb,0.32406e-03_rb /) kao(:, 5, 8, 5) = (/ & & 0.26514e-03_rb,0.41428e-03_rb,0.46827e-03_rb,0.50433e-03_rb,0.52333e-03_rb, & & 0.52414e-03_rb,0.50147e-03_rb,0.45619e-03_rb,0.33317e-03_rb /) kao(:, 1, 9, 5) = (/ & & 0.21824e-03_rb,0.33786e-03_rb,0.37946e-03_rb,0.40535e-03_rb,0.41752e-03_rb, & & 0.41661e-03_rb,0.39611e-03_rb,0.34986e-03_rb,0.52178e-03_rb /) kao(:, 2, 9, 5) = (/ & & 0.22059e-03_rb,0.34230e-03_rb,0.38410e-03_rb,0.41056e-03_rb,0.42477e-03_rb, & & 0.42372e-03_rb,0.40485e-03_rb,0.35866e-03_rb,0.50681e-03_rb /) kao(:, 3, 9, 5) = (/ & & 0.22400e-03_rb,0.34814e-03_rb,0.39039e-03_rb,0.41748e-03_rb,0.43284e-03_rb, & & 0.43220e-03_rb,0.41363e-03_rb,0.36885e-03_rb,0.49302e-03_rb /) kao(:, 4, 9, 5) = (/ & & 0.22873e-03_rb,0.35603e-03_rb,0.39905e-03_rb,0.42659e-03_rb,0.44174e-03_rb, & & 0.44167e-03_rb,0.42288e-03_rb,0.37972e-03_rb,0.48294e-03_rb /) kao(:, 5, 9, 5) = (/ & & 0.23347e-03_rb,0.36495e-03_rb,0.40893e-03_rb,0.43763e-03_rb,0.45181e-03_rb, & & 0.45234e-03_rb,0.43347e-03_rb,0.39120e-03_rb,0.47762e-03_rb /) kao(:, 1,10, 5) = (/ & & 0.19122e-03_rb,0.29954e-03_rb,0.33486e-03_rb,0.35474e-03_rb,0.36349e-03_rb, & & 0.36120e-03_rb,0.34300e-03_rb,0.30153e-03_rb,0.10818e-02_rb /) kao(:, 2,10, 5) = (/ & & 0.19375e-03_rb,0.30331e-03_rb,0.33858e-03_rb,0.35959e-03_rb,0.36963e-03_rb, & & 0.36736e-03_rb,0.35033e-03_rb,0.30927e-03_rb,0.10683e-02_rb /) kao(:, 3,10, 5) = (/ & & 0.19685e-03_rb,0.30858e-03_rb,0.34410e-03_rb,0.36599e-03_rb,0.37648e-03_rb, & & 0.37420e-03_rb,0.35748e-03_rb,0.31737e-03_rb,0.10704e-02_rb /) kao(:, 4,10, 5) = (/ & & 0.20091e-03_rb,0.31499e-03_rb,0.35151e-03_rb,0.37400e-03_rb,0.38421e-03_rb, & & 0.38207e-03_rb,0.36506e-03_rb,0.32617e-03_rb,0.10743e-02_rb /) kao(:, 5,10, 5) = (/ & & 0.20539e-03_rb,0.32294e-03_rb,0.36050e-03_rb,0.38325e-03_rb,0.39308e-03_rb, & & 0.39074e-03_rb,0.37406e-03_rb,0.33544e-03_rb,0.10696e-02_rb /) kao(:, 1,11, 5) = (/ & & 0.16667e-03_rb,0.26520e-03_rb,0.29671e-03_rb,0.31441e-03_rb,0.32093e-03_rb, & & 0.31659e-03_rb,0.30045e-03_rb,0.26340e-03_rb,0.11835e-02_rb /) kao(:, 2,11, 5) = (/ & & 0.16885e-03_rb,0.26948e-03_rb,0.30096e-03_rb,0.31914e-03_rb,0.32661e-03_rb, & & 0.32210e-03_rb,0.30657e-03_rb,0.27004e-03_rb,0.11814e-02_rb /) kao(:, 3,11, 5) = (/ & & 0.17223e-03_rb,0.27439e-03_rb,0.30661e-03_rb,0.32470e-03_rb,0.33272e-03_rb, & & 0.32842e-03_rb,0.31227e-03_rb,0.27654e-03_rb,0.11630e-02_rb /) kao(:, 4,11, 5) = (/ & & 0.17618e-03_rb,0.28049e-03_rb,0.31365e-03_rb,0.33181e-03_rb,0.33965e-03_rb, & & 0.33555e-03_rb,0.31903e-03_rb,0.28400e-03_rb,0.11485e-02_rb /) kao(:, 5,11, 5) = (/ & & 0.18103e-03_rb,0.28752e-03_rb,0.32181e-03_rb,0.34031e-03_rb,0.34776e-03_rb, & & 0.34353e-03_rb,0.32710e-03_rb,0.29221e-03_rb,0.11367e-02_rb /) kao(:, 1,12, 5) = (/ & & 0.14364e-03_rb,0.23191e-03_rb,0.26011e-03_rb,0.27602e-03_rb,0.28230e-03_rb, & & 0.27753e-03_rb,0.26259e-03_rb,0.22940e-03_rb,0.11242e-02_rb /) kao(:, 2,12, 5) = (/ & & 0.14586e-03_rb,0.23578e-03_rb,0.26464e-03_rb,0.28074e-03_rb,0.28728e-03_rb, & & 0.28268e-03_rb,0.26740e-03_rb,0.23511e-03_rb,0.11131e-02_rb /) kao(:, 3,12, 5) = (/ & & 0.14908e-03_rb,0.24042e-03_rb,0.27020e-03_rb,0.28659e-03_rb,0.29280e-03_rb, & & 0.28866e-03_rb,0.27254e-03_rb,0.24089e-03_rb,0.10996e-02_rb /) kao(:, 4,12, 5) = (/ & & 0.15297e-03_rb,0.24595e-03_rb,0.27661e-03_rb,0.29313e-03_rb,0.29926e-03_rb, & & 0.29513e-03_rb,0.27870e-03_rb,0.24706e-03_rb,0.10965e-02_rb /) kao(:, 5,12, 5) = (/ & & 0.15735e-03_rb,0.25242e-03_rb,0.28422e-03_rb,0.30069e-03_rb,0.30695e-03_rb, & & 0.30241e-03_rb,0.28613e-03_rb,0.25425e-03_rb,0.10839e-02_rb /) kao(:, 1,13, 5) = (/ & & 0.12345e-03_rb,0.20108e-03_rb,0.22674e-03_rb,0.24086e-03_rb,0.24638e-03_rb, & & 0.24238e-03_rb,0.22876e-03_rb,0.19931e-03_rb,0.96895e-03_rb /) kao(:, 2,13, 5) = (/ & & 0.12581e-03_rb,0.20480e-03_rb,0.23117e-03_rb,0.24535e-03_rb,0.25104e-03_rb, & & 0.24702e-03_rb,0.23303e-03_rb,0.20421e-03_rb,0.96294e-03_rb /) kao(:, 3,13, 5) = (/ & & 0.12856e-03_rb,0.20921e-03_rb,0.23606e-03_rb,0.25076e-03_rb,0.25631e-03_rb, & & 0.25243e-03_rb,0.23816e-03_rb,0.20920e-03_rb,0.95736e-03_rb /) kao(:, 4,13, 5) = (/ & & 0.13210e-03_rb,0.21428e-03_rb,0.24223e-03_rb,0.25691e-03_rb,0.26218e-03_rb, & & 0.25847e-03_rb,0.24400e-03_rb,0.21468e-03_rb,0.95389e-03_rb /) kao(:, 5,13, 5) = (/ & & 0.13599e-03_rb,0.22037e-03_rb,0.24914e-03_rb,0.26391e-03_rb,0.26911e-03_rb, & & 0.26543e-03_rb,0.25095e-03_rb,0.22101e-03_rb,0.94116e-03_rb /) kao(:, 1, 1, 6) = (/ & & 0.10602e-02_rb,0.17123e-02_rb,0.20157e-02_rb,0.22277e-02_rb,0.23726e-02_rb, & & 0.24628e-02_rb,0.25069e-02_rb,0.24686e-02_rb,0.20168e-02_rb /) kao(:, 2, 1, 6) = (/ & & 0.10672e-02_rb,0.17270e-02_rb,0.20414e-02_rb,0.22652e-02_rb,0.24211e-02_rb, & & 0.25212e-02_rb,0.25704e-02_rb,0.25272e-02_rb,0.20646e-02_rb /) kao(:, 3, 1, 6) = (/ & & 0.10788e-02_rb,0.17509e-02_rb,0.20769e-02_rb,0.23112e-02_rb,0.24814e-02_rb, & & 0.25914e-02_rb,0.26418e-02_rb,0.25942e-02_rb,0.21193e-02_rb /) kao(:, 4, 1, 6) = (/ & & 0.10874e-02_rb,0.17764e-02_rb,0.21176e-02_rb,0.23585e-02_rb,0.25381e-02_rb, & & 0.26622e-02_rb,0.27175e-02_rb,0.26689e-02_rb,0.21851e-02_rb /) kao(:, 5, 1, 6) = (/ & & 0.11018e-02_rb,0.18090e-02_rb,0.21640e-02_rb,0.24172e-02_rb,0.26051e-02_rb, & & 0.27415e-02_rb,0.28075e-02_rb,0.27566e-02_rb,0.22604e-02_rb /) kao(:, 1, 2, 6) = (/ & & 0.95075e-03_rb,0.15355e-02_rb,0.17976e-02_rb,0.19766e-02_rb,0.21006e-02_rb, & & 0.21710e-02_rb,0.21998e-02_rb,0.21663e-02_rb,0.17568e-02_rb /) kao(:, 2, 2, 6) = (/ & & 0.96010e-03_rb,0.15501e-02_rb,0.18242e-02_rb,0.20112e-02_rb,0.21419e-02_rb, & & 0.22180e-02_rb,0.22475e-02_rb,0.22135e-02_rb,0.17960e-02_rb /) kao(:, 3, 2, 6) = (/ & & 0.97337e-03_rb,0.15726e-02_rb,0.18580e-02_rb,0.20531e-02_rb,0.21905e-02_rb, & & 0.22742e-02_rb,0.23072e-02_rb,0.22697e-02_rb,0.18409e-02_rb /) kao(:, 4, 2, 6) = (/ & & 0.98600e-03_rb,0.15975e-02_rb,0.18942e-02_rb,0.20984e-02_rb,0.22403e-02_rb, & & 0.23334e-02_rb,0.23735e-02_rb,0.23328e-02_rb,0.18922e-02_rb /) kao(:, 5, 2, 6) = (/ & & 0.99685e-03_rb,0.16266e-02_rb,0.19353e-02_rb,0.21493e-02_rb,0.22931e-02_rb, & & 0.23955e-02_rb,0.24466e-02_rb,0.24068e-02_rb,0.19548e-02_rb /) kao(:, 1, 3, 6) = (/ & & 0.85253e-03_rb,0.13731e-02_rb,0.15966e-02_rb,0.17555e-02_rb,0.18660e-02_rb, & & 0.19267e-02_rb,0.19415e-02_rb,0.18992e-02_rb,0.15125e-02_rb /) kao(:, 2, 3, 6) = (/ & & 0.86131e-03_rb,0.13853e-02_rb,0.16172e-02_rb,0.17827e-02_rb,0.18992e-02_rb, & & 0.19616e-02_rb,0.19781e-02_rb,0.19388e-02_rb,0.15472e-02_rb /) kao(:, 3, 3, 6) = (/ & & 0.87215e-03_rb,0.13990e-02_rb,0.16433e-02_rb,0.18151e-02_rb,0.19357e-02_rb, & & 0.20044e-02_rb,0.20244e-02_rb,0.19864e-02_rb,0.15842e-02_rb /) kao(:, 4, 3, 6) = (/ & & 0.88704e-03_rb,0.14261e-02_rb,0.16795e-02_rb,0.18576e-02_rb,0.19802e-02_rb, & & 0.20536e-02_rb,0.20804e-02_rb,0.20410e-02_rb,0.16256e-02_rb /) kao(:, 5, 3, 6) = (/ & & 0.89758e-03_rb,0.14527e-02_rb,0.17171e-02_rb,0.19025e-02_rb,0.20236e-02_rb, & & 0.21045e-02_rb,0.21413e-02_rb,0.21023e-02_rb,0.16764e-02_rb /) kao(:, 1, 4, 6) = (/ & & 0.76168e-03_rb,0.12206e-02_rb,0.14175e-02_rb,0.15588e-02_rb,0.16575e-02_rb, & & 0.17098e-02_rb,0.17134e-02_rb,0.16603e-02_rb,0.12974e-02_rb /) kao(:, 2, 4, 6) = (/ & & 0.76958e-03_rb,0.12314e-02_rb,0.14342e-02_rb,0.15807e-02_rb,0.16847e-02_rb, & & 0.17400e-02_rb,0.17442e-02_rb,0.16938e-02_rb,0.13260e-02_rb /) kao(:, 3, 4, 6) = (/ & & 0.78002e-03_rb,0.12481e-02_rb,0.14573e-02_rb,0.16092e-02_rb,0.17173e-02_rb, & & 0.17771e-02_rb,0.17830e-02_rb,0.17337e-02_rb,0.13577e-02_rb /) kao(:, 4, 4, 6) = (/ & & 0.79261e-03_rb,0.12694e-02_rb,0.14861e-02_rb,0.16420e-02_rb,0.17536e-02_rb, & & 0.18179e-02_rb,0.18286e-02_rb,0.17776e-02_rb,0.13930e-02_rb /) kao(:, 5, 4, 6) = (/ & & 0.80905e-03_rb,0.12930e-02_rb,0.15216e-02_rb,0.16835e-02_rb,0.17969e-02_rb, & & 0.18651e-02_rb,0.18829e-02_rb,0.18324e-02_rb,0.14370e-02_rb /) kao(:, 1, 5, 6) = (/ & & 0.67567e-03_rb,0.10847e-02_rb,0.12673e-02_rb,0.13865e-02_rb,0.14678e-02_rb, & & 0.15102e-02_rb,0.15099e-02_rb,0.14466e-02_rb,0.11079e-02_rb /) kao(:, 2, 5, 6) = (/ & & 0.68234e-03_rb,0.10948e-02_rb,0.12810e-02_rb,0.14048e-02_rb,0.14909e-02_rb, & & 0.15364e-02_rb,0.15351e-02_rb,0.14749e-02_rb,0.11322e-02_rb /) kao(:, 3, 5, 6) = (/ & & 0.69172e-03_rb,0.11094e-02_rb,0.12954e-02_rb,0.14275e-02_rb,0.15177e-02_rb, & & 0.15693e-02_rb,0.15680e-02_rb,0.15069e-02_rb,0.11581e-02_rb /) kao(:, 4, 5, 6) = (/ & & 0.70397e-03_rb,0.11284e-02_rb,0.13174e-02_rb,0.14563e-02_rb,0.15501e-02_rb, & & 0.16053e-02_rb,0.16071e-02_rb,0.15445e-02_rb,0.11891e-02_rb /) kao(:, 5, 5, 6) = (/ & & 0.72110e-03_rb,0.11540e-02_rb,0.13487e-02_rb,0.14917e-02_rb,0.15891e-02_rb, & & 0.16474e-02_rb,0.16536e-02_rb,0.15913e-02_rb,0.12262e-02_rb /) kao(:, 1, 6, 6) = (/ & & 0.59508e-03_rb,0.96565e-03_rb,0.11271e-02_rb,0.12321e-02_rb,0.12935e-02_rb, & & 0.13263e-02_rb,0.13235e-02_rb,0.12583e-02_rb,0.94318e-03_rb /) kao(:, 2, 6, 6) = (/ & & 0.60163e-03_rb,0.97555e-03_rb,0.11390e-02_rb,0.12428e-02_rb,0.13136e-02_rb, & & 0.13483e-02_rb,0.13443e-02_rb,0.12812e-02_rb,0.96040e-03_rb /) kao(:, 3, 6, 6) = (/ & & 0.61035e-03_rb,0.98842e-03_rb,0.11551e-02_rb,0.12623e-02_rb,0.13370e-02_rb, & & 0.13759e-02_rb,0.13716e-02_rb,0.13073e-02_rb,0.98049e-03_rb /) kao(:, 4, 6, 6) = (/ & & 0.62216e-03_rb,0.10038e-02_rb,0.11750e-02_rb,0.12870e-02_rb,0.13646e-02_rb, & & 0.14087e-02_rb,0.14042e-02_rb,0.13389e-02_rb,0.10049e-02_rb /) kao(:, 5, 6, 6) = (/ & & 0.63568e-03_rb,0.10246e-02_rb,0.11986e-02_rb,0.13152e-02_rb,0.13969e-02_rb, & & 0.14439e-02_rb,0.14425e-02_rb,0.13760e-02_rb,0.10351e-02_rb /) kao(:, 1, 7, 6) = (/ & & 0.52222e-03_rb,0.85609e-03_rb,0.99991e-03_rb,0.10870e-02_rb,0.11353e-02_rb, & & 0.11602e-02_rb,0.11537e-02_rb,0.10909e-02_rb,0.79969e-03_rb /) kao(:, 2, 7, 6) = (/ & & 0.52839e-03_rb,0.86572e-03_rb,0.10120e-02_rb,0.11011e-02_rb,0.11521e-02_rb, & & 0.11786e-02_rb,0.11705e-02_rb,0.11093e-02_rb,0.81421e-03_rb /) kao(:, 3, 7, 6) = (/ & & 0.53695e-03_rb,0.87703e-03_rb,0.10261e-02_rb,0.11177e-02_rb,0.11714e-02_rb, & & 0.12016e-02_rb,0.11930e-02_rb,0.11309e-02_rb,0.83157e-03_rb /) kao(:, 4, 7, 6) = (/ & & 0.54734e-03_rb,0.89105e-03_rb,0.10435e-02_rb,0.11340e-02_rb,0.11954e-02_rb, & & 0.12276e-02_rb,0.12204e-02_rb,0.11559e-02_rb,0.85189e-03_rb /) kao(:, 5, 7, 6) = (/ & & 0.56071e-03_rb,0.90902e-03_rb,0.10648e-02_rb,0.11575e-02_rb,0.12234e-02_rb, & & 0.12571e-02_rb,0.12523e-02_rb,0.11865e-02_rb,0.87630e-03_rb /) kao(:, 1, 8, 6) = (/ & & 0.45809e-03_rb,0.75296e-03_rb,0.88022e-03_rb,0.95530e-03_rb,0.99775e-03_rb, & & 0.10107e-02_rb,0.99991e-03_rb,0.94255e-03_rb,0.69349e-03_rb /) kao(:, 2, 8, 6) = (/ & & 0.46457e-03_rb,0.76241e-03_rb,0.89241e-03_rb,0.96833e-03_rb,0.10107e-02_rb, & & 0.10258e-02_rb,0.10136e-02_rb,0.95735e-03_rb,0.70413e-03_rb /) kao(:, 3, 8, 6) = (/ & & 0.47249e-03_rb,0.77258e-03_rb,0.90578e-03_rb,0.98260e-03_rb,0.10233e-02_rb, & & 0.10448e-02_rb,0.10324e-02_rb,0.97481e-03_rb,0.71522e-03_rb /) kao(:, 4, 8, 6) = (/ & & 0.48263e-03_rb,0.78537e-03_rb,0.92183e-03_rb,0.10012e-02_rb,0.10427e-02_rb, & & 0.10663e-02_rb,0.10558e-02_rb,0.99531e-03_rb,0.72922e-03_rb /) kao(:, 5, 8, 6) = (/ & & 0.49501e-03_rb,0.80218e-03_rb,0.94059e-03_rb,0.10219e-02_rb,0.10669e-02_rb, & & 0.10907e-02_rb,0.10824e-02_rb,0.10204e-02_rb,0.74659e-03_rb /) kao(:, 1, 9, 6) = (/ & & 0.40630e-03_rb,0.65697e-03_rb,0.76693e-03_rb,0.83253e-03_rb,0.86881e-03_rb, & & 0.87661e-03_rb,0.86393e-03_rb,0.81158e-03_rb,0.85763e-03_rb /) kao(:, 2, 9, 6) = (/ & & 0.41166e-03_rb,0.66657e-03_rb,0.77941e-03_rb,0.84564e-03_rb,0.88174e-03_rb, & & 0.88952e-03_rb,0.87488e-03_rb,0.82351e-03_rb,0.84633e-03_rb /) kao(:, 3, 9, 6) = (/ & & 0.41847e-03_rb,0.67680e-03_rb,0.79185e-03_rb,0.85875e-03_rb,0.89476e-03_rb, & & 0.90456e-03_rb,0.89101e-03_rb,0.83833e-03_rb,0.84017e-03_rb /) kao(:, 4, 9, 6) = (/ & & 0.42661e-03_rb,0.68815e-03_rb,0.80637e-03_rb,0.87435e-03_rb,0.91036e-03_rb, & & 0.92205e-03_rb,0.90961e-03_rb,0.85502e-03_rb,0.83895e-03_rb /) kao(:, 5, 9, 6) = (/ & & 0.43776e-03_rb,0.70278e-03_rb,0.82329e-03_rb,0.89247e-03_rb,0.92828e-03_rb, & & 0.94238e-03_rb,0.93168e-03_rb,0.87536e-03_rb,0.84088e-03_rb /) kao(:, 1,10, 6) = (/ & & 0.36854e-03_rb,0.57908e-03_rb,0.66869e-03_rb,0.72258e-03_rb,0.75231e-03_rb, & & 0.75942e-03_rb,0.74383e-03_rb,0.69709e-03_rb,0.20395e-02_rb /) kao(:, 2,10, 6) = (/ & & 0.37298e-03_rb,0.58711e-03_rb,0.68015e-03_rb,0.73349e-03_rb,0.76293e-03_rb, & & 0.77052e-03_rb,0.75338e-03_rb,0.70798e-03_rb,0.19202e-02_rb /) kao(:, 3,10, 6) = (/ & & 0.37876e-03_rb,0.59595e-03_rb,0.69100e-03_rb,0.74575e-03_rb,0.77497e-03_rb, & & 0.78295e-03_rb,0.76740e-03_rb,0.72017e-03_rb,0.18161e-02_rb /) kao(:, 4,10, 6) = (/ & & 0.38615e-03_rb,0.60708e-03_rb,0.70373e-03_rb,0.75914e-03_rb,0.78952e-03_rb, & & 0.79663e-03_rb,0.78331e-03_rb,0.73385e-03_rb,0.17247e-02_rb /) kao(:, 5,10, 6) = (/ & & 0.39564e-03_rb,0.62052e-03_rb,0.71856e-03_rb,0.77512e-03_rb,0.80699e-03_rb, & & 0.81444e-03_rb,0.80141e-03_rb,0.75081e-03_rb,0.16568e-02_rb /) kao(:, 1,11, 6) = (/ & & 0.33320e-03_rb,0.52088e-03_rb,0.59646e-03_rb,0.63812e-03_rb,0.65660e-03_rb, & & 0.65900e-03_rb,0.64138e-03_rb,0.60020e-03_rb,0.25696e-02_rb /) kao(:, 2,11, 6) = (/ & & 0.33882e-03_rb,0.52942e-03_rb,0.60584e-03_rb,0.64728e-03_rb,0.66639e-03_rb, & & 0.66995e-03_rb,0.65115e-03_rb,0.61030e-03_rb,0.24243e-02_rb /) kao(:, 3,11, 6) = (/ & & 0.34516e-03_rb,0.53993e-03_rb,0.61579e-03_rb,0.65783e-03_rb,0.67758e-03_rb, & & 0.68193e-03_rb,0.66413e-03_rb,0.62169e-03_rb,0.23408e-02_rb /) kao(:, 4,11, 6) = (/ & & 0.35301e-03_rb,0.55124e-03_rb,0.62753e-03_rb,0.66999e-03_rb,0.69148e-03_rb, & & 0.69508e-03_rb,0.67858e-03_rb,0.63426e-03_rb,0.22732e-02_rb /) kao(:, 5,11, 6) = (/ & & 0.36214e-03_rb,0.56453e-03_rb,0.64151e-03_rb,0.68481e-03_rb,0.70755e-03_rb, & & 0.71086e-03_rb,0.69483e-03_rb,0.64938e-03_rb,0.21869e-02_rb /) kao(:, 1,12, 6) = (/ & & 0.29653e-03_rb,0.46559e-03_rb,0.53073e-03_rb,0.56520e-03_rb,0.57894e-03_rb, & & 0.57686e-03_rb,0.55698e-03_rb,0.51584e-03_rb,0.26304e-02_rb /) kao(:, 2,12, 6) = (/ & & 0.30188e-03_rb,0.47447e-03_rb,0.54017e-03_rb,0.57406e-03_rb,0.58804e-03_rb, & & 0.58653e-03_rb,0.56630e-03_rb,0.52472e-03_rb,0.24930e-02_rb /) kao(:, 3,12, 6) = (/ & & 0.30861e-03_rb,0.48517e-03_rb,0.55102e-03_rb,0.58380e-03_rb,0.59890e-03_rb, & & 0.59725e-03_rb,0.57721e-03_rb,0.53486e-03_rb,0.23834e-02_rb /) kao(:, 4,12, 6) = (/ & & 0.31637e-03_rb,0.49701e-03_rb,0.56299e-03_rb,0.59618e-03_rb,0.61191e-03_rb, & & 0.60936e-03_rb,0.58930e-03_rb,0.54649e-03_rb,0.22824e-02_rb /) kao(:, 5,12, 6) = (/ & & 0.32604e-03_rb,0.51148e-03_rb,0.57604e-03_rb,0.61103e-03_rb,0.62611e-03_rb, & & 0.62412e-03_rb,0.60375e-03_rb,0.56026e-03_rb,0.22084e-02_rb /) kao(:, 1,13, 6) = (/ & & 0.26154e-03_rb,0.41366e-03_rb,0.47019e-03_rb,0.50056e-03_rb,0.51140e-03_rb, & & 0.50695e-03_rb,0.48611e-03_rb,0.44348e-03_rb,0.22773e-02_rb /) kao(:, 2,13, 6) = (/ & & 0.26669e-03_rb,0.42267e-03_rb,0.47957e-03_rb,0.51009e-03_rb,0.52067e-03_rb, & & 0.51611e-03_rb,0.49506e-03_rb,0.45138e-03_rb,0.21516e-02_rb /) kao(:, 3,13, 6) = (/ & & 0.27302e-03_rb,0.43290e-03_rb,0.49082e-03_rb,0.52081e-03_rb,0.53105e-03_rb, & & 0.52578e-03_rb,0.50476e-03_rb,0.46026e-03_rb,0.20522e-02_rb /) kao(:, 4,13, 6) = (/ & & 0.28114e-03_rb,0.44552e-03_rb,0.50271e-03_rb,0.53316e-03_rb,0.54314e-03_rb, & & 0.53754e-03_rb,0.51555e-03_rb,0.47096e-03_rb,0.19694e-02_rb /) kao(:, 5,13, 6) = (/ & & 0.29046e-03_rb,0.45904e-03_rb,0.51716e-03_rb,0.54751e-03_rb,0.55727e-03_rb, & & 0.55147e-03_rb,0.52828e-03_rb,0.48333e-03_rb,0.19102e-02_rb /) kao(:, 1, 1, 7) = (/ & & 0.21025e-02_rb,0.35934e-02_rb,0.44505e-02_rb,0.51294e-02_rb,0.56565e-02_rb, & & 0.60638e-02_rb,0.63051e-02_rb,0.63060e-02_rb,0.53132e-02_rb /) kao(:, 2, 1, 7) = (/ & & 0.21147e-02_rb,0.36363e-02_rb,0.45228e-02_rb,0.52203e-02_rb,0.57590e-02_rb, & & 0.61627e-02_rb,0.64080e-02_rb,0.64123e-02_rb,0.54186e-02_rb /) kao(:, 3, 1, 7) = (/ & & 0.21423e-02_rb,0.36907e-02_rb,0.46129e-02_rb,0.53384e-02_rb,0.58809e-02_rb, & & 0.62832e-02_rb,0.65320e-02_rb,0.65359e-02_rb,0.55396e-02_rb /) kao(:, 4, 1, 7) = (/ & & 0.21655e-02_rb,0.37303e-02_rb,0.46928e-02_rb,0.54454e-02_rb,0.60067e-02_rb, & & 0.64159e-02_rb,0.66758e-02_rb,0.66776e-02_rb,0.56738e-02_rb /) kao(:, 5, 1, 7) = (/ & & 0.22041e-02_rb,0.37865e-02_rb,0.47900e-02_rb,0.55720e-02_rb,0.61575e-02_rb, & & 0.65795e-02_rb,0.68426e-02_rb,0.68332e-02_rb,0.58218e-02_rb /) kao(:, 1, 2, 7) = (/ & & 0.19184e-02_rb,0.32868e-02_rb,0.40037e-02_rb,0.45520e-02_rb,0.49723e-02_rb, & & 0.52862e-02_rb,0.54779e-02_rb,0.54778e-02_rb,0.44696e-02_rb /) kao(:, 2, 2, 7) = (/ & & 0.19302e-02_rb,0.33258e-02_rb,0.40693e-02_rb,0.46336e-02_rb,0.50634e-02_rb, & & 0.53829e-02_rb,0.55797e-02_rb,0.55784e-02_rb,0.45568e-02_rb /) kao(:, 3, 2, 7) = (/ & & 0.19586e-02_rb,0.33762e-02_rb,0.41518e-02_rb,0.47383e-02_rb,0.51749e-02_rb, & & 0.54993e-02_rb,0.56986e-02_rb,0.56923e-02_rb,0.46572e-02_rb /) kao(:, 4, 2, 7) = (/ & & 0.19876e-02_rb,0.34214e-02_rb,0.42297e-02_rb,0.48395e-02_rb,0.52957e-02_rb, & & 0.56305e-02_rb,0.58340e-02_rb,0.58219e-02_rb,0.47733e-02_rb /) kao(:, 5, 2, 7) = (/ & & 0.20222e-02_rb,0.34660e-02_rb,0.43057e-02_rb,0.49428e-02_rb,0.54286e-02_rb, & & 0.57769e-02_rb,0.59846e-02_rb,0.59651e-02_rb,0.49022e-02_rb /) kao(:, 1, 3, 7) = (/ & & 0.17389e-02_rb,0.29833e-02_rb,0.35894e-02_rb,0.40314e-02_rb,0.43535e-02_rb, & & 0.45848e-02_rb,0.47251e-02_rb,0.47273e-02_rb,0.37675e-02_rb /) kao(:, 2, 3, 7) = (/ & & 0.17511e-02_rb,0.30210e-02_rb,0.36487e-02_rb,0.40996e-02_rb,0.44314e-02_rb, & & 0.46730e-02_rb,0.48141e-02_rb,0.48126e-02_rb,0.38333e-02_rb /) kao(:, 3, 3, 7) = (/ & & 0.17713e-02_rb,0.30646e-02_rb,0.37133e-02_rb,0.41800e-02_rb,0.45216e-02_rb, & & 0.47732e-02_rb,0.49178e-02_rb,0.49079e-02_rb,0.39121e-02_rb /) kao(:, 4, 3, 7) = (/ & & 0.18058e-02_rb,0.31149e-02_rb,0.37889e-02_rb,0.42777e-02_rb,0.46349e-02_rb, & & 0.48925e-02_rb,0.50383e-02_rb,0.50219e-02_rb,0.40071e-02_rb /) kao(:, 5, 3, 7) = (/ & & 0.18379e-02_rb,0.31573e-02_rb,0.38545e-02_rb,0.43660e-02_rb,0.47479e-02_rb, & & 0.50186e-02_rb,0.51717e-02_rb,0.51483e-02_rb,0.41141e-02_rb /) kao(:, 1, 4, 7) = (/ & & 0.15760e-02_rb,0.26881e-02_rb,0.32116e-02_rb,0.35706e-02_rb,0.38258e-02_rb, & & 0.39911e-02_rb,0.40833e-02_rb,0.40813e-02_rb,0.32298e-02_rb /) kao(:, 2, 4, 7) = (/ & & 0.15813e-02_rb,0.27249e-02_rb,0.32627e-02_rb,0.36295e-02_rb,0.38889e-02_rb, & & 0.40640e-02_rb,0.41571e-02_rb,0.41534e-02_rb,0.32787e-02_rb /) kao(:, 3, 4, 7) = (/ & & 0.16001e-02_rb,0.27603e-02_rb,0.33193e-02_rb,0.36971e-02_rb,0.39631e-02_rb, & & 0.41442e-02_rb,0.42435e-02_rb,0.42324e-02_rb,0.33394e-02_rb /) kao(:, 4, 4, 7) = (/ & & 0.16258e-02_rb,0.28020e-02_rb,0.33780e-02_rb,0.37750e-02_rb,0.40494e-02_rb, & & 0.42369e-02_rb,0.43436e-02_rb,0.43281e-02_rb,0.34138e-02_rb /) kao(:, 5, 4, 7) = (/ & & 0.16664e-02_rb,0.28640e-02_rb,0.34503e-02_rb,0.38637e-02_rb,0.41572e-02_rb, & & 0.43540e-02_rb,0.44611e-02_rb,0.44376e-02_rb,0.34982e-02_rb /) kao(:, 1, 5, 7) = (/ & & 0.14233e-02_rb,0.24061e-02_rb,0.28484e-02_rb,0.31675e-02_rb,0.33803e-02_rb, & & 0.35027e-02_rb,0.35528e-02_rb,0.35417e-02_rb,0.27814e-02_rb /) kao(:, 2, 5, 7) = (/ & & 0.14350e-02_rb,0.24395e-02_rb,0.28937e-02_rb,0.32168e-02_rb,0.34318e-02_rb, & & 0.35619e-02_rb,0.36148e-02_rb,0.35990e-02_rb,0.28208e-02_rb /) kao(:, 3, 5, 7) = (/ & & 0.14521e-02_rb,0.24725e-02_rb,0.29512e-02_rb,0.32733e-02_rb,0.34917e-02_rb, & & 0.36258e-02_rb,0.36856e-02_rb,0.36654e-02_rb,0.28719e-02_rb /) kao(:, 4, 5, 7) = (/ & & 0.14701e-02_rb,0.25117e-02_rb,0.30081e-02_rb,0.33364e-02_rb,0.35619e-02_rb, & & 0.37016e-02_rb,0.37673e-02_rb,0.37455e-02_rb,0.29344e-02_rb /) kao(:, 5, 5, 7) = (/ & & 0.15037e-02_rb,0.25667e-02_rb,0.30753e-02_rb,0.34136e-02_rb,0.36518e-02_rb, & & 0.37975e-02_rb,0.38648e-02_rb,0.38367e-02_rb,0.30050e-02_rb /) kao(:, 1, 6, 7) = (/ & & 0.12833e-02_rb,0.21397e-02_rb,0.25249e-02_rb,0.27989e-02_rb,0.29941e-02_rb, & & 0.30943e-02_rb,0.31134e-02_rb,0.30718e-02_rb,0.23837e-02_rb /) kao(:, 2, 6, 7) = (/ & & 0.12955e-02_rb,0.21689e-02_rb,0.25640e-02_rb,0.28465e-02_rb,0.30386e-02_rb, & & 0.31442e-02_rb,0.31666e-02_rb,0.31216e-02_rb,0.24190e-02_rb /) kao(:, 3, 6, 7) = (/ & & 0.13128e-02_rb,0.22001e-02_rb,0.26092e-02_rb,0.28949e-02_rb,0.30875e-02_rb, & & 0.31967e-02_rb,0.32254e-02_rb,0.31772e-02_rb,0.24633e-02_rb /) kao(:, 4, 6, 7) = (/ & & 0.13321e-02_rb,0.22373e-02_rb,0.26583e-02_rb,0.29483e-02_rb,0.31454e-02_rb, & & 0.32584e-02_rb,0.32916e-02_rb,0.32451e-02_rb,0.25158e-02_rb /) kao(:, 5, 6, 7) = (/ & & 0.13570e-02_rb,0.22801e-02_rb,0.27142e-02_rb,0.30110e-02_rb,0.32147e-02_rb, & & 0.33324e-02_rb,0.33699e-02_rb,0.33240e-02_rb,0.25751e-02_rb /) kao(:, 1, 7, 7) = (/ & & 0.11500e-02_rb,0.18956e-02_rb,0.22352e-02_rb,0.24771e-02_rb,0.26462e-02_rb, & & 0.27285e-02_rb,0.27284e-02_rb,0.26574e-02_rb,0.20286e-02_rb /) kao(:, 2, 7, 7) = (/ & & 0.11641e-02_rb,0.19221e-02_rb,0.22681e-02_rb,0.25137e-02_rb,0.26876e-02_rb, & & 0.27741e-02_rb,0.27762e-02_rb,0.27013e-02_rb,0.20553e-02_rb /) kao(:, 3, 7, 7) = (/ & & 0.11813e-02_rb,0.19513e-02_rb,0.23065e-02_rb,0.25547e-02_rb,0.27305e-02_rb, & & 0.28210e-02_rb,0.28261e-02_rb,0.27499e-02_rb,0.20900e-02_rb /) kao(:, 4, 7, 7) = (/ & & 0.12020e-02_rb,0.19854e-02_rb,0.23499e-02_rb,0.26064e-02_rb,0.27813e-02_rb, & & 0.28738e-02_rb,0.28824e-02_rb,0.28095e-02_rb,0.21311e-02_rb /) kao(:, 5, 7, 7) = (/ & & 0.12251e-02_rb,0.20252e-02_rb,0.23984e-02_rb,0.26618e-02_rb,0.28401e-02_rb, & & 0.29374e-02_rb,0.29496e-02_rb,0.28780e-02_rb,0.21792e-02_rb /) kao(:, 1, 8, 7) = (/ & & 0.10232e-02_rb,0.16906e-02_rb,0.19769e-02_rb,0.21832e-02_rb,0.23202e-02_rb, & & 0.23917e-02_rb,0.23852e-02_rb,0.22950e-02_rb,0.17101e-02_rb /) kao(:, 2, 8, 7) = (/ & & 0.10391e-02_rb,0.17050e-02_rb,0.20071e-02_rb,0.22179e-02_rb,0.23606e-02_rb, & & 0.24337e-02_rb,0.24284e-02_rb,0.23335e-02_rb,0.17331e-02_rb /) kao(:, 3, 8, 7) = (/ & & 0.10558e-02_rb,0.17304e-02_rb,0.20412e-02_rb,0.22560e-02_rb,0.24048e-02_rb, & & 0.24767e-02_rb,0.24718e-02_rb,0.23758e-02_rb,0.17638e-02_rb /) kao(:, 4, 8, 7) = (/ & & 0.10757e-02_rb,0.17611e-02_rb,0.20788e-02_rb,0.22974e-02_rb,0.24509e-02_rb, & & 0.25242e-02_rb,0.25220e-02_rb,0.24275e-02_rb,0.17981e-02_rb /) kao(:, 5, 8, 7) = (/ & & 0.10980e-02_rb,0.17974e-02_rb,0.21207e-02_rb,0.23464e-02_rb,0.25025e-02_rb, & & 0.25827e-02_rb,0.25792e-02_rb,0.24843e-02_rb,0.18371e-02_rb /) kao(:, 1, 9, 7) = (/ & & 0.89817e-03_rb,0.14995e-02_rb,0.17424e-02_rb,0.19141e-02_rb,0.20277e-02_rb, & & 0.20847e-02_rb,0.20717e-02_rb,0.19779e-02_rb,0.16529e-02_rb /) kao(:, 2, 9, 7) = (/ & & 0.91497e-03_rb,0.15202e-02_rb,0.17713e-02_rb,0.19473e-02_rb,0.20642e-02_rb, & & 0.21241e-02_rb,0.21112e-02_rb,0.20125e-02_rb,0.16590e-02_rb /) kao(:, 3, 9, 7) = (/ & & 0.93269e-03_rb,0.15411e-02_rb,0.18029e-02_rb,0.19839e-02_rb,0.21017e-02_rb, & & 0.21633e-02_rb,0.21507e-02_rb,0.20494e-02_rb,0.16738e-02_rb /) kao(:, 4, 9, 7) = (/ & & 0.95304e-03_rb,0.15646e-02_rb,0.18368e-02_rb,0.20225e-02_rb,0.21451e-02_rb, & & 0.22062e-02_rb,0.21951e-02_rb,0.20930e-02_rb,0.16939e-02_rb /) kao(:, 5, 9, 7) = (/ & & 0.97498e-03_rb,0.15941e-02_rb,0.18742e-02_rb,0.20657e-02_rb,0.21958e-02_rb, & & 0.22577e-02_rb,0.22448e-02_rb,0.21409e-02_rb,0.17176e-02_rb /) kao(:, 1,10, 7) = (/ & & 0.79262e-03_rb,0.13163e-02_rb,0.15328e-02_rb,0.16707e-02_rb,0.17648e-02_rb, & & 0.18068e-02_rb,0.17935e-02_rb,0.17058e-02_rb,0.29700e-02_rb /) kao(:, 2,10, 7) = (/ & & 0.80762e-03_rb,0.13411e-02_rb,0.15596e-02_rb,0.17027e-02_rb,0.18000e-02_rb, & & 0.18435e-02_rb,0.18291e-02_rb,0.17355e-02_rb,0.28651e-02_rb /) kao(:, 3,10, 7) = (/ & & 0.82251e-03_rb,0.13646e-02_rb,0.15856e-02_rb,0.17370e-02_rb,0.18349e-02_rb, & & 0.18799e-02_rb,0.18643e-02_rb,0.17669e-02_rb,0.27637e-02_rb /) kao(:, 4,10, 7) = (/ & & 0.84077e-03_rb,0.13892e-02_rb,0.16170e-02_rb,0.17747e-02_rb,0.18736e-02_rb, & & 0.19201e-02_rb,0.19036e-02_rb,0.18042e-02_rb,0.26870e-02_rb /) kao(:, 5,10, 7) = (/ & & 0.86106e-03_rb,0.14180e-02_rb,0.16516e-02_rb,0.18147e-02_rb,0.19171e-02_rb, & & 0.19660e-02_rb,0.19468e-02_rb,0.18451e-02_rb,0.26342e-02_rb /) kao(:, 1,11, 7) = (/ & & 0.72744e-03_rb,0.11669e-02_rb,0.13481e-02_rb,0.14590e-02_rb,0.15393e-02_rb, & & 0.15747e-02_rb,0.15610e-02_rb,0.14772e-02_rb,0.38429e-02_rb /) kao(:, 2,11, 7) = (/ & & 0.73930e-03_rb,0.11904e-02_rb,0.13759e-02_rb,0.14894e-02_rb,0.15715e-02_rb, & & 0.16066e-02_rb,0.15925e-02_rb,0.15038e-02_rb,0.36308e-02_rb /) kao(:, 3,11, 7) = (/ & & 0.75350e-03_rb,0.12120e-02_rb,0.14044e-02_rb,0.15240e-02_rb,0.16053e-02_rb, & & 0.16390e-02_rb,0.16251e-02_rb,0.15339e-02_rb,0.34122e-02_rb /) kao(:, 4,11, 7) = (/ & & 0.76930e-03_rb,0.12355e-02_rb,0.14324e-02_rb,0.15603e-02_rb,0.16424e-02_rb, & & 0.16774e-02_rb,0.16611e-02_rb,0.15677e-02_rb,0.32391e-02_rb /) kao(:, 5,11, 7) = (/ & & 0.78824e-03_rb,0.12645e-02_rb,0.14660e-02_rb,0.15998e-02_rb,0.16846e-02_rb, & & 0.17204e-02_rb,0.17007e-02_rb,0.16046e-02_rb,0.31291e-02_rb /) kao(:, 1,12, 7) = (/ & & 0.66909e-03_rb,0.10517e-02_rb,0.11921e-02_rb,0.12822e-02_rb,0.13379e-02_rb, & & 0.13630e-02_rb,0.13492e-02_rb,0.12752e-02_rb,0.39255e-02_rb /) kao(:, 2,12, 7) = (/ & & 0.68372e-03_rb,0.10717e-02_rb,0.12175e-02_rb,0.13089e-02_rb,0.13666e-02_rb, & & 0.13913e-02_rb,0.13783e-02_rb,0.12999e-02_rb,0.37011e-02_rb /) kao(:, 3,12, 7) = (/ & & 0.69881e-03_rb,0.10912e-02_rb,0.12439e-02_rb,0.13402e-02_rb,0.13970e-02_rb, & & 0.14222e-02_rb,0.14099e-02_rb,0.13279e-02_rb,0.35002e-02_rb /) kao(:, 4,12, 7) = (/ & & 0.71487e-03_rb,0.11132e-02_rb,0.12732e-02_rb,0.13738e-02_rb,0.14317e-02_rb, & & 0.14583e-02_rb,0.14439e-02_rb,0.13590e-02_rb,0.33360e-02_rb /) kao(:, 5,12, 7) = (/ & & 0.73461e-03_rb,0.11382e-02_rb,0.13053e-02_rb,0.14102e-02_rb,0.14713e-02_rb, & & 0.14974e-02_rb,0.14808e-02_rb,0.13924e-02_rb,0.31844e-02_rb /) kao(:, 1,13, 7) = (/ & & 0.61282e-03_rb,0.95575e-03_rb,0.10730e-02_rb,0.11388e-02_rb,0.11718e-02_rb, & & 0.11795e-02_rb,0.11618e-02_rb,0.10974e-02_rb,0.34089e-02_rb /) kao(:, 2,13, 7) = (/ & & 0.62765e-03_rb,0.97500e-03_rb,0.10966e-02_rb,0.11619e-02_rb,0.11959e-02_rb, & & 0.12054e-02_rb,0.11876e-02_rb,0.11206e-02_rb,0.32141e-02_rb /) kao(:, 3,13, 7) = (/ & & 0.64409e-03_rb,0.99523e-03_rb,0.11197e-02_rb,0.11873e-02_rb,0.12235e-02_rb, & & 0.12347e-02_rb,0.12163e-02_rb,0.11468e-02_rb,0.30396e-02_rb /) kao(:, 4,13, 7) = (/ & & 0.66230e-03_rb,0.10180e-02_rb,0.11464e-02_rb,0.12161e-02_rb,0.12557e-02_rb, & & 0.12667e-02_rb,0.12475e-02_rb,0.11749e-02_rb,0.28911e-02_rb /) kao(:, 5,13, 7) = (/ & & 0.68383e-03_rb,0.10452e-02_rb,0.11767e-02_rb,0.12484e-02_rb,0.12902e-02_rb, & & 0.13021e-02_rb,0.12822e-02_rb,0.12049e-02_rb,0.27576e-02_rb /) kao(:, 1, 1, 8) = (/ & & 0.59073e-02_rb,0.94320e-02_rb,0.12084e-01_rb,0.14049e-01_rb,0.15571e-01_rb, & & 0.16640e-01_rb,0.17123e-01_rb,0.16625e-01_rb,0.14851e-01_rb /) kao(:, 2, 1, 8) = (/ & & 0.60213e-02_rb,0.95565e-02_rb,0.12218e-01_rb,0.14200e-01_rb,0.15736e-01_rb, & & 0.16810e-01_rb,0.17290e-01_rb,0.16722e-01_rb,0.14969e-01_rb /) kao(:, 3, 1, 8) = (/ & & 0.61698e-02_rb,0.97176e-02_rb,0.12383e-01_rb,0.14381e-01_rb,0.15939e-01_rb, & & 0.17010e-01_rb,0.17476e-01_rb,0.16866e-01_rb,0.15129e-01_rb /) kao(:, 4, 1, 8) = (/ & & 0.62862e-02_rb,0.98624e-02_rb,0.12544e-01_rb,0.14586e-01_rb,0.16163e-01_rb, & & 0.17225e-01_rb,0.17690e-01_rb,0.17043e-01_rb,0.15322e-01_rb /) kao(:, 5, 1, 8) = (/ & & 0.64346e-02_rb,0.10033e-01_rb,0.12746e-01_rb,0.14817e-01_rb,0.16408e-01_rb, & & 0.17481e-01_rb,0.17940e-01_rb,0.17253e-01_rb,0.15543e-01_rb /) kao(:, 1, 2, 8) = (/ & & 0.53740e-02_rb,0.87218e-02_rb,0.11053e-01_rb,0.12810e-01_rb,0.14176e-01_rb, & & 0.15120e-01_rb,0.15546e-01_rb,0.15059e-01_rb,0.12919e-01_rb /) kao(:, 2, 2, 8) = (/ & & 0.54730e-02_rb,0.88522e-02_rb,0.11203e-01_rb,0.12984e-01_rb,0.14363e-01_rb, & & 0.15303e-01_rb,0.15712e-01_rb,0.15177e-01_rb,0.13038e-01_rb /) kao(:, 3, 2, 8) = (/ & & 0.56074e-02_rb,0.90112e-02_rb,0.11386e-01_rb,0.13184e-01_rb,0.14577e-01_rb, & & 0.15506e-01_rb,0.15908e-01_rb,0.15341e-01_rb,0.13193e-01_rb /) kao(:, 4, 2, 8) = (/ & & 0.57291e-02_rb,0.91663e-02_rb,0.11581e-01_rb,0.13408e-01_rb,0.14805e-01_rb, & & 0.15738e-01_rb,0.16140e-01_rb,0.15527e-01_rb,0.13373e-01_rb /) kao(:, 5, 2, 8) = (/ & & 0.58374e-02_rb,0.93237e-02_rb,0.11790e-01_rb,0.13642e-01_rb,0.15063e-01_rb, & & 0.16008e-01_rb,0.16391e-01_rb,0.15740e-01_rb,0.13573e-01_rb /) kao(:, 1, 3, 8) = (/ & & 0.49151e-02_rb,0.80083e-02_rb,0.10006e-01_rb,0.11528e-01_rb,0.12727e-01_rb, & & 0.13551e-01_rb,0.13911e-01_rb,0.13469e-01_rb,0.11070e-01_rb /) kao(:, 2, 3, 8) = (/ & & 0.50045e-02_rb,0.81384e-02_rb,0.10158e-01_rb,0.11712e-01_rb,0.12918e-01_rb, & & 0.13727e-01_rb,0.14078e-01_rb,0.13598e-01_rb,0.11182e-01_rb /) kao(:, 3, 3, 8) = (/ & & 0.51018e-02_rb,0.82774e-02_rb,0.10333e-01_rb,0.11906e-01_rb,0.13128e-01_rb, & & 0.13932e-01_rb,0.14276e-01_rb,0.13758e-01_rb,0.11318e-01_rb /) kao(:, 4, 3, 8) = (/ & & 0.52290e-02_rb,0.84457e-02_rb,0.10545e-01_rb,0.12130e-01_rb,0.13362e-01_rb, & & 0.14179e-01_rb,0.14506e-01_rb,0.13944e-01_rb,0.11475e-01_rb /) kao(:, 5, 3, 8) = (/ & & 0.53219e-02_rb,0.86004e-02_rb,0.10753e-01_rb,0.12365e-01_rb,0.13624e-01_rb, & & 0.14443e-01_rb,0.14743e-01_rb,0.14150e-01_rb,0.11664e-01_rb /) kao(:, 1, 4, 8) = (/ & & 0.44996e-02_rb,0.73324e-02_rb,0.89976e-02_rb,0.10282e-01_rb,0.11291e-01_rb, & & 0.11989e-01_rb,0.12308e-01_rb,0.11915e-01_rb,0.94610e-02_rb /) kao(:, 2, 4, 8) = (/ & & 0.45903e-02_rb,0.74608e-02_rb,0.91511e-02_rb,0.10467e-01_rb,0.11476e-01_rb, & & 0.12168e-01_rb,0.12474e-01_rb,0.12040e-01_rb,0.95583e-02_rb /) kao(:, 3, 4, 8) = (/ & & 0.46786e-02_rb,0.75960e-02_rb,0.93200e-02_rb,0.10651e-01_rb,0.11685e-01_rb, & & 0.12375e-01_rb,0.12662e-01_rb,0.12197e-01_rb,0.96836e-02_rb /) kao(:, 4, 4, 8) = (/ & & 0.47771e-02_rb,0.77407e-02_rb,0.95085e-02_rb,0.10860e-01_rb,0.11915e-01_rb, & & 0.12611e-01_rb,0.12868e-01_rb,0.12374e-01_rb,0.98243e-02_rb /) kao(:, 5, 4, 8) = (/ & & 0.48920e-02_rb,0.79194e-02_rb,0.97305e-02_rb,0.11107e-01_rb,0.12174e-01_rb, & & 0.12866e-01_rb,0.13096e-01_rb,0.12573e-01_rb,0.99978e-02_rb /) kao(:, 1, 5, 8) = (/ & & 0.41203e-02_rb,0.67057e-02_rb,0.80820e-02_rb,0.91247e-02_rb,0.99321e-02_rb, & & 0.10510e-01_rb,0.10783e-01_rb,0.10430e-01_rb,0.81020e-02_rb /) kao(:, 2, 5, 8) = (/ & & 0.41993e-02_rb,0.68279e-02_rb,0.82322e-02_rb,0.92959e-02_rb,0.10115e-01_rb, & & 0.10684e-01_rb,0.10936e-01_rb,0.10557e-01_rb,0.81860e-02_rb /) kao(:, 3, 5, 8) = (/ & & 0.42833e-02_rb,0.69588e-02_rb,0.83884e-02_rb,0.94726e-02_rb,0.10319e-01_rb, & & 0.10879e-01_rb,0.11113e-01_rb,0.10704e-01_rb,0.82915e-02_rb /) kao(:, 4, 5, 8) = (/ & & 0.43800e-02_rb,0.70975e-02_rb,0.85585e-02_rb,0.96769e-02_rb,0.10538e-01_rb, & & 0.11098e-01_rb,0.11307e-01_rb,0.10873e-01_rb,0.84082e-02_rb /) kao(:, 5, 5, 8) = (/ & & 0.44913e-02_rb,0.72638e-02_rb,0.87668e-02_rb,0.99106e-02_rb,0.10776e-01_rb, & & 0.11337e-01_rb,0.11521e-01_rb,0.11061e-01_rb,0.85492e-02_rb /) kao(:, 1, 6, 8) = (/ & & 0.37432e-02_rb,0.61135e-02_rb,0.72507e-02_rb,0.80822e-02_rb,0.86984e-02_rb, & & 0.91424e-02_rb,0.93607e-02_rb,0.90800e-02_rb,0.69637e-02_rb /) kao(:, 2, 6, 8) = (/ & & 0.38232e-02_rb,0.62277e-02_rb,0.73923e-02_rb,0.82383e-02_rb,0.88666e-02_rb, & & 0.93013e-02_rb,0.95051e-02_rb,0.91939e-02_rb,0.70311e-02_rb /) kao(:, 3, 6, 8) = (/ & & 0.39028e-02_rb,0.63516e-02_rb,0.75330e-02_rb,0.84072e-02_rb,0.90542e-02_rb, & & 0.94860e-02_rb,0.96693e-02_rb,0.93306e-02_rb,0.71143e-02_rb /) kao(:, 4, 6, 8) = (/ & & 0.39917e-02_rb,0.64850e-02_rb,0.76893e-02_rb,0.85935e-02_rb,0.92562e-02_rb, & & 0.96859e-02_rb,0.98481e-02_rb,0.94821e-02_rb,0.72080e-02_rb /) kao(:, 5, 6, 8) = (/ & & 0.40851e-02_rb,0.66256e-02_rb,0.78694e-02_rb,0.87911e-02_rb,0.94733e-02_rb, & & 0.99019e-02_rb,0.10042e-01_rb,0.96464e-02_rb,0.73211e-02_rb /) kao(:, 1, 7, 8) = (/ & & 0.33812e-02_rb,0.55475e-02_rb,0.65017e-02_rb,0.71556e-02_rb,0.76235e-02_rb, & & 0.79451e-02_rb,0.81101e-02_rb,0.78877e-02_rb,0.60070e-02_rb /) kao(:, 2, 7, 8) = (/ & & 0.34581e-02_rb,0.56575e-02_rb,0.66301e-02_rb,0.72977e-02_rb,0.77709e-02_rb, & & 0.80903e-02_rb,0.82426e-02_rb,0.79917e-02_rb,0.60625e-02_rb /) kao(:, 3, 7, 8) = (/ & & 0.35355e-02_rb,0.57759e-02_rb,0.67602e-02_rb,0.74532e-02_rb,0.79395e-02_rb, & & 0.82549e-02_rb,0.83890e-02_rb,0.81121e-02_rb,0.61274e-02_rb /) kao(:, 4, 7, 8) = (/ & & 0.36191e-02_rb,0.58987e-02_rb,0.69034e-02_rb,0.76219e-02_rb,0.81209e-02_rb, & & 0.84343e-02_rb,0.85495e-02_rb,0.82395e-02_rb,0.62026e-02_rb /) kao(:, 5, 7, 8) = (/ & & 0.37084e-02_rb,0.60308e-02_rb,0.70671e-02_rb,0.77977e-02_rb,0.83160e-02_rb, & & 0.86266e-02_rb,0.87205e-02_rb,0.83802e-02_rb,0.62947e-02_rb /) kao(:, 1, 8, 8) = (/ & & 0.30376e-02_rb,0.49774e-02_rb,0.58172e-02_rb,0.63470e-02_rb,0.67038e-02_rb, & & 0.69396e-02_rb,0.70412e-02_rb,0.68509e-02_rb,0.51374e-02_rb /) kao(:, 2, 8, 8) = (/ & & 0.31099e-02_rb,0.50996e-02_rb,0.59344e-02_rb,0.64736e-02_rb,0.68367e-02_rb, & & 0.70701e-02_rb,0.71564e-02_rb,0.69425e-02_rb,0.51813e-02_rb /) kao(:, 3, 8, 8) = (/ & & 0.31853e-02_rb,0.52155e-02_rb,0.60541e-02_rb,0.66147e-02_rb,0.69858e-02_rb, & & 0.72120e-02_rb,0.72858e-02_rb,0.70465e-02_rb,0.52319e-02_rb /) kao(:, 4, 8, 8) = (/ & & 0.32663e-02_rb,0.53312e-02_rb,0.61863e-02_rb,0.67654e-02_rb,0.71468e-02_rb, & & 0.73677e-02_rb,0.74252e-02_rb,0.71560e-02_rb,0.52932e-02_rb /) kao(:, 5, 8, 8) = (/ & & 0.33510e-02_rb,0.54583e-02_rb,0.63345e-02_rb,0.69235e-02_rb,0.73170e-02_rb, & & 0.75339e-02_rb,0.75720e-02_rb,0.72770e-02_rb,0.53726e-02_rb /) kao(:, 1, 9, 8) = (/ & & 0.27168e-02_rb,0.44406e-02_rb,0.51768e-02_rb,0.56339e-02_rb,0.59208e-02_rb, & & 0.60958e-02_rb,0.61438e-02_rb,0.59554e-02_rb,0.42511e-02_rb /) kao(:, 2, 9, 8) = (/ & & 0.27853e-02_rb,0.45486e-02_rb,0.52870e-02_rb,0.57491e-02_rb,0.60397e-02_rb, & & 0.62076e-02_rb,0.62421e-02_rb,0.60358e-02_rb,0.42982e-02_rb /) kao(:, 3, 9, 8) = (/ & & 0.28572e-02_rb,0.46609e-02_rb,0.53998e-02_rb,0.58755e-02_rb,0.61719e-02_rb, & & 0.63300e-02_rb,0.63536e-02_rb,0.61272e-02_rb,0.43479e-02_rb /) kao(:, 4, 9, 8) = (/ & & 0.29351e-02_rb,0.47766e-02_rb,0.55244e-02_rb,0.60103e-02_rb,0.63121e-02_rb, & & 0.64656e-02_rb,0.64718e-02_rb,0.62231e-02_rb,0.44012e-02_rb /) kao(:, 5, 9, 8) = (/ & & 0.30174e-02_rb,0.49013e-02_rb,0.56608e-02_rb,0.61542e-02_rb,0.64584e-02_rb, & & 0.66094e-02_rb,0.65960e-02_rb,0.63252e-02_rb,0.44655e-02_rb /) kao(:, 1,10, 8) = (/ & & 0.24055e-02_rb,0.39503e-02_rb,0.45833e-02_rb,0.49951e-02_rb,0.52507e-02_rb, & & 0.53857e-02_rb,0.53791e-02_rb,0.51629e-02_rb,0.55379e-02_rb /) kao(:, 2,10, 8) = (/ & & 0.24728e-02_rb,0.40487e-02_rb,0.46867e-02_rb,0.51042e-02_rb,0.53576e-02_rb, & & 0.54844e-02_rb,0.54704e-02_rb,0.52383e-02_rb,0.55398e-02_rb /) kao(:, 3,10, 8) = (/ & & 0.25454e-02_rb,0.41511e-02_rb,0.48010e-02_rb,0.52206e-02_rb,0.54751e-02_rb, & & 0.55927e-02_rb,0.55711e-02_rb,0.53216e-02_rb,0.55501e-02_rb /) kao(:, 4,10, 8) = (/ & & 0.26224e-02_rb,0.42542e-02_rb,0.49201e-02_rb,0.53438e-02_rb,0.55977e-02_rb, & & 0.57114e-02_rb,0.56753e-02_rb,0.54074e-02_rb,0.55558e-02_rb /) kao(:, 5,10, 8) = (/ & & 0.27039e-02_rb,0.43672e-02_rb,0.50470e-02_rb,0.54750e-02_rb,0.57276e-02_rb, & & 0.58363e-02_rb,0.57849e-02_rb,0.54996e-02_rb,0.55710e-02_rb /) kao(:, 1,11, 8) = (/ & & 0.21256e-02_rb,0.35221e-02_rb,0.40853e-02_rb,0.44612e-02_rb,0.46874e-02_rb, & & 0.47866e-02_rb,0.47389e-02_rb,0.44975e-02_rb,0.66135e-02_rb /) kao(:, 2,11, 8) = (/ & & 0.21937e-02_rb,0.36149e-02_rb,0.41854e-02_rb,0.45677e-02_rb,0.47907e-02_rb, & & 0.48833e-02_rb,0.48291e-02_rb,0.45707e-02_rb,0.65729e-02_rb /) kao(:, 3,11, 8) = (/ & & 0.22650e-02_rb,0.37098e-02_rb,0.42933e-02_rb,0.46764e-02_rb,0.49020e-02_rb, & & 0.49895e-02_rb,0.49234e-02_rb,0.46462e-02_rb,0.65598e-02_rb /) kao(:, 4,11, 8) = (/ & & 0.23425e-02_rb,0.38113e-02_rb,0.44107e-02_rb,0.47931e-02_rb,0.50165e-02_rb, & & 0.51000e-02_rb,0.50211e-02_rb,0.47251e-02_rb,0.65419e-02_rb /) kao(:, 5,11, 8) = (/ & & 0.24251e-02_rb,0.39222e-02_rb,0.45344e-02_rb,0.49164e-02_rb,0.51382e-02_rb, & & 0.52156e-02_rb,0.51233e-02_rb,0.48118e-02_rb,0.65404e-02_rb /) kao(:, 1,12, 8) = (/ & & 0.19014e-02_rb,0.31169e-02_rb,0.36336e-02_rb,0.39642e-02_rb,0.41602e-02_rb, & & 0.42352e-02_rb,0.41726e-02_rb,0.39183e-02_rb,0.68121e-02_rb /) kao(:, 2,12, 8) = (/ & & 0.19605e-02_rb,0.32068e-02_rb,0.37314e-02_rb,0.40676e-02_rb,0.42627e-02_rb, & & 0.43333e-02_rb,0.42591e-02_rb,0.39851e-02_rb,0.67229e-02_rb /) kao(:, 3,12, 8) = (/ & & 0.20227e-02_rb,0.33010e-02_rb,0.38333e-02_rb,0.41743e-02_rb,0.43708e-02_rb, & & 0.44355e-02_rb,0.43461e-02_rb,0.40520e-02_rb,0.66419e-02_rb /) kao(:, 4,12, 8) = (/ & & 0.20945e-02_rb,0.34006e-02_rb,0.39411e-02_rb,0.42851e-02_rb,0.44804e-02_rb, & & 0.45405e-02_rb,0.44353e-02_rb,0.41230e-02_rb,0.65948e-02_rb /) kao(:, 5,12, 8) = (/ & & 0.21695e-02_rb,0.35114e-02_rb,0.40581e-02_rb,0.44020e-02_rb,0.45960e-02_rb, & & 0.46501e-02_rb,0.45319e-02_rb,0.42045e-02_rb,0.65716e-02_rb /) kao(:, 1,13, 8) = (/ & & 0.17348e-02_rb,0.27575e-02_rb,0.32033e-02_rb,0.34905e-02_rb,0.36669e-02_rb, & & 0.37299e-02_rb,0.36615e-02_rb,0.34092e-02_rb,0.62173e-02_rb /) kao(:, 2,13, 8) = (/ & & 0.17868e-02_rb,0.28403e-02_rb,0.32978e-02_rb,0.35924e-02_rb,0.37684e-02_rb, & & 0.38248e-02_rb,0.37430e-02_rb,0.34686e-02_rb,0.61248e-02_rb /) kao(:, 3,13, 8) = (/ & & 0.18438e-02_rb,0.29272e-02_rb,0.33982e-02_rb,0.36985e-02_rb,0.38711e-02_rb, & & 0.39210e-02_rb,0.38240e-02_rb,0.35286e-02_rb,0.60637e-02_rb /) kao(:, 4,13, 8) = (/ & & 0.19066e-02_rb,0.30192e-02_rb,0.35016e-02_rb,0.38072e-02_rb,0.39764e-02_rb, & & 0.40199e-02_rb,0.39089e-02_rb,0.35954e-02_rb,0.60138e-02_rb /) kao(:, 5,13, 8) = (/ & & 0.19732e-02_rb,0.31237e-02_rb,0.36129e-02_rb,0.39207e-02_rb,0.40892e-02_rb, & & 0.41240e-02_rb,0.40022e-02_rb,0.36721e-02_rb,0.59944e-02_rb /) kao(:, 1, 1, 9) = (/ & & 0.41219e-01_rb,0.41795e-01_rb,0.46848e-01_rb,0.50877e-01_rb,0.53437e-01_rb, & & 0.54488e-01_rb,0.53560e-01_rb,0.50235e-01_rb,0.51545e-01_rb /) kao(:, 2, 1, 9) = (/ & & 0.42156e-01_rb,0.42406e-01_rb,0.47180e-01_rb,0.51006e-01_rb,0.53354e-01_rb, & & 0.54221e-01_rb,0.53185e-01_rb,0.49897e-01_rb,0.51289e-01_rb /) kao(:, 3, 1, 9) = (/ & & 0.43082e-01_rb,0.43034e-01_rb,0.47543e-01_rb,0.51133e-01_rb,0.53289e-01_rb, & & 0.53978e-01_rb,0.52866e-01_rb,0.49591e-01_rb,0.51083e-01_rb /) kao(:, 4, 1, 9) = (/ & & 0.43908e-01_rb,0.43606e-01_rb,0.47876e-01_rb,0.51241e-01_rb,0.53225e-01_rb, & & 0.53768e-01_rb,0.52555e-01_rb,0.49365e-01_rb,0.51010e-01_rb /) kao(:, 5, 1, 9) = (/ & & 0.44717e-01_rb,0.44169e-01_rb,0.48160e-01_rb,0.51395e-01_rb,0.53206e-01_rb, & & 0.53607e-01_rb,0.52301e-01_rb,0.49268e-01_rb,0.51108e-01_rb /) kao(:, 1, 2, 9) = (/ & & 0.38280e-01_rb,0.40368e-01_rb,0.46271e-01_rb,0.50387e-01_rb,0.53287e-01_rb, & & 0.54294e-01_rb,0.53147e-01_rb,0.49359e-01_rb,0.49444e-01_rb /) kao(:, 2, 2, 9) = (/ & & 0.39278e-01_rb,0.41016e-01_rb,0.46659e-01_rb,0.50565e-01_rb,0.53249e-01_rb, & & 0.54064e-01_rb,0.52823e-01_rb,0.49016e-01_rb,0.49210e-01_rb /) kao(:, 3, 2, 9) = (/ & & 0.40252e-01_rb,0.41678e-01_rb,0.47048e-01_rb,0.50745e-01_rb,0.53223e-01_rb, & & 0.53871e-01_rb,0.52519e-01_rb,0.48730e-01_rb,0.49081e-01_rb /) kao(:, 4, 2, 9) = (/ & & 0.41132e-01_rb,0.42274e-01_rb,0.47387e-01_rb,0.50925e-01_rb,0.53214e-01_rb, & & 0.53693e-01_rb,0.52217e-01_rb,0.48559e-01_rb,0.49102e-01_rb /) kao(:, 5, 2, 9) = (/ & & 0.41937e-01_rb,0.42806e-01_rb,0.47675e-01_rb,0.51115e-01_rb,0.53221e-01_rb, & & 0.53535e-01_rb,0.52007e-01_rb,0.48511e-01_rb,0.49285e-01_rb /) kao(:, 1, 3, 9) = (/ & & 0.35016e-01_rb,0.38740e-01_rb,0.45035e-01_rb,0.49481e-01_rb,0.52517e-01_rb, & & 0.53496e-01_rb,0.52191e-01_rb,0.48044e-01_rb,0.46584e-01_rb /) kao(:, 2, 3, 9) = (/ & & 0.36031e-01_rb,0.39393e-01_rb,0.45463e-01_rb,0.49713e-01_rb,0.52514e-01_rb, & & 0.53329e-01_rb,0.51912e-01_rb,0.47725e-01_rb,0.46413e-01_rb /) kao(:, 3, 3, 9) = (/ & & 0.36991e-01_rb,0.40024e-01_rb,0.45863e-01_rb,0.49943e-01_rb,0.52531e-01_rb, & & 0.53167e-01_rb,0.51622e-01_rb,0.47472e-01_rb,0.46354e-01_rb /) kao(:, 4, 3, 9) = (/ & & 0.37902e-01_rb,0.40620e-01_rb,0.46253e-01_rb,0.50181e-01_rb,0.52583e-01_rb, & & 0.53007e-01_rb,0.51384e-01_rb,0.47335e-01_rb,0.46441e-01_rb /) kao(:, 5, 3, 9) = (/ & & 0.38707e-01_rb,0.41126e-01_rb,0.46598e-01_rb,0.50384e-01_rb,0.52633e-01_rb, & & 0.52879e-01_rb,0.51240e-01_rb,0.47311e-01_rb,0.46661e-01_rb /) kao(:, 1, 4, 9) = (/ & & 0.31672e-01_rb,0.36966e-01_rb,0.43365e-01_rb,0.48073e-01_rb,0.51081e-01_rb, & & 0.52063e-01_rb,0.50596e-01_rb,0.46210e-01_rb,0.43228e-01_rb /) kao(:, 2, 4, 9) = (/ & & 0.32685e-01_rb,0.37616e-01_rb,0.43827e-01_rb,0.48349e-01_rb,0.51147e-01_rb, & & 0.51967e-01_rb,0.50386e-01_rb,0.45960e-01_rb,0.43137e-01_rb /) kao(:, 3, 4, 9) = (/ & & 0.33628e-01_rb,0.38241e-01_rb,0.44270e-01_rb,0.48639e-01_rb,0.51209e-01_rb, & & 0.51848e-01_rb,0.50172e-01_rb,0.45771e-01_rb,0.43147e-01_rb /) kao(:, 4, 4, 9) = (/ & & 0.34503e-01_rb,0.38804e-01_rb,0.44698e-01_rb,0.48896e-01_rb,0.51278e-01_rb, & & 0.51724e-01_rb,0.50016e-01_rb,0.45686e-01_rb,0.43281e-01_rb /) kao(:, 5, 4, 9) = (/ & & 0.35339e-01_rb,0.39319e-01_rb,0.45124e-01_rb,0.49160e-01_rb,0.51368e-01_rb, & & 0.51672e-01_rb,0.49945e-01_rb,0.45702e-01_rb,0.43520e-01_rb /) kao(:, 1, 5, 9) = (/ & & 0.28453e-01_rb,0.34915e-01_rb,0.41400e-01_rb,0.46104e-01_rb,0.49014e-01_rb, & & 0.49952e-01_rb,0.48370e-01_rb,0.43932e-01_rb,0.39569e-01_rb /) kao(:, 2, 5, 9) = (/ & & 0.29434e-01_rb,0.35588e-01_rb,0.41893e-01_rb,0.46437e-01_rb,0.49144e-01_rb, & & 0.49919e-01_rb,0.48254e-01_rb,0.43775e-01_rb,0.39548e-01_rb /) kao(:, 3, 5, 9) = (/ & & 0.30340e-01_rb,0.36236e-01_rb,0.42373e-01_rb,0.46769e-01_rb,0.49255e-01_rb, & & 0.49873e-01_rb,0.48133e-01_rb,0.43667e-01_rb,0.39610e-01_rb /) kao(:, 4, 5, 9) = (/ & & 0.31178e-01_rb,0.36810e-01_rb,0.42835e-01_rb,0.47061e-01_rb,0.49370e-01_rb, & & 0.49827e-01_rb,0.48071e-01_rb,0.43623e-01_rb,0.39779e-01_rb /) kao(:, 5, 5, 9) = (/ & & 0.31999e-01_rb,0.37346e-01_rb,0.43284e-01_rb,0.47361e-01_rb,0.49516e-01_rb, & & 0.49857e-01_rb,0.48088e-01_rb,0.43666e-01_rb,0.40037e-01_rb /) kao(:, 1, 6, 9) = (/ & & 0.25421e-01_rb,0.32626e-01_rb,0.39116e-01_rb,0.43609e-01_rb,0.46371e-01_rb, & & 0.47186e-01_rb,0.45634e-01_rb,0.41276e-01_rb,0.35722e-01_rb /) kao(:, 2, 6, 9) = (/ & & 0.26347e-01_rb,0.33315e-01_rb,0.39629e-01_rb,0.44004e-01_rb,0.46570e-01_rb, & & 0.47251e-01_rb,0.45602e-01_rb,0.41217e-01_rb,0.35770e-01_rb /) kao(:, 3, 6, 9) = (/ & & 0.27211e-01_rb,0.33965e-01_rb,0.40142e-01_rb,0.44371e-01_rb,0.46737e-01_rb, & & 0.47271e-01_rb,0.45579e-01_rb,0.41184e-01_rb,0.35883e-01_rb /) kao(:, 4, 6, 9) = (/ & & 0.28013e-01_rb,0.34546e-01_rb,0.40641e-01_rb,0.44704e-01_rb,0.46903e-01_rb, & & 0.47305e-01_rb,0.45608e-01_rb,0.41201e-01_rb,0.36071e-01_rb /) kao(:, 5, 6, 9) = (/ & & 0.28777e-01_rb,0.35080e-01_rb,0.41083e-01_rb,0.45018e-01_rb,0.47083e-01_rb, & & 0.47404e-01_rb,0.45685e-01_rb,0.41273e-01_rb,0.36328e-01_rb /) kao(:, 1, 7, 9) = (/ & & 0.22628e-01_rb,0.30290e-01_rb,0.36520e-01_rb,0.40736e-01_rb,0.43195e-01_rb, & & 0.43894e-01_rb,0.42478e-01_rb,0.38357e-01_rb,0.31858e-01_rb /) kao(:, 2, 7, 9) = (/ & & 0.23496e-01_rb,0.30981e-01_rb,0.37071e-01_rb,0.41159e-01_rb,0.43459e-01_rb, & & 0.44039e-01_rb,0.42534e-01_rb,0.38366e-01_rb,0.31954e-01_rb /) kao(:, 3, 7, 9) = (/ & & 0.24311e-01_rb,0.31616e-01_rb,0.37614e-01_rb,0.41552e-01_rb,0.43690e-01_rb, & & 0.44135e-01_rb,0.42598e-01_rb,0.38398e-01_rb,0.32112e-01_rb /) kao(:, 4, 7, 9) = (/ & & 0.25081e-01_rb,0.32194e-01_rb,0.38124e-01_rb,0.41906e-01_rb,0.43917e-01_rb, & & 0.44249e-01_rb,0.42700e-01_rb,0.38476e-01_rb,0.32312e-01_rb /) kao(:, 5, 7, 9) = (/ & & 0.25796e-01_rb,0.32737e-01_rb,0.38583e-01_rb,0.42251e-01_rb,0.44147e-01_rb, & & 0.44425e-01_rb,0.42840e-01_rb,0.38587e-01_rb,0.32545e-01_rb /) kao(:, 1, 8, 9) = (/ & & 0.20122e-01_rb,0.27995e-01_rb,0.33719e-01_rb,0.37485e-01_rb,0.39621e-01_rb, & & 0.40226e-01_rb,0.38971e-01_rb,0.35214e-01_rb,0.28110e-01_rb /) kao(:, 2, 8, 9) = (/ & & 0.20930e-01_rb,0.28671e-01_rb,0.34304e-01_rb,0.37966e-01_rb,0.39957e-01_rb, & & 0.40447e-01_rb,0.39124e-01_rb,0.35304e-01_rb,0.28246e-01_rb /) kao(:, 3, 8, 9) = (/ & & 0.21692e-01_rb,0.29291e-01_rb,0.34870e-01_rb,0.38392e-01_rb,0.40254e-01_rb, & & 0.40624e-01_rb,0.39266e-01_rb,0.35403e-01_rb,0.28424e-01_rb /) kao(:, 4, 8, 9) = (/ & & 0.22396e-01_rb,0.29880e-01_rb,0.35388e-01_rb,0.38779e-01_rb,0.40528e-01_rb, & & 0.40815e-01_rb,0.39436e-01_rb,0.35538e-01_rb,0.28597e-01_rb /) kao(:, 5, 8, 9) = (/ & & 0.23064e-01_rb,0.30402e-01_rb,0.35848e-01_rb,0.39151e-01_rb,0.40824e-01_rb, & & 0.41057e-01_rb,0.39639e-01_rb,0.35669e-01_rb,0.28823e-01_rb /) kao(:, 1, 9, 9) = (/ & & 0.17909e-01_rb,0.25709e-01_rb,0.30840e-01_rb,0.34036e-01_rb,0.35851e-01_rb, & & 0.36360e-01_rb,0.35282e-01_rb,0.31947e-01_rb,0.24003e-01_rb /) kao(:, 2, 9, 9) = (/ & & 0.18652e-01_rb,0.26369e-01_rb,0.31431e-01_rb,0.34542e-01_rb,0.36244e-01_rb, & & 0.36648e-01_rb,0.35513e-01_rb,0.32109e-01_rb,0.24164e-01_rb /) kao(:, 3, 9, 9) = (/ & & 0.19344e-01_rb,0.26986e-01_rb,0.31997e-01_rb,0.35005e-01_rb,0.36599e-01_rb, & & 0.36904e-01_rb,0.35718e-01_rb,0.32277e-01_rb,0.24318e-01_rb /) kao(:, 4, 9, 9) = (/ & & 0.19991e-01_rb,0.27565e-01_rb,0.32506e-01_rb,0.35425e-01_rb,0.36934e-01_rb, & & 0.37163e-01_rb,0.35949e-01_rb,0.32440e-01_rb,0.24470e-01_rb /) kao(:, 5, 9, 9) = (/ & & 0.20615e-01_rb,0.28069e-01_rb,0.32961e-01_rb,0.35817e-01_rb,0.37281e-01_rb, & & 0.37462e-01_rb,0.36191e-01_rb,0.32591e-01_rb,0.24688e-01_rb /) kao(:, 1,10, 9) = (/ & & 0.16038e-01_rb,0.23520e-01_rb,0.27944e-01_rb,0.30612e-01_rb,0.32108e-01_rb, & & 0.32531e-01_rb,0.31594e-01_rb,0.28710e-01_rb,0.19040e-01_rb /) kao(:, 2,10, 9) = (/ & & 0.16702e-01_rb,0.24155e-01_rb,0.28537e-01_rb,0.31140e-01_rb,0.32544e-01_rb, & & 0.32858e-01_rb,0.31863e-01_rb,0.28938e-01_rb,0.19154e-01_rb /) kao(:, 3,10, 9) = (/ & & 0.17329e-01_rb,0.24747e-01_rb,0.29094e-01_rb,0.31618e-01_rb,0.32949e-01_rb, & & 0.33160e-01_rb,0.32119e-01_rb,0.29151e-01_rb,0.19214e-01_rb /) kao(:, 4,10, 9) = (/ & & 0.17922e-01_rb,0.25302e-01_rb,0.29595e-01_rb,0.32058e-01_rb,0.33330e-01_rb, & & 0.33472e-01_rb,0.32385e-01_rb,0.29320e-01_rb,0.19269e-01_rb /) kao(:, 5,10, 9) = (/ & & 0.18489e-01_rb,0.25799e-01_rb,0.30045e-01_rb,0.32466e-01_rb,0.33700e-01_rb, & & 0.33812e-01_rb,0.32629e-01_rb,0.29481e-01_rb,0.19405e-01_rb /) kao(:, 1,11, 9) = (/ & & 0.14687e-01_rb,0.21702e-01_rb,0.25384e-01_rb,0.27570e-01_rb,0.28760e-01_rb, & & 0.29017e-01_rb,0.28178e-01_rb,0.25716e-01_rb,0.20195e-01_rb /) kao(:, 2,11, 9) = (/ & & 0.15274e-01_rb,0.22296e-01_rb,0.25944e-01_rb,0.28087e-01_rb,0.29202e-01_rb, & & 0.29352e-01_rb,0.28471e-01_rb,0.25960e-01_rb,0.20265e-01_rb /) kao(:, 3,11, 9) = (/ & & 0.15835e-01_rb,0.22836e-01_rb,0.26465e-01_rb,0.28550e-01_rb,0.29611e-01_rb, & & 0.29694e-01_rb,0.28754e-01_rb,0.26152e-01_rb,0.20296e-01_rb /) kao(:, 4,11, 9) = (/ & & 0.16357e-01_rb,0.23338e-01_rb,0.26927e-01_rb,0.28982e-01_rb,0.29998e-01_rb, & & 0.30045e-01_rb,0.29008e-01_rb,0.26312e-01_rb,0.20131e-01_rb /) kao(:, 5,11, 9) = (/ & & 0.16879e-01_rb,0.23791e-01_rb,0.27359e-01_rb,0.29394e-01_rb,0.30387e-01_rb, & & 0.30372e-01_rb,0.29268e-01_rb,0.26507e-01_rb,0.20180e-01_rb /) kao(:, 1,12, 9) = (/ & & 0.13435e-01_rb,0.19917e-01_rb,0.22947e-01_rb,0.24741e-01_rb,0.25656e-01_rb, & & 0.25762e-01_rb,0.25010e-01_rb,0.22879e-01_rb,0.21935e-01_rb /) kao(:, 2,12, 9) = (/ & & 0.13973e-01_rb,0.20460e-01_rb,0.23475e-01_rb,0.25221e-01_rb,0.26084e-01_rb, & & 0.26126e-01_rb,0.25297e-01_rb,0.23091e-01_rb,0.22096e-01_rb /) kao(:, 3,12, 9) = (/ & & 0.14481e-01_rb,0.20956e-01_rb,0.23951e-01_rb,0.25665e-01_rb,0.26486e-01_rb, & & 0.26478e-01_rb,0.25558e-01_rb,0.23263e-01_rb,0.22257e-01_rb /) kao(:, 4,12, 9) = (/ & & 0.14966e-01_rb,0.21408e-01_rb,0.24388e-01_rb,0.26079e-01_rb,0.26872e-01_rb, & & 0.26802e-01_rb,0.25814e-01_rb,0.23444e-01_rb,0.22244e-01_rb /) kao(:, 5,12, 9) = (/ & & 0.15448e-01_rb,0.21834e-01_rb,0.24813e-01_rb,0.26492e-01_rb,0.27230e-01_rb, & & 0.27128e-01_rb,0.26103e-01_rb,0.23676e-01_rb,0.22318e-01_rb /) kao(:, 1,13, 9) = (/ & & 0.12253e-01_rb,0.18169e-01_rb,0.20712e-01_rb,0.22143e-01_rb,0.22829e-01_rb, & & 0.22840e-01_rb,0.22092e-01_rb,0.20210e-01_rb,0.22350e-01_rb /) kao(:, 2,13, 9) = (/ & & 0.12752e-01_rb,0.18675e-01_rb,0.21188e-01_rb,0.22590e-01_rb,0.23242e-01_rb, & & 0.23184e-01_rb,0.22356e-01_rb,0.20395e-01_rb,0.22569e-01_rb /) kao(:, 3,13, 9) = (/ & & 0.13220e-01_rb,0.19134e-01_rb,0.21627e-01_rb,0.23007e-01_rb,0.23621e-01_rb, & & 0.23502e-01_rb,0.22612e-01_rb,0.20571e-01_rb,0.22750e-01_rb /) kao(:, 4,13, 9) = (/ & & 0.13675e-01_rb,0.19566e-01_rb,0.22044e-01_rb,0.23405e-01_rb,0.23969e-01_rb, & & 0.23813e-01_rb,0.22875e-01_rb,0.20780e-01_rb,0.22726e-01_rb /) kao(:, 5,13, 9) = (/ & & 0.14122e-01_rb,0.19976e-01_rb,0.22454e-01_rb,0.23786e-01_rb,0.24318e-01_rb, & & 0.24140e-01_rb,0.23183e-01_rb,0.21041e-01_rb,0.22784e-01_rb /) kao(:, 1, 1,10) = (/ & & 0.14776e+00_rb,0.13250e+00_rb,0.11877e+00_rb,0.11907e+00_rb,0.11538e+00_rb, & & 0.11234e+00_rb,0.10926e+00_rb,0.11039e+00_rb,0.12102e+00_rb /) kao(:, 2, 1,10) = (/ & & 0.14758e+00_rb,0.13180e+00_rb,0.11760e+00_rb,0.11720e+00_rb,0.11379e+00_rb, & & 0.11206e+00_rb,0.10856e+00_rb,0.11029e+00_rb,0.12093e+00_rb /) kao(:, 3, 1,10) = (/ & & 0.14691e+00_rb,0.13078e+00_rb,0.11629e+00_rb,0.11563e+00_rb,0.11248e+00_rb, & & 0.11149e+00_rb,0.10785e+00_rb,0.11040e+00_rb,0.12104e+00_rb /) kao(:, 4, 1,10) = (/ & & 0.14609e+00_rb,0.12985e+00_rb,0.11503e+00_rb,0.11426e+00_rb,0.11150e+00_rb, & & 0.11061e+00_rb,0.10739e+00_rb,0.11031e+00_rb,0.12092e+00_rb /) kao(:, 5, 1,10) = (/ & & 0.14529e+00_rb,0.12911e+00_rb,0.11448e+00_rb,0.11310e+00_rb,0.11058e+00_rb, & & 0.10959e+00_rb,0.10721e+00_rb,0.11007e+00_rb,0.12050e+00_rb /) kao(:, 1, 2,10) = (/ & & 0.14616e+00_rb,0.13131e+00_rb,0.12350e+00_rb,0.12510e+00_rb,0.11934e+00_rb, & & 0.11762e+00_rb,0.11417e+00_rb,0.11460e+00_rb,0.12626e+00_rb /) kao(:, 2, 2,10) = (/ & & 0.14607e+00_rb,0.13063e+00_rb,0.12202e+00_rb,0.12312e+00_rb,0.11789e+00_rb, & & 0.11742e+00_rb,0.11363e+00_rb,0.11470e+00_rb,0.12636e+00_rb /) kao(:, 3, 2,10) = (/ & & 0.14577e+00_rb,0.12991e+00_rb,0.12074e+00_rb,0.12132e+00_rb,0.11671e+00_rb, & & 0.11676e+00_rb,0.11334e+00_rb,0.11448e+00_rb,0.12602e+00_rb /) kao(:, 4, 2,10) = (/ & & 0.14549e+00_rb,0.12948e+00_rb,0.11982e+00_rb,0.11971e+00_rb,0.11561e+00_rb, & & 0.11583e+00_rb,0.11311e+00_rb,0.11380e+00_rb,0.12515e+00_rb /) kao(:, 5, 2,10) = (/ & & 0.14518e+00_rb,0.12921e+00_rb,0.11930e+00_rb,0.11856e+00_rb,0.11453e+00_rb, & & 0.11499e+00_rb,0.11278e+00_rb,0.11303e+00_rb,0.12425e+00_rb /) kao(:, 1, 3,10) = (/ & & 0.14318e+00_rb,0.12893e+00_rb,0.12918e+00_rb,0.12942e+00_rb,0.12491e+00_rb, & & 0.12238e+00_rb,0.11842e+00_rb,0.11706e+00_rb,0.12892e+00_rb /) kao(:, 2, 3,10) = (/ & & 0.14362e+00_rb,0.12877e+00_rb,0.12794e+00_rb,0.12738e+00_rb,0.12367e+00_rb, & & 0.12214e+00_rb,0.11818e+00_rb,0.11730e+00_rb,0.12892e+00_rb /) kao(:, 3, 3,10) = (/ & & 0.14392e+00_rb,0.12859e+00_rb,0.12673e+00_rb,0.12555e+00_rb,0.12238e+00_rb, & & 0.12154e+00_rb,0.11804e+00_rb,0.11693e+00_rb,0.12825e+00_rb /) kao(:, 4, 3,10) = (/ & & 0.14418e+00_rb,0.12858e+00_rb,0.12588e+00_rb,0.12406e+00_rb,0.12111e+00_rb, & & 0.12100e+00_rb,0.11768e+00_rb,0.11605e+00_rb,0.12723e+00_rb /) kao(:, 5, 3,10) = (/ & & 0.14433e+00_rb,0.12868e+00_rb,0.12520e+00_rb,0.12307e+00_rb,0.11981e+00_rb, & & 0.12050e+00_rb,0.11702e+00_rb,0.11519e+00_rb,0.12642e+00_rb /) kao(:, 1, 4,10) = (/ & & 0.13900e+00_rb,0.12627e+00_rb,0.13262e+00_rb,0.13246e+00_rb,0.13018e+00_rb, & & 0.12656e+00_rb,0.12207e+00_rb,0.11856e+00_rb,0.12927e+00_rb /) kao(:, 2, 4,10) = (/ & & 0.13981e+00_rb,0.12631e+00_rb,0.13168e+00_rb,0.13063e+00_rb,0.12928e+00_rb, & & 0.12634e+00_rb,0.12180e+00_rb,0.11842e+00_rb,0.12888e+00_rb /) kao(:, 3, 4,10) = (/ & & 0.14055e+00_rb,0.12635e+00_rb,0.13064e+00_rb,0.12886e+00_rb,0.12826e+00_rb, & & 0.12591e+00_rb,0.12147e+00_rb,0.11781e+00_rb,0.12798e+00_rb /) kao(:, 4, 4,10) = (/ & & 0.14115e+00_rb,0.12659e+00_rb,0.12979e+00_rb,0.12765e+00_rb,0.12712e+00_rb, & & 0.12539e+00_rb,0.12094e+00_rb,0.11686e+00_rb,0.12709e+00_rb /) kao(:, 5, 4,10) = (/ & & 0.14205e+00_rb,0.12716e+00_rb,0.12897e+00_rb,0.12678e+00_rb,0.12607e+00_rb, & & 0.12463e+00_rb,0.12022e+00_rb,0.11611e+00_rb,0.12648e+00_rb /) kao(:, 1, 5,10) = (/ & & 0.13267e+00_rb,0.12451e+00_rb,0.13264e+00_rb,0.13467e+00_rb,0.13410e+00_rb, & & 0.12976e+00_rb,0.12532e+00_rb,0.11842e+00_rb,0.12663e+00_rb /) kao(:, 2, 5,10) = (/ & & 0.13391e+00_rb,0.12448e+00_rb,0.13222e+00_rb,0.13349e+00_rb,0.13365e+00_rb, & & 0.12967e+00_rb,0.12478e+00_rb,0.11793e+00_rb,0.12610e+00_rb /) kao(:, 3, 5,10) = (/ & & 0.13513e+00_rb,0.12441e+00_rb,0.13150e+00_rb,0.13226e+00_rb,0.13285e+00_rb, & & 0.12935e+00_rb,0.12414e+00_rb,0.11714e+00_rb,0.12535e+00_rb /) kao(:, 4, 5,10) = (/ & & 0.13635e+00_rb,0.12468e+00_rb,0.13071e+00_rb,0.13132e+00_rb,0.13192e+00_rb, & & 0.12883e+00_rb,0.12325e+00_rb,0.11628e+00_rb,0.12465e+00_rb /) kao(:, 5, 5,10) = (/ & & 0.13765e+00_rb,0.12523e+00_rb,0.12989e+00_rb,0.13067e+00_rb,0.13104e+00_rb, & & 0.12778e+00_rb,0.12230e+00_rb,0.11574e+00_rb,0.12447e+00_rb /) kao(:, 1, 6,10) = (/ & & 0.12480e+00_rb,0.12304e+00_rb,0.13086e+00_rb,0.13535e+00_rb,0.13580e+00_rb, & & 0.13244e+00_rb,0.12684e+00_rb,0.11687e+00_rb,0.12150e+00_rb /) kao(:, 2, 6,10) = (/ & & 0.12631e+00_rb,0.12320e+00_rb,0.13089e+00_rb,0.13488e+00_rb,0.13591e+00_rb, & & 0.13240e+00_rb,0.12644e+00_rb,0.11610e+00_rb,0.12096e+00_rb /) kao(:, 3, 6,10) = (/ & & 0.12783e+00_rb,0.12334e+00_rb,0.13031e+00_rb,0.13415e+00_rb,0.13555e+00_rb, & & 0.13212e+00_rb,0.12571e+00_rb,0.11517e+00_rb,0.12033e+00_rb /) kao(:, 4, 6,10) = (/ & & 0.12946e+00_rb,0.12375e+00_rb,0.12962e+00_rb,0.13360e+00_rb,0.13480e+00_rb, & & 0.13147e+00_rb,0.12458e+00_rb,0.11440e+00_rb,0.12012e+00_rb /) kao(:, 5, 6,10) = (/ & & 0.13098e+00_rb,0.12424e+00_rb,0.12926e+00_rb,0.13328e+00_rb,0.13390e+00_rb, & & 0.13035e+00_rb,0.12352e+00_rb,0.11410e+00_rb,0.12034e+00_rb /) kao(:, 1, 7,10) = (/ & & 0.11587e+00_rb,0.11977e+00_rb,0.12827e+00_rb,0.13413e+00_rb,0.13637e+00_rb, & & 0.13338e+00_rb,0.12607e+00_rb,0.11369e+00_rb,0.11422e+00_rb /) kao(:, 2, 7,10) = (/ & & 0.11755e+00_rb,0.12008e+00_rb,0.12851e+00_rb,0.13433e+00_rb,0.13653e+00_rb, & & 0.13350e+00_rb,0.12579e+00_rb,0.11303e+00_rb,0.11384e+00_rb /) kao(:, 3, 7,10) = (/ & & 0.11925e+00_rb,0.12045e+00_rb,0.12827e+00_rb,0.13401e+00_rb,0.13627e+00_rb, & & 0.13335e+00_rb,0.12531e+00_rb,0.11227e+00_rb,0.11342e+00_rb /) kao(:, 4, 7,10) = (/ & & 0.12111e+00_rb,0.12107e+00_rb,0.12798e+00_rb,0.13385e+00_rb,0.13564e+00_rb, & & 0.13268e+00_rb,0.12424e+00_rb,0.11167e+00_rb,0.11355e+00_rb /) kao(:, 5, 7,10) = (/ & & 0.12285e+00_rb,0.12168e+00_rb,0.12798e+00_rb,0.13376e+00_rb,0.13482e+00_rb, & & 0.13151e+00_rb,0.12334e+00_rb,0.11149e+00_rb,0.11415e+00_rb /) kao(:, 1, 8,10) = (/ & & 0.10591e+00_rb,0.11393e+00_rb,0.12456e+00_rb,0.13177e+00_rb,0.13532e+00_rb, & & 0.13189e+00_rb,0.12388e+00_rb,0.10965e+00_rb,0.10563e+00_rb /) kao(:, 2, 8,10) = (/ & & 0.10784e+00_rb,0.11446e+00_rb,0.12497e+00_rb,0.13191e+00_rb,0.13527e+00_rb, & & 0.13206e+00_rb,0.12372e+00_rb,0.10901e+00_rb,0.10541e+00_rb /) kao(:, 3, 8,10) = (/ & & 0.10982e+00_rb,0.11499e+00_rb,0.12496e+00_rb,0.13190e+00_rb,0.13491e+00_rb, & & 0.13198e+00_rb,0.12329e+00_rb,0.10836e+00_rb,0.10528e+00_rb /) kao(:, 4, 8,10) = (/ & & 0.11183e+00_rb,0.11569e+00_rb,0.12499e+00_rb,0.13184e+00_rb,0.13435e+00_rb, & & 0.13149e+00_rb,0.12252e+00_rb,0.10787e+00_rb,0.10590e+00_rb /) kao(:, 5, 8,10) = (/ & & 0.11351e+00_rb,0.11638e+00_rb,0.12535e+00_rb,0.13176e+00_rb,0.13360e+00_rb, & & 0.13054e+00_rb,0.12191e+00_rb,0.10801e+00_rb,0.10661e+00_rb /) kao(:, 1, 9,10) = (/ & & 0.95227e-01_rb,0.10714e+00_rb,0.11944e+00_rb,0.12826e+00_rb,0.13131e+00_rb, & & 0.12801e+00_rb,0.11973e+00_rb,0.10506e+00_rb,0.96127e-01_rb /) kao(:, 2, 9,10) = (/ & & 0.97380e-01_rb,0.10792e+00_rb,0.12010e+00_rb,0.12848e+00_rb,0.13131e+00_rb, & & 0.12823e+00_rb,0.11988e+00_rb,0.10446e+00_rb,0.96013e-01_rb /) kao(:, 3, 9,10) = (/ & & 0.99589e-01_rb,0.10861e+00_rb,0.12043e+00_rb,0.12826e+00_rb,0.13099e+00_rb, & & 0.12821e+00_rb,0.11964e+00_rb,0.10385e+00_rb,0.96337e-01_rb /) kao(:, 4, 9,10) = (/ & & 0.10172e+00_rb,0.10937e+00_rb,0.12073e+00_rb,0.12822e+00_rb,0.13048e+00_rb, & & 0.12786e+00_rb,0.11915e+00_rb,0.10369e+00_rb,0.97324e-01_rb /) kao(:, 5, 9,10) = (/ & & 0.10340e+00_rb,0.11015e+00_rb,0.12136e+00_rb,0.12832e+00_rb,0.12998e+00_rb, & & 0.12724e+00_rb,0.11892e+00_rb,0.10410e+00_rb,0.97908e-01_rb /) kao(:, 1,10,10) = (/ & & 0.84549e-01_rb,0.10005e+00_rb,0.11370e+00_rb,0.12280e+00_rb,0.12503e+00_rb, & & 0.12157e+00_rb,0.11395e+00_rb,0.99558e-01_rb,0.78463e-01_rb /) kao(:, 2,10,10) = (/ & & 0.86895e-01_rb,0.10114e+00_rb,0.11438e+00_rb,0.12270e+00_rb,0.12494e+00_rb, & & 0.12211e+00_rb,0.11447e+00_rb,0.98932e-01_rb,0.78293e-01_rb /) kao(:, 3,10,10) = (/ & & 0.89280e-01_rb,0.10200e+00_rb,0.11501e+00_rb,0.12255e+00_rb,0.12466e+00_rb, & & 0.12232e+00_rb,0.11449e+00_rb,0.98490e-01_rb,0.78963e-01_rb /) kao(:, 4,10,10) = (/ & & 0.91373e-01_rb,0.10297e+00_rb,0.11555e+00_rb,0.12264e+00_rb,0.12433e+00_rb, & & 0.12211e+00_rb,0.11429e+00_rb,0.98808e-01_rb,0.79894e-01_rb /) kao(:, 5,10,10) = (/ & & 0.93116e-01_rb,0.10381e+00_rb,0.11616e+00_rb,0.12299e+00_rb,0.12420e+00_rb, & & 0.12176e+00_rb,0.11463e+00_rb,0.99400e-01_rb,0.79228e-01_rb /) kao(:, 1,11,10) = (/ & & 0.75544e-01_rb,0.93054e-01_rb,0.10724e+00_rb,0.11489e+00_rb,0.11666e+00_rb, & & 0.11411e+00_rb,0.10739e+00_rb,0.92708e-01_rb,0.54552e-01_rb /) kao(:, 2,11,10) = (/ & & 0.77908e-01_rb,0.94287e-01_rb,0.10808e+00_rb,0.11471e+00_rb,0.11661e+00_rb, & & 0.11478e+00_rb,0.10772e+00_rb,0.92504e-01_rb,0.54848e-01_rb /) kao(:, 3,11,10) = (/ & & 0.80077e-01_rb,0.95473e-01_rb,0.10868e+00_rb,0.11491e+00_rb,0.11655e+00_rb, & & 0.11482e+00_rb,0.10782e+00_rb,0.93001e-01_rb,0.55769e-01_rb /) kao(:, 4,11,10) = (/ & & 0.81960e-01_rb,0.96566e-01_rb,0.10943e+00_rb,0.11546e+00_rb,0.11672e+00_rb, & & 0.11473e+00_rb,0.10831e+00_rb,0.93879e-01_rb,0.57926e-01_rb /) kao(:, 5,11,10) = (/ & & 0.83450e-01_rb,0.97453e-01_rb,0.11008e+00_rb,0.11599e+00_rb,0.11716e+00_rb, & & 0.11515e+00_rb,0.10911e+00_rb,0.94288e-01_rb,0.57746e-01_rb /) kao(:, 1,12,10) = (/ & & 0.67513e-01_rb,0.86189e-01_rb,0.99369e-01_rb,0.10520e+00_rb,0.10724e+00_rb, & & 0.10586e+00_rb,0.99242e-01_rb,0.85556e-01_rb,0.53156e-01_rb /) kao(:, 2,12,10) = (/ & & 0.69613e-01_rb,0.87484e-01_rb,0.10007e+00_rb,0.10560e+00_rb,0.10749e+00_rb, & & 0.10614e+00_rb,0.99761e-01_rb,0.86270e-01_rb,0.51781e-01_rb /) kao(:, 3,12,10) = (/ & & 0.71469e-01_rb,0.88722e-01_rb,0.10094e+00_rb,0.10629e+00_rb,0.10784e+00_rb, & & 0.10630e+00_rb,0.10046e+00_rb,0.87349e-01_rb,0.51450e-01_rb /) kao(:, 4,12,10) = (/ & & 0.73024e-01_rb,0.89773e-01_rb,0.10183e+00_rb,0.10713e+00_rb,0.10860e+00_rb, & & 0.10686e+00_rb,0.10138e+00_rb,0.88130e-01_rb,0.52601e-01_rb /) kao(:, 5,12,10) = (/ & & 0.74303e-01_rb,0.90696e-01_rb,0.10259e+00_rb,0.10797e+00_rb,0.10971e+00_rb, & & 0.10792e+00_rb,0.10184e+00_rb,0.88445e-01_rb,0.51152e-01_rb /) kao(:, 1,13,10) = (/ & & 0.60529e-01_rb,0.79607e-01_rb,0.90318e-01_rb,0.95428e-01_rb,0.97408e-01_rb, & & 0.96227e-01_rb,0.90699e-01_rb,0.78779e-01_rb,0.52832e-01_rb /) kao(:, 2,13,10) = (/ & & 0.62276e-01_rb,0.80870e-01_rb,0.91247e-01_rb,0.96259e-01_rb,0.97934e-01_rb, & & 0.96714e-01_rb,0.91680e-01_rb,0.79941e-01_rb,0.52303e-01_rb /) kao(:, 3,13,10) = (/ & & 0.63790e-01_rb,0.81933e-01_rb,0.92274e-01_rb,0.97270e-01_rb,0.98880e-01_rb, & & 0.97553e-01_rb,0.92636e-01_rb,0.80918e-01_rb,0.51576e-01_rb /) kao(:, 4,13,10) = (/ & & 0.65028e-01_rb,0.82921e-01_rb,0.93287e-01_rb,0.98387e-01_rb,0.10023e+00_rb, & & 0.98785e-01_rb,0.93367e-01_rb,0.81491e-01_rb,0.53387e-01_rb /) kao(:, 5,13,10) = (/ & & 0.66150e-01_rb,0.83739e-01_rb,0.94354e-01_rb,0.99696e-01_rb,0.10169e+00_rb, & & 0.99901e-01_rb,0.93863e-01_rb,0.81907e-01_rb,0.52837e-01_rb /) kao(:, 1, 1,11) = (/ & & 0.20407e+00_rb,0.18071e+00_rb,0.16029e+00_rb,0.15138e+00_rb,0.14997e+00_rb, & & 0.13984e+00_rb,0.13275e+00_rb,0.14129e+00_rb,0.15399e+00_rb /) kao(:, 2, 1,11) = (/ & & 0.20135e+00_rb,0.17935e+00_rb,0.15932e+00_rb,0.15017e+00_rb,0.14962e+00_rb, & & 0.13862e+00_rb,0.13266e+00_rb,0.14117e+00_rb,0.15393e+00_rb /) kao(:, 3, 1,11) = (/ & & 0.19936e+00_rb,0.17801e+00_rb,0.15787e+00_rb,0.14825e+00_rb,0.14805e+00_rb, & & 0.13791e+00_rb,0.13257e+00_rb,0.14065e+00_rb,0.15357e+00_rb /) kao(:, 4, 1,11) = (/ & & 0.19744e+00_rb,0.17636e+00_rb,0.15587e+00_rb,0.14600e+00_rb,0.14568e+00_rb, & & 0.13759e+00_rb,0.13216e+00_rb,0.14003e+00_rb,0.15311e+00_rb /) kao(:, 5, 1,11) = (/ & & 0.19560e+00_rb,0.17445e+00_rb,0.15370e+00_rb,0.14366e+00_rb,0.14353e+00_rb, & & 0.13719e+00_rb,0.13142e+00_rb,0.13943e+00_rb,0.15271e+00_rb /) kao(:, 1, 2,11) = (/ & & 0.21063e+00_rb,0.18653e+00_rb,0.16583e+00_rb,0.16261e+00_rb,0.15745e+00_rb, & & 0.14703e+00_rb,0.14143e+00_rb,0.14831e+00_rb,0.16307e+00_rb /) kao(:, 2, 2,11) = (/ & & 0.20807e+00_rb,0.18515e+00_rb,0.16450e+00_rb,0.16174e+00_rb,0.15680e+00_rb, & & 0.14604e+00_rb,0.14115e+00_rb,0.14798e+00_rb,0.16304e+00_rb /) kao(:, 3, 2,11) = (/ & & 0.20581e+00_rb,0.18338e+00_rb,0.16244e+00_rb,0.15978e+00_rb,0.15520e+00_rb, & & 0.14566e+00_rb,0.14067e+00_rb,0.14768e+00_rb,0.16312e+00_rb /) kao(:, 4, 2,11) = (/ & & 0.20347e+00_rb,0.18119e+00_rb,0.16010e+00_rb,0.15745e+00_rb,0.15333e+00_rb, & & 0.14529e+00_rb,0.14007e+00_rb,0.14753e+00_rb,0.16343e+00_rb /) kao(:, 5, 2,11) = (/ & & 0.20115e+00_rb,0.17885e+00_rb,0.15773e+00_rb,0.15483e+00_rb,0.15150e+00_rb, & & 0.14453e+00_rb,0.13948e+00_rb,0.14731e+00_rb,0.16359e+00_rb /) kao(:, 1, 3,11) = (/ & & 0.21616e+00_rb,0.19157e+00_rb,0.17353e+00_rb,0.17142e+00_rb,0.16301e+00_rb, & & 0.15566e+00_rb,0.14998e+00_rb,0.15514e+00_rb,0.17145e+00_rb /) kao(:, 2, 3,11) = (/ & & 0.21408e+00_rb,0.19026e+00_rb,0.17182e+00_rb,0.17122e+00_rb,0.16252e+00_rb, & & 0.15476e+00_rb,0.14939e+00_rb,0.15448e+00_rb,0.17139e+00_rb /) kao(:, 3, 3,11) = (/ & & 0.21163e+00_rb,0.18824e+00_rb,0.16950e+00_rb,0.16996e+00_rb,0.16151e+00_rb, & & 0.15419e+00_rb,0.14882e+00_rb,0.15406e+00_rb,0.17163e+00_rb /) kao(:, 4, 3,11) = (/ & & 0.20914e+00_rb,0.18593e+00_rb,0.16692e+00_rb,0.16757e+00_rb,0.16029e+00_rb, & & 0.15344e+00_rb,0.14837e+00_rb,0.15392e+00_rb,0.17198e+00_rb /) kao(:, 5, 3,11) = (/ & & 0.20701e+00_rb,0.18381e+00_rb,0.16453e+00_rb,0.16472e+00_rb,0.15897e+00_rb, & & 0.15236e+00_rb,0.14801e+00_rb,0.15351e+00_rb,0.17179e+00_rb /) kao(:, 1, 4,11) = (/ & & 0.21862e+00_rb,0.19379e+00_rb,0.18221e+00_rb,0.17807e+00_rb,0.16954e+00_rb, & & 0.16407e+00_rb,0.15829e+00_rb,0.16056e+00_rb,0.17755e+00_rb /) kao(:, 2, 4,11) = (/ & & 0.21705e+00_rb,0.19285e+00_rb,0.18086e+00_rb,0.17812e+00_rb,0.16909e+00_rb, & & 0.16313e+00_rb,0.15767e+00_rb,0.16003e+00_rb,0.17784e+00_rb /) kao(:, 3, 4,11) = (/ & & 0.21534e+00_rb,0.19129e+00_rb,0.17879e+00_rb,0.17719e+00_rb,0.16821e+00_rb, & & 0.16252e+00_rb,0.15706e+00_rb,0.15944e+00_rb,0.17796e+00_rb /) kao(:, 4, 4,11) = (/ & & 0.21357e+00_rb,0.18961e+00_rb,0.17644e+00_rb,0.17503e+00_rb,0.16720e+00_rb, & & 0.16179e+00_rb,0.15644e+00_rb,0.15869e+00_rb,0.17755e+00_rb /) kao(:, 5, 4,11) = (/ & & 0.21192e+00_rb,0.18796e+00_rb,0.17436e+00_rb,0.17237e+00_rb,0.16599e+00_rb, & & 0.16096e+00_rb,0.15564e+00_rb,0.15746e+00_rb,0.17656e+00_rb /) kao(:, 1, 5,11) = (/ & & 0.21793e+00_rb,0.19325e+00_rb,0.18965e+00_rb,0.18402e+00_rb,0.17692e+00_rb, & & 0.17250e+00_rb,0.16494e+00_rb,0.16474e+00_rb,0.18189e+00_rb /) kao(:, 2, 5,11) = (/ & & 0.21706e+00_rb,0.19287e+00_rb,0.18835e+00_rb,0.18355e+00_rb,0.17627e+00_rb, & & 0.17161e+00_rb,0.16474e+00_rb,0.16398e+00_rb,0.18195e+00_rb /) kao(:, 3, 5,11) = (/ & & 0.21612e+00_rb,0.19181e+00_rb,0.18687e+00_rb,0.18213e+00_rb,0.17553e+00_rb, & & 0.17088e+00_rb,0.16425e+00_rb,0.16313e+00_rb,0.18152e+00_rb /) kao(:, 4, 5,11) = (/ & & 0.21478e+00_rb,0.19045e+00_rb,0.18500e+00_rb,0.18018e+00_rb,0.17440e+00_rb, & & 0.16996e+00_rb,0.16342e+00_rb,0.16188e+00_rb,0.18054e+00_rb /) kao(:, 5, 5,11) = (/ & & 0.21350e+00_rb,0.18909e+00_rb,0.18333e+00_rb,0.17782e+00_rb,0.17309e+00_rb, & & 0.16916e+00_rb,0.16213e+00_rb,0.16034e+00_rb,0.17917e+00_rb /) kao(:, 1, 6,11) = (/ & & 0.21342e+00_rb,0.19093e+00_rb,0.19390e+00_rb,0.18953e+00_rb,0.18412e+00_rb, & & 0.17932e+00_rb,0.17133e+00_rb,0.16726e+00_rb,0.18355e+00_rb /) kao(:, 2, 6,11) = (/ & & 0.21345e+00_rb,0.19062e+00_rb,0.19295e+00_rb,0.18836e+00_rb,0.18309e+00_rb, & & 0.17848e+00_rb,0.17069e+00_rb,0.16650e+00_rb,0.18323e+00_rb /) kao(:, 3, 6,11) = (/ & & 0.21341e+00_rb,0.18999e+00_rb,0.19180e+00_rb,0.18672e+00_rb,0.18231e+00_rb, & & 0.17805e+00_rb,0.16996e+00_rb,0.16523e+00_rb,0.18230e+00_rb /) kao(:, 4, 6,11) = (/ & & 0.21278e+00_rb,0.18888e+00_rb,0.19035e+00_rb,0.18488e+00_rb,0.18150e+00_rb, & & 0.17740e+00_rb,0.16888e+00_rb,0.16361e+00_rb,0.18086e+00_rb /) kao(:, 5, 6,11) = (/ & & 0.21199e+00_rb,0.18788e+00_rb,0.18853e+00_rb,0.18312e+00_rb,0.18053e+00_rb, & & 0.17647e+00_rb,0.16753e+00_rb,0.16185e+00_rb,0.17942e+00_rb /) kao(:, 1, 7,11) = (/ & & 0.20554e+00_rb,0.18880e+00_rb,0.19483e+00_rb,0.19351e+00_rb,0.18975e+00_rb, & & 0.18476e+00_rb,0.17703e+00_rb,0.16712e+00_rb,0.18079e+00_rb /) kao(:, 2, 7,11) = (/ & & 0.20652e+00_rb,0.18855e+00_rb,0.19393e+00_rb,0.19243e+00_rb,0.18938e+00_rb, & & 0.18427e+00_rb,0.17598e+00_rb,0.16627e+00_rb,0.18028e+00_rb /) kao(:, 3, 7,11) = (/ & & 0.20722e+00_rb,0.18798e+00_rb,0.19279e+00_rb,0.19112e+00_rb,0.18883e+00_rb, & & 0.18376e+00_rb,0.17458e+00_rb,0.16493e+00_rb,0.17920e+00_rb /) kao(:, 4, 7,11) = (/ & & 0.20704e+00_rb,0.18700e+00_rb,0.19152e+00_rb,0.18972e+00_rb,0.18818e+00_rb, & & 0.18325e+00_rb,0.17326e+00_rb,0.16331e+00_rb,0.17789e+00_rb /) kao(:, 5, 7,11) = (/ & & 0.20670e+00_rb,0.18595e+00_rb,0.18990e+00_rb,0.18822e+00_rb,0.18756e+00_rb, & & 0.18244e+00_rb,0.17179e+00_rb,0.16146e+00_rb,0.17654e+00_rb /) kao(:, 1, 8,11) = (/ & & 0.19482e+00_rb,0.18644e+00_rb,0.19372e+00_rb,0.19534e+00_rb,0.19341e+00_rb, & & 0.18978e+00_rb,0.17991e+00_rb,0.16480e+00_rb,0.17385e+00_rb /) kao(:, 2, 8,11) = (/ & & 0.19645e+00_rb,0.18662e+00_rb,0.19286e+00_rb,0.19499e+00_rb,0.19364e+00_rb, & & 0.18939e+00_rb,0.17872e+00_rb,0.16377e+00_rb,0.17323e+00_rb /) kao(:, 3, 8,11) = (/ & & 0.19752e+00_rb,0.18632e+00_rb,0.19176e+00_rb,0.19416e+00_rb,0.19361e+00_rb, & & 0.18898e+00_rb,0.17730e+00_rb,0.16248e+00_rb,0.17231e+00_rb /) kao(:, 4, 8,11) = (/ & & 0.19786e+00_rb,0.18535e+00_rb,0.19058e+00_rb,0.19340e+00_rb,0.19352e+00_rb, & & 0.18844e+00_rb,0.17582e+00_rb,0.16092e+00_rb,0.17110e+00_rb /) kao(:, 5, 8,11) = (/ & & 0.19827e+00_rb,0.18472e+00_rb,0.18922e+00_rb,0.19254e+00_rb,0.19302e+00_rb, & & 0.18739e+00_rb,0.17431e+00_rb,0.15936e+00_rb,0.17034e+00_rb /) kao(:, 1, 9,11) = (/ & & 0.18199e+00_rb,0.18200e+00_rb,0.19084e+00_rb,0.19456e+00_rb,0.19545e+00_rb, & & 0.19216e+00_rb,0.18018e+00_rb,0.16033e+00_rb,0.16333e+00_rb /) kao(:, 2, 9,11) = (/ & & 0.18402e+00_rb,0.18227e+00_rb,0.19032e+00_rb,0.19515e+00_rb,0.19643e+00_rb, & & 0.19212e+00_rb,0.17883e+00_rb,0.15954e+00_rb,0.16306e+00_rb /) kao(:, 3, 9,11) = (/ & & 0.18527e+00_rb,0.18204e+00_rb,0.18956e+00_rb,0.19541e+00_rb,0.19690e+00_rb, & & 0.19201e+00_rb,0.17754e+00_rb,0.15865e+00_rb,0.16240e+00_rb /) kao(:, 4, 9,11) = (/ & & 0.18597e+00_rb,0.18146e+00_rb,0.18866e+00_rb,0.19510e+00_rb,0.19689e+00_rb, & & 0.19145e+00_rb,0.17626e+00_rb,0.15729e+00_rb,0.16157e+00_rb /) kao(:, 5, 9,11) = (/ & & 0.18701e+00_rb,0.18150e+00_rb,0.18776e+00_rb,0.19449e+00_rb,0.19637e+00_rb, & & 0.19035e+00_rb,0.17490e+00_rb,0.15605e+00_rb,0.16154e+00_rb /) kao(:, 1,10,11) = (/ & & 0.16786e+00_rb,0.17459e+00_rb,0.18572e+00_rb,0.19196e+00_rb,0.19497e+00_rb, & & 0.19093e+00_rb,0.17775e+00_rb,0.15445e+00_rb,0.12845e+00_rb /) kao(:, 2,10,11) = (/ & & 0.16990e+00_rb,0.17470e+00_rb,0.18604e+00_rb,0.19354e+00_rb,0.19670e+00_rb, & & 0.19124e+00_rb,0.17643e+00_rb,0.15415e+00_rb,0.12953e+00_rb /) kao(:, 3,10,11) = (/ & & 0.17115e+00_rb,0.17447e+00_rb,0.18577e+00_rb,0.19420e+00_rb,0.19734e+00_rb, & & 0.19133e+00_rb,0.17544e+00_rb,0.15343e+00_rb,0.13019e+00_rb /) kao(:, 4,10,11) = (/ & & 0.17256e+00_rb,0.17421e+00_rb,0.18540e+00_rb,0.19426e+00_rb,0.19741e+00_rb, & & 0.19105e+00_rb,0.17463e+00_rb,0.15245e+00_rb,0.13135e+00_rb /) kao(:, 5,10,11) = (/ & & 0.17411e+00_rb,0.17469e+00_rb,0.18532e+00_rb,0.19400e+00_rb,0.19690e+00_rb, & & 0.19024e+00_rb,0.17373e+00_rb,0.15177e+00_rb,0.13443e+00_rb /) kao(:, 1,11,11) = (/ & & 0.15326e+00_rb,0.16530e+00_rb,0.17933e+00_rb,0.18873e+00_rb,0.19204e+00_rb, & & 0.18645e+00_rb,0.17157e+00_rb,0.14842e+00_rb,0.10906e+00_rb /) kao(:, 2,11,11) = (/ & & 0.15510e+00_rb,0.16508e+00_rb,0.18002e+00_rb,0.19054e+00_rb,0.19337e+00_rb, & & 0.18697e+00_rb,0.17132e+00_rb,0.14823e+00_rb,0.10821e+00_rb /) kao(:, 3,11,11) = (/ & & 0.15695e+00_rb,0.16517e+00_rb,0.18033e+00_rb,0.19125e+00_rb,0.19395e+00_rb, & & 0.18719e+00_rb,0.17114e+00_rb,0.14748e+00_rb,0.10735e+00_rb /) kao(:, 4,11,11) = (/ & & 0.15884e+00_rb,0.16584e+00_rb,0.18066e+00_rb,0.19107e+00_rb,0.19386e+00_rb, & & 0.18714e+00_rb,0.17083e+00_rb,0.14679e+00_rb,0.10767e+00_rb /) kao(:, 5,11,11) = (/ & & 0.16065e+00_rb,0.16693e+00_rb,0.18136e+00_rb,0.19090e+00_rb,0.19313e+00_rb, & & 0.18652e+00_rb,0.17043e+00_rb,0.14693e+00_rb,0.10852e+00_rb /) kao(:, 1,12,11) = (/ & & 0.13812e+00_rb,0.15482e+00_rb,0.17200e+00_rb,0.18322e+00_rb,0.18516e+00_rb, & & 0.17855e+00_rb,0.16404e+00_rb,0.14149e+00_rb,0.85521e-01_rb /) kao(:, 2,12,11) = (/ & & 0.14024e+00_rb,0.15523e+00_rb,0.17295e+00_rb,0.18464e+00_rb,0.18616e+00_rb, & & 0.17947e+00_rb,0.16474e+00_rb,0.14107e+00_rb,0.84251e-01_rb /) kao(:, 3,12,11) = (/ & & 0.14232e+00_rb,0.15625e+00_rb,0.17374e+00_rb,0.18482e+00_rb,0.18666e+00_rb, & & 0.18015e+00_rb,0.16507e+00_rb,0.14067e+00_rb,0.83221e-01_rb /) kao(:, 4,12,11) = (/ & & 0.14452e+00_rb,0.15760e+00_rb,0.17483e+00_rb,0.18482e+00_rb,0.18644e+00_rb, & & 0.18031e+00_rb,0.16530e+00_rb,0.14085e+00_rb,0.83052e-01_rb /) kao(:, 5,12,11) = (/ & & 0.14659e+00_rb,0.15898e+00_rb,0.17608e+00_rb,0.18496e+00_rb,0.18608e+00_rb, & & 0.18007e+00_rb,0.16596e+00_rb,0.14156e+00_rb,0.86150e-01_rb /) kao(:, 1,13,11) = (/ & & 0.12335e+00_rb,0.14397e+00_rb,0.16332e+00_rb,0.17403e+00_rb,0.17485e+00_rb, & & 0.16858e+00_rb,0.15532e+00_rb,0.13315e+00_rb,0.86982e-01_rb /) kao(:, 2,13,11) = (/ & & 0.12553e+00_rb,0.14531e+00_rb,0.16473e+00_rb,0.17477e+00_rb,0.17593e+00_rb, & & 0.16998e+00_rb,0.15639e+00_rb,0.13322e+00_rb,0.83311e-01_rb /) kao(:, 3,13,11) = (/ & & 0.12788e+00_rb,0.14705e+00_rb,0.16612e+00_rb,0.17511e+00_rb,0.17644e+00_rb, & & 0.17090e+00_rb,0.15730e+00_rb,0.13374e+00_rb,0.80969e-01_rb /) kao(:, 4,13,11) = (/ & & 0.13027e+00_rb,0.14889e+00_rb,0.16746e+00_rb,0.17569e+00_rb,0.17660e+00_rb, & & 0.17136e+00_rb,0.15852e+00_rb,0.13468e+00_rb,0.79671e-01_rb /) kao(:, 5,13,11) = (/ & & 0.13255e+00_rb,0.15069e+00_rb,0.16867e+00_rb,0.17661e+00_rb,0.17696e+00_rb, & & 0.17204e+00_rb,0.15992e+00_rb,0.13520e+00_rb,0.81334e-01_rb /) kao(:, 1, 1,12) = (/ & & 0.28721e+00_rb,0.25323e+00_rb,0.21917e+00_rb,0.19050e+00_rb,0.18439e+00_rb, & & 0.17842e+00_rb,0.17156e+00_rb,0.18245e+00_rb,0.20075e+00_rb /) kao(:, 2, 1,12) = (/ & & 0.28561e+00_rb,0.25177e+00_rb,0.21845e+00_rb,0.19052e+00_rb,0.18309e+00_rb, & & 0.17638e+00_rb,0.16966e+00_rb,0.18096e+00_rb,0.19965e+00_rb /) kao(:, 3, 1,12) = (/ & & 0.28230e+00_rb,0.24910e+00_rb,0.21697e+00_rb,0.19014e+00_rb,0.18233e+00_rb, & & 0.17414e+00_rb,0.16821e+00_rb,0.18034e+00_rb,0.19910e+00_rb /) kao(:, 4, 1,12) = (/ & & 0.27834e+00_rb,0.24592e+00_rb,0.21540e+00_rb,0.18935e+00_rb,0.18163e+00_rb, & & 0.17186e+00_rb,0.16739e+00_rb,0.18033e+00_rb,0.19922e+00_rb /) kao(:, 5, 1,12) = (/ & & 0.27434e+00_rb,0.24303e+00_rb,0.21391e+00_rb,0.18803e+00_rb,0.18019e+00_rb, & & 0.17025e+00_rb,0.16693e+00_rb,0.18042e+00_rb,0.19937e+00_rb /) kao(:, 1, 2,12) = (/ & & 0.29623e+00_rb,0.26097e+00_rb,0.22609e+00_rb,0.20293e+00_rb,0.20182e+00_rb, & & 0.19085e+00_rb,0.18240e+00_rb,0.19397e+00_rb,0.21604e+00_rb /) kao(:, 2, 2,12) = (/ & & 0.29432e+00_rb,0.25931e+00_rb,0.22539e+00_rb,0.20142e+00_rb,0.20026e+00_rb, & & 0.18828e+00_rb,0.18057e+00_rb,0.19299e+00_rb,0.21521e+00_rb /) kao(:, 3, 2,12) = (/ & & 0.29132e+00_rb,0.25712e+00_rb,0.22457e+00_rb,0.20070e+00_rb,0.19917e+00_rb, & & 0.18573e+00_rb,0.17946e+00_rb,0.19254e+00_rb,0.21482e+00_rb /) kao(:, 4, 2,12) = (/ & & 0.28797e+00_rb,0.25474e+00_rb,0.22345e+00_rb,0.19986e+00_rb,0.19780e+00_rb, & & 0.18370e+00_rb,0.17875e+00_rb,0.19238e+00_rb,0.21459e+00_rb /) kao(:, 5, 2,12) = (/ & & 0.28466e+00_rb,0.25242e+00_rb,0.22205e+00_rb,0.19838e+00_rb,0.19562e+00_rb, & & 0.18242e+00_rb,0.17806e+00_rb,0.19203e+00_rb,0.21421e+00_rb /) kao(:, 1, 3,12) = (/ & & 0.30561e+00_rb,0.26889e+00_rb,0.23295e+00_rb,0.21956e+00_rb,0.21717e+00_rb, & & 0.20307e+00_rb,0.19524e+00_rb,0.20742e+00_rb,0.23388e+00_rb /) kao(:, 2, 3,12) = (/ & & 0.30324e+00_rb,0.26704e+00_rb,0.23237e+00_rb,0.21738e+00_rb,0.21493e+00_rb, & & 0.20036e+00_rb,0.19375e+00_rb,0.20659e+00_rb,0.23304e+00_rb /) kao(:, 3, 3,12) = (/ & & 0.30058e+00_rb,0.26531e+00_rb,0.23190e+00_rb,0.21598e+00_rb,0.21300e+00_rb, & & 0.19790e+00_rb,0.19244e+00_rb,0.20627e+00_rb,0.23259e+00_rb /) kao(:, 4, 3,12) = (/ & & 0.29826e+00_rb,0.26386e+00_rb,0.23125e+00_rb,0.21516e+00_rb,0.21099e+00_rb, & & 0.19626e+00_rb,0.19135e+00_rb,0.20570e+00_rb,0.23176e+00_rb /) kao(:, 5, 3,12) = (/ & & 0.29569e+00_rb,0.26204e+00_rb,0.22972e+00_rb,0.21357e+00_rb,0.20846e+00_rb, & & 0.19500e+00_rb,0.19003e+00_rb,0.20504e+00_rb,0.23084e+00_rb /) kao(:, 1, 4,12) = (/ & & 0.31580e+00_rb,0.27765e+00_rb,0.24256e+00_rb,0.23825e+00_rb,0.23010e+00_rb, & & 0.21605e+00_rb,0.20908e+00_rb,0.22073e+00_rb,0.25027e+00_rb /) kao(:, 2, 4,12) = (/ & & 0.31385e+00_rb,0.27619e+00_rb,0.24143e+00_rb,0.23561e+00_rb,0.22732e+00_rb, & & 0.21355e+00_rb,0.20732e+00_rb,0.21997e+00_rb,0.24945e+00_rb /) kao(:, 3, 4,12) = (/ & & 0.31115e+00_rb,0.27450e+00_rb,0.24049e+00_rb,0.23383e+00_rb,0.22480e+00_rb, & & 0.21136e+00_rb,0.20583e+00_rb,0.21971e+00_rb,0.24898e+00_rb /) kao(:, 4, 4,12) = (/ & & 0.30851e+00_rb,0.27268e+00_rb,0.23896e+00_rb,0.23220e+00_rb,0.22243e+00_rb, & & 0.20992e+00_rb,0.20459e+00_rb,0.21945e+00_rb,0.24850e+00_rb /) kao(:, 5, 4,12) = (/ & & 0.30578e+00_rb,0.27071e+00_rb,0.23717e+00_rb,0.23033e+00_rb,0.22018e+00_rb, & & 0.20870e+00_rb,0.20353e+00_rb,0.21927e+00_rb,0.24814e+00_rb /) kao(:, 1, 5,12) = (/ & & 0.32525e+00_rb,0.28587e+00_rb,0.25583e+00_rb,0.25377e+00_rb,0.24260e+00_rb, & & 0.22945e+00_rb,0.22249e+00_rb,0.23280e+00_rb,0.26422e+00_rb /) kao(:, 2, 5,12) = (/ & & 0.32339e+00_rb,0.28450e+00_rb,0.25406e+00_rb,0.25143e+00_rb,0.23950e+00_rb, & & 0.22738e+00_rb,0.22044e+00_rb,0.23211e+00_rb,0.26348e+00_rb /) kao(:, 3, 5,12) = (/ & & 0.32075e+00_rb,0.28298e+00_rb,0.25200e+00_rb,0.24974e+00_rb,0.23665e+00_rb, & & 0.22565e+00_rb,0.21882e+00_rb,0.23178e+00_rb,0.26317e+00_rb /) kao(:, 4, 5,12) = (/ & & 0.31838e+00_rb,0.28134e+00_rb,0.24992e+00_rb,0.24807e+00_rb,0.23442e+00_rb, & & 0.22435e+00_rb,0.21780e+00_rb,0.23180e+00_rb,0.26307e+00_rb /) kao(:, 5, 5,12) = (/ & & 0.31581e+00_rb,0.27952e+00_rb,0.24774e+00_rb,0.24618e+00_rb,0.23239e+00_rb, & & 0.22315e+00_rb,0.21723e+00_rb,0.23168e+00_rb,0.26269e+00_rb /) kao(:, 1, 6,12) = (/ & & 0.33335e+00_rb,0.29286e+00_rb,0.27107e+00_rb,0.26707e+00_rb,0.25627e+00_rb, & & 0.24388e+00_rb,0.23516e+00_rb,0.24254e+00_rb,0.27495e+00_rb /) kao(:, 2, 6,12) = (/ & & 0.33185e+00_rb,0.29196e+00_rb,0.26927e+00_rb,0.26528e+00_rb,0.25338e+00_rb, & & 0.24199e+00_rb,0.23321e+00_rb,0.24178e+00_rb,0.27452e+00_rb /) kao(:, 3, 6,12) = (/ & & 0.32960e+00_rb,0.29070e+00_rb,0.26757e+00_rb,0.26387e+00_rb,0.25062e+00_rb, & & 0.24015e+00_rb,0.23158e+00_rb,0.24188e+00_rb,0.27485e+00_rb /) kao(:, 4, 6,12) = (/ & & 0.32714e+00_rb,0.28920e+00_rb,0.26543e+00_rb,0.26229e+00_rb,0.24828e+00_rb, & & 0.23863e+00_rb,0.23085e+00_rb,0.24191e+00_rb,0.27476e+00_rb /) kao(:, 5, 6,12) = (/ & & 0.32443e+00_rb,0.28722e+00_rb,0.26300e+00_rb,0.25993e+00_rb,0.24627e+00_rb, & & 0.23716e+00_rb,0.23011e+00_rb,0.24150e+00_rb,0.27410e+00_rb /) kao(:, 1, 7,12) = (/ & & 0.33805e+00_rb,0.29686e+00_rb,0.28577e+00_rb,0.27897e+00_rb,0.26998e+00_rb, & & 0.25892e+00_rb,0.24589e+00_rb,0.25046e+00_rb,0.28292e+00_rb /) kao(:, 2, 7,12) = (/ & & 0.33717e+00_rb,0.29673e+00_rb,0.28505e+00_rb,0.27748e+00_rb,0.26727e+00_rb, & & 0.25668e+00_rb,0.24439e+00_rb,0.24991e+00_rb,0.28315e+00_rb /) kao(:, 3, 7,12) = (/ & & 0.33582e+00_rb,0.29639e+00_rb,0.28414e+00_rb,0.27664e+00_rb,0.26503e+00_rb, & & 0.25454e+00_rb,0.24355e+00_rb,0.24982e+00_rb,0.28339e+00_rb /) kao(:, 4, 7,12) = (/ & & 0.33418e+00_rb,0.29565e+00_rb,0.28243e+00_rb,0.27502e+00_rb,0.26319e+00_rb, & & 0.25262e+00_rb,0.24314e+00_rb,0.24937e+00_rb,0.28297e+00_rb /) kao(:, 5, 7,12) = (/ & & 0.33223e+00_rb,0.29432e+00_rb,0.28036e+00_rb,0.27276e+00_rb,0.26126e+00_rb, & & 0.25114e+00_rb,0.24223e+00_rb,0.24874e+00_rb,0.28224e+00_rb /) kao(:, 1, 8,12) = (/ & & 0.33811e+00_rb,0.29881e+00_rb,0.29770e+00_rb,0.29087e+00_rb,0.28271e+00_rb, & & 0.27088e+00_rb,0.25606e+00_rb,0.25702e+00_rb,0.28869e+00_rb /) kao(:, 2, 8,12) = (/ & & 0.33858e+00_rb,0.29933e+00_rb,0.29817e+00_rb,0.28968e+00_rb,0.28063e+00_rb, & & 0.26913e+00_rb,0.25508e+00_rb,0.25647e+00_rb,0.28886e+00_rb /) kao(:, 3, 8,12) = (/ & & 0.33853e+00_rb,0.29979e+00_rb,0.29803e+00_rb,0.28900e+00_rb,0.27895e+00_rb, & & 0.26698e+00_rb,0.25454e+00_rb,0.25561e+00_rb,0.28857e+00_rb /) kao(:, 4, 8,12) = (/ & & 0.33786e+00_rb,0.29958e+00_rb,0.29705e+00_rb,0.28721e+00_rb,0.27754e+00_rb, & & 0.26522e+00_rb,0.25386e+00_rb,0.25480e+00_rb,0.28812e+00_rb /) kao(:, 5, 8,12) = (/ & & 0.33672e+00_rb,0.29874e+00_rb,0.29538e+00_rb,0.28492e+00_rb,0.27593e+00_rb, & & 0.26422e+00_rb,0.25288e+00_rb,0.25337e+00_rb,0.28657e+00_rb /) kao(:, 1, 9,12) = (/ & & 0.33304e+00_rb,0.29965e+00_rb,0.30451e+00_rb,0.30108e+00_rb,0.29380e+00_rb, & & 0.28100e+00_rb,0.26620e+00_rb,0.26062e+00_rb,0.28923e+00_rb /) kao(:, 2, 9,12) = (/ & & 0.33493e+00_rb,0.30099e+00_rb,0.30590e+00_rb,0.30051e+00_rb,0.29241e+00_rb, & & 0.27971e+00_rb,0.26553e+00_rb,0.25927e+00_rb,0.28890e+00_rb /) kao(:, 3, 9,12) = (/ & & 0.33639e+00_rb,0.30210e+00_rb,0.30672e+00_rb,0.29976e+00_rb,0.29135e+00_rb, & & 0.27789e+00_rb,0.26459e+00_rb,0.25779e+00_rb,0.28847e+00_rb /) kao(:, 4, 9,12) = (/ & & 0.33691e+00_rb,0.30238e+00_rb,0.30636e+00_rb,0.29831e+00_rb,0.29055e+00_rb, & & 0.27684e+00_rb,0.26372e+00_rb,0.25629e+00_rb,0.28756e+00_rb /) kao(:, 5, 9,12) = (/ & & 0.33680e+00_rb,0.30184e+00_rb,0.30474e+00_rb,0.29664e+00_rb,0.28906e+00_rb, & & 0.27593e+00_rb,0.26250e+00_rb,0.25436e+00_rb,0.28576e+00_rb /) kao(:, 1,10,12) = (/ & & 0.32265e+00_rb,0.29931e+00_rb,0.30809e+00_rb,0.30788e+00_rb,0.30155e+00_rb, & & 0.29032e+00_rb,0.27398e+00_rb,0.25958e+00_rb,0.28232e+00_rb /) kao(:, 2,10,12) = (/ & & 0.32643e+00_rb,0.30217e+00_rb,0.30992e+00_rb,0.30804e+00_rb,0.30109e+00_rb, & & 0.28947e+00_rb,0.27364e+00_rb,0.25761e+00_rb,0.28165e+00_rb /) kao(:, 3,10,12) = (/ & & 0.32903e+00_rb,0.30409e+00_rb,0.31077e+00_rb,0.30846e+00_rb,0.30095e+00_rb, & & 0.28833e+00_rb,0.27259e+00_rb,0.25601e+00_rb,0.28124e+00_rb /) kao(:, 4,10,12) = (/ & & 0.33021e+00_rb,0.30472e+00_rb,0.31062e+00_rb,0.30777e+00_rb,0.30050e+00_rb, & & 0.28725e+00_rb,0.27132e+00_rb,0.25418e+00_rb,0.28034e+00_rb /) kao(:, 5,10,12) = (/ & & 0.33035e+00_rb,0.30379e+00_rb,0.30948e+00_rb,0.30647e+00_rb,0.29984e+00_rb, & & 0.28648e+00_rb,0.26959e+00_rb,0.25216e+00_rb,0.27891e+00_rb /) kao(:, 1,11,12) = (/ & & 0.31092e+00_rb,0.29828e+00_rb,0.30944e+00_rb,0.31067e+00_rb,0.30618e+00_rb, & & 0.29698e+00_rb,0.27822e+00_rb,0.25367e+00_rb,0.20521e+00_rb /) kao(:, 2,11,12) = (/ & & 0.31508e+00_rb,0.30179e+00_rb,0.31084e+00_rb,0.31247e+00_rb,0.30712e+00_rb, & & 0.29665e+00_rb,0.27717e+00_rb,0.25137e+00_rb,0.20791e+00_rb /) kao(:, 3,11,12) = (/ & & 0.31745e+00_rb,0.30351e+00_rb,0.31148e+00_rb,0.31329e+00_rb,0.30764e+00_rb, & & 0.29592e+00_rb,0.27601e+00_rb,0.24946e+00_rb,0.21041e+00_rb /) kao(:, 4,11,12) = (/ & & 0.31864e+00_rb,0.30345e+00_rb,0.31137e+00_rb,0.31328e+00_rb,0.30818e+00_rb, & & 0.29525e+00_rb,0.27444e+00_rb,0.24795e+00_rb,0.21312e+00_rb /) kao(:, 5,11,12) = (/ & & 0.31936e+00_rb,0.30268e+00_rb,0.31034e+00_rb,0.31260e+00_rb,0.30827e+00_rb, & & 0.29465e+00_rb,0.27259e+00_rb,0.24615e+00_rb,0.21621e+00_rb /) kao(:, 1,12,12) = (/ & & 0.29534e+00_rb,0.29381e+00_rb,0.30706e+00_rb,0.31081e+00_rb,0.30893e+00_rb, & & 0.29961e+00_rb,0.27811e+00_rb,0.24533e+00_rb,0.16496e+00_rb /) kao(:, 2,12,12) = (/ & & 0.29914e+00_rb,0.29664e+00_rb,0.30890e+00_rb,0.31347e+00_rb,0.31102e+00_rb, & & 0.29958e+00_rb,0.27683e+00_rb,0.24361e+00_rb,0.16812e+00_rb /) kao(:, 3,12,12) = (/ & & 0.30164e+00_rb,0.29790e+00_rb,0.30986e+00_rb,0.31529e+00_rb,0.31277e+00_rb, & & 0.29960e+00_rb,0.27547e+00_rb,0.24230e+00_rb,0.17163e+00_rb /) kao(:, 4,12,12) = (/ & & 0.30318e+00_rb,0.29799e+00_rb,0.30963e+00_rb,0.31596e+00_rb,0.31358e+00_rb, & & 0.29964e+00_rb,0.27410e+00_rb,0.24090e+00_rb,0.17207e+00_rb /) kao(:, 5,12,12) = (/ & & 0.30462e+00_rb,0.29774e+00_rb,0.30883e+00_rb,0.31580e+00_rb,0.31382e+00_rb, & & 0.29942e+00_rb,0.27289e+00_rb,0.23940e+00_rb,0.17248e+00_rb /) kao(:, 1,13,12) = (/ & & 0.27646e+00_rb,0.28482e+00_rb,0.30092e+00_rb,0.30845e+00_rb,0.30839e+00_rb, & & 0.29721e+00_rb,0.27391e+00_rb,0.23566e+00_rb,0.13145e+00_rb /) kao(:, 2,13,12) = (/ & & 0.28013e+00_rb,0.28703e+00_rb,0.30330e+00_rb,0.31210e+00_rb,0.31152e+00_rb, & & 0.29799e+00_rb,0.27265e+00_rb,0.23501e+00_rb,0.13680e+00_rb /) kao(:, 3,13,12) = (/ & & 0.28251e+00_rb,0.28781e+00_rb,0.30455e+00_rb,0.31430e+00_rb,0.31342e+00_rb, & & 0.29883e+00_rb,0.27192e+00_rb,0.23420e+00_rb,0.14031e+00_rb /) kao(:, 4,13,12) = (/ & & 0.28473e+00_rb,0.28806e+00_rb,0.30532e+00_rb,0.31558e+00_rb,0.31478e+00_rb, & & 0.29964e+00_rb,0.27140e+00_rb,0.23324e+00_rb,0.14138e+00_rb /) kao(:, 5,13,12) = (/ & & 0.28731e+00_rb,0.28885e+00_rb,0.30563e+00_rb,0.31603e+00_rb,0.31529e+00_rb, & & 0.30003e+00_rb,0.27073e+00_rb,0.23300e+00_rb,0.14291e+00_rb /) kao(:, 1, 1,13) = (/ & & 0.39331e+00_rb,0.34536e+00_rb,0.29823e+00_rb,0.25200e+00_rb,0.22257e+00_rb, & & 0.22153e+00_rb,0.23263e+00_rb,0.25940e+00_rb,0.28372e+00_rb /) kao(:, 2, 1,13) = (/ & & 0.38484e+00_rb,0.33824e+00_rb,0.29242e+00_rb,0.24772e+00_rb,0.21768e+00_rb, & & 0.21972e+00_rb,0.23098e+00_rb,0.25833e+00_rb,0.28173e+00_rb /) kao(:, 3, 1,13) = (/ & & 0.37910e+00_rb,0.33360e+00_rb,0.28884e+00_rb,0.24475e+00_rb,0.21421e+00_rb, & & 0.21744e+00_rb,0.22823e+00_rb,0.25633e+00_rb,0.27932e+00_rb /) kao(:, 4, 1,13) = (/ & & 0.37406e+00_rb,0.32956e+00_rb,0.28576e+00_rb,0.24212e+00_rb,0.21151e+00_rb, & & 0.21463e+00_rb,0.22480e+00_rb,0.25354e+00_rb,0.27637e+00_rb /) kao(:, 5, 1,13) = (/ & & 0.36968e+00_rb,0.32602e+00_rb,0.28272e+00_rb,0.24026e+00_rb,0.20970e+00_rb, & & 0.21134e+00_rb,0.22163e+00_rb,0.25081e+00_rb,0.27385e+00_rb /) kao(:, 1, 2,13) = (/ & & 0.41602e+00_rb,0.36529e+00_rb,0.31527e+00_rb,0.26672e+00_rb,0.24637e+00_rb, & & 0.24718e+00_rb,0.25604e+00_rb,0.28585e+00_rb,0.31850e+00_rb /) kao(:, 2, 2,13) = (/ & & 0.40830e+00_rb,0.35891e+00_rb,0.31022e+00_rb,0.26338e+00_rb,0.24193e+00_rb, & & 0.24484e+00_rb,0.25382e+00_rb,0.28396e+00_rb,0.31574e+00_rb /) kao(:, 3, 2,13) = (/ & & 0.40220e+00_rb,0.35391e+00_rb,0.30635e+00_rb,0.26042e+00_rb,0.23856e+00_rb, & & 0.24224e+00_rb,0.25030e+00_rb,0.28140e+00_rb,0.31256e+00_rb /) kao(:, 4, 2,13) = (/ & & 0.39708e+00_rb,0.34976e+00_rb,0.30310e+00_rb,0.25764e+00_rb,0.23590e+00_rb, & & 0.23895e+00_rb,0.24655e+00_rb,0.27840e+00_rb,0.30929e+00_rb /) kao(:, 5, 2,13) = (/ & & 0.39199e+00_rb,0.34559e+00_rb,0.29962e+00_rb,0.25559e+00_rb,0.23369e+00_rb, & & 0.23517e+00_rb,0.24316e+00_rb,0.27577e+00_rb,0.30660e+00_rb /) kao(:, 1, 3,13) = (/ & & 0.43911e+00_rb,0.38551e+00_rb,0.33254e+00_rb,0.28548e+00_rb,0.27501e+00_rb, & & 0.27158e+00_rb,0.27806e+00_rb,0.30961e+00_rb,0.34942e+00_rb /) kao(:, 2, 3,13) = (/ & & 0.43165e+00_rb,0.37930e+00_rb,0.32763e+00_rb,0.28158e+00_rb,0.27135e+00_rb, & & 0.26881e+00_rb,0.27489e+00_rb,0.30725e+00_rb,0.34620e+00_rb /) kao(:, 3, 3,13) = (/ & & 0.42551e+00_rb,0.37419e+00_rb,0.32362e+00_rb,0.27772e+00_rb,0.26799e+00_rb, & & 0.26571e+00_rb,0.27096e+00_rb,0.30422e+00_rb,0.34240e+00_rb /) kao(:, 4, 3,13) = (/ & & 0.42038e+00_rb,0.37000e+00_rb,0.32049e+00_rb,0.27494e+00_rb,0.26498e+00_rb, & & 0.26183e+00_rb,0.26698e+00_rb,0.30136e+00_rb,0.33931e+00_rb /) kao(:, 5, 3,13) = (/ & & 0.41446e+00_rb,0.36533e+00_rb,0.31734e+00_rb,0.27304e+00_rb,0.26234e+00_rb, & & 0.25777e+00_rb,0.26380e+00_rb,0.29913e+00_rb,0.33705e+00_rb /) kao(:, 1, 4,13) = (/ & & 0.46241e+00_rb,0.40571e+00_rb,0.34961e+00_rb,0.30954e+00_rb,0.30425e+00_rb, & & 0.29507e+00_rb,0.29890e+00_rb,0.33301e+00_rb,0.37827e+00_rb /) kao(:, 2, 4,13) = (/ & & 0.45465e+00_rb,0.39923e+00_rb,0.34450e+00_rb,0.30510e+00_rb,0.30124e+00_rb, & & 0.29145e+00_rb,0.29516e+00_rb,0.32984e+00_rb,0.37410e+00_rb /) kao(:, 3, 4,13) = (/ & & 0.44872e+00_rb,0.39432e+00_rb,0.34072e+00_rb,0.30104e+00_rb,0.29841e+00_rb, & & 0.28758e+00_rb,0.29090e+00_rb,0.32641e+00_rb,0.36986e+00_rb /) kao(:, 4, 4,13) = (/ & & 0.44350e+00_rb,0.39014e+00_rb,0.33810e+00_rb,0.29814e+00_rb,0.29548e+00_rb, & & 0.28294e+00_rb,0.28676e+00_rb,0.32342e+00_rb,0.36667e+00_rb /) kao(:, 5, 4,13) = (/ & & 0.43828e+00_rb,0.38609e+00_rb,0.33570e+00_rb,0.29627e+00_rb,0.29269e+00_rb, & & 0.27870e+00_rb,0.28357e+00_rb,0.32115e+00_rb,0.36426e+00_rb /) kao(:, 1, 5,13) = (/ & & 0.48784e+00_rb,0.42784e+00_rb,0.36835e+00_rb,0.33984e+00_rb,0.33294e+00_rb, & & 0.31846e+00_rb,0.32126e+00_rb,0.35651e+00_rb,0.40621e+00_rb /) kao(:, 2, 5,13) = (/ & & 0.48030e+00_rb,0.42153e+00_rb,0.36340e+00_rb,0.33519e+00_rb,0.32973e+00_rb, & & 0.31380e+00_rb,0.31683e+00_rb,0.35311e+00_rb,0.40187e+00_rb /) kao(:, 3, 5,13) = (/ & & 0.47411e+00_rb,0.41636e+00_rb,0.35974e+00_rb,0.33136e+00_rb,0.32664e+00_rb, & & 0.30892e+00_rb,0.31220e+00_rb,0.34964e+00_rb,0.39763e+00_rb /) kao(:, 4, 5,13) = (/ & & 0.46883e+00_rb,0.41227e+00_rb,0.35745e+00_rb,0.32776e+00_rb,0.32317e+00_rb, & & 0.30393e+00_rb,0.30777e+00_rb,0.34651e+00_rb,0.39440e+00_rb /) kao(:, 5, 5,13) = (/ & & 0.46388e+00_rb,0.40844e+00_rb,0.35543e+00_rb,0.32520e+00_rb,0.31964e+00_rb, & & 0.29971e+00_rb,0.30439e+00_rb,0.34429e+00_rb,0.39205e+00_rb /) kao(:, 1, 6,13) = (/ & & 0.51535e+00_rb,0.45180e+00_rb,0.39162e+00_rb,0.37322e+00_rb,0.36050e+00_rb, & & 0.34300e+00_rb,0.34505e+00_rb,0.38137e+00_rb,0.43538e+00_rb /) kao(:, 2, 6,13) = (/ & & 0.50781e+00_rb,0.44545e+00_rb,0.38586e+00_rb,0.36868e+00_rb,0.35573e+00_rb, & & 0.33760e+00_rb,0.34025e+00_rb,0.37783e+00_rb,0.43095e+00_rb /) kao(:, 3, 6,13) = (/ & & 0.50139e+00_rb,0.44011e+00_rb,0.38148e+00_rb,0.36480e+00_rb,0.35183e+00_rb, & & 0.33217e+00_rb,0.33546e+00_rb,0.37434e+00_rb,0.42674e+00_rb /) kao(:, 4, 6,13) = (/ & & 0.49657e+00_rb,0.43636e+00_rb,0.37891e+00_rb,0.36116e+00_rb,0.34800e+00_rb, & & 0.32704e+00_rb,0.33102e+00_rb,0.37152e+00_rb,0.42385e+00_rb /) kao(:, 5, 6,13) = (/ & & 0.49171e+00_rb,0.43263e+00_rb,0.37693e+00_rb,0.35827e+00_rb,0.34376e+00_rb, & & 0.32320e+00_rb,0.32782e+00_rb,0.36976e+00_rb,0.42188e+00_rb /) kao(:, 1, 7,13) = (/ & & 0.54162e+00_rb,0.47464e+00_rb,0.41834e+00_rb,0.40782e+00_rb,0.38721e+00_rb, & & 0.36824e+00_rb,0.37067e+00_rb,0.40670e+00_rb,0.46460e+00_rb /) kao(:, 2, 7,13) = (/ & & 0.53535e+00_rb,0.46937e+00_rb,0.41220e+00_rb,0.40296e+00_rb,0.38145e+00_rb, & & 0.36278e+00_rb,0.36581e+00_rb,0.40309e+00_rb,0.46013e+00_rb /) kao(:, 3, 7,13) = (/ & & 0.52914e+00_rb,0.46429e+00_rb,0.40710e+00_rb,0.39788e+00_rb,0.37673e+00_rb, & & 0.35819e+00_rb,0.36078e+00_rb,0.40008e+00_rb,0.45678e+00_rb /) kao(:, 4, 7,13) = (/ & & 0.52440e+00_rb,0.46050e+00_rb,0.40384e+00_rb,0.39374e+00_rb,0.37204e+00_rb, & & 0.35371e+00_rb,0.35616e+00_rb,0.39775e+00_rb,0.45424e+00_rb /) kao(:, 5, 7,13) = (/ & & 0.52017e+00_rb,0.45722e+00_rb,0.40132e+00_rb,0.39030e+00_rb,0.36733e+00_rb, & & 0.34991e+00_rb,0.35252e+00_rb,0.39600e+00_rb,0.45213e+00_rb /) kao(:, 1, 8,13) = (/ & & 0.56560e+00_rb,0.49547e+00_rb,0.44792e+00_rb,0.43980e+00_rb,0.41568e+00_rb, & & 0.39571e+00_rb,0.39516e+00_rb,0.42687e+00_rb,0.48767e+00_rb /) kao(:, 2, 8,13) = (/ & & 0.55986e+00_rb,0.49068e+00_rb,0.44130e+00_rb,0.43344e+00_rb,0.40921e+00_rb, & & 0.39033e+00_rb,0.39006e+00_rb,0.42429e+00_rb,0.48458e+00_rb /) kao(:, 3, 8,13) = (/ & & 0.55439e+00_rb,0.48622e+00_rb,0.43604e+00_rb,0.42727e+00_rb,0.40340e+00_rb, & & 0.38637e+00_rb,0.38517e+00_rb,0.42255e+00_rb,0.48243e+00_rb /) kao(:, 4, 8,13) = (/ & & 0.55085e+00_rb,0.48344e+00_rb,0.43251e+00_rb,0.42285e+00_rb,0.39791e+00_rb, & & 0.38219e+00_rb,0.38096e+00_rb,0.42076e+00_rb,0.48039e+00_rb /) kao(:, 5, 8,13) = (/ & & 0.54722e+00_rb,0.48060e+00_rb,0.42969e+00_rb,0.41964e+00_rb,0.39283e+00_rb, & & 0.37840e+00_rb,0.37699e+00_rb,0.41955e+00_rb,0.47894e+00_rb /) kao(:, 1, 9,13) = (/ & & 0.58672e+00_rb,0.51388e+00_rb,0.47909e+00_rb,0.46769e+00_rb,0.44479e+00_rb, & & 0.42421e+00_rb,0.41694e+00_rb,0.44339e+00_rb,0.50662e+00_rb /) kao(:, 2, 9,13) = (/ & & 0.58159e+00_rb,0.50951e+00_rb,0.47213e+00_rb,0.46028e+00_rb,0.43736e+00_rb, & & 0.41895e+00_rb,0.41246e+00_rb,0.44257e+00_rb,0.50550e+00_rb /) kao(:, 3, 9,13) = (/ & & 0.57736e+00_rb,0.50610e+00_rb,0.46657e+00_rb,0.45431e+00_rb,0.43100e+00_rb, & & 0.41543e+00_rb,0.40868e+00_rb,0.44206e+00_rb,0.50480e+00_rb /) kao(:, 4, 9,13) = (/ & & 0.57459e+00_rb,0.50394e+00_rb,0.46330e+00_rb,0.44994e+00_rb,0.42562e+00_rb, & & 0.41143e+00_rb,0.40432e+00_rb,0.44089e+00_rb,0.50333e+00_rb /) kao(:, 5, 9,13) = (/ & & 0.57136e+00_rb,0.50148e+00_rb,0.46136e+00_rb,0.44665e+00_rb,0.42115e+00_rb, & & 0.40792e+00_rb,0.40001e+00_rb,0.43966e+00_rb,0.50186e+00_rb /) kao(:, 1,10,13) = (/ & & 0.60279e+00_rb,0.52914e+00_rb,0.50725e+00_rb,0.49385e+00_rb,0.47296e+00_rb, & & 0.45056e+00_rb,0.43650e+00_rb,0.45649e+00_rb,0.52069e+00_rb /) kao(:, 2,10,13) = (/ & & 0.59826e+00_rb,0.52452e+00_rb,0.50048e+00_rb,0.48635e+00_rb,0.46511e+00_rb, & & 0.44618e+00_rb,0.43278e+00_rb,0.45737e+00_rb,0.52170e+00_rb /) kao(:, 3,10,13) = (/ & & 0.59590e+00_rb,0.52228e+00_rb,0.49610e+00_rb,0.47997e+00_rb,0.45903e+00_rb, & & 0.44309e+00_rb,0.42962e+00_rb,0.45759e+00_rb,0.52208e+00_rb /) kao(:, 4,10,13) = (/ & & 0.59454e+00_rb,0.52120e+00_rb,0.49388e+00_rb,0.47548e+00_rb,0.45447e+00_rb, & & 0.44006e+00_rb,0.42512e+00_rb,0.45631e+00_rb,0.52061e+00_rb /) kao(:, 5,10,13) = (/ & & 0.59357e+00_rb,0.52070e+00_rb,0.49246e+00_rb,0.47250e+00_rb,0.45028e+00_rb, & & 0.43610e+00_rb,0.42114e+00_rb,0.45529e+00_rb,0.51951e+00_rb /) kao(:, 1,11,13) = (/ & & 0.60887e+00_rb,0.53839e+00_rb,0.52807e+00_rb,0.51587e+00_rb,0.49623e+00_rb, & & 0.47362e+00_rb,0.45440e+00_rb,0.46645e+00_rb,0.53001e+00_rb /) kao(:, 2,11,13) = (/ & & 0.60756e+00_rb,0.53578e+00_rb,0.52411e+00_rb,0.50806e+00_rb,0.48992e+00_rb, & & 0.47089e+00_rb,0.45204e+00_rb,0.46808e+00_rb,0.53215e+00_rb /) kao(:, 3,11,13) = (/ & & 0.60793e+00_rb,0.53524e+00_rb,0.52214e+00_rb,0.50280e+00_rb,0.48540e+00_rb, & & 0.46881e+00_rb,0.44770e+00_rb,0.46764e+00_rb,0.53195e+00_rb /) kao(:, 4,11,13) = (/ & & 0.60970e+00_rb,0.53618e+00_rb,0.52106e+00_rb,0.49960e+00_rb,0.48160e+00_rb, & & 0.46481e+00_rb,0.44371e+00_rb,0.46667e+00_rb,0.53096e+00_rb /) kao(:, 5,11,13) = (/ & & 0.61038e+00_rb,0.53650e+00_rb,0.52014e+00_rb,0.49804e+00_rb,0.47818e+00_rb, & & 0.45984e+00_rb,0.44017e+00_rb,0.46579e+00_rb,0.53008e+00_rb /) kao(:, 1,12,13) = (/ & & 0.60957e+00_rb,0.54609e+00_rb,0.54565e+00_rb,0.53521e+00_rb,0.51779e+00_rb, & & 0.49593e+00_rb,0.47189e+00_rb,0.47309e+00_rb,0.46983e+00_rb /) kao(:, 2,12,13) = (/ & & 0.61214e+00_rb,0.54625e+00_rb,0.54367e+00_rb,0.52921e+00_rb,0.51339e+00_rb, & & 0.49443e+00_rb,0.46946e+00_rb,0.47371e+00_rb,0.47545e+00_rb /) kao(:, 3,12,13) = (/ & & 0.61642e+00_rb,0.54787e+00_rb,0.54269e+00_rb,0.52579e+00_rb,0.50981e+00_rb, & & 0.49118e+00_rb,0.46605e+00_rb,0.47265e+00_rb,0.47706e+00_rb /) kao(:, 4,12,13) = (/ & & 0.62028e+00_rb,0.54980e+00_rb,0.54303e+00_rb,0.52440e+00_rb,0.50697e+00_rb, & & 0.48619e+00_rb,0.46182e+00_rb,0.47123e+00_rb,0.48084e+00_rb /) kao(:, 5,12,13) = (/ & & 0.62175e+00_rb,0.55026e+00_rb,0.54305e+00_rb,0.52373e+00_rb,0.50407e+00_rb, & & 0.48153e+00_rb,0.45738e+00_rb,0.46998e+00_rb,0.48415e+00_rb /) kao(:, 1,13,13) = (/ & & 0.60459e+00_rb,0.55304e+00_rb,0.55845e+00_rb,0.55195e+00_rb,0.53769e+00_rb, & & 0.51606e+00_rb,0.48661e+00_rb,0.47383e+00_rb,0.40484e+00_rb /) kao(:, 2,13,13) = (/ & & 0.61134e+00_rb,0.55569e+00_rb,0.55809e+00_rb,0.54885e+00_rb,0.53426e+00_rb, & & 0.51450e+00_rb,0.48473e+00_rb,0.47289e+00_rb,0.40823e+00_rb /) kao(:, 3,13,13) = (/ & & 0.61890e+00_rb,0.55963e+00_rb,0.55924e+00_rb,0.54802e+00_rb,0.53230e+00_rb, & & 0.51039e+00_rb,0.48075e+00_rb,0.47078e+00_rb,0.41355e+00_rb /) kao(:, 4,13,13) = (/ & & 0.62388e+00_rb,0.56213e+00_rb,0.56099e+00_rb,0.54740e+00_rb,0.52999e+00_rb, & & 0.50582e+00_rb,0.47603e+00_rb,0.46901e+00_rb,0.41977e+00_rb /) kao(:, 5,13,13) = (/ & & 0.62688e+00_rb,0.56314e+00_rb,0.56152e+00_rb,0.54685e+00_rb,0.52723e+00_rb, & & 0.50138e+00_rb,0.47115e+00_rb,0.46700e+00_rb,0.42405e+00_rb /) kao(:, 1, 1,14) = (/ & & 0.52445e+00_rb,0.46003e+00_rb,0.39566e+00_rb,0.33139e+00_rb,0.26995e+00_rb, & & 0.25837e+00_rb,0.28528e+00_rb,0.32819e+00_rb,0.35568e+00_rb /) kao(:, 2, 1,14) = (/ & & 0.51513e+00_rb,0.45183e+00_rb,0.38858e+00_rb,0.32553e+00_rb,0.26784e+00_rb, & & 0.25515e+00_rb,0.28229e+00_rb,0.32456e+00_rb,0.35149e+00_rb /) kao(:, 3, 1,14) = (/ & & 0.50548e+00_rb,0.44334e+00_rb,0.38125e+00_rb,0.32054e+00_rb,0.26590e+00_rb, & & 0.25305e+00_rb,0.28136e+00_rb,0.32218e+00_rb,0.34858e+00_rb /) kao(:, 4, 1,14) = (/ & & 0.49563e+00_rb,0.43466e+00_rb,0.37374e+00_rb,0.31559e+00_rb,0.26350e+00_rb, & & 0.25115e+00_rb,0.28088e+00_rb,0.32077e+00_rb,0.34651e+00_rb /) kao(:, 5, 1,14) = (/ & & 0.48636e+00_rb,0.42650e+00_rb,0.36724e+00_rb,0.31119e+00_rb,0.26146e+00_rb, & & 0.24908e+00_rb,0.27907e+00_rb,0.31920e+00_rb,0.34392e+00_rb /) kao(:, 1, 2,14) = (/ & & 0.56575e+00_rb,0.49609e+00_rb,0.42647e+00_rb,0.35691e+00_rb,0.29788e+00_rb, & & 0.29937e+00_rb,0.33584e+00_rb,0.38701e+00_rb,0.42822e+00_rb /) kao(:, 2, 2,14) = (/ & & 0.55481e+00_rb,0.48648e+00_rb,0.41819e+00_rb,0.35023e+00_rb,0.29393e+00_rb, & & 0.29578e+00_rb,0.33190e+00_rb,0.38233e+00_rb,0.42282e+00_rb /) kao(:, 3, 2,14) = (/ & & 0.54468e+00_rb,0.47756e+00_rb,0.41048e+00_rb,0.34498e+00_rb,0.29076e+00_rb, & & 0.29330e+00_rb,0.33000e+00_rb,0.37899e+00_rb,0.41892e+00_rb /) kao(:, 4, 2,14) = (/ & & 0.53444e+00_rb,0.46857e+00_rb,0.40281e+00_rb,0.34010e+00_rb,0.28772e+00_rb, & & 0.29117e+00_rb,0.32899e+00_rb,0.37674e+00_rb,0.41581e+00_rb /) kao(:, 5, 2,14) = (/ & & 0.52472e+00_rb,0.46000e+00_rb,0.39601e+00_rb,0.33543e+00_rb,0.28544e+00_rb, & & 0.28841e+00_rb,0.32728e+00_rb,0.37488e+00_rb,0.41300e+00_rb /) kao(:, 1, 3,14) = (/ & & 0.61401e+00_rb,0.53826e+00_rb,0.46254e+00_rb,0.38687e+00_rb,0.33653e+00_rb, & & 0.34874e+00_rb,0.39278e+00_rb,0.45331e+00_rb,0.51178e+00_rb /) kao(:, 2, 3,14) = (/ & & 0.60181e+00_rb,0.52754e+00_rb,0.45329e+00_rb,0.37917e+00_rb,0.33018e+00_rb, & & 0.34432e+00_rb,0.38762e+00_rb,0.44735e+00_rb,0.50487e+00_rb /) kao(:, 3, 3,14) = (/ & & 0.59018e+00_rb,0.51732e+00_rb,0.44448e+00_rb,0.37278e+00_rb,0.32516e+00_rb, & & 0.34086e+00_rb,0.38493e+00_rb,0.44336e+00_rb,0.50014e+00_rb /) kao(:, 4, 3,14) = (/ & & 0.57893e+00_rb,0.50743e+00_rb,0.43595e+00_rb,0.36714e+00_rb,0.32113e+00_rb, & & 0.33824e+00_rb,0.38315e+00_rb,0.44016e+00_rb,0.49598e+00_rb /) kao(:, 5, 3,14) = (/ & & 0.56842e+00_rb,0.49818e+00_rb,0.42822e+00_rb,0.36203e+00_rb,0.31748e+00_rb, & & 0.33494e+00_rb,0.38145e+00_rb,0.43774e+00_rb,0.49238e+00_rb /) kao(:, 1, 4,14) = (/ & & 0.66683e+00_rb,0.58444e+00_rb,0.50208e+00_rb,0.41977e+00_rb,0.38494e+00_rb, & & 0.40485e+00_rb,0.45417e+00_rb,0.52508e+00_rb,0.59839e+00_rb /) kao(:, 2, 4,14) = (/ & & 0.65354e+00_rb,0.57275e+00_rb,0.49199e+00_rb,0.41128e+00_rb,0.37591e+00_rb, & & 0.39916e+00_rb,0.44835e+00_rb,0.51820e+00_rb,0.59043e+00_rb /) kao(:, 3, 4,14) = (/ & & 0.64071e+00_rb,0.56148e+00_rb,0.48227e+00_rb,0.40388e+00_rb,0.36879e+00_rb, & & 0.39404e+00_rb,0.44465e+00_rb,0.51320e+00_rb,0.58464e+00_rb /) kao(:, 4, 4,14) = (/ & & 0.62844e+00_rb,0.55070e+00_rb,0.47297e+00_rb,0.39753e+00_rb,0.36329e+00_rb, & & 0.39017e+00_rb,0.44183e+00_rb,0.50881e+00_rb,0.57888e+00_rb /) kao(:, 5, 4,14) = (/ & & 0.61748e+00_rb,0.54106e+00_rb,0.46467e+00_rb,0.39213e+00_rb,0.35832e+00_rb, & & 0.38631e+00_rb,0.43926e+00_rb,0.50522e+00_rb,0.57403e+00_rb /) kao(:, 1, 5,14) = (/ & & 0.72260e+00_rb,0.63317e+00_rb,0.54375e+00_rb,0.45913e+00_rb,0.43732e+00_rb, & & 0.46505e+00_rb,0.51783e+00_rb,0.59954e+00_rb,0.68564e+00_rb /) kao(:, 2, 5,14) = (/ & & 0.70858e+00_rb,0.62085e+00_rb,0.53314e+00_rb,0.44897e+00_rb,0.42823e+00_rb, & & 0.45720e+00_rb,0.51115e+00_rb,0.59162e+00_rb,0.67653e+00_rb /) kao(:, 3, 5,14) = (/ & & 0.69539e+00_rb,0.60926e+00_rb,0.52314e+00_rb,0.43994e+00_rb,0.42099e+00_rb, & & 0.45017e+00_rb,0.50656e+00_rb,0.58542e+00_rb,0.66941e+00_rb /) kao(:, 4, 5,14) = (/ & & 0.68235e+00_rb,0.59780e+00_rb,0.51326e+00_rb,0.43281e+00_rb,0.41557e+00_rb, & & 0.44468e+00_rb,0.50258e+00_rb,0.57996e+00_rb,0.66206e+00_rb /) kao(:, 5, 5,14) = (/ & & 0.67018e+00_rb,0.58711e+00_rb,0.50404e+00_rb,0.42628e+00_rb,0.41131e+00_rb, & & 0.43975e+00_rb,0.49863e+00_rb,0.57477e+00_rb,0.65556e+00_rb /) kao(:, 1, 6,14) = (/ & & 0.77964e+00_rb,0.68298e+00_rb,0.58633e+00_rb,0.50766e+00_rb,0.49641e+00_rb, & & 0.52605e+00_rb,0.58161e+00_rb,0.67425e+00_rb,0.77212e+00_rb /) kao(:, 2, 6,14) = (/ & & 0.76589e+00_rb,0.67092e+00_rb,0.57596e+00_rb,0.49531e+00_rb,0.48834e+00_rb, & & 0.51573e+00_rb,0.57361e+00_rb,0.66493e+00_rb,0.76124e+00_rb /) kao(:, 3, 6,14) = (/ & & 0.75251e+00_rb,0.65917e+00_rb,0.56583e+00_rb,0.48459e+00_rb,0.48115e+00_rb, & & 0.50704e+00_rb,0.56757e+00_rb,0.65686e+00_rb,0.75182e+00_rb /) kao(:, 4, 6,14) = (/ & & 0.73905e+00_rb,0.64728e+00_rb,0.55554e+00_rb,0.47565e+00_rb,0.47497e+00_rb, & & 0.50004e+00_rb,0.56191e+00_rb,0.64957e+00_rb,0.74243e+00_rb /) kao(:, 5, 6,14) = (/ & & 0.72636e+00_rb,0.63608e+00_rb,0.54581e+00_rb,0.46758e+00_rb,0.47009e+00_rb, & & 0.49349e+00_rb,0.55635e+00_rb,0.64252e+00_rb,0.73397e+00_rb /) kao(:, 1, 7,14) = (/ & & 0.84113e+00_rb,0.73668e+00_rb,0.63225e+00_rb,0.56459e+00_rb,0.56168e+00_rb, & & 0.58736e+00_rb,0.64476e+00_rb,0.74759e+00_rb,0.85655e+00_rb /) kao(:, 2, 7,14) = (/ & & 0.82630e+00_rb,0.72365e+00_rb,0.62103e+00_rb,0.55091e+00_rb,0.55367e+00_rb, & & 0.57467e+00_rb,0.63457e+00_rb,0.73605e+00_rb,0.84323e+00_rb /) kao(:, 3, 7,14) = (/ & & 0.81279e+00_rb,0.71173e+00_rb,0.61068e+00_rb,0.53944e+00_rb,0.54564e+00_rb, & & 0.56363e+00_rb,0.62610e+00_rb,0.72557e+00_rb,0.83073e+00_rb /) kao(:, 4, 7,14) = (/ & & 0.79922e+00_rb,0.69978e+00_rb,0.60035e+00_rb,0.52974e+00_rb,0.53833e+00_rb, & & 0.55444e+00_rb,0.61857e+00_rb,0.71625e+00_rb,0.81942e+00_rb /) kao(:, 5, 7,14) = (/ & & 0.78598e+00_rb,0.68814e+00_rb,0.59031e+00_rb,0.52130e+00_rb,0.53249e+00_rb, & & 0.54592e+00_rb,0.61225e+00_rb,0.70842e+00_rb,0.80994e+00_rb /) kao(:, 1, 8,14) = (/ & & 0.90865e+00_rb,0.79552e+00_rb,0.68301e+00_rb,0.62894e+00_rb,0.62980e+00_rb, & & 0.64956e+00_rb,0.70917e+00_rb,0.82179e+00_rb,0.94167e+00_rb /) kao(:, 2, 8,14) = (/ & & 0.89327e+00_rb,0.78202e+00_rb,0.67089e+00_rb,0.61713e+00_rb,0.62095e+00_rb, & & 0.63402e+00_rb,0.69617e+00_rb,0.80717e+00_rb,0.92484e+00_rb /) kao(:, 3, 8,14) = (/ & & 0.87903e+00_rb,0.76952e+00_rb,0.66001e+00_rb,0.60628e+00_rb,0.61235e+00_rb, & & 0.62019e+00_rb,0.68531e+00_rb,0.79440e+00_rb,0.90974e+00_rb /) kao(:, 4, 8,14) = (/ & & 0.86460e+00_rb,0.75687e+00_rb,0.64914e+00_rb,0.59649e+00_rb,0.60349e+00_rb, & & 0.60828e+00_rb,0.67580e+00_rb,0.78318e+00_rb,0.89639e+00_rb /) kao(:, 5, 8,14) = (/ & & 0.85091e+00_rb,0.74488e+00_rb,0.63886e+00_rb,0.58665e+00_rb,0.59566e+00_rb, & & 0.59754e+00_rb,0.66827e+00_rb,0.77422e+00_rb,0.88585e+00_rb /) kao(:, 1, 9,14) = (/ & & 0.98149e+00_rb,0.85912e+00_rb,0.74373e+00_rb,0.70295e+00_rb,0.70214e+00_rb, & & 0.71285e+00_rb,0.77237e+00_rb,0.89352e+00_rb,0.10239e+01_rb /) kao(:, 2, 9,14) = (/ & & 0.96640e+00_rb,0.84589e+00_rb,0.73081e+00_rb,0.69152e+00_rb,0.69170e+00_rb, & & 0.69439e+00_rb,0.75605e+00_rb,0.87558e+00_rb,0.10032e+01_rb /) kao(:, 3, 9,14) = (/ & & 0.95188e+00_rb,0.83316e+00_rb,0.71892e+00_rb,0.68080e+00_rb,0.68028e+00_rb, & & 0.67751e+00_rb,0.74271e+00_rb,0.86004e+00_rb,0.98493e+00_rb /) kao(:, 4, 9,14) = (/ & & 0.93737e+00_rb,0.82045e+00_rb,0.70700e+00_rb,0.67076e+00_rb,0.66785e+00_rb, & & 0.66265e+00_rb,0.73184e+00_rb,0.84775e+00_rb,0.97055e+00_rb /) kao(:, 5, 9,14) = (/ & & 0.92346e+00_rb,0.80828e+00_rb,0.69536e+00_rb,0.66047e+00_rb,0.65652e+00_rb, & & 0.65000e+00_rb,0.72388e+00_rb,0.83863e+00_rb,0.95986e+00_rb /) kao(:, 1,10,14) = (/ & & 0.10577e+01_rb,0.92576e+00_rb,0.81364e+00_rb,0.78190e+00_rb,0.77617e+00_rb, & & 0.77603e+00_rb,0.83269e+00_rb,0.96109e+00_rb,0.11008e+01_rb /) kao(:, 2,10,14) = (/ & & 0.10450e+01_rb,0.91463e+00_rb,0.80097e+00_rb,0.77046e+00_rb,0.76182e+00_rb, & & 0.75411e+00_rb,0.81384e+00_rb,0.94032e+00_rb,0.10769e+01_rb /) kao(:, 3,10,14) = (/ & & 0.10312e+01_rb,0.90248e+00_rb,0.78812e+00_rb,0.75969e+00_rb,0.74632e+00_rb, & & 0.73436e+00_rb,0.79822e+00_rb,0.92300e+00_rb,0.10571e+01_rb /) kao(:, 4,10,14) = (/ & & 0.10164e+01_rb,0.88956e+00_rb,0.77444e+00_rb,0.74952e+00_rb,0.73099e+00_rb, & & 0.71729e+00_rb,0.78702e+00_rb,0.91062e+00_rb,0.10426e+01_rb /) kao(:, 5,10,14) = (/ & & 0.10010e+01_rb,0.87610e+00_rb,0.76045e+00_rb,0.73747e+00_rb,0.71669e+00_rb, & & 0.70419e+00_rb,0.77819e+00_rb,0.90060e+00_rb,0.10309e+01_rb /) kao(:, 1,11,14) = (/ & & 0.11332e+01_rb,0.99169e+00_rb,0.88520e+00_rb,0.85938e+00_rb,0.84171e+00_rb, & & 0.82777e+00_rb,0.88045e+00_rb,0.10119e+01_rb,0.11581e+01_rb /) kao(:, 2,11,14) = (/ & & 0.11221e+01_rb,0.98196e+00_rb,0.87210e+00_rb,0.84745e+00_rb,0.82287e+00_rb, & & 0.80383e+00_rb,0.86097e+00_rb,0.99198e+00_rb,0.11355e+01_rb /) kao(:, 3,11,14) = (/ & & 0.11079e+01_rb,0.96953e+00_rb,0.85745e+00_rb,0.83492e+00_rb,0.80465e+00_rb, & & 0.78293e+00_rb,0.84710e+00_rb,0.97731e+00_rb,0.11185e+01_rb /) kao(:, 4,11,14) = (/ & & 0.10888e+01_rb,0.95287e+00_rb,0.84018e+00_rb,0.82112e+00_rb,0.78666e+00_rb, & & 0.76752e+00_rb,0.83583e+00_rb,0.96514e+00_rb,0.11044e+01_rb /) kao(:, 5,11,14) = (/ & & 0.10701e+01_rb,0.93668e+00_rb,0.82311e+00_rb,0.80490e+00_rb,0.77024e+00_rb, & & 0.75616e+00_rb,0.82679e+00_rb,0.95569e+00_rb,0.10935e+01_rb /) kao(:, 1,12,14) = (/ & & 0.12101e+01_rb,0.10589e+01_rb,0.96254e+00_rb,0.93478e+00_rb,0.90424e+00_rb, & & 0.88111e+00_rb,0.92612e+00_rb,0.10566e+01_rb,0.12084e+01_rb /) kao(:, 2,12,14) = (/ & & 0.11952e+01_rb,0.10459e+01_rb,0.94639e+00_rb,0.91979e+00_rb,0.88299e+00_rb, & & 0.85667e+00_rb,0.90737e+00_rb,0.10393e+01_rb,0.11885e+01_rb /) kao(:, 3,12,14) = (/ & & 0.11758e+01_rb,0.10290e+01_rb,0.92827e+00_rb,0.90412e+00_rb,0.86234e+00_rb, & & 0.83719e+00_rb,0.89320e+00_rb,0.10260e+01_rb,0.11732e+01_rb /) kao(:, 4,12,14) = (/ & & 0.11552e+01_rb,0.10111e+01_rb,0.90821e+00_rb,0.88659e+00_rb,0.84346e+00_rb, & & 0.82327e+00_rb,0.88324e+00_rb,0.10165e+01_rb,0.11624e+01_rb /) kao(:, 5,12,14) = (/ & & 0.11370e+01_rb,0.99527e+00_rb,0.88941e+00_rb,0.86803e+00_rb,0.82686e+00_rb, & & 0.81098e+00_rb,0.87502e+00_rb,0.10085e+01_rb,0.11531e+01_rb /) kao(:, 1,13,14) = (/ & & 0.12761e+01_rb,0.11169e+01_rb,0.10366e+01_rb,0.10056e+01_rb,0.96619e+00_rb, & & 0.93741e+00_rb,0.96971e+00_rb,0.10971e+01_rb,0.12455e+01_rb /) kao(:, 2,13,14) = (/ & & 0.12590e+01_rb,0.11018e+01_rb,0.10193e+01_rb,0.98827e+00_rb,0.94401e+00_rb, & & 0.91331e+00_rb,0.95200e+00_rb,0.10824e+01_rb,0.12321e+01_rb /) kao(:, 3,13,14) = (/ & & 0.12382e+01_rb,0.10836e+01_rb,0.99864e+00_rb,0.96922e+00_rb,0.92237e+00_rb, & & 0.89570e+00_rb,0.94013e+00_rb,0.10732e+01_rb,0.12212e+01_rb /) kao(:, 4,13,14) = (/ & & 0.12192e+01_rb,0.10671e+01_rb,0.97718e+00_rb,0.94975e+00_rb,0.90316e+00_rb, & & 0.88110e+00_rb,0.93100e+00_rb,0.10658e+01_rb,0.12124e+01_rb /) kao(:, 5,13,14) = (/ & & 0.12013e+01_rb,0.10515e+01_rb,0.95818e+00_rb,0.93022e+00_rb,0.88690e+00_rb, & & 0.86844e+00_rb,0.92401e+00_rb,0.10605e+01_rb,0.12064e+01_rb /) kao(:, 1, 1,15) = (/ & & 0.70834e+00_rb,0.62203e+00_rb,0.53582e+00_rb,0.44981e+00_rb,0.36430e+00_rb, & & 0.30456e+00_rb,0.33772e+00_rb,0.39113e+00_rb,0.42417e+00_rb /) kao(:, 2, 1,15) = (/ & & 0.69132e+00_rb,0.60682e+00_rb,0.52239e+00_rb,0.43815e+00_rb,0.35442e+00_rb, & & 0.29618e+00_rb,0.32847e+00_rb,0.37897e+00_rb,0.41053e+00_rb /) kao(:, 3, 1,15) = (/ & & 0.67551e+00_rb,0.59273e+00_rb,0.51002e+00_rb,0.42746e+00_rb,0.34540e+00_rb, & & 0.29170e+00_rb,0.32190e+00_rb,0.37054e+00_rb,0.40056e+00_rb /) kao(:, 4, 1,15) = (/ & & 0.65954e+00_rb,0.57855e+00_rb,0.49762e+00_rb,0.41681e+00_rb,0.33774e+00_rb, & & 0.29058e+00_rb,0.31932e+00_rb,0.36553e+00_rb,0.39416e+00_rb /) kao(:, 5, 1,15) = (/ & & 0.64426e+00_rb,0.56502e+00_rb,0.48582e+00_rb,0.40671e+00_rb,0.33237e+00_rb, & & 0.29156e+00_rb,0.32280e+00_rb,0.36526e+00_rb,0.39257e+00_rb /) kao(:, 1, 2,15) = (/ & & 0.79278e+00_rb,0.69566e+00_rb,0.59863e+00_rb,0.50180e+00_rb,0.40547e+00_rb, & & 0.36074e+00_rb,0.40858e+00_rb,0.47363e+00_rb,0.52463e+00_rb /) kao(:, 2, 2,15) = (/ & & 0.77384e+00_rb,0.67879e+00_rb,0.58381e+00_rb,0.48896e+00_rb,0.39453e+00_rb, & & 0.34912e+00_rb,0.39677e+00_rb,0.45884e+00_rb,0.50797e+00_rb /) kao(:, 3, 2,15) = (/ & & 0.75601e+00_rb,0.66296e+00_rb,0.56995e+00_rb,0.47701e+00_rb,0.38437e+00_rb, & & 0.34005e+00_rb,0.38826e+00_rb,0.44800e+00_rb,0.49524e+00_rb /) kao(:, 4, 2,15) = (/ & & 0.73809e+00_rb,0.64708e+00_rb,0.55610e+00_rb,0.46517e+00_rb,0.37616e+00_rb, & & 0.33560e+00_rb,0.38277e+00_rb,0.44095e+00_rb,0.48660e+00_rb /) kao(:, 5, 2,15) = (/ & & 0.72001e+00_rb,0.63111e+00_rb,0.54222e+00_rb,0.45336e+00_rb,0.36992e+00_rb, & & 0.33536e+00_rb,0.38227e+00_rb,0.43734e+00_rb,0.48144e+00_rb /) kao(:, 1, 3,15) = (/ & & 0.88640e+00_rb,0.77731e+00_rb,0.66826e+00_rb,0.55931e+00_rb,0.45077e+00_rb, & & 0.42993e+00_rb,0.49594e+00_rb,0.57510e+00_rb,0.65079e+00_rb /) kao(:, 2, 3,15) = (/ & & 0.86545e+00_rb,0.75870e+00_rb,0.65198e+00_rb,0.54530e+00_rb,0.43919e+00_rb, & & 0.41467e+00_rb,0.48152e+00_rb,0.55764e+00_rb,0.63093e+00_rb /) kao(:, 3, 3,15) = (/ & & 0.84484e+00_rb,0.74046e+00_rb,0.63609e+00_rb,0.53174e+00_rb,0.42841e+00_rb, & & 0.40263e+00_rb,0.47018e+00_rb,0.54358e+00_rb,0.61450e+00_rb /) kao(:, 4, 3,15) = (/ & & 0.82484e+00_rb,0.72279e+00_rb,0.62074e+00_rb,0.51870e+00_rb,0.41933e+00_rb, & & 0.39440e+00_rb,0.46214e+00_rb,0.53355e+00_rb,0.60235e+00_rb /) kao(:, 5, 3,15) = (/ & & 0.80403e+00_rb,0.70444e+00_rb,0.60484e+00_rb,0.50526e+00_rb,0.41249e+00_rb, & & 0.39177e+00_rb,0.45674e+00_rb,0.52614e+00_rb,0.59324e+00_rb /) kao(:, 1, 4,15) = (/ & & 0.98775e+00_rb,0.86568e+00_rb,0.74362e+00_rb,0.62157e+00_rb,0.50893e+00_rb, & & 0.51227e+00_rb,0.60104e+00_rb,0.69710e+00_rb,0.79722e+00_rb /) kao(:, 2, 4,15) = (/ & & 0.96448e+00_rb,0.84510e+00_rb,0.72572e+00_rb,0.60634e+00_rb,0.49496e+00_rb, & & 0.49365e+00_rb,0.58337e+00_rb,0.67615e+00_rb,0.77326e+00_rb /) kao(:, 3, 4,15) = (/ & & 0.94121e+00_rb,0.82456e+00_rb,0.70790e+00_rb,0.59124e+00_rb,0.48214e+00_rb, & & 0.47977e+00_rb,0.56920e+00_rb,0.65880e+00_rb,0.75281e+00_rb /) kao(:, 4, 4,15) = (/ & & 0.91776e+00_rb,0.80389e+00_rb,0.69002e+00_rb,0.57613e+00_rb,0.47050e+00_rb, & & 0.47009e+00_rb,0.55863e+00_rb,0.64595e+00_rb,0.73761e+00_rb /) kao(:, 5, 4,15) = (/ & & 0.89560e+00_rb,0.78437e+00_rb,0.67314e+00_rb,0.56190e+00_rb,0.46260e+00_rb, & & 0.46419e+00_rb,0.55009e+00_rb,0.63560e+00_rb,0.72526e+00_rb /) kao(:, 1, 5,15) = (/ & & 0.10958e+01_rb,0.95999e+00_rb,0.82419e+00_rb,0.68839e+00_rb,0.58904e+00_rb, & & 0.60909e+00_rb,0.72523e+00_rb,0.84139e+00_rb,0.96623e+00_rb /) kao(:, 2, 5,15) = (/ & & 0.10697e+01_rb,0.93701e+00_rb,0.80427e+00_rb,0.67151e+00_rb,0.56892e+00_rb, & & 0.58963e+00_rb,0.70431e+00_rb,0.81667e+00_rb,0.93800e+00_rb /) kao(:, 3, 5,15) = (/ & & 0.10434e+01_rb,0.91377e+00_rb,0.78415e+00_rb,0.65453e+00_rb,0.55082e+00_rb, & & 0.57510e+00_rb,0.68668e+00_rb,0.79542e+00_rb,0.91311e+00_rb /) kao(:, 4, 5,15) = (/ & & 0.10167e+01_rb,0.89033e+00_rb,0.76393e+00_rb,0.63753e+00_rb,0.53477e+00_rb, & & 0.56392e+00_rb,0.67291e+00_rb,0.77892e+00_rb,0.89383e+00_rb /) kao(:, 5, 5,15) = (/ & & 0.99271e+00_rb,0.86922e+00_rb,0.74573e+00_rb,0.62224e+00_rb,0.52129e+00_rb, & & 0.55503e+00_rb,0.66157e+00_rb,0.76538e+00_rb,0.87797e+00_rb /) kao(:, 1, 6,15) = (/ & & 0.12165e+01_rb,0.10653e+01_rb,0.91421e+00_rb,0.76309e+00_rb,0.68684e+00_rb, & & 0.72751e+00_rb,0.87072e+00_rb,0.10104e+01_rb,0.11626e+01_rb /) kao(:, 2, 6,15) = (/ & & 0.11851e+01_rb,0.10377e+01_rb,0.89038e+00_rb,0.74302e+00_rb,0.66078e+00_rb, & & 0.70740e+00_rb,0.84652e+00_rb,0.98180e+00_rb,0.11298e+01_rb /) kao(:, 3, 6,15) = (/ & & 0.11540e+01_rb,0.10104e+01_rb,0.86680e+00_rb,0.72322e+00_rb,0.63673e+00_rb, & & 0.69046e+00_rb,0.82558e+00_rb,0.95705e+00_rb,0.11007e+01_rb /) kao(:, 4, 6,15) = (/ & & 0.11233e+01_rb,0.98347e+00_rb,0.84364e+00_rb,0.70381e+00_rb,0.61623e+00_rb, & & 0.67656e+00_rb,0.80855e+00_rb,0.93682e+00_rb,0.10775e+01_rb /) kao(:, 5, 6,15) = (/ & & 0.10954e+01_rb,0.95895e+00_rb,0.82254e+00_rb,0.68614e+00_rb,0.59850e+00_rb, & & 0.66513e+00_rb,0.79440e+00_rb,0.92006e+00_rb,0.10579e+01_rb /) kao(:, 1, 7,15) = (/ & & 0.13516e+01_rb,0.11834e+01_rb,0.10152e+01_rb,0.84752e+00_rb,0.80189e+00_rb, & & 0.86751e+00_rb,0.10388e+01_rb,0.12059e+01_rb,0.13885e+01_rb /) kao(:, 2, 7,15) = (/ & & 0.13129e+01_rb,0.11495e+01_rb,0.98601e+00_rb,0.82254e+00_rb,0.76801e+00_rb, & & 0.84476e+00_rb,0.10112e+01_rb,0.11733e+01_rb,0.13510e+01_rb /) kao(:, 3, 7,15) = (/ & & 0.12754e+01_rb,0.11166e+01_rb,0.95771e+00_rb,0.79885e+00_rb,0.73832e+00_rb, & & 0.82499e+00_rb,0.98705e+00_rb,0.11448e+01_rb,0.13179e+01_rb /) kao(:, 4, 7,15) = (/ & & 0.12391e+01_rb,0.10847e+01_rb,0.93032e+00_rb,0.77593e+00_rb,0.71267e+00_rb, & & 0.80837e+00_rb,0.96685e+00_rb,0.11210e+01_rb,0.12906e+01_rb /) kao(:, 5, 7,15) = (/ & & 0.12065e+01_rb,0.10561e+01_rb,0.90576e+00_rb,0.75539e+00_rb,0.69035e+00_rb, & & 0.79409e+00_rb,0.94938e+00_rb,0.11005e+01_rb,0.12668e+01_rb /) kao(:, 1, 8,15) = (/ & & 0.14988e+01_rb,0.13122e+01_rb,0.11257e+01_rb,0.95045e+00_rb,0.92736e+00_rb, & & 0.10268e+01_rb,0.12293e+01_rb,0.14274e+01_rb,0.16436e+01_rb /) kao(:, 2, 8,15) = (/ & & 0.14532e+01_rb,0.12722e+01_rb,0.10913e+01_rb,0.91652e+00_rb,0.88763e+00_rb, & & 0.10018e+01_rb,0.11994e+01_rb,0.13921e+01_rb,0.16030e+01_rb /) kao(:, 3, 8,15) = (/ & & 0.14089e+01_rb,0.12334e+01_rb,0.10579e+01_rb,0.88636e+00_rb,0.85277e+00_rb, & & 0.97910e+00_rb,0.11719e+01_rb,0.13598e+01_rb,0.15656e+01_rb /) kao(:, 4, 8,15) = (/ & & 0.13671e+01_rb,0.11967e+01_rb,0.10263e+01_rb,0.85849e+00_rb,0.82373e+00_rb, & & 0.95955e+00_rb,0.11482e+01_rb,0.13320e+01_rb,0.15338e+01_rb /) kao(:, 5, 8,15) = (/ & & 0.13292e+01_rb,0.11635e+01_rb,0.99774e+00_rb,0.83411e+00_rb,0.79958e+00_rb, & & 0.94221e+00_rb,0.11271e+01_rb,0.13073e+01_rb,0.15052e+01_rb /) kao(:, 1, 9,15) = (/ & & 0.16562e+01_rb,0.14500e+01_rb,0.12437e+01_rb,0.10742e+01_rb,0.10651e+01_rb, & & 0.12070e+01_rb,0.14445e+01_rb,0.16775e+01_rb,0.19311e+01_rb /) kao(:, 2, 9,15) = (/ & & 0.16034e+01_rb,0.14036e+01_rb,0.12039e+01_rb,0.10312e+01_rb,0.10206e+01_rb, & & 0.11791e+01_rb,0.14116e+01_rb,0.16391e+01_rb,0.18869e+01_rb /) kao(:, 3, 9,15) = (/ & & 0.15525e+01_rb,0.13590e+01_rb,0.11655e+01_rb,0.99233e+00_rb,0.98476e+00_rb, & & 0.11530e+01_rb,0.13804e+01_rb,0.16026e+01_rb,0.18449e+01_rb /) kao(:, 4, 9,15) = (/ & & 0.15047e+01_rb,0.13171e+01_rb,0.11295e+01_rb,0.95737e+00_rb,0.95592e+00_rb, & & 0.11301e+01_rb,0.13529e+01_rb,0.15703e+01_rb,0.18077e+01_rb /) kao(:, 5, 9,15) = (/ & & 0.14611e+01_rb,0.12789e+01_rb,0.10967e+01_rb,0.92635e+00_rb,0.93256e+00_rb, & & 0.11088e+01_rb,0.13272e+01_rb,0.15403e+01_rb,0.17730e+01_rb /) kao(:, 1,10,15) = (/ & & 0.18225e+01_rb,0.15953e+01_rb,0.13682e+01_rb,0.12131e+01_rb,0.12195e+01_rb, & & 0.14041e+01_rb,0.16789e+01_rb,0.19504e+01_rb,0.22442e+01_rb /) kao(:, 2,10,15) = (/ & & 0.17586e+01_rb,0.15393e+01_rb,0.13201e+01_rb,0.11608e+01_rb,0.11760e+01_rb, & & 0.13729e+01_rb,0.16424e+01_rb,0.19078e+01_rb,0.21951e+01_rb /) kao(:, 3,10,15) = (/ & & 0.16992e+01_rb,0.14873e+01_rb,0.12754e+01_rb,0.11134e+01_rb,0.11408e+01_rb, & & 0.13430e+01_rb,0.16073e+01_rb,0.18666e+01_rb,0.21480e+01_rb /) kao(:, 4,10,15) = (/ & & 0.16453e+01_rb,0.14401e+01_rb,0.12349e+01_rb,0.10705e+01_rb,0.11101e+01_rb, & & 0.13157e+01_rb,0.15751e+01_rb,0.18293e+01_rb,0.21045e+01_rb /) kao(:, 5,10,15) = (/ & & 0.15976e+01_rb,0.13983e+01_rb,0.11990e+01_rb,0.10350e+01_rb,0.10845e+01_rb, & & 0.12900e+01_rb,0.15444e+01_rb,0.17936e+01_rb,0.20634e+01_rb /) kao(:, 1,11,15) = (/ & & 0.19716e+01_rb,0.17256e+01_rb,0.14797e+01_rb,0.13408e+01_rb,0.13798e+01_rb, & & 0.16011e+01_rb,0.19108e+01_rb,0.22209e+01_rb,0.25534e+01_rb /) kao(:, 2,11,15) = (/ & & 0.18980e+01_rb,0.16613e+01_rb,0.14245e+01_rb,0.12841e+01_rb,0.13393e+01_rb, & & 0.15661e+01_rb,0.18703e+01_rb,0.21736e+01_rb,0.24991e+01_rb /) kao(:, 3,11,15) = (/ & & 0.18334e+01_rb,0.16046e+01_rb,0.13758e+01_rb,0.12346e+01_rb,0.13019e+01_rb, & & 0.15332e+01_rb,0.18320e+01_rb,0.21288e+01_rb,0.24477e+01_rb /) kao(:, 4,11,15) = (/ & & 0.17833e+01_rb,0.15608e+01_rb,0.13382e+01_rb,0.11928e+01_rb,0.12697e+01_rb, & & 0.15019e+01_rb,0.17959e+01_rb,0.20867e+01_rb,0.23990e+01_rb /) kao(:, 5,11,15) = (/ & & 0.17385e+01_rb,0.15215e+01_rb,0.13045e+01_rb,0.11584e+01_rb,0.12412e+01_rb, & & 0.14723e+01_rb,0.17610e+01_rb,0.20462e+01_rb,0.23526e+01_rb /) kao(:, 1,12,15) = (/ & & 0.21322e+01_rb,0.18661e+01_rb,0.16009e+01_rb,0.14913e+01_rb,0.15626e+01_rb, & & 0.18065e+01_rb,0.21498e+01_rb,0.24997e+01_rb,0.28719e+01_rb /) kao(:, 2,12,15) = (/ & & 0.20605e+01_rb,0.18033e+01_rb,0.15462e+01_rb,0.14346e+01_rb,0.15183e+01_rb, & & 0.17679e+01_rb,0.21055e+01_rb,0.24481e+01_rb,0.28126e+01_rb /) kao(:, 3,12,15) = (/ & & 0.20007e+01_rb,0.17509e+01_rb,0.15011e+01_rb,0.13841e+01_rb,0.14777e+01_rb, & & 0.17312e+01_rb,0.20634e+01_rb,0.23990e+01_rb,0.27564e+01_rb /) kao(:, 4,12,15) = (/ & & 0.19501e+01_rb,0.17066e+01_rb,0.14631e+01_rb,0.13415e+01_rb,0.14420e+01_rb, & & 0.16956e+01_rb,0.20218e+01_rb,0.23506e+01_rb,0.27007e+01_rb /) kao(:, 5,12,15) = (/ & & 0.19023e+01_rb,0.16648e+01_rb,0.14272e+01_rb,0.13048e+01_rb,0.14093e+01_rb, & & 0.16619e+01_rb,0.19834e+01_rb,0.23060e+01_rb,0.26492e+01_rb /) kao(:, 1,13,15) = (/ & & 0.23283e+01_rb,0.20376e+01_rb,0.17570e+01_rb,0.16678e+01_rb,0.17574e+01_rb, & & 0.20182e+01_rb,0.23943e+01_rb,0.27850e+01_rb,0.31979e+01_rb /) kao(:, 2,13,15) = (/ & & 0.22552e+01_rb,0.19735e+01_rb,0.16974e+01_rb,0.16068e+01_rb,0.17079e+01_rb, & & 0.19757e+01_rb,0.23460e+01_rb,0.27289e+01_rb,0.31334e+01_rb /) kao(:, 3,13,15) = (/ & & 0.21945e+01_rb,0.19204e+01_rb,0.16488e+01_rb,0.15544e+01_rb,0.16639e+01_rb, & & 0.19336e+01_rb,0.22972e+01_rb,0.26723e+01_rb,0.30681e+01_rb /) kao(:, 4,13,15) = (/ & & 0.21377e+01_rb,0.18706e+01_rb,0.16045e+01_rb,0.15082e+01_rb,0.16235e+01_rb, & & 0.18922e+01_rb,0.22504e+01_rb,0.26179e+01_rb,0.30055e+01_rb /) kao(:, 5,13,15) = (/ & & 0.20822e+01_rb,0.18221e+01_rb,0.15623e+01_rb,0.14670e+01_rb,0.15845e+01_rb, & & 0.18531e+01_rb,0.22061e+01_rb,0.25663e+01_rb,0.29464e+01_rb /) kao(:, 1, 1,16) = (/ & & 0.84891e+00_rb,0.74682e+00_rb,0.64540e+00_rb,0.54510e+00_rb,0.44671e+00_rb, & & 0.34895e+00_rb,0.38105e+00_rb,0.44177e+00_rb,0.47725e+00_rb /) kao(:, 2, 1,16) = (/ & & 0.82292e+00_rb,0.72425e+00_rb,0.62615e+00_rb,0.52904e+00_rb,0.43334e+00_rb, & & 0.33791e+00_rb,0.37758e+00_rb,0.43769e+00_rb,0.47292e+00_rb /) kao(:, 3, 1,16) = (/ & & 0.79766e+00_rb,0.70221e+00_rb,0.60725e+00_rb,0.51315e+00_rb,0.42001e+00_rb, & & 0.32708e+00_rb,0.37351e+00_rb,0.43297e+00_rb,0.46789e+00_rb /) kao(:, 4, 1,16) = (/ & & 0.77341e+00_rb,0.68098e+00_rb,0.58899e+00_rb,0.49774e+00_rb,0.40711e+00_rb, & & 0.31834e+00_rb,0.36899e+00_rb,0.42775e+00_rb,0.46227e+00_rb /) kao(:, 5, 1,16) = (/ & & 0.74989e+00_rb,0.66035e+00_rb,0.57119e+00_rb,0.48264e+00_rb,0.39437e+00_rb, & & 0.32430e+00_rb,0.36416e+00_rb,0.42216e+00_rb,0.45636e+00_rb /) kao(:, 1, 2,16) = (/ & & 0.98489e+00_rb,0.86457e+00_rb,0.74461e+00_rb,0.62525e+00_rb,0.50699e+00_rb, & & 0.39502e+00_rb,0.46270e+00_rb,0.53626e+00_rb,0.59246e+00_rb /) kao(:, 2, 2,16) = (/ & & 0.95110e+00_rb,0.83523e+00_rb,0.71967e+00_rb,0.60464e+00_rb,0.49055e+00_rb, & & 0.38714e+00_rb,0.45775e+00_rb,0.53066e+00_rb,0.58669e+00_rb /) kao(:, 3, 2,16) = (/ & & 0.91868e+00_rb,0.80699e+00_rb,0.69557e+00_rb,0.58461e+00_rb,0.47447e+00_rb, & & 0.38030e+00_rb,0.45287e+00_rb,0.52498e+00_rb,0.58057e+00_rb /) kao(:, 4, 2,16) = (/ & & 0.88783e+00_rb,0.78006e+00_rb,0.67253e+00_rb,0.56540e+00_rb,0.45894e+00_rb, & & 0.37426e+00_rb,0.44739e+00_rb,0.51869e+00_rb,0.57355e+00_rb /) kao(:, 5, 2,16) = (/ & & 0.85824e+00_rb,0.75420e+00_rb,0.65037e+00_rb,0.54691e+00_rb,0.44407e+00_rb, & & 0.37572e+00_rb,0.44151e+00_rb,0.51192e+00_rb,0.56619e+00_rb /) kao(:, 1, 3,16) = (/ & & 0.11382e+01_rb,0.99791e+00_rb,0.85785e+00_rb,0.71816e+00_rb,0.57913e+00_rb, & & 0.47378e+00_rb,0.56732e+00_rb,0.65745e+00_rb,0.74321e+00_rb /) kao(:, 2, 3,16) = (/ & & 0.10944e+01_rb,0.95984e+00_rb,0.82550e+00_rb,0.69149e+00_rb,0.55807e+00_rb, & & 0.46534e+00_rb,0.55716e+00_rb,0.64588e+00_rb,0.73020e+00_rb /) kao(:, 3, 3,16) = (/ & & 0.10534e+01_rb,0.92416e+00_rb,0.79509e+00_rb,0.66633e+00_rb,0.53808e+00_rb, & & 0.45863e+00_rb,0.54915e+00_rb,0.63663e+00_rb,0.71995e+00_rb /) kao(:, 4, 3,16) = (/ & & 0.10141e+01_rb,0.88986e+00_rb,0.76582e+00_rb,0.64206e+00_rb,0.51870e+00_rb, & & 0.45265e+00_rb,0.54212e+00_rb,0.62853e+00_rb,0.71089e+00_rb /) kao(:, 5, 3,16) = (/ & & 0.97757e+00_rb,0.85802e+00_rb,0.73862e+00_rb,0.61943e+00_rb,0.50068e+00_rb, & & 0.44732e+00_rb,0.53486e+00_rb,0.62017e+00_rb,0.70154e+00_rb /) kao(:, 1, 4,16) = (/ & & 0.13027e+01_rb,0.11412e+01_rb,0.97988e+00_rb,0.81881e+00_rb,0.65819e+00_rb, & & 0.58495e+00_rb,0.70040e+00_rb,0.81176e+00_rb,0.92845e+00_rb /) kao(:, 2, 4,16) = (/ & & 0.12473e+01_rb,0.10931e+01_rb,0.93894e+00_rb,0.78506e+00_rb,0.63160e+00_rb, & & 0.57073e+00_rb,0.68340e+00_rb,0.79216e+00_rb,0.90610e+00_rb /) kao(:, 3, 4,16) = (/ & & 0.11956e+01_rb,0.10481e+01_rb,0.90063e+00_rb,0.75344e+00_rb,0.60663e+00_rb, & & 0.55958e+00_rb,0.67003e+00_rb,0.77669e+00_rb,0.88836e+00_rb /) kao(:, 4, 4,16) = (/ & & 0.11480e+01_rb,0.10066e+01_rb,0.86532e+00_rb,0.72426e+00_rb,0.58351e+00_rb, & & 0.54965e+00_rb,0.65819e+00_rb,0.76307e+00_rb,0.87291e+00_rb /) kao(:, 5, 4,16) = (/ & & 0.11042e+01_rb,0.96837e+00_rb,0.83267e+00_rb,0.69709e+00_rb,0.56180e+00_rb, & & 0.54039e+00_rb,0.64710e+00_rb,0.75045e+00_rb,0.85825e+00_rb /) kao(:, 1, 5,16) = (/ & & 0.14755e+01_rb,0.12919e+01_rb,0.11084e+01_rb,0.92503e+00_rb,0.74199e+00_rb, & & 0.72656e+00_rb,0.86992e+00_rb,0.10084e+01_rb,0.11593e+01_rb /) kao(:, 2, 5,16) = (/ & & 0.14077e+01_rb,0.12330e+01_rb,0.10584e+01_rb,0.88396e+00_rb,0.70985e+00_rb, & & 0.70337e+00_rb,0.84221e+00_rb,0.97628e+00_rb,0.11223e+01_rb /) kao(:, 3, 5,16) = (/ & & 0.13473e+01_rb,0.11805e+01_rb,0.10138e+01_rb,0.84723e+00_rb,0.68084e+00_rb, & & 0.68573e+00_rb,0.82117e+00_rb,0.95190e+00_rb,0.10943e+01_rb /) kao(:, 4, 5,16) = (/ & & 0.12931e+01_rb,0.11332e+01_rb,0.97336e+00_rb,0.81358e+00_rb,0.65399e+00_rb, & & 0.67083e+00_rb,0.80321e+00_rb,0.93120e+00_rb,0.10704e+01_rb /) kao(:, 5, 5,16) = (/ & & 0.12425e+01_rb,0.10889e+01_rb,0.93535e+00_rb,0.78185e+00_rb,0.62849e+00_rb, & & 0.65706e+00_rb,0.78689e+00_rb,0.91252e+00_rb,0.10486e+01_rb /) kao(:, 1, 6,16) = (/ & & 0.16632e+01_rb,0.14561e+01_rb,0.12491e+01_rb,0.10422e+01_rb,0.83545e+00_rb, & & 0.90592e+00_rb,0.10850e+01_rb,0.12579e+01_rb,0.14491e+01_rb /) kao(:, 2, 6,16) = (/ & & 0.15885e+01_rb,0.13911e+01_rb,0.11938e+01_rb,0.99649e+00_rb,0.79932e+00_rb, & & 0.87105e+00_rb,0.10430e+01_rb,0.12092e+01_rb,0.13933e+01_rb /) kao(:, 3, 6,16) = (/ & & 0.15219e+01_rb,0.13330e+01_rb,0.11441e+01_rb,0.95525e+00_rb,0.76651e+00_rb, & & 0.84460e+00_rb,0.10114e+01_rb,0.11726e+01_rb,0.13510e+01_rb /) kao(:, 4, 6,16) = (/ & & 0.14602e+01_rb,0.12790e+01_rb,0.10978e+01_rb,0.91668e+00_rb,0.73549e+00_rb, & & 0.82233e+00_rb,0.98468e+00_rb,0.11417e+01_rb,0.13152e+01_rb /) kao(:, 5, 6,16) = (/ & & 0.14027e+01_rb,0.12286e+01_rb,0.10546e+01_rb,0.88053e+00_rb,0.70846e+00_rb, & & 0.80220e+00_rb,0.96072e+00_rb,0.11140e+01_rb,0.12832e+01_rb /) kao(:, 1, 7,16) = (/ & & 0.18802e+01_rb,0.16460e+01_rb,0.14119e+01_rb,0.11779e+01_rb,0.95036e+00_rb, & & 0.11297e+01_rb,0.13528e+01_rb,0.15688e+01_rb,0.18094e+01_rb /) kao(:, 2, 7,16) = (/ & & 0.17989e+01_rb,0.15751e+01_rb,0.13512e+01_rb,0.11274e+01_rb,0.91055e+00_rb, & & 0.10797e+01_rb,0.12930e+01_rb,0.14993e+01_rb,0.17294e+01_rb /) kao(:, 3, 7,16) = (/ & & 0.17245e+01_rb,0.15100e+01_rb,0.12954e+01_rb,0.10809e+01_rb,0.87508e+00_rb, & & 0.10422e+01_rb,0.12481e+01_rb,0.14473e+01_rb,0.16693e+01_rb /) kao(:, 4, 7,16) = (/ & & 0.16543e+01_rb,0.14485e+01_rb,0.12427e+01_rb,0.10370e+01_rb,0.84724e+00_rb, & & 0.10105e+01_rb,0.12102e+01_rb,0.14035e+01_rb,0.16185e+01_rb /) kao(:, 5, 7,16) = (/ & & 0.15884e+01_rb,0.13908e+01_rb,0.11932e+01_rb,0.99569e+00_rb,0.82331e+00_rb, & & 0.98227e+00_rb,0.11764e+01_rb,0.13643e+01_rb,0.15734e+01_rb /) kao(:, 1, 8,16) = (/ & & 0.21327e+01_rb,0.18670e+01_rb,0.16012e+01_rb,0.13355e+01_rb,0.11430e+01_rb, & & 0.14062e+01_rb,0.16843e+01_rb,0.19535e+01_rb,0.22540e+01_rb /) kao(:, 2, 8,16) = (/ & & 0.20434e+01_rb,0.17888e+01_rb,0.15342e+01_rb,0.12796e+01_rb,0.10891e+01_rb, & & 0.13377e+01_rb,0.16020e+01_rb,0.18582e+01_rb,0.21442e+01_rb /) kao(:, 3, 8,16) = (/ & & 0.19592e+01_rb,0.17151e+01_rb,0.14711e+01_rb,0.12270e+01_rb,0.10443e+01_rb, & & 0.12854e+01_rb,0.15395e+01_rb,0.17855e+01_rb,0.20605e+01_rb /) kao(:, 4, 8,16) = (/ & & 0.18795e+01_rb,0.16454e+01_rb,0.14112e+01_rb,0.11771e+01_rb,0.10093e+01_rb, & & 0.12418e+01_rb,0.14873e+01_rb,0.17251e+01_rb,0.19905e+01_rb /) kao(:, 5, 8,16) = (/ & & 0.18040e+01_rb,0.15793e+01_rb,0.13546e+01_rb,0.11298e+01_rb,0.97893e+00_rb, & & 0.12029e+01_rb,0.14409e+01_rb,0.16715e+01_rb,0.19284e+01_rb /) kao(:, 1, 9,16) = (/ & & 0.24263e+01_rb,0.21237e+01_rb,0.18212e+01_rb,0.15186e+01_rb,0.14038e+01_rb, & & 0.17468e+01_rb,0.20923e+01_rb,0.24275e+01_rb,0.28010e+01_rb /) kao(:, 2, 9,16) = (/ & & 0.23266e+01_rb,0.20365e+01_rb,0.17464e+01_rb,0.14563e+01_rb,0.13334e+01_rb, & & 0.16567e+01_rb,0.19843e+01_rb,0.23023e+01_rb,0.26565e+01_rb /) kao(:, 3, 9,16) = (/ & & 0.22311e+01_rb,0.19529e+01_rb,0.16747e+01_rb,0.13965e+01_rb,0.12741e+01_rb, & & 0.15855e+01_rb,0.18989e+01_rb,0.22031e+01_rb,0.25421e+01_rb /) kao(:, 4, 9,16) = (/ & & 0.21400e+01_rb,0.18731e+01_rb,0.16063e+01_rb,0.13394e+01_rb,0.12261e+01_rb, & & 0.15261e+01_rb,0.18280e+01_rb,0.21210e+01_rb,0.24473e+01_rb /) kao(:, 5, 9,16) = (/ & & 0.20537e+01_rb,0.17976e+01_rb,0.15415e+01_rb,0.12854e+01_rb,0.11844e+01_rb, & & 0.14739e+01_rb,0.17653e+01_rb,0.20482e+01_rb,0.23631e+01_rb /) kao(:, 1,10,16) = (/ & & 0.27556e+01_rb,0.24117e+01_rb,0.20679e+01_rb,0.17241e+01_rb,0.17250e+01_rb, & & 0.21531e+01_rb,0.25793e+01_rb,0.29930e+01_rb,0.34529e+01_rb /) kao(:, 2,10,16) = (/ & & 0.26436e+01_rb,0.23137e+01_rb,0.19838e+01_rb,0.16540e+01_rb,0.16343e+01_rb, & & 0.20375e+01_rb,0.24406e+01_rb,0.28326e+01_rb,0.32672e+01_rb /) kao(:, 3,10,16) = (/ & & 0.25350e+01_rb,0.22187e+01_rb,0.19024e+01_rb,0.15861e+01_rb,0.15582e+01_rb, & & 0.19443e+01_rb,0.23290e+01_rb,0.27026e+01_rb,0.31178e+01_rb /) kao(:, 4,10,16) = (/ & & 0.24300e+01_rb,0.21267e+01_rb,0.18235e+01_rb,0.15203e+01_rb,0.14955e+01_rb, & & 0.18662e+01_rb,0.22353e+01_rb,0.25942e+01_rb,0.29924e+01_rb /) kao(:, 5,10,16) = (/ & & 0.23355e+01_rb,0.20440e+01_rb,0.17526e+01_rb,0.14611e+01_rb,0.14399e+01_rb, & & 0.17966e+01_rb,0.21521e+01_rb,0.24975e+01_rb,0.28809e+01_rb /) kao(:, 1,11,16) = (/ & & 0.30736e+01_rb,0.26899e+01_rb,0.23062e+01_rb,0.19287e+01_rb,0.20594e+01_rb, & & 0.25707e+01_rb,0.30796e+01_rb,0.35755e+01_rb,0.41218e+01_rb /) kao(:, 2,11,16) = (/ & & 0.29458e+01_rb,0.25780e+01_rb,0.22102e+01_rb,0.18490e+01_rb,0.19506e+01_rb, & & 0.24353e+01_rb,0.29176e+01_rb,0.33867e+01_rb,0.39048e+01_rb /) kao(:, 3,11,16) = (/ & & 0.28287e+01_rb,0.24755e+01_rb,0.21223e+01_rb,0.17723e+01_rb,0.18621e+01_rb, & & 0.23252e+01_rb,0.27855e+01_rb,0.32334e+01_rb,0.37281e+01_rb /) kao(:, 4,11,16) = (/ & & 0.27181e+01_rb,0.23787e+01_rb,0.20393e+01_rb,0.17010e+01_rb,0.17848e+01_rb, & & 0.22284e+01_rb,0.26698e+01_rb,0.30991e+01_rb,0.35730e+01_rb /) kao(:, 5,11,16) = (/ & & 0.26214e+01_rb,0.22941e+01_rb,0.19667e+01_rb,0.16394e+01_rb,0.17149e+01_rb, & & 0.21409e+01_rb,0.25649e+01_rb,0.29778e+01_rb,0.34326e+01_rb /) kao(:, 1,12,16) = (/ & & 0.34457e+01_rb,0.30154e+01_rb,0.25850e+01_rb,0.22002e+01_rb,0.24421e+01_rb, & & 0.30491e+01_rb,0.36532e+01_rb,0.42422e+01_rb,0.48881e+01_rb /) kao(:, 2,12,16) = (/ & & 0.33132e+01_rb,0.28993e+01_rb,0.24855e+01_rb,0.21037e+01_rb,0.23175e+01_rb, & & 0.28938e+01_rb,0.34673e+01_rb,0.40262e+01_rb,0.46397e+01_rb /) kao(:, 3,12,16) = (/ & & 0.31843e+01_rb,0.27866e+01_rb,0.23888e+01_rb,0.20132e+01_rb,0.22107e+01_rb, & & 0.27603e+01_rb,0.33070e+01_rb,0.38403e+01_rb,0.44248e+01_rb /) kao(:, 4,12,16) = (/ & & 0.30610e+01_rb,0.26787e+01_rb,0.22963e+01_rb,0.19289e+01_rb,0.21145e+01_rb, & & 0.26402e+01_rb,0.31632e+01_rb,0.36735e+01_rb,0.42326e+01_rb /) kao(:, 5,12,16) = (/ & & 0.29533e+01_rb,0.25844e+01_rb,0.22155e+01_rb,0.18569e+01_rb,0.20264e+01_rb, & & 0.25300e+01_rb,0.30314e+01_rb,0.35205e+01_rb,0.40560e+01_rb /) kao(:, 1,13,16) = (/ & & 0.38898e+01_rb,0.34039e+01_rb,0.29179e+01_rb,0.25320e+01_rb,0.28809e+01_rb, & & 0.35965e+01_rb,0.43091e+01_rb,0.50055e+01_rb,0.57650e+01_rb /) kao(:, 2,13,16) = (/ & & 0.37371e+01_rb,0.32702e+01_rb,0.28033e+01_rb,0.24146e+01_rb,0.27330e+01_rb, & & 0.34120e+01_rb,0.40886e+01_rb,0.47494e+01_rb,0.54692e+01_rb /) kao(:, 3,13,16) = (/ & & 0.35846e+01_rb,0.31367e+01_rb,0.26889e+01_rb,0.23047e+01_rb,0.26019e+01_rb, & & 0.32482e+01_rb,0.38921e+01_rb,0.45212e+01_rb,0.52066e+01_rb /) kao(:, 4,13,16) = (/ & & 0.34450e+01_rb,0.30146e+01_rb,0.25842e+01_rb,0.22048e+01_rb,0.24829e+01_rb, & & 0.31006e+01_rb,0.37153e+01_rb,0.43162e+01_rb,0.49694e+01_rb /) kao(:, 5,13,16) = (/ & & 0.33226e+01_rb,0.29075e+01_rb,0.24923e+01_rb,0.21144e+01_rb,0.23741e+01_rb, & & 0.29651e+01_rb,0.35532e+01_rb,0.41282e+01_rb,0.47532e+01_rb /) ! ----------------------------------------------------------------- ! The array KBO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels < ~100mb and temperatures. The first ! index in the array, JT, which runs from 1 to 5, corresponds to ! different temperatures. More specifically, JT = 3 means that the ! data are for the reference temperature TREF for this pressure ! level, JT = 2 refers to the temperature TREF-15, JT = 1 is for ! TREF-30, JT = 4 is for TREF+15, and JT = 5 is for TREF+30. ! The second index, JP, runs from 13 to 59 and refers to the JPth ! reference pressure level (see taumol.f for the value of these ! pressure levels in mb). The third index, IG, goes from 1 to 16, ! and tells us which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kbo(:,13, 1) = (/ & & 0.78344e-03_rb,0.81478e-03_rb,0.83713e-03_rb,0.85265e-03_rb,0.85991e-03_rb /) kbo(:,14, 1) = (/ & & 0.65374e-03_rb,0.67963e-03_rb,0.69840e-03_rb,0.71131e-03_rb,0.71719e-03_rb /) kbo(:,15, 1) = (/ & & 0.55587e-03_rb,0.57751e-03_rb,0.59343e-03_rb,0.60410e-03_rb,0.60993e-03_rb /) kbo(:,16, 1) = (/ & & 0.48145e-03_rb,0.49780e-03_rb,0.51251e-03_rb,0.52093e-03_rb,0.52706e-03_rb /) kbo(:,17, 1) = (/ & & 0.42610e-03_rb,0.43577e-03_rb,0.44892e-03_rb,0.45812e-03_rb,0.46352e-03_rb /) kbo(:,18, 1) = (/ & & 0.38503e-03_rb,0.38849e-03_rb,0.40094e-03_rb,0.41067e-03_rb,0.41529e-03_rb /) kbo(:,19, 1) = (/ & & 0.35025e-03_rb,0.34902e-03_rb,0.35803e-03_rb,0.36759e-03_rb,0.37429e-03_rb /) kbo(:,20, 1) = (/ & & 0.30557e-03_rb,0.30381e-03_rb,0.30983e-03_rb,0.31782e-03_rb,0.32429e-03_rb /) kbo(:,21, 1) = (/ & & 0.26346e-03_rb,0.26127e-03_rb,0.26616e-03_rb,0.27270e-03_rb,0.27830e-03_rb /) kbo(:,22, 1) = (/ & & 0.22630e-03_rb,0.22463e-03_rb,0.22867e-03_rb,0.23419e-03_rb,0.23829e-03_rb /) kbo(:,23, 1) = (/ & & 0.19498e-03_rb,0.19376e-03_rb,0.19644e-03_rb,0.20096e-03_rb,0.20404e-03_rb /) kbo(:,24, 1) = (/ & & 0.16839e-03_rb,0.16687e-03_rb,0.16820e-03_rb,0.17215e-03_rb,0.17490e-03_rb /) kbo(:,25, 1) = (/ & & 0.14494e-03_rb,0.14347e-03_rb,0.14334e-03_rb,0.14728e-03_rb,0.14954e-03_rb /) kbo(:,26, 1) = (/ & & 0.12363e-03_rb,0.12241e-03_rb,0.12233e-03_rb,0.12518e-03_rb,0.12767e-03_rb /) kbo(:,27, 1) = (/ & & 0.10560e-03_rb,0.10482e-03_rb,0.10446e-03_rb,0.10681e-03_rb,0.10897e-03_rb /) kbo(:,28, 1) = (/ & & 0.90453e-04_rb,0.89921e-04_rb,0.89199e-04_rb,0.91278e-04_rb,0.93235e-04_rb /) kbo(:,29, 1) = (/ & & 0.77854e-04_rb,0.77467e-04_rb,0.76947e-04_rb,0.77977e-04_rb,0.79713e-04_rb /) kbo(:,30, 1) = (/ & & 0.67346e-04_rb,0.67074e-04_rb,0.66981e-04_rb,0.67340e-04_rb,0.68453e-04_rb /) kbo(:,31, 1) = (/ & & 0.58739e-04_rb,0.58583e-04_rb,0.58517e-04_rb,0.58421e-04_rb,0.59277e-04_rb /) kbo(:,32, 1) = (/ & & 0.51671e-04_rb,0.51476e-04_rb,0.51254e-04_rb,0.51199e-04_rb,0.51510e-04_rb /) kbo(:,33, 1) = (/ & & 0.45523e-04_rb,0.45406e-04_rb,0.45028e-04_rb,0.44849e-04_rb,0.44977e-04_rb /) kbo(:,34, 1) = (/ & & 0.40256e-04_rb,0.40062e-04_rb,0.39751e-04_rb,0.39416e-04_rb,0.39181e-04_rb /) kbo(:,35, 1) = (/ & & 0.35762e-04_rb,0.35429e-04_rb,0.35245e-04_rb,0.34916e-04_rb,0.34484e-04_rb /) kbo(:,36, 1) = (/ & & 0.31776e-04_rb,0.31666e-04_rb,0.31200e-04_rb,0.31013e-04_rb,0.30768e-04_rb /) kbo(:,37, 1) = (/ & & 0.26934e-04_rb,0.26971e-04_rb,0.26615e-04_rb,0.26355e-04_rb,0.26214e-04_rb /) kbo(:,38, 1) = (/ & & 0.22652e-04_rb,0.22874e-04_rb,0.22686e-04_rb,0.22466e-04_rb,0.22266e-04_rb /) kbo(:,39, 1) = (/ & & 0.18970e-04_rb,0.19273e-04_rb,0.19385e-04_rb,0.19198e-04_rb,0.19016e-04_rb /) kbo(:,40, 1) = (/ & & 0.15533e-04_rb,0.15831e-04_rb,0.15964e-04_rb,0.15836e-04_rb,0.15700e-04_rb /) kbo(:,41, 1) = (/ & & 0.12668e-04_rb,0.12826e-04_rb,0.12999e-04_rb,0.13018e-04_rb,0.12872e-04_rb /) kbo(:,42, 1) = (/ & & 0.10356e-04_rb,0.10475e-04_rb,0.10620e-04_rb,0.10666e-04_rb,0.10580e-04_rb /) kbo(:,43, 1) = (/ & & 0.83551e-05_rb,0.84490e-05_rb,0.85217e-05_rb,0.86140e-05_rb,0.86044e-05_rb /) kbo(:,44, 1) = (/ & & 0.66829e-05_rb,0.68022e-05_rb,0.68791e-05_rb,0.69429e-05_rb,0.69314e-05_rb /) kbo(:,45, 1) = (/ & & 0.53860e-05_rb,0.54494e-05_rb,0.55341e-05_rb,0.55544e-05_rb,0.55761e-05_rb /) kbo(:,46, 1) = (/ & & 0.43207e-05_rb,0.43601e-05_rb,0.44477e-05_rb,0.44761e-05_rb,0.44727e-05_rb /) kbo(:,47, 1) = (/ & & 0.34852e-05_rb,0.34924e-05_rb,0.35555e-05_rb,0.35928e-05_rb,0.35957e-05_rb /) kbo(:,48, 1) = (/ & & 0.27913e-05_rb,0.28024e-05_rb,0.28395e-05_rb,0.28713e-05_rb,0.28836e-05_rb /) kbo(:,49, 1) = (/ & & 0.22267e-05_rb,0.22549e-05_rb,0.22736e-05_rb,0.22769e-05_rb,0.23083e-05_rb /) kbo(:,50, 1) = (/ & & 0.17814e-05_rb,0.18056e-05_rb,0.18272e-05_rb,0.18178e-05_rb,0.18340e-05_rb /) kbo(:,51, 1) = (/ & & 0.14202e-05_rb,0.14390e-05_rb,0.14605e-05_rb,0.14515e-05_rb,0.14607e-05_rb /) kbo(:,52, 1) = (/ & & 0.11328e-05_rb,0.11511e-05_rb,0.11629e-05_rb,0.11627e-05_rb,0.11618e-05_rb /) kbo(:,53, 1) = (/ & & 0.90478e-06_rb,0.91291e-06_rb,0.92251e-06_rb,0.92910e-06_rb,0.92898e-06_rb /) kbo(:,54, 1) = (/ & & 0.71737e-06_rb,0.72444e-06_rb,0.73271e-06_rb,0.73646e-06_rb,0.74079e-06_rb /) kbo(:,55, 1) = (/ & & 0.56522e-06_rb,0.57444e-06_rb,0.57690e-06_rb,0.58444e-06_rb,0.59006e-06_rb /) kbo(:,56, 1) = (/ & & 0.44522e-06_rb,0.45152e-06_rb,0.45592e-06_rb,0.46208e-06_rb,0.46721e-06_rb /) kbo(:,57, 1) = (/ & & 0.35045e-06_rb,0.35432e-06_rb,0.36035e-06_rb,0.36444e-06_rb,0.36942e-06_rb /) kbo(:,58, 1) = (/ & & 0.27513e-06_rb,0.27793e-06_rb,0.28330e-06_rb,0.28729e-06_rb,0.29229e-06_rb /) kbo(:,59, 1) = (/ & & 0.21608e-06_rb,0.21966e-06_rb,0.22301e-06_rb,0.22740e-06_rb,0.23129e-06_rb /) kbo(:,13, 2) = (/ & & 0.41669e-02_rb,0.42141e-02_rb,0.42434e-02_rb,0.42683e-02_rb,0.42755e-02_rb /) kbo(:,14, 2) = (/ & & 0.34875e-02_rb,0.35201e-02_rb,0.35377e-02_rb,0.35547e-02_rb,0.35629e-02_rb /) kbo(:,15, 2) = (/ & & 0.29417e-02_rb,0.29682e-02_rb,0.29797e-02_rb,0.29877e-02_rb,0.29948e-02_rb /) kbo(:,16, 2) = (/ & & 0.25072e-02_rb,0.25337e-02_rb,0.25373e-02_rb,0.25423e-02_rb,0.25464e-02_rb /) kbo(:,17, 2) = (/ & & 0.21640e-02_rb,0.21948e-02_rb,0.21974e-02_rb,0.21951e-02_rb,0.21930e-02_rb /) kbo(:,18, 2) = (/ & & 0.18910e-02_rb,0.19229e-02_rb,0.19301e-02_rb,0.19201e-02_rb,0.19153e-02_rb /) kbo(:,19, 2) = (/ & & 0.16495e-02_rb,0.16848e-02_rb,0.16944e-02_rb,0.16885e-02_rb,0.16779e-02_rb /) kbo(:,20, 2) = (/ & & 0.14018e-02_rb,0.14333e-02_rb,0.14424e-02_rb,0.14394e-02_rb,0.14287e-02_rb /) kbo(:,21, 2) = (/ & & 0.11832e-02_rb,0.12125e-02_rb,0.12189e-02_rb,0.12151e-02_rb,0.12082e-02_rb /) kbo(:,22, 2) = (/ & & 0.99669e-03_rb,0.10233e-02_rb,0.10268e-02_rb,0.10250e-02_rb,0.10191e-02_rb /) kbo(:,23, 2) = (/ & & 0.83734e-03_rb,0.86220e-03_rb,0.86642e-03_rb,0.86487e-03_rb,0.86054e-03_rb /) kbo(:,24, 2) = (/ & & 0.70349e-03_rb,0.72654e-03_rb,0.73243e-03_rb,0.73077e-03_rb,0.72754e-03_rb /) kbo(:,25, 2) = (/ & & 0.59070e-03_rb,0.61044e-03_rb,0.61929e-03_rb,0.61773e-03_rb,0.61583e-03_rb /) kbo(:,26, 2) = (/ & & 0.49716e-03_rb,0.51139e-03_rb,0.52115e-03_rb,0.52139e-03_rb,0.52023e-03_rb /) kbo(:,27, 2) = (/ & & 0.41822e-03_rb,0.42737e-03_rb,0.43808e-03_rb,0.43978e-03_rb,0.43884e-03_rb /) kbo(:,28, 2) = (/ & & 0.35061e-03_rb,0.35848e-03_rb,0.36841e-03_rb,0.37095e-03_rb,0.37053e-03_rb /) kbo(:,29, 2) = (/ & & 0.29391e-03_rb,0.30227e-03_rb,0.30912e-03_rb,0.31376e-03_rb,0.31382e-03_rb /) kbo(:,30, 2) = (/ & & 0.24878e-03_rb,0.25551e-03_rb,0.25990e-03_rb,0.26493e-03_rb,0.26717e-03_rb /) kbo(:,31, 2) = (/ & & 0.21146e-03_rb,0.21606e-03_rb,0.21973e-03_rb,0.22385e-03_rb,0.22711e-03_rb /) kbo(:,32, 2) = (/ & & 0.17989e-03_rb,0.18248e-03_rb,0.18678e-03_rb,0.18914e-03_rb,0.19265e-03_rb /) kbo(:,33, 2) = (/ & & 0.15377e-03_rb,0.15569e-03_rb,0.15798e-03_rb,0.16109e-03_rb,0.16313e-03_rb /) kbo(:,34, 2) = (/ & & 0.13129e-03_rb,0.13289e-03_rb,0.13431e-03_rb,0.13679e-03_rb,0.13869e-03_rb /) kbo(:,35, 2) = (/ & & 0.11225e-03_rb,0.11370e-03_rb,0.11480e-03_rb,0.11616e-03_rb,0.11774e-03_rb /) kbo(:,36, 2) = (/ & & 0.96722e-04_rb,0.97093e-04_rb,0.98641e-04_rb,0.99964e-04_rb,0.10029e-03_rb /) kbo(:,37, 2) = (/ & & 0.81278e-04_rb,0.81350e-04_rb,0.82442e-04_rb,0.83555e-04_rb,0.83990e-04_rb /) kbo(:,38, 2) = (/ & & 0.68481e-04_rb,0.68398e-04_rb,0.68899e-04_rb,0.69737e-04_rb,0.70187e-04_rb /) kbo(:,39, 2) = (/ & & 0.57588e-04_rb,0.57895e-04_rb,0.57814e-04_rb,0.58095e-04_rb,0.58861e-04_rb /) kbo(:,40, 2) = (/ & & 0.47541e-04_rb,0.47609e-04_rb,0.47587e-04_rb,0.47727e-04_rb,0.48149e-04_rb /) kbo(:,41, 2) = (/ & & 0.39099e-04_rb,0.39119e-04_rb,0.39164e-04_rb,0.39161e-04_rb,0.39530e-04_rb /) kbo(:,42, 2) = (/ & & 0.32129e-04_rb,0.32067e-04_rb,0.32113e-04_rb,0.32128e-04_rb,0.32332e-04_rb /) kbo(:,43, 2) = (/ & & 0.26339e-04_rb,0.26195e-04_rb,0.26218e-04_rb,0.26313e-04_rb,0.26301e-04_rb /) kbo(:,44, 2) = (/ & & 0.21510e-04_rb,0.21341e-04_rb,0.21297e-04_rb,0.21378e-04_rb,0.21395e-04_rb /) kbo(:,45, 2) = (/ & & 0.17530e-04_rb,0.17454e-04_rb,0.17341e-04_rb,0.17352e-04_rb,0.17454e-04_rb /) kbo(:,46, 2) = (/ & & 0.14267e-04_rb,0.14213e-04_rb,0.14118e-04_rb,0.14076e-04_rb,0.14192e-04_rb /) kbo(:,47, 2) = (/ & & 0.11510e-04_rb,0.11593e-04_rb,0.11522e-04_rb,0.11431e-04_rb,0.11494e-04_rb /) kbo(:,48, 2) = (/ & & 0.92607e-05_rb,0.93963e-05_rb,0.93931e-05_rb,0.93302e-05_rb,0.93175e-05_rb /) kbo(:,49, 2) = (/ & & 0.74566e-05_rb,0.75640e-05_rb,0.76551e-05_rb,0.76195e-05_rb,0.75706e-05_rb /) kbo(:,50, 2) = (/ & & 0.60069e-05_rb,0.60789e-05_rb,0.61866e-05_rb,0.62136e-05_rb,0.61878e-05_rb /) kbo(:,51, 2) = (/ & & 0.48719e-05_rb,0.49189e-05_rb,0.49852e-05_rb,0.50599e-05_rb,0.50406e-05_rb /) kbo(:,52, 2) = (/ & & 0.39542e-05_rb,0.39622e-05_rb,0.40023e-05_rb,0.40853e-05_rb,0.41134e-05_rb /) kbo(:,53, 2) = (/ & & 0.31898e-05_rb,0.32108e-05_rb,0.32348e-05_rb,0.32873e-05_rb,0.33341e-05_rb /) kbo(:,54, 2) = (/ & & 0.25786e-05_rb,0.26009e-05_rb,0.26192e-05_rb,0.26504e-05_rb,0.26983e-05_rb /) kbo(:,55, 2) = (/ & & 0.20942e-05_rb,0.21017e-05_rb,0.21274e-05_rb,0.21442e-05_rb,0.21775e-05_rb /) kbo(:,56, 2) = (/ & & 0.16959e-05_rb,0.17018e-05_rb,0.17251e-05_rb,0.17374e-05_rb,0.17575e-05_rb /) kbo(:,57, 2) = (/ & & 0.13662e-05_rb,0.13805e-05_rb,0.13926e-05_rb,0.14091e-05_rb,0.14210e-05_rb /) kbo(:,58, 2) = (/ & & 0.10989e-05_rb,0.11199e-05_rb,0.11269e-05_rb,0.11436e-05_rb,0.11502e-05_rb /) kbo(:,59, 2) = (/ & & 0.88647e-06_rb,0.91054e-06_rb,0.91770e-06_rb,0.92872e-06_rb,0.93619e-06_rb /) kbo(:,13, 3) = (/ & & 0.91432e-02_rb,0.90907e-02_rb,0.90565e-02_rb,0.89984e-02_rb,0.89385e-02_rb /) kbo(:,14, 3) = (/ & & 0.76455e-02_rb,0.75988e-02_rb,0.75709e-02_rb,0.75150e-02_rb,0.74448e-02_rb /) kbo(:,15, 3) = (/ & & 0.64231e-02_rb,0.63826e-02_rb,0.63449e-02_rb,0.62999e-02_rb,0.62412e-02_rb /) kbo(:,16, 3) = (/ & & 0.54475e-02_rb,0.53998e-02_rb,0.53630e-02_rb,0.53153e-02_rb,0.52574e-02_rb /) kbo(:,17, 3) = (/ & & 0.46876e-02_rb,0.46363e-02_rb,0.45869e-02_rb,0.45398e-02_rb,0.44911e-02_rb /) kbo(:,18, 3) = (/ & & 0.40806e-02_rb,0.40265e-02_rb,0.39670e-02_rb,0.39185e-02_rb,0.38714e-02_rb /) kbo(:,19, 3) = (/ & & 0.35897e-02_rb,0.35272e-02_rb,0.34695e-02_rb,0.34174e-02_rb,0.33721e-02_rb /) kbo(:,20, 3) = (/ & & 0.30557e-02_rb,0.30003e-02_rb,0.29518e-02_rb,0.29027e-02_rb,0.28623e-02_rb /) kbo(:,21, 3) = (/ & & 0.25840e-02_rb,0.25346e-02_rb,0.24907e-02_rb,0.24530e-02_rb,0.24134e-02_rb /) kbo(:,22, 3) = (/ & & 0.21784e-02_rb,0.21342e-02_rb,0.20972e-02_rb,0.20639e-02_rb,0.20310e-02_rb /) kbo(:,23, 3) = (/ & & 0.18415e-02_rb,0.17987e-02_rb,0.17683e-02_rb,0.17405e-02_rb,0.17162e-02_rb /) kbo(:,24, 3) = (/ & & 0.15599e-02_rb,0.15210e-02_rb,0.14940e-02_rb,0.14715e-02_rb,0.14516e-02_rb /) kbo(:,25, 3) = (/ & & 0.13214e-02_rb,0.12882e-02_rb,0.12631e-02_rb,0.12449e-02_rb,0.12269e-02_rb /) kbo(:,26, 3) = (/ & & 0.11148e-02_rb,0.10885e-02_rb,0.10663e-02_rb,0.10485e-02_rb,0.10339e-02_rb /) kbo(:,27, 3) = (/ & & 0.94180e-03_rb,0.92291e-03_rb,0.90201e-03_rb,0.88582e-03_rb,0.87360e-03_rb /) kbo(:,28, 3) = (/ & & 0.79929e-03_rb,0.78315e-03_rb,0.76525e-03_rb,0.75093e-03_rb,0.73943e-03_rb /) kbo(:,29, 3) = (/ & & 0.68110e-03_rb,0.66580e-03_rb,0.65234e-03_rb,0.63866e-03_rb,0.62757e-03_rb /) kbo(:,30, 3) = (/ & & 0.57975e-03_rb,0.56820e-03_rb,0.55835e-03_rb,0.54581e-03_rb,0.53624e-03_rb /) kbo(:,31, 3) = (/ & & 0.49551e-03_rb,0.48804e-03_rb,0.47841e-03_rb,0.46871e-03_rb,0.45833e-03_rb /) kbo(:,32, 3) = (/ & & 0.42572e-03_rb,0.42052e-03_rb,0.41099e-03_rb,0.40377e-03_rb,0.39554e-03_rb /) kbo(:,33, 3) = (/ & & 0.36528e-03_rb,0.36135e-03_rb,0.35701e-03_rb,0.34948e-03_rb,0.34456e-03_rb /) kbo(:,34, 3) = (/ & & 0.31415e-03_rb,0.31283e-03_rb,0.30989e-03_rb,0.30612e-03_rb,0.30054e-03_rb /) kbo(:,35, 3) = (/ & & 0.27352e-03_rb,0.27102e-03_rb,0.26979e-03_rb,0.26826e-03_rb,0.26448e-03_rb /) kbo(:,36, 3) = (/ & & 0.23967e-03_rb,0.23742e-03_rb,0.23456e-03_rb,0.23474e-03_rb,0.23316e-03_rb /) kbo(:,37, 3) = (/ & & 0.20338e-03_rb,0.20142e-03_rb,0.19919e-03_rb,0.19875e-03_rb,0.19818e-03_rb /) kbo(:,38, 3) = (/ & & 0.17257e-03_rb,0.17079e-03_rb,0.16890e-03_rb,0.16818e-03_rb,0.16767e-03_rb /) kbo(:,39, 3) = (/ & & 0.14733e-03_rb,0.14508e-03_rb,0.14396e-03_rb,0.14263e-03_rb,0.14203e-03_rb /) kbo(:,40, 3) = (/ & & 0.12225e-03_rb,0.12069e-03_rb,0.11949e-03_rb,0.11833e-03_rb,0.11808e-03_rb /) kbo(:,41, 3) = (/ & & 0.10097e-03_rb,0.10002e-03_rb,0.98765e-04_rb,0.97895e-04_rb,0.97754e-04_rb /) kbo(:,42, 3) = (/ & & 0.83346e-04_rb,0.82796e-04_rb,0.81713e-04_rb,0.81007e-04_rb,0.80814e-04_rb /) kbo(:,43, 3) = (/ & & 0.68346e-04_rb,0.68043e-04_rb,0.67367e-04_rb,0.66543e-04_rb,0.66059e-04_rb /) kbo(:,44, 3) = (/ & & 0.55818e-04_rb,0.55703e-04_rb,0.55284e-04_rb,0.54584e-04_rb,0.54239e-04_rb /) kbo(:,45, 3) = (/ & & 0.45332e-04_rb,0.45541e-04_rb,0.45337e-04_rb,0.44929e-04_rb,0.44433e-04_rb /) kbo(:,46, 3) = (/ & & 0.36748e-04_rb,0.37223e-04_rb,0.37146e-04_rb,0.36884e-04_rb,0.36439e-04_rb /) kbo(:,47, 3) = (/ & & 0.29601e-04_rb,0.30289e-04_rb,0.30405e-04_rb,0.30257e-04_rb,0.29929e-04_rb /) kbo(:,48, 3) = (/ & & 0.23826e-04_rb,0.24579e-04_rb,0.24815e-04_rb,0.24762e-04_rb,0.24572e-04_rb /) kbo(:,49, 3) = (/ & & 0.19377e-04_rb,0.19814e-04_rb,0.20191e-04_rb,0.20227e-04_rb,0.20080e-04_rb /) kbo(:,50, 3) = (/ & & 0.15665e-04_rb,0.15965e-04_rb,0.16366e-04_rb,0.16467e-04_rb,0.16386e-04_rb /) kbo(:,51, 3) = (/ & & 0.12631e-04_rb,0.12915e-04_rb,0.13203e-04_rb,0.13389e-04_rb,0.13403e-04_rb /) kbo(:,52, 3) = (/ & & 0.10160e-04_rb,0.10402e-04_rb,0.10609e-04_rb,0.10858e-04_rb,0.10900e-04_rb /) kbo(:,53, 3) = (/ & & 0.81514e-05_rb,0.83717e-05_rb,0.85717e-05_rb,0.87255e-05_rb,0.88490e-05_rb /) kbo(:,54, 3) = (/ & & 0.65924e-05_rb,0.67623e-05_rb,0.69218e-05_rb,0.70363e-05_rb,0.71744e-05_rb /) kbo(:,55, 3) = (/ & & 0.53378e-05_rb,0.54823e-05_rb,0.56002e-05_rb,0.57079e-05_rb,0.58136e-05_rb /) kbo(:,56, 3) = (/ & & 0.43093e-05_rb,0.44306e-05_rb,0.45341e-05_rb,0.46443e-05_rb,0.47053e-05_rb /) kbo(:,57, 3) = (/ & & 0.34880e-05_rb,0.35826e-05_rb,0.36738e-05_rb,0.37492e-05_rb,0.38094e-05_rb /) kbo(:,58, 3) = (/ & & 0.28214e-05_rb,0.28911e-05_rb,0.29636e-05_rb,0.30269e-05_rb,0.30943e-05_rb /) kbo(:,59, 3) = (/ & & 0.23049e-05_rb,0.23610e-05_rb,0.24232e-05_rb,0.24708e-05_rb,0.25266e-05_rb /) kbo(:,13, 4) = (/ & & 0.16886e-01_rb,0.17177e-01_rb,0.17415e-01_rb,0.17613e-01_rb,0.17771e-01_rb /) kbo(:,14, 4) = (/ & & 0.14297e-01_rb,0.14572e-01_rb,0.14791e-01_rb,0.14925e-01_rb,0.15051e-01_rb /) kbo(:,15, 4) = (/ & & 0.12142e-01_rb,0.12342e-01_rb,0.12507e-01_rb,0.12640e-01_rb,0.12754e-01_rb /) kbo(:,16, 4) = (/ & & 0.10284e-01_rb,0.10422e-01_rb,0.10545e-01_rb,0.10662e-01_rb,0.10740e-01_rb /) kbo(:,17, 4) = (/ & & 0.87377e-02_rb,0.88415e-02_rb,0.89329e-02_rb,0.90175e-02_rb,0.90716e-02_rb /) kbo(:,18, 4) = (/ & & 0.74766e-02_rb,0.75366e-02_rb,0.76038e-02_rb,0.76818e-02_rb,0.77135e-02_rb /) kbo(:,19, 4) = (/ & & 0.64241e-02_rb,0.64546e-02_rb,0.65027e-02_rb,0.65449e-02_rb,0.65755e-02_rb /) kbo(:,20, 4) = (/ & & 0.54390e-02_rb,0.54528e-02_rb,0.54854e-02_rb,0.55046e-02_rb,0.55309e-02_rb /) kbo(:,21, 4) = (/ & & 0.45856e-02_rb,0.45888e-02_rb,0.46080e-02_rb,0.46219e-02_rb,0.46381e-02_rb /) kbo(:,22, 4) = (/ & & 0.38581e-02_rb,0.38555e-02_rb,0.38631e-02_rb,0.38756e-02_rb,0.38888e-02_rb /) kbo(:,23, 4) = (/ & & 0.32522e-02_rb,0.32442e-02_rb,0.32437e-02_rb,0.32522e-02_rb,0.32616e-02_rb /) kbo(:,24, 4) = (/ & & 0.27421e-02_rb,0.27302e-02_rb,0.27267e-02_rb,0.27311e-02_rb,0.27351e-02_rb /) kbo(:,25, 4) = (/ & & 0.23082e-02_rb,0.22984e-02_rb,0.22916e-02_rb,0.22928e-02_rb,0.22950e-02_rb /) kbo(:,26, 4) = (/ & & 0.19386e-02_rb,0.19299e-02_rb,0.19241e-02_rb,0.19234e-02_rb,0.19234e-02_rb /) kbo(:,27, 4) = (/ & & 0.16295e-02_rb,0.16227e-02_rb,0.16172e-02_rb,0.16132e-02_rb,0.16138e-02_rb /) kbo(:,28, 4) = (/ & & 0.13714e-02_rb,0.13653e-02_rb,0.13589e-02_rb,0.13555e-02_rb,0.13562e-02_rb /) kbo(:,29, 4) = (/ & & 0.11583e-02_rb,0.11513e-02_rb,0.11440e-02_rb,0.11416e-02_rb,0.11458e-02_rb /) kbo(:,30, 4) = (/ & & 0.98213e-03_rb,0.97362e-03_rb,0.96774e-03_rb,0.96738e-03_rb,0.97898e-03_rb /) kbo(:,31, 4) = (/ & & 0.83694e-03_rb,0.82733e-03_rb,0.82506e-03_rb,0.82584e-03_rb,0.83454e-03_rb /) kbo(:,32, 4) = (/ & & 0.71631e-03_rb,0.70972e-03_rb,0.70944e-03_rb,0.70782e-03_rb,0.71382e-03_rb /) kbo(:,33, 4) = (/ & & 0.62056e-03_rb,0.61607e-03_rb,0.61112e-03_rb,0.60974e-03_rb,0.61416e-03_rb /) kbo(:,34, 4) = (/ & & 0.54260e-03_rb,0.53530e-03_rb,0.53018e-03_rb,0.53196e-03_rb,0.53190e-03_rb /) kbo(:,35, 4) = (/ & & 0.47557e-03_rb,0.47060e-03_rb,0.46470e-03_rb,0.46463e-03_rb,0.46278e-03_rb /) kbo(:,36, 4) = (/ & & 0.42108e-03_rb,0.41716e-03_rb,0.41356e-03_rb,0.41052e-03_rb,0.40671e-03_rb /) kbo(:,37, 4) = (/ & & 0.36059e-03_rb,0.35753e-03_rb,0.35465e-03_rb,0.35204e-03_rb,0.34625e-03_rb /) kbo(:,38, 4) = (/ & & 0.30926e-03_rb,0.30682e-03_rb,0.30403e-03_rb,0.30126e-03_rb,0.29597e-03_rb /) kbo(:,39, 4) = (/ & & 0.26586e-03_rb,0.26397e-03_rb,0.26023e-03_rb,0.25654e-03_rb,0.25399e-03_rb /) kbo(:,40, 4) = (/ & & 0.22228e-03_rb,0.22028e-03_rb,0.21711e-03_rb,0.21418e-03_rb,0.21203e-03_rb /) kbo(:,41, 4) = (/ & & 0.18516e-03_rb,0.18277e-03_rb,0.18056e-03_rb,0.17797e-03_rb,0.17615e-03_rb /) kbo(:,42, 4) = (/ & & 0.15367e-03_rb,0.15191e-03_rb,0.15012e-03_rb,0.14803e-03_rb,0.14667e-03_rb /) kbo(:,43, 4) = (/ & & 0.12696e-03_rb,0.12546e-03_rb,0.12398e-03_rb,0.12239e-03_rb,0.12042e-03_rb /) kbo(:,44, 4) = (/ & & 0.10470e-03_rb,0.10323e-03_rb,0.10199e-03_rb,0.10082e-03_rb,0.99093e-04_rb /) kbo(:,45, 4) = (/ & & 0.86543e-04_rb,0.84786e-04_rb,0.83972e-04_rb,0.82789e-04_rb,0.81392e-04_rb /) kbo(:,46, 4) = (/ & & 0.71529e-04_rb,0.69963e-04_rb,0.68982e-04_rb,0.67996e-04_rb,0.66867e-04_rb /) kbo(:,47, 4) = (/ & & 0.59457e-04_rb,0.57707e-04_rb,0.56668e-04_rb,0.55899e-04_rb,0.54959e-04_rb /) kbo(:,48, 4) = (/ & & 0.49467e-04_rb,0.47679e-04_rb,0.46593e-04_rb,0.45887e-04_rb,0.45090e-04_rb /) kbo(:,49, 4) = (/ & & 0.40766e-04_rb,0.39435e-04_rb,0.38281e-04_rb,0.37548e-04_rb,0.37003e-04_rb /) kbo(:,50, 4) = (/ & & 0.33628e-04_rb,0.32753e-04_rb,0.31623e-04_rb,0.30893e-04_rb,0.30385e-04_rb /) kbo(:,51, 4) = (/ & & 0.27865e-04_rb,0.27055e-04_rb,0.26162e-04_rb,0.25458e-04_rb,0.24898e-04_rb /) kbo(:,52, 4) = (/ & & 0.22934e-04_rb,0.22328e-04_rb,0.21731e-04_rb,0.20990e-04_rb,0.20456e-04_rb /) kbo(:,53, 4) = (/ & & 0.18846e-04_rb,0.18445e-04_rb,0.17912e-04_rb,0.17357e-04_rb,0.16833e-04_rb /) kbo(:,54, 4) = (/ & & 0.15388e-04_rb,0.15212e-04_rb,0.14808e-04_rb,0.14414e-04_rb,0.13935e-04_rb /) kbo(:,55, 4) = (/ & & 0.12598e-04_rb,0.12543e-04_rb,0.12261e-04_rb,0.11957e-04_rb,0.11571e-04_rb /) kbo(:,56, 4) = (/ & & 0.10381e-04_rb,0.10344e-04_rb,0.10166e-04_rb,0.98775e-05_rb,0.96020e-05_rb /) kbo(:,57, 4) = (/ & & 0.85457e-05_rb,0.84639e-05_rb,0.83932e-05_rb,0.81757e-05_rb,0.79545e-05_rb /) kbo(:,58, 4) = (/ & & 0.70397e-05_rb,0.69486e-05_rb,0.69316e-05_rb,0.67696e-05_rb,0.65859e-05_rb /) kbo(:,59, 4) = (/ & & 0.58257e-05_rb,0.57596e-05_rb,0.57448e-05_rb,0.56300e-05_rb,0.54831e-05_rb /) kbo(:,13, 5) = (/ & & 0.33040e-01_rb,0.33623e-01_rb,0.34360e-01_rb,0.35360e-01_rb,0.36383e-01_rb /) kbo(:,14, 5) = (/ & & 0.28634e-01_rb,0.29145e-01_rb,0.29913e-01_rb,0.30773e-01_rb,0.31595e-01_rb /) kbo(:,15, 5) = (/ & & 0.24852e-01_rb,0.25387e-01_rb,0.26038e-01_rb,0.26736e-01_rb,0.27406e-01_rb /) kbo(:,16, 5) = (/ & & 0.21426e-01_rb,0.21995e-01_rb,0.22531e-01_rb,0.23082e-01_rb,0.23575e-01_rb /) kbo(:,17, 5) = (/ & & 0.18563e-01_rb,0.19011e-01_rb,0.19492e-01_rb,0.19940e-01_rb,0.20337e-01_rb /) kbo(:,18, 5) = (/ & & 0.16067e-01_rb,0.16476e-01_rb,0.16902e-01_rb,0.17235e-01_rb,0.17579e-01_rb /) kbo(:,19, 5) = (/ & & 0.13911e-01_rb,0.14318e-01_rb,0.14657e-01_rb,0.14999e-01_rb,0.15265e-01_rb /) kbo(:,20, 5) = (/ & & 0.11889e-01_rb,0.12220e-01_rb,0.12522e-01_rb,0.12793e-01_rb,0.13028e-01_rb /) kbo(:,21, 5) = (/ & & 0.10107e-01_rb,0.10365e-01_rb,0.10626e-01_rb,0.10840e-01_rb,0.11030e-01_rb /) kbo(:,22, 5) = (/ & & 0.85828e-02_rb,0.88037e-02_rb,0.90066e-02_rb,0.91828e-02_rb,0.93108e-02_rb /) kbo(:,23, 5) = (/ & & 0.72873e-02_rb,0.74698e-02_rb,0.76229e-02_rb,0.77606e-02_rb,0.78812e-02_rb /) kbo(:,24, 5) = (/ & & 0.61731e-02_rb,0.63486e-02_rb,0.64551e-02_rb,0.65686e-02_rb,0.66826e-02_rb /) kbo(:,25, 5) = (/ & & 0.52349e-02_rb,0.53827e-02_rb,0.54728e-02_rb,0.55581e-02_rb,0.56691e-02_rb /) kbo(:,26, 5) = (/ & & 0.44343e-02_rb,0.45615e-02_rb,0.46303e-02_rb,0.47140e-02_rb,0.48058e-02_rb /) kbo(:,27, 5) = (/ & & 0.37566e-02_rb,0.38599e-02_rb,0.39250e-02_rb,0.39996e-02_rb,0.40739e-02_rb /) kbo(:,28, 5) = (/ & & 0.31898e-02_rb,0.32700e-02_rb,0.33284e-02_rb,0.33863e-02_rb,0.34483e-02_rb /) kbo(:,29, 5) = (/ & & 0.27069e-02_rb,0.27638e-02_rb,0.28173e-02_rb,0.28668e-02_rb,0.29159e-02_rb /) kbo(:,30, 5) = (/ & & 0.22952e-02_rb,0.23414e-02_rb,0.23862e-02_rb,0.24319e-02_rb,0.25045e-02_rb /) kbo(:,31, 5) = (/ & & 0.19469e-02_rb,0.19866e-02_rb,0.20269e-02_rb,0.20617e-02_rb,0.21285e-02_rb /) kbo(:,32, 5) = (/ & & 0.16569e-02_rb,0.16912e-02_rb,0.17225e-02_rb,0.17537e-02_rb,0.18151e-02_rb /) kbo(:,33, 5) = (/ & & 0.14159e-02_rb,0.14407e-02_rb,0.14672e-02_rb,0.14987e-02_rb,0.15568e-02_rb /) kbo(:,34, 5) = (/ & & 0.12124e-02_rb,0.12314e-02_rb,0.12565e-02_rb,0.13096e-02_rb,0.13455e-02_rb /) kbo(:,35, 5) = (/ & & 0.10402e-02_rb,0.10574e-02_rb,0.10852e-02_rb,0.11323e-02_rb,0.11671e-02_rb /) kbo(:,36, 5) = (/ & & 0.89606e-03_rb,0.91393e-03_rb,0.93957e-03_rb,0.98258e-03_rb,0.10142e-02_rb /) kbo(:,37, 5) = (/ & & 0.75556e-03_rb,0.77347e-03_rb,0.79494e-03_rb,0.83337e-03_rb,0.86466e-03_rb /) kbo(:,38, 5) = (/ & & 0.63793e-03_rb,0.65386e-03_rb,0.67373e-03_rb,0.70925e-03_rb,0.73610e-03_rb /) kbo(:,39, 5) = (/ & & 0.53995e-03_rb,0.55394e-03_rb,0.57091e-03_rb,0.59316e-03_rb,0.62725e-03_rb /) kbo(:,40, 5) = (/ & & 0.44830e-03_rb,0.46041e-03_rb,0.47605e-03_rb,0.49517e-03_rb,0.52406e-03_rb /) kbo(:,41, 5) = (/ & & 0.37113e-03_rb,0.38143e-03_rb,0.39555e-03_rb,0.41230e-03_rb,0.43648e-03_rb /) kbo(:,42, 5) = (/ & & 0.30743e-03_rb,0.31617e-03_rb,0.32840e-03_rb,0.34246e-03_rb,0.36323e-03_rb /) kbo(:,43, 5) = (/ & & 0.25237e-03_rb,0.25981e-03_rb,0.27013e-03_rb,0.28179e-03_rb,0.29414e-03_rb /) kbo(:,44, 5) = (/ & & 0.20643e-03_rb,0.21247e-03_rb,0.22138e-03_rb,0.23093e-03_rb,0.24175e-03_rb /) kbo(:,45, 5) = (/ & & 0.16882e-03_rb,0.17379e-03_rb,0.18072e-03_rb,0.18917e-03_rb,0.19837e-03_rb /) kbo(:,46, 5) = (/ & & 0.13808e-03_rb,0.14140e-03_rb,0.14740e-03_rb,0.15462e-03_rb,0.16243e-03_rb /) kbo(:,47, 5) = (/ & & 0.11262e-03_rb,0.11523e-03_rb,0.12010e-03_rb,0.12571e-03_rb,0.13225e-03_rb /) kbo(:,48, 5) = (/ & & 0.91738e-04_rb,0.93816e-04_rb,0.97414e-04_rb,0.10204e-03_rb,0.10733e-03_rb /) kbo(:,49, 5) = (/ & & 0.74533e-04_rb,0.76356e-04_rb,0.78756e-04_rb,0.82697e-04_rb,0.86848e-04_rb /) kbo(:,50, 5) = (/ & & 0.60870e-04_rb,0.62211e-04_rb,0.64031e-04_rb,0.67056e-04_rb,0.70590e-04_rb /) kbo(:,51, 5) = (/ & & 0.49547e-04_rb,0.50786e-04_rb,0.52181e-04_rb,0.54428e-04_rb,0.57574e-04_rb /) kbo(:,52, 5) = (/ & & 0.40457e-04_rb,0.41364e-04_rb,0.42403e-04_rb,0.44095e-04_rb,0.46746e-04_rb /) kbo(:,53, 5) = (/ & & 0.33032e-04_rb,0.33540e-04_rb,0.34449e-04_rb,0.35762e-04_rb,0.37780e-04_rb /) kbo(:,54, 5) = (/ & & 0.27201e-04_rb,0.27411e-04_rb,0.28166e-04_rb,0.29168e-04_rb,0.30744e-04_rb /) kbo(:,55, 5) = (/ & & 0.22471e-04_rb,0.22532e-04_rb,0.23075e-04_rb,0.23887e-04_rb,0.25092e-04_rb /) kbo(:,56, 5) = (/ & & 0.18480e-04_rb,0.18516e-04_rb,0.18857e-04_rb,0.19555e-04_rb,0.20483e-04_rb /) kbo(:,57, 5) = (/ & & 0.15198e-04_rb,0.15262e-04_rb,0.15424e-04_rb,0.15989e-04_rb,0.16742e-04_rb /) kbo(:,58, 5) = (/ & & 0.12523e-04_rb,0.12562e-04_rb,0.12648e-04_rb,0.13089e-04_rb,0.13686e-04_rb /) kbo(:,59, 5) = (/ & & 0.10416e-04_rb,0.10433e-04_rb,0.10536e-04_rb,0.10919e-04_rb,0.11421e-04_rb /) kbo(:,13, 6) = (/ & & 0.69718e-01_rb,0.71167e-01_rb,0.72961e-01_rb,0.74885e-01_rb,0.77322e-01_rb /) kbo(:,14, 6) = (/ & & 0.62182e-01_rb,0.63649e-01_rb,0.65193e-01_rb,0.67193e-01_rb,0.69746e-01_rb /) kbo(:,15, 6) = (/ & & 0.55177e-01_rb,0.56711e-01_rb,0.58414e-01_rb,0.60422e-01_rb,0.62756e-01_rb /) kbo(:,16, 6) = (/ & & 0.48867e-01_rb,0.50234e-01_rb,0.52023e-01_rb,0.54055e-01_rb,0.56254e-01_rb /) kbo(:,17, 6) = (/ & & 0.43174e-01_rb,0.44610e-01_rb,0.46287e-01_rb,0.48302e-01_rb,0.50389e-01_rb /) kbo(:,18, 6) = (/ & & 0.38339e-01_rb,0.39749e-01_rb,0.41335e-01_rb,0.43237e-01_rb,0.45123e-01_rb /) kbo(:,19, 6) = (/ & & 0.34315e-01_rb,0.35543e-01_rb,0.37065e-01_rb,0.38754e-01_rb,0.40597e-01_rb /) kbo(:,20, 6) = (/ & & 0.30036e-01_rb,0.31291e-01_rb,0.32637e-01_rb,0.34202e-01_rb,0.35839e-01_rb /) kbo(:,21, 6) = (/ & & 0.26135e-01_rb,0.27343e-01_rb,0.28574e-01_rb,0.30000e-01_rb,0.31460e-01_rb /) kbo(:,22, 6) = (/ & & 0.22750e-01_rb,0.23832e-01_rb,0.25080e-01_rb,0.26299e-01_rb,0.27580e-01_rb /) kbo(:,23, 6) = (/ & & 0.19795e-01_rb,0.20915e-01_rb,0.22028e-01_rb,0.23060e-01_rb,0.24140e-01_rb /) kbo(:,24, 6) = (/ & & 0.17353e-01_rb,0.18346e-01_rb,0.19305e-01_rb,0.20238e-01_rb,0.21103e-01_rb /) kbo(:,25, 6) = (/ & & 0.15226e-01_rb,0.16064e-01_rb,0.16955e-01_rb,0.17722e-01_rb,0.18477e-01_rb /) kbo(:,26, 6) = (/ & & 0.13309e-01_rb,0.14087e-01_rb,0.14848e-01_rb,0.15498e-01_rb,0.16180e-01_rb /) kbo(:,27, 6) = (/ & & 0.11623e-01_rb,0.12295e-01_rb,0.12913e-01_rb,0.13525e-01_rb,0.14113e-01_rb /) kbo(:,28, 6) = (/ & & 0.10147e-01_rb,0.10710e-01_rb,0.11240e-01_rb,0.11795e-01_rb,0.12384e-01_rb /) kbo(:,29, 6) = (/ & & 0.87968e-02_rb,0.92904e-02_rb,0.97797e-02_rb,0.10288e-01_rb,0.10828e-01_rb /) kbo(:,30, 6) = (/ & & 0.76490e-02_rb,0.80771e-02_rb,0.85219e-02_rb,0.90152e-02_rb,0.97888e-02_rb /) kbo(:,31, 6) = (/ & & 0.66330e-02_rb,0.70376e-02_rb,0.74659e-02_rb,0.79113e-02_rb,0.86622e-02_rb /) kbo(:,32, 6) = (/ & & 0.58073e-02_rb,0.61697e-02_rb,0.65754e-02_rb,0.70309e-02_rb,0.77115e-02_rb /) kbo(:,33, 6) = (/ & & 0.51062e-02_rb,0.54682e-02_rb,0.58582e-02_rb,0.62737e-02_rb,0.69163e-02_rb /) kbo(:,34, 6) = (/ & & 0.45302e-02_rb,0.48855e-02_rb,0.52639e-02_rb,0.58227e-02_rb,0.62719e-02_rb /) kbo(:,35, 6) = (/ & & 0.40254e-02_rb,0.43599e-02_rb,0.47158e-02_rb,0.52732e-02_rb,0.57228e-02_rb /) kbo(:,36, 6) = (/ & & 0.35647e-02_rb,0.38837e-02_rb,0.42167e-02_rb,0.47705e-02_rb,0.52032e-02_rb /) kbo(:,37, 6) = (/ & & 0.30730e-02_rb,0.33561e-02_rb,0.36823e-02_rb,0.41868e-02_rb,0.45932e-02_rb /) kbo(:,38, 6) = (/ & & 0.26407e-02_rb,0.29052e-02_rb,0.32061e-02_rb,0.36781e-02_rb,0.40664e-02_rb /) kbo(:,39, 6) = (/ & & 0.22667e-02_rb,0.25156e-02_rb,0.28017e-02_rb,0.31173e-02_rb,0.36136e-02_rb /) kbo(:,40, 6) = (/ & & 0.19056e-02_rb,0.21267e-02_rb,0.23879e-02_rb,0.26789e-02_rb,0.31309e-02_rb /) kbo(:,41, 6) = (/ & & 0.15967e-02_rb,0.17952e-02_rb,0.20263e-02_rb,0.22865e-02_rb,0.27062e-02_rb /) kbo(:,42, 6) = (/ & & 0.13343e-02_rb,0.15081e-02_rb,0.17167e-02_rb,0.19538e-02_rb,0.23416e-02_rb /) kbo(:,43, 6) = (/ & & 0.10981e-02_rb,0.12492e-02_rb,0.14292e-02_rb,0.16430e-02_rb,0.19013e-02_rb /) kbo(:,44, 6) = (/ & & 0.89464e-03_rb,0.10267e-02_rb,0.11827e-02_rb,0.13698e-02_rb,0.16046e-02_rb /) kbo(:,45, 6) = (/ & & 0.72683e-03_rb,0.83985e-03_rb,0.97469e-03_rb,0.11376e-02_rb,0.13459e-02_rb /) kbo(:,46, 6) = (/ & & 0.58610e-03_rb,0.68242e-03_rb,0.79873e-03_rb,0.94079e-03_rb,0.11248e-02_rb /) kbo(:,47, 6) = (/ & & 0.46823e-03_rb,0.54958e-03_rb,0.64876e-03_rb,0.77111e-03_rb,0.93276e-03_rb /) kbo(:,48, 6) = (/ & & 0.37202e-03_rb,0.44089e-03_rb,0.52431e-03_rb,0.62811e-03_rb,0.76979e-03_rb /) kbo(:,49, 6) = (/ & & 0.29424e-03_rb,0.35087e-03_rb,0.42017e-03_rb,0.50926e-03_rb,0.63166e-03_rb /) kbo(:,50, 6) = (/ & & 0.23381e-03_rb,0.28036e-03_rb,0.33854e-03_rb,0.41547e-03_rb,0.52066e-03_rb /) kbo(:,51, 6) = (/ & & 0.18542e-03_rb,0.22410e-03_rb,0.27211e-03_rb,0.33806e-03_rb,0.42775e-03_rb /) kbo(:,52, 6) = (/ & & 0.14646e-03_rb,0.17824e-03_rb,0.21799e-03_rb,0.27400e-03_rb,0.34964e-03_rb /) kbo(:,53, 6) = (/ & & 0.11499e-03_rb,0.14049e-03_rb,0.17412e-03_rb,0.22038e-03_rb,0.28435e-03_rb /) kbo(:,54, 6) = (/ & & 0.91160e-04_rb,0.11217e-03_rb,0.13972e-03_rb,0.17793e-03_rb,0.23213e-03_rb /) kbo(:,55, 6) = (/ & & 0.72474e-04_rb,0.89606e-04_rb,0.11228e-03_rb,0.14368e-03_rb,0.18928e-03_rb /) kbo(:,56, 6) = (/ & & 0.57463e-04_rb,0.71291e-04_rb,0.89786e-04_rb,0.11554e-03_rb,0.15352e-03_rb /) kbo(:,57, 6) = (/ & & 0.45287e-04_rb,0.56571e-04_rb,0.71524e-04_rb,0.92319e-04_rb,0.12382e-03_rb /) kbo(:,58, 6) = (/ & & 0.35841e-04_rb,0.44939e-04_rb,0.57025e-04_rb,0.73710e-04_rb,0.99673e-04_rb /) kbo(:,59, 6) = (/ & & 0.29941e-04_rb,0.37721e-04_rb,0.48119e-04_rb,0.62420e-04_rb,0.85059e-04_rb /) kbo(:,13, 7) = (/ & & 0.16189e+00_rb,0.16561e+00_rb,0.16999e+00_rb,0.17514e+00_rb,0.18068e+00_rb /) kbo(:,14, 7) = (/ & & 0.14981e+00_rb,0.15416e+00_rb,0.15917e+00_rb,0.16420e+00_rb,0.16989e+00_rb /) kbo(:,15, 7) = (/ & & 0.13875e+00_rb,0.14297e+00_rb,0.14757e+00_rb,0.15249e+00_rb,0.15852e+00_rb /) kbo(:,16, 7) = (/ & & 0.12672e+00_rb,0.13073e+00_rb,0.13523e+00_rb,0.14037e+00_rb,0.14640e+00_rb /) kbo(:,17, 7) = (/ & & 0.11530e+00_rb,0.11958e+00_rb,0.12450e+00_rb,0.12975e+00_rb,0.13596e+00_rb /) kbo(:,18, 7) = (/ & & 0.10572e+00_rb,0.11005e+00_rb,0.11482e+00_rb,0.12031e+00_rb,0.12674e+00_rb /) kbo(:,19, 7) = (/ & & 0.97798e-01_rb,0.10221e+00_rb,0.10713e+00_rb,0.11251e+00_rb,0.11882e+00_rb /) kbo(:,20, 7) = (/ & & 0.88438e-01_rb,0.93059e-01_rb,0.98290e-01_rb,0.10406e+00_rb,0.11034e+00_rb /) kbo(:,21, 7) = (/ & & 0.79615e-01_rb,0.84383e-01_rb,0.89776e-01_rb,0.95707e-01_rb,0.10218e+00_rb /) kbo(:,22, 7) = (/ & & 0.71663e-01_rb,0.76568e-01_rb,0.81968e-01_rb,0.88106e-01_rb,0.94703e-01_rb /) kbo(:,23, 7) = (/ & & 0.64729e-01_rb,0.69601e-01_rb,0.75178e-01_rb,0.81445e-01_rb,0.88072e-01_rb /) kbo(:,24, 7) = (/ & & 0.58713e-01_rb,0.63692e-01_rb,0.69398e-01_rb,0.75609e-01_rb,0.82402e-01_rb /) kbo(:,25, 7) = (/ & & 0.53422e-01_rb,0.58504e-01_rb,0.64255e-01_rb,0.70582e-01_rb,0.77266e-01_rb /) kbo(:,26, 7) = (/ & & 0.48884e-01_rb,0.53907e-01_rb,0.59754e-01_rb,0.66093e-01_rb,0.72781e-01_rb /) kbo(:,27, 7) = (/ & & 0.44782e-01_rb,0.49959e-01_rb,0.55649e-01_rb,0.61937e-01_rb,0.68517e-01_rb /) kbo(:,28, 7) = (/ & & 0.41164e-01_rb,0.46305e-01_rb,0.52009e-01_rb,0.58205e-01_rb,0.64389e-01_rb /) kbo(:,29, 7) = (/ & & 0.37976e-01_rb,0.43033e-01_rb,0.48696e-01_rb,0.54470e-01_rb,0.60707e-01_rb /) kbo(:,30, 7) = (/ & & 0.35210e-01_rb,0.40258e-01_rb,0.45653e-01_rb,0.51435e-01_rb,0.59091e-01_rb /) kbo(:,31, 7) = (/ & & 0.32774e-01_rb,0.37557e-01_rb,0.43028e-01_rb,0.48762e-01_rb,0.56208e-01_rb /) kbo(:,32, 7) = (/ & & 0.30628e-01_rb,0.35555e-01_rb,0.40840e-01_rb,0.46513e-01_rb,0.53917e-01_rb /) kbo(:,33, 7) = (/ & & 0.29120e-01_rb,0.33908e-01_rb,0.39209e-01_rb,0.44801e-01_rb,0.52179e-01_rb /) kbo(:,34, 7) = (/ & & 0.27843e-01_rb,0.32610e-01_rb,0.37873e-01_rb,0.45101e-01_rb,0.51127e-01_rb /) kbo(:,35, 7) = (/ & & 0.26429e-01_rb,0.31201e-01_rb,0.36480e-01_rb,0.43796e-01_rb,0.49886e-01_rb /) kbo(:,36, 7) = (/ & & 0.24910e-01_rb,0.29603e-01_rb,0.34935e-01_rb,0.42317e-01_rb,0.48474e-01_rb /) kbo(:,37, 7) = (/ & & 0.22623e-01_rb,0.27186e-01_rb,0.32364e-01_rb,0.39709e-01_rb,0.45895e-01_rb /) kbo(:,38, 7) = (/ & & 0.20536e-01_rb,0.25035e-01_rb,0.30138e-01_rb,0.37341e-01_rb,0.43584e-01_rb /) kbo(:,39, 7) = (/ & & 0.18744e-01_rb,0.23143e-01_rb,0.28133e-01_rb,0.33754e-01_rb,0.41569e-01_rb /) kbo(:,40, 7) = (/ & & 0.16632e-01_rb,0.20751e-01_rb,0.25556e-01_rb,0.30972e-01_rb,0.38593e-01_rb /) kbo(:,41, 7) = (/ & & 0.14671e-01_rb,0.18541e-01_rb,0.23110e-01_rb,0.28292e-01_rb,0.35702e-01_rb /) kbo(:,42, 7) = (/ & & 0.12909e-01_rb,0.16573e-01_rb,0.20901e-01_rb,0.25885e-01_rb,0.32997e-01_rb /) kbo(:,43, 7) = (/ & & 0.11155e-01_rb,0.14521e-01_rb,0.18561e-01_rb,0.23268e-01_rb,0.28558e-01_rb /) kbo(:,44, 7) = (/ & & 0.95144e-02_rb,0.12576e-01_rb,0.16313e-01_rb,0.20662e-01_rb,0.25638e-01_rb /) kbo(:,45, 7) = (/ & & 0.80643e-02_rb,0.10847e-01_rb,0.14290e-01_rb,0.18347e-01_rb,0.23034e-01_rb /) kbo(:,46, 7) = (/ & & 0.67589e-02_rb,0.92659e-02_rb,0.12372e-01_rb,0.16082e-01_rb,0.20456e-01_rb /) kbo(:,47, 7) = (/ & & 0.55482e-02_rb,0.77474e-02_rb,0.10528e-01_rb,0.13920e-01_rb,0.17966e-01_rb /) kbo(:,48, 7) = (/ & & 0.45013e-02_rb,0.64175e-02_rb,0.88907e-02_rb,0.11958e-01_rb,0.15638e-01_rb /) kbo(:,49, 7) = (/ & & 0.36173e-02_rb,0.52743e-02_rb,0.74530e-02_rb,0.10200e-01_rb,0.13544e-01_rb /) kbo(:,50, 7) = (/ & & 0.29073e-02_rb,0.43372e-02_rb,0.62514e-02_rb,0.87078e-02_rb,0.11757e-01_rb /) kbo(:,51, 7) = (/ & & 0.23200e-02_rb,0.35429e-02_rb,0.52236e-02_rb,0.74160e-02_rb,0.10190e-01_rb /) kbo(:,52, 7) = (/ & & 0.18398e-02_rb,0.28704e-02_rb,0.43321e-02_rb,0.62743e-02_rb,0.87585e-02_rb /) kbo(:,53, 7) = (/ & & 0.14394e-02_rb,0.22999e-02_rb,0.35535e-02_rb,0.52615e-02_rb,0.74854e-02_rb /) kbo(:,54, 7) = (/ & & 0.11368e-02_rb,0.18545e-02_rb,0.29326e-02_rb,0.44372e-02_rb,0.64347e-02_rb /) kbo(:,55, 7) = (/ & & 0.89467e-03_rb,0.14935e-02_rb,0.24197e-02_rb,0.37410e-02_rb,0.55222e-02_rb /) kbo(:,56, 7) = (/ & & 0.69687e-03_rb,0.11894e-02_rb,0.19763e-02_rb,0.31286e-02_rb,0.47149e-02_rb /) kbo(:,57, 7) = (/ & & 0.53791e-03_rb,0.93747e-03_rb,0.15990e-02_rb,0.25976e-02_rb,0.39986e-02_rb /) kbo(:,58, 7) = (/ & & 0.41410e-03_rb,0.73971e-03_rb,0.12907e-02_rb,0.21482e-02_rb,0.33858e-02_rb /) kbo(:,59, 7) = (/ & & 0.35405e-03_rb,0.64717e-03_rb,0.11503e-02_rb,0.19466e-02_rb,0.31094e-02_rb /) kbo(:,13, 8) = (/ & & 0.45516e+00_rb,0.46955e+00_rb,0.48450e+00_rb,0.50029e+00_rb,0.51769e+00_rb /) kbo(:,14, 8) = (/ & & 0.43991e+00_rb,0.45312e+00_rb,0.46646e+00_rb,0.48116e+00_rb,0.49718e+00_rb /) kbo(:,15, 8) = (/ & & 0.42871e+00_rb,0.44246e+00_rb,0.45762e+00_rb,0.47406e+00_rb,0.49132e+00_rb /) kbo(:,16, 8) = (/ & & 0.40699e+00_rb,0.42153e+00_rb,0.43710e+00_rb,0.45468e+00_rb,0.47435e+00_rb /) kbo(:,17, 8) = (/ & & 0.38538e+00_rb,0.39940e+00_rb,0.41418e+00_rb,0.43146e+00_rb,0.45140e+00_rb /) kbo(:,18, 8) = (/ & & 0.36235e+00_rb,0.37741e+00_rb,0.39391e+00_rb,0.41121e+00_rb,0.43054e+00_rb /) kbo(:,19, 8) = (/ & & 0.34180e+00_rb,0.35677e+00_rb,0.37295e+00_rb,0.39070e+00_rb,0.41121e+00_rb /) kbo(:,20, 8) = (/ & & 0.31818e+00_rb,0.33243e+00_rb,0.34824e+00_rb,0.36683e+00_rb,0.38832e+00_rb /) kbo(:,21, 8) = (/ & & 0.29454e+00_rb,0.30892e+00_rb,0.32519e+00_rb,0.34434e+00_rb,0.36621e+00_rb /) kbo(:,22, 8) = (/ & & 0.27292e+00_rb,0.28819e+00_rb,0.30567e+00_rb,0.32553e+00_rb,0.34730e+00_rb /) kbo(:,23, 8) = (/ & & 0.25455e+00_rb,0.27053e+00_rb,0.28810e+00_rb,0.30845e+00_rb,0.33065e+00_rb /) kbo(:,24, 8) = (/ & & 0.23920e+00_rb,0.25523e+00_rb,0.27293e+00_rb,0.29370e+00_rb,0.31644e+00_rb /) kbo(:,25, 8) = (/ & & 0.22572e+00_rb,0.24152e+00_rb,0.26024e+00_rb,0.28092e+00_rb,0.30402e+00_rb /) kbo(:,26, 8) = (/ & & 0.21333e+00_rb,0.23053e+00_rb,0.24913e+00_rb,0.27069e+00_rb,0.29445e+00_rb /) kbo(:,27, 8) = (/ & & 0.20216e+00_rb,0.22006e+00_rb,0.23987e+00_rb,0.26172e+00_rb,0.28552e+00_rb /) kbo(:,28, 8) = (/ & & 0.19243e+00_rb,0.21106e+00_rb,0.23162e+00_rb,0.25373e+00_rb,0.27880e+00_rb /) kbo(:,29, 8) = (/ & & 0.18399e+00_rb,0.20352e+00_rb,0.22446e+00_rb,0.24815e+00_rb,0.27383e+00_rb /) kbo(:,30, 8) = (/ & & 0.17696e+00_rb,0.19707e+00_rb,0.21934e+00_rb,0.24428e+00_rb,0.27560e+00_rb /) kbo(:,31, 8) = (/ & & 0.17154e+00_rb,0.19276e+00_rb,0.21622e+00_rb,0.24297e+00_rb,0.27512e+00_rb /) kbo(:,32, 8) = (/ & & 0.16864e+00_rb,0.19074e+00_rb,0.21586e+00_rb,0.24341e+00_rb,0.27678e+00_rb /) kbo(:,33, 8) = (/ & & 0.16705e+00_rb,0.19103e+00_rb,0.21725e+00_rb,0.24571e+00_rb,0.27988e+00_rb /) kbo(:,34, 8) = (/ & & 0.16718e+00_rb,0.19214e+00_rb,0.21923e+00_rb,0.25236e+00_rb,0.28358e+00_rb /) kbo(:,35, 8) = (/ & & 0.16615e+00_rb,0.19194e+00_rb,0.21973e+00_rb,0.25386e+00_rb,0.28528e+00_rb /) kbo(:,36, 8) = (/ & & 0.16355e+00_rb,0.18981e+00_rb,0.21857e+00_rb,0.25318e+00_rb,0.28503e+00_rb /) kbo(:,37, 8) = (/ & & 0.15644e+00_rb,0.18272e+00_rb,0.21137e+00_rb,0.24627e+00_rb,0.27830e+00_rb /) kbo(:,38, 8) = (/ & & 0.14985e+00_rb,0.17574e+00_rb,0.20437e+00_rb,0.23950e+00_rb,0.27160e+00_rb /) kbo(:,39, 8) = (/ & & 0.14373e+00_rb,0.16918e+00_rb,0.19762e+00_rb,0.22814e+00_rb,0.26522e+00_rb /) kbo(:,40, 8) = (/ & & 0.13479e+00_rb,0.15968e+00_rb,0.18756e+00_rb,0.21775e+00_rb,0.25463e+00_rb /) kbo(:,41, 8) = (/ & & 0.12605e+00_rb,0.15045e+00_rb,0.17752e+00_rb,0.20726e+00_rb,0.24367e+00_rb /) kbo(:,42, 8) = (/ & & 0.11784e+00_rb,0.14153e+00_rb,0.16784e+00_rb,0.19712e+00_rb,0.23353e+00_rb /) kbo(:,43, 8) = (/ & & 0.10839e+00_rb,0.13122e+00_rb,0.15696e+00_rb,0.18528e+00_rb,0.21641e+00_rb /) kbo(:,44, 8) = (/ & & 0.98772e-01_rb,0.12078e+00_rb,0.14549e+00_rb,0.17313e+00_rb,0.20344e+00_rb /) kbo(:,45, 8) = (/ & & 0.89757e-01_rb,0.11096e+00_rb,0.13484e+00_rb,0.16135e+00_rb,0.19086e+00_rb /) kbo(:,46, 8) = (/ & & 0.80754e-01_rb,0.10111e+00_rb,0.12397e+00_rb,0.14951e+00_rb,0.17812e+00_rb /) kbo(:,47, 8) = (/ & & 0.71551e-01_rb,0.90848e-01_rb,0.11265e+00_rb,0.13712e+00_rb,0.16456e+00_rb /) kbo(:,48, 8) = (/ & & 0.63023e-01_rb,0.81188e-01_rb,0.10192e+00_rb,0.12530e+00_rb,0.15155e+00_rb /) kbo(:,49, 8) = (/ & & 0.55112e-01_rb,0.71966e-01_rb,0.91627e-01_rb,0.11386e+00_rb,0.13887e+00_rb /) kbo(:,50, 8) = (/ & & 0.48148e-01_rb,0.63904e-01_rb,0.82545e-01_rb,0.10380e+00_rb,0.12775e+00_rb /) kbo(:,51, 8) = (/ & & 0.42077e-01_rb,0.56742e-01_rb,0.74219e-01_rb,0.94436e-01_rb,0.11735e+00_rb /) kbo(:,52, 8) = (/ & & 0.36406e-01_rb,0.49929e-01_rb,0.66400e-01_rb,0.85557e-01_rb,0.10751e+00_rb /) kbo(:,53, 8) = (/ & & 0.31162e-01_rb,0.43645e-01_rb,0.58971e-01_rb,0.77049e-01_rb,0.97772e-01_rb /) kbo(:,54, 8) = (/ & & 0.26848e-01_rb,0.38389e-01_rb,0.52700e-01_rb,0.69937e-01_rb,0.89664e-01_rb /) kbo(:,55, 8) = (/ & & 0.23145e-01_rb,0.33793e-01_rb,0.47177e-01_rb,0.63590e-01_rb,0.82440e-01_rb /) kbo(:,56, 8) = (/ & & 0.19764e-01_rb,0.29522e-01_rb,0.42050e-01_rb,0.57472e-01_rb,0.75623e-01_rb /) kbo(:,57, 8) = (/ & & 0.16713e-01_rb,0.25602e-01_rb,0.37259e-01_rb,0.51705e-01_rb,0.68976e-01_rb /) kbo(:,58, 8) = (/ & & 0.14134e-01_rb,0.22215e-01_rb,0.32983e-01_rb,0.46579e-01_rb,0.62982e-01_rb /) kbo(:,59, 8) = (/ & & 0.13103e-01_rb,0.20874e-01_rb,0.31397e-01_rb,0.44700e-01_rb,0.60881e-01_rb /) kbo(:,13, 9) = (/ & & 0.30563e+01_rb,0.31744e+01_rb,0.32842e+01_rb,0.33901e+01_rb,0.34937e+01_rb /) kbo(:,14, 9) = (/ & & 0.27752e+01_rb,0.28869e+01_rb,0.29933e+01_rb,0.30958e+01_rb,0.31932e+01_rb /) kbo(:,15, 9) = (/ & & 0.25099e+01_rb,0.26164e+01_rb,0.27185e+01_rb,0.28161e+01_rb,0.29094e+01_rb /) kbo(:,16, 9) = (/ & & 0.23062e+01_rb,0.23985e+01_rb,0.24887e+01_rb,0.25791e+01_rb,0.26657e+01_rb /) kbo(:,17, 9) = (/ & & 0.21996e+01_rb,0.22783e+01_rb,0.23521e+01_rb,0.24248e+01_rb,0.25028e+01_rb /) kbo(:,18, 9) = (/ & & 0.22125e+01_rb,0.22932e+01_rb,0.23665e+01_rb,0.24375e+01_rb,0.25051e+01_rb /) kbo(:,19, 9) = (/ & & 0.22641e+01_rb,0.23491e+01_rb,0.24239e+01_rb,0.24973e+01_rb,0.25657e+01_rb /) kbo(:,20, 9) = (/ & & 0.22472e+01_rb,0.23357e+01_rb,0.24204e+01_rb,0.24964e+01_rb,0.25675e+01_rb /) kbo(:,21, 9) = (/ & & 0.21851e+01_rb,0.22830e+01_rb,0.23690e+01_rb,0.24562e+01_rb,0.25370e+01_rb /) kbo(:,22, 9) = (/ & & 0.21175e+01_rb,0.22142e+01_rb,0.23108e+01_rb,0.24049e+01_rb,0.24949e+01_rb /) kbo(:,23, 9) = (/ & & 0.20447e+01_rb,0.21452e+01_rb,0.22435e+01_rb,0.23385e+01_rb,0.24298e+01_rb /) kbo(:,24, 9) = (/ & & 0.19721e+01_rb,0.20737e+01_rb,0.21717e+01_rb,0.22760e+01_rb,0.23715e+01_rb /) kbo(:,25, 9) = (/ & & 0.18957e+01_rb,0.20036e+01_rb,0.21100e+01_rb,0.22176e+01_rb,0.23221e+01_rb /) kbo(:,26, 9) = (/ & & 0.18288e+01_rb,0.19378e+01_rb,0.20515e+01_rb,0.21609e+01_rb,0.22728e+01_rb /) kbo(:,27, 9) = (/ & & 0.17692e+01_rb,0.18810e+01_rb,0.19951e+01_rb,0.21151e+01_rb,0.22361e+01_rb /) kbo(:,28, 9) = (/ & & 0.17168e+01_rb,0.18338e+01_rb,0.19558e+01_rb,0.20789e+01_rb,0.22051e+01_rb /) kbo(:,29, 9) = (/ & & 0.16702e+01_rb,0.17936e+01_rb,0.19235e+01_rb,0.20524e+01_rb,0.21850e+01_rb /) kbo(:,30, 9) = (/ & & 0.16394e+01_rb,0.17677e+01_rb,0.19029e+01_rb,0.20369e+01_rb,0.21882e+01_rb /) kbo(:,31, 9) = (/ & & 0.16228e+01_rb,0.17523e+01_rb,0.18896e+01_rb,0.20262e+01_rb,0.21815e+01_rb /) kbo(:,32, 9) = (/ & & 0.16178e+01_rb,0.17489e+01_rb,0.18859e+01_rb,0.20233e+01_rb,0.21838e+01_rb /) kbo(:,33, 9) = (/ & & 0.16221e+01_rb,0.17529e+01_rb,0.18876e+01_rb,0.20327e+01_rb,0.21960e+01_rb /) kbo(:,34, 9) = (/ & & 0.16321e+01_rb,0.17688e+01_rb,0.19069e+01_rb,0.20650e+01_rb,0.22191e+01_rb /) kbo(:,35, 9) = (/ & & 0.16388e+01_rb,0.17830e+01_rb,0.19261e+01_rb,0.20887e+01_rb,0.22365e+01_rb /) kbo(:,36, 9) = (/ & & 0.16423e+01_rb,0.17895e+01_rb,0.19390e+01_rb,0.21032e+01_rb,0.22561e+01_rb /) kbo(:,37, 9) = (/ & & 0.16080e+01_rb,0.17565e+01_rb,0.19076e+01_rb,0.20741e+01_rb,0.22287e+01_rb /) kbo(:,38, 9) = (/ & & 0.15745e+01_rb,0.17245e+01_rb,0.18721e+01_rb,0.20419e+01_rb,0.21969e+01_rb /) kbo(:,39, 9) = (/ & & 0.15386e+01_rb,0.16919e+01_rb,0.18410e+01_rb,0.19923e+01_rb,0.21638e+01_rb /) kbo(:,40, 9) = (/ & & 0.14840e+01_rb,0.16355e+01_rb,0.17855e+01_rb,0.19337e+01_rb,0.21026e+01_rb /) kbo(:,41, 9) = (/ & & 0.14260e+01_rb,0.15758e+01_rb,0.17241e+01_rb,0.18746e+01_rb,0.20398e+01_rb /) kbo(:,42, 9) = (/ & & 0.13688e+01_rb,0.15162e+01_rb,0.16646e+01_rb,0.18157e+01_rb,0.19780e+01_rb /) kbo(:,43, 9) = (/ & & 0.13011e+01_rb,0.14473e+01_rb,0.15936e+01_rb,0.17402e+01_rb,0.18823e+01_rb /) kbo(:,44, 9) = (/ & & 0.12278e+01_rb,0.13710e+01_rb,0.15157e+01_rb,0.16568e+01_rb,0.17952e+01_rb /) kbo(:,45, 9) = (/ & & 0.11558e+01_rb,0.12957e+01_rb,0.14361e+01_rb,0.15731e+01_rb,0.17094e+01_rb /) kbo(:,46, 9) = (/ & & 0.10820e+01_rb,0.12147e+01_rb,0.13532e+01_rb,0.14890e+01_rb,0.16181e+01_rb /) kbo(:,47, 9) = (/ & & 0.10024e+01_rb,0.11346e+01_rb,0.12669e+01_rb,0.14002e+01_rb,0.15260e+01_rb /) kbo(:,48, 9) = (/ & & 0.92524e+00_rb,0.10524e+01_rb,0.11804e+01_rb,0.13068e+01_rb,0.14296e+01_rb /) kbo(:,49, 9) = (/ & & 0.84698e+00_rb,0.96805e+00_rb,0.10902e+01_rb,0.12100e+01_rb,0.13299e+01_rb /) kbo(:,50, 9) = (/ & & 0.78084e+00_rb,0.89928e+00_rb,0.10161e+01_rb,0.11323e+01_rb,0.12472e+01_rb /) kbo(:,51, 9) = (/ & & 0.72222e+00_rb,0.83480e+00_rb,0.94748e+00_rb,0.10626e+01_rb,0.11740e+01_rb /) kbo(:,52, 9) = (/ & & 0.66260e+00_rb,0.77045e+00_rb,0.88348e+00_rb,0.99181e+00_rb,0.10995e+01_rb /) kbo(:,53, 9) = (/ & & 0.60516e+00_rb,0.71083e+00_rb,0.81698e+00_rb,0.91863e+00_rb,0.10219e+01_rb /) kbo(:,54, 9) = (/ & & 0.56176e+00_rb,0.66472e+00_rb,0.77054e+00_rb,0.87249e+00_rb,0.97306e+00_rb /) kbo(:,55, 9) = (/ & & 0.52563e+00_rb,0.63037e+00_rb,0.73497e+00_rb,0.83878e+00_rb,0.93923e+00_rb /) kbo(:,56, 9) = (/ & & 0.49056e+00_rb,0.59429e+00_rb,0.69788e+00_rb,0.80509e+00_rb,0.90615e+00_rb /) kbo(:,57, 9) = (/ & & 0.45575e+00_rb,0.55861e+00_rb,0.66303e+00_rb,0.76942e+00_rb,0.87211e+00_rb /) kbo(:,58, 9) = (/ & & 0.42419e+00_rb,0.52609e+00_rb,0.63048e+00_rb,0.73708e+00_rb,0.84331e+00_rb /) kbo(:,59, 9) = (/ & & 0.42340e+00_rb,0.52953e+00_rb,0.63843e+00_rb,0.74879e+00_rb,0.86046e+00_rb /) kbo(:,13,10) = (/ & & 0.14973e+02_rb,0.15466e+02_rb,0.15907e+02_rb,0.16294e+02_rb,0.16648e+02_rb /) kbo(:,14,10) = (/ & & 0.13327e+02_rb,0.13717e+02_rb,0.14036e+02_rb,0.14348e+02_rb,0.14658e+02_rb /) kbo(:,15,10) = (/ & & 0.12219e+02_rb,0.12428e+02_rb,0.12649e+02_rb,0.12810e+02_rb,0.12959e+02_rb /) kbo(:,16,10) = (/ & & 0.11245e+02_rb,0.11501e+02_rb,0.11701e+02_rb,0.11817e+02_rb,0.11948e+02_rb /) kbo(:,17,10) = (/ & & 0.96706e+01_rb,0.99707e+01_rb,0.10257e+02_rb,0.10540e+02_rb,0.10718e+02_rb /) kbo(:,18,10) = (/ & & 0.83018e+01_rb,0.83446e+01_rb,0.84207e+01_rb,0.85262e+01_rb,0.86783e+01_rb /) kbo(:,19,10) = (/ & & 0.82250e+01_rb,0.81929e+01_rb,0.82337e+01_rb,0.82572e+01_rb,0.83177e+01_rb /) kbo(:,20,10) = (/ & & 0.81684e+01_rb,0.81782e+01_rb,0.82244e+01_rb,0.82765e+01_rb,0.82985e+01_rb /) kbo(:,21,10) = (/ & & 0.82586e+01_rb,0.83055e+01_rb,0.84017e+01_rb,0.83815e+01_rb,0.83594e+01_rb /) kbo(:,22,10) = (/ & & 0.83686e+01_rb,0.84604e+01_rb,0.85363e+01_rb,0.84786e+01_rb,0.84786e+01_rb /) kbo(:,23,10) = (/ & & 0.84301e+01_rb,0.85903e+01_rb,0.87569e+01_rb,0.87953e+01_rb,0.87965e+01_rb /) kbo(:,24,10) = (/ & & 0.85690e+01_rb,0.88097e+01_rb,0.90359e+01_rb,0.90994e+01_rb,0.92201e+01_rb /) kbo(:,25,10) = (/ & & 0.87852e+01_rb,0.90719e+01_rb,0.92672e+01_rb,0.94098e+01_rb,0.95600e+01_rb /) kbo(:,26,10) = (/ & & 0.88651e+01_rb,0.92334e+01_rb,0.94525e+01_rb,0.97256e+01_rb,0.98986e+01_rb /) kbo(:,27,10) = (/ & & 0.88645e+01_rb,0.92932e+01_rb,0.96152e+01_rb,0.98392e+01_rb,0.10037e+02_rb /) kbo(:,28,10) = (/ & & 0.88548e+01_rb,0.93070e+01_rb,0.96176e+01_rb,0.99813e+01_rb,0.10238e+02_rb /) kbo(:,29,10) = (/ & & 0.88198e+01_rb,0.92265e+01_rb,0.96024e+01_rb,0.99285e+01_rb,0.10232e+02_rb /) kbo(:,30,10) = (/ & & 0.87818e+01_rb,0.92083e+01_rb,0.95579e+01_rb,0.98976e+01_rb,0.10208e+02_rb /) kbo(:,31,10) = (/ & & 0.86036e+01_rb,0.90621e+01_rb,0.94967e+01_rb,0.98500e+01_rb,0.10159e+02_rb /) kbo(:,32,10) = (/ & & 0.84748e+01_rb,0.89960e+01_rb,0.94428e+01_rb,0.98336e+01_rb,0.10196e+02_rb /) kbo(:,33,10) = (/ & & 0.84172e+01_rb,0.89420e+01_rb,0.94383e+01_rb,0.98344e+01_rb,0.10060e+02_rb /) kbo(:,34,10) = (/ & & 0.84605e+01_rb,0.89751e+01_rb,0.94683e+01_rb,0.98852e+01_rb,0.10023e+02_rb /) kbo(:,35,10) = (/ & & 0.84589e+01_rb,0.89233e+01_rb,0.94002e+01_rb,0.98511e+01_rb,0.10024e+02_rb /) kbo(:,36,10) = (/ & & 0.84558e+01_rb,0.89580e+01_rb,0.93747e+01_rb,0.98030e+01_rb,0.10000e+02_rb /) kbo(:,37,10) = (/ & & 0.82385e+01_rb,0.87614e+01_rb,0.91541e+01_rb,0.95514e+01_rb,0.97363e+01_rb /) kbo(:,38,10) = (/ & & 0.80132e+01_rb,0.84437e+01_rb,0.89304e+01_rb,0.92902e+01_rb,0.94811e+01_rb /) kbo(:,39,10) = (/ & & 0.78203e+01_rb,0.81981e+01_rb,0.85539e+01_rb,0.89689e+01_rb,0.90927e+01_rb /) kbo(:,40,10) = (/ & & 0.75978e+01_rb,0.79610e+01_rb,0.82423e+01_rb,0.86095e+01_rb,0.88190e+01_rb /) kbo(:,41,10) = (/ & & 0.73029e+01_rb,0.76481e+01_rb,0.79708e+01_rb,0.82445e+01_rb,0.84426e+01_rb /) kbo(:,42,10) = (/ & & 0.70166e+01_rb,0.73754e+01_rb,0.76378e+01_rb,0.78862e+01_rb,0.80985e+01_rb /) kbo(:,43,10) = (/ & & 0.66293e+01_rb,0.69504e+01_rb,0.72276e+01_rb,0.75120e+01_rb,0.77099e+01_rb /) kbo(:,44,10) = (/ & & 0.62312e+01_rb,0.65696e+01_rb,0.68647e+01_rb,0.71226e+01_rb,0.73305e+01_rb /) kbo(:,45,10) = (/ & & 0.58229e+01_rb,0.61620e+01_rb,0.64682e+01_rb,0.67341e+01_rb,0.69070e+01_rb /) kbo(:,46,10) = (/ & & 0.53657e+01_rb,0.57492e+01_rb,0.60377e+01_rb,0.63031e+01_rb,0.64992e+01_rb /) kbo(:,47,10) = (/ & & 0.50350e+01_rb,0.53678e+01_rb,0.56656e+01_rb,0.59201e+01_rb,0.61262e+01_rb /) kbo(:,48,10) = (/ & & 0.46566e+01_rb,0.49901e+01_rb,0.52633e+01_rb,0.54964e+01_rb,0.57537e+01_rb /) kbo(:,49,10) = (/ & & 0.42801e+01_rb,0.46217e+01_rb,0.49093e+01_rb,0.51104e+01_rb,0.53644e+01_rb /) kbo(:,50,10) = (/ & & 0.39613e+01_rb,0.43120e+01_rb,0.45848e+01_rb,0.48588e+01_rb,0.50774e+01_rb /) kbo(:,51,10) = (/ & & 0.37006e+01_rb,0.40662e+01_rb,0.43615e+01_rb,0.46264e+01_rb,0.48701e+01_rb /) kbo(:,52,10) = (/ & & 0.34485e+01_rb,0.37934e+01_rb,0.40667e+01_rb,0.43544e+01_rb,0.46481e+01_rb /) kbo(:,53,10) = (/ & & 0.31594e+01_rb,0.35032e+01_rb,0.37934e+01_rb,0.41156e+01_rb,0.44077e+01_rb /) kbo(:,54,10) = (/ & & 0.29800e+01_rb,0.33284e+01_rb,0.36333e+01_rb,0.39624e+01_rb,0.42528e+01_rb /) kbo(:,55,10) = (/ & & 0.28569e+01_rb,0.32159e+01_rb,0.35391e+01_rb,0.38186e+01_rb,0.41402e+01_rb /) kbo(:,56,10) = (/ & & 0.26907e+01_rb,0.31071e+01_rb,0.34476e+01_rb,0.36941e+01_rb,0.40212e+01_rb /) kbo(:,57,10) = (/ & & 0.25638e+01_rb,0.29869e+01_rb,0.33345e+01_rb,0.36081e+01_rb,0.38859e+01_rb /) kbo(:,58,10) = (/ & & 0.24665e+01_rb,0.28708e+01_rb,0.32402e+01_rb,0.35331e+01_rb,0.37851e+01_rb /) kbo(:,59,10) = (/ & & 0.25432e+01_rb,0.29855e+01_rb,0.33662e+01_rb,0.37020e+01_rb,0.39522e+01_rb /) kbo(:,13,11) = (/ & & 0.31099e+02_rb,0.31647e+02_rb,0.32241e+02_rb,0.32842e+02_rb,0.33417e+02_rb /) kbo(:,14,11) = (/ & & 0.27698e+02_rb,0.28253e+02_rb,0.28859e+02_rb,0.29460e+02_rb,0.30083e+02_rb /) kbo(:,15,11) = (/ & & 0.24330e+02_rb,0.24945e+02_rb,0.25542e+02_rb,0.26234e+02_rb,0.26922e+02_rb /) kbo(:,16,11) = (/ & & 0.21190e+02_rb,0.21758e+02_rb,0.22384e+02_rb,0.23019e+02_rb,0.23628e+02_rb /) kbo(:,17,11) = (/ & & 0.18967e+02_rb,0.19413e+02_rb,0.19858e+02_rb,0.20261e+02_rb,0.20672e+02_rb /) kbo(:,18,11) = (/ & & 0.16374e+02_rb,0.16952e+02_rb,0.17497e+02_rb,0.17964e+02_rb,0.18478e+02_rb /) kbo(:,19,11) = (/ & & 0.13248e+02_rb,0.13545e+02_rb,0.13847e+02_rb,0.14297e+02_rb,0.14705e+02_rb /) kbo(:,20,11) = (/ & & 0.12757e+02_rb,0.12785e+02_rb,0.12667e+02_rb,0.12601e+02_rb,0.12612e+02_rb /) kbo(:,21,11) = (/ & & 0.12844e+02_rb,0.12624e+02_rb,0.12433e+02_rb,0.12193e+02_rb,0.12175e+02_rb /) kbo(:,22,11) = (/ & & 0.12738e+02_rb,0.12567e+02_rb,0.12225e+02_rb,0.12063e+02_rb,0.11980e+02_rb /) kbo(:,23,11) = (/ & & 0.12815e+02_rb,0.12660e+02_rb,0.12272e+02_rb,0.12108e+02_rb,0.12066e+02_rb /) kbo(:,24,11) = (/ & & 0.13079e+02_rb,0.12972e+02_rb,0.12651e+02_rb,0.12388e+02_rb,0.12367e+02_rb /) kbo(:,25,11) = (/ & & 0.13341e+02_rb,0.13256e+02_rb,0.13023e+02_rb,0.12848e+02_rb,0.12659e+02_rb /) kbo(:,26,11) = (/ & & 0.13512e+02_rb,0.13453e+02_rb,0.13443e+02_rb,0.13113e+02_rb,0.13141e+02_rb /) kbo(:,27,11) = (/ & & 0.13706e+02_rb,0.13750e+02_rb,0.13824e+02_rb,0.13564e+02_rb,0.13665e+02_rb /) kbo(:,28,11) = (/ & & 0.13979e+02_rb,0.14080e+02_rb,0.14203e+02_rb,0.13858e+02_rb,0.13981e+02_rb /) kbo(:,29,11) = (/ & & 0.13934e+02_rb,0.14086e+02_rb,0.14156e+02_rb,0.14057e+02_rb,0.14114e+02_rb /) kbo(:,30,11) = (/ & & 0.13981e+02_rb,0.13996e+02_rb,0.13975e+02_rb,0.14010e+02_rb,0.14196e+02_rb /) kbo(:,31,11) = (/ & & 0.13896e+02_rb,0.13857e+02_rb,0.13654e+02_rb,0.13807e+02_rb,0.13871e+02_rb /) kbo(:,32,11) = (/ & & 0.13655e+02_rb,0.13646e+02_rb,0.13416e+02_rb,0.13538e+02_rb,0.13488e+02_rb /) kbo(:,33,11) = (/ & & 0.13398e+02_rb,0.13279e+02_rb,0.13235e+02_rb,0.13164e+02_rb,0.13195e+02_rb /) kbo(:,34,11) = (/ & & 0.13280e+02_rb,0.13155e+02_rb,0.13035e+02_rb,0.13095e+02_rb,0.13023e+02_rb /) kbo(:,35,11) = (/ & & 0.13174e+02_rb,0.13038e+02_rb,0.12951e+02_rb,0.12819e+02_rb,0.12932e+02_rb /) kbo(:,36,11) = (/ & & 0.13159e+02_rb,0.12953e+02_rb,0.12943e+02_rb,0.12899e+02_rb,0.13077e+02_rb /) kbo(:,37,11) = (/ & & 0.12968e+02_rb,0.12722e+02_rb,0.12741e+02_rb,0.12684e+02_rb,0.12881e+02_rb /) kbo(:,38,11) = (/ & & 0.12648e+02_rb,0.12436e+02_rb,0.12390e+02_rb,0.12534e+02_rb,0.12593e+02_rb /) kbo(:,39,11) = (/ & & 0.12145e+02_rb,0.12036e+02_rb,0.12198e+02_rb,0.12171e+02_rb,0.12374e+02_rb /) kbo(:,40,11) = (/ & & 0.11784e+02_rb,0.11714e+02_rb,0.11852e+02_rb,0.11995e+02_rb,0.12020e+02_rb /) kbo(:,41,11) = (/ & & 0.11419e+02_rb,0.11429e+02_rb,0.11554e+02_rb,0.11799e+02_rb,0.11809e+02_rb /) kbo(:,42,11) = (/ & & 0.11076e+02_rb,0.11047e+02_rb,0.11287e+02_rb,0.11460e+02_rb,0.11610e+02_rb /) kbo(:,43,11) = (/ & & 0.10635e+02_rb,0.10772e+02_rb,0.10970e+02_rb,0.11110e+02_rb,0.11339e+02_rb /) kbo(:,44,11) = (/ & & 0.10081e+02_rb,0.10347e+02_rb,0.10495e+02_rb,0.10710e+02_rb,0.10998e+02_rb /) kbo(:,45,11) = (/ & & 0.95493e+01_rb,0.97720e+01_rb,0.10013e+02_rb,0.10318e+02_rb,0.10626e+02_rb /) kbo(:,46,11) = (/ & & 0.91901e+01_rb,0.92815e+01_rb,0.95285e+01_rb,0.99399e+01_rb,0.10216e+02_rb /) kbo(:,47,11) = (/ & & 0.86762e+01_rb,0.88384e+01_rb,0.91370e+01_rb,0.95143e+01_rb,0.99290e+01_rb /) kbo(:,48,11) = (/ & & 0.80969e+01_rb,0.84350e+01_rb,0.87222e+01_rb,0.91427e+01_rb,0.95881e+01_rb /) kbo(:,49,11) = (/ & & 0.74881e+01_rb,0.78692e+01_rb,0.82390e+01_rb,0.88564e+01_rb,0.92509e+01_rb /) kbo(:,50,11) = (/ & & 0.70193e+01_rb,0.74373e+01_rb,0.79400e+01_rb,0.84415e+01_rb,0.90721e+01_rb /) kbo(:,51,11) = (/ & & 0.66370e+01_rb,0.71214e+01_rb,0.76381e+01_rb,0.81180e+01_rb,0.89263e+01_rb /) kbo(:,52,11) = (/ & & 0.62242e+01_rb,0.68097e+01_rb,0.73447e+01_rb,0.79515e+01_rb,0.88951e+01_rb /) kbo(:,53,11) = (/ & & 0.58238e+01_rb,0.63775e+01_rb,0.69942e+01_rb,0.79247e+01_rb,0.89454e+01_rb /) kbo(:,54,11) = (/ & & 0.55499e+01_rb,0.61225e+01_rb,0.67115e+01_rb,0.76390e+01_rb,0.86771e+01_rb /) kbo(:,55,11) = (/ & & 0.53976e+01_rb,0.59288e+01_rb,0.64661e+01_rb,0.72387e+01_rb,0.82482e+01_rb /) kbo(:,56,11) = (/ & & 0.52864e+01_rb,0.57486e+01_rb,0.62663e+01_rb,0.68889e+01_rb,0.78153e+01_rb /) kbo(:,57,11) = (/ & & 0.51174e+01_rb,0.55624e+01_rb,0.60808e+01_rb,0.66051e+01_rb,0.73800e+01_rb /) kbo(:,58,11) = (/ & & 0.49368e+01_rb,0.54350e+01_rb,0.59533e+01_rb,0.64218e+01_rb,0.70057e+01_rb /) kbo(:,59,11) = (/ & & 0.50812e+01_rb,0.56369e+01_rb,0.60928e+01_rb,0.64990e+01_rb,0.70265e+01_rb /) kbo(:,13,12) = (/ & & 0.69704e+02_rb,0.70627e+02_rb,0.71228e+02_rb,0.71788e+02_rb,0.72437e+02_rb /) kbo(:,14,12) = (/ & & 0.64379e+02_rb,0.65225e+02_rb,0.66016e+02_rb,0.66901e+02_rb,0.67785e+02_rb /) kbo(:,15,12) = (/ & & 0.58655e+02_rb,0.59644e+02_rb,0.60731e+02_rb,0.61788e+02_rb,0.62973e+02_rb /) kbo(:,16,12) = (/ & & 0.53041e+02_rb,0.54211e+02_rb,0.55406e+02_rb,0.56764e+02_rb,0.58230e+02_rb /) kbo(:,17,12) = (/ & & 0.47145e+02_rb,0.48549e+02_rb,0.50104e+02_rb,0.51815e+02_rb,0.53646e+02_rb /) kbo(:,18,12) = (/ & & 0.41118e+02_rb,0.42628e+02_rb,0.44372e+02_rb,0.46307e+02_rb,0.48319e+02_rb /) kbo(:,19,12) = (/ & & 0.35042e+02_rb,0.36608e+02_rb,0.38443e+02_rb,0.40582e+02_rb,0.43018e+02_rb /) kbo(:,20,12) = (/ & & 0.28625e+02_rb,0.30224e+02_rb,0.32288e+02_rb,0.34780e+02_rb,0.37414e+02_rb /) kbo(:,21,12) = (/ & & 0.24017e+02_rb,0.25409e+02_rb,0.27330e+02_rb,0.29600e+02_rb,0.32108e+02_rb /) kbo(:,22,12) = (/ & & 0.21793e+02_rb,0.22620e+02_rb,0.24096e+02_rb,0.26102e+02_rb,0.28497e+02_rb /) kbo(:,23,12) = (/ & & 0.21413e+02_rb,0.21831e+02_rb,0.22594e+02_rb,0.23606e+02_rb,0.25745e+02_rb /) kbo(:,24,12) = (/ & & 0.21009e+02_rb,0.21418e+02_rb,0.22293e+02_rb,0.23189e+02_rb,0.24234e+02_rb /) kbo(:,25,12) = (/ & & 0.21184e+02_rb,0.21661e+02_rb,0.22476e+02_rb,0.23334e+02_rb,0.24471e+02_rb /) kbo(:,26,12) = (/ & & 0.21853e+02_rb,0.22488e+02_rb,0.23205e+02_rb,0.24024e+02_rb,0.25192e+02_rb /) kbo(:,27,12) = (/ & & 0.22275e+02_rb,0.22928e+02_rb,0.23659e+02_rb,0.24768e+02_rb,0.25734e+02_rb /) kbo(:,28,12) = (/ & & 0.22649e+02_rb,0.23413e+02_rb,0.24091e+02_rb,0.25549e+02_rb,0.26436e+02_rb /) kbo(:,29,12) = (/ & & 0.22704e+02_rb,0.23483e+02_rb,0.24191e+02_rb,0.25460e+02_rb,0.26653e+02_rb /) kbo(:,30,12) = (/ & & 0.22666e+02_rb,0.23444e+02_rb,0.24530e+02_rb,0.25500e+02_rb,0.26652e+02_rb /) kbo(:,31,12) = (/ & & 0.22235e+02_rb,0.23247e+02_rb,0.24248e+02_rb,0.25076e+02_rb,0.26466e+02_rb /) kbo(:,32,12) = (/ & & 0.22226e+02_rb,0.22827e+02_rb,0.24083e+02_rb,0.25139e+02_rb,0.26181e+02_rb /) kbo(:,33,12) = (/ & & 0.22210e+02_rb,0.22941e+02_rb,0.24126e+02_rb,0.25269e+02_rb,0.26783e+02_rb /) kbo(:,34,12) = (/ & & 0.22243e+02_rb,0.23077e+02_rb,0.24337e+02_rb,0.25761e+02_rb,0.27799e+02_rb /) kbo(:,35,12) = (/ & & 0.22396e+02_rb,0.23583e+02_rb,0.24898e+02_rb,0.26594e+02_rb,0.29392e+02_rb /) kbo(:,36,12) = (/ & & 0.22982e+02_rb,0.24125e+02_rb,0.25363e+02_rb,0.27311e+02_rb,0.30508e+02_rb /) kbo(:,37,12) = (/ & & 0.22918e+02_rb,0.23937e+02_rb,0.25281e+02_rb,0.27602e+02_rb,0.31235e+02_rb /) kbo(:,38,12) = (/ & & 0.22758e+02_rb,0.23720e+02_rb,0.25240e+02_rb,0.28261e+02_rb,0.32012e+02_rb /) kbo(:,39,12) = (/ & & 0.22553e+02_rb,0.23629e+02_rb,0.25559e+02_rb,0.29164e+02_rb,0.32971e+02_rb /) kbo(:,40,12) = (/ & & 0.21913e+02_rb,0.23010e+02_rb,0.25397e+02_rb,0.28931e+02_rb,0.33000e+02_rb /) kbo(:,41,12) = (/ & & 0.21428e+02_rb,0.22543e+02_rb,0.25193e+02_rb,0.28521e+02_rb,0.32655e+02_rb /) kbo(:,42,12) = (/ & & 0.20806e+02_rb,0.22057e+02_rb,0.24895e+02_rb,0.28307e+02_rb,0.32344e+02_rb /) kbo(:,43,12) = (/ & & 0.20230e+02_rb,0.21402e+02_rb,0.24438e+02_rb,0.27778e+02_rb,0.31742e+02_rb /) kbo(:,44,12) = (/ & & 0.19439e+02_rb,0.20816e+02_rb,0.24038e+02_rb,0.27280e+02_rb,0.31112e+02_rb /) kbo(:,45,12) = (/ & & 0.18615e+02_rb,0.20644e+02_rb,0.23787e+02_rb,0.26906e+02_rb,0.30508e+02_rb /) kbo(:,46,12) = (/ & & 0.17932e+02_rb,0.20436e+02_rb,0.23444e+02_rb,0.26514e+02_rb,0.30043e+02_rb /) kbo(:,47,12) = (/ & & 0.17388e+02_rb,0.20062e+02_rb,0.22865e+02_rb,0.25992e+02_rb,0.29187e+02_rb /) kbo(:,48,12) = (/ & & 0.17144e+02_rb,0.19562e+02_rb,0.22419e+02_rb,0.25556e+02_rb,0.28578e+02_rb /) kbo(:,49,12) = (/ & & 0.16956e+02_rb,0.19439e+02_rb,0.22133e+02_rb,0.25135e+02_rb,0.28141e+02_rb /) kbo(:,50,12) = (/ & & 0.16529e+02_rb,0.19034e+02_rb,0.21605e+02_rb,0.24563e+02_rb,0.27331e+02_rb /) kbo(:,51,12) = (/ & & 0.15953e+02_rb,0.18522e+02_rb,0.21071e+02_rb,0.23856e+02_rb,0.26389e+02_rb /) kbo(:,52,12) = (/ & & 0.15476e+02_rb,0.18037e+02_rb,0.20576e+02_rb,0.23092e+02_rb,0.25303e+02_rb /) kbo(:,53,12) = (/ & & 0.14987e+02_rb,0.17619e+02_rb,0.20150e+02_rb,0.22182e+02_rb,0.24323e+02_rb /) kbo(:,54,12) = (/ & & 0.14316e+02_rb,0.16769e+02_rb,0.19340e+02_rb,0.21295e+02_rb,0.23328e+02_rb /) kbo(:,55,12) = (/ & & 0.13478e+02_rb,0.15723e+02_rb,0.18284e+02_rb,0.20497e+02_rb,0.22282e+02_rb /) kbo(:,56,12) = (/ & & 0.12615e+02_rb,0.14717e+02_rb,0.17222e+02_rb,0.19626e+02_rb,0.21412e+02_rb /) kbo(:,57,12) = (/ & & 0.11789e+02_rb,0.13910e+02_rb,0.16111e+02_rb,0.18559e+02_rb,0.20605e+02_rb /) kbo(:,58,12) = (/ & & 0.10935e+02_rb,0.12994e+02_rb,0.15023e+02_rb,0.17386e+02_rb,0.19630e+02_rb /) kbo(:,59,12) = (/ & & 0.10847e+02_rb,0.11985e+02_rb,0.13699e+02_rb,0.15922e+02_rb,0.18130e+02_rb /) kbo(:,13,13) = (/ & & 0.15243e+03_rb,0.15414e+03_rb,0.15604e+03_rb,0.15731e+03_rb,0.15805e+03_rb /) kbo(:,14,13) = (/ & & 0.15017e+03_rb,0.15285e+03_rb,0.15509e+03_rb,0.15662e+03_rb,0.15764e+03_rb /) kbo(:,15,13) = (/ & & 0.14701e+03_rb,0.15032e+03_rb,0.15250e+03_rb,0.15435e+03_rb,0.15583e+03_rb /) kbo(:,16,13) = (/ & & 0.14269e+03_rb,0.14580e+03_rb,0.14857e+03_rb,0.15094e+03_rb,0.15306e+03_rb /) kbo(:,17,13) = (/ & & 0.13670e+03_rb,0.14035e+03_rb,0.14376e+03_rb,0.14689e+03_rb,0.14976e+03_rb /) kbo(:,18,13) = (/ & & 0.13015e+03_rb,0.13455e+03_rb,0.13871e+03_rb,0.14263e+03_rb,0.14625e+03_rb /) kbo(:,19,13) = (/ & & 0.12287e+03_rb,0.12845e+03_rb,0.13370e+03_rb,0.13836e+03_rb,0.14277e+03_rb /) kbo(:,20,13) = (/ & & 0.11516e+03_rb,0.12176e+03_rb,0.12807e+03_rb,0.13396e+03_rb,0.13973e+03_rb /) kbo(:,21,13) = (/ & & 0.10676e+03_rb,0.11461e+03_rb,0.12196e+03_rb,0.12926e+03_rb,0.13605e+03_rb /) kbo(:,22,13) = (/ & & 0.98495e+02_rb,0.10775e+03_rb,0.11663e+03_rb,0.12493e+03_rb,0.13260e+03_rb /) kbo(:,23,13) = (/ & & 0.89816e+02_rb,0.10015e+03_rb,0.11065e+03_rb,0.12084e+03_rb,0.12951e+03_rb /) kbo(:,24,13) = (/ & & 0.82797e+02_rb,0.93590e+02_rb,0.10444e+03_rb,0.11545e+03_rb,0.12590e+03_rb /) kbo(:,25,13) = (/ & & 0.77256e+02_rb,0.88067e+02_rb,0.99408e+02_rb,0.11069e+03_rb,0.12164e+03_rb /) kbo(:,26,13) = (/ & & 0.73787e+02_rb,0.84230e+02_rb,0.95403e+02_rb,0.10719e+03_rb,0.11797e+03_rb /) kbo(:,27,13) = (/ & & 0.72626e+02_rb,0.82623e+02_rb,0.93417e+02_rb,0.10482e+03_rb,0.11588e+03_rb /) kbo(:,28,13) = (/ & & 0.72289e+02_rb,0.81705e+02_rb,0.92658e+02_rb,0.10355e+03_rb,0.11467e+03_rb /) kbo(:,29,13) = (/ & & 0.73831e+02_rb,0.83248e+02_rb,0.93801e+02_rb,0.10474e+03_rb,0.11551e+03_rb /) kbo(:,30,13) = (/ & & 0.76016e+02_rb,0.86113e+02_rb,0.95367e+02_rb,0.10651e+03_rb,0.11733e+03_rb /) kbo(:,31,13) = (/ & & 0.80058e+02_rb,0.89705e+02_rb,0.99793e+02_rb,0.10982e+03_rb,0.12052e+03_rb /) kbo(:,32,13) = (/ & & 0.85064e+02_rb,0.94860e+02_rb,0.10434e+03_rb,0.11401e+03_rb,0.12404e+03_rb /) kbo(:,33,13) = (/ & & 0.90655e+02_rb,0.10081e+03_rb,0.10992e+03_rb,0.11933e+03_rb,0.12788e+03_rb /) kbo(:,34,13) = (/ & & 0.95857e+02_rb,0.10597e+03_rb,0.11520e+03_rb,0.12356e+03_rb,0.13127e+03_rb /) kbo(:,35,13) = (/ & & 0.99393e+02_rb,0.11014e+03_rb,0.12003e+03_rb,0.12794e+03_rb,0.13407e+03_rb /) kbo(:,36,13) = (/ & & 0.10100e+03_rb,0.11220e+03_rb,0.12221e+03_rb,0.13085e+03_rb,0.13724e+03_rb /) kbo(:,37,13) = (/ & & 0.10052e+03_rb,0.11217e+03_rb,0.12302e+03_rb,0.13127e+03_rb,0.13704e+03_rb /) kbo(:,38,13) = (/ & & 0.10046e+03_rb,0.11273e+03_rb,0.12310e+03_rb,0.13118e+03_rb,0.13742e+03_rb /) kbo(:,39,13) = (/ & & 0.10122e+03_rb,0.11326e+03_rb,0.12361e+03_rb,0.13081e+03_rb,0.13784e+03_rb /) kbo(:,40,13) = (/ & & 0.10000e+03_rb,0.11180e+03_rb,0.12195e+03_rb,0.12930e+03_rb,0.13636e+03_rb /) kbo(:,41,13) = (/ & & 0.98394e+02_rb,0.11024e+03_rb,0.11969e+03_rb,0.12788e+03_rb,0.13497e+03_rb /) kbo(:,42,13) = (/ & & 0.97071e+02_rb,0.10823e+03_rb,0.11769e+03_rb,0.12630e+03_rb,0.13330e+03_rb /) kbo(:,43,13) = (/ & & 0.94820e+02_rb,0.10592e+03_rb,0.11514e+03_rb,0.12393e+03_rb,0.13107e+03_rb /) kbo(:,44,13) = (/ & & 0.92475e+02_rb,0.10313e+03_rb,0.11198e+03_rb,0.12120e+03_rb,0.12869e+03_rb /) kbo(:,45,13) = (/ & & 0.90255e+02_rb,0.99678e+02_rb,0.10888e+03_rb,0.11824e+03_rb,0.12634e+03_rb /) kbo(:,46,13) = (/ & & 0.87084e+02_rb,0.96376e+02_rb,0.10582e+03_rb,0.11496e+03_rb,0.12350e+03_rb /) kbo(:,47,13) = (/ & & 0.83116e+02_rb,0.92026e+02_rb,0.10209e+03_rb,0.11120e+03_rb,0.12020e+03_rb /) kbo(:,48,13) = (/ & & 0.78845e+02_rb,0.88316e+02_rb,0.97984e+02_rb,0.10729e+03_rb,0.11639e+03_rb /) kbo(:,49,13) = (/ & & 0.74841e+02_rb,0.84389e+02_rb,0.93907e+02_rb,0.10286e+03_rb,0.11277e+03_rb /) kbo(:,50,13) = (/ & & 0.71259e+02_rb,0.80370e+02_rb,0.89851e+02_rb,0.99011e+02_rb,0.10882e+03_rb /) kbo(:,51,13) = (/ & & 0.67667e+02_rb,0.76332e+02_rb,0.85552e+02_rb,0.95111e+02_rb,0.10517e+03_rb /) kbo(:,52,13) = (/ & & 0.64036e+02_rb,0.72373e+02_rb,0.81228e+02_rb,0.91458e+02_rb,0.10109e+03_rb /) kbo(:,53,13) = (/ & & 0.60531e+02_rb,0.68539e+02_rb,0.77029e+02_rb,0.87314e+02_rb,0.97171e+02_rb /) kbo(:,54,13) = (/ & & 0.57169e+02_rb,0.65298e+02_rb,0.73473e+02_rb,0.83504e+02_rb,0.93303e+02_rb /) kbo(:,55,13) = (/ & & 0.53955e+02_rb,0.61813e+02_rb,0.70099e+02_rb,0.79656e+02_rb,0.89859e+02_rb /) kbo(:,56,13) = (/ & & 0.50772e+02_rb,0.58658e+02_rb,0.66829e+02_rb,0.76079e+02_rb,0.86127e+02_rb /) kbo(:,57,13) = (/ & & 0.47708e+02_rb,0.55213e+02_rb,0.63250e+02_rb,0.72545e+02_rb,0.82495e+02_rb /) kbo(:,58,13) = (/ & & 0.45026e+02_rb,0.52243e+02_rb,0.60123e+02_rb,0.69281e+02_rb,0.79017e+02_rb /) kbo(:,59,13) = (/ & & 0.42111e+02_rb,0.50365e+02_rb,0.58368e+02_rb,0.67832e+02_rb,0.76877e+02_rb /) kbo(:,13,14) = (/ & & 0.32174e+03_rb,0.31744e+03_rb,0.31218e+03_rb,0.30740e+03_rb,0.30288e+03_rb /) kbo(:,14,14) = (/ & & 0.33593e+03_rb,0.33142e+03_rb,0.32669e+03_rb,0.32231e+03_rb,0.31834e+03_rb /) kbo(:,15,14) = (/ & & 0.34823e+03_rb,0.34389e+03_rb,0.34037e+03_rb,0.33690e+03_rb,0.33355e+03_rb /) kbo(:,16,14) = (/ & & 0.35878e+03_rb,0.35631e+03_rb,0.35376e+03_rb,0.35105e+03_rb,0.34819e+03_rb /) kbo(:,17,14) = (/ & & 0.36906e+03_rb,0.36793e+03_rb,0.36636e+03_rb,0.36433e+03_rb,0.36182e+03_rb /) kbo(:,18,14) = (/ & & 0.37817e+03_rb,0.37835e+03_rb,0.37763e+03_rb,0.37618e+03_rb,0.37389e+03_rb /) kbo(:,19,14) = (/ & & 0.38585e+03_rb,0.38729e+03_rb,0.38746e+03_rb,0.38655e+03_rb,0.38433e+03_rb /) kbo(:,20,14) = (/ & & 0.39236e+03_rb,0.39495e+03_rb,0.39589e+03_rb,0.39530e+03_rb,0.39330e+03_rb /) kbo(:,21,14) = (/ & & 0.39808e+03_rb,0.40159e+03_rb,0.40312e+03_rb,0.40280e+03_rb,0.40090e+03_rb /) kbo(:,22,14) = (/ & & 0.40338e+03_rb,0.40757e+03_rb,0.40933e+03_rb,0.40908e+03_rb,0.40708e+03_rb /) kbo(:,23,14) = (/ & & 0.40834e+03_rb,0.41282e+03_rb,0.41463e+03_rb,0.41442e+03_rb,0.41222e+03_rb /) kbo(:,24,14) = (/ & & 0.41280e+03_rb,0.41739e+03_rb,0.41916e+03_rb,0.41879e+03_rb,0.41631e+03_rb /) kbo(:,25,14) = (/ & & 0.41635e+03_rb,0.42140e+03_rb,0.42295e+03_rb,0.42231e+03_rb,0.41948e+03_rb /) kbo(:,26,14) = (/ & & 0.41887e+03_rb,0.42439e+03_rb,0.42613e+03_rb,0.42509e+03_rb,0.42199e+03_rb /) kbo(:,27,14) = (/ & & 0.42034e+03_rb,0.42637e+03_rb,0.42837e+03_rb,0.42723e+03_rb,0.42380e+03_rb /) kbo(:,28,14) = (/ & & 0.42191e+03_rb,0.42841e+03_rb,0.43008e+03_rb,0.42870e+03_rb,0.42501e+03_rb /) kbo(:,29,14) = (/ & & 0.42351e+03_rb,0.42979e+03_rb,0.43162e+03_rb,0.42986e+03_rb,0.42579e+03_rb /) kbo(:,30,14) = (/ & & 0.42461e+03_rb,0.42985e+03_rb,0.43291e+03_rb,0.43068e+03_rb,0.42610e+03_rb /) kbo(:,31,14) = (/ & & 0.42505e+03_rb,0.43017e+03_rb,0.43191e+03_rb,0.43099e+03_rb,0.42603e+03_rb /) kbo(:,32,14) = (/ & & 0.42362e+03_rb,0.42860e+03_rb,0.43041e+03_rb,0.42915e+03_rb,0.42555e+03_rb /) kbo(:,33,14) = (/ & & 0.42123e+03_rb,0.42505e+03_rb,0.42663e+03_rb,0.42551e+03_rb,0.42290e+03_rb /) kbo(:,34,14) = (/ & & 0.41773e+03_rb,0.42082e+03_rb,0.42178e+03_rb,0.42110e+03_rb,0.41858e+03_rb /) kbo(:,35,14) = (/ & & 0.41435e+03_rb,0.41544e+03_rb,0.41491e+03_rb,0.41443e+03_rb,0.41216e+03_rb /) kbo(:,36,14) = (/ & & 0.41009e+03_rb,0.41065e+03_rb,0.40988e+03_rb,0.40756e+03_rb,0.40367e+03_rb /) kbo(:,37,14) = (/ & & 0.40889e+03_rb,0.40948e+03_rb,0.40755e+03_rb,0.40547e+03_rb,0.40195e+03_rb /) kbo(:,38,14) = (/ & & 0.40736e+03_rb,0.40781e+03_rb,0.40666e+03_rb,0.40322e+03_rb,0.39939e+03_rb /) kbo(:,39,14) = (/ & & 0.40514e+03_rb,0.40605e+03_rb,0.40431e+03_rb,0.40166e+03_rb,0.39666e+03_rb /) kbo(:,40,14) = (/ & & 0.40543e+03_rb,0.40633e+03_rb,0.40490e+03_rb,0.40260e+03_rb,0.39791e+03_rb /) kbo(:,41,14) = (/ & & 0.40503e+03_rb,0.40615e+03_rb,0.40599e+03_rb,0.40348e+03_rb,0.39947e+03_rb /) kbo(:,42,14) = (/ & & 0.40408e+03_rb,0.40664e+03_rb,0.40681e+03_rb,0.40441e+03_rb,0.40107e+03_rb /) kbo(:,43,14) = (/ & & 0.40250e+03_rb,0.40659e+03_rb,0.40791e+03_rb,0.40633e+03_rb,0.40362e+03_rb /) kbo(:,44,14) = (/ & & 0.40121e+03_rb,0.40653e+03_rb,0.40934e+03_rb,0.40832e+03_rb,0.40616e+03_rb /) kbo(:,45,14) = (/ & & 0.39928e+03_rb,0.40669e+03_rb,0.41014e+03_rb,0.41010e+03_rb,0.40849e+03_rb /) kbo(:,46,14) = (/ & & 0.39656e+03_rb,0.40551e+03_rb,0.41027e+03_rb,0.41167e+03_rb,0.41068e+03_rb /) kbo(:,47,14) = (/ & & 0.39317e+03_rb,0.40403e+03_rb,0.40985e+03_rb,0.41273e+03_rb,0.41264e+03_rb /) kbo(:,48,14) = (/ & & 0.38915e+03_rb,0.40116e+03_rb,0.40932e+03_rb,0.41346e+03_rb,0.41469e+03_rb /) kbo(:,49,14) = (/ & & 0.38398e+03_rb,0.39755e+03_rb,0.40789e+03_rb,0.41416e+03_rb,0.41577e+03_rb /) kbo(:,50,14) = (/ & & 0.37757e+03_rb,0.39396e+03_rb,0.40616e+03_rb,0.41381e+03_rb,0.41707e+03_rb /) kbo(:,51,14) = (/ & & 0.37117e+03_rb,0.38987e+03_rb,0.40415e+03_rb,0.41318e+03_rb,0.41740e+03_rb /) kbo(:,52,14) = (/ & & 0.36408e+03_rb,0.38505e+03_rb,0.40161e+03_rb,0.41151e+03_rb,0.41801e+03_rb /) kbo(:,53,14) = (/ & & 0.35611e+03_rb,0.37948e+03_rb,0.39824e+03_rb,0.40994e+03_rb,0.41764e+03_rb /) kbo(:,54,14) = (/ & & 0.34712e+03_rb,0.37341e+03_rb,0.39425e+03_rb,0.40798e+03_rb,0.41739e+03_rb /) kbo(:,55,14) = (/ & & 0.33857e+03_rb,0.36757e+03_rb,0.38995e+03_rb,0.40583e+03_rb,0.41654e+03_rb /) kbo(:,56,14) = (/ & & 0.32949e+03_rb,0.36056e+03_rb,0.38492e+03_rb,0.40281e+03_rb,0.41532e+03_rb /) kbo(:,57,14) = (/ & & 0.31954e+03_rb,0.35312e+03_rb,0.37997e+03_rb,0.39944e+03_rb,0.41349e+03_rb /) kbo(:,58,14) = (/ & & 0.30943e+03_rb,0.34518e+03_rb,0.37428e+03_rb,0.39571e+03_rb,0.41155e+03_rb /) kbo(:,59,14) = (/ & & 0.30628e+03_rb,0.34259e+03_rb,0.37284e+03_rb,0.39463e+03_rb,0.41220e+03_rb /) kbo(:,13,15) = (/ & & 0.58702e+03_rb,0.56862e+03_rb,0.55331e+03_rb,0.53896e+03_rb,0.52495e+03_rb /) kbo(:,14,15) = (/ & & 0.64037e+03_rb,0.62129e+03_rb,0.60436e+03_rb,0.58772e+03_rb,0.57127e+03_rb /) kbo(:,15,15) = (/ & & 0.69642e+03_rb,0.67640e+03_rb,0.65677e+03_rb,0.63714e+03_rb,0.61752e+03_rb /) kbo(:,16,15) = (/ & & 0.75408e+03_rb,0.73150e+03_rb,0.70834e+03_rb,0.68512e+03_rb,0.66206e+03_rb /) kbo(:,17,15) = (/ & & 0.81156e+03_rb,0.78496e+03_rb,0.75773e+03_rb,0.73064e+03_rb,0.70441e+03_rb /) kbo(:,18,15) = (/ & & 0.86684e+03_rb,0.83552e+03_rb,0.80425e+03_rb,0.77370e+03_rb,0.74441e+03_rb /) kbo(:,19,15) = (/ & & 0.91879e+03_rb,0.88284e+03_rb,0.84773e+03_rb,0.81356e+03_rb,0.78105e+03_rb /) kbo(:,20,15) = (/ & & 0.96599e+03_rb,0.92558e+03_rb,0.88651e+03_rb,0.84884e+03_rb,0.81303e+03_rb /) kbo(:,21,15) = (/ & & 0.10076e+04_rb,0.96291e+03_rb,0.92009e+03_rb,0.87920e+03_rb,0.84047e+03_rb /) kbo(:,22,15) = (/ & & 0.10401e+04_rb,0.99157e+03_rb,0.94567e+03_rb,0.90208e+03_rb,0.86095e+03_rb /) kbo(:,23,15) = (/ & & 0.10659e+04_rb,0.10143e+04_rb,0.96587e+03_rb,0.91983e+03_rb,0.87686e+03_rb /) kbo(:,24,15) = (/ & & 0.10857e+04_rb,0.10316e+04_rb,0.98077e+03_rb,0.93285e+03_rb,0.88829e+03_rb /) kbo(:,25,15) = (/ & & 0.10994e+04_rb,0.10434e+04_rb,0.99070e+03_rb,0.94138e+03_rb,0.89569e+03_rb /) kbo(:,26,15) = (/ & & 0.11072e+04_rb,0.10495e+04_rb,0.99578e+03_rb,0.94553e+03_rb,0.89886e+03_rb /) kbo(:,27,15) = (/ & & 0.11107e+04_rb,0.10519e+04_rb,0.99732e+03_rb,0.94654e+03_rb,0.89932e+03_rb /) kbo(:,28,15) = (/ & & 0.11104e+04_rb,0.10510e+04_rb,0.99596e+03_rb,0.94493e+03_rb,0.89744e+03_rb /) kbo(:,29,15) = (/ & & 0.11068e+04_rb,0.10472e+04_rb,0.99206e+03_rb,0.94099e+03_rb,0.89320e+03_rb /) kbo(:,30,15) = (/ & & 0.11008e+04_rb,0.10413e+04_rb,0.98636e+03_rb,0.93544e+03_rb,0.88772e+03_rb /) kbo(:,31,15) = (/ & & 0.10926e+04_rb,0.10334e+04_rb,0.97895e+03_rb,0.92827e+03_rb,0.88094e+03_rb /) kbo(:,32,15) = (/ & & 0.10829e+04_rb,0.10242e+04_rb,0.97015e+03_rb,0.91986e+03_rb,0.87315e+03_rb /) kbo(:,33,15) = (/ & & 0.10718e+04_rb,0.10140e+04_rb,0.96048e+03_rb,0.91059e+03_rb,0.86462e+03_rb /) kbo(:,34,15) = (/ & & 0.10622e+04_rb,0.10049e+04_rb,0.95198e+03_rb,0.90258e+03_rb,0.85725e+03_rb /) kbo(:,35,15) = (/ & & 0.10576e+04_rb,0.10006e+04_rb,0.94772e+03_rb,0.89854e+03_rb,0.85365e+03_rb /) kbo(:,36,15) = (/ & & 0.10589e+04_rb,0.10017e+04_rb,0.94880e+03_rb,0.89934e+03_rb,0.85436e+03_rb /) kbo(:,37,15) = (/ & & 0.10689e+04_rb,0.10108e+04_rb,0.95721e+03_rb,0.90723e+03_rb,0.86136e+03_rb /) kbo(:,38,15) = (/ & & 0.10792e+04_rb,0.10202e+04_rb,0.96581e+03_rb,0.91534e+03_rb,0.86861e+03_rb /) kbo(:,39,15) = (/ & & 0.10893e+04_rb,0.10294e+04_rb,0.97432e+03_rb,0.92308e+03_rb,0.87586e+03_rb /) kbo(:,40,15) = (/ & & 0.11025e+04_rb,0.10445e+04_rb,0.98826e+03_rb,0.93598e+03_rb,0.88770e+03_rb /) kbo(:,41,15) = (/ & & 0.11189e+04_rb,0.10606e+04_rb,0.10030e+04_rb,0.94969e+03_rb,0.90027e+03_rb /) kbo(:,42,15) = (/ & & 0.11355e+04_rb,0.10769e+04_rb,0.10180e+04_rb,0.96359e+03_rb,0.91305e+03_rb /) kbo(:,43,15) = (/ & & 0.11585e+04_rb,0.10971e+04_rb,0.10364e+04_rb,0.98067e+03_rb,0.92886e+03_rb /) kbo(:,44,15) = (/ & & 0.11827e+04_rb,0.11193e+04_rb,0.10568e+04_rb,0.99947e+03_rb,0.94636e+03_rb /) kbo(:,45,15) = (/ & & 0.12075e+04_rb,0.11422e+04_rb,0.10778e+04_rb,0.10187e+04_rb,0.96421e+03_rb /) kbo(:,46,15) = (/ & & 0.12357e+04_rb,0.11671e+04_rb,0.11007e+04_rb,0.10396e+04_rb,0.98362e+03_rb /) kbo(:,47,15) = (/ & & 0.12667e+04_rb,0.11958e+04_rb,0.11271e+04_rb,0.10639e+04_rb,0.10059e+04_rb /) kbo(:,48,15) = (/ & & 0.12983e+04_rb,0.12254e+04_rb,0.11543e+04_rb,0.10888e+04_rb,0.10288e+04_rb /) kbo(:,49,15) = (/ & & 0.13304e+04_rb,0.12559e+04_rb,0.11825e+04_rb,0.11147e+04_rb,0.10526e+04_rb /) kbo(:,50,15) = (/ & & 0.13621e+04_rb,0.12852e+04_rb,0.12096e+04_rb,0.11397e+04_rb,0.10755e+04_rb /) kbo(:,51,15) = (/ & & 0.13919e+04_rb,0.13140e+04_rb,0.12368e+04_rb,0.11648e+04_rb,0.10985e+04_rb /) kbo(:,52,15) = (/ & & 0.14222e+04_rb,0.13432e+04_rb,0.12647e+04_rb,0.11905e+04_rb,0.11221e+04_rb /) kbo(:,53,15) = (/ & & 0.14531e+04_rb,0.13729e+04_rb,0.12932e+04_rb,0.12171e+04_rb,0.11465e+04_rb /) kbo(:,54,15) = (/ & & 0.14842e+04_rb,0.14002e+04_rb,0.13197e+04_rb,0.12421e+04_rb,0.11696e+04_rb /) kbo(:,55,15) = (/ & & 0.15120e+04_rb,0.14267e+04_rb,0.13453e+04_rb,0.12667e+04_rb,0.11922e+04_rb /) kbo(:,56,15) = (/ & & 0.15401e+04_rb,0.14538e+04_rb,0.13712e+04_rb,0.12915e+04_rb,0.12155e+04_rb /) kbo(:,57,15) = (/ & & 0.15682e+04_rb,0.14811e+04_rb,0.13973e+04_rb,0.13167e+04_rb,0.12393e+04_rb /) kbo(:,58,15) = (/ & & 0.15949e+04_rb,0.15073e+04_rb,0.14224e+04_rb,0.13410e+04_rb,0.12625e+04_rb /) kbo(:,59,15) = (/ & & 0.16055e+04_rb,0.15180e+04_rb,0.14326e+04_rb,0.13507e+04_rb,0.12718e+04_rb /) kbo(:,13,16) = (/ & & 0.98069e+03_rb,0.94212e+03_rb,0.90378e+03_rb,0.86861e+03_rb,0.83780e+03_rb /) kbo(:,14,16) = (/ & & 0.11010e+04_rb,0.10540e+04_rb,0.10095e+04_rb,0.96975e+03_rb,0.93339e+03_rb /) kbo(:,15,16) = (/ & & 0.12287e+04_rb,0.11714e+04_rb,0.11195e+04_rb,0.10736e+04_rb,0.10305e+04_rb /) kbo(:,16,16) = (/ & & 0.13596e+04_rb,0.12909e+04_rb,0.12306e+04_rb,0.11762e+04_rb,0.11252e+04_rb /) kbo(:,17,16) = (/ & & 0.14895e+04_rb,0.14091e+04_rb,0.13394e+04_rb,0.12751e+04_rb,0.12151e+04_rb /) kbo(:,18,16) = (/ & & 0.16148e+04_rb,0.15230e+04_rb,0.14425e+04_rb,0.13683e+04_rb,0.12989e+04_rb /) kbo(:,19,16) = (/ & & 0.17336e+04_rb,0.16302e+04_rb,0.15375e+04_rb,0.14530e+04_rb,0.13744e+04_rb /) kbo(:,20,16) = (/ & & 0.18405e+04_rb,0.17248e+04_rb,0.16208e+04_rb,0.15267e+04_rb,0.14397e+04_rb /) kbo(:,21,16) = (/ & & 0.19359e+04_rb,0.18083e+04_rb,0.16938e+04_rb,0.15909e+04_rb,0.14962e+04_rb /) kbo(:,22,16) = (/ & & 0.20085e+04_rb,0.18707e+04_rb,0.17478e+04_rb,0.16373e+04_rb,0.15366e+04_rb /) kbo(:,23,16) = (/ & & 0.20648e+04_rb,0.19188e+04_rb,0.17890e+04_rb,0.16725e+04_rb,0.15672e+04_rb /) kbo(:,24,16) = (/ & & 0.21054e+04_rb,0.19528e+04_rb,0.18178e+04_rb,0.16967e+04_rb,0.15881e+04_rb /) kbo(:,25,16) = (/ & & 0.21318e+04_rb,0.19742e+04_rb,0.18353e+04_rb,0.17113e+04_rb,0.16005e+04_rb /) kbo(:,26,16) = (/ & & 0.21433e+04_rb,0.19836e+04_rb,0.18416e+04_rb,0.17161e+04_rb,0.16044e+04_rb /) kbo(:,27,16) = (/ & & 0.21445e+04_rb,0.19835e+04_rb,0.18409e+04_rb,0.17145e+04_rb,0.16033e+04_rb /) kbo(:,28,16) = (/ & & 0.21374e+04_rb,0.19764e+04_rb,0.18336e+04_rb,0.17081e+04_rb,0.15978e+04_rb /) kbo(:,29,16) = (/ & & 0.21225e+04_rb,0.19618e+04_rb,0.18208e+04_rb,0.16961e+04_rb,0.15894e+04_rb /) kbo(:,30,16) = (/ & & 0.21033e+04_rb,0.19434e+04_rb,0.18039e+04_rb,0.16808e+04_rb,0.15775e+04_rb /) kbo(:,31,16) = (/ & & 0.20779e+04_rb,0.19206e+04_rb,0.17837e+04_rb,0.16635e+04_rb,0.15631e+04_rb /) kbo(:,32,16) = (/ & & 0.20491e+04_rb,0.18949e+04_rb,0.17612e+04_rb,0.16447e+04_rb,0.15471e+04_rb /) kbo(:,33,16) = (/ & & 0.20177e+04_rb,0.18682e+04_rb,0.17367e+04_rb,0.16246e+04_rb,0.15302e+04_rb /) kbo(:,34,16) = (/ & & 0.19905e+04_rb,0.18445e+04_rb,0.17155e+04_rb,0.16076e+04_rb,0.15146e+04_rb /) kbo(:,35,16) = (/ & & 0.19774e+04_rb,0.18329e+04_rb,0.17061e+04_rb,0.16001e+04_rb,0.15070e+04_rb /) kbo(:,36,16) = (/ & & 0.19799e+04_rb,0.18350e+04_rb,0.17079e+04_rb,0.16017e+04_rb,0.15083e+04_rb /) kbo(:,37,16) = (/ & & 0.20051e+04_rb,0.18569e+04_rb,0.17271e+04_rb,0.16176e+04_rb,0.15230e+04_rb /) kbo(:,38,16) = (/ & & 0.20315e+04_rb,0.18800e+04_rb,0.17473e+04_rb,0.16343e+04_rb,0.15379e+04_rb /) kbo(:,39,16) = (/ & & 0.20576e+04_rb,0.19026e+04_rb,0.17672e+04_rb,0.16508e+04_rb,0.15527e+04_rb /) kbo(:,40,16) = (/ & & 0.21013e+04_rb,0.19405e+04_rb,0.18004e+04_rb,0.16787e+04_rb,0.15771e+04_rb /) kbo(:,41,16) = (/ & & 0.21482e+04_rb,0.19814e+04_rb,0.18363e+04_rb,0.17091e+04_rb,0.16029e+04_rb /) kbo(:,42,16) = (/ & & 0.21964e+04_rb,0.20236e+04_rb,0.18732e+04_rb,0.17410e+04_rb,0.16295e+04_rb /) kbo(:,43,16) = (/ & & 0.22568e+04_rb,0.20769e+04_rb,0.19193e+04_rb,0.17816e+04_rb,0.16630e+04_rb /) kbo(:,44,16) = (/ & & 0.23247e+04_rb,0.21362e+04_rb,0.19712e+04_rb,0.18270e+04_rb,0.17012e+04_rb /) kbo(:,45,16) = (/ & & 0.23959e+04_rb,0.21983e+04_rb,0.20252e+04_rb,0.18744e+04_rb,0.17420e+04_rb /) kbo(:,46,16) = (/ & & 0.24748e+04_rb,0.22670e+04_rb,0.20858e+04_rb,0.19269e+04_rb,0.17884e+04_rb /) kbo(:,47,16) = (/ & & 0.25688e+04_rb,0.23479e+04_rb,0.21568e+04_rb,0.19886e+04_rb,0.18424e+04_rb /) kbo(:,48,16) = (/ & & 0.26704e+04_rb,0.24334e+04_rb,0.22313e+04_rb,0.20542e+04_rb,0.18994e+04_rb /) kbo(:,49,16) = (/ & & 0.27805e+04_rb,0.25238e+04_rb,0.23096e+04_rb,0.21232e+04_rb,0.19594e+04_rb /) kbo(:,50,16) = (/ & & 0.28920e+04_rb,0.26151e+04_rb,0.23873e+04_rb,0.21911e+04_rb,0.20186e+04_rb /) kbo(:,51,16) = (/ & & 0.30093e+04_rb,0.27098e+04_rb,0.24666e+04_rb,0.22601e+04_rb,0.20794e+04_rb /) kbo(:,52,16) = (/ & & 0.31338e+04_rb,0.28121e+04_rb,0.25503e+04_rb,0.23323e+04_rb,0.21428e+04_rb /) kbo(:,53,16) = (/ & & 0.32663e+04_rb,0.29228e+04_rb,0.26405e+04_rb,0.24086e+04_rb,0.22095e+04_rb /) kbo(:,54,16) = (/ & & 0.33958e+04_rb,0.30317e+04_rb,0.27288e+04_rb,0.24819e+04_rb,0.22731e+04_rb /) kbo(:,55,16) = (/ & & 0.35272e+04_rb,0.31418e+04_rb,0.28194e+04_rb,0.25560e+04_rb,0.23371e+04_rb /) kbo(:,56,16) = (/ & & 0.36664e+04_rb,0.32577e+04_rb,0.29162e+04_rb,0.26350e+04_rb,0.24040e+04_rb /) kbo(:,57,16) = (/ & & 0.38139e+04_rb,0.33808e+04_rb,0.30193e+04_rb,0.27188e+04_rb,0.24736e+04_rb /) kbo(:,58,16) = (/ & & 0.39629e+04_rb,0.35038e+04_rb,0.31229e+04_rb,0.28034e+04_rb,0.25431e+04_rb /) kbo(:,59,16) = (/ & & 0.40252e+04_rb,0.35562e+04_rb,0.31659e+04_rb,0.28393e+04_rb,0.25724e+04_rb /) ! ----------------------------------------------------------------- forrefo(:, 1) = (/ 0.525585e-05_rb, 0.527618e-05_rb, 0.746929e-04_rb /) forrefo(:, 2) = (/ 0.794660e-05_rb, 0.136902e-04_rb, 0.849878e-04_rb /) forrefo(:, 3) = (/ 0.197099e-04_rb, 0.733094e-04_rb, 0.121687e-03_rb /) forrefo(:, 4) = (/ 0.148274e-03_rb, 0.169776e-03_rb, 0.164848e-03_rb /) forrefo(:, 5) = (/ 0.230296e-03_rb, 0.210384e-03_rb, 0.182028e-03_rb /) forrefo(:, 6) = (/ 0.280575e-03_rb, 0.259217e-03_rb, 0.196080e-03_rb /) forrefo(:, 7) = (/ 0.329034e-03_rb, 0.291575e-03_rb, 0.207044e-03_rb /) forrefo(:, 8) = (/ 0.349989e-03_rb, 0.323471e-03_rb, 0.225712e-03_rb /) forrefo(:, 9) = (/ 0.366097e-03_rb, 0.321519e-03_rb, 0.253150e-03_rb /) forrefo(:,10) = (/ 0.383589e-03_rb, 0.355314e-03_rb, 0.262555e-03_rb /) forrefo(:,11) = (/ 0.375933e-03_rb, 0.372443e-03_rb, 0.261313e-03_rb /) forrefo(:,12) = (/ 0.370652e-03_rb, 0.382366e-03_rb, 0.250070e-03_rb /) forrefo(:,13) = (/ 0.375092e-03_rb, 0.379542e-03_rb, 0.265794e-03_rb /) forrefo(:,14) = (/ 0.389705e-03_rb, 0.384274e-03_rb, 0.322135e-03_rb /) forrefo(:,15) = (/ 0.372084e-03_rb, 0.390422e-03_rb, 0.370035e-03_rb /) forrefo(:,16) = (/ 0.437802e-03_rb, 0.373406e-03_rb, 0.373222e-03_rb /) ! ----------------------------------------------------------------- ! The array SELFREFO contains the coefficient of the water vapor ! self-continuum (including the energy term). The first index ! refers to temperature in 7.2 degree increments. For instance, ! JT = 1 refers to a temperature of 245.6, JT = 2 refers to 252.8, ! etc. The second index runs over the g-channel (1 to 16). ! ----------------------------------------------------------------- selfrefo(:, 1) = (/ & & 0.126758e-02_rb, 0.105253e-02_rb, 0.873963e-03_rb, 0.725690e-03_rb, 0.602573e-03_rb, & & 0.500344e-03_rb, 0.415458e-03_rb, 0.344973e-03_rb, 0.286447e-03_rb, 0.237849e-03_rb /) selfrefo(:, 2) = (/ & & 0.144006e-02_rb, 0.118514e-02_rb, 0.975351e-03_rb, 0.802697e-03_rb, 0.660606e-03_rb, & & 0.543667e-03_rb, 0.447429e-03_rb, 0.368226e-03_rb, 0.303044e-03_rb, 0.249400e-03_rb /) selfrefo(:, 3) = (/ & & 0.294018e-02_rb, 0.227428e-02_rb, 0.175920e-02_rb, 0.136077e-02_rb, 0.105258e-02_rb, & & 0.814189e-03_rb, 0.629789e-03_rb, 0.487153e-03_rb, 0.376821e-03_rb, 0.291478e-03_rb /) selfrefo(:, 4) = (/ & & 0.395290e-02_rb, 0.348405e-02_rb, 0.307081e-02_rb, 0.270658e-02_rb, 0.238556e-02_rb, & & 0.210261e-02_rb, 0.185322e-02_rb, 0.163341e-02_rb, 0.143967e-02_rb, 0.126891e-02_rb /) selfrefo(:, 5) = (/ & & 0.419122e-02_rb, 0.385638e-02_rb, 0.354829e-02_rb, 0.326481e-02_rb, 0.300398e-02_rb, & & 0.276399e-02_rb, 0.254317e-02_rb, 0.234000e-02_rb, 0.215305e-02_rb, 0.198104e-02_rb /) selfrefo(:, 6) = (/ & & 0.495659e-02_rb, 0.456777e-02_rb, 0.420945e-02_rb, 0.387924e-02_rb, 0.357494e-02_rb, & & 0.329450e-02_rb, 0.303606e-02_rb, 0.279790e-02_rb, 0.257842e-02_rb, 0.237615e-02_rb /) selfrefo(:, 7) = (/ & & 0.526981e-02_rb, 0.490687e-02_rb, 0.456893e-02_rb, 0.425426e-02_rb, 0.396126e-02_rb, & & 0.368844e-02_rb, 0.343441e-02_rb, 0.319788e-02_rb, 0.297764e-02_rb, 0.277256e-02_rb /) selfrefo(:, 8) = (/ & & 0.575426e-02_rb, 0.531597e-02_rb, 0.491106e-02_rb, 0.453699e-02_rb, 0.419141e-02_rb, & & 0.387216e-02_rb, 0.357722e-02_rb, 0.330475e-02_rb, 0.305303e-02_rb, 0.282048e-02_rb /) selfrefo(:, 9) = (/ & & 0.549881e-02_rb, 0.514328e-02_rb, 0.481074e-02_rb, 0.449970e-02_rb, 0.420877e-02_rb, & & 0.393665e-02_rb, 0.368213e-02_rb, 0.344406e-02_rb, 0.322138e-02_rb, 0.301310e-02_rb /) selfrefo(:,10) = (/ & & 0.605357e-02_rb, 0.561246e-02_rb, 0.520349e-02_rb, 0.482432e-02_rb, 0.447278e-02_rb, & & 0.414686e-02_rb, 0.384469e-02_rb, 0.356453e-02_rb, 0.330479e-02_rb, 0.306398e-02_rb /) selfrefo(:,11) = (/ & & 0.640504e-02_rb, 0.587858e-02_rb, 0.539540e-02_rb, 0.495194e-02_rb, 0.454492e-02_rb, & & 0.417136e-02_rb, 0.382850e-02_rb, 0.351382e-02_rb, 0.322501e-02_rb, 0.295993e-02_rb /) selfrefo(:,12) = (/ & & 0.677803e-02_rb, 0.615625e-02_rb, 0.559152e-02_rb, 0.507859e-02_rb, 0.461271e-02_rb, & & 0.418957e-02_rb, 0.380524e-02_rb, 0.345617e-02_rb, 0.313913e-02_rb, 0.285116e-02_rb /) selfrefo(:,13) = (/ & & 0.690347e-02_rb, 0.627003e-02_rb, 0.569472e-02_rb, 0.517219e-02_rb, 0.469761e-02_rb, & & 0.426658e-02_rb, 0.387509e-02_rb, 0.351953e-02_rb, 0.319659e-02_rb, 0.290328e-02_rb /) selfrefo(:,14) = (/ & & 0.692680e-02_rb, 0.632795e-02_rb, 0.578087e-02_rb, 0.528109e-02_rb, 0.482452e-02_rb, & & 0.440742e-02_rb, 0.402638e-02_rb, 0.367828e-02_rb, 0.336028e-02_rb, 0.306977e-02_rb /) selfrefo(:,15) = (/ & & 0.754894e-02_rb, 0.681481e-02_rb, 0.615207e-02_rb, 0.555378e-02_rb, 0.501367e-02_rb, & & 0.452609e-02_rb, 0.408593e-02_rb, 0.368857e-02_rb, 0.332986e-02_rb, 0.300603e-02_rb /) selfrefo(:,16) = (/ & & 0.760689e-02_rb, 0.709755e-02_rb, 0.662232e-02_rb, 0.617891e-02_rb, 0.576519e-02_rb, & & 0.537917e-02_rb, 0.501899e-02_rb, 0.468293e-02_rb, 0.436938e-02_rb, 0.407682e-02_rb /) end subroutine sw_kgb16 ! ************************************************************************** subroutine sw_kgb17 ! ************************************************************************** use parkind, only : im => kind_im, rb => kind_rb use rrsw_kg17, only : kao, kbo, selfrefo, forrefo, sfluxrefo, & rayl, strrat, layreffr implicit none save ! Kurucz solar source function sfluxrefo(:,1) = (/ & & 3.15613_rb , 3.03449_rb , 2.92069_rb , 2.63874_rb , & & 2.34581_rb , 2.06999_rb , 1.70906_rb , 1.29085_rb , & & 0.874851_rb , 0.0955392_rb, 0.0787813_rb, 0.0621951_rb , & & 0.0459076_rb, 0.0294129_rb, 0.0110387_rb, 0.00159668_rb /) sfluxrefo(:,2) = (/ & & 2.83147_rb , 2.95919_rb , 2.96674_rb , 2.77677_rb , & & 2.46826_rb , 2.11481_rb , 1.73243_rb , 1.30279_rb , & & 0.882714_rb , 0.0962350_rb, 0.0802122_rb, 0.0636194_rb , & & 0.0472620_rb, 0.0299051_rb, 0.0110785_rb, 0.00159668_rb /) sfluxrefo(:,3) = (/ & & 2.82300_rb , 2.94845_rb , 2.95887_rb , 2.77593_rb , & & 2.47096_rb , 2.12596_rb , 1.73847_rb , 1.30796_rb , & & 0.884395_rb , 0.0966936_rb, 0.0801996_rb, 0.0640199_rb , & & 0.0472803_rb, 0.0300515_rb, 0.0112366_rb, 0.00160814_rb /) sfluxrefo(:,4) = (/ & & 2.81715_rb , 2.93789_rb , 2.95091_rb , 2.77046_rb , & & 2.47716_rb , 2.13591_rb , 1.74365_rb , 1.31277_rb , & & 0.887443_rb , 0.0967016_rb, 0.0803391_rb, 0.0642442_rb , & & 0.0472909_rb, 0.0300720_rb, 0.0114817_rb, 0.00161875_rb /) sfluxrefo(:,5) = (/ & & 2.82335_rb , 2.93168_rb , 2.91455_rb , 2.75213_rb , & & 2.49168_rb , 2.14408_rb , 1.75726_rb , 1.32401_rb , & & 0.893644_rb , 0.0969523_rb, 0.0805197_rb, 0.0639936_rb , & & 0.0475099_rb, 0.0305667_rb, 0.0115372_rb, 0.00161875_rb /) ! Rayleigh extinction coefficient at v = 3625 cm-1. rayl = 6.86e-10_rb strrat = 0.364641_rb layreffr = 30 ! ------------------------------------------------------------------ ! The array KAO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels> ~100mb, temperatures, and binary ! species parameters (see taumol.f for definition). The first ! index in the array, JS, runs from 1 to 9, and corresponds to ! different values of the binary species parameter. For instance, ! JS=1 refers to dry air, JS = 2 corresponds to the paramter value 1/8, ! JS = 3 corresponds to the parameter value 2/8, etc. The second index ! in the array, JT, which runs from 1 to 5, corresponds to different ! temperatures. More specifically, JT = 3 means that the data are for ! the reference temperature TREF for this pressure level, JT = 2 refers ! to TREF-15, JT = 1 is for TREF-30, JT = 4 is for TREF+15, and JT = 5 ! is for TREF+30. The third index, JP, runs from 1 to 13 and refers ! to the JPth reference pressure level (see taumol.f for these levels ! in mb). The fourth index, IG, goes from 1 to 16, and indicates ! which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kao(:, 1, 1, 1) = (/ & & 0.11134e-05_rb,0.32092e-03_rb,0.55663e-03_rb,0.78227e-03_rb,0.99421e-03_rb, & & 0.12045e-02_rb,0.14116e-02_rb,0.16069e-02_rb,0.19330e-02_rb /) kao(:, 2, 1, 1) = (/ & & 0.10544e-05_rb,0.35434e-03_rb,0.61480e-03_rb,0.86424e-03_rb,0.11055e-02_rb, & & 0.13431e-02_rb,0.15754e-02_rb,0.17951e-02_rb,0.21280e-02_rb /) kao(:, 3, 1, 1) = (/ & & 0.98345e-06_rb,0.38989e-03_rb,0.67747e-03_rb,0.95289e-03_rb,0.12196e-02_rb, & & 0.14864e-02_rb,0.17449e-02_rb,0.19897e-02_rb,0.23564e-02_rb /) kao(:, 4, 1, 1) = (/ & & 0.95017e-06_rb,0.42582e-03_rb,0.74419e-03_rb,0.10463e-02_rb,0.13424e-02_rb, & & 0.16353e-02_rb,0.19215e-02_rb,0.21939e-02_rb,0.25993e-02_rb /) kao(:, 5, 1, 1) = (/ & & 0.91870e-06_rb,0.46371e-03_rb,0.81394e-03_rb,0.11464e-02_rb,0.14715e-02_rb, & & 0.17937e-02_rb,0.21072e-02_rb,0.24077e-02_rb,0.28540e-02_rb /) kao(:, 1, 2, 1) = (/ & & 0.94184e-06_rb,0.26532e-03_rb,0.46157e-03_rb,0.63776e-03_rb,0.81087e-03_rb, & & 0.97728e-03_rb,0.11419e-02_rb,0.12991e-02_rb,0.15121e-02_rb /) kao(:, 2, 2, 1) = (/ & & 0.89060e-06_rb,0.29417e-03_rb,0.50967e-03_rb,0.70759e-03_rb,0.90203e-03_rb, & & 0.10920e-02_rb,0.12764e-02_rb,0.14544e-02_rb,0.16795e-02_rb /) kao(:, 3, 2, 1) = (/ & & 0.82720e-06_rb,0.32361e-03_rb,0.56124e-03_rb,0.78299e-03_rb,0.99718e-03_rb, & & 0.12094e-02_rb,0.14172e-02_rb,0.16165e-02_rb,0.18637e-02_rb /) kao(:, 4, 2, 1) = (/ & & 0.78842e-06_rb,0.35495e-03_rb,0.61684e-03_rb,0.86176e-03_rb,0.10995e-02_rb, & & 0.13345e-02_rb,0.15652e-02_rb,0.17856e-02_rb,0.20621e-02_rb /) kao(:, 5, 2, 1) = (/ & & 0.76610e-06_rb,0.38728e-03_rb,0.67538e-03_rb,0.94613e-03_rb,0.12082e-02_rb, & & 0.14675e-02_rb,0.17206e-02_rb,0.19640e-02_rb,0.22720e-02_rb /) kao(:, 1, 3, 1) = (/ & & 0.79663e-06_rb,0.21369e-03_rb,0.37088e-03_rb,0.51222e-03_rb,0.64549e-03_rb, & & 0.77322e-03_rb,0.89939e-03_rb,0.10205e-02_rb,0.11568e-02_rb /) kao(:, 2, 3, 1) = (/ & & 0.75955e-06_rb,0.23780e-03_rb,0.41153e-03_rb,0.56901e-03_rb,0.72009e-03_rb, & & 0.86735e-03_rb,0.10092e-02_rb,0.11476e-02_rb,0.12913e-02_rb /) kao(:, 3, 3, 1) = (/ & & 0.71692e-06_rb,0.26276e-03_rb,0.45488e-03_rb,0.62922e-03_rb,0.79836e-03_rb, & & 0.96259e-03_rb,0.11236e-02_rb,0.12796e-02_rb,0.14398e-02_rb /) kao(:, 4, 3, 1) = (/ & & 0.66348e-06_rb,0.28896e-03_rb,0.50221e-03_rb,0.69411e-03_rb,0.88226e-03_rb, & & 0.10658e-02_rb,0.12456e-02_rb,0.14191e-02_rb,0.15991e-02_rb /) kao(:, 5, 3, 1) = (/ & & 0.64013e-06_rb,0.31643e-03_rb,0.55166e-03_rb,0.76434e-03_rb,0.97216e-03_rb, & & 0.11745e-02_rb,0.13731e-02_rb,0.15657e-02_rb,0.17671e-02_rb /) kao(:, 1, 4, 1) = (/ & & 0.66217e-06_rb,0.16966e-03_rb,0.29358e-03_rb,0.40688e-03_rb,0.51114e-03_rb, & & 0.60739e-03_rb,0.70191e-03_rb,0.79446e-03_rb,0.88832e-03_rb /) kao(:, 2, 4, 1) = (/ & & 0.64111e-06_rb,0.18902e-03_rb,0.32742e-03_rb,0.45364e-03_rb,0.57086e-03_rb, & & 0.68401e-03_rb,0.79116e-03_rb,0.89507e-03_rb,0.99655e-03_rb /) kao(:, 3, 4, 1) = (/ & & 0.60729e-06_rb,0.21007e-03_rb,0.36354e-03_rb,0.50354e-03_rb,0.63459e-03_rb, & & 0.76113e-03_rb,0.88473e-03_rb,0.10035e-02_rb,0.11163e-02_rb /) kao(:, 4, 4, 1) = (/ & & 0.57250e-06_rb,0.23203e-03_rb,0.40245e-03_rb,0.55758e-03_rb,0.70295e-03_rb, & & 0.84515e-03_rb,0.98379e-03_rb,0.11165e-02_rb,0.12444e-02_rb /) kao(:, 5, 4, 1) = (/ & & 0.53524e-06_rb,0.25529e-03_rb,0.44399e-03_rb,0.61564e-03_rb,0.77626e-03_rb, & & 0.93405e-03_rb,0.10892e-02_rb,0.12369e-02_rb,0.13795e-02_rb /) kao(:, 1, 5, 1) = (/ & & 0.55112e-06_rb,0.13422e-03_rb,0.23166e-03_rb,0.32119e-03_rb,0.40265e-03_rb, & & 0.47812e-03_rb,0.54797e-03_rb,0.61873e-03_rb,0.68912e-03_rb /) kao(:, 2, 5, 1) = (/ & & 0.53669e-06_rb,0.14990e-03_rb,0.25949e-03_rb,0.35886e-03_rb,0.45239e-03_rb, & & 0.53936e-03_rb,0.61894e-03_rb,0.69718e-03_rb,0.77732e-03_rb /) kao(:, 3, 5, 1) = (/ & & 0.51495e-06_rb,0.16706e-03_rb,0.28960e-03_rb,0.40020e-03_rb,0.50461e-03_rb, & & 0.60249e-03_rb,0.69677e-03_rb,0.78464e-03_rb,0.87334e-03_rb /) kao(:, 4, 5, 1) = (/ & & 0.48633e-06_rb,0.18543e-03_rb,0.32159e-03_rb,0.44499e-03_rb,0.56095e-03_rb, & & 0.67055e-03_rb,0.77575e-03_rb,0.87717e-03_rb,0.97694e-03_rb /) kao(:, 5, 5, 1) = (/ & & 0.45162e-06_rb,0.20472e-03_rb,0.35591e-03_rb,0.49350e-03_rb,0.62163e-03_rb, & & 0.74253e-03_rb,0.86247e-03_rb,0.97518e-03_rb,0.10864e-02_rb /) kao(:, 1, 6, 1) = (/ & & 0.45055e-06_rb,0.10556e-03_rb,0.18176e-03_rb,0.25137e-03_rb,0.31438e-03_rb, & & 0.37363e-03_rb,0.42759e-03_rb,0.47883e-03_rb,0.53437e-03_rb /) kao(:, 2, 6, 1) = (/ & & 0.44502e-06_rb,0.11814e-03_rb,0.20383e-03_rb,0.28162e-03_rb,0.35547e-03_rb, & & 0.42261e-03_rb,0.48340e-03_rb,0.54066e-03_rb,0.60352e-03_rb /) kao(:, 3, 6, 1) = (/ & & 0.43066e-06_rb,0.13217e-03_rb,0.22836e-03_rb,0.31552e-03_rb,0.39762e-03_rb, & & 0.47493e-03_rb,0.54543e-03_rb,0.61066e-03_rb,0.68176e-03_rb /) kao(:, 4, 6, 1) = (/ & & 0.41116e-06_rb,0.14733e-03_rb,0.25472e-03_rb,0.35204e-03_rb,0.44334e-03_rb, & & 0.52997e-03_rb,0.60966e-03_rb,0.68622e-03_rb,0.76607e-03_rb /) kao(:, 5, 6, 1) = (/ & & 0.38748e-06_rb,0.16344e-03_rb,0.28281e-03_rb,0.39173e-03_rb,0.49305e-03_rb, & & 0.58880e-03_rb,0.67954e-03_rb,0.76485e-03_rb,0.85401e-03_rb /) kao(:, 1, 7, 1) = (/ & & 0.36582e-06_rb,0.82958e-04_rb,0.14210e-03_rb,0.19574e-03_rb,0.24440e-03_rb, & & 0.29039e-03_rb,0.33281e-03_rb,0.37177e-03_rb,0.42178e-03_rb /) kao(:, 2, 7, 1) = (/ & & 0.36707e-06_rb,0.92909e-04_rb,0.15977e-03_rb,0.22034e-03_rb,0.27742e-03_rb, & & 0.32955e-03_rb,0.37727e-03_rb,0.41956e-03_rb,0.47859e-03_rb /) kao(:, 3, 7, 1) = (/ & & 0.35787e-06_rb,0.10432e-03_rb,0.17930e-03_rb,0.24769e-03_rb,0.31155e-03_rb, & & 0.37242e-03_rb,0.42699e-03_rb,0.47474e-03_rb,0.54083e-03_rb /) kao(:, 4, 7, 1) = (/ & & 0.34482e-06_rb,0.11685e-03_rb,0.20055e-03_rb,0.27725e-03_rb,0.34866e-03_rb, & & 0.41677e-03_rb,0.47903e-03_rb,0.53518e-03_rb,0.60812e-03_rb /) kao(:, 5, 7, 1) = (/ & & 0.32598e-06_rb,0.13001e-03_rb,0.22341e-03_rb,0.30900e-03_rb,0.38919e-03_rb, & & 0.46465e-03_rb,0.53467e-03_rb,0.59926e-03_rb,0.67733e-03_rb /) kao(:, 1, 8, 1) = (/ & & 0.29834e-06_rb,0.65009e-04_rb,0.11183e-03_rb,0.15200e-03_rb,0.18969e-03_rb, & & 0.22517e-03_rb,0.25832e-03_rb,0.28730e-03_rb,0.33955e-03_rb /) kao(:, 2, 8, 1) = (/ & & 0.29745e-06_rb,0.72872e-04_rb,0.12482e-03_rb,0.17221e-03_rb,0.21583e-03_rb, & & 0.25596e-03_rb,0.29328e-03_rb,0.32520e-03_rb,0.38620e-03_rb /) kao(:, 3, 8, 1) = (/ & & 0.29421e-06_rb,0.82036e-04_rb,0.14010e-03_rb,0.19344e-03_rb,0.24362e-03_rb, & & 0.29071e-03_rb,0.33308e-03_rb,0.36867e-03_rb,0.43901e-03_rb /) kao(:, 4, 8, 1) = (/ & & 0.28596e-06_rb,0.92256e-04_rb,0.15738e-03_rb,0.21752e-03_rb,0.27325e-03_rb, & & 0.32643e-03_rb,0.37578e-03_rb,0.41710e-03_rb,0.49358e-03_rb /) kao(:, 5, 8, 1) = (/ & & 0.27296e-06_rb,0.10320e-03_rb,0.17598e-03_rb,0.24339e-03_rb,0.30591e-03_rb, & & 0.36505e-03_rb,0.42061e-03_rb,0.46872e-03_rb,0.54993e-03_rb /) kao(:, 1, 9, 1) = (/ & & 0.24259e-06_rb,0.50626e-04_rb,0.86945e-04_rb,0.11778e-03_rb,0.14692e-03_rb, & & 0.17431e-03_rb,0.20057e-03_rb,0.22131e-03_rb,0.29919e-03_rb /) kao(:, 2, 9, 1) = (/ & & 0.24058e-06_rb,0.56966e-04_rb,0.97467e-04_rb,0.13405e-03_rb,0.16750e-03_rb, & & 0.19814e-03_rb,0.22739e-03_rb,0.25281e-03_rb,0.34022e-03_rb /) kao(:, 3, 9, 1) = (/ & & 0.24091e-06_rb,0.64324e-04_rb,0.10971e-03_rb,0.15061e-03_rb,0.18996e-03_rb, & & 0.22580e-03_rb,0.25885e-03_rb,0.28694e-03_rb,0.38045e-03_rb /) kao(:, 4, 9, 1) = (/ & & 0.23550e-06_rb,0.72451e-04_rb,0.12345e-03_rb,0.16991e-03_rb,0.21362e-03_rb, & & 0.25484e-03_rb,0.29341e-03_rb,0.32523e-03_rb,0.42836e-03_rb /) kao(:, 5, 9, 1) = (/ & & 0.22696e-06_rb,0.81351e-04_rb,0.13839e-03_rb,0.19090e-03_rb,0.23986e-03_rb, & & 0.28608e-03_rb,0.32910e-03_rb,0.36639e-03_rb,0.47925e-03_rb /) kao(:, 1,10, 1) = (/ & & 0.19679e-06_rb,0.39760e-04_rb,0.68052e-04_rb,0.92295e-04_rb,0.11498e-03_rb, & & 0.13656e-03_rb,0.15604e-03_rb,0.17171e-03_rb,0.29679e-03_rb /) kao(:, 2,10, 1) = (/ & & 0.19567e-06_rb,0.44847e-04_rb,0.76829e-04_rb,0.10518e-03_rb,0.13102e-03_rb, & & 0.15509e-03_rb,0.17764e-03_rb,0.19843e-03_rb,0.32863e-03_rb /) kao(:, 3,10, 1) = (/ & & 0.19574e-06_rb,0.50565e-04_rb,0.86466e-04_rb,0.11878e-03_rb,0.14920e-03_rb, & & 0.17698e-03_rb,0.20258e-03_rb,0.22526e-03_rb,0.36959e-03_rb /) kao(:, 4,10, 1) = (/ & & 0.19262e-06_rb,0.57124e-04_rb,0.97546e-04_rb,0.13398e-03_rb,0.16803e-03_rb, & & 0.20046e-03_rb,0.23022e-03_rb,0.25578e-03_rb,0.41543e-03_rb /) kao(:, 5,10, 1) = (/ & & 0.18747e-06_rb,0.64264e-04_rb,0.10971e-03_rb,0.15086e-03_rb,0.18923e-03_rb, & & 0.22565e-03_rb,0.25934e-03_rb,0.28921e-03_rb,0.46463e-03_rb /) kao(:, 1,11, 1) = (/ & & 0.16015e-06_rb,0.33025e-04_rb,0.56562e-04_rb,0.76625e-04_rb,0.95645e-04_rb, & & 0.11358e-03_rb,0.12955e-03_rb,0.14269e-03_rb,0.27545e-03_rb /) kao(:, 2,11, 1) = (/ & & 0.15918e-06_rb,0.37148e-04_rb,0.63775e-04_rb,0.87600e-04_rb,0.10897e-03_rb, & & 0.12893e-03_rb,0.14756e-03_rb,0.16465e-03_rb,0.30799e-03_rb /) kao(:, 3,11, 1) = (/ & & 0.15897e-06_rb,0.41993e-04_rb,0.72040e-04_rb,0.98928e-04_rb,0.12433e-03_rb, & & 0.14733e-03_rb,0.16824e-03_rb,0.18694e-03_rb,0.34340e-03_rb /) kao(:, 4,11, 1) = (/ & & 0.15578e-06_rb,0.47441e-04_rb,0.81426e-04_rb,0.11165e-03_rb,0.13985e-03_rb, & & 0.16673e-03_rb,0.19156e-03_rb,0.21268e-03_rb,0.38176e-03_rb /) kao(:, 5,11, 1) = (/ & & 0.15210e-06_rb,0.53398e-04_rb,0.91657e-04_rb,0.12592e-03_rb,0.15769e-03_rb, & & 0.18781e-03_rb,0.21569e-03_rb,0.24069e-03_rb,0.42228e-03_rb /) kao(:, 1,12, 1) = (/ & & 0.13021e-06_rb,0.27272e-04_rb,0.46832e-04_rb,0.63511e-04_rb,0.79205e-04_rb, & & 0.93949e-04_rb,0.10719e-03_rb,0.11827e-03_rb,0.23944e-03_rb /) kao(:, 2,12, 1) = (/ & & 0.12930e-06_rb,0.30686e-04_rb,0.52925e-04_rb,0.72782e-04_rb,0.90527e-04_rb, & & 0.10708e-03_rb,0.12236e-03_rb,0.13620e-03_rb,0.27121e-03_rb /) kao(:, 3,12, 1) = (/ & & 0.12900e-06_rb,0.34723e-04_rb,0.59867e-04_rb,0.82205e-04_rb,0.10326e-03_rb, & & 0.12238e-03_rb,0.13958e-03_rb,0.15498e-03_rb,0.29930e-03_rb /) kao(:, 4,12, 1) = (/ & & 0.12648e-06_rb,0.39252e-04_rb,0.67618e-04_rb,0.92949e-04_rb,0.11636e-03_rb, & & 0.13835e-03_rb,0.15924e-03_rb,0.17653e-03_rb,0.33050e-03_rb /) kao(:, 5,12, 1) = (/ & & 0.12299e-06_rb,0.44213e-04_rb,0.76244e-04_rb,0.10488e-03_rb,0.13135e-03_rb, & & 0.15601e-03_rb,0.17902e-03_rb,0.19976e-03_rb,0.36579e-03_rb /) kao(:, 1,13, 1) = (/ & & 0.10554e-06_rb,0.22388e-04_rb,0.38597e-04_rb,0.52378e-04_rb,0.65404e-04_rb, & & 0.77567e-04_rb,0.88543e-04_rb,0.97801e-04_rb,0.19599e-03_rb /) kao(:, 2,13, 1) = (/ & & 0.10480e-06_rb,0.25181e-04_rb,0.43670e-04_rb,0.60205e-04_rb,0.74883e-04_rb, & & 0.88605e-04_rb,0.10117e-03_rb,0.11242e-03_rb,0.22146e-03_rb /) kao(:, 3,13, 1) = (/ & & 0.10429e-06_rb,0.28530e-04_rb,0.49422e-04_rb,0.68039e-04_rb,0.85435e-04_rb, & & 0.10136e-03_rb,0.11557e-03_rb,0.12828e-03_rb,0.24447e-03_rb /) kao(:, 4,13, 1) = (/ & & 0.10232e-06_rb,0.32301e-04_rb,0.55797e-04_rb,0.76948e-04_rb,0.96447e-04_rb, & & 0.11462e-03_rb,0.13166e-03_rb,0.14616e-03_rb,0.26999e-03_rb /) kao(:, 5,13, 1) = (/ & & 0.99014e-07_rb,0.36394e-04_rb,0.62994e-04_rb,0.86946e-04_rb,0.10900e-03_rb, & & 0.12937e-03_rb,0.14833e-03_rb,0.16540e-03_rb,0.29916e-03_rb /) kao(:, 1, 1, 2) = (/ & & 0.23488e-04_rb,0.16684e-02_rb,0.29575e-02_rb,0.40083e-02_rb,0.49953e-02_rb, & & 0.59021e-02_rb,0.67446e-02_rb,0.76008e-02_rb,0.87032e-02_rb /) kao(:, 2, 1, 2) = (/ & & 0.25156e-04_rb,0.18462e-02_rb,0.32711e-02_rb,0.45008e-02_rb,0.56182e-02_rb, & & 0.66287e-02_rb,0.75909e-02_rb,0.85558e-02_rb,0.97543e-02_rb /) kao(:, 3, 1, 2) = (/ & & 0.27084e-04_rb,0.20325e-02_rb,0.36034e-02_rb,0.49992e-02_rb,0.62796e-02_rb, & & 0.74134e-02_rb,0.84994e-02_rb,0.95694e-02_rb,0.10847e-01_rb /) kao(:, 4, 1, 2) = (/ & & 0.28147e-04_rb,0.22347e-02_rb,0.39628e-02_rb,0.55005e-02_rb,0.69453e-02_rb, & & 0.82429e-02_rb,0.94699e-02_rb,0.10660e-01_rb,0.11991e-01_rb /) kao(:, 5, 1, 2) = (/ & & 0.28719e-04_rb,0.24475e-02_rb,0.43369e-02_rb,0.60360e-02_rb,0.76183e-02_rb, & & 0.90878e-02_rb,0.10493e-01_rb,0.11805e-01_rb,0.13204e-01_rb /) kao(:, 1, 2, 2) = (/ & & 0.20947e-04_rb,0.14015e-02_rb,0.24728e-02_rb,0.33676e-02_rb,0.41801e-02_rb, & & 0.49244e-02_rb,0.55787e-02_rb,0.62206e-02_rb,0.69741e-02_rb /) kao(:, 2, 2, 2) = (/ & & 0.22352e-04_rb,0.15535e-02_rb,0.27396e-02_rb,0.37870e-02_rb,0.47121e-02_rb, & & 0.55571e-02_rb,0.62892e-02_rb,0.70132e-02_rb,0.78092e-02_rb /) kao(:, 3, 2, 2) = (/ & & 0.23882e-04_rb,0.17213e-02_rb,0.30345e-02_rb,0.42020e-02_rb,0.52782e-02_rb, & & 0.62285e-02_rb,0.70556e-02_rb,0.78819e-02_rb,0.87330e-02_rb /) kao(:, 4, 2, 2) = (/ & & 0.24650e-04_rb,0.18954e-02_rb,0.33384e-02_rb,0.46336e-02_rb,0.58333e-02_rb, & & 0.69311e-02_rb,0.78751e-02_rb,0.88149e-02_rb,0.96911e-02_rb /) kao(:, 5, 2, 2) = (/ & & 0.25136e-04_rb,0.20806e-02_rb,0.36641e-02_rb,0.50966e-02_rb,0.64193e-02_rb, & & 0.76281e-02_rb,0.87403e-02_rb,0.97943e-02_rb,0.10704e-01_rb /) kao(:, 1, 3, 2) = (/ & & 0.17720e-04_rb,0.11414e-02_rb,0.20045e-02_rb,0.27288e-02_rb,0.33891e-02_rb, & & 0.39755e-02_rb,0.44967e-02_rb,0.49389e-02_rb,0.53858e-02_rb /) kao(:, 2, 3, 2) = (/ & & 0.19087e-04_rb,0.12745e-02_rb,0.22336e-02_rb,0.30841e-02_rb,0.38333e-02_rb, & & 0.44983e-02_rb,0.50895e-02_rb,0.55930e-02_rb,0.60666e-02_rb /) kao(:, 3, 3, 2) = (/ & & 0.20125e-04_rb,0.14178e-02_rb,0.24795e-02_rb,0.34278e-02_rb,0.43106e-02_rb, & & 0.50607e-02_rb,0.57280e-02_rb,0.63092e-02_rb,0.68285e-02_rb /) kao(:, 4, 3, 2) = (/ & & 0.20895e-04_rb,0.15666e-02_rb,0.27348e-02_rb,0.37934e-02_rb,0.47769e-02_rb, & & 0.56621e-02_rb,0.64046e-02_rb,0.70864e-02_rb,0.76026e-02_rb /) kao(:, 5, 3, 2) = (/ & & 0.21508e-04_rb,0.17251e-02_rb,0.30153e-02_rb,0.41809e-02_rb,0.52689e-02_rb, & & 0.62462e-02_rb,0.71125e-02_rb,0.79104e-02_rb,0.84389e-02_rb /) kao(:, 1, 4, 2) = (/ & & 0.14661e-04_rb,0.92261e-03_rb,0.16088e-02_rb,0.21788e-02_rb,0.26956e-02_rb, & & 0.31612e-02_rb,0.35626e-02_rb,0.38878e-02_rb,0.41525e-02_rb /) kao(:, 2, 4, 2) = (/ & & 0.15607e-04_rb,0.10329e-02_rb,0.17973e-02_rb,0.24735e-02_rb,0.30696e-02_rb, & & 0.35953e-02_rb,0.40511e-02_rb,0.44162e-02_rb,0.46990e-02_rb /) kao(:, 3, 4, 2) = (/ & & 0.16559e-04_rb,0.11550e-02_rb,0.20019e-02_rb,0.27577e-02_rb,0.34625e-02_rb, & & 0.40662e-02_rb,0.45831e-02_rb,0.49995e-02_rb,0.53073e-02_rb /) kao(:, 4, 4, 2) = (/ & & 0.17263e-04_rb,0.12794e-02_rb,0.22184e-02_rb,0.30614e-02_rb,0.38510e-02_rb, & & 0.45664e-02_rb,0.51532e-02_rb,0.56290e-02_rb,0.59436e-02_rb /) kao(:, 5, 4, 2) = (/ & & 0.17895e-04_rb,0.14130e-02_rb,0.24526e-02_rb,0.33805e-02_rb,0.42622e-02_rb, & & 0.50556e-02_rb,0.57489e-02_rb,0.63094e-02_rb,0.66256e-02_rb /) kao(:, 1, 5, 2) = (/ & & 0.11885e-04_rb,0.74888e-03_rb,0.12826e-02_rb,0.17258e-02_rb,0.21346e-02_rb, & & 0.24972e-02_rb,0.28046e-02_rb,0.30606e-02_rb,0.32323e-02_rb /) kao(:, 2, 5, 2) = (/ & & 0.12452e-04_rb,0.84084e-03_rb,0.14380e-02_rb,0.19698e-02_rb,0.24386e-02_rb, & & 0.28536e-02_rb,0.32075e-02_rb,0.34937e-02_rb,0.36562e-02_rb /) kao(:, 3, 5, 2) = (/ & & 0.13439e-04_rb,0.94272e-03_rb,0.16065e-02_rb,0.22079e-02_rb,0.27660e-02_rb, & & 0.32389e-02_rb,0.36440e-02_rb,0.39673e-02_rb,0.41393e-02_rb /) kao(:, 4, 5, 2) = (/ & & 0.14053e-04_rb,0.10473e-02_rb,0.17899e-02_rb,0.24603e-02_rb,0.30861e-02_rb, & & 0.36521e-02_rb,0.41156e-02_rb,0.44825e-02_rb,0.46529e-02_rb /) kao(:, 5, 5, 2) = (/ & & 0.14586e-04_rb,0.11585e-02_rb,0.19886e-02_rb,0.27257e-02_rb,0.34272e-02_rb, & & 0.40599e-02_rb,0.46115e-02_rb,0.50286e-02_rb,0.52085e-02_rb /) kao(:, 1, 6, 2) = (/ & & 0.94872e-05_rb,0.59793e-03_rb,0.10210e-02_rb,0.13572e-02_rb,0.16716e-02_rb, & & 0.19512e-02_rb,0.21890e-02_rb,0.23827e-02_rb,0.25347e-02_rb /) kao(:, 2, 6, 2) = (/ & & 0.10060e-04_rb,0.67400e-03_rb,0.11432e-02_rb,0.15564e-02_rb,0.19188e-02_rb, & & 0.22389e-02_rb,0.25161e-02_rb,0.27308e-02_rb,0.28770e-02_rb /) kao(:, 3, 6, 2) = (/ & & 0.10743e-04_rb,0.75948e-03_rb,0.12806e-02_rb,0.17551e-02_rb,0.21862e-02_rb, & & 0.25545e-02_rb,0.28729e-02_rb,0.31149e-02_rb,0.32716e-02_rb /) kao(:, 4, 6, 2) = (/ & & 0.11322e-04_rb,0.85134e-03_rb,0.14320e-02_rb,0.19630e-02_rb,0.24514e-02_rb, & & 0.28930e-02_rb,0.32578e-02_rb,0.35375e-02_rb,0.36912e-02_rb /) kao(:, 5, 6, 2) = (/ & & 0.11755e-04_rb,0.94611e-03_rb,0.15986e-02_rb,0.21804e-02_rb,0.27291e-02_rb, & & 0.32306e-02_rb,0.36695e-02_rb,0.39913e-02_rb,0.41439e-02_rb /) kao(:, 1, 7, 2) = (/ & & 0.75931e-05_rb,0.47130e-03_rb,0.81211e-03_rb,0.10658e-02_rb,0.13004e-02_rb, & & 0.15175e-02_rb,0.17002e-02_rb,0.18473e-02_rb,0.19861e-02_rb /) kao(:, 2, 7, 2) = (/ & & 0.80724e-05_rb,0.53358e-03_rb,0.91163e-03_rb,0.12261e-02_rb,0.15014e-02_rb, & & 0.17483e-02_rb,0.19612e-02_rb,0.21201e-02_rb,0.22591e-02_rb /) kao(:, 3, 7, 2) = (/ & & 0.84404e-05_rb,0.60517e-03_rb,0.10236e-02_rb,0.13887e-02_rb,0.17204e-02_rb, & & 0.20031e-02_rb,0.22497e-02_rb,0.24321e-02_rb,0.25823e-02_rb /) kao(:, 4, 7, 2) = (/ & & 0.90511e-05_rb,0.68037e-03_rb,0.11475e-02_rb,0.15596e-02_rb,0.19402e-02_rb, & & 0.22789e-02_rb,0.25633e-02_rb,0.27753e-02_rb,0.29247e-02_rb /) kao(:, 5, 7, 2) = (/ & & 0.94405e-05_rb,0.76103e-03_rb,0.12836e-02_rb,0.17422e-02_rb,0.21698e-02_rb, & & 0.25585e-02_rb,0.28989e-02_rb,0.31444e-02_rb,0.33016e-02_rb /) kao(:, 1, 8, 2) = (/ & & 0.58080e-05_rb,0.36782e-03_rb,0.63516e-03_rb,0.83799e-03_rb,0.10119e-02_rb, & & 0.11754e-02_rb,0.13161e-02_rb,0.14382e-02_rb,0.15837e-02_rb /) kao(:, 2, 8, 2) = (/ & & 0.63156e-05_rb,0.41909e-03_rb,0.71974e-03_rb,0.96952e-03_rb,0.11711e-02_rb, & & 0.13617e-02_rb,0.15234e-02_rb,0.16441e-02_rb,0.18118e-02_rb /) kao(:, 3, 8, 2) = (/ & & 0.66776e-05_rb,0.47829e-03_rb,0.81150e-03_rb,0.11056e-02_rb,0.13493e-02_rb, & & 0.15646e-02_rb,0.17524e-02_rb,0.18937e-02_rb,0.20698e-02_rb /) kao(:, 4, 8, 2) = (/ & & 0.70582e-05_rb,0.54017e-03_rb,0.91330e-03_rb,0.12434e-02_rb,0.15411e-02_rb, & & 0.17884e-02_rb,0.20057e-02_rb,0.21704e-02_rb,0.23548e-02_rb /) kao(:, 5, 8, 2) = (/ & & 0.74902e-05_rb,0.60717e-03_rb,0.10267e-02_rb,0.13908e-02_rb,0.17231e-02_rb, & & 0.20285e-02_rb,0.22810e-02_rb,0.24710e-02_rb,0.26631e-02_rb /) kao(:, 1, 9, 2) = (/ & & 0.45061e-05_rb,0.28626e-03_rb,0.49448e-03_rb,0.65317e-03_rb,0.79081e-03_rb, & & 0.91066e-03_rb,0.10182e-02_rb,0.11107e-02_rb,0.14592e-02_rb /) kao(:, 2, 9, 2) = (/ & & 0.49392e-05_rb,0.32734e-03_rb,0.56558e-03_rb,0.76077e-03_rb,0.91846e-03_rb, & & 0.10578e-02_rb,0.11776e-02_rb,0.12720e-02_rb,0.16778e-02_rb /) kao(:, 3, 9, 2) = (/ & & 0.52580e-05_rb,0.37522e-03_rb,0.63845e-03_rb,0.87805e-03_rb,0.10619e-02_rb, & & 0.12194e-02_rb,0.13606e-02_rb,0.14680e-02_rb,0.19259e-02_rb /) kao(:, 4, 9, 2) = (/ & & 0.54991e-05_rb,0.42659e-03_rb,0.72103e-03_rb,0.98756e-03_rb,0.12163e-02_rb, & & 0.14007e-02_rb,0.15647e-02_rb,0.16900e-02_rb,0.21772e-02_rb /) kao(:, 5, 9, 2) = (/ & & 0.58769e-05_rb,0.48199e-03_rb,0.81466e-03_rb,0.11072e-02_rb,0.13684e-02_rb, & & 0.15984e-02_rb,0.17887e-02_rb,0.19333e-02_rb,0.24331e-02_rb /) kao(:, 1,10, 2) = (/ & & 0.34154e-05_rb,0.22534e-03_rb,0.38788e-03_rb,0.51113e-03_rb,0.62194e-03_rb, & & 0.71432e-03_rb,0.79743e-03_rb,0.86289e-03_rb,0.14758e-02_rb /) kao(:, 2,10, 2) = (/ & & 0.38085e-05_rb,0.25832e-03_rb,0.44748e-03_rb,0.59835e-03_rb,0.72514e-03_rb, & & 0.83284e-03_rb,0.91941e-03_rb,0.99583e-03_rb,0.17358e-02_rb /) kao(:, 3,10, 2) = (/ & & 0.41578e-05_rb,0.29655e-03_rb,0.50553e-03_rb,0.69511e-03_rb,0.84107e-03_rb, & & 0.96374e-03_rb,0.10666e-02_rb,0.11478e-02_rb,0.19625e-02_rb /) kao(:, 4,10, 2) = (/ & & 0.43917e-05_rb,0.33908e-03_rb,0.57351e-03_rb,0.78640e-03_rb,0.96862e-03_rb, & & 0.11109e-02_rb,0.12309e-02_rb,0.13266e-02_rb,0.22103e-02_rb /) kao(:, 5,10, 2) = (/ & & 0.45446e-05_rb,0.38548e-03_rb,0.64883e-03_rb,0.88401e-03_rb,0.10952e-02_rb, & & 0.12706e-02_rb,0.14136e-02_rb,0.15239e-02_rb,0.24754e-02_rb /) kao(:, 1,11, 2) = (/ & & 0.27604e-05_rb,0.18848e-03_rb,0.32532e-03_rb,0.42949e-03_rb,0.52350e-03_rb, & & 0.60084e-03_rb,0.66640e-03_rb,0.72070e-03_rb,0.13692e-02_rb /) kao(:, 2,11, 2) = (/ & & 0.30908e-05_rb,0.21679e-03_rb,0.37259e-03_rb,0.50366e-03_rb,0.61074e-03_rb, & & 0.70158e-03_rb,0.77271e-03_rb,0.83037e-03_rb,0.15689e-02_rb /) kao(:, 3,11, 2) = (/ & & 0.33674e-05_rb,0.24965e-03_rb,0.42244e-03_rb,0.58353e-03_rb,0.70923e-03_rb, & & 0.81330e-03_rb,0.89750e-03_rb,0.96131e-03_rb,0.17971e-02_rb /) kao(:, 4,11, 2) = (/ & & 0.35568e-05_rb,0.28602e-03_rb,0.48044e-03_rb,0.65868e-03_rb,0.81816e-03_rb, & & 0.93857e-03_rb,0.10357e-02_rb,0.11119e-02_rb,0.20509e-02_rb /) kao(:, 5,11, 2) = (/ & & 0.36921e-05_rb,0.32484e-03_rb,0.54623e-03_rb,0.74475e-03_rb,0.92307e-03_rb, & & 0.10758e-02_rb,0.11895e-02_rb,0.12777e-02_rb,0.23253e-02_rb /) kao(:, 1,12, 2) = (/ & & 0.22272e-05_rb,0.15807e-03_rb,0.27163e-03_rb,0.35935e-03_rb,0.43781e-03_rb, & & 0.50321e-03_rb,0.55776e-03_rb,0.60046e-03_rb,0.11852e-02_rb /) kao(:, 2,12, 2) = (/ & & 0.24898e-05_rb,0.18201e-03_rb,0.31004e-03_rb,0.42206e-03_rb,0.51226e-03_rb, & & 0.58824e-03_rb,0.64919e-03_rb,0.69291e-03_rb,0.13623e-02_rb /) kao(:, 3,12, 2) = (/ & & 0.27021e-05_rb,0.20958e-03_rb,0.35322e-03_rb,0.48676e-03_rb,0.59587e-03_rb, & & 0.68364e-03_rb,0.75527e-03_rb,0.80436e-03_rb,0.15654e-02_rb /) kao(:, 4,12, 2) = (/ & & 0.28526e-05_rb,0.24038e-03_rb,0.40262e-03_rb,0.55096e-03_rb,0.68671e-03_rb, & & 0.79103e-03_rb,0.87211e-03_rb,0.93124e-03_rb,0.17898e-02_rb /) kao(:, 5,12, 2) = (/ & & 0.29899e-05_rb,0.27289e-03_rb,0.45904e-03_rb,0.62448e-03_rb,0.77496e-03_rb, & & 0.90212e-03_rb,0.10018e-02_rb,0.10706e-02_rb,0.20265e-02_rb /) kao(:, 1,13, 2) = (/ & & 0.17576e-05_rb,0.13151e-03_rb,0.22518e-03_rb,0.29890e-03_rb,0.36398e-03_rb, & & 0.41884e-03_rb,0.46505e-03_rb,0.50086e-03_rb,0.97916e-03_rb /) kao(:, 2,13, 2) = (/ & & 0.19524e-05_rb,0.15189e-03_rb,0.25686e-03_rb,0.35123e-03_rb,0.42723e-03_rb, & & 0.49061e-03_rb,0.54293e-03_rb,0.57815e-03_rb,0.11260e-02_rb /) kao(:, 3,13, 2) = (/ & & 0.21134e-05_rb,0.17558e-03_rb,0.29382e-03_rb,0.40457e-03_rb,0.49777e-03_rb, & & 0.57153e-03_rb,0.63185e-03_rb,0.67213e-03_rb,0.12960e-02_rb /) kao(:, 4,13, 2) = (/ & & 0.22681e-05_rb,0.20106e-03_rb,0.33583e-03_rb,0.45977e-03_rb,0.57094e-03_rb, & & 0.66275e-03_rb,0.73149e-03_rb,0.77799e-03_rb,0.14856e-02_rb /) kao(:, 5,13, 2) = (/ & & 0.23940e-05_rb,0.22853e-03_rb,0.38323e-03_rb,0.52126e-03_rb,0.64684e-03_rb, & & 0.75455e-03_rb,0.84115e-03_rb,0.89575e-03_rb,0.16816e-02_rb /) kao(:, 1, 1, 3) = (/ & & 0.87154e-04_rb,0.70456e-02_rb,0.11624e-01_rb,0.16007e-01_rb,0.20277e-01_rb, & & 0.24349e-01_rb,0.27902e-01_rb,0.30956e-01_rb,0.33159e-01_rb /) kao(:, 2, 1, 3) = (/ & & 0.92678e-04_rb,0.75324e-02_rb,0.12552e-01_rb,0.17444e-01_rb,0.21967e-01_rb, & & 0.26250e-01_rb,0.30241e-01_rb,0.33348e-01_rb,0.36164e-01_rb /) kao(:, 3, 1, 3) = (/ & & 0.97955e-04_rb,0.80153e-02_rb,0.13502e-01_rb,0.18812e-01_rb,0.23862e-01_rb, & & 0.28480e-01_rb,0.32511e-01_rb,0.35713e-01_rb,0.38349e-01_rb /) kao(:, 4, 1, 3) = (/ & & 0.10404e-03_rb,0.84724e-02_rb,0.14429e-01_rb,0.20136e-01_rb,0.25672e-01_rb, & & 0.30688e-01_rb,0.35011e-01_rb,0.38379e-01_rb,0.40673e-01_rb /) kao(:, 5, 1, 3) = (/ & & 0.11110e-03_rb,0.89123e-02_rb,0.15343e-01_rb,0.21479e-01_rb,0.27290e-01_rb, & & 0.32751e-01_rb,0.37455e-01_rb,0.40931e-01_rb,0.42463e-01_rb /) kao(:, 1, 2, 3) = (/ & & 0.73214e-04_rb,0.61410e-02_rb,0.10125e-01_rb,0.13650e-01_rb,0.17158e-01_rb, & & 0.20627e-01_rb,0.23628e-01_rb,0.26251e-01_rb,0.27481e-01_rb /) kao(:, 2, 2, 3) = (/ & & 0.77936e-04_rb,0.65751e-02_rb,0.10966e-01_rb,0.14877e-01_rb,0.18693e-01_rb, & & 0.22272e-01_rb,0.25630e-01_rb,0.28395e-01_rb,0.29894e-01_rb /) kao(:, 3, 2, 3) = (/ & & 0.83061e-04_rb,0.69828e-02_rb,0.11774e-01_rb,0.16068e-01_rb,0.20317e-01_rb, & & 0.24244e-01_rb,0.27748e-01_rb,0.30432e-01_rb,0.31851e-01_rb /) kao(:, 4, 2, 3) = (/ & & 0.88564e-04_rb,0.73985e-02_rb,0.12581e-01_rb,0.17226e-01_rb,0.21842e-01_rb, & & 0.26177e-01_rb,0.29969e-01_rb,0.32748e-01_rb,0.33805e-01_rb /) kao(:, 5, 2, 3) = (/ & & 0.94933e-04_rb,0.77988e-02_rb,0.13372e-01_rb,0.18367e-01_rb,0.23323e-01_rb, & & 0.27928e-01_rb,0.31964e-01_rb,0.35013e-01_rb,0.35327e-01_rb /) kao(:, 1, 3, 3) = (/ & & 0.60947e-04_rb,0.52436e-02_rb,0.86174e-02_rb,0.11520e-01_rb,0.14231e-01_rb, & & 0.17027e-01_rb,0.19469e-01_rb,0.21634e-01_rb,0.21981e-01_rb /) kao(:, 2, 3, 3) = (/ & & 0.64921e-04_rb,0.55975e-02_rb,0.93512e-02_rb,0.12526e-01_rb,0.15516e-01_rb, & & 0.18471e-01_rb,0.21270e-01_rb,0.23512e-01_rb,0.24114e-01_rb /) kao(:, 3, 3, 3) = (/ & & 0.69521e-04_rb,0.59648e-02_rb,0.10060e-01_rb,0.13582e-01_rb,0.16903e-01_rb, & & 0.20177e-01_rb,0.23055e-01_rb,0.25380e-01_rb,0.25822e-01_rb /) kao(:, 4, 3, 3) = (/ & & 0.74348e-04_rb,0.63104e-02_rb,0.10767e-01_rb,0.14599e-01_rb,0.18273e-01_rb, & & 0.21836e-01_rb,0.24984e-01_rb,0.27358e-01_rb,0.27450e-01_rb /) kao(:, 5, 3, 3) = (/ & & 0.79780e-04_rb,0.66671e-02_rb,0.11458e-01_rb,0.15590e-01_rb,0.19579e-01_rb, & & 0.23358e-01_rb,0.26806e-01_rb,0.29335e-01_rb,0.28786e-01_rb /) kao(:, 1, 4, 3) = (/ & & 0.50799e-04_rb,0.44148e-02_rb,0.72225e-02_rb,0.96483e-02_rb,0.11767e-01_rb, & & 0.13828e-01_rb,0.15844e-01_rb,0.17588e-01_rb,0.17391e-01_rb /) kao(:, 2, 4, 3) = (/ & & 0.54227e-04_rb,0.47231e-02_rb,0.78527e-02_rb,0.10493e-01_rb,0.12835e-01_rb, & & 0.15126e-01_rb,0.17466e-01_rb,0.19219e-01_rb,0.19351e-01_rb /) kao(:, 3, 4, 3) = (/ & & 0.58151e-04_rb,0.50277e-02_rb,0.84823e-02_rb,0.11418e-01_rb,0.13969e-01_rb, & & 0.16576e-01_rb,0.18903e-01_rb,0.20840e-01_rb,0.20853e-01_rb /) kao(:, 4, 4, 3) = (/ & & 0.62433e-04_rb,0.53372e-02_rb,0.90813e-02_rb,0.12325e-01_rb,0.15163e-01_rb, & & 0.17971e-01_rb,0.20590e-01_rb,0.22529e-01_rb,0.22273e-01_rb /) kao(:, 5, 4, 3) = (/ & & 0.66852e-04_rb,0.56429e-02_rb,0.96836e-02_rb,0.13189e-01_rb,0.16280e-01_rb, & & 0.19312e-01_rb,0.22136e-01_rb,0.24263e-01_rb,0.23466e-01_rb /) kao(:, 1, 5, 3) = (/ & & 0.42593e-04_rb,0.36760e-02_rb,0.59913e-02_rb,0.79812e-02_rb,0.97729e-02_rb, & & 0.11265e-01_rb,0.12874e-01_rb,0.14150e-01_rb,0.13651e-01_rb /) kao(:, 2, 5, 3) = (/ & & 0.45779e-04_rb,0.39344e-02_rb,0.65401e-02_rb,0.87030e-02_rb,0.10650e-01_rb, & & 0.12374e-01_rb,0.14135e-01_rb,0.15529e-01_rb,0.15507e-01_rb /) kao(:, 3, 5, 3) = (/ & & 0.48868e-04_rb,0.42013e-02_rb,0.70859e-02_rb,0.94912e-02_rb,0.11609e-01_rb, & & 0.13557e-01_rb,0.15381e-01_rb,0.16993e-01_rb,0.16785e-01_rb /) kao(:, 4, 5, 3) = (/ & & 0.52509e-04_rb,0.44674e-02_rb,0.76022e-02_rb,0.10271e-01_rb,0.12630e-01_rb, & & 0.14736e-01_rb,0.16830e-01_rb,0.18387e-01_rb,0.18040e-01_rb /) kao(:, 5, 5, 3) = (/ & & 0.56196e-04_rb,0.47381e-02_rb,0.81005e-02_rb,0.11026e-01_rb,0.13586e-01_rb, & & 0.15940e-01_rb,0.18160e-01_rb,0.19920e-01_rb,0.19092e-01_rb /) kao(:, 1, 6, 3) = (/ & & 0.36112e-04_rb,0.30316e-02_rb,0.49038e-02_rb,0.65325e-02_rb,0.79606e-02_rb, & & 0.91706e-02_rb,0.10285e-01_rb,0.11252e-01_rb,0.10556e-01_rb /) kao(:, 2, 6, 3) = (/ & & 0.38502e-04_rb,0.32575e-02_rb,0.53855e-02_rb,0.71302e-02_rb,0.87200e-02_rb, & & 0.10138e-01_rb,0.11319e-01_rb,0.12504e-01_rb,0.12109e-01_rb /) kao(:, 3, 6, 3) = (/ & & 0.41070e-04_rb,0.34869e-02_rb,0.58643e-02_rb,0.78020e-02_rb,0.95232e-02_rb, & & 0.11081e-01_rb,0.12413e-01_rb,0.13700e-01_rb,0.13350e-01_rb /) kao(:, 4, 6, 3) = (/ & & 0.44034e-04_rb,0.37142e-02_rb,0.62924e-02_rb,0.84867e-02_rb,0.10400e-01_rb, & & 0.12091e-01_rb,0.13614e-01_rb,0.14850e-01_rb,0.14396e-01_rb /) kao(:, 5, 6, 3) = (/ & & 0.47021e-04_rb,0.39387e-02_rb,0.67171e-02_rb,0.91319e-02_rb,0.11231e-01_rb, & & 0.13129e-01_rb,0.14745e-01_rb,0.16155e-01_rb,0.15392e-01_rb /) kao(:, 1, 7, 3) = (/ & & 0.30001e-04_rb,0.24884e-02_rb,0.39787e-02_rb,0.53262e-02_rb,0.64254e-02_rb, & & 0.74422e-02_rb,0.82418e-02_rb,0.87651e-02_rb,0.83241e-02_rb /) kao(:, 2, 7, 3) = (/ & & 0.32067e-04_rb,0.26831e-02_rb,0.43873e-02_rb,0.58009e-02_rb,0.70881e-02_rb, & & 0.82303e-02_rb,0.91115e-02_rb,0.99530e-02_rb,0.95843e-02_rb /) kao(:, 3, 7, 3) = (/ & & 0.34414e-04_rb,0.28762e-02_rb,0.47981e-02_rb,0.63650e-02_rb,0.77555e-02_rb, & & 0.90130e-02_rb,0.10051e-01_rb,0.10944e-01_rb,0.10687e-01_rb /) kao(:, 4, 7, 3) = (/ & & 0.36543e-04_rb,0.30749e-02_rb,0.51697e-02_rb,0.69549e-02_rb,0.84939e-02_rb, & & 0.98621e-02_rb,0.11012e-01_rb,0.11950e-01_rb,0.11596e-01_rb /) kao(:, 5, 7, 3) = (/ & & 0.38986e-04_rb,0.32672e-02_rb,0.55268e-02_rb,0.74950e-02_rb,0.92206e-02_rb, & & 0.10750e-01_rb,0.11970e-01_rb,0.13029e-01_rb,0.12461e-01_rb /) kao(:, 1, 8, 3) = (/ & & 0.24718e-04_rb,0.20304e-02_rb,0.32253e-02_rb,0.42957e-02_rb,0.51621e-02_rb, & & 0.59477e-02_rb,0.65543e-02_rb,0.67901e-02_rb,0.66578e-02_rb /) kao(:, 2, 8, 3) = (/ & & 0.26226e-04_rb,0.22027e-02_rb,0.35528e-02_rb,0.46844e-02_rb,0.57463e-02_rb, & & 0.66070e-02_rb,0.73566e-02_rb,0.79086e-02_rb,0.76807e-02_rb /) kao(:, 3, 8, 3) = (/ & & 0.28095e-04_rb,0.23614e-02_rb,0.38960e-02_rb,0.51529e-02_rb,0.62773e-02_rb, & & 0.72919e-02_rb,0.81475e-02_rb,0.87344e-02_rb,0.86509e-02_rb /) kao(:, 4, 8, 3) = (/ & & 0.29856e-04_rb,0.25346e-02_rb,0.42180e-02_rb,0.56507e-02_rb,0.68867e-02_rb, & & 0.79948e-02_rb,0.89169e-02_rb,0.96226e-02_rb,0.94212e-02_rb /) kao(:, 5, 8, 3) = (/ & & 0.31432e-04_rb,0.26989e-02_rb,0.45288e-02_rb,0.61158e-02_rb,0.75231e-02_rb, & & 0.87319e-02_rb,0.97447e-02_rb,0.10470e-01_rb,0.10172e-01_rb /) kao(:, 1, 9, 3) = (/ & & 0.20151e-04_rb,0.16622e-02_rb,0.26102e-02_rb,0.34345e-02_rb,0.41518e-02_rb, & & 0.47356e-02_rb,0.51198e-02_rb,0.52901e-02_rb,0.55608e-02_rb /) kao(:, 2, 9, 3) = (/ & & 0.21290e-04_rb,0.18112e-02_rb,0.28622e-02_rb,0.37770e-02_rb,0.46098e-02_rb, & & 0.52825e-02_rb,0.58719e-02_rb,0.62115e-02_rb,0.64287e-02_rb /) kao(:, 3, 9, 3) = (/ & & 0.22604e-04_rb,0.19483e-02_rb,0.31536e-02_rb,0.41418e-02_rb,0.50513e-02_rb, & & 0.58883e-02_rb,0.65199e-02_rb,0.70000e-02_rb,0.71641e-02_rb /) kao(:, 4, 9, 3) = (/ & & 0.24039e-04_rb,0.20909e-02_rb,0.34321e-02_rb,0.45633e-02_rb,0.55575e-02_rb, & & 0.64453e-02_rb,0.71800e-02_rb,0.77062e-02_rb,0.77821e-02_rb /) kao(:, 5, 9, 3) = (/ & & 0.25275e-04_rb,0.22325e-02_rb,0.36976e-02_rb,0.49727e-02_rb,0.60945e-02_rb, & & 0.70632e-02_rb,0.78696e-02_rb,0.84048e-02_rb,0.84571e-02_rb /) kao(:, 1,10, 3) = (/ & & 0.16520e-04_rb,0.13579e-02_rb,0.21217e-02_rb,0.27650e-02_rb,0.33209e-02_rb, & & 0.37657e-02_rb,0.40263e-02_rb,0.41632e-02_rb,0.59019e-02_rb /) kao(:, 2,10, 3) = (/ & & 0.17307e-04_rb,0.14868e-02_rb,0.23230e-02_rb,0.30616e-02_rb,0.37000e-02_rb, & & 0.42629e-02_rb,0.46958e-02_rb,0.48956e-02_rb,0.64729e-02_rb /) kao(:, 3,10, 3) = (/ & & 0.18210e-04_rb,0.16086e-02_rb,0.25635e-02_rb,0.33480e-02_rb,0.40827e-02_rb, & & 0.47590e-02_rb,0.52424e-02_rb,0.56088e-02_rb,0.71072e-02_rb /) kao(:, 4,10, 3) = (/ & & 0.19263e-04_rb,0.17308e-02_rb,0.28038e-02_rb,0.37016e-02_rb,0.44933e-02_rb, & & 0.52114e-02_rb,0.58224e-02_rb,0.62053e-02_rb,0.76445e-02_rb /) kao(:, 5,10, 3) = (/ & & 0.20450e-04_rb,0.18514e-02_rb,0.30286e-02_rb,0.40569e-02_rb,0.49417e-02_rb, & & 0.57292e-02_rb,0.63809e-02_rb,0.68162e-02_rb,0.81800e-02_rb /) kao(:, 1,11, 3) = (/ & & 0.13743e-04_rb,0.11544e-02_rb,0.18005e-02_rb,0.23380e-02_rb,0.28127e-02_rb, & & 0.32019e-02_rb,0.34184e-02_rb,0.35137e-02_rb,0.55132e-02_rb /) kao(:, 2,11, 3) = (/ & & 0.14314e-04_rb,0.12648e-02_rb,0.19811e-02_rb,0.25794e-02_rb,0.31283e-02_rb, & & 0.35835e-02_rb,0.39635e-02_rb,0.41524e-02_rb,0.60640e-02_rb /) kao(:, 3,11, 3) = (/ & & 0.14980e-04_rb,0.13667e-02_rb,0.21846e-02_rb,0.28316e-02_rb,0.34390e-02_rb, & & 0.40069e-02_rb,0.44283e-02_rb,0.47282e-02_rb,0.65662e-02_rb /) kao(:, 4,11, 3) = (/ & & 0.15843e-04_rb,0.14691e-02_rb,0.23844e-02_rb,0.31346e-02_rb,0.37915e-02_rb, & & 0.43926e-02_rb,0.49108e-02_rb,0.52431e-02_rb,0.70521e-02_rb /) kao(:, 5,11, 3) = (/ & & 0.16801e-04_rb,0.15709e-02_rb,0.25738e-02_rb,0.34250e-02_rb,0.41781e-02_rb, & & 0.48258e-02_rb,0.53776e-02_rb,0.57400e-02_rb,0.74913e-02_rb /) kao(:, 1,12, 3) = (/ & & 0.11265e-04_rb,0.97473e-03_rb,0.15190e-02_rb,0.19779e-02_rb,0.23708e-02_rb, & & 0.27002e-02_rb,0.28954e-02_rb,0.29689e-02_rb,0.49052e-02_rb /) kao(:, 2,12, 3) = (/ & & 0.11703e-04_rb,0.10660e-02_rb,0.16806e-02_rb,0.21742e-02_rb,0.26370e-02_rb, & & 0.30184e-02_rb,0.33461e-02_rb,0.35081e-02_rb,0.53515e-02_rb /) kao(:, 3,12, 3) = (/ & & 0.12275e-04_rb,0.11524e-02_rb,0.18532e-02_rb,0.24014e-02_rb,0.28932e-02_rb, & & 0.33615e-02_rb,0.37332e-02_rb,0.39759e-02_rb,0.57806e-02_rb /) kao(:, 4,12, 3) = (/ & & 0.12963e-04_rb,0.12405e-02_rb,0.20200e-02_rb,0.26573e-02_rb,0.31978e-02_rb, & & 0.36904e-02_rb,0.41225e-02_rb,0.44151e-02_rb,0.61956e-02_rb /) kao(:, 5,12, 3) = (/ & & 0.13696e-04_rb,0.13266e-02_rb,0.21814e-02_rb,0.28939e-02_rb,0.35284e-02_rb, & & 0.40629e-02_rb,0.45191e-02_rb,0.48283e-02_rb,0.65800e-02_rb /) kao(:, 1,13, 3) = (/ & & 0.91179e-05_rb,0.81531e-03_rb,0.12754e-02_rb,0.16598e-02_rb,0.19900e-02_rb, & & 0.22634e-02_rb,0.24441e-02_rb,0.24984e-02_rb,0.40576e-02_rb /) kao(:, 2,13, 3) = (/ & & 0.95039e-05_rb,0.89093e-03_rb,0.14150e-02_rb,0.18287e-02_rb,0.22143e-02_rb, & & 0.25329e-02_rb,0.28092e-02_rb,0.29546e-02_rb,0.44374e-02_rb /) kao(:, 3,13, 3) = (/ & & 0.99762e-05_rb,0.96494e-03_rb,0.15625e-02_rb,0.20288e-02_rb,0.24319e-02_rb, & & 0.28108e-02_rb,0.31373e-02_rb,0.33177e-02_rb,0.48094e-02_rb /) kao(:, 4,13, 3) = (/ & & 0.10509e-04_rb,0.10398e-02_rb,0.16996e-02_rb,0.22443e-02_rb,0.26925e-02_rb, & & 0.30942e-02_rb,0.34481e-02_rb,0.37003e-02_rb,0.51550e-02_rb /) kao(:, 5,13, 3) = (/ & & 0.11033e-04_rb,0.11134e-02_rb,0.18372e-02_rb,0.24408e-02_rb,0.29682e-02_rb, & & 0.34114e-02_rb,0.37859e-02_rb,0.40424e-02_rb,0.54893e-02_rb /) kao(:, 1, 1, 4) = (/ & & 0.25564e-03_rb,0.23940e-01_rb,0.41535e-01_rb,0.56276e-01_rb,0.68561e-01_rb, & & 0.78630e-01_rb,0.86993e-01_rb,0.91794e-01_rb,0.84229e-01_rb /) kao(:, 2, 1, 4) = (/ & & 0.29194e-03_rb,0.25170e-01_rb,0.43659e-01_rb,0.59016e-01_rb,0.72302e-01_rb, & & 0.83167e-01_rb,0.91739e-01_rb,0.96774e-01_rb,0.86838e-01_rb /) kao(:, 3, 1, 4) = (/ & & 0.33934e-03_rb,0.26430e-01_rb,0.45835e-01_rb,0.61922e-01_rb,0.75614e-01_rb, & & 0.87285e-01_rb,0.96606e-01_rb,0.10156e+00_rb,0.90084e-01_rb /) kao(:, 4, 1, 4) = (/ & & 0.38871e-03_rb,0.27733e-01_rb,0.48058e-01_rb,0.64973e-01_rb,0.79090e-01_rb, & & 0.91156e-01_rb,0.10084e+00_rb,0.10589e+00_rb,0.92583e-01_rb /) kao(:, 5, 1, 4) = (/ & & 0.44473e-03_rb,0.29028e-01_rb,0.50287e-01_rb,0.68010e-01_rb,0.82805e-01_rb, & & 0.95193e-01_rb,0.10492e+00_rb,0.10995e+00_rb,0.95419e-01_rb /) kao(:, 1, 2, 4) = (/ & & 0.23400e-03_rb,0.20753e-01_rb,0.35742e-01_rb,0.48709e-01_rb,0.59548e-01_rb, & & 0.68206e-01_rb,0.75045e-01_rb,0.78915e-01_rb,0.70180e-01_rb /) kao(:, 2, 2, 4) = (/ & & 0.26775e-03_rb,0.21832e-01_rb,0.37611e-01_rb,0.51156e-01_rb,0.62768e-01_rb, & & 0.72267e-01_rb,0.79422e-01_rb,0.83262e-01_rb,0.72735e-01_rb /) kao(:, 3, 2, 4) = (/ & & 0.30033e-03_rb,0.22961e-01_rb,0.39618e-01_rb,0.53774e-01_rb,0.65773e-01_rb, & & 0.75819e-01_rb,0.83532e-01_rb,0.87496e-01_rb,0.75459e-01_rb /) kao(:, 4, 2, 4) = (/ & & 0.34366e-03_rb,0.24116e-01_rb,0.41597e-01_rb,0.56506e-01_rb,0.68944e-01_rb, & & 0.79231e-01_rb,0.87245e-01_rb,0.91336e-01_rb,0.77669e-01_rb /) kao(:, 5, 2, 4) = (/ & & 0.39179e-03_rb,0.25289e-01_rb,0.43575e-01_rb,0.59282e-01_rb,0.72132e-01_rb, & & 0.82956e-01_rb,0.91038e-01_rb,0.94937e-01_rb,0.80272e-01_rb /) kao(:, 1, 3, 4) = (/ & & 0.20730e-03_rb,0.18044e-01_rb,0.30227e-01_rb,0.41206e-01_rb,0.50626e-01_rb, & & 0.58095e-01_rb,0.63725e-01_rb,0.66721e-01_rb,0.57780e-01_rb /) kao(:, 2, 3, 4) = (/ & & 0.24007e-03_rb,0.18972e-01_rb,0.31883e-01_rb,0.43486e-01_rb,0.53572e-01_rb, & & 0.61742e-01_rb,0.67489e-01_rb,0.70552e-01_rb,0.60009e-01_rb /) kao(:, 3, 3, 4) = (/ & & 0.26931e-03_rb,0.19934e-01_rb,0.33681e-01_rb,0.45775e-01_rb,0.56255e-01_rb, & & 0.64869e-01_rb,0.71254e-01_rb,0.74232e-01_rb,0.62350e-01_rb /) kao(:, 4, 3, 4) = (/ & & 0.30064e-03_rb,0.20965e-01_rb,0.35448e-01_rb,0.48199e-01_rb,0.59036e-01_rb, & & 0.67921e-01_rb,0.74594e-01_rb,0.77689e-01_rb,0.64410e-01_rb /) kao(:, 5, 3, 4) = (/ & & 0.33967e-03_rb,0.21972e-01_rb,0.37192e-01_rb,0.50676e-01_rb,0.61884e-01_rb, & & 0.71207e-01_rb,0.77888e-01_rb,0.80947e-01_rb,0.66667e-01_rb /) kao(:, 1, 4, 4) = (/ & & 0.18201e-03_rb,0.15595e-01_rb,0.25372e-01_rb,0.34431e-01_rb,0.42401e-01_rb, & & 0.48915e-01_rb,0.53613e-01_rb,0.55953e-01_rb,0.47727e-01_rb /) kao(:, 2, 4, 4) = (/ & & 0.20883e-03_rb,0.16422e-01_rb,0.26851e-01_rb,0.36481e-01_rb,0.45074e-01_rb, & & 0.52078e-01_rb,0.56860e-01_rb,0.59287e-01_rb,0.49553e-01_rb /) kao(:, 3, 4, 4) = (/ & & 0.23874e-03_rb,0.17285e-01_rb,0.28425e-01_rb,0.38514e-01_rb,0.47542e-01_rb, & & 0.54904e-01_rb,0.60284e-01_rb,0.62561e-01_rb,0.51595e-01_rb /) kao(:, 4, 4, 4) = (/ & & 0.26707e-03_rb,0.18200e-01_rb,0.30007e-01_rb,0.40613e-01_rb,0.49982e-01_rb, & & 0.57662e-01_rb,0.63231e-01_rb,0.65666e-01_rb,0.53450e-01_rb /) kao(:, 5, 4, 4) = (/ & & 0.30102e-03_rb,0.19113e-01_rb,0.31552e-01_rb,0.42805e-01_rb,0.52535e-01_rb, & & 0.60559e-01_rb,0.66195e-01_rb,0.68549e-01_rb,0.55415e-01_rb /) kao(:, 1, 5, 4) = (/ & & 0.15801e-03_rb,0.13295e-01_rb,0.21524e-01_rb,0.28666e-01_rb,0.35142e-01_rb, & & 0.40757e-01_rb,0.44715e-01_rb,0.46740e-01_rb,0.39384e-01_rb /) kao(:, 2, 5, 4) = (/ & & 0.17994e-03_rb,0.14057e-01_rb,0.22786e-01_rb,0.30487e-01_rb,0.37563e-01_rb, & & 0.43509e-01_rb,0.47676e-01_rb,0.49638e-01_rb,0.40849e-01_rb /) kao(:, 3, 5, 4) = (/ & & 0.20535e-03_rb,0.14811e-01_rb,0.24116e-01_rb,0.32266e-01_rb,0.39764e-01_rb, & & 0.46122e-01_rb,0.50669e-01_rb,0.52413e-01_rb,0.42683e-01_rb /) kao(:, 4, 5, 4) = (/ & & 0.23511e-03_rb,0.15598e-01_rb,0.25481e-01_rb,0.34103e-01_rb,0.41924e-01_rb, & & 0.48592e-01_rb,0.53283e-01_rb,0.55235e-01_rb,0.44335e-01_rb /) kao(:, 5, 5, 4) = (/ & & 0.26640e-03_rb,0.16402e-01_rb,0.26844e-01_rb,0.36000e-01_rb,0.44180e-01_rb, & & 0.51086e-01_rb,0.55918e-01_rb,0.57796e-01_rb,0.45991e-01_rb /) kao(:, 1, 6, 4) = (/ & & 0.13805e-03_rb,0.11222e-01_rb,0.18125e-01_rb,0.23877e-01_rb,0.28939e-01_rb, & & 0.33506e-01_rb,0.36944e-01_rb,0.38672e-01_rb,0.32335e-01_rb /) kao(:, 2, 6, 4) = (/ & & 0.15439e-03_rb,0.11883e-01_rb,0.19262e-01_rb,0.25521e-01_rb,0.31068e-01_rb, & & 0.35882e-01_rb,0.39589e-01_rb,0.41132e-01_rb,0.33684e-01_rb /) kao(:, 3, 6, 4) = (/ & & 0.17561e-03_rb,0.12558e-01_rb,0.20409e-01_rb,0.27033e-01_rb,0.33056e-01_rb, & & 0.38260e-01_rb,0.42155e-01_rb,0.43639e-01_rb,0.35175e-01_rb /) kao(:, 4, 6, 4) = (/ & & 0.19967e-03_rb,0.13236e-01_rb,0.21628e-01_rb,0.28554e-01_rb,0.34939e-01_rb, & & 0.40459e-01_rb,0.44550e-01_rb,0.46147e-01_rb,0.36643e-01_rb /) kao(:, 5, 6, 4) = (/ & & 0.23117e-03_rb,0.13936e-01_rb,0.22836e-01_rb,0.30183e-01_rb,0.36909e-01_rb, & & 0.42652e-01_rb,0.46864e-01_rb,0.48440e-01_rb,0.37992e-01_rb /) kao(:, 1, 7, 4) = (/ & & 0.11987e-03_rb,0.93983e-02_rb,0.15130e-01_rb,0.19808e-01_rb,0.23796e-01_rb, & & 0.27285e-01_rb,0.30176e-01_rb,0.31906e-01_rb,0.26193e-01_rb /) kao(:, 2, 7, 4) = (/ & & 0.13164e-03_rb,0.99743e-02_rb,0.16118e-01_rb,0.21319e-01_rb,0.25600e-01_rb, & & 0.29404e-01_rb,0.32485e-01_rb,0.33909e-01_rb,0.27439e-01_rb /) kao(:, 3, 7, 4) = (/ & & 0.14862e-03_rb,0.10559e-01_rb,0.17124e-01_rb,0.22674e-01_rb,0.27373e-01_rb, & & 0.31501e-01_rb,0.34705e-01_rb,0.36112e-01_rb,0.28667e-01_rb /) kao(:, 4, 7, 4) = (/ & & 0.16941e-03_rb,0.11142e-01_rb,0.18163e-01_rb,0.23992e-01_rb,0.29023e-01_rb, & & 0.33461e-01_rb,0.36882e-01_rb,0.38288e-01_rb,0.29990e-01_rb /) kao(:, 5, 7, 4) = (/ & & 0.19444e-03_rb,0.11740e-01_rb,0.19231e-01_rb,0.25410e-01_rb,0.30702e-01_rb, & & 0.35380e-01_rb,0.38933e-01_rb,0.40325e-01_rb,0.31163e-01_rb /) kao(:, 1, 8, 4) = (/ & & 0.10266e-03_rb,0.78132e-02_rb,0.12495e-01_rb,0.16294e-01_rb,0.19552e-01_rb, & & 0.22203e-01_rb,0.24522e-01_rb,0.26158e-01_rb,0.21477e-01_rb /) kao(:, 2, 8, 4) = (/ & & 0.11308e-03_rb,0.82996e-02_rb,0.13385e-01_rb,0.17650e-01_rb,0.21113e-01_rb, & & 0.24026e-01_rb,0.26424e-01_rb,0.27779e-01_rb,0.22661e-01_rb /) kao(:, 3, 8, 4) = (/ & & 0.12431e-03_rb,0.88118e-02_rb,0.14254e-01_rb,0.18852e-01_rb,0.22717e-01_rb, & & 0.25822e-01_rb,0.28352e-01_rb,0.29667e-01_rb,0.23674e-01_rb /) kao(:, 4, 8, 4) = (/ & & 0.14146e-03_rb,0.93080e-02_rb,0.15152e-01_rb,0.20013e-01_rb,0.24158e-01_rb, & & 0.27569e-01_rb,0.30306e-01_rb,0.31495e-01_rb,0.24838e-01_rb /) kao(:, 5, 8, 4) = (/ & & 0.16275e-03_rb,0.98287e-02_rb,0.16080e-01_rb,0.21227e-01_rb,0.25592e-01_rb, & & 0.29226e-01_rb,0.32075e-01_rb,0.33357e-01_rb,0.25887e-01_rb /) kao(:, 1, 9, 4) = (/ & & 0.85797e-04_rb,0.64412e-02_rb,0.10231e-01_rb,0.13327e-01_rb,0.15923e-01_rb, & & 0.18103e-01_rb,0.19903e-01_rb,0.21189e-01_rb,0.17975e-01_rb /) kao(:, 2, 9, 4) = (/ & & 0.94370e-04_rb,0.68514e-02_rb,0.11041e-01_rb,0.14472e-01_rb,0.17298e-01_rb, & & 0.19661e-01_rb,0.21421e-01_rb,0.22631e-01_rb,0.18990e-01_rb /) kao(:, 3, 9, 4) = (/ & & 0.10603e-03_rb,0.72870e-02_rb,0.11786e-01_rb,0.15570e-01_rb,0.18710e-01_rb, & & 0.21195e-01_rb,0.23092e-01_rb,0.24157e-01_rb,0.19934e-01_rb /) kao(:, 4, 9, 4) = (/ & & 0.11819e-03_rb,0.77217e-02_rb,0.12559e-01_rb,0.16589e-01_rb,0.19991e-01_rb, & & 0.22738e-01_rb,0.24769e-01_rb,0.25771e-01_rb,0.20946e-01_rb /) kao(:, 5, 9, 4) = (/ & & 0.13500e-03_rb,0.81624e-02_rb,0.13346e-01_rb,0.17610e-01_rb,0.21227e-01_rb, & & 0.24140e-01_rb,0.26339e-01_rb,0.27388e-01_rb,0.21819e-01_rb /) kao(:, 1,10, 4) = (/ & & 0.73275e-04_rb,0.53147e-02_rb,0.83832e-02_rb,0.10890e-01_rb,0.12998e-01_rb, & & 0.14772e-01_rb,0.16237e-01_rb,0.17165e-01_rb,0.15972e-01_rb /) kao(:, 2,10, 4) = (/ & & 0.80303e-04_rb,0.56594e-02_rb,0.90964e-02_rb,0.11869e-01_rb,0.14181e-01_rb, & & 0.16065e-01_rb,0.17493e-01_rb,0.18447e-01_rb,0.17075e-01_rb /) kao(:, 3,10, 4) = (/ & & 0.88821e-04_rb,0.60286e-02_rb,0.97491e-02_rb,0.12852e-01_rb,0.15387e-01_rb, & & 0.17394e-01_rb,0.18909e-01_rb,0.19708e-01_rb,0.18078e-01_rb /) kao(:, 4,10, 4) = (/ & & 0.10142e-03_rb,0.63962e-02_rb,0.10392e-01_rb,0.13730e-01_rb,0.16522e-01_rb, & & 0.18771e-01_rb,0.20308e-01_rb,0.21096e-01_rb,0.19037e-01_rb /) kao(:, 5,10, 4) = (/ & & 0.11405e-03_rb,0.67754e-02_rb,0.11065e-01_rb,0.14605e-01_rb,0.17581e-01_rb, & & 0.19991e-01_rb,0.21687e-01_rb,0.22458e-01_rb,0.19875e-01_rb /) kao(:, 1,11, 4) = (/ & & 0.64517e-04_rb,0.45135e-02_rb,0.71165e-02_rb,0.92384e-02_rb,0.10998e-01_rb, & & 0.12474e-01_rb,0.13700e-01_rb,0.14388e-01_rb,0.14631e-01_rb /) kao(:, 2,11, 4) = (/ & & 0.71535e-04_rb,0.48070e-02_rb,0.77137e-02_rb,0.10092e-01_rb,0.12023e-01_rb, & & 0.13623e-01_rb,0.14792e-01_rb,0.15449e-01_rb,0.15481e-01_rb /) kao(:, 3,11, 4) = (/ & & 0.79504e-04_rb,0.51199e-02_rb,0.82600e-02_rb,0.10911e-01_rb,0.13076e-01_rb, & & 0.14755e-01_rb,0.16002e-01_rb,0.16546e-01_rb,0.16298e-01_rb /) kao(:, 4,11, 4) = (/ & & 0.90433e-04_rb,0.54351e-02_rb,0.88101e-02_rb,0.11647e-01_rb,0.14018e-01_rb, & & 0.15922e-01_rb,0.17206e-01_rb,0.17715e-01_rb,0.16991e-01_rb /) kao(:, 5,11, 4) = (/ & & 0.10146e-03_rb,0.57596e-02_rb,0.93865e-02_rb,0.12407e-01_rb,0.14922e-01_rb, & & 0.16951e-01_rb,0.18384e-01_rb,0.18893e-01_rb,0.17666e-01_rb /) kao(:, 1,12, 4) = (/ & & 0.56913e-04_rb,0.38361e-02_rb,0.60238e-02_rb,0.78101e-02_rb,0.92943e-02_rb, & & 0.10515e-01_rb,0.11514e-01_rb,0.12051e-01_rb,0.12708e-01_rb /) kao(:, 2,12, 4) = (/ & & 0.62984e-04_rb,0.40886e-02_rb,0.65153e-02_rb,0.85464e-02_rb,0.10168e-01_rb, & & 0.11498e-01_rb,0.12452e-01_rb,0.12938e-01_rb,0.13473e-01_rb /) kao(:, 3,12, 4) = (/ & & 0.70588e-04_rb,0.43561e-02_rb,0.69761e-02_rb,0.92137e-02_rb,0.11068e-01_rb, & & 0.12482e-01_rb,0.13497e-01_rb,0.13892e-01_rb,0.14090e-01_rb /) kao(:, 4,12, 4) = (/ & & 0.79556e-04_rb,0.46222e-02_rb,0.74472e-02_rb,0.98382e-02_rb,0.11852e-01_rb, & & 0.13461e-01_rb,0.14539e-01_rb,0.14868e-01_rb,0.14684e-01_rb /) kao(:, 5,12, 4) = (/ & & 0.89330e-04_rb,0.49037e-02_rb,0.79332e-02_rb,0.10492e-01_rb,0.12613e-01_rb, & & 0.14331e-01_rb,0.15523e-01_rb,0.15867e-01_rb,0.15266e-01_rb /) kao(:, 1,13, 4) = (/ & & 0.49040e-04_rb,0.32470e-02_rb,0.50782e-02_rb,0.65813e-02_rb,0.78254e-02_rb, & & 0.88398e-02_rb,0.96483e-02_rb,0.10090e-01_rb,0.10614e-01_rb /) kao(:, 2,13, 4) = (/ & & 0.54225e-04_rb,0.34616e-02_rb,0.54906e-02_rb,0.71951e-02_rb,0.85711e-02_rb, & & 0.96781e-02_rb,0.10460e-01_rb,0.10840e-01_rb,0.11206e-01_rb /) kao(:, 3,13, 4) = (/ & & 0.61136e-04_rb,0.36878e-02_rb,0.58777e-02_rb,0.77458e-02_rb,0.93183e-02_rb, & & 0.10528e-01_rb,0.11347e-01_rb,0.11684e-01_rb,0.11730e-01_rb /) kao(:, 4,13, 4) = (/ & & 0.68788e-04_rb,0.39213e-02_rb,0.62791e-02_rb,0.82774e-02_rb,0.99761e-02_rb, & & 0.11332e-01_rb,0.12247e-01_rb,0.12495e-01_rb,0.12250e-01_rb /) kao(:, 5,13, 4) = (/ & & 0.77427e-04_rb,0.41640e-02_rb,0.66890e-02_rb,0.88358e-02_rb,0.10624e-01_rb, & & 0.12069e-01_rb,0.13064e-01_rb,0.13341e-01_rb,0.12730e-01_rb /) kao(:, 1, 1, 5) = (/ & & 0.69098e-02_rb,0.84650e-01_rb,0.13006e+00_rb,0.16652e+00_rb,0.19608e+00_rb, & & 0.21975e+00_rb,0.23496e+00_rb,0.23277e+00_rb,0.18007e+00_rb /) kao(:, 2, 1, 5) = (/ & & 0.78200e-02_rb,0.89279e-01_rb,0.13630e+00_rb,0.17409e+00_rb,0.20398e+00_rb, & & 0.22718e+00_rb,0.24129e+00_rb,0.23750e+00_rb,0.18438e+00_rb /) kao(:, 3, 1, 5) = (/ & & 0.89787e-02_rb,0.94428e-01_rb,0.14296e+00_rb,0.18170e+00_rb,0.21205e+00_rb, & & 0.23450e+00_rb,0.24726e+00_rb,0.24172e+00_rb,0.18878e+00_rb /) kao(:, 4, 1, 5) = (/ & & 0.10426e-01_rb,0.10003e+00_rb,0.15009e+00_rb,0.18943e+00_rb,0.22015e+00_rb, & & 0.24206e+00_rb,0.25341e+00_rb,0.24571e+00_rb,0.19325e+00_rb /) kao(:, 5, 1, 5) = (/ & & 0.12209e-01_rb,0.10603e+00_rb,0.15781e+00_rb,0.19756e+00_rb,0.22832e+00_rb, & & 0.24963e+00_rb,0.25957e+00_rb,0.24958e+00_rb,0.19748e+00_rb /) kao(:, 1, 2, 5) = (/ & & 0.64020e-02_rb,0.74597e-01_rb,0.11458e+00_rb,0.14581e+00_rb,0.17103e+00_rb, & & 0.19105e+00_rb,0.20412e+00_rb,0.20133e+00_rb,0.15242e+00_rb /) kao(:, 2, 2, 5) = (/ & & 0.72586e-02_rb,0.78857e-01_rb,0.12024e+00_rb,0.15257e+00_rb,0.17796e+00_rb, & & 0.19765e+00_rb,0.20972e+00_rb,0.20548e+00_rb,0.15620e+00_rb /) kao(:, 3, 2, 5) = (/ & & 0.82903e-02_rb,0.83602e-01_rb,0.12623e+00_rb,0.15931e+00_rb,0.18512e+00_rb, & & 0.20423e+00_rb,0.21503e+00_rb,0.20937e+00_rb,0.15993e+00_rb /) kao(:, 4, 2, 5) = (/ & & 0.94578e-02_rb,0.88668e-01_rb,0.13277e+00_rb,0.16635e+00_rb,0.19233e+00_rb, & & 0.21098e+00_rb,0.22050e+00_rb,0.21294e+00_rb,0.16397e+00_rb /) kao(:, 5, 2, 5) = (/ & & 0.10865e-01_rb,0.94113e-01_rb,0.13987e+00_rb,0.17375e+00_rb,0.19975e+00_rb, & & 0.21771e+00_rb,0.22592e+00_rb,0.21639e+00_rb,0.16745e+00_rb /) kao(:, 1, 3, 5) = (/ & & 0.56943e-02_rb,0.64084e-01_rb,0.99294e-01_rb,0.12614e+00_rb,0.14746e+00_rb, & & 0.16414e+00_rb,0.17503e+00_rb,0.17255e+00_rb,0.12738e+00_rb /) kao(:, 2, 3, 5) = (/ & & 0.64702e-02_rb,0.67967e-01_rb,0.10427e+00_rb,0.13197e+00_rb,0.15350e+00_rb, & & 0.16985e+00_rb,0.18008e+00_rb,0.17631e+00_rb,0.13087e+00_rb /) kao(:, 3, 3, 5) = (/ & & 0.74200e-02_rb,0.72252e-01_rb,0.10956e+00_rb,0.13801e+00_rb,0.15978e+00_rb, & & 0.17567e+00_rb,0.18476e+00_rb,0.17977e+00_rb,0.13421e+00_rb /) kao(:, 4, 3, 5) = (/ & & 0.84907e-02_rb,0.76772e-01_rb,0.11539e+00_rb,0.14427e+00_rb,0.16615e+00_rb, & & 0.18168e+00_rb,0.18947e+00_rb,0.18300e+00_rb,0.13761e+00_rb /) kao(:, 5, 3, 5) = (/ & & 0.97078e-02_rb,0.81671e-01_rb,0.12172e+00_rb,0.15082e+00_rb,0.17277e+00_rb, & & 0.18769e+00_rb,0.19427e+00_rb,0.18608e+00_rb,0.14067e+00_rb /) kao(:, 1, 4, 5) = (/ & & 0.48829e-02_rb,0.54383e-01_rb,0.85075e-01_rb,0.10815e+00_rb,0.12638e+00_rb, & & 0.14020e+00_rb,0.14903e+00_rb,0.14670e+00_rb,0.10614e+00_rb /) kao(:, 2, 4, 5) = (/ & & 0.55740e-02_rb,0.57779e-01_rb,0.89436e-01_rb,0.11323e+00_rb,0.13160e+00_rb, & & 0.14514e+00_rb,0.15349e+00_rb,0.15027e+00_rb,0.10949e+00_rb /) kao(:, 3, 4, 5) = (/ & & 0.64015e-02_rb,0.61546e-01_rb,0.94139e-01_rb,0.11850e+00_rb,0.13701e+00_rb, & & 0.15017e+00_rb,0.15757e+00_rb,0.15344e+00_rb,0.11257e+00_rb /) kao(:, 4, 4, 5) = (/ & & 0.73719e-02_rb,0.65521e-01_rb,0.99232e-01_rb,0.12403e+00_rb,0.14259e+00_rb, & & 0.15541e+00_rb,0.16175e+00_rb,0.15634e+00_rb,0.11557e+00_rb /) kao(:, 5, 4, 5) = (/ & & 0.84789e-02_rb,0.69810e-01_rb,0.10478e+00_rb,0.12985e+00_rb,0.14840e+00_rb, & & 0.16071e+00_rb,0.16597e+00_rb,0.15910e+00_rb,0.11833e+00_rb /) kao(:, 1, 5, 5) = (/ & & 0.41357e-02_rb,0.45878e-01_rb,0.71866e-01_rb,0.92130e-01_rb,0.10772e+00_rb, & & 0.11935e+00_rb,0.12627e+00_rb,0.12382e+00_rb,0.88490e-01_rb /) kao(:, 2, 5, 5) = (/ & & 0.47278e-02_rb,0.48809e-01_rb,0.75724e-01_rb,0.96485e-01_rb,0.11218e+00_rb, & & 0.12363e+00_rb,0.13023e+00_rb,0.12723e+00_rb,0.91646e-01_rb /) kao(:, 3, 5, 5) = (/ & & 0.54234e-02_rb,0.52108e-01_rb,0.79925e-01_rb,0.10105e+00_rb,0.11684e+00_rb, & & 0.12795e+00_rb,0.13389e+00_rb,0.13024e+00_rb,0.94384e-01_rb /) kao(:, 4, 5, 5) = (/ & & 0.62672e-02_rb,0.55647e-01_rb,0.84438e-01_rb,0.10591e+00_rb,0.12167e+00_rb, & & 0.13255e+00_rb,0.13759e+00_rb,0.13288e+00_rb,0.97037e-01_rb /) kao(:, 5, 5, 5) = (/ & & 0.72387e-02_rb,0.59393e-01_rb,0.89326e-01_rb,0.11102e+00_rb,0.12680e+00_rb, & & 0.13723e+00_rb,0.14128e+00_rb,0.13530e+00_rb,0.99585e-01_rb /) kao(:, 1, 6, 5) = (/ & & 0.34820e-02_rb,0.38455e-01_rb,0.60106e-01_rb,0.77515e-01_rb,0.91143e-01_rb, & & 0.10094e+00_rb,0.10649e+00_rb,0.10403e+00_rb,0.73509e-01_rb /) kao(:, 2, 6, 5) = (/ & & 0.39507e-02_rb,0.40927e-01_rb,0.63402e-01_rb,0.81240e-01_rb,0.94968e-01_rb, & & 0.10469e+00_rb,0.11001e+00_rb,0.10717e+00_rb,0.76426e-01_rb /) kao(:, 3, 6, 5) = (/ & & 0.45266e-02_rb,0.43726e-01_rb,0.67041e-01_rb,0.85234e-01_rb,0.98911e-01_rb, & & 0.10845e+00_rb,0.11329e+00_rb,0.10996e+00_rb,0.78861e-01_rb /) kao(:, 4, 6, 5) = (/ & & 0.52242e-02_rb,0.46807e-01_rb,0.70939e-01_rb,0.89547e-01_rb,0.10312e+00_rb, & & 0.11247e+00_rb,0.11653e+00_rb,0.11237e+00_rb,0.81250e-01_rb /) kao(:, 5, 6, 5) = (/ & & 0.60449e-02_rb,0.50083e-01_rb,0.75175e-01_rb,0.94041e-01_rb,0.10760e+00_rb, & & 0.11657e+00_rb,0.11980e+00_rb,0.11449e+00_rb,0.83549e-01_rb /) kao(:, 1, 7, 5) = (/ & & 0.28711e-02_rb,0.32523e-01_rb,0.49971e-01_rb,0.64597e-01_rb,0.76360e-01_rb, & & 0.84918e-01_rb,0.89523e-01_rb,0.87200e-01_rb,0.60618e-01_rb /) kao(:, 2, 7, 5) = (/ & & 0.32550e-02_rb,0.34614e-01_rb,0.52803e-01_rb,0.67740e-01_rb,0.79713e-01_rb, & & 0.88207e-01_rb,0.92681e-01_rb,0.90060e-01_rb,0.63331e-01_rb /) kao(:, 3, 7, 5) = (/ & & 0.37263e-02_rb,0.36968e-01_rb,0.55904e-01_rb,0.71153e-01_rb,0.83143e-01_rb, & & 0.91509e-01_rb,0.95607e-01_rb,0.92564e-01_rb,0.65595e-01_rb /) kao(:, 4, 7, 5) = (/ & & 0.42953e-02_rb,0.39538e-01_rb,0.59281e-01_rb,0.74912e-01_rb,0.86822e-01_rb, & & 0.94956e-01_rb,0.98438e-01_rb,0.94728e-01_rb,0.67680e-01_rb /) kao(:, 5, 7, 5) = (/ & & 0.49788e-02_rb,0.42264e-01_rb,0.62953e-01_rb,0.78842e-01_rb,0.90742e-01_rb, & & 0.98510e-01_rb,0.10129e+00_rb,0.96641e-01_rb,0.69746e-01_rb /) kao(:, 1, 8, 5) = (/ & & 0.23480e-02_rb,0.27230e-01_rb,0.41671e-01_rb,0.53565e-01_rb,0.63436e-01_rb, & & 0.70999e-01_rb,0.75020e-01_rb,0.72906e-01_rb,0.49386e-01_rb /) kao(:, 2, 8, 5) = (/ & & 0.26517e-02_rb,0.29065e-01_rb,0.44017e-01_rb,0.56225e-01_rb,0.66341e-01_rb, & & 0.73935e-01_rb,0.77879e-01_rb,0.75468e-01_rb,0.51750e-01_rb /) kao(:, 3, 8, 5) = (/ & & 0.30285e-02_rb,0.31112e-01_rb,0.46598e-01_rb,0.59161e-01_rb,0.69302e-01_rb, & & 0.76809e-01_rb,0.80439e-01_rb,0.77729e-01_rb,0.53904e-01_rb /) kao(:, 4, 8, 5) = (/ & & 0.34816e-02_rb,0.33348e-01_rb,0.49448e-01_rb,0.62380e-01_rb,0.72502e-01_rb, & & 0.79786e-01_rb,0.82887e-01_rb,0.79683e-01_rb,0.55731e-01_rb /) kao(:, 5, 8, 5) = (/ & & 0.40444e-02_rb,0.35730e-01_rb,0.52545e-01_rb,0.65794e-01_rb,0.75878e-01_rb, & & 0.82889e-01_rb,0.85379e-01_rb,0.81391e-01_rb,0.57509e-01_rb /) kao(:, 1, 9, 5) = (/ & & 0.19247e-02_rb,0.22630e-01_rb,0.34752e-01_rb,0.44387e-01_rb,0.52455e-01_rb, & & 0.58833e-01_rb,0.62468e-01_rb,0.60719e-01_rb,0.41880e-01_rb /) kao(:, 2, 9, 5) = (/ & & 0.21557e-02_rb,0.24204e-01_rb,0.36750e-01_rb,0.46636e-01_rb,0.54976e-01_rb, & & 0.61421e-01_rb,0.65052e-01_rb,0.62994e-01_rb,0.44010e-01_rb /) kao(:, 3, 9, 5) = (/ & & 0.24477e-02_rb,0.25958e-01_rb,0.38981e-01_rb,0.49108e-01_rb,0.57526e-01_rb, & & 0.63907e-01_rb,0.67351e-01_rb,0.65038e-01_rb,0.45929e-01_rb /) kao(:, 4, 9, 5) = (/ & & 0.28196e-02_rb,0.27882e-01_rb,0.41431e-01_rb,0.51802e-01_rb,0.60249e-01_rb, & & 0.66480e-01_rb,0.69467e-01_rb,0.66788e-01_rb,0.47555e-01_rb /) kao(:, 5, 9, 5) = (/ & & 0.32654e-02_rb,0.29939e-01_rb,0.44072e-01_rb,0.54714e-01_rb,0.63163e-01_rb, & & 0.69207e-01_rb,0.71600e-01_rb,0.68328e-01_rb,0.49077e-01_rb /) kao(:, 1,10, 5) = (/ & & 0.16200e-02_rb,0.18814e-01_rb,0.28911e-01_rb,0.37025e-01_rb,0.43479e-01_rb, & & 0.48691e-01_rb,0.51767e-01_rb,0.50517e-01_rb,0.36565e-01_rb /) kao(:, 2,10, 5) = (/ & & 0.18031e-02_rb,0.20150e-01_rb,0.30632e-01_rb,0.38967e-01_rb,0.45609e-01_rb, & & 0.50940e-01_rb,0.54046e-01_rb,0.52515e-01_rb,0.38425e-01_rb /) kao(:, 3,10, 5) = (/ & & 0.20232e-02_rb,0.21640e-01_rb,0.32572e-01_rb,0.41079e-01_rb,0.47788e-01_rb, & & 0.53101e-01_rb,0.56114e-01_rb,0.54338e-01_rb,0.40162e-01_rb /) kao(:, 4,10, 5) = (/ & & 0.23038e-02_rb,0.23298e-01_rb,0.34703e-01_rb,0.43393e-01_rb,0.50110e-01_rb, & & 0.55298e-01_rb,0.57982e-01_rb,0.55873e-01_rb,0.41782e-01_rb /) kao(:, 5,10, 5) = (/ & & 0.26649e-02_rb,0.25073e-01_rb,0.36983e-01_rb,0.45868e-01_rb,0.52617e-01_rb, & & 0.57641e-01_rb,0.59833e-01_rb,0.57222e-01_rb,0.43243e-01_rb /) kao(:, 1,11, 5) = (/ & & 0.14241e-02_rb,0.16065e-01_rb,0.24586e-01_rb,0.31465e-01_rb,0.36963e-01_rb, & & 0.41093e-01_rb,0.43617e-01_rb,0.42673e-01_rb,0.32343e-01_rb /) kao(:, 2,11, 5) = (/ & & 0.15878e-02_rb,0.17268e-01_rb,0.26144e-01_rb,0.33169e-01_rb,0.38816e-01_rb, & & 0.42988e-01_rb,0.45546e-01_rb,0.44327e-01_rb,0.34054e-01_rb /) kao(:, 3,11, 5) = (/ & & 0.18003e-02_rb,0.18609e-01_rb,0.27888e-01_rb,0.35066e-01_rb,0.40717e-01_rb, & & 0.44861e-01_rb,0.47277e-01_rb,0.45845e-01_rb,0.35562e-01_rb /) kao(:, 4,11, 5) = (/ & & 0.20513e-02_rb,0.20069e-01_rb,0.29794e-01_rb,0.37147e-01_rb,0.42781e-01_rb, & & 0.46774e-01_rb,0.48869e-01_rb,0.47106e-01_rb,0.36881e-01_rb /) kao(:, 5,11, 5) = (/ & & 0.23610e-02_rb,0.21636e-01_rb,0.31786e-01_rb,0.39341e-01_rb,0.44964e-01_rb, & & 0.48832e-01_rb,0.50478e-01_rb,0.48237e-01_rb,0.38136e-01_rb /) kao(:, 1,12, 5) = (/ & & 0.12367e-02_rb,0.13664e-01_rb,0.20841e-01_rb,0.26619e-01_rb,0.31258e-01_rb, & & 0.34766e-01_rb,0.36665e-01_rb,0.35873e-01_rb,0.27811e-01_rb /) kao(:, 2,12, 5) = (/ & & 0.13898e-02_rb,0.14747e-01_rb,0.22238e-01_rb,0.28134e-01_rb,0.32876e-01_rb, & & 0.36392e-01_rb,0.38286e-01_rb,0.37257e-01_rb,0.29212e-01_rb /) kao(:, 3,12, 5) = (/ & & 0.15822e-02_rb,0.15920e-01_rb,0.23808e-01_rb,0.29830e-01_rb,0.34558e-01_rb, & & 0.38014e-01_rb,0.39728e-01_rb,0.38493e-01_rb,0.30517e-01_rb /) kao(:, 4,12, 5) = (/ & & 0.18117e-02_rb,0.17195e-01_rb,0.25479e-01_rb,0.31664e-01_rb,0.36378e-01_rb, & & 0.39675e-01_rb,0.41098e-01_rb,0.39553e-01_rb,0.31705e-01_rb /) kao(:, 5,12, 5) = (/ & & 0.20996e-02_rb,0.18567e-01_rb,0.27225e-01_rb,0.33571e-01_rb,0.38302e-01_rb, & & 0.41437e-01_rb,0.42501e-01_rb,0.40525e-01_rb,0.32748e-01_rb /) kao(:, 1,13, 5) = (/ & & 0.10606e-02_rb,0.11594e-01_rb,0.17616e-01_rb,0.22456e-01_rb,0.26337e-01_rb, & & 0.29282e-01_rb,0.30831e-01_rb,0.30037e-01_rb,0.23251e-01_rb /) kao(:, 2,13, 5) = (/ & & 0.11975e-02_rb,0.12541e-01_rb,0.18850e-01_rb,0.23795e-01_rb,0.27745e-01_rb, & & 0.30676e-01_rb,0.32191e-01_rb,0.31186e-01_rb,0.24461e-01_rb /) kao(:, 3,13, 5) = (/ & & 0.13686e-02_rb,0.13557e-01_rb,0.20236e-01_rb,0.25287e-01_rb,0.29224e-01_rb, & & 0.32085e-01_rb,0.33411e-01_rb,0.32190e-01_rb,0.25539e-01_rb /) kao(:, 4,13, 5) = (/ & & 0.15787e-02_rb,0.14655e-01_rb,0.21685e-01_rb,0.26887e-01_rb,0.30821e-01_rb, & & 0.33533e-01_rb,0.34581e-01_rb,0.33091e-01_rb,0.26483e-01_rb /) kao(:, 5,13, 5) = (/ & & 0.18422e-02_rb,0.15847e-01_rb,0.23201e-01_rb,0.28535e-01_rb,0.32486e-01_rb, & & 0.35059e-01_rb,0.35791e-01_rb,0.33942e-01_rb,0.27340e-01_rb /) kao(:, 1, 1, 6) = (/ & & 0.11257e+00_rb,0.31731e+00_rb,0.42139e+00_rb,0.49121e+00_rb,0.53179e+00_rb, & & 0.54416e+00_rb,0.52879e+00_rb,0.48565e+00_rb,0.38185e+00_rb /) kao(:, 2, 1, 6) = (/ & & 0.12995e+00_rb,0.33757e+00_rb,0.44079e+00_rb,0.50693e+00_rb,0.54374e+00_rb, & & 0.55231e+00_rb,0.53411e+00_rb,0.48973e+00_rb,0.38664e+00_rb /) kao(:, 3, 1, 6) = (/ & & 0.14899e+00_rb,0.35787e+00_rb,0.45940e+00_rb,0.52235e+00_rb,0.55490e+00_rb, & & 0.56009e+00_rb,0.53945e+00_rb,0.49411e+00_rb,0.39028e+00_rb /) kao(:, 4, 1, 6) = (/ & & 0.16946e+00_rb,0.37848e+00_rb,0.47747e+00_rb,0.53692e+00_rb,0.56497e+00_rb, & & 0.56760e+00_rb,0.54484e+00_rb,0.49832e+00_rb,0.39391e+00_rb /) kao(:, 5, 1, 6) = (/ & & 0.19143e+00_rb,0.39915e+00_rb,0.49476e+00_rb,0.55039e+00_rb,0.57468e+00_rb, & & 0.57486e+00_rb,0.55036e+00_rb,0.50307e+00_rb,0.39756e+00_rb /) kao(:, 1, 2, 6) = (/ & & 0.97091e-01_rb,0.28037e+00_rb,0.37054e+00_rb,0.43162e+00_rb,0.46715e+00_rb, & & 0.47740e+00_rb,0.46327e+00_rb,0.42557e+00_rb,0.32833e+00_rb /) kao(:, 2, 2, 6) = (/ & & 0.11208e+00_rb,0.29815e+00_rb,0.38764e+00_rb,0.44615e+00_rb,0.47841e+00_rb, & & 0.48513e+00_rb,0.46886e+00_rb,0.42998e+00_rb,0.33260e+00_rb /) kao(:, 3, 2, 6) = (/ & & 0.12856e+00_rb,0.31599e+00_rb,0.40420e+00_rb,0.45996e+00_rb,0.48848e+00_rb, & & 0.49285e+00_rb,0.47441e+00_rb,0.43431e+00_rb,0.33632e+00_rb /) kao(:, 4, 2, 6) = (/ & & 0.14648e+00_rb,0.33425e+00_rb,0.42020e+00_rb,0.47262e+00_rb,0.49778e+00_rb, & & 0.50015e+00_rb,0.47996e+00_rb,0.43890e+00_rb,0.33965e+00_rb /) kao(:, 5, 2, 6) = (/ & & 0.16579e+00_rb,0.35250e+00_rb,0.43554e+00_rb,0.48445e+00_rb,0.50655e+00_rb, & & 0.50702e+00_rb,0.48572e+00_rb,0.44375e+00_rb,0.34330e+00_rb /) kao(:, 1, 3, 6) = (/ & & 0.80654e-01_rb,0.24334e+00_rb,0.32145e+00_rb,0.37485e+00_rb,0.40615e+00_rb, & & 0.41488e+00_rb,0.40284e+00_rb,0.37005e+00_rb,0.27897e+00_rb /) kao(:, 2, 3, 6) = (/ & & 0.93334e-01_rb,0.25889e+00_rb,0.33665e+00_rb,0.38799e+00_rb,0.41628e+00_rb, & & 0.42254e+00_rb,0.40845e+00_rb,0.37420e+00_rb,0.28281e+00_rb /) kao(:, 3, 3, 6) = (/ & & 0.10735e+00_rb,0.27449e+00_rb,0.35143e+00_rb,0.40015e+00_rb,0.42551e+00_rb, & & 0.42981e+00_rb,0.41382e+00_rb,0.37871e+00_rb,0.28619e+00_rb /) kao(:, 4, 3, 6) = (/ & & 0.12265e+00_rb,0.29043e+00_rb,0.36548e+00_rb,0.41153e+00_rb,0.43393e+00_rb, & & 0.43649e+00_rb,0.41932e+00_rb,0.38340e+00_rb,0.28955e+00_rb /) kao(:, 5, 3, 6) = (/ & & 0.13925e+00_rb,0.30659e+00_rb,0.37895e+00_rb,0.42211e+00_rb,0.44187e+00_rb, & & 0.44276e+00_rb,0.42490e+00_rb,0.38830e+00_rb,0.29282e+00_rb /) kao(:, 1, 4, 6) = (/ & & 0.65986e-01_rb,0.20968e+00_rb,0.27746e+00_rb,0.32321e+00_rb,0.35021e+00_rb, & & 0.35817e+00_rb,0.34816e+00_rb,0.31914e+00_rb,0.23714e+00_rb /) kao(:, 2, 4, 6) = (/ & & 0.76550e-01_rb,0.22318e+00_rb,0.29094e+00_rb,0.33486e+00_rb,0.35941e+00_rb, & & 0.36546e+00_rb,0.35341e+00_rb,0.32318e+00_rb,0.24040e+00_rb /) kao(:, 3, 4, 6) = (/ & & 0.88349e-01_rb,0.23676e+00_rb,0.30387e+00_rb,0.34562e+00_rb,0.36786e+00_rb, & & 0.37204e+00_rb,0.35871e+00_rb,0.32765e+00_rb,0.24343e+00_rb /) kao(:, 4, 4, 6) = (/ & & 0.10129e+00_rb,0.25065e+00_rb,0.31610e+00_rb,0.35574e+00_rb,0.37546e+00_rb, & & 0.37811e+00_rb,0.36390e+00_rb,0.33220e+00_rb,0.24649e+00_rb /) kao(:, 5, 4, 6) = (/ & & 0.11540e+00_rb,0.26489e+00_rb,0.32784e+00_rb,0.36504e+00_rb,0.38250e+00_rb, & & 0.38387e+00_rb,0.36919e+00_rb,0.33697e+00_rb,0.24943e+00_rb /) kao(:, 1, 5, 6) = (/ & & 0.53393e-01_rb,0.18000e+00_rb,0.23883e+00_rb,0.27751e+00_rb,0.30053e+00_rb, & & 0.30742e+00_rb,0.29898e+00_rb,0.27383e+00_rb,0.20106e+00_rb /) kao(:, 2, 5, 6) = (/ & & 0.62233e-01_rb,0.19175e+00_rb,0.25050e+00_rb,0.28777e+00_rb,0.30898e+00_rb, & & 0.31400e+00_rb,0.30389e+00_rb,0.27769e+00_rb,0.20390e+00_rb /) kao(:, 3, 5, 6) = (/ & & 0.72177e-01_rb,0.20364e+00_rb,0.26165e+00_rb,0.29741e+00_rb,0.31640e+00_rb, & & 0.31996e+00_rb,0.30876e+00_rb,0.28174e+00_rb,0.20671e+00_rb /) kao(:, 4, 5, 6) = (/ & & 0.83134e-01_rb,0.21576e+00_rb,0.27227e+00_rb,0.30617e+00_rb,0.32319e+00_rb, & & 0.32542e+00_rb,0.31353e+00_rb,0.28599e+00_rb,0.20956e+00_rb /) kao(:, 5, 5, 6) = (/ & & 0.95090e-01_rb,0.22815e+00_rb,0.28259e+00_rb,0.31429e+00_rb,0.32943e+00_rb, & & 0.33059e+00_rb,0.31837e+00_rb,0.29043e+00_rb,0.21220e+00_rb /) kao(:, 1, 6, 6) = (/ & & 0.42433e-01_rb,0.15317e+00_rb,0.20425e+00_rb,0.23740e+00_rb,0.25663e+00_rb, & & 0.26234e+00_rb,0.25512e+00_rb,0.23364e+00_rb,0.16949e+00_rb /) kao(:, 2, 6, 6) = (/ & & 0.49749e-01_rb,0.16341e+00_rb,0.21435e+00_rb,0.24646e+00_rb,0.26413e+00_rb, & & 0.26825e+00_rb,0.25968e+00_rb,0.23716e+00_rb,0.17204e+00_rb /) kao(:, 3, 6, 6) = (/ & & 0.58017e-01_rb,0.17381e+00_rb,0.22409e+00_rb,0.25485e+00_rb,0.27073e+00_rb, & & 0.27356e+00_rb,0.26405e+00_rb,0.24070e+00_rb,0.17477e+00_rb /) kao(:, 4, 6, 6) = (/ & & 0.67231e-01_rb,0.18439e+00_rb,0.23345e+00_rb,0.26240e+00_rb,0.27677e+00_rb, & & 0.27839e+00_rb,0.26819e+00_rb,0.24459e+00_rb,0.17741e+00_rb /) kao(:, 5, 6, 6) = (/ & & 0.77316e-01_rb,0.19517e+00_rb,0.24253e+00_rb,0.26953e+00_rb,0.28221e+00_rb, & & 0.28296e+00_rb,0.27246e+00_rb,0.24867e+00_rb,0.17984e+00_rb /) kao(:, 1, 7, 6) = (/ & & 0.33835e-01_rb,0.12894e+00_rb,0.17377e+00_rb,0.20223e+00_rb,0.21858e+00_rb, & & 0.22305e+00_rb,0.21661e+00_rb,0.19799e+00_rb,0.14234e+00_rb /) kao(:, 2, 7, 6) = (/ & & 0.39495e-01_rb,0.13775e+00_rb,0.18255e+00_rb,0.21017e+00_rb,0.22506e+00_rb, & & 0.22828e+00_rb,0.22063e+00_rb,0.20115e+00_rb,0.14469e+00_rb /) kao(:, 3, 7, 6) = (/ & & 0.46213e-01_rb,0.14677e+00_rb,0.19104e+00_rb,0.21747e+00_rb,0.23085e+00_rb, & & 0.23293e+00_rb,0.22444e+00_rb,0.20438e+00_rb,0.14721e+00_rb /) kao(:, 4, 7, 6) = (/ & & 0.53881e-01_rb,0.15604e+00_rb,0.19912e+00_rb,0.22407e+00_rb,0.23606e+00_rb, & & 0.23711e+00_rb,0.22803e+00_rb,0.20793e+00_rb,0.14967e+00_rb /) kao(:, 5, 7, 6) = (/ & & 0.62313e-01_rb,0.16559e+00_rb,0.20703e+00_rb,0.23032e+00_rb,0.24086e+00_rb, & & 0.24109e+00_rb,0.23183e+00_rb,0.21164e+00_rb,0.15187e+00_rb /) kao(:, 1, 8, 6) = (/ & & 0.27294e-01_rb,0.10784e+00_rb,0.14673e+00_rb,0.17152e+00_rb,0.18541e+00_rb, & & 0.18896e+00_rb,0.18302e+00_rb,0.16686e+00_rb,0.11892e+00_rb /) kao(:, 2, 8, 6) = (/ & & 0.31945e-01_rb,0.11533e+00_rb,0.15437e+00_rb,0.17841e+00_rb,0.19097e+00_rb, & & 0.19348e+00_rb,0.18650e+00_rb,0.16969e+00_rb,0.12123e+00_rb /) kao(:, 3, 8, 6) = (/ & & 0.37290e-01_rb,0.12309e+00_rb,0.16174e+00_rb,0.18467e+00_rb,0.19597e+00_rb, & & 0.19753e+00_rb,0.18983e+00_rb,0.17262e+00_rb,0.12344e+00_rb /) kao(:, 4, 8, 6) = (/ & & 0.43331e-01_rb,0.13110e+00_rb,0.16878e+00_rb,0.19044e+00_rb,0.20053e+00_rb, & & 0.20117e+00_rb,0.19304e+00_rb,0.17581e+00_rb,0.12571e+00_rb /) kao(:, 5, 8, 6) = (/ & & 0.50086e-01_rb,0.13937e+00_rb,0.17577e+00_rb,0.19586e+00_rb,0.20476e+00_rb, & & 0.20472e+00_rb,0.19647e+00_rb,0.17915e+00_rb,0.12770e+00_rb /) kao(:, 1, 9, 6) = (/ & & 0.21763e-01_rb,0.89580e-01_rb,0.12270e+00_rb,0.14431e+00_rb,0.15639e+00_rb, & & 0.15936e+00_rb,0.15421e+00_rb,0.14030e+00_rb,0.10042e+00_rb /) kao(:, 2, 9, 6) = (/ & & 0.25609e-01_rb,0.95974e-01_rb,0.12925e+00_rb,0.15030e+00_rb,0.16119e+00_rb, & & 0.16326e+00_rb,0.15719e+00_rb,0.14283e+00_rb,0.10252e+00_rb /) kao(:, 3, 9, 6) = (/ & & 0.30067e-01_rb,0.10261e+00_rb,0.13551e+00_rb,0.15572e+00_rb,0.16552e+00_rb, & & 0.16675e+00_rb,0.16007e+00_rb,0.14539e+00_rb,0.10448e+00_rb /) kao(:, 4, 9, 6) = (/ & & 0.35097e-01_rb,0.10949e+00_rb,0.14161e+00_rb,0.16075e+00_rb,0.16947e+00_rb, & & 0.16997e+00_rb,0.16297e+00_rb,0.14823e+00_rb,0.10645e+00_rb /) kao(:, 5, 9, 6) = (/ & & 0.40711e-01_rb,0.11658e+00_rb,0.14773e+00_rb,0.16552e+00_rb,0.17324e+00_rb, & & 0.17317e+00_rb,0.16604e+00_rb,0.15112e+00_rb,0.10826e+00_rb /) kao(:, 1,10, 6) = (/ & & 0.17370e-01_rb,0.74466e-01_rb,0.10240e+00_rb,0.12053e+00_rb,0.13126e+00_rb, & & 0.13417e+00_rb,0.12989e+00_rb,0.11790e+00_rb,0.87103e-01_rb /) kao(:, 2,10, 6) = (/ & & 0.20536e-01_rb,0.79866e-01_rb,0.10796e+00_rb,0.12568e+00_rb,0.13547e+00_rb, & & 0.13755e+00_rb,0.13244e+00_rb,0.12017e+00_rb,0.88680e-01_rb /) kao(:, 3,10, 6) = (/ & & 0.24274e-01_rb,0.85524e-01_rb,0.11324e+00_rb,0.13036e+00_rb,0.13925e+00_rb, & & 0.14055e+00_rb,0.13491e+00_rb,0.12243e+00_rb,0.90062e-01_rb /) kao(:, 4,10, 6) = (/ & & 0.28508e-01_rb,0.91420e-01_rb,0.11852e+00_rb,0.13467e+00_rb,0.14267e+00_rb, & & 0.14339e+00_rb,0.13748e+00_rb,0.12487e+00_rb,0.91240e-01_rb /) kao(:, 5,10, 6) = (/ & & 0.33217e-01_rb,0.97522e-01_rb,0.12382e+00_rb,0.13886e+00_rb,0.14603e+00_rb, & & 0.14625e+00_rb,0.14015e+00_rb,0.12740e+00_rb,0.92631e-01_rb /) kao(:, 1,11, 6) = (/ & & 0.14918e-01_rb,0.64249e-01_rb,0.87193e-01_rb,0.10225e+00_rb,0.11107e+00_rb, & & 0.11380e+00_rb,0.11017e+00_rb,0.99775e-01_rb,0.75883e-01_rb /) kao(:, 2,11, 6) = (/ & & 0.17707e-01_rb,0.68887e-01_rb,0.91783e-01_rb,0.10653e+00_rb,0.11454e+00_rb, & & 0.11659e+00_rb,0.11231e+00_rb,0.10178e+00_rb,0.77400e-01_rb /) kao(:, 3,11, 6) = (/ & & 0.20985e-01_rb,0.73723e-01_rb,0.96290e-01_rb,0.11038e+00_rb,0.11765e+00_rb, & & 0.11911e+00_rb,0.11446e+00_rb,0.10377e+00_rb,0.78827e-01_rb /) kao(:, 4,11, 6) = (/ & & 0.24698e-01_rb,0.78820e-01_rb,0.10085e+00_rb,0.11403e+00_rb,0.12064e+00_rb, & & 0.12159e+00_rb,0.11674e+00_rb,0.10593e+00_rb,0.80678e-01_rb /) kao(:, 5,11, 6) = (/ & & 0.28798e-01_rb,0.84087e-01_rb,0.10545e+00_rb,0.11772e+00_rb,0.12367e+00_rb, & & 0.12416e+00_rb,0.11916e+00_rb,0.10818e+00_rb,0.82090e-01_rb /) kao(:, 1,12, 6) = (/ & & 0.12778e-01_rb,0.55028e-01_rb,0.74326e-01_rb,0.86458e-01_rb,0.93690e-01_rb, & & 0.95887e-01_rb,0.92996e-01_rb,0.84239e-01_rb,0.65531e-01_rb /) kao(:, 2,12, 6) = (/ & & 0.15226e-01_rb,0.59056e-01_rb,0.78180e-01_rb,0.90004e-01_rb,0.96562e-01_rb, & & 0.98210e-01_rb,0.94824e-01_rb,0.85996e-01_rb,0.67232e-01_rb /) kao(:, 3,12, 6) = (/ & & 0.18073e-01_rb,0.63328e-01_rb,0.81993e-01_rb,0.93245e-01_rb,0.99175e-01_rb, & & 0.10034e+00_rb,0.96751e-01_rb,0.87779e-01_rb,0.68728e-01_rb /) kao(:, 4,12, 6) = (/ & & 0.21287e-01_rb,0.67814e-01_rb,0.85944e-01_rb,0.96446e-01_rb,0.10181e+00_rb, & & 0.10253e+00_rb,0.98787e-01_rb,0.89700e-01_rb,0.70024e-01_rb /) kao(:, 5,12, 6) = (/ & & 0.24810e-01_rb,0.72405e-01_rb,0.89913e-01_rb,0.99700e-01_rb,0.10454e+00_rb, & & 0.10492e+00_rb,0.10099e+00_rb,0.91662e-01_rb,0.71222e-01_rb /) kao(:, 1,13, 6) = (/ & & 0.10897e-01_rb,0.46824e-01_rb,0.63070e-01_rb,0.73198e-01_rb,0.78826e-01_rb, & & 0.80547e-01_rb,0.78087e-01_rb,0.70945e-01_rb,0.55427e-01_rb /) kao(:, 2,13, 6) = (/ & & 0.13037e-01_rb,0.50331e-01_rb,0.66369e-01_rb,0.76169e-01_rb,0.81229e-01_rb, & & 0.82485e-01_rb,0.79688e-01_rb,0.72492e-01_rb,0.56776e-01_rb /) kao(:, 3,13, 6) = (/ & & 0.15498e-01_rb,0.54103e-01_rb,0.69687e-01_rb,0.78968e-01_rb,0.83486e-01_rb, & & 0.84334e-01_rb,0.81403e-01_rb,0.74109e-01_rb,0.57973e-01_rb /) kao(:, 4,13, 6) = (/ & & 0.18239e-01_rb,0.58007e-01_rb,0.73146e-01_rb,0.81751e-01_rb,0.85842e-01_rb, & & 0.86346e-01_rb,0.83244e-01_rb,0.75789e-01_rb,0.59123e-01_rb /) kao(:, 5,13, 6) = (/ & & 0.21231e-01_rb,0.61947e-01_rb,0.76584e-01_rb,0.84579e-01_rb,0.88268e-01_rb, & & 0.88508e-01_rb,0.85245e-01_rb,0.77486e-01_rb,0.60191e-01_rb /) kao(:, 1, 1, 7) = (/ & & 0.71609e+00_rb,0.10081e+01_rb,0.11118e+01_rb,0.11603e+01_rb,0.11765e+01_rb, & & 0.11643e+01_rb,0.11202e+01_rb,0.10296e+01_rb,0.82502e+00_rb /) kao(:, 2, 1, 7) = (/ & & 0.75920e+00_rb,0.10292e+01_rb,0.11252e+01_rb,0.11685e+01_rb,0.11822e+01_rb, & & 0.11684e+01_rb,0.11228e+01_rb,0.10318e+01_rb,0.83157e+00_rb /) kao(:, 3, 1, 7) = (/ & & 0.79807e+00_rb,0.10500e+01_rb,0.11397e+01_rb,0.11794e+01_rb,0.11904e+01_rb, & & 0.11740e+01_rb,0.11264e+01_rb,0.10343e+01_rb,0.83726e+00_rb /) kao(:, 4, 1, 7) = (/ & & 0.83183e+00_rb,0.10700e+01_rb,0.11548e+01_rb,0.11918e+01_rb,0.12010e+01_rb, & & 0.11815e+01_rb,0.11313e+01_rb,0.10364e+01_rb,0.84249e+00_rb /) kao(:, 5, 1, 7) = (/ & & 0.86161e+00_rb,0.10887e+01_rb,0.11706e+01_rb,0.12061e+01_rb,0.12126e+01_rb, & & 0.11904e+01_rb,0.11363e+01_rb,0.10383e+01_rb,0.84713e+00_rb /) kao(:, 1, 2, 7) = (/ & & 0.62079e+00_rb,0.89078e+00_rb,0.98349e+00_rb,0.10275e+01_rb,0.10413e+01_rb, & & 0.10318e+01_rb,0.99528e+00_rb,0.92037e+00_rb,0.72464e+00_rb /) kao(:, 2, 2, 7) = (/ & & 0.65800e+00_rb,0.91114e+00_rb,0.99789e+00_rb,0.10381e+01_rb,0.10488e+01_rb, & & 0.10378e+01_rb,0.99952e+00_rb,0.92364e+00_rb,0.73140e+00_rb /) kao(:, 3, 2, 7) = (/ & & 0.69092e+00_rb,0.93058e+00_rb,0.10122e+01_rb,0.10502e+01_rb,0.10590e+01_rb, & & 0.10454e+01_rb,0.10054e+01_rb,0.92699e+00_rb,0.73764e+00_rb /) kao(:, 4, 2, 7) = (/ & & 0.71970e+00_rb,0.94840e+00_rb,0.10270e+01_rb,0.10636e+01_rb,0.10709e+01_rb, & & 0.10547e+01_rb,0.10116e+01_rb,0.93021e+00_rb,0.74329e+00_rb /) kao(:, 5, 2, 7) = (/ & & 0.74579e+00_rb,0.96581e+00_rb,0.10421e+01_rb,0.10781e+01_rb,0.10844e+01_rb, & & 0.10644e+01_rb,0.10185e+01_rb,0.93369e+00_rb,0.74789e+00_rb /) kao(:, 1, 3, 7) = (/ & & 0.52823e+00_rb,0.77783e+00_rb,0.86297e+00_rb,0.90265e+00_rb,0.91464e+00_rb, & & 0.90839e+00_rb,0.87923e+00_rb,0.81632e+00_rb,0.63067e+00_rb /) kao(:, 2, 3, 7) = (/ & & 0.56021e+00_rb,0.79652e+00_rb,0.87677e+00_rb,0.91375e+00_rb,0.92363e+00_rb, & & 0.91571e+00_rb,0.88529e+00_rb,0.82096e+00_rb,0.63740e+00_rb /) kao(:, 3, 3, 7) = (/ & & 0.58848e+00_rb,0.81389e+00_rb,0.89039e+00_rb,0.92584e+00_rb,0.93460e+00_rb, & & 0.92486e+00_rb,0.89232e+00_rb,0.82527e+00_rb,0.64377e+00_rb /) kao(:, 4, 3, 7) = (/ & & 0.61369e+00_rb,0.83008e+00_rb,0.90459e+00_rb,0.93860e+00_rb,0.94727e+00_rb, & & 0.93485e+00_rb,0.89989e+00_rb,0.82959e+00_rb,0.64921e+00_rb /) kao(:, 5, 3, 7) = (/ & & 0.63687e+00_rb,0.84580e+00_rb,0.91897e+00_rb,0.95268e+00_rb,0.96085e+00_rb, & & 0.94565e+00_rb,0.90780e+00_rb,0.83380e+00_rb,0.65367e+00_rb /) kao(:, 1, 4, 7) = (/ & & 0.44508e+00_rb,0.67351e+00_rb,0.75154e+00_rb,0.78756e+00_rb,0.79977e+00_rb, & & 0.79563e+00_rb,0.77123e+00_rb,0.71868e+00_rb,0.54794e+00_rb /) kao(:, 2, 4, 7) = (/ & & 0.47271e+00_rb,0.69026e+00_rb,0.76424e+00_rb,0.79840e+00_rb,0.80928e+00_rb, & & 0.80400e+00_rb,0.77859e+00_rb,0.72416e+00_rb,0.55496e+00_rb /) kao(:, 3, 4, 7) = (/ & & 0.49708e+00_rb,0.70580e+00_rb,0.77670e+00_rb,0.80989e+00_rb,0.82043e+00_rb, & & 0.81421e+00_rb,0.78653e+00_rb,0.72918e+00_rb,0.56105e+00_rb /) kao(:, 4, 4, 7) = (/ & & 0.51921e+00_rb,0.72040e+00_rb,0.78970e+00_rb,0.82209e+00_rb,0.83296e+00_rb, & & 0.82477e+00_rb,0.79492e+00_rb,0.73435e+00_rb,0.56612e+00_rb /) kao(:, 5, 4, 7) = (/ & & 0.53991e+00_rb,0.73468e+00_rb,0.80284e+00_rb,0.83540e+00_rb,0.84599e+00_rb, & & 0.83588e+00_rb,0.80349e+00_rb,0.73920e+00_rb,0.57048e+00_rb /) kao(:, 1, 5, 7) = (/ & & 0.37413e+00_rb,0.58022e+00_rb,0.65026e+00_rb,0.68370e+00_rb,0.69632e+00_rb, & & 0.69319e+00_rb,0.67239e+00_rb,0.62755e+00_rb,0.47517e+00_rb /) kao(:, 2, 5, 7) = (/ & & 0.39785e+00_rb,0.59500e+00_rb,0.66160e+00_rb,0.69388e+00_rb,0.70581e+00_rb, & & 0.70224e+00_rb,0.68037e+00_rb,0.63372e+00_rb,0.48187e+00_rb /) kao(:, 3, 5, 7) = (/ & & 0.41894e+00_rb,0.60858e+00_rb,0.67282e+00_rb,0.70454e+00_rb,0.71693e+00_rb, & & 0.71249e+00_rb,0.68889e+00_rb,0.63962e+00_rb,0.48765e+00_rb /) kao(:, 4, 5, 7) = (/ & & 0.43810e+00_rb,0.62138e+00_rb,0.68416e+00_rb,0.71639e+00_rb,0.72873e+00_rb, & & 0.72302e+00_rb,0.69785e+00_rb,0.64510e+00_rb,0.49243e+00_rb /) kao(:, 5, 5, 7) = (/ & & 0.45627e+00_rb,0.63437e+00_rb,0.69610e+00_rb,0.72855e+00_rb,0.74096e+00_rb, & & 0.73385e+00_rb,0.70672e+00_rb,0.65052e+00_rb,0.49657e+00_rb /) kao(:, 1, 6, 7) = (/ & & 0.31382e+00_rb,0.49799e+00_rb,0.55977e+00_rb,0.58971e+00_rb,0.60230e+00_rb, & & 0.60065e+00_rb,0.58267e+00_rb,0.54392e+00_rb,0.40911e+00_rb /) kao(:, 2, 6, 7) = (/ & & 0.33427e+00_rb,0.51077e+00_rb,0.56976e+00_rb,0.59903e+00_rb,0.61148e+00_rb, & & 0.60961e+00_rb,0.59093e+00_rb,0.55057e+00_rb,0.41554e+00_rb /) kao(:, 3, 6, 7) = (/ & & 0.35247e+00_rb,0.52249e+00_rb,0.57948e+00_rb,0.60895e+00_rb,0.62185e+00_rb, & & 0.61942e+00_rb,0.59984e+00_rb,0.55707e+00_rb,0.42096e+00_rb /) kao(:, 4, 6, 7) = (/ & & 0.36909e+00_rb,0.53360e+00_rb,0.58950e+00_rb,0.61977e+00_rb,0.63265e+00_rb, & & 0.62957e+00_rb,0.60872e+00_rb,0.56306e+00_rb,0.42549e+00_rb /) kao(:, 5, 6, 7) = (/ & & 0.38489e+00_rb,0.54511e+00_rb,0.60025e+00_rb,0.63086e+00_rb,0.64395e+00_rb, & & 0.63979e+00_rb,0.61739e+00_rb,0.56897e+00_rb,0.42951e+00_rb /) kao(:, 1, 7, 7) = (/ & & 0.26224e+00_rb,0.42663e+00_rb,0.48031e+00_rb,0.50651e+00_rb,0.51797e+00_rb, & & 0.51738e+00_rb,0.50230e+00_rb,0.46824e+00_rb,0.34967e+00_rb /) kao(:, 2, 7, 7) = (/ & & 0.28013e+00_rb,0.43764e+00_rb,0.48906e+00_rb,0.51485e+00_rb,0.52656e+00_rb, & & 0.52602e+00_rb,0.51065e+00_rb,0.47517e+00_rb,0.35569e+00_rb /) kao(:, 3, 7, 7) = (/ & & 0.29592e+00_rb,0.44770e+00_rb,0.49758e+00_rb,0.52367e+00_rb,0.53583e+00_rb, & & 0.53525e+00_rb,0.51944e+00_rb,0.48175e+00_rb,0.36089e+00_rb /) kao(:, 4, 7, 7) = (/ & & 0.31035e+00_rb,0.45721e+00_rb,0.50658e+00_rb,0.53311e+00_rb,0.54562e+00_rb, & & 0.54468e+00_rb,0.52799e+00_rb,0.48800e+00_rb,0.36523e+00_rb /) kao(:, 5, 7, 7) = (/ & & 0.32410e+00_rb,0.46702e+00_rb,0.51628e+00_rb,0.54315e+00_rb,0.55572e+00_rb, & & 0.55402e+00_rb,0.53619e+00_rb,0.49402e+00_rb,0.36906e+00_rb /) kao(:, 1, 8, 7) = (/ & & 0.21802e+00_rb,0.36523e+00_rb,0.41109e+00_rb,0.43388e+00_rb,0.44363e+00_rb, & & 0.44316e+00_rb,0.43058e+00_rb,0.40065e+00_rb,0.29668e+00_rb /) kao(:, 2, 8, 7) = (/ & & 0.23315e+00_rb,0.37455e+00_rb,0.41894e+00_rb,0.44116e+00_rb,0.45154e+00_rb, & & 0.45134e+00_rb,0.43880e+00_rb,0.40751e+00_rb,0.30231e+00_rb /) kao(:, 3, 8, 7) = (/ & & 0.24686e+00_rb,0.38301e+00_rb,0.42637e+00_rb,0.44889e+00_rb,0.45978e+00_rb, & & 0.45969e+00_rb,0.44700e+00_rb,0.41408e+00_rb,0.30721e+00_rb /) kao(:, 4, 8, 7) = (/ & & 0.25967e+00_rb,0.39102e+00_rb,0.43427e+00_rb,0.45708e+00_rb,0.46833e+00_rb, & & 0.46819e+00_rb,0.45488e+00_rb,0.42031e+00_rb,0.31131e+00_rb /) kao(:, 5, 8, 7) = (/ & & 0.27188e+00_rb,0.39949e+00_rb,0.44272e+00_rb,0.46608e+00_rb,0.47706e+00_rb, & & 0.47653e+00_rb,0.46230e+00_rb,0.42618e+00_rb,0.31504e+00_rb /) kao(:, 1, 9, 7) = (/ & & 0.18022e+00_rb,0.31183e+00_rb,0.35120e+00_rb,0.37079e+00_rb,0.37884e+00_rb, & & 0.37804e+00_rb,0.36693e+00_rb,0.34063e+00_rb,0.24612e+00_rb /) kao(:, 2, 9, 7) = (/ & & 0.19307e+00_rb,0.31966e+00_rb,0.35801e+00_rb,0.37712e+00_rb,0.38585e+00_rb, & & 0.38558e+00_rb,0.37468e+00_rb,0.34716e+00_rb,0.25138e+00_rb /) kao(:, 3, 9, 7) = (/ & & 0.20463e+00_rb,0.32683e+00_rb,0.36444e+00_rb,0.38387e+00_rb,0.39308e+00_rb, & & 0.39294e+00_rb,0.38210e+00_rb,0.35364e+00_rb,0.25593e+00_rb /) kao(:, 4, 9, 7) = (/ & & 0.21550e+00_rb,0.33367e+00_rb,0.37119e+00_rb,0.39103e+00_rb,0.40042e+00_rb, & & 0.40039e+00_rb,0.38916e+00_rb,0.35964e+00_rb,0.25996e+00_rb /) kao(:, 5, 9, 7) = (/ & & 0.22607e+00_rb,0.34108e+00_rb,0.37860e+00_rb,0.39875e+00_rb,0.40805e+00_rb, & & 0.40762e+00_rb,0.39578e+00_rb,0.36518e+00_rb,0.26360e+00_rb /) kao(:, 1,10, 7) = (/ & & 0.14867e+00_rb,0.26554e+00_rb,0.29985e+00_rb,0.31657e+00_rb,0.32318e+00_rb, & & 0.32201e+00_rb,0.31162e+00_rb,0.28815e+00_rb,0.21732e+00_rb /) kao(:, 2,10, 7) = (/ & & 0.15961e+00_rb,0.27217e+00_rb,0.30555e+00_rb,0.32206e+00_rb,0.32938e+00_rb, & & 0.32864e+00_rb,0.31877e+00_rb,0.29424e+00_rb,0.22230e+00_rb /) kao(:, 3,10, 7) = (/ & & 0.16940e+00_rb,0.27829e+00_rb,0.31116e+00_rb,0.32786e+00_rb,0.33559e+00_rb, & & 0.33509e+00_rb,0.32534e+00_rb,0.30046e+00_rb,0.22643e+00_rb /) kao(:, 4,10, 7) = (/ & & 0.17863e+00_rb,0.28410e+00_rb,0.31692e+00_rb,0.33409e+00_rb,0.34189e+00_rb, & & 0.34154e+00_rb,0.33152e+00_rb,0.30607e+00_rb,0.23022e+00_rb /) kao(:, 5,10, 7) = (/ & & 0.18774e+00_rb,0.29050e+00_rb,0.32341e+00_rb,0.34075e+00_rb,0.34846e+00_rb, & & 0.34771e+00_rb,0.33731e+00_rb,0.31120e+00_rb,0.23340e+00_rb /) kao(:, 1,11, 7) = (/ & & 0.12627e+00_rb,0.22669e+00_rb,0.25719e+00_rb,0.27172e+00_rb,0.27732e+00_rb, & & 0.27601e+00_rb,0.26659e+00_rb,0.24512e+00_rb,0.18584e+00_rb /) kao(:, 2,11, 7) = (/ & & 0.13516e+00_rb,0.23214e+00_rb,0.26193e+00_rb,0.27653e+00_rb,0.28265e+00_rb, & & 0.28160e+00_rb,0.27265e+00_rb,0.25095e+00_rb,0.18968e+00_rb /) kao(:, 3,11, 7) = (/ & & 0.14321e+00_rb,0.23722e+00_rb,0.26679e+00_rb,0.28162e+00_rb,0.28797e+00_rb, & & 0.28724e+00_rb,0.27822e+00_rb,0.25645e+00_rb,0.19293e+00_rb /) kao(:, 4,11, 7) = (/ & & 0.15107e+00_rb,0.24247e+00_rb,0.27199e+00_rb,0.28706e+00_rb,0.29346e+00_rb, & & 0.29269e+00_rb,0.28343e+00_rb,0.26131e+00_rb,0.19541e+00_rb /) kao(:, 5,11, 7) = (/ & & 0.15896e+00_rb,0.24837e+00_rb,0.27786e+00_rb,0.29309e+00_rb,0.29929e+00_rb, & & 0.29804e+00_rb,0.28838e+00_rb,0.26594e+00_rb,0.19802e+00_rb /) kao(:, 1,12, 7) = (/ & & 0.10682e+00_rb,0.19256e+00_rb,0.21863e+00_rb,0.23192e+00_rb,0.23695e+00_rb, & & 0.23560e+00_rb,0.22744e+00_rb,0.20844e+00_rb,0.16014e+00_rb /) kao(:, 2,12, 7) = (/ & & 0.11409e+00_rb,0.19699e+00_rb,0.22274e+00_rb,0.23606e+00_rb,0.24149e+00_rb, & & 0.24040e+00_rb,0.23256e+00_rb,0.21367e+00_rb,0.16300e+00_rb /) kao(:, 3,12, 7) = (/ & & 0.12093e+00_rb,0.20128e+00_rb,0.22702e+00_rb,0.24050e+00_rb,0.24609e+00_rb, & & 0.24521e+00_rb,0.23721e+00_rb,0.21831e+00_rb,0.16579e+00_rb /) kao(:, 4,12, 7) = (/ & & 0.12767e+00_rb,0.20601e+00_rb,0.23174e+00_rb,0.24542e+00_rb,0.25091e+00_rb, & & 0.24990e+00_rb,0.24163e+00_rb,0.22258e+00_rb,0.16866e+00_rb /) kao(:, 5,12, 7) = (/ & & 0.13446e+00_rb,0.21151e+00_rb,0.23730e+00_rb,0.25089e+00_rb,0.25608e+00_rb, & & 0.25469e+00_rb,0.24607e+00_rb,0.22668e+00_rb,0.17141e+00_rb /) kao(:, 1,13, 7) = (/ & & 0.90556e-01_rb,0.16301e+00_rb,0.18506e+00_rb,0.19633e+00_rb,0.20124e+00_rb, & & 0.20042e+00_rb,0.19353e+00_rb,0.17713e+00_rb,0.13589e+00_rb /) kao(:, 2,13, 7) = (/ & & 0.96629e-01_rb,0.16667e+00_rb,0.18855e+00_rb,0.19991e+00_rb,0.20512e+00_rb, & & 0.20458e+00_rb,0.19781e+00_rb,0.18150e+00_rb,0.13866e+00_rb /) kao(:, 3,13, 7) = (/ & & 0.10246e+00_rb,0.17045e+00_rb,0.19232e+00_rb,0.20386e+00_rb,0.20916e+00_rb, & & 0.20868e+00_rb,0.20175e+00_rb,0.18546e+00_rb,0.14157e+00_rb /) kao(:, 4,13, 7) = (/ & & 0.10831e+00_rb,0.17481e+00_rb,0.19664e+00_rb,0.20827e+00_rb,0.21340e+00_rb, & & 0.21278e+00_rb,0.20565e+00_rb,0.18920e+00_rb,0.14421e+00_rb /) kao(:, 5,13, 7) = (/ & & 0.11418e+00_rb,0.17993e+00_rb,0.20190e+00_rb,0.21347e+00_rb,0.21830e+00_rb, & & 0.21718e+00_rb,0.20964e+00_rb,0.19280e+00_rb,0.14715e+00_rb /) kao(:, 1, 1, 8) = (/ & & 0.20844e+01_rb,0.23344e+01_rb,0.25576e+01_rb,0.26701e+01_rb,0.27010e+01_rb, & & 0.26681e+01_rb,0.25683e+01_rb,0.23655e+01_rb,0.20810e+01_rb /) kao(:, 2, 1, 8) = (/ & & 0.20807e+01_rb,0.23304e+01_rb,0.25489e+01_rb,0.26611e+01_rb,0.26920e+01_rb, & & 0.26609e+01_rb,0.25647e+01_rb,0.23645e+01_rb,0.20859e+01_rb /) kao(:, 3, 1, 8) = (/ & & 0.20877e+01_rb,0.23342e+01_rb,0.25477e+01_rb,0.26548e+01_rb,0.26843e+01_rb, & & 0.26541e+01_rb,0.25605e+01_rb,0.23637e+01_rb,0.20903e+01_rb /) kao(:, 4, 1, 8) = (/ & & 0.21052e+01_rb,0.23454e+01_rb,0.25520e+01_rb,0.26529e+01_rb,0.26778e+01_rb, & & 0.26478e+01_rb,0.25565e+01_rb,0.23630e+01_rb,0.20935e+01_rb /) kao(:, 5, 1, 8) = (/ & & 0.21303e+01_rb,0.23633e+01_rb,0.25619e+01_rb,0.26546e+01_rb,0.26749e+01_rb, & & 0.26429e+01_rb,0.25542e+01_rb,0.23619e+01_rb,0.20958e+01_rb /) kao(:, 1, 2, 8) = (/ & & 0.18120e+01_rb,0.21101e+01_rb,0.23204e+01_rb,0.24266e+01_rb,0.24657e+01_rb, & & 0.24469e+01_rb,0.23702e+01_rb,0.21931e+01_rb,0.18669e+01_rb /) kao(:, 2, 2, 8) = (/ & & 0.18187e+01_rb,0.21137e+01_rb,0.23188e+01_rb,0.24223e+01_rb,0.24620e+01_rb, & & 0.24436e+01_rb,0.23687e+01_rb,0.21944e+01_rb,0.18726e+01_rb /) kao(:, 3, 2, 8) = (/ & & 0.18356e+01_rb,0.21255e+01_rb,0.23256e+01_rb,0.24232e+01_rb,0.24590e+01_rb, & & 0.24407e+01_rb,0.23674e+01_rb,0.21960e+01_rb,0.18776e+01_rb /) kao(:, 4, 2, 8) = (/ & & 0.18614e+01_rb,0.21447e+01_rb,0.23386e+01_rb,0.24287e+01_rb,0.24595e+01_rb, & & 0.24387e+01_rb,0.23672e+01_rb,0.21970e+01_rb,0.18816e+01_rb /) kao(:, 5, 2, 8) = (/ & & 0.18927e+01_rb,0.21683e+01_rb,0.23579e+01_rb,0.24392e+01_rb,0.24636e+01_rb, & & 0.24407e+01_rb,0.23665e+01_rb,0.21974e+01_rb,0.18864e+01_rb /) kao(:, 1, 3, 8) = (/ & & 0.15702e+01_rb,0.18942e+01_rb,0.20837e+01_rb,0.21854e+01_rb,0.22324e+01_rb, & & 0.22266e+01_rb,0.21649e+01_rb,0.20134e+01_rb,0.16617e+01_rb /) kao(:, 2, 3, 8) = (/ & & 0.15827e+01_rb,0.19038e+01_rb,0.20886e+01_rb,0.21865e+01_rb,0.22329e+01_rb, & & 0.22266e+01_rb,0.21649e+01_rb,0.20167e+01_rb,0.16695e+01_rb /) kao(:, 3, 3, 8) = (/ & & 0.16046e+01_rb,0.19213e+01_rb,0.21019e+01_rb,0.21942e+01_rb,0.22360e+01_rb, & & 0.22271e+01_rb,0.21665e+01_rb,0.20195e+01_rb,0.16762e+01_rb /) kao(:, 4, 3, 8) = (/ & & 0.16329e+01_rb,0.19443e+01_rb,0.21213e+01_rb,0.22070e+01_rb,0.22424e+01_rb, & & 0.22311e+01_rb,0.21683e+01_rb,0.20214e+01_rb,0.16830e+01_rb /) kao(:, 5, 3, 8) = (/ & & 0.16658e+01_rb,0.19717e+01_rb,0.21452e+01_rb,0.22251e+01_rb,0.22530e+01_rb, & & 0.22371e+01_rb,0.21708e+01_rb,0.20238e+01_rb,0.16904e+01_rb /) kao(:, 1, 4, 8) = (/ & & 0.13564e+01_rb,0.16869e+01_rb,0.18550e+01_rb,0.19537e+01_rb,0.20049e+01_rb, & & 0.20085e+01_rb,0.19601e+01_rb,0.18287e+01_rb,0.14756e+01_rb /) kao(:, 2, 4, 8) = (/ & & 0.13720e+01_rb,0.17000e+01_rb,0.18655e+01_rb,0.19607e+01_rb,0.20100e+01_rb, & & 0.20105e+01_rb,0.19622e+01_rb,0.18339e+01_rb,0.14854e+01_rb /) kao(:, 3, 4, 8) = (/ & & 0.13952e+01_rb,0.17204e+01_rb,0.18837e+01_rb,0.19740e+01_rb,0.20182e+01_rb, & & 0.20154e+01_rb,0.19654e+01_rb,0.18384e+01_rb,0.14948e+01_rb /) kao(:, 4, 4, 8) = (/ & & 0.14229e+01_rb,0.17461e+01_rb,0.19072e+01_rb,0.19926e+01_rb,0.20303e+01_rb, & & 0.20234e+01_rb,0.19691e+01_rb,0.18420e+01_rb,0.15040e+01_rb /) kao(:, 5, 4, 8) = (/ & & 0.14534e+01_rb,0.17751e+01_rb,0.19345e+01_rb,0.20154e+01_rb,0.20467e+01_rb, & & 0.20337e+01_rb,0.19742e+01_rb,0.18465e+01_rb,0.15131e+01_rb /) kao(:, 1, 5, 8) = (/ & & 0.11675e+01_rb,0.14906e+01_rb,0.16422e+01_rb,0.17364e+01_rb,0.17875e+01_rb, & & 0.17970e+01_rb,0.17582e+01_rb,0.16459e+01_rb,0.13057e+01_rb /) kao(:, 2, 5, 8) = (/ & & 0.11839e+01_rb,0.15062e+01_rb,0.16573e+01_rb,0.17483e+01_rb,0.17956e+01_rb, & & 0.18020e+01_rb,0.17623e+01_rb,0.16529e+01_rb,0.13176e+01_rb /) kao(:, 3, 5, 8) = (/ & & 0.12061e+01_rb,0.15281e+01_rb,0.16790e+01_rb,0.17660e+01_rb,0.18082e+01_rb, & & 0.18106e+01_rb,0.17678e+01_rb,0.16587e+01_rb,0.13289e+01_rb /) kao(:, 4, 5, 8) = (/ & & 0.12311e+01_rb,0.15549e+01_rb,0.17048e+01_rb,0.17877e+01_rb,0.18250e+01_rb, & & 0.18222e+01_rb,0.17742e+01_rb,0.16644e+01_rb,0.13398e+01_rb /) kao(:, 5, 5, 8) = (/ & & 0.12582e+01_rb,0.15836e+01_rb,0.17338e+01_rb,0.18131e+01_rb,0.18457e+01_rb, & & 0.18359e+01_rb,0.17826e+01_rb,0.16710e+01_rb,0.13507e+01_rb /) kao(:, 1, 6, 8) = (/ & & 0.99981e+00_rb,0.13080e+01_rb,0.14477e+01_rb,0.15356e+01_rb,0.15829e+01_rb, & & 0.15936e+01_rb,0.15636e+01_rb,0.14683e+01_rb,0.11482e+01_rb /) kao(:, 2, 6, 8) = (/ & & 0.10151e+01_rb,0.13251e+01_rb,0.14655e+01_rb,0.15504e+01_rb,0.15941e+01_rb, & & 0.16015e+01_rb,0.15698e+01_rb,0.14767e+01_rb,0.11619e+01_rb /) kao(:, 3, 6, 8) = (/ & & 0.10344e+01_rb,0.13476e+01_rb,0.14887e+01_rb,0.15702e+01_rb,0.16097e+01_rb, & & 0.16130e+01_rb,0.15772e+01_rb,0.14847e+01_rb,0.11743e+01_rb /) kao(:, 4, 6, 8) = (/ & & 0.10560e+01_rb,0.13735e+01_rb,0.15155e+01_rb,0.15939e+01_rb,0.16293e+01_rb, & & 0.16276e+01_rb,0.15870e+01_rb,0.14924e+01_rb,0.11864e+01_rb /) kao(:, 5, 6, 8) = (/ & & 0.10794e+01_rb,0.13996e+01_rb,0.15438e+01_rb,0.16205e+01_rb,0.16521e+01_rb, & & 0.16451e+01_rb,0.15991e+01_rb,0.15003e+01_rb,0.11982e+01_rb /) kao(:, 1, 7, 8) = (/ & & 0.85239e+00_rb,0.11419e+01_rb,0.12714e+01_rb,0.13507e+01_rb,0.13930e+01_rb, & & 0.14039e+01_rb,0.13790e+01_rb,0.12971e+01_rb,0.10034e+01_rb /) kao(:, 2, 7, 8) = (/ & & 0.86542e+00_rb,0.11591e+01_rb,0.12898e+01_rb,0.13670e+01_rb,0.14062e+01_rb, & & 0.14139e+01_rb,0.13871e+01_rb,0.13072e+01_rb,0.10179e+01_rb /) kao(:, 3, 7, 8) = (/ & & 0.88108e+00_rb,0.11809e+01_rb,0.13130e+01_rb,0.13880e+01_rb,0.14241e+01_rb, & & 0.14278e+01_rb,0.13975e+01_rb,0.13172e+01_rb,0.10310e+01_rb /) kao(:, 4, 7, 8) = (/ & & 0.89900e+00_rb,0.12041e+01_rb,0.13390e+01_rb,0.14123e+01_rb,0.14455e+01_rb, & & 0.14453e+01_rb,0.14105e+01_rb,0.13266e+01_rb,0.10434e+01_rb /) kao(:, 5, 7, 8) = (/ & & 0.91862e+00_rb,0.12279e+01_rb,0.13649e+01_rb,0.14386e+01_rb,0.14692e+01_rb, & & 0.14664e+01_rb,0.14254e+01_rb,0.13367e+01_rb,0.10558e+01_rb /) kao(:, 1, 8, 8) = (/ & & 0.72497e+00_rb,0.99201e+00_rb,0.11107e+01_rb,0.11813e+01_rb,0.12195e+01_rb, & & 0.12285e+01_rb,0.12058e+01_rb,0.11359e+01_rb,0.87110e+00_rb /) kao(:, 2, 8, 8) = (/ & & 0.73517e+00_rb,0.10086e+01_rb,0.11285e+01_rb,0.11988e+01_rb,0.12342e+01_rb, & & 0.12405e+01_rb,0.12160e+01_rb,0.11479e+01_rb,0.88568e+00_rb /) kao(:, 3, 8, 8) = (/ & & 0.74752e+00_rb,0.10285e+01_rb,0.11507e+01_rb,0.12198e+01_rb,0.12532e+01_rb, & & 0.12570e+01_rb,0.12289e+01_rb,0.11589e+01_rb,0.89927e+00_rb /) kao(:, 4, 8, 8) = (/ & & 0.76213e+00_rb,0.10489e+01_rb,0.11747e+01_rb,0.12436e+01_rb,0.12757e+01_rb, & & 0.12769e+01_rb,0.12445e+01_rb,0.11700e+01_rb,0.91203e+00_rb /) kao(:, 5, 8, 8) = (/ & & 0.77854e+00_rb,0.10697e+01_rb,0.11980e+01_rb,0.12679e+01_rb,0.13002e+01_rb, & & 0.12994e+01_rb,0.12621e+01_rb,0.11816e+01_rb,0.92392e+00_rb /) kao(:, 1, 9, 8) = (/ & & 0.61682e+00_rb,0.85841e+00_rb,0.96403e+00_rb,0.10272e+01_rb,0.10606e+01_rb, & & 0.10679e+01_rb,0.10472e+01_rb,0.98715e+00_rb,0.74825e+00_rb /) kao(:, 2, 9, 8) = (/ & & 0.62415e+00_rb,0.87401e+00_rb,0.98140e+00_rb,0.10446e+01_rb,0.10763e+01_rb, & & 0.10811e+01_rb,0.10593e+01_rb,0.10003e+01_rb,0.76294e+00_rb /) kao(:, 3, 9, 8) = (/ & & 0.63387e+00_rb,0.89104e+00_rb,0.10022e+01_rb,0.10651e+01_rb,0.10962e+01_rb, & & 0.10997e+01_rb,0.10740e+01_rb,0.10120e+01_rb,0.77659e+00_rb /) kao(:, 4, 9, 8) = (/ & & 0.64542e+00_rb,0.90872e+00_rb,0.10230e+01_rb,0.10878e+01_rb,0.11188e+01_rb, & & 0.11207e+01_rb,0.10911e+01_rb,0.10243e+01_rb,0.78905e+00_rb /) kao(:, 5, 9, 8) = (/ & & 0.65900e+00_rb,0.92674e+00_rb,0.10436e+01_rb,0.11103e+01_rb,0.11424e+01_rb, & & 0.11435e+01_rb,0.11102e+01_rb,0.10375e+01_rb,0.80034e+00_rb /) kao(:, 1,10, 8) = (/ & & 0.52547e+00_rb,0.74220e+00_rb,0.83433e+00_rb,0.88890e+00_rb,0.91741e+00_rb, & & 0.92336e+00_rb,0.90538e+00_rb,0.85311e+00_rb,0.64696e+00_rb /) kao(:, 2,10, 8) = (/ & & 0.53064e+00_rb,0.75604e+00_rb,0.85107e+00_rb,0.90584e+00_rb,0.93361e+00_rb, & & 0.93836e+00_rb,0.91861e+00_rb,0.86626e+00_rb,0.66062e+00_rb /) kao(:, 3,10, 8) = (/ & & 0.53809e+00_rb,0.77037e+00_rb,0.86942e+00_rb,0.92562e+00_rb,0.95409e+00_rb, & & 0.95774e+00_rb,0.93423e+00_rb,0.87871e+00_rb,0.67391e+00_rb /) kao(:, 4,10, 8) = (/ & & 0.54734e+00_rb,0.78576e+00_rb,0.88734e+00_rb,0.94634e+00_rb,0.97611e+00_rb, & & 0.97890e+00_rb,0.95253e+00_rb,0.89191e+00_rb,0.68526e+00_rb /) kao(:, 5,10, 8) = (/ & & 0.55842e+00_rb,0.80129e+00_rb,0.90542e+00_rb,0.96675e+00_rb,0.99781e+00_rb, & & 0.10013e+01_rb,0.97253e+00_rb,0.90597e+00_rb,0.69583e+00_rb /) kao(:, 1,11, 8) = (/ & & 0.44902e+00_rb,0.64641e+00_rb,0.72682e+00_rb,0.77295e+00_rb,0.79679e+00_rb, & & 0.80095e+00_rb,0.78478e+00_rb,0.73880e+00_rb,0.57500e+00_rb /) kao(:, 2,11, 8) = (/ & & 0.45343e+00_rb,0.65819e+00_rb,0.74259e+00_rb,0.79030e+00_rb,0.81509e+00_rb, & & 0.81866e+00_rb,0.79960e+00_rb,0.75137e+00_rb,0.58784e+00_rb /) kao(:, 3,11, 8) = (/ & & 0.45968e+00_rb,0.67094e+00_rb,0.75812e+00_rb,0.80898e+00_rb,0.83522e+00_rb, & & 0.83854e+00_rb,0.81711e+00_rb,0.76461e+00_rb,0.59939e+00_rb /) kao(:, 4,11, 8) = (/ & & 0.46764e+00_rb,0.68418e+00_rb,0.77402e+00_rb,0.82711e+00_rb,0.85518e+00_rb, & & 0.85968e+00_rb,0.83634e+00_rb,0.77859e+00_rb,0.60954e+00_rb /) kao(:, 5,11, 8) = (/ & & 0.47750e+00_rb,0.69798e+00_rb,0.79021e+00_rb,0.84534e+00_rb,0.87480e+00_rb, & & 0.88011e+00_rb,0.85595e+00_rb,0.79269e+00_rb,0.61896e+00_rb /) kao(:, 1,12, 8) = (/ & & 0.38252e+00_rb,0.56123e+00_rb,0.63221e+00_rb,0.67207e+00_rb,0.69191e+00_rb, & & 0.69451e+00_rb,0.67853e+00_rb,0.63671e+00_rb,0.49624e+00_rb /) kao(:, 2,12, 8) = (/ & & 0.38610e+00_rb,0.57152e+00_rb,0.64559e+00_rb,0.68857e+00_rb,0.70992e+00_rb, & & 0.71250e+00_rb,0.69440e+00_rb,0.64948e+00_rb,0.50772e+00_rb /) kao(:, 3,12, 8) = (/ & & 0.39135e+00_rb,0.58251e+00_rb,0.65953e+00_rb,0.70459e+00_rb,0.72793e+00_rb, & & 0.73188e+00_rb,0.71251e+00_rb,0.66314e+00_rb,0.51771e+00_rb /) kao(:, 4,12, 8) = (/ & & 0.39838e+00_rb,0.59406e+00_rb,0.67357e+00_rb,0.72066e+00_rb,0.74570e+00_rb, & & 0.75075e+00_rb,0.73108e+00_rb,0.67696e+00_rb,0.52680e+00_rb /) kao(:, 5,12, 8) = (/ & & 0.40785e+00_rb,0.60628e+00_rb,0.68802e+00_rb,0.73685e+00_rb,0.76342e+00_rb, & & 0.76842e+00_rb,0.74857e+00_rb,0.69135e+00_rb,0.53408e+00_rb /) kao(:, 1,13, 8) = (/ & & 0.32297e+00_rb,0.48556e+00_rb,0.54760e+00_rb,0.58350e+00_rb,0.60079e+00_rb, & & 0.60116e+00_rb,0.58518e+00_rb,0.54699e+00_rb,0.42276e+00_rb /) kao(:, 2,13, 8) = (/ & & 0.32591e+00_rb,0.49445e+00_rb,0.55963e+00_rb,0.59764e+00_rb,0.61654e+00_rb, & & 0.61844e+00_rb,0.60149e+00_rb,0.55973e+00_rb,0.43280e+00_rb /) kao(:, 3,13, 8) = (/ & & 0.33057e+00_rb,0.50405e+00_rb,0.57184e+00_rb,0.61186e+00_rb,0.63239e+00_rb, & & 0.63557e+00_rb,0.61864e+00_rb,0.57305e+00_rb,0.44151e+00_rb /) kao(:, 4,13, 8) = (/ & & 0.33705e+00_rb,0.51427e+00_rb,0.58428e+00_rb,0.62614e+00_rb,0.64825e+00_rb, & & 0.65175e+00_rb,0.63492e+00_rb,0.58689e+00_rb,0.44893e+00_rb /) kao(:, 5,13, 8) = (/ & & 0.34636e+00_rb,0.52544e+00_rb,0.59740e+00_rb,0.64055e+00_rb,0.66342e+00_rb, & & 0.66736e+00_rb,0.65002e+00_rb,0.60055e+00_rb,0.45487e+00_rb /) kao(:, 1, 1, 9) = (/ & & 0.72991e+01_rb,0.69722e+01_rb,0.72863e+01_rb,0.75002e+01_rb,0.75688e+01_rb, & & 0.74622e+01_rb,0.71020e+01_rb,0.65825e+01_rb,0.69144e+01_rb /) kao(:, 2, 1, 9) = (/ & & 0.72210e+01_rb,0.69084e+01_rb,0.72319e+01_rb,0.74567e+01_rb,0.75409e+01_rb, & & 0.74459e+01_rb,0.71001e+01_rb,0.65930e+01_rb,0.69213e+01_rb /) kao(:, 3, 1, 9) = (/ & & 0.71481e+01_rb,0.68475e+01_rb,0.71760e+01_rb,0.74130e+01_rb,0.75097e+01_rb, & & 0.74266e+01_rb,0.70905e+01_rb,0.65992e+01_rb,0.69258e+01_rb /) kao(:, 4, 1, 9) = (/ & & 0.70810e+01_rb,0.67891e+01_rb,0.71222e+01_rb,0.73713e+01_rb,0.74785e+01_rb, & & 0.74023e+01_rb,0.70766e+01_rb,0.66037e+01_rb,0.69303e+01_rb /) kao(:, 5, 1, 9) = (/ & & 0.70205e+01_rb,0.67342e+01_rb,0.70686e+01_rb,0.73258e+01_rb,0.74436e+01_rb, & & 0.73740e+01_rb,0.70585e+01_rb,0.66060e+01_rb,0.69339e+01_rb /) kao(:, 1, 2, 9) = (/ & & 0.68023e+01_rb,0.66845e+01_rb,0.71435e+01_rb,0.74293e+01_rb,0.75528e+01_rb, & & 0.74805e+01_rb,0.71383e+01_rb,0.65087e+01_rb,0.66425e+01_rb /) kao(:, 2, 2, 9) = (/ & & 0.67309e+01_rb,0.66228e+01_rb,0.70899e+01_rb,0.73862e+01_rb,0.75243e+01_rb, & & 0.74671e+01_rb,0.71358e+01_rb,0.65240e+01_rb,0.66588e+01_rb /) kao(:, 3, 2, 9) = (/ & & 0.66680e+01_rb,0.65659e+01_rb,0.70365e+01_rb,0.73443e+01_rb,0.74954e+01_rb, & & 0.74486e+01_rb,0.71260e+01_rb,0.65367e+01_rb,0.66745e+01_rb /) kao(:, 4, 2, 9) = (/ & & 0.66136e+01_rb,0.65139e+01_rb,0.69841e+01_rb,0.73016e+01_rb,0.74627e+01_rb, & & 0.74252e+01_rb,0.71129e+01_rb,0.65455e+01_rb,0.66889e+01_rb /) kao(:, 5, 2, 9) = (/ & & 0.65687e+01_rb,0.64706e+01_rb,0.69322e+01_rb,0.72576e+01_rb,0.74266e+01_rb, & & 0.73967e+01_rb,0.70986e+01_rb,0.65510e+01_rb,0.67011e+01_rb /) kao(:, 1, 3, 9) = (/ & & 0.62554e+01_rb,0.63717e+01_rb,0.69259e+01_rb,0.72750e+01_rb,0.74339e+01_rb, & & 0.73812e+01_rb,0.70638e+01_rb,0.63830e+01_rb,0.62738e+01_rb /) kao(:, 2, 3, 9) = (/ & & 0.61935e+01_rb,0.63130e+01_rb,0.68741e+01_rb,0.72340e+01_rb,0.74081e+01_rb, & & 0.73723e+01_rb,0.70661e+01_rb,0.64055e+01_rb,0.63017e+01_rb /) kao(:, 3, 3, 9) = (/ & & 0.61417e+01_rb,0.62609e+01_rb,0.68234e+01_rb,0.71924e+01_rb,0.73793e+01_rb, & & 0.73559e+01_rb,0.70613e+01_rb,0.64217e+01_rb,0.63259e+01_rb /) kao(:, 4, 3, 9) = (/ & & 0.61027e+01_rb,0.62184e+01_rb,0.67754e+01_rb,0.71518e+01_rb,0.73493e+01_rb, & & 0.73341e+01_rb,0.70537e+01_rb,0.64352e+01_rb,0.63471e+01_rb /) kao(:, 5, 3, 9) = (/ & & 0.60751e+01_rb,0.61846e+01_rb,0.67335e+01_rb,0.71090e+01_rb,0.73143e+01_rb, & & 0.73100e+01_rb,0.70431e+01_rb,0.64459e+01_rb,0.63674e+01_rb /) kao(:, 1, 4, 9) = (/ & & 0.56712e+01_rb,0.60174e+01_rb,0.66407e+01_rb,0.70308e+01_rb,0.72054e+01_rb, & & 0.71700e+01_rb,0.68768e+01_rb,0.62076e+01_rb,0.58601e+01_rb /) kao(:, 2, 4, 9) = (/ & & 0.56177e+01_rb,0.59637e+01_rb,0.65912e+01_rb,0.69914e+01_rb,0.71823e+01_rb, & & 0.71644e+01_rb,0.68840e+01_rb,0.62360e+01_rb,0.58965e+01_rb /) kao(:, 3, 4, 9) = (/ & & 0.55798e+01_rb,0.59204e+01_rb,0.65459e+01_rb,0.69532e+01_rb,0.71589e+01_rb, & & 0.71503e+01_rb,0.68872e+01_rb,0.62571e+01_rb,0.59275e+01_rb /) kao(:, 4, 4, 9) = (/ & & 0.55576e+01_rb,0.58874e+01_rb,0.65057e+01_rb,0.69160e+01_rb,0.71305e+01_rb, & & 0.71327e+01_rb,0.68860e+01_rb,0.62738e+01_rb,0.59560e+01_rb /) kao(:, 5, 4, 9) = (/ & & 0.55509e+01_rb,0.58664e+01_rb,0.64735e+01_rb,0.68799e+01_rb,0.70989e+01_rb, & & 0.71129e+01_rb,0.68803e+01_rb,0.62864e+01_rb,0.59817e+01_rb /) kao(:, 1, 5, 9) = (/ & & 0.50748e+01_rb,0.56236e+01_rb,0.62897e+01_rb,0.66937e+01_rb,0.68773e+01_rb, & & 0.68583e+01_rb,0.65966e+01_rb,0.59739e+01_rb,0.54247e+01_rb /) kao(:, 2, 5, 9) = (/ & & 0.50332e+01_rb,0.55772e+01_rb,0.62435e+01_rb,0.66588e+01_rb,0.68602e+01_rb, & & 0.68553e+01_rb,0.66099e+01_rb,0.60056e+01_rb,0.54668e+01_rb /) kao(:, 3, 5, 9) = (/ & & 0.50094e+01_rb,0.55429e+01_rb,0.62032e+01_rb,0.66264e+01_rb,0.68392e+01_rb, & & 0.68457e+01_rb,0.66198e+01_rb,0.60291e+01_rb,0.55024e+01_rb /) kao(:, 4, 5, 9) = (/ & & 0.50054e+01_rb,0.55221e+01_rb,0.61728e+01_rb,0.65959e+01_rb,0.68138e+01_rb, & & 0.68347e+01_rb,0.66239e+01_rb,0.60504e+01_rb,0.55378e+01_rb /) kao(:, 5, 5, 9) = (/ & & 0.50196e+01_rb,0.55140e+01_rb,0.61502e+01_rb,0.65696e+01_rb,0.67880e+01_rb, & & 0.68224e+01_rb,0.66232e+01_rb,0.60661e+01_rb,0.55660e+01_rb /) kao(:, 1, 6, 9) = (/ & & 0.44929e+01_rb,0.51985e+01_rb,0.58791e+01_rb,0.62757e+01_rb,0.64716e+01_rb, & & 0.64669e+01_rb,0.62368e+01_rb,0.56853e+01_rb,0.49792e+01_rb /) kao(:, 2, 6, 9) = (/ & & 0.44612e+01_rb,0.51596e+01_rb,0.58385e+01_rb,0.62487e+01_rb,0.64570e+01_rb, & & 0.64678e+01_rb,0.62575e+01_rb,0.57196e+01_rb,0.50244e+01_rb /) kao(:, 3, 6, 9) = (/ & & 0.44521e+01_rb,0.51348e+01_rb,0.58071e+01_rb,0.62248e+01_rb,0.64383e+01_rb, & & 0.64639e+01_rb,0.62747e+01_rb,0.57459e+01_rb,0.50676e+01_rb /) kao(:, 4, 6, 9) = (/ & & 0.44651e+01_rb,0.51248e+01_rb,0.57862e+01_rb,0.62029e+01_rb,0.64206e+01_rb, & & 0.64594e+01_rb,0.62829e+01_rb,0.57703e+01_rb,0.51061e+01_rb /) kao(:, 5, 6, 9) = (/ & & 0.44974e+01_rb,0.51321e+01_rb,0.57769e+01_rb,0.61847e+01_rb,0.64045e+01_rb, & & 0.64518e+01_rb,0.62850e+01_rb,0.57880e+01_rb,0.51383e+01_rb /) kao(:, 1, 7, 9) = (/ & & 0.39405e+01_rb,0.47599e+01_rb,0.54183e+01_rb,0.58070e+01_rb,0.60002e+01_rb, & & 0.60137e+01_rb,0.58231e+01_rb,0.53430e+01_rb,0.45395e+01_rb /) kao(:, 2, 7, 9) = (/ & & 0.39200e+01_rb,0.47279e+01_rb,0.53865e+01_rb,0.57866e+01_rb,0.59900e+01_rb, & & 0.60178e+01_rb,0.58493e+01_rb,0.53803e+01_rb,0.45897e+01_rb /) kao(:, 3, 7, 9) = (/ & & 0.39243e+01_rb,0.47128e+01_rb,0.53651e+01_rb,0.57689e+01_rb,0.59779e+01_rb, & & 0.60210e+01_rb,0.58689e+01_rb,0.54093e+01_rb,0.46370e+01_rb /) kao(:, 4, 7, 9) = (/ & & 0.39509e+01_rb,0.47158e+01_rb,0.53566e+01_rb,0.57541e+01_rb,0.59686e+01_rb, & & 0.60221e+01_rb,0.58794e+01_rb,0.54360e+01_rb,0.46801e+01_rb /) kao(:, 5, 7, 9) = (/ & & 0.39997e+01_rb,0.47365e+01_rb,0.53625e+01_rb,0.57480e+01_rb,0.59641e+01_rb, & & 0.60191e+01_rb,0.58864e+01_rb,0.54567e+01_rb,0.47154e+01_rb /) kao(:, 1, 8, 9) = (/ & & 0.34277e+01_rb,0.43224e+01_rb,0.49312e+01_rb,0.53036e+01_rb,0.54930e+01_rb, & & 0.55228e+01_rb,0.53766e+01_rb,0.49651e+01_rb,0.41155e+01_rb /) kao(:, 2, 8, 9) = (/ & & 0.34174e+01_rb,0.42976e+01_rb,0.49104e+01_rb,0.52883e+01_rb,0.54862e+01_rb, & & 0.55322e+01_rb,0.54048e+01_rb,0.50049e+01_rb,0.41706e+01_rb /) kao(:, 3, 8, 9) = (/ & & 0.34328e+01_rb,0.42901e+01_rb,0.49000e+01_rb,0.52782e+01_rb,0.54821e+01_rb, & & 0.55409e+01_rb,0.54257e+01_rb,0.50383e+01_rb,0.42218e+01_rb /) kao(:, 4, 8, 9) = (/ & & 0.34724e+01_rb,0.43054e+01_rb,0.49030e+01_rb,0.52739e+01_rb,0.54825e+01_rb, & & 0.55468e+01_rb,0.54402e+01_rb,0.50678e+01_rb,0.42656e+01_rb /) kao(:, 5, 8, 9) = (/ & & 0.35331e+01_rb,0.43394e+01_rb,0.49199e+01_rb,0.52816e+01_rb,0.54871e+01_rb, & & 0.55512e+01_rb,0.54505e+01_rb,0.50918e+01_rb,0.43035e+01_rb /) kao(:, 1, 9, 9) = (/ & & 0.29643e+01_rb,0.38841e+01_rb,0.44459e+01_rb,0.47885e+01_rb,0.49734e+01_rb, & & 0.50221e+01_rb,0.49131e+01_rb,0.45659e+01_rb,0.37057e+01_rb /) kao(:, 2, 9, 9) = (/ & & 0.29616e+01_rb,0.38662e+01_rb,0.44298e+01_rb,0.47788e+01_rb,0.49743e+01_rb, & & 0.50365e+01_rb,0.49428e+01_rb,0.46088e+01_rb,0.37656e+01_rb /) kao(:, 3, 9, 9) = (/ & & 0.29848e+01_rb,0.38693e+01_rb,0.44274e+01_rb,0.47752e+01_rb,0.49768e+01_rb, & & 0.50477e+01_rb,0.49663e+01_rb,0.46464e+01_rb,0.38194e+01_rb /) kao(:, 4, 9, 9) = (/ & & 0.30329e+01_rb,0.38944e+01_rb,0.44404e+01_rb,0.47824e+01_rb,0.49850e+01_rb, & & 0.50582e+01_rb,0.49851e+01_rb,0.46790e+01_rb,0.38645e+01_rb /) kao(:, 5, 9, 9) = (/ & & 0.31033e+01_rb,0.39395e+01_rb,0.44689e+01_rb,0.48029e+01_rb,0.49990e+01_rb, & & 0.50689e+01_rb,0.50004e+01_rb,0.47030e+01_rb,0.39063e+01_rb /) kao(:, 1,10, 9) = (/ & & 0.25528e+01_rb,0.34541e+01_rb,0.39652e+01_rb,0.42831e+01_rb,0.44659e+01_rb, & & 0.45285e+01_rb,0.44509e+01_rb,0.41587e+01_rb,0.32612e+01_rb /) kao(:, 2,10, 9) = (/ & & 0.25575e+01_rb,0.34458e+01_rb,0.39558e+01_rb,0.42802e+01_rb,0.44723e+01_rb, & & 0.45451e+01_rb,0.44820e+01_rb,0.42051e+01_rb,0.33240e+01_rb /) kao(:, 3,10, 9) = (/ & & 0.25883e+01_rb,0.34607e+01_rb,0.39625e+01_rb,0.42854e+01_rb,0.44811e+01_rb, & & 0.45602e+01_rb,0.45090e+01_rb,0.42460e+01_rb,0.33785e+01_rb /) kao(:, 4,10, 9) = (/ & & 0.26435e+01_rb,0.34963e+01_rb,0.39867e+01_rb,0.43038e+01_rb,0.44956e+01_rb, & & 0.45761e+01_rb,0.45312e+01_rb,0.42799e+01_rb,0.34270e+01_rb /) kao(:, 5,10, 9) = (/ & & 0.27203e+01_rb,0.35517e+01_rb,0.40270e+01_rb,0.43344e+01_rb,0.45189e+01_rb, & & 0.45941e+01_rb,0.45504e+01_rb,0.43065e+01_rb,0.34705e+01_rb /) kao(:, 1,11, 9) = (/ & & 0.21958e+01_rb,0.30498e+01_rb,0.35059e+01_rb,0.38049e+01_rb,0.39876e+01_rb, & & 0.40622e+01_rb,0.40123e+01_rb,0.37729e+01_rb,0.28786e+01_rb /) kao(:, 2,11, 9) = (/ & & 0.22177e+01_rb,0.30598e+01_rb,0.35116e+01_rb,0.38116e+01_rb,0.39989e+01_rb, & & 0.40819e+01_rb,0.40442e+01_rb,0.38191e+01_rb,0.29389e+01_rb /) kao(:, 3,11, 9) = (/ & & 0.22647e+01_rb,0.30907e+01_rb,0.35359e+01_rb,0.38306e+01_rb,0.40167e+01_rb, & & 0.41020e+01_rb,0.40724e+01_rb,0.38578e+01_rb,0.29915e+01_rb /) kao(:, 4,11, 9) = (/ & & 0.23337e+01_rb,0.31425e+01_rb,0.35763e+01_rb,0.38632e+01_rb,0.40437e+01_rb, & & 0.41245e+01_rb,0.40973e+01_rb,0.38902e+01_rb,0.30386e+01_rb /) kao(:, 5,11, 9) = (/ & & 0.24135e+01_rb,0.32120e+01_rb,0.36330e+01_rb,0.39077e+01_rb,0.40797e+01_rb, & & 0.41526e+01_rb,0.41204e+01_rb,0.39195e+01_rb,0.30818e+01_rb /) kao(:, 1,12, 9) = (/ & & 0.18956e+01_rb,0.26861e+01_rb,0.30931e+01_rb,0.33674e+01_rb,0.35425e+01_rb, & & 0.36210e+01_rb,0.35899e+01_rb,0.33921e+01_rb,0.25824e+01_rb /) kao(:, 2,12, 9) = (/ & & 0.19314e+01_rb,0.27108e+01_rb,0.31141e+01_rb,0.33855e+01_rb,0.35620e+01_rb, & & 0.36450e+01_rb,0.36224e+01_rb,0.34362e+01_rb,0.26351e+01_rb /) kao(:, 3,12, 9) = (/ & & 0.19899e+01_rb,0.27565e+01_rb,0.31515e+01_rb,0.34177e+01_rb,0.35909e+01_rb, & & 0.36718e+01_rb,0.36517e+01_rb,0.34743e+01_rb,0.26837e+01_rb /) kao(:, 4,12, 9) = (/ & & 0.20599e+01_rb,0.28211e+01_rb,0.32055e+01_rb,0.34628e+01_rb,0.36291e+01_rb, & & 0.37038e+01_rb,0.36800e+01_rb,0.35081e+01_rb,0.27286e+01_rb /) kao(:, 5,12, 9) = (/ & & 0.21342e+01_rb,0.28994e+01_rb,0.32752e+01_rb,0.35201e+01_rb,0.36745e+01_rb, & & 0.37420e+01_rb,0.37112e+01_rb,0.35392e+01_rb,0.27703e+01_rb /) kao(:, 1,13, 9) = (/ & & 0.16403e+01_rb,0.23651e+01_rb,0.27290e+01_rb,0.29746e+01_rb,0.31326e+01_rb, & & 0.32080e+01_rb,0.31891e+01_rb,0.30274e+01_rb,0.23307e+01_rb /) kao(:, 2,13, 9) = (/ & & 0.16863e+01_rb,0.24025e+01_rb,0.27611e+01_rb,0.30044e+01_rb,0.31618e+01_rb, & & 0.32369e+01_rb,0.32226e+01_rb,0.30700e+01_rb,0.23815e+01_rb /) kao(:, 3,13, 9) = (/ & & 0.17455e+01_rb,0.24598e+01_rb,0.28102e+01_rb,0.30475e+01_rb,0.32007e+01_rb, & & 0.32722e+01_rb,0.32554e+01_rb,0.31073e+01_rb,0.24291e+01_rb /) kao(:, 4,13, 9) = (/ & & 0.18100e+01_rb,0.25311e+01_rb,0.28759e+01_rb,0.31035e+01_rb,0.32472e+01_rb, & & 0.33131e+01_rb,0.32901e+01_rb,0.31417e+01_rb,0.24730e+01_rb /) kao(:, 5,13, 9) = (/ & & 0.18736e+01_rb,0.26085e+01_rb,0.29527e+01_rb,0.31711e+01_rb,0.33027e+01_rb, & & 0.33589e+01_rb,0.33290e+01_rb,0.31763e+01_rb,0.25126e+01_rb /) kao(:, 1, 1,10) = (/ & & 0.19065e+02_rb,0.16899e+02_rb,0.15643e+02_rb,0.15578e+02_rb,0.15043e+02_rb, & & 0.14288e+02_rb,0.13684e+02_rb,0.14703e+02_rb,0.16312e+02_rb /) kao(:, 2, 1,10) = (/ & & 0.18912e+02_rb,0.16761e+02_rb,0.15514e+02_rb,0.15480e+02_rb,0.14973e+02_rb, & & 0.14273e+02_rb,0.13717e+02_rb,0.14749e+02_rb,0.16352e+02_rb /) kao(:, 3, 1,10) = (/ & & 0.18728e+02_rb,0.16596e+02_rb,0.15380e+02_rb,0.15367e+02_rb,0.14915e+02_rb, & & 0.14240e+02_rb,0.13761e+02_rb,0.14772e+02_rb,0.16373e+02_rb /) kao(:, 4, 1,10) = (/ & & 0.18544e+02_rb,0.16434e+02_rb,0.15250e+02_rb,0.15223e+02_rb,0.14839e+02_rb, & & 0.14214e+02_rb,0.13761e+02_rb,0.14749e+02_rb,0.16351e+02_rb /) kao(:, 5, 1,10) = (/ & & 0.18333e+02_rb,0.16256e+02_rb,0.15122e+02_rb,0.15098e+02_rb,0.14749e+02_rb, & & 0.14176e+02_rb,0.13735e+02_rb,0.14720e+02_rb,0.16309e+02_rb /) kao(:, 1, 2,10) = (/ & & 0.19359e+02_rb,0.17148e+02_rb,0.16419e+02_rb,0.16424e+02_rb,0.16006e+02_rb, & & 0.15375e+02_rb,0.14545e+02_rb,0.15202e+02_rb,0.16997e+02_rb /) kao(:, 2, 2,10) = (/ & & 0.19172e+02_rb,0.16980e+02_rb,0.16267e+02_rb,0.16317e+02_rb,0.15911e+02_rb, & & 0.15334e+02_rb,0.14618e+02_rb,0.15283e+02_rb,0.17084e+02_rb /) kao(:, 3, 2,10) = (/ & & 0.18973e+02_rb,0.16804e+02_rb,0.16126e+02_rb,0.16185e+02_rb,0.15827e+02_rb, & & 0.15302e+02_rb,0.14664e+02_rb,0.15280e+02_rb,0.17092e+02_rb /) kao(:, 4, 2,10) = (/ & & 0.18751e+02_rb,0.16617e+02_rb,0.15988e+02_rb,0.16055e+02_rb,0.15738e+02_rb, & & 0.15272e+02_rb,0.14654e+02_rb,0.15237e+02_rb,0.17035e+02_rb /) kao(:, 5, 2,10) = (/ & & 0.18520e+02_rb,0.16417e+02_rb,0.15855e+02_rb,0.15950e+02_rb,0.15639e+02_rb, & & 0.15219e+02_rb,0.14617e+02_rb,0.15192e+02_rb,0.16961e+02_rb /) kao(:, 1, 3,10) = (/ & & 0.19263e+02_rb,0.17075e+02_rb,0.17060e+02_rb,0.17120e+02_rb,0.16883e+02_rb, & & 0.16381e+02_rb,0.15414e+02_rb,0.15455e+02_rb,0.17398e+02_rb /) kao(:, 2, 3,10) = (/ & & 0.19059e+02_rb,0.16894e+02_rb,0.16898e+02_rb,0.17000e+02_rb,0.16773e+02_rb, & & 0.16323e+02_rb,0.15500e+02_rb,0.15491e+02_rb,0.17437e+02_rb /) kao(:, 3, 3,10) = (/ & & 0.18835e+02_rb,0.16708e+02_rb,0.16745e+02_rb,0.16865e+02_rb,0.16669e+02_rb, & & 0.16285e+02_rb,0.15530e+02_rb,0.15496e+02_rb,0.17423e+02_rb /) kao(:, 4, 3,10) = (/ & & 0.18600e+02_rb,0.16513e+02_rb,0.16588e+02_rb,0.16744e+02_rb,0.16560e+02_rb, & & 0.16244e+02_rb,0.15515e+02_rb,0.15476e+02_rb,0.17372e+02_rb /) kao(:, 5, 3,10) = (/ & & 0.18358e+02_rb,0.16312e+02_rb,0.16416e+02_rb,0.16627e+02_rb,0.16462e+02_rb, & & 0.16172e+02_rb,0.15490e+02_rb,0.15433e+02_rb,0.17293e+02_rb /) kao(:, 1, 4,10) = (/ & & 0.18801e+02_rb,0.16888e+02_rb,0.17351e+02_rb,0.17638e+02_rb,0.17654e+02_rb, & & 0.17241e+02_rb,0.16305e+02_rb,0.15458e+02_rb,0.17321e+02_rb /) kao(:, 2, 4,10) = (/ & & 0.18579e+02_rb,0.16692e+02_rb,0.17197e+02_rb,0.17496e+02_rb,0.17520e+02_rb, & & 0.17188e+02_rb,0.16384e+02_rb,0.15486e+02_rb,0.17346e+02_rb /) kao(:, 3, 4,10) = (/ & & 0.18342e+02_rb,0.16488e+02_rb,0.17035e+02_rb,0.17349e+02_rb,0.17380e+02_rb, & & 0.17158e+02_rb,0.16385e+02_rb,0.15526e+02_rb,0.17367e+02_rb /) kao(:, 4, 4,10) = (/ & & 0.18091e+02_rb,0.16279e+02_rb,0.16863e+02_rb,0.17208e+02_rb,0.17266e+02_rb, & & 0.17103e+02_rb,0.16355e+02_rb,0.15560e+02_rb,0.17358e+02_rb /) kao(:, 5, 4,10) = (/ & & 0.17836e+02_rb,0.16059e+02_rb,0.16677e+02_rb,0.17068e+02_rb,0.17166e+02_rb, & & 0.17011e+02_rb,0.16312e+02_rb,0.15578e+02_rb,0.17344e+02_rb /) kao(:, 1, 5,10) = (/ & & 0.17961e+02_rb,0.16659e+02_rb,0.17334e+02_rb,0.17976e+02_rb,0.18171e+02_rb, & & 0.17832e+02_rb,0.16966e+02_rb,0.15432e+02_rb,0.16855e+02_rb /) kao(:, 2, 5,10) = (/ & & 0.17714e+02_rb,0.16442e+02_rb,0.17178e+02_rb,0.17800e+02_rb,0.18030e+02_rb, & & 0.17804e+02_rb,0.17004e+02_rb,0.15487e+02_rb,0.16904e+02_rb /) kao(:, 3, 5,10) = (/ & & 0.17470e+02_rb,0.16231e+02_rb,0.17012e+02_rb,0.17636e+02_rb,0.17902e+02_rb, & & 0.17774e+02_rb,0.16959e+02_rb,0.15590e+02_rb,0.16987e+02_rb /) kao(:, 4, 5,10) = (/ & & 0.17221e+02_rb,0.16002e+02_rb,0.16835e+02_rb,0.17477e+02_rb,0.17804e+02_rb, & & 0.17680e+02_rb,0.16923e+02_rb,0.15646e+02_rb,0.17004e+02_rb /) kao(:, 5, 5,10) = (/ & & 0.16955e+02_rb,0.15778e+02_rb,0.16648e+02_rb,0.17325e+02_rb,0.17709e+02_rb, & & 0.17576e+02_rb,0.16895e+02_rb,0.15664e+02_rb,0.17027e+02_rb /) kao(:, 1, 6,10) = (/ & & 0.16796e+02_rb,0.16241e+02_rb,0.17123e+02_rb,0.18098e+02_rb,0.18345e+02_rb, & & 0.18145e+02_rb,0.17297e+02_rb,0.15317e+02_rb,0.16076e+02_rb /) kao(:, 2, 6,10) = (/ & & 0.16561e+02_rb,0.16019e+02_rb,0.16973e+02_rb,0.17901e+02_rb,0.18253e+02_rb, & & 0.18123e+02_rb,0.17284e+02_rb,0.15411e+02_rb,0.16194e+02_rb /) kao(:, 3, 6,10) = (/ & & 0.16307e+02_rb,0.15790e+02_rb,0.16801e+02_rb,0.17722e+02_rb,0.18189e+02_rb, & & 0.18068e+02_rb,0.17217e+02_rb,0.15556e+02_rb,0.16309e+02_rb /) kao(:, 4, 6,10) = (/ & & 0.16045e+02_rb,0.15571e+02_rb,0.16615e+02_rb,0.17565e+02_rb,0.18113e+02_rb, & & 0.17968e+02_rb,0.17201e+02_rb,0.15625e+02_rb,0.16374e+02_rb /) kao(:, 5, 6,10) = (/ & & 0.15792e+02_rb,0.15350e+02_rb,0.16424e+02_rb,0.17437e+02_rb,0.17997e+02_rb, & & 0.17869e+02_rb,0.17203e+02_rb,0.15664e+02_rb,0.16420e+02_rb /) kao(:, 1, 7,10) = (/ & & 0.15441e+02_rb,0.15555e+02_rb,0.16836e+02_rb,0.17857e+02_rb,0.18265e+02_rb, & & 0.18114e+02_rb,0.17249e+02_rb,0.15143e+02_rb,0.15078e+02_rb /) kao(:, 2, 7,10) = (/ & & 0.15190e+02_rb,0.15341e+02_rb,0.16649e+02_rb,0.17679e+02_rb,0.18211e+02_rb, & & 0.18098e+02_rb,0.17215e+02_rb,0.15278e+02_rb,0.15251e+02_rb /) kao(:, 3, 7,10) = (/ & & 0.14946e+02_rb,0.15122e+02_rb,0.16458e+02_rb,0.17534e+02_rb,0.18165e+02_rb, & & 0.18029e+02_rb,0.17165e+02_rb,0.15443e+02_rb,0.15389e+02_rb /) kao(:, 4, 7,10) = (/ & & 0.14700e+02_rb,0.14908e+02_rb,0.16252e+02_rb,0.17424e+02_rb,0.18072e+02_rb, & & 0.17929e+02_rb,0.17187e+02_rb,0.15518e+02_rb,0.15458e+02_rb /) kao(:, 5, 7,10) = (/ & & 0.14445e+02_rb,0.14710e+02_rb,0.16048e+02_rb,0.17304e+02_rb,0.17932e+02_rb, & & 0.17873e+02_rb,0.17206e+02_rb,0.15573e+02_rb,0.15541e+02_rb /) kao(:, 1, 8,10) = (/ & & 0.13963e+02_rb,0.14641e+02_rb,0.16339e+02_rb,0.17287e+02_rb,0.17853e+02_rb, & & 0.17712e+02_rb,0.16836e+02_rb,0.14867e+02_rb,0.13958e+02_rb /) kao(:, 2, 8,10) = (/ & & 0.13720e+02_rb,0.14441e+02_rb,0.16121e+02_rb,0.17175e+02_rb,0.17806e+02_rb, & & 0.17701e+02_rb,0.16817e+02_rb,0.15013e+02_rb,0.14139e+02_rb /) kao(:, 3, 8,10) = (/ & & 0.13475e+02_rb,0.14253e+02_rb,0.15918e+02_rb,0.17071e+02_rb,0.17741e+02_rb, & & 0.17634e+02_rb,0.16820e+02_rb,0.15155e+02_rb,0.14269e+02_rb /) kao(:, 4, 8,10) = (/ & & 0.13235e+02_rb,0.14056e+02_rb,0.15727e+02_rb,0.16983e+02_rb,0.17630e+02_rb, & & 0.17564e+02_rb,0.16869e+02_rb,0.15238e+02_rb,0.14383e+02_rb /) kao(:, 5, 8,10) = (/ & & 0.13009e+02_rb,0.13855e+02_rb,0.15556e+02_rb,0.16857e+02_rb,0.17508e+02_rb, & & 0.17529e+02_rb,0.16912e+02_rb,0.15302e+02_rb,0.14496e+02_rb /) kao(:, 1, 9,10) = (/ & & 0.12422e+02_rb,0.13743e+02_rb,0.15496e+02_rb,0.16530e+02_rb,0.17068e+02_rb, & & 0.16944e+02_rb,0.16119e+02_rb,0.14360e+02_rb,0.12852e+02_rb /) kao(:, 2, 9,10) = (/ & & 0.12195e+02_rb,0.13543e+02_rb,0.15328e+02_rb,0.16447e+02_rb,0.17000e+02_rb, & & 0.16934e+02_rb,0.16148e+02_rb,0.14484e+02_rb,0.13012e+02_rb /) kao(:, 3, 9,10) = (/ & & 0.11972e+02_rb,0.13354e+02_rb,0.15163e+02_rb,0.16359e+02_rb,0.16940e+02_rb, & & 0.16900e+02_rb,0.16191e+02_rb,0.14599e+02_rb,0.13152e+02_rb /) kao(:, 4, 9,10) = (/ & & 0.11752e+02_rb,0.13166e+02_rb,0.15011e+02_rb,0.16249e+02_rb,0.16842e+02_rb, & & 0.16880e+02_rb,0.16254e+02_rb,0.14688e+02_rb,0.13295e+02_rb /) kao(:, 5, 9,10) = (/ & & 0.11542e+02_rb,0.12972e+02_rb,0.14878e+02_rb,0.16107e+02_rb,0.16750e+02_rb, & & 0.16884e+02_rb,0.16301e+02_rb,0.14790e+02_rb,0.13417e+02_rb /) kao(:, 1,10,10) = (/ & & 0.10883e+02_rb,0.12799e+02_rb,0.14471e+02_rb,0.15523e+02_rb,0.15963e+02_rb, & & 0.15867e+02_rb,0.15188e+02_rb,0.13687e+02_rb,0.11830e+02_rb /) kao(:, 2,10,10) = (/ & & 0.10669e+02_rb,0.12615e+02_rb,0.14351e+02_rb,0.15423e+02_rb,0.15920e+02_rb, & & 0.15883e+02_rb,0.15251e+02_rb,0.13796e+02_rb,0.11997e+02_rb /) kao(:, 3,10,10) = (/ & & 0.10461e+02_rb,0.12417e+02_rb,0.14235e+02_rb,0.15340e+02_rb,0.15857e+02_rb, & & 0.15885e+02_rb,0.15315e+02_rb,0.13895e+02_rb,0.12154e+02_rb /) kao(:, 4,10,10) = (/ & & 0.10271e+02_rb,0.12218e+02_rb,0.14109e+02_rb,0.15234e+02_rb,0.15808e+02_rb, & & 0.15905e+02_rb,0.15383e+02_rb,0.14000e+02_rb,0.12311e+02_rb /) kao(:, 5,10,10) = (/ & & 0.10108e+02_rb,0.12035e+02_rb,0.13977e+02_rb,0.15117e+02_rb,0.15764e+02_rb, & & 0.15927e+02_rb,0.15450e+02_rb,0.14121e+02_rb,0.12430e+02_rb /) kao(:, 1,11,10) = (/ & & 0.93334e+01_rb,0.11625e+02_rb,0.13302e+02_rb,0.14226e+02_rb,0.14663e+02_rb, & & 0.14671e+02_rb,0.14179e+02_rb,0.12958e+02_rb,0.10939e+02_rb /) kao(:, 2,11,10) = (/ & & 0.91435e+01_rb,0.11452e+02_rb,0.13192e+02_rb,0.14163e+02_rb,0.14640e+02_rb, & & 0.14697e+02_rb,0.14256e+02_rb,0.13072e+02_rb,0.11104e+02_rb /) kao(:, 3,11,10) = (/ & & 0.89744e+01_rb,0.11286e+02_rb,0.13068e+02_rb,0.14085e+02_rb,0.14619e+02_rb, & & 0.14728e+02_rb,0.14326e+02_rb,0.13192e+02_rb,0.11276e+02_rb /) kao(:, 4,11,10) = (/ & & 0.88386e+01_rb,0.11134e+02_rb,0.12957e+02_rb,0.14008e+02_rb,0.14602e+02_rb, & & 0.14761e+02_rb,0.14404e+02_rb,0.13322e+02_rb,0.11423e+02_rb /) kao(:, 5,11,10) = (/ & & 0.88280e+01_rb,0.11011e+02_rb,0.12844e+02_rb,0.13942e+02_rb,0.14584e+02_rb, & & 0.14790e+02_rb,0.14494e+02_rb,0.13437e+02_rb,0.11537e+02_rb /) kao(:, 1,12,10) = (/ & & 0.79516e+01_rb,0.10418e+02_rb,0.11985e+02_rb,0.12856e+02_rb,0.13326e+02_rb, & & 0.13448e+02_rb,0.13142e+02_rb,0.12163e+02_rb,0.97408e+01_rb /) kao(:, 2,12,10) = (/ & & 0.78004e+01_rb,0.10286e+02_rb,0.11886e+02_rb,0.12812e+02_rb,0.13327e+02_rb, & & 0.13488e+02_rb,0.13229e+02_rb,0.12301e+02_rb,0.99474e+01_rb /) kao(:, 3,12,10) = (/ & & 0.76847e+01_rb,0.10169e+02_rb,0.11799e+02_rb,0.12768e+02_rb,0.13325e+02_rb, & & 0.13529e+02_rb,0.13323e+02_rb,0.12442e+02_rb,0.10130e+02_rb /) kao(:, 4,12,10) = (/ & & 0.76979e+01_rb,0.10072e+02_rb,0.11716e+02_rb,0.12735e+02_rb,0.13318e+02_rb, & & 0.13569e+02_rb,0.13422e+02_rb,0.12581e+02_rb,0.10272e+02_rb /) kao(:, 5,12,10) = (/ & & 0.78582e+01_rb,0.10030e+02_rb,0.11643e+02_rb,0.12707e+02_rb,0.13325e+02_rb, & & 0.13613e+02_rb,0.13505e+02_rb,0.12682e+02_rb,0.10410e+02_rb /) kao(:, 1,13,10) = (/ & & 0.68077e+01_rb,0.92695e+01_rb,0.10647e+02_rb,0.11513e+02_rb,0.12044e+02_rb, & & 0.12269e+02_rb,0.12092e+02_rb,0.11295e+02_rb,0.85103e+01_rb /) kao(:, 2,13,10) = (/ & & 0.67020e+01_rb,0.91675e+01_rb,0.10585e+02_rb,0.11489e+02_rb,0.12056e+02_rb, & & 0.12329e+02_rb,0.12198e+02_rb,0.11449e+02_rb,0.87111e+01_rb /) kao(:, 3,13,10) = (/ & & 0.67136e+01_rb,0.90765e+01_rb,0.10537e+02_rb,0.11473e+02_rb,0.12065e+02_rb, & & 0.12379e+02_rb,0.12312e+02_rb,0.11602e+02_rb,0.88718e+01_rb /) kao(:, 4,13,10) = (/ & & 0.68715e+01_rb,0.90508e+01_rb,0.10490e+02_rb,0.11454e+02_rb,0.12087e+02_rb, & & 0.12433e+02_rb,0.12413e+02_rb,0.11728e+02_rb,0.90172e+01_rb /) kao(:, 5,13,10) = (/ & & 0.71183e+01_rb,0.91466e+01_rb,0.10479e+02_rb,0.11436e+02_rb,0.12120e+02_rb, & & 0.12489e+02_rb,0.12478e+02_rb,0.11826e+02_rb,0.91846e+01_rb /) kao(:, 1, 1,11) = (/ & & 0.25290e+02_rb,0.22378e+02_rb,0.19682e+02_rb,0.19092e+02_rb,0.18401e+02_rb, & & 0.17330e+02_rb,0.17194e+02_rb,0.19513e+02_rb,0.21546e+02_rb /) kao(:, 2, 1,11) = (/ & & 0.25153e+02_rb,0.22251e+02_rb,0.19574e+02_rb,0.19002e+02_rb,0.18309e+02_rb, & & 0.17346e+02_rb,0.17168e+02_rb,0.19469e+02_rb,0.21516e+02_rb /) kao(:, 3, 1,11) = (/ & & 0.24990e+02_rb,0.22108e+02_rb,0.19457e+02_rb,0.18891e+02_rb,0.18197e+02_rb, & & 0.17344e+02_rb,0.17153e+02_rb,0.19435e+02_rb,0.21516e+02_rb /) kao(:, 4, 1,11) = (/ & & 0.24785e+02_rb,0.21926e+02_rb,0.19312e+02_rb,0.18774e+02_rb,0.18111e+02_rb, & & 0.17300e+02_rb,0.17168e+02_rb,0.19426e+02_rb,0.21524e+02_rb /) kao(:, 5, 1,11) = (/ & & 0.24562e+02_rb,0.21729e+02_rb,0.19145e+02_rb,0.18657e+02_rb,0.18043e+02_rb, & & 0.17239e+02_rb,0.17190e+02_rb,0.19400e+02_rb,0.21517e+02_rb /) kao(:, 1, 2,11) = (/ & & 0.26738e+02_rb,0.23635e+02_rb,0.21164e+02_rb,0.20882e+02_rb,0.20133e+02_rb, & & 0.18952e+02_rb,0.18391e+02_rb,0.20397e+02_rb,0.22752e+02_rb /) kao(:, 2, 2,11) = (/ & & 0.26579e+02_rb,0.23493e+02_rb,0.21026e+02_rb,0.20770e+02_rb,0.20046e+02_rb, & & 0.18924e+02_rb,0.18351e+02_rb,0.20302e+02_rb,0.22673e+02_rb /) kao(:, 3, 2,11) = (/ & & 0.26369e+02_rb,0.23304e+02_rb,0.20847e+02_rb,0.20634e+02_rb,0.19955e+02_rb, & & 0.18867e+02_rb,0.18355e+02_rb,0.20274e+02_rb,0.22643e+02_rb /) kao(:, 4, 2,11) = (/ & & 0.26147e+02_rb,0.23108e+02_rb,0.20663e+02_rb,0.20491e+02_rb,0.19870e+02_rb, & & 0.18790e+02_rb,0.18365e+02_rb,0.20271e+02_rb,0.22638e+02_rb /) kao(:, 5, 2,11) = (/ & & 0.25876e+02_rb,0.22867e+02_rb,0.20457e+02_rb,0.20308e+02_rb,0.19788e+02_rb, & & 0.18723e+02_rb,0.18359e+02_rb,0.20242e+02_rb,0.22612e+02_rb /) kao(:, 1, 3,11) = (/ & & 0.27801e+02_rb,0.24558e+02_rb,0.22625e+02_rb,0.22456e+02_rb,0.21766e+02_rb, & & 0.20723e+02_rb,0.19785e+02_rb,0.21193e+02_rb,0.23811e+02_rb /) kao(:, 2, 3,11) = (/ & & 0.27586e+02_rb,0.24366e+02_rb,0.22444e+02_rb,0.22341e+02_rb,0.21670e+02_rb, & & 0.20651e+02_rb,0.19732e+02_rb,0.21163e+02_rb,0.23778e+02_rb /) kao(:, 3, 3,11) = (/ & & 0.27362e+02_rb,0.24166e+02_rb,0.22236e+02_rb,0.22200e+02_rb,0.21575e+02_rb, & & 0.20557e+02_rb,0.19718e+02_rb,0.21155e+02_rb,0.23783e+02_rb /) kao(:, 4, 3,11) = (/ & & 0.27084e+02_rb,0.23919e+02_rb,0.22013e+02_rb,0.22018e+02_rb,0.21471e+02_rb, & & 0.20457e+02_rb,0.19708e+02_rb,0.21136e+02_rb,0.23769e+02_rb /) kao(:, 5, 3,11) = (/ & & 0.26795e+02_rb,0.23666e+02_rb,0.21794e+02_rb,0.21827e+02_rb,0.21355e+02_rb, & & 0.20374e+02_rb,0.19655e+02_rb,0.21092e+02_rb,0.23724e+02_rb /) kao(:, 1, 4,11) = (/ & & 0.28327e+02_rb,0.25026e+02_rb,0.23910e+02_rb,0.23720e+02_rb,0.23265e+02_rb, & & 0.22396e+02_rb,0.21086e+02_rb,0.21859e+02_rb,0.24649e+02_rb /) kao(:, 2, 4,11) = (/ & & 0.28095e+02_rb,0.24816e+02_rb,0.23683e+02_rb,0.23594e+02_rb,0.23156e+02_rb, & & 0.22304e+02_rb,0.21023e+02_rb,0.21873e+02_rb,0.24674e+02_rb /) kao(:, 3, 4,11) = (/ & & 0.27817e+02_rb,0.24569e+02_rb,0.23454e+02_rb,0.23446e+02_rb,0.23031e+02_rb, & & 0.22182e+02_rb,0.21022e+02_rb,0.21878e+02_rb,0.24680e+02_rb /) kao(:, 4, 4,11) = (/ & & 0.27525e+02_rb,0.24310e+02_rb,0.23220e+02_rb,0.23268e+02_rb,0.22908e+02_rb, & & 0.22090e+02_rb,0.21022e+02_rb,0.21824e+02_rb,0.24620e+02_rb /) kao(:, 5, 4,11) = (/ & & 0.27191e+02_rb,0.24023e+02_rb,0.22996e+02_rb,0.23072e+02_rb,0.22769e+02_rb, & & 0.22022e+02_rb,0.20982e+02_rb,0.21737e+02_rb,0.24514e+02_rb /) kao(:, 1, 5,11) = (/ & & 0.28259e+02_rb,0.25014e+02_rb,0.24907e+02_rb,0.24706e+02_rb,0.24642e+02_rb, & & 0.23918e+02_rb,0.22330e+02_rb,0.22219e+02_rb,0.25091e+02_rb /) kao(:, 2, 5,11) = (/ & & 0.27993e+02_rb,0.24771e+02_rb,0.24666e+02_rb,0.24596e+02_rb,0.24487e+02_rb, & & 0.23818e+02_rb,0.22348e+02_rb,0.22269e+02_rb,0.25149e+02_rb /) kao(:, 3, 5,11) = (/ & & 0.27691e+02_rb,0.24499e+02_rb,0.24421e+02_rb,0.24432e+02_rb,0.24340e+02_rb, & & 0.23705e+02_rb,0.22420e+02_rb,0.22242e+02_rb,0.25109e+02_rb /) kao(:, 4, 5,11) = (/ & & 0.27357e+02_rb,0.24214e+02_rb,0.24178e+02_rb,0.24253e+02_rb,0.24191e+02_rb, & & 0.23642e+02_rb,0.22422e+02_rb,0.22174e+02_rb,0.25030e+02_rb /) kao(:, 5, 5,11) = (/ & & 0.27008e+02_rb,0.23916e+02_rb,0.23935e+02_rb,0.24063e+02_rb,0.24020e+02_rb, & & 0.23572e+02_rb,0.22355e+02_rb,0.22132e+02_rb,0.24957e+02_rb /) kao(:, 1, 6,11) = (/ & & 0.27627e+02_rb,0.24841e+02_rb,0.25414e+02_rb,0.25513e+02_rb,0.25788e+02_rb, & & 0.25161e+02_rb,0.23567e+02_rb,0.22384e+02_rb,0.25091e+02_rb /) kao(:, 2, 6,11) = (/ & & 0.27317e+02_rb,0.24550e+02_rb,0.25165e+02_rb,0.25384e+02_rb,0.25578e+02_rb, & & 0.25083e+02_rb,0.23662e+02_rb,0.22423e+02_rb,0.25102e+02_rb /) kao(:, 3, 6,11) = (/ & & 0.26994e+02_rb,0.24259e+02_rb,0.24926e+02_rb,0.25206e+02_rb,0.25391e+02_rb, & & 0.25015e+02_rb,0.23758e+02_rb,0.22363e+02_rb,0.25025e+02_rb /) kao(:, 4, 6,11) = (/ & & 0.26640e+02_rb,0.23945e+02_rb,0.24692e+02_rb,0.25002e+02_rb,0.25193e+02_rb, & & 0.24973e+02_rb,0.23733e+02_rb,0.22328e+02_rb,0.24965e+02_rb /) kao(:, 5, 6,11) = (/ & & 0.26265e+02_rb,0.23625e+02_rb,0.24446e+02_rb,0.24785e+02_rb,0.25037e+02_rb, & & 0.24906e+02_rb,0.23659e+02_rb,0.22352e+02_rb,0.24965e+02_rb /) kao(:, 1, 7,11) = (/ & & 0.26430e+02_rb,0.24581e+02_rb,0.25439e+02_rb,0.26140e+02_rb,0.26524e+02_rb, & & 0.25974e+02_rb,0.24552e+02_rb,0.22441e+02_rb,0.24498e+02_rb /) kao(:, 2, 7,11) = (/ & & 0.26105e+02_rb,0.24263e+02_rb,0.25225e+02_rb,0.25974e+02_rb,0.26315e+02_rb, & & 0.25946e+02_rb,0.24677e+02_rb,0.22471e+02_rb,0.24490e+02_rb /) kao(:, 3, 7,11) = (/ & & 0.25752e+02_rb,0.23938e+02_rb,0.24996e+02_rb,0.25749e+02_rb,0.26113e+02_rb, & & 0.25925e+02_rb,0.24758e+02_rb,0.22442e+02_rb,0.24454e+02_rb /) kao(:, 4, 7,11) = (/ & & 0.25389e+02_rb,0.23609e+02_rb,0.24761e+02_rb,0.25499e+02_rb,0.25940e+02_rb, & & 0.25913e+02_rb,0.24720e+02_rb,0.22473e+02_rb,0.24475e+02_rb /) kao(:, 5, 7,11) = (/ & & 0.25010e+02_rb,0.23260e+02_rb,0.24510e+02_rb,0.25262e+02_rb,0.25804e+02_rb, & & 0.25811e+02_rb,0.24640e+02_rb,0.22547e+02_rb,0.24534e+02_rb /) kao(:, 1, 8,11) = (/ & & 0.24762e+02_rb,0.23997e+02_rb,0.25209e+02_rb,0.26467e+02_rb,0.26748e+02_rb, & & 0.26365e+02_rb,0.25094e+02_rb,0.22357e+02_rb,0.23406e+02_rb /) kao(:, 2, 8,11) = (/ & & 0.24421e+02_rb,0.23672e+02_rb,0.24981e+02_rb,0.26217e+02_rb,0.26595e+02_rb, & & 0.26375e+02_rb,0.25195e+02_rb,0.22435e+02_rb,0.23453e+02_rb /) kao(:, 3, 8,11) = (/ & & 0.24067e+02_rb,0.23336e+02_rb,0.24754e+02_rb,0.25956e+02_rb,0.26455e+02_rb, & & 0.26361e+02_rb,0.25241e+02_rb,0.22458e+02_rb,0.23475e+02_rb /) kao(:, 4, 8,11) = (/ & & 0.23691e+02_rb,0.22996e+02_rb,0.24502e+02_rb,0.25698e+02_rb,0.26330e+02_rb, & & 0.26343e+02_rb,0.25197e+02_rb,0.22533e+02_rb,0.23575e+02_rb /) kao(:, 5, 8,11) = (/ & & 0.23311e+02_rb,0.22660e+02_rb,0.24234e+02_rb,0.25450e+02_rb,0.26215e+02_rb, & & 0.26209e+02_rb,0.25123e+02_rb,0.22642e+02_rb,0.23709e+02_rb /) kao(:, 1, 9,11) = (/ & & 0.22800e+02_rb,0.23011e+02_rb,0.24799e+02_rb,0.26181e+02_rb,0.26533e+02_rb, & & 0.26301e+02_rb,0.25044e+02_rb,0.22077e+02_rb,0.21907e+02_rb /) kao(:, 2, 9,11) = (/ & & 0.22436e+02_rb,0.22697e+02_rb,0.24546e+02_rb,0.25945e+02_rb,0.26460e+02_rb, & & 0.26314e+02_rb,0.25122e+02_rb,0.22204e+02_rb,0.22029e+02_rb /) kao(:, 3, 9,11) = (/ & & 0.22079e+02_rb,0.22367e+02_rb,0.24295e+02_rb,0.25706e+02_rb,0.26370e+02_rb, & & 0.26288e+02_rb,0.25162e+02_rb,0.22314e+02_rb,0.22151e+02_rb /) kao(:, 4, 9,11) = (/ & & 0.21719e+02_rb,0.22029e+02_rb,0.24017e+02_rb,0.25487e+02_rb,0.26273e+02_rb, & & 0.26217e+02_rb,0.25110e+02_rb,0.22435e+02_rb,0.22334e+02_rb /) kao(:, 5, 9,11) = (/ & & 0.21341e+02_rb,0.21707e+02_rb,0.23702e+02_rb,0.25282e+02_rb,0.26159e+02_rb, & & 0.26086e+02_rb,0.25065e+02_rb,0.22578e+02_rb,0.22506e+02_rb /) kao(:, 1,10,11) = (/ & & 0.20601e+02_rb,0.21678e+02_rb,0.24058e+02_rb,0.25352e+02_rb,0.25931e+02_rb, & & 0.25718e+02_rb,0.24432e+02_rb,0.21607e+02_rb,0.20262e+02_rb /) kao(:, 2,10,11) = (/ & & 0.20254e+02_rb,0.21345e+02_rb,0.23796e+02_rb,0.25183e+02_rb,0.25875e+02_rb, & & 0.25691e+02_rb,0.24508e+02_rb,0.21774e+02_rb,0.20445e+02_rb /) kao(:, 3,10,11) = (/ & & 0.19899e+02_rb,0.21048e+02_rb,0.23494e+02_rb,0.25000e+02_rb,0.25800e+02_rb, & & 0.25662e+02_rb,0.24533e+02_rb,0.21922e+02_rb,0.20638e+02_rb /) kao(:, 4,10,11) = (/ & & 0.19544e+02_rb,0.20766e+02_rb,0.23207e+02_rb,0.24826e+02_rb,0.25686e+02_rb, & & 0.25593e+02_rb,0.24527e+02_rb,0.22085e+02_rb,0.20832e+02_rb /) kao(:, 5,10,11) = (/ & & 0.19193e+02_rb,0.20470e+02_rb,0.22936e+02_rb,0.24673e+02_rb,0.25544e+02_rb, & & 0.25480e+02_rb,0.24537e+02_rb,0.22218e+02_rb,0.21044e+02_rb /) kao(:, 1,11,11) = (/ & & 0.18170e+02_rb,0.20155e+02_rb,0.22721e+02_rb,0.24145e+02_rb,0.24798e+02_rb, & & 0.24559e+02_rb,0.23403e+02_rb,0.20895e+02_rb,0.18740e+02_rb /) kao(:, 2,11,11) = (/ & & 0.17830e+02_rb,0.19860e+02_rb,0.22479e+02_rb,0.24018e+02_rb,0.24721e+02_rb, & & 0.24556e+02_rb,0.23466e+02_rb,0.21069e+02_rb,0.18949e+02_rb /) kao(:, 3,11,11) = (/ & & 0.17496e+02_rb,0.19576e+02_rb,0.22242e+02_rb,0.23886e+02_rb,0.24621e+02_rb, & & 0.24529e+02_rb,0.23525e+02_rb,0.21231e+02_rb,0.19147e+02_rb /) kao(:, 4,11,11) = (/ & & 0.17168e+02_rb,0.19292e+02_rb,0.22005e+02_rb,0.23734e+02_rb,0.24514e+02_rb, & & 0.24476e+02_rb,0.23580e+02_rb,0.21376e+02_rb,0.19368e+02_rb /) kao(:, 5,11,11) = (/ & & 0.16844e+02_rb,0.19013e+02_rb,0.21771e+02_rb,0.23570e+02_rb,0.24390e+02_rb, & & 0.24440e+02_rb,0.23651e+02_rb,0.21517e+02_rb,0.19612e+02_rb /) kao(:, 1,12,11) = (/ & & 0.15762e+02_rb,0.18615e+02_rb,0.21133e+02_rb,0.22639e+02_rb,0.23214e+02_rb, & & 0.23022e+02_rb,0.22060e+02_rb,0.19958e+02_rb,0.17314e+02_rb /) kao(:, 2,12,11) = (/ & & 0.15455e+02_rb,0.18341e+02_rb,0.20944e+02_rb,0.22510e+02_rb,0.23148e+02_rb, & & 0.23042e+02_rb,0.22164e+02_rb,0.20127e+02_rb,0.17543e+02_rb /) kao(:, 3,12,11) = (/ & & 0.15156e+02_rb,0.18068e+02_rb,0.20768e+02_rb,0.22374e+02_rb,0.23084e+02_rb, & & 0.23060e+02_rb,0.22257e+02_rb,0.20275e+02_rb,0.17770e+02_rb /) kao(:, 4,12,11) = (/ & & 0.14865e+02_rb,0.17794e+02_rb,0.20582e+02_rb,0.22237e+02_rb,0.23018e+02_rb, & & 0.23079e+02_rb,0.22350e+02_rb,0.20427e+02_rb,0.18026e+02_rb /) kao(:, 5,12,11) = (/ & & 0.14612e+02_rb,0.17534e+02_rb,0.20399e+02_rb,0.22086e+02_rb,0.22956e+02_rb, & & 0.23112e+02_rb,0.22443e+02_rb,0.20607e+02_rb,0.18280e+02_rb /) kao(:, 1,13,11) = (/ & & 0.13517e+02_rb,0.16914e+02_rb,0.19425e+02_rb,0.20790e+02_rb,0.21367e+02_rb, & & 0.21315e+02_rb,0.20607e+02_rb,0.18871e+02_rb,0.15967e+02_rb /) kao(:, 2,13,11) = (/ & & 0.13249e+02_rb,0.16688e+02_rb,0.19279e+02_rb,0.20693e+02_rb,0.21344e+02_rb, & & 0.21372e+02_rb,0.20725e+02_rb,0.19043e+02_rb,0.16217e+02_rb /) kao(:, 3,13,11) = (/ & & 0.12994e+02_rb,0.16467e+02_rb,0.19108e+02_rb,0.20602e+02_rb,0.21343e+02_rb, & & 0.21436e+02_rb,0.20839e+02_rb,0.19212e+02_rb,0.16494e+02_rb /) kao(:, 4,13,11) = (/ & & 0.12784e+02_rb,0.16250e+02_rb,0.18951e+02_rb,0.20506e+02_rb,0.21335e+02_rb, & & 0.21503e+02_rb,0.20961e+02_rb,0.19415e+02_rb,0.16770e+02_rb /) kao(:, 5,13,11) = (/ & & 0.12734e+02_rb,0.16049e+02_rb,0.18819e+02_rb,0.20438e+02_rb,0.21329e+02_rb, & & 0.21573e+02_rb,0.21104e+02_rb,0.19623e+02_rb,0.16983e+02_rb /) kao(:, 1, 1,12) = (/ & & 0.32549e+02_rb,0.28774e+02_rb,0.25031e+02_rb,0.22926e+02_rb,0.22117e+02_rb, & & 0.21695e+02_rb,0.23417e+02_rb,0.26761e+02_rb,0.29694e+02_rb /) kao(:, 2, 1,12) = (/ & & 0.32499e+02_rb,0.28739e+02_rb,0.25006e+02_rb,0.22835e+02_rb,0.22088e+02_rb, & & 0.21560e+02_rb,0.23253e+02_rb,0.26542e+02_rb,0.29377e+02_rb /) kao(:, 3, 1,12) = (/ & & 0.32407e+02_rb,0.28660e+02_rb,0.24923e+02_rb,0.22714e+02_rb,0.22014e+02_rb, & & 0.21461e+02_rb,0.23148e+02_rb,0.26398e+02_rb,0.29117e+02_rb /) kao(:, 4, 1,12) = (/ & & 0.32260e+02_rb,0.28512e+02_rb,0.24788e+02_rb,0.22590e+02_rb,0.21881e+02_rb, & & 0.21430e+02_rb,0.23071e+02_rb,0.26295e+02_rb,0.28961e+02_rb /) kao(:, 5, 1,12) = (/ & & 0.32039e+02_rb,0.28307e+02_rb,0.24614e+02_rb,0.22444e+02_rb,0.21715e+02_rb, & & 0.21428e+02_rb,0.22979e+02_rb,0.26201e+02_rb,0.28821e+02_rb /) kao(:, 1, 2,12) = (/ & & 0.35951e+02_rb,0.31737e+02_rb,0.27558e+02_rb,0.25749e+02_rb,0.24746e+02_rb, & & 0.23905e+02_rb,0.24887e+02_rb,0.28459e+02_rb,0.31791e+02_rb /) kao(:, 2, 2,12) = (/ & & 0.35862e+02_rb,0.31672e+02_rb,0.27501e+02_rb,0.25642e+02_rb,0.24725e+02_rb, & & 0.23810e+02_rb,0.24734e+02_rb,0.28277e+02_rb,0.31526e+02_rb /) kao(:, 3, 2,12) = (/ & & 0.35737e+02_rb,0.31562e+02_rb,0.27401e+02_rb,0.25522e+02_rb,0.24641e+02_rb, & & 0.23751e+02_rb,0.24591e+02_rb,0.28127e+02_rb,0.31321e+02_rb /) kao(:, 4, 2,12) = (/ & & 0.35534e+02_rb,0.31380e+02_rb,0.27248e+02_rb,0.25379e+02_rb,0.24498e+02_rb, & & 0.23724e+02_rb,0.24485e+02_rb,0.28006e+02_rb,0.31168e+02_rb /) kao(:, 5, 2,12) = (/ & & 0.35285e+02_rb,0.31161e+02_rb,0.27065e+02_rb,0.25222e+02_rb,0.24328e+02_rb, & & 0.23689e+02_rb,0.24406e+02_rb,0.27908e+02_rb,0.31060e+02_rb /) kao(:, 1, 3,12) = (/ & & 0.39089e+02_rb,0.34457e+02_rb,0.30041e+02_rb,0.28724e+02_rb,0.27574e+02_rb, & & 0.26213e+02_rb,0.26498e+02_rb,0.30215e+02_rb,0.33960e+02_rb /) kao(:, 2, 3,12) = (/ & & 0.38998e+02_rb,0.34382e+02_rb,0.29952e+02_rb,0.28581e+02_rb,0.27562e+02_rb, & & 0.26150e+02_rb,0.26309e+02_rb,0.29980e+02_rb,0.33662e+02_rb /) kao(:, 3, 3,12) = (/ & & 0.38820e+02_rb,0.34217e+02_rb,0.29804e+02_rb,0.28424e+02_rb,0.27473e+02_rb, & & 0.26126e+02_rb,0.26176e+02_rb,0.29817e+02_rb,0.33458e+02_rb /) kao(:, 4, 3,12) = (/ & & 0.38594e+02_rb,0.34019e+02_rb,0.29631e+02_rb,0.28264e+02_rb,0.27343e+02_rb, & & 0.26103e+02_rb,0.26063e+02_rb,0.29657e+02_rb,0.33303e+02_rb /) kao(:, 5, 3,12) = (/ & & 0.38290e+02_rb,0.33755e+02_rb,0.29411e+02_rb,0.28094e+02_rb,0.27189e+02_rb, & & 0.26048e+02_rb,0.25993e+02_rb,0.29534e+02_rb,0.33212e+02_rb /) kao(:, 1, 4,12) = (/ & & 0.41846e+02_rb,0.36848e+02_rb,0.32642e+02_rb,0.31752e+02_rb,0.30348e+02_rb, & & 0.28783e+02_rb,0.28429e+02_rb,0.31940e+02_rb,0.36003e+02_rb /) kao(:, 2, 4,12) = (/ & & 0.41706e+02_rb,0.36722e+02_rb,0.32481e+02_rb,0.31589e+02_rb,0.30346e+02_rb, & & 0.28731e+02_rb,0.28275e+02_rb,0.31704e+02_rb,0.35716e+02_rb /) kao(:, 3, 4,12) = (/ & & 0.41502e+02_rb,0.36539e+02_rb,0.32269e+02_rb,0.31417e+02_rb,0.30279e+02_rb, & & 0.28696e+02_rb,0.28151e+02_rb,0.31470e+02_rb,0.35494e+02_rb /) kao(:, 4, 4,12) = (/ & & 0.41217e+02_rb,0.36286e+02_rb,0.32033e+02_rb,0.31226e+02_rb,0.30155e+02_rb, & & 0.28647e+02_rb,0.28039e+02_rb,0.31307e+02_rb,0.35368e+02_rb /) kao(:, 5, 4,12) = (/ & & 0.40876e+02_rb,0.35985e+02_rb,0.31743e+02_rb,0.31019e+02_rb,0.30013e+02_rb, & & 0.28553e+02_rb,0.27986e+02_rb,0.31205e+02_rb,0.35294e+02_rb /) kao(:, 1, 5,12) = (/ & & 0.43995e+02_rb,0.38706e+02_rb,0.35200e+02_rb,0.34595e+02_rb,0.33005e+02_rb, & & 0.31594e+02_rb,0.30727e+02_rb,0.33547e+02_rb,0.37840e+02_rb /) kao(:, 2, 5,12) = (/ & & 0.43792e+02_rb,0.38521e+02_rb,0.34965e+02_rb,0.34413e+02_rb,0.33017e+02_rb, & & 0.31523e+02_rb,0.30579e+02_rb,0.33292e+02_rb,0.37593e+02_rb /) kao(:, 3, 5,12) = (/ & & 0.43530e+02_rb,0.38288e+02_rb,0.34710e+02_rb,0.34215e+02_rb,0.32953e+02_rb, & & 0.31452e+02_rb,0.30422e+02_rb,0.33082e+02_rb,0.37437e+02_rb /) kao(:, 4, 5,12) = (/ & & 0.43192e+02_rb,0.37991e+02_rb,0.34400e+02_rb,0.33987e+02_rb,0.32832e+02_rb, & & 0.31362e+02_rb,0.30341e+02_rb,0.32970e+02_rb,0.37357e+02_rb /) kao(:, 5, 5,12) = (/ & & 0.42817e+02_rb,0.37661e+02_rb,0.34079e+02_rb,0.33725e+02_rb,0.32688e+02_rb, & & 0.31220e+02_rb,0.30292e+02_rb,0.32861e+02_rb,0.37270e+02_rb /) kao(:, 1, 6,12) = (/ & & 0.45371e+02_rb,0.39886e+02_rb,0.37563e+02_rb,0.36985e+02_rb,0.35582e+02_rb, & & 0.34395e+02_rb,0.32997e+02_rb,0.34724e+02_rb,0.39202e+02_rb /) kao(:, 2, 6,12) = (/ & & 0.45116e+02_rb,0.39656e+02_rb,0.37269e+02_rb,0.36794e+02_rb,0.35596e+02_rb, & & 0.34289e+02_rb,0.32827e+02_rb,0.34552e+02_rb,0.39098e+02_rb /) kao(:, 3, 6,12) = (/ & & 0.44794e+02_rb,0.39373e+02_rb,0.36959e+02_rb,0.36575e+02_rb,0.35485e+02_rb, & & 0.34189e+02_rb,0.32665e+02_rb,0.34424e+02_rb,0.39024e+02_rb /) kao(:, 4, 6,12) = (/ & & 0.44425e+02_rb,0.39049e+02_rb,0.36596e+02_rb,0.36352e+02_rb,0.35337e+02_rb, & & 0.34032e+02_rb,0.32591e+02_rb,0.34348e+02_rb,0.38980e+02_rb /) kao(:, 5, 6,12) = (/ & & 0.43987e+02_rb,0.38666e+02_rb,0.36218e+02_rb,0.36087e+02_rb,0.35122e+02_rb, & & 0.33853e+02_rb,0.32536e+02_rb,0.34232e+02_rb,0.38883e+02_rb /) kao(:, 1, 7,12) = (/ & & 0.45829e+02_rb,0.40296e+02_rb,0.39507e+02_rb,0.38911e+02_rb,0.38052e+02_rb, & & 0.37051e+02_rb,0.34926e+02_rb,0.35286e+02_rb,0.39874e+02_rb /) kao(:, 2, 7,12) = (/ & & 0.45523e+02_rb,0.40015e+02_rb,0.39164e+02_rb,0.38712e+02_rb,0.37995e+02_rb, & & 0.36879e+02_rb,0.34780e+02_rb,0.35237e+02_rb,0.39916e+02_rb /) kao(:, 3, 7,12) = (/ & & 0.45143e+02_rb,0.39672e+02_rb,0.38788e+02_rb,0.38484e+02_rb,0.37843e+02_rb, & & 0.36693e+02_rb,0.34674e+02_rb,0.35202e+02_rb,0.39935e+02_rb /) kao(:, 4, 7,12) = (/ & & 0.44711e+02_rb,0.39294e+02_rb,0.38380e+02_rb,0.38261e+02_rb,0.37608e+02_rb, & & 0.36475e+02_rb,0.34639e+02_rb,0.35181e+02_rb,0.39952e+02_rb /) kao(:, 5, 7,12) = (/ & & 0.44229e+02_rb,0.38875e+02_rb,0.37956e+02_rb,0.37973e+02_rb,0.37347e+02_rb, & & 0.36293e+02_rb,0.34620e+02_rb,0.35062e+02_rb,0.39846e+02_rb /) kao(:, 1, 8,12) = (/ & & 0.45335e+02_rb,0.40267e+02_rb,0.40744e+02_rb,0.40443e+02_rb,0.40247e+02_rb, & & 0.39223e+02_rb,0.36584e+02_rb,0.35367e+02_rb,0.39844e+02_rb /) kao(:, 2, 8,12) = (/ & & 0.44955e+02_rb,0.39893e+02_rb,0.40398e+02_rb,0.40216e+02_rb,0.40115e+02_rb, & & 0.39023e+02_rb,0.36582e+02_rb,0.35440e+02_rb,0.40008e+02_rb /) kao(:, 3, 8,12) = (/ & & 0.44529e+02_rb,0.39492e+02_rb,0.39985e+02_rb,0.39979e+02_rb,0.39873e+02_rb, & & 0.38831e+02_rb,0.36587e+02_rb,0.35498e+02_rb,0.40121e+02_rb /) kao(:, 4, 8,12) = (/ & & 0.44061e+02_rb,0.39061e+02_rb,0.39564e+02_rb,0.39715e+02_rb,0.39565e+02_rb, & & 0.38623e+02_rb,0.36619e+02_rb,0.35513e+02_rb,0.40138e+02_rb /) kao(:, 5, 8,12) = (/ & & 0.43543e+02_rb,0.38605e+02_rb,0.39136e+02_rb,0.39437e+02_rb,0.39265e+02_rb, & & 0.38474e+02_rb,0.36637e+02_rb,0.35396e+02_rb,0.40011e+02_rb /) kao(:, 1, 9,12) = (/ & & 0.43909e+02_rb,0.39954e+02_rb,0.41167e+02_rb,0.41626e+02_rb,0.41945e+02_rb, & & 0.40736e+02_rb,0.38077e+02_rb,0.35393e+02_rb,0.39221e+02_rb /) kao(:, 2, 9,12) = (/ & & 0.43480e+02_rb,0.39498e+02_rb,0.40786e+02_rb,0.41338e+02_rb,0.41733e+02_rb, & & 0.40609e+02_rb,0.38181e+02_rb,0.35523e+02_rb,0.39397e+02_rb /) kao(:, 3, 9,12) = (/ & & 0.43002e+02_rb,0.39038e+02_rb,0.40373e+02_rb,0.41094e+02_rb,0.41410e+02_rb, & & 0.40471e+02_rb,0.38255e+02_rb,0.35563e+02_rb,0.39462e+02_rb /) kao(:, 4, 9,12) = (/ & & 0.42479e+02_rb,0.38560e+02_rb,0.39995e+02_rb,0.40806e+02_rb,0.41101e+02_rb, & & 0.40341e+02_rb,0.38344e+02_rb,0.35573e+02_rb,0.39457e+02_rb /) kao(:, 5, 9,12) = (/ & & 0.41942e+02_rb,0.38060e+02_rb,0.39621e+02_rb,0.40473e+02_rb,0.40785e+02_rb, & & 0.40226e+02_rb,0.38369e+02_rb,0.35494e+02_rb,0.39400e+02_rb /) kao(:, 1,10,12) = (/ & & 0.41598e+02_rb,0.39277e+02_rb,0.40964e+02_rb,0.42358e+02_rb,0.42727e+02_rb, & & 0.41605e+02_rb,0.39147e+02_rb,0.35243e+02_rb,0.37755e+02_rb /) kao(:, 2,10,12) = (/ & & 0.41110e+02_rb,0.38804e+02_rb,0.40573e+02_rb,0.42061e+02_rb,0.42547e+02_rb, & & 0.41580e+02_rb,0.39298e+02_rb,0.35367e+02_rb,0.37893e+02_rb /) kao(:, 3,10,12) = (/ & & 0.40607e+02_rb,0.38301e+02_rb,0.40218e+02_rb,0.41774e+02_rb,0.42273e+02_rb, & & 0.41520e+02_rb,0.39406e+02_rb,0.35478e+02_rb,0.38009e+02_rb /) kao(:, 4,10,12) = (/ & & 0.40087e+02_rb,0.37793e+02_rb,0.39835e+02_rb,0.41418e+02_rb,0.42009e+02_rb, & & 0.41467e+02_rb,0.39471e+02_rb,0.35532e+02_rb,0.38110e+02_rb /) kao(:, 5,10,12) = (/ & & 0.39528e+02_rb,0.37276e+02_rb,0.39445e+02_rb,0.41009e+02_rb,0.41755e+02_rb, & & 0.41409e+02_rb,0.39460e+02_rb,0.35536e+02_rb,0.38153e+02_rb /) kao(:, 1,11,12) = (/ & & 0.38423e+02_rb,0.37785e+02_rb,0.40246e+02_rb,0.42229e+02_rb,0.42700e+02_rb, & & 0.41861e+02_rb,0.39594e+02_rb,0.34991e+02_rb,0.35642e+02_rb /) kao(:, 2,11,12) = (/ & & 0.37903e+02_rb,0.37296e+02_rb,0.39841e+02_rb,0.41927e+02_rb,0.42539e+02_rb, & & 0.41882e+02_rb,0.39751e+02_rb,0.35170e+02_rb,0.35883e+02_rb /) kao(:, 3,11,12) = (/ & & 0.37383e+02_rb,0.36809e+02_rb,0.39442e+02_rb,0.41575e+02_rb,0.42342e+02_rb, & & 0.41911e+02_rb,0.39809e+02_rb,0.35335e+02_rb,0.36101e+02_rb /) kao(:, 4,11,12) = (/ & & 0.36841e+02_rb,0.36301e+02_rb,0.39055e+02_rb,0.41199e+02_rb,0.42145e+02_rb, & & 0.41876e+02_rb,0.39854e+02_rb,0.35442e+02_rb,0.36276e+02_rb /) kao(:, 5,11,12) = (/ & & 0.36274e+02_rb,0.35783e+02_rb,0.38676e+02_rb,0.40833e+02_rb,0.41945e+02_rb, & & 0.41808e+02_rb,0.39839e+02_rb,0.35539e+02_rb,0.36455e+02_rb /) kao(:, 1,12,12) = (/ & & 0.34828e+02_rb,0.35770e+02_rb,0.39099e+02_rb,0.41221e+02_rb,0.41958e+02_rb, & & 0.41456e+02_rb,0.39253e+02_rb,0.34461e+02_rb,0.33246e+02_rb /) kao(:, 2,12,12) = (/ & & 0.34304e+02_rb,0.35295e+02_rb,0.38700e+02_rb,0.40987e+02_rb,0.41846e+02_rb, & & 0.41525e+02_rb,0.39359e+02_rb,0.34698e+02_rb,0.33560e+02_rb /) kao(:, 3,12,12) = (/ & & 0.33784e+02_rb,0.34798e+02_rb,0.38311e+02_rb,0.40707e+02_rb,0.41743e+02_rb, & & 0.41505e+02_rb,0.39465e+02_rb,0.34925e+02_rb,0.33882e+02_rb /) kao(:, 4,12,12) = (/ & & 0.33241e+02_rb,0.34324e+02_rb,0.37917e+02_rb,0.40393e+02_rb,0.41632e+02_rb, & & 0.41461e+02_rb,0.39554e+02_rb,0.35117e+02_rb,0.34172e+02_rb /) kao(:, 5,12,12) = (/ & & 0.32710e+02_rb,0.33867e+02_rb,0.37489e+02_rb,0.40112e+02_rb,0.41490e+02_rb, & & 0.41392e+02_rb,0.39590e+02_rb,0.35312e+02_rb,0.34501e+02_rb /) kao(:, 1,13,12) = (/ & & 0.30997e+02_rb,0.33431e+02_rb,0.37385e+02_rb,0.39653e+02_rb,0.40610e+02_rb, & & 0.40222e+02_rb,0.38101e+02_rb,0.33638e+02_rb,0.30845e+02_rb /) kao(:, 2,13,12) = (/ & & 0.30492e+02_rb,0.32952e+02_rb,0.37042e+02_rb,0.39451e+02_rb,0.40583e+02_rb, & & 0.40257e+02_rb,0.38272e+02_rb,0.33940e+02_rb,0.31245e+02_rb /) kao(:, 3,13,12) = (/ & & 0.29985e+02_rb,0.32520e+02_rb,0.36699e+02_rb,0.39235e+02_rb,0.40521e+02_rb, & & 0.40274e+02_rb,0.38447e+02_rb,0.34242e+02_rb,0.31622e+02_rb /) kao(:, 4,13,12) = (/ & & 0.29485e+02_rb,0.32102e+02_rb,0.36327e+02_rb,0.39047e+02_rb,0.40416e+02_rb, & & 0.40299e+02_rb,0.38596e+02_rb,0.34522e+02_rb,0.32000e+02_rb /) kao(:, 5,13,12) = (/ & & 0.29016e+02_rb,0.31685e+02_rb,0.35962e+02_rb,0.38852e+02_rb,0.40311e+02_rb, & & 0.40331e+02_rb,0.38749e+02_rb,0.34802e+02_rb,0.32433e+02_rb /) kao(:, 1, 1,13) = (/ & & 0.40414e+02_rb,0.35530e+02_rb,0.30727e+02_rb,0.26813e+02_rb,0.26498e+02_rb, & & 0.27724e+02_rb,0.32451e+02_rb,0.37296e+02_rb,0.40920e+02_rb /) kao(:, 2, 1,13) = (/ & & 0.40378e+02_rb,0.35506e+02_rb,0.30718e+02_rb,0.26787e+02_rb,0.26360e+02_rb, & & 0.27557e+02_rb,0.32109e+02_rb,0.36904e+02_rb,0.40512e+02_rb /) kao(:, 3, 1,13) = (/ & & 0.40288e+02_rb,0.35435e+02_rb,0.30689e+02_rb,0.26758e+02_rb,0.26294e+02_rb, & & 0.27365e+02_rb,0.31721e+02_rb,0.36448e+02_rb,0.40077e+02_rb /) kao(:, 4, 1,13) = (/ & & 0.40152e+02_rb,0.35337e+02_rb,0.30607e+02_rb,0.26666e+02_rb,0.26235e+02_rb, & & 0.27137e+02_rb,0.31350e+02_rb,0.36026e+02_rb,0.39605e+02_rb /) kao(:, 5, 1,13) = (/ & & 0.39996e+02_rb,0.35209e+02_rb,0.30500e+02_rb,0.26544e+02_rb,0.26176e+02_rb, & & 0.26906e+02_rb,0.31054e+02_rb,0.35676e+02_rb,0.39227e+02_rb /) kao(:, 1, 2,13) = (/ & & 0.46201e+02_rb,0.40631e+02_rb,0.35149e+02_rb,0.31004e+02_rb,0.30338e+02_rb, & & 0.30975e+02_rb,0.35648e+02_rb,0.41032e+02_rb,0.45728e+02_rb /) kao(:, 2, 2,13) = (/ & & 0.46189e+02_rb,0.40616e+02_rb,0.35151e+02_rb,0.30920e+02_rb,0.30181e+02_rb, & & 0.30854e+02_rb,0.35321e+02_rb,0.40601e+02_rb,0.45258e+02_rb /) kao(:, 3, 2,13) = (/ & & 0.46107e+02_rb,0.40548e+02_rb,0.35109e+02_rb,0.30814e+02_rb,0.30060e+02_rb, & & 0.30665e+02_rb,0.34964e+02_rb,0.40159e+02_rb,0.44756e+02_rb /) kao(:, 4, 2,13) = (/ & & 0.45964e+02_rb,0.40421e+02_rb,0.35002e+02_rb,0.30664e+02_rb,0.29967e+02_rb, & & 0.30436e+02_rb,0.34636e+02_rb,0.39757e+02_rb,0.44299e+02_rb /) kao(:, 5, 2,13) = (/ & & 0.45779e+02_rb,0.40257e+02_rb,0.34861e+02_rb,0.30500e+02_rb,0.29866e+02_rb, & & 0.30215e+02_rb,0.34343e+02_rb,0.39421e+02_rb,0.43898e+02_rb /) kao(:, 1, 3,13) = (/ & & 0.52493e+02_rb,0.46184e+02_rb,0.39933e+02_rb,0.35707e+02_rb,0.34547e+02_rb, & & 0.34524e+02_rb,0.38680e+02_rb,0.44581e+02_rb,0.50362e+02_rb /) kao(:, 2, 3,13) = (/ & & 0.52499e+02_rb,0.46190e+02_rb,0.39958e+02_rb,0.35613e+02_rb,0.34342e+02_rb, & & 0.34438e+02_rb,0.38422e+02_rb,0.44213e+02_rb,0.49916e+02_rb /) kao(:, 3, 3,13) = (/ & & 0.52430e+02_rb,0.46141e+02_rb,0.39924e+02_rb,0.35477e+02_rb,0.34202e+02_rb, & & 0.34294e+02_rb,0.38128e+02_rb,0.43804e+02_rb,0.49438e+02_rb /) kao(:, 4, 3,13) = (/ & & 0.52296e+02_rb,0.46021e+02_rb,0.39821e+02_rb,0.35288e+02_rb,0.34063e+02_rb, & & 0.34077e+02_rb,0.37857e+02_rb,0.43466e+02_rb,0.49020e+02_rb /) kao(:, 5, 3,13) = (/ & & 0.52087e+02_rb,0.45828e+02_rb,0.39654e+02_rb,0.35060e+02_rb,0.33889e+02_rb, & & 0.33876e+02_rb,0.37613e+02_rb,0.43182e+02_rb,0.48640e+02_rb /) kao(:, 1, 4,13) = (/ & & 0.58998e+02_rb,0.51894e+02_rb,0.44809e+02_rb,0.40767e+02_rb,0.39196e+02_rb, & & 0.38349e+02_rb,0.41490e+02_rb,0.47820e+02_rb,0.54353e+02_rb /) kao(:, 2, 4,13) = (/ & & 0.58998e+02_rb,0.51911e+02_rb,0.44850e+02_rb,0.40692e+02_rb,0.38973e+02_rb, & & 0.38281e+02_rb,0.41275e+02_rb,0.47479e+02_rb,0.53941e+02_rb /) kao(:, 3, 4,13) = (/ & & 0.58946e+02_rb,0.51872e+02_rb,0.44826e+02_rb,0.40545e+02_rb,0.38818e+02_rb, & & 0.38152e+02_rb,0.41007e+02_rb,0.47151e+02_rb,0.53507e+02_rb /) kao(:, 4, 4,13) = (/ & & 0.58797e+02_rb,0.51741e+02_rb,0.44719e+02_rb,0.40328e+02_rb,0.38647e+02_rb, & & 0.37950e+02_rb,0.40768e+02_rb,0.46871e+02_rb,0.53108e+02_rb /) kao(:, 5, 4,13) = (/ & & 0.58578e+02_rb,0.51549e+02_rb,0.44555e+02_rb,0.40074e+02_rb,0.38419e+02_rb, & & 0.37769e+02_rb,0.40542e+02_rb,0.46625e+02_rb,0.52790e+02_rb /) kao(:, 1, 5,13) = (/ & & 0.65454e+02_rb,0.57537e+02_rb,0.49631e+02_rb,0.46171e+02_rb,0.44093e+02_rb, & & 0.42375e+02_rb,0.44216e+02_rb,0.50929e+02_rb,0.58021e+02_rb /) kao(:, 2, 5,13) = (/ & & 0.65480e+02_rb,0.57591e+02_rb,0.49679e+02_rb,0.46047e+02_rb,0.43916e+02_rb, & & 0.42317e+02_rb,0.44023e+02_rb,0.50643e+02_rb,0.57621e+02_rb /) kao(:, 3, 5,13) = (/ & & 0.65404e+02_rb,0.57534e+02_rb,0.49633e+02_rb,0.45875e+02_rb,0.43765e+02_rb, & & 0.42200e+02_rb,0.43791e+02_rb,0.50364e+02_rb,0.57215e+02_rb /) kao(:, 4, 5,13) = (/ & & 0.65236e+02_rb,0.57393e+02_rb,0.49518e+02_rb,0.45648e+02_rb,0.43596e+02_rb, & & 0.42013e+02_rb,0.43533e+02_rb,0.50076e+02_rb,0.56838e+02_rb /) kao(:, 5, 5,13) = (/ & & 0.64960e+02_rb,0.57155e+02_rb,0.49326e+02_rb,0.45390e+02_rb,0.43392e+02_rb, & & 0.41855e+02_rb,0.43285e+02_rb,0.49832e+02_rb,0.56537e+02_rb /) kao(:, 1, 6,13) = (/ & & 0.71553e+02_rb,0.62830e+02_rb,0.54580e+02_rb,0.51897e+02_rb,0.49249e+02_rb, & & 0.46670e+02_rb,0.47221e+02_rb,0.54164e+02_rb,0.61741e+02_rb /) kao(:, 2, 6,13) = (/ & & 0.71559e+02_rb,0.62858e+02_rb,0.54547e+02_rb,0.51727e+02_rb,0.49114e+02_rb, & & 0.46626e+02_rb,0.47093e+02_rb,0.53907e+02_rb,0.61336e+02_rb /) kao(:, 3, 6,13) = (/ & & 0.71474e+02_rb,0.62796e+02_rb,0.54422e+02_rb,0.51491e+02_rb,0.49001e+02_rb, & & 0.46518e+02_rb,0.46873e+02_rb,0.53599e+02_rb,0.60908e+02_rb /) kao(:, 4, 6,13) = (/ & & 0.71253e+02_rb,0.62620e+02_rb,0.54248e+02_rb,0.51208e+02_rb,0.48873e+02_rb, & & 0.46377e+02_rb,0.46595e+02_rb,0.53243e+02_rb,0.60469e+02_rb /) kao(:, 5, 6,13) = (/ & & 0.70931e+02_rb,0.62354e+02_rb,0.53993e+02_rb,0.50888e+02_rb,0.48719e+02_rb, & & 0.46222e+02_rb,0.46318e+02_rb,0.52946e+02_rb,0.60113e+02_rb /) kao(:, 1, 7,13) = (/ & & 0.76995e+02_rb,0.67566e+02_rb,0.59542e+02_rb,0.57607e+02_rb,0.54461e+02_rb, & & 0.51316e+02_rb,0.50984e+02_rb,0.57643e+02_rb,0.65674e+02_rb /) kao(:, 2, 7,13) = (/ & & 0.76958e+02_rb,0.67548e+02_rb,0.59397e+02_rb,0.57376e+02_rb,0.54369e+02_rb, & & 0.51326e+02_rb,0.50889e+02_rb,0.57330e+02_rb,0.65196e+02_rb /) kao(:, 3, 7,13) = (/ & & 0.76815e+02_rb,0.67433e+02_rb,0.59207e+02_rb,0.57127e+02_rb,0.54289e+02_rb, & & 0.51287e+02_rb,0.50622e+02_rb,0.56904e+02_rb,0.64662e+02_rb /) kao(:, 4, 7,13) = (/ & & 0.76535e+02_rb,0.67198e+02_rb,0.58948e+02_rb,0.56779e+02_rb,0.54224e+02_rb, & & 0.51158e+02_rb,0.50286e+02_rb,0.56459e+02_rb,0.64124e+02_rb /) kao(:, 5, 7,13) = (/ & & 0.76156e+02_rb,0.66876e+02_rb,0.58634e+02_rb,0.56401e+02_rb,0.54096e+02_rb, & & 0.50976e+02_rb,0.49973e+02_rb,0.56129e+02_rb,0.63785e+02_rb /) kao(:, 1, 8,13) = (/ & & 0.81421e+02_rb,0.71418e+02_rb,0.64455e+02_rb,0.62977e+02_rb,0.59643e+02_rb, & & 0.56434e+02_rb,0.55164e+02_rb,0.60758e+02_rb,0.69127e+02_rb /) kao(:, 2, 8,13) = (/ & & 0.81348e+02_rb,0.71366e+02_rb,0.64215e+02_rb,0.62779e+02_rb,0.59582e+02_rb, & & 0.56462e+02_rb,0.55001e+02_rb,0.60346e+02_rb,0.68584e+02_rb /) kao(:, 3, 8,13) = (/ & & 0.81121e+02_rb,0.71177e+02_rb,0.63909e+02_rb,0.62467e+02_rb,0.59508e+02_rb, & & 0.56437e+02_rb,0.54668e+02_rb,0.59898e+02_rb,0.68043e+02_rb /) kao(:, 4, 8,13) = (/ & & 0.80795e+02_rb,0.70901e+02_rb,0.63558e+02_rb,0.62070e+02_rb,0.59450e+02_rb, & & 0.56283e+02_rb,0.54317e+02_rb,0.59470e+02_rb,0.67583e+02_rb /) kao(:, 5, 8,13) = (/ & & 0.80315e+02_rb,0.70489e+02_rb,0.63126e+02_rb,0.61649e+02_rb,0.59298e+02_rb, & & 0.56050e+02_rb,0.54007e+02_rb,0.59179e+02_rb,0.67330e+02_rb /) kao(:, 1, 9,13) = (/ & & 0.84526e+02_rb,0.74114e+02_rb,0.69139e+02_rb,0.67766e+02_rb,0.64700e+02_rb, & & 0.61791e+02_rb,0.59295e+02_rb,0.62885e+02_rb,0.71468e+02_rb /) kao(:, 2, 9,13) = (/ & & 0.84370e+02_rb,0.73989e+02_rb,0.68856e+02_rb,0.67565e+02_rb,0.64593e+02_rb, & & 0.61811e+02_rb,0.59181e+02_rb,0.62666e+02_rb,0.71181e+02_rb /) kao(:, 3, 9,13) = (/ & & 0.84053e+02_rb,0.73721e+02_rb,0.68457e+02_rb,0.67233e+02_rb,0.64524e+02_rb, & & 0.61778e+02_rb,0.58870e+02_rb,0.62384e+02_rb,0.70849e+02_rb /) kao(:, 4, 9,13) = (/ & & 0.83638e+02_rb,0.73367e+02_rb,0.67980e+02_rb,0.66820e+02_rb,0.64408e+02_rb, & & 0.61582e+02_rb,0.58561e+02_rb,0.62049e+02_rb,0.70550e+02_rb /) kao(:, 5, 9,13) = (/ & & 0.83125e+02_rb,0.72897e+02_rb,0.67415e+02_rb,0.66418e+02_rb,0.64238e+02_rb, & & 0.61304e+02_rb,0.58306e+02_rb,0.61805e+02_rb,0.70366e+02_rb /) kao(:, 1,10,13) = (/ & & 0.86099e+02_rb,0.75664e+02_rb,0.73052e+02_rb,0.71784e+02_rb,0.69581e+02_rb, & & 0.67013e+02_rb,0.63079e+02_rb,0.64019e+02_rb,0.72668e+02_rb /) kao(:, 2,10,13) = (/ & & 0.85793e+02_rb,0.75364e+02_rb,0.72621e+02_rb,0.71506e+02_rb,0.69364e+02_rb, & & 0.66992e+02_rb,0.63098e+02_rb,0.64105e+02_rb,0.72738e+02_rb /) kao(:, 3,10,13) = (/ & & 0.85391e+02_rb,0.74983e+02_rb,0.72119e+02_rb,0.71136e+02_rb,0.69201e+02_rb, & & 0.66897e+02_rb,0.62939e+02_rb,0.63964e+02_rb,0.72620e+02_rb /) kao(:, 4,10,13) = (/ & & 0.84829e+02_rb,0.74472e+02_rb,0.71563e+02_rb,0.70768e+02_rb,0.69027e+02_rb, & & 0.66600e+02_rb,0.62760e+02_rb,0.63750e+02_rb,0.72497e+02_rb /) kao(:, 5,10,13) = (/ & & 0.84210e+02_rb,0.73923e+02_rb,0.70963e+02_rb,0.70409e+02_rb,0.68788e+02_rb, & & 0.66285e+02_rb,0.62604e+02_rb,0.63643e+02_rb,0.72460e+02_rb /) kao(:, 1,11,13) = (/ & & 0.85661e+02_rb,0.75976e+02_rb,0.75616e+02_rb,0.74895e+02_rb,0.73796e+02_rb, & & 0.71450e+02_rb,0.66595e+02_rb,0.64723e+02_rb,0.72988e+02_rb /) kao(:, 2,11,13) = (/ & & 0.85212e+02_rb,0.75487e+02_rb,0.75133e+02_rb,0.74528e+02_rb,0.73552e+02_rb, & & 0.71413e+02_rb,0.66688e+02_rb,0.64835e+02_rb,0.73147e+02_rb /) kao(:, 3,11,13) = (/ & & 0.84633e+02_rb,0.74907e+02_rb,0.74581e+02_rb,0.74183e+02_rb,0.73356e+02_rb, & & 0.71194e+02_rb,0.66687e+02_rb,0.64831e+02_rb,0.73292e+02_rb /) kao(:, 4,11,13) = (/ & & 0.83975e+02_rb,0.74286e+02_rb,0.73943e+02_rb,0.73830e+02_rb,0.73088e+02_rb, & & 0.70916e+02_rb,0.66610e+02_rb,0.64920e+02_rb,0.73470e+02_rb /) kao(:, 5,11,13) = (/ & & 0.83246e+02_rb,0.73605e+02_rb,0.73209e+02_rb,0.73386e+02_rb,0.72735e+02_rb, & & 0.70587e+02_rb,0.66523e+02_rb,0.64950e+02_rb,0.73537e+02_rb /) kao(:, 1,12,13) = (/ & & 0.83352e+02_rb,0.75282e+02_rb,0.76925e+02_rb,0.77365e+02_rb,0.77206e+02_rb, & & 0.74850e+02_rb,0.69716e+02_rb,0.65048e+02_rb,0.72181e+02_rb /) kao(:, 2,12,13) = (/ & & 0.82736e+02_rb,0.74597e+02_rb,0.76403e+02_rb,0.76949e+02_rb,0.76971e+02_rb, & & 0.74863e+02_rb,0.69929e+02_rb,0.65330e+02_rb,0.72664e+02_rb /) kao(:, 3,12,13) = (/ & & 0.82054e+02_rb,0.73916e+02_rb,0.75743e+02_rb,0.76528e+02_rb,0.76666e+02_rb, & & 0.74738e+02_rb,0.70022e+02_rb,0.65629e+02_rb,0.73075e+02_rb /) kao(:, 4,12,13) = (/ & & 0.81316e+02_rb,0.73173e+02_rb,0.75030e+02_rb,0.76061e+02_rb,0.76286e+02_rb, & & 0.74512e+02_rb,0.70083e+02_rb,0.65825e+02_rb,0.73345e+02_rb /) kao(:, 5,12,13) = (/ & & 0.80516e+02_rb,0.72378e+02_rb,0.74331e+02_rb,0.75554e+02_rb,0.75785e+02_rb, & & 0.74233e+02_rb,0.70124e+02_rb,0.65929e+02_rb,0.73501e+02_rb /) kao(:, 1,13,13) = (/ & & 0.79408e+02_rb,0.73858e+02_rb,0.76980e+02_rb,0.78869e+02_rb,0.79397e+02_rb, & & 0.77263e+02_rb,0.72263e+02_rb,0.65338e+02_rb,0.70604e+02_rb /) kao(:, 2,13,13) = (/ & & 0.78716e+02_rb,0.73093e+02_rb,0.76326e+02_rb,0.78426e+02_rb,0.79146e+02_rb, & & 0.77408e+02_rb,0.72561e+02_rb,0.65807e+02_rb,0.71230e+02_rb /) kao(:, 3,13,13) = (/ & & 0.77962e+02_rb,0.72251e+02_rb,0.75686e+02_rb,0.77926e+02_rb,0.78867e+02_rb, & & 0.77356e+02_rb,0.72810e+02_rb,0.66137e+02_rb,0.71698e+02_rb /) kao(:, 4,13,13) = (/ & & 0.77177e+02_rb,0.71385e+02_rb,0.75042e+02_rb,0.77408e+02_rb,0.78464e+02_rb, & & 0.77172e+02_rb,0.73006e+02_rb,0.66333e+02_rb,0.72067e+02_rb /) kao(:, 5,13,13) = (/ & & 0.76340e+02_rb,0.70519e+02_rb,0.74355e+02_rb,0.76889e+02_rb,0.78015e+02_rb, & & 0.76988e+02_rb,0.73079e+02_rb,0.66485e+02_rb,0.72407e+02_rb /) kao(:, 1, 1,14) = (/ & & 0.51404e+02_rb,0.45212e+02_rb,0.39078e+02_rb,0.32978e+02_rb,0.31213e+02_rb, & & 0.35689e+02_rb,0.42239e+02_rb,0.49109e+02_rb,0.53555e+02_rb /) kao(:, 2, 1,14) = (/ & & 0.51456e+02_rb,0.45263e+02_rb,0.39085e+02_rb,0.32975e+02_rb,0.31034e+02_rb, & & 0.35237e+02_rb,0.41756e+02_rb,0.48531e+02_rb,0.52877e+02_rb /) kao(:, 3, 1,14) = (/ & & 0.51419e+02_rb,0.45226e+02_rb,0.39013e+02_rb,0.32932e+02_rb,0.30826e+02_rb, & & 0.34871e+02_rb,0.41372e+02_rb,0.48070e+02_rb,0.52319e+02_rb /) kao(:, 4, 1,14) = (/ & & 0.51315e+02_rb,0.45122e+02_rb,0.38925e+02_rb,0.32886e+02_rb,0.30643e+02_rb, & & 0.34565e+02_rb,0.41054e+02_rb,0.47690e+02_rb,0.51853e+02_rb /) kao(:, 5, 1,14) = (/ & & 0.51134e+02_rb,0.44958e+02_rb,0.38787e+02_rb,0.32819e+02_rb,0.30476e+02_rb, & & 0.34330e+02_rb,0.40799e+02_rb,0.47384e+02_rb,0.51513e+02_rb /) kao(:, 1, 2,14) = (/ & & 0.59575e+02_rb,0.52343e+02_rb,0.45168e+02_rb,0.38156e+02_rb,0.36549e+02_rb, & & 0.40798e+02_rb,0.48433e+02_rb,0.56320e+02_rb,0.62499e+02_rb /) kao(:, 2, 2,14) = (/ & & 0.59656e+02_rb,0.52415e+02_rb,0.45196e+02_rb,0.38159e+02_rb,0.36356e+02_rb, & & 0.40232e+02_rb,0.47806e+02_rb,0.55603e+02_rb,0.61692e+02_rb /) kao(:, 3, 2,14) = (/ & & 0.59635e+02_rb,0.52395e+02_rb,0.45146e+02_rb,0.38116e+02_rb,0.36139e+02_rb, & & 0.39805e+02_rb,0.47339e+02_rb,0.55046e+02_rb,0.61068e+02_rb /) kao(:, 4, 2,14) = (/ & & 0.59522e+02_rb,0.52285e+02_rb,0.45051e+02_rb,0.38066e+02_rb,0.35889e+02_rb, & & 0.39470e+02_rb,0.46981e+02_rb,0.54621e+02_rb,0.60592e+02_rb /) kao(:, 5, 2,14) = (/ & & 0.59307e+02_rb,0.52094e+02_rb,0.44889e+02_rb,0.37960e+02_rb,0.35677e+02_rb, & & 0.39216e+02_rb,0.46687e+02_rb,0.54268e+02_rb,0.60193e+02_rb /) kao(:, 1, 3,14) = (/ & & 0.68809e+02_rb,0.60397e+02_rb,0.52025e+02_rb,0.44161e+02_rb,0.42701e+02_rb, & & 0.46667e+02_rb,0.55520e+02_rb,0.64493e+02_rb,0.72669e+02_rb /) kao(:, 2, 3,14) = (/ & & 0.68924e+02_rb,0.60499e+02_rb,0.52098e+02_rb,0.44133e+02_rb,0.42521e+02_rb, & & 0.45966e+02_rb,0.54732e+02_rb,0.63594e+02_rb,0.71705e+02_rb /) kao(:, 3, 3,14) = (/ & & 0.68950e+02_rb,0.60531e+02_rb,0.52101e+02_rb,0.44100e+02_rb,0.42285e+02_rb, & & 0.45418e+02_rb,0.54095e+02_rb,0.62883e+02_rb,0.70919e+02_rb /) kao(:, 4, 3,14) = (/ & & 0.68857e+02_rb,0.60434e+02_rb,0.52014e+02_rb,0.44041e+02_rb,0.42031e+02_rb, & & 0.45005e+02_rb,0.53564e+02_rb,0.62291e+02_rb,0.70247e+02_rb /) kao(:, 5, 3,14) = (/ & & 0.68666e+02_rb,0.60265e+02_rb,0.51871e+02_rb,0.43942e+02_rb,0.41842e+02_rb, & & 0.44690e+02_rb,0.53134e+02_rb,0.61806e+02_rb,0.69686e+02_rb /) kao(:, 1, 4,14) = (/ & & 0.79311e+02_rb,0.69561e+02_rb,0.59881e+02_rb,0.51276e+02_rb,0.49761e+02_rb, & & 0.53193e+02_rb,0.63396e+02_rb,0.73656e+02_rb,0.83652e+02_rb /) kao(:, 2, 4,14) = (/ & & 0.79511e+02_rb,0.69736e+02_rb,0.60019e+02_rb,0.51173e+02_rb,0.49594e+02_rb, & & 0.52466e+02_rb,0.62461e+02_rb,0.72578e+02_rb,0.82426e+02_rb /) kao(:, 3, 4,14) = (/ & & 0.79562e+02_rb,0.69789e+02_rb,0.60043e+02_rb,0.51075e+02_rb,0.49346e+02_rb, & & 0.51847e+02_rb,0.61639e+02_rb,0.71632e+02_rb,0.81369e+02_rb /) kao(:, 4, 4,14) = (/ & & 0.79512e+02_rb,0.69733e+02_rb,0.59989e+02_rb,0.50979e+02_rb,0.49088e+02_rb, & & 0.51360e+02_rb,0.60947e+02_rb,0.70836e+02_rb,0.80468e+02_rb /) kao(:, 5, 4,14) = (/ & & 0.79325e+02_rb,0.69569e+02_rb,0.59854e+02_rb,0.50871e+02_rb,0.48882e+02_rb, & & 0.50991e+02_rb,0.60362e+02_rb,0.70161e+02_rb,0.79701e+02_rb /) kao(:, 1, 5,14) = (/ & & 0.91112e+02_rb,0.79892e+02_rb,0.68781e+02_rb,0.59496e+02_rb,0.57988e+02_rb, & & 0.60415e+02_rb,0.71595e+02_rb,0.83227e+02_rb,0.94854e+02_rb /) kao(:, 2, 5,14) = (/ & & 0.91447e+02_rb,0.80173e+02_rb,0.69023e+02_rb,0.59416e+02_rb,0.57743e+02_rb, & & 0.59673e+02_rb,0.70483e+02_rb,0.81942e+02_rb,0.93394e+02_rb /) kao(:, 3, 5,14) = (/ & & 0.91583e+02_rb,0.80288e+02_rb,0.69106e+02_rb,0.59276e+02_rb,0.57416e+02_rb, & & 0.59035e+02_rb,0.69528e+02_rb,0.80829e+02_rb,0.92131e+02_rb /) kao(:, 4, 5,14) = (/ & & 0.91566e+02_rb,0.80257e+02_rb,0.69073e+02_rb,0.59136e+02_rb,0.57092e+02_rb, & & 0.58527e+02_rb,0.68724e+02_rb,0.79885e+02_rb,0.91053e+02_rb /) kao(:, 5, 5,14) = (/ & & 0.91390e+02_rb,0.80104e+02_rb,0.68937e+02_rb,0.58973e+02_rb,0.56776e+02_rb, & & 0.58107e+02_rb,0.68079e+02_rb,0.79072e+02_rb,0.90122e+02_rb /) kao(:, 1, 6,14) = (/ & & 0.10419e+03_rb,0.91394e+02_rb,0.78656e+02_rb,0.68916e+02_rb,0.67128e+02_rb, & & 0.68461e+02_rb,0.79894e+02_rb,0.92926e+02_rb,0.10607e+03_rb /) kao(:, 2, 6,14) = (/ & & 0.10463e+03_rb,0.91782e+02_rb,0.79002e+02_rb,0.68819e+02_rb,0.66845e+02_rb, & & 0.67738e+02_rb,0.78628e+02_rb,0.91458e+02_rb,0.10440e+03_rb /) kao(:, 3, 6,14) = (/ & & 0.10486e+03_rb,0.91970e+02_rb,0.79156e+02_rb,0.68698e+02_rb,0.66470e+02_rb, & & 0.67066e+02_rb,0.77628e+02_rb,0.90242e+02_rb,0.10302e+03_rb /) kao(:, 4, 6,14) = (/ & & 0.10494e+03_rb,0.92025e+02_rb,0.79207e+02_rb,0.68555e+02_rb,0.66081e+02_rb, & & 0.66543e+02_rb,0.76843e+02_rb,0.89253e+02_rb,0.10189e+03_rb /) kao(:, 5, 6,14) = (/ & & 0.10481e+03_rb,0.91892e+02_rb,0.79105e+02_rb,0.68344e+02_rb,0.65668e+02_rb, & & 0.66109e+02_rb,0.76190e+02_rb,0.88386e+02_rb,0.10090e+03_rb /) kao(:, 1, 7,14) = (/ & & 0.11850e+03_rb,0.10394e+03_rb,0.89423e+02_rb,0.79509e+02_rb,0.77207e+02_rb, & & 0.77196e+02_rb,0.87943e+02_rb,0.10236e+03_rb,0.11694e+03_rb /) kao(:, 2, 7,14) = (/ & & 0.11905e+03_rb,0.10443e+03_rb,0.89864e+02_rb,0.79528e+02_rb,0.76905e+02_rb, & & 0.76494e+02_rb,0.86650e+02_rb,0.10078e+03_rb,0.11515e+03_rb /) kao(:, 3, 7,14) = (/ & & 0.11939e+03_rb,0.10473e+03_rb,0.90115e+02_rb,0.79401e+02_rb,0.76523e+02_rb, & & 0.75853e+02_rb,0.85715e+02_rb,0.99595e+02_rb,0.11380e+03_rb /) kao(:, 4, 7,14) = (/ & & 0.11951e+03_rb,0.10484e+03_rb,0.90222e+02_rb,0.79220e+02_rb,0.76090e+02_rb, & & 0.75405e+02_rb,0.85022e+02_rb,0.98653e+02_rb,0.11271e+03_rb /) kao(:, 5, 7,14) = (/ & & 0.11942e+03_rb,0.10476e+03_rb,0.90169e+02_rb,0.78976e+02_rb,0.75607e+02_rb, & & 0.75018e+02_rb,0.84352e+02_rb,0.97783e+02_rb,0.11167e+03_rb /) kao(:, 1, 8,14) = (/ & & 0.13381e+03_rb,0.11735e+03_rb,0.10095e+03_rb,0.91226e+02_rb,0.88188e+02_rb, & & 0.86379e+02_rb,0.95828e+02_rb,0.11155e+03_rb,0.12755e+03_rb /) kao(:, 2, 8,14) = (/ & & 0.13446e+03_rb,0.11794e+03_rb,0.10145e+03_rb,0.91271e+02_rb,0.87947e+02_rb, & & 0.85766e+02_rb,0.94652e+02_rb,0.11006e+03_rb,0.12583e+03_rb /) kao(:, 3, 8,14) = (/ & & 0.13492e+03_rb,0.11834e+03_rb,0.10180e+03_rb,0.91233e+02_rb,0.87619e+02_rb, & & 0.85228e+02_rb,0.93811e+02_rb,0.10892e+03_rb,0.12452e+03_rb /) kao(:, 4, 8,14) = (/ & & 0.13505e+03_rb,0.11846e+03_rb,0.10192e+03_rb,0.91090e+02_rb,0.87150e+02_rb, & & 0.84887e+02_rb,0.93111e+02_rb,0.10797e+03_rb,0.12337e+03_rb /) kao(:, 5, 8,14) = (/ & & 0.13500e+03_rb,0.11844e+03_rb,0.10192e+03_rb,0.90797e+02_rb,0.86626e+02_rb, & & 0.84570e+02_rb,0.92421e+02_rb,0.10710e+03_rb,0.12226e+03_rb /) kao(:, 1, 9,14) = (/ & & 0.14952e+03_rb,0.13110e+03_rb,0.11316e+03_rb,0.10410e+03_rb,0.99927e+02_rb, & & 0.96074e+02_rb,0.10374e+03_rb,0.12067e+03_rb,0.13801e+03_rb /) kao(:, 2, 9,14) = (/ & & 0.15028e+03_rb,0.13179e+03_rb,0.11360e+03_rb,0.10415e+03_rb,0.99870e+02_rb, & & 0.95589e+02_rb,0.10257e+03_rb,0.11912e+03_rb,0.13623e+03_rb /) kao(:, 3, 9,14) = (/ & & 0.15082e+03_rb,0.13227e+03_rb,0.11392e+03_rb,0.10405e+03_rb,0.99571e+02_rb, & & 0.95189e+02_rb,0.10182e+03_rb,0.11803e+03_rb,0.13496e+03_rb /) kao(:, 4, 9,14) = (/ & & 0.15103e+03_rb,0.13247e+03_rb,0.11403e+03_rb,0.10385e+03_rb,0.99126e+02_rb, & & 0.94980e+02_rb,0.10122e+03_rb,0.11720e+03_rb,0.13388e+03_rb /) kao(:, 5, 9,14) = (/ & & 0.15094e+03_rb,0.13245e+03_rb,0.11401e+03_rb,0.10348e+03_rb,0.98550e+02_rb, & & 0.94746e+02_rb,0.10055e+03_rb,0.11636e+03_rb,0.13276e+03_rb /) kao(:, 1,10,14) = (/ & & 0.16524e+03_rb,0.14486e+03_rb,0.12594e+03_rb,0.11785e+03_rb,0.11225e+03_rb, & & 0.10654e+03_rb,0.11202e+03_rb,0.12965e+03_rb,0.14829e+03_rb /) kao(:, 2,10,14) = (/ & & 0.16610e+03_rb,0.14564e+03_rb,0.12636e+03_rb,0.11787e+03_rb,0.11233e+03_rb, & & 0.10630e+03_rb,0.11093e+03_rb,0.12811e+03_rb,0.14653e+03_rb /) kao(:, 3,10,14) = (/ & & 0.16659e+03_rb,0.14608e+03_rb,0.12656e+03_rb,0.11769e+03_rb,0.11214e+03_rb, & & 0.10609e+03_rb,0.11032e+03_rb,0.12713e+03_rb,0.14532e+03_rb /) kao(:, 4,10,14) = (/ & & 0.16681e+03_rb,0.14630e+03_rb,0.12659e+03_rb,0.11736e+03_rb,0.11169e+03_rb, & & 0.10597e+03_rb,0.10973e+03_rb,0.12629e+03_rb,0.14416e+03_rb /) kao(:, 5,10,14) = (/ & & 0.16671e+03_rb,0.14623e+03_rb,0.12639e+03_rb,0.11688e+03_rb,0.11111e+03_rb, & & 0.10576e+03_rb,0.10909e+03_rb,0.12542e+03_rb,0.14303e+03_rb /) kao(:, 1,11,14) = (/ & & 0.18065e+03_rb,0.15832e+03_rb,0.13903e+03_rb,0.13201e+03_rb,0.12519e+03_rb, & & 0.11820e+03_rb,0.12047e+03_rb,0.13760e+03_rb,0.15739e+03_rb /) kao(:, 2,11,14) = (/ & & 0.18131e+03_rb,0.15893e+03_rb,0.13916e+03_rb,0.13183e+03_rb,0.12520e+03_rb, & & 0.11800e+03_rb,0.11979e+03_rb,0.13660e+03_rb,0.15612e+03_rb /) kao(:, 3,11,14) = (/ & & 0.18162e+03_rb,0.15925e+03_rb,0.13912e+03_rb,0.13145e+03_rb,0.12487e+03_rb, & & 0.11789e+03_rb,0.11922e+03_rb,0.13566e+03_rb,0.15481e+03_rb /) kao(:, 4,11,14) = (/ & & 0.18161e+03_rb,0.15927e+03_rb,0.13888e+03_rb,0.13091e+03_rb,0.12432e+03_rb, & & 0.11770e+03_rb,0.11858e+03_rb,0.13462e+03_rb,0.15350e+03_rb /) kao(:, 5,11,14) = (/ & & 0.18129e+03_rb,0.15901e+03_rb,0.13849e+03_rb,0.13027e+03_rb,0.12371e+03_rb, & & 0.11738e+03_rb,0.11800e+03_rb,0.13378e+03_rb,0.15248e+03_rb /) kao(:, 1,12,14) = (/ & & 0.19439e+03_rb,0.17031e+03_rb,0.15181e+03_rb,0.14577e+03_rb,0.13828e+03_rb, & & 0.13070e+03_rb,0.12972e+03_rb,0.14546e+03_rb,0.16618e+03_rb /) kao(:, 2,12,14) = (/ & & 0.19483e+03_rb,0.17073e+03_rb,0.15156e+03_rb,0.14543e+03_rb,0.13812e+03_rb, & & 0.13043e+03_rb,0.12913e+03_rb,0.14443e+03_rb,0.16476e+03_rb /) kao(:, 3,12,14) = (/ & & 0.19494e+03_rb,0.17087e+03_rb,0.15124e+03_rb,0.14493e+03_rb,0.13771e+03_rb, & & 0.13020e+03_rb,0.12847e+03_rb,0.14330e+03_rb,0.16335e+03_rb /) kao(:, 4,12,14) = (/ & & 0.19474e+03_rb,0.17073e+03_rb,0.15078e+03_rb,0.14425e+03_rb,0.13718e+03_rb, & & 0.12986e+03_rb,0.12779e+03_rb,0.14240e+03_rb,0.16229e+03_rb /) kao(:, 5,12,14) = (/ & & 0.19420e+03_rb,0.17029e+03_rb,0.15011e+03_rb,0.14337e+03_rb,0.13666e+03_rb, & & 0.12942e+03_rb,0.12725e+03_rb,0.14171e+03_rb,0.16147e+03_rb /) kao(:, 1,13,14) = (/ & & 0.20562e+03_rb,0.18014e+03_rb,0.16395e+03_rb,0.15885e+03_rb,0.15131e+03_rb, & & 0.14344e+03_rb,0.13928e+03_rb,0.15201e+03_rb,0.17336e+03_rb /) kao(:, 2,13,14) = (/ & & 0.20583e+03_rb,0.18034e+03_rb,0.16346e+03_rb,0.15844e+03_rb,0.15102e+03_rb, & & 0.14310e+03_rb,0.13867e+03_rb,0.15101e+03_rb,0.17210e+03_rb /) kao(:, 3,13,14) = (/ & & 0.20579e+03_rb,0.18034e+03_rb,0.16282e+03_rb,0.15782e+03_rb,0.15051e+03_rb, & & 0.14271e+03_rb,0.13803e+03_rb,0.15026e+03_rb,0.17119e+03_rb /) kao(:, 4,13,14) = (/ & & 0.20539e+03_rb,0.18002e+03_rb,0.16199e+03_rb,0.15696e+03_rb,0.15005e+03_rb, & & 0.14226e+03_rb,0.13746e+03_rb,0.14977e+03_rb,0.17061e+03_rb /) kao(:, 5,13,14) = (/ & & 0.20471e+03_rb,0.17946e+03_rb,0.16101e+03_rb,0.15580e+03_rb,0.14942e+03_rb, & & 0.14163e+03_rb,0.13685e+03_rb,0.14922e+03_rb,0.16998e+03_rb /) kao(:, 1, 1,15) = (/ & & 0.61110e+02_rb,0.53539e+02_rb,0.46005e+02_rb,0.38902e+02_rb,0.35970e+02_rb, & & 0.43986e+02_rb,0.52608e+02_rb,0.61157e+02_rb,0.65911e+02_rb /) kao(:, 2, 1,15) = (/ & & 0.61315e+02_rb,0.53717e+02_rb,0.46235e+02_rb,0.39083e+02_rb,0.35687e+02_rb, & & 0.43381e+02_rb,0.51871e+02_rb,0.60290e+02_rb,0.64963e+02_rb /) kao(:, 3, 1,15) = (/ & & 0.61422e+02_rb,0.53821e+02_rb,0.46411e+02_rb,0.39188e+02_rb,0.35438e+02_rb, & & 0.42839e+02_rb,0.51205e+02_rb,0.59514e+02_rb,0.64157e+02_rb /) kao(:, 4, 1,15) = (/ & & 0.61394e+02_rb,0.53877e+02_rb,0.46504e+02_rb,0.39222e+02_rb,0.35189e+02_rb, & & 0.42365e+02_rb,0.50625e+02_rb,0.58813e+02_rb,0.63464e+02_rb /) kao(:, 5, 1,15) = (/ & & 0.61322e+02_rb,0.53865e+02_rb,0.46511e+02_rb,0.39177e+02_rb,0.34939e+02_rb, & & 0.41926e+02_rb,0.50070e+02_rb,0.58152e+02_rb,0.62761e+02_rb /) kao(:, 1, 2,15) = (/ & & 0.73139e+02_rb,0.64054e+02_rb,0.54971e+02_rb,0.46172e+02_rb,0.42554e+02_rb, & & 0.52369e+02_rb,0.62683e+02_rb,0.72904e+02_rb,0.80226e+02_rb /) kao(:, 2, 2,15) = (/ & & 0.73363e+02_rb,0.64250e+02_rb,0.55203e+02_rb,0.46423e+02_rb,0.42168e+02_rb, & & 0.51668e+02_rb,0.61839e+02_rb,0.71917e+02_rb,0.79110e+02_rb /) kao(:, 3, 2,15) = (/ & & 0.73487e+02_rb,0.64383e+02_rb,0.55429e+02_rb,0.46632e+02_rb,0.41828e+02_rb, & & 0.50986e+02_rb,0.61016e+02_rb,0.70950e+02_rb,0.78048e+02_rb /) kao(:, 4, 2,15) = (/ & & 0.73536e+02_rb,0.64501e+02_rb,0.55558e+02_rb,0.46729e+02_rb,0.41557e+02_rb, & & 0.50314e+02_rb,0.60204e+02_rb,0.70005e+02_rb,0.77009e+02_rb /) kao(:, 5, 2,15) = (/ & & 0.73500e+02_rb,0.64509e+02_rb,0.55582e+02_rb,0.46709e+02_rb,0.41283e+02_rb, & & 0.49695e+02_rb,0.59450e+02_rb,0.69119e+02_rb,0.76024e+02_rb /) kao(:, 1, 3,15) = (/ & & 0.87361e+02_rb,0.76491e+02_rb,0.65621e+02_rb,0.54890e+02_rb,0.50598e+02_rb, & & 0.62297e+02_rb,0.74612e+02_rb,0.86825e+02_rb,0.97550e+02_rb /) kao(:, 2, 3,15) = (/ & & 0.87685e+02_rb,0.76774e+02_rb,0.65885e+02_rb,0.55188e+02_rb,0.50206e+02_rb, & & 0.61585e+02_rb,0.73754e+02_rb,0.85807e+02_rb,0.96409e+02_rb /) kao(:, 3, 3,15) = (/ & & 0.87844e+02_rb,0.76919e+02_rb,0.66106e+02_rb,0.55413e+02_rb,0.49812e+02_rb, & & 0.60785e+02_rb,0.72789e+02_rb,0.84689e+02_rb,0.95141e+02_rb /) kao(:, 4, 3,15) = (/ & & 0.87889e+02_rb,0.77037e+02_rb,0.66247e+02_rb,0.55541e+02_rb,0.49446e+02_rb, & & 0.60010e+02_rb,0.71857e+02_rb,0.83593e+02_rb,0.93898e+02_rb /) kao(:, 5, 3,15) = (/ & & 0.87858e+02_rb,0.77051e+02_rb,0.66285e+02_rb,0.55583e+02_rb,0.49097e+02_rb, & & 0.59241e+02_rb,0.70929e+02_rb,0.82513e+02_rb,0.92686e+02_rb /) kao(:, 1, 4,15) = (/ & & 0.10387e+03_rb,0.90929e+02_rb,0.77989e+02_rb,0.65095e+02_rb,0.60436e+02_rb, & & 0.74039e+02_rb,0.88717e+02_rb,0.10327e+03_rb,0.11725e+03_rb /) kao(:, 2, 4,15) = (/ & & 0.10441e+03_rb,0.91405e+02_rb,0.78408e+02_rb,0.65545e+02_rb,0.59926e+02_rb, & & 0.73070e+02_rb,0.87549e+02_rb,0.10190e+03_rb,0.11570e+03_rb /) kao(:, 3, 4,15) = (/ & & 0.10471e+03_rb,0.91680e+02_rb,0.78722e+02_rb,0.65845e+02_rb,0.59509e+02_rb, & & 0.72264e+02_rb,0.86581e+02_rb,0.10076e+03_rb,0.11440e+03_rb /) kao(:, 4, 4,15) = (/ & & 0.10486e+03_rb,0.91873e+02_rb,0.78926e+02_rb,0.66032e+02_rb,0.59086e+02_rb, & & 0.71381e+02_rb,0.85514e+02_rb,0.99526e+02_rb,0.11299e+03_rb /) kao(:, 5, 4,15) = (/ & & 0.10483e+03_rb,0.91879e+02_rb,0.78952e+02_rb,0.66063e+02_rb,0.58651e+02_rb, & & 0.70432e+02_rb,0.84377e+02_rb,0.98185e+02_rb,0.11148e+03_rb /) kao(:, 1, 5,15) = (/ & & 0.12314e+03_rb,0.10778e+03_rb,0.92429e+02_rb,0.77074e+02_rb,0.72086e+02_rb, & & 0.87688e+02_rb,0.10511e+03_rb,0.12238e+03_rb,0.13959e+03_rb /) kao(:, 2, 5,15) = (/ & & 0.12380e+03_rb,0.10836e+03_rb,0.92922e+02_rb,0.77571e+02_rb,0.71572e+02_rb, & & 0.86586e+02_rb,0.10378e+03_rb,0.12082e+03_rb,0.13782e+03_rb /) kao(:, 3, 5,15) = (/ & & 0.12423e+03_rb,0.10877e+03_rb,0.93351e+02_rb,0.77983e+02_rb,0.71097e+02_rb, & & 0.85507e+02_rb,0.10249e+03_rb,0.11931e+03_rb,0.13609e+03_rb /) kao(:, 4, 5,15) = (/ & & 0.12450e+03_rb,0.10905e+03_rb,0.93631e+02_rb,0.78238e+02_rb,0.70653e+02_rb, & & 0.84488e+02_rb,0.10126e+03_rb,0.11788e+03_rb,0.13445e+03_rb /) kao(:, 5, 5,15) = (/ & & 0.12453e+03_rb,0.10910e+03_rb,0.93684e+02_rb,0.78289e+02_rb,0.70179e+02_rb, & & 0.83403e+02_rb,0.99954e+02_rb,0.11636e+03_rb,0.13271e+03_rb /) kao(:, 1, 6,15) = (/ & & 0.14538e+03_rb,0.12724e+03_rb,0.10910e+03_rb,0.90962e+02_rb,0.85931e+02_rb, & & 0.10354e+03_rb,0.12413e+03_rb,0.14456e+03_rb,0.16524e+03_rb /) kao(:, 2, 6,15) = (/ & & 0.14625e+03_rb,0.12800e+03_rb,0.10975e+03_rb,0.91547e+02_rb,0.85303e+02_rb, & & 0.10223e+03_rb,0.12256e+03_rb,0.14271e+03_rb,0.16313e+03_rb /) kao(:, 3, 6,15) = (/ & & 0.14683e+03_rb,0.12855e+03_rb,0.11028e+03_rb,0.92053e+02_rb,0.84796e+02_rb, & & 0.10095e+03_rb,0.12102e+03_rb,0.14092e+03_rb,0.16108e+03_rb /) kao(:, 4, 6,15) = (/ & & 0.14716e+03_rb,0.12887e+03_rb,0.11059e+03_rb,0.92330e+02_rb,0.84296e+02_rb, & & 0.99657e+02_rb,0.11947e+03_rb,0.13910e+03_rb,0.15900e+03_rb /) kao(:, 5, 6,15) = (/ & & 0.14726e+03_rb,0.12897e+03_rb,0.11069e+03_rb,0.92414e+02_rb,0.83857e+02_rb, & & 0.98384e+02_rb,0.11794e+03_rb,0.13732e+03_rb,0.15696e+03_rb /) kao(:, 1, 7,15) = (/ & & 0.17053e+03_rb,0.14925e+03_rb,0.12796e+03_rb,0.10716e+03_rb,0.10213e+03_rb, & & 0.12188e+03_rb,0.14615e+03_rb,0.17020e+03_rb,0.19480e+03_rb /) kao(:, 2, 7,15) = (/ & & 0.17172e+03_rb,0.15029e+03_rb,0.12885e+03_rb,0.10758e+03_rb,0.10144e+03_rb, & & 0.12029e+03_rb,0.14423e+03_rb,0.16798e+03_rb,0.19224e+03_rb /) kao(:, 3, 7,15) = (/ & & 0.17251e+03_rb,0.15103e+03_rb,0.12955e+03_rb,0.10811e+03_rb,0.10086e+03_rb, & & 0.11869e+03_rb,0.14231e+03_rb,0.16572e+03_rb,0.18967e+03_rb /) kao(:, 4, 7,15) = (/ & & 0.17303e+03_rb,0.15150e+03_rb,0.12997e+03_rb,0.10845e+03_rb,0.10032e+03_rb, & & 0.11701e+03_rb,0.14029e+03_rb,0.16338e+03_rb,0.18697e+03_rb /) kao(:, 5, 7,15) = (/ & & 0.17326e+03_rb,0.15170e+03_rb,0.13015e+03_rb,0.10860e+03_rb,0.99828e+02_rb, & & 0.11540e+03_rb,0.13837e+03_rb,0.16114e+03_rb,0.18440e+03_rb /) kao(:, 1, 8,15) = (/ & & 0.19897e+03_rb,0.17412e+03_rb,0.14927e+03_rb,0.12609e+03_rb,0.12102e+03_rb, & & 0.14307e+03_rb,0.17149e+03_rb,0.19971e+03_rb,0.22868e+03_rb /) kao(:, 2, 8,15) = (/ & & 0.20045e+03_rb,0.17541e+03_rb,0.15039e+03_rb,0.12643e+03_rb,0.12014e+03_rb, & & 0.14095e+03_rb,0.16896e+03_rb,0.19679e+03_rb,0.22532e+03_rb /) kao(:, 3, 8,15) = (/ & & 0.20144e+03_rb,0.17633e+03_rb,0.15122e+03_rb,0.12673e+03_rb,0.11946e+03_rb, & & 0.13885e+03_rb,0.16646e+03_rb,0.19386e+03_rb,0.22200e+03_rb /) kao(:, 4, 8,15) = (/ & & 0.20212e+03_rb,0.17694e+03_rb,0.15175e+03_rb,0.12692e+03_rb,0.11890e+03_rb, & & 0.13670e+03_rb,0.16392e+03_rb,0.19092e+03_rb,0.21864e+03_rb /) kao(:, 5, 8,15) = (/ & & 0.20244e+03_rb,0.17722e+03_rb,0.15200e+03_rb,0.12703e+03_rb,0.11832e+03_rb, & & 0.13474e+03_rb,0.16157e+03_rb,0.18819e+03_rb,0.21551e+03_rb /) kao(:, 1, 9,15) = (/ & & 0.23120e+03_rb,0.20232e+03_rb,0.17344e+03_rb,0.14797e+03_rb,0.14299e+03_rb, & & 0.16694e+03_rb,0.20011e+03_rb,0.23304e+03_rb,0.26690e+03_rb /) kao(:, 2, 9,15) = (/ & & 0.23311e+03_rb,0.20399e+03_rb,0.17488e+03_rb,0.14825e+03_rb,0.14181e+03_rb, & & 0.16424e+03_rb,0.19689e+03_rb,0.22930e+03_rb,0.26259e+03_rb /) kao(:, 3, 9,15) = (/ & & 0.23434e+03_rb,0.20510e+03_rb,0.17587e+03_rb,0.14844e+03_rb,0.14100e+03_rb, & & 0.16150e+03_rb,0.19359e+03_rb,0.22546e+03_rb,0.25821e+03_rb /) kao(:, 4, 9,15) = (/ & & 0.23518e+03_rb,0.20584e+03_rb,0.17651e+03_rb,0.14849e+03_rb,0.14028e+03_rb, & & 0.15873e+03_rb,0.19031e+03_rb,0.22162e+03_rb,0.25383e+03_rb /) kao(:, 5, 9,15) = (/ & & 0.23553e+03_rb,0.20616e+03_rb,0.17678e+03_rb,0.14839e+03_rb,0.13959e+03_rb, & & 0.15626e+03_rb,0.18736e+03_rb,0.21823e+03_rb,0.24993e+03_rb /) kao(:, 1,10,15) = (/ & & 0.26766e+03_rb,0.23422e+03_rb,0.20086e+03_rb,0.17305e+03_rb,0.16820e+03_rb, & & 0.19275e+03_rb,0.23109e+03_rb,0.26916e+03_rb,0.30826e+03_rb /) kao(:, 2,10,15) = (/ & & 0.26991e+03_rb,0.23619e+03_rb,0.20254e+03_rb,0.17334e+03_rb,0.16673e+03_rb, & & 0.18936e+03_rb,0.22702e+03_rb,0.26442e+03_rb,0.30283e+03_rb /) kao(:, 3,10,15) = (/ & & 0.27155e+03_rb,0.23766e+03_rb,0.20381e+03_rb,0.17344e+03_rb,0.16570e+03_rb, & & 0.18588e+03_rb,0.22280e+03_rb,0.25950e+03_rb,0.29719e+03_rb /) kao(:, 4,10,15) = (/ & & 0.27254e+03_rb,0.23853e+03_rb,0.20456e+03_rb,0.17332e+03_rb,0.16480e+03_rb, & & 0.18267e+03_rb,0.21887e+03_rb,0.25495e+03_rb,0.29197e+03_rb /) kao(:, 5,10,15) = (/ & & 0.27304e+03_rb,0.23896e+03_rb,0.20491e+03_rb,0.17301e+03_rb,0.16390e+03_rb, & & 0.17979e+03_rb,0.21534e+03_rb,0.25082e+03_rb,0.28725e+03_rb /) kao(:, 1,11,15) = (/ & & 0.31010e+03_rb,0.27147e+03_rb,0.23291e+03_rb,0.20181e+03_rb,0.19592e+03_rb, & & 0.21861e+03_rb,0.26152e+03_rb,0.30466e+03_rb,0.34889e+03_rb /) kao(:, 2,11,15) = (/ & & 0.31237e+03_rb,0.27343e+03_rb,0.23463e+03_rb,0.20183e+03_rb,0.19444e+03_rb, & & 0.21467e+03_rb,0.25634e+03_rb,0.29864e+03_rb,0.34194e+03_rb /) kao(:, 3,11,15) = (/ & & 0.31396e+03_rb,0.27478e+03_rb,0.23578e+03_rb,0.20169e+03_rb,0.19320e+03_rb, & & 0.21082e+03_rb,0.25169e+03_rb,0.29321e+03_rb,0.33575e+03_rb /) kao(:, 4,11,15) = (/ & & 0.31491e+03_rb,0.27559e+03_rb,0.23646e+03_rb,0.20134e+03_rb,0.19199e+03_rb, & & 0.20744e+03_rb,0.24738e+03_rb,0.28820e+03_rb,0.33002e+03_rb /) kao(:, 5,11,15) = (/ & & 0.31516e+03_rb,0.27581e+03_rb,0.23662e+03_rb,0.20063e+03_rb,0.19065e+03_rb, & & 0.20428e+03_rb,0.24308e+03_rb,0.28319e+03_rb,0.32426e+03_rb /) kao(:, 1,12,15) = (/ & & 0.35746e+03_rb,0.31300e+03_rb,0.26858e+03_rb,0.23433e+03_rb,0.22701e+03_rb, & & 0.24649e+03_rb,0.29230e+03_rb,0.34058e+03_rb,0.38993e+03_rb /) kao(:, 2,12,15) = (/ & & 0.35965e+03_rb,0.31492e+03_rb,0.27026e+03_rb,0.23392e+03_rb,0.22536e+03_rb, & & 0.24218e+03_rb,0.28684e+03_rb,0.33421e+03_rb,0.38264e+03_rb /) kao(:, 3,12,15) = (/ & & 0.36096e+03_rb,0.31606e+03_rb,0.27127e+03_rb,0.23331e+03_rb,0.22367e+03_rb, & & 0.23821e+03_rb,0.28173e+03_rb,0.32828e+03_rb,0.37584e+03_rb /) kao(:, 4,12,15) = (/ & & 0.36159e+03_rb,0.31657e+03_rb,0.27171e+03_rb,0.23251e+03_rb,0.22182e+03_rb, & & 0.23456e+03_rb,0.27669e+03_rb,0.32238e+03_rb,0.36910e+03_rb /) kao(:, 5,12,15) = (/ & & 0.36141e+03_rb,0.31636e+03_rb,0.27153e+03_rb,0.23134e+03_rb,0.21976e+03_rb, & & 0.23095e+03_rb,0.27160e+03_rb,0.31644e+03_rb,0.36227e+03_rb /) kao(:, 1,13,15) = (/ & & 0.40931e+03_rb,0.35842e+03_rb,0.30758e+03_rb,0.27041e+03_rb,0.26133e+03_rb, & & 0.27679e+03_rb,0.32393e+03_rb,0.37751e+03_rb,0.43213e+03_rb /) kao(:, 2,13,15) = (/ & & 0.41124e+03_rb,0.36013e+03_rb,0.30908e+03_rb,0.26935e+03_rb,0.25923e+03_rb, & & 0.27218e+03_rb,0.31806e+03_rb,0.37065e+03_rb,0.42432e+03_rb /) kao(:, 3,13,15) = (/ & & 0.41214e+03_rb,0.36093e+03_rb,0.30979e+03_rb,0.26811e+03_rb,0.25684e+03_rb, & & 0.26794e+03_rb,0.31214e+03_rb,0.36375e+03_rb,0.41639e+03_rb /) kao(:, 4,13,15) = (/ & & 0.41225e+03_rb,0.36102e+03_rb,0.30989e+03_rb,0.26655e+03_rb,0.25418e+03_rb, & & 0.26378e+03_rb,0.30615e+03_rb,0.35676e+03_rb,0.40836e+03_rb /) kao(:, 5,13,15) = (/ & & 0.41130e+03_rb,0.36017e+03_rb,0.30917e+03_rb,0.26471e+03_rb,0.25127e+03_rb, & & 0.25962e+03_rb,0.30054e+03_rb,0.35018e+03_rb,0.40087e+03_rb /) kao(:, 1, 1,16) = (/ & & 0.66783e+02_rb,0.58494e+02_rb,0.50207e+02_rb,0.41922e+02_rb,0.39207e+02_rb, & & 0.48837e+02_rb,0.58441e+02_rb,0.67973e+02_rb,0.73684e+02_rb /) kao(:, 2, 1,16) = (/ & & 0.66987e+02_rb,0.58663e+02_rb,0.50340e+02_rb,0.42083e+02_rb,0.39992e+02_rb, & & 0.49756e+02_rb,0.59507e+02_rb,0.69167e+02_rb,0.75232e+02_rb /) kao(:, 3, 1,16) = (/ & & 0.67128e+02_rb,0.58776e+02_rb,0.50426e+02_rb,0.42412e+02_rb,0.40738e+02_rb, & & 0.50635e+02_rb,0.60514e+02_rb,0.70320e+02_rb,0.76487e+02_rb /) kao(:, 4, 1,16) = (/ & & 0.67159e+02_rb,0.58797e+02_rb,0.50435e+02_rb,0.42709e+02_rb,0.41336e+02_rb, & & 0.51345e+02_rb,0.61329e+02_rb,0.71239e+02_rb,0.77474e+02_rb /) kao(:, 5, 1,16) = (/ & & 0.67048e+02_rb,0.58698e+02_rb,0.50349e+02_rb,0.42916e+02_rb,0.41806e+02_rb, & & 0.51893e+02_rb,0.61955e+02_rb,0.71939e+02_rb,0.78212e+02_rb /) kao(:, 1, 2,16) = (/ & & 0.80817e+02_rb,0.70771e+02_rb,0.60724e+02_rb,0.50680e+02_rb,0.46121e+02_rb, & & 0.57561e+02_rb,0.68978e+02_rb,0.80276e+02_rb,0.88125e+02_rb /) kao(:, 2, 2,16) = (/ & & 0.81120e+02_rb,0.71031e+02_rb,0.60942e+02_rb,0.50856e+02_rb,0.46531e+02_rb, & & 0.58009e+02_rb,0.69466e+02_rb,0.80811e+02_rb,0.88902e+02_rb /) kao(:, 3, 2,16) = (/ & & 0.81295e+02_rb,0.71179e+02_rb,0.61065e+02_rb,0.50952e+02_rb,0.47046e+02_rb, & & 0.58603e+02_rb,0.70144e+02_rb,0.81568e+02_rb,0.89842e+02_rb /) kao(:, 4, 2,16) = (/ & & 0.81302e+02_rb,0.71181e+02_rb,0.61061e+02_rb,0.50998e+02_rb,0.47535e+02_rb, & & 0.59172e+02_rb,0.70788e+02_rb,0.82285e+02_rb,0.90723e+02_rb /) kao(:, 5, 2,16) = (/ & & 0.81254e+02_rb,0.71123e+02_rb,0.60992e+02_rb,0.51150e+02_rb,0.47959e+02_rb, & & 0.59657e+02_rb,0.71327e+02_rb,0.82908e+02_rb,0.91460e+02_rb /) kao(:, 1, 3,16) = (/ & & 0.97635e+02_rb,0.85483e+02_rb,0.73330e+02_rb,0.61179e+02_rb,0.56207e+02_rb, & & 0.70215e+02_rb,0.84188e+02_rb,0.98014e+02_rb,0.10988e+03_rb /) kao(:, 2, 3,16) = (/ & & 0.98163e+02_rb,0.85943e+02_rb,0.73724e+02_rb,0.61504e+02_rb,0.55633e+02_rb, & & 0.69472e+02_rb,0.83276e+02_rb,0.96935e+02_rb,0.10869e+03_rb /) kao(:, 3, 3,16) = (/ & & 0.98472e+02_rb,0.86211e+02_rb,0.73951e+02_rb,0.61693e+02_rb,0.55697e+02_rb, & & 0.69495e+02_rb,0.83260e+02_rb,0.96885e+02_rb,0.10871e+03_rb /) kao(:, 4, 3,16) = (/ & & 0.98535e+02_rb,0.86265e+02_rb,0.73995e+02_rb,0.61728e+02_rb,0.55937e+02_rb, & & 0.69749e+02_rb,0.83530e+02_rb,0.97171e+02_rb,0.10906e+03_rb /) kao(:, 5, 3,16) = (/ & & 0.98433e+02_rb,0.86165e+02_rb,0.73899e+02_rb,0.61635e+02_rb,0.56204e+02_rb, & & 0.70040e+02_rb,0.83840e+02_rb,0.97500e+02_rb,0.10946e+03_rb /) kao(:, 1, 4,16) = (/ & & 0.11801e+03_rb,0.10331e+03_rb,0.88600e+02_rb,0.73894e+02_rb,0.68841e+02_rb, & & 0.86008e+02_rb,0.10313e+03_rb,0.12007e+03_rb,0.13623e+03_rb /) kao(:, 2, 4,16) = (/ & & 0.11855e+03_rb,0.10378e+03_rb,0.89007e+02_rb,0.74235e+02_rb,0.68009e+02_rb, & & 0.84957e+02_rb,0.10186e+03_rb,0.11859e+03_rb,0.13456e+03_rb /) kao(:, 3, 4,16) = (/ & & 0.11911e+03_rb,0.10427e+03_rb,0.89430e+02_rb,0.74590e+02_rb,0.67220e+02_rb, & & 0.83955e+02_rb,0.10065e+03_rb,0.11716e+03_rb,0.13292e+03_rb /) kao(:, 4, 4,16) = (/ & & 0.11932e+03_rb,0.10446e+03_rb,0.89591e+02_rb,0.74725e+02_rb,0.66996e+02_rb, & & 0.83620e+02_rb,0.10020e+03_rb,0.11661e+03_rb,0.13231e+03_rb /) kao(:, 5, 4,16) = (/ & & 0.11933e+03_rb,0.10445e+03_rb,0.89579e+02_rb,0.74708e+02_rb,0.67016e+02_rb, & & 0.83607e+02_rb,0.10016e+03_rb,0.11655e+03_rb,0.13223e+03_rb /) kao(:, 1, 5,16) = (/ & & 0.14253e+03_rb,0.12475e+03_rb,0.10698e+03_rb,0.89200e+02_rb,0.84755e+02_rb, & & 0.10590e+03_rb,0.12699e+03_rb,0.14785e+03_rb,0.16865e+03_rb /) kao(:, 2, 5,16) = (/ & & 0.14325e+03_rb,0.12539e+03_rb,0.10752e+03_rb,0.89655e+02_rb,0.83145e+02_rb, & & 0.10388e+03_rb,0.12456e+03_rb,0.14501e+03_rb,0.16542e+03_rb /) kao(:, 3, 5,16) = (/ & & 0.14383e+03_rb,0.12589e+03_rb,0.10795e+03_rb,0.90019e+02_rb,0.82092e+02_rb, & & 0.10255e+03_rb,0.12296e+03_rb,0.14315e+03_rb,0.16327e+03_rb /) kao(:, 4, 5,16) = (/ & & 0.14418e+03_rb,0.12620e+03_rb,0.10822e+03_rb,0.90248e+02_rb,0.81037e+02_rb, & & 0.10121e+03_rb,0.12133e+03_rb,0.14124e+03_rb,0.16108e+03_rb /) kao(:, 5, 5,16) = (/ & & 0.14437e+03_rb,0.12637e+03_rb,0.10836e+03_rb,0.90358e+02_rb,0.80556e+02_rb, & & 0.10057e+03_rb,0.12052e+03_rb,0.14027e+03_rb,0.15994e+03_rb /) kao(:, 1, 6,16) = (/ & & 0.17174e+03_rb,0.15031e+03_rb,0.12887e+03_rb,0.10744e+03_rb,0.10459e+03_rb, & & 0.13069e+03_rb,0.15672e+03_rb,0.18250e+03_rb,0.20866e+03_rb /) kao(:, 2, 6,16) = (/ & & 0.17281e+03_rb,0.15124e+03_rb,0.12968e+03_rb,0.10811e+03_rb,0.10205e+03_rb, & & 0.12751e+03_rb,0.15290e+03_rb,0.17802e+03_rb,0.20356e+03_rb /) kao(:, 3, 6,16) = (/ & & 0.17366e+03_rb,0.15199e+03_rb,0.13032e+03_rb,0.10865e+03_rb,0.10020e+03_rb, & & 0.12519e+03_rb,0.15010e+03_rb,0.17475e+03_rb,0.19982e+03_rb /) kao(:, 4, 6,16) = (/ & & 0.17410e+03_rb,0.15237e+03_rb,0.13065e+03_rb,0.10893e+03_rb,0.98757e+02_rb, & & 0.12337e+03_rb,0.14792e+03_rb,0.17221e+03_rb,0.19689e+03_rb /) kao(:, 5, 6,16) = (/ & & 0.17426e+03_rb,0.15251e+03_rb,0.13077e+03_rb,0.10903e+03_rb,0.97456e+02_rb, & & 0.12171e+03_rb,0.14591e+03_rb,0.16984e+03_rb,0.19419e+03_rb /) kao(:, 1, 7,16) = (/ & & 0.20639e+03_rb,0.18062e+03_rb,0.15485e+03_rb,0.12907e+03_rb,0.12889e+03_rb, & & 0.16105e+03_rb,0.19314e+03_rb,0.22488e+03_rb,0.25751e+03_rb /) kao(:, 2, 7,16) = (/ & & 0.20793e+03_rb,0.18197e+03_rb,0.15600e+03_rb,0.13004e+03_rb,0.12536e+03_rb, & & 0.15664e+03_rb,0.18784e+03_rb,0.21870e+03_rb,0.25043e+03_rb /) kao(:, 3, 7,16) = (/ & & 0.20918e+03_rb,0.18307e+03_rb,0.15695e+03_rb,0.13084e+03_rb,0.12258e+03_rb, & & 0.15317e+03_rb,0.18368e+03_rb,0.21386e+03_rb,0.24487e+03_rb /) kao(:, 4, 7,16) = (/ & & 0.20994e+03_rb,0.18373e+03_rb,0.15753e+03_rb,0.13132e+03_rb,0.12024e+03_rb, & & 0.15023e+03_rb,0.18014e+03_rb,0.20974e+03_rb,0.24016e+03_rb /) kao(:, 5, 7,16) = (/ & & 0.21017e+03_rb,0.18393e+03_rb,0.15770e+03_rb,0.13147e+03_rb,0.11817e+03_rb, & & 0.14763e+03_rb,0.17700e+03_rb,0.20610e+03_rb,0.23592e+03_rb /) kao(:, 1, 8,16) = (/ & & 0.24808e+03_rb,0.21709e+03_rb,0.18610e+03_rb,0.15511e+03_rb,0.15824e+03_rb, & & 0.19773e+03_rb,0.23715e+03_rb,0.27617e+03_rb,0.31647e+03_rb /) kao(:, 2, 8,16) = (/ & & 0.24976e+03_rb,0.21856e+03_rb,0.18737e+03_rb,0.15617e+03_rb,0.15364e+03_rb, & & 0.19198e+03_rb,0.23024e+03_rb,0.26808e+03_rb,0.30723e+03_rb /) kao(:, 3, 8,16) = (/ & & 0.25153e+03_rb,0.22011e+03_rb,0.18870e+03_rb,0.15729e+03_rb,0.14986e+03_rb, & & 0.18726e+03_rb,0.22456e+03_rb,0.26146e+03_rb,0.29964e+03_rb /) kao(:, 4, 8,16) = (/ & & 0.25266e+03_rb,0.22111e+03_rb,0.18956e+03_rb,0.15801e+03_rb,0.14651e+03_rb, & & 0.18308e+03_rb,0.21955e+03_rb,0.25564e+03_rb,0.29297e+03_rb /) kao(:, 5, 8,16) = (/ & & 0.25306e+03_rb,0.22146e+03_rb,0.18986e+03_rb,0.15826e+03_rb,0.14346e+03_rb, & & 0.17924e+03_rb,0.21492e+03_rb,0.25024e+03_rb,0.28677e+03_rb /) kao(:, 1, 9,16) = (/ & & 0.29758e+03_rb,0.26040e+03_rb,0.22322e+03_rb,0.18603e+03_rb,0.19348e+03_rb, & & 0.24177e+03_rb,0.28996e+03_rb,0.33765e+03_rb,0.38707e+03_rb /) kao(:, 2, 9,16) = (/ & & 0.29980e+03_rb,0.26234e+03_rb,0.22489e+03_rb,0.18744e+03_rb,0.18763e+03_rb, & & 0.23446e+03_rb,0.28116e+03_rb,0.32742e+03_rb,0.37536e+03_rb /) kao(:, 3, 9,16) = (/ & & 0.30182e+03_rb,0.26412e+03_rb,0.22641e+03_rb,0.18871e+03_rb,0.18264e+03_rb, & & 0.22823e+03_rb,0.27370e+03_rb,0.31874e+03_rb,0.36539e+03_rb /) kao(:, 4, 9,16) = (/ & & 0.30335e+03_rb,0.26546e+03_rb,0.22757e+03_rb,0.18968e+03_rb,0.17814e+03_rb, & & 0.22260e+03_rb,0.26695e+03_rb,0.31086e+03_rb,0.35637e+03_rb /) kao(:, 5, 9,16) = (/ & & 0.30399e+03_rb,0.26602e+03_rb,0.22805e+03_rb,0.19008e+03_rb,0.17393e+03_rb, & & 0.21734e+03_rb,0.26062e+03_rb,0.30347e+03_rb,0.34789e+03_rb /) kao(:, 1,10,16) = (/ & & 0.35657e+03_rb,0.31201e+03_rb,0.26745e+03_rb,0.22289e+03_rb,0.23471e+03_rb, & & 0.29329e+03_rb,0.35175e+03_rb,0.40960e+03_rb,0.46960e+03_rb /) kao(:, 2,10,16) = (/ & & 0.35941e+03_rb,0.31450e+03_rb,0.26959e+03_rb,0.22468e+03_rb,0.22747e+03_rb, & & 0.28425e+03_rb,0.34089e+03_rb,0.39700e+03_rb,0.45514e+03_rb /) kao(:, 3,10,16) = (/ & & 0.36173e+03_rb,0.31654e+03_rb,0.27134e+03_rb,0.22614e+03_rb,0.22110e+03_rb, & & 0.27628e+03_rb,0.33132e+03_rb,0.38584e+03_rb,0.44234e+03_rb /) kao(:, 4,10,16) = (/ & & 0.36337e+03_rb,0.31797e+03_rb,0.27257e+03_rb,0.22717e+03_rb,0.21518e+03_rb, & & 0.26889e+03_rb,0.32246e+03_rb,0.37553e+03_rb,0.43052e+03_rb /) kao(:, 5,10,16) = (/ & & 0.36404e+03_rb,0.31855e+03_rb,0.27307e+03_rb,0.22759e+03_rb,0.20959e+03_rb, & & 0.26189e+03_rb,0.31406e+03_rb,0.36572e+03_rb,0.41925e+03_rb /) kao(:, 1,11,16) = (/ & & 0.42778e+03_rb,0.37432e+03_rb,0.32086e+03_rb,0.26740e+03_rb,0.27872e+03_rb, & & 0.34830e+03_rb,0.41771e+03_rb,0.48646e+03_rb,0.55765e+03_rb /) kao(:, 2,11,16) = (/ & & 0.43110e+03_rb,0.37723e+03_rb,0.32336e+03_rb,0.26948e+03_rb,0.27023e+03_rb, & & 0.33769e+03_rb,0.40499e+03_rb,0.47168e+03_rb,0.54065e+03_rb /) kao(:, 3,11,16) = (/ & & 0.43351e+03_rb,0.37933e+03_rb,0.32516e+03_rb,0.27099e+03_rb,0.26235e+03_rb, & & 0.32784e+03_rb,0.39315e+03_rb,0.45790e+03_rb,0.52488e+03_rb /) kao(:, 4,11,16) = (/ & & 0.43444e+03_rb,0.38015e+03_rb,0.32587e+03_rb,0.27158e+03_rb,0.25502e+03_rb, & & 0.31866e+03_rb,0.38217e+03_rb,0.44507e+03_rb,0.51019e+03_rb /) kao(:, 5,11,16) = (/ & & 0.43455e+03_rb,0.38025e+03_rb,0.32595e+03_rb,0.27165e+03_rb,0.24835e+03_rb, & & 0.31008e+03_rb,0.37185e+03_rb,0.43305e+03_rb,0.49635e+03_rb /) kao(:, 1,12,16) = (/ & & 0.51115e+03_rb,0.44727e+03_rb,0.38338e+03_rb,0.31950e+03_rb,0.32868e+03_rb, & & 0.41075e+03_rb,0.49264e+03_rb,0.57375e+03_rb,0.65765e+03_rb /) kao(:, 2,12,16) = (/ & & 0.51481e+03_rb,0.45047e+03_rb,0.38614e+03_rb,0.32180e+03_rb,0.31846e+03_rb, & & 0.39795e+03_rb,0.47726e+03_rb,0.55589e+03_rb,0.63715e+03_rb /) kao(:, 3,12,16) = (/ & & 0.51667e+03_rb,0.45210e+03_rb,0.38753e+03_rb,0.32296e+03_rb,0.30906e+03_rb, & & 0.38614e+03_rb,0.46310e+03_rb,0.53942e+03_rb,0.61825e+03_rb /) kao(:, 4,12,16) = (/ & & 0.51678e+03_rb,0.45219e+03_rb,0.38761e+03_rb,0.32303e+03_rb,0.30046e+03_rb, & & 0.37494e+03_rb,0.44968e+03_rb,0.52372e+03_rb,0.60018e+03_rb /) kao(:, 5,12,16) = (/ & & 0.51600e+03_rb,0.45151e+03_rb,0.38702e+03_rb,0.32254e+03_rb,0.29255e+03_rb, & & 0.36403e+03_rb,0.43655e+03_rb,0.50852e+03_rb,0.58277e+03_rb /) kao(:, 1,13,16) = (/ & & 0.60779e+03_rb,0.53183e+03_rb,0.45587e+03_rb,0.37990e+03_rb,0.38498e+03_rb, & & 0.48109e+03_rb,0.57702e+03_rb,0.67207e+03_rb,0.77032e+03_rb /) kao(:, 2,13,16) = (/ & & 0.61089e+03_rb,0.53454e+03_rb,0.45819e+03_rb,0.38184e+03_rb,0.37288e+03_rb, & & 0.46566e+03_rb,0.55850e+03_rb,0.65053e+03_rb,0.74557e+03_rb /) kao(:, 3,13,16) = (/ & & 0.61168e+03_rb,0.53523e+03_rb,0.45878e+03_rb,0.38233e+03_rb,0.36190e+03_rb, & & 0.45112e+03_rb,0.54103e+03_rb,0.63023e+03_rb,0.72223e+03_rb /) kao(:, 4,13,16) = (/ & & 0.61073e+03_rb,0.53440e+03_rb,0.45807e+03_rb,0.38174e+03_rb,0.35168e+03_rb, & & 0.43693e+03_rb,0.52405e+03_rb,0.61044e+03_rb,0.69951e+03_rb /) kao(:, 5,13,16) = (/ & & 0.60852e+03_rb,0.53247e+03_rb,0.45641e+03_rb,0.38036e+03_rb,0.34198e+03_rb, & & 0.42302e+03_rb,0.50734e+03_rb,0.59097e+03_rb,0.67714e+03_rb /) ! ----------------------------------------------------------------- ! The array KBO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels < ~100mb and temperatures. The first ! index in the array, JT, which runs from 1 to 5, corresponds to ! different temperatures. More specifically, JT = 3 means that the ! data are for the reference temperature TREF for this pressure ! level, JT = 2 refers to the temperature TREF-15, JT = 1 is for ! TREF-30, JT = 4 is for TREF+15, and JT = 5 is for TREF+30. ! The second index, JP, runs from 13 to 59 and refers to the JPth ! reference pressure level (see taumol.f for the value of these ! pressure levels in mb). The third index, IG, goes from 1 to 16, ! and tells us which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kbo(:, 1,13, 1) = (/ & & 0.10554e-06_rb,0.38596e-04_rb,0.65402e-04_rb,0.88540e-04_rb,0.19601e-03_rb /) kbo(:, 2,13, 1) = (/ & & 0.10479e-06_rb,0.43672e-04_rb,0.74889e-04_rb,0.10118e-03_rb,0.22146e-03_rb /) kbo(:, 3,13, 1) = (/ & & 0.10429e-06_rb,0.49418e-04_rb,0.85429e-04_rb,0.11557e-03_rb,0.24448e-03_rb /) kbo(:, 4,13, 1) = (/ & & 0.10232e-06_rb,0.55802e-04_rb,0.96459e-04_rb,0.13167e-03_rb,0.27001e-03_rb /) kbo(:, 5,13, 1) = (/ & & 0.99013e-07_rb,0.62996e-04_rb,0.10900e-03_rb,0.14834e-03_rb,0.29917e-03_rb /) kbo(:, 1,14, 1) = (/ & & 0.85136e-07_rb,0.31943e-04_rb,0.54402e-04_rb,0.73887e-04_rb,0.15895e-03_rb /) kbo(:, 2,14, 1) = (/ & & 0.84597e-07_rb,0.36196e-04_rb,0.62429e-04_rb,0.84479e-04_rb,0.17749e-03_rb /) kbo(:, 3,14, 1) = (/ & & 0.83629e-07_rb,0.40982e-04_rb,0.71126e-04_rb,0.96573e-04_rb,0.19740e-03_rb /) kbo(:, 4,14, 1) = (/ & & 0.82310e-07_rb,0.46344e-04_rb,0.80458e-04_rb,0.10984e-03_rb,0.21847e-03_rb /) kbo(:, 5,14, 1) = (/ & & 0.78709e-07_rb,0.52252e-04_rb,0.90989e-04_rb,0.12394e-03_rb,0.24281e-03_rb /) kbo(:, 1,15, 1) = (/ & & 0.68497e-07_rb,0.26393e-04_rb,0.45164e-04_rb,0.61570e-04_rb,0.12493e-03_rb /) kbo(:, 2,15, 1) = (/ & & 0.68062e-07_rb,0.29936e-04_rb,0.51919e-04_rb,0.70387e-04_rb,0.13953e-03_rb /) kbo(:, 3,15, 1) = (/ & & 0.66766e-07_rb,0.33863e-04_rb,0.59056e-04_rb,0.80693e-04_rb,0.15653e-03_rb /) kbo(:, 4,15, 1) = (/ & & 0.65636e-07_rb,0.38294e-04_rb,0.66885e-04_rb,0.91555e-04_rb,0.17510e-03_rb /) kbo(:, 5,15, 1) = (/ & & 0.62711e-07_rb,0.43189e-04_rb,0.75756e-04_rb,0.10355e-03_rb,0.19439e-03_rb /) kbo(:, 1,16, 1) = (/ & & 0.55083e-07_rb,0.21761e-04_rb,0.37484e-04_rb,0.51301e-04_rb,0.97875e-04_rb /) kbo(:, 2,16, 1) = (/ & & 0.54095e-07_rb,0.24670e-04_rb,0.43084e-04_rb,0.58639e-04_rb,0.10996e-03_rb /) kbo(:, 3,16, 1) = (/ & & 0.53340e-07_rb,0.27925e-04_rb,0.48976e-04_rb,0.67234e-04_rb,0.12415e-03_rb /) kbo(:, 4,16, 1) = (/ & & 0.51412e-07_rb,0.31588e-04_rb,0.55576e-04_rb,0.76352e-04_rb,0.13939e-03_rb /) kbo(:, 5,16, 1) = (/ & & 0.49341e-07_rb,0.35677e-04_rb,0.62937e-04_rb,0.86363e-04_rb,0.15543e-03_rb /) kbo(:, 1,17, 1) = (/ & & 0.44022e-07_rb,0.17963e-04_rb,0.31102e-04_rb,0.42604e-04_rb,0.78290e-04_rb /) kbo(:, 2,17, 1) = (/ & & 0.43167e-07_rb,0.20382e-04_rb,0.35754e-04_rb,0.48875e-04_rb,0.87941e-04_rb /) kbo(:, 3,17, 1) = (/ & & 0.42210e-07_rb,0.23091e-04_rb,0.40674e-04_rb,0.56059e-04_rb,0.99257e-04_rb /) kbo(:, 4,17, 1) = (/ & & 0.40402e-07_rb,0.26125e-04_rb,0.46162e-04_rb,0.63586e-04_rb,0.11166e-03_rb /) kbo(:, 5,17, 1) = (/ & & 0.38532e-07_rb,0.29494e-04_rb,0.52327e-04_rb,0.71960e-04_rb,0.12480e-03_rb /) kbo(:, 1,18, 1) = (/ & & 0.34937e-07_rb,0.14903e-04_rb,0.25868e-04_rb,0.35503e-04_rb,0.63368e-04_rb /) kbo(:, 2,18, 1) = (/ & & 0.34308e-07_rb,0.16923e-04_rb,0.29781e-04_rb,0.40789e-04_rb,0.71115e-04_rb /) kbo(:, 3,18, 1) = (/ & & 0.32995e-07_rb,0.19171e-04_rb,0.33872e-04_rb,0.46810e-04_rb,0.80302e-04_rb /) kbo(:, 4,18, 1) = (/ & & 0.31654e-07_rb,0.21679e-04_rb,0.38468e-04_rb,0.53048e-04_rb,0.90431e-04_rb /) kbo(:, 5,18, 1) = (/ & & 0.30282e-07_rb,0.24491e-04_rb,0.43596e-04_rb,0.60078e-04_rb,0.10133e-03_rb /) kbo(:, 1,19, 1) = (/ & & 0.27971e-07_rb,0.12385e-04_rb,0.21549e-04_rb,0.29618e-04_rb,0.51732e-04_rb /) kbo(:, 2,19, 1) = (/ & & 0.27128e-07_rb,0.14042e-04_rb,0.24826e-04_rb,0.34047e-04_rb,0.58064e-04_rb /) kbo(:, 3,19, 1) = (/ & & 0.26018e-07_rb,0.15920e-04_rb,0.28221e-04_rb,0.39072e-04_rb,0.65495e-04_rb /) kbo(:, 4,19, 1) = (/ & & 0.24717e-07_rb,0.18017e-04_rb,0.32056e-04_rb,0.44285e-04_rb,0.73859e-04_rb /) kbo(:, 5,19, 1) = (/ & & 0.23859e-07_rb,0.20360e-04_rb,0.36341e-04_rb,0.50170e-04_rb,0.82944e-04_rb /) kbo(:, 1,20, 1) = (/ & & 0.22529e-07_rb,0.10336e-04_rb,0.17999e-04_rb,0.24776e-04_rb,0.42602e-04_rb /) kbo(:, 2,20, 1) = (/ & & 0.21733e-07_rb,0.11685e-04_rb,0.20769e-04_rb,0.28503e-04_rb,0.47833e-04_rb /) kbo(:, 3,20, 1) = (/ & & 0.20791e-07_rb,0.13280e-04_rb,0.23571e-04_rb,0.32654e-04_rb,0.53995e-04_rb /) kbo(:, 4,20, 1) = (/ & & 0.19663e-07_rb,0.15029e-04_rb,0.26788e-04_rb,0.37066e-04_rb,0.60944e-04_rb /) kbo(:, 5,20, 1) = (/ & & 0.19169e-07_rb,0.16975e-04_rb,0.30353e-04_rb,0.41996e-04_rb,0.68344e-04_rb /) kbo(:, 1,21, 1) = (/ & & 0.18148e-07_rb,0.86039e-05_rb,0.15041e-04_rb,0.20717e-04_rb,0.35143e-04_rb /) kbo(:, 2,21, 1) = (/ & & 0.17465e-07_rb,0.97287e-05_rb,0.17348e-04_rb,0.23862e-04_rb,0.39508e-04_rb /) kbo(:, 3,21, 1) = (/ & & 0.16537e-07_rb,0.11073e-04_rb,0.19687e-04_rb,0.27271e-04_rb,0.44652e-04_rb /) kbo(:, 4,21, 1) = (/ & & 0.15860e-07_rb,0.12526e-04_rb,0.22388e-04_rb,0.31015e-04_rb,0.50269e-04_rb /) kbo(:, 5,21, 1) = (/ & & 0.15452e-07_rb,0.14158e-04_rb,0.25339e-04_rb,0.35141e-04_rb,0.56327e-04_rb /) kbo(:, 1,22, 1) = (/ & & 0.14542e-07_rb,0.71807e-05_rb,0.12682e-04_rb,0.17473e-04_rb,0.29179e-04_rb /) kbo(:, 2,22, 1) = (/ & & 0.13967e-07_rb,0.81574e-05_rb,0.14550e-04_rb,0.20147e-04_rb,0.32795e-04_rb /) kbo(:, 3,22, 1) = (/ & & 0.13241e-07_rb,0.92839e-05_rb,0.16547e-04_rb,0.22971e-04_rb,0.37036e-04_rb /) kbo(:, 4,22, 1) = (/ & & 0.12746e-07_rb,0.10522e-04_rb,0.18840e-04_rb,0.26114e-04_rb,0.41617e-04_rb /) kbo(:, 5,22, 1) = (/ & & 0.12426e-07_rb,0.11886e-04_rb,0.21313e-04_rb,0.29604e-04_rb,0.46709e-04_rb /) kbo(:, 1,23, 1) = (/ & & 0.11724e-07_rb,0.60196e-05_rb,0.10703e-04_rb,0.14753e-04_rb,0.24143e-04_rb /) kbo(:, 2,23, 1) = (/ & & 0.11124e-07_rb,0.68499e-05_rb,0.12233e-04_rb,0.17009e-04_rb,0.27147e-04_rb /) kbo(:, 3,23, 1) = (/ & & 0.10552e-07_rb,0.77897e-05_rb,0.13927e-04_rb,0.19362e-04_rb,0.30661e-04_rb /) kbo(:, 4,23, 1) = (/ & & 0.10213e-07_rb,0.88398e-05_rb,0.15850e-04_rb,0.22024e-04_rb,0.34519e-04_rb /) kbo(:, 5,23, 1) = (/ & & 0.99627e-08_rb,0.99755e-05_rb,0.17919e-04_rb,0.24944e-04_rb,0.38730e-04_rb /) kbo(:, 1,24, 1) = (/ & & 0.93835e-08_rb,0.50505e-05_rb,0.90298e-05_rb,0.12450e-04_rb,0.19940e-04_rb /) kbo(:, 2,24, 1) = (/ & & 0.88722e-08_rb,0.57494e-05_rb,0.10287e-04_rb,0.14351e-04_rb,0.22450e-04_rb /) kbo(:, 3,24, 1) = (/ & & 0.84719e-08_rb,0.65374e-05_rb,0.11727e-04_rb,0.16329e-04_rb,0.25378e-04_rb /) kbo(:, 4,24, 1) = (/ & & 0.81924e-08_rb,0.74186e-05_rb,0.13334e-04_rb,0.18567e-04_rb,0.28560e-04_rb /) kbo(:, 5,24, 1) = (/ & & 0.79194e-08_rb,0.83719e-05_rb,0.15056e-04_rb,0.21003e-04_rb,0.31990e-04_rb /) kbo(:, 1,25, 1) = (/ & & 0.74535e-08_rb,0.42437e-05_rb,0.76220e-05_rb,0.10523e-04_rb,0.16531e-04_rb /) kbo(:, 2,25, 1) = (/ & & 0.70516e-08_rb,0.48300e-05_rb,0.86667e-05_rb,0.12089e-04_rb,0.18616e-04_rb /) kbo(:, 3,25, 1) = (/ & & 0.67746e-08_rb,0.54941e-05_rb,0.98927e-05_rb,0.13790e-04_rb,0.21024e-04_rb /) kbo(:, 4,25, 1) = (/ & & 0.65375e-08_rb,0.62357e-05_rb,0.11233e-04_rb,0.15662e-04_rb,0.23642e-04_rb /) kbo(:, 5,25, 1) = (/ & & 0.63001e-08_rb,0.70282e-05_rb,0.12669e-04_rb,0.17695e-04_rb,0.26478e-04_rb /) kbo(:, 1,26, 1) = (/ & & 0.59520e-08_rb,0.35739e-05_rb,0.64350e-05_rb,0.89330e-05_rb,0.13754e-04_rb /) kbo(:, 2,26, 1) = (/ & & 0.56644e-08_rb,0.40797e-05_rb,0.73291e-05_rb,0.10228e-04_rb,0.15489e-04_rb /) kbo(:, 3,26, 1) = (/ & & 0.54229e-08_rb,0.46366e-05_rb,0.83664e-05_rb,0.11659e-04_rb,0.17486e-04_rb /) kbo(:, 4,26, 1) = (/ & & 0.52155e-08_rb,0.52546e-05_rb,0.94829e-05_rb,0.13246e-04_rb,0.19643e-04_rb /) kbo(:, 5,26, 1) = (/ & & 0.50026e-08_rb,0.59134e-05_rb,0.10676e-04_rb,0.14933e-04_rb,0.21979e-04_rb /) kbo(:, 1,27, 1) = (/ & & 0.47347e-08_rb,0.30117e-05_rb,0.54223e-05_rb,0.75810e-05_rb,0.11424e-04_rb /) kbo(:, 2,27, 1) = (/ & & 0.45215e-08_rb,0.34421e-05_rb,0.61959e-05_rb,0.86619e-05_rb,0.12884e-04_rb /) kbo(:, 3,27, 1) = (/ & & 0.43334e-08_rb,0.39143e-05_rb,0.70702e-05_rb,0.98761e-05_rb,0.14543e-04_rb /) kbo(:, 4,27, 1) = (/ & & 0.41350e-08_rb,0.44275e-05_rb,0.80005e-05_rb,0.11195e-04_rb,0.16319e-04_rb /) kbo(:, 5,27, 1) = (/ & & 0.39653e-08_rb,0.49769e-05_rb,0.89931e-05_rb,0.12598e-04_rb,0.18160e-04_rb /) kbo(:, 1,28, 1) = (/ & & 0.37948e-08_rb,0.25415e-05_rb,0.45819e-05_rb,0.64336e-05_rb,0.94956e-05_rb /) kbo(:, 2,28, 1) = (/ & & 0.36083e-08_rb,0.29038e-05_rb,0.52426e-05_rb,0.73400e-05_rb,0.10719e-04_rb /) kbo(:, 3,28, 1) = (/ & & 0.34418e-08_rb,0.33017e-05_rb,0.59733e-05_rb,0.83575e-05_rb,0.12066e-04_rb /) kbo(:, 4,28, 1) = (/ & & 0.32636e-08_rb,0.37297e-05_rb,0.67493e-05_rb,0.94558e-05_rb,0.13468e-04_rb /) kbo(:, 5,28, 1) = (/ & & 0.31340e-08_rb,0.41873e-05_rb,0.75759e-05_rb,0.10620e-04_rb,0.14953e-04_rb /) kbo(:, 1,29, 1) = (/ & & 0.30121e-08_rb,0.21536e-05_rb,0.38841e-05_rb,0.54491e-05_rb,0.79090e-05_rb /) kbo(:, 2,29, 1) = (/ & & 0.28775e-08_rb,0.24557e-05_rb,0.44467e-05_rb,0.62247e-05_rb,0.89148e-05_rb /) kbo(:, 3,29, 1) = (/ & & 0.27196e-08_rb,0.27900e-05_rb,0.50543e-05_rb,0.70782e-05_rb,0.99943e-05_rb /) kbo(:, 4,29, 1) = (/ & & 0.25798e-08_rb,0.31473e-05_rb,0.57011e-05_rb,0.79936e-05_rb,0.11135e-04_rb /) kbo(:, 5,29, 1) = (/ & & 0.24785e-08_rb,0.35287e-05_rb,0.63894e-05_rb,0.89624e-05_rb,0.12357e-04_rb /) kbo(:, 1,30, 1) = (/ & & 0.24034e-08_rb,0.18231e-05_rb,0.32945e-05_rb,0.46183e-05_rb,0.65837e-05_rb /) kbo(:, 2,30, 1) = (/ & & 0.22702e-08_rb,0.20766e-05_rb,0.37671e-05_rb,0.52735e-05_rb,0.73875e-05_rb /) kbo(:, 3,30, 1) = (/ & & 0.21551e-08_rb,0.23559e-05_rb,0.42744e-05_rb,0.59932e-05_rb,0.82665e-05_rb /) kbo(:, 4,30, 1) = (/ & & 0.20397e-08_rb,0.26541e-05_rb,0.48137e-05_rb,0.67549e-05_rb,0.92071e-05_rb /) kbo(:, 5,30, 1) = (/ & & 0.19208e-08_rb,0.29711e-05_rb,0.53880e-05_rb,0.75598e-05_rb,0.10211e-04_rb /) kbo(:, 1,31, 1) = (/ & & 0.19116e-08_rb,0.15454e-05_rb,0.27957e-05_rb,0.39228e-05_rb,0.54664e-05_rb /) kbo(:, 2,31, 1) = (/ & & 0.18045e-08_rb,0.17579e-05_rb,0.31938e-05_rb,0.44780e-05_rb,0.61205e-05_rb /) kbo(:, 3,31, 1) = (/ & & 0.17015e-08_rb,0.19911e-05_rb,0.36167e-05_rb,0.50753e-05_rb,0.68523e-05_rb /) kbo(:, 4,31, 1) = (/ & & 0.16042e-08_rb,0.22393e-05_rb,0.40666e-05_rb,0.57094e-05_rb,0.76260e-05_rb /) kbo(:, 5,31, 1) = (/ & & 0.15189e-08_rb,0.25035e-05_rb,0.45439e-05_rb,0.63785e-05_rb,0.84562e-05_rb /) kbo(:, 1,32, 1) = (/ & & 0.15134e-08_rb,0.13080e-05_rb,0.23763e-05_rb,0.33360e-05_rb,0.45382e-05_rb /) kbo(:, 2,32, 1) = (/ & & 0.14254e-08_rb,0.14886e-05_rb,0.27086e-05_rb,0.37995e-05_rb,0.50938e-05_rb /) kbo(:, 3,32, 1) = (/ & & 0.13478e-08_rb,0.16831e-05_rb,0.30605e-05_rb,0.42971e-05_rb,0.56933e-05_rb /) kbo(:, 4,32, 1) = (/ & & 0.12726e-08_rb,0.18904e-05_rb,0.34353e-05_rb,0.48247e-05_rb,0.63353e-05_rb /) kbo(:, 5,32, 1) = (/ & & 0.12027e-08_rb,0.21098e-05_rb,0.38318e-05_rb,0.53809e-05_rb,0.70302e-05_rb /) kbo(:, 1,33, 1) = (/ & & 0.12024e-08_rb,0.11084e-05_rb,0.20193e-05_rb,0.28310e-05_rb,0.37849e-05_rb /) kbo(:, 2,33, 1) = (/ & & 0.11338e-08_rb,0.12605e-05_rb,0.22949e-05_rb,0.32221e-05_rb,0.42458e-05_rb /) kbo(:, 3,33, 1) = (/ & & 0.10678e-08_rb,0.14231e-05_rb,0.25881e-05_rb,0.36365e-05_rb,0.47460e-05_rb /) kbo(:, 4,33, 1) = (/ & & 0.10052e-08_rb,0.15963e-05_rb,0.29010e-05_rb,0.40728e-05_rb,0.52804e-05_rb /) kbo(:, 5,33, 1) = (/ & & 0.95946e-09_rb,0.17779e-05_rb,0.32301e-05_rb,0.45381e-05_rb,0.58547e-05_rb /) kbo(:, 1,34, 1) = (/ & & 0.95750e-09_rb,0.93665e-06_rb,0.17068e-05_rb,0.23954e-05_rb,0.31611e-05_rb /) kbo(:, 2,34, 1) = (/ & & 0.89991e-09_rb,0.10636e-05_rb,0.19366e-05_rb,0.27209e-05_rb,0.35440e-05_rb /) kbo(:, 3,34, 1) = (/ & & 0.84944e-09_rb,0.11994e-05_rb,0.21804e-05_rb,0.30651e-05_rb,0.39600e-05_rb /) kbo(:, 4,34, 1) = (/ & & 0.80863e-09_rb,0.13431e-05_rb,0.24406e-05_rb,0.34285e-05_rb,0.44045e-05_rb /) kbo(:, 5,34, 1) = (/ & & 0.76697e-09_rb,0.14937e-05_rb,0.27138e-05_rb,0.38153e-05_rb,0.48739e-05_rb /) kbo(:, 1,35, 1) = (/ & & 0.76931e-09_rb,0.78145e-06_rb,0.14243e-05_rb,0.20004e-05_rb,0.26088e-05_rb /) kbo(:, 2,35, 1) = (/ & & 0.72554e-09_rb,0.88652e-06_rb,0.16140e-05_rb,0.22684e-05_rb,0.29255e-05_rb /) kbo(:, 3,35, 1) = (/ & & 0.68677e-09_rb,0.99872e-06_rb,0.18159e-05_rb,0.25537e-05_rb,0.32672e-05_rb /) kbo(:, 4,35, 1) = (/ & & 0.64986e-09_rb,0.11178e-05_rb,0.20312e-05_rb,0.28542e-05_rb,0.36304e-05_rb /) kbo(:, 5,35, 1) = (/ & & 0.62177e-09_rb,0.12420e-05_rb,0.22566e-05_rb,0.31737e-05_rb,0.40187e-05_rb /) kbo(:, 1,36, 1) = (/ & & 0.62245e-09_rb,0.64235e-06_rb,0.11709e-05_rb,0.16445e-05_rb,0.21213e-05_rb /) kbo(:, 2,36, 1) = (/ & & 0.58696e-09_rb,0.72876e-06_rb,0.13266e-05_rb,0.18646e-05_rb,0.23798e-05_rb /) kbo(:, 3,36, 1) = (/ & & 0.55693e-09_rb,0.82089e-06_rb,0.14927e-05_rb,0.20991e-05_rb,0.26600e-05_rb /) kbo(:, 4,36, 1) = (/ & & 0.52934e-09_rb,0.91874e-06_rb,0.16695e-05_rb,0.23457e-05_rb,0.29575e-05_rb /) kbo(:, 5,36, 1) = (/ & & 0.50585e-09_rb,0.10210e-05_rb,0.18549e-05_rb,0.26085e-05_rb,0.32758e-05_rb /) kbo(:, 1,37, 1) = (/ & & 0.51156e-09_rb,0.51872e-06_rb,0.94550e-06_rb,0.13287e-05_rb,0.17089e-05_rb /) kbo(:, 2,37, 1) = (/ & & 0.48258e-09_rb,0.58908e-06_rb,0.10722e-05_rb,0.15079e-05_rb,0.19187e-05_rb /) kbo(:, 3,37, 1) = (/ & & 0.45694e-09_rb,0.66421e-06_rb,0.12078e-05_rb,0.16992e-05_rb,0.21456e-05_rb /) kbo(:, 4,37, 1) = (/ & & 0.43502e-09_rb,0.74408e-06_rb,0.13520e-05_rb,0.19000e-05_rb,0.23876e-05_rb /) kbo(:, 5,37, 1) = (/ & & 0.41517e-09_rb,0.82758e-06_rb,0.15034e-05_rb,0.21146e-05_rb,0.26473e-05_rb /) kbo(:, 1,38, 1) = (/ & & 0.42094e-09_rb,0.41837e-06_rb,0.76260e-06_rb,0.10719e-05_rb,0.13756e-05_rb /) kbo(:, 2,38, 1) = (/ & & 0.39700e-09_rb,0.47557e-06_rb,0.86572e-06_rb,0.12180e-05_rb,0.15462e-05_rb /) kbo(:, 3,38, 1) = (/ & & 0.37563e-09_rb,0.53684e-06_rb,0.97613e-06_rb,0.13738e-05_rb,0.17289e-05_rb /) kbo(:, 4,38, 1) = (/ & & 0.35783e-09_rb,0.60193e-06_rb,0.10936e-05_rb,0.15374e-05_rb,0.19252e-05_rb /) kbo(:, 5,38, 1) = (/ & & 0.34107e-09_rb,0.67014e-06_rb,0.12173e-05_rb,0.17127e-05_rb,0.21369e-05_rb /) kbo(:, 1,39, 1) = (/ & & 0.34635e-09_rb,0.33732e-06_rb,0.61492e-06_rb,0.86447e-06_rb,0.11055e-05_rb /) kbo(:, 2,39, 1) = (/ & & 0.32654e-09_rb,0.38383e-06_rb,0.69869e-06_rb,0.98355e-06_rb,0.12440e-05_rb /) kbo(:, 3,39, 1) = (/ & & 0.30909e-09_rb,0.43371e-06_rb,0.78869e-06_rb,0.11105e-05_rb,0.13924e-05_rb /) kbo(:, 4,39, 1) = (/ & & 0.29425e-09_rb,0.48681e-06_rb,0.88446e-06_rb,0.12433e-05_rb,0.15526e-05_rb /) kbo(:, 5,39, 1) = (/ & & 0.28000e-09_rb,0.54256e-06_rb,0.98550e-06_rb,0.13868e-05_rb,0.17238e-05_rb /) kbo(:, 1,40, 1) = (/ & & 0.28731e-09_rb,0.26843e-06_rb,0.48915e-06_rb,0.68810e-06_rb,0.87867e-06_rb /) kbo(:, 2,40, 1) = (/ & & 0.27089e-09_rb,0.30600e-06_rb,0.55698e-06_rb,0.78430e-06_rb,0.99075e-06_rb /) kbo(:, 3,40, 1) = (/ & & 0.25607e-09_rb,0.34624e-06_rb,0.62966e-06_rb,0.88677e-06_rb,0.11107e-05_rb /) kbo(:, 4,40, 1) = (/ & & 0.24372e-09_rb,0.38926e-06_rb,0.70732e-06_rb,0.99430e-06_rb,0.12402e-05_rb /) kbo(:, 5,40, 1) = (/ & & 0.23176e-09_rb,0.43465e-06_rb,0.78943e-06_rb,0.11107e-05_rb,0.13787e-05_rb /) kbo(:, 1,41, 1) = (/ & & 0.23903e-09_rb,0.21323e-06_rb,0.38855e-06_rb,0.54701e-06_rb,0.69781e-06_rb /) kbo(:, 2,41, 1) = (/ & & 0.22487e-09_rb,0.24332e-06_rb,0.44328e-06_rb,0.62397e-06_rb,0.78774e-06_rb /) kbo(:, 3,41, 1) = (/ & & 0.21236e-09_rb,0.27581e-06_rb,0.50170e-06_rb,0.70664e-06_rb,0.88427e-06_rb /) kbo(:, 4,41, 1) = (/ & & 0.20204e-09_rb,0.31066e-06_rb,0.56435e-06_rb,0.79384e-06_rb,0.98899e-06_rb /) kbo(:, 5,41, 1) = (/ & & 0.19209e-09_rb,0.34753e-06_rb,0.63119e-06_rb,0.88787e-06_rb,0.11007e-05_rb /) kbo(:, 1,42, 1) = (/ & & 0.19868e-09_rb,0.16950e-06_rb,0.30885e-06_rb,0.43426e-06_rb,0.55336e-06_rb /) kbo(:, 2,42, 1) = (/ & & 0.18681e-09_rb,0.19338e-06_rb,0.35250e-06_rb,0.49622e-06_rb,0.62628e-06_rb /) kbo(:, 3,42, 1) = (/ & & 0.17649e-09_rb,0.21963e-06_rb,0.39950e-06_rb,0.56269e-06_rb,0.70396e-06_rb /) kbo(:, 4,42, 1) = (/ & & 0.16753e-09_rb,0.24778e-06_rb,0.45013e-06_rb,0.63342e-06_rb,0.78770e-06_rb /) kbo(:, 5,42, 1) = (/ & & 0.15930e-09_rb,0.27772e-06_rb,0.50439e-06_rb,0.70945e-06_rb,0.87783e-06_rb /) kbo(:, 1,43, 1) = (/ & & 0.16577e-09_rb,0.13332e-06_rb,0.24323e-06_rb,0.34184e-06_rb,0.43594e-06_rb /) kbo(:, 2,43, 1) = (/ & & 0.15597e-09_rb,0.15245e-06_rb,0.27801e-06_rb,0.39130e-06_rb,0.49460e-06_rb /) kbo(:, 3,43, 1) = (/ & & 0.14721e-09_rb,0.17354e-06_rb,0.31584e-06_rb,0.44499e-06_rb,0.55705e-06_rb /) kbo(:, 4,43, 1) = (/ & & 0.13936e-09_rb,0.19625e-06_rb,0.35661e-06_rb,0.50189e-06_rb,0.62398e-06_rb /) kbo(:, 5,43, 1) = (/ & & 0.13255e-09_rb,0.22044e-06_rb,0.40034e-06_rb,0.56308e-06_rb,0.69634e-06_rb /) kbo(:, 1,44, 1) = (/ & & 0.13861e-09_rb,0.10445e-06_rb,0.19058e-06_rb,0.26841e-06_rb,0.34233e-06_rb /) kbo(:, 2,44, 1) = (/ & & 0.13027e-09_rb,0.11974e-06_rb,0.21836e-06_rb,0.30744e-06_rb,0.38897e-06_rb /) kbo(:, 3,44, 1) = (/ & & 0.12290e-09_rb,0.13662e-06_rb,0.24864e-06_rb,0.35065e-06_rb,0.43916e-06_rb /) kbo(:, 4,44, 1) = (/ & & 0.11611e-09_rb,0.15484e-06_rb,0.28155e-06_rb,0.39627e-06_rb,0.49273e-06_rb /) kbo(:, 5,44, 1) = (/ & & 0.11042e-09_rb,0.17431e-06_rb,0.31666e-06_rb,0.44540e-06_rb,0.55087e-06_rb /) kbo(:, 1,45, 1) = (/ & & 0.11581e-09_rb,0.81915e-07_rb,0.14915e-06_rb,0.21140e-06_rb,0.26987e-06_rb /) kbo(:, 2,45, 1) = (/ & & 0.10906e-09_rb,0.94077e-07_rb,0.17143e-06_rb,0.24173e-06_rb,0.30586e-06_rb /) kbo(:, 3,45, 1) = (/ & & 0.10254e-09_rb,0.10745e-06_rb,0.19582e-06_rb,0.27606e-06_rb,0.34593e-06_rb /) kbo(:, 4,45, 1) = (/ & & 0.96757e-10_rb,0.12205e-06_rb,0.22201e-06_rb,0.31271e-06_rb,0.38876e-06_rb /) kbo(:, 5,45, 1) = (/ & & 0.91979e-10_rb,0.13772e-06_rb,0.25015e-06_rb,0.35208e-06_rb,0.43561e-06_rb /) kbo(:, 1,46, 1) = (/ & & 0.96889e-10_rb,0.64116e-07_rb,0.11708e-06_rb,0.16455e-06_rb,0.21036e-06_rb /) kbo(:, 2,46, 1) = (/ & & 0.91281e-10_rb,0.73641e-07_rb,0.13436e-06_rb,0.18895e-06_rb,0.23951e-06_rb /) kbo(:, 3,46, 1) = (/ & & 0.85830e-10_rb,0.84161e-07_rb,0.15360e-06_rb,0.21643e-06_rb,0.27176e-06_rb /) kbo(:, 4,46, 1) = (/ & & 0.81048e-10_rb,0.95867e-07_rb,0.17447e-06_rb,0.24582e-06_rb,0.30613e-06_rb /) kbo(:, 5,46, 1) = (/ & & 0.76712e-10_rb,0.10844e-06_rb,0.19706e-06_rb,0.27743e-06_rb,0.34329e-06_rb /) kbo(:, 1,47, 1) = (/ & & 0.81516e-10_rb,0.49698e-07_rb,0.90596e-07_rb,0.12727e-06_rb,0.16313e-06_rb /) kbo(:, 2,47, 1) = (/ & & 0.76609e-10_rb,0.57132e-07_rb,0.10433e-06_rb,0.14694e-06_rb,0.18672e-06_rb /) kbo(:, 3,47, 1) = (/ & & 0.71975e-10_rb,0.65534e-07_rb,0.11955e-06_rb,0.16850e-06_rb,0.21215e-06_rb /) kbo(:, 4,47, 1) = (/ & & 0.67908e-10_rb,0.74829e-07_rb,0.13619e-06_rb,0.19209e-06_rb,0.23959e-06_rb /) kbo(:, 5,47, 1) = (/ & & 0.64117e-10_rb,0.84872e-07_rb,0.15433e-06_rb,0.21733e-06_rb,0.26915e-06_rb /) kbo(:, 1,48, 1) = (/ & & 0.68429e-10_rb,0.38715e-07_rb,0.69854e-07_rb,0.98377e-07_rb,0.12619e-06_rb /) kbo(:, 2,48, 1) = (/ & & 0.64236e-10_rb,0.44375e-07_rb,0.80895e-07_rb,0.11471e-06_rb,0.14604e-06_rb /) kbo(:, 3,48, 1) = (/ & & 0.60510e-10_rb,0.51025e-07_rb,0.92977e-07_rb,0.13123e-06_rb,0.16542e-06_rb /) kbo(:, 4,48, 1) = (/ & & 0.56851e-10_rb,0.58345e-07_rb,0.10633e-06_rb,0.14991e-06_rb,0.18745e-06_rb /) kbo(:, 5,48, 1) = (/ & & 0.53674e-10_rb,0.66346e-07_rb,0.12070e-06_rb,0.17001e-06_rb,0.21095e-06_rb /) kbo(:, 1,49, 1) = (/ & & 0.57387e-10_rb,0.29800e-07_rb,0.53817e-07_rb,0.75906e-07_rb,0.97710e-07_rb /) kbo(:, 2,49, 1) = (/ & & 0.53960e-10_rb,0.34500e-07_rb,0.63205e-07_rb,0.88655e-07_rb,0.11310e-06_rb /) kbo(:, 3,49, 1) = (/ & & 0.50740e-10_rb,0.39684e-07_rb,0.72502e-07_rb,0.10193e-06_rb,0.12892e-06_rb /) kbo(:, 4,49, 1) = (/ & & 0.47710e-10_rb,0.45418e-07_rb,0.82941e-07_rb,0.11692e-06_rb,0.14649e-06_rb /) kbo(:, 5,49, 1) = (/ & & 0.45050e-10_rb,0.51797e-07_rb,0.94320e-07_rb,0.13296e-06_rb,0.16526e-06_rb /) kbo(:, 1,50, 1) = (/ & & 0.48010e-10_rb,0.22999e-07_rb,0.41682e-07_rb,0.58975e-07_rb,0.75898e-07_rb /) kbo(:, 2,50, 1) = (/ & & 0.45282e-10_rb,0.26917e-07_rb,0.48929e-07_rb,0.68765e-07_rb,0.87983e-07_rb /) kbo(:, 3,50, 1) = (/ & & 0.42531e-10_rb,0.30879e-07_rb,0.56406e-07_rb,0.79593e-07_rb,0.10109e-06_rb /) kbo(:, 4,50, 1) = (/ & & 0.40002e-10_rb,0.35470e-07_rb,0.64706e-07_rb,0.91312e-07_rb,0.11473e-06_rb /) kbo(:, 5,50, 1) = (/ & & 0.37674e-10_rb,0.40542e-07_rb,0.73834e-07_rb,0.10412e-06_rb,0.12967e-06_rb /) kbo(:, 1,51, 1) = (/ & & 0.40094e-10_rb,0.17810e-07_rb,0.32412e-07_rb,0.45985e-07_rb,0.59041e-07_rb /) kbo(:, 2,51, 1) = (/ & & 0.37901e-10_rb,0.21013e-07_rb,0.37921e-07_rb,0.53479e-07_rb,0.68479e-07_rb /) kbo(:, 3,51, 1) = (/ & & 0.35584e-10_rb,0.24100e-07_rb,0.43988e-07_rb,0.62409e-07_rb,0.79311e-07_rb /) kbo(:, 4,51, 1) = (/ & & 0.33516e-10_rb,0.27737e-07_rb,0.50544e-07_rb,0.71436e-07_rb,0.89912e-07_rb /) kbo(:, 5,51, 1) = (/ & & 0.31503e-10_rb,0.31738e-07_rb,0.57889e-07_rb,0.81591e-07_rb,0.10195e-06_rb /) kbo(:, 1,52, 1) = (/ & & 0.33462e-10_rb,0.13829e-07_rb,0.25227e-07_rb,0.35498e-07_rb,0.45793e-07_rb /) kbo(:, 2,52, 1) = (/ & & 0.31703e-10_rb,0.16272e-07_rb,0.29393e-07_rb,0.41476e-07_rb,0.53340e-07_rb /) kbo(:, 3,52, 1) = (/ & & 0.29856e-10_rb,0.18836e-07_rb,0.34537e-07_rb,0.48490e-07_rb,0.61791e-07_rb /) kbo(:, 4,52, 1) = (/ & & 0.28038e-10_rb,0.21684e-07_rb,0.39578e-07_rb,0.55751e-07_rb,0.70422e-07_rb /) kbo(:, 5,52, 1) = (/ & & 0.26375e-10_rb,0.24824e-07_rb,0.45389e-07_rb,0.63898e-07_rb,0.80071e-07_rb /) kbo(:, 1,53, 1) = (/ & & 0.27859e-10_rb,0.10757e-07_rb,0.19436e-07_rb,0.27368e-07_rb,0.35401e-07_rb /) kbo(:, 2,53, 1) = (/ & & 0.26482e-10_rb,0.12575e-07_rb,0.22786e-07_rb,0.32275e-07_rb,0.41504e-07_rb /) kbo(:, 3,53, 1) = (/ & & 0.25013e-10_rb,0.14718e-07_rb,0.26786e-07_rb,0.37657e-07_rb,0.48150e-07_rb /) kbo(:, 4,53, 1) = (/ & & 0.23481e-10_rb,0.16890e-07_rb,0.30875e-07_rb,0.43561e-07_rb,0.55284e-07_rb /) kbo(:, 5,53, 1) = (/ & & 0.22103e-10_rb,0.19405e-07_rb,0.35435e-07_rb,0.50046e-07_rb,0.62824e-07_rb /) kbo(:, 1,54, 1) = (/ & & 0.23262e-10_rb,0.83534e-08_rb,0.15033e-07_rb,0.21142e-07_rb,0.27491e-07_rb /) kbo(:, 2,54, 1) = (/ & & 0.22075e-10_rb,0.97821e-08_rb,0.17791e-07_rb,0.25298e-07_rb,0.32447e-07_rb /) kbo(:, 3,54, 1) = (/ & & 0.20887e-10_rb,0.11541e-07_rb,0.20852e-07_rb,0.29392e-07_rb,0.37643e-07_rb /) kbo(:, 4,54, 1) = (/ & & 0.19629e-10_rb,0.13228e-07_rb,0.24164e-07_rb,0.34330e-07_rb,0.43622e-07_rb /) kbo(:, 5,54, 1) = (/ & & 0.18475e-10_rb,0.15233e-07_rb,0.27779e-07_rb,0.39304e-07_rb,0.49432e-07_rb /) kbo(:, 1,55, 1) = (/ & & 0.19360e-10_rb,0.64888e-08_rb,0.11644e-07_rb,0.16387e-07_rb,0.21340e-07_rb /) kbo(:, 2,55, 1) = (/ & & 0.18372e-10_rb,0.76367e-08_rb,0.13947e-07_rb,0.19672e-07_rb,0.25401e-07_rb /) kbo(:, 3,55, 1) = (/ & & 0.17421e-10_rb,0.90083e-08_rb,0.16275e-07_rb,0.22971e-07_rb,0.29522e-07_rb /) kbo(:, 4,55, 1) = (/ & & 0.16413e-10_rb,0.10402e-07_rb,0.19081e-07_rb,0.26854e-07_rb,0.34233e-07_rb /) kbo(:, 5,55, 1) = (/ & & 0.15417e-10_rb,0.11984e-07_rb,0.21835e-07_rb,0.30856e-07_rb,0.38954e-07_rb /) kbo(:, 1,56, 1) = (/ & & 0.16094e-10_rb,0.50174e-08_rb,0.90283e-08_rb,0.12718e-07_rb,0.16576e-07_rb /) kbo(:, 2,56, 1) = (/ & & 0.15265e-10_rb,0.59747e-08_rb,0.10850e-07_rb,0.15297e-07_rb,0.19783e-07_rb /) kbo(:, 3,56, 1) = (/ & & 0.14515e-10_rb,0.70142e-08_rb,0.12699e-07_rb,0.17960e-07_rb,0.23171e-07_rb /) kbo(:, 4,56, 1) = (/ & & 0.13715e-10_rb,0.81626e-08_rb,0.14940e-07_rb,0.20994e-07_rb,0.26865e-07_rb /) kbo(:, 5,56, 1) = (/ & & 0.12880e-10_rb,0.94054e-08_rb,0.17206e-07_rb,0.24221e-07_rb,0.30739e-07_rb /) kbo(:, 1,57, 1) = (/ & & 0.13368e-10_rb,0.38838e-08_rb,0.69991e-08_rb,0.98372e-08_rb,0.12821e-07_rb /) kbo(:, 2,57, 1) = (/ & & 0.12743e-10_rb,0.46751e-08_rb,0.84243e-08_rb,0.11856e-07_rb,0.15406e-07_rb /) kbo(:, 3,57, 1) = (/ & & 0.12087e-10_rb,0.54642e-08_rb,0.99295e-08_rb,0.14069e-07_rb,0.18144e-07_rb /) kbo(:, 4,57, 1) = (/ & & 0.11442e-10_rb,0.64461e-08_rb,0.11657e-07_rb,0.16407e-07_rb,0.21072e-07_rb /) kbo(:, 5,57, 1) = (/ & & 0.10759e-10_rb,0.73711e-08_rb,0.13478e-07_rb,0.19106e-07_rb,0.24314e-07_rb /) kbo(:, 1,58, 1) = (/ & & 0.11081e-10_rb,0.30148e-08_rb,0.54165e-08_rb,0.76421e-08_rb,0.99496e-08_rb /) kbo(:, 2,58, 1) = (/ & & 0.10598e-10_rb,0.36337e-08_rb,0.65375e-08_rb,0.92041e-08_rb,0.12025e-07_rb /) kbo(:, 3,58, 1) = (/ & & 0.10052e-10_rb,0.42712e-08_rb,0.77841e-08_rb,0.11053e-07_rb,0.14306e-07_rb /) kbo(:, 4,58, 1) = (/ & & 0.95308e-11_rb,0.50429e-08_rb,0.91133e-08_rb,0.12865e-07_rb,0.16554e-07_rb /) kbo(:, 5,58, 1) = (/ & & 0.89795e-11_rb,0.57979e-08_rb,0.10615e-07_rb,0.15051e-07_rb,0.19216e-07_rb /) kbo(:, 1,59, 1) = (/ & & 0.91194e-11_rb,0.24214e-08_rb,0.43496e-08_rb,0.61531e-08_rb,0.80136e-08_rb /) kbo(:, 2,59, 1) = (/ & & 0.87287e-11_rb,0.29232e-08_rb,0.52535e-08_rb,0.73966e-08_rb,0.96830e-08_rb /) kbo(:, 3,59, 1) = (/ & & 0.82765e-11_rb,0.34412e-08_rb,0.62788e-08_rb,0.88992e-08_rb,0.11534e-07_rb /) kbo(:, 4,59, 1) = (/ & & 0.78605e-11_rb,0.40632e-08_rb,0.73454e-08_rb,0.10382e-07_rb,0.13372e-07_rb /) kbo(:, 5,59, 1) = (/ & & 0.74127e-11_rb,0.46801e-08_rb,0.85910e-08_rb,0.12137e-07_rb,0.15530e-07_rb /) kbo(:, 1,13, 2) = (/ & & 0.17576e-05_rb,0.22518e-03_rb,0.36398e-03_rb,0.46505e-03_rb,0.97920e-03_rb /) kbo(:, 2,13, 2) = (/ & & 0.19522e-05_rb,0.25688e-03_rb,0.42724e-03_rb,0.54293e-03_rb,0.11261e-02_rb /) kbo(:, 3,13, 2) = (/ & & 0.21134e-05_rb,0.29382e-03_rb,0.49778e-03_rb,0.63186e-03_rb,0.12961e-02_rb /) kbo(:, 4,13, 2) = (/ & & 0.22680e-05_rb,0.33585e-03_rb,0.57095e-03_rb,0.73149e-03_rb,0.14857e-02_rb /) kbo(:, 5,13, 2) = (/ & & 0.23939e-05_rb,0.38326e-03_rb,0.64688e-03_rb,0.84120e-03_rb,0.16815e-02_rb /) kbo(:, 1,14, 2) = (/ & & 0.13866e-05_rb,0.18816e-03_rb,0.30541e-03_rb,0.39082e-03_rb,0.80614e-03_rb /) kbo(:, 2,14, 2) = (/ & & 0.14825e-05_rb,0.21525e-03_rb,0.35906e-03_rb,0.45772e-03_rb,0.92976e-03_rb /) kbo(:, 3,14, 2) = (/ & & 0.16428e-05_rb,0.24664e-03_rb,0.41891e-03_rb,0.53341e-03_rb,0.10689e-02_rb /) kbo(:, 4,14, 2) = (/ & & 0.17807e-05_rb,0.28218e-03_rb,0.48021e-03_rb,0.61861e-03_rb,0.12236e-02_rb /) kbo(:, 5,14, 2) = (/ & & 0.18685e-05_rb,0.32204e-03_rb,0.54385e-03_rb,0.71223e-03_rb,0.13844e-02_rb /) kbo(:, 1,15, 2) = (/ & & 0.10483e-05_rb,0.15699e-03_rb,0.25571e-03_rb,0.32803e-03_rb,0.65873e-03_rb /) kbo(:, 2,15, 2) = (/ & & 0.11310e-05_rb,0.18016e-03_rb,0.30071e-03_rb,0.38534e-03_rb,0.75916e-03_rb /) kbo(:, 3,15, 2) = (/ & & 0.12330e-05_rb,0.20672e-03_rb,0.35181e-03_rb,0.44940e-03_rb,0.87041e-03_rb /) kbo(:, 4,15, 2) = (/ & & 0.13426e-05_rb,0.23650e-03_rb,0.40292e-03_rb,0.52246e-03_rb,0.99445e-03_rb /) kbo(:, 5,15, 2) = (/ & & 0.14514e-05_rb,0.26979e-03_rb,0.45684e-03_rb,0.60195e-03_rb,0.11173e-02_rb /) kbo(:, 1,16, 2) = (/ & & 0.80663e-06_rb,0.13098e-03_rb,0.21382e-03_rb,0.27539e-03_rb,0.53727e-03_rb /) kbo(:, 2,16, 2) = (/ & & 0.85747e-06_rb,0.15058e-03_rb,0.25201e-03_rb,0.32406e-03_rb,0.61573e-03_rb /) kbo(:, 3,16, 2) = (/ & & 0.92435e-06_rb,0.17283e-03_rb,0.29542e-03_rb,0.37879e-03_rb,0.70140e-03_rb /) kbo(:, 4,16, 2) = (/ & & 0.99747e-06_rb,0.19793e-03_rb,0.33807e-03_rb,0.44076e-03_rb,0.79468e-03_rb /) kbo(:, 5,16, 2) = (/ & & 0.10819e-05_rb,0.22582e-03_rb,0.38354e-03_rb,0.50663e-03_rb,0.88980e-03_rb /) kbo(:, 1,17, 2) = (/ & & 0.61772e-06_rb,0.10941e-03_rb,0.17926e-03_rb,0.23144e-03_rb,0.43554e-03_rb /) kbo(:, 2,17, 2) = (/ & & 0.65718e-06_rb,0.12576e-03_rb,0.21174e-03_rb,0.27275e-03_rb,0.49750e-03_rb /) kbo(:, 3,17, 2) = (/ & & 0.69949e-06_rb,0.14461e-03_rb,0.24852e-03_rb,0.31937e-03_rb,0.56462e-03_rb /) kbo(:, 4,17, 2) = (/ & & 0.75387e-06_rb,0.16580e-03_rb,0.28374e-03_rb,0.37213e-03_rb,0.63507e-03_rb /) kbo(:, 5,17, 2) = (/ & & 0.79715e-06_rb,0.18926e-03_rb,0.32236e-03_rb,0.42588e-03_rb,0.70728e-03_rb /) kbo(:, 1,18, 2) = (/ & & 0.47188e-06_rb,0.91952e-04_rb,0.15100e-03_rb,0.19495e-03_rb,0.35543e-03_rb /) kbo(:, 2,18, 2) = (/ & & 0.50937e-06_rb,0.10513e-03_rb,0.17852e-03_rb,0.22999e-03_rb,0.40250e-03_rb /) kbo(:, 3,18, 2) = (/ & & 0.54206e-06_rb,0.12130e-03_rb,0.20959e-03_rb,0.26979e-03_rb,0.45662e-03_rb /) kbo(:, 4,18, 2) = (/ & & 0.57328e-06_rb,0.13936e-03_rb,0.23815e-03_rb,0.31451e-03_rb,0.51113e-03_rb /) kbo(:, 5,18, 2) = (/ & & 0.61077e-06_rb,0.15916e-03_rb,0.27075e-03_rb,0.35967e-03_rb,0.57076e-03_rb /) kbo(:, 1,19, 2) = (/ & & 0.36005e-06_rb,0.76984e-04_rb,0.12743e-03_rb,0.16422e-03_rb,0.28885e-03_rb /) kbo(:, 2,19, 2) = (/ & & 0.38988e-06_rb,0.88029e-04_rb,0.15067e-03_rb,0.19396e-03_rb,0.32854e-03_rb /) kbo(:, 3,19, 2) = (/ & & 0.41989e-06_rb,0.10172e-03_rb,0.17539e-03_rb,0.22784e-03_rb,0.37045e-03_rb /) kbo(:, 4,19, 2) = (/ & & 0.44092e-06_rb,0.11727e-03_rb,0.20004e-03_rb,0.26592e-03_rb,0.41598e-03_rb /) kbo(:, 5,19, 2) = (/ & & 0.46883e-06_rb,0.13386e-03_rb,0.22769e-03_rb,0.30285e-03_rb,0.46550e-03_rb /) kbo(:, 1,20, 2) = (/ & & 0.27908e-06_rb,0.64450e-04_rb,0.10795e-03_rb,0.13889e-03_rb,0.23878e-03_rb /) kbo(:, 2,20, 2) = (/ & & 0.30934e-06_rb,0.74187e-04_rb,0.12773e-03_rb,0.16417e-03_rb,0.27017e-03_rb /) kbo(:, 3,20, 2) = (/ & & 0.33086e-06_rb,0.85801e-04_rb,0.14782e-03_rb,0.19307e-03_rb,0.30508e-03_rb /) kbo(:, 4,20, 2) = (/ & & 0.35058e-06_rb,0.98861e-04_rb,0.16868e-03_rb,0.22508e-03_rb,0.34249e-03_rb /) kbo(:, 5,20, 2) = (/ & & 0.37069e-06_rb,0.11306e-03_rb,0.19188e-03_rb,0.25601e-03_rb,0.38519e-03_rb /) kbo(:, 1,21, 2) = (/ & & 0.22418e-06_rb,0.54095e-04_rb,0.91414e-04_rb,0.11757e-03_rb,0.19697e-03_rb /) kbo(:, 2,21, 2) = (/ & & 0.24559e-06_rb,0.62567e-04_rb,0.10819e-03_rb,0.13908e-03_rb,0.22284e-03_rb /) kbo(:, 3,21, 2) = (/ & & 0.26169e-06_rb,0.72383e-04_rb,0.12481e-03_rb,0.16368e-03_rb,0.25205e-03_rb /) kbo(:, 4,21, 2) = (/ & & 0.27885e-06_rb,0.83446e-04_rb,0.14258e-03_rb,0.18910e-03_rb,0.28386e-03_rb /) kbo(:, 5,21, 2) = (/ & & 0.29344e-06_rb,0.95540e-04_rb,0.16198e-03_rb,0.21609e-03_rb,0.31947e-03_rb /) kbo(:, 1,22, 2) = (/ & & 0.17941e-06_rb,0.45830e-04_rb,0.78176e-04_rb,0.10061e-03_rb,0.16313e-03_rb /) kbo(:, 2,22, 2) = (/ & & 0.19397e-06_rb,0.53139e-04_rb,0.92556e-04_rb,0.11901e-03_rb,0.18482e-03_rb /) kbo(:, 3,22, 2) = (/ & & 0.20707e-06_rb,0.61593e-04_rb,0.10579e-03_rb,0.14008e-03_rb,0.20965e-03_rb /) kbo(:, 4,22, 2) = (/ & & 0.22071e-06_rb,0.71016e-04_rb,0.12100e-03_rb,0.16128e-03_rb,0.23661e-03_rb /) kbo(:, 5,22, 2) = (/ & & 0.23148e-06_rb,0.81286e-04_rb,0.13795e-03_rb,0.18401e-03_rb,0.26580e-03_rb /) kbo(:, 1,23, 2) = (/ & & 0.14291e-06_rb,0.38825e-04_rb,0.66866e-04_rb,0.86140e-04_rb,0.13511e-03_rb /) kbo(:, 2,23, 2) = (/ & & 0.15179e-06_rb,0.45135e-04_rb,0.78450e-04_rb,0.10194e-03_rb,0.15369e-03_rb /) kbo(:, 3,23, 2) = (/ & & 0.16326e-06_rb,0.52399e-04_rb,0.89919e-04_rb,0.12001e-03_rb,0.17441e-03_rb /) kbo(:, 4,23, 2) = (/ & & 0.17307e-06_rb,0.60440e-04_rb,0.10293e-03_rb,0.13735e-03_rb,0.19668e-03_rb /) kbo(:, 5,23, 2) = (/ & & 0.18137e-06_rb,0.69189e-04_rb,0.11759e-03_rb,0.15651e-03_rb,0.21998e-03_rb /) kbo(:, 1,24, 2) = (/ & & 0.11245e-06_rb,0.32862e-04_rb,0.57166e-04_rb,0.73828e-04_rb,0.11185e-03_rb /) kbo(:, 2,24, 2) = (/ & & 0.11958e-06_rb,0.38281e-04_rb,0.66635e-04_rb,0.87390e-04_rb,0.12740e-03_rb /) kbo(:, 3,24, 2) = (/ & & 0.12702e-06_rb,0.44519e-04_rb,0.76606e-04_rb,0.10190e-03_rb,0.14418e-03_rb /) kbo(:, 4,24, 2) = (/ & & 0.13467e-06_rb,0.51373e-04_rb,0.87622e-04_rb,0.11700e-03_rb,0.16205e-03_rb /) kbo(:, 5,24, 2) = (/ & & 0.14120e-06_rb,0.58874e-04_rb,0.10019e-03_rb,0.13348e-03_rb,0.18188e-03_rb /) kbo(:, 1,25, 2) = (/ & & 0.88242e-07_rb,0.27950e-04_rb,0.49010e-04_rb,0.63434e-04_rb,0.92877e-04_rb /) kbo(:, 2,25, 2) = (/ & & 0.94383e-07_rb,0.32610e-04_rb,0.56690e-04_rb,0.75114e-04_rb,0.10531e-03_rb /) kbo(:, 3,25, 2) = (/ & & 0.99712e-07_rb,0.37929e-04_rb,0.65204e-04_rb,0.87113e-04_rb,0.11931e-03_rb /) kbo(:, 4,25, 2) = (/ & & 0.10473e-06_rb,0.43778e-04_rb,0.74805e-04_rb,0.99950e-04_rb,0.13427e-03_rb /) kbo(:, 5,25, 2) = (/ & & 0.10988e-06_rb,0.50229e-04_rb,0.85598e-04_rb,0.11406e-03_rb,0.15050e-03_rb /) kbo(:, 1,26, 2) = (/ & & 0.69696e-07_rb,0.23895e-04_rb,0.42166e-04_rb,0.54733e-04_rb,0.77146e-04_rb /) kbo(:, 2,26, 2) = (/ & & 0.74390e-07_rb,0.27921e-04_rb,0.48387e-04_rb,0.64817e-04_rb,0.87607e-04_rb /) kbo(:, 3,26, 2) = (/ & & 0.78856e-07_rb,0.32497e-04_rb,0.55692e-04_rb,0.74691e-04_rb,0.99387e-04_rb /) kbo(:, 4,26, 2) = (/ & & 0.83253e-07_rb,0.37491e-04_rb,0.64130e-04_rb,0.85609e-04_rb,0.11193e-03_rb /) kbo(:, 5,26, 2) = (/ & & 0.87675e-07_rb,0.43011e-04_rb,0.73398e-04_rb,0.97828e-04_rb,0.12574e-03_rb /) kbo(:, 1,27, 2) = (/ & & 0.54619e-07_rb,0.20469e-04_rb,0.35869e-04_rb,0.47259e-04_rb,0.64151e-04_rb /) kbo(:, 2,27, 2) = (/ & & 0.58657e-07_rb,0.23925e-04_rb,0.41468e-04_rb,0.55499e-04_rb,0.72911e-04_rb /) kbo(:, 3,27, 2) = (/ & & 0.62532e-07_rb,0.27839e-04_rb,0.47735e-04_rb,0.63985e-04_rb,0.82955e-04_rb /) kbo(:, 4,27, 2) = (/ & & 0.66184e-07_rb,0.32141e-04_rb,0.55001e-04_rb,0.73456e-04_rb,0.93567e-04_rb /) kbo(:, 5,27, 2) = (/ & & 0.69305e-07_rb,0.36605e-04_rb,0.62968e-04_rb,0.83938e-04_rb,0.10517e-03_rb /) kbo(:, 1,28, 2) = (/ & & 0.43348e-07_rb,0.17476e-04_rb,0.30692e-04_rb,0.40803e-04_rb,0.53271e-04_rb /) kbo(:, 2,28, 2) = (/ & & 0.46348e-07_rb,0.20496e-04_rb,0.35498e-04_rb,0.47629e-04_rb,0.60809e-04_rb /) kbo(:, 3,28, 2) = (/ & & 0.49507e-07_rb,0.23857e-04_rb,0.40974e-04_rb,0.54947e-04_rb,0.69222e-04_rb /) kbo(:, 4,28, 2) = (/ & & 0.52419e-07_rb,0.27560e-04_rb,0.47205e-04_rb,0.63044e-04_rb,0.78123e-04_rb /) kbo(:, 5,28, 2) = (/ & & 0.54842e-07_rb,0.31094e-04_rb,0.54028e-04_rb,0.72116e-04_rb,0.87834e-04_rb /) kbo(:, 1,29, 2) = (/ & & 0.34480e-07_rb,0.15027e-04_rb,0.26268e-04_rb,0.35358e-04_rb,0.44711e-04_rb /) kbo(:, 2,29, 2) = (/ & & 0.36985e-07_rb,0.17638e-04_rb,0.30405e-04_rb,0.40938e-04_rb,0.51054e-04_rb /) kbo(:, 3,29, 2) = (/ & & 0.39476e-07_rb,0.20512e-04_rb,0.35237e-04_rb,0.47207e-04_rb,0.58034e-04_rb /) kbo(:, 4,29, 2) = (/ & & 0.41650e-07_rb,0.23694e-04_rb,0.40586e-04_rb,0.54286e-04_rb,0.65708e-04_rb /) kbo(:, 5,29, 2) = (/ & & 0.43693e-07_rb,0.26438e-04_rb,0.46467e-04_rb,0.62035e-04_rb,0.73872e-04_rb /) kbo(:, 1,30, 2) = (/ & & 0.27402e-07_rb,0.12932e-04_rb,0.22585e-04_rb,0.30365e-04_rb,0.37471e-04_rb /) kbo(:, 2,30, 2) = (/ & & 0.29377e-07_rb,0.15183e-04_rb,0.26158e-04_rb,0.35195e-04_rb,0.42867e-04_rb /) kbo(:, 3,30, 2) = (/ & & 0.31353e-07_rb,0.17658e-04_rb,0.30343e-04_rb,0.40606e-04_rb,0.48858e-04_rb /) kbo(:, 4,30, 2) = (/ & & 0.33056e-07_rb,0.20286e-04_rb,0.34924e-04_rb,0.46735e-04_rb,0.55329e-04_rb /) kbo(:, 5,30, 2) = (/ & & 0.34673e-07_rb,0.22451e-04_rb,0.39717e-04_rb,0.53329e-04_rb,0.62151e-04_rb /) kbo(:, 1,31, 2) = (/ & & 0.21716e-07_rb,0.11156e-04_rb,0.19427e-04_rb,0.26169e-04_rb,0.31512e-04_rb /) kbo(:, 2,31, 2) = (/ & & 0.23313e-07_rb,0.13091e-04_rb,0.22568e-04_rb,0.30377e-04_rb,0.36216e-04_rb /) kbo(:, 3,31, 2) = (/ & & 0.24803e-07_rb,0.15221e-04_rb,0.26157e-04_rb,0.35050e-04_rb,0.41256e-04_rb /) kbo(:, 4,31, 2) = (/ & & 0.26260e-07_rb,0.17277e-04_rb,0.30091e-04_rb,0.40288e-04_rb,0.46693e-04_rb /) kbo(:, 5,31, 2) = (/ & & 0.27334e-07_rb,0.19159e-04_rb,0.33773e-04_rb,0.45892e-04_rb,0.52314e-04_rb /) kbo(:, 1,32, 2) = (/ & & 0.17123e-07_rb,0.96453e-05_rb,0.16688e-04_rb,0.22528e-04_rb,0.26648e-04_rb /) kbo(:, 2,32, 2) = (/ & & 0.18489e-07_rb,0.11305e-04_rb,0.19464e-04_rb,0.26137e-04_rb,0.30617e-04_rb /) kbo(:, 3,32, 2) = (/ & & 0.19621e-07_rb,0.13143e-04_rb,0.22554e-04_rb,0.30238e-04_rb,0.34876e-04_rb /) kbo(:, 4,32, 2) = (/ & & 0.20653e-07_rb,0.14698e-04_rb,0.25928e-04_rb,0.34712e-04_rb,0.39398e-04_rb /) kbo(:, 5,32, 2) = (/ & & 0.21500e-07_rb,0.16315e-04_rb,0.28651e-04_rb,0.39302e-04_rb,0.44097e-04_rb /) kbo(:, 1,33, 2) = (/ & & 0.13414e-07_rb,0.83355e-05_rb,0.14409e-04_rb,0.19461e-04_rb,0.22582e-04_rb /) kbo(:, 2,33, 2) = (/ & & 0.14456e-07_rb,0.97647e-05_rb,0.16818e-04_rb,0.22578e-04_rb,0.25923e-04_rb /) kbo(:, 3,33, 2) = (/ & & 0.15416e-07_rb,0.11250e-04_rb,0.19451e-04_rb,0.26119e-04_rb,0.29482e-04_rb /) kbo(:, 4,33, 2) = (/ & & 0.16184e-07_rb,0.12520e-04_rb,0.22064e-04_rb,0.29911e-04_rb,0.33230e-04_rb /) kbo(:, 5,33, 2) = (/ & & 0.16861e-07_rb,0.13810e-04_rb,0.24332e-04_rb,0.33363e-04_rb,0.37135e-04_rb /) kbo(:, 1,34, 2) = (/ & & 0.10575e-07_rb,0.71786e-05_rb,0.12407e-04_rb,0.16719e-04_rb,0.19158e-04_rb /) kbo(:, 2,34, 2) = (/ & & 0.11328e-07_rb,0.84093e-05_rb,0.14457e-04_rb,0.19433e-04_rb,0.21940e-04_rb /) kbo(:, 3,34, 2) = (/ & & 0.12049e-07_rb,0.95860e-05_rb,0.16718e-04_rb,0.22425e-04_rb,0.24932e-04_rb /) kbo(:, 4,34, 2) = (/ & & 0.12689e-07_rb,0.10655e-04_rb,0.18771e-04_rb,0.25647e-04_rb,0.28065e-04_rb /) kbo(:, 5,34, 2) = (/ & & 0.13241e-07_rb,0.11703e-04_rb,0.20628e-04_rb,0.28184e-04_rb,0.31323e-04_rb /) kbo(:, 1,35, 2) = (/ & & 0.82489e-08_rb,0.60850e-05_rb,0.10505e-04_rb,0.14140e-04_rb,0.16004e-04_rb /) kbo(:, 2,35, 2) = (/ & & 0.88532e-08_rb,0.71306e-05_rb,0.12250e-04_rb,0.16463e-04_rb,0.18333e-04_rb /) kbo(:, 3,35, 2) = (/ & & 0.93468e-08_rb,0.80269e-05_rb,0.14158e-04_rb,0.18989e-04_rb,0.20835e-04_rb /) kbo(:, 4,35, 2) = (/ & & 0.98478e-08_rb,0.89450e-05_rb,0.15691e-04_rb,0.21576e-04_rb,0.23428e-04_rb /) kbo(:, 5,35, 2) = (/ & & 0.10332e-07_rb,0.98354e-05_rb,0.17293e-04_rb,0.23618e-04_rb,0.26128e-04_rb /) kbo(:, 1,36, 2) = (/ & & 0.63951e-08_rb,0.50545e-05_rb,0.87378e-05_rb,0.11778e-04_rb,0.13176e-04_rb /) kbo(:, 2,36, 2) = (/ & & 0.68252e-08_rb,0.59348e-05_rb,0.10193e-04_rb,0.13730e-04_rb,0.15104e-04_rb /) kbo(:, 3,36, 2) = (/ & & 0.72445e-08_rb,0.66480e-05_rb,0.11783e-04_rb,0.15832e-04_rb,0.17160e-04_rb /) kbo(:, 4,36, 2) = (/ & & 0.75871e-08_rb,0.73960e-05_rb,0.13005e-04_rb,0.17866e-04_rb,0.19295e-04_rb /) kbo(:, 5,36, 2) = (/ & & 0.79075e-08_rb,0.81558e-05_rb,0.14306e-04_rb,0.19617e-04_rb,0.21532e-04_rb /) kbo(:, 1,37, 2) = (/ & & 0.50574e-08_rb,0.41215e-05_rb,0.71249e-05_rb,0.95923e-05_rb,0.10686e-04_rb /) kbo(:, 2,37, 2) = (/ & & 0.53967e-08_rb,0.48518e-05_rb,0.83286e-05_rb,0.11206e-04_rb,0.12269e-04_rb /) kbo(:, 3,37, 2) = (/ & & 0.57517e-08_rb,0.54411e-05_rb,0.96383e-05_rb,0.12942e-04_rb,0.13958e-04_rb /) kbo(:, 4,37, 2) = (/ & & 0.60273e-08_rb,0.60590e-05_rb,0.10644e-04_rb,0.14619e-04_rb,0.15714e-04_rb /) kbo(:, 5,37, 2) = (/ & & 0.62775e-08_rb,0.66900e-05_rb,0.11723e-04_rb,0.16077e-04_rb,0.17560e-04_rb /) kbo(:, 1,38, 2) = (/ & & 0.39948e-08_rb,0.33535e-05_rb,0.57976e-05_rb,0.77989e-05_rb,0.86548e-05_rb /) kbo(:, 2,38, 2) = (/ & & 0.42642e-08_rb,0.39584e-05_rb,0.67932e-05_rb,0.91290e-05_rb,0.99507e-05_rb /) kbo(:, 3,38, 2) = (/ & & 0.45529e-08_rb,0.44478e-05_rb,0.78746e-05_rb,0.10563e-04_rb,0.11338e-04_rb /) kbo(:, 4,38, 2) = (/ & & 0.47911e-08_rb,0.49592e-05_rb,0.87019e-05_rb,0.11950e-04_rb,0.12783e-04_rb /) kbo(:, 5,38, 2) = (/ & & 0.49959e-08_rb,0.54820e-05_rb,0.95964e-05_rb,0.13155e-04_rb,0.14308e-04_rb /) kbo(:, 1,39, 2) = (/ & & 0.31607e-08_rb,0.27260e-05_rb,0.47143e-05_rb,0.63381e-05_rb,0.70094e-05_rb /) kbo(:, 2,39, 2) = (/ & & 0.33771e-08_rb,0.32263e-05_rb,0.55352e-05_rb,0.74322e-05_rb,0.80695e-05_rb /) kbo(:, 3,39, 2) = (/ & & 0.35907e-08_rb,0.36316e-05_rb,0.64256e-05_rb,0.86133e-05_rb,0.92019e-05_rb /) kbo(:, 4,39, 2) = (/ & & 0.37920e-08_rb,0.40555e-05_rb,0.71128e-05_rb,0.97677e-05_rb,0.10392e-04_rb /) kbo(:, 5,39, 2) = (/ & & 0.39687e-08_rb,0.44882e-05_rb,0.78499e-05_rb,0.10753e-04_rb,0.11647e-04_rb /) kbo(:, 1,40, 2) = (/ & & 0.25137e-08_rb,0.21782e-05_rb,0.37700e-05_rb,0.50636e-05_rb,0.55872e-05_rb /) kbo(:, 2,40, 2) = (/ & & 0.26953e-08_rb,0.25872e-05_rb,0.44411e-05_rb,0.59538e-05_rb,0.64693e-05_rb /) kbo(:, 3,40, 2) = (/ & & 0.28738e-08_rb,0.29415e-05_rb,0.51697e-05_rb,0.69217e-05_rb,0.73806e-05_rb /) kbo(:, 4,40, 2) = (/ & & 0.30365e-08_rb,0.32887e-05_rb,0.57574e-05_rb,0.79115e-05_rb,0.83547e-05_rb /) kbo(:, 5,40, 2) = (/ & & 0.31827e-08_rb,0.36391e-05_rb,0.63730e-05_rb,0.87114e-05_rb,0.93854e-05_rb /) kbo(:, 1,41, 2) = (/ & & 0.20049e-08_rb,0.17350e-05_rb,0.30089e-05_rb,0.40342e-05_rb,0.44437e-05_rb /) kbo(:, 2,41, 2) = (/ & & 0.21522e-08_rb,0.20685e-05_rb,0.35532e-05_rb,0.47542e-05_rb,0.51577e-05_rb /) kbo(:, 3,41, 2) = (/ & & 0.22978e-08_rb,0.23716e-05_rb,0.41490e-05_rb,0.55459e-05_rb,0.59029e-05_rb /) kbo(:, 4,41, 2) = (/ & & 0.24277e-08_rb,0.26608e-05_rb,0.46585e-05_rb,0.63928e-05_rb,0.67015e-05_rb /) kbo(:, 5,41, 2) = (/ & & 0.25592e-08_rb,0.29434e-05_rb,0.51614e-05_rb,0.70376e-05_rb,0.75472e-05_rb /) kbo(:, 1,42, 2) = (/ & & 0.16007e-08_rb,0.13793e-05_rb,0.23939e-05_rb,0.32203e-05_rb,0.35347e-05_rb /) kbo(:, 2,42, 2) = (/ & & 0.17182e-08_rb,0.16509e-05_rb,0.28388e-05_rb,0.37950e-05_rb,0.41069e-05_rb /) kbo(:, 3,42, 2) = (/ & & 0.18364e-08_rb,0.19058e-05_rb,0.33250e-05_rb,0.44386e-05_rb,0.47169e-05_rb /) kbo(:, 4,42, 2) = (/ & & 0.19459e-08_rb,0.21436e-05_rb,0.37676e-05_rb,0.51389e-05_rb,0.53710e-05_rb /) kbo(:, 5,42, 2) = (/ & & 0.20555e-08_rb,0.23781e-05_rb,0.41722e-05_rb,0.56915e-05_rb,0.60613e-05_rb /) kbo(:, 1,43, 2) = (/ & & 0.12763e-08_rb,0.10855e-05_rb,0.18842e-05_rb,0.25355e-05_rb,0.27894e-05_rb /) kbo(:, 2,43, 2) = (/ & & 0.13693e-08_rb,0.13038e-05_rb,0.22434e-05_rb,0.29991e-05_rb,0.32452e-05_rb /) kbo(:, 3,43, 2) = (/ & & 0.14669e-08_rb,0.15227e-05_rb,0.26394e-05_rb,0.35195e-05_rb,0.37403e-05_rb /) kbo(:, 4,43, 2) = (/ & & 0.15621e-08_rb,0.17145e-05_rb,0.30188e-05_rb,0.40881e-05_rb,0.42757e-05_rb /) kbo(:, 5,43, 2) = (/ & & 0.16467e-08_rb,0.19093e-05_rb,0.33481e-05_rb,0.45768e-05_rb,0.48357e-05_rb /) kbo(:, 1,44, 2) = (/ & & 0.10164e-08_rb,0.84908e-06_rb,0.14741e-05_rb,0.19864e-05_rb,0.21744e-05_rb /) kbo(:, 2,44, 2) = (/ & & 0.10926e-08_rb,0.10232e-05_rb,0.17642e-05_rb,0.23536e-05_rb,0.25562e-05_rb /) kbo(:, 3,44, 2) = (/ & & 0.11717e-08_rb,0.12156e-05_rb,0.20836e-05_rb,0.27750e-05_rb,0.29547e-05_rb /) kbo(:, 4,44, 2) = (/ & & 0.12502e-08_rb,0.13671e-05_rb,0.24149e-05_rb,0.32374e-05_rb,0.33856e-05_rb /) kbo(:, 5,44, 2) = (/ & & 0.13204e-08_rb,0.15290e-05_rb,0.26801e-05_rb,0.36631e-05_rb,0.38430e-05_rb /) kbo(:, 1,45, 2) = (/ & & 0.80967e-09_rb,0.66247e-06_rb,0.11525e-05_rb,0.15557e-05_rb,0.16911e-05_rb /) kbo(:, 2,45, 2) = (/ & & 0.87091e-09_rb,0.80114e-06_rb,0.13838e-05_rb,0.18457e-05_rb,0.20071e-05_rb /) kbo(:, 3,45, 2) = (/ & & 0.93471e-09_rb,0.96063e-06_rb,0.16414e-05_rb,0.21862e-05_rb,0.23357e-05_rb /) kbo(:, 4,45, 2) = (/ & & 0.99996e-09_rb,0.10898e-05_rb,0.19287e-05_rb,0.25587e-05_rb,0.26765e-05_rb /) kbo(:, 5,45, 2) = (/ & & 0.10594e-08_rb,0.12255e-05_rb,0.21437e-05_rb,0.29239e-05_rb,0.30491e-05_rb /) kbo(:, 1,46, 2) = (/ & & 0.64438e-09_rb,0.51408e-06_rb,0.89692e-06_rb,0.12176e-05_rb,0.13094e-05_rb /) kbo(:, 2,46, 2) = (/ & & 0.69338e-09_rb,0.62335e-06_rb,0.10783e-05_rb,0.14408e-05_rb,0.15697e-05_rb /) kbo(:, 3,46, 2) = (/ & & 0.74249e-09_rb,0.75197e-06_rb,0.12859e-05_rb,0.17116e-05_rb,0.18286e-05_rb /) kbo(:, 4,46, 2) = (/ & & 0.79710e-09_rb,0.86785e-06_rb,0.15182e-05_rb,0.20117e-05_rb,0.21072e-05_rb /) kbo(:, 5,46, 2) = (/ & & 0.84966e-09_rb,0.97923e-06_rb,0.17156e-05_rb,0.23354e-05_rb,0.24096e-05_rb /) kbo(:, 1,47, 2) = (/ & & 0.51236e-09_rb,0.39483e-06_rb,0.69100e-06_rb,0.94871e-06_rb,0.10050e-05_rb /) kbo(:, 2,47, 2) = (/ & & 0.55075e-09_rb,0.48075e-06_rb,0.83326e-06_rb,0.11171e-05_rb,0.12169e-05_rb /) kbo(:, 3,47, 2) = (/ & & 0.59153e-09_rb,0.58279e-06_rb,0.99922e-06_rb,0.13307e-05_rb,0.14227e-05_rb /) kbo(:, 4,47, 2) = (/ & & 0.63485e-09_rb,0.68347e-06_rb,0.11845e-05_rb,0.15696e-05_rb,0.16474e-05_rb /) kbo(:, 5,47, 2) = (/ & & 0.67833e-09_rb,0.77359e-06_rb,0.13593e-05_rb,0.18329e-05_rb,0.18933e-05_rb /) kbo(:, 1,48, 2) = (/ & & 0.40749e-09_rb,0.30162e-06_rb,0.53408e-06_rb,0.72777e-06_rb,0.76768e-06_rb /) kbo(:, 2,48, 2) = (/ & & 0.43682e-09_rb,0.36975e-06_rb,0.64201e-06_rb,0.86174e-06_rb,0.93334e-06_rb /) kbo(:, 3,48, 2) = (/ & & 0.46981e-09_rb,0.45015e-06_rb,0.77460e-06_rb,0.10306e-05_rb,0.11092e-05_rb /) kbo(:, 4,48, 2) = (/ & & 0.50302e-09_rb,0.53912e-06_rb,0.92171e-06_rb,0.12225e-05_rb,0.12874e-05_rb /) kbo(:, 5,48, 2) = (/ & & 0.53999e-09_rb,0.61013e-06_rb,0.10790e-05_rb,0.14334e-05_rb,0.14828e-05_rb /) kbo(:, 1,49, 2) = (/ & & 0.32288e-09_rb,0.23115e-06_rb,0.41625e-06_rb,0.55318e-06_rb,0.58476e-06_rb /) kbo(:, 2,49, 2) = (/ & & 0.34731e-09_rb,0.28355e-06_rb,0.49493e-06_rb,0.66850e-06_rb,0.71600e-06_rb /) kbo(:, 3,49, 2) = (/ & & 0.37310e-09_rb,0.34682e-06_rb,0.59820e-06_rb,0.79617e-06_rb,0.85985e-06_rb /) kbo(:, 4,49, 2) = (/ & & 0.39975e-09_rb,0.42034e-06_rb,0.71527e-06_rb,0.95046e-06_rb,0.10041e-05_rb /) kbo(:, 5,49, 2) = (/ & & 0.42970e-09_rb,0.48341e-06_rb,0.84829e-06_rb,0.11191e-05_rb,0.11582e-05_rb /) kbo(:, 1,50, 2) = (/ & & 0.25646e-09_rb,0.17743e-06_rb,0.32423e-06_rb,0.42175e-06_rb,0.44754e-06_rb /) kbo(:, 2,50, 2) = (/ & & 0.27669e-09_rb,0.21856e-06_rb,0.38220e-06_rb,0.52102e-06_rb,0.55141e-06_rb /) kbo(:, 3,50, 2) = (/ & & 0.29654e-09_rb,0.26808e-06_rb,0.46375e-06_rb,0.61921e-06_rb,0.67025e-06_rb /) kbo(:, 4,50, 2) = (/ & & 0.31872e-09_rb,0.32662e-06_rb,0.55687e-06_rb,0.73985e-06_rb,0.78291e-06_rb /) kbo(:, 5,50, 2) = (/ & & 0.34198e-09_rb,0.38136e-06_rb,0.66385e-06_rb,0.87591e-06_rb,0.90771e-06_rb /) kbo(:, 1,51, 2) = (/ & & 0.20472e-09_rb,0.13694e-06_rb,0.24726e-06_rb,0.32216e-06_rb,0.34229e-06_rb /) kbo(:, 2,51, 2) = (/ & & 0.22054e-09_rb,0.16842e-06_rb,0.29646e-06_rb,0.40635e-06_rb,0.42402e-06_rb /) kbo(:, 3,51, 2) = (/ & & 0.23653e-09_rb,0.20731e-06_rb,0.35913e-06_rb,0.48027e-06_rb,0.51714e-06_rb /) kbo(:, 4,51, 2) = (/ & & 0.25402e-09_rb,0.25379e-06_rb,0.43377e-06_rb,0.57689e-06_rb,0.61228e-06_rb /) kbo(:, 5,51, 2) = (/ & & 0.27233e-09_rb,0.30202e-06_rb,0.51940e-06_rb,0.68626e-06_rb,0.71146e-06_rb /) kbo(:, 1,52, 2) = (/ & & 0.16428e-09_rb,0.10687e-06_rb,0.18803e-06_rb,0.24517e-06_rb,0.26090e-06_rb /) kbo(:, 2,52, 2) = (/ & & 0.17520e-09_rb,0.12978e-06_rb,0.23025e-06_rb,0.31106e-06_rb,0.32512e-06_rb /) kbo(:, 3,52, 2) = (/ & & 0.18865e-09_rb,0.15994e-06_rb,0.27726e-06_rb,0.37261e-06_rb,0.39888e-06_rb /) kbo(:, 4,52, 2) = (/ & & 0.20265e-09_rb,0.19670e-06_rb,0.33708e-06_rb,0.44845e-06_rb,0.47779e-06_rb /) kbo(:, 5,52, 2) = (/ & & 0.21711e-09_rb,0.23739e-06_rb,0.40528e-06_rb,0.53668e-06_rb,0.55828e-06_rb /) kbo(:, 1,53, 2) = (/ & & 0.13206e-09_rb,0.82677e-07_rb,0.14284e-06_rb,0.18640e-06_rb,0.19898e-06_rb /) kbo(:, 2,53, 2) = (/ & & 0.13938e-09_rb,0.99597e-07_rb,0.18095e-06_rb,0.23725e-06_rb,0.24911e-06_rb /) kbo(:, 3,53, 2) = (/ & & 0.15056e-09_rb,0.12309e-06_rb,0.21494e-06_rb,0.29026e-06_rb,0.30720e-06_rb /) kbo(:, 4,53, 2) = (/ & & 0.16136e-09_rb,0.15205e-06_rb,0.26147e-06_rb,0.34774e-06_rb,0.37331e-06_rb /) kbo(:, 5,53, 2) = (/ & & 0.17318e-09_rb,0.18547e-06_rb,0.31566e-06_rb,0.41857e-06_rb,0.43649e-06_rb /) kbo(:, 1,54, 2) = (/ & & 0.10628e-09_rb,0.63529e-07_rb,0.10938e-06_rb,0.14285e-06_rb,0.15281e-06_rb /) kbo(:, 2,54, 2) = (/ & & 0.11181e-09_rb,0.77068e-07_rb,0.14036e-06_rb,0.18201e-06_rb,0.19163e-06_rb /) kbo(:, 3,54, 2) = (/ & & 0.11992e-09_rb,0.95387e-07_rb,0.16692e-06_rb,0.22878e-06_rb,0.23824e-06_rb /) kbo(:, 4,54, 2) = (/ & & 0.12900e-09_rb,0.11809e-06_rb,0.20406e-06_rb,0.27163e-06_rb,0.29078e-06_rb /) kbo(:, 5,54, 2) = (/ & & 0.13828e-09_rb,0.14510e-06_rb,0.24678e-06_rb,0.32753e-06_rb,0.34217e-06_rb /) kbo(:, 1,55, 2) = (/ & & 0.85664e-10_rb,0.48444e-07_rb,0.83932e-07_rb,0.10950e-06_rb,0.11785e-06_rb /) kbo(:, 2,55, 2) = (/ & & 0.89999e-10_rb,0.59885e-07_rb,0.10776e-06_rb,0.14023e-06_rb,0.14763e-06_rb /) kbo(:, 3,55, 2) = (/ & & 0.95836e-10_rb,0.73941e-07_rb,0.13023e-06_rb,0.17876e-06_rb,0.18426e-06_rb /) kbo(:, 4,55, 2) = (/ & & 0.10323e-09_rb,0.91791e-07_rb,0.15882e-06_rb,0.21202e-06_rb,0.22611e-06_rb /) kbo(:, 5,55, 2) = (/ & & 0.11081e-09_rb,0.11336e-06_rb,0.19316e-06_rb,0.25647e-06_rb,0.26918e-06_rb /) kbo(:, 1,56, 2) = (/ & & 0.69093e-10_rb,0.36832e-07_rb,0.64123e-07_rb,0.84030e-07_rb,0.90974e-07_rb /) kbo(:, 2,56, 2) = (/ & & 0.72433e-10_rb,0.47084e-07_rb,0.82613e-07_rb,0.10758e-06_rb,0.11346e-06_rb /) kbo(:, 3,56, 2) = (/ & & 0.76616e-10_rb,0.57388e-07_rb,0.10182e-06_rb,0.13768e-06_rb,0.14224e-06_rb /) kbo(:, 4,56, 2) = (/ & & 0.82709e-10_rb,0.71294e-07_rb,0.12355e-06_rb,0.16530e-06_rb,0.17549e-06_rb /) kbo(:, 5,56, 2) = (/ & & 0.88636e-10_rb,0.88445e-07_rb,0.15094e-06_rb,0.20067e-06_rb,0.21118e-06_rb /) kbo(:, 1,57, 2) = (/ & & 0.55980e-10_rb,0.28018e-07_rb,0.48867e-07_rb,0.64857e-07_rb,0.70055e-07_rb /) kbo(:, 2,57, 2) = (/ & & 0.58397e-10_rb,0.36620e-07_rb,0.63232e-07_rb,0.82428e-07_rb,0.87457e-07_rb /) kbo(:, 3,57, 2) = (/ & & 0.61509e-10_rb,0.44446e-07_rb,0.80512e-07_rb,0.10580e-06_rb,0.10988e-06_rb /) kbo(:, 4,57, 2) = (/ & & 0.66015e-10_rb,0.55222e-07_rb,0.96401e-07_rb,0.12935e-06_rb,0.13614e-06_rb /) kbo(:, 5,57, 2) = (/ & & 0.70976e-10_rb,0.68821e-07_rb,0.11780e-06_rb,0.15632e-06_rb,0.16586e-06_rb /) kbo(:, 1,58, 2) = (/ & & 0.45722e-10_rb,0.21506e-07_rb,0.37326e-07_rb,0.50333e-07_rb,0.54855e-07_rb /) kbo(:, 2,58, 2) = (/ & & 0.47090e-10_rb,0.28249e-07_rb,0.48612e-07_rb,0.63442e-07_rb,0.67550e-07_rb /) kbo(:, 3,58, 2) = (/ & & 0.49550e-10_rb,0.34430e-07_rb,0.62769e-07_rb,0.81509e-07_rb,0.84917e-07_rb /) kbo(:, 4,58, 2) = (/ & & 0.52817e-10_rb,0.42958e-07_rb,0.75173e-07_rb,0.10204e-06_rb,0.10603e-06_rb /) kbo(:, 5,58, 2) = (/ & & 0.56864e-10_rb,0.53637e-07_rb,0.92044e-07_rb,0.12229e-06_rb,0.13011e-06_rb /) kbo(:, 1,59, 2) = (/ & & 0.37496e-10_rb,0.17255e-07_rb,0.29967e-07_rb,0.40394e-07_rb,0.44059e-07_rb /) kbo(:, 2,59, 2) = (/ & & 0.38367e-10_rb,0.22782e-07_rb,0.39144e-07_rb,0.51019e-07_rb,0.54404e-07_rb /) kbo(:, 3,59, 2) = (/ & & 0.40346e-10_rb,0.27842e-07_rb,0.50692e-07_rb,0.65716e-07_rb,0.68440e-07_rb /) kbo(:, 4,59, 2) = (/ & & 0.42908e-10_rb,0.34761e-07_rb,0.60846e-07_rb,0.82834e-07_rb,0.85713e-07_rb /) kbo(:, 5,59, 2) = (/ & & 0.46213e-10_rb,0.43467e-07_rb,0.74626e-07_rb,0.99144e-07_rb,0.10518e-06_rb /) kbo(:, 1,13, 3) = (/ & & 0.91180e-05_rb,0.12754e-02_rb,0.19900e-02_rb,0.24440e-02_rb,0.40576e-02_rb /) kbo(:, 2,13, 3) = (/ & & 0.95037e-05_rb,0.14150e-02_rb,0.22145e-02_rb,0.28094e-02_rb,0.44375e-02_rb /) kbo(:, 3,13, 3) = (/ & & 0.99757e-05_rb,0.15626e-02_rb,0.24320e-02_rb,0.31375e-02_rb,0.48097e-02_rb /) kbo(:, 4,13, 3) = (/ & & 0.10508e-04_rb,0.16997e-02_rb,0.26926e-02_rb,0.34483e-02_rb,0.51554e-02_rb /) kbo(:, 5,13, 3) = (/ & & 0.11033e-04_rb,0.18373e-02_rb,0.29684e-02_rb,0.37861e-02_rb,0.54896e-02_rb /) kbo(:, 1,14, 3) = (/ & & 0.73209e-05_rb,0.10727e-02_rb,0.16787e-02_rb,0.20881e-02_rb,0.33041e-02_rb /) kbo(:, 2,14, 3) = (/ & & 0.76795e-05_rb,0.11937e-02_rb,0.18683e-02_rb,0.23616e-02_rb,0.36246e-02_rb /) kbo(:, 3,14, 3) = (/ & & 0.80417e-05_rb,0.13177e-02_rb,0.20567e-02_rb,0.26465e-02_rb,0.39438e-02_rb /) kbo(:, 4,14, 3) = (/ & & 0.84296e-05_rb,0.14317e-02_rb,0.22826e-02_rb,0.29022e-02_rb,0.42368e-02_rb /) kbo(:, 5,14, 3) = (/ & & 0.88950e-05_rb,0.15495e-02_rb,0.25084e-02_rb,0.31901e-02_rb,0.44992e-02_rb /) kbo(:, 1,15, 3) = (/ & & 0.58275e-05_rb,0.89895e-03_rb,0.14161e-02_rb,0.17760e-02_rb,0.26508e-02_rb /) kbo(:, 2,15, 3) = (/ & & 0.61166e-05_rb,0.10025e-02_rb,0.15706e-02_rb,0.19893e-02_rb,0.29219e-02_rb /) kbo(:, 3,15, 3) = (/ & & 0.64340e-05_rb,0.11055e-02_rb,0.17375e-02_rb,0.22237e-02_rb,0.31718e-02_rb /) kbo(:, 4,15, 3) = (/ & & 0.67501e-05_rb,0.12028e-02_rb,0.19291e-02_rb,0.24433e-02_rb,0.34015e-02_rb /) kbo(:, 5,15, 3) = (/ & & 0.70843e-05_rb,0.13034e-02_rb,0.21152e-02_rb,0.26892e-02_rb,0.36350e-02_rb /) kbo(:, 1,16, 3) = (/ & & 0.45776e-05_rb,0.75233e-03_rb,0.11906e-02_rb,0.14957e-02_rb,0.21076e-02_rb /) kbo(:, 2,16, 3) = (/ & & 0.48262e-05_rb,0.84051e-03_rb,0.13192e-02_rb,0.16780e-02_rb,0.23267e-02_rb /) kbo(:, 3,16, 3) = (/ & & 0.51024e-05_rb,0.92603e-03_rb,0.14653e-02_rb,0.18671e-02_rb,0.25242e-02_rb /) kbo(:, 4,16, 3) = (/ & & 0.53856e-05_rb,0.10093e-02_rb,0.16288e-02_rb,0.20599e-02_rb,0.27134e-02_rb /) kbo(:, 5,16, 3) = (/ & & 0.56625e-05_rb,0.10939e-02_rb,0.17834e-02_rb,0.22693e-02_rb,0.29092e-02_rb /) kbo(:, 1,17, 3) = (/ & & 0.35978e-05_rb,0.63055e-03_rb,0.10001e-02_rb,0.12618e-02_rb,0.16759e-02_rb /) kbo(:, 2,17, 3) = (/ & & 0.38090e-05_rb,0.70519e-03_rb,0.11080e-02_rb,0.14142e-02_rb,0.18563e-02_rb /) kbo(:, 3,17, 3) = (/ & & 0.40365e-05_rb,0.77593e-03_rb,0.12352e-02_rb,0.15692e-02_rb,0.20215e-02_rb /) kbo(:, 4,17, 3) = (/ & & 0.42692e-05_rb,0.84648e-03_rb,0.13753e-02_rb,0.17361e-02_rb,0.21882e-02_rb /) kbo(:, 5,17, 3) = (/ & & 0.45325e-05_rb,0.91815e-03_rb,0.15031e-02_rb,0.19156e-02_rb,0.23511e-02_rb /) kbo(:, 1,18, 3) = (/ & & 0.28577e-05_rb,0.52923e-03_rb,0.84060e-03_rb,0.10641e-02_rb,0.13524e-02_rb /) kbo(:, 2,18, 3) = (/ & & 0.30189e-05_rb,0.59275e-03_rb,0.93264e-03_rb,0.11925e-02_rb,0.15051e-02_rb /) kbo(:, 3,18, 3) = (/ & & 0.31971e-05_rb,0.65140e-03_rb,0.10422e-02_rb,0.13174e-02_rb,0.16413e-02_rb /) kbo(:, 4,18, 3) = (/ & & 0.33981e-05_rb,0.71144e-03_rb,0.11594e-02_rb,0.14613e-02_rb,0.17851e-02_rb /) kbo(:, 5,18, 3) = (/ & & 0.36127e-05_rb,0.77200e-03_rb,0.12685e-02_rb,0.16164e-02_rb,0.19166e-02_rb /) kbo(:, 1,19, 3) = (/ & & 0.22832e-05_rb,0.44489e-03_rb,0.70523e-03_rb,0.89150e-03_rb,0.11054e-02_rb /) kbo(:, 2,19, 3) = (/ & & 0.24005e-05_rb,0.49860e-03_rb,0.78596e-03_rb,0.10033e-02_rb,0.12310e-02_rb /) kbo(:, 3,19, 3) = (/ & & 0.25465e-05_rb,0.54746e-03_rb,0.88096e-03_rb,0.11084e-02_rb,0.13479e-02_rb /) kbo(:, 4,19, 3) = (/ & & 0.27167e-05_rb,0.59760e-03_rb,0.97685e-03_rb,0.12305e-02_rb,0.14668e-02_rb /) kbo(:, 5,19, 3) = (/ & & 0.28927e-05_rb,0.64844e-03_rb,0.10695e-02_rb,0.13632e-02_rb,0.15746e-02_rb /) kbo(:, 1,20, 3) = (/ & & 0.18426e-05_rb,0.37567e-03_rb,0.59276e-03_rb,0.75002e-03_rb,0.91159e-03_rb /) kbo(:, 2,20, 3) = (/ & & 0.19324e-05_rb,0.42049e-03_rb,0.66376e-03_rb,0.84304e-03_rb,0.10175e-02_rb /) kbo(:, 3,20, 3) = (/ & & 0.20563e-05_rb,0.46104e-03_rb,0.74561e-03_rb,0.93568e-03_rb,0.11153e-02_rb /) kbo(:, 4,20, 3) = (/ & & 0.21952e-05_rb,0.50302e-03_rb,0.82491e-03_rb,0.10410e-02_rb,0.12131e-02_rb /) kbo(:, 5,20, 3) = (/ & & 0.23429e-05_rb,0.54570e-03_rb,0.90324e-03_rb,0.11512e-02_rb,0.13002e-02_rb /) kbo(:, 1,21, 3) = (/ & & 0.14914e-05_rb,0.31727e-03_rb,0.49879e-03_rb,0.63141e-03_rb,0.75480e-03_rb /) kbo(:, 2,21, 3) = (/ & & 0.15711e-05_rb,0.35367e-03_rb,0.56105e-03_rb,0.70859e-03_rb,0.84278e-03_rb /) kbo(:, 3,21, 3) = (/ & & 0.16720e-05_rb,0.38776e-03_rb,0.63122e-03_rb,0.79066e-03_rb,0.92492e-03_rb /) kbo(:, 4,21, 3) = (/ & & 0.17830e-05_rb,0.42327e-03_rb,0.69655e-03_rb,0.88311e-03_rb,0.10041e-02_rb /) kbo(:, 5,21, 3) = (/ & & 0.19065e-05_rb,0.45905e-03_rb,0.76238e-03_rb,0.97320e-03_rb,0.10767e-02_rb /) kbo(:, 1,22, 3) = (/ & & 0.12007e-05_rb,0.26976e-03_rb,0.42316e-03_rb,0.53750e-03_rb,0.62747e-03_rb /) kbo(:, 2,22, 3) = (/ & & 0.12744e-05_rb,0.29880e-03_rb,0.47840e-03_rb,0.60094e-03_rb,0.70134e-03_rb /) kbo(:, 3,22, 3) = (/ & & 0.13572e-05_rb,0.32813e-03_rb,0.53672e-03_rb,0.67341e-03_rb,0.76916e-03_rb /) kbo(:, 4,22, 3) = (/ & & 0.14459e-05_rb,0.35761e-03_rb,0.59154e-03_rb,0.75421e-03_rb,0.83371e-03_rb /) kbo(:, 5,22, 3) = (/ & & 0.15538e-05_rb,0.38792e-03_rb,0.64663e-03_rb,0.82877e-03_rb,0.89529e-03_rb /) kbo(:, 1,23, 3) = (/ & & 0.96861e-06_rb,0.22918e-03_rb,0.36015e-03_rb,0.45719e-03_rb,0.52404e-03_rb /) kbo(:, 2,23, 3) = (/ & & 0.10336e-05_rb,0.25321e-03_rb,0.40834e-03_rb,0.51161e-03_rb,0.58351e-03_rb /) kbo(:, 3,23, 3) = (/ & & 0.10985e-05_rb,0.27767e-03_rb,0.45571e-03_rb,0.57459e-03_rb,0.63985e-03_rb /) kbo(:, 4,23, 3) = (/ & & 0.11768e-05_rb,0.30252e-03_rb,0.50195e-03_rb,0.64190e-03_rb,0.69303e-03_rb /) kbo(:, 5,23, 3) = (/ & & 0.12615e-05_rb,0.32794e-03_rb,0.54831e-03_rb,0.70579e-03_rb,0.74540e-03_rb /) kbo(:, 1,24, 3) = (/ & & 0.77560e-06_rb,0.19437e-03_rb,0.30748e-03_rb,0.38828e-03_rb,0.43529e-03_rb /) kbo(:, 2,24, 3) = (/ & & 0.82580e-06_rb,0.21438e-03_rb,0.34835e-03_rb,0.43617e-03_rb,0.48373e-03_rb /) kbo(:, 3,24, 3) = (/ & & 0.88200e-06_rb,0.23492e-03_rb,0.38680e-03_rb,0.49169e-03_rb,0.53189e-03_rb /) kbo(:, 4,24, 3) = (/ & & 0.94947e-06_rb,0.25573e-03_rb,0.42635e-03_rb,0.54641e-03_rb,0.57637e-03_rb /) kbo(:, 5,24, 3) = (/ & & 0.10182e-05_rb,0.27745e-03_rb,0.46607e-03_rb,0.60046e-03_rb,0.61998e-03_rb /) kbo(:, 1,25, 3) = (/ & & 0.61963e-06_rb,0.16454e-03_rb,0.26284e-03_rb,0.33016e-03_rb,0.36284e-03_rb /) kbo(:, 2,25, 3) = (/ & & 0.66146e-06_rb,0.18162e-03_rb,0.29714e-03_rb,0.37315e-03_rb,0.40370e-03_rb /) kbo(:, 3,25, 3) = (/ & & 0.71111e-06_rb,0.19882e-03_rb,0.32942e-03_rb,0.42130e-03_rb,0.44382e-03_rb /) kbo(:, 4,25, 3) = (/ & & 0.76573e-06_rb,0.21663e-03_rb,0.36228e-03_rb,0.46640e-03_rb,0.48052e-03_rb /) kbo(:, 5,25, 3) = (/ & & 0.82100e-06_rb,0.23503e-03_rb,0.39627e-03_rb,0.51132e-03_rb,0.51776e-03_rb /) kbo(:, 1,26, 3) = (/ & & 0.49718e-06_rb,0.13982e-03_rb,0.22523e-03_rb,0.28275e-03_rb,0.30558e-03_rb /) kbo(:, 2,26, 3) = (/ & & 0.53365e-06_rb,0.15431e-03_rb,0.25368e-03_rb,0.32044e-03_rb,0.33895e-03_rb /) kbo(:, 3,26, 3) = (/ & & 0.57705e-06_rb,0.16884e-03_rb,0.28082e-03_rb,0.36019e-03_rb,0.37173e-03_rb /) kbo(:, 4,26, 3) = (/ & & 0.62061e-06_rb,0.18393e-03_rb,0.30865e-03_rb,0.39866e-03_rb,0.40243e-03_rb /) kbo(:, 5,26, 3) = (/ & & 0.66427e-06_rb,0.19968e-03_rb,0.33757e-03_rb,0.43663e-03_rb,0.43309e-03_rb /) kbo(:, 1,27, 3) = (/ & & 0.39961e-06_rb,0.11889e-03_rb,0.19361e-03_rb,0.24270e-03_rb,0.25693e-03_rb /) kbo(:, 2,27, 3) = (/ & & 0.43136e-06_rb,0.13100e-03_rb,0.21632e-03_rb,0.27591e-03_rb,0.28463e-03_rb /) kbo(:, 3,27, 3) = (/ & & 0.46490e-06_rb,0.14333e-03_rb,0.23966e-03_rb,0.30849e-03_rb,0.31106e-03_rb /) kbo(:, 4,27, 3) = (/ & & 0.50009e-06_rb,0.15630e-03_rb,0.26346e-03_rb,0.34083e-03_rb,0.33713e-03_rb /) kbo(:, 5,27, 3) = (/ & & 0.53808e-06_rb,0.16999e-03_rb,0.28768e-03_rb,0.37323e-03_rb,0.36279e-03_rb /) kbo(:, 1,28, 3) = (/ & & 0.31986e-06_rb,0.10106e-03_rb,0.16585e-03_rb,0.20891e-03_rb,0.21558e-03_rb /) kbo(:, 2,28, 3) = (/ & & 0.34540e-06_rb,0.11119e-03_rb,0.18500e-03_rb,0.23760e-03_rb,0.23854e-03_rb /) kbo(:, 3,28, 3) = (/ & & 0.37226e-06_rb,0.12183e-03_rb,0.20456e-03_rb,0.26419e-03_rb,0.26053e-03_rb /) kbo(:, 4,28, 3) = (/ & & 0.40317e-06_rb,0.13290e-03_rb,0.22487e-03_rb,0.29156e-03_rb,0.28262e-03_rb /) kbo(:, 5,28, 3) = (/ & & 0.43271e-06_rb,0.14482e-03_rb,0.24541e-03_rb,0.31934e-03_rb,0.30419e-03_rb /) kbo(:, 1,29, 3) = (/ & & 0.25677e-06_rb,0.86060e-04_rb,0.14206e-03_rb,0.18023e-03_rb,0.18141e-03_rb /) kbo(:, 2,29, 3) = (/ & & 0.27736e-06_rb,0.94677e-04_rb,0.15841e-03_rb,0.20378e-03_rb,0.20088e-03_rb /) kbo(:, 3,29, 3) = (/ & & 0.30104e-06_rb,0.10372e-03_rb,0.17515e-03_rb,0.22663e-03_rb,0.21921e-03_rb /) kbo(:, 4,29, 3) = (/ & & 0.32584e-06_rb,0.11340e-03_rb,0.19232e-03_rb,0.24953e-03_rb,0.23789e-03_rb /) kbo(:, 5,29, 3) = (/ & & 0.34891e-06_rb,0.12368e-03_rb,0.20976e-03_rb,0.27364e-03_rb,0.25570e-03_rb /) kbo(:, 1,30, 3) = (/ & & 0.20556e-06_rb,0.73274e-04_rb,0.12170e-03_rb,0.15588e-03_rb,0.15312e-03_rb /) kbo(:, 2,30, 3) = (/ & & 0.22376e-06_rb,0.80651e-04_rb,0.13568e-03_rb,0.17524e-03_rb,0.16948e-03_rb /) kbo(:, 3,30, 3) = (/ & & 0.24313e-06_rb,0.88481e-04_rb,0.14992e-03_rb,0.19447e-03_rb,0.18477e-03_rb /) kbo(:, 4,30, 3) = (/ & & 0.26233e-06_rb,0.96824e-04_rb,0.16458e-03_rb,0.21409e-03_rb,0.20027e-03_rb /) kbo(:, 5,30, 3) = (/ & & 0.28249e-06_rb,0.10580e-03_rb,0.17987e-03_rb,0.23435e-03_rb,0.21532e-03_rb /) kbo(:, 1,31, 3) = (/ & & 0.16553e-06_rb,0.62536e-04_rb,0.10457e-03_rb,0.13443e-03_rb,0.12968e-03_rb /) kbo(:, 2,31, 3) = (/ & & 0.18078e-06_rb,0.68863e-04_rb,0.11643e-03_rb,0.15060e-03_rb,0.14304e-03_rb /) kbo(:, 3,31, 3) = (/ & & 0.19619e-06_rb,0.75670e-04_rb,0.12864e-03_rb,0.16681e-03_rb,0.15615e-03_rb /) kbo(:, 4,31, 3) = (/ & & 0.21158e-06_rb,0.82899e-04_rb,0.14114e-03_rb,0.18385e-03_rb,0.16911e-03_rb /) kbo(:, 5,31, 3) = (/ & & 0.22915e-06_rb,0.90629e-04_rb,0.15456e-03_rb,0.20099e-03_rb,0.18146e-03_rb /) kbo(:, 1,32, 3) = (/ & & 0.13380e-06_rb,0.53407e-04_rb,0.89930e-04_rb,0.11591e-03_rb,0.11005e-03_rb /) kbo(:, 2,32, 3) = (/ & & 0.14604e-06_rb,0.58887e-04_rb,0.10001e-03_rb,0.12963e-03_rb,0.12107e-03_rb /) kbo(:, 3,32, 3) = (/ & & 0.15848e-06_rb,0.64790e-04_rb,0.11040e-03_rb,0.14349e-03_rb,0.13230e-03_rb /) kbo(:, 4,32, 3) = (/ & & 0.17190e-06_rb,0.71169e-04_rb,0.12125e-03_rb,0.15792e-03_rb,0.14297e-03_rb /) kbo(:, 5,32, 3) = (/ & & 0.18587e-06_rb,0.77792e-04_rb,0.13292e-03_rb,0.17265e-03_rb,0.15308e-03_rb /) kbo(:, 1,33, 3) = (/ & & 0.10830e-06_rb,0.45686e-04_rb,0.77339e-04_rb,0.99867e-04_rb,0.93562e-04_rb /) kbo(:, 2,33, 3) = (/ & & 0.11765e-06_rb,0.50526e-04_rb,0.85959e-04_rb,0.11153e-03_rb,0.10269e-03_rb /) kbo(:, 3,33, 3) = (/ & & 0.12824e-06_rb,0.55627e-04_rb,0.94900e-04_rb,0.12354e-03_rb,0.11205e-03_rb /) kbo(:, 4,33, 3) = (/ & & 0.13958e-06_rb,0.61158e-04_rb,0.10440e-03_rb,0.13573e-03_rb,0.12099e-03_rb /) kbo(:, 5,33, 3) = (/ & & 0.15078e-06_rb,0.66909e-04_rb,0.11431e-03_rb,0.14861e-03_rb,0.12918e-03_rb /) kbo(:, 1,34, 3) = (/ & & 0.87537e-07_rb,0.39073e-04_rb,0.66330e-04_rb,0.85860e-04_rb,0.79296e-04_rb /) kbo(:, 2,34, 3) = (/ & & 0.95270e-07_rb,0.43282e-04_rb,0.73743e-04_rb,0.95733e-04_rb,0.87082e-04_rb /) kbo(:, 3,34, 3) = (/ & & 0.10423e-06_rb,0.47701e-04_rb,0.81447e-04_rb,0.10609e-03_rb,0.94857e-04_rb /) kbo(:, 4,34, 3) = (/ & & 0.11348e-06_rb,0.52484e-04_rb,0.89624e-04_rb,0.11638e-03_rb,0.10211e-03_rb /) kbo(:, 5,34, 3) = (/ & & 0.12289e-06_rb,0.57431e-04_rb,0.98122e-04_rb,0.12760e-03_rb,0.10866e-03_rb /) kbo(:, 1,35, 3) = (/ & & 0.69891e-07_rb,0.33129e-04_rb,0.56323e-04_rb,0.73036e-04_rb,0.66568e-04_rb /) kbo(:, 2,35, 3) = (/ & & 0.76465e-07_rb,0.36724e-04_rb,0.62627e-04_rb,0.81520e-04_rb,0.73176e-04_rb /) kbo(:, 3,35, 3) = (/ & & 0.83833e-07_rb,0.40619e-04_rb,0.69293e-04_rb,0.90161e-04_rb,0.79548e-04_rb /) kbo(:, 4,35, 3) = (/ & & 0.91436e-07_rb,0.44671e-04_rb,0.76362e-04_rb,0.99075e-04_rb,0.85497e-04_rb /) kbo(:, 5,35, 3) = (/ & & 0.99263e-07_rb,0.48886e-04_rb,0.83550e-04_rb,0.10849e-03_rb,0.90720e-04_rb /) kbo(:, 1,36, 3) = (/ & & 0.55080e-07_rb,0.27796e-04_rb,0.47261e-04_rb,0.61299e-04_rb,0.55237e-04_rb /) kbo(:, 2,36, 3) = (/ & & 0.60562e-07_rb,0.30850e-04_rb,0.52635e-04_rb,0.68515e-04_rb,0.60794e-04_rb /) kbo(:, 3,36, 3) = (/ & & 0.66440e-07_rb,0.34200e-04_rb,0.58298e-04_rb,0.75847e-04_rb,0.66097e-04_rb /) kbo(:, 4,36, 3) = (/ & & 0.72913e-07_rb,0.37650e-04_rb,0.64310e-04_rb,0.83530e-04_rb,0.71032e-04_rb /) kbo(:, 5,36, 3) = (/ & & 0.79545e-07_rb,0.41216e-04_rb,0.70397e-04_rb,0.91304e-04_rb,0.75193e-04_rb /) kbo(:, 1,37, 3) = (/ & & 0.43644e-07_rb,0.22997e-04_rb,0.39088e-04_rb,0.50714e-04_rb,0.45374e-04_rb /) kbo(:, 2,37, 3) = (/ & & 0.48182e-07_rb,0.25585e-04_rb,0.43661e-04_rb,0.56813e-04_rb,0.50057e-04_rb /) kbo(:, 3,37, 3) = (/ & & 0.53067e-07_rb,0.28429e-04_rb,0.48465e-04_rb,0.63020e-04_rb,0.54490e-04_rb /) kbo(:, 4,37, 3) = (/ & & 0.58349e-07_rb,0.31365e-04_rb,0.53603e-04_rb,0.69516e-04_rb,0.58585e-04_rb /) kbo(:, 5,37, 3) = (/ & & 0.63727e-07_rb,0.34398e-04_rb,0.58710e-04_rb,0.76032e-04_rb,0.62046e-04_rb /) kbo(:, 1,38, 3) = (/ & & 0.34661e-07_rb,0.19003e-04_rb,0.32295e-04_rb,0.41898e-04_rb,0.37207e-04_rb /) kbo(:, 2,38, 3) = (/ & & 0.38414e-07_rb,0.21200e-04_rb,0.36170e-04_rb,0.47045e-04_rb,0.41150e-04_rb /) kbo(:, 3,38, 3) = (/ & & 0.42378e-07_rb,0.23605e-04_rb,0.40247e-04_rb,0.52306e-04_rb,0.44872e-04_rb /) kbo(:, 4,38, 3) = (/ & & 0.46598e-07_rb,0.26110e-04_rb,0.44620e-04_rb,0.57800e-04_rb,0.48293e-04_rb /) kbo(:, 5,38, 3) = (/ & & 0.50995e-07_rb,0.28683e-04_rb,0.48935e-04_rb,0.63250e-04_rb,0.51155e-04_rb /) kbo(:, 1,39, 3) = (/ & & 0.27545e-07_rb,0.15700e-04_rb,0.26661e-04_rb,0.34603e-04_rb,0.30487e-04_rb /) kbo(:, 2,39, 3) = (/ & & 0.30553e-07_rb,0.17568e-04_rb,0.29948e-04_rb,0.38935e-04_rb,0.33813e-04_rb /) kbo(:, 3,39, 3) = (/ & & 0.33772e-07_rb,0.19601e-04_rb,0.33411e-04_rb,0.43403e-04_rb,0.36922e-04_rb /) kbo(:, 4,39, 3) = (/ & & 0.37164e-07_rb,0.21726e-04_rb,0.37113e-04_rb,0.48030e-04_rb,0.39771e-04_rb /) kbo(:, 5,39, 3) = (/ & & 0.40795e-07_rb,0.23901e-04_rb,0.40765e-04_rb,0.52607e-04_rb,0.42152e-04_rb /) kbo(:, 1,40, 3) = (/ & & 0.21852e-07_rb,0.12819e-04_rb,0.21757e-04_rb,0.28221e-04_rb,0.24745e-04_rb /) kbo(:, 2,40, 3) = (/ & & 0.24207e-07_rb,0.14395e-04_rb,0.24527e-04_rb,0.31867e-04_rb,0.27502e-04_rb /) kbo(:, 3,40, 3) = (/ & & 0.26806e-07_rb,0.16092e-04_rb,0.27462e-04_rb,0.35646e-04_rb,0.30145e-04_rb /) kbo(:, 4,40, 3) = (/ & & 0.29612e-07_rb,0.17894e-04_rb,0.30572e-04_rb,0.39527e-04_rb,0.32543e-04_rb /) kbo(:, 5,40, 3) = (/ & & 0.32577e-07_rb,0.19746e-04_rb,0.33672e-04_rb,0.43399e-04_rb,0.34556e-04_rb /) kbo(:, 1,41, 3) = (/ & & 0.17336e-07_rb,0.10441e-04_rb,0.17695e-04_rb,0.22954e-04_rb,0.20042e-04_rb /) kbo(:, 2,41, 3) = (/ & & 0.19187e-07_rb,0.11771e-04_rb,0.20025e-04_rb,0.26029e-04_rb,0.22346e-04_rb /) kbo(:, 3,41, 3) = (/ & & 0.21311e-07_rb,0.13190e-04_rb,0.22516e-04_rb,0.29201e-04_rb,0.24577e-04_rb /) kbo(:, 4,41, 3) = (/ & & 0.23597e-07_rb,0.14712e-04_rb,0.25122e-04_rb,0.32466e-04_rb,0.26584e-04_rb /) kbo(:, 5,41, 3) = (/ & & 0.25958e-07_rb,0.16280e-04_rb,0.27744e-04_rb,0.35762e-04_rb,0.28295e-04_rb /) kbo(:, 1,42, 3) = (/ & & 0.13752e-07_rb,0.84970e-05_rb,0.14379e-04_rb,0.18640e-04_rb,0.16205e-04_rb /) kbo(:, 2,42, 3) = (/ & & 0.15240e-07_rb,0.96082e-05_rb,0.16325e-04_rb,0.21225e-04_rb,0.18124e-04_rb /) kbo(:, 3,42, 3) = (/ & & 0.16924e-07_rb,0.10802e-04_rb,0.18430e-04_rb,0.23896e-04_rb,0.20024e-04_rb /) kbo(:, 4,42, 3) = (/ & & 0.18767e-07_rb,0.12087e-04_rb,0.20609e-04_rb,0.26651e-04_rb,0.21698e-04_rb /) kbo(:, 5,42, 3) = (/ & & 0.20666e-07_rb,0.13409e-04_rb,0.22837e-04_rb,0.29427e-04_rb,0.23153e-04_rb /) kbo(:, 1,43, 3) = (/ & & 0.10827e-07_rb,0.68624e-05_rb,0.11586e-04_rb,0.14999e-04_rb,0.12975e-04_rb /) kbo(:, 2,43, 3) = (/ & & 0.12030e-07_rb,0.77847e-05_rb,0.13205e-04_rb,0.17164e-04_rb,0.14605e-04_rb /) kbo(:, 3,43, 3) = (/ & & 0.13352e-07_rb,0.87779e-05_rb,0.14974e-04_rb,0.19410e-04_rb,0.16231e-04_rb /) kbo(:, 4,43, 3) = (/ & & 0.14829e-07_rb,0.98620e-05_rb,0.16795e-04_rb,0.21751e-04_rb,0.17634e-04_rb /) kbo(:, 5,43, 3) = (/ & & 0.16396e-07_rb,0.10975e-04_rb,0.18682e-04_rb,0.24066e-04_rb,0.18879e-04_rb /) kbo(:, 1,44, 3) = (/ & & 0.85731e-08_rb,0.55132e-05_rb,0.92862e-05_rb,0.12000e-04_rb,0.10347e-04_rb /) kbo(:, 2,44, 3) = (/ & & 0.95033e-08_rb,0.62816e-05_rb,0.10629e-04_rb,0.13817e-04_rb,0.11712e-04_rb /) kbo(:, 3,44, 3) = (/ & & 0.10537e-07_rb,0.70964e-05_rb,0.12108e-04_rb,0.15700e-04_rb,0.13095e-04_rb /) kbo(:, 4,44, 3) = (/ & & 0.11722e-07_rb,0.80120e-05_rb,0.13621e-04_rb,0.17679e-04_rb,0.14296e-04_rb /) kbo(:, 5,44, 3) = (/ & & 0.12991e-07_rb,0.89457e-05_rb,0.15220e-04_rb,0.19614e-04_rb,0.15350e-04_rb /) kbo(:, 1,45, 3) = (/ & & 0.67515e-08_rb,0.44212e-05_rb,0.74244e-05_rb,0.95776e-05_rb,0.82429e-05_rb /) kbo(:, 2,45, 3) = (/ & & 0.74999e-08_rb,0.50603e-05_rb,0.85360e-05_rb,0.11095e-04_rb,0.93791e-05_rb /) kbo(:, 3,45, 3) = (/ & & 0.83182e-08_rb,0.57411e-05_rb,0.97686e-05_rb,0.12667e-04_rb,0.10528e-04_rb /) kbo(:, 4,45, 3) = (/ & & 0.92526e-08_rb,0.64942e-05_rb,0.11028e-04_rb,0.14328e-04_rb,0.11566e-04_rb /) kbo(:, 5,45, 3) = (/ & & 0.10269e-07_rb,0.72769e-05_rb,0.12375e-04_rb,0.15964e-04_rb,0.12472e-04_rb /) kbo(:, 1,46, 3) = (/ & & 0.53031e-08_rb,0.35301e-05_rb,0.59050e-05_rb,0.75965e-05_rb,0.65452e-05_rb /) kbo(:, 2,46, 3) = (/ & & 0.58907e-08_rb,0.40561e-05_rb,0.68233e-05_rb,0.88621e-05_rb,0.74771e-05_rb /) kbo(:, 3,46, 3) = (/ & & 0.65422e-08_rb,0.46270e-05_rb,0.78393e-05_rb,0.10169e-04_rb,0.84370e-05_rb /) kbo(:, 4,46, 3) = (/ & & 0.72669e-08_rb,0.52433e-05_rb,0.89061e-05_rb,0.11563e-04_rb,0.93268e-05_rb /) kbo(:, 5,46, 3) = (/ & & 0.80880e-08_rb,0.58967e-05_rb,0.10016e-04_rb,0.12930e-04_rb,0.10106e-04_rb /) kbo(:, 1,47, 3) = (/ & & 0.41459e-08_rb,0.27965e-05_rb,0.46529e-05_rb,0.59648e-05_rb,0.51552e-05_rb /) kbo(:, 2,47, 3) = (/ & & 0.46324e-08_rb,0.32253e-05_rb,0.54100e-05_rb,0.70094e-05_rb,0.59110e-05_rb /) kbo(:, 3,47, 3) = (/ & & 0.51433e-08_rb,0.37014e-05_rb,0.62395e-05_rb,0.80976e-05_rb,0.67100e-05_rb /) kbo(:, 4,47, 3) = (/ & & 0.57045e-08_rb,0.42091e-05_rb,0.71381e-05_rb,0.92537e-05_rb,0.74896e-05_rb /) kbo(:, 5,47, 3) = (/ & & 0.63526e-08_rb,0.47541e-05_rb,0.80573e-05_rb,0.10428e-04_rb,0.81540e-05_rb /) kbo(:, 1,48, 3) = (/ & & 0.32549e-08_rb,0.22089e-05_rb,0.36571e-05_rb,0.46663e-05_rb,0.40387e-05_rb /) kbo(:, 2,48, 3) = (/ & & 0.36192e-08_rb,0.25581e-05_rb,0.42752e-05_rb,0.55265e-05_rb,0.46582e-05_rb /) kbo(:, 3,48, 3) = (/ & & 0.40215e-08_rb,0.29515e-05_rb,0.49553e-05_rb,0.64327e-05_rb,0.53236e-05_rb /) kbo(:, 4,48, 3) = (/ & & 0.44736e-08_rb,0.33690e-05_rb,0.57015e-05_rb,0.73859e-05_rb,0.59960e-05_rb /) kbo(:, 5,48, 3) = (/ & & 0.49760e-08_rb,0.38276e-05_rb,0.64596e-05_rb,0.83844e-05_rb,0.65647e-05_rb /) kbo(:, 1,49, 3) = (/ & & 0.25432e-08_rb,0.17390e-05_rb,0.28607e-05_rb,0.36438e-05_rb,0.31425e-05_rb /) kbo(:, 2,49, 3) = (/ & & 0.28364e-08_rb,0.20219e-05_rb,0.33698e-05_rb,0.43412e-05_rb,0.36654e-05_rb /) kbo(:, 3,49, 3) = (/ & & 0.31601e-08_rb,0.23472e-05_rb,0.39232e-05_rb,0.50964e-05_rb,0.42142e-05_rb /) kbo(:, 4,49, 3) = (/ & & 0.35101e-08_rb,0.26948e-05_rb,0.45429e-05_rb,0.58797e-05_rb,0.47715e-05_rb /) kbo(:, 5,49, 3) = (/ & & 0.38989e-08_rb,0.30718e-05_rb,0.51731e-05_rb,0.67190e-05_rb,0.52720e-05_rb /) kbo(:, 1,50, 3) = (/ & & 0.20093e-08_rb,0.13704e-05_rb,0.22373e-05_rb,0.28375e-05_rb,0.24550e-05_rb /) kbo(:, 2,50, 3) = (/ & & 0.22270e-08_rb,0.16020e-05_rb,0.26626e-05_rb,0.34144e-05_rb,0.28963e-05_rb /) kbo(:, 3,50, 3) = (/ & & 0.24797e-08_rb,0.18686e-05_rb,0.31131e-05_rb,0.40348e-05_rb,0.33398e-05_rb /) kbo(:, 4,50, 3) = (/ & & 0.27614e-08_rb,0.21593e-05_rb,0.36199e-05_rb,0.46856e-05_rb,0.38019e-05_rb /) kbo(:, 5,50, 3) = (/ & & 0.30674e-08_rb,0.24699e-05_rb,0.41517e-05_rb,0.53844e-05_rb,0.42322e-05_rb /) kbo(:, 1,51, 3) = (/ & & 0.15907e-08_rb,0.10803e-05_rb,0.17518e-05_rb,0.22064e-05_rb,0.19254e-05_rb /) kbo(:, 2,51, 3) = (/ & & 0.17509e-08_rb,0.12691e-05_rb,0.21000e-05_rb,0.26794e-05_rb,0.22832e-05_rb /) kbo(:, 3,51, 3) = (/ & & 0.19509e-08_rb,0.14861e-05_rb,0.24726e-05_rb,0.31957e-05_rb,0.26418e-05_rb /) kbo(:, 4,51, 3) = (/ & & 0.21703e-08_rb,0.17284e-05_rb,0.28838e-05_rb,0.37325e-05_rb,0.30257e-05_rb /) kbo(:, 5,51, 3) = (/ & & 0.24124e-08_rb,0.19844e-05_rb,0.33305e-05_rb,0.43128e-05_rb,0.34015e-05_rb /) kbo(:, 1,52, 3) = (/ & & 0.12564e-08_rb,0.84669e-06_rb,0.13717e-05_rb,0.17147e-05_rb,0.14947e-05_rb /) kbo(:, 2,52, 3) = (/ & & 0.13794e-08_rb,0.10024e-05_rb,0.16523e-05_rb,0.20993e-05_rb,0.17870e-05_rb /) kbo(:, 3,52, 3) = (/ & & 0.15320e-08_rb,0.11790e-05_rb,0.19577e-05_rb,0.25220e-05_rb,0.20845e-05_rb /) kbo(:, 4,52, 3) = (/ & & 0.17130e-08_rb,0.13791e-05_rb,0.22952e-05_rb,0.29677e-05_rb,0.24040e-05_rb /) kbo(:, 5,52, 3) = (/ & & 0.19041e-08_rb,0.15914e-05_rb,0.26635e-05_rb,0.34439e-05_rb,0.27247e-05_rb /) kbo(:, 1,53, 3) = (/ & & 0.99523e-09_rb,0.66219e-06_rb,0.10632e-05_rb,0.13341e-05_rb,0.11550e-05_rb /) kbo(:, 2,53, 3) = (/ & & 0.10903e-08_rb,0.79022e-06_rb,0.12914e-05_rb,0.16401e-05_rb,0.13929e-05_rb /) kbo(:, 3,53, 3) = (/ & & 0.12082e-08_rb,0.93266e-06_rb,0.15445e-05_rb,0.19841e-05_rb,0.16452e-05_rb /) kbo(:, 4,53, 3) = (/ & & 0.13437e-08_rb,0.10969e-05_rb,0.18212e-05_rb,0.23517e-05_rb,0.19029e-05_rb /) kbo(:, 5,53, 3) = (/ & & 0.14972e-08_rb,0.12734e-05_rb,0.21276e-05_rb,0.27431e-05_rb,0.21722e-05_rb /) kbo(:, 1,54, 3) = (/ & & 0.78782e-09_rb,0.51993e-06_rb,0.82752e-06_rb,0.10421e-05_rb,0.88632e-06_rb /) kbo(:, 2,54, 3) = (/ & & 0.86642e-09_rb,0.62440e-06_rb,0.10138e-05_rb,0.12820e-05_rb,0.10958e-05_rb /) kbo(:, 3,54, 3) = (/ & & 0.95141e-09_rb,0.74051e-06_rb,0.12221e-05_rb,0.15626e-05_rb,0.13014e-05_rb /) kbo(:, 4,54, 3) = (/ & & 0.10622e-08_rb,0.87438e-06_rb,0.14481e-05_rb,0.18675e-05_rb,0.15138e-05_rb /) kbo(:, 5,54, 3) = (/ & & 0.11829e-08_rb,0.10217e-05_rb,0.17025e-05_rb,0.21900e-05_rb,0.17349e-05_rb /) kbo(:, 1,55, 3) = (/ & & 0.62734e-09_rb,0.40844e-06_rb,0.64675e-06_rb,0.81168e-06_rb,0.68015e-06_rb /) kbo(:, 2,55, 3) = (/ & & 0.68670e-09_rb,0.49437e-06_rb,0.79822e-06_rb,0.10031e-05_rb,0.85955e-06_rb /) kbo(:, 3,55, 3) = (/ & & 0.75551e-09_rb,0.58813e-06_rb,0.96640e-06_rb,0.12305e-05_rb,0.10290e-05_rb /) kbo(:, 4,55, 3) = (/ & & 0.83896e-09_rb,0.69762e-06_rb,0.11529e-05_rb,0.14845e-05_rb,0.12025e-05_rb /) kbo(:, 5,55, 3) = (/ & & 0.93727e-09_rb,0.81992e-06_rb,0.13618e-05_rb,0.17489e-05_rb,0.13856e-05_rb /) kbo(:, 1,56, 3) = (/ & & 0.50214e-09_rb,0.32028e-06_rb,0.50524e-06_rb,0.63147e-06_rb,0.51903e-06_rb /) kbo(:, 2,56, 3) = (/ & & 0.54775e-09_rb,0.38841e-06_rb,0.62589e-06_rb,0.78445e-06_rb,0.67099e-06_rb /) kbo(:, 3,56, 3) = (/ & & 0.59971e-09_rb,0.46602e-06_rb,0.76356e-06_rb,0.96978e-06_rb,0.80912e-06_rb /) kbo(:, 4,56, 3) = (/ & & 0.66466e-09_rb,0.55509e-06_rb,0.91533e-06_rb,0.11766e-05_rb,0.95284e-06_rb /) kbo(:, 5,56, 3) = (/ & & 0.73931e-09_rb,0.65625e-06_rb,0.10864e-05_rb,0.13946e-05_rb,0.11055e-05_rb /) kbo(:, 1,57, 3) = (/ & & 0.40171e-09_rb,0.25009e-06_rb,0.39211e-06_rb,0.49250e-06_rb,0.39332e-06_rb /) kbo(:, 2,57, 3) = (/ & & 0.43379e-09_rb,0.30473e-06_rb,0.48932e-06_rb,0.61342e-06_rb,0.52076e-06_rb /) kbo(:, 3,57, 3) = (/ & & 0.47729e-09_rb,0.36874e-06_rb,0.59978e-06_rb,0.76246e-06_rb,0.63556e-06_rb /) kbo(:, 4,57, 3) = (/ & & 0.52454e-09_rb,0.44075e-06_rb,0.72488e-06_rb,0.93079e-06_rb,0.75448e-06_rb /) kbo(:, 5,57, 3) = (/ & & 0.58546e-09_rb,0.52389e-06_rb,0.86565e-06_rb,0.11107e-05_rb,0.87858e-06_rb /) kbo(:, 1,58, 3) = (/ & & 0.32222e-09_rb,0.19536e-06_rb,0.30484e-06_rb,0.38123e-06_rb,0.29798e-06_rb /) kbo(:, 2,58, 3) = (/ & & 0.34550e-09_rb,0.24003e-06_rb,0.38206e-06_rb,0.48033e-06_rb,0.40193e-06_rb /) kbo(:, 3,58, 3) = (/ & & 0.37930e-09_rb,0.29179e-06_rb,0.47226e-06_rb,0.59938e-06_rb,0.50056e-06_rb /) kbo(:, 4,58, 3) = (/ & & 0.41675e-09_rb,0.35035e-06_rb,0.57500e-06_rb,0.73642e-06_rb,0.59836e-06_rb /) kbo(:, 5,58, 3) = (/ & & 0.46320e-09_rb,0.41854e-06_rb,0.69041e-06_rb,0.88548e-06_rb,0.70003e-06_rb /) kbo(:, 1,59, 3) = (/ & & 0.26166e-09_rb,0.15868e-06_rb,0.24697e-06_rb,0.30892e-06_rb,0.23964e-06_rb /) kbo(:, 2,59, 3) = (/ & & 0.28095e-09_rb,0.19552e-06_rb,0.31068e-06_rb,0.39037e-06_rb,0.32469e-06_rb /) kbo(:, 3,59, 3) = (/ & & 0.30730e-09_rb,0.23856e-06_rb,0.38554e-06_rb,0.48902e-06_rb,0.40738e-06_rb /) kbo(:, 4,59, 3) = (/ & & 0.33781e-09_rb,0.28749e-06_rb,0.47157e-06_rb,0.60286e-06_rb,0.48803e-06_rb /) kbo(:, 5,59, 3) = (/ & & 0.37526e-09_rb,0.34439e-06_rb,0.56789e-06_rb,0.72742e-06_rb,0.57238e-06_rb /) kbo(:, 1,13, 4) = (/ & & 0.49038e-04_rb,0.50781e-02_rb,0.78254e-02_rb,0.96484e-02_rb,0.10614e-01_rb /) kbo(:, 2,13, 4) = (/ & & 0.54225e-04_rb,0.54905e-02_rb,0.85710e-02_rb,0.10460e-01_rb,0.11206e-01_rb /) kbo(:, 3,13, 4) = (/ & & 0.61134e-04_rb,0.58773e-02_rb,0.93183e-02_rb,0.11347e-01_rb,0.11729e-01_rb /) kbo(:, 4,13, 4) = (/ & & 0.68793e-04_rb,0.62794e-02_rb,0.99768e-02_rb,0.12248e-01_rb,0.12250e-01_rb /) kbo(:, 5,13, 4) = (/ & & 0.77429e-04_rb,0.66893e-02_rb,0.10624e-01_rb,0.13064e-01_rb,0.12730e-01_rb /) kbo(:, 1,14, 4) = (/ & & 0.40706e-04_rb,0.43045e-02_rb,0.66240e-02_rb,0.81227e-02_rb,0.87105e-02_rb /) kbo(:, 2,14, 4) = (/ & & 0.45789e-04_rb,0.46404e-02_rb,0.72547e-02_rb,0.88508e-02_rb,0.92183e-02_rb /) kbo(:, 3,14, 4) = (/ & & 0.51359e-04_rb,0.49670e-02_rb,0.78649e-02_rb,0.95928e-02_rb,0.96590e-02_rb /) kbo(:, 4,14, 4) = (/ & & 0.58448e-04_rb,0.53112e-02_rb,0.84165e-02_rb,0.10356e-01_rb,0.10085e-01_rb /) kbo(:, 5,14, 4) = (/ & & 0.66585e-04_rb,0.56590e-02_rb,0.89770e-02_rb,0.11022e-01_rb,0.10540e-01_rb /) kbo(:, 1,15, 4) = (/ & & 0.33161e-04_rb,0.36374e-02_rb,0.56007e-02_rb,0.68408e-02_rb,0.70399e-02_rb /) kbo(:, 2,15, 4) = (/ & & 0.37316e-04_rb,0.39145e-02_rb,0.61318e-02_rb,0.74812e-02_rb,0.74533e-02_rb /) kbo(:, 3,15, 4) = (/ & & 0.42184e-04_rb,0.41949e-02_rb,0.66272e-02_rb,0.81097e-02_rb,0.78393e-02_rb /) kbo(:, 4,15, 4) = (/ & & 0.48249e-04_rb,0.44861e-02_rb,0.70934e-02_rb,0.87330e-02_rb,0.82262e-02_rb /) kbo(:, 5,15, 4) = (/ & & 0.54912e-04_rb,0.47829e-02_rb,0.75688e-02_rb,0.92830e-02_rb,0.86058e-02_rb /) kbo(:, 1,16, 4) = (/ & & 0.26598e-04_rb,0.30649e-02_rb,0.47323e-02_rb,0.57742e-02_rb,0.56644e-02_rb /) kbo(:, 2,16, 4) = (/ & & 0.30096e-04_rb,0.32950e-02_rb,0.51778e-02_rb,0.63145e-02_rb,0.60193e-02_rb /) kbo(:, 3,16, 4) = (/ & & 0.34085e-04_rb,0.35350e-02_rb,0.55806e-02_rb,0.68447e-02_rb,0.63708e-02_rb /) kbo(:, 4,16, 4) = (/ & & 0.38919e-04_rb,0.37831e-02_rb,0.59719e-02_rb,0.73465e-02_rb,0.67088e-02_rb /) kbo(:, 5,16, 4) = (/ & & 0.44492e-04_rb,0.40393e-02_rb,0.63750e-02_rb,0.78120e-02_rb,0.70249e-02_rb /) kbo(:, 1,17, 4) = (/ & & 0.21449e-04_rb,0.25756e-02_rb,0.39936e-02_rb,0.48662e-02_rb,0.46205e-02_rb /) kbo(:, 2,17, 4) = (/ & & 0.24103e-04_rb,0.27706e-02_rb,0.43619e-02_rb,0.53164e-02_rb,0.49202e-02_rb /) kbo(:, 3,17, 4) = (/ & & 0.27451e-04_rb,0.29765e-02_rb,0.46959e-02_rb,0.57632e-02_rb,0.52122e-02_rb /) kbo(:, 4,17, 4) = (/ & & 0.31381e-04_rb,0.31884e-02_rb,0.50222e-02_rb,0.61735e-02_rb,0.54790e-02_rb /) kbo(:, 5,17, 4) = (/ & & 0.35953e-04_rb,0.34099e-02_rb,0.53645e-02_rb,0.65659e-02_rb,0.57419e-02_rb /) kbo(:, 1,18, 4) = (/ & & 0.17468e-04_rb,0.21642e-02_rb,0.33642e-02_rb,0.40972e-02_rb,0.37921e-02_rb /) kbo(:, 2,18, 4) = (/ & & 0.19506e-04_rb,0.23308e-02_rb,0.36683e-02_rb,0.44696e-02_rb,0.40385e-02_rb /) kbo(:, 3,18, 4) = (/ & & 0.22326e-04_rb,0.25072e-02_rb,0.39454e-02_rb,0.48507e-02_rb,0.42773e-02_rb /) kbo(:, 4,18, 4) = (/ & & 0.25558e-04_rb,0.26901e-02_rb,0.42240e-02_rb,0.51855e-02_rb,0.45000e-02_rb /) kbo(:, 5,18, 4) = (/ & & 0.29519e-04_rb,0.28816e-02_rb,0.45135e-02_rb,0.55168e-02_rb,0.47259e-02_rb /) kbo(:, 1,19, 4) = (/ & & 0.14162e-04_rb,0.18165e-02_rb,0.28311e-02_rb,0.34491e-02_rb,0.31263e-02_rb /) kbo(:, 2,19, 4) = (/ & & 0.15880e-04_rb,0.19594e-02_rb,0.30792e-02_rb,0.37577e-02_rb,0.33277e-02_rb /) kbo(:, 3,19, 4) = (/ & & 0.18250e-04_rb,0.21124e-02_rb,0.33110e-02_rb,0.40717e-02_rb,0.35255e-02_rb /) kbo(:, 4,19, 4) = (/ & & 0.20948e-04_rb,0.22711e-02_rb,0.35512e-02_rb,0.43541e-02_rb,0.37114e-02_rb /) kbo(:, 5,19, 4) = (/ & & 0.24279e-04_rb,0.24360e-02_rb,0.37972e-02_rb,0.46336e-02_rb,0.39063e-02_rb /) kbo(:, 1,20, 4) = (/ & & 0.11677e-04_rb,0.15268e-02_rb,0.23854e-02_rb,0.29054e-02_rb,0.25927e-02_rb /) kbo(:, 2,20, 4) = (/ & & 0.13127e-04_rb,0.16502e-02_rb,0.25884e-02_rb,0.31642e-02_rb,0.27584e-02_rb /) kbo(:, 3,20, 4) = (/ & & 0.15145e-04_rb,0.17827e-02_rb,0.27854e-02_rb,0.34198e-02_rb,0.29228e-02_rb /) kbo(:, 4,20, 4) = (/ & & 0.17426e-04_rb,0.19208e-02_rb,0.29919e-02_rb,0.36563e-02_rb,0.30836e-02_rb /) kbo(:, 5,20, 4) = (/ & & 0.20187e-04_rb,0.20638e-02_rb,0.32027e-02_rb,0.38955e-02_rb,0.32517e-02_rb /) kbo(:, 1,21, 4) = (/ & & 0.96248e-05_rb,0.12839e-02_rb,0.20069e-02_rb,0.24439e-02_rb,0.21521e-02_rb /) kbo(:, 2,21, 4) = (/ & & 0.10884e-04_rb,0.13905e-02_rb,0.21753e-02_rb,0.26634e-02_rb,0.22901e-02_rb /) kbo(:, 3,21, 4) = (/ & & 0.12576e-04_rb,0.15057e-02_rb,0.23430e-02_rb,0.28714e-02_rb,0.24271e-02_rb /) kbo(:, 4,21, 4) = (/ & & 0.14492e-04_rb,0.16245e-02_rb,0.25229e-02_rb,0.30709e-02_rb,0.25653e-02_rb /) kbo(:, 5,21, 4) = (/ & & 0.16785e-04_rb,0.17487e-02_rb,0.27053e-02_rb,0.32769e-02_rb,0.27041e-02_rb /) kbo(:, 1,22, 4) = (/ & & 0.78987e-05_rb,0.10841e-02_rb,0.16963e-02_rb,0.20646e-02_rb,0.17920e-02_rb /) kbo(:, 2,22, 4) = (/ & & 0.90688e-05_rb,0.11783e-02_rb,0.18364e-02_rb,0.22523e-02_rb,0.19054e-02_rb /) kbo(:, 3,22, 4) = (/ & & 0.10436e-04_rb,0.12776e-02_rb,0.19832e-02_rb,0.24220e-02_rb,0.20200e-02_rb /) kbo(:, 4,22, 4) = (/ & & 0.12051e-04_rb,0.13800e-02_rb,0.21391e-02_rb,0.25904e-02_rb,0.21364e-02_rb /) kbo(:, 5,22, 4) = (/ & & 0.13992e-04_rb,0.14877e-02_rb,0.22983e-02_rb,0.27690e-02_rb,0.22519e-02_rb /) kbo(:, 1,23, 4) = (/ & & 0.65143e-05_rb,0.91629e-03_rb,0.14337e-02_rb,0.17468e-02_rb,0.14890e-02_rb /) kbo(:, 2,23, 4) = (/ & & 0.75295e-05_rb,0.99880e-03_rb,0.15532e-02_rb,0.19017e-02_rb,0.15844e-02_rb /) kbo(:, 3,23, 4) = (/ & & 0.86172e-05_rb,0.10843e-02_rb,0.16828e-02_rb,0.20454e-02_rb,0.16822e-02_rb /) kbo(:, 4,23, 4) = (/ & & 0.10017e-04_rb,0.11729e-02_rb,0.18176e-02_rb,0.21912e-02_rb,0.17800e-02_rb /) kbo(:, 5,23, 4) = (/ & & 0.11640e-04_rb,0.12668e-02_rb,0.19549e-02_rb,0.23447e-02_rb,0.18765e-02_rb /) kbo(:, 1,24, 4) = (/ & & 0.53432e-05_rb,0.77571e-03_rb,0.12114e-02_rb,0.14805e-02_rb,0.12372e-02_rb /) kbo(:, 2,24, 4) = (/ & & 0.61515e-05_rb,0.84718e-03_rb,0.13153e-02_rb,0.16078e-02_rb,0.13181e-02_rb /) kbo(:, 3,24, 4) = (/ & & 0.70923e-05_rb,0.92024e-03_rb,0.14293e-02_rb,0.17300e-02_rb,0.13989e-02_rb /) kbo(:, 4,24, 4) = (/ & & 0.82684e-05_rb,0.99740e-03_rb,0.15447e-02_rb,0.18573e-02_rb,0.14811e-02_rb /) kbo(:, 5,24, 4) = (/ & & 0.96268e-05_rb,0.10789e-02_rb,0.16627e-02_rb,0.19892e-02_rb,0.15621e-02_rb /) kbo(:, 1,25, 4) = (/ & & 0.43932e-05_rb,0.65898e-03_rb,0.10259e-02_rb,0.12568e-02_rb,0.10287e-02_rb /) kbo(:, 2,25, 4) = (/ & & 0.50483e-05_rb,0.71973e-03_rb,0.11174e-02_rb,0.13610e-02_rb,0.10973e-02_rb /) kbo(:, 3,25, 4) = (/ & & 0.58527e-05_rb,0.78269e-03_rb,0.12157e-02_rb,0.14658e-02_rb,0.11648e-02_rb /) kbo(:, 4,25, 4) = (/ & & 0.68258e-05_rb,0.84968e-03_rb,0.13158e-02_rb,0.15774e-02_rb,0.12354e-02_rb /) kbo(:, 5,25, 4) = (/ & & 0.79780e-05_rb,0.92093e-03_rb,0.14171e-02_rb,0.16917e-02_rb,0.13029e-02_rb /) kbo(:, 1,26, 4) = (/ & & 0.36349e-05_rb,0.56139e-03_rb,0.87232e-03_rb,0.10671e-02_rb,0.85747e-03_rb /) kbo(:, 2,26, 4) = (/ & & 0.41763e-05_rb,0.61307e-03_rb,0.95284e-03_rb,0.11559e-02_rb,0.91640e-03_rb /) kbo(:, 3,26, 4) = (/ & & 0.48643e-05_rb,0.66769e-03_rb,0.10377e-02_rb,0.12480e-02_rb,0.97417e-03_rb /) kbo(:, 4,26, 4) = (/ & & 0.56806e-05_rb,0.72618e-03_rb,0.11238e-02_rb,0.13443e-02_rb,0.10341e-02_rb /) kbo(:, 5,26, 4) = (/ & & 0.66574e-05_rb,0.78791e-03_rb,0.12118e-02_rb,0.14426e-02_rb,0.10908e-02_rb /) kbo(:, 1,27, 4) = (/ & & 0.29849e-05_rb,0.47845e-03_rb,0.74324e-03_rb,0.90695e-03_rb,0.71654e-03_rb /) kbo(:, 2,27, 4) = (/ & & 0.34528e-05_rb,0.52305e-03_rb,0.81407e-03_rb,0.98348e-03_rb,0.76622e-03_rb /) kbo(:, 3,27, 4) = (/ & & 0.40386e-05_rb,0.57067e-03_rb,0.88635e-03_rb,0.10643e-02_rb,0.81617e-03_rb /) kbo(:, 4,27, 4) = (/ & & 0.47349e-05_rb,0.62159e-03_rb,0.96045e-03_rb,0.11476e-02_rb,0.86667e-03_rb /) kbo(:, 5,27, 4) = (/ & & 0.55504e-05_rb,0.67486e-03_rb,0.10373e-02_rb,0.12327e-02_rb,0.91437e-03_rb /) kbo(:, 1,28, 4) = (/ & & 0.24474e-05_rb,0.40819e-03_rb,0.63469e-03_rb,0.77184e-03_rb,0.59959e-03_rb /) kbo(:, 2,28, 4) = (/ & & 0.28527e-05_rb,0.44694e-03_rb,0.69550e-03_rb,0.83809e-03_rb,0.64151e-03_rb /) kbo(:, 3,28, 4) = (/ & & 0.33444e-05_rb,0.48804e-03_rb,0.75797e-03_rb,0.90921e-03_rb,0.68464e-03_rb /) kbo(:, 4,28, 4) = (/ & & 0.39332e-05_rb,0.53229e-03_rb,0.82174e-03_rb,0.98103e-03_rb,0.72680e-03_rb /) kbo(:, 5,28, 4) = (/ & & 0.46245e-05_rb,0.57864e-03_rb,0.88872e-03_rb,0.10544e-02_rb,0.76723e-03_rb /) kbo(:, 1,29, 4) = (/ & & 0.20253e-05_rb,0.34921e-03_rb,0.54365e-03_rb,0.65865e-03_rb,0.50331e-03_rb /) kbo(:, 2,29, 4) = (/ & & 0.23720e-05_rb,0.38278e-03_rb,0.59577e-03_rb,0.71729e-03_rb,0.53864e-03_rb /) kbo(:, 3,29, 4) = (/ & & 0.27945e-05_rb,0.41887e-03_rb,0.64907e-03_rb,0.77823e-03_rb,0.57581e-03_rb /) kbo(:, 4,29, 4) = (/ & & 0.32936e-05_rb,0.45699e-03_rb,0.70481e-03_rb,0.84074e-03_rb,0.61089e-03_rb /) kbo(:, 5,29, 4) = (/ & & 0.38881e-05_rb,0.49757e-03_rb,0.76325e-03_rb,0.90356e-03_rb,0.64564e-03_rb /) kbo(:, 1,30, 4) = (/ & & 0.16797e-05_rb,0.29918e-03_rb,0.46598e-03_rb,0.56316e-03_rb,0.42270e-03_rb /) kbo(:, 2,30, 4) = (/ & & 0.19764e-05_rb,0.32839e-03_rb,0.51076e-03_rb,0.61439e-03_rb,0.45306e-03_rb /) kbo(:, 3,30, 4) = (/ & & 0.23384e-05_rb,0.35985e-03_rb,0.55686e-03_rb,0.66712e-03_rb,0.48445e-03_rb /) kbo(:, 4,30, 4) = (/ & & 0.27662e-05_rb,0.39302e-03_rb,0.60525e-03_rb,0.72092e-03_rb,0.51425e-03_rb /) kbo(:, 5,30, 4) = (/ & & 0.32687e-05_rb,0.42837e-03_rb,0.65610e-03_rb,0.77570e-03_rb,0.54396e-03_rb /) kbo(:, 1,31, 4) = (/ & & 0.13991e-05_rb,0.25687e-03_rb,0.39996e-03_rb,0.48307e-03_rb,0.35570e-03_rb /) kbo(:, 2,31, 4) = (/ & & 0.16564e-05_rb,0.28246e-03_rb,0.43858e-03_rb,0.52743e-03_rb,0.38211e-03_rb /) kbo(:, 3,31, 4) = (/ & & 0.19660e-05_rb,0.30971e-03_rb,0.47856e-03_rb,0.57309e-03_rb,0.40826e-03_rb /) kbo(:, 4,31, 4) = (/ & & 0.23334e-05_rb,0.33881e-03_rb,0.52066e-03_rb,0.61919e-03_rb,0.43367e-03_rb /) kbo(:, 5,31, 4) = (/ & & 0.27587e-05_rb,0.36964e-03_rb,0.56499e-03_rb,0.66660e-03_rb,0.45969e-03_rb /) kbo(:, 1,32, 4) = (/ & & 0.11711e-05_rb,0.22102e-03_rb,0.34394e-03_rb,0.41512e-03_rb,0.29980e-03_rb /) kbo(:, 2,32, 4) = (/ & & 0.13928e-05_rb,0.24337e-03_rb,0.37713e-03_rb,0.45351e-03_rb,0.32253e-03_rb /) kbo(:, 3,32, 4) = (/ & & 0.16589e-05_rb,0.26704e-03_rb,0.41202e-03_rb,0.49272e-03_rb,0.34442e-03_rb /) kbo(:, 4,32, 4) = (/ & & 0.19740e-05_rb,0.29261e-03_rb,0.44855e-03_rb,0.53274e-03_rb,0.36633e-03_rb /) kbo(:, 5,32, 4) = (/ & & 0.23323e-05_rb,0.31973e-03_rb,0.48726e-03_rb,0.57383e-03_rb,0.38915e-03_rb /) kbo(:, 1,33, 4) = (/ & & 0.98300e-06_rb,0.19047e-03_rb,0.29592e-03_rb,0.35739e-03_rb,0.25303e-03_rb /) kbo(:, 2,33, 4) = (/ & & 0.11751e-05_rb,0.20983e-03_rb,0.32474e-03_rb,0.39043e-03_rb,0.27259e-03_rb /) kbo(:, 3,33, 4) = (/ & & 0.14027e-05_rb,0.23065e-03_rb,0.35505e-03_rb,0.42405e-03_rb,0.29120e-03_rb /) kbo(:, 4,33, 4) = (/ & & 0.16692e-05_rb,0.25302e-03_rb,0.38699e-03_rb,0.45888e-03_rb,0.31018e-03_rb /) kbo(:, 5,33, 4) = (/ & & 0.19716e-05_rb,0.27715e-03_rb,0.42119e-03_rb,0.49468e-03_rb,0.32989e-03_rb /) kbo(:, 1,34, 4) = (/ & & 0.82915e-06_rb,0.16396e-03_rb,0.25433e-03_rb,0.30700e-03_rb,0.21406e-03_rb /) kbo(:, 2,34, 4) = (/ & & 0.99352e-06_rb,0.18083e-03_rb,0.27935e-03_rb,0.33552e-03_rb,0.23048e-03_rb /) kbo(:, 3,34, 4) = (/ & & 0.11877e-05_rb,0.19915e-03_rb,0.30578e-03_rb,0.36455e-03_rb,0.24659e-03_rb /) kbo(:, 4,34, 4) = (/ & & 0.14139e-05_rb,0.21886e-03_rb,0.33384e-03_rb,0.39476e-03_rb,0.26317e-03_rb /) kbo(:, 5,34, 4) = (/ & & 0.16670e-05_rb,0.24021e-03_rb,0.36390e-03_rb,0.42603e-03_rb,0.28005e-03_rb /) kbo(:, 1,35, 4) = (/ & & 0.68670e-06_rb,0.13979e-03_rb,0.21673e-03_rb,0.26161e-03_rb,0.17974e-03_rb /) kbo(:, 2,35, 4) = (/ & & 0.82437e-06_rb,0.15448e-03_rb,0.23846e-03_rb,0.28611e-03_rb,0.19377e-03_rb /) kbo(:, 3,35, 4) = (/ & & 0.98649e-06_rb,0.17044e-03_rb,0.26139e-03_rb,0.31132e-03_rb,0.20765e-03_rb /) kbo(:, 4,35, 4) = (/ & & 0.11740e-05_rb,0.18773e-03_rb,0.28609e-03_rb,0.33740e-03_rb,0.22197e-03_rb /) kbo(:, 5,35, 4) = (/ & & 0.13833e-05_rb,0.20652e-03_rb,0.31233e-03_rb,0.36449e-03_rb,0.23658e-03_rb /) kbo(:, 1,36, 4) = (/ & & 0.55564e-06_rb,0.11786e-03_rb,0.18283e-03_rb,0.22089e-03_rb,0.14951e-03_rb /) kbo(:, 2,36, 4) = (/ & & 0.66731e-06_rb,0.13053e-03_rb,0.20151e-03_rb,0.24189e-03_rb,0.16146e-03_rb /) kbo(:, 3,36, 4) = (/ & & 0.80048e-06_rb,0.14432e-03_rb,0.22154e-03_rb,0.26364e-03_rb,0.17348e-03_rb /) kbo(:, 4,36, 4) = (/ & & 0.95195e-06_rb,0.15937e-03_rb,0.24310e-03_rb,0.28609e-03_rb,0.18577e-03_rb /) kbo(:, 5,36, 4) = (/ & & 0.11217e-05_rb,0.17580e-03_rb,0.26601e-03_rb,0.30949e-03_rb,0.19850e-03_rb /) kbo(:, 1,37, 4) = (/ & & 0.44526e-06_rb,0.98334e-04_rb,0.15236e-03_rb,0.18395e-03_rb,0.12369e-03_rb /) kbo(:, 2,37, 4) = (/ & & 0.53551e-06_rb,0.10927e-03_rb,0.16837e-03_rb,0.20194e-03_rb,0.13387e-03_rb /) kbo(:, 3,37, 4) = (/ & & 0.64307e-06_rb,0.12110e-03_rb,0.18556e-03_rb,0.22059e-03_rb,0.14418e-03_rb /) kbo(:, 4,37, 4) = (/ & & 0.76688e-06_rb,0.13411e-03_rb,0.20414e-03_rb,0.23985e-03_rb,0.15477e-03_rb /) kbo(:, 5,37, 4) = (/ & & 0.90591e-06_rb,0.14842e-03_rb,0.22405e-03_rb,0.25996e-03_rb,0.16566e-03_rb /) kbo(:, 1,38, 4) = (/ & & 0.35630e-06_rb,0.81991e-04_rb,0.12690e-03_rb,0.15312e-03_rb,0.10226e-03_rb /) kbo(:, 2,38, 4) = (/ & & 0.42911e-06_rb,0.91391e-04_rb,0.14064e-03_rb,0.16849e-03_rb,0.11095e-03_rb /) kbo(:, 3,38, 4) = (/ & & 0.51583e-06_rb,0.10163e-03_rb,0.15538e-03_rb,0.18448e-03_rb,0.11977e-03_rb /) kbo(:, 4,38, 4) = (/ & & 0.61654e-06_rb,0.11287e-03_rb,0.17138e-03_rb,0.20101e-03_rb,0.12884e-03_rb /) kbo(:, 5,38, 4) = (/ & & 0.73028e-06_rb,0.12530e-03_rb,0.18862e-03_rb,0.21826e-03_rb,0.13816e-03_rb /) kbo(:, 1,39, 4) = (/ & & 0.28455e-06_rb,0.68362e-04_rb,0.10572e-03_rb,0.12747e-03_rb,0.84494e-04_rb /) kbo(:, 2,39, 4) = (/ & & 0.34313e-06_rb,0.76413e-04_rb,0.11751e-03_rb,0.14060e-03_rb,0.91905e-04_rb /) kbo(:, 3,39, 4) = (/ & & 0.41305e-06_rb,0.85299e-04_rb,0.13016e-03_rb,0.15431e-03_rb,0.99463e-04_rb /) kbo(:, 4,39, 4) = (/ & & 0.49466e-06_rb,0.95047e-04_rb,0.14396e-03_rb,0.16851e-03_rb,0.10725e-03_rb /) kbo(:, 5,39, 4) = (/ & & 0.58721e-06_rb,0.10583e-03_rb,0.15886e-03_rb,0.18332e-03_rb,0.11516e-03_rb /) kbo(:, 1,40, 4) = (/ & & 0.22416e-06_rb,0.56451e-04_rb,0.87192e-04_rb,0.10503e-03_rb,0.69299e-04_rb /) kbo(:, 2,40, 4) = (/ & & 0.27058e-06_rb,0.63325e-04_rb,0.97241e-04_rb,0.11625e-03_rb,0.75635e-04_rb /) kbo(:, 3,40, 4) = (/ & & 0.32640e-06_rb,0.70942e-04_rb,0.10801e-03_rb,0.12792e-03_rb,0.82061e-04_rb /) kbo(:, 4,40, 4) = (/ & & 0.39178e-06_rb,0.79381e-04_rb,0.11985e-03_rb,0.14005e-03_rb,0.88722e-04_rb /) kbo(:, 5,40, 4) = (/ & & 0.46694e-06_rb,0.88673e-04_rb,0.13261e-03_rb,0.15274e-03_rb,0.95437e-04_rb /) kbo(:, 1,41, 4) = (/ & & 0.17620e-06_rb,0.46495e-04_rb,0.71829e-04_rb,0.86351e-04_rb,0.56701e-04_rb /) kbo(:, 2,41, 4) = (/ & & 0.21295e-06_rb,0.52383e-04_rb,0.80380e-04_rb,0.95937e-04_rb,0.62100e-04_rb /) kbo(:, 3,41, 4) = (/ & & 0.25720e-06_rb,0.58900e-04_rb,0.89548e-04_rb,0.10594e-03_rb,0.67568e-04_rb /) kbo(:, 4,41, 4) = (/ & & 0.30957e-06_rb,0.66136e-04_rb,0.99643e-04_rb,0.11623e-03_rb,0.73280e-04_rb /) kbo(:, 5,41, 4) = (/ & & 0.37003e-06_rb,0.74203e-04_rb,0.11061e-03_rb,0.12707e-03_rb,0.78979e-04_rb /) kbo(:, 1,42, 4) = (/ & & 0.13843e-06_rb,0.38238e-04_rb,0.59124e-04_rb,0.70982e-04_rb,0.46331e-04_rb /) kbo(:, 2,42, 4) = (/ & & 0.16726e-06_rb,0.43269e-04_rb,0.66424e-04_rb,0.79125e-04_rb,0.50956e-04_rb /) kbo(:, 3,42, 4) = (/ & & 0.20232e-06_rb,0.48870e-04_rb,0.74247e-04_rb,0.87661e-04_rb,0.55561e-04_rb /) kbo(:, 4,42, 4) = (/ & & 0.24408e-06_rb,0.55119e-04_rb,0.82827e-04_rb,0.96453e-04_rb,0.60447e-04_rb /) kbo(:, 5,42, 4) = (/ & & 0.29276e-06_rb,0.62028e-04_rb,0.92221e-04_rb,0.10570e-03_rb,0.65281e-04_rb /) kbo(:, 1,43, 4) = (/ & & 0.10793e-06_rb,0.31191e-04_rb,0.48305e-04_rb,0.57948e-04_rb,0.37666e-04_rb /) kbo(:, 2,43, 4) = (/ & & 0.13017e-06_rb,0.35465e-04_rb,0.54489e-04_rb,0.64841e-04_rb,0.41556e-04_rb /) kbo(:, 3,43, 4) = (/ & & 0.15771e-06_rb,0.40235e-04_rb,0.61176e-04_rb,0.72082e-04_rb,0.45452e-04_rb /) kbo(:, 4,43, 4) = (/ & & 0.19064e-06_rb,0.45599e-04_rb,0.68488e-04_rb,0.79576e-04_rb,0.49593e-04_rb /) kbo(:, 5,43, 4) = (/ & & 0.22944e-06_rb,0.51552e-04_rb,0.76431e-04_rb,0.87462e-04_rb,0.53715e-04_rb /) kbo(:, 1,44, 4) = (/ & & 0.83879e-07_rb,0.25325e-04_rb,0.39297e-04_rb,0.47118e-04_rb,0.30510e-04_rb /) kbo(:, 2,44, 4) = (/ & & 0.10087e-06_rb,0.28920e-04_rb,0.44532e-04_rb,0.52929e-04_rb,0.33772e-04_rb /) kbo(:, 3,44, 4) = (/ & & 0.12238e-06_rb,0.32977e-04_rb,0.50189e-04_rb,0.59075e-04_rb,0.37069e-04_rb /) kbo(:, 4,44, 4) = (/ & & 0.14813e-06_rb,0.37556e-04_rb,0.56451e-04_rb,0.65448e-04_rb,0.40567e-04_rb /) kbo(:, 5,44, 4) = (/ & & 0.17874e-06_rb,0.42672e-04_rb,0.63196e-04_rb,0.72159e-04_rb,0.44085e-04_rb /) kbo(:, 1,45, 4) = (/ & & 0.65261e-07_rb,0.20516e-04_rb,0.31895e-04_rb,0.38279e-04_rb,0.24650e-04_rb /) kbo(:, 2,45, 4) = (/ & & 0.78145e-07_rb,0.23540e-04_rb,0.36319e-04_rb,0.43161e-04_rb,0.27390e-04_rb /) kbo(:, 3,45, 4) = (/ & & 0.94805e-07_rb,0.26962e-04_rb,0.41134e-04_rb,0.48357e-04_rb,0.30190e-04_rb /) kbo(:, 4,45, 4) = (/ & & 0.11490e-06_rb,0.30858e-04_rb,0.46429e-04_rb,0.53785e-04_rb,0.33136e-04_rb /) kbo(:, 5,45, 4) = (/ & & 0.13905e-06_rb,0.35210e-04_rb,0.52216e-04_rb,0.59482e-04_rb,0.36122e-04_rb /) kbo(:, 1,46, 4) = (/ & & 0.50668e-07_rb,0.16526e-04_rb,0.25752e-04_rb,0.30954e-04_rb,0.19817e-04_rb /) kbo(:, 2,46, 4) = (/ & & 0.60361e-07_rb,0.19058e-04_rb,0.29471e-04_rb,0.35060e-04_rb,0.22123e-04_rb /) kbo(:, 3,46, 4) = (/ & & 0.73101e-07_rb,0.21937e-04_rb,0.33569e-04_rb,0.39461e-04_rb,0.24498e-04_rb /) kbo(:, 4,46, 4) = (/ & & 0.88747e-07_rb,0.25222e-04_rb,0.38048e-04_rb,0.44039e-04_rb,0.26973e-04_rb /) kbo(:, 5,46, 4) = (/ & & 0.10762e-06_rb,0.28932e-04_rb,0.42964e-04_rb,0.48871e-04_rb,0.29499e-04_rb /) kbo(:, 1,47, 4) = (/ & & 0.39185e-07_rb,0.13207e-04_rb,0.20626e-04_rb,0.24835e-04_rb,0.15826e-04_rb /) kbo(:, 2,47, 4) = (/ & & 0.46335e-07_rb,0.15303e-04_rb,0.23722e-04_rb,0.28277e-04_rb,0.17762e-04_rb /) kbo(:, 3,47, 4) = (/ & & 0.55896e-07_rb,0.17703e-04_rb,0.27162e-04_rb,0.31976e-04_rb,0.19780e-04_rb /) kbo(:, 4,47, 4) = (/ & & 0.67962e-07_rb,0.20451e-04_rb,0.30940e-04_rb,0.35867e-04_rb,0.21834e-04_rb /) kbo(:, 5,47, 4) = (/ & & 0.82535e-07_rb,0.23583e-04_rb,0.35128e-04_rb,0.39933e-04_rb,0.23972e-04_rb /) kbo(:, 1,48, 4) = (/ & & 0.30435e-07_rb,0.10528e-04_rb,0.16458e-04_rb,0.19871e-04_rb,0.12630e-04_rb /) kbo(:, 2,48, 4) = (/ & & 0.35657e-07_rb,0.12255e-04_rb,0.19034e-04_rb,0.22757e-04_rb,0.14230e-04_rb /) kbo(:, 3,48, 4) = (/ & & 0.42777e-07_rb,0.14241e-04_rb,0.21916e-04_rb,0.25856e-04_rb,0.15916e-04_rb /) kbo(:, 4,48, 4) = (/ & & 0.51977e-07_rb,0.16531e-04_rb,0.25094e-04_rb,0.29142e-04_rb,0.17632e-04_rb /) kbo(:, 5,48, 4) = (/ & & 0.63246e-07_rb,0.19162e-04_rb,0.28631e-04_rb,0.32586e-04_rb,0.19447e-04_rb /) kbo(:, 1,49, 4) = (/ & & 0.23722e-07_rb,0.83656e-05_rb,0.13088e-04_rb,0.15834e-04_rb,0.10060e-04_rb /) kbo(:, 2,49, 4) = (/ & & 0.27509e-07_rb,0.97869e-05_rb,0.15227e-04_rb,0.18252e-04_rb,0.11363e-04_rb /) kbo(:, 3,49, 4) = (/ & & 0.32769e-07_rb,0.11426e-04_rb,0.17628e-04_rb,0.20853e-04_rb,0.12767e-04_rb /) kbo(:, 4,49, 4) = (/ & & 0.39719e-07_rb,0.13326e-04_rb,0.20285e-04_rb,0.23637e-04_rb,0.14223e-04_rb /) kbo(:, 5,49, 4) = (/ & & 0.48415e-07_rb,0.15524e-04_rb,0.23268e-04_rb,0.26530e-04_rb,0.15739e-04_rb /) kbo(:, 1,50, 4) = (/ & & 0.18623e-07_rb,0.66620e-05_rb,0.10425e-04_rb,0.12634e-04_rb,0.80132e-05_rb /) kbo(:, 2,50, 4) = (/ & & 0.21393e-07_rb,0.78264e-05_rb,0.12188e-04_rb,0.14643e-04_rb,0.90757e-05_rb /) kbo(:, 3,50, 4) = (/ & & 0.25281e-07_rb,0.91787e-05_rb,0.14186e-04_rb,0.16825e-04_rb,0.10247e-04_rb /) kbo(:, 4,50, 4) = (/ & & 0.30530e-07_rb,0.10758e-04_rb,0.16419e-04_rb,0.19178e-04_rb,0.11482e-04_rb /) kbo(:, 5,50, 4) = (/ & & 0.37213e-07_rb,0.12593e-04_rb,0.18920e-04_rb,0.21643e-04_rb,0.12749e-04_rb /) kbo(:, 1,51, 4) = (/ & & 0.14681e-07_rb,0.53043e-05_rb,0.82956e-05_rb,0.10064e-04_rb,0.63669e-05_rb /) kbo(:, 2,51, 4) = (/ & & 0.16717e-07_rb,0.62508e-05_rb,0.97501e-05_rb,0.11737e-04_rb,0.72473e-05_rb /) kbo(:, 3,51, 4) = (/ & & 0.19587e-07_rb,0.73643e-05_rb,0.11400e-04_rb,0.13558e-04_rb,0.82290e-05_rb /) kbo(:, 4,51, 4) = (/ & & 0.23555e-07_rb,0.86748e-05_rb,0.13268e-04_rb,0.15537e-04_rb,0.92634e-05_rb /) kbo(:, 5,51, 4) = (/ & & 0.28671e-07_rb,0.10209e-04_rb,0.15379e-04_rb,0.17635e-04_rb,0.10316e-04_rb /) kbo(:, 1,52, 4) = (/ & & 0.11626e-07_rb,0.42149e-05_rb,0.65740e-05_rb,0.79835e-05_rb,0.50595e-05_rb /) kbo(:, 2,52, 4) = (/ & & 0.13102e-07_rb,0.49884e-05_rb,0.77758e-05_rb,0.93846e-05_rb,0.57856e-05_rb /) kbo(:, 3,52, 4) = (/ & & 0.15208e-07_rb,0.58955e-05_rb,0.91392e-05_rb,0.10898e-04_rb,0.65937e-05_rb /) kbo(:, 4,52, 4) = (/ & & 0.18174e-07_rb,0.69758e-05_rb,0.10692e-04_rb,0.12554e-04_rb,0.74564e-05_rb /) kbo(:, 5,52, 4) = (/ & & 0.22057e-07_rb,0.82505e-05_rb,0.12462e-04_rb,0.14331e-04_rb,0.83301e-05_rb /) kbo(:, 1,53, 4) = (/ & & 0.92130e-08_rb,0.33378e-05_rb,0.51998e-05_rb,0.63006e-05_rb,0.40097e-05_rb /) kbo(:, 2,53, 4) = (/ & & 0.10298e-07_rb,0.39704e-05_rb,0.61839e-05_rb,0.74775e-05_rb,0.46077e-05_rb /) kbo(:, 3,53, 4) = (/ & & 0.11831e-07_rb,0.47088e-05_rb,0.73062e-05_rb,0.87345e-05_rb,0.52620e-05_rb /) kbo(:, 4,53, 4) = (/ & & 0.14030e-07_rb,0.55942e-05_rb,0.85921e-05_rb,0.10119e-04_rb,0.59838e-05_rb /) kbo(:, 5,53, 4) = (/ & & 0.16970e-07_rb,0.66447e-05_rb,0.10063e-04_rb,0.11620e-04_rb,0.67208e-05_rb /) kbo(:, 1,54, 4) = (/ & & 0.73443e-08_rb,0.26498e-05_rb,0.41229e-05_rb,0.49788e-05_rb,0.31929e-05_rb /) kbo(:, 2,54, 4) = (/ & & 0.81453e-08_rb,0.31689e-05_rb,0.49320e-05_rb,0.59701e-05_rb,0.36706e-05_rb /) kbo(:, 3,54, 4) = (/ & & 0.92853e-08_rb,0.37746e-05_rb,0.58561e-05_rb,0.70139e-05_rb,0.42105e-05_rb /) kbo(:, 4,54, 4) = (/ & & 0.10913e-07_rb,0.44986e-05_rb,0.69192e-05_rb,0.81733e-05_rb,0.48081e-05_rb /) kbo(:, 5,54, 4) = (/ & & 0.13151e-07_rb,0.53689e-05_rb,0.81469e-05_rb,0.94377e-05_rb,0.54320e-05_rb /) kbo(:, 1,55, 4) = (/ & & 0.58690e-08_rb,0.21056e-05_rb,0.32710e-05_rb,0.39362e-05_rb,0.25357e-05_rb /) kbo(:, 2,55, 4) = (/ & & 0.64824e-08_rb,0.25292e-05_rb,0.39335e-05_rb,0.47652e-05_rb,0.29266e-05_rb /) kbo(:, 3,55, 4) = (/ & & 0.73195e-08_rb,0.30260e-05_rb,0.46942e-05_rb,0.56346e-05_rb,0.33700e-05_rb /) kbo(:, 4,55, 4) = (/ & & 0.85298e-08_rb,0.36216e-05_rb,0.55727e-05_rb,0.65990e-05_rb,0.38662e-05_rb /) kbo(:, 5,55, 4) = (/ & & 0.10227e-07_rb,0.43366e-05_rb,0.65935e-05_rb,0.76627e-05_rb,0.43889e-05_rb /) kbo(:, 1,56, 4) = (/ & & 0.46879e-08_rb,0.16674e-05_rb,0.25848e-05_rb,0.30992e-05_rb,0.20097e-05_rb /) kbo(:, 2,56, 4) = (/ & & 0.51579e-08_rb,0.20145e-05_rb,0.31307e-05_rb,0.37875e-05_rb,0.23304e-05_rb /) kbo(:, 3,56, 4) = (/ & & 0.57829e-08_rb,0.24199e-05_rb,0.37529e-05_rb,0.45119e-05_rb,0.26962e-05_rb /) kbo(:, 4,56, 4) = (/ & & 0.66817e-08_rb,0.29092e-05_rb,0.44788e-05_rb,0.53142e-05_rb,0.31037e-05_rb /) kbo(:, 5,56, 4) = (/ & & 0.79548e-08_rb,0.34985e-05_rb,0.53248e-05_rb,0.62066e-05_rb,0.35387e-05_rb /) kbo(:, 1,57, 4) = (/ & & 0.37487e-08_rb,0.13177e-05_rb,0.20362e-05_rb,0.24278e-05_rb,0.15888e-05_rb /) kbo(:, 2,57, 4) = (/ & & 0.41132e-08_rb,0.16006e-05_rb,0.24863e-05_rb,0.30001e-05_rb,0.18530e-05_rb /) kbo(:, 3,57, 4) = (/ & & 0.45796e-08_rb,0.19301e-05_rb,0.29957e-05_rb,0.36053e-05_rb,0.21515e-05_rb /) kbo(:, 4,57, 4) = (/ & & 0.52447e-08_rb,0.23301e-05_rb,0.35902e-05_rb,0.42690e-05_rb,0.24844e-05_rb /) kbo(:, 5,57, 4) = (/ & & 0.61952e-08_rb,0.28175e-05_rb,0.42894e-05_rb,0.50133e-05_rb,0.28503e-05_rb /) kbo(:, 1,58, 4) = (/ & & 0.30053e-08_rb,0.10419e-05_rb,0.16034e-05_rb,0.19071e-05_rb,0.12550e-05_rb /) kbo(:, 2,58, 4) = (/ & & 0.32906e-08_rb,0.12717e-05_rb,0.19750e-05_rb,0.23751e-05_rb,0.14761e-05_rb /) kbo(:, 3,58, 4) = (/ & & 0.36412e-08_rb,0.15413e-05_rb,0.23950e-05_rb,0.28817e-05_rb,0.17173e-05_rb /) kbo(:, 4,58, 4) = (/ & & 0.41327e-08_rb,0.18673e-05_rb,0.28800e-05_rb,0.34301e-05_rb,0.19893e-05_rb /) kbo(:, 5,58, 4) = (/ & & 0.48448e-08_rb,0.22699e-05_rb,0.34559e-05_rb,0.40496e-05_rb,0.22938e-05_rb /) kbo(:, 1,59, 4) = (/ & & 0.24517e-08_rb,0.85367e-06_rb,0.13121e-05_rb,0.15587e-05_rb,0.10209e-05_rb /) kbo(:, 2,59, 4) = (/ & & 0.26814e-08_rb,0.10459e-05_rb,0.16241e-05_rb,0.19505e-05_rb,0.12067e-05_rb /) kbo(:, 3,59, 4) = (/ & & 0.29604e-08_rb,0.12726e-05_rb,0.19786e-05_rb,0.23765e-05_rb,0.14071e-05_rb /) kbo(:, 4,59, 4) = (/ & & 0.33490e-08_rb,0.15486e-05_rb,0.23884e-05_rb,0.28393e-05_rb,0.16353e-05_rb /) kbo(:, 5,59, 4) = (/ & & 0.39177e-08_rb,0.18923e-05_rb,0.28751e-05_rb,0.33648e-05_rb,0.18896e-05_rb /) kbo(:, 1,13, 5) = (/ & & 0.10606e-02_rb,0.17616e-01_rb,0.26337e-01_rb,0.30832e-01_rb,0.23250e-01_rb /) kbo(:, 2,13, 5) = (/ & & 0.11975e-02_rb,0.18851e-01_rb,0.27746e-01_rb,0.32191e-01_rb,0.24461e-01_rb /) kbo(:, 3,13, 5) = (/ & & 0.13686e-02_rb,0.20236e-01_rb,0.29224e-01_rb,0.33409e-01_rb,0.25538e-01_rb /) kbo(:, 4,13, 5) = (/ & & 0.15788e-02_rb,0.21686e-01_rb,0.30822e-01_rb,0.34581e-01_rb,0.26483e-01_rb /) kbo(:, 5,13, 5) = (/ & & 0.18422e-02_rb,0.23201e-01_rb,0.32485e-01_rb,0.35791e-01_rb,0.27339e-01_rb /) kbo(:, 1,14, 5) = (/ & & 0.90299e-03_rb,0.14939e-01_rb,0.22235e-01_rb,0.25969e-01_rb,0.19459e-01_rb /) kbo(:, 2,14, 5) = (/ & & 0.10276e-02_rb,0.16043e-01_rb,0.23464e-01_rb,0.27102e-01_rb,0.20418e-01_rb /) kbo(:, 3,14, 5) = (/ & & 0.11848e-02_rb,0.17244e-01_rb,0.24766e-01_rb,0.28137e-01_rb,0.21279e-01_rb /) kbo(:, 4,14, 5) = (/ & & 0.13763e-02_rb,0.18494e-01_rb,0.26159e-01_rb,0.29141e-01_rb,0.22035e-01_rb /) kbo(:, 5,14, 5) = (/ & & 0.16087e-02_rb,0.19801e-01_rb,0.27586e-01_rb,0.30208e-01_rb,0.22712e-01_rb /) kbo(:, 1,15, 5) = (/ & & 0.76169e-03_rb,0.12657e-01_rb,0.18744e-01_rb,0.21807e-01_rb,0.16155e-01_rb /) kbo(:, 2,15, 5) = (/ & & 0.87429e-03_rb,0.13622e-01_rb,0.19820e-01_rb,0.22753e-01_rb,0.16908e-01_rb /) kbo(:, 3,15, 5) = (/ & & 0.10153e-02_rb,0.14650e-01_rb,0.20967e-01_rb,0.23637e-01_rb,0.17597e-01_rb /) kbo(:, 4,15, 5) = (/ & & 0.11860e-02_rb,0.15728e-01_rb,0.22159e-01_rb,0.24521e-01_rb,0.18236e-01_rb /) kbo(:, 5,15, 5) = (/ & & 0.13940e-02_rb,0.16855e-01_rb,0.23377e-01_rb,0.25442e-01_rb,0.18800e-01_rb /) kbo(:, 1,16, 5) = (/ & & 0.63979e-03_rb,0.10716e-01_rb,0.15782e-01_rb,0.18280e-01_rb,0.13330e-01_rb /) kbo(:, 2,16, 5) = (/ & & 0.73992e-03_rb,0.11550e-01_rb,0.16721e-01_rb,0.19074e-01_rb,0.13955e-01_rb /) kbo(:, 3,16, 5) = (/ & & 0.86535e-03_rb,0.12432e-01_rb,0.17715e-01_rb,0.19835e-01_rb,0.14519e-01_rb /) kbo(:, 4,16, 5) = (/ & & 0.10180e-02_rb,0.13358e-01_rb,0.18733e-01_rb,0.20612e-01_rb,0.15053e-01_rb /) kbo(:, 5,16, 5) = (/ & & 0.12020e-02_rb,0.14330e-01_rb,0.19780e-01_rb,0.21390e-01_rb,0.15523e-01_rb /) kbo(:, 1,17, 5) = (/ & & 0.53827e-03_rb,0.90675e-02_rb,0.13282e-01_rb,0.15310e-01_rb,0.11002e-01_rb /) kbo(:, 2,17, 5) = (/ & & 0.62733e-03_rb,0.97818e-02_rb,0.14093e-01_rb,0.15985e-01_rb,0.11517e-01_rb /) kbo(:, 3,17, 5) = (/ & & 0.73894e-03_rb,0.10536e-01_rb,0.14937e-01_rb,0.16642e-01_rb,0.11982e-01_rb /) kbo(:, 4,17, 5) = (/ & & 0.87471e-03_rb,0.11329e-01_rb,0.15813e-01_rb,0.17308e-01_rb,0.12431e-01_rb /) kbo(:, 5,17, 5) = (/ & & 0.10369e-02_rb,0.12167e-01_rb,0.16717e-01_rb,0.17966e-01_rb,0.12833e-01_rb /) kbo(:, 1,18, 5) = (/ & & 0.45632e-03_rb,0.76631e-02_rb,0.11175e-01_rb,0.12821e-01_rb,0.91007e-02_rb /) kbo(:, 2,18, 5) = (/ & & 0.53618e-03_rb,0.82741e-02_rb,0.11867e-01_rb,0.13402e-01_rb,0.95284e-02_rb /) kbo(:, 3,18, 5) = (/ & & 0.63520e-03_rb,0.89179e-02_rb,0.12591e-01_rb,0.13960e-01_rb,0.99227e-02_rb /) kbo(:, 4,18, 5) = (/ & & 0.75513e-03_rb,0.95966e-02_rb,0.13345e-01_rb,0.14529e-01_rb,0.10294e-01_rb /) kbo(:, 5,18, 5) = (/ & & 0.89828e-03_rb,0.10325e-01_rb,0.14127e-01_rb,0.15082e-01_rb,0.10637e-01_rb /) kbo(:, 1,19, 5) = (/ & & 0.38782e-03_rb,0.64686e-02_rb,0.93947e-02_rb,0.10738e-01_rb,0.75366e-02_rb /) kbo(:, 2,19, 5) = (/ & & 0.45826e-03_rb,0.69872e-02_rb,0.99878e-02_rb,0.11230e-01_rb,0.78920e-02_rb /) kbo(:, 3,19, 5) = (/ & & 0.54544e-03_rb,0.75386e-02_rb,0.10613e-01_rb,0.11706e-01_rb,0.82219e-02_rb /) kbo(:, 4,19, 5) = (/ & & 0.65085e-03_rb,0.81243e-02_rb,0.11261e-01_rb,0.12183e-01_rb,0.85447e-02_rb /) kbo(:, 5,19, 5) = (/ & & 0.77601e-03_rb,0.87598e-02_rb,0.11933e-01_rb,0.12660e-01_rb,0.88388e-02_rb /) kbo(:, 1,20, 5) = (/ & & 0.33304e-03_rb,0.54623e-02_rb,0.79028e-02_rb,0.89960e-02_rb,0.62635e-02_rb /) kbo(:, 2,20, 5) = (/ & & 0.39553e-03_rb,0.59055e-02_rb,0.84155e-02_rb,0.94111e-02_rb,0.65613e-02_rb /) kbo(:, 3,20, 5) = (/ & & 0.47180e-03_rb,0.63779e-02_rb,0.89500e-02_rb,0.98172e-02_rb,0.68459e-02_rb /) kbo(:, 4,20, 5) = (/ & & 0.56453e-03_rb,0.68862e-02_rb,0.95048e-02_rb,0.10225e-01_rb,0.71246e-02_rb /) kbo(:, 5,20, 5) = (/ & & 0.67486e-03_rb,0.74411e-02_rb,0.10082e-01_rb,0.10637e-01_rb,0.73786e-02_rb /) kbo(:, 1,21, 5) = (/ & & 0.28693e-03_rb,0.46180e-02_rb,0.66504e-02_rb,0.75379e-02_rb,0.52071e-02_rb /) kbo(:, 2,21, 5) = (/ & & 0.34180e-03_rb,0.49948e-02_rb,0.70898e-02_rb,0.78866e-02_rb,0.54645e-02_rb /) kbo(:, 3,21, 5) = (/ & & 0.40811e-03_rb,0.54006e-02_rb,0.75474e-02_rb,0.82331e-02_rb,0.57127e-02_rb /) kbo(:, 4,21, 5) = (/ & & 0.48873e-03_rb,0.58434e-02_rb,0.80212e-02_rb,0.85844e-02_rb,0.59470e-02_rb /) kbo(:, 5,21, 5) = (/ & & 0.58593e-03_rb,0.63260e-02_rb,0.85182e-02_rb,0.89408e-02_rb,0.61662e-02_rb /) kbo(:, 1,22, 5) = (/ & & 0.24974e-03_rb,0.39240e-02_rb,0.56208e-02_rb,0.63345e-02_rb,0.43431e-02_rb /) kbo(:, 2,22, 5) = (/ & & 0.29749e-03_rb,0.42526e-02_rb,0.59996e-02_rb,0.66266e-02_rb,0.45624e-02_rb /) kbo(:, 3,22, 5) = (/ & & 0.35608e-03_rb,0.46047e-02_rb,0.63919e-02_rb,0.69259e-02_rb,0.47738e-02_rb /) kbo(:, 4,22, 5) = (/ & & 0.42699e-03_rb,0.49920e-02_rb,0.67993e-02_rb,0.72276e-02_rb,0.49714e-02_rb /) kbo(:, 5,22, 5) = (/ & & 0.51198e-03_rb,0.54166e-02_rb,0.72302e-02_rb,0.75387e-02_rb,0.51660e-02_rb /) kbo(:, 1,23, 5) = (/ & & 0.21716e-03_rb,0.33375e-02_rb,0.47528e-02_rb,0.53238e-02_rb,0.36258e-02_rb /) kbo(:, 2,23, 5) = (/ & & 0.25886e-03_rb,0.36243e-02_rb,0.50797e-02_rb,0.55740e-02_rb,0.38107e-02_rb /) kbo(:, 3,23, 5) = (/ & & 0.31026e-03_rb,0.39353e-02_rb,0.54169e-02_rb,0.58309e-02_rb,0.39876e-02_rb /) kbo(:, 4,23, 5) = (/ & & 0.37235e-03_rb,0.42757e-02_rb,0.57711e-02_rb,0.60911e-02_rb,0.41586e-02_rb /) kbo(:, 5,23, 5) = (/ & & 0.44568e-03_rb,0.46463e-02_rb,0.61476e-02_rb,0.63633e-02_rb,0.43277e-02_rb /) kbo(:, 1,24, 5) = (/ & & 0.18738e-03_rb,0.28412e-02_rb,0.40251e-02_rb,0.44754e-02_rb,0.30232e-02_rb /) kbo(:, 2,24, 5) = (/ & & 0.22422e-03_rb,0.30930e-02_rb,0.43062e-02_rb,0.46921e-02_rb,0.31788e-02_rb /) kbo(:, 3,24, 5) = (/ & & 0.26942e-03_rb,0.33694e-02_rb,0.45983e-02_rb,0.49126e-02_rb,0.33287e-02_rb /) kbo(:, 4,24, 5) = (/ & & 0.32317e-03_rb,0.36702e-02_rb,0.49092e-02_rb,0.51393e-02_rb,0.34771e-02_rb /) kbo(:, 5,24, 5) = (/ & & 0.38638e-03_rb,0.39951e-02_rb,0.52385e-02_rb,0.53815e-02_rb,0.36232e-02_rb /) kbo(:, 1,25, 5) = (/ & & 0.16224e-03_rb,0.24232e-02_rb,0.34141e-02_rb,0.37661e-02_rb,0.25262e-02_rb /) kbo(:, 2,25, 5) = (/ & & 0.19465e-03_rb,0.26463e-02_rb,0.36575e-02_rb,0.39541e-02_rb,0.26577e-02_rb /) kbo(:, 3,25, 5) = (/ & & 0.23391e-03_rb,0.28936e-02_rb,0.39130e-02_rb,0.41446e-02_rb,0.27841e-02_rb /) kbo(:, 4,25, 5) = (/ & & 0.28044e-03_rb,0.31598e-02_rb,0.41853e-02_rb,0.43442e-02_rb,0.29098e-02_rb /) kbo(:, 5,25, 5) = (/ & & 0.33483e-03_rb,0.34437e-02_rb,0.44735e-02_rb,0.45625e-02_rb,0.30351e-02_rb /) kbo(:, 1,26, 5) = (/ & & 0.14132e-03_rb,0.20737e-02_rb,0.29036e-02_rb,0.31762e-02_rb,0.21157e-02_rb /) kbo(:, 2,26, 5) = (/ & & 0.16977e-03_rb,0.22743e-02_rb,0.31152e-02_rb,0.33382e-02_rb,0.22258e-02_rb /) kbo(:, 3,26, 5) = (/ & & 0.20409e-03_rb,0.24947e-02_rb,0.33401e-02_rb,0.35048e-02_rb,0.23338e-02_rb /) kbo(:, 4,26, 5) = (/ & & 0.24472e-03_rb,0.27297e-02_rb,0.35798e-02_rb,0.36835e-02_rb,0.24421e-02_rb /) kbo(:, 5,26, 5) = (/ & & 0.29131e-03_rb,0.29804e-02_rb,0.38308e-02_rb,0.38797e-02_rb,0.25500e-02_rb /) kbo(:, 1,27, 5) = (/ & & 0.12293e-03_rb,0.17797e-02_rb,0.24725e-02_rb,0.26822e-02_rb,0.17718e-02_rb /) kbo(:, 2,27, 5) = (/ & & 0.14789e-03_rb,0.19595e-02_rb,0.26584e-02_rb,0.28222e-02_rb,0.18655e-02_rb /) kbo(:, 3,27, 5) = (/ & & 0.17790e-03_rb,0.21552e-02_rb,0.28584e-02_rb,0.29695e-02_rb,0.19589e-02_rb /) kbo(:, 4,27, 5) = (/ & & 0.21315e-03_rb,0.23624e-02_rb,0.30688e-02_rb,0.31309e-02_rb,0.20520e-02_rb /) kbo(:, 5,27, 5) = (/ & & 0.25285e-03_rb,0.25825e-02_rb,0.32876e-02_rb,0.33068e-02_rb,0.21445e-02_rb /) kbo(:, 1,28, 5) = (/ & & 0.10657e-03_rb,0.15319e-02_rb,0.21096e-02_rb,0.22678e-02_rb,0.14844e-02_rb /) kbo(:, 2,28, 5) = (/ & & 0.12856e-03_rb,0.16920e-02_rb,0.22743e-02_rb,0.23899e-02_rb,0.15639e-02_rb /) kbo(:, 3,28, 5) = (/ & & 0.15471e-03_rb,0.18636e-02_rb,0.24511e-02_rb,0.25221e-02_rb,0.16436e-02_rb /) kbo(:, 4,28, 5) = (/ & & 0.18512e-03_rb,0.20472e-02_rb,0.26364e-02_rb,0.26681e-02_rb,0.17238e-02_rb /) kbo(:, 5,28, 5) = (/ & & 0.21872e-03_rb,0.22411e-02_rb,0.28270e-02_rb,0.28260e-02_rb,0.18048e-02_rb /) kbo(:, 1,29, 5) = (/ & & 0.92876e-04_rb,0.13237e-02_rb,0.18049e-02_rb,0.19214e-02_rb,0.12471e-02_rb /) kbo(:, 2,29, 5) = (/ & & 0.11226e-03_rb,0.14659e-02_rb,0.19518e-02_rb,0.20295e-02_rb,0.13143e-02_rb /) kbo(:, 3,29, 5) = (/ & & 0.13519e-03_rb,0.16171e-02_rb,0.21089e-02_rb,0.21498e-02_rb,0.13833e-02_rb /) kbo(:, 4,29, 5) = (/ & & 0.16102e-03_rb,0.17778e-02_rb,0.22703e-02_rb,0.22810e-02_rb,0.14528e-02_rb /) kbo(:, 5,29, 5) = (/ & & 0.18981e-03_rb,0.19484e-02_rb,0.24374e-02_rb,0.24249e-02_rb,0.15236e-02_rb /) kbo(:, 1,30, 5) = (/ & & 0.80828e-04_rb,0.11471e-02_rb,0.15486e-02_rb,0.16307e-02_rb,0.10482e-02_rb /) kbo(:, 2,30, 5) = (/ & & 0.98063e-04_rb,0.12718e-02_rb,0.16797e-02_rb,0.17287e-02_rb,0.11053e-02_rb /) kbo(:, 3,30, 5) = (/ & & 0.11772e-03_rb,0.14050e-02_rb,0.18177e-02_rb,0.18379e-02_rb,0.11648e-02_rb /) kbo(:, 4,30, 5) = (/ & & 0.13981e-03_rb,0.15469e-02_rb,0.19589e-02_rb,0.19565e-02_rb,0.12258e-02_rb /) kbo(:, 5,30, 5) = (/ & & 0.16446e-03_rb,0.16947e-02_rb,0.21055e-02_rb,0.20874e-02_rb,0.12885e-02_rb /) kbo(:, 1,31, 5) = (/ & & 0.70539e-04_rb,0.99621e-03_rb,0.13325e-02_rb,0.13879e-02_rb,0.88220e-03_rb /) kbo(:, 2,31, 5) = (/ & & 0.85589e-04_rb,0.11063e-02_rb,0.14492e-02_rb,0.14776e-02_rb,0.93113e-03_rb /) kbo(:, 3,31, 5) = (/ & & 0.10244e-03_rb,0.12240e-02_rb,0.15701e-02_rb,0.15764e-02_rb,0.98237e-03_rb /) kbo(:, 4,31, 5) = (/ & & 0.12151e-03_rb,0.13488e-02_rb,0.16942e-02_rb,0.16846e-02_rb,0.10364e-02_rb /) kbo(:, 5,31, 5) = (/ & & 0.14245e-03_rb,0.14753e-02_rb,0.18229e-02_rb,0.18042e-02_rb,0.10910e-02_rb /) kbo(:, 1,32, 5) = (/ & & 0.61598e-04_rb,0.86708e-03_rb,0.11506e-02_rb,0.11857e-02_rb,0.74396e-03_rb /) kbo(:, 2,32, 5) = (/ & & 0.74698e-04_rb,0.96443e-03_rb,0.12533e-02_rb,0.12673e-02_rb,0.78590e-03_rb /) kbo(:, 3,32, 5) = (/ & & 0.89092e-04_rb,0.10684e-02_rb,0.13590e-02_rb,0.13571e-02_rb,0.83090e-03_rb /) kbo(:, 4,32, 5) = (/ & & 0.10537e-03_rb,0.11766e-02_rb,0.14682e-02_rb,0.14560e-02_rb,0.87827e-03_rb /) kbo(:, 5,32, 5) = (/ & & 0.12327e-03_rb,0.12850e-02_rb,0.15813e-02_rb,0.15643e-02_rb,0.92599e-03_rb /) kbo(:, 1,33, 5) = (/ & & 0.53748e-04_rb,0.75629e-03_rb,0.99595e-03_rb,0.10163e-02_rb,0.62809e-03_rb /) kbo(:, 2,33, 5) = (/ & & 0.64972e-04_rb,0.84265e-03_rb,0.10856e-02_rb,0.10908e-02_rb,0.66416e-03_rb /) kbo(:, 3,33, 5) = (/ & & 0.77386e-04_rb,0.93397e-03_rb,0.11787e-02_rb,0.11727e-02_rb,0.70387e-03_rb /) kbo(:, 4,33, 5) = (/ & & 0.91138e-04_rb,0.10266e-02_rb,0.12749e-02_rb,0.12630e-02_rb,0.74507e-03_rb /) kbo(:, 5,33, 5) = (/ & & 0.10640e-03_rb,0.11189e-02_rb,0.13738e-02_rb,0.13608e-02_rb,0.78830e-03_rb /) kbo(:, 1,34, 5) = (/ & & 0.46667e-04_rb,0.65884e-03_rb,0.86049e-03_rb,0.87214e-03_rb,0.53099e-03_rb /) kbo(:, 2,34, 5) = (/ & & 0.56263e-04_rb,0.73490e-03_rb,0.93900e-03_rb,0.93946e-03_rb,0.56278e-03_rb /) kbo(:, 3,34, 5) = (/ & & 0.66853e-04_rb,0.81383e-03_rb,0.10209e-02_rb,0.10142e-02_rb,0.59776e-03_rb /) kbo(:, 4,34, 5) = (/ & & 0.78598e-04_rb,0.89314e-03_rb,0.11054e-02_rb,0.10963e-02_rb,0.63419e-03_rb /) kbo(:, 5,34, 5) = (/ & & 0.91503e-04_rb,0.97193e-03_rb,0.11927e-02_rb,0.11840e-02_rb,0.67320e-03_rb /) kbo(:, 1,35, 5) = (/ & & 0.39599e-04_rb,0.56866e-03_rb,0.73803e-03_rb,0.74491e-03_rb,0.44688e-03_rb /) kbo(:, 2,35, 5) = (/ & & 0.47677e-04_rb,0.63490e-03_rb,0.80685e-03_rb,0.80540e-03_rb,0.47466e-03_rb /) kbo(:, 3,35, 5) = (/ & & 0.56630e-04_rb,0.70279e-03_rb,0.87860e-03_rb,0.87332e-03_rb,0.50476e-03_rb /) kbo(:, 4,35, 5) = (/ & & 0.66506e-04_rb,0.77061e-03_rb,0.95262e-03_rb,0.94676e-03_rb,0.53730e-03_rb /) kbo(:, 5,35, 5) = (/ & & 0.77343e-04_rb,0.83870e-03_rb,0.10295e-02_rb,0.10250e-02_rb,0.57200e-03_rb /) kbo(:, 1,36, 5) = (/ & & 0.32767e-04_rb,0.48523e-03_rb,0.62751e-03_rb,0.63183e-03_rb,0.37353e-03_rb /) kbo(:, 2,36, 5) = (/ & & 0.39450e-04_rb,0.54261e-03_rb,0.68744e-03_rb,0.68587e-03_rb,0.39744e-03_rb /) kbo(:, 3,36, 5) = (/ & & 0.46861e-04_rb,0.60093e-03_rb,0.74977e-03_rb,0.74623e-03_rb,0.42315e-03_rb /) kbo(:, 4,36, 5) = (/ & & 0.54956e-04_rb,0.65916e-03_rb,0.81469e-03_rb,0.81158e-03_rb,0.45144e-03_rb /) kbo(:, 5,36, 5) = (/ & & 0.63908e-04_rb,0.71820e-03_rb,0.88212e-03_rb,0.88103e-03_rb,0.48165e-03_rb /) kbo(:, 1,37, 5) = (/ & & 0.26734e-04_rb,0.40754e-03_rb,0.52645e-03_rb,0.53014e-03_rb,0.31118e-03_rb /) kbo(:, 2,37, 5) = (/ & & 0.32273e-04_rb,0.45661e-03_rb,0.57825e-03_rb,0.57766e-03_rb,0.33206e-03_rb /) kbo(:, 3,37, 5) = (/ & & 0.38488e-04_rb,0.50697e-03_rb,0.63245e-03_rb,0.63058e-03_rb,0.35476e-03_rb /) kbo(:, 4,37, 5) = (/ & & 0.45228e-04_rb,0.55706e-03_rb,0.68918e-03_rb,0.68809e-03_rb,0.37944e-03_rb /) kbo(:, 5,37, 5) = (/ & & 0.52675e-04_rb,0.60808e-03_rb,0.74794e-03_rb,0.74934e-03_rb,0.40598e-03_rb /) kbo(:, 1,38, 5) = (/ & & 0.21751e-04_rb,0.34209e-03_rb,0.44146e-03_rb,0.44458e-03_rb,0.25920e-03_rb /) kbo(:, 2,38, 5) = (/ & & 0.26326e-04_rb,0.38415e-03_rb,0.48603e-03_rb,0.48632e-03_rb,0.27730e-03_rb /) kbo(:, 3,38, 5) = (/ & & 0.31515e-04_rb,0.42736e-03_rb,0.53325e-03_rb,0.53262e-03_rb,0.29714e-03_rb /) kbo(:, 4,38, 5) = (/ & & 0.37219e-04_rb,0.47064e-03_rb,0.58263e-03_rb,0.58321e-03_rb,0.31890e-03_rb /) kbo(:, 5,38, 5) = (/ & & 0.43344e-04_rb,0.51493e-03_rb,0.63402e-03_rb,0.63729e-03_rb,0.34212e-03_rb /) kbo(:, 1,39, 5) = (/ & & 0.17643e-04_rb,0.28717e-03_rb,0.37020e-03_rb,0.37288e-03_rb,0.21580e-03_rb /) kbo(:, 2,39, 5) = (/ & & 0.21418e-04_rb,0.32343e-03_rb,0.40871e-03_rb,0.40953e-03_rb,0.23151e-03_rb /) kbo(:, 3,39, 5) = (/ & & 0.25725e-04_rb,0.36044e-03_rb,0.44966e-03_rb,0.45005e-03_rb,0.24880e-03_rb /) kbo(:, 4,39, 5) = (/ & & 0.30479e-04_rb,0.39785e-03_rb,0.49263e-03_rb,0.49445e-03_rb,0.26783e-03_rb /) kbo(:, 5,39, 5) = (/ & & 0.35653e-04_rb,0.43646e-03_rb,0.53771e-03_rb,0.54230e-03_rb,0.28822e-03_rb /) kbo(:, 1,40, 5) = (/ & & 0.14102e-04_rb,0.23814e-03_rb,0.30730e-03_rb,0.30981e-03_rb,0.17864e-03_rb /) kbo(:, 2,40, 5) = (/ & & 0.17187e-04_rb,0.26934e-03_rb,0.34039e-03_rb,0.34146e-03_rb,0.19234e-03_rb /) kbo(:, 3,40, 5) = (/ & & 0.20739e-04_rb,0.30130e-03_rb,0.37571e-03_rb,0.37672e-03_rb,0.20737e-03_rb /) kbo(:, 4,40, 5) = (/ & & 0.24670e-04_rb,0.33333e-03_rb,0.41283e-03_rb,0.41538e-03_rb,0.22408e-03_rb /) kbo(:, 5,40, 5) = (/ & & 0.29046e-04_rb,0.36694e-03_rb,0.45216e-03_rb,0.45729e-03_rb,0.24187e-03_rb /) kbo(:, 1,41, 5) = (/ & & 0.11221e-04_rb,0.19710e-03_rb,0.25465e-03_rb,0.25696e-03_rb,0.14773e-03_rb /) kbo(:, 2,41, 5) = (/ & & 0.13747e-04_rb,0.22390e-03_rb,0.28305e-03_rb,0.28413e-03_rb,0.15955e-03_rb /) kbo(:, 3,41, 5) = (/ & & 0.16649e-04_rb,0.25145e-03_rb,0.31346e-03_rb,0.31467e-03_rb,0.17269e-03_rb /) kbo(:, 4,41, 5) = (/ & & 0.19899e-04_rb,0.27935e-03_rb,0.34563e-03_rb,0.34845e-03_rb,0.18718e-03_rb /) kbo(:, 5,41, 5) = (/ & & 0.23568e-04_rb,0.30830e-03_rb,0.37974e-03_rb,0.38512e-03_rb,0.20281e-03_rb /) kbo(:, 1,42, 5) = (/ & & 0.89147e-05_rb,0.16314e-03_rb,0.21088e-03_rb,0.21294e-03_rb,0.12205e-03_rb /) kbo(:, 2,42, 5) = (/ & & 0.10957e-04_rb,0.18596e-03_rb,0.23523e-03_rb,0.23628e-03_rb,0.13225e-03_rb /) kbo(:, 3,42, 5) = (/ & & 0.13327e-04_rb,0.20974e-03_rb,0.26134e-03_rb,0.26263e-03_rb,0.14356e-03_rb /) kbo(:, 4,42, 5) = (/ & & 0.16005e-04_rb,0.23378e-03_rb,0.28925e-03_rb,0.29202e-03_rb,0.15621e-03_rb /) kbo(:, 5,42, 5) = (/ & & 0.19038e-04_rb,0.25914e-03_rb,0.31897e-03_rb,0.32415e-03_rb,0.16982e-03_rb /) kbo(:, 1,43, 5) = (/ & & 0.69995e-05_rb,0.13405e-03_rb,0.17338e-03_rb,0.17535e-03_rb,0.10036e-03_rb /) kbo(:, 2,43, 5) = (/ & & 0.86406e-05_rb,0.15345e-03_rb,0.19416e-03_rb,0.19514e-03_rb,0.10910e-03_rb /) kbo(:, 3,43, 5) = (/ & & 0.10556e-04_rb,0.17373e-03_rb,0.21659e-03_rb,0.21767e-03_rb,0.11887e-03_rb /) kbo(:, 4,43, 5) = (/ & & 0.12739e-04_rb,0.19445e-03_rb,0.24053e-03_rb,0.24311e-03_rb,0.12980e-03_rb /) kbo(:, 5,43, 5) = (/ & & 0.15232e-04_rb,0.21640e-03_rb,0.26645e-03_rb,0.27107e-03_rb,0.14169e-03_rb /) kbo(:, 1,44, 5) = (/ & & 0.54712e-05_rb,0.10970e-03_rb,0.14195e-03_rb,0.14386e-03_rb,0.82260e-04_rb /) kbo(:, 2,44, 5) = (/ & & 0.67644e-05_rb,0.12612e-03_rb,0.15963e-03_rb,0.16061e-03_rb,0.89727e-04_rb /) kbo(:, 3,44, 5) = (/ & & 0.82973e-05_rb,0.14348e-03_rb,0.17878e-03_rb,0.17975e-03_rb,0.98122e-04_rb /) kbo(:, 4,44, 5) = (/ & & 0.10082e-04_rb,0.16132e-03_rb,0.19952e-03_rb,0.20155e-03_rb,0.10755e-03_rb /) kbo(:, 5,44, 5) = (/ & & 0.12107e-04_rb,0.18008e-03_rb,0.22179e-03_rb,0.22576e-03_rb,0.11787e-03_rb /) kbo(:, 1,45, 5) = (/ & & 0.42767e-05_rb,0.89680e-04_rb,0.11611e-03_rb,0.11781e-03_rb,0.67338e-04_rb /) kbo(:, 2,45, 5) = (/ & & 0.52860e-05_rb,0.10360e-03_rb,0.13107e-03_rb,0.13203e-03_rb,0.73722e-04_rb /) kbo(:, 3,45, 5) = (/ & & 0.65107e-05_rb,0.11838e-03_rb,0.14735e-03_rb,0.14829e-03_rb,0.80852e-04_rb /) kbo(:, 4,45, 5) = (/ & & 0.79501e-05_rb,0.13374e-03_rb,0.16520e-03_rb,0.16693e-03_rb,0.88969e-04_rb /) kbo(:, 5,45, 5) = (/ & & 0.95937e-05_rb,0.14993e-03_rb,0.18456e-03_rb,0.18781e-03_rb,0.97897e-04_rb /) kbo(:, 1,46, 5) = (/ & & 0.33226e-05_rb,0.72918e-04_rb,0.94635e-04_rb,0.96069e-04_rb,0.54912e-04_rb /) kbo(:, 2,46, 5) = (/ & & 0.41185e-05_rb,0.84705e-04_rb,0.10726e-03_rb,0.10809e-03_rb,0.60325e-04_rb /) kbo(:, 3,46, 5) = (/ & & 0.50796e-05_rb,0.97414e-04_rb,0.12106e-03_rb,0.12184e-03_rb,0.66415e-04_rb /) kbo(:, 4,46, 5) = (/ & & 0.62311e-05_rb,0.11055e-03_rb,0.13625e-03_rb,0.13772e-03_rb,0.73354e-04_rb /) kbo(:, 5,46, 5) = (/ & & 0.75594e-05_rb,0.12439e-03_rb,0.15297e-03_rb,0.15569e-03_rb,0.80972e-04_rb /) kbo(:, 1,47, 5) = (/ & & 0.25507e-05_rb,0.58753e-04_rb,0.76599e-04_rb,0.77798e-04_rb,0.44508e-04_rb /) kbo(:, 2,47, 5) = (/ & & 0.31800e-05_rb,0.68679e-04_rb,0.87240e-04_rb,0.87843e-04_rb,0.49115e-04_rb /) kbo(:, 3,47, 5) = (/ & & 0.39273e-05_rb,0.79497e-04_rb,0.98871e-04_rb,0.99421e-04_rb,0.54249e-04_rb /) kbo(:, 4,47, 5) = (/ & & 0.48346e-05_rb,0.90782e-04_rb,0.11173e-03_rb,0.11282e-03_rb,0.60113e-04_rb /) kbo(:, 5,47, 5) = (/ & & 0.58995e-05_rb,0.10267e-03_rb,0.12592e-03_rb,0.12815e-03_rb,0.66656e-04_rb /) kbo(:, 1,48, 5) = (/ & & 0.19539e-05_rb,0.47174e-04_rb,0.61874e-04_rb,0.62916e-04_rb,0.35973e-04_rb /) kbo(:, 2,48, 5) = (/ & & 0.24452e-05_rb,0.55575e-04_rb,0.70853e-04_rb,0.71238e-04_rb,0.39898e-04_rb /) kbo(:, 3,48, 5) = (/ & & 0.30402e-05_rb,0.64783e-04_rb,0.80633e-04_rb,0.80921e-04_rb,0.44214e-04_rb /) kbo(:, 4,48, 5) = (/ & & 0.37390e-05_rb,0.74439e-04_rb,0.91498e-04_rb,0.92208e-04_rb,0.49162e-04_rb /) kbo(:, 5,48, 5) = (/ & & 0.45836e-05_rb,0.84608e-04_rb,0.10358e-03_rb,0.10531e-03_rb,0.54702e-04_rb /) kbo(:, 1,49, 5) = (/ & & 0.14940e-05_rb,0.37716e-04_rb,0.49829e-04_rb,0.50804e-04_rb,0.28987e-04_rb /) kbo(:, 2,49, 5) = (/ & & 0.18758e-05_rb,0.44777e-04_rb,0.57392e-04_rb,0.57697e-04_rb,0.32317e-04_rb /) kbo(:, 3,49, 5) = (/ & & 0.23413e-05_rb,0.52604e-04_rb,0.65608e-04_rb,0.65748e-04_rb,0.35946e-04_rb /) kbo(:, 4,49, 5) = (/ & & 0.28961e-05_rb,0.60891e-04_rb,0.74824e-04_rb,0.75182e-04_rb,0.40099e-04_rb /) kbo(:, 5,49, 5) = (/ & & 0.35524e-05_rb,0.69587e-04_rb,0.85068e-04_rb,0.86295e-04_rb,0.44804e-04_rb /) kbo(:, 1,50, 5) = (/ & & 0.11500e-05_rb,0.30169e-04_rb,0.40157e-04_rb,0.41069e-04_rb,0.23362e-04_rb /) kbo(:, 2,50, 5) = (/ & & 0.14453e-05_rb,0.36089e-04_rb,0.46549e-04_rb,0.46799e-04_rb,0.26193e-04_rb /) kbo(:, 3,50, 5) = (/ & & 0.18129e-05_rb,0.42735e-04_rb,0.53474e-04_rb,0.53514e-04_rb,0.29249e-04_rb /) kbo(:, 4,50, 5) = (/ & & 0.22529e-05_rb,0.49843e-04_rb,0.61234e-04_rb,0.61404e-04_rb,0.32748e-04_rb /) kbo(:, 5,50, 5) = (/ & & 0.27762e-05_rb,0.57328e-04_rb,0.70027e-04_rb,0.70783e-04_rb,0.36712e-04_rb /) kbo(:, 1,51, 5) = (/ & & 0.88851e-06_rb,0.24095e-04_rb,0.32303e-04_rb,0.33210e-04_rb,0.18805e-04_rb /) kbo(:, 2,51, 5) = (/ & & 0.11177e-05_rb,0.29082e-04_rb,0.37705e-04_rb,0.37944e-04_rb,0.21209e-04_rb /) kbo(:, 3,51, 5) = (/ & & 0.14060e-05_rb,0.34667e-04_rb,0.43578e-04_rb,0.43570e-04_rb,0.23792e-04_rb /) kbo(:, 4,51, 5) = (/ & & 0.17539e-05_rb,0.40739e-04_rb,0.50114e-04_rb,0.50172e-04_rb,0.26720e-04_rb /) kbo(:, 5,51, 5) = (/ & & 0.21729e-05_rb,0.47224e-04_rb,0.57598e-04_rb,0.58070e-04_rb,0.30079e-04_rb /) kbo(:, 1,52, 5) = (/ & & 0.68525e-06_rb,0.19178e-04_rb,0.25896e-04_rb,0.26809e-04_rb,0.15097e-04_rb /) kbo(:, 2,52, 5) = (/ & & 0.86301e-06_rb,0.23336e-04_rb,0.30434e-04_rb,0.30713e-04_rb,0.17120e-04_rb /) kbo(:, 3,52, 5) = (/ & & 0.10889e-05_rb,0.28028e-04_rb,0.35422e-04_rb,0.35397e-04_rb,0.19301e-04_rb /) kbo(:, 4,52, 5) = (/ & & 0.13649e-05_rb,0.33187e-04_rb,0.40954e-04_rb,0.40921e-04_rb,0.21752e-04_rb /) kbo(:, 5,52, 5) = (/ & & 0.16982e-05_rb,0.38747e-04_rb,0.47260e-04_rb,0.47557e-04_rb,0.24588e-04_rb /) kbo(:, 1,53, 5) = (/ & & 0.52809e-06_rb,0.15206e-04_rb,0.20688e-04_rb,0.21592e-04_rb,0.12084e-04_rb /) kbo(:, 2,53, 5) = (/ & & 0.66493e-06_rb,0.18647e-04_rb,0.24479e-04_rb,0.24819e-04_rb,0.13781e-04_rb /) kbo(:, 3,53, 5) = (/ & & 0.84102e-06_rb,0.22574e-04_rb,0.28683e-04_rb,0.28690e-04_rb,0.15621e-04_rb /) kbo(:, 4,53, 5) = (/ & & 0.10585e-05_rb,0.26955e-04_rb,0.33364e-04_rb,0.33298e-04_rb,0.17677e-04_rb /) kbo(:, 5,53, 5) = (/ & & 0.13239e-05_rb,0.31710e-04_rb,0.38733e-04_rb,0.38864e-04_rb,0.20049e-04_rb /) kbo(:, 1,54, 5) = (/ & & 0.40969e-06_rb,0.12093e-04_rb,0.16564e-04_rb,0.17421e-04_rb,0.96882e-05_rb /) kbo(:, 2,54, 5) = (/ & & 0.51569e-06_rb,0.14937e-04_rb,0.19734e-04_rb,0.20094e-04_rb,0.11112e-04_rb /) kbo(:, 3,54, 5) = (/ & & 0.65296e-06_rb,0.18229e-04_rb,0.23282e-04_rb,0.23321e-04_rb,0.12664e-04_rb /) kbo(:, 4,54, 5) = (/ & & 0.82573e-06_rb,0.21950e-04_rb,0.27231e-04_rb,0.27150e-04_rb,0.14393e-04_rb /) kbo(:, 5,54, 5) = (/ & & 0.10373e-05_rb,0.26013e-04_rb,0.31791e-04_rb,0.31828e-04_rb,0.16379e-04_rb /) kbo(:, 1,55, 5) = (/ & & 0.31928e-06_rb,0.96162e-05_rb,0.13257e-04_rb,0.14053e-04_rb,0.77741e-05_rb /) kbo(:, 2,55, 5) = (/ & & 0.40112e-06_rb,0.11963e-04_rb,0.15906e-04_rb,0.16257e-04_rb,0.89578e-05_rb /) kbo(:, 3,55, 5) = (/ & & 0.50816e-06_rb,0.14717e-04_rb,0.18886e-04_rb,0.18947e-04_rb,0.10262e-04_rb /) kbo(:, 4,55, 5) = (/ & & 0.64465e-06_rb,0.17864e-04_rb,0.22207e-04_rb,0.22155e-04_rb,0.11715e-04_rb /) kbo(:, 5,55, 5) = (/ & & 0.81328e-06_rb,0.21326e-04_rb,0.26076e-04_rb,0.26061e-04_rb,0.13376e-04_rb /) kbo(:, 1,56, 5) = (/ & & 0.24829e-06_rb,0.76204e-05_rb,0.10578e-04_rb,0.11309e-04_rb,0.62208e-05_rb /) kbo(:, 2,56, 5) = (/ & & 0.31176e-06_rb,0.95488e-05_rb,0.12780e-04_rb,0.13125e-04_rb,0.72013e-05_rb /) kbo(:, 3,56, 5) = (/ & & 0.39506e-06_rb,0.11850e-04_rb,0.15279e-04_rb,0.15348e-04_rb,0.82947e-05_rb /) kbo(:, 4,56, 5) = (/ & & 0.50266e-06_rb,0.14492e-04_rb,0.18074e-04_rb,0.18040e-04_rb,0.95153e-05_rb /) kbo(:, 5,56, 5) = (/ & & 0.63638e-06_rb,0.17442e-04_rb,0.21336e-04_rb,0.21310e-04_rb,0.10904e-04_rb /) kbo(:, 1,57, 5) = (/ & & 0.19302e-06_rb,0.60187e-05_rb,0.84162e-05_rb,0.90799e-05_rb,0.49649e-05_rb /) kbo(:, 2,57, 5) = (/ & & 0.24222e-06_rb,0.75959e-05_rb,0.10233e-04_rb,0.10570e-04_rb,0.57701e-05_rb /) kbo(:, 3,57, 5) = (/ & & 0.30688e-06_rb,0.95080e-05_rb,0.12318e-04_rb,0.12403e-04_rb,0.66913e-05_rb /) kbo(:, 4,57, 5) = (/ & & 0.39089e-06_rb,0.11719e-04_rb,0.14670e-04_rb,0.14644e-04_rb,0.77166e-05_rb /) kbo(:, 5,57, 5) = (/ & & 0.49674e-06_rb,0.14214e-04_rb,0.17402e-04_rb,0.17382e-04_rb,0.88727e-05_rb /) kbo(:, 1,58, 5) = (/ & & 0.15046e-06_rb,0.47663e-05_rb,0.66998e-05_rb,0.72908e-05_rb,0.39631e-05_rb /) kbo(:, 2,58, 5) = (/ & & 0.18856e-06_rb,0.60459e-05_rb,0.81908e-05_rb,0.85206e-05_rb,0.46270e-05_rb /) kbo(:, 3,58, 5) = (/ & & 0.23869e-06_rb,0.76302e-05_rb,0.99245e-05_rb,0.10023e-04_rb,0.53977e-05_rb /) kbo(:, 4,58, 5) = (/ & & 0.30459e-06_rb,0.94767e-05_rb,0.11911e-04_rb,0.11894e-04_rb,0.62579e-05_rb /) kbo(:, 5,58, 5) = (/ & & 0.38820e-06_rb,0.11588e-04_rb,0.14205e-04_rb,0.14182e-04_rb,0.72226e-05_rb /) kbo(:, 1,59, 5) = (/ & & 0.12212e-06_rb,0.39332e-05_rb,0.55230e-05_rb,0.60094e-05_rb,0.32499e-05_rb /) kbo(:, 2,59, 5) = (/ & & 0.15324e-06_rb,0.50178e-05_rb,0.67879e-05_rb,0.70566e-05_rb,0.38108e-05_rb /) kbo(:, 3,59, 5) = (/ & & 0.19418e-06_rb,0.63678e-05_rb,0.82647e-05_rb,0.83443e-05_rb,0.44672e-05_rb /) kbo(:, 4,59, 5) = (/ & & 0.24820e-06_rb,0.79543e-05_rb,0.99670e-05_rb,0.99518e-05_rb,0.52027e-05_rb /) kbo(:, 5,59, 5) = (/ & & 0.31740e-06_rb,0.97704e-05_rb,0.11964e-04_rb,0.11938e-04_rb,0.60278e-05_rb /) kbo(:, 1,13, 6) = (/ & & 0.10896e-01_rb,0.63076e-01_rb,0.78831e-01_rb,0.78091e-01_rb,0.55428e-01_rb /) kbo(:, 2,13, 6) = (/ & & 0.13036e-01_rb,0.66370e-01_rb,0.81226e-01_rb,0.79692e-01_rb,0.56778e-01_rb /) kbo(:, 3,13, 6) = (/ & & 0.15498e-01_rb,0.69685e-01_rb,0.83483e-01_rb,0.81400e-01_rb,0.57975e-01_rb /) kbo(:, 4,13, 6) = (/ & & 0.18239e-01_rb,0.73147e-01_rb,0.85845e-01_rb,0.83249e-01_rb,0.59127e-01_rb /) kbo(:, 5,13, 6) = (/ & & 0.21232e-01_rb,0.76581e-01_rb,0.88266e-01_rb,0.85245e-01_rb,0.60192e-01_rb /) kbo(:, 1,14, 6) = (/ & & 0.94274e-02_rb,0.53526e-01_rb,0.66496e-01_rb,0.65527e-01_rb,0.46374e-01_rb /) kbo(:, 2,14, 6) = (/ & & 0.11284e-01_rb,0.56390e-01_rb,0.68527e-01_rb,0.66955e-01_rb,0.47524e-01_rb /) kbo(:, 3,14, 6) = (/ & & 0.13394e-01_rb,0.59305e-01_rb,0.70546e-01_rb,0.68479e-01_rb,0.48560e-01_rb /) kbo(:, 4,14, 6) = (/ & & 0.15751e-01_rb,0.62293e-01_rb,0.72634e-01_rb,0.70165e-01_rb,0.49587e-01_rb /) kbo(:, 5,14, 6) = (/ & & 0.18326e-01_rb,0.65240e-01_rb,0.74773e-01_rb,0.71967e-01_rb,0.50492e-01_rb /) kbo(:, 1,15, 6) = (/ & & 0.81352e-02_rb,0.45294e-01_rb,0.55939e-01_rb,0.54933e-01_rb,0.38471e-01_rb /) kbo(:, 2,15, 6) = (/ & & 0.97406e-02_rb,0.47797e-01_rb,0.57705e-01_rb,0.56201e-01_rb,0.39475e-01_rb /) kbo(:, 3,15, 6) = (/ & & 0.11542e-01_rb,0.50349e-01_rb,0.59500e-01_rb,0.57588e-01_rb,0.40391e-01_rb /) kbo(:, 4,15, 6) = (/ & & 0.13568e-01_rb,0.52924e-01_rb,0.61342e-01_rb,0.59116e-01_rb,0.41250e-01_rb /) kbo(:, 5,15, 6) = (/ & & 0.15789e-01_rb,0.55427e-01_rb,0.63250e-01_rb,0.60727e-01_rb,0.42016e-01_rb /) kbo(:, 1,16, 6) = (/ & & 0.70159e-02_rb,0.38272e-01_rb,0.46984e-01_rb,0.46002e-01_rb,0.31818e-01_rb /) kbo(:, 2,16, 6) = (/ & & 0.83846e-02_rb,0.40476e-01_rb,0.48519e-01_rb,0.47148e-01_rb,0.32640e-01_rb /) kbo(:, 3,16, 6) = (/ & & 0.99392e-02_rb,0.42699e-01_rb,0.50118e-01_rb,0.48421e-01_rb,0.33435e-01_rb /) kbo(:, 4,16, 6) = (/ & & 0.11675e-01_rb,0.44875e-01_rb,0.51760e-01_rb,0.49780e-01_rb,0.34161e-01_rb /) kbo(:, 5,16, 6) = (/ & & 0.13584e-01_rb,0.46992e-01_rb,0.53405e-01_rb,0.51224e-01_rb,0.34855e-01_rb /) kbo(:, 1,17, 6) = (/ & & 0.60402e-02_rb,0.32343e-01_rb,0.39419e-01_rb,0.38482e-01_rb,0.26323e-01_rb /) kbo(:, 2,17, 6) = (/ & & 0.72134e-02_rb,0.34265e-01_rb,0.40783e-01_rb,0.39523e-01_rb,0.27045e-01_rb /) kbo(:, 3,17, 6) = (/ & & 0.85415e-02_rb,0.36157e-01_rb,0.42200e-01_rb,0.40657e-01_rb,0.27733e-01_rb /) kbo(:, 4,17, 6) = (/ & & 0.10023e-01_rb,0.37979e-01_rb,0.43620e-01_rb,0.41877e-01_rb,0.28354e-01_rb /) kbo(:, 5,17, 6) = (/ & & 0.11662e-01_rb,0.39775e-01_rb,0.45034e-01_rb,0.43161e-01_rb,0.28989e-01_rb /) kbo(:, 1,18, 6) = (/ & & 0.51905e-02_rb,0.27334e-01_rb,0.33081e-01_rb,0.32183e-01_rb,0.21845e-01_rb /) kbo(:, 2,18, 6) = (/ & & 0.61907e-02_rb,0.28996e-01_rb,0.34295e-01_rb,0.33127e-01_rb,0.22456e-01_rb /) kbo(:, 3,18, 6) = (/ & & 0.73283e-02_rb,0.30572e-01_rb,0.35522e-01_rb,0.34131e-01_rb,0.23047e-01_rb /) kbo(:, 4,18, 6) = (/ & & 0.85960e-02_rb,0.32113e-01_rb,0.36725e-01_rb,0.35202e-01_rb,0.23589e-01_rb /) kbo(:, 5,18, 6) = (/ & & 0.10011e-01_rb,0.33654e-01_rb,0.37950e-01_rb,0.36339e-01_rb,0.24154e-01_rb /) kbo(:, 1,19, 6) = (/ & & 0.44474e-02_rb,0.23093e-01_rb,0.27758e-01_rb,0.26913e-01_rb,0.18159e-01_rb /) kbo(:, 2,19, 6) = (/ & & 0.53019e-02_rb,0.24497e-01_rb,0.28826e-01_rb,0.27764e-01_rb,0.18694e-01_rb /) kbo(:, 3,19, 6) = (/ & & 0.62735e-02_rb,0.25825e-01_rb,0.29864e-01_rb,0.28669e-01_rb,0.19187e-01_rb /) kbo(:, 4,19, 6) = (/ & & 0.73683e-02_rb,0.27139e-01_rb,0.30890e-01_rb,0.29627e-01_rb,0.19650e-01_rb /) kbo(:, 5,19, 6) = (/ & & 0.85933e-02_rb,0.28467e-01_rb,0.31975e-01_rb,0.30634e-01_rb,0.20138e-01_rb /) kbo(:, 1,20, 6) = (/ & & 0.38215e-02_rb,0.19522e-01_rb,0.23307e-01_rb,0.22532e-01_rb,0.15180e-01_rb /) kbo(:, 2,20, 6) = (/ & & 0.45489e-02_rb,0.20697e-01_rb,0.24217e-01_rb,0.23292e-01_rb,0.15626e-01_rb /) kbo(:, 3,20, 6) = (/ & & 0.53838e-02_rb,0.21827e-01_rb,0.25099e-01_rb,0.24107e-01_rb,0.16039e-01_rb /) kbo(:, 4,20, 6) = (/ & & 0.63294e-02_rb,0.22947e-01_rb,0.25996e-01_rb,0.24951e-01_rb,0.16431e-01_rb /) kbo(:, 5,20, 6) = (/ & & 0.73910e-02_rb,0.24098e-01_rb,0.26969e-01_rb,0.25840e-01_rb,0.16861e-01_rb /) kbo(:, 1,21, 6) = (/ & & 0.32849e-02_rb,0.16485e-01_rb,0.19564e-01_rb,0.18873e-01_rb,0.12724e-01_rb /) kbo(:, 2,21, 6) = (/ & & 0.39093e-02_rb,0.17476e-01_rb,0.20333e-01_rb,0.19553e-01_rb,0.13080e-01_rb /) kbo(:, 3,21, 6) = (/ & & 0.46257e-02_rb,0.18440e-01_rb,0.21099e-01_rb,0.20272e-01_rb,0.13424e-01_rb /) kbo(:, 4,21, 6) = (/ & & 0.54436e-02_rb,0.19400e-01_rb,0.21897e-01_rb,0.21018e-01_rb,0.13774e-01_rb /) kbo(:, 5,21, 6) = (/ & & 0.63568e-02_rb,0.20406e-01_rb,0.22777e-01_rb,0.21806e-01_rb,0.14153e-01_rb /) kbo(:, 1,22, 6) = (/ & & 0.28524e-02_rb,0.13970e-01_rb,0.16464e-01_rb,0.15855e-01_rb,0.10647e-01_rb /) kbo(:, 2,22, 6) = (/ & & 0.33998e-02_rb,0.14799e-01_rb,0.17121e-01_rb,0.16464e-01_rb,0.10957e-01_rb /) kbo(:, 3,22, 6) = (/ & & 0.40218e-02_rb,0.15618e-01_rb,0.17789e-01_rb,0.17098e-01_rb,0.11264e-01_rb /) kbo(:, 4,22, 6) = (/ & & 0.47350e-02_rb,0.16459e-01_rb,0.18512e-01_rb,0.17761e-01_rb,0.11585e-01_rb /) kbo(:, 5,22, 6) = (/ & & 0.55269e-02_rb,0.17342e-01_rb,0.19306e-01_rb,0.18466e-01_rb,0.11905e-01_rb /) kbo(:, 1,23, 6) = (/ & & 0.24776e-02_rb,0.11832e-01_rb,0.13862e-01_rb,0.13338e-01_rb,0.89101e-02_rb /) kbo(:, 2,23, 6) = (/ & & 0.29594e-02_rb,0.12532e-01_rb,0.14430e-01_rb,0.13874e-01_rb,0.91836e-02_rb /) kbo(:, 3,23, 6) = (/ & & 0.35060e-02_rb,0.13237e-01_rb,0.15025e-01_rb,0.14435e-01_rb,0.94582e-02_rb /) kbo(:, 4,23, 6) = (/ & & 0.41276e-02_rb,0.13976e-01_rb,0.15673e-01_rb,0.15028e-01_rb,0.97462e-02_rb /) kbo(:, 5,23, 6) = (/ & & 0.48108e-02_rb,0.14761e-01_rb,0.16387e-01_rb,0.15666e-01_rb,0.10041e-01_rb /) kbo(:, 1,24, 6) = (/ & & 0.21553e-02_rb,0.10022e-01_rb,0.11681e-01_rb,0.11233e-01_rb,0.74484e-02_rb /) kbo(:, 2,24, 6) = (/ & & 0.25764e-02_rb,0.10621e-01_rb,0.12176e-01_rb,0.11709e-01_rb,0.76914e-02_rb /) kbo(:, 3,24, 6) = (/ & & 0.30587e-02_rb,0.11236e-01_rb,0.12711e-01_rb,0.12208e-01_rb,0.79451e-02_rb /) kbo(:, 4,24, 6) = (/ & & 0.36022e-02_rb,0.11891e-01_rb,0.13293e-01_rb,0.12744e-01_rb,0.82033e-02_rb /) kbo(:, 5,24, 6) = (/ & & 0.41914e-02_rb,0.12593e-01_rb,0.13939e-01_rb,0.13324e-01_rb,0.84674e-02_rb /) kbo(:, 1,25, 6) = (/ & & 0.18796e-02_rb,0.85000e-02_rb,0.98543e-02_rb,0.94788e-02_rb,0.62281e-02_rb /) kbo(:, 2,25, 6) = (/ & & 0.22512e-02_rb,0.90173e-02_rb,0.10293e-01_rb,0.99015e-02_rb,0.64465e-02_rb /) kbo(:, 3,25, 6) = (/ & & 0.26761e-02_rb,0.95606e-02_rb,0.10772e-01_rb,0.10351e-01_rb,0.66771e-02_rb /) kbo(:, 4,25, 6) = (/ & & 0.31512e-02_rb,0.10144e-01_rb,0.11303e-01_rb,0.10838e-01_rb,0.69100e-02_rb /) kbo(:, 5,25, 6) = (/ & & 0.36575e-02_rb,0.10772e-01_rb,0.11893e-01_rb,0.11363e-01_rb,0.71526e-02_rb /) kbo(:, 1,26, 6) = (/ & & 0.16486e-02_rb,0.72263e-02_rb,0.83293e-02_rb,0.80207e-02_rb,0.52267e-02_rb /) kbo(:, 2,26, 6) = (/ & & 0.19790e-02_rb,0.76783e-02_rb,0.87239e-02_rb,0.83966e-02_rb,0.54266e-02_rb /) kbo(:, 3,26, 6) = (/ & & 0.23552e-02_rb,0.81632e-02_rb,0.91606e-02_rb,0.88030e-02_rb,0.56340e-02_rb /) kbo(:, 4,26, 6) = (/ & & 0.27655e-02_rb,0.86841e-02_rb,0.96465e-02_rb,0.92463e-02_rb,0.58421e-02_rb /) kbo(:, 5,26, 6) = (/ & & 0.32014e-02_rb,0.92461e-02_rb,0.10190e-01_rb,0.97263e-02_rb,0.60618e-02_rb /) kbo(:, 1,27, 6) = (/ & & 0.14479e-02_rb,0.61551e-02_rb,0.70548e-02_rb,0.67980e-02_rb,0.43916e-02_rb /) kbo(:, 2,27, 6) = (/ & & 0.17422e-02_rb,0.65560e-02_rb,0.74109e-02_rb,0.71369e-02_rb,0.45703e-02_rb /) kbo(:, 3,27, 6) = (/ & & 0.20711e-02_rb,0.69878e-02_rb,0.78116e-02_rb,0.75081e-02_rb,0.47565e-02_rb /) kbo(:, 4,27, 6) = (/ & & 0.24273e-02_rb,0.74543e-02_rb,0.82596e-02_rb,0.79125e-02_rb,0.49414e-02_rb /) kbo(:, 5,27, 6) = (/ & & 0.28006e-02_rb,0.79622e-02_rb,0.87633e-02_rb,0.83523e-02_rb,0.51438e-02_rb /) kbo(:, 1,28, 6) = (/ & & 0.12757e-02_rb,0.52552e-02_rb,0.59880e-02_rb,0.57731e-02_rb,0.36940e-02_rb /) kbo(:, 2,28, 6) = (/ & & 0.15355e-02_rb,0.56117e-02_rb,0.63148e-02_rb,0.60828e-02_rb,0.38537e-02_rb /) kbo(:, 3,28, 6) = (/ & & 0.18209e-02_rb,0.60000e-02_rb,0.66831e-02_rb,0.64236e-02_rb,0.40153e-02_rb /) kbo(:, 4,28, 6) = (/ & & 0.21272e-02_rb,0.64202e-02_rb,0.70979e-02_rb,0.67923e-02_rb,0.41811e-02_rb /) kbo(:, 5,28, 6) = (/ & & 0.24474e-02_rb,0.68778e-02_rb,0.75643e-02_rb,0.71983e-02_rb,0.43640e-02_rb /) kbo(:, 1,29, 6) = (/ & & 0.11295e-02_rb,0.45004e-02_rb,0.50997e-02_rb,0.49184e-02_rb,0.31153e-02_rb /) kbo(:, 2,29, 6) = (/ & & 0.13559e-02_rb,0.48180e-02_rb,0.54010e-02_rb,0.52034e-02_rb,0.32572e-02_rb /) kbo(:, 3,29, 6) = (/ & & 0.16033e-02_rb,0.51685e-02_rb,0.57423e-02_rb,0.55151e-02_rb,0.33997e-02_rb /) kbo(:, 4,29, 6) = (/ & & 0.18647e-02_rb,0.55488e-02_rb,0.61280e-02_rb,0.58545e-02_rb,0.35531e-02_rb /) kbo(:, 5,29, 6) = (/ & & 0.21368e-02_rb,0.59683e-02_rb,0.65578e-02_rb,0.62309e-02_rb,0.37192e-02_rb /) kbo(:, 1,30, 6) = (/ & & 0.10010e-02_rb,0.38621e-02_rb,0.43580e-02_rb,0.42036e-02_rb,0.26325e-02_rb /) kbo(:, 2,30, 6) = (/ & & 0.11967e-02_rb,0.41511e-02_rb,0.46366e-02_rb,0.44656e-02_rb,0.27570e-02_rb /) kbo(:, 3,30, 6) = (/ & & 0.14096e-02_rb,0.44678e-02_rb,0.49534e-02_rb,0.47515e-02_rb,0.28856e-02_rb /) kbo(:, 4,30, 6) = (/ & & 0.16325e-02_rb,0.48140e-02_rb,0.53117e-02_rb,0.50685e-02_rb,0.30242e-02_rb /) kbo(:, 5,30, 6) = (/ & & 0.18599e-02_rb,0.52016e-02_rb,0.57103e-02_rb,0.54169e-02_rb,0.31738e-02_rb /) kbo(:, 1,31, 6) = (/ & & 0.88685e-03_rb,0.33266e-02_rb,0.37394e-02_rb,0.36064e-02_rb,0.22280e-02_rb /) kbo(:, 2,31, 6) = (/ & & 0.10569e-02_rb,0.35897e-02_rb,0.39964e-02_rb,0.38465e-02_rb,0.23389e-02_rb /) kbo(:, 3,31, 6) = (/ & & 0.12382e-02_rb,0.38779e-02_rb,0.42920e-02_rb,0.41135e-02_rb,0.24573e-02_rb /) kbo(:, 4,31, 6) = (/ & & 0.14278e-02_rb,0.41961e-02_rb,0.46258e-02_rb,0.44080e-02_rb,0.25818e-02_rb /) kbo(:, 5,31, 6) = (/ & & 0.16136e-02_rb,0.45547e-02_rb,0.50001e-02_rb,0.47313e-02_rb,0.27214e-02_rb /) kbo(:, 1,32, 6) = (/ & & 0.78559e-03_rb,0.28763e-02_rb,0.32195e-02_rb,0.31059e-02_rb,0.18911e-02_rb /) kbo(:, 2,32, 6) = (/ & & 0.93178e-03_rb,0.31157e-02_rb,0.34609e-02_rb,0.33287e-02_rb,0.19930e-02_rb /) kbo(:, 3,32, 6) = (/ & & 0.10867e-02_rb,0.33798e-02_rb,0.37377e-02_rb,0.35772e-02_rb,0.21006e-02_rb /) kbo(:, 4,32, 6) = (/ & & 0.12446e-02_rb,0.36754e-02_rb,0.40497e-02_rb,0.38517e-02_rb,0.22158e-02_rb /) kbo(:, 5,32, 6) = (/ & & 0.13936e-02_rb,0.40072e-02_rb,0.44007e-02_rb,0.41538e-02_rb,0.23413e-02_rb /) kbo(:, 1,33, 6) = (/ & & 0.69486e-03_rb,0.24959e-02_rb,0.27846e-02_rb,0.26858e-02_rb,0.16103e-02_rb /) kbo(:, 2,33, 6) = (/ & & 0.82037e-03_rb,0.27142e-02_rb,0.30117e-02_rb,0.28933e-02_rb,0.17041e-02_rb /) kbo(:, 3,33, 6) = (/ & & 0.95137e-03_rb,0.29589e-02_rb,0.32703e-02_rb,0.31258e-02_rb,0.18033e-02_rb /) kbo(:, 4,33, 6) = (/ & & 0.10800e-02_rb,0.32345e-02_rb,0.35641e-02_rb,0.33810e-02_rb,0.19089e-02_rb /) kbo(:, 5,33, 6) = (/ & & 0.11986e-02_rb,0.35406e-02_rb,0.38943e-02_rb,0.36682e-02_rb,0.20234e-02_rb /) kbo(:, 1,34, 6) = (/ & & 0.61032e-03_rb,0.21671e-02_rb,0.24134e-02_rb,0.23268e-02_rb,0.13754e-02_rb /) kbo(:, 2,34, 6) = (/ & & 0.71748e-03_rb,0.23678e-02_rb,0.26264e-02_rb,0.25207e-02_rb,0.14624e-02_rb /) kbo(:, 3,34, 6) = (/ & & 0.82600e-03_rb,0.25947e-02_rb,0.28697e-02_rb,0.27368e-02_rb,0.15523e-02_rb /) kbo(:, 4,34, 6) = (/ & & 0.92939e-03_rb,0.28495e-02_rb,0.31449e-02_rb,0.29773e-02_rb,0.16488e-02_rb /) kbo(:, 5,34, 6) = (/ & & 0.10239e-02_rb,0.31299e-02_rb,0.34552e-02_rb,0.32520e-02_rb,0.17543e-02_rb /) kbo(:, 1,35, 6) = (/ & & 0.52678e-03_rb,0.18713e-02_rb,0.20838e-02_rb,0.20082e-02_rb,0.11717e-02_rb /) kbo(:, 2,35, 6) = (/ & & 0.61674e-03_rb,0.20541e-02_rb,0.22811e-02_rb,0.21873e-02_rb,0.12500e-02_rb /) kbo(:, 3,35, 6) = (/ & & 0.70570e-03_rb,0.22625e-02_rb,0.25066e-02_rb,0.23870e-02_rb,0.13326e-02_rb /) kbo(:, 4,35, 6) = (/ & & 0.78855e-03_rb,0.24971e-02_rb,0.27629e-02_rb,0.26134e-02_rb,0.14204e-02_rb /) kbo(:, 5,35, 6) = (/ & & 0.86492e-03_rb,0.27499e-02_rb,0.30514e-02_rb,0.28766e-02_rb,0.15154e-02_rb /) kbo(:, 1,36, 6) = (/ & & 0.44569e-03_rb,0.16031e-02_rb,0.17868e-02_rb,0.17221e-02_rb,0.99240e-03_rb /) kbo(:, 2,36, 6) = (/ & & 0.52055e-03_rb,0.17679e-02_rb,0.19674e-02_rb,0.18854e-02_rb,0.10623e-02_rb /) kbo(:, 3,36, 6) = (/ & & 0.59380e-03_rb,0.19567e-02_rb,0.21742e-02_rb,0.20700e-02_rb,0.11368e-02_rb /) kbo(:, 4,36, 6) = (/ & & 0.66114e-03_rb,0.21690e-02_rb,0.24093e-02_rb,0.22827e-02_rb,0.12171e-02_rb /) kbo(:, 5,36, 6) = (/ & & 0.72347e-03_rb,0.23953e-02_rb,0.26735e-02_rb,0.25294e-02_rb,0.13028e-02_rb /) kbo(:, 1,37, 6) = (/ & & 0.36881e-03_rb,0.13558e-02_rb,0.15140e-02_rb,0.14605e-02_rb,0.83527e-03_rb /) kbo(:, 2,37, 6) = (/ & & 0.43070e-03_rb,0.15018e-02_rb,0.16759e-02_rb,0.16073e-02_rb,0.89749e-03_rb /) kbo(:, 3,37, 6) = (/ & & 0.49122e-03_rb,0.16697e-02_rb,0.18620e-02_rb,0.17747e-02_rb,0.96428e-03_rb /) kbo(:, 4,37, 6) = (/ & & 0.54687e-03_rb,0.18590e-02_rb,0.20742e-02_rb,0.19690e-02_rb,0.10365e-02_rb /) kbo(:, 5,37, 6) = (/ & & 0.59826e-03_rb,0.20615e-02_rb,0.23143e-02_rb,0.21948e-02_rb,0.11140e-02_rb /) kbo(:, 1,38, 6) = (/ & & 0.30472e-03_rb,0.11463e-02_rb,0.12827e-02_rb,0.12387e-02_rb,0.70293e-03_rb /) kbo(:, 2,38, 6) = (/ & & 0.35606e-03_rb,0.12755e-02_rb,0.14277e-02_rb,0.13705e-02_rb,0.75844e-03_rb /) kbo(:, 3,38, 6) = (/ & & 0.40587e-03_rb,0.14248e-02_rb,0.15948e-02_rb,0.15225e-02_rb,0.81832e-03_rb /) kbo(:, 4,38, 6) = (/ & & 0.45170e-03_rb,0.15929e-02_rb,0.17869e-02_rb,0.16996e-02_rb,0.88272e-03_rb /) kbo(:, 5,38, 6) = (/ & & 0.49447e-03_rb,0.17743e-02_rb,0.20049e-02_rb,0.19060e-02_rb,0.95296e-03_rb /) kbo(:, 1,39, 6) = (/ & & 0.25159e-03_rb,0.96943e-03_rb,0.10877e-02_rb,0.10513e-02_rb,0.59159e-03_rb /) kbo(:, 2,39, 6) = (/ & & 0.29433e-03_rb,0.10839e-02_rb,0.12173e-02_rb,0.11700e-02_rb,0.64088e-03_rb /) kbo(:, 3,39, 6) = (/ & & 0.33554e-03_rb,0.12164e-02_rb,0.13675e-02_rb,0.13079e-02_rb,0.69454e-03_rb /) kbo(:, 4,39, 6) = (/ & & 0.37315e-03_rb,0.13660e-02_rb,0.15416e-02_rb,0.14697e-02_rb,0.75241e-03_rb /) kbo(:, 5,39, 6) = (/ & & 0.40840e-03_rb,0.15291e-02_rb,0.17396e-02_rb,0.16583e-02_rb,0.81566e-03_rb /) kbo(:, 1,40, 6) = (/ & & 0.20445e-03_rb,0.81104e-03_rb,0.91201e-03_rb,0.88303e-03_rb,0.49462e-03_rb /) kbo(:, 2,40, 6) = (/ & & 0.24013e-03_rb,0.91062e-03_rb,0.10259e-02_rb,0.98834e-03_rb,0.53806e-03_rb /) kbo(:, 3,40, 6) = (/ & & 0.27454e-03_rb,0.10267e-02_rb,0.11591e-02_rb,0.11112e-02_rb,0.58582e-03_rb /) kbo(:, 4,40, 6) = (/ & & 0.30609e-03_rb,0.11586e-02_rb,0.13148e-02_rb,0.12564e-02_rb,0.63733e-03_rb /) kbo(:, 5,40, 6) = (/ & & 0.33521e-03_rb,0.13038e-02_rb,0.14932e-02_rb,0.14267e-02_rb,0.69406e-03_rb /) kbo(:, 1,41, 6) = (/ & & 0.16568e-03_rb,0.67706e-03_rb,0.76339e-03_rb,0.74014e-03_rb,0.41311e-03_rb /) kbo(:, 2,41, 6) = (/ & & 0.19545e-03_rb,0.76370e-03_rb,0.86317e-03_rb,0.83349e-03_rb,0.45126e-03_rb /) kbo(:, 3,41, 6) = (/ & & 0.22429e-03_rb,0.86513e-03_rb,0.98057e-03_rb,0.94284e-03_rb,0.49336e-03_rb /) kbo(:, 4,41, 6) = (/ & & 0.25075e-03_rb,0.98100e-03_rb,0.11192e-02_rb,0.10723e-02_rb,0.53916e-03_rb /) kbo(:, 5,41, 6) = (/ & & 0.27523e-03_rb,0.11101e-02_rb,0.12797e-02_rb,0.12259e-02_rb,0.58980e-03_rb /) kbo(:, 1,42, 6) = (/ & & 0.13464e-03_rb,0.56478e-03_rb,0.63846e-03_rb,0.61972e-03_rb,0.34485e-03_rb /) kbo(:, 2,42, 6) = (/ & & 0.15918e-03_rb,0.64002e-03_rb,0.72573e-03_rb,0.70212e-03_rb,0.37807e-03_rb /) kbo(:, 3,42, 6) = (/ & & 0.18309e-03_rb,0.72866e-03_rb,0.82914e-03_rb,0.79959e-03_rb,0.41541e-03_rb /) kbo(:, 4,42, 6) = (/ & & 0.20534e-03_rb,0.83063e-03_rb,0.95224e-03_rb,0.91510e-03_rb,0.45609e-03_rb /) kbo(:, 5,42, 6) = (/ & & 0.22591e-03_rb,0.94536e-03_rb,0.10960e-02_rb,0.10535e-02_rb,0.50132e-03_rb /) kbo(:, 1,43, 6) = (/ & & 0.10834e-03_rb,0.46763e-03_rb,0.52964e-03_rb,0.51479e-03_rb,0.28641e-03_rb /) kbo(:, 2,43, 6) = (/ & & 0.12878e-03_rb,0.53191e-03_rb,0.60529e-03_rb,0.58655e-03_rb,0.31538e-03_rb /) kbo(:, 3,43, 6) = (/ & & 0.14877e-03_rb,0.60848e-03_rb,0.69517e-03_rb,0.67233e-03_rb,0.34781e-03_rb /) kbo(:, 4,43, 6) = (/ & & 0.16739e-03_rb,0.69818e-03_rb,0.80315e-03_rb,0.77433e-03_rb,0.38376e-03_rb /) kbo(:, 5,43, 6) = (/ & & 0.18458e-03_rb,0.79951e-03_rb,0.93071e-03_rb,0.89755e-03_rb,0.42371e-03_rb /) kbo(:, 1,44, 6) = (/ & & 0.86770e-04_rb,0.38551e-03_rb,0.43712e-03_rb,0.42544e-03_rb,0.23710e-03_rb /) kbo(:, 2,44, 6) = (/ & & 0.10382e-03_rb,0.44040e-03_rb,0.50222e-03_rb,0.48753e-03_rb,0.26235e-03_rb /) kbo(:, 3,44, 6) = (/ & & 0.12059e-03_rb,0.50571e-03_rb,0.58013e-03_rb,0.56233e-03_rb,0.29036e-03_rb /) kbo(:, 4,44, 6) = (/ & & 0.13632e-03_rb,0.58391e-03_rb,0.67429e-03_rb,0.65221e-03_rb,0.32192e-03_rb /) kbo(:, 5,44, 6) = (/ & & 0.15073e-03_rb,0.67339e-03_rb,0.78624e-03_rb,0.76086e-03_rb,0.35732e-03_rb /) kbo(:, 1,45, 6) = (/ & & 0.69317e-04_rb,0.31724e-03_rb,0.36001e-03_rb,0.35090e-03_rb,0.19579e-03_rb /) kbo(:, 2,45, 6) = (/ & & 0.83569e-04_rb,0.36417e-03_rb,0.41579e-03_rb,0.40435e-03_rb,0.21781e-03_rb /) kbo(:, 3,45, 6) = (/ & & 0.97725e-04_rb,0.42014e-03_rb,0.48329e-03_rb,0.46938e-03_rb,0.24226e-03_rb /) kbo(:, 4,45, 6) = (/ & & 0.11101e-03_rb,0.48745e-03_rb,0.56520e-03_rb,0.54804e-03_rb,0.26965e-03_rb /) kbo(:, 5,45, 6) = (/ & & 0.12310e-03_rb,0.56606e-03_rb,0.66327e-03_rb,0.64374e-03_rb,0.30080e-03_rb /) kbo(:, 1,46, 6) = (/ & & 0.55030e-04_rb,0.26007e-03_rb,0.29522e-03_rb,0.28798e-03_rb,0.16098e-03_rb /) kbo(:, 2,46, 6) = (/ & & 0.66908e-04_rb,0.29981e-03_rb,0.34235e-03_rb,0.33361e-03_rb,0.18009e-03_rb /) kbo(:, 3,46, 6) = (/ & & 0.78894e-04_rb,0.34737e-03_rb,0.40028e-03_rb,0.38969e-03_rb,0.20138e-03_rb /) kbo(:, 4,46, 6) = (/ & & 0.90228e-04_rb,0.40507e-03_rb,0.47110e-03_rb,0.45796e-03_rb,0.22525e-03_rb /) kbo(:, 5,46, 6) = (/ & & 0.10044e-03_rb,0.47380e-03_rb,0.55673e-03_rb,0.54149e-03_rb,0.25231e-03_rb /) kbo(:, 1,47, 6) = (/ & & 0.43131e-04_rb,0.21132e-03_rb,0.23992e-03_rb,0.23430e-03_rb,0.13147e-03_rb /) kbo(:, 2,47, 6) = (/ & & 0.53026e-04_rb,0.24489e-03_rb,0.27966e-03_rb,0.27282e-03_rb,0.14794e-03_rb /) kbo(:, 3,47, 6) = (/ & & 0.63179e-04_rb,0.28502e-03_rb,0.32837e-03_rb,0.32046e-03_rb,0.16642e-03_rb /) kbo(:, 4,47, 6) = (/ & & 0.72849e-04_rb,0.33391e-03_rb,0.38868e-03_rb,0.37909e-03_rb,0.18727e-03_rb /) kbo(:, 5,47, 6) = (/ & & 0.81641e-04_rb,0.39308e-03_rb,0.46293e-03_rb,0.45114e-03_rb,0.21071e-03_rb /) kbo(:, 1,48, 6) = (/ & & 0.33560e-04_rb,0.17139e-03_rb,0.19468e-03_rb,0.19001e-03_rb,0.10710e-03_rb /) kbo(:, 2,48, 6) = (/ & & 0.41736e-04_rb,0.19942e-03_rb,0.22765e-03_rb,0.22235e-03_rb,0.12121e-03_rb /) kbo(:, 3,48, 6) = (/ & & 0.50371e-04_rb,0.23319e-03_rb,0.26893e-03_rb,0.26280e-03_rb,0.13718e-03_rb /) kbo(:, 4,48, 6) = (/ & & 0.58779e-04_rb,0.27466e-03_rb,0.31973e-03_rb,0.31295e-03_rb,0.15543e-03_rb /) kbo(:, 5,48, 6) = (/ & & 0.66247e-04_rb,0.32531e-03_rb,0.38347e-03_rb,0.37465e-03_rb,0.17582e-03_rb /) kbo(:, 1,49, 6) = (/ & & 0.25958e-04_rb,0.13895e-03_rb,0.15751e-03_rb,0.15378e-03_rb,0.86997e-04_rb /) kbo(:, 2,49, 6) = (/ & & 0.32663e-04_rb,0.16210e-03_rb,0.18496e-03_rb,0.18058e-03_rb,0.99003e-04_rb /) kbo(:, 3,49, 6) = (/ & & 0.39912e-04_rb,0.19033e-03_rb,0.21954e-03_rb,0.21463e-03_rb,0.11278e-03_rb /) kbo(:, 4,49, 6) = (/ & & 0.47146e-04_rb,0.22536e-03_rb,0.26252e-03_rb,0.25743e-03_rb,0.12854e-03_rb /) kbo(:, 5,49, 6) = (/ & & 0.53714e-04_rb,0.26879e-03_rb,0.31652e-03_rb,0.31040e-03_rb,0.14638e-03_rb /) kbo(:, 1,50, 6) = (/ & & 0.20123e-04_rb,0.11283e-03_rb,0.12763e-03_rb,0.12462e-03_rb,0.70722e-04_rb /) kbo(:, 2,50, 6) = (/ & & 0.25601e-04_rb,0.13215e-03_rb,0.15042e-03_rb,0.14697e-03_rb,0.80931e-04_rb /) kbo(:, 3,50, 6) = (/ & & 0.31614e-04_rb,0.15574e-03_rb,0.17957e-03_rb,0.17552e-03_rb,0.92734e-04_rb /) kbo(:, 4,50, 6) = (/ & & 0.37764e-04_rb,0.18520e-03_rb,0.21596e-03_rb,0.21200e-03_rb,0.10641e-03_rb /) kbo(:, 5,50, 6) = (/ & & 0.43463e-04_rb,0.22248e-03_rb,0.26195e-03_rb,0.25758e-03_rb,0.12203e-03_rb /) kbo(:, 1,51, 6) = (/ & & 0.15566e-04_rb,0.91692e-04_rb,0.10348e-03_rb,0.10093e-03_rb,0.57420e-04_rb /) kbo(:, 2,51, 6) = (/ & & 0.20041e-04_rb,0.10771e-03_rb,0.12230e-03_rb,0.11952e-03_rb,0.66019e-04_rb /) kbo(:, 3,51, 6) = (/ & & 0.25022e-04_rb,0.12757e-03_rb,0.14670e-03_rb,0.14349e-03_rb,0.76182e-04_rb /) kbo(:, 4,51, 6) = (/ & & 0.30196e-04_rb,0.15226e-03_rb,0.17772e-03_rb,0.17429e-03_rb,0.87954e-04_rb /) kbo(:, 5,51, 6) = (/ & & 0.35140e-04_rb,0.18405e-03_rb,0.21697e-03_rb,0.21356e-03_rb,0.10162e-03_rb /) kbo(:, 1,52, 6) = (/ & & 0.11977e-04_rb,0.74321e-04_rb,0.83777e-04_rb,0.81525e-04_rb,0.46492e-04_rb /) kbo(:, 2,52, 6) = (/ & & 0.15618e-04_rb,0.87662e-04_rb,0.99315e-04_rb,0.96995e-04_rb,0.53744e-04_rb /) kbo(:, 3,52, 6) = (/ & & 0.19731e-04_rb,0.10434e-03_rb,0.11957e-03_rb,0.11696e-03_rb,0.62355e-04_rb /) kbo(:, 4,52, 6) = (/ & & 0.24071e-04_rb,0.12514e-03_rb,0.14574e-03_rb,0.14300e-03_rb,0.72491e-04_rb /) kbo(:, 5,52, 6) = (/ & & 0.28292e-04_rb,0.15185e-03_rb,0.17919e-03_rb,0.17642e-03_rb,0.84356e-04_rb /) kbo(:, 1,53, 6) = (/ & & 0.91836e-05_rb,0.60131e-04_rb,0.67720e-04_rb,0.65649e-04_rb,0.37522e-04_rb /) kbo(:, 2,53, 6) = (/ & & 0.12113e-04_rb,0.71192e-04_rb,0.80457e-04_rb,0.78425e-04_rb,0.43599e-04_rb /) kbo(:, 3,53, 6) = (/ & & 0.15471e-04_rb,0.85141e-04_rb,0.97276e-04_rb,0.95110e-04_rb,0.50903e-04_rb /) kbo(:, 4,53, 6) = (/ & & 0.19102e-04_rb,0.10263e-03_rb,0.11918e-03_rb,0.11694e-03_rb,0.59553e-04_rb /) kbo(:, 5,53, 6) = (/ & & 0.22693e-04_rb,0.12514e-03_rb,0.14755e-03_rb,0.14527e-03_rb,0.69812e-04_rb /) kbo(:, 1,54, 6) = (/ & & 0.70721e-05_rb,0.48764e-04_rb,0.54926e-04_rb,0.53041e-04_rb,0.30337e-04_rb /) kbo(:, 2,54, 6) = (/ & & 0.94270e-05_rb,0.57982e-04_rb,0.65461e-04_rb,0.63579e-04_rb,0.35439e-04_rb /) kbo(:, 3,54, 6) = (/ & & 0.12173e-04_rb,0.69671e-04_rb,0.79433e-04_rb,0.77530e-04_rb,0.41618e-04_rb /) kbo(:, 4,54, 6) = (/ & & 0.15195e-04_rb,0.84502e-04_rb,0.97826e-04_rb,0.96029e-04_rb,0.49017e-04_rb /) kbo(:, 5,54, 6) = (/ & & 0.18243e-04_rb,0.10358e-03_rb,0.12196e-03_rb,0.12023e-03_rb,0.57880e-04_rb /) kbo(:, 1,55, 6) = (/ & & 0.54549e-05_rb,0.39521e-04_rb,0.44580e-04_rb,0.42901e-04_rb,0.24523e-04_rb /) kbo(:, 2,55, 6) = (/ & & 0.73474e-05_rb,0.47258e-04_rb,0.53311e-04_rb,0.51627e-04_rb,0.28799e-04_rb /) kbo(:, 3,55, 6) = (/ & & 0.95818e-05_rb,0.57041e-04_rb,0.64957e-04_rb,0.63210e-04_rb,0.34015e-04_rb /) kbo(:, 4,55, 6) = (/ & & 0.12078e-04_rb,0.69528e-04_rb,0.80422e-04_rb,0.78845e-04_rb,0.40325e-04_rb /) kbo(:, 5,55, 6) = (/ & & 0.14658e-04_rb,0.85891e-04_rb,0.10087e-03_rb,0.99485e-04_rb,0.47973e-04_rb /) kbo(:, 1,56, 6) = (/ & & 0.41972e-05_rb,0.31935e-04_rb,0.36125e-04_rb,0.34628e-04_rb,0.19758e-04_rb /) kbo(:, 2,56, 6) = (/ & & 0.56951e-05_rb,0.38357e-04_rb,0.43303e-04_rb,0.41823e-04_rb,0.23341e-04_rb /) kbo(:, 3,56, 6) = (/ & & 0.75109e-05_rb,0.46586e-04_rb,0.52984e-04_rb,0.51438e-04_rb,0.27705e-04_rb /) kbo(:, 4,56, 6) = (/ & & 0.95701e-05_rb,0.57135e-04_rb,0.66020e-04_rb,0.64513e-04_rb,0.33090e-04_rb /) kbo(:, 5,56, 6) = (/ & & 0.11741e-04_rb,0.70996e-04_rb,0.83348e-04_rb,0.82172e-04_rb,0.39639e-04_rb /) kbo(:, 1,57, 6) = (/ & & 0.32187e-05_rb,0.25710e-04_rb,0.29175e-04_rb,0.27903e-04_rb,0.15874e-04_rb /) kbo(:, 2,57, 6) = (/ & & 0.44067e-05_rb,0.31037e-04_rb,0.35094e-04_rb,0.33812e-04_rb,0.18857e-04_rb /) kbo(:, 3,57, 6) = (/ & & 0.58663e-05_rb,0.37889e-04_rb,0.43100e-04_rb,0.41766e-04_rb,0.22502e-04_rb /) kbo(:, 4,57, 6) = (/ & & 0.75519e-05_rb,0.46817e-04_rb,0.54053e-04_rb,0.52634e-04_rb,0.27030e-04_rb /) kbo(:, 5,57, 6) = (/ & & 0.93649e-05_rb,0.58529e-04_rb,0.68705e-04_rb,0.67601e-04_rb,0.32661e-04_rb /) kbo(:, 1,58, 6) = (/ & & 0.24696e-05_rb,0.20698e-04_rb,0.23574e-04_rb,0.22507e-04_rb,0.12764e-04_rb /) kbo(:, 2,58, 6) = (/ & & 0.34175e-05_rb,0.25141e-04_rb,0.28438e-04_rb,0.27351e-04_rb,0.15243e-04_rb /) kbo(:, 3,58, 6) = (/ & & 0.45825e-05_rb,0.30855e-04_rb,0.35092e-04_rb,0.33951e-04_rb,0.18275e-04_rb /) kbo(:, 4,58, 6) = (/ & & 0.59665e-05_rb,0.38392e-04_rb,0.44239e-04_rb,0.43055e-04_rb,0.22112e-04_rb /) kbo(:, 5,58, 6) = (/ & & 0.74784e-05_rb,0.48383e-04_rb,0.56772e-04_rb,0.55657e-04_rb,0.26900e-04_rb /) kbo(:, 1,59, 6) = (/ & & 0.20113e-05_rb,0.17223e-04_rb,0.19628e-04_rb,0.18772e-04_rb,0.10576e-04_rb /) kbo(:, 2,59, 6) = (/ & & 0.27973e-05_rb,0.21075e-04_rb,0.23849e-04_rb,0.22960e-04_rb,0.12702e-04_rb /) kbo(:, 3,59, 6) = (/ & & 0.37714e-05_rb,0.26064e-04_rb,0.29696e-04_rb,0.28726e-04_rb,0.15326e-04_rb /) kbo(:, 4,59, 6) = (/ & & 0.49189e-05_rb,0.32724e-04_rb,0.37808e-04_rb,0.36791e-04_rb,0.18710e-04_rb /) kbo(:, 5,59, 6) = (/ & & 0.61850e-05_rb,0.41676e-04_rb,0.49043e-04_rb,0.48051e-04_rb,0.22936e-04_rb /) kbo(:, 1,13, 7) = (/ & & 0.90574e-01_rb,0.18508e+00_rb,0.20125e+00_rb,0.19353e+00_rb,0.13590e+00_rb /) kbo(:, 2,13, 7) = (/ & & 0.96633e-01_rb,0.18856e+00_rb,0.20514e+00_rb,0.19781e+00_rb,0.13867e+00_rb /) kbo(:, 3,13, 7) = (/ & & 0.10246e+00_rb,0.19231e+00_rb,0.20916e+00_rb,0.20175e+00_rb,0.14157e+00_rb /) kbo(:, 4,13, 7) = (/ & & 0.10831e+00_rb,0.19664e+00_rb,0.21340e+00_rb,0.20566e+00_rb,0.14422e+00_rb /) kbo(:, 5,13, 7) = (/ & & 0.11418e+00_rb,0.20190e+00_rb,0.21829e+00_rb,0.20964e+00_rb,0.14715e+00_rb /) kbo(:, 1,14, 7) = (/ & & 0.76731e-01_rb,0.15637e+00_rb,0.17031e+00_rb,0.16454e+00_rb,0.11471e+00_rb /) kbo(:, 2,14, 7) = (/ & & 0.81853e-01_rb,0.15935e+00_rb,0.17367e+00_rb,0.16809e+00_rb,0.11738e+00_rb /) kbo(:, 3,14, 7) = (/ & & 0.86939e-01_rb,0.16284e+00_rb,0.17719e+00_rb,0.17151e+00_rb,0.11993e+00_rb /) kbo(:, 4,14, 7) = (/ & & 0.91985e-01_rb,0.16698e+00_rb,0.18115e+00_rb,0.17500e+00_rb,0.12254e+00_rb /) kbo(:, 5,14, 7) = (/ & & 0.97005e-01_rb,0.17199e+00_rb,0.18590e+00_rb,0.17860e+00_rb,0.12524e+00_rb /) kbo(:, 1,15, 7) = (/ & & 0.64796e-01_rb,0.13180e+00_rb,0.14379e+00_rb,0.13927e+00_rb,0.96282e-01_rb /) kbo(:, 2,15, 7) = (/ & & 0.69175e-01_rb,0.13451e+00_rb,0.14669e+00_rb,0.14230e+00_rb,0.98702e-01_rb /) kbo(:, 3,15, 7) = (/ & & 0.73574e-01_rb,0.13779e+00_rb,0.14991e+00_rb,0.14533e+00_rb,0.10111e+00_rb /) kbo(:, 4,15, 7) = (/ & & 0.77907e-01_rb,0.14175e+00_rb,0.15375e+00_rb,0.14848e+00_rb,0.10336e+00_rb /) kbo(:, 5,15, 7) = (/ & & 0.82082e-01_rb,0.14644e+00_rb,0.15826e+00_rb,0.15192e+00_rb,0.10558e+00_rb /) kbo(:, 1,16, 7) = (/ & & 0.54603e-01_rb,0.11092e+00_rb,0.12113e+00_rb,0.11747e+00_rb,0.80564e-01_rb /) kbo(:, 2,16, 7) = (/ & & 0.58392e-01_rb,0.11343e+00_rb,0.12376e+00_rb,0.12011e+00_rb,0.82662e-01_rb /) kbo(:, 3,16, 7) = (/ & & 0.62149e-01_rb,0.11652e+00_rb,0.12680e+00_rb,0.12283e+00_rb,0.84744e-01_rb /) kbo(:, 4,16, 7) = (/ & & 0.65779e-01_rb,0.12031e+00_rb,0.13049e+00_rb,0.12576e+00_rb,0.86806e-01_rb /) kbo(:, 5,16, 7) = (/ & & 0.69275e-01_rb,0.12462e+00_rb,0.13474e+00_rb,0.12909e+00_rb,0.88592e-01_rb /) kbo(:, 1,17, 7) = (/ & & 0.46019e-01_rb,0.93276e-01_rb,0.10182e+00_rb,0.98886e-01_rb,0.67386e-01_rb /) kbo(:, 2,17, 7) = (/ & & 0.49257e-01_rb,0.95617e-01_rb,0.10427e+00_rb,0.10122e+00_rb,0.69214e-01_rb /) kbo(:, 3,17, 7) = (/ & & 0.52438e-01_rb,0.98544e-01_rb,0.10723e+00_rb,0.10369e+00_rb,0.71047e-01_rb /) kbo(:, 4,17, 7) = (/ & & 0.55444e-01_rb,0.10204e+00_rb,0.11074e+00_rb,0.10647e+00_rb,0.72809e-01_rb /) kbo(:, 5,17, 7) = (/ & & 0.58360e-01_rb,0.10585e+00_rb,0.11469e+00_rb,0.10967e+00_rb,0.74297e-01_rb /) kbo(:, 1,18, 7) = (/ & & 0.38789e-01_rb,0.78385e-01_rb,0.85426e-01_rb,0.83127e-01_rb,0.56424e-01_rb /) kbo(:, 2,18, 7) = (/ & & 0.41550e-01_rb,0.80626e-01_rb,0.87775e-01_rb,0.85216e-01_rb,0.58103e-01_rb /) kbo(:, 3,18, 7) = (/ & & 0.44172e-01_rb,0.83391e-01_rb,0.90633e-01_rb,0.87547e-01_rb,0.59665e-01_rb /) kbo(:, 4,18, 7) = (/ & & 0.46672e-01_rb,0.86541e-01_rb,0.93910e-01_rb,0.90224e-01_rb,0.61155e-01_rb /) kbo(:, 5,18, 7) = (/ & & 0.49119e-01_rb,0.89890e-01_rb,0.97478e-01_rb,0.93171e-01_rb,0.62440e-01_rb /) kbo(:, 1,19, 7) = (/ & & 0.32688e-01_rb,0.65866e-01_rb,0.71699e-01_rb,0.69831e-01_rb,0.47341e-01_rb /) kbo(:, 2,19, 7) = (/ & & 0.34993e-01_rb,0.67987e-01_rb,0.73938e-01_rb,0.71758e-01_rb,0.48787e-01_rb /) kbo(:, 3,19, 7) = (/ & & 0.37158e-01_rb,0.70566e-01_rb,0.76608e-01_rb,0.73972e-01_rb,0.50204e-01_rb /) kbo(:, 4,19, 7) = (/ & & 0.39257e-01_rb,0.73365e-01_rb,0.79594e-01_rb,0.76458e-01_rb,0.51459e-01_rb /) kbo(:, 5,19, 7) = (/ & & 0.41326e-01_rb,0.76343e-01_rb,0.82757e-01_rb,0.79138e-01_rb,0.52598e-01_rb /) kbo(:, 1,20, 7) = (/ & & 0.27557e-01_rb,0.55396e-01_rb,0.60366e-01_rb,0.58674e-01_rb,0.39775e-01_rb /) kbo(:, 2,20, 7) = (/ & & 0.29458e-01_rb,0.57423e-01_rb,0.62478e-01_rb,0.60497e-01_rb,0.41091e-01_rb /) kbo(:, 3,20, 7) = (/ & & 0.31261e-01_rb,0.59745e-01_rb,0.64927e-01_rb,0.62579e-01_rb,0.42317e-01_rb /) kbo(:, 4,20, 7) = (/ & & 0.33046e-01_rb,0.62240e-01_rb,0.67549e-01_rb,0.64853e-01_rb,0.43439e-01_rb /) kbo(:, 5,20, 7) = (/ & & 0.34818e-01_rb,0.64890e-01_rb,0.70320e-01_rb,0.67290e-01_rb,0.44513e-01_rb /) kbo(:, 1,21, 7) = (/ & & 0.23194e-01_rb,0.46662e-01_rb,0.50879e-01_rb,0.49331e-01_rb,0.33429e-01_rb /) kbo(:, 2,21, 7) = (/ & & 0.24776e-01_rb,0.48529e-01_rb,0.52871e-01_rb,0.51054e-01_rb,0.34590e-01_rb /) kbo(:, 3,21, 7) = (/ & & 0.26303e-01_rb,0.50578e-01_rb,0.55098e-01_rb,0.52980e-01_rb,0.35684e-01_rb /) kbo(:, 4,21, 7) = (/ & & 0.27810e-01_rb,0.52793e-01_rb,0.57429e-01_rb,0.55052e-01_rb,0.36688e-01_rb /) kbo(:, 5,21, 7) = (/ & & 0.29323e-01_rb,0.55187e-01_rb,0.59853e-01_rb,0.57245e-01_rb,0.37657e-01_rb /) kbo(:, 1,22, 7) = (/ & & 0.19600e-01_rb,0.39448e-01_rb,0.43057e-01_rb,0.41623e-01_rb,0.28169e-01_rb /) kbo(:, 2,22, 7) = (/ & & 0.20910e-01_rb,0.41135e-01_rb,0.44924e-01_rb,0.43250e-01_rb,0.29188e-01_rb /) kbo(:, 3,22, 7) = (/ & & 0.22195e-01_rb,0.42970e-01_rb,0.46916e-01_rb,0.45021e-01_rb,0.30138e-01_rb /) kbo(:, 4,22, 7) = (/ & & 0.23466e-01_rb,0.44963e-01_rb,0.48978e-01_rb,0.46906e-01_rb,0.31021e-01_rb /) kbo(:, 5,22, 7) = (/ & & 0.24791e-01_rb,0.47151e-01_rb,0.51143e-01_rb,0.48901e-01_rb,0.31919e-01_rb /) kbo(:, 1,23, 7) = (/ & & 0.16563e-01_rb,0.33405e-01_rb,0.36517e-01_rb,0.35235e-01_rb,0.23758e-01_rb /) kbo(:, 2,23, 7) = (/ & & 0.17634e-01_rb,0.34920e-01_rb,0.38215e-01_rb,0.36726e-01_rb,0.24656e-01_rb /) kbo(:, 3,23, 7) = (/ & & 0.18715e-01_rb,0.36571e-01_rb,0.39976e-01_rb,0.38337e-01_rb,0.25473e-01_rb /) kbo(:, 4,23, 7) = (/ & & 0.19810e-01_rb,0.38397e-01_rb,0.41828e-01_rb,0.40046e-01_rb,0.26273e-01_rb /) kbo(:, 5,23, 7) = (/ & & 0.20990e-01_rb,0.40406e-01_rb,0.43840e-01_rb,0.41881e-01_rb,0.27068e-01_rb /) kbo(:, 1,24, 7) = (/ & & 0.13980e-01_rb,0.28346e-01_rb,0.31027e-01_rb,0.29909e-01_rb,0.20058e-01_rb /) kbo(:, 2,24, 7) = (/ & & 0.14874e-01_rb,0.29707e-01_rb,0.32546e-01_rb,0.31266e-01_rb,0.20839e-01_rb /) kbo(:, 3,24, 7) = (/ & & 0.15797e-01_rb,0.31204e-01_rb,0.34123e-01_rb,0.32728e-01_rb,0.21557e-01_rb /) kbo(:, 4,24, 7) = (/ & & 0.16758e-01_rb,0.32875e-01_rb,0.35824e-01_rb,0.34296e-01_rb,0.22274e-01_rb /) kbo(:, 5,24, 7) = (/ & & 0.17809e-01_rb,0.34737e-01_rb,0.37711e-01_rb,0.35981e-01_rb,0.22992e-01_rb /) kbo(:, 1,25, 7) = (/ & & 0.11798e-01_rb,0.24110e-01_rb,0.26426e-01_rb,0.25457e-01_rb,0.16985e-01_rb /) kbo(:, 2,25, 7) = (/ & & 0.12561e-01_rb,0.25347e-01_rb,0.27781e-01_rb,0.26691e-01_rb,0.17655e-01_rb /) kbo(:, 3,25, 7) = (/ & & 0.13359e-01_rb,0.26711e-01_rb,0.29222e-01_rb,0.28026e-01_rb,0.18302e-01_rb /) kbo(:, 4,25, 7) = (/ & & 0.14208e-01_rb,0.28241e-01_rb,0.30806e-01_rb,0.29472e-01_rb,0.18949e-01_rb /) kbo(:, 5,25, 7) = (/ & & 0.15157e-01_rb,0.29980e-01_rb,0.32597e-01_rb,0.31029e-01_rb,0.19596e-01_rb /) kbo(:, 1,26, 7) = (/ & & 0.99745e-02_rb,0.20581e-01_rb,0.22580e-01_rb,0.21746e-01_rb,0.14432e-01_rb /) kbo(:, 2,26, 7) = (/ & & 0.10633e-01_rb,0.21703e-01_rb,0.23807e-01_rb,0.22873e-01_rb,0.15014e-01_rb /) kbo(:, 3,26, 7) = (/ & & 0.11328e-01_rb,0.22948e-01_rb,0.25141e-01_rb,0.24108e-01_rb,0.15588e-01_rb /) kbo(:, 4,26, 7) = (/ & & 0.12091e-01_rb,0.24380e-01_rb,0.26636e-01_rb,0.25439e-01_rb,0.16180e-01_rb /) kbo(:, 5,26, 7) = (/ & & 0.12943e-01_rb,0.26016e-01_rb,0.28335e-01_rb,0.26899e-01_rb,0.16787e-01_rb /) kbo(:, 1,27, 7) = (/ & & 0.84424e-02_rb,0.17603e-01_rb,0.19348e-01_rb,0.18632e-01_rb,0.12275e-01_rb /) kbo(:, 2,27, 7) = (/ & & 0.90172e-02_rb,0.18627e-01_rb,0.20475e-01_rb,0.19670e-01_rb,0.12796e-01_rb /) kbo(:, 3,27, 7) = (/ & & 0.96344e-02_rb,0.19791e-01_rb,0.21724e-01_rb,0.20817e-01_rb,0.13316e-01_rb /) kbo(:, 4,27, 7) = (/ & & 0.10319e-01_rb,0.21143e-01_rb,0.23141e-01_rb,0.22059e-01_rb,0.13859e-01_rb /) kbo(:, 5,27, 7) = (/ & & 0.11083e-01_rb,0.22688e-01_rb,0.24742e-01_rb,0.23449e-01_rb,0.14418e-01_rb /) kbo(:, 1,28, 7) = (/ & & 0.71594e-02_rb,0.15094e-01_rb,0.16638e-01_rb,0.16016e-01_rb,0.10452e-01_rb /) kbo(:, 2,28, 7) = (/ & & 0.76603e-02_rb,0.16043e-01_rb,0.17678e-01_rb,0.16989e-01_rb,0.10928e-01_rb /) kbo(:, 3,28, 7) = (/ & & 0.82161e-02_rb,0.17148e-01_rb,0.18856e-01_rb,0.18055e-01_rb,0.11409e-01_rb /) kbo(:, 4,28, 7) = (/ & & 0.88297e-02_rb,0.18429e-01_rb,0.20193e-01_rb,0.19234e-01_rb,0.11908e-01_rb /) kbo(:, 5,28, 7) = (/ & & 0.95210e-02_rb,0.19896e-01_rb,0.21697e-01_rb,0.20565e-01_rb,0.12423e-01_rb /) kbo(:, 1,29, 7) = (/ & & 0.60865e-02_rb,0.12992e-01_rb,0.14367e-01_rb,0.13830e-01_rb,0.89337e-02_rb /) kbo(:, 2,29, 7) = (/ & & 0.65273e-02_rb,0.13894e-01_rb,0.15342e-01_rb,0.14741e-01_rb,0.93649e-02_rb /) kbo(:, 3,29, 7) = (/ & & 0.70278e-02_rb,0.14949e-01_rb,0.16457e-01_rb,0.15746e-01_rb,0.98158e-02_rb /) kbo(:, 4,29, 7) = (/ & & 0.75858e-02_rb,0.16169e-01_rb,0.17720e-01_rb,0.16877e-01_rb,0.10273e-01_rb /) kbo(:, 5,29, 7) = (/ & & 0.82154e-02_rb,0.17564e-01_rb,0.19150e-01_rb,0.18159e-01_rb,0.10745e-01_rb /) kbo(:, 1,30, 7) = (/ & & 0.51820e-02_rb,0.11236e-01_rb,0.12459e-01_rb,0.12000e-01_rb,0.76507e-02_rb /) kbo(:, 2,30, 7) = (/ & & 0.55811e-02_rb,0.12098e-01_rb,0.13380e-01_rb,0.12854e-01_rb,0.80497e-02_rb /) kbo(:, 3,30, 7) = (/ & & 0.60310e-02_rb,0.13108e-01_rb,0.14440e-01_rb,0.13813e-01_rb,0.84648e-02_rb /) kbo(:, 4,30, 7) = (/ & & 0.65404e-02_rb,0.14273e-01_rb,0.15644e-01_rb,0.14905e-01_rb,0.88882e-02_rb /) kbo(:, 5,30, 7) = (/ & & 0.71170e-02_rb,0.15597e-01_rb,0.17012e-01_rb,0.16134e-01_rb,0.93248e-02_rb /) kbo(:, 1,31, 7) = (/ & & 0.44272e-02_rb,0.97757e-02_rb,0.10859e-01_rb,0.10467e-01_rb,0.65734e-02_rb /) kbo(:, 2,31, 7) = (/ & & 0.47878e-02_rb,0.10603e-01_rb,0.11740e-01_rb,0.11277e-01_rb,0.69415e-02_rb /) kbo(:, 3,31, 7) = (/ & & 0.51963e-02_rb,0.11572e-01_rb,0.12753e-01_rb,0.12201e-01_rb,0.73188e-02_rb /) kbo(:, 4,31, 7) = (/ & & 0.56609e-02_rb,0.12684e-01_rb,0.13904e-01_rb,0.13252e-01_rb,0.77091e-02_rb /) kbo(:, 5,31, 7) = (/ & & 0.61977e-02_rb,0.13944e-01_rb,0.15244e-01_rb,0.14424e-01_rb,0.81161e-02_rb /) kbo(:, 1,32, 7) = (/ & & 0.37962e-02_rb,0.85614e-02_rb,0.95233e-02_rb,0.91812e-02_rb,0.56658e-02_rb /) kbo(:, 2,32, 7) = (/ & & 0.41228e-02_rb,0.93595e-02_rb,0.10368e-01_rb,0.99574e-02_rb,0.60000e-02_rb /) kbo(:, 3,32, 7) = (/ & & 0.44947e-02_rb,0.10287e-01_rb,0.11338e-01_rb,0.10850e-01_rb,0.63462e-02_rb /) kbo(:, 4,32, 7) = (/ & & 0.49244e-02_rb,0.11349e-01_rb,0.12467e-01_rb,0.11857e-01_rb,0.67069e-02_rb /) kbo(:, 5,32, 7) = (/ & & 0.54252e-02_rb,0.12554e-01_rb,0.13767e-01_rb,0.12983e-01_rb,0.70910e-02_rb /) kbo(:, 1,33, 7) = (/ & & 0.32656e-02_rb,0.75519e-02_rb,0.84026e-02_rb,0.81028e-02_rb,0.48937e-02_rb /) kbo(:, 2,33, 7) = (/ & & 0.35630e-02_rb,0.83178e-02_rb,0.92157e-02_rb,0.88531e-02_rb,0.52004e-02_rb /) kbo(:, 3,33, 7) = (/ & & 0.39050e-02_rb,0.92063e-02_rb,0.10168e-01_rb,0.97125e-02_rb,0.55156e-02_rb /) kbo(:, 4,33, 7) = (/ & & 0.43055e-02_rb,0.10227e-01_rb,0.11270e-01_rb,0.10682e-01_rb,0.58516e-02_rb /) kbo(:, 5,33, 7) = (/ & & 0.47651e-02_rb,0.11396e-01_rb,0.12524e-01_rb,0.11769e-01_rb,0.62091e-02_rb /) kbo(:, 1,34, 7) = (/ & & 0.28105e-02_rb,0.66873e-02_rb,0.74405e-02_rb,0.71742e-02_rb,0.42413e-02_rb /) kbo(:, 2,34, 7) = (/ & & 0.30819e-02_rb,0.74197e-02_rb,0.82328e-02_rb,0.78962e-02_rb,0.45189e-02_rb /) kbo(:, 3,34, 7) = (/ & & 0.33974e-02_rb,0.82731e-02_rb,0.91582e-02_rb,0.87214e-02_rb,0.48133e-02_rb /) kbo(:, 4,34, 7) = (/ & & 0.37682e-02_rb,0.92558e-02_rb,0.10225e-01_rb,0.96550e-02_rb,0.51300e-02_rb /) kbo(:, 5,34, 7) = (/ & & 0.41836e-02_rb,0.10408e-01_rb,0.11429e-01_rb,0.10709e-01_rb,0.54671e-02_rb /) kbo(:, 1,35, 7) = (/ & & 0.24038e-02_rb,0.58948e-02_rb,0.65709e-02_rb,0.63304e-02_rb,0.36544e-02_rb /) kbo(:, 2,35, 7) = (/ & & 0.26483e-02_rb,0.65885e-02_rb,0.73295e-02_rb,0.70175e-02_rb,0.39080e-02_rb /) kbo(:, 3,35, 7) = (/ & & 0.29372e-02_rb,0.74016e-02_rb,0.82197e-02_rb,0.78032e-02_rb,0.41855e-02_rb /) kbo(:, 4,35, 7) = (/ & & 0.32728e-02_rb,0.83531e-02_rb,0.92365e-02_rb,0.86973e-02_rb,0.44777e-02_rb /) kbo(:, 5,35, 7) = (/ & & 0.36421e-02_rb,0.94681e-02_rb,0.10387e-01_rb,0.97145e-02_rb,0.47967e-02_rb /) kbo(:, 1,36, 7) = (/ & & 0.20373e-02_rb,0.51550e-02_rb,0.57662e-02_rb,0.55498e-02_rb,0.31231e-02_rb /) kbo(:, 2,36, 7) = (/ & & 0.22554e-02_rb,0.58057e-02_rb,0.64818e-02_rb,0.61953e-02_rb,0.33549e-02_rb /) kbo(:, 3,36, 7) = (/ & & 0.25127e-02_rb,0.65796e-02_rb,0.73228e-02_rb,0.69361e-02_rb,0.36112e-02_rb /) kbo(:, 4,36, 7) = (/ & & 0.28104e-02_rb,0.74827e-02_rb,0.82833e-02_rb,0.77843e-02_rb,0.38823e-02_rb /) kbo(:, 5,36, 7) = (/ & & 0.31359e-02_rb,0.85467e-02_rb,0.93763e-02_rb,0.87575e-02_rb,0.41812e-02_rb /) kbo(:, 1,37, 7) = (/ & & 0.17035e-02_rb,0.44466e-02_rb,0.49856e-02_rb,0.47970e-02_rb,0.26734e-02_rb /) kbo(:, 2,37, 7) = (/ & & 0.18934e-02_rb,0.50433e-02_rb,0.56462e-02_rb,0.53907e-02_rb,0.28873e-02_rb /) kbo(:, 3,37, 7) = (/ & & 0.21171e-02_rb,0.57558e-02_rb,0.64223e-02_rb,0.60783e-02_rb,0.31233e-02_rb /) kbo(:, 4,37, 7) = (/ & & 0.23767e-02_rb,0.65938e-02_rb,0.73141e-02_rb,0.68717e-02_rb,0.33760e-02_rb /) kbo(:, 5,37, 7) = (/ & & 0.26616e-02_rb,0.75860e-02_rb,0.83359e-02_rb,0.77859e-02_rb,0.36530e-02_rb /) kbo(:, 1,38, 7) = (/ & & 0.14234e-02_rb,0.38379e-02_rb,0.43139e-02_rb,0.41486e-02_rb,0.22904e-02_rb /) kbo(:, 2,38, 7) = (/ & & 0.15875e-02_rb,0.43850e-02_rb,0.49236e-02_rb,0.46956e-02_rb,0.24873e-02_rb /) kbo(:, 3,38, 7) = (/ & & 0.17824e-02_rb,0.50419e-02_rb,0.56400e-02_rb,0.53338e-02_rb,0.27024e-02_rb /) kbo(:, 4,38, 7) = (/ & & 0.20080e-02_rb,0.58195e-02_rb,0.64682e-02_rb,0.60767e-02_rb,0.29386e-02_rb /) kbo(:, 5,38, 7) = (/ & & 0.22567e-02_rb,0.67445e-02_rb,0.74253e-02_rb,0.69357e-02_rb,0.31979e-02_rb /) kbo(:, 1,39, 7) = (/ & & 0.11890e-02_rb,0.33180e-02_rb,0.37396e-02_rb,0.35935e-02_rb,0.19623e-02_rb /) kbo(:, 2,39, 7) = (/ & & 0.13309e-02_rb,0.38204e-02_rb,0.43017e-02_rb,0.40980e-02_rb,0.21427e-02_rb /) kbo(:, 3,39, 7) = (/ & & 0.14997e-02_rb,0.44279e-02_rb,0.49653e-02_rb,0.46926e-02_rb,0.23415e-02_rb /) kbo(:, 4,39, 7) = (/ & & 0.16956e-02_rb,0.51508e-02_rb,0.57361e-02_rb,0.53891e-02_rb,0.25595e-02_rb /) kbo(:, 5,39, 7) = (/ & & 0.19128e-02_rb,0.60136e-02_rb,0.66353e-02_rb,0.61975e-02_rb,0.28034e-02_rb /) kbo(:, 1,40, 7) = (/ & & 0.98185e-03_rb,0.28304e-02_rb,0.31989e-02_rb,0.30741e-02_rb,0.16759e-02_rb /) kbo(:, 2,40, 7) = (/ & & 0.11018e-02_rb,0.32825e-02_rb,0.37073e-02_rb,0.35318e-02_rb,0.18412e-02_rb /) kbo(:, 3,40, 7) = (/ & & 0.12459e-02_rb,0.38338e-02_rb,0.43125e-02_rb,0.40771e-02_rb,0.20230e-02_rb /) kbo(:, 4,40, 7) = (/ & & 0.14138e-02_rb,0.44950e-02_rb,0.50204e-02_rb,0.47198e-02_rb,0.22264e-02_rb /) kbo(:, 5,40, 7) = (/ & & 0.16015e-02_rb,0.52867e-02_rb,0.58524e-02_rb,0.54701e-02_rb,0.24538e-02_rb /) kbo(:, 1,41, 7) = (/ & & 0.80888e-03_rb,0.24101e-02_rb,0.27302e-02_rb,0.26250e-02_rb,0.14285e-02_rb /) kbo(:, 2,41, 7) = (/ & & 0.91042e-03_rb,0.28166e-02_rb,0.31895e-02_rb,0.30396e-02_rb,0.15812e-02_rb /) kbo(:, 3,41, 7) = (/ & & 0.10323e-02_rb,0.33144e-02_rb,0.37392e-02_rb,0.35375e-02_rb,0.17482e-02_rb /) kbo(:, 4,41, 7) = (/ & & 0.11757e-02_rb,0.39172e-02_rb,0.43885e-02_rb,0.41290e-02_rb,0.19366e-02_rb /) kbo(:, 5,41, 7) = (/ & & 0.13368e-02_rb,0.46417e-02_rb,0.51571e-02_rb,0.48237e-02_rb,0.21455e-02_rb /) kbo(:, 1,42, 7) = (/ & & 0.66584e-03_rb,0.20506e-02_rb,0.23294e-02_rb,0.22418e-02_rb,0.12147e-02_rb /) kbo(:, 2,42, 7) = (/ & & 0.75117e-03_rb,0.24164e-02_rb,0.27427e-02_rb,0.26163e-02_rb,0.13552e-02_rb /) kbo(:, 3,42, 7) = (/ & & 0.85464e-03_rb,0.28657e-02_rb,0.32419e-02_rb,0.30702e-02_rb,0.15103e-02_rb /) kbo(:, 4,42, 7) = (/ & & 0.97690e-03_rb,0.34148e-02_rb,0.38374e-02_rb,0.36136e-02_rb,0.16836e-02_rb /) kbo(:, 5,42, 7) = (/ & & 0.11154e-02_rb,0.40777e-02_rb,0.45486e-02_rb,0.42564e-02_rb,0.18765e-02_rb /) kbo(:, 1,43, 7) = (/ & & 0.54468e-03_rb,0.17260e-02_rb,0.19662e-02_rb,0.18963e-02_rb,0.10278e-02_rb /) kbo(:, 2,43, 7) = (/ & & 0.61495e-03_rb,0.20517e-02_rb,0.23339e-02_rb,0.22307e-02_rb,0.11544e-02_rb /) kbo(:, 3,43, 7) = (/ & & 0.70090e-03_rb,0.24526e-02_rb,0.27821e-02_rb,0.26393e-02_rb,0.12972e-02_rb /) kbo(:, 4,43, 7) = (/ & & 0.80460e-03_rb,0.29460e-02_rb,0.33228e-02_rb,0.31329e-02_rb,0.14583e-02_rb /) kbo(:, 5,43, 7) = (/ & & 0.92296e-03_rb,0.35462e-02_rb,0.39738e-02_rb,0.37220e-02_rb,0.16369e-02_rb /) kbo(:, 1,44, 7) = (/ & & 0.44364e-03_rb,0.14437e-02_rb,0.16496e-02_rb,0.15952e-02_rb,0.86540e-03_rb /) kbo(:, 2,44, 7) = (/ & & 0.50199e-03_rb,0.17304e-02_rb,0.19739e-02_rb,0.18912e-02_rb,0.97937e-03_rb /) kbo(:, 3,44, 7) = (/ & & 0.57242e-03_rb,0.20860e-02_rb,0.23731e-02_rb,0.22565e-02_rb,0.11106e-02_rb /) kbo(:, 4,44, 7) = (/ & & 0.65930e-03_rb,0.25283e-02_rb,0.28613e-02_rb,0.27024e-02_rb,0.12573e-02_rb /) kbo(:, 5,44, 7) = (/ & & 0.75974e-03_rb,0.30673e-02_rb,0.34531e-02_rb,0.32379e-02_rb,0.14238e-02_rb /) kbo(:, 1,45, 7) = (/ & & 0.36129e-03_rb,0.12055e-02_rb,0.13811e-02_rb,0.13394e-02_rb,0.72668e-03_rb /) kbo(:, 2,45, 7) = (/ & & 0.40925e-03_rb,0.14558e-02_rb,0.16660e-02_rb,0.16003e-02_rb,0.82937e-03_rb /) kbo(:, 3,45, 7) = (/ & & 0.46755e-03_rb,0.17705e-02_rb,0.20201e-02_rb,0.19260e-02_rb,0.94755e-03_rb /) kbo(:, 4,45, 7) = (/ & & 0.53937e-03_rb,0.21654e-02_rb,0.24593e-02_rb,0.23275e-02_rb,0.10822e-02_rb /) kbo(:, 5,45, 7) = (/ & & 0.62400e-03_rb,0.26505e-02_rb,0.29965e-02_rb,0.28141e-02_rb,0.12345e-02_rb /) kbo(:, 1,46, 7) = (/ & & 0.29308e-03_rb,0.99917e-03_rb,0.11483e-02_rb,0.11175e-02_rb,0.60699e-03_rb /) kbo(:, 2,46, 7) = (/ & & 0.33256e-03_rb,0.12167e-02_rb,0.13963e-02_rb,0.13454e-02_rb,0.69810e-03_rb /) kbo(:, 3,46, 7) = (/ & & 0.38031e-03_rb,0.14933e-02_rb,0.17091e-02_rb,0.16341e-02_rb,0.80431e-03_rb /) kbo(:, 4,46, 7) = (/ & & 0.43974e-03_rb,0.18423e-02_rb,0.21003e-02_rb,0.19926e-02_rb,0.92607e-03_rb /) kbo(:, 5,46, 7) = (/ & & 0.51042e-03_rb,0.22760e-02_rb,0.25842e-02_rb,0.24318e-02_rb,0.10656e-02_rb /) kbo(:, 1,47, 7) = (/ & & 0.23621e-03_rb,0.81920e-03_rb,0.94415e-03_rb,0.92230e-03_rb,0.50239e-03_rb /) kbo(:, 2,47, 7) = (/ & & 0.26847e-03_rb,0.10045e-02_rb,0.11560e-02_rb,0.11182e-02_rb,0.58268e-03_rb /) kbo(:, 3,47, 7) = (/ & & 0.30727e-03_rb,0.12442e-02_rb,0.14284e-02_rb,0.13701e-02_rb,0.67654e-03_rb /) kbo(:, 4,47, 7) = (/ & & 0.35565e-03_rb,0.15479e-02_rb,0.17727e-02_rb,0.16866e-02_rb,0.78602e-03_rb /) kbo(:, 5,47, 7) = (/ & & 0.41455e-03_rb,0.19320e-02_rb,0.22031e-02_rb,0.20787e-02_rb,0.91297e-03_rb /) kbo(:, 1,48, 7) = (/ & & 0.19056e-03_rb,0.66912e-03_rb,0.77329e-03_rb,0.75810e-03_rb,0.41434e-03_rb /) kbo(:, 2,48, 7) = (/ & & 0.21662e-03_rb,0.82638e-03_rb,0.95404e-03_rb,0.92602e-03_rb,0.48448e-03_rb /) kbo(:, 3,48, 7) = (/ & & 0.24805e-03_rb,0.10324e-02_rb,0.11883e-02_rb,0.11443e-02_rb,0.56714e-03_rb /) kbo(:, 4,48, 7) = (/ & & 0.28732e-03_rb,0.12967e-02_rb,0.14909e-02_rb,0.14226e-02_rb,0.66465e-03_rb /) kbo(:, 5,48, 7) = (/ & & 0.33598e-03_rb,0.16339e-02_rb,0.18720e-02_rb,0.17712e-02_rb,0.77925e-03_rb /) kbo(:, 1,49, 7) = (/ & & 0.15370e-03_rb,0.54435e-03_rb,0.63072e-03_rb,0.62031e-03_rb,0.34039e-03_rb /) kbo(:, 2,49, 7) = (/ & & 0.17493e-03_rb,0.67703e-03_rb,0.78385e-03_rb,0.76375e-03_rb,0.40110e-03_rb /) kbo(:, 3,49, 7) = (/ & & 0.20006e-03_rb,0.85331e-03_rb,0.98454e-03_rb,0.95185e-03_rb,0.47334e-03_rb /) kbo(:, 4,49, 7) = (/ & & 0.23184e-03_rb,0.10822e-02_rb,0.12482e-02_rb,0.11953e-02_rb,0.56021e-03_rb /) kbo(:, 5,49, 7) = (/ & & 0.27201e-03_rb,0.13761e-02_rb,0.15848e-02_rb,0.15038e-02_rb,0.66336e-03_rb /) kbo(:, 1,50, 7) = (/ & & 0.12445e-03_rb,0.44363e-03_rb,0.51558e-03_rb,0.50858e-03_rb,0.27983e-03_rb /) kbo(:, 2,50, 7) = (/ & & 0.14173e-03_rb,0.55572e-03_rb,0.64516e-03_rb,0.63048e-03_rb,0.33240e-03_rb /) kbo(:, 3,50, 7) = (/ & & 0.16225e-03_rb,0.70658e-03_rb,0.81789e-03_rb,0.79296e-03_rb,0.39601e-03_rb /) kbo(:, 4,50, 7) = (/ & & 0.18768e-03_rb,0.90539e-03_rb,0.10468e-02_rb,0.10060e-02_rb,0.47285e-03_rb /) kbo(:, 5,50, 7) = (/ & & 0.22071e-03_rb,0.11624e-02_rb,0.13446e-02_rb,0.12795e-02_rb,0.56523e-03_rb /) kbo(:, 1,51, 7) = (/ & & 0.10079e-03_rb,0.36142e-03_rb,0.42089e-03_rb,0.41617e-03_rb,0.23042e-03_rb /) kbo(:, 2,51, 7) = (/ & & 0.11508e-03_rb,0.45540e-03_rb,0.53023e-03_rb,0.51983e-03_rb,0.27489e-03_rb /) kbo(:, 3,51, 7) = (/ & & 0.13183e-03_rb,0.58426e-03_rb,0.67873e-03_rb,0.65942e-03_rb,0.33073e-03_rb /) kbo(:, 4,51, 7) = (/ & & 0.15243e-03_rb,0.75694e-03_rb,0.87652e-03_rb,0.84573e-03_rb,0.39869e-03_rb /) kbo(:, 5,51, 7) = (/ & & 0.17921e-03_rb,0.98295e-03_rb,0.11402e-02_rb,0.10885e-02_rb,0.48140e-03_rb /) kbo(:, 1,52, 7) = (/ & & 0.81556e-04_rb,0.29363e-03_rb,0.34244e-03_rb,0.33921e-03_rb,0.18905e-03_rb /) kbo(:, 2,52, 7) = (/ & & 0.93358e-04_rb,0.37204e-03_rb,0.43415e-03_rb,0.42707e-03_rb,0.22730e-03_rb /) kbo(:, 3,52, 7) = (/ & & 0.10711e-03_rb,0.48125e-03_rb,0.56095e-03_rb,0.54625e-03_rb,0.27517e-03_rb /) kbo(:, 4,52, 7) = (/ & & 0.12382e-03_rb,0.62999e-03_rb,0.73195e-03_rb,0.70815e-03_rb,0.33506e-03_rb /) kbo(:, 5,52, 7) = (/ & & 0.14564e-03_rb,0.82786e-03_rb,0.96258e-03_rb,0.92197e-03_rb,0.40847e-03_rb /) kbo(:, 1,53, 7) = (/ & & 0.65849e-04_rb,0.23779e-03_rb,0.27734e-03_rb,0.27519e-03_rb,0.15433e-03_rb /) kbo(:, 2,53, 7) = (/ & & 0.75546e-04_rb,0.30303e-03_rb,0.35410e-03_rb,0.34952e-03_rb,0.18741e-03_rb /) kbo(:, 3,53, 7) = (/ & & 0.86880e-04_rb,0.39464e-03_rb,0.46133e-03_rb,0.45049e-03_rb,0.22844e-03_rb /) kbo(:, 4,53, 7) = (/ & & 0.10061e-03_rb,0.52205e-03_rb,0.60866e-03_rb,0.59002e-03_rb,0.28045e-03_rb /) kbo(:, 5,53, 7) = (/ & & 0.11837e-03_rb,0.69424e-03_rb,0.80911e-03_rb,0.77763e-03_rb,0.34549e-03_rb /) kbo(:, 1,54, 7) = (/ & & 0.53194e-04_rb,0.19358e-03_rb,0.22554e-03_rb,0.22386e-03_rb,0.12634e-03_rb /) kbo(:, 2,54, 7) = (/ & & 0.61356e-04_rb,0.24774e-03_rb,0.28991e-03_rb,0.28698e-03_rb,0.15485e-03_rb /) kbo(:, 3,54, 7) = (/ & & 0.70732e-04_rb,0.32546e-03_rb,0.38104e-03_rb,0.37325e-03_rb,0.19067e-03_rb /) kbo(:, 4,54, 7) = (/ & & 0.81989e-04_rb,0.43475e-03_rb,0.50842e-03_rb,0.49348e-03_rb,0.23573e-03_rb /) kbo(:, 5,54, 7) = (/ & & 0.96606e-04_rb,0.58491e-03_rb,0.68358e-03_rb,0.65848e-03_rb,0.29331e-03_rb /) kbo(:, 1,55, 7) = (/ & & 0.42968e-04_rb,0.15774e-03_rb,0.18351e-03_rb,0.18209e-03_rb,0.10325e-03_rb /) kbo(:, 2,55, 7) = (/ & & 0.49757e-04_rb,0.20300e-03_rb,0.23752e-03_rb,0.23563e-03_rb,0.12786e-03_rb /) kbo(:, 3,55, 7) = (/ & & 0.57602e-04_rb,0.26853e-03_rb,0.31476e-03_rb,0.30938e-03_rb,0.15908e-03_rb /) kbo(:, 4,55, 7) = (/ & & 0.66944e-04_rb,0.36215e-03_rb,0.42458e-03_rb,0.41285e-03_rb,0.19867e-03_rb /) kbo(:, 5,55, 7) = (/ & & 0.78909e-04_rb,0.49332e-03_rb,0.57794e-03_rb,0.55775e-03_rb,0.24929e-03_rb /) kbo(:, 1,56, 7) = (/ & & 0.34572e-04_rb,0.12819e-03_rb,0.14868e-03_rb,0.14747e-03_rb,0.84103e-04_rb /) kbo(:, 2,56, 7) = (/ & & 0.40234e-04_rb,0.16586e-03_rb,0.19409e-03_rb,0.19266e-03_rb,0.10511e-03_rb /) kbo(:, 3,56, 7) = (/ & & 0.46756e-04_rb,0.22079e-03_rb,0.25905e-03_rb,0.25536e-03_rb,0.13228e-03_rb /) kbo(:, 4,56, 7) = (/ & & 0.54583e-04_rb,0.30103e-03_rb,0.35315e-03_rb,0.34421e-03_rb,0.16708e-03_rb /) kbo(:, 5,56, 7) = (/ & & 0.64414e-04_rb,0.41471e-03_rb,0.48701e-03_rb,0.47045e-03_rb,0.21139e-03_rb /) kbo(:, 1,57, 7) = (/ & & 0.27768e-04_rb,0.10391e-03_rb,0.12029e-03_rb,0.11888e-03_rb,0.68178e-04_rb /) kbo(:, 2,57, 7) = (/ & & 0.32463e-04_rb,0.13502e-03_rb,0.15785e-03_rb,0.15684e-03_rb,0.86073e-04_rb /) kbo(:, 3,57, 7) = (/ & & 0.37880e-04_rb,0.18114e-03_rb,0.21255e-03_rb,0.20984e-03_rb,0.10949e-03_rb /) kbo(:, 4,57, 7) = (/ & & 0.44374e-04_rb,0.24914e-03_rb,0.29262e-03_rb,0.28609e-03_rb,0.14004e-03_rb /) kbo(:, 5,57, 7) = (/ & & 0.52560e-04_rb,0.34723e-03_rb,0.40853e-03_rb,0.39531e-03_rb,0.17907e-03_rb /) kbo(:, 1,58, 7) = (/ & & 0.22293e-04_rb,0.84410e-04_rb,0.97318e-04_rb,0.95954e-04_rb,0.55246e-04_rb /) kbo(:, 2,58, 7) = (/ & & 0.26200e-04_rb,0.11013e-03_rb,0.12878e-03_rb,0.12778e-03_rb,0.70434e-04_rb /) kbo(:, 3,58, 7) = (/ & & 0.30694e-04_rb,0.14878e-03_rb,0.17475e-03_rb,0.17269e-03_rb,0.90681e-04_rb /) kbo(:, 4,58, 7) = (/ & & 0.36071e-04_rb,0.20666e-03_rb,0.24284e-03_rb,0.23795e-03_rb,0.11731e-03_rb /) kbo(:, 5,58, 7) = (/ & & 0.42845e-04_rb,0.29161e-03_rb,0.34322e-03_rb,0.33267e-03_rb,0.15208e-03_rb /) kbo(:, 1,59, 7) = (/ & & 0.18430e-04_rb,0.71706e-04_rb,0.82601e-04_rb,0.81289e-04_rb,0.46584e-04_rb /) kbo(:, 2,59, 7) = (/ & & 0.21734e-04_rb,0.94599e-04_rb,0.11060e-03_rb,0.10958e-03_rb,0.60168e-04_rb /) kbo(:, 3,59, 7) = (/ & & 0.25561e-04_rb,0.12924e-03_rb,0.15196e-03_rb,0.15008e-03_rb,0.78430e-04_rb /) kbo(:, 4,59, 7) = (/ & & 0.30185e-04_rb,0.18220e-03_rb,0.21420e-03_rb,0.20980e-03_rb,0.10280e-03_rb /) kbo(:, 5,59, 7) = (/ & & 0.36067e-04_rb,0.26061e-03_rb,0.30710e-03_rb,0.29739e-03_rb,0.13531e-03_rb /) kbo(:, 1,13, 8) = (/ & & 0.32299e+00_rb,0.54760e+00_rb,0.60079e+00_rb,0.58517e+00_rb,0.42276e+00_rb /) kbo(:, 2,13, 8) = (/ & & 0.32594e+00_rb,0.55963e+00_rb,0.61653e+00_rb,0.60147e+00_rb,0.43281e+00_rb /) kbo(:, 3,13, 8) = (/ & & 0.33056e+00_rb,0.57182e+00_rb,0.63236e+00_rb,0.61863e+00_rb,0.44149e+00_rb /) kbo(:, 4,13, 8) = (/ & & 0.33706e+00_rb,0.58426e+00_rb,0.64822e+00_rb,0.63489e+00_rb,0.44893e+00_rb /) kbo(:, 5,13, 8) = (/ & & 0.34635e+00_rb,0.59739e+00_rb,0.66343e+00_rb,0.65003e+00_rb,0.45486e+00_rb /) kbo(:, 1,14, 8) = (/ & & 0.27185e+00_rb,0.47396e+00_rb,0.52087e+00_rb,0.50518e+00_rb,0.35898e+00_rb /) kbo(:, 2,14, 8) = (/ & & 0.27455e+00_rb,0.48454e+00_rb,0.53473e+00_rb,0.52058e+00_rb,0.36725e+00_rb /) kbo(:, 3,14, 8) = (/ & & 0.27878e+00_rb,0.49523e+00_rb,0.54876e+00_rb,0.53556e+00_rb,0.37477e+00_rb /) kbo(:, 4,14, 8) = (/ & & 0.28540e+00_rb,0.50660e+00_rb,0.56244e+00_rb,0.54948e+00_rb,0.38095e+00_rb /) kbo(:, 5,14, 8) = (/ & & 0.29474e+00_rb,0.51876e+00_rb,0.57592e+00_rb,0.56255e+00_rb,0.38660e+00_rb /) kbo(:, 1,15, 8) = (/ & & 0.22818e+00_rb,0.40825e+00_rb,0.45003e+00_rb,0.43582e+00_rb,0.30350e+00_rb /) kbo(:, 2,15, 8) = (/ & & 0.23074e+00_rb,0.41749e+00_rb,0.46220e+00_rb,0.44930e+00_rb,0.31064e+00_rb /) kbo(:, 3,15, 8) = (/ & & 0.23510e+00_rb,0.42737e+00_rb,0.47434e+00_rb,0.46202e+00_rb,0.31696e+00_rb /) kbo(:, 4,15, 8) = (/ & & 0.24186e+00_rb,0.43783e+00_rb,0.48637e+00_rb,0.47387e+00_rb,0.32265e+00_rb /) kbo(:, 5,15, 8) = (/ & & 0.25121e+00_rb,0.44943e+00_rb,0.49855e+00_rb,0.48519e+00_rb,0.32816e+00_rb /) kbo(:, 1,16, 8) = (/ & & 0.19120e+00_rb,0.34975e+00_rb,0.38732e+00_rb,0.37509e+00_rb,0.25617e+00_rb /) kbo(:, 2,16, 8) = (/ & & 0.19385e+00_rb,0.35826e+00_rb,0.39799e+00_rb,0.38666e+00_rb,0.26259e+00_rb /) kbo(:, 3,16, 8) = (/ & & 0.19846e+00_rb,0.36727e+00_rb,0.40872e+00_rb,0.39750e+00_rb,0.26815e+00_rb /) kbo(:, 4,16, 8) = (/ & & 0.20537e+00_rb,0.37712e+00_rb,0.41954e+00_rb,0.40777e+00_rb,0.27330e+00_rb /) kbo(:, 5,16, 8) = (/ & & 0.21427e+00_rb,0.38868e+00_rb,0.43071e+00_rb,0.41784e+00_rb,0.27853e+00_rb /) kbo(:, 1,17, 8) = (/ & & 0.15988e+00_rb,0.29854e+00_rb,0.33180e+00_rb,0.32201e+00_rb,0.21611e+00_rb /) kbo(:, 2,17, 8) = (/ & & 0.16279e+00_rb,0.30628e+00_rb,0.34129e+00_rb,0.33188e+00_rb,0.22162e+00_rb /) kbo(:, 3,17, 8) = (/ & & 0.16763e+00_rb,0.31463e+00_rb,0.35085e+00_rb,0.34122e+00_rb,0.22664e+00_rb /) kbo(:, 4,17, 8) = (/ & & 0.17444e+00_rb,0.32432e+00_rb,0.36068e+00_rb,0.35032e+00_rb,0.23161e+00_rb /) kbo(:, 5,17, 8) = (/ & & 0.18274e+00_rb,0.33609e+00_rb,0.37140e+00_rb,0.35944e+00_rb,0.23665e+00_rb /) kbo(:, 1,18, 8) = (/ & & 0.13352e+00_rb,0.25404e+00_rb,0.28330e+00_rb,0.27577e+00_rb,0.18225e+00_rb /) kbo(:, 2,18, 8) = (/ & & 0.13667e+00_rb,0.26103e+00_rb,0.29171e+00_rb,0.28431e+00_rb,0.18712e+00_rb /) kbo(:, 3,18, 8) = (/ & & 0.14164e+00_rb,0.26910e+00_rb,0.30030e+00_rb,0.29254e+00_rb,0.19176e+00_rb /) kbo(:, 4,18, 8) = (/ & & 0.14809e+00_rb,0.27886e+00_rb,0.30959e+00_rb,0.30073e+00_rb,0.19637e+00_rb /) kbo(:, 5,18, 8) = (/ & & 0.15551e+00_rb,0.29050e+00_rb,0.32020e+00_rb,0.30930e+00_rb,0.20115e+00_rb /) kbo(:, 1,19, 8) = (/ & & 0.11177e+00_rb,0.21580e+00_rb,0.24136e+00_rb,0.23552e+00_rb,0.15392e+00_rb /) kbo(:, 2,19, 8) = (/ & & 0.11504e+00_rb,0.22243e+00_rb,0.24890e+00_rb,0.24304e+00_rb,0.15833e+00_rb /) kbo(:, 3,19, 8) = (/ & & 0.11975e+00_rb,0.23031e+00_rb,0.25687e+00_rb,0.25048e+00_rb,0.16244e+00_rb /) kbo(:, 4,19, 8) = (/ & & 0.12553e+00_rb,0.23994e+00_rb,0.26588e+00_rb,0.25812e+00_rb,0.16671e+00_rb /) kbo(:, 5,19, 8) = (/ & & 0.13204e+00_rb,0.25107e+00_rb,0.27639e+00_rb,0.26629e+00_rb,0.17110e+00_rb /) kbo(:, 1,20, 8) = (/ & & 0.93818e-01_rb,0.18336e+00_rb,0.20533e+00_rb,0.20083e+00_rb,0.13063e+00_rb /) kbo(:, 2,20, 8) = (/ & & 0.97153e-01_rb,0.18975e+00_rb,0.21222e+00_rb,0.20754e+00_rb,0.13445e+00_rb /) kbo(:, 3,20, 8) = (/ & & 0.10157e+00_rb,0.19759e+00_rb,0.21989e+00_rb,0.21439e+00_rb,0.13819e+00_rb /) kbo(:, 4,20, 8) = (/ & & 0.10656e+00_rb,0.20692e+00_rb,0.22885e+00_rb,0.22170e+00_rb,0.14200e+00_rb /) kbo(:, 5,20, 8) = (/ & & 0.11217e+00_rb,0.21741e+00_rb,0.23914e+00_rb,0.22972e+00_rb,0.14595e+00_rb /) kbo(:, 1,21, 8) = (/ & & 0.78864e-01_rb,0.15581e+00_rb,0.17467e+00_rb,0.17111e+00_rb,0.11093e+00_rb /) kbo(:, 2,21, 8) = (/ & & 0.82115e-01_rb,0.16213e+00_rb,0.18114e+00_rb,0.17722e+00_rb,0.11448e+00_rb /) kbo(:, 3,21, 8) = (/ & & 0.86091e-01_rb,0.16989e+00_rb,0.18858e+00_rb,0.18368e+00_rb,0.11795e+00_rb /) kbo(:, 4,21, 8) = (/ & & 0.90544e-01_rb,0.17883e+00_rb,0.19740e+00_rb,0.19075e+00_rb,0.12140e+00_rb /) kbo(:, 5,21, 8) = (/ & & 0.95531e-01_rb,0.18857e+00_rb,0.20719e+00_rb,0.19872e+00_rb,0.12494e+00_rb /) kbo(:, 1,22, 8) = (/ & & 0.66536e-01_rb,0.13293e+00_rb,0.14913e+00_rb,0.14618e+00_rb,0.94429e-01_rb /) kbo(:, 2,22, 8) = (/ & & 0.69639e-01_rb,0.13931e+00_rb,0.15537e+00_rb,0.15187e+00_rb,0.97680e-01_rb /) kbo(:, 3,22, 8) = (/ & & 0.73194e-01_rb,0.14688e+00_rb,0.16282e+00_rb,0.15805e+00_rb,0.10087e+00_rb /) kbo(:, 4,22, 8) = (/ & & 0.77205e-01_rb,0.15536e+00_rb,0.17135e+00_rb,0.16503e+00_rb,0.10414e+00_rb /) kbo(:, 5,22, 8) = (/ & & 0.81667e-01_rb,0.16427e+00_rb,0.18066e+00_rb,0.17291e+00_rb,0.10744e+00_rb /) kbo(:, 1,23, 8) = (/ & & 0.56261e-01_rb,0.11383e+00_rb,0.12760e+00_rb,0.12512e+00_rb,0.80559e-01_rb /) kbo(:, 2,23, 8) = (/ & & 0.59086e-01_rb,0.12014e+00_rb,0.13384e+00_rb,0.13048e+00_rb,0.83485e-01_rb /) kbo(:, 3,23, 8) = (/ & & 0.62281e-01_rb,0.12738e+00_rb,0.14121e+00_rb,0.13648e+00_rb,0.86460e-01_rb /) kbo(:, 4,23, 8) = (/ & & 0.65906e-01_rb,0.13517e+00_rb,0.14937e+00_rb,0.14336e+00_rb,0.89462e-01_rb /) kbo(:, 5,23, 8) = (/ & & 0.69998e-01_rb,0.14335e+00_rb,0.15807e+00_rb,0.15098e+00_rb,0.92588e-01_rb /) kbo(:, 1,24, 8) = (/ & & 0.47642e-01_rb,0.97933e-01_rb,0.10963e+00_rb,0.10742e+00_rb,0.68750e-01_rb /) kbo(:, 2,24, 8) = (/ & & 0.50193e-01_rb,0.10399e+00_rb,0.11587e+00_rb,0.11258e+00_rb,0.71432e-01_rb /) kbo(:, 3,24, 8) = (/ & & 0.53085e-01_rb,0.11077e+00_rb,0.12298e+00_rb,0.11845e+00_rb,0.74194e-01_rb /) kbo(:, 4,24, 8) = (/ & & 0.56384e-01_rb,0.11795e+00_rb,0.13070e+00_rb,0.12512e+00_rb,0.76973e-01_rb /) kbo(:, 5,24, 8) = (/ & & 0.60174e-01_rb,0.12555e+00_rb,0.13879e+00_rb,0.13237e+00_rb,0.79920e-01_rb /) kbo(:, 1,25, 8) = (/ & & 0.40432e-01_rb,0.84645e-01_rb,0.94724e-01_rb,0.92637e-01_rb,0.58805e-01_rb /) kbo(:, 2,25, 8) = (/ & & 0.42748e-01_rb,0.90409e-01_rb,0.10079e+00_rb,0.97654e-01_rb,0.61289e-01_rb /) kbo(:, 3,25, 8) = (/ & & 0.45392e-01_rb,0.96682e-01_rb,0.10756e+00_rb,0.10341e+00_rb,0.63818e-01_rb /) kbo(:, 4,25, 8) = (/ & & 0.48438e-01_rb,0.10335e+00_rb,0.11478e+00_rb,0.10978e+00_rb,0.66481e-01_rb /) kbo(:, 5,25, 8) = (/ & & 0.52019e-01_rb,0.11050e+00_rb,0.12234e+00_rb,0.11664e+00_rb,0.69209e-01_rb /) kbo(:, 1,26, 8) = (/ & & 0.34430e-01_rb,0.73567e-01_rb,0.82349e-01_rb,0.80341e-01_rb,0.50485e-01_rb /) kbo(:, 2,26, 8) = (/ & & 0.36558e-01_rb,0.78997e-01_rb,0.88163e-01_rb,0.85293e-01_rb,0.52835e-01_rb /) kbo(:, 3,26, 8) = (/ & & 0.39009e-01_rb,0.84818e-01_rb,0.94521e-01_rb,0.90851e-01_rb,0.55181e-01_rb /) kbo(:, 4,26, 8) = (/ & & 0.41876e-01_rb,0.91074e-01_rb,0.10127e+00_rb,0.96922e-01_rb,0.57644e-01_rb /) kbo(:, 5,26, 8) = (/ & & 0.45294e-01_rb,0.97874e-01_rb,0.10841e+00_rb,0.10340e+00_rb,0.60258e-01_rb /) kbo(:, 1,27, 8) = (/ & & 0.29418e-01_rb,0.64289e-01_rb,0.71984e-01_rb,0.70112e-01_rb,0.43514e-01_rb /) kbo(:, 2,27, 8) = (/ & & 0.31367e-01_rb,0.69333e-01_rb,0.77500e-01_rb,0.74945e-01_rb,0.45654e-01_rb /) kbo(:, 3,27, 8) = (/ & & 0.33650e-01_rb,0.74779e-01_rb,0.83451e-01_rb,0.80284e-01_rb,0.47838e-01_rb /) kbo(:, 4,27, 8) = (/ & & 0.36373e-01_rb,0.80698e-01_rb,0.89803e-01_rb,0.86035e-01_rb,0.50188e-01_rb /) kbo(:, 5,27, 8) = (/ & & 0.39625e-01_rb,0.87227e-01_rb,0.96605e-01_rb,0.92163e-01_rb,0.52661e-01_rb /) kbo(:, 1,28, 8) = (/ & & 0.25206e-01_rb,0.56436e-01_rb,0.63282e-01_rb,0.61571e-01_rb,0.37602e-01_rb /) kbo(:, 2,28, 8) = (/ & & 0.27009e-01_rb,0.61147e-01_rb,0.68481e-01_rb,0.66237e-01_rb,0.39562e-01_rb /) kbo(:, 3,28, 8) = (/ & & 0.29150e-01_rb,0.66302e-01_rb,0.74074e-01_rb,0.71341e-01_rb,0.41601e-01_rb /) kbo(:, 4,28, 8) = (/ & & 0.31750e-01_rb,0.71955e-01_rb,0.80104e-01_rb,0.76785e-01_rb,0.43794e-01_rb /) kbo(:, 5,28, 8) = (/ & & 0.34834e-01_rb,0.78268e-01_rb,0.86662e-01_rb,0.82632e-01_rb,0.46193e-01_rb /) kbo(:, 1,29, 8) = (/ & & 0.21672e-01_rb,0.49821e-01_rb,0.55985e-01_rb,0.54431e-01_rb,0.32677e-01_rb /) kbo(:, 2,29, 8) = (/ & & 0.23360e-01_rb,0.54257e-01_rb,0.60871e-01_rb,0.58918e-01_rb,0.34453e-01_rb /) kbo(:, 3,29, 8) = (/ & & 0.25420e-01_rb,0.59159e-01_rb,0.66168e-01_rb,0.63765e-01_rb,0.36398e-01_rb /) kbo(:, 4,29, 8) = (/ & & 0.27908e-01_rb,0.64629e-01_rb,0.71935e-01_rb,0.68977e-01_rb,0.38490e-01_rb /) kbo(:, 5,29, 8) = (/ & & 0.30843e-01_rb,0.70791e-01_rb,0.78323e-01_rb,0.74610e-01_rb,0.40747e-01_rb /) kbo(:, 1,30, 8) = (/ & & 0.18703e-01_rb,0.44236e-01_rb,0.49819e-01_rb,0.48423e-01_rb,0.28503e-01_rb /) kbo(:, 2,30, 8) = (/ & & 0.20315e-01_rb,0.48445e-01_rb,0.54425e-01_rb,0.52720e-01_rb,0.30174e-01_rb /) kbo(:, 3,30, 8) = (/ & & 0.22307e-01_rb,0.53163e-01_rb,0.59481e-01_rb,0.57359e-01_rb,0.32018e-01_rb /) kbo(:, 4,30, 8) = (/ & & 0.24687e-01_rb,0.58495e-01_rb,0.65064e-01_rb,0.62368e-01_rb,0.34022e-01_rb /) kbo(:, 5,30, 8) = (/ & & 0.27510e-01_rb,0.64597e-01_rb,0.71352e-01_rb,0.67860e-01_rb,0.36243e-01_rb /) kbo(:, 1,31, 8) = (/ & & 0.16227e-01_rb,0.39546e-01_rb,0.44613e-01_rb,0.43384e-01_rb,0.24947e-01_rb /) kbo(:, 2,31, 8) = (/ & & 0.17791e-01_rb,0.43576e-01_rb,0.49010e-01_rb,0.47501e-01_rb,0.26577e-01_rb /) kbo(:, 3,31, 8) = (/ & & 0.19720e-01_rb,0.48163e-01_rb,0.53877e-01_rb,0.51962e-01_rb,0.28347e-01_rb /) kbo(:, 4,31, 8) = (/ & & 0.22010e-01_rb,0.53419e-01_rb,0.59368e-01_rb,0.56842e-01_rb,0.30326e-01_rb /) kbo(:, 5,31, 8) = (/ & & 0.24778e-01_rb,0.59533e-01_rb,0.65582e-01_rb,0.62279e-01_rb,0.32464e-01_rb /) kbo(:, 1,32, 8) = (/ & & 0.14168e-01_rb,0.35610e-01_rb,0.40228e-01_rb,0.39145e-01_rb,0.21998e-01_rb /) kbo(:, 2,32, 8) = (/ & & 0.15701e-01_rb,0.39518e-01_rb,0.44455e-01_rb,0.43108e-01_rb,0.23551e-01_rb /) kbo(:, 3,32, 8) = (/ & & 0.17568e-01_rb,0.44028e-01_rb,0.49228e-01_rb,0.47442e-01_rb,0.25303e-01_rb /) kbo(:, 4,32, 8) = (/ & & 0.19822e-01_rb,0.49274e-01_rb,0.54644e-01_rb,0.52269e-01_rb,0.27219e-01_rb /) kbo(:, 5,32, 8) = (/ & & 0.22492e-01_rb,0.55429e-01_rb,0.60878e-01_rb,0.57696e-01_rb,0.29289e-01_rb /) kbo(:, 1,33, 8) = (/ & & 0.12469e-01_rb,0.32321e-01_rb,0.36548e-01_rb,0.35586e-01_rb,0.19535e-01_rb /) kbo(:, 2,33, 8) = (/ & & 0.13967e-01_rb,0.36160e-01_rb,0.40670e-01_rb,0.39414e-01_rb,0.21057e-01_rb /) kbo(:, 3,33, 8) = (/ & & 0.15804e-01_rb,0.40646e-01_rb,0.45371e-01_rb,0.43697e-01_rb,0.22748e-01_rb /) kbo(:, 4,33, 8) = (/ & & 0.18007e-01_rb,0.45935e-01_rb,0.50790e-01_rb,0.48504e-01_rb,0.24589e-01_rb /) kbo(:, 5,33, 8) = (/ & & 0.20583e-01_rb,0.52117e-01_rb,0.57083e-01_rb,0.53949e-01_rb,0.26612e-01_rb /) kbo(:, 1,34, 8) = (/ & & 0.11030e-01_rb,0.29462e-01_rb,0.33333e-01_rb,0.32457e-01_rb,0.17441e-01_rb /) kbo(:, 2,34, 8) = (/ & & 0.12485e-01_rb,0.33252e-01_rb,0.37374e-01_rb,0.36203e-01_rb,0.18902e-01_rb /) kbo(:, 3,34, 8) = (/ & & 0.14284e-01_rb,0.37735e-01_rb,0.42039e-01_rb,0.40449e-01_rb,0.20533e-01_rb /) kbo(:, 4,34, 8) = (/ & & 0.16406e-01_rb,0.43050e-01_rb,0.47473e-01_rb,0.45250e-01_rb,0.22315e-01_rb /) kbo(:, 5,34, 8) = (/ & & 0.18889e-01_rb,0.49221e-01_rb,0.53838e-01_rb,0.50709e-01_rb,0.24295e-01_rb /) kbo(:, 1,35, 8) = (/ & & 0.97045e-02_rb,0.26765e-01_rb,0.30294e-01_rb,0.29494e-01_rb,0.15527e-01_rb /) kbo(:, 2,35, 8) = (/ & & 0.11116e-01_rb,0.30471e-01_rb,0.34237e-01_rb,0.33156e-01_rb,0.16936e-01_rb /) kbo(:, 3,35, 8) = (/ & & 0.12833e-01_rb,0.34908e-01_rb,0.38827e-01_rb,0.37335e-01_rb,0.18494e-01_rb /) kbo(:, 4,35, 8) = (/ & & 0.14851e-01_rb,0.40160e-01_rb,0.44228e-01_rb,0.42095e-01_rb,0.20230e-01_rb /) kbo(:, 5,35, 8) = (/ & & 0.17220e-01_rb,0.46275e-01_rb,0.50600e-01_rb,0.47524e-01_rb,0.22137e-01_rb /) kbo(:, 1,36, 8) = (/ & & 0.84787e-02_rb,0.24131e-01_rb,0.27339e-01_rb,0.26619e-01_rb,0.13756e-01_rb /) kbo(:, 2,36, 8) = (/ & & 0.98033e-02_rb,0.27706e-01_rb,0.31147e-01_rb,0.30166e-01_rb,0.15106e-01_rb /) kbo(:, 3,36, 8) = (/ & & 0.11407e-01_rb,0.32015e-01_rb,0.35610e-01_rb,0.34239e-01_rb,0.16593e-01_rb /) kbo(:, 4,36, 8) = (/ & & 0.13302e-01_rb,0.37140e-01_rb,0.40907e-01_rb,0.38904e-01_rb,0.18257e-01_rb /) kbo(:, 5,36, 8) = (/ & & 0.15537e-01_rb,0.43129e-01_rb,0.47182e-01_rb,0.44236e-01_rb,0.20074e-01_rb /) kbo(:, 1,37, 8) = (/ & & 0.72685e-02_rb,0.21392e-01_rb,0.24301e-01_rb,0.23679e-01_rb,0.12087e-01_rb /) kbo(:, 2,37, 8) = (/ & & 0.84733e-02_rb,0.24759e-01_rb,0.27898e-01_rb,0.27046e-01_rb,0.13342e-01_rb /) kbo(:, 3,37, 8) = (/ & & 0.99353e-02_rb,0.28848e-01_rb,0.32152e-01_rb,0.30940e-01_rb,0.14748e-01_rb /) kbo(:, 4,37, 8) = (/ & & 0.11673e-01_rb,0.33734e-01_rb,0.37224e-01_rb,0.35422e-01_rb,0.16319e-01_rb /) kbo(:, 5,37, 8) = (/ & & 0.13740e-01_rb,0.39481e-01_rb,0.43256e-01_rb,0.40566e-01_rb,0.18049e-01_rb /) kbo(:, 1,38, 8) = (/ & & 0.62326e-02_rb,0.18999e-01_rb,0.21644e-01_rb,0.21103e-01_rb,0.10629e-01_rb /) kbo(:, 2,38, 8) = (/ & & 0.73269e-02_rb,0.22170e-01_rb,0.25042e-01_rb,0.24299e-01_rb,0.11807e-01_rb /) kbo(:, 3,38, 8) = (/ & & 0.86586e-02_rb,0.26045e-01_rb,0.29098e-01_rb,0.28019e-01_rb,0.13138e-01_rb /) kbo(:, 4,38, 8) = (/ & & 0.10254e-01_rb,0.30699e-01_rb,0.33952e-01_rb,0.32316e-01_rb,0.14621e-01_rb /) kbo(:, 5,38, 8) = (/ & & 0.12168e-01_rb,0.36211e-01_rb,0.39748e-01_rb,0.37288e-01_rb,0.16263e-01_rb /) kbo(:, 1,39, 8) = (/ & & 0.53522e-02_rb,0.16925e-01_rb,0.19337e-01_rb,0.18863e-01_rb,0.93697e-02_rb /) kbo(:, 2,39, 8) = (/ & & 0.63437e-02_rb,0.19916e-01_rb,0.22555e-01_rb,0.21900e-01_rb,0.10477e-01_rb /) kbo(:, 3,39, 8) = (/ & & 0.75600e-02_rb,0.23590e-01_rb,0.26428e-01_rb,0.25453e-01_rb,0.11732e-01_rb /) kbo(:, 4,39, 8) = (/ & & 0.90277e-02_rb,0.28027e-01_rb,0.31081e-01_rb,0.29581e-01_rb,0.13140e-01_rb /) kbo(:, 5,39, 8) = (/ & & 0.10804e-01_rb,0.33325e-01_rb,0.36655e-01_rb,0.34396e-01_rb,0.14714e-01_rb /) kbo(:, 1,40, 8) = (/ & & 0.45183e-02_rb,0.14862e-01_rb,0.17043e-01_rb,0.16640e-01_rb,0.81906e-02_rb /) kbo(:, 2,40, 8) = (/ & & 0.53964e-02_rb,0.17630e-01_rb,0.20043e-01_rb,0.19482e-01_rb,0.92335e-02_rb /) kbo(:, 3,40, 8) = (/ & & 0.64835e-02_rb,0.21041e-01_rb,0.23674e-01_rb,0.22821e-01_rb,0.10400e-01_rb /) kbo(:, 4,40, 8) = (/ & & 0.78100e-02_rb,0.25197e-01_rb,0.28056e-01_rb,0.26733e-01_rb,0.11718e-01_rb /) kbo(:, 5,40, 8) = (/ & & 0.94310e-02_rb,0.30203e-01_rb,0.33322e-01_rb,0.31321e-01_rb,0.13209e-01_rb /) kbo(:, 1,41, 8) = (/ & & 0.38020e-02_rb,0.13035e-01_rb,0.15007e-01_rb,0.14665e-01_rb,0.71645e-02_rb /) kbo(:, 2,41, 8) = (/ & & 0.45796e-02_rb,0.15592e-01_rb,0.17802e-01_rb,0.17320e-01_rb,0.81332e-02_rb /) kbo(:, 3,41, 8) = (/ & & 0.55464e-02_rb,0.18749e-01_rb,0.21191e-01_rb,0.20448e-01_rb,0.92312e-02_rb /) kbo(:, 4,41, 8) = (/ & & 0.67408e-02_rb,0.22629e-01_rb,0.25309e-01_rb,0.24143e-01_rb,0.10458e-01_rb /) kbo(:, 5,41, 8) = (/ & & 0.82155e-02_rb,0.27347e-01_rb,0.30277e-01_rb,0.28506e-01_rb,0.11871e-01_rb /) kbo(:, 1,42, 8) = (/ & & 0.31962e-02_rb,0.11444e-01_rb,0.13229e-01_rb,0.12937e-01_rb,0.62788e-02_rb /) kbo(:, 2,42, 8) = (/ & & 0.38815e-02_rb,0.13798e-01_rb,0.15822e-01_rb,0.15407e-01_rb,0.71774e-02_rb /) kbo(:, 3,42, 8) = (/ & & 0.47422e-02_rb,0.16722e-01_rb,0.18990e-01_rb,0.18339e-01_rb,0.81986e-02_rb /) kbo(:, 4,42, 8) = (/ & & 0.58154e-02_rb,0.20342e-01_rb,0.22857e-01_rb,0.21830e-01_rb,0.93594e-02_rb /) kbo(:, 5,42, 8) = (/ & & 0.71546e-02_rb,0.24787e-01_rb,0.27545e-01_rb,0.25973e-01_rb,0.10684e-01_rb /) kbo(:, 1,43, 8) = (/ & & 0.26542e-02_rb,0.99421e-02_rb,0.11545e-01_rb,0.11297e-01_rb,0.54681e-02_rb /) kbo(:, 2,43, 8) = (/ & & 0.32467e-02_rb,0.12085e-01_rb,0.13926e-01_rb,0.13575e-01_rb,0.63017e-02_rb /) kbo(:, 3,43, 8) = (/ & & 0.40037e-02_rb,0.14758e-01_rb,0.16848e-01_rb,0.16296e-01_rb,0.72434e-02_rb /) kbo(:, 4,43, 8) = (/ & & 0.49534e-02_rb,0.18094e-01_rb,0.20438e-01_rb,0.19556e-01_rb,0.83354e-02_rb /) kbo(:, 5,43, 8) = (/ & & 0.61525e-02_rb,0.22230e-01_rb,0.24817e-01_rb,0.23450e-01_rb,0.95751e-02_rb /) kbo(:, 1,44, 8) = (/ & & 0.21881e-02_rb,0.85857e-02_rb,0.10019e-01_rb,0.98043e-02_rb,0.47456e-02_rb /) kbo(:, 2,44, 8) = (/ & & 0.26937e-02_rb,0.10525e-01_rb,0.12192e-01_rb,0.11898e-01_rb,0.55168e-02_rb /) kbo(:, 3,44, 8) = (/ & & 0.33531e-02_rb,0.12952e-01_rb,0.14870e-01_rb,0.14408e-01_rb,0.63938e-02_rb /) kbo(:, 4,44, 8) = (/ & & 0.41916e-02_rb,0.16016e-01_rb,0.18187e-01_rb,0.17441e-01_rb,0.73995e-02_rb /) kbo(:, 5,44, 8) = (/ & & 0.52529e-02_rb,0.19825e-01_rb,0.22245e-01_rb,0.21074e-01_rb,0.85693e-02_rb /) kbo(:, 1,45, 8) = (/ & & 0.17974e-02_rb,0.74036e-02_rb,0.86819e-02_rb,0.84949e-02_rb,0.41100e-02_rb /) kbo(:, 2,45, 8) = (/ & & 0.22283e-02_rb,0.91556e-02_rb,0.10664e-01_rb,0.10414e-01_rb,0.48257e-02_rb /) kbo(:, 3,45, 8) = (/ & & 0.27993e-02_rb,0.11360e-01_rb,0.13115e-01_rb,0.12731e-01_rb,0.56423e-02_rb /) kbo(:, 4,45, 8) = (/ & & 0.35358e-02_rb,0.14164e-01_rb,0.16170e-01_rb,0.15543e-01_rb,0.65867e-02_rb /) kbo(:, 5,45, 8) = (/ & & 0.44762e-02_rb,0.17671e-01_rb,0.19928e-01_rb,0.18931e-01_rb,0.76725e-02_rb /) kbo(:, 1,46, 8) = (/ & & 0.14666e-02_rb,0.63443e-02_rb,0.74710e-02_rb,0.73099e-02_rb,0.35540e-02_rb /) kbo(:, 2,46, 8) = (/ & & 0.18286e-02_rb,0.79140e-02_rb,0.92719e-02_rb,0.90588e-02_rb,0.41981e-02_rb /) kbo(:, 3,46, 8) = (/ & & 0.23196e-02_rb,0.99089e-02_rb,0.11508e-01_rb,0.11192e-01_rb,0.49656e-02_rb /) kbo(:, 4,46, 8) = (/ & & 0.29575e-02_rb,0.12451e-01_rb,0.14296e-01_rb,0.13779e-01_rb,0.58441e-02_rb /) kbo(:, 5,46, 8) = (/ & & 0.37842e-02_rb,0.15662e-01_rb,0.17758e-01_rb,0.16921e-01_rb,0.68660e-02_rb /) kbo(:, 1,47, 8) = (/ & & 0.11822e-02_rb,0.53700e-02_rb,0.63483e-02_rb,0.62090e-02_rb,0.30500e-02_rb /) kbo(:, 2,47, 8) = (/ & & 0.14817e-02_rb,0.67616e-02_rb,0.79678e-02_rb,0.77874e-02_rb,0.36317e-02_rb /) kbo(:, 3,47, 8) = (/ & & 0.18918e-02_rb,0.85392e-02_rb,0.99818e-02_rb,0.97254e-02_rb,0.43248e-02_rb /) kbo(:, 4,47, 8) = (/ & & 0.24382e-02_rb,0.10820e-01_rb,0.12503e-01_rb,0.12088e-01_rb,0.51477e-02_rb /) kbo(:, 5,47, 8) = (/ & & 0.31533e-02_rb,0.13725e-01_rb,0.15656e-01_rb,0.14970e-01_rb,0.61000e-02_rb /) kbo(:, 1,48, 8) = (/ & & 0.94906e-03_rb,0.45298e-02_rb,0.53706e-02_rb,0.52506e-02_rb,0.26162e-02_rb /) kbo(:, 2,48, 8) = (/ & & 0.11965e-02_rb,0.57597e-02_rb,0.68213e-02_rb,0.66698e-02_rb,0.31403e-02_rb /) kbo(:, 3,48, 8) = (/ & & 0.15369e-02_rb,0.73380e-02_rb,0.86368e-02_rb,0.84246e-02_rb,0.37687e-02_rb /) kbo(:, 4,48, 8) = (/ & & 0.20008e-02_rb,0.93814e-02_rb,0.10911e-01_rb,0.10580e-01_rb,0.45213e-02_rb /) kbo(:, 5,48, 8) = (/ & & 0.26159e-02_rb,0.12002e-01_rb,0.13774e-01_rb,0.13221e-01_rb,0.54142e-02_rb /) kbo(:, 1,49, 8) = (/ & & 0.75913e-03_rb,0.38043e-02_rb,0.45203e-02_rb,0.44181e-02_rb,0.22379e-02_rb /) kbo(:, 2,49, 8) = (/ & & 0.96097e-03_rb,0.48899e-02_rb,0.58138e-02_rb,0.56878e-02_rb,0.27098e-02_rb /) kbo(:, 3,49, 8) = (/ & & 0.12447e-02_rb,0.62895e-02_rb,0.74501e-02_rb,0.72727e-02_rb,0.32859e-02_rb /) kbo(:, 4,49, 8) = (/ & & 0.16322e-02_rb,0.81122e-02_rb,0.94989e-02_rb,0.92349e-02_rb,0.39720e-02_rb /) kbo(:, 5,49, 8) = (/ & & 0.21597e-02_rb,0.10470e-01_rb,0.12092e-01_rb,0.11650e-01_rb,0.47938e-02_rb /) kbo(:, 1,50, 8) = (/ & & 0.60949e-03_rb,0.32009e-02_rb,0.38080e-02_rb,0.37204e-02_rb,0.19148e-02_rb /) kbo(:, 2,50, 8) = (/ & & 0.77332e-03_rb,0.41637e-02_rb,0.49658e-02_rb,0.48588e-02_rb,0.23498e-02_rb /) kbo(:, 3,50, 8) = (/ & & 0.10099e-02_rb,0.54095e-02_rb,0.64416e-02_rb,0.62938e-02_rb,0.28713e-02_rb /) kbo(:, 4,50, 8) = (/ & & 0.13353e-02_rb,0.70417e-02_rb,0.83004e-02_rb,0.80844e-02_rb,0.35114e-02_rb /) kbo(:, 5,50, 8) = (/ & & 0.17873e-02_rb,0.91691e-02_rb,0.10658e-01_rb,0.10303e-01_rb,0.42641e-02_rb /) kbo(:, 1,51, 8) = (/ & & 0.48960e-03_rb,0.26873e-02_rb,0.32008e-02_rb,0.31259e-02_rb,0.16378e-02_rb /) kbo(:, 2,51, 8) = (/ & & 0.62187e-03_rb,0.35423e-02_rb,0.42349e-02_rb,0.41443e-02_rb,0.20325e-02_rb /) kbo(:, 3,51, 8) = (/ & & 0.81788e-03_rb,0.46529e-02_rb,0.55656e-02_rb,0.54424e-02_rb,0.25164e-02_rb /) kbo(:, 4,51, 8) = (/ & & 0.10935e-02_rb,0.61155e-02_rb,0.72565e-02_rb,0.70765e-02_rb,0.31007e-02_rb /) kbo(:, 5,51, 8) = (/ & & 0.14776e-02_rb,0.80416e-02_rb,0.94087e-02_rb,0.91197e-02_rb,0.38085e-02_rb /) kbo(:, 1,52, 8) = (/ & & 0.39302e-03_rb,0.22435e-02_rb,0.26754e-02_rb,0.26122e-02_rb,0.13898e-02_rb /) kbo(:, 2,52, 8) = (/ & & 0.49889e-03_rb,0.30006e-02_rb,0.35943e-02_rb,0.35172e-02_rb,0.17532e-02_rb /) kbo(:, 3,52, 8) = (/ & & 0.65922e-03_rb,0.39906e-02_rb,0.47901e-02_rb,0.46880e-02_rb,0.21980e-02_rb /) kbo(:, 4,52, 8) = (/ & & 0.89075e-03_rb,0.52980e-02_rb,0.63237e-02_rb,0.61748e-02_rb,0.27412e-02_rb /) kbo(:, 5,52, 8) = (/ & & 0.12150e-02_rb,0.70312e-02_rb,0.82837e-02_rb,0.80497e-02_rb,0.33956e-02_rb /) kbo(:, 1,53, 8) = (/ & & 0.31533e-03_rb,0.18598e-02_rb,0.22216e-02_rb,0.21690e-02_rb,0.11705e-02_rb /) kbo(:, 2,53, 8) = (/ & & 0.39919e-03_rb,0.25290e-02_rb,0.30338e-02_rb,0.29679e-02_rb,0.15051e-02_rb /) kbo(:, 3,53, 8) = (/ & & 0.52958e-03_rb,0.34096e-02_rb,0.41030e-02_rb,0.40189e-02_rb,0.19137e-02_rb /) kbo(:, 4,53, 8) = (/ & & 0.72147e-03_rb,0.45756e-02_rb,0.54894e-02_rb,0.53678e-02_rb,0.24147e-02_rb /) kbo(:, 5,53, 8) = (/ & & 0.99563e-03_rb,0.61321e-02_rb,0.72739e-02_rb,0.70826e-02_rb,0.30286e-02_rb /) kbo(:, 1,54, 8) = (/ & & 0.25434e-03_rb,0.15477e-02_rb,0.18502e-02_rb,0.18075e-02_rb,0.98891e-03_rb /) kbo(:, 2,54, 8) = (/ & & 0.32221e-03_rb,0.21398e-02_rb,0.25708e-02_rb,0.25148e-02_rb,0.12935e-02_rb /) kbo(:, 3,54, 8) = (/ & & 0.42775e-03_rb,0.29272e-02_rb,0.35315e-02_rb,0.34599e-02_rb,0.16741e-02_rb /) kbo(:, 4,54, 8) = (/ & & 0.58762e-03_rb,0.39761e-02_rb,0.47907e-02_rb,0.46896e-02_rb,0.21376e-02_rb /) kbo(:, 5,54, 8) = (/ & & 0.82053e-03_rb,0.53824e-02_rb,0.64244e-02_rb,0.62664e-02_rb,0.27173e-02_rb /) kbo(:, 1,55, 8) = (/ & & 0.20618e-03_rb,0.12866e-02_rb,0.15400e-02_rb,0.15055e-02_rb,0.83572e-03_rb /) kbo(:, 2,55, 8) = (/ & & 0.26059e-03_rb,0.18094e-02_rb,0.21787e-02_rb,0.21302e-02_rb,0.11090e-02_rb /) kbo(:, 3,55, 8) = (/ & & 0.34651e-03_rb,0.25140e-02_rb,0.30392e-02_rb,0.29780e-02_rb,0.14628e-02_rb /) kbo(:, 4,55, 8) = (/ & & 0.47882e-03_rb,0.34608e-02_rb,0.41831e-02_rb,0.41003e-02_rb,0.18992e-02_rb /) kbo(:, 5,55, 8) = (/ & & 0.67671e-03_rb,0.47331e-02_rb,0.56817e-02_rb,0.55503e-02_rb,0.24360e-02_rb /) kbo(:, 1,56, 8) = (/ & & 0.16681e-03_rb,0.10621e-02_rb,0.12728e-02_rb,0.12461e-02_rb,0.70162e-03_rb /) kbo(:, 2,56, 8) = (/ & & 0.21064e-03_rb,0.15213e-02_rb,0.18350e-02_rb,0.17945e-02_rb,0.94828e-03_rb /) kbo(:, 3,56, 8) = (/ & & 0.28028e-03_rb,0.21500e-02_rb,0.26045e-02_rb,0.25521e-02_rb,0.12721e-02_rb /) kbo(:, 4,56, 8) = (/ & & 0.38906e-03_rb,0.30029e-02_rb,0.36387e-02_rb,0.35710e-02_rb,0.16833e-02_rb /) kbo(:, 5,56, 8) = (/ & & 0.55568e-03_rb,0.41534e-02_rb,0.50111e-02_rb,0.49027e-02_rb,0.21849e-02_rb /) kbo(:, 1,57, 8) = (/ & & 0.13484e-03_rb,0.87168e-03_rb,0.10444e-02_rb,0.10248e-02_rb,0.58516e-03_rb /) kbo(:, 2,57, 8) = (/ & & 0.17007e-03_rb,0.12717e-02_rb,0.15360e-02_rb,0.15024e-02_rb,0.80805e-03_rb /) kbo(:, 3,57, 8) = (/ & & 0.22603e-03_rb,0.18296e-02_rb,0.22211e-02_rb,0.21757e-02_rb,0.11006e-02_rb /) kbo(:, 4,57, 8) = (/ & & 0.31565e-03_rb,0.25963e-02_rb,0.31531e-02_rb,0.30959e-02_rb,0.14851e-02_rb /) kbo(:, 5,57, 8) = (/ & & 0.45417e-03_rb,0.36365e-02_rb,0.44058e-02_rb,0.43157e-02_rb,0.19625e-02_rb /) kbo(:, 1,58, 8) = (/ & & 0.10938e-03_rb,0.71449e-03_rb,0.85655e-03_rb,0.84240e-03_rb,0.48772e-03_rb /) kbo(:, 2,58, 8) = (/ & & 0.13752e-03_rb,0.10624e-02_rb,0.12849e-02_rb,0.12583e-02_rb,0.68689e-03_rb /) kbo(:, 3,58, 8) = (/ & & 0.18307e-03_rb,0.15572e-02_rb,0.18954e-02_rb,0.18566e-02_rb,0.95344e-03_rb /) kbo(:, 4,58, 8) = (/ & & 0.25673e-03_rb,0.22481e-02_rb,0.27363e-02_rb,0.26877e-02_rb,0.13079e-02_rb /) kbo(:, 5,58, 8) = (/ & & 0.37230e-03_rb,0.31921e-02_rb,0.38812e-02_rb,0.38070e-02_rb,0.17570e-02_rb /) kbo(:, 1,59, 8) = (/ & & 0.92153e-04_rb,0.62798e-03_rb,0.75374e-03_rb,0.74243e-03_rb,0.43161e-03_rb /) kbo(:, 2,59, 8) = (/ & & 0.11676e-03_rb,0.95019e-03_rb,0.11525e-02_rb,0.11296e-02_rb,0.61959e-03_rb /) kbo(:, 3,59, 8) = (/ & & 0.15687e-03_rb,0.14168e-02_rb,0.17285e-02_rb,0.16938e-02_rb,0.87468e-03_rb /) kbo(:, 4,59, 8) = (/ & & 0.22278e-03_rb,0.20743e-02_rb,0.25302e-02_rb,0.24863e-02_rb,0.12161e-02_rb /) kbo(:, 5,59, 8) = (/ & & 0.32724e-03_rb,0.29797e-02_rb,0.36313e-02_rb,0.35664e-02_rb,0.16577e-02_rb /) kbo(:, 1,13, 9) = (/ & & 0.16403e+01_rb,0.27290e+01_rb,0.31326e+01_rb,0.31890e+01_rb,0.23307e+01_rb /) kbo(:, 2,13, 9) = (/ & & 0.16862e+01_rb,0.27611e+01_rb,0.31617e+01_rb,0.32226e+01_rb,0.23816e+01_rb /) kbo(:, 3,13, 9) = (/ & & 0.17455e+01_rb,0.28101e+01_rb,0.32005e+01_rb,0.32552e+01_rb,0.24291e+01_rb /) kbo(:, 4,13, 9) = (/ & & 0.18100e+01_rb,0.28758e+01_rb,0.32471e+01_rb,0.32901e+01_rb,0.24729e+01_rb /) kbo(:, 5,13, 9) = (/ & & 0.18736e+01_rb,0.29528e+01_rb,0.33027e+01_rb,0.33291e+01_rb,0.25126e+01_rb /) kbo(:, 1,14, 9) = (/ & & 0.14276e+01_rb,0.24116e+01_rb,0.27645e+01_rb,0.28207e+01_rb,0.20786e+01_rb /) kbo(:, 2,14, 9) = (/ & & 0.14761e+01_rb,0.24553e+01_rb,0.28027e+01_rb,0.28564e+01_rb,0.21275e+01_rb /) kbo(:, 3,14, 9) = (/ & & 0.15303e+01_rb,0.25161e+01_rb,0.28501e+01_rb,0.28940e+01_rb,0.21750e+01_rb /) kbo(:, 4,14, 9) = (/ & & 0.15845e+01_rb,0.25879e+01_rb,0.29061e+01_rb,0.29354e+01_rb,0.22167e+01_rb /) kbo(:, 5,14, 9) = (/ & & 0.16378e+01_rb,0.26632e+01_rb,0.29707e+01_rb,0.29827e+01_rb,0.22552e+01_rb /) kbo(:, 1,15, 9) = (/ & & 0.12454e+01_rb,0.21329e+01_rb,0.24382e+01_rb,0.24839e+01_rb,0.18332e+01_rb /) kbo(:, 2,15, 9) = (/ & & 0.12895e+01_rb,0.21869e+01_rb,0.24841e+01_rb,0.25234e+01_rb,0.18816e+01_rb /) kbo(:, 3,15, 9) = (/ & & 0.13344e+01_rb,0.22528e+01_rb,0.25385e+01_rb,0.25663e+01_rb,0.19251e+01_rb /) kbo(:, 4,15, 9) = (/ & & 0.13794e+01_rb,0.23234e+01_rb,0.26021e+01_rb,0.26153e+01_rb,0.19652e+01_rb /) kbo(:, 5,15, 9) = (/ & & 0.14250e+01_rb,0.23931e+01_rb,0.26727e+01_rb,0.26688e+01_rb,0.20043e+01_rb /) kbo(:, 1,16, 9) = (/ & & 0.10848e+01_rb,0.18880e+01_rb,0.21511e+01_rb,0.21813e+01_rb,0.16071e+01_rb /) kbo(:, 2,16, 9) = (/ & & 0.11214e+01_rb,0.19471e+01_rb,0.22027e+01_rb,0.22246e+01_rb,0.16520e+01_rb /) kbo(:, 3,16, 9) = (/ & & 0.11587e+01_rb,0.20122e+01_rb,0.22636e+01_rb,0.22737e+01_rb,0.16924e+01_rb /) kbo(:, 4,16, 9) = (/ & & 0.11968e+01_rb,0.20768e+01_rb,0.23313e+01_rb,0.23282e+01_rb,0.17327e+01_rb /) kbo(:, 5,16, 9) = (/ & & 0.12369e+01_rb,0.21393e+01_rb,0.24028e+01_rb,0.23861e+01_rb,0.17713e+01_rb /) kbo(:, 1,17, 9) = (/ & & 0.94054e+00_rb,0.16727e+01_rb,0.18972e+01_rb,0.19128e+01_rb,0.14046e+01_rb /) kbo(:, 2,17, 9) = (/ & & 0.97101e+00_rb,0.17314e+01_rb,0.19542e+01_rb,0.19610e+01_rb,0.14464e+01_rb /) kbo(:, 3,17, 9) = (/ & & 0.10024e+01_rb,0.17905e+01_rb,0.20183e+01_rb,0.20147e+01_rb,0.14867e+01_rb /) kbo(:, 4,17, 9) = (/ & & 0.10357e+01_rb,0.18485e+01_rb,0.20868e+01_rb,0.20722e+01_rb,0.15247e+01_rb /) kbo(:, 5,17, 9) = (/ & & 0.10722e+01_rb,0.19059e+01_rb,0.21551e+01_rb,0.21344e+01_rb,0.15620e+01_rb /) kbo(:, 1,18, 9) = (/ & & 0.81293e+00_rb,0.14815e+01_rb,0.16736e+01_rb,0.16776e+01_rb,0.12272e+01_rb /) kbo(:, 2,18, 9) = (/ & & 0.83847e+00_rb,0.15352e+01_rb,0.17337e+01_rb,0.17293e+01_rb,0.12665e+01_rb /) kbo(:, 3,18, 9) = (/ & & 0.86557e+00_rb,0.15883e+01_rb,0.17983e+01_rb,0.17854e+01_rb,0.13052e+01_rb /) kbo(:, 4,18, 9) = (/ & & 0.89549e+00_rb,0.16413e+01_rb,0.18633e+01_rb,0.18465e+01_rb,0.13420e+01_rb /) kbo(:, 5,18, 9) = (/ & & 0.92973e+00_rb,0.16952e+01_rb,0.19268e+01_rb,0.19102e+01_rb,0.13778e+01_rb /) kbo(:, 1,19, 9) = (/ & & 0.70038e+00_rb,0.13093e+01_rb,0.14779e+01_rb,0.14733e+01_rb,0.10709e+01_rb /) kbo(:, 2,19, 9) = (/ & & 0.72263e+00_rb,0.13577e+01_rb,0.15381e+01_rb,0.15268e+01_rb,0.11090e+01_rb /) kbo(:, 3,19, 9) = (/ & & 0.74709e+00_rb,0.14065e+01_rb,0.15995e+01_rb,0.15853e+01_rb,0.11457e+01_rb /) kbo(:, 4,19, 9) = (/ & & 0.77505e+00_rb,0.14562e+01_rb,0.16599e+01_rb,0.16467e+01_rb,0.11819e+01_rb /) kbo(:, 5,19, 9) = (/ & & 0.80778e+00_rb,0.15082e+01_rb,0.17205e+01_rb,0.17095e+01_rb,0.12170e+01_rb /) kbo(:, 1,20, 9) = (/ & & 0.60096e+00_rb,0.11549e+01_rb,0.13070e+01_rb,0.12966e+01_rb,0.93504e+00_rb /) kbo(:, 2,20, 9) = (/ & & 0.62117e+00_rb,0.11996e+01_rb,0.13644e+01_rb,0.13518e+01_rb,0.97145e+00_rb /) kbo(:, 3,20, 9) = (/ & & 0.64437e+00_rb,0.12456e+01_rb,0.14215e+01_rb,0.14105e+01_rb,0.10075e+01_rb /) kbo(:, 4,20, 9) = (/ & & 0.67172e+00_rb,0.12935e+01_rb,0.14792e+01_rb,0.14711e+01_rb,0.10425e+01_rb /) kbo(:, 5,20, 9) = (/ & & 0.70425e+00_rb,0.13447e+01_rb,0.15379e+01_rb,0.15320e+01_rb,0.10771e+01_rb /) kbo(:, 1,21, 9) = (/ & & 0.51409e+00_rb,0.10184e+01_rb,0.11562e+01_rb,0.11440e+01_rb,0.81589e+00_rb /) kbo(:, 2,21, 9) = (/ & & 0.53296e+00_rb,0.10604e+01_rb,0.12096e+01_rb,0.11991e+01_rb,0.85095e+00_rb /) kbo(:, 3,21, 9) = (/ & & 0.55527e+00_rb,0.11043e+01_rb,0.12638e+01_rb,0.12567e+01_rb,0.88570e+00_rb /) kbo(:, 4,21, 9) = (/ & & 0.58243e+00_rb,0.11512e+01_rb,0.13194e+01_rb,0.13151e+01_rb,0.92023e+00_rb /) kbo(:, 5,21, 9) = (/ & & 0.61501e+00_rb,0.12017e+01_rb,0.13771e+01_rb,0.13737e+01_rb,0.95470e+00_rb /) kbo(:, 1,22, 9) = (/ & & 0.44038e+00_rb,0.90186e+00_rb,0.10262e+01_rb,0.10153e+01_rb,0.71382e+00_rb /) kbo(:, 2,22, 9) = (/ & & 0.45853e+00_rb,0.94198e+00_rb,0.10770e+01_rb,0.10695e+01_rb,0.74736e+00_rb /) kbo(:, 3,22, 9) = (/ & & 0.48068e+00_rb,0.98449e+00_rb,0.11290e+01_rb,0.11248e+01_rb,0.78150e+00_rb /) kbo(:, 4,22, 9) = (/ & & 0.50812e+00_rb,0.10306e+01_rb,0.11833e+01_rb,0.11809e+01_rb,0.81518e+00_rb /) kbo(:, 5,22, 9) = (/ & & 0.54141e+00_rb,0.10817e+01_rb,0.12405e+01_rb,0.12383e+01_rb,0.84849e+00_rb /) kbo(:, 1,23, 9) = (/ & & 0.37767e+00_rb,0.80078e+00_rb,0.91306e+00_rb,0.90433e+00_rb,0.62612e+00_rb /) kbo(:, 2,23, 9) = (/ & & 0.39558e+00_rb,0.83957e+00_rb,0.96154e+00_rb,0.95658e+00_rb,0.65837e+00_rb /) kbo(:, 3,23, 9) = (/ & & 0.41794e+00_rb,0.88149e+00_rb,0.10123e+01_rb,0.10097e+01_rb,0.69117e+00_rb /) kbo(:, 4,23, 9) = (/ & & 0.44579e+00_rb,0.92784e+00_rb,0.10657e+01_rb,0.10643e+01_rb,0.72352e+00_rb /) kbo(:, 5,23, 9) = (/ & & 0.47930e+00_rb,0.97981e+00_rb,0.11229e+01_rb,0.11209e+01_rb,0.75697e+00_rb /) kbo(:, 1,24, 9) = (/ & & 0.32501e+00_rb,0.71314e+00_rb,0.81551e+00_rb,0.80817e+00_rb,0.55055e+00_rb /) kbo(:, 2,24, 9) = (/ & & 0.34301e+00_rb,0.75171e+00_rb,0.86229e+00_rb,0.85830e+00_rb,0.58144e+00_rb /) kbo(:, 3,24, 9) = (/ & & 0.36572e+00_rb,0.79385e+00_rb,0.91196e+00_rb,0.91014e+00_rb,0.61242e+00_rb /) kbo(:, 4,24, 9) = (/ & & 0.39391e+00_rb,0.84084e+00_rb,0.96525e+00_rb,0.96386e+00_rb,0.64468e+00_rb /) kbo(:, 5,24, 9) = (/ & & 0.42682e+00_rb,0.89378e+00_rb,0.10230e+01_rb,0.10202e+01_rb,0.67755e+00_rb /) kbo(:, 1,25, 9) = (/ & & 0.28120e+00_rb,0.63782e+00_rb,0.73197e+00_rb,0.72532e+00_rb,0.48624e+00_rb /) kbo(:, 2,25, 9) = (/ & & 0.29939e+00_rb,0.67672e+00_rb,0.77772e+00_rb,0.77395e+00_rb,0.51566e+00_rb /) kbo(:, 3,25, 9) = (/ & & 0.32259e+00_rb,0.71969e+00_rb,0.82682e+00_rb,0.82484e+00_rb,0.54562e+00_rb /) kbo(:, 4,25, 9) = (/ & & 0.35054e+00_rb,0.76785e+00_rb,0.88040e+00_rb,0.87836e+00_rb,0.57709e+00_rb /) kbo(:, 5,25, 9) = (/ & & 0.38231e+00_rb,0.82200e+00_rb,0.93896e+00_rb,0.93503e+00_rb,0.60997e+00_rb /) kbo(:, 1,26, 9) = (/ & & 0.24516e+00_rb,0.57415e+00_rb,0.66146e+00_rb,0.65501e+00_rb,0.43198e+00_rb /) kbo(:, 2,26, 9) = (/ & & 0.26380e+00_rb,0.61364e+00_rb,0.70651e+00_rb,0.70261e+00_rb,0.46025e+00_rb /) kbo(:, 3,26, 9) = (/ & & 0.28716e+00_rb,0.65790e+00_rb,0.75577e+00_rb,0.75300e+00_rb,0.48987e+00_rb /) kbo(:, 4,26, 9) = (/ & & 0.31438e+00_rb,0.70747e+00_rb,0.80990e+00_rb,0.80672e+00_rb,0.52086e+00_rb /) kbo(:, 5,26, 9) = (/ & & 0.34509e+00_rb,0.76331e+00_rb,0.86957e+00_rb,0.86437e+00_rb,0.55315e+00_rb /) kbo(:, 1,27, 9) = (/ & & 0.21544e+00_rb,0.52037e+00_rb,0.60144e+00_rb,0.59535e+00_rb,0.38600e+00_rb /) kbo(:, 2,27, 9) = (/ & & 0.23456e+00_rb,0.56067e+00_rb,0.64661e+00_rb,0.64229e+00_rb,0.41342e+00_rb /) kbo(:, 3,27, 9) = (/ & & 0.25766e+00_rb,0.60633e+00_rb,0.69633e+00_rb,0.69257e+00_rb,0.44235e+00_rb /) kbo(:, 4,27, 9) = (/ & & 0.28405e+00_rb,0.65751e+00_rb,0.75133e+00_rb,0.74692e+00_rb,0.47298e+00_rb /) kbo(:, 5,27, 9) = (/ & & 0.31370e+00_rb,0.71529e+00_rb,0.81234e+00_rb,0.80601e+00_rb,0.50534e+00_rb /) kbo(:, 1,28, 9) = (/ & & 0.19107e+00_rb,0.47529e+00_rb,0.55077e+00_rb,0.54503e+00_rb,0.34666e+00_rb /) kbo(:, 2,28, 9) = (/ & & 0.21041e+00_rb,0.51675e+00_rb,0.59653e+00_rb,0.59172e+00_rb,0.37350e+00_rb /) kbo(:, 3,28, 9) = (/ & & 0.23301e+00_rb,0.56364e+00_rb,0.64698e+00_rb,0.64221e+00_rb,0.40186e+00_rb /) kbo(:, 4,28, 9) = (/ & & 0.25866e+00_rb,0.61667e+00_rb,0.70320e+00_rb,0.69763e+00_rb,0.43205e+00_rb /) kbo(:, 5,28, 9) = (/ & & 0.28710e+00_rb,0.67650e+00_rb,0.76586e+00_rb,0.75834e+00_rb,0.46367e+00_rb /) kbo(:, 1,29, 9) = (/ & & 0.17112e+00_rb,0.43830e+00_rb,0.50881e+00_rb,0.50311e+00_rb,0.31371e+00_rb /) kbo(:, 2,29, 9) = (/ & & 0.19046e+00_rb,0.48081e+00_rb,0.55535e+00_rb,0.54996e+00_rb,0.34018e+00_rb /) kbo(:, 3,29, 9) = (/ & & 0.21264e+00_rb,0.52926e+00_rb,0.60692e+00_rb,0.60125e+00_rb,0.36829e+00_rb /) kbo(:, 4,29, 9) = (/ & & 0.23734e+00_rb,0.58428e+00_rb,0.66473e+00_rb,0.65816e+00_rb,0.39807e+00_rb /) kbo(:, 5,29, 9) = (/ & & 0.26483e+00_rb,0.64604e+00_rb,0.72961e+00_rb,0.72085e+00_rb,0.42916e+00_rb /) kbo(:, 1,30, 9) = (/ & & 0.15474e+00_rb,0.40804e+00_rb,0.47416e+00_rb,0.46844e+00_rb,0.28591e+00_rb /) kbo(:, 2,30, 9) = (/ & & 0.17385e+00_rb,0.45175e+00_rb,0.52179e+00_rb,0.51582e+00_rb,0.31208e+00_rb /) kbo(:, 3,30, 9) = (/ & & 0.19550e+00_rb,0.50197e+00_rb,0.57484e+00_rb,0.56852e+00_rb,0.33963e+00_rb /) kbo(:, 4,30, 9) = (/ & & 0.21942e+00_rb,0.55897e+00_rb,0.63459e+00_rb,0.62718e+00_rb,0.36926e+00_rb /) kbo(:, 5,30, 9) = (/ & & 0.24626e+00_rb,0.62254e+00_rb,0.70206e+00_rb,0.69222e+00_rb,0.40317e+00_rb /) kbo(:, 1,31, 9) = (/ & & 0.14123e+00_rb,0.38383e+00_rb,0.44627e+00_rb,0.44042e+00_rb,0.26282e+00_rb /) kbo(:, 2,31, 9) = (/ & & 0.16008e+00_rb,0.42905e+00_rb,0.49523e+00_rb,0.48891e+00_rb,0.28832e+00_rb /) kbo(:, 3,31, 9) = (/ & & 0.18115e+00_rb,0.48120e+00_rb,0.55018e+00_rb,0.54338e+00_rb,0.31669e+00_rb /) kbo(:, 4,31, 9) = (/ & & 0.20456e+00_rb,0.54014e+00_rb,0.61227e+00_rb,0.60422e+00_rb,0.34861e+00_rb /) kbo(:, 5,31, 9) = (/ & & 0.23090e+00_rb,0.60549e+00_rb,0.68253e+00_rb,0.67193e+00_rb,0.38334e+00_rb /) kbo(:, 1,32, 9) = (/ & & 0.13011e+00_rb,0.36494e+00_rb,0.42434e+00_rb,0.41840e+00_rb,0.24343e+00_rb /) kbo(:, 2,32, 9) = (/ & & 0.14859e+00_rb,0.41192e+00_rb,0.47502e+00_rb,0.46846e+00_rb,0.27034e+00_rb /) kbo(:, 3,32, 9) = (/ & & 0.16925e+00_rb,0.46604e+00_rb,0.53210e+00_rb,0.52502e+00_rb,0.30012e+00_rb /) kbo(:, 4,32, 9) = (/ & & 0.19229e+00_rb,0.52692e+00_rb,0.59693e+00_rb,0.58841e+00_rb,0.33258e+00_rb /) kbo(:, 5,32, 9) = (/ & & 0.21839e+00_rb,0.59419e+00_rb,0.67028e+00_rb,0.65920e+00_rb,0.36819e+00_rb /) kbo(:, 1,33, 9) = (/ & & 0.12092e+00_rb,0.35074e+00_rb,0.40776e+00_rb,0.40175e+00_rb,0.22934e+00_rb /) kbo(:, 2,33, 9) = (/ & & 0.13904e+00_rb,0.39967e+00_rb,0.46044e+00_rb,0.45383e+00_rb,0.25698e+00_rb /) kbo(:, 3,33, 9) = (/ & & 0.15944e+00_rb,0.45574e+00_rb,0.51998e+00_rb,0.51285e+00_rb,0.28727e+00_rb /) kbo(:, 4,33, 9) = (/ & & 0.18230e+00_rb,0.51859e+00_rb,0.58782e+00_rb,0.57914e+00_rb,0.32052e+00_rb /) kbo(:, 5,33, 9) = (/ & & 0.20843e+00_rb,0.58793e+00_rb,0.66452e+00_rb,0.65307e+00_rb,0.35723e+00_rb /) kbo(:, 1,34, 9) = (/ & & 0.11270e+00_rb,0.33906e+00_rb,0.39419e+00_rb,0.38828e+00_rb,0.21761e+00_rb /) kbo(:, 2,34, 9) = (/ & & 0.13054e+00_rb,0.38970e+00_rb,0.44887e+00_rb,0.44251e+00_rb,0.24563e+00_rb /) kbo(:, 3,34, 9) = (/ & & 0.15070e+00_rb,0.44751e+00_rb,0.51092e+00_rb,0.50399e+00_rb,0.27652e+00_rb /) kbo(:, 4,34, 9) = (/ & & 0.17349e+00_rb,0.51224e+00_rb,0.58169e+00_rb,0.57301e+00_rb,0.31064e+00_rb /) kbo(:, 5,34, 9) = (/ & & 0.19973e+00_rb,0.58363e+00_rb,0.66163e+00_rb,0.64989e+00_rb,0.34860e+00_rb /) kbo(:, 1,35, 9) = (/ & & 0.10431e+00_rb,0.32621e+00_rb,0.37969e+00_rb,0.37421e+00_rb,0.20589e+00_rb /) kbo(:, 2,35, 9) = (/ & & 0.12172e+00_rb,0.37794e+00_rb,0.43594e+00_rb,0.43005e+00_rb,0.23415e+00_rb /) kbo(:, 3,35, 9) = (/ & & 0.14155e+00_rb,0.43696e+00_rb,0.49993e+00_rb,0.49338e+00_rb,0.26546e+00_rb /) kbo(:, 4,35, 9) = (/ & & 0.16416e+00_rb,0.50303e+00_rb,0.57285e+00_rb,0.56442e+00_rb,0.30031e+00_rb /) kbo(:, 5,35, 9) = (/ & & 0.19033e+00_rb,0.57592e+00_rb,0.65509e+00_rb,0.64342e+00_rb,0.33926e+00_rb /) kbo(:, 1,36, 9) = (/ & & 0.95441e-01_rb,0.31093e+00_rb,0.36283e+00_rb,0.35795e+00_rb,0.19348e+00_rb /) kbo(:, 2,36, 9) = (/ & & 0.11226e+00_rb,0.36299e+00_rb,0.41996e+00_rb,0.41468e+00_rb,0.22173e+00_rb /) kbo(:, 3,36, 9) = (/ & & 0.13160e+00_rb,0.42251e+00_rb,0.48508e+00_rb,0.47906e+00_rb,0.25327e+00_rb /) kbo(:, 4,36, 9) = (/ & & 0.15379e+00_rb,0.48924e+00_rb,0.55909e+00_rb,0.55119e+00_rb,0.28853e+00_rb /) kbo(:, 5,36, 9) = (/ & & 0.17959e+00_rb,0.56298e+00_rb,0.64257e+00_rb,0.63136e+00_rb,0.32808e+00_rb /) kbo(:, 1,37, 9) = (/ & & 0.85477e-01_rb,0.29072e+00_rb,0.34067e+00_rb,0.33658e+00_rb,0.17886e+00_rb /) kbo(:, 2,37, 9) = (/ & & 0.10144e+00_rb,0.34200e+00_rb,0.39763e+00_rb,0.39300e+00_rb,0.20669e+00_rb /) kbo(:, 3,37, 9) = (/ & & 0.11996e+00_rb,0.40095e+00_rb,0.46252e+00_rb,0.45719e+00_rb,0.23796e+00_rb /) kbo(:, 4,37, 9) = (/ & & 0.14137e+00_rb,0.46732e+00_rb,0.53621e+00_rb,0.52913e+00_rb,0.27304e+00_rb /) kbo(:, 5,37, 9) = (/ & & 0.16629e+00_rb,0.54086e+00_rb,0.61939e+00_rb,0.60918e+00_rb,0.31246e+00_rb /) kbo(:, 1,38, 9) = (/ & & 0.76626e-01_rb,0.27223e+00_rb,0.32047e+00_rb,0.31724e+00_rb,0.16576e+00_rb /) kbo(:, 2,38, 9) = (/ & & 0.91774e-01_rb,0.32273e+00_rb,0.37721e+00_rb,0.37319e+00_rb,0.19315e+00_rb /) kbo(:, 3,38, 9) = (/ & & 0.10950e+00_rb,0.38104e+00_rb,0.44177e+00_rb,0.43708e+00_rb,0.22413e+00_rb /) kbo(:, 4,38, 9) = (/ & & 0.13015e+00_rb,0.44697e+00_rb,0.51498e+00_rb,0.50870e+00_rb,0.25903e+00_rb /) kbo(:, 5,38, 9) = (/ & & 0.15424e+00_rb,0.52018e+00_rb,0.59766e+00_rb,0.58842e+00_rb,0.29827e+00_rb /) kbo(:, 1,39, 9) = (/ & & 0.68857e-01_rb,0.25564e+00_rb,0.30247e+00_rb,0.30005e+00_rb,0.15419e+00_rb /) kbo(:, 2,39, 9) = (/ & & 0.83231e-01_rb,0.30541e+00_rb,0.35891e+00_rb,0.35551e+00_rb,0.18117e+00_rb /) kbo(:, 3,39, 9) = (/ & & 0.10022e+00_rb,0.36305e+00_rb,0.42306e+00_rb,0.41901e+00_rb,0.21190e+00_rb /) kbo(:, 4,39, 9) = (/ & & 0.12015e+00_rb,0.42854e+00_rb,0.49574e+00_rb,0.49023e+00_rb,0.24662e+00_rb /) kbo(:, 5,39, 9) = (/ & & 0.14353e+00_rb,0.50140e+00_rb,0.57784e+00_rb,0.56950e+00_rb,0.28564e+00_rb /) kbo(:, 1,40, 9) = (/ & & 0.60721e-01_rb,0.23607e+00_rb,0.28098e+00_rb,0.27949e+00_rb,0.14134e+00_rb /) kbo(:, 2,40, 9) = (/ & & 0.74142e-01_rb,0.28436e+00_rb,0.33629e+00_rb,0.33356e+00_rb,0.16758e+00_rb /) kbo(:, 3,40, 9) = (/ & & 0.90161e-01_rb,0.34051e+00_rb,0.39918e+00_rb,0.39576e+00_rb,0.19765e+00_rb /) kbo(:, 4,40, 9) = (/ & & 0.10909e+00_rb,0.40469e+00_rb,0.47035e+00_rb,0.46571e+00_rb,0.23173e+00_rb /) kbo(:, 5,40, 9) = (/ & & 0.13146e+00_rb,0.47643e+00_rb,0.55083e+00_rb,0.54364e+00_rb,0.27006e+00_rb /) kbo(:, 1,41, 9) = (/ & & 0.53403e-01_rb,0.21760e+00_rb,0.26060e+00_rb,0.26004e+00_rb,0.12944e+00_rb /) kbo(:, 2,41, 9) = (/ & & 0.65918e-01_rb,0.26438e+00_rb,0.31466e+00_rb,0.31265e+00_rb,0.15490e+00_rb /) kbo(:, 3,41, 9) = (/ & & 0.80936e-01_rb,0.31888e+00_rb,0.37609e+00_rb,0.37327e+00_rb,0.18421e+00_rb /) kbo(:, 4,41, 9) = (/ & & 0.98889e-01_rb,0.38155e+00_rb,0.44565e+00_rb,0.44176e+00_rb,0.21756e+00_rb /) kbo(:, 5,41, 9) = (/ & & 0.12024e+00_rb,0.45195e+00_rb,0.52424e+00_rb,0.51812e+00_rb,0.25511e+00_rb /) kbo(:, 1,42, 9) = (/ & & 0.46980e-01_rb,0.20072e+00_rb,0.24188e+00_rb,0.24222e+00_rb,0.11863e+00_rb /) kbo(:, 2,42, 9) = (/ & & 0.58572e-01_rb,0.24586e+00_rb,0.29443e+00_rb,0.29314e+00_rb,0.14330e+00_rb /) kbo(:, 3,42, 9) = (/ & & 0.72653e-01_rb,0.29875e+00_rb,0.35445e+00_rb,0.35212e+00_rb,0.17184e+00_rb /) kbo(:, 4,42, 9) = (/ & & 0.89663e-01_rb,0.35979e+00_rb,0.42236e+00_rb,0.41911e+00_rb,0.20443e+00_rb /) kbo(:, 5,42, 9) = (/ & & 0.11004e+00_rb,0.42873e+00_rb,0.49904e+00_rb,0.49389e+00_rb,0.24118e+00_rb /) kbo(:, 1,43, 9) = (/ & & 0.40748e-01_rb,0.18301e+00_rb,0.22189e+00_rb,0.22309e+00_rb,0.10752e+00_rb /) kbo(:, 2,43, 9) = (/ & & 0.51357e-01_rb,0.22603e+00_rb,0.27246e+00_rb,0.27198e+00_rb,0.13119e+00_rb /) kbo(:, 3,43, 9) = (/ & & 0.64381e-01_rb,0.27684e+00_rb,0.33058e+00_rb,0.32881e+00_rb,0.15875e+00_rb /) kbo(:, 4,43, 9) = (/ & & 0.80299e-01_rb,0.33572e+00_rb,0.39639e+00_rb,0.39376e+00_rb,0.19029e+00_rb /) kbo(:, 5,43, 9) = (/ & & 0.99551e-01_rb,0.40267e+00_rb,0.47065e+00_rb,0.46647e+00_rb,0.22598e+00_rb /) kbo(:, 1,44, 9) = (/ & & 0.35065e-01_rb,0.16586e+00_rb,0.20221e+00_rb,0.20417e+00_rb,0.96831e-01_rb /) kbo(:, 2,44, 9) = (/ & & 0.44686e-01_rb,0.20650e+00_rb,0.25055e+00_rb,0.25097e+00_rb,0.11942e+00_rb /) kbo(:, 3,44, 9) = (/ & & 0.56631e-01_rb,0.25500e+00_rb,0.30652e+00_rb,0.30540e+00_rb,0.14585e+00_rb /) kbo(:, 4,44, 9) = (/ & & 0.71442e-01_rb,0.31160e+00_rb,0.37021e+00_rb,0.36812e+00_rb,0.17630e+00_rb /) kbo(:, 5,44, 9) = (/ & & 0.89487e-01_rb,0.37611e+00_rb,0.44177e+00_rb,0.43843e+00_rb,0.21076e+00_rb /) kbo(:, 1,45, 9) = (/ & & 0.30099e-01_rb,0.15014e+00_rb,0.18399e+00_rb,0.18651e+00_rb,0.87081e-01_rb /) kbo(:, 2,45, 9) = (/ & & 0.38792e-01_rb,0.18842e+00_rb,0.23006e+00_rb,0.23134e+00_rb,0.10857e+00_rb /) kbo(:, 3,45, 9) = (/ & & 0.49706e-01_rb,0.23455e+00_rb,0.28377e+00_rb,0.28337e+00_rb,0.13385e+00_rb /) kbo(:, 4,45, 9) = (/ & & 0.63416e-01_rb,0.28880e+00_rb,0.34526e+00_rb,0.34365e+00_rb,0.16313e+00_rb /) kbo(:, 5,45, 9) = (/ & & 0.80320e-01_rb,0.35087e+00_rb,0.41430e+00_rb,0.41165e+00_rb,0.19641e+00_rb /) kbo(:, 1,46, 9) = (/ & & 0.25615e-01_rb,0.13501e+00_rb,0.16621e+00_rb,0.16909e+00_rb,0.77761e-01_rb /) kbo(:, 2,46, 9) = (/ & & 0.33396e-01_rb,0.17087e+00_rb,0.20986e+00_rb,0.21193e+00_rb,0.98069e-01_rb /) kbo(:, 3,46, 9) = (/ & & 0.43320e-01_rb,0.21451e+00_rb,0.26120e+00_rb,0.26156e+00_rb,0.12212e+00_rb /) kbo(:, 4,46, 9) = (/ & & 0.55857e-01_rb,0.26606e+00_rb,0.32018e+00_rb,0.31908e+00_rb,0.15012e+00_rb /) kbo(:, 5,46, 9) = (/ & & 0.71564e-01_rb,0.32546e+00_rb,0.38657e+00_rb,0.38454e+00_rb,0.18211e+00_rb /) kbo(:, 1,47, 9) = (/ & & 0.21470e-01_rb,0.11984e+00_rb,0.14813e+00_rb,0.15126e+00_rb,0.68564e-01_rb /) kbo(:, 2,47, 9) = (/ & & 0.28327e-01_rb,0.15313e+00_rb,0.18908e+00_rb,0.19182e+00_rb,0.87445e-01_rb /) kbo(:, 3,47, 9) = (/ & & 0.37186e-01_rb,0.19381e+00_rb,0.23756e+00_rb,0.23882e+00_rb,0.11016e+00_rb /) kbo(:, 4,47, 9) = (/ & & 0.48514e-01_rb,0.24239e+00_rb,0.29373e+00_rb,0.29331e+00_rb,0.13670e+00_rb /) kbo(:, 5,47, 9) = (/ & & 0.62915e-01_rb,0.29879e+00_rb,0.35729e+00_rb,0.35580e+00_rb,0.16718e+00_rb /) kbo(:, 1,48, 9) = (/ & & 0.17915e-01_rb,0.10594e+00_rb,0.13153e+00_rb,0.13471e+00_rb,0.60247e-01_rb /) kbo(:, 2,48, 9) = (/ & & 0.23922e-01_rb,0.13687e+00_rb,0.16982e+00_rb,0.17297e+00_rb,0.77702e-01_rb /) kbo(:, 3,48, 9) = (/ & & 0.31789e-01_rb,0.17464e+00_rb,0.21543e+00_rb,0.21754e+00_rb,0.99032e-01_rb /) kbo(:, 4,48, 9) = (/ & & 0.41975e-01_rb,0.22024e+00_rb,0.26872e+00_rb,0.26906e+00_rb,0.12414e+00_rb /) kbo(:, 5,48, 9) = (/ & & 0.55099e-01_rb,0.27366e+00_rb,0.32950e+00_rb,0.32848e+00_rb,0.15313e+00_rb /) kbo(:, 1,49, 9) = (/ & & 0.14883e-01_rb,0.93224e-01_rb,0.11635e+00_rb,0.11939e+00_rb,0.52749e-01_rb /) kbo(:, 2,49, 9) = (/ & & 0.20112e-01_rb,0.12194e+00_rb,0.15191e+00_rb,0.15532e+00_rb,0.68811e-01_rb /) kbo(:, 3,49, 9) = (/ & & 0.27052e-01_rb,0.15700e+00_rb,0.19473e+00_rb,0.19754e+00_rb,0.88692e-01_rb /) kbo(:, 4,49, 9) = (/ & & 0.36170e-01_rb,0.19958e+00_rb,0.24512e+00_rb,0.24626e+00_rb,0.11239e+00_rb /) kbo(:, 5,49, 9) = (/ & & 0.48053e-01_rb,0.24998e+00_rb,0.30305e+00_rb,0.30260e+00_rb,0.13992e+00_rb /) kbo(:, 1,50, 9) = (/ & & 0.12401e-01_rb,0.82224e-01_rb,0.10323e+00_rb,0.10603e+00_rb,0.46388e-01_rb /) kbo(:, 2,50, 9) = (/ & & 0.16961e-01_rb,0.10896e+00_rb,0.13629e+00_rb,0.13978e+00_rb,0.61130e-01_rb /) kbo(:, 3,50, 9) = (/ & & 0.23097e-01_rb,0.14168e+00_rb,0.17654e+00_rb,0.17982e+00_rb,0.79649e-01_rb /) kbo(:, 4,50, 9) = (/ & & 0.31266e-01_rb,0.18143e+00_rb,0.22418e+00_rb,0.22611e+00_rb,0.10201e+00_rb /) kbo(:, 5,50, 9) = (/ & & 0.42049e-01_rb,0.22900e+00_rb,0.27939e+00_rb,0.27959e+00_rb,0.12818e+00_rb /) kbo(:, 1,51, 9) = (/ & & 0.10311e-01_rb,0.72407e-01_rb,0.91543e-01_rb,0.94015e-01_rb,0.40739e-01_rb /) kbo(:, 2,51, 9) = (/ & & 0.14299e-01_rb,0.97301e-01_rb,0.12223e+00_rb,0.12566e+00_rb,0.54336e-01_rb /) kbo(:, 3,51, 9) = (/ & & 0.19709e-01_rb,0.12788e+00_rb,0.16001e+00_rb,0.16354e+00_rb,0.71514e-01_rb /) kbo(:, 4,51, 9) = (/ & & 0.27010e-01_rb,0.16504e+00_rb,0.20502e+00_rb,0.20766e+00_rb,0.92576e-01_rb /) kbo(:, 5,51, 9) = (/ & & 0.36820e-01_rb,0.20996e+00_rb,0.25769e+00_rb,0.25854e+00_rb,0.11743e+00_rb /) kbo(:, 1,52, 9) = (/ & & 0.85238e-02_rb,0.63439e-01_rb,0.80796e-01_rb,0.82950e-01_rb,0.35726e-01_rb /) kbo(:, 2,52, 9) = (/ & & 0.12004e-01_rb,0.86535e-01_rb,0.10929e+00_rb,0.11252e+00_rb,0.48201e-01_rb /) kbo(:, 3,52, 9) = (/ & & 0.16756e-01_rb,0.11511e+00_rb,0.14456e+00_rb,0.14824e+00_rb,0.64036e-01_rb /) kbo(:, 4,52, 9) = (/ & & 0.23247e-01_rb,0.14984e+00_rb,0.18701e+00_rb,0.19020e+00_rb,0.83745e-01_rb /) kbo(:, 5,52, 9) = (/ & & 0.32110e-01_rb,0.19199e+00_rb,0.23699e+00_rb,0.23857e+00_rb,0.10729e+00_rb /) kbo(:, 1,53, 9) = (/ & & 0.70021e-02_rb,0.55279e-01_rb,0.70908e-01_rb,0.72826e-01_rb,0.31267e-01_rb /) kbo(:, 2,53, 9) = (/ & & 0.10022e-01_rb,0.76605e-01_rb,0.97337e-01_rb,0.10026e+00_rb,0.42555e-01_rb /) kbo(:, 3,53, 9) = (/ & & 0.14186e-01_rb,0.10324e+00_rb,0.13015e+00_rb,0.13384e+00_rb,0.57176e-01_rb /) kbo(:, 4,53, 9) = (/ & & 0.19924e-01_rb,0.13568e+00_rb,0.17006e+00_rb,0.17360e+00_rb,0.75508e-01_rb /) kbo(:, 5,53, 9) = (/ & & 0.27873e-01_rb,0.17508e+00_rb,0.21734e+00_rb,0.21965e+00_rb,0.97730e-01_rb /) kbo(:, 1,54, 9) = (/ & & 0.57827e-02_rb,0.48416e-01_rb,0.62508e-01_rb,0.64310e-01_rb,0.27618e-01_rb /) kbo(:, 2,54, 9) = (/ & & 0.84043e-02_rb,0.68151e-01_rb,0.87167e-01_rb,0.89761e-01_rb,0.37874e-01_rb /) kbo(:, 3,54, 9) = (/ & & 0.12088e-01_rb,0.93069e-01_rb,0.11782e+00_rb,0.12138e+00_rb,0.51418e-01_rb /) kbo(:, 4,54, 9) = (/ & & 0.17188e-01_rb,0.12356e+00_rb,0.15542e+00_rb,0.15914e+00_rb,0.68446e-01_rb /) kbo(:, 5,54, 9) = (/ & & 0.24356e-01_rb,0.16057e+00_rb,0.20027e+00_rb,0.20317e+00_rb,0.89427e-01_rb /) kbo(:, 1,55, 9) = (/ & & 0.47829e-02_rb,0.42445e-01_rb,0.55108e-01_rb,0.56879e-01_rb,0.24415e-01_rb /) kbo(:, 2,55, 9) = (/ & & 0.70515e-02_rb,0.60688e-01_rb,0.78130e-01_rb,0.80430e-01_rb,0.33849e-01_rb /) kbo(:, 3,55, 9) = (/ & & 0.10307e-01_rb,0.83954e-01_rb,0.10678e+00_rb,0.11014e+00_rb,0.46263e-01_rb /) kbo(:, 4,55, 9) = (/ & & 0.14854e-01_rb,0.11267e+00_rb,0.14216e+00_rb,0.14598e+00_rb,0.62158e-01_rb /) kbo(:, 5,55, 9) = (/ & & 0.21317e-01_rb,0.14754e+00_rb,0.18474e+00_rb,0.18809e+00_rb,0.81914e-01_rb /) kbo(:, 1,56, 9) = (/ & & 0.39349e-02_rb,0.37013e-01_rb,0.48295e-01_rb,0.50091e-01_rb,0.21529e-01_rb /) kbo(:, 2,56, 9) = (/ & & 0.58808e-02_rb,0.53785e-01_rb,0.69695e-01_rb,0.71776e-01_rb,0.30144e-01_rb /) kbo(:, 3,56, 9) = (/ & & 0.87470e-02_rb,0.75476e-01_rb,0.96519e-01_rb,0.99590e-01_rb,0.41605e-01_rb /) kbo(:, 4,56, 9) = (/ & & 0.12799e-01_rb,0.10247e+00_rb,0.12972e+00_rb,0.13354e+00_rb,0.56396e-01_rb /) kbo(:, 5,56, 9) = (/ & & 0.18597e-01_rb,0.13533e+00_rb,0.17007e+00_rb,0.17370e+00_rb,0.74854e-01_rb /) kbo(:, 1,57, 9) = (/ & & 0.32237e-02_rb,0.32103e-01_rb,0.42068e-01_rb,0.43893e-01_rb,0.18889e-01_rb /) kbo(:, 2,57, 9) = (/ & & 0.48776e-02_rb,0.47453e-01_rb,0.61873e-01_rb,0.63812e-01_rb,0.26899e-01_rb /) kbo(:, 3,57, 9) = (/ & & 0.73816e-02_rb,0.67586e-01_rb,0.86956e-01_rb,0.89701e-01_rb,0.37405e-01_rb /) kbo(:, 4,57, 9) = (/ & & 0.10984e-01_rb,0.92907e-01_rb,0.11806e+00_rb,0.12175e+00_rb,0.51002e-01_rb /) kbo(:, 5,57, 9) = (/ & & 0.16168e-01_rb,0.12385e+00_rb,0.15617e+00_rb,0.15996e+00_rb,0.68253e-01_rb /) kbo(:, 1,58, 9) = (/ & & 0.26462e-02_rb,0.27879e-01_rb,0.36685e-01_rb,0.38484e-01_rb,0.16601e-01_rb /) kbo(:, 2,58, 9) = (/ & & 0.40522e-02_rb,0.41929e-01_rb,0.54967e-01_rb,0.56858e-01_rb,0.24050e-01_rb /) kbo(:, 3,58, 9) = (/ & & 0.62364e-02_rb,0.60609e-01_rb,0.78458e-01_rb,0.80919e-01_rb,0.33657e-01_rb /) kbo(:, 4,58, 9) = (/ & & 0.94512e-02_rb,0.84383e-01_rb,0.10769e+00_rb,0.11117e+00_rb,0.46338e-01_rb /) kbo(:, 5,58, 9) = (/ & & 0.14101e-01_rb,0.11363e+00_rb,0.14367e+00_rb,0.14755e+00_rb,0.62487e-01_rb /) kbo(:, 1,59, 9) = (/ & & 0.23375e-02_rb,0.26104e-01_rb,0.34483e-01_rb,0.36273e-01_rb,0.15643e-01_rb /) kbo(:, 2,59, 9) = (/ & & 0.36353e-02_rb,0.39676e-01_rb,0.52191e-01_rb,0.54098e-01_rb,0.22879e-01_rb /) kbo(:, 3,59, 9) = (/ & & 0.56781e-02_rb,0.57810e-01_rb,0.75085e-01_rb,0.77452e-01_rb,0.32253e-01_rb /) kbo(:, 4,59, 9) = (/ & & 0.87345e-02_rb,0.80998e-01_rb,0.10362e+00_rb,0.10701e+00_rb,0.44587e-01_rb /) kbo(:, 5,59, 9) = (/ & & 0.13202e-01_rb,0.10960e+00_rb,0.13878e+00_rb,0.14268e+00_rb,0.60173e-01_rb /) kbo(:, 1,13,10) = (/ & & 0.68082e+01_rb,0.10647e+02_rb,0.12044e+02_rb,0.12092e+02_rb,0.85097e+01_rb /) kbo(:, 2,13,10) = (/ & & 0.67019e+01_rb,0.10585e+02_rb,0.12055e+02_rb,0.12198e+02_rb,0.87119e+01_rb /) kbo(:, 3,13,10) = (/ & & 0.67137e+01_rb,0.10536e+02_rb,0.12063e+02_rb,0.12312e+02_rb,0.88714e+01_rb /) kbo(:, 4,13,10) = (/ & & 0.68713e+01_rb,0.10489e+02_rb,0.12087e+02_rb,0.12413e+02_rb,0.90170e+01_rb /) kbo(:, 5,13,10) = (/ & & 0.71185e+01_rb,0.10479e+02_rb,0.12121e+02_rb,0.12479e+02_rb,0.91853e+01_rb /) kbo(:, 1,14,10) = (/ & & 0.58410e+01_rb,0.94018e+01_rb,0.10846e+02_rb,0.11035e+02_rb,0.76674e+01_rb /) kbo(:, 2,14,10) = (/ & & 0.58467e+01_rb,0.93735e+01_rb,0.10875e+02_rb,0.11156e+02_rb,0.78256e+01_rb /) kbo(:, 3,14,10) = (/ & & 0.59984e+01_rb,0.93438e+01_rb,0.10908e+02_rb,0.11271e+02_rb,0.79426e+01_rb /) kbo(:, 4,14,10) = (/ & & 0.62373e+01_rb,0.93563e+01_rb,0.10953e+02_rb,0.11364e+02_rb,0.81071e+01_rb /) kbo(:, 5,14,10) = (/ & & 0.65135e+01_rb,0.94809e+01_rb,0.10997e+02_rb,0.11429e+02_rb,0.82861e+01_rb /) kbo(:, 1,15,10) = (/ & & 0.50343e+01_rb,0.83265e+01_rb,0.97137e+01_rb,0.99946e+01_rb,0.69930e+01_rb /) kbo(:, 2,15,10) = (/ & & 0.51660e+01_rb,0.83107e+01_rb,0.97594e+01_rb,0.10123e+02_rb,0.71240e+01_rb /) kbo(:, 3,15,10) = (/ & & 0.53903e+01_rb,0.83316e+01_rb,0.98216e+01_rb,0.10239e+02_rb,0.72628e+01_rb /) kbo(:, 4,15,10) = (/ & & 0.56415e+01_rb,0.84645e+01_rb,0.98856e+01_rb,0.10324e+02_rb,0.74229e+01_rb /) kbo(:, 5,15,10) = (/ & & 0.58842e+01_rb,0.87055e+01_rb,0.99631e+01_rb,0.10400e+02_rb,0.75908e+01_rb /) kbo(:, 1,16,10) = (/ & & 0.44015e+01_rb,0.74103e+01_rb,0.86530e+01_rb,0.90071e+01_rb,0.63301e+01_rb /) kbo(:, 2,16,10) = (/ & & 0.45955e+01_rb,0.74391e+01_rb,0.87237e+01_rb,0.91359e+01_rb,0.64715e+01_rb /) kbo(:, 3,16,10) = (/ & & 0.48140e+01_rb,0.75662e+01_rb,0.88065e+01_rb,0.92379e+01_rb,0.66426e+01_rb /) kbo(:, 4,16,10) = (/ & & 0.50318e+01_rb,0.77981e+01_rb,0.89101e+01_rb,0.93283e+01_rb,0.68095e+01_rb /) kbo(:, 5,16,10) = (/ & & 0.52436e+01_rb,0.80914e+01_rb,0.90522e+01_rb,0.94292e+01_rb,0.69717e+01_rb /) kbo(:, 1,17,10) = (/ & & 0.38938e+01_rb,0.65976e+01_rb,0.77151e+01_rb,0.80672e+01_rb,0.57119e+01_rb /) kbo(:, 2,17,10) = (/ & & 0.40781e+01_rb,0.67171e+01_rb,0.78068e+01_rb,0.81879e+01_rb,0.58706e+01_rb /) kbo(:, 3,17,10) = (/ & & 0.42641e+01_rb,0.69435e+01_rb,0.79191e+01_rb,0.82934e+01_rb,0.60296e+01_rb /) kbo(:, 4,17,10) = (/ & & 0.44480e+01_rb,0.72305e+01_rb,0.80762e+01_rb,0.84106e+01_rb,0.62012e+01_rb /) kbo(:, 5,17,10) = (/ & & 0.46308e+01_rb,0.75237e+01_rb,0.83037e+01_rb,0.85418e+01_rb,0.63775e+01_rb /) kbo(:, 1,18,10) = (/ & & 0.34407e+01_rb,0.58963e+01_rb,0.69001e+01_rb,0.71891e+01_rb,0.51366e+01_rb /) kbo(:, 2,18,10) = (/ & & 0.35988e+01_rb,0.61068e+01_rb,0.70120e+01_rb,0.73051e+01_rb,0.52912e+01_rb /) kbo(:, 3,18,10) = (/ & & 0.37577e+01_rb,0.63853e+01_rb,0.71752e+01_rb,0.74336e+01_rb,0.54376e+01_rb /) kbo(:, 4,18,10) = (/ & & 0.39161e+01_rb,0.66726e+01_rb,0.74020e+01_rb,0.75773e+01_rb,0.56097e+01_rb /) kbo(:, 5,18,10) = (/ & & 0.40711e+01_rb,0.69480e+01_rb,0.76793e+01_rb,0.77395e+01_rb,0.57994e+01_rb /) kbo(:, 1,19,10) = (/ & & 0.30222e+01_rb,0.53136e+01_rb,0.61695e+01_rb,0.63815e+01_rb,0.46248e+01_rb /) kbo(:, 2,19,10) = (/ & & 0.31568e+01_rb,0.55745e+01_rb,0.63303e+01_rb,0.65186e+01_rb,0.47653e+01_rb /) kbo(:, 3,19,10) = (/ & & 0.32936e+01_rb,0.58515e+01_rb,0.65536e+01_rb,0.66691e+01_rb,0.49110e+01_rb /) kbo(:, 4,19,10) = (/ & & 0.34320e+01_rb,0.61200e+01_rb,0.68298e+01_rb,0.68431e+01_rb,0.50671e+01_rb /) kbo(:, 5,19,10) = (/ & & 0.35717e+01_rb,0.63810e+01_rb,0.71341e+01_rb,0.70485e+01_rb,0.52482e+01_rb /) kbo(:, 1,20,10) = (/ & & 0.26646e+01_rb,0.48341e+01_rb,0.55294e+01_rb,0.56818e+01_rb,0.41697e+01_rb /) kbo(:, 2,20,10) = (/ & & 0.27751e+01_rb,0.50933e+01_rb,0.57470e+01_rb,0.58376e+01_rb,0.43064e+01_rb /) kbo(:, 3,20,10) = (/ & & 0.28895e+01_rb,0.53454e+01_rb,0.60203e+01_rb,0.60166e+01_rb,0.44569e+01_rb /) kbo(:, 4,20,10) = (/ & & 0.30071e+01_rb,0.55962e+01_rb,0.63194e+01_rb,0.62235e+01_rb,0.46038e+01_rb /) kbo(:, 5,20,10) = (/ & & 0.31278e+01_rb,0.58505e+01_rb,0.66184e+01_rb,0.64780e+01_rb,0.47569e+01_rb /) kbo(:, 1,21,10) = (/ & & 0.23601e+01_rb,0.44020e+01_rb,0.49905e+01_rb,0.50776e+01_rb,0.37561e+01_rb /) kbo(:, 2,21,10) = (/ & & 0.24527e+01_rb,0.46408e+01_rb,0.52514e+01_rb,0.52563e+01_rb,0.39021e+01_rb /) kbo(:, 3,21,10) = (/ & & 0.25482e+01_rb,0.48775e+01_rb,0.55424e+01_rb,0.54642e+01_rb,0.40531e+01_rb /) kbo(:, 4,21,10) = (/ & & 0.26469e+01_rb,0.51183e+01_rb,0.58389e+01_rb,0.57185e+01_rb,0.42025e+01_rb /) kbo(:, 5,21,10) = (/ & & 0.27509e+01_rb,0.53673e+01_rb,0.61341e+01_rb,0.60025e+01_rb,0.43477e+01_rb /) kbo(:, 1,22,10) = (/ & & 0.20933e+01_rb,0.40130e+01_rb,0.45530e+01_rb,0.45722e+01_rb,0.33997e+01_rb /) kbo(:, 2,22,10) = (/ & & 0.21774e+01_rb,0.42389e+01_rb,0.48339e+01_rb,0.47801e+01_rb,0.35503e+01_rb /) kbo(:, 3,22,10) = (/ & & 0.22636e+01_rb,0.44688e+01_rb,0.51214e+01_rb,0.50286e+01_rb,0.36916e+01_rb /) kbo(:, 4,22,10) = (/ & & 0.23497e+01_rb,0.47085e+01_rb,0.54112e+01_rb,0.53109e+01_rb,0.38464e+01_rb /) kbo(:, 5,22,10) = (/ & & 0.24400e+01_rb,0.49544e+01_rb,0.57104e+01_rb,0.56159e+01_rb,0.40026e+01_rb /) kbo(:, 1,23,10) = (/ & & 0.18483e+01_rb,0.36572e+01_rb,0.41816e+01_rb,0.41476e+01_rb,0.30773e+01_rb /) kbo(:, 2,23,10) = (/ & & 0.19296e+01_rb,0.38779e+01_rb,0.44582e+01_rb,0.43906e+01_rb,0.32324e+01_rb /) kbo(:, 3,23,10) = (/ & & 0.20105e+01_rb,0.41090e+01_rb,0.47398e+01_rb,0.46676e+01_rb,0.33790e+01_rb /) kbo(:, 4,23,10) = (/ & & 0.20922e+01_rb,0.43460e+01_rb,0.50319e+01_rb,0.49689e+01_rb,0.35381e+01_rb /) kbo(:, 5,23,10) = (/ & & 0.21812e+01_rb,0.45942e+01_rb,0.53379e+01_rb,0.52907e+01_rb,0.36872e+01_rb /) kbo(:, 1,24,10) = (/ & & 0.16291e+01_rb,0.33480e+01_rb,0.38514e+01_rb,0.38051e+01_rb,0.27880e+01_rb /) kbo(:, 2,24,10) = (/ & & 0.17053e+01_rb,0.35635e+01_rb,0.41240e+01_rb,0.40716e+01_rb,0.29407e+01_rb /) kbo(:, 3,24,10) = (/ & & 0.17841e+01_rb,0.37930e+01_rb,0.44076e+01_rb,0.43668e+01_rb,0.31035e+01_rb /) kbo(:, 4,24,10) = (/ & & 0.18670e+01_rb,0.40349e+01_rb,0.47044e+01_rb,0.46831e+01_rb,0.32549e+01_rb /) kbo(:, 5,24,10) = (/ & & 0.19687e+01_rb,0.42837e+01_rb,0.50178e+01_rb,0.50123e+01_rb,0.34093e+01_rb /) kbo(:, 1,25,10) = (/ & & 0.14342e+01_rb,0.30870e+01_rb,0.35616e+01_rb,0.35262e+01_rb,0.25309e+01_rb /) kbo(:, 2,25,10) = (/ & & 0.15073e+01_rb,0.32988e+01_rb,0.38348e+01_rb,0.38083e+01_rb,0.26935e+01_rb /) kbo(:, 3,25,10) = (/ & & 0.15855e+01_rb,0.35267e+01_rb,0.41227e+01_rb,0.41156e+01_rb,0.28544e+01_rb /) kbo(:, 4,25,10) = (/ & & 0.16765e+01_rb,0.37674e+01_rb,0.44270e+01_rb,0.44387e+01_rb,0.30112e+01_rb /) kbo(:, 5,25,10) = (/ & & 0.17969e+01_rb,0.40179e+01_rb,0.47482e+01_rb,0.47807e+01_rb,0.31986e+01_rb /) kbo(:, 1,26,10) = (/ & & 0.12644e+01_rb,0.28734e+01_rb,0.33145e+01_rb,0.33023e+01_rb,0.23207e+01_rb /) kbo(:, 2,26,10) = (/ & & 0.13357e+01_rb,0.30796e+01_rb,0.35932e+01_rb,0.35956e+01_rb,0.24777e+01_rb /) kbo(:, 3,26,10) = (/ & & 0.14174e+01_rb,0.33035e+01_rb,0.38863e+01_rb,0.39081e+01_rb,0.26420e+01_rb /) kbo(:, 4,26,10) = (/ & & 0.15234e+01_rb,0.35430e+01_rb,0.41997e+01_rb,0.42431e+01_rb,0.28241e+01_rb /) kbo(:, 5,26,10) = (/ & & 0.16603e+01_rb,0.37959e+01_rb,0.45341e+01_rb,0.45996e+01_rb,0.30401e+01_rb /) kbo(:, 1,27,10) = (/ & & 0.11180e+01_rb,0.26923e+01_rb,0.31092e+01_rb,0.31181e+01_rb,0.21320e+01_rb /) kbo(:, 2,27,10) = (/ & & 0.11893e+01_rb,0.28981e+01_rb,0.33903e+01_rb,0.34176e+01_rb,0.22961e+01_rb /) kbo(:, 3,27,10) = (/ & & 0.12805e+01_rb,0.31184e+01_rb,0.36930e+01_rb,0.37398e+01_rb,0.24775e+01_rb /) kbo(:, 4,27,10) = (/ & & 0.14017e+01_rb,0.33577e+01_rb,0.40190e+01_rb,0.40909e+01_rb,0.26920e+01_rb /) kbo(:, 5,27,10) = (/ & & 0.15494e+01_rb,0.36148e+01_rb,0.43685e+01_rb,0.44626e+01_rb,0.29161e+01_rb /) kbo(:, 1,28,10) = (/ & & 0.99411e+00_rb,0.25422e+01_rb,0.29403e+01_rb,0.29678e+01_rb,0.19736e+01_rb /) kbo(:, 2,28,10) = (/ & & 0.10693e+01_rb,0.27468e+01_rb,0.32278e+01_rb,0.32747e+01_rb,0.21580e+01_rb /) kbo(:, 3,28,10) = (/ & & 0.11727e+01_rb,0.29677e+01_rb,0.35410e+01_rb,0.36136e+01_rb,0.23718e+01_rb /) kbo(:, 4,28,10) = (/ & & 0.13040e+01_rb,0.32092e+01_rb,0.38816e+01_rb,0.39808e+01_rb,0.25959e+01_rb /) kbo(:, 5,28,10) = (/ & & 0.14604e+01_rb,0.34721e+01_rb,0.42472e+01_rb,0.43708e+01_rb,0.28373e+01_rb /) kbo(:, 1,29,10) = (/ & & 0.89294e+00_rb,0.24188e+01_rb,0.28058e+01_rb,0.28515e+01_rb,0.18636e+01_rb /) kbo(:, 2,29,10) = (/ & & 0.97544e+00_rb,0.26259e+01_rb,0.31039e+01_rb,0.31712e+01_rb,0.20699e+01_rb /) kbo(:, 3,29,10) = (/ & & 0.10880e+01_rb,0.28493e+01_rb,0.34305e+01_rb,0.35278e+01_rb,0.22886e+01_rb /) kbo(:, 4,29,10) = (/ & & 0.12277e+01_rb,0.30947e+01_rb,0.37862e+01_rb,0.39124e+01_rb,0.25256e+01_rb /) kbo(:, 5,29,10) = (/ & & 0.13896e+01_rb,0.33676e+01_rb,0.41685e+01_rb,0.43225e+01_rb,0.27864e+01_rb /) kbo(:, 1,30,10) = (/ & & 0.81230e+00_rb,0.23190e+01_rb,0.27059e+01_rb,0.27666e+01_rb,0.17929e+01_rb /) kbo(:, 2,30,10) = (/ & & 0.90285e+00_rb,0.25306e+01_rb,0.30146e+01_rb,0.31051e+01_rb,0.20049e+01_rb /) kbo(:, 3,30,10) = (/ & & 0.10223e+01_rb,0.27572e+01_rb,0.33560e+01_rb,0.34779e+01_rb,0.22359e+01_rb /) kbo(:, 4,30,10) = (/ & & 0.11675e+01_rb,0.30101e+01_rb,0.37284e+01_rb,0.38827e+01_rb,0.24866e+01_rb /) kbo(:, 5,30,10) = (/ & & 0.13337e+01_rb,0.32968e+01_rb,0.41265e+01_rb,0.43099e+01_rb,0.27369e+01_rb /) kbo(:, 1,31,10) = (/ & & 0.75110e+00_rb,0.22419e+01_rb,0.26379e+01_rb,0.27157e+01_rb,0.17433e+01_rb /) kbo(:, 2,31,10) = (/ & & 0.84809e+00_rb,0.24579e+01_rb,0.29592e+01_rb,0.30730e+01_rb,0.19665e+01_rb /) kbo(:, 3,31,10) = (/ & & 0.97252e+00_rb,0.26914e+01_rb,0.33168e+01_rb,0.34645e+01_rb,0.22008e+01_rb /) kbo(:, 4,31,10) = (/ & & 0.11219e+01_rb,0.29550e+01_rb,0.37069e+01_rb,0.38878e+01_rb,0.24456e+01_rb /) kbo(:, 5,31,10) = (/ & & 0.12926e+01_rb,0.32597e+01_rb,0.41224e+01_rb,0.43304e+01_rb,0.27059e+01_rb /) kbo(:, 1,32,10) = (/ & & 0.70499e+00_rb,0.21846e+01_rb,0.25985e+01_rb,0.26966e+01_rb,0.17143e+01_rb /) kbo(:, 2,32,10) = (/ & & 0.80768e+00_rb,0.24067e+01_rb,0.29356e+01_rb,0.30726e+01_rb,0.19337e+01_rb /) kbo(:, 3,32,10) = (/ & & 0.93561e+00_rb,0.26499e+01_rb,0.33107e+01_rb,0.34825e+01_rb,0.21698e+01_rb /) kbo(:, 4,32,10) = (/ & & 0.10894e+01_rb,0.29281e+01_rb,0.37179e+01_rb,0.39220e+01_rb,0.24264e+01_rb /) kbo(:, 5,32,10) = (/ & & 0.12637e+01_rb,0.32525e+01_rb,0.41500e+01_rb,0.43764e+01_rb,0.26992e+01_rb /) kbo(:, 1,33,10) = (/ & & 0.67118e+00_rb,0.21457e+01_rb,0.25854e+01_rb,0.27057e+01_rb,0.16861e+01_rb /) kbo(:, 2,33,10) = (/ & & 0.77795e+00_rb,0.23758e+01_rb,0.29404e+01_rb,0.30997e+01_rb,0.19111e+01_rb /) kbo(:, 3,33,10) = (/ & & 0.91001e+00_rb,0.26325e+01_rb,0.33337e+01_rb,0.35269e+01_rb,0.21600e+01_rb /) kbo(:, 4,33,10) = (/ & & 0.10674e+01_rb,0.29280e+01_rb,0.37566e+01_rb,0.39787e+01_rb,0.24291e+01_rb /) kbo(:, 5,33,10) = (/ & & 0.12452e+01_rb,0.32737e+01_rb,0.42022e+01_rb,0.44428e+01_rb,0.27130e+01_rb /) kbo(:, 1,34,10) = (/ & & 0.64347e+00_rb,0.21163e+01_rb,0.25854e+01_rb,0.27260e+01_rb,0.16632e+01_rb /) kbo(:, 2,34,10) = (/ & & 0.75313e+00_rb,0.23563e+01_rb,0.29579e+01_rb,0.31342e+01_rb,0.18999e+01_rb /) kbo(:, 3,34,10) = (/ & & 0.88833e+00_rb,0.26269e+01_rb,0.33662e+01_rb,0.35749e+01_rb,0.21605e+01_rb /) kbo(:, 4,34,10) = (/ & & 0.10487e+01_rb,0.29401e+01_rb,0.38003e+01_rb,0.40358e+01_rb,0.24405e+01_rb /) kbo(:, 5,34,10) = (/ & & 0.12301e+01_rb,0.33056e+01_rb,0.42553e+01_rb,0.45073e+01_rb,0.27333e+01_rb /) kbo(:, 1,35,10) = (/ & & 0.61333e+00_rb,0.20804e+01_rb,0.25725e+01_rb,0.27255e+01_rb,0.16337e+01_rb /) kbo(:, 2,35,10) = (/ & & 0.72416e+00_rb,0.23301e+01_rb,0.29566e+01_rb,0.31440e+01_rb,0.18805e+01_rb /) kbo(:, 3,35,10) = (/ & & 0.85987e+00_rb,0.26111e+01_rb,0.33740e+01_rb,0.35934e+01_rb,0.21502e+01_rb /) kbo(:, 4,35,10) = (/ & & 0.10212e+01_rb,0.29378e+01_rb,0.38159e+01_rb,0.40603e+01_rb,0.24378e+01_rb /) kbo(:, 5,35,10) = (/ & & 0.12063e+01_rb,0.33167e+01_rb,0.42768e+01_rb,0.45362e+01_rb,0.27369e+01_rb /) kbo(:, 1,36,10) = (/ & & 0.57858e+00_rb,0.20318e+01_rb,0.25343e+01_rb,0.26932e+01_rb,0.15911e+01_rb /) kbo(:, 2,36,10) = (/ & & 0.68823e+00_rb,0.22888e+01_rb,0.29242e+01_rb,0.31171e+01_rb,0.18445e+01_rb /) kbo(:, 3,36,10) = (/ & & 0.82172e+00_rb,0.25765e+01_rb,0.33460e+01_rb,0.35706e+01_rb,0.21205e+01_rb /) kbo(:, 4,36,10) = (/ & & 0.98227e+00_rb,0.29099e+01_rb,0.37920e+01_rb,0.40410e+01_rb,0.24128e+01_rb /) kbo(:, 5,36,10) = (/ & & 0.11693e+01_rb,0.32947e+01_rb,0.42558e+01_rb,0.45198e+01_rb,0.27160e+01_rb /) kbo(:, 1,37,10) = (/ & & 0.53405e+00_rb,0.19558e+01_rb,0.24506e+01_rb,0.26071e+01_rb,0.15218e+01_rb /) kbo(:, 2,37,10) = (/ & & 0.63968e+00_rb,0.22170e+01_rb,0.28388e+01_rb,0.30310e+01_rb,0.17770e+01_rb /) kbo(:, 3,37,10) = (/ & & 0.76779e+00_rb,0.25049e+01_rb,0.32599e+01_rb,0.34842e+01_rb,0.20552e+01_rb /) kbo(:, 4,37,10) = (/ & & 0.92384e+00_rb,0.28358e+01_rb,0.37058e+01_rb,0.39557e+01_rb,0.23490e+01_rb /) kbo(:, 5,37,10) = (/ & & 0.11094e+01_rb,0.32175e+01_rb,0.41691e+01_rb,0.44348e+01_rb,0.26544e+01_rb /) kbo(:, 1,38,10) = (/ & & 0.49328e+00_rb,0.18861e+01_rb,0.23724e+01_rb,0.25236e+01_rb,0.14577e+01_rb /) kbo(:, 2,38,10) = (/ & & 0.59575e+00_rb,0.21506e+01_rb,0.27570e+01_rb,0.29471e+01_rb,0.17138e+01_rb /) kbo(:, 3,38,10) = (/ & & 0.71877e+00_rb,0.24381e+01_rb,0.31760e+01_rb,0.33985e+01_rb,0.19934e+01_rb /) kbo(:, 4,38,10) = (/ & & 0.87044e+00_rb,0.27651e+01_rb,0.36203e+01_rb,0.38701e+01_rb,0.22879e+01_rb /) kbo(:, 5,38,10) = (/ & & 0.10541e+01_rb,0.31424e+01_rb,0.40835e+01_rb,0.43497e+01_rb,0.25942e+01_rb /) kbo(:, 1,39,10) = (/ & & 0.45633e+00_rb,0.18232e+01_rb,0.23004e+01_rb,0.24453e+01_rb,0.13998e+01_rb /) kbo(:, 2,39,10) = (/ & & 0.55664e+00_rb,0.20902e+01_rb,0.26810e+01_rb,0.28682e+01_rb,0.16563e+01_rb /) kbo(:, 3,39,10) = (/ & & 0.67511e+00_rb,0.23775e+01_rb,0.30973e+01_rb,0.33174e+01_rb,0.19363e+01_rb /) kbo(:, 4,39,10) = (/ & & 0.82312e+00_rb,0.27002e+01_rb,0.35399e+01_rb,0.37881e+01_rb,0.22310e+01_rb /) kbo(:, 5,39,10) = (/ & & 0.10047e+01_rb,0.30719e+01_rb,0.40016e+01_rb,0.42681e+01_rb,0.25376e+01_rb /) kbo(:, 1,40,10) = (/ & & 0.41369e+00_rb,0.17392e+01_rb,0.21979e+01_rb,0.23287e+01_rb,0.13226e+01_rb /) kbo(:, 2,40,10) = (/ & & 0.51051e+00_rb,0.20064e+01_rb,0.25693e+01_rb,0.27492e+01_rb,0.15756e+01_rb /) kbo(:, 3,40,10) = (/ & & 0.62337e+00_rb,0.22909e+01_rb,0.29791e+01_rb,0.31928e+01_rb,0.18532e+01_rb /) kbo(:, 4,40,10) = (/ & & 0.76463e+00_rb,0.26052e+01_rb,0.34168e+01_rb,0.36603e+01_rb,0.21464e+01_rb /) kbo(:, 5,40,10) = (/ & & 0.94032e+00_rb,0.29656e+01_rb,0.38751e+01_rb,0.41396e+01_rb,0.24517e+01_rb /) kbo(:, 1,41,10) = (/ & & 0.37354e+00_rb,0.16561e+01_rb,0.20963e+01_rb,0.22111e+01_rb,0.12469e+01_rb /) kbo(:, 2,41,10) = (/ & & 0.46665e+00_rb,0.19239e+01_rb,0.24587e+01_rb,0.26289e+01_rb,0.14959e+01_rb /) kbo(:, 3,41,10) = (/ & & 0.57545e+00_rb,0.22047e+01_rb,0.28597e+01_rb,0.30659e+01_rb,0.17694e+01_rb /) kbo(:, 4,41,10) = (/ & & 0.70985e+00_rb,0.25106e+01_rb,0.32912e+01_rb,0.35291e+01_rb,0.20606e+01_rb /) kbo(:, 5,41,10) = (/ & & 0.87840e+00_rb,0.28591e+01_rb,0.37457e+01_rb,0.40073e+01_rb,0.23640e+01_rb /) kbo(:, 1,42,10) = (/ & & 0.33676e+00_rb,0.15772e+01_rb,0.19999e+01_rb,0.20973e+01_rb,0.11755e+01_rb /) kbo(:, 2,42,10) = (/ & & 0.42603e+00_rb,0.18429e+01_rb,0.23518e+01_rb,0.25105e+01_rb,0.14196e+01_rb /) kbo(:, 3,42,10) = (/ & & 0.53169e+00_rb,0.21211e+01_rb,0.27440e+01_rb,0.29424e+01_rb,0.16886e+01_rb /) kbo(:, 4,42,10) = (/ & & 0.65992e+00_rb,0.24200e+01_rb,0.31691e+01_rb,0.34004e+01_rb,0.19770e+01_rb /) kbo(:, 5,42,10) = (/ & & 0.82123e+00_rb,0.27572e+01_rb,0.36189e+01_rb,0.38764e+01_rb,0.22780e+01_rb /) kbo(:, 1,43,10) = (/ & & 0.29880e+00_rb,0.14855e+01_rb,0.18883e+01_rb,0.19649e+01_rb,0.10947e+01_rb /) kbo(:, 2,43,10) = (/ & & 0.38323e+00_rb,0.17495e+01_rb,0.22289e+01_rb,0.23704e+01_rb,0.13324e+01_rb /) kbo(:, 3,43,10) = (/ & & 0.48519e+00_rb,0.20243e+01_rb,0.26093e+01_rb,0.27970e+01_rb,0.15948e+01_rb /) kbo(:, 4,43,10) = (/ & & 0.60690e+00_rb,0.23164e+01_rb,0.30260e+01_rb,0.32477e+01_rb,0.18788e+01_rb /) kbo(:, 5,43,10) = (/ & & 0.75876e+00_rb,0.26404e+01_rb,0.34692e+01_rb,0.37199e+01_rb,0.21767e+01_rb /) kbo(:, 1,44,10) = (/ & & 0.26234e+00_rb,0.13896e+01_rb,0.17735e+01_rb,0.18283e+01_rb,0.10125e+01_rb /) kbo(:, 2,44,10) = (/ & & 0.34133e+00_rb,0.16516e+01_rb,0.21029e+01_rb,0.22231e+01_rb,0.12426e+01_rb /) kbo(:, 3,44,10) = (/ & & 0.43896e+00_rb,0.19234e+01_rb,0.24698e+01_rb,0.26446e+01_rb,0.14975e+01_rb /) kbo(:, 4,44,10) = (/ & & 0.55556e+00_rb,0.22104e+01_rb,0.28764e+01_rb,0.30872e+01_rb,0.17758e+01_rb /) kbo(:, 5,44,10) = (/ & & 0.69720e+00_rb,0.25211e+01_rb,0.33108e+01_rb,0.35530e+01_rb,0.20699e+01_rb /) kbo(:, 1,45,10) = (/ & & 0.22932e+00_rb,0.12967e+01_rb,0.16617e+01_rb,0.16976e+01_rb,0.93402e+00_rb /) kbo(:, 2,45,10) = (/ & & 0.30290e+00_rb,0.15560e+01_rb,0.19824e+01_rb,0.20804e+01_rb,0.11566e+01_rb /) kbo(:, 3,45,10) = (/ & & 0.39581e+00_rb,0.18251e+01_rb,0.23356e+01_rb,0.24949e+01_rb,0.14039e+01_rb /) kbo(:, 4,45,10) = (/ & & 0.50777e+00_rb,0.21068e+01_rb,0.27305e+01_rb,0.29300e+01_rb,0.16755e+01_rb /) kbo(:, 5,45,10) = (/ & & 0.64060e+00_rb,0.24073e+01_rb,0.31565e+01_rb,0.33892e+01_rb,0.19653e+01_rb /) kbo(:, 1,46,10) = (/ & & 0.19825e+00_rb,0.12020e+01_rb,0.15457e+01_rb,0.15662e+01_rb,0.85464e+00_rb /) kbo(:, 2,46,10) = (/ & & 0.26591e+00_rb,0.14563e+01_rb,0.18595e+01_rb,0.19337e+01_rb,0.10694e+01_rb /) kbo(:, 3,46,10) = (/ & & 0.35343e+00_rb,0.17232e+01_rb,0.22000e+01_rb,0.23390e+01_rb,0.13083e+01_rb /) kbo(:, 4,46,10) = (/ & & 0.46053e+00_rb,0.19999e+01_rb,0.25801e+01_rb,0.27669e+01_rb,0.15716e+01_rb /) kbo(:, 5,46,10) = (/ & & 0.58556e+00_rb,0.22922e+01_rb,0.29962e+01_rb,0.32174e+01_rb,0.18560e+01_rb /) kbo(:, 1,47,10) = (/ & & 0.16836e+00_rb,0.11008e+01_rb,0.14194e+01_rb,0.14270e+01_rb,0.77061e+00_rb /) kbo(:, 2,47,10) = (/ & & 0.22922e+00_rb,0.13473e+01_rb,0.17277e+01_rb,0.17767e+01_rb,0.97668e+00_rb /) kbo(:, 3,47,10) = (/ & & 0.31004e+00_rb,0.16106e+01_rb,0.20551e+01_rb,0.21688e+01_rb,0.12060e+01_rb /) kbo(:, 4,47,10) = (/ & & 0.41110e+00_rb,0.18840e+01_rb,0.24189e+01_rb,0.25893e+01_rb,0.14598e+01_rb /) kbo(:, 5,47,10) = (/ & & 0.52932e+00_rb,0.21690e+01_rb,0.28216e+01_rb,0.30298e+01_rb,0.17368e+01_rb /) kbo(:, 1,48,10) = (/ & & 0.14220e+00_rb,0.10041e+01_rb,0.12957e+01_rb,0.12963e+01_rb,0.69114e+00_rb /) kbo(:, 2,48,10) = (/ & & 0.19626e+00_rb,0.12419e+01_rb,0.15985e+01_rb,0.16273e+01_rb,0.88794e+00_rb /) kbo(:, 3,48,10) = (/ & & 0.27002e+00_rb,0.15006e+01_rb,0.19169e+01_rb,0.20039e+01_rb,0.11083e+01_rb /) kbo(:, 4,48,10) = (/ & & 0.36488e+00_rb,0.17700e+01_rb,0.22644e+01_rb,0.24151e+01_rb,0.13523e+01_rb /) kbo(:, 5,48,10) = (/ & & 0.47701e+00_rb,0.20494e+01_rb,0.26525e+01_rb,0.28466e+01_rb,0.16205e+01_rb /) kbo(:, 1,49,10) = (/ & & 0.11950e+00_rb,0.91234e+00_rb,0.11755e+01_rb,0.11741e+01_rb,0.61611e+00_rb /) kbo(:, 2,49,10) = (/ & & 0.16698e+00_rb,0.11406e+01_rb,0.14723e+01_rb,0.14860e+01_rb,0.80337e+00_rb /) kbo(:, 3,49,10) = (/ & & 0.23352e+00_rb,0.13921e+01_rb,0.17842e+01_rb,0.18450e+01_rb,0.10147e+01_rb /) kbo(:, 4,49,10) = (/ & & 0.32154e+00_rb,0.16580e+01_rb,0.21177e+01_rb,0.22439e+01_rb,0.12490e+01_rb /) kbo(:, 5,49,10) = (/ & & 0.42774e+00_rb,0.19330e+01_rb,0.24891e+01_rb,0.26683e+01_rb,0.15078e+01_rb /) kbo(:, 1,50,10) = (/ & & 0.10087e+00_rb,0.83065e+00_rb,0.10669e+01_rb,0.10674e+01_rb,0.54936e+00_rb /) kbo(:, 2,50,10) = (/ & & 0.14237e+00_rb,0.10490e+01_rb,0.13561e+01_rb,0.13605e+01_rb,0.72778e+00_rb /) kbo(:, 3,50,10) = (/ & & 0.20234e+00_rb,0.12926e+01_rb,0.16630e+01_rb,0.17021e+01_rb,0.93055e+00_rb /) kbo(:, 4,50,10) = (/ & & 0.28362e+00_rb,0.15546e+01_rb,0.19861e+01_rb,0.20879e+01_rb,0.11563e+01_rb /) kbo(:, 5,50,10) = (/ & & 0.38392e+00_rb,0.18265e+01_rb,0.23423e+01_rb,0.25044e+01_rb,0.14058e+01_rb /) kbo(:, 1,51,10) = (/ & & 0.85305e-01_rb,0.75516e+00_rb,0.96600e+00_rb,0.96989e+00_rb,0.48900e+00_rb /) kbo(:, 2,51,10) = (/ & & 0.12119e+00_rb,0.96396e+00_rb,0.12458e+01_rb,0.12458e+01_rb,0.65803e+00_rb /) kbo(:, 3,51,10) = (/ & & 0.17492e+00_rb,0.11993e+01_rb,0.15474e+01_rb,0.15706e+01_rb,0.85222e+00_rb /) kbo(:, 4,51,10) = (/ & & 0.24953e+00_rb,0.14559e+01_rb,0.18635e+01_rb,0.19410e+01_rb,0.10697e+01_rb /) kbo(:, 5,51,10) = (/ & & 0.34420e+00_rb,0.17250e+01_rb,0.22062e+01_rb,0.23483e+01_rb,0.13105e+01_rb /) kbo(:, 1,52,10) = (/ & & 0.72122e-01_rb,0.68398e+00_rb,0.87088e+00_rb,0.87737e+00_rb,0.43154e+00_rb /) kbo(:, 2,52,10) = (/ & & 0.10277e+00_rb,0.88315e+00_rb,0.11388e+01_rb,0.11383e+01_rb,0.59136e+00_rb /) kbo(:, 3,52,10) = (/ & & 0.15043e+00_rb,0.11094e+01_rb,0.14345e+01_rb,0.14453e+01_rb,0.77736e+00_rb /) kbo(:, 4,52,10) = (/ & & 0.21816e+00_rb,0.13587e+01_rb,0.17451e+01_rb,0.17993e+01_rb,0.98663e+00_rb /) kbo(:, 5,52,10) = (/ & & 0.30639e+00_rb,0.16242e+01_rb,0.20759e+01_rb,0.21951e+01_rb,0.12188e+01_rb /) kbo(:, 1,53,10) = (/ & & 0.60992e-01_rb,0.61681e+00_rb,0.78096e+00_rb,0.78801e+00_rb,0.37771e+00_rb /) kbo(:, 2,53,10) = (/ & & 0.86893e-01_rb,0.80591e+00_rb,0.10354e+01_rb,0.10374e+01_rb,0.52892e+00_rb /) kbo(:, 3,53,10) = (/ & & 0.12844e+00_rb,0.10223e+01_rb,0.13228e+01_rb,0.13263e+01_rb,0.70557e+00_rb /) kbo(:, 4,53,10) = (/ & & 0.18962e+00_rb,0.12639e+01_rb,0.16288e+01_rb,0.16633e+01_rb,0.90648e+00_rb /) kbo(:, 5,53,10) = (/ & & 0.27104e+00_rb,0.15253e+01_rb,0.19505e+01_rb,0.20457e+01_rb,0.11304e+01_rb /) kbo(:, 1,54,10) = (/ & & 0.52146e-01_rb,0.55862e+00_rb,0.70341e+00_rb,0.70953e+00_rb,0.33141e+00_rb /) kbo(:, 2,54,10) = (/ & & 0.74252e-01_rb,0.73817e+00_rb,0.94468e+00_rb,0.94968e+00_rb,0.47420e+00_rb /) kbo(:, 3,54,10) = (/ & & 0.11046e+00_rb,0.94583e+00_rb,0.12229e+01_rb,0.12232e+01_rb,0.64224e+00_rb /) kbo(:, 4,54,10) = (/ & & 0.16584e+00_rb,0.11796e+01_rb,0.15239e+01_rb,0.15447e+01_rb,0.83594e+00_rb /) kbo(:, 5,54,10) = (/ & & 0.24084e+00_rb,0.14356e+01_rb,0.18395e+01_rb,0.19125e+01_rb,0.10521e+01_rb /) kbo(:, 1,55,10) = (/ & & 0.44769e-01_rb,0.50580e+00_rb,0.63367e+00_rb,0.63830e+00_rb,0.29171e+00_rb /) kbo(:, 2,55,10) = (/ & & 0.63801e-01_rb,0.67695e+00_rb,0.86251e+00_rb,0.86950e+00_rb,0.42385e+00_rb /) kbo(:, 3,55,10) = (/ & & 0.95281e-01_rb,0.87561e+00_rb,0.11296e+01_rb,0.11298e+01_rb,0.58465e+00_rb /) kbo(:, 4,55,10) = (/ & & 0.14509e+00_rb,0.11012e+01_rb,0.14250e+01_rb,0.14355e+01_rb,0.77056e+00_rb /) kbo(:, 5,55,10) = (/ & & 0.21402e+00_rb,0.13506e+01_rb,0.17360e+01_rb,0.17888e+01_rb,0.97966e+00_rb /) kbo(:, 1,56,10) = (/ & & 0.38303e-01_rb,0.45495e+00_rb,0.56826e+00_rb,0.57046e+00_rb,0.25591e+00_rb /) kbo(:, 2,56,10) = (/ & & 0.54762e-01_rb,0.61846e+00_rb,0.78411e+00_rb,0.79150e+00_rb,0.37700e+00_rb /) kbo(:, 3,56,10) = (/ & & 0.82009e-01_rb,0.80830e+00_rb,0.10394e+01_rb,0.10417e+01_rb,0.52950e+00_rb /) kbo(:, 4,56,10) = (/ & & 0.12621e+00_rb,0.10253e+01_rb,0.13275e+01_rb,0.13316e+01_rb,0.70721e+00_rb /) kbo(:, 5,56,10) = (/ & & 0.18937e+00_rb,0.12680e+01_rb,0.16344e+01_rb,0.16700e+01_rb,0.90979e+00_rb /) kbo(:, 1,57,10) = (/ & & 0.32632e-01_rb,0.40611e+00_rb,0.50731e+00_rb,0.50659e+00_rb,0.22496e+00_rb /) kbo(:, 2,57,10) = (/ & & 0.47019e-01_rb,0.56304e+00_rb,0.71002e+00_rb,0.71651e+00_rb,0.33305e+00_rb /) kbo(:, 3,57,10) = (/ & & 0.70456e-01_rb,0.74361e+00_rb,0.95266e+00_rb,0.95775e+00_rb,0.47635e+00_rb /) kbo(:, 4,57,10) = (/ & & 0.10937e+00_rb,0.95229e+00_rb,0.12322e+01_rb,0.12329e+01_rb,0.64711e+00_rb /) kbo(:, 5,57,10) = (/ & & 0.16675e+00_rb,0.11875e+01_rb,0.15342e+01_rb,0.15565e+01_rb,0.84216e+00_rb /) kbo(:, 1,58,10) = (/ & & 0.27856e-01_rb,0.36188e+00_rb,0.45369e+00_rb,0.45016e+00_rb,0.19835e+00_rb /) kbo(:, 2,58,10) = (/ & & 0.40581e-01_rb,0.51273e+00_rb,0.64353e+00_rb,0.64865e+00_rb,0.29546e+00_rb /) kbo(:, 3,58,10) = (/ & & 0.60914e-01_rb,0.68524e+00_rb,0.87436e+00_rb,0.88146e+00_rb,0.42903e+00_rb /) kbo(:, 4,58,10) = (/ & & 0.95154e-01_rb,0.88582e+00_rb,0.11439e+01_rb,0.11441e+01_rb,0.59161e+00_rb /) kbo(:, 5,58,10) = (/ & & 0.14715e+00_rb,0.11133e+01_rb,0.14407e+01_rb,0.14528e+01_rb,0.77938e+00_rb /) kbo(:, 1,59,10) = (/ & & 0.25371e-01_rb,0.34461e+00_rb,0.43295e+00_rb,0.42860e+00_rb,0.18805e+00_rb /) kbo(:, 2,59,10) = (/ & & 0.37551e-01_rb,0.49296e+00_rb,0.61778e+00_rb,0.62208e+00_rb,0.28092e+00_rb /) kbo(:, 3,59,10) = (/ & & 0.57031e-01_rb,0.66239e+00_rb,0.84380e+00_rb,0.85137e+00_rb,0.40984e+00_rb /) kbo(:, 4,59,10) = (/ & & 0.89730e-01_rb,0.85967e+00_rb,0.11090e+01_rb,0.11096e+01_rb,0.56882e+00_rb /) kbo(:, 5,59,10) = (/ & & 0.13959e+00_rb,0.10839e+01_rb,0.14035e+01_rb,0.14125e+01_rb,0.75487e+00_rb /) kbo(:, 1,13,11) = (/ & & 0.13518e+02_rb,0.19426e+02_rb,0.21368e+02_rb,0.20607e+02_rb,0.15967e+02_rb /) kbo(:, 2,13,11) = (/ & & 0.13249e+02_rb,0.19278e+02_rb,0.21345e+02_rb,0.20725e+02_rb,0.16218e+02_rb /) kbo(:, 3,13,11) = (/ & & 0.12991e+02_rb,0.19106e+02_rb,0.21344e+02_rb,0.20838e+02_rb,0.16493e+02_rb /) kbo(:, 4,13,11) = (/ & & 0.12783e+02_rb,0.18953e+02_rb,0.21337e+02_rb,0.20959e+02_rb,0.16769e+02_rb /) kbo(:, 5,13,11) = (/ & & 0.12735e+02_rb,0.18820e+02_rb,0.21328e+02_rb,0.21104e+02_rb,0.16982e+02_rb /) kbo(:, 1,14,11) = (/ & & 0.11504e+02_rb,0.17534e+02_rb,0.19457e+02_rb,0.19131e+02_rb,0.14625e+02_rb /) kbo(:, 2,14,11) = (/ & & 0.11281e+02_rb,0.17396e+02_rb,0.19491e+02_rb,0.19271e+02_rb,0.14939e+02_rb /) kbo(:, 3,14,11) = (/ & & 0.11112e+02_rb,0.17290e+02_rb,0.19527e+02_rb,0.19415e+02_rb,0.15255e+02_rb /) kbo(:, 4,14,11) = (/ & & 0.11115e+02_rb,0.17213e+02_rb,0.19560e+02_rb,0.19580e+02_rb,0.15504e+02_rb /) kbo(:, 5,14,11) = (/ & & 0.11342e+02_rb,0.17139e+02_rb,0.19615e+02_rb,0.19759e+02_rb,0.15706e+02_rb /) kbo(:, 1,15,11) = (/ & & 0.98170e+01_rb,0.15599e+02_rb,0.17627e+02_rb,0.17666e+02_rb,0.13354e+02_rb /) kbo(:, 2,15,11) = (/ & & 0.96747e+01_rb,0.15533e+02_rb,0.17695e+02_rb,0.17842e+02_rb,0.13687e+02_rb /) kbo(:, 3,15,11) = (/ & & 0.96984e+01_rb,0.15502e+02_rb,0.17755e+02_rb,0.18036e+02_rb,0.14004e+02_rb /) kbo(:, 4,15,11) = (/ & & 0.99522e+01_rb,0.15480e+02_rb,0.17829e+02_rb,0.18235e+02_rb,0.14263e+02_rb /) kbo(:, 5,15,11) = (/ & & 0.10344e+02_rb,0.15525e+02_rb,0.17929e+02_rb,0.18418e+02_rb,0.14475e+02_rb /) kbo(:, 1,16,11) = (/ & & 0.84332e+01_rb,0.13806e+02_rb,0.15926e+02_rb,0.16215e+02_rb,0.12224e+02_rb /) kbo(:, 2,16,11) = (/ & & 0.84583e+01_rb,0.13805e+02_rb,0.16021e+02_rb,0.16437e+02_rb,0.12556e+02_rb /) kbo(:, 3,16,11) = (/ & & 0.87066e+01_rb,0.13823e+02_rb,0.16108e+02_rb,0.16660e+02_rb,0.12834e+02_rb /) kbo(:, 4,16,11) = (/ & & 0.90827e+01_rb,0.13924e+02_rb,0.16226e+02_rb,0.16883e+02_rb,0.13078e+02_rb /) kbo(:, 5,16,11) = (/ & & 0.95263e+01_rb,0.14156e+02_rb,0.16382e+02_rb,0.17079e+02_rb,0.13334e+02_rb /) kbo(:, 1,17,11) = (/ & & 0.73068e+01_rb,0.12252e+02_rb,0.14341e+02_rb,0.14810e+02_rb,0.11129e+02_rb /) kbo(:, 2,17,11) = (/ & & 0.75295e+01_rb,0.12291e+02_rb,0.14463e+02_rb,0.15052e+02_rb,0.11439e+02_rb /) kbo(:, 3,17,11) = (/ & & 0.78853e+01_rb,0.12405e+02_rb,0.14606e+02_rb,0.15309e+02_rb,0.11729e+02_rb /) kbo(:, 4,17,11) = (/ & & 0.83040e+01_rb,0.12643e+02_rb,0.14776e+02_rb,0.15548e+02_rb,0.12006e+02_rb /) kbo(:, 5,17,11) = (/ & & 0.87123e+01_rb,0.13039e+02_rb,0.14982e+02_rb,0.15762e+02_rb,0.12286e+02_rb /) kbo(:, 1,18,11) = (/ & & 0.64287e+01_rb,0.10933e+02_rb,0.12879e+02_rb,0.13451e+02_rb,0.10053e+02_rb /) kbo(:, 2,18,11) = (/ & & 0.67446e+01_rb,0.11039e+02_rb,0.13041e+02_rb,0.13740e+02_rb,0.10377e+02_rb /) kbo(:, 3,18,11) = (/ & & 0.71271e+01_rb,0.11266e+02_rb,0.13222e+02_rb,0.14018e+02_rb,0.10699e+02_rb /) kbo(:, 4,18,11) = (/ & & 0.75067e+01_rb,0.11650e+02_rb,0.13455e+02_rb,0.14263e+02_rb,0.11011e+02_rb /) kbo(:, 5,18,11) = (/ & & 0.78797e+01_rb,0.12144e+02_rb,0.13766e+02_rb,0.14517e+02_rb,0.11323e+02_rb /) kbo(:, 1,19,11) = (/ & & 0.57165e+01_rb,0.98198e+01_rb,0.11563e+02_rb,0.12210e+02_rb,0.90287e+01_rb /) kbo(:, 2,19,11) = (/ & & 0.60504e+01_rb,0.10030e+02_rb,0.11759e+02_rb,0.12511e+02_rb,0.93771e+01_rb /) kbo(:, 3,19,11) = (/ & & 0.63872e+01_rb,0.10390e+02_rb,0.12004e+02_rb,0.12787e+02_rb,0.97382e+01_rb /) kbo(:, 4,19,11) = (/ & & 0.67262e+01_rb,0.10858e+02_rb,0.12325e+02_rb,0.13071e+02_rb,0.10100e+02_rb /) kbo(:, 5,19,11) = (/ & & 0.70630e+01_rb,0.11396e+02_rb,0.12720e+02_rb,0.13371e+02_rb,0.10433e+02_rb /) kbo(:, 1,20,11) = (/ & & 0.51077e+01_rb,0.88680e+01_rb,0.10415e+02_rb,0.11053e+02_rb,0.80963e+01_rb /) kbo(:, 2,20,11) = (/ & & 0.54017e+01_rb,0.92107e+01_rb,0.10662e+02_rb,0.11361e+02_rb,0.84758e+01_rb /) kbo(:, 3,20,11) = (/ & & 0.57015e+01_rb,0.96698e+01_rb,0.10982e+02_rb,0.11668e+02_rb,0.88481e+01_rb /) kbo(:, 4,20,11) = (/ & & 0.60041e+01_rb,0.10196e+02_rb,0.11384e+02_rb,0.12000e+02_rb,0.92376e+01_rb /) kbo(:, 5,20,11) = (/ & & 0.63106e+01_rb,0.10732e+02_rb,0.11884e+02_rb,0.12349e+02_rb,0.96255e+01_rb /) kbo(:, 1,21,11) = (/ & & 0.45414e+01_rb,0.80841e+01_rb,0.94333e+01_rb,0.10001e+02_rb,0.72987e+01_rb /) kbo(:, 2,21,11) = (/ & & 0.48060e+01_rb,0.85169e+01_rb,0.97399e+01_rb,0.10324e+02_rb,0.76799e+01_rb /) kbo(:, 3,21,11) = (/ & & 0.50754e+01_rb,0.90311e+01_rb,0.10134e+02_rb,0.10673e+02_rb,0.80692e+01_rb /) kbo(:, 4,21,11) = (/ & & 0.53489e+01_rb,0.95660e+01_rb,0.10626e+02_rb,0.11046e+02_rb,0.84671e+01_rb /) kbo(:, 5,21,11) = (/ & & 0.56226e+01_rb,0.10100e+02_rb,0.11188e+02_rb,0.11467e+02_rb,0.88878e+01_rb /) kbo(:, 1,22,11) = (/ & & 0.40512e+01_rb,0.74537e+01_rb,0.86113e+01_rb,0.90760e+01_rb,0.66406e+01_rb /) kbo(:, 2,22,11) = (/ & & 0.42861e+01_rb,0.79455e+01_rb,0.89988e+01_rb,0.94326e+01_rb,0.70298e+01_rb /) kbo(:, 3,22,11) = (/ & & 0.45284e+01_rb,0.84723e+01_rb,0.94806e+01_rb,0.98282e+01_rb,0.74365e+01_rb /) kbo(:, 4,22,11) = (/ & & 0.47765e+01_rb,0.90022e+01_rb,0.10036e+02_rb,0.10267e+02_rb,0.78530e+01_rb /) kbo(:, 5,22,11) = (/ & & 0.50273e+01_rb,0.95375e+01_rb,0.10644e+02_rb,0.10762e+02_rb,0.82925e+01_rb /) kbo(:, 1,23,11) = (/ & & 0.36272e+01_rb,0.69345e+01_rb,0.79292e+01_rb,0.82821e+01_rb,0.60862e+01_rb /) kbo(:, 2,23,11) = (/ & & 0.38324e+01_rb,0.74412e+01_rb,0.84058e+01_rb,0.86779e+01_rb,0.64814e+01_rb /) kbo(:, 3,23,11) = (/ & & 0.40496e+01_rb,0.79556e+01_rb,0.89497e+01_rb,0.91277e+01_rb,0.69031e+01_rb /) kbo(:, 4,23,11) = (/ & & 0.42736e+01_rb,0.84881e+01_rb,0.95512e+01_rb,0.96353e+01_rb,0.73423e+01_rb /) kbo(:, 5,23,11) = (/ & & 0.45008e+01_rb,0.90231e+01_rb,0.10199e+02_rb,0.10196e+02_rb,0.78107e+01_rb /) kbo(:, 1,24,11) = (/ & & 0.32617e+01_rb,0.64927e+01_rb,0.73814e+01_rb,0.76204e+01_rb,0.56351e+01_rb /) kbo(:, 2,24,11) = (/ & & 0.34455e+01_rb,0.69864e+01_rb,0.79146e+01_rb,0.80668e+01_rb,0.60482e+01_rb /) kbo(:, 3,24,11) = (/ & & 0.36375e+01_rb,0.74982e+01_rb,0.85124e+01_rb,0.85688e+01_rb,0.64793e+01_rb /) kbo(:, 4,24,11) = (/ & & 0.38361e+01_rb,0.80253e+01_rb,0.91530e+01_rb,0.91384e+01_rb,0.69488e+01_rb /) kbo(:, 5,24,11) = (/ & & 0.40434e+01_rb,0.85770e+01_rb,0.98249e+01_rb,0.97701e+01_rb,0.74392e+01_rb /) kbo(:, 1,25,11) = (/ & & 0.29504e+01_rb,0.60996e+01_rb,0.69378e+01_rb,0.70933e+01_rb,0.52696e+01_rb /) kbo(:, 2,25,11) = (/ & & 0.31134e+01_rb,0.65859e+01_rb,0.75193e+01_rb,0.75874e+01_rb,0.56908e+01_rb /) kbo(:, 3,25,11) = (/ & & 0.32850e+01_rb,0.70991e+01_rb,0.81583e+01_rb,0.81455e+01_rb,0.61504e+01_rb /) kbo(:, 4,25,11) = (/ & & 0.34639e+01_rb,0.76357e+01_rb,0.88289e+01_rb,0.87766e+01_rb,0.66391e+01_rb /) kbo(:, 5,25,11) = (/ & & 0.36575e+01_rb,0.82031e+01_rb,0.95335e+01_rb,0.94728e+01_rb,0.71181e+01_rb /) kbo(:, 1,26,11) = (/ & & 0.26785e+01_rb,0.57592e+01_rb,0.65944e+01_rb,0.66793e+01_rb,0.49659e+01_rb /) kbo(:, 2,26,11) = (/ & & 0.28303e+01_rb,0.62512e+01_rb,0.72180e+01_rb,0.72292e+01_rb,0.54158e+01_rb /) kbo(:, 3,26,11) = (/ & & 0.29845e+01_rb,0.67700e+01_rb,0.78853e+01_rb,0.78517e+01_rb,0.58929e+01_rb /) kbo(:, 4,26,11) = (/ & & 0.31498e+01_rb,0.73218e+01_rb,0.85892e+01_rb,0.85405e+01_rb,0.63779e+01_rb /) kbo(:, 5,26,11) = (/ & & 0.33365e+01_rb,0.79095e+01_rb,0.93260e+01_rb,0.92876e+01_rb,0.68593e+01_rb /) kbo(:, 1,27,11) = (/ & & 0.24381e+01_rb,0.54719e+01_rb,0.63296e+01_rb,0.63699e+01_rb,0.47378e+01_rb /) kbo(:, 2,27,11) = (/ & & 0.25833e+01_rb,0.59706e+01_rb,0.69839e+01_rb,0.69809e+01_rb,0.52024e+01_rb /) kbo(:, 3,27,11) = (/ & & 0.27276e+01_rb,0.65032e+01_rb,0.76823e+01_rb,0.76623e+01_rb,0.56849e+01_rb /) kbo(:, 4,27,11) = (/ & & 0.28843e+01_rb,0.70768e+01_rb,0.84223e+01_rb,0.83973e+01_rb,0.61613e+01_rb /) kbo(:, 5,27,11) = (/ & & 0.30776e+01_rb,0.76837e+01_rb,0.91929e+01_rb,0.91871e+01_rb,0.66697e+01_rb /) kbo(:, 1,28,11) = (/ & & 0.22238e+01_rb,0.52366e+01_rb,0.61335e+01_rb,0.61574e+01_rb,0.45705e+01_rb /) kbo(:, 2,28,11) = (/ & & 0.23648e+01_rb,0.57451e+01_rb,0.68151e+01_rb,0.68266e+01_rb,0.50347e+01_rb /) kbo(:, 3,28,11) = (/ & & 0.25067e+01_rb,0.62980e+01_rb,0.75460e+01_rb,0.75548e+01_rb,0.55064e+01_rb /) kbo(:, 4,28,11) = (/ & & 0.26680e+01_rb,0.68930e+01_rb,0.83223e+01_rb,0.83308e+01_rb,0.60103e+01_rb /) kbo(:, 5,28,11) = (/ & & 0.28763e+01_rb,0.75234e+01_rb,0.91269e+01_rb,0.91547e+01_rb,0.65443e+01_rb /) kbo(:, 1,29,11) = (/ & & 0.20343e+01_rb,0.50540e+01_rb,0.60021e+01_rb,0.60360e+01_rb,0.44306e+01_rb /) kbo(:, 2,29,11) = (/ & & 0.21732e+01_rb,0.55785e+01_rb,0.67134e+01_rb,0.67544e+01_rb,0.48924e+01_rb /) kbo(:, 3,29,11) = (/ & & 0.23217e+01_rb,0.61554e+01_rb,0.74828e+01_rb,0.75217e+01_rb,0.53899e+01_rb /) kbo(:, 4,29,11) = (/ & & 0.24991e+01_rb,0.67727e+01_rb,0.82943e+01_rb,0.83341e+01_rb,0.59211e+01_rb /) kbo(:, 5,29,11) = (/ & & 0.27298e+01_rb,0.74309e+01_rb,0.91294e+01_rb,0.91877e+01_rb,0.64776e+01_rb /) kbo(:, 1,30,11) = (/ & & 0.18678e+01_rb,0.49203e+01_rb,0.59291e+01_rb,0.59875e+01_rb,0.43204e+01_rb /) kbo(:, 2,30,11) = (/ & & 0.20102e+01_rb,0.54667e+01_rb,0.66747e+01_rb,0.67430e+01_rb,0.48026e+01_rb /) kbo(:, 3,30,11) = (/ & & 0.21719e+01_rb,0.60682e+01_rb,0.74827e+01_rb,0.75477e+01_rb,0.53281e+01_rb /) kbo(:, 4,30,11) = (/ & & 0.23720e+01_rb,0.67126e+01_rb,0.83252e+01_rb,0.83910e+01_rb,0.58826e+01_rb /) kbo(:, 5,30,11) = (/ & & 0.26264e+01_rb,0.73977e+01_rb,0.91870e+01_rb,0.92723e+01_rb,0.64598e+01_rb /) kbo(:, 1,31,11) = (/ & & 0.17244e+01_rb,0.48370e+01_rb,0.59156e+01_rb,0.60001e+01_rb,0.42555e+01_rb /) kbo(:, 2,31,11) = (/ & & 0.18755e+01_rb,0.54107e+01_rb,0.66999e+01_rb,0.67904e+01_rb,0.47644e+01_rb /) kbo(:, 3,31,11) = (/ & & 0.20573e+01_rb,0.60363e+01_rb,0.75402e+01_rb,0.76274e+01_rb,0.53155e+01_rb /) kbo(:, 4,31,11) = (/ & & 0.22829e+01_rb,0.67094e+01_rb,0.84079e+01_rb,0.84962e+01_rb,0.58901e+01_rb /) kbo(:, 5,31,11) = (/ & & 0.25590e+01_rb,0.74195e+01_rb,0.92909e+01_rb,0.93994e+01_rb,0.64871e+01_rb /) kbo(:, 1,32,11) = (/ & & 0.16069e+01_rb,0.48030e+01_rb,0.59579e+01_rb,0.60639e+01_rb,0.42356e+01_rb /) kbo(:, 2,32,11) = (/ & & 0.17705e+01_rb,0.54037e+01_rb,0.67788e+01_rb,0.68874e+01_rb,0.47712e+01_rb /) kbo(:, 3,32,11) = (/ & & 0.19742e+01_rb,0.60574e+01_rb,0.76448e+01_rb,0.77491e+01_rb,0.53434e+01_rb /) kbo(:, 4,32,11) = (/ & & 0.22247e+01_rb,0.67560e+01_rb,0.85310e+01_rb,0.86385e+01_rb,0.59381e+01_rb /) kbo(:, 5,32,11) = (/ & & 0.25238e+01_rb,0.74880e+01_rb,0.94292e+01_rb,0.95570e+01_rb,0.65497e+01_rb /) kbo(:, 1,33,11) = (/ & & 0.15128e+01_rb,0.48140e+01_rb,0.60501e+01_rb,0.61714e+01_rb,0.42550e+01_rb /) kbo(:, 2,33,11) = (/ & & 0.16946e+01_rb,0.54417e+01_rb,0.69000e+01_rb,0.70212e+01_rb,0.48155e+01_rb /) kbo(:, 3,33,11) = (/ & & 0.19206e+01_rb,0.61213e+01_rb,0.77839e+01_rb,0.79020e+01_rb,0.54069e+01_rb /) kbo(:, 4,33,11) = (/ & & 0.21946e+01_rb,0.68422e+01_rb,0.86827e+01_rb,0.88075e+01_rb,0.60169e+01_rb /) kbo(:, 5,33,11) = (/ & & 0.25173e+01_rb,0.75913e+01_rb,0.95924e+01_rb,0.97373e+01_rb,0.66398e+01_rb /) kbo(:, 1,34,11) = (/ & & 0.14356e+01_rb,0.48418e+01_rb,0.61495e+01_rb,0.62828e+01_rb,0.42896e+01_rb /) kbo(:, 2,34,11) = (/ & & 0.16357e+01_rb,0.54935e+01_rb,0.70184e+01_rb,0.71516e+01_rb,0.48691e+01_rb /) kbo(:, 3,34,11) = (/ & & 0.18838e+01_rb,0.61957e+01_rb,0.79151e+01_rb,0.80457e+01_rb,0.54742e+01_rb /) kbo(:, 4,34,11) = (/ & & 0.21788e+01_rb,0.69325e+01_rb,0.88256e+01_rb,0.89643e+01_rb,0.60956e+01_rb /) kbo(:, 5,34,11) = (/ & & 0.25238e+01_rb,0.76930e+01_rb,0.97439e+01_rb,0.99021e+01_rb,0.67264e+01_rb /) kbo(:, 1,35,11) = (/ & & 0.13620e+01_rb,0.48400e+01_rb,0.61911e+01_rb,0.63341e+01_rb,0.42950e+01_rb /) kbo(:, 2,35,11) = (/ & & 0.15765e+01_rb,0.55077e+01_rb,0.70717e+01_rb,0.72149e+01_rb,0.48872e+01_rb /) kbo(:, 3,35,11) = (/ & & 0.18416e+01_rb,0.62238e+01_rb,0.79778e+01_rb,0.81173e+01_rb,0.55014e+01_rb /) kbo(:, 4,35,11) = (/ & & 0.21528e+01_rb,0.69694e+01_rb,0.88951e+01_rb,0.90430e+01_rb,0.61304e+01_rb /) kbo(:, 5,35,11) = (/ & & 0.25135e+01_rb,0.77370e+01_rb,0.98191e+01_rb,0.99865e+01_rb,0.67662e+01_rb /) kbo(:, 1,36,11) = (/ & & 0.12836e+01_rb,0.47892e+01_rb,0.61549e+01_rb,0.63050e+01_rb,0.42540e+01_rb /) kbo(:, 2,36,11) = (/ & & 0.15070e+01_rb,0.54649e+01_rb,0.70416e+01_rb,0.71923e+01_rb,0.48536e+01_rb /) kbo(:, 3,36,11) = (/ & & 0.17830e+01_rb,0.61872e+01_rb,0.79531e+01_rb,0.80994e+01_rb,0.54734e+01_rb /) kbo(:, 4,36,11) = (/ & & 0.21055e+01_rb,0.69369e+01_rb,0.88745e+01_rb,0.90288e+01_rb,0.61066e+01_rb /) kbo(:, 5,36,11) = (/ & & 0.24754e+01_rb,0.77090e+01_rb,0.98023e+01_rb,0.99759e+01_rb,0.67459e+01_rb /) kbo(:, 1,37,11) = (/ & & 0.11878e+01_rb,0.46541e+01_rb,0.59975e+01_rb,0.61531e+01_rb,0.41357e+01_rb /) kbo(:, 2,37,11) = (/ & & 0.14114e+01_rb,0.53279e+01_rb,0.68836e+01_rb,0.70407e+01_rb,0.47366e+01_rb /) kbo(:, 3,37,11) = (/ & & 0.16907e+01_rb,0.60488e+01_rb,0.77961e+01_rb,0.79492e+01_rb,0.53587e+01_rb /) kbo(:, 4,37,11) = (/ & & 0.20171e+01_rb,0.67987e+01_rb,0.87214e+01_rb,0.88782e+01_rb,0.59931e+01_rb /) kbo(:, 5,37,11) = (/ & & 0.23879e+01_rb,0.75721e+01_rb,0.96505e+01_rb,0.98263e+01_rb,0.66346e+01_rb /) kbo(:, 1,38,11) = (/ & & 0.11019e+01_rb,0.45241e+01_rb,0.58411e+01_rb,0.60015e+01_rb,0.40206e+01_rb /) kbo(:, 2,38,11) = (/ & & 0.13240e+01_rb,0.51938e+01_rb,0.67248e+01_rb,0.68881e+01_rb,0.46215e+01_rb /) kbo(:, 3,38,11) = (/ & & 0.16050e+01_rb,0.59127e+01_rb,0.76377e+01_rb,0.77969e+01_rb,0.52444e+01_rb /) kbo(:, 4,38,11) = (/ & & 0.19344e+01_rb,0.66614e+01_rb,0.85656e+01_rb,0.87241e+01_rb,0.58797e+01_rb /) kbo(:, 5,38,11) = (/ & & 0.23053e+01_rb,0.74352e+01_rb,0.94961e+01_rb,0.96730e+01_rb,0.65232e+01_rb /) kbo(:, 1,39,11) = (/ & & 0.10261e+01_rb,0.44035e+01_rb,0.56925e+01_rb,0.58571e+01_rb,0.39130e+01_rb /) kbo(:, 2,39,11) = (/ & & 0.12458e+01_rb,0.50694e+01_rb,0.65735e+01_rb,0.67411e+01_rb,0.45130e+01_rb /) kbo(:, 3,39,11) = (/ & & 0.15281e+01_rb,0.57844e+01_rb,0.74853e+01_rb,0.76497e+01_rb,0.51353e+01_rb /) kbo(:, 4,39,11) = (/ & & 0.18590e+01_rb,0.65310e+01_rb,0.84139e+01_rb,0.85752e+01_rb,0.57711e+01_rb /) kbo(:, 5,39,11) = (/ & & 0.22296e+01_rb,0.73031e+01_rb,0.93461e+01_rb,0.95233e+01_rb,0.64155e+01_rb /) kbo(:, 1,40,11) = (/ & & 0.94020e+00_rb,0.42252e+01_rb,0.54618e+01_rb,0.56305e+01_rb,0.37514e+01_rb /) kbo(:, 2,40,11) = (/ & & 0.11510e+01_rb,0.48808e+01_rb,0.63359e+01_rb,0.65051e+01_rb,0.43464e+01_rb /) kbo(:, 3,40,11) = (/ & & 0.14267e+01_rb,0.55865e+01_rb,0.72429e+01_rb,0.74116e+01_rb,0.49659e+01_rb /) kbo(:, 4,40,11) = (/ & & 0.17534e+01_rb,0.63284e+01_rb,0.81706e+01_rb,0.83346e+01_rb,0.56004e+01_rb /) kbo(:, 5,40,11) = (/ & & 0.21196e+01_rb,0.70954e+01_rb,0.91038e+01_rb,0.92790e+01_rb,0.62443e+01_rb /) kbo(:, 1,41,11) = (/ & & 0.86129e+00_rb,0.40457e+01_rb,0.52264e+01_rb,0.53976e+01_rb,0.35879e+01_rb /) kbo(:, 2,41,11) = (/ & & 0.10633e+01_rb,0.46915e+01_rb,0.60924e+01_rb,0.62635e+01_rb,0.41768e+01_rb /) kbo(:, 3,41,11) = (/ & & 0.13283e+01_rb,0.53845e+01_rb,0.69926e+01_rb,0.71649e+01_rb,0.47921e+01_rb /) kbo(:, 4,41,11) = (/ & & 0.16485e+01_rb,0.61201e+01_rb,0.79175e+01_rb,0.80844e+01_rb,0.54240e+01_rb /) kbo(:, 5,41,11) = (/ & & 0.20093e+01_rb,0.68812e+01_rb,0.88522e+01_rb,0.90249e+01_rb,0.60668e+01_rb /) kbo(:, 1,42,11) = (/ & & 0.79123e+00_rb,0.38735e+01_rb,0.49960e+01_rb,0.51699e+01_rb,0.34287e+01_rb /) kbo(:, 2,42,11) = (/ & & 0.98295e+00_rb,0.45072e+01_rb,0.58533e+01_rb,0.60254e+01_rb,0.40109e+01_rb /) kbo(:, 3,42,11) = (/ & & 0.12364e+01_rb,0.51876e+01_rb,0.67459e+01_rb,0.69214e+01_rb,0.46212e+01_rb /) kbo(:, 4,42,11) = (/ & & 0.15484e+01_rb,0.59150e+01_rb,0.76665e+01_rb,0.78373e+01_rb,0.52503e+01_rb /) kbo(:, 5,42,11) = (/ & & 0.19026e+01_rb,0.66716e+01_rb,0.86018e+01_rb,0.87728e+01_rb,0.58915e+01_rb /) kbo(:, 1,43,11) = (/ & & 0.71984e+00_rb,0.36729e+01_rb,0.47235e+01_rb,0.48975e+01_rb,0.32397e+01_rb /) kbo(:, 2,43,11) = (/ & & 0.89808e+00_rb,0.42916e+01_rb,0.55697e+01_rb,0.57443e+01_rb,0.38153e+01_rb /) kbo(:, 3,43,11) = (/ & & 0.11360e+01_rb,0.49574e+01_rb,0.64519e+01_rb,0.66289e+01_rb,0.44184e+01_rb /) kbo(:, 4,43,11) = (/ & & 0.14345e+01_rb,0.56728e+01_rb,0.73660e+01_rb,0.75410e+01_rb,0.50437e+01_rb /) kbo(:, 5,43,11) = (/ & & 0.17793e+01_rb,0.64228e+01_rb,0.82999e+01_rb,0.84705e+01_rb,0.56823e+01_rb /) kbo(:, 1,44,11) = (/ & & 0.65285e+00_rb,0.34667e+01_rb,0.44372e+01_rb,0.46082e+01_rb,0.30399e+01_rb /) kbo(:, 2,44,11) = (/ & & 0.81657e+00_rb,0.40674e+01_rb,0.52701e+01_rb,0.54466e+01_rb,0.36094e+01_rb /) kbo(:, 3,44,11) = (/ & & 0.10370e+01_rb,0.47171e+01_rb,0.61405e+01_rb,0.63175e+01_rb,0.42038e+01_rb /) kbo(:, 4,44,11) = (/ & & 0.13194e+01_rb,0.54184e+01_rb,0.70473e+01_rb,0.72248e+01_rb,0.48237e+01_rb /) kbo(:, 5,44,11) = (/ & & 0.16514e+01_rb,0.61584e+01_rb,0.79760e+01_rb,0.81477e+01_rb,0.54581e+01_rb /) kbo(:, 1,45,11) = (/ & & 0.59324e+00_rb,0.32687e+01_rb,0.41610e+01_rb,0.43270e+01_rb,0.28437e+01_rb /) kbo(:, 2,45,11) = (/ & & 0.74292e+00_rb,0.38502e+01_rb,0.49754e+01_rb,0.51525e+01_rb,0.34081e+01_rb /) kbo(:, 3,45,11) = (/ & & 0.94606e+00_rb,0.44838e+01_rb,0.58347e+01_rb,0.60112e+01_rb,0.39932e+01_rb /) kbo(:, 4,45,11) = (/ & & 0.12103e+01_rb,0.51691e+01_rb,0.67312e+01_rb,0.69113e+01_rb,0.46063e+01_rb /) kbo(:, 5,45,11) = (/ & & 0.15283e+01_rb,0.58970e+01_rb,0.76529e+01_rb,0.78283e+01_rb,0.52365e+01_rb /) kbo(:, 1,46,11) = (/ & & 0.53665e+00_rb,0.30665e+01_rb,0.38788e+01_rb,0.40344e+01_rb,0.26396e+01_rb /) kbo(:, 2,46,11) = (/ & & 0.67326e+00_rb,0.36275e+01_rb,0.46685e+01_rb,0.48445e+01_rb,0.31970e+01_rb /) kbo(:, 3,46,11) = (/ & & 0.85964e+00_rb,0.42450e+01_rb,0.55161e+01_rb,0.56940e+01_rb,0.37742e+01_rb /) kbo(:, 4,46,11) = (/ & & 0.11026e+01_rb,0.49112e+01_rb,0.63992e+01_rb,0.65795e+01_rb,0.43785e+01_rb /) kbo(:, 5,46,11) = (/ & & 0.14030e+01_rb,0.56247e+01_rb,0.73128e+01_rb,0.74918e+01_rb,0.50037e+01_rb /) kbo(:, 1,47,11) = (/ & & 0.47965e+00_rb,0.28512e+01_rb,0.35773e+01_rb,0.37190e+01_rb,0.24179e+01_rb /) kbo(:, 2,47,11) = (/ & & 0.60499e+00_rb,0.33895e+01_rb,0.43353e+01_rb,0.45070e+01_rb,0.29653e+01_rb /) kbo(:, 3,47,11) = (/ & & 0.77211e+00_rb,0.39857e+01_rb,0.51656e+01_rb,0.53439e+01_rb,0.35346e+01_rb /) kbo(:, 4,47,11) = (/ & & 0.99280e+00_rb,0.46320e+01_rb,0.60346e+01_rb,0.62138e+01_rb,0.41278e+01_rb /) kbo(:, 5,47,11) = (/ & & 0.12711e+01_rb,0.53272e+01_rb,0.69377e+01_rb,0.71189e+01_rb,0.47464e+01_rb /) kbo(:, 1,48,11) = (/ & & 0.42651e+00_rb,0.26445e+01_rb,0.32894e+01_rb,0.34148e+01_rb,0.22033e+01_rb /) kbo(:, 2,48,11) = (/ & & 0.54388e+00_rb,0.31611e+01_rb,0.40161e+01_rb,0.41791e+01_rb,0.27373e+01_rb /) kbo(:, 3,48,11) = (/ & & 0.69368e+00_rb,0.37347e+01_rb,0.48206e+01_rb,0.49989e+01_rb,0.32997e+01_rb /) kbo(:, 4,48,11) = (/ & & 0.89279e+00_rb,0.43620e+01_rb,0.56767e+01_rb,0.58554e+01_rb,0.38822e+01_rb /) kbo(:, 5,48,11) = (/ & & 0.11484e+01_rb,0.50369e+01_rb,0.65668e+01_rb,0.67495e+01_rb,0.44918e+01_rb /) kbo(:, 1,49,11) = (/ & & 0.37713e+00_rb,0.24439e+01_rb,0.30160e+01_rb,0.31206e+01_rb,0.19976e+01_rb /) kbo(:, 2,49,11) = (/ & & 0.48766e+00_rb,0.29434e+01_rb,0.37104e+01_rb,0.38599e+01_rb,0.25143e+01_rb /) kbo(:, 3,49,11) = (/ & & 0.62407e+00_rb,0.34939e+01_rb,0.44847e+01_rb,0.46596e+01_rb,0.30680e+01_rb /) kbo(:, 4,49,11) = (/ & & 0.80298e+00_rb,0.41006e+01_rb,0.53255e+01_rb,0.55049e+01_rb,0.36413e+01_rb /) kbo(:, 5,49,11) = (/ & & 0.10353e+01_rb,0.47554e+01_rb,0.62010e+01_rb,0.63820e+01_rb,0.42407e+01_rb /) kbo(:, 1,50,11) = (/ & & 0.33334e+00_rb,0.22573e+01_rb,0.27730e+01_rb,0.28537e+01_rb,0.18141e+01_rb /) kbo(:, 2,50,11) = (/ & & 0.43824e+00_rb,0.27477e+01_rb,0.34359e+01_rb,0.35712e+01_rb,0.23112e+01_rb /) kbo(:, 3,50,11) = (/ & & 0.56555e+00_rb,0.32767e+01_rb,0.41807e+01_rb,0.43497e+01_rb,0.28540e+01_rb /) kbo(:, 4,50,11) = (/ & & 0.72662e+00_rb,0.38631e+01_rb,0.50003e+01_rb,0.51798e+01_rb,0.34206e+01_rb /) kbo(:, 5,50,11) = (/ & & 0.93811e+00_rb,0.44998e+01_rb,0.58635e+01_rb,0.60433e+01_rb,0.40092e+01_rb /) kbo(:, 1,51,11) = (/ & & 0.29344e+00_rb,0.20792e+01_rb,0.25493e+01_rb,0.26045e+01_rb,0.16447e+01_rb /) kbo(:, 2,51,11) = (/ & & 0.39320e+00_rb,0.25633e+01_rb,0.31811e+01_rb,0.32996e+01_rb,0.21202e+01_rb /) kbo(:, 3,51,11) = (/ & & 0.51335e+00_rb,0.30739e+01_rb,0.38968e+01_rb,0.40554e+01_rb,0.26493e+01_rb /) kbo(:, 4,51,11) = (/ & & 0.65991e+00_rb,0.36396e+01_rb,0.46910e+01_rb,0.48692e+01_rb,0.32095e+01_rb /) kbo(:, 5,51,11) = (/ & & 0.85305e+00_rb,0.42602e+01_rb,0.55428e+01_rb,0.57227e+01_rb,0.37890e+01_rb /) kbo(:, 1,52,11) = (/ & & 0.25634e+00_rb,0.19065e+01_rb,0.23373e+01_rb,0.23675e+01_rb,0.14849e+01_rb /) kbo(:, 2,52,11) = (/ & & 0.35085e+00_rb,0.23832e+01_rb,0.29380e+01_rb,0.30363e+01_rb,0.19379e+01_rb /) kbo(:, 3,52,11) = (/ & & 0.46463e+00_rb,0.28806e+01_rb,0.36245e+01_rb,0.37705e+01_rb,0.24499e+01_rb /) kbo(:, 4,52,11) = (/ & & 0.60014e+00_rb,0.34247e+01_rb,0.43901e+01_rb,0.45644e+01_rb,0.30013e+01_rb /) kbo(:, 5,52,11) = (/ & & 0.77502e+00_rb,0.40268e+01_rb,0.52264e+01_rb,0.54064e+01_rb,0.35729e+01_rb /) kbo(:, 1,53,11) = (/ & & 0.22198e+00_rb,0.17382e+01_rb,0.21355e+01_rb,0.21443e+01_rb,0.13321e+01_rb /) kbo(:, 2,53,11) = (/ & & 0.31088e+00_rb,0.22037e+01_rb,0.27070e+01_rb,0.27809e+01_rb,0.17631e+01_rb /) kbo(:, 3,53,11) = (/ & & 0.41868e+00_rb,0.26937e+01_rb,0.33628e+01_rb,0.34937e+01_rb,0.22551e+01_rb /) kbo(:, 4,53,11) = (/ & & 0.54590e+00_rb,0.32172e+01_rb,0.40994e+01_rb,0.42669e+01_rb,0.27950e+01_rb /) kbo(:, 5,53,11) = (/ & & 0.70382e+00_rb,0.37993e+01_rb,0.49134e+01_rb,0.50934e+01_rb,0.33609e+01_rb /) kbo(:, 1,54,11) = (/ & & 0.19279e+00_rb,0.15884e+01_rb,0.19576e+01_rb,0.19516e+01_rb,0.11991e+01_rb /) kbo(:, 2,54,11) = (/ & & 0.27614e+00_rb,0.20423e+01_rb,0.25053e+01_rb,0.25559e+01_rb,0.16106e+01_rb /) kbo(:, 3,54,11) = (/ & & 0.37900e+00_rb,0.25264e+01_rb,0.31323e+01_rb,0.32473e+01_rb,0.20825e+01_rb /) kbo(:, 4,54,11) = (/ & & 0.49954e+00_rb,0.30344e+01_rb,0.38425e+01_rb,0.39994e+01_rb,0.26090e+01_rb /) kbo(:, 5,54,11) = (/ & & 0.64483e+00_rb,0.35967e+01_rb,0.46320e+01_rb,0.48104e+01_rb,0.31683e+01_rb /) kbo(:, 1,55,11) = (/ & & 0.16752e+00_rb,0.14506e+01_rb,0.17924e+01_rb,0.17780e+01_rb,0.10766e+01_rb /) kbo(:, 2,55,11) = (/ & & 0.24546e+00_rb,0.18924e+01_rb,0.23215e+01_rb,0.23502e+01_rb,0.14718e+01_rb /) kbo(:, 3,55,11) = (/ & & 0.34282e+00_rb,0.23686e+01_rb,0.29203e+01_rb,0.30171e+01_rb,0.19238e+01_rb /) kbo(:, 4,55,11) = (/ & & 0.45751e+00_rb,0.28657e+01_rb,0.36048e+01_rb,0.37504e+01_rb,0.24347e+01_rb /) kbo(:, 5,55,11) = (/ & & 0.59345e+00_rb,0.34091e+01_rb,0.43692e+01_rb,0.45436e+01_rb,0.29860e+01_rb /) kbo(:, 1,56,11) = (/ & & 0.14442e+00_rb,0.13191e+01_rb,0.16307e+01_rb,0.16158e+01_rb,0.95966e+00_rb /) kbo(:, 2,56,11) = (/ & & 0.21629e+00_rb,0.17456e+01_rb,0.21454e+01_rb,0.21553e+01_rb,0.13384e+01_rb /) kbo(:, 3,56,11) = (/ & & 0.30838e+00_rb,0.22117e+01_rb,0.27184e+01_rb,0.27939e+01_rb,0.17710e+01_rb /) kbo(:, 4,56,11) = (/ & & 0.41780e+00_rb,0.27024e+01_rb,0.33761e+01_rb,0.35083e+01_rb,0.22647e+01_rb /) kbo(:, 5,56,11) = (/ & & 0.54633e+00_rb,0.32277e+01_rb,0.41153e+01_rb,0.42835e+01_rb,0.28057e+01_rb /) kbo(:, 1,57,11) = (/ & & 0.12369e+00_rb,0.11942e+01_rb,0.14751e+01_rb,0.14660e+01_rb,0.84794e+00_rb /) kbo(:, 2,57,11) = (/ & & 0.18943e+00_rb,0.16025e+01_rb,0.19752e+01_rb,0.19706e+01_rb,0.12104e+01_rb /) kbo(:, 3,57,11) = (/ & & 0.27580e+00_rb,0.20577e+01_rb,0.25253e+01_rb,0.25785e+01_rb,0.16249e+01_rb /) kbo(:, 4,57,11) = (/ & & 0.38015e+00_rb,0.25425e+01_rb,0.31554e+01_rb,0.32724e+01_rb,0.20995e+01_rb /) kbo(:, 5,57,11) = (/ & & 0.50220e+00_rb,0.30528e+01_rb,0.38694e+01_rb,0.40275e+01_rb,0.26279e+01_rb /) kbo(:, 1,58,11) = (/ & & 0.10619e+00_rb,0.10815e+01_rb,0.13338e+01_rb,0.13340e+01_rb,0.74924e+00_rb /) kbo(:, 2,58,11) = (/ & & 0.16586e+00_rb,0.14713e+01_rb,0.18183e+01_rb,0.18047e+01_rb,0.10933e+01_rb /) kbo(:, 3,58,11) = (/ & & 0.24668e+00_rb,0.19150e+01_rb,0.23498e+01_rb,0.23824e+01_rb,0.14931e+01_rb /) kbo(:, 4,58,11) = (/ & & 0.34613e+00_rb,0.23936e+01_rb,0.29542e+01_rb,0.30545e+01_rb,0.19489e+01_rb /) kbo(:, 5,58,11) = (/ & & 0.46251e+00_rb,0.28928e+01_rb,0.36439e+01_rb,0.37914e+01_rb,0.24628e+01_rb /) kbo(:, 1,59,11) = (/ & & 0.98781e-01_rb,0.10374e+01_rb,0.12790e+01_rb,0.12834e+01_rb,0.71091e+00_rb /) kbo(:, 2,59,11) = (/ & & 0.15643e+00_rb,0.14199e+01_rb,0.17560e+01_rb,0.17406e+01_rb,0.10475e+01_rb /) kbo(:, 3,59,11) = (/ & & 0.23512e+00_rb,0.18585e+01_rb,0.22815e+01_rb,0.23061e+01_rb,0.14408e+01_rb /) kbo(:, 4,59,11) = (/ & & 0.33250e+00_rb,0.23338e+01_rb,0.28755e+01_rb,0.29686e+01_rb,0.18898e+01_rb /) kbo(:, 5,59,11) = (/ & & 0.44697e+00_rb,0.28298e+01_rb,0.35555e+01_rb,0.36984e+01_rb,0.23975e+01_rb /) kbo(:, 1,13,12) = (/ & & 0.30998e+02_rb,0.37385e+02_rb,0.40609e+02_rb,0.38100e+02_rb,0.30845e+02_rb /) kbo(:, 2,13,12) = (/ & & 0.30490e+02_rb,0.37042e+02_rb,0.40582e+02_rb,0.38272e+02_rb,0.31245e+02_rb /) kbo(:, 3,13,12) = (/ & & 0.29985e+02_rb,0.36701e+02_rb,0.40520e+02_rb,0.38445e+02_rb,0.31621e+02_rb /) kbo(:, 4,13,12) = (/ & & 0.29490e+02_rb,0.36329e+02_rb,0.40415e+02_rb,0.38594e+02_rb,0.32000e+02_rb /) kbo(:, 5,13,12) = (/ & & 0.29015e+02_rb,0.35959e+02_rb,0.40312e+02_rb,0.38750e+02_rb,0.32433e+02_rb /) kbo(:, 1,14,12) = (/ & & 0.27110e+02_rb,0.35184e+02_rb,0.38617e+02_rb,0.36399e+02_rb,0.28635e+02_rb /) kbo(:, 2,14,12) = (/ & & 0.26641e+02_rb,0.34930e+02_rb,0.38606e+02_rb,0.36649e+02_rb,0.29079e+02_rb /) kbo(:, 3,14,12) = (/ & & 0.26184e+02_rb,0.34642e+02_rb,0.38568e+02_rb,0.36926e+02_rb,0.29498e+02_rb /) kbo(:, 4,14,12) = (/ & & 0.25751e+02_rb,0.34348e+02_rb,0.38555e+02_rb,0.37188e+02_rb,0.29949e+02_rb /) kbo(:, 5,14,12) = (/ & & 0.25340e+02_rb,0.34077e+02_rb,0.38568e+02_rb,0.37453e+02_rb,0.30433e+02_rb /) kbo(:, 1,15,12) = (/ & & 0.23379e+02_rb,0.32658e+02_rb,0.36083e+02_rb,0.34396e+02_rb,0.26632e+02_rb /) kbo(:, 2,15,12) = (/ & & 0.22961e+02_rb,0.32462e+02_rb,0.36143e+02_rb,0.34739e+02_rb,0.27099e+02_rb /) kbo(:, 3,15,12) = (/ & & 0.22574e+02_rb,0.32277e+02_rb,0.36234e+02_rb,0.35089e+02_rb,0.27554e+02_rb /) kbo(:, 4,15,12) = (/ & & 0.22226e+02_rb,0.32107e+02_rb,0.36368e+02_rb,0.35457e+02_rb,0.28061e+02_rb /) kbo(:, 5,15,12) = (/ & & 0.22052e+02_rb,0.31945e+02_rb,0.36473e+02_rb,0.35860e+02_rb,0.28623e+02_rb /) kbo(:, 1,16,12) = (/ & & 0.19977e+02_rb,0.29953e+02_rb,0.33281e+02_rb,0.32282e+02_rb,0.24730e+02_rb /) kbo(:, 2,16,12) = (/ & & 0.19633e+02_rb,0.29859e+02_rb,0.33454e+02_rb,0.32701e+02_rb,0.25245e+02_rb /) kbo(:, 3,16,12) = (/ & & 0.19340e+02_rb,0.29766e+02_rb,0.33693e+02_rb,0.33152e+02_rb,0.25800e+02_rb /) kbo(:, 4,16,12) = (/ & & 0.19247e+02_rb,0.29689e+02_rb,0.33933e+02_rb,0.33616e+02_rb,0.26378e+02_rb /) kbo(:, 5,16,12) = (/ & & 0.19403e+02_rb,0.29623e+02_rb,0.34160e+02_rb,0.34111e+02_rb,0.26924e+02_rb /) kbo(:, 1,17,12) = (/ & & 0.17051e+02_rb,0.27143e+02_rb,0.30473e+02_rb,0.30161e+02_rb,0.22931e+02_rb /) kbo(:, 2,17,12) = (/ & & 0.16797e+02_rb,0.27123e+02_rb,0.30776e+02_rb,0.30670e+02_rb,0.23518e+02_rb /) kbo(:, 3,17,12) = (/ & & 0.16741e+02_rb,0.27141e+02_rb,0.31121e+02_rb,0.31186e+02_rb,0.24127e+02_rb /) kbo(:, 4,17,12) = (/ & & 0.16948e+02_rb,0.27189e+02_rb,0.31472e+02_rb,0.31736e+02_rb,0.24729e+02_rb /) kbo(:, 5,17,12) = (/ & & 0.17485e+02_rb,0.27288e+02_rb,0.31858e+02_rb,0.32324e+02_rb,0.25297e+02_rb /) kbo(:, 1,18,12) = (/ & & 0.14597e+02_rb,0.24342e+02_rb,0.27826e+02_rb,0.28130e+02_rb,0.21245e+02_rb /) kbo(:, 2,18,12) = (/ & & 0.14547e+02_rb,0.24446e+02_rb,0.28237e+02_rb,0.28704e+02_rb,0.21885e+02_rb /) kbo(:, 3,18,12) = (/ & & 0.14765e+02_rb,0.24583e+02_rb,0.28672e+02_rb,0.29288e+02_rb,0.22535e+02_rb /) kbo(:, 4,18,12) = (/ & & 0.15315e+02_rb,0.24794e+02_rb,0.29147e+02_rb,0.29934e+02_rb,0.23159e+02_rb /) kbo(:, 5,18,12) = (/ & & 0.16067e+02_rb,0.25143e+02_rb,0.29634e+02_rb,0.30628e+02_rb,0.23749e+02_rb /) kbo(:, 1,19,12) = (/ & & 0.12640e+02_rb,0.21753e+02_rb,0.25384e+02_rb,0.26151e+02_rb,0.19661e+02_rb /) kbo(:, 2,19,12) = (/ & & 0.12835e+02_rb,0.21949e+02_rb,0.25878e+02_rb,0.26810e+02_rb,0.20358e+02_rb /) kbo(:, 3,19,12) = (/ & & 0.13356e+02_rb,0.22229e+02_rb,0.26410e+02_rb,0.27515e+02_rb,0.21037e+02_rb /) kbo(:, 4,19,12) = (/ & & 0.14056e+02_rb,0.22664e+02_rb,0.26964e+02_rb,0.28265e+02_rb,0.21685e+02_rb /) kbo(:, 5,19,12) = (/ & & 0.14855e+02_rb,0.23244e+02_rb,0.27571e+02_rb,0.29046e+02_rb,0.22336e+02_rb /) kbo(:, 1,20,12) = (/ & & 0.11082e+02_rb,0.19491e+02_rb,0.23194e+02_rb,0.24313e+02_rb,0.18232e+02_rb /) kbo(:, 2,20,12) = (/ & & 0.11562e+02_rb,0.19787e+02_rb,0.23755e+02_rb,0.25073e+02_rb,0.18946e+02_rb /) kbo(:, 3,20,12) = (/ & & 0.12224e+02_rb,0.20238e+02_rb,0.24350e+02_rb,0.25880e+02_rb,0.19650e+02_rb /) kbo(:, 4,20,12) = (/ & & 0.12987e+02_rb,0.20868e+02_rb,0.25012e+02_rb,0.26726e+02_rb,0.20347e+02_rb /) kbo(:, 5,20,12) = (/ & & 0.13788e+02_rb,0.21712e+02_rb,0.25741e+02_rb,0.27588e+02_rb,0.21074e+02_rb /) kbo(:, 1,21,12) = (/ & & 0.98833e+01_rb,0.17574e+02_rb,0.21209e+02_rb,0.22623e+02_rb,0.16925e+02_rb /) kbo(:, 2,21,12) = (/ & & 0.10489e+02_rb,0.18010e+02_rb,0.21858e+02_rb,0.23471e+02_rb,0.17666e+02_rb /) kbo(:, 3,21,12) = (/ & & 0.11209e+02_rb,0.18622e+02_rb,0.22555e+02_rb,0.24382e+02_rb,0.18394e+02_rb /) kbo(:, 4,21,12) = (/ & & 0.11974e+02_rb,0.19474e+02_rb,0.23320e+02_rb,0.25315e+02_rb,0.19156e+02_rb /) kbo(:, 5,21,12) = (/ & & 0.12743e+02_rb,0.20530e+02_rb,0.24213e+02_rb,0.26280e+02_rb,0.19957e+02_rb /) kbo(:, 1,22,12) = (/ & & 0.89432e+01_rb,0.16023e+02_rb,0.19521e+02_rb,0.21142e+02_rb,0.15785e+02_rb /) kbo(:, 2,22,12) = (/ & & 0.96012e+01_rb,0.16615e+02_rb,0.20251e+02_rb,0.22105e+02_rb,0.16565e+02_rb /) kbo(:, 3,22,12) = (/ & & 0.10308e+02_rb,0.17429e+02_rb,0.21053e+02_rb,0.23102e+02_rb,0.17352e+02_rb /) kbo(:, 4,22,12) = (/ & & 0.11034e+02_rb,0.18474e+02_rb,0.21986e+02_rb,0.24140e+02_rb,0.18184e+02_rb /) kbo(:, 5,22,12) = (/ & & 0.11779e+02_rb,0.19675e+02_rb,0.23025e+02_rb,0.25198e+02_rb,0.19053e+02_rb /) kbo(:, 1,23,12) = (/ & & 0.81558e+01_rb,0.14793e+02_rb,0.18088e+02_rb,0.19855e+02_rb,0.14800e+02_rb /) kbo(:, 2,23,12) = (/ & & 0.87957e+01_rb,0.15543e+02_rb,0.18895e+02_rb,0.20923e+02_rb,0.15621e+02_rb /) kbo(:, 3,23,12) = (/ & & 0.94593e+01_rb,0.16540e+02_rb,0.19849e+02_rb,0.22025e+02_rb,0.16480e+02_rb /) kbo(:, 4,23,12) = (/ & & 0.10153e+02_rb,0.17706e+02_rb,0.20923e+02_rb,0.23160e+02_rb,0.17388e+02_rb /) kbo(:, 5,23,12) = (/ & & 0.10876e+02_rb,0.18993e+02_rb,0.22113e+02_rb,0.24310e+02_rb,0.18322e+02_rb /) kbo(:, 1,24,12) = (/ & & 0.74526e+01_rb,0.13830e+02_rb,0.16894e+02_rb,0.18769e+02_rb,0.13959e+02_rb /) kbo(:, 2,24,12) = (/ & & 0.80517e+01_rb,0.14766e+02_rb,0.17833e+02_rb,0.19936e+02_rb,0.14836e+02_rb /) kbo(:, 3,24,12) = (/ & & 0.86841e+01_rb,0.15873e+02_rb,0.18916e+02_rb,0.21150e+02_rb,0.15773e+02_rb /) kbo(:, 4,24,12) = (/ & & 0.93535e+01_rb,0.17122e+02_rb,0.20131e+02_rb,0.22383e+02_rb,0.16742e+02_rb /) kbo(:, 5,24,12) = (/ & & 0.10068e+02_rb,0.18482e+02_rb,0.21482e+02_rb,0.23634e+02_rb,0.17753e+02_rb /) kbo(:, 1,25,12) = (/ & & 0.68105e+01_rb,0.13122e+02_rb,0.15953e+02_rb,0.17890e+02_rb,0.13264e+02_rb /) kbo(:, 2,25,12) = (/ & & 0.73796e+01_rb,0.14193e+02_rb,0.17028e+02_rb,0.19160e+02_rb,0.14211e+02_rb /) kbo(:, 3,25,12) = (/ & & 0.79883e+01_rb,0.15386e+02_rb,0.18237e+02_rb,0.20473e+02_rb,0.15219e+02_rb /) kbo(:, 4,25,12) = (/ & & 0.86473e+01_rb,0.16702e+02_rb,0.19605e+02_rb,0.21810e+02_rb,0.16257e+02_rb /) kbo(:, 5,25,12) = (/ & & 0.93513e+01_rb,0.18139e+02_rb,0.21087e+02_rb,0.23158e+02_rb,0.17339e+02_rb /) kbo(:, 1,26,12) = (/ & & 0.62530e+01_rb,0.12619e+02_rb,0.15260e+02_rb,0.17241e+02_rb,0.12729e+02_rb /) kbo(:, 2,26,12) = (/ & & 0.67955e+01_rb,0.13786e+02_rb,0.16460e+02_rb,0.18602e+02_rb,0.13751e+02_rb /) kbo(:, 3,26,12) = (/ & & 0.73876e+01_rb,0.15061e+02_rb,0.17816e+02_rb,0.20014e+02_rb,0.14821e+02_rb /) kbo(:, 4,26,12) = (/ & & 0.80374e+01_rb,0.16453e+02_rb,0.19314e+02_rb,0.21444e+02_rb,0.15933e+02_rb /) kbo(:, 5,26,12) = (/ & & 0.87427e+01_rb,0.17956e+02_rb,0.20909e+02_rb,0.22878e+02_rb,0.17080e+02_rb /) kbo(:, 1,27,12) = (/ & & 0.57700e+01_rb,0.12257e+02_rb,0.14782e+02_rb,0.16780e+02_rb,0.12335e+02_rb /) kbo(:, 2,27,12) = (/ & & 0.62864e+01_rb,0.13513e+02_rb,0.16114e+02_rb,0.18231e+02_rb,0.13431e+02_rb /) kbo(:, 3,27,12) = (/ & & 0.68675e+01_rb,0.14868e+02_rb,0.17601e+02_rb,0.19730e+02_rb,0.14565e+02_rb /) kbo(:, 4,27,12) = (/ & & 0.75138e+01_rb,0.16329e+02_rb,0.19199e+02_rb,0.21244e+02_rb,0.15742e+02_rb /) kbo(:, 5,27,12) = (/ & & 0.82289e+01_rb,0.17883e+02_rb,0.20886e+02_rb,0.22748e+02_rb,0.16940e+02_rb /) kbo(:, 1,28,12) = (/ & & 0.53548e+01_rb,0.12024e+02_rb,0.14494e+02_rb,0.16490e+02_rb,0.12074e+02_rb /) kbo(:, 2,28,12) = (/ & & 0.58567e+01_rb,0.13364e+02_rb,0.15954e+02_rb,0.18023e+02_rb,0.13231e+02_rb /) kbo(:, 3,28,12) = (/ & & 0.64249e+01_rb,0.14793e+02_rb,0.17548e+02_rb,0.19599e+02_rb,0.14431e+02_rb /) kbo(:, 4,28,12) = (/ & & 0.70763e+01_rb,0.16306e+02_rb,0.19232e+02_rb,0.21185e+02_rb,0.15664e+02_rb /) kbo(:, 5,28,12) = (/ & & 0.78108e+01_rb,0.17913e+02_rb,0.20999e+02_rb,0.22748e+02_rb,0.16904e+02_rb /) kbo(:, 1,29,12) = (/ & & 0.50045e+01_rb,0.11918e+02_rb,0.14389e+02_rb,0.16363e+02_rb,0.11938e+02_rb /) kbo(:, 2,29,12) = (/ & & 0.55030e+01_rb,0.13334e+02_rb,0.15959e+02_rb,0.17970e+02_rb,0.13155e+02_rb /) kbo(:, 3,29,12) = (/ & & 0.60662e+01_rb,0.14820e+02_rb,0.17638e+02_rb,0.19611e+02_rb,0.14408e+02_rb /) kbo(:, 4,29,12) = (/ & & 0.67325e+01_rb,0.16392e+02_rb,0.19392e+02_rb,0.21253e+02_rb,0.15686e+02_rb /) kbo(:, 5,29,12) = (/ & & 0.74925e+01_rb,0.18044e+02_rb,0.21206e+02_rb,0.22856e+02_rb,0.16965e+02_rb /) kbo(:, 1,30,12) = (/ & & 0.47172e+01_rb,0.11917e+02_rb,0.14428e+02_rb,0.16368e+02_rb,0.11903e+02_rb /) kbo(:, 2,30,12) = (/ & & 0.52125e+01_rb,0.13400e+02_rb,0.16089e+02_rb,0.18040e+02_rb,0.13179e+02_rb /) kbo(:, 3,30,12) = (/ & & 0.57884e+01_rb,0.14940e+02_rb,0.17829e+02_rb,0.19728e+02_rb,0.14475e+02_rb /) kbo(:, 4,30,12) = (/ & & 0.64722e+01_rb,0.16556e+02_rb,0.19636e+02_rb,0.21408e+02_rb,0.15787e+02_rb /) kbo(:, 5,30,12) = (/ & & 0.72704e+01_rb,0.18251e+02_rb,0.21479e+02_rb,0.23035e+02_rb,0.17093e+02_rb /) kbo(:, 1,31,12) = (/ & & 0.44858e+01_rb,0.12017e+02_rb,0.14590e+02_rb,0.16495e+02_rb,0.11969e+02_rb /) kbo(:, 2,31,12) = (/ & & 0.49908e+01_rb,0.13550e+02_rb,0.16315e+02_rb,0.18215e+02_rb,0.13287e+02_rb /) kbo(:, 3,31,12) = (/ & & 0.55864e+01_rb,0.15140e+02_rb,0.18101e+02_rb,0.19933e+02_rb,0.14620e+02_rb /) kbo(:, 4,31,12) = (/ & & 0.63024e+01_rb,0.16801e+02_rb,0.19948e+02_rb,0.21636e+02_rb,0.15956e+02_rb /) kbo(:, 5,31,12) = (/ & & 0.71504e+01_rb,0.18530e+02_rb,0.21815e+02_rb,0.23280e+02_rb,0.17277e+02_rb /) kbo(:, 1,32,12) = (/ & & 0.43064e+01_rb,0.12199e+02_rb,0.14841e+02_rb,0.16712e+02_rb,0.12112e+02_rb /) kbo(:, 2,32,12) = (/ & & 0.48346e+01_rb,0.13779e+02_rb,0.16613e+02_rb,0.18463e+02_rb,0.13462e+02_rb /) kbo(:, 3,32,12) = (/ & & 0.54614e+01_rb,0.15404e+02_rb,0.18438e+02_rb,0.20209e+02_rb,0.14821e+02_rb /) kbo(:, 4,32,12) = (/ & & 0.62177e+01_rb,0.17102e+02_rb,0.20311e+02_rb,0.21920e+02_rb,0.16172e+02_rb /) kbo(:, 5,32,12) = (/ & & 0.71259e+01_rb,0.18855e+02_rb,0.22195e+02_rb,0.23574e+02_rb,0.17506e+02_rb /) kbo(:, 1,33,12) = (/ & & 0.41801e+01_rb,0.12450e+02_rb,0.15154e+02_rb,0.16994e+02_rb,0.12315e+02_rb /) kbo(:, 2,33,12) = (/ & & 0.47391e+01_rb,0.14064e+02_rb,0.16963e+02_rb,0.18765e+02_rb,0.13689e+02_rb /) kbo(:, 3,33,12) = (/ & & 0.54061e+01_rb,0.15717e+02_rb,0.18820e+02_rb,0.20527e+02_rb,0.15064e+02_rb /) kbo(:, 4,33,12) = (/ & & 0.62146e+01_rb,0.17442e+02_rb,0.20711e+02_rb,0.22242e+02_rb,0.16420e+02_rb /) kbo(:, 5,33,12) = (/ & & 0.71827e+01_rb,0.19219e+02_rb,0.22608e+02_rb,0.23903e+02_rb,0.17762e+02_rb /) kbo(:, 1,34,12) = (/ & & 0.40887e+01_rb,0.12691e+02_rb,0.15451e+02_rb,0.17259e+02_rb,0.12512e+02_rb /) kbo(:, 2,34,12) = (/ & & 0.46819e+01_rb,0.14330e+02_rb,0.17288e+02_rb,0.19046e+02_rb,0.13902e+02_rb /) kbo(:, 3,34,12) = (/ & & 0.53890e+01_rb,0.16007e+02_rb,0.19166e+02_rb,0.20816e+02_rb,0.15287e+02_rb /) kbo(:, 4,34,12) = (/ & & 0.62486e+01_rb,0.17752e+02_rb,0.21067e+02_rb,0.22532e+02_rb,0.16650e+02_rb /) kbo(:, 5,34,12) = (/ & & 0.72682e+01_rb,0.19545e+02_rb,0.22972e+02_rb,0.24194e+02_rb,0.17995e+02_rb /) kbo(:, 1,35,12) = (/ & & 0.39916e+01_rb,0.12809e+02_rb,0.15601e+02_rb,0.17383e+02_rb,0.12605e+02_rb /) kbo(:, 2,35,12) = (/ & & 0.46112e+01_rb,0.14460e+02_rb,0.17457e+02_rb,0.19181e+02_rb,0.14005e+02_rb /) kbo(:, 3,35,12) = (/ & & 0.53474e+01_rb,0.16154e+02_rb,0.19347e+02_rb,0.20958e+02_rb,0.15398e+02_rb /) kbo(:, 4,35,12) = (/ & & 0.62430e+01_rb,0.17913e+02_rb,0.21258e+02_rb,0.22679e+02_rb,0.16764e+02_rb /) kbo(:, 5,35,12) = (/ & & 0.72953e+01_rb,0.19716e+02_rb,0.23169e+02_rb,0.24345e+02_rb,0.18113e+02_rb /) kbo(:, 1,36,12) = (/ & & 0.38696e+01_rb,0.12768e+02_rb,0.15571e+02_rb,0.17332e+02_rb,0.12565e+02_rb /) kbo(:, 2,36,12) = (/ & & 0.45034e+01_rb,0.14429e+02_rb,0.17436e+02_rb,0.19141e+02_rb,0.13973e+02_rb /) kbo(:, 3,36,12) = (/ & & 0.52555e+01_rb,0.16128e+02_rb,0.19333e+02_rb,0.20927e+02_rb,0.15372e+02_rb /) kbo(:, 4,36,12) = (/ & & 0.61640e+01_rb,0.17893e+02_rb,0.21249e+02_rb,0.22656e+02_rb,0.16743e+02_rb /) kbo(:, 5,36,12) = (/ & & 0.72295e+01_rb,0.19702e+02_rb,0.23168e+02_rb,0.24329e+02_rb,0.18096e+02_rb /) kbo(:, 1,37,12) = (/ & & 0.36883e+01_rb,0.12493e+02_rb,0.15274e+02_rb,0.17021e+02_rb,0.12322e+02_rb /) kbo(:, 2,37,12) = (/ & & 0.43193e+01_rb,0.14156e+02_rb,0.17140e+02_rb,0.18841e+02_rb,0.13739e+02_rb /) kbo(:, 3,37,12) = (/ & & 0.50636e+01_rb,0.15852e+02_rb,0.19039e+02_rb,0.20638e+02_rb,0.15145e+02_rb /) kbo(:, 4,37,12) = (/ & & 0.59573e+01_rb,0.17616e+02_rb,0.20958e+02_rb,0.22386e+02_rb,0.16525e+02_rb /) kbo(:, 5,37,12) = (/ & & 0.70089e+01_rb,0.19421e+02_rb,0.22881e+02_rb,0.24071e+02_rb,0.17883e+02_rb /) kbo(:, 1,38,12) = (/ & & 0.35253e+01_rb,0.12215e+02_rb,0.14971e+02_rb,0.16706e+02_rb,0.12079e+02_rb /) kbo(:, 2,38,12) = (/ & & 0.41507e+01_rb,0.13877e+02_rb,0.16837e+02_rb,0.18535e+02_rb,0.13501e+02_rb /) kbo(:, 3,38,12) = (/ & & 0.48852e+01_rb,0.15572e+02_rb,0.18736e+02_rb,0.20342e+02_rb,0.14913e+02_rb /) kbo(:, 4,38,12) = (/ & & 0.57613e+01_rb,0.17329e+02_rb,0.20656e+02_rb,0.22106e+02_rb,0.16300e+02_rb /) kbo(:, 5,38,12) = (/ & & 0.67957e+01_rb,0.19130e+02_rb,0.22581e+02_rb,0.23804e+02_rb,0.17665e+02_rb /) kbo(:, 1,39,12) = (/ & & 0.33825e+01_rb,0.11947e+02_rb,0.14676e+02_rb,0.16402e+02_rb,0.11843e+02_rb /) kbo(:, 2,39,12) = (/ & & 0.39997e+01_rb,0.13607e+02_rb,0.16542e+02_rb,0.18237e+02_rb,0.13271e+02_rb /) kbo(:, 3,39,12) = (/ & & 0.47242e+01_rb,0.15300e+02_rb,0.18440e+02_rb,0.20053e+02_rb,0.14687e+02_rb /) kbo(:, 4,39,12) = (/ & & 0.55821e+01_rb,0.17050e+02_rb,0.20362e+02_rb,0.21831e+02_rb,0.16081e+02_rb /) kbo(:, 5,39,12) = (/ & & 0.65965e+01_rb,0.18849e+02_rb,0.22289e+02_rb,0.23541e+02_rb,0.17452e+02_rb /) kbo(:, 1,40,12) = (/ & & 0.31990e+01_rb,0.11518e+02_rb,0.14197e+02_rb,0.15916e+02_rb,0.11466e+02_rb /) kbo(:, 2,40,12) = (/ & & 0.37954e+01_rb,0.13171e+02_rb,0.16060e+02_rb,0.17759e+02_rb,0.12898e+02_rb /) kbo(:, 3,40,12) = (/ & & 0.44984e+01_rb,0.14859e+02_rb,0.17955e+02_rb,0.19586e+02_rb,0.14321e+02_rb /) kbo(:, 4,40,12) = (/ & & 0.53220e+01_rb,0.16595e+02_rb,0.19875e+02_rb,0.21381e+02_rb,0.15725e+02_rb /) kbo(:, 5,40,12) = (/ & & 0.62999e+01_rb,0.18387e+02_rb,0.21803e+02_rb,0.23109e+02_rb,0.17102e+02_rb /) kbo(:, 1,41,12) = (/ & & 0.30240e+01_rb,0.11079e+02_rb,0.13703e+02_rb,0.15411e+02_rb,0.11075e+02_rb /) kbo(:, 2,41,12) = (/ & & 0.35998e+01_rb,0.12722e+02_rb,0.15561e+02_rb,0.17259e+02_rb,0.12509e+02_rb /) kbo(:, 3,41,12) = (/ & & 0.42766e+01_rb,0.14402e+02_rb,0.17450e+02_rb,0.19096e+02_rb,0.13938e+02_rb /) kbo(:, 4,41,12) = (/ & & 0.50663e+01_rb,0.16123e+02_rb,0.19365e+02_rb,0.20905e+02_rb,0.15352e+02_rb /) kbo(:, 5,41,12) = (/ & & 0.60051e+01_rb,0.17908e+02_rb,0.21295e+02_rb,0.22653e+02_rb,0.16735e+02_rb /) kbo(:, 1,42,12) = (/ & & 0.28652e+01_rb,0.10648e+02_rb,0.13219e+02_rb,0.14913e+02_rb,0.10689e+02_rb /) kbo(:, 2,42,12) = (/ & & 0.34153e+01_rb,0.12278e+02_rb,0.15063e+02_rb,0.16761e+02_rb,0.12121e+02_rb /) kbo(:, 3,42,12) = (/ & & 0.40672e+01_rb,0.13952e+02_rb,0.16947e+02_rb,0.18606e+02_rb,0.13557e+02_rb /) kbo(:, 4,42,12) = (/ & & 0.48264e+01_rb,0.15661e+02_rb,0.18858e+02_rb,0.20426e+02_rb,0.14977e+02_rb /) kbo(:, 5,42,12) = (/ & & 0.57266e+01_rb,0.17431e+02_rb,0.20787e+02_rb,0.22197e+02_rb,0.16370e+02_rb /) kbo(:, 1,43,12) = (/ & & 0.26870e+01_rb,0.10134e+02_rb,0.12642e+02_rb,0.14316e+02_rb,0.10228e+02_rb /) kbo(:, 2,43,12) = (/ & & 0.32108e+01_rb,0.11745e+02_rb,0.14465e+02_rb,0.16161e+02_rb,0.11657e+02_rb /) kbo(:, 3,43,12) = (/ & & 0.38308e+01_rb,0.13408e+02_rb,0.16340e+02_rb,0.18012e+02_rb,0.13095e+02_rb /) kbo(:, 4,43,12) = (/ & & 0.45569e+01_rb,0.15107e+02_rb,0.18246e+02_rb,0.19843e+02_rb,0.14521e+02_rb /) kbo(:, 5,43,12) = (/ & & 0.54100e+01_rb,0.16859e+02_rb,0.20173e+02_rb,0.21637e+02_rb,0.15927e+02_rb /) kbo(:, 1,44,12) = (/ & & 0.25051e+01_rb,0.95885e+01_rb,0.12032e+02_rb,0.13682e+02_rb,0.97372e+01_rb /) kbo(:, 2,44,12) = (/ & & 0.30054e+01_rb,0.11180e+02_rb,0.13825e+02_rb,0.15517e+02_rb,0.11159e+02_rb /) kbo(:, 3,44,12) = (/ & & 0.35923e+01_rb,0.12828e+02_rb,0.15690e+02_rb,0.17372e+02_rb,0.12597e+02_rb /) kbo(:, 4,44,12) = (/ & & 0.42861e+01_rb,0.14518e+02_rb,0.17591e+02_rb,0.19215e+02_rb,0.14031e+02_rb /) kbo(:, 5,44,12) = (/ & & 0.50891e+01_rb,0.16248e+02_rb,0.19511e+02_rb,0.21026e+02_rb,0.15447e+02_rb /) kbo(:, 1,45,12) = (/ & & 0.23284e+01_rb,0.90519e+01_rb,0.11435e+02_rb,0.13049e+02_rb,0.92487e+01_rb /) kbo(:, 2,45,12) = (/ & & 0.28153e+01_rb,0.10623e+02_rb,0.13197e+02_rb,0.14880e+02_rb,0.10666e+02_rb /) kbo(:, 3,45,12) = (/ & & 0.33686e+01_rb,0.12254e+02_rb,0.15046e+02_rb,0.16733e+02_rb,0.12101e+02_rb /) kbo(:, 4,45,12) = (/ & & 0.40279e+01_rb,0.13936e+02_rb,0.16938e+02_rb,0.18583e+02_rb,0.13540e+02_rb /) kbo(:, 5,45,12) = (/ & & 0.47894e+01_rb,0.15648e+02_rb,0.18852e+02_rb,0.20408e+02_rb,0.14963e+02_rb /) kbo(:, 1,46,12) = (/ & & 0.21477e+01_rb,0.84947e+01_rb,0.10808e+02_rb,0.12382e+02_rb,0.87316e+01_rb /) kbo(:, 2,46,12) = (/ & & 0.26237e+01_rb,0.10040e+02_rb,0.12543e+02_rb,0.14206e+02_rb,0.10145e+02_rb /) kbo(:, 3,46,12) = (/ & & 0.31493e+01_rb,0.11653e+02_rb,0.14367e+02_rb,0.16054e+02_rb,0.11575e+02_rb /) kbo(:, 4,46,12) = (/ & & 0.37687e+01_rb,0.13319e+02_rb,0.16247e+02_rb,0.17910e+02_rb,0.13015e+02_rb /) kbo(:, 5,46,12) = (/ & & 0.44919e+01_rb,0.15018e+02_rb,0.18154e+02_rb,0.19746e+02_rb,0.14446e+02_rb /) kbo(:, 1,47,12) = (/ & & 0.19539e+01_rb,0.78866e+01_rb,0.10121e+02_rb,0.11642e+02_rb,0.81629e+01_rb /) kbo(:, 2,47,12) = (/ & & 0.24188e+01_rb,0.94011e+01_rb,0.11827e+02_rb,0.13461e+02_rb,0.95671e+01_rb /) kbo(:, 3,47,12) = (/ & & 0.29183e+01_rb,0.10990e+02_rb,0.13614e+02_rb,0.15297e+02_rb,0.10990e+02_rb /) kbo(:, 4,47,12) = (/ & & 0.34981e+01_rb,0.12636e+02_rb,0.15480e+02_rb,0.17155e+02_rb,0.12429e+02_rb /) kbo(:, 5,47,12) = (/ & & 0.41787e+01_rb,0.14323e+02_rb,0.17378e+02_rb,0.19005e+02_rb,0.13866e+02_rb /) kbo(:, 1,48,12) = (/ & & 0.17686e+01_rb,0.73016e+01_rb,0.94471e+01_rb,0.10908e+02_rb,0.76062e+01_rb /) kbo(:, 2,48,12) = (/ & & 0.22191e+01_rb,0.87750e+01_rb,0.11125e+02_rb,0.12718e+02_rb,0.89921e+01_rb /) kbo(:, 3,48,12) = (/ & & 0.27045e+01_rb,0.10336e+02_rb,0.12878e+02_rb,0.14548e+02_rb,0.10409e+02_rb /) kbo(:, 4,48,12) = (/ & & 0.32460e+01_rb,0.11962e+02_rb,0.14721e+02_rb,0.16399e+02_rb,0.11843e+02_rb /) kbo(:, 5,48,12) = (/ & & 0.38847e+01_rb,0.13635e+02_rb,0.16605e+02_rb,0.18256e+02_rb,0.13285e+02_rb /) kbo(:, 1,49,12) = (/ & & 0.15926e+01_rb,0.67448e+01_rb,0.87885e+01_rb,0.10183e+02_rb,0.70558e+01_rb /) kbo(:, 2,49,12) = (/ & & 0.20265e+01_rb,0.81616e+01_rb,0.10434e+02_rb,0.11978e+02_rb,0.84210e+01_rb /) kbo(:, 3,49,12) = (/ & & 0.24995e+01_rb,0.96943e+01_rb,0.12158e+02_rb,0.13804e+02_rb,0.98335e+01_rb /) kbo(:, 4,49,12) = (/ & & 0.30106e+01_rb,0.11296e+02_rb,0.13964e+02_rb,0.15645e+02_rb,0.11261e+02_rb /) kbo(:, 5,49,12) = (/ & & 0.36091e+01_rb,0.12953e+02_rb,0.15838e+02_rb,0.17505e+02_rb,0.12701e+02_rb /) kbo(:, 1,50,12) = (/ & & 0.14367e+01_rb,0.62503e+01_rb,0.81839e+01_rb,0.95114e+01_rb,0.65470e+01_rb /) kbo(:, 2,50,12) = (/ & & 0.18513e+01_rb,0.76037e+01_rb,0.97986e+01_rb,0.11290e+02_rb,0.78962e+01_rb /) kbo(:, 3,50,12) = (/ & & 0.23123e+01_rb,0.91032e+01_rb,0.11496e+02_rb,0.13108e+02_rb,0.92947e+01_rb /) kbo(:, 4,50,12) = (/ & & 0.28056e+01_rb,0.10680e+02_rb,0.13267e+02_rb,0.14942e+02_rb,0.10716e+02_rb /) kbo(:, 5,50,12) = (/ & & 0.33664e+01_rb,0.12318e+02_rb,0.15124e+02_rb,0.16800e+02_rb,0.12153e+02_rb /) kbo(:, 1,51,12) = (/ & & 0.12944e+01_rb,0.57936e+01_rb,0.76117e+01_rb,0.88742e+01_rb,0.60642e+01_rb /) kbo(:, 2,51,12) = (/ & & 0.16888e+01_rb,0.70852e+01_rb,0.91933e+01_rb,0.10628e+02_rb,0.73944e+01_rb /) kbo(:, 3,51,12) = (/ & & 0.21353e+01_rb,0.85416e+01_rb,0.10863e+02_rb,0.12436e+02_rb,0.87735e+01_rb /) kbo(:, 4,51,12) = (/ & & 0.26169e+01_rb,0.10093e+02_rb,0.12607e+02_rb,0.14266e+02_rb,0.10192e+02_rb /) kbo(:, 5,51,12) = (/ & & 0.31479e+01_rb,0.11711e+02_rb,0.14438e+02_rb,0.16116e+02_rb,0.11624e+02_rb /) kbo(:, 1,52,12) = (/ & & 0.11616e+01_rb,0.53570e+01_rb,0.70533e+01_rb,0.82560e+01_rb,0.55953e+01_rb /) kbo(:, 2,52,12) = (/ & & 0.15340e+01_rb,0.65899e+01_rb,0.86019e+01_rb,0.99750e+01_rb,0.68982e+01_rb /) kbo(:, 3,52,12) = (/ & & 0.19643e+01_rb,0.79903e+01_rb,0.10241e+02_rb,0.11768e+02_rb,0.82604e+01_rb /) kbo(:, 4,52,12) = (/ & & 0.24347e+01_rb,0.95157e+01_rb,0.11958e+02_rb,0.13593e+02_rb,0.96707e+01_rb /) kbo(:, 5,52,12) = (/ & & 0.29410e+01_rb,0.11112e+02_rb,0.13756e+02_rb,0.15434e+02_rb,0.11097e+02_rb /) kbo(:, 1,53,12) = (/ & & 0.10377e+01_rb,0.49398e+01_rb,0.65141e+01_rb,0.76518e+01_rb,0.51386e+01_rb /) kbo(:, 2,53,12) = (/ & & 0.13876e+01_rb,0.61188e+01_rb,0.80207e+01_rb,0.93291e+01_rb,0.64095e+01_rb /) kbo(:, 3,53,12) = (/ & & 0.17987e+01_rb,0.74567e+01_rb,0.96292e+01_rb,0.11104e+02_rb,0.77562e+01_rb /) kbo(:, 4,53,12) = (/ & & 0.22559e+01_rb,0.89467e+01_rb,0.11320e+02_rb,0.12921e+02_rb,0.91504e+01_rb /) kbo(:, 5,53,12) = (/ & & 0.27477e+01_rb,0.10518e+02_rb,0.13086e+02_rb,0.14756e+02_rb,0.10571e+02_rb /) kbo(:, 1,54,12) = (/ & & 0.93266e+00_rb,0.45754e+01_rb,0.60420e+01_rb,0.71108e+01_rb,0.47321e+01_rb /) kbo(:, 2,54,12) = (/ & & 0.12608e+01_rb,0.57055e+01_rb,0.75003e+01_rb,0.87512e+01_rb,0.59717e+01_rb /) kbo(:, 3,54,12) = (/ & & 0.16525e+01_rb,0.69875e+01_rb,0.90782e+01_rb,0.10501e+02_rb,0.72982e+01_rb /) kbo(:, 4,54,12) = (/ & & 0.20962e+01_rb,0.84351e+01_rb,0.10744e+02_rb,0.12308e+02_rb,0.86747e+01_rb /) kbo(:, 5,54,12) = (/ & & 0.25775e+01_rb,0.99827e+01_rb,0.12485e+02_rb,0.14138e+02_rb,0.10092e+02_rb /) kbo(:, 1,55,12) = (/ & & 0.84048e+00_rb,0.42428e+01_rb,0.56145e+01_rb,0.66054e+01_rb,0.43544e+01_rb /) kbo(:, 2,55,12) = (/ & & 0.11472e+01_rb,0.53270e+01_rb,0.70144e+01_rb,0.82122e+01_rb,0.55615e+01_rb /) kbo(:, 3,55,12) = (/ & & 0.15181e+01_rb,0.65556e+01_rb,0.85601e+01_rb,0.99280e+01_rb,0.68631e+01_rb /) kbo(:, 4,55,12) = (/ & & 0.19474e+01_rb,0.79524e+01_rb,0.10198e+02_rb,0.11721e+02_rb,0.82252e+01_rb /) kbo(:, 5,55,12) = (/ & & 0.24188e+01_rb,0.94776e+01_rb,0.11916e+02_rb,0.13548e+02_rb,0.96351e+01_rb /) kbo(:, 1,56,12) = (/ & & 0.75447e+00_rb,0.39270e+01_rb,0.52064e+01_rb,0.61093e+01_rb,0.39870e+01_rb /) kbo(:, 2,56,12) = (/ & & 0.10395e+01_rb,0.49623e+01_rb,0.65429e+01_rb,0.76840e+01_rb,0.51623e+01_rb /) kbo(:, 3,56,12) = (/ & & 0.13908e+01_rb,0.61440e+01_rb,0.80522e+01_rb,0.93640e+01_rb,0.64360e+01_rb /) kbo(:, 4,56,12) = (/ & & 0.18031e+01_rb,0.74859e+01_rb,0.96627e+01_rb,0.11140e+02_rb,0.77842e+01_rb /) kbo(:, 5,56,12) = (/ & & 0.22626e+01_rb,0.89798e+01_rb,0.11358e+02_rb,0.12960e+02_rb,0.91800e+01_rb /) kbo(:, 1,57,12) = (/ & & 0.67513e+00_rb,0.36336e+01_rb,0.48180e+01_rb,0.56247e+01_rb,0.36284e+01_rb /) kbo(:, 2,57,12) = (/ & & 0.93951e+00_rb,0.46135e+01_rb,0.60910e+01_rb,0.71671e+01_rb,0.47736e+01_rb /) kbo(:, 3,57,12) = (/ & & 0.12699e+01_rb,0.57481e+01_rb,0.75541e+01_rb,0.88107e+01_rb,0.60168e+01_rb /) kbo(:, 4,57,12) = (/ & & 0.16637e+01_rb,0.70362e+01_rb,0.91351e+01_rb,0.10564e+02_rb,0.73465e+01_rb /) kbo(:, 5,57,12) = (/ & & 0.21102e+01_rb,0.84904e+01_rb,0.10807e+02_rb,0.12374e+02_rb,0.87256e+01_rb /) kbo(:, 1,58,12) = (/ & & 0.60371e+00_rb,0.33725e+01_rb,0.44640e+01_rb,0.51801e+01_rb,0.32968e+01_rb /) kbo(:, 2,58,12) = (/ & & 0.85131e+00_rb,0.42951e+01_rb,0.56822e+01_rb,0.66873e+01_rb,0.44155e+01_rb /) kbo(:, 3,58,12) = (/ & & 0.11611e+01_rb,0.53867e+01_rb,0.70919e+01_rb,0.82985e+01_rb,0.56282e+01_rb /) kbo(:, 4,58,12) = (/ & & 0.15366e+01_rb,0.66258e+01_rb,0.86445e+01_rb,0.10022e+02_rb,0.69358e+01_rb /) kbo(:, 5,58,12) = (/ & & 0.19698e+01_rb,0.80329e+01_rb,0.10290e+02_rb,0.11819e+02_rb,0.83004e+01_rb /) kbo(:, 1,59,12) = (/ & & 0.57552e+00_rb,0.32717e+01_rb,0.43250e+01_rb,0.50045e+01_rb,0.31668e+01_rb /) kbo(:, 2,59,12) = (/ & & 0.81716e+00_rb,0.41713e+01_rb,0.55225e+01_rb,0.64964e+01_rb,0.42740e+01_rb /) kbo(:, 3,59,12) = (/ & & 0.11190e+01_rb,0.52446e+01_rb,0.69091e+01_rb,0.80966e+01_rb,0.54744e+01_rb /) kbo(:, 4,59,12) = (/ & & 0.14869e+01_rb,0.64659e+01_rb,0.84502e+01_rb,0.98065e+01_rb,0.67716e+01_rb /) kbo(:, 5,59,12) = (/ & & 0.19139e+01_rb,0.78535e+01_rb,0.10085e+02_rb,0.11598e+02_rb,0.81311e+01_rb /) kbo(:, 1,13,13) = (/ & & 0.79406e+02_rb,0.76977e+02_rb,0.79398e+02_rb,0.72265e+02_rb,0.70608e+02_rb /) kbo(:, 2,13,13) = (/ & & 0.78716e+02_rb,0.76325e+02_rb,0.79145e+02_rb,0.72561e+02_rb,0.71233e+02_rb /) kbo(:, 3,13,13) = (/ & & 0.77960e+02_rb,0.75684e+02_rb,0.78864e+02_rb,0.72811e+02_rb,0.71703e+02_rb /) kbo(:, 4,13,13) = (/ & & 0.77172e+02_rb,0.75038e+02_rb,0.78462e+02_rb,0.73003e+02_rb,0.72067e+02_rb /) kbo(:, 5,13,13) = (/ & & 0.76342e+02_rb,0.74357e+02_rb,0.78015e+02_rb,0.73077e+02_rb,0.72406e+02_rb /) kbo(:, 1,14,13) = (/ & & 0.74002e+02_rb,0.75964e+02_rb,0.80244e+02_rb,0.73931e+02_rb,0.67973e+02_rb /) kbo(:, 2,14,13) = (/ & & 0.73259e+02_rb,0.75350e+02_rb,0.80187e+02_rb,0.74373e+02_rb,0.68671e+02_rb /) kbo(:, 3,14,13) = (/ & & 0.72511e+02_rb,0.74741e+02_rb,0.79998e+02_rb,0.74718e+02_rb,0.69297e+02_rb /) kbo(:, 4,14,13) = (/ & & 0.71760e+02_rb,0.74129e+02_rb,0.79694e+02_rb,0.74933e+02_rb,0.69925e+02_rb /) kbo(:, 5,14,13) = (/ & & 0.70963e+02_rb,0.73482e+02_rb,0.79282e+02_rb,0.75062e+02_rb,0.70592e+02_rb /) kbo(:, 1,15,13) = (/ & & 0.67727e+02_rb,0.74204e+02_rb,0.79973e+02_rb,0.74524e+02_rb,0.64503e+02_rb /) kbo(:, 2,15,13) = (/ & & 0.66995e+02_rb,0.73663e+02_rb,0.80067e+02_rb,0.75070e+02_rb,0.65404e+02_rb /) kbo(:, 3,15,13) = (/ & & 0.66299e+02_rb,0.73080e+02_rb,0.80001e+02_rb,0.75489e+02_rb,0.66341e+02_rb /) kbo(:, 4,15,13) = (/ & & 0.65584e+02_rb,0.72498e+02_rb,0.79808e+02_rb,0.75814e+02_rb,0.67293e+02_rb /) kbo(:, 5,15,13) = (/ & & 0.64881e+02_rb,0.71894e+02_rb,0.79644e+02_rb,0.76073e+02_rb,0.68159e+02_rb /) kbo(:, 1,16,13) = (/ & & 0.60910e+02_rb,0.71706e+02_rb,0.78658e+02_rb,0.73971e+02_rb,0.60740e+02_rb /) kbo(:, 2,16,13) = (/ & & 0.60264e+02_rb,0.71204e+02_rb,0.78897e+02_rb,0.74647e+02_rb,0.61882e+02_rb /) kbo(:, 3,16,13) = (/ & & 0.59646e+02_rb,0.70743e+02_rb,0.78998e+02_rb,0.75253e+02_rb,0.63062e+02_rb /) kbo(:, 4,16,13) = (/ & & 0.59033e+02_rb,0.70274e+02_rb,0.79093e+02_rb,0.75819e+02_rb,0.64263e+02_rb /) kbo(:, 5,16,13) = (/ & & 0.58482e+02_rb,0.69838e+02_rb,0.79175e+02_rb,0.76359e+02_rb,0.65453e+02_rb /) kbo(:, 1,17,13) = (/ & & 0.53962e+02_rb,0.68666e+02_rb,0.76384e+02_rb,0.72467e+02_rb,0.57058e+02_rb /) kbo(:, 2,17,13) = (/ & & 0.53430e+02_rb,0.68393e+02_rb,0.76843e+02_rb,0.73413e+02_rb,0.58438e+02_rb /) kbo(:, 3,17,13) = (/ & & 0.52920e+02_rb,0.68105e+02_rb,0.77273e+02_rb,0.74323e+02_rb,0.59869e+02_rb /) kbo(:, 4,17,13) = (/ & & 0.52483e+02_rb,0.67847e+02_rb,0.77698e+02_rb,0.75214e+02_rb,0.61307e+02_rb /) kbo(:, 5,17,13) = (/ & & 0.52082e+02_rb,0.67535e+02_rb,0.78034e+02_rb,0.76077e+02_rb,0.62785e+02_rb /) kbo(:, 1,18,13) = (/ & & 0.47235e+02_rb,0.65232e+02_rb,0.73440e+02_rb,0.70305e+02_rb,0.53676e+02_rb /) kbo(:, 2,18,13) = (/ & & 0.46798e+02_rb,0.65205e+02_rb,0.74239e+02_rb,0.71589e+02_rb,0.55262e+02_rb /) kbo(:, 3,18,13) = (/ & & 0.46439e+02_rb,0.65179e+02_rb,0.75037e+02_rb,0.72870e+02_rb,0.56922e+02_rb /) kbo(:, 4,18,13) = (/ & & 0.46165e+02_rb,0.65077e+02_rb,0.75787e+02_rb,0.74113e+02_rb,0.58606e+02_rb /) kbo(:, 5,18,13) = (/ & & 0.46076e+02_rb,0.64950e+02_rb,0.76497e+02_rb,0.75319e+02_rb,0.60364e+02_rb /) kbo(:, 1,19,13) = (/ & & 0.40875e+02_rb,0.61443e+02_rb,0.70167e+02_rb,0.67815e+02_rb,0.50666e+02_rb /) kbo(:, 2,19,13) = (/ & & 0.40599e+02_rb,0.61754e+02_rb,0.71348e+02_rb,0.69451e+02_rb,0.52443e+02_rb /) kbo(:, 3,19,13) = (/ & & 0.40423e+02_rb,0.61971e+02_rb,0.72494e+02_rb,0.71103e+02_rb,0.54265e+02_rb /) kbo(:, 4,19,13) = (/ & & 0.40489e+02_rb,0.62135e+02_rb,0.73624e+02_rb,0.72723e+02_rb,0.56176e+02_rb /) kbo(:, 5,19,13) = (/ & & 0.40909e+02_rb,0.62251e+02_rb,0.74691e+02_rb,0.74287e+02_rb,0.58151e+02_rb /) kbo(:, 1,20,13) = (/ & & 0.35203e+02_rb,0.57554e+02_rb,0.66740e+02_rb,0.65266e+02_rb,0.47986e+02_rb /) kbo(:, 2,20,13) = (/ & & 0.35059e+02_rb,0.58164e+02_rb,0.68281e+02_rb,0.67270e+02_rb,0.49928e+02_rb /) kbo(:, 3,20,13) = (/ & & 0.35179e+02_rb,0.58679e+02_rb,0.69865e+02_rb,0.69298e+02_rb,0.51957e+02_rb /) kbo(:, 4,20,13) = (/ & & 0.35687e+02_rb,0.59136e+02_rb,0.71375e+02_rb,0.71295e+02_rb,0.54068e+02_rb /) kbo(:, 5,20,13) = (/ & & 0.36572e+02_rb,0.59563e+02_rb,0.72814e+02_rb,0.73197e+02_rb,0.56184e+02_rb /) kbo(:, 1,21,13) = (/ & & 0.30294e+02_rb,0.53730e+02_rb,0.63335e+02_rb,0.62843e+02_rb,0.45639e+02_rb /) kbo(:, 2,21,13) = (/ & & 0.30407e+02_rb,0.54622e+02_rb,0.65309e+02_rb,0.65230e+02_rb,0.47736e+02_rb /) kbo(:, 3,21,13) = (/ & & 0.30898e+02_rb,0.55470e+02_rb,0.67283e+02_rb,0.67630e+02_rb,0.49955e+02_rb /) kbo(:, 4,21,13) = (/ & & 0.31814e+02_rb,0.56234e+02_rb,0.69205e+02_rb,0.69979e+02_rb,0.52223e+02_rb /) kbo(:, 5,21,13) = (/ & & 0.33171e+02_rb,0.57002e+02_rb,0.70988e+02_rb,0.72170e+02_rb,0.54507e+02_rb /) kbo(:, 1,22,13) = (/ & & 0.26203e+02_rb,0.50178e+02_rb,0.60369e+02_rb,0.60883e+02_rb,0.43752e+02_rb /) kbo(:, 2,22,13) = (/ & & 0.26668e+02_rb,0.51399e+02_rb,0.62731e+02_rb,0.63628e+02_rb,0.46055e+02_rb /) kbo(:, 3,22,13) = (/ & & 0.27573e+02_rb,0.52567e+02_rb,0.65094e+02_rb,0.66337e+02_rb,0.48427e+02_rb /) kbo(:, 4,22,13) = (/ & & 0.28933e+02_rb,0.53710e+02_rb,0.67379e+02_rb,0.68992e+02_rb,0.50840e+02_rb /) kbo(:, 5,22,13) = (/ & & 0.30713e+02_rb,0.54842e+02_rb,0.69500e+02_rb,0.71453e+02_rb,0.53313e+02_rb /) kbo(:, 1,23,13) = (/ & & 0.22949e+02_rb,0.47062e+02_rb,0.57786e+02_rb,0.59287e+02_rb,0.42207e+02_rb /) kbo(:, 2,23,13) = (/ & & 0.23779e+02_rb,0.48563e+02_rb,0.60567e+02_rb,0.62337e+02_rb,0.44709e+02_rb /) kbo(:, 3,23,13) = (/ & & 0.25087e+02_rb,0.50088e+02_rb,0.63282e+02_rb,0.65361e+02_rb,0.47224e+02_rb /) kbo(:, 4,23,13) = (/ & & 0.26833e+02_rb,0.51601e+02_rb,0.65861e+02_rb,0.68253e+02_rb,0.49790e+02_rb /) kbo(:, 5,23,13) = (/ & & 0.28975e+02_rb,0.53148e+02_rb,0.68312e+02_rb,0.70979e+02_rb,0.52442e+02_rb /) kbo(:, 1,24,13) = (/ & & 0.20450e+02_rb,0.44418e+02_rb,0.55719e+02_rb,0.58070e+02_rb,0.41028e+02_rb /) kbo(:, 2,24,13) = (/ & & 0.21647e+02_rb,0.46218e+02_rb,0.58860e+02_rb,0.61413e+02_rb,0.43697e+02_rb /) kbo(:, 3,24,13) = (/ & & 0.23313e+02_rb,0.48082e+02_rb,0.61856e+02_rb,0.64696e+02_rb,0.46357e+02_rb /) kbo(:, 4,24,13) = (/ & & 0.25383e+02_rb,0.49987e+02_rb,0.64735e+02_rb,0.67792e+02_rb,0.49079e+02_rb /) kbo(:, 5,24,13) = (/ & & 0.27788e+02_rb,0.51882e+02_rb,0.67449e+02_rb,0.70725e+02_rb,0.51885e+02_rb /) kbo(:, 1,25,13) = (/ & & 0.18632e+02_rb,0.42267e+02_rb,0.54194e+02_rb,0.57249e+02_rb,0.40189e+02_rb /) kbo(:, 2,25,13) = (/ & & 0.20151e+02_rb,0.44393e+02_rb,0.57583e+02_rb,0.60858e+02_rb,0.43004e+02_rb /) kbo(:, 3,25,13) = (/ & & 0.22101e+02_rb,0.46593e+02_rb,0.60865e+02_rb,0.64337e+02_rb,0.45809e+02_rb /) kbo(:, 4,25,13) = (/ & & 0.24391e+02_rb,0.48836e+02_rb,0.63984e+02_rb,0.67613e+02_rb,0.48696e+02_rb /) kbo(:, 5,25,13) = (/ & & 0.26959e+02_rb,0.50995e+02_rb,0.66882e+02_rb,0.70682e+02_rb,0.51602e+02_rb /) kbo(:, 1,26,13) = (/ & & 0.17370e+02_rb,0.40657e+02_rb,0.53173e+02_rb,0.56858e+02_rb,0.39692e+02_rb /) kbo(:, 2,26,13) = (/ & & 0.19155e+02_rb,0.43087e+02_rb,0.56801e+02_rb,0.60671e+02_rb,0.42632e+02_rb /) kbo(:, 3,26,13) = (/ & & 0.21292e+02_rb,0.45598e+02_rb,0.60302e+02_rb,0.64290e+02_rb,0.45592e+02_rb /) kbo(:, 4,26,13) = (/ & & 0.23727e+02_rb,0.48098e+02_rb,0.63591e+02_rb,0.67690e+02_rb,0.48603e+02_rb /) kbo(:, 5,26,13) = (/ & & 0.26455e+02_rb,0.50493e+02_rb,0.66616e+02_rb,0.70861e+02_rb,0.51588e+02_rb /) kbo(:, 1,27,13) = (/ & & 0.16499e+02_rb,0.39533e+02_rb,0.52563e+02_rb,0.56787e+02_rb,0.39461e+02_rb /) kbo(:, 2,27,13) = (/ & & 0.18462e+02_rb,0.42240e+02_rb,0.56391e+02_rb,0.60738e+02_rb,0.42525e+02_rb /) kbo(:, 3,27,13) = (/ & & 0.20737e+02_rb,0.45009e+02_rb,0.60060e+02_rb,0.64459e+02_rb,0.45612e+02_rb /) kbo(:, 4,27,13) = (/ & & 0.23336e+02_rb,0.47712e+02_rb,0.63452e+02_rb,0.67944e+02_rb,0.48705e+02_rb /) kbo(:, 5,27,13) = (/ & & 0.26215e+02_rb,0.50322e+02_rb,0.66583e+02_rb,0.71174e+02_rb,0.51756e+02_rb /) kbo(:, 1,28,13) = (/ & & 0.15882e+02_rb,0.38845e+02_rb,0.52318e+02_rb,0.56965e+02_rb,0.39468e+02_rb /) kbo(:, 2,28,13) = (/ & & 0.17994e+02_rb,0.41785e+02_rb,0.56289e+02_rb,0.61007e+02_rb,0.42649e+02_rb /) kbo(:, 3,28,13) = (/ & & 0.20424e+02_rb,0.44749e+02_rb,0.60052e+02_rb,0.64808e+02_rb,0.45826e+02_rb /) kbo(:, 4,28,13) = (/ & & 0.23178e+02_rb,0.47630e+02_rb,0.63526e+02_rb,0.68347e+02_rb,0.48967e+02_rb /) kbo(:, 5,28,13) = (/ & & 0.26217e+02_rb,0.50385e+02_rb,0.66714e+02_rb,0.71584e+02_rb,0.52071e+02_rb /) kbo(:, 1,29,13) = (/ & & 0.15496e+02_rb,0.38533e+02_rb,0.52388e+02_rb,0.57377e+02_rb,0.39687e+02_rb /) kbo(:, 2,29,13) = (/ & & 0.17758e+02_rb,0.41667e+02_rb,0.56458e+02_rb,0.61470e+02_rb,0.42963e+02_rb /) kbo(:, 3,29,13) = (/ & & 0.20345e+02_rb,0.44782e+02_rb,0.60267e+02_rb,0.65320e+02_rb,0.46203e+02_rb /) kbo(:, 4,29,13) = (/ & & 0.23257e+02_rb,0.47788e+02_rb,0.63789e+02_rb,0.68865e+02_rb,0.49378e+02_rb /) kbo(:, 5,29,13) = (/ & & 0.26442e+02_rb,0.50623e+02_rb,0.67004e+02_rb,0.72085e+02_rb,0.52513e+02_rb /) kbo(:, 1,30,13) = (/ & & 0.15305e+02_rb,0.38520e+02_rb,0.52687e+02_rb,0.57942e+02_rb,0.40075e+02_rb /) kbo(:, 2,30,13) = (/ & & 0.17725e+02_rb,0.41787e+02_rb,0.56809e+02_rb,0.62069e+02_rb,0.43408e+02_rb /) kbo(:, 3,30,13) = (/ & & 0.20471e+02_rb,0.45011e+02_rb,0.60646e+02_rb,0.65935e+02_rb,0.46678e+02_rb /) kbo(:, 4,30,13) = (/ & & 0.23532e+02_rb,0.48109e+02_rb,0.64191e+02_rb,0.69457e+02_rb,0.49879e+02_rb /) kbo(:, 5,30,13) = (/ & & 0.26835e+02_rb,0.50980e+02_rb,0.67409e+02_rb,0.72648e+02_rb,0.53041e+02_rb /) kbo(:, 1,31,13) = (/ & & 0.15319e+02_rb,0.38759e+02_rb,0.53187e+02_rb,0.58637e+02_rb,0.40597e+02_rb /) kbo(:, 2,31,13) = (/ & & 0.17890e+02_rb,0.42121e+02_rb,0.57326e+02_rb,0.62778e+02_rb,0.43969e+02_rb /) kbo(:, 3,31,13) = (/ & & 0.20784e+02_rb,0.45419e+02_rb,0.61174e+02_rb,0.66627e+02_rb,0.47246e+02_rb /) kbo(:, 4,31,13) = (/ & & 0.23963e+02_rb,0.48555e+02_rb,0.64709e+02_rb,0.70119e+02_rb,0.50470e+02_rb /) kbo(:, 5,31,13) = (/ & & 0.27377e+02_rb,0.51448e+02_rb,0.67912e+02_rb,0.73265e+02_rb,0.53642e+02_rb /) kbo(:, 1,32,13) = (/ & & 0.15518e+02_rb,0.39176e+02_rb,0.53833e+02_rb,0.59441e+02_rb,0.41231e+02_rb /) kbo(:, 2,32,13) = (/ & & 0.18219e+02_rb,0.42608e+02_rb,0.57967e+02_rb,0.63575e+02_rb,0.44614e+02_rb /) kbo(:, 3,32,13) = (/ & & 0.21240e+02_rb,0.45958e+02_rb,0.61807e+02_rb,0.67376e+02_rb,0.47899e+02_rb /) kbo(:, 4,32,13) = (/ & & 0.24535e+02_rb,0.49103e+02_rb,0.65323e+02_rb,0.70819e+02_rb,0.51129e+02_rb /) kbo(:, 5,32,13) = (/ & & 0.28030e+02_rb,0.51991e+02_rb,0.68477e+02_rb,0.73912e+02_rb,0.54297e+02_rb /) kbo(:, 1,33,13) = (/ & & 0.15857e+02_rb,0.39728e+02_rb,0.54587e+02_rb,0.60326e+02_rb,0.41934e+02_rb /) kbo(:, 2,33,13) = (/ & & 0.18681e+02_rb,0.43207e+02_rb,0.58700e+02_rb,0.64428e+02_rb,0.45312e+02_rb /) kbo(:, 3,33,13) = (/ & & 0.21817e+02_rb,0.46584e+02_rb,0.62510e+02_rb,0.68164e+02_rb,0.48601e+02_rb /) kbo(:, 4,33,13) = (/ & & 0.25208e+02_rb,0.49716e+02_rb,0.65986e+02_rb,0.71546e+02_rb,0.51832e+02_rb /) kbo(:, 5,33,13) = (/ & & 0.28769e+02_rb,0.52588e+02_rb,0.69085e+02_rb,0.74576e+02_rb,0.54996e+02_rb /) kbo(:, 1,34,13) = (/ & & 0.16218e+02_rb,0.40255e+02_rb,0.55264e+02_rb,0.61104e+02_rb,0.42563e+02_rb /) kbo(:, 2,34,13) = (/ & & 0.19136e+02_rb,0.43775e+02_rb,0.59363e+02_rb,0.65173e+02_rb,0.45933e+02_rb /) kbo(:, 3,34,13) = (/ & & 0.22367e+02_rb,0.47148e+02_rb,0.63138e+02_rb,0.68848e+02_rb,0.49223e+02_rb /) kbo(:, 4,34,13) = (/ & & 0.25824e+02_rb,0.50264e+02_rb,0.66569e+02_rb,0.72180e+02_rb,0.52454e+02_rb /) kbo(:, 5,34,13) = (/ & & 0.29432e+02_rb,0.53119e+02_rb,0.69617e+02_rb,0.75149e+02_rb,0.55607e+02_rb /) kbo(:, 1,35,13) = (/ & & 0.16382e+02_rb,0.40509e+02_rb,0.55591e+02_rb,0.61512e+02_rb,0.42891e+02_rb /) kbo(:, 2,35,13) = (/ & & 0.19362e+02_rb,0.44056e+02_rb,0.59682e+02_rb,0.65556e+02_rb,0.46259e+02_rb /) kbo(:, 3,35,13) = (/ & & 0.22646e+02_rb,0.47437e+02_rb,0.63450e+02_rb,0.69212e+02_rb,0.49551e+02_rb /) kbo(:, 4,35,13) = (/ & & 0.26140e+02_rb,0.50553e+02_rb,0.66864e+02_rb,0.72519e+02_rb,0.52785e+02_rb /) kbo(:, 5,35,13) = (/ & & 0.29778e+02_rb,0.53403e+02_rb,0.69889e+02_rb,0.75460e+02_rb,0.55937e+02_rb /) kbo(:, 1,36,13) = (/ & & 0.16282e+02_rb,0.40412e+02_rb,0.55499e+02_rb,0.61489e+02_rb,0.42866e+02_rb /) kbo(:, 2,36,13) = (/ & & 0.19286e+02_rb,0.43996e+02_rb,0.59618e+02_rb,0.65550e+02_rb,0.46244e+02_rb /) kbo(:, 3,36,13) = (/ & & 0.22586e+02_rb,0.47399e+02_rb,0.63406e+02_rb,0.69212e+02_rb,0.49542e+02_rb /) kbo(:, 4,36,13) = (/ & & 0.26096e+02_rb,0.50533e+02_rb,0.66829e+02_rb,0.72526e+02_rb,0.52781e+02_rb /) kbo(:, 5,36,13) = (/ & & 0.29750e+02_rb,0.53407e+02_rb,0.69875e+02_rb,0.75478e+02_rb,0.55943e+02_rb /) kbo(:, 1,37,13) = (/ & & 0.15776e+02_rb,0.39797e+02_rb,0.54788e+02_rb,0.60844e+02_rb,0.42332e+02_rb /) kbo(:, 2,37,13) = (/ & & 0.18757e+02_rb,0.43418e+02_rb,0.58970e+02_rb,0.64965e+02_rb,0.45736e+02_rb /) kbo(:, 3,37,13) = (/ & & 0.22032e+02_rb,0.46879e+02_rb,0.62830e+02_rb,0.68697e+02_rb,0.49053e+02_rb /) kbo(:, 4,37,13) = (/ & & 0.25533e+02_rb,0.50076e+02_rb,0.66324e+02_rb,0.72072e+02_rb,0.52311e+02_rb /) kbo(:, 5,37,13) = (/ & & 0.29180e+02_rb,0.52997e+02_rb,0.69437e+02_rb,0.75080e+02_rb,0.55481e+02_rb /) kbo(:, 1,38,13) = (/ & & 0.15271e+02_rb,0.39166e+02_rb,0.54054e+02_rb,0.60165e+02_rb,0.41777e+02_rb /) kbo(:, 2,38,13) = (/ & & 0.18227e+02_rb,0.42823e+02_rb,0.58302e+02_rb,0.64350e+02_rb,0.45207e+02_rb /) kbo(:, 3,38,13) = (/ & & 0.21473e+02_rb,0.46333e+02_rb,0.62224e+02_rb,0.68144e+02_rb,0.48540e+02_rb /) kbo(:, 4,38,13) = (/ & & 0.24954e+02_rb,0.49588e+02_rb,0.65790e+02_rb,0.71578e+02_rb,0.51811e+02_rb /) kbo(:, 5,38,13) = (/ & & 0.28592e+02_rb,0.52564e+02_rb,0.68973e+02_rb,0.74653e+02_rb,0.55000e+02_rb /) kbo(:, 1,39,13) = (/ & & 0.14788e+02_rb,0.38557e+02_rb,0.53339e+02_rb,0.59493e+02_rb,0.41232e+02_rb /) kbo(:, 2,39,13) = (/ & & 0.17725e+02_rb,0.42239e+02_rb,0.57643e+02_rb,0.63735e+02_rb,0.44689e+02_rb /) kbo(:, 3,39,13) = (/ & & 0.20936e+02_rb,0.45800e+02_rb,0.61629e+02_rb,0.67599e+02_rb,0.48036e+02_rb /) kbo(:, 4,39,13) = (/ & & 0.24393e+02_rb,0.49102e+02_rb,0.65258e+02_rb,0.71089e+02_rb,0.51322e+02_rb /) kbo(:, 5,39,13) = (/ & & 0.28020e+02_rb,0.52130e+02_rb,0.68507e+02_rb,0.74225e+02_rb,0.54528e+02_rb /) kbo(:, 1,40,13) = (/ & & 0.14035e+02_rb,0.37576e+02_rb,0.52178e+02_rb,0.58374e+02_rb,0.40328e+02_rb /) kbo(:, 2,40,13) = (/ & & 0.16933e+02_rb,0.41290e+02_rb,0.56557e+02_rb,0.62694e+02_rb,0.43829e+02_rb /) kbo(:, 3,40,13) = (/ & & 0.20073e+02_rb,0.44909e+02_rb,0.60638e+02_rb,0.66668e+02_rb,0.47203e+02_rb /) kbo(:, 4,40,13) = (/ & & 0.23486e+02_rb,0.48287e+02_rb,0.64365e+02_rb,0.70250e+02_rb,0.50504e+02_rb /) kbo(:, 5,40,13) = (/ & & 0.27084e+02_rb,0.51393e+02_rb,0.67719e+02_rb,0.73485e+02_rb,0.53736e+02_rb /) kbo(:, 1,41,13) = (/ & & 0.13270e+02_rb,0.36551e+02_rb,0.50952e+02_rb,0.57187e+02_rb,0.39381e+02_rb /) kbo(:, 2,41,13) = (/ & & 0.16132e+02_rb,0.40293e+02_rb,0.55396e+02_rb,0.61573e+02_rb,0.42921e+02_rb /) kbo(:, 3,41,13) = (/ & & 0.19195e+02_rb,0.43957e+02_rb,0.59575e+02_rb,0.65658e+02_rb,0.46320e+02_rb /) kbo(:, 4,41,13) = (/ & & 0.22552e+02_rb,0.47415e+02_rb,0.63413e+02_rb,0.69340e+02_rb,0.49639e+02_rb /) kbo(:, 5,41,13) = (/ & & 0.26115e+02_rb,0.50603e+02_rb,0.66868e+02_rb,0.72675e+02_rb,0.52897e+02_rb /) kbo(:, 1,42,13) = (/ & & 0.12533e+02_rb,0.35537e+02_rb,0.49715e+02_rb,0.55979e+02_rb,0.38430e+02_rb /) kbo(:, 2,42,13) = (/ & & 0.15340e+02_rb,0.39292e+02_rb,0.54229e+02_rb,0.60445e+02_rb,0.42004e+02_rb /) kbo(:, 3,42,13) = (/ & & 0.18342e+02_rb,0.42991e+02_rb,0.58494e+02_rb,0.64631e+02_rb,0.45437e+02_rb /) kbo(:, 4,42,13) = (/ & & 0.21634e+02_rb,0.46527e+02_rb,0.62435e+02_rb,0.68417e+02_rb,0.48777e+02_rb /) kbo(:, 5,42,13) = (/ & & 0.25154e+02_rb,0.49791e+02_rb,0.65989e+02_rb,0.71836e+02_rb,0.52054e+02_rb /) kbo(:, 1,43,13) = (/ & & 0.11668e+02_rb,0.34309e+02_rb,0.48203e+02_rb,0.54498e+02_rb,0.37270e+02_rb /) kbo(:, 2,43,13) = (/ & & 0.14402e+02_rb,0.38082e+02_rb,0.52797e+02_rb,0.59048e+02_rb,0.40873e+02_rb /) kbo(:, 3,43,13) = (/ & & 0.17344e+02_rb,0.41812e+02_rb,0.57160e+02_rb,0.63341e+02_rb,0.44355e+02_rb /) kbo(:, 4,43,13) = (/ & & 0.20545e+02_rb,0.45427e+02_rb,0.61209e+02_rb,0.67260e+02_rb,0.47724e+02_rb /) kbo(:, 5,43,13) = (/ & & 0.24007e+02_rb,0.48779e+02_rb,0.64893e+02_rb,0.70794e+02_rb,0.51019e+02_rb /) kbo(:, 1,44,13) = (/ & & 0.10777e+02_rb,0.32982e+02_rb,0.46555e+02_rb,0.52865e+02_rb,0.36017e+02_rb /) kbo(:, 2,44,13) = (/ & & 0.13422e+02_rb,0.36774e+02_rb,0.51234e+02_rb,0.57518e+02_rb,0.39647e+02_rb /) kbo(:, 3,44,13) = (/ & & 0.16301e+02_rb,0.40529e+02_rb,0.55688e+02_rb,0.61909e+02_rb,0.43184e+02_rb /) kbo(:, 4,44,13) = (/ & & 0.19410e+02_rb,0.44205e+02_rb,0.59841e+02_rb,0.65956e+02_rb,0.46575e+02_rb /) kbo(:, 5,44,13) = (/ & & 0.22792e+02_rb,0.47657e+02_rb,0.63668e+02_rb,0.69623e+02_rb,0.49898e+02_rb /) kbo(:, 1,45,13) = (/ & & 0.99376e+01_rb,0.31658e+02_rb,0.44891e+02_rb,0.51201e+02_rb,0.34758e+02_rb /) kbo(:, 2,45,13) = (/ & & 0.12468e+02_rb,0.35468e+02_rb,0.49648e+02_rb,0.55955e+02_rb,0.38412e+02_rb /) kbo(:, 3,45,13) = (/ & & 0.15282e+02_rb,0.39240e+02_rb,0.54182e+02_rb,0.60441e+02_rb,0.41991e+02_rb /) kbo(:, 4,45,13) = (/ & & 0.18307e+02_rb,0.42958e+02_rb,0.58447e+02_rb,0.64617e+02_rb,0.45427e+02_rb /) kbo(:, 5,45,13) = (/ & & 0.21602e+02_rb,0.46508e+02_rb,0.62404e+02_rb,0.68417e+02_rb,0.48775e+02_rb /) kbo(:, 1,46,13) = (/ & & 0.90997e+01_rb,0.30250e+02_rb,0.43114e+02_rb,0.49420e+02_rb,0.33417e+02_rb /) kbo(:, 2,46,13) = (/ & & 0.11497e+02_rb,0.34076e+02_rb,0.47932e+02_rb,0.54263e+02_rb,0.37087e+02_rb /) kbo(:, 3,46,13) = (/ & & 0.14229e+02_rb,0.37865e+02_rb,0.52547e+02_rb,0.58836e+02_rb,0.40705e+02_rb /) kbo(:, 4,46,13) = (/ & & 0.17178e+02_rb,0.41613e+02_rb,0.56930e+02_rb,0.63142e+02_rb,0.44193e+02_rb /) kbo(:, 5,46,13) = (/ & & 0.20366e+02_rb,0.45251e+02_rb,0.61008e+02_rb,0.67091e+02_rb,0.47569e+02_rb /) kbo(:, 1,47,13) = (/ & & 0.82326e+01_rb,0.28698e+02_rb,0.41131e+02_rb,0.47406e+02_rb,0.31895e+02_rb /) kbo(:, 2,47,13) = (/ & & 0.10467e+02_rb,0.32516e+02_rb,0.45987e+02_rb,0.52322e+02_rb,0.35605e+02_rb /) kbo(:, 3,47,13) = (/ & & 0.13084e+02_rb,0.36324e+02_rb,0.50700e+02_rb,0.57015e+02_rb,0.39250e+02_rb /) kbo(:, 4,47,13) = (/ & & 0.15956e+02_rb,0.40097e+02_rb,0.55181e+02_rb,0.61437e+02_rb,0.42802e+02_rb /) kbo(:, 5,47,13) = (/ & & 0.19031e+02_rb,0.43799e+02_rb,0.59396e+02_rb,0.65543e+02_rb,0.46212e+02_rb /) kbo(:, 1,48,13) = (/ & & 0.74393e+01_rb,0.27161e+02_rb,0.39157e+02_rb,0.45343e+02_rb,0.30350e+02_rb /) kbo(:, 2,48,13) = (/ & & 0.95049e+01_rb,0.30953e+02_rb,0.44020e+02_rb,0.50347e+02_rb,0.34113e+02_rb /) kbo(:, 3,48,13) = (/ & & 0.11978e+02_rb,0.34782e+02_rb,0.48813e+02_rb,0.55151e+02_rb,0.37782e+02_rb /) kbo(:, 4,48,13) = (/ & & 0.14764e+02_rb,0.38570e+02_rb,0.53387e+02_rb,0.59681e+02_rb,0.41384e+02_rb /) kbo(:, 5,48,13) = (/ & & 0.17748e+02_rb,0.42312e+02_rb,0.57728e+02_rb,0.63933e+02_rb,0.44844e+02_rb /) kbo(:, 1,49,13) = (/ & & 0.67167e+01_rb,0.25650e+02_rb,0.37197e+02_rb,0.43247e+02_rb,0.28796e+02_rb /) kbo(:, 2,49,13) = (/ & & 0.86101e+01_rb,0.29402e+02_rb,0.42045e+02_rb,0.48354e+02_rb,0.32610e+02_rb /) kbo(:, 3,49,13) = (/ & & 0.10926e+02_rb,0.33234e+02_rb,0.46891e+02_rb,0.53243e+02_rb,0.36305e+02_rb /) kbo(:, 4,49,13) = (/ & & 0.13605e+02_rb,0.37035e+02_rb,0.51562e+02_rb,0.57884e+02_rb,0.39936e+02_rb /) kbo(:, 5,49,13) = (/ & & 0.16513e+02_rb,0.40804e+02_rb,0.56010e+02_rb,0.62260e+02_rb,0.43466e+02_rb /) kbo(:, 1,50,13) = (/ & & 0.60927e+01_rb,0.24264e+02_rb,0.35366e+02_rb,0.41271e+02_rb,0.27331e+02_rb /) kbo(:, 2,50,13) = (/ & & 0.78376e+01_rb,0.27958e+02_rb,0.40194e+02_rb,0.46451e+02_rb,0.31176e+02_rb /) kbo(:, 3,50,13) = (/ & & 0.99975e+01_rb,0.31777e+02_rb,0.45061e+02_rb,0.51408e+02_rb,0.34914e+02_rb /) kbo(:, 4,50,13) = (/ & & 0.12552e+02_rb,0.35595e+02_rb,0.49816e+02_rb,0.56159e+02_rb,0.38569e+02_rb /) kbo(:, 5,50,13) = (/ & & 0.15384e+02_rb,0.39379e+02_rb,0.54352e+02_rb,0.60637e+02_rb,0.42153e+02_rb /) kbo(:, 1,51,13) = (/ & & 0.55303e+01_rb,0.22951e+02_rb,0.33599e+02_rb,0.39341e+02_rb,0.25901e+02_rb /) kbo(:, 2,51,13) = (/ & & 0.71468e+01_rb,0.26574e+02_rb,0.38412e+02_rb,0.44565e+02_rb,0.29771e+02_rb /) kbo(:, 3,51,13) = (/ & & 0.91530e+01_rb,0.30360e+02_rb,0.43274e+02_rb,0.49608e+02_rb,0.33559e+02_rb /) kbo(:, 4,51,13) = (/ & & 0.11570e+02_rb,0.34196e+02_rb,0.48091e+02_rb,0.54457e+02_rb,0.37233e+02_rb /) kbo(:, 5,51,13) = (/ & & 0.14322e+02_rb,0.37996e+02_rb,0.52708e+02_rb,0.59018e+02_rb,0.40851e+02_rb /) kbo(:, 1,52,13) = (/ & & 0.50134e+01_rb,0.21673e+02_rb,0.31833e+02_rb,0.37382e+02_rb,0.24463e+02_rb /) kbo(:, 2,52,13) = (/ & & 0.65135e+01_rb,0.25216e+02_rb,0.36639e+02_rb,0.42658e+02_rb,0.28359e+02_rb /) kbo(:, 3,52,13) = (/ & & 0.83642e+01_rb,0.28959e+02_rb,0.41485e+02_rb,0.47797e+02_rb,0.32187e+02_rb /) kbo(:, 4,52,13) = (/ & & 0.10636e+02_rb,0.32789e+02_rb,0.46344e+02_rb,0.52709e+02_rb,0.35895e+02_rb /) kbo(:, 5,52,13) = (/ & & 0.13285e+02_rb,0.36604e+02_rb,0.51047e+02_rb,0.57380e+02_rb,0.39540e+02_rb /) kbo(:, 1,53,13) = (/ & & 0.45376e+01_rb,0.20438e+02_rb,0.30067e+02_rb,0.35396e+02_rb,0.23001e+02_rb /) kbo(:, 2,53,13) = (/ & & 0.59241e+01_rb,0.23884e+02_rb,0.34872e+02_rb,0.40744e+02_rb,0.26941e+02_rb /) kbo(:, 3,53,13) = (/ & & 0.76354e+01_rb,0.27568e+02_rb,0.39698e+02_rb,0.45939e+02_rb,0.30794e+02_rb /) kbo(:, 4,53,13) = (/ & & 0.97536e+01_rb,0.31378e+02_rb,0.44569e+02_rb,0.50924e+02_rb,0.34545e+02_rb /) kbo(:, 5,53,13) = (/ & & 0.12275e+02_rb,0.35210e+02_rb,0.49348e+02_rb,0.55701e+02_rb,0.38212e+02_rb /) kbo(:, 1,54,13) = (/ & & 0.41389e+01_rb,0.19353e+02_rb,0.28454e+02_rb,0.33563e+02_rb,0.21647e+02_rb /) kbo(:, 2,54,13) = (/ & & 0.54194e+01_rb,0.22692e+02_rb,0.33259e+02_rb,0.38976e+02_rb,0.25632e+02_rb /) kbo(:, 3,54,13) = (/ & & 0.70164e+01_rb,0.26307e+02_rb,0.38072e+02_rb,0.44208e+02_rb,0.29508e+02_rb /) kbo(:, 4,54,13) = (/ & & 0.89936e+01_rb,0.30086e+02_rb,0.42934e+02_rb,0.49276e+02_rb,0.33306e+02_rb /) kbo(:, 5,54,13) = (/ & & 0.11387e+02_rb,0.33931e+02_rb,0.47765e+02_rb,0.54132e+02_rb,0.36987e+02_rb /) kbo(:, 1,55,13) = (/ & & 0.37927e+01_rb,0.18358e+02_rb,0.26927e+02_rb,0.31801e+02_rb,0.20350e+02_rb /) kbo(:, 2,55,13) = (/ & & 0.49755e+01_rb,0.21582e+02_rb,0.31711e+02_rb,0.37250e+02_rb,0.24368e+02_rb /) kbo(:, 3,55,13) = (/ & & 0.64669e+01_rb,0.25119e+02_rb,0.36517e+02_rb,0.42532e+02_rb,0.28268e+02_rb /) kbo(:, 4,55,13) = (/ & & 0.83082e+01_rb,0.28857e+02_rb,0.41362e+02_rb,0.47679e+02_rb,0.32095e+02_rb /) kbo(:, 5,55,13) = (/ & & 0.10573e+02_rb,0.32695e+02_rb,0.46225e+02_rb,0.52593e+02_rb,0.35810e+02_rb /) kbo(:, 1,56,13) = (/ & & 0.34680e+01_rb,0.17374e+02_rb,0.25413e+02_rb,0.30039e+02_rb,0.19069e+02_rb /) kbo(:, 2,56,13) = (/ & & 0.45601e+01_rb,0.20503e+02_rb,0.30163e+02_rb,0.35509e+02_rb,0.23088e+02_rb /) kbo(:, 3,56,13) = (/ & & 0.59518e+01_rb,0.23956e+02_rb,0.34971e+02_rb,0.40858e+02_rb,0.27027e+02_rb /) kbo(:, 4,56,13) = (/ & & 0.76711e+01_rb,0.27642e+02_rb,0.39801e+02_rb,0.46057e+02_rb,0.30878e+02_rb /) kbo(:, 5,56,13) = (/ & & 0.98017e+01_rb,0.31462e+02_rb,0.44674e+02_rb,0.51031e+02_rb,0.34630e+02_rb /) kbo(:, 1,57,13) = (/ & & 0.31571e+01_rb,0.16389e+02_rb,0.23903e+02_rb,0.28270e+02_rb,0.17802e+02_rb /) kbo(:, 2,57,13) = (/ & & 0.41775e+01_rb,0.19466e+02_rb,0.28628e+02_rb,0.33765e+02_rb,0.21796e+02_rb /) kbo(:, 3,57,13) = (/ & & 0.54676e+01_rb,0.22817e+02_rb,0.33433e+02_rb,0.39170e+02_rb,0.25777e+02_rb /) kbo(:, 4,57,13) = (/ & & 0.70767e+01_rb,0.26436e+02_rb,0.38248e+02_rb,0.44404e+02_rb,0.29650e+02_rb /) kbo(:, 5,57,13) = (/ & & 0.90728e+01_rb,0.30224e+02_rb,0.43110e+02_rb,0.49455e+02_rb,0.33445e+02_rb /) kbo(:, 1,58,13) = (/ & & 0.28749e+01_rb,0.15464e+02_rb,0.22485e+02_rb,0.26596e+02_rb,0.16612e+02_rb /) kbo(:, 2,58,13) = (/ & & 0.38438e+01_rb,0.18517e+02_rb,0.27179e+02_rb,0.32099e+02_rb,0.20568e+02_rb /) kbo(:, 3,58,13) = (/ & & 0.50410e+01_rb,0.21758e+02_rb,0.31967e+02_rb,0.37546e+02_rb,0.24584e+02_rb /) kbo(:, 4,58,13) = (/ & & 0.65535e+01_rb,0.25311e+02_rb,0.36779e+02_rb,0.42823e+02_rb,0.28478e+02_rb /) kbo(:, 5,58,13) = (/ & & 0.84187e+01_rb,0.29065e+02_rb,0.41628e+02_rb,0.47951e+02_rb,0.32304e+02_rb /) kbo(:, 1,59,13) = (/ & & 0.27657e+01_rb,0.15098e+02_rb,0.21927e+02_rb,0.25930e+02_rb,0.16137e+02_rb /) kbo(:, 2,59,13) = (/ & & 0.37163e+01_rb,0.18141e+02_rb,0.26603e+02_rb,0.31433e+02_rb,0.20078e+02_rb /) kbo(:, 3,59,13) = (/ & & 0.48770e+01_rb,0.21342e+02_rb,0.31379e+02_rb,0.36884e+02_rb,0.24100e+02_rb /) kbo(:, 4,59,13) = (/ & & 0.63518e+01_rb,0.24865e+02_rb,0.36188e+02_rb,0.42182e+02_rb,0.28007e+02_rb /) kbo(:, 5,59,13) = (/ & & 0.81684e+01_rb,0.28600e+02_rb,0.41035e+02_rb,0.47343e+02_rb,0.31847e+02_rb /) kbo(:, 1,13,14) = (/ & & 0.20563e+03_rb,0.16395e+03_rb,0.15131e+03_rb,0.13928e+03_rb,0.17336e+03_rb /) kbo(:, 2,13,14) = (/ & & 0.20583e+03_rb,0.16346e+03_rb,0.15102e+03_rb,0.13867e+03_rb,0.17209e+03_rb /) kbo(:, 3,13,14) = (/ & & 0.20579e+03_rb,0.16282e+03_rb,0.15051e+03_rb,0.13803e+03_rb,0.17119e+03_rb /) kbo(:, 4,13,14) = (/ & & 0.20538e+03_rb,0.16198e+03_rb,0.15005e+03_rb,0.13746e+03_rb,0.17062e+03_rb /) kbo(:, 5,13,14) = (/ & & 0.20471e+03_rb,0.16100e+03_rb,0.14942e+03_rb,0.13685e+03_rb,0.16998e+03_rb /) kbo(:, 1,14,14) = (/ & & 0.21387e+03_rb,0.17486e+03_rb,0.16410e+03_rb,0.14896e+03_rb,0.17926e+03_rb /) kbo(:, 2,14,14) = (/ & & 0.21398e+03_rb,0.17407e+03_rb,0.16354e+03_rb,0.14849e+03_rb,0.17872e+03_rb /) kbo(:, 3,14,14) = (/ & & 0.21371e+03_rb,0.17306e+03_rb,0.16300e+03_rb,0.14796e+03_rb,0.17838e+03_rb /) kbo(:, 4,14,14) = (/ & & 0.21320e+03_rb,0.17193e+03_rb,0.16238e+03_rb,0.14748e+03_rb,0.17807e+03_rb /) kbo(:, 5,14,14) = (/ & & 0.21239e+03_rb,0.17062e+03_rb,0.16158e+03_rb,0.14661e+03_rb,0.17726e+03_rb /) kbo(:, 1,15,14) = (/ & & 0.21868e+03_rb,0.18392e+03_rb,0.17597e+03_rb,0.15877e+03_rb,0.18409e+03_rb /) kbo(:, 2,15,14) = (/ & & 0.21861e+03_rb,0.18285e+03_rb,0.17533e+03_rb,0.15845e+03_rb,0.18413e+03_rb /) kbo(:, 3,15,14) = (/ & & 0.21838e+03_rb,0.18168e+03_rb,0.17469e+03_rb,0.15814e+03_rb,0.18423e+03_rb /) kbo(:, 4,15,14) = (/ & & 0.21785e+03_rb,0.18028e+03_rb,0.17392e+03_rb,0.15747e+03_rb,0.18391e+03_rb /) kbo(:, 5,15,14) = (/ & & 0.21714e+03_rb,0.17881e+03_rb,0.17281e+03_rb,0.15644e+03_rb,0.18337e+03_rb /) kbo(:, 1,16,14) = (/ & & 0.21989e+03_rb,0.19090e+03_rb,0.18666e+03_rb,0.16823e+03_rb,0.18717e+03_rb /) kbo(:, 2,16,14) = (/ & & 0.22000e+03_rb,0.18989e+03_rb,0.18604e+03_rb,0.16822e+03_rb,0.18797e+03_rb /) kbo(:, 3,16,14) = (/ & & 0.21982e+03_rb,0.18856e+03_rb,0.18533e+03_rb,0.16794e+03_rb,0.18851e+03_rb /) kbo(:, 4,16,14) = (/ & & 0.21954e+03_rb,0.18709e+03_rb,0.18432e+03_rb,0.16715e+03_rb,0.18854e+03_rb /) kbo(:, 5,16,14) = (/ & & 0.21898e+03_rb,0.18542e+03_rb,0.18303e+03_rb,0.16600e+03_rb,0.18839e+03_rb /) kbo(:, 1,17,14) = (/ & & 0.21793e+03_rb,0.19596e+03_rb,0.19603e+03_rb,0.17703e+03_rb,0.18857e+03_rb /) kbo(:, 2,17,14) = (/ & & 0.21821e+03_rb,0.19492e+03_rb,0.19548e+03_rb,0.17725e+03_rb,0.19023e+03_rb /) kbo(:, 3,17,14) = (/ & & 0.21850e+03_rb,0.19369e+03_rb,0.19462e+03_rb,0.17701e+03_rb,0.19133e+03_rb /) kbo(:, 4,17,14) = (/ & & 0.21855e+03_rb,0.19221e+03_rb,0.19343e+03_rb,0.17616e+03_rb,0.19194e+03_rb /) kbo(:, 5,17,14) = (/ & & 0.21839e+03_rb,0.19057e+03_rb,0.19206e+03_rb,0.17490e+03_rb,0.19225e+03_rb /) kbo(:, 1,18,14) = (/ & & 0.21311e+03_rb,0.19935e+03_rb,0.20385e+03_rb,0.18492e+03_rb,0.18864e+03_rb /) kbo(:, 2,18,14) = (/ & & 0.21399e+03_rb,0.19838e+03_rb,0.20339e+03_rb,0.18536e+03_rb,0.19117e+03_rb /) kbo(:, 3,18,14) = (/ & & 0.21477e+03_rb,0.19727e+03_rb,0.20251e+03_rb,0.18517e+03_rb,0.19296e+03_rb /) kbo(:, 4,18,14) = (/ & & 0.21537e+03_rb,0.19602e+03_rb,0.20131e+03_rb,0.18433e+03_rb,0.19426e+03_rb /) kbo(:, 5,18,14) = (/ & & 0.21594e+03_rb,0.19460e+03_rb,0.19989e+03_rb,0.18299e+03_rb,0.19511e+03_rb /) kbo(:, 1,19,14) = (/ & & 0.20628e+03_rb,0.20131e+03_rb,0.21018e+03_rb,0.19181e+03_rb,0.18780e+03_rb /) kbo(:, 2,19,14) = (/ & & 0.20786e+03_rb,0.20061e+03_rb,0.20985e+03_rb,0.19249e+03_rb,0.19117e+03_rb /) kbo(:, 3,19,14) = (/ & & 0.20939e+03_rb,0.19978e+03_rb,0.20915e+03_rb,0.19245e+03_rb,0.19379e+03_rb /) kbo(:, 4,19,14) = (/ & & 0.21078e+03_rb,0.19876e+03_rb,0.20808e+03_rb,0.19159e+03_rb,0.19578e+03_rb /) kbo(:, 5,19,14) = (/ & & 0.21196e+03_rb,0.19762e+03_rb,0.20666e+03_rb,0.19020e+03_rb,0.19726e+03_rb /) kbo(:, 1,20,14) = (/ & & 0.19806e+03_rb,0.20215e+03_rb,0.21525e+03_rb,0.19781e+03_rb,0.18646e+03_rb /) kbo(:, 2,20,14) = (/ & & 0.20054e+03_rb,0.20180e+03_rb,0.21527e+03_rb,0.19874e+03_rb,0.19072e+03_rb /) kbo(:, 3,20,14) = (/ & & 0.20298e+03_rb,0.20132e+03_rb,0.21478e+03_rb,0.19877e+03_rb,0.19413e+03_rb /) kbo(:, 4,20,14) = (/ & & 0.20522e+03_rb,0.20070e+03_rb,0.21384e+03_rb,0.19793e+03_rb,0.19681e+03_rb /) kbo(:, 5,20,14) = (/ & & 0.20725e+03_rb,0.19975e+03_rb,0.21249e+03_rb,0.19659e+03_rb,0.19899e+03_rb /) kbo(:, 1,21,14) = (/ & & 0.18919e+03_rb,0.20217e+03_rb,0.21942e+03_rb,0.20291e+03_rb,0.18499e+03_rb /) kbo(:, 2,21,14) = (/ & & 0.19268e+03_rb,0.20239e+03_rb,0.21974e+03_rb,0.20415e+03_rb,0.19012e+03_rb /) kbo(:, 3,21,14) = (/ & & 0.19609e+03_rb,0.20231e+03_rb,0.21947e+03_rb,0.20425e+03_rb,0.19432e+03_rb /) kbo(:, 4,21,14) = (/ & & 0.19926e+03_rb,0.20201e+03_rb,0.21866e+03_rb,0.20346e+03_rb,0.19770e+03_rb /) kbo(:, 5,21,14) = (/ & & 0.20224e+03_rb,0.20136e+03_rb,0.21742e+03_rb,0.20212e+03_rb,0.20044e+03_rb /) kbo(:, 1,22,14) = (/ & & 0.18064e+03_rb,0.20182e+03_rb,0.22276e+03_rb,0.20740e+03_rb,0.18409e+03_rb /) kbo(:, 2,22,14) = (/ & & 0.18513e+03_rb,0.20253e+03_rb,0.22341e+03_rb,0.20876e+03_rb,0.18988e+03_rb /) kbo(:, 3,22,14) = (/ & & 0.18951e+03_rb,0.20287e+03_rb,0.22329e+03_rb,0.20890e+03_rb,0.19474e+03_rb /) kbo(:, 4,22,14) = (/ & & 0.19368e+03_rb,0.20283e+03_rb,0.22259e+03_rb,0.20812e+03_rb,0.19869e+03_rb /) kbo(:, 5,22,14) = (/ & & 0.19752e+03_rb,0.20248e+03_rb,0.22143e+03_rb,0.20676e+03_rb,0.20185e+03_rb /) kbo(:, 1,23,14) = (/ & & 0.17261e+03_rb,0.20129e+03_rb,0.22560e+03_rb,0.21126e+03_rb,0.18360e+03_rb /) kbo(:, 2,23,14) = (/ & & 0.17813e+03_rb,0.20255e+03_rb,0.22645e+03_rb,0.21277e+03_rb,0.18993e+03_rb /) kbo(:, 3,23,14) = (/ & & 0.18347e+03_rb,0.20322e+03_rb,0.22649e+03_rb,0.21288e+03_rb,0.19534e+03_rb /) kbo(:, 4,23,14) = (/ & & 0.18858e+03_rb,0.20345e+03_rb,0.22593e+03_rb,0.21211e+03_rb,0.19972e+03_rb /) kbo(:, 5,23,14) = (/ & & 0.19325e+03_rb,0.20330e+03_rb,0.22470e+03_rb,0.21066e+03_rb,0.20314e+03_rb /) kbo(:, 1,24,14) = (/ & & 0.16550e+03_rb,0.20079e+03_rb,0.22797e+03_rb,0.21459e+03_rb,0.18352e+03_rb /) kbo(:, 2,24,14) = (/ & & 0.17199e+03_rb,0.20247e+03_rb,0.22899e+03_rb,0.21614e+03_rb,0.19031e+03_rb /) kbo(:, 3,24,14) = (/ & & 0.17829e+03_rb,0.20349e+03_rb,0.22920e+03_rb,0.21621e+03_rb,0.19610e+03_rb /) kbo(:, 4,24,14) = (/ & & 0.18424e+03_rb,0.20395e+03_rb,0.22865e+03_rb,0.21544e+03_rb,0.20080e+03_rb /) kbo(:, 5,24,14) = (/ & & 0.18966e+03_rb,0.20393e+03_rb,0.22735e+03_rb,0.21388e+03_rb,0.20437e+03_rb /) kbo(:, 1,25,14) = (/ & & 0.15949e+03_rb,0.20048e+03_rb,0.22999e+03_rb,0.21758e+03_rb,0.18395e+03_rb /) kbo(:, 2,25,14) = (/ & & 0.16698e+03_rb,0.20247e+03_rb,0.23119e+03_rb,0.21903e+03_rb,0.19108e+03_rb /) kbo(:, 3,25,14) = (/ & & 0.17411e+03_rb,0.20370e+03_rb,0.23144e+03_rb,0.21904e+03_rb,0.19711e+03_rb /) kbo(:, 4,25,14) = (/ & & 0.18088e+03_rb,0.20435e+03_rb,0.23082e+03_rb,0.21817e+03_rb,0.20192e+03_rb /) kbo(:, 5,25,14) = (/ & & 0.18710e+03_rb,0.20450e+03_rb,0.22950e+03_rb,0.21648e+03_rb,0.20559e+03_rb /) kbo(:, 1,26,14) = (/ & & 0.15479e+03_rb,0.20038e+03_rb,0.23181e+03_rb,0.22016e+03_rb,0.18490e+03_rb /) kbo(:, 2,26,14) = (/ & & 0.16322e+03_rb,0.20258e+03_rb,0.23307e+03_rb,0.22145e+03_rb,0.19222e+03_rb /) kbo(:, 3,26,14) = (/ & & 0.17119e+03_rb,0.20401e+03_rb,0.23326e+03_rb,0.22140e+03_rb,0.19831e+03_rb /) kbo(:, 4,26,14) = (/ & & 0.17866e+03_rb,0.20478e+03_rb,0.23259e+03_rb,0.22038e+03_rb,0.20315e+03_rb /) kbo(:, 5,26,14) = (/ & & 0.18553e+03_rb,0.20498e+03_rb,0.23122e+03_rb,0.21854e+03_rb,0.20685e+03_rb /) kbo(:, 1,27,14) = (/ & & 0.15143e+03_rb,0.20049e+03_rb,0.23344e+03_rb,0.22241e+03_rb,0.18615e+03_rb /) kbo(:, 2,27,14) = (/ & & 0.16070e+03_rb,0.20279e+03_rb,0.23465e+03_rb,0.22352e+03_rb,0.19353e+03_rb /) kbo(:, 3,27,14) = (/ & & 0.16932e+03_rb,0.20430e+03_rb,0.23473e+03_rb,0.22331e+03_rb,0.19960e+03_rb /) kbo(:, 4,27,14) = (/ & & 0.17737e+03_rb,0.20518e+03_rb,0.23402e+03_rb,0.22212e+03_rb,0.20440e+03_rb /) kbo(:, 5,27,14) = (/ & & 0.18472e+03_rb,0.20537e+03_rb,0.23257e+03_rb,0.22015e+03_rb,0.20807e+03_rb /) kbo(:, 1,28,14) = (/ & & 0.14935e+03_rb,0.20078e+03_rb,0.23487e+03_rb,0.22436e+03_rb,0.18762e+03_rb /) kbo(:, 2,28,14) = (/ & & 0.15926e+03_rb,0.20312e+03_rb,0.23597e+03_rb,0.22523e+03_rb,0.19491e+03_rb /) kbo(:, 3,28,14) = (/ & & 0.16839e+03_rb,0.20467e+03_rb,0.23597e+03_rb,0.22484e+03_rb,0.20092e+03_rb /) kbo(:, 4,28,14) = (/ & & 0.17687e+03_rb,0.20554e+03_rb,0.23516e+03_rb,0.22345e+03_rb,0.20562e+03_rb /) kbo(:, 5,28,14) = (/ & & 0.18453e+03_rb,0.20570e+03_rb,0.23357e+03_rb,0.22135e+03_rb,0.20921e+03_rb /) kbo(:, 1,29,14) = (/ & & 0.14844e+03_rb,0.20117e+03_rb,0.23614e+03_rb,0.22601e+03_rb,0.18927e+03_rb /) kbo(:, 2,29,14) = (/ & & 0.15878e+03_rb,0.20350e+03_rb,0.23707e+03_rb,0.22664e+03_rb,0.19642e+03_rb /) kbo(:, 3,29,14) = (/ & & 0.16829e+03_rb,0.20505e+03_rb,0.23696e+03_rb,0.22601e+03_rb,0.20229e+03_rb /) kbo(:, 4,29,14) = (/ & & 0.17702e+03_rb,0.20585e+03_rb,0.23602e+03_rb,0.22445e+03_rb,0.20685e+03_rb /) kbo(:, 5,29,14) = (/ & & 0.18487e+03_rb,0.20599e+03_rb,0.23430e+03_rb,0.22220e+03_rb,0.21031e+03_rb /) kbo(:, 1,30,14) = (/ & & 0.14841e+03_rb,0.20165e+03_rb,0.23724e+03_rb,0.22742e+03_rb,0.19101e+03_rb /) kbo(:, 2,30,14) = (/ & & 0.15903e+03_rb,0.20395e+03_rb,0.23798e+03_rb,0.22774e+03_rb,0.19796e+03_rb /) kbo(:, 3,30,14) = (/ & & 0.16878e+03_rb,0.20543e+03_rb,0.23774e+03_rb,0.22689e+03_rb,0.20367e+03_rb /) kbo(:, 4,30,14) = (/ & & 0.17765e+03_rb,0.20614e+03_rb,0.23662e+03_rb,0.22515e+03_rb,0.20804e+03_rb /) kbo(:, 5,30,14) = (/ & & 0.18556e+03_rb,0.20626e+03_rb,0.23478e+03_rb,0.22274e+03_rb,0.21133e+03_rb /) kbo(:, 1,31,14) = (/ & & 0.14910e+03_rb,0.20219e+03_rb,0.23816e+03_rb,0.22857e+03_rb,0.19280e+03_rb /) kbo(:, 2,31,14) = (/ & & 0.15987e+03_rb,0.20442e+03_rb,0.23873e+03_rb,0.22860e+03_rb,0.19955e+03_rb /) kbo(:, 3,31,14) = (/ & & 0.16974e+03_rb,0.20578e+03_rb,0.23830e+03_rb,0.22751e+03_rb,0.20503e+03_rb /) kbo(:, 4,31,14) = (/ & & 0.17870e+03_rb,0.20640e+03_rb,0.23703e+03_rb,0.22559e+03_rb,0.20917e+03_rb /) kbo(:, 5,31,14) = (/ & & 0.18656e+03_rb,0.20647e+03_rb,0.23504e+03_rb,0.22303e+03_rb,0.21232e+03_rb /) kbo(:, 1,32,14) = (/ & & 0.15031e+03_rb,0.20279e+03_rb,0.23897e+03_rb,0.22949e+03_rb,0.19459e+03_rb /) kbo(:, 2,32,14) = (/ & & 0.16119e+03_rb,0.20489e+03_rb,0.23931e+03_rb,0.22922e+03_rb,0.20113e+03_rb /) kbo(:, 3,32,14) = (/ & & 0.17110e+03_rb,0.20610e+03_rb,0.23869e+03_rb,0.22791e+03_rb,0.20634e+03_rb /) kbo(:, 4,32,14) = (/ & & 0.18002e+03_rb,0.20662e+03_rb,0.23723e+03_rb,0.22582e+03_rb,0.21029e+03_rb /) kbo(:, 5,32,14) = (/ & & 0.18777e+03_rb,0.20659e+03_rb,0.23510e+03_rb,0.22308e+03_rb,0.21322e+03_rb /) kbo(:, 1,33,14) = (/ & & 0.15197e+03_rb,0.20341e+03_rb,0.23965e+03_rb,0.23019e+03_rb,0.19639e+03_rb /) kbo(:, 2,33,14) = (/ & & 0.16285e+03_rb,0.20534e+03_rb,0.23976e+03_rb,0.22964e+03_rb,0.20267e+03_rb /) kbo(:, 3,33,14) = (/ & & 0.17270e+03_rb,0.20638e+03_rb,0.23893e+03_rb,0.22811e+03_rb,0.20758e+03_rb /) kbo(:, 4,33,14) = (/ & & 0.18151e+03_rb,0.20680e+03_rb,0.23727e+03_rb,0.22584e+03_rb,0.21132e+03_rb /) kbo(:, 5,33,14) = (/ & & 0.18912e+03_rb,0.20665e+03_rb,0.23500e+03_rb,0.22296e+03_rb,0.21406e+03_rb /) kbo(:, 1,34,14) = (/ & & 0.15352e+03_rb,0.20391e+03_rb,0.24014e+03_rb,0.23069e+03_rb,0.19790e+03_rb /) kbo(:, 2,34,14) = (/ & & 0.16437e+03_rb,0.20566e+03_rb,0.24006e+03_rb,0.22992e+03_rb,0.20396e+03_rb /) kbo(:, 3,34,14) = (/ & & 0.17416e+03_rb,0.20662e+03_rb,0.23907e+03_rb,0.22823e+03_rb,0.20863e+03_rb /) kbo(:, 4,34,14) = (/ & & 0.18285e+03_rb,0.20695e+03_rb,0.23728e+03_rb,0.22580e+03_rb,0.21218e+03_rb /) kbo(:, 5,34,14) = (/ & & 0.19033e+03_rb,0.20667e+03_rb,0.23487e+03_rb,0.22280e+03_rb,0.21474e+03_rb /) kbo(:, 1,35,14) = (/ & & 0.15421e+03_rb,0.20418e+03_rb,0.24052e+03_rb,0.23110e+03_rb,0.19876e+03_rb /) kbo(:, 2,35,14) = (/ & & 0.16507e+03_rb,0.20586e+03_rb,0.24033e+03_rb,0.23020e+03_rb,0.20468e+03_rb /) kbo(:, 3,35,14) = (/ & & 0.17486e+03_rb,0.20677e+03_rb,0.23924e+03_rb,0.22841e+03_rb,0.20923e+03_rb /) kbo(:, 4,35,14) = (/ & & 0.18350e+03_rb,0.20705e+03_rb,0.23737e+03_rb,0.22589e+03_rb,0.21269e+03_rb /) kbo(:, 5,35,14) = (/ & & 0.19094e+03_rb,0.20669e+03_rb,0.23489e+03_rb,0.22281e+03_rb,0.21514e+03_rb /) kbo(:, 1,36,14) = (/ & & 0.15381e+03_rb,0.20424e+03_rb,0.24080e+03_rb,0.23145e+03_rb,0.19888e+03_rb /) kbo(:, 2,36,14) = (/ & & 0.16478e+03_rb,0.20592e+03_rb,0.24060e+03_rb,0.23055e+03_rb,0.20484e+03_rb /) kbo(:, 3,36,14) = (/ & & 0.17464e+03_rb,0.20684e+03_rb,0.23950e+03_rb,0.22874e+03_rb,0.20938e+03_rb /) kbo(:, 4,36,14) = (/ & & 0.18336e+03_rb,0.20715e+03_rb,0.23762e+03_rb,0.22618e+03_rb,0.21284e+03_rb /) kbo(:, 5,36,14) = (/ & & 0.19086e+03_rb,0.20678e+03_rb,0.23514e+03_rb,0.22311e+03_rb,0.21532e+03_rb /) kbo(:, 1,37,14) = (/ & & 0.15177e+03_rb,0.20394e+03_rb,0.24096e+03_rb,0.23178e+03_rb,0.19802e+03_rb /) kbo(:, 2,37,14) = (/ & & 0.16298e+03_rb,0.20578e+03_rb,0.24091e+03_rb,0.23102e+03_rb,0.20416e+03_rb /) kbo(:, 3,37,14) = (/ & & 0.17307e+03_rb,0.20681e+03_rb,0.23994e+03_rb,0.22934e+03_rb,0.20893e+03_rb /) kbo(:, 4,37,14) = (/ & & 0.18204e+03_rb,0.20721e+03_rb,0.23818e+03_rb,0.22688e+03_rb,0.21255e+03_rb /) kbo(:, 5,37,14) = (/ & & 0.18973e+03_rb,0.20695e+03_rb,0.23573e+03_rb,0.22383e+03_rb,0.21516e+03_rb /) kbo(:, 1,38,14) = (/ & & 0.14968e+03_rb,0.20359e+03_rb,0.24104e+03_rb,0.23202e+03_rb,0.19703e+03_rb /) kbo(:, 2,38,14) = (/ & & 0.16113e+03_rb,0.20560e+03_rb,0.24116e+03_rb,0.23143e+03_rb,0.20341e+03_rb /) kbo(:, 3,38,14) = (/ & & 0.17144e+03_rb,0.20674e+03_rb,0.24033e+03_rb,0.22988e+03_rb,0.20838e+03_rb /) kbo(:, 4,38,14) = (/ & & 0.18063e+03_rb,0.20724e+03_rb,0.23866e+03_rb,0.22752e+03_rb,0.21216e+03_rb /) kbo(:, 5,38,14) = (/ & & 0.18855e+03_rb,0.20710e+03_rb,0.23632e+03_rb,0.22453e+03_rb,0.21493e+03_rb /) kbo(:, 1,39,14) = (/ & & 0.14764e+03_rb,0.20322e+03_rb,0.24106e+03_rb,0.23220e+03_rb,0.19604e+03_rb /) kbo(:, 2,39,14) = (/ & & 0.15932e+03_rb,0.20540e+03_rb,0.24137e+03_rb,0.23180e+03_rb,0.20262e+03_rb /) kbo(:, 3,39,14) = (/ & & 0.16984e+03_rb,0.20665e+03_rb,0.24065e+03_rb,0.23036e+03_rb,0.20781e+03_rb /) kbo(:, 4,39,14) = (/ & & 0.17923e+03_rb,0.20725e+03_rb,0.23910e+03_rb,0.22810e+03_rb,0.21175e+03_rb /) kbo(:, 5,39,14) = (/ & & 0.18737e+03_rb,0.20722e+03_rb,0.23684e+03_rb,0.22517e+03_rb,0.21467e+03_rb /) kbo(:, 1,40,14) = (/ & & 0.14438e+03_rb,0.20254e+03_rb,0.24092e+03_rb,0.23225e+03_rb,0.19425e+03_rb /) kbo(:, 2,40,14) = (/ & & 0.15633e+03_rb,0.20498e+03_rb,0.24152e+03_rb,0.23217e+03_rb,0.20115e+03_rb /) kbo(:, 3,40,14) = (/ & & 0.16718e+03_rb,0.20642e+03_rb,0.24105e+03_rb,0.23096e+03_rb,0.20672e+03_rb /) kbo(:, 4,40,14) = (/ & & 0.17690e+03_rb,0.20720e+03_rb,0.23969e+03_rb,0.22887e+03_rb,0.21093e+03_rb /) kbo(:, 5,40,14) = (/ & & 0.18539e+03_rb,0.20733e+03_rb,0.23758e+03_rb,0.22609e+03_rb,0.21411e+03_rb /) kbo(:, 1,41,14) = (/ & & 0.14093e+03_rb,0.20170e+03_rb,0.24062e+03_rb,0.23214e+03_rb,0.19226e+03_rb /) kbo(:, 2,41,14) = (/ & & 0.15309e+03_rb,0.20441e+03_rb,0.24155e+03_rb,0.23243e+03_rb,0.19951e+03_rb /) kbo(:, 3,41,14) = (/ & & 0.16434e+03_rb,0.20613e+03_rb,0.24136e+03_rb,0.23149e+03_rb,0.20545e+03_rb /) kbo(:, 4,41,14) = (/ & & 0.17439e+03_rb,0.20709e+03_rb,0.24022e+03_rb,0.22963e+03_rb,0.21000e+03_rb /) kbo(:, 5,41,14) = (/ & & 0.18325e+03_rb,0.20739e+03_rb,0.23829e+03_rb,0.22700e+03_rb,0.21344e+03_rb /) kbo(:, 1,42,14) = (/ & & 0.13742e+03_rb,0.20072e+03_rb,0.24018e+03_rb,0.23188e+03_rb,0.19017e+03_rb /) kbo(:, 2,42,14) = (/ & & 0.14987e+03_rb,0.20381e+03_rb,0.24151e+03_rb,0.23260e+03_rb,0.19778e+03_rb /) kbo(:, 3,42,14) = (/ & & 0.16144e+03_rb,0.20580e+03_rb,0.24159e+03_rb,0.23194e+03_rb,0.20408e+03_rb /) kbo(:, 4,42,14) = (/ & & 0.17182e+03_rb,0.20693e+03_rb,0.24068e+03_rb,0.23030e+03_rb,0.20897e+03_rb /) kbo(:, 5,42,14) = (/ & & 0.18101e+03_rb,0.20739e+03_rb,0.23894e+03_rb,0.22785e+03_rb,0.21269e+03_rb /) kbo(:, 1,43,14) = (/ & & 0.13316e+03_rb,0.19946e+03_rb,0.23952e+03_rb,0.23134e+03_rb,0.18746e+03_rb /) kbo(:, 2,43,14) = (/ & & 0.14590e+03_rb,0.20299e+03_rb,0.24131e+03_rb,0.23265e+03_rb,0.19555e+03_rb /) kbo(:, 3,43,14) = (/ & & 0.15782e+03_rb,0.20531e+03_rb,0.24176e+03_rb,0.23237e+03_rb,0.20228e+03_rb /) kbo(:, 4,43,14) = (/ & & 0.16860e+03_rb,0.20666e+03_rb,0.24113e+03_rb,0.23099e+03_rb,0.20761e+03_rb /) kbo(:, 5,43,14) = (/ & & 0.17818e+03_rb,0.20733e+03_rb,0.23964e+03_rb,0.22878e+03_rb,0.21166e+03_rb /) kbo(:, 1,44,14) = (/ & & 0.12851e+03_rb,0.19793e+03_rb,0.23860e+03_rb,0.23051e+03_rb,0.18440e+03_rb /) kbo(:, 2,44,14) = (/ & & 0.14156e+03_rb,0.20195e+03_rb,0.24092e+03_rb,0.23249e+03_rb,0.19298e+03_rb /) kbo(:, 3,44,14) = (/ & & 0.15381e+03_rb,0.20468e+03_rb,0.24182e+03_rb,0.23268e+03_rb,0.20015e+03_rb /) kbo(:, 4,44,14) = (/ & & 0.16494e+03_rb,0.20625e+03_rb,0.24148e+03_rb,0.23163e+03_rb,0.20597e+03_rb /) kbo(:, 5,44,14) = (/ & & 0.17499e+03_rb,0.20719e+03_rb,0.24029e+03_rb,0.22969e+03_rb,0.21043e+03_rb /) kbo(:, 1,45,14) = (/ & & 0.12377e+03_rb,0.19622e+03_rb,0.23745e+03_rb,0.22938e+03_rb,0.18114e+03_rb /) kbo(:, 2,45,14) = (/ & & 0.13713e+03_rb,0.20074e+03_rb,0.24035e+03_rb,0.23210e+03_rb,0.19024e+03_rb /) kbo(:, 3,45,14) = (/ & & 0.14969e+03_rb,0.20389e+03_rb,0.24171e+03_rb,0.23283e+03_rb,0.19787e+03_rb /) kbo(:, 4,45,14) = (/ & & 0.16122e+03_rb,0.20580e+03_rb,0.24172e+03_rb,0.23215e+03_rb,0.20417e+03_rb /) kbo(:, 5,45,14) = (/ & & 0.17169e+03_rb,0.20697e+03_rb,0.24085e+03_rb,0.23051e+03_rb,0.20907e+03_rb /) kbo(:, 1,46,14) = (/ & & 0.11871e+03_rb,0.19418e+03_rb,0.23600e+03_rb,0.22790e+03_rb,0.17747e+03_rb /) kbo(:, 2,46,14) = (/ & & 0.13231e+03_rb,0.19929e+03_rb,0.23954e+03_rb,0.23143e+03_rb,0.18712e+03_rb /) kbo(:, 3,46,14) = (/ & & 0.14514e+03_rb,0.20288e+03_rb,0.24138e+03_rb,0.23280e+03_rb,0.19526e+03_rb /) kbo(:, 4,46,14) = (/ & & 0.15711e+03_rb,0.20523e+03_rb,0.24187e+03_rb,0.23257e+03_rb,0.20207e+03_rb /) kbo(:, 5,46,14) = (/ & & 0.16802e+03_rb,0.20664e+03_rb,0.24132e+03_rb,0.23126e+03_rb,0.20749e+03_rb /) kbo(:, 1,47,14) = (/ & & 0.11295e+03_rb,0.19159e+03_rb,0.23398e+03_rb,0.22588e+03_rb,0.17313e+03_rb /) kbo(:, 2,47,14) = (/ & & 0.12683e+03_rb,0.19741e+03_rb,0.23835e+03_rb,0.23031e+03_rb,0.18342e+03_rb /) kbo(:, 3,47,14) = (/ & & 0.13999e+03_rb,0.20159e+03_rb,0.24085e+03_rb,0.23253e+03_rb,0.19217e+03_rb /) kbo(:, 4,47,14) = (/ & & 0.15234e+03_rb,0.20442e+03_rb,0.24186e+03_rb,0.23286e+03_rb,0.19949e+03_rb /) kbo(:, 5,47,14) = (/ & & 0.16373e+03_rb,0.20618e+03_rb,0.24169e+03_rb,0.23194e+03_rb,0.20549e+03_rb /) kbo(:, 1,48,14) = (/ & & 0.10712e+03_rb,0.18871e+03_rb,0.23159e+03_rb,0.22347e+03_rb,0.16850e+03_rb /) kbo(:, 2,48,14) = (/ & & 0.12124e+03_rb,0.19529e+03_rb,0.23687e+03_rb,0.22882e+03_rb,0.17946e+03_rb /) kbo(:, 3,48,14) = (/ & & 0.13473e+03_rb,0.20007e+03_rb,0.24005e+03_rb,0.23191e+03_rb,0.18883e+03_rb /) kbo(:, 4,48,14) = (/ & & 0.14742e+03_rb,0.20342e+03_rb,0.24164e+03_rb,0.23294e+03_rb,0.19670e+03_rb /) kbo(:, 5,48,14) = (/ & & 0.15928e+03_rb,0.20562e+03_rb,0.24192e+03_rb,0.23247e+03_rb,0.20325e+03_rb /) kbo(:, 1,49,14) = (/ & & 0.10120e+03_rb,0.18550e+03_rb,0.22880e+03_rb,0.22071e+03_rb,0.16363e+03_rb /) kbo(:, 2,49,14) = (/ & & 0.11556e+03_rb,0.19285e+03_rb,0.23504e+03_rb,0.22697e+03_rb,0.17524e+03_rb /) kbo(:, 3,49,14) = (/ & & 0.12932e+03_rb,0.19832e+03_rb,0.23901e+03_rb,0.23097e+03_rb,0.18524e+03_rb /) kbo(:, 4,49,14) = (/ & & 0.14238e+03_rb,0.20226e+03_rb,0.24120e+03_rb,0.23278e+03_rb,0.19370e+03_rb /) kbo(:, 5,49,14) = (/ & & 0.15460e+03_rb,0.20488e+03_rb,0.24199e+03_rb,0.23283e+03_rb,0.20078e+03_rb /) kbo(:, 1,50,14) = (/ & & 0.95603e+02_rb,0.18216e+03_rb,0.22576e+03_rb,0.21768e+03_rb,0.15878e+03_rb /) kbo(:, 2,50,14) = (/ & & 0.11015e+03_rb,0.19031e+03_rb,0.23298e+03_rb,0.22490e+03_rb,0.17105e+03_rb /) kbo(:, 3,50,14) = (/ & & 0.12415e+03_rb,0.19646e+03_rb,0.23775e+03_rb,0.22975e+03_rb,0.18166e+03_rb /) kbo(:, 4,50,14) = (/ & & 0.13752e+03_rb,0.20094e+03_rb,0.24058e+03_rb,0.23236e+03_rb,0.19069e+03_rb /) kbo(:, 5,50,14) = (/ & & 0.15007e+03_rb,0.20403e+03_rb,0.24187e+03_rb,0.23299e+03_rb,0.19826e+03_rb /) kbo(:, 1,51,14) = (/ & & 0.90137e+02_rb,0.17868e+03_rb,0.22240e+03_rb,0.21442e+03_rb,0.15384e+03_rb /) kbo(:, 2,51,14) = (/ & & 0.10484e+03_rb,0.18757e+03_rb,0.23066e+03_rb,0.22258e+03_rb,0.16677e+03_rb /) kbo(:, 3,51,14) = (/ & & 0.11907e+03_rb,0.19442e+03_rb,0.23628e+03_rb,0.22824e+03_rb,0.17796e+03_rb /) kbo(:, 4,51,14) = (/ & & 0.13269e+03_rb,0.19948e+03_rb,0.23976e+03_rb,0.23167e+03_rb,0.18756e+03_rb /) kbo(:, 5,51,14) = (/ & & 0.14552e+03_rb,0.20302e+03_rb,0.24154e+03_rb,0.23296e+03_rb,0.19565e+03_rb /) kbo(:, 1,52,14) = (/ & & 0.84690e+02_rb,0.17496e+03_rb,0.21864e+03_rb,0.21080e+03_rb,0.14862e+03_rb /) kbo(:, 2,52,14) = (/ & & 0.99471e+02_rb,0.18453e+03_rb,0.22798e+03_rb,0.21992e+03_rb,0.16225e+03_rb /) kbo(:, 3,52,14) = (/ & & 0.11391e+03_rb,0.19213e+03_rb,0.23451e+03_rb,0.22644e+03_rb,0.17406e+03_rb /) kbo(:, 4,52,14) = (/ & & 0.12777e+03_rb,0.19781e+03_rb,0.23872e+03_rb,0.23070e+03_rb,0.18424e+03_rb /) kbo(:, 5,52,14) = (/ & & 0.14091e+03_rb,0.20189e+03_rb,0.24107e+03_rb,0.23273e+03_rb,0.19286e+03_rb /) kbo(:, 1,53,14) = (/ & & 0.79262e+02_rb,0.17095e+03_rb,0.21436e+03_rb,0.20681e+03_rb,0.14317e+03_rb /) kbo(:, 2,53,14) = (/ & & 0.94047e+02_rb,0.18126e+03_rb,0.22494e+03_rb,0.21690e+03_rb,0.15748e+03_rb /) kbo(:, 3,53,14) = (/ & & 0.10865e+03_rb,0.18958e+03_rb,0.23241e+03_rb,0.22434e+03_rb,0.16994e+03_rb /) kbo(:, 4,53,14) = (/ & & 0.12274e+03_rb,0.19595e+03_rb,0.23742e+03_rb,0.22941e+03_rb,0.18070e+03_rb /) kbo(:, 5,53,14) = (/ & & 0.13618e+03_rb,0.20056e+03_rb,0.24040e+03_rb,0.23224e+03_rb,0.18988e+03_rb /) kbo(:, 1,54,14) = (/ & & 0.74312e+02_rb,0.16701e+03_rb,0.21000e+03_rb,0.20283e+03_rb,0.13801e+03_rb /) kbo(:, 2,54,14) = (/ & & 0.89059e+02_rb,0.17802e+03_rb,0.22177e+03_rb,0.21381e+03_rb,0.15289e+03_rb /) kbo(:, 3,54,14) = (/ & & 0.10379e+03_rb,0.18701e+03_rb,0.23021e+03_rb,0.22214e+03_rb,0.16595e+03_rb /) kbo(:, 4,54,14) = (/ & & 0.11808e+03_rb,0.19403e+03_rb,0.23602e+03_rb,0.22797e+03_rb,0.17728e+03_rb /) kbo(:, 5,54,14) = (/ & & 0.13174e+03_rb,0.19918e+03_rb,0.23961e+03_rb,0.23155e+03_rb,0.18697e+03_rb /) kbo(:, 1,55,14) = (/ & & 0.69615e+02_rb,0.16296e+03_rb,0.20540e+03_rb,0.19866e+03_rb,0.13288e+03_rb /) kbo(:, 2,55,14) = (/ & & 0.84276e+02_rb,0.17466e+03_rb,0.21835e+03_rb,0.21056e+03_rb,0.14828e+03_rb /) kbo(:, 3,55,14) = (/ & & 0.99066e+02_rb,0.18433e+03_rb,0.22782e+03_rb,0.21977e+03_rb,0.16197e+03_rb /) kbo(:, 4,55,14) = (/ & & 0.11354e+03_rb,0.19199e+03_rb,0.23442e+03_rb,0.22636e+03_rb,0.17383e+03_rb /) kbo(:, 5,55,14) = (/ & & 0.12741e+03_rb,0.19770e+03_rb,0.23866e+03_rb,0.23065e+03_rb,0.18403e+03_rb /) kbo(:, 1,56,14) = (/ & & 0.64944e+02_rb,0.15877e+03_rb,0.20044e+03_rb,0.19421e+03_rb,0.12762e+03_rb /) kbo(:, 2,56,14) = (/ & & 0.79524e+02_rb,0.17114e+03_rb,0.21461e+03_rb,0.20707e+03_rb,0.14351e+03_rb /) kbo(:, 3,56,14) = (/ & & 0.94323e+02_rb,0.18144e+03_rb,0.22514e+03_rb,0.21711e+03_rb,0.15778e+03_rb /) kbo(:, 4,56,14) = (/ & & 0.10894e+03_rb,0.18976e+03_rb,0.23257e+03_rb,0.22452e+03_rb,0.17022e+03_rb /) kbo(:, 5,56,14) = (/ & & 0.12301e+03_rb,0.19605e+03_rb,0.23752e+03_rb,0.22954e+03_rb,0.18094e+03_rb /) kbo(:, 1,57,14) = (/ & & 0.60353e+02_rb,0.15431e+03_rb,0.19514e+03_rb,0.18945e+03_rb,0.12225e+03_rb /) kbo(:, 2,57,14) = (/ & & 0.74815e+02_rb,0.16742e+03_rb,0.21049e+03_rb,0.20329e+03_rb,0.13860e+03_rb /) kbo(:, 3,57,14) = (/ & & 0.89567e+02_rb,0.17837e+03_rb,0.22214e+03_rb,0.21419e+03_rb,0.15343e+03_rb /) kbo(:, 4,57,14) = (/ & & 0.10431e+03_rb,0.18733e+03_rb,0.23050e+03_rb,0.22244e+03_rb,0.16644e+03_rb /) kbo(:, 5,57,14) = (/ & & 0.11856e+03_rb,0.19423e+03_rb,0.23618e+03_rb,0.22816e+03_rb,0.17767e+03_rb /) kbo(:, 1,58,14) = (/ & & 0.56098e+02_rb,0.14991e+03_rb,0.18980e+03_rb,0.18465e+03_rb,0.11706e+03_rb /) kbo(:, 2,58,14) = (/ & & 0.70377e+02_rb,0.16367e+03_rb,0.20622e+03_rb,0.19942e+03_rb,0.13378e+03_rb /) kbo(:, 3,58,14) = (/ & & 0.85049e+02_rb,0.17528e+03_rb,0.21902e+03_rb,0.21119e+03_rb,0.14910e+03_rb /) kbo(:, 4,58,14) = (/ & & 0.99857e+02_rb,0.18482e+03_rb,0.22827e+03_rb,0.22022e+03_rb,0.16268e+03_rb /) kbo(:, 5,58,14) = (/ & & 0.11428e+03_rb,0.19233e+03_rb,0.23470e+03_rb,0.22666e+03_rb,0.17444e+03_rb /) kbo(:, 1,59,14) = (/ & & 0.54418e+02_rb,0.14809e+03_rb,0.18754e+03_rb,0.18261e+03_rb,0.11495e+03_rb /) kbo(:, 2,59,14) = (/ & & 0.68598e+02_rb,0.16210e+03_rb,0.20441e+03_rb,0.19778e+03_rb,0.13180e+03_rb /) kbo(:, 3,59,14) = (/ & & 0.83246e+02_rb,0.17398e+03_rb,0.21768e+03_rb,0.20993e+03_rb,0.14733e+03_rb /) kbo(:, 4,59,14) = (/ & & 0.98055e+02_rb,0.18375e+03_rb,0.22732e+03_rb,0.21927e+03_rb,0.16113e+03_rb /) kbo(:, 5,59,14) = (/ & & 0.11255e+03_rb,0.19153e+03_rb,0.23406e+03_rb,0.22601e+03_rb,0.17310e+03_rb /) kbo(:, 1,13,15) = (/ & & 0.40932e+03_rb,0.30758e+03_rb,0.26133e+03_rb,0.32395e+03_rb,0.43211e+03_rb /) kbo(:, 2,13,15) = (/ & & 0.41123e+03_rb,0.30908e+03_rb,0.25921e+03_rb,0.31805e+03_rb,0.42431e+03_rb /) kbo(:, 3,13,15) = (/ & & 0.41219e+03_rb,0.30983e+03_rb,0.25685e+03_rb,0.31214e+03_rb,0.41639e+03_rb /) kbo(:, 4,13,15) = (/ & & 0.41228e+03_rb,0.30991e+03_rb,0.25419e+03_rb,0.30614e+03_rb,0.40836e+03_rb /) kbo(:, 5,13,15) = (/ & & 0.41130e+03_rb,0.30917e+03_rb,0.25126e+03_rb,0.30055e+03_rb,0.40088e+03_rb /) kbo(:, 1,14,15) = (/ & & 0.46527e+03_rb,0.34966e+03_rb,0.29823e+03_rb,0.35533e+03_rb,0.47402e+03_rb /) kbo(:, 2,14,15) = (/ & & 0.46656e+03_rb,0.35065e+03_rb,0.29540e+03_rb,0.34864e+03_rb,0.46510e+03_rb /) kbo(:, 3,14,15) = (/ & & 0.46685e+03_rb,0.35090e+03_rb,0.29209e+03_rb,0.34189e+03_rb,0.45610e+03_rb /) kbo(:, 4,14,15) = (/ & & 0.46575e+03_rb,0.35012e+03_rb,0.28845e+03_rb,0.33526e+03_rb,0.44716e+03_rb /) kbo(:, 5,14,15) = (/ & & 0.46388e+03_rb,0.34873e+03_rb,0.28457e+03_rb,0.32965e+03_rb,0.43950e+03_rb /) kbo(:, 1,15,15) = (/ & & 0.52376e+03_rb,0.39388e+03_rb,0.33756e+03_rb,0.38636e+03_rb,0.51543e+03_rb /) kbo(:, 2,15,15) = (/ & & 0.52445e+03_rb,0.39416e+03_rb,0.33368e+03_rb,0.37892e+03_rb,0.50548e+03_rb /) kbo(:, 3,15,15) = (/ & & 0.52345e+03_rb,0.39343e+03_rb,0.32922e+03_rb,0.37141e+03_rb,0.49535e+03_rb /) kbo(:, 4,15,15) = (/ & & 0.52134e+03_rb,0.39188e+03_rb,0.32434e+03_rb,0.36468e+03_rb,0.48621e+03_rb /) kbo(:, 5,15,15) = (/ & & 0.51791e+03_rb,0.38933e+03_rb,0.31931e+03_rb,0.35855e+03_rb,0.47766e+03_rb /) kbo(:, 1,16,15) = (/ & & 0.58401e+03_rb,0.43962e+03_rb,0.37845e+03_rb,0.41772e+03_rb,0.55681e+03_rb /) kbo(:, 2,16,15) = (/ & & 0.58308e+03_rb,0.43844e+03_rb,0.37324e+03_rb,0.40927e+03_rb,0.54538e+03_rb /) kbo(:, 3,16,15) = (/ & & 0.58094e+03_rb,0.43662e+03_rb,0.36730e+03_rb,0.40107e+03_rb,0.53429e+03_rb /) kbo(:, 4,16,15) = (/ & & 0.57721e+03_rb,0.43385e+03_rb,0.36102e+03_rb,0.39367e+03_rb,0.52421e+03_rb /) kbo(:, 5,16,15) = (/ & & 0.57218e+03_rb,0.43010e+03_rb,0.35444e+03_rb,0.38654e+03_rb,0.51433e+03_rb /) kbo(:, 1,17,15) = (/ & & 0.64407e+03_rb,0.48569e+03_rb,0.41994e+03_rb,0.44912e+03_rb,0.59692e+03_rb /) kbo(:, 2,17,15) = (/ & & 0.64180e+03_rb,0.48304e+03_rb,0.41300e+03_rb,0.43957e+03_rb,0.58409e+03_rb /) kbo(:, 3,17,15) = (/ & & 0.63774e+03_rb,0.47951e+03_rb,0.40543e+03_rb,0.43048e+03_rb,0.57188e+03_rb /) kbo(:, 4,17,15) = (/ & & 0.63221e+03_rb,0.47511e+03_rb,0.39752e+03_rb,0.42195e+03_rb,0.56041e+03_rb /) kbo(:, 5,17,15) = (/ & & 0.62531e+03_rb,0.46997e+03_rb,0.38917e+03_rb,0.41353e+03_rb,0.54901e+03_rb /) kbo(:, 1,18,15) = (/ & & 0.70302e+03_rb,0.53125e+03_rb,0.46110e+03_rb,0.48015e+03_rb,0.63499e+03_rb /) kbo(:, 2,18,15) = (/ & & 0.69876e+03_rb,0.52681e+03_rb,0.45218e+03_rb,0.46935e+03_rb,0.62082e+03_rb /) kbo(:, 3,18,15) = (/ & & 0.69273e+03_rb,0.52130e+03_rb,0.44272e+03_rb,0.45897e+03_rb,0.60731e+03_rb /) kbo(:, 4,18,15) = (/ & & 0.68529e+03_rb,0.51514e+03_rb,0.43287e+03_rb,0.44907e+03_rb,0.59416e+03_rb /) kbo(:, 5,18,15) = (/ & & 0.67604e+03_rb,0.50804e+03_rb,0.42255e+03_rb,0.43929e+03_rb,0.58117e+03_rb /) kbo(:, 1,19,15) = (/ & & 0.75927e+03_rb,0.57536e+03_rb,0.50097e+03_rb,0.51007e+03_rb,0.67027e+03_rb /) kbo(:, 2,19,15) = (/ & & 0.75290e+03_rb,0.56864e+03_rb,0.48996e+03_rb,0.49791e+03_rb,0.65476e+03_rb /) kbo(:, 3,19,15) = (/ & & 0.74466e+03_rb,0.56117e+03_rb,0.47832e+03_rb,0.48599e+03_rb,0.63995e+03_rb /) kbo(:, 4,19,15) = (/ & & 0.73483e+03_rb,0.55286e+03_rb,0.46627e+03_rb,0.47459e+03_rb,0.62519e+03_rb /) kbo(:, 5,19,15) = (/ & & 0.72353e+03_rb,0.54375e+03_rb,0.45395e+03_rb,0.46331e+03_rb,0.61054e+03_rb /) kbo(:, 1,20,15) = (/ & & 0.81171e+03_rb,0.61670e+03_rb,0.53858e+03_rb,0.53802e+03_rb,0.70226e+03_rb /) kbo(:, 2,20,15) = (/ & & 0.80307e+03_rb,0.60788e+03_rb,0.52517e+03_rb,0.52417e+03_rb,0.68550e+03_rb /) kbo(:, 3,20,15) = (/ & & 0.79257e+03_rb,0.59823e+03_rb,0.51114e+03_rb,0.51080e+03_rb,0.66917e+03_rb /) kbo(:, 4,20,15) = (/ & & 0.78036e+03_rb,0.58759e+03_rb,0.49687e+03_rb,0.49775e+03_rb,0.65285e+03_rb /) kbo(:, 5,20,15) = (/ & & 0.76671e+03_rb,0.57649e+03_rb,0.48237e+03_rb,0.48486e+03_rb,0.63647e+03_rb /) kbo(:, 1,21,15) = (/ & & 0.85929e+03_rb,0.65464e+03_rb,0.57309e+03_rb,0.56354e+03_rb,0.73074e+03_rb /) kbo(:, 2,21,15) = (/ & & 0.84853e+03_rb,0.64350e+03_rb,0.55721e+03_rb,0.54790e+03_rb,0.71267e+03_rb /) kbo(:, 3,21,15) = (/ & & 0.83578e+03_rb,0.63172e+03_rb,0.54090e+03_rb,0.53299e+03_rb,0.69483e+03_rb /) kbo(:, 4,21,15) = (/ & & 0.82132e+03_rb,0.61900e+03_rb,0.52438e+03_rb,0.51831e+03_rb,0.67689e+03_rb /) kbo(:, 5,21,15) = (/ & & 0.80511e+03_rb,0.60568e+03_rb,0.50774e+03_rb,0.50398e+03_rb,0.65894e+03_rb /) kbo(:, 1,22,15) = (/ & & 0.90088e+03_rb,0.68794e+03_rb,0.60297e+03_rb,0.58517e+03_rb,0.75429e+03_rb /) kbo(:, 2,22,15) = (/ & & 0.88795e+03_rb,0.67453e+03_rb,0.58458e+03_rb,0.56794e+03_rb,0.73512e+03_rb /) kbo(:, 3,22,15) = (/ & & 0.87296e+03_rb,0.66047e+03_rb,0.56607e+03_rb,0.55151e+03_rb,0.71573e+03_rb /) kbo(:, 4,22,15) = (/ & & 0.85602e+03_rb,0.64569e+03_rb,0.54736e+03_rb,0.53534e+03_rb,0.69633e+03_rb /) kbo(:, 5,22,15) = (/ & & 0.83763e+03_rb,0.63042e+03_rb,0.52879e+03_rb,0.51959e+03_rb,0.67694e+03_rb /) kbo(:, 1,23,15) = (/ & & 0.93708e+03_rb,0.71670e+03_rb,0.62868e+03_rb,0.60370e+03_rb,0.77407e+03_rb /) kbo(:, 2,23,15) = (/ & & 0.92204e+03_rb,0.70111e+03_rb,0.60797e+03_rb,0.58479e+03_rb,0.75367e+03_rb /) kbo(:, 3,23,15) = (/ & & 0.90485e+03_rb,0.68501e+03_rb,0.58723e+03_rb,0.56696e+03_rb,0.73284e+03_rb /) kbo(:, 4,23,15) = (/ & & 0.88551e+03_rb,0.66835e+03_rb,0.56656e+03_rb,0.54939e+03_rb,0.71207e+03_rb /) kbo(:, 5,23,15) = (/ & & 0.86499e+03_rb,0.65129e+03_rb,0.54624e+03_rb,0.53240e+03_rb,0.69156e+03_rb /) kbo(:, 1,24,15) = (/ & & 0.96776e+03_rb,0.74092e+03_rb,0.64997e+03_rb,0.61898e+03_rb,0.79010e+03_rb /) kbo(:, 2,24,15) = (/ & & 0.95072e+03_rb,0.72338e+03_rb,0.62717e+03_rb,0.59867e+03_rb,0.76855e+03_rb /) kbo(:, 3,24,15) = (/ & & 0.93122e+03_rb,0.70539e+03_rb,0.60446e+03_rb,0.57944e+03_rb,0.74652e+03_rb /) kbo(:, 4,24,15) = (/ & & 0.90993e+03_rb,0.68704e+03_rb,0.58213e+03_rb,0.56067e+03_rb,0.72451e+03_rb /) kbo(:, 5,24,15) = (/ & & 0.88757e+03_rb,0.66845e+03_rb,0.56030e+03_rb,0.54254e+03_rb,0.70312e+03_rb /) kbo(:, 1,25,15) = (/ & & 0.99329e+03_rb,0.76073e+03_rb,0.66706e+03_rb,0.63101e+03_rb,0.80276e+03_rb /) kbo(:, 2,25,15) = (/ & & 0.97397e+03_rb,0.74138e+03_rb,0.64231e+03_rb,0.60949e+03_rb,0.78003e+03_rb /) kbo(:, 3,25,15) = (/ & & 0.95257e+03_rb,0.72186e+03_rb,0.61798e+03_rb,0.58904e+03_rb,0.75681e+03_rb /) kbo(:, 4,25,15) = (/ & & 0.92942e+03_rb,0.70193e+03_rb,0.59417e+03_rb,0.56923e+03_rb,0.73392e+03_rb /) kbo(:, 5,25,15) = (/ & & 0.90532e+03_rb,0.68191e+03_rb,0.57100e+03_rb,0.55015e+03_rb,0.71169e+03_rb /) kbo(:, 1,26,15) = (/ & & 0.10136e+04_rb,0.77623e+03_rb,0.67983e+03_rb,0.63982e+03_rb,0.81189e+03_rb /) kbo(:, 2,26,15) = (/ & & 0.99212e+03_rb,0.75536e+03_rb,0.65345e+03_rb,0.61726e+03_rb,0.78804e+03_rb /) kbo(:, 3,26,15) = (/ & & 0.96906e+03_rb,0.73441e+03_rb,0.62784e+03_rb,0.59585e+03_rb,0.76400e+03_rb /) kbo(:, 4,26,15) = (/ & & 0.94442e+03_rb,0.71314e+03_rb,0.60278e+03_rb,0.57514e+03_rb,0.74031e+03_rb /) kbo(:, 5,26,15) = (/ & & 0.91870e+03_rb,0.69199e+03_rb,0.57850e+03_rb,0.55532e+03_rb,0.71748e+03_rb /) kbo(:, 1,27,15) = (/ & & 0.10295e+04_rb,0.78816e+03_rb,0.68910e+03_rb,0.64601e+03_rb,0.81822e+03_rb /) kbo(:, 2,27,15) = (/ & & 0.10061e+04_rb,0.76604e+03_rb,0.66144e+03_rb,0.62260e+03_rb,0.79343e+03_rb /) kbo(:, 3,27,15) = (/ & & 0.98153e+03_rb,0.74373e+03_rb,0.63470e+03_rb,0.60041e+03_rb,0.76875e+03_rb /) kbo(:, 4,27,15) = (/ & & 0.95548e+03_rb,0.72130e+03_rb,0.60866e+03_rb,0.57907e+03_rb,0.74456e+03_rb /) kbo(:, 5,27,15) = (/ & & 0.92838e+03_rb,0.69916e+03_rb,0.58347e+03_rb,0.55864e+03_rb,0.72113e+03_rb /) kbo(:, 1,28,15) = (/ & & 0.10413e+04_rb,0.79681e+03_rb,0.69534e+03_rb,0.64995e+03_rb,0.82220e+03_rb /) kbo(:, 2,28,15) = (/ & & 0.10164e+04_rb,0.77357e+03_rb,0.66667e+03_rb,0.62595e+03_rb,0.79680e+03_rb /) kbo(:, 3,28,15) = (/ & & 0.99062e+03_rb,0.75026e+03_rb,0.63903e+03_rb,0.60314e+03_rb,0.77147e+03_rb /) kbo(:, 4,28,15) = (/ & & 0.96323e+03_rb,0.72694e+03_rb,0.61220e+03_rb,0.58130e+03_rb,0.74687e+03_rb /) kbo(:, 5,28,15) = (/ & & 0.93489e+03_rb,0.70393e+03_rb,0.58636e+03_rb,0.56041e+03_rb,0.72308e+03_rb /) kbo(:, 1,29,15) = (/ & & 0.10495e+04_rb,0.80260e+03_rb,0.69878e+03_rb,0.65184e+03_rb,0.82409e+03_rb /) kbo(:, 2,29,15) = (/ & & 0.10235e+04_rb,0.77841e+03_rb,0.66934e+03_rb,0.62739e+03_rb,0.79811e+03_rb /) kbo(:, 3,29,15) = (/ & & 0.99642e+03_rb,0.75425e+03_rb,0.64103e+03_rb,0.60412e+03_rb,0.77230e+03_rb /) kbo(:, 4,29,15) = (/ & & 0.96796e+03_rb,0.73025e+03_rb,0.61357e+03_rb,0.58189e+03_rb,0.74741e+03_rb /) kbo(:, 5,29,15) = (/ & & 0.93857e+03_rb,0.70654e+03_rb,0.58732e+03_rb,0.56077e+03_rb,0.72335e+03_rb /) kbo(:, 1,30,15) = (/ & & 0.10549e+04_rb,0.80614e+03_rb,0.70001e+03_rb,0.65202e+03_rb,0.82418e+03_rb /) kbo(:, 2,30,15) = (/ & & 0.10278e+04_rb,0.78108e+03_rb,0.67004e+03_rb,0.62730e+03_rb,0.79771e+03_rb /) kbo(:, 3,30,15) = (/ & & 0.99966e+03_rb,0.75628e+03_rb,0.64121e+03_rb,0.60374e+03_rb,0.77172e+03_rb /) kbo(:, 4,30,15) = (/ & & 0.97021e+03_rb,0.73170e+03_rb,0.61335e+03_rb,0.58130e+03_rb,0.74664e+03_rb /) kbo(:, 5,30,15) = (/ & & 0.94007e+03_rb,0.70743e+03_rb,0.58676e+03_rb,0.55999e+03_rb,0.72234e+03_rb /) kbo(:, 1,31,15) = (/ & & 0.10577e+04_rb,0.80741e+03_rb,0.69925e+03_rb,0.65081e+03_rb,0.82281e+03_rb /) kbo(:, 2,31,15) = (/ & & 0.10297e+04_rb,0.78182e+03_rb,0.66894e+03_rb,0.62588e+03_rb,0.79605e+03_rb /) kbo(:, 3,31,15) = (/ & & 0.10005e+04_rb,0.75649e+03_rb,0.63976e+03_rb,0.60219e+03_rb,0.76987e+03_rb /) kbo(:, 4,31,15) = (/ & & 0.97028e+03_rb,0.73149e+03_rb,0.61167e+03_rb,0.57962e+03_rb,0.74468e+03_rb /) kbo(:, 5,31,15) = (/ & & 0.93951e+03_rb,0.70673e+03_rb,0.58494e+03_rb,0.55830e+03_rb,0.72033e+03_rb /) kbo(:, 1,32,15) = (/ & & 0.10585e+04_rb,0.80706e+03_rb,0.69697e+03_rb,0.64853e+03_rb,0.82034e+03_rb /) kbo(:, 2,32,15) = (/ & & 0.10295e+04_rb,0.78094e+03_rb,0.66639e+03_rb,0.62348e+03_rb,0.79329e+03_rb /) kbo(:, 3,32,15) = (/ & & 0.99955e+03_rb,0.75528e+03_rb,0.63700e+03_rb,0.59969e+03_rb,0.76700e+03_rb /) kbo(:, 4,32,15) = (/ & & 0.96864e+03_rb,0.72996e+03_rb,0.60885e+03_rb,0.57712e+03_rb,0.74178e+03_rb /) kbo(:, 5,32,15) = (/ & & 0.93737e+03_rb,0.70488e+03_rb,0.58204e+03_rb,0.55579e+03_rb,0.71738e+03_rb /) kbo(:, 1,33,15) = (/ & & 0.10575e+04_rb,0.80530e+03_rb,0.69345e+03_rb,0.64529e+03_rb,0.81678e+03_rb /) kbo(:, 2,33,15) = (/ & & 0.10278e+04_rb,0.77890e+03_rb,0.66278e+03_rb,0.62027e+03_rb,0.78965e+03_rb /) kbo(:, 3,33,15) = (/ & & 0.99704e+03_rb,0.75290e+03_rb,0.63324e+03_rb,0.59645e+03_rb,0.76337e+03_rb /) kbo(:, 4,33,15) = (/ & & 0.96555e+03_rb,0.72726e+03_rb,0.60509e+03_rb,0.57394e+03_rb,0.73813e+03_rb /) kbo(:, 5,33,15) = (/ & & 0.93393e+03_rb,0.70207e+03_rb,0.57839e+03_rb,0.55267e+03_rb,0.71377e+03_rb /) kbo(:, 1,34,15) = (/ & & 0.10561e+04_rb,0.80340e+03_rb,0.69012e+03_rb,0.64228e+03_rb,0.81344e+03_rb /) kbo(:, 2,34,15) = (/ & & 0.10257e+04_rb,0.77677e+03_rb,0.65936e+03_rb,0.61726e+03_rb,0.78628e+03_rb /) kbo(:, 3,34,15) = (/ & & 0.99442e+03_rb,0.75053e+03_rb,0.62978e+03_rb,0.59351e+03_rb,0.76009e+03_rb /) kbo(:, 4,34,15) = (/ & & 0.96258e+03_rb,0.72472e+03_rb,0.60168e+03_rb,0.57104e+03_rb,0.73478e+03_rb /) kbo(:, 5,34,15) = (/ & & 0.93053e+03_rb,0.69938e+03_rb,0.57499e+03_rb,0.54984e+03_rb,0.71051e+03_rb /) kbo(:, 1,35,15) = (/ & & 0.10564e+04_rb,0.80326e+03_rb,0.68907e+03_rb,0.64121e+03_rb,0.81221e+03_rb /) kbo(:, 2,35,15) = (/ & & 0.10257e+04_rb,0.77646e+03_rb,0.65819e+03_rb,0.61612e+03_rb,0.78498e+03_rb /) kbo(:, 3,35,15) = (/ & & 0.99396e+03_rb,0.74998e+03_rb,0.62850e+03_rb,0.59231e+03_rb,0.75874e+03_rb /) kbo(:, 4,35,15) = (/ & & 0.96182e+03_rb,0.72398e+03_rb,0.60037e+03_rb,0.56987e+03_rb,0.73339e+03_rb /) kbo(:, 5,35,15) = (/ & & 0.92945e+03_rb,0.69852e+03_rb,0.57362e+03_rb,0.54864e+03_rb,0.70910e+03_rb /) kbo(:, 1,36,15) = (/ & & 0.10593e+04_rb,0.80545e+03_rb,0.69086e+03_rb,0.64252e+03_rb,0.81357e+03_rb /) kbo(:, 2,36,15) = (/ & & 0.10283e+04_rb,0.77842e+03_rb,0.65978e+03_rb,0.61726e+03_rb,0.78619e+03_rb /) kbo(:, 3,36,15) = (/ & & 0.99627e+03_rb,0.75174e+03_rb,0.62993e+03_rb,0.59335e+03_rb,0.75988e+03_rb /) kbo(:, 4,36,15) = (/ & & 0.96386e+03_rb,0.72553e+03_rb,0.60161e+03_rb,0.57080e+03_rb,0.73443e+03_rb /) kbo(:, 5,36,15) = (/ & & 0.93134e+03_rb,0.69996e+03_rb,0.57477e+03_rb,0.54947e+03_rb,0.71003e+03_rb /) kbo(:, 1,37,15) = (/ & & 0.10662e+04_rb,0.81134e+03_rb,0.69713e+03_rb,0.64751e+03_rb,0.81885e+03_rb /) kbo(:, 2,37,15) = (/ & & 0.10351e+04_rb,0.78402e+03_rb,0.66565e+03_rb,0.62189e+03_rb,0.79122e+03_rb /) kbo(:, 3,37,15) = (/ & & 0.10030e+04_rb,0.75714e+03_rb,0.63542e+03_rb,0.59764e+03_rb,0.76460e+03_rb /) kbo(:, 4,37,15) = (/ & & 0.97042e+03_rb,0.73071e+03_rb,0.60674e+03_rb,0.57477e+03_rb,0.73895e+03_rb /) kbo(:, 5,37,15) = (/ & & 0.93771e+03_rb,0.70485e+03_rb,0.57959e+03_rb,0.55322e+03_rb,0.71431e+03_rb /) kbo(:, 1,38,15) = (/ & & 0.10729e+04_rb,0.81713e+03_rb,0.70342e+03_rb,0.65252e+03_rb,0.82415e+03_rb /) kbo(:, 2,38,15) = (/ & & 0.10416e+04_rb,0.78952e+03_rb,0.67152e+03_rb,0.62655e+03_rb,0.79626e+03_rb /) kbo(:, 3,38,15) = (/ & & 0.10096e+04_rb,0.76249e+03_rb,0.64098e+03_rb,0.60198e+03_rb,0.76937e+03_rb /) kbo(:, 4,38,15) = (/ & & 0.97695e+03_rb,0.73588e+03_rb,0.61197e+03_rb,0.57883e+03_rb,0.74352e+03_rb /) kbo(:, 5,38,15) = (/ & & 0.94411e+03_rb,0.70978e+03_rb,0.58447e+03_rb,0.55704e+03_rb,0.71866e+03_rb /) kbo(:, 1,39,15) = (/ & & 0.10791e+04_rb,0.82257e+03_rb,0.70938e+03_rb,0.65729e+03_rb,0.82913e+03_rb /) kbo(:, 2,39,15) = (/ & & 0.10479e+04_rb,0.79481e+03_rb,0.67717e+03_rb,0.63099e+03_rb,0.80105e+03_rb /) kbo(:, 3,39,15) = (/ & & 0.10158e+04_rb,0.76754e+03_rb,0.64630e+03_rb,0.60614e+03_rb,0.77394e+03_rb /) kbo(:, 4,39,15) = (/ & & 0.98307e+03_rb,0.74076e+03_rb,0.61694e+03_rb,0.58271e+03_rb,0.74789e+03_rb /) kbo(:, 5,39,15) = (/ & & 0.95013e+03_rb,0.71446e+03_rb,0.58917e+03_rb,0.56072e+03_rb,0.72285e+03_rb /) kbo(:, 1,40,15) = (/ & & 0.10882e+04_rb,0.83071e+03_rb,0.71862e+03_rb,0.66478e+03_rb,0.83689e+03_rb /) kbo(:, 2,40,15) = (/ & & 0.10571e+04_rb,0.80265e+03_rb,0.68589e+03_rb,0.63804e+03_rb,0.80862e+03_rb /) kbo(:, 3,40,15) = (/ & & 0.10251e+04_rb,0.77527e+03_rb,0.65462e+03_rb,0.61278e+03_rb,0.78119e+03_rb /) kbo(:, 4,40,15) = (/ & & 0.99232e+03_rb,0.74818e+03_rb,0.62475e+03_rb,0.58893e+03_rb,0.75487e+03_rb /) kbo(:, 5,40,15) = (/ & & 0.95932e+03_rb,0.72168e+03_rb,0.59655e+03_rb,0.56653e+03_rb,0.72946e+03_rb /) kbo(:, 1,41,15) = (/ & & 0.10971e+04_rb,0.83901e+03_rb,0.72823e+03_rb,0.67265e+03_rb,0.84493e+03_rb /) kbo(:, 2,41,15) = (/ & & 0.10663e+04_rb,0.81071e+03_rb,0.69500e+03_rb,0.64543e+03_rb,0.81648e+03_rb /) kbo(:, 3,41,15) = (/ & & 0.10345e+04_rb,0.78315e+03_rb,0.66331e+03_rb,0.61971e+03_rb,0.78878e+03_rb /) kbo(:, 4,41,15) = (/ & & 0.10019e+04_rb,0.75590e+03_rb,0.63295e+03_rb,0.59541e+03_rb,0.76210e+03_rb /) kbo(:, 5,41,15) = (/ & & 0.96878e+03_rb,0.72921e+03_rb,0.60428e+03_rb,0.57260e+03_rb,0.73637e+03_rb /) kbo(:, 1,42,15) = (/ & & 0.11058e+04_rb,0.84736e+03_rb,0.73795e+03_rb,0.68059e+03_rb,0.85278e+03_rb /) kbo(:, 2,42,15) = (/ & & 0.10754e+04_rb,0.81879e+03_rb,0.70412e+03_rb,0.65281e+03_rb,0.82432e+03_rb /) kbo(:, 3,42,15) = (/ & & 0.10438e+04_rb,0.79093e+03_rb,0.67198e+03_rb,0.62664e+03_rb,0.79629e+03_rb /) kbo(:, 4,42,15) = (/ & & 0.10112e+04_rb,0.76353e+03_rb,0.64116e+03_rb,0.60189e+03_rb,0.76925e+03_rb /) kbo(:, 5,42,15) = (/ & & 0.97804e+03_rb,0.73660e+03_rb,0.61202e+03_rb,0.57870e+03_rb,0.74332e+03_rb /) kbo(:, 1,43,15) = (/ & & 0.11158e+04_rb,0.85717e+03_rb,0.74955e+03_rb,0.69024e+03_rb,0.86217e+03_rb /) kbo(:, 2,43,15) = (/ & & 0.10861e+04_rb,0.82836e+03_rb,0.71518e+03_rb,0.66177e+03_rb,0.83370e+03_rb /) kbo(:, 3,43,15) = (/ & & 0.10546e+04_rb,0.80021e+03_rb,0.68243e+03_rb,0.63507e+03_rb,0.80541e+03_rb /) kbo(:, 4,43,15) = (/ & & 0.10222e+04_rb,0.77261e+03_rb,0.65115e+03_rb,0.60984e+03_rb,0.77795e+03_rb /) kbo(:, 5,43,15) = (/ & & 0.98916e+03_rb,0.74551e+03_rb,0.62143e+03_rb,0.58614e+03_rb,0.75171e+03_rb /) kbo(:, 1,44,15) = (/ & & 0.11264e+04_rb,0.86786e+03_rb,0.76217e+03_rb,0.70088e+03_rb,0.87207e+03_rb /) kbo(:, 2,44,15) = (/ & & 0.10970e+04_rb,0.83855e+03_rb,0.72711e+03_rb,0.67158e+03_rb,0.84381e+03_rb /) kbo(:, 3,44,15) = (/ & & 0.10660e+04_rb,0.81015e+03_rb,0.69375e+03_rb,0.64429e+03_rb,0.81530e+03_rb /) kbo(:, 4,44,15) = (/ & & 0.10339e+04_rb,0.78245e+03_rb,0.66207e+03_rb,0.61859e+03_rb,0.78750e+03_rb /) kbo(:, 5,44,15) = (/ & & 0.10010e+04_rb,0.75506e+03_rb,0.63169e+03_rb,0.59432e+03_rb,0.76086e+03_rb /) kbo(:, 1,45,15) = (/ & & 0.11364e+04_rb,0.87855e+03_rb,0.77494e+03_rb,0.71181e+03_rb,0.88191e+03_rb /) kbo(:, 2,45,15) = (/ & & 0.11078e+04_rb,0.84885e+03_rb,0.73921e+03_rb,0.68154e+03_rb,0.85373e+03_rb /) kbo(:, 3,45,15) = (/ & & 0.10773e+04_rb,0.82021e+03_rb,0.70525e+03_rb,0.65361e+03_rb,0.82516e+03_rb /) kbo(:, 4,45,15) = (/ & & 0.10454e+04_rb,0.79218e+03_rb,0.67305e+03_rb,0.62740e+03_rb,0.79708e+03_rb /) kbo(:, 5,45,15) = (/ & & 0.10127e+04_rb,0.76466e+03_rb,0.64208e+03_rb,0.60256e+03_rb,0.76997e+03_rb /) kbo(:, 1,46,15) = (/ & & 0.11465e+04_rb,0.88995e+03_rb,0.78864e+03_rb,0.72357e+03_rb,0.89218e+03_rb /) kbo(:, 2,46,15) = (/ & & 0.11189e+04_rb,0.85981e+03_rb,0.75227e+03_rb,0.69242e+03_rb,0.86430e+03_rb /) kbo(:, 3,46,15) = (/ & & 0.10889e+04_rb,0.83077e+03_rb,0.71764e+03_rb,0.66370e+03_rb,0.83569e+03_rb /) kbo(:, 4,46,15) = (/ & & 0.10574e+04_rb,0.80253e+03_rb,0.68479e+03_rb,0.63689e+03_rb,0.80730e+03_rb /) kbo(:, 5,46,15) = (/ & & 0.10249e+04_rb,0.77483e+03_rb,0.65332e+03_rb,0.61153e+03_rb,0.77982e+03_rb /) kbo(:, 1,47,15) = (/ & & 0.11573e+04_rb,0.90286e+03_rb,0.80421e+03_rb,0.73669e+03_rb,0.90313e+03_rb /) kbo(:, 2,47,15) = (/ & & 0.11308e+04_rb,0.87219e+03_rb,0.76703e+03_rb,0.70495e+03_rb,0.87583e+03_rb /) kbo(:, 3,47,15) = (/ & & 0.11017e+04_rb,0.84272e+03_rb,0.73168e+03_rb,0.67524e+03_rb,0.84747e+03_rb /) kbo(:, 4,47,15) = (/ & & 0.10706e+04_rb,0.81413e+03_rb,0.69808e+03_rb,0.64772e+03_rb,0.81886e+03_rb /) kbo(:, 5,47,15) = (/ & & 0.10385e+04_rb,0.78623e+03_rb,0.66606e+03_rb,0.62176e+03_rb,0.79095e+03_rb /) kbo(:, 1,48,15) = (/ & & 0.11675e+04_rb,0.91580e+03_rb,0.81991e+03_rb,0.74998e+03_rb,0.91375e+03_rb /) kbo(:, 2,48,15) = (/ & & 0.11421e+04_rb,0.88462e+03_rb,0.78203e+03_rb,0.71783e+03_rb,0.88726e+03_rb /) kbo(:, 3,48,15) = (/ & & 0.11139e+04_rb,0.85471e+03_rb,0.74597e+03_rb,0.68710e+03_rb,0.85917e+03_rb /) kbo(:, 4,48,15) = (/ & & 0.10836e+04_rb,0.82582e+03_rb,0.71165e+03_rb,0.65875e+03_rb,0.83052e+03_rb /) kbo(:, 5,48,15) = (/ & & 0.10518e+04_rb,0.79762e+03_rb,0.67897e+03_rb,0.63216e+03_rb,0.80224e+03_rb /) kbo(:, 1,49,15) = (/ & & 0.11770e+04_rb,0.92887e+03_rb,0.83589e+03_rb,0.76347e+03_rb,0.92401e+03_rb /) kbo(:, 2,49,15) = (/ & & 0.11531e+04_rb,0.89735e+03_rb,0.79736e+03_rb,0.73085e+03_rb,0.89839e+03_rb /) kbo(:, 3,49,15) = (/ & & 0.11259e+04_rb,0.86690e+03_rb,0.76049e+03_rb,0.69928e+03_rb,0.87069e+03_rb /) kbo(:, 4,49,15) = (/ & & 0.10963e+04_rb,0.83754e+03_rb,0.72543e+03_rb,0.67003e+03_rb,0.84223e+03_rb /) kbo(:, 5,49,15) = (/ & & 0.10650e+04_rb,0.80903e+03_rb,0.69202e+03_rb,0.64278e+03_rb,0.81363e+03_rb /) kbo(:, 1,50,15) = (/ & & 0.11850e+04_rb,0.94106e+03_rb,0.85114e+03_rb,0.77623e+03_rb,0.93320e+03_rb /) kbo(:, 2,50,15) = (/ & & 0.11628e+04_rb,0.90935e+03_rb,0.81191e+03_rb,0.74315e+03_rb,0.90846e+03_rb /) kbo(:, 3,50,15) = (/ & & 0.11368e+04_rb,0.87848e+03_rb,0.77441e+03_rb,0.71118e+03_rb,0.88145e+03_rb /) kbo(:, 4,50,15) = (/ & & 0.11080e+04_rb,0.84872e+03_rb,0.73862e+03_rb,0.68089e+03_rb,0.85311e+03_rb /) kbo(:, 5,50,15) = (/ & & 0.10771e+04_rb,0.81987e+03_rb,0.70453e+03_rb,0.65297e+03_rb,0.82446e+03_rb /) kbo(:, 1,51,15) = (/ & & 0.11923e+04_rb,0.95283e+03_rb,0.86626e+03_rb,0.78865e+03_rb,0.94170e+03_rb /) kbo(:, 2,51,15) = (/ & & 0.11717e+04_rb,0.92110e+03_rb,0.82616e+03_rb,0.75525e+03_rb,0.91794e+03_rb /) kbo(:, 3,51,15) = (/ & & 0.11468e+04_rb,0.88978e+03_rb,0.78804e+03_rb,0.72292e+03_rb,0.89168e+03_rb /) kbo(:, 4,51,15) = (/ & & 0.11189e+04_rb,0.85951e+03_rb,0.75159e+03_rb,0.69174e+03_rb,0.86368e+03_rb /) kbo(:, 5,51,15) = (/ & & 0.10888e+04_rb,0.83043e+03_rb,0.71698e+03_rb,0.66309e+03_rb,0.83504e+03_rb /) kbo(:, 1,52,15) = (/ & & 0.11987e+04_rb,0.96448e+03_rb,0.88155e+03_rb,0.80101e+03_rb,0.94976e+03_rb /) kbo(:, 2,52,15) = (/ & & 0.11799e+04_rb,0.93288e+03_rb,0.84067e+03_rb,0.76742e+03_rb,0.92694e+03_rb /) kbo(:, 3,52,15) = (/ & & 0.11564e+04_rb,0.90125e+03_rb,0.80189e+03_rb,0.73467e+03_rb,0.90155e+03_rb /) kbo(:, 4,52,15) = (/ & & 0.11296e+04_rb,0.87065e+03_rb,0.76482e+03_rb,0.70289e+03_rb,0.87401e+03_rb /) kbo(:, 5,52,15) = (/ & & 0.11001e+04_rb,0.84107e+03_rb,0.72948e+03_rb,0.67337e+03_rb,0.84559e+03_rb /) kbo(:, 1,53,15) = (/ & & 0.12042e+04_rb,0.97597e+03_rb,0.89729e+03_rb,0.81334e+03_rb,0.95716e+03_rb /) kbo(:, 2,53,15) = (/ & & 0.11876e+04_rb,0.94467e+03_rb,0.85557e+03_rb,0.77990e+03_rb,0.93591e+03_rb /) kbo(:, 3,53,15) = (/ & & 0.11657e+04_rb,0.91285e+03_rb,0.81605e+03_rb,0.74663e+03_rb,0.91125e+03_rb /) kbo(:, 4,53,15) = (/ & & 0.11399e+04_rb,0.88179e+03_rb,0.77830e+03_rb,0.71447e+03_rb,0.88437e+03_rb /) kbo(:, 5,53,15) = (/ & & 0.11113e+04_rb,0.85189e+03_rb,0.74233e+03_rb,0.68396e+03_rb,0.85611e+03_rb /) kbo(:, 1,54,15) = (/ & & 0.12085e+04_rb,0.98643e+03_rb,0.91208e+03_rb,0.82462e+03_rb,0.96332e+03_rb /) kbo(:, 2,54,15) = (/ & & 0.11940e+04_rb,0.95533e+03_rb,0.86934e+03_rb,0.79114e+03_rb,0.94342e+03_rb /) kbo(:, 3,54,15) = (/ & & 0.11737e+04_rb,0.92362e+03_rb,0.82909e+03_rb,0.75767e+03_rb,0.91977e+03_rb /) kbo(:, 4,54,15) = (/ & & 0.11490e+04_rb,0.89214e+03_rb,0.79079e+03_rb,0.72522e+03_rb,0.89369e+03_rb /) kbo(:, 5,54,15) = (/ & & 0.11212e+04_rb,0.86180e+03_rb,0.75420e+03_rb,0.69390e+03_rb,0.86571e+03_rb /) kbo(:, 1,55,15) = (/ & & 0.12111e+04_rb,0.99597e+03_rb,0.92635e+03_rb,0.83534e+03_rb,0.96856e+03_rb /) kbo(:, 2,55,15) = (/ & & 0.11993e+04_rb,0.96550e+03_rb,0.88281e+03_rb,0.80196e+03_rb,0.95029e+03_rb /) kbo(:, 3,55,15) = (/ & & 0.11808e+04_rb,0.93390e+03_rb,0.84185e+03_rb,0.76841e+03_rb,0.92774e+03_rb /) kbo(:, 4,55,15) = (/ & & 0.11574e+04_rb,0.90226e+03_rb,0.80305e+03_rb,0.73557e+03_rb,0.90236e+03_rb /) kbo(:, 5,55,15) = (/ & & 0.11305e+04_rb,0.87151e+03_rb,0.76581e+03_rb,0.70377e+03_rb,0.87482e+03_rb /) kbo(:, 1,56,15) = (/ & & 0.12133e+04_rb,0.10055e+04_rb,0.94091e+03_rb,0.84599e+03_rb,0.97308e+03_rb /) kbo(:, 2,56,15) = (/ & & 0.12041e+04_rb,0.97555e+03_rb,0.89660e+03_rb,0.81280e+03_rb,0.95684e+03_rb /) kbo(:, 3,56,15) = (/ & & 0.11875e+04_rb,0.94422e+03_rb,0.85482e+03_rb,0.77921e+03_rb,0.93538e+03_rb /) kbo(:, 4,56,15) = (/ & & 0.11654e+04_rb,0.91235e+03_rb,0.81536e+03_rb,0.74599e+03_rb,0.91077e+03_rb /) kbo(:, 5,56,15) = (/ & & 0.11395e+04_rb,0.88125e+03_rb,0.77756e+03_rb,0.71383e+03_rb,0.88381e+03_rb /) kbo(:, 1,57,15) = (/ & & 0.12144e+04_rb,0.10149e+04_rb,0.95530e+03_rb,0.85635e+03_rb,0.97654e+03_rb /) kbo(:, 2,57,15) = (/ & & 0.12082e+04_rb,0.98553e+03_rb,0.91069e+03_rb,0.82360e+03_rb,0.96286e+03_rb /) kbo(:, 3,57,15) = (/ & & 0.11936e+04_rb,0.95436e+03_rb,0.86797e+03_rb,0.78997e+03_rb,0.94263e+03_rb /) kbo(:, 4,57,15) = (/ & & 0.11730e+04_rb,0.92261e+03_rb,0.82779e+03_rb,0.75653e+03_rb,0.91896e+03_rb /) kbo(:, 5,57,15) = (/ & & 0.11481e+04_rb,0.89107e+03_rb,0.78949e+03_rb,0.72412e+03_rb,0.89274e+03_rb /) kbo(:, 1,58,15) = (/ & & 0.12146e+04_rb,0.10236e+04_rb,0.96889e+03_rb,0.86606e+03_rb,0.97897e+03_rb /) kbo(:, 2,58,15) = (/ & & 0.12111e+04_rb,0.99468e+03_rb,0.92419e+03_rb,0.83372e+03_rb,0.96790e+03_rb /) kbo(:, 3,58,15) = (/ & & 0.11988e+04_rb,0.96400e+03_rb,0.88060e+03_rb,0.80022e+03_rb,0.94932e+03_rb /) kbo(:, 4,58,15) = (/ & & 0.11798e+04_rb,0.93230e+03_rb,0.83979e+03_rb,0.76663e+03_rb,0.92647e+03_rb /) kbo(:, 5,58,15) = (/ & & 0.11561e+04_rb,0.90059e+03_rb,0.80102e+03_rb,0.73388e+03_rb,0.90094e+03_rb /) kbo(:, 1,59,15) = (/ & & 0.12143e+04_rb,0.10270e+04_rb,0.97431e+03_rb,0.86988e+03_rb,0.97963e+03_rb /) kbo(:, 2,59,15) = (/ & & 0.12120e+04_rb,0.99826e+03_rb,0.92964e+03_rb,0.83774e+03_rb,0.96974e+03_rb /) kbo(:, 3,59,15) = (/ & & 0.12008e+04_rb,0.96785e+03_rb,0.88575e+03_rb,0.80426e+03_rb,0.95182e+03_rb /) kbo(:, 4,59,15) = (/ & & 0.11824e+04_rb,0.93625e+03_rb,0.84468e+03_rb,0.77075e+03_rb,0.92946e+03_rb /) kbo(:, 5,59,15) = (/ & & 0.11592e+04_rb,0.90444e+03_rb,0.80567e+03_rb,0.73781e+03_rb,0.90417e+03_rb /) kbo(:, 1,13,16) = (/ & & 0.60786e+03_rb,0.45592e+03_rb,0.38499e+03_rb,0.57704e+03_rb,0.77025e+03_rb /) kbo(:, 2,13,16) = (/ & & 0.61089e+03_rb,0.45819e+03_rb,0.37289e+03_rb,0.55854e+03_rb,0.74550e+03_rb /) kbo(:, 3,13,16) = (/ & & 0.61169e+03_rb,0.45879e+03_rb,0.36189e+03_rb,0.54102e+03_rb,0.72223e+03_rb /) kbo(:, 4,13,16) = (/ & & 0.61079e+03_rb,0.45811e+03_rb,0.35169e+03_rb,0.52404e+03_rb,0.69950e+03_rb /) kbo(:, 5,13,16) = (/ & & 0.60850e+03_rb,0.45639e+03_rb,0.34199e+03_rb,0.50729e+03_rb,0.67716e+03_rb /) kbo(:, 1,14,16) = (/ & & 0.71905e+03_rb,0.53931e+03_rb,0.44704e+03_rb,0.66948e+03_rb,0.89363e+03_rb /) kbo(:, 2,14,16) = (/ & & 0.71950e+03_rb,0.53965e+03_rb,0.43274e+03_rb,0.64598e+03_rb,0.86230e+03_rb /) kbo(:, 3,14,16) = (/ & & 0.71818e+03_rb,0.53865e+03_rb,0.41969e+03_rb,0.62353e+03_rb,0.83220e+03_rb /) kbo(:, 4,14,16) = (/ & & 0.71532e+03_rb,0.53651e+03_rb,0.40717e+03_rb,0.60193e+03_rb,0.80343e+03_rb /) kbo(:, 5,14,16) = (/ & & 0.71008e+03_rb,0.53258e+03_rb,0.39527e+03_rb,0.58080e+03_rb,0.77521e+03_rb /) kbo(:, 1,15,16) = (/ & & 0.84339e+03_rb,0.63256e+03_rb,0.51534e+03_rb,0.76897e+03_rb,0.10264e+04_rb /) kbo(:, 2,15,16) = (/ & & 0.84056e+03_rb,0.63042e+03_rb,0.49783e+03_rb,0.73927e+03_rb,0.98670e+03_rb /) kbo(:, 3,15,16) = (/ & & 0.83549e+03_rb,0.62663e+03_rb,0.48183e+03_rb,0.71056e+03_rb,0.94836e+03_rb /) kbo(:, 4,15,16) = (/ & & 0.82865e+03_rb,0.62150e+03_rb,0.46649e+03_rb,0.68266e+03_rb,0.91115e+03_rb /) kbo(:, 5,15,16) = (/ & & 0.81975e+03_rb,0.61483e+03_rb,0.45195e+03_rb,0.65670e+03_rb,0.87636e+03_rb /) kbo(:, 1,16,16) = (/ & & 0.97910e+03_rb,0.73434e+03_rb,0.58857e+03_rb,0.87272e+03_rb,0.11648e+04_rb /) kbo(:, 2,16,16) = (/ & & 0.97153e+03_rb,0.72866e+03_rb,0.56721e+03_rb,0.83540e+03_rb,0.11150e+04_rb /) kbo(:, 3,16,16) = (/ & & 0.96129e+03_rb,0.72098e+03_rb,0.54742e+03_rb,0.79937e+03_rb,0.10667e+04_rb /) kbo(:, 4,16,16) = (/ & & 0.94880e+03_rb,0.71161e+03_rb,0.52876e+03_rb,0.76497e+03_rb,0.10209e+04_rb /) kbo(:, 5,16,16) = (/ & & 0.93421e+03_rb,0.70067e+03_rb,0.51082e+03_rb,0.73352e+03_rb,0.97881e+03_rb /) kbo(:, 1,17,16) = (/ & & 0.11229e+04_rb,0.84221e+03_rb,0.66547e+03_rb,0.97911e+03_rb,0.13066e+04_rb /) kbo(:, 2,17,16) = (/ & & 0.11091e+04_rb,0.83187e+03_rb,0.63930e+03_rb,0.93226e+03_rb,0.12440e+04_rb /) kbo(:, 3,17,16) = (/ & & 0.10923e+04_rb,0.81922e+03_rb,0.61539e+03_rb,0.88802e+03_rb,0.11849e+04_rb /) kbo(:, 4,17,16) = (/ & & 0.10728e+04_rb,0.80459e+03_rb,0.59256e+03_rb,0.84691e+03_rb,0.11301e+04_rb /) kbo(:, 5,17,16) = (/ & & 0.10515e+04_rb,0.78865e+03_rb,0.57044e+03_rb,0.80936e+03_rb,0.10799e+04_rb /) kbo(:, 1,18,16) = (/ & & 0.12716e+04_rb,0.95370e+03_rb,0.74447e+03_rb,0.10843e+04_rb,0.14469e+04_rb /) kbo(:, 2,18,16) = (/ & & 0.12500e+04_rb,0.93749e+03_rb,0.71274e+03_rb,0.10272e+04_rb,0.13706e+04_rb /) kbo(:, 3,18,16) = (/ & & 0.12251e+04_rb,0.91883e+03_rb,0.68394e+03_rb,0.97432e+03_rb,0.13000e+04_rb /) kbo(:, 4,18,16) = (/ & & 0.11973e+04_rb,0.89795e+03_rb,0.65609e+03_rb,0.92626e+03_rb,0.12359e+04_rb /) kbo(:, 5,18,16) = (/ & & 0.11679e+04_rb,0.87596e+03_rb,0.62959e+03_rb,0.88232e+03_rb,0.11772e+04_rb /) kbo(:, 1,19,16) = (/ & & 0.14213e+04_rb,0.10659e+04_rb,0.82299e+03_rb,0.11854e+04_rb,0.15817e+04_rb /) kbo(:, 2,19,16) = (/ & & 0.13899e+04_rb,0.10424e+04_rb,0.78536e+03_rb,0.11181e+04_rb,0.14919e+04_rb /) kbo(:, 3,19,16) = (/ & & 0.13555e+04_rb,0.10166e+04_rb,0.75067e+03_rb,0.10563e+04_rb,0.14093e+04_rb /) kbo(:, 4,19,16) = (/ & & 0.13187e+04_rb,0.98902e+03_rb,0.71751e+03_rb,0.10008e+04_rb,0.13351e+04_rb /) kbo(:, 5,19,16) = (/ & & 0.12809e+04_rb,0.96067e+03_rb,0.68653e+03_rb,0.95065e+03_rb,0.12682e+04_rb /) kbo(:, 1,20,16) = (/ & & 0.15671e+04_rb,0.11753e+04_rb,0.89787e+03_rb,0.12782e+04_rb,0.17052e+04_rb /) kbo(:, 2,20,16) = (/ & & 0.15245e+04_rb,0.11434e+04_rb,0.85373e+03_rb,0.12013e+04_rb,0.16026e+04_rb /) kbo(:, 3,20,16) = (/ & & 0.14795e+04_rb,0.11097e+04_rb,0.81323e+03_rb,0.11307e+04_rb,0.15085e+04_rb /) kbo(:, 4,20,16) = (/ & & 0.14333e+04_rb,0.10750e+04_rb,0.77488e+03_rb,0.10684e+04_rb,0.14252e+04_rb /) kbo(:, 5,20,16) = (/ & & 0.13861e+04_rb,0.10396e+04_rb,0.73891e+03_rb,0.10119e+04_rb,0.13498e+04_rb /) kbo(:, 1,21,16) = (/ & & 0.17057e+04_rb,0.12793e+04_rb,0.96840e+03_rb,0.13620e+04_rb,0.18170e+04_rb /) kbo(:, 2,21,16) = (/ & & 0.16509e+04_rb,0.12382e+04_rb,0.91726e+03_rb,0.12758e+04_rb,0.17018e+04_rb /) kbo(:, 3,21,16) = (/ & & 0.15947e+04_rb,0.11960e+04_rb,0.87064e+03_rb,0.11975e+04_rb,0.15973e+04_rb /) kbo(:, 4,21,16) = (/ & & 0.15386e+04_rb,0.11540e+04_rb,0.82723e+03_rb,0.11286e+04_rb,0.15054e+04_rb /) kbo(:, 5,21,16) = (/ & & 0.14823e+04_rb,0.11117e+04_rb,0.78614e+03_rb,0.10661e+04_rb,0.14220e+04_rb /) kbo(:, 1,22,16) = (/ & & 0.18293e+04_rb,0.13720e+04_rb,0.10288e+04_rb,0.14300e+04_rb,0.19074e+04_rb /) kbo(:, 2,22,16) = (/ & & 0.17617e+04_rb,0.13213e+04_rb,0.97120e+03_rb,0.13351e+04_rb,0.17808e+04_rb /) kbo(:, 3,22,16) = (/ & & 0.16944e+04_rb,0.12708e+04_rb,0.91894e+03_rb,0.12506e+04_rb,0.16681e+04_rb /) kbo(:, 4,22,16) = (/ & & 0.16287e+04_rb,0.12215e+04_rb,0.87041e+03_rb,0.11757e+04_rb,0.15681e+04_rb /) kbo(:, 5,22,16) = (/ & & 0.15635e+04_rb,0.11726e+04_rb,0.82499e+03_rb,0.11083e+04_rb,0.14783e+04_rb /) kbo(:, 1,23,16) = (/ & & 0.19373e+04_rb,0.14530e+04_rb,0.10803e+04_rb,0.14855e+04_rb,0.19814e+04_rb /) kbo(:, 2,23,16) = (/ & & 0.18577e+04_rb,0.13933e+04_rb,0.10171e+04_rb,0.13836e+04_rb,0.18455e+04_rb /) kbo(:, 3,23,16) = (/ & & 0.17799e+04_rb,0.13350e+04_rb,0.95955e+03_rb,0.12936e+04_rb,0.17253e+04_rb /) kbo(:, 4,23,16) = (/ & & 0.17053e+04_rb,0.12790e+04_rb,0.90643e+03_rb,0.12138e+04_rb,0.16189e+04_rb /) kbo(:, 5,23,16) = (/ & & 0.16318e+04_rb,0.12239e+04_rb,0.85742e+03_rb,0.11422e+04_rb,0.15233e+04_rb /) kbo(:, 1,24,16) = (/ & & 0.20285e+04_rb,0.15214e+04_rb,0.11229e+04_rb,0.15287e+04_rb,0.20389e+04_rb /) kbo(:, 2,24,16) = (/ & & 0.19379e+04_rb,0.14534e+04_rb,0.10546e+04_rb,0.14215e+04_rb,0.18958e+04_rb /) kbo(:, 3,24,16) = (/ & & 0.18509e+04_rb,0.13882e+04_rb,0.99252e+03_rb,0.13268e+04_rb,0.17696e+04_rb /) kbo(:, 4,24,16) = (/ & & 0.17680e+04_rb,0.13260e+04_rb,0.93542e+03_rb,0.12431e+04_rb,0.16579e+04_rb /) kbo(:, 5,24,16) = (/ & & 0.16872e+04_rb,0.12654e+04_rb,0.88318e+03_rb,0.11679e+04_rb,0.15576e+04_rb /) kbo(:, 1,25,16) = (/ & & 0.21022e+04_rb,0.15767e+04_rb,0.11562e+04_rb,0.15596e+04_rb,0.20800e+04_rb /) kbo(:, 2,25,16) = (/ & & 0.20021e+04_rb,0.15016e+04_rb,0.10837e+04_rb,0.14483e+04_rb,0.19315e+04_rb /) kbo(:, 3,25,16) = (/ & & 0.19072e+04_rb,0.14304e+04_rb,0.10177e+04_rb,0.13507e+04_rb,0.18013e+04_rb /) kbo(:, 4,25,16) = (/ & & 0.18172e+04_rb,0.13629e+04_rb,0.95761e+03_rb,0.12639e+04_rb,0.16854e+04_rb /) kbo(:, 5,25,16) = (/ & & 0.17302e+04_rb,0.12976e+04_rb,0.90262e+03_rb,0.11861e+04_rb,0.15818e+04_rb /) kbo(:, 1,26,16) = (/ & & 0.21584e+04_rb,0.16188e+04_rb,0.11798e+04_rb,0.15785e+04_rb,0.21051e+04_rb /) kbo(:, 2,26,16) = (/ & & 0.20504e+04_rb,0.15378e+04_rb,0.11040e+04_rb,0.14649e+04_rb,0.19536e+04_rb /) kbo(:, 3,26,16) = (/ & & 0.19488e+04_rb,0.14616e+04_rb,0.10351e+04_rb,0.13650e+04_rb,0.18204e+04_rb /) kbo(:, 4,26,16) = (/ & & 0.18527e+04_rb,0.13896e+04_rb,0.97267e+03_rb,0.12762e+04_rb,0.17019e+04_rb /) kbo(:, 5,26,16) = (/ & & 0.17609e+04_rb,0.13206e+04_rb,0.91583e+03_rb,0.11969e+04_rb,0.15961e+04_rb /) kbo(:, 1,27,16) = (/ & & 0.21995e+04_rb,0.16496e+04_rb,0.11960e+04_rb,0.15887e+04_rb,0.21185e+04_rb /) kbo(:, 2,27,16) = (/ & & 0.20852e+04_rb,0.15639e+04_rb,0.11175e+04_rb,0.14736e+04_rb,0.19651e+04_rb /) kbo(:, 3,27,16) = (/ & & 0.19784e+04_rb,0.14838e+04_rb,0.10466e+04_rb,0.13723e+04_rb,0.18300e+04_rb /) kbo(:, 4,27,16) = (/ & & 0.18776e+04_rb,0.14082e+04_rb,0.98231e+03_rb,0.12823e+04_rb,0.17101e+04_rb /) kbo(:, 5,27,16) = (/ & & 0.17820e+04_rb,0.13365e+04_rb,0.92416e+03_rb,0.12022e+04_rb,0.16031e+04_rb /) kbo(:, 1,28,16) = (/ & & 0.22274e+04_rb,0.16706e+04_rb,0.12052e+04_rb,0.15913e+04_rb,0.21220e+04_rb /) kbo(:, 2,28,16) = (/ & & 0.21084e+04_rb,0.15813e+04_rb,0.11251e+04_rb,0.14757e+04_rb,0.19679e+04_rb /) kbo(:, 3,28,16) = (/ & & 0.19974e+04_rb,0.14981e+04_rb,0.10528e+04_rb,0.13738e+04_rb,0.18320e+04_rb /) kbo(:, 4,28,16) = (/ & & 0.18930e+04_rb,0.14198e+04_rb,0.98736e+03_rb,0.12834e+04_rb,0.17114e+04_rb /) kbo(:, 5,28,16) = (/ & & 0.17945e+04_rb,0.13459e+04_rb,0.92826e+03_rb,0.12029e+04_rb,0.16040e+04_rb /) kbo(:, 1,29,16) = (/ & & 0.22434e+04_rb,0.16825e+04_rb,0.12082e+04_rb,0.15868e+04_rb,0.21160e+04_rb /) kbo(:, 2,29,16) = (/ & & 0.21209e+04_rb,0.15907e+04_rb,0.11272e+04_rb,0.14716e+04_rb,0.19623e+04_rb /) kbo(:, 3,29,16) = (/ & & 0.20069e+04_rb,0.15052e+04_rb,0.10541e+04_rb,0.13700e+04_rb,0.18268e+04_rb /) kbo(:, 4,29,16) = (/ & & 0.18999e+04_rb,0.14249e+04_rb,0.98819e+03_rb,0.12798e+04_rb,0.17065e+04_rb /) kbo(:, 5,29,16) = (/ & & 0.17996e+04_rb,0.13497e+04_rb,0.92869e+03_rb,0.11992e+04_rb,0.15991e+04_rb /) kbo(:, 1,30,16) = (/ & & 0.22495e+04_rb,0.16871e+04_rb,0.12065e+04_rb,0.15776e+04_rb,0.21036e+04_rb /) kbo(:, 2,30,16) = (/ & & 0.21251e+04_rb,0.15938e+04_rb,0.11251e+04_rb,0.14633e+04_rb,0.19512e+04_rb /) kbo(:, 3,30,16) = (/ & & 0.20091e+04_rb,0.15068e+04_rb,0.10517e+04_rb,0.13621e+04_rb,0.18163e+04_rb /) kbo(:, 4,30,16) = (/ & & 0.19004e+04_rb,0.14253e+04_rb,0.98584e+03_rb,0.12727e+04_rb,0.16970e+04_rb /) kbo(:, 5,30,16) = (/ & & 0.17984e+04_rb,0.13488e+04_rb,0.92610e+03_rb,0.11928e+04_rb,0.15905e+04_rb /) kbo(:, 1,31,16) = (/ & & 0.22474e+04_rb,0.16855e+04_rb,0.12005e+04_rb,0.15635e+04_rb,0.20848e+04_rb /) kbo(:, 2,31,16) = (/ & & 0.21214e+04_rb,0.15910e+04_rb,0.11192e+04_rb,0.14507e+04_rb,0.19344e+04_rb /) kbo(:, 3,31,16) = (/ & & 0.20043e+04_rb,0.15033e+04_rb,0.10461e+04_rb,0.13510e+04_rb,0.18015e+04_rb /) kbo(:, 4,31,16) = (/ & & 0.18948e+04_rb,0.14211e+04_rb,0.98049e+03_rb,0.12625e+04_rb,0.16835e+04_rb /) kbo(:, 5,31,16) = (/ & & 0.17922e+04_rb,0.13441e+04_rb,0.92102e+03_rb,0.11837e+04_rb,0.15784e+04_rb /) kbo(:, 1,32,16) = (/ & & 0.22387e+04_rb,0.16790e+04_rb,0.11913e+04_rb,0.15463e+04_rb,0.20617e+04_rb /) kbo(:, 2,32,16) = (/ & & 0.21117e+04_rb,0.15838e+04_rb,0.11104e+04_rb,0.14353e+04_rb,0.19138e+04_rb /) kbo(:, 3,32,16) = (/ & & 0.19944e+04_rb,0.14958e+04_rb,0.10381e+04_rb,0.13373e+04_rb,0.17831e+04_rb /) kbo(:, 4,32,16) = (/ & & 0.18846e+04_rb,0.14135e+04_rb,0.97304e+03_rb,0.12502e+04_rb,0.16670e+04_rb /) kbo(:, 5,32,16) = (/ & & 0.17818e+04_rb,0.13363e+04_rb,0.91392e+03_rb,0.11724e+04_rb,0.15633e+04_rb /) kbo(:, 1,33,16) = (/ & & 0.22243e+04_rb,0.16682e+04_rb,0.11793e+04_rb,0.15266e+04_rb,0.20355e+04_rb /) kbo(:, 2,33,16) = (/ & & 0.20975e+04_rb,0.15731e+04_rb,0.10994e+04_rb,0.14177e+04_rb,0.18903e+04_rb /) kbo(:, 3,33,16) = (/ & & 0.19805e+04_rb,0.14854e+04_rb,0.10282e+04_rb,0.13217e+04_rb,0.17623e+04_rb /) kbo(:, 4,33,16) = (/ & & 0.18707e+04_rb,0.14030e+04_rb,0.96384e+03_rb,0.12361e+04_rb,0.16482e+04_rb /) kbo(:, 5,33,16) = (/ & & 0.17684e+04_rb,0.13263e+04_rb,0.90541e+03_rb,0.11600e+04_rb,0.15467e+04_rb /) kbo(:, 1,34,16) = (/ & & 0.22110e+04_rb,0.16582e+04_rb,0.11687e+04_rb,0.15094e+04_rb,0.20126e+04_rb /) kbo(:, 2,34,16) = (/ & & 0.20843e+04_rb,0.15632e+04_rb,0.10894e+04_rb,0.14021e+04_rb,0.18696e+04_rb /) kbo(:, 3,34,16) = (/ & & 0.19675e+04_rb,0.14756e+04_rb,0.10193e+04_rb,0.13079e+04_rb,0.17439e+04_rb /) kbo(:, 4,34,16) = (/ & & 0.18579e+04_rb,0.13934e+04_rb,0.95559e+03_rb,0.12238e+04_rb,0.16318e+04_rb /) kbo(:, 5,34,16) = (/ & & 0.17560e+04_rb,0.13170e+04_rb,0.89776e+03_rb,0.11489e+04_rb,0.15318e+04_rb /) kbo(:, 1,35,16) = (/ & & 0.22070e+04_rb,0.16552e+04_rb,0.11645e+04_rb,0.15017e+04_rb,0.20024e+04_rb /) kbo(:, 2,35,16) = (/ & & 0.20800e+04_rb,0.15600e+04_rb,0.10855e+04_rb,0.13953e+04_rb,0.18605e+04_rb /) kbo(:, 3,35,16) = (/ & & 0.19630e+04_rb,0.14722e+04_rb,0.10157e+04_rb,0.13017e+04_rb,0.17356e+04_rb /) kbo(:, 4,35,16) = (/ & & 0.18532e+04_rb,0.13899e+04_rb,0.95221e+03_rb,0.12182e+04_rb,0.16243e+04_rb /) kbo(:, 5,35,16) = (/ & & 0.17512e+04_rb,0.13134e+04_rb,0.89456e+03_rb,0.11438e+04_rb,0.15251e+04_rb /) kbo(:, 1,36,16) = (/ & & 0.22146e+04_rb,0.16609e+04_rb,0.11681e+04_rb,0.15050e+04_rb,0.20067e+04_rb /) kbo(:, 2,36,16) = (/ & & 0.20867e+04_rb,0.15651e+04_rb,0.10887e+04_rb,0.13982e+04_rb,0.18642e+04_rb /) kbo(:, 3,36,16) = (/ & & 0.19689e+04_rb,0.14767e+04_rb,0.10184e+04_rb,0.13041e+04_rb,0.17389e+04_rb /) kbo(:, 4,36,16) = (/ & & 0.18582e+04_rb,0.13937e+04_rb,0.95458e+03_rb,0.12204e+04_rb,0.16272e+04_rb /) kbo(:, 5,36,16) = (/ & & 0.17557e+04_rb,0.13168e+04_rb,0.89664e+03_rb,0.11458e+04_rb,0.15277e+04_rb /) kbo(:, 1,37,16) = (/ & & 0.22411e+04_rb,0.16809e+04_rb,0.11837e+04_rb,0.15248e+04_rb,0.20331e+04_rb /) kbo(:, 2,37,16) = (/ & & 0.21106e+04_rb,0.15830e+04_rb,0.11025e+04_rb,0.14155e+04_rb,0.18873e+04_rb /) kbo(:, 3,37,16) = (/ & & 0.19909e+04_rb,0.14932e+04_rb,0.10307e+04_rb,0.13195e+04_rb,0.17594e+04_rb /) kbo(:, 4,37,16) = (/ & & 0.18783e+04_rb,0.14088e+04_rb,0.96559e+03_rb,0.12340e+04_rb,0.16453e+04_rb /) kbo(:, 5,37,16) = (/ & & 0.17743e+04_rb,0.13307e+04_rb,0.90666e+03_rb,0.11578e+04_rb,0.15438e+04_rb /) kbo(:, 1,38,16) = (/ & & 0.22677e+04_rb,0.17008e+04_rb,0.11995e+04_rb,0.15451e+04_rb,0.20601e+04_rb /) kbo(:, 2,38,16) = (/ & & 0.21347e+04_rb,0.16010e+04_rb,0.11166e+04_rb,0.14334e+04_rb,0.19112e+04_rb /) kbo(:, 3,38,16) = (/ & & 0.20130e+04_rb,0.15097e+04_rb,0.10432e+04_rb,0.13353e+04_rb,0.17805e+04_rb /) kbo(:, 4,38,16) = (/ & & 0.18989e+04_rb,0.14242e+04_rb,0.97692e+03_rb,0.12480e+04_rb,0.16640e+04_rb /) kbo(:, 5,38,16) = (/ & & 0.17929e+04_rb,0.13447e+04_rb,0.91684e+03_rb,0.11704e+04_rb,0.15605e+04_rb /) kbo(:, 1,39,16) = (/ & & 0.22932e+04_rb,0.17199e+04_rb,0.12149e+04_rb,0.15649e+04_rb,0.20865e+04_rb /) kbo(:, 2,39,16) = (/ & & 0.21580e+04_rb,0.16185e+04_rb,0.11304e+04_rb,0.14510e+04_rb,0.19346e+04_rb /) kbo(:, 3,39,16) = (/ & & 0.20342e+04_rb,0.15257e+04_rb,0.10554e+04_rb,0.13508e+04_rb,0.18011e+04_rb /) kbo(:, 4,39,16) = (/ & & 0.19186e+04_rb,0.14389e+04_rb,0.98789e+03_rb,0.12618e+04_rb,0.16825e+04_rb /) kbo(:, 5,39,16) = (/ & & 0.18110e+04_rb,0.13582e+04_rb,0.92676e+03_rb,0.11826e+04_rb,0.15768e+04_rb /) kbo(:, 1,40,16) = (/ & & 0.23330e+04_rb,0.17497e+04_rb,0.12394e+04_rb,0.15975e+04_rb,0.21300e+04_rb /) kbo(:, 2,40,16) = (/ & & 0.21946e+04_rb,0.16460e+04_rb,0.11524e+04_rb,0.14797e+04_rb,0.19730e+04_rb /) kbo(:, 3,40,16) = (/ & & 0.20673e+04_rb,0.15505e+04_rb,0.10747e+04_rb,0.13759e+04_rb,0.18346e+04_rb /) kbo(:, 4,40,16) = (/ & & 0.19494e+04_rb,0.14621e+04_rb,0.10054e+04_rb,0.12842e+04_rb,0.17123e+04_rb /) kbo(:, 5,40,16) = (/ & & 0.18395e+04_rb,0.13796e+04_rb,0.94264e+03_rb,0.12026e+04_rb,0.16034e+04_rb /) kbo(:, 1,41,16) = (/ & & 0.23748e+04_rb,0.17811e+04_rb,0.12653e+04_rb,0.16323e+04_rb,0.21765e+04_rb /) kbo(:, 2,41,16) = (/ & & 0.22335e+04_rb,0.16751e+04_rb,0.11760e+04_rb,0.15106e+04_rb,0.20142e+04_rb /) kbo(:, 3,41,16) = (/ & & 0.21020e+04_rb,0.15765e+04_rb,0.10953e+04_rb,0.14029e+04_rb,0.18706e+04_rb /) kbo(:, 4,41,16) = (/ & & 0.19818e+04_rb,0.14863e+04_rb,0.10239e+04_rb,0.13082e+04_rb,0.17443e+04_rb /) kbo(:, 5,41,16) = (/ & & 0.18696e+04_rb,0.14022e+04_rb,0.95944e+03_rb,0.12238e+04_rb,0.16317e+04_rb /) kbo(:, 1,42,16) = (/ & & 0.24183e+04_rb,0.18137e+04_rb,0.12922e+04_rb,0.16686e+04_rb,0.22248e+04_rb /) kbo(:, 2,42,16) = (/ & & 0.22718e+04_rb,0.17039e+04_rb,0.11997e+04_rb,0.15420e+04_rb,0.20561e+04_rb /) kbo(:, 3,42,16) = (/ & & 0.21373e+04_rb,0.16030e+04_rb,0.11164e+04_rb,0.14305e+04_rb,0.19073e+04_rb /) kbo(:, 4,42,16) = (/ & & 0.20143e+04_rb,0.15107e+04_rb,0.10428e+04_rb,0.13327e+04_rb,0.17770e+04_rb /) kbo(:, 5,42,16) = (/ & & 0.18998e+04_rb,0.14249e+04_rb,0.97647e+03_rb,0.12457e+04_rb,0.16610e+04_rb /) kbo(:, 1,43,16) = (/ & & 0.24703e+04_rb,0.18528e+04_rb,0.13249e+04_rb,0.17136e+04_rb,0.22848e+04_rb /) kbo(:, 2,43,16) = (/ & & 0.23188e+04_rb,0.17391e+04_rb,0.12289e+04_rb,0.15811e+04_rb,0.21082e+04_rb /) kbo(:, 3,43,16) = (/ & & 0.21803e+04_rb,0.16352e+04_rb,0.11426e+04_rb,0.14651e+04_rb,0.19535e+04_rb /) kbo(:, 4,43,16) = (/ & & 0.20539e+04_rb,0.15404e+04_rb,0.10659e+04_rb,0.13633e+04_rb,0.18177e+04_rb /) kbo(:, 5,43,16) = (/ & & 0.19367e+04_rb,0.14525e+04_rb,0.99744e+03_rb,0.12728e+04_rb,0.16970e+04_rb /) kbo(:, 1,44,16) = (/ & & 0.25274e+04_rb,0.18956e+04_rb,0.13612e+04_rb,0.17642e+04_rb,0.23522e+04_rb /) kbo(:, 2,44,16) = (/ & & 0.23706e+04_rb,0.17780e+04_rb,0.12614e+04_rb,0.16248e+04_rb,0.21664e+04_rb /) kbo(:, 3,44,16) = (/ & & 0.22278e+04_rb,0.16708e+04_rb,0.11717e+04_rb,0.15040e+04_rb,0.20053e+04_rb /) kbo(:, 4,44,16) = (/ & & 0.20979e+04_rb,0.15734e+04_rb,0.10920e+04_rb,0.13972e+04_rb,0.18630e+04_rb /) kbo(:, 5,44,16) = (/ & & 0.19771e+04_rb,0.14828e+04_rb,0.10207e+04_rb,0.13030e+04_rb,0.17374e+04_rb /) kbo(:, 1,45,16) = (/ & & 0.25859e+04_rb,0.19394e+04_rb,0.13990e+04_rb,0.18173e+04_rb,0.24231e+04_rb /) kbo(:, 2,45,16) = (/ & & 0.24239e+04_rb,0.18179e+04_rb,0.12948e+04_rb,0.16708e+04_rb,0.22278e+04_rb /) kbo(:, 3,45,16) = (/ & & 0.22761e+04_rb,0.17071e+04_rb,0.12017e+04_rb,0.15441e+04_rb,0.20588e+04_rb /) kbo(:, 4,45,16) = (/ & & 0.21421e+04_rb,0.16066e+04_rb,0.11186e+04_rb,0.14324e+04_rb,0.19099e+04_rb /) kbo(:, 5,45,16) = (/ & & 0.20183e+04_rb,0.15137e+04_rb,0.10446e+04_rb,0.13343e+04_rb,0.17791e+04_rb /) kbo(:, 1,46,16) = (/ & & 0.26504e+04_rb,0.19878e+04_rb,0.14409e+04_rb,0.18767e+04_rb,0.25023e+04_rb /) kbo(:, 2,46,16) = (/ & & 0.24823e+04_rb,0.18617e+04_rb,0.13316e+04_rb,0.17220e+04_rb,0.22960e+04_rb /) kbo(:, 3,46,16) = (/ & & 0.23297e+04_rb,0.17473e+04_rb,0.12351e+04_rb,0.15885e+04_rb,0.21180e+04_rb /) kbo(:, 4,46,16) = (/ & & 0.21905e+04_rb,0.16429e+04_rb,0.11482e+04_rb,0.14718e+04_rb,0.19624e+04_rb /) kbo(:, 5,46,16) = (/ & & 0.20627e+04_rb,0.15470e+04_rb,0.10708e+04_rb,0.13689e+04_rb,0.18252e+04_rb /) kbo(:, 1,47,16) = (/ & & 0.27247e+04_rb,0.20435e+04_rb,0.14902e+04_rb,0.19477e+04_rb,0.25969e+04_rb /) kbo(:, 2,47,16) = (/ & & 0.25493e+04_rb,0.19120e+04_rb,0.13747e+04_rb,0.17822e+04_rb,0.23763e+04_rb /) kbo(:, 3,47,16) = (/ & & 0.23907e+04_rb,0.17930e+04_rb,0.12733e+04_rb,0.16405e+04_rb,0.21874e+04_rb /) kbo(:, 4,47,16) = (/ & & 0.22466e+04_rb,0.16850e+04_rb,0.11827e+04_rb,0.15177e+04_rb,0.20235e+04_rb /) kbo(:, 5,47,16) = (/ & & 0.21136e+04_rb,0.15852e+04_rb,0.11012e+04_rb,0.14091e+04_rb,0.18788e+04_rb /) kbo(:, 1,48,16) = (/ & & 0.28012e+04_rb,0.21009e+04_rb,0.15426e+04_rb,0.20233e+04_rb,0.26978e+04_rb /) kbo(:, 2,48,16) = (/ & & 0.26190e+04_rb,0.19642e+04_rb,0.14199e+04_rb,0.18460e+04_rb,0.24614e+04_rb /) kbo(:, 3,48,16) = (/ & & 0.24541e+04_rb,0.18406e+04_rb,0.13132e+04_rb,0.16956e+04_rb,0.22609e+04_rb /) kbo(:, 4,48,16) = (/ & & 0.23037e+04_rb,0.17278e+04_rb,0.12184e+04_rb,0.15658e+04_rb,0.20877e+04_rb /) kbo(:, 5,48,16) = (/ & & 0.21661e+04_rb,0.16246e+04_rb,0.11331e+04_rb,0.14514e+04_rb,0.19352e+04_rb /) kbo(:, 1,49,16) = (/ & & 0.28818e+04_rb,0.21613e+04_rb,0.15982e+04_rb,0.21038e+04_rb,0.28050e+04_rb /) kbo(:, 2,49,16) = (/ & & 0.26914e+04_rb,0.20185e+04_rb,0.14674e+04_rb,0.19143e+04_rb,0.25524e+04_rb /) kbo(:, 3,49,16) = (/ & & 0.25196e+04_rb,0.18897e+04_rb,0.13550e+04_rb,0.17541e+04_rb,0.23389e+04_rb /) kbo(:, 4,49,16) = (/ & & 0.23632e+04_rb,0.17724e+04_rb,0.12557e+04_rb,0.16163e+04_rb,0.21550e+04_rb /) kbo(:, 5,49,16) = (/ & & 0.22208e+04_rb,0.16656e+04_rb,0.11666e+04_rb,0.14961e+04_rb,0.19948e+04_rb /) kbo(:, 1,50,16) = (/ & & 0.29612e+04_rb,0.22209e+04_rb,0.16532e+04_rb,0.21839e+04_rb,0.29118e+04_rb /) kbo(:, 2,50,16) = (/ & & 0.27615e+04_rb,0.20712e+04_rb,0.15149e+04_rb,0.19827e+04_rb,0.26437e+04_rb /) kbo(:, 3,50,16) = (/ & & 0.25830e+04_rb,0.19373e+04_rb,0.13961e+04_rb,0.18120e+04_rb,0.24160e+04_rb /) kbo(:, 4,50,16) = (/ & & 0.24210e+04_rb,0.18157e+04_rb,0.12921e+04_rb,0.16664e+04_rb,0.22218e+04_rb /) kbo(:, 5,50,16) = (/ & & 0.22734e+04_rb,0.17051e+04_rb,0.11994e+04_rb,0.15401e+04_rb,0.20534e+04_rb /) kbo(:, 1,51,16) = (/ & & 0.30414e+04_rb,0.22810e+04_rb,0.17098e+04_rb,0.22662e+04_rb,0.30216e+04_rb /) kbo(:, 2,51,16) = (/ & & 0.28321e+04_rb,0.21241e+04_rb,0.15635e+04_rb,0.20530e+04_rb,0.27374e+04_rb /) kbo(:, 3,51,16) = (/ & & 0.26473e+04_rb,0.19855e+04_rb,0.14379e+04_rb,0.18712e+04_rb,0.24950e+04_rb /) kbo(:, 4,51,16) = (/ & & 0.24793e+04_rb,0.18595e+04_rb,0.13289e+04_rb,0.17174e+04_rb,0.22898e+04_rb /) kbo(:, 5,51,16) = (/ & & 0.23268e+04_rb,0.17451e+04_rb,0.12327e+04_rb,0.15846e+04_rb,0.21128e+04_rb /) kbo(:, 1,52,16) = (/ & & 0.31248e+04_rb,0.23436e+04_rb,0.17703e+04_rb,0.23534e+04_rb,0.31379e+04_rb /) kbo(:, 2,52,16) = (/ & & 0.29063e+04_rb,0.21797e+04_rb,0.16147e+04_rb,0.21274e+04_rb,0.28366e+04_rb /) kbo(:, 3,52,16) = (/ & & 0.27134e+04_rb,0.20351e+04_rb,0.14818e+04_rb,0.19344e+04_rb,0.25793e+04_rb /) kbo(:, 4,52,16) = (/ & & 0.25389e+04_rb,0.19042e+04_rb,0.13672e+04_rb,0.17712e+04_rb,0.23616e+04_rb /) kbo(:, 5,52,16) = (/ & & 0.23814e+04_rb,0.17860e+04_rb,0.12669e+04_rb,0.16310e+04_rb,0.21746e+04_rb /) kbo(:, 1,53,16) = (/ & & 0.32126e+04_rb,0.24095e+04_rb,0.18346e+04_rb,0.24459e+04_rb,0.32612e+04_rb /) kbo(:, 2,53,16) = (/ & & 0.29838e+04_rb,0.22378e+04_rb,0.16687e+04_rb,0.22061e+04_rb,0.29415e+04_rb /) kbo(:, 3,53,16) = (/ & & 0.27817e+04_rb,0.20863e+04_rb,0.15283e+04_rb,0.20017e+04_rb,0.26689e+04_rb /) kbo(:, 4,53,16) = (/ & & 0.26009e+04_rb,0.19507e+04_rb,0.14074e+04_rb,0.18280e+04_rb,0.24374e+04_rb /) kbo(:, 5,53,16) = (/ & & 0.24377e+04_rb,0.18283e+04_rb,0.13025e+04_rb,0.16802e+04_rb,0.22403e+04_rb /) kbo(:, 1,54,16) = (/ & & 0.32965e+04_rb,0.24725e+04_rb,0.18972e+04_rb,0.25356e+04_rb,0.33807e+04_rb /) kbo(:, 2,54,16) = (/ & & 0.30576e+04_rb,0.22932e+04_rb,0.17211e+04_rb,0.22822e+04_rb,0.30430e+04_rb /) kbo(:, 3,54,16) = (/ & & 0.28468e+04_rb,0.21351e+04_rb,0.15733e+04_rb,0.20668e+04_rb,0.27558e+04_rb /) kbo(:, 4,54,16) = (/ & & 0.26600e+04_rb,0.19950e+04_rb,0.14459e+04_rb,0.18829e+04_rb,0.25105e+04_rb /) kbo(:, 5,54,16) = (/ & & 0.24912e+04_rb,0.18684e+04_rb,0.13364e+04_rb,0.17275e+04_rb,0.23034e+04_rb /) kbo(:, 1,55,16) = (/ & & 0.33833e+04_rb,0.25376e+04_rb,0.19611e+04_rb,0.26264e+04_rb,0.35019e+04_rb /) kbo(:, 2,55,16) = (/ & & 0.31321e+04_rb,0.23491e+04_rb,0.17750e+04_rb,0.23596e+04_rb,0.31462e+04_rb /) kbo(:, 3,55,16) = (/ & & 0.29119e+04_rb,0.21839e+04_rb,0.16184e+04_rb,0.21327e+04_rb,0.28435e+04_rb /) kbo(:, 4,55,16) = (/ & & 0.27182e+04_rb,0.20386e+04_rb,0.14848e+04_rb,0.19390e+04_rb,0.25853e+04_rb /) kbo(:, 5,55,16) = (/ & & 0.25438e+04_rb,0.19078e+04_rb,0.13702e+04_rb,0.17749e+04_rb,0.23665e+04_rb /) kbo(:, 1,56,16) = (/ & & 0.34732e+04_rb,0.26050e+04_rb,0.20286e+04_rb,0.27221e+04_rb,0.36294e+04_rb /) kbo(:, 2,56,16) = (/ & & 0.32087e+04_rb,0.24066e+04_rb,0.18312e+04_rb,0.24406e+04_rb,0.32540e+04_rb /) kbo(:, 3,56,16) = (/ & & 0.29798e+04_rb,0.22348e+04_rb,0.16657e+04_rb,0.22014e+04_rb,0.29353e+04_rb /) kbo(:, 4,56,16) = (/ & & 0.27779e+04_rb,0.20834e+04_rb,0.15255e+04_rb,0.19978e+04_rb,0.26637e+04_rb /) kbo(:, 5,56,16) = (/ & & 0.25980e+04_rb,0.19485e+04_rb,0.14055e+04_rb,0.18247e+04_rb,0.24330e+04_rb /) kbo(:, 1,57,16) = (/ & & 0.35673e+04_rb,0.26755e+04_rb,0.21006e+04_rb,0.28229e+04_rb,0.37639e+04_rb /) kbo(:, 2,57,16) = (/ & & 0.32883e+04_rb,0.24663e+04_rb,0.18907e+04_rb,0.25257e+04_rb,0.33676e+04_rb /) kbo(:, 3,57,16) = (/ & & 0.30500e+04_rb,0.22875e+04_rb,0.17155e+04_rb,0.22739e+04_rb,0.30319e+04_rb /) kbo(:, 4,57,16) = (/ & & 0.28394e+04_rb,0.21295e+04_rb,0.15682e+04_rb,0.20597e+04_rb,0.27463e+04_rb /) kbo(:, 5,57,16) = (/ & & 0.26543e+04_rb,0.19907e+04_rb,0.14421e+04_rb,0.18768e+04_rb,0.25025e+04_rb /) kbo(:, 1,58,16) = (/ & & 0.36607e+04_rb,0.27457e+04_rb,0.21738e+04_rb,0.29233e+04_rb,0.38978e+04_rb /) kbo(:, 2,58,16) = (/ & & 0.33686e+04_rb,0.25266e+04_rb,0.19501e+04_rb,0.26108e+04_rb,0.34810e+04_rb /) kbo(:, 3,58,16) = (/ & & 0.31191e+04_rb,0.23393e+04_rb,0.17656e+04_rb,0.23462e+04_rb,0.31282e+04_rb /) kbo(:, 4,58,16) = (/ & & 0.29009e+04_rb,0.21757e+04_rb,0.16107e+04_rb,0.21213e+04_rb,0.28285e+04_rb /) kbo(:, 5,58,16) = (/ & & 0.27090e+04_rb,0.20318e+04_rb,0.14784e+04_rb,0.19292e+04_rb,0.25722e+04_rb /) kbo(:, 1,59,16) = (/ & & 0.36992e+04_rb,0.27745e+04_rb,0.22044e+04_rb,0.29651e+04_rb,0.39534e+04_rb /) kbo(:, 2,59,16) = (/ & & 0.34022e+04_rb,0.25517e+04_rb,0.19749e+04_rb,0.26461e+04_rb,0.35281e+04_rb /) kbo(:, 3,59,16) = (/ & & 0.31476e+04_rb,0.23607e+04_rb,0.17864e+04_rb,0.23762e+04_rb,0.31682e+04_rb /) kbo(:, 4,59,16) = (/ & & 0.29259e+04_rb,0.21945e+04_rb,0.16281e+04_rb,0.21469e+04_rb,0.28626e+04_rb /) kbo(:, 5,59,16) = (/ & & 0.27315e+04_rb,0.20486e+04_rb,0.14936e+04_rb,0.19510e+04_rb,0.26013e+04_rb /) ! ----------------------------------------------------------------- forrefo(:, 1) = (/ 0.553258e-03_rb, 0.555486e-03_rb, 0.601339e-03_rb, 0.708280e-03_rb /) forrefo(:, 2) = (/ 0.158558e-02_rb, 0.162957e-02_rb, 0.204991e-02_rb, 0.475881e-02_rb /) forrefo(:, 3) = (/ 0.772542e-02_rb, 0.784562e-02_rb, 0.111979e-01_rb, 0.229016e-01_rb /) forrefo(:, 4) = (/ 0.255097e-01_rb, 0.256272e-01_rb, 0.270691e-01_rb, 0.259505e-01_rb /) forrefo(:, 5) = (/ 0.323263e-01_rb, 0.324495e-01_rb, 0.305535e-01_rb, 0.263993e-01_rb /) forrefo(:, 6) = (/ 0.346920e-01_rb, 0.348255e-01_rb, 0.323586e-01_rb, 0.276357e-01_rb /) forrefo(:, 7) = (/ 0.366509e-01_rb, 0.366412e-01_rb, 0.344434e-01_rb, 0.319223e-01_rb /) forrefo(:, 8) = (/ 0.378451e-01_rb, 0.375341e-01_rb, 0.374369e-01_rb, 0.320334e-01_rb /) forrefo(:, 9) = (/ 0.407348e-01_rb, 0.396203e-01_rb, 0.393988e-01_rb, 0.318343e-01_rb /) forrefo(:,10) = (/ 0.433035e-01_rb, 0.426488e-01_rb, 0.408085e-01_rb, 0.332749e-01_rb /) forrefo(:,11) = (/ 0.428254e-01_rb, 0.441151e-01_rb, 0.408887e-01_rb, 0.327077e-01_rb /) forrefo(:,12) = (/ 0.443226e-01_rb, 0.446690e-01_rb, 0.404676e-01_rb, 0.350492e-01_rb /) forrefo(:,13) = (/ 0.466103e-01_rb, 0.460809e-01_rb, 0.401286e-01_rb, 0.370427e-01_rb /) forrefo(:,14) = (/ 0.483928e-01_rb, 0.477284e-01_rb, 0.380684e-01_rb, 0.387940e-01_rb /) forrefo(:,15) = (/ 0.506987e-01_rb, 0.490016e-01_rb, 0.467069e-01_rb, 0.368998e-01_rb /) forrefo(:,16) = (/ 0.510836e-01_rb, 0.522771e-01_rb, 0.500130e-01_rb, 0.483406e-01_rb /) ! ----------------------------------------------------------------- ! The array SELFREFO contains the coefficient of the water vapor ! self-continuum (including the energy term). The first index ! refers to temperature in 7.2 degree increments. For instance, ! JT = 1 refers to a temperature of 245.6, JT = 2 refers to 252.8, ! etc. The second index runs over the g-channel (1 to 16). selfrefo(:, 1) = (/ & & 0.160537e-01_rb, 0.149038e-01_rb, 0.138363e-01_rb, 0.128452e-01_rb, 0.119251e-01_rb, & & 0.110709e-01_rb, 0.102779e-01_rb, 0.954175e-02_rb, 0.885829e-02_rb, 0.822379e-02_rb /) selfrefo(:, 2) = (/ & & 0.365753e-01_rb, 0.342267e-01_rb, 0.320288e-01_rb, 0.299720e-01_rb, 0.280474e-01_rb, & & 0.262463e-01_rb, 0.245609e-01_rb, 0.229837e-01_rb, 0.215078e-01_rb, 0.201267e-01_rb /) selfrefo(:, 3) = (/ & & 0.127419e+00_rb, 0.118553e+00_rb, 0.110304e+00_rb, 0.102629e+00_rb, 0.954883e-01_rb, & & 0.888442e-01_rb, 0.826624e-01_rb, 0.769107e-01_rb, 0.715593e-01_rb, 0.665802e-01_rb /) selfrefo(:, 4) = (/ & & 0.378687e+00_rb, 0.348961e+00_rb, 0.321568e+00_rb, 0.296325e+00_rb, 0.273064e+00_rb, & & 0.251629e+00_rb, 0.231876e+00_rb, 0.213674e+00_rb, 0.196901e+00_rb, 0.181444e+00_rb /) selfrefo(:, 5) = (/ & & 0.472822e+00_rb, 0.435018e+00_rb, 0.400236e+00_rb, 0.368236e+00_rb, 0.338794e+00_rb, & & 0.311706e+00_rb, 0.286783e+00_rb, 0.263854e+00_rb, 0.242757e+00_rb, 0.223348e+00_rb /) selfrefo(:, 6) = (/ & & 0.505620e+00_rb, 0.465050e+00_rb, 0.427736e+00_rb, 0.393416e+00_rb, 0.361849e+00_rb, & & 0.332815e+00_rb, 0.306111e+00_rb, 0.281550e+00_rb, 0.258959e+00_rb, 0.238181e+00_rb /) selfrefo(:, 7) = (/ & & 0.530488e+00_rb, 0.487993e+00_rb, 0.448902e+00_rb, 0.412943e+00_rb, 0.379864e+00_rb, & & 0.349434e+00_rb, 0.321443e+00_rb, 0.295694e+00_rb, 0.272007e+00_rb, 0.250218e+00_rb /) selfrefo(:, 8) = (/ & & 0.540222e+00_rb, 0.497746e+00_rb, 0.458610e+00_rb, 0.422551e+00_rb, 0.389327e+00_rb, & & 0.358716e+00_rb, 0.330511e+00_rb, 0.304524e+00_rb, 0.280580e+00_rb, 0.258519e+00_rb /) selfrefo(:, 9) = (/ & & 0.565727e+00_rb, 0.522899e+00_rb, 0.483313e+00_rb, 0.446724e+00_rb, 0.412905e+00_rb, & & 0.381646e+00_rb, 0.352753e+00_rb, 0.326048e+00_rb, 0.301365e+00_rb, 0.278550e+00_rb /) selfrefo(:,10) = (/ & & 0.610122e+00_rb, 0.562337e+00_rb, 0.518295e+00_rb, 0.477702e+00_rb, 0.440289e+00_rb, & & 0.405806e+00_rb, 0.374023e+00_rb, 0.344730e+00_rb, 0.317730e+00_rb, 0.292846e+00_rb /) selfrefo(:,11) = (/ & & 0.645176e+00_rb, 0.588957e+00_rb, 0.537636e+00_rb, 0.490788e+00_rb, 0.448022e+00_rb, & & 0.408982e+00_rb, 0.373344e+00_rb, 0.340812e+00_rb, 0.311114e+00_rb, 0.284004e+00_rb /) selfrefo(:,12) = (/ & & 0.651737e+00_rb, 0.596547e+00_rb, 0.546031e+00_rb, 0.499792e+00_rb, 0.457469e+00_rb, & & 0.418730e+00_rb, 0.383272e+00_rb, 0.350816e+00_rb, 0.321108e+00_rb, 0.293916e+00_rb /) selfrefo(:,13) = (/ & & 0.661086e+00_rb, 0.607954e+00_rb, 0.559093e+00_rb, 0.514159e+00_rb, 0.472836e+00_rb, & & 0.434834e+00_rb, 0.399886e+00_rb, 0.367747e+00_rb, 0.338191e+00_rb, 0.311011e+00_rb /) selfrefo(:,14) = (/ & & 0.692554e+00_rb, 0.635574e+00_rb, 0.583282e+00_rb, 0.535293e+00_rb, 0.491251e+00_rb, & & 0.450834e+00_rb, 0.413741e+00_rb, 0.379701e+00_rb, 0.348461e+00_rb, 0.319791e+00_rb /) selfrefo(:,15) = (/ & & 0.714646e+00_rb, 0.657179e+00_rb, 0.604334e+00_rb, 0.555737e+00_rb, 0.511049e+00_rb, & & 0.469954e+00_rb, 0.432164e+00_rb, 0.397412e+00_rb, 0.365455e+00_rb, 0.336068e+00_rb /) selfrefo(:,16) = (/ & & 0.782126e+00_rb, 0.710682e+00_rb, 0.645764e+00_rb, 0.586776e+00_rb, 0.533177e+00_rb, & & 0.484473e+00_rb, 0.440219e+00_rb, 0.400007e+00_rb, 0.363468e+00_rb, 0.330266e+00_rb /) end subroutine sw_kgb17 ! ************************************************************************** subroutine sw_kgb18 ! ************************************************************************** use parkind, only : im => kind_im, rb => kind_rb use rrsw_kg18, only : kao, kbo, selfrefo, forrefo, sfluxrefo, & rayl, strrat, layreffr implicit none save ! Kurucz solar source function sfluxrefo(:,1) = (/ & & 3.65840_rb , 3.54375_rb , 3.34481_rb , 3.10534_rb , & & 2.79879_rb , 2.42841_rb , 1.98748_rb , 1.49377_rb , & & 1.00196_rb , 0.108342_rb , 8.95099e-02_rb, 7.05199e-02_rb, & & 5.16432e-02_rb, 3.27635e-02_rb, 1.25133e-02_rb, 1.73001e-03_rb /) sfluxrefo(:,2) = (/ & & 3.86372_rb , 3.48521_rb , 3.30790_rb , 3.08103_rb , & & 2.77552_rb , 2.40722_rb , 1.97307_rb , 1.48023_rb , & & 0.993055_rb , 0.107691_rb , 8.84430e-02_rb, 6.99354e-02_rb, & & 5.07881e-02_rb, 3.24121e-02_rb, 1.19442e-02_rb, 1.57612e-03_rb /) sfluxrefo(:,3) = (/ & & 3.90370_rb , 3.50657_rb , 3.30629_rb , 3.06046_rb , & & 2.76982_rb , 2.39907_rb , 1.96358_rb , 1.47458_rb , & & 0.988475_rb , 0.106698_rb , 8.75242e-02_rb, 6.85898e-02_rb, & & 5.04798e-02_rb, 3.13718e-02_rb, 1.09533e-02_rb, 1.57612e-03_rb /) sfluxrefo(:,4) = (/ & & 3.93165_rb , 3.52058_rb , 3.31346_rb , 3.04944_rb , & & 2.76074_rb , 2.39433_rb , 1.95556_rb , 1.46712_rb , & & 0.984056_rb , 0.105885_rb , 8.73062e-02_rb, 6.84054e-02_rb, & & 4.87443e-02_rb, 2.99295e-02_rb, 1.09533e-02_rb, 1.57612e-03_rb /) sfluxrefo(:,5) = (/ & & 3.94082_rb , 3.55221_rb , 3.31863_rb , 3.04730_rb , & & 2.74918_rb , 2.38328_rb , 1.95212_rb , 1.45889_rb , & & 0.978888_rb , 0.105102_rb , 8.65732e-02_rb, 6.74563e-02_rb, & & 4.76592e-02_rb, 2.91017e-02_rb, 1.09533e-02_rb, 1.57612e-03_rb /) sfluxrefo(:,6) = (/ & & 3.94198_rb , 3.58743_rb , 3.32106_rb , 3.05866_rb , & & 2.74115_rb , 2.36939_rb , 1.94305_rb , 1.45180_rb , & & 0.971784_rb , 1.04045e-01_rb, 8.53731e-02_rb, 6.60654e-02_rb, & & 4.63228e-02_rb, 2.91016e-02_rb, 1.09552e-02_rb, 1.57612e-03_rb /) sfluxrefo(:,7) = (/ & & 3.93596_rb , 3.63366_rb , 3.33144_rb , 3.06252_rb , & & 2.74054_rb , 2.35492_rb , 1.92769_rb , 1.44300_rb , & & 0.961809_rb , 1.02867e-01_rb, 8.34164e-02_rb, 6.41005e-02_rb, & & 4.61826e-02_rb, 2.91006e-02_rb, 1.09553e-02_rb, 1.57612e-03_rb /) sfluxrefo(:,8) = (/ & & 3.92520_rb , 3.69078_rb , 3.35656_rb , 3.07055_rb , & & 2.73862_rb , 2.34430_rb , 1.90187_rb , 1.42242_rb , & & 0.946676_rb , 9.96302e-02_rb, 8.14421e-02_rb, 6.38622e-02_rb, & & 4.61794e-02_rb, 2.91017e-02_rb, 1.09553e-02_rb, 1.57612e-03_rb /) sfluxrefo(:,9) = (/ & & 3.80721_rb , 3.74437_rb , 3.50205_rb , 3.18009_rb , & & 2.75757_rb , 2.29188_rb , 1.84382_rb , 1.35694_rb , & & 0.914040_rb , 9.86811e-02_rb, 8.14321e-02_rb, 6.38541e-02_rb, & & 4.61795e-02_rb, 2.90960e-02_rb, 1.09613e-02_rb, 1.57612e-03_rb /) ! Rayleigh extinction coefficient at v = 4325 cm-1. rayl = 1.39e-09_rb strrat = 38.9589_rb layreffr = 6 ! ------------------------------------------------------------------ ! The array KAO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels> ~100mb, temperatures, and binary ! species parameters (see taumol.f for definition). The first ! index in the array, JS, runs from 1 to 9, and corresponds to ! different values of the binary species parameter. For instance, ! JS=1 refers to dry air, JS = 2 corresponds to the paramter value 1/8, ! JS = 3 corresponds to the parameter value 2/8, etc. The second index ! in the array, JT, which runs from 1 to 5, corresponds to different ! temperatures. More specifically, JT = 3 means that the data are for ! the reference temperature TREF for this pressure level, JT = 2 refers ! to TREF-15, JT = 1 is for TREF-30, JT = 4 is for TREF+15, and JT = 5 ! is for TREF+30. The third index, JP, runs from 1 to 13 and refers ! to the JPth reference pressure level (see taumol.f for these levels ! in mb). The fourth index, IG, goes from 1 to 16, and indicates ! which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kao(:, 1, 1, 1) = (/ & & 0.14813e-04_rb,0.39842e-04_rb,0.43362e-04_rb,0.43095e-04_rb,0.39811e-04_rb, & & 0.34994e-04_rb,0.28984e-04_rb,0.20609e-04_rb,0.18845e-05_rb /) kao(:, 2, 1, 1) = (/ & & 0.14432e-04_rb,0.38749e-04_rb,0.42119e-04_rb,0.41834e-04_rb,0.38900e-04_rb, & & 0.34365e-04_rb,0.28571e-04_rb,0.20503e-04_rb,0.14715e-05_rb /) kao(:, 3, 1, 1) = (/ & & 0.13969e-04_rb,0.37666e-04_rb,0.40942e-04_rb,0.40703e-04_rb,0.37982e-04_rb, & & 0.33731e-04_rb,0.28158e-04_rb,0.20351e-04_rb,0.10842e-05_rb /) kao(:, 4, 1, 1) = (/ & & 0.13367e-04_rb,0.36605e-04_rb,0.39729e-04_rb,0.39529e-04_rb,0.37033e-04_rb, & & 0.33096e-04_rb,0.27690e-04_rb,0.20154e-04_rb,0.78702e-06_rb /) kao(:, 5, 1, 1) = (/ & & 0.12765e-04_rb,0.35584e-04_rb,0.38536e-04_rb,0.38361e-04_rb,0.36073e-04_rb, & & 0.32384e-04_rb,0.27242e-04_rb,0.19932e-04_rb,0.58296e-06_rb /) kao(:, 1, 2, 1) = (/ & & 0.12299e-04_rb,0.34179e-04_rb,0.37405e-04_rb,0.37535e-04_rb,0.34714e-04_rb, & & 0.30335e-04_rb,0.24892e-04_rb,0.17524e-04_rb,0.13301e-05_rb /) kao(:, 2, 2, 1) = (/ & & 0.12064e-04_rb,0.33225e-04_rb,0.36357e-04_rb,0.36512e-04_rb,0.33870e-04_rb, & & 0.29789e-04_rb,0.24578e-04_rb,0.17435e-04_rb,0.10217e-05_rb /) kao(:, 3, 2, 1) = (/ & & 0.11697e-04_rb,0.32301e-04_rb,0.35316e-04_rb,0.35481e-04_rb,0.33049e-04_rb, & & 0.29226e-04_rb,0.24233e-04_rb,0.17304e-04_rb,0.72152e-06_rb /) kao(:, 4, 2, 1) = (/ & & 0.11209e-04_rb,0.31395e-04_rb,0.34263e-04_rb,0.34436e-04_rb,0.32173e-04_rb, & & 0.28610e-04_rb,0.23847e-04_rb,0.17161e-04_rb,0.51787e-06_rb /) kao(:, 5, 2, 1) = (/ & & 0.10706e-04_rb,0.30496e-04_rb,0.33311e-04_rb,0.33396e-04_rb,0.31295e-04_rb, & & 0.28002e-04_rb,0.23445e-04_rb,0.16971e-04_rb,0.40230e-06_rb /) kao(:, 1, 3, 1) = (/ & & 0.10271e-04_rb,0.29273e-04_rb,0.32049e-04_rb,0.32365e-04_rb,0.29857e-04_rb, & & 0.26171e-04_rb,0.21352e-04_rb,0.14814e-04_rb,0.80470e-06_rb /) kao(:, 2, 3, 1) = (/ & & 0.10058e-04_rb,0.28458e-04_rb,0.31196e-04_rb,0.31440e-04_rb,0.29133e-04_rb, & & 0.25640e-04_rb,0.21056e-04_rb,0.14756e-04_rb,0.53010e-06_rb /) kao(:, 3, 3, 1) = (/ & & 0.98172e-05_rb,0.27651e-04_rb,0.30352e-04_rb,0.30609e-04_rb,0.28396e-04_rb, & & 0.25110e-04_rb,0.20730e-04_rb,0.14655e-04_rb,0.38652e-06_rb /) kao(:, 4, 3, 1) = (/ & & 0.94577e-05_rb,0.26874e-04_rb,0.29475e-04_rb,0.29749e-04_rb,0.27669e-04_rb, & & 0.24553e-04_rb,0.20400e-04_rb,0.14536e-04_rb,0.33236e-06_rb /) kao(:, 5, 3, 1) = (/ & & 0.90508e-05_rb,0.26128e-04_rb,0.28631e-04_rb,0.28834e-04_rb,0.26952e-04_rb, & & 0.24015e-04_rb,0.20045e-04_rb,0.14382e-04_rb,0.30659e-06_rb /) kao(:, 1, 4, 1) = (/ & & 0.86081e-05_rb,0.24897e-04_rb,0.27317e-04_rb,0.27632e-04_rb,0.25465e-04_rb, & & 0.22328e-04_rb,0.18112e-04_rb,0.12468e-04_rb,0.39286e-06_rb /) kao(:, 2, 4, 1) = (/ & & 0.83793e-05_rb,0.24273e-04_rb,0.26590e-04_rb,0.26865e-04_rb,0.24876e-04_rb, & & 0.21867e-04_rb,0.17849e-04_rb,0.12420e-04_rb,0.32266e-06_rb /) kao(:, 3, 4, 1) = (/ & & 0.82296e-05_rb,0.23584e-04_rb,0.25869e-04_rb,0.26155e-04_rb,0.24255e-04_rb, & & 0.21403e-04_rb,0.17579e-04_rb,0.12338e-04_rb,0.30775e-06_rb /) kao(:, 4, 4, 1) = (/ & & 0.79731e-05_rb,0.22915e-04_rb,0.25166e-04_rb,0.25435e-04_rb,0.23627e-04_rb, & & 0.20917e-04_rb,0.17282e-04_rb,0.12242e-04_rb,0.30418e-06_rb /) kao(:, 5, 4, 1) = (/ & & 0.76553e-05_rb,0.22259e-04_rb,0.24440e-04_rb,0.24673e-04_rb,0.23003e-04_rb, & & 0.20437e-04_rb,0.16984e-04_rb,0.12112e-04_rb,0.30638e-06_rb /) kao(:, 1, 5, 1) = (/ & & 0.72259e-05_rb,0.21089e-04_rb,0.23177e-04_rb,0.23419e-04_rb,0.21584e-04_rb, & & 0.18926e-04_rb,0.15251e-04_rb,0.10417e-04_rb,0.25170e-06_rb /) kao(:, 2, 5, 1) = (/ & & 0.70215e-05_rb,0.20567e-04_rb,0.22541e-04_rb,0.22788e-04_rb,0.21102e-04_rb, & & 0.18526e-04_rb,0.15049e-04_rb,0.10379e-04_rb,0.25958e-06_rb /) kao(:, 3, 5, 1) = (/ & & 0.68490e-05_rb,0.20018e-04_rb,0.21938e-04_rb,0.22206e-04_rb,0.20579e-04_rb, & & 0.18139e-04_rb,0.14806e-04_rb,0.10313e-04_rb,0.26666e-06_rb /) kao(:, 4, 5, 1) = (/ & & 0.66973e-05_rb,0.19444e-04_rb,0.21340e-04_rb,0.21615e-04_rb,0.20070e-04_rb, & & 0.17728e-04_rb,0.14554e-04_rb,0.10239e-04_rb,0.28589e-06_rb /) kao(:, 5, 5, 1) = (/ & & 0.64808e-05_rb,0.18883e-04_rb,0.20738e-04_rb,0.20994e-04_rb,0.19546e-04_rb, & & 0.17304e-04_rb,0.14306e-04_rb,0.10148e-04_rb,0.30886e-06_rb /) kao(:, 1, 6, 1) = (/ & & 0.60727e-05_rb,0.17794e-04_rb,0.19609e-04_rb,0.19769e-04_rb,0.18228e-04_rb, & & 0.15946e-04_rb,0.12793e-04_rb,0.86559e-05_rb,0.18559e-06_rb /) kao(:, 2, 6, 1) = (/ & & 0.58949e-05_rb,0.17390e-04_rb,0.19059e-04_rb,0.19244e-04_rb,0.17820e-04_rb, & & 0.15647e-04_rb,0.12626e-04_rb,0.86354e-05_rb,0.19544e-06_rb /) kao(:, 3, 6, 1) = (/ & & 0.57268e-05_rb,0.16935e-04_rb,0.18564e-04_rb,0.18724e-04_rb,0.17402e-04_rb, & & 0.15304e-04_rb,0.12433e-04_rb,0.85882e-05_rb,0.22033e-06_rb /) kao(:, 4, 6, 1) = (/ & & 0.56243e-05_rb,0.16459e-04_rb,0.18054e-04_rb,0.18263e-04_rb,0.16984e-04_rb, & & 0.14971e-04_rb,0.12215e-04_rb,0.85268e-05_rb,0.25072e-06_rb /) kao(:, 5, 6, 1) = (/ & & 0.54584e-05_rb,0.15984e-04_rb,0.17548e-04_rb,0.17773e-04_rb,0.16551e-04_rb, & & 0.14601e-04_rb,0.12004e-04_rb,0.84568e-05_rb,0.28110e-06_rb /) kao(:, 1, 7, 1) = (/ & & 0.50624e-05_rb,0.14963e-04_rb,0.16482e-04_rb,0.16611e-04_rb,0.15339e-04_rb, & & 0.13333e-04_rb,0.10656e-04_rb,0.71570e-05_rb,0.13453e-06_rb /) kao(:, 2, 7, 1) = (/ & & 0.49428e-05_rb,0.14636e-04_rb,0.16040e-04_rb,0.16181e-04_rb,0.14992e-04_rb, & & 0.13144e-04_rb,0.10533e-04_rb,0.71532e-05_rb,0.15620e-06_rb /) kao(:, 3, 7, 1) = (/ & & 0.47955e-05_rb,0.14256e-04_rb,0.15611e-04_rb,0.15735e-04_rb,0.14643e-04_rb, & & 0.12865e-04_rb,0.10390e-04_rb,0.71248e-05_rb,0.18571e-06_rb /) kao(:, 4, 7, 1) = (/ & & 0.46743e-05_rb,0.13876e-04_rb,0.15213e-04_rb,0.15342e-04_rb,0.14293e-04_rb, & & 0.12576e-04_rb,0.10215e-04_rb,0.70735e-05_rb,0.21382e-06_rb /) kao(:, 5, 7, 1) = (/ & & 0.45708e-05_rb,0.13473e-04_rb,0.14782e-04_rb,0.14947e-04_rb,0.13933e-04_rb, & & 0.12274e-04_rb,0.10036e-04_rb,0.70177e-05_rb,0.24419e-06_rb /) kao(:, 1, 8, 1) = (/ & & 0.42289e-05_rb,0.12528e-04_rb,0.13817e-04_rb,0.13922e-04_rb,0.12867e-04_rb, & & 0.11126e-04_rb,0.88468e-05_rb,0.59010e-05_rb,0.10600e-06_rb /) kao(:, 2, 8, 1) = (/ & & 0.41319e-05_rb,0.12286e-04_rb,0.13480e-04_rb,0.13582e-04_rb,0.12584e-04_rb, & & 0.10973e-04_rb,0.87644e-05_rb,0.59049e-05_rb,0.12951e-06_rb /) kao(:, 3, 8, 1) = (/ & & 0.40317e-05_rb,0.11996e-04_rb,0.13116e-04_rb,0.13206e-04_rb,0.12295e-04_rb, & & 0.10786e-04_rb,0.86537e-05_rb,0.58898e-05_rb,0.15731e-06_rb /) kao(:, 4, 8, 1) = (/ & & 0.39107e-05_rb,0.11666e-04_rb,0.12771e-04_rb,0.12870e-04_rb,0.12010e-04_rb, & & 0.10546e-04_rb,0.85244e-05_rb,0.58536e-05_rb,0.18716e-06_rb /) kao(:, 5, 8, 1) = (/ & & 0.38384e-05_rb,0.11346e-04_rb,0.12435e-04_rb,0.12549e-04_rb,0.11706e-04_rb, & & 0.10289e-04_rb,0.83756e-05_rb,0.58104e-05_rb,0.21679e-06_rb /) kao(:, 1, 9, 1) = (/ & & 0.35240e-05_rb,0.10418e-04_rb,0.11558e-04_rb,0.11687e-04_rb,0.10748e-04_rb, & & 0.92305e-05_rb,0.73198e-05_rb,0.48514e-05_rb,0.10176e-06_rb /) kao(:, 2, 9, 1) = (/ & & 0.34478e-05_rb,0.10296e-04_rb,0.11296e-04_rb,0.11369e-04_rb,0.10532e-04_rb, & & 0.91375e-05_rb,0.72737e-05_rb,0.48639e-05_rb,0.12695e-06_rb /) kao(:, 3, 9, 1) = (/ & & 0.33718e-05_rb,0.10068e-04_rb,0.10996e-04_rb,0.11063e-04_rb,0.10290e-04_rb, & & 0.89957e-05_rb,0.71844e-05_rb,0.48583e-05_rb,0.15482e-06_rb /) kao(:, 4, 9, 1) = (/ & & 0.32801e-05_rb,0.97990e-05_rb,0.10712e-04_rb,0.10762e-04_rb,0.10056e-04_rb, & & 0.88255e-05_rb,0.70907e-05_rb,0.48364e-05_rb,0.18123e-06_rb /) kao(:, 5, 9, 1) = (/ & & 0.31960e-05_rb,0.95350e-05_rb,0.10427e-04_rb,0.10501e-04_rb,0.98056e-05_rb, & & 0.86157e-05_rb,0.69723e-05_rb,0.48010e-05_rb,0.20738e-06_rb /) kao(:, 1,10, 1) = (/ & & 0.29197e-05_rb,0.86183e-05_rb,0.96100e-05_rb,0.97448e-05_rb,0.89187e-05_rb, & & 0.76354e-05_rb,0.60318e-05_rb,0.39733e-05_rb,0.10310e-06_rb /) kao(:, 2,10, 1) = (/ & & 0.28677e-05_rb,0.85565e-05_rb,0.94191e-05_rb,0.94682e-05_rb,0.87653e-05_rb, & & 0.75725e-05_rb,0.60089e-05_rb,0.39956e-05_rb,0.12951e-06_rb /) kao(:, 3,10, 1) = (/ & & 0.28036e-05_rb,0.84121e-05_rb,0.91902e-05_rb,0.92251e-05_rb,0.85811e-05_rb, & & 0.74653e-05_rb,0.59452e-05_rb,0.39967e-05_rb,0.15684e-06_rb /) kao(:, 4,10, 1) = (/ & & 0.27420e-05_rb,0.82035e-05_rb,0.89440e-05_rb,0.89748e-05_rb,0.83817e-05_rb, & & 0.73422e-05_rb,0.58725e-05_rb,0.39844e-05_rb,0.18564e-06_rb /) kao(:, 5,10, 1) = (/ & & 0.26596e-05_rb,0.79739e-05_rb,0.87074e-05_rb,0.87508e-05_rb,0.81784e-05_rb, & & 0.71781e-05_rb,0.57815e-05_rb,0.39569e-05_rb,0.21476e-06_rb /) kao(:, 1,11, 1) = (/ & & 0.23988e-05_rb,0.71135e-05_rb,0.79121e-05_rb,0.80118e-05_rb,0.73370e-05_rb, & & 0.62844e-05_rb,0.49610e-05_rb,0.32641e-05_rb,0.91697e-07_rb /) kao(:, 2,11, 1) = (/ & & 0.23552e-05_rb,0.70587e-05_rb,0.77519e-05_rb,0.77821e-05_rb,0.72113e-05_rb, & & 0.62297e-05_rb,0.49407e-05_rb,0.32815e-05_rb,0.11307e-06_rb /) kao(:, 3,11, 1) = (/ & & 0.23046e-05_rb,0.69367e-05_rb,0.75662e-05_rb,0.75790e-05_rb,0.70631e-05_rb, & & 0.61409e-05_rb,0.48867e-05_rb,0.32812e-05_rb,0.13715e-06_rb /) kao(:, 4,11, 1) = (/ & & 0.22557e-05_rb,0.67632e-05_rb,0.73640e-05_rb,0.73772e-05_rb,0.68972e-05_rb, & & 0.60381e-05_rb,0.48254e-05_rb,0.32705e-05_rb,0.16436e-06_rb /) kao(:, 5,11, 1) = (/ & & 0.21899e-05_rb,0.65748e-05_rb,0.71695e-05_rb,0.71946e-05_rb,0.67295e-05_rb, & & 0.59022e-05_rb,0.47488e-05_rb,0.32476e-05_rb,0.19025e-06_rb /) kao(:, 1,12, 1) = (/ & & 0.19699e-05_rb,0.58670e-05_rb,0.65075e-05_rb,0.65808e-05_rb,0.60300e-05_rb, & & 0.51665e-05_rb,0.40749e-05_rb,0.26788e-05_rb,0.77100e-07_rb /) kao(:, 2,12, 1) = (/ & & 0.19348e-05_rb,0.58146e-05_rb,0.63730e-05_rb,0.63891e-05_rb,0.59260e-05_rb, & & 0.51196e-05_rb,0.40577e-05_rb,0.26926e-05_rb,0.95693e-07_rb /) kao(:, 3,12, 1) = (/ & & 0.18947e-05_rb,0.57134e-05_rb,0.62207e-05_rb,0.62238e-05_rb,0.58090e-05_rb, & & 0.50459e-05_rb,0.40113e-05_rb,0.26916e-05_rb,0.11572e-06_rb /) kao(:, 4,12, 1) = (/ & & 0.18552e-05_rb,0.55709e-05_rb,0.60522e-05_rb,0.60611e-05_rb,0.56693e-05_rb, & & 0.49594e-05_rb,0.39606e-05_rb,0.26824e-05_rb,0.13797e-06_rb /) kao(:, 5,12, 1) = (/ & & 0.18040e-05_rb,0.54137e-05_rb,0.58935e-05_rb,0.59096e-05_rb,0.55294e-05_rb, & & 0.48443e-05_rb,0.38977e-05_rb,0.26633e-05_rb,0.15884e-06_rb /) kao(:, 1,13, 1) = (/ & & 0.16167e-05_rb,0.48272e-05_rb,0.53475e-05_rb,0.53983e-05_rb,0.49503e-05_rb, & & 0.42413e-05_rb,0.33431e-05_rb,0.21956e-05_rb,0.61381e-07_rb /) kao(:, 2,13, 1) = (/ & & 0.15895e-05_rb,0.47809e-05_rb,0.52342e-05_rb,0.52409e-05_rb,0.48652e-05_rb, & & 0.42021e-05_rb,0.33263e-05_rb,0.22072e-05_rb,0.76382e-07_rb /) kao(:, 3,13, 1) = (/ & & 0.15582e-05_rb,0.46982e-05_rb,0.51055e-05_rb,0.51058e-05_rb,0.47716e-05_rb, & & 0.41406e-05_rb,0.32886e-05_rb,0.22058e-05_rb,0.93083e-07_rb /) kao(:, 4,13, 1) = (/ & & 0.15242e-05_rb,0.45831e-05_rb,0.49696e-05_rb,0.49735e-05_rb,0.46534e-05_rb, & & 0.40678e-05_rb,0.32469e-05_rb,0.21969e-05_rb,0.11211e-06_rb /) kao(:, 5,13, 1) = (/ & & 0.14859e-05_rb,0.44492e-05_rb,0.48392e-05_rb,0.48479e-05_rb,0.45378e-05_rb, & & 0.39689e-05_rb,0.31933e-05_rb,0.21813e-05_rb,0.12970e-06_rb /) kao(:, 1, 1, 2) = (/ & & 0.10138e-03_rb,0.20456e-03_rb,0.22117e-03_rb,0.21948e-03_rb,0.20805e-03_rb, & & 0.18373e-03_rb,0.14999e-03_rb,0.95382e-04_rb,0.33213e-05_rb /) kao(:, 2, 1, 2) = (/ & & 0.10141e-03_rb,0.20889e-03_rb,0.22456e-03_rb,0.22223e-03_rb,0.20912e-03_rb, & & 0.18467e-03_rb,0.15060e-03_rb,0.95713e-04_rb,0.28479e-05_rb /) kao(:, 3, 1, 2) = (/ & & 0.10125e-03_rb,0.21223e-03_rb,0.22712e-03_rb,0.22388e-03_rb,0.20983e-03_rb, & & 0.18513e-03_rb,0.15100e-03_rb,0.95881e-04_rb,0.26338e-05_rb /) kao(:, 4, 1, 2) = (/ & & 0.10105e-03_rb,0.21442e-03_rb,0.22863e-03_rb,0.22421e-03_rb,0.21046e-03_rb, & & 0.18540e-03_rb,0.15060e-03_rb,0.95798e-04_rb,0.27638e-05_rb /) kao(:, 5, 1, 2) = (/ & & 0.10040e-03_rb,0.21612e-03_rb,0.22899e-03_rb,0.22416e-03_rb,0.21046e-03_rb, & & 0.18570e-03_rb,0.15001e-03_rb,0.95569e-04_rb,0.29313e-05_rb /) kao(:, 1, 2, 2) = (/ & & 0.89639e-04_rb,0.17797e-03_rb,0.19284e-03_rb,0.18986e-03_rb,0.17824e-03_rb, & & 0.15789e-03_rb,0.12906e-03_rb,0.83524e-04_rb,0.23926e-05_rb /) kao(:, 2, 2, 2) = (/ & & 0.89499e-04_rb,0.18144e-03_rb,0.19563e-03_rb,0.19227e-03_rb,0.17941e-03_rb, & & 0.15844e-03_rb,0.12961e-03_rb,0.83632e-04_rb,0.21969e-05_rb /) kao(:, 3, 2, 2) = (/ & & 0.89411e-04_rb,0.18401e-03_rb,0.19753e-03_rb,0.19350e-03_rb,0.17999e-03_rb, & & 0.15883e-03_rb,0.12989e-03_rb,0.83577e-04_rb,0.23158e-05_rb /) kao(:, 4, 2, 2) = (/ & & 0.88841e-04_rb,0.18541e-03_rb,0.19872e-03_rb,0.19398e-03_rb,0.18053e-03_rb, & & 0.15907e-03_rb,0.12972e-03_rb,0.83396e-04_rb,0.23760e-05_rb /) kao(:, 5, 2, 2) = (/ & & 0.87949e-04_rb,0.18659e-03_rb,0.19902e-03_rb,0.19407e-03_rb,0.18073e-03_rb, & & 0.15910e-03_rb,0.12937e-03_rb,0.83120e-04_rb,0.25247e-05_rb /) kao(:, 1, 3, 2) = (/ & & 0.77466e-04_rb,0.15264e-03_rb,0.16704e-03_rb,0.16342e-03_rb,0.15300e-03_rb, & & 0.13499e-03_rb,0.11007e-03_rb,0.71881e-04_rb,0.17839e-05_rb /) kao(:, 2, 3, 2) = (/ & & 0.77483e-04_rb,0.15611e-03_rb,0.16950e-03_rb,0.16551e-03_rb,0.15408e-03_rb, & & 0.13580e-03_rb,0.11055e-03_rb,0.72020e-04_rb,0.18564e-05_rb /) kao(:, 3, 3, 2) = (/ & & 0.77142e-04_rb,0.15867e-03_rb,0.17112e-03_rb,0.16672e-03_rb,0.15481e-03_rb, & & 0.13616e-03_rb,0.11077e-03_rb,0.71922e-04_rb,0.20228e-05_rb /) kao(:, 4, 3, 2) = (/ & & 0.76460e-04_rb,0.16058e-03_rb,0.17186e-03_rb,0.16717e-03_rb,0.15519e-03_rb, & & 0.13641e-03_rb,0.11060e-03_rb,0.71775e-04_rb,0.21717e-05_rb /) kao(:, 5, 3, 2) = (/ & & 0.75510e-04_rb,0.16158e-03_rb,0.17210e-03_rb,0.16730e-03_rb,0.15521e-03_rb, & & 0.13649e-03_rb,0.11022e-03_rb,0.71516e-04_rb,0.23140e-05_rb /) kao(:, 1, 4, 2) = (/ & & 0.65931e-04_rb,0.12940e-03_rb,0.14295e-03_rb,0.14005e-03_rb,0.13095e-03_rb, & & 0.11494e-03_rb,0.93656e-04_rb,0.61167e-04_rb,0.17094e-05_rb /) kao(:, 2, 4, 2) = (/ & & 0.66090e-04_rb,0.13269e-03_rb,0.14542e-03_rb,0.14233e-03_rb,0.13201e-03_rb, & & 0.11558e-03_rb,0.93975e-04_rb,0.61436e-04_rb,0.18527e-05_rb /) kao(:, 3, 4, 2) = (/ & & 0.65630e-04_rb,0.13532e-03_rb,0.14717e-03_rb,0.14364e-03_rb,0.13266e-03_rb, & & 0.11604e-03_rb,0.94126e-04_rb,0.61467e-04_rb,0.19576e-05_rb /) kao(:, 4, 4, 2) = (/ & & 0.64971e-04_rb,0.13708e-03_rb,0.14818e-03_rb,0.14427e-03_rb,0.13304e-03_rb, & & 0.11616e-03_rb,0.94152e-04_rb,0.61334e-04_rb,0.20614e-05_rb /) kao(:, 5, 4, 2) = (/ & & 0.64122e-04_rb,0.13834e-03_rb,0.14864e-03_rb,0.14451e-03_rb,0.13312e-03_rb, & & 0.11638e-03_rb,0.93955e-04_rb,0.61162e-04_rb,0.21640e-05_rb /) kao(:, 1, 5, 2) = (/ & & 0.55594e-04_rb,0.10830e-03_rb,0.12068e-03_rb,0.11865e-03_rb,0.11127e-03_rb, & & 0.97925e-04_rb,0.79208e-04_rb,0.51842e-04_rb,0.15954e-05_rb /) kao(:, 2, 5, 2) = (/ & & 0.55669e-04_rb,0.11117e-03_rb,0.12299e-03_rb,0.12091e-03_rb,0.11248e-03_rb, & & 0.98643e-04_rb,0.79433e-04_rb,0.52127e-04_rb,0.16966e-05_rb /) kao(:, 3, 5, 2) = (/ & & 0.55430e-04_rb,0.11345e-03_rb,0.12478e-03_rb,0.12235e-03_rb,0.11332e-03_rb, & & 0.99117e-04_rb,0.79823e-04_rb,0.52286e-04_rb,0.18304e-05_rb /) kao(:, 4, 5, 2) = (/ & & 0.54800e-04_rb,0.11543e-03_rb,0.12601e-03_rb,0.12304e-03_rb,0.11389e-03_rb, & & 0.99346e-04_rb,0.79935e-04_rb,0.52275e-04_rb,0.19479e-05_rb /) kao(:, 5, 5, 2) = (/ & & 0.54027e-04_rb,0.11665e-03_rb,0.12660e-03_rb,0.12339e-03_rb,0.11410e-03_rb, & & 0.99535e-04_rb,0.79840e-04_rb,0.52168e-04_rb,0.20583e-05_rb /) kao(:, 1, 6, 2) = (/ & & 0.46500e-04_rb,0.89887e-04_rb,0.10048e-03_rb,0.99161e-04_rb,0.93136e-04_rb, & & 0.82279e-04_rb,0.66872e-04_rb,0.43617e-04_rb,0.14730e-05_rb /) kao(:, 2, 6, 2) = (/ & & 0.46632e-04_rb,0.92444e-04_rb,0.10271e-03_rb,0.10123e-03_rb,0.94559e-04_rb, & & 0.83135e-04_rb,0.67204e-04_rb,0.44046e-04_rb,0.16215e-05_rb /) kao(:, 3, 6, 2) = (/ & & 0.46490e-04_rb,0.94415e-04_rb,0.10446e-03_rb,0.10269e-03_rb,0.95387e-04_rb, & & 0.83676e-04_rb,0.67579e-04_rb,0.44279e-04_rb,0.17358e-05_rb /) kao(:, 4, 6, 2) = (/ & & 0.46004e-04_rb,0.96190e-04_rb,0.10570e-03_rb,0.10346e-03_rb,0.95883e-04_rb, & & 0.84038e-04_rb,0.67753e-04_rb,0.44348e-04_rb,0.18096e-05_rb /) kao(:, 5, 6, 2) = (/ & & 0.45362e-04_rb,0.97511e-04_rb,0.10645e-03_rb,0.10384e-03_rb,0.96197e-04_rb, & & 0.84347e-04_rb,0.67758e-04_rb,0.44305e-04_rb,0.18882e-05_rb /) kao(:, 1, 7, 2) = (/ & & 0.38597e-04_rb,0.74019e-04_rb,0.82882e-04_rb,0.81807e-04_rb,0.76936e-04_rb, & & 0.68278e-04_rb,0.55744e-04_rb,0.36507e-04_rb,0.13400e-05_rb /) kao(:, 2, 7, 2) = (/ & & 0.38728e-04_rb,0.76353e-04_rb,0.85030e-04_rb,0.83822e-04_rb,0.78523e-04_rb, & & 0.69221e-04_rb,0.56199e-04_rb,0.36932e-04_rb,0.14766e-05_rb /) kao(:, 3, 7, 2) = (/ & & 0.38688e-04_rb,0.78164e-04_rb,0.86691e-04_rb,0.85269e-04_rb,0.79424e-04_rb, & & 0.69849e-04_rb,0.56507e-04_rb,0.37211e-04_rb,0.16077e-05_rb /) kao(:, 4, 7, 2) = (/ & & 0.38399e-04_rb,0.79654e-04_rb,0.87882e-04_rb,0.86145e-04_rb,0.79917e-04_rb, & & 0.70214e-04_rb,0.56698e-04_rb,0.37302e-04_rb,0.17365e-05_rb /) kao(:, 5, 7, 2) = (/ & & 0.37899e-04_rb,0.81012e-04_rb,0.88706e-04_rb,0.86589e-04_rb,0.80259e-04_rb, & & 0.70429e-04_rb,0.56810e-04_rb,0.37287e-04_rb,0.18595e-05_rb /) kao(:, 1, 8, 2) = (/ & & 0.31959e-04_rb,0.60671e-04_rb,0.67963e-04_rb,0.67053e-04_rb,0.63057e-04_rb, & & 0.56287e-04_rb,0.46187e-04_rb,0.30298e-04_rb,0.12071e-05_rb /) kao(:, 2, 8, 2) = (/ & & 0.32062e-04_rb,0.62753e-04_rb,0.69892e-04_rb,0.68941e-04_rb,0.64624e-04_rb, & & 0.57187e-04_rb,0.46566e-04_rb,0.30687e-04_rb,0.13582e-05_rb /) kao(:, 3, 8, 2) = (/ & & 0.32098e-04_rb,0.64435e-04_rb,0.71423e-04_rb,0.70359e-04_rb,0.65646e-04_rb, & & 0.57882e-04_rb,0.46897e-04_rb,0.30993e-04_rb,0.15217e-05_rb /) kao(:, 4, 8, 2) = (/ & & 0.31956e-04_rb,0.65758e-04_rb,0.72650e-04_rb,0.71275e-04_rb,0.66275e-04_rb, & & 0.58298e-04_rb,0.47100e-04_rb,0.31079e-04_rb,0.16794e-05_rb /) kao(:, 5, 8, 2) = (/ & & 0.31584e-04_rb,0.66916e-04_rb,0.73502e-04_rb,0.71819e-04_rb,0.66611e-04_rb, & & 0.58505e-04_rb,0.47243e-04_rb,0.31088e-04_rb,0.18250e-05_rb /) kao(:, 1, 9, 2) = (/ & & 0.26355e-04_rb,0.49472e-04_rb,0.55415e-04_rb,0.54584e-04_rb,0.51361e-04_rb, & & 0.46135e-04_rb,0.38027e-04_rb,0.24983e-04_rb,0.13549e-05_rb /) kao(:, 2, 9, 2) = (/ & & 0.26472e-04_rb,0.51302e-04_rb,0.57165e-04_rb,0.56417e-04_rb,0.52936e-04_rb, & & 0.47048e-04_rb,0.38417e-04_rb,0.25347e-04_rb,0.14941e-05_rb /) kao(:, 3, 9, 2) = (/ & & 0.26545e-04_rb,0.52866e-04_rb,0.58563e-04_rb,0.57776e-04_rb,0.53988e-04_rb, & & 0.47706e-04_rb,0.38739e-04_rb,0.25638e-04_rb,0.16563e-05_rb /) kao(:, 4, 9, 2) = (/ & & 0.26469e-04_rb,0.54105e-04_rb,0.59749e-04_rb,0.58746e-04_rb,0.54668e-04_rb, & & 0.48161e-04_rb,0.38970e-04_rb,0.25744e-04_rb,0.18262e-05_rb /) kao(:, 5, 9, 2) = (/ & & 0.26248e-04_rb,0.55079e-04_rb,0.60619e-04_rb,0.59317e-04_rb,0.55099e-04_rb, & & 0.48435e-04_rb,0.39115e-04_rb,0.25778e-04_rb,0.20238e-05_rb /) kao(:, 1,10, 2) = (/ & & 0.21631e-04_rb,0.40297e-04_rb,0.45170e-04_rb,0.44298e-04_rb,0.41876e-04_rb, & & 0.37690e-04_rb,0.31212e-04_rb,0.20552e-04_rb,0.16328e-05_rb /) kao(:, 2,10, 2) = (/ & & 0.21814e-04_rb,0.41896e-04_rb,0.46681e-04_rb,0.46065e-04_rb,0.43227e-04_rb, & & 0.38608e-04_rb,0.31614e-04_rb,0.20857e-04_rb,0.18610e-05_rb /) kao(:, 3,10, 2) = (/ & & 0.21864e-04_rb,0.43247e-04_rb,0.47945e-04_rb,0.47327e-04_rb,0.44273e-04_rb, & & 0.39201e-04_rb,0.31894e-04_rb,0.21119e-04_rb,0.20775e-05_rb /) kao(:, 4,10, 2) = (/ & & 0.21835e-04_rb,0.44386e-04_rb,0.48986e-04_rb,0.48228e-04_rb,0.44916e-04_rb, & & 0.39637e-04_rb,0.32093e-04_rb,0.21228e-04_rb,0.22541e-05_rb /) kao(:, 5,10, 2) = (/ & & 0.21728e-04_rb,0.45263e-04_rb,0.49804e-04_rb,0.48818e-04_rb,0.45409e-04_rb, & & 0.39950e-04_rb,0.32269e-04_rb,0.21290e-04_rb,0.24525e-05_rb /) kao(:, 1,11, 2) = (/ & & 0.17823e-04_rb,0.33378e-04_rb,0.37337e-04_rb,0.36619e-04_rb,0.34598e-04_rb, & & 0.31113e-04_rb,0.25761e-04_rb,0.16956e-04_rb,0.15042e-05_rb /) kao(:, 2,11, 2) = (/ & & 0.17970e-04_rb,0.34679e-04_rb,0.38589e-04_rb,0.38065e-04_rb,0.35695e-04_rb, & & 0.31869e-04_rb,0.26044e-04_rb,0.17214e-04_rb,0.16847e-05_rb /) kao(:, 3,11, 2) = (/ & & 0.17997e-04_rb,0.35791e-04_rb,0.39619e-04_rb,0.39097e-04_rb,0.36539e-04_rb, & & 0.32374e-04_rb,0.26298e-04_rb,0.17428e-04_rb,0.18887e-05_rb /) kao(:, 4,11, 2) = (/ & & 0.17967e-04_rb,0.36717e-04_rb,0.40463e-04_rb,0.39821e-04_rb,0.37071e-04_rb, & & 0.32716e-04_rb,0.26461e-04_rb,0.17496e-04_rb,0.20546e-05_rb /) kao(:, 5,11, 2) = (/ & & 0.17868e-04_rb,0.37423e-04_rb,0.41124e-04_rb,0.40304e-04_rb,0.37473e-04_rb, & & 0.32971e-04_rb,0.26612e-04_rb,0.17532e-04_rb,0.22240e-05_rb /) kao(:, 1,12, 2) = (/ & & 0.14665e-04_rb,0.27605e-04_rb,0.30811e-04_rb,0.30250e-04_rb,0.28525e-04_rb, & & 0.25644e-04_rb,0.21186e-04_rb,0.13955e-04_rb,0.12588e-05_rb /) kao(:, 2,12, 2) = (/ & & 0.14775e-04_rb,0.28655e-04_rb,0.31851e-04_rb,0.31408e-04_rb,0.29418e-04_rb, & & 0.26261e-04_rb,0.21430e-04_rb,0.14172e-04_rb,0.14181e-05_rb /) kao(:, 3,12, 2) = (/ & & 0.14799e-04_rb,0.29571e-04_rb,0.32687e-04_rb,0.32242e-04_rb,0.30093e-04_rb, & & 0.26683e-04_rb,0.21636e-04_rb,0.14338e-04_rb,0.15619e-05_rb /) kao(:, 4,12, 2) = (/ & & 0.14777e-04_rb,0.30325e-04_rb,0.33371e-04_rb,0.32826e-04_rb,0.30553e-04_rb, & & 0.26945e-04_rb,0.21775e-04_rb,0.14380e-04_rb,0.16917e-05_rb /) kao(:, 5,12, 2) = (/ & & 0.14685e-04_rb,0.30904e-04_rb,0.33907e-04_rb,0.33214e-04_rb,0.30875e-04_rb, & & 0.27158e-04_rb,0.21883e-04_rb,0.14414e-04_rb,0.18423e-05_rb /) kao(:, 1,13, 2) = (/ & & 0.12044e-04_rb,0.22772e-04_rb,0.25375e-04_rb,0.24926e-04_rb,0.23458e-04_rb, & & 0.21059e-04_rb,0.17387e-04_rb,0.11457e-04_rb,0.99122e-06_rb /) kao(:, 2,13, 2) = (/ & & 0.12128e-04_rb,0.23637e-04_rb,0.26249e-04_rb,0.25842e-04_rb,0.24187e-04_rb, & & 0.21582e-04_rb,0.17590e-04_rb,0.11636e-04_rb,0.11037e-05_rb /) kao(:, 3,13, 2) = (/ & & 0.12152e-04_rb,0.24386e-04_rb,0.26910e-04_rb,0.26531e-04_rb,0.24731e-04_rb, & & 0.21923e-04_rb,0.17760e-04_rb,0.11755e-04_rb,0.12026e-05_rb /) kao(:, 4,13, 2) = (/ & & 0.12130e-04_rb,0.24996e-04_rb,0.27464e-04_rb,0.27006e-04_rb,0.25113e-04_rb, & & 0.22138e-04_rb,0.17874e-04_rb,0.11797e-04_rb,0.13028e-05_rb /) kao(:, 5,13, 2) = (/ & & 0.12050e-04_rb,0.25474e-04_rb,0.27895e-04_rb,0.27297e-04_rb,0.25373e-04_rb, & & 0.22302e-04_rb,0.17948e-04_rb,0.11817e-04_rb,0.14010e-05_rb /) kao(:, 1, 1, 3) = (/ & & 0.36823e-03_rb,0.49613e-03_rb,0.51817e-03_rb,0.50538e-03_rb,0.45711e-03_rb, & & 0.39605e-03_rb,0.31486e-03_rb,0.21474e-03_rb,0.10932e-04_rb /) kao(:, 2, 1, 3) = (/ & & 0.37008e-03_rb,0.50778e-03_rb,0.53361e-03_rb,0.51778e-03_rb,0.46995e-03_rb, & & 0.40629e-03_rb,0.32309e-03_rb,0.21878e-03_rb,0.11421e-04_rb /) kao(:, 3, 1, 3) = (/ & & 0.36989e-03_rb,0.51812e-03_rb,0.54699e-03_rb,0.52922e-03_rb,0.48036e-03_rb, & & 0.41559e-03_rb,0.32965e-03_rb,0.22226e-03_rb,0.12395e-04_rb /) kao(:, 4, 1, 3) = (/ & & 0.36721e-03_rb,0.52763e-03_rb,0.55746e-03_rb,0.53957e-03_rb,0.48891e-03_rb, & & 0.42313e-03_rb,0.33545e-03_rb,0.22588e-03_rb,0.13515e-04_rb /) kao(:, 5, 1, 3) = (/ & & 0.36313e-03_rb,0.53652e-03_rb,0.56680e-03_rb,0.54791e-03_rb,0.49664e-03_rb, & & 0.42907e-03_rb,0.34043e-03_rb,0.22916e-03_rb,0.14734e-04_rb /) kao(:, 1, 2, 3) = (/ & & 0.32411e-03_rb,0.42815e-03_rb,0.44725e-03_rb,0.43813e-03_rb,0.40150e-03_rb, & & 0.34871e-03_rb,0.27912e-03_rb,0.18929e-03_rb,0.80741e-05_rb /) kao(:, 2, 2, 3) = (/ & & 0.32567e-03_rb,0.43786e-03_rb,0.46069e-03_rb,0.45027e-03_rb,0.41319e-03_rb, & & 0.35819e-03_rb,0.28635e-03_rb,0.19325e-03_rb,0.87340e-05_rb /) kao(:, 3, 2, 3) = (/ & & 0.32429e-03_rb,0.44638e-03_rb,0.47228e-03_rb,0.46074e-03_rb,0.42272e-03_rb, & & 0.36602e-03_rb,0.29201e-03_rb,0.19653e-03_rb,0.96110e-05_rb /) kao(:, 4, 2, 3) = (/ & & 0.32137e-03_rb,0.45531e-03_rb,0.48142e-03_rb,0.46951e-03_rb,0.42996e-03_rb, & & 0.37250e-03_rb,0.29709e-03_rb,0.19974e-03_rb,0.10697e-04_rb /) kao(:, 5, 2, 3) = (/ & & 0.31776e-03_rb,0.46207e-03_rb,0.48880e-03_rb,0.47659e-03_rb,0.43551e-03_rb, & & 0.37776e-03_rb,0.30138e-03_rb,0.20274e-03_rb,0.11704e-04_rb /) kao(:, 1, 3, 3) = (/ & & 0.28488e-03_rb,0.36767e-03_rb,0.38081e-03_rb,0.37438e-03_rb,0.34525e-03_rb, & & 0.30150e-03_rb,0.24332e-03_rb,0.16415e-03_rb,0.63970e-05_rb /) kao(:, 2, 3, 3) = (/ & & 0.28539e-03_rb,0.37509e-03_rb,0.39196e-03_rb,0.38510e-03_rb,0.35566e-03_rb, & & 0.30998e-03_rb,0.24963e-03_rb,0.16766e-03_rb,0.72006e-05_rb /) kao(:, 3, 3, 3) = (/ & & 0.28397e-03_rb,0.38215e-03_rb,0.40156e-03_rb,0.39428e-03_rb,0.36418e-03_rb, & & 0.31727e-03_rb,0.25446e-03_rb,0.17107e-03_rb,0.79574e-05_rb /) kao(:, 4, 3, 3) = (/ & & 0.28134e-03_rb,0.38867e-03_rb,0.40959e-03_rb,0.40230e-03_rb,0.37093e-03_rb, & & 0.32301e-03_rb,0.25898e-03_rb,0.17447e-03_rb,0.87131e-05_rb /) kao(:, 5, 3, 3) = (/ & & 0.27886e-03_rb,0.39360e-03_rb,0.41642e-03_rb,0.40852e-03_rb,0.37609e-03_rb, & & 0.32740e-03_rb,0.26312e-03_rb,0.17737e-03_rb,0.94704e-05_rb /) kao(:, 1, 4, 3) = (/ & & 0.24923e-03_rb,0.31555e-03_rb,0.32423e-03_rb,0.31731e-03_rb,0.29410e-03_rb, & & 0.25671e-03_rb,0.20762e-03_rb,0.14074e-03_rb,0.55877e-05_rb /) kao(:, 2, 4, 3) = (/ & & 0.24977e-03_rb,0.32120e-03_rb,0.33372e-03_rb,0.32657e-03_rb,0.30295e-03_rb, & & 0.26472e-03_rb,0.21303e-03_rb,0.14396e-03_rb,0.61575e-05_rb /) kao(:, 3, 4, 3) = (/ & & 0.24865e-03_rb,0.32668e-03_rb,0.34180e-03_rb,0.33446e-03_rb,0.31033e-03_rb, & & 0.27144e-03_rb,0.21777e-03_rb,0.14714e-03_rb,0.67916e-05_rb /) kao(:, 4, 4, 3) = (/ & & 0.24709e-03_rb,0.33133e-03_rb,0.34841e-03_rb,0.34134e-03_rb,0.31600e-03_rb, & & 0.27647e-03_rb,0.22179e-03_rb,0.15016e-03_rb,0.74653e-05_rb /) kao(:, 5, 4, 3) = (/ & & 0.24455e-03_rb,0.33491e-03_rb,0.35388e-03_rb,0.34708e-03_rb,0.32069e-03_rb, & & 0.28005e-03_rb,0.22522e-03_rb,0.15242e-03_rb,0.81619e-05_rb /) kao(:, 1, 5, 3) = (/ & & 0.21526e-03_rb,0.27115e-03_rb,0.27505e-03_rb,0.26802e-03_rb,0.24968e-03_rb, & & 0.21690e-03_rb,0.17481e-03_rb,0.11906e-03_rb,0.50850e-05_rb /) kao(:, 2, 5, 3) = (/ & & 0.21611e-03_rb,0.27621e-03_rb,0.28298e-03_rb,0.27620e-03_rb,0.25722e-03_rb, & & 0.22411e-03_rb,0.18004e-03_rb,0.12197e-03_rb,0.55738e-05_rb /) kao(:, 3, 5, 3) = (/ & & 0.21583e-03_rb,0.28060e-03_rb,0.28955e-03_rb,0.28282e-03_rb,0.26346e-03_rb, & & 0.23005e-03_rb,0.18415e-03_rb,0.12451e-03_rb,0.60864e-05_rb /) kao(:, 4, 5, 3) = (/ & & 0.21446e-03_rb,0.28363e-03_rb,0.29469e-03_rb,0.28896e-03_rb,0.26860e-03_rb, & & 0.23435e-03_rb,0.18768e-03_rb,0.12690e-03_rb,0.66417e-05_rb /) kao(:, 5, 5, 3) = (/ & & 0.21217e-03_rb,0.28626e-03_rb,0.29929e-03_rb,0.29370e-03_rb,0.27250e-03_rb, & & 0.23763e-03_rb,0.19073e-03_rb,0.12909e-03_rb,0.72122e-05_rb /) kao(:, 1, 6, 3) = (/ & & 0.18262e-03_rb,0.23112e-03_rb,0.23388e-03_rb,0.22681e-03_rb,0.21062e-03_rb, & & 0.18196e-03_rb,0.14634e-03_rb,0.99707e-04_rb,0.48078e-05_rb /) kao(:, 2, 6, 3) = (/ & & 0.18393e-03_rb,0.23591e-03_rb,0.24094e-03_rb,0.23364e-03_rb,0.21663e-03_rb, & & 0.18814e-03_rb,0.15114e-03_rb,0.10205e-03_rb,0.52252e-05_rb /) kao(:, 3, 6, 3) = (/ & & 0.18379e-03_rb,0.23984e-03_rb,0.24676e-03_rb,0.23956e-03_rb,0.22221e-03_rb, & & 0.19356e-03_rb,0.15489e-03_rb,0.10434e-03_rb,0.56405e-05_rb /) kao(:, 4, 6, 3) = (/ & & 0.18270e-03_rb,0.24258e-03_rb,0.25102e-03_rb,0.24458e-03_rb,0.22685e-03_rb, & & 0.19771e-03_rb,0.15805e-03_rb,0.10655e-03_rb,0.60728e-05_rb /) kao(:, 5, 6, 3) = (/ & & 0.18067e-03_rb,0.24446e-03_rb,0.25467e-03_rb,0.24894e-03_rb,0.23051e-03_rb, & & 0.20056e-03_rb,0.16088e-03_rb,0.10844e-03_rb,0.65160e-05_rb /) kao(:, 1, 7, 3) = (/ & & 0.15269e-03_rb,0.19407e-03_rb,0.19640e-03_rb,0.19073e-03_rb,0.17715e-03_rb, & & 0.15224e-03_rb,0.12181e-03_rb,0.83302e-04_rb,0.45185e-05_rb /) kao(:, 2, 7, 3) = (/ & & 0.15450e-03_rb,0.19834e-03_rb,0.20246e-03_rb,0.19675e-03_rb,0.18242e-03_rb, & & 0.15776e-03_rb,0.12610e-03_rb,0.85306e-04_rb,0.49315e-05_rb /) kao(:, 3, 7, 3) = (/ & & 0.15459e-03_rb,0.20178e-03_rb,0.20759e-03_rb,0.20176e-03_rb,0.18737e-03_rb, & & 0.16233e-03_rb,0.12951e-03_rb,0.87417e-04_rb,0.53491e-05_rb /) kao(:, 4, 7, 3) = (/ & & 0.15368e-03_rb,0.20410e-03_rb,0.21160e-03_rb,0.20623e-03_rb,0.19161e-03_rb, & & 0.16603e-03_rb,0.13246e-03_rb,0.89237e-04_rb,0.57562e-05_rb /) kao(:, 5, 7, 3) = (/ & & 0.15207e-03_rb,0.20567e-03_rb,0.21458e-03_rb,0.20991e-03_rb,0.19525e-03_rb, & & 0.16906e-03_rb,0.13481e-03_rb,0.90932e-04_rb,0.61659e-05_rb /) kao(:, 1, 8, 3) = (/ & & 0.12672e-03_rb,0.16159e-03_rb,0.16329e-03_rb,0.15821e-03_rb,0.14746e-03_rb, & & 0.12624e-03_rb,0.10116e-03_rb,0.69306e-04_rb,0.46652e-05_rb /) kao(:, 2, 8, 3) = (/ & & 0.12853e-03_rb,0.16539e-03_rb,0.16859e-03_rb,0.16359e-03_rb,0.15208e-03_rb, & & 0.13120e-03_rb,0.10513e-03_rb,0.71005e-04_rb,0.51392e-05_rb /) kao(:, 3, 8, 3) = (/ & & 0.12901e-03_rb,0.16841e-03_rb,0.17301e-03_rb,0.16813e-03_rb,0.15614e-03_rb, & & 0.13532e-03_rb,0.10829e-03_rb,0.72863e-04_rb,0.55244e-05_rb /) kao(:, 4, 8, 3) = (/ & & 0.12833e-03_rb,0.17058e-03_rb,0.17652e-03_rb,0.17184e-03_rb,0.15971e-03_rb, & & 0.13867e-03_rb,0.11087e-03_rb,0.74475e-04_rb,0.58193e-05_rb /) kao(:, 5, 8, 3) = (/ & & 0.12715e-03_rb,0.17197e-03_rb,0.17918e-03_rb,0.17513e-03_rb,0.16292e-03_rb, & & 0.14144e-03_rb,0.11301e-03_rb,0.75965e-04_rb,0.61705e-05_rb /) kao(:, 1, 9, 3) = (/ & & 0.10428e-03_rb,0.13348e-03_rb,0.13462e-03_rb,0.12995e-03_rb,0.12158e-03_rb, & & 0.10379e-03_rb,0.83005e-04_rb,0.57371e-04_rb,0.55965e-05_rb /) kao(:, 2, 9, 3) = (/ & & 0.10619e-03_rb,0.13710e-03_rb,0.13932e-03_rb,0.13469e-03_rb,0.12538e-03_rb, & & 0.10800e-03_rb,0.86632e-04_rb,0.58954e-04_rb,0.61961e-05_rb /) kao(:, 3, 9, 3) = (/ & & 0.10690e-03_rb,0.13978e-03_rb,0.14315e-03_rb,0.13877e-03_rb,0.12885e-03_rb, & & 0.11169e-03_rb,0.89643e-04_rb,0.60568e-04_rb,0.68526e-05_rb /) kao(:, 4, 9, 3) = (/ & & 0.10668e-03_rb,0.14178e-03_rb,0.14626e-03_rb,0.14213e-03_rb,0.13207e-03_rb, & & 0.11468e-03_rb,0.91984e-04_rb,0.62070e-04_rb,0.75122e-05_rb /) kao(:, 5, 9, 3) = (/ & & 0.10582e-03_rb,0.14316e-03_rb,0.14873e-03_rb,0.14501e-03_rb,0.13471e-03_rb, & & 0.11704e-03_rb,0.93876e-04_rb,0.63388e-04_rb,0.80761e-05_rb /) kao(:, 1,10, 3) = (/ & & 0.85476e-04_rb,0.10982e-03_rb,0.11034e-03_rb,0.10643e-03_rb,0.99702e-04_rb, & & 0.84967e-04_rb,0.68008e-04_rb,0.47229e-04_rb,0.66145e-05_rb /) kao(:, 2,10, 3) = (/ & & 0.87242e-04_rb,0.11322e-03_rb,0.11463e-03_rb,0.11045e-03_rb,0.10293e-03_rb, & & 0.88580e-04_rb,0.71113e-04_rb,0.48631e-04_rb,0.75452e-05_rb /) kao(:, 3,10, 3) = (/ & & 0.88111e-04_rb,0.11563e-03_rb,0.11792e-03_rb,0.11404e-03_rb,0.10587e-03_rb, & & 0.91877e-04_rb,0.73790e-04_rb,0.50044e-04_rb,0.84881e-05_rb /) kao(:, 4,10, 3) = (/ & & 0.88200e-04_rb,0.11743e-03_rb,0.12065e-03_rb,0.11708e-03_rb,0.10870e-03_rb, & & 0.94480e-04_rb,0.75897e-04_rb,0.51384e-04_rb,0.95136e-05_rb /) kao(:, 5,10, 3) = (/ & & 0.87583e-04_rb,0.11871e-03_rb,0.12292e-03_rb,0.11954e-03_rb,0.11103e-03_rb, & & 0.96523e-04_rb,0.77526e-04_rb,0.52518e-04_rb,0.10532e-04_rb /) kao(:, 1,11, 3) = (/ & & 0.70556e-04_rb,0.91428e-04_rb,0.91867e-04_rb,0.88463e-04_rb,0.82846e-04_rb, & & 0.70774e-04_rb,0.56632e-04_rb,0.39167e-04_rb,0.61872e-05_rb /) kao(:, 2,11, 3) = (/ & & 0.71933e-04_rb,0.94182e-04_rb,0.95269e-04_rb,0.91646e-04_rb,0.85383e-04_rb, & & 0.73738e-04_rb,0.59219e-04_rb,0.40474e-04_rb,0.69965e-05_rb /) kao(:, 3,11, 3) = (/ & & 0.72567e-04_rb,0.96098e-04_rb,0.97927e-04_rb,0.94606e-04_rb,0.87837e-04_rb, & & 0.76370e-04_rb,0.61326e-04_rb,0.41633e-04_rb,0.78235e-05_rb /) kao(:, 4,11, 3) = (/ & & 0.72529e-04_rb,0.97532e-04_rb,0.10011e-03_rb,0.97076e-04_rb,0.90134e-04_rb, & & 0.78428e-04_rb,0.63016e-04_rb,0.42754e-04_rb,0.87904e-05_rb /) kao(:, 5,11, 3) = (/ & & 0.71990e-04_rb,0.98552e-04_rb,0.10193e-03_rb,0.99080e-04_rb,0.92091e-04_rb, & & 0.80068e-04_rb,0.64349e-04_rb,0.43674e-04_rb,0.98011e-05_rb /) kao(:, 1,12, 3) = (/ & & 0.58072e-04_rb,0.75815e-04_rb,0.76168e-04_rb,0.73252e-04_rb,0.68521e-04_rb, & & 0.58748e-04_rb,0.47029e-04_rb,0.32430e-04_rb,0.51838e-05_rb /) kao(:, 2,12, 3) = (/ & & 0.59149e-04_rb,0.78005e-04_rb,0.78889e-04_rb,0.75853e-04_rb,0.70691e-04_rb, & & 0.61160e-04_rb,0.49105e-04_rb,0.33572e-04_rb,0.58669e-05_rb /) kao(:, 3,12, 3) = (/ & & 0.59615e-04_rb,0.79572e-04_rb,0.81043e-04_rb,0.78301e-04_rb,0.72716e-04_rb, & & 0.63265e-04_rb,0.50777e-04_rb,0.34506e-04_rb,0.66464e-05_rb /) kao(:, 4,12, 3) = (/ & & 0.59506e-04_rb,0.80712e-04_rb,0.82811e-04_rb,0.80321e-04_rb,0.74571e-04_rb, & & 0.64935e-04_rb,0.52165e-04_rb,0.35447e-04_rb,0.74412e-05_rb /) kao(:, 5,12, 3) = (/ & & 0.59067e-04_rb,0.81520e-04_rb,0.84288e-04_rb,0.81977e-04_rb,0.76172e-04_rb, & & 0.66259e-04_rb,0.53281e-04_rb,0.36178e-04_rb,0.82465e-05_rb /) kao(:, 1,13, 3) = (/ & & 0.47640e-04_rb,0.62583e-04_rb,0.62887e-04_rb,0.60485e-04_rb,0.56559e-04_rb, & & 0.48624e-04_rb,0.38904e-04_rb,0.26773e-04_rb,0.40582e-05_rb /) kao(:, 2,13, 3) = (/ & & 0.48498e-04_rb,0.64379e-04_rb,0.65087e-04_rb,0.62641e-04_rb,0.58377e-04_rb, & & 0.50572e-04_rb,0.40566e-04_rb,0.27717e-04_rb,0.46616e-05_rb /) kao(:, 3,13, 3) = (/ & & 0.48844e-04_rb,0.65656e-04_rb,0.66851e-04_rb,0.64628e-04_rb,0.60042e-04_rb, & & 0.52254e-04_rb,0.41917e-04_rb,0.28510e-04_rb,0.53204e-05_rb /) kao(:, 4,13, 3) = (/ & & 0.48722e-04_rb,0.66574e-04_rb,0.68303e-04_rb,0.66300e-04_rb,0.61547e-04_rb, & & 0.53614e-04_rb,0.43058e-04_rb,0.29254e-04_rb,0.59442e-05_rb /) kao(:, 5,13, 3) = (/ & & 0.48355e-04_rb,0.67217e-04_rb,0.69511e-04_rb,0.67651e-04_rb,0.62864e-04_rb, & & 0.54712e-04_rb,0.43998e-04_rb,0.29875e-04_rb,0.66436e-05_rb /) kao(:, 1, 1, 4) = (/ & & 0.85387e-03_rb,0.97268e-03_rb,0.95201e-03_rb,0.89226e-03_rb,0.81465e-03_rb, & & 0.69707e-03_rb,0.54829e-03_rb,0.35882e-03_rb,0.37920e-04_rb /) kao(:, 2, 1, 4) = (/ & & 0.85496e-03_rb,0.98746e-03_rb,0.97188e-03_rb,0.91775e-03_rb,0.83529e-03_rb, & & 0.71649e-03_rb,0.56376e-03_rb,0.37061e-03_rb,0.43155e-04_rb /) kao(:, 3, 1, 4) = (/ & & 0.85154e-03_rb,0.99908e-03_rb,0.98969e-03_rb,0.94014e-03_rb,0.85604e-03_rb, & & 0.73379e-03_rb,0.57832e-03_rb,0.38183e-03_rb,0.48702e-04_rb /) kao(:, 4, 1, 4) = (/ & & 0.84606e-03_rb,0.10090e-02_rb,0.10068e-02_rb,0.95944e-03_rb,0.87434e-03_rb, & & 0.74975e-03_rb,0.59243e-03_rb,0.39188e-03_rb,0.54022e-04_rb /) kao(:, 5, 1, 4) = (/ & & 0.84061e-03_rb,0.10171e-02_rb,0.10218e-02_rb,0.97684e-03_rb,0.88906e-03_rb, & & 0.76345e-03_rb,0.60471e-03_rb,0.40180e-03_rb,0.59778e-04_rb /) kao(:, 1, 2, 4) = (/ & & 0.76106e-03_rb,0.86763e-03_rb,0.84620e-03_rb,0.79337e-03_rb,0.72368e-03_rb, & & 0.62633e-03_rb,0.49168e-03_rb,0.32346e-03_rb,0.31322e-04_rb /) kao(:, 2, 2, 4) = (/ & & 0.76153e-03_rb,0.88148e-03_rb,0.86349e-03_rb,0.81559e-03_rb,0.74480e-03_rb, & & 0.64448e-03_rb,0.50635e-03_rb,0.33430e-03_rb,0.35566e-04_rb /) kao(:, 3, 2, 4) = (/ & & 0.75977e-03_rb,0.89195e-03_rb,0.87871e-03_rb,0.83605e-03_rb,0.76286e-03_rb, & & 0.66127e-03_rb,0.51959e-03_rb,0.34472e-03_rb,0.39705e-04_rb /) kao(:, 4, 2, 4) = (/ & & 0.75771e-03_rb,0.89987e-03_rb,0.89406e-03_rb,0.85530e-03_rb,0.78123e-03_rb, & & 0.67612e-03_rb,0.53221e-03_rb,0.35447e-03_rb,0.44266e-04_rb /) kao(:, 5, 2, 4) = (/ & & 0.75289e-03_rb,0.90657e-03_rb,0.90771e-03_rb,0.87200e-03_rb,0.79715e-03_rb, & & 0.68926e-03_rb,0.54382e-03_rb,0.36372e-03_rb,0.48708e-04_rb /) kao(:, 1, 3, 4) = (/ & & 0.66893e-03_rb,0.76246e-03_rb,0.74334e-03_rb,0.69752e-03_rb,0.63501e-03_rb, & & 0.55362e-03_rb,0.43455e-03_rb,0.28843e-03_rb,0.24260e-04_rb /) kao(:, 2, 3, 4) = (/ & & 0.67118e-03_rb,0.77588e-03_rb,0.75944e-03_rb,0.71710e-03_rb,0.65461e-03_rb, & & 0.57122e-03_rb,0.44991e-03_rb,0.29906e-03_rb,0.27434e-04_rb /) kao(:, 3, 3, 4) = (/ & & 0.67218e-03_rb,0.78505e-03_rb,0.77328e-03_rb,0.73497e-03_rb,0.67286e-03_rb, & & 0.58718e-03_rb,0.46375e-03_rb,0.30933e-03_rb,0.30808e-04_rb /) kao(:, 4, 3, 4) = (/ & & 0.67058e-03_rb,0.79242e-03_rb,0.78627e-03_rb,0.75181e-03_rb,0.68946e-03_rb, & & 0.60183e-03_rb,0.47532e-03_rb,0.31743e-03_rb,0.34324e-04_rb /) kao(:, 5, 3, 4) = (/ & & 0.66467e-03_rb,0.79822e-03_rb,0.79776e-03_rb,0.76779e-03_rb,0.70481e-03_rb, & & 0.61510e-03_rb,0.48553e-03_rb,0.32526e-03_rb,0.37905e-04_rb /) kao(:, 1, 4, 4) = (/ & & 0.58297e-03_rb,0.66020e-03_rb,0.64337e-03_rb,0.60610e-03_rb,0.55222e-03_rb, & & 0.48338e-03_rb,0.38154e-03_rb,0.25537e-03_rb,0.20054e-04_rb /) kao(:, 2, 4, 4) = (/ & & 0.58616e-03_rb,0.67311e-03_rb,0.65764e-03_rb,0.62362e-03_rb,0.56996e-03_rb, & & 0.49939e-03_rb,0.39657e-03_rb,0.26418e-03_rb,0.22457e-04_rb /) kao(:, 3, 4, 4) = (/ & & 0.58719e-03_rb,0.68291e-03_rb,0.67014e-03_rb,0.63926e-03_rb,0.58703e-03_rb, & & 0.51453e-03_rb,0.40976e-03_rb,0.27280e-03_rb,0.24974e-04_rb /) kao(:, 4, 4, 4) = (/ & & 0.58451e-03_rb,0.68925e-03_rb,0.68144e-03_rb,0.65410e-03_rb,0.60312e-03_rb, & & 0.52903e-03_rb,0.42147e-03_rb,0.28096e-03_rb,0.27613e-04_rb /) kao(:, 5, 4, 4) = (/ & & 0.57885e-03_rb,0.69369e-03_rb,0.69153e-03_rb,0.66725e-03_rb,0.61666e-03_rb, & & 0.54114e-03_rb,0.43123e-03_rb,0.28907e-03_rb,0.30243e-04_rb /) kao(:, 1, 5, 4) = (/ & & 0.50639e-03_rb,0.56897e-03_rb,0.55412e-03_rb,0.52127e-03_rb,0.47341e-03_rb, & & 0.41669e-03_rb,0.33293e-03_rb,0.22215e-03_rb,0.17057e-04_rb /) kao(:, 2, 5, 4) = (/ & & 0.51065e-03_rb,0.58111e-03_rb,0.56740e-03_rb,0.53642e-03_rb,0.48970e-03_rb, & & 0.43166e-03_rb,0.34671e-03_rb,0.23111e-03_rb,0.19191e-04_rb /) kao(:, 3, 5, 4) = (/ & & 0.51131e-03_rb,0.58923e-03_rb,0.57802e-03_rb,0.54989e-03_rb,0.50519e-03_rb, & & 0.44520e-03_rb,0.35867e-03_rb,0.23955e-03_rb,0.21238e-04_rb /) kao(:, 4, 5, 4) = (/ & & 0.50888e-03_rb,0.59432e-03_rb,0.58700e-03_rb,0.56238e-03_rb,0.51899e-03_rb, & & 0.45787e-03_rb,0.36960e-03_rb,0.24733e-03_rb,0.23442e-04_rb /) kao(:, 5, 5, 4) = (/ & & 0.50411e-03_rb,0.59804e-03_rb,0.59497e-03_rb,0.57342e-03_rb,0.53158e-03_rb, & & 0.46924e-03_rb,0.37886e-03_rb,0.25450e-03_rb,0.25756e-04_rb /) kao(:, 1, 6, 4) = (/ & & 0.43673e-03_rb,0.48782e-03_rb,0.47499e-03_rb,0.44629e-03_rb,0.40354e-03_rb, & & 0.35457e-03_rb,0.28605e-03_rb,0.19086e-03_rb,0.14702e-04_rb /) kao(:, 2, 6, 4) = (/ & & 0.44102e-03_rb,0.49831e-03_rb,0.48639e-03_rb,0.45943e-03_rb,0.41879e-03_rb, & & 0.36808e-03_rb,0.29802e-03_rb,0.19985e-03_rb,0.16471e-04_rb /) kao(:, 3, 6, 4) = (/ & & 0.44221e-03_rb,0.50518e-03_rb,0.49538e-03_rb,0.47075e-03_rb,0.43183e-03_rb, & & 0.37995e-03_rb,0.30882e-03_rb,0.20763e-03_rb,0.18420e-04_rb /) kao(:, 4, 6, 4) = (/ & & 0.44017e-03_rb,0.50994e-03_rb,0.50323e-03_rb,0.48141e-03_rb,0.44360e-03_rb, & & 0.39116e-03_rb,0.31844e-03_rb,0.21460e-03_rb,0.20473e-04_rb /) kao(:, 5, 6, 4) = (/ & & 0.43656e-03_rb,0.51249e-03_rb,0.51000e-03_rb,0.49068e-03_rb,0.45425e-03_rb, & & 0.40107e-03_rb,0.32653e-03_rb,0.22109e-03_rb,0.22600e-04_rb /) kao(:, 1, 7, 4) = (/ & & 0.37627e-03_rb,0.41525e-03_rb,0.40365e-03_rb,0.37923e-03_rb,0.34257e-03_rb, & & 0.30147e-03_rb,0.24324e-03_rb,0.16094e-03_rb,0.13400e-04_rb /) kao(:, 2, 7, 4) = (/ & & 0.38051e-03_rb,0.42489e-03_rb,0.41400e-03_rb,0.39067e-03_rb,0.35555e-03_rb, & & 0.31257e-03_rb,0.25353e-03_rb,0.16947e-03_rb,0.14905e-04_rb /) kao(:, 3, 7, 4) = (/ & & 0.38196e-03_rb,0.43154e-03_rb,0.42169e-03_rb,0.40035e-03_rb,0.36703e-03_rb, & & 0.32311e-03_rb,0.26291e-03_rb,0.17672e-03_rb,0.16566e-04_rb /) kao(:, 4, 7, 4) = (/ & & 0.38108e-03_rb,0.43587e-03_rb,0.42809e-03_rb,0.40890e-03_rb,0.37694e-03_rb, & & 0.33246e-03_rb,0.27094e-03_rb,0.18305e-03_rb,0.18352e-04_rb /) kao(:, 5, 7, 4) = (/ & & 0.37854e-03_rb,0.43889e-03_rb,0.43402e-03_rb,0.41697e-03_rb,0.38532e-03_rb, & & 0.34074e-03_rb,0.27816e-03_rb,0.18873e-03_rb,0.20220e-04_rb /) kao(:, 1, 8, 4) = (/ & & 0.31968e-03_rb,0.35301e-03_rb,0.34310e-03_rb,0.32206e-03_rb,0.28904e-03_rb, & & 0.25356e-03_rb,0.20523e-03_rb,0.13432e-03_rb,0.13548e-04_rb /) kao(:, 2, 8, 4) = (/ & & 0.32386e-03_rb,0.36229e-03_rb,0.35288e-03_rb,0.33214e-03_rb,0.30033e-03_rb, & & 0.26345e-03_rb,0.21374e-03_rb,0.14198e-03_rb,0.14966e-04_rb /) kao(:, 3, 8, 4) = (/ & & 0.32521e-03_rb,0.36848e-03_rb,0.35986e-03_rb,0.34056e-03_rb,0.31042e-03_rb, & & 0.27222e-03_rb,0.22115e-03_rb,0.14841e-03_rb,0.16278e-04_rb /) kao(:, 4, 8, 4) = (/ & & 0.32527e-03_rb,0.37258e-03_rb,0.36553e-03_rb,0.34811e-03_rb,0.31916e-03_rb, & & 0.28034e-03_rb,0.22837e-03_rb,0.15443e-03_rb,0.17614e-04_rb /) kao(:, 5, 8, 4) = (/ & & 0.32272e-03_rb,0.37533e-03_rb,0.37025e-03_rb,0.35438e-03_rb,0.32632e-03_rb, & & 0.28740e-03_rb,0.23484e-03_rb,0.15952e-03_rb,0.19075e-04_rb /) kao(:, 1, 9, 4) = (/ & & 0.26794e-03_rb,0.29655e-03_rb,0.28851e-03_rb,0.27155e-03_rb,0.24290e-03_rb, & & 0.21182e-03_rb,0.17187e-03_rb,0.11158e-03_rb,0.16893e-04_rb /) kao(:, 2, 9, 4) = (/ & & 0.27215e-03_rb,0.30477e-03_rb,0.29765e-03_rb,0.28075e-03_rb,0.25336e-03_rb, & & 0.22120e-03_rb,0.17858e-03_rb,0.11794e-03_rb,0.18576e-04_rb /) kao(:, 3, 9, 4) = (/ & & 0.27400e-03_rb,0.31061e-03_rb,0.30447e-03_rb,0.28836e-03_rb,0.26224e-03_rb, & & 0.22886e-03_rb,0.18474e-03_rb,0.12372e-03_rb,0.20056e-04_rb /) kao(:, 4, 9, 4) = (/ & & 0.27385e-03_rb,0.31424e-03_rb,0.30923e-03_rb,0.29477e-03_rb,0.26977e-03_rb, & & 0.23554e-03_rb,0.19093e-03_rb,0.12884e-03_rb,0.21321e-04_rb /) kao(:, 5, 9, 4) = (/ & & 0.27196e-03_rb,0.31647e-03_rb,0.31308e-03_rb,0.30006e-03_rb,0.27604e-03_rb, & & 0.24191e-03_rb,0.19649e-03_rb,0.13352e-03_rb,0.22611e-04_rb /) kao(:, 1,10, 4) = (/ & & 0.22255e-03_rb,0.24716e-03_rb,0.24087e-03_rb,0.22672e-03_rb,0.20216e-03_rb, & & 0.17582e-03_rb,0.14339e-03_rb,0.92528e-04_rb,0.22471e-04_rb /) kao(:, 2,10, 4) = (/ & & 0.22663e-03_rb,0.25429e-03_rb,0.24908e-03_rb,0.23506e-03_rb,0.21167e-03_rb, & & 0.18377e-03_rb,0.14910e-03_rb,0.97972e-04_rb,0.24536e-04_rb /) kao(:, 3,10, 4) = (/ & & 0.22867e-03_rb,0.25963e-03_rb,0.25532e-03_rb,0.24169e-03_rb,0.21923e-03_rb, & & 0.19067e-03_rb,0.15458e-03_rb,0.10293e-03_rb,0.26453e-04_rb /) kao(:, 4,10, 4) = (/ & & 0.22853e-03_rb,0.26273e-03_rb,0.25960e-03_rb,0.24704e-03_rb,0.22549e-03_rb, & & 0.19679e-03_rb,0.15968e-03_rb,0.10728e-03_rb,0.28383e-04_rb /) kao(:, 5,10, 4) = (/ & & 0.22704e-03_rb,0.26469e-03_rb,0.26259e-03_rb,0.25141e-03_rb,0.23080e-03_rb, & & 0.20216e-03_rb,0.16433e-03_rb,0.11116e-03_rb,0.30111e-04_rb /) kao(:, 1,11, 4) = (/ & & 0.18570e-03_rb,0.20791e-03_rb,0.20310e-03_rb,0.19106e-03_rb,0.17066e-03_rb, & & 0.14797e-03_rb,0.12097e-03_rb,0.78704e-04_rb,0.20720e-04_rb /) kao(:, 2,11, 4) = (/ & & 0.18868e-03_rb,0.21356e-03_rb,0.20969e-03_rb,0.19807e-03_rb,0.17821e-03_rb, & & 0.15434e-03_rb,0.12584e-03_rb,0.83179e-04_rb,0.23268e-04_rb /) kao(:, 3,11, 4) = (/ & & 0.18972e-03_rb,0.21732e-03_rb,0.21447e-03_rb,0.20305e-03_rb,0.18416e-03_rb, & & 0.15993e-03_rb,0.13006e-03_rb,0.87134e-04_rb,0.25781e-04_rb /) kao(:, 4,11, 4) = (/ & & 0.18929e-03_rb,0.21955e-03_rb,0.21771e-03_rb,0.20711e-03_rb,0.18907e-03_rb, & & 0.16493e-03_rb,0.13420e-03_rb,0.90699e-04_rb,0.28181e-04_rb /) kao(:, 5,11, 4) = (/ & & 0.18766e-03_rb,0.22095e-03_rb,0.21987e-03_rb,0.21045e-03_rb,0.19312e-03_rb, & & 0.16934e-03_rb,0.13812e-03_rb,0.93840e-04_rb,0.30489e-04_rb /) kao(:, 1,12, 4) = (/ & & 0.15409e-03_rb,0.17399e-03_rb,0.17010e-03_rb,0.16002e-03_rb,0.14311e-03_rb, & & 0.12376e-03_rb,0.10121e-03_rb,0.66428e-04_rb,0.17813e-04_rb /) kao(:, 2,12, 4) = (/ & & 0.15599e-03_rb,0.17831e-03_rb,0.17521e-03_rb,0.16554e-03_rb,0.14890e-03_rb, & & 0.12881e-03_rb,0.10527e-03_rb,0.69964e-04_rb,0.19918e-04_rb /) kao(:, 3,12, 4) = (/ & & 0.15661e-03_rb,0.18119e-03_rb,0.17892e-03_rb,0.16934e-03_rb,0.15365e-03_rb, & & 0.13338e-03_rb,0.10864e-03_rb,0.73142e-04_rb,0.22121e-04_rb /) kao(:, 4,12, 4) = (/ & & 0.15608e-03_rb,0.18293e-03_rb,0.18145e-03_rb,0.17254e-03_rb,0.15743e-03_rb, & & 0.13747e-03_rb,0.11209e-03_rb,0.75971e-04_rb,0.24425e-04_rb /) kao(:, 5,12, 4) = (/ & & 0.15453e-03_rb,0.18383e-03_rb,0.18309e-03_rb,0.17510e-03_rb,0.16067e-03_rb, & & 0.14102e-03_rb,0.11529e-03_rb,0.78607e-04_rb,0.26791e-04_rb /) kao(:, 1,13, 4) = (/ & & 0.12705e-03_rb,0.14485e-03_rb,0.14155e-03_rb,0.13312e-03_rb,0.11914e-03_rb, & & 0.10299e-03_rb,0.84416e-04_rb,0.55598e-04_rb,0.14429e-04_rb /) kao(:, 2,13, 4) = (/ & & 0.12843e-03_rb,0.14822e-03_rb,0.14555e-03_rb,0.13748e-03_rb,0.12377e-03_rb, & & 0.10702e-03_rb,0.87520e-04_rb,0.58405e-04_rb,0.16147e-04_rb /) kao(:, 3,13, 4) = (/ & & 0.12875e-03_rb,0.15043e-03_rb,0.14850e-03_rb,0.14053e-03_rb,0.12752e-03_rb, & & 0.11081e-03_rb,0.90348e-04_rb,0.60934e-04_rb,0.17992e-04_rb /) kao(:, 4,13, 4) = (/ & & 0.12822e-03_rb,0.15175e-03_rb,0.15049e-03_rb,0.14301e-03_rb,0.13059e-03_rb, & & 0.11413e-03_rb,0.93171e-04_rb,0.63296e-04_rb,0.19888e-04_rb /) kao(:, 5,13, 4) = (/ & & 0.12684e-03_rb,0.15239e-03_rb,0.15179e-03_rb,0.14511e-03_rb,0.13320e-03_rb, & & 0.11702e-03_rb,0.95786e-04_rb,0.65468e-04_rb,0.21706e-04_rb /) kao(:, 1, 1, 5) = (/ & & 0.16451e-02_rb,0.17375e-02_rb,0.16665e-02_rb,0.15396e-02_rb,0.13696e-02_rb, & & 0.11731e-02_rb,0.92753e-03_rb,0.61159e-03_rb,0.14680e-03_rb /) kao(:, 2, 1, 5) = (/ & & 0.16450e-02_rb,0.17591e-02_rb,0.16954e-02_rb,0.15711e-02_rb,0.14087e-02_rb, & & 0.12092e-02_rb,0.95859e-03_rb,0.63308e-03_rb,0.16131e-03_rb /) kao(:, 3, 1, 5) = (/ & & 0.16396e-02_rb,0.17762e-02_rb,0.17200e-02_rb,0.16012e-02_rb,0.14448e-02_rb, & & 0.12424e-02_rb,0.98862e-03_rb,0.65400e-03_rb,0.17365e-03_rb /) kao(:, 4, 1, 5) = (/ & & 0.16299e-02_rb,0.17875e-02_rb,0.17415e-02_rb,0.16313e-02_rb,0.14788e-02_rb, & & 0.12751e-02_rb,0.10161e-02_rb,0.67524e-03_rb,0.18499e-03_rb /) kao(:, 5, 1, 5) = (/ & & 0.16127e-02_rb,0.17946e-02_rb,0.17629e-02_rb,0.16594e-02_rb,0.15119e-02_rb, & & 0.13059e-02_rb,0.10419e-02_rb,0.69511e-03_rb,0.19999e-03_rb /) kao(:, 1, 2, 5) = (/ & & 0.15084e-02_rb,0.15931e-02_rb,0.15186e-02_rb,0.13958e-02_rb,0.12369e-02_rb, & & 0.10500e-02_rb,0.83688e-03_rb,0.55465e-03_rb,0.11914e-03_rb /) kao(:, 2, 2, 5) = (/ & & 0.15115e-02_rb,0.16146e-02_rb,0.15457e-02_rb,0.14241e-02_rb,0.12724e-02_rb, & & 0.10844e-02_rb,0.86669e-03_rb,0.57603e-03_rb,0.13037e-03_rb /) kao(:, 3, 2, 5) = (/ & & 0.15084e-02_rb,0.16309e-02_rb,0.15669e-02_rb,0.14522e-02_rb,0.13074e-02_rb, & & 0.11181e-02_rb,0.89787e-03_rb,0.59657e-03_rb,0.13918e-03_rb /) kao(:, 4, 2, 5) = (/ & & 0.14965e-02_rb,0.16419e-02_rb,0.15861e-02_rb,0.14781e-02_rb,0.13385e-02_rb, & & 0.11507e-02_rb,0.92569e-03_rb,0.61596e-03_rb,0.15053e-03_rb /) kao(:, 5, 2, 5) = (/ & & 0.14804e-02_rb,0.16493e-02_rb,0.16042e-02_rb,0.15021e-02_rb,0.13704e-02_rb, & & 0.11804e-02_rb,0.95044e-03_rb,0.63472e-03_rb,0.16410e-03_rb /) kao(:, 1, 3, 5) = (/ & & 0.13707e-02_rb,0.14436e-02_rb,0.13706e-02_rb,0.12561e-02_rb,0.11093e-02_rb, & & 0.93534e-03_rb,0.74505e-03_rb,0.49303e-03_rb,0.93388e-04_rb /) kao(:, 2, 3, 5) = (/ & & 0.13760e-02_rb,0.14666e-02_rb,0.13986e-02_rb,0.12850e-02_rb,0.11416e-02_rb, & & 0.96700e-03_rb,0.77192e-03_rb,0.51430e-03_rb,0.10062e-03_rb /) kao(:, 3, 3, 5) = (/ & & 0.13732e-02_rb,0.14839e-02_rb,0.14208e-02_rb,0.13112e-02_rb,0.11718e-02_rb, & & 0.99814e-03_rb,0.79899e-03_rb,0.53404e-03_rb,0.10964e-03_rb /) kao(:, 4, 3, 5) = (/ & & 0.13644e-02_rb,0.14939e-02_rb,0.14404e-02_rb,0.13346e-02_rb,0.12002e-02_rb, & & 0.10295e-02_rb,0.82532e-03_rb,0.55285e-03_rb,0.12023e-03_rb /) kao(:, 5, 3, 5) = (/ & & 0.13512e-02_rb,0.15024e-02_rb,0.14568e-02_rb,0.13559e-02_rb,0.12266e-02_rb, & & 0.10592e-02_rb,0.85085e-03_rb,0.57058e-03_rb,0.13064e-03_rb /) kao(:, 1, 4, 5) = (/ & & 0.12336e-02_rb,0.12968e-02_rb,0.12255e-02_rb,0.11189e-02_rb,0.98785e-03_rb, & & 0.83184e-03_rb,0.66033e-03_rb,0.43467e-03_rb,0.70047e-04_rb /) kao(:, 2, 4, 5) = (/ & & 0.12419e-02_rb,0.13192e-02_rb,0.12543e-02_rb,0.11482e-02_rb,0.10189e-02_rb, & & 0.86315e-03_rb,0.68559e-03_rb,0.45559e-03_rb,0.76629e-04_rb /) kao(:, 3, 4, 5) = (/ & & 0.12416e-02_rb,0.13349e-02_rb,0.12771e-02_rb,0.11745e-02_rb,0.10469e-02_rb, & & 0.89182e-03_rb,0.71110e-03_rb,0.47551e-03_rb,0.84761e-04_rb /) kao(:, 4, 4, 5) = (/ & & 0.12342e-02_rb,0.13470e-02_rb,0.12958e-02_rb,0.11964e-02_rb,0.10726e-02_rb, & & 0.91965e-03_rb,0.73487e-03_rb,0.49419e-03_rb,0.93979e-04_rb /) kao(:, 5, 4, 5) = (/ & & 0.12238e-02_rb,0.13566e-02_rb,0.13110e-02_rb,0.12168e-02_rb,0.10976e-02_rb, & & 0.94731e-03_rb,0.75866e-03_rb,0.51080e-03_rb,0.10249e-03_rb /) kao(:, 1, 5, 5) = (/ & & 0.10970e-02_rb,0.11491e-02_rb,0.10850e-02_rb,0.99037e-03_rb,0.87478e-03_rb, & & 0.73644e-03_rb,0.58168e-03_rb,0.38673e-03_rb,0.55328e-04_rb /) kao(:, 2, 5, 5) = (/ & & 0.11051e-02_rb,0.11716e-02_rb,0.11129e-02_rb,0.10196e-02_rb,0.90431e-03_rb, & & 0.76445e-03_rb,0.60553e-03_rb,0.40600e-03_rb,0.61413e-04_rb /) kao(:, 3, 5, 5) = (/ & & 0.11053e-02_rb,0.11877e-02_rb,0.11365e-02_rb,0.10446e-02_rb,0.92981e-03_rb, & & 0.79114e-03_rb,0.62919e-03_rb,0.42419e-03_rb,0.68340e-04_rb /) kao(:, 4, 5, 5) = (/ & & 0.11000e-02_rb,0.12008e-02_rb,0.11557e-02_rb,0.10648e-02_rb,0.95310e-03_rb, & & 0.81721e-03_rb,0.65273e-03_rb,0.44128e-03_rb,0.75425e-04_rb /) kao(:, 5, 5, 5) = (/ & & 0.10930e-02_rb,0.12101e-02_rb,0.11704e-02_rb,0.10855e-02_rb,0.97521e-03_rb, & & 0.84232e-03_rb,0.67516e-03_rb,0.45733e-03_rb,0.82112e-04_rb /) kao(:, 1, 6, 5) = (/ & & 0.96254e-03_rb,0.10041e-02_rb,0.94496e-03_rb,0.86305e-03_rb,0.76515e-03_rb, & & 0.64666e-03_rb,0.50949e-03_rb,0.34237e-03_rb,0.45743e-04_rb /) kao(:, 2, 6, 5) = (/ & & 0.97168e-03_rb,0.10257e-02_rb,0.97306e-03_rb,0.89241e-03_rb,0.79300e-03_rb, & & 0.67315e-03_rb,0.53212e-03_rb,0.35953e-03_rb,0.50936e-04_rb /) kao(:, 3, 6, 5) = (/ & & 0.97307e-03_rb,0.10417e-02_rb,0.99540e-03_rb,0.91663e-03_rb,0.81739e-03_rb, & & 0.69764e-03_rb,0.55388e-03_rb,0.37625e-03_rb,0.56704e-04_rb /) kao(:, 4, 6, 5) = (/ & & 0.97112e-03_rb,0.10538e-02_rb,0.10130e-02_rb,0.93600e-03_rb,0.83875e-03_rb, & & 0.72048e-03_rb,0.57540e-03_rb,0.39219e-03_rb,0.62214e-04_rb /) kao(:, 5, 6, 5) = (/ & & 0.96524e-03_rb,0.10634e-02_rb,0.10272e-02_rb,0.95339e-03_rb,0.85814e-03_rb, & & 0.74256e-03_rb,0.59649e-03_rb,0.40723e-03_rb,0.68154e-04_rb /) kao(:, 1, 7, 5) = (/ & & 0.83977e-03_rb,0.87150e-03_rb,0.81798e-03_rb,0.74510e-03_rb,0.66073e-03_rb, & & 0.55889e-03_rb,0.44038e-03_rb,0.30023e-03_rb,0.39438e-04_rb /) kao(:, 2, 7, 5) = (/ & & 0.84860e-03_rb,0.89183e-03_rb,0.84311e-03_rb,0.77202e-03_rb,0.68677e-03_rb, & & 0.58412e-03_rb,0.46261e-03_rb,0.31513e-03_rb,0.44026e-04_rb /) kao(:, 3, 7, 5) = (/ & & 0.85156e-03_rb,0.90640e-03_rb,0.86357e-03_rb,0.79472e-03_rb,0.70843e-03_rb, & & 0.60616e-03_rb,0.48333e-03_rb,0.32962e-03_rb,0.48169e-04_rb /) kao(:, 4, 7, 5) = (/ & & 0.84996e-03_rb,0.91804e-03_rb,0.88000e-03_rb,0.81332e-03_rb,0.72741e-03_rb, & & 0.62668e-03_rb,0.50295e-03_rb,0.34425e-03_rb,0.52632e-04_rb /) kao(:, 5, 7, 5) = (/ & & 0.84411e-03_rb,0.92502e-03_rb,0.89195e-03_rb,0.82771e-03_rb,0.74479e-03_rb, & & 0.64630e-03_rb,0.52177e-03_rb,0.35838e-03_rb,0.57490e-04_rb /) kao(:, 1, 8, 5) = (/ & & 0.72566e-03_rb,0.75029e-03_rb,0.70410e-03_rb,0.64085e-03_rb,0.56881e-03_rb, & & 0.48163e-03_rb,0.37585e-03_rb,0.26029e-03_rb,0.35173e-04_rb /) kao(:, 2, 8, 5) = (/ & & 0.73526e-03_rb,0.76878e-03_rb,0.72724e-03_rb,0.66569e-03_rb,0.59239e-03_rb, & & 0.50357e-03_rb,0.39670e-03_rb,0.27234e-03_rb,0.38442e-04_rb /) kao(:, 3, 8, 5) = (/ & & 0.73942e-03_rb,0.78240e-03_rb,0.74617e-03_rb,0.68580e-03_rb,0.61175e-03_rb, & & 0.52308e-03_rb,0.41633e-03_rb,0.28548e-03_rb,0.42620e-04_rb /) kao(:, 4, 8, 5) = (/ & & 0.73787e-03_rb,0.79331e-03_rb,0.76108e-03_rb,0.70193e-03_rb,0.62821e-03_rb, & & 0.54092e-03_rb,0.43381e-03_rb,0.29821e-03_rb,0.47013e-04_rb /) kao(:, 5, 8, 5) = (/ & & 0.73365e-03_rb,0.79895e-03_rb,0.77125e-03_rb,0.71463e-03_rb,0.64295e-03_rb, & & 0.55753e-03_rb,0.45033e-03_rb,0.31091e-03_rb,0.51519e-04_rb /) kao(:, 1, 9, 5) = (/ & & 0.62112e-03_rb,0.63900e-03_rb,0.60071e-03_rb,0.54641e-03_rb,0.48585e-03_rb, & & 0.41219e-03_rb,0.31988e-03_rb,0.22088e-03_rb,0.39225e-04_rb /) kao(:, 2, 9, 5) = (/ & & 0.63089e-03_rb,0.65678e-03_rb,0.62144e-03_rb,0.56855e-03_rb,0.50663e-03_rb, & & 0.43158e-03_rb,0.33912e-03_rb,0.23261e-03_rb,0.43145e-04_rb /) kao(:, 3, 9, 5) = (/ & & 0.63630e-03_rb,0.67023e-03_rb,0.63841e-03_rb,0.58635e-03_rb,0.52398e-03_rb, & & 0.44876e-03_rb,0.35619e-03_rb,0.24341e-03_rb,0.47182e-04_rb /) kao(:, 4, 9, 5) = (/ & & 0.63678e-03_rb,0.68001e-03_rb,0.65143e-03_rb,0.60045e-03_rb,0.53807e-03_rb, & & 0.46446e-03_rb,0.37160e-03_rb,0.25517e-03_rb,0.51310e-04_rb /) kao(:, 5, 9, 5) = (/ & & 0.63384e-03_rb,0.68558e-03_rb,0.66049e-03_rb,0.61133e-03_rb,0.55067e-03_rb, & & 0.47828e-03_rb,0.38622e-03_rb,0.26607e-03_rb,0.55652e-04_rb /) kao(:, 1,10, 5) = (/ & & 0.52818e-03_rb,0.54302e-03_rb,0.51109e-03_rb,0.46524e-03_rb,0.41303e-03_rb, & & 0.35089e-03_rb,0.27050e-03_rb,0.18719e-03_rb,0.51897e-04_rb /) kao(:, 2,10, 5) = (/ & & 0.53874e-03_rb,0.56000e-03_rb,0.52974e-03_rb,0.48429e-03_rb,0.43151e-03_rb, & & 0.36826e-03_rb,0.28749e-03_rb,0.19624e-03_rb,0.57480e-04_rb /) kao(:, 3,10, 5) = (/ & & 0.54407e-03_rb,0.57298e-03_rb,0.54499e-03_rb,0.50007e-03_rb,0.44685e-03_rb, & & 0.38282e-03_rb,0.30218e-03_rb,0.20623e-03_rb,0.63250e-04_rb /) kao(:, 4,10, 5) = (/ & & 0.54510e-03_rb,0.58221e-03_rb,0.55605e-03_rb,0.51259e-03_rb,0.45923e-03_rb, & & 0.39550e-03_rb,0.31547e-03_rb,0.21632e-03_rb,0.68339e-04_rb /) kao(:, 5,10, 5) = (/ & & 0.54335e-03_rb,0.58744e-03_rb,0.56412e-03_rb,0.52185e-03_rb,0.47008e-03_rb, & & 0.40728e-03_rb,0.32798e-03_rb,0.22618e-03_rb,0.72964e-04_rb /) kao(:, 1,11, 5) = (/ & & 0.44901e-03_rb,0.46427e-03_rb,0.43915e-03_rb,0.40187e-03_rb,0.35719e-03_rb, & & 0.30380e-03_rb,0.23427e-03_rb,0.15956e-03_rb,0.52228e-04_rb /) kao(:, 2,11, 5) = (/ & & 0.45685e-03_rb,0.47845e-03_rb,0.45475e-03_rb,0.41772e-03_rb,0.37275e-03_rb, & & 0.31798e-03_rb,0.24772e-03_rb,0.16817e-03_rb,0.56979e-04_rb /) kao(:, 3,11, 5) = (/ & & 0.46005e-03_rb,0.48879e-03_rb,0.46665e-03_rb,0.43038e-03_rb,0.38526e-03_rb, & & 0.32982e-03_rb,0.25983e-03_rb,0.17707e-03_rb,0.61788e-04_rb /) kao(:, 4,11, 5) = (/ & & 0.46029e-03_rb,0.49540e-03_rb,0.47547e-03_rb,0.44015e-03_rb,0.39539e-03_rb, & & 0.34025e-03_rb,0.27087e-03_rb,0.18596e-03_rb,0.66537e-04_rb /) kao(:, 5,11, 5) = (/ & & 0.45760e-03_rb,0.49879e-03_rb,0.48175e-03_rb,0.44812e-03_rb,0.40429e-03_rb, & & 0.34971e-03_rb,0.28105e-03_rb,0.19422e-03_rb,0.70982e-04_rb /) kao(:, 1,12, 5) = (/ & & 0.37789e-03_rb,0.39359e-03_rb,0.37439e-03_rb,0.34335e-03_rb,0.30516e-03_rb, & & 0.25987e-03_rb,0.20136e-03_rb,0.13616e-03_rb,0.47471e-04_rb /) kao(:, 2,12, 5) = (/ & & 0.38345e-03_rb,0.40460e-03_rb,0.38678e-03_rb,0.35616e-03_rb,0.31793e-03_rb, & & 0.27155e-03_rb,0.21219e-03_rb,0.14366e-03_rb,0.51576e-04_rb /) kao(:, 3,12, 5) = (/ & & 0.38556e-03_rb,0.41241e-03_rb,0.39583e-03_rb,0.36622e-03_rb,0.32808e-03_rb, & & 0.28132e-03_rb,0.22259e-03_rb,0.15133e-03_rb,0.55529e-04_rb /) kao(:, 4,12, 5) = (/ & & 0.38464e-03_rb,0.41687e-03_rb,0.40247e-03_rb,0.37394e-03_rb,0.33650e-03_rb, & & 0.28994e-03_rb,0.23157e-03_rb,0.15870e-03_rb,0.59557e-04_rb /) kao(:, 5,12, 5) = (/ & & 0.38119e-03_rb,0.41880e-03_rb,0.40725e-03_rb,0.38009e-03_rb,0.34354e-03_rb, & & 0.29781e-03_rb,0.23974e-03_rb,0.16572e-03_rb,0.63195e-04_rb /) kao(:, 1,13, 5) = (/ & & 0.31518e-03_rb,0.33080e-03_rb,0.31644e-03_rb,0.29051e-03_rb,0.25824e-03_rb, & & 0.21997e-03_rb,0.17074e-03_rb,0.11585e-03_rb,0.39419e-04_rb /) kao(:, 2,13, 5) = (/ & & 0.31945e-03_rb,0.33947e-03_rb,0.32620e-03_rb,0.30064e-03_rb,0.26839e-03_rb, & & 0.22968e-03_rb,0.17999e-03_rb,0.12241e-03_rb,0.42717e-04_rb /) kao(:, 3,13, 5) = (/ & & 0.32042e-03_rb,0.34518e-03_rb,0.33311e-03_rb,0.30844e-03_rb,0.27653e-03_rb, & & 0.23733e-03_rb,0.18840e-03_rb,0.12892e-03_rb,0.45799e-04_rb /) kao(:, 4,13, 5) = (/ & & 0.31877e-03_rb,0.34829e-03_rb,0.33813e-03_rb,0.31466e-03_rb,0.28316e-03_rb, & & 0.24429e-03_rb,0.19577e-03_rb,0.13500e-03_rb,0.49095e-04_rb /) kao(:, 5,13, 5) = (/ & & 0.31533e-03_rb,0.34943e-03_rb,0.34164e-03_rb,0.31953e-03_rb,0.28883e-03_rb, & & 0.25064e-03_rb,0.20247e-03_rb,0.14079e-03_rb,0.52225e-04_rb /) kao(:, 1, 1, 6) = (/ & & 0.30073e-02_rb,0.30215e-02_rb,0.28549e-02_rb,0.26145e-02_rb,0.23223e-02_rb, & & 0.19698e-02_rb,0.15631e-02_rb,0.10671e-02_rb,0.34349e-03_rb /) kao(:, 2, 1, 6) = (/ & & 0.30045e-02_rb,0.30464e-02_rb,0.29000e-02_rb,0.26682e-02_rb,0.23795e-02_rb, & & 0.20320e-02_rb,0.16241e-02_rb,0.11180e-02_rb,0.37241e-03_rb /) kao(:, 3, 1, 6) = (/ & & 0.29924e-02_rb,0.30694e-02_rb,0.29376e-02_rb,0.27170e-02_rb,0.24327e-02_rb, & & 0.20955e-02_rb,0.16828e-02_rb,0.11692e-02_rb,0.41183e-03_rb /) kao(:, 4, 1, 6) = (/ & & 0.29732e-02_rb,0.30875e-02_rb,0.29723e-02_rb,0.27617e-02_rb,0.24862e-02_rb, & & 0.21555e-02_rb,0.17426e-02_rb,0.12186e-02_rb,0.45672e-03_rb /) kao(:, 5, 1, 6) = (/ & & 0.29511e-02_rb,0.31004e-02_rb,0.30014e-02_rb,0.28043e-02_rb,0.25375e-02_rb, & & 0.22174e-02_rb,0.18018e-02_rb,0.12656e-02_rb,0.49848e-03_rb /) kao(:, 1, 2, 6) = (/ & & 0.28011e-02_rb,0.28061e-02_rb,0.26513e-02_rb,0.24171e-02_rb,0.21391e-02_rb, & & 0.18145e-02_rb,0.14290e-02_rb,0.97808e-03_rb,0.28283e-03_rb /) kao(:, 2, 2, 6) = (/ & & 0.28038e-02_rb,0.28333e-02_rb,0.26971e-02_rb,0.24708e-02_rb,0.21906e-02_rb, & & 0.18715e-02_rb,0.14859e-02_rb,0.10236e-02_rb,0.31088e-03_rb /) kao(:, 3, 2, 6) = (/ & & 0.27978e-02_rb,0.28587e-02_rb,0.27386e-02_rb,0.25159e-02_rb,0.22406e-02_rb, & & 0.19256e-02_rb,0.15398e-02_rb,0.10695e-02_rb,0.34605e-03_rb /) kao(:, 4, 2, 6) = (/ & & 0.27864e-02_rb,0.28782e-02_rb,0.27737e-02_rb,0.25561e-02_rb,0.22888e-02_rb, & & 0.19778e-02_rb,0.15963e-02_rb,0.11144e-02_rb,0.38043e-03_rb /) kao(:, 5, 2, 6) = (/ & & 0.27682e-02_rb,0.28941e-02_rb,0.28027e-02_rb,0.25952e-02_rb,0.23337e-02_rb, & & 0.20308e-02_rb,0.16518e-02_rb,0.11583e-02_rb,0.41249e-03_rb /) kao(:, 1, 3, 6) = (/ & & 0.26013e-02_rb,0.25925e-02_rb,0.24368e-02_rb,0.22059e-02_rb,0.19447e-02_rb, & & 0.16443e-02_rb,0.12895e-02_rb,0.88356e-03_rb,0.22980e-03_rb /) kao(:, 2, 3, 6) = (/ & & 0.26118e-02_rb,0.26228e-02_rb,0.24826e-02_rb,0.22596e-02_rb,0.19971e-02_rb, & & 0.16971e-02_rb,0.13425e-02_rb,0.92292e-03_rb,0.25666e-03_rb /) kao(:, 3, 3, 6) = (/ & & 0.26121e-02_rb,0.26511e-02_rb,0.25221e-02_rb,0.23045e-02_rb,0.20442e-02_rb, & & 0.17465e-02_rb,0.13937e-02_rb,0.96423e-03_rb,0.28307e-03_rb /) kao(:, 4, 3, 6) = (/ & & 0.26050e-02_rb,0.26757e-02_rb,0.25536e-02_rb,0.23446e-02_rb,0.20883e-02_rb, & & 0.17925e-02_rb,0.14453e-02_rb,0.10074e-02_rb,0.30818e-03_rb /) kao(:, 5, 3, 6) = (/ & & 0.25933e-02_rb,0.26944e-02_rb,0.25823e-02_rb,0.23794e-02_rb,0.21318e-02_rb, & & 0.18378e-02_rb,0.14965e-02_rb,0.10492e-02_rb,0.33812e-03_rb /) kao(:, 1, 4, 6) = (/ & & 0.24078e-02_rb,0.23894e-02_rb,0.22370e-02_rb,0.20125e-02_rb,0.17599e-02_rb, & & 0.14763e-02_rb,0.11554e-02_rb,0.78494e-03_rb,0.18813e-03_rb /) kao(:, 2, 4, 6) = (/ & & 0.24225e-02_rb,0.24253e-02_rb,0.22813e-02_rb,0.20638e-02_rb,0.18093e-02_rb, & & 0.15251e-02_rb,0.12031e-02_rb,0.82373e-03_rb,0.21030e-03_rb /) kao(:, 3, 4, 6) = (/ & & 0.24294e-02_rb,0.24564e-02_rb,0.23198e-02_rb,0.21085e-02_rb,0.18532e-02_rb, & & 0.15708e-02_rb,0.12482e-02_rb,0.86229e-03_rb,0.23129e-03_rb /) kao(:, 4, 4, 6) = (/ & & 0.24309e-02_rb,0.24808e-02_rb,0.23546e-02_rb,0.21467e-02_rb,0.18923e-02_rb, & & 0.16129e-02_rb,0.12944e-02_rb,0.90119e-03_rb,0.25224e-03_rb /) kao(:, 5, 4, 6) = (/ & & 0.24223e-02_rb,0.24983e-02_rb,0.23839e-02_rb,0.21783e-02_rb,0.19305e-02_rb, & & 0.16540e-02_rb,0.13401e-02_rb,0.94049e-03_rb,0.27779e-03_rb /) kao(:, 1, 5, 6) = (/ & & 0.22071e-02_rb,0.21851e-02_rb,0.20436e-02_rb,0.18357e-02_rb,0.15952e-02_rb, & & 0.13304e-02_rb,0.10307e-02_rb,0.69163e-03_rb,0.14983e-03_rb /) kao(:, 2, 5, 6) = (/ & & 0.22284e-02_rb,0.22243e-02_rb,0.20887e-02_rb,0.18839e-02_rb,0.16450e-02_rb, & & 0.13762e-02_rb,0.10736e-02_rb,0.72602e-03_rb,0.16732e-03_rb /) kao(:, 3, 5, 6) = (/ & & 0.22426e-02_rb,0.22593e-02_rb,0.21270e-02_rb,0.19281e-02_rb,0.16889e-02_rb, & & 0.14169e-02_rb,0.11148e-02_rb,0.76201e-03_rb,0.18420e-03_rb /) kao(:, 4, 5, 6) = (/ & & 0.22476e-02_rb,0.22863e-02_rb,0.21609e-02_rb,0.19676e-02_rb,0.17258e-02_rb, & & 0.14525e-02_rb,0.11537e-02_rb,0.79815e-03_rb,0.20325e-03_rb /) kao(:, 5, 5, 6) = (/ & & 0.22399e-02_rb,0.23048e-02_rb,0.21912e-02_rb,0.19974e-02_rb,0.17586e-02_rb, & & 0.14880e-02_rb,0.11934e-02_rb,0.83564e-03_rb,0.22470e-03_rb /) kao(:, 1, 6, 6) = (/ & & 0.20075e-02_rb,0.19795e-02_rb,0.18447e-02_rb,0.16541e-02_rb,0.14341e-02_rb, & & 0.11951e-02_rb,0.92238e-03_rb,0.60660e-03_rb,0.12381e-03_rb /) kao(:, 2, 6, 6) = (/ & & 0.20344e-02_rb,0.20227e-02_rb,0.18912e-02_rb,0.17028e-02_rb,0.14828e-02_rb, & & 0.12404e-02_rb,0.96234e-03_rb,0.63833e-03_rb,0.13822e-03_rb /) kao(:, 3, 6, 6) = (/ & & 0.20513e-02_rb,0.20598e-02_rb,0.19311e-02_rb,0.17466e-02_rb,0.15267e-02_rb, & & 0.12805e-02_rb,0.99815e-03_rb,0.66987e-03_rb,0.15138e-03_rb /) kao(:, 4, 6, 6) = (/ & & 0.20576e-02_rb,0.20878e-02_rb,0.19661e-02_rb,0.17857e-02_rb,0.15647e-02_rb, & & 0.13147e-02_rb,0.10319e-02_rb,0.70266e-03_rb,0.16753e-03_rb /) kao(:, 5, 6, 6) = (/ & & 0.20521e-02_rb,0.21067e-02_rb,0.19938e-02_rb,0.18157e-02_rb,0.15969e-02_rb, & & 0.13475e-02_rb,0.10644e-02_rb,0.73524e-03_rb,0.18430e-03_rb /) kao(:, 1, 7, 6) = (/ & & 0.17951e-02_rb,0.17708e-02_rb,0.16476e-02_rb,0.14764e-02_rb,0.12769e-02_rb, & & 0.10613e-02_rb,0.82141e-03_rb,0.53387e-03_rb,0.10356e-03_rb /) kao(:, 2, 7, 6) = (/ & & 0.18257e-02_rb,0.18161e-02_rb,0.16970e-02_rb,0.15264e-02_rb,0.13250e-02_rb, & & 0.11052e-02_rb,0.85771e-03_rb,0.56341e-03_rb,0.11419e-03_rb /) kao(:, 3, 7, 6) = (/ & & 0.18457e-02_rb,0.18541e-02_rb,0.17382e-02_rb,0.15700e-02_rb,0.13685e-02_rb, & & 0.11444e-02_rb,0.89062e-03_rb,0.59265e-03_rb,0.12737e-03_rb /) kao(:, 4, 7, 6) = (/ & & 0.18534e-02_rb,0.18833e-02_rb,0.17713e-02_rb,0.16066e-02_rb,0.14063e-02_rb, & & 0.11787e-02_rb,0.92220e-03_rb,0.62067e-03_rb,0.14148e-03_rb /) kao(:, 5, 7, 6) = (/ & & 0.18508e-02_rb,0.19025e-02_rb,0.17986e-02_rb,0.16377e-02_rb,0.14382e-02_rb, & & 0.12095e-02_rb,0.95313e-03_rb,0.64883e-03_rb,0.15624e-03_rb /) kao(:, 1, 8, 6) = (/ & & 0.15853e-02_rb,0.15606e-02_rb,0.14491e-02_rb,0.13005e-02_rb,0.11253e-02_rb, & & 0.93388e-03_rb,0.72631e-03_rb,0.46832e-03_rb,0.90402e-04_rb /) kao(:, 2, 8, 6) = (/ & & 0.16191e-02_rb,0.16074e-02_rb,0.14980e-02_rb,0.13497e-02_rb,0.11730e-02_rb, & & 0.97691e-03_rb,0.76027e-03_rb,0.49835e-03_rb,0.10124e-03_rb /) kao(:, 3, 8, 6) = (/ & & 0.16393e-02_rb,0.16464e-02_rb,0.15392e-02_rb,0.13927e-02_rb,0.12147e-02_rb, & & 0.10153e-02_rb,0.79129e-03_rb,0.52537e-03_rb,0.11276e-03_rb /) kao(:, 4, 8, 6) = (/ & & 0.16487e-02_rb,0.16729e-02_rb,0.15721e-02_rb,0.14286e-02_rb,0.12504e-02_rb, & & 0.10480e-02_rb,0.82072e-03_rb,0.55187e-03_rb,0.12515e-03_rb /) kao(:, 5, 8, 6) = (/ & & 0.16472e-02_rb,0.16924e-02_rb,0.15977e-02_rb,0.14588e-02_rb,0.12817e-02_rb, & & 0.10777e-02_rb,0.84873e-03_rb,0.57800e-03_rb,0.13784e-03_rb /) kao(:, 1, 9, 6) = (/ & & 0.13936e-02_rb,0.13674e-02_rb,0.12635e-02_rb,0.11331e-02_rb,0.97871e-03_rb, & & 0.81331e-03_rb,0.63480e-03_rb,0.40910e-03_rb,0.92222e-04_rb /) kao(:, 2, 9, 6) = (/ & & 0.14271e-02_rb,0.14126e-02_rb,0.13114e-02_rb,0.11804e-02_rb,0.10248e-02_rb, & & 0.85405e-03_rb,0.66828e-03_rb,0.43677e-03_rb,0.10207e-03_rb /) kao(:, 3, 9, 6) = (/ & & 0.14461e-02_rb,0.14478e-02_rb,0.13500e-02_rb,0.12219e-02_rb,0.10647e-02_rb, & & 0.89058e-03_rb,0.69816e-03_rb,0.46305e-03_rb,0.11262e-03_rb /) kao(:, 4, 9, 6) = (/ & & 0.14547e-02_rb,0.14726e-02_rb,0.13807e-02_rb,0.12557e-02_rb,0.10996e-02_rb, & & 0.92247e-03_rb,0.72520e-03_rb,0.48654e-03_rb,0.12376e-03_rb /) kao(:, 5, 9, 6) = (/ & & 0.14563e-02_rb,0.14902e-02_rb,0.14046e-02_rb,0.12841e-02_rb,0.11288e-02_rb, & & 0.95105e-03_rb,0.75065e-03_rb,0.51065e-03_rb,0.13556e-03_rb /) kao(:, 1,10, 6) = (/ & & 0.12161e-02_rb,0.11928e-02_rb,0.11004e-02_rb,0.98725e-03_rb,0.85318e-03_rb, & & 0.70775e-03_rb,0.55081e-03_rb,0.35481e-03_rb,0.12422e-03_rb /) kao(:, 2,10, 6) = (/ & & 0.12463e-02_rb,0.12352e-02_rb,0.11444e-02_rb,0.10316e-02_rb,0.89480e-03_rb, & & 0.74560e-03_rb,0.58282e-03_rb,0.38195e-03_rb,0.13273e-03_rb /) kao(:, 3,10, 6) = (/ & & 0.12646e-02_rb,0.12662e-02_rb,0.11796e-02_rb,0.10687e-02_rb,0.93096e-03_rb, & & 0.77883e-03_rb,0.61138e-03_rb,0.40526e-03_rb,0.14193e-03_rb /) kao(:, 4,10, 6) = (/ & & 0.12733e-02_rb,0.12880e-02_rb,0.12074e-02_rb,0.10979e-02_rb,0.96169e-03_rb, & & 0.80809e-03_rb,0.63689e-03_rb,0.42724e-03_rb,0.15291e-03_rb /) kao(:, 5,10, 6) = (/ & & 0.12740e-02_rb,0.13044e-02_rb,0.12293e-02_rb,0.11231e-02_rb,0.98752e-03_rb, & & 0.83380e-03_rb,0.66030e-03_rb,0.44847e-03_rb,0.16460e-03_rb /) kao(:, 1,11, 6) = (/ & & 0.10656e-02_rb,0.10497e-02_rb,0.96881e-03_rb,0.87108e-03_rb,0.75627e-03_rb, & & 0.62893e-03_rb,0.48955e-03_rb,0.31741e-03_rb,0.13016e-03_rb /) kao(:, 2,11, 6) = (/ & & 0.10879e-02_rb,0.10821e-02_rb,0.10046e-02_rb,0.90804e-03_rb,0.79130e-03_rb, & & 0.66235e-03_rb,0.51807e-03_rb,0.34003e-03_rb,0.13779e-03_rb /) kao(:, 3,11, 6) = (/ & & 0.11001e-02_rb,0.11057e-02_rb,0.10327e-02_rb,0.93770e-03_rb,0.82120e-03_rb, & & 0.69087e-03_rb,0.54346e-03_rb,0.36047e-03_rb,0.14411e-03_rb /) kao(:, 4,11, 6) = (/ & & 0.11047e-02_rb,0.11226e-02_rb,0.10548e-02_rb,0.96212e-03_rb,0.84667e-03_rb, & & 0.71575e-03_rb,0.56548e-03_rb,0.37954e-03_rb,0.15311e-03_rb /) kao(:, 5,11, 6) = (/ & & 0.11028e-02_rb,0.11345e-02_rb,0.10715e-02_rb,0.98143e-03_rb,0.86845e-03_rb, & & 0.73791e-03_rb,0.58600e-03_rb,0.39874e-03_rb,0.16257e-03_rb /) kao(:, 1,12, 6) = (/ & & 0.92541e-03_rb,0.91485e-03_rb,0.84575e-03_rb,0.76287e-03_rb,0.66530e-03_rb, & & 0.55435e-03_rb,0.43055e-03_rb,0.28106e-03_rb,0.11779e-03_rb /) kao(:, 2,12, 6) = (/ & & 0.94153e-03_rb,0.94015e-03_rb,0.87425e-03_rb,0.79221e-03_rb,0.69422e-03_rb, & & 0.58249e-03_rb,0.45555e-03_rb,0.30043e-03_rb,0.12541e-03_rb /) kao(:, 3,12, 6) = (/ & & 0.95043e-03_rb,0.95859e-03_rb,0.89645e-03_rb,0.81618e-03_rb,0.71892e-03_rb, & & 0.60660e-03_rb,0.47691e-03_rb,0.31810e-03_rb,0.13086e-03_rb /) kao(:, 4,12, 6) = (/ & & 0.95300e-03_rb,0.97180e-03_rb,0.91414e-03_rb,0.83540e-03_rb,0.73965e-03_rb, & & 0.62755e-03_rb,0.49627e-03_rb,0.33494e-03_rb,0.13792e-03_rb /) kao(:, 5,12, 6) = (/ & & 0.94924e-03_rb,0.98033e-03_rb,0.92629e-03_rb,0.85073e-03_rb,0.75722e-03_rb, & & 0.64562e-03_rb,0.51410e-03_rb,0.35114e-03_rb,0.14650e-03_rb /) kao(:, 1,13, 6) = (/ & & 0.79344e-03_rb,0.78971e-03_rb,0.73267e-03_rb,0.66405e-03_rb,0.58083e-03_rb, & & 0.48392e-03_rb,0.37549e-03_rb,0.24569e-03_rb,0.97034e-04_rb /) kao(:, 2,13, 6) = (/ & & 0.80574e-03_rb,0.81004e-03_rb,0.75547e-03_rb,0.68809e-03_rb,0.60484e-03_rb, & & 0.50707e-03_rb,0.39618e-03_rb,0.26227e-03_rb,0.10267e-03_rb /) kao(:, 3,13, 6) = (/ & & 0.81227e-03_rb,0.82486e-03_rb,0.77408e-03_rb,0.70758e-03_rb,0.62511e-03_rb, & & 0.52731e-03_rb,0.41439e-03_rb,0.27759e-03_rb,0.10742e-03_rb /) kao(:, 4,13, 6) = (/ & & 0.81298e-03_rb,0.83538e-03_rb,0.78743e-03_rb,0.72262e-03_rb,0.64193e-03_rb, & & 0.54449e-03_rb,0.43080e-03_rb,0.29211e-03_rb,0.11325e-03_rb /) kao(:, 5,13, 6) = (/ & & 0.80893e-03_rb,0.84184e-03_rb,0.79706e-03_rb,0.73516e-03_rb,0.65638e-03_rb, & & 0.55984e-03_rb,0.44607e-03_rb,0.30621e-03_rb,0.12059e-03_rb /) kao(:, 1, 1, 7) = (/ & & 0.54732e-02_rb,0.53034e-02_rb,0.49969e-02_rb,0.45431e-02_rb,0.40134e-02_rb, & & 0.34010e-02_rb,0.26972e-02_rb,0.18637e-02_rb,0.96692e-03_rb /) kao(:, 2, 1, 7) = (/ & & 0.54607e-02_rb,0.53367e-02_rb,0.50546e-02_rb,0.46321e-02_rb,0.41099e-02_rb, & & 0.34970e-02_rb,0.27999e-02_rb,0.19729e-02_rb,0.11063e-02_rb /) kao(:, 3, 1, 7) = (/ & & 0.54405e-02_rb,0.53637e-02_rb,0.51145e-02_rb,0.47117e-02_rb,0.41981e-02_rb, & & 0.35927e-02_rb,0.29070e-02_rb,0.20850e-02_rb,0.12360e-02_rb /) kao(:, 4, 1, 7) = (/ & & 0.54052e-02_rb,0.53858e-02_rb,0.51679e-02_rb,0.47829e-02_rb,0.42844e-02_rb, & & 0.36942e-02_rb,0.30161e-02_rb,0.22030e-02_rb,0.13785e-02_rb /) kao(:, 5, 1, 7) = (/ & & 0.53549e-02_rb,0.54029e-02_rb,0.52131e-02_rb,0.48529e-02_rb,0.43733e-02_rb, & & 0.37946e-02_rb,0.31262e-02_rb,0.23268e-02_rb,0.15336e-02_rb /) kao(:, 1, 2, 7) = (/ & & 0.52482e-02_rb,0.50940e-02_rb,0.47786e-02_rb,0.43454e-02_rb,0.38186e-02_rb, & & 0.32129e-02_rb,0.25325e-02_rb,0.17227e-02_rb,0.80430e-03_rb /) kao(:, 2, 2, 7) = (/ & & 0.52403e-02_rb,0.51313e-02_rb,0.48370e-02_rb,0.44315e-02_rb,0.39109e-02_rb, & & 0.33052e-02_rb,0.26254e-02_rb,0.18226e-02_rb,0.90614e-03_rb /) kao(:, 3, 2, 7) = (/ & & 0.52188e-02_rb,0.51614e-02_rb,0.48948e-02_rb,0.45073e-02_rb,0.39963e-02_rb, & & 0.33961e-02_rb,0.27198e-02_rb,0.19222e-02_rb,0.10146e-02_rb /) kao(:, 4, 2, 7) = (/ & & 0.51826e-02_rb,0.51837e-02_rb,0.49460e-02_rb,0.45770e-02_rb,0.40791e-02_rb, & & 0.34891e-02_rb,0.28146e-02_rb,0.20278e-02_rb,0.11325e-02_rb /) kao(:, 5, 2, 7) = (/ & & 0.51359e-02_rb,0.51960e-02_rb,0.49902e-02_rb,0.46430e-02_rb,0.41602e-02_rb, & & 0.35811e-02_rb,0.29127e-02_rb,0.21431e-02_rb,0.12633e-02_rb /) kao(:, 1, 3, 7) = (/ & & 0.49876e-02_rb,0.48388e-02_rb,0.45133e-02_rb,0.40992e-02_rb,0.35901e-02_rb, & & 0.30030e-02_rb,0.23527e-02_rb,0.15765e-02_rb,0.64714e-03_rb /) kao(:, 2, 3, 7) = (/ & & 0.49850e-02_rb,0.48808e-02_rb,0.45736e-02_rb,0.41821e-02_rb,0.36790e-02_rb, & & 0.30941e-02_rb,0.24388e-02_rb,0.16655e-02_rb,0.72927e-03_rb /) kao(:, 3, 3, 7) = (/ & & 0.49660e-02_rb,0.49117e-02_rb,0.46346e-02_rb,0.42593e-02_rb,0.37631e-02_rb, & & 0.31820e-02_rb,0.25243e-02_rb,0.17543e-02_rb,0.81771e-03_rb /) kao(:, 4, 3, 7) = (/ & & 0.49361e-02_rb,0.49307e-02_rb,0.46909e-02_rb,0.43285e-02_rb,0.38459e-02_rb, & & 0.32679e-02_rb,0.26083e-02_rb,0.18450e-02_rb,0.91578e-03_rb /) kao(:, 5, 3, 7) = (/ & & 0.48943e-02_rb,0.49413e-02_rb,0.47366e-02_rb,0.43959e-02_rb,0.39239e-02_rb, & & 0.33496e-02_rb,0.26941e-02_rb,0.19416e-02_rb,0.10197e-02_rb /) kao(:, 1, 4, 7) = (/ & & 0.46848e-02_rb,0.45423e-02_rb,0.42109e-02_rb,0.38147e-02_rb,0.33318e-02_rb, & & 0.27806e-02_rb,0.21628e-02_rb,0.14435e-02_rb,0.52019e-03_rb /) kao(:, 2, 4, 7) = (/ & & 0.46885e-02_rb,0.45846e-02_rb,0.42767e-02_rb,0.38967e-02_rb,0.34228e-02_rb, & & 0.28698e-02_rb,0.22469e-02_rb,0.15180e-02_rb,0.58537e-03_rb /) kao(:, 3, 4, 7) = (/ & & 0.46784e-02_rb,0.46158e-02_rb,0.43389e-02_rb,0.39718e-02_rb,0.35088e-02_rb, & & 0.29561e-02_rb,0.23285e-02_rb,0.15932e-02_rb,0.65783e-03_rb /) kao(:, 4, 4, 7) = (/ & & 0.46546e-02_rb,0.46379e-02_rb,0.43907e-02_rb,0.40421e-02_rb,0.35928e-02_rb, & & 0.30394e-02_rb,0.24053e-02_rb,0.16703e-02_rb,0.73788e-03_rb /) kao(:, 5, 4, 7) = (/ & & 0.46218e-02_rb,0.46560e-02_rb,0.44359e-02_rb,0.41109e-02_rb,0.36691e-02_rb, & & 0.31156e-02_rb,0.24821e-02_rb,0.17515e-02_rb,0.82261e-03_rb /) kao(:, 1, 5, 7) = (/ & & 0.43680e-02_rb,0.42271e-02_rb,0.38928e-02_rb,0.35080e-02_rb,0.30576e-02_rb, & & 0.25405e-02_rb,0.19725e-02_rb,0.13117e-02_rb,0.42455e-03_rb /) kao(:, 2, 5, 7) = (/ & & 0.43836e-02_rb,0.42742e-02_rb,0.39603e-02_rb,0.35901e-02_rb,0.31440e-02_rb, & & 0.26294e-02_rb,0.20540e-02_rb,0.13812e-02_rb,0.47676e-03_rb /) kao(:, 3, 5, 7) = (/ & & 0.43831e-02_rb,0.43074e-02_rb,0.40201e-02_rb,0.36636e-02_rb,0.32261e-02_rb, & & 0.27164e-02_rb,0.21330e-02_rb,0.14464e-02_rb,0.53568e-03_rb /) kao(:, 4, 5, 7) = (/ & & 0.43690e-02_rb,0.43343e-02_rb,0.40742e-02_rb,0.37289e-02_rb,0.33089e-02_rb, & & 0.28017e-02_rb,0.22054e-02_rb,0.15130e-02_rb,0.59880e-03_rb /) kao(:, 5, 5, 7) = (/ & & 0.43473e-02_rb,0.43575e-02_rb,0.41195e-02_rb,0.37951e-02_rb,0.33885e-02_rb, & & 0.28774e-02_rb,0.22767e-02_rb,0.15816e-02_rb,0.66710e-03_rb /) kao(:, 1, 6, 7) = (/ & & 0.40714e-02_rb,0.39122e-02_rb,0.35777e-02_rb,0.32091e-02_rb,0.27872e-02_rb, & & 0.22994e-02_rb,0.17735e-02_rb,0.11790e-02_rb,0.33561e-03_rb /) kao(:, 2, 6, 7) = (/ & & 0.40973e-02_rb,0.39625e-02_rb,0.36472e-02_rb,0.32877e-02_rb,0.28694e-02_rb, & & 0.23826e-02_rb,0.18515e-02_rb,0.12426e-02_rb,0.37756e-03_rb /) kao(:, 3, 6, 7) = (/ & & 0.41108e-02_rb,0.40033e-02_rb,0.37116e-02_rb,0.33595e-02_rb,0.29464e-02_rb, & & 0.24646e-02_rb,0.19290e-02_rb,0.13037e-02_rb,0.42584e-03_rb /) kao(:, 4, 6, 7) = (/ & & 0.41078e-02_rb,0.40382e-02_rb,0.37677e-02_rb,0.34232e-02_rb,0.30216e-02_rb, & & 0.25463e-02_rb,0.20016e-02_rb,0.13624e-02_rb,0.47733e-03_rb /) kao(:, 5, 6, 7) = (/ & & 0.40964e-02_rb,0.40666e-02_rb,0.38151e-02_rb,0.34890e-02_rb,0.30973e-02_rb, & & 0.26200e-02_rb,0.20705e-02_rb,0.14239e-02_rb,0.53330e-03_rb /) kao(:, 1, 7, 7) = (/ & & 0.37806e-02_rb,0.36256e-02_rb,0.32982e-02_rb,0.29389e-02_rb,0.25345e-02_rb, & & 0.20760e-02_rb,0.15879e-02_rb,0.10489e-02_rb,0.28018e-03_rb /) kao(:, 2, 7, 7) = (/ & & 0.38204e-02_rb,0.36872e-02_rb,0.33713e-02_rb,0.30154e-02_rb,0.26103e-02_rb, & & 0.21557e-02_rb,0.16619e-02_rb,0.11071e-02_rb,0.31519e-03_rb /) kao(:, 3, 7, 7) = (/ & & 0.38460e-02_rb,0.37374e-02_rb,0.34369e-02_rb,0.30817e-02_rb,0.26834e-02_rb, & & 0.22319e-02_rb,0.17344e-02_rb,0.11636e-02_rb,0.35270e-03_rb /) kao(:, 4, 7, 7) = (/ & & 0.38578e-02_rb,0.37771e-02_rb,0.34946e-02_rb,0.31444e-02_rb,0.27541e-02_rb, & & 0.23067e-02_rb,0.18034e-02_rb,0.12192e-02_rb,0.39298e-03_rb /) kao(:, 5, 7, 7) = (/ & & 0.38608e-02_rb,0.38134e-02_rb,0.35421e-02_rb,0.32035e-02_rb,0.28239e-02_rb, & & 0.23777e-02_rb,0.18670e-02_rb,0.12748e-02_rb,0.43632e-03_rb /) kao(:, 1, 8, 7) = (/ & & 0.34769e-02_rb,0.33291e-02_rb,0.30196e-02_rb,0.26781e-02_rb,0.23024e-02_rb, & & 0.18824e-02_rb,0.14244e-02_rb,0.92897e-03_rb,0.24101e-03_rb /) kao(:, 2, 8, 7) = (/ & & 0.35239e-02_rb,0.33972e-02_rb,0.30964e-02_rb,0.27587e-02_rb,0.23816e-02_rb, & & 0.19578e-02_rb,0.14914e-02_rb,0.98181e-03_rb,0.27130e-03_rb /) kao(:, 3, 8, 7) = (/ & & 0.35607e-02_rb,0.34526e-02_rb,0.31656e-02_rb,0.28309e-02_rb,0.24544e-02_rb, & & 0.20284e-02_rb,0.15562e-02_rb,0.10333e-02_rb,0.30255e-03_rb /) kao(:, 4, 8, 7) = (/ & & 0.35844e-02_rb,0.35023e-02_rb,0.32271e-02_rb,0.28968e-02_rb,0.25226e-02_rb, & & 0.20957e-02_rb,0.16188e-02_rb,0.10830e-02_rb,0.33737e-03_rb /) kao(:, 5, 8, 7) = (/ & & 0.35961e-02_rb,0.35446e-02_rb,0.32825e-02_rb,0.29568e-02_rb,0.25866e-02_rb, & & 0.21594e-02_rb,0.16782e-02_rb,0.11324e-02_rb,0.37448e-03_rb /) kao(:, 1, 9, 7) = (/ & & 0.31490e-02_rb,0.30162e-02_rb,0.27350e-02_rb,0.24183e-02_rb,0.20753e-02_rb, & & 0.16954e-02_rb,0.12750e-02_rb,0.82561e-03_rb,0.24776e-03_rb /) kao(:, 2, 9, 7) = (/ & & 0.32098e-02_rb,0.30913e-02_rb,0.28147e-02_rb,0.25006e-02_rb,0.21544e-02_rb, & & 0.17699e-02_rb,0.13387e-02_rb,0.87243e-03_rb,0.27735e-03_rb /) kao(:, 3, 9, 7) = (/ & & 0.32582e-02_rb,0.31563e-02_rb,0.28883e-02_rb,0.25742e-02_rb,0.22278e-02_rb, & & 0.18394e-02_rb,0.14003e-02_rb,0.91830e-03_rb,0.30712e-03_rb /) kao(:, 4, 9, 7) = (/ & & 0.32928e-02_rb,0.32146e-02_rb,0.29543e-02_rb,0.26421e-02_rb,0.22954e-02_rb, & & 0.19038e-02_rb,0.14592e-02_rb,0.96296e-03_rb,0.33982e-03_rb /) kao(:, 5, 9, 7) = (/ & & 0.33113e-02_rb,0.32637e-02_rb,0.30129e-02_rb,0.27034e-02_rb,0.23582e-02_rb, & & 0.19652e-02_rb,0.15140e-02_rb,0.10071e-02_rb,0.37422e-03_rb /) kao(:, 1,10, 7) = (/ & & 0.28236e-02_rb,0.26993e-02_rb,0.24463e-02_rb,0.21584e-02_rb,0.18515e-02_rb, & & 0.15144e-02_rb,0.11396e-02_rb,0.73456e-03_rb,0.30599e-03_rb /) kao(:, 2,10, 7) = (/ & & 0.28929e-02_rb,0.27796e-02_rb,0.25302e-02_rb,0.22416e-02_rb,0.19311e-02_rb, & & 0.15864e-02_rb,0.12002e-02_rb,0.77955e-03_rb,0.32947e-03_rb /) kao(:, 3,10, 7) = (/ & & 0.29497e-02_rb,0.28523e-02_rb,0.26078e-02_rb,0.23174e-02_rb,0.20043e-02_rb, & & 0.16542e-02_rb,0.12577e-02_rb,0.82291e-03_rb,0.35529e-03_rb /) kao(:, 4,10, 7) = (/ & & 0.29901e-02_rb,0.29165e-02_rb,0.26763e-02_rb,0.23877e-02_rb,0.20731e-02_rb, & & 0.17177e-02_rb,0.13124e-02_rb,0.86431e-03_rb,0.38167e-03_rb /) kao(:, 5,10, 7) = (/ & & 0.30139e-02_rb,0.29672e-02_rb,0.27348e-02_rb,0.24509e-02_rb,0.21349e-02_rb, & & 0.17760e-02_rb,0.13646e-02_rb,0.90496e-03_rb,0.40993e-03_rb /) kao(:, 1,11, 7) = (/ & & 0.25422e-02_rb,0.24347e-02_rb,0.22108e-02_rb,0.19505e-02_rb,0.16727e-02_rb, & & 0.13714e-02_rb,0.10368e-02_rb,0.66936e-03_rb,0.31350e-03_rb /) kao(:, 2,11, 7) = (/ & & 0.26126e-02_rb,0.25184e-02_rb,0.22944e-02_rb,0.20307e-02_rb,0.17483e-02_rb, & & 0.14377e-02_rb,0.10928e-02_rb,0.71181e-03_rb,0.33782e-03_rb /) kao(:, 3,11, 7) = (/ & & 0.26690e-02_rb,0.25901e-02_rb,0.23690e-02_rb,0.21043e-02_rb,0.18188e-02_rb, & & 0.15016e-02_rb,0.11462e-02_rb,0.75188e-03_rb,0.35774e-03_rb /) kao(:, 4,11, 7) = (/ & & 0.27048e-02_rb,0.26504e-02_rb,0.24329e-02_rb,0.21704e-02_rb,0.18832e-02_rb, & & 0.15599e-02_rb,0.11973e-02_rb,0.79054e-03_rb,0.37720e-03_rb /) kao(:, 5,11, 7) = (/ & & 0.27241e-02_rb,0.26964e-02_rb,0.24876e-02_rb,0.22289e-02_rb,0.19396e-02_rb, & & 0.16131e-02_rb,0.12459e-02_rb,0.82843e-03_rb,0.39980e-03_rb /) kao(:, 1,12, 7) = (/ & & 0.22863e-02_rb,0.21916e-02_rb,0.19903e-02_rb,0.17560e-02_rb,0.15053e-02_rb, & & 0.12361e-02_rb,0.93929e-03_rb,0.60469e-03_rb,0.28176e-03_rb /) kao(:, 2,12, 7) = (/ & & 0.23519e-02_rb,0.22705e-02_rb,0.20691e-02_rb,0.18315e-02_rb,0.15760e-02_rb, & & 0.12985e-02_rb,0.99139e-03_rb,0.64462e-03_rb,0.30471e-03_rb /) kao(:, 3,12, 7) = (/ & & 0.23974e-02_rb,0.23352e-02_rb,0.21377e-02_rb,0.19000e-02_rb,0.16408e-02_rb, & & 0.13574e-02_rb,0.10412e-02_rb,0.68214e-03_rb,0.32553e-03_rb /) kao(:, 4,12, 7) = (/ & & 0.24260e-02_rb,0.23879e-02_rb,0.21943e-02_rb,0.19602e-02_rb,0.16992e-02_rb, & & 0.14109e-02_rb,0.10885e-02_rb,0.71852e-03_rb,0.34169e-03_rb /) kao(:, 5,12, 7) = (/ & & 0.24412e-02_rb,0.24274e-02_rb,0.22422e-02_rb,0.20116e-02_rb,0.17502e-02_rb, & & 0.14591e-02_rb,0.11336e-02_rb,0.75474e-03_rb,0.36020e-03_rb /) kao(:, 1,13, 7) = (/ & & 0.20393e-02_rb,0.19603e-02_rb,0.17821e-02_rb,0.15739e-02_rb,0.13509e-02_rb, & & 0.11133e-02_rb,0.84826e-03_rb,0.54289e-03_rb,0.23248e-03_rb /) kao(:, 2,13, 7) = (/ & & 0.20953e-02_rb,0.20307e-02_rb,0.18542e-02_rb,0.16433e-02_rb,0.14162e-02_rb, & & 0.11712e-02_rb,0.89683e-03_rb,0.57958e-03_rb,0.25095e-03_rb /) kao(:, 3,13, 7) = (/ & & 0.21323e-02_rb,0.20881e-02_rb,0.19144e-02_rb,0.17046e-02_rb,0.14742e-02_rb, & & 0.12241e-02_rb,0.94271e-03_rb,0.61480e-03_rb,0.26566e-03_rb /) kao(:, 4,13, 7) = (/ & & 0.21562e-02_rb,0.21324e-02_rb,0.19654e-02_rb,0.17578e-02_rb,0.15256e-02_rb, & & 0.12715e-02_rb,0.98599e-03_rb,0.64941e-03_rb,0.28144e-03_rb /) kao(:, 5,13, 7) = (/ & & 0.21687e-02_rb,0.21674e-02_rb,0.20081e-02_rb,0.18029e-02_rb,0.15712e-02_rb, & & 0.13148e-02_rb,0.10270e-02_rb,0.68370e-03_rb,0.29755e-03_rb /) kao(:, 1, 1, 8) = (/ & & 0.10084e-01_rb,0.95278e-02_rb,0.88730e-02_rb,0.81189e-02_rb,0.71873e-02_rb, & & 0.61505e-02_rb,0.50159e-02_rb,0.37383e-02_rb,0.30410e-02_rb /) kao(:, 2, 1, 8) = (/ & & 0.10011e-01_rb,0.95195e-02_rb,0.89419e-02_rb,0.82272e-02_rb,0.73508e-02_rb, & & 0.63699e-02_rb,0.52392e-02_rb,0.39784e-02_rb,0.34237e-02_rb /) kao(:, 3, 1, 8) = (/ & & 0.99285e-02_rb,0.95060e-02_rb,0.90107e-02_rb,0.83435e-02_rb,0.75299e-02_rb, & & 0.65814e-02_rb,0.54661e-02_rb,0.42490e-02_rb,0.38569e-02_rb /) kao(:, 4, 1, 8) = (/ & & 0.98396e-02_rb,0.95039e-02_rb,0.90786e-02_rb,0.84657e-02_rb,0.77142e-02_rb, & & 0.67908e-02_rb,0.57132e-02_rb,0.45510e-02_rb,0.43277e-02_rb /) kao(:, 5, 1, 8) = (/ & & 0.97470e-02_rb,0.95073e-02_rb,0.91451e-02_rb,0.85961e-02_rb,0.78983e-02_rb, & & 0.70134e-02_rb,0.59878e-02_rb,0.48898e-02_rb,0.48367e-02_rb /) kao(:, 1, 2, 8) = (/ & & 0.10032e-01_rb,0.95001e-02_rb,0.88015e-02_rb,0.80012e-02_rb,0.70675e-02_rb, & & 0.59994e-02_rb,0.48088e-02_rb,0.34803e-02_rb,0.24973e-02_rb /) kao(:, 2, 2, 8) = (/ & & 0.99727e-02_rb,0.94952e-02_rb,0.88708e-02_rb,0.81052e-02_rb,0.72227e-02_rb, & & 0.61975e-02_rb,0.50149e-02_rb,0.36876e-02_rb,0.28262e-02_rb /) kao(:, 3, 2, 8) = (/ & & 0.99020e-02_rb,0.94876e-02_rb,0.89395e-02_rb,0.82200e-02_rb,0.73884e-02_rb, & & 0.63917e-02_rb,0.52241e-02_rb,0.39189e-02_rb,0.31881e-02_rb /) kao(:, 4, 2, 8) = (/ & & 0.98208e-02_rb,0.94907e-02_rb,0.90072e-02_rb,0.83409e-02_rb,0.75534e-02_rb, & & 0.65848e-02_rb,0.54476e-02_rb,0.41701e-02_rb,0.35802e-02_rb /) kao(:, 5, 2, 8) = (/ & & 0.97350e-02_rb,0.95036e-02_rb,0.90758e-02_rb,0.84664e-02_rb,0.77179e-02_rb, & & 0.67885e-02_rb,0.56906e-02_rb,0.44399e-02_rb,0.40032e-02_rb /) kao(:, 1, 3, 8) = (/ & & 0.99249e-02_rb,0.94002e-02_rb,0.86731e-02_rb,0.78226e-02_rb,0.68627e-02_rb, & & 0.57870e-02_rb,0.45641e-02_rb,0.32036e-02_rb,0.20068e-02_rb /) kao(:, 2, 3, 8) = (/ & & 0.98781e-02_rb,0.94039e-02_rb,0.87415e-02_rb,0.79225e-02_rb,0.70078e-02_rb, & & 0.59682e-02_rb,0.47504e-02_rb,0.33906e-02_rb,0.22741e-02_rb /) kao(:, 3, 3, 8) = (/ & & 0.98245e-02_rb,0.94056e-02_rb,0.88077e-02_rb,0.80290e-02_rb,0.71634e-02_rb, & & 0.61455e-02_rb,0.49439e-02_rb,0.35923e-02_rb,0.25675e-02_rb /) kao(:, 4, 3, 8) = (/ & & 0.97585e-02_rb,0.94181e-02_rb,0.88723e-02_rb,0.81452e-02_rb,0.73134e-02_rb, & & 0.63196e-02_rb,0.51498e-02_rb,0.38082e-02_rb,0.28828e-02_rb /) kao(:, 5, 3, 8) = (/ & & 0.96800e-02_rb,0.94346e-02_rb,0.89400e-02_rb,0.82650e-02_rb,0.74596e-02_rb, & & 0.65093e-02_rb,0.53613e-02_rb,0.40378e-02_rb,0.32210e-02_rb /) kao(:, 1, 4, 8) = (/ & & 0.97390e-02_rb,0.92223e-02_rb,0.84805e-02_rb,0.75962e-02_rb,0.66183e-02_rb, & & 0.55421e-02_rb,0.43153e-02_rb,0.29439e-02_rb,0.16096e-02_rb /) kao(:, 2, 4, 8) = (/ & & 0.97149e-02_rb,0.92440e-02_rb,0.85515e-02_rb,0.76965e-02_rb,0.67525e-02_rb, & & 0.57037e-02_rb,0.44852e-02_rb,0.31152e-02_rb,0.18298e-02_rb /) kao(:, 3, 4, 8) = (/ & & 0.96772e-02_rb,0.92607e-02_rb,0.86210e-02_rb,0.78004e-02_rb,0.68947e-02_rb, & & 0.58626e-02_rb,0.46601e-02_rb,0.32973e-02_rb,0.20675e-02_rb /) kao(:, 4, 4, 8) = (/ & & 0.96222e-02_rb,0.92823e-02_rb,0.86884e-02_rb,0.79077e-02_rb,0.70317e-02_rb, & & 0.60213e-02_rb,0.48471e-02_rb,0.34874e-02_rb,0.23199e-02_rb /) kao(:, 5, 4, 8) = (/ & & 0.95548e-02_rb,0.93032e-02_rb,0.87544e-02_rb,0.80177e-02_rb,0.71673e-02_rb, & & 0.61924e-02_rb,0.50398e-02_rb,0.36845e-02_rb,0.25914e-02_rb /) kao(:, 1, 5, 8) = (/ & & 0.94682e-02_rb,0.89654e-02_rb,0.82210e-02_rb,0.73222e-02_rb,0.63403e-02_rb, & & 0.52735e-02_rb,0.40692e-02_rb,0.27114e-02_rb,0.12929e-02_rb /) kao(:, 2, 5, 8) = (/ & & 0.94609e-02_rb,0.90053e-02_rb,0.83016e-02_rb,0.74278e-02_rb,0.64685e-02_rb, & & 0.54213e-02_rb,0.42231e-02_rb,0.28638e-02_rb,0.14728e-02_rb /) kao(:, 3, 5, 8) = (/ & & 0.94353e-02_rb,0.90391e-02_rb,0.83802e-02_rb,0.75305e-02_rb,0.66027e-02_rb, & & 0.55646e-02_rb,0.43790e-02_rb,0.30279e-02_rb,0.16663e-02_rb /) kao(:, 4, 5, 8) = (/ & & 0.93989e-02_rb,0.90684e-02_rb,0.84481e-02_rb,0.76404e-02_rb,0.67294e-02_rb, & & 0.57082e-02_rb,0.45495e-02_rb,0.31980e-02_rb,0.18711e-02_rb /) kao(:, 5, 5, 8) = (/ & & 0.93472e-02_rb,0.90926e-02_rb,0.85136e-02_rb,0.77442e-02_rb,0.68542e-02_rb, & & 0.58646e-02_rb,0.47259e-02_rb,0.33701e-02_rb,0.20921e-02_rb /) kao(:, 1, 6, 8) = (/ & & 0.90687e-02_rb,0.86083e-02_rb,0.78842e-02_rb,0.69920e-02_rb,0.60171e-02_rb, & & 0.49784e-02_rb,0.38163e-02_rb,0.24892e-02_rb,0.10375e-02_rb /) kao(:, 2, 6, 8) = (/ & & 0.90845e-02_rb,0.86742e-02_rb,0.79759e-02_rb,0.71037e-02_rb,0.61494e-02_rb, & & 0.51176e-02_rb,0.39577e-02_rb,0.26285e-02_rb,0.11848e-02_rb /) kao(:, 3, 6, 8) = (/ & & 0.90836e-02_rb,0.87225e-02_rb,0.80580e-02_rb,0.72119e-02_rb,0.62799e-02_rb, & & 0.52546e-02_rb,0.41006e-02_rb,0.27750e-02_rb,0.13422e-02_rb /) kao(:, 4, 6, 8) = (/ & & 0.90655e-02_rb,0.87611e-02_rb,0.81305e-02_rb,0.73221e-02_rb,0.64054e-02_rb, & & 0.53892e-02_rb,0.42503e-02_rb,0.29301e-02_rb,0.15078e-02_rb /) kao(:, 5, 6, 8) = (/ & & 0.90286e-02_rb,0.87944e-02_rb,0.82022e-02_rb,0.74247e-02_rb,0.65248e-02_rb, & & 0.55305e-02_rb,0.44113e-02_rb,0.30838e-02_rb,0.16859e-02_rb /) kao(:, 1, 7, 8) = (/ & & 0.85850e-02_rb,0.81350e-02_rb,0.74326e-02_rb,0.65794e-02_rb,0.56482e-02_rb, & & 0.46582e-02_rb,0.35544e-02_rb,0.22844e-02_rb,0.80765e-03_rb /) kao(:, 2, 7, 8) = (/ & & 0.86250e-02_rb,0.82179e-02_rb,0.75359e-02_rb,0.67022e-02_rb,0.57899e-02_rb, & & 0.47962e-02_rb,0.36869e-02_rb,0.24122e-02_rb,0.92682e-03_rb /) kao(:, 3, 7, 8) = (/ & & 0.86440e-02_rb,0.82839e-02_rb,0.76315e-02_rb,0.68246e-02_rb,0.59218e-02_rb, & & 0.49298e-02_rb,0.38219e-02_rb,0.25431e-02_rb,0.10538e-02_rb /) kao(:, 4, 7, 8) = (/ & & 0.86410e-02_rb,0.83371e-02_rb,0.77195e-02_rb,0.69421e-02_rb,0.60483e-02_rb, & & 0.50620e-02_rb,0.39587e-02_rb,0.26818e-02_rb,0.11890e-02_rb /) kao(:, 5, 7, 8) = (/ & & 0.86213e-02_rb,0.83816e-02_rb,0.78035e-02_rb,0.70537e-02_rb,0.61695e-02_rb, & & 0.51947e-02_rb,0.41038e-02_rb,0.28206e-02_rb,0.13358e-02_rb /) kao(:, 1, 8, 8) = (/ & & 0.80690e-02_rb,0.76260e-02_rb,0.69398e-02_rb,0.61270e-02_rb,0.52372e-02_rb, & & 0.42965e-02_rb,0.32695e-02_rb,0.20922e-02_rb,0.69791e-03_rb /) kao(:, 2, 8, 8) = (/ & & 0.81346e-02_rb,0.77325e-02_rb,0.70609e-02_rb,0.62554e-02_rb,0.53744e-02_rb, & & 0.44362e-02_rb,0.34019e-02_rb,0.22104e-02_rb,0.78609e-03_rb /) kao(:, 3, 8, 8) = (/ & & 0.81749e-02_rb,0.78188e-02_rb,0.71688e-02_rb,0.63791e-02_rb,0.55086e-02_rb, & & 0.45702e-02_rb,0.35360e-02_rb,0.23302e-02_rb,0.88068e-03_rb /) kao(:, 4, 8, 8) = (/ & & 0.81959e-02_rb,0.78839e-02_rb,0.72650e-02_rb,0.64997e-02_rb,0.56387e-02_rb, & & 0.47059e-02_rb,0.36681e-02_rb,0.24532e-02_rb,0.97840e-03_rb /) kao(:, 5, 8, 8) = (/ & & 0.81937e-02_rb,0.79411e-02_rb,0.73546e-02_rb,0.66134e-02_rb,0.57649e-02_rb, & & 0.48383e-02_rb,0.38022e-02_rb,0.25773e-02_rb,0.10847e-02_rb /) kao(:, 1, 9, 8) = (/ & & 0.75182e-02_rb,0.70907e-02_rb,0.64287e-02_rb,0.56605e-02_rb,0.48216e-02_rb, & & 0.39323e-02_rb,0.29776e-02_rb,0.18987e-02_rb,0.67472e-03_rb /) kao(:, 2, 9, 8) = (/ & & 0.76076e-02_rb,0.72195e-02_rb,0.65653e-02_rb,0.58009e-02_rb,0.49640e-02_rb, & & 0.40692e-02_rb,0.31049e-02_rb,0.20098e-02_rb,0.74914e-03_rb /) kao(:, 3, 9, 8) = (/ & & 0.76735e-02_rb,0.73227e-02_rb,0.66862e-02_rb,0.59346e-02_rb,0.51012e-02_rb, & & 0.42015e-02_rb,0.32328e-02_rb,0.21222e-02_rb,0.83367e-03_rb /) kao(:, 4, 9, 8) = (/ & & 0.77132e-02_rb,0.74045e-02_rb,0.67969e-02_rb,0.60620e-02_rb,0.52309e-02_rb, & & 0.43347e-02_rb,0.33599e-02_rb,0.22355e-02_rb,0.91964e-03_rb /) kao(:, 5, 9, 8) = (/ & & 0.77286e-02_rb,0.74752e-02_rb,0.68965e-02_rb,0.61793e-02_rb,0.53584e-02_rb, & & 0.44621e-02_rb,0.34884e-02_rb,0.23497e-02_rb,0.10114e-02_rb /) kao(:, 1,10, 8) = (/ & & 0.70149e-02_rb,0.65825e-02_rb,0.59329e-02_rb,0.52017e-02_rb,0.44219e-02_rb, & & 0.35899e-02_rb,0.27069e-02_rb,0.17187e-02_rb,0.74519e-03_rb /) kao(:, 2,10, 8) = (/ & & 0.71248e-02_rb,0.67269e-02_rb,0.60810e-02_rb,0.53515e-02_rb,0.45670e-02_rb, & & 0.37282e-02_rb,0.28313e-02_rb,0.18204e-02_rb,0.83494e-03_rb /) kao(:, 3,10, 8) = (/ & & 0.72044e-02_rb,0.68394e-02_rb,0.62076e-02_rb,0.54929e-02_rb,0.47097e-02_rb, & & 0.38613e-02_rb,0.29540e-02_rb,0.19235e-02_rb,0.93279e-03_rb /) kao(:, 4,10, 8) = (/ & & 0.72597e-02_rb,0.69309e-02_rb,0.63267e-02_rb,0.56269e-02_rb,0.48423e-02_rb, & & 0.39913e-02_rb,0.30764e-02_rb,0.20273e-02_rb,0.10348e-02_rb /) kao(:, 5,10, 8) = (/ & & 0.72955e-02_rb,0.70104e-02_rb,0.64378e-02_rb,0.57479e-02_rb,0.49695e-02_rb, & & 0.41180e-02_rb,0.31960e-02_rb,0.21324e-02_rb,0.11387e-02_rb /) kao(:, 1,11, 8) = (/ & & 0.65628e-02_rb,0.61735e-02_rb,0.55551e-02_rb,0.48677e-02_rb,0.41265e-02_rb, & & 0.33334e-02_rb,0.25028e-02_rb,0.15938e-02_rb,0.74406e-03_rb /) kao(:, 2,11, 8) = (/ & & 0.66786e-02_rb,0.63151e-02_rb,0.57025e-02_rb,0.50172e-02_rb,0.42702e-02_rb, & & 0.34674e-02_rb,0.26229e-02_rb,0.16875e-02_rb,0.82711e-03_rb /) kao(:, 3,11, 8) = (/ & & 0.67664e-02_rb,0.64350e-02_rb,0.58347e-02_rb,0.51562e-02_rb,0.44059e-02_rb, & & 0.35945e-02_rb,0.27422e-02_rb,0.17822e-02_rb,0.92379e-03_rb /) kao(:, 4,11, 8) = (/ & & 0.68381e-02_rb,0.65357e-02_rb,0.59597e-02_rb,0.52850e-02_rb,0.45292e-02_rb, & & 0.37195e-02_rb,0.28585e-02_rb,0.18773e-02_rb,0.10214e-02_rb /) kao(:, 5,11, 8) = (/ & & 0.68910e-02_rb,0.66274e-02_rb,0.60702e-02_rb,0.54014e-02_rb,0.46503e-02_rb, & & 0.38396e-02_rb,0.29707e-02_rb,0.19733e-02_rb,0.11179e-02_rb /) kao(:, 1,12, 8) = (/ & & 0.60794e-02_rb,0.57316e-02_rb,0.51563e-02_rb,0.45236e-02_rb,0.38371e-02_rb, & & 0.31013e-02_rb,0.23239e-02_rb,0.14745e-02_rb,0.70212e-03_rb /) kao(:, 2,12, 8) = (/ & & 0.62026e-02_rb,0.58782e-02_rb,0.53110e-02_rb,0.46778e-02_rb,0.39838e-02_rb, & & 0.32334e-02_rb,0.24368e-02_rb,0.15615e-02_rb,0.77146e-03_rb /) kao(:, 3,12, 8) = (/ & & 0.63087e-02_rb,0.60102e-02_rb,0.54544e-02_rb,0.48220e-02_rb,0.41191e-02_rb, & & 0.33562e-02_rb,0.25462e-02_rb,0.16493e-02_rb,0.85116e-03_rb /) kao(:, 4,12, 8) = (/ & & 0.63948e-02_rb,0.61265e-02_rb,0.55863e-02_rb,0.49541e-02_rb,0.42453e-02_rb, & & 0.34753e-02_rb,0.26508e-02_rb,0.17372e-02_rb,0.93862e-03_rb /) kao(:, 5,12, 8) = (/ & & 0.64607e-02_rb,0.62309e-02_rb,0.57052e-02_rb,0.50757e-02_rb,0.43660e-02_rb, & & 0.35907e-02_rb,0.27548e-02_rb,0.18249e-02_rb,0.10221e-02_rb /) kao(:, 1,13, 8) = (/ & & 0.55937e-02_rb,0.52793e-02_rb,0.47517e-02_rb,0.41692e-02_rb,0.35394e-02_rb, & & 0.28625e-02_rb,0.21454e-02_rb,0.13668e-02_rb,0.61956e-03_rb /) kao(:, 2,13, 8) = (/ & & 0.57319e-02_rb,0.54374e-02_rb,0.49129e-02_rb,0.43258e-02_rb,0.36843e-02_rb, & & 0.29907e-02_rb,0.22551e-02_rb,0.14474e-02_rb,0.68007e-03_rb /) kao(:, 3,13, 8) = (/ & & 0.58515e-02_rb,0.55788e-02_rb,0.50622e-02_rb,0.44734e-02_rb,0.38194e-02_rb, & & 0.31146e-02_rb,0.23600e-02_rb,0.15267e-02_rb,0.75016e-03_rb /) kao(:, 4,13, 8) = (/ & & 0.59483e-02_rb,0.57068e-02_rb,0.51995e-02_rb,0.46068e-02_rb,0.39501e-02_rb, & & 0.32357e-02_rb,0.24610e-02_rb,0.16061e-02_rb,0.82038e-03_rb /) kao(:, 5,13, 8) = (/ & & 0.60233e-02_rb,0.58195e-02_rb,0.53236e-02_rb,0.47349e-02_rb,0.40732e-02_rb, & & 0.33509e-02_rb,0.25596e-02_rb,0.16868e-02_rb,0.89122e-03_rb /) kao(:, 1, 1, 9) = (/ & & 0.19771e-01_rb,0.18370e-01_rb,0.17356e-01_rb,0.16079e-01_rb,0.14680e-01_rb, & & 0.13282e-01_rb,0.11980e-01_rb,0.11582e-01_rb,0.12985e-01_rb /) kao(:, 2, 1, 9) = (/ & & 0.19636e-01_rb,0.18337e-01_rb,0.17425e-01_rb,0.16276e-01_rb,0.15036e-01_rb, & & 0.13800e-01_rb,0.12788e-01_rb,0.12799e-01_rb,0.14491e-01_rb /) kao(:, 3, 1, 9) = (/ & & 0.19487e-01_rb,0.18291e-01_rb,0.17516e-01_rb,0.16543e-01_rb,0.15458e-01_rb, & & 0.14398e-01_rb,0.13717e-01_rb,0.14121e-01_rb,0.16094e-01_rb /) kao(:, 4, 1, 9) = (/ & & 0.19329e-01_rb,0.18244e-01_rb,0.17665e-01_rb,0.16858e-01_rb,0.15921e-01_rb, & & 0.15082e-01_rb,0.14738e-01_rb,0.15534e-01_rb,0.17796e-01_rb /) kao(:, 5, 1, 9) = (/ & & 0.19162e-01_rb,0.18208e-01_rb,0.17862e-01_rb,0.17203e-01_rb,0.16407e-01_rb, & & 0.15804e-01_rb,0.15831e-01_rb,0.17016e-01_rb,0.19554e-01_rb /) kao(:, 1, 2, 9) = (/ & & 0.20491e-01_rb,0.19041e-01_rb,0.17931e-01_rb,0.16490e-01_rb,0.14871e-01_rb, & & 0.13204e-01_rb,0.11551e-01_rb,0.10493e-01_rb,0.11370e-01_rb /) kao(:, 2, 2, 9) = (/ & & 0.20351e-01_rb,0.19021e-01_rb,0.18003e-01_rb,0.16688e-01_rb,0.15207e-01_rb, & & 0.13674e-01_rb,0.12228e-01_rb,0.11542e-01_rb,0.12722e-01_rb /) kao(:, 3, 2, 9) = (/ & & 0.20205e-01_rb,0.18987e-01_rb,0.18097e-01_rb,0.16946e-01_rb,0.15590e-01_rb, & & 0.14204e-01_rb,0.13003e-01_rb,0.12703e-01_rb,0.14170e-01_rb /) kao(:, 4, 2, 9) = (/ & & 0.20054e-01_rb,0.18946e-01_rb,0.18241e-01_rb,0.17244e-01_rb,0.16012e-01_rb, & & 0.14800e-01_rb,0.13862e-01_rb,0.13953e-01_rb,0.15702e-01_rb /) kao(:, 5, 2, 9) = (/ & & 0.19890e-01_rb,0.18914e-01_rb,0.18431e-01_rb,0.17568e-01_rb,0.16464e-01_rb, & & 0.15445e-01_rb,0.14813e-01_rb,0.15302e-01_rb,0.17318e-01_rb /) kao(:, 1, 3, 9) = (/ & & 0.21143e-01_rb,0.19662e-01_rb,0.18419e-01_rb,0.16811e-01_rb,0.15005e-01_rb, & & 0.13075e-01_rb,0.11094e-01_rb,0.93893e-02_rb,0.95682e-02_rb /) kao(:, 2, 3, 9) = (/ & & 0.21021e-01_rb,0.19658e-01_rb,0.18498e-01_rb,0.17007e-01_rb,0.15312e-01_rb, & & 0.13491e-01_rb,0.11661e-01_rb,0.10256e-01_rb,0.10742e-01_rb /) kao(:, 3, 3, 9) = (/ & & 0.20887e-01_rb,0.19635e-01_rb,0.18594e-01_rb,0.17251e-01_rb,0.15669e-01_rb, & & 0.13959e-01_rb,0.12304e-01_rb,0.11227e-01_rb,0.12012e-01_rb /) kao(:, 4, 3, 9) = (/ & & 0.20742e-01_rb,0.19603e-01_rb,0.18727e-01_rb,0.17530e-01_rb,0.16058e-01_rb, & & 0.14485e-01_rb,0.13015e-01_rb,0.12294e-01_rb,0.13375e-01_rb /) kao(:, 5, 3, 9) = (/ & & 0.20582e-01_rb,0.19578e-01_rb,0.18903e-01_rb,0.17831e-01_rb,0.16483e-01_rb, & & 0.15047e-01_rb,0.13818e-01_rb,0.13471e-01_rb,0.14836e-01_rb /) kao(:, 1, 4, 9) = (/ & & 0.21726e-01_rb,0.20199e-01_rb,0.18812e-01_rb,0.17047e-01_rb,0.15080e-01_rb, & & 0.12938e-01_rb,0.10693e-01_rb,0.84650e-02_rb,0.79270e-02_rb /) kao(:, 2, 4, 9) = (/ & & 0.21624e-01_rb,0.20213e-01_rb,0.18897e-01_rb,0.17238e-01_rb,0.15368e-01_rb, & & 0.13326e-01_rb,0.11175e-01_rb,0.91656e-02_rb,0.89409e-02_rb /) kao(:, 3, 4, 9) = (/ & & 0.21502e-01_rb,0.20207e-01_rb,0.18990e-01_rb,0.17468e-01_rb,0.15708e-01_rb, & & 0.13755e-01_rb,0.11721e-01_rb,0.99561e-02_rb,0.10044e-01_rb /) kao(:, 4, 4, 9) = (/ & & 0.21364e-01_rb,0.20186e-01_rb,0.19114e-01_rb,0.17747e-01_rb,0.16075e-01_rb, & & 0.14230e-01_rb,0.12327e-01_rb,0.10844e-01_rb,0.11238e-01_rb /) kao(:, 5, 4, 9) = (/ & & 0.21208e-01_rb,0.20165e-01_rb,0.19280e-01_rb,0.18035e-01_rb,0.16477e-01_rb, & & 0.14734e-01_rb,0.13004e-01_rb,0.11837e-01_rb,0.12527e-01_rb /) kao(:, 1, 5, 9) = (/ & & 0.22212e-01_rb,0.20643e-01_rb,0.19101e-01_rb,0.17193e-01_rb,0.15094e-01_rb, & & 0.12790e-01_rb,0.10344e-01_rb,0.77661e-02_rb,0.65292e-02_rb /) kao(:, 2, 5, 9) = (/ & & 0.22131e-01_rb,0.20679e-01_rb,0.19192e-01_rb,0.17388e-01_rb,0.15373e-01_rb, & & 0.13156e-01_rb,0.10779e-01_rb,0.83326e-02_rb,0.74004e-02_rb /) kao(:, 3, 5, 9) = (/ & & 0.22024e-01_rb,0.20689e-01_rb,0.19289e-01_rb,0.17614e-01_rb,0.15701e-01_rb, & & 0.13560e-01_rb,0.11259e-01_rb,0.89716e-02_rb,0.83509e-02_rb /) kao(:, 4, 5, 9) = (/ & & 0.21891e-01_rb,0.20674e-01_rb,0.19419e-01_rb,0.17880e-01_rb,0.16055e-01_rb, & & 0.14002e-01_rb,0.11784e-01_rb,0.96942e-02_rb,0.93863e-02_rb /) kao(:, 5, 5, 9) = (/ & & 0.21733e-01_rb,0.20659e-01_rb,0.19581e-01_rb,0.18166e-01_rb,0.16436e-01_rb, & & 0.14467e-01_rb,0.12356e-01_rb,0.10508e-01_rb,0.10499e-01_rb /) kao(:, 1, 6, 9) = (/ & & 0.22561e-01_rb,0.20963e-01_rb,0.19278e-01_rb,0.17248e-01_rb,0.15027e-01_rb, & & 0.12605e-01_rb,0.99913e-02_rb,0.71998e-02_rb,0.53191e-02_rb /) kao(:, 2, 6, 9) = (/ & & 0.22505e-01_rb,0.21027e-01_rb,0.19391e-01_rb,0.17451e-01_rb,0.15296e-01_rb, & & 0.12947e-01_rb,0.10394e-01_rb,0.76719e-02_rb,0.60628e-02_rb /) kao(:, 3, 6, 9) = (/ & & 0.22407e-01_rb,0.21057e-01_rb,0.19505e-01_rb,0.17673e-01_rb,0.15617e-01_rb, & & 0.13330e-01_rb,0.10834e-01_rb,0.82004e-02_rb,0.68698e-02_rb /) kao(:, 4, 6, 9) = (/ & & 0.22287e-01_rb,0.21061e-01_rb,0.19636e-01_rb,0.17933e-01_rb,0.15963e-01_rb, & & 0.13742e-01_rb,0.11312e-01_rb,0.87854e-02_rb,0.77488e-02_rb /) kao(:, 5, 6, 9) = (/ & & 0.22148e-01_rb,0.21053e-01_rb,0.19794e-01_rb,0.18212e-01_rb,0.16329e-01_rb, & & 0.14180e-01_rb,0.11816e-01_rb,0.94417e-02_rb,0.86993e-02_rb /) kao(:, 1, 7, 9) = (/ & & 0.22745e-01_rb,0.21135e-01_rb,0.19327e-01_rb,0.17197e-01_rb,0.14893e-01_rb, & & 0.12374e-01_rb,0.96536e-02_rb,0.67256e-02_rb,0.43127e-02_rb /) kao(:, 2, 7, 9) = (/ & & 0.22707e-01_rb,0.21230e-01_rb,0.19474e-01_rb,0.17423e-01_rb,0.15162e-01_rb, & & 0.12700e-01_rb,0.10030e-01_rb,0.71370e-02_rb,0.49389e-02_rb /) kao(:, 3, 7, 9) = (/ & & 0.22632e-01_rb,0.21281e-01_rb,0.19608e-01_rb,0.17649e-01_rb,0.15471e-01_rb, & & 0.13070e-01_rb,0.10436e-01_rb,0.75822e-02_rb,0.56174e-02_rb /) kao(:, 4, 7, 9) = (/ & & 0.22537e-01_rb,0.21307e-01_rb,0.19744e-01_rb,0.17903e-01_rb,0.15813e-01_rb, & & 0.13461e-01_rb,0.10872e-01_rb,0.80682e-02_rb,0.63562e-02_rb /) kao(:, 5, 7, 9) = (/ & & 0.22420e-01_rb,0.21314e-01_rb,0.19904e-01_rb,0.18182e-01_rb,0.16160e-01_rb, & & 0.13874e-01_rb,0.11331e-01_rb,0.86088e-02_rb,0.71565e-02_rb /) kao(:, 1, 8, 9) = (/ & & 0.22742e-01_rb,0.21141e-01_rb,0.19244e-01_rb,0.17036e-01_rb,0.14667e-01_rb, & & 0.12093e-01_rb,0.93194e-02_rb,0.63016e-02_rb,0.33604e-02_rb /) kao(:, 2, 8, 9) = (/ & & 0.22738e-01_rb,0.21267e-01_rb,0.19420e-01_rb,0.17289e-01_rb,0.14951e-01_rb, & & 0.12414e-01_rb,0.96717e-02_rb,0.66654e-02_rb,0.38903e-02_rb /) kao(:, 3, 8, 9) = (/ & & 0.22699e-01_rb,0.21347e-01_rb,0.19574e-01_rb,0.17525e-01_rb,0.15260e-01_rb, & & 0.12775e-01_rb,0.10048e-01_rb,0.70608e-02_rb,0.44626e-02_rb /) kao(:, 4, 8, 9) = (/ & & 0.22634e-01_rb,0.21402e-01_rb,0.19725e-01_rb,0.17775e-01_rb,0.15596e-01_rb, & & 0.13150e-01_rb,0.10455e-01_rb,0.74847e-02_rb,0.50904e-02_rb /) kao(:, 5, 8, 9) = (/ & & 0.22550e-01_rb,0.21432e-01_rb,0.19888e-01_rb,0.18059e-01_rb,0.15936e-01_rb, & & 0.13540e-01_rb,0.10879e-01_rb,0.79454e-02_rb,0.57754e-02_rb /) kao(:, 1, 9, 9) = (/ & & 0.22571e-01_rb,0.20980e-01_rb,0.19017e-01_rb,0.16764e-01_rb,0.14350e-01_rb, & & 0.11743e-01_rb,0.89583e-02_rb,0.59107e-02_rb,0.27753e-02_rb /) kao(:, 2, 9, 9) = (/ & & 0.22607e-01_rb,0.21147e-01_rb,0.19231e-01_rb,0.17040e-01_rb,0.14648e-01_rb, & & 0.12069e-01_rb,0.92988e-02_rb,0.62425e-02_rb,0.31527e-02_rb /) kao(:, 3, 9, 9) = (/ & & 0.22609e-01_rb,0.21268e-01_rb,0.19413e-01_rb,0.17284e-01_rb,0.14954e-01_rb, & & 0.12424e-01_rb,0.96568e-02_rb,0.66010e-02_rb,0.35387e-02_rb /) kao(:, 4, 9, 9) = (/ & & 0.22589e-01_rb,0.21355e-01_rb,0.19582e-01_rb,0.17535e-01_rb,0.15285e-01_rb, & & 0.12790e-01_rb,0.10038e-01_rb,0.69765e-02_rb,0.39766e-02_rb /) kao(:, 5, 9, 9) = (/ & & 0.22546e-01_rb,0.21413e-01_rb,0.19758e-01_rb,0.17821e-01_rb,0.15622e-01_rb, & & 0.13166e-01_rb,0.10432e-01_rb,0.73821e-02_rb,0.44450e-02_rb /) kao(:, 1,10, 9) = (/ & & 0.22137e-01_rb,0.20618e-01_rb,0.18650e-01_rb,0.16403e-01_rb,0.13972e-01_rb, & & 0.11364e-01_rb,0.85848e-02_rb,0.55632e-02_rb,0.31593e-02_rb /) kao(:, 2,10, 9) = (/ & & 0.22231e-01_rb,0.20835e-01_rb,0.18905e-01_rb,0.16706e-01_rb,0.14289e-01_rb, & & 0.11695e-01_rb,0.89167e-02_rb,0.58739e-02_rb,0.35325e-02_rb /) kao(:, 3,10, 9) = (/ & & 0.22295e-01_rb,0.21010e-01_rb,0.19131e-01_rb,0.16972e-01_rb,0.14595e-01_rb, & & 0.12040e-01_rb,0.92665e-02_rb,0.62059e-02_rb,0.39315e-02_rb /) kao(:, 4,10, 9) = (/ & & 0.22331e-01_rb,0.21144e-01_rb,0.19334e-01_rb,0.17233e-01_rb,0.14916e-01_rb, & & 0.12396e-01_rb,0.96355e-02_rb,0.65507e-02_rb,0.43409e-02_rb /) kao(:, 5,10, 9) = (/ & & 0.22332e-01_rb,0.21248e-01_rb,0.19527e-01_rb,0.17517e-01_rb,0.15252e-01_rb, & & 0.12765e-01_rb,0.10012e-01_rb,0.69176e-02_rb,0.47851e-02_rb /) kao(:, 1,11, 9) = (/ & & 0.21611e-01_rb,0.20177e-01_rb,0.18220e-01_rb,0.16014e-01_rb,0.13625e-01_rb, & & 0.11072e-01_rb,0.83376e-02_rb,0.53526e-02_rb,0.32967e-02_rb /) kao(:, 2,11, 9) = (/ & & 0.21754e-01_rb,0.20431e-01_rb,0.18507e-01_rb,0.16333e-01_rb,0.13954e-01_rb, & & 0.11415e-01_rb,0.86702e-02_rb,0.56558e-02_rb,0.36779e-02_rb /) kao(:, 3,11, 9) = (/ & & 0.21862e-01_rb,0.20634e-01_rb,0.18769e-01_rb,0.16624e-01_rb,0.14280e-01_rb, & & 0.11762e-01_rb,0.90145e-02_rb,0.59759e-02_rb,0.40891e-02_rb /) kao(:, 4,11, 9) = (/ & & 0.21929e-01_rb,0.20796e-01_rb,0.18995e-01_rb,0.16914e-01_rb,0.14621e-01_rb, & & 0.12122e-01_rb,0.93752e-02_rb,0.63026e-02_rb,0.45492e-02_rb /) kao(:, 5,11, 9) = (/ & & 0.21956e-01_rb,0.20925e-01_rb,0.19222e-01_rb,0.17218e-01_rb,0.14974e-01_rb, & & 0.12492e-01_rb,0.97406e-02_rb,0.66508e-02_rb,0.50324e-02_rb /) kao(:, 1,12, 9) = (/ & & 0.20989e-01_rb,0.19649e-01_rb,0.17719e-01_rb,0.15554e-01_rb,0.13207e-01_rb, & & 0.10709e-01_rb,0.80423e-02_rb,0.51308e-02_rb,0.32152e-02_rb /) kao(:, 2,12, 9) = (/ & & 0.21187e-01_rb,0.19941e-01_rb,0.18042e-01_rb,0.15892e-01_rb,0.13549e-01_rb, & & 0.11055e-01_rb,0.83766e-02_rb,0.54250e-02_rb,0.35851e-02_rb /) kao(:, 3,12, 9) = (/ & & 0.21336e-01_rb,0.20173e-01_rb,0.18327e-01_rb,0.16203e-01_rb,0.13894e-01_rb, & & 0.11411e-01_rb,0.87228e-02_rb,0.57329e-02_rb,0.40006e-02_rb /) kao(:, 4,12, 9) = (/ & & 0.21440e-01_rb,0.20364e-01_rb,0.18584e-01_rb,0.16516e-01_rb,0.14243e-01_rb, & & 0.11781e-01_rb,0.90825e-02_rb,0.60483e-02_rb,0.44327e-02_rb /) kao(:, 5,12, 9) = (/ & & 0.21509e-01_rb,0.20531e-01_rb,0.18841e-01_rb,0.16838e-01_rb,0.14607e-01_rb, & & 0.12155e-01_rb,0.94413e-02_rb,0.63798e-02_rb,0.48628e-02_rb /) kao(:, 1,13, 9) = (/ & & 0.20300e-01_rb,0.19036e-01_rb,0.17142e-01_rb,0.15033e-01_rb,0.12745e-01_rb, & & 0.10318e-01_rb,0.77330e-02_rb,0.48977e-02_rb,0.29186e-02_rb /) kao(:, 2,13, 9) = (/ & & 0.20539e-01_rb,0.19361e-01_rb,0.17504e-01_rb,0.15398e-01_rb,0.13114e-01_rb, & & 0.10679e-01_rb,0.80651e-02_rb,0.51844e-02_rb,0.32743e-02_rb /) kao(:, 3,13, 9) = (/ & & 0.20734e-01_rb,0.19633e-01_rb,0.17821e-01_rb,0.15739e-01_rb,0.13481e-01_rb, & & 0.11044e-01_rb,0.84099e-02_rb,0.54812e-02_rb,0.36601e-02_rb /) kao(:, 4,13, 9) = (/ & & 0.20892e-01_rb,0.19871e-01_rb,0.18120e-01_rb,0.16090e-01_rb,0.13847e-01_rb, & & 0.11415e-01_rb,0.87615e-02_rb,0.57863e-02_rb,0.40403e-02_rb /) kao(:, 5,13, 9) = (/ & & 0.21016e-01_rb,0.20092e-01_rb,0.18420e-01_rb,0.16433e-01_rb,0.14220e-01_rb, & & 0.11787e-01_rb,0.91177e-02_rb,0.61020e-02_rb,0.44775e-02_rb /) kao(:, 1, 1,10) = (/ & & 0.32077e-01_rb,0.29717e-01_rb,0.27957e-01_rb,0.27088e-01_rb,0.26148e-01_rb, & & 0.25463e-01_rb,0.27887e-01_rb,0.32409e-01_rb,0.37623e-01_rb /) kao(:, 2, 1,10) = (/ & & 0.31656e-01_rb,0.29512e-01_rb,0.28047e-01_rb,0.27317e-01_rb,0.26667e-01_rb, & & 0.26788e-01_rb,0.30344e-01_rb,0.35248e-01_rb,0.40533e-01_rb /) kao(:, 3, 1,10) = (/ & & 0.31222e-01_rb,0.29398e-01_rb,0.28183e-01_rb,0.27633e-01_rb,0.27598e-01_rb, & & 0.28788e-01_rb,0.33344e-01_rb,0.38694e-01_rb,0.44458e-01_rb /) kao(:, 4, 1,10) = (/ & & 0.30838e-01_rb,0.29185e-01_rb,0.28219e-01_rb,0.28269e-01_rb,0.28900e-01_rb, & & 0.31215e-01_rb,0.36765e-01_rb,0.42659e-01_rb,0.48710e-01_rb /) kao(:, 5, 1,10) = (/ & & 0.30476e-01_rb,0.28982e-01_rb,0.28435e-01_rb,0.29011e-01_rb,0.30822e-01_rb, & & 0.34422e-01_rb,0.40770e-01_rb,0.47309e-01_rb,0.54027e-01_rb /) kao(:, 1, 2,10) = (/ & & 0.34215e-01_rb,0.31859e-01_rb,0.30015e-01_rb,0.28551e-01_rb,0.26684e-01_rb, & & 0.25243e-01_rb,0.25874e-01_rb,0.29803e-01_rb,0.34327e-01_rb /) kao(:, 2, 2,10) = (/ & & 0.33819e-01_rb,0.31701e-01_rb,0.30099e-01_rb,0.28712e-01_rb,0.27156e-01_rb, & & 0.26446e-01_rb,0.28380e-01_rb,0.32886e-01_rb,0.37685e-01_rb /) kao(:, 3, 2,10) = (/ & & 0.33393e-01_rb,0.31477e-01_rb,0.30146e-01_rb,0.28931e-01_rb,0.28112e-01_rb, & & 0.28308e-01_rb,0.31383e-01_rb,0.36360e-01_rb,0.41605e-01_rb /) kao(:, 4, 2,10) = (/ & & 0.33012e-01_rb,0.31222e-01_rb,0.30110e-01_rb,0.29460e-01_rb,0.29343e-01_rb, & & 0.30463e-01_rb,0.34829e-01_rb,0.40350e-01_rb,0.46115e-01_rb /) kao(:, 5, 2,10) = (/ & & 0.32618e-01_rb,0.30977e-01_rb,0.30249e-01_rb,0.30140e-01_rb,0.31029e-01_rb, & & 0.33086e-01_rb,0.38518e-01_rb,0.44611e-01_rb,0.51063e-01_rb /) kao(:, 1, 3,10) = (/ & & 0.36609e-01_rb,0.34016e-01_rb,0.32008e-01_rb,0.30013e-01_rb,0.27528e-01_rb, & & 0.25143e-01_rb,0.24092e-01_rb,0.26746e-01_rb,0.30590e-01_rb /) kao(:, 2, 3,10) = (/ & & 0.36187e-01_rb,0.33816e-01_rb,0.32068e-01_rb,0.30121e-01_rb,0.27943e-01_rb, & & 0.26137e-01_rb,0.26190e-01_rb,0.29769e-01_rb,0.34003e-01_rb /) kao(:, 3, 3,10) = (/ & & 0.35755e-01_rb,0.33555e-01_rb,0.32022e-01_rb,0.30354e-01_rb,0.28696e-01_rb, & & 0.27732e-01_rb,0.28744e-01_rb,0.33056e-01_rb,0.37754e-01_rb /) kao(:, 4, 3,10) = (/ & & 0.35304e-01_rb,0.33277e-01_rb,0.31985e-01_rb,0.30856e-01_rb,0.29759e-01_rb, & & 0.29582e-01_rb,0.31793e-01_rb,0.36769e-01_rb,0.41965e-01_rb /) kao(:, 5, 3,10) = (/ & & 0.34895e-01_rb,0.32987e-01_rb,0.32094e-01_rb,0.31490e-01_rb,0.31100e-01_rb, & & 0.31735e-01_rb,0.35104e-01_rb,0.40646e-01_rb,0.46442e-01_rb /) kao(:, 1, 4,10) = (/ & & 0.38977e-01_rb,0.36120e-01_rb,0.33897e-01_rb,0.31410e-01_rb,0.28525e-01_rb, & & 0.25373e-01_rb,0.22918e-01_rb,0.23596e-01_rb,0.26905e-01_rb /) kao(:, 2, 4,10) = (/ & & 0.38508e-01_rb,0.35924e-01_rb,0.33917e-01_rb,0.31530e-01_rb,0.28933e-01_rb, & & 0.26161e-01_rb,0.24652e-01_rb,0.26430e-01_rb,0.30108e-01_rb /) kao(:, 3, 4,10) = (/ & & 0.38014e-01_rb,0.35658e-01_rb,0.33872e-01_rb,0.31757e-01_rb,0.29547e-01_rb, & & 0.27436e-01_rb,0.26616e-01_rb,0.29450e-01_rb,0.33541e-01_rb /) kao(:, 4, 4,10) = (/ & & 0.37555e-01_rb,0.35363e-01_rb,0.33895e-01_rb,0.32125e-01_rb,0.30540e-01_rb, & & 0.28878e-01_rb,0.28956e-01_rb,0.32793e-01_rb,0.37351e-01_rb /) kao(:, 5, 4,10) = (/ & & 0.37151e-01_rb,0.35088e-01_rb,0.33984e-01_rb,0.32788e-01_rb,0.31573e-01_rb, & & 0.30633e-01_rb,0.31627e-01_rb,0.36308e-01_rb,0.41371e-01_rb /) kao(:, 1, 5,10) = (/ & & 0.41153e-01_rb,0.38034e-01_rb,0.35706e-01_rb,0.32805e-01_rb,0.29387e-01_rb, & & 0.25927e-01_rb,0.22231e-01_rb,0.20561e-01_rb,0.23186e-01_rb /) kao(:, 2, 5,10) = (/ & & 0.40611e-01_rb,0.37835e-01_rb,0.35759e-01_rb,0.32923e-01_rb,0.29781e-01_rb, & & 0.26577e-01_rb,0.23565e-01_rb,0.23003e-01_rb,0.26110e-01_rb /) kao(:, 3, 5,10) = (/ & & 0.40174e-01_rb,0.37589e-01_rb,0.35747e-01_rb,0.33131e-01_rb,0.30334e-01_rb, & & 0.27648e-01_rb,0.25145e-01_rb,0.25696e-01_rb,0.29208e-01_rb /) kao(:, 4, 5,10) = (/ & & 0.39802e-01_rb,0.37389e-01_rb,0.35760e-01_rb,0.33447e-01_rb,0.31294e-01_rb, & & 0.28785e-01_rb,0.27005e-01_rb,0.28729e-01_rb,0.32665e-01_rb /) kao(:, 5, 5,10) = (/ & & 0.39471e-01_rb,0.37195e-01_rb,0.35872e-01_rb,0.34084e-01_rb,0.32227e-01_rb, & & 0.30087e-01_rb,0.29177e-01_rb,0.32029e-01_rb,0.36449e-01_rb /) kao(:, 1, 6,10) = (/ & & 0.43370e-01_rb,0.39997e-01_rb,0.37440e-01_rb,0.34118e-01_rb,0.30345e-01_rb, & & 0.26246e-01_rb,0.21955e-01_rb,0.18231e-01_rb,0.19573e-01_rb /) kao(:, 2, 6,10) = (/ & & 0.42801e-01_rb,0.39763e-01_rb,0.37480e-01_rb,0.34252e-01_rb,0.30723e-01_rb, & & 0.26892e-01_rb,0.22943e-01_rb,0.20080e-01_rb,0.22108e-01_rb /) kao(:, 3, 6,10) = (/ & & 0.42453e-01_rb,0.39592e-01_rb,0.37449e-01_rb,0.34486e-01_rb,0.31160e-01_rb, & & 0.27853e-01_rb,0.24129e-01_rb,0.22254e-01_rb,0.24945e-01_rb /) kao(:, 4, 6,10) = (/ & & 0.42151e-01_rb,0.39446e-01_rb,0.37500e-01_rb,0.34777e-01_rb,0.31970e-01_rb, & & 0.28872e-01_rb,0.25539e-01_rb,0.24809e-01_rb,0.28086e-01_rb /) kao(:, 5, 6,10) = (/ & & 0.41833e-01_rb,0.39344e-01_rb,0.37631e-01_rb,0.35392e-01_rb,0.32810e-01_rb, & & 0.29983e-01_rb,0.27309e-01_rb,0.27744e-01_rb,0.31535e-01_rb /) kao(:, 1, 7,10) = (/ & & 0.45445e-01_rb,0.41961e-01_rb,0.39238e-01_rb,0.35426e-01_rb,0.31192e-01_rb, & & 0.26649e-01_rb,0.21695e-01_rb,0.16623e-01_rb,0.16293e-01_rb /) kao(:, 2, 7,10) = (/ & & 0.45078e-01_rb,0.41797e-01_rb,0.39225e-01_rb,0.35507e-01_rb,0.31562e-01_rb, & & 0.27229e-01_rb,0.22532e-01_rb,0.18019e-01_rb,0.18534e-01_rb /) kao(:, 3, 7,10) = (/ & & 0.44870e-01_rb,0.41785e-01_rb,0.39209e-01_rb,0.35749e-01_rb,0.31958e-01_rb, & & 0.27976e-01_rb,0.23572e-01_rb,0.19783e-01_rb,0.21105e-01_rb /) kao(:, 4, 7,10) = (/ & & 0.44638e-01_rb,0.41726e-01_rb,0.39301e-01_rb,0.35989e-01_rb,0.32614e-01_rb, & & 0.28887e-01_rb,0.24743e-01_rb,0.21842e-01_rb,0.23947e-01_rb /) kao(:, 5, 7,10) = (/ & & 0.44319e-01_rb,0.41703e-01_rb,0.39403e-01_rb,0.36491e-01_rb,0.33461e-01_rb, & & 0.29864e-01_rb,0.26133e-01_rb,0.24238e-01_rb,0.27063e-01_rb /) kao(:, 1, 8,10) = (/ & & 0.47338e-01_rb,0.43694e-01_rb,0.40795e-01_rb,0.36657e-01_rb,0.31991e-01_rb, & & 0.26976e-01_rb,0.21436e-01_rb,0.15589e-01_rb,0.13371e-01_rb /) kao(:, 2, 8,10) = (/ & & 0.47172e-01_rb,0.43681e-01_rb,0.40850e-01_rb,0.36728e-01_rb,0.32341e-01_rb, & & 0.27474e-01_rb,0.22184e-01_rb,0.16691e-01_rb,0.15337e-01_rb /) kao(:, 3, 8,10) = (/ & & 0.47077e-01_rb,0.43885e-01_rb,0.40965e-01_rb,0.37016e-01_rb,0.32654e-01_rb, & & 0.28038e-01_rb,0.23084e-01_rb,0.18052e-01_rb,0.17670e-01_rb /) kao(:, 4, 8,10) = (/ & & 0.46877e-01_rb,0.43984e-01_rb,0.41138e-01_rb,0.37264e-01_rb,0.33142e-01_rb, & & 0.28868e-01_rb,0.24126e-01_rb,0.19696e-01_rb,0.20174e-01_rb /) kao(:, 5, 8,10) = (/ & & 0.46627e-01_rb,0.44042e-01_rb,0.41218e-01_rb,0.37582e-01_rb,0.33931e-01_rb, & & 0.29818e-01_rb,0.25367e-01_rb,0.21590e-01_rb,0.22899e-01_rb /) kao(:, 1, 9,10) = (/ & & 0.49069e-01_rb,0.45230e-01_rb,0.41949e-01_rb,0.37482e-01_rb,0.32547e-01_rb, & & 0.27221e-01_rb,0.21190e-01_rb,0.14771e-01_rb,0.82104e-02_rb /) kao(:, 2, 9,10) = (/ & & 0.48982e-01_rb,0.45358e-01_rb,0.42113e-01_rb,0.37642e-01_rb,0.32970e-01_rb, & & 0.27650e-01_rb,0.21850e-01_rb,0.15738e-01_rb,0.94586e-02_rb /) kao(:, 3, 9,10) = (/ & & 0.48934e-01_rb,0.45677e-01_rb,0.42390e-01_rb,0.38084e-01_rb,0.33301e-01_rb, & & 0.28097e-01_rb,0.22664e-01_rb,0.16844e-01_rb,0.11686e-01_rb /) kao(:, 4, 9,10) = (/ & & 0.48760e-01_rb,0.45876e-01_rb,0.42614e-01_rb,0.38405e-01_rb,0.33732e-01_rb, & & 0.28793e-01_rb,0.23625e-01_rb,0.18186e-01_rb,0.14417e-01_rb /) kao(:, 5, 9,10) = (/ & & 0.48535e-01_rb,0.45946e-01_rb,0.42722e-01_rb,0.38669e-01_rb,0.34439e-01_rb, & & 0.29718e-01_rb,0.24746e-01_rb,0.19636e-01_rb,0.17490e-01_rb /) kao(:, 1,10,10) = (/ & & 0.50581e-01_rb,0.46588e-01_rb,0.42861e-01_rb,0.37978e-01_rb,0.32756e-01_rb, & & 0.27218e-01_rb,0.20963e-01_rb,0.14152e-01_rb,0.94977e-02_rb /) kao(:, 2,10,10) = (/ & & 0.50552e-01_rb,0.46832e-01_rb,0.43092e-01_rb,0.38231e-01_rb,0.33230e-01_rb, & & 0.27672e-01_rb,0.21597e-01_rb,0.15000e-01_rb,0.11069e-01_rb /) kao(:, 3,10,10) = (/ & & 0.50470e-01_rb,0.47126e-01_rb,0.43390e-01_rb,0.38763e-01_rb,0.33692e-01_rb, & & 0.28191e-01_rb,0.22303e-01_rb,0.15932e-01_rb,0.12529e-01_rb /) kao(:, 4,10,10) = (/ & & 0.50251e-01_rb,0.47290e-01_rb,0.43621e-01_rb,0.39150e-01_rb,0.34250e-01_rb, & & 0.28907e-01_rb,0.23153e-01_rb,0.17091e-01_rb,0.14647e-01_rb /) kao(:, 5,10,10) = (/ & & 0.50025e-01_rb,0.47335e-01_rb,0.43789e-01_rb,0.39526e-01_rb,0.34961e-01_rb, & & 0.29783e-01_rb,0.24207e-01_rb,0.18303e-01_rb,0.16505e-01_rb /) kao(:, 1,11,10) = (/ & & 0.51775e-01_rb,0.47733e-01_rb,0.43604e-01_rb,0.38377e-01_rb,0.33010e-01_rb, & & 0.27211e-01_rb,0.20853e-01_rb,0.13952e-01_rb,0.10099e-01_rb /) kao(:, 2,11,10) = (/ & & 0.51722e-01_rb,0.48082e-01_rb,0.43912e-01_rb,0.38859e-01_rb,0.33550e-01_rb, & & 0.27720e-01_rb,0.21535e-01_rb,0.14746e-01_rb,0.11460e-01_rb /) kao(:, 3,11,10) = (/ & & 0.51577e-01_rb,0.48309e-01_rb,0.44107e-01_rb,0.39371e-01_rb,0.34132e-01_rb, & & 0.28431e-01_rb,0.22288e-01_rb,0.15640e-01_rb,0.12761e-01_rb /) kao(:, 4,11,10) = (/ & & 0.51367e-01_rb,0.48474e-01_rb,0.44409e-01_rb,0.39819e-01_rb,0.34807e-01_rb, & & 0.29240e-01_rb,0.23192e-01_rb,0.16707e-01_rb,0.14096e-01_rb /) kao(:, 5,11,10) = (/ & & 0.51186e-01_rb,0.48565e-01_rb,0.44658e-01_rb,0.40350e-01_rb,0.35545e-01_rb, & & 0.30221e-01_rb,0.24214e-01_rb,0.17744e-01_rb,0.15290e-01_rb /) kao(:, 1,12,10) = (/ & & 0.52731e-01_rb,0.48681e-01_rb,0.44186e-01_rb,0.38733e-01_rb,0.33169e-01_rb, & & 0.27108e-01_rb,0.20634e-01_rb,0.13723e-01_rb,0.97949e-02_rb /) kao(:, 2,12,10) = (/ & & 0.52654e-01_rb,0.49001e-01_rb,0.44433e-01_rb,0.39315e-01_rb,0.33776e-01_rb, & & 0.27772e-01_rb,0.21363e-01_rb,0.14506e-01_rb,0.11186e-01_rb /) kao(:, 3,12,10) = (/ & & 0.52581e-01_rb,0.49321e-01_rb,0.44768e-01_rb,0.39827e-01_rb,0.34382e-01_rb, & & 0.28565e-01_rb,0.22205e-01_rb,0.15366e-01_rb,0.12310e-01_rb /) kao(:, 4,12,10) = (/ & & 0.52474e-01_rb,0.49527e-01_rb,0.45170e-01_rb,0.40364e-01_rb,0.35120e-01_rb, & & 0.29376e-01_rb,0.23174e-01_rb,0.16305e-01_rb,0.14325e-01_rb /) kao(:, 5,12,10) = (/ & & 0.52313e-01_rb,0.49659e-01_rb,0.45526e-01_rb,0.41026e-01_rb,0.35905e-01_rb, & & 0.30399e-01_rb,0.24222e-01_rb,0.17291e-01_rb,0.16045e-01_rb /) kao(:, 1,13,10) = (/ & & 0.53347e-01_rb,0.49460e-01_rb,0.44667e-01_rb,0.39102e-01_rb,0.33300e-01_rb, & & 0.27005e-01_rb,0.20373e-01_rb,0.13403e-01_rb,0.88882e-02_rb /) kao(:, 2,13,10) = (/ & & 0.53473e-01_rb,0.49893e-01_rb,0.44992e-01_rb,0.39672e-01_rb,0.33886e-01_rb, & & 0.27737e-01_rb,0.21157e-01_rb,0.14194e-01_rb,0.99472e-02_rb /) kao(:, 3,13,10) = (/ & & 0.53543e-01_rb,0.50285e-01_rb,0.45484e-01_rb,0.40250e-01_rb,0.34541e-01_rb, & & 0.28510e-01_rb,0.22035e-01_rb,0.15061e-01_rb,0.11235e-01_rb /) kao(:, 4,13,10) = (/ & & 0.53461e-01_rb,0.50524e-01_rb,0.45912e-01_rb,0.40827e-01_rb,0.35322e-01_rb, & & 0.29374e-01_rb,0.23048e-01_rb,0.15925e-01_rb,0.12822e-01_rb /) kao(:, 5,13,10) = (/ & & 0.53278e-01_rb,0.50624e-01_rb,0.46303e-01_rb,0.41556e-01_rb,0.36186e-01_rb, & & 0.30414e-01_rb,0.24058e-01_rb,0.16868e-01_rb,0.14203e-01_rb /) kao(:, 1, 1,11) = (/ & & 0.37171e-01_rb,0.34434e-01_rb,0.32644e-01_rb,0.32703e-01_rb,0.33235e-01_rb, & & 0.36611e-01_rb,0.43526e-01_rb,0.50696e-01_rb,0.58297e-01_rb /) kao(:, 2, 1,11) = (/ & & 0.36741e-01_rb,0.34071e-01_rb,0.32455e-01_rb,0.33094e-01_rb,0.34229e-01_rb, & & 0.38792e-01_rb,0.46364e-01_rb,0.53998e-01_rb,0.61977e-01_rb /) kao(:, 3, 1,11) = (/ & & 0.36310e-01_rb,0.33795e-01_rb,0.32514e-01_rb,0.33548e-01_rb,0.35414e-01_rb, & & 0.41445e-01_rb,0.49627e-01_rb,0.57817e-01_rb,0.66049e-01_rb /) kao(:, 4, 1,11) = (/ & & 0.35845e-01_rb,0.33632e-01_rb,0.32631e-01_rb,0.34397e-01_rb,0.37428e-01_rb, & & 0.44985e-01_rb,0.53868e-01_rb,0.62763e-01_rb,0.71579e-01_rb /) kao(:, 5, 1,11) = (/ & & 0.35331e-01_rb,0.33379e-01_rb,0.32910e-01_rb,0.35528e-01_rb,0.39783e-01_rb, & & 0.48705e-01_rb,0.58316e-01_rb,0.67942e-01_rb,0.77160e-01_rb /) kao(:, 1, 2,11) = (/ & & 0.40448e-01_rb,0.37395e-01_rb,0.35029e-01_rb,0.34305e-01_rb,0.33991e-01_rb, & & 0.35316e-01_rb,0.40968e-01_rb,0.47712e-01_rb,0.54932e-01_rb /) kao(:, 2, 2,11) = (/ & & 0.39920e-01_rb,0.36968e-01_rb,0.34927e-01_rb,0.34599e-01_rb,0.34841e-01_rb, & & 0.37250e-01_rb,0.43923e-01_rb,0.51161e-01_rb,0.58827e-01_rb /) kao(:, 3, 2,11) = (/ & & 0.39405e-01_rb,0.36691e-01_rb,0.34999e-01_rb,0.35076e-01_rb,0.35924e-01_rb, & & 0.39772e-01_rb,0.47443e-01_rb,0.55253e-01_rb,0.63303e-01_rb /) kao(:, 4, 2,11) = (/ & & 0.38792e-01_rb,0.36414e-01_rb,0.35121e-01_rb,0.35787e-01_rb,0.37790e-01_rb, & & 0.43290e-01_rb,0.51773e-01_rb,0.60284e-01_rb,0.68983e-01_rb /) kao(:, 5, 2,11) = (/ & & 0.38190e-01_rb,0.36098e-01_rb,0.35328e-01_rb,0.36844e-01_rb,0.39952e-01_rb, & & 0.47291e-01_rb,0.56573e-01_rb,0.65870e-01_rb,0.75177e-01_rb /) kao(:, 1, 3,11) = (/ & & 0.43810e-01_rb,0.40500e-01_rb,0.37754e-01_rb,0.36293e-01_rb,0.34676e-01_rb, & & 0.34367e-01_rb,0.37493e-01_rb,0.43650e-01_rb,0.50087e-01_rb /) kao(:, 2, 3,11) = (/ & & 0.43199e-01_rb,0.40018e-01_rb,0.37716e-01_rb,0.36450e-01_rb,0.35395e-01_rb, & & 0.35866e-01_rb,0.40426e-01_rb,0.47076e-01_rb,0.53958e-01_rb /) kao(:, 3, 3,11) = (/ & & 0.42538e-01_rb,0.39757e-01_rb,0.37868e-01_rb,0.36772e-01_rb,0.36302e-01_rb, & & 0.37914e-01_rb,0.44070e-01_rb,0.51299e-01_rb,0.58670e-01_rb /) kao(:, 4, 3,11) = (/ & & 0.41856e-01_rb,0.39457e-01_rb,0.37979e-01_rb,0.37163e-01_rb,0.37947e-01_rb, & & 0.40970e-01_rb,0.48419e-01_rb,0.56334e-01_rb,0.64404e-01_rb /) kao(:, 5, 3,11) = (/ & & 0.41250e-01_rb,0.39154e-01_rb,0.38065e-01_rb,0.38049e-01_rb,0.39929e-01_rb, & & 0.44658e-01_rb,0.53223e-01_rb,0.61909e-01_rb,0.70665e-01_rb /) kao(:, 1, 4,11) = (/ & & 0.47088e-01_rb,0.43589e-01_rb,0.40605e-01_rb,0.38686e-01_rb,0.35713e-01_rb, & & 0.33942e-01_rb,0.34171e-01_rb,0.39143e-01_rb,0.44787e-01_rb /) kao(:, 2, 4,11) = (/ & & 0.46380e-01_rb,0.43081e-01_rb,0.40678e-01_rb,0.38772e-01_rb,0.36271e-01_rb, & & 0.35115e-01_rb,0.36728e-01_rb,0.42523e-01_rb,0.48625e-01_rb /) kao(:, 3, 4,11) = (/ & & 0.45787e-01_rb,0.42889e-01_rb,0.40853e-01_rb,0.39000e-01_rb,0.36901e-01_rb, & & 0.36794e-01_rb,0.40276e-01_rb,0.46812e-01_rb,0.53448e-01_rb /) kao(:, 4, 4,11) = (/ & & 0.45216e-01_rb,0.42628e-01_rb,0.40916e-01_rb,0.39286e-01_rb,0.38129e-01_rb, & & 0.39329e-01_rb,0.44499e-01_rb,0.51734e-01_rb,0.59041e-01_rb /) kao(:, 5, 4,11) = (/ & & 0.44698e-01_rb,0.42312e-01_rb,0.40992e-01_rb,0.39909e-01_rb,0.39896e-01_rb, & & 0.42322e-01_rb,0.49157e-01_rb,0.57134e-01_rb,0.65206e-01_rb /) kao(:, 1, 5,11) = (/ & & 0.50564e-01_rb,0.46864e-01_rb,0.43550e-01_rb,0.41145e-01_rb,0.37282e-01_rb, & & 0.33847e-01_rb,0.31921e-01_rb,0.34655e-01_rb,0.39581e-01_rb /) kao(:, 2, 5,11) = (/ & & 0.49853e-01_rb,0.46324e-01_rb,0.43735e-01_rb,0.41212e-01_rb,0.37826e-01_rb, & & 0.34760e-01_rb,0.33939e-01_rb,0.37988e-01_rb,0.43340e-01_rb /) kao(:, 3, 5,11) = (/ & & 0.49277e-01_rb,0.46142e-01_rb,0.43937e-01_rb,0.41409e-01_rb,0.38245e-01_rb, & & 0.36079e-01_rb,0.36891e-01_rb,0.42172e-01_rb,0.48104e-01_rb /) kao(:, 4, 5,11) = (/ & & 0.48731e-01_rb,0.45921e-01_rb,0.43964e-01_rb,0.41658e-01_rb,0.39073e-01_rb, & & 0.38270e-01_rb,0.40535e-01_rb,0.46833e-01_rb,0.53415e-01_rb /) kao(:, 5, 5,11) = (/ & & 0.48265e-01_rb,0.45648e-01_rb,0.43993e-01_rb,0.42096e-01_rb,0.40473e-01_rb, & & 0.40846e-01_rb,0.44703e-01_rb,0.51860e-01_rb,0.59120e-01_rb /) kao(:, 1, 6,11) = (/ & & 0.54155e-01_rb,0.50312e-01_rb,0.46699e-01_rb,0.43479e-01_rb,0.38935e-01_rb, & & 0.34460e-01_rb,0.30470e-01_rb,0.30214e-01_rb,0.34389e-01_rb /) kao(:, 2, 6,11) = (/ & & 0.53396e-01_rb,0.49741e-01_rb,0.46925e-01_rb,0.43573e-01_rb,0.39485e-01_rb, & & 0.35160e-01_rb,0.32122e-01_rb,0.33415e-01_rb,0.38087e-01_rb /) kao(:, 3, 6,11) = (/ & & 0.52823e-01_rb,0.49548e-01_rb,0.47130e-01_rb,0.43740e-01_rb,0.39828e-01_rb, & & 0.36044e-01_rb,0.34474e-01_rb,0.37304e-01_rb,0.42510e-01_rb /) kao(:, 4, 6,11) = (/ & & 0.52327e-01_rb,0.49384e-01_rb,0.47097e-01_rb,0.43937e-01_rb,0.40452e-01_rb, & & 0.37736e-01_rb,0.37393e-01_rb,0.41655e-01_rb,0.47452e-01_rb /) kao(:, 5, 6,11) = (/ & & 0.51903e-01_rb,0.49131e-01_rb,0.47026e-01_rb,0.44222e-01_rb,0.41687e-01_rb, & & 0.39818e-01_rb,0.40660e-01_rb,0.46275e-01_rb,0.52724e-01_rb /) kao(:, 1, 7,11) = (/ & & 0.58007e-01_rb,0.53733e-01_rb,0.49779e-01_rb,0.45887e-01_rb,0.40462e-01_rb, & & 0.35176e-01_rb,0.29765e-01_rb,0.26441e-01_rb,0.29320e-01_rb /) kao(:, 2, 7,11) = (/ & & 0.57151e-01_rb,0.53110e-01_rb,0.50041e-01_rb,0.45960e-01_rb,0.40973e-01_rb, & & 0.35887e-01_rb,0.31026e-01_rb,0.29123e-01_rb,0.32803e-01_rb /) kao(:, 3, 7,11) = (/ & & 0.56502e-01_rb,0.52846e-01_rb,0.50182e-01_rb,0.46056e-01_rb,0.41337e-01_rb, & & 0.36666e-01_rb,0.32781e-01_rb,0.32480e-01_rb,0.36858e-01_rb /) kao(:, 4, 7,11) = (/ & & 0.55999e-01_rb,0.52671e-01_rb,0.50072e-01_rb,0.46217e-01_rb,0.41835e-01_rb, & & 0.38000e-01_rb,0.35109e-01_rb,0.36308e-01_rb,0.41318e-01_rb /) kao(:, 5, 7,11) = (/ & & 0.55573e-01_rb,0.52382e-01_rb,0.49967e-01_rb,0.46401e-01_rb,0.42955e-01_rb, & & 0.39677e-01_rb,0.37716e-01_rb,0.40481e-01_rb,0.46095e-01_rb /) kao(:, 1, 8,11) = (/ & & 0.61929e-01_rb,0.57176e-01_rb,0.52730e-01_rb,0.48103e-01_rb,0.42015e-01_rb, & & 0.35869e-01_rb,0.29499e-01_rb,0.23665e-01_rb,0.24549e-01_rb /) kao(:, 2, 8,11) = (/ & & 0.61013e-01_rb,0.56553e-01_rb,0.52930e-01_rb,0.48080e-01_rb,0.42522e-01_rb, & & 0.36573e-01_rb,0.30581e-01_rb,0.25834e-01_rb,0.27791e-01_rb /) kao(:, 3, 8,11) = (/ & & 0.60303e-01_rb,0.56131e-01_rb,0.52872e-01_rb,0.48123e-01_rb,0.42911e-01_rb, & & 0.37343e-01_rb,0.31938e-01_rb,0.28446e-01_rb,0.31375e-01_rb /) kao(:, 4, 8,11) = (/ & & 0.59783e-01_rb,0.55843e-01_rb,0.52678e-01_rb,0.48331e-01_rb,0.43398e-01_rb, & & 0.38468e-01_rb,0.33698e-01_rb,0.31535e-01_rb,0.35398e-01_rb /) kao(:, 5, 8,11) = (/ & & 0.59221e-01_rb,0.55525e-01_rb,0.52626e-01_rb,0.48547e-01_rb,0.44309e-01_rb, & & 0.39969e-01_rb,0.35748e-01_rb,0.35119e-01_rb,0.39791e-01_rb /) kao(:, 1, 9,11) = (/ & & 0.65420e-01_rb,0.60290e-01_rb,0.55521e-01_rb,0.50117e-01_rb,0.43421e-01_rb, & & 0.36608e-01_rb,0.29349e-01_rb,0.21841e-01_rb,0.18774e-01_rb /) kao(:, 2, 9,11) = (/ & & 0.64534e-01_rb,0.59710e-01_rb,0.55627e-01_rb,0.50054e-01_rb,0.43842e-01_rb, & & 0.37357e-01_rb,0.30337e-01_rb,0.23525e-01_rb,0.22756e-01_rb /) kao(:, 3, 9,11) = (/ & & 0.63805e-01_rb,0.59237e-01_rb,0.55452e-01_rb,0.50019e-01_rb,0.44319e-01_rb, & & 0.38089e-01_rb,0.31491e-01_rb,0.25524e-01_rb,0.26401e-01_rb /) kao(:, 4, 9,11) = (/ & & 0.63315e-01_rb,0.59001e-01_rb,0.55252e-01_rb,0.50261e-01_rb,0.44802e-01_rb, & & 0.39006e-01_rb,0.32915e-01_rb,0.27972e-01_rb,0.30021e-01_rb /) kao(:, 5, 9,11) = (/ & & 0.62781e-01_rb,0.58825e-01_rb,0.55257e-01_rb,0.50524e-01_rb,0.45567e-01_rb, & & 0.40297e-01_rb,0.34643e-01_rb,0.30888e-01_rb,0.34021e-01_rb /) kao(:, 1,10,11) = (/ & & 0.68132e-01_rb,0.62682e-01_rb,0.57743e-01_rb,0.51836e-01_rb,0.44670e-01_rb, & & 0.37300e-01_rb,0.29365e-01_rb,0.20724e-01_rb,0.15957e-01_rb /) kao(:, 2,10,11) = (/ & & 0.67210e-01_rb,0.62151e-01_rb,0.57960e-01_rb,0.51867e-01_rb,0.45128e-01_rb, & & 0.38064e-01_rb,0.30245e-01_rb,0.22146e-01_rb,0.17704e-01_rb /) kao(:, 3,10,11) = (/ & & 0.66632e-01_rb,0.61949e-01_rb,0.57882e-01_rb,0.51878e-01_rb,0.45637e-01_rb, & & 0.38758e-01_rb,0.31283e-01_rb,0.23744e-01_rb,0.20098e-01_rb /) kao(:, 4,10,11) = (/ & & 0.66350e-01_rb,0.62044e-01_rb,0.57835e-01_rb,0.52180e-01_rb,0.46090e-01_rb, & & 0.39573e-01_rb,0.32509e-01_rb,0.25642e-01_rb,0.22076e-01_rb /) kao(:, 5,10,11) = (/ & & 0.65965e-01_rb,0.62105e-01_rb,0.57959e-01_rb,0.52489e-01_rb,0.46765e-01_rb, & & 0.40717e-01_rb,0.34057e-01_rb,0.28015e-01_rb,0.24829e-01_rb /) kao(:, 1,11,11) = (/ & & 0.69905e-01_rb,0.64410e-01_rb,0.59589e-01_rb,0.53150e-01_rb,0.45760e-01_rb, & & 0.38179e-01_rb,0.29785e-01_rb,0.20444e-01_rb,0.16092e-01_rb /) kao(:, 2,11,11) = (/ & & 0.69271e-01_rb,0.64175e-01_rb,0.59782e-01_rb,0.53281e-01_rb,0.46486e-01_rb, & & 0.38949e-01_rb,0.30645e-01_rb,0.21725e-01_rb,0.17857e-01_rb /) kao(:, 3,11,11) = (/ & & 0.69073e-01_rb,0.64491e-01_rb,0.59955e-01_rb,0.53684e-01_rb,0.46981e-01_rb, & & 0.39609e-01_rb,0.31674e-01_rb,0.23165e-01_rb,0.20394e-01_rb /) kao(:, 4,11,11) = (/ & & 0.68904e-01_rb,0.64793e-01_rb,0.60179e-01_rb,0.54162e-01_rb,0.47530e-01_rb, & & 0.40495e-01_rb,0.32809e-01_rb,0.24930e-01_rb,0.23016e-01_rb /) kao(:, 5,11,11) = (/ & & 0.68639e-01_rb,0.65010e-01_rb,0.60484e-01_rb,0.54605e-01_rb,0.48370e-01_rb, & & 0.41561e-01_rb,0.34350e-01_rb,0.26933e-01_rb,0.26488e-01_rb /) kao(:, 1,12,11) = (/ & & 0.71529e-01_rb,0.66044e-01_rb,0.61072e-01_rb,0.54140e-01_rb,0.46654e-01_rb, & & 0.38794e-01_rb,0.29996e-01_rb,0.20236e-01_rb,0.16124e-01_rb /) kao(:, 2,12,11) = (/ & & 0.71291e-01_rb,0.66315e-01_rb,0.61418e-01_rb,0.54500e-01_rb,0.47446e-01_rb, & & 0.39590e-01_rb,0.30905e-01_rb,0.21401e-01_rb,0.17542e-01_rb /) kao(:, 3,12,11) = (/ & & 0.71222e-01_rb,0.66826e-01_rb,0.61770e-01_rb,0.55219e-01_rb,0.48148e-01_rb, & & 0.40334e-01_rb,0.31908e-01_rb,0.22727e-01_rb,0.19804e-01_rb /) kao(:, 4,12,11) = (/ & & 0.71079e-01_rb,0.67236e-01_rb,0.62161e-01_rb,0.55849e-01_rb,0.48917e-01_rb, & & 0.41311e-01_rb,0.33042e-01_rb,0.24356e-01_rb,0.21082e-01_rb /) kao(:, 5,12,11) = (/ & & 0.70901e-01_rb,0.67518e-01_rb,0.62549e-01_rb,0.56439e-01_rb,0.49900e-01_rb, & & 0.42406e-01_rb,0.34548e-01_rb,0.26106e-01_rb,0.23666e-01_rb /) kao(:, 1,13,11) = (/ & & 0.73149e-01_rb,0.67708e-01_rb,0.62294e-01_rb,0.54947e-01_rb,0.47337e-01_rb, & & 0.39165e-01_rb,0.30053e-01_rb,0.20069e-01_rb,0.15304e-01_rb /) kao(:, 2,13,11) = (/ & & 0.73122e-01_rb,0.68287e-01_rb,0.62803e-01_rb,0.55664e-01_rb,0.48241e-01_rb, & & 0.39986e-01_rb,0.31044e-01_rb,0.21133e-01_rb,0.17384e-01_rb /) kao(:, 3,13,11) = (/ & & 0.73057e-01_rb,0.68826e-01_rb,0.63303e-01_rb,0.56536e-01_rb,0.49104e-01_rb, & & 0.40926e-01_rb,0.32050e-01_rb,0.22349e-01_rb,0.18964e-01_rb /) kao(:, 4,13,11) = (/ & & 0.73037e-01_rb,0.69286e-01_rb,0.63846e-01_rb,0.57252e-01_rb,0.50018e-01_rb, & & 0.42025e-01_rb,0.33217e-01_rb,0.23850e-01_rb,0.20572e-01_rb /) kao(:, 5,13,11) = (/ & & 0.73013e-01_rb,0.69604e-01_rb,0.64290e-01_rb,0.57954e-01_rb,0.51076e-01_rb, & & 0.43212e-01_rb,0.34653e-01_rb,0.25391e-01_rb,0.23448e-01_rb /) kao(:, 1, 1,12) = (/ & & 0.43248e-01_rb,0.41017e-01_rb,0.40213e-01_rb,0.39821e-01_rb,0.45256e-01_rb, & & 0.55821e-01_rb,0.66932e-01_rb,0.78037e-01_rb,0.88086e-01_rb /) kao(:, 2, 1,12) = (/ & & 0.42407e-01_rb,0.40307e-01_rb,0.40078e-01_rb,0.40681e-01_rb,0.47543e-01_rb, & & 0.59099e-01_rb,0.70845e-01_rb,0.82585e-01_rb,0.93228e-01_rb /) kao(:, 3, 1,12) = (/ & & 0.41692e-01_rb,0.39727e-01_rb,0.39865e-01_rb,0.41830e-01_rb,0.50093e-01_rb, & & 0.62450e-01_rb,0.74841e-01_rb,0.87232e-01_rb,0.98476e-01_rb /) kao(:, 4, 1,12) = (/ & & 0.41002e-01_rb,0.39248e-01_rb,0.39945e-01_rb,0.42942e-01_rb,0.52768e-01_rb, & & 0.65829e-01_rb,0.78890e-01_rb,0.91937e-01_rb,0.10362e+00_rb /) kao(:, 5, 1,12) = (/ & & 0.40428e-01_rb,0.39045e-01_rb,0.40116e-01_rb,0.44981e-01_rb,0.56655e-01_rb, & & 0.70681e-01_rb,0.84705e-01_rb,0.98731e-01_rb,0.11111e+00_rb /) kao(:, 1, 2,12) = (/ & & 0.47227e-01_rb,0.44198e-01_rb,0.42698e-01_rb,0.42511e-01_rb,0.46394e-01_rb, & & 0.55784e-01_rb,0.66888e-01_rb,0.77989e-01_rb,0.88812e-01_rb /) kao(:, 2, 2,12) = (/ & & 0.46375e-01_rb,0.43473e-01_rb,0.42428e-01_rb,0.43299e-01_rb,0.48252e-01_rb, & & 0.59000e-01_rb,0.70708e-01_rb,0.82423e-01_rb,0.93885e-01_rb /) kao(:, 3, 2,12) = (/ & & 0.45650e-01_rb,0.42988e-01_rb,0.42307e-01_rb,0.44252e-01_rb,0.50414e-01_rb, & & 0.62373e-01_rb,0.74750e-01_rb,0.87127e-01_rb,0.99197e-01_rb /) kao(:, 4, 2,12) = (/ & & 0.44980e-01_rb,0.42686e-01_rb,0.42476e-01_rb,0.45355e-01_rb,0.53027e-01_rb, & & 0.66067e-01_rb,0.79179e-01_rb,0.92288e-01_rb,0.10480e+00_rb /) kao(:, 5, 2,12) = (/ & & 0.44383e-01_rb,0.42475e-01_rb,0.42723e-01_rb,0.47155e-01_rb,0.57007e-01_rb, & & 0.71138e-01_rb,0.85276e-01_rb,0.99396e-01_rb,0.11272e+00_rb /) kao(:, 1, 3,12) = (/ & & 0.51829e-01_rb,0.48303e-01_rb,0.45805e-01_rb,0.45348e-01_rb,0.47474e-01_rb, & & 0.53773e-01_rb,0.64381e-01_rb,0.75065e-01_rb,0.85879e-01_rb /) kao(:, 2, 3,12) = (/ & & 0.50945e-01_rb,0.47626e-01_rb,0.45531e-01_rb,0.46104e-01_rb,0.48805e-01_rb, & & 0.57008e-01_rb,0.68342e-01_rb,0.79675e-01_rb,0.91103e-01_rb /) kao(:, 3, 3,12) = (/ & & 0.50329e-01_rb,0.47163e-01_rb,0.45393e-01_rb,0.46795e-01_rb,0.50514e-01_rb, & & 0.60488e-01_rb,0.72503e-01_rb,0.84519e-01_rb,0.96625e-01_rb /) kao(:, 4, 3,12) = (/ & & 0.49725e-01_rb,0.46894e-01_rb,0.45600e-01_rb,0.47784e-01_rb,0.52670e-01_rb, & & 0.64382e-01_rb,0.77172e-01_rb,0.89966e-01_rb,0.10271e+00_rb /) kao(:, 5, 3,12) = (/ & & 0.49109e-01_rb,0.46633e-01_rb,0.45896e-01_rb,0.49191e-01_rb,0.56129e-01_rb, & & 0.69438e-01_rb,0.83245e-01_rb,0.97061e-01_rb,0.11071e+00_rb /) kao(:, 1, 4,12) = (/ & & 0.57082e-01_rb,0.53110e-01_rb,0.49763e-01_rb,0.48460e-01_rb,0.48719e-01_rb, & & 0.51181e-01_rb,0.59984e-01_rb,0.69952e-01_rb,0.80045e-01_rb /) kao(:, 2, 4,12) = (/ & & 0.56133e-01_rb,0.52450e-01_rb,0.49568e-01_rb,0.49064e-01_rb,0.49725e-01_rb, & & 0.54041e-01_rb,0.64091e-01_rb,0.74728e-01_rb,0.85496e-01_rb /) kao(:, 3, 4,12) = (/ & & 0.55439e-01_rb,0.51866e-01_rb,0.49497e-01_rb,0.49475e-01_rb,0.51076e-01_rb, & & 0.57243e-01_rb,0.68327e-01_rb,0.79652e-01_rb,0.91098e-01_rb /) kao(:, 4, 4,12) = (/ & & 0.54777e-01_rb,0.51575e-01_rb,0.49681e-01_rb,0.50221e-01_rb,0.52765e-01_rb, & & 0.61084e-01_rb,0.73197e-01_rb,0.85337e-01_rb,0.97552e-01_rb /) kao(:, 5, 4,12) = (/ & & 0.54098e-01_rb,0.51233e-01_rb,0.49878e-01_rb,0.51295e-01_rb,0.55484e-01_rb, & & 0.66162e-01_rb,0.79298e-01_rb,0.92434e-01_rb,0.10558e+00_rb /) kao(:, 1, 5,12) = (/ & & 0.62544e-01_rb,0.58281e-01_rb,0.54351e-01_rb,0.52107e-01_rb,0.50211e-01_rb, & & 0.49416e-01_rb,0.54519e-01_rb,0.63528e-01_rb,0.72634e-01_rb /) kao(:, 2, 5,12) = (/ & & 0.61658e-01_rb,0.57644e-01_rb,0.54210e-01_rb,0.52563e-01_rb,0.50949e-01_rb, & & 0.51794e-01_rb,0.58802e-01_rb,0.68560e-01_rb,0.78383e-01_rb /) kao(:, 3, 5,12) = (/ & & 0.60918e-01_rb,0.57016e-01_rb,0.54117e-01_rb,0.52719e-01_rb,0.52074e-01_rb, & & 0.54457e-01_rb,0.63161e-01_rb,0.73629e-01_rb,0.84158e-01_rb /) kao(:, 4, 5,12) = (/ & & 0.60164e-01_rb,0.56692e-01_rb,0.54302e-01_rb,0.53086e-01_rb,0.53404e-01_rb, & & 0.57689e-01_rb,0.68126e-01_rb,0.79422e-01_rb,0.90757e-01_rb /) kao(:, 5, 5,12) = (/ & & 0.59366e-01_rb,0.56267e-01_rb,0.54377e-01_rb,0.53811e-01_rb,0.55627e-01_rb, & & 0.62331e-01_rb,0.74295e-01_rb,0.86596e-01_rb,0.98923e-01_rb /) kao(:, 1, 6,12) = (/ & & 0.68500e-01_rb,0.63504e-01_rb,0.59102e-01_rb,0.56112e-01_rb,0.52198e-01_rb, & & 0.48725e-01_rb,0.49458e-01_rb,0.56540e-01_rb,0.64611e-01_rb /) kao(:, 2, 6,12) = (/ & & 0.67642e-01_rb,0.62951e-01_rb,0.59010e-01_rb,0.56509e-01_rb,0.52640e-01_rb, & & 0.50781e-01_rb,0.53492e-01_rb,0.61845e-01_rb,0.70650e-01_rb /) kao(:, 3, 6,12) = (/ & & 0.66730e-01_rb,0.62270e-01_rb,0.58880e-01_rb,0.56541e-01_rb,0.53578e-01_rb, & & 0.52912e-01_rb,0.57553e-01_rb,0.66900e-01_rb,0.76420e-01_rb /) kao(:, 4, 6,12) = (/ & & 0.65853e-01_rb,0.61851e-01_rb,0.59079e-01_rb,0.56674e-01_rb,0.54628e-01_rb, & & 0.55405e-01_rb,0.62327e-01_rb,0.72621e-01_rb,0.82946e-01_rb /) kao(:, 5, 6,12) = (/ & & 0.64917e-01_rb,0.61395e-01_rb,0.59088e-01_rb,0.57140e-01_rb,0.56317e-01_rb, & & 0.59242e-01_rb,0.68519e-01_rb,0.79819e-01_rb,0.91147e-01_rb /) kao(:, 1, 7,12) = (/ & & 0.74814e-01_rb,0.69115e-01_rb,0.63783e-01_rb,0.59970e-01_rb,0.54833e-01_rb, & & 0.49011e-01_rb,0.46051e-01_rb,0.49756e-01_rb,0.56816e-01_rb /) kao(:, 2, 7,12) = (/ & & 0.73755e-01_rb,0.68509e-01_rb,0.63672e-01_rb,0.60441e-01_rb,0.55205e-01_rb, & & 0.50759e-01_rb,0.49447e-01_rb,0.55044e-01_rb,0.62843e-01_rb /) kao(:, 3, 7,12) = (/ & & 0.72664e-01_rb,0.67698e-01_rb,0.63630e-01_rb,0.60499e-01_rb,0.55993e-01_rb, & & 0.52467e-01_rb,0.52809e-01_rb,0.59966e-01_rb,0.68463e-01_rb /) kao(:, 4, 7,12) = (/ & & 0.71633e-01_rb,0.67174e-01_rb,0.63866e-01_rb,0.60581e-01_rb,0.56744e-01_rb, & & 0.54377e-01_rb,0.56941e-01_rb,0.65640e-01_rb,0.74923e-01_rb /) kao(:, 5, 7,12) = (/ & & 0.70621e-01_rb,0.66745e-01_rb,0.63972e-01_rb,0.60930e-01_rb,0.57801e-01_rb, & & 0.57488e-01_rb,0.62631e-01_rb,0.72711e-01_rb,0.82984e-01_rb /) kao(:, 1, 8,12) = (/ & & 0.81108e-01_rb,0.74731e-01_rb,0.68669e-01_rb,0.63699e-01_rb,0.57482e-01_rb, & & 0.50207e-01_rb,0.44226e-01_rb,0.43565e-01_rb,0.49479e-01_rb /) kao(:, 2, 8,12) = (/ & & 0.79714e-01_rb,0.73898e-01_rb,0.68659e-01_rb,0.64276e-01_rb,0.57881e-01_rb, & & 0.51786e-01_rb,0.46974e-01_rb,0.48378e-01_rb,0.55162e-01_rb /) kao(:, 3, 8,12) = (/ & & 0.78456e-01_rb,0.73135e-01_rb,0.68758e-01_rb,0.64370e-01_rb,0.58662e-01_rb, & & 0.53164e-01_rb,0.49684e-01_rb,0.53168e-01_rb,0.60666e-01_rb /) kao(:, 4, 8,12) = (/ & & 0.77309e-01_rb,0.72680e-01_rb,0.69000e-01_rb,0.64433e-01_rb,0.59353e-01_rb, & & 0.54540e-01_rb,0.53042e-01_rb,0.58717e-01_rb,0.66992e-01_rb /) kao(:, 5, 8,12) = (/ & & 0.76406e-01_rb,0.72288e-01_rb,0.69084e-01_rb,0.64775e-01_rb,0.60105e-01_rb, & & 0.56876e-01_rb,0.57740e-01_rb,0.65467e-01_rb,0.74695e-01_rb /) kao(:, 1, 9,12) = (/ & & 0.87281e-01_rb,0.80336e-01_rb,0.73586e-01_rb,0.67589e-01_rb,0.60164e-01_rb, & & 0.51553e-01_rb,0.43512e-01_rb,0.38366e-01_rb,0.42260e-01_rb /) kao(:, 2, 9,12) = (/ & & 0.85638e-01_rb,0.79229e-01_rb,0.73710e-01_rb,0.68169e-01_rb,0.60640e-01_rb, & & 0.53028e-01_rb,0.45744e-01_rb,0.42413e-01_rb,0.47570e-01_rb /) kao(:, 3, 9,12) = (/ & & 0.84292e-01_rb,0.78481e-01_rb,0.73900e-01_rb,0.68269e-01_rb,0.61342e-01_rb, & & 0.54381e-01_rb,0.47902e-01_rb,0.46760e-01_rb,0.52980e-01_rb /) kao(:, 4, 9,12) = (/ & & 0.83115e-01_rb,0.77996e-01_rb,0.74142e-01_rb,0.68304e-01_rb,0.62073e-01_rb, & & 0.55597e-01_rb,0.50525e-01_rb,0.51779e-01_rb,0.58954e-01_rb /) kao(:, 5, 9,12) = (/ & & 0.82186e-01_rb,0.77706e-01_rb,0.74161e-01_rb,0.68663e-01_rb,0.62685e-01_rb, & & 0.57315e-01_rb,0.54189e-01_rb,0.58003e-01_rb,0.66142e-01_rb /) kao(:, 1,10,12) = (/ & & 0.93285e-01_rb,0.85813e-01_rb,0.78575e-01_rb,0.71552e-01_rb,0.62937e-01_rb, & & 0.53130e-01_rb,0.43544e-01_rb,0.34852e-01_rb,0.25971e-01_rb /) kao(:, 2,10,12) = (/ & & 0.91673e-01_rb,0.84652e-01_rb,0.78625e-01_rb,0.72093e-01_rb,0.63376e-01_rb, & & 0.54541e-01_rb,0.45576e-01_rb,0.38102e-01_rb,0.28356e-01_rb /) kao(:, 3,10,12) = (/ & & 0.90273e-01_rb,0.83828e-01_rb,0.78840e-01_rb,0.72190e-01_rb,0.64026e-01_rb, & & 0.55889e-01_rb,0.47404e-01_rb,0.41695e-01_rb,0.31456e-01_rb /) kao(:, 4,10,12) = (/ & & 0.88982e-01_rb,0.83233e-01_rb,0.79026e-01_rb,0.72231e-01_rb,0.64765e-01_rb, & & 0.57025e-01_rb,0.49463e-01_rb,0.46003e-01_rb,0.35501e-01_rb /) kao(:, 5,10,12) = (/ & & 0.88015e-01_rb,0.82954e-01_rb,0.78987e-01_rb,0.72605e-01_rb,0.65378e-01_rb, & & 0.58432e-01_rb,0.52293e-01_rb,0.51371e-01_rb,0.39951e-01_rb /) kao(:, 1,11,12) = (/ & & 0.98224e-01_rb,0.90470e-01_rb,0.83283e-01_rb,0.75729e-01_rb,0.65953e-01_rb, & & 0.55333e-01_rb,0.44607e-01_rb,0.33712e-01_rb,0.29825e-01_rb /) kao(:, 2,11,12) = (/ & & 0.96868e-01_rb,0.89565e-01_rb,0.83537e-01_rb,0.76001e-01_rb,0.66302e-01_rb, & & 0.56711e-01_rb,0.46387e-01_rb,0.36339e-01_rb,0.33228e-01_rb /) kao(:, 3,11,12) = (/ & & 0.95464e-01_rb,0.88759e-01_rb,0.83774e-01_rb,0.75894e-01_rb,0.67115e-01_rb, & & 0.57847e-01_rb,0.48034e-01_rb,0.39456e-01_rb,0.36088e-01_rb /) kao(:, 4,11,12) = (/ & & 0.94340e-01_rb,0.88366e-01_rb,0.83721e-01_rb,0.76044e-01_rb,0.67766e-01_rb, & & 0.58947e-01_rb,0.50010e-01_rb,0.43247e-01_rb,0.40125e-01_rb /) kao(:, 5,11,12) = (/ & & 0.93518e-01_rb,0.88039e-01_rb,0.83475e-01_rb,0.76422e-01_rb,0.68414e-01_rb, & & 0.60495e-01_rb,0.52431e-01_rb,0.48069e-01_rb,0.44798e-01_rb /) kao(:, 1,12,12) = (/ & & 0.10275e+00_rb,0.94729e-01_rb,0.87688e-01_rb,0.79394e-01_rb,0.68734e-01_rb, & & 0.57476e-01_rb,0.45697e-01_rb,0.32943e-01_rb,0.29614e-01_rb /) kao(:, 2,12,12) = (/ & & 0.10159e+00_rb,0.94167e-01_rb,0.88202e-01_rb,0.79488e-01_rb,0.69232e-01_rb, & & 0.58694e-01_rb,0.47208e-01_rb,0.35215e-01_rb,0.33437e-01_rb /) kao(:, 3,12,12) = (/ & & 0.10046e+00_rb,0.93671e-01_rb,0.88347e-01_rb,0.79409e-01_rb,0.69985e-01_rb, & & 0.59703e-01_rb,0.48739e-01_rb,0.37920e-01_rb,0.36670e-01_rb /) kao(:, 4,12,12) = (/ & & 0.99712e-01_rb,0.93473e-01_rb,0.88135e-01_rb,0.79671e-01_rb,0.70541e-01_rb, & & 0.60786e-01_rb,0.50658e-01_rb,0.41158e-01_rb,0.41155e-01_rb /) kao(:, 5,12,12) = (/ & & 0.99052e-01_rb,0.93236e-01_rb,0.87897e-01_rb,0.79933e-01_rb,0.71310e-01_rb, & & 0.62364e-01_rb,0.52850e-01_rb,0.45390e-01_rb,0.47055e-01_rb /) kao(:, 1,13,12) = (/ & & 0.10693e+00_rb,0.98594e-01_rb,0.91730e-01_rb,0.82575e-01_rb,0.71131e-01_rb, & & 0.59390e-01_rb,0.46621e-01_rb,0.32428e-01_rb,0.26794e-01_rb /) kao(:, 2,13,12) = (/ & & 0.10593e+00_rb,0.98329e-01_rb,0.92368e-01_rb,0.82651e-01_rb,0.71827e-01_rb, & & 0.60538e-01_rb,0.47868e-01_rb,0.34468e-01_rb,0.29114e-01_rb /) kao(:, 3,13,12) = (/ & & 0.10521e+00_rb,0.98305e-01_rb,0.92444e-01_rb,0.82725e-01_rb,0.72549e-01_rb, & & 0.61456e-01_rb,0.49349e-01_rb,0.36800e-01_rb,0.32781e-01_rb /) kao(:, 4,13,12) = (/ & & 0.10471e+00_rb,0.98393e-01_rb,0.92240e-01_rb,0.83082e-01_rb,0.73117e-01_rb, & & 0.62504e-01_rb,0.51152e-01_rb,0.39616e-01_rb,0.37780e-01_rb /) kao(:, 5,13,12) = (/ & & 0.10409e+00_rb,0.98364e-01_rb,0.92131e-01_rb,0.83350e-01_rb,0.73995e-01_rb, & & 0.64047e-01_rb,0.53327e-01_rb,0.43375e-01_rb,0.42285e-01_rb /) kao(:, 1, 1,13) = (/ & & 0.52810e-01_rb,0.49450e-01_rb,0.49647e-01_rb,0.57104e-01_rb,0.73433e-01_rb, & & 0.91743e-01_rb,0.11005e+00_rb,0.12834e+00_rb,0.14491e+00_rb /) kao(:, 2, 1,13) = (/ & & 0.51653e-01_rb,0.48971e-01_rb,0.50186e-01_rb,0.59440e-01_rb,0.77723e-01_rb, & & 0.97098e-01_rb,0.11647e+00_rb,0.13583e+00_rb,0.15375e+00_rb /) kao(:, 3, 1,13) = (/ & & 0.50696e-01_rb,0.48582e-01_rb,0.50737e-01_rb,0.61667e-01_rb,0.81568e-01_rb, & & 0.10190e+00_rb,0.12223e+00_rb,0.14254e+00_rb,0.16133e+00_rb /) kao(:, 4, 1,13) = (/ & & 0.49759e-01_rb,0.48321e-01_rb,0.51484e-01_rb,0.64441e-01_rb,0.85673e-01_rb, & & 0.10703e+00_rb,0.12837e+00_rb,0.14971e+00_rb,0.16936e+00_rb /) kao(:, 5, 1,13) = (/ & & 0.48804e-01_rb,0.48067e-01_rb,0.52560e-01_rb,0.67354e-01_rb,0.89656e-01_rb, & & 0.11200e+00_rb,0.13434e+00_rb,0.15666e+00_rb,0.17718e+00_rb /) kao(:, 1, 2,13) = (/ & & 0.57042e-01_rb,0.54069e-01_rb,0.53905e-01_rb,0.58729e-01_rb,0.73592e-01_rb, & & 0.91941e-01_rb,0.11029e+00_rb,0.12863e+00_rb,0.14602e+00_rb /) kao(:, 2, 2,13) = (/ & & 0.55841e-01_rb,0.53550e-01_rb,0.54566e-01_rb,0.60781e-01_rb,0.78168e-01_rb, & & 0.97652e-01_rb,0.11714e+00_rb,0.13661e+00_rb,0.15506e+00_rb /) kao(:, 3, 2,13) = (/ & & 0.54920e-01_rb,0.52981e-01_rb,0.54943e-01_rb,0.62919e-01_rb,0.82379e-01_rb, & & 0.10292e+00_rb,0.12345e+00_rb,0.14397e+00_rb,0.16344e+00_rb /) kao(:, 4, 2,13) = (/ & & 0.54055e-01_rb,0.52591e-01_rb,0.55488e-01_rb,0.65511e-01_rb,0.86681e-01_rb, & & 0.10829e+00_rb,0.12990e+00_rb,0.15147e+00_rb,0.17196e+00_rb /) kao(:, 5, 2,13) = (/ & & 0.53226e-01_rb,0.52334e-01_rb,0.56238e-01_rb,0.68429e-01_rb,0.90830e-01_rb, & & 0.11345e+00_rb,0.13607e+00_rb,0.15868e+00_rb,0.17998e+00_rb /) kao(:, 1, 3,13) = (/ & & 0.62670e-01_rb,0.59309e-01_rb,0.58772e-01_rb,0.61122e-01_rb,0.72960e-01_rb, & & 0.91113e-01_rb,0.10930e+00_rb,0.12747e+00_rb,0.14514e+00_rb /) kao(:, 2, 3,13) = (/ & & 0.61411e-01_rb,0.58632e-01_rb,0.59230e-01_rb,0.62688e-01_rb,0.77748e-01_rb, & & 0.97139e-01_rb,0.11652e+00_rb,0.13590e+00_rb,0.15479e+00_rb /) kao(:, 3, 3,13) = (/ & & 0.60334e-01_rb,0.57923e-01_rb,0.59411e-01_rb,0.64539e-01_rb,0.82093e-01_rb, & & 0.10257e+00_rb,0.12305e+00_rb,0.14350e+00_rb,0.16343e+00_rb /) kao(:, 4, 3,13) = (/ & & 0.59451e-01_rb,0.57416e-01_rb,0.59633e-01_rb,0.66820e-01_rb,0.86494e-01_rb, & & 0.10804e+00_rb,0.12960e+00_rb,0.15112e+00_rb,0.17209e+00_rb /) kao(:, 5, 3,13) = (/ & & 0.58597e-01_rb,0.57143e-01_rb,0.60240e-01_rb,0.69594e-01_rb,0.91059e-01_rb, & & 0.11373e+00_rb,0.13640e+00_rb,0.15905e+00_rb,0.18103e+00_rb /) kao(:, 1, 4,13) = (/ & & 0.69822e-01_rb,0.65601e-01_rb,0.63945e-01_rb,0.64755e-01_rb,0.73038e-01_rb, & & 0.90165e-01_rb,0.10817e+00_rb,0.12616e+00_rb,0.14389e+00_rb /) kao(:, 2, 4,13) = (/ & & 0.68507e-01_rb,0.64727e-01_rb,0.64234e-01_rb,0.66213e-01_rb,0.77749e-01_rb, & & 0.96668e-01_rb,0.11597e+00_rb,0.13524e+00_rb,0.15427e+00_rb /) kao(:, 3, 4,13) = (/ & & 0.67276e-01_rb,0.63962e-01_rb,0.64238e-01_rb,0.67909e-01_rb,0.82185e-01_rb, & & 0.10254e+00_rb,0.12301e+00_rb,0.14345e+00_rb,0.16365e+00_rb /) kao(:, 4, 4,13) = (/ & & 0.66381e-01_rb,0.63334e-01_rb,0.64220e-01_rb,0.69770e-01_rb,0.86724e-01_rb, & & 0.10832e+00_rb,0.12994e+00_rb,0.15151e+00_rb,0.17282e+00_rb /) kao(:, 5, 4,13) = (/ & & 0.65437e-01_rb,0.62972e-01_rb,0.64673e-01_rb,0.72222e-01_rb,0.91630e-01_rb, & & 0.11445e+00_rb,0.13728e+00_rb,0.16006e+00_rb,0.18257e+00_rb /) kao(:, 1, 5,13) = (/ & & 0.78344e-01_rb,0.73091e-01_rb,0.69713e-01_rb,0.69214e-01_rb,0.74668e-01_rb, & & 0.88915e-01_rb,0.10667e+00_rb,0.12441e+00_rb,0.14209e+00_rb /) kao(:, 2, 5,13) = (/ & & 0.76773e-01_rb,0.71981e-01_rb,0.69752e-01_rb,0.70736e-01_rb,0.78904e-01_rb, & & 0.95797e-01_rb,0.11493e+00_rb,0.13406e+00_rb,0.15311e+00_rb /) kao(:, 3, 5,13) = (/ & & 0.75310e-01_rb,0.71068e-01_rb,0.69651e-01_rb,0.72503e-01_rb,0.83070e-01_rb, & & 0.10214e+00_rb,0.12251e+00_rb,0.14289e+00_rb,0.16320e+00_rb /) kao(:, 4, 5,13) = (/ & & 0.74250e-01_rb,0.70202e-01_rb,0.69499e-01_rb,0.74333e-01_rb,0.87301e-01_rb, & & 0.10818e+00_rb,0.12976e+00_rb,0.15132e+00_rb,0.17281e+00_rb /) kao(:, 5, 5,13) = (/ & & 0.73209e-01_rb,0.69739e-01_rb,0.69847e-01_rb,0.76315e-01_rb,0.91870e-01_rb, & & 0.11438e+00_rb,0.13720e+00_rb,0.16000e+00_rb,0.18274e+00_rb /) kao(:, 1, 6,13) = (/ & & 0.87696e-01_rb,0.81522e-01_rb,0.76509e-01_rb,0.74345e-01_rb,0.77107e-01_rb, & & 0.86456e-01_rb,0.10266e+00_rb,0.11975e+00_rb,0.13684e+00_rb /) kao(:, 2, 6,13) = (/ & & 0.85834e-01_rb,0.80104e-01_rb,0.76319e-01_rb,0.75879e-01_rb,0.80970e-01_rb, & & 0.93234e-01_rb,0.11135e+00_rb,0.12988e+00_rb,0.14843e+00_rb /) kao(:, 3, 6,13) = (/ & & 0.84103e-01_rb,0.79034e-01_rb,0.76204e-01_rb,0.77685e-01_rb,0.84459e-01_rb, & & 0.99600e-01_rb,0.11936e+00_rb,0.13921e+00_rb,0.15907e+00_rb /) kao(:, 4, 6,13) = (/ & & 0.82699e-01_rb,0.78102e-01_rb,0.75915e-01_rb,0.79277e-01_rb,0.87923e-01_rb, & & 0.10572e+00_rb,0.12681e+00_rb,0.14791e+00_rb,0.16901e+00_rb /) kao(:, 5, 6,13) = (/ & & 0.81604e-01_rb,0.77529e-01_rb,0.76175e-01_rb,0.80727e-01_rb,0.91640e-01_rb, & & 0.11182e+00_rb,0.13414e+00_rb,0.15644e+00_rb,0.17875e+00_rb /) kao(:, 1, 7,13) = (/ & & 0.97322e-01_rb,0.90329e-01_rb,0.84313e-01_rb,0.80452e-01_rb,0.80118e-01_rb, & & 0.84204e-01_rb,0.96138e-01_rb,0.11212e+00_rb,0.12812e+00_rb /) kao(:, 2, 7,13) = (/ & & 0.95378e-01_rb,0.88856e-01_rb,0.83999e-01_rb,0.81744e-01_rb,0.83529e-01_rb, & & 0.90072e-01_rb,0.10504e+00_rb,0.12254e+00_rb,0.14003e+00_rb /) kao(:, 3, 7,13) = (/ & & 0.93471e-01_rb,0.87725e-01_rb,0.83968e-01_rb,0.83424e-01_rb,0.86362e-01_rb, & & 0.95913e-01_rb,0.11338e+00_rb,0.13227e+00_rb,0.15114e+00_rb /) kao(:, 4, 7,13) = (/ & & 0.91861e-01_rb,0.86679e-01_rb,0.83638e-01_rb,0.84829e-01_rb,0.89126e-01_rb, & & 0.10167e+00_rb,0.12111e+00_rb,0.14127e+00_rb,0.16142e+00_rb /) kao(:, 5, 7,13) = (/ & & 0.90669e-01_rb,0.86079e-01_rb,0.83677e-01_rb,0.85955e-01_rb,0.92165e-01_rb, & & 0.10751e+00_rb,0.12862e+00_rb,0.15005e+00_rb,0.17145e+00_rb /) kao(:, 1, 8,13) = (/ & & 0.10748e+00_rb,0.99760e-01_rb,0.92641e-01_rb,0.87386e-01_rb,0.83918e-01_rb, & & 0.82807e-01_rb,0.88461e-01_rb,0.10199e+00_rb,0.11655e+00_rb /) kao(:, 2, 8,13) = (/ & & 0.10548e+00_rb,0.98347e-01_rb,0.92153e-01_rb,0.88724e-01_rb,0.86807e-01_rb, & & 0.87435e-01_rb,0.96918e-01_rb,0.11262e+00_rb,0.12866e+00_rb /) kao(:, 3, 8,13) = (/ & & 0.10345e+00_rb,0.96941e-01_rb,0.92269e-01_rb,0.90148e-01_rb,0.89023e-01_rb, & & 0.92390e-01_rb,0.10517e+00_rb,0.12260e+00_rb,0.14006e+00_rb /) kao(:, 4, 8,13) = (/ & & 0.10168e+00_rb,0.95648e-01_rb,0.92050e-01_rb,0.91217e-01_rb,0.91169e-01_rb, & & 0.97530e-01_rb,0.11302e+00_rb,0.13185e+00_rb,0.15061e+00_rb /) kao(:, 5, 8,13) = (/ & & 0.10031e+00_rb,0.94918e-01_rb,0.92030e-01_rb,0.91944e-01_rb,0.93599e-01_rb, & & 0.10280e+00_rb,0.12083e+00_rb,0.14095e+00_rb,0.16101e+00_rb /) kao(:, 1, 9,13) = (/ & & 0.11850e+00_rb,0.10963e+00_rb,0.10118e+00_rb,0.94592e-01_rb,0.88496e-01_rb, & & 0.82777e-01_rb,0.81368e-01_rb,0.90482e-01_rb,0.10334e+00_rb /) kao(:, 2, 9,13) = (/ & & 0.11636e+00_rb,0.10836e+00_rb,0.10080e+00_rb,0.96151e-01_rb,0.90961e-01_rb, & & 0.86437e-01_rb,0.88759e-01_rb,0.10103e+00_rb,0.11540e+00_rb /) kao(:, 3, 9,13) = (/ & & 0.11416e+00_rb,0.10675e+00_rb,0.10109e+00_rb,0.97591e-01_rb,0.92676e-01_rb, & & 0.90148e-01_rb,0.96288e-01_rb,0.11094e+00_rb,0.12669e+00_rb /) kao(:, 4, 9,13) = (/ & & 0.11214e+00_rb,0.10527e+00_rb,0.10096e+00_rb,0.98437e-01_rb,0.94256e-01_rb, & & 0.94326e-01_rb,0.10386e+00_rb,0.12050e+00_rb,0.13763e+00_rb /) kao(:, 5, 9,13) = (/ & & 0.11054e+00_rb,0.10425e+00_rb,0.10085e+00_rb,0.98717e-01_rb,0.96200e-01_rb, & & 0.98935e-01_rb,0.11173e+00_rb,0.13010e+00_rb,0.14859e+00_rb /) kao(:, 1,10,13) = (/ & & 0.13016e+00_rb,0.11986e+00_rb,0.10995e+00_rb,0.10196e+00_rb,0.93774e-01_rb, & & 0.84360e-01_rb,0.76878e-01_rb,0.79680e-01_rb,0.67359e-01_rb /) kao(:, 2,10,13) = (/ & & 0.12774e+00_rb,0.11853e+00_rb,0.10979e+00_rb,0.10367e+00_rb,0.96160e-01_rb, & & 0.87173e-01_rb,0.82710e-01_rb,0.89689e-01_rb,0.82456e-01_rb /) kao(:, 3,10,13) = (/ & & 0.12531e+00_rb,0.11685e+00_rb,0.11022e+00_rb,0.10509e+00_rb,0.97450e-01_rb, & & 0.90061e-01_rb,0.89222e-01_rb,0.99588e-01_rb,0.96338e-01_rb /) kao(:, 4,10,13) = (/ & & 0.12312e+00_rb,0.11523e+00_rb,0.11015e+00_rb,0.10584e+00_rb,0.98534e-01_rb, & & 0.93531e-01_rb,0.96262e-01_rb,0.10942e+00_rb,0.11043e+00_rb /) kao(:, 5,10,13) = (/ & & 0.12128e+00_rb,0.11400e+00_rb,0.10998e+00_rb,0.10588e+00_rb,0.10008e+00_rb, & & 0.97359e-01_rb,0.10364e+00_rb,0.11932e+00_rb,0.12582e+00_rb /) kao(:, 1,11,13) = (/ & & 0.14105e+00_rb,0.12987e+00_rb,0.11910e+00_rb,0.11026e+00_rb,0.10035e+00_rb, & & 0.88081e-01_rb,0.76687e-01_rb,0.74205e-01_rb,0.50899e-01_rb /) kao(:, 2,11,13) = (/ & & 0.13825e+00_rb,0.12810e+00_rb,0.11908e+00_rb,0.11198e+00_rb,0.10215e+00_rb, & & 0.90197e-01_rb,0.81650e-01_rb,0.83605e-01_rb,0.56975e-01_rb /) kao(:, 3,11,13) = (/ & & 0.13566e+00_rb,0.12624e+00_rb,0.11939e+00_rb,0.11316e+00_rb,0.10299e+00_rb, & & 0.92874e-01_rb,0.87279e-01_rb,0.93203e-01_rb,0.64736e-01_rb /) kao(:, 4,11,13) = (/ & & 0.13334e+00_rb,0.12460e+00_rb,0.11935e+00_rb,0.11337e+00_rb,0.10395e+00_rb, & & 0.95956e-01_rb,0.93410e-01_rb,0.10293e+00_rb,0.71284e-01_rb /) kao(:, 5,11,13) = (/ & & 0.13131e+00_rb,0.12363e+00_rb,0.11937e+00_rb,0.11314e+00_rb,0.10517e+00_rb, & & 0.98969e-01_rb,0.10016e+00_rb,0.11304e+00_rb,0.78587e-01_rb /) kao(:, 1,12,13) = (/ & & 0.15212e+00_rb,0.13991e+00_rb,0.12851e+00_rb,0.11872e+00_rb,0.10663e+00_rb, & & 0.91867e-01_rb,0.77350e-01_rb,0.69757e-01_rb,0.57657e-01_rb /) kao(:, 2,12,13) = (/ & & 0.14895e+00_rb,0.13760e+00_rb,0.12846e+00_rb,0.12032e+00_rb,0.10790e+00_rb, & & 0.93798e-01_rb,0.81816e-01_rb,0.78361e-01_rb,0.63811e-01_rb /) kao(:, 3,12,13) = (/ & & 0.14609e+00_rb,0.13558e+00_rb,0.12854e+00_rb,0.12100e+00_rb,0.10856e+00_rb, & & 0.96260e-01_rb,0.86684e-01_rb,0.87192e-01_rb,0.72200e-01_rb /) kao(:, 4,12,13) = (/ & & 0.14343e+00_rb,0.13400e+00_rb,0.12849e+00_rb,0.12073e+00_rb,0.10951e+00_rb, & & 0.98753e-01_rb,0.91530e-01_rb,0.96391e-01_rb,0.79517e-01_rb /) kao(:, 5,12,13) = (/ & & 0.14120e+00_rb,0.13303e+00_rb,0.12833e+00_rb,0.12041e+00_rb,0.11038e+00_rb, & & 0.10129e+00_rb,0.97562e-01_rb,0.10658e+00_rb,0.84371e-01_rb /) kao(:, 1,13,13) = (/ & & 0.16284e+00_rb,0.14976e+00_rb,0.13792e+00_rb,0.12684e+00_rb,0.11275e+00_rb, & & 0.95645e-01_rb,0.78767e-01_rb,0.66366e-01_rb,0.59038e-01_rb /) kao(:, 2,13,13) = (/ & & 0.15947e+00_rb,0.14721e+00_rb,0.13779e+00_rb,0.12800e+00_rb,0.11359e+00_rb, & & 0.97597e-01_rb,0.82782e-01_rb,0.73753e-01_rb,0.67374e-01_rb /) kao(:, 3,13,13) = (/ & & 0.15626e+00_rb,0.14498e+00_rb,0.13763e+00_rb,0.12811e+00_rb,0.11414e+00_rb, & & 0.99826e-01_rb,0.86643e-01_rb,0.81525e-01_rb,0.75874e-01_rb /) kao(:, 4,13,13) = (/ & & 0.15335e+00_rb,0.14330e+00_rb,0.13746e+00_rb,0.12758e+00_rb,0.11501e+00_rb, & & 0.10172e+00_rb,0.90750e-01_rb,0.90246e-01_rb,0.81744e-01_rb /) kao(:, 5,13,13) = (/ & & 0.15088e+00_rb,0.14217e+00_rb,0.13690e+00_rb,0.12723e+00_rb,0.11557e+00_rb, & & 0.10388e+00_rb,0.96218e-01_rb,0.10042e+00_rb,0.88529e-01_rb /) kao(:, 1, 1,14) = (/ & & 0.62837e-01_rb,0.60695e-01_rb,0.77720e-01_rb,0.11279e+00_rb,0.15033e+00_rb, & & 0.18788e+00_rb,0.22539e+00_rb,0.26284e+00_rb,0.29421e+00_rb /) kao(:, 2, 1,14) = (/ & & 0.61599e-01_rb,0.60148e-01_rb,0.79591e-01_rb,0.11750e+00_rb,0.15661e+00_rb, & & 0.19570e+00_rb,0.23478e+00_rb,0.27378e+00_rb,0.30578e+00_rb /) kao(:, 3, 1,14) = (/ & & 0.60827e-01_rb,0.59792e-01_rb,0.82175e-01_rb,0.12253e+00_rb,0.16330e+00_rb, & & 0.20407e+00_rb,0.24482e+00_rb,0.28548e+00_rb,0.31829e+00_rb /) kao(:, 4, 1,14) = (/ & & 0.60773e-01_rb,0.59852e-01_rb,0.85295e-01_rb,0.12765e+00_rb,0.17012e+00_rb, & & 0.21258e+00_rb,0.25502e+00_rb,0.29736e+00_rb,0.33114e+00_rb /) kao(:, 5, 1,14) = (/ & & 0.60579e-01_rb,0.60436e-01_rb,0.88993e-01_rb,0.13334e+00_rb,0.17771e+00_rb, & & 0.22206e+00_rb,0.26642e+00_rb,0.31066e+00_rb,0.34557e+00_rb /) kao(:, 1, 2,14) = (/ & & 0.70150e-01_rb,0.67933e-01_rb,0.82763e-01_rb,0.11770e+00_rb,0.15687e+00_rb, & & 0.19605e+00_rb,0.23520e+00_rb,0.27426e+00_rb,0.30923e+00_rb /) kao(:, 2, 2,14) = (/ & & 0.68737e-01_rb,0.67168e-01_rb,0.84453e-01_rb,0.12329e+00_rb,0.16434e+00_rb, & & 0.20537e+00_rb,0.24638e+00_rb,0.28735e+00_rb,0.32358e+00_rb /) kao(:, 3, 2,14) = (/ & & 0.67693e-01_rb,0.66713e-01_rb,0.87076e-01_rb,0.12893e+00_rb,0.17184e+00_rb, & & 0.21474e+00_rb,0.25764e+00_rb,0.30044e+00_rb,0.33811e+00_rb /) kao(:, 4, 2,14) = (/ & & 0.67352e-01_rb,0.66652e-01_rb,0.90088e-01_rb,0.13441e+00_rb,0.17914e+00_rb, & & 0.22388e+00_rb,0.26860e+00_rb,0.31321e+00_rb,0.35245e+00_rb /) kao(:, 5, 2,14) = (/ & & 0.66923e-01_rb,0.67069e-01_rb,0.93870e-01_rb,0.14034e+00_rb,0.18704e+00_rb, & & 0.23374e+00_rb,0.28042e+00_rb,0.32702e+00_rb,0.36794e+00_rb /) kao(:, 1, 3,14) = (/ & & 0.79385e-01_rb,0.76263e-01_rb,0.87808e-01_rb,0.12001e+00_rb,0.15997e+00_rb, & & 0.19992e+00_rb,0.23984e+00_rb,0.27971e+00_rb,0.31814e+00_rb /) kao(:, 2, 3,14) = (/ & & 0.77666e-01_rb,0.75357e-01_rb,0.89439e-01_rb,0.12673e+00_rb,0.16892e+00_rb, & & 0.21110e+00_rb,0.25327e+00_rb,0.29539e+00_rb,0.33569e+00_rb /) kao(:, 3, 3,14) = (/ & & 0.76193e-01_rb,0.74694e-01_rb,0.92082e-01_rb,0.13335e+00_rb,0.17774e+00_rb, & & 0.22213e+00_rb,0.26651e+00_rb,0.31084e+00_rb,0.35313e+00_rb /) kao(:, 4, 3,14) = (/ & & 0.75335e-01_rb,0.74405e-01_rb,0.95067e-01_rb,0.13953e+00_rb,0.18597e+00_rb, & & 0.23241e+00_rb,0.27884e+00_rb,0.32518e+00_rb,0.36942e+00_rb /) kao(:, 5, 3,14) = (/ & & 0.74635e-01_rb,0.74698e-01_rb,0.98457e-01_rb,0.14565e+00_rb,0.19414e+00_rb, & & 0.24262e+00_rb,0.29108e+00_rb,0.33947e+00_rb,0.38555e+00_rb /) kao(:, 1, 4,14) = (/ & & 0.89595e-01_rb,0.85781e-01_rb,0.93997e-01_rb,0.12072e+00_rb,0.16001e+00_rb, & & 0.19998e+00_rb,0.23994e+00_rb,0.27984e+00_rb,0.31934e+00_rb /) kao(:, 2, 4,14) = (/ & & 0.87421e-01_rb,0.84747e-01_rb,0.95233e-01_rb,0.12788e+00_rb,0.17024e+00_rb, & & 0.21274e+00_rb,0.25525e+00_rb,0.29772e+00_rb,0.33967e+00_rb /) kao(:, 3, 4,14) = (/ & & 0.85503e-01_rb,0.83808e-01_rb,0.97531e-01_rb,0.13512e+00_rb,0.18009e+00_rb, & & 0.22508e+00_rb,0.27005e+00_rb,0.31493e+00_rb,0.35929e+00_rb /) kao(:, 4, 4,14) = (/ & & 0.84061e-01_rb,0.83216e-01_rb,0.10039e+00_rb,0.14194e+00_rb,0.18919e+00_rb, & & 0.23644e+00_rb,0.28372e+00_rb,0.33088e+00_rb,0.37743e+00_rb /) kao(:, 5, 4,14) = (/ & & 0.83141e-01_rb,0.83249e-01_rb,0.10352e+00_rb,0.14853e+00_rb,0.19798e+00_rb, & & 0.24744e+00_rb,0.29688e+00_rb,0.34622e+00_rb,0.39491e+00_rb /) kao(:, 1, 5,14) = (/ & & 0.10093e+00_rb,0.96180e-01_rb,0.10202e+00_rb,0.12191e+00_rb,0.15810e+00_rb, & & 0.19761e+00_rb,0.23710e+00_rb,0.27651e+00_rb,0.31584e+00_rb /) kao(:, 2, 5,14) = (/ & & 0.98348e-01_rb,0.95154e-01_rb,0.10279e+00_rb,0.12897e+00_rb,0.16954e+00_rb, & & 0.21190e+00_rb,0.25425e+00_rb,0.29655e+00_rb,0.33869e+00_rb /) kao(:, 3, 5,14) = (/ & & 0.96078e-01_rb,0.94065e-01_rb,0.10459e+00_rb,0.13623e+00_rb,0.18035e+00_rb, & & 0.22539e+00_rb,0.27041e+00_rb,0.31537e+00_rb,0.36019e+00_rb /) kao(:, 4, 5,14) = (/ & & 0.94202e-01_rb,0.93296e-01_rb,0.10703e+00_rb,0.14326e+00_rb,0.19057e+00_rb, & & 0.23817e+00_rb,0.28575e+00_rb,0.33330e+00_rb,0.38060e+00_rb /) kao(:, 5, 5,14) = (/ & & 0.93055e-01_rb,0.92935e-01_rb,0.10982e+00_rb,0.15042e+00_rb,0.20048e+00_rb, & & 0.25056e+00_rb,0.30061e+00_rb,0.35061e+00_rb,0.40035e+00_rb /) kao(:, 1, 6,14) = (/ & & 0.11421e+00_rb,0.10796e+00_rb,0.11173e+00_rb,0.12476e+00_rb,0.15549e+00_rb, & & 0.19408e+00_rb,0.23286e+00_rb,0.27161e+00_rb,0.31032e+00_rb /) kao(:, 2, 6,14) = (/ & & 0.11123e+00_rb,0.10718e+00_rb,0.11218e+00_rb,0.13121e+00_rb,0.16775e+00_rb, & & 0.20966e+00_rb,0.25155e+00_rb,0.29340e+00_rb,0.33523e+00_rb /) kao(:, 3, 6,14) = (/ & & 0.10875e+00_rb,0.10588e+00_rb,0.11334e+00_rb,0.13798e+00_rb,0.17972e+00_rb, & & 0.22462e+00_rb,0.26950e+00_rb,0.31433e+00_rb,0.35914e+00_rb /) kao(:, 4, 6,14) = (/ & & 0.10666e+00_rb,0.10458e+00_rb,0.11529e+00_rb,0.14519e+00_rb,0.19132e+00_rb, & & 0.23911e+00_rb,0.28688e+00_rb,0.33463e+00_rb,0.38232e+00_rb /) kao(:, 5, 6,14) = (/ & & 0.10502e+00_rb,0.10381e+00_rb,0.11770e+00_rb,0.15287e+00_rb,0.20267e+00_rb, & & 0.25329e+00_rb,0.30392e+00_rb,0.35446e+00_rb,0.40496e+00_rb /) kao(:, 1, 7,14) = (/ & & 0.12988e+00_rb,0.12138e+00_rb,0.12291e+00_rb,0.12930e+00_rb,0.15315e+00_rb, & & 0.18907e+00_rb,0.22686e+00_rb,0.26460e+00_rb,0.30239e+00_rb /) kao(:, 2, 7,14) = (/ & & 0.12649e+00_rb,0.12054e+00_rb,0.12314e+00_rb,0.13530e+00_rb,0.16601e+00_rb, & & 0.20667e+00_rb,0.24798e+00_rb,0.28925e+00_rb,0.33056e+00_rb /) kao(:, 3, 7,14) = (/ & & 0.12370e+00_rb,0.11924e+00_rb,0.12400e+00_rb,0.14174e+00_rb,0.17907e+00_rb, & & 0.22369e+00_rb,0.26838e+00_rb,0.31304e+00_rb,0.35775e+00_rb /) kao(:, 4, 7,14) = (/ & & 0.12121e+00_rb,0.11770e+00_rb,0.12551e+00_rb,0.14889e+00_rb,0.19207e+00_rb, & & 0.24005e+00_rb,0.28802e+00_rb,0.33592e+00_rb,0.38391e+00_rb /) kao(:, 5, 7,14) = (/ & & 0.11892e+00_rb,0.11635e+00_rb,0.12739e+00_rb,0.15666e+00_rb,0.20470e+00_rb, & & 0.25583e+00_rb,0.30694e+00_rb,0.35802e+00_rb,0.40917e+00_rb /) kao(:, 1, 8,14) = (/ & & 0.14795e+00_rb,0.13669e+00_rb,0.13564e+00_rb,0.13646e+00_rb,0.15231e+00_rb, & & 0.18310e+00_rb,0.21966e+00_rb,0.25622e+00_rb,0.29284e+00_rb /) kao(:, 2, 8,14) = (/ & & 0.14430e+00_rb,0.13540e+00_rb,0.13550e+00_rb,0.14118e+00_rb,0.16490e+00_rb, & & 0.20238e+00_rb,0.24284e+00_rb,0.28324e+00_rb,0.32374e+00_rb /) kao(:, 3, 8,14) = (/ & & 0.14109e+00_rb,0.13403e+00_rb,0.13585e+00_rb,0.14713e+00_rb,0.17836e+00_rb, & & 0.22126e+00_rb,0.26548e+00_rb,0.30963e+00_rb,0.35392e+00_rb /) kao(:, 4, 8,14) = (/ & & 0.13807e+00_rb,0.13250e+00_rb,0.13707e+00_rb,0.15422e+00_rb,0.19232e+00_rb, & & 0.23967e+00_rb,0.28757e+00_rb,0.33540e+00_rb,0.38338e+00_rb /) kao(:, 5, 8,14) = (/ & & 0.13514e+00_rb,0.13080e+00_rb,0.13878e+00_rb,0.16197e+00_rb,0.20594e+00_rb, & & 0.25719e+00_rb,0.30860e+00_rb,0.35994e+00_rb,0.41142e+00_rb /) kao(:, 1, 9,14) = (/ & & 0.16812e+00_rb,0.15406e+00_rb,0.15051e+00_rb,0.14632e+00_rb,0.15371e+00_rb, & & 0.17730e+00_rb,0.21108e+00_rb,0.24622e+00_rb,0.28143e+00_rb /) kao(:, 2, 9,14) = (/ & & 0.16420e+00_rb,0.15230e+00_rb,0.14950e+00_rb,0.14998e+00_rb,0.16549e+00_rb, & & 0.19706e+00_rb,0.23609e+00_rb,0.27539e+00_rb,0.31477e+00_rb /) kao(:, 3, 9,14) = (/ & & 0.16053e+00_rb,0.15077e+00_rb,0.14903e+00_rb,0.15488e+00_rb,0.17883e+00_rb, & & 0.21740e+00_rb,0.26082e+00_rb,0.30423e+00_rb,0.34775e+00_rb /) kao(:, 4, 9,14) = (/ & & 0.15694e+00_rb,0.14891e+00_rb,0.14991e+00_rb,0.16140e+00_rb,0.19301e+00_rb, & & 0.23753e+00_rb,0.28500e+00_rb,0.33244e+00_rb,0.37999e+00_rb /) kao(:, 5, 9,14) = (/ & & 0.15342e+00_rb,0.14670e+00_rb,0.15145e+00_rb,0.16838e+00_rb,0.20634e+00_rb, & & 0.25567e+00_rb,0.30677e+00_rb,0.35784e+00_rb,0.40903e+00_rb /) kao(:, 1,10,14) = (/ & & 0.18962e+00_rb,0.17319e+00_rb,0.16709e+00_rb,0.15817e+00_rb,0.15908e+00_rb, & & 0.17425e+00_rb,0.20287e+00_rb,0.23665e+00_rb,0.27049e+00_rb /) kao(:, 2,10,14) = (/ & & 0.18536e+00_rb,0.17110e+00_rb,0.16526e+00_rb,0.16124e+00_rb,0.16946e+00_rb, & & 0.19394e+00_rb,0.22959e+00_rb,0.26781e+00_rb,0.30611e+00_rb /) kao(:, 3,10,14) = (/ & & 0.18117e+00_rb,0.16910e+00_rb,0.16400e+00_rb,0.16579e+00_rb,0.18236e+00_rb, & & 0.21466e+00_rb,0.25610e+00_rb,0.29874e+00_rb,0.34146e+00_rb /) kao(:, 4,10,14) = (/ & & 0.17697e+00_rb,0.16677e+00_rb,0.16446e+00_rb,0.17161e+00_rb,0.19589e+00_rb, & & 0.23479e+00_rb,0.28114e+00_rb,0.32796e+00_rb,0.37484e+00_rb /) kao(:, 5,10,14) = (/ & & 0.17281e+00_rb,0.16399e+00_rb,0.16565e+00_rb,0.17716e+00_rb,0.20808e+00_rb, & & 0.25277e+00_rb,0.30323e+00_rb,0.35372e+00_rb,0.40429e+00_rb /) kao(:, 1,11,14) = (/ & & 0.21055e+00_rb,0.19254e+00_rb,0.18359e+00_rb,0.17274e+00_rb,0.17137e+00_rb, & & 0.18167e+00_rb,0.20669e+00_rb,0.24044e+00_rb,0.24447e+00_rb /) kao(:, 2,11,14) = (/ & & 0.20570e+00_rb,0.19011e+00_rb,0.18168e+00_rb,0.17577e+00_rb,0.18167e+00_rb, & & 0.20144e+00_rb,0.23412e+00_rb,0.27305e+00_rb,0.28987e+00_rb /) kao(:, 3,11,14) = (/ & & 0.20088e+00_rb,0.18755e+00_rb,0.18057e+00_rb,0.18058e+00_rb,0.19347e+00_rb, & & 0.22124e+00_rb,0.26062e+00_rb,0.30406e+00_rb,0.33203e+00_rb /) kao(:, 4,11,14) = (/ & & 0.19608e+00_rb,0.18439e+00_rb,0.18082e+00_rb,0.18569e+00_rb,0.20488e+00_rb, & & 0.23927e+00_rb,0.28460e+00_rb,0.33201e+00_rb,0.37191e+00_rb /) kao(:, 5,11,14) = (/ & & 0.19134e+00_rb,0.18083e+00_rb,0.18137e+00_rb,0.19023e+00_rb,0.21563e+00_rb, & & 0.25670e+00_rb,0.30697e+00_rb,0.35809e+00_rb,0.40924e+00_rb /) kao(:, 1,12,14) = (/ & & 0.23222e+00_rb,0.21282e+00_rb,0.20059e+00_rb,0.18856e+00_rb,0.18455e+00_rb, & & 0.18954e+00_rb,0.20921e+00_rb,0.24116e+00_rb,0.20678e+00_rb /) kao(:, 2,12,14) = (/ & & 0.22666e+00_rb,0.20982e+00_rb,0.19853e+00_rb,0.19166e+00_rb,0.19460e+00_rb, & & 0.20805e+00_rb,0.23602e+00_rb,0.27405e+00_rb,0.24947e+00_rb /) kao(:, 3,12,14) = (/ & & 0.22121e+00_rb,0.20649e+00_rb,0.19756e+00_rb,0.19621e+00_rb,0.20452e+00_rb, & & 0.22597e+00_rb,0.26146e+00_rb,0.30478e+00_rb,0.28725e+00_rb /) kao(:, 4,12,14) = (/ & & 0.21578e+00_rb,0.20240e+00_rb,0.19746e+00_rb,0.20035e+00_rb,0.21392e+00_rb, & & 0.24302e+00_rb,0.28559e+00_rb,0.33317e+00_rb,0.32415e+00_rb /) kao(:, 5,12,14) = (/ & & 0.21026e+00_rb,0.19816e+00_rb,0.19729e+00_rb,0.20402e+00_rb,0.22339e+00_rb, & & 0.25983e+00_rb,0.30840e+00_rb,0.35980e+00_rb,0.36272e+00_rb /) kao(:, 1,13,14) = (/ & & 0.25447e+00_rb,0.23356e+00_rb,0.21785e+00_rb,0.20504e+00_rb,0.19797e+00_rb, & & 0.19705e+00_rb,0.20967e+00_rb,0.23794e+00_rb,0.19657e+00_rb /) kao(:, 2,13,14) = (/ & & 0.24820e+00_rb,0.22981e+00_rb,0.21561e+00_rb,0.20828e+00_rb,0.20711e+00_rb, & & 0.21347e+00_rb,0.23520e+00_rb,0.27088e+00_rb,0.23547e+00_rb /) kao(:, 3,13,14) = (/ & & 0.24206e+00_rb,0.22556e+00_rb,0.21467e+00_rb,0.21216e+00_rb,0.21525e+00_rb, & & 0.22938e+00_rb,0.25994e+00_rb,0.30180e+00_rb,0.27108e+00_rb /) kao(:, 4,13,14) = (/ & & 0.23572e+00_rb,0.22056e+00_rb,0.21408e+00_rb,0.21517e+00_rb,0.22293e+00_rb, & & 0.24576e+00_rb,0.28399e+00_rb,0.33091e+00_rb,0.30909e+00_rb /) kao(:, 5,13,14) = (/ & & 0.22932e+00_rb,0.21557e+00_rb,0.21287e+00_rb,0.21778e+00_rb,0.23130e+00_rb, & & 0.26208e+00_rb,0.30701e+00_rb,0.35815e+00_rb,0.34602e+00_rb /) kao(:, 1, 1,15) = (/ & & 0.79223e-01_rb,0.75104e-01_rb,0.13846e+00_rb,0.20766e+00_rb,0.27685e+00_rb, & & 0.34601e+00_rb,0.41512e+00_rb,0.48397e+00_rb,0.52564e+00_rb /) kao(:, 2, 1,15) = (/ & & 0.76682e-01_rb,0.76450e-01_rb,0.14571e+00_rb,0.21854e+00_rb,0.29137e+00_rb, & & 0.36417e+00_rb,0.43689e+00_rb,0.50929e+00_rb,0.55383e+00_rb /) kao(:, 3, 1,15) = (/ & & 0.74345e-01_rb,0.78213e-01_rb,0.15207e+00_rb,0.22808e+00_rb,0.30407e+00_rb, & & 0.38004e+00_rb,0.45593e+00_rb,0.53155e+00_rb,0.57851e+00_rb /) kao(:, 4, 1,15) = (/ & & 0.72607e-01_rb,0.80130e-01_rb,0.15758e+00_rb,0.23638e+00_rb,0.31513e+00_rb, & & 0.39385e+00_rb,0.47252e+00_rb,0.55092e+00_rb,0.60005e+00_rb /) kao(:, 5, 1,15) = (/ & & 0.72847e-01_rb,0.82433e-01_rb,0.16249e+00_rb,0.24371e+00_rb,0.32491e+00_rb, & & 0.40606e+00_rb,0.48713e+00_rb,0.56790e+00_rb,0.61880e+00_rb /) kao(:, 1, 2,15) = (/ & & 0.89010e-01_rb,0.84748e-01_rb,0.15528e+00_rb,0.23291e+00_rb,0.31052e+00_rb, & & 0.38812e+00_rb,0.46559e+00_rb,0.54282e+00_rb,0.60189e+00_rb /) kao(:, 2, 2,15) = (/ & & 0.86286e-01_rb,0.86390e-01_rb,0.16350e+00_rb,0.24523e+00_rb,0.32694e+00_rb, & & 0.40865e+00_rb,0.49029e+00_rb,0.57166e+00_rb,0.63436e+00_rb /) kao(:, 3, 2,15) = (/ & & 0.83865e-01_rb,0.88469e-01_rb,0.17076e+00_rb,0.25611e+00_rb,0.34145e+00_rb, & & 0.42675e+00_rb,0.51202e+00_rb,0.59693e+00_rb,0.66276e+00_rb /) kao(:, 4, 2,15) = (/ & & 0.81971e-01_rb,0.90581e-01_rb,0.17733e+00_rb,0.26595e+00_rb,0.35459e+00_rb, & & 0.44319e+00_rb,0.53165e+00_rb,0.61981e+00_rb,0.68802e+00_rb /) kao(:, 5, 2,15) = (/ & & 0.81826e-01_rb,0.93085e-01_rb,0.18319e+00_rb,0.27476e+00_rb,0.36629e+00_rb, & & 0.45781e+00_rb,0.54921e+00_rb,0.64033e+00_rb,0.71080e+00_rb /) kao(:, 1, 3,15) = (/ & & 0.10078e+00_rb,0.96469e-01_rb,0.17126e+00_rb,0.25687e+00_rb,0.34247e+00_rb, & & 0.42804e+00_rb,0.51357e+00_rb,0.59868e+00_rb,0.67473e+00_rb /) kao(:, 2, 3,15) = (/ & & 0.97698e-01_rb,0.98193e-01_rb,0.18058e+00_rb,0.27084e+00_rb,0.36108e+00_rb, & & 0.45128e+00_rb,0.54134e+00_rb,0.63128e+00_rb,0.71182e+00_rb /) kao(:, 3, 3,15) = (/ & & 0.95186e-01_rb,0.10027e+00_rb,0.18871e+00_rb,0.28303e+00_rb,0.37733e+00_rb, & & 0.47160e+00_rb,0.56577e+00_rb,0.65972e+00_rb,0.74408e+00_rb /) kao(:, 4, 3,15) = (/ & & 0.93223e-01_rb,0.10231e+00_rb,0.19621e+00_rb,0.29427e+00_rb,0.39234e+00_rb, & & 0.49035e+00_rb,0.58829e+00_rb,0.68586e+00_rb,0.77383e+00_rb /) kao(:, 5, 3,15) = (/ & & 0.93003e-01_rb,0.10431e+00_rb,0.20302e+00_rb,0.30448e+00_rb,0.40592e+00_rb, & & 0.50734e+00_rb,0.60870e+00_rb,0.70970e+00_rb,0.80084e+00_rb /) kao(:, 1, 4,15) = (/ & & 0.11556e+00_rb,0.11007e+00_rb,0.18689e+00_rb,0.28032e+00_rb,0.37373e+00_rb, & & 0.46710e+00_rb,0.56044e+00_rb,0.65346e+00_rb,0.74264e+00_rb /) kao(:, 2, 4,15) = (/ & & 0.11235e+00_rb,0.11167e+00_rb,0.19754e+00_rb,0.29630e+00_rb,0.39502e+00_rb, & & 0.49371e+00_rb,0.59235e+00_rb,0.69064e+00_rb,0.78516e+00_rb /) kao(:, 3, 4,15) = (/ & & 0.10972e+00_rb,0.11355e+00_rb,0.20696e+00_rb,0.31040e+00_rb,0.41383e+00_rb, & & 0.51721e+00_rb,0.62053e+00_rb,0.72352e+00_rb,0.82248e+00_rb /) kao(:, 4, 4,15) = (/ & & 0.10741e+00_rb,0.11554e+00_rb,0.21557e+00_rb,0.32331e+00_rb,0.43105e+00_rb, & & 0.53874e+00_rb,0.64632e+00_rb,0.75359e+00_rb,0.85679e+00_rb /) kao(:, 5, 4,15) = (/ & & 0.10619e+00_rb,0.11745e+00_rb,0.22327e+00_rb,0.33487e+00_rb,0.44646e+00_rb, & & 0.55799e+00_rb,0.66944e+00_rb,0.78056e+00_rb,0.88741e+00_rb /) kao(:, 1, 5,15) = (/ & & 0.13422e+00_rb,0.12619e+00_rb,0.20125e+00_rb,0.30186e+00_rb,0.40245e+00_rb, & & 0.50302e+00_rb,0.60348e+00_rb,0.70372e+00_rb,0.80253e+00_rb /) kao(:, 2, 5,15) = (/ & & 0.13052e+00_rb,0.12743e+00_rb,0.21345e+00_rb,0.32016e+00_rb,0.42685e+00_rb, & & 0.53351e+00_rb,0.64011e+00_rb,0.74634e+00_rb,0.85136e+00_rb /) kao(:, 3, 5,15) = (/ & & 0.12741e+00_rb,0.12876e+00_rb,0.22450e+00_rb,0.33672e+00_rb,0.44894e+00_rb, & & 0.56113e+00_rb,0.67322e+00_rb,0.78494e+00_rb,0.89542e+00_rb /) kao(:, 4, 5,15) = (/ & & 0.12456e+00_rb,0.13045e+00_rb,0.23454e+00_rb,0.35177e+00_rb,0.46901e+00_rb, & & 0.58622e+00_rb,0.70332e+00_rb,0.82004e+00_rb,0.93535e+00_rb /) kao(:, 5, 5,15) = (/ & & 0.12240e+00_rb,0.13234e+00_rb,0.24346e+00_rb,0.36515e+00_rb,0.48682e+00_rb, & & 0.60842e+00_rb,0.72992e+00_rb,0.85105e+00_rb,0.97074e+00_rb /) kao(:, 1, 6,15) = (/ & & 0.15641e+00_rb,0.14549e+00_rb,0.21406e+00_rb,0.31903e+00_rb,0.42534e+00_rb, & & 0.53165e+00_rb,0.63788e+00_rb,0.74385e+00_rb,0.84964e+00_rb /) kao(:, 2, 6,15) = (/ & & 0.15207e+00_rb,0.14574e+00_rb,0.22708e+00_rb,0.34022e+00_rb,0.45360e+00_rb, & & 0.56697e+00_rb,0.68027e+00_rb,0.79322e+00_rb,0.90603e+00_rb /) kao(:, 3, 6,15) = (/ & & 0.14825e+00_rb,0.14665e+00_rb,0.23979e+00_rb,0.35965e+00_rb,0.47950e+00_rb, & & 0.59932e+00_rb,0.71907e+00_rb,0.83857e+00_rb,0.95773e+00_rb /) kao(:, 4, 6,15) = (/ & & 0.14482e+00_rb,0.14790e+00_rb,0.25144e+00_rb,0.37711e+00_rb,0.50278e+00_rb, & & 0.62841e+00_rb,0.75400e+00_rb,0.87926e+00_rb,0.10043e+01_rb /) kao(:, 5, 6,15) = (/ & & 0.14196e+00_rb,0.14929e+00_rb,0.26158e+00_rb,0.39235e+00_rb,0.52312e+00_rb, & & 0.65390e+00_rb,0.78460e+00_rb,0.91489e+00_rb,0.10450e+01_rb /) kao(:, 1, 7,15) = (/ & & 0.18245e+00_rb,0.16813e+00_rb,0.22831e+00_rb,0.33360e+00_rb,0.44476e+00_rb, & & 0.55591e+00_rb,0.66702e+00_rb,0.77783e+00_rb,0.88903e+00_rb /) kao(:, 2, 7,15) = (/ & & 0.17706e+00_rb,0.16763e+00_rb,0.24144e+00_rb,0.35719e+00_rb,0.47625e+00_rb, & & 0.59524e+00_rb,0.71422e+00_rb,0.83295e+00_rb,0.95194e+00_rb /) kao(:, 3, 7,15) = (/ & & 0.17236e+00_rb,0.16756e+00_rb,0.25360e+00_rb,0.37892e+00_rb,0.50520e+00_rb, & & 0.63143e+00_rb,0.75766e+00_rb,0.88351e+00_rb,0.10099e+01_rb /) kao(:, 4, 7,15) = (/ & & 0.16823e+00_rb,0.16816e+00_rb,0.26586e+00_rb,0.39858e+00_rb,0.53141e+00_rb, & & 0.66420e+00_rb,0.79692e+00_rb,0.92941e+00_rb,0.10623e+01_rb /) kao(:, 5, 7,15) = (/ & & 0.16468e+00_rb,0.16894e+00_rb,0.27725e+00_rb,0.41585e+00_rb,0.55445e+00_rb, & & 0.69298e+00_rb,0.83146e+00_rb,0.96971e+00_rb,0.11082e+01_rb /) kao(:, 1, 8,15) = (/ & & 0.21221e+00_rb,0.19366e+00_rb,0.24501e+00_rb,0.34518e+00_rb,0.46022e+00_rb, & & 0.57522e+00_rb,0.69013e+00_rb,0.80500e+00_rb,0.92024e+00_rb /) kao(:, 2, 8,15) = (/ & & 0.20558e+00_rb,0.19344e+00_rb,0.25798e+00_rb,0.37195e+00_rb,0.49597e+00_rb, & & 0.61989e+00_rb,0.74379e+00_rb,0.86737e+00_rb,0.99166e+00_rb /) kao(:, 3, 8,15) = (/ & & 0.19977e+00_rb,0.19260e+00_rb,0.26963e+00_rb,0.39624e+00_rb,0.52829e+00_rb, & & 0.66032e+00_rb,0.79227e+00_rb,0.92396e+00_rb,0.10564e+01_rb /) kao(:, 4, 8,15) = (/ & & 0.19471e+00_rb,0.19196e+00_rb,0.28135e+00_rb,0.41773e+00_rb,0.55693e+00_rb, & & 0.69614e+00_rb,0.83525e+00_rb,0.97412e+00_rb,0.11137e+01_rb /) kao(:, 5, 8,15) = (/ & & 0.19023e+00_rb,0.19149e+00_rb,0.29229e+00_rb,0.43683e+00_rb,0.58243e+00_rb, & & 0.72800e+00_rb,0.87352e+00_rb,0.10186e+01_rb,0.11647e+01_rb /) kao(:, 1, 9,15) = (/ & & 0.24675e+00_rb,0.22274e+00_rb,0.26456e+00_rb,0.35496e+00_rb,0.47007e+00_rb, & & 0.58755e+00_rb,0.70496e+00_rb,0.82216e+00_rb,0.94015e+00_rb /) kao(:, 2, 9,15) = (/ & & 0.23844e+00_rb,0.22223e+00_rb,0.27692e+00_rb,0.38304e+00_rb,0.51028e+00_rb, & & 0.63780e+00_rb,0.76534e+00_rb,0.89259e+00_rb,0.10206e+01_rb /) kao(:, 3, 9,15) = (/ & & 0.23115e+00_rb,0.22076e+00_rb,0.28808e+00_rb,0.40973e+00_rb,0.54629e+00_rb, & & 0.68281e+00_rb,0.81930e+00_rb,0.95554e+00_rb,0.10926e+01_rb /) kao(:, 4, 9,15) = (/ & & 0.22487e+00_rb,0.21935e+00_rb,0.29872e+00_rb,0.43339e+00_rb,0.57783e+00_rb, & & 0.72230e+00_rb,0.86661e+00_rb,0.10108e+01_rb,0.11557e+01_rb /) kao(:, 5, 9,15) = (/ & & 0.21911e+00_rb,0.21807e+00_rb,0.30914e+00_rb,0.45602e+00_rb,0.60799e+00_rb, & & 0.75991e+00_rb,0.91189e+00_rb,0.10634e+01_rb,0.12161e+01_rb /) kao(:, 1,10,15) = (/ & & 0.28580e+00_rb,0.25610e+00_rb,0.28839e+00_rb,0.36810e+00_rb,0.47645e+00_rb, & & 0.59554e+00_rb,0.71455e+00_rb,0.83348e+00_rb,0.95290e+00_rb /) kao(:, 2,10,15) = (/ & & 0.27554e+00_rb,0.25438e+00_rb,0.29985e+00_rb,0.39603e+00_rb,0.52141e+00_rb, & & 0.65175e+00_rb,0.78205e+00_rb,0.91212e+00_rb,0.10429e+01_rb /) kao(:, 3,10,15) = (/ & & 0.26639e+00_rb,0.25230e+00_rb,0.31000e+00_rb,0.42263e+00_rb,0.56074e+00_rb, & & 0.70092e+00_rb,0.84101e+00_rb,0.98094e+00_rb,0.11215e+01_rb /) kao(:, 4,10,15) = (/ & & 0.25840e+00_rb,0.24961e+00_rb,0.31933e+00_rb,0.44762e+00_rb,0.59663e+00_rb, & & 0.74572e+00_rb,0.89477e+00_rb,0.10436e+01_rb,0.11932e+01_rb /) kao(:, 5,10,15) = (/ & & 0.25110e+00_rb,0.24738e+00_rb,0.32882e+00_rb,0.47409e+00_rb,0.63208e+00_rb, & & 0.79011e+00_rb,0.94801e+00_rb,0.11055e+01_rb,0.12642e+01_rb /) kao(:, 1,11,15) = (/ & & 0.32402e+00_rb,0.29231e+00_rb,0.32114e+00_rb,0.39449e+00_rb,0.49965e+00_rb, & & 0.62359e+00_rb,0.74830e+00_rb,0.87279e+00_rb,0.99780e+00_rb /) kao(:, 2,11,15) = (/ & & 0.31203e+00_rb,0.28940e+00_rb,0.33009e+00_rb,0.42179e+00_rb,0.54573e+00_rb, & & 0.68214e+00_rb,0.81856e+00_rb,0.95481e+00_rb,0.10916e+01_rb /) kao(:, 3,11,15) = (/ & & 0.30125e+00_rb,0.28556e+00_rb,0.33820e+00_rb,0.44749e+00_rb,0.58870e+00_rb, & & 0.73583e+00_rb,0.88295e+00_rb,0.10298e+01_rb,0.11773e+01_rb /) kao(:, 4,11,15) = (/ & & 0.29153e+00_rb,0.28159e+00_rb,0.34632e+00_rb,0.47427e+00_rb,0.63035e+00_rb, & & 0.78788e+00_rb,0.94537e+00_rb,0.11027e+01_rb,0.12607e+01_rb /) kao(:, 5,11,15) = (/ & & 0.28247e+00_rb,0.27799e+00_rb,0.35496e+00_rb,0.50259e+00_rb,0.66996e+00_rb, & & 0.83740e+00_rb,0.10047e+01_rb,0.11720e+01_rb,0.13400e+01_rb /) kao(:, 1,12,15) = (/ & & 0.36545e+00_rb,0.33140e+00_rb,0.35636e+00_rb,0.42085e+00_rb,0.52250e+00_rb, & & 0.64898e+00_rb,0.77872e+00_rb,0.90834e+00_rb,0.10384e+01_rb /) kao(:, 2,12,15) = (/ & & 0.35131e+00_rb,0.32685e+00_rb,0.36231e+00_rb,0.44658e+00_rb,0.56903e+00_rb, & & 0.71087e+00_rb,0.85304e+00_rb,0.99503e+00_rb,0.11374e+01_rb /) kao(:, 3,12,15) = (/ & & 0.33841e+00_rb,0.32098e+00_rb,0.36825e+00_rb,0.47208e+00_rb,0.61613e+00_rb, & & 0.77016e+00_rb,0.92410e+00_rb,0.10779e+01_rb,0.12323e+01_rb /) kao(:, 4,12,15) = (/ & & 0.32642e+00_rb,0.31543e+00_rb,0.37504e+00_rb,0.50058e+00_rb,0.66195e+00_rb, & & 0.82736e+00_rb,0.99279e+00_rb,0.11580e+01_rb,0.13239e+01_rb /) kao(:, 5,12,15) = (/ & & 0.31541e+00_rb,0.31006e+00_rb,0.38358e+00_rb,0.53015e+00_rb,0.70512e+00_rb, & & 0.88131e+00_rb,0.10574e+01_rb,0.12335e+01_rb,0.14101e+01_rb /) kao(:, 1,13,15) = (/ & & 0.40964e+00_rb,0.37314e+00_rb,0.39372e+00_rb,0.44813e+00_rb,0.54521e+00_rb, & & 0.67332e+00_rb,0.80793e+00_rb,0.94247e+00_rb,0.10773e+01_rb /) kao(:, 2,13,15) = (/ & & 0.39277e+00_rb,0.36624e+00_rb,0.39629e+00_rb,0.47194e+00_rb,0.59295e+00_rb, & & 0.73949e+00_rb,0.88734e+00_rb,0.10350e+01_rb,0.11832e+01_rb /) kao(:, 3,13,15) = (/ & & 0.37714e+00_rb,0.35816e+00_rb,0.39962e+00_rb,0.49769e+00_rb,0.64296e+00_rb, & & 0.80367e+00_rb,0.96435e+00_rb,0.11249e+01_rb,0.12860e+01_rb /) kao(:, 4,13,15) = (/ & & 0.36268e+00_rb,0.35049e+00_rb,0.40459e+00_rb,0.52725e+00_rb,0.69174e+00_rb, & & 0.86463e+00_rb,0.10374e+01_rb,0.12101e+01_rb,0.13834e+01_rb /) kao(:, 5,13,15) = (/ & & 0.34948e+00_rb,0.34295e+00_rb,0.41358e+00_rb,0.55736e+00_rb,0.73767e+00_rb, & & 0.92205e+00_rb,0.11064e+01_rb,0.12905e+01_rb,0.14753e+01_rb /) kao(:, 1, 1,16) = (/ & & 0.90320e-01_rb,0.86361e-01_rb,0.17271e+00_rb,0.25905e+00_rb,0.34536e+00_rb, & & 0.43163e+00_rb,0.51777e+00_rb,0.60344e+00_rb,0.64541e+00_rb /) kao(:, 2, 1,16) = (/ & & 0.88026e-01_rb,0.92415e-01_rb,0.18482e+00_rb,0.27721e+00_rb,0.36957e+00_rb, & & 0.46188e+00_rb,0.55406e+00_rb,0.64572e+00_rb,0.69076e+00_rb /) kao(:, 3, 1,16) = (/ & & 0.85829e-01_rb,0.97954e-01_rb,0.19590e+00_rb,0.29382e+00_rb,0.39172e+00_rb, & & 0.48957e+00_rb,0.58728e+00_rb,0.68449e+00_rb,0.73223e+00_rb /) kao(:, 4, 1,16) = (/ & & 0.83674e-01_rb,0.10298e+00_rb,0.20595e+00_rb,0.30890e+00_rb,0.41183e+00_rb, & & 0.51469e+00_rb,0.61741e+00_rb,0.71956e+00_rb,0.77014e+00_rb /) kao(:, 5, 1,16) = (/ & & 0.84304e-01_rb,0.10756e+00_rb,0.21511e+00_rb,0.32264e+00_rb,0.43014e+00_rb, & & 0.53758e+00_rb,0.64487e+00_rb,0.75164e+00_rb,0.80439e+00_rb /) kao(:, 1, 2,16) = (/ & & 0.99611e-01_rb,0.10121e+00_rb,0.20241e+00_rb,0.30359e+00_rb,0.40479e+00_rb, & & 0.50590e+00_rb,0.60686e+00_rb,0.70732e+00_rb,0.77453e+00_rb /) kao(:, 2, 2,16) = (/ & & 0.97224e-01_rb,0.10870e+00_rb,0.21739e+00_rb,0.32607e+00_rb,0.43471e+00_rb, & & 0.54336e+00_rb,0.65181e+00_rb,0.75967e+00_rb,0.83199e+00_rb /) kao(:, 3, 2,16) = (/ & & 0.94894e-01_rb,0.11558e+00_rb,0.23114e+00_rb,0.34669e+00_rb,0.46220e+00_rb, & & 0.57772e+00_rb,0.69302e+00_rb,0.80771e+00_rb,0.88476e+00_rb /) kao(:, 4, 2,16) = (/ & & 0.92656e-01_rb,0.12184e+00_rb,0.24366e+00_rb,0.36546e+00_rb,0.48723e+00_rb, & & 0.60893e+00_rb,0.73046e+00_rb,0.85132e+00_rb,0.93269e+00_rb /) kao(:, 5, 2,16) = (/ & & 0.93593e-01_rb,0.12749e+00_rb,0.25497e+00_rb,0.38243e+00_rb,0.50985e+00_rb, & & 0.63721e+00_rb,0.76438e+00_rb,0.89083e+00_rb,0.97622e+00_rb /) kao(:, 1, 3,16) = (/ & & 0.11521e+00_rb,0.11614e+00_rb,0.23226e+00_rb,0.34836e+00_rb,0.46443e+00_rb, & & 0.58044e+00_rb,0.69629e+00_rb,0.81149e+00_rb,0.90951e+00_rb /) kao(:, 2, 3,16) = (/ & & 0.11222e+00_rb,0.12555e+00_rb,0.25108e+00_rb,0.37659e+00_rb,0.50206e+00_rb, & & 0.62747e+00_rb,0.75258e+00_rb,0.87709e+00_rb,0.98316e+00_rb /) kao(:, 3, 3,16) = (/ & & 0.10948e+00_rb,0.13410e+00_rb,0.26819e+00_rb,0.40226e+00_rb,0.53629e+00_rb, & & 0.67035e+00_rb,0.80421e+00_rb,0.93726e+00_rb,0.10505e+01_rb /) kao(:, 4, 3,16) = (/ & & 0.10697e+00_rb,0.14195e+00_rb,0.28389e+00_rb,0.42580e+00_rb,0.56768e+00_rb, & & 0.70947e+00_rb,0.85107e+00_rb,0.99187e+00_rb,0.11120e+01_rb /) kao(:, 5, 3,16) = (/ & & 0.10462e+00_rb,0.14901e+00_rb,0.29800e+00_rb,0.44697e+00_rb,0.59590e+00_rb, & & 0.74474e+00_rb,0.89338e+00_rb,0.10415e+01_rb,0.11678e+01_rb /) kao(:, 1, 4,16) = (/ & & 0.13825e+00_rb,0.13238e+00_rb,0.26314e+00_rb,0.39468e+00_rb,0.52618e+00_rb, & & 0.65761e+00_rb,0.78893e+00_rb,0.91946e+00_rb,0.10423e+01_rb /) kao(:, 2, 4,16) = (/ & & 0.13437e+00_rb,0.14320e+00_rb,0.28638e+00_rb,0.42954e+00_rb,0.57266e+00_rb, & & 0.71574e+00_rb,0.85868e+00_rb,0.10008e+01_rb,0.11347e+01_rb /) kao(:, 3, 4,16) = (/ & & 0.13067e+00_rb,0.15392e+00_rb,0.30782e+00_rb,0.46170e+00_rb,0.61554e+00_rb, & & 0.76929e+00_rb,0.92283e+00_rb,0.10757e+01_rb,0.12195e+01_rb /) kao(:, 4, 4,16) = (/ & & 0.12733e+00_rb,0.16364e+00_rb,0.32725e+00_rb,0.49085e+00_rb,0.65439e+00_rb, & & 0.81785e+00_rb,0.98125e+00_rb,0.11437e+01_rb,0.12968e+01_rb /) kao(:, 5, 4,16) = (/ & & 0.12429e+00_rb,0.17242e+00_rb,0.34483e+00_rb,0.51721e+00_rb,0.68954e+00_rb, & & 0.86178e+00_rb,0.10339e+01_rb,0.12053e+01_rb,0.13667e+01_rb /) kao(:, 1, 5,16) = (/ & & 0.16714e+00_rb,0.15294e+00_rb,0.29770e+00_rb,0.44651e+00_rb,0.59528e+00_rb, & & 0.74397e+00_rb,0.89246e+00_rb,0.10402e+01_rb,0.11846e+01_rb /) kao(:, 2, 5,16) = (/ & & 0.16248e+00_rb,0.16289e+00_rb,0.32569e+00_rb,0.48850e+00_rb,0.65127e+00_rb, & & 0.81396e+00_rb,0.97625e+00_rb,0.11381e+01_rb,0.12962e+01_rb /) kao(:, 3, 5,16) = (/ & & 0.15803e+00_rb,0.17580e+00_rb,0.35158e+00_rb,0.52733e+00_rb,0.70303e+00_rb, & & 0.87864e+00_rb,0.10540e+01_rb,0.12284e+01_rb,0.13993e+01_rb /) kao(:, 4, 5,16) = (/ & & 0.15368e+00_rb,0.18757e+00_rb,0.37512e+00_rb,0.56264e+00_rb,0.75011e+00_rb, & & 0.93747e+00_rb,0.11247e+01_rb,0.13108e+01_rb,0.14933e+01_rb /) kao(:, 5, 5,16) = (/ & & 0.14943e+00_rb,0.19824e+00_rb,0.39645e+00_rb,0.59477e+00_rb,0.79303e+00_rb, & & 0.99112e+00_rb,0.11890e+01_rb,0.13858e+01_rb,0.15783e+01_rb /) kao(:, 1, 6,16) = (/ & & 0.20217e+00_rb,0.17926e+00_rb,0.33507e+00_rb,0.50257e+00_rb,0.67002e+00_rb, & & 0.83741e+00_rb,0.10046e+01_rb,0.11708e+01_rb,0.13365e+01_rb /) kao(:, 2, 6,16) = (/ & & 0.19655e+00_rb,0.18668e+00_rb,0.36910e+00_rb,0.55360e+00_rb,0.73806e+00_rb, & & 0.92245e+00_rb,0.11065e+01_rb,0.12896e+01_rb,0.14724e+01_rb /) kao(:, 3, 6,16) = (/ & & 0.19100e+00_rb,0.20029e+00_rb,0.40054e+00_rb,0.60077e+00_rb,0.80095e+00_rb, & & 0.10010e+01_rb,0.12008e+01_rb,0.13997e+01_rb,0.15979e+01_rb /) kao(:, 4, 6,16) = (/ & & 0.18556e+00_rb,0.21465e+00_rb,0.42926e+00_rb,0.64385e+00_rb,0.85838e+00_rb, & & 0.10728e+01_rb,0.12869e+01_rb,0.15000e+01_rb,0.17126e+01_rb /) kao(:, 5, 6,16) = (/ & & 0.18024e+00_rb,0.22760e+00_rb,0.45517e+00_rb,0.68271e+00_rb,0.91019e+00_rb, & & 0.11375e+01_rb,0.13647e+01_rb,0.15907e+01_rb,0.18161e+01_rb /) kao(:, 1, 7,16) = (/ & & 0.24417e+00_rb,0.21368e+00_rb,0.37507e+00_rb,0.56256e+00_rb,0.75006e+00_rb, & & 0.93742e+00_rb,0.11245e+01_rb,0.13107e+01_rb,0.14982e+01_rb /) kao(:, 2, 7,16) = (/ & & 0.23715e+00_rb,0.21661e+00_rb,0.41650e+00_rb,0.62470e+00_rb,0.83285e+00_rb, & & 0.10409e+01_rb,0.12487e+01_rb,0.14555e+01_rb,0.16638e+01_rb /) kao(:, 3, 7,16) = (/ & & 0.23022e+00_rb,0.22856e+00_rb,0.45485e+00_rb,0.68222e+00_rb,0.90954e+00_rb, & & 0.11367e+01_rb,0.13637e+01_rb,0.15896e+01_rb,0.18170e+01_rb /) kao(:, 4, 7,16) = (/ & & 0.22335e+00_rb,0.24491e+00_rb,0.48979e+00_rb,0.73464e+00_rb,0.97947e+00_rb, & & 0.12241e+01_rb,0.14686e+01_rb,0.17118e+01_rb,0.19566e+01_rb /) kao(:, 5, 7,16) = (/ & & 0.21655e+00_rb,0.26068e+00_rb,0.52133e+00_rb,0.78194e+00_rb,0.10425e+01_rb, & & 0.13029e+01_rb,0.15630e+01_rb,0.18220e+01_rb,0.20827e+01_rb /) kao(:, 1, 8,16) = (/ & & 0.29541e+00_rb,0.25848e+00_rb,0.41687e+00_rb,0.62527e+00_rb,0.83361e+00_rb, & & 0.10419e+01_rb,0.12499e+01_rb,0.14571e+01_rb,0.16668e+01_rb /) kao(:, 2, 8,16) = (/ & & 0.28549e+00_rb,0.25449e+00_rb,0.46724e+00_rb,0.70082e+00_rb,0.93434e+00_rb, & & 0.11678e+01_rb,0.14009e+01_rb,0.16328e+01_rb,0.18680e+01_rb /) kao(:, 3, 8,16) = (/ & & 0.27625e+00_rb,0.26285e+00_rb,0.51364e+00_rb,0.77040e+00_rb,0.10271e+01_rb, & & 0.12838e+01_rb,0.15402e+01_rb,0.17956e+01_rb,0.20538e+01_rb /) kao(:, 4, 8,16) = (/ & & 0.26742e+00_rb,0.27883e+00_rb,0.55601e+00_rb,0.83395e+00_rb,0.11118e+01_rb, & & 0.13896e+01_rb,0.16670e+01_rb,0.19436e+01_rb,0.22230e+01_rb /) kao(:, 5, 8,16) = (/ & & 0.25873e+00_rb,0.29706e+00_rb,0.59410e+00_rb,0.89109e+00_rb,0.11880e+01_rb, & & 0.14848e+01_rb,0.17812e+01_rb,0.20764e+01_rb,0.23753e+01_rb /) kao(:, 1, 9,16) = (/ & & 0.35727e+00_rb,0.31262e+00_rb,0.45859e+00_rb,0.68783e+00_rb,0.91710e+00_rb, & & 0.11462e+01_rb,0.13749e+01_rb,0.16027e+01_rb,0.18342e+01_rb /) kao(:, 2, 9,16) = (/ & & 0.34378e+00_rb,0.30157e+00_rb,0.51912e+00_rb,0.77863e+00_rb,0.10382e+01_rb, & & 0.12975e+01_rb,0.15566e+01_rb,0.18147e+01_rb,0.20764e+01_rb /) kao(:, 3, 9,16) = (/ & & 0.33111e+00_rb,0.30494e+00_rb,0.57506e+00_rb,0.86254e+00_rb,0.11500e+01_rb, & & 0.14374e+01_rb,0.17244e+01_rb,0.20104e+01_rb,0.23002e+01_rb /) kao(:, 4, 9,16) = (/ & & 0.31901e+00_rb,0.31860e+00_rb,0.62597e+00_rb,0.93889e+00_rb,0.12519e+01_rb, & & 0.15648e+01_rb,0.18772e+01_rb,0.21885e+01_rb,0.25042e+01_rb /) kao(:, 5, 9,16) = (/ & & 0.30738e+00_rb,0.33686e+00_rb,0.67173e+00_rb,0.10075e+01_rb,0.13433e+01_rb, & & 0.16788e+01_rb,0.20142e+01_rb,0.23482e+01_rb,0.26866e+01_rb /) kao(:, 1,10,16) = (/ & & 0.42900e+00_rb,0.37537e+00_rb,0.50742e+00_rb,0.76107e+00_rb,0.10147e+01_rb, & & 0.12682e+01_rb,0.15216e+01_rb,0.17737e+01_rb,0.20298e+01_rb /) kao(:, 2,10,16) = (/ & & 0.41120e+00_rb,0.35980e+00_rb,0.57626e+00_rb,0.86440e+00_rb,0.11524e+01_rb, & & 0.14403e+01_rb,0.17281e+01_rb,0.20148e+01_rb,0.23052e+01_rb /) kao(:, 3,10,16) = (/ & & 0.39435e+00_rb,0.35582e+00_rb,0.64201e+00_rb,0.96295e+00_rb,0.12838e+01_rb, & & 0.16046e+01_rb,0.19250e+01_rb,0.22444e+01_rb,0.25680e+01_rb /) kao(:, 4,10,16) = (/ & & 0.37835e+00_rb,0.36721e+00_rb,0.70220e+00_rb,0.10532e+01_rb,0.14042e+01_rb, & & 0.17550e+01_rb,0.21055e+01_rb,0.24551e+01_rb,0.28089e+01_rb /) kao(:, 5,10,16) = (/ & & 0.36302e+00_rb,0.38402e+00_rb,0.75599e+00_rb,0.11339e+01_rb,0.15118e+01_rb, & & 0.18894e+01_rb,0.22669e+01_rb,0.26429e+01_rb,0.30243e+01_rb /) kao(:, 1,11,16) = (/ & & 0.50130e+00_rb,0.43864e+00_rb,0.59754e+00_rb,0.89626e+00_rb,0.11949e+01_rb, & & 0.14934e+01_rb,0.17919e+01_rb,0.20890e+01_rb,0.23902e+01_rb /) kao(:, 2,11,16) = (/ & & 0.47862e+00_rb,0.41971e+00_rb,0.67375e+00_rb,0.10106e+01_rb,0.13473e+01_rb, & & 0.16840e+01_rb,0.20203e+01_rb,0.23553e+01_rb,0.26950e+01_rb /) kao(:, 3,11,16) = (/ & & 0.45729e+00_rb,0.41739e+00_rb,0.74475e+00_rb,0.11171e+01_rb,0.14893e+01_rb, & & 0.18615e+01_rb,0.22335e+01_rb,0.26038e+01_rb,0.29786e+01_rb /) kao(:, 4,11,16) = (/ & & 0.43691e+00_rb,0.42957e+00_rb,0.80967e+00_rb,0.12144e+01_rb,0.16191e+01_rb, & & 0.20236e+01_rb,0.24280e+01_rb,0.28308e+01_rb,0.32389e+01_rb /) kao(:, 5,11,16) = (/ & & 0.41748e+00_rb,0.44621e+00_rb,0.86800e+00_rb,0.13019e+01_rb,0.17360e+01_rb, & & 0.21698e+01_rb,0.26031e+01_rb,0.30355e+01_rb,0.34723e+01_rb /) kao(:, 1,12,16) = (/ & & 0.58052e+00_rb,0.50796e+00_rb,0.69775e+00_rb,0.10466e+01_rb,0.13954e+01_rb, & & 0.17440e+01_rb,0.20924e+01_rb,0.24394e+01_rb,0.27908e+01_rb /) kao(:, 2,12,16) = (/ & & 0.55207e+00_rb,0.48627e+00_rb,0.78177e+00_rb,0.11726e+01_rb,0.15635e+01_rb, & & 0.19543e+01_rb,0.23447e+01_rb,0.27336e+01_rb,0.31273e+01_rb /) kao(:, 3,12,16) = (/ & & 0.52503e+00_rb,0.48543e+00_rb,0.85881e+00_rb,0.12881e+01_rb,0.17174e+01_rb, & & 0.21467e+01_rb,0.25754e+01_rb,0.30027e+01_rb,0.34355e+01_rb /) kao(:, 4,12,16) = (/ & & 0.49945e+00_rb,0.49746e+00_rb,0.92780e+00_rb,0.13917e+01_rb,0.18554e+01_rb, & & 0.23191e+01_rb,0.27823e+01_rb,0.32446e+01_rb,0.37108e+01_rb /) kao(:, 5,12,16) = (/ & & 0.47536e+00_rb,0.51344e+00_rb,0.98885e+00_rb,0.14832e+01_rb,0.19776e+01_rb, & & 0.24717e+01_rb,0.29655e+01_rb,0.34576e+01_rb,0.39563e+01_rb /) kao(:, 1,13,16) = (/ & & 0.66560e+00_rb,0.58240e+00_rb,0.80598e+00_rb,0.12089e+01_rb,0.16118e+01_rb, & & 0.20145e+01_rb,0.24172e+01_rb,0.28183e+01_rb,0.32240e+01_rb /) kao(:, 2,13,16) = (/ & & 0.62986e+00_rb,0.55885e+00_rb,0.89794e+00_rb,0.13468e+01_rb,0.17957e+01_rb, & & 0.22443e+01_rb,0.26925e+01_rb,0.31396e+01_rb,0.35914e+01_rb /) kao(:, 3,13,16) = (/ & & 0.59613e+00_rb,0.55868e+00_rb,0.98065e+00_rb,0.14709e+01_rb,0.19611e+01_rb, & & 0.24513e+01_rb,0.29409e+01_rb,0.34293e+01_rb,0.39230e+01_rb /) kao(:, 4,13,16) = (/ & & 0.56427e+00_rb,0.56950e+00_rb,0.10539e+01_rb,0.15808e+01_rb,0.21076e+01_rb, & & 0.26342e+01_rb,0.31605e+01_rb,0.36850e+01_rb,0.42159e+01_rb /) kao(:, 5,13,16) = (/ & & 0.53530e+00_rb,0.58425e+00_rb,0.11174e+01_rb,0.16761e+01_rb,0.22346e+01_rb, & & 0.27933e+01_rb,0.33512e+01_rb,0.39078e+01_rb,0.44703e+01_rb /) ! ----------------------------------------------------------------- ! The array KBO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels < ~100mb and temperatures. The first ! index in the array, JT, which runs from 1 to 5, corresponds to ! different temperatures. More specifically, JT = 3 means that the ! data are for the reference temperature TREF for this pressure ! level, JT = 2 refers to the temperature TREF-15, JT = 1 is for ! TREF-30, JT = 4 is for TREF+15, and JT = 5 is for TREF+30. ! The second index, JP, runs from 13 to 59 and refers to the JPth ! reference pressure level (see taumol.f for the value of these ! pressure levels in mb). The third index, IG, goes from 1 to 16, ! and tells us which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kbo(:,13, 1) = (/ & & 0.12810e-03_rb,0.12891e-03_rb,0.12890e-03_rb,0.12713e-03_rb,0.12477e-03_rb /) kbo(:,14, 1) = (/ & & 0.10653e-03_rb,0.10667e-03_rb,0.10648e-03_rb,0.10473e-03_rb,0.10293e-03_rb /) kbo(:,15, 1) = (/ & & 0.90176e-04_rb,0.90077e-04_rb,0.89286e-04_rb,0.87879e-04_rb,0.85987e-04_rb /) kbo(:,16, 1) = (/ & & 0.77704e-04_rb,0.77304e-04_rb,0.75879e-04_rb,0.74246e-04_rb,0.72070e-04_rb /) kbo(:,17, 1) = (/ & & 0.67183e-04_rb,0.65906e-04_rb,0.64619e-04_rb,0.63000e-04_rb,0.61056e-04_rb /) kbo(:,18, 1) = (/ & & 0.58741e-04_rb,0.57649e-04_rb,0.56028e-04_rb,0.54293e-04_rb,0.52506e-04_rb /) kbo(:,19, 1) = (/ & & 0.51839e-04_rb,0.50715e-04_rb,0.49053e-04_rb,0.47195e-04_rb,0.45368e-04_rb /) kbo(:,20, 1) = (/ & & 0.44321e-04_rb,0.43297e-04_rb,0.41923e-04_rb,0.40298e-04_rb,0.38744e-04_rb /) kbo(:,21, 1) = (/ & & 0.37527e-04_rb,0.36516e-04_rb,0.35380e-04_rb,0.34037e-04_rb,0.32951e-04_rb /) kbo(:,22, 1) = (/ & & 0.31752e-04_rb,0.30703e-04_rb,0.29586e-04_rb,0.28499e-04_rb,0.27519e-04_rb /) kbo(:,23, 1) = (/ & & 0.26638e-04_rb,0.25643e-04_rb,0.24693e-04_rb,0.23832e-04_rb,0.22913e-04_rb /) kbo(:,24, 1) = (/ & & 0.22325e-04_rb,0.21480e-04_rb,0.20621e-04_rb,0.19867e-04_rb,0.19066e-04_rb /) kbo(:,25, 1) = (/ & & 0.18764e-04_rb,0.17998e-04_rb,0.17269e-04_rb,0.16527e-04_rb,0.15821e-04_rb /) kbo(:,26, 1) = (/ & & 0.15650e-04_rb,0.14992e-04_rb,0.14356e-04_rb,0.13710e-04_rb,0.13119e-04_rb /) kbo(:,27, 1) = (/ & & 0.13054e-04_rb,0.12477e-04_rb,0.11929e-04_rb,0.11393e-04_rb,0.10948e-04_rb /) kbo(:,28, 1) = (/ & & 0.10852e-04_rb,0.10390e-04_rb,0.99195e-05_rb,0.95020e-05_rb,0.91993e-05_rb /) kbo(:,29, 1) = (/ & & 0.90990e-05_rb,0.87209e-05_rb,0.83384e-05_rb,0.80029e-05_rb,0.77245e-05_rb /) kbo(:,30, 1) = (/ & & 0.77169e-05_rb,0.73662e-05_rb,0.70552e-05_rb,0.68029e-05_rb,0.65749e-05_rb /) kbo(:,31, 1) = (/ & & 0.65250e-05_rb,0.62364e-05_rb,0.60172e-05_rb,0.57804e-05_rb,0.55504e-05_rb /) kbo(:,32, 1) = (/ & & 0.55167e-05_rb,0.53021e-05_rb,0.51088e-05_rb,0.49113e-05_rb,0.47150e-05_rb /) kbo(:,33, 1) = (/ & & 0.47261e-05_rb,0.45530e-05_rb,0.43641e-05_rb,0.41725e-05_rb,0.40077e-05_rb /) kbo(:,34, 1) = (/ & & 0.40646e-05_rb,0.39062e-05_rb,0.37472e-05_rb,0.36009e-05_rb,0.34549e-05_rb /) kbo(:,35, 1) = (/ & & 0.35479e-05_rb,0.34057e-05_rb,0.32704e-05_rb,0.31420e-05_rb,0.30219e-05_rb /) kbo(:,36, 1) = (/ & & 0.31353e-05_rb,0.30270e-05_rb,0.29024e-05_rb,0.27776e-05_rb,0.26600e-05_rb /) kbo(:,37, 1) = (/ & & 0.26595e-05_rb,0.25621e-05_rb,0.24646e-05_rb,0.23582e-05_rb,0.22563e-05_rb /) kbo(:,38, 1) = (/ & & 0.22468e-05_rb,0.21651e-05_rb,0.20812e-05_rb,0.20043e-05_rb,0.19221e-05_rb /) kbo(:,39, 1) = (/ & & 0.19009e-05_rb,0.18335e-05_rb,0.17685e-05_rb,0.17039e-05_rb,0.16406e-05_rb /) kbo(:,40, 1) = (/ & & 0.15746e-05_rb,0.15188e-05_rb,0.14669e-05_rb,0.14148e-05_rb,0.13668e-05_rb /) kbo(:,41, 1) = (/ & & 0.13001e-05_rb,0.12561e-05_rb,0.12122e-05_rb,0.11718e-05_rb,0.11306e-05_rb /) kbo(:,42, 1) = (/ & & 0.10716e-05_rb,0.10380e-05_rb,0.10018e-05_rb,0.96745e-06_rb,0.93475e-06_rb /) kbo(:,43, 1) = (/ & & 0.87651e-06_rb,0.85172e-06_rb,0.82453e-06_rb,0.79560e-06_rb,0.77011e-06_rb /) kbo(:,44, 1) = (/ & & 0.71565e-06_rb,0.69699e-06_rb,0.67699e-06_rb,0.65403e-06_rb,0.63202e-06_rb /) kbo(:,45, 1) = (/ & & 0.58391e-06_rb,0.56946e-06_rb,0.55318e-06_rb,0.53575e-06_rb,0.51774e-06_rb /) kbo(:,46, 1) = (/ & & 0.47490e-06_rb,0.46531e-06_rb,0.45175e-06_rb,0.43686e-06_rb,0.42260e-06_rb /) kbo(:,47, 1) = (/ & & 0.38718e-06_rb,0.37610e-06_rb,0.36650e-06_rb,0.35580e-06_rb,0.34417e-06_rb /) kbo(:,48, 1) = (/ & & 0.31464e-06_rb,0.30494e-06_rb,0.29872e-06_rb,0.29096e-06_rb,0.28230e-06_rb /) kbo(:,49, 1) = (/ & & 0.25542e-06_rb,0.24885e-06_rb,0.24314e-06_rb,0.23745e-06_rb,0.23092e-06_rb /) kbo(:,50, 1) = (/ & & 0.20741e-06_rb,0.20175e-06_rb,0.19699e-06_rb,0.19305e-06_rb,0.18791e-06_rb /) kbo(:,51, 1) = (/ & & 0.16760e-06_rb,0.16406e-06_rb,0.15993e-06_rb,0.15631e-06_rb,0.15327e-06_rb /) kbo(:,52, 1) = (/ & & 0.13579e-06_rb,0.13287e-06_rb,0.12985e-06_rb,0.12725e-06_rb,0.12470e-06_rb /) kbo(:,53, 1) = (/ & & 0.11006e-06_rb,0.10757e-06_rb,0.10568e-06_rb,0.10314e-06_rb,0.10101e-06_rb /) kbo(:,54, 1) = (/ & & 0.88711e-07_rb,0.87131e-07_rb,0.85162e-07_rb,0.83405e-07_rb,0.81585e-07_rb /) kbo(:,55, 1) = (/ & & 0.70889e-07_rb,0.69917e-07_rb,0.68692e-07_rb,0.67463e-07_rb,0.66047e-07_rb /) kbo(:,56, 1) = (/ & & 0.56659e-07_rb,0.56077e-07_rb,0.55518e-07_rb,0.54462e-07_rb,0.53563e-07_rb /) kbo(:,57, 1) = (/ & & 0.45380e-07_rb,0.45159e-07_rb,0.44718e-07_rb,0.44063e-07_rb,0.43116e-07_rb /) kbo(:,58, 1) = (/ & & 0.35962e-07_rb,0.36177e-07_rb,0.35997e-07_rb,0.35600e-07_rb,0.34340e-07_rb /) kbo(:,59, 1) = (/ & & 0.28578e-07_rb,0.28924e-07_rb,0.28901e-07_rb,0.28176e-07_rb,0.27246e-07_rb /) kbo(:,13, 2) = (/ & & 0.63215e-03_rb,0.64756e-03_rb,0.65734e-03_rb,0.66515e-03_rb,0.67077e-03_rb /) kbo(:,14, 2) = (/ & & 0.52378e-03_rb,0.53631e-03_rb,0.54485e-03_rb,0.55071e-03_rb,0.55605e-03_rb /) kbo(:,15, 2) = (/ & & 0.43777e-03_rb,0.44814e-03_rb,0.45521e-03_rb,0.46124e-03_rb,0.46700e-03_rb /) kbo(:,16, 2) = (/ & & 0.37023e-03_rb,0.37869e-03_rb,0.38568e-03_rb,0.39070e-03_rb,0.39760e-03_rb /) kbo(:,17, 2) = (/ & & 0.31753e-03_rb,0.32632e-03_rb,0.33254e-03_rb,0.33817e-03_rb,0.34312e-03_rb /) kbo(:,18, 2) = (/ & & 0.27580e-03_rb,0.28310e-03_rb,0.28915e-03_rb,0.29488e-03_rb,0.29855e-03_rb /) kbo(:,19, 2) = (/ & & 0.24129e-03_rb,0.24697e-03_rb,0.25302e-03_rb,0.25785e-03_rb,0.26137e-03_rb /) kbo(:,20, 2) = (/ & & 0.20470e-03_rb,0.21040e-03_rb,0.21552e-03_rb,0.21963e-03_rb,0.22260e-03_rb /) kbo(:,21, 2) = (/ & & 0.17290e-03_rb,0.17782e-03_rb,0.18188e-03_rb,0.18513e-03_rb,0.18794e-03_rb /) kbo(:,22, 2) = (/ & & 0.14599e-03_rb,0.15063e-03_rb,0.15389e-03_rb,0.15682e-03_rb,0.15965e-03_rb /) kbo(:,23, 2) = (/ & & 0.12390e-03_rb,0.12797e-03_rb,0.13071e-03_rb,0.13347e-03_rb,0.13571e-03_rb /) kbo(:,24, 2) = (/ & & 0.10553e-03_rb,0.10875e-03_rb,0.11134e-03_rb,0.11351e-03_rb,0.11513e-03_rb /) kbo(:,25, 2) = (/ & & 0.90263e-04_rb,0.92560e-04_rb,0.94667e-04_rb,0.96225e-04_rb,0.97041e-04_rb /) kbo(:,26, 2) = (/ & & 0.76542e-04_rb,0.78227e-04_rb,0.79755e-04_rb,0.80768e-04_rb,0.81412e-04_rb /) kbo(:,27, 2) = (/ & & 0.64562e-04_rb,0.66024e-04_rb,0.67121e-04_rb,0.67878e-04_rb,0.67992e-04_rb /) kbo(:,28, 2) = (/ & & 0.54587e-04_rb,0.55668e-04_rb,0.56439e-04_rb,0.56778e-04_rb,0.56649e-04_rb /) kbo(:,29, 2) = (/ & & 0.46248e-04_rb,0.46885e-04_rb,0.47469e-04_rb,0.47476e-04_rb,0.47464e-04_rb /) kbo(:,30, 2) = (/ & & 0.39084e-04_rb,0.39701e-04_rb,0.39836e-04_rb,0.39919e-04_rb,0.39762e-04_rb /) kbo(:,31, 2) = (/ & & 0.33297e-04_rb,0.33670e-04_rb,0.33781e-04_rb,0.33571e-04_rb,0.33418e-04_rb /) kbo(:,32, 2) = (/ & & 0.28475e-04_rb,0.28479e-04_rb,0.28352e-04_rb,0.28202e-04_rb,0.28107e-04_rb /) kbo(:,33, 2) = (/ & & 0.24023e-04_rb,0.23977e-04_rb,0.23874e-04_rb,0.23858e-04_rb,0.23729e-04_rb /) kbo(:,34, 2) = (/ & & 0.20276e-04_rb,0.20314e-04_rb,0.20262e-04_rb,0.20205e-04_rb,0.20013e-04_rb /) kbo(:,35, 2) = (/ & & 0.17177e-04_rb,0.17179e-04_rb,0.17181e-04_rb,0.17048e-04_rb,0.16915e-04_rb /) kbo(:,36, 2) = (/ & & 0.14586e-04_rb,0.14632e-04_rb,0.14569e-04_rb,0.14465e-04_rb,0.14404e-04_rb /) kbo(:,37, 2) = (/ & & 0.12165e-04_rb,0.12220e-04_rb,0.12164e-04_rb,0.12099e-04_rb,0.12036e-04_rb /) kbo(:,38, 2) = (/ & & 0.10178e-04_rb,0.10224e-04_rb,0.10201e-04_rb,0.10134e-04_rb,0.10060e-04_rb /) kbo(:,39, 2) = (/ & & 0.85622e-05_rb,0.85826e-05_rb,0.85520e-05_rb,0.85109e-05_rb,0.84378e-05_rb /) kbo(:,40, 2) = (/ & & 0.70263e-05_rb,0.70549e-05_rb,0.70334e-05_rb,0.70000e-05_rb,0.69500e-05_rb /) kbo(:,41, 2) = (/ & & 0.57510e-05_rb,0.57749e-05_rb,0.57692e-05_rb,0.57384e-05_rb,0.57121e-05_rb /) kbo(:,42, 2) = (/ & & 0.47038e-05_rb,0.47261e-05_rb,0.47278e-05_rb,0.47023e-05_rb,0.46867e-05_rb /) kbo(:,43, 2) = (/ & & 0.38249e-05_rb,0.38339e-05_rb,0.38498e-05_rb,0.38364e-05_rb,0.38125e-05_rb /) kbo(:,44, 2) = (/ & & 0.30973e-05_rb,0.31120e-05_rb,0.31166e-05_rb,0.31203e-05_rb,0.31022e-05_rb /) kbo(:,45, 2) = (/ & & 0.25085e-05_rb,0.25263e-05_rb,0.25293e-05_rb,0.25328e-05_rb,0.25249e-05_rb /) kbo(:,46, 2) = (/ & & 0.20261e-05_rb,0.20479e-05_rb,0.20565e-05_rb,0.20575e-05_rb,0.20588e-05_rb /) kbo(:,47, 2) = (/ & & 0.16319e-05_rb,0.16639e-05_rb,0.16745e-05_rb,0.16740e-05_rb,0.16759e-05_rb /) kbo(:,48, 2) = (/ & & 0.13097e-05_rb,0.13449e-05_rb,0.13611e-05_rb,0.13624e-05_rb,0.13589e-05_rb /) kbo(:,49, 2) = (/ & & 0.10521e-05_rb,0.10847e-05_rb,0.11052e-05_rb,0.11102e-05_rb,0.11085e-05_rb /) kbo(:,50, 2) = (/ & & 0.84668e-06_rb,0.87235e-06_rb,0.89544e-06_rb,0.90607e-06_rb,0.90616e-06_rb /) kbo(:,51, 2) = (/ & & 0.68060e-06_rb,0.70180e-06_rb,0.72187e-06_rb,0.73562e-06_rb,0.73800e-06_rb /) kbo(:,52, 2) = (/ & & 0.54634e-06_rb,0.56481e-06_rb,0.58256e-06_rb,0.59543e-06_rb,0.60122e-06_rb /) kbo(:,53, 2) = (/ & & 0.43866e-06_rb,0.45577e-06_rb,0.46957e-06_rb,0.48176e-06_rb,0.48940e-06_rb /) kbo(:,54, 2) = (/ & & 0.35062e-06_rb,0.36647e-06_rb,0.37935e-06_rb,0.38978e-06_rb,0.39697e-06_rb /) kbo(:,55, 2) = (/ & & 0.27883e-06_rb,0.29514e-06_rb,0.30397e-06_rb,0.31251e-06_rb,0.32004e-06_rb /) kbo(:,56, 2) = (/ & & 0.22098e-06_rb,0.23550e-06_rb,0.24289e-06_rb,0.25018e-06_rb,0.25708e-06_rb /) kbo(:,57, 2) = (/ & & 0.17295e-06_rb,0.18624e-06_rb,0.19332e-06_rb,0.19934e-06_rb,0.20587e-06_rb /) kbo(:,58, 2) = (/ & & 0.13623e-06_rb,0.14680e-06_rb,0.15403e-06_rb,0.15912e-06_rb,0.16499e-06_rb /) kbo(:,59, 2) = (/ & & 0.10864e-06_rb,0.11680e-06_rb,0.12353e-06_rb,0.12840e-06_rb,0.13352e-06_rb /) kbo(:,13, 3) = (/ & & 0.21069e-02_rb,0.21571e-02_rb,0.21943e-02_rb,0.22061e-02_rb,0.22124e-02_rb /) kbo(:,14, 3) = (/ & & 0.17411e-02_rb,0.17833e-02_rb,0.18097e-02_rb,0.18225e-02_rb,0.18251e-02_rb /) kbo(:,15, 3) = (/ & & 0.14440e-02_rb,0.14790e-02_rb,0.14963e-02_rb,0.15066e-02_rb,0.15066e-02_rb /) kbo(:,16, 3) = (/ & & 0.11998e-02_rb,0.12261e-02_rb,0.12398e-02_rb,0.12500e-02_rb,0.12487e-02_rb /) kbo(:,17, 3) = (/ & & 0.99980e-03_rb,0.10202e-02_rb,0.10332e-02_rb,0.10399e-02_rb,0.10392e-02_rb /) kbo(:,18, 3) = (/ & & 0.83805e-03_rb,0.85629e-03_rb,0.86827e-03_rb,0.87303e-03_rb,0.87540e-03_rb /) kbo(:,19, 3) = (/ & & 0.70743e-03_rb,0.72381e-03_rb,0.73251e-03_rb,0.73550e-03_rb,0.73931e-03_rb /) kbo(:,20, 3) = (/ & & 0.59348e-03_rb,0.60572e-03_rb,0.61137e-03_rb,0.61496e-03_rb,0.61761e-03_rb /) kbo(:,21, 3) = (/ & & 0.49556e-03_rb,0.50488e-03_rb,0.50987e-03_rb,0.51421e-03_rb,0.51581e-03_rb /) kbo(:,22, 3) = (/ & & 0.41461e-03_rb,0.42145e-03_rb,0.42584e-03_rb,0.42969e-03_rb,0.43055e-03_rb /) kbo(:,23, 3) = (/ & & 0.34683e-03_rb,0.35181e-03_rb,0.35660e-03_rb,0.35911e-03_rb,0.35958e-03_rb /) kbo(:,24, 3) = (/ & & 0.29004e-03_rb,0.29383e-03_rb,0.29787e-03_rb,0.29964e-03_rb,0.30042e-03_rb /) kbo(:,25, 3) = (/ & & 0.24146e-03_rb,0.24561e-03_rb,0.24879e-03_rb,0.25053e-03_rb,0.25134e-03_rb /) kbo(:,26, 3) = (/ & & 0.20160e-03_rb,0.20537e-03_rb,0.20774e-03_rb,0.20928e-03_rb,0.21023e-03_rb /) kbo(:,27, 3) = (/ & & 0.16916e-03_rb,0.17226e-03_rb,0.17386e-03_rb,0.17529e-03_rb,0.17634e-03_rb /) kbo(:,28, 3) = (/ & & 0.14183e-03_rb,0.14414e-03_rb,0.14604e-03_rb,0.14741e-03_rb,0.14844e-03_rb /) kbo(:,29, 3) = (/ & & 0.11954e-03_rb,0.12161e-03_rb,0.12286e-03_rb,0.12386e-03_rb,0.12448e-03_rb /) kbo(:,30, 3) = (/ & & 0.10067e-03_rb,0.10205e-03_rb,0.10331e-03_rb,0.10409e-03_rb,0.10476e-03_rb /) kbo(:,31, 3) = (/ & & 0.85014e-04_rb,0.86248e-04_rb,0.87024e-04_rb,0.87958e-04_rb,0.88579e-04_rb /) kbo(:,32, 3) = (/ & & 0.71930e-04_rb,0.73074e-04_rb,0.73985e-04_rb,0.74934e-04_rb,0.74848e-04_rb /) kbo(:,33, 3) = (/ & & 0.61205e-04_rb,0.62259e-04_rb,0.63209e-04_rb,0.63383e-04_rb,0.63466e-04_rb /) kbo(:,34, 3) = (/ & & 0.52046e-04_rb,0.52896e-04_rb,0.53420e-04_rb,0.53516e-04_rb,0.53755e-04_rb /) kbo(:,35, 3) = (/ & & 0.44380e-04_rb,0.45121e-04_rb,0.45277e-04_rb,0.45604e-04_rb,0.45761e-04_rb /) kbo(:,36, 3) = (/ & & 0.38058e-04_rb,0.38409e-04_rb,0.38657e-04_rb,0.38813e-04_rb,0.38628e-04_rb /) kbo(:,37, 3) = (/ & & 0.31735e-04_rb,0.31990e-04_rb,0.32199e-04_rb,0.32288e-04_rb,0.32179e-04_rb /) kbo(:,38, 3) = (/ & & 0.26378e-04_rb,0.26667e-04_rb,0.26778e-04_rb,0.26840e-04_rb,0.26760e-04_rb /) kbo(:,39, 3) = (/ & & 0.21949e-04_rb,0.22195e-04_rb,0.22340e-04_rb,0.22330e-04_rb,0.22281e-04_rb /) kbo(:,40, 3) = (/ & & 0.18001e-04_rb,0.18209e-04_rb,0.18338e-04_rb,0.18376e-04_rb,0.18309e-04_rb /) kbo(:,41, 3) = (/ & & 0.14715e-04_rb,0.14906e-04_rb,0.15025e-04_rb,0.15098e-04_rb,0.15026e-04_rb /) kbo(:,42, 3) = (/ & & 0.12019e-04_rb,0.12197e-04_rb,0.12312e-04_rb,0.12380e-04_rb,0.12346e-04_rb /) kbo(:,43, 3) = (/ & & 0.97566e-05_rb,0.99318e-05_rb,0.10036e-04_rb,0.10096e-04_rb,0.10118e-04_rb /) kbo(:,44, 3) = (/ & & 0.78810e-05_rb,0.80716e-05_rb,0.81637e-05_rb,0.82202e-05_rb,0.82608e-05_rb /) kbo(:,45, 3) = (/ & & 0.63541e-05_rb,0.65171e-05_rb,0.66330e-05_rb,0.66977e-05_rb,0.67239e-05_rb /) kbo(:,46, 3) = (/ & & 0.51077e-05_rb,0.52428e-05_rb,0.53636e-05_rb,0.54363e-05_rb,0.54693e-05_rb /) kbo(:,47, 3) = (/ & & 0.40883e-05_rb,0.42196e-05_rb,0.43199e-05_rb,0.44074e-05_rb,0.44462e-05_rb /) kbo(:,48, 3) = (/ & & 0.32909e-05_rb,0.33941e-05_rb,0.34746e-05_rb,0.35546e-05_rb,0.36089e-05_rb /) kbo(:,49, 3) = (/ & & 0.26401e-05_rb,0.27269e-05_rb,0.28003e-05_rb,0.28616e-05_rb,0.29188e-05_rb /) kbo(:,50, 3) = (/ & & 0.21222e-05_rb,0.22032e-05_rb,0.22638e-05_rb,0.23127e-05_rb,0.23603e-05_rb /) kbo(:,51, 3) = (/ & & 0.17056e-05_rb,0.17838e-05_rb,0.18386e-05_rb,0.18804e-05_rb,0.19134e-05_rb /) kbo(:,52, 3) = (/ & & 0.13662e-05_rb,0.14333e-05_rb,0.14855e-05_rb,0.15238e-05_rb,0.15521e-05_rb /) kbo(:,53, 3) = (/ & & 0.10889e-05_rb,0.11445e-05_rb,0.11955e-05_rb,0.12300e-05_rb,0.12560e-05_rb /) kbo(:,54, 3) = (/ & & 0.86251e-06_rb,0.91556e-06_rb,0.95999e-06_rb,0.99454e-06_rb,0.10171e-05_rb /) kbo(:,55, 3) = (/ & & 0.68640e-06_rb,0.72868e-06_rb,0.77389e-06_rb,0.80627e-06_rb,0.82696e-06_rb /) kbo(:,56, 3) = (/ & & 0.54334e-06_rb,0.58339e-06_rb,0.61953e-06_rb,0.65190e-06_rb,0.67285e-06_rb /) kbo(:,57, 3) = (/ & & 0.43336e-06_rb,0.46511e-06_rb,0.49561e-06_rb,0.52337e-06_rb,0.54491e-06_rb /) kbo(:,58, 3) = (/ & & 0.34428e-06_rb,0.37236e-06_rb,0.39687e-06_rb,0.42017e-06_rb,0.43790e-06_rb /) kbo(:,59, 3) = (/ & & 0.27883e-06_rb,0.30237e-06_rb,0.32096e-06_rb,0.33978e-06_rb,0.35485e-06_rb /) kbo(:,13, 4) = (/ & & 0.52806e-02_rb,0.53551e-02_rb,0.53836e-02_rb,0.53810e-02_rb,0.53413e-02_rb /) kbo(:,14, 4) = (/ & & 0.43594e-02_rb,0.44114e-02_rb,0.44268e-02_rb,0.44183e-02_rb,0.43877e-02_rb /) kbo(:,15, 4) = (/ & & 0.36080e-02_rb,0.36421e-02_rb,0.36603e-02_rb,0.36540e-02_rb,0.36307e-02_rb /) kbo(:,16, 4) = (/ & & 0.30007e-02_rb,0.30324e-02_rb,0.30479e-02_rb,0.30377e-02_rb,0.30175e-02_rb /) kbo(:,17, 4) = (/ & & 0.25113e-02_rb,0.25415e-02_rb,0.25489e-02_rb,0.25428e-02_rb,0.25281e-02_rb /) kbo(:,18, 4) = (/ & & 0.21119e-02_rb,0.21340e-02_rb,0.21396e-02_rb,0.21381e-02_rb,0.21232e-02_rb /) kbo(:,19, 4) = (/ & & 0.17705e-02_rb,0.17884e-02_rb,0.17942e-02_rb,0.17931e-02_rb,0.17819e-02_rb /) kbo(:,20, 4) = (/ & & 0.14714e-02_rb,0.14854e-02_rb,0.14921e-02_rb,0.14920e-02_rb,0.14874e-02_rb /) kbo(:,21, 4) = (/ & & 0.12224e-02_rb,0.12349e-02_rb,0.12432e-02_rb,0.12411e-02_rb,0.12395e-02_rb /) kbo(:,22, 4) = (/ & & 0.10170e-02_rb,0.10281e-02_rb,0.10319e-02_rb,0.10310e-02_rb,0.10286e-02_rb /) kbo(:,23, 4) = (/ & & 0.84681e-03_rb,0.85484e-03_rb,0.85517e-03_rb,0.85545e-03_rb,0.85571e-03_rb /) kbo(:,24, 4) = (/ & & 0.70330e-03_rb,0.70875e-03_rb,0.71078e-03_rb,0.71261e-03_rb,0.71112e-03_rb /) kbo(:,25, 4) = (/ & & 0.58481e-03_rb,0.58870e-03_rb,0.59157e-03_rb,0.59305e-03_rb,0.59234e-03_rb /) kbo(:,26, 4) = (/ & & 0.48640e-03_rb,0.49044e-03_rb,0.49395e-03_rb,0.49468e-03_rb,0.49466e-03_rb /) kbo(:,27, 4) = (/ & & 0.40472e-03_rb,0.40915e-03_rb,0.41235e-03_rb,0.41278e-03_rb,0.41345e-03_rb /) kbo(:,28, 4) = (/ & & 0.33826e-03_rb,0.34205e-03_rb,0.34364e-03_rb,0.34480e-03_rb,0.34528e-03_rb /) kbo(:,29, 4) = (/ & & 0.28308e-03_rb,0.28627e-03_rb,0.28792e-03_rb,0.28910e-03_rb,0.28958e-03_rb /) kbo(:,30, 4) = (/ & & 0.23759e-03_rb,0.23994e-03_rb,0.24196e-03_rb,0.24295e-03_rb,0.24270e-03_rb /) kbo(:,31, 4) = (/ & & 0.19993e-03_rb,0.20202e-03_rb,0.20390e-03_rb,0.20456e-03_rb,0.20411e-03_rb /) kbo(:,32, 4) = (/ & & 0.16851e-03_rb,0.17060e-03_rb,0.17151e-03_rb,0.17169e-03_rb,0.17133e-03_rb /) kbo(:,33, 4) = (/ & & 0.14275e-03_rb,0.14392e-03_rb,0.14445e-03_rb,0.14452e-03_rb,0.14399e-03_rb /) kbo(:,34, 4) = (/ & & 0.12060e-03_rb,0.12142e-03_rb,0.12181e-03_rb,0.12165e-03_rb,0.12105e-03_rb /) kbo(:,35, 4) = (/ & & 0.10168e-03_rb,0.10240e-03_rb,0.10276e-03_rb,0.10261e-03_rb,0.10202e-03_rb /) kbo(:,36, 4) = (/ & & 0.85780e-04_rb,0.86636e-04_rb,0.86815e-04_rb,0.86780e-04_rb,0.86722e-04_rb /) kbo(:,37, 4) = (/ & & 0.71540e-04_rb,0.72201e-04_rb,0.72422e-04_rb,0.72501e-04_rb,0.72398e-04_rb /) kbo(:,38, 4) = (/ & & 0.59609e-04_rb,0.60152e-04_rb,0.60443e-04_rb,0.60540e-04_rb,0.60534e-04_rb /) kbo(:,39, 4) = (/ & & 0.49681e-04_rb,0.50194e-04_rb,0.50481e-04_rb,0.50649e-04_rb,0.50643e-04_rb /) kbo(:,40, 4) = (/ & & 0.40815e-04_rb,0.41335e-04_rb,0.41565e-04_rb,0.41729e-04_rb,0.41776e-04_rb /) kbo(:,41, 4) = (/ & & 0.33476e-04_rb,0.33932e-04_rb,0.34171e-04_rb,0.34301e-04_rb,0.34397e-04_rb /) kbo(:,42, 4) = (/ & & 0.27419e-04_rb,0.27824e-04_rb,0.28083e-04_rb,0.28221e-04_rb,0.28296e-04_rb /) kbo(:,43, 4) = (/ & & 0.22349e-04_rb,0.22753e-04_rb,0.22975e-04_rb,0.23100e-04_rb,0.23164e-04_rb /) kbo(:,44, 4) = (/ & & 0.18197e-04_rb,0.18488e-04_rb,0.18747e-04_rb,0.18878e-04_rb,0.18943e-04_rb /) kbo(:,45, 4) = (/ & & 0.14815e-04_rb,0.15081e-04_rb,0.15284e-04_rb,0.15408e-04_rb,0.15493e-04_rb /) kbo(:,46, 4) = (/ & & 0.12046e-04_rb,0.12304e-04_rb,0.12476e-04_rb,0.12590e-04_rb,0.12654e-04_rb /) kbo(:,47, 4) = (/ & & 0.97834e-05_rb,0.10018e-04_rb,0.10187e-04_rb,0.10295e-04_rb,0.10365e-04_rb /) kbo(:,48, 4) = (/ & & 0.79058e-05_rb,0.81583e-05_rb,0.83158e-05_rb,0.84259e-05_rb,0.84791e-05_rb /) kbo(:,49, 4) = (/ & & 0.63847e-05_rb,0.66212e-05_rb,0.67735e-05_rb,0.68818e-05_rb,0.69382e-05_rb /) kbo(:,50, 4) = (/ & & 0.51619e-05_rb,0.53698e-05_rb,0.55239e-05_rb,0.56230e-05_rb,0.56931e-05_rb /) kbo(:,51, 4) = (/ & & 0.41764e-05_rb,0.43546e-05_rb,0.45018e-05_rb,0.45927e-05_rb,0.46609e-05_rb /) kbo(:,52, 4) = (/ & & 0.33696e-05_rb,0.35302e-05_rb,0.36585e-05_rb,0.37548e-05_rb,0.38091e-05_rb /) kbo(:,53, 4) = (/ & & 0.27142e-05_rb,0.28585e-05_rb,0.29700e-05_rb,0.30632e-05_rb,0.31163e-05_rb /) kbo(:,54, 4) = (/ & & 0.21974e-05_rb,0.23176e-05_rb,0.24169e-05_rb,0.24980e-05_rb,0.25555e-05_rb /) kbo(:,55, 4) = (/ & & 0.17820e-05_rb,0.18827e-05_rb,0.19647e-05_rb,0.20347e-05_rb,0.20895e-05_rb /) kbo(:,56, 4) = (/ & & 0.14445e-05_rb,0.15274e-05_rb,0.15999e-05_rb,0.16558e-05_rb,0.17004e-05_rb /) kbo(:,57, 4) = (/ & & 0.11612e-05_rb,0.12390e-05_rb,0.13020e-05_rb,0.13508e-05_rb,0.13881e-05_rb /) kbo(:,58, 4) = (/ & & 0.93606e-06_rb,0.10017e-05_rb,0.10598e-05_rb,0.11016e-05_rb,0.11367e-05_rb /) kbo(:,59, 4) = (/ & & 0.76682e-06_rb,0.82318e-06_rb,0.87281e-06_rb,0.91208e-06_rb,0.94037e-06_rb /) kbo(:,13, 5) = (/ & & 0.12856e-01_rb,0.13079e-01_rb,0.13167e-01_rb,0.13177e-01_rb,0.13097e-01_rb /) kbo(:,14, 5) = (/ & & 0.10708e-01_rb,0.10853e-01_rb,0.10911e-01_rb,0.10898e-01_rb,0.10814e-01_rb /) kbo(:,15, 5) = (/ & & 0.88690e-02_rb,0.89759e-02_rb,0.90116e-02_rb,0.89730e-02_rb,0.88895e-02_rb /) kbo(:,16, 5) = (/ & & 0.73377e-02_rb,0.74116e-02_rb,0.74224e-02_rb,0.73845e-02_rb,0.73097e-02_rb /) kbo(:,17, 5) = (/ & & 0.61050e-02_rb,0.61465e-02_rb,0.61522e-02_rb,0.61190e-02_rb,0.60607e-02_rb /) kbo(:,18, 5) = (/ & & 0.51170e-02_rb,0.51524e-02_rb,0.51567e-02_rb,0.51299e-02_rb,0.50853e-02_rb /) kbo(:,19, 5) = (/ & & 0.42872e-02_rb,0.43210e-02_rb,0.43249e-02_rb,0.43090e-02_rb,0.42772e-02_rb /) kbo(:,20, 5) = (/ & & 0.35726e-02_rb,0.35987e-02_rb,0.36030e-02_rb,0.35888e-02_rb,0.35606e-02_rb /) kbo(:,21, 5) = (/ & & 0.29687e-02_rb,0.29865e-02_rb,0.29887e-02_rb,0.29805e-02_rb,0.29536e-02_rb /) kbo(:,22, 5) = (/ & & 0.24631e-02_rb,0.24766e-02_rb,0.24818e-02_rb,0.24706e-02_rb,0.24511e-02_rb /) kbo(:,23, 5) = (/ & & 0.20423e-02_rb,0.20574e-02_rb,0.20622e-02_rb,0.20550e-02_rb,0.20390e-02_rb /) kbo(:,24, 5) = (/ & & 0.17009e-02_rb,0.17137e-02_rb,0.17151e-02_rb,0.17066e-02_rb,0.16944e-02_rb /) kbo(:,25, 5) = (/ & & 0.14175e-02_rb,0.14281e-02_rb,0.14264e-02_rb,0.14202e-02_rb,0.14101e-02_rb /) kbo(:,26, 5) = (/ & & 0.11824e-02_rb,0.11879e-02_rb,0.11852e-02_rb,0.11799e-02_rb,0.11727e-02_rb /) kbo(:,27, 5) = (/ & & 0.98538e-03_rb,0.98799e-03_rb,0.98648e-03_rb,0.98258e-03_rb,0.97798e-03_rb /) kbo(:,28, 5) = (/ & & 0.82156e-03_rb,0.82317e-03_rb,0.82299e-03_rb,0.82154e-03_rb,0.81913e-03_rb /) kbo(:,29, 5) = (/ & & 0.68689e-03_rb,0.68935e-03_rb,0.68992e-03_rb,0.69010e-03_rb,0.68854e-03_rb /) kbo(:,30, 5) = (/ & & 0.57658e-03_rb,0.57999e-03_rb,0.58178e-03_rb,0.58209e-03_rb,0.58220e-03_rb /) kbo(:,31, 5) = (/ & & 0.48638e-03_rb,0.49049e-03_rb,0.49261e-03_rb,0.49405e-03_rb,0.49565e-03_rb /) kbo(:,32, 5) = (/ & & 0.41128e-03_rb,0.41527e-03_rb,0.41847e-03_rb,0.42111e-03_rb,0.42278e-03_rb /) kbo(:,33, 5) = (/ & & 0.34942e-03_rb,0.35347e-03_rb,0.35669e-03_rb,0.35970e-03_rb,0.36033e-03_rb /) kbo(:,34, 5) = (/ & & 0.29778e-03_rb,0.30183e-03_rb,0.30543e-03_rb,0.30722e-03_rb,0.30756e-03_rb /) kbo(:,35, 5) = (/ & & 0.25439e-03_rb,0.25855e-03_rb,0.26145e-03_rb,0.26279e-03_rb,0.26328e-03_rb /) kbo(:,36, 5) = (/ & & 0.21688e-03_rb,0.22055e-03_rb,0.22366e-03_rb,0.22472e-03_rb,0.22545e-03_rb /) kbo(:,37, 5) = (/ & & 0.18184e-03_rb,0.18525e-03_rb,0.18789e-03_rb,0.18888e-03_rb,0.18981e-03_rb /) kbo(:,38, 5) = (/ & & 0.15217e-03_rb,0.15529e-03_rb,0.15752e-03_rb,0.15878e-03_rb,0.15947e-03_rb /) kbo(:,39, 5) = (/ & & 0.12738e-03_rb,0.13010e-03_rb,0.13202e-03_rb,0.13325e-03_rb,0.13405e-03_rb /) kbo(:,40, 5) = (/ & & 0.10533e-03_rb,0.10771e-03_rb,0.10944e-03_rb,0.11063e-03_rb,0.11132e-03_rb /) kbo(:,41, 5) = (/ & & 0.86935e-04_rb,0.89079e-04_rb,0.90576e-04_rb,0.91599e-04_rb,0.92136e-04_rb /) kbo(:,42, 5) = (/ & & 0.71757e-04_rb,0.73600e-04_rb,0.74913e-04_rb,0.75823e-04_rb,0.76332e-04_rb /) kbo(:,43, 5) = (/ & & 0.58933e-04_rb,0.60448e-04_rb,0.61689e-04_rb,0.62502e-04_rb,0.62968e-04_rb /) kbo(:,44, 5) = (/ & & 0.48240e-04_rb,0.49626e-04_rb,0.50671e-04_rb,0.51353e-04_rb,0.51808e-04_rb /) kbo(:,45, 5) = (/ & & 0.39365e-04_rb,0.40603e-04_rb,0.41556e-04_rb,0.42201e-04_rb,0.42661e-04_rb /) kbo(:,46, 5) = (/ & & 0.32140e-04_rb,0.33199e-04_rb,0.34102e-04_rb,0.34681e-04_rb,0.35122e-04_rb /) kbo(:,47, 5) = (/ & & 0.26212e-04_rb,0.27122e-04_rb,0.27914e-04_rb,0.28482e-04_rb,0.28883e-04_rb /) kbo(:,48, 5) = (/ & & 0.21367e-04_rb,0.22132e-04_rb,0.22808e-04_rb,0.23366e-04_rb,0.23750e-04_rb /) kbo(:,49, 5) = (/ & & 0.17366e-04_rb,0.18036e-04_rb,0.18610e-04_rb,0.19128e-04_rb,0.19501e-04_rb /) kbo(:,50, 5) = (/ & & 0.14166e-04_rb,0.14744e-04_rb,0.15227e-04_rb,0.15695e-04_rb,0.16033e-04_rb /) kbo(:,51, 5) = (/ & & 0.11520e-04_rb,0.12036e-04_rb,0.12466e-04_rb,0.12850e-04_rb,0.13177e-04_rb /) kbo(:,52, 5) = (/ & & 0.93545e-05_rb,0.97967e-05_rb,0.10185e-04_rb,0.10504e-04_rb,0.10808e-04_rb /) kbo(:,53, 5) = (/ & & 0.75900e-05_rb,0.79775e-05_rb,0.83066e-05_rb,0.85876e-05_rb,0.88446e-05_rb /) kbo(:,54, 5) = (/ & & 0.61841e-05_rb,0.65213e-05_rb,0.67983e-05_rb,0.70299e-05_rb,0.72479e-05_rb /) kbo(:,55, 5) = (/ & & 0.50267e-05_rb,0.53142e-05_rb,0.55644e-05_rb,0.57696e-05_rb,0.59449e-05_rb /) kbo(:,56, 5) = (/ & & 0.40664e-05_rb,0.43169e-05_rb,0.45344e-05_rb,0.47274e-05_rb,0.48783e-05_rb /) kbo(:,57, 5) = (/ & & 0.32881e-05_rb,0.34993e-05_rb,0.36900e-05_rb,0.38580e-05_rb,0.39983e-05_rb /) kbo(:,58, 5) = (/ & & 0.26562e-05_rb,0.28386e-05_rb,0.30033e-05_rb,0.31435e-05_rb,0.32655e-05_rb /) kbo(:,59, 5) = (/ & & 0.21842e-05_rb,0.23355e-05_rb,0.24742e-05_rb,0.25918e-05_rb,0.26979e-05_rb /) kbo(:,13, 6) = (/ & & 0.31802e-01_rb,0.32385e-01_rb,0.32761e-01_rb,0.32924e-01_rb,0.32887e-01_rb /) kbo(:,14, 6) = (/ & & 0.27075e-01_rb,0.27526e-01_rb,0.27777e-01_rb,0.27825e-01_rb,0.27714e-01_rb /) kbo(:,15, 6) = (/ & & 0.22867e-01_rb,0.23213e-01_rb,0.23346e-01_rb,0.23326e-01_rb,0.23192e-01_rb /) kbo(:,16, 6) = (/ & & 0.19243e-01_rb,0.19469e-01_rb,0.19534e-01_rb,0.19508e-01_rb,0.19374e-01_rb /) kbo(:,17, 6) = (/ & & 0.16143e-01_rb,0.16291e-01_rb,0.16340e-01_rb,0.16286e-01_rb,0.16140e-01_rb /) kbo(:,18, 6) = (/ & & 0.13508e-01_rb,0.13619e-01_rb,0.13632e-01_rb,0.13563e-01_rb,0.13444e-01_rb /) kbo(:,19, 6) = (/ & & 0.11360e-01_rb,0.11423e-01_rb,0.11418e-01_rb,0.11354e-01_rb,0.11254e-01_rb /) kbo(:,20, 6) = (/ & & 0.95257e-02_rb,0.95677e-02_rb,0.95569e-02_rb,0.94993e-02_rb,0.94147e-02_rb /) kbo(:,21, 6) = (/ & & 0.79688e-02_rb,0.80079e-02_rb,0.79930e-02_rb,0.79576e-02_rb,0.78976e-02_rb /) kbo(:,22, 6) = (/ & & 0.66527e-02_rb,0.66824e-02_rb,0.66717e-02_rb,0.66442e-02_rb,0.65988e-02_rb /) kbo(:,23, 6) = (/ & & 0.55583e-02_rb,0.55741e-02_rb,0.55685e-02_rb,0.55458e-02_rb,0.55136e-02_rb /) kbo(:,24, 6) = (/ & & 0.46281e-02_rb,0.46404e-02_rb,0.46354e-02_rb,0.46240e-02_rb,0.46070e-02_rb /) kbo(:,25, 6) = (/ & & 0.38479e-02_rb,0.38586e-02_rb,0.38647e-02_rb,0.38587e-02_rb,0.38482e-02_rb /) kbo(:,26, 6) = (/ & & 0.31996e-02_rb,0.32113e-02_rb,0.32185e-02_rb,0.32206e-02_rb,0.32221e-02_rb /) kbo(:,27, 6) = (/ & & 0.26655e-02_rb,0.26804e-02_rb,0.26909e-02_rb,0.27001e-02_rb,0.27000e-02_rb /) kbo(:,28, 6) = (/ & & 0.22269e-02_rb,0.22430e-02_rb,0.22546e-02_rb,0.22636e-02_rb,0.22685e-02_rb /) kbo(:,29, 6) = (/ & & 0.18711e-02_rb,0.18853e-02_rb,0.19010e-02_rb,0.19079e-02_rb,0.19146e-02_rb /) kbo(:,30, 6) = (/ & & 0.15792e-02_rb,0.15950e-02_rb,0.16049e-02_rb,0.16149e-02_rb,0.16250e-02_rb /) kbo(:,31, 6) = (/ & & 0.13390e-02_rb,0.13523e-02_rb,0.13631e-02_rb,0.13762e-02_rb,0.13899e-02_rb /) kbo(:,32, 6) = (/ & & 0.11423e-02_rb,0.11552e-02_rb,0.11689e-02_rb,0.11828e-02_rb,0.12002e-02_rb /) kbo(:,33, 6) = (/ & & 0.97837e-03_rb,0.99414e-03_rb,0.10078e-02_rb,0.10254e-02_rb,0.10445e-02_rb /) kbo(:,34, 6) = (/ & & 0.84508e-03_rb,0.85961e-03_rb,0.87553e-03_rb,0.89474e-03_rb,0.91454e-03_rb /) kbo(:,35, 6) = (/ & & 0.73067e-03_rb,0.74643e-03_rb,0.76522e-03_rb,0.78433e-03_rb,0.80547e-03_rb /) kbo(:,36, 6) = (/ & & 0.63501e-03_rb,0.65286e-03_rb,0.67124e-03_rb,0.69177e-03_rb,0.71245e-03_rb /) kbo(:,37, 6) = (/ & & 0.54302e-03_rb,0.56011e-03_rb,0.57838e-03_rb,0.59932e-03_rb,0.61930e-03_rb /) kbo(:,38, 6) = (/ & & 0.46413e-03_rb,0.48141e-03_rb,0.49888e-03_rb,0.51888e-03_rb,0.53851e-03_rb /) kbo(:,39, 6) = (/ & & 0.39787e-03_rb,0.41416e-03_rb,0.43137e-03_rb,0.45076e-03_rb,0.46884e-03_rb /) kbo(:,40, 6) = (/ & & 0.33542e-03_rb,0.35026e-03_rb,0.36640e-03_rb,0.38421e-03_rb,0.40074e-03_rb /) kbo(:,41, 6) = (/ & & 0.28198e-03_rb,0.29533e-03_rb,0.31033e-03_rb,0.32658e-03_rb,0.34246e-03_rb /) kbo(:,42, 6) = (/ & & 0.23644e-03_rb,0.24877e-03_rb,0.26248e-03_rb,0.27695e-03_rb,0.29184e-03_rb /) kbo(:,43, 6) = (/ & & 0.19698e-03_rb,0.20826e-03_rb,0.22042e-03_rb,0.23357e-03_rb,0.24697e-03_rb /) kbo(:,44, 6) = (/ & & 0.16338e-03_rb,0.17334e-03_rb,0.18409e-03_rb,0.19557e-03_rb,0.20792e-03_rb /) kbo(:,45, 6) = (/ & & 0.13558e-03_rb,0.14397e-03_rb,0.15333e-03_rb,0.16359e-03_rb,0.17463e-03_rb /) kbo(:,46, 6) = (/ & & 0.11191e-03_rb,0.11919e-03_rb,0.12729e-03_rb,0.13624e-03_rb,0.14629e-03_rb /) kbo(:,47, 6) = (/ & & 0.91906e-04_rb,0.98189e-04_rb,0.10520e-03_rb,0.11302e-03_rb,0.12177e-03_rb /) kbo(:,48, 6) = (/ & & 0.75087e-04_rb,0.80743e-04_rb,0.86708e-04_rb,0.93427e-04_rb,0.10110e-03_rb /) kbo(:,49, 6) = (/ & & 0.61186e-04_rb,0.66125e-04_rb,0.71313e-04_rb,0.77107e-04_rb,0.83777e-04_rb /) kbo(:,50, 6) = (/ & & 0.49938e-04_rb,0.54303e-04_rb,0.58807e-04_rb,0.63705e-04_rb,0.69474e-04_rb /) kbo(:,51, 6) = (/ & & 0.40809e-04_rb,0.44513e-04_rb,0.48369e-04_rb,0.52594e-04_rb,0.57525e-04_rb /) kbo(:,52, 6) = (/ & & 0.33309e-04_rb,0.36401e-04_rb,0.39694e-04_rb,0.43295e-04_rb,0.47517e-04_rb /) kbo(:,53, 6) = (/ & & 0.27001e-04_rb,0.29637e-04_rb,0.32443e-04_rb,0.35515e-04_rb,0.39073e-04_rb /) kbo(:,54, 6) = (/ & & 0.21920e-04_rb,0.24176e-04_rb,0.26587e-04_rb,0.29204e-04_rb,0.32173e-04_rb /) kbo(:,55, 6) = (/ & & 0.17840e-04_rb,0.19707e-04_rb,0.21784e-04_rb,0.24000e-04_rb,0.26498e-04_rb /) kbo(:,56, 6) = (/ & & 0.14500e-04_rb,0.16042e-04_rb,0.17779e-04_rb,0.19655e-04_rb,0.21743e-04_rb /) kbo(:,57, 6) = (/ & & 0.11756e-04_rb,0.13018e-04_rb,0.14458e-04_rb,0.16053e-04_rb,0.17779e-04_rb /) kbo(:,58, 6) = (/ & & 0.95229e-05_rb,0.10574e-04_rb,0.11760e-04_rb,0.13107e-04_rb,0.14585e-04_rb /) kbo(:,59, 6) = (/ & & 0.78970e-05_rb,0.87821e-05_rb,0.97860e-05_rb,0.10919e-04_rb,0.12187e-04_rb /) kbo(:,13, 7) = (/ & & 0.81347e-01_rb,0.83688e-01_rb,0.85307e-01_rb,0.86283e-01_rb,0.87010e-01_rb /) kbo(:,14, 7) = (/ & & 0.72041e-01_rb,0.73994e-01_rb,0.75287e-01_rb,0.76180e-01_rb,0.76714e-01_rb /) kbo(:,15, 7) = (/ & & 0.63278e-01_rb,0.64818e-01_rb,0.65954e-01_rb,0.66651e-01_rb,0.67143e-01_rb /) kbo(:,16, 7) = (/ & & 0.55139e-01_rb,0.56478e-01_rb,0.57384e-01_rb,0.58076e-01_rb,0.58539e-01_rb /) kbo(:,17, 7) = (/ & & 0.47894e-01_rb,0.48966e-01_rb,0.49829e-01_rb,0.50447e-01_rb,0.50916e-01_rb /) kbo(:,18, 7) = (/ & & 0.41499e-01_rb,0.42507e-01_rb,0.43240e-01_rb,0.43755e-01_rb,0.44135e-01_rb /) kbo(:,19, 7) = (/ & & 0.35885e-01_rb,0.36754e-01_rb,0.37403e-01_rb,0.37954e-01_rb,0.38313e-01_rb /) kbo(:,20, 7) = (/ & & 0.30699e-01_rb,0.31463e-01_rb,0.32108e-01_rb,0.32586e-01_rb,0.32972e-01_rb /) kbo(:,21, 7) = (/ & & 0.26192e-01_rb,0.26846e-01_rb,0.27409e-01_rb,0.27839e-01_rb,0.28217e-01_rb /) kbo(:,22, 7) = (/ & & 0.22340e-01_rb,0.22929e-01_rb,0.23404e-01_rb,0.23811e-01_rb,0.24187e-01_rb /) kbo(:,23, 7) = (/ & & 0.19095e-01_rb,0.19575e-01_rb,0.20007e-01_rb,0.20410e-01_rb,0.20766e-01_rb /) kbo(:,24, 7) = (/ & & 0.16366e-01_rb,0.16771e-01_rb,0.17186e-01_rb,0.17542e-01_rb,0.17949e-01_rb /) kbo(:,25, 7) = (/ & & 0.14069e-01_rb,0.14481e-01_rb,0.14832e-01_rb,0.15200e-01_rb,0.15580e-01_rb /) kbo(:,26, 7) = (/ & & 0.12162e-01_rb,0.12539e-01_rb,0.12888e-01_rb,0.13247e-01_rb,0.13615e-01_rb /) kbo(:,27, 7) = (/ & & 0.10528e-01_rb,0.10892e-01_rb,0.11265e-01_rb,0.11631e-01_rb,0.12012e-01_rb /) kbo(:,28, 7) = (/ & & 0.91441e-02_rb,0.95086e-02_rb,0.98896e-02_rb,0.10282e-01_rb,0.10687e-01_rb /) kbo(:,29, 7) = (/ & & 0.79938e-02_rb,0.83641e-02_rb,0.87511e-02_rb,0.91674e-02_rb,0.96121e-02_rb /) kbo(:,30, 7) = (/ & & 0.70400e-02_rb,0.74172e-02_rb,0.78125e-02_rb,0.82611e-02_rb,0.87532e-02_rb /) kbo(:,31, 7) = (/ & & 0.62612e-02_rb,0.66491e-02_rb,0.70836e-02_rb,0.75546e-02_rb,0.80730e-02_rb /) kbo(:,32, 7) = (/ & & 0.56090e-02_rb,0.60373e-02_rb,0.65021e-02_rb,0.70140e-02_rb,0.75729e-02_rb /) kbo(:,33, 7) = (/ & & 0.51011e-02_rb,0.55473e-02_rb,0.60429e-02_rb,0.66026e-02_rb,0.72780e-02_rb /) kbo(:,34, 7) = (/ & & 0.46990e-02_rb,0.51673e-02_rb,0.57072e-02_rb,0.63464e-02_rb,0.71159e-02_rb /) kbo(:,35, 7) = (/ & & 0.43314e-02_rb,0.48384e-02_rb,0.54243e-02_rb,0.61639e-02_rb,0.69924e-02_rb /) kbo(:,36, 7) = (/ & & 0.39886e-02_rb,0.45262e-02_rb,0.51941e-02_rb,0.59985e-02_rb,0.68708e-02_rb /) kbo(:,37, 7) = (/ & & 0.36017e-02_rb,0.41399e-02_rb,0.48219e-02_rb,0.56481e-02_rb,0.65560e-02_rb /) kbo(:,38, 7) = (/ & & 0.32617e-02_rb,0.38037e-02_rb,0.45057e-02_rb,0.53485e-02_rb,0.62708e-02_rb /) kbo(:,39, 7) = (/ & & 0.29777e-02_rb,0.35364e-02_rb,0.42387e-02_rb,0.50890e-02_rb,0.60544e-02_rb /) kbo(:,40, 7) = (/ & & 0.26397e-02_rb,0.31715e-02_rb,0.38573e-02_rb,0.46880e-02_rb,0.56335e-02_rb /) kbo(:,41, 7) = (/ & & 0.23227e-02_rb,0.28385e-02_rb,0.34927e-02_rb,0.42880e-02_rb,0.52154e-02_rb /) kbo(:,42, 7) = (/ & & 0.20486e-02_rb,0.25378e-02_rb,0.31647e-02_rb,0.39312e-02_rb,0.48261e-02_rb /) kbo(:,43, 7) = (/ & & 0.17755e-02_rb,0.22226e-02_rb,0.28140e-02_rb,0.35274e-02_rb,0.43895e-02_rb /) kbo(:,44, 7) = (/ & & 0.15269e-02_rb,0.19274e-02_rb,0.24688e-02_rb,0.31407e-02_rb,0.39517e-02_rb /) kbo(:,45, 7) = (/ & & 0.13050e-02_rb,0.16697e-02_rb,0.21647e-02_rb,0.27916e-02_rb,0.35423e-02_rb /) kbo(:,46, 7) = (/ & & 0.11057e-02_rb,0.14327e-02_rb,0.18777e-02_rb,0.24513e-02_rb,0.31448e-02_rb /) kbo(:,47, 7) = (/ & & 0.92448e-03_rb,0.12134e-02_rb,0.16064e-02_rb,0.21237e-02_rb,0.27575e-02_rb /) kbo(:,48, 7) = (/ & & 0.76618e-03_rb,0.10179e-02_rb,0.13627e-02_rb,0.18254e-02_rb,0.24067e-02_rb /) kbo(:,49, 7) = (/ & & 0.62940e-03_rb,0.85036e-03_rb,0.11489e-02_rb,0.15623e-02_rb,0.20896e-02_rb /) kbo(:,50, 7) = (/ & & 0.51855e-03_rb,0.71067e-03_rb,0.97602e-03_rb,0.13414e-02_rb,0.18179e-02_rb /) kbo(:,51, 7) = (/ & & 0.42590e-03_rb,0.59305e-03_rb,0.82548e-03_rb,0.11486e-02_rb,0.15798e-02_rb /) kbo(:,52, 7) = (/ & & 0.34697e-03_rb,0.49059e-03_rb,0.69535e-03_rb,0.97532e-03_rb,0.13630e-02_rb /) kbo(:,53, 7) = (/ & & 0.28092e-03_rb,0.40191e-03_rb,0.57931e-03_rb,0.82673e-03_rb,0.11685e-02_rb /) kbo(:,54, 7) = (/ & & 0.22883e-03_rb,0.33102e-03_rb,0.48584e-03_rb,0.70577e-03_rb,0.10069e-02_rb /) kbo(:,55, 7) = (/ & & 0.18567e-03_rb,0.27212e-03_rb,0.40629e-03_rb,0.59966e-03_rb,0.86643e-03_rb /) kbo(:,56, 7) = (/ & & 0.14981e-03_rb,0.22158e-03_rb,0.33702e-03_rb,0.50672e-03_rb,0.74022e-03_rb /) kbo(:,57, 7) = (/ & & 0.11956e-03_rb,0.17899e-03_rb,0.27717e-03_rb,0.42406e-03_rb,0.63003e-03_rb /) kbo(:,58, 7) = (/ & & 0.95581e-04_rb,0.14413e-03_rb,0.22637e-03_rb,0.35457e-03_rb,0.53700e-03_rb /) kbo(:,59, 7) = (/ & & 0.81967e-04_rb,0.12578e-03_rb,0.20146e-03_rb,0.32061e-03_rb,0.49099e-03_rb /) kbo(:,13, 8) = (/ & & 0.22107e+00_rb,0.22673e+00_rb,0.23188e+00_rb,0.23626e+00_rb,0.23937e+00_rb /) kbo(:,14, 8) = (/ & & 0.20348e+00_rb,0.20983e+00_rb,0.21521e+00_rb,0.21960e+00_rb,0.22328e+00_rb /) kbo(:,15, 8) = (/ & & 0.18724e+00_rb,0.19358e+00_rb,0.19903e+00_rb,0.20382e+00_rb,0.20780e+00_rb /) kbo(:,16, 8) = (/ & & 0.17271e+00_rb,0.17902e+00_rb,0.18466e+00_rb,0.18949e+00_rb,0.19358e+00_rb /) kbo(:,17, 8) = (/ & & 0.15881e+00_rb,0.16550e+00_rb,0.17139e+00_rb,0.17656e+00_rb,0.18127e+00_rb /) kbo(:,18, 8) = (/ & & 0.14632e+00_rb,0.15311e+00_rb,0.15937e+00_rb,0.16532e+00_rb,0.17049e+00_rb /) kbo(:,19, 8) = (/ & & 0.13481e+00_rb,0.14215e+00_rb,0.14899e+00_rb,0.15502e+00_rb,0.16068e+00_rb /) kbo(:,20, 8) = (/ & & 0.12437e+00_rb,0.13191e+00_rb,0.13890e+00_rb,0.14560e+00_rb,0.15188e+00_rb /) kbo(:,21, 8) = (/ & & 0.11481e+00_rb,0.12252e+00_rb,0.12982e+00_rb,0.13710e+00_rb,0.14374e+00_rb /) kbo(:,22, 8) = (/ & & 0.10661e+00_rb,0.11453e+00_rb,0.12244e+00_rb,0.12996e+00_rb,0.13720e+00_rb /) kbo(:,23, 8) = (/ & & 0.99573e-01_rb,0.10782e+00_rb,0.11598e+00_rb,0.12384e+00_rb,0.13154e+00_rb /) kbo(:,24, 8) = (/ & & 0.93585e-01_rb,0.10212e+00_rb,0.11044e+00_rb,0.11870e+00_rb,0.12683e+00_rb /) kbo(:,25, 8) = (/ & & 0.88642e-01_rb,0.97342e-01_rb,0.10600e+00_rb,0.11474e+00_rb,0.12338e+00_rb /) kbo(:,26, 8) = (/ & & 0.84783e-01_rb,0.93706e-01_rb,0.10275e+00_rb,0.11190e+00_rb,0.12089e+00_rb /) kbo(:,27, 8) = (/ & & 0.81924e-01_rb,0.91085e-01_rb,0.10043e+00_rb,0.11011e+00_rb,0.11942e+00_rb /) kbo(:,28, 8) = (/ & & 0.79898e-01_rb,0.89495e-01_rb,0.99246e-01_rb,0.10903e+00_rb,0.11866e+00_rb /) kbo(:,29, 8) = (/ & & 0.78843e-01_rb,0.88816e-01_rb,0.99112e-01_rb,0.10908e+00_rb,0.11873e+00_rb /) kbo(:,30, 8) = (/ & & 0.78672e-01_rb,0.89175e-01_rb,0.99763e-01_rb,0.10991e+00_rb,0.11974e+00_rb /) kbo(:,31, 8) = (/ & & 0.79471e-01_rb,0.90393e-01_rb,0.10090e+00_rb,0.11134e+00_rb,0.12148e+00_rb /) kbo(:,32, 8) = (/ & & 0.81097e-01_rb,0.92118e-01_rb,0.10299e+00_rb,0.11352e+00_rb,0.12362e+00_rb /) kbo(:,33, 8) = (/ & & 0.83219e-01_rb,0.94430e-01_rb,0.10536e+00_rb,0.11619e+00_rb,0.12656e+00_rb /) kbo(:,34, 8) = (/ & & 0.85363e-01_rb,0.96707e-01_rb,0.10798e+00_rb,0.11904e+00_rb,0.12986e+00_rb /) kbo(:,35, 8) = (/ & & 0.86741e-01_rb,0.98297e-01_rb,0.11004e+00_rb,0.12158e+00_rb,0.13234e+00_rb /) kbo(:,36, 8) = (/ & & 0.87017e-01_rb,0.99113e-01_rb,0.11121e+00_rb,0.12302e+00_rb,0.13390e+00_rb /) kbo(:,37, 8) = (/ & & 0.85258e-01_rb,0.97671e-01_rb,0.10985e+00_rb,0.12188e+00_rb,0.13289e+00_rb /) kbo(:,38, 8) = (/ & & 0.83622e-01_rb,0.96133e-01_rb,0.10847e+00_rb,0.12060e+00_rb,0.13189e+00_rb /) kbo(:,39, 8) = (/ & & 0.82148e-01_rb,0.94689e-01_rb,0.10723e+00_rb,0.11944e+00_rb,0.13102e+00_rb /) kbo(:,40, 8) = (/ & & 0.78933e-01_rb,0.91494e-01_rb,0.10410e+00_rb,0.11650e+00_rb,0.12816e+00_rb /) kbo(:,41, 8) = (/ & & 0.75553e-01_rb,0.88087e-01_rb,0.10066e+00_rb,0.11319e+00_rb,0.12513e+00_rb /) kbo(:,42, 8) = (/ & & 0.72215e-01_rb,0.84600e-01_rb,0.97314e-01_rb,0.10990e+00_rb,0.12202e+00_rb /) kbo(:,43, 8) = (/ & & 0.68050e-01_rb,0.80392e-01_rb,0.93038e-01_rb,0.10568e+00_rb,0.11811e+00_rb /) kbo(:,44, 8) = (/ & & 0.63504e-01_rb,0.75885e-01_rb,0.88427e-01_rb,0.10109e+00_rb,0.11352e+00_rb /) kbo(:,45, 8) = (/ & & 0.59117e-01_rb,0.71359e-01_rb,0.83835e-01_rb,0.96461e-01_rb,0.10897e+00_rb /) kbo(:,46, 8) = (/ & & 0.54516e-01_rb,0.66547e-01_rb,0.79117e-01_rb,0.91745e-01_rb,0.10426e+00_rb /) kbo(:,47, 8) = (/ & & 0.49520e-01_rb,0.61408e-01_rb,0.73788e-01_rb,0.86383e-01_rb,0.98886e-01_rb /) kbo(:,48, 8) = (/ & & 0.44727e-01_rb,0.56224e-01_rb,0.68415e-01_rb,0.81094e-01_rb,0.93621e-01_rb /) kbo(:,49, 8) = (/ & & 0.40177e-01_rb,0.51146e-01_rb,0.63191e-01_rb,0.75749e-01_rb,0.88249e-01_rb /) kbo(:,50, 8) = (/ & & 0.36081e-01_rb,0.46596e-01_rb,0.58341e-01_rb,0.70769e-01_rb,0.83353e-01_rb /) kbo(:,51, 8) = (/ & & 0.32278e-01_rb,0.42393e-01_rb,0.53717e-01_rb,0.65898e-01_rb,0.78578e-01_rb /) kbo(:,52, 8) = (/ & & 0.28586e-01_rb,0.38352e-01_rb,0.49175e-01_rb,0.61145e-01_rb,0.73682e-01_rb /) kbo(:,53, 8) = (/ & & 0.25090e-01_rb,0.34439e-01_rb,0.44807e-01_rb,0.56352e-01_rb,0.68823e-01_rb /) kbo(:,54, 8) = (/ & & 0.22080e-01_rb,0.30938e-01_rb,0.40952e-01_rb,0.52101e-01_rb,0.64364e-01_rb /) kbo(:,55, 8) = (/ & & 0.19382e-01_rb,0.27719e-01_rb,0.37405e-01_rb,0.48197e-01_rb,0.60044e-01_rb /) kbo(:,56, 8) = (/ & & 0.16835e-01_rb,0.24689e-01_rb,0.33908e-01_rb,0.44390e-01_rb,0.55911e-01_rb /) kbo(:,57, 8) = (/ & & 0.14459e-01_rb,0.21799e-01_rb,0.30531e-01_rb,0.40642e-01_rb,0.51808e-01_rb /) kbo(:,58, 8) = (/ & & 0.12380e-01_rb,0.19213e-01_rb,0.27475e-01_rb,0.37204e-01_rb,0.48065e-01_rb /) kbo(:,59, 8) = (/ & & 0.11536e-01_rb,0.18115e-01_rb,0.26160e-01_rb,0.35756e-01_rb,0.46501e-01_rb /) kbo(:,13, 9) = (/ & & 0.79231e+00_rb,0.80247e+00_rb,0.81169e+00_rb,0.81859e+00_rb,0.82469e+00_rb /) kbo(:,14, 9) = (/ & & 0.76567e+00_rb,0.77861e+00_rb,0.78976e+00_rb,0.79966e+00_rb,0.80754e+00_rb /) kbo(:,15, 9) = (/ & & 0.73926e+00_rb,0.75515e+00_rb,0.76982e+00_rb,0.78244e+00_rb,0.79228e+00_rb /) kbo(:,16, 9) = (/ & & 0.71308e+00_rb,0.73273e+00_rb,0.74955e+00_rb,0.76355e+00_rb,0.77553e+00_rb /) kbo(:,17, 9) = (/ & & 0.68845e+00_rb,0.70973e+00_rb,0.72813e+00_rb,0.74466e+00_rb,0.75909e+00_rb /) kbo(:,18, 9) = (/ & & 0.66397e+00_rb,0.68720e+00_rb,0.70872e+00_rb,0.72756e+00_rb,0.74467e+00_rb /) kbo(:,19, 9) = (/ & & 0.64097e+00_rb,0.66723e+00_rb,0.69155e+00_rb,0.71362e+00_rb,0.73339e+00_rb /) kbo(:,20, 9) = (/ & & 0.62162e+00_rb,0.65070e+00_rb,0.67764e+00_rb,0.70183e+00_rb,0.72348e+00_rb /) kbo(:,21, 9) = (/ & & 0.60571e+00_rb,0.63800e+00_rb,0.66649e+00_rb,0.69291e+00_rb,0.71712e+00_rb /) kbo(:,22, 9) = (/ & & 0.59651e+00_rb,0.62972e+00_rb,0.66058e+00_rb,0.68832e+00_rb,0.71517e+00_rb /) kbo(:,23, 9) = (/ & & 0.58974e+00_rb,0.62545e+00_rb,0.65753e+00_rb,0.68785e+00_rb,0.71519e+00_rb /) kbo(:,24, 9) = (/ & & 0.58721e+00_rb,0.62395e+00_rb,0.65801e+00_rb,0.68952e+00_rb,0.71705e+00_rb /) kbo(:,25, 9) = (/ & & 0.58931e+00_rb,0.62554e+00_rb,0.66080e+00_rb,0.69275e+00_rb,0.72212e+00_rb /) kbo(:,26, 9) = (/ & & 0.59392e+00_rb,0.63108e+00_rb,0.66576e+00_rb,0.69831e+00_rb,0.72831e+00_rb /) kbo(:,27, 9) = (/ & & 0.60088e+00_rb,0.63911e+00_rb,0.67310e+00_rb,0.70594e+00_rb,0.73492e+00_rb /) kbo(:,28, 9) = (/ & & 0.61058e+00_rb,0.64827e+00_rb,0.68351e+00_rb,0.71436e+00_rb,0.74248e+00_rb /) kbo(:,29, 9) = (/ & & 0.62259e+00_rb,0.66086e+00_rb,0.69462e+00_rb,0.72450e+00_rb,0.75205e+00_rb /) kbo(:,30, 9) = (/ & & 0.63547e+00_rb,0.67373e+00_rb,0.70715e+00_rb,0.73642e+00_rb,0.76277e+00_rb /) kbo(:,31, 9) = (/ & & 0.65060e+00_rb,0.68811e+00_rb,0.72216e+00_rb,0.75104e+00_rb,0.77730e+00_rb /) kbo(:,32, 9) = (/ & & 0.66635e+00_rb,0.70367e+00_rb,0.73703e+00_rb,0.76712e+00_rb,0.79450e+00_rb /) kbo(:,33, 9) = (/ & & 0.68330e+00_rb,0.72114e+00_rb,0.75529e+00_rb,0.78560e+00_rb,0.81251e+00_rb /) kbo(:,34, 9) = (/ & & 0.69895e+00_rb,0.73787e+00_rb,0.77209e+00_rb,0.80355e+00_rb,0.82948e+00_rb /) kbo(:,35, 9) = (/ & & 0.71249e+00_rb,0.75244e+00_rb,0.78786e+00_rb,0.82021e+00_rb,0.84807e+00_rb /) kbo(:,36, 9) = (/ & & 0.72352e+00_rb,0.76491e+00_rb,0.80192e+00_rb,0.83419e+00_rb,0.86330e+00_rb /) kbo(:,37, 9) = (/ & & 0.72315e+00_rb,0.76487e+00_rb,0.80310e+00_rb,0.83637e+00_rb,0.86732e+00_rb /) kbo(:,38, 9) = (/ & & 0.72144e+00_rb,0.76571e+00_rb,0.80444e+00_rb,0.83852e+00_rb,0.86991e+00_rb /) kbo(:,39, 9) = (/ & & 0.72061e+00_rb,0.76655e+00_rb,0.80661e+00_rb,0.84238e+00_rb,0.87357e+00_rb /) kbo(:,40, 9) = (/ & & 0.71071e+00_rb,0.75799e+00_rb,0.79882e+00_rb,0.83566e+00_rb,0.86813e+00_rb /) kbo(:,41, 9) = (/ & & 0.69960e+00_rb,0.74652e+00_rb,0.79034e+00_rb,0.82858e+00_rb,0.86201e+00_rb /) kbo(:,42, 9) = (/ & & 0.68767e+00_rb,0.73584e+00_rb,0.78080e+00_rb,0.82018e+00_rb,0.85505e+00_rb /) kbo(:,43, 9) = (/ & & 0.67181e+00_rb,0.72136e+00_rb,0.76709e+00_rb,0.80803e+00_rb,0.84449e+00_rb /) kbo(:,44, 9) = (/ & & 0.65485e+00_rb,0.70505e+00_rb,0.75190e+00_rb,0.79482e+00_rb,0.83260e+00_rb /) kbo(:,45, 9) = (/ & & 0.63639e+00_rb,0.68756e+00_rb,0.73541e+00_rb,0.78029e+00_rb,0.82060e+00_rb /) kbo(:,46, 9) = (/ & & 0.61610e+00_rb,0.67008e+00_rb,0.71893e+00_rb,0.76424e+00_rb,0.80647e+00_rb /) kbo(:,47, 9) = (/ & & 0.59373e+00_rb,0.64972e+00_rb,0.69969e+00_rb,0.74707e+00_rb,0.79068e+00_rb /) kbo(:,48, 9) = (/ & & 0.56865e+00_rb,0.62791e+00_rb,0.68069e+00_rb,0.72878e+00_rb,0.77390e+00_rb /) kbo(:,49, 9) = (/ & & 0.54350e+00_rb,0.60516e+00_rb,0.66027e+00_rb,0.71007e+00_rb,0.75592e+00_rb /) kbo(:,50, 9) = (/ & & 0.51991e+00_rb,0.58375e+00_rb,0.64136e+00_rb,0.69342e+00_rb,0.74093e+00_rb /) kbo(:,51, 9) = (/ & & 0.49673e+00_rb,0.56229e+00_rb,0.62200e+00_rb,0.67685e+00_rb,0.72556e+00_rb /) kbo(:,52, 9) = (/ & & 0.47256e+00_rb,0.53950e+00_rb,0.60133e+00_rb,0.65838e+00_rb,0.70926e+00_rb /) kbo(:,53, 9) = (/ & & 0.44771e+00_rb,0.51552e+00_rb,0.57980e+00_rb,0.63854e+00_rb,0.69202e+00_rb /) kbo(:,54, 9) = (/ & & 0.42506e+00_rb,0.49358e+00_rb,0.56009e+00_rb,0.62090e+00_rb,0.67547e+00_rb /) kbo(:,55, 9) = (/ & & 0.40218e+00_rb,0.47240e+00_rb,0.53999e+00_rb,0.60216e+00_rb,0.65925e+00_rb /) kbo(:,56, 9) = (/ & & 0.37888e+00_rb,0.45101e+00_rb,0.51913e+00_rb,0.58357e+00_rb,0.64216e+00_rb /) kbo(:,57, 9) = (/ & & 0.35513e+00_rb,0.42824e+00_rb,0.49765e+00_rb,0.56376e+00_rb,0.62409e+00_rb /) kbo(:,58, 9) = (/ & & 0.33174e+00_rb,0.40632e+00_rb,0.47713e+00_rb,0.54453e+00_rb,0.60605e+00_rb /) kbo(:,59, 9) = (/ & & 0.32315e+00_rb,0.39758e+00_rb,0.46935e+00_rb,0.53732e+00_rb,0.59942e+00_rb /) kbo(:,13,10) = (/ & & 0.20814e+01_rb,0.20759e+01_rb,0.20660e+01_rb,0.20703e+01_rb,0.20598e+01_rb /) kbo(:,14,10) = (/ & & 0.20861e+01_rb,0.20862e+01_rb,0.20902e+01_rb,0.20921e+01_rb,0.20850e+01_rb /) kbo(:,15,10) = (/ & & 0.20793e+01_rb,0.20969e+01_rb,0.21057e+01_rb,0.21014e+01_rb,0.21089e+01_rb /) kbo(:,16,10) = (/ & & 0.20801e+01_rb,0.20948e+01_rb,0.21151e+01_rb,0.21351e+01_rb,0.21560e+01_rb /) kbo(:,17,10) = (/ & & 0.20802e+01_rb,0.21249e+01_rb,0.21608e+01_rb,0.21842e+01_rb,0.21924e+01_rb /) kbo(:,18,10) = (/ & & 0.20972e+01_rb,0.21483e+01_rb,0.21814e+01_rb,0.21999e+01_rb,0.22088e+01_rb /) kbo(:,19,10) = (/ & & 0.21086e+01_rb,0.21513e+01_rb,0.21845e+01_rb,0.22099e+01_rb,0.22261e+01_rb /) kbo(:,20,10) = (/ & & 0.21001e+01_rb,0.21488e+01_rb,0.21917e+01_rb,0.22212e+01_rb,0.22394e+01_rb /) kbo(:,21,10) = (/ & & 0.20945e+01_rb,0.21494e+01_rb,0.22004e+01_rb,0.22330e+01_rb,0.22537e+01_rb /) kbo(:,22,10) = (/ & & 0.20951e+01_rb,0.21635e+01_rb,0.22151e+01_rb,0.22483e+01_rb,0.22658e+01_rb /) kbo(:,23,10) = (/ & & 0.21106e+01_rb,0.21802e+01_rb,0.22288e+01_rb,0.22593e+01_rb,0.22769e+01_rb /) kbo(:,24,10) = (/ & & 0.21251e+01_rb,0.21978e+01_rb,0.22479e+01_rb,0.22750e+01_rb,0.23069e+01_rb /) kbo(:,25,10) = (/ & & 0.21350e+01_rb,0.22127e+01_rb,0.22620e+01_rb,0.22919e+01_rb,0.23205e+01_rb /) kbo(:,26,10) = (/ & & 0.21397e+01_rb,0.22248e+01_rb,0.22778e+01_rb,0.23148e+01_rb,0.23338e+01_rb /) kbo(:,27,10) = (/ & & 0.21476e+01_rb,0.22244e+01_rb,0.22911e+01_rb,0.23271e+01_rb,0.23529e+01_rb /) kbo(:,28,10) = (/ & & 0.21502e+01_rb,0.22263e+01_rb,0.22854e+01_rb,0.23382e+01_rb,0.23803e+01_rb /) kbo(:,29,10) = (/ & & 0.21444e+01_rb,0.22159e+01_rb,0.22839e+01_rb,0.23447e+01_rb,0.24026e+01_rb /) kbo(:,30,10) = (/ & & 0.21459e+01_rb,0.22135e+01_rb,0.22803e+01_rb,0.23564e+01_rb,0.24114e+01_rb /) kbo(:,31,10) = (/ & & 0.21548e+01_rb,0.22131e+01_rb,0.22785e+01_rb,0.23559e+01_rb,0.23993e+01_rb /) kbo(:,32,10) = (/ & & 0.21820e+01_rb,0.22366e+01_rb,0.23010e+01_rb,0.23445e+01_rb,0.23808e+01_rb /) kbo(:,33,10) = (/ & & 0.22356e+01_rb,0.22739e+01_rb,0.22923e+01_rb,0.23386e+01_rb,0.23842e+01_rb /) kbo(:,34,10) = (/ & & 0.22861e+01_rb,0.23162e+01_rb,0.23352e+01_rb,0.23408e+01_rb,0.23839e+01_rb /) kbo(:,35,10) = (/ & & 0.23385e+01_rb,0.23680e+01_rb,0.23728e+01_rb,0.23741e+01_rb,0.23938e+01_rb /) kbo(:,36,10) = (/ & & 0.23851e+01_rb,0.24072e+01_rb,0.24258e+01_rb,0.24337e+01_rb,0.24446e+01_rb /) kbo(:,37,10) = (/ & & 0.23954e+01_rb,0.24271e+01_rb,0.24525e+01_rb,0.24638e+01_rb,0.24744e+01_rb /) kbo(:,38,10) = (/ & & 0.24138e+01_rb,0.24360e+01_rb,0.24658e+01_rb,0.24931e+01_rb,0.25112e+01_rb /) kbo(:,39,10) = (/ & & 0.24207e+01_rb,0.24415e+01_rb,0.24747e+01_rb,0.25054e+01_rb,0.25446e+01_rb /) kbo(:,40,10) = (/ & & 0.24183e+01_rb,0.24401e+01_rb,0.24836e+01_rb,0.25135e+01_rb,0.25532e+01_rb /) kbo(:,41,10) = (/ & & 0.24046e+01_rb,0.24486e+01_rb,0.24788e+01_rb,0.25037e+01_rb,0.25503e+01_rb /) kbo(:,42,10) = (/ & & 0.23965e+01_rb,0.24448e+01_rb,0.24659e+01_rb,0.25035e+01_rb,0.25440e+01_rb /) kbo(:,43,10) = (/ & & 0.23757e+01_rb,0.24456e+01_rb,0.24672e+01_rb,0.25043e+01_rb,0.25340e+01_rb /) kbo(:,44,10) = (/ & & 0.23417e+01_rb,0.24271e+01_rb,0.24708e+01_rb,0.24891e+01_rb,0.25157e+01_rb /) kbo(:,45,10) = (/ & & 0.23140e+01_rb,0.24224e+01_rb,0.24648e+01_rb,0.24895e+01_rb,0.25109e+01_rb /) kbo(:,46,10) = (/ & & 0.22839e+01_rb,0.23815e+01_rb,0.24548e+01_rb,0.24874e+01_rb,0.24983e+01_rb /) kbo(:,47,10) = (/ & & 0.22509e+01_rb,0.23585e+01_rb,0.24548e+01_rb,0.24976e+01_rb,0.25158e+01_rb /) kbo(:,48,10) = (/ & & 0.22243e+01_rb,0.23182e+01_rb,0.24167e+01_rb,0.24851e+01_rb,0.25144e+01_rb /) kbo(:,49,10) = (/ & & 0.21934e+01_rb,0.22838e+01_rb,0.23882e+01_rb,0.24694e+01_rb,0.25145e+01_rb /) kbo(:,50,10) = (/ & & 0.21637e+01_rb,0.22591e+01_rb,0.23593e+01_rb,0.24450e+01_rb,0.25097e+01_rb /) kbo(:,51,10) = (/ & & 0.21256e+01_rb,0.22383e+01_rb,0.23340e+01_rb,0.24239e+01_rb,0.25025e+01_rb /) kbo(:,52,10) = (/ & & 0.20804e+01_rb,0.22090e+01_rb,0.23144e+01_rb,0.24005e+01_rb,0.24803e+01_rb /) kbo(:,53,10) = (/ & & 0.20229e+01_rb,0.21712e+01_rb,0.22790e+01_rb,0.23709e+01_rb,0.24497e+01_rb /) kbo(:,54,10) = (/ & & 0.19647e+01_rb,0.21430e+01_rb,0.22514e+01_rb,0.23430e+01_rb,0.24343e+01_rb /) kbo(:,55,10) = (/ & & 0.19094e+01_rb,0.20990e+01_rb,0.22287e+01_rb,0.23283e+01_rb,0.24126e+01_rb /) kbo(:,56,10) = (/ & & 0.18499e+01_rb,0.20432e+01_rb,0.21961e+01_rb,0.22965e+01_rb,0.23921e+01_rb /) kbo(:,57,10) = (/ & & 0.17845e+01_rb,0.19868e+01_rb,0.21557e+01_rb,0.22661e+01_rb,0.23666e+01_rb /) kbo(:,58,10) = (/ & & 0.17304e+01_rb,0.19324e+01_rb,0.21130e+01_rb,0.22379e+01_rb,0.23344e+01_rb /) kbo(:,59,10) = (/ & & 0.17036e+01_rb,0.19129e+01_rb,0.20925e+01_rb,0.22299e+01_rb,0.23291e+01_rb /) kbo(:,13,11) = (/ & & 0.28487e+01_rb,0.28532e+01_rb,0.28392e+01_rb,0.28113e+01_rb,0.28077e+01_rb /) kbo(:,14,11) = (/ & & 0.29217e+01_rb,0.29135e+01_rb,0.28970e+01_rb,0.28895e+01_rb,0.29104e+01_rb /) kbo(:,15,11) = (/ & & 0.29720e+01_rb,0.29567e+01_rb,0.29515e+01_rb,0.29771e+01_rb,0.29749e+01_rb /) kbo(:,16,11) = (/ & & 0.29934e+01_rb,0.30029e+01_rb,0.30226e+01_rb,0.30339e+01_rb,0.30204e+01_rb /) kbo(:,17,11) = (/ & & 0.30408e+01_rb,0.30652e+01_rb,0.30797e+01_rb,0.30959e+01_rb,0.31120e+01_rb /) kbo(:,18,11) = (/ & & 0.31059e+01_rb,0.31457e+01_rb,0.31893e+01_rb,0.32154e+01_rb,0.32284e+01_rb /) kbo(:,19,11) = (/ & & 0.31895e+01_rb,0.32505e+01_rb,0.32863e+01_rb,0.32994e+01_rb,0.32949e+01_rb /) kbo(:,20,11) = (/ & & 0.32605e+01_rb,0.33203e+01_rb,0.33389e+01_rb,0.33469e+01_rb,0.33350e+01_rb /) kbo(:,21,11) = (/ & & 0.33097e+01_rb,0.33567e+01_rb,0.33762e+01_rb,0.33842e+01_rb,0.33798e+01_rb /) kbo(:,22,11) = (/ & & 0.33482e+01_rb,0.33901e+01_rb,0.34068e+01_rb,0.34227e+01_rb,0.34010e+01_rb /) kbo(:,23,11) = (/ & & 0.33722e+01_rb,0.34154e+01_rb,0.34438e+01_rb,0.34434e+01_rb,0.34235e+01_rb /) kbo(:,24,11) = (/ & & 0.33951e+01_rb,0.34377e+01_rb,0.34659e+01_rb,0.34658e+01_rb,0.34557e+01_rb /) kbo(:,25,11) = (/ & & 0.34209e+01_rb,0.34720e+01_rb,0.34904e+01_rb,0.34950e+01_rb,0.34725e+01_rb /) kbo(:,26,11) = (/ & & 0.34497e+01_rb,0.34967e+01_rb,0.35233e+01_rb,0.35072e+01_rb,0.34967e+01_rb /) kbo(:,27,11) = (/ & & 0.34791e+01_rb,0.35327e+01_rb,0.35370e+01_rb,0.35122e+01_rb,0.35139e+01_rb /) kbo(:,28,11) = (/ & & 0.35134e+01_rb,0.35471e+01_rb,0.35465e+01_rb,0.35405e+01_rb,0.35525e+01_rb /) kbo(:,29,11) = (/ & & 0.35424e+01_rb,0.35704e+01_rb,0.35632e+01_rb,0.35824e+01_rb,0.35567e+01_rb /) kbo(:,30,11) = (/ & & 0.35629e+01_rb,0.35947e+01_rb,0.35992e+01_rb,0.36011e+01_rb,0.36027e+01_rb /) kbo(:,31,11) = (/ & & 0.35753e+01_rb,0.36045e+01_rb,0.36365e+01_rb,0.36213e+01_rb,0.36310e+01_rb /) kbo(:,32,11) = (/ & & 0.35596e+01_rb,0.36100e+01_rb,0.36333e+01_rb,0.36490e+01_rb,0.36651e+01_rb /) kbo(:,33,11) = (/ & & 0.35241e+01_rb,0.35883e+01_rb,0.36383e+01_rb,0.36740e+01_rb,0.36685e+01_rb /) kbo(:,34,11) = (/ & & 0.35027e+01_rb,0.35491e+01_rb,0.36249e+01_rb,0.36739e+01_rb,0.36810e+01_rb /) kbo(:,35,11) = (/ & & 0.34699e+01_rb,0.35289e+01_rb,0.35926e+01_rb,0.36193e+01_rb,0.36411e+01_rb /) kbo(:,36,11) = (/ & & 0.35153e+01_rb,0.35225e+01_rb,0.35498e+01_rb,0.35989e+01_rb,0.36429e+01_rb /) kbo(:,37,11) = (/ & & 0.35644e+01_rb,0.35488e+01_rb,0.35358e+01_rb,0.35755e+01_rb,0.36247e+01_rb /) kbo(:,38,11) = (/ & & 0.35952e+01_rb,0.35902e+01_rb,0.35685e+01_rb,0.35598e+01_rb,0.35995e+01_rb /) kbo(:,39,11) = (/ & & 0.36371e+01_rb,0.36388e+01_rb,0.36159e+01_rb,0.35751e+01_rb,0.35930e+01_rb /) kbo(:,40,11) = (/ & & 0.36530e+01_rb,0.36611e+01_rb,0.36495e+01_rb,0.35923e+01_rb,0.35985e+01_rb /) kbo(:,41,11) = (/ & & 0.36431e+01_rb,0.36852e+01_rb,0.36606e+01_rb,0.36324e+01_rb,0.35949e+01_rb /) kbo(:,42,11) = (/ & & 0.36510e+01_rb,0.36940e+01_rb,0.36905e+01_rb,0.36729e+01_rb,0.36122e+01_rb /) kbo(:,43,11) = (/ & & 0.36633e+01_rb,0.36955e+01_rb,0.37103e+01_rb,0.36924e+01_rb,0.36526e+01_rb /) kbo(:,44,11) = (/ & & 0.36584e+01_rb,0.36852e+01_rb,0.37131e+01_rb,0.37219e+01_rb,0.36946e+01_rb /) kbo(:,45,11) = (/ & & 0.36636e+01_rb,0.36530e+01_rb,0.37160e+01_rb,0.37197e+01_rb,0.37150e+01_rb /) kbo(:,46,11) = (/ & & 0.36713e+01_rb,0.36779e+01_rb,0.37130e+01_rb,0.37408e+01_rb,0.37431e+01_rb /) kbo(:,47,11) = (/ & & 0.36885e+01_rb,0.36889e+01_rb,0.37012e+01_rb,0.37377e+01_rb,0.37538e+01_rb /) kbo(:,48,11) = (/ & & 0.36735e+01_rb,0.37253e+01_rb,0.37092e+01_rb,0.37311e+01_rb,0.37444e+01_rb /) kbo(:,49,11) = (/ & & 0.36543e+01_rb,0.37300e+01_rb,0.37306e+01_rb,0.37311e+01_rb,0.37688e+01_rb /) kbo(:,50,11) = (/ & & 0.36397e+01_rb,0.37435e+01_rb,0.37659e+01_rb,0.37491e+01_rb,0.37600e+01_rb /) kbo(:,51,11) = (/ & & 0.36124e+01_rb,0.37293e+01_rb,0.37963e+01_rb,0.37839e+01_rb,0.37789e+01_rb /) kbo(:,52,11) = (/ & & 0.35636e+01_rb,0.37078e+01_rb,0.37818e+01_rb,0.38114e+01_rb,0.37775e+01_rb /) kbo(:,53,11) = (/ & & 0.34978e+01_rb,0.36691e+01_rb,0.37922e+01_rb,0.38152e+01_rb,0.38092e+01_rb /) kbo(:,54,11) = (/ & & 0.34749e+01_rb,0.36230e+01_rb,0.37686e+01_rb,0.38328e+01_rb,0.38292e+01_rb /) kbo(:,55,11) = (/ & & 0.34238e+01_rb,0.35883e+01_rb,0.37261e+01_rb,0.38299e+01_rb,0.38488e+01_rb /) kbo(:,56,11) = (/ & & 0.33568e+01_rb,0.35597e+01_rb,0.37073e+01_rb,0.38247e+01_rb,0.38591e+01_rb /) kbo(:,57,11) = (/ & & 0.32794e+01_rb,0.35193e+01_rb,0.36712e+01_rb,0.37875e+01_rb,0.38581e+01_rb /) kbo(:,58,11) = (/ & & 0.31971e+01_rb,0.34544e+01_rb,0.36268e+01_rb,0.37609e+01_rb,0.38393e+01_rb /) kbo(:,59,11) = (/ & & 0.31680e+01_rb,0.34441e+01_rb,0.36338e+01_rb,0.37596e+01_rb,0.38510e+01_rb /) kbo(:,13,12) = (/ & & 0.40944e+01_rb,0.40706e+01_rb,0.40738e+01_rb,0.40615e+01_rb,0.40255e+01_rb /) kbo(:,14,12) = (/ & & 0.42568e+01_rb,0.42640e+01_rb,0.42578e+01_rb,0.42281e+01_rb,0.41677e+01_rb /) kbo(:,15,12) = (/ & & 0.44471e+01_rb,0.44460e+01_rb,0.44235e+01_rb,0.43647e+01_rb,0.43107e+01_rb /) kbo(:,16,12) = (/ & & 0.45971e+01_rb,0.45776e+01_rb,0.45277e+01_rb,0.44905e+01_rb,0.45101e+01_rb /) kbo(:,17,12) = (/ & & 0.46780e+01_rb,0.46358e+01_rb,0.46311e+01_rb,0.46380e+01_rb,0.46103e+01_rb /) kbo(:,18,12) = (/ & & 0.47294e+01_rb,0.47444e+01_rb,0.47418e+01_rb,0.47299e+01_rb,0.47059e+01_rb /) kbo(:,19,12) = (/ & & 0.48604e+01_rb,0.48842e+01_rb,0.48819e+01_rb,0.49000e+01_rb,0.48969e+01_rb /) kbo(:,20,12) = (/ & & 0.49979e+01_rb,0.50271e+01_rb,0.50614e+01_rb,0.50783e+01_rb,0.50637e+01_rb /) kbo(:,21,12) = (/ & & 0.51216e+01_rb,0.51841e+01_rb,0.52155e+01_rb,0.52098e+01_rb,0.51706e+01_rb /) kbo(:,22,12) = (/ & & 0.52796e+01_rb,0.53177e+01_rb,0.53275e+01_rb,0.53003e+01_rb,0.52540e+01_rb /) kbo(:,23,12) = (/ & & 0.54021e+01_rb,0.54214e+01_rb,0.54107e+01_rb,0.53770e+01_rb,0.53308e+01_rb /) kbo(:,24,12) = (/ & & 0.54951e+01_rb,0.54954e+01_rb,0.54655e+01_rb,0.54275e+01_rb,0.53548e+01_rb /) kbo(:,25,12) = (/ & & 0.55606e+01_rb,0.55401e+01_rb,0.55126e+01_rb,0.54611e+01_rb,0.53900e+01_rb /) kbo(:,26,12) = (/ & & 0.56084e+01_rb,0.55775e+01_rb,0.55344e+01_rb,0.54935e+01_rb,0.53765e+01_rb /) kbo(:,27,12) = (/ & & 0.56424e+01_rb,0.55975e+01_rb,0.55674e+01_rb,0.55057e+01_rb,0.54137e+01_rb /) kbo(:,28,12) = (/ & & 0.56582e+01_rb,0.56350e+01_rb,0.55811e+01_rb,0.55009e+01_rb,0.54160e+01_rb /) kbo(:,29,12) = (/ & & 0.56833e+01_rb,0.56401e+01_rb,0.55975e+01_rb,0.55109e+01_rb,0.54249e+01_rb /) kbo(:,30,12) = (/ & & 0.57003e+01_rb,0.56620e+01_rb,0.55904e+01_rb,0.55121e+01_rb,0.54542e+01_rb /) kbo(:,31,12) = (/ & & 0.57132e+01_rb,0.56848e+01_rb,0.56091e+01_rb,0.55447e+01_rb,0.55236e+01_rb /) kbo(:,32,12) = (/ & & 0.57800e+01_rb,0.57027e+01_rb,0.56220e+01_rb,0.56024e+01_rb,0.55523e+01_rb /) kbo(:,33,12) = (/ & & 0.57668e+01_rb,0.57069e+01_rb,0.56826e+01_rb,0.56406e+01_rb,0.56224e+01_rb /) kbo(:,34,12) = (/ & & 0.57877e+01_rb,0.57628e+01_rb,0.57465e+01_rb,0.57131e+01_rb,0.56752e+01_rb /) kbo(:,35,12) = (/ & & 0.58053e+01_rb,0.58032e+01_rb,0.57814e+01_rb,0.58008e+01_rb,0.57412e+01_rb /) kbo(:,36,12) = (/ & & 0.57386e+01_rb,0.58034e+01_rb,0.57934e+01_rb,0.57973e+01_rb,0.57760e+01_rb /) kbo(:,37,12) = (/ & & 0.56650e+01_rb,0.57400e+01_rb,0.57795e+01_rb,0.58096e+01_rb,0.57723e+01_rb /) kbo(:,38,12) = (/ & & 0.56068e+01_rb,0.56512e+01_rb,0.57137e+01_rb,0.58154e+01_rb,0.57795e+01_rb /) kbo(:,39,12) = (/ & & 0.55712e+01_rb,0.56156e+01_rb,0.56456e+01_rb,0.57952e+01_rb,0.57768e+01_rb /) kbo(:,40,12) = (/ & & 0.55331e+01_rb,0.55774e+01_rb,0.56049e+01_rb,0.57462e+01_rb,0.57382e+01_rb /) kbo(:,41,12) = (/ & & 0.55579e+01_rb,0.55330e+01_rb,0.55754e+01_rb,0.56805e+01_rb,0.57245e+01_rb /) kbo(:,42,12) = (/ & & 0.55684e+01_rb,0.55372e+01_rb,0.55455e+01_rb,0.56019e+01_rb,0.57291e+01_rb /) kbo(:,43,12) = (/ & & 0.56282e+01_rb,0.55547e+01_rb,0.55863e+01_rb,0.55852e+01_rb,0.56892e+01_rb /) kbo(:,44,12) = (/ & & 0.56429e+01_rb,0.55998e+01_rb,0.55663e+01_rb,0.55662e+01_rb,0.56522e+01_rb /) kbo(:,45,12) = (/ & & 0.56488e+01_rb,0.56642e+01_rb,0.55915e+01_rb,0.56136e+01_rb,0.56176e+01_rb /) kbo(:,46,12) = (/ & & 0.57246e+01_rb,0.57165e+01_rb,0.56557e+01_rb,0.56271e+01_rb,0.56227e+01_rb /) kbo(:,47,12) = (/ & & 0.57406e+01_rb,0.57550e+01_rb,0.57336e+01_rb,0.56616e+01_rb,0.56928e+01_rb /) kbo(:,48,12) = (/ & & 0.57616e+01_rb,0.57715e+01_rb,0.57765e+01_rb,0.57429e+01_rb,0.57151e+01_rb /) kbo(:,49,12) = (/ & & 0.58013e+01_rb,0.57807e+01_rb,0.58014e+01_rb,0.57796e+01_rb,0.57022e+01_rb /) kbo(:,50,12) = (/ & & 0.58611e+01_rb,0.58307e+01_rb,0.58954e+01_rb,0.58904e+01_rb,0.58254e+01_rb /) kbo(:,51,12) = (/ & & 0.59182e+01_rb,0.59013e+01_rb,0.59353e+01_rb,0.59746e+01_rb,0.59215e+01_rb /) kbo(:,52,12) = (/ & & 0.59636e+01_rb,0.59631e+01_rb,0.59638e+01_rb,0.60147e+01_rb,0.60288e+01_rb /) kbo(:,53,12) = (/ & & 0.60261e+01_rb,0.59972e+01_rb,0.59771e+01_rb,0.60154e+01_rb,0.60632e+01_rb /) kbo(:,54,12) = (/ & & 0.60204e+01_rb,0.60805e+01_rb,0.60002e+01_rb,0.60580e+01_rb,0.60854e+01_rb /) kbo(:,55,12) = (/ & & 0.60584e+01_rb,0.61138e+01_rb,0.60917e+01_rb,0.60710e+01_rb,0.61237e+01_rb /) kbo(:,56,12) = (/ & & 0.60402e+01_rb,0.61059e+01_rb,0.61154e+01_rb,0.61008e+01_rb,0.61463e+01_rb /) kbo(:,57,12) = (/ & & 0.60080e+01_rb,0.61076e+01_rb,0.61306e+01_rb,0.61548e+01_rb,0.61892e+01_rb /) kbo(:,58,12) = (/ & & 0.59781e+01_rb,0.61168e+01_rb,0.61621e+01_rb,0.61680e+01_rb,0.62246e+01_rb /) kbo(:,59,12) = (/ & & 0.59824e+01_rb,0.60878e+01_rb,0.61825e+01_rb,0.62179e+01_rb,0.62658e+01_rb /) kbo(:,13,13) = (/ & & 0.62252e+01_rb,0.61003e+01_rb,0.59711e+01_rb,0.58641e+01_rb,0.57820e+01_rb /) kbo(:,14,13) = (/ & & 0.66429e+01_rb,0.64784e+01_rb,0.63526e+01_rb,0.62330e+01_rb,0.61644e+01_rb /) kbo(:,15,13) = (/ & & 0.69743e+01_rb,0.68232e+01_rb,0.67077e+01_rb,0.66230e+01_rb,0.65438e+01_rb /) kbo(:,16,13) = (/ & & 0.72971e+01_rb,0.72050e+01_rb,0.71016e+01_rb,0.69747e+01_rb,0.67726e+01_rb /) kbo(:,17,13) = (/ & & 0.77109e+01_rb,0.75892e+01_rb,0.74253e+01_rb,0.72127e+01_rb,0.70341e+01_rb /) kbo(:,18,13) = (/ & & 0.80450e+01_rb,0.78275e+01_rb,0.75988e+01_rb,0.74227e+01_rb,0.73977e+01_rb /) kbo(:,19,13) = (/ & & 0.81727e+01_rb,0.79248e+01_rb,0.78355e+01_rb,0.77125e+01_rb,0.75391e+01_rb /) kbo(:,20,13) = (/ & & 0.82796e+01_rb,0.81265e+01_rb,0.80271e+01_rb,0.78599e+01_rb,0.77204e+01_rb /) kbo(:,21,13) = (/ & & 0.84685e+01_rb,0.83415e+01_rb,0.82106e+01_rb,0.80317e+01_rb,0.78896e+01_rb /) kbo(:,22,13) = (/ & & 0.86169e+01_rb,0.85255e+01_rb,0.83779e+01_rb,0.82528e+01_rb,0.81573e+01_rb /) kbo(:,23,13) = (/ & & 0.88276e+01_rb,0.86892e+01_rb,0.86001e+01_rb,0.84644e+01_rb,0.83125e+01_rb /) kbo(:,24,13) = (/ & & 0.89834e+01_rb,0.88963e+01_rb,0.87866e+01_rb,0.86675e+01_rb,0.84751e+01_rb /) kbo(:,25,13) = (/ & & 0.91971e+01_rb,0.90977e+01_rb,0.89941e+01_rb,0.88254e+01_rb,0.85750e+01_rb /) kbo(:,26,13) = (/ & & 0.93611e+01_rb,0.92762e+01_rb,0.91306e+01_rb,0.88795e+01_rb,0.86828e+01_rb /) kbo(:,27,13) = (/ & & 0.95231e+01_rb,0.94096e+01_rb,0.91709e+01_rb,0.89786e+01_rb,0.86968e+01_rb /) kbo(:,28,13) = (/ & & 0.96495e+01_rb,0.94564e+01_rb,0.92347e+01_rb,0.89785e+01_rb,0.86180e+01_rb /) kbo(:,29,13) = (/ & & 0.97336e+01_rb,0.94935e+01_rb,0.92561e+01_rb,0.89137e+01_rb,0.86661e+01_rb /) kbo(:,30,13) = (/ & & 0.97605e+01_rb,0.95111e+01_rb,0.92200e+01_rb,0.89355e+01_rb,0.85920e+01_rb /) kbo(:,31,13) = (/ & & 0.97562e+01_rb,0.95167e+01_rb,0.91771e+01_rb,0.88618e+01_rb,0.85414e+01_rb /) kbo(:,32,13) = (/ & & 0.97192e+01_rb,0.94434e+01_rb,0.91403e+01_rb,0.87870e+01_rb,0.85159e+01_rb /) kbo(:,33,13) = (/ & & 0.97162e+01_rb,0.94370e+01_rb,0.90971e+01_rb,0.88239e+01_rb,0.85528e+01_rb /) kbo(:,34,13) = (/ & & 0.96997e+01_rb,0.93448e+01_rb,0.90783e+01_rb,0.87958e+01_rb,0.87225e+01_rb /) kbo(:,35,13) = (/ & & 0.97261e+01_rb,0.93769e+01_rb,0.90457e+01_rb,0.89061e+01_rb,0.87695e+01_rb /) kbo(:,36,13) = (/ & & 0.97573e+01_rb,0.94639e+01_rb,0.92105e+01_rb,0.90277e+01_rb,0.88187e+01_rb /) kbo(:,37,13) = (/ & & 0.98297e+01_rb,0.95424e+01_rb,0.93169e+01_rb,0.90796e+01_rb,0.89104e+01_rb /) kbo(:,38,13) = (/ & & 0.99015e+01_rb,0.96432e+01_rb,0.94039e+01_rb,0.91616e+01_rb,0.89941e+01_rb /) kbo(:,39,13) = (/ & & 0.99137e+01_rb,0.96714e+01_rb,0.94790e+01_rb,0.92092e+01_rb,0.90352e+01_rb /) kbo(:,40,13) = (/ & & 0.99728e+01_rb,0.96872e+01_rb,0.94263e+01_rb,0.92759e+01_rb,0.90690e+01_rb /) kbo(:,41,13) = (/ & & 0.10009e+02_rb,0.96720e+01_rb,0.94529e+01_rb,0.92520e+01_rb,0.90775e+01_rb /) kbo(:,42,13) = (/ & & 0.99394e+01_rb,0.96947e+01_rb,0.94735e+01_rb,0.92670e+01_rb,0.90312e+01_rb /) kbo(:,43,13) = (/ & & 0.98412e+01_rb,0.96685e+01_rb,0.93802e+01_rb,0.91747e+01_rb,0.90019e+01_rb /) kbo(:,44,13) = (/ & & 0.98284e+01_rb,0.96419e+01_rb,0.93576e+01_rb,0.91166e+01_rb,0.88968e+01_rb /) kbo(:,45,13) = (/ & & 0.98765e+01_rb,0.96737e+01_rb,0.94176e+01_rb,0.90811e+01_rb,0.88300e+01_rb /) kbo(:,46,13) = (/ & & 0.99370e+01_rb,0.96739e+01_rb,0.94534e+01_rb,0.91692e+01_rb,0.88574e+01_rb /) kbo(:,47,13) = (/ & & 0.10145e+02_rb,0.99712e+01_rb,0.96675e+01_rb,0.93530e+01_rb,0.89895e+01_rb /) kbo(:,48,13) = (/ & & 0.10395e+02_rb,0.10167e+02_rb,0.99330e+01_rb,0.95943e+01_rb,0.92927e+01_rb /) kbo(:,49,13) = (/ & & 0.10580e+02_rb,0.10365e+02_rb,0.10114e+02_rb,0.98197e+01_rb,0.95303e+01_rb /) kbo(:,50,13) = (/ & & 0.10794e+02_rb,0.10715e+02_rb,0.10421e+02_rb,0.10154e+02_rb,0.98629e+01_rb /) kbo(:,51,13) = (/ & & 0.10946e+02_rb,0.10939e+02_rb,0.10689e+02_rb,0.10427e+02_rb,0.10145e+02_rb /) kbo(:,52,13) = (/ & & 0.11156e+02_rb,0.11126e+02_rb,0.10973e+02_rb,0.10622e+02_rb,0.10371e+02_rb /) kbo(:,53,13) = (/ & & 0.11165e+02_rb,0.11308e+02_rb,0.11212e+02_rb,0.10985e+02_rb,0.10624e+02_rb /) kbo(:,54,13) = (/ & & 0.11221e+02_rb,0.11354e+02_rb,0.11431e+02_rb,0.11243e+02_rb,0.10959e+02_rb /) kbo(:,55,13) = (/ & & 0.11238e+02_rb,0.11406e+02_rb,0.11591e+02_rb,0.11479e+02_rb,0.11275e+02_rb /) kbo(:,56,13) = (/ & & 0.11335e+02_rb,0.11405e+02_rb,0.11662e+02_rb,0.11637e+02_rb,0.11480e+02_rb /) kbo(:,57,13) = (/ & & 0.11355e+02_rb,0.11451e+02_rb,0.11592e+02_rb,0.11670e+02_rb,0.11515e+02_rb /) kbo(:,58,13) = (/ & & 0.11389e+02_rb,0.11476e+02_rb,0.11586e+02_rb,0.11657e+02_rb,0.11618e+02_rb /) kbo(:,59,13) = (/ & & 0.11480e+02_rb,0.11599e+02_rb,0.11673e+02_rb,0.11677e+02_rb,0.11653e+02_rb /) kbo(:,13,14) = (/ & & 0.97590e+01_rb,0.94275e+01_rb,0.91020e+01_rb,0.89149e+01_rb,0.87289e+01_rb /) kbo(:,14,14) = (/ & & 0.10505e+02_rb,0.10164e+02_rb,0.99232e+01_rb,0.97321e+01_rb,0.94201e+01_rb /) kbo(:,15,14) = (/ & & 0.11237e+02_rb,0.10955e+02_rb,0.10714e+02_rb,0.10370e+02_rb,0.10019e+02_rb /) kbo(:,16,14) = (/ & & 0.12124e+02_rb,0.11740e+02_rb,0.11352e+02_rb,0.10992e+02_rb,0.10632e+02_rb /) kbo(:,17,14) = (/ & & 0.12886e+02_rb,0.12429e+02_rb,0.12001e+02_rb,0.11642e+02_rb,0.11273e+02_rb /) kbo(:,18,14) = (/ & & 0.13556e+02_rb,0.13047e+02_rb,0.12733e+02_rb,0.12297e+02_rb,0.11616e+02_rb /) kbo(:,19,14) = (/ & & 0.14349e+02_rb,0.13901e+02_rb,0.13193e+02_rb,0.12562e+02_rb,0.12015e+02_rb /) kbo(:,20,14) = (/ & & 0.15084e+02_rb,0.14361e+02_rb,0.13567e+02_rb,0.12903e+02_rb,0.12393e+02_rb /) kbo(:,21,14) = (/ & & 0.15509e+02_rb,0.14641e+02_rb,0.13824e+02_rb,0.13136e+02_rb,0.12832e+02_rb /) kbo(:,22,14) = (/ & & 0.15737e+02_rb,0.14756e+02_rb,0.13944e+02_rb,0.13493e+02_rb,0.13014e+02_rb /) kbo(:,23,14) = (/ & & 0.15733e+02_rb,0.14806e+02_rb,0.14130e+02_rb,0.13708e+02_rb,0.13129e+02_rb /) kbo(:,24,14) = (/ & & 0.15735e+02_rb,0.14832e+02_rb,0.14382e+02_rb,0.13702e+02_rb,0.13090e+02_rb /) kbo(:,25,14) = (/ & & 0.15596e+02_rb,0.15046e+02_rb,0.14369e+02_rb,0.13676e+02_rb,0.13207e+02_rb /) kbo(:,26,14) = (/ & & 0.15679e+02_rb,0.15085e+02_rb,0.14382e+02_rb,0.13864e+02_rb,0.13243e+02_rb /) kbo(:,27,14) = (/ & & 0.15773e+02_rb,0.15051e+02_rb,0.14458e+02_rb,0.13792e+02_rb,0.13309e+02_rb /) kbo(:,28,14) = (/ & & 0.15791e+02_rb,0.15118e+02_rb,0.14520e+02_rb,0.13908e+02_rb,0.13506e+02_rb /) kbo(:,29,14) = (/ & & 0.15907e+02_rb,0.15282e+02_rb,0.14696e+02_rb,0.14168e+02_rb,0.13591e+02_rb /) kbo(:,30,14) = (/ & & 0.15997e+02_rb,0.15426e+02_rb,0.14908e+02_rb,0.14325e+02_rb,0.13655e+02_rb /) kbo(:,31,14) = (/ & & 0.16254e+02_rb,0.15640e+02_rb,0.15053e+02_rb,0.14410e+02_rb,0.13542e+02_rb /) kbo(:,32,14) = (/ & & 0.16522e+02_rb,0.15885e+02_rb,0.15194e+02_rb,0.14363e+02_rb,0.13365e+02_rb /) kbo(:,33,14) = (/ & & 0.16844e+02_rb,0.16068e+02_rb,0.15151e+02_rb,0.14109e+02_rb,0.13003e+02_rb /) kbo(:,34,14) = (/ & & 0.16915e+02_rb,0.16003e+02_rb,0.14953e+02_rb,0.13814e+02_rb,0.12608e+02_rb /) kbo(:,35,14) = (/ & & 0.16922e+02_rb,0.15890e+02_rb,0.14756e+02_rb,0.13405e+02_rb,0.12281e+02_rb /) kbo(:,36,14) = (/ & & 0.16966e+02_rb,0.15773e+02_rb,0.14522e+02_rb,0.13240e+02_rb,0.11917e+02_rb /) kbo(:,37,14) = (/ & & 0.17142e+02_rb,0.15897e+02_rb,0.14564e+02_rb,0.13378e+02_rb,0.11953e+02_rb /) kbo(:,38,14) = (/ & & 0.17346e+02_rb,0.16051e+02_rb,0.14752e+02_rb,0.13439e+02_rb,0.11971e+02_rb /) kbo(:,39,14) = (/ & & 0.17475e+02_rb,0.16210e+02_rb,0.14948e+02_rb,0.13510e+02_rb,0.12056e+02_rb /) kbo(:,40,14) = (/ & & 0.17754e+02_rb,0.16503e+02_rb,0.15328e+02_rb,0.13801e+02_rb,0.12328e+02_rb /) kbo(:,41,14) = (/ & & 0.18031e+02_rb,0.16909e+02_rb,0.15619e+02_rb,0.14276e+02_rb,0.12740e+02_rb /) kbo(:,42,14) = (/ & & 0.18386e+02_rb,0.17235e+02_rb,0.15966e+02_rb,0.14652e+02_rb,0.13194e+02_rb /) kbo(:,43,14) = (/ & & 0.18710e+02_rb,0.17591e+02_rb,0.16361e+02_rb,0.15070e+02_rb,0.13707e+02_rb /) kbo(:,44,14) = (/ & & 0.19098e+02_rb,0.17898e+02_rb,0.16845e+02_rb,0.15582e+02_rb,0.14265e+02_rb /) kbo(:,45,14) = (/ & & 0.19252e+02_rb,0.18167e+02_rb,0.17135e+02_rb,0.15969e+02_rb,0.14652e+02_rb /) kbo(:,46,14) = (/ & & 0.19041e+02_rb,0.18357e+02_rb,0.17265e+02_rb,0.16200e+02_rb,0.15002e+02_rb /) kbo(:,47,14) = (/ & & 0.18766e+02_rb,0.18032e+02_rb,0.17152e+02_rb,0.16208e+02_rb,0.15088e+02_rb /) kbo(:,48,14) = (/ & & 0.18411e+02_rb,0.17740e+02_rb,0.16984e+02_rb,0.16085e+02_rb,0.15089e+02_rb /) kbo(:,49,14) = (/ & & 0.18291e+02_rb,0.17667e+02_rb,0.16941e+02_rb,0.16014e+02_rb,0.14979e+02_rb /) kbo(:,50,14) = (/ & & 0.18624e+02_rb,0.17786e+02_rb,0.17174e+02_rb,0.16136e+02_rb,0.15128e+02_rb /) kbo(:,51,14) = (/ & & 0.19430e+02_rb,0.18470e+02_rb,0.17722e+02_rb,0.16775e+02_rb,0.15711e+02_rb /) kbo(:,52,14) = (/ & & 0.20123e+02_rb,0.18895e+02_rb,0.18060e+02_rb,0.17255e+02_rb,0.16173e+02_rb /) kbo(:,53,14) = (/ & & 0.20744e+02_rb,0.19415e+02_rb,0.18626e+02_rb,0.17397e+02_rb,0.16465e+02_rb /) kbo(:,54,14) = (/ & & 0.21714e+02_rb,0.20093e+02_rb,0.19173e+02_rb,0.18078e+02_rb,0.16884e+02_rb /) kbo(:,55,14) = (/ & & 0.22731e+02_rb,0.21068e+02_rb,0.19674e+02_rb,0.18569e+02_rb,0.17315e+02_rb /) kbo(:,56,14) = (/ & & 0.23924e+02_rb,0.22190e+02_rb,0.20317e+02_rb,0.18891e+02_rb,0.17603e+02_rb /) kbo(:,57,14) = (/ & & 0.24940e+02_rb,0.23270e+02_rb,0.21498e+02_rb,0.19833e+02_rb,0.18265e+02_rb /) kbo(:,58,14) = (/ & & 0.25828e+02_rb,0.24271e+02_rb,0.22518e+02_rb,0.20827e+02_rb,0.19003e+02_rb /) kbo(:,59,14) = (/ & & 0.26483e+02_rb,0.24983e+02_rb,0.23453e+02_rb,0.21676e+02_rb,0.19755e+02_rb /) kbo(:,13,15) = (/ & & 0.15960e+02_rb,0.15303e+02_rb,0.14694e+02_rb,0.13842e+02_rb,0.13008e+02_rb /) kbo(:,14,15) = (/ & & 0.17675e+02_rb,0.16896e+02_rb,0.15925e+02_rb,0.14915e+02_rb,0.14133e+02_rb /) kbo(:,15,15) = (/ & & 0.19385e+02_rb,0.18234e+02_rb,0.16959e+02_rb,0.15987e+02_rb,0.15180e+02_rb /) kbo(:,16,15) = (/ & & 0.20552e+02_rb,0.19165e+02_rb,0.17982e+02_rb,0.16927e+02_rb,0.16368e+02_rb /) kbo(:,17,15) = (/ & & 0.21349e+02_rb,0.19954e+02_rb,0.19023e+02_rb,0.18091e+02_rb,0.17398e+02_rb /) kbo(:,18,15) = (/ & & 0.22160e+02_rb,0.21597e+02_rb,0.20213e+02_rb,0.19055e+02_rb,0.18102e+02_rb /) kbo(:,19,15) = (/ & & 0.23816e+02_rb,0.22303e+02_rb,0.21008e+02_rb,0.19912e+02_rb,0.18903e+02_rb /) kbo(:,20,15) = (/ & & 0.24810e+02_rb,0.23381e+02_rb,0.21933e+02_rb,0.20846e+02_rb,0.19540e+02_rb /) kbo(:,21,15) = (/ & & 0.25893e+02_rb,0.24250e+02_rb,0.22750e+02_rb,0.21616e+02_rb,0.19627e+02_rb /) kbo(:,22,15) = (/ & & 0.26542e+02_rb,0.24773e+02_rb,0.23600e+02_rb,0.21309e+02_rb,0.19278e+02_rb /) kbo(:,23,15) = (/ & & 0.27270e+02_rb,0.25621e+02_rb,0.23587e+02_rb,0.21255e+02_rb,0.19478e+02_rb /) kbo(:,24,15) = (/ & & 0.27744e+02_rb,0.26088e+02_rb,0.23254e+02_rb,0.21242e+02_rb,0.19100e+02_rb /) kbo(:,25,15) = (/ & & 0.28557e+02_rb,0.25575e+02_rb,0.23098e+02_rb,0.20631e+02_rb,0.18206e+02_rb /) kbo(:,26,15) = (/ & & 0.28140e+02_rb,0.25135e+02_rb,0.22210e+02_rb,0.19496e+02_rb,0.17366e+02_rb /) kbo(:,27,15) = (/ & & 0.27284e+02_rb,0.24232e+02_rb,0.21249e+02_rb,0.18720e+02_rb,0.16279e+02_rb /) kbo(:,28,15) = (/ & & 0.26494e+02_rb,0.23076e+02_rb,0.20060e+02_rb,0.17566e+02_rb,0.14956e+02_rb /) kbo(:,29,15) = (/ & & 0.24773e+02_rb,0.21460e+02_rb,0.18370e+02_rb,0.15793e+02_rb,0.13302e+02_rb /) kbo(:,30,15) = (/ & & 0.23157e+02_rb,0.19587e+02_rb,0.16563e+02_rb,0.13805e+02_rb,0.11647e+02_rb /) kbo(:,31,15) = (/ & & 0.20881e+02_rb,0.17370e+02_rb,0.14460e+02_rb,0.11958e+02_rb,0.99808e+01_rb /) kbo(:,32,15) = (/ & & 0.18247e+02_rb,0.15035e+02_rb,0.12296e+02_rb,0.10101e+02_rb,0.83032e+01_rb /) kbo(:,33,15) = (/ & & 0.15492e+02_rb,0.12470e+02_rb,0.10235e+02_rb,0.81131e+01_rb,0.64390e+01_rb /) kbo(:,34,15) = (/ & & 0.13284e+02_rb,0.10782e+02_rb,0.82553e+01_rb,0.64597e+01_rb,0.42402e+01_rb /) kbo(:,35,15) = (/ & & 0.11520e+02_rb,0.89534e+01_rb,0.69691e+01_rb,0.48753e+01_rb,0.27443e+01_rb /) kbo(:,36,15) = (/ & & 0.10067e+02_rb,0.75650e+01_rb,0.54572e+01_rb,0.31866e+01_rb,0.14626e+01_rb /) kbo(:,37,15) = (/ & & 0.97744e+01_rb,0.73767e+01_rb,0.52433e+01_rb,0.27509e+01_rb,0.10380e+01_rb /) kbo(:,38,15) = (/ & & 0.94733e+01_rb,0.70859e+01_rb,0.47807e+01_rb,0.23954e+01_rb,0.74468e+00_rb /) kbo(:,39,15) = (/ & & 0.94041e+01_rb,0.67286e+01_rb,0.41966e+01_rb,0.20683e+01_rb,0.27939e+00_rb /) kbo(:,40,15) = (/ & & 0.10076e+02_rb,0.74414e+01_rb,0.47964e+01_rb,0.25258e+01_rb,0.87689e+00_rb /) kbo(:,41,15) = (/ & & 0.10878e+02_rb,0.81759e+01_rb,0.56173e+01_rb,0.30416e+01_rb,0.13231e+01_rb /) kbo(:,42,15) = (/ & & 0.11858e+02_rb,0.88284e+01_rb,0.63009e+01_rb,0.37211e+01_rb,0.17214e+01_rb /) kbo(:,43,15) = (/ & & 0.13284e+02_rb,0.99847e+01_rb,0.73905e+01_rb,0.50291e+01_rb,0.24940e+01_rb /) kbo(:,44,15) = (/ & & 0.14796e+02_rb,0.11545e+02_rb,0.85671e+01_rb,0.61687e+01_rb,0.37136e+01_rb /) kbo(:,45,15) = (/ & & 0.16662e+02_rb,0.12949e+02_rb,0.98033e+01_rb,0.73353e+01_rb,0.52329e+01_rb /) kbo(:,46,15) = (/ & & 0.19200e+02_rb,0.14684e+02_rb,0.11434e+02_rb,0.85867e+01_rb,0.64428e+01_rb /) kbo(:,47,15) = (/ & & 0.21780e+02_rb,0.16837e+02_rb,0.13158e+02_rb,0.10165e+02_rb,0.76608e+01_rb /) kbo(:,48,15) = (/ & & 0.24689e+02_rb,0.19487e+02_rb,0.15145e+02_rb,0.11845e+02_rb,0.89940e+01_rb /) kbo(:,49,15) = (/ & & 0.27130e+02_rb,0.21775e+02_rb,0.17116e+02_rb,0.13679e+02_rb,0.10905e+02_rb /) kbo(:,50,15) = (/ & & 0.27854e+02_rb,0.22306e+02_rb,0.17103e+02_rb,0.13783e+02_rb,0.10863e+02_rb /) kbo(:,51,15) = (/ & & 0.27653e+02_rb,0.21825e+02_rb,0.16692e+02_rb,0.12707e+02_rb,0.98148e+01_rb /) kbo(:,52,15) = (/ & & 0.27815e+02_rb,0.22411e+02_rb,0.17151e+02_rb,0.12787e+02_rb,0.95823e+01_rb /) kbo(:,53,15) = (/ & & 0.29119e+02_rb,0.23144e+02_rb,0.17252e+02_rb,0.13594e+02_rb,0.99767e+01_rb /) kbo(:,54,15) = (/ & & 0.29129e+02_rb,0.23469e+02_rb,0.17342e+02_rb,0.12745e+02_rb,0.95359e+01_rb /) kbo(:,55,15) = (/ & & 0.29058e+02_rb,0.23190e+02_rb,0.17458e+02_rb,0.12690e+02_rb,0.90099e+01_rb /) kbo(:,56,15) = (/ & & 0.28657e+02_rb,0.23001e+02_rb,0.17896e+02_rb,0.13433e+02_rb,0.94907e+01_rb /) kbo(:,57,15) = (/ & & 0.29240e+02_rb,0.22830e+02_rb,0.17734e+02_rb,0.13185e+02_rb,0.97411e+01_rb /) kbo(:,58,15) = (/ & & 0.29947e+02_rb,0.22946e+02_rb,0.17582e+02_rb,0.13008e+02_rb,0.96489e+01_rb /) kbo(:,59,15) = (/ & & 0.28976e+02_rb,0.21746e+02_rb,0.15522e+02_rb,0.11254e+02_rb,0.80222e+01_rb /) kbo(:,13,16) = (/ & & 0.25931e+02_rb,0.24537e+02_rb,0.23224e+02_rb,0.21983e+02_rb,0.20855e+02_rb /) kbo(:,14,16) = (/ & & 0.29220e+02_rb,0.27507e+02_rb,0.25899e+02_rb,0.24431e+02_rb,0.23088e+02_rb /) kbo(:,15,16) = (/ & & 0.32471e+02_rb,0.30409e+02_rb,0.28502e+02_rb,0.26794e+02_rb,0.25226e+02_rb /) kbo(:,16,16) = (/ & & 0.35624e+02_rb,0.33186e+02_rb,0.30989e+02_rb,0.28748e+02_rb,0.24479e+02_rb /) kbo(:,17,16) = (/ & & 0.38605e+02_rb,0.35797e+02_rb,0.30613e+02_rb,0.25949e+02_rb,0.21171e+02_rb /) kbo(:,18,16) = (/ & & 0.41350e+02_rb,0.31676e+02_rb,0.25965e+02_rb,0.21818e+02_rb,0.18145e+02_rb /) kbo(:,19,16) = (/ & & 0.34377e+02_rb,0.28144e+02_rb,0.23342e+02_rb,0.17735e+02_rb,0.13818e+02_rb /) kbo(:,20,16) = (/ & & 0.31245e+02_rb,0.24408e+02_rb,0.19618e+02_rb,0.13984e+02_rb,0.93171e+01_rb /) kbo(:,21,16) = (/ & & 0.28216e+02_rb,0.21711e+02_rb,0.16938e+02_rb,0.11225e+02_rb,0.60954e+01_rb /) kbo(:,22,16) = (/ & & 0.25410e+02_rb,0.20320e+02_rb,0.12451e+02_rb,0.80509e+01_rb,0.41742e+01_rb /) kbo(:,23,16) = (/ & & 0.22191e+02_rb,0.15284e+02_rb,0.84334e+01_rb,0.32443e+01_rb,0.10236e-04_rb /) kbo(:,24,16) = (/ & & 0.19170e+02_rb,0.98429e+01_rb,0.40822e+01_rb,0.90070e-05_rb,0.84964e-05_rb /) kbo(:,25,16) = (/ & & 0.11441e+02_rb,0.50508e+01_rb,0.77316e-05_rb,0.71796e-05_rb,0.66473e-05_rb /) kbo(:,26,16) = (/ & & 0.73617e+01_rb,0.56953e+00_rb,0.62155e-05_rb,0.57759e-05_rb,0.53447e-05_rb /) kbo(:,27,16) = (/ & & 0.37038e+01_rb,0.54098e-05_rb,0.49933e-05_rb,0.45180e-05_rb,0.42997e-05_rb /) kbo(:,28,16) = (/ & & 0.47094e-05_rb,0.43472e-05_rb,0.40149e-05_rb,0.36332e-05_rb,0.34550e-05_rb /) kbo(:,29,16) = (/ & & 0.37812e-05_rb,0.34885e-05_rb,0.32238e-05_rb,0.29187e-05_rb,0.27779e-05_rb /) kbo(:,30,16) = (/ & & 0.30339e-05_rb,0.28004e-05_rb,0.25314e-05_rb,0.23451e-05_rb,0.22313e-05_rb /) kbo(:,31,16) = (/ & & 0.24328e-05_rb,0.22460e-05_rb,0.20326e-05_rb,0.18813e-05_rb,0.17930e-05_rb /) kbo(:,32,16) = (/ & & 0.18939e-05_rb,0.18012e-05_rb,0.16316e-05_rb,0.15109e-05_rb,0.14395e-05_rb /) kbo(:,33,16) = (/ & & 0.15657e-05_rb,0.14309e-05_rb,0.13083e-05_rb,0.12124e-05_rb,0.15795e-05_rb /) kbo(:,34,16) = (/ & & 0.12582e-05_rb,0.11508e-05_rb,0.10527e-05_rb,0.97625e-06_rb,0.19757e-05_rb /) kbo(:,35,16) = (/ & & 0.10197e-05_rb,0.93275e-06_rb,0.85375e-06_rb,0.79153e-06_rb,0.21668e-05_rb /) kbo(:,36,16) = (/ & & 0.83336e-06_rb,0.76274e-06_rb,0.69805e-06_rb,0.64735e-06_rb,0.17739e-05_rb /) kbo(:,37,16) = (/ & & 0.68945e-06_rb,0.63022e-06_rb,0.57702e-06_rb,0.53486e-06_rb,0.10843e-05_rb /) kbo(:,38,16) = (/ & & 0.55406e-06_rb,0.52180e-06_rb,0.47760e-06_rb,0.44282e-06_rb,0.89395e-06_rb /) kbo(:,39,16) = (/ & & 0.45861e-06_rb,0.43223e-06_rb,0.39548e-06_rb,0.36639e-06_rb,0.47718e-06_rb /) kbo(:,40,16) = (/ & & 0.38297e-06_rb,0.36441e-06_rb,0.32989e-06_rb,0.30551e-06_rb,0.28352e-06_rb /) kbo(:,41,16) = (/ & & 0.31987e-06_rb,0.30430e-06_rb,0.27838e-06_rb,0.25513e-06_rb,0.23647e-06_rb /) kbo(:,42,16) = (/ & & 0.26734e-06_rb,0.24677e-06_rb,0.23264e-06_rb,0.21290e-06_rb,0.19743e-06_rb /) kbo(:,43,16) = (/ & & 0.22458e-06_rb,0.20712e-06_rb,0.19517e-06_rb,0.17853e-06_rb,0.16551e-06_rb /) kbo(:,44,16) = (/ & & 0.18898e-06_rb,0.17429e-06_rb,0.16587e-06_rb,0.15173e-06_rb,0.13895e-06_rb /) kbo(:,45,16) = (/ & & 0.15450e-06_rb,0.14658e-06_rb,0.13533e-06_rb,0.12759e-06_rb,0.11679e-06_rb /) kbo(:,46,16) = (/ & & 0.13028e-06_rb,0.12362e-06_rb,0.11400e-06_rb,0.10744e-06_rb,0.98279e-07_rb /) kbo(:,47,16) = (/ & & 0.11024e-06_rb,0.10159e-06_rb,0.96435e-07_rb,0.91711e-07_rb,0.83972e-07_rb /) kbo(:,48,16) = (/ & & 0.93198e-07_rb,0.85906e-07_rb,0.81590e-07_rb,0.75279e-07_rb,0.70931e-07_rb /) kbo(:,49,16) = (/ & & 0.76236e-07_rb,0.72626e-07_rb,0.68995e-07_rb,0.63641e-07_rb,0.60530e-07_rb /) kbo(:,50,16) = (/ & & 0.64328e-07_rb,0.61369e-07_rb,0.56594e-07_rb,0.53672e-07_rb,0.49555e-07_rb /) kbo(:,51,16) = (/ & & 0.54169e-07_rb,0.51722e-07_rb,0.47685e-07_rb,0.45298e-07_rb,0.41770e-07_rb /) kbo(:,52,16) = (/ & & 0.46180e-07_rb,0.42221e-07_rb,0.40251e-07_rb,0.37120e-07_rb,0.35204e-07_rb /) kbo(:,53,16) = (/ & & 0.33194e-01_rb,0.35538e-07_rb,0.33930e-07_rb,0.31297e-07_rb,0.29712e-07_rb /) kbo(:,54,16) = (/ & & 0.63212e-01_rb,0.54132e-01_rb,0.36437e-01_rb,0.71353e-02_rb,0.24978e-07_rb /) kbo(:,55,16) = (/ & & 0.62321e-01_rb,0.69163e-01_rb,0.76899e-01_rb,0.64692e-01_rb,0.42869e-01_rb /) kbo(:,56,16) = (/ & & 0.73050e-01_rb,0.83118e-01_rb,0.74962e-01_rb,0.82540e-01_rb,0.91058e-01_rb /) kbo(:,57,16) = (/ & & 0.71162e-01_rb,0.79898e-01_rb,0.89953e-01_rb,0.10014e+00_rb,0.10382e+00_rb /) kbo(:,58,16) = (/ & & 0.67770e-01_rb,0.78960e-01_rb,0.86882e-01_rb,0.97002e-01_rb,0.10740e+00_rb /) kbo(:,59,16) = (/ & & 0.66421e-01_rb,0.77608e-01_rb,0.10426e+00_rb,0.10063e+00_rb,0.10735e+00_rb /) ! ----------------------------------------------------------------- forrefo(:, 1) = (/ 0.860560e-06_rb, 0.130439e-05_rb, 0.382378e-05_rb /) forrefo(:, 2) = (/ 0.817926e-06_rb, 0.158599e-05_rb, 0.658771e-04_rb /) forrefo(:, 3) = (/ 0.129369e-05_rb, 0.824406e-05_rb, 0.952778e-04_rb /) forrefo(:, 4) = (/ 0.438918e-05_rb, 0.375356e-04_rb, 0.119111e-03_rb /) forrefo(:, 5) = (/ 0.306057e-04_rb, 0.622798e-04_rb, 0.100740e-03_rb /) forrefo(:, 6) = (/ 0.891934e-04_rb, 0.856393e-04_rb, 0.635583e-04_rb /) forrefo(:, 7) = (/ 0.171959e-03_rb, 0.173431e-03_rb, 0.611721e-04_rb /) forrefo(:, 8) = (/ 0.357795e-03_rb, 0.247261e-03_rb, 0.488864e-04_rb /) forrefo(:, 9) = (/ 0.326623e-03_rb, 0.289471e-03_rb, 0.548834e-04_rb /) forrefo(:,10) = (/ 0.345103e-03_rb, 0.320898e-03_rb, 0.633214e-04_rb /) forrefo(:,11) = (/ 0.392567e-03_rb, 0.325153e-03_rb, 0.744479e-04_rb /) forrefo(:,12) = (/ 0.349277e-03_rb, 0.345610e-03_rb, 0.916479e-04_rb /) forrefo(:,13) = (/ 0.425161e-03_rb, 0.348452e-03_rb, 0.125788e-03_rb /) forrefo(:,14) = (/ 0.407594e-03_rb, 0.435836e-03_rb, 0.287583e-03_rb /) forrefo(:,15) = (/ 0.521605e-03_rb, 0.486596e-03_rb, 0.483511e-03_rb /) forrefo(:,16) = (/ 0.773790e-03_rb, 0.737247e-03_rb, 0.665939e-03_rb /) ! ----------------------------------------------------------------- ! The array SELFREFO contains the coefficient of the water vapor ! self-continuum (including the energy term). The first index ! refers to temperature in 7.2 degree increments. For instance, ! JT = 1 refers to a temperature of 245.6, JT = 2 refers to 252.8, ! etc. The second index runs over the g-channel (1 to 16). selfrefo(:, 1) = (/ & & 0.750370e-03_rb, 0.644938e-03_rb, 0.554321e-03_rb, 0.476436e-03_rb, 0.409494e-03_rb, & & 0.351957e-03_rb, 0.302505e-03_rb, 0.260002e-03_rb, 0.223470e-03_rb, 0.192071e-03_rb /) selfrefo(:, 2) = (/ & & 0.136135e-02_rb, 0.113187e-02_rb, 0.941076e-03_rb, 0.782440e-03_rb, 0.650546e-03_rb, & & 0.540885e-03_rb, 0.449709e-03_rb, 0.373902e-03_rb, 0.310874e-03_rb, 0.258471e-03_rb /) selfrefo(:, 3) = (/ & & 0.333950e-02_rb, 0.256391e-02_rb, 0.196845e-02_rb, 0.151129e-02_rb, 0.116030e-02_rb, & & 0.890824e-03_rb, 0.683934e-03_rb, 0.525093e-03_rb, 0.403143e-03_rb, 0.309515e-03_rb /) selfrefo(:, 4) = (/ & & 0.793392e-02_rb, 0.589865e-02_rb, 0.438548e-02_rb, 0.326048e-02_rb, 0.242408e-02_rb, & & 0.180223e-02_rb, 0.133991e-02_rb, 0.996186e-03_rb, 0.740636e-03_rb, 0.550642e-03_rb /) selfrefo(:, 5) = (/ & & 0.828169e-02_rb, 0.703139e-02_rb, 0.596984e-02_rb, 0.506856e-02_rb, 0.430335e-02_rb, & & 0.365366e-02_rb, 0.310206e-02_rb, 0.263374e-02_rb, 0.223612e-02_rb, 0.189852e-02_rb /) selfrefo(:, 6) = (/ & & 0.834190e-02_rb, 0.780225e-02_rb, 0.729750e-02_rb, 0.682541e-02_rb, 0.638386e-02_rb, & & 0.597087e-02_rb, 0.558460e-02_rb, 0.522332e-02_rb, 0.488541e-02_rb, 0.456936e-02_rb /) selfrefo(:, 7) = (/ & & 0.119082e-01_rb, 0.112566e-01_rb, 0.106406e-01_rb, 0.100583e-01_rb, 0.950785e-02_rb, & & 0.898755e-02_rb, 0.849571e-02_rb, 0.803080e-02_rb, 0.759132e-02_rb, 0.717590e-02_rb /) selfrefo(:, 8) = (/ & & 0.144004e-01_rb, 0.141762e-01_rb, 0.139554e-01_rb, 0.137381e-01_rb, 0.135241e-01_rb, & & 0.133135e-01_rb, 0.131062e-01_rb, 0.129021e-01_rb, 0.127011e-01_rb, 0.125033e-01_rb /) selfrefo(:, 9) = (/ & & 0.186171e-01_rb, 0.175281e-01_rb, 0.165027e-01_rb, 0.155373e-01_rb, 0.146284e-01_rb, & & 0.137726e-01_rb, 0.129670e-01_rb, 0.122084e-01_rb, 0.114942e-01_rb, 0.108218e-01_rb /) selfrefo(:,10) = (/ & & 0.209396e-01_rb, 0.195077e-01_rb, 0.181737e-01_rb, 0.169309e-01_rb, 0.157731e-01_rb, & & 0.146945e-01_rb, 0.136897e-01_rb, 0.127535e-01_rb, 0.118814e-01_rb, 0.110689e-01_rb /) selfrefo(:,11) = (/ & & 0.203661e-01_rb, 0.193311e-01_rb, 0.183487e-01_rb, 0.174163e-01_rb, 0.165312e-01_rb, & & 0.156911e-01_rb, 0.148937e-01_rb, 0.141368e-01_rb, 0.134184e-01_rb, 0.127365e-01_rb /) selfrefo(:,12) = (/ & & 0.226784e-01_rb, 0.210210e-01_rb, 0.194848e-01_rb, 0.180608e-01_rb, 0.167409e-01_rb, & & 0.155174e-01_rb, 0.143834e-01_rb, 0.133322e-01_rb, 0.123579e-01_rb, 0.114547e-01_rb /) selfrefo(:,13) = (/ & & 0.221773e-01_rb, 0.210306e-01_rb, 0.199433e-01_rb, 0.189122e-01_rb, 0.179344e-01_rb, & & 0.170071e-01_rb, 0.161278e-01_rb, 0.152939e-01_rb, 0.145032e-01_rb, 0.137533e-01_rb /) selfrefo(:,14) = (/ & & 0.275920e-01_rb, 0.252595e-01_rb, 0.231241e-01_rb, 0.211693e-01_rb, 0.193797e-01_rb, & & 0.177415e-01_rb, 0.162417e-01_rb, 0.148687e-01_rb, 0.136117e-01_rb, 0.124610e-01_rb /) selfrefo(:,15) = (/ & & 0.288687e-01_rb, 0.269968e-01_rb, 0.252462e-01_rb, 0.236092e-01_rb, 0.220783e-01_rb, & & 0.206466e-01_rb, 0.193078e-01_rb, 0.180559e-01_rb, 0.168851e-01_rb, 0.157902e-01_rb /) selfrefo(:,16) = (/ & & 0.371842e-01_rb, 0.347595e-01_rb, 0.324929e-01_rb, 0.303741e-01_rb, 0.283934e-01_rb, & & 0.265419e-01_rb, 0.248112e-01_rb, 0.231933e-01_rb, 0.216809e-01_rb, 0.202671e-01_rb /) end subroutine sw_kgb18 ! ************************************************************************** subroutine sw_kgb19 ! ************************************************************************** use parkind, only : im => kind_im, rb => kind_rb use rrsw_kg19, only : kao, kbo, selfrefo, forrefo, sfluxrefo, & rayl, strrat, layreffr implicit none save ! Kurucz solar source function sfluxrefo(:,1) = (/ & & 3.25791_rb , 3.29697_rb , 3.16031_rb , 2.96115_rb , & & 2.69238_rb , 2.33819_rb , 1.92760_rb , 1.44918_rb , & & 0.979764_rb , 0.107336_rb , 8.94523e-02_rb, 6.98325e-02_rb, & & 5.12051e-02_rb, 3.23645e-02_rb, 1.23401e-02_rb, 1.71339e-03_rb /) sfluxrefo(:,2) = (/ & & 3.22769_rb , 3.28817_rb , 3.16687_rb , 2.97662_rb , & & 2.69495_rb , 2.34392_rb , 1.92900_rb , 1.45391_rb , & & 0.982522_rb , 0.107638_rb , 8.92458e-02_rb, 6.99885e-02_rb, & & 5.09679e-02_rb, 3.23789e-02_rb, 1.22673e-02_rb, 1.56040e-03_rb /) sfluxrefo(:,3) = (/ & & 3.22294_rb , 3.27780_rb , 3.17424_rb , 2.97143_rb , & & 2.69785_rb , 2.34993_rb , 1.93155_rb , 1.45196_rb , & & 0.985329_rb , 0.108027_rb , 8.93552e-02_rb, 6.99937e-02_rb, & & 5.11678e-02_rb, 3.24846e-02_rb, 1.20636e-02_rb, 1.56040e-03_rb /) sfluxrefo(:,4) = (/ & & 3.22445_rb , 3.26113_rb , 3.18438_rb , 2.96921_rb , & & 2.69579_rb , 2.35586_rb , 1.93454_rb , 1.44949_rb , & & 0.987347_rb , 0.108611_rb , 8.91643e-02_rb, 7.02236e-02_rb, & & 5.12980e-02_rb, 3.25282e-02_rb, 1.21189e-02_rb, 1.56040e-03_rb /) sfluxrefo(:,5) = (/ & & 3.22497_rb , 3.25109_rb , 3.18741_rb , 2.96970_rb , & & 2.69460_rb , 2.36020_rb , 1.93301_rb , 1.45224_rb , & & 0.988564_rb , 0.108255_rb , 8.93830e-02_rb, 7.03655e-02_rb, & & 5.13017e-02_rb, 3.29414e-02_rb, 1.21189e-02_rb, 1.56040e-03_rb /) sfluxrefo(:,6) = (/ & & 3.22632_rb , 3.24174_rb , 3.18524_rb , 2.97402_rb , & & 2.69807_rb , 2.35742_rb , 1.93377_rb , 1.45621_rb , & & 0.988132_rb , 0.108344_rb , 8.93188e-02_rb, 7.04907e-02_rb, & & 5.17938e-02_rb, 3.31465e-02_rb, 1.21155e-02_rb, 1.56040e-03_rb /) sfluxrefo(:,7) = (/ & & 3.22793_rb , 3.23589_rb , 3.17720_rb , 2.97869_rb , & & 2.70293_rb , 2.35436_rb , 1.93557_rb , 1.45868_rb , & & 0.988654_rb , 0.108198_rb , 8.93375e-02_rb, 7.09790e-02_rb, & & 5.24733e-02_rb, 3.31298e-02_rb, 1.21126e-02_rb, 1.56040e-03_rb /) sfluxrefo(:,8) = (/ & & 3.22966_rb , 3.24087_rb , 3.15676_rb , 2.98171_rb , & & 2.70894_rb , 2.34975_rb , 1.93855_rb , 1.46354_rb , & & 0.988544_rb , 0.108574_rb , 9.02522e-02_rb, 7.12908e-02_rb, & & 5.24844e-02_rb, 3.31084e-02_rb, 1.21060e-02_rb, 1.56040e-03_rb /) sfluxrefo(:,9) = (/ & & 3.27240_rb , 3.24666_rb , 3.13886_rb , 2.95238_rb , & & 2.70190_rb , 2.34460_rb , 1.93948_rb , 1.47111_rb , & & 0.990821_rb , 0.108730_rb , 9.01625e-02_rb, 7.13261e-02_rb, & & 5.24813e-02_rb, 3.31083e-02_rb, 1.21126e-02_rb, 1.56040e-03_rb /) ! Rayleigh extinction coefficient at v = 4900 cm-1. rayl = 2.29e-09_rb strrat = 5.49281_rb layreffr = 3 ! ------------------------------------------------------------------ ! The array KAO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels> ~100mb, temperatures, and binary ! species parameters (see taumol.f for definition). The first ! index in the array, JS, runs from 1 to 9, and corresponds to ! different values of the binary species parameter. For instance, ! JS=1 refers to dry air, JS = 2 corresponds to the paramter value 1/8, ! JS = 3 corresponds to the parameter value 2/8, etc. The second index ! in the array, JT, which runs from 1 to 5, corresponds to different ! temperatures. More specifically, JT = 3 means that the data are for ! the reference temperature TREF for this pressure level, JT = 2 refers ! to TREF-15, JT = 1 is for TREF-30, JT = 4 is for TREF+15, and JT = 5 ! is for TREF+30. The third index, JP, runs from 1 to 13 and refers ! to the JPth reference pressure level (see taumol.f for these levels ! in mb). The fourth index, IG, goes from 1 to 16, and indicates ! which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kao(:, 1, 1, 1) = (/ & & 0.14981e-05_rb,0.26659e-05_rb,0.31874e-05_rb,0.35509e-05_rb,0.37593e-05_rb, & & 0.38514e-05_rb,0.37369e-05_rb,0.35011e-05_rb,0.23894e-05_rb /) kao(:, 2, 1, 1) = (/ & & 0.15103e-05_rb,0.27348e-05_rb,0.32692e-05_rb,0.36558e-05_rb,0.38926e-05_rb, & & 0.39737e-05_rb,0.38798e-05_rb,0.36565e-05_rb,0.24072e-05_rb /) kao(:, 3, 1, 1) = (/ & & 0.15233e-05_rb,0.28090e-05_rb,0.33744e-05_rb,0.37729e-05_rb,0.40258e-05_rb, & & 0.41107e-05_rb,0.40389e-05_rb,0.38226e-05_rb,0.24704e-05_rb /) kao(:, 4, 1, 1) = (/ & & 0.15219e-05_rb,0.28978e-05_rb,0.35015e-05_rb,0.38984e-05_rb,0.41569e-05_rb, & & 0.42771e-05_rb,0.42110e-05_rb,0.39963e-05_rb,0.25504e-05_rb /) kao(:, 5, 1, 1) = (/ & & 0.15254e-05_rb,0.29633e-05_rb,0.36224e-05_rb,0.40435e-05_rb,0.42975e-05_rb, & & 0.44410e-05_rb,0.43849e-05_rb,0.41847e-05_rb,0.26420e-05_rb /) kao(:, 1, 2, 1) = (/ & & 0.13024e-05_rb,0.23699e-05_rb,0.28370e-05_rb,0.31443e-05_rb,0.33326e-05_rb, & & 0.33798e-05_rb,0.32797e-05_rb,0.30078e-05_rb,0.18819e-05_rb /) kao(:, 2, 2, 1) = (/ & & 0.13249e-05_rb,0.24299e-05_rb,0.29103e-05_rb,0.32336e-05_rb,0.34308e-05_rb, & & 0.35019e-05_rb,0.34046e-05_rb,0.31323e-05_rb,0.19511e-05_rb /) kao(:, 3, 2, 1) = (/ & & 0.13241e-05_rb,0.25059e-05_rb,0.30019e-05_rb,0.33317e-05_rb,0.35516e-05_rb, & & 0.36333e-05_rb,0.35372e-05_rb,0.32615e-05_rb,0.20254e-05_rb /) kao(:, 4, 2, 1) = (/ & & 0.13325e-05_rb,0.25840e-05_rb,0.31009e-05_rb,0.34399e-05_rb,0.36699e-05_rb, & & 0.37727e-05_rb,0.36811e-05_rb,0.34016e-05_rb,0.20611e-05_rb /) kao(:, 5, 2, 1) = (/ & & 0.13321e-05_rb,0.26601e-05_rb,0.32189e-05_rb,0.35640e-05_rb,0.38012e-05_rb, & & 0.39113e-05_rb,0.38271e-05_rb,0.35499e-05_rb,0.21368e-05_rb /) kao(:, 1, 3, 1) = (/ & & 0.11079e-05_rb,0.20757e-05_rb,0.24846e-05_rb,0.27511e-05_rb,0.28883e-05_rb, & & 0.29142e-05_rb,0.28203e-05_rb,0.25706e-05_rb,0.15124e-05_rb /) kao(:, 2, 3, 1) = (/ & & 0.11298e-05_rb,0.21278e-05_rb,0.25551e-05_rb,0.28306e-05_rb,0.29814e-05_rb, & & 0.30126e-05_rb,0.29328e-05_rb,0.26721e-05_rb,0.15784e-05_rb /) kao(:, 3, 3, 1) = (/ & & 0.11405e-05_rb,0.21812e-05_rb,0.26237e-05_rb,0.29130e-05_rb,0.30816e-05_rb, & & 0.31265e-05_rb,0.30480e-05_rb,0.27784e-05_rb,0.16468e-05_rb /) kao(:, 4, 3, 1) = (/ & & 0.11347e-05_rb,0.22472e-05_rb,0.27094e-05_rb,0.30057e-05_rb,0.31821e-05_rb, & & 0.32536e-05_rb,0.31714e-05_rb,0.28837e-05_rb,0.17189e-05_rb /) kao(:, 5, 3, 1) = (/ & & 0.11383e-05_rb,0.23152e-05_rb,0.28016e-05_rb,0.31126e-05_rb,0.33051e-05_rb, & & 0.33759e-05_rb,0.32961e-05_rb,0.29993e-05_rb,0.17919e-05_rb /) kao(:, 1, 4, 1) = (/ & & 0.93104e-06_rb,0.18005e-05_rb,0.21693e-05_rb,0.23819e-05_rb,0.24829e-05_rb, & & 0.24860e-05_rb,0.23860e-05_rb,0.21586e-05_rb,0.12198e-05_rb /) kao(:, 2, 4, 1) = (/ & & 0.94591e-06_rb,0.18309e-05_rb,0.22153e-05_rb,0.24487e-05_rb,0.25574e-05_rb, & & 0.25721e-05_rb,0.24802e-05_rb,0.22458e-05_rb,0.13105e-05_rb /) kao(:, 3, 4, 1) = (/ & & 0.95638e-06_rb,0.18753e-05_rb,0.22788e-05_rb,0.25149e-05_rb,0.26499e-05_rb, & & 0.26671e-05_rb,0.25797e-05_rb,0.23335e-05_rb,0.14017e-05_rb /) kao(:, 4, 4, 1) = (/ & & 0.95763e-06_rb,0.19379e-05_rb,0.23271e-05_rb,0.25858e-05_rb,0.27437e-05_rb, & & 0.27792e-05_rb,0.26790e-05_rb,0.24268e-05_rb,0.14872e-05_rb /) kao(:, 5, 4, 1) = (/ & & 0.95668e-06_rb,0.19877e-05_rb,0.23997e-05_rb,0.26721e-05_rb,0.28382e-05_rb, & & 0.28806e-05_rb,0.27857e-05_rb,0.25225e-05_rb,0.15698e-05_rb /) kao(:, 1, 5, 1) = (/ & & 0.77329e-06_rb,0.15354e-05_rb,0.18723e-05_rb,0.20411e-05_rb,0.21095e-05_rb, & & 0.21017e-05_rb,0.19998e-05_rb,0.18017e-05_rb,0.97629e-06_rb /) kao(:, 2, 5, 1) = (/ & & 0.78241e-06_rb,0.15660e-05_rb,0.19091e-05_rb,0.20970e-05_rb,0.21786e-05_rb, & & 0.21730e-05_rb,0.20794e-05_rb,0.18731e-05_rb,0.10645e-05_rb /) kao(:, 3, 5, 1) = (/ & & 0.79463e-06_rb,0.15948e-05_rb,0.19458e-05_rb,0.21529e-05_rb,0.22557e-05_rb, & & 0.22576e-05_rb,0.21631e-05_rb,0.19462e-05_rb,0.11507e-05_rb /) kao(:, 4, 5, 1) = (/ & & 0.79779e-06_rb,0.16389e-05_rb,0.19877e-05_rb,0.22087e-05_rb,0.23274e-05_rb, & & 0.23462e-05_rb,0.22501e-05_rb,0.20204e-05_rb,0.12366e-05_rb /) kao(:, 5, 5, 1) = (/ & & 0.79875e-06_rb,0.16865e-05_rb,0.20410e-05_rb,0.22789e-05_rb,0.24049e-05_rb, & & 0.24283e-05_rb,0.23388e-05_rb,0.21006e-05_rb,0.13155e-05_rb /) kao(:, 1, 6, 1) = (/ & & 0.63799e-06_rb,0.13079e-05_rb,0.15873e-05_rb,0.17187e-05_rb,0.17689e-05_rb, & & 0.17509e-05_rb,0.16625e-05_rb,0.14950e-05_rb,0.77624e-06_rb /) kao(:, 2, 6, 1) = (/ & & 0.64423e-06_rb,0.13180e-05_rb,0.16173e-05_rb,0.17648e-05_rb,0.18253e-05_rb, & & 0.18152e-05_rb,0.17299e-05_rb,0.15482e-05_rb,0.85457e-06_rb /) kao(:, 3, 6, 1) = (/ & & 0.65214e-06_rb,0.13481e-05_rb,0.16476e-05_rb,0.18158e-05_rb,0.18867e-05_rb, & & 0.18859e-05_rb,0.17999e-05_rb,0.16080e-05_rb,0.93968e-06_rb /) kao(:, 4, 6, 1) = (/ & & 0.65949e-06_rb,0.13728e-05_rb,0.16795e-05_rb,0.18618e-05_rb,0.19507e-05_rb, & & 0.19568e-05_rb,0.18693e-05_rb,0.16710e-05_rb,0.10256e-05_rb /) kao(:, 5, 6, 1) = (/ & & 0.66012e-06_rb,0.14051e-05_rb,0.17174e-05_rb,0.19154e-05_rb,0.20111e-05_rb, & & 0.20230e-05_rb,0.19421e-05_rb,0.17361e-05_rb,0.11072e-05_rb /) kao(:, 1, 7, 1) = (/ & & 0.52652e-06_rb,0.10995e-05_rb,0.13221e-05_rb,0.14282e-05_rb,0.14627e-05_rb, & & 0.14494e-05_rb,0.13754e-05_rb,0.12359e-05_rb,0.62399e-06_rb /) kao(:, 2, 7, 1) = (/ & & 0.52631e-06_rb,0.11047e-05_rb,0.13498e-05_rb,0.14646e-05_rb,0.15094e-05_rb, & & 0.14961e-05_rb,0.14272e-05_rb,0.12791e-05_rb,0.69692e-06_rb /) kao(:, 3, 7, 1) = (/ & & 0.53263e-06_rb,0.11231e-05_rb,0.13763e-05_rb,0.15059e-05_rb,0.15602e-05_rb, & & 0.15533e-05_rb,0.14827e-05_rb,0.13257e-05_rb,0.76959e-06_rb /) kao(:, 4, 7, 1) = (/ & & 0.53788e-06_rb,0.11448e-05_rb,0.14026e-05_rb,0.15478e-05_rb,0.16122e-05_rb, & & 0.16137e-05_rb,0.15398e-05_rb,0.13748e-05_rb,0.84488e-06_rb /) kao(:, 5, 7, 1) = (/ & & 0.54243e-06_rb,0.11660e-05_rb,0.14288e-05_rb,0.15891e-05_rb,0.16619e-05_rb, & & 0.16672e-05_rb,0.15978e-05_rb,0.14265e-05_rb,0.92439e-06_rb /) kao(:, 1, 8, 1) = (/ & & 0.42860e-06_rb,0.91208e-06_rb,0.10887e-05_rb,0.11732e-05_rb,0.12000e-05_rb, & & 0.11901e-05_rb,0.11300e-05_rb,0.10181e-05_rb,0.51360e-06_rb /) kao(:, 2, 8, 1) = (/ & & 0.42605e-06_rb,0.91355e-06_rb,0.11105e-05_rb,0.12004e-05_rb,0.12359e-05_rb, & & 0.12238e-05_rb,0.11674e-05_rb,0.10496e-05_rb,0.58593e-06_rb /) kao(:, 3, 8, 1) = (/ & & 0.42910e-06_rb,0.92458e-06_rb,0.11341e-05_rb,0.12355e-05_rb,0.12754e-05_rb, & & 0.12667e-05_rb,0.12100e-05_rb,0.10877e-05_rb,0.65209e-06_rb /) kao(:, 4, 8, 1) = (/ & & 0.43345e-06_rb,0.94024e-06_rb,0.11540e-05_rb,0.12669e-05_rb,0.13186e-05_rb, & & 0.13163e-05_rb,0.12567e-05_rb,0.11280e-05_rb,0.72051e-06_rb /) kao(:, 5, 8, 1) = (/ & & 0.43744e-06_rb,0.95845e-06_rb,0.11764e-05_rb,0.13022e-05_rb,0.13595e-05_rb, & & 0.13618e-05_rb,0.13034e-05_rb,0.11671e-05_rb,0.79373e-06_rb /) kao(:, 1, 9, 1) = (/ & & 0.34458e-06_rb,0.74844e-06_rb,0.89217e-06_rb,0.95875e-06_rb,0.98243e-06_rb, & & 0.97566e-06_rb,0.92936e-06_rb,0.83611e-06_rb,0.44181e-06_rb /) kao(:, 2, 9, 1) = (/ & & 0.34797e-06_rb,0.75304e-06_rb,0.90816e-06_rb,0.98264e-06_rb,0.10080e-05_rb, & & 0.99889e-06_rb,0.95318e-06_rb,0.86041e-06_rb,0.51013e-06_rb /) kao(:, 3, 9, 1) = (/ & & 0.34593e-06_rb,0.76020e-06_rb,0.92707e-06_rb,0.10062e-05_rb,0.10391e-05_rb, & & 0.10296e-05_rb,0.98530e-06_rb,0.89011e-06_rb,0.58070e-06_rb /) kao(:, 4, 9, 1) = (/ & & 0.34971e-06_rb,0.77088e-06_rb,0.94623e-06_rb,0.10342e-05_rb,0.10726e-05_rb, & & 0.10689e-05_rb,0.10210e-05_rb,0.92020e-06_rb,0.65697e-06_rb /) kao(:, 5, 9, 1) = (/ & & 0.35282e-06_rb,0.78517e-06_rb,0.96245e-06_rb,0.10609e-05_rb,0.11071e-05_rb, & & 0.11073e-05_rb,0.10583e-05_rb,0.95054e-06_rb,0.72956e-06_rb /) kao(:, 1,10, 1) = (/ & & 0.27840e-06_rb,0.61035e-06_rb,0.72930e-06_rb,0.78415e-06_rb,0.80451e-06_rb, & & 0.79924e-06_rb,0.76231e-06_rb,0.68727e-06_rb,0.40208e-06_rb /) kao(:, 2,10, 1) = (/ & & 0.28171e-06_rb,0.61798e-06_rb,0.74197e-06_rb,0.80115e-06_rb,0.82183e-06_rb, & & 0.81621e-06_rb,0.78030e-06_rb,0.70425e-06_rb,0.46700e-06_rb /) kao(:, 3,10, 1) = (/ & & 0.28023e-06_rb,0.62269e-06_rb,0.75685e-06_rb,0.82101e-06_rb,0.84538e-06_rb, & & 0.83821e-06_rb,0.80301e-06_rb,0.72663e-06_rb,0.53781e-06_rb /) kao(:, 4,10, 1) = (/ & & 0.28163e-06_rb,0.63156e-06_rb,0.77214e-06_rb,0.84244e-06_rb,0.87184e-06_rb, & & 0.86752e-06_rb,0.83024e-06_rb,0.75000e-06_rb,0.60478e-06_rb /) kao(:, 5,10, 1) = (/ & & 0.28518e-06_rb,0.64070e-06_rb,0.78628e-06_rb,0.86439e-06_rb,0.89969e-06_rb, & & 0.89910e-06_rb,0.85933e-06_rb,0.77376e-06_rb,0.67016e-06_rb /) kao(:, 1,11, 1) = (/ & & 0.22555e-06_rb,0.50042e-06_rb,0.59960e-06_rb,0.64537e-06_rb,0.66324e-06_rb, & & 0.65924e-06_rb,0.63003e-06_rb,0.56890e-06_rb,0.34466e-06_rb /) kao(:, 2,11, 1) = (/ & & 0.22858e-06_rb,0.50705e-06_rb,0.60997e-06_rb,0.65948e-06_rb,0.67688e-06_rb, & & 0.67311e-06_rb,0.64462e-06_rb,0.58333e-06_rb,0.40300e-06_rb /) kao(:, 3,11, 1) = (/ & & 0.22677e-06_rb,0.51178e-06_rb,0.62299e-06_rb,0.67572e-06_rb,0.69624e-06_rb, & & 0.69126e-06_rb,0.66285e-06_rb,0.60090e-06_rb,0.46066e-06_rb /) kao(:, 4,11, 1) = (/ & & 0.22825e-06_rb,0.51907e-06_rb,0.63500e-06_rb,0.69311e-06_rb,0.71796e-06_rb, & & 0.71484e-06_rb,0.68416e-06_rb,0.61859e-06_rb,0.51966e-06_rb /) kao(:, 5,11, 1) = (/ & & 0.23122e-06_rb,0.52598e-06_rb,0.64574e-06_rb,0.71116e-06_rb,0.74046e-06_rb, & & 0.73979e-06_rb,0.70672e-06_rb,0.63708e-06_rb,0.58196e-06_rb /) kao(:, 1,12, 1) = (/ & & 0.18149e-06_rb,0.40829e-06_rb,0.49022e-06_rb,0.52910e-06_rb,0.54408e-06_rb, & & 0.54163e-06_rb,0.51867e-06_rb,0.46933e-06_rb,0.28496e-06_rb /) kao(:, 2,12, 1) = (/ & & 0.18433e-06_rb,0.41378e-06_rb,0.49908e-06_rb,0.54027e-06_rb,0.55522e-06_rb, & & 0.55286e-06_rb,0.53038e-06_rb,0.48103e-06_rb,0.33336e-06_rb /) kao(:, 3,12, 1) = (/ & & 0.18246e-06_rb,0.41799e-06_rb,0.50965e-06_rb,0.55347e-06_rb,0.57134e-06_rb, & & 0.56787e-06_rb,0.54477e-06_rb,0.49462e-06_rb,0.38023e-06_rb /) kao(:, 4,12, 1) = (/ & & 0.18409e-06_rb,0.42347e-06_rb,0.51936e-06_rb,0.56749e-06_rb,0.58877e-06_rb, & & 0.58648e-06_rb,0.56149e-06_rb,0.50825e-06_rb,0.43081e-06_rb /) kao(:, 5,12, 1) = (/ & & 0.18582e-06_rb,0.42888e-06_rb,0.52830e-06_rb,0.58240e-06_rb,0.60647e-06_rb, & & 0.60598e-06_rb,0.57933e-06_rb,0.52277e-06_rb,0.48565e-06_rb /) kao(:, 1,13, 1) = (/ & & 0.14345e-06_rb,0.32927e-06_rb,0.39750e-06_rb,0.43000e-06_rb,0.44318e-06_rb, & & 0.44201e-06_rb,0.42469e-06_rb,0.38538e-06_rb,0.23377e-06_rb /) kao(:, 2,13, 1) = (/ & & 0.14571e-06_rb,0.33355e-06_rb,0.40430e-06_rb,0.43954e-06_rb,0.45256e-06_rb, & & 0.45159e-06_rb,0.43399e-06_rb,0.39467e-06_rb,0.27338e-06_rb /) kao(:, 3,13, 1) = (/ & & 0.14442e-06_rb,0.33719e-06_rb,0.41316e-06_rb,0.44996e-06_rb,0.46575e-06_rb, & & 0.46364e-06_rb,0.44528e-06_rb,0.40510e-06_rb,0.31154e-06_rb /) kao(:, 4,13, 1) = (/ & & 0.14600e-06_rb,0.34141e-06_rb,0.42136e-06_rb,0.46096e-06_rb,0.47937e-06_rb, & & 0.47817e-06_rb,0.45850e-06_rb,0.41598e-06_rb,0.35289e-06_rb /) kao(:, 5,13, 1) = (/ & & 0.14667e-06_rb,0.34608e-06_rb,0.42853e-06_rb,0.47296e-06_rb,0.49300e-06_rb, & & 0.49352e-06_rb,0.47280e-06_rb,0.42757e-06_rb,0.39752e-06_rb /) kao(:, 1, 1, 2) = (/ & & 0.16288e-04_rb,0.25817e-04_rb,0.29597e-04_rb,0.31319e-04_rb,0.31220e-04_rb, & & 0.29539e-04_rb,0.25627e-04_rb,0.19758e-04_rb,0.72944e-05_rb /) kao(:, 2, 1, 2) = (/ & & 0.18123e-04_rb,0.28565e-04_rb,0.32633e-04_rb,0.34427e-04_rb,0.34219e-04_rb, & & 0.32223e-04_rb,0.27987e-04_rb,0.21485e-04_rb,0.79554e-05_rb /) kao(:, 3, 1, 2) = (/ & & 0.19957e-04_rb,0.31607e-04_rb,0.36033e-04_rb,0.37887e-04_rb,0.37694e-04_rb, & & 0.35399e-04_rb,0.30718e-04_rb,0.23412e-04_rb,0.85293e-05_rb /) kao(:, 4, 1, 2) = (/ & & 0.22005e-04_rb,0.35064e-04_rb,0.39763e-04_rb,0.41694e-04_rb,0.41490e-04_rb, & & 0.38891e-04_rb,0.33715e-04_rb,0.25512e-04_rb,0.91232e-05_rb /) kao(:, 5, 1, 2) = (/ & & 0.24240e-04_rb,0.38906e-04_rb,0.43899e-04_rb,0.45870e-04_rb,0.45580e-04_rb, & & 0.42616e-04_rb,0.36912e-04_rb,0.27728e-04_rb,0.97792e-05_rb /) kao(:, 1, 2, 2) = (/ & & 0.14944e-04_rb,0.23223e-04_rb,0.25792e-04_rb,0.27019e-04_rb,0.26963e-04_rb, & & 0.25431e-04_rb,0.22069e-04_rb,0.16933e-04_rb,0.59071e-05_rb /) kao(:, 2, 2, 2) = (/ & & 0.16615e-04_rb,0.25452e-04_rb,0.28322e-04_rb,0.29800e-04_rb,0.29593e-04_rb, & & 0.27776e-04_rb,0.24123e-04_rb,0.18444e-04_rb,0.63142e-05_rb /) kao(:, 3, 2, 2) = (/ & & 0.18355e-04_rb,0.27996e-04_rb,0.31338e-04_rb,0.32892e-04_rb,0.32575e-04_rb, & & 0.30478e-04_rb,0.26504e-04_rb,0.20132e-04_rb,0.67898e-05_rb /) kao(:, 4, 2, 2) = (/ & & 0.20092e-04_rb,0.30938e-04_rb,0.34680e-04_rb,0.36255e-04_rb,0.35836e-04_rb, & & 0.33500e-04_rb,0.29106e-04_rb,0.21950e-04_rb,0.73343e-05_rb /) kao(:, 5, 2, 2) = (/ & & 0.21897e-04_rb,0.34150e-04_rb,0.38274e-04_rb,0.39931e-04_rb,0.39337e-04_rb, & & 0.36752e-04_rb,0.31831e-04_rb,0.23882e-04_rb,0.78705e-05_rb /) kao(:, 1, 3, 2) = (/ & & 0.13130e-04_rb,0.20363e-04_rb,0.22377e-04_rb,0.23003e-04_rb,0.22683e-04_rb, & & 0.21429e-04_rb,0.18621e-04_rb,0.14177e-04_rb,0.47892e-05_rb /) kao(:, 2, 3, 2) = (/ & & 0.14610e-04_rb,0.22299e-04_rb,0.24486e-04_rb,0.25140e-04_rb,0.24842e-04_rb, & & 0.23413e-04_rb,0.20361e-04_rb,0.15469e-04_rb,0.52250e-05_rb /) kao(:, 3, 3, 2) = (/ & & 0.16133e-04_rb,0.24482e-04_rb,0.26876e-04_rb,0.27653e-04_rb,0.27357e-04_rb, & & 0.25669e-04_rb,0.22341e-04_rb,0.16897e-04_rb,0.56647e-05_rb /) kao(:, 4, 3, 2) = (/ & & 0.17708e-04_rb,0.26887e-04_rb,0.29522e-04_rb,0.30577e-04_rb,0.30151e-04_rb, & & 0.28221e-04_rb,0.24545e-04_rb,0.18455e-04_rb,0.60735e-05_rb /) kao(:, 5, 3, 2) = (/ & & 0.19305e-04_rb,0.29364e-04_rb,0.32520e-04_rb,0.33741e-04_rb,0.33162e-04_rb, & & 0.30976e-04_rb,0.26800e-04_rb,0.20103e-04_rb,0.64864e-05_rb /) kao(:, 1, 4, 2) = (/ & & 0.11163e-04_rb,0.17498e-04_rb,0.19069e-04_rb,0.19561e-04_rb,0.19154e-04_rb, & & 0.17906e-04_rb,0.15522e-04_rb,0.11778e-04_rb,0.40461e-05_rb /) kao(:, 2, 4, 2) = (/ & & 0.12505e-04_rb,0.19238e-04_rb,0.20917e-04_rb,0.21365e-04_rb,0.20913e-04_rb, & & 0.19471e-04_rb,0.16986e-04_rb,0.12856e-04_rb,0.43935e-05_rb /) kao(:, 3, 4, 2) = (/ & & 0.13848e-04_rb,0.21132e-04_rb,0.22975e-04_rb,0.23433e-04_rb,0.22893e-04_rb, & & 0.21327e-04_rb,0.18662e-04_rb,0.14056e-04_rb,0.47015e-05_rb /) kao(:, 4, 4, 2) = (/ & & 0.15219e-04_rb,0.23159e-04_rb,0.25250e-04_rb,0.25753e-04_rb,0.25088e-04_rb, & & 0.23437e-04_rb,0.20455e-04_rb,0.15366e-04_rb,0.50239e-05_rb /) kao(:, 5, 4, 2) = (/ & & 0.16631e-04_rb,0.25311e-04_rb,0.27651e-04_rb,0.28243e-04_rb,0.27566e-04_rb, & & 0.25775e-04_rb,0.22344e-04_rb,0.16758e-04_rb,0.53594e-05_rb /) kao(:, 1, 5, 2) = (/ & & 0.92688e-05_rb,0.14829e-04_rb,0.16036e-04_rb,0.16388e-04_rb,0.16087e-04_rb, & & 0.15049e-04_rb,0.12939e-04_rb,0.97243e-05_rb,0.35064e-05_rb /) kao(:, 2, 5, 2) = (/ & & 0.10428e-04_rb,0.16289e-04_rb,0.17596e-04_rb,0.17928e-04_rb,0.17547e-04_rb, & & 0.16347e-04_rb,0.14108e-04_rb,0.10621e-04_rb,0.37893e-05_rb /) kao(:, 3, 5, 2) = (/ & & 0.11600e-04_rb,0.17922e-04_rb,0.19403e-04_rb,0.19701e-04_rb,0.19227e-04_rb, & & 0.17835e-04_rb,0.15439e-04_rb,0.11627e-04_rb,0.40426e-05_rb /) kao(:, 4, 5, 2) = (/ & & 0.12795e-04_rb,0.19672e-04_rb,0.21360e-04_rb,0.21677e-04_rb,0.21078e-04_rb, & & 0.19535e-04_rb,0.16919e-04_rb,0.12746e-04_rb,0.43015e-05_rb /) kao(:, 5, 5, 2) = (/ & & 0.14029e-04_rb,0.21551e-04_rb,0.23410e-04_rb,0.23746e-04_rb,0.23106e-04_rb, & & 0.21397e-04_rb,0.18500e-04_rb,0.13918e-04_rb,0.45663e-05_rb /) kao(:, 1, 6, 2) = (/ & & 0.75358e-05_rb,0.12284e-04_rb,0.13321e-04_rb,0.13580e-04_rb,0.13322e-04_rb, & & 0.12459e-04_rb,0.10757e-04_rb,0.80012e-05_rb,0.28595e-05_rb /) kao(:, 2, 6, 2) = (/ & & 0.84801e-05_rb,0.13541e-04_rb,0.14600e-04_rb,0.14857e-04_rb,0.14519e-04_rb, & & 0.13528e-04_rb,0.11747e-04_rb,0.87199e-05_rb,0.31250e-05_rb /) kao(:, 3, 6, 2) = (/ & & 0.94797e-05_rb,0.14898e-04_rb,0.16088e-04_rb,0.16329e-04_rb,0.15922e-04_rb, & & 0.14786e-04_rb,0.12839e-04_rb,0.95406e-05_rb,0.33925e-05_rb /) kao(:, 4, 6, 2) = (/ & & 0.10510e-04_rb,0.16387e-04_rb,0.17709e-04_rb,0.17968e-04_rb,0.17465e-04_rb, & & 0.16205e-04_rb,0.13999e-04_rb,0.10465e-04_rb,0.36786e-05_rb /) kao(:, 5, 6, 2) = (/ & & 0.11554e-04_rb,0.17973e-04_rb,0.19442e-04_rb,0.19736e-04_rb,0.19170e-04_rb, & & 0.17751e-04_rb,0.15288e-04_rb,0.11441e-04_rb,0.39618e-05_rb /) kao(:, 1, 7, 2) = (/ & & 0.59994e-05_rb,0.10068e-04_rb,0.10903e-04_rb,0.11100e-04_rb,0.10910e-04_rb, & & 0.10207e-04_rb,0.88301e-05_rb,0.65755e-05_rb,0.23537e-05_rb /) kao(:, 2, 7, 2) = (/ & & 0.67911e-05_rb,0.11098e-04_rb,0.11964e-04_rb,0.12161e-04_rb,0.11910e-04_rb, & & 0.11113e-04_rb,0.96475e-05_rb,0.71733e-05_rb,0.26021e-05_rb /) kao(:, 3, 7, 2) = (/ & & 0.76012e-05_rb,0.12205e-04_rb,0.13167e-04_rb,0.13368e-04_rb,0.13058e-04_rb, & & 0.12136e-04_rb,0.10571e-04_rb,0.78452e-05_rb,0.28416e-05_rb /) kao(:, 4, 7, 2) = (/ & & 0.84582e-05_rb,0.13412e-04_rb,0.14518e-04_rb,0.14721e-04_rb,0.14328e-04_rb, & & 0.13323e-04_rb,0.11527e-04_rb,0.85995e-05_rb,0.30925e-05_rb /) kao(:, 5, 7, 2) = (/ & & 0.93346e-05_rb,0.14749e-04_rb,0.15973e-04_rb,0.16180e-04_rb,0.15730e-04_rb, & & 0.14597e-04_rb,0.12601e-04_rb,0.93973e-05_rb,0.33285e-05_rb /) kao(:, 1, 8, 2) = (/ & & 0.47174e-05_rb,0.81367e-05_rb,0.88184e-05_rb,0.90007e-05_rb,0.88363e-05_rb, & & 0.83059e-05_rb,0.72101e-05_rb,0.53496e-05_rb,0.18862e-05_rb /) kao(:, 2, 8, 2) = (/ & & 0.53543e-05_rb,0.89852e-05_rb,0.96904e-05_rb,0.98666e-05_rb,0.96509e-05_rb, & & 0.90368e-05_rb,0.78700e-05_rb,0.58341e-05_rb,0.21147e-05_rb /) kao(:, 3, 8, 2) = (/ & & 0.60088e-05_rb,0.98855e-05_rb,0.10666e-04_rb,0.10849e-04_rb,0.10597e-04_rb, & & 0.98826e-05_rb,0.86243e-05_rb,0.63949e-05_rb,0.23672e-05_rb /) kao(:, 4, 8, 2) = (/ & & 0.66958e-05_rb,0.10873e-04_rb,0.11751e-04_rb,0.11945e-04_rb,0.11636e-04_rb, & & 0.10852e-04_rb,0.94101e-05_rb,0.70262e-05_rb,0.26329e-05_rb /) kao(:, 5, 8, 2) = (/ & & 0.74191e-05_rb,0.11960e-04_rb,0.12943e-04_rb,0.13152e-04_rb,0.12788e-04_rb, & & 0.11889e-04_rb,0.10297e-04_rb,0.76977e-05_rb,0.29019e-05_rb /) kao(:, 1, 9, 2) = (/ & & 0.36886e-05_rb,0.65140e-05_rb,0.70684e-05_rb,0.72377e-05_rb,0.71080e-05_rb, & & 0.67076e-05_rb,0.58353e-05_rb,0.43297e-05_rb,0.16419e-05_rb /) kao(:, 2, 9, 2) = (/ & & 0.41772e-05_rb,0.72104e-05_rb,0.77793e-05_rb,0.79335e-05_rb,0.77682e-05_rb, & & 0.72903e-05_rb,0.63640e-05_rb,0.47210e-05_rb,0.18721e-05_rb /) kao(:, 3, 9, 2) = (/ & & 0.47123e-05_rb,0.79471e-05_rb,0.85662e-05_rb,0.87396e-05_rb,0.85319e-05_rb, & & 0.79769e-05_rb,0.69694e-05_rb,0.51793e-05_rb,0.21015e-05_rb /) kao(:, 4, 9, 2) = (/ & & 0.52612e-05_rb,0.87319e-05_rb,0.94365e-05_rb,0.96191e-05_rb,0.93783e-05_rb, & & 0.87581e-05_rb,0.76277e-05_rb,0.56974e-05_rb,0.23505e-05_rb /) kao(:, 5, 9, 2) = (/ & & 0.58401e-05_rb,0.96106e-05_rb,0.10404e-04_rb,0.10594e-04_rb,0.10308e-04_rb, & & 0.96030e-05_rb,0.83402e-05_rb,0.62627e-05_rb,0.26170e-05_rb /) kao(:, 1,10, 2) = (/ & & 0.29023e-05_rb,0.52230e-05_rb,0.56669e-05_rb,0.58158e-05_rb,0.57137e-05_rb, & & 0.54241e-05_rb,0.47416e-05_rb,0.35098e-05_rb,0.14223e-05_rb /) kao(:, 2,10, 2) = (/ & & 0.32752e-05_rb,0.57903e-05_rb,0.62548e-05_rb,0.63859e-05_rb,0.62528e-05_rb, & & 0.58881e-05_rb,0.51542e-05_rb,0.38257e-05_rb,0.16559e-05_rb /) kao(:, 3,10, 2) = (/ & & 0.37047e-05_rb,0.63892e-05_rb,0.68928e-05_rb,0.70312e-05_rb,0.68734e-05_rb, & & 0.64357e-05_rb,0.56361e-05_rb,0.42003e-05_rb,0.19248e-05_rb /) kao(:, 4,10, 2) = (/ & & 0.41471e-05_rb,0.70179e-05_rb,0.75920e-05_rb,0.77496e-05_rb,0.75508e-05_rb, & & 0.70624e-05_rb,0.61778e-05_rb,0.46271e-05_rb,0.22074e-05_rb /) kao(:, 5,10, 2) = (/ & & 0.46061e-05_rb,0.77215e-05_rb,0.83699e-05_rb,0.85300e-05_rb,0.83121e-05_rb, & & 0.77493e-05_rb,0.67551e-05_rb,0.50931e-05_rb,0.25043e-05_rb /) kao(:, 1,11, 2) = (/ & & 0.24060e-05_rb,0.43752e-05_rb,0.47372e-05_rb,0.48598e-05_rb,0.47689e-05_rb, & & 0.45290e-05_rb,0.39653e-05_rb,0.29444e-05_rb,0.12255e-05_rb /) kao(:, 2,11, 2) = (/ & & 0.27123e-05_rb,0.48479e-05_rb,0.52339e-05_rb,0.53482e-05_rb,0.52342e-05_rb, & & 0.49275e-05_rb,0.43239e-05_rb,0.32196e-05_rb,0.14282e-05_rb /) kao(:, 3,11, 2) = (/ & & 0.30632e-05_rb,0.53402e-05_rb,0.57660e-05_rb,0.58936e-05_rb,0.57515e-05_rb, & & 0.53873e-05_rb,0.47344e-05_rb,0.35410e-05_rb,0.16636e-05_rb /) kao(:, 4,11, 2) = (/ & & 0.34245e-05_rb,0.58653e-05_rb,0.63554e-05_rb,0.64878e-05_rb,0.63244e-05_rb, & & 0.59147e-05_rb,0.51855e-05_rb,0.39068e-05_rb,0.18858e-05_rb /) kao(:, 5,11, 2) = (/ & & 0.37984e-05_rb,0.64557e-05_rb,0.70032e-05_rb,0.71432e-05_rb,0.69591e-05_rb, & & 0.64936e-05_rb,0.56748e-05_rb,0.42889e-05_rb,0.21529e-05_rb /) kao(:, 1,12, 2) = (/ & & 0.19822e-05_rb,0.36438e-05_rb,0.39439e-05_rb,0.40428e-05_rb,0.39656e-05_rb, & & 0.37627e-05_rb,0.33048e-05_rb,0.24620e-05_rb,0.10349e-05_rb /) kao(:, 2,12, 2) = (/ & & 0.22347e-05_rb,0.40329e-05_rb,0.43559e-05_rb,0.44535e-05_rb,0.43556e-05_rb, & & 0.41018e-05_rb,0.36156e-05_rb,0.26976e-05_rb,0.12078e-05_rb /) kao(:, 3,12, 2) = (/ & & 0.25196e-05_rb,0.44405e-05_rb,0.47965e-05_rb,0.49025e-05_rb,0.47850e-05_rb, & & 0.44854e-05_rb,0.39542e-05_rb,0.29734e-05_rb,0.13908e-05_rb /) kao(:, 4,12, 2) = (/ & & 0.28142e-05_rb,0.48792e-05_rb,0.52882e-05_rb,0.53962e-05_rb,0.52646e-05_rb, & & 0.49202e-05_rb,0.43229e-05_rb,0.32817e-05_rb,0.15895e-05_rb /) kao(:, 5,12, 2) = (/ & & 0.31182e-05_rb,0.53684e-05_rb,0.58256e-05_rb,0.59413e-05_rb,0.57855e-05_rb, & & 0.54043e-05_rb,0.47298e-05_rb,0.35925e-05_rb,0.18050e-05_rb /) kao(:, 1,13, 2) = (/ & & 0.16206e-05_rb,0.30122e-05_rb,0.32612e-05_rb,0.33451e-05_rb,0.32794e-05_rb, & & 0.31144e-05_rb,0.27430e-05_rb,0.20488e-05_rb,0.85267e-06_rb /) kao(:, 2,13, 2) = (/ & & 0.18267e-05_rb,0.33331e-05_rb,0.36002e-05_rb,0.36816e-05_rb,0.36054e-05_rb, & & 0.33950e-05_rb,0.30021e-05_rb,0.22487e-05_rb,0.99490e-06_rb /) kao(:, 3,13, 2) = (/ & & 0.20587e-05_rb,0.36681e-05_rb,0.39651e-05_rb,0.40531e-05_rb,0.39564e-05_rb, & & 0.37127e-05_rb,0.32815e-05_rb,0.24795e-05_rb,0.11422e-05_rb /) kao(:, 4,13, 2) = (/ & & 0.22973e-05_rb,0.40325e-05_rb,0.43728e-05_rb,0.44600e-05_rb,0.43540e-05_rb, & & 0.40718e-05_rb,0.35848e-05_rb,0.27366e-05_rb,0.13051e-05_rb /) kao(:, 5,13, 2) = (/ & & 0.25452e-05_rb,0.44379e-05_rb,0.48164e-05_rb,0.49100e-05_rb,0.47833e-05_rb, & & 0.44674e-05_rb,0.39194e-05_rb,0.29904e-05_rb,0.14817e-05_rb /) kao(:, 1, 1, 3) = (/ & & 0.66641e-04_rb,0.92990e-04_rb,0.96277e-04_rb,0.95182e-04_rb,0.91424e-04_rb, & & 0.85445e-04_rb,0.77014e-04_rb,0.62091e-04_rb,0.18284e-04_rb /) kao(:, 2, 1, 3) = (/ & & 0.75350e-04_rb,0.10391e-03_rb,0.10751e-03_rb,0.10606e-03_rb,0.10174e-03_rb, & & 0.94756e-04_rb,0.84487e-04_rb,0.67267e-04_rb,0.20037e-04_rb /) kao(:, 3, 1, 3) = (/ & & 0.85286e-04_rb,0.11563e-03_rb,0.11966e-03_rb,0.11777e-03_rb,0.11259e-03_rb, & & 0.10435e-03_rb,0.92076e-04_rb,0.72492e-04_rb,0.22229e-04_rb /) kao(:, 4, 1, 3) = (/ & & 0.96137e-04_rb,0.12836e-03_rb,0.13265e-03_rb,0.13031e-03_rb,0.12404e-03_rb, & & 0.11409e-03_rb,0.99756e-04_rb,0.77897e-04_rb,0.24656e-04_rb /) kao(:, 5, 1, 3) = (/ & & 0.10739e-03_rb,0.14209e-03_rb,0.14652e-03_rb,0.14363e-03_rb,0.13579e-03_rb, & & 0.12408e-03_rb,0.10749e-03_rb,0.83273e-04_rb,0.26998e-04_rb /) kao(:, 1, 2, 3) = (/ & & 0.57005e-04_rb,0.80688e-04_rb,0.84199e-04_rb,0.83067e-04_rb,0.79480e-04_rb, & & 0.74096e-04_rb,0.66328e-04_rb,0.53532e-04_rb,0.14534e-04_rb /) kao(:, 2, 2, 3) = (/ & & 0.64518e-04_rb,0.90274e-04_rb,0.94149e-04_rb,0.92496e-04_rb,0.88374e-04_rb, & & 0.82048e-04_rb,0.72698e-04_rb,0.57871e-04_rb,0.16202e-04_rb /) kao(:, 3, 2, 3) = (/ & & 0.73014e-04_rb,0.10065e-03_rb,0.10466e-03_rb,0.10271e-03_rb,0.97880e-04_rb, & & 0.90372e-04_rb,0.79361e-04_rb,0.62357e-04_rb,0.18056e-04_rb /) kao(:, 4, 2, 3) = (/ & & 0.82297e-04_rb,0.11195e-03_rb,0.11586e-03_rb,0.11365e-03_rb,0.10799e-03_rb, & & 0.98829e-04_rb,0.85923e-04_rb,0.66891e-04_rb,0.19890e-04_rb /) kao(:, 5, 2, 3) = (/ & & 0.92175e-04_rb,0.12399e-03_rb,0.12794e-03_rb,0.12531e-03_rb,0.11825e-03_rb, & & 0.10764e-03_rb,0.92744e-04_rb,0.71608e-04_rb,0.21968e-04_rb /) kao(:, 1, 3, 3) = (/ & & 0.47324e-04_rb,0.68167e-04_rb,0.71069e-04_rb,0.70293e-04_rb,0.67313e-04_rb, & & 0.62456e-04_rb,0.55646e-04_rb,0.44933e-04_rb,0.11374e-04_rb /) kao(:, 2, 3, 3) = (/ & & 0.53658e-04_rb,0.76342e-04_rb,0.79560e-04_rb,0.78547e-04_rb,0.74997e-04_rb, & & 0.69264e-04_rb,0.61119e-04_rb,0.48587e-04_rb,0.12639e-04_rb /) kao(:, 3, 3, 3) = (/ & & 0.60905e-04_rb,0.85247e-04_rb,0.88738e-04_rb,0.87387e-04_rb,0.83098e-04_rb, & & 0.76432e-04_rb,0.66733e-04_rb,0.52275e-04_rb,0.13871e-04_rb /) kao(:, 4, 3, 3) = (/ & & 0.68831e-04_rb,0.94960e-04_rb,0.98638e-04_rb,0.96778e-04_rb,0.91816e-04_rb, & & 0.83747e-04_rb,0.72403e-04_rb,0.56165e-04_rb,0.15423e-04_rb /) kao(:, 5, 3, 3) = (/ & & 0.77259e-04_rb,0.10549e-03_rb,0.10909e-03_rb,0.10672e-03_rb,0.10065e-03_rb, & & 0.91320e-04_rb,0.78406e-04_rb,0.60157e-04_rb,0.17141e-04_rb /) kao(:, 1, 4, 3) = (/ & & 0.40102e-04_rb,0.56990e-04_rb,0.59444e-04_rb,0.58732e-04_rb,0.56091e-04_rb, & & 0.51902e-04_rb,0.46247e-04_rb,0.37442e-04_rb,0.94022e-05_rb /) kao(:, 2, 4, 3) = (/ & & 0.44930e-04_rb,0.63893e-04_rb,0.66629e-04_rb,0.65694e-04_rb,0.62627e-04_rb, & & 0.57822e-04_rb,0.50819e-04_rb,0.40421e-04_rb,0.10475e-04_rb /) kao(:, 3, 4, 3) = (/ & & 0.50532e-04_rb,0.71424e-04_rb,0.74352e-04_rb,0.73221e-04_rb,0.69651e-04_rb, & & 0.64034e-04_rb,0.55430e-04_rb,0.43529e-04_rb,0.11728e-04_rb /) kao(:, 4, 4, 3) = (/ & & 0.56953e-04_rb,0.79740e-04_rb,0.82769e-04_rb,0.81314e-04_rb,0.77278e-04_rb, & & 0.70324e-04_rb,0.60396e-04_rb,0.46747e-04_rb,0.13063e-04_rb /) kao(:, 5, 4, 3) = (/ & & 0.64019e-04_rb,0.88647e-04_rb,0.91768e-04_rb,0.89926e-04_rb,0.84958e-04_rb, & & 0.76740e-04_rb,0.65561e-04_rb,0.50066e-04_rb,0.14435e-04_rb /) kao(:, 1, 5, 3) = (/ & & 0.33806e-04_rb,0.47826e-04_rb,0.49443e-04_rb,0.48775e-04_rb,0.46477e-04_rb, & & 0.42791e-04_rb,0.38155e-04_rb,0.31175e-04_rb,0.77886e-05_rb /) kao(:, 2, 5, 3) = (/ & & 0.37973e-04_rb,0.53392e-04_rb,0.55526e-04_rb,0.54719e-04_rb,0.52062e-04_rb, & & 0.47763e-04_rb,0.42021e-04_rb,0.33510e-04_rb,0.87404e-05_rb /) kao(:, 3, 5, 3) = (/ & & 0.42758e-04_rb,0.59666e-04_rb,0.62058e-04_rb,0.61127e-04_rb,0.58012e-04_rb, & & 0.53071e-04_rb,0.45971e-04_rb,0.36114e-04_rb,0.98499e-05_rb /) kao(:, 4, 5, 3) = (/ & & 0.48006e-04_rb,0.66679e-04_rb,0.69230e-04_rb,0.67989e-04_rb,0.64400e-04_rb, & & 0.58521e-04_rb,0.50196e-04_rb,0.38710e-04_rb,0.11022e-04_rb /) kao(:, 5, 5, 3) = (/ & & 0.53657e-04_rb,0.74244e-04_rb,0.76813e-04_rb,0.75303e-04_rb,0.71011e-04_rb, & & 0.64092e-04_rb,0.54599e-04_rb,0.41481e-04_rb,0.12225e-04_rb /) kao(:, 1, 6, 3) = (/ & & 0.27953e-04_rb,0.40223e-04_rb,0.41331e-04_rb,0.40332e-04_rb,0.38114e-04_rb, & & 0.34967e-04_rb,0.31158e-04_rb,0.25701e-04_rb,0.67604e-05_rb /) kao(:, 2, 6, 3) = (/ & & 0.31595e-04_rb,0.44975e-04_rb,0.46374e-04_rb,0.45229e-04_rb,0.42775e-04_rb, & & 0.39162e-04_rb,0.34373e-04_rb,0.27616e-04_rb,0.75558e-05_rb /) kao(:, 3, 6, 3) = (/ & & 0.35649e-04_rb,0.50263e-04_rb,0.51713e-04_rb,0.50516e-04_rb,0.47855e-04_rb, & & 0.43605e-04_rb,0.37705e-04_rb,0.29800e-04_rb,0.84063e-05_rb /) kao(:, 4, 6, 3) = (/ & & 0.40086e-04_rb,0.55905e-04_rb,0.57584e-04_rb,0.56348e-04_rb,0.53200e-04_rb, & & 0.48283e-04_rb,0.41331e-04_rb,0.31936e-04_rb,0.92686e-05_rb /) kao(:, 5, 6, 3) = (/ & & 0.44931e-04_rb,0.62025e-04_rb,0.63942e-04_rb,0.62498e-04_rb,0.58788e-04_rb, & & 0.53032e-04_rb,0.45085e-04_rb,0.34229e-04_rb,0.10175e-04_rb /) kao(:, 1, 7, 3) = (/ & & 0.22829e-04_rb,0.33278e-04_rb,0.34196e-04_rb,0.33381e-04_rb,0.31444e-04_rb, & & 0.28615e-04_rb,0.25331e-04_rb,0.21096e-04_rb,0.60732e-05_rb /) kao(:, 2, 7, 3) = (/ & & 0.25917e-04_rb,0.37424e-04_rb,0.38527e-04_rb,0.37580e-04_rb,0.35302e-04_rb, & & 0.32020e-04_rb,0.27957e-04_rb,0.22660e-04_rb,0.68180e-05_rb /) kao(:, 3, 7, 3) = (/ & & 0.29386e-04_rb,0.41933e-04_rb,0.43213e-04_rb,0.42039e-04_rb,0.39445e-04_rb, & & 0.35659e-04_rb,0.30780e-04_rb,0.24432e-04_rb,0.76296e-05_rb /) kao(:, 4, 7, 3) = (/ & & 0.33186e-04_rb,0.46811e-04_rb,0.48218e-04_rb,0.46849e-04_rb,0.43848e-04_rb, & & 0.39567e-04_rb,0.33858e-04_rb,0.26257e-04_rb,0.82634e-05_rb /) kao(:, 5, 7, 3) = (/ & & 0.37227e-04_rb,0.52060e-04_rb,0.53592e-04_rb,0.51948e-04_rb,0.48471e-04_rb, & & 0.43595e-04_rb,0.37022e-04_rb,0.28130e-04_rb,0.90053e-05_rb /) kao(:, 1, 8, 3) = (/ & & 0.18333e-04_rb,0.27259e-04_rb,0.27929e-04_rb,0.27230e-04_rb,0.25672e-04_rb, & & 0.23374e-04_rb,0.20571e-04_rb,0.17333e-04_rb,0.54157e-05_rb /) kao(:, 2, 8, 3) = (/ & & 0.20948e-04_rb,0.30774e-04_rb,0.31604e-04_rb,0.30823e-04_rb,0.29002e-04_rb, & & 0.26292e-04_rb,0.22734e-04_rb,0.18593e-04_rb,0.61669e-05_rb /) kao(:, 3, 8, 3) = (/ & & 0.23883e-04_rb,0.34642e-04_rb,0.35656e-04_rb,0.34670e-04_rb,0.32507e-04_rb, & & 0.29303e-04_rb,0.25111e-04_rb,0.19985e-04_rb,0.69048e-05_rb /) kao(:, 4, 8, 3) = (/ & & 0.27098e-04_rb,0.38802e-04_rb,0.40013e-04_rb,0.38777e-04_rb,0.36214e-04_rb, & & 0.32542e-04_rb,0.27674e-04_rb,0.21526e-04_rb,0.76591e-05_rb /) kao(:, 5, 8, 3) = (/ & & 0.30462e-04_rb,0.43307e-04_rb,0.44596e-04_rb,0.43127e-04_rb,0.40142e-04_rb, & & 0.35890e-04_rb,0.30276e-04_rb,0.23065e-04_rb,0.84480e-05_rb /) kao(:, 1, 9, 3) = (/ & & 0.14510e-04_rb,0.22049e-04_rb,0.22596e-04_rb,0.22021e-04_rb,0.20750e-04_rb, & & 0.18895e-04_rb,0.16685e-04_rb,0.14158e-04_rb,0.50284e-05_rb /) kao(:, 2, 9, 3) = (/ & & 0.16710e-04_rb,0.25012e-04_rb,0.25686e-04_rb,0.25017e-04_rb,0.23537e-04_rb, & & 0.21350e-04_rb,0.18517e-04_rb,0.15170e-04_rb,0.59016e-05_rb /) kao(:, 3, 9, 3) = (/ & & 0.19138e-04_rb,0.28271e-04_rb,0.29104e-04_rb,0.28272e-04_rb,0.26493e-04_rb, & & 0.23916e-04_rb,0.20530e-04_rb,0.16297e-04_rb,0.68413e-05_rb /) kao(:, 4, 9, 3) = (/ & & 0.21798e-04_rb,0.31859e-04_rb,0.32802e-04_rb,0.31762e-04_rb,0.29603e-04_rb, & & 0.26643e-04_rb,0.22650e-04_rb,0.17559e-04_rb,0.78093e-05_rb /) kao(:, 5, 9, 3) = (/ & & 0.24599e-04_rb,0.35618e-04_rb,0.36736e-04_rb,0.35456e-04_rb,0.32981e-04_rb, & & 0.29459e-04_rb,0.24877e-04_rb,0.18821e-04_rb,0.88149e-05_rb /) kao(:, 1,10, 3) = (/ & & 0.11455e-04_rb,0.17796e-04_rb,0.18282e-04_rb,0.17833e-04_rb,0.16814e-04_rb, & & 0.15305e-04_rb,0.13526e-04_rb,0.11628e-04_rb,0.47637e-05_rb /) kao(:, 2,10, 3) = (/ & & 0.13295e-04_rb,0.20290e-04_rb,0.20862e-04_rb,0.20316e-04_rb,0.19125e-04_rb, & & 0.17348e-04_rb,0.15042e-04_rb,0.12455e-04_rb,0.56495e-05_rb /) kao(:, 3,10, 3) = (/ & & 0.15297e-04_rb,0.22994e-04_rb,0.23740e-04_rb,0.23076e-04_rb,0.21626e-04_rb, & & 0.19529e-04_rb,0.16766e-04_rb,0.13399e-04_rb,0.65988e-05_rb /) kao(:, 4,10, 3) = (/ & & 0.17488e-04_rb,0.25986e-04_rb,0.26882e-04_rb,0.26021e-04_rb,0.24246e-04_rb, & & 0.21820e-04_rb,0.18554e-04_rb,0.14427e-04_rb,0.74644e-05_rb /) kao(:, 5,10, 3) = (/ & & 0.19800e-04_rb,0.29160e-04_rb,0.30208e-04_rb,0.29161e-04_rb,0.27086e-04_rb, & & 0.24189e-04_rb,0.20462e-04_rb,0.15474e-04_rb,0.84395e-05_rb /) kao(:, 1,11, 3) = (/ & & 0.96366e-05_rb,0.15168e-04_rb,0.15611e-04_rb,0.15230e-04_rb,0.14381e-04_rb, & & 0.13058e-04_rb,0.11457e-04_rb,0.98195e-05_rb,0.43210e-05_rb /) kao(:, 2,11, 3) = (/ & & 0.11221e-04_rb,0.17304e-04_rb,0.17859e-04_rb,0.17390e-04_rb,0.16383e-04_rb, & & 0.14837e-04_rb,0.12820e-04_rb,0.10541e-04_rb,0.50915e-05_rb /) kao(:, 3,11, 3) = (/ & & 0.12922e-04_rb,0.19611e-04_rb,0.20376e-04_rb,0.19769e-04_rb,0.18510e-04_rb, & & 0.16733e-04_rb,0.14297e-04_rb,0.11375e-04_rb,0.59349e-05_rb /) kao(:, 4,11, 3) = (/ & & 0.14759e-04_rb,0.22226e-04_rb,0.23087e-04_rb,0.22319e-04_rb,0.20789e-04_rb, & & 0.18677e-04_rb,0.15854e-04_rb,0.12233e-04_rb,0.68646e-05_rb /) kao(:, 5,11, 3) = (/ & & 0.16687e-04_rb,0.24901e-04_rb,0.25894e-04_rb,0.25020e-04_rb,0.23234e-04_rb, & & 0.20746e-04_rb,0.17450e-04_rb,0.13143e-04_rb,0.77945e-05_rb /) kao(:, 1,12, 3) = (/ & & 0.80728e-05_rb,0.12833e-04_rb,0.13241e-04_rb,0.12930e-04_rb,0.12209e-04_rb, & & 0.11077e-04_rb,0.96874e-05_rb,0.82518e-05_rb,0.36987e-05_rb /) kao(:, 2,12, 3) = (/ & & 0.94096e-05_rb,0.14647e-04_rb,0.15179e-04_rb,0.14789e-04_rb,0.13929e-04_rb, & & 0.12614e-04_rb,0.10863e-04_rb,0.88839e-05_rb,0.43642e-05_rb /) kao(:, 3,12, 3) = (/ & & 0.10827e-04_rb,0.16625e-04_rb,0.17336e-04_rb,0.16825e-04_rb,0.15757e-04_rb, & & 0.14215e-04_rb,0.12135e-04_rb,0.95702e-05_rb,0.51276e-05_rb /) kao(:, 4,12, 3) = (/ & & 0.12346e-04_rb,0.18823e-04_rb,0.19626e-04_rb,0.19011e-04_rb,0.17715e-04_rb, & & 0.15891e-04_rb,0.13472e-04_rb,0.10297e-04_rb,0.58818e-05_rb /) kao(:, 5,12, 3) = (/ & & 0.13954e-04_rb,0.21071e-04_rb,0.21985e-04_rb,0.21278e-04_rb,0.19773e-04_rb, & & 0.17642e-04_rb,0.14813e-04_rb,0.11109e-04_rb,0.66485e-05_rb /) kao(:, 1,13, 3) = (/ & & 0.67198e-05_rb,0.10777e-04_rb,0.11153e-04_rb,0.10900e-04_rb,0.10301e-04_rb, & & 0.93345e-05_rb,0.81433e-05_rb,0.69156e-05_rb,0.30498e-05_rb /) kao(:, 2,13, 3) = (/ & & 0.78283e-05_rb,0.12283e-04_rb,0.12805e-04_rb,0.12492e-04_rb,0.11757e-04_rb, & & 0.10649e-04_rb,0.91519e-05_rb,0.74495e-05_rb,0.36028e-05_rb /) kao(:, 3,13, 3) = (/ & & 0.89966e-05_rb,0.13983e-04_rb,0.14629e-04_rb,0.14218e-04_rb,0.13315e-04_rb, & & 0.11990e-04_rb,0.10230e-04_rb,0.80237e-05_rb,0.42382e-05_rb /) kao(:, 4,13, 3) = (/ & & 0.10250e-04_rb,0.15794e-04_rb,0.16536e-04_rb,0.16055e-04_rb,0.14979e-04_rb, & & 0.13421e-04_rb,0.11355e-04_rb,0.86371e-05_rb,0.48511e-05_rb /) kao(:, 5,13, 3) = (/ & & 0.11575e-04_rb,0.17689e-04_rb,0.18502e-04_rb,0.17950e-04_rb,0.16689e-04_rb, & & 0.14883e-04_rb,0.12476e-04_rb,0.93537e-05_rb,0.54799e-05_rb /) kao(:, 1, 1, 4) = (/ & & 0.20313e-03_rb,0.26410e-03_rb,0.27054e-03_rb,0.25842e-03_rb,0.23794e-03_rb, & & 0.21033e-03_rb,0.17730e-03_rb,0.13831e-03_rb,0.52995e-04_rb /) kao(:, 2, 1, 4) = (/ & & 0.22722e-03_rb,0.29058e-03_rb,0.29572e-03_rb,0.28200e-03_rb,0.25898e-03_rb, & & 0.22814e-03_rb,0.19209e-03_rb,0.14957e-03_rb,0.59096e-04_rb /) kao(:, 3, 1, 4) = (/ & & 0.25054e-03_rb,0.31580e-03_rb,0.31991e-03_rb,0.30486e-03_rb,0.27955e-03_rb, & & 0.24634e-03_rb,0.20787e-03_rb,0.16179e-03_rb,0.65118e-04_rb /) kao(:, 4, 1, 4) = (/ & & 0.27197e-03_rb,0.33971e-03_rb,0.34310e-03_rb,0.32677e-03_rb,0.30002e-03_rb, & & 0.26574e-03_rb,0.22502e-03_rb,0.17520e-03_rb,0.71711e-04_rb /) kao(:, 5, 1, 4) = (/ & & 0.29178e-03_rb,0.36213e-03_rb,0.36503e-03_rb,0.34815e-03_rb,0.32114e-03_rb, & & 0.28599e-03_rb,0.24328e-03_rb,0.18958e-03_rb,0.78523e-04_rb /) kao(:, 1, 2, 4) = (/ & & 0.17547e-03_rb,0.23012e-03_rb,0.23639e-03_rb,0.22606e-03_rb,0.20799e-03_rb, & & 0.18326e-03_rb,0.15385e-03_rb,0.11888e-03_rb,0.43633e-04_rb /) kao(:, 2, 2, 4) = (/ & & 0.19601e-03_rb,0.25269e-03_rb,0.25751e-03_rb,0.24629e-03_rb,0.22623e-03_rb, & & 0.19926e-03_rb,0.16712e-03_rb,0.12877e-03_rb,0.48382e-04_rb /) kao(:, 3, 2, 4) = (/ & & 0.21598e-03_rb,0.27423e-03_rb,0.27812e-03_rb,0.26576e-03_rb,0.24403e-03_rb, & & 0.21552e-03_rb,0.18141e-03_rb,0.13982e-03_rb,0.53560e-04_rb /) kao(:, 4, 2, 4) = (/ & & 0.23449e-03_rb,0.29482e-03_rb,0.29820e-03_rb,0.28454e-03_rb,0.26171e-03_rb, & & 0.23254e-03_rb,0.19681e-03_rb,0.15192e-03_rb,0.59054e-04_rb /) kao(:, 5, 2, 4) = (/ & & 0.25198e-03_rb,0.31408e-03_rb,0.31723e-03_rb,0.30341e-03_rb,0.28040e-03_rb, & & 0.25022e-03_rb,0.21333e-03_rb,0.16487e-03_rb,0.64779e-04_rb /) kao(:, 1, 3, 4) = (/ & & 0.14736e-03_rb,0.19483e-03_rb,0.20065e-03_rb,0.19242e-03_rb,0.17728e-03_rb, & & 0.15627e-03_rb,0.13078e-03_rb,0.10037e-03_rb,0.34217e-04_rb /) kao(:, 2, 3, 4) = (/ & & 0.16492e-03_rb,0.21441e-03_rb,0.21892e-03_rb,0.20980e-03_rb,0.19289e-03_rb, & & 0.17000e-03_rb,0.14249e-03_rb,0.10902e-03_rb,0.38352e-04_rb /) kao(:, 3, 3, 4) = (/ & & 0.18200e-03_rb,0.23294e-03_rb,0.23658e-03_rb,0.22658e-03_rb,0.20822e-03_rb, & & 0.18391e-03_rb,0.15484e-03_rb,0.11888e-03_rb,0.42700e-04_rb /) kao(:, 4, 3, 4) = (/ & & 0.19811e-03_rb,0.25094e-03_rb,0.25385e-03_rb,0.24276e-03_rb,0.22338e-03_rb, & & 0.19841e-03_rb,0.16822e-03_rb,0.12943e-03_rb,0.47257e-04_rb /) kao(:, 5, 3, 4) = (/ & & 0.21352e-03_rb,0.26784e-03_rb,0.27027e-03_rb,0.25917e-03_rb,0.23966e-03_rb, & & 0.21399e-03_rb,0.18239e-03_rb,0.14058e-03_rb,0.51997e-04_rb /) kao(:, 1, 4, 4) = (/ & & 0.12070e-03_rb,0.16282e-03_rb,0.16870e-03_rb,0.16215e-03_rb,0.14966e-03_rb, & & 0.13195e-03_rb,0.11003e-03_rb,0.83743e-04_rb,0.26841e-04_rb /) kao(:, 2, 4, 4) = (/ & & 0.13616e-03_rb,0.17979e-03_rb,0.18420e-03_rb,0.17692e-03_rb,0.16288e-03_rb, & & 0.14351e-03_rb,0.12000e-03_rb,0.91324e-04_rb,0.29956e-04_rb /) kao(:, 3, 4, 4) = (/ & & 0.15142e-03_rb,0.19606e-03_rb,0.19933e-03_rb,0.19132e-03_rb,0.17582e-03_rb, & & 0.15506e-03_rb,0.13061e-03_rb,0.99881e-04_rb,0.33175e-04_rb /) kao(:, 4, 4, 4) = (/ & & 0.16591e-03_rb,0.21170e-03_rb,0.21421e-03_rb,0.20525e-03_rb,0.18888e-03_rb, & & 0.16747e-03_rb,0.14192e-03_rb,0.10907e-03_rb,0.36625e-04_rb /) kao(:, 5, 4, 4) = (/ & & 0.17956e-03_rb,0.22655e-03_rb,0.22833e-03_rb,0.21949e-03_rb,0.20283e-03_rb, & & 0.18086e-03_rb,0.15393e-03_rb,0.11865e-03_rb,0.40513e-04_rb /) kao(:, 1, 5, 4) = (/ & & 0.98625e-04_rb,0.13480e-03_rb,0.14099e-03_rb,0.13653e-03_rb,0.12600e-03_rb, & & 0.11107e-03_rb,0.92102e-04_rb,0.69414e-04_rb,0.22597e-04_rb /) kao(:, 2, 5, 4) = (/ & & 0.11165e-03_rb,0.14975e-03_rb,0.15429e-03_rb,0.14886e-03_rb,0.13710e-03_rb, & & 0.12076e-03_rb,0.10051e-03_rb,0.76046e-04_rb,0.25265e-04_rb /) kao(:, 3, 5, 4) = (/ & & 0.12461e-03_rb,0.16391e-03_rb,0.16725e-03_rb,0.16091e-03_rb,0.14796e-03_rb, & & 0.13047e-03_rb,0.10941e-03_rb,0.83193e-04_rb,0.27962e-04_rb /) kao(:, 4, 5, 4) = (/ & & 0.13738e-03_rb,0.17761e-03_rb,0.17982e-03_rb,0.17281e-03_rb,0.15916e-03_rb, & & 0.14087e-03_rb,0.11892e-03_rb,0.90972e-04_rb,0.30855e-04_rb /) kao(:, 5, 5, 4) = (/ & & 0.14967e-03_rb,0.19066e-03_rb,0.19231e-03_rb,0.18509e-03_rb,0.17109e-03_rb, & & 0.15227e-03_rb,0.12906e-03_rb,0.99136e-04_rb,0.34017e-04_rb /) kao(:, 1, 6, 4) = (/ & & 0.79863e-04_rb,0.11034e-03_rb,0.11622e-03_rb,0.11400e-03_rb,0.10532e-03_rb, & & 0.92978e-04_rb,0.76661e-04_rb,0.57287e-04_rb,0.18664e-04_rb /) kao(:, 2, 6, 4) = (/ & & 0.90753e-04_rb,0.12318e-03_rb,0.12766e-03_rb,0.12440e-03_rb,0.11482e-03_rb, & & 0.10110e-03_rb,0.83697e-04_rb,0.62663e-04_rb,0.20928e-04_rb /) kao(:, 3, 6, 4) = (/ & & 0.10183e-03_rb,0.13532e-03_rb,0.13907e-03_rb,0.13464e-03_rb,0.12396e-03_rb, & & 0.10925e-03_rb,0.90984e-04_rb,0.68513e-04_rb,0.23264e-04_rb /) kao(:, 4, 6, 4) = (/ & & 0.11293e-03_rb,0.14742e-03_rb,0.14995e-03_rb,0.14481e-03_rb,0.13354e-03_rb, & & 0.11797e-03_rb,0.98845e-04_rb,0.74965e-04_rb,0.25850e-04_rb /) kao(:, 5, 6, 4) = (/ & & 0.12360e-03_rb,0.15914e-03_rb,0.16090e-03_rb,0.15521e-03_rb,0.14361e-03_rb, & & 0.12755e-03_rb,0.10739e-03_rb,0.81915e-04_rb,0.28635e-04_rb /) kao(:, 1, 7, 4) = (/ & & 0.65679e-04_rb,0.90084e-04_rb,0.95681e-04_rb,0.94567e-04_rb,0.87338e-04_rb, & & 0.77275e-04_rb,0.63642e-04_rb,0.47097e-04_rb,0.15508e-04_rb /) kao(:, 2, 7, 4) = (/ & & 0.74551e-04_rb,0.10089e-03_rb,0.10531e-03_rb,0.10327e-03_rb,0.95364e-04_rb, & & 0.84154e-04_rb,0.69569e-04_rb,0.51426e-04_rb,0.17234e-04_rb /) kao(:, 3, 7, 4) = (/ & & 0.83584e-04_rb,0.11137e-03_rb,0.11469e-03_rb,0.11193e-03_rb,0.10325e-03_rb, & & 0.91075e-04_rb,0.75479e-04_rb,0.56228e-04_rb,0.19127e-04_rb /) kao(:, 4, 7, 4) = (/ & & 0.92762e-04_rb,0.12171e-03_rb,0.12420e-03_rb,0.12060e-03_rb,0.11147e-03_rb, & & 0.98465e-04_rb,0.81969e-04_rb,0.61529e-04_rb,0.21452e-04_rb /) kao(:, 5, 7, 4) = (/ & & 0.10189e-03_rb,0.13182e-03_rb,0.13364e-03_rb,0.12960e-03_rb,0.12008e-03_rb, & & 0.10652e-03_rb,0.89045e-04_rb,0.67334e-04_rb,0.23711e-04_rb /) kao(:, 1, 8, 4) = (/ & & 0.53656e-04_rb,0.74109e-04_rb,0.78629e-04_rb,0.78245e-04_rb,0.72322e-04_rb, & & 0.63915e-04_rb,0.52625e-04_rb,0.38591e-04_rb,0.14416e-04_rb /) kao(:, 2, 8, 4) = (/ & & 0.61163e-04_rb,0.83104e-04_rb,0.86832e-04_rb,0.85562e-04_rb,0.78992e-04_rb, & & 0.69666e-04_rb,0.57574e-04_rb,0.42098e-04_rb,0.15921e-04_rb /) kao(:, 3, 8, 4) = (/ & & 0.68914e-04_rb,0.91909e-04_rb,0.94594e-04_rb,0.92816e-04_rb,0.85590e-04_rb, & & 0.75491e-04_rb,0.62445e-04_rb,0.46109e-04_rb,0.17209e-04_rb /) kao(:, 4, 8, 4) = (/ & & 0.76847e-04_rb,0.10059e-03_rb,0.10256e-03_rb,0.10019e-03_rb,0.92496e-04_rb, & & 0.81729e-04_rb,0.67763e-04_rb,0.50445e-04_rb,0.18589e-04_rb /) kao(:, 5, 8, 4) = (/ & & 0.84847e-04_rb,0.10902e-03_rb,0.11071e-03_rb,0.10784e-03_rb,0.99812e-04_rb, & & 0.88516e-04_rb,0.73718e-04_rb,0.55250e-04_rb,0.20194e-04_rb /) kao(:, 1, 9, 4) = (/ & & 0.43346e-04_rb,0.60608e-04_rb,0.64818e-04_rb,0.64681e-04_rb,0.59655e-04_rb, & & 0.52617e-04_rb,0.43206e-04_rb,0.31573e-04_rb,0.14696e-04_rb /) kao(:, 2, 9, 4) = (/ & & 0.49669e-04_rb,0.68380e-04_rb,0.71800e-04_rb,0.70860e-04_rb,0.65260e-04_rb, & & 0.57496e-04_rb,0.47313e-04_rb,0.34405e-04_rb,0.16164e-04_rb /) kao(:, 3, 9, 4) = (/ & & 0.56274e-04_rb,0.76040e-04_rb,0.78454e-04_rb,0.76944e-04_rb,0.70665e-04_rb, & & 0.62347e-04_rb,0.51383e-04_rb,0.37665e-04_rb,0.17841e-04_rb /) kao(:, 4, 9, 4) = (/ & & 0.63127e-04_rb,0.83451e-04_rb,0.85178e-04_rb,0.83082e-04_rb,0.76437e-04_rb, & & 0.67538e-04_rb,0.55797e-04_rb,0.41264e-04_rb,0.19504e-04_rb /) kao(:, 5, 9, 4) = (/ & & 0.70124e-04_rb,0.90807e-04_rb,0.91960e-04_rb,0.89432e-04_rb,0.82527e-04_rb, & & 0.73176e-04_rb,0.60668e-04_rb,0.45179e-04_rb,0.20992e-04_rb /) kao(:, 1,10, 4) = (/ & & 0.35059e-04_rb,0.49531e-04_rb,0.53376e-04_rb,0.53665e-04_rb,0.49644e-04_rb, & & 0.43592e-04_rb,0.35609e-04_rb,0.25845e-04_rb,0.13231e-04_rb /) kao(:, 2,10, 4) = (/ & & 0.40376e-04_rb,0.56174e-04_rb,0.59502e-04_rb,0.59040e-04_rb,0.54399e-04_rb, & & 0.47687e-04_rb,0.39007e-04_rb,0.28189e-04_rb,0.15223e-04_rb /) kao(:, 3,10, 4) = (/ & & 0.46006e-04_rb,0.62899e-04_rb,0.65214e-04_rb,0.64178e-04_rb,0.58976e-04_rb, & & 0.51726e-04_rb,0.42386e-04_rb,0.30843e-04_rb,0.17241e-04_rb /) kao(:, 4,10, 4) = (/ & & 0.51905e-04_rb,0.69395e-04_rb,0.70988e-04_rb,0.69461e-04_rb,0.63801e-04_rb, & & 0.56040e-04_rb,0.46059e-04_rb,0.33831e-04_rb,0.19714e-04_rb /) kao(:, 5,10, 4) = (/ & & 0.57990e-04_rb,0.75737e-04_rb,0.76826e-04_rb,0.74718e-04_rb,0.68839e-04_rb, & & 0.60664e-04_rb,0.50105e-04_rb,0.37049e-04_rb,0.22308e-04_rb /) kao(:, 1,11, 4) = (/ & & 0.30150e-04_rb,0.42738e-04_rb,0.46011e-04_rb,0.46330e-04_rb,0.42907e-04_rb, & & 0.37605e-04_rb,0.30702e-04_rb,0.21962e-04_rb,0.11791e-04_rb /) kao(:, 2,11, 4) = (/ & & 0.34714e-04_rb,0.48516e-04_rb,0.51120e-04_rb,0.50726e-04_rb,0.46912e-04_rb, & & 0.41033e-04_rb,0.33505e-04_rb,0.23952e-04_rb,0.13242e-04_rb /) kao(:, 3,11, 4) = (/ & & 0.39649e-04_rb,0.54325e-04_rb,0.56146e-04_rb,0.55270e-04_rb,0.50902e-04_rb, & & 0.44559e-04_rb,0.36351e-04_rb,0.26266e-04_rb,0.15075e-04_rb /) kao(:, 4,11, 4) = (/ & & 0.44779e-04_rb,0.59893e-04_rb,0.61166e-04_rb,0.59766e-04_rb,0.55070e-04_rb, & & 0.48303e-04_rb,0.39491e-04_rb,0.28847e-04_rb,0.17164e-04_rb /) kao(:, 5,11, 4) = (/ & & 0.49946e-04_rb,0.65411e-04_rb,0.66256e-04_rb,0.64345e-04_rb,0.59474e-04_rb, & & 0.52287e-04_rb,0.43003e-04_rb,0.31612e-04_rb,0.19542e-04_rb /) kao(:, 1,12, 4) = (/ & & 0.25681e-04_rb,0.36622e-04_rb,0.39428e-04_rb,0.39582e-04_rb,0.36786e-04_rb, & & 0.32210e-04_rb,0.26270e-04_rb,0.18629e-04_rb,0.10035e-04_rb /) kao(:, 2,12, 4) = (/ & & 0.29636e-04_rb,0.41620e-04_rb,0.43701e-04_rb,0.43425e-04_rb,0.40150e-04_rb, & & 0.35105e-04_rb,0.28637e-04_rb,0.20365e-04_rb,0.11416e-04_rb /) kao(:, 3,12, 4) = (/ & & 0.33921e-04_rb,0.46628e-04_rb,0.48062e-04_rb,0.47301e-04_rb,0.43633e-04_rb, & & 0.38189e-04_rb,0.31133e-04_rb,0.22405e-04_rb,0.12946e-04_rb /) kao(:, 4,12, 4) = (/ & & 0.38341e-04_rb,0.51401e-04_rb,0.52457e-04_rb,0.51129e-04_rb,0.47238e-04_rb, & & 0.41429e-04_rb,0.33905e-04_rb,0.24546e-04_rb,0.14770e-04_rb /) kao(:, 5,12, 4) = (/ & & 0.42576e-04_rb,0.56153e-04_rb,0.56863e-04_rb,0.55182e-04_rb,0.51113e-04_rb, & & 0.44940e-04_rb,0.36987e-04_rb,0.26898e-04_rb,0.16865e-04_rb /) kao(:, 1,13, 4) = (/ & & 0.21707e-04_rb,0.31142e-04_rb,0.33487e-04_rb,0.33650e-04_rb,0.31301e-04_rb, & & 0.27396e-04_rb,0.22352e-04_rb,0.15744e-04_rb,0.83005e-05_rb /) kao(:, 2,13, 4) = (/ & & 0.25112e-04_rb,0.35474e-04_rb,0.37158e-04_rb,0.36970e-04_rb,0.34170e-04_rb, & & 0.29871e-04_rb,0.24361e-04_rb,0.17312e-04_rb,0.93559e-05_rb /) kao(:, 3,13, 4) = (/ & & 0.28762e-04_rb,0.39712e-04_rb,0.40924e-04_rb,0.40199e-04_rb,0.37169e-04_rb, & & 0.32565e-04_rb,0.26566e-04_rb,0.19074e-04_rb,0.10670e-04_rb /) kao(:, 4,13, 4) = (/ & & 0.32448e-04_rb,0.43808e-04_rb,0.44734e-04_rb,0.43534e-04_rb,0.40323e-04_rb, & & 0.35367e-04_rb,0.29011e-04_rb,0.20897e-04_rb,0.12240e-04_rb /) kao(:, 5,13, 4) = (/ & & 0.35905e-04_rb,0.47771e-04_rb,0.48482e-04_rb,0.47094e-04_rb,0.43703e-04_rb, & & 0.38474e-04_rb,0.31715e-04_rb,0.22899e-04_rb,0.13958e-04_rb /) kao(:, 1, 1, 5) = (/ & & 0.50328e-03_rb,0.59028e-03_rb,0.59973e-03_rb,0.58955e-03_rb,0.56685e-03_rb, & & 0.50893e-03_rb,0.43098e-03_rb,0.31518e-03_rb,0.12599e-03_rb /) kao(:, 2, 1, 5) = (/ & & 0.53454e-03_rb,0.62581e-03_rb,0.63729e-03_rb,0.62588e-03_rb,0.59902e-03_rb, & & 0.54179e-03_rb,0.45928e-03_rb,0.33824e-03_rb,0.13937e-03_rb /) kao(:, 3, 1, 5) = (/ & & 0.56216e-03_rb,0.66315e-03_rb,0.67707e-03_rb,0.66553e-03_rb,0.63545e-03_rb, & & 0.57719e-03_rb,0.48913e-03_rb,0.36332e-03_rb,0.15548e-03_rb /) kao(:, 4, 1, 5) = (/ & & 0.58821e-03_rb,0.70231e-03_rb,0.71934e-03_rb,0.70828e-03_rb,0.67637e-03_rb, & & 0.61438e-03_rb,0.52042e-03_rb,0.38978e-03_rb,0.17254e-03_rb /) kao(:, 5, 1, 5) = (/ & & 0.61349e-03_rb,0.74309e-03_rb,0.76503e-03_rb,0.75486e-03_rb,0.71943e-03_rb, & & 0.65213e-03_rb,0.55331e-03_rb,0.41818e-03_rb,0.19176e-03_rb /) kao(:, 1, 2, 5) = (/ & & 0.43720e-03_rb,0.51117e-03_rb,0.51919e-03_rb,0.50988e-03_rb,0.48875e-03_rb, & & 0.44138e-03_rb,0.37418e-03_rb,0.27478e-03_rb,0.10374e-03_rb /) kao(:, 2, 2, 5) = (/ & & 0.46400e-03_rb,0.54460e-03_rb,0.55429e-03_rb,0.54395e-03_rb,0.52067e-03_rb, & & 0.47118e-03_rb,0.39949e-03_rb,0.29546e-03_rb,0.11585e-03_rb /) kao(:, 3, 2, 5) = (/ & & 0.48798e-03_rb,0.57940e-03_rb,0.59177e-03_rb,0.58113e-03_rb,0.55553e-03_rb, & & 0.50290e-03_rb,0.42588e-03_rb,0.31727e-03_rb,0.12872e-03_rb /) kao(:, 4, 2, 5) = (/ & & 0.51088e-03_rb,0.61529e-03_rb,0.63115e-03_rb,0.62163e-03_rb,0.59296e-03_rb, & & 0.53614e-03_rb,0.45317e-03_rb,0.34070e-03_rb,0.14334e-03_rb /) kao(:, 5, 2, 5) = (/ & & 0.53331e-03_rb,0.65233e-03_rb,0.67270e-03_rb,0.66363e-03_rb,0.63091e-03_rb, & & 0.57023e-03_rb,0.48253e-03_rb,0.36597e-03_rb,0.15947e-03_rb /) kao(:, 1, 3, 5) = (/ & & 0.37168e-03_rb,0.43544e-03_rb,0.44351e-03_rb,0.43496e-03_rb,0.41418e-03_rb, & & 0.37673e-03_rb,0.31849e-03_rb,0.23373e-03_rb,0.83035e-04_rb /) kao(:, 2, 3, 5) = (/ & & 0.39476e-03_rb,0.46532e-03_rb,0.47527e-03_rb,0.46587e-03_rb,0.44394e-03_rb, & & 0.40288e-03_rb,0.34052e-03_rb,0.25172e-03_rb,0.92363e-04_rb /) kao(:, 3, 3, 5) = (/ & & 0.41559e-03_rb,0.49597e-03_rb,0.50880e-03_rb,0.49944e-03_rb,0.47605e-03_rb, & & 0.43138e-03_rb,0.36384e-03_rb,0.27063e-03_rb,0.10327e-03_rb /) kao(:, 4, 3, 5) = (/ & & 0.43551e-03_rb,0.52738e-03_rb,0.54357e-03_rb,0.53553e-03_rb,0.50924e-03_rb, & & 0.46069e-03_rb,0.38844e-03_rb,0.29089e-03_rb,0.11548e-03_rb /) kao(:, 5, 3, 5) = (/ & & 0.45509e-03_rb,0.56036e-03_rb,0.58045e-03_rb,0.57279e-03_rb,0.54320e-03_rb, & & 0.49088e-03_rb,0.41461e-03_rb,0.31304e-03_rb,0.12901e-03_rb /) kao(:, 1, 4, 5) = (/ & & 0.31353e-03_rb,0.36800e-03_rb,0.37478e-03_rb,0.36628e-03_rb,0.34818e-03_rb, & & 0.31938e-03_rb,0.26882e-03_rb,0.19725e-03_rb,0.65143e-04_rb /) kao(:, 2, 4, 5) = (/ & & 0.33327e-03_rb,0.39347e-03_rb,0.40240e-03_rb,0.39421e-03_rb,0.37500e-03_rb, & & 0.34245e-03_rb,0.28782e-03_rb,0.21247e-03_rb,0.72911e-04_rb /) kao(:, 3, 4, 5) = (/ & & 0.35116e-03_rb,0.41935e-03_rb,0.43125e-03_rb,0.42396e-03_rb,0.40374e-03_rb, & & 0.36745e-03_rb,0.30851e-03_rb,0.22861e-03_rb,0.82223e-04_rb /) kao(:, 4, 4, 5) = (/ & & 0.36817e-03_rb,0.44654e-03_rb,0.46141e-03_rb,0.45505e-03_rb,0.43257e-03_rb, & & 0.39339e-03_rb,0.33051e-03_rb,0.24594e-03_rb,0.92524e-04_rb /) kao(:, 5, 4, 5) = (/ & & 0.38502e-03_rb,0.47537e-03_rb,0.49387e-03_rb,0.48730e-03_rb,0.46233e-03_rb, & & 0.42007e-03_rb,0.35374e-03_rb,0.26504e-03_rb,0.10363e-03_rb /) kao(:, 1, 5, 5) = (/ & & 0.26371e-03_rb,0.30958e-03_rb,0.31480e-03_rb,0.30643e-03_rb,0.29119e-03_rb, & & 0.26781e-03_rb,0.22601e-03_rb,0.16580e-03_rb,0.51526e-04_rb /) kao(:, 2, 5, 5) = (/ & & 0.28046e-03_rb,0.33149e-03_rb,0.33831e-03_rb,0.33074e-03_rb,0.31455e-03_rb, & & 0.28912e-03_rb,0.24254e-03_rb,0.17884e-03_rb,0.57544e-04_rb /) kao(:, 3, 5, 5) = (/ & & 0.29571e-03_rb,0.35368e-03_rb,0.36281e-03_rb,0.35630e-03_rb,0.33882e-03_rb, & & 0.31097e-03_rb,0.26070e-03_rb,0.19272e-03_rb,0.64519e-04_rb /) kao(:, 4, 5, 5) = (/ & & 0.31016e-03_rb,0.37666e-03_rb,0.38893e-03_rb,0.38273e-03_rb,0.36412e-03_rb, & & 0.33364e-03_rb,0.28016e-03_rb,0.20757e-03_rb,0.72363e-04_rb /) kao(:, 5, 5, 5) = (/ & & 0.32452e-03_rb,0.40122e-03_rb,0.41666e-03_rb,0.41046e-03_rb,0.39013e-03_rb, & & 0.35668e-03_rb,0.30056e-03_rb,0.22388e-03_rb,0.80981e-04_rb /) kao(:, 1, 6, 5) = (/ & & 0.22069e-03_rb,0.25888e-03_rb,0.26323e-03_rb,0.25479e-03_rb,0.24246e-03_rb, & & 0.22303e-03_rb,0.18865e-03_rb,0.13826e-03_rb,0.42586e-04_rb /) kao(:, 2, 6, 5) = (/ & & 0.23505e-03_rb,0.27730e-03_rb,0.28289e-03_rb,0.27510e-03_rb,0.26179e-03_rb, & & 0.24147e-03_rb,0.20303e-03_rb,0.14956e-03_rb,0.47728e-04_rb /) kao(:, 3, 6, 5) = (/ & & 0.24799e-03_rb,0.29644e-03_rb,0.30324e-03_rb,0.29696e-03_rb,0.28190e-03_rb, & & 0.26059e-03_rb,0.21889e-03_rb,0.16173e-03_rb,0.53804e-04_rb /) kao(:, 4, 6, 5) = (/ & & 0.26027e-03_rb,0.31607e-03_rb,0.32548e-03_rb,0.31928e-03_rb,0.30338e-03_rb, & & 0.27984e-03_rb,0.23536e-03_rb,0.17457e-03_rb,0.60579e-04_rb /) kao(:, 5, 6, 5) = (/ & & 0.27261e-03_rb,0.33682e-03_rb,0.34889e-03_rb,0.34299e-03_rb,0.32589e-03_rb, & & 0.29875e-03_rb,0.25286e-03_rb,0.18852e-03_rb,0.67802e-04_rb /) kao(:, 1, 7, 5) = (/ & & 0.18284e-03_rb,0.21563e-03_rb,0.21874e-03_rb,0.21147e-03_rb,0.20158e-03_rb, & & 0.18535e-03_rb,0.15699e-03_rb,0.11455e-03_rb,0.35095e-04_rb /) kao(:, 2, 7, 5) = (/ & & 0.19537e-03_rb,0.23122e-03_rb,0.23571e-03_rb,0.22829e-03_rb,0.21760e-03_rb, & & 0.20013e-03_rb,0.16934e-03_rb,0.12429e-03_rb,0.39853e-04_rb /) kao(:, 3, 7, 5) = (/ & & 0.20672e-03_rb,0.24731e-03_rb,0.25313e-03_rb,0.24636e-03_rb,0.23401e-03_rb, & & 0.21622e-03_rb,0.18276e-03_rb,0.13469e-03_rb,0.45173e-04_rb /) kao(:, 4, 7, 5) = (/ & & 0.21741e-03_rb,0.26399e-03_rb,0.27153e-03_rb,0.26539e-03_rb,0.25198e-03_rb, & & 0.23212e-03_rb,0.19655e-03_rb,0.14593e-03_rb,0.50910e-04_rb /) kao(:, 5, 7, 5) = (/ & & 0.22822e-03_rb,0.28170e-03_rb,0.29118e-03_rb,0.28544e-03_rb,0.27112e-03_rb, & & 0.24842e-03_rb,0.21129e-03_rb,0.15803e-03_rb,0.57288e-04_rb /) kao(:, 1, 8, 5) = (/ & & 0.15136e-03_rb,0.17854e-03_rb,0.18119e-03_rb,0.17535e-03_rb,0.16721e-03_rb, & & 0.15392e-03_rb,0.13041e-03_rb,0.94463e-04_rb,0.29176e-04_rb /) kao(:, 2, 8, 5) = (/ & & 0.16197e-03_rb,0.19183e-03_rb,0.19544e-03_rb,0.18940e-03_rb,0.18045e-03_rb, & & 0.16606e-03_rb,0.14094e-03_rb,0.10292e-03_rb,0.33234e-04_rb /) kao(:, 3, 8, 5) = (/ & & 0.17149e-03_rb,0.20540e-03_rb,0.21055e-03_rb,0.20432e-03_rb,0.19421e-03_rb, & & 0.17914e-03_rb,0.15214e-03_rb,0.11170e-03_rb,0.37987e-04_rb /) kao(:, 4, 8, 5) = (/ & & 0.18048e-03_rb,0.21966e-03_rb,0.22618e-03_rb,0.22017e-03_rb,0.20926e-03_rb, & & 0.19215e-03_rb,0.16364e-03_rb,0.12118e-03_rb,0.43249e-04_rb /) kao(:, 5, 8, 5) = (/ & & 0.18968e-03_rb,0.23496e-03_rb,0.24258e-03_rb,0.23712e-03_rb,0.22524e-03_rb, & & 0.20589e-03_rb,0.17598e-03_rb,0.13139e-03_rb,0.48772e-04_rb /) kao(:, 1, 9, 5) = (/ & & 0.12535e-03_rb,0.14733e-03_rb,0.14911e-03_rb,0.14464e-03_rb,0.13810e-03_rb, & & 0.12766e-03_rb,0.10804e-03_rb,0.77667e-04_rb,0.31607e-04_rb /) kao(:, 2, 9, 5) = (/ & & 0.13428e-03_rb,0.15826e-03_rb,0.16122e-03_rb,0.15658e-03_rb,0.14914e-03_rb, & & 0.13752e-03_rb,0.11655e-03_rb,0.84956e-04_rb,0.35832e-04_rb /) kao(:, 3, 9, 5) = (/ & & 0.14212e-03_rb,0.16949e-03_rb,0.17392e-03_rb,0.16905e-03_rb,0.16073e-03_rb, & & 0.14802e-03_rb,0.12582e-03_rb,0.92269e-04_rb,0.39990e-04_rb /) kao(:, 4, 9, 5) = (/ & & 0.14955e-03_rb,0.18151e-03_rb,0.18720e-03_rb,0.18233e-03_rb,0.17343e-03_rb, & & 0.15845e-03_rb,0.13559e-03_rb,0.99998e-04_rb,0.44405e-04_rb /) kao(:, 5, 9, 5) = (/ & & 0.15720e-03_rb,0.19441e-03_rb,0.20115e-03_rb,0.19658e-03_rb,0.18679e-03_rb, & & 0.17045e-03_rb,0.14597e-03_rb,0.10853e-03_rb,0.48354e-04_rb /) kao(:, 1,10, 5) = (/ & & 0.10518e-03_rb,0.12283e-03_rb,0.12342e-03_rb,0.11933e-03_rb,0.11376e-03_rb, & & 0.10615e-03_rb,0.89610e-04_rb,0.64322e-04_rb,0.38897e-04_rb /) kao(:, 2,10, 5) = (/ & & 0.11277e-03_rb,0.13167e-03_rb,0.13319e-03_rb,0.12937e-03_rb,0.12328e-03_rb, & & 0.11434e-03_rb,0.96637e-04_rb,0.70434e-04_rb,0.44697e-04_rb /) kao(:, 3,10, 5) = (/ & & 0.11946e-03_rb,0.14071e-03_rb,0.14389e-03_rb,0.14002e-03_rb,0.13292e-03_rb, & & 0.12246e-03_rb,0.10436e-03_rb,0.76473e-04_rb,0.50672e-04_rb /) kao(:, 4,10, 5) = (/ & & 0.12573e-03_rb,0.15045e-03_rb,0.15515e-03_rb,0.15121e-03_rb,0.14368e-03_rb, & & 0.13136e-03_rb,0.11260e-03_rb,0.82864e-04_rb,0.56090e-04_rb /) kao(:, 5,10, 5) = (/ & & 0.13210e-03_rb,0.16128e-03_rb,0.16701e-03_rb,0.16339e-03_rb,0.15508e-03_rb, & & 0.14154e-03_rb,0.12132e-03_rb,0.89973e-04_rb,0.61017e-04_rb /) kao(:, 1,11, 5) = (/ & & 0.90693e-04_rb,0.10606e-03_rb,0.10639e-03_rb,0.10214e-03_rb,0.97041e-04_rb, & & 0.90929e-04_rb,0.76654e-04_rb,0.55448e-04_rb,0.34971e-04_rb /) kao(:, 2,11, 5) = (/ & & 0.96878e-04_rb,0.11346e-03_rb,0.11478e-03_rb,0.11094e-03_rb,0.10496e-03_rb, & & 0.97427e-04_rb,0.82680e-04_rb,0.60468e-04_rb,0.41599e-04_rb /) kao(:, 3,11, 5) = (/ & & 0.10232e-03_rb,0.12125e-03_rb,0.12365e-03_rb,0.11979e-03_rb,0.11346e-03_rb, & & 0.10430e-03_rb,0.89390e-04_rb,0.65549e-04_rb,0.48186e-04_rb /) kao(:, 4,11, 5) = (/ & & 0.10772e-03_rb,0.12969e-03_rb,0.13316e-03_rb,0.12963e-03_rb,0.12290e-03_rb, & & 0.11234e-03_rb,0.96526e-04_rb,0.71097e-04_rb,0.54537e-04_rb /) kao(:, 5,11, 5) = (/ & & 0.11345e-03_rb,0.13912e-03_rb,0.14339e-03_rb,0.14025e-03_rb,0.13275e-03_rb, & & 0.12106e-03_rb,0.10412e-03_rb,0.77240e-04_rb,0.60238e-04_rb /) kao(:, 1,12, 5) = (/ & & 0.77577e-04_rb,0.91005e-04_rb,0.91202e-04_rb,0.87618e-04_rb,0.82974e-04_rb, & & 0.77488e-04_rb,0.65261e-04_rb,0.47539e-04_rb,0.30516e-04_rb /) kao(:, 2,12, 5) = (/ & & 0.82612e-04_rb,0.97349e-04_rb,0.98497e-04_rb,0.95069e-04_rb,0.89699e-04_rb, & & 0.82714e-04_rb,0.70478e-04_rb,0.51645e-04_rb,0.35968e-04_rb /) kao(:, 3,12, 5) = (/ & & 0.87206e-04_rb,0.10402e-03_rb,0.10625e-03_rb,0.10294e-03_rb,0.97013e-04_rb, & & 0.88723e-04_rb,0.76259e-04_rb,0.55960e-04_rb,0.41899e-04_rb /) kao(:, 4,12, 5) = (/ & & 0.91929e-04_rb,0.11153e-03_rb,0.11462e-03_rb,0.11153e-03_rb,0.10500e-03_rb, & & 0.95633e-04_rb,0.82267e-04_rb,0.60868e-04_rb,0.48100e-04_rb /) kao(:, 5,12, 5) = (/ & & 0.97101e-04_rb,0.11996e-03_rb,0.12377e-03_rb,0.12058e-03_rb,0.11342e-03_rb, & & 0.10316e-03_rb,0.88884e-04_rb,0.66077e-04_rb,0.53563e-04_rb /) kao(:, 1,13, 5) = (/ & & 0.65838e-04_rb,0.77620e-04_rb,0.77829e-04_rb,0.74661e-04_rb,0.70473e-04_rb, & & 0.65575e-04_rb,0.55474e-04_rb,0.40441e-04_rb,0.25521e-04_rb /) kao(:, 2,13, 5) = (/ & & 0.69998e-04_rb,0.83015e-04_rb,0.84103e-04_rb,0.81066e-04_rb,0.76507e-04_rb, & & 0.70172e-04_rb,0.59914e-04_rb,0.43882e-04_rb,0.30126e-04_rb /) kao(:, 3,13, 5) = (/ & & 0.74003e-04_rb,0.88878e-04_rb,0.90840e-04_rb,0.88139e-04_rb,0.82951e-04_rb, & & 0.75471e-04_rb,0.64689e-04_rb,0.47652e-04_rb,0.35171e-04_rb /) kao(:, 4,13, 5) = (/ & & 0.78234e-04_rb,0.95561e-04_rb,0.98237e-04_rb,0.95653e-04_rb,0.89770e-04_rb, & & 0.81434e-04_rb,0.69913e-04_rb,0.51882e-04_rb,0.40221e-04_rb /) kao(:, 5,13, 5) = (/ & & 0.82825e-04_rb,0.10313e-03_rb,0.10644e-03_rb,0.10352e-03_rb,0.97040e-04_rb, & & 0.87602e-04_rb,0.75532e-04_rb,0.56387e-04_rb,0.44675e-04_rb /) kao(:, 1, 1, 6) = (/ & & 0.10615e-02_rb,0.12529e-02_rb,0.13083e-02_rb,0.12764e-02_rb,0.11881e-02_rb, & & 0.10853e-02_rb,0.93421e-03_rb,0.71644e-03_rb,0.30757e-03_rb /) kao(:, 2, 1, 6) = (/ & & 0.10918e-02_rb,0.13136e-02_rb,0.13677e-02_rb,0.13350e-02_rb,0.12522e-02_rb, & & 0.11402e-02_rb,0.98392e-03_rb,0.76040e-03_rb,0.35125e-03_rb /) kao(:, 3, 1, 6) = (/ & & 0.11297e-02_rb,0.13742e-02_rb,0.14266e-02_rb,0.13956e-02_rb,0.13143e-02_rb, & & 0.11951e-02_rb,0.10359e-02_rb,0.81032e-03_rb,0.39829e-03_rb /) kao(:, 4, 1, 6) = (/ & & 0.11716e-02_rb,0.14330e-02_rb,0.14865e-02_rb,0.14580e-02_rb,0.13738e-02_rb, & & 0.12536e-02_rb,0.10931e-02_rb,0.86605e-03_rb,0.44907e-03_rb /) kao(:, 5, 1, 6) = (/ & & 0.12137e-02_rb,0.14919e-02_rb,0.15477e-02_rb,0.15196e-02_rb,0.14358e-02_rb, & & 0.13166e-02_rb,0.11546e-02_rb,0.92748e-03_rb,0.50593e-03_rb /) kao(:, 1, 2, 6) = (/ & & 0.92435e-03_rb,0.10874e-02_rb,0.11275e-02_rb,0.11015e-02_rb,0.10311e-02_rb, & & 0.94231e-03_rb,0.80960e-03_rb,0.63033e-03_rb,0.26663e-03_rb /) kao(:, 2, 2, 6) = (/ & & 0.95885e-03_rb,0.11428e-02_rb,0.11829e-02_rb,0.11541e-02_rb,0.10849e-02_rb, & & 0.98930e-03_rb,0.85567e-03_rb,0.67200e-03_rb,0.30230e-03_rb /) kao(:, 3, 2, 6) = (/ & & 0.99776e-03_rb,0.11978e-02_rb,0.12376e-02_rb,0.12093e-02_rb,0.11390e-02_rb, & & 0.10392e-02_rb,0.90558e-03_rb,0.71833e-03_rb,0.34245e-03_rb /) kao(:, 4, 2, 6) = (/ & & 0.10380e-02_rb,0.12537e-02_rb,0.12935e-02_rb,0.12652e-02_rb,0.11933e-02_rb, & & 0.10921e-02_rb,0.95939e-03_rb,0.76948e-03_rb,0.38641e-03_rb /) kao(:, 5, 2, 6) = (/ & & 0.10779e-02_rb,0.13105e-02_rb,0.13515e-02_rb,0.13214e-02_rb,0.12497e-02_rb, & & 0.11514e-02_rb,0.10182e-02_rb,0.82552e-03_rb,0.43428e-03_rb /) kao(:, 1, 3, 6) = (/ & & 0.79958e-03_rb,0.93053e-03_rb,0.95669e-03_rb,0.93720e-03_rb,0.88165e-03_rb, & & 0.80178e-03_rb,0.69131e-03_rb,0.54027e-03_rb,0.22082e-03_rb /) kao(:, 2, 3, 6) = (/ & & 0.83354e-03_rb,0.98064e-03_rb,0.10079e-02_rb,0.98484e-03_rb,0.92834e-03_rb, & & 0.84387e-03_rb,0.73304e-03_rb,0.57932e-03_rb,0.25149e-03_rb /) kao(:, 3, 3, 6) = (/ & & 0.87012e-03_rb,0.10320e-02_rb,0.10600e-02_rb,0.10346e-02_rb,0.97491e-03_rb, & & 0.88683e-03_rb,0.77649e-03_rb,0.62208e-03_rb,0.28527e-03_rb /) kao(:, 4, 3, 6) = (/ & & 0.90759e-03_rb,0.10841e-02_rb,0.11129e-02_rb,0.10858e-02_rb,0.10238e-02_rb, & & 0.93520e-03_rb,0.82494e-03_rb,0.66854e-03_rb,0.32199e-03_rb /) kao(:, 5, 3, 6) = (/ & & 0.94443e-03_rb,0.11378e-02_rb,0.11668e-02_rb,0.11369e-02_rb,0.10746e-02_rb, & & 0.98835e-03_rb,0.87764e-03_rb,0.71868e-03_rb,0.36165e-03_rb /) kao(:, 1, 4, 6) = (/ & & 0.68628e-03_rb,0.79104e-03_rb,0.80863e-03_rb,0.79421e-03_rb,0.74681e-03_rb, & & 0.67391e-03_rb,0.58210e-03_rb,0.45790e-03_rb,0.18137e-03_rb /) kao(:, 2, 4, 6) = (/ & & 0.71790e-03_rb,0.83686e-03_rb,0.85591e-03_rb,0.83705e-03_rb,0.78808e-03_rb, & & 0.71172e-03_rb,0.61822e-03_rb,0.49245e-03_rb,0.20729e-03_rb /) kao(:, 3, 4, 6) = (/ & & 0.75117e-03_rb,0.88426e-03_rb,0.90462e-03_rb,0.88167e-03_rb,0.82945e-03_rb, & & 0.75050e-03_rb,0.65652e-03_rb,0.53019e-03_rb,0.23455e-03_rb /) kao(:, 4, 4, 6) = (/ & & 0.78430e-03_rb,0.93252e-03_rb,0.95418e-03_rb,0.92872e-03_rb,0.87301e-03_rb, & & 0.79337e-03_rb,0.69871e-03_rb,0.57160e-03_rb,0.26520e-03_rb /) kao(:, 5, 4, 6) = (/ & & 0.81683e-03_rb,0.98168e-03_rb,0.10045e-02_rb,0.97638e-03_rb,0.92000e-03_rb, & & 0.84034e-03_rb,0.74480e-03_rb,0.61518e-03_rb,0.29808e-03_rb /) kao(:, 1, 5, 6) = (/ & & 0.58497e-03_rb,0.66935e-03_rb,0.68301e-03_rb,0.66951e-03_rb,0.62962e-03_rb, & & 0.56579e-03_rb,0.48826e-03_rb,0.38379e-03_rb,0.14576e-03_rb /) kao(:, 2, 5, 6) = (/ & & 0.61310e-03_rb,0.71031e-03_rb,0.72592e-03_rb,0.70978e-03_rb,0.66652e-03_rb, & & 0.59753e-03_rb,0.51826e-03_rb,0.41385e-03_rb,0.16772e-03_rb /) kao(:, 3, 5, 6) = (/ & & 0.64179e-03_rb,0.75306e-03_rb,0.77095e-03_rb,0.75074e-03_rb,0.70458e-03_rb, & & 0.63276e-03_rb,0.55157e-03_rb,0.44695e-03_rb,0.19067e-03_rb /) kao(:, 4, 5, 6) = (/ & & 0.67039e-03_rb,0.79634e-03_rb,0.81655e-03_rb,0.79420e-03_rb,0.74416e-03_rb, & & 0.67043e-03_rb,0.58781e-03_rb,0.48223e-03_rb,0.21651e-03_rb /) kao(:, 5, 5, 6) = (/ & & 0.69870e-03_rb,0.83972e-03_rb,0.86240e-03_rb,0.83794e-03_rb,0.78674e-03_rb, & & 0.71204e-03_rb,0.62768e-03_rb,0.51780e-03_rb,0.24414e-03_rb /) kao(:, 1, 6, 6) = (/ & & 0.49594e-03_rb,0.56319e-03_rb,0.57248e-03_rb,0.55950e-03_rb,0.52657e-03_rb, & & 0.47274e-03_rb,0.40631e-03_rb,0.31914e-03_rb,0.11737e-03_rb /) kao(:, 2, 6, 6) = (/ & & 0.51946e-03_rb,0.59932e-03_rb,0.61091e-03_rb,0.59626e-03_rb,0.56011e-03_rb, & & 0.50076e-03_rb,0.43158e-03_rb,0.34422e-03_rb,0.13452e-03_rb /) kao(:, 3, 6, 6) = (/ & & 0.54355e-03_rb,0.63601e-03_rb,0.65111e-03_rb,0.63466e-03_rb,0.59552e-03_rb, & & 0.53122e-03_rb,0.45996e-03_rb,0.37172e-03_rb,0.15179e-03_rb /) kao(:, 4, 6, 6) = (/ & & 0.56762e-03_rb,0.67321e-03_rb,0.69130e-03_rb,0.67433e-03_rb,0.63164e-03_rb, & & 0.56508e-03_rb,0.49145e-03_rb,0.39979e-03_rb,0.17118e-03_rb /) kao(:, 5, 6, 6) = (/ & & 0.59180e-03_rb,0.71065e-03_rb,0.73195e-03_rb,0.71355e-03_rb,0.66898e-03_rb, & & 0.60268e-03_rb,0.52617e-03_rb,0.43141e-03_rb,0.19263e-03_rb /) kao(:, 1, 7, 6) = (/ & & 0.41932e-03_rb,0.47346e-03_rb,0.47850e-03_rb,0.46519e-03_rb,0.43628e-03_rb, & & 0.39132e-03_rb,0.33641e-03_rb,0.26485e-03_rb,0.10000e-03_rb /) kao(:, 2, 7, 6) = (/ & & 0.43848e-03_rb,0.50411e-03_rb,0.51171e-03_rb,0.49803e-03_rb,0.46737e-03_rb, & & 0.41801e-03_rb,0.35878e-03_rb,0.28532e-03_rb,0.11408e-03_rb /) kao(:, 3, 7, 6) = (/ & & 0.45836e-03_rb,0.53506e-03_rb,0.54578e-03_rb,0.53230e-03_rb,0.49970e-03_rb, & & 0.44506e-03_rb,0.38306e-03_rb,0.30828e-03_rb,0.13001e-03_rb /) kao(:, 4, 7, 6) = (/ & & 0.47855e-03_rb,0.56639e-03_rb,0.58020e-03_rb,0.56722e-03_rb,0.53202e-03_rb, & & 0.47546e-03_rb,0.41064e-03_rb,0.33104e-03_rb,0.14676e-03_rb /) kao(:, 5, 7, 6) = (/ & & 0.49885e-03_rb,0.59805e-03_rb,0.61555e-03_rb,0.60152e-03_rb,0.56466e-03_rb, & & 0.50884e-03_rb,0.44071e-03_rb,0.35766e-03_rb,0.16471e-03_rb /) kao(:, 1, 8, 6) = (/ & & 0.35434e-03_rb,0.39784e-03_rb,0.40003e-03_rb,0.38643e-03_rb,0.36029e-03_rb, & & 0.32228e-03_rb,0.27705e-03_rb,0.21936e-03_rb,0.85304e-04_rb /) kao(:, 2, 8, 6) = (/ & & 0.36972e-03_rb,0.42325e-03_rb,0.42802e-03_rb,0.41467e-03_rb,0.38745e-03_rb, & & 0.34637e-03_rb,0.29590e-03_rb,0.23622e-03_rb,0.97535e-04_rb /) kao(:, 3, 8, 6) = (/ & & 0.38589e-03_rb,0.44905e-03_rb,0.45611e-03_rb,0.44402e-03_rb,0.41681e-03_rb, & & 0.37125e-03_rb,0.31793e-03_rb,0.25523e-03_rb,0.11156e-03_rb /) kao(:, 4, 8, 6) = (/ & & 0.40282e-03_rb,0.47505e-03_rb,0.48489e-03_rb,0.47391e-03_rb,0.44440e-03_rb, & & 0.39797e-03_rb,0.34220e-03_rb,0.27395e-03_rb,0.12650e-03_rb /) kao(:, 5, 8, 6) = (/ & & 0.41971e-03_rb,0.50175e-03_rb,0.51511e-03_rb,0.50365e-03_rb,0.47246e-03_rb, & & 0.42646e-03_rb,0.36852e-03_rb,0.29705e-03_rb,0.14272e-03_rb /) kao(:, 1, 9, 6) = (/ & & 0.29829e-03_rb,0.33364e-03_rb,0.33392e-03_rb,0.32092e-03_rb,0.29738e-03_rb, & & 0.26469e-03_rb,0.22642e-03_rb,0.18017e-03_rb,0.77064e-04_rb /) kao(:, 2, 9, 6) = (/ & & 0.31054e-03_rb,0.35463e-03_rb,0.35704e-03_rb,0.34432e-03_rb,0.32083e-03_rb, & & 0.28575e-03_rb,0.24402e-03_rb,0.19441e-03_rb,0.87743e-04_rb /) kao(:, 3, 9, 6) = (/ & & 0.32389e-03_rb,0.37581e-03_rb,0.38023e-03_rb,0.36873e-03_rb,0.34562e-03_rb, & & 0.30799e-03_rb,0.26274e-03_rb,0.21037e-03_rb,0.99662e-04_rb /) kao(:, 4, 9, 6) = (/ & & 0.33808e-03_rb,0.39748e-03_rb,0.40404e-03_rb,0.39387e-03_rb,0.36968e-03_rb, & & 0.33141e-03_rb,0.28405e-03_rb,0.22647e-03_rb,0.11282e-03_rb /) kao(:, 5, 9, 6) = (/ & & 0.35231e-03_rb,0.41983e-03_rb,0.42961e-03_rb,0.41951e-03_rb,0.39352e-03_rb, & & 0.35528e-03_rb,0.30599e-03_rb,0.24648e-03_rb,0.12841e-03_rb /) kao(:, 1,10, 6) = (/ & & 0.25036e-03_rb,0.27999e-03_rb,0.27949e-03_rb,0.26793e-03_rb,0.24735e-03_rb, & & 0.21800e-03_rb,0.18604e-03_rb,0.14807e-03_rb,0.93146e-04_rb /) kao(:, 2,10, 6) = (/ & & 0.26009e-03_rb,0.29745e-03_rb,0.29870e-03_rb,0.28727e-03_rb,0.26656e-03_rb, & & 0.23674e-03_rb,0.20160e-03_rb,0.16012e-03_rb,0.10408e-03_rb /) kao(:, 3,10, 6) = (/ & & 0.27084e-03_rb,0.31508e-03_rb,0.31779e-03_rb,0.30720e-03_rb,0.28751e-03_rb, & & 0.25636e-03_rb,0.21818e-03_rb,0.17357e-03_rb,0.11611e-03_rb /) kao(:, 4,10, 6) = (/ & & 0.28251e-03_rb,0.33335e-03_rb,0.33759e-03_rb,0.32814e-03_rb,0.30785e-03_rb, & & 0.27625e-03_rb,0.23573e-03_rb,0.18761e-03_rb,0.12959e-03_rb /) kao(:, 5,10, 6) = (/ & & 0.29455e-03_rb,0.35211e-03_rb,0.35903e-03_rb,0.34997e-03_rb,0.32871e-03_rb, & & 0.29658e-03_rb,0.25454e-03_rb,0.20476e-03_rb,0.14404e-03_rb /) kao(:, 1,11, 6) = (/ & & 0.21327e-03_rb,0.24042e-03_rb,0.24026e-03_rb,0.23068e-03_rb,0.21276e-03_rb, & & 0.18665e-03_rb,0.15901e-03_rb,0.12570e-03_rb,0.94295e-04_rb /) kao(:, 2,11, 6) = (/ & & 0.22127e-03_rb,0.25493e-03_rb,0.25609e-03_rb,0.24693e-03_rb,0.22931e-03_rb, & & 0.20329e-03_rb,0.17265e-03_rb,0.13686e-03_rb,0.10535e-03_rb /) kao(:, 3,11, 6) = (/ & & 0.23042e-03_rb,0.26962e-03_rb,0.27233e-03_rb,0.26383e-03_rb,0.24677e-03_rb, & & 0.22030e-03_rb,0.18718e-03_rb,0.14788e-03_rb,0.11369e-03_rb /) kao(:, 4,11, 6) = (/ & & 0.24025e-03_rb,0.28500e-03_rb,0.28961e-03_rb,0.28171e-03_rb,0.26402e-03_rb, & & 0.23726e-03_rb,0.20232e-03_rb,0.16110e-03_rb,0.12526e-03_rb /) kao(:, 5,11, 6) = (/ & & 0.25035e-03_rb,0.30139e-03_rb,0.30818e-03_rb,0.30033e-03_rb,0.28246e-03_rb, & & 0.25541e-03_rb,0.21869e-03_rb,0.17592e-03_rb,0.13806e-03_rb /) kao(:, 1,12, 6) = (/ & & 0.18213e-03_rb,0.20563e-03_rb,0.20558e-03_rb,0.19744e-03_rb,0.18197e-03_rb, & & 0.15967e-03_rb,0.13562e-03_rb,0.10709e-03_rb,0.84300e-04_rb /) kao(:, 2,12, 6) = (/ & & 0.18873e-03_rb,0.21755e-03_rb,0.21877e-03_rb,0.21098e-03_rb,0.19617e-03_rb, & & 0.17419e-03_rb,0.14735e-03_rb,0.11726e-03_rb,0.96090e-04_rb /) kao(:, 3,12, 6) = (/ & & 0.19633e-03_rb,0.22994e-03_rb,0.23250e-03_rb,0.22538e-03_rb,0.21092e-03_rb, & & 0.18881e-03_rb,0.15987e-03_rb,0.12650e-03_rb,0.10477e-03_rb /) kao(:, 4,12, 6) = (/ & & 0.20445e-03_rb,0.24309e-03_rb,0.24729e-03_rb,0.24084e-03_rb,0.22613e-03_rb, & & 0.20371e-03_rb,0.17330e-03_rb,0.13785e-03_rb,0.11268e-03_rb /) kao(:, 5,12, 6) = (/ & & 0.21299e-03_rb,0.25719e-03_rb,0.26315e-03_rb,0.25711e-03_rb,0.24260e-03_rb, & & 0.21944e-03_rb,0.18764e-03_rb,0.15038e-03_rb,0.12367e-03_rb /) kao(:, 1,13, 6) = (/ & & 0.15527e-03_rb,0.17641e-03_rb,0.17566e-03_rb,0.16836e-03_rb,0.15534e-03_rb, & & 0.13636e-03_rb,0.11530e-03_rb,0.91307e-04_rb,0.70205e-04_rb /) kao(:, 2,13, 6) = (/ & & 0.16096e-03_rb,0.18612e-03_rb,0.18657e-03_rb,0.17973e-03_rb,0.16702e-03_rb, & & 0.14851e-03_rb,0.12550e-03_rb,0.99145e-04_rb,0.79984e-04_rb /) kao(:, 3,13, 6) = (/ & & 0.16748e-03_rb,0.19648e-03_rb,0.19822e-03_rb,0.19209e-03_rb,0.17957e-03_rb, & & 0.16107e-03_rb,0.13652e-03_rb,0.10753e-03_rb,0.86067e-04_rb /) kao(:, 4,13, 6) = (/ & & 0.17450e-03_rb,0.20751e-03_rb,0.21098e-03_rb,0.20534e-03_rb,0.19295e-03_rb, & & 0.17420e-03_rb,0.14816e-03_rb,0.11772e-03_rb,0.93252e-04_rb /) kao(:, 5,13, 6) = (/ & & 0.18233e-03_rb,0.21950e-03_rb,0.22442e-03_rb,0.21958e-03_rb,0.20754e-03_rb, & & 0.18842e-03_rb,0.16097e-03_rb,0.12851e-03_rb,0.10278e-03_rb /) kao(:, 1, 1, 7) = (/ & & 0.23852e-02_rb,0.24955e-02_rb,0.25247e-02_rb,0.24784e-02_rb,0.23525e-02_rb, & & 0.21437e-02_rb,0.18704e-02_rb,0.15353e-02_rb,0.99116e-03_rb /) kao(:, 2, 1, 7) = (/ & & 0.23950e-02_rb,0.25560e-02_rb,0.26150e-02_rb,0.25851e-02_rb,0.24612e-02_rb, & & 0.22632e-02_rb,0.20004e-02_rb,0.16585e-02_rb,0.11087e-02_rb /) kao(:, 3, 1, 7) = (/ & & 0.24020e-02_rb,0.26226e-02_rb,0.27112e-02_rb,0.26940e-02_rb,0.25772e-02_rb, & & 0.23915e-02_rb,0.21332e-02_rb,0.17859e-02_rb,0.12435e-02_rb /) kao(:, 4, 1, 7) = (/ & & 0.24093e-02_rb,0.26930e-02_rb,0.28096e-02_rb,0.28038e-02_rb,0.27017e-02_rb, & & 0.25227e-02_rb,0.22696e-02_rb,0.19198e-02_rb,0.13912e-02_rb /) kao(:, 5, 1, 7) = (/ & & 0.24224e-02_rb,0.27647e-02_rb,0.29093e-02_rb,0.29173e-02_rb,0.28299e-02_rb, & & 0.26579e-02_rb,0.24103e-02_rb,0.20612e-02_rb,0.15535e-02_rb /) kao(:, 1, 2, 7) = (/ & & 0.20974e-02_rb,0.22118e-02_rb,0.22296e-02_rb,0.21778e-02_rb,0.20625e-02_rb, & & 0.18815e-02_rb,0.16530e-02_rb,0.13562e-02_rb,0.82141e-03_rb /) kao(:, 2, 2, 7) = (/ & & 0.21046e-02_rb,0.22702e-02_rb,0.23143e-02_rb,0.22813e-02_rb,0.21720e-02_rb, & & 0.19971e-02_rb,0.17712e-02_rb,0.14678e-02_rb,0.93003e-03_rb /) kao(:, 3, 2, 7) = (/ & & 0.21127e-02_rb,0.23326e-02_rb,0.24062e-02_rb,0.23885e-02_rb,0.22861e-02_rb, & & 0.21193e-02_rb,0.18939e-02_rb,0.15834e-02_rb,0.10463e-02_rb /) kao(:, 4, 2, 7) = (/ & & 0.21272e-02_rb,0.23971e-02_rb,0.25002e-02_rb,0.24977e-02_rb,0.24074e-02_rb, & & 0.22461e-02_rb,0.20177e-02_rb,0.17030e-02_rb,0.11732e-02_rb /) kao(:, 5, 2, 7) = (/ & & 0.21483e-02_rb,0.24652e-02_rb,0.25947e-02_rb,0.26138e-02_rb,0.25341e-02_rb, & & 0.23755e-02_rb,0.21449e-02_rb,0.18299e-02_rb,0.13107e-02_rb /) kao(:, 1, 3, 7) = (/ & & 0.18244e-02_rb,0.19320e-02_rb,0.19387e-02_rb,0.18795e-02_rb,0.17712e-02_rb, & & 0.16188e-02_rb,0.14258e-02_rb,0.11664e-02_rb,0.66404e-03_rb /) kao(:, 2, 3, 7) = (/ & & 0.18322e-02_rb,0.19846e-02_rb,0.20150e-02_rb,0.19741e-02_rb,0.18746e-02_rb, & & 0.17292e-02_rb,0.15311e-02_rb,0.12668e-02_rb,0.75772e-03_rb /) kao(:, 3, 3, 7) = (/ & & 0.18451e-02_rb,0.20412e-02_rb,0.20960e-02_rb,0.20746e-02_rb,0.19871e-02_rb, & & 0.18444e-02_rb,0.16430e-02_rb,0.13711e-02_rb,0.85470e-03_rb /) kao(:, 4, 3, 7) = (/ & & 0.18657e-02_rb,0.21020e-02_rb,0.21815e-02_rb,0.21798e-02_rb,0.21034e-02_rb, & & 0.19629e-02_rb,0.17571e-02_rb,0.14786e-02_rb,0.95834e-03_rb /) kao(:, 5, 3, 7) = (/ & & 0.18943e-02_rb,0.21674e-02_rb,0.22717e-02_rb,0.22915e-02_rb,0.22239e-02_rb, & & 0.20844e-02_rb,0.18739e-02_rb,0.15906e-02_rb,0.10775e-02_rb /) kao(:, 1, 4, 7) = (/ & & 0.15758e-02_rb,0.16711e-02_rb,0.16675e-02_rb,0.16043e-02_rb,0.15088e-02_rb, & & 0.13785e-02_rb,0.12140e-02_rb,0.98780e-03_rb,0.53258e-03_rb /) kao(:, 2, 4, 7) = (/ & & 0.15867e-02_rb,0.17169e-02_rb,0.17338e-02_rb,0.16891e-02_rb,0.16022e-02_rb, & & 0.14807e-02_rb,0.13108e-02_rb,0.10774e-02_rb,0.61127e-03_rb /) kao(:, 3, 4, 7) = (/ & & 0.16043e-02_rb,0.17687e-02_rb,0.18047e-02_rb,0.17788e-02_rb,0.17054e-02_rb, & & 0.15869e-02_rb,0.14121e-02_rb,0.11700e-02_rb,0.69092e-03_rb /) kao(:, 4, 4, 7) = (/ & & 0.16308e-02_rb,0.18263e-02_rb,0.18817e-02_rb,0.18741e-02_rb,0.18139e-02_rb, & & 0.16955e-02_rb,0.15162e-02_rb,0.12673e-02_rb,0.77859e-03_rb /) kao(:, 5, 4, 7) = (/ & & 0.16631e-02_rb,0.18894e-02_rb,0.19653e-02_rb,0.19764e-02_rb,0.19240e-02_rb, & & 0.18069e-02_rb,0.16237e-02_rb,0.13697e-02_rb,0.87657e-03_rb /) kao(:, 1, 5, 7) = (/ & & 0.13575e-02_rb,0.14376e-02_rb,0.14238e-02_rb,0.13660e-02_rb,0.12806e-02_rb, & & 0.11664e-02_rb,0.10231e-02_rb,0.82794e-03_rb,0.42595e-03_rb /) kao(:, 2, 5, 7) = (/ & & 0.13711e-02_rb,0.14787e-02_rb,0.14807e-02_rb,0.14369e-02_rb,0.13637e-02_rb, & & 0.12570e-02_rb,0.11125e-02_rb,0.90729e-03_rb,0.48990e-03_rb /) kao(:, 3, 5, 7) = (/ & & 0.13932e-02_rb,0.15262e-02_rb,0.15434e-02_rb,0.15158e-02_rb,0.14536e-02_rb, & & 0.13534e-02_rb,0.12033e-02_rb,0.99132e-03_rb,0.55848e-03_rb /) kao(:, 4, 5, 7) = (/ & & 0.14217e-02_rb,0.15804e-02_rb,0.16130e-02_rb,0.16009e-02_rb,0.15482e-02_rb, & & 0.14537e-02_rb,0.12991e-02_rb,0.10796e-02_rb,0.63246e-03_rb /) kao(:, 5, 5, 7) = (/ & & 0.14548e-02_rb,0.16406e-02_rb,0.16899e-02_rb,0.16924e-02_rb,0.16473e-02_rb, & & 0.15538e-02_rb,0.13988e-02_rb,0.11736e-02_rb,0.71422e-03_rb /) kao(:, 1, 6, 7) = (/ & & 0.11657e-02_rb,0.12310e-02_rb,0.12114e-02_rb,0.11593e-02_rb,0.10807e-02_rb, & & 0.97870e-03_rb,0.85220e-03_rb,0.68679e-03_rb,0.33278e-03_rb /) kao(:, 2, 6, 7) = (/ & & 0.11817e-02_rb,0.12689e-02_rb,0.12606e-02_rb,0.12200e-02_rb,0.11515e-02_rb, & & 0.10575e-02_rb,0.93300e-03_rb,0.75653e-03_rb,0.38390e-03_rb /) kao(:, 3, 6, 7) = (/ & & 0.12052e-02_rb,0.13132e-02_rb,0.13166e-02_rb,0.12868e-02_rb,0.12281e-02_rb, & & 0.11419e-02_rb,0.10150e-02_rb,0.83054e-03_rb,0.44291e-03_rb /) kao(:, 4, 6, 7) = (/ & & 0.12337e-02_rb,0.13638e-02_rb,0.13800e-02_rb,0.13608e-02_rb,0.13105e-02_rb, & & 0.12294e-02_rb,0.11010e-02_rb,0.91218e-03_rb,0.50714e-03_rb /) kao(:, 5, 6, 7) = (/ & & 0.12657e-02_rb,0.14200e-02_rb,0.14498e-02_rb,0.14421e-02_rb,0.13994e-02_rb, & & 0.13201e-02_rb,0.11915e-02_rb,0.99447e-03_rb,0.57759e-03_rb /) kao(:, 1, 7, 7) = (/ & & 0.99495e-03_rb,0.10489e-02_rb,0.10293e-02_rb,0.98184e-03_rb,0.91156e-03_rb, & & 0.82083e-03_rb,0.70758e-03_rb,0.56387e-03_rb,0.26025e-03_rb /) kao(:, 2, 7, 7) = (/ & & 0.10122e-02_rb,0.10837e-02_rb,0.10724e-02_rb,0.10344e-02_rb,0.96982e-03_rb, & & 0.88589e-03_rb,0.77530e-03_rb,0.62605e-03_rb,0.29914e-03_rb /) kao(:, 3, 7, 7) = (/ & & 0.10351e-02_rb,0.11253e-02_rb,0.11236e-02_rb,0.10922e-02_rb,0.10352e-02_rb, & & 0.95724e-03_rb,0.84889e-03_rb,0.69076e-03_rb,0.34305e-03_rb /) kao(:, 4, 7, 7) = (/ & & 0.10622e-02_rb,0.11721e-02_rb,0.11813e-02_rb,0.11564e-02_rb,0.11065e-02_rb, & & 0.10331e-02_rb,0.92494e-03_rb,0.76297e-03_rb,0.39175e-03_rb /) kao(:, 5, 7, 7) = (/ & & 0.10903e-02_rb,0.12244e-02_rb,0.12441e-02_rb,0.12287e-02_rb,0.11845e-02_rb, & & 0.11129e-02_rb,0.10035e-02_rb,0.83648e-03_rb,0.44712e-03_rb /) kao(:, 1, 8, 7) = (/ & & 0.84532e-03_rb,0.88892e-03_rb,0.86965e-03_rb,0.82727e-03_rb,0.76674e-03_rb, & & 0.68807e-03_rb,0.58679e-03_rb,0.46179e-03_rb,0.21931e-03_rb /) kao(:, 2, 8, 7) = (/ & & 0.86227e-03_rb,0.92051e-03_rb,0.90826e-03_rb,0.87315e-03_rb,0.81675e-03_rb, & & 0.74173e-03_rb,0.64502e-03_rb,0.51436e-03_rb,0.25538e-03_rb /) kao(:, 3, 8, 7) = (/ & & 0.88387e-03_rb,0.95827e-03_rb,0.95473e-03_rb,0.92480e-03_rb,0.87135e-03_rb, & & 0.80090e-03_rb,0.70594e-03_rb,0.57141e-03_rb,0.29275e-03_rb /) kao(:, 4, 8, 7) = (/ & & 0.90659e-03_rb,0.10014e-02_rb,0.10072e-02_rb,0.98186e-03_rb,0.93348e-03_rb, & & 0.86582e-03_rb,0.77148e-03_rb,0.63431e-03_rb,0.33522e-03_rb /) kao(:, 5, 8, 7) = (/ & & 0.93066e-03_rb,0.10477e-02_rb,0.10640e-02_rb,0.10456e-02_rb,0.10022e-02_rb, & & 0.93597e-03_rb,0.84005e-03_rb,0.69831e-03_rb,0.38214e-03_rb /) kao(:, 1, 9, 7) = (/ & & 0.71681e-03_rb,0.75151e-03_rb,0.73165e-03_rb,0.69303e-03_rb,0.64106e-03_rb, & & 0.57326e-03_rb,0.48762e-03_rb,0.37724e-03_rb,0.19963e-03_rb /) kao(:, 2, 9, 7) = (/ & & 0.73278e-03_rb,0.77936e-03_rb,0.76580e-03_rb,0.73272e-03_rb,0.68369e-03_rb, & & 0.61851e-03_rb,0.53463e-03_rb,0.42190e-03_rb,0.23258e-03_rb /) kao(:, 3, 9, 7) = (/ & & 0.75147e-03_rb,0.81327e-03_rb,0.80692e-03_rb,0.77827e-03_rb,0.73101e-03_rb, & & 0.66869e-03_rb,0.58582e-03_rb,0.47030e-03_rb,0.26770e-03_rb /) kao(:, 4, 9, 7) = (/ & & 0.77011e-03_rb,0.85035e-03_rb,0.85331e-03_rb,0.82912e-03_rb,0.78414e-03_rb, & & 0.72425e-03_rb,0.64047e-03_rb,0.52434e-03_rb,0.30603e-03_rb /) kao(:, 5, 9, 7) = (/ & & 0.79031e-03_rb,0.89033e-03_rb,0.90223e-03_rb,0.88462e-03_rb,0.84489e-03_rb, & & 0.78478e-03_rb,0.70032e-03_rb,0.57826e-03_rb,0.34848e-03_rb /) kao(:, 1,10, 7) = (/ & & 0.60860e-03_rb,0.63631e-03_rb,0.61722e-03_rb,0.58182e-03_rb,0.53631e-03_rb, & & 0.47875e-03_rb,0.40598e-03_rb,0.31001e-03_rb,0.21716e-03_rb /) kao(:, 2,10, 7) = (/ & & 0.62300e-03_rb,0.66096e-03_rb,0.64723e-03_rb,0.61624e-03_rb,0.57283e-03_rb, & & 0.51614e-03_rb,0.44515e-03_rb,0.34783e-03_rb,0.24030e-03_rb /) kao(:, 3,10, 7) = (/ & & 0.63811e-03_rb,0.69041e-03_rb,0.68320e-03_rb,0.65609e-03_rb,0.61386e-03_rb, & & 0.55902e-03_rb,0.48770e-03_rb,0.38933e-03_rb,0.26729e-03_rb /) kao(:, 4,10, 7) = (/ & & 0.65360e-03_rb,0.72213e-03_rb,0.72254e-03_rb,0.70011e-03_rb,0.66034e-03_rb, & & 0.60659e-03_rb,0.53507e-03_rb,0.43477e-03_rb,0.29849e-03_rb /) kao(:, 5,10, 7) = (/ & & 0.67038e-03_rb,0.75665e-03_rb,0.76418e-03_rb,0.74727e-03_rb,0.71207e-03_rb, & & 0.65924e-03_rb,0.58660e-03_rb,0.48108e-03_rb,0.33464e-03_rb /) kao(:, 1,11, 7) = (/ & & 0.52185e-03_rb,0.54797e-03_rb,0.53190e-03_rb,0.50128e-03_rb,0.46230e-03_rb, & & 0.41291e-03_rb,0.35086e-03_rb,0.26843e-03_rb,0.22407e-03_rb /) kao(:, 2,11, 7) = (/ & & 0.53416e-03_rb,0.57111e-03_rb,0.56029e-03_rb,0.53286e-03_rb,0.49524e-03_rb, & & 0.44633e-03_rb,0.38530e-03_rb,0.30138e-03_rb,0.24793e-03_rb /) kao(:, 3,11, 7) = (/ & & 0.54635e-03_rb,0.59685e-03_rb,0.59183e-03_rb,0.56852e-03_rb,0.53236e-03_rb, & & 0.48455e-03_rb,0.42287e-03_rb,0.33910e-03_rb,0.27073e-03_rb /) kao(:, 4,11, 7) = (/ & & 0.55941e-03_rb,0.62493e-03_rb,0.62582e-03_rb,0.60673e-03_rb,0.57348e-03_rb, & & 0.52713e-03_rb,0.46523e-03_rb,0.37861e-03_rb,0.29520e-03_rb /) kao(:, 5,11, 7) = (/ & & 0.57459e-03_rb,0.65537e-03_rb,0.66217e-03_rb,0.64854e-03_rb,0.61857e-03_rb, & & 0.57343e-03_rb,0.51159e-03_rb,0.41997e-03_rb,0.32408e-03_rb /) kao(:, 1,12, 7) = (/ & & 0.44547e-03_rb,0.47205e-03_rb,0.45856e-03_rb,0.43259e-03_rb,0.39885e-03_rb, & & 0.35629e-03_rb,0.30273e-03_rb,0.23099e-03_rb,0.20507e-03_rb /) kao(:, 2,12, 7) = (/ & & 0.45530e-03_rb,0.49200e-03_rb,0.48355e-03_rb,0.46058e-03_rb,0.42831e-03_rb, & & 0.38615e-03_rb,0.33301e-03_rb,0.25970e-03_rb,0.22582e-03_rb /) kao(:, 3,12, 7) = (/ & & 0.46565e-03_rb,0.51443e-03_rb,0.51077e-03_rb,0.49108e-03_rb,0.46067e-03_rb, & & 0.41962e-03_rb,0.36657e-03_rb,0.29355e-03_rb,0.24853e-03_rb /) kao(:, 4,12, 7) = (/ & & 0.47732e-03_rb,0.53905e-03_rb,0.54027e-03_rb,0.52415e-03_rb,0.49634e-03_rb, & & 0.45650e-03_rb,0.40422e-03_rb,0.32887e-03_rb,0.26943e-03_rb /) kao(:, 5,12, 7) = (/ & & 0.49131e-03_rb,0.56624e-03_rb,0.57259e-03_rb,0.56091e-03_rb,0.53532e-03_rb, & & 0.49724e-03_rb,0.44494e-03_rb,0.36671e-03_rb,0.29370e-03_rb /) kao(:, 1,13, 7) = (/ & & 0.37861e-03_rb,0.40433e-03_rb,0.39425e-03_rb,0.37277e-03_rb,0.34384e-03_rb, & & 0.30718e-03_rb,0.26082e-03_rb,0.19813e-03_rb,0.17021e-03_rb /) kao(:, 2,13, 7) = (/ & & 0.38646e-03_rb,0.42180e-03_rb,0.41569e-03_rb,0.39676e-03_rb,0.36941e-03_rb, & & 0.33370e-03_rb,0.28746e-03_rb,0.22445e-03_rb,0.18768e-03_rb /) kao(:, 3,13, 7) = (/ & & 0.39522e-03_rb,0.44150e-03_rb,0.43928e-03_rb,0.42293e-03_rb,0.39746e-03_rb, & & 0.36268e-03_rb,0.31709e-03_rb,0.25391e-03_rb,0.20463e-03_rb /) kao(:, 4,13, 7) = (/ & & 0.40576e-03_rb,0.46362e-03_rb,0.46497e-03_rb,0.45178e-03_rb,0.42852e-03_rb, & & 0.39486e-03_rb,0.34992e-03_rb,0.28472e-03_rb,0.22430e-03_rb /) kao(:, 5,13, 7) = (/ & & 0.41810e-03_rb,0.48813e-03_rb,0.49424e-03_rb,0.48434e-03_rb,0.46280e-03_rb, & & 0.43027e-03_rb,0.38540e-03_rb,0.31863e-03_rb,0.24541e-03_rb /) kao(:, 1, 1, 8) = (/ & & 0.52571e-02_rb,0.51649e-02_rb,0.50998e-02_rb,0.49978e-02_rb,0.48299e-02_rb, & & 0.45478e-02_rb,0.41071e-02_rb,0.34884e-02_rb,0.27402e-02_rb /) kao(:, 2, 1, 8) = (/ & & 0.51967e-02_rb,0.52277e-02_rb,0.52437e-02_rb,0.52099e-02_rb,0.50894e-02_rb, & & 0.48424e-02_rb,0.44165e-02_rb,0.38421e-02_rb,0.31643e-02_rb /) kao(:, 3, 1, 8) = (/ & & 0.51548e-02_rb,0.53047e-02_rb,0.54023e-02_rb,0.54271e-02_rb,0.53544e-02_rb, & & 0.51370e-02_rb,0.47457e-02_rb,0.42178e-02_rb,0.36142e-02_rb /) kao(:, 4, 1, 8) = (/ & & 0.51293e-02_rb,0.53942e-02_rb,0.55672e-02_rb,0.56512e-02_rb,0.56201e-02_rb, & & 0.54409e-02_rb,0.50927e-02_rb,0.46186e-02_rb,0.40998e-02_rb /) kao(:, 5, 1, 8) = (/ & & 0.51178e-02_rb,0.54996e-02_rb,0.57406e-02_rb,0.58798e-02_rb,0.58932e-02_rb, & & 0.57606e-02_rb,0.54613e-02_rb,0.50399e-02_rb,0.46100e-02_rb /) kao(:, 1, 2, 8) = (/ & & 0.47778e-02_rb,0.47398e-02_rb,0.47115e-02_rb,0.46169e-02_rb,0.44426e-02_rb, & & 0.41630e-02_rb,0.37511e-02_rb,0.31426e-02_rb,0.23122e-02_rb /) kao(:, 2, 2, 8) = (/ & & 0.47384e-02_rb,0.48111e-02_rb,0.48532e-02_rb,0.48144e-02_rb,0.46755e-02_rb, & & 0.44342e-02_rb,0.40397e-02_rb,0.34599e-02_rb,0.26698e-02_rb /) kao(:, 3, 2, 8) = (/ & & 0.47181e-02_rb,0.49025e-02_rb,0.50071e-02_rb,0.50151e-02_rb,0.49194e-02_rb, & & 0.47085e-02_rb,0.43402e-02_rb,0.37956e-02_rb,0.30630e-02_rb /) kao(:, 4, 2, 8) = (/ & & 0.47137e-02_rb,0.50070e-02_rb,0.51691e-02_rb,0.52245e-02_rb,0.51706e-02_rb, & & 0.49959e-02_rb,0.46583e-02_rb,0.41574e-02_rb,0.34865e-02_rb /) kao(:, 5, 2, 8) = (/ & & 0.47212e-02_rb,0.51234e-02_rb,0.53397e-02_rb,0.54379e-02_rb,0.54276e-02_rb, & & 0.52983e-02_rb,0.49978e-02_rb,0.45412e-02_rb,0.39357e-02_rb /) kao(:, 1, 3, 8) = (/ & & 0.42971e-02_rb,0.42851e-02_rb,0.42729e-02_rb,0.41707e-02_rb,0.39926e-02_rb, & & 0.37146e-02_rb,0.33264e-02_rb,0.27717e-02_rb,0.18852e-02_rb /) kao(:, 2, 3, 8) = (/ & & 0.42740e-02_rb,0.43647e-02_rb,0.44079e-02_rb,0.43562e-02_rb,0.42040e-02_rb, & & 0.39559e-02_rb,0.35908e-02_rb,0.30443e-02_rb,0.21816e-02_rb /) kao(:, 3, 3, 8) = (/ & & 0.42703e-02_rb,0.44650e-02_rb,0.45616e-02_rb,0.45425e-02_rb,0.44233e-02_rb, & & 0.42066e-02_rb,0.38676e-02_rb,0.33396e-02_rb,0.25126e-02_rb /) kao(:, 4, 3, 8) = (/ & & 0.42812e-02_rb,0.45806e-02_rb,0.47230e-02_rb,0.47371e-02_rb,0.46519e-02_rb, & & 0.44691e-02_rb,0.41620e-02_rb,0.36586e-02_rb,0.28704e-02_rb /) kao(:, 5, 3, 8) = (/ & & 0.43030e-02_rb,0.47042e-02_rb,0.48922e-02_rb,0.49377e-02_rb,0.48939e-02_rb, & & 0.47477e-02_rb,0.44742e-02_rb,0.39985e-02_rb,0.32501e-02_rb /) kao(:, 1, 4, 8) = (/ & & 0.38233e-02_rb,0.38279e-02_rb,0.38143e-02_rb,0.37097e-02_rb,0.35270e-02_rb, & & 0.32658e-02_rb,0.29019e-02_rb,0.24142e-02_rb,0.15291e-02_rb /) kao(:, 2, 4, 8) = (/ & & 0.38114e-02_rb,0.39122e-02_rb,0.39475e-02_rb,0.38778e-02_rb,0.37194e-02_rb, & & 0.34777e-02_rb,0.31357e-02_rb,0.26541e-02_rb,0.17758e-02_rb /) kao(:, 3, 4, 8) = (/ & & 0.38202e-02_rb,0.40186e-02_rb,0.40970e-02_rb,0.40542e-02_rb,0.39201e-02_rb, & & 0.37024e-02_rb,0.33826e-02_rb,0.29146e-02_rb,0.20543e-02_rb /) kao(:, 4, 4, 8) = (/ & & 0.38442e-02_rb,0.41385e-02_rb,0.42569e-02_rb,0.42394e-02_rb,0.41310e-02_rb, & & 0.39403e-02_rb,0.36479e-02_rb,0.31917e-02_rb,0.23538e-02_rb /) kao(:, 5, 4, 8) = (/ & & 0.38788e-02_rb,0.42695e-02_rb,0.44229e-02_rb,0.44328e-02_rb,0.43540e-02_rb, & & 0.41948e-02_rb,0.39317e-02_rb,0.34895e-02_rb,0.26724e-02_rb /) kao(:, 1, 5, 8) = (/ & & 0.33660e-02_rb,0.33879e-02_rb,0.33669e-02_rb,0.32570e-02_rb,0.30787e-02_rb, & & 0.28362e-02_rb,0.25094e-02_rb,0.20819e-02_rb,0.12376e-02_rb /) kao(:, 2, 5, 8) = (/ & & 0.33649e-02_rb,0.34740e-02_rb,0.34949e-02_rb,0.34119e-02_rb,0.32508e-02_rb, & & 0.30247e-02_rb,0.27121e-02_rb,0.22949e-02_rb,0.14462e-02_rb /) kao(:, 3, 5, 8) = (/ & & 0.33839e-02_rb,0.35821e-02_rb,0.36398e-02_rb,0.35762e-02_rb,0.34359e-02_rb, & & 0.32230e-02_rb,0.29317e-02_rb,0.25218e-02_rb,0.16788e-02_rb /) kao(:, 4, 5, 8) = (/ & & 0.34188e-02_rb,0.37047e-02_rb,0.37932e-02_rb,0.37524e-02_rb,0.36321e-02_rb, & & 0.34359e-02_rb,0.31677e-02_rb,0.27663e-02_rb,0.19299e-02_rb /) kao(:, 5, 5, 8) = (/ & & 0.34572e-02_rb,0.38382e-02_rb,0.39563e-02_rb,0.39381e-02_rb,0.38416e-02_rb, & & 0.36710e-02_rb,0.34185e-02_rb,0.30298e-02_rb,0.21985e-02_rb /) kao(:, 1, 6, 8) = (/ & & 0.29383e-02_rb,0.29689e-02_rb,0.29375e-02_rb,0.28254e-02_rb,0.26571e-02_rb, & & 0.24356e-02_rb,0.21491e-02_rb,0.17706e-02_rb,0.99284e-03_rb /) kao(:, 2, 6, 8) = (/ & & 0.29460e-02_rb,0.30526e-02_rb,0.30576e-02_rb,0.29676e-02_rb,0.28114e-02_rb, & & 0.25995e-02_rb,0.23244e-02_rb,0.19573e-02_rb,0.11692e-02_rb /) kao(:, 3, 6, 8) = (/ & & 0.29740e-02_rb,0.31582e-02_rb,0.31942e-02_rb,0.31202e-02_rb,0.29785e-02_rb, & & 0.27771e-02_rb,0.25160e-02_rb,0.21565e-02_rb,0.13616e-02_rb /) kao(:, 4, 6, 8) = (/ & & 0.30101e-02_rb,0.32807e-02_rb,0.33417e-02_rb,0.32855e-02_rb,0.31583e-02_rb, & & 0.29708e-02_rb,0.27234e-02_rb,0.23688e-02_rb,0.15696e-02_rb /) kao(:, 5, 6, 8) = (/ & & 0.30525e-02_rb,0.34071e-02_rb,0.34999e-02_rb,0.34618e-02_rb,0.33518e-02_rb, & & 0.31829e-02_rb,0.29437e-02_rb,0.25986e-02_rb,0.17941e-02_rb /) kao(:, 1, 7, 8) = (/ & & 0.25527e-02_rb,0.25837e-02_rb,0.25415e-02_rb,0.24332e-02_rb,0.22747e-02_rb, & & 0.20758e-02_rb,0.18231e-02_rb,0.14951e-02_rb,0.78066e-03_rb /) kao(:, 2, 7, 8) = (/ & & 0.25661e-02_rb,0.26638e-02_rb,0.26497e-02_rb,0.25583e-02_rb,0.24134e-02_rb, & & 0.22212e-02_rb,0.19774e-02_rb,0.16540e-02_rb,0.92809e-03_rb /) kao(:, 3, 7, 8) = (/ & & 0.25966e-02_rb,0.27642e-02_rb,0.27764e-02_rb,0.26998e-02_rb,0.25630e-02_rb, & & 0.23812e-02_rb,0.21449e-02_rb,0.18264e-02_rb,0.10893e-02_rb /) kao(:, 4, 7, 8) = (/ & & 0.26340e-02_rb,0.28771e-02_rb,0.29165e-02_rb,0.28538e-02_rb,0.27279e-02_rb, & & 0.25553e-02_rb,0.23260e-02_rb,0.20107e-02_rb,0.12665e-02_rb /) kao(:, 5, 7, 8) = (/ & & 0.26829e-02_rb,0.29939e-02_rb,0.30639e-02_rb,0.30192e-02_rb,0.29089e-02_rb, & & 0.27450e-02_rb,0.25219e-02_rb,0.22101e-02_rb,0.14584e-02_rb /) kao(:, 1, 8, 8) = (/ & & 0.22109e-02_rb,0.22392e-02_rb,0.21909e-02_rb,0.20870e-02_rb,0.19391e-02_rb, & & 0.17569e-02_rb,0.15368e-02_rb,0.12514e-02_rb,0.62879e-03_rb /) kao(:, 2, 8, 8) = (/ & & 0.22276e-02_rb,0.23140e-02_rb,0.22874e-02_rb,0.21965e-02_rb,0.20609e-02_rb, & & 0.18868e-02_rb,0.16711e-02_rb,0.13887e-02_rb,0.73533e-03_rb /) kao(:, 3, 8, 8) = (/ & & 0.22565e-02_rb,0.24065e-02_rb,0.24031e-02_rb,0.23233e-02_rb,0.21969e-02_rb, & & 0.20302e-02_rb,0.18188e-02_rb,0.15365e-02_rb,0.85609e-03_rb /) kao(:, 4, 8, 8) = (/ & & 0.22974e-02_rb,0.25072e-02_rb,0.25290e-02_rb,0.24653e-02_rb,0.23482e-02_rb, & & 0.21882e-02_rb,0.19777e-02_rb,0.16966e-02_rb,0.98553e-03_rb /) kao(:, 5, 8, 8) = (/ & & 0.23517e-02_rb,0.26173e-02_rb,0.26619e-02_rb,0.26145e-02_rb,0.25139e-02_rb, & & 0.23587e-02_rb,0.21497e-02_rb,0.18671e-02_rb,0.11277e-02_rb /) kao(:, 1, 9, 8) = (/ & & 0.19109e-02_rb,0.19351e-02_rb,0.18847e-02_rb,0.17853e-02_rb,0.16484e-02_rb, & & 0.14828e-02_rb,0.12861e-02_rb,0.10403e-02_rb,0.59847e-03_rb /) kao(:, 2, 9, 8) = (/ & & 0.19272e-02_rb,0.20031e-02_rb,0.19691e-02_rb,0.18817e-02_rb,0.17540e-02_rb, & & 0.15965e-02_rb,0.14036e-02_rb,0.11571e-02_rb,0.69475e-03_rb /) kao(:, 3, 9, 8) = (/ & & 0.19559e-02_rb,0.20842e-02_rb,0.20709e-02_rb,0.19954e-02_rb,0.18765e-02_rb, & & 0.17233e-02_rb,0.15331e-02_rb,0.12839e-02_rb,0.80150e-03_rb /) kao(:, 4, 9, 8) = (/ & & 0.19994e-02_rb,0.21761e-02_rb,0.21815e-02_rb,0.21203e-02_rb,0.20143e-02_rb, & & 0.18645e-02_rb,0.16732e-02_rb,0.14206e-02_rb,0.91777e-03_rb /) kao(:, 5, 9, 8) = (/ & & 0.20550e-02_rb,0.22788e-02_rb,0.23027e-02_rb,0.22546e-02_rb,0.21605e-02_rb, & & 0.20175e-02_rb,0.18247e-02_rb,0.15687e-02_rb,0.10450e-02_rb /) kao(:, 1,10, 8) = (/ & & 0.16445e-02_rb,0.16716e-02_rb,0.16238e-02_rb,0.15300e-02_rb,0.14061e-02_rb, & & 0.12566e-02_rb,0.10807e-02_rb,0.86738e-03_rb,0.60827e-03_rb /) kao(:, 2,10, 8) = (/ & & 0.16600e-02_rb,0.17327e-02_rb,0.16984e-02_rb,0.16154e-02_rb,0.14994e-02_rb, & & 0.13556e-02_rb,0.11827e-02_rb,0.96695e-03_rb,0.70548e-03_rb /) kao(:, 3,10, 8) = (/ & & 0.16905e-02_rb,0.18053e-02_rb,0.17869e-02_rb,0.17163e-02_rb,0.16090e-02_rb, & & 0.14689e-02_rb,0.12961e-02_rb,0.10754e-02_rb,0.80786e-03_rb /) kao(:, 4,10, 8) = (/ & & 0.17354e-02_rb,0.18905e-02_rb,0.18865e-02_rb,0.18272e-02_rb,0.17299e-02_rb, & & 0.15951e-02_rb,0.14192e-02_rb,0.11936e-02_rb,0.91620e-03_rb /) kao(:, 5,10, 8) = (/ & & 0.17884e-02_rb,0.19860e-02_rb,0.19977e-02_rb,0.19501e-02_rb,0.18596e-02_rb, & & 0.17298e-02_rb,0.15525e-02_rb,0.13217e-02_rb,0.10338e-02_rb /) kao(:, 1,11, 8) = (/ & & 0.14133e-02_rb,0.14603e-02_rb,0.14202e-02_rb,0.13407e-02_rb,0.12334e-02_rb, & & 0.11026e-02_rb,0.94643e-03_rb,0.75979e-03_rb,0.57405e-03_rb /) kao(:, 2,11, 8) = (/ & & 0.14357e-02_rb,0.15193e-02_rb,0.14916e-02_rb,0.14232e-02_rb,0.13232e-02_rb, & & 0.11950e-02_rb,0.10392e-02_rb,0.84686e-03_rb,0.65471e-03_rb /) kao(:, 3,11, 8) = (/ & & 0.14730e-02_rb,0.15907e-02_rb,0.15765e-02_rb,0.15172e-02_rb,0.14237e-02_rb, & & 0.12997e-02_rb,0.11424e-02_rb,0.94298e-03_rb,0.75212e-03_rb /) kao(:, 4,11, 8) = (/ & & 0.15188e-02_rb,0.16737e-02_rb,0.16734e-02_rb,0.16227e-02_rb,0.15348e-02_rb, & & 0.14132e-02_rb,0.12544e-02_rb,0.10476e-02_rb,0.85445e-03_rb /) kao(:, 5,11, 8) = (/ & & 0.15705e-02_rb,0.17634e-02_rb,0.17799e-02_rb,0.17387e-02_rb,0.16551e-02_rb, & & 0.15344e-02_rb,0.13744e-02_rb,0.11635e-02_rb,0.96358e-03_rb /) kao(:, 1,12, 8) = (/ & & 0.12145e-02_rb,0.12721e-02_rb,0.12387e-02_rb,0.11722e-02_rb,0.10815e-02_rb, & & 0.96748e-03_rb,0.83052e-03_rb,0.66461e-03_rb,0.51952e-03_rb /) kao(:, 2,12, 8) = (/ & & 0.12432e-02_rb,0.13303e-02_rb,0.13076e-02_rb,0.12500e-02_rb,0.11644e-02_rb, & & 0.10531e-02_rb,0.91410e-03_rb,0.74198e-03_rb,0.58718e-03_rb /) kao(:, 3,12, 8) = (/ & & 0.12811e-02_rb,0.13998e-02_rb,0.13897e-02_rb,0.13394e-02_rb,0.12574e-02_rb, & & 0.11474e-02_rb,0.10067e-02_rb,0.82675e-03_rb,0.66821e-03_rb /) kao(:, 4,12, 8) = (/ & & 0.13251e-02_rb,0.14771e-02_rb,0.14813e-02_rb,0.14393e-02_rb,0.13610e-02_rb, & & 0.12504e-02_rb,0.11057e-02_rb,0.91975e-03_rb,0.76078e-03_rb /) kao(:, 5,12, 8) = (/ & & 0.13700e-02_rb,0.15597e-02_rb,0.15807e-02_rb,0.15467e-02_rb,0.14716e-02_rb, & & 0.13608e-02_rb,0.12138e-02_rb,0.10232e-02_rb,0.85832e-03_rb /) kao(:, 1,13, 8) = (/ & & 0.10471e-02_rb,0.11076e-02_rb,0.10790e-02_rb,0.10231e-02_rb,0.94527e-03_rb, & & 0.84789e-03_rb,0.72861e-03_rb,0.58068e-03_rb,0.44361e-03_rb /) kao(:, 2,13, 8) = (/ & & 0.10765e-02_rb,0.11637e-02_rb,0.11461e-02_rb,0.10966e-02_rb,0.10221e-02_rb, & & 0.92418e-03_rb,0.80364e-03_rb,0.64949e-03_rb,0.50409e-03_rb /) kao(:, 3,13, 8) = (/ & & 0.11121e-02_rb,0.12288e-02_rb,0.12232e-02_rb,0.11802e-02_rb,0.11084e-02_rb, & & 0.10099e-02_rb,0.88562e-03_rb,0.72467e-03_rb,0.57688e-03_rb /) kao(:, 4,13, 8) = (/ & & 0.11491e-02_rb,0.12989e-02_rb,0.13080e-02_rb,0.12720e-02_rb,0.12030e-02_rb, & & 0.11037e-02_rb,0.97404e-03_rb,0.80781e-03_rb,0.65303e-03_rb /) kao(:, 5,13, 8) = (/ & & 0.11880e-02_rb,0.13724e-02_rb,0.13975e-02_rb,0.13701e-02_rb,0.13034e-02_rb, & & 0.12049e-02_rb,0.10715e-02_rb,0.89944e-03_rb,0.73687e-03_rb /) kao(:, 1, 1, 9) = (/ & & 0.14418e-01_rb,0.13406e-01_rb,0.12605e-01_rb,0.11857e-01_rb,0.11091e-01_rb, & & 0.10336e-01_rb,0.95691e-02_rb,0.87036e-02_rb,0.88524e-02_rb /) kao(:, 2, 1, 9) = (/ & & 0.14296e-01_rb,0.13450e-01_rb,0.12870e-01_rb,0.12297e-01_rb,0.11684e-01_rb, & & 0.11070e-01_rb,0.10452e-01_rb,0.97477e-02_rb,0.10154e-01_rb /) kao(:, 3, 1, 9) = (/ & & 0.14166e-01_rb,0.13524e-01_rb,0.13158e-01_rb,0.12768e-01_rb,0.12317e-01_rb, & & 0.11876e-01_rb,0.11397e-01_rb,0.10864e-01_rb,0.11523e-01_rb /) kao(:, 4, 1, 9) = (/ & & 0.14022e-01_rb,0.13622e-01_rb,0.13487e-01_rb,0.13264e-01_rb,0.13003e-01_rb, & & 0.12732e-01_rb,0.12371e-01_rb,0.12050e-01_rb,0.12968e-01_rb /) kao(:, 5, 1, 9) = (/ & & 0.13872e-01_rb,0.13730e-01_rb,0.13820e-01_rb,0.13802e-01_rb,0.13718e-01_rb, & & 0.13604e-01_rb,0.13373e-01_rb,0.13315e-01_rb,0.14498e-01_rb /) kao(:, 1, 2, 9) = (/ & & 0.14547e-01_rb,0.13535e-01_rb,0.12726e-01_rb,0.11955e-01_rb,0.11121e-01_rb, & & 0.10242e-01_rb,0.92998e-02_rb,0.82716e-02_rb,0.79571e-02_rb /) kao(:, 2, 2, 9) = (/ & & 0.14415e-01_rb,0.13577e-01_rb,0.12984e-01_rb,0.12377e-01_rb,0.11698e-01_rb, & & 0.10932e-01_rb,0.10129e-01_rb,0.92199e-02_rb,0.91565e-02_rb /) kao(:, 3, 2, 9) = (/ & & 0.14274e-01_rb,0.13649e-01_rb,0.13264e-01_rb,0.12845e-01_rb,0.12290e-01_rb, & & 0.11686e-01_rb,0.11026e-01_rb,0.10231e-01_rb,0.10415e-01_rb /) kao(:, 4, 2, 9) = (/ & & 0.14122e-01_rb,0.13744e-01_rb,0.13589e-01_rb,0.13325e-01_rb,0.12935e-01_rb, & & 0.12484e-01_rb,0.11950e-01_rb,0.11311e-01_rb,0.11744e-01_rb /) kao(:, 5, 2, 9) = (/ & & 0.13965e-01_rb,0.13855e-01_rb,0.13924e-01_rb,0.13828e-01_rb,0.13608e-01_rb, & & 0.13305e-01_rb,0.12905e-01_rb,0.12457e-01_rb,0.13151e-01_rb /) kao(:, 1, 3, 9) = (/ & & 0.14475e-01_rb,0.13482e-01_rb,0.12654e-01_rb,0.11861e-01_rb,0.10971e-01_rb, & & 0.99930e-02_rb,0.88735e-02_rb,0.76595e-02_rb,0.68509e-02_rb /) kao(:, 2, 3, 9) = (/ & & 0.14335e-01_rb,0.13514e-01_rb,0.12906e-01_rb,0.12263e-01_rb,0.11533e-01_rb, & & 0.10637e-01_rb,0.96386e-02_rb,0.85394e-02_rb,0.79297e-02_rb /) kao(:, 3, 3, 9) = (/ & & 0.14181e-01_rb,0.13576e-01_rb,0.13177e-01_rb,0.12719e-01_rb,0.12099e-01_rb, & & 0.11329e-01_rb,0.10466e-01_rb,0.94601e-02_rb,0.90731e-02_rb /) kao(:, 4, 3, 9) = (/ & & 0.14024e-01_rb,0.13665e-01_rb,0.13491e-01_rb,0.13188e-01_rb,0.12703e-01_rb, & & 0.12072e-01_rb,0.11323e-01_rb,0.10433e-01_rb,0.10295e-01_rb /) kao(:, 5, 3, 9) = (/ & & 0.13862e-01_rb,0.13772e-01_rb,0.13824e-01_rb,0.13679e-01_rb,0.13333e-01_rb, & & 0.12836e-01_rb,0.12214e-01_rb,0.11468e-01_rb,0.11588e-01_rb /) kao(:, 1, 4, 9) = (/ & & 0.14153e-01_rb,0.13216e-01_rb,0.12406e-01_rb,0.11612e-01_rb,0.10690e-01_rb, & & 0.96495e-02_rb,0.84088e-02_rb,0.70121e-02_rb,0.57874e-02_rb /) kao(:, 2, 4, 9) = (/ & & 0.14005e-01_rb,0.13241e-01_rb,0.12647e-01_rb,0.11995e-01_rb,0.11231e-01_rb, & & 0.10266e-01_rb,0.91127e-02_rb,0.78123e-02_rb,0.67372e-02_rb /) kao(:, 3, 4, 9) = (/ & & 0.13845e-01_rb,0.13290e-01_rb,0.12907e-01_rb,0.12438e-01_rb,0.11783e-01_rb, & & 0.10918e-01_rb,0.98730e-02_rb,0.86646e-02_rb,0.77601e-02_rb /) kao(:, 4, 4, 9) = (/ & & 0.13685e-01_rb,0.13375e-01_rb,0.13206e-01_rb,0.12899e-01_rb,0.12360e-01_rb, & & 0.11608e-01_rb,0.10665e-01_rb,0.95624e-02_rb,0.88628e-02_rb /) kao(:, 5, 4, 9) = (/ & & 0.13529e-01_rb,0.13472e-01_rb,0.13531e-01_rb,0.13371e-01_rb,0.12964e-01_rb, & & 0.12311e-01_rb,0.11491e-01_rb,0.10508e-01_rb,0.10039e-01_rb /) kao(:, 1, 5, 9) = (/ & & 0.13587e-01_rb,0.12730e-01_rb,0.11973e-01_rb,0.11204e-01_rb,0.10282e-01_rb, & & 0.92218e-02_rb,0.79316e-02_rb,0.64044e-02_rb,0.48583e-02_rb /) kao(:, 2, 5, 9) = (/ & & 0.13430e-01_rb,0.12751e-01_rb,0.12205e-01_rb,0.11567e-01_rb,0.10798e-01_rb, & & 0.98163e-02_rb,0.85810e-02_rb,0.71221e-02_rb,0.56837e-02_rb /) kao(:, 3, 5, 9) = (/ & & 0.13271e-01_rb,0.12793e-01_rb,0.12448e-01_rb,0.11993e-01_rb,0.11338e-01_rb, & & 0.10437e-01_rb,0.92786e-02_rb,0.78957e-02_rb,0.65802e-02_rb /) kao(:, 4, 5, 9) = (/ & & 0.13115e-01_rb,0.12874e-01_rb,0.12735e-01_rb,0.12440e-01_rb,0.11897e-01_rb, & & 0.11094e-01_rb,0.10003e-01_rb,0.87146e-02_rb,0.75565e-02_rb /) kao(:, 5, 5, 9) = (/ & & 0.12984e-01_rb,0.12973e-01_rb,0.13053e-01_rb,0.12899e-01_rb,0.12481e-01_rb, & & 0.11759e-01_rb,0.10765e-01_rb,0.95850e-02_rb,0.86117e-02_rb /) kao(:, 1, 6, 9) = (/ & & 0.12817e-01_rb,0.12050e-01_rb,0.11369e-01_rb,0.10622e-01_rb,0.97180e-02_rb, & & 0.86745e-02_rb,0.73942e-02_rb,0.58154e-02_rb,0.40318e-02_rb /) kao(:, 2, 6, 9) = (/ & & 0.12656e-01_rb,0.12077e-01_rb,0.11582e-01_rb,0.10960e-01_rb,0.10205e-01_rb, & & 0.92477e-02_rb,0.80000e-02_rb,0.64500e-02_rb,0.47452e-02_rb /) kao(:, 3, 6, 9) = (/ & & 0.12499e-01_rb,0.12115e-01_rb,0.11810e-01_rb,0.11361e-01_rb,0.10734e-01_rb, & & 0.98374e-02_rb,0.86412e-02_rb,0.71467e-02_rb,0.55214e-02_rb /) kao(:, 4, 6, 9) = (/ & & 0.12364e-01_rb,0.12194e-01_rb,0.12081e-01_rb,0.11798e-01_rb,0.11270e-01_rb, & & 0.10459e-01_rb,0.93144e-02_rb,0.78844e-02_rb,0.63718e-02_rb /) kao(:, 5, 6, 9) = (/ & & 0.12255e-01_rb,0.12311e-01_rb,0.12390e-01_rb,0.12242e-01_rb,0.11833e-01_rb, & & 0.11093e-01_rb,0.10016e-01_rb,0.86730e-02_rb,0.72984e-02_rb /) kao(:, 1, 7, 9) = (/ & & 0.11891e-01_rb,0.11226e-01_rb,0.10633e-01_rb,0.99134e-02_rb,0.90439e-02_rb, & & 0.80297e-02_rb,0.68136e-02_rb,0.52756e-02_rb,0.33216e-02_rb /) kao(:, 2, 7, 9) = (/ & & 0.11730e-01_rb,0.11250e-01_rb,0.10822e-01_rb,0.10230e-01_rb,0.94903e-02_rb, & & 0.85683e-02_rb,0.73765e-02_rb,0.58347e-02_rb,0.39310e-02_rb /) kao(:, 3, 7, 9) = (/ & & 0.11586e-01_rb,0.11299e-01_rb,0.11036e-01_rb,0.10599e-01_rb,0.99917e-02_rb, & & 0.91260e-02_rb,0.79645e-02_rb,0.64502e-02_rb,0.46031e-02_rb /) kao(:, 4, 7, 9) = (/ & & 0.11473e-01_rb,0.11391e-01_rb,0.11290e-01_rb,0.11015e-01_rb,0.10500e-01_rb, & & 0.97132e-02_rb,0.85920e-02_rb,0.71112e-02_rb,0.53403e-02_rb /) kao(:, 5, 7, 9) = (/ & & 0.11384e-01_rb,0.11524e-01_rb,0.11598e-01_rb,0.11442e-01_rb,0.11036e-01_rb, & & 0.10317e-01_rb,0.92441e-02_rb,0.78209e-02_rb,0.61457e-02_rb /) kao(:, 1, 8, 9) = (/ & & 0.10852e-01_rb,0.10302e-01_rb,0.97896e-02_rb,0.91138e-02_rb,0.83000e-02_rb, & & 0.73373e-02_rb,0.61956e-02_rb,0.47644e-02_rb,0.26652e-02_rb /) kao(:, 2, 8, 9) = (/ & & 0.10699e-01_rb,0.10325e-01_rb,0.99631e-02_rb,0.94045e-02_rb,0.87025e-02_rb, & & 0.78255e-02_rb,0.67137e-02_rb,0.52638e-02_rb,0.31922e-02_rb /) kao(:, 3, 8, 9) = (/ & & 0.10574e-01_rb,0.10385e-01_rb,0.10163e-01_rb,0.97460e-02_rb,0.91609e-02_rb, & & 0.83418e-02_rb,0.72560e-02_rb,0.58143e-02_rb,0.37766e-02_rb /) kao(:, 4, 8, 9) = (/ & & 0.10480e-01_rb,0.10499e-01_rb,0.10413e-01_rb,0.10139e-01_rb,0.96342e-02_rb, & & 0.88826e-02_rb,0.78405e-02_rb,0.64037e-02_rb,0.44295e-02_rb /) kao(:, 5, 8, 9) = (/ & & 0.10415e-01_rb,0.10646e-01_rb,0.10720e-01_rb,0.10553e-01_rb,0.10134e-01_rb, & & 0.94529e-02_rb,0.84471e-02_rb,0.70384e-02_rb,0.51485e-02_rb /) kao(:, 1, 9, 9) = (/ & & 0.97587e-02_rb,0.93185e-02_rb,0.88694e-02_rb,0.82517e-02_rb,0.75094e-02_rb, & & 0.66177e-02_rb,0.55658e-02_rb,0.42591e-02_rb,0.21931e-02_rb /) kao(:, 2, 9, 9) = (/ & & 0.96183e-02_rb,0.93436e-02_rb,0.90329e-02_rb,0.85198e-02_rb,0.78654e-02_rb, & & 0.70507e-02_rb,0.60316e-02_rb,0.47067e-02_rb,0.25691e-02_rb /) kao(:, 3, 9, 9) = (/ & & 0.95112e-02_rb,0.94166e-02_rb,0.92325e-02_rb,0.88355e-02_rb,0.82791e-02_rb, & & 0.75194e-02_rb,0.65208e-02_rb,0.52003e-02_rb,0.29789e-02_rb /) kao(:, 4, 9, 9) = (/ & & 0.94373e-02_rb,0.95446e-02_rb,0.94815e-02_rb,0.92092e-02_rb,0.87140e-02_rb, & & 0.80091e-02_rb,0.70556e-02_rb,0.57344e-02_rb,0.34284e-02_rb /) kao(:, 5, 9, 9) = (/ & & 0.93945e-02_rb,0.97041e-02_rb,0.97866e-02_rb,0.96055e-02_rb,0.91834e-02_rb, & & 0.85358e-02_rb,0.76199e-02_rb,0.63067e-02_rb,0.39360e-02_rb /) kao(:, 1,10, 9) = (/ & & 0.86571e-02_rb,0.83282e-02_rb,0.79327e-02_rb,0.73862e-02_rb,0.67217e-02_rb, & & 0.59210e-02_rb,0.49777e-02_rb,0.37950e-02_rb,0.25161e-02_rb /) kao(:, 2,10, 9) = (/ & & 0.85351e-02_rb,0.83629e-02_rb,0.80910e-02_rb,0.76400e-02_rb,0.70398e-02_rb, & & 0.63068e-02_rb,0.53903e-02_rb,0.41966e-02_rb,0.29067e-02_rb /) kao(:, 3,10, 9) = (/ & & 0.84483e-02_rb,0.84483e-02_rb,0.82944e-02_rb,0.79338e-02_rb,0.74159e-02_rb, & & 0.67272e-02_rb,0.58285e-02_rb,0.46411e-02_rb,0.33599e-02_rb /) kao(:, 4,10, 9) = (/ & & 0.83941e-02_rb,0.85821e-02_rb,0.85440e-02_rb,0.82866e-02_rb,0.78214e-02_rb, & & 0.71692e-02_rb,0.63103e-02_rb,0.51290e-02_rb,0.38620e-02_rb /) kao(:, 5,10, 9) = (/ & & 0.83806e-02_rb,0.87510e-02_rb,0.88459e-02_rb,0.86620e-02_rb,0.82607e-02_rb, & & 0.76554e-02_rb,0.68267e-02_rb,0.56504e-02_rb,0.44001e-02_rb /) kao(:, 1,11, 9) = (/ & & 0.75570e-02_rb,0.73902e-02_rb,0.70826e-02_rb,0.66405e-02_rb,0.60731e-02_rb, & & 0.53892e-02_rb,0.45656e-02_rb,0.35050e-02_rb,0.26164e-02_rb /) kao(:, 2,11, 9) = (/ & & 0.74683e-02_rb,0.74501e-02_rb,0.72578e-02_rb,0.68886e-02_rb,0.63823e-02_rb, & & 0.57485e-02_rb,0.49402e-02_rb,0.38790e-02_rb,0.30097e-02_rb /) kao(:, 3,11, 9) = (/ & & 0.74153e-02_rb,0.75630e-02_rb,0.74762e-02_rb,0.71912e-02_rb,0.67425e-02_rb, & & 0.61326e-02_rb,0.53447e-02_rb,0.42990e-02_rb,0.34771e-02_rb /) kao(:, 4,11, 9) = (/ & & 0.74057e-02_rb,0.77202e-02_rb,0.77477e-02_rb,0.75330e-02_rb,0.71268e-02_rb, & & 0.65549e-02_rb,0.57951e-02_rb,0.47555e-02_rb,0.39884e-02_rb /) kao(:, 5,11, 9) = (/ & & 0.74391e-02_rb,0.79220e-02_rb,0.80561e-02_rb,0.79014e-02_rb,0.75514e-02_rb, & & 0.70214e-02_rb,0.62779e-02_rb,0.52483e-02_rb,0.45376e-02_rb /) kao(:, 1,12, 9) = (/ & & 0.65546e-02_rb,0.65200e-02_rb,0.62910e-02_rb,0.59243e-02_rb,0.54454e-02_rb, & & 0.48623e-02_rb,0.41386e-02_rb,0.32013e-02_rb,0.25137e-02_rb /) kao(:, 2,12, 9) = (/ & & 0.64987e-02_rb,0.66047e-02_rb,0.64774e-02_rb,0.61754e-02_rb,0.57483e-02_rb, & & 0.51910e-02_rb,0.44799e-02_rb,0.35500e-02_rb,0.28998e-02_rb /) kao(:, 3,12, 9) = (/ & & 0.64867e-02_rb,0.67439e-02_rb,0.67077e-02_rb,0.64758e-02_rb,0.60840e-02_rb, & & 0.55472e-02_rb,0.48582e-02_rb,0.39433e-02_rb,0.33472e-02_rb /) kao(:, 4,12, 9) = (/ & & 0.65214e-02_rb,0.69269e-02_rb,0.69913e-02_rb,0.68034e-02_rb,0.64480e-02_rb, & & 0.59497e-02_rb,0.52811e-02_rb,0.43712e-02_rb,0.38283e-02_rb /) kao(:, 5,12, 9) = (/ & & 0.66068e-02_rb,0.71634e-02_rb,0.73032e-02_rb,0.71670e-02_rb,0.68605e-02_rb, & & 0.63896e-02_rb,0.57387e-02_rb,0.48340e-02_rb,0.43614e-02_rb /) kao(:, 1,13, 9) = (/ & & 0.56598e-02_rb,0.57241e-02_rb,0.55653e-02_rb,0.52616e-02_rb,0.48615e-02_rb, & & 0.43534e-02_rb,0.37143e-02_rb,0.28975e-02_rb,0.22483e-02_rb /) kao(:, 2,13, 9) = (/ & & 0.56408e-02_rb,0.58364e-02_rb,0.57539e-02_rb,0.55120e-02_rb,0.51475e-02_rb, & & 0.46559e-02_rb,0.40284e-02_rb,0.32222e-02_rb,0.26111e-02_rb /) kao(:, 3,13, 9) = (/ & & 0.56697e-02_rb,0.59982e-02_rb,0.59981e-02_rb,0.58053e-02_rb,0.54583e-02_rb, & & 0.49917e-02_rb,0.43867e-02_rb,0.35862e-02_rb,0.30268e-02_rb /) kao(:, 4,13, 9) = (/ & & 0.57519e-02_rb,0.62108e-02_rb,0.62874e-02_rb,0.61219e-02_rb,0.58111e-02_rb, & & 0.53715e-02_rb,0.47851e-02_rb,0.39858e-02_rb,0.34700e-02_rb /) kao(:, 5,13, 9) = (/ & & 0.58830e-02_rb,0.64813e-02_rb,0.66064e-02_rb,0.64830e-02_rb,0.62068e-02_rb, & & 0.57872e-02_rb,0.52185e-02_rb,0.44205e-02_rb,0.39619e-02_rb /) kao(:, 1, 1,10) = (/ & & 0.28544e-01_rb,0.26155e-01_rb,0.24149e-01_rb,0.22667e-01_rb,0.21632e-01_rb, & & 0.20279e-01_rb,0.18489e-01_rb,0.17580e-01_rb,0.19616e-01_rb /) kao(:, 2, 1,10) = (/ & & 0.28363e-01_rb,0.26242e-01_rb,0.24669e-01_rb,0.23473e-01_rb,0.22995e-01_rb, & & 0.21803e-01_rb,0.19985e-01_rb,0.19915e-01_rb,0.22325e-01_rb /) kao(:, 3, 1,10) = (/ & & 0.28168e-01_rb,0.26278e-01_rb,0.25280e-01_rb,0.24624e-01_rb,0.24316e-01_rb, & & 0.23197e-01_rb,0.21657e-01_rb,0.22779e-01_rb,0.25626e-01_rb /) kao(:, 4, 1,10) = (/ & & 0.27980e-01_rb,0.26431e-01_rb,0.25828e-01_rb,0.25920e-01_rb,0.25669e-01_rb, & & 0.24755e-01_rb,0.23686e-01_rb,0.25934e-01_rb,0.29281e-01_rb /) kao(:, 5, 1,10) = (/ & & 0.27732e-01_rb,0.26646e-01_rb,0.26660e-01_rb,0.27009e-01_rb,0.27233e-01_rb, & & 0.26525e-01_rb,0.25997e-01_rb,0.29201e-01_rb,0.33040e-01_rb /) kao(:, 1, 2,10) = (/ & & 0.30271e-01_rb,0.27672e-01_rb,0.25272e-01_rb,0.23430e-01_rb,0.22043e-01_rb, & & 0.20727e-01_rb,0.19083e-01_rb,0.16913e-01_rb,0.18728e-01_rb /) kao(:, 2, 2,10) = (/ & & 0.30091e-01_rb,0.27720e-01_rb,0.25820e-01_rb,0.24222e-01_rb,0.23409e-01_rb, & & 0.22468e-01_rb,0.20609e-01_rb,0.19148e-01_rb,0.21375e-01_rb /) kao(:, 3, 2,10) = (/ & & 0.29914e-01_rb,0.27750e-01_rb,0.26375e-01_rb,0.25267e-01_rb,0.24987e-01_rb, & & 0.23926e-01_rb,0.22306e-01_rb,0.21932e-01_rb,0.24591e-01_rb /) kao(:, 4, 2,10) = (/ & & 0.29701e-01_rb,0.27873e-01_rb,0.26877e-01_rb,0.26535e-01_rb,0.26327e-01_rb, & & 0.25568e-01_rb,0.24303e-01_rb,0.24920e-01_rb,0.28049e-01_rb /) kao(:, 5, 2,10) = (/ & & 0.29422e-01_rb,0.28052e-01_rb,0.27653e-01_rb,0.27818e-01_rb,0.27831e-01_rb, & & 0.27375e-01_rb,0.26338e-01_rb,0.28129e-01_rb,0.31777e-01_rb /) kao(:, 1, 3,10) = (/ & & 0.32089e-01_rb,0.29221e-01_rb,0.26504e-01_rb,0.24372e-01_rb,0.22322e-01_rb, & & 0.20541e-01_rb,0.19063e-01_rb,0.16413e-01_rb,0.17368e-01_rb /) kao(:, 2, 3,10) = (/ & & 0.31950e-01_rb,0.29299e-01_rb,0.26979e-01_rb,0.25078e-01_rb,0.23422e-01_rb, & & 0.22454e-01_rb,0.20735e-01_rb,0.18244e-01_rb,0.19956e-01_rb /) kao(:, 3, 3,10) = (/ & & 0.31786e-01_rb,0.29316e-01_rb,0.27496e-01_rb,0.25889e-01_rb,0.24965e-01_rb, & & 0.24089e-01_rb,0.22376e-01_rb,0.20693e-01_rb,0.22993e-01_rb /) kao(:, 4, 3,10) = (/ & & 0.31564e-01_rb,0.29393e-01_rb,0.27942e-01_rb,0.27000e-01_rb,0.26402e-01_rb, & & 0.25715e-01_rb,0.24406e-01_rb,0.23371e-01_rb,0.26093e-01_rb /) kao(:, 5, 3,10) = (/ & & 0.31295e-01_rb,0.29526e-01_rb,0.28627e-01_rb,0.28150e-01_rb,0.27951e-01_rb, & & 0.27569e-01_rb,0.26423e-01_rb,0.26332e-01_rb,0.29505e-01_rb /) kao(:, 1, 4,10) = (/ & & 0.33998e-01_rb,0.30694e-01_rb,0.27710e-01_rb,0.25291e-01_rb,0.22809e-01_rb, & & 0.20329e-01_rb,0.18660e-01_rb,0.16131e-01_rb,0.15800e-01_rb /) kao(:, 2, 4,10) = (/ & & 0.33852e-01_rb,0.30861e-01_rb,0.28097e-01_rb,0.25930e-01_rb,0.23654e-01_rb, & & 0.22029e-01_rb,0.20474e-01_rb,0.17896e-01_rb,0.18339e-01_rb /) kao(:, 3, 4,10) = (/ & & 0.33685e-01_rb,0.30889e-01_rb,0.28668e-01_rb,0.26585e-01_rb,0.25018e-01_rb, & & 0.23681e-01_rb,0.22215e-01_rb,0.19897e-01_rb,0.21224e-01_rb /) kao(:, 4, 4,10) = (/ & & 0.33431e-01_rb,0.30933e-01_rb,0.29107e-01_rb,0.27570e-01_rb,0.26341e-01_rb, & & 0.25360e-01_rb,0.24234e-01_rb,0.22138e-01_rb,0.24217e-01_rb /) kao(:, 5, 4,10) = (/ & & 0.33153e-01_rb,0.31115e-01_rb,0.29708e-01_rb,0.28626e-01_rb,0.27757e-01_rb, & & 0.27318e-01_rb,0.26191e-01_rb,0.24666e-01_rb,0.27426e-01_rb /) kao(:, 1, 5,10) = (/ & & 0.35630e-01_rb,0.31962e-01_rb,0.28969e-01_rb,0.26191e-01_rb,0.23359e-01_rb, & & 0.20419e-01_rb,0.18025e-01_rb,0.15529e-01_rb,0.14046e-01_rb /) kao(:, 2, 5,10) = (/ & & 0.35465e-01_rb,0.32227e-01_rb,0.29248e-01_rb,0.26845e-01_rb,0.24076e-01_rb, & & 0.21854e-01_rb,0.19842e-01_rb,0.17371e-01_rb,0.16514e-01_rb /) kao(:, 3, 5,10) = (/ & & 0.35239e-01_rb,0.32283e-01_rb,0.29869e-01_rb,0.27436e-01_rb,0.25256e-01_rb, & & 0.23352e-01_rb,0.21638e-01_rb,0.19381e-01_rb,0.19322e-01_rb /) kao(:, 4, 5,10) = (/ & & 0.34959e-01_rb,0.32275e-01_rb,0.30321e-01_rb,0.28325e-01_rb,0.26494e-01_rb, & & 0.24825e-01_rb,0.23722e-01_rb,0.21526e-01_rb,0.22221e-01_rb /) kao(:, 5, 5,10) = (/ & & 0.34633e-01_rb,0.32463e-01_rb,0.30867e-01_rb,0.29345e-01_rb,0.27730e-01_rb, & & 0.26661e-01_rb,0.25760e-01_rb,0.23698e-01_rb,0.25325e-01_rb /) kao(:, 1, 6,10) = (/ & & 0.36611e-01_rb,0.32766e-01_rb,0.29862e-01_rb,0.26964e-01_rb,0.23985e-01_rb, & & 0.20572e-01_rb,0.17499e-01_rb,0.14612e-01_rb,0.12200e-01_rb /) kao(:, 2, 6,10) = (/ & & 0.36404e-01_rb,0.32931e-01_rb,0.30135e-01_rb,0.27680e-01_rb,0.24618e-01_rb, & & 0.21792e-01_rb,0.19087e-01_rb,0.16488e-01_rb,0.14408e-01_rb /) kao(:, 3, 6,10) = (/ & & 0.36151e-01_rb,0.33151e-01_rb,0.30783e-01_rb,0.28229e-01_rb,0.25608e-01_rb, & & 0.23215e-01_rb,0.20762e-01_rb,0.18415e-01_rb,0.17025e-01_rb /) kao(:, 4, 6,10) = (/ & & 0.35835e-01_rb,0.33169e-01_rb,0.31261e-01_rb,0.29020e-01_rb,0.26813e-01_rb, & & 0.24559e-01_rb,0.22662e-01_rb,0.20622e-01_rb,0.19846e-01_rb /) kao(:, 5, 6,10) = (/ & & 0.35491e-01_rb,0.33330e-01_rb,0.31756e-01_rb,0.30047e-01_rb,0.27916e-01_rb, & & 0.26189e-01_rb,0.24713e-01_rb,0.22859e-01_rb,0.22839e-01_rb /) kao(:, 1, 7,10) = (/ & & 0.36793e-01_rb,0.32943e-01_rb,0.30074e-01_rb,0.27299e-01_rb,0.24319e-01_rb, & & 0.20802e-01_rb,0.17113e-01_rb,0.13465e-01_rb,0.10508e-01_rb /) kao(:, 2, 7,10) = (/ & & 0.36572e-01_rb,0.33074e-01_rb,0.30511e-01_rb,0.28032e-01_rb,0.24986e-01_rb, & & 0.21844e-01_rb,0.18570e-01_rb,0.15283e-01_rb,0.12467e-01_rb /) kao(:, 3, 7,10) = (/ & & 0.36275e-01_rb,0.33234e-01_rb,0.31161e-01_rb,0.28602e-01_rb,0.25904e-01_rb, & & 0.23164e-01_rb,0.20091e-01_rb,0.17151e-01_rb,0.14775e-01_rb /) kao(:, 4, 7,10) = (/ & & 0.35925e-01_rb,0.33332e-01_rb,0.31658e-01_rb,0.29367e-01_rb,0.27125e-01_rb, & & 0.24431e-01_rb,0.21734e-01_rb,0.19261e-01_rb,0.17350e-01_rb /) kao(:, 5, 7,10) = (/ & & 0.35558e-01_rb,0.33506e-01_rb,0.32097e-01_rb,0.30412e-01_rb,0.28219e-01_rb, & & 0.25923e-01_rb,0.23598e-01_rb,0.21456e-01_rb,0.20114e-01_rb /) kao(:, 1, 8,10) = (/ & & 0.36293e-01_rb,0.32550e-01_rb,0.29721e-01_rb,0.27154e-01_rb,0.24076e-01_rb, & & 0.20693e-01_rb,0.16829e-01_rb,0.12555e-01_rb,0.89579e-02_rb /) kao(:, 2, 8,10) = (/ & & 0.35985e-01_rb,0.32624e-01_rb,0.30270e-01_rb,0.27879e-01_rb,0.24830e-01_rb, & & 0.21669e-01_rb,0.18126e-01_rb,0.14126e-01_rb,0.10649e-01_rb /) kao(:, 3, 8,10) = (/ & & 0.35646e-01_rb,0.32730e-01_rb,0.30946e-01_rb,0.28474e-01_rb,0.25750e-01_rb, & & 0.23017e-01_rb,0.19564e-01_rb,0.15741e-01_rb,0.12721e-01_rb /) kao(:, 4, 8,10) = (/ & & 0.35279e-01_rb,0.32754e-01_rb,0.31424e-01_rb,0.29187e-01_rb,0.27070e-01_rb, & & 0.24316e-01_rb,0.21018e-01_rb,0.17682e-01_rb,0.15011e-01_rb /) kao(:, 5, 8,10) = (/ & & 0.34858e-01_rb,0.32947e-01_rb,0.31835e-01_rb,0.30265e-01_rb,0.28236e-01_rb, & & 0.25710e-01_rb,0.22721e-01_rb,0.19777e-01_rb,0.17474e-01_rb /) kao(:, 1, 9,10) = (/ & & 0.35060e-01_rb,0.31556e-01_rb,0.29012e-01_rb,0.26469e-01_rb,0.23391e-01_rb, & & 0.20141e-01_rb,0.16295e-01_rb,0.11885e-01_rb,0.58937e-02_rb /) kao(:, 2, 9,10) = (/ & & 0.34721e-01_rb,0.31589e-01_rb,0.29506e-01_rb,0.27211e-01_rb,0.24267e-01_rb, & & 0.21055e-01_rb,0.17547e-01_rb,0.13263e-01_rb,0.69908e-02_rb /) kao(:, 3, 9,10) = (/ & & 0.34339e-01_rb,0.31609e-01_rb,0.30075e-01_rb,0.27841e-01_rb,0.25163e-01_rb, & & 0.22398e-01_rb,0.18997e-01_rb,0.14640e-01_rb,0.92447e-02_rb /) kao(:, 4, 9,10) = (/ & & 0.33936e-01_rb,0.31619e-01_rb,0.30603e-01_rb,0.28503e-01_rb,0.26490e-01_rb, & & 0.23804e-01_rb,0.20342e-01_rb,0.16280e-01_rb,0.11993e-01_rb /) kao(:, 5, 9,10) = (/ & & 0.33530e-01_rb,0.31821e-01_rb,0.30991e-01_rb,0.29578e-01_rb,0.27714e-01_rb, & & 0.25218e-01_rb,0.21886e-01_rb,0.18137e-01_rb,0.14941e-01_rb /) kao(:, 1,10,10) = (/ & & 0.33129e-01_rb,0.29964e-01_rb,0.27856e-01_rb,0.25331e-01_rb,0.22401e-01_rb, & & 0.19295e-01_rb,0.15555e-01_rb,0.11348e-01_rb,0.74286e-02_rb /) kao(:, 2,10,10) = (/ & & 0.32749e-01_rb,0.29950e-01_rb,0.28249e-01_rb,0.25998e-01_rb,0.23402e-01_rb, & & 0.20209e-01_rb,0.16757e-01_rb,0.12616e-01_rb,0.86653e-02_rb /) kao(:, 3,10,10) = (/ & & 0.32344e-01_rb,0.29933e-01_rb,0.28722e-01_rb,0.26736e-01_rb,0.24275e-01_rb, & & 0.21508e-01_rb,0.18229e-01_rb,0.13852e-01_rb,0.98082e-02_rb /) kao(:, 4,10,10) = (/ & & 0.31944e-01_rb,0.30002e-01_rb,0.29235e-01_rb,0.27435e-01_rb,0.25548e-01_rb, & & 0.22964e-01_rb,0.19579e-01_rb,0.15278e-01_rb,0.11352e-01_rb /) kao(:, 5,10,10) = (/ & & 0.31533e-01_rb,0.30276e-01_rb,0.29685e-01_rb,0.28539e-01_rb,0.26795e-01_rb, & & 0.24358e-01_rb,0.21106e-01_rb,0.16900e-01_rb,0.12858e-01_rb /) kao(:, 1,11,10) = (/ & & 0.30476e-01_rb,0.27848e-01_rb,0.26383e-01_rb,0.23991e-01_rb,0.21505e-01_rb, & & 0.18546e-01_rb,0.15127e-01_rb,0.11242e-01_rb,0.84064e-02_rb /) kao(:, 2,11,10) = (/ & & 0.30069e-01_rb,0.27873e-01_rb,0.26695e-01_rb,0.24743e-01_rb,0.22441e-01_rb, & & 0.19591e-01_rb,0.16445e-01_rb,0.12465e-01_rb,0.99520e-02_rb /) kao(:, 3,11,10) = (/ & & 0.29683e-01_rb,0.27938e-01_rb,0.27199e-01_rb,0.25464e-01_rb,0.23474e-01_rb, & & 0.21008e-01_rb,0.17841e-01_rb,0.13636e-01_rb,0.11012e-01_rb /) kao(:, 4,11,10) = (/ & & 0.29281e-01_rb,0.28147e-01_rb,0.27612e-01_rb,0.26457e-01_rb,0.24810e-01_rb, & & 0.22367e-01_rb,0.19198e-01_rb,0.15026e-01_rb,0.12764e-01_rb /) kao(:, 5,11,10) = (/ & & 0.28878e-01_rb,0.28450e-01_rb,0.28275e-01_rb,0.27607e-01_rb,0.26039e-01_rb, & & 0.23769e-01_rb,0.20798e-01_rb,0.16479e-01_rb,0.14486e-01_rb /) kao(:, 1,12,10) = (/ & & 0.27483e-01_rb,0.25515e-01_rb,0.24398e-01_rb,0.22423e-01_rb,0.20204e-01_rb, & & 0.17532e-01_rb,0.14597e-01_rb,0.10977e-01_rb,0.89256e-02_rb /) kao(:, 2,12,10) = (/ & & 0.27095e-01_rb,0.25634e-01_rb,0.24782e-01_rb,0.23175e-01_rb,0.21102e-01_rb, & & 0.18740e-01_rb,0.15902e-01_rb,0.12114e-01_rb,0.10252e-01_rb /) kao(:, 3,12,10) = (/ & & 0.26727e-01_rb,0.25761e-01_rb,0.25266e-01_rb,0.23974e-01_rb,0.22361e-01_rb, & & 0.20171e-01_rb,0.17193e-01_rb,0.13275e-01_rb,0.11451e-01_rb /) kao(:, 4,12,10) = (/ & & 0.26341e-01_rb,0.26039e-01_rb,0.25768e-01_rb,0.25146e-01_rb,0.23693e-01_rb, & & 0.21452e-01_rb,0.18566e-01_rb,0.14626e-01_rb,0.13159e-01_rb /) kao(:, 5,12,10) = (/ & & 0.25958e-01_rb,0.26232e-01_rb,0.26607e-01_rb,0.26277e-01_rb,0.24926e-01_rb, & & 0.22906e-01_rb,0.20118e-01_rb,0.16018e-01_rb,0.14784e-01_rb /) kao(:, 1,13,10) = (/ & & 0.24404e-01_rb,0.23195e-01_rb,0.22191e-01_rb,0.20664e-01_rb,0.18645e-01_rb, & & 0.16397e-01_rb,0.13889e-01_rb,0.10532e-01_rb,0.85762e-02_rb /) kao(:, 2,13,10) = (/ & & 0.24045e-01_rb,0.23274e-01_rb,0.22704e-01_rb,0.21382e-01_rb,0.19651e-01_rb, & & 0.17693e-01_rb,0.15133e-01_rb,0.11576e-01_rb,0.96068e-02_rb /) kao(:, 3,13,10) = (/ & & 0.23688e-01_rb,0.23458e-01_rb,0.23185e-01_rb,0.22281e-01_rb,0.21010e-01_rb, & & 0.19021e-01_rb,0.16312e-01_rb,0.12755e-01_rb,0.10813e-01_rb /) kao(:, 4,13,10) = (/ & & 0.23340e-01_rb,0.23719e-01_rb,0.23835e-01_rb,0.23529e-01_rb,0.22269e-01_rb, & & 0.20297e-01_rb,0.17677e-01_rb,0.14063e-01_rb,0.12469e-01_rb /) kao(:, 5,13,10) = (/ & & 0.23007e-01_rb,0.23887e-01_rb,0.24745e-01_rb,0.24636e-01_rb,0.23538e-01_rb, & & 0.21795e-01_rb,0.19163e-01_rb,0.15452e-01_rb,0.13866e-01_rb /) kao(:, 1, 1,11) = (/ & & 0.38207e-01_rb,0.35023e-01_rb,0.31764e-01_rb,0.29513e-01_rb,0.27148e-01_rb, & & 0.25121e-01_rb,0.22678e-01_rb,0.23928e-01_rb,0.26899e-01_rb /) kao(:, 2, 1,11) = (/ & & 0.37930e-01_rb,0.35272e-01_rb,0.32250e-01_rb,0.30760e-01_rb,0.28557e-01_rb, & & 0.27105e-01_rb,0.25089e-01_rb,0.27604e-01_rb,0.31070e-01_rb /) kao(:, 3, 1,11) = (/ & & 0.37611e-01_rb,0.35491e-01_rb,0.32949e-01_rb,0.31869e-01_rb,0.30632e-01_rb, & & 0.29068e-01_rb,0.27897e-01_rb,0.31369e-01_rb,0.35419e-01_rb /) kao(:, 4, 1,11) = (/ & & 0.37244e-01_rb,0.35566e-01_rb,0.33874e-01_rb,0.33253e-01_rb,0.32466e-01_rb, & & 0.31095e-01_rb,0.31358e-01_rb,0.35716e-01_rb,0.40368e-01_rb /) kao(:, 5, 1,11) = (/ & & 0.36895e-01_rb,0.35750e-01_rb,0.34817e-01_rb,0.35038e-01_rb,0.34265e-01_rb, & & 0.33428e-01_rb,0.35709e-01_rb,0.40899e-01_rb,0.46337e-01_rb /) kao(:, 1, 2,11) = (/ & & 0.39640e-01_rb,0.36208e-01_rb,0.33140e-01_rb,0.30731e-01_rb,0.28621e-01_rb, & & 0.26451e-01_rb,0.23824e-01_rb,0.23418e-01_rb,0.26401e-01_rb /) kao(:, 2, 2,11) = (/ & & 0.39384e-01_rb,0.36543e-01_rb,0.33542e-01_rb,0.32043e-01_rb,0.30032e-01_rb, & & 0.28484e-01_rb,0.26191e-01_rb,0.27027e-01_rb,0.30540e-01_rb /) kao(:, 3, 2,11) = (/ & & 0.39069e-01_rb,0.36650e-01_rb,0.34340e-01_rb,0.33119e-01_rb,0.32037e-01_rb, & & 0.30787e-01_rb,0.28410e-01_rb,0.30659e-01_rb,0.34733e-01_rb /) kao(:, 4, 2,11) = (/ & & 0.38756e-01_rb,0.36738e-01_rb,0.35220e-01_rb,0.34547e-01_rb,0.34264e-01_rb, & & 0.32872e-01_rb,0.31204e-01_rb,0.34827e-01_rb,0.39529e-01_rb /) kao(:, 5, 2,11) = (/ & & 0.38432e-01_rb,0.36958e-01_rb,0.36077e-01_rb,0.36343e-01_rb,0.36389e-01_rb, & & 0.35222e-01_rb,0.34916e-01_rb,0.39622e-01_rb,0.45018e-01_rb /) kao(:, 1, 3,11) = (/ & & 0.41762e-01_rb,0.37801e-01_rb,0.34598e-01_rb,0.31385e-01_rb,0.29542e-01_rb, & & 0.27120e-01_rb,0.24296e-01_rb,0.22163e-01_rb,0.24873e-01_rb /) kao(:, 2, 3,11) = (/ & & 0.41521e-01_rb,0.38107e-01_rb,0.34885e-01_rb,0.32740e-01_rb,0.30892e-01_rb, & & 0.28927e-01_rb,0.26874e-01_rb,0.25608e-01_rb,0.28828e-01_rb /) kao(:, 3, 3,11) = (/ & & 0.41284e-01_rb,0.38250e-01_rb,0.35590e-01_rb,0.33929e-01_rb,0.32637e-01_rb, & & 0.31412e-01_rb,0.29268e-01_rb,0.29038e-01_rb,0.32851e-01_rb /) kao(:, 4, 3,11) = (/ & & 0.40996e-01_rb,0.38286e-01_rb,0.36402e-01_rb,0.35356e-01_rb,0.34868e-01_rb, & & 0.33799e-01_rb,0.31619e-01_rb,0.33158e-01_rb,0.37659e-01_rb /) kao(:, 5, 3,11) = (/ & & 0.40710e-01_rb,0.38497e-01_rb,0.37108e-01_rb,0.37161e-01_rb,0.37098e-01_rb, & & 0.36226e-01_rb,0.34568e-01_rb,0.37733e-01_rb,0.42953e-01_rb /) kao(:, 1, 4,11) = (/ & & 0.44432e-01_rb,0.39911e-01_rb,0.36533e-01_rb,0.32358e-01_rb,0.30116e-01_rb, & & 0.27425e-01_rb,0.24391e-01_rb,0.21003e-01_rb,0.22873e-01_rb /) kao(:, 2, 4,11) = (/ & & 0.44241e-01_rb,0.40248e-01_rb,0.36750e-01_rb,0.33734e-01_rb,0.31371e-01_rb, & & 0.29050e-01_rb,0.26929e-01_rb,0.23993e-01_rb,0.26696e-01_rb /) kao(:, 3, 4,11) = (/ & & 0.43986e-01_rb,0.40474e-01_rb,0.37358e-01_rb,0.34847e-01_rb,0.32894e-01_rb, & & 0.31475e-01_rb,0.29486e-01_rb,0.27256e-01_rb,0.30632e-01_rb /) kao(:, 4, 4,11) = (/ & & 0.43750e-01_rb,0.40487e-01_rb,0.38107e-01_rb,0.36115e-01_rb,0.35063e-01_rb, & & 0.33924e-01_rb,0.31967e-01_rb,0.31144e-01_rb,0.35198e-01_rb /) kao(:, 5, 4,11) = (/ & & 0.43427e-01_rb,0.40610e-01_rb,0.38702e-01_rb,0.37867e-01_rb,0.37251e-01_rb, & & 0.36357e-01_rb,0.34995e-01_rb,0.35502e-01_rb,0.40197e-01_rb /) kao(:, 1, 5,11) = (/ & & 0.47176e-01_rb,0.42142e-01_rb,0.38550e-01_rb,0.33884e-01_rb,0.30889e-01_rb, & & 0.27516e-01_rb,0.24267e-01_rb,0.20680e-01_rb,0.20851e-01_rb /) kao(:, 2, 5,11) = (/ & & 0.47021e-01_rb,0.42363e-01_rb,0.38770e-01_rb,0.35164e-01_rb,0.32104e-01_rb, & & 0.29005e-01_rb,0.26645e-01_rb,0.23247e-01_rb,0.24505e-01_rb /) kao(:, 3, 5,11) = (/ & & 0.46797e-01_rb,0.42763e-01_rb,0.39235e-01_rb,0.36269e-01_rb,0.33395e-01_rb, & & 0.31307e-01_rb,0.29249e-01_rb,0.25924e-01_rb,0.28324e-01_rb /) kao(:, 4, 5,11) = (/ & & 0.46572e-01_rb,0.42912e-01_rb,0.40018e-01_rb,0.37361e-01_rb,0.35308e-01_rb, & & 0.33789e-01_rb,0.31702e-01_rb,0.29304e-01_rb,0.32735e-01_rb /) kao(:, 5, 5,11) = (/ & & 0.46255e-01_rb,0.42923e-01_rb,0.40617e-01_rb,0.38829e-01_rb,0.37399e-01_rb, & & 0.36167e-01_rb,0.34686e-01_rb,0.33312e-01_rb,0.37380e-01_rb /) kao(:, 1, 6,11) = (/ & & 0.49975e-01_rb,0.44361e-01_rb,0.40341e-01_rb,0.35539e-01_rb,0.31829e-01_rb, & & 0.27816e-01_rb,0.23845e-01_rb,0.20093e-01_rb,0.18543e-01_rb /) kao(:, 2, 6,11) = (/ & & 0.49828e-01_rb,0.44558e-01_rb,0.40763e-01_rb,0.36628e-01_rb,0.33050e-01_rb, & & 0.29095e-01_rb,0.26117e-01_rb,0.22673e-01_rb,0.22099e-01_rb /) kao(:, 3, 6,11) = (/ & & 0.49608e-01_rb,0.44841e-01_rb,0.41085e-01_rb,0.37793e-01_rb,0.34135e-01_rb, & & 0.31097e-01_rb,0.28755e-01_rb,0.25283e-01_rb,0.25831e-01_rb /) kao(:, 4, 6,11) = (/ & & 0.49365e-01_rb,0.45144e-01_rb,0.41922e-01_rb,0.38723e-01_rb,0.35845e-01_rb, & & 0.33431e-01_rb,0.31237e-01_rb,0.28118e-01_rb,0.29954e-01_rb /) kao(:, 5, 6,11) = (/ & & 0.49026e-01_rb,0.45249e-01_rb,0.42535e-01_rb,0.39993e-01_rb,0.37821e-01_rb, & & 0.35671e-01_rb,0.34099e-01_rb,0.31399e-01_rb,0.34366e-01_rb /) kao(:, 1, 7,11) = (/ & & 0.52410e-01_rb,0.46362e-01_rb,0.41901e-01_rb,0.37210e-01_rb,0.32800e-01_rb, & & 0.28263e-01_rb,0.23499e-01_rb,0.19230e-01_rb,0.16237e-01_rb /) kao(:, 2, 7,11) = (/ & & 0.52214e-01_rb,0.46505e-01_rb,0.42451e-01_rb,0.38113e-01_rb,0.34021e-01_rb, & & 0.29480e-01_rb,0.25464e-01_rb,0.21812e-01_rb,0.19595e-01_rb /) kao(:, 3, 7,11) = (/ & & 0.51982e-01_rb,0.46700e-01_rb,0.42867e-01_rb,0.39292e-01_rb,0.35048e-01_rb, & & 0.31222e-01_rb,0.27987e-01_rb,0.24489e-01_rb,0.23138e-01_rb /) kao(:, 4, 7,11) = (/ & & 0.51660e-01_rb,0.46904e-01_rb,0.43697e-01_rb,0.40172e-01_rb,0.36555e-01_rb, & & 0.33390e-01_rb,0.30506e-01_rb,0.27287e-01_rb,0.27036e-01_rb /) kao(:, 5, 7,11) = (/ & & 0.51284e-01_rb,0.47053e-01_rb,0.44408e-01_rb,0.41338e-01_rb,0.38429e-01_rb, & & 0.35446e-01_rb,0.33297e-01_rb,0.30383e-01_rb,0.31263e-01_rb /) kao(:, 1, 8,11) = (/ & & 0.53849e-01_rb,0.47597e-01_rb,0.43012e-01_rb,0.38373e-01_rb,0.33860e-01_rb, & & 0.28679e-01_rb,0.23391e-01_rb,0.18151e-01_rb,0.14106e-01_rb /) kao(:, 2, 8,11) = (/ & & 0.53641e-01_rb,0.47671e-01_rb,0.43475e-01_rb,0.39445e-01_rb,0.35042e-01_rb, & & 0.29924e-01_rb,0.25055e-01_rb,0.20655e-01_rb,0.17171e-01_rb /) kao(:, 3, 8,11) = (/ & & 0.53375e-01_rb,0.47826e-01_rb,0.44020e-01_rb,0.40653e-01_rb,0.36059e-01_rb, & & 0.31447e-01_rb,0.27345e-01_rb,0.23357e-01_rb,0.20383e-01_rb /) kao(:, 4, 8,11) = (/ & & 0.53001e-01_rb,0.48011e-01_rb,0.44999e-01_rb,0.41558e-01_rb,0.37354e-01_rb, & & 0.33601e-01_rb,0.29695e-01_rb,0.26106e-01_rb,0.24004e-01_rb /) kao(:, 5, 8,11) = (/ & & 0.52592e-01_rb,0.48152e-01_rb,0.45845e-01_rb,0.42585e-01_rb,0.39198e-01_rb, & & 0.35588e-01_rb,0.32287e-01_rb,0.29155e-01_rb,0.27991e-01_rb /) kao(:, 1, 9,11) = (/ & & 0.54223e-01_rb,0.47973e-01_rb,0.43289e-01_rb,0.38882e-01_rb,0.34299e-01_rb, & & 0.28946e-01_rb,0.23303e-01_rb,0.17068e-01_rb,0.11192e-01_rb /) kao(:, 2, 9,11) = (/ & & 0.53940e-01_rb,0.47929e-01_rb,0.43759e-01_rb,0.39916e-01_rb,0.35622e-01_rb, & & 0.30345e-01_rb,0.24752e-01_rb,0.19298e-01_rb,0.14778e-01_rb /) kao(:, 3, 9,11) = (/ & & 0.53642e-01_rb,0.48095e-01_rb,0.44399e-01_rb,0.41241e-01_rb,0.36768e-01_rb, & & 0.31745e-01_rb,0.26845e-01_rb,0.21914e-01_rb,0.17754e-01_rb /) kao(:, 4, 9,11) = (/ & & 0.53257e-01_rb,0.48243e-01_rb,0.45322e-01_rb,0.42327e-01_rb,0.37988e-01_rb, & & 0.33799e-01_rb,0.29109e-01_rb,0.24533e-01_rb,0.21056e-01_rb /) kao(:, 5, 9,11) = (/ & & 0.52778e-01_rb,0.48340e-01_rb,0.46365e-01_rb,0.43326e-01_rb,0.39837e-01_rb, & & 0.35758e-01_rb,0.31465e-01_rb,0.27467e-01_rb,0.24721e-01_rb /) kao(:, 1,10,11) = (/ & & 0.53564e-01_rb,0.47520e-01_rb,0.42897e-01_rb,0.38870e-01_rb,0.34096e-01_rb, & & 0.28762e-01_rb,0.23161e-01_rb,0.16420e-01_rb,0.10403e-01_rb /) kao(:, 2,10,11) = (/ & & 0.53200e-01_rb,0.47370e-01_rb,0.43390e-01_rb,0.39812e-01_rb,0.35374e-01_rb, & & 0.30449e-01_rb,0.24605e-01_rb,0.18329e-01_rb,0.12727e-01_rb /) kao(:, 3,10,11) = (/ & & 0.52804e-01_rb,0.47486e-01_rb,0.44077e-01_rb,0.41029e-01_rb,0.36828e-01_rb, & & 0.31909e-01_rb,0.26518e-01_rb,0.20700e-01_rb,0.14792e-01_rb /) kao(:, 4,10,11) = (/ & & 0.52379e-01_rb,0.47585e-01_rb,0.44997e-01_rb,0.42270e-01_rb,0.38168e-01_rb, & & 0.33930e-01_rb,0.28762e-01_rb,0.23052e-01_rb,0.16495e-01_rb /) kao(:, 5,10,11) = (/ & & 0.51859e-01_rb,0.47629e-01_rb,0.45989e-01_rb,0.43387e-01_rb,0.40080e-01_rb, & & 0.36007e-01_rb,0.30957e-01_rb,0.25773e-01_rb,0.18898e-01_rb /) kao(:, 1,11,11) = (/ & & 0.51622e-01_rb,0.46074e-01_rb,0.42057e-01_rb,0.38618e-01_rb,0.33808e-01_rb, & & 0.28847e-01_rb,0.23288e-01_rb,0.16620e-01_rb,0.11907e-01_rb /) kao(:, 2,11,11) = (/ & & 0.51193e-01_rb,0.45980e-01_rb,0.42719e-01_rb,0.39541e-01_rb,0.35253e-01_rb, & & 0.30566e-01_rb,0.24931e-01_rb,0.18565e-01_rb,0.13988e-01_rb /) kao(:, 3,11,11) = (/ & & 0.50740e-01_rb,0.46089e-01_rb,0.43457e-01_rb,0.40804e-01_rb,0.36736e-01_rb, & & 0.32310e-01_rb,0.27095e-01_rb,0.20684e-01_rb,0.16681e-01_rb /) kao(:, 4,11,11) = (/ & & 0.50228e-01_rb,0.46105e-01_rb,0.44454e-01_rb,0.41838e-01_rb,0.38478e-01_rb, & & 0.34580e-01_rb,0.29293e-01_rb,0.22846e-01_rb,0.18301e-01_rb /) kao(:, 5,11,11) = (/ & & 0.49697e-01_rb,0.46259e-01_rb,0.45191e-01_rb,0.43198e-01_rb,0.40635e-01_rb, & & 0.36709e-01_rb,0.31434e-01_rb,0.25478e-01_rb,0.20947e-01_rb /) kao(:, 1,12,11) = (/ & & 0.48647e-01_rb,0.43752e-01_rb,0.40707e-01_rb,0.37500e-01_rb,0.33089e-01_rb, & & 0.28489e-01_rb,0.23000e-01_rb,0.16785e-01_rb,0.12627e-01_rb /) kao(:, 2,12,11) = (/ & & 0.48181e-01_rb,0.43711e-01_rb,0.41312e-01_rb,0.38500e-01_rb,0.34693e-01_rb, & & 0.30128e-01_rb,0.24939e-01_rb,0.18673e-01_rb,0.15167e-01_rb /) kao(:, 3,12,11) = (/ & & 0.47678e-01_rb,0.43812e-01_rb,0.42104e-01_rb,0.39699e-01_rb,0.36175e-01_rb, & & 0.32199e-01_rb,0.27269e-01_rb,0.20637e-01_rb,0.17826e-01_rb /) kao(:, 4,12,11) = (/ & & 0.47181e-01_rb,0.43914e-01_rb,0.43002e-01_rb,0.40767e-01_rb,0.38218e-01_rb, & & 0.34662e-01_rb,0.29455e-01_rb,0.22728e-01_rb,0.19785e-01_rb /) kao(:, 5,12,11) = (/ & & 0.46685e-01_rb,0.44343e-01_rb,0.43686e-01_rb,0.42426e-01_rb,0.40422e-01_rb, & & 0.36842e-01_rb,0.31692e-01_rb,0.25217e-01_rb,0.22679e-01_rb /) kao(:, 1,13,11) = (/ & & 0.44854e-01_rb,0.40724e-01_rb,0.38672e-01_rb,0.35614e-01_rb,0.31949e-01_rb, & & 0.27602e-01_rb,0.22498e-01_rb,0.16720e-01_rb,0.12798e-01_rb /) kao(:, 2,13,11) = (/ & & 0.44381e-01_rb,0.40833e-01_rb,0.39190e-01_rb,0.36792e-01_rb,0.33534e-01_rb, & & 0.29330e-01_rb,0.24604e-01_rb,0.18629e-01_rb,0.15661e-01_rb /) kao(:, 3,13,11) = (/ & & 0.43916e-01_rb,0.40995e-01_rb,0.40051e-01_rb,0.37975e-01_rb,0.35149e-01_rb, & & 0.31642e-01_rb,0.27046e-01_rb,0.20453e-01_rb,0.17792e-01_rb /) kao(:, 4,13,11) = (/ & & 0.43441e-01_rb,0.41288e-01_rb,0.40871e-01_rb,0.39278e-01_rb,0.37365e-01_rb, & & 0.34126e-01_rb,0.29213e-01_rb,0.22513e-01_rb,0.19591e-01_rb /) kao(:, 5,13,11) = (/ & & 0.42963e-01_rb,0.41916e-01_rb,0.41758e-01_rb,0.41144e-01_rb,0.39580e-01_rb, & & 0.36327e-01_rb,0.31558e-01_rb,0.24885e-01_rb,0.22715e-01_rb /) kao(:, 1, 1,12) = (/ & & 0.52315e-01_rb,0.47505e-01_rb,0.42884e-01_rb,0.38287e-01_rb,0.34721e-01_rb, & & 0.30888e-01_rb,0.29687e-01_rb,0.33559e-01_rb,0.37791e-01_rb /) kao(:, 2, 1,12) = (/ & & 0.52132e-01_rb,0.47869e-01_rb,0.43358e-01_rb,0.39519e-01_rb,0.36490e-01_rb, & & 0.33059e-01_rb,0.34560e-01_rb,0.39434e-01_rb,0.44537e-01_rb /) kao(:, 3, 1,12) = (/ & & 0.51859e-01_rb,0.48259e-01_rb,0.44108e-01_rb,0.41053e-01_rb,0.38159e-01_rb, & & 0.36325e-01_rb,0.40345e-01_rb,0.46345e-01_rb,0.52382e-01_rb /) kao(:, 4, 1,12) = (/ & & 0.51556e-01_rb,0.48650e-01_rb,0.44992e-01_rb,0.42544e-01_rb,0.40704e-01_rb, & & 0.40160e-01_rb,0.46427e-01_rb,0.53431e-01_rb,0.60544e-01_rb /) kao(:, 5, 1,12) = (/ & & 0.51137e-01_rb,0.48860e-01_rb,0.46168e-01_rb,0.44111e-01_rb,0.43209e-01_rb, & & 0.44827e-01_rb,0.52800e-01_rb,0.60972e-01_rb,0.69216e-01_rb /) kao(:, 1, 2,12) = (/ & & 0.56434e-01_rb,0.51118e-01_rb,0.46217e-01_rb,0.41561e-01_rb,0.37505e-01_rb, & & 0.33646e-01_rb,0.30189e-01_rb,0.33085e-01_rb,0.37424e-01_rb /) kao(:, 2, 2,12) = (/ & & 0.56174e-01_rb,0.51590e-01_rb,0.46758e-01_rb,0.42838e-01_rb,0.39459e-01_rb, & & 0.35755e-01_rb,0.34261e-01_rb,0.38732e-01_rb,0.43938e-01_rb /) kao(:, 3, 2,12) = (/ & & 0.55870e-01_rb,0.52113e-01_rb,0.47459e-01_rb,0.44557e-01_rb,0.41223e-01_rb, & & 0.38732e-01_rb,0.39807e-01_rb,0.45508e-01_rb,0.51693e-01_rb /) kao(:, 4, 2,12) = (/ & & 0.55457e-01_rb,0.52524e-01_rb,0.48507e-01_rb,0.46112e-01_rb,0.43732e-01_rb, & & 0.42045e-01_rb,0.45811e-01_rb,0.52732e-01_rb,0.60004e-01_rb /) kao(:, 5, 2,12) = (/ & & 0.54996e-01_rb,0.52680e-01_rb,0.49849e-01_rb,0.47721e-01_rb,0.46514e-01_rb, & & 0.45961e-01_rb,0.52270e-01_rb,0.60294e-01_rb,0.68714e-01_rb /) kao(:, 1, 3,12) = (/ & & 0.59831e-01_rb,0.53764e-01_rb,0.48883e-01_rb,0.44361e-01_rb,0.39553e-01_rb, & & 0.35958e-01_rb,0.31293e-01_rb,0.31467e-01_rb,0.35795e-01_rb /) kao(:, 2, 3,12) = (/ & & 0.59532e-01_rb,0.54423e-01_rb,0.49485e-01_rb,0.45554e-01_rb,0.41889e-01_rb, & & 0.38044e-01_rb,0.34149e-01_rb,0.36846e-01_rb,0.42078e-01_rb /) kao(:, 3, 3,12) = (/ & & 0.59134e-01_rb,0.55152e-01_rb,0.50116e-01_rb,0.47410e-01_rb,0.43907e-01_rb, & & 0.40732e-01_rb,0.38444e-01_rb,0.43145e-01_rb,0.49218e-01_rb /) kao(:, 4, 3,12) = (/ & & 0.58672e-01_rb,0.55655e-01_rb,0.51271e-01_rb,0.49059e-01_rb,0.46360e-01_rb, & & 0.44063e-01_rb,0.43633e-01_rb,0.49781e-01_rb,0.56746e-01_rb /) kao(:, 5, 3,12) = (/ & & 0.58134e-01_rb,0.55813e-01_rb,0.52716e-01_rb,0.50709e-01_rb,0.49278e-01_rb, & & 0.47427e-01_rb,0.49630e-01_rb,0.57031e-01_rb,0.65034e-01_rb /) kao(:, 1, 4,12) = (/ & & 0.62624e-01_rb,0.55864e-01_rb,0.50884e-01_rb,0.46641e-01_rb,0.41202e-01_rb, & & 0.37808e-01_rb,0.32728e-01_rb,0.29634e-01_rb,0.33571e-01_rb /) kao(:, 2, 4,12) = (/ & & 0.62339e-01_rb,0.56365e-01_rb,0.51618e-01_rb,0.47600e-01_rb,0.43888e-01_rb, & & 0.40000e-01_rb,0.35145e-01_rb,0.34591e-01_rb,0.39469e-01_rb /) kao(:, 3, 4,12) = (/ & & 0.61969e-01_rb,0.57107e-01_rb,0.52103e-01_rb,0.49599e-01_rb,0.46112e-01_rb, & & 0.42482e-01_rb,0.38680e-01_rb,0.40578e-01_rb,0.46387e-01_rb /) kao(:, 4, 4,12) = (/ & & 0.61515e-01_rb,0.57939e-01_rb,0.53160e-01_rb,0.51347e-01_rb,0.48544e-01_rb, & & 0.45843e-01_rb,0.42689e-01_rb,0.46767e-01_rb,0.53378e-01_rb /) kao(:, 5, 4,12) = (/ & & 0.60986e-01_rb,0.58238e-01_rb,0.54658e-01_rb,0.53027e-01_rb,0.51696e-01_rb, & & 0.49388e-01_rb,0.47217e-01_rb,0.53278e-01_rb,0.60785e-01_rb /) kao(:, 1, 5,12) = (/ & & 0.65795e-01_rb,0.58347e-01_rb,0.52585e-01_rb,0.48437e-01_rb,0.42714e-01_rb, & & 0.39265e-01_rb,0.34039e-01_rb,0.28235e-01_rb,0.31421e-01_rb /) kao(:, 2, 5,12) = (/ & & 0.65486e-01_rb,0.58633e-01_rb,0.53696e-01_rb,0.49213e-01_rb,0.45420e-01_rb, & & 0.41668e-01_rb,0.36378e-01_rb,0.32647e-01_rb,0.37055e-01_rb /) kao(:, 3, 5,12) = (/ & & 0.65183e-01_rb,0.59134e-01_rb,0.54134e-01_rb,0.51097e-01_rb,0.47829e-01_rb, & & 0.44052e-01_rb,0.39727e-01_rb,0.38129e-01_rb,0.43417e-01_rb /) kao(:, 4, 5,12) = (/ & & 0.64717e-01_rb,0.59894e-01_rb,0.54954e-01_rb,0.53041e-01_rb,0.50294e-01_rb, & & 0.47344e-01_rb,0.43654e-01_rb,0.43889e-01_rb,0.49916e-01_rb /) kao(:, 5, 5,12) = (/ & & 0.64255e-01_rb,0.60489e-01_rb,0.56373e-01_rb,0.54824e-01_rb,0.53472e-01_rb, & & 0.51112e-01_rb,0.47282e-01_rb,0.50031e-01_rb,0.57102e-01_rb /) kao(:, 1, 6,12) = (/ & & 0.69615e-01_rb,0.61594e-01_rb,0.54882e-01_rb,0.50187e-01_rb,0.44074e-01_rb, & & 0.39997e-01_rb,0.34871e-01_rb,0.27743e-01_rb,0.29013e-01_rb /) kao(:, 2, 6,12) = (/ & & 0.69442e-01_rb,0.61757e-01_rb,0.55910e-01_rb,0.50997e-01_rb,0.46497e-01_rb, & & 0.42613e-01_rb,0.37188e-01_rb,0.31216e-01_rb,0.34347e-01_rb /) kao(:, 3, 6,12) = (/ & & 0.69156e-01_rb,0.62106e-01_rb,0.56750e-01_rb,0.52515e-01_rb,0.49101e-01_rb, & & 0.44986e-01_rb,0.40395e-01_rb,0.35961e-01_rb,0.40369e-01_rb /) kao(:, 4, 6,12) = (/ & & 0.68816e-01_rb,0.62627e-01_rb,0.57231e-01_rb,0.54601e-01_rb,0.51362e-01_rb, & & 0.48280e-01_rb,0.44442e-01_rb,0.41156e-01_rb,0.46554e-01_rb /) kao(:, 5, 6,12) = (/ & & 0.68355e-01_rb,0.63113e-01_rb,0.58516e-01_rb,0.56347e-01_rb,0.54360e-01_rb, & & 0.52199e-01_rb,0.48222e-01_rb,0.46871e-01_rb,0.53241e-01_rb /) kao(:, 1, 7,12) = (/ & & 0.74032e-01_rb,0.65393e-01_rb,0.58013e-01_rb,0.51965e-01_rb,0.45915e-01_rb, & & 0.40526e-01_rb,0.35125e-01_rb,0.27883e-01_rb,0.26586e-01_rb /) kao(:, 2, 7,12) = (/ & & 0.73937e-01_rb,0.65493e-01_rb,0.58738e-01_rb,0.53263e-01_rb,0.47941e-01_rb, & & 0.43149e-01_rb,0.37585e-01_rb,0.30874e-01_rb,0.31614e-01_rb /) kao(:, 3, 7,12) = (/ & & 0.73662e-01_rb,0.65759e-01_rb,0.59591e-01_rb,0.54630e-01_rb,0.50354e-01_rb, & & 0.45514e-01_rb,0.40708e-01_rb,0.34889e-01_rb,0.37383e-01_rb /) kao(:, 4, 7,12) = (/ & & 0.73359e-01_rb,0.66187e-01_rb,0.60275e-01_rb,0.56599e-01_rb,0.52392e-01_rb, & & 0.48574e-01_rb,0.44791e-01_rb,0.39333e-01_rb,0.43356e-01_rb /) kao(:, 5, 7,12) = (/ & & 0.72923e-01_rb,0.66589e-01_rb,0.61432e-01_rb,0.58168e-01_rb,0.55043e-01_rb, & & 0.52561e-01_rb,0.48755e-01_rb,0.44300e-01_rb,0.49765e-01_rb /) kao(:, 1, 8,12) = (/ & & 0.78458e-01_rb,0.69177e-01_rb,0.61142e-01_rb,0.54247e-01_rb,0.47727e-01_rb, & & 0.41456e-01_rb,0.34819e-01_rb,0.27717e-01_rb,0.23941e-01_rb /) kao(:, 2, 8,12) = (/ & & 0.78410e-01_rb,0.69294e-01_rb,0.61857e-01_rb,0.55492e-01_rb,0.49764e-01_rb, & & 0.43844e-01_rb,0.37501e-01_rb,0.30644e-01_rb,0.28737e-01_rb /) kao(:, 3, 8,12) = (/ & & 0.78162e-01_rb,0.69463e-01_rb,0.62578e-01_rb,0.57026e-01_rb,0.52068e-01_rb, & & 0.46044e-01_rb,0.40472e-01_rb,0.34561e-01_rb,0.34380e-01_rb /) kao(:, 4, 8,12) = (/ & & 0.77871e-01_rb,0.69834e-01_rb,0.63268e-01_rb,0.59074e-01_rb,0.53918e-01_rb, & & 0.48672e-01_rb,0.44601e-01_rb,0.38671e-01_rb,0.40158e-01_rb /) kao(:, 5, 8,12) = (/ & & 0.77487e-01_rb,0.70209e-01_rb,0.64405e-01_rb,0.60632e-01_rb,0.56120e-01_rb, & & 0.52504e-01_rb,0.48787e-01_rb,0.42980e-01_rb,0.46410e-01_rb /) kao(:, 1, 9,12) = (/ & & 0.82666e-01_rb,0.72734e-01_rb,0.64105e-01_rb,0.56594e-01_rb,0.49561e-01_rb, & & 0.42281e-01_rb,0.34472e-01_rb,0.27105e-01_rb,0.21191e-01_rb /) kao(:, 2, 9,12) = (/ & & 0.82602e-01_rb,0.72866e-01_rb,0.64825e-01_rb,0.57780e-01_rb,0.51415e-01_rb, & & 0.44682e-01_rb,0.37233e-01_rb,0.30003e-01_rb,0.25697e-01_rb /) kao(:, 3, 9,12) = (/ & & 0.82349e-01_rb,0.72898e-01_rb,0.65478e-01_rb,0.59213e-01_rb,0.53844e-01_rb, & & 0.46925e-01_rb,0.39994e-01_rb,0.33830e-01_rb,0.31116e-01_rb /) kao(:, 4, 9,12) = (/ & & 0.82004e-01_rb,0.73222e-01_rb,0.66214e-01_rb,0.61303e-01_rb,0.55771e-01_rb, & & 0.49206e-01_rb,0.43963e-01_rb,0.38199e-01_rb,0.36759e-01_rb /) kao(:, 5, 9,12) = (/ & & 0.81608e-01_rb,0.73612e-01_rb,0.67180e-01_rb,0.63056e-01_rb,0.57653e-01_rb, & & 0.52653e-01_rb,0.48283e-01_rb,0.42441e-01_rb,0.42846e-01_rb /) kao(:, 1,10,12) = (/ & & 0.85880e-01_rb,0.75430e-01_rb,0.66656e-01_rb,0.58773e-01_rb,0.51658e-01_rb, & & 0.43336e-01_rb,0.34393e-01_rb,0.26157e-01_rb,0.14663e-01_rb /) kao(:, 2,10,12) = (/ & & 0.85756e-01_rb,0.75590e-01_rb,0.67337e-01_rb,0.60049e-01_rb,0.53266e-01_rb, & & 0.45473e-01_rb,0.37278e-01_rb,0.29125e-01_rb,0.16193e-01_rb /) kao(:, 3,10,12) = (/ & & 0.85530e-01_rb,0.75588e-01_rb,0.67995e-01_rb,0.61462e-01_rb,0.55345e-01_rb, & & 0.48001e-01_rb,0.39939e-01_rb,0.32883e-01_rb,0.20331e-01_rb /) kao(:, 4,10,12) = (/ & & 0.85095e-01_rb,0.75810e-01_rb,0.68684e-01_rb,0.63320e-01_rb,0.57485e-01_rb, & & 0.50257e-01_rb,0.43559e-01_rb,0.37443e-01_rb,0.23682e-01_rb /) kao(:, 5,10,12) = (/ & & 0.84667e-01_rb,0.76211e-01_rb,0.69733e-01_rb,0.65095e-01_rb,0.59445e-01_rb, & & 0.53380e-01_rb,0.47785e-01_rb,0.41863e-01_rb,0.26616e-01_rb /) kao(:, 1,11,12) = (/ & & 0.87471e-01_rb,0.76929e-01_rb,0.68322e-01_rb,0.60781e-01_rb,0.53951e-01_rb, & & 0.45056e-01_rb,0.35758e-01_rb,0.26371e-01_rb,0.18858e-01_rb /) kao(:, 2,11,12) = (/ & & 0.87208e-01_rb,0.76940e-01_rb,0.68996e-01_rb,0.62212e-01_rb,0.55582e-01_rb, & & 0.47319e-01_rb,0.38590e-01_rb,0.29478e-01_rb,0.21575e-01_rb /) kao(:, 3,11,12) = (/ & & 0.86835e-01_rb,0.76905e-01_rb,0.69723e-01_rb,0.63816e-01_rb,0.57699e-01_rb, & & 0.49745e-01_rb,0.41432e-01_rb,0.33605e-01_rb,0.25460e-01_rb /) kao(:, 4,11,12) = (/ & & 0.86430e-01_rb,0.77295e-01_rb,0.70629e-01_rb,0.65834e-01_rb,0.59545e-01_rb, & & 0.52341e-01_rb,0.45178e-01_rb,0.38243e-01_rb,0.30364e-01_rb /) kao(:, 5,11,12) = (/ & & 0.85874e-01_rb,0.77597e-01_rb,0.72138e-01_rb,0.67497e-01_rb,0.61709e-01_rb, & & 0.55855e-01_rb,0.49191e-01_rb,0.42789e-01_rb,0.33235e-01_rb /) kao(:, 1,12,12) = (/ & & 0.87248e-01_rb,0.76929e-01_rb,0.68689e-01_rb,0.62001e-01_rb,0.55189e-01_rb, & & 0.46282e-01_rb,0.37018e-01_rb,0.26535e-01_rb,0.20617e-01_rb /) kao(:, 2,12,12) = (/ & & 0.86938e-01_rb,0.76894e-01_rb,0.69591e-01_rb,0.63473e-01_rb,0.56879e-01_rb, & & 0.48866e-01_rb,0.39681e-01_rb,0.29869e-01_rb,0.23753e-01_rb /) kao(:, 3,12,12) = (/ & & 0.86505e-01_rb,0.76936e-01_rb,0.70473e-01_rb,0.65213e-01_rb,0.59161e-01_rb, & & 0.51227e-01_rb,0.42751e-01_rb,0.34068e-01_rb,0.28028e-01_rb /) kao(:, 4,12,12) = (/ & & 0.86014e-01_rb,0.77389e-01_rb,0.71734e-01_rb,0.67391e-01_rb,0.61041e-01_rb, & & 0.54172e-01_rb,0.46740e-01_rb,0.38524e-01_rb,0.33947e-01_rb /) kao(:, 5,12,12) = (/ & & 0.85424e-01_rb,0.77682e-01_rb,0.73622e-01_rb,0.69056e-01_rb,0.63676e-01_rb, & & 0.57877e-01_rb,0.50578e-01_rb,0.43087e-01_rb,0.36933e-01_rb /) kao(:, 1,13,12) = (/ & & 0.85419e-01_rb,0.75627e-01_rb,0.68076e-01_rb,0.62306e-01_rb,0.55288e-01_rb, & & 0.46939e-01_rb,0.37782e-01_rb,0.26869e-01_rb,0.20535e-01_rb /) kao(:, 2,13,12) = (/ & & 0.84985e-01_rb,0.75524e-01_rb,0.69213e-01_rb,0.63729e-01_rb,0.57271e-01_rb, & & 0.49714e-01_rb,0.40473e-01_rb,0.30181e-01_rb,0.22959e-01_rb /) kao(:, 3,13,12) = (/ & & 0.84529e-01_rb,0.75748e-01_rb,0.70315e-01_rb,0.65749e-01_rb,0.59660e-01_rb, & & 0.52260e-01_rb,0.43766e-01_rb,0.34359e-01_rb,0.28707e-01_rb /) kao(:, 4,13,12) = (/ & & 0.84038e-01_rb,0.76252e-01_rb,0.71947e-01_rb,0.67890e-01_rb,0.61874e-01_rb, & & 0.55511e-01_rb,0.47935e-01_rb,0.38594e-01_rb,0.34330e-01_rb /) kao(:, 5,13,12) = (/ & & 0.83450e-01_rb,0.76542e-01_rb,0.73924e-01_rb,0.69752e-01_rb,0.64960e-01_rb, & & 0.59356e-01_rb,0.51789e-01_rb,0.43079e-01_rb,0.38051e-01_rb /) kao(:, 1, 1,13) = (/ & & 0.68561e-01_rb,0.61393e-01_rb,0.55377e-01_rb,0.48367e-01_rb,0.42682e-01_rb, & & 0.39908e-01_rb,0.45275e-01_rb,0.51909e-01_rb,0.58629e-01_rb /) kao(:, 2, 1,13) = (/ & & 0.68429e-01_rb,0.62258e-01_rb,0.56444e-01_rb,0.49529e-01_rb,0.45167e-01_rb, & & 0.45643e-01_rb,0.53469e-01_rb,0.61626e-01_rb,0.69870e-01_rb /) kao(:, 3, 1,13) = (/ & & 0.68224e-01_rb,0.62810e-01_rb,0.57169e-01_rb,0.51186e-01_rb,0.48224e-01_rb, & & 0.52899e-01_rb,0.62764e-01_rb,0.72521e-01_rb,0.82353e-01_rb /) kao(:, 4, 1,13) = (/ & & 0.67917e-01_rb,0.63314e-01_rb,0.58187e-01_rb,0.53334e-01_rb,0.52038e-01_rb, & & 0.61434e-01_rb,0.73273e-01_rb,0.84850e-01_rb,0.96479e-01_rb /) kao(:, 5, 1,13) = (/ & & 0.67553e-01_rb,0.63903e-01_rb,0.59193e-01_rb,0.55737e-01_rb,0.58351e-01_rb, & & 0.71682e-01_rb,0.85665e-01_rb,0.99285e-01_rb,0.11295e+00_rb /) kao(:, 1, 2,13) = (/ & & 0.77509e-01_rb,0.69079e-01_rb,0.62486e-01_rb,0.54626e-01_rb,0.48075e-01_rb, & & 0.42537e-01_rb,0.44950e-01_rb,0.51477e-01_rb,0.58558e-01_rb /) kao(:, 2, 2,13) = (/ & & 0.77430e-01_rb,0.69950e-01_rb,0.63742e-01_rb,0.55764e-01_rb,0.50627e-01_rb, & & 0.46853e-01_rb,0.52532e-01_rb,0.60374e-01_rb,0.68733e-01_rb /) kao(:, 3, 2,13) = (/ & & 0.77189e-01_rb,0.70882e-01_rb,0.64573e-01_rb,0.57536e-01_rb,0.53311e-01_rb, & & 0.52406e-01_rb,0.61244e-01_rb,0.70634e-01_rb,0.80523e-01_rb /) kao(:, 4, 2,13) = (/ & & 0.76847e-01_rb,0.71588e-01_rb,0.65635e-01_rb,0.59928e-01_rb,0.56064e-01_rb, & & 0.60283e-01_rb,0.71500e-01_rb,0.82577e-01_rb,0.94220e-01_rb /) kao(:, 5, 2,13) = (/ & & 0.76386e-01_rb,0.72289e-01_rb,0.66796e-01_rb,0.62420e-01_rb,0.60016e-01_rb, & & 0.69350e-01_rb,0.82634e-01_rb,0.95798e-01_rb,0.10925e+00_rb /) kao(:, 1, 3,13) = (/ & & 0.86533e-01_rb,0.76872e-01_rb,0.69252e-01_rb,0.60999e-01_rb,0.53444e-01_rb, & & 0.46117e-01_rb,0.43982e-01_rb,0.49772e-01_rb,0.56991e-01_rb /) kao(:, 2, 3,13) = (/ & & 0.86412e-01_rb,0.77388e-01_rb,0.71047e-01_rb,0.62031e-01_rb,0.55847e-01_rb, & & 0.49560e-01_rb,0.50601e-01_rb,0.57831e-01_rb,0.66136e-01_rb /) kao(:, 3, 3,13) = (/ & & 0.86175e-01_rb,0.78253e-01_rb,0.72126e-01_rb,0.63678e-01_rb,0.58875e-01_rb, & & 0.53556e-01_rb,0.58645e-01_rb,0.67397e-01_rb,0.77181e-01_rb /) kao(:, 4, 3,13) = (/ & & 0.85802e-01_rb,0.79483e-01_rb,0.72991e-01_rb,0.66186e-01_rb,0.61530e-01_rb, & & 0.59229e-01_rb,0.68328e-01_rb,0.78749e-01_rb,0.90335e-01_rb /) kao(:, 5, 3,13) = (/ & & 0.85328e-01_rb,0.80671e-01_rb,0.74346e-01_rb,0.68871e-01_rb,0.64555e-01_rb, & & 0.67267e-01_rb,0.79478e-01_rb,0.91684e-01_rb,0.10533e+00_rb /) kao(:, 1, 4,13) = (/ & & 0.95394e-01_rb,0.84557e-01_rb,0.75442e-01_rb,0.67038e-01_rb,0.59073e-01_rb, & & 0.49886e-01_rb,0.44642e-01_rb,0.48508e-01_rb,0.55658e-01_rb /) kao(:, 2, 4,13) = (/ & & 0.95223e-01_rb,0.84873e-01_rb,0.77588e-01_rb,0.68316e-01_rb,0.60993e-01_rb, & & 0.53907e-01_rb,0.49824e-01_rb,0.55820e-01_rb,0.64074e-01_rb /) kao(:, 3, 4,13) = (/ & & 0.94965e-01_rb,0.85575e-01_rb,0.79290e-01_rb,0.69694e-01_rb,0.64420e-01_rb, & & 0.57295e-01_rb,0.56440e-01_rb,0.64306e-01_rb,0.73964e-01_rb /) kao(:, 4, 4,13) = (/ & & 0.94509e-01_rb,0.86370e-01_rb,0.80294e-01_rb,0.72257e-01_rb,0.67415e-01_rb, & & 0.61388e-01_rb,0.65357e-01_rb,0.74991e-01_rb,0.86332e-01_rb /) kao(:, 5, 4,13) = (/ & & 0.94009e-01_rb,0.87806e-01_rb,0.81595e-01_rb,0.75171e-01_rb,0.70245e-01_rb, & & 0.67536e-01_rb,0.76274e-01_rb,0.87845e-01_rb,0.10132e+00_rb /) kao(:, 1, 5,13) = (/ & & 0.10343e+00_rb,0.91525e-01_rb,0.80861e-01_rb,0.72378e-01_rb,0.64406e-01_rb, & & 0.53983e-01_rb,0.47036e-01_rb,0.47125e-01_rb,0.54095e-01_rb /) kao(:, 2, 5,13) = (/ & & 0.10334e+00_rb,0.91907e-01_rb,0.82762e-01_rb,0.74349e-01_rb,0.66049e-01_rb, & & 0.58213e-01_rb,0.51290e-01_rb,0.53990e-01_rb,0.61913e-01_rb /) kao(:, 3, 5,13) = (/ & & 0.10297e+00_rb,0.92357e-01_rb,0.85393e-01_rb,0.75564e-01_rb,0.69527e-01_rb, & & 0.62165e-01_rb,0.56265e-01_rb,0.62011e-01_rb,0.71236e-01_rb /) kao(:, 4, 5,13) = (/ & & 0.10256e+00_rb,0.93114e-01_rb,0.87093e-01_rb,0.77935e-01_rb,0.73042e-01_rb, & & 0.65986e-01_rb,0.63498e-01_rb,0.72109e-01_rb,0.83127e-01_rb /) kao(:, 5, 5,13) = (/ & & 0.10189e+00_rb,0.94299e-01_rb,0.88282e-01_rb,0.81218e-01_rb,0.76035e-01_rb, & & 0.70876e-01_rb,0.73640e-01_rb,0.84406e-01_rb,0.97393e-01_rb /) kao(:, 1, 6,13) = (/ & & 0.11045e+00_rb,0.97454e-01_rb,0.85408e-01_rb,0.76244e-01_rb,0.68972e-01_rb, & & 0.58251e-01_rb,0.49930e-01_rb,0.45374e-01_rb,0.51875e-01_rb /) kao(:, 2, 6,13) = (/ & & 0.11019e+00_rb,0.97819e-01_rb,0.87148e-01_rb,0.79069e-01_rb,0.71021e-01_rb, & & 0.62071e-01_rb,0.54179e-01_rb,0.52124e-01_rb,0.59618e-01_rb /) kao(:, 3, 6,13) = (/ & & 0.10981e+00_rb,0.98088e-01_rb,0.89384e-01_rb,0.81156e-01_rb,0.73973e-01_rb, & & 0.66762e-01_rb,0.58141e-01_rb,0.59499e-01_rb,0.68391e-01_rb /) kao(:, 4, 6,13) = (/ & & 0.10923e+00_rb,0.98741e-01_rb,0.91856e-01_rb,0.83093e-01_rb,0.78121e-01_rb, & & 0.70717e-01_rb,0.63590e-01_rb,0.68985e-01_rb,0.79490e-01_rb /) kao(:, 5, 6,13) = (/ & & 0.10855e+00_rb,0.99728e-01_rb,0.93768e-01_rb,0.86485e-01_rb,0.81499e-01_rb, & & 0.75384e-01_rb,0.71738e-01_rb,0.80634e-01_rb,0.92951e-01_rb /) kao(:, 1, 7,13) = (/ & & 0.11652e+00_rb,0.10245e+00_rb,0.89345e-01_rb,0.79831e-01_rb,0.71546e-01_rb, & & 0.62110e-01_rb,0.52889e-01_rb,0.43937e-01_rb,0.49094e-01_rb /) kao(:, 2, 7,13) = (/ & & 0.11624e+00_rb,0.10291e+00_rb,0.90769e-01_rb,0.82143e-01_rb,0.74705e-01_rb, & & 0.65752e-01_rb,0.57383e-01_rb,0.50125e-01_rb,0.56751e-01_rb /) kao(:, 3, 7,13) = (/ & & 0.11594e+00_rb,0.10317e+00_rb,0.92734e-01_rb,0.84722e-01_rb,0.77935e-01_rb, & & 0.70772e-01_rb,0.61416e-01_rb,0.57153e-01_rb,0.65344e-01_rb /) kao(:, 4, 7,13) = (/ & & 0.11535e+00_rb,0.10356e+00_rb,0.95024e-01_rb,0.87242e-01_rb,0.82357e-01_rb, & & 0.75212e-01_rb,0.65866e-01_rb,0.66110e-01_rb,0.76048e-01_rb /) kao(:, 5, 7,13) = (/ & & 0.11474e+00_rb,0.10447e+00_rb,0.97059e-01_rb,0.90869e-01_rb,0.86343e-01_rb, & & 0.79806e-01_rb,0.72467e-01_rb,0.77014e-01_rb,0.88751e-01_rb /) kao(:, 1, 8,13) = (/ & & 0.12265e+00_rb,0.10756e+00_rb,0.93593e-01_rb,0.82964e-01_rb,0.73576e-01_rb, & & 0.64374e-01_rb,0.55605e-01_rb,0.43559e-01_rb,0.46060e-01_rb /) kao(:, 2, 8,13) = (/ & & 0.12249e+00_rb,0.10812e+00_rb,0.94575e-01_rb,0.84973e-01_rb,0.76683e-01_rb, & & 0.68823e-01_rb,0.60052e-01_rb,0.49117e-01_rb,0.53798e-01_rb /) kao(:, 3, 8,13) = (/ & & 0.12216e+00_rb,0.10834e+00_rb,0.96338e-01_rb,0.87360e-01_rb,0.80349e-01_rb, & & 0.74206e-01_rb,0.64654e-01_rb,0.55074e-01_rb,0.62031e-01_rb /) kao(:, 4, 8,13) = (/ & & 0.12168e+00_rb,0.10860e+00_rb,0.98251e-01_rb,0.89888e-01_rb,0.85251e-01_rb, & & 0.79126e-01_rb,0.69120e-01_rb,0.63252e-01_rb,0.72334e-01_rb /) kao(:, 5, 8,13) = (/ & & 0.12099e+00_rb,0.10931e+00_rb,0.10017e+00_rb,0.93685e-01_rb,0.90048e-01_rb, & & 0.83711e-01_rb,0.75096e-01_rb,0.73779e-01_rb,0.84712e-01_rb /) kao(:, 1, 9,13) = (/ & & 0.12914e+00_rb,0.11313e+00_rb,0.98462e-01_rb,0.86441e-01_rb,0.75875e-01_rb, & & 0.66332e-01_rb,0.57013e-01_rb,0.43839e-01_rb,0.42411e-01_rb /) kao(:, 2, 9,13) = (/ & & 0.12911e+00_rb,0.11365e+00_rb,0.99113e-01_rb,0.88386e-01_rb,0.78651e-01_rb, & & 0.70676e-01_rb,0.61767e-01_rb,0.49076e-01_rb,0.50412e-01_rb /) kao(:, 3, 9,13) = (/ & & 0.12886e+00_rb,0.11401e+00_rb,0.10056e+00_rb,0.90400e-01_rb,0.82030e-01_rb, & & 0.75969e-01_rb,0.67212e-01_rb,0.54346e-01_rb,0.58598e-01_rb /) kao(:, 4, 9,13) = (/ & & 0.12844e+00_rb,0.11410e+00_rb,0.10221e+00_rb,0.92662e-01_rb,0.86791e-01_rb, & & 0.81685e-01_rb,0.71813e-01_rb,0.61251e-01_rb,0.68599e-01_rb /) kao(:, 5, 9,13) = (/ & & 0.12781e+00_rb,0.11455e+00_rb,0.10390e+00_rb,0.96184e-01_rb,0.92217e-01_rb, & & 0.86557e-01_rb,0.77640e-01_rb,0.70636e-01_rb,0.80447e-01_rb /) kao(:, 1,10,13) = (/ & & 0.13661e+00_rb,0.11963e+00_rb,0.10401e+00_rb,0.90612e-01_rb,0.78552e-01_rb, & & 0.68665e-01_rb,0.58042e-01_rb,0.44182e-01_rb,0.20623e-01_rb /) kao(:, 2,10,13) = (/ & & 0.13663e+00_rb,0.12000e+00_rb,0.10449e+00_rb,0.92427e-01_rb,0.81459e-01_rb, & & 0.72606e-01_rb,0.62588e-01_rb,0.49634e-01_rb,0.27517e-01_rb /) kao(:, 3,10,13) = (/ & & 0.13648e+00_rb,0.12048e+00_rb,0.10572e+00_rb,0.94344e-01_rb,0.84635e-01_rb, & & 0.77264e-01_rb,0.68466e-01_rb,0.54964e-01_rb,0.37460e-01_rb /) kao(:, 4,10,13) = (/ & & 0.13615e+00_rb,0.12055e+00_rb,0.10724e+00_rb,0.96538e-01_rb,0.88921e-01_rb, & & 0.82919e-01_rb,0.73837e-01_rb,0.61121e-01_rb,0.51408e-01_rb /) kao(:, 5,10,13) = (/ & & 0.13560e+00_rb,0.12083e+00_rb,0.10867e+00_rb,0.99719e-01_rb,0.94157e-01_rb, & & 0.88097e-01_rb,0.79982e-01_rb,0.69630e-01_rb,0.68524e-01_rb /) kao(:, 1,11,13) = (/ & & 0.14486e+00_rb,0.12685e+00_rb,0.11053e+00_rb,0.96215e-01_rb,0.83198e-01_rb, & & 0.72790e-01_rb,0.60483e-01_rb,0.46368e-01_rb,0.23123e-01_rb /) kao(:, 2,11,13) = (/ & & 0.14497e+00_rb,0.12740e+00_rb,0.11115e+00_rb,0.98058e-01_rb,0.86138e-01_rb, & & 0.76317e-01_rb,0.65283e-01_rb,0.52226e-01_rb,0.29160e-01_rb /) kao(:, 3,11,13) = (/ & & 0.14473e+00_rb,0.12775e+00_rb,0.11243e+00_rb,0.99891e-01_rb,0.89493e-01_rb, & & 0.80996e-01_rb,0.71303e-01_rb,0.57950e-01_rb,0.32977e-01_rb /) kao(:, 4,11,13) = (/ & & 0.14430e+00_rb,0.12774e+00_rb,0.11386e+00_rb,0.10223e+00_rb,0.94098e-01_rb, & & 0.86252e-01_rb,0.77087e-01_rb,0.64785e-01_rb,0.38714e-01_rb /) kao(:, 5,11,13) = (/ & & 0.14365e+00_rb,0.12806e+00_rb,0.11504e+00_rb,0.10578e+00_rb,0.98766e-01_rb, & & 0.91283e-01_rb,0.84242e-01_rb,0.73581e-01_rb,0.47497e-01_rb /) kao(:, 1,12,13) = (/ & & 0.15269e+00_rb,0.13372e+00_rb,0.11691e+00_rb,0.10167e+00_rb,0.88459e-01_rb, & & 0.76634e-01_rb,0.62620e-01_rb,0.48153e-01_rb,0.27858e-01_rb /) kao(:, 2,12,13) = (/ & & 0.15257e+00_rb,0.13415e+00_rb,0.11750e+00_rb,0.10380e+00_rb,0.91589e-01_rb, & & 0.79898e-01_rb,0.67862e-01_rb,0.54271e-01_rb,0.35587e-01_rb /) kao(:, 3,12,13) = (/ & & 0.15233e+00_rb,0.13449e+00_rb,0.11899e+00_rb,0.10589e+00_rb,0.94966e-01_rb, & & 0.84666e-01_rb,0.73653e-01_rb,0.60551e-01_rb,0.39809e-01_rb /) kao(:, 4,12,13) = (/ & & 0.15175e+00_rb,0.13439e+00_rb,0.12031e+00_rb,0.10854e+00_rb,0.99506e-01_rb, & & 0.89389e-01_rb,0.79517e-01_rb,0.68401e-01_rb,0.45578e-01_rb /) kao(:, 5,12,13) = (/ & & 0.15105e+00_rb,0.13484e+00_rb,0.12149e+00_rb,0.11242e+00_rb,0.10353e+00_rb, & & 0.94548e-01_rb,0.87485e-01_rb,0.77323e-01_rb,0.55990e-01_rb /) kao(:, 1,13,13) = (/ & & 0.15929e+00_rb,0.13953e+00_rb,0.12252e+00_rb,0.10682e+00_rb,0.93710e-01_rb, & & 0.80318e-01_rb,0.64679e-01_rb,0.49483e-01_rb,0.31231e-01_rb /) kao(:, 2,13,13) = (/ & & 0.15914e+00_rb,0.14001e+00_rb,0.12322e+00_rb,0.10931e+00_rb,0.96798e-01_rb, & & 0.83533e-01_rb,0.70039e-01_rb,0.55928e-01_rb,0.39440e-01_rb /) kao(:, 3,13,13) = (/ & & 0.15875e+00_rb,0.14019e+00_rb,0.12484e+00_rb,0.11161e+00_rb,0.10034e+00_rb, & & 0.88309e-01_rb,0.75681e-01_rb,0.62757e-01_rb,0.43280e-01_rb /) kao(:, 4,13,13) = (/ & & 0.15815e+00_rb,0.14019e+00_rb,0.12619e+00_rb,0.11467e+00_rb,0.10492e+00_rb, & & 0.92849e-01_rb,0.81796e-01_rb,0.71221e-01_rb,0.50343e-01_rb /) kao(:, 5,13,13) = (/ & & 0.15737e+00_rb,0.14077e+00_rb,0.12756e+00_rb,0.11888e+00_rb,0.10868e+00_rb, & & 0.98192e-01_rb,0.90106e-01_rb,0.80417e-01_rb,0.60332e-01_rb /) kao(:, 1, 1,14) = (/ & & 0.83965e-01_rb,0.74725e-01_rb,0.67262e-01_rb,0.61439e-01_rb,0.63569e-01_rb, & & 0.76568e-01_rb,0.91505e-01_rb,0.10604e+00_rb,0.12066e+00_rb /) kao(:, 2, 1,14) = (/ & & 0.84124e-01_rb,0.75639e-01_rb,0.69121e-01_rb,0.66761e-01_rb,0.75177e-01_rb, & & 0.93190e-01_rb,0.11140e+00_rb,0.12912e+00_rb,0.14697e+00_rb /) kao(:, 3, 1,14) = (/ & & 0.84208e-01_rb,0.76821e-01_rb,0.71401e-01_rb,0.74638e-01_rb,0.90938e-01_rb, & & 0.11330e+00_rb,0.13555e+00_rb,0.15732e+00_rb,0.17919e+00_rb /) kao(:, 4, 1,14) = (/ & & 0.84082e-01_rb,0.77722e-01_rb,0.74753e-01_rb,0.85505e-01_rb,0.11037e+00_rb, & & 0.13754e+00_rb,0.16460e+00_rb,0.19114e+00_rb,0.21779e+00_rb /) kao(:, 5, 1,14) = (/ & & 0.83810e-01_rb,0.78431e-01_rb,0.79767e-01_rb,0.99722e-01_rb,0.13195e+00_rb, & & 0.16448e+00_rb,0.19691e+00_rb,0.22867e+00_rb,0.26057e+00_rb /) kao(:, 1, 2,14) = (/ & & 0.98728e-01_rb,0.87584e-01_rb,0.78635e-01_rb,0.69559e-01_rb,0.65625e-01_rb, & & 0.74022e-01_rb,0.88098e-01_rb,0.10177e+00_rb,0.11620e+00_rb /) kao(:, 2, 2,14) = (/ & & 0.98895e-01_rb,0.88195e-01_rb,0.80583e-01_rb,0.73010e-01_rb,0.73981e-01_rb, & & 0.89007e-01_rb,0.10638e+00_rb,0.12319e+00_rb,0.14079e+00_rb /) kao(:, 3, 2,14) = (/ & & 0.98911e-01_rb,0.89265e-01_rb,0.82581e-01_rb,0.78421e-01_rb,0.87111e-01_rb, & & 0.10783e+00_rb,0.12893e+00_rb,0.14951e+00_rb,0.17084e+00_rb /) kao(:, 4, 2,14) = (/ & & 0.98795e-01_rb,0.90737e-01_rb,0.84451e-01_rb,0.86623e-01_rb,0.10466e+00_rb, & & 0.13034e+00_rb,0.15592e+00_rb,0.18094e+00_rb,0.20669e+00_rb /) kao(:, 5, 2,14) = (/ & & 0.98517e-01_rb,0.92027e-01_rb,0.87783e-01_rb,0.98306e-01_rb,0.12592e+00_rb, & & 0.15706e+00_rb,0.18794e+00_rb,0.21816e+00_rb,0.24934e+00_rb /) kao(:, 1, 3,14) = (/ & & 0.11536e+00_rb,0.10204e+00_rb,0.91076e-01_rb,0.79879e-01_rb,0.70411e-01_rb, & & 0.71590e-01_rb,0.83610e-01_rb,0.96241e-01_rb,0.11049e+00_rb /) kao(:, 2, 3,14) = (/ & & 0.11565e+00_rb,0.10277e+00_rb,0.93049e-01_rb,0.82303e-01_rb,0.75267e-01_rb, & & 0.83499e-01_rb,0.99323e-01_rb,0.11472e+00_rb,0.13181e+00_rb /) kao(:, 3, 3,14) = (/ & & 0.11566e+00_rb,0.10353e+00_rb,0.95697e-01_rb,0.85227e-01_rb,0.84157e-01_rb, & & 0.99917e-01_rb,0.11933e+00_rb,0.13815e+00_rb,0.15865e+00_rb /) kao(:, 4, 3,14) = (/ & & 0.11554e+00_rb,0.10447e+00_rb,0.97554e-01_rb,0.90504e-01_rb,0.97960e-01_rb, & & 0.12029e+00_rb,0.14386e+00_rb,0.16671e+00_rb,0.19135e+00_rb /) kao(:, 5, 3,14) = (/ & & 0.11515e+00_rb,0.10586e+00_rb,0.99141e-01_rb,0.99110e-01_rb,0.11626e+00_rb, & & 0.14432e+00_rb,0.17265e+00_rb,0.20040e+00_rb,0.22976e+00_rb /) kao(:, 1, 4,14) = (/ & & 0.13374e+00_rb,0.11777e+00_rb,0.10356e+00_rb,0.90948e-01_rb,0.79121e-01_rb, & & 0.73845e-01_rb,0.80790e-01_rb,0.92777e-01_rb,0.10713e+00_rb /) kao(:, 2, 4,14) = (/ & & 0.13413e+00_rb,0.11892e+00_rb,0.10607e+00_rb,0.94460e-01_rb,0.81628e-01_rb, & & 0.80960e-01_rb,0.93972e-01_rb,0.10817e+00_rb,0.12489e+00_rb /) kao(:, 3, 4,14) = (/ & & 0.13429e+00_rb,0.11957e+00_rb,0.10936e+00_rb,0.96737e-01_rb,0.86452e-01_rb, & & 0.93977e-01_rb,0.11135e+00_rb,0.12854e+00_rb,0.14815e+00_rb /) kao(:, 4, 4,14) = (/ & & 0.13415e+00_rb,0.12054e+00_rb,0.11264e+00_rb,0.99496e-01_rb,0.96100e-01_rb, & & 0.11145e+00_rb,0.13299e+00_rb,0.15385e+00_rb,0.17718e+00_rb /) kao(:, 5, 4,14) = (/ & & 0.13374e+00_rb,0.12142e+00_rb,0.11440e+00_rb,0.10500e+00_rb,0.11046e+00_rb, & & 0.13295e+00_rb,0.15886e+00_rb,0.18424e+00_rb,0.21188e+00_rb /) kao(:, 1, 5,14) = (/ & & 0.15386e+00_rb,0.13491e+00_rb,0.11798e+00_rb,0.10225e+00_rb,0.89703e-01_rb, & & 0.79220e-01_rb,0.79340e-01_rb,0.90595e-01_rb,0.10482e+00_rb /) kao(:, 2, 5,14) = (/ & & 0.15427e+00_rb,0.13635e+00_rb,0.12030e+00_rb,0.10668e+00_rb,0.92323e-01_rb, & & 0.84157e-01_rb,0.91777e-01_rb,0.10537e+00_rb,0.12216e+00_rb /) kao(:, 3, 5,14) = (/ & & 0.15452e+00_rb,0.13729e+00_rb,0.12299e+00_rb,0.11079e+00_rb,0.94730e-01_rb, & & 0.92840e-01_rb,0.10677e+00_rb,0.12287e+00_rb,0.14246e+00_rb /) kao(:, 4, 5,14) = (/ & & 0.15437e+00_rb,0.13801e+00_rb,0.12683e+00_rb,0.11313e+00_rb,0.10059e+00_rb, & & 0.10648e+00_rb,0.12562e+00_rb,0.14488e+00_rb,0.16770e+00_rb /) kao(:, 5, 5,14) = (/ & & 0.15403e+00_rb,0.13896e+00_rb,0.13053e+00_rb,0.11647e+00_rb,0.11129e+00_rb, & & 0.12495e+00_rb,0.14877e+00_rb,0.17193e+00_rb,0.19866e+00_rb /) kao(:, 1, 6,14) = (/ & & 0.17516e+00_rb,0.15332e+00_rb,0.13386e+00_rb,0.11461e+00_rb,0.98998e-01_rb, & & 0.86199e-01_rb,0.78839e-01_rb,0.88239e-01_rb,0.10212e+00_rb /) kao(:, 2, 6,14) = (/ & & 0.17578e+00_rb,0.15465e+00_rb,0.13554e+00_rb,0.11810e+00_rb,0.10372e+00_rb, & & 0.90966e-01_rb,0.90397e-01_rb,0.10318e+00_rb,0.11979e+00_rb /) kao(:, 3, 6,14) = (/ & & 0.17603e+00_rb,0.15606e+00_rb,0.13830e+00_rb,0.12297e+00_rb,0.10694e+00_rb, & & 0.96886e-01_rb,0.10455e+00_rb,0.12004e+00_rb,0.13936e+00_rb /) kao(:, 4, 6,14) = (/ & & 0.17594e+00_rb,0.15671e+00_rb,0.14175e+00_rb,0.12765e+00_rb,0.11049e+00_rb, & & 0.10701e+00_rb,0.12142e+00_rb,0.13971e+00_rb,0.16228e+00_rb /) kao(:, 5, 6,14) = (/ & & 0.17559e+00_rb,0.15762e+00_rb,0.14567e+00_rb,0.13124e+00_rb,0.11784e+00_rb, & & 0.12121e+00_rb,0.14182e+00_rb,0.16360e+00_rb,0.18966e+00_rb /) kao(:, 1, 7,14) = (/ & & 0.19714e+00_rb,0.17254e+00_rb,0.15016e+00_rb,0.12718e+00_rb,0.10949e+00_rb, & & 0.93814e-01_rb,0.79465e-01_rb,0.85103e-01_rb,0.98359e-01_rb /) kao(:, 2, 7,14) = (/ & & 0.19796e+00_rb,0.17362e+00_rb,0.15183e+00_rb,0.13102e+00_rb,0.11370e+00_rb, & & 0.99479e-01_rb,0.90483e-01_rb,0.10125e+00_rb,0.11726e+00_rb /) kao(:, 3, 7,14) = (/ & & 0.19829e+00_rb,0.17522e+00_rb,0.15424e+00_rb,0.13545e+00_rb,0.11863e+00_rb, & & 0.10457e+00_rb,0.10363e+00_rb,0.11810e+00_rb,0.13724e+00_rb /) kao(:, 4, 7,14) = (/ & & 0.19826e+00_rb,0.17625e+00_rb,0.15748e+00_rb,0.14049e+00_rb,0.12307e+00_rb, & & 0.11254e+00_rb,0.11942e+00_rb,0.13698e+00_rb,0.15920e+00_rb /) kao(:, 5, 7,14) = (/ & & 0.19780e+00_rb,0.17685e+00_rb,0.16171e+00_rb,0.14510e+00_rb,0.12933e+00_rb, & & 0.12368e+00_rb,0.13790e+00_rb,0.15875e+00_rb,0.18443e+00_rb /) kao(:, 1, 8,14) = (/ & & 0.21950e+00_rb,0.19210e+00_rb,0.16641e+00_rb,0.14074e+00_rb,0.12030e+00_rb, & & 0.10245e+00_rb,0.82539e-01_rb,0.82181e-01_rb,0.95126e-01_rb /) kao(:, 2, 8,14) = (/ & & 0.22029e+00_rb,0.19287e+00_rb,0.16845e+00_rb,0.14392e+00_rb,0.12476e+00_rb, & & 0.10750e+00_rb,0.92052e-01_rb,0.97622e-01_rb,0.11306e+00_rb /) kao(:, 3, 8,14) = (/ & & 0.22070e+00_rb,0.19423e+00_rb,0.17032e+00_rb,0.14847e+00_rb,0.12971e+00_rb, & & 0.11297e+00_rb,0.10375e+00_rb,0.11522e+00_rb,0.13338e+00_rb /) kao(:, 4, 8,14) = (/ & & 0.22058e+00_rb,0.19569e+00_rb,0.17355e+00_rb,0.15354e+00_rb,0.13473e+00_rb, & & 0.12044e+00_rb,0.11859e+00_rb,0.13469e+00_rb,0.15609e+00_rb /) kao(:, 5, 8,14) = (/ & & 0.22021e+00_rb,0.19640e+00_rb,0.17762e+00_rb,0.15857e+00_rb,0.14102e+00_rb, & & 0.13035e+00_rb,0.13566e+00_rb,0.15573e+00_rb,0.18054e+00_rb /) kao(:, 1, 9,14) = (/ & & 0.24109e+00_rb,0.21099e+00_rb,0.18179e+00_rb,0.15454e+00_rb,0.13112e+00_rb, & & 0.11092e+00_rb,0.89296e-01_rb,0.80506e-01_rb,0.93157e-01_rb /) kao(:, 2, 9,14) = (/ & & 0.24188e+00_rb,0.21170e+00_rb,0.18440e+00_rb,0.15693e+00_rb,0.13589e+00_rb, & & 0.11596e+00_rb,0.96808e-01_rb,0.94330e-01_rb,0.10941e+00_rb /) kao(:, 3, 9,14) = (/ & & 0.24228e+00_rb,0.21270e+00_rb,0.18618e+00_rb,0.16137e+00_rb,0.14099e+00_rb, & & 0.12182e+00_rb,0.10601e+00_rb,0.11139e+00_rb,0.12901e+00_rb /) kao(:, 4, 9,14) = (/ & & 0.24222e+00_rb,0.21416e+00_rb,0.18881e+00_rb,0.16653e+00_rb,0.14643e+00_rb, & & 0.12886e+00_rb,0.11898e+00_rb,0.13037e+00_rb,0.15086e+00_rb /) kao(:, 5, 9,14) = (/ & & 0.24175e+00_rb,0.21527e+00_rb,0.19303e+00_rb,0.17188e+00_rb,0.15251e+00_rb, & & 0.13886e+00_rb,0.13479e+00_rb,0.15182e+00_rb,0.17551e+00_rb /) kao(:, 1,10,14) = (/ & & 0.26096e+00_rb,0.22837e+00_rb,0.19625e+00_rb,0.16743e+00_rb,0.14218e+00_rb, & & 0.11905e+00_rb,0.97365e-01_rb,0.81466e-01_rb,0.86743e-01_rb /) kao(:, 2,10,14) = (/ & & 0.26197e+00_rb,0.22928e+00_rb,0.19902e+00_rb,0.16970e+00_rb,0.14641e+00_rb, & & 0.12483e+00_rb,0.10472e+00_rb,0.93843e-01_rb,0.10806e+00_rb /) kao(:, 3,10,14) = (/ & & 0.26221e+00_rb,0.22989e+00_rb,0.20102e+00_rb,0.17345e+00_rb,0.15221e+00_rb, & & 0.13116e+00_rb,0.11273e+00_rb,0.10943e+00_rb,0.12658e+00_rb /) kao(:, 4,10,14) = (/ & & 0.26216e+00_rb,0.23120e+00_rb,0.20343e+00_rb,0.17903e+00_rb,0.15795e+00_rb, & & 0.13876e+00_rb,0.12342e+00_rb,0.12756e+00_rb,0.14743e+00_rb /) kao(:, 5,10,14) = (/ & & 0.26155e+00_rb,0.23254e+00_rb,0.20744e+00_rb,0.18479e+00_rb,0.16453e+00_rb, & & 0.14894e+00_rb,0.13716e+00_rb,0.14827e+00_rb,0.17117e+00_rb /) kao(:, 1,11,14) = (/ & & 0.28000e+00_rb,0.24504e+00_rb,0.21069e+00_rb,0.18024e+00_rb,0.15374e+00_rb, & & 0.12937e+00_rb,0.10819e+00_rb,0.88668e-01_rb,0.55926e-01_rb /) kao(:, 2,11,14) = (/ & & 0.28047e+00_rb,0.24546e+00_rb,0.21318e+00_rb,0.18272e+00_rb,0.15865e+00_rb, & & 0.13663e+00_rb,0.11594e+00_rb,0.10024e+00_rb,0.74129e-01_rb /) kao(:, 3,11,14) = (/ & & 0.28078e+00_rb,0.24627e+00_rb,0.21537e+00_rb,0.18699e+00_rb,0.16514e+00_rb, & & 0.14391e+00_rb,0.12463e+00_rb,0.11566e+00_rb,0.10008e+00_rb /) kao(:, 4,11,14) = (/ & & 0.28041e+00_rb,0.24739e+00_rb,0.21799e+00_rb,0.19316e+00_rb,0.17153e+00_rb, & & 0.15296e+00_rb,0.13573e+00_rb,0.13384e+00_rb,0.12903e+00_rb /) kao(:, 5,11,14) = (/ & & 0.27974e+00_rb,0.24878e+00_rb,0.22235e+00_rb,0.19924e+00_rb,0.17976e+00_rb, & & 0.16447e+00_rb,0.14857e+00_rb,0.15437e+00_rb,0.16255e+00_rb /) kao(:, 1,12,14) = (/ & & 0.29848e+00_rb,0.26121e+00_rb,0.22470e+00_rb,0.19300e+00_rb,0.16476e+00_rb, & & 0.13979e+00_rb,0.11858e+00_rb,0.95361e-01_rb,0.54706e-01_rb /) kao(:, 2,12,14) = (/ & & 0.29901e+00_rb,0.26167e+00_rb,0.22733e+00_rb,0.19555e+00_rb,0.17000e+00_rb, & & 0.14834e+00_rb,0.12686e+00_rb,0.10640e+00_rb,0.56924e-01_rb /) kao(:, 3,12,14) = (/ & & 0.29886e+00_rb,0.26222e+00_rb,0.22932e+00_rb,0.20008e+00_rb,0.17736e+00_rb, & & 0.15653e+00_rb,0.13669e+00_rb,0.12173e+00_rb,0.76097e-01_rb /) kao(:, 4,12,14) = (/ & & 0.29840e+00_rb,0.26333e+00_rb,0.23210e+00_rb,0.20641e+00_rb,0.18472e+00_rb, & & 0.16716e+00_rb,0.14883e+00_rb,0.13980e+00_rb,0.10268e+00_rb /) kao(:, 5,12,14) = (/ & & 0.29738e+00_rb,0.26451e+00_rb,0.23656e+00_rb,0.21275e+00_rb,0.19460e+00_rb, & & 0.18005e+00_rb,0.16102e+00_rb,0.16046e+00_rb,0.13219e+00_rb /) kao(:, 1,13,14) = (/ & & 0.31629e+00_rb,0.27681e+00_rb,0.23838e+00_rb,0.20550e+00_rb,0.17561e+00_rb, & & 0.15005e+00_rb,0.12855e+00_rb,0.10141e+00_rb,0.58394e-01_rb /) kao(:, 2,13,14) = (/ & & 0.31664e+00_rb,0.27713e+00_rb,0.24100e+00_rb,0.20827e+00_rb,0.18155e+00_rb, & & 0.15952e+00_rb,0.13765e+00_rb,0.11247e+00_rb,0.60995e-01_rb /) kao(:, 3,13,14) = (/ & & 0.31646e+00_rb,0.27774e+00_rb,0.24298e+00_rb,0.21292e+00_rb,0.18963e+00_rb, & & 0.16861e+00_rb,0.14853e+00_rb,0.12785e+00_rb,0.75808e-01_rb /) kao(:, 4,13,14) = (/ & & 0.31577e+00_rb,0.27872e+00_rb,0.24590e+00_rb,0.21953e+00_rb,0.19753e+00_rb, & & 0.18064e+00_rb,0.16179e+00_rb,0.14607e+00_rb,0.10217e+00_rb /) kao(:, 5,13,14) = (/ & & 0.31458e+00_rb,0.27978e+00_rb,0.25030e+00_rb,0.22598e+00_rb,0.20858e+00_rb, & & 0.19488e+00_rb,0.17415e+00_rb,0.16696e+00_rb,0.13138e+00_rb /) kao(:, 1, 1,15) = (/ & & 0.94898e-01_rb,0.85055e-01_rb,0.10490e+00_rb,0.15201e+00_rb,0.20225e+00_rb, & & 0.25227e+00_rb,0.30184e+00_rb,0.34935e+00_rb,0.39726e+00_rb /) kao(:, 2, 1,15) = (/ & & 0.95143e-01_rb,0.87211e-01_rb,0.12685e+00_rb,0.18956e+00_rb,0.25226e+00_rb, & & 0.31465e+00_rb,0.37635e+00_rb,0.43547e+00_rb,0.49508e+00_rb /) kao(:, 3, 1,15) = (/ & & 0.95189e-01_rb,0.92182e-01_rb,0.15432e+00_rb,0.23093e+00_rb,0.30732e+00_rb, & & 0.38333e+00_rb,0.45850e+00_rb,0.53039e+00_rb,0.60271e+00_rb /) kao(:, 4, 1,15) = (/ & & 0.95231e-01_rb,0.10069e+00_rb,0.18420e+00_rb,0.27567e+00_rb,0.36689e+00_rb, & & 0.45778e+00_rb,0.54750e+00_rb,0.63309e+00_rb,0.71941e+00_rb /) kao(:, 5, 1,15) = (/ & & 0.95218e-01_rb,0.11224e+00_rb,0.21607e+00_rb,0.32340e+00_rb,0.43052e+00_rb, & & 0.53710e+00_rb,0.64228e+00_rb,0.74267e+00_rb,0.84389e+00_rb /) kao(:, 1, 2,15) = (/ & & 0.11396e+00_rb,0.10141e+00_rb,0.10674e+00_rb,0.14459e+00_rb,0.19233e+00_rb, & & 0.23999e+00_rb,0.28714e+00_rb,0.33260e+00_rb,0.38043e+00_rb /) kao(:, 2, 2,15) = (/ & & 0.11432e+00_rb,0.10261e+00_rb,0.12520e+00_rb,0.18276e+00_rb,0.24324e+00_rb, & & 0.30342e+00_rb,0.36297e+00_rb,0.42016e+00_rb,0.48074e+00_rb /) kao(:, 3, 2,15) = (/ & & 0.11451e+00_rb,0.10490e+00_rb,0.15054e+00_rb,0.22514e+00_rb,0.29969e+00_rb, & & 0.37388e+00_rb,0.44723e+00_rb,0.51774e+00_rb,0.59231e+00_rb /) kao(:, 4, 2,15) = (/ & & 0.11456e+00_rb,0.10971e+00_rb,0.18129e+00_rb,0.27136e+00_rb,0.36114e+00_rb, & & 0.45069e+00_rb,0.53922e+00_rb,0.62384e+00_rb,0.71399e+00_rb /) kao(:, 5, 2,15) = (/ & & 0.11453e+00_rb,0.11800e+00_rb,0.21439e+00_rb,0.32093e+00_rb,0.42721e+00_rb, & & 0.53302e+00_rb,0.63780e+00_rb,0.73784e+00_rb,0.84437e+00_rb /) kao(:, 1, 3,15) = (/ & & 0.13655e+00_rb,0.12054e+00_rb,0.11124e+00_rb,0.13153e+00_rb,0.17207e+00_rb, & & 0.21470e+00_rb,0.25693e+00_rb,0.29779e+00_rb,0.34231e+00_rb /) kao(:, 2, 3,15) = (/ & & 0.13707e+00_rb,0.12216e+00_rb,0.12413e+00_rb,0.16670e+00_rb,0.22186e+00_rb, & & 0.27683e+00_rb,0.33137e+00_rb,0.38384e+00_rb,0.44145e+00_rb /) kao(:, 3, 3,15) = (/ & & 0.13747e+00_rb,0.12319e+00_rb,0.14360e+00_rb,0.20888e+00_rb,0.27797e+00_rb, & & 0.34687e+00_rb,0.41517e+00_rb,0.48101e+00_rb,0.55322e+00_rb /) kao(:, 4, 3,15) = (/ & & 0.13768e+00_rb,0.12546e+00_rb,0.17113e+00_rb,0.25534e+00_rb,0.33989e+00_rb, & & 0.42417e+00_rb,0.50744e+00_rb,0.58796e+00_rb,0.67649e+00_rb /) kao(:, 5, 3,15) = (/ & & 0.13772e+00_rb,0.12983e+00_rb,0.20407e+00_rb,0.30559e+00_rb,0.40688e+00_rb, & & 0.50779e+00_rb,0.60773e+00_rb,0.70383e+00_rb,0.80998e+00_rb /) kao(:, 1, 4,15) = (/ & & 0.16353e+00_rb,0.14321e+00_rb,0.12667e+00_rb,0.12562e+00_rb,0.14945e+00_rb, & & 0.18589e+00_rb,0.22262e+00_rb,0.25813e+00_rb,0.29728e+00_rb /) kao(:, 2, 4,15) = (/ & & 0.16418e+00_rb,0.14525e+00_rb,0.13251e+00_rb,0.15131e+00_rb,0.19654e+00_rb, & & 0.24525e+00_rb,0.29354e+00_rb,0.34060e+00_rb,0.39212e+00_rb /) kao(:, 3, 4,15) = (/ & & 0.16461e+00_rb,0.14670e+00_rb,0.14414e+00_rb,0.18897e+00_rb,0.25116e+00_rb, & & 0.31348e+00_rb,0.37525e+00_rb,0.43507e+00_rb,0.50121e+00_rb /) kao(:, 4, 4,15) = (/ & & 0.16491e+00_rb,0.14777e+00_rb,0.16361e+00_rb,0.23441e+00_rb,0.31211e+00_rb, & & 0.38952e+00_rb,0.46648e+00_rb,0.54097e+00_rb,0.62321e+00_rb /) kao(:, 5, 4,15) = (/ & & 0.16511e+00_rb,0.15008e+00_rb,0.19240e+00_rb,0.28461e+00_rb,0.37902e+00_rb, & & 0.47310e+00_rb,0.56644e+00_rb,0.65651e+00_rb,0.75672e+00_rb /) kao(:, 1, 5,15) = (/ & & 0.19509e+00_rb,0.17082e+00_rb,0.14980e+00_rb,0.13204e+00_rb,0.13395e+00_rb, & & 0.16269e+00_rb,0.19465e+00_rb,0.22562e+00_rb,0.26041e+00_rb /) kao(:, 2, 5,15) = (/ & & 0.19619e+00_rb,0.17214e+00_rb,0.15205e+00_rb,0.14710e+00_rb,0.17263e+00_rb, & & 0.21401e+00_rb,0.25633e+00_rb,0.29729e+00_rb,0.34247e+00_rb /) kao(:, 3, 5,15) = (/ & & 0.19681e+00_rb,0.17444e+00_rb,0.15815e+00_rb,0.17421e+00_rb,0.22342e+00_rb, & & 0.27889e+00_rb,0.33405e+00_rb,0.38778e+00_rb,0.44627e+00_rb /) kao(:, 4, 5,15) = (/ & & 0.19721e+00_rb,0.17581e+00_rb,0.16979e+00_rb,0.21414e+00_rb,0.28278e+00_rb, & & 0.35302e+00_rb,0.42274e+00_rb,0.49080e+00_rb,0.56501e+00_rb /) kao(:, 5, 5,15) = (/ & & 0.19732e+00_rb,0.17699e+00_rb,0.18956e+00_rb,0.26168e+00_rb,0.34842e+00_rb, & & 0.43503e+00_rb,0.52113e+00_rb,0.60494e+00_rb,0.69634e+00_rb /) kao(:, 1, 6,15) = (/ & & 0.23167e+00_rb,0.20281e+00_rb,0.17680e+00_rb,0.14997e+00_rb,0.13324e+00_rb, & & 0.14585e+00_rb,0.17450e+00_rb,0.20194e+00_rb,0.23383e+00_rb /) kao(:, 2, 6,15) = (/ & & 0.23317e+00_rb,0.20416e+00_rb,0.17934e+00_rb,0.15819e+00_rb,0.15707e+00_rb, & & 0.18679e+00_rb,0.22357e+00_rb,0.25924e+00_rb,0.29921e+00_rb /) kao(:, 3, 6,15) = (/ & & 0.23428e+00_rb,0.20631e+00_rb,0.18228e+00_rb,0.17432e+00_rb,0.19753e+00_rb, & & 0.24343e+00_rb,0.29156e+00_rb,0.33836e+00_rb,0.38981e+00_rb /) kao(:, 4, 6,15) = (/ & & 0.23494e+00_rb,0.20857e+00_rb,0.18851e+00_rb,0.20211e+00_rb,0.25104e+00_rb, & & 0.31278e+00_rb,0.37475e+00_rb,0.43549e+00_rb,0.50069e+00_rb /) kao(:, 5, 6,15) = (/ & & 0.23514e+00_rb,0.20988e+00_rb,0.20063e+00_rb,0.24116e+00_rb,0.31413e+00_rb, & & 0.39227e+00_rb,0.47006e+00_rb,0.54611e+00_rb,0.62816e+00_rb /) kao(:, 1, 7,15) = (/ & & 0.27443e+00_rb,0.24019e+00_rb,0.20758e+00_rb,0.17610e+00_rb,0.14566e+00_rb, & & 0.14000e+00_rb,0.16506e+00_rb,0.19019e+00_rb,0.22128e+00_rb /) kao(:, 2, 7,15) = (/ & & 0.27620e+00_rb,0.24179e+00_rb,0.21121e+00_rb,0.17965e+00_rb,0.15984e+00_rb, & & 0.16864e+00_rb,0.20104e+00_rb,0.23213e+00_rb,0.26949e+00_rb /) kao(:, 3, 7,15) = (/ & & 0.27747e+00_rb,0.24292e+00_rb,0.21364e+00_rb,0.18907e+00_rb,0.18625e+00_rb, & & 0.21432e+00_rb,0.25652e+00_rb,0.29760e+00_rb,0.34338e+00_rb /) kao(:, 4, 7,15) = (/ & & 0.27840e+00_rb,0.24591e+00_rb,0.21750e+00_rb,0.20704e+00_rb,0.22722e+00_rb, & & 0.27512e+00_rb,0.32963e+00_rb,0.38304e+00_rb,0.44058e+00_rb /) kao(:, 5, 7,15) = (/ & & 0.27872e+00_rb,0.24790e+00_rb,0.22377e+00_rb,0.23568e+00_rb,0.28140e+00_rb, & & 0.34919e+00_rb,0.41848e+00_rb,0.48672e+00_rb,0.55917e+00_rb /) kao(:, 1, 8,15) = (/ & & 0.32341e+00_rb,0.28305e+00_rb,0.24270e+00_rb,0.20626e+00_rb,0.16778e+00_rb, & & 0.14644e+00_rb,0.16206e+00_rb,0.18656e+00_rb,0.21702e+00_rb /) kao(:, 2, 8,15) = (/ & & 0.32568e+00_rb,0.28506e+00_rb,0.24756e+00_rb,0.20963e+00_rb,0.17522e+00_rb, & & 0.16516e+00_rb,0.19045e+00_rb,0.21956e+00_rb,0.25530e+00_rb /) kao(:, 3, 8,15) = (/ & & 0.32734e+00_rb,0.28654e+00_rb,0.25088e+00_rb,0.21479e+00_rb,0.19195e+00_rb, & & 0.19819e+00_rb,0.23472e+00_rb,0.27107e+00_rb,0.31461e+00_rb /) kao(:, 4, 8,15) = (/ & & 0.32837e+00_rb,0.28793e+00_rb,0.25332e+00_rb,0.22544e+00_rb,0.22100e+00_rb, & & 0.24722e+00_rb,0.29529e+00_rb,0.34210e+00_rb,0.39526e+00_rb /) kao(:, 5, 8,15) = (/ & & 0.32863e+00_rb,0.29096e+00_rb,0.25794e+00_rb,0.24543e+00_rb,0.26342e+00_rb, & & 0.31218e+00_rb,0.37382e+00_rb,0.43401e+00_rb,0.50027e+00_rb /) kao(:, 1, 9,15) = (/ & & 0.37878e+00_rb,0.33149e+00_rb,0.28420e+00_rb,0.23973e+00_rb,0.19541e+00_rb, & & 0.16103e+00_rb,0.16029e+00_rb,0.18365e+00_rb,0.21308e+00_rb /) kao(:, 2, 9,15) = (/ & & 0.38160e+00_rb,0.33397e+00_rb,0.28731e+00_rb,0.24432e+00_rb,0.19953e+00_rb, & & 0.17386e+00_rb,0.18539e+00_rb,0.21378e+00_rb,0.24833e+00_rb /) kao(:, 3, 9,15) = (/ & & 0.38370e+00_rb,0.33584e+00_rb,0.29267e+00_rb,0.24777e+00_rb,0.20961e+00_rb, & & 0.19622e+00_rb,0.22137e+00_rb,0.25542e+00_rb,0.29676e+00_rb /) kao(:, 4, 9,15) = (/ & & 0.38483e+00_rb,0.33686e+00_rb,0.29593e+00_rb,0.25505e+00_rb,0.22908e+00_rb, & & 0.23318e+00_rb,0.27287e+00_rb,0.31549e+00_rb,0.36559e+00_rb /) kao(:, 5, 9,15) = (/ & & 0.38520e+00_rb,0.33870e+00_rb,0.29863e+00_rb,0.26759e+00_rb,0.26094e+00_rb, & & 0.28563e+00_rb,0.34036e+00_rb,0.39396e+00_rb,0.45596e+00_rb /) kao(:, 1,10,15) = (/ & & 0.44139e+00_rb,0.38627e+00_rb,0.33114e+00_rb,0.27661e+00_rb,0.22671e+00_rb, & & 0.18314e+00_rb,0.16439e+00_rb,0.18365e+00_rb,0.21302e+00_rb /) kao(:, 2,10,15) = (/ & & 0.44442e+00_rb,0.38894e+00_rb,0.33346e+00_rb,0.28317e+00_rb,0.23077e+00_rb, & & 0.19173e+00_rb,0.18540e+00_rb,0.21159e+00_rb,0.24601e+00_rb /) kao(:, 3,10,15) = (/ & & 0.44688e+00_rb,0.39111e+00_rb,0.33884e+00_rb,0.28735e+00_rb,0.23759e+00_rb, & & 0.20864e+00_rb,0.21693e+00_rb,0.24969e+00_rb,0.29058e+00_rb /) kao(:, 4,10,15) = (/ & & 0.44794e+00_rb,0.39207e+00_rb,0.34326e+00_rb,0.29193e+00_rb,0.25105e+00_rb, & & 0.23562e+00_rb,0.26192e+00_rb,0.30247e+00_rb,0.35138e+00_rb /) kao(:, 5,10,15) = (/ & & 0.44820e+00_rb,0.39253e+00_rb,0.34576e+00_rb,0.30181e+00_rb,0.27401e+00_rb, & & 0.27758e+00_rb,0.32230e+00_rb,0.37259e+00_rb,0.43225e+00_rb /) kao(:, 1,11,15) = (/ & & 0.51225e+00_rb,0.44827e+00_rb,0.38430e+00_rb,0.32096e+00_rb,0.26380e+00_rb, & & 0.21204e+00_rb,0.18122e+00_rb,0.19575e+00_rb,0.22762e+00_rb /) kao(:, 2,11,15) = (/ & & 0.51551e+00_rb,0.45114e+00_rb,0.38677e+00_rb,0.32842e+00_rb,0.26803e+00_rb, & & 0.22031e+00_rb,0.20295e+00_rb,0.22783e+00_rb,0.26563e+00_rb /) kao(:, 3,11,15) = (/ & & 0.51720e+00_rb,0.45265e+00_rb,0.39154e+00_rb,0.33278e+00_rb,0.27451e+00_rb, & & 0.23732e+00_rb,0.23493e+00_rb,0.26904e+00_rb,0.31377e+00_rb /) kao(:, 4,11,15) = (/ & & 0.51766e+00_rb,0.45307e+00_rb,0.39664e+00_rb,0.33683e+00_rb,0.28805e+00_rb, & & 0.26198e+00_rb,0.27963e+00_rb,0.32252e+00_rb,0.37505e+00_rb /) kao(:, 5,11,15) = (/ & & 0.51687e+00_rb,0.45253e+00_rb,0.39906e+00_rb,0.34713e+00_rb,0.30874e+00_rb, & & 0.30122e+00_rb,0.34231e+00_rb,0.39543e+00_rb,0.45934e+00_rb /) kao(:, 1,12,15) = (/ & & 0.58922e+00_rb,0.51562e+00_rb,0.44203e+00_rb,0.36905e+00_rb,0.30406e+00_rb, & & 0.24465e+00_rb,0.20183e+00_rb,0.21102e+00_rb,0.20343e+00_rb /) kao(:, 2,12,15) = (/ & & 0.59167e+00_rb,0.51780e+00_rb,0.44391e+00_rb,0.37709e+00_rb,0.30888e+00_rb, & & 0.25236e+00_rb,0.22396e+00_rb,0.24700e+00_rb,0.27515e+00_rb /) kao(:, 3,12,15) = (/ & & 0.59289e+00_rb,0.51887e+00_rb,0.44833e+00_rb,0.38190e+00_rb,0.31478e+00_rb, & & 0.26966e+00_rb,0.25708e+00_rb,0.29183e+00_rb,0.34036e+00_rb /) kao(:, 4,12,15) = (/ & & 0.59238e+00_rb,0.51846e+00_rb,0.45409e+00_rb,0.38554e+00_rb,0.32896e+00_rb, & & 0.29236e+00_rb,0.30023e+00_rb,0.34558e+00_rb,0.40217e+00_rb /) kao(:, 5,12,15) = (/ & & 0.59040e+00_rb,0.51681e+00_rb,0.45607e+00_rb,0.39582e+00_rb,0.34740e+00_rb, & & 0.32863e+00_rb,0.36471e+00_rb,0.42134e+00_rb,0.48947e+00_rb /) kao(:, 1,13,15) = (/ & & 0.67101e+00_rb,0.58718e+00_rb,0.50336e+00_rb,0.42031e+00_rb,0.34716e+00_rb, & & 0.27980e+00_rb,0.22553e+00_rb,0.22887e+00_rb,0.21243e+00_rb /) kao(:, 2,13,15) = (/ & & 0.67268e+00_rb,0.58864e+00_rb,0.50464e+00_rb,0.42832e+00_rb,0.35207e+00_rb, & & 0.28740e+00_rb,0.24801e+00_rb,0.26765e+00_rb,0.28879e+00_rb /) kao(:, 3,13,15) = (/ & & 0.67256e+00_rb,0.58859e+00_rb,0.50813e+00_rb,0.43372e+00_rb,0.35764e+00_rb, & & 0.30459e+00_rb,0.28195e+00_rb,0.31558e+00_rb,0.36763e+00_rb /) kao(:, 4,13,15) = (/ & & 0.67050e+00_rb,0.58682e+00_rb,0.51379e+00_rb,0.43676e+00_rb,0.37243e+00_rb, & & 0.32590e+00_rb,0.32370e+00_rb,0.37117e+00_rb,0.43203e+00_rb /) kao(:, 5,13,15) = (/ & & 0.66719e+00_rb,0.58400e+00_rb,0.51581e+00_rb,0.44632e+00_rb,0.38956e+00_rb, & & 0.35928e+00_rb,0.38845e+00_rb,0.44876e+00_rb,0.52114e+00_rb /) kao(:, 1, 1,16) = (/ & & 0.10138e+00_rb,0.11271e+00_rb,0.22512e+00_rb,0.33705e+00_rb,0.44854e+00_rb, & & 0.55854e+00_rb,0.66519e+00_rb,0.75942e+00_rb,0.85612e+00_rb /) kao(:, 2, 1,16) = (/ & & 0.10145e+00_rb,0.13913e+00_rb,0.27783e+00_rb,0.41606e+00_rb,0.55341e+00_rb, & & 0.68935e+00_rb,0.82123e+00_rb,0.93793e+00_rb,0.10573e+01_rb /) kao(:, 3, 1,16) = (/ & & 0.10144e+00_rb,0.16758e+00_rb,0.33464e+00_rb,0.50118e+00_rb,0.66683e+00_rb, & & 0.83041e+00_rb,0.98914e+00_rb,0.11301e+01_rb,0.12744e+01_rb /) kao(:, 4, 1,16) = (/ & & 0.10142e+00_rb,0.19759e+00_rb,0.39475e+00_rb,0.59125e+00_rb,0.78644e+00_rb, & & 0.97913e+00_rb,0.11666e+01_rb,0.13327e+01_rb,0.15036e+01_rb /) kao(:, 5, 1,16) = (/ & & 0.10117e+00_rb,0.22893e+00_rb,0.45719e+00_rb,0.68491e+00_rb,0.91083e+00_rb, & & 0.11348e+01_rb,0.13522e+01_rb,0.15448e+01_rb,0.17423e+01_rb /) kao(:, 1, 2,16) = (/ & & 0.12283e+00_rb,0.11939e+00_rb,0.23586e+00_rb,0.35344e+00_rb,0.46995e+00_rb, & & 0.58562e+00_rb,0.69771e+00_rb,0.79719e+00_rb,0.91456e+00_rb /) kao(:, 2, 2,16) = (/ & & 0.12300e+00_rb,0.14726e+00_rb,0.29424e+00_rb,0.44061e+00_rb,0.58626e+00_rb, & & 0.73031e+00_rb,0.87019e+00_rb,0.99468e+00_rb,0.11413e+01_rb /) kao(:, 3, 2,16) = (/ & & 0.12308e+00_rb,0.17880e+00_rb,0.35729e+00_rb,0.53471e+00_rb,0.71190e+00_rb, & & 0.88678e+00_rb,0.10560e+01_rb,0.12083e+01_rb,0.13858e+01_rb /) kao(:, 4, 2,16) = (/ & & 0.12303e+00_rb,0.21231e+00_rb,0.42408e+00_rb,0.63552e+00_rb,0.84482e+00_rb, & & 0.10530e+01_rb,0.12550e+01_rb,0.14355e+01_rb,0.16461e+01_rb /) kao(:, 5, 2,16) = (/ & & 0.12277e+00_rb,0.24738e+00_rb,0.49418e+00_rb,0.74021e+00_rb,0.98480e+00_rb, & & 0.12263e+01_rb,0.14622e+01_rb,0.16712e+01_rb,0.19192e+01_rb /) kao(:, 1, 3,16) = (/ & & 0.14866e+00_rb,0.13122e+00_rb,0.23281e+00_rb,0.34894e+00_rb,0.46454e+00_rb, & & 0.57840e+00_rb,0.68947e+00_rb,0.78868e+00_rb,0.91936e+00_rb /) kao(:, 2, 3,16) = (/ & & 0.14909e+00_rb,0.15020e+00_rb,0.29535e+00_rb,0.44246e+00_rb,0.58879e+00_rb, & & 0.73298e+00_rb,0.87446e+00_rb,0.10004e+01_rb,0.11652e+01_rb /) kao(:, 3, 3,16) = (/ & & 0.14932e+00_rb,0.18193e+00_rb,0.36339e+00_rb,0.54464e+00_rb,0.72472e+00_rb, & & 0.90302e+00_rb,0.10769e+01_rb,0.12326e+01_rb,0.14351e+01_rb /) kao(:, 4, 3,16) = (/ & & 0.14936e+00_rb,0.21850e+00_rb,0.43638e+00_rb,0.65369e+00_rb,0.87034e+00_rb, & & 0.10842e+01_rb,0.12925e+01_rb,0.14807e+01_rb,0.17238e+01_rb /) kao(:, 5, 3,16) = (/ & & 0.14913e+00_rb,0.25689e+00_rb,0.51319e+00_rb,0.76884e+00_rb,0.10226e+01_rb, & & 0.12750e+01_rb,0.15205e+01_rb,0.17418e+01_rb,0.20260e+01_rb /) kao(:, 1, 4,16) = (/ & & 0.17957e+00_rb,0.15775e+00_rb,0.22276e+00_rb,0.33390e+00_rb,0.44423e+00_rb, & & 0.55367e+00_rb,0.66019e+00_rb,0.75611e+00_rb,0.88680e+00_rb /) kao(:, 2, 4,16) = (/ & & 0.18040e+00_rb,0.16246e+00_rb,0.28812e+00_rb,0.43146e+00_rb,0.57438e+00_rb, & & 0.71573e+00_rb,0.85374e+00_rb,0.97839e+00_rb,0.11468e+01_rb /) kao(:, 3, 4,16) = (/ & & 0.18097e+00_rb,0.18562e+00_rb,0.36044e+00_rb,0.53994e+00_rb,0.71844e+00_rb, & & 0.89550e+00_rb,0.10683e+01_rb,0.12247e+01_rb,0.14347e+01_rb /) kao(:, 4, 4,16) = (/ & & 0.18121e+00_rb,0.21975e+00_rb,0.43861e+00_rb,0.65714e+00_rb,0.87443e+00_rb, & & 0.10900e+01_rb,0.13008e+01_rb,0.14906e+01_rb,0.17458e+01_rb /) kao(:, 5, 4,16) = (/ & & 0.18106e+00_rb,0.26092e+00_rb,0.52133e+00_rb,0.78101e+00_rb,0.10395e+01_rb, & & 0.12958e+01_rb,0.15460e+01_rb,0.17735e+01_rb,0.20757e+01_rb /) kao(:, 1, 5,16) = (/ & & 0.21697e+00_rb,0.19036e+00_rb,0.21215e+00_rb,0.31312e+00_rb,0.41669e+00_rb, & & 0.51939e+00_rb,0.61996e+00_rb,0.71133e+00_rb,0.83486e+00_rb /) kao(:, 2, 5,16) = (/ & & 0.21794e+00_rb,0.19137e+00_rb,0.27611e+00_rb,0.41368e+00_rb,0.55071e+00_rb, & & 0.68646e+00_rb,0.81902e+00_rb,0.94006e+00_rb,0.11028e+01_rb /) kao(:, 3, 5,16) = (/ & & 0.21886e+00_rb,0.20114e+00_rb,0.35159e+00_rb,0.52668e+00_rb,0.70100e+00_rb, & & 0.87403e+00_rb,0.10428e+01_rb,0.11973e+01_rb,0.14036e+01_rb /) kao(:, 4, 5,16) = (/ & & 0.21947e+00_rb,0.22776e+00_rb,0.43385e+00_rb,0.64994e+00_rb,0.86545e+00_rb, & & 0.10790e+01_rb,0.12882e+01_rb,0.14795e+01_rb,0.17328e+01_rb /) kao(:, 5, 5,16) = (/ & & 0.21950e+00_rb,0.26410e+00_rb,0.52266e+00_rb,0.78311e+00_rb,0.10422e+01_rb, & & 0.12993e+01_rb,0.15508e+01_rb,0.17813e+01_rb,0.20867e+01_rb /) kao(:, 1, 6,16) = (/ & & 0.26192e+00_rb,0.22964e+00_rb,0.21396e+00_rb,0.28442e+00_rb,0.37859e+00_rb, & & 0.47209e+00_rb,0.56361e+00_rb,0.64772e+00_rb,0.75904e+00_rb /) kao(:, 2, 6,16) = (/ & & 0.26327e+00_rb,0.23094e+00_rb,0.26427e+00_rb,0.38535e+00_rb,0.51302e+00_rb, & & 0.63961e+00_rb,0.76380e+00_rb,0.87816e+00_rb,0.10282e+01_rb /) kao(:, 3, 6,16) = (/ & & 0.26410e+00_rb,0.23177e+00_rb,0.33446e+00_rb,0.50065e+00_rb,0.66671e+00_rb, & & 0.83097e+00_rb,0.99257e+00_rb,0.11416e+01_rb,0.13361e+01_rb /) kao(:, 4, 6,16) = (/ & & 0.26501e+00_rb,0.24670e+00_rb,0.42047e+00_rb,0.62999e+00_rb,0.83846e+00_rb, & & 0.10456e+01_rb,0.12484e+01_rb,0.14350e+01_rb,0.16802e+01_rb /) kao(:, 5, 6,16) = (/ & & 0.26533e+00_rb,0.27595e+00_rb,0.51477e+00_rb,0.77155e+00_rb,0.10272e+01_rb, & & 0.12802e+01_rb,0.15288e+01_rb,0.17573e+01_rb,0.20585e+01_rb /) kao(:, 1, 7,16) = (/ & & 0.31548e+00_rb,0.27644e+00_rb,0.23749e+00_rb,0.26350e+00_rb,0.33563e+00_rb, & & 0.41860e+00_rb,0.50000e+00_rb,0.57557e+00_rb,0.67307e+00_rb /) kao(:, 2, 7,16) = (/ & & 0.31747e+00_rb,0.27830e+00_rb,0.26813e+00_rb,0.35238e+00_rb,0.46780e+00_rb, & & 0.58337e+00_rb,0.69695e+00_rb,0.80281e+00_rb,0.93825e+00_rb /) kao(:, 3, 7,16) = (/ & & 0.31845e+00_rb,0.27929e+00_rb,0.32577e+00_rb,0.46831e+00_rb,0.62377e+00_rb, & & 0.77768e+00_rb,0.92868e+00_rb,0.10691e+01_rb,0.12510e+01_rb /) kao(:, 4, 7,16) = (/ & & 0.31933e+00_rb,0.28093e+00_rb,0.40219e+00_rb,0.60218e+00_rb,0.80124e+00_rb, & & 0.99953e+00_rb,0.11938e+01_rb,0.13738e+01_rb,0.16072e+01_rb /) kao(:, 5, 7,16) = (/ & & 0.31962e+00_rb,0.30041e+00_rb,0.50060e+00_rb,0.75020e+00_rb,0.99895e+00_rb, & & 0.12457e+01_rb,0.14877e+01_rb,0.17119e+01_rb,0.20030e+01_rb /) kao(:, 1, 8,16) = (/ & & 0.37865e+00_rb,0.33167e+00_rb,0.28471e+00_rb,0.26304e+00_rb,0.29883e+00_rb, & & 0.36478e+00_rb,0.43575e+00_rb,0.50177e+00_rb,0.58698e+00_rb /) kao(:, 2, 8,16) = (/ & & 0.38151e+00_rb,0.33434e+00_rb,0.29226e+00_rb,0.33286e+00_rb,0.42010e+00_rb, & & 0.52397e+00_rb,0.62612e+00_rb,0.72153e+00_rb,0.84257e+00_rb /) kao(:, 3, 8,16) = (/ & & 0.38305e+00_rb,0.33575e+00_rb,0.33335e+00_rb,0.43312e+00_rb,0.57580e+00_rb, & & 0.71815e+00_rb,0.85781e+00_rb,0.98826e+00_rb,0.11549e+01_rb /) kao(:, 4, 8,16) = (/ & & 0.38418e+00_rb,0.33683e+00_rb,0.39821e+00_rb,0.56836e+00_rb,0.75670e+00_rb, & & 0.94382e+00_rb,0.11276e+01_rb,0.12990e+01_rb,0.15179e+01_rb /) kao(:, 5, 8,16) = (/ & & 0.38435e+00_rb,0.34032e+00_rb,0.48169e+00_rb,0.72105e+00_rb,0.95979e+00_rb, & & 0.11976e+01_rb,0.14311e+01_rb,0.16484e+01_rb,0.19256e+01_rb /) kao(:, 1, 9,16) = (/ & & 0.45391e+00_rb,0.39745e+00_rb,0.34100e+00_rb,0.28597e+00_rb,0.28236e+00_rb, & & 0.32683e+00_rb,0.39003e+00_rb,0.44780e+00_rb,0.52646e+00_rb /) kao(:, 2, 9,16) = (/ & & 0.45720e+00_rb,0.40042e+00_rb,0.34369e+00_rb,0.33249e+00_rb,0.37993e+00_rb, & & 0.46180e+00_rb,0.55195e+00_rb,0.63669e+00_rb,0.74252e+00_rb /) kao(:, 3, 9,16) = (/ & & 0.45930e+00_rb,0.40241e+00_rb,0.35995e+00_rb,0.41477e+00_rb,0.52224e+00_rb, & & 0.65162e+00_rb,0.77908e+00_rb,0.89846e+00_rb,0.10481e+01_rb /) kao(:, 4, 9,16) = (/ & & 0.46056e+00_rb,0.40360e+00_rb,0.40974e+00_rb,0.52851e+00_rb,0.70308e+00_rb, & & 0.87703e+00_rb,0.10485e+01_rb,0.12091e+01_rb,0.14102e+01_rb /) kao(:, 5, 9,16) = (/ & & 0.46097e+00_rb,0.40408e+00_rb,0.48083e+00_rb,0.68278e+00_rb,0.90959e+00_rb, & & 0.11347e+01_rb,0.13562e+01_rb,0.15644e+01_rb,0.18239e+01_rb /) kao(:, 1,10,16) = (/ & & 0.54348e+00_rb,0.47578e+00_rb,0.40808e+00_rb,0.34039e+00_rb,0.29202e+00_rb, & & 0.31463e+00_rb,0.37530e+00_rb,0.43003e+00_rb,0.50713e+00_rb /) kao(:, 2,10,16) = (/ & & 0.54726e+00_rb,0.47923e+00_rb,0.41116e+00_rb,0.35738e+00_rb,0.36873e+00_rb, & & 0.42815e+00_rb,0.51125e+00_rb,0.58827e+00_rb,0.68902e+00_rb /) kao(:, 3,10,16) = (/ & & 0.54904e+00_rb,0.48087e+00_rb,0.41270e+00_rb,0.42187e+00_rb,0.48592e+00_rb, & & 0.59834e+00_rb,0.71541e+00_rb,0.82550e+00_rb,0.96166e+00_rb /) kao(:, 4,10,16) = (/ & & 0.55066e+00_rb,0.48237e+00_rb,0.44342e+00_rb,0.51829e+00_rb,0.65846e+00_rb, & & 0.82163e+00_rb,0.98259e+00_rb,0.11344e+01_rb,0.13209e+01_rb /) kao(:, 5,10,16) = (/ & & 0.55078e+00_rb,0.48256e+00_rb,0.50243e+00_rb,0.65112e+00_rb,0.86662e+00_rb, & & 0.10813e+01_rb,0.12932e+01_rb,0.14933e+01_rb,0.17377e+01_rb /) kao(:, 1,11,16) = (/ & & 0.65114e+00_rb,0.56997e+00_rb,0.48880e+00_rb,0.40765e+00_rb,0.34114e+00_rb, & & 0.35299e+00_rb,0.42114e+00_rb,0.48311e+00_rb,0.56879e+00_rb /) kao(:, 2,11,16) = (/ & & 0.65409e+00_rb,0.57269e+00_rb,0.49126e+00_rb,0.41893e+00_rb,0.41551e+00_rb, & & 0.46863e+00_rb,0.55986e+00_rb,0.64427e+00_rb,0.75415e+00_rb /) kao(:, 3,11,16) = (/ & & 0.65488e+00_rb,0.57345e+00_rb,0.49197e+00_rb,0.47947e+00_rb,0.53169e+00_rb, & & 0.64034e+00_rb,0.76581e+00_rb,0.88450e+00_rb,0.10287e+01_rb /) kao(:, 4,11,16) = (/ & & 0.65537e+00_rb,0.57398e+00_rb,0.51344e+00_rb,0.57405e+00_rb,0.70306e+00_rb, & & 0.87735e+00_rb,0.10495e+01_rb,0.12127e+01_rb,0.14094e+01_rb /) kao(:, 5,11,16) = (/ & & 0.65395e+00_rb,0.57279e+00_rb,0.56858e+00_rb,0.69997e+00_rb,0.92273e+00_rb, & & 0.11516e+01_rb,0.13780e+01_rb,0.15930e+01_rb,0.18499e+01_rb /) kao(:, 1,12,16) = (/ & & 0.77619e+00_rb,0.67938e+00_rb,0.58258e+00_rb,0.48578e+00_rb,0.39872e+00_rb, & & 0.39471e+00_rb,0.47009e+00_rb,0.53992e+00_rb,0.63430e+00_rb /) kao(:, 2,12,16) = (/ & & 0.77753e+00_rb,0.68052e+00_rb,0.58367e+00_rb,0.49090e+00_rb,0.46899e+00_rb, & & 0.51194e+00_rb,0.61162e+00_rb,0.70447e+00_rb,0.82357e+00_rb /) kao(:, 3,12,16) = (/ & & 0.77638e+00_rb,0.67972e+00_rb,0.58318e+00_rb,0.54530e+00_rb,0.58387e+00_rb, & & 0.68245e+00_rb,0.81638e+00_rb,0.94341e+00_rb,0.10965e+01_rb /) kao(:, 4,12,16) = (/ & & 0.77440e+00_rb,0.67810e+00_rb,0.59462e+00_rb,0.63695e+00_rb,0.74739e+00_rb, & & 0.93197e+00_rb,0.11153e+01_rb,0.12903e+01_rb,0.14970e+01_rb /) kao(:, 5,12,16) = (/ & & 0.77021e+00_rb,0.67464e+00_rb,0.64357e+00_rb,0.75637e+00_rb,0.97798e+00_rb, & & 0.12207e+01_rb,0.14609e+01_rb,0.16904e+01_rb,0.19598e+01_rb /) kao(:, 1,13,16) = (/ & & 0.91895e+00_rb,0.80429e+00_rb,0.68964e+00_rb,0.57498e+00_rb,0.46528e+00_rb, & & 0.44199e+00_rb,0.52028e+00_rb,0.59834e+00_rb,0.70141e+00_rb /) kao(:, 2,13,16) = (/ & & 0.91759e+00_rb,0.80320e+00_rb,0.68881e+00_rb,0.57463e+00_rb,0.52956e+00_rb, & & 0.55768e+00_rb,0.66492e+00_rb,0.76644e+00_rb,0.89471e+00_rb /) kao(:, 3,13,16) = (/ & & 0.91361e+00_rb,0.79979e+00_rb,0.68598e+00_rb,0.61940e+00_rb,0.64101e+00_rb, & & 0.72712e+00_rb,0.86969e+00_rb,0.10053e+01_rb,0.11679e+01_rb /) kao(:, 4,13,16) = (/ & & 0.90733e+00_rb,0.79439e+00_rb,0.68655e+00_rb,0.70603e+00_rb,0.79560e+00_rb, & & 0.98356e+00_rb,0.11773e+01_rb,0.13631e+01_rb,0.15788e+01_rb /) kao(:, 5,13,16) = (/ & & 0.89862e+00_rb,0.78697e+00_rb,0.72670e+00_rb,0.82187e+00_rb,0.10292e+01_rb, & & 0.12848e+01_rb,0.15381e+01_rb,0.17818e+01_rb,0.20623e+01_rb /) ! ----------------------------------------------------------------- ! The array KBO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels < ~100mb and temperatures. The first ! index in the array, JT, which runs from 1 to 5, corresponds to ! different temperatures. More specifically, JT = 3 means that the ! data are for the reference temperature TREF for this pressure ! level, JT = 2 refers to the temperature TREF-15, JT = 1 is for ! TREF-30, JT = 4 is for TREF+15, and JT = 5 is for TREF+30. ! The second index, JP, runs from 13 to 59 and refers to the JPth ! reference pressure level (see taumol.f for the value of these ! pressure levels in mb). The third index, IG, goes from 1 to 16, ! and tells us which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kbo(:,13, 1) = (/ & & 0.80849e-06_rb,0.81362e-06_rb,0.81391e-06_rb,0.81832e-06_rb,0.81000e-06_rb /) kbo(:,14, 1) = (/ & & 0.62593e-06_rb,0.63090e-06_rb,0.63158e-06_rb,0.62821e-06_rb,0.62502e-06_rb /) kbo(:,15, 1) = (/ & & 0.47825e-06_rb,0.47852e-06_rb,0.47713e-06_rb,0.47688e-06_rb,0.47989e-06_rb /) kbo(:,16, 1) = (/ & & 0.36039e-06_rb,0.35905e-06_rb,0.36064e-06_rb,0.36298e-06_rb,0.36860e-06_rb /) kbo(:,17, 1) = (/ & & 0.27679e-06_rb,0.27608e-06_rb,0.27742e-06_rb,0.28112e-06_rb,0.28759e-06_rb /) kbo(:,18, 1) = (/ & & 0.21771e-06_rb,0.21826e-06_rb,0.22019e-06_rb,0.22429e-06_rb,0.22996e-06_rb /) kbo(:,19, 1) = (/ & & 0.17334e-06_rb,0.17441e-06_rb,0.17681e-06_rb,0.18055e-06_rb,0.18537e-06_rb /) kbo(:,20, 1) = (/ & & 0.13974e-06_rb,0.14076e-06_rb,0.14326e-06_rb,0.14694e-06_rb,0.15070e-06_rb /) kbo(:,21, 1) = (/ & & 0.11289e-06_rb,0.11394e-06_rb,0.11631e-06_rb,0.11963e-06_rb,0.12284e-06_rb /) kbo(:,22, 1) = (/ & & 0.90574e-07_rb,0.91914e-07_rb,0.94046e-07_rb,0.96998e-07_rb,0.99841e-07_rb /) kbo(:,23, 1) = (/ & & 0.72483e-07_rb,0.74069e-07_rb,0.76186e-07_rb,0.78482e-07_rb,0.80964e-07_rb /) kbo(:,24, 1) = (/ & & 0.57463e-07_rb,0.59130e-07_rb,0.60802e-07_rb,0.62903e-07_rb,0.65218e-07_rb /) kbo(:,25, 1) = (/ & & 0.45767e-07_rb,0.47184e-07_rb,0.48696e-07_rb,0.50494e-07_rb,0.52527e-07_rb /) kbo(:,26, 1) = (/ & & 0.36636e-07_rb,0.37794e-07_rb,0.39217e-07_rb,0.40768e-07_rb,0.42465e-07_rb /) kbo(:,27, 1) = (/ & & 0.29173e-07_rb,0.30183e-07_rb,0.31469e-07_rb,0.32834e-07_rb,0.34213e-07_rb /) kbo(:,28, 1) = (/ & & 0.23225e-07_rb,0.24137e-07_rb,0.25167e-07_rb,0.26378e-07_rb,0.27534e-07_rb /) kbo(:,29, 1) = (/ & & 0.18675e-07_rb,0.19472e-07_rb,0.20340e-07_rb,0.21340e-07_rb,0.22286e-07_rb /) kbo(:,30, 1) = (/ & & 0.15020e-07_rb,0.15690e-07_rb,0.16468e-07_rb,0.17258e-07_rb,0.18060e-07_rb /) kbo(:,31, 1) = (/ & & 0.12149e-07_rb,0.12728e-07_rb,0.13375e-07_rb,0.14035e-07_rb,0.14711e-07_rb /) kbo(:,32, 1) = (/ & & 0.98596e-08_rb,0.10344e-07_rb,0.10879e-07_rb,0.11427e-07_rb,0.12003e-07_rb /) kbo(:,33, 1) = (/ & & 0.80127e-08_rb,0.84199e-08_rb,0.88610e-08_rb,0.93188e-08_rb,0.98102e-08_rb /) kbo(:,34, 1) = (/ & & 0.65473e-08_rb,0.68850e-08_rb,0.72470e-08_rb,0.76379e-08_rb,0.80329e-08_rb /) kbo(:,35, 1) = (/ & & 0.53107e-08_rb,0.55930e-08_rb,0.58984e-08_rb,0.62161e-08_rb,0.65511e-08_rb /) kbo(:,36, 1) = (/ & & 0.42749e-08_rb,0.45072e-08_rb,0.47592e-08_rb,0.50244e-08_rb,0.53034e-08_rb /) kbo(:,37, 1) = (/ & & 0.34593e-08_rb,0.36479e-08_rb,0.38557e-08_rb,0.40714e-08_rb,0.43031e-08_rb /) kbo(:,38, 1) = (/ & & 0.27981e-08_rb,0.29525e-08_rb,0.31212e-08_rb,0.32984e-08_rb,0.34890e-08_rb /) kbo(:,39, 1) = (/ & & 0.22616e-08_rb,0.23879e-08_rb,0.25266e-08_rb,0.26716e-08_rb,0.28295e-08_rb /) kbo(:,40, 1) = (/ & & 0.18232e-08_rb,0.19245e-08_rb,0.20362e-08_rb,0.21554e-08_rb,0.22831e-08_rb /) kbo(:,41, 1) = (/ & & 0.14679e-08_rb,0.15511e-08_rb,0.16402e-08_rb,0.17376e-08_rb,0.18413e-08_rb /) kbo(:,42, 1) = (/ & & 0.11828e-08_rb,0.12488e-08_rb,0.13200e-08_rb,0.14008e-08_rb,0.14841e-08_rb /) kbo(:,43, 1) = (/ & & 0.94970e-09_rb,0.10028e-08_rb,0.10610e-08_rb,0.11254e-08_rb,0.11933e-08_rb /) kbo(:,44, 1) = (/ & & 0.76210e-09_rb,0.80401e-09_rb,0.85098e-09_rb,0.90203e-09_rb,0.95794e-09_rb /) kbo(:,45, 1) = (/ & & 0.61242e-09_rb,0.64471e-09_rb,0.68205e-09_rb,0.72336e-09_rb,0.76846e-09_rb /) kbo(:,46, 1) = (/ & & 0.49214e-09_rb,0.51642e-09_rb,0.54633e-09_rb,0.57916e-09_rb,0.61506e-09_rb /) kbo(:,47, 1) = (/ & & 0.39552e-09_rb,0.41343e-09_rb,0.43658e-09_rb,0.46266e-09_rb,0.49121e-09_rb /) kbo(:,48, 1) = (/ & & 0.31773e-09_rb,0.33161e-09_rb,0.34878e-09_rb,0.36970e-09_rb,0.39231e-09_rb /) kbo(:,49, 1) = (/ & & 0.25526e-09_rb,0.26613e-09_rb,0.27906e-09_rb,0.29510e-09_rb,0.31346e-09_rb /) kbo(:,50, 1) = (/ & & 0.20571e-09_rb,0.21419e-09_rb,0.22379e-09_rb,0.23622e-09_rb,0.25076e-09_rb /) kbo(:,51, 1) = (/ & & 0.16573e-09_rb,0.17251e-09_rb,0.18002e-09_rb,0.18925e-09_rb,0.20074e-09_rb /) kbo(:,52, 1) = (/ & & 0.13312e-09_rb,0.13888e-09_rb,0.14480e-09_rb,0.15170e-09_rb,0.16067e-09_rb /) kbo(:,53, 1) = (/ & & 0.10717e-09_rb,0.11200e-09_rb,0.11653e-09_rb,0.12187e-09_rb,0.12864e-09_rb /) kbo(:,54, 1) = (/ & & 0.85395e-10_rb,0.90190e-10_rb,0.93978e-10_rb,0.98115e-10_rb,0.10324e-09_rb /) kbo(:,55, 1) = (/ & & 0.67933e-10_rb,0.72682e-10_rb,0.75857e-10_rb,0.79079e-10_rb,0.82942e-10_rb /) kbo(:,56, 1) = (/ & & 0.53572e-10_rb,0.58095e-10_rb,0.61231e-10_rb,0.63738e-10_rb,0.66738e-10_rb /) kbo(:,57, 1) = (/ & & 0.41729e-10_rb,0.46380e-10_rb,0.49357e-10_rb,0.51409e-10_rb,0.53743e-10_rb /) kbo(:,58, 1) = (/ & & 0.32319e-10_rb,0.36737e-10_rb,0.39572e-10_rb,0.41487e-10_rb,0.43327e-10_rb /) kbo(:,59, 1) = (/ & & 0.25820e-10_rb,0.29541e-10_rb,0.32107e-10_rb,0.33762e-10_rb,0.35250e-10_rb /) kbo(:,13, 2) = (/ & & 0.93809e-05_rb,0.10536e-04_rb,0.11777e-04_rb,0.13098e-04_rb,0.14486e-04_rb /) kbo(:,14, 2) = (/ & & 0.77050e-05_rb,0.86520e-05_rb,0.96745e-05_rb,0.10759e-04_rb,0.11891e-04_rb /) kbo(:,15, 2) = (/ & & 0.63112e-05_rb,0.70914e-05_rb,0.79320e-05_rb,0.88179e-05_rb,0.97344e-05_rb /) kbo(:,16, 2) = (/ & & 0.51672e-05_rb,0.58172e-05_rb,0.64961e-05_rb,0.72133e-05_rb,0.79595e-05_rb /) kbo(:,17, 2) = (/ & & 0.42470e-05_rb,0.47817e-05_rb,0.53396e-05_rb,0.59229e-05_rb,0.65385e-05_rb /) kbo(:,18, 2) = (/ & & 0.35105e-05_rb,0.39513e-05_rb,0.44042e-05_rb,0.48865e-05_rb,0.53983e-05_rb /) kbo(:,19, 2) = (/ & & 0.29057e-05_rb,0.32680e-05_rb,0.36409e-05_rb,0.40419e-05_rb,0.44646e-05_rb /) kbo(:,20, 2) = (/ & & 0.24132e-05_rb,0.27111e-05_rb,0.30192e-05_rb,0.33498e-05_rb,0.36985e-05_rb /) kbo(:,21, 2) = (/ & & 0.20041e-05_rb,0.22484e-05_rb,0.25052e-05_rb,0.27770e-05_rb,0.30661e-05_rb /) kbo(:,22, 2) = (/ & & 0.16762e-05_rb,0.18775e-05_rb,0.20900e-05_rb,0.23158e-05_rb,0.25543e-05_rb /) kbo(:,23, 2) = (/ & & 0.14013e-05_rb,0.15665e-05_rb,0.17433e-05_rb,0.19308e-05_rb,0.21290e-05_rb /) kbo(:,24, 2) = (/ & & 0.11680e-05_rb,0.13039e-05_rb,0.14515e-05_rb,0.16085e-05_rb,0.17733e-05_rb /) kbo(:,25, 2) = (/ & & 0.97491e-06_rb,0.10886e-05_rb,0.12114e-05_rb,0.13428e-05_rb,0.14806e-05_rb /) kbo(:,26, 2) = (/ & & 0.81608e-06_rb,0.91198e-06_rb,0.10148e-05_rb,0.11244e-05_rb,0.12392e-05_rb /) kbo(:,27, 2) = (/ & & 0.68407e-06_rb,0.76432e-06_rb,0.85048e-06_rb,0.94210e-06_rb,0.10393e-05_rb /) kbo(:,28, 2) = (/ & & 0.57340e-06_rb,0.64071e-06_rb,0.71311e-06_rb,0.78988e-06_rb,0.87304e-06_rb /) kbo(:,29, 2) = (/ & & 0.48234e-06_rb,0.53886e-06_rb,0.59992e-06_rb,0.66557e-06_rb,0.73565e-06_rb /) kbo(:,30, 2) = (/ & & 0.40628e-06_rb,0.45384e-06_rb,0.50638e-06_rb,0.56175e-06_rb,0.62086e-06_rb /) kbo(:,31, 2) = (/ & & 0.34276e-06_rb,0.38409e-06_rb,0.42817e-06_rb,0.47551e-06_rb,0.52508e-06_rb /) kbo(:,32, 2) = (/ & & 0.29024e-06_rb,0.32548e-06_rb,0.36291e-06_rb,0.40263e-06_rb,0.44423e-06_rb /) kbo(:,33, 2) = (/ & & 0.24623e-06_rb,0.27596e-06_rb,0.30748e-06_rb,0.34104e-06_rb,0.37571e-06_rb /) kbo(:,34, 2) = (/ & & 0.20814e-06_rb,0.23318e-06_rb,0.25975e-06_rb,0.28746e-06_rb,0.31674e-06_rb /) kbo(:,35, 2) = (/ & & 0.17399e-06_rb,0.19476e-06_rb,0.21698e-06_rb,0.24021e-06_rb,0.26463e-06_rb /) kbo(:,36, 2) = (/ & & 0.14352e-06_rb,0.16079e-06_rb,0.17920e-06_rb,0.19838e-06_rb,0.21852e-06_rb /) kbo(:,37, 2) = (/ & & 0.11644e-06_rb,0.13061e-06_rb,0.14569e-06_rb,0.16148e-06_rb,0.17794e-06_rb /) kbo(:,38, 2) = (/ & & 0.94327e-07_rb,0.10597e-06_rb,0.11827e-06_rb,0.13121e-06_rb,0.14471e-06_rb /) kbo(:,39, 2) = (/ & & 0.76386e-07_rb,0.85932e-07_rb,0.96004e-07_rb,0.10675e-06_rb,0.11785e-06_rb /) kbo(:,40, 2) = (/ & & 0.61093e-07_rb,0.68856e-07_rb,0.77088e-07_rb,0.85831e-07_rb,0.94878e-07_rb /) kbo(:,41, 2) = (/ & & 0.48781e-07_rb,0.55058e-07_rb,0.61725e-07_rb,0.68852e-07_rb,0.76234e-07_rb /) kbo(:,42, 2) = (/ & & 0.38909e-07_rb,0.43987e-07_rb,0.49391e-07_rb,0.55161e-07_rb,0.61197e-07_rb /) kbo(:,43, 2) = (/ & & 0.30779e-07_rb,0.34866e-07_rb,0.39222e-07_rb,0.43870e-07_rb,0.48785e-07_rb /) kbo(:,44, 2) = (/ & & 0.24249e-07_rb,0.27514e-07_rb,0.31014e-07_rb,0.34774e-07_rb,0.38772e-07_rb /) kbo(:,45, 2) = (/ & & 0.19076e-07_rb,0.21693e-07_rb,0.24514e-07_rb,0.27522e-07_rb,0.30756e-07_rb /) kbo(:,46, 2) = (/ & & 0.14949e-07_rb,0.17046e-07_rb,0.19303e-07_rb,0.21721e-07_rb,0.24320e-07_rb /) kbo(:,47, 2) = (/ & & 0.11627e-07_rb,0.13294e-07_rb,0.15102e-07_rb,0.17040e-07_rb,0.19115e-07_rb /) kbo(:,48, 2) = (/ & & 0.90208e-08_rb,0.10359e-07_rb,0.11803e-07_rb,0.13349e-07_rb,0.15003e-07_rb /) kbo(:,49, 2) = (/ & & 0.69979e-08_rb,0.80625e-08_rb,0.92075e-08_rb,0.10445e-07_rb,0.11768e-07_rb /) kbo(:,50, 2) = (/ & & 0.54507e-08_rb,0.62777e-08_rb,0.72004e-08_rb,0.81899e-08_rb,0.92488e-08_rb /) kbo(:,51, 2) = (/ & & 0.42541e-08_rb,0.48933e-08_rb,0.56304e-08_rb,0.64214e-08_rb,0.72725e-08_rb /) kbo(:,52, 2) = (/ & & 0.33161e-08_rb,0.38121e-08_rb,0.43976e-08_rb,0.50301e-08_rb,0.57140e-08_rb /) kbo(:,53, 2) = (/ & & 0.25817e-08_rb,0.29691e-08_rb,0.34291e-08_rb,0.39368e-08_rb,0.44836e-08_rb /) kbo(:,54, 2) = (/ & & 0.20203e-08_rb,0.23228e-08_rb,0.26823e-08_rb,0.30900e-08_rb,0.35285e-08_rb /) kbo(:,55, 2) = (/ & & 0.15833e-08_rb,0.18196e-08_rb,0.21023e-08_rb,0.24276e-08_rb,0.27787e-08_rb /) kbo(:,56, 2) = (/ & & 0.12403e-08_rb,0.14250e-08_rb,0.16461e-08_rb,0.19045e-08_rb,0.21855e-08_rb /) kbo(:,57, 2) = (/ & & 0.97249e-09_rb,0.11164e-08_rb,0.12881e-08_rb,0.14923e-08_rb,0.17175e-08_rb /) kbo(:,58, 2) = (/ & & 0.76431e-09_rb,0.87699e-09_rb,0.10108e-08_rb,0.11709e-08_rb,0.13516e-08_rb /) kbo(:,59, 2) = (/ & & 0.61553e-09_rb,0.70649e-09_rb,0.81463e-09_rb,0.94315e-09_rb,0.10907e-08_rb /) kbo(:,13, 3) = (/ & & 0.37708e-04_rb,0.43942e-04_rb,0.50586e-04_rb,0.57656e-04_rb,0.65139e-04_rb /) kbo(:,14, 3) = (/ & & 0.31694e-04_rb,0.36862e-04_rb,0.42350e-04_rb,0.48197e-04_rb,0.54341e-04_rb /) kbo(:,15, 3) = (/ & & 0.26564e-04_rb,0.30824e-04_rb,0.35372e-04_rb,0.40180e-04_rb,0.45231e-04_rb /) kbo(:,16, 3) = (/ & & 0.22232e-04_rb,0.25740e-04_rb,0.29512e-04_rb,0.33447e-04_rb,0.37588e-04_rb /) kbo(:,17, 3) = (/ & & 0.18578e-04_rb,0.21467e-04_rb,0.24582e-04_rb,0.27832e-04_rb,0.31221e-04_rb /) kbo(:,18, 3) = (/ & & 0.15530e-04_rb,0.17922e-04_rb,0.20498e-04_rb,0.23170e-04_rb,0.25973e-04_rb /) kbo(:,19, 3) = (/ & & 0.12972e-04_rb,0.14952e-04_rb,0.17059e-04_rb,0.19270e-04_rb,0.21580e-04_rb /) kbo(:,20, 3) = (/ & & 0.10858e-04_rb,0.12498e-04_rb,0.14228e-04_rb,0.16061e-04_rb,0.17958e-04_rb /) kbo(:,21, 3) = (/ & & 0.90819e-05_rb,0.10446e-04_rb,0.11880e-04_rb,0.13394e-04_rb,0.14951e-04_rb /) kbo(:,22, 3) = (/ & & 0.76648e-05_rb,0.87979e-05_rb,0.99931e-05_rb,0.11255e-04_rb,0.12542e-04_rb /) kbo(:,23, 3) = (/ & & 0.64634e-05_rb,0.74140e-05_rb,0.84086e-05_rb,0.94546e-05_rb,0.10527e-04_rb /) kbo(:,24, 3) = (/ & & 0.54523e-05_rb,0.62464e-05_rb,0.70809e-05_rb,0.79508e-05_rb,0.88446e-05_rb /) kbo(:,25, 3) = (/ & & 0.46110e-05_rb,0.52716e-05_rb,0.59693e-05_rb,0.66904e-05_rb,0.74322e-05_rb /) kbo(:,26, 3) = (/ & & 0.39134e-05_rb,0.44620e-05_rb,0.50425e-05_rb,0.56439e-05_rb,0.62577e-05_rb /) kbo(:,27, 3) = (/ & & 0.33208e-05_rb,0.37777e-05_rb,0.42629e-05_rb,0.47607e-05_rb,0.52714e-05_rb /) kbo(:,28, 3) = (/ & & 0.28177e-05_rb,0.32008e-05_rb,0.36031e-05_rb,0.40187e-05_rb,0.44358e-05_rb /) kbo(:,29, 3) = (/ & & 0.23932e-05_rb,0.27158e-05_rb,0.30516e-05_rb,0.33945e-05_rb,0.37416e-05_rb /) kbo(:,30, 3) = (/ & & 0.20340e-05_rb,0.23035e-05_rb,0.25827e-05_rb,0.28672e-05_rb,0.31559e-05_rb /) kbo(:,31, 3) = (/ & & 0.17308e-05_rb,0.19547e-05_rb,0.21869e-05_rb,0.24243e-05_rb,0.26649e-05_rb /) kbo(:,32, 3) = (/ & & 0.14734e-05_rb,0.16593e-05_rb,0.18536e-05_rb,0.20518e-05_rb,0.22514e-05_rb /) kbo(:,33, 3) = (/ & & 0.12538e-05_rb,0.14097e-05_rb,0.15718e-05_rb,0.17369e-05_rb,0.19013e-05_rb /) kbo(:,34, 3) = (/ & & 0.10626e-05_rb,0.11932e-05_rb,0.13290e-05_rb,0.14662e-05_rb,0.16025e-05_rb /) kbo(:,35, 3) = (/ & & 0.88990e-06_rb,0.99878e-06_rb,0.11122e-05_rb,0.12266e-05_rb,0.13395e-05_rb /) kbo(:,36, 3) = (/ & & 0.73535e-06_rb,0.82690e-06_rb,0.92099e-06_rb,0.10159e-05_rb,0.11099e-05_rb /) kbo(:,37, 3) = (/ & & 0.59728e-06_rb,0.67301e-06_rb,0.75127e-06_rb,0.83021e-06_rb,0.90845e-06_rb /) kbo(:,38, 3) = (/ & & 0.48484e-06_rb,0.54737e-06_rb,0.61229e-06_rb,0.67762e-06_rb,0.74258e-06_rb /) kbo(:,39, 3) = (/ & & 0.39347e-06_rb,0.44485e-06_rb,0.49886e-06_rb,0.55290e-06_rb,0.60674e-06_rb /) kbo(:,40, 3) = (/ & & 0.31488e-06_rb,0.35703e-06_rb,0.40148e-06_rb,0.44640e-06_rb,0.49091e-06_rb /) kbo(:,41, 3) = (/ & & 0.25130e-06_rb,0.28561e-06_rb,0.32224e-06_rb,0.35953e-06_rb,0.39618e-06_rb /) kbo(:,42, 3) = (/ & & 0.20030e-06_rb,0.22840e-06_rb,0.25834e-06_rb,0.28930e-06_rb,0.31965e-06_rb /) kbo(:,43, 3) = (/ & & 0.15807e-06_rb,0.18109e-06_rb,0.20542e-06_rb,0.23094e-06_rb,0.25635e-06_rb /) kbo(:,44, 3) = (/ & & 0.12418e-06_rb,0.14282e-06_rb,0.16261e-06_rb,0.18364e-06_rb,0.20465e-06_rb /) kbo(:,45, 3) = (/ & & 0.97383e-07_rb,0.11245e-06_rb,0.12855e-06_rb,0.14572e-06_rb,0.16307e-06_rb /) kbo(:,46, 3) = (/ & & 0.76015e-07_rb,0.88067e-07_rb,0.10120e-06_rb,0.11510e-06_rb,0.12935e-06_rb /) kbo(:,47, 3) = (/ & & 0.58813e-07_rb,0.68493e-07_rb,0.79102e-07_rb,0.90273e-07_rb,0.10200e-06_rb /) kbo(:,48, 3) = (/ & & 0.45440e-07_rb,0.53144e-07_rb,0.61597e-07_rb,0.70639e-07_rb,0.80255e-07_rb /) kbo(:,49, 3) = (/ & & 0.35015e-07_rb,0.41136e-07_rb,0.47869e-07_rb,0.55216e-07_rb,0.62994e-07_rb /) kbo(:,50, 3) = (/ & & 0.27056e-07_rb,0.31910e-07_rb,0.37267e-07_rb,0.43210e-07_rb,0.49522e-07_rb /) kbo(:,51, 3) = (/ & & 0.20908e-07_rb,0.24756e-07_rb,0.29044e-07_rb,0.33791e-07_rb,0.38904e-07_rb /) kbo(:,52, 3) = (/ & & 0.16131e-07_rb,0.19181e-07_rb,0.22589e-07_rb,0.26378e-07_rb,0.30504e-07_rb /) kbo(:,53, 3) = (/ & & 0.12418e-07_rb,0.14835e-07_rb,0.17537e-07_rb,0.20547e-07_rb,0.23860e-07_rb /) kbo(:,54, 3) = (/ & & 0.95994e-08_rb,0.11514e-07_rb,0.13662e-07_rb,0.16065e-07_rb,0.18717e-07_rb /) kbo(:,55, 3) = (/ & & 0.74239e-08_rb,0.89453e-08_rb,0.10656e-07_rb,0.12569e-07_rb,0.14693e-07_rb /) kbo(:,56, 3) = (/ & & 0.57300e-08_rb,0.69441e-08_rb,0.83030e-08_rb,0.98193e-08_rb,0.11523e-07_rb /) kbo(:,57, 3) = (/ & & 0.44152e-08_rb,0.53811e-08_rb,0.64581e-08_rb,0.76610e-08_rb,0.90201e-08_rb /) kbo(:,58, 3) = (/ & & 0.34072e-08_rb,0.41708e-08_rb,0.50297e-08_rb,0.59876e-08_rb,0.70684e-08_rb /) kbo(:,59, 3) = (/ & & 0.27302e-08_rb,0.33492e-08_rb,0.40481e-08_rb,0.48266e-08_rb,0.57046e-08_rb /) kbo(:,13, 4) = (/ & & 0.12015e-03_rb,0.13920e-03_rb,0.15937e-03_rb,0.18001e-03_rb,0.19929e-03_rb /) kbo(:,14, 4) = (/ & & 0.10256e-03_rb,0.11883e-03_rb,0.13587e-03_rb,0.15259e-03_rb,0.16812e-03_rb /) kbo(:,15, 4) = (/ & & 0.87203e-04_rb,0.10099e-03_rb,0.11498e-03_rb,0.12847e-03_rb,0.14114e-03_rb /) kbo(:,16, 4) = (/ & & 0.73859e-04_rb,0.85304e-04_rb,0.96816e-04_rb,0.10774e-03_rb,0.11805e-03_rb /) kbo(:,17, 4) = (/ & & 0.62334e-04_rb,0.71786e-04_rb,0.81225e-04_rb,0.90091e-04_rb,0.98454e-04_rb /) kbo(:,18, 4) = (/ & & 0.52581e-04_rb,0.60344e-04_rb,0.68018e-04_rb,0.75237e-04_rb,0.81903e-04_rb /) kbo(:,19, 4) = (/ & & 0.44197e-04_rb,0.50573e-04_rb,0.56840e-04_rb,0.62656e-04_rb,0.67968e-04_rb /) kbo(:,20, 4) = (/ & & 0.37151e-04_rb,0.42384e-04_rb,0.47494e-04_rb,0.52193e-04_rb,0.56467e-04_rb /) kbo(:,21, 4) = (/ & & 0.31193e-04_rb,0.35480e-04_rb,0.39600e-04_rb,0.43427e-04_rb,0.46870e-04_rb /) kbo(:,22, 4) = (/ & & 0.26374e-04_rb,0.29925e-04_rb,0.33224e-04_rb,0.36261e-04_rb,0.39040e-04_rb /) kbo(:,23, 4) = (/ & & 0.22315e-04_rb,0.25198e-04_rb,0.27833e-04_rb,0.30290e-04_rb,0.32509e-04_rb /) kbo(:,24, 4) = (/ & & 0.18883e-04_rb,0.21184e-04_rb,0.23291e-04_rb,0.25268e-04_rb,0.27046e-04_rb /) kbo(:,25, 4) = (/ & & 0.15977e-04_rb,0.17808e-04_rb,0.19529e-04_rb,0.21106e-04_rb,0.22533e-04_rb /) kbo(:,26, 4) = (/ & & 0.13524e-04_rb,0.14996e-04_rb,0.16391e-04_rb,0.17658e-04_rb,0.18796e-04_rb /) kbo(:,27, 4) = (/ & & 0.11433e-04_rb,0.12631e-04_rb,0.13757e-04_rb,0.14769e-04_rb,0.15677e-04_rb /) kbo(:,28, 4) = (/ & & 0.96558e-05_rb,0.10640e-04_rb,0.11537e-04_rb,0.12357e-04_rb,0.13086e-04_rb /) kbo(:,29, 4) = (/ & & 0.81632e-05_rb,0.89560e-05_rb,0.96801e-05_rb,0.10339e-04_rb,0.10919e-04_rb /) kbo(:,30, 4) = (/ & & 0.68972e-05_rb,0.75321e-05_rb,0.81189e-05_rb,0.86418e-05_rb,0.91120e-05_rb /) kbo(:,31, 4) = (/ & & 0.58255e-05_rb,0.63427e-05_rb,0.68115e-05_rb,0.72291e-05_rb,0.76088e-05_rb /) kbo(:,32, 4) = (/ & & 0.49235e-05_rb,0.53404e-05_rb,0.57128e-05_rb,0.60450e-05_rb,0.63540e-05_rb /) kbo(:,33, 4) = (/ & & 0.41602e-05_rb,0.44904e-05_rb,0.47873e-05_rb,0.50567e-05_rb,0.53085e-05_rb /) kbo(:,34, 4) = (/ & & 0.34993e-05_rb,0.37640e-05_rb,0.40033e-05_rb,0.42217e-05_rb,0.44321e-05_rb /) kbo(:,35, 4) = (/ & & 0.29168e-05_rb,0.31331e-05_rb,0.33264e-05_rb,0.35072e-05_rb,0.36808e-05_rb /) kbo(:,36, 4) = (/ & & 0.24105e-05_rb,0.25863e-05_rb,0.27459e-05_rb,0.28969e-05_rb,0.30433e-05_rb /) kbo(:,37, 4) = (/ & & 0.19699e-05_rb,0.21167e-05_rb,0.22499e-05_rb,0.23751e-05_rb,0.24984e-05_rb /) kbo(:,38, 4) = (/ & & 0.16085e-05_rb,0.17316e-05_rb,0.18431e-05_rb,0.19482e-05_rb,0.20520e-05_rb /) kbo(:,39, 4) = (/ & & 0.13140e-05_rb,0.14172e-05_rb,0.15102e-05_rb,0.15989e-05_rb,0.16862e-05_rb /) kbo(:,40, 4) = (/ & & 0.10643e-05_rb,0.11518e-05_rb,0.12300e-05_rb,0.13052e-05_rb,0.13789e-05_rb /) kbo(:,41, 4) = (/ & & 0.86103e-06_rb,0.93494e-06_rb,0.10013e-05_rb,0.10648e-05_rb,0.11275e-05_rb /) kbo(:,42, 4) = (/ & & 0.69566e-06_rb,0.75803e-06_rb,0.81468e-06_rb,0.86817e-06_rb,0.92113e-06_rb /) kbo(:,43, 4) = (/ & & 0.55856e-06_rb,0.61135e-06_rb,0.65992e-06_rb,0.70501e-06_rb,0.74915e-06_rb /) kbo(:,44, 4) = (/ & & 0.44644e-06_rb,0.49113e-06_rb,0.53284e-06_rb,0.57066e-06_rb,0.60776e-06_rb /) kbo(:,45, 4) = (/ & & 0.35638e-06_rb,0.39386e-06_rb,0.42947e-06_rb,0.46192e-06_rb,0.49295e-06_rb /) kbo(:,46, 4) = (/ & & 0.28317e-06_rb,0.31490e-06_rb,0.34503e-06_rb,0.37276e-06_rb,0.39894e-06_rb /) kbo(:,47, 4) = (/ & & 0.22341e-06_rb,0.25002e-06_rb,0.27560e-06_rb,0.29957e-06_rb,0.32144e-06_rb /) kbo(:,48, 4) = (/ & & 0.17554e-06_rb,0.19798e-06_rb,0.21962e-06_rb,0.24010e-06_rb,0.25876e-06_rb /) kbo(:,49, 4) = (/ & & 0.13737e-06_rb,0.15642e-06_rb,0.17451e-06_rb,0.19192e-06_rb,0.20795e-06_rb /) kbo(:,50, 4) = (/ & & 0.10754e-06_rb,0.12357e-06_rb,0.13879e-06_rb,0.15343e-06_rb,0.16712e-06_rb /) kbo(:,51, 4) = (/ & & 0.84121e-07_rb,0.97441e-07_rb,0.11018e-06_rb,0.12256e-06_rb,0.13419e-06_rb /) kbo(:,52, 4) = (/ & & 0.65604e-07_rb,0.76564e-07_rb,0.87356e-07_rb,0.97703e-07_rb,0.10745e-06_rb /) kbo(:,53, 4) = (/ & & 0.50943e-07_rb,0.59988e-07_rb,0.69048e-07_rb,0.77629e-07_rb,0.85933e-07_rb /) kbo(:,54, 4) = (/ & & 0.39679e-07_rb,0.47121e-07_rb,0.54614e-07_rb,0.61766e-07_rb,0.68783e-07_rb /) kbo(:,55, 4) = (/ & & 0.30934e-07_rb,0.36980e-07_rb,0.43113e-07_rb,0.49142e-07_rb,0.55005e-07_rb /) kbo(:,56, 4) = (/ & & 0.24050e-07_rb,0.28923e-07_rb,0.33993e-07_rb,0.39047e-07_rb,0.43928e-07_rb /) kbo(:,57, 4) = (/ & & 0.18660e-07_rb,0.22557e-07_rb,0.26748e-07_rb,0.30951e-07_rb,0.35000e-07_rb /) kbo(:,58, 4) = (/ & & 0.14488e-07_rb,0.17625e-07_rb,0.21043e-07_rb,0.24511e-07_rb,0.27884e-07_rb /) kbo(:,59, 4) = (/ & & 0.11674e-07_rb,0.14234e-07_rb,0.17044e-07_rb,0.19902e-07_rb,0.22702e-07_rb /) kbo(:,13, 5) = (/ & & 0.36288e-03_rb,0.38577e-03_rb,0.40824e-03_rb,0.43207e-03_rb,0.45772e-03_rb /) kbo(:,14, 5) = (/ & & 0.30781e-03_rb,0.32754e-03_rb,0.34745e-03_rb,0.36873e-03_rb,0.39050e-03_rb /) kbo(:,15, 5) = (/ & & 0.26023e-03_rb,0.27734e-03_rb,0.29481e-03_rb,0.31288e-03_rb,0.33087e-03_rb /) kbo(:,16, 5) = (/ & & 0.21963e-03_rb,0.23414e-03_rb,0.24882e-03_rb,0.26383e-03_rb,0.27866e-03_rb /) kbo(:,17, 5) = (/ & & 0.18486e-03_rb,0.19716e-03_rb,0.20932e-03_rb,0.22139e-03_rb,0.23350e-03_rb /) kbo(:,18, 5) = (/ & & 0.15516e-03_rb,0.16534e-03_rb,0.17526e-03_rb,0.18520e-03_rb,0.19528e-03_rb /) kbo(:,19, 5) = (/ & & 0.12986e-03_rb,0.13820e-03_rb,0.14634e-03_rb,0.15465e-03_rb,0.16304e-03_rb /) kbo(:,20, 5) = (/ & & 0.10854e-03_rb,0.11542e-03_rb,0.12213e-03_rb,0.12898e-03_rb,0.13583e-03_rb /) kbo(:,21, 5) = (/ & & 0.90628e-04_rb,0.96255e-04_rb,0.10177e-03_rb,0.10738e-03_rb,0.11299e-03_rb /) kbo(:,22, 5) = (/ & & 0.75891e-04_rb,0.80410e-04_rb,0.85018e-04_rb,0.89561e-04_rb,0.94064e-04_rb /) kbo(:,23, 5) = (/ & & 0.63476e-04_rb,0.67177e-04_rb,0.70959e-04_rb,0.74590e-04_rb,0.78334e-04_rb /) kbo(:,24, 5) = (/ & & 0.52999e-04_rb,0.56057e-04_rb,0.59157e-04_rb,0.62167e-04_rb,0.65272e-04_rb /) kbo(:,25, 5) = (/ & & 0.44256e-04_rb,0.46783e-04_rb,0.49281e-04_rb,0.51789e-04_rb,0.54376e-04_rb /) kbo(:,26, 5) = (/ & & 0.37011e-04_rb,0.39100e-04_rb,0.41098e-04_rb,0.43198e-04_rb,0.45322e-04_rb /) kbo(:,27, 5) = (/ & & 0.30966e-04_rb,0.32635e-04_rb,0.34289e-04_rb,0.36026e-04_rb,0.37776e-04_rb /) kbo(:,28, 5) = (/ & & 0.25866e-04_rb,0.27210e-04_rb,0.28616e-04_rb,0.30009e-04_rb,0.31487e-04_rb /) kbo(:,29, 5) = (/ & & 0.21609e-04_rb,0.22715e-04_rb,0.23863e-04_rb,0.25052e-04_rb,0.26299e-04_rb /) kbo(:,30, 5) = (/ & & 0.18055e-04_rb,0.18981e-04_rb,0.19946e-04_rb,0.20948e-04_rb,0.21978e-04_rb /) kbo(:,31, 5) = (/ & & 0.15103e-04_rb,0.15890e-04_rb,0.16699e-04_rb,0.17556e-04_rb,0.18410e-04_rb /) kbo(:,32, 5) = (/ & & 0.12647e-04_rb,0.13313e-04_rb,0.14001e-04_rb,0.14715e-04_rb,0.15427e-04_rb /) kbo(:,33, 5) = (/ & & 0.10601e-04_rb,0.11164e-04_rb,0.11755e-04_rb,0.12351e-04_rb,0.12931e-04_rb /) kbo(:,34, 5) = (/ & & 0.88699e-05_rb,0.93482e-05_rb,0.98481e-05_rb,0.10351e-04_rb,0.10829e-04_rb /) kbo(:,35, 5) = (/ & & 0.73864e-05_rb,0.77932e-05_rb,0.82148e-05_rb,0.86289e-05_rb,0.90270e-05_rb /) kbo(:,36, 5) = (/ & & 0.61189e-05_rb,0.64631e-05_rb,0.68137e-05_rb,0.71535e-05_rb,0.74761e-05_rb /) kbo(:,37, 5) = (/ & & 0.50349e-05_rb,0.53216e-05_rb,0.56110e-05_rb,0.58984e-05_rb,0.61738e-05_rb /) kbo(:,38, 5) = (/ & & 0.41408e-05_rb,0.43804e-05_rb,0.46209e-05_rb,0.48585e-05_rb,0.50962e-05_rb /) kbo(:,39, 5) = (/ & & 0.34100e-05_rb,0.36097e-05_rb,0.38105e-05_rb,0.40114e-05_rb,0.42081e-05_rb /) kbo(:,40, 5) = (/ & & 0.27924e-05_rb,0.29567e-05_rb,0.31274e-05_rb,0.32925e-05_rb,0.34580e-05_rb /) kbo(:,41, 5) = (/ & & 0.22821e-05_rb,0.24196e-05_rb,0.25613e-05_rb,0.27009e-05_rb,0.28413e-05_rb /) kbo(:,42, 5) = (/ & & 0.18665e-05_rb,0.19799e-05_rb,0.20975e-05_rb,0.22150e-05_rb,0.23326e-05_rb /) kbo(:,43, 5) = (/ & & 0.15195e-05_rb,0.16130e-05_rb,0.17109e-05_rb,0.18095e-05_rb,0.19094e-05_rb /) kbo(:,44, 5) = (/ & & 0.12351e-05_rb,0.13129e-05_rb,0.13926e-05_rb,0.14756e-05_rb,0.15593e-05_rb /) kbo(:,45, 5) = (/ & & 0.10023e-05_rb,0.10671e-05_rb,0.11334e-05_rb,0.12033e-05_rb,0.12728e-05_rb /) kbo(:,46, 5) = (/ & & 0.81269e-06_rb,0.86595e-06_rb,0.92094e-06_rb,0.97875e-06_rb,0.10378e-05_rb /) kbo(:,47, 5) = (/ & & 0.65647e-06_rb,0.70081e-06_rb,0.74604e-06_rb,0.79395e-06_rb,0.84339e-06_rb /) kbo(:,48, 5) = (/ & & 0.53019e-06_rb,0.56638e-06_rb,0.60399e-06_rb,0.64368e-06_rb,0.68472e-06_rb /) kbo(:,49, 5) = (/ & & 0.42776e-06_rb,0.45739e-06_rb,0.48880e-06_rb,0.52108e-06_rb,0.55567e-06_rb /) kbo(:,50, 5) = (/ & & 0.34556e-06_rb,0.36989e-06_rb,0.39599e-06_rb,0.42284e-06_rb,0.45123e-06_rb /) kbo(:,51, 5) = (/ & & 0.27905e-06_rb,0.29932e-06_rb,0.32065e-06_rb,0.34295e-06_rb,0.36646e-06_rb /) kbo(:,52, 5) = (/ & & 0.22522e-06_rb,0.24196e-06_rb,0.25940e-06_rb,0.27788e-06_rb,0.29753e-06_rb /) kbo(:,53, 5) = (/ & & 0.18137e-06_rb,0.19527e-06_rb,0.20965e-06_rb,0.22512e-06_rb,0.24112e-06_rb /) kbo(:,54, 5) = (/ & & 0.14606e-06_rb,0.15795e-06_rb,0.16971e-06_rb,0.18256e-06_rb,0.19571e-06_rb /) kbo(:,55, 5) = (/ & & 0.11745e-06_rb,0.12764e-06_rb,0.13751e-06_rb,0.14796e-06_rb,0.15891e-06_rb /) kbo(:,56, 5) = (/ & & 0.94319e-07_rb,0.10301e-06_rb,0.11131e-06_rb,0.11979e-06_rb,0.12892e-06_rb /) kbo(:,57, 5) = (/ & & 0.75512e-07_rb,0.83064e-07_rb,0.90010e-07_rb,0.96928e-07_rb,0.10441e-06_rb /) kbo(:,58, 5) = (/ & & 0.60409e-07_rb,0.66900e-07_rb,0.72712e-07_rb,0.78451e-07_rb,0.84657e-07_rb /) kbo(:,59, 5) = (/ & & 0.49299e-07_rb,0.54731e-07_rb,0.59628e-07_rb,0.64415e-07_rb,0.69585e-07_rb /) kbo(:,13, 6) = (/ & & 0.85498e-03_rb,0.88654e-03_rb,0.92216e-03_rb,0.96018e-03_rb,0.10038e-02_rb /) kbo(:,14, 6) = (/ & & 0.72755e-03_rb,0.75503e-03_rb,0.78615e-03_rb,0.82104e-03_rb,0.86252e-03_rb /) kbo(:,15, 6) = (/ & & 0.61644e-03_rb,0.64130e-03_rb,0.66934e-03_rb,0.70298e-03_rb,0.74077e-03_rb /) kbo(:,16, 6) = (/ & & 0.52100e-03_rb,0.54364e-03_rb,0.57046e-03_rb,0.60137e-03_rb,0.63388e-03_rb /) kbo(:,17, 6) = (/ & & 0.43945e-03_rb,0.46060e-03_rb,0.48533e-03_rb,0.51276e-03_rb,0.54036e-03_rb /) kbo(:,18, 6) = (/ & & 0.37082e-03_rb,0.39025e-03_rb,0.41242e-03_rb,0.43532e-03_rb,0.45905e-03_rb /) kbo(:,19, 6) = (/ & & 0.31280e-03_rb,0.33005e-03_rb,0.34867e-03_rb,0.36806e-03_rb,0.38776e-03_rb /) kbo(:,20, 6) = (/ & & 0.26373e-03_rb,0.27881e-03_rb,0.29445e-03_rb,0.31046e-03_rb,0.32667e-03_rb /) kbo(:,21, 6) = (/ & & 0.22211e-03_rb,0.23470e-03_rb,0.24766e-03_rb,0.26115e-03_rb,0.27459e-03_rb /) kbo(:,22, 6) = (/ & & 0.18729e-03_rb,0.19773e-03_rb,0.20869e-03_rb,0.22010e-03_rb,0.23102e-03_rb /) kbo(:,23, 6) = (/ & & 0.15755e-03_rb,0.16634e-03_rb,0.17574e-03_rb,0.18527e-03_rb,0.19396e-03_rb /) kbo(:,24, 6) = (/ & & 0.13244e-03_rb,0.14003e-03_rb,0.14791e-03_rb,0.15556e-03_rb,0.16235e-03_rb /) kbo(:,25, 6) = (/ & & 0.11137e-03_rb,0.11779e-03_rb,0.12437e-03_rb,0.13036e-03_rb,0.13579e-03_rb /) kbo(:,26, 6) = (/ & & 0.93817e-04_rb,0.99206e-04_rb,0.10452e-03_rb,0.10918e-03_rb,0.11356e-03_rb /) kbo(:,27, 6) = (/ & & 0.79006e-04_rb,0.83531e-04_rb,0.87717e-04_rb,0.91355e-04_rb,0.95066e-04_rb /) kbo(:,28, 6) = (/ & & 0.66464e-04_rb,0.70180e-04_rb,0.73412e-04_rb,0.76548e-04_rb,0.79673e-04_rb /) kbo(:,29, 6) = (/ & & 0.55955e-04_rb,0.58876e-04_rb,0.61539e-04_rb,0.64161e-04_rb,0.66744e-04_rb /) kbo(:,30, 6) = (/ & & 0.47057e-04_rb,0.49392e-04_rb,0.51539e-04_rb,0.53762e-04_rb,0.55883e-04_rb /) kbo(:,31, 6) = (/ & & 0.39571e-04_rb,0.41398e-04_rb,0.43230e-04_rb,0.45052e-04_rb,0.46859e-04_rb /) kbo(:,32, 6) = (/ & & 0.33232e-04_rb,0.34753e-04_rb,0.36306e-04_rb,0.37802e-04_rb,0.39368e-04_rb /) kbo(:,33, 6) = (/ & & 0.27886e-04_rb,0.29183e-04_rb,0.30428e-04_rb,0.31753e-04_rb,0.33114e-04_rb /) kbo(:,34, 6) = (/ & & 0.23408e-04_rb,0.24477e-04_rb,0.25555e-04_rb,0.26683e-04_rb,0.27811e-04_rb /) kbo(:,35, 6) = (/ & & 0.19576e-04_rb,0.20476e-04_rb,0.21380e-04_rb,0.22323e-04_rb,0.23289e-04_rb /) kbo(:,36, 6) = (/ & & 0.16284e-04_rb,0.17049e-04_rb,0.17816e-04_rb,0.18626e-04_rb,0.19444e-04_rb /) kbo(:,37, 6) = (/ & & 0.13488e-04_rb,0.14134e-04_rb,0.14781e-04_rb,0.15488e-04_rb,0.16173e-04_rb /) kbo(:,38, 6) = (/ & & 0.11176e-04_rb,0.11721e-04_rb,0.12278e-04_rb,0.12866e-04_rb,0.13450e-04_rb /) kbo(:,39, 6) = (/ & & 0.92494e-05_rb,0.97155e-05_rb,0.10200e-04_rb,0.10699e-04_rb,0.11199e-04_rb /) kbo(:,40, 6) = (/ & & 0.76168e-05_rb,0.80109e-05_rb,0.84197e-05_rb,0.88496e-05_rb,0.92853e-05_rb /) kbo(:,41, 6) = (/ & & 0.62645e-05_rb,0.66003e-05_rb,0.69472e-05_rb,0.73123e-05_rb,0.76881e-05_rb /) kbo(:,42, 6) = (/ & & 0.51581e-05_rb,0.54373e-05_rb,0.57325e-05_rb,0.60421e-05_rb,0.63612e-05_rb /) kbo(:,43, 6) = (/ & & 0.42336e-05_rb,0.44705e-05_rb,0.47241e-05_rb,0.49790e-05_rb,0.52554e-05_rb /) kbo(:,44, 6) = (/ & & 0.34635e-05_rb,0.36643e-05_rb,0.38777e-05_rb,0.40942e-05_rb,0.43335e-05_rb /) kbo(:,45, 6) = (/ & & 0.28355e-05_rb,0.30041e-05_rb,0.31829e-05_rb,0.33678e-05_rb,0.35664e-05_rb /) kbo(:,46, 6) = (/ & & 0.23151e-05_rb,0.24589e-05_rb,0.26085e-05_rb,0.27655e-05_rb,0.29287e-05_rb /) kbo(:,47, 6) = (/ & & 0.18832e-05_rb,0.20045e-05_rb,0.21306e-05_rb,0.22633e-05_rb,0.24025e-05_rb /) kbo(:,48, 6) = (/ & & 0.15291e-05_rb,0.16326e-05_rb,0.17368e-05_rb,0.18516e-05_rb,0.19681e-05_rb /) kbo(:,49, 6) = (/ & & 0.12403e-05_rb,0.13270e-05_rb,0.14154e-05_rb,0.15108e-05_rb,0.16100e-05_rb /) kbo(:,50, 6) = (/ & & 0.10056e-05_rb,0.10792e-05_rb,0.11542e-05_rb,0.12335e-05_rb,0.13173e-05_rb /) kbo(:,51, 6) = (/ & & 0.81549e-06_rb,0.87791e-06_rb,0.94116e-06_rb,0.10080e-05_rb,0.10781e-05_rb /) kbo(:,52, 6) = (/ & & 0.66029e-06_rb,0.71307e-06_rb,0.76617e-06_rb,0.82179e-06_rb,0.88107e-06_rb /) kbo(:,53, 6) = (/ & & 0.53353e-06_rb,0.57858e-06_rb,0.62276e-06_rb,0.66919e-06_rb,0.71931e-06_rb /) kbo(:,54, 6) = (/ & & 0.43199e-06_rb,0.46970e-06_rb,0.50695e-06_rb,0.54584e-06_rb,0.58793e-06_rb /) kbo(:,55, 6) = (/ & & 0.34966e-06_rb,0.38119e-06_rb,0.41298e-06_rb,0.44530e-06_rb,0.48058e-06_rb /) kbo(:,56, 6) = (/ & & 0.28227e-06_rb,0.30903e-06_rb,0.33563e-06_rb,0.36285e-06_rb,0.39216e-06_rb /) kbo(:,57, 6) = (/ & & 0.22764e-06_rb,0.25006e-06_rb,0.27265e-06_rb,0.29503e-06_rb,0.31940e-06_rb /) kbo(:,58, 6) = (/ & & 0.18380e-06_rb,0.20248e-06_rb,0.22144e-06_rb,0.24002e-06_rb,0.25999e-06_rb /) kbo(:,59, 6) = (/ & & 0.15102e-06_rb,0.16680e-06_rb,0.18267e-06_rb,0.19825e-06_rb,0.21512e-06_rb /) kbo(:,13, 7) = (/ & & 0.20763e-02_rb,0.21202e-02_rb,0.21697e-02_rb,0.22297e-02_rb,0.22985e-02_rb /) kbo(:,14, 7) = (/ & & 0.17631e-02_rb,0.18004e-02_rb,0.18452e-02_rb,0.18998e-02_rb,0.19604e-02_rb /) kbo(:,15, 7) = (/ & & 0.14970e-02_rb,0.15286e-02_rb,0.15695e-02_rb,0.16172e-02_rb,0.16748e-02_rb /) kbo(:,16, 7) = (/ & & 0.12672e-02_rb,0.12965e-02_rb,0.13340e-02_rb,0.13795e-02_rb,0.14367e-02_rb /) kbo(:,17, 7) = (/ & & 0.10695e-02_rb,0.10974e-02_rb,0.11329e-02_rb,0.11783e-02_rb,0.12365e-02_rb /) kbo(:,18, 7) = (/ & & 0.90477e-03_rb,0.93070e-03_rb,0.96470e-03_rb,0.10105e-02_rb,0.10654e-02_rb /) kbo(:,19, 7) = (/ & & 0.76431e-03_rb,0.79078e-03_rb,0.82660e-03_rb,0.86991e-03_rb,0.91843e-03_rb /) kbo(:,20, 7) = (/ & & 0.64676e-03_rb,0.67404e-03_rb,0.70901e-03_rb,0.74996e-03_rb,0.79243e-03_rb /) kbo(:,21, 7) = (/ & & 0.54776e-03_rb,0.57523e-03_rb,0.60880e-03_rb,0.64511e-03_rb,0.68243e-03_rb /) kbo(:,22, 7) = (/ & & 0.46614e-03_rb,0.49254e-03_rb,0.52330e-03_rb,0.55502e-03_rb,0.58894e-03_rb /) kbo(:,23, 7) = (/ & & 0.39726e-03_rb,0.42201e-03_rb,0.44841e-03_rb,0.47653e-03_rb,0.50717e-03_rb /) kbo(:,24, 7) = (/ & & 0.33898e-03_rb,0.36121e-03_rb,0.38421e-03_rb,0.40924e-03_rb,0.43694e-03_rb /) kbo(:,25, 7) = (/ & & 0.28981e-03_rb,0.30891e-03_rb,0.32925e-03_rb,0.35185e-03_rb,0.37616e-03_rb /) kbo(:,26, 7) = (/ & & 0.24765e-03_rb,0.26436e-03_rb,0.28268e-03_rb,0.30306e-03_rb,0.32381e-03_rb /) kbo(:,27, 7) = (/ & & 0.21161e-03_rb,0.22639e-03_rb,0.24293e-03_rb,0.26080e-03_rb,0.27811e-03_rb /) kbo(:,28, 7) = (/ & & 0.18103e-03_rb,0.19425e-03_rb,0.20911e-03_rb,0.22426e-03_rb,0.23882e-03_rb /) kbo(:,29, 7) = (/ & & 0.15524e-03_rb,0.16726e-03_rb,0.18025e-03_rb,0.19313e-03_rb,0.20539e-03_rb /) kbo(:,30, 7) = (/ & & 0.13346e-03_rb,0.14432e-03_rb,0.15555e-03_rb,0.16625e-03_rb,0.17682e-03_rb /) kbo(:,31, 7) = (/ & & 0.11513e-03_rb,0.12466e-03_rb,0.13417e-03_rb,0.14329e-03_rb,0.15286e-03_rb /) kbo(:,32, 7) = (/ & & 0.99437e-04_rb,0.10768e-03_rb,0.11569e-03_rb,0.12397e-03_rb,0.13224e-03_rb /) kbo(:,33, 7) = (/ & & 0.85975e-04_rb,0.92901e-04_rb,0.10007e-03_rb,0.10742e-03_rb,0.11487e-03_rb /) kbo(:,34, 7) = (/ & & 0.74186e-04_rb,0.80283e-04_rb,0.86524e-04_rb,0.92965e-04_rb,0.99720e-04_rb /) kbo(:,35, 7) = (/ & & 0.63518e-04_rb,0.68833e-04_rb,0.74348e-04_rb,0.80205e-04_rb,0.86286e-04_rb /) kbo(:,36, 7) = (/ & & 0.53971e-04_rb,0.58710e-04_rb,0.63581e-04_rb,0.68731e-04_rb,0.74066e-04_rb /) kbo(:,37, 7) = (/ & & 0.45287e-04_rb,0.49433e-04_rb,0.53695e-04_rb,0.58207e-04_rb,0.62933e-04_rb /) kbo(:,38, 7) = (/ & & 0.37993e-04_rb,0.41562e-04_rb,0.45327e-04_rb,0.49315e-04_rb,0.53437e-04_rb /) kbo(:,39, 7) = (/ & & 0.31889e-04_rb,0.34954e-04_rb,0.38268e-04_rb,0.41760e-04_rb,0.45472e-04_rb /) kbo(:,40, 7) = (/ & & 0.26490e-04_rb,0.29130e-04_rb,0.31995e-04_rb,0.35094e-04_rb,0.38302e-04_rb /) kbo(:,41, 7) = (/ & & 0.21977e-04_rb,0.24258e-04_rb,0.26702e-04_rb,0.29405e-04_rb,0.32254e-04_rb /) kbo(:,42, 7) = (/ & & 0.18218e-04_rb,0.20180e-04_rb,0.22299e-04_rb,0.24616e-04_rb,0.27154e-04_rb /) kbo(:,43, 7) = (/ & & 0.15034e-04_rb,0.16668e-04_rb,0.18493e-04_rb,0.20514e-04_rb,0.22747e-04_rb /) kbo(:,44, 7) = (/ & & 0.12376e-04_rb,0.13730e-04_rb,0.15276e-04_rb,0.16983e-04_rb,0.18913e-04_rb /) kbo(:,45, 7) = (/ & & 0.10149e-04_rb,0.11314e-04_rb,0.12590e-04_rb,0.14099e-04_rb,0.15742e-04_rb /) kbo(:,46, 7) = (/ & & 0.82889e-05_rb,0.92859e-05_rb,0.10354e-04_rb,0.11603e-04_rb,0.13042e-04_rb /) kbo(:,47, 7) = (/ & & 0.67264e-05_rb,0.75707e-05_rb,0.84748e-05_rb,0.95081e-05_rb,0.10721e-04_rb /) kbo(:,48, 7) = (/ & & 0.54454e-05_rb,0.61678e-05_rb,0.69329e-05_rb,0.77845e-05_rb,0.87984e-05_rb /) kbo(:,49, 7) = (/ & & 0.43942e-05_rb,0.50075e-05_rb,0.56558e-05_rb,0.63802e-05_rb,0.72168e-05_rb /) kbo(:,50, 7) = (/ & & 0.35518e-05_rb,0.40682e-05_rb,0.46246e-05_rb,0.52318e-05_rb,0.59289e-05_rb /) kbo(:,51, 7) = (/ & & 0.28695e-05_rb,0.33032e-05_rb,0.37766e-05_rb,0.42938e-05_rb,0.48871e-05_rb /) kbo(:,52, 7) = (/ & & 0.23151e-05_rb,0.26733e-05_rb,0.30760e-05_rb,0.35184e-05_rb,0.40216e-05_rb /) kbo(:,53, 7) = (/ & & 0.18635e-05_rb,0.21569e-05_rb,0.24979e-05_rb,0.28705e-05_rb,0.33004e-05_rb /) kbo(:,54, 7) = (/ & & 0.15043e-05_rb,0.17492e-05_rb,0.20309e-05_rb,0.23469e-05_rb,0.27129e-05_rb /) kbo(:,55, 7) = (/ & & 0.12156e-05_rb,0.14170e-05_rb,0.16506e-05_rb,0.19188e-05_rb,0.22303e-05_rb /) kbo(:,56, 7) = (/ & & 0.98090e-06_rb,0.11440e-05_rb,0.13395e-05_rb,0.15647e-05_rb,0.18280e-05_rb /) kbo(:,57, 7) = (/ & & 0.79029e-06_rb,0.92216e-06_rb,0.10880e-05_rb,0.12732e-05_rb,0.14934e-05_rb /) kbo(:,58, 7) = (/ & & 0.63691e-06_rb,0.74365e-06_rb,0.88187e-06_rb,0.10375e-05_rb,0.12193e-05_rb /) kbo(:,59, 7) = (/ & & 0.52696e-06_rb,0.61783e-06_rb,0.73672e-06_rb,0.87054e-06_rb,0.10284e-05_rb /) kbo(:,13, 8) = (/ & & 0.57453e-02_rb,0.59077e-02_rb,0.61032e-02_rb,0.63038e-02_rb,0.65156e-02_rb /) kbo(:,14, 8) = (/ & & 0.49738e-02_rb,0.51301e-02_rb,0.52927e-02_rb,0.54623e-02_rb,0.56575e-02_rb /) kbo(:,15, 8) = (/ & & 0.43017e-02_rb,0.44326e-02_rb,0.45703e-02_rb,0.47292e-02_rb,0.49039e-02_rb /) kbo(:,16, 8) = (/ & & 0.37082e-02_rb,0.38170e-02_rb,0.39427e-02_rb,0.40844e-02_rb,0.42438e-02_rb /) kbo(:,17, 8) = (/ & & 0.31847e-02_rb,0.32833e-02_rb,0.33960e-02_rb,0.35252e-02_rb,0.36740e-02_rb /) kbo(:,18, 8) = (/ & & 0.27225e-02_rb,0.28155e-02_rb,0.29216e-02_rb,0.30449e-02_rb,0.31911e-02_rb /) kbo(:,19, 8) = (/ & & 0.23309e-02_rb,0.24127e-02_rb,0.25113e-02_rb,0.26325e-02_rb,0.27748e-02_rb /) kbo(:,20, 8) = (/ & & 0.19939e-02_rb,0.20703e-02_rb,0.21659e-02_rb,0.22816e-02_rb,0.24232e-02_rb /) kbo(:,21, 8) = (/ & & 0.17051e-02_rb,0.17809e-02_rb,0.18754e-02_rb,0.19919e-02_rb,0.21299e-02_rb /) kbo(:,22, 8) = (/ & & 0.14632e-02_rb,0.15412e-02_rb,0.16376e-02_rb,0.17554e-02_rb,0.18936e-02_rb /) kbo(:,23, 8) = (/ & & 0.12639e-02_rb,0.13422e-02_rb,0.14407e-02_rb,0.15575e-02_rb,0.16941e-02_rb /) kbo(:,24, 8) = (/ & & 0.10971e-02_rb,0.11767e-02_rb,0.12764e-02_rb,0.13939e-02_rb,0.15238e-02_rb /) kbo(:,25, 8) = (/ & & 0.95870e-03_rb,0.10413e-02_rb,0.11414e-02_rb,0.12556e-02_rb,0.13798e-02_rb /) kbo(:,26, 8) = (/ & & 0.84686e-03_rb,0.93021e-03_rb,0.10287e-02_rb,0.11374e-02_rb,0.12572e-02_rb /) kbo(:,27, 8) = (/ & & 0.75447e-03_rb,0.83724e-03_rb,0.93234e-03_rb,0.10369e-02_rb,0.11513e-02_rb /) kbo(:,28, 8) = (/ & & 0.67798e-03_rb,0.75937e-03_rb,0.85009e-03_rb,0.95072e-03_rb,0.10606e-02_rb /) kbo(:,29, 8) = (/ & & 0.61364e-03_rb,0.69262e-03_rb,0.77994e-03_rb,0.87674e-03_rb,0.98252e-03_rb /) kbo(:,30, 8) = (/ & & 0.55903e-03_rb,0.63520e-03_rb,0.71974e-03_rb,0.81322e-03_rb,0.91554e-03_rb /) kbo(:,31, 8) = (/ & & 0.51301e-03_rb,0.58698e-03_rb,0.66923e-03_rb,0.75972e-03_rb,0.85851e-03_rb /) kbo(:,32, 8) = (/ & & 0.47350e-03_rb,0.54617e-03_rb,0.62663e-03_rb,0.71470e-03_rb,0.81105e-03_rb /) kbo(:,33, 8) = (/ & & 0.44016e-03_rb,0.51136e-03_rb,0.58994e-03_rb,0.67638e-03_rb,0.77061e-03_rb /) kbo(:,34, 8) = (/ & & 0.40944e-03_rb,0.47900e-03_rb,0.55611e-03_rb,0.64143e-03_rb,0.73316e-03_rb /) kbo(:,35, 8) = (/ & & 0.37741e-03_rb,0.44487e-03_rb,0.52031e-03_rb,0.60323e-03_rb,0.69243e-03_rb /) kbo(:,36, 8) = (/ & & 0.34297e-03_rb,0.40766e-03_rb,0.48086e-03_rb,0.56132e-03_rb,0.64787e-03_rb /) kbo(:,37, 8) = (/ & & 0.30431e-03_rb,0.36499e-03_rb,0.43465e-03_rb,0.51167e-03_rb,0.59496e-03_rb /) kbo(:,38, 8) = (/ & & 0.26970e-03_rb,0.32665e-03_rb,0.39267e-03_rb,0.46706e-03_rb,0.54760e-03_rb /) kbo(:,39, 8) = (/ & & 0.23923e-03_rb,0.29254e-03_rb,0.35537e-03_rb,0.42706e-03_rb,0.50543e-03_rb /) kbo(:,40, 8) = (/ & & 0.20758e-03_rb,0.25688e-03_rb,0.31519e-03_rb,0.38349e-03_rb,0.45925e-03_rb /) kbo(:,41, 8) = (/ & & 0.17937e-03_rb,0.22435e-03_rb,0.27886e-03_rb,0.34337e-03_rb,0.41641e-03_rb /) kbo(:,42, 8) = (/ & & 0.15469e-03_rb,0.19589e-03_rb,0.24606e-03_rb,0.30674e-03_rb,0.37723e-03_rb /) kbo(:,43, 8) = (/ & & 0.13101e-03_rb,0.16796e-03_rb,0.21371e-03_rb,0.26992e-03_rb,0.33751e-03_rb /) kbo(:,44, 8) = (/ & & 0.10980e-03_rb,0.14260e-03_rb,0.18396e-03_rb,0.23557e-03_rb,0.29905e-03_rb /) kbo(:,45, 8) = (/ & & 0.91682e-04_rb,0.12045e-03_rb,0.15770e-03_rb,0.20472e-03_rb,0.26370e-03_rb /) kbo(:,46, 8) = (/ & & 0.75628e-04_rb,0.10059e-03_rb,0.13347e-03_rb,0.17595e-03_rb,0.22995e-03_rb /) kbo(:,47, 8) = (/ & & 0.61269e-04_rb,0.82597e-04_rb,0.11115e-03_rb,0.14863e-03_rb,0.19734e-03_rb /) kbo(:,48, 8) = (/ & & 0.49295e-04_rb,0.67304e-04_rb,0.91698e-04_rb,0.12475e-03_rb,0.16838e-03_rb /) kbo(:,49, 8) = (/ & & 0.39400e-04_rb,0.54424e-04_rb,0.75252e-04_rb,0.10388e-03_rb,0.14254e-03_rb /) kbo(:,50, 8) = (/ & & 0.31621e-04_rb,0.44130e-04_rb,0.61905e-04_rb,0.86583e-04_rb,0.12082e-03_rb /) kbo(:,51, 8) = (/ & & 0.25214e-04_rb,0.35613e-04_rb,0.50609e-04_rb,0.71998e-04_rb,0.10219e-03_rb /) kbo(:,52, 8) = (/ & & 0.20045e-04_rb,0.28626e-04_rb,0.41171e-04_rb,0.59458e-04_rb,0.85829e-04_rb /) kbo(:,53, 8) = (/ & & 0.15795e-04_rb,0.22859e-04_rb,0.33218e-04_rb,0.48810e-04_rb,0.71516e-04_rb /) kbo(:,54, 8) = (/ & & 0.12537e-04_rb,0.18343e-04_rb,0.26979e-04_rb,0.40183e-04_rb,0.59926e-04_rb /) kbo(:,55, 8) = (/ & & 0.99418e-05_rb,0.14675e-04_rb,0.21893e-04_rb,0.33017e-04_rb,0.50138e-04_rb /) kbo(:,56, 8) = (/ & & 0.78293e-05_rb,0.11672e-04_rb,0.17663e-04_rb,0.26975e-04_rb,0.41690e-04_rb /) kbo(:,57, 8) = (/ & & 0.61519e-05_rb,0.92383e-05_rb,0.14184e-04_rb,0.21901e-04_rb,0.34420e-04_rb /) kbo(:,58, 8) = (/ & & 0.48509e-05_rb,0.73119e-05_rb,0.11341e-04_rb,0.17783e-04_rb,0.28416e-04_rb /) kbo(:,59, 8) = (/ & & 0.41003e-05_rb,0.62461e-05_rb,0.98307e-05_rb,0.15678e-04_rb,0.25521e-04_rb /) kbo(:,13, 9) = (/ & & 0.31088e-01_rb,0.30978e-01_rb,0.31134e-01_rb,0.31580e-01_rb,0.32297e-01_rb /) kbo(:,14, 9) = (/ & & 0.26804e-01_rb,0.26913e-01_rb,0.27323e-01_rb,0.28019e-01_rb,0.28853e-01_rb /) kbo(:,15, 9) = (/ & & 0.23192e-01_rb,0.23530e-01_rb,0.24156e-01_rb,0.24918e-01_rb,0.25770e-01_rb /) kbo(:,16, 9) = (/ & & 0.20205e-01_rb,0.20738e-01_rb,0.21411e-01_rb,0.22189e-01_rb,0.23073e-01_rb /) kbo(:,17, 9) = (/ & & 0.17721e-01_rb,0.18309e-01_rb,0.19005e-01_rb,0.19816e-01_rb,0.20712e-01_rb /) kbo(:,18, 9) = (/ & & 0.15569e-01_rb,0.16175e-01_rb,0.16902e-01_rb,0.17717e-01_rb,0.18588e-01_rb /) kbo(:,19, 9) = (/ & & 0.13679e-01_rb,0.14314e-01_rb,0.15046e-01_rb,0.15840e-01_rb,0.16695e-01_rb /) kbo(:,20, 9) = (/ & & 0.12060e-01_rb,0.12704e-01_rb,0.13416e-01_rb,0.14184e-01_rb,0.14994e-01_rb /) kbo(:,21, 9) = (/ & & 0.10678e-01_rb,0.11296e-01_rb,0.11975e-01_rb,0.12694e-01_rb,0.13474e-01_rb /) kbo(:,22, 9) = (/ & & 0.95206e-02_rb,0.10114e-01_rb,0.10744e-01_rb,0.11429e-01_rb,0.12190e-01_rb /) kbo(:,23, 9) = (/ & & 0.85244e-02_rb,0.90705e-02_rb,0.96690e-02_rb,0.10334e-01_rb,0.11084e-01_rb /) kbo(:,24, 9) = (/ & & 0.76472e-02_rb,0.81682e-02_rb,0.87428e-02_rb,0.93948e-02_rb,0.10155e-01_rb /) kbo(:,25, 9) = (/ & & 0.68906e-02_rb,0.73887e-02_rb,0.79555e-02_rb,0.86116e-02_rb,0.93920e-02_rb /) kbo(:,26, 9) = (/ & & 0.62406e-02_rb,0.67330e-02_rb,0.73033e-02_rb,0.79807e-02_rb,0.87803e-02_rb /) kbo(:,27, 9) = (/ & & 0.56879e-02_rb,0.61818e-02_rb,0.67732e-02_rb,0.74721e-02_rb,0.82924e-02_rb /) kbo(:,28, 9) = (/ & & 0.52214e-02_rb,0.57290e-02_rb,0.63416e-02_rb,0.70614e-02_rb,0.79109e-02_rb /) kbo(:,29, 9) = (/ & & 0.48396e-02_rb,0.53718e-02_rb,0.60023e-02_rb,0.67493e-02_rb,0.76290e-02_rb /) kbo(:,30, 9) = (/ & & 0.45394e-02_rb,0.50868e-02_rb,0.57419e-02_rb,0.65213e-02_rb,0.74390e-02_rb /) kbo(:,31, 9) = (/ & & 0.42997e-02_rb,0.48721e-02_rb,0.55579e-02_rb,0.63736e-02_rb,0.73370e-02_rb /) kbo(:,32, 9) = (/ & & 0.41212e-02_rb,0.47209e-02_rb,0.54422e-02_rb,0.62987e-02_rb,0.73128e-02_rb /) kbo(:,33, 9) = (/ & & 0.39976e-02_rb,0.46295e-02_rb,0.53893e-02_rb,0.62949e-02_rb,0.73658e-02_rb /) kbo(:,34, 9) = (/ & & 0.39007e-02_rb,0.45672e-02_rb,0.53672e-02_rb,0.63167e-02_rb,0.74374e-02_rb /) kbo(:,35, 9) = (/ & & 0.37869e-02_rb,0.44770e-02_rb,0.53019e-02_rb,0.62849e-02_rb,0.74424e-02_rb /) kbo(:,36, 9) = (/ & & 0.36393e-02_rb,0.43376e-02_rb,0.51746e-02_rb,0.61726e-02_rb,0.73435e-02_rb /) kbo(:,37, 9) = (/ & & 0.34235e-02_rb,0.41098e-02_rb,0.49353e-02_rb,0.59226e-02_rb,0.70781e-02_rb /) kbo(:,38, 9) = (/ & & 0.32247e-02_rb,0.38981e-02_rb,0.47125e-02_rb,0.56849e-02_rb,0.68251e-02_rb /) kbo(:,39, 9) = (/ & & 0.30456e-02_rb,0.37107e-02_rb,0.45116e-02_rb,0.54683e-02_rb,0.65906e-02_rb /) kbo(:,40, 9) = (/ & & 0.28232e-02_rb,0.34654e-02_rb,0.42389e-02_rb,0.51610e-02_rb,0.62484e-02_rb /) kbo(:,41, 9) = (/ & & 0.26119e-02_rb,0.32290e-02_rb,0.39730e-02_rb,0.48613e-02_rb,0.59121e-02_rb /) kbo(:,42, 9) = (/ & & 0.24180e-02_rb,0.30088e-02_rb,0.37246e-02_rb,0.45813e-02_rb,0.55929e-02_rb /) kbo(:,43, 9) = (/ & & 0.22093e-02_rb,0.27691e-02_rb,0.34494e-02_rb,0.42630e-02_rb,0.52317e-02_rb /) kbo(:,44, 9) = (/ & & 0.20033e-02_rb,0.25304e-02_rb,0.31741e-02_rb,0.39439e-02_rb,0.48637e-02_rb /) kbo(:,45, 9) = (/ & & 0.18130e-02_rb,0.23086e-02_rb,0.29181e-02_rb,0.36487e-02_rb,0.45175e-02_rb /) kbo(:,46, 9) = (/ & & 0.16283e-02_rb,0.20910e-02_rb,0.26646e-02_rb,0.33526e-02_rb,0.41695e-02_rb /) kbo(:,47, 9) = (/ & & 0.14435e-02_rb,0.18702e-02_rb,0.24020e-02_rb,0.30439e-02_rb,0.38103e-02_rb /) kbo(:,48, 9) = (/ & & 0.12773e-02_rb,0.16671e-02_rb,0.21576e-02_rb,0.27587e-02_rb,0.34731e-02_rb /) kbo(:,49, 9) = (/ & & 0.11238e-02_rb,0.14806e-02_rb,0.19320e-02_rb,0.24920e-02_rb,0.31602e-02_rb /) kbo(:,50, 9) = (/ & & 0.99065e-03_rb,0.13211e-02_rb,0.17354e-02_rb,0.22582e-02_rb,0.28857e-02_rb /) kbo(:,51, 9) = (/ & & 0.87220e-03_rb,0.11790e-02_rb,0.15607e-02_rb,0.20453e-02_rb,0.26367e-02_rb /) kbo(:,52, 9) = (/ & & 0.76443e-03_rb,0.10482e-02_rb,0.13992e-02_rb,0.18469e-02_rb,0.24023e-02_rb /) kbo(:,53, 9) = (/ & & 0.66506e-03_rb,0.92645e-03_rb,0.12548e-02_rb,0.16624e-02_rb,0.21789e-02_rb /) kbo(:,54, 9) = (/ & & 0.58147e-03_rb,0.82449e-03_rb,0.11302e-02_rb,0.15093e-02_rb,0.19886e-02_rb /) kbo(:,55, 9) = (/ & & 0.50762e-03_rb,0.73235e-03_rb,0.10182e-02_rb,0.13732e-02_rb,0.18200e-02_rb /) kbo(:,56, 9) = (/ & & 0.44063e-03_rb,0.64710e-03_rb,0.91345e-03_rb,0.12471e-02_rb,0.16632e-02_rb /) kbo(:,57, 9) = (/ & & 0.37891e-03_rb,0.56859e-03_rb,0.81680e-03_rb,0.11290e-02_rb,0.15165e-02_rb /) kbo(:,58, 9) = (/ & & 0.32563e-03_rb,0.50022e-03_rb,0.73037e-03_rb,0.10236e-02_rb,0.13873e-02_rb /) kbo(:,59, 9) = (/ & & 0.30307e-03_rb,0.47208e-03_rb,0.69548e-03_rb,0.98198e-03_rb,0.13371e-02_rb /) kbo(:,13,10) = (/ & & 0.13405e+00_rb,0.13208e+00_rb,0.13012e+00_rb,0.12819e+00_rb,0.12637e+00_rb /) kbo(:,14,10) = (/ & & 0.11726e+00_rb,0.11549e+00_rb,0.11376e+00_rb,0.11219e+00_rb,0.11171e+00_rb /) kbo(:,15,10) = (/ & & 0.10125e+00_rb,0.99749e-01_rb,0.98394e-01_rb,0.98385e-01_rb,0.99981e-01_rb /) kbo(:,16,10) = (/ & & 0.86553e-01_rb,0.85383e-01_rb,0.85602e-01_rb,0.87440e-01_rb,0.89929e-01_rb /) kbo(:,17,10) = (/ & & 0.73963e-01_rb,0.74028e-01_rb,0.75744e-01_rb,0.77969e-01_rb,0.80306e-01_rb /) kbo(:,18,10) = (/ & & 0.64249e-01_rb,0.65620e-01_rb,0.67504e-01_rb,0.69584e-01_rb,0.72235e-01_rb /) kbo(:,19,10) = (/ & & 0.56934e-01_rb,0.58613e-01_rb,0.60462e-01_rb,0.62855e-01_rb,0.65899e-01_rb /) kbo(:,20,10) = (/ & & 0.50721e-01_rb,0.52418e-01_rb,0.54615e-01_rb,0.57565e-01_rb,0.61049e-01_rb /) kbo(:,21,10) = (/ & & 0.45027e-01_rb,0.47161e-01_rb,0.49911e-01_rb,0.53249e-01_rb,0.56950e-01_rb /) kbo(:,22,10) = (/ & & 0.40301e-01_rb,0.42891e-01_rb,0.46164e-01_rb,0.49801e-01_rb,0.53839e-01_rb /) kbo(:,23,10) = (/ & & 0.36438e-01_rb,0.39487e-01_rb,0.43011e-01_rb,0.46965e-01_rb,0.50969e-01_rb /) kbo(:,24,10) = (/ & & 0.33455e-01_rb,0.36675e-01_rb,0.40451e-01_rb,0.44369e-01_rb,0.48399e-01_rb /) kbo(:,25,10) = (/ & & 0.31038e-01_rb,0.34461e-01_rb,0.38146e-01_rb,0.42075e-01_rb,0.46138e-01_rb /) kbo(:,26,10) = (/ & & 0.29184e-01_rb,0.32533e-01_rb,0.36194e-01_rb,0.40134e-01_rb,0.44371e-01_rb /) kbo(:,27,10) = (/ & & 0.27607e-01_rb,0.30907e-01_rb,0.34540e-01_rb,0.38584e-01_rb,0.43101e-01_rb /) kbo(:,28,10) = (/ & & 0.26262e-01_rb,0.29536e-01_rb,0.33259e-01_rb,0.37529e-01_rb,0.42311e-01_rb /) kbo(:,29,10) = (/ & & 0.25199e-01_rb,0.28472e-01_rb,0.32405e-01_rb,0.36927e-01_rb,0.42052e-01_rb /) kbo(:,30,10) = (/ & & 0.24317e-01_rb,0.27783e-01_rb,0.31948e-01_rb,0.36772e-01_rb,0.42176e-01_rb /) kbo(:,31,10) = (/ & & 0.23777e-01_rb,0.27457e-01_rb,0.31879e-01_rb,0.37001e-01_rb,0.42663e-01_rb /) kbo(:,32,10) = (/ & & 0.23540e-01_rb,0.27481e-01_rb,0.32177e-01_rb,0.37596e-01_rb,0.43567e-01_rb /) kbo(:,33,10) = (/ & & 0.23597e-01_rb,0.27797e-01_rb,0.32792e-01_rb,0.38465e-01_rb,0.44641e-01_rb /) kbo(:,34,10) = (/ & & 0.23769e-01_rb,0.28231e-01_rb,0.33430e-01_rb,0.39373e-01_rb,0.45740e-01_rb /) kbo(:,35,10) = (/ & & 0.23751e-01_rb,0.28376e-01_rb,0.33764e-01_rb,0.39814e-01_rb,0.46255e-01_rb /) kbo(:,36,10) = (/ & & 0.23409e-01_rb,0.28117e-01_rb,0.33564e-01_rb,0.39651e-01_rb,0.46138e-01_rb /) kbo(:,37,10) = (/ & & 0.22508e-01_rb,0.27169e-01_rb,0.32556e-01_rb,0.38592e-01_rb,0.45071e-01_rb /) kbo(:,38,10) = (/ & & 0.21655e-01_rb,0.26262e-01_rb,0.31543e-01_rb,0.37540e-01_rb,0.43984e-01_rb /) kbo(:,39,10) = (/ & & 0.20895e-01_rb,0.25391e-01_rb,0.30600e-01_rb,0.36519e-01_rb,0.42890e-01_rb /) kbo(:,40,10) = (/ & & 0.19794e-01_rb,0.24108e-01_rb,0.29157e-01_rb,0.34891e-01_rb,0.41215e-01_rb /) kbo(:,41,10) = (/ & & 0.18688e-01_rb,0.22822e-01_rb,0.27713e-01_rb,0.33302e-01_rb,0.39460e-01_rb /) kbo(:,42,10) = (/ & & 0.17627e-01_rb,0.21623e-01_rb,0.26302e-01_rb,0.31747e-01_rb,0.37731e-01_rb /) kbo(:,43,10) = (/ & & 0.16446e-01_rb,0.20270e-01_rb,0.24738e-01_rb,0.29940e-01_rb,0.35800e-01_rb /) kbo(:,44,10) = (/ & & 0.15234e-01_rb,0.18876e-01_rb,0.23100e-01_rb,0.28072e-01_rb,0.33725e-01_rb /) kbo(:,45,10) = (/ & & 0.14095e-01_rb,0.17542e-01_rb,0.21553e-01_rb,0.26276e-01_rb,0.31735e-01_rb /) kbo(:,46,10) = (/ & & 0.12980e-01_rb,0.16215e-01_rb,0.20030e-01_rb,0.24474e-01_rb,0.29695e-01_rb /) kbo(:,47,10) = (/ & & 0.11800e-01_rb,0.14839e-01_rb,0.18423e-01_rb,0.22582e-01_rb,0.27493e-01_rb /) kbo(:,48,10) = (/ & & 0.10669e-01_rb,0.13547e-01_rb,0.16901e-01_rb,0.20822e-01_rb,0.25431e-01_rb /) kbo(:,49,10) = (/ & & 0.96515e-02_rb,0.12347e-01_rb,0.15476e-01_rb,0.19181e-01_rb,0.23474e-01_rb /) kbo(:,50,10) = (/ & & 0.87302e-02_rb,0.11282e-01_rb,0.14230e-01_rb,0.17719e-01_rb,0.21773e-01_rb /) kbo(:,51,10) = (/ & & 0.78879e-02_rb,0.10297e-01_rb,0.13106e-01_rb,0.16387e-01_rb,0.20218e-01_rb /) kbo(:,52,10) = (/ & & 0.71141e-02_rb,0.93631e-02_rb,0.12059e-01_rb,0.15140e-01_rb,0.18761e-01_rb /) kbo(:,53,10) = (/ & & 0.64033e-02_rb,0.84706e-02_rb,0.11019e-01_rb,0.13962e-01_rb,0.17391e-01_rb /) kbo(:,54,10) = (/ & & 0.58003e-02_rb,0.77325e-02_rb,0.10121e-01_rb,0.12913e-01_rb,0.16185e-01_rb /) kbo(:,55,10) = (/ & & 0.52567e-02_rb,0.70672e-02_rb,0.93006e-02_rb,0.11949e-01_rb,0.15064e-01_rb /) kbo(:,56,10) = (/ & & 0.47304e-02_rb,0.64466e-02_rb,0.85460e-02_rb,0.11037e-01_rb,0.13988e-01_rb /) kbo(:,57,10) = (/ & & 0.42280e-02_rb,0.58745e-02_rb,0.78453e-02_rb,0.10192e-01_rb,0.12992e-01_rb /) kbo(:,58,10) = (/ & & 0.37744e-02_rb,0.53584e-02_rb,0.72089e-02_rb,0.94309e-02_rb,0.12101e-01_rb /) kbo(:,59,10) = (/ & & 0.36027e-02_rb,0.51588e-02_rb,0.69694e-02_rb,0.91382e-02_rb,0.11759e-01_rb /) kbo(:,13,11) = (/ & & 0.24636e+00_rb,0.24379e+00_rb,0.24122e+00_rb,0.23863e+00_rb,0.23598e+00_rb /) kbo(:,14,11) = (/ & & 0.22272e+00_rb,0.22032e+00_rb,0.21794e+00_rb,0.21559e+00_rb,0.21334e+00_rb /) kbo(:,15,11) = (/ & & 0.19844e+00_rb,0.19619e+00_rb,0.19411e+00_rb,0.19222e+00_rb,0.19047e+00_rb /) kbo(:,16,11) = (/ & & 0.17439e+00_rb,0.17254e+00_rb,0.17092e+00_rb,0.16946e+00_rb,0.16916e+00_rb /) kbo(:,17,11) = (/ & & 0.15164e+00_rb,0.15027e+00_rb,0.14912e+00_rb,0.14939e+00_rb,0.15176e+00_rb /) kbo(:,18,11) = (/ & & 0.13063e+00_rb,0.12971e+00_rb,0.13029e+00_rb,0.13302e+00_rb,0.13748e+00_rb /) kbo(:,19,11) = (/ & & 0.11203e+00_rb,0.11247e+00_rb,0.11508e+00_rb,0.11959e+00_rb,0.12521e+00_rb /) kbo(:,20,11) = (/ & & 0.96916e-01_rb,0.99041e-01_rb,0.10318e+00_rb,0.10837e+00_rb,0.11414e+00_rb /) kbo(:,21,11) = (/ & & 0.85382e-01_rb,0.88824e-01_rb,0.93367e-01_rb,0.98603e-01_rb,0.10483e+00_rb /) kbo(:,22,11) = (/ & & 0.76943e-01_rb,0.80844e-01_rb,0.85377e-01_rb,0.90964e-01_rb,0.97503e-01_rb /) kbo(:,23,11) = (/ & & 0.70041e-01_rb,0.74136e-01_rb,0.79065e-01_rb,0.84905e-01_rb,0.92247e-01_rb /) kbo(:,24,11) = (/ & & 0.64133e-01_rb,0.68708e-01_rb,0.74135e-01_rb,0.80762e-01_rb,0.88658e-01_rb /) kbo(:,25,11) = (/ & & 0.59352e-01_rb,0.64474e-01_rb,0.70718e-01_rb,0.78064e-01_rb,0.86394e-01_rb /) kbo(:,26,11) = (/ & & 0.55652e-01_rb,0.61613e-01_rb,0.68607e-01_rb,0.76451e-01_rb,0.85230e-01_rb /) kbo(:,27,11) = (/ & & 0.53058e-01_rb,0.59792e-01_rb,0.67298e-01_rb,0.75623e-01_rb,0.84830e-01_rb /) kbo(:,28,11) = (/ & & 0.51454e-01_rb,0.58747e-01_rb,0.66709e-01_rb,0.75478e-01_rb,0.85111e-01_rb /) kbo(:,29,11) = (/ & & 0.50601e-01_rb,0.58412e-01_rb,0.66813e-01_rb,0.76014e-01_rb,0.86051e-01_rb /) kbo(:,30,11) = (/ & & 0.50412e-01_rb,0.58677e-01_rb,0.67503e-01_rb,0.77079e-01_rb,0.87490e-01_rb /) kbo(:,31,11) = (/ & & 0.50833e-01_rb,0.59491e-01_rb,0.68713e-01_rb,0.78659e-01_rb,0.89405e-01_rb /) kbo(:,32,11) = (/ & & 0.51770e-01_rb,0.60792e-01_rb,0.70497e-01_rb,0.80769e-01_rb,0.91778e-01_rb /) kbo(:,33,11) = (/ & & 0.53128e-01_rb,0.62590e-01_rb,0.72506e-01_rb,0.83033e-01_rb,0.94354e-01_rb /) kbo(:,34,11) = (/ & & 0.54518e-01_rb,0.64238e-01_rb,0.74390e-01_rb,0.85011e-01_rb,0.96530e-01_rb /) kbo(:,35,11) = (/ & & 0.55323e-01_rb,0.65129e-01_rb,0.75324e-01_rb,0.86085e-01_rb,0.97742e-01_rb /) kbo(:,36,11) = (/ & & 0.55103e-01_rb,0.64989e-01_rb,0.75282e-01_rb,0.86060e-01_rb,0.97722e-01_rb /) kbo(:,37,11) = (/ & & 0.53513e-01_rb,0.63398e-01_rb,0.73617e-01_rb,0.84326e-01_rb,0.95934e-01_rb /) kbo(:,38,11) = (/ & & 0.51839e-01_rb,0.61729e-01_rb,0.71975e-01_rb,0.82585e-01_rb,0.94078e-01_rb /) kbo(:,39,11) = (/ & & 0.50239e-01_rb,0.60161e-01_rb,0.70354e-01_rb,0.80923e-01_rb,0.92345e-01_rb /) kbo(:,40,11) = (/ & & 0.47749e-01_rb,0.57519e-01_rb,0.67663e-01_rb,0.78238e-01_rb,0.89341e-01_rb /) kbo(:,41,11) = (/ & & 0.45220e-01_rb,0.54835e-01_rb,0.64881e-01_rb,0.75369e-01_rb,0.86308e-01_rb /) kbo(:,42,11) = (/ & & 0.42768e-01_rb,0.52225e-01_rb,0.62107e-01_rb,0.72467e-01_rb,0.83297e-01_rb /) kbo(:,43,11) = (/ & & 0.39884e-01_rb,0.49090e-01_rb,0.58932e-01_rb,0.69072e-01_rb,0.79690e-01_rb /) kbo(:,44,11) = (/ & & 0.36935e-01_rb,0.45822e-01_rb,0.55523e-01_rb,0.65525e-01_rb,0.76019e-01_rb /) kbo(:,45,11) = (/ & & 0.34132e-01_rb,0.42684e-01_rb,0.52151e-01_rb,0.62095e-01_rb,0.72392e-01_rb /) kbo(:,46,11) = (/ & & 0.31296e-01_rb,0.39456e-01_rb,0.48596e-01_rb,0.58446e-01_rb,0.68612e-01_rb /) kbo(:,47,11) = (/ & & 0.28352e-01_rb,0.35994e-01_rb,0.44764e-01_rb,0.54432e-01_rb,0.64443e-01_rb /) kbo(:,48,11) = (/ & & 0.25659e-01_rb,0.32738e-01_rb,0.41113e-01_rb,0.50437e-01_rb,0.60364e-01_rb /) kbo(:,49,11) = (/ & & 0.23119e-01_rb,0.29700e-01_rb,0.37617e-01_rb,0.46554e-01_rb,0.56334e-01_rb /) kbo(:,50,11) = (/ & & 0.20913e-01_rb,0.27063e-01_rb,0.34504e-01_rb,0.43055e-01_rb,0.52582e-01_rb /) kbo(:,51,11) = (/ & & 0.18909e-01_rb,0.24701e-01_rb,0.31626e-01_rb,0.39797e-01_rb,0.48997e-01_rb /) kbo(:,52,11) = (/ & & 0.17085e-01_rb,0.22478e-01_rb,0.28924e-01_rb,0.36689e-01_rb,0.45522e-01_rb /) kbo(:,53,11) = (/ & & 0.15363e-01_rb,0.20405e-01_rb,0.26432e-01_rb,0.33725e-01_rb,0.42180e-01_rb /) kbo(:,54,11) = (/ & & 0.13901e-01_rb,0.18604e-01_rb,0.24309e-01_rb,0.31149e-01_rb,0.39236e-01_rb /) kbo(:,55,11) = (/ & & 0.12627e-01_rb,0.16988e-01_rb,0.22381e-01_rb,0.28834e-01_rb,0.36535e-01_rb /) kbo(:,56,11) = (/ & & 0.11410e-01_rb,0.15484e-01_rb,0.20536e-01_rb,0.26668e-01_rb,0.33955e-01_rb /) kbo(:,57,11) = (/ & & 0.10296e-01_rb,0.14074e-01_rb,0.18805e-01_rb,0.24610e-01_rb,0.31477e-01_rb /) kbo(:,58,11) = (/ & & 0.93246e-02_rb,0.12835e-01_rb,0.17266e-01_rb,0.22752e-01_rb,0.29238e-01_rb /) kbo(:,59,11) = (/ & & 0.89562e-02_rb,0.12359e-01_rb,0.16676e-01_rb,0.22030e-01_rb,0.28380e-01_rb /) kbo(:,13,12) = (/ & & 0.46920e+00_rb,0.46679e+00_rb,0.46431e+00_rb,0.46162e+00_rb,0.45841e+00_rb /) kbo(:,14,12) = (/ & & 0.44978e+00_rb,0.44747e+00_rb,0.44532e+00_rb,0.44273e+00_rb,0.44032e+00_rb /) kbo(:,15,12) = (/ & & 0.42273e+00_rb,0.42112e+00_rb,0.41952e+00_rb,0.41793e+00_rb,0.41621e+00_rb /) kbo(:,16,12) = (/ & & 0.39050e+00_rb,0.38973e+00_rb,0.38909e+00_rb,0.38861e+00_rb,0.38845e+00_rb /) kbo(:,17,12) = (/ & & 0.35567e+00_rb,0.35584e+00_rb,0.35648e+00_rb,0.35743e+00_rb,0.35846e+00_rb /) kbo(:,18,12) = (/ & & 0.32023e+00_rb,0.32164e+00_rb,0.32356e+00_rb,0.32582e+00_rb,0.32854e+00_rb /) kbo(:,19,12) = (/ & & 0.28599e+00_rb,0.28851e+00_rb,0.29173e+00_rb,0.29552e+00_rb,0.30048e+00_rb /) kbo(:,20,12) = (/ & & 0.25381e+00_rb,0.25750e+00_rb,0.26208e+00_rb,0.26822e+00_rb,0.27683e+00_rb /) kbo(:,21,12) = (/ & & 0.22440e+00_rb,0.22938e+00_rb,0.23617e+00_rb,0.24559e+00_rb,0.25713e+00_rb /) kbo(:,22,12) = (/ & & 0.19852e+00_rb,0.20554e+00_rb,0.21550e+00_rb,0.22788e+00_rb,0.24207e+00_rb /) kbo(:,23,12) = (/ & & 0.17693e+00_rb,0.18660e+00_rb,0.19922e+00_rb,0.21410e+00_rb,0.23064e+00_rb /) kbo(:,24,12) = (/ & & 0.16009e+00_rb,0.17209e+00_rb,0.18673e+00_rb,0.20389e+00_rb,0.22257e+00_rb /) kbo(:,25,12) = (/ & & 0.14745e+00_rb,0.16127e+00_rb,0.17793e+00_rb,0.19685e+00_rb,0.21752e+00_rb /) kbo(:,26,12) = (/ & & 0.13842e+00_rb,0.15401e+00_rb,0.17237e+00_rb,0.19313e+00_rb,0.21550e+00_rb /) kbo(:,27,12) = (/ & & 0.13240e+00_rb,0.14962e+00_rb,0.16961e+00_rb,0.19199e+00_rb,0.21568e+00_rb /) kbo(:,28,12) = (/ & & 0.12889e+00_rb,0.14761e+00_rb,0.16917e+00_rb,0.19286e+00_rb,0.21743e+00_rb /) kbo(:,29,12) = (/ & & 0.12765e+00_rb,0.14781e+00_rb,0.17068e+00_rb,0.19527e+00_rb,0.22046e+00_rb /) kbo(:,30,12) = (/ & & 0.12821e+00_rb,0.14964e+00_rb,0.17352e+00_rb,0.19873e+00_rb,0.22436e+00_rb /) kbo(:,31,12) = (/ & & 0.13031e+00_rb,0.15282e+00_rb,0.17742e+00_rb,0.20308e+00_rb,0.22902e+00_rb /) kbo(:,32,12) = (/ & & 0.13354e+00_rb,0.15691e+00_rb,0.18189e+00_rb,0.20791e+00_rb,0.23394e+00_rb /) kbo(:,33,12) = (/ & & 0.13759e+00_rb,0.16158e+00_rb,0.18710e+00_rb,0.21336e+00_rb,0.23934e+00_rb /) kbo(:,34,12) = (/ & & 0.14143e+00_rb,0.16592e+00_rb,0.19181e+00_rb,0.21830e+00_rb,0.24425e+00_rb /) kbo(:,35,12) = (/ & & 0.14328e+00_rb,0.16813e+00_rb,0.19433e+00_rb,0.22092e+00_rb,0.24688e+00_rb /) kbo(:,36,12) = (/ & & 0.14288e+00_rb,0.16783e+00_rb,0.19405e+00_rb,0.22076e+00_rb,0.24684e+00_rb /) kbo(:,37,12) = (/ & & 0.13900e+00_rb,0.16377e+00_rb,0.19000e+00_rb,0.21677e+00_rb,0.24302e+00_rb /) kbo(:,38,12) = (/ & & 0.13517e+00_rb,0.15969e+00_rb,0.18575e+00_rb,0.21259e+00_rb,0.23902e+00_rb /) kbo(:,39,12) = (/ & & 0.13148e+00_rb,0.15568e+00_rb,0.18162e+00_rb,0.20849e+00_rb,0.23507e+00_rb /) kbo(:,40,12) = (/ & & 0.12553e+00_rb,0.14932e+00_rb,0.17494e+00_rb,0.20171e+00_rb,0.22853e+00_rb /) kbo(:,41,12) = (/ & & 0.11952e+00_rb,0.14280e+00_rb,0.16803e+00_rb,0.19459e+00_rb,0.22156e+00_rb /) kbo(:,42,12) = (/ & & 0.11373e+00_rb,0.13636e+00_rb,0.16129e+00_rb,0.18763e+00_rb,0.21464e+00_rb /) kbo(:,43,12) = (/ & & 0.10701e+00_rb,0.12880e+00_rb,0.15312e+00_rb,0.17916e+00_rb,0.20617e+00_rb /) kbo(:,44,12) = (/ & & 0.10010e+00_rb,0.12097e+00_rb,0.14449e+00_rb,0.17006e+00_rb,0.19689e+00_rb /) kbo(:,45,12) = (/ & & 0.93559e-01_rb,0.11347e+00_rb,0.13614e+00_rb,0.16117e+00_rb,0.18764e+00_rb /) kbo(:,46,12) = (/ & & 0.86985e-01_rb,0.10587e+00_rb,0.12759e+00_rb,0.15183e+00_rb,0.17790e+00_rb /) kbo(:,47,12) = (/ & & 0.79918e-01_rb,0.97829e-01_rb,0.11842e+00_rb,0.14172e+00_rb,0.16718e+00_rb /) kbo(:,48,12) = (/ & & 0.73127e-01_rb,0.90284e-01_rb,0.10972e+00_rb,0.13198e+00_rb,0.15666e+00_rb /) kbo(:,49,12) = (/ & & 0.66713e-01_rb,0.83137e-01_rb,0.10149e+00_rb,0.12264e+00_rb,0.14642e+00_rb /) kbo(:,50,12) = (/ & & 0.61017e-01_rb,0.76653e-01_rb,0.94210e-01_rb,0.11429e+00_rb,0.13713e+00_rb /) kbo(:,51,12) = (/ & & 0.55806e-01_rb,0.70628e-01_rb,0.87552e-01_rb,0.10658e+00_rb,0.12844e+00_rb /) kbo(:,52,12) = (/ & & 0.50954e-01_rb,0.64939e-01_rb,0.81159e-01_rb,0.99264e-01_rb,0.12011e+00_rb /) kbo(:,53,12) = (/ & & 0.46354e-01_rb,0.59512e-01_rb,0.74951e-01_rb,0.92338e-01_rb,0.11214e+00_rb /) kbo(:,54,12) = (/ & & 0.42433e-01_rb,0.54851e-01_rb,0.69504e-01_rb,0.86317e-01_rb,0.10517e+00_rb /) kbo(:,55,12) = (/ & & 0.38912e-01_rb,0.50588e-01_rb,0.64547e-01_rb,0.80719e-01_rb,0.98779e-01_rb /) kbo(:,56,12) = (/ & & 0.35756e-01_rb,0.46572e-01_rb,0.59794e-01_rb,0.75289e-01_rb,0.92719e-01_rb /) kbo(:,57,12) = (/ & & 0.32896e-01_rb,0.42811e-01_rb,0.55328e-01_rb,0.70070e-01_rb,0.86950e-01_rb /) kbo(:,58,12) = (/ & & 0.30447e-01_rb,0.39485e-01_rb,0.51269e-01_rb,0.65351e-01_rb,0.81643e-01_rb /) kbo(:,59,12) = (/ & & 0.29531e-01_rb,0.38222e-01_rb,0.49696e-01_rb,0.63514e-01_rb,0.79546e-01_rb /) kbo(:,13,13) = (/ & & 0.87498e+00_rb,0.87414e+00_rb,0.87195e+00_rb,0.86869e+00_rb,0.86437e+00_rb /) kbo(:,14,13) = (/ & & 0.90060e+00_rb,0.89974e+00_rb,0.89734e+00_rb,0.89423e+00_rb,0.88971e+00_rb /) kbo(:,15,13) = (/ & & 0.91305e+00_rb,0.91211e+00_rb,0.91072e+00_rb,0.90792e+00_rb,0.90457e+00_rb /) kbo(:,16,13) = (/ & & 0.91218e+00_rb,0.91265e+00_rb,0.91216e+00_rb,0.91150e+00_rb,0.90908e+00_rb /) kbo(:,17,13) = (/ & & 0.89877e+00_rb,0.90187e+00_rb,0.90414e+00_rb,0.90531e+00_rb,0.90588e+00_rb /) kbo(:,18,13) = (/ & & 0.87718e+00_rb,0.88256e+00_rb,0.88815e+00_rb,0.89271e+00_rb,0.89636e+00_rb /) kbo(:,19,13) = (/ & & 0.84784e+00_rb,0.85815e+00_rb,0.86718e+00_rb,0.87552e+00_rb,0.88267e+00_rb /) kbo(:,20,13) = (/ & & 0.81552e+00_rb,0.83012e+00_rb,0.84379e+00_rb,0.85649e+00_rb,0.86736e+00_rb /) kbo(:,21,13) = (/ & & 0.78216e+00_rb,0.80141e+00_rb,0.82018e+00_rb,0.83708e+00_rb,0.85197e+00_rb /) kbo(:,22,13) = (/ & & 0.75119e+00_rb,0.77590e+00_rb,0.79904e+00_rb,0.81994e+00_rb,0.83870e+00_rb /) kbo(:,23,13) = (/ & & 0.72390e+00_rb,0.75373e+00_rb,0.78079e+00_rb,0.80579e+00_rb,0.82760e+00_rb /) kbo(:,24,13) = (/ & & 0.70145e+00_rb,0.73523e+00_rb,0.76640e+00_rb,0.79456e+00_rb,0.81899e+00_rb /) kbo(:,25,13) = (/ & & 0.68406e+00_rb,0.72159e+00_rb,0.75604e+00_rb,0.78669e+00_rb,0.81321e+00_rb /) kbo(:,26,13) = (/ & & 0.67200e+00_rb,0.71253e+00_rb,0.74968e+00_rb,0.78214e+00_rb,0.81015e+00_rb /) kbo(:,27,13) = (/ & & 0.66447e+00_rb,0.70740e+00_rb,0.74639e+00_rb,0.77996e+00_rb,0.80903e+00_rb /) kbo(:,28,13) = (/ & & 0.66095e+00_rb,0.70586e+00_rb,0.74565e+00_rb,0.77995e+00_rb,0.80973e+00_rb /) kbo(:,29,13) = (/ & & 0.66138e+00_rb,0.70727e+00_rb,0.74725e+00_rb,0.78204e+00_rb,0.81205e+00_rb /) kbo(:,30,13) = (/ & & 0.66437e+00_rb,0.71055e+00_rb,0.75066e+00_rb,0.78572e+00_rb,0.81538e+00_rb /) kbo(:,31,13) = (/ & & 0.66969e+00_rb,0.71558e+00_rb,0.75561e+00_rb,0.79049e+00_rb,0.81954e+00_rb /) kbo(:,32,13) = (/ & & 0.67664e+00_rb,0.72206e+00_rb,0.76182e+00_rb,0.79609e+00_rb,0.82431e+00_rb /) kbo(:,33,13) = (/ & & 0.68486e+00_rb,0.72960e+00_rb,0.76872e+00_rb,0.80214e+00_rb,0.82949e+00_rb /) kbo(:,34,13) = (/ & & 0.69234e+00_rb,0.73624e+00_rb,0.77485e+00_rb,0.80729e+00_rb,0.83397e+00_rb /) kbo(:,35,13) = (/ & & 0.69580e+00_rb,0.73958e+00_rb,0.77791e+00_rb,0.80990e+00_rb,0.83618e+00_rb /) kbo(:,36,13) = (/ & & 0.69461e+00_rb,0.73878e+00_rb,0.77738e+00_rb,0.80959e+00_rb,0.83608e+00_rb /) kbo(:,37,13) = (/ & & 0.68652e+00_rb,0.73194e+00_rb,0.77165e+00_rb,0.80500e+00_rb,0.83229e+00_rb /) kbo(:,38,13) = (/ & & 0.67804e+00_rb,0.72484e+00_rb,0.76560e+00_rb,0.80009e+00_rb,0.82834e+00_rb /) kbo(:,39,13) = (/ & & 0.66970e+00_rb,0.71778e+00_rb,0.75963e+00_rb,0.79504e+00_rb,0.82429e+00_rb /) kbo(:,40,13) = (/ & & 0.65605e+00_rb,0.70590e+00_rb,0.74946e+00_rb,0.78658e+00_rb,0.81742e+00_rb /) kbo(:,41,13) = (/ & & 0.64137e+00_rb,0.69306e+00_rb,0.73837e+00_rb,0.77717e+00_rb,0.80985e+00_rb /) kbo(:,42,13) = (/ & & 0.62638e+00_rb,0.67987e+00_rb,0.72699e+00_rb,0.76756e+00_rb,0.80186e+00_rb /) kbo(:,43,13) = (/ & & 0.60761e+00_rb,0.66320e+00_rb,0.71239e+00_rb,0.75526e+00_rb,0.79130e+00_rb /) kbo(:,44,13) = (/ & & 0.58682e+00_rb,0.64468e+00_rb,0.69616e+00_rb,0.74131e+00_rb,0.77948e+00_rb /) kbo(:,45,13) = (/ & & 0.56554e+00_rb,0.62545e+00_rb,0.67917e+00_rb,0.72630e+00_rb,0.76697e+00_rb /) kbo(:,46,13) = (/ & & 0.54212e+00_rb,0.60419e+00_rb,0.66020e+00_rb,0.70997e+00_rb,0.75300e+00_rb /) kbo(:,47,13) = (/ & & 0.51537e+00_rb,0.57955e+00_rb,0.63814e+00_rb,0.69060e+00_rb,0.73632e+00_rb /) kbo(:,48,13) = (/ & & 0.48823e+00_rb,0.55406e+00_rb,0.61515e+00_rb,0.67007e+00_rb,0.71851e+00_rb /) kbo(:,49,13) = (/ & & 0.46082e+00_rb,0.52769e+00_rb,0.59101e+00_rb,0.64854e+00_rb,0.69978e+00_rb /) kbo(:,50,13) = (/ & & 0.43478e+00_rb,0.50249e+00_rb,0.56761e+00_rb,0.62745e+00_rb,0.68113e+00_rb /) kbo(:,51,13) = (/ & & 0.40951e+00_rb,0.47777e+00_rb,0.54418e+00_rb,0.60613e+00_rb,0.66212e+00_rb /) kbo(:,52,13) = (/ & & 0.38439e+00_rb,0.45288e+00_rb,0.52007e+00_rb,0.58405e+00_rb,0.64238e+00_rb /) kbo(:,53,13) = (/ & & 0.35936e+00_rb,0.42773e+00_rb,0.49564e+00_rb,0.56121e+00_rb,0.62177e+00_rb /) kbo(:,54,13) = (/ & & 0.33659e+00_rb,0.40461e+00_rb,0.47296e+00_rb,0.53959e+00_rb,0.60208e+00_rb /) kbo(:,55,13) = (/ & & 0.31505e+00_rb,0.38259e+00_rb,0.45108e+00_rb,0.51845e+00_rb,0.58256e+00_rb /) kbo(:,56,13) = (/ & & 0.29381e+00_rb,0.36074e+00_rb,0.42910e+00_rb,0.49702e+00_rb,0.56263e+00_rb /) kbo(:,57,13) = (/ & & 0.27284e+00_rb,0.33897e+00_rb,0.40701e+00_rb,0.47542e+00_rb,0.54206e+00_rb /) kbo(:,58,13) = (/ & & 0.25321e+00_rb,0.31859e+00_rb,0.38622e+00_rb,0.45477e+00_rb,0.52205e+00_rb /) kbo(:,59,13) = (/ & & 0.24543e+00_rb,0.31049e+00_rb,0.37793e+00_rb,0.44646e+00_rb,0.51396e+00_rb /) kbo(:,13,14) = (/ & & 0.17373e+01_rb,0.17393e+01_rb,0.17383e+01_rb,0.17344e+01_rb,0.17279e+01_rb /) kbo(:,14,14) = (/ & & 0.18339e+01_rb,0.18343e+01_rb,0.18325e+01_rb,0.18267e+01_rb,0.18189e+01_rb /) kbo(:,15,14) = (/ & & 0.19299e+01_rb,0.19296e+01_rb,0.19248e+01_rb,0.19184e+01_rb,0.19080e+01_rb /) kbo(:,16,14) = (/ & & 0.20259e+01_rb,0.20224e+01_rb,0.20169e+01_rb,0.20066e+01_rb,0.19945e+01_rb /) kbo(:,17,14) = (/ & & 0.21175e+01_rb,0.21127e+01_rb,0.21039e+01_rb,0.20921e+01_rb,0.20768e+01_rb /) kbo(:,18,14) = (/ & & 0.22042e+01_rb,0.21972e+01_rb,0.21859e+01_rb,0.21721e+01_rb,0.21537e+01_rb /) kbo(:,19,14) = (/ & & 0.22848e+01_rb,0.22747e+01_rb,0.22622e+01_rb,0.22448e+01_rb,0.22240e+01_rb /) kbo(:,20,14) = (/ & & 0.23560e+01_rb,0.23462e+01_rb,0.23302e+01_rb,0.23098e+01_rb,0.22867e+01_rb /) kbo(:,21,14) = (/ & & 0.24183e+01_rb,0.24082e+01_rb,0.23905e+01_rb,0.23680e+01_rb,0.23418e+01_rb /) kbo(:,22,14) = (/ & & 0.24717e+01_rb,0.24598e+01_rb,0.24413e+01_rb,0.24169e+01_rb,0.23867e+01_rb /) kbo(:,23,14) = (/ & & 0.25171e+01_rb,0.25034e+01_rb,0.24840e+01_rb,0.24570e+01_rb,0.24242e+01_rb /) kbo(:,24,14) = (/ & & 0.25547e+01_rb,0.25403e+01_rb,0.25194e+01_rb,0.24898e+01_rb,0.24547e+01_rb /) kbo(:,25,14) = (/ & & 0.25855e+01_rb,0.25703e+01_rb,0.25468e+01_rb,0.25156e+01_rb,0.24784e+01_rb /) kbo(:,26,14) = (/ & & 0.26110e+01_rb,0.25944e+01_rb,0.25683e+01_rb,0.25352e+01_rb,0.24957e+01_rb /) kbo(:,27,14) = (/ & & 0.26319e+01_rb,0.26130e+01_rb,0.25843e+01_rb,0.25495e+01_rb,0.25077e+01_rb /) kbo(:,28,14) = (/ & & 0.26480e+01_rb,0.26264e+01_rb,0.25959e+01_rb,0.25590e+01_rb,0.25150e+01_rb /) kbo(:,29,14) = (/ & & 0.26603e+01_rb,0.26355e+01_rb,0.26036e+01_rb,0.25644e+01_rb,0.25186e+01_rb /) kbo(:,30,14) = (/ & & 0.26690e+01_rb,0.26417e+01_rb,0.26076e+01_rb,0.25661e+01_rb,0.25188e+01_rb /) kbo(:,31,14) = (/ & & 0.26742e+01_rb,0.26446e+01_rb,0.26086e+01_rb,0.25648e+01_rb,0.25163e+01_rb /) kbo(:,32,14) = (/ & & 0.26768e+01_rb,0.26452e+01_rb,0.26068e+01_rb,0.25609e+01_rb,0.25113e+01_rb /) kbo(:,33,14) = (/ & & 0.26771e+01_rb,0.26434e+01_rb,0.26028e+01_rb,0.25551e+01_rb,0.25044e+01_rb /) kbo(:,34,14) = (/ & & 0.26762e+01_rb,0.26409e+01_rb,0.25981e+01_rb,0.25494e+01_rb,0.24981e+01_rb /) kbo(:,35,14) = (/ & & 0.26773e+01_rb,0.26407e+01_rb,0.25970e+01_rb,0.25475e+01_rb,0.24957e+01_rb /) kbo(:,36,14) = (/ & & 0.26808e+01_rb,0.26440e+01_rb,0.25999e+01_rb,0.25501e+01_rb,0.24981e+01_rb /) kbo(:,37,14) = (/ & & 0.26888e+01_rb,0.26526e+01_rb,0.26095e+01_rb,0.25599e+01_rb,0.25079e+01_rb /) kbo(:,38,14) = (/ & & 0.26963e+01_rb,0.26609e+01_rb,0.26186e+01_rb,0.25695e+01_rb,0.25177e+01_rb /) kbo(:,39,14) = (/ & & 0.27030e+01_rb,0.26686e+01_rb,0.26272e+01_rb,0.25787e+01_rb,0.25269e+01_rb /) kbo(:,40,14) = (/ & & 0.27118e+01_rb,0.26792e+01_rb,0.26399e+01_rb,0.25927e+01_rb,0.25414e+01_rb /) kbo(:,41,14) = (/ & & 0.27201e+01_rb,0.26898e+01_rb,0.26520e+01_rb,0.26068e+01_rb,0.25561e+01_rb /) kbo(:,42,14) = (/ & & 0.27274e+01_rb,0.27000e+01_rb,0.26636e+01_rb,0.26203e+01_rb,0.25704e+01_rb /) kbo(:,43,14) = (/ & & 0.27341e+01_rb,0.27108e+01_rb,0.26767e+01_rb,0.26357e+01_rb,0.25871e+01_rb /) kbo(:,44,14) = (/ & & 0.27398e+01_rb,0.27209e+01_rb,0.26898e+01_rb,0.26513e+01_rb,0.26050e+01_rb /) kbo(:,45,14) = (/ & & 0.27435e+01_rb,0.27298e+01_rb,0.27021e+01_rb,0.26655e+01_rb,0.26220e+01_rb /) kbo(:,46,14) = (/ & & 0.27454e+01_rb,0.27371e+01_rb,0.27139e+01_rb,0.26799e+01_rb,0.26391e+01_rb /) kbo(:,47,14) = (/ & & 0.27460e+01_rb,0.27424e+01_rb,0.27253e+01_rb,0.26950e+01_rb,0.26569e+01_rb /) kbo(:,48,14) = (/ & & 0.27436e+01_rb,0.27457e+01_rb,0.27342e+01_rb,0.27088e+01_rb,0.26736e+01_rb /) kbo(:,49,14) = (/ & & 0.27370e+01_rb,0.27470e+01_rb,0.27411e+01_rb,0.27207e+01_rb,0.26888e+01_rb /) kbo(:,50,14) = (/ & & 0.27269e+01_rb,0.27459e+01_rb,0.27451e+01_rb,0.27305e+01_rb,0.27022e+01_rb /) kbo(:,51,14) = (/ & & 0.27139e+01_rb,0.27424e+01_rb,0.27470e+01_rb,0.27377e+01_rb,0.27140e+01_rb /) kbo(:,52,14) = (/ & & 0.26965e+01_rb,0.27350e+01_rb,0.27474e+01_rb,0.27429e+01_rb,0.27243e+01_rb /) kbo(:,53,14) = (/ & & 0.26758e+01_rb,0.27241e+01_rb,0.27457e+01_rb,0.27461e+01_rb,0.27331e+01_rb /) kbo(:,54,14) = (/ & & 0.26529e+01_rb,0.27108e+01_rb,0.27417e+01_rb,0.27475e+01_rb,0.27393e+01_rb /) kbo(:,55,14) = (/ & & 0.26271e+01_rb,0.26955e+01_rb,0.27349e+01_rb,0.27476e+01_rb,0.27437e+01_rb /) kbo(:,56,14) = (/ & & 0.25970e+01_rb,0.26775e+01_rb,0.27251e+01_rb,0.27462e+01_rb,0.27464e+01_rb /) kbo(:,57,14) = (/ & & 0.25617e+01_rb,0.26559e+01_rb,0.27125e+01_rb,0.27426e+01_rb,0.27477e+01_rb /) kbo(:,58,14) = (/ & & 0.25247e+01_rb,0.26320e+01_rb,0.26988e+01_rb,0.27363e+01_rb,0.27482e+01_rb /) kbo(:,59,14) = (/ & & 0.25089e+01_rb,0.26212e+01_rb,0.26923e+01_rb,0.27333e+01_rb,0.27480e+01_rb /) kbo(:,13,15) = (/ & & 0.36859e+01_rb,0.36950e+01_rb,0.36942e+01_rb,0.36830e+01_rb,0.36649e+01_rb /) kbo(:,14,15) = (/ & & 0.41563e+01_rb,0.41556e+01_rb,0.41430e+01_rb,0.41233e+01_rb,0.40913e+01_rb /) kbo(:,15,15) = (/ & & 0.46342e+01_rb,0.46206e+01_rb,0.45970e+01_rb,0.45604e+01_rb,0.45153e+01_rb /) kbo(:,16,15) = (/ & & 0.51044e+01_rb,0.50788e+01_rb,0.50384e+01_rb,0.49882e+01_rb,0.49250e+01_rb /) kbo(:,17,15) = (/ & & 0.55612e+01_rb,0.55175e+01_rb,0.54618e+01_rb,0.53932e+01_rb,0.53123e+01_rb /) kbo(:,18,15) = (/ & & 0.59883e+01_rb,0.59323e+01_rb,0.58578e+01_rb,0.57682e+01_rb,0.56700e+01_rb /) kbo(:,19,15) = (/ & & 0.63852e+01_rb,0.63106e+01_rb,0.62177e+01_rb,0.61123e+01_rb,0.59947e+01_rb /) kbo(:,20,15) = (/ & & 0.67473e+01_rb,0.66496e+01_rb,0.65407e+01_rb,0.64159e+01_rb,0.62789e+01_rb /) kbo(:,21,15) = (/ & & 0.70720e+01_rb,0.69522e+01_rb,0.68220e+01_rb,0.66792e+01_rb,0.65258e+01_rb /) kbo(:,22,15) = (/ & & 0.73512e+01_rb,0.72082e+01_rb,0.70565e+01_rb,0.68942e+01_rb,0.67258e+01_rb /) kbo(:,23,15) = (/ & & 0.75866e+01_rb,0.74239e+01_rb,0.72515e+01_rb,0.70718e+01_rb,0.68886e+01_rb /) kbo(:,24,15) = (/ & & 0.77818e+01_rb,0.75993e+01_rb,0.74076e+01_rb,0.72128e+01_rb,0.70154e+01_rb /) kbo(:,25,15) = (/ & & 0.79381e+01_rb,0.77379e+01_rb,0.75298e+01_rb,0.73205e+01_rb,0.71111e+01_rb /) kbo(:,26,15) = (/ & & 0.80556e+01_rb,0.78384e+01_rb,0.76185e+01_rb,0.73961e+01_rb,0.71755e+01_rb /) kbo(:,27,15) = (/ & & 0.81409e+01_rb,0.79095e+01_rb,0.76795e+01_rb,0.74472e+01_rb,0.72174e+01_rb /) kbo(:,28,15) = (/ & & 0.81987e+01_rb,0.79569e+01_rb,0.77176e+01_rb,0.74766e+01_rb,0.72412e+01_rb /) kbo(:,29,15) = (/ & & 0.82302e+01_rb,0.79809e+01_rb,0.77337e+01_rb,0.74875e+01_rb,0.72468e+01_rb /) kbo(:,30,15) = (/ & & 0.82419e+01_rb,0.79875e+01_rb,0.77343e+01_rb,0.74825e+01_rb,0.72390e+01_rb /) kbo(:,31,15) = (/ & & 0.82369e+01_rb,0.79780e+01_rb,0.77201e+01_rb,0.74661e+01_rb,0.72183e+01_rb /) kbo(:,32,15) = (/ & & 0.82187e+01_rb,0.79550e+01_rb,0.76944e+01_rb,0.74386e+01_rb,0.71874e+01_rb /) kbo(:,33,15) = (/ & & 0.81889e+01_rb,0.79220e+01_rb,0.76592e+01_rb,0.74026e+01_rb,0.71493e+01_rb /) kbo(:,34,15) = (/ & & 0.81602e+01_rb,0.78912e+01_rb,0.76262e+01_rb,0.73693e+01_rb,0.71134e+01_rb /) kbo(:,35,15) = (/ & & 0.81506e+01_rb,0.78799e+01_rb,0.76144e+01_rb,0.73562e+01_rb,0.70988e+01_rb /) kbo(:,36,15) = (/ & & 0.81664e+01_rb,0.78930e+01_rb,0.76263e+01_rb,0.73664e+01_rb,0.71072e+01_rb /) kbo(:,37,15) = (/ & & 0.82200e+01_rb,0.79452e+01_rb,0.76751e+01_rb,0.74132e+01_rb,0.71537e+01_rb /) kbo(:,38,15) = (/ & & 0.82730e+01_rb,0.79962e+01_rb,0.77251e+01_rb,0.74606e+01_rb,0.72002e+01_rb /) kbo(:,39,15) = (/ & & 0.83243e+01_rb,0.80459e+01_rb,0.77713e+01_rb,0.75063e+01_rb,0.72452e+01_rb /) kbo(:,40,15) = (/ & & 0.84027e+01_rb,0.81225e+01_rb,0.78456e+01_rb,0.75775e+01_rb,0.73152e+01_rb /) kbo(:,41,15) = (/ & & 0.84834e+01_rb,0.82013e+01_rb,0.79233e+01_rb,0.76507e+01_rb,0.73874e+01_rb /) kbo(:,42,15) = (/ & & 0.85638e+01_rb,0.82794e+01_rb,0.79999e+01_rb,0.77248e+01_rb,0.74594e+01_rb /) kbo(:,43,15) = (/ & & 0.86608e+01_rb,0.83728e+01_rb,0.80910e+01_rb,0.78137e+01_rb,0.75464e+01_rb /) kbo(:,44,15) = (/ & & 0.87658e+01_rb,0.84741e+01_rb,0.81903e+01_rb,0.79102e+01_rb,0.76390e+01_rb /) kbo(:,45,15) = (/ & & 0.88709e+01_rb,0.85747e+01_rb,0.82886e+01_rb,0.80079e+01_rb,0.77318e+01_rb /) kbo(:,46,15) = (/ & & 0.89828e+01_rb,0.86839e+01_rb,0.83945e+01_rb,0.81115e+01_rb,0.78321e+01_rb /) kbo(:,47,15) = (/ & & 0.91067e+01_rb,0.88066e+01_rb,0.85118e+01_rb,0.82270e+01_rb,0.79459e+01_rb /) kbo(:,48,15) = (/ & & 0.92318e+01_rb,0.89292e+01_rb,0.86312e+01_rb,0.83427e+01_rb,0.80595e+01_rb /) kbo(:,49,15) = (/ & & 0.93597e+01_rb,0.90533e+01_rb,0.87516e+01_rb,0.84602e+01_rb,0.81749e+01_rb /) kbo(:,50,15) = (/ & & 0.94828e+01_rb,0.91681e+01_rb,0.88667e+01_rb,0.85700e+01_rb,0.82833e+01_rb /) kbo(:,51,15) = (/ & & 0.96031e+01_rb,0.92821e+01_rb,0.89785e+01_rb,0.86778e+01_rb,0.83878e+01_rb /) kbo(:,52,15) = (/ & & 0.97227e+01_rb,0.93978e+01_rb,0.90892e+01_rb,0.87879e+01_rb,0.84938e+01_rb /) kbo(:,53,15) = (/ & & 0.98436e+01_rb,0.95182e+01_rb,0.92014e+01_rb,0.88988e+01_rb,0.86011e+01_rb /) kbo(:,54,15) = (/ & & 0.99573e+01_rb,0.96274e+01_rb,0.93049e+01_rb,0.90008e+01_rb,0.87001e+01_rb /) kbo(:,55,15) = (/ & & 0.10066e+02_rb,0.97327e+01_rb,0.94075e+01_rb,0.90983e+01_rb,0.87962e+01_rb /) kbo(:,56,15) = (/ & & 0.10177e+02_rb,0.98378e+01_rb,0.95127e+01_rb,0.91960e+01_rb,0.88926e+01_rb /) kbo(:,57,15) = (/ & & 0.10293e+02_rb,0.99462e+01_rb,0.96173e+01_rb,0.92949e+01_rb,0.89909e+01_rb /) kbo(:,58,15) = (/ & & 0.10405e+02_rb,0.10049e+02_rb,0.97160e+01_rb,0.93909e+01_rb,0.90821e+01_rb /) kbo(:,59,15) = (/ & & 0.10450e+02_rb,0.10090e+02_rb,0.97556e+01_rb,0.94305e+01_rb,0.91193e+01_rb /) kbo(:,13,16) = (/ & & 0.50473e+01_rb,0.50398e+01_rb,0.50183e+01_rb,0.49834e+01_rb,0.49369e+01_rb /) kbo(:,14,16) = (/ & & 0.59220e+01_rb,0.58911e+01_rb,0.58423e+01_rb,0.57748e+01_rb,0.56924e+01_rb /) kbo(:,15,16) = (/ & & 0.68737e+01_rb,0.68078e+01_rb,0.67189e+01_rb,0.66072e+01_rb,0.64839e+01_rb /) kbo(:,16,16) = (/ & & 0.78824e+01_rb,0.77694e+01_rb,0.76268e+01_rb,0.74643e+01_rb,0.72894e+01_rb /) kbo(:,17,16) = (/ & & 0.89270e+01_rb,0.87413e+01_rb,0.85370e+01_rb,0.83130e+01_rb,0.80798e+01_rb /) kbo(:,18,16) = (/ & & 0.99711e+01_rb,0.97011e+01_rb,0.94250e+01_rb,0.91345e+01_rb,0.88363e+01_rb /) kbo(:,19,16) = (/ & & 0.10989e+02_rb,0.10627e+02_rb,0.10268e+02_rb,0.99076e+01_rb,0.95430e+01_rb /) kbo(:,20,16) = (/ & & 0.11944e+02_rb,0.11487e+02_rb,0.11042e+02_rb,0.10609e+02_rb,0.10177e+02_rb /) kbo(:,21,16) = (/ & & 0.12817e+02_rb,0.12265e+02_rb,0.11737e+02_rb,0.11232e+02_rb,0.10736e+02_rb /) kbo(:,22,16) = (/ & & 0.13548e+02_rb,0.12914e+02_rb,0.12305e+02_rb,0.11734e+02_rb,0.11183e+02_rb /) kbo(:,23,16) = (/ & & 0.14162e+02_rb,0.13448e+02_rb,0.12773e+02_rb,0.12143e+02_rb,0.11545e+02_rb /) kbo(:,24,16) = (/ & & 0.14655e+02_rb,0.13870e+02_rb,0.13141e+02_rb,0.12464e+02_rb,0.11822e+02_rb /) kbo(:,25,16) = (/ & & 0.15031e+02_rb,0.14189e+02_rb,0.13415e+02_rb,0.12699e+02_rb,0.12023e+02_rb /) kbo(:,26,16) = (/ & & 0.15288e+02_rb,0.14405e+02_rb,0.13595e+02_rb,0.12850e+02_rb,0.12149e+02_rb /) kbo(:,27,16) = (/ & & 0.15452e+02_rb,0.14541e+02_rb,0.13705e+02_rb,0.12937e+02_rb,0.12216e+02_rb /) kbo(:,28,16) = (/ & & 0.15538e+02_rb,0.14608e+02_rb,0.13754e+02_rb,0.12971e+02_rb,0.12237e+02_rb /) kbo(:,29,16) = (/ & & 0.15553e+02_rb,0.14613e+02_rb,0.13748e+02_rb,0.12957e+02_rb,0.12214e+02_rb /) kbo(:,30,16) = (/ & & 0.15516e+02_rb,0.14571e+02_rb,0.13703e+02_rb,0.12907e+02_rb,0.12159e+02_rb /) kbo(:,31,16) = (/ & & 0.15433e+02_rb,0.14488e+02_rb,0.13621e+02_rb,0.12822e+02_rb,0.12076e+02_rb /) kbo(:,32,16) = (/ & & 0.15312e+02_rb,0.14373e+02_rb,0.13511e+02_rb,0.12712e+02_rb,0.11970e+02_rb /) kbo(:,33,16) = (/ & & 0.15164e+02_rb,0.14234e+02_rb,0.13378e+02_rb,0.12584e+02_rb,0.11848e+02_rb /) kbo(:,34,16) = (/ & & 0.15029e+02_rb,0.14108e+02_rb,0.13258e+02_rb,0.12470e+02_rb,0.11741e+02_rb /) kbo(:,35,16) = (/ & & 0.14974e+02_rb,0.14055e+02_rb,0.13205e+02_rb,0.12418e+02_rb,0.11691e+02_rb /) kbo(:,36,16) = (/ & & 0.15011e+02_rb,0.14086e+02_rb,0.13232e+02_rb,0.12441e+02_rb,0.11710e+02_rb /) kbo(:,37,16) = (/ & & 0.15186e+02_rb,0.14243e+02_rb,0.13376e+02_rb,0.12573e+02_rb,0.11831e+02_rb /) kbo(:,38,16) = (/ & & 0.15364e+02_rb,0.14405e+02_rb,0.13523e+02_rb,0.12708e+02_rb,0.11955e+02_rb /) kbo(:,39,16) = (/ & & 0.15541e+02_rb,0.14562e+02_rb,0.13666e+02_rb,0.12840e+02_rb,0.12075e+02_rb /) kbo(:,40,16) = (/ & & 0.15818e+02_rb,0.14814e+02_rb,0.13896e+02_rb,0.13052e+02_rb,0.12271e+02_rb /) kbo(:,41,16) = (/ & & 0.16115e+02_rb,0.15082e+02_rb,0.14138e+02_rb,0.13278e+02_rb,0.12478e+02_rb /) kbo(:,42,16) = (/ & & 0.16420e+02_rb,0.15352e+02_rb,0.14384e+02_rb,0.13504e+02_rb,0.12687e+02_rb /) kbo(:,43,16) = (/ & & 0.16793e+02_rb,0.15690e+02_rb,0.14694e+02_rb,0.13784e+02_rb,0.12952e+02_rb /) kbo(:,44,16) = (/ & & 0.17211e+02_rb,0.16062e+02_rb,0.15031e+02_rb,0.14091e+02_rb,0.13236e+02_rb /) kbo(:,45,16) = (/ & & 0.17640e+02_rb,0.16447e+02_rb,0.15376e+02_rb,0.14411e+02_rb,0.13526e+02_rb /) kbo(:,46,16) = (/ & & 0.18112e+02_rb,0.16870e+02_rb,0.15758e+02_rb,0.14754e+02_rb,0.13842e+02_rb /) kbo(:,47,16) = (/ & & 0.18658e+02_rb,0.17363e+02_rb,0.16197e+02_rb,0.15151e+02_rb,0.14204e+02_rb /) kbo(:,48,16) = (/ & & 0.19225e+02_rb,0.17876e+02_rb,0.16658e+02_rb,0.15564e+02_rb,0.14577e+02_rb /) kbo(:,49,16) = (/ & & 0.19824e+02_rb,0.18409e+02_rb,0.17136e+02_rb,0.15993e+02_rb,0.14967e+02_rb /) kbo(:,50,16) = (/ & & 0.20411e+02_rb,0.18926e+02_rb,0.17606e+02_rb,0.16414e+02_rb,0.15344e+02_rb /) kbo(:,51,16) = (/ & & 0.21005e+02_rb,0.19452e+02_rb,0.18077e+02_rb,0.16838e+02_rb,0.15725e+02_rb /) kbo(:,52,16) = (/ & & 0.21646e+02_rb,0.20001e+02_rb,0.18565e+02_rb,0.17278e+02_rb,0.16117e+02_rb /) kbo(:,53,16) = (/ & & 0.22315e+02_rb,0.20576e+02_rb,0.19072e+02_rb,0.17736e+02_rb,0.16529e+02_rb /) kbo(:,54,16) = (/ & & 0.22958e+02_rb,0.21134e+02_rb,0.19557e+02_rb,0.18172e+02_rb,0.16919e+02_rb /) kbo(:,55,16) = (/ & & 0.23603e+02_rb,0.21694e+02_rb,0.20042e+02_rb,0.18600e+02_rb,0.17305e+02_rb /) kbo(:,56,16) = (/ & & 0.24285e+02_rb,0.22278e+02_rb,0.20543e+02_rb,0.19044e+02_rb,0.17707e+02_rb /) kbo(:,57,16) = (/ & & 0.24997e+02_rb,0.22887e+02_rb,0.21074e+02_rb,0.19504e+02_rb,0.18121e+02_rb /) kbo(:,58,16) = (/ & & 0.25697e+02_rb,0.23494e+02_rb,0.21600e+02_rb,0.19961e+02_rb,0.18525e+02_rb /) kbo(:,59,16) = (/ & & 0.25984e+02_rb,0.23748e+02_rb,0.21819e+02_rb,0.20147e+02_rb,0.18689e+02_rb /) ! ----------------------------------------------------------------- forrefo(:, 1) = (/ 0.106275e-05_rb, 0.104185e-05_rb, 0.420154e-05_rb /) forrefo(:, 2) = (/ 0.154343e-05_rb, 0.653193e-05_rb, 0.174596e-04_rb /) forrefo(:, 3) = (/ 0.348917e-05_rb, 0.108420e-04_rb, 0.540849e-04_rb /) forrefo(:, 4) = (/ 0.145822e-04_rb, 0.156027e-04_rb, 0.881263e-04_rb /) forrefo(:, 5) = (/ 0.220204e-04_rb, 0.819892e-04_rb, 0.817937e-04_rb /) forrefo(:, 6) = (/ 0.447840e-04_rb, 0.121116e-03_rb, 0.932635e-04_rb /) forrefo(:, 7) = (/ 0.166516e-03_rb, 0.147640e-03_rb, 0.754029e-04_rb /) forrefo(:, 8) = (/ 0.234756e-03_rb, 0.145934e-03_rb, 0.771734e-04_rb /) forrefo(:, 9) = (/ 0.289207e-03_rb, 0.146768e-03_rb, 0.677806e-04_rb /) forrefo(:,10) = (/ 0.334959e-03_rb, 0.125513e-03_rb, 0.636648e-04_rb /) forrefo(:,11) = (/ 0.333755e-03_rb, 0.136575e-03_rb, 0.593651e-04_rb /) forrefo(:,12) = (/ 0.340042e-03_rb, 0.116259e-03_rb, 0.595192e-04_rb /) forrefo(:,13) = (/ 0.422470e-03_rb, 0.148691e-03_rb, 0.630266e-04_rb /) forrefo(:,14) = (/ 0.440655e-03_rb, 0.461917e-04_rb, 0.108222e-04_rb /) forrefo(:,15) = (/ 0.486207e-03_rb, 0.428458e-03_rb, 0.108086e-04_rb /) forrefo(:,16) = (/ 0.657463e-03_rb, 0.657446e-03_rb, 0.126190e-04_rb /) ! ----------------------------------------------------------------- ! The array SELFREFO contains the coefficient of the water vapor ! self-continuum (including the energy term). The first index ! refers to temperature in 7.2 degree increments. For instance, ! JT = 1 refers to a temperature of 245.6, JT = 2 refers to 252.8, ! etc. The second index runs over the g-channel (1 to 16). selfrefo(:, 1) = (/ & & 0.331728e-03_rb, 0.287480e-03_rb, 0.249135e-03_rb, 0.215904e-03_rb, 0.187106e-03_rb, & & 0.162149e-03_rb, 0.140520e-03_rb, 0.121777e-03_rb, 0.105534e-03_rb, 0.914573e-04_rb /) selfrefo(:, 2) = (/ & & 0.882628e-03_rb, 0.698914e-03_rb, 0.553439e-03_rb, 0.438244e-03_rb, 0.347026e-03_rb, & & 0.274795e-03_rb, 0.217598e-03_rb, 0.172306e-03_rb, 0.136442e-03_rb, 0.108042e-03_rb /) selfrefo(:, 3) = (/ & & 0.115461e-02_rb, 0.937203e-03_rb, 0.760730e-03_rb, 0.617486e-03_rb, 0.501215e-03_rb, & & 0.406837e-03_rb, 0.330231e-03_rb, 0.268049e-03_rb, 0.217576e-03_rb, 0.176607e-03_rb /) selfrefo(:, 4) = (/ & & 0.103450e-02_rb, 0.960268e-03_rb, 0.891360e-03_rb, 0.827397e-03_rb, 0.768024e-03_rb, & & 0.712911e-03_rb, 0.661754e-03_rb, 0.614267e-03_rb, 0.570188e-03_rb, 0.529272e-03_rb /) selfrefo(:, 5) = (/ & & 0.289040e-02_rb, 0.240129e-02_rb, 0.199495e-02_rb, 0.165737e-02_rb, 0.137692e-02_rb, & & 0.114392e-02_rb, 0.950351e-03_rb, 0.789535e-03_rb, 0.655933e-03_rb, 0.544938e-03_rb /) selfrefo(:, 6) = (/ & & 0.361772e-02_rb, 0.306611e-02_rb, 0.259861e-02_rb, 0.220239e-02_rb, 0.186659e-02_rb, & & 0.158198e-02_rb, 0.134077e-02_rb, 0.113634e-02_rb, 0.963078e-03_rb, 0.816234e-03_rb /) selfrefo(:, 7) = (/ & & 0.329878e-02_rb, 0.318245e-02_rb, 0.307021e-02_rb, 0.296194e-02_rb, 0.285749e-02_rb, & & 0.275671e-02_rb, 0.265950e-02_rb, 0.256571e-02_rb, 0.247522e-02_rb, 0.238793e-02_rb /) selfrefo(:, 8) = (/ & & 0.293562e-02_rb, 0.300077e-02_rb, 0.306737e-02_rb, 0.313544e-02_rb, 0.320503e-02_rb, & & 0.327615e-02_rb, 0.334886e-02_rb, 0.342318e-02_rb, 0.349915e-02_rb, 0.357680e-02_rb /) selfrefo(:, 9) = (/ & & 0.281453e-02_rb, 0.295894e-02_rb, 0.311076e-02_rb, 0.327038e-02_rb, 0.343818e-02_rb, & & 0.361459e-02_rb, 0.380006e-02_rb, 0.399504e-02_rb, 0.420002e-02_rb, 0.441553e-02_rb /) selfrefo(:,10) = (/ & & 0.239488e-02_rb, 0.262487e-02_rb, 0.287696e-02_rb, 0.315325e-02_rb, 0.345607e-02_rb, & & 0.378798e-02_rb, 0.415176e-02_rb, 0.455048e-02_rb, 0.498749e-02_rb, 0.546647e-02_rb /) selfrefo(:,11) = (/ & & 0.271001e-02_rb, 0.292235e-02_rb, 0.315134e-02_rb, 0.339826e-02_rb, 0.366453e-02_rb, & & 0.395167e-02_rb, 0.426131e-02_rb, 0.459521e-02_rb, 0.495527e-02_rb, 0.534354e-02_rb /) selfrefo(:,12) = (/ & & 0.206702e-02_rb, 0.232254e-02_rb, 0.260966e-02_rb, 0.293226e-02_rb, 0.329475e-02_rb, & & 0.370204e-02_rb, 0.415969e-02_rb, 0.467391e-02_rb, 0.525169e-02_rb, 0.590090e-02_rb /) selfrefo(:,13) = (/ & & 0.227023e-02_rb, 0.257331e-02_rb, 0.291685e-02_rb, 0.330626e-02_rb, 0.374766e-02_rb, & & 0.424799e-02_rb, 0.481511e-02_rb, 0.545794e-02_rb, 0.618660e-02_rb, 0.701253e-02_rb /) selfrefo(:,14) = (/ & & 0.851078e-03_rb, 0.111512e-02_rb, 0.146109e-02_rb, 0.191439e-02_rb, 0.250832e-02_rb, & & 0.328653e-02_rb, 0.430617e-02_rb, 0.564215e-02_rb, 0.739261e-02_rb, 0.968616e-02_rb /) selfrefo(:,15) = (/ & & 0.742711e-02_rb, 0.721347e-02_rb, 0.700598e-02_rb, 0.680446e-02_rb, 0.660873e-02_rb, & & 0.641863e-02_rb, 0.623400e-02_rb, 0.605468e-02_rb, 0.588052e-02_rb, 0.571137e-02_rb /) selfrefo(:,16) = (/ & & 0.107170e-01_rb, 0.101913e-01_rb, 0.969138e-02_rb, 0.921599e-02_rb, 0.876392e-02_rb, & & 0.833402e-02_rb, 0.792521e-02_rb, 0.753646e-02_rb, 0.716677e-02_rb, 0.681522e-02_rb /) end subroutine sw_kgb19 ! ************************************************************************** subroutine sw_kgb20 ! ************************************************************************** use parkind, only : im => kind_im, rb => kind_rb use rrsw_kg20, only : kao, kbo, selfrefo, forrefo, sfluxrefo, & absch4o, rayl, layreffr implicit none save ! Kurucz solar source function sfluxrefo(:) = (/ & & 9.34081_rb , 8.93720_rb , 8.19346_rb , 7.39196_rb , & & 6.12127_rb , 5.23956_rb , 4.24941_rb , 3.20013_rb , & & 2.16047_rb , 0.234509_rb , 0.194593_rb , 0.151512_rb , & & 0.110315_rb, 7.09959e-02_rb, 2.70573e-02_rb, 3.36042e-03_rb /) absch4o(:) = (/ & & 1.01381e-03_rb,6.33692e-03_rb,1.94185e-02_rb,4.83210e-02_rb, & & 2.36574e-03_rb,6.61973e-04_rb,5.64552e-04_rb,2.83183e-04_rb, & & 7.43623e-05_rb,8.90159e-07_rb,6.98728e-07_rb,6.51832e-08_rb, & & 2.96619e-08_rb, 0._rb, 0._rb, 0._rb /) ! Rayleigh extinction coefficient at v = 5670 cm-1. rayl = 4.12e-09_rb layreffr = 3 ! ------------------------------------------------------------------ ! The array KAO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels> ~100mb, temperatures, and binary ! species parameters (see taumol.f for definition). The first ! index in the array, JS, runs from 1 to 9, and corresponds to ! different values of the binary species parameter. For instance, ! JS=1 refers to dry air, JS = 2 corresponds to the paramter value 1/8, ! JS = 3 corresponds to the parameter value 2/8, etc. The second index ! in the array, JT, which runs from 1 to 5, corresponds to different ! temperatures. More specifically, JT = 3 means that the data are for ! the reference temperature TREF for this pressure level, JT = 2 refers ! to TREF-15, JT = 1 is for TREF-30, JT = 4 is for TREF+15, and JT = 5 ! is for TREF+30. The third index, JP, runs from 1 to 13 and refers ! to the JPth reference pressure level (see taumol.f for these levels ! in mb). The fourth index, IG, goes from 1 to 16, and indicates ! which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kao(:, 1, 1) = (/ & & 0.78383e-06_rb,0.86220e-06_rb,0.95359e-06_rb,0.10590e-05_rb,0.11782e-05_rb /) kao(:, 2, 1) = (/ & & 0.65040e-06_rb,0.72510e-06_rb,0.81318e-06_rb,0.90059e-06_rb,0.99786e-06_rb /) kao(:, 3, 1) = (/ & & 0.58072e-06_rb,0.65888e-06_rb,0.74265e-06_rb,0.81854e-06_rb,0.90645e-06_rb /) kao(:, 4, 1) = (/ & & 0.53601e-06_rb,0.60765e-06_rb,0.68088e-06_rb,0.75741e-06_rb,0.83801e-06_rb /) kao(:, 5, 1) = (/ & & 0.50142e-06_rb,0.56951e-06_rb,0.64028e-06_rb,0.71944e-06_rb,0.79813e-06_rb /) kao(:, 6, 1) = (/ & & 0.47164e-06_rb,0.54008e-06_rb,0.61040e-06_rb,0.68006e-06_rb,0.75034e-06_rb /) kao(:, 7, 1) = (/ & & 0.49337e-06_rb,0.56178e-06_rb,0.62215e-06_rb,0.69127e-06_rb,0.76060e-06_rb /) kao(:, 8, 1) = (/ & & 0.61581e-06_rb,0.70117e-06_rb,0.78942e-06_rb,0.87145e-06_rb,0.94647e-06_rb /) kao(:, 9, 1) = (/ & & 0.14154e-05_rb,0.15754e-05_rb,0.17261e-05_rb,0.18739e-05_rb,0.19774e-05_rb /) kao(:,10, 1) = (/ & & 0.34186e-05_rb,0.37012e-05_rb,0.39602e-05_rb,0.42235e-05_rb,0.44256e-05_rb /) kao(:,11, 1) = (/ & & 0.38574e-05_rb,0.42080e-05_rb,0.44701e-05_rb,0.47454e-05_rb,0.50002e-05_rb /) kao(:,12, 1) = (/ & & 0.35794e-05_rb,0.38686e-05_rb,0.41443e-05_rb,0.43939e-05_rb,0.46500e-05_rb /) kao(:,13, 1) = (/ & & 0.29586e-05_rb,0.31938e-05_rb,0.34167e-05_rb,0.36253e-05_rb,0.38250e-05_rb /) kao(:, 1, 2) = (/ & & 0.57098e-05_rb,0.64630e-05_rb,0.73117e-05_rb,0.82436e-05_rb,0.91947e-05_rb /) kao(:, 2, 2) = (/ & & 0.46384e-05_rb,0.53125e-05_rb,0.60301e-05_rb,0.68028e-05_rb,0.75824e-05_rb /) kao(:, 3, 2) = (/ & & 0.40657e-05_rb,0.46486e-05_rb,0.52459e-05_rb,0.58955e-05_rb,0.65546e-05_rb /) kao(:, 4, 2) = (/ & & 0.38895e-05_rb,0.44258e-05_rb,0.49759e-05_rb,0.55663e-05_rb,0.61702e-05_rb /) kao(:, 5, 2) = (/ & & 0.38971e-05_rb,0.44359e-05_rb,0.49933e-05_rb,0.55523e-05_rb,0.61234e-05_rb /) kao(:, 6, 2) = (/ & & 0.39532e-05_rb,0.44644e-05_rb,0.49734e-05_rb,0.54875e-05_rb,0.60102e-05_rb /) kao(:, 7, 2) = (/ & & 0.41068e-05_rb,0.45832e-05_rb,0.50698e-05_rb,0.55521e-05_rb,0.60175e-05_rb /) kao(:, 8, 2) = (/ & & 0.47922e-05_rb,0.52156e-05_rb,0.56817e-05_rb,0.61576e-05_rb,0.66313e-05_rb /) kao(:, 9, 2) = (/ & & 0.83199e-05_rb,0.88317e-05_rb,0.93688e-05_rb,0.99754e-05_rb,0.10620e-04_rb /) kao(:,10, 2) = (/ & & 0.16836e-04_rb,0.18526e-04_rb,0.19887e-04_rb,0.21168e-04_rb,0.22104e-04_rb /) kao(:,11, 2) = (/ & & 0.18882e-04_rb,0.21005e-04_rb,0.22896e-04_rb,0.24777e-04_rb,0.26115e-04_rb /) kao(:,12, 2) = (/ & & 0.17744e-04_rb,0.19780e-04_rb,0.21600e-04_rb,0.23523e-04_rb,0.25128e-04_rb /) kao(:,13, 2) = (/ & & 0.14736e-04_rb,0.16356e-04_rb,0.17955e-04_rb,0.19533e-04_rb,0.20861e-04_rb /) kao(:, 1, 3) = (/ & & 0.41776e-04_rb,0.48150e-04_rb,0.55097e-04_rb,0.62661e-04_rb,0.70920e-04_rb /) kao(:, 2, 3) = (/ & & 0.33909e-04_rb,0.39176e-04_rb,0.44622e-04_rb,0.50754e-04_rb,0.57336e-04_rb /) kao(:, 3, 3) = (/ & & 0.27438e-04_rb,0.31473e-04_rb,0.36122e-04_rb,0.41134e-04_rb,0.46456e-04_rb /) kao(:, 4, 3) = (/ & & 0.23222e-04_rb,0.26535e-04_rb,0.30141e-04_rb,0.34099e-04_rb,0.38416e-04_rb /) kao(:, 5, 3) = (/ & & 0.21114e-04_rb,0.23888e-04_rb,0.26883e-04_rb,0.30340e-04_rb,0.33785e-04_rb /) kao(:, 6, 3) = (/ & & 0.20750e-04_rb,0.22926e-04_rb,0.25536e-04_rb,0.28492e-04_rb,0.31676e-04_rb /) kao(:, 7, 3) = (/ & & 0.21584e-04_rb,0.24112e-04_rb,0.26872e-04_rb,0.29794e-04_rb,0.32940e-04_rb /) kao(:, 8, 3) = (/ & & 0.24194e-04_rb,0.26981e-04_rb,0.30137e-04_rb,0.33546e-04_rb,0.37182e-04_rb /) kao(:, 9, 3) = (/ & & 0.37461e-04_rb,0.42158e-04_rb,0.46718e-04_rb,0.51048e-04_rb,0.55154e-04_rb /) kao(:,10, 3) = (/ & & 0.72391e-04_rb,0.77164e-04_rb,0.84016e-04_rb,0.89658e-04_rb,0.95511e-04_rb /) kao(:,11, 3) = (/ & & 0.91736e-04_rb,0.99107e-04_rb,0.10463e-03_rb,0.10952e-03_rb,0.11549e-03_rb /) kao(:,12, 3) = (/ & & 0.91200e-04_rb,0.98812e-04_rb,0.10432e-03_rb,0.10893e-03_rb,0.11349e-03_rb /) kao(:,13, 3) = (/ & & 0.76217e-04_rb,0.82702e-04_rb,0.87500e-04_rb,0.91349e-04_rb,0.95349e-04_rb /) kao(:, 1, 4) = (/ & & 0.71705e-03_rb,0.82743e-03_rb,0.94700e-03_rb,0.10670e-02_rb,0.11902e-02_rb /) kao(:, 2, 4) = (/ & & 0.57909e-03_rb,0.67096e-03_rb,0.76724e-03_rb,0.86582e-03_rb,0.97167e-03_rb /) kao(:, 3, 4) = (/ & & 0.44771e-03_rb,0.51997e-03_rb,0.59861e-03_rb,0.67967e-03_rb,0.76676e-03_rb /) kao(:, 4, 4) = (/ & & 0.34085e-03_rb,0.39833e-03_rb,0.46226e-03_rb,0.52889e-03_rb,0.60008e-03_rb /) kao(:, 5, 4) = (/ & & 0.26678e-03_rb,0.31234e-03_rb,0.36341e-03_rb,0.41663e-03_rb,0.47418e-03_rb /) kao(:, 6, 4) = (/ & & 0.20903e-03_rb,0.24718e-03_rb,0.28922e-03_rb,0.33353e-03_rb,0.38176e-03_rb /) kao(:, 7, 4) = (/ & & 0.17173e-03_rb,0.20330e-03_rb,0.23711e-03_rb,0.27401e-03_rb,0.31445e-03_rb /) kao(:, 8, 4) = (/ & & 0.16722e-03_rb,0.19396e-03_rb,0.22307e-03_rb,0.25347e-03_rb,0.28561e-03_rb /) kao(:, 9, 4) = (/ & & 0.25043e-03_rb,0.28824e-03_rb,0.32547e-03_rb,0.36193e-03_rb,0.39806e-03_rb /) kao(:,10, 4) = (/ & & 0.43323e-03_rb,0.48667e-03_rb,0.53462e-03_rb,0.57879e-03_rb,0.62040e-03_rb /) kao(:,11, 4) = (/ & & 0.47719e-03_rb,0.52271e-03_rb,0.56402e-03_rb,0.60388e-03_rb,0.63520e-03_rb /) kao(:,12, 4) = (/ & & 0.45061e-03_rb,0.49014e-03_rb,0.52391e-03_rb,0.55276e-03_rb,0.57760e-03_rb /) kao(:,13, 4) = (/ & & 0.37664e-03_rb,0.40952e-03_rb,0.43690e-03_rb,0.46055e-03_rb,0.48018e-03_rb /) kao(:, 1, 5) = (/ & & 0.66466e-02_rb,0.68686e-02_rb,0.70897e-02_rb,0.73019e-02_rb,0.74914e-02_rb /) kao(:, 2, 5) = (/ & & 0.54023e-02_rb,0.56010e-02_rb,0.58008e-02_rb,0.59987e-02_rb,0.61685e-02_rb /) kao(:, 3, 5) = (/ & & 0.43218e-02_rb,0.45127e-02_rb,0.46848e-02_rb,0.48647e-02_rb,0.50267e-02_rb /) kao(:, 4, 5) = (/ & & 0.34639e-02_rb,0.36473e-02_rb,0.37951e-02_rb,0.39570e-02_rb,0.41049e-02_rb /) kao(:, 5, 5) = (/ & & 0.27745e-02_rb,0.29370e-02_rb,0.30754e-02_rb,0.32148e-02_rb,0.33492e-02_rb /) kao(:, 6, 5) = (/ & & 0.22020e-02_rb,0.23520e-02_rb,0.24836e-02_rb,0.25965e-02_rb,0.27119e-02_rb /) kao(:, 7, 5) = (/ & & 0.17624e-02_rb,0.18963e-02_rb,0.20161e-02_rb,0.21153e-02_rb,0.22116e-02_rb /) kao(:, 8, 5) = (/ & & 0.14169e-02_rb,0.15332e-02_rb,0.16350e-02_rb,0.17231e-02_rb,0.18121e-02_rb /) kao(:, 9, 5) = (/ & & 0.13030e-02_rb,0.13904e-02_rb,0.14690e-02_rb,0.15500e-02_rb,0.16275e-02_rb /) kao(:,10, 5) = (/ & & 0.17155e-02_rb,0.18169e-02_rb,0.18943e-02_rb,0.19620e-02_rb,0.20215e-02_rb /) kao(:,11, 5) = (/ & & 0.17156e-02_rb,0.17808e-02_rb,0.18419e-02_rb,0.18925e-02_rb,0.19313e-02_rb /) kao(:,12, 5) = (/ & & 0.15269e-02_rb,0.15811e-02_rb,0.16283e-02_rb,0.16686e-02_rb,0.17061e-02_rb /) kao(:,13, 5) = (/ & & 0.12768e-02_rb,0.13207e-02_rb,0.13555e-02_rb,0.13924e-02_rb,0.14234e-02_rb /) kao(:, 1, 6) = (/ & & 0.19191e-01_rb,0.19463e-01_rb,0.19692e-01_rb,0.19900e-01_rb,0.20112e-01_rb /) kao(:, 2, 6) = (/ & & 0.15967e-01_rb,0.16219e-01_rb,0.16426e-01_rb,0.16613e-01_rb,0.16805e-01_rb /) kao(:, 3, 6) = (/ & & 0.13186e-01_rb,0.13411e-01_rb,0.13614e-01_rb,0.13785e-01_rb,0.13944e-01_rb /) kao(:, 4, 6) = (/ & & 0.10935e-01_rb,0.11131e-01_rb,0.11318e-01_rb,0.11475e-01_rb,0.11620e-01_rb /) kao(:, 5, 6) = (/ & & 0.90541e-02_rb,0.92344e-02_rb,0.94035e-02_rb,0.95537e-02_rb,0.96862e-02_rb /) kao(:, 6, 6) = (/ & & 0.74724e-02_rb,0.76320e-02_rb,0.77794e-02_rb,0.79294e-02_rb,0.80528e-02_rb /) kao(:, 7, 6) = (/ & & 0.61183e-02_rb,0.62644e-02_rb,0.63961e-02_rb,0.65303e-02_rb,0.66478e-02_rb /) kao(:, 8, 6) = (/ & & 0.50638e-02_rb,0.51984e-02_rb,0.53222e-02_rb,0.54412e-02_rb,0.55465e-02_rb /) kao(:, 9, 6) = (/ & & 0.42870e-02_rb,0.44009e-02_rb,0.45109e-02_rb,0.45976e-02_rb,0.46796e-02_rb /) kao(:,10, 6) = (/ & & 0.45239e-02_rb,0.46073e-02_rb,0.46968e-02_rb,0.47979e-02_rb,0.48956e-02_rb /) kao(:,11, 6) = (/ & & 0.44089e-02_rb,0.45006e-02_rb,0.45881e-02_rb,0.46721e-02_rb,0.48015e-02_rb /) kao(:,12, 6) = (/ & & 0.39598e-02_rb,0.40290e-02_rb,0.41108e-02_rb,0.41899e-02_rb,0.42672e-02_rb /) kao(:,13, 6) = (/ & & 0.33425e-02_rb,0.34148e-02_rb,0.34808e-02_rb,0.35405e-02_rb,0.35983e-02_rb /) kao(:, 1, 7) = (/ & & 0.50165e-01_rb,0.50343e-01_rb,0.50452e-01_rb,0.50424e-01_rb,0.50329e-01_rb /) kao(:, 2, 7) = (/ & & 0.42723e-01_rb,0.42880e-01_rb,0.42939e-01_rb,0.42910e-01_rb,0.42861e-01_rb /) kao(:, 3, 7) = (/ & & 0.36117e-01_rb,0.36255e-01_rb,0.36301e-01_rb,0.36294e-01_rb,0.36288e-01_rb /) kao(:, 4, 7) = (/ & & 0.30585e-01_rb,0.30720e-01_rb,0.30787e-01_rb,0.30816e-01_rb,0.30842e-01_rb /) kao(:, 5, 7) = (/ & & 0.25879e-01_rb,0.26029e-01_rb,0.26116e-01_rb,0.26179e-01_rb,0.26225e-01_rb /) kao(:, 6, 7) = (/ & & 0.21822e-01_rb,0.21978e-01_rb,0.22094e-01_rb,0.22178e-01_rb,0.22244e-01_rb /) kao(:, 7, 7) = (/ & & 0.18304e-01_rb,0.18476e-01_rb,0.18606e-01_rb,0.18705e-01_rb,0.18780e-01_rb /) kao(:, 8, 7) = (/ & & 0.15224e-01_rb,0.15394e-01_rb,0.15519e-01_rb,0.15619e-01_rb,0.15690e-01_rb /) kao(:, 9, 7) = (/ & & 0.12835e-01_rb,0.13029e-01_rb,0.13169e-01_rb,0.13281e-01_rb,0.13369e-01_rb /) kao(:,10, 7) = (/ & & 0.11632e-01_rb,0.11714e-01_rb,0.11760e-01_rb,0.11776e-01_rb,0.11806e-01_rb /) kao(:,11, 7) = (/ & & 0.11170e-01_rb,0.11252e-01_rb,0.11288e-01_rb,0.11357e-01_rb,0.11397e-01_rb /) kao(:,12, 7) = (/ & & 0.10404e-01_rb,0.10533e-01_rb,0.10705e-01_rb,0.10833e-01_rb,0.10947e-01_rb /) kao(:,13, 7) = (/ & & 0.91041e-02_rb,0.92674e-02_rb,0.94068e-02_rb,0.95412e-02_rb,0.96769e-02_rb /) kao(:, 1, 8) = (/ & & 0.14527e+00_rb,0.14483e+00_rb,0.14432e+00_rb,0.14389e+00_rb,0.14349e+00_rb /) kao(:, 2, 8) = (/ & & 0.12739e+00_rb,0.12702e+00_rb,0.12661e+00_rb,0.12624e+00_rb,0.12584e+00_rb /) kao(:, 3, 8) = (/ & & 0.11091e+00_rb,0.11058e+00_rb,0.11024e+00_rb,0.10990e+00_rb,0.10953e+00_rb /) kao(:, 4, 8) = (/ & & 0.96590e-01_rb,0.96335e-01_rb,0.96105e-01_rb,0.95818e-01_rb,0.95530e-01_rb /) kao(:, 5, 8) = (/ & & 0.83799e-01_rb,0.83708e-01_rb,0.83572e-01_rb,0.83347e-01_rb,0.83126e-01_rb /) kao(:, 6, 8) = (/ & & 0.72369e-01_rb,0.72388e-01_rb,0.72289e-01_rb,0.72143e-01_rb,0.71981e-01_rb /) kao(:, 7, 8) = (/ & & 0.62158e-01_rb,0.62247e-01_rb,0.62185e-01_rb,0.62111e-01_rb,0.62007e-01_rb /) kao(:, 8, 8) = (/ & & 0.52998e-01_rb,0.53142e-01_rb,0.53162e-01_rb,0.53154e-01_rb,0.53101e-01_rb /) kao(:, 9, 8) = (/ & & 0.44776e-01_rb,0.44873e-01_rb,0.44920e-01_rb,0.44946e-01_rb,0.44885e-01_rb /) kao(:,10, 8) = (/ & & 0.38237e-01_rb,0.38514e-01_rb,0.38716e-01_rb,0.38877e-01_rb,0.38966e-01_rb /) kao(:,11, 8) = (/ & & 0.33511e-01_rb,0.33721e-01_rb,0.33843e-01_rb,0.33840e-01_rb,0.33839e-01_rb /) kao(:,12, 8) = (/ & & 0.29704e-01_rb,0.29825e-01_rb,0.29808e-01_rb,0.29787e-01_rb,0.29794e-01_rb /) kao(:,13, 8) = (/ & & 0.25973e-01_rb,0.26004e-01_rb,0.26032e-01_rb,0.26023e-01_rb,0.26107e-01_rb /) kao(:, 1, 9) = (/ & & 0.56699e+00_rb,0.56615e+00_rb,0.56479e+00_rb,0.56318e+00_rb,0.56135e+00_rb /) kao(:, 2, 9) = (/ & & 0.53130e+00_rb,0.53096e+00_rb,0.53038e+00_rb,0.52953e+00_rb,0.52828e+00_rb /) kao(:, 3, 9) = (/ & & 0.48947e+00_rb,0.48989e+00_rb,0.48991e+00_rb,0.48970e+00_rb,0.48916e+00_rb /) kao(:, 4, 9) = (/ & & 0.44646e+00_rb,0.44756e+00_rb,0.44841e+00_rb,0.44893e+00_rb,0.44859e+00_rb /) kao(:, 5, 9) = (/ & & 0.40428e+00_rb,0.40594e+00_rb,0.40746e+00_rb,0.40811e+00_rb,0.40825e+00_rb /) kao(:, 6, 9) = (/ & & 0.36305e+00_rb,0.36545e+00_rb,0.36730e+00_rb,0.36814e+00_rb,0.36854e+00_rb /) kao(:, 7, 9) = (/ & & 0.32383e+00_rb,0.32659e+00_rb,0.32849e+00_rb,0.32954e+00_rb,0.33028e+00_rb /) kao(:, 8, 9) = (/ & & 0.28691e+00_rb,0.28966e+00_rb,0.29156e+00_rb,0.29286e+00_rb,0.29379e+00_rb /) kao(:, 9, 9) = (/ & & 0.25109e+00_rb,0.25404e+00_rb,0.25607e+00_rb,0.25752e+00_rb,0.25870e+00_rb /) kao(:,10, 9) = (/ & & 0.21600e+00_rb,0.21860e+00_rb,0.22047e+00_rb,0.22164e+00_rb,0.22251e+00_rb /) kao(:,11, 9) = (/ & & 0.19149e+00_rb,0.19387e+00_rb,0.19567e+00_rb,0.19725e+00_rb,0.19809e+00_rb /) kao(:,12, 9) = (/ & & 0.16914e+00_rb,0.17134e+00_rb,0.17303e+00_rb,0.17407e+00_rb,0.17494e+00_rb /) kao(:,13, 9) = (/ & & 0.14841e+00_rb,0.15027e+00_rb,0.15244e+00_rb,0.15403e+00_rb,0.15523e+00_rb /) kao(:, 1,10) = (/ & & 0.14885e+01_rb,0.14756e+01_rb,0.14663e+01_rb,0.14567e+01_rb,0.14479e+01_rb /) kao(:, 2,10) = (/ & & 0.14911e+01_rb,0.14850e+01_rb,0.14762e+01_rb,0.14677e+01_rb,0.14597e+01_rb /) kao(:, 3,10) = (/ & & 0.14749e+01_rb,0.14716e+01_rb,0.14663e+01_rb,0.14579e+01_rb,0.14502e+01_rb /) kao(:, 4,10) = (/ & & 0.14314e+01_rb,0.14303e+01_rb,0.14232e+01_rb,0.14150e+01_rb,0.14115e+01_rb /) kao(:, 5,10) = (/ & & 0.13616e+01_rb,0.13604e+01_rb,0.13539e+01_rb,0.13506e+01_rb,0.13501e+01_rb /) kao(:, 6,10) = (/ & & 0.12710e+01_rb,0.12700e+01_rb,0.12670e+01_rb,0.12702e+01_rb,0.12745e+01_rb /) kao(:, 7,10) = (/ & & 0.11674e+01_rb,0.11690e+01_rb,0.11727e+01_rb,0.11812e+01_rb,0.11854e+01_rb /) kao(:, 8,10) = (/ & & 0.10584e+01_rb,0.10652e+01_rb,0.10757e+01_rb,0.10857e+01_rb,0.10906e+01_rb /) kao(:, 9,10) = (/ & & 0.95450e+00_rb,0.96414e+00_rb,0.97673e+00_rb,0.98621e+00_rb,0.99187e+00_rb /) kao(:,10,10) = (/ & & 0.83626e+00_rb,0.84690e+00_rb,0.85901e+00_rb,0.86824e+00_rb,0.87535e+00_rb /) kao(:,11,10) = (/ & & 0.73738e+00_rb,0.74729e+00_rb,0.75610e+00_rb,0.75994e+00_rb,0.76481e+00_rb /) kao(:,12,10) = (/ & & 0.66891e+00_rb,0.67622e+00_rb,0.68092e+00_rb,0.68498e+00_rb,0.68877e+00_rb /) kao(:,13,10) = (/ & & 0.58616e+00_rb,0.59614e+00_rb,0.59749e+00_rb,0.60310e+00_rb,0.60445e+00_rb /) kao(:, 1,11) = (/ & & 0.20080e+01_rb,0.19998e+01_rb,0.19844e+01_rb,0.19679e+01_rb,0.19504e+01_rb /) kao(:, 2,11) = (/ & & 0.20896e+01_rb,0.20752e+01_rb,0.20596e+01_rb,0.20445e+01_rb,0.20293e+01_rb /) kao(:, 3,11) = (/ & & 0.21262e+01_rb,0.21143e+01_rb,0.21043e+01_rb,0.20968e+01_rb,0.20862e+01_rb /) kao(:, 4,11) = (/ & & 0.21310e+01_rb,0.21263e+01_rb,0.21243e+01_rb,0.21203e+01_rb,0.21144e+01_rb /) kao(:, 5,11) = (/ & & 0.21041e+01_rb,0.21063e+01_rb,0.21071e+01_rb,0.21077e+01_rb,0.21021e+01_rb /) kao(:, 6,11) = (/ & & 0.20447e+01_rb,0.20491e+01_rb,0.20534e+01_rb,0.20532e+01_rb,0.20477e+01_rb /) kao(:, 7,11) = (/ & & 0.19487e+01_rb,0.19563e+01_rb,0.19608e+01_rb,0.19593e+01_rb,0.19591e+01_rb /) kao(:, 8,11) = (/ & & 0.18239e+01_rb,0.18317e+01_rb,0.18359e+01_rb,0.18391e+01_rb,0.18451e+01_rb /) kao(:, 9,11) = (/ & & 0.16772e+01_rb,0.16879e+01_rb,0.16955e+01_rb,0.17047e+01_rb,0.17179e+01_rb /) kao(:,10,11) = (/ & & 0.15007e+01_rb,0.15184e+01_rb,0.15343e+01_rb,0.15540e+01_rb,0.15756e+01_rb /) kao(:,11,11) = (/ & & 0.13041e+01_rb,0.13245e+01_rb,0.13445e+01_rb,0.13685e+01_rb,0.13888e+01_rb /) kao(:,12,11) = (/ & & 0.11590e+01_rb,0.11749e+01_rb,0.11906e+01_rb,0.12046e+01_rb,0.12212e+01_rb /) kao(:,13,11) = (/ & & 0.10681e+01_rb,0.10905e+01_rb,0.11017e+01_rb,0.10997e+01_rb,0.11116e+01_rb /) kao(:, 1,12) = (/ & & 0.26762e+01_rb,0.26701e+01_rb,0.26710e+01_rb,0.26742e+01_rb,0.26733e+01_rb /) kao(:, 2,12) = (/ & & 0.28804e+01_rb,0.28775e+01_rb,0.28798e+01_rb,0.28773e+01_rb,0.28700e+01_rb /) kao(:, 3,12) = (/ & & 0.30825e+01_rb,0.30790e+01_rb,0.30757e+01_rb,0.30631e+01_rb,0.30471e+01_rb /) kao(:, 4,12) = (/ & & 0.32355e+01_rb,0.32278e+01_rb,0.32144e+01_rb,0.31959e+01_rb,0.31753e+01_rb /) kao(:, 5,12) = (/ & & 0.33271e+01_rb,0.33191e+01_rb,0.33073e+01_rb,0.32879e+01_rb,0.32714e+01_rb /) kao(:, 6,12) = (/ & & 0.33604e+01_rb,0.33571e+01_rb,0.33478e+01_rb,0.33355e+01_rb,0.33272e+01_rb /) kao(:, 7,12) = (/ & & 0.33406e+01_rb,0.33436e+01_rb,0.33436e+01_rb,0.33435e+01_rb,0.33409e+01_rb /) kao(:, 8,12) = (/ & & 0.32648e+01_rb,0.32808e+01_rb,0.32919e+01_rb,0.32976e+01_rb,0.32999e+01_rb /) kao(:, 9,12) = (/ & & 0.31373e+01_rb,0.31630e+01_rb,0.31816e+01_rb,0.31936e+01_rb,0.31991e+01_rb /) kao(:,10,12) = (/ & & 0.29678e+01_rb,0.29982e+01_rb,0.30244e+01_rb,0.30412e+01_rb,0.30500e+01_rb /) kao(:,11,12) = (/ & & 0.27380e+01_rb,0.27731e+01_rb,0.28013e+01_rb,0.28227e+01_rb,0.28455e+01_rb /) kao(:,12,12) = (/ & & 0.24616e+01_rb,0.24905e+01_rb,0.25348e+01_rb,0.25805e+01_rb,0.26155e+01_rb /) kao(:,13,12) = (/ & & 0.22251e+01_rb,0.22562e+01_rb,0.22966e+01_rb,0.23312e+01_rb,0.23811e+01_rb /) kao(:, 1,13) = (/ & & 0.38031e+01_rb,0.37992e+01_rb,0.37926e+01_rb,0.37822e+01_rb,0.37755e+01_rb /) kao(:, 2,13) = (/ & & 0.41542e+01_rb,0.41473e+01_rb,0.41391e+01_rb,0.41329e+01_rb,0.41296e+01_rb /) kao(:, 3,13) = (/ & & 0.44998e+01_rb,0.44963e+01_rb,0.44896e+01_rb,0.44914e+01_rb,0.44937e+01_rb /) kao(:, 4,13) = (/ & & 0.48464e+01_rb,0.48445e+01_rb,0.48485e+01_rb,0.48565e+01_rb,0.48598e+01_rb /) kao(:, 5,13) = (/ & & 0.52074e+01_rb,0.52112e+01_rb,0.52168e+01_rb,0.52231e+01_rb,0.52210e+01_rb /) kao(:, 6,13) = (/ & & 0.55492e+01_rb,0.55575e+01_rb,0.55655e+01_rb,0.55693e+01_rb,0.55642e+01_rb /) kao(:, 7,13) = (/ & & 0.58380e+01_rb,0.58479e+01_rb,0.58509e+01_rb,0.58482e+01_rb,0.58453e+01_rb /) kao(:, 8,13) = (/ & & 0.60377e+01_rb,0.60538e+01_rb,0.60594e+01_rb,0.60647e+01_rb,0.60640e+01_rb /) kao(:, 9,13) = (/ & & 0.61268e+01_rb,0.61532e+01_rb,0.61730e+01_rb,0.61888e+01_rb,0.61993e+01_rb /) kao(:,10,13) = (/ & & 0.61216e+01_rb,0.61612e+01_rb,0.61936e+01_rb,0.62230e+01_rb,0.62454e+01_rb /) kao(:,11,13) = (/ & & 0.60409e+01_rb,0.60960e+01_rb,0.61462e+01_rb,0.61882e+01_rb,0.62219e+01_rb /) kao(:,12,13) = (/ & & 0.58645e+01_rb,0.59597e+01_rb,0.60234e+01_rb,0.60826e+01_rb,0.61390e+01_rb /) kao(:,13,13) = (/ & & 0.56001e+01_rb,0.57009e+01_rb,0.58017e+01_rb,0.59181e+01_rb,0.59860e+01_rb /) kao(:, 1,14) = (/ & & 0.53647e+01_rb,0.53127e+01_rb,0.52736e+01_rb,0.52471e+01_rb,0.52264e+01_rb /) kao(:, 2,14) = (/ & & 0.62359e+01_rb,0.61753e+01_rb,0.61253e+01_rb,0.60847e+01_rb,0.60573e+01_rb /) kao(:, 3,14) = (/ & & 0.72065e+01_rb,0.71249e+01_rb,0.70556e+01_rb,0.69965e+01_rb,0.69559e+01_rb /) kao(:, 4,14) = (/ & & 0.81631e+01_rb,0.80714e+01_rb,0.79828e+01_rb,0.79081e+01_rb,0.78545e+01_rb /) kao(:, 5,14) = (/ & & 0.90691e+01_rb,0.89602e+01_rb,0.88621e+01_rb,0.87858e+01_rb,0.87314e+01_rb /) kao(:, 6,14) = (/ & & 0.99707e+01_rb,0.98474e+01_rb,0.97395e+01_rb,0.96541e+01_rb,0.95904e+01_rb /) kao(:, 7,14) = (/ & & 0.10852e+02_rb,0.10724e+02_rb,0.10620e+02_rb,0.10536e+02_rb,0.10469e+02_rb /) kao(:, 8,14) = (/ & & 0.11716e+02_rb,0.11588e+02_rb,0.11487e+02_rb,0.11403e+02_rb,0.11337e+02_rb /) kao(:, 9,14) = (/ & & 0.12572e+02_rb,0.12448e+02_rb,0.12341e+02_rb,0.12260e+02_rb,0.12188e+02_rb /) kao(:,10,14) = (/ & & 0.13374e+02_rb,0.13256e+02_rb,0.13159e+02_rb,0.13080e+02_rb,0.13010e+02_rb /) kao(:,11,14) = (/ & & 0.14046e+02_rb,0.13957e+02_rb,0.13888e+02_rb,0.13824e+02_rb,0.13769e+02_rb /) kao(:,12,14) = (/ & & 0.14644e+02_rb,0.14592e+02_rb,0.14548e+02_rb,0.14504e+02_rb,0.14461e+02_rb /) kao(:,13,14) = (/ & & 0.15144e+02_rb,0.15129e+02_rb,0.15111e+02_rb,0.15095e+02_rb,0.15074e+02_rb /) kao(:, 1,15) = (/ & & 0.72019e+01_rb,0.71097e+01_rb,0.70236e+01_rb,0.69449e+01_rb,0.68844e+01_rb /) kao(:, 2,15) = (/ & & 0.87604e+01_rb,0.86468e+01_rb,0.85349e+01_rb,0.84375e+01_rb,0.83491e+01_rb /) kao(:, 3,15) = (/ & & 0.10615e+02_rb,0.10469e+02_rb,0.10333e+02_rb,0.10214e+02_rb,0.10099e+02_rb /) kao(:, 4,15) = (/ & & 0.12669e+02_rb,0.12473e+02_rb,0.12305e+02_rb,0.12161e+02_rb,0.12026e+02_rb /) kao(:, 5,15) = (/ & & 0.14978e+02_rb,0.14741e+02_rb,0.14530e+02_rb,0.14329e+02_rb,0.14143e+02_rb /) kao(:, 6,15) = (/ & & 0.17562e+02_rb,0.17282e+02_rb,0.17031e+02_rb,0.16791e+02_rb,0.16552e+02_rb /) kao(:, 7,15) = (/ & & 0.20480e+02_rb,0.20136e+02_rb,0.19827e+02_rb,0.19524e+02_rb,0.19223e+02_rb /) kao(:, 8,15) = (/ & & 0.23734e+02_rb,0.23307e+02_rb,0.22908e+02_rb,0.22521e+02_rb,0.22160e+02_rb /) kao(:, 9,15) = (/ & & 0.27249e+02_rb,0.26733e+02_rb,0.26255e+02_rb,0.25787e+02_rb,0.25354e+02_rb /) kao(:,10,15) = (/ & & 0.30889e+02_rb,0.30311e+02_rb,0.29740e+02_rb,0.29192e+02_rb,0.28690e+02_rb /) kao(:,11,15) = (/ & & 0.34366e+02_rb,0.33687e+02_rb,0.33035e+02_rb,0.32430e+02_rb,0.31843e+02_rb /) kao(:,12,15) = (/ & & 0.37839e+02_rb,0.37085e+02_rb,0.36360e+02_rb,0.35655e+02_rb,0.34957e+02_rb /) kao(:,13,15) = (/ & & 0.41323e+02_rb,0.40503e+02_rb,0.39673e+02_rb,0.38847e+02_rb,0.38049e+02_rb /) kao(:, 1,16) = (/ & & 0.82631e+01_rb,0.81761e+01_rb,0.80809e+01_rb,0.79778e+01_rb,0.79010e+01_rb /) kao(:, 2,16) = (/ & & 0.10258e+02_rb,0.10128e+02_rb,0.10005e+02_rb,0.98803e+01_rb,0.97700e+01_rb /) kao(:, 3,16) = (/ & & 0.12786e+02_rb,0.12614e+02_rb,0.12441e+02_rb,0.12267e+02_rb,0.12120e+02_rb /) kao(:, 4,16) = (/ & & 0.15843e+02_rb,0.15549e+02_rb,0.15326e+02_rb,0.15095e+02_rb,0.14871e+02_rb /) kao(:, 5,16) = (/ & & 0.19543e+02_rb,0.19089e+02_rb,0.18733e+02_rb,0.18430e+02_rb,0.18134e+02_rb /) kao(:, 6,16) = (/ & & 0.24038e+02_rb,0.23415e+02_rb,0.22893e+02_rb,0.22427e+02_rb,0.22005e+02_rb /) kao(:, 7,16) = (/ & & 0.29445e+02_rb,0.28630e+02_rb,0.27921e+02_rb,0.27268e+02_rb,0.26654e+02_rb /) kao(:, 8,16) = (/ & & 0.35889e+02_rb,0.34849e+02_rb,0.33913e+02_rb,0.33036e+02_rb,0.32194e+02_rb /) kao(:, 9,16) = (/ & & 0.43512e+02_rb,0.42175e+02_rb,0.40956e+02_rb,0.39809e+02_rb,0.38685e+02_rb /) kao(:,10,16) = (/ & & 0.52253e+02_rb,0.50582e+02_rb,0.49011e+02_rb,0.47508e+02_rb,0.46037e+02_rb /) kao(:,11,16) = (/ & & 0.61290e+02_rb,0.59240e+02_rb,0.57269e+02_rb,0.55343e+02_rb,0.53572e+02_rb /) kao(:,12,16) = (/ & & 0.71193e+02_rb,0.68607e+02_rb,0.66135e+02_rb,0.63828e+02_rb,0.61720e+02_rb /) kao(:,13,16) = (/ & & 0.81988e+02_rb,0.78665e+02_rb,0.75707e+02_rb,0.72932e+02_rb,0.70347e+02_rb /) ! ----------------------------------------------------------------- ! The array KBO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels < ~100mb and temperatures. The first ! index in the array, JT, which runs from 1 to 5, corresponds to ! different temperatures. More specifically, JT = 3 means that the ! data are for the reference temperature TREF for this pressure ! level, JT = 2 refers to the temperature TREF-15, JT = 1 is for ! TREF-30, JT = 4 is for TREF+15, and JT = 5 is for TREF+30. ! The second index, JP, runs from 13 to 59 and refers to the JPth ! reference pressure level (see taumol.f for the value of these ! pressure levels in mb). The third index, IG, goes from 1 to 16, ! and tells us which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kbo(:,13, 1) = (/ & & 0.29597e-05_rb,0.31929e-05_rb,0.34159e-05_rb,0.36256e-05_rb,0.38264e-05_rb /) kbo(:,14, 1) = (/ & & 0.24233e-05_rb,0.26151e-05_rb,0.27866e-05_rb,0.29502e-05_rb,0.31170e-05_rb /) kbo(:,15, 1) = (/ & & 0.19206e-05_rb,0.20789e-05_rb,0.22099e-05_rb,0.23383e-05_rb,0.24505e-05_rb /) kbo(:,16, 1) = (/ & & 0.14933e-05_rb,0.16071e-05_rb,0.17039e-05_rb,0.17994e-05_rb,0.18816e-05_rb /) kbo(:,17, 1) = (/ & & 0.11429e-05_rb,0.12144e-05_rb,0.12895e-05_rb,0.13503e-05_rb,0.14174e-05_rb /) kbo(:,18, 1) = (/ & & 0.84134e-06_rb,0.89264e-06_rb,0.94260e-06_rb,0.99003e-06_rb,0.10391e-05_rb /) kbo(:,19, 1) = (/ & & 0.60683e-06_rb,0.64142e-06_rb,0.68018e-06_rb,0.72042e-06_rb,0.75479e-06_rb /) kbo(:,20, 1) = (/ & & 0.45809e-06_rb,0.48813e-06_rb,0.51934e-06_rb,0.54823e-06_rb,0.57261e-06_rb /) kbo(:,21, 1) = (/ & & 0.35219e-06_rb,0.37835e-06_rb,0.40322e-06_rb,0.42772e-06_rb,0.44736e-06_rb /) kbo(:,22, 1) = (/ & & 0.27419e-06_rb,0.29542e-06_rb,0.31617e-06_rb,0.33398e-06_rb,0.34932e-06_rb /) kbo(:,23, 1) = (/ & & 0.21385e-06_rb,0.23127e-06_rb,0.24670e-06_rb,0.25951e-06_rb,0.26952e-06_rb /) kbo(:,24, 1) = (/ & & 0.16767e-06_rb,0.18179e-06_rb,0.19282e-06_rb,0.20136e-06_rb,0.21113e-06_rb /) kbo(:,25, 1) = (/ & & 0.13361e-06_rb,0.14301e-06_rb,0.14980e-06_rb,0.15778e-06_rb,0.16615e-06_rb /) kbo(:,26, 1) = (/ & & 0.10615e-06_rb,0.11218e-06_rb,0.11889e-06_rb,0.12574e-06_rb,0.13111e-06_rb /) kbo(:,27, 1) = (/ & & 0.83660e-07_rb,0.89296e-07_rb,0.95019e-07_rb,0.10007e-06_rb,0.10397e-06_rb /) kbo(:,28, 1) = (/ & & 0.66667e-07_rb,0.71217e-07_rb,0.75615e-07_rb,0.79237e-07_rb,0.82239e-07_rb /) kbo(:,29, 1) = (/ & & 0.52776e-07_rb,0.56086e-07_rb,0.59828e-07_rb,0.62513e-07_rb,0.64218e-07_rb /) kbo(:,30, 1) = (/ & & 0.41429e-07_rb,0.44370e-07_rb,0.46731e-07_rb,0.48553e-07_rb,0.50143e-07_rb /) kbo(:,31, 1) = (/ & & 0.32437e-07_rb,0.34523e-07_rb,0.36208e-07_rb,0.37500e-07_rb,0.38571e-07_rb /) kbo(:,32, 1) = (/ & & 0.25237e-07_rb,0.26730e-07_rb,0.27868e-07_rb,0.28829e-07_rb,0.29943e-07_rb /) kbo(:,33, 1) = (/ & & 0.19545e-07_rb,0.20614e-07_rb,0.21467e-07_rb,0.22280e-07_rb,0.23141e-07_rb /) kbo(:,34, 1) = (/ & & 0.15146e-07_rb,0.15869e-07_rb,0.16509e-07_rb,0.17179e-07_rb,0.17980e-07_rb /) kbo(:,35, 1) = (/ & & 0.11482e-07_rb,0.12039e-07_rb,0.12547e-07_rb,0.13255e-07_rb,0.13874e-07_rb /) kbo(:,36, 1) = (/ & & 0.86172e-08_rb,0.90023e-08_rb,0.95607e-08_rb,0.10106e-07_rb,0.10595e-07_rb /) kbo(:,37, 1) = (/ & & 0.67411e-08_rb,0.70781e-08_rb,0.75553e-08_rb,0.79739e-08_rb,0.84011e-08_rb /) kbo(:,38, 1) = (/ & & 0.52604e-08_rb,0.55743e-08_rb,0.59410e-08_rb,0.63031e-08_rb,0.66516e-08_rb /) kbo(:,39, 1) = (/ & & 0.41129e-08_rb,0.43854e-08_rb,0.46851e-08_rb,0.49771e-08_rb,0.52463e-08_rb /) kbo(:,40, 1) = (/ & & 0.33089e-08_rb,0.35289e-08_rb,0.37702e-08_rb,0.40125e-08_rb,0.42415e-08_rb /) kbo(:,41, 1) = (/ & & 0.26794e-08_rb,0.28488e-08_rb,0.30428e-08_rb,0.32437e-08_rb,0.34420e-08_rb /) kbo(:,42, 1) = (/ & & 0.21670e-08_rb,0.23030e-08_rb,0.24589e-08_rb,0.26252e-08_rb,0.27867e-08_rb /) kbo(:,43, 1) = (/ & & 0.17699e-08_rb,0.18853e-08_rb,0.20001e-08_rb,0.21330e-08_rb,0.22657e-08_rb /) kbo(:,44, 1) = (/ & & 0.14446e-08_rb,0.15471e-08_rb,0.16397e-08_rb,0.17423e-08_rb,0.18526e-08_rb /) kbo(:,45, 1) = (/ & & 0.11734e-08_rb,0.12754e-08_rb,0.13542e-08_rb,0.14242e-08_rb,0.15193e-08_rb /) kbo(:,46, 1) = (/ & & 0.95743e-09_rb,0.10470e-08_rb,0.11183e-08_rb,0.11726e-08_rb,0.12389e-08_rb /) kbo(:,47, 1) = (/ & & 0.77345e-09_rb,0.85197e-09_rb,0.92184e-09_rb,0.97368e-09_rb,0.10149e-08_rb /) kbo(:,48, 1) = (/ & & 0.62500e-09_rb,0.69288e-09_rb,0.75548e-09_rb,0.80446e-09_rb,0.84428e-09_rb /) kbo(:,49, 1) = (/ & & 0.50095e-09_rb,0.55967e-09_rb,0.61904e-09_rb,0.66441e-09_rb,0.70339e-09_rb /) kbo(:,50, 1) = (/ & & 0.40806e-09_rb,0.45712e-09_rb,0.50530e-09_rb,0.54974e-09_rb,0.58246e-09_rb /) kbo(:,51, 1) = (/ & & 0.33102e-09_rb,0.37130e-09_rb,0.41121e-09_rb,0.45024e-09_rb,0.48436e-09_rb /) kbo(:,52, 1) = (/ & & 0.26906e-09_rb,0.30739e-09_rb,0.33845e-09_rb,0.36884e-09_rb,0.40024e-09_rb /) kbo(:,53, 1) = (/ & & 0.22202e-09_rb,0.25108e-09_rb,0.27937e-09_rb,0.30592e-09_rb,0.33012e-09_rb /) kbo(:,54, 1) = (/ & & 0.18662e-09_rb,0.20761e-09_rb,0.23072e-09_rb,0.25342e-09_rb,0.27445e-09_rb /) kbo(:,55, 1) = (/ & & 0.15741e-09_rb,0.17147e-09_rb,0.19146e-09_rb,0.21029e-09_rb,0.22857e-09_rb /) kbo(:,56, 1) = (/ & & 0.13151e-09_rb,0.14637e-09_rb,0.15977e-09_rb,0.17547e-09_rb,0.18974e-09_rb /) kbo(:,57, 1) = (/ & & 0.10874e-09_rb,0.12447e-09_rb,0.13634e-09_rb,0.14752e-09_rb,0.16022e-09_rb /) kbo(:,58, 1) = (/ & & 0.90206e-10_rb,0.10484e-09_rb,0.11617e-09_rb,0.12545e-09_rb,0.13474e-09_rb /) kbo(:,59, 1) = (/ & & 0.76759e-10_rb,0.88866e-10_rb,0.99340e-10_rb,0.10706e-09_rb,0.11444e-09_rb /) kbo(:,13, 2) = (/ & & 0.14727e-04_rb,0.16357e-04_rb,0.17961e-04_rb,0.19530e-04_rb,0.20852e-04_rb /) kbo(:,14, 2) = (/ & & 0.12148e-04_rb,0.13478e-04_rb,0.14818e-04_rb,0.16049e-04_rb,0.17100e-04_rb /) kbo(:,15, 2) = (/ & & 0.96902e-05_rb,0.10787e-04_rb,0.11835e-04_rb,0.12770e-04_rb,0.13515e-04_rb /) kbo(:,16, 2) = (/ & & 0.76235e-05_rb,0.84575e-05_rb,0.92217e-05_rb,0.98526e-05_rb,0.10449e-04_rb /) kbo(:,17, 2) = (/ & & 0.58049e-05_rb,0.64239e-05_rb,0.69733e-05_rb,0.74131e-05_rb,0.78082e-05_rb /) kbo(:,18, 2) = (/ & & 0.43204e-05_rb,0.47510e-05_rb,0.51165e-05_rb,0.54579e-05_rb,0.57434e-05_rb /) kbo(:,19, 2) = (/ & & 0.32211e-05_rb,0.35327e-05_rb,0.38175e-05_rb,0.40535e-05_rb,0.42245e-05_rb /) kbo(:,20, 2) = (/ & & 0.25265e-05_rb,0.27652e-05_rb,0.29644e-05_rb,0.31331e-05_rb,0.32730e-05_rb /) kbo(:,21, 2) = (/ & & 0.19921e-05_rb,0.21749e-05_rb,0.23343e-05_rb,0.24377e-05_rb,0.25458e-05_rb /) kbo(:,22, 2) = (/ & & 0.15859e-05_rb,0.17259e-05_rb,0.18236e-05_rb,0.19124e-05_rb,0.19942e-05_rb /) kbo(:,23, 2) = (/ & & 0.12591e-05_rb,0.13565e-05_rb,0.14309e-05_rb,0.15032e-05_rb,0.15642e-05_rb /) kbo(:,24, 2) = (/ & & 0.10012e-05_rb,0.10701e-05_rb,0.11246e-05_rb,0.11819e-05_rb,0.12279e-05_rb /) kbo(:,25, 2) = (/ & & 0.78985e-06_rb,0.84074e-06_rb,0.89029e-06_rb,0.93145e-06_rb,0.97085e-06_rb /) kbo(:,26, 2) = (/ & & 0.62996e-06_rb,0.66847e-06_rb,0.70637e-06_rb,0.73513e-06_rb,0.77135e-06_rb /) kbo(:,27, 2) = (/ & & 0.50283e-06_rb,0.53111e-06_rb,0.55653e-06_rb,0.58306e-06_rb,0.61799e-06_rb /) kbo(:,28, 2) = (/ & & 0.39962e-06_rb,0.42320e-06_rb,0.44265e-06_rb,0.46715e-06_rb,0.49516e-06_rb /) kbo(:,29, 2) = (/ & & 0.31810e-06_rb,0.33597e-06_rb,0.35191e-06_rb,0.37448e-06_rb,0.39768e-06_rb /) kbo(:,30, 2) = (/ & & 0.25242e-06_rb,0.26447e-06_rb,0.28109e-06_rb,0.30089e-06_rb,0.31543e-06_rb /) kbo(:,31, 2) = (/ & & 0.19837e-06_rb,0.20954e-06_rb,0.22442e-06_rb,0.23762e-06_rb,0.25183e-06_rb /) kbo(:,32, 2) = (/ & & 0.15599e-06_rb,0.16701e-06_rb,0.17789e-06_rb,0.18880e-06_rb,0.20030e-06_rb /) kbo(:,33, 2) = (/ & & 0.12307e-06_rb,0.13211e-06_rb,0.14046e-06_rb,0.15111e-06_rb,0.15988e-06_rb /) kbo(:,34, 2) = (/ & & 0.98429e-07_rb,0.10498e-06_rb,0.11326e-06_rb,0.12074e-06_rb,0.12779e-06_rb /) kbo(:,35, 2) = (/ & & 0.77743e-07_rb,0.83951e-07_rb,0.90473e-07_rb,0.96277e-07_rb,0.10204e-06_rb /) kbo(:,36, 2) = (/ & & 0.61220e-07_rb,0.66399e-07_rb,0.71102e-07_rb,0.75946e-07_rb,0.80803e-07_rb /) kbo(:,37, 2) = (/ & & 0.48819e-07_rb,0.52962e-07_rb,0.56669e-07_rb,0.60817e-07_rb,0.64709e-07_rb /) kbo(:,38, 2) = (/ & & 0.38871e-07_rb,0.42226e-07_rb,0.45376e-07_rb,0.48641e-07_rb,0.51855e-07_rb /) kbo(:,39, 2) = (/ & & 0.30869e-07_rb,0.33485e-07_rb,0.36233e-07_rb,0.38868e-07_rb,0.41523e-07_rb /) kbo(:,40, 2) = (/ & & 0.24798e-07_rb,0.26983e-07_rb,0.29180e-07_rb,0.31437e-07_rb,0.33600e-07_rb /) kbo(:,41, 2) = (/ & & 0.19951e-07_rb,0.21784e-07_rb,0.23518e-07_rb,0.25460e-07_rb,0.27219e-07_rb /) kbo(:,42, 2) = (/ & & 0.16098e-07_rb,0.17542e-07_rb,0.18979e-07_rb,0.20547e-07_rb,0.22016e-07_rb /) kbo(:,43, 2) = (/ & & 0.13020e-07_rb,0.14144e-07_rb,0.15414e-07_rb,0.16610e-07_rb,0.17870e-07_rb /) kbo(:,44, 2) = (/ & & 0.10548e-07_rb,0.11500e-07_rb,0.12492e-07_rb,0.13520e-07_rb,0.14524e-07_rb /) kbo(:,45, 2) = (/ & & 0.85602e-08_rb,0.93245e-08_rb,0.10096e-07_rb,0.10978e-07_rb,0.11819e-07_rb /) kbo(:,46, 2) = (/ & & 0.69149e-08_rb,0.75653e-08_rb,0.82154e-08_rb,0.88822e-08_rb,0.96002e-08_rb /) kbo(:,47, 2) = (/ & & 0.55708e-08_rb,0.61164e-08_rb,0.66678e-08_rb,0.71922e-08_rb,0.77633e-08_rb /) kbo(:,48, 2) = (/ & & 0.44804e-08_rb,0.49312e-08_rb,0.53967e-08_rb,0.58662e-08_rb,0.62780e-08_rb /) kbo(:,49, 2) = (/ & & 0.36467e-08_rb,0.39866e-08_rb,0.43628e-08_rb,0.47589e-08_rb,0.51208e-08_rb /) kbo(:,50, 2) = (/ & & 0.29524e-08_rb,0.32540e-08_rb,0.35471e-08_rb,0.38638e-08_rb,0.41887e-08_rb /) kbo(:,51, 2) = (/ & & 0.23887e-08_rb,0.26526e-08_rb,0.28959e-08_rb,0.31504e-08_rb,0.34112e-08_rb /) kbo(:,52, 2) = (/ & & 0.19321e-08_rb,0.21648e-08_rb,0.23625e-08_rb,0.25839e-08_rb,0.28173e-08_rb /) kbo(:,53, 2) = (/ & & 0.15684e-08_rb,0.17725e-08_rb,0.19476e-08_rb,0.21240e-08_rb,0.23118e-08_rb /) kbo(:,54, 2) = (/ & & 0.12799e-08_rb,0.14467e-08_rb,0.16073e-08_rb,0.17494e-08_rb,0.19160e-08_rb /) kbo(:,55, 2) = (/ & & 0.10442e-08_rb,0.11911e-08_rb,0.13216e-08_rb,0.14537e-08_rb,0.15771e-08_rb /) kbo(:,56, 2) = (/ & & 0.85741e-09_rb,0.97937e-09_rb,0.10936e-08_rb,0.12056e-08_rb,0.13167e-08_rb /) kbo(:,57, 2) = (/ & & 0.70358e-09_rb,0.80334e-09_rb,0.90824e-09_rb,0.10056e-08_rb,0.11010e-08_rb /) kbo(:,58, 2) = (/ & & 0.57428e-09_rb,0.66441e-09_rb,0.75420e-09_rb,0.83627e-09_rb,0.92485e-09_rb /) kbo(:,59, 2) = (/ & & 0.47922e-09_rb,0.55592e-09_rb,0.63499e-09_rb,0.70731e-09_rb,0.78678e-09_rb /) kbo(:,13, 3) = (/ & & 0.76201e-04_rb,0.82699e-04_rb,0.87499e-04_rb,0.91352e-04_rb,0.95348e-04_rb /) kbo(:,14, 3) = (/ & & 0.62821e-04_rb,0.67861e-04_rb,0.71868e-04_rb,0.75108e-04_rb,0.78557e-04_rb /) kbo(:,15, 3) = (/ & & 0.49775e-04_rb,0.53367e-04_rb,0.56639e-04_rb,0.59001e-04_rb,0.62303e-04_rb /) kbo(:,16, 3) = (/ & & 0.38005e-04_rb,0.40883e-04_rb,0.43269e-04_rb,0.45403e-04_rb,0.48139e-04_rb /) kbo(:,17, 3) = (/ & & 0.28550e-04_rb,0.30750e-04_rb,0.32331e-04_rb,0.34489e-04_rb,0.36687e-04_rb /) kbo(:,18, 3) = (/ & & 0.20976e-04_rb,0.22322e-04_rb,0.23743e-04_rb,0.25554e-04_rb,0.27223e-04_rb /) kbo(:,19, 3) = (/ & & 0.15389e-04_rb,0.16422e-04_rb,0.17792e-04_rb,0.19127e-04_rb,0.20295e-04_rb /) kbo(:,20, 3) = (/ & & 0.11883e-04_rb,0.12816e-04_rb,0.13962e-04_rb,0.14872e-04_rb,0.15725e-04_rb /) kbo(:,21, 3) = (/ & & 0.92948e-05_rb,0.10187e-04_rb,0.10986e-04_rb,0.11713e-04_rb,0.12426e-04_rb /) kbo(:,22, 3) = (/ & & 0.73969e-05_rb,0.80840e-05_rb,0.87263e-05_rb,0.93856e-05_rb,0.99533e-05_rb /) kbo(:,23, 3) = (/ & & 0.58961e-05_rb,0.64591e-05_rb,0.69648e-05_rb,0.74494e-05_rb,0.79385e-05_rb /) kbo(:,24, 3) = (/ & & 0.47445e-05_rb,0.51742e-05_rb,0.56036e-05_rb,0.59758e-05_rb,0.63724e-05_rb /) kbo(:,25, 3) = (/ & & 0.38442e-05_rb,0.41791e-05_rb,0.44837e-05_rb,0.48078e-05_rb,0.51294e-05_rb /) kbo(:,26, 3) = (/ & & 0.31335e-05_rb,0.33923e-05_rb,0.36400e-05_rb,0.38961e-05_rb,0.41487e-05_rb /) kbo(:,27, 3) = (/ & & 0.25499e-05_rb,0.27432e-05_rb,0.29560e-05_rb,0.31545e-05_rb,0.33433e-05_rb /) kbo(:,28, 3) = (/ & & 0.20635e-05_rb,0.22231e-05_rb,0.23897e-05_rb,0.25516e-05_rb,0.26938e-05_rb /) kbo(:,29, 3) = (/ & & 0.16635e-05_rb,0.18024e-05_rb,0.19279e-05_rb,0.20498e-05_rb,0.21627e-05_rb /) kbo(:,30, 3) = (/ & & 0.13359e-05_rb,0.14474e-05_rb,0.15470e-05_rb,0.16346e-05_rb,0.17457e-05_rb /) kbo(:,31, 3) = (/ & & 0.10697e-05_rb,0.11477e-05_rb,0.12254e-05_rb,0.13097e-05_rb,0.13914e-05_rb /) kbo(:,32, 3) = (/ & & 0.84958e-06_rb,0.91464e-06_rb,0.98189e-06_rb,0.10489e-05_rb,0.11150e-05_rb /) kbo(:,33, 3) = (/ & & 0.68178e-06_rb,0.73356e-06_rb,0.78905e-06_rb,0.84226e-06_rb,0.89476e-06_rb /) kbo(:,34, 3) = (/ & & 0.54737e-06_rb,0.58995e-06_rb,0.63374e-06_rb,0.67732e-06_rb,0.72182e-06_rb /) kbo(:,35, 3) = (/ & & 0.43680e-06_rb,0.47086e-06_rb,0.50771e-06_rb,0.54209e-06_rb,0.57687e-06_rb /) kbo(:,36, 3) = (/ & & 0.34612e-06_rb,0.37466e-06_rb,0.40370e-06_rb,0.43073e-06_rb,0.45979e-06_rb /) kbo(:,37, 3) = (/ & & 0.27725e-06_rb,0.30048e-06_rb,0.32451e-06_rb,0.34638e-06_rb,0.37105e-06_rb /) kbo(:,38, 3) = (/ & & 0.22228e-06_rb,0.24114e-06_rb,0.26049e-06_rb,0.27871e-06_rb,0.29935e-06_rb /) kbo(:,39, 3) = (/ & & 0.17797e-06_rb,0.19317e-06_rb,0.20878e-06_rb,0.22411e-06_rb,0.24102e-06_rb /) kbo(:,40, 3) = (/ & & 0.14346e-06_rb,0.15601e-06_rb,0.16913e-06_rb,0.18197e-06_rb,0.19566e-06_rb /) kbo(:,41, 3) = (/ & & 0.11559e-06_rb,0.12615e-06_rb,0.13697e-06_rb,0.14785e-06_rb,0.15874e-06_rb /) kbo(:,42, 3) = (/ & & 0.93358e-07_rb,0.10214e-06_rb,0.11089e-06_rb,0.11998e-06_rb,0.12904e-06_rb /) kbo(:,43, 3) = (/ & & 0.75599e-07_rb,0.82690e-07_rb,0.89808e-07_rb,0.97524e-07_rb,0.10511e-06_rb /) kbo(:,44, 3) = (/ & & 0.61285e-07_rb,0.66786e-07_rb,0.72937e-07_rb,0.79087e-07_rb,0.85525e-07_rb /) kbo(:,45, 3) = (/ & & 0.49725e-07_rb,0.54294e-07_rb,0.59263e-07_rb,0.64213e-07_rb,0.69583e-07_rb /) kbo(:,46, 3) = (/ & & 0.40336e-07_rb,0.44186e-07_rb,0.48034e-07_rb,0.52184e-07_rb,0.56534e-07_rb /) kbo(:,47, 3) = (/ & & 0.32904e-07_rb,0.35633e-07_rb,0.38959e-07_rb,0.42402e-07_rb,0.45883e-07_rb /) kbo(:,48, 3) = (/ & & 0.26725e-07_rb,0.29104e-07_rb,0.31693e-07_rb,0.34312e-07_rb,0.37304e-07_rb /) kbo(:,49, 3) = (/ & & 0.21751e-07_rb,0.23849e-07_rb,0.25803e-07_rb,0.28024e-07_rb,0.30356e-07_rb /) kbo(:,50, 3) = (/ & & 0.17587e-07_rb,0.19609e-07_rb,0.21216e-07_rb,0.23022e-07_rb,0.24942e-07_rb /) kbo(:,51, 3) = (/ & & 0.14376e-07_rb,0.15990e-07_rb,0.17493e-07_rb,0.18872e-07_rb,0.20463e-07_rb /) kbo(:,52, 3) = (/ & & 0.11811e-07_rb,0.13106e-07_rb,0.14489e-07_rb,0.15615e-07_rb,0.16832e-07_rb /) kbo(:,53, 3) = (/ & & 0.96001e-08_rb,0.10788e-07_rb,0.11921e-07_rb,0.12985e-07_rb,0.13904e-07_rb /) kbo(:,54, 3) = (/ & & 0.78243e-08_rb,0.89178e-08_rb,0.98430e-08_rb,0.10840e-07_rb,0.11619e-07_rb /) kbo(:,55, 3) = (/ & & 0.63638e-08_rb,0.73678e-08_rb,0.82214e-08_rb,0.89997e-08_rb,0.97565e-08_rb /) kbo(:,56, 3) = (/ & & 0.51753e-08_rb,0.60497e-08_rb,0.68419e-08_rb,0.74560e-08_rb,0.82362e-08_rb /) kbo(:,57, 3) = (/ & & 0.42164e-08_rb,0.49916e-08_rb,0.57066e-08_rb,0.63308e-08_rb,0.68950e-08_rb /) kbo(:,58, 3) = (/ & & 0.34618e-08_rb,0.41424e-08_rb,0.48054e-08_rb,0.53757e-08_rb,0.58095e-08_rb /) kbo(:,59, 3) = (/ & & 0.29083e-08_rb,0.35291e-08_rb,0.40932e-08_rb,0.46285e-08_rb,0.49865e-08_rb /) kbo(:,13, 4) = (/ & & 0.37674e-03_rb,0.40953e-03_rb,0.43690e-03_rb,0.46059e-03_rb,0.48007e-03_rb /) kbo(:,14, 4) = (/ & & 0.31202e-03_rb,0.33906e-03_rb,0.36066e-03_rb,0.38003e-03_rb,0.39627e-03_rb /) kbo(:,15, 4) = (/ & & 0.25135e-03_rb,0.27271e-03_rb,0.29069e-03_rb,0.30661e-03_rb,0.32005e-03_rb /) kbo(:,16, 4) = (/ & & 0.19797e-03_rb,0.21527e-03_rb,0.22955e-03_rb,0.24328e-03_rb,0.25456e-03_rb /) kbo(:,17, 4) = (/ & & 0.15354e-03_rb,0.16679e-03_rb,0.17933e-03_rb,0.19101e-03_rb,0.20041e-03_rb /) kbo(:,18, 4) = (/ & & 0.11742e-03_rb,0.12797e-03_rb,0.13923e-03_rb,0.14836e-03_rb,0.15654e-03_rb /) kbo(:,19, 4) = (/ & & 0.90519e-04_rb,0.99386e-04_rb,0.10819e-03_rb,0.11601e-03_rb,0.12319e-03_rb /) kbo(:,20, 4) = (/ & & 0.72579e-04_rb,0.79910e-04_rb,0.87075e-04_rb,0.93728e-04_rb,0.99656e-04_rb /) kbo(:,21, 4) = (/ & & 0.58866e-04_rb,0.64805e-04_rb,0.70705e-04_rb,0.76153e-04_rb,0.80996e-04_rb /) kbo(:,22, 4) = (/ & & 0.48157e-04_rb,0.52883e-04_rb,0.57740e-04_rb,0.62130e-04_rb,0.66100e-04_rb /) kbo(:,23, 4) = (/ & & 0.39337e-04_rb,0.43289e-04_rb,0.47275e-04_rb,0.50906e-04_rb,0.54161e-04_rb /) kbo(:,24, 4) = (/ & & 0.32289e-04_rb,0.35577e-04_rb,0.38808e-04_rb,0.41814e-04_rb,0.44433e-04_rb /) kbo(:,25, 4) = (/ & & 0.26615e-04_rb,0.29301e-04_rb,0.31984e-04_rb,0.34396e-04_rb,0.36509e-04_rb /) kbo(:,26, 4) = (/ & & 0.22060e-04_rb,0.24270e-04_rb,0.26460e-04_rb,0.28450e-04_rb,0.30203e-04_rb /) kbo(:,27, 4) = (/ & & 0.18344e-04_rb,0.20177e-04_rb,0.21948e-04_rb,0.23595e-04_rb,0.25001e-04_rb /) kbo(:,28, 4) = (/ & & 0.15256e-04_rb,0.16787e-04_rb,0.18242e-04_rb,0.19561e-04_rb,0.20696e-04_rb /) kbo(:,29, 4) = (/ & & 0.12679e-04_rb,0.13952e-04_rb,0.15170e-04_rb,0.16211e-04_rb,0.17163e-04_rb /) kbo(:,30, 4) = (/ & & 0.10550e-04_rb,0.11605e-04_rb,0.12579e-04_rb,0.13451e-04_rb,0.14210e-04_rb /) kbo(:,31, 4) = (/ & & 0.87512e-05_rb,0.96322e-05_rb,0.10433e-04_rb,0.11133e-04_rb,0.11762e-04_rb /) kbo(:,32, 4) = (/ & & 0.73001e-05_rb,0.80203e-05_rb,0.86745e-05_rb,0.92292e-05_rb,0.97295e-05_rb /) kbo(:,33, 4) = (/ & & 0.60958e-05_rb,0.66862e-05_rb,0.72006e-05_rb,0.76359e-05_rb,0.80576e-05_rb /) kbo(:,34, 4) = (/ & & 0.50855e-05_rb,0.55671e-05_rb,0.59670e-05_rb,0.63392e-05_rb,0.66869e-05_rb /) kbo(:,35, 4) = (/ & & 0.42033e-05_rb,0.45905e-05_rb,0.49250e-05_rb,0.52384e-05_rb,0.55369e-05_rb /) kbo(:,36, 4) = (/ & & 0.34384e-05_rb,0.37618e-05_rb,0.40430e-05_rb,0.43060e-05_rb,0.45577e-05_rb /) kbo(:,37, 4) = (/ & & 0.28039e-05_rb,0.30749e-05_rb,0.33135e-05_rb,0.35344e-05_rb,0.37458e-05_rb /) kbo(:,38, 4) = (/ & & 0.22842e-05_rb,0.25104e-05_rb,0.27126e-05_rb,0.28966e-05_rb,0.30768e-05_rb /) kbo(:,39, 4) = (/ & & 0.18585e-05_rb,0.20510e-05_rb,0.22194e-05_rb,0.23731e-05_rb,0.25249e-05_rb /) kbo(:,40, 4) = (/ & & 0.15041e-05_rb,0.16676e-05_rb,0.18097e-05_rb,0.19402e-05_rb,0.20681e-05_rb /) kbo(:,41, 4) = (/ & & 0.12154e-05_rb,0.13541e-05_rb,0.14749e-05_rb,0.15852e-05_rb,0.16934e-05_rb /) kbo(:,42, 4) = (/ & & 0.98033e-06_rb,0.10975e-05_rb,0.12011e-05_rb,0.12945e-05_rb,0.13859e-05_rb /) kbo(:,43, 4) = (/ & & 0.78724e-06_rb,0.88625e-06_rb,0.97486e-06_rb,0.10554e-05_rb,0.11307e-05_rb /) kbo(:,44, 4) = (/ & & 0.63059e-06_rb,0.71382e-06_rb,0.78948e-06_rb,0.85755e-06_rb,0.92044e-06_rb /) kbo(:,45, 4) = (/ & & 0.50426e-06_rb,0.57391e-06_rb,0.63808e-06_rb,0.69718e-06_rb,0.74972e-06_rb /) kbo(:,46, 4) = (/ & & 0.40133e-06_rb,0.45858e-06_rb,0.51414e-06_rb,0.56400e-06_rb,0.60964e-06_rb /) kbo(:,47, 4) = (/ & & 0.31580e-06_rb,0.36440e-06_rb,0.41120e-06_rb,0.45433e-06_rb,0.49348e-06_rb /) kbo(:,48, 4) = (/ & & 0.24847e-06_rb,0.28907e-06_rb,0.32879e-06_rb,0.36537e-06_rb,0.39903e-06_rb /) kbo(:,49, 4) = (/ & & 0.19530e-06_rb,0.22858e-06_rb,0.26247e-06_rb,0.29331e-06_rb,0.32217e-06_rb /) kbo(:,50, 4) = (/ & & 0.15364e-06_rb,0.18113e-06_rb,0.20911e-06_rb,0.23589e-06_rb,0.25994e-06_rb /) kbo(:,51, 4) = (/ & & 0.12072e-06_rb,0.14413e-06_rb,0.16656e-06_rb,0.18952e-06_rb,0.20983e-06_rb /) kbo(:,52, 4) = (/ & & 0.94925e-07_rb,0.11397e-06_rb,0.13255e-06_rb,0.15193e-06_rb,0.16960e-06_rb /) kbo(:,53, 4) = (/ & & 0.74473e-07_rb,0.90197e-07_rb,0.10574e-06_rb,0.12153e-06_rb,0.13661e-06_rb /) kbo(:,54, 4) = (/ & & 0.59009e-07_rb,0.71594e-07_rb,0.84781e-07_rb,0.97758e-07_rb,0.11018e-06_rb /) kbo(:,55, 4) = (/ & & 0.47008e-07_rb,0.56997e-07_rb,0.67838e-07_rb,0.78753e-07_rb,0.89116e-07_rb /) kbo(:,56, 4) = (/ & & 0.37415e-07_rb,0.45642e-07_rb,0.54420e-07_rb,0.63466e-07_rb,0.71910e-07_rb /) kbo(:,57, 4) = (/ & & 0.29896e-07_rb,0.36635e-07_rb,0.43697e-07_rb,0.51036e-07_rb,0.58267e-07_rb /) kbo(:,58, 4) = (/ & & 0.23946e-07_rb,0.29523e-07_rb,0.35316e-07_rb,0.41183e-07_rb,0.47391e-07_rb /) kbo(:,59, 4) = (/ & & 0.19881e-07_rb,0.24642e-07_rb,0.29390e-07_rb,0.34099e-07_rb,0.39234e-07_rb /) kbo(:,13, 5) = (/ & & 0.12771e-02_rb,0.13202e-02_rb,0.13557e-02_rb,0.13927e-02_rb,0.14233e-02_rb /) kbo(:,14, 5) = (/ & & 0.10608e-02_rb,0.10951e-02_rb,0.11249e-02_rb,0.11549e-02_rb,0.11788e-02_rb /) kbo(:,15, 5) = (/ & & 0.86750e-03_rb,0.89679e-03_rb,0.91986e-03_rb,0.94399e-03_rb,0.96405e-03_rb /) kbo(:,16, 5) = (/ & & 0.70073e-03_rb,0.72504e-03_rb,0.74630e-03_rb,0.76495e-03_rb,0.78165e-03_rb /) kbo(:,17, 5) = (/ & & 0.56280e-03_rb,0.58321e-03_rb,0.60153e-03_rb,0.61544e-03_rb,0.62885e-03_rb /) kbo(:,18, 5) = (/ & & 0.44940e-03_rb,0.46598e-03_rb,0.47887e-03_rb,0.49058e-03_rb,0.50223e-03_rb /) kbo(:,19, 5) = (/ & & 0.35753e-03_rb,0.37064e-03_rb,0.38290e-03_rb,0.39390e-03_rb,0.40387e-03_rb /) kbo(:,20, 5) = (/ & & 0.29013e-03_rb,0.30099e-03_rb,0.31179e-03_rb,0.32117e-03_rb,0.33011e-03_rb /) kbo(:,21, 5) = (/ & & 0.23657e-03_rb,0.24602e-03_rb,0.25504e-03_rb,0.26340e-03_rb,0.27145e-03_rb /) kbo(:,22, 5) = (/ & & 0.19423e-03_rb,0.20224e-03_rb,0.20987e-03_rb,0.21711e-03_rb,0.22439e-03_rb /) kbo(:,23, 5) = (/ & & 0.15963e-03_rb,0.16643e-03_rb,0.17308e-03_rb,0.17949e-03_rb,0.18580e-03_rb /) kbo(:,24, 5) = (/ & & 0.13166e-03_rb,0.13745e-03_rb,0.14332e-03_rb,0.14871e-03_rb,0.15428e-03_rb /) kbo(:,25, 5) = (/ & & 0.10885e-03_rb,0.11394e-03_rb,0.11896e-03_rb,0.12371e-03_rb,0.12846e-03_rb /) kbo(:,26, 5) = (/ & & 0.90403e-04_rb,0.94914e-04_rb,0.99157e-04_rb,0.10310e-03_rb,0.10729e-03_rb /) kbo(:,27, 5) = (/ & & 0.75265e-04_rb,0.79166e-04_rb,0.82648e-04_rb,0.86209e-04_rb,0.89882e-04_rb /) kbo(:,28, 5) = (/ & & 0.62870e-04_rb,0.66050e-04_rb,0.69111e-04_rb,0.72289e-04_rb,0.75451e-04_rb /) kbo(:,29, 5) = (/ & & 0.52465e-04_rb,0.55192e-04_rb,0.57887e-04_rb,0.60660e-04_rb,0.63367e-04_rb /) kbo(:,30, 5) = (/ & & 0.43887e-04_rb,0.46191e-04_rb,0.48588e-04_rb,0.50910e-04_rb,0.53278e-04_rb /) kbo(:,31, 5) = (/ & & 0.36760e-04_rb,0.38766e-04_rb,0.40783e-04_rb,0.42783e-04_rb,0.44780e-04_rb /) kbo(:,32, 5) = (/ & & 0.30831e-04_rb,0.32561e-04_rb,0.34267e-04_rb,0.36000e-04_rb,0.37594e-04_rb /) kbo(:,33, 5) = (/ & & 0.25908e-04_rb,0.27389e-04_rb,0.28832e-04_rb,0.30290e-04_rb,0.31581e-04_rb /) kbo(:,34, 5) = (/ & & 0.21776e-04_rb,0.23026e-04_rb,0.24266e-04_rb,0.25444e-04_rb,0.26510e-04_rb /) kbo(:,35, 5) = (/ & & 0.18233e-04_rb,0.19280e-04_rb,0.20324e-04_rb,0.21266e-04_rb,0.22141e-04_rb /) kbo(:,36, 5) = (/ & & 0.15160e-04_rb,0.16042e-04_rb,0.16918e-04_rb,0.17686e-04_rb,0.18406e-04_rb /) kbo(:,37, 5) = (/ & & 0.12538e-04_rb,0.13285e-04_rb,0.14015e-04_rb,0.14657e-04_rb,0.15269e-04_rb /) kbo(:,38, 5) = (/ & & 0.10357e-04_rb,0.10990e-04_rb,0.11595e-04_rb,0.12148e-04_rb,0.12651e-04_rb /) kbo(:,39, 5) = (/ & & 0.85566e-05_rb,0.90856e-05_rb,0.95986e-05_rb,0.10057e-04_rb,0.10478e-04_rb /) kbo(:,40, 5) = (/ & & 0.70390e-05_rb,0.74826e-05_rb,0.79200e-05_rb,0.83061e-05_rb,0.86634e-05_rb /) kbo(:,41, 5) = (/ & & 0.57827e-05_rb,0.61572e-05_rb,0.65269e-05_rb,0.68528e-05_rb,0.71595e-05_rb /) kbo(:,42, 5) = (/ & & 0.47477e-05_rb,0.50656e-05_rb,0.53705e-05_rb,0.56486e-05_rb,0.59100e-05_rb /) kbo(:,43, 5) = (/ & & 0.38802e-05_rb,0.41533e-05_rb,0.44089e-05_rb,0.46515e-05_rb,0.48719e-05_rb /) kbo(:,44, 5) = (/ & & 0.31658e-05_rb,0.33971e-05_rb,0.36177e-05_rb,0.38205e-05_rb,0.40089e-05_rb /) kbo(:,45, 5) = (/ & & 0.25796e-05_rb,0.27740e-05_rb,0.29635e-05_rb,0.31336e-05_rb,0.32986e-05_rb /) kbo(:,46, 5) = (/ & & 0.20945e-05_rb,0.22636e-05_rb,0.24214e-05_rb,0.25698e-05_rb,0.27077e-05_rb /) kbo(:,47, 5) = (/ & & 0.16931e-05_rb,0.18383e-05_rb,0.19729e-05_rb,0.20996e-05_rb,0.22172e-05_rb /) kbo(:,48, 5) = (/ & & 0.13650e-05_rb,0.14889e-05_rb,0.16043e-05_rb,0.17139e-05_rb,0.18136e-05_rb /) kbo(:,49, 5) = (/ & & 0.10981e-05_rb,0.12042e-05_rb,0.13028e-05_rb,0.13963e-05_rb,0.14824e-05_rb /) kbo(:,50, 5) = (/ & & 0.88407e-06_rb,0.97370e-06_rb,0.10589e-05_rb,0.11383e-05_rb,0.12124e-05_rb /) kbo(:,51, 5) = (/ & & 0.71150e-06_rb,0.78682e-06_rb,0.86048e-06_rb,0.92711e-06_rb,0.99128e-06_rb /) kbo(:,52, 5) = (/ & & 0.57140e-06_rb,0.63513e-06_rb,0.69790e-06_rb,0.75466e-06_rb,0.80946e-06_rb /) kbo(:,53, 5) = (/ & & 0.45871e-06_rb,0.51183e-06_rb,0.56494e-06_rb,0.61376e-06_rb,0.66022e-06_rb /) kbo(:,54, 5) = (/ & & 0.36889e-06_rb,0.41319e-06_rb,0.45759e-06_rb,0.49973e-06_rb,0.53933e-06_rb /) kbo(:,55, 5) = (/ & & 0.29683e-06_rb,0.33396e-06_rb,0.37110e-06_rb,0.40671e-06_rb,0.44026e-06_rb /) kbo(:,56, 5) = (/ & & 0.23828e-06_rb,0.26973e-06_rb,0.30048e-06_rb,0.33099e-06_rb,0.35949e-06_rb /) kbo(:,57, 5) = (/ & & 0.19083e-06_rb,0.21782e-06_rb,0.24350e-06_rb,0.26883e-06_rb,0.29309e-06_rb /) kbo(:,58, 5) = (/ & & 0.15334e-06_rb,0.17592e-06_rb,0.19753e-06_rb,0.21869e-06_rb,0.23903e-06_rb /) kbo(:,59, 5) = (/ & & 0.12635e-06_rb,0.14504e-06_rb,0.16321e-06_rb,0.18074e-06_rb,0.19759e-06_rb /) kbo(:,13, 6) = (/ & & 0.33433e-02_rb,0.34159e-02_rb,0.34798e-02_rb,0.35397e-02_rb,0.35995e-02_rb /) kbo(:,14, 6) = (/ & & 0.28039e-02_rb,0.28589e-02_rb,0.29090e-02_rb,0.29595e-02_rb,0.30108e-02_rb /) kbo(:,15, 6) = (/ & & 0.23135e-02_rb,0.23579e-02_rb,0.24012e-02_rb,0.24470e-02_rb,0.24900e-02_rb /) kbo(:,16, 6) = (/ & & 0.18925e-02_rb,0.19281e-02_rb,0.19671e-02_rb,0.20090e-02_rb,0.20445e-02_rb /) kbo(:,17, 6) = (/ & & 0.15365e-02_rb,0.15703e-02_rb,0.16039e-02_rb,0.16424e-02_rb,0.16760e-02_rb /) kbo(:,18, 6) = (/ & & 0.12424e-02_rb,0.12746e-02_rb,0.13067e-02_rb,0.13397e-02_rb,0.13687e-02_rb /) kbo(:,19, 6) = (/ & & 0.10113e-02_rb,0.10417e-02_rb,0.10664e-02_rb,0.10958e-02_rb,0.11231e-02_rb /) kbo(:,20, 6) = (/ & & 0.83375e-03_rb,0.85863e-03_rb,0.88098e-03_rb,0.90680e-03_rb,0.93093e-03_rb /) kbo(:,21, 6) = (/ & & 0.68849e-03_rb,0.71056e-03_rb,0.73161e-03_rb,0.75402e-03_rb,0.77432e-03_rb /) kbo(:,22, 6) = (/ & & 0.57076e-03_rb,0.59001e-03_rb,0.60925e-03_rb,0.62816e-03_rb,0.64531e-03_rb /) kbo(:,23, 6) = (/ & & 0.47462e-03_rb,0.49138e-03_rb,0.50818e-03_rb,0.52421e-03_rb,0.53930e-03_rb /) kbo(:,24, 6) = (/ & & 0.39552e-03_rb,0.41011e-03_rb,0.42460e-03_rb,0.43865e-03_rb,0.45206e-03_rb /) kbo(:,25, 6) = (/ & & 0.33041e-03_rb,0.34317e-03_rb,0.35573e-03_rb,0.36800e-03_rb,0.38005e-03_rb /) kbo(:,26, 6) = (/ & & 0.27699e-03_rb,0.28806e-03_rb,0.29892e-03_rb,0.30983e-03_rb,0.32038e-03_rb /) kbo(:,27, 6) = (/ & & 0.23253e-03_rb,0.24229e-03_rb,0.25208e-03_rb,0.26144e-03_rb,0.27039e-03_rb /) kbo(:,28, 6) = (/ & & 0.19573e-03_rb,0.20442e-03_rb,0.21276e-03_rb,0.22087e-03_rb,0.22869e-03_rb /) kbo(:,29, 6) = (/ & & 0.16528e-03_rb,0.17271e-03_rb,0.17974e-03_rb,0.18681e-03_rb,0.19373e-03_rb /) kbo(:,30, 6) = (/ & & 0.13949e-03_rb,0.14599e-03_rb,0.15214e-03_rb,0.15834e-03_rb,0.16448e-03_rb /) kbo(:,31, 6) = (/ & & 0.11793e-03_rb,0.12345e-03_rb,0.12891e-03_rb,0.13432e-03_rb,0.13975e-03_rb /) kbo(:,32, 6) = (/ & & 0.99845e-04_rb,0.10464e-03_rb,0.10941e-03_rb,0.11425e-03_rb,0.11896e-03_rb /) kbo(:,33, 6) = (/ & & 0.84723e-04_rb,0.88808e-04_rb,0.93054e-04_rb,0.97257e-04_rb,0.10144e-03_rb /) kbo(:,34, 6) = (/ & & 0.71857e-04_rb,0.75478e-04_rb,0.79245e-04_rb,0.82878e-04_rb,0.86527e-04_rb /) kbo(:,35, 6) = (/ & & 0.60741e-04_rb,0.63987e-04_rb,0.67190e-04_rb,0.70445e-04_rb,0.73634e-04_rb /) kbo(:,36, 6) = (/ & & 0.51094e-04_rb,0.53953e-04_rb,0.56787e-04_rb,0.59644e-04_rb,0.62421e-04_rb /) kbo(:,37, 6) = (/ & & 0.42809e-04_rb,0.45324e-04_rb,0.47805e-04_rb,0.50314e-04_rb,0.52797e-04_rb /) kbo(:,38, 6) = (/ & & 0.35862e-04_rb,0.38082e-04_rb,0.40249e-04_rb,0.42459e-04_rb,0.44691e-04_rb /) kbo(:,39, 6) = (/ & & 0.30047e-04_rb,0.31970e-04_rb,0.33877e-04_rb,0.35841e-04_rb,0.37792e-04_rb /) kbo(:,40, 6) = (/ & & 0.25051e-04_rb,0.26734e-04_rb,0.28429e-04_rb,0.30177e-04_rb,0.31859e-04_rb /) kbo(:,41, 6) = (/ & & 0.20858e-04_rb,0.22337e-04_rb,0.23837e-04_rb,0.25348e-04_rb,0.26845e-04_rb /) kbo(:,42, 6) = (/ & & 0.17358e-04_rb,0.18653e-04_rb,0.19947e-04_rb,0.21279e-04_rb,0.22614e-04_rb /) kbo(:,43, 6) = (/ & & 0.14382e-04_rb,0.15507e-04_rb,0.16637e-04_rb,0.17808e-04_rb,0.18975e-04_rb /) kbo(:,44, 6) = (/ & & 0.11875e-04_rb,0.12851e-04_rb,0.13847e-04_rb,0.14865e-04_rb,0.15886e-04_rb /) kbo(:,45, 6) = (/ & & 0.97824e-05_rb,0.10641e-04_rb,0.11497e-04_rb,0.12386e-04_rb,0.13288e-04_rb /) kbo(:,46, 6) = (/ & & 0.80305e-05_rb,0.87712e-05_rb,0.95170e-05_rb,0.10282e-04_rb,0.11073e-04_rb /) kbo(:,47, 6) = (/ & & 0.65554e-05_rb,0.71881e-05_rb,0.78331e-05_rb,0.85022e-05_rb,0.91799e-05_rb /) kbo(:,48, 6) = (/ & & 0.53399e-05_rb,0.58818e-05_rb,0.64364e-05_rb,0.70093e-05_rb,0.75992e-05_rb /) kbo(:,49, 6) = (/ & & 0.43396e-05_rb,0.47990e-05_rb,0.52727e-05_rb,0.57633e-05_rb,0.62785e-05_rb /) kbo(:,50, 6) = (/ & & 0.35272e-05_rb,0.39139e-05_rb,0.43230e-05_rb,0.47423e-05_rb,0.51819e-05_rb /) kbo(:,51, 6) = (/ & & 0.28624e-05_rb,0.31913e-05_rb,0.35379e-05_rb,0.38979e-05_rb,0.42744e-05_rb /) kbo(:,52, 6) = (/ & & 0.23189e-05_rb,0.25961e-05_rb,0.28907e-05_rb,0.31976e-05_rb,0.35200e-05_rb /) kbo(:,53, 6) = (/ & & 0.18736e-05_rb,0.21072e-05_rb,0.23576e-05_rb,0.26179e-05_rb,0.28943e-05_rb /) kbo(:,54, 6) = (/ & & 0.15155e-05_rb,0.17135e-05_rb,0.19245e-05_rb,0.21451e-05_rb,0.23808e-05_rb /) kbo(:,55, 6) = (/ & & 0.12250e-05_rb,0.13923e-05_rb,0.15714e-05_rb,0.17578e-05_rb,0.19597e-05_rb /) kbo(:,56, 6) = (/ & & 0.99012e-06_rb,0.11296e-05_rb,0.12801e-05_rb,0.14395e-05_rb,0.16107e-05_rb /) kbo(:,57, 6) = (/ & & 0.79875e-06_rb,0.91418e-06_rb,0.10408e-05_rb,0.11777e-05_rb,0.13212e-05_rb /) kbo(:,58, 6) = (/ & & 0.64474e-06_rb,0.74109e-06_rb,0.84664e-06_rb,0.96328e-06_rb,0.10849e-05_rb /) kbo(:,59, 6) = (/ & & 0.53296e-06_rb,0.61427e-06_rb,0.70385e-06_rb,0.80375e-06_rb,0.90863e-06_rb /) kbo(:,13, 7) = (/ & & 0.91063e-02_rb,0.92681e-02_rb,0.94045e-02_rb,0.95388e-02_rb,0.96735e-02_rb /) kbo(:,14, 7) = (/ & & 0.78483e-02_rb,0.79806e-02_rb,0.81238e-02_rb,0.82528e-02_rb,0.83603e-02_rb /) kbo(:,15, 7) = (/ & & 0.66269e-02_rb,0.67445e-02_rb,0.68845e-02_rb,0.69911e-02_rb,0.70854e-02_rb /) kbo(:,16, 7) = (/ & & 0.55183e-02_rb,0.56414e-02_rb,0.57574e-02_rb,0.58487e-02_rb,0.59407e-02_rb /) kbo(:,17, 7) = (/ & & 0.45693e-02_rb,0.46780e-02_rb,0.47743e-02_rb,0.48625e-02_rb,0.49467e-02_rb /) kbo(:,18, 7) = (/ & & 0.37611e-02_rb,0.38535e-02_rb,0.39408e-02_rb,0.40234e-02_rb,0.41007e-02_rb /) kbo(:,19, 7) = (/ & & 0.30991e-02_rb,0.31809e-02_rb,0.32647e-02_rb,0.33388e-02_rb,0.34042e-02_rb /) kbo(:,20, 7) = (/ & & 0.25858e-02_rb,0.26585e-02_rb,0.27347e-02_rb,0.27990e-02_rb,0.28579e-02_rb /) kbo(:,21, 7) = (/ & & 0.21672e-02_rb,0.22326e-02_rb,0.22973e-02_rb,0.23547e-02_rb,0.24058e-02_rb /) kbo(:,22, 7) = (/ & & 0.18211e-02_rb,0.18809e-02_rb,0.19364e-02_rb,0.19859e-02_rb,0.20352e-02_rb /) kbo(:,23, 7) = (/ & & 0.15314e-02_rb,0.15844e-02_rb,0.16332e-02_rb,0.16760e-02_rb,0.17243e-02_rb /) kbo(:,24, 7) = (/ & & 0.12924e-02_rb,0.13385e-02_rb,0.13793e-02_rb,0.14209e-02_rb,0.14659e-02_rb /) kbo(:,25, 7) = (/ & & 0.10926e-02_rb,0.11322e-02_rb,0.11689e-02_rb,0.12081e-02_rb,0.12493e-02_rb /) kbo(:,26, 7) = (/ & & 0.92756e-03_rb,0.96136e-03_rb,0.99601e-03_rb,0.10324e-02_rb,0.10695e-02_rb /) kbo(:,27, 7) = (/ & & 0.78832e-03_rb,0.81893e-03_rb,0.85137e-03_rb,0.88465e-03_rb,0.91885e-03_rb /) kbo(:,28, 7) = (/ & & 0.67097e-03_rb,0.69979e-03_rb,0.72985e-03_rb,0.76038e-03_rb,0.79213e-03_rb /) kbo(:,29, 7) = (/ & & 0.57231e-03_rb,0.59934e-03_rb,0.62727e-03_rb,0.65471e-03_rb,0.68389e-03_rb /) kbo(:,30, 7) = (/ & & 0.48996e-03_rb,0.51441e-03_rb,0.53945e-03_rb,0.56564e-03_rb,0.59164e-03_rb /) kbo(:,31, 7) = (/ & & 0.41998e-03_rb,0.44237e-03_rb,0.46551e-03_rb,0.48924e-03_rb,0.51322e-03_rb /) kbo(:,32, 7) = (/ & & 0.36133e-03_rb,0.38168e-03_rb,0.40297e-03_rb,0.42441e-03_rb,0.44722e-03_rb /) kbo(:,33, 7) = (/ & & 0.31153e-03_rb,0.33055e-03_rb,0.34980e-03_rb,0.36972e-03_rb,0.39086e-03_rb /) kbo(:,34, 7) = (/ & & 0.26941e-03_rb,0.28657e-03_rb,0.30436e-03_rb,0.32295e-03_rb,0.34256e-03_rb /) kbo(:,35, 7) = (/ & & 0.23210e-03_rb,0.24782e-03_rb,0.26411e-03_rb,0.28121e-03_rb,0.29930e-03_rb /) kbo(:,36, 7) = (/ & & 0.19904e-03_rb,0.21311e-03_rb,0.22797e-03_rb,0.24380e-03_rb,0.26030e-03_rb /) kbo(:,37, 7) = (/ & & 0.17000e-03_rb,0.18300e-03_rb,0.19666e-03_rb,0.21128e-03_rb,0.22641e-03_rb /) kbo(:,38, 7) = (/ & & 0.14528e-03_rb,0.15704e-03_rb,0.16975e-03_rb,0.18320e-03_rb,0.19735e-03_rb /) kbo(:,39, 7) = (/ & & 0.12414e-03_rb,0.13496e-03_rb,0.14654e-03_rb,0.15899e-03_rb,0.17211e-03_rb /) kbo(:,40, 7) = (/ & & 0.10567e-03_rb,0.11547e-03_rb,0.12618e-03_rb,0.13765e-03_rb,0.14994e-03_rb /) kbo(:,41, 7) = (/ & & 0.89774e-04_rb,0.98751e-04_rb,0.10852e-03_rb,0.11918e-03_rb,0.13057e-03_rb /) kbo(:,42, 7) = (/ & & 0.76232e-04_rb,0.84383e-04_rb,0.93336e-04_rb,0.10314e-03_rb,0.11381e-03_rb /) kbo(:,43, 7) = (/ & & 0.64370e-04_rb,0.71684e-04_rb,0.79797e-04_rb,0.88850e-04_rb,0.98733e-04_rb /) kbo(:,44, 7) = (/ & & 0.54125e-04_rb,0.60680e-04_rb,0.68042e-04_rb,0.76313e-04_rb,0.85432e-04_rb /) kbo(:,45, 7) = (/ & & 0.45374e-04_rb,0.51280e-04_rb,0.57932e-04_rb,0.65429e-04_rb,0.73852e-04_rb /) kbo(:,46, 7) = (/ & & 0.37861e-04_rb,0.43078e-04_rb,0.49016e-04_rb,0.55844e-04_rb,0.63538e-04_rb /) kbo(:,47, 7) = (/ & & 0.31342e-04_rb,0.35879e-04_rb,0.41175e-04_rb,0.47252e-04_rb,0.54286e-04_rb /) kbo(:,48, 7) = (/ & & 0.25821e-04_rb,0.29777e-04_rb,0.34458e-04_rb,0.39880e-04_rb,0.46218e-04_rb /) kbo(:,49, 7) = (/ & & 0.21180e-04_rb,0.24617e-04_rb,0.28719e-04_rb,0.33507e-04_rb,0.39184e-04_rb /) kbo(:,50, 7) = (/ & & 0.17377e-04_rb,0.20345e-04_rb,0.23916e-04_rb,0.28177e-04_rb,0.33237e-04_rb /) kbo(:,51, 7) = (/ & & 0.14223e-04_rb,0.16790e-04_rb,0.19868e-04_rb,0.23656e-04_rb,0.28163e-04_rb /) kbo(:,52, 7) = (/ & & 0.11593e-04_rb,0.13788e-04_rb,0.16479e-04_rb,0.19773e-04_rb,0.23765e-04_rb /) kbo(:,53, 7) = (/ & & 0.94141e-05_rb,0.11279e-04_rb,0.13591e-04_rb,0.16447e-04_rb,0.19969e-04_rb /) kbo(:,54, 7) = (/ & & 0.76622e-05_rb,0.92417e-05_rb,0.11233e-04_rb,0.13709e-04_rb,0.16819e-04_rb /) kbo(:,55, 7) = (/ & & 0.62315e-05_rb,0.75671e-05_rb,0.92699e-05_rb,0.11429e-04_rb,0.14186e-04_rb /) kbo(:,56, 7) = (/ & & 0.50473e-05_rb,0.61766e-05_rb,0.76316e-05_rb,0.94979e-05_rb,0.11890e-04_rb /) kbo(:,57, 7) = (/ & & 0.40773e-05_rb,0.50242e-05_rb,0.62540e-05_rb,0.78594e-05_rb,0.99378e-05_rb /) kbo(:,58, 7) = (/ & & 0.32937e-05_rb,0.40862e-05_rb,0.51228e-05_rb,0.64992e-05_rb,0.83112e-05_rb /) kbo(:,59, 7) = (/ & & 0.27593e-05_rb,0.34505e-05_rb,0.43716e-05_rb,0.56035e-05_rb,0.72609e-05_rb /) kbo(:,13, 8) = (/ & & 0.25990e-01_rb,0.25997e-01_rb,0.26024e-01_rb,0.26038e-01_rb,0.26132e-01_rb /) kbo(:,14, 8) = (/ & & 0.22648e-01_rb,0.22731e-01_rb,0.22803e-01_rb,0.22861e-01_rb,0.23020e-01_rb /) kbo(:,15, 8) = (/ & & 0.19641e-01_rb,0.19812e-01_rb,0.19880e-01_rb,0.19998e-01_rb,0.20141e-01_rb /) kbo(:,16, 8) = (/ & & 0.16909e-01_rb,0.17030e-01_rb,0.17148e-01_rb,0.17296e-01_rb,0.17502e-01_rb /) kbo(:,17, 8) = (/ & & 0.14365e-01_rb,0.14504e-01_rb,0.14643e-01_rb,0.14808e-01_rb,0.14996e-01_rb /) kbo(:,18, 8) = (/ & & 0.12072e-01_rb,0.12207e-01_rb,0.12346e-01_rb,0.12513e-01_rb,0.12742e-01_rb /) kbo(:,19, 8) = (/ & & 0.10135e-01_rb,0.10263e-01_rb,0.10402e-01_rb,0.10602e-01_rb,0.10794e-01_rb /) kbo(:,20, 8) = (/ & & 0.86508e-02_rb,0.87951e-02_rb,0.89765e-02_rb,0.91530e-02_rb,0.93447e-02_rb /) kbo(:,21, 8) = (/ & & 0.74228e-02_rb,0.75964e-02_rb,0.77805e-02_rb,0.79441e-02_rb,0.81266e-02_rb /) kbo(:,22, 8) = (/ & & 0.63949e-02_rb,0.65920e-02_rb,0.67584e-02_rb,0.69298e-02_rb,0.70968e-02_rb /) kbo(:,23, 8) = (/ & & 0.55389e-02_rb,0.57165e-02_rb,0.58834e-02_rb,0.60490e-02_rb,0.62163e-02_rb /) kbo(:,24, 8) = (/ & & 0.47980e-02_rb,0.49696e-02_rb,0.51333e-02_rb,0.53055e-02_rb,0.54695e-02_rb /) kbo(:,25, 8) = (/ & & 0.41676e-02_rb,0.43357e-02_rb,0.44999e-02_rb,0.46749e-02_rb,0.48179e-02_rb /) kbo(:,26, 8) = (/ & & 0.36391e-02_rb,0.38079e-02_rb,0.39834e-02_rb,0.41374e-02_rb,0.42754e-02_rb /) kbo(:,27, 8) = (/ & & 0.31917e-02_rb,0.33580e-02_rb,0.35237e-02_rb,0.36737e-02_rb,0.37982e-02_rb /) kbo(:,28, 8) = (/ & & 0.28096e-02_rb,0.29709e-02_rb,0.31242e-02_rb,0.32613e-02_rb,0.33829e-02_rb /) kbo(:,29, 8) = (/ & & 0.24786e-02_rb,0.26272e-02_rb,0.27706e-02_rb,0.28986e-02_rb,0.30130e-02_rb /) kbo(:,30, 8) = (/ & & 0.21907e-02_rb,0.23282e-02_rb,0.24574e-02_rb,0.25778e-02_rb,0.26806e-02_rb /) kbo(:,31, 8) = (/ & & 0.19346e-02_rb,0.20569e-02_rb,0.21757e-02_rb,0.22805e-02_rb,0.23742e-02_rb /) kbo(:,32, 8) = (/ & & 0.17101e-02_rb,0.18247e-02_rb,0.19308e-02_rb,0.20256e-02_rb,0.21176e-02_rb /) kbo(:,33, 8) = (/ & & 0.15171e-02_rb,0.16168e-02_rb,0.17121e-02_rb,0.18035e-02_rb,0.18911e-02_rb /) kbo(:,34, 8) = (/ & & 0.13466e-02_rb,0.14390e-02_rb,0.15246e-02_rb,0.16083e-02_rb,0.16921e-02_rb /) kbo(:,35, 8) = (/ & & 0.11871e-02_rb,0.12698e-02_rb,0.13534e-02_rb,0.14320e-02_rb,0.15071e-02_rb /) kbo(:,36, 8) = (/ & & 0.10388e-02_rb,0.11179e-02_rb,0.11934e-02_rb,0.12647e-02_rb,0.13391e-02_rb /) kbo(:,37, 8) = (/ & & 0.92233e-03_rb,0.99854e-03_rb,0.10722e-02_rb,0.11426e-02_rb,0.12118e-02_rb /) kbo(:,38, 8) = (/ & & 0.81843e-03_rb,0.89236e-03_rb,0.96605e-03_rb,0.10340e-02_rb,0.11003e-02_rb /) kbo(:,39, 8) = (/ & & 0.72738e-03_rb,0.79777e-03_rb,0.86997e-03_rb,0.93496e-03_rb,0.99852e-03_rb /) kbo(:,40, 8) = (/ & & 0.65149e-03_rb,0.72098e-03_rb,0.79235e-03_rb,0.86116e-03_rb,0.92474e-03_rb /) kbo(:,41, 8) = (/ & & 0.58318e-03_rb,0.65154e-03_rb,0.72160e-03_rb,0.79400e-03_rb,0.85973e-03_rb /) kbo(:,42, 8) = (/ & & 0.52127e-03_rb,0.58770e-03_rb,0.65781e-03_rb,0.73110e-03_rb,0.80165e-03_rb /) kbo(:,43, 8) = (/ & & 0.46404e-03_rb,0.52960e-03_rb,0.59886e-03_rb,0.67366e-03_rb,0.74727e-03_rb /) kbo(:,44, 8) = (/ & & 0.41229e-03_rb,0.47609e-03_rb,0.54424e-03_rb,0.61918e-03_rb,0.69366e-03_rb /) kbo(:,45, 8) = (/ & & 0.36534e-03_rb,0.42624e-03_rb,0.49374e-03_rb,0.56668e-03_rb,0.64364e-03_rb /) kbo(:,46, 8) = (/ & & 0.32134e-03_rb,0.37987e-03_rb,0.44597e-03_rb,0.51669e-03_rb,0.59469e-03_rb /) kbo(:,47, 8) = (/ & & 0.27855e-03_rb,0.33531e-03_rb,0.39855e-03_rb,0.46832e-03_rb,0.54562e-03_rb /) kbo(:,48, 8) = (/ & & 0.24094e-03_rb,0.29440e-03_rb,0.35477e-03_rb,0.42284e-03_rb,0.49767e-03_rb /) kbo(:,49, 8) = (/ & & 0.20710e-03_rb,0.25712e-03_rb,0.31425e-03_rb,0.38098e-03_rb,0.45465e-03_rb /) kbo(:,50, 8) = (/ & & 0.17757e-03_rb,0.22422e-03_rb,0.27906e-03_rb,0.34231e-03_rb,0.41419e-03_rb /) kbo(:,51, 8) = (/ & & 0.15198e-03_rb,0.19538e-03_rb,0.24758e-03_rb,0.30796e-03_rb,0.37765e-03_rb /) kbo(:,52, 8) = (/ & & 0.12943e-03_rb,0.16907e-03_rb,0.21812e-03_rb,0.27585e-03_rb,0.34284e-03_rb /) kbo(:,53, 8) = (/ & & 0.10946e-03_rb,0.14560e-03_rb,0.19103e-03_rb,0.24633e-03_rb,0.31049e-03_rb /) kbo(:,54, 8) = (/ & & 0.92950e-04_rb,0.12599e-03_rb,0.16848e-03_rb,0.22109e-03_rb,0.28266e-03_rb /) kbo(:,55, 8) = (/ & & 0.78722e-04_rb,0.10883e-03_rb,0.14831e-03_rb,0.19790e-03_rb,0.25770e-03_rb /) kbo(:,56, 8) = (/ & & 0.66323e-04_rb,0.93651e-04_rb,0.12983e-03_rb,0.17638e-03_rb,0.23393e-03_rb /) kbo(:,57, 8) = (/ & & 0.55644e-04_rb,0.80085e-04_rb,0.11349e-03_rb,0.15741e-03_rb,0.21274e-03_rb /) kbo(:,58, 8) = (/ & & 0.46537e-04_rb,0.68442e-04_rb,0.99190e-04_rb,0.14045e-03_rb,0.19327e-03_rb /) kbo(:,59, 8) = (/ & & 0.41558e-04_rb,0.62503e-04_rb,0.92377e-04_rb,0.13258e-03_rb,0.18528e-03_rb /) kbo(:,13, 9) = (/ & & 0.14836e+00_rb,0.15039e+00_rb,0.15239e+00_rb,0.15389e+00_rb,0.15517e+00_rb /) kbo(:,14, 9) = (/ & & 0.12935e+00_rb,0.13183e+00_rb,0.13366e+00_rb,0.13551e+00_rb,0.13674e+00_rb /) kbo(:,15, 9) = (/ & & 0.11269e+00_rb,0.11456e+00_rb,0.11672e+00_rb,0.11824e+00_rb,0.11951e+00_rb /) kbo(:,16, 9) = (/ & & 0.97577e-01_rb,0.99647e-01_rb,0.10140e+00_rb,0.10272e+00_rb,0.10390e+00_rb /) kbo(:,17, 9) = (/ & & 0.84601e-01_rb,0.86370e-01_rb,0.87860e-01_rb,0.89144e-01_rb,0.90341e-01_rb /) kbo(:,18, 9) = (/ & & 0.72851e-01_rb,0.74498e-01_rb,0.75924e-01_rb,0.77220e-01_rb,0.78434e-01_rb /) kbo(:,19, 9) = (/ & & 0.62688e-01_rb,0.64121e-01_rb,0.65574e-01_rb,0.66965e-01_rb,0.68243e-01_rb /) kbo(:,20, 9) = (/ & & 0.54382e-01_rb,0.55704e-01_rb,0.57013e-01_rb,0.58303e-01_rb,0.59763e-01_rb /) kbo(:,21, 9) = (/ & & 0.47190e-01_rb,0.48469e-01_rb,0.49752e-01_rb,0.51138e-01_rb,0.52452e-01_rb /) kbo(:,22, 9) = (/ & & 0.41104e-01_rb,0.42378e-01_rb,0.43684e-01_rb,0.45035e-01_rb,0.46495e-01_rb /) kbo(:,23, 9) = (/ & & 0.35910e-01_rb,0.37220e-01_rb,0.38484e-01_rb,0.39789e-01_rb,0.41443e-01_rb /) kbo(:,24, 9) = (/ & & 0.31558e-01_rb,0.32836e-01_rb,0.34085e-01_rb,0.35462e-01_rb,0.37160e-01_rb /) kbo(:,25, 9) = (/ & & 0.27861e-01_rb,0.29090e-01_rb,0.30363e-01_rb,0.31857e-01_rb,0.33566e-01_rb /) kbo(:,26, 9) = (/ & & 0.24743e-01_rb,0.26003e-01_rb,0.27311e-01_rb,0.28788e-01_rb,0.30553e-01_rb /) kbo(:,27, 9) = (/ & & 0.22141e-01_rb,0.23397e-01_rb,0.24754e-01_rb,0.26282e-01_rb,0.28040e-01_rb /) kbo(:,28, 9) = (/ & & 0.19941e-01_rb,0.21165e-01_rb,0.22565e-01_rb,0.24131e-01_rb,0.25980e-01_rb /) kbo(:,29, 9) = (/ & & 0.18046e-01_rb,0.19353e-01_rb,0.20736e-01_rb,0.22375e-01_rb,0.24248e-01_rb /) kbo(:,30, 9) = (/ & & 0.16429e-01_rb,0.17775e-01_rb,0.19238e-01_rb,0.20907e-01_rb,0.22847e-01_rb /) kbo(:,31, 9) = (/ & & 0.15094e-01_rb,0.16450e-01_rb,0.17992e-01_rb,0.19741e-01_rb,0.21608e-01_rb /) kbo(:,32, 9) = (/ & & 0.13975e-01_rb,0.15315e-01_rb,0.16950e-01_rb,0.18741e-01_rb,0.20564e-01_rb /) kbo(:,33, 9) = (/ & & 0.13026e-01_rb,0.14475e-01_rb,0.16113e-01_rb,0.17903e-01_rb,0.19794e-01_rb /) kbo(:,34, 9) = (/ & & 0.12248e-01_rb,0.13747e-01_rb,0.15391e-01_rb,0.17142e-01_rb,0.19155e-01_rb /) kbo(:,35, 9) = (/ & & 0.11491e-01_rb,0.12979e-01_rb,0.14611e-01_rb,0.16423e-01_rb,0.18475e-01_rb /) kbo(:,36, 9) = (/ & & 0.10695e-01_rb,0.12142e-01_rb,0.13822e-01_rb,0.15678e-01_rb,0.17729e-01_rb /) kbo(:,37, 9) = (/ & & 0.98761e-02_rb,0.11300e-01_rb,0.13000e-01_rb,0.14808e-01_rb,0.16848e-01_rb /) kbo(:,38, 9) = (/ & & 0.91358e-02_rb,0.10538e-01_rb,0.12200e-01_rb,0.13999e-01_rb,0.16082e-01_rb /) kbo(:,39, 9) = (/ & & 0.84558e-02_rb,0.98580e-02_rb,0.11508e-01_rb,0.13321e-01_rb,0.15372e-01_rb /) kbo(:,40, 9) = (/ & & 0.78020e-02_rb,0.91740e-02_rb,0.10778e-01_rb,0.12588e-01_rb,0.14594e-01_rb /) kbo(:,41, 9) = (/ & & 0.72028e-02_rb,0.85294e-02_rb,0.10093e-01_rb,0.11887e-01_rb,0.13872e-01_rb /) kbo(:,42, 9) = (/ & & 0.66335e-02_rb,0.79299e-02_rb,0.94524e-02_rb,0.11233e-01_rb,0.13162e-01_rb /) kbo(:,43, 9) = (/ & & 0.60936e-02_rb,0.73819e-02_rb,0.88361e-02_rb,0.10555e-01_rb,0.12456e-01_rb /) kbo(:,44, 9) = (/ & & 0.55851e-02_rb,0.68018e-02_rb,0.82487e-02_rb,0.98836e-02_rb,0.11744e-01_rb /) kbo(:,45, 9) = (/ & & 0.51361e-02_rb,0.62783e-02_rb,0.76910e-02_rb,0.92631e-02_rb,0.11096e-01_rb /) kbo(:,46, 9) = (/ & & 0.46789e-02_rb,0.57877e-02_rb,0.71257e-02_rb,0.86688e-02_rb,0.10399e-01_rb /) kbo(:,47, 9) = (/ & & 0.42434e-02_rb,0.53043e-02_rb,0.65448e-02_rb,0.80300e-02_rb,0.97286e-02_rb /) kbo(:,48, 9) = (/ & & 0.38917e-02_rb,0.48269e-02_rb,0.60283e-02_rb,0.74378e-02_rb,0.90783e-02_rb /) kbo(:,49, 9) = (/ & & 0.35823e-02_rb,0.43988e-02_rb,0.55409e-02_rb,0.68845e-02_rb,0.84495e-02_rb /) kbo(:,50, 9) = (/ & & 0.33116e-02_rb,0.40852e-02_rb,0.51044e-02_rb,0.63885e-02_rb,0.78773e-02_rb /) kbo(:,51, 9) = (/ & & 0.30752e-02_rb,0.38103e-02_rb,0.47346e-02_rb,0.59580e-02_rb,0.73779e-02_rb /) kbo(:,52, 9) = (/ & & 0.28626e-02_rb,0.35553e-02_rb,0.44430e-02_rb,0.55409e-02_rb,0.69343e-02_rb /) kbo(:,53, 9) = (/ & & 0.26485e-02_rb,0.33392e-02_rb,0.41695e-02_rb,0.51739e-02_rb,0.64753e-02_rb /) kbo(:,54, 9) = (/ & & 0.24736e-02_rb,0.31489e-02_rb,0.39367e-02_rb,0.48954e-02_rb,0.61401e-02_rb /) kbo(:,55, 9) = (/ & & 0.23362e-02_rb,0.29819e-02_rb,0.37593e-02_rb,0.46985e-02_rb,0.58363e-02_rb /) kbo(:,56, 9) = (/ & & 0.22243e-02_rb,0.28447e-02_rb,0.35827e-02_rb,0.44762e-02_rb,0.55720e-02_rb /) kbo(:,57, 9) = (/ & & 0.21389e-02_rb,0.27081e-02_rb,0.34315e-02_rb,0.43182e-02_rb,0.53898e-02_rb /) kbo(:,58, 9) = (/ & & 0.20428e-02_rb,0.25997e-02_rb,0.33047e-02_rb,0.41726e-02_rb,0.52071e-02_rb /) kbo(:,59, 9) = (/ & & 0.20538e-02_rb,0.26323e-02_rb,0.33247e-02_rb,0.41770e-02_rb,0.52496e-02_rb /) kbo(:,13,10) = (/ & & 0.58637e+00_rb,0.59481e+00_rb,0.59811e+00_rb,0.60451e+00_rb,0.60418e+00_rb /) kbo(:,14,10) = (/ & & 0.53191e+00_rb,0.53363e+00_rb,0.53861e+00_rb,0.53976e+00_rb,0.53933e+00_rb /) kbo(:,15,10) = (/ & & 0.47845e+00_rb,0.48447e+00_rb,0.48498e+00_rb,0.48691e+00_rb,0.48935e+00_rb /) kbo(:,16,10) = (/ & & 0.42695e+00_rb,0.43265e+00_rb,0.43442e+00_rb,0.43949e+00_rb,0.44244e+00_rb /) kbo(:,17,10) = (/ & & 0.37796e+00_rb,0.38437e+00_rb,0.38958e+00_rb,0.39367e+00_rb,0.39802e+00_rb /) kbo(:,18,10) = (/ & & 0.33399e+00_rb,0.33971e+00_rb,0.34517e+00_rb,0.35032e+00_rb,0.35265e+00_rb /) kbo(:,19,10) = (/ & & 0.29538e+00_rb,0.30247e+00_rb,0.30713e+00_rb,0.30943e+00_rb,0.31544e+00_rb /) kbo(:,20,10) = (/ & & 0.26154e+00_rb,0.26955e+00_rb,0.27264e+00_rb,0.27778e+00_rb,0.28167e+00_rb /) kbo(:,21,10) = (/ & & 0.23200e+00_rb,0.23896e+00_rb,0.24468e+00_rb,0.24838e+00_rb,0.25453e+00_rb /) kbo(:,22,10) = (/ & & 0.20714e+00_rb,0.21368e+00_rb,0.21959e+00_rb,0.22402e+00_rb,0.22934e+00_rb /) kbo(:,23,10) = (/ & & 0.18514e+00_rb,0.19070e+00_rb,0.19771e+00_rb,0.20426e+00_rb,0.20794e+00_rb /) kbo(:,24,10) = (/ & & 0.16629e+00_rb,0.17247e+00_rb,0.17943e+00_rb,0.18543e+00_rb,0.19044e+00_rb /) kbo(:,25,10) = (/ & & 0.15103e+00_rb,0.15758e+00_rb,0.16440e+00_rb,0.16947e+00_rb,0.17504e+00_rb /) kbo(:,26,10) = (/ & & 0.13782e+00_rb,0.14448e+00_rb,0.15050e+00_rb,0.15723e+00_rb,0.16403e+00_rb /) kbo(:,27,10) = (/ & & 0.12675e+00_rb,0.13284e+00_rb,0.13902e+00_rb,0.14547e+00_rb,0.15299e+00_rb /) kbo(:,28,10) = (/ & & 0.11700e+00_rb,0.12400e+00_rb,0.13029e+00_rb,0.13779e+00_rb,0.14535e+00_rb /) kbo(:,29,10) = (/ & & 0.10975e+00_rb,0.11580e+00_rb,0.12300e+00_rb,0.13106e+00_rb,0.13981e+00_rb /) kbo(:,30,10) = (/ & & 0.10326e+00_rb,0.10877e+00_rb,0.11694e+00_rb,0.12523e+00_rb,0.13409e+00_rb /) kbo(:,31,10) = (/ & & 0.97072e-01_rb,0.10392e+00_rb,0.11191e+00_rb,0.12092e+00_rb,0.13156e+00_rb /) kbo(:,32,10) = (/ & & 0.92483e-01_rb,0.10003e+00_rb,0.10847e+00_rb,0.11777e+00_rb,0.12978e+00_rb /) kbo(:,33,10) = (/ & & 0.89436e-01_rb,0.96549e-01_rb,0.10550e+00_rb,0.11582e+00_rb,0.12938e+00_rb /) kbo(:,34,10) = (/ & & 0.86605e-01_rb,0.93852e-01_rb,0.10437e+00_rb,0.11565e+00_rb,0.13025e+00_rb /) kbo(:,35,10) = (/ & & 0.83755e-01_rb,0.92443e-01_rb,0.10318e+00_rb,0.11569e+00_rb,0.13035e+00_rb /) kbo(:,36,10) = (/ & & 0.80159e-01_rb,0.90106e-01_rb,0.10185e+00_rb,0.11331e+00_rb,0.13105e+00_rb /) kbo(:,37,10) = (/ & & 0.76863e-01_rb,0.86981e-01_rb,0.98816e-01_rb,0.11094e+00_rb,0.12837e+00_rb /) kbo(:,38,10) = (/ & & 0.73911e-01_rb,0.84640e-01_rb,0.95988e-01_rb,0.10951e+00_rb,0.12524e+00_rb /) kbo(:,39,10) = (/ & & 0.71484e-01_rb,0.82465e-01_rb,0.93807e-01_rb,0.10732e+00_rb,0.12288e+00_rb /) kbo(:,40,10) = (/ & & 0.68367e-01_rb,0.78553e-01_rb,0.90288e-01_rb,0.10290e+00_rb,0.11884e+00_rb /) kbo(:,41,10) = (/ & & 0.65972e-01_rb,0.75367e-01_rb,0.87331e-01_rb,0.98979e-01_rb,0.11479e+00_rb /) kbo(:,42,10) = (/ & & 0.63899e-01_rb,0.72995e-01_rb,0.84392e-01_rb,0.96170e-01_rb,0.11066e+00_rb /) kbo(:,43,10) = (/ & & 0.61601e-01_rb,0.69361e-01_rb,0.80265e-01_rb,0.92296e-01_rb,0.10575e+00_rb /) kbo(:,44,10) = (/ & & 0.58053e-01_rb,0.67236e-01_rb,0.77057e-01_rb,0.88848e-01_rb,0.10118e+00_rb /) kbo(:,45,10) = (/ & & 0.55041e-01_rb,0.64788e-01_rb,0.73479e-01_rb,0.85189e-01_rb,0.97294e-01_rb /) kbo(:,46,10) = (/ & & 0.51538e-01_rb,0.61359e-01_rb,0.70493e-01_rb,0.81342e-01_rb,0.93711e-01_rb /) kbo(:,47,10) = (/ & & 0.48229e-01_rb,0.57754e-01_rb,0.67703e-01_rb,0.77712e-01_rb,0.88779e-01_rb /) kbo(:,48,10) = (/ & & 0.44328e-01_rb,0.53953e-01_rb,0.64327e-01_rb,0.74186e-01_rb,0.85354e-01_rb /) kbo(:,49,10) = (/ & & 0.40181e-01_rb,0.50939e-01_rb,0.60544e-01_rb,0.71079e-01_rb,0.81883e-01_rb /) kbo(:,50,10) = (/ & & 0.36327e-01_rb,0.47243e-01_rb,0.57625e-01_rb,0.67925e-01_rb,0.78806e-01_rb /) kbo(:,51,10) = (/ & & 0.33026e-01_rb,0.43278e-01_rb,0.54464e-01_rb,0.64411e-01_rb,0.75916e-01_rb /) kbo(:,52,10) = (/ & & 0.29600e-01_rb,0.39888e-01_rb,0.50913e-01_rb,0.61457e-01_rb,0.72719e-01_rb /) kbo(:,53,10) = (/ & & 0.26994e-01_rb,0.36264e-01_rb,0.46926e-01_rb,0.58631e-01_rb,0.68972e-01_rb /) kbo(:,54,10) = (/ & & 0.24928e-01_rb,0.33245e-01_rb,0.43870e-01_rb,0.55481e-01_rb,0.66121e-01_rb /) kbo(:,55,10) = (/ & & 0.23329e-01_rb,0.30647e-01_rb,0.40729e-01_rb,0.52051e-01_rb,0.63960e-01_rb /) kbo(:,56,10) = (/ & & 0.21581e-01_rb,0.28578e-01_rb,0.37651e-01_rb,0.48828e-01_rb,0.60673e-01_rb /) kbo(:,57,10) = (/ & & 0.20121e-01_rb,0.27060e-01_rb,0.35152e-01_rb,0.45854e-01_rb,0.57152e-01_rb /) kbo(:,58,10) = (/ & & 0.18692e-01_rb,0.25639e-01_rb,0.32995e-01_rb,0.42657e-01_rb,0.54655e-01_rb /) kbo(:,59,10) = (/ & & 0.18277e-01_rb,0.25273e-01_rb,0.32791e-01_rb,0.42508e-01_rb,0.53680e-01_rb /) kbo(:,13,11) = (/ & & 0.10693e+01_rb,0.10902e+01_rb,0.11032e+01_rb,0.10991e+01_rb,0.11118e+01_rb /) kbo(:,14,11) = (/ & & 0.95953e+00_rb,0.97384e+00_rb,0.98577e+00_rb,0.99728e+00_rb,0.10070e+01_rb /) kbo(:,15,11) = (/ & & 0.85940e+00_rb,0.86781e+00_rb,0.87766e+00_rb,0.88834e+00_rb,0.89855e+00_rb /) kbo(:,16,11) = (/ & & 0.76187e+00_rb,0.76651e+00_rb,0.78116e+00_rb,0.79605e+00_rb,0.80429e+00_rb /) kbo(:,17,11) = (/ & & 0.67627e+00_rb,0.68377e+00_rb,0.69734e+00_rb,0.70867e+00_rb,0.71758e+00_rb /) kbo(:,18,11) = (/ & & 0.60442e+00_rb,0.61462e+00_rb,0.62319e+00_rb,0.63477e+00_rb,0.64696e+00_rb /) kbo(:,19,11) = (/ & & 0.54250e+00_rb,0.55180e+00_rb,0.56132e+00_rb,0.57649e+00_rb,0.58604e+00_rb /) kbo(:,20,11) = (/ & & 0.49000e+00_rb,0.49922e+00_rb,0.51229e+00_rb,0.52536e+00_rb,0.53903e+00_rb /) kbo(:,21,11) = (/ & & 0.44362e+00_rb,0.45018e+00_rb,0.46523e+00_rb,0.48212e+00_rb,0.49590e+00_rb /) kbo(:,22,11) = (/ & & 0.40390e+00_rb,0.41136e+00_rb,0.42554e+00_rb,0.44299e+00_rb,0.45956e+00_rb /) kbo(:,23,11) = (/ & & 0.36600e+00_rb,0.37646e+00_rb,0.39144e+00_rb,0.40936e+00_rb,0.42622e+00_rb /) kbo(:,24,11) = (/ & & 0.33488e+00_rb,0.34802e+00_rb,0.36259e+00_rb,0.38089e+00_rb,0.39832e+00_rb /) kbo(:,25,11) = (/ & & 0.30569e+00_rb,0.32099e+00_rb,0.33730e+00_rb,0.35716e+00_rb,0.37447e+00_rb /) kbo(:,26,11) = (/ & & 0.28345e+00_rb,0.29933e+00_rb,0.31861e+00_rb,0.33716e+00_rb,0.35400e+00_rb /) kbo(:,27,11) = (/ & & 0.26524e+00_rb,0.28116e+00_rb,0.30310e+00_rb,0.32398e+00_rb,0.34341e+00_rb /) kbo(:,28,11) = (/ & & 0.25036e+00_rb,0.26748e+00_rb,0.29040e+00_rb,0.31038e+00_rb,0.33527e+00_rb /) kbo(:,29,11) = (/ & & 0.23678e+00_rb,0.25759e+00_rb,0.27958e+00_rb,0.30373e+00_rb,0.33097e+00_rb /) kbo(:,30,11) = (/ & & 0.22835e+00_rb,0.25043e+00_rb,0.27298e+00_rb,0.30247e+00_rb,0.33069e+00_rb /) kbo(:,31,11) = (/ & & 0.22381e+00_rb,0.24448e+00_rb,0.27386e+00_rb,0.30198e+00_rb,0.33135e+00_rb /) kbo(:,32,11) = (/ & & 0.21945e+00_rb,0.24581e+00_rb,0.27557e+00_rb,0.30488e+00_rb,0.33817e+00_rb /) kbo(:,33,11) = (/ & & 0.22020e+00_rb,0.24997e+00_rb,0.27933e+00_rb,0.31199e+00_rb,0.34537e+00_rb /) kbo(:,34,11) = (/ & & 0.22328e+00_rb,0.25315e+00_rb,0.28560e+00_rb,0.31999e+00_rb,0.35204e+00_rb /) kbo(:,35,11) = (/ & & 0.22463e+00_rb,0.25599e+00_rb,0.29016e+00_rb,0.32472e+00_rb,0.35705e+00_rb /) kbo(:,36,11) = (/ & & 0.22454e+00_rb,0.25719e+00_rb,0.29064e+00_rb,0.32676e+00_rb,0.35643e+00_rb /) kbo(:,37,11) = (/ & & 0.21917e+00_rb,0.25146e+00_rb,0.28533e+00_rb,0.32018e+00_rb,0.35207e+00_rb /) kbo(:,38,11) = (/ & & 0.21431e+00_rb,0.24593e+00_rb,0.28070e+00_rb,0.31440e+00_rb,0.34740e+00_rb /) kbo(:,39,11) = (/ & & 0.20995e+00_rb,0.24107e+00_rb,0.27540e+00_rb,0.30795e+00_rb,0.34247e+00_rb /) kbo(:,40,11) = (/ & & 0.20148e+00_rb,0.23319e+00_rb,0.26577e+00_rb,0.30086e+00_rb,0.33366e+00_rb /) kbo(:,41,11) = (/ & & 0.19132e+00_rb,0.22478e+00_rb,0.25632e+00_rb,0.29251e+00_rb,0.32436e+00_rb /) kbo(:,42,11) = (/ & & 0.18231e+00_rb,0.21584e+00_rb,0.24724e+00_rb,0.28164e+00_rb,0.31641e+00_rb /) kbo(:,43,11) = (/ & & 0.17273e+00_rb,0.20475e+00_rb,0.23702e+00_rb,0.26984e+00_rb,0.30535e+00_rb /) kbo(:,44,11) = (/ & & 0.16365e+00_rb,0.19313e+00_rb,0.22566e+00_rb,0.25812e+00_rb,0.29340e+00_rb /) kbo(:,45,11) = (/ & & 0.15471e+00_rb,0.18278e+00_rb,0.21464e+00_rb,0.24686e+00_rb,0.28060e+00_rb /) kbo(:,46,11) = (/ & & 0.14477e+00_rb,0.17256e+00_rb,0.20328e+00_rb,0.23515e+00_rb,0.26753e+00_rb /) kbo(:,47,11) = (/ & & 0.13513e+00_rb,0.16209e+00_rb,0.19092e+00_rb,0.22162e+00_rb,0.25481e+00_rb /) kbo(:,48,11) = (/ & & 0.12632e+00_rb,0.15056e+00_rb,0.17900e+00_rb,0.20905e+00_rb,0.24085e+00_rb /) kbo(:,49,11) = (/ & & 0.11846e+00_rb,0.14059e+00_rb,0.16812e+00_rb,0.19759e+00_rb,0.22701e+00_rb /) kbo(:,50,11) = (/ & & 0.11278e+00_rb,0.13341e+00_rb,0.15756e+00_rb,0.18662e+00_rb,0.21629e+00_rb /) kbo(:,51,11) = (/ & & 0.10711e+00_rb,0.12752e+00_rb,0.14951e+00_rb,0.17651e+00_rb,0.20555e+00_rb /) kbo(:,52,11) = (/ & & 0.10062e+00_rb,0.12140e+00_rb,0.14273e+00_rb,0.16677e+00_rb,0.19594e+00_rb /) kbo(:,53,11) = (/ & & 0.93686e-01_rb,0.11587e+00_rb,0.13705e+00_rb,0.15900e+00_rb,0.18673e+00_rb /) kbo(:,54,11) = (/ & & 0.88183e-01_rb,0.10986e+00_rb,0.13159e+00_rb,0.15362e+00_rb,0.17808e+00_rb /) kbo(:,55,11) = (/ & & 0.81924e-01_rb,0.10428e+00_rb,0.12662e+00_rb,0.14862e+00_rb,0.17143e+00_rb /) kbo(:,56,11) = (/ & & 0.75991e-01_rb,0.98633e-01_rb,0.12219e+00_rb,0.14408e+00_rb,0.16698e+00_rb /) kbo(:,57,11) = (/ & & 0.69399e-01_rb,0.92760e-01_rb,0.11664e+00_rb,0.14040e+00_rb,0.16308e+00_rb /) kbo(:,58,11) = (/ & & 0.64018e-01_rb,0.88343e-01_rb,0.11169e+00_rb,0.13686e+00_rb,0.15969e+00_rb /) kbo(:,59,11) = (/ & & 0.63145e-01_rb,0.86273e-01_rb,0.11143e+00_rb,0.13565e+00_rb,0.16187e+00_rb /) kbo(:,13,12) = (/ & & 0.22241e+01_rb,0.22556e+01_rb,0.22932e+01_rb,0.23316e+01_rb,0.23817e+01_rb /) kbo(:,14,12) = (/ & & 0.20015e+01_rb,0.20535e+01_rb,0.20976e+01_rb,0.21411e+01_rb,0.21895e+01_rb /) kbo(:,15,12) = (/ & & 0.18111e+01_rb,0.18671e+01_rb,0.19196e+01_rb,0.19734e+01_rb,0.20226e+01_rb /) kbo(:,16,12) = (/ & & 0.16513e+01_rb,0.17114e+01_rb,0.17632e+01_rb,0.18132e+01_rb,0.18623e+01_rb /) kbo(:,17,12) = (/ & & 0.15041e+01_rb,0.15648e+01_rb,0.16197e+01_rb,0.16720e+01_rb,0.17169e+01_rb /) kbo(:,18,12) = (/ & & 0.13731e+01_rb,0.14345e+01_rb,0.14937e+01_rb,0.15386e+01_rb,0.16052e+01_rb /) kbo(:,19,12) = (/ & & 0.12478e+01_rb,0.13115e+01_rb,0.13641e+01_rb,0.14279e+01_rb,0.14977e+01_rb /) kbo(:,20,12) = (/ & & 0.11298e+01_rb,0.11910e+01_rb,0.12495e+01_rb,0.13186e+01_rb,0.13914e+01_rb /) kbo(:,21,12) = (/ & & 0.10266e+01_rb,0.10915e+01_rb,0.11508e+01_rb,0.12227e+01_rb,0.13004e+01_rb /) kbo(:,22,12) = (/ & & 0.93959e+00_rb,0.10027e+01_rb,0.10735e+01_rb,0.11507e+01_rb,0.12312e+01_rb /) kbo(:,23,12) = (/ & & 0.87016e+00_rb,0.93486e+00_rb,0.10125e+01_rb,0.10930e+01_rb,0.11794e+01_rb /) kbo(:,24,12) = (/ & & 0.81213e+00_rb,0.88017e+00_rb,0.96483e+00_rb,0.10508e+01_rb,0.11396e+01_rb /) kbo(:,25,12) = (/ & & 0.77134e+00_rb,0.84295e+00_rb,0.93081e+00_rb,0.10201e+01_rb,0.11152e+01_rb /) kbo(:,26,12) = (/ & & 0.73832e+00_rb,0.81743e+00_rb,0.90746e+00_rb,0.10024e+01_rb,0.11020e+01_rb /) kbo(:,27,12) = (/ & & 0.71831e+00_rb,0.80328e+00_rb,0.89505e+00_rb,0.99247e+00_rb,0.10943e+01_rb /) kbo(:,28,12) = (/ & & 0.70848e+00_rb,0.79592e+00_rb,0.89143e+00_rb,0.99432e+00_rb,0.10940e+01_rb /) kbo(:,29,12) = (/ & & 0.70725e+00_rb,0.79781e+00_rb,0.89906e+00_rb,0.10007e+01_rb,0.11009e+01_rb /) kbo(:,30,12) = (/ & & 0.71125e+00_rb,0.80824e+00_rb,0.91144e+00_rb,0.10109e+01_rb,0.11144e+01_rb /) kbo(:,31,12) = (/ & & 0.72057e+00_rb,0.82548e+00_rb,0.92423e+00_rb,0.10285e+01_rb,0.11338e+01_rb /) kbo(:,32,12) = (/ & & 0.73855e+00_rb,0.84223e+00_rb,0.94322e+00_rb,0.10495e+01_rb,0.11523e+01_rb /) kbo(:,33,12) = (/ & & 0.75860e+00_rb,0.86137e+00_rb,0.96653e+00_rb,0.10709e+01_rb,0.11736e+01_rb /) kbo(:,34,12) = (/ & & 0.77584e+00_rb,0.88104e+00_rb,0.98358e+00_rb,0.10881e+01_rb,0.11928e+01_rb /) kbo(:,35,12) = (/ & & 0.78526e+00_rb,0.88915e+00_rb,0.99181e+00_rb,0.10955e+01_rb,0.12024e+01_rb /) kbo(:,36,12) = (/ & & 0.78420e+00_rb,0.88679e+00_rb,0.98962e+00_rb,0.10938e+01_rb,0.12013e+01_rb /) kbo(:,37,12) = (/ & & 0.76619e+00_rb,0.86975e+00_rb,0.97162e+00_rb,0.10774e+01_rb,0.11823e+01_rb /) kbo(:,38,12) = (/ & & 0.74778e+00_rb,0.85168e+00_rb,0.95355e+00_rb,0.10588e+01_rb,0.11642e+01_rb /) kbo(:,39,12) = (/ & & 0.73003e+00_rb,0.83397e+00_rb,0.93638e+00_rb,0.10427e+01_rb,0.11461e+01_rb /) kbo(:,40,12) = (/ & & 0.70694e+00_rb,0.80603e+00_rb,0.90951e+00_rb,0.10129e+01_rb,0.11179e+01_rb /) kbo(:,41,12) = (/ & & 0.68380e+00_rb,0.77629e+00_rb,0.88021e+00_rb,0.98263e+00_rb,0.10876e+01_rb /) kbo(:,42,12) = (/ & & 0.66231e+00_rb,0.74849e+00_rb,0.85130e+00_rb,0.95458e+00_rb,0.10576e+01_rb /) kbo(:,43,12) = (/ & & 0.63688e+00_rb,0.72048e+00_rb,0.81634e+00_rb,0.92017e+00_rb,0.10227e+01_rb /) kbo(:,44,12) = (/ & & 0.60858e+00_rb,0.69178e+00_rb,0.77940e+00_rb,0.88149e+00_rb,0.98460e+00_rb /) kbo(:,45,12) = (/ & & 0.58153e+00_rb,0.66520e+00_rb,0.74925e+00_rb,0.84319e+00_rb,0.94694e+00_rb /) kbo(:,46,12) = (/ & & 0.55197e+00_rb,0.63412e+00_rb,0.71872e+00_rb,0.80664e+00_rb,0.90684e+00_rb /) kbo(:,47,12) = (/ & & 0.51844e+00_rb,0.60273e+00_rb,0.68769e+00_rb,0.77076e+00_rb,0.86117e+00_rb /) kbo(:,48,12) = (/ & & 0.48120e+00_rb,0.57148e+00_rb,0.65491e+00_rb,0.74197e+00_rb,0.82485e+00_rb /) kbo(:,49,12) = (/ & & 0.44584e+00_rb,0.53846e+00_rb,0.62079e+00_rb,0.70603e+00_rb,0.79220e+00_rb /) kbo(:,50,12) = (/ & & 0.41289e+00_rb,0.50133e+00_rb,0.59314e+00_rb,0.67773e+00_rb,0.76297e+00_rb /) kbo(:,51,12) = (/ & & 0.38263e+00_rb,0.46808e+00_rb,0.55994e+00_rb,0.64654e+00_rb,0.73545e+00_rb /) kbo(:,52,12) = (/ & & 0.35216e+00_rb,0.43713e+00_rb,0.52781e+00_rb,0.61897e+00_rb,0.70212e+00_rb /) kbo(:,53,12) = (/ & & 0.33102e+00_rb,0.40477e+00_rb,0.49059e+00_rb,0.58472e+00_rb,0.67270e+00_rb /) kbo(:,54,12) = (/ & & 0.31146e+00_rb,0.37834e+00_rb,0.46271e+00_rb,0.55353e+00_rb,0.64596e+00_rb /) kbo(:,55,12) = (/ & & 0.29087e+00_rb,0.35982e+00_rb,0.43598e+00_rb,0.52416e+00_rb,0.61765e+00_rb /) kbo(:,56,12) = (/ & & 0.27304e+00_rb,0.34098e+00_rb,0.41224e+00_rb,0.49775e+00_rb,0.58771e+00_rb /) kbo(:,57,12) = (/ & & 0.25824e+00_rb,0.32066e+00_rb,0.39085e+00_rb,0.46641e+00_rb,0.55829e+00_rb /) kbo(:,58,12) = (/ & & 0.24548e+00_rb,0.30081e+00_rb,0.37338e+00_rb,0.44708e+00_rb,0.53062e+00_rb /) kbo(:,59,12) = (/ & & 0.24212e+00_rb,0.29858e+00_rb,0.36550e+00_rb,0.44064e+00_rb,0.51789e+00_rb /) kbo(:,13,13) = (/ & & 0.55998e+01_rb,0.57039e+01_rb,0.58049e+01_rb,0.59180e+01_rb,0.59854e+01_rb /) kbo(:,14,13) = (/ & & 0.53275e+01_rb,0.54387e+01_rb,0.55543e+01_rb,0.56621e+01_rb,0.57635e+01_rb /) kbo(:,15,13) = (/ & & 0.50203e+01_rb,0.51578e+01_rb,0.52898e+01_rb,0.54130e+01_rb,0.55373e+01_rb /) kbo(:,16,13) = (/ & & 0.47246e+01_rb,0.48786e+01_rb,0.50266e+01_rb,0.51689e+01_rb,0.53242e+01_rb /) kbo(:,17,13) = (/ & & 0.44403e+01_rb,0.46027e+01_rb,0.47680e+01_rb,0.49455e+01_rb,0.51299e+01_rb /) kbo(:,18,13) = (/ & & 0.41648e+01_rb,0.43473e+01_rb,0.45415e+01_rb,0.47508e+01_rb,0.49298e+01_rb /) kbo(:,19,13) = (/ & & 0.39134e+01_rb,0.41196e+01_rb,0.43493e+01_rb,0.45520e+01_rb,0.47522e+01_rb /) kbo(:,20,13) = (/ & & 0.36873e+01_rb,0.39195e+01_rb,0.41603e+01_rb,0.43826e+01_rb,0.46005e+01_rb /) kbo(:,21,13) = (/ & & 0.34974e+01_rb,0.37507e+01_rb,0.40010e+01_rb,0.42413e+01_rb,0.44759e+01_rb /) kbo(:,22,13) = (/ & & 0.33605e+01_rb,0.36305e+01_rb,0.38873e+01_rb,0.41404e+01_rb,0.43929e+01_rb /) kbo(:,23,13) = (/ & & 0.32571e+01_rb,0.35388e+01_rb,0.38042e+01_rb,0.40702e+01_rb,0.43353e+01_rb /) kbo(:,24,13) = (/ & & 0.31836e+01_rb,0.34721e+01_rb,0.37495e+01_rb,0.40277e+01_rb,0.43044e+01_rb /) kbo(:,25,13) = (/ & & 0.31346e+01_rb,0.34329e+01_rb,0.37222e+01_rb,0.40107e+01_rb,0.42953e+01_rb /) kbo(:,26,13) = (/ & & 0.31155e+01_rb,0.34221e+01_rb,0.37222e+01_rb,0.40178e+01_rb,0.43079e+01_rb /) kbo(:,27,13) = (/ & & 0.31157e+01_rb,0.34328e+01_rb,0.37392e+01_rb,0.40396e+01_rb,0.43346e+01_rb /) kbo(:,28,13) = (/ & & 0.31335e+01_rb,0.34580e+01_rb,0.37695e+01_rb,0.40734e+01_rb,0.43720e+01_rb /) kbo(:,29,13) = (/ & & 0.31697e+01_rb,0.34978e+01_rb,0.38120e+01_rb,0.41186e+01_rb,0.44189e+01_rb /) kbo(:,30,13) = (/ & & 0.32194e+01_rb,0.35475e+01_rb,0.38638e+01_rb,0.41720e+01_rb,0.44722e+01_rb /) kbo(:,31,13) = (/ & & 0.32811e+01_rb,0.36069e+01_rb,0.39241e+01_rb,0.42325e+01_rb,0.45314e+01_rb /) kbo(:,32,13) = (/ & & 0.33484e+01_rb,0.36727e+01_rb,0.39897e+01_rb,0.42974e+01_rb,0.45949e+01_rb /) kbo(:,33,13) = (/ & & 0.34186e+01_rb,0.37430e+01_rb,0.40586e+01_rb,0.43658e+01_rb,0.46602e+01_rb /) kbo(:,34,13) = (/ & & 0.34801e+01_rb,0.38048e+01_rb,0.41197e+01_rb,0.44255e+01_rb,0.47156e+01_rb /) kbo(:,35,13) = (/ & & 0.35126e+01_rb,0.38375e+01_rb,0.41525e+01_rb,0.44577e+01_rb,0.47454e+01_rb /) kbo(:,36,13) = (/ & & 0.35115e+01_rb,0.38370e+01_rb,0.41529e+01_rb,0.44584e+01_rb,0.47449e+01_rb /) kbo(:,37,13) = (/ & & 0.34620e+01_rb,0.37892e+01_rb,0.41066e+01_rb,0.44144e+01_rb,0.47052e+01_rb /) kbo(:,38,13) = (/ & & 0.34108e+01_rb,0.37391e+01_rb,0.40587e+01_rb,0.43685e+01_rb,0.46624e+01_rb /) kbo(:,39,13) = (/ & & 0.33603e+01_rb,0.36896e+01_rb,0.40114e+01_rb,0.43229e+01_rb,0.46208e+01_rb /) kbo(:,40,13) = (/ & & 0.32696e+01_rb,0.36068e+01_rb,0.39317e+01_rb,0.42460e+01_rb,0.45479e+01_rb /) kbo(:,41,13) = (/ & & 0.31746e+01_rb,0.35197e+01_rb,0.38475e+01_rb,0.41644e+01_rb,0.44716e+01_rb /) kbo(:,42,13) = (/ & & 0.30768e+01_rb,0.34312e+01_rb,0.37630e+01_rb,0.40826e+01_rb,0.43924e+01_rb /) kbo(:,43,13) = (/ & & 0.29558e+01_rb,0.33178e+01_rb,0.36587e+01_rb,0.39822e+01_rb,0.42959e+01_rb /) kbo(:,44,13) = (/ & & 0.28280e+01_rb,0.31906e+01_rb,0.35435e+01_rb,0.38727e+01_rb,0.41899e+01_rb /) kbo(:,45,13) = (/ & & 0.26988e+01_rb,0.30597e+01_rb,0.34201e+01_rb,0.37628e+01_rb,0.40831e+01_rb /) kbo(:,46,13) = (/ & & 0.25661e+01_rb,0.29262e+01_rb,0.32865e+01_rb,0.36383e+01_rb,0.39682e+01_rb /) kbo(:,47,13) = (/ & & 0.24176e+01_rb,0.27716e+01_rb,0.31308e+01_rb,0.34925e+01_rb,0.38381e+01_rb /) kbo(:,48,13) = (/ & & 0.22754e+01_rb,0.26218e+01_rb,0.29793e+01_rb,0.33363e+01_rb,0.36948e+01_rb /) kbo(:,49,13) = (/ & & 0.21329e+01_rb,0.24724e+01_rb,0.28302e+01_rb,0.31874e+01_rb,0.35454e+01_rb /) kbo(:,50,13) = (/ & & 0.20005e+01_rb,0.23398e+01_rb,0.26856e+01_rb,0.30422e+01_rb,0.34002e+01_rb /) kbo(:,51,13) = (/ & & 0.18713e+01_rb,0.22087e+01_rb,0.25515e+01_rb,0.29067e+01_rb,0.32588e+01_rb /) kbo(:,52,13) = (/ & & 0.17459e+01_rb,0.20772e+01_rb,0.24169e+01_rb,0.27666e+01_rb,0.31241e+01_rb /) kbo(:,53,13) = (/ & & 0.16095e+01_rb,0.19502e+01_rb,0.22895e+01_rb,0.26325e+01_rb,0.29855e+01_rb /) kbo(:,54,13) = (/ & & 0.15066e+01_rb,0.18320e+01_rb,0.21659e+01_rb,0.25081e+01_rb,0.28569e+01_rb /) kbo(:,55,13) = (/ & & 0.14318e+01_rb,0.17117e+01_rb,0.20491e+01_rb,0.23896e+01_rb,0.27343e+01_rb /) kbo(:,56,13) = (/ & & 0.13449e+01_rb,0.16235e+01_rb,0.19309e+01_rb,0.22682e+01_rb,0.26139e+01_rb /) kbo(:,57,13) = (/ & & 0.12667e+01_rb,0.15514e+01_rb,0.18274e+01_rb,0.21528e+01_rb,0.24919e+01_rb /) kbo(:,58,13) = (/ & & 0.11763e+01_rb,0.14696e+01_rb,0.17445e+01_rb,0.20345e+01_rb,0.23757e+01_rb /) kbo(:,59,13) = (/ & & 0.11472e+01_rb,0.14428e+01_rb,0.17312e+01_rb,0.20031e+01_rb,0.23234e+01_rb /) kbo(:,13,14) = (/ & & 0.15147e+02_rb,0.15130e+02_rb,0.15113e+02_rb,0.15099e+02_rb,0.15078e+02_rb /) kbo(:,14,14) = (/ & & 0.15510e+02_rb,0.15546e+02_rb,0.15567e+02_rb,0.15587e+02_rb,0.15585e+02_rb /) kbo(:,15,14) = (/ & & 0.15739e+02_rb,0.15841e+02_rb,0.15930e+02_rb,0.15986e+02_rb,0.16004e+02_rb /) kbo(:,16,14) = (/ & & 0.15858e+02_rb,0.16042e+02_rb,0.16196e+02_rb,0.16295e+02_rb,0.16347e+02_rb /) kbo(:,17,14) = (/ & & 0.15892e+02_rb,0.16168e+02_rb,0.16375e+02_rb,0.16519e+02_rb,0.16620e+02_rb /) kbo(:,18,14) = (/ & & 0.15890e+02_rb,0.16233e+02_rb,0.16495e+02_rb,0.16687e+02_rb,0.16843e+02_rb /) kbo(:,19,14) = (/ & & 0.15860e+02_rb,0.16260e+02_rb,0.16572e+02_rb,0.16822e+02_rb,0.17016e+02_rb /) kbo(:,20,14) = (/ & & 0.15821e+02_rb,0.16274e+02_rb,0.16642e+02_rb,0.16937e+02_rb,0.17165e+02_rb /) kbo(:,21,14) = (/ & & 0.15778e+02_rb,0.16284e+02_rb,0.16705e+02_rb,0.17036e+02_rb,0.17293e+02_rb /) kbo(:,22,14) = (/ & & 0.15777e+02_rb,0.16337e+02_rb,0.16794e+02_rb,0.17151e+02_rb,0.17417e+02_rb /) kbo(:,23,14) = (/ & & 0.15815e+02_rb,0.16408e+02_rb,0.16883e+02_rb,0.17258e+02_rb,0.17537e+02_rb /) kbo(:,24,14) = (/ & & 0.15884e+02_rb,0.16493e+02_rb,0.16982e+02_rb,0.17365e+02_rb,0.17648e+02_rb /) kbo(:,25,14) = (/ & & 0.15973e+02_rb,0.16594e+02_rb,0.17087e+02_rb,0.17470e+02_rb,0.17753e+02_rb /) kbo(:,26,14) = (/ & & 0.16098e+02_rb,0.16711e+02_rb,0.17198e+02_rb,0.17574e+02_rb,0.17853e+02_rb /) kbo(:,27,14) = (/ & & 0.16232e+02_rb,0.16836e+02_rb,0.17310e+02_rb,0.17676e+02_rb,0.17946e+02_rb /) kbo(:,28,14) = (/ & & 0.16376e+02_rb,0.16966e+02_rb,0.17425e+02_rb,0.17775e+02_rb,0.18032e+02_rb /) kbo(:,29,14) = (/ & & 0.16527e+02_rb,0.17096e+02_rb,0.17538e+02_rb,0.17871e+02_rb,0.18111e+02_rb /) kbo(:,30,14) = (/ & & 0.16681e+02_rb,0.17223e+02_rb,0.17646e+02_rb,0.17959e+02_rb,0.18183e+02_rb /) kbo(:,31,14) = (/ & & 0.16832e+02_rb,0.17348e+02_rb,0.17747e+02_rb,0.18041e+02_rb,0.18247e+02_rb /) kbo(:,32,14) = (/ & & 0.16982e+02_rb,0.17470e+02_rb,0.17844e+02_rb,0.18116e+02_rb,0.18304e+02_rb /) kbo(:,33,14) = (/ & & 0.17125e+02_rb,0.17586e+02_rb,0.17935e+02_rb,0.18187e+02_rb,0.18356e+02_rb /) kbo(:,34,14) = (/ & & 0.17243e+02_rb,0.17681e+02_rb,0.18009e+02_rb,0.18243e+02_rb,0.18396e+02_rb /) kbo(:,35,14) = (/ & & 0.17308e+02_rb,0.17736e+02_rb,0.18053e+02_rb,0.18277e+02_rb,0.18422e+02_rb /) kbo(:,36,14) = (/ & & 0.17321e+02_rb,0.17747e+02_rb,0.18064e+02_rb,0.18289e+02_rb,0.18431e+02_rb /) kbo(:,37,14) = (/ & & 0.17259e+02_rb,0.17701e+02_rb,0.18033e+02_rb,0.18270e+02_rb,0.18425e+02_rb /) kbo(:,38,14) = (/ & & 0.17190e+02_rb,0.17649e+02_rb,0.17997e+02_rb,0.18247e+02_rb,0.18415e+02_rb /) kbo(:,39,14) = (/ & & 0.17116e+02_rb,0.17594e+02_rb,0.17957e+02_rb,0.18221e+02_rb,0.18401e+02_rb /) kbo(:,40,14) = (/ & & 0.16981e+02_rb,0.17491e+02_rb,0.17882e+02_rb,0.18168e+02_rb,0.18367e+02_rb /) kbo(:,41,14) = (/ & & 0.16829e+02_rb,0.17375e+02_rb,0.17795e+02_rb,0.18107e+02_rb,0.18328e+02_rb /) kbo(:,42,14) = (/ & & 0.16667e+02_rb,0.17250e+02_rb,0.17700e+02_rb,0.18038e+02_rb,0.18281e+02_rb /) kbo(:,43,14) = (/ & & 0.16452e+02_rb,0.17082e+02_rb,0.17573e+02_rb,0.17944e+02_rb,0.18214e+02_rb /) kbo(:,44,14) = (/ & & 0.16203e+02_rb,0.16887e+02_rb,0.17421e+02_rb,0.17833e+02_rb,0.18135e+02_rb /) kbo(:,45,14) = (/ & & 0.15935e+02_rb,0.16673e+02_rb,0.17257e+02_rb,0.17708e+02_rb,0.18046e+02_rb /) kbo(:,46,14) = (/ & & 0.15628e+02_rb,0.16427e+02_rb,0.17064e+02_rb,0.17560e+02_rb,0.17936e+02_rb /) kbo(:,47,14) = (/ & & 0.15258e+02_rb,0.16126e+02_rb,0.16827e+02_rb,0.17377e+02_rb,0.17799e+02_rb /) kbo(:,48,14) = (/ & & 0.14864e+02_rb,0.15798e+02_rb,0.16564e+02_rb,0.17174e+02_rb,0.17643e+02_rb /) kbo(:,49,14) = (/ & & 0.14439e+02_rb,0.15441e+02_rb,0.16276e+02_rb,0.16946e+02_rb,0.17469e+02_rb /) kbo(:,50,14) = (/ & & 0.14012e+02_rb,0.15084e+02_rb,0.15980e+02_rb,0.16711e+02_rb,0.17289e+02_rb /) kbo(:,51,14) = (/ & & 0.13576e+02_rb,0.14715e+02_rb,0.15671e+02_rb,0.16463e+02_rb,0.17096e+02_rb /) kbo(:,52,14) = (/ & & 0.13120e+02_rb,0.14320e+02_rb,0.15341e+02_rb,0.16194e+02_rb,0.16882e+02_rb /) kbo(:,53,14) = (/ & & 0.12642e+02_rb,0.13899e+02_rb,0.14988e+02_rb,0.15902e+02_rb,0.16649e+02_rb /) kbo(:,54,14) = (/ & & 0.12147e+02_rb,0.13496e+02_rb,0.14645e+02_rb,0.15614e+02_rb,0.16418e+02_rb /) kbo(:,55,14) = (/ & & 0.11626e+02_rb,0.13090e+02_rb,0.14295e+02_rb,0.15320e+02_rb,0.16178e+02_rb /) kbo(:,56,14) = (/ & & 0.11110e+02_rb,0.12619e+02_rb,0.13926e+02_rb,0.15012e+02_rb,0.15922e+02_rb /) kbo(:,57,14) = (/ & & 0.10565e+02_rb,0.12110e+02_rb,0.13518e+02_rb,0.14685e+02_rb,0.15649e+02_rb /) kbo(:,58,14) = (/ & & 0.10061e+02_rb,0.11633e+02_rb,0.13084e+02_rb,0.14356e+02_rb,0.15374e+02_rb /) kbo(:,59,14) = (/ & & 0.98377e+01_rb,0.11416e+02_rb,0.12868e+02_rb,0.14184e+02_rb,0.15259e+02_rb /) kbo(:,13,15) = (/ & & 0.41304e+02_rb,0.40483e+02_rb,0.39654e+02_rb,0.38829e+02_rb,0.38029e+02_rb /) kbo(:,14,15) = (/ & & 0.44686e+02_rb,0.43762e+02_rb,0.42836e+02_rb,0.41888e+02_rb,0.41004e+02_rb /) kbo(:,15,15) = (/ & & 0.48004e+02_rb,0.46942e+02_rb,0.45864e+02_rb,0.44813e+02_rb,0.43844e+02_rb /) kbo(:,16,15) = (/ & & 0.51150e+02_rb,0.49938e+02_rb,0.48734e+02_rb,0.47591e+02_rb,0.46512e+02_rb /) kbo(:,17,15) = (/ & & 0.54100e+02_rb,0.52729e+02_rb,0.51435e+02_rb,0.50180e+02_rb,0.48962e+02_rb /) kbo(:,18,15) = (/ & & 0.56777e+02_rb,0.55306e+02_rb,0.53894e+02_rb,0.52525e+02_rb,0.51164e+02_rb /) kbo(:,19,15) = (/ & & 0.59186e+02_rb,0.57635e+02_rb,0.56100e+02_rb,0.54603e+02_rb,0.53129e+02_rb /) kbo(:,20,15) = (/ & & 0.61293e+02_rb,0.59648e+02_rb,0.58005e+02_rb,0.56388e+02_rb,0.54798e+02_rb /) kbo(:,21,15) = (/ & & 0.63124e+02_rb,0.61368e+02_rb,0.59613e+02_rb,0.57895e+02_rb,0.56204e+02_rb /) kbo(:,22,15) = (/ & & 0.64562e+02_rb,0.62695e+02_rb,0.60841e+02_rb,0.59040e+02_rb,0.57268e+02_rb /) kbo(:,23,15) = (/ & & 0.65690e+02_rb,0.63742e+02_rb,0.61820e+02_rb,0.59937e+02_rb,0.58087e+02_rb /) kbo(:,24,15) = (/ & & 0.66548e+02_rb,0.64535e+02_rb,0.62550e+02_rb,0.60597e+02_rb,0.58690e+02_rb /) kbo(:,25,15) = (/ & & 0.67194e+02_rb,0.65115e+02_rb,0.63062e+02_rb,0.61050e+02_rb,0.59091e+02_rb /) kbo(:,26,15) = (/ & & 0.67597e+02_rb,0.65466e+02_rb,0.63369e+02_rb,0.61312e+02_rb,0.59309e+02_rb /) kbo(:,27,15) = (/ & & 0.67831e+02_rb,0.65647e+02_rb,0.63518e+02_rb,0.61430e+02_rb,0.59393e+02_rb /) kbo(:,28,15) = (/ & & 0.67908e+02_rb,0.65687e+02_rb,0.63527e+02_rb,0.61427e+02_rb,0.59357e+02_rb /) kbo(:,29,15) = (/ & & 0.67845e+02_rb,0.65603e+02_rb,0.63419e+02_rb,0.61304e+02_rb,0.59222e+02_rb /) kbo(:,30,15) = (/ & & 0.67682e+02_rb,0.65422e+02_rb,0.63225e+02_rb,0.61094e+02_rb,0.59010e+02_rb /) kbo(:,31,15) = (/ & & 0.67415e+02_rb,0.65154e+02_rb,0.62953e+02_rb,0.60816e+02_rb,0.58721e+02_rb /) kbo(:,32,15) = (/ & & 0.67084e+02_rb,0.64817e+02_rb,0.62622e+02_rb,0.60477e+02_rb,0.58393e+02_rb /) kbo(:,33,15) = (/ & & 0.66692e+02_rb,0.64428e+02_rb,0.62242e+02_rb,0.60092e+02_rb,0.58024e+02_rb /) kbo(:,34,15) = (/ & & 0.66346e+02_rb,0.64077e+02_rb,0.61890e+02_rb,0.59745e+02_rb,0.57700e+02_rb /) kbo(:,35,15) = (/ & & 0.66188e+02_rb,0.63920e+02_rb,0.61727e+02_rb,0.59582e+02_rb,0.57542e+02_rb /) kbo(:,36,15) = (/ & & 0.66248e+02_rb,0.63978e+02_rb,0.61782e+02_rb,0.59625e+02_rb,0.57587e+02_rb /) kbo(:,37,15) = (/ & & 0.66642e+02_rb,0.64358e+02_rb,0.62144e+02_rb,0.59978e+02_rb,0.57911e+02_rb /) kbo(:,38,15) = (/ & & 0.67048e+02_rb,0.64747e+02_rb,0.62516e+02_rb,0.60340e+02_rb,0.58249e+02_rb /) kbo(:,39,15) = (/ & & 0.67435e+02_rb,0.65122e+02_rb,0.62879e+02_rb,0.60689e+02_rb,0.58578e+02_rb /) kbo(:,40,15) = (/ & & 0.68061e+02_rb,0.65724e+02_rb,0.63462e+02_rb,0.61257e+02_rb,0.59113e+02_rb /) kbo(:,41,15) = (/ & & 0.68702e+02_rb,0.66354e+02_rb,0.64067e+02_rb,0.61847e+02_rb,0.59682e+02_rb /) kbo(:,42,15) = (/ & & 0.69355e+02_rb,0.66983e+02_rb,0.64678e+02_rb,0.62437e+02_rb,0.60259e+02_rb /) kbo(:,43,15) = (/ & & 0.70142e+02_rb,0.67744e+02_rb,0.65416e+02_rb,0.63159e+02_rb,0.60959e+02_rb /) kbo(:,44,15) = (/ & & 0.70991e+02_rb,0.68567e+02_rb,0.66218e+02_rb,0.63930e+02_rb,0.61713e+02_rb /) kbo(:,45,15) = (/ & & 0.71837e+02_rb,0.69401e+02_rb,0.67026e+02_rb,0.64713e+02_rb,0.62473e+02_rb /) kbo(:,46,15) = (/ & & 0.72733e+02_rb,0.70287e+02_rb,0.67885e+02_rb,0.65552e+02_rb,0.63292e+02_rb /) kbo(:,47,15) = (/ & & 0.73741e+02_rb,0.71285e+02_rb,0.68859e+02_rb,0.66493e+02_rb,0.64198e+02_rb /) kbo(:,48,15) = (/ & & 0.74725e+02_rb,0.72283e+02_rb,0.69840e+02_rb,0.67442e+02_rb,0.65125e+02_rb /) kbo(:,49,15) = (/ & & 0.75665e+02_rb,0.73280e+02_rb,0.70828e+02_rb,0.68404e+02_rb,0.66060e+02_rb /) kbo(:,50,15) = (/ & & 0.76534e+02_rb,0.74218e+02_rb,0.71764e+02_rb,0.69323e+02_rb,0.66942e+02_rb /) kbo(:,51,15) = (/ & & 0.77333e+02_rb,0.75093e+02_rb,0.72664e+02_rb,0.70214e+02_rb,0.67806e+02_rb /) kbo(:,52,15) = (/ & & 0.78102e+02_rb,0.75935e+02_rb,0.73563e+02_rb,0.71111e+02_rb,0.68683e+02_rb /) kbo(:,53,15) = (/ & & 0.78815e+02_rb,0.76761e+02_rb,0.74462e+02_rb,0.72010e+02_rb,0.69568e+02_rb /) kbo(:,54,15) = (/ & & 0.79431e+02_rb,0.77488e+02_rb,0.75258e+02_rb,0.72840e+02_rb,0.70386e+02_rb /) kbo(:,55,15) = (/ & & 0.79987e+02_rb,0.78156e+02_rb,0.75999e+02_rb,0.73628e+02_rb,0.71177e+02_rb /) kbo(:,56,15) = (/ & & 0.80478e+02_rb,0.78776e+02_rb,0.76714e+02_rb,0.74415e+02_rb,0.71963e+02_rb /) kbo(:,57,15) = (/ & & 0.80898e+02_rb,0.79365e+02_rb,0.77410e+02_rb,0.75181e+02_rb,0.72750e+02_rb /) kbo(:,58,15) = (/ & & 0.81210e+02_rb,0.79894e+02_rb,0.78053e+02_rb,0.75880e+02_rb,0.73498e+02_rb /) kbo(:,59,15) = (/ & & 0.81312e+02_rb,0.80086e+02_rb,0.78299e+02_rb,0.76156e+02_rb,0.73801e+02_rb /) kbo(:,13,16) = (/ & & 0.81866e+02_rb,0.78569e+02_rb,0.75624e+02_rb,0.72854e+02_rb,0.70288e+02_rb /) kbo(:,14,16) = (/ & & 0.93095e+02_rb,0.88986e+02_rb,0.85351e+02_rb,0.82051e+02_rb,0.78936e+02_rb /) kbo(:,15,16) = (/ & & 0.10470e+03_rb,0.99738e+02_rb,0.95227e+02_rb,0.91249e+02_rb,0.87478e+02_rb /) kbo(:,16,16) = (/ & & 0.11635e+03_rb,0.11037e+03_rb,0.10495e+03_rb,0.10011e+03_rb,0.95646e+02_rb /) kbo(:,17,16) = (/ & & 0.12769e+03_rb,0.12074e+03_rb,0.11431e+03_rb,0.10856e+03_rb,0.10332e+03_rb /) kbo(:,18,16) = (/ & & 0.13851e+03_rb,0.13038e+03_rb,0.12299e+03_rb,0.11635e+03_rb,0.11033e+03_rb /) kbo(:,19,16) = (/ & & 0.14848e+03_rb,0.13912e+03_rb,0.13084e+03_rb,0.12336e+03_rb,0.11656e+03_rb /) kbo(:,20,16) = (/ & & 0.15718e+03_rb,0.14679e+03_rb,0.13761e+03_rb,0.12934e+03_rb,0.12188e+03_rb /) kbo(:,21,16) = (/ & & 0.16462e+03_rb,0.15341e+03_rb,0.14345e+03_rb,0.13443e+03_rb,0.12636e+03_rb /) kbo(:,22,16) = (/ & & 0.17012e+03_rb,0.15822e+03_rb,0.14760e+03_rb,0.13801e+03_rb,0.12950e+03_rb /) kbo(:,23,16) = (/ & & 0.17437e+03_rb,0.16184e+03_rb,0.15069e+03_rb,0.14069e+03_rb,0.13184e+03_rb /) kbo(:,24,16) = (/ & & 0.17733e+03_rb,0.16436e+03_rb,0.15282e+03_rb,0.14251e+03_rb,0.13340e+03_rb /) kbo(:,25,16) = (/ & & 0.17910e+03_rb,0.16583e+03_rb,0.15401e+03_rb,0.14354e+03_rb,0.13426e+03_rb /) kbo(:,26,16) = (/ & & 0.17968e+03_rb,0.16627e+03_rb,0.15433e+03_rb,0.14378e+03_rb,0.13445e+03_rb /) kbo(:,27,16) = (/ & & 0.17946e+03_rb,0.16602e+03_rb,0.15406e+03_rb,0.14351e+03_rb,0.13417e+03_rb /) kbo(:,28,16) = (/ & & 0.17860e+03_rb,0.16522e+03_rb,0.15334e+03_rb,0.14282e+03_rb,0.13355e+03_rb /) kbo(:,29,16) = (/ & & 0.17717e+03_rb,0.16389e+03_rb,0.15216e+03_rb,0.14174e+03_rb,0.13260e+03_rb /) kbo(:,30,16) = (/ & & 0.17533e+03_rb,0.16225e+03_rb,0.15066e+03_rb,0.14043e+03_rb,0.13143e+03_rb /) kbo(:,31,16) = (/ & & 0.17313e+03_rb,0.16029e+03_rb,0.14890e+03_rb,0.13886e+03_rb,0.13004e+03_rb /) kbo(:,32,16) = (/ & & 0.17069e+03_rb,0.15811e+03_rb,0.14694e+03_rb,0.13716e+03_rb,0.12847e+03_rb /) kbo(:,33,16) = (/ & & 0.16804e+03_rb,0.15577e+03_rb,0.14487e+03_rb,0.13533e+03_rb,0.12682e+03_rb /) kbo(:,34,16) = (/ & & 0.16580e+03_rb,0.15376e+03_rb,0.14309e+03_rb,0.13376e+03_rb,0.12539e+03_rb /) kbo(:,35,16) = (/ & & 0.16467e+03_rb,0.15275e+03_rb,0.14221e+03_rb,0.13298e+03_rb,0.12468e+03_rb /) kbo(:,36,16) = (/ & & 0.16486e+03_rb,0.15289e+03_rb,0.14233e+03_rb,0.13308e+03_rb,0.12477e+03_rb /) kbo(:,37,16) = (/ & & 0.16688e+03_rb,0.15469e+03_rb,0.14392e+03_rb,0.13446e+03_rb,0.12602e+03_rb /) kbo(:,38,16) = (/ & & 0.16902e+03_rb,0.15657e+03_rb,0.14555e+03_rb,0.13592e+03_rb,0.12732e+03_rb /) kbo(:,39,16) = (/ & & 0.17110e+03_rb,0.15844e+03_rb,0.14718e+03_rb,0.13734e+03_rb,0.12861e+03_rb /) kbo(:,40,16) = (/ & & 0.17468e+03_rb,0.16155e+03_rb,0.14992e+03_rb,0.13976e+03_rb,0.13077e+03_rb /) kbo(:,41,16) = (/ & & 0.17848e+03_rb,0.16489e+03_rb,0.15289e+03_rb,0.14236e+03_rb,0.13307e+03_rb /) kbo(:,42,16) = (/ & & 0.18237e+03_rb,0.16833e+03_rb,0.15592e+03_rb,0.14501e+03_rb,0.13541e+03_rb /) kbo(:,43,16) = (/ & & 0.18726e+03_rb,0.17263e+03_rb,0.15975e+03_rb,0.14834e+03_rb,0.13835e+03_rb /) kbo(:,44,16) = (/ & & 0.19275e+03_rb,0.17748e+03_rb,0.16403e+03_rb,0.15210e+03_rb,0.14166e+03_rb /) kbo(:,45,16) = (/ & & 0.19851e+03_rb,0.18250e+03_rb,0.16844e+03_rb,0.15602e+03_rb,0.14507e+03_rb /) kbo(:,46,16) = (/ & & 0.20490e+03_rb,0.18806e+03_rb,0.17333e+03_rb,0.16038e+03_rb,0.14888e+03_rb /) kbo(:,47,16) = (/ & & 0.21238e+03_rb,0.19462e+03_rb,0.17910e+03_rb,0.16545e+03_rb,0.15337e+03_rb /) kbo(:,48,16) = (/ & & 0.22029e+03_rb,0.20156e+03_rb,0.18514e+03_rb,0.17074e+03_rb,0.15806e+03_rb /) kbo(:,49,16) = (/ & & 0.22889e+03_rb,0.20882e+03_rb,0.19150e+03_rb,0.17637e+03_rb,0.16304e+03_rb /) kbo(:,50,16) = (/ & & 0.23745e+03_rb,0.21596e+03_rb,0.19782e+03_rb,0.18187e+03_rb,0.16787e+03_rb /) kbo(:,51,16) = (/ & & 0.24629e+03_rb,0.22340e+03_rb,0.20422e+03_rb,0.18747e+03_rb,0.17280e+03_rb /) kbo(:,52,16) = (/ & & 0.25553e+03_rb,0.23136e+03_rb,0.21090e+03_rb,0.19335e+03_rb,0.17798e+03_rb /) kbo(:,53,16) = (/ & & 0.26553e+03_rb,0.23980e+03_rb,0.21793e+03_rb,0.19951e+03_rb,0.18336e+03_rb /) kbo(:,54,16) = (/ & & 0.27524e+03_rb,0.24799e+03_rb,0.22485e+03_rb,0.20544e+03_rb,0.18854e+03_rb /) kbo(:,55,16) = (/ & & 0.28502e+03_rb,0.25615e+03_rb,0.23188e+03_rb,0.21133e+03_rb,0.19372e+03_rb /) kbo(:,56,16) = (/ & & 0.29529e+03_rb,0.26491e+03_rb,0.23927e+03_rb,0.21749e+03_rb,0.19913e+03_rb /) kbo(:,57,16) = (/ & & 0.30624e+03_rb,0.27413e+03_rb,0.24703e+03_rb,0.22404e+03_rb,0.20478e+03_rb /) kbo(:,58,16) = (/ & & 0.31727e+03_rb,0.28329e+03_rb,0.25471e+03_rb,0.23065e+03_rb,0.21031e+03_rb /) kbo(:,59,16) = (/ & & 0.32188e+03_rb,0.28710e+03_rb,0.25796e+03_rb,0.23341e+03_rb,0.21261e+03_rb /) ! ----------------------------------------------------------------- forrefo(:, 1) = (/ 0.214504e-06_rb, 0.460418e-06_rb, 0.357608e-05_rb, 0.192037e-05_rb /) forrefo(:, 2) = (/ 0.142576e-05_rb, 0.364463e-05_rb, 0.117033e-04_rb, 0.112085e-04_rb /) forrefo(:, 3) = (/ 0.101536e-04_rb, 0.124096e-04_rb, 0.509190e-04_rb, 0.565282e-04_rb /) forrefo(:, 4) = (/ 0.143394e-03_rb, 0.154700e-03_rb, 0.466498e-03_rb, 0.918829e-03_rb /) forrefo(:, 5) = (/ 0.251631e-02_rb, 0.241729e-02_rb, 0.240057e-02_rb, 0.350408e-02_rb /) forrefo(:, 6) = (/ 0.410309e-02_rb, 0.416851e-02_rb, 0.390925e-02_rb, 0.383694e-02_rb /) forrefo(:, 7) = (/ 0.445387e-02_rb, 0.448657e-02_rb, 0.432310e-02_rb, 0.370739e-02_rb /) forrefo(:, 8) = (/ 0.458150e-02_rb, 0.460014e-02_rb, 0.450245e-02_rb, 0.336718e-02_rb /) forrefo(:, 9) = (/ 0.465423e-02_rb, 0.465595e-02_rb, 0.467006e-02_rb, 0.368061e-02_rb /) forrefo(:,10) = (/ 0.493955e-02_rb, 0.490181e-02_rb, 0.481941e-02_rb, 0.367577e-02_rb /) forrefo(:,11) = (/ 0.511876e-02_rb, 0.490981e-02_rb, 0.493303e-02_rb, 0.357423e-02_rb /) forrefo(:,12) = (/ 0.509845e-02_rb, 0.511556e-02_rb, 0.504031e-02_rb, 0.355915e-02_rb /) forrefo(:,13) = (/ 0.523822e-02_rb, 0.530473e-02_rb, 0.523811e-02_rb, 0.414259e-02_rb /) forrefo(:,14) = (/ 0.551133e-02_rb, 0.535831e-02_rb, 0.546702e-02_rb, 0.473875e-02_rb /) forrefo(:,15) = (/ 0.609781e-02_rb, 0.589859e-02_rb, 0.561187e-02_rb, 0.528981e-02_rb /) forrefo(:,16) = (/ 0.644958e-02_rb, 0.631718e-02_rb, 0.625201e-02_rb, 0.600448e-02_rb /) ! ----------------------------------------------------------------- ! The array SELFREFO contains the coefficient of the water vapor ! self-continuum (including the energy term). The first index ! refers to temperature in 7.2 degree increments. For instance, ! JT = 1 refers to a temperature of 245.6, JT = 2 refers to 252.8, ! etc. The second index runs over the g-channel (1 to 16). selfrefo(:, 1) = (/ & & 0.217058e-03_rb, 0.176391e-03_rb, 0.143342e-03_rb, 0.116486e-03_rb, 0.946614e-04_rb, & & 0.769257e-04_rb, 0.625131e-04_rb, 0.508007e-04_rb, 0.412828e-04_rb, 0.335481e-04_rb /) selfrefo(:, 2) = (/ & & 0.598055e-03_rb, 0.484805e-03_rb, 0.393000e-03_rb, 0.318580e-03_rb, 0.258252e-03_rb, & & 0.209348e-03_rb, 0.169705e-03_rb, 0.137569e-03_rb, 0.111518e-03_rb, 0.904008e-04_rb /) selfrefo(:, 3) = (/ & & 0.102691e-02_rb, 0.930281e-03_rb, 0.842740e-03_rb, 0.763437e-03_rb, 0.691596e-03_rb, & & 0.626516e-03_rb, 0.567560e-03_rb, 0.514152e-03_rb, 0.465769e-03_rb, 0.421940e-03_rb /) selfrefo(:, 4) = (/ & & 0.388569e-02_rb, 0.365098e-02_rb, 0.343045e-02_rb, 0.322324e-02_rb, 0.302854e-02_rb, & & 0.284561e-02_rb, 0.267372e-02_rb, 0.251222e-02_rb, 0.236047e-02_rb, 0.221789e-02_rb /) selfrefo(:, 5) = (/ & & 0.349845e-01_rb, 0.326678e-01_rb, 0.305045e-01_rb, 0.284845e-01_rb, 0.265982e-01_rb, & & 0.248369e-01_rb, 0.231921e-01_rb, 0.216563e-01_rb, 0.202222e-01_rb, 0.188831e-01_rb /) selfrefo(:, 6) = (/ & & 0.613705e-01_rb, 0.562676e-01_rb, 0.515890e-01_rb, 0.472994e-01_rb, 0.433665e-01_rb, & & 0.397606e-01_rb, 0.364545e-01_rb, 0.334233e-01_rb, 0.306442e-01_rb, 0.280961e-01_rb /) selfrefo(:, 7) = (/ & & 0.656981e-01_rb, 0.602660e-01_rb, 0.552830e-01_rb, 0.507120e-01_rb, 0.465190e-01_rb, & & 0.426726e-01_rb, 0.391443e-01_rb, 0.359077e-01_rb, 0.329387e-01_rb, 0.302153e-01_rb /) selfrefo(:, 8) = (/ & & 0.671782e-01_rb, 0.616461e-01_rb, 0.565695e-01_rb, 0.519110e-01_rb, 0.476361e-01_rb, & & 0.437132e-01_rb, 0.401134e-01_rb, 0.368100e-01_rb, 0.337787e-01_rb, 0.309970e-01_rb /) selfrefo(:, 9) = (/ & & 0.675902e-01_rb, 0.620888e-01_rb, 0.570351e-01_rb, 0.523928e-01_rb, 0.481284e-01_rb, & & 0.442110e-01_rb, 0.406125e-01_rb, 0.373069e-01_rb, 0.342703e-01_rb, 0.314809e-01_rb /) selfrefo(:,10) = (/ & & 0.708308e-01_rb, 0.651419e-01_rb, 0.599099e-01_rb, 0.550981e-01_rb, 0.506728e-01_rb, & & 0.466030e-01_rb, 0.428600e-01_rb, 0.394176e-01_rb, 0.362517e-01_rb, 0.333401e-01_rb /) selfrefo(:,11) = (/ & & 0.698445e-01_rb, 0.646584e-01_rb, 0.598573e-01_rb, 0.554128e-01_rb, 0.512982e-01_rb, & & 0.474892e-01_rb, 0.439630e-01_rb, 0.406986e-01_rb, 0.376766e-01_rb, 0.348791e-01_rb /) selfrefo(:,12) = (/ & & 0.743921e-01_rb, 0.682057e-01_rb, 0.625337e-01_rb, 0.573334e-01_rb, 0.525655e-01_rb, & & 0.481942e-01_rb, 0.441863e-01_rb, 0.405118e-01_rb, 0.371428e-01_rb, 0.340540e-01_rb /) selfrefo(:,13) = (/ & & 0.775758e-01_rb, 0.709818e-01_rb, 0.649484e-01_rb, 0.594277e-01_rb, 0.543764e-01_rb, & & 0.497544e-01_rb, 0.455253e-01_rb, 0.416556e-01_rb, 0.381149e-01_rb, 0.348751e-01_rb /) selfrefo(:,14) = (/ & & 0.776545e-01_rb, 0.714761e-01_rb, 0.657894e-01_rb, 0.605550e-01_rb, 0.557372e-01_rb, & & 0.513026e-01_rb, 0.472209e-01_rb, 0.434639e-01_rb, 0.400058e-01_rb, 0.368229e-01_rb /) selfrefo(:,15) = (/ & & 0.855675e-01_rb, 0.787337e-01_rb, 0.724456e-01_rb, 0.666598e-01_rb, 0.613360e-01_rb, & & 0.564374e-01_rb, 0.519301e-01_rb, 0.477827e-01_rb, 0.439666e-01_rb, 0.404552e-01_rb /) selfrefo(:,16) = (/ & & 0.934781e-01_rb, 0.855190e-01_rb, 0.782376e-01_rb, 0.715761e-01_rb, 0.654819e-01_rb, & & 0.599065e-01_rb, 0.548058e-01_rb, 0.501394e-01_rb, 0.458704e-01_rb, 0.419648e-01_rb /) end subroutine sw_kgb20 ! ************************************************************************** subroutine sw_kgb21 ! ************************************************************************** use parkind, only : im => kind_im, rb => kind_rb use rrsw_kg21, only : kao, kbo, selfrefo, forrefo, sfluxrefo, & rayl, strrat, layreffr implicit none save ! Kurucz solar source function sfluxrefo(:, 1) = (/ & & 16.1643_rb , 15.5806_rb, 14.7254_rb , 13.5541_rb , & & 11.9519_rb ,10.44410_rb, 8.37884_rb , 6.26384_rb , & & 4.28435_rb ,0.465228_rb, 0.385095_rb ,0.304226_rb , & & 0.222479_rb,0.143286_rb, 5.58046e-02_rb, 7.84856e-03_rb /) sfluxrefo(:, 2) = (/ & & 15.6451_rb , 15.3170_rb, 14.6987_rb , 13.7350_rb , & & 12.2267_rb ,10.51646_rb, 8.47150_rb , 6.38873_rb , & & 4.33536_rb ,0.470610_rb,0.389426_rb ,0.306461_rb , & & 0.223537_rb,0.143273_rb, 5.58179e-02_rb, 7.84856e-03_rb /) sfluxrefo(:, 3) = (/ & & 15.6092_rb , 15.3293_rb, 14.6881_rb , 13.6693_rb , & & 12.2342_rb ,10.52010_rb, 8.49442_rb , 6.42138_rb , & & 4.35865_rb ,0.473349_rb,0.391349_rb ,0.308861_rb , & & 0.224666_rb,0.144799_rb, 5.58176e-02_rb, 7.84881e-03_rb /) sfluxrefo(:, 4) = (/ & & 15.5786_rb , 15.3422_rb, 14.6894_rb , 13.6040_rb , & & 12.2567_rb ,10.49400_rb, 8.53521_rb , 6.44427_rb , & & 4.37208_rb ,0.475709_rb,0.392956_rb ,0.309737_rb , & & 0.226274_rb,0.146483_rb, 5.59325e-02_rb, 7.84881e-03_rb /) sfluxrefo(:, 5) = (/ & & 15.5380_rb , 15.3826_rb, 14.6575_rb , 13.5722_rb , & & 12.2646_rb ,10.47672_rb, 8.57158_rb , 6.46343_rb , & & 4.38259_rb ,0.477647_rb,0.393982_rb ,0.310686_rb , & & 0.227620_rb,0.148376_rb, 5.60398e-02_rb, 7.83925e-03_rb /) sfluxrefo(:, 6) = (/ & & 15.5124_rb , 15.3986_rb, 14.6240_rb , 13.5535_rb , & & 12.2468_rb ,10.48891_rb, 8.60434_rb , 6.47985_rb , & & 4.39448_rb ,0.478267_rb,0.395618_rb ,0.311043_rb , & & 0.230927_rb,0.148774_rb, 5.61189e-02_rb, 7.83925e-03_rb /) sfluxrefo(:, 7) = (/ & & 15.4910_rb , 15.4028_rb, 14.5772_rb , 13.5507_rb , & & 12.2122_rb ,10.52735_rb, 8.62650_rb , 6.49644_rb , & & 4.41173_rb ,0.478627_rb,0.396433_rb ,0.314199_rb , & & 0.233125_rb,0.149052_rb, 5.62309e-02_rb, 7.83925e-03_rb /) sfluxrefo(:, 8) = (/ & & 15.4562_rb , 15.3928_rb, 14.5510_rb , 13.5122_rb , & & 12.1890_rb , 10.5826_rb, 8.65842_rb , 6.51558_rb , & & 4.42747_rb ,0.480669_rb,0.400143_rb ,0.318144_rb , & & 0.233937_rb,0.149119_rb, 5.62309e-02_rb, 7.83925e-03_rb /) sfluxrefo(:, 9) = (/ & & 15.0069_rb , 15.1479_rb, 14.7802_rb , 13.6085_rb , & & 12.2793_rb , 10.6929_rb, 8.72723_rb , 6.57114_rb , & & 4.46330_rb ,0.486724_rb,0.401446_rb ,0.318879_rb , & & 0.233959_rb,0.149119_rb, 5.62309e-02_rb, 7.83925e-03_rb /) ! Rayleigh extinction coefficient at v = 6925 cm-1. rayl = 9.41e-09_rb strrat = 0.0045321_rb layreffr = 8 ! ------------------------------------------------------------------ ! The array KAO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels> ~100mb, temperatures, and binary ! species parameters (see taumol.f for definition). The first ! index in the array, JS, runs from 1 to 9, and corresponds to ! different values of the binary species parameter. For instance, ! JS=1 refers to dry air, JS = 2 corresponds to the paramter value 1/8, ! JS = 3 corresponds to the parameter value 2/8, etc. The second index ! in the array, JT, which runs from 1 to 5, corresponds to different ! temperatures. More specifically, JT = 3 means that the data are for ! the reference temperature TREF for this pressure level, JT = 2 refers ! to TREF-15, JT = 1 is for TREF-30, JT = 4 is for TREF+15, and JT = 5 ! is for TREF+30. The third index, JP, runs from 1 to 13 and refers ! to the JPth reference pressure level (see taumol.f for these levels ! in mb). The fourth index, IG, goes from 1 to 16, and indicates ! which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kao(:, 1, 1, 1) = (/ & & 0.31482e-07_rb,0.64010e-05_rb,0.95017e-05_rb,0.11735e-04_rb,0.13561e-04_rb, & & 0.15077e-04_rb,0.16121e-04_rb,0.16138e-04_rb,0.41687e-06_rb /) kao(:, 2, 1, 1) = (/ & & 0.29791e-07_rb,0.68206e-05_rb,0.10260e-04_rb,0.12764e-04_rb,0.14880e-04_rb, & & 0.16665e-04_rb,0.17944e-04_rb,0.18170e-04_rb,0.44246e-06_rb /) kao(:, 3, 1, 1) = (/ & & 0.28272e-07_rb,0.72448e-05_rb,0.11083e-04_rb,0.13866e-04_rb,0.16256e-04_rb, & & 0.18323e-04_rb,0.19886e-04_rb,0.20229e-04_rb,0.47472e-06_rb /) kao(:, 4, 1, 1) = (/ & & 0.26900e-07_rb,0.76935e-05_rb,0.11934e-04_rb,0.15015e-04_rb,0.17657e-04_rb, & & 0.20038e-04_rb,0.21902e-04_rb,0.22361e-04_rb,0.50770e-06_rb /) kao(:, 5, 1, 1) = (/ & & 0.25656e-07_rb,0.81661e-05_rb,0.12769e-04_rb,0.16181e-04_rb,0.19127e-04_rb, & & 0.21755e-04_rb,0.23963e-04_rb,0.24421e-04_rb,0.54205e-06_rb /) kao(:, 1, 2, 1) = (/ & & 0.26396e-07_rb,0.52225e-05_rb,0.77221e-05_rb,0.95150e-05_rb,0.11004e-04_rb, & & 0.12195e-04_rb,0.13037e-04_rb,0.12985e-04_rb,0.32097e-06_rb /) kao(:, 2, 2, 1) = (/ & & 0.24945e-07_rb,0.55737e-05_rb,0.83612e-05_rb,0.10375e-04_rb,0.12116e-04_rb, & & 0.13569e-04_rb,0.14561e-04_rb,0.14711e-04_rb,0.34579e-06_rb /) kao(:, 3, 2, 1) = (/ & & 0.23646e-07_rb,0.59333e-05_rb,0.90531e-05_rb,0.11301e-04_rb,0.13247e-04_rb, & & 0.14956e-04_rb,0.16193e-04_rb,0.16396e-04_rb,0.37200e-06_rb /) kao(:, 4, 2, 1) = (/ & & 0.22476e-07_rb,0.63144e-05_rb,0.97732e-05_rb,0.12274e-04_rb,0.14436e-04_rb, & & 0.16377e-04_rb,0.17879e-04_rb,0.18223e-04_rb,0.40051e-06_rb /) kao(:, 5, 2, 1) = (/ & & 0.21415e-07_rb,0.67133e-05_rb,0.10471e-04_rb,0.13264e-04_rb,0.15681e-04_rb, & & 0.17843e-04_rb,0.19627e-04_rb,0.19954e-04_rb,0.42929e-06_rb /) kao(:, 1, 3, 1) = (/ & & 0.22397e-07_rb,0.41930e-05_rb,0.61559e-05_rb,0.75544e-05_rb,0.86902e-05_rb, & & 0.95896e-05_rb,0.10269e-04_rb,0.10114e-04_rb,0.24148e-06_rb /) kao(:, 2, 3, 1) = (/ & & 0.21124e-07_rb,0.44837e-05_rb,0.66786e-05_rb,0.82475e-05_rb,0.96353e-05_rb, & & 0.10742e-04_rb,0.11469e-04_rb,0.11556e-04_rb,0.26304e-06_rb /) kao(:, 3, 3, 1) = (/ & & 0.19988e-07_rb,0.47839e-05_rb,0.72499e-05_rb,0.90229e-05_rb,0.10560e-04_rb, & & 0.11900e-04_rb,0.12859e-04_rb,0.12935e-04_rb,0.28618e-06_rb /) kao(:, 4, 3, 1) = (/ & & 0.18968e-07_rb,0.51040e-05_rb,0.78586e-05_rb,0.98308e-05_rb,0.11551e-04_rb, & & 0.13094e-04_rb,0.14240e-04_rb,0.14455e-04_rb,0.30983e-06_rb /) kao(:, 5, 3, 1) = (/ & & 0.18047e-07_rb,0.54366e-05_rb,0.84462e-05_rb,0.10670e-04_rb,0.12585e-04_rb, & & 0.14313e-04_rb,0.15695e-04_rb,0.15934e-04_rb,0.33255e-06_rb /) kao(:, 1, 4, 1) = (/ & & 0.19080e-07_rb,0.33409e-05_rb,0.48738e-05_rb,0.59354e-05_rb,0.67877e-05_rb, & & 0.74900e-05_rb,0.79142e-05_rb,0.77200e-05_rb,0.18466e-06_rb /) kao(:, 2, 4, 1) = (/ & & 0.17954e-07_rb,0.35910e-05_rb,0.52960e-05_rb,0.65037e-05_rb,0.75744e-05_rb, & & 0.84082e-05_rb,0.89422e-05_rb,0.89302e-05_rb,0.20292e-06_rb /) kao(:, 3, 4, 1) = (/ & & 0.16954e-07_rb,0.38317e-05_rb,0.57536e-05_rb,0.71322e-05_rb,0.83424e-05_rb, & & 0.93788e-05_rb,0.10063e-04_rb,0.10098e-04_rb,0.22173e-06_rb /) kao(:, 4, 4, 1) = (/ & & 0.16059e-07_rb,0.40932e-05_rb,0.62586e-05_rb,0.77961e-05_rb,0.91475e-05_rb, & & 0.10347e-04_rb,0.11222e-04_rb,0.11312e-04_rb,0.24005e-06_rb /) kao(:, 5, 4, 1) = (/ & & 0.15254e-07_rb,0.43678e-05_rb,0.67525e-05_rb,0.84873e-05_rb,0.99995e-05_rb, & & 0.11353e-04_rb,0.12416e-04_rb,0.12586e-04_rb,0.25939e-06_rb /) kao(:, 1, 5, 1) = (/ & & 0.16261e-07_rb,0.26540e-05_rb,0.38541e-05_rb,0.46443e-05_rb,0.52961e-05_rb, & & 0.58054e-05_rb,0.60718e-05_rb,0.58540e-05_rb,0.14274e-06_rb /) kao(:, 2, 5, 1) = (/ & & 0.15265e-07_rb,0.28598e-05_rb,0.41831e-05_rb,0.51221e-05_rb,0.59110e-05_rb, & & 0.65207e-05_rb,0.69761e-05_rb,0.68685e-05_rb,0.15725e-06_rb /) kao(:, 3, 5, 1) = (/ & & 0.14384e-07_rb,0.30623e-05_rb,0.45528e-05_rb,0.56124e-05_rb,0.65650e-05_rb, & & 0.73436e-05_rb,0.78208e-05_rb,0.78523e-05_rb,0.17271e-06_rb /) kao(:, 4, 5, 1) = (/ & & 0.13599e-07_rb,0.32720e-05_rb,0.49622e-05_rb,0.61605e-05_rb,0.72244e-05_rb, & & 0.81582e-05_rb,0.87971e-05_rb,0.88096e-05_rb,0.18766e-06_rb /) kao(:, 5, 5, 1) = (/ & & 0.12895e-07_rb,0.34985e-05_rb,0.53833e-05_rb,0.67240e-05_rb,0.79091e-05_rb, & & 0.89688e-05_rb,0.97698e-05_rb,0.98639e-05_rb,0.20375e-06_rb /) kao(:, 1, 6, 1) = (/ & & 0.13898e-07_rb,0.20981e-05_rb,0.30384e-05_rb,0.36041e-05_rb,0.41040e-05_rb, & & 0.44334e-05_rb,0.45761e-05_rb,0.43950e-05_rb,0.11025e-06_rb /) kao(:, 2, 6, 1) = (/ & & 0.13011e-07_rb,0.22645e-05_rb,0.32890e-05_rb,0.40042e-05_rb,0.45851e-05_rb, & & 0.50473e-05_rb,0.53250e-05_rb,0.51854e-05_rb,0.12227e-06_rb /) kao(:, 3, 6, 1) = (/ & & 0.12231e-07_rb,0.24322e-05_rb,0.35842e-05_rb,0.43915e-05_rb,0.51259e-05_rb, & & 0.56903e-05_rb,0.60343e-05_rb,0.60166e-05_rb,0.13506e-06_rb /) kao(:, 4, 6, 1) = (/ & & 0.11539e-07_rb,0.26032e-05_rb,0.39107e-05_rb,0.48321e-05_rb,0.56525e-05_rb, & & 0.63625e-05_rb,0.68078e-05_rb,0.68024e-05_rb,0.14719e-06_rb /) kao(:, 5, 6, 1) = (/ & & 0.10921e-07_rb,0.27866e-05_rb,0.42578e-05_rb,0.52919e-05_rb,0.62181e-05_rb, & & 0.70362e-05_rb,0.76140e-05_rb,0.76519e-05_rb,0.16052e-06_rb /) kao(:, 1, 7, 1) = (/ & & 0.11886e-07_rb,0.16563e-05_rb,0.23860e-05_rb,0.28276e-05_rb,0.31449e-05_rb, & & 0.33771e-05_rb,0.34305e-05_rb,0.32824e-05_rb,0.84943e-07_rb /) kao(:, 2, 7, 1) = (/ & & 0.11096e-07_rb,0.17874e-05_rb,0.25861e-05_rb,0.31100e-05_rb,0.35425e-05_rb, & & 0.38737e-05_rb,0.40468e-05_rb,0.38933e-05_rb,0.94734e-07_rb /) kao(:, 3, 7, 1) = (/ & & 0.10405e-07_rb,0.19286e-05_rb,0.28166e-05_rb,0.34417e-05_rb,0.39786e-05_rb, & & 0.43804e-05_rb,0.46759e-05_rb,0.45835e-05_rb,0.10531e-06_rb /) kao(:, 4, 7, 1) = (/ & & 0.97948e-08_rb,0.20680e-05_rb,0.30741e-05_rb,0.37803e-05_rb,0.44163e-05_rb, & & 0.49420e-05_rb,0.52477e-05_rb,0.52509e-05_rb,0.11517e-06_rb /) kao(:, 5, 7, 1) = (/ & & 0.92522e-08_rb,0.22140e-05_rb,0.33558e-05_rb,0.41544e-05_rb,0.48719e-05_rb, & & 0.54968e-05_rb,0.59225e-05_rb,0.59027e-05_rb,0.12618e-06_rb /) kao(:, 1, 8, 1) = (/ & & 0.10164e-07_rb,0.13056e-05_rb,0.18690e-05_rb,0.21940e-05_rb,0.24210e-05_rb, & & 0.25504e-05_rb,0.25676e-05_rb,0.24444e-05_rb,0.66021e-07_rb /) kao(:, 2, 8, 1) = (/ & & 0.94612e-08_rb,0.14106e-05_rb,0.20398e-05_rb,0.24136e-05_rb,0.27424e-05_rb, & & 0.29578e-05_rb,0.30446e-05_rb,0.29182e-05_rb,0.73985e-07_rb /) kao(:, 3, 8, 1) = (/ & & 0.88489e-08_rb,0.15256e-05_rb,0.22123e-05_rb,0.26894e-05_rb,0.30704e-05_rb, & & 0.33808e-05_rb,0.35521e-05_rb,0.34526e-05_rb,0.82666e-07_rb /) kao(:, 4, 8, 1) = (/ & & 0.83111e-08_rb,0.16396e-05_rb,0.24159e-05_rb,0.29563e-05_rb,0.34504e-05_rb, & & 0.38196e-05_rb,0.40425e-05_rb,0.40093e-05_rb,0.90940e-07_rb /) kao(:, 5, 8, 1) = (/ & & 0.78349e-08_rb,0.17570e-05_rb,0.26398e-05_rb,0.32547e-05_rb,0.38060e-05_rb, & & 0.42813e-05_rb,0.45732e-05_rb,0.45465e-05_rb,0.10022e-06_rb /) kao(:, 1, 9, 1) = (/ & & 0.86983e-08_rb,0.10284e-05_rb,0.14734e-05_rb,0.16973e-05_rb,0.18551e-05_rb, & & 0.19223e-05_rb,0.19222e-05_rb,0.18289e-05_rb,0.53460e-07_rb /) kao(:, 2, 9, 1) = (/ & & 0.80712e-08_rb,0.11141e-05_rb,0.16016e-05_rb,0.18902e-05_rb,0.21027e-05_rb, & & 0.22504e-05_rb,0.22800e-05_rb,0.21749e-05_rb,0.60180e-07_rb /) kao(:, 3, 9, 1) = (/ & & 0.75284e-08_rb,0.12033e-05_rb,0.17376e-05_rb,0.20849e-05_rb,0.23719e-05_rb, & & 0.25906e-05_rb,0.26977e-05_rb,0.25910e-05_rb,0.66886e-07_rb /) kao(:, 4, 9, 1) = (/ & & 0.70541e-08_rb,0.12979e-05_rb,0.18959e-05_rb,0.23090e-05_rb,0.26695e-05_rb, & & 0.29367e-05_rb,0.31239e-05_rb,0.30574e-05_rb,0.73978e-07_rb /) kao(:, 5, 9, 1) = (/ & & 0.66359e-08_rb,0.13937e-05_rb,0.20720e-05_rb,0.25448e-05_rb,0.29680e-05_rb, & & 0.33208e-05_rb,0.35191e-05_rb,0.35097e-05_rb,0.81724e-07_rb /) kao(:, 1,10, 1) = (/ & & 0.74006e-08_rb,0.81705e-06_rb,0.11610e-05_rb,0.13325e-05_rb,0.14305e-05_rb, & & 0.14668e-05_rb,0.14642e-05_rb,0.13765e-05_rb,0.44724e-07_rb /) kao(:, 2,10, 1) = (/ & & 0.68477e-08_rb,0.88306e-06_rb,0.12640e-05_rb,0.14768e-05_rb,0.16329e-05_rb, & & 0.17209e-05_rb,0.17306e-05_rb,0.16441e-05_rb,0.50688e-07_rb /) kao(:, 3,10, 1) = (/ & & 0.63717e-08_rb,0.95522e-06_rb,0.13783e-05_rb,0.16303e-05_rb,0.18546e-05_rb, & & 0.19963e-05_rb,0.20570e-05_rb,0.19678e-05_rb,0.56052e-07_rb /) kao(:, 4,10, 1) = (/ & & 0.59576e-08_rb,0.10331e-05_rb,0.14975e-05_rb,0.18180e-05_rb,0.20770e-05_rb, & & 0.22813e-05_rb,0.24021e-05_rb,0.23350e-05_rb,0.62412e-07_rb /) kao(:, 5,10, 1) = (/ & & 0.55940e-08_rb,0.11102e-05_rb,0.16370e-05_rb,0.19999e-05_rb,0.23349e-05_rb, & & 0.25900e-05_rb,0.27328e-05_rb,0.27057e-05_rb,0.69466e-07_rb /) kao(:, 1,11, 1) = (/ & & 0.60617e-08_rb,0.67167e-06_rb,0.95594e-06_rb,0.10939e-05_rb,0.11767e-05_rb, & & 0.12059e-05_rb,0.12032e-05_rb,0.11314e-05_rb,0.37093e-07_rb /) kao(:, 2,11, 1) = (/ & & 0.56087e-08_rb,0.72704e-06_rb,0.10406e-05_rb,0.12137e-05_rb,0.13434e-05_rb, & & 0.14171e-05_rb,0.14246e-05_rb,0.13521e-05_rb,0.41918e-07_rb /) kao(:, 3,11, 1) = (/ & & 0.52187e-08_rb,0.78681e-06_rb,0.11338e-05_rb,0.13419e-05_rb,0.15254e-05_rb, & & 0.16426e-05_rb,0.16950e-05_rb,0.16203e-05_rb,0.46339e-07_rb /) kao(:, 4,11, 1) = (/ & & 0.48793e-08_rb,0.85013e-06_rb,0.12327e-05_rb,0.14971e-05_rb,0.17109e-05_rb, & & 0.18776e-05_rb,0.19784e-05_rb,0.19240e-05_rb,0.51725e-07_rb /) kao(:, 5,11, 1) = (/ & & 0.45815e-08_rb,0.91420e-06_rb,0.13427e-05_rb,0.16458e-05_rb,0.19221e-05_rb, & & 0.21323e-05_rb,0.22490e-05_rb,0.22263e-05_rb,0.57555e-07_rb /) kao(:, 1,12, 1) = (/ & & 0.49629e-08_rb,0.55223e-06_rb,0.78677e-06_rb,0.89789e-06_rb,0.96778e-06_rb, & & 0.99148e-06_rb,0.98883e-06_rb,0.93028e-06_rb,0.30610e-07_rb /) kao(:, 2,12, 1) = (/ & & 0.45920e-08_rb,0.59832e-06_rb,0.85632e-06_rb,0.99730e-06_rb,0.11052e-05_rb, & & 0.11665e-05_rb,0.11729e-05_rb,0.11125e-05_rb,0.34553e-07_rb /) kao(:, 3,12, 1) = (/ & & 0.42727e-08_rb,0.64760e-06_rb,0.93315e-06_rb,0.11041e-05_rb,0.12552e-05_rb, & & 0.13521e-05_rb,0.13956e-05_rb,0.13333e-05_rb,0.38176e-07_rb /) kao(:, 4,12, 1) = (/ & & 0.39949e-08_rb,0.69926e-06_rb,0.10110e-05_rb,0.12304e-05_rb,0.14083e-05_rb, & & 0.15442e-05_rb,0.16283e-05_rb,0.15837e-05_rb,0.42648e-07_rb /) kao(:, 5,12, 1) = (/ & & 0.37510e-08_rb,0.75239e-06_rb,0.11006e-05_rb,0.13535e-05_rb,0.15785e-05_rb, & & 0.17547e-05_rb,0.18501e-05_rb,0.18298e-05_rb,0.47452e-07_rb /) kao(:, 1,13, 1) = (/ & & 0.40633e-08_rb,0.45378e-06_rb,0.64719e-06_rb,0.73637e-06_rb,0.79571e-06_rb, & & 0.81503e-06_rb,0.81264e-06_rb,0.76488e-06_rb,0.25080e-07_rb /) kao(:, 2,13, 1) = (/ & & 0.37596e-08_rb,0.49208e-06_rb,0.70430e-06_rb,0.81894e-06_rb,0.90856e-06_rb, & & 0.95919e-06_rb,0.96435e-06_rb,0.91411e-06_rb,0.28293e-07_rb /) kao(:, 3,13, 1) = (/ & & 0.34982e-08_rb,0.53259e-06_rb,0.76370e-06_rb,0.90761e-06_rb,0.10316e-05_rb, & & 0.11116e-05_rb,0.11472e-05_rb,0.10956e-05_rb,0.31267e-07_rb /) kao(:, 4,13, 1) = (/ & & 0.32707e-08_rb,0.57488e-06_rb,0.82833e-06_rb,0.10096e-05_rb,0.11577e-05_rb, & & 0.12688e-05_rb,0.13388e-05_rb,0.13015e-05_rb,0.34930e-07_rb /) kao(:, 5,13, 1) = (/ & & 0.30710e-08_rb,0.61832e-06_rb,0.90250e-06_rb,0.11120e-05_rb,0.12962e-05_rb, & & 0.14424e-05_rb,0.15206e-05_rb,0.15032e-05_rb,0.38861e-07_rb /) kao(:, 1, 1, 2) = (/ & & 0.14215e-06_rb,0.65726e-04_rb,0.11327e-03_rb,0.15324e-03_rb,0.18473e-03_rb, & & 0.20658e-03_rb,0.21603e-03_rb,0.20617e-03_rb,0.13252e-04_rb /) kao(:, 2, 1, 2) = (/ & & 0.13452e-06_rb,0.69521e-04_rb,0.12059e-03_rb,0.16342e-03_rb,0.19613e-03_rb, & & 0.21987e-03_rb,0.22946e-03_rb,0.21879e-03_rb,0.14816e-04_rb /) kao(:, 3, 1, 2) = (/ & & 0.12766e-06_rb,0.73313e-04_rb,0.12786e-03_rb,0.17303e-03_rb,0.20754e-03_rb, & & 0.23326e-03_rb,0.24324e-03_rb,0.22956e-03_rb,0.16536e-04_rb /) kao(:, 4, 1, 2) = (/ & & 0.12147e-06_rb,0.77087e-04_rb,0.13521e-03_rb,0.18263e-03_rb,0.21904e-03_rb, & & 0.24614e-03_rb,0.25637e-03_rb,0.24060e-03_rb,0.18092e-04_rb /) kao(:, 5, 1, 2) = (/ & & 0.11584e-06_rb,0.80946e-04_rb,0.14233e-03_rb,0.19230e-03_rb,0.23047e-03_rb, & & 0.25869e-03_rb,0.26904e-03_rb,0.25139e-03_rb,0.19768e-04_rb /) kao(:, 1, 2, 2) = (/ & & 0.11918e-06_rb,0.55167e-04_rb,0.94557e-04_rb,0.12760e-03_rb,0.15322e-03_rb, & & 0.17148e-03_rb,0.17894e-03_rb,0.17049e-03_rb,0.10710e-04_rb /) kao(:, 2, 2, 2) = (/ & & 0.11264e-06_rb,0.58581e-04_rb,0.10113e-03_rb,0.13648e-03_rb,0.16335e-03_rb, & & 0.18288e-03_rb,0.19059e-03_rb,0.18131e-03_rb,0.12067e-04_rb /) kao(:, 3, 2, 2) = (/ & & 0.10678e-06_rb,0.61935e-04_rb,0.10756e-03_rb,0.14497e-03_rb,0.17335e-03_rb, & & 0.19437e-03_rb,0.20245e-03_rb,0.19070e-03_rb,0.13553e-04_rb /) kao(:, 4, 2, 2) = (/ & & 0.10149e-06_rb,0.65261e-04_rb,0.11404e-03_rb,0.15331e-03_rb,0.18323e-03_rb, & & 0.20559e-03_rb,0.21385e-03_rb,0.20024e-03_rb,0.14801e-04_rb /) kao(:, 5, 2, 2) = (/ & & 0.96699e-07_rb,0.68698e-04_rb,0.12038e-03_rb,0.16167e-03_rb,0.19308e-03_rb, & & 0.21635e-03_rb,0.22479e-03_rb,0.20964e-03_rb,0.16245e-04_rb /) kao(:, 1, 3, 2) = (/ & & 0.10112e-06_rb,0.45399e-04_rb,0.77226e-04_rb,0.10397e-03_rb,0.12462e-03_rb, & & 0.13956e-03_rb,0.14531e-03_rb,0.13816e-03_rb,0.83635e-05_rb /) kao(:, 2, 3, 2) = (/ & & 0.95381e-07_rb,0.48357e-04_rb,0.82986e-04_rb,0.11173e-03_rb,0.13338e-03_rb, & & 0.14898e-03_rb,0.15534e-03_rb,0.14786e-03_rb,0.94915e-05_rb /) kao(:, 3, 3, 2) = (/ & & 0.90257e-07_rb,0.51355e-04_rb,0.88727e-04_rb,0.11920e-03_rb,0.14215e-03_rb, & & 0.15859e-03_rb,0.16541e-03_rb,0.15622e-03_rb,0.10683e-04_rb /) kao(:, 4, 3, 2) = (/ & & 0.85653e-07_rb,0.54322e-04_rb,0.94369e-04_rb,0.12646e-03_rb,0.15072e-03_rb, & & 0.16838e-03_rb,0.17536e-03_rb,0.16433e-03_rb,0.11764e-04_rb /) kao(:, 5, 3, 2) = (/ & & 0.81492e-07_rb,0.57300e-04_rb,0.99940e-04_rb,0.13355e-03_rb,0.15929e-03_rb, & & 0.17800e-03_rb,0.18496e-03_rb,0.17234e-03_rb,0.12979e-04_rb /) kao(:, 1, 4, 2) = (/ & & 0.86132e-07_rb,0.36910e-04_rb,0.62346e-04_rb,0.83628e-04_rb,0.10025e-03_rb, & & 0.11224e-03_rb,0.11706e-03_rb,0.11109e-03_rb,0.64715e-05_rb /) kao(:, 2, 4, 2) = (/ & & 0.81062e-07_rb,0.39490e-04_rb,0.67274e-04_rb,0.90384e-04_rb,0.10785e-03_rb, & & 0.12026e-03_rb,0.12543e-03_rb,0.11944e-03_rb,0.73991e-05_rb /) kao(:, 3, 4, 2) = (/ & & 0.76553e-07_rb,0.42055e-04_rb,0.72269e-04_rb,0.96956e-04_rb,0.11528e-03_rb, & & 0.12833e-03_rb,0.13396e-03_rb,0.12697e-03_rb,0.83899e-05_rb /) kao(:, 4, 4, 2) = (/ & & 0.72516e-07_rb,0.44696e-04_rb,0.77235e-04_rb,0.10321e-03_rb,0.12276e-03_rb, & & 0.13674e-03_rb,0.14260e-03_rb,0.13384e-03_rb,0.93052e-05_rb /) kao(:, 5, 4, 2) = (/ & & 0.68881e-07_rb,0.47273e-04_rb,0.82118e-04_rb,0.10935e-03_rb,0.13016e-03_rb, & & 0.14506e-03_rb,0.15080e-03_rb,0.14062e-03_rb,0.10314e-04_rb /) kao(:, 1, 5, 2) = (/ & & 0.73401e-07_rb,0.29772e-04_rb,0.49957e-04_rb,0.66720e-04_rb,0.80104e-04_rb, & & 0.89761e-04_rb,0.93853e-04_rb,0.88953e-04_rb,0.50171e-05_rb /) kao(:, 2, 5, 2) = (/ & & 0.68916e-07_rb,0.31976e-04_rb,0.54217e-04_rb,0.72570e-04_rb,0.86671e-04_rb, & & 0.96653e-04_rb,0.10073e-03_rb,0.95875e-04_rb,0.57746e-05_rb /) kao(:, 3, 5, 2) = (/ & & 0.64945e-07_rb,0.34219e-04_rb,0.58417e-04_rb,0.78327e-04_rb,0.92950e-04_rb, & & 0.10358e-03_rb,0.10803e-03_rb,0.10274e-03_rb,0.66197e-05_rb /) kao(:, 4, 5, 2) = (/ & & 0.61405e-07_rb,0.36457e-04_rb,0.62694e-04_rb,0.83756e-04_rb,0.99356e-04_rb, & & 0.11058e-03_rb,0.11542e-03_rb,0.10858e-03_rb,0.73729e-05_rb /) kao(:, 5, 5, 2) = (/ & & 0.58229e-07_rb,0.38713e-04_rb,0.67059e-04_rb,0.89033e-04_rb,0.10573e-03_rb, & & 0.11764e-03_rb,0.12243e-03_rb,0.11440e-03_rb,0.82149e-05_rb /) kao(:, 1, 6, 2) = (/ & & 0.62723e-07_rb,0.23750e-04_rb,0.39643e-04_rb,0.52796e-04_rb,0.63478e-04_rb, & & 0.71151e-04_rb,0.74640e-04_rb,0.70193e-04_rb,0.38899e-05_rb /) kao(:, 2, 6, 2) = (/ & & 0.58735e-07_rb,0.25657e-04_rb,0.43274e-04_rb,0.57719e-04_rb,0.69124e-04_rb, & & 0.77375e-04_rb,0.80498e-04_rb,0.76543e-04_rb,0.44833e-05_rb /) kao(:, 3, 6, 2) = (/ & & 0.55222e-07_rb,0.27563e-04_rb,0.46866e-04_rb,0.62699e-04_rb,0.74494e-04_rb, & & 0.82946e-04_rb,0.86653e-04_rb,0.82509e-04_rb,0.51635e-05_rb /) kao(:, 4, 6, 2) = (/ & & 0.52103e-07_rb,0.29528e-04_rb,0.50470e-04_rb,0.67473e-04_rb,0.79899e-04_rb, & & 0.89004e-04_rb,0.92786e-04_rb,0.87628e-04_rb,0.58104e-05_rb /) kao(:, 5, 6, 2) = (/ & & 0.49317e-07_rb,0.31444e-04_rb,0.54175e-04_rb,0.72000e-04_rb,0.85322e-04_rb, & & 0.94885e-04_rb,0.98826e-04_rb,0.92648e-04_rb,0.64997e-05_rb /) kao(:, 1, 7, 2) = (/ & & 0.53634e-07_rb,0.18862e-04_rb,0.31325e-04_rb,0.41575e-04_rb,0.50141e-04_rb, & & 0.56190e-04_rb,0.58882e-04_rb,0.55026e-04_rb,0.29795e-05_rb /) kao(:, 2, 7, 2) = (/ & & 0.50084e-07_rb,0.20474e-04_rb,0.34342e-04_rb,0.45732e-04_rb,0.54884e-04_rb, & & 0.61494e-04_rb,0.64187e-04_rb,0.60857e-04_rb,0.34589e-05_rb /) kao(:, 3, 7, 2) = (/ & & 0.46973e-07_rb,0.22063e-04_rb,0.37411e-04_rb,0.49893e-04_rb,0.59475e-04_rb, & & 0.66279e-04_rb,0.69129e-04_rb,0.65758e-04_rb,0.39983e-05_rb /) kao(:, 4, 7, 2) = (/ & & 0.44224e-07_rb,0.23764e-04_rb,0.40481e-04_rb,0.54107e-04_rb,0.64026e-04_rb, & & 0.71350e-04_rb,0.74328e-04_rb,0.70513e-04_rb,0.45526e-05_rb /) kao(:, 5, 7, 2) = (/ & & 0.41777e-07_rb,0.25434e-04_rb,0.43555e-04_rb,0.57958e-04_rb,0.68599e-04_rb, & & 0.76304e-04_rb,0.79456e-04_rb,0.74649e-04_rb,0.51046e-05_rb /) kao(:, 1, 8, 2) = (/ & & 0.45857e-07_rb,0.14945e-04_rb,0.24594e-04_rb,0.32696e-04_rb,0.39571e-04_rb, & & 0.44348e-04_rb,0.46090e-04_rb,0.43034e-04_rb,0.22833e-05_rb /) kao(:, 2, 8, 2) = (/ & & 0.42697e-07_rb,0.16265e-04_rb,0.27198e-04_rb,0.36108e-04_rb,0.43381e-04_rb, & & 0.48642e-04_rb,0.50943e-04_rb,0.47848e-04_rb,0.26669e-05_rb /) kao(:, 3, 8, 2) = (/ & & 0.39944e-07_rb,0.17616e-04_rb,0.29775e-04_rb,0.39577e-04_rb,0.47366e-04_rb, & & 0.52791e-04_rb,0.54992e-04_rb,0.52236e-04_rb,0.30932e-05_rb /) kao(:, 4, 8, 2) = (/ & & 0.37522e-07_rb,0.19042e-04_rb,0.32351e-04_rb,0.43126e-04_rb,0.51153e-04_rb, & & 0.56987e-04_rb,0.59316e-04_rb,0.56438e-04_rb,0.35666e-05_rb /) kao(:, 5, 8, 2) = (/ & & 0.35376e-07_rb,0.20476e-04_rb,0.34946e-04_rb,0.46521e-04_rb,0.55009e-04_rb, & & 0.61221e-04_rb,0.63714e-04_rb,0.60035e-04_rb,0.40037e-05_rb /) kao(:, 1, 9, 2) = (/ & & 0.39233e-07_rb,0.11817e-04_rb,0.19254e-04_rb,0.25596e-04_rb,0.30843e-04_rb, & & 0.34574e-04_rb,0.36035e-04_rb,0.33425e-04_rb,0.17673e-05_rb /) kao(:, 2, 9, 2) = (/ & & 0.36418e-07_rb,0.12914e-04_rb,0.21404e-04_rb,0.28372e-04_rb,0.34161e-04_rb, & & 0.38321e-04_rb,0.40053e-04_rb,0.37435e-04_rb,0.20751e-05_rb /) kao(:, 3, 9, 2) = (/ & & 0.33979e-07_rb,0.14026e-04_rb,0.23574e-04_rb,0.31316e-04_rb,0.37514e-04_rb, & & 0.41977e-04_rb,0.43747e-04_rb,0.41346e-04_rb,0.24151e-05_rb /) kao(:, 4, 9, 2) = (/ & & 0.31844e-07_rb,0.15205e-04_rb,0.25770e-04_rb,0.34231e-04_rb,0.40723e-04_rb, & & 0.45315e-04_rb,0.47202e-04_rb,0.44869e-04_rb,0.28151e-05_rb /) kao(:, 5, 9, 2) = (/ & & 0.29961e-07_rb,0.16420e-04_rb,0.27955e-04_rb,0.37187e-04_rb,0.43941e-04_rb, & & 0.48873e-04_rb,0.50856e-04_rb,0.48170e-04_rb,0.31733e-05_rb /) kao(:, 1,10, 2) = (/ & & 0.33373e-07_rb,0.93505e-05_rb,0.15216e-04_rb,0.20198e-04_rb,0.24244e-04_rb, & & 0.27077e-04_rb,0.28186e-04_rb,0.25996e-04_rb,0.13941e-05_rb /) kao(:, 2,10, 2) = (/ & & 0.30893e-07_rb,0.10284e-04_rb,0.16902e-04_rb,0.22468e-04_rb,0.27072e-04_rb, & & 0.30382e-04_rb,0.31603e-04_rb,0.29456e-04_rb,0.16352e-05_rb /) kao(:, 3,10, 2) = (/ & & 0.28754e-07_rb,0.11207e-04_rb,0.18715e-04_rb,0.24849e-04_rb,0.29815e-04_rb, & & 0.33379e-04_rb,0.34901e-04_rb,0.32836e-04_rb,0.19188e-05_rb /) kao(:, 4,10, 2) = (/ & & 0.26892e-07_rb,0.12172e-04_rb,0.20578e-04_rb,0.27269e-04_rb,0.32536e-04_rb, & & 0.36182e-04_rb,0.37703e-04_rb,0.35750e-04_rb,0.22467e-05_rb /) kao(:, 5,10, 2) = (/ & & 0.25255e-07_rb,0.13195e-04_rb,0.22422e-04_rb,0.29781e-04_rb,0.35220e-04_rb, & & 0.39157e-04_rb,0.40719e-04_rb,0.38729e-04_rb,0.25535e-05_rb /) kao(:, 1,11, 2) = (/ & & 0.27335e-07_rb,0.77491e-05_rb,0.12607e-04_rb,0.16695e-04_rb,0.20093e-04_rb, & & 0.22431e-04_rb,0.23345e-04_rb,0.21522e-04_rb,0.11569e-05_rb /) kao(:, 2,11, 2) = (/ & & 0.25303e-07_rb,0.85322e-05_rb,0.14022e-04_rb,0.18593e-04_rb,0.22378e-04_rb, & & 0.25133e-04_rb,0.26161e-04_rb,0.24379e-04_rb,0.13709e-05_rb /) kao(:, 3,11, 2) = (/ & & 0.23551e-07_rb,0.92912e-05_rb,0.15536e-04_rb,0.20618e-04_rb,0.24722e-04_rb, & & 0.27647e-04_rb,0.28874e-04_rb,0.27196e-04_rb,0.16099e-05_rb /) kao(:, 4,11, 2) = (/ & & 0.22025e-07_rb,0.10117e-04_rb,0.17115e-04_rb,0.22645e-04_rb,0.26974e-04_rb, & & 0.29947e-04_rb,0.31210e-04_rb,0.29581e-04_rb,0.18845e-05_rb /) kao(:, 5,11, 2) = (/ & & 0.20684e-07_rb,0.10977e-04_rb,0.18645e-04_rb,0.24734e-04_rb,0.29203e-04_rb, & & 0.32453e-04_rb,0.33733e-04_rb,0.32056e-04_rb,0.21326e-05_rb /) kao(:, 1,12, 2) = (/ & & 0.22380e-07_rb,0.64144e-05_rb,0.10436e-04_rb,0.13802e-04_rb,0.16622e-04_rb, & & 0.18557e-04_rb,0.19314e-04_rb,0.17793e-04_rb,0.95906e-06_rb /) kao(:, 2,12, 2) = (/ & & 0.20716e-07_rb,0.70603e-05_rb,0.11625e-04_rb,0.15385e-04_rb,0.18503e-04_rb, & & 0.20776e-04_rb,0.21630e-04_rb,0.20152e-04_rb,0.11363e-05_rb /) kao(:, 3,12, 2) = (/ & & 0.19282e-07_rb,0.76960e-05_rb,0.12886e-04_rb,0.17087e-04_rb,0.20475e-04_rb, & & 0.22867e-04_rb,0.23856e-04_rb,0.22506e-04_rb,0.13400e-05_rb /) kao(:, 4,12, 2) = (/ & & 0.18032e-07_rb,0.83983e-05_rb,0.14206e-04_rb,0.18783e-04_rb,0.22334e-04_rb, & & 0.24764e-04_rb,0.25815e-04_rb,0.24461e-04_rb,0.15637e-05_rb /) kao(:, 5,12, 2) = (/ & & 0.16934e-07_rb,0.91186e-05_rb,0.15491e-04_rb,0.20513e-04_rb,0.24201e-04_rb, & & 0.26864e-04_rb,0.27917e-04_rb,0.26491e-04_rb,0.17707e-05_rb /) kao(:, 1,13, 2) = (/ & & 0.18323e-07_rb,0.53022e-05_rb,0.86273e-05_rb,0.11385e-04_rb,0.13729e-04_rb, & & 0.15318e-04_rb,0.15952e-04_rb,0.14693e-04_rb,0.78927e-06_rb /) kao(:, 2,13, 2) = (/ & & 0.16961e-07_rb,0.58316e-05_rb,0.96204e-05_rb,0.12717e-04_rb,0.15275e-04_rb, & & 0.17141e-04_rb,0.17863e-04_rb,0.16639e-04_rb,0.93659e-06_rb /) kao(:, 3,13, 2) = (/ & & 0.15787e-07_rb,0.63710e-05_rb,0.10675e-04_rb,0.14140e-04_rb,0.16925e-04_rb, & & 0.18881e-04_rb,0.19675e-04_rb,0.18564e-04_rb,0.11050e-05_rb /) kao(:, 4,13, 2) = (/ & & 0.14764e-07_rb,0.69607e-05_rb,0.11779e-04_rb,0.15554e-04_rb,0.18475e-04_rb, & & 0.20461e-04_rb,0.21320e-04_rb,0.20207e-04_rb,0.12868e-05_rb /) kao(:, 5,13, 2) = (/ & & 0.13865e-07_rb,0.75611e-05_rb,0.12843e-04_rb,0.16991e-04_rb,0.20029e-04_rb, & & 0.22208e-04_rb,0.23079e-04_rb,0.21838e-04_rb,0.14565e-05_rb /) kao(:, 1, 1, 3) = (/ & & 0.55948e-06_rb,0.43472e-03_rb,0.65689e-03_rb,0.80237e-03_rb,0.90326e-03_rb, & & 0.95995e-03_rb,0.94242e-03_rb,0.81801e-03_rb,0.18380e-03_rb /) kao(:, 2, 1, 3) = (/ & & 0.53175e-06_rb,0.45395e-03_rb,0.68779e-03_rb,0.84040e-03_rb,0.94598e-03_rb, & & 0.10011e-02_rb,0.98481e-03_rb,0.85748e-03_rb,0.19567e-03_rb /) kao(:, 3, 1, 3) = (/ & & 0.50648e-06_rb,0.46835e-03_rb,0.71403e-03_rb,0.87684e-03_rb,0.98520e-03_rb, & & 0.10393e-02_rb,0.10233e-02_rb,0.89729e-03_rb,0.20725e-03_rb /) kao(:, 4, 1, 3) = (/ & & 0.48330e-06_rb,0.48143e-03_rb,0.73979e-03_rb,0.91063e-03_rb,0.10212e-02_rb, & & 0.10762e-02_rb,0.10600e-02_rb,0.93507e-03_rb,0.21814e-03_rb /) kao(:, 5, 1, 3) = (/ & & 0.46195e-06_rb,0.49413e-03_rb,0.76470e-03_rb,0.94208e-03_rb,0.10547e-02_rb, & & 0.11099e-02_rb,0.10960e-02_rb,0.97164e-03_rb,0.23056e-03_rb /) kao(:, 1, 2, 3) = (/ & & 0.46813e-06_rb,0.36711e-03_rb,0.55743e-03_rb,0.68070e-03_rb,0.76614e-03_rb, & & 0.81442e-03_rb,0.79940e-03_rb,0.69691e-03_rb,0.14988e-03_rb /) kao(:, 2, 2, 3) = (/ & & 0.44450e-06_rb,0.38413e-03_rb,0.58502e-03_rb,0.71506e-03_rb,0.80409e-03_rb, & & 0.85191e-03_rb,0.83722e-03_rb,0.73231e-03_rb,0.15985e-03_rb /) kao(:, 3, 2, 3) = (/ & & 0.42301e-06_rb,0.39744e-03_rb,0.60852e-03_rb,0.74741e-03_rb,0.83920e-03_rb, & & 0.88588e-03_rb,0.87206e-03_rb,0.76677e-03_rb,0.16968e-03_rb /) kao(:, 4, 2, 3) = (/ & & 0.40335e-06_rb,0.40927e-03_rb,0.63200e-03_rb,0.77835e-03_rb,0.87190e-03_rb, & & 0.91843e-03_rb,0.90467e-03_rb,0.79859e-03_rb,0.17948e-03_rb /) kao(:, 5, 2, 3) = (/ & & 0.38529e-06_rb,0.42034e-03_rb,0.65353e-03_rb,0.80758e-03_rb,0.90248e-03_rb, & & 0.94929e-03_rb,0.93715e-03_rb,0.83136e-03_rb,0.19018e-03_rb /) kao(:, 1, 3, 3) = (/ & & 0.39591e-06_rb,0.30459e-03_rb,0.46364e-03_rb,0.56590e-03_rb,0.63680e-03_rb, & & 0.67681e-03_rb,0.66517e-03_rb,0.58106e-03_rb,0.11936e-03_rb /) kao(:, 2, 3, 3) = (/ & & 0.37538e-06_rb,0.32036e-03_rb,0.48874e-03_rb,0.59649e-03_rb,0.67170e-03_rb, & & 0.71161e-03_rb,0.69943e-03_rb,0.61159e-03_rb,0.12804e-03_rb /) kao(:, 3, 3, 3) = (/ & & 0.35675e-06_rb,0.33321e-03_rb,0.50999e-03_rb,0.62591e-03_rb,0.70319e-03_rb, & & 0.74333e-03_rb,0.73015e-03_rb,0.64070e-03_rb,0.13642e-03_rb /) kao(:, 4, 3, 3) = (/ & & 0.33978e-06_rb,0.34382e-03_rb,0.53102e-03_rb,0.65391e-03_rb,0.73278e-03_rb, & & 0.77303e-03_rb,0.75990e-03_rb,0.66979e-03_rb,0.14477e-03_rb /) kao(:, 5, 3, 3) = (/ & & 0.32422e-06_rb,0.35416e-03_rb,0.55071e-03_rb,0.68042e-03_rb,0.76041e-03_rb, & & 0.80118e-03_rb,0.78914e-03_rb,0.69923e-03_rb,0.15365e-03_rb /) kao(:, 1, 4, 3) = (/ & & 0.33598e-06_rb,0.24970e-03_rb,0.38053e-03_rb,0.46464e-03_rb,0.52234e-03_rb, & & 0.55488e-03_rb,0.54675e-03_rb,0.47794e-03_rb,0.95275e-04_rb /) kao(:, 2, 4, 3) = (/ & & 0.31800e-06_rb,0.26415e-03_rb,0.40313e-03_rb,0.49210e-03_rb,0.55359e-03_rb, & & 0.58661e-03_rb,0.57694e-03_rb,0.50393e-03_rb,0.10292e-03_rb /) kao(:, 3, 4, 3) = (/ & & 0.30177e-06_rb,0.27638e-03_rb,0.42268e-03_rb,0.51823e-03_rb,0.58348e-03_rb, & & 0.61591e-03_rb,0.60497e-03_rb,0.52947e-03_rb,0.11016e-03_rb /) kao(:, 4, 4, 3) = (/ & & 0.28703e-06_rb,0.28612e-03_rb,0.44165e-03_rb,0.54326e-03_rb,0.61010e-03_rb, & & 0.64299e-03_rb,0.63151e-03_rb,0.55558e-03_rb,0.11708e-03_rb /) kao(:, 5, 4, 3) = (/ & & 0.27356e-06_rb,0.29550e-03_rb,0.45903e-03_rb,0.56703e-03_rb,0.63522e-03_rb, & & 0.66839e-03_rb,0.65812e-03_rb,0.58142e-03_rb,0.12444e-03_rb /) kao(:, 1, 5, 3) = (/ & & 0.28517e-06_rb,0.20305e-03_rb,0.30940e-03_rb,0.37854e-03_rb,0.42516e-03_rb, & & 0.45167e-03_rb,0.44617e-03_rb,0.39006e-03_rb,0.76394e-04_rb /) kao(:, 2, 5, 3) = (/ & & 0.26943e-06_rb,0.21631e-03_rb,0.32942e-03_rb,0.40279e-03_rb,0.45281e-03_rb, & & 0.47959e-03_rb,0.47274e-03_rb,0.41219e-03_rb,0.83093e-04_rb /) kao(:, 3, 5, 3) = (/ & & 0.25526e-06_rb,0.22760e-03_rb,0.34736e-03_rb,0.42603e-03_rb,0.47928e-03_rb, & & 0.50573e-03_rb,0.49753e-03_rb,0.43423e-03_rb,0.89137e-04_rb /) kao(:, 4, 5, 3) = (/ & & 0.24245e-06_rb,0.23661e-03_rb,0.36423e-03_rb,0.44832e-03_rb,0.50373e-03_rb, & & 0.53021e-03_rb,0.52092e-03_rb,0.45715e-03_rb,0.95026e-04_rb /) kao(:, 5, 5, 3) = (/ & & 0.23079e-06_rb,0.24490e-03_rb,0.37979e-03_rb,0.46958e-03_rb,0.52671e-03_rb, & & 0.55360e-03_rb,0.54422e-03_rb,0.47982e-03_rb,0.10100e-03_rb /) kao(:, 1, 6, 3) = (/ & & 0.24258e-06_rb,0.16374e-03_rb,0.24889e-03_rb,0.30526e-03_rb,0.34256e-03_rb, & & 0.36437e-03_rb,0.36054e-03_rb,0.31643e-03_rb,0.60983e-04_rb /) kao(:, 2, 6, 3) = (/ & & 0.22873e-06_rb,0.17557e-03_rb,0.26674e-03_rb,0.32662e-03_rb,0.36698e-03_rb, & & 0.38862e-03_rb,0.38395e-03_rb,0.33481e-03_rb,0.66717e-04_rb /) kao(:, 3, 6, 3) = (/ & & 0.21632e-06_rb,0.18596e-03_rb,0.28315e-03_rb,0.34710e-03_rb,0.39032e-03_rb, & & 0.41186e-03_rb,0.40597e-03_rb,0.35347e-03_rb,0.71805e-04_rb /) kao(:, 4, 6, 3) = (/ & & 0.20515e-06_rb,0.19412e-03_rb,0.29825e-03_rb,0.36672e-03_rb,0.41223e-03_rb, & & 0.43370e-03_rb,0.42654e-03_rb,0.37308e-03_rb,0.76950e-04_rb /) kao(:, 5, 6, 3) = (/ & & 0.19500e-06_rb,0.20163e-03_rb,0.31177e-03_rb,0.38573e-03_rb,0.43298e-03_rb, & & 0.45474e-03_rb,0.44659e-03_rb,0.39273e-03_rb,0.81854e-04_rb /) kao(:, 1, 7, 3) = (/ & & 0.20644e-06_rb,0.13088e-03_rb,0.19883e-03_rb,0.24453e-03_rb,0.27379e-03_rb, & & 0.29133e-03_rb,0.28972e-03_rb,0.25527e-03_rb,0.48483e-04_rb /) kao(:, 2, 7, 3) = (/ & & 0.19422e-06_rb,0.14123e-03_rb,0.21464e-03_rb,0.26307e-03_rb,0.29520e-03_rb, & & 0.31262e-03_rb,0.30976e-03_rb,0.27057e-03_rb,0.53189e-04_rb /) kao(:, 3, 7, 3) = (/ & & 0.18334e-06_rb,0.15056e-03_rb,0.22945e-03_rb,0.28102e-03_rb,0.31570e-03_rb, & & 0.33336e-03_rb,0.32921e-03_rb,0.28657e-03_rb,0.57664e-04_rb /) kao(:, 4, 7, 3) = (/ & & 0.17359e-06_rb,0.15845e-03_rb,0.24254e-03_rb,0.29812e-03_rb,0.33533e-03_rb, & & 0.35273e-03_rb,0.34737e-03_rb,0.30290e-03_rb,0.62080e-04_rb /) kao(:, 5, 7, 3) = (/ & & 0.16476e-06_rb,0.16515e-03_rb,0.25472e-03_rb,0.31492e-03_rb,0.35368e-03_rb, & & 0.37134e-03_rb,0.36466e-03_rb,0.31971e-03_rb,0.66283e-04_rb /) kao(:, 1, 8, 3) = (/ & & 0.17564e-06_rb,0.10377e-03_rb,0.15799e-03_rb,0.19443e-03_rb,0.21775e-03_rb, & & 0.23221e-03_rb,0.23178e-03_rb,0.20518e-03_rb,0.38613e-04_rb /) kao(:, 2, 8, 3) = (/ & & 0.16486e-06_rb,0.11291e-03_rb,0.17177e-03_rb,0.21060e-03_rb,0.23605e-03_rb, & & 0.25023e-03_rb,0.24860e-03_rb,0.21840e-03_rb,0.42574e-04_rb /) kao(:, 3, 8, 3) = (/ & & 0.15532e-06_rb,0.12160e-03_rb,0.18472e-03_rb,0.22613e-03_rb,0.25383e-03_rb, & & 0.26813e-03_rb,0.26569e-03_rb,0.23149e-03_rb,0.46438e-04_rb /) kao(:, 4, 8, 3) = (/ & & 0.14679e-06_rb,0.12871e-03_rb,0.19629e-03_rb,0.24117e-03_rb,0.27101e-03_rb, & & 0.28546e-03_rb,0.28148e-03_rb,0.24511e-03_rb,0.50132e-04_rb /) kao(:, 5, 8, 3) = (/ & & 0.13913e-06_rb,0.13470e-03_rb,0.20711e-03_rb,0.25583e-03_rb,0.28735e-03_rb, & & 0.30171e-03_rb,0.29653e-03_rb,0.25931e-03_rb,0.53892e-04_rb /) kao(:, 1, 9, 3) = (/ & & 0.14950e-06_rb,0.81941e-04_rb,0.12473e-03_rb,0.15363e-03_rb,0.17257e-03_rb, & & 0.18409e-03_rb,0.18424e-03_rb,0.16439e-03_rb,0.30772e-04_rb /) kao(:, 2, 9, 3) = (/ & & 0.13998e-06_rb,0.89702e-04_rb,0.13655e-03_rb,0.16763e-03_rb,0.18779e-03_rb, & & 0.19919e-03_rb,0.19877e-03_rb,0.17581e-03_rb,0.34022e-04_rb /) kao(:, 3, 9, 3) = (/ & & 0.13160e-06_rb,0.97263e-04_rb,0.14776e-03_rb,0.18089e-03_rb,0.20292e-03_rb, & & 0.21451e-03_rb,0.21317e-03_rb,0.18640e-03_rb,0.37381e-04_rb /) kao(:, 4, 9, 3) = (/ & & 0.12415e-06_rb,0.10389e-03_rb,0.15817e-03_rb,0.19404e-03_rb,0.21794e-03_rb, & & 0.22980e-03_rb,0.22715e-03_rb,0.19784e-03_rb,0.40457e-04_rb /) kao(:, 5, 9, 3) = (/ & & 0.11749e-06_rb,0.10934e-03_rb,0.16768e-03_rb,0.20680e-03_rb,0.23234e-03_rb, & & 0.24414e-03_rb,0.24026e-03_rb,0.20959e-03_rb,0.43586e-04_rb /) kao(:, 1,10, 3) = (/ & & 0.12658e-06_rb,0.64763e-04_rb,0.98690e-04_rb,0.12170e-03_rb,0.13709e-03_rb, & & 0.14644e-03_rb,0.14709e-03_rb,0.13215e-03_rb,0.24737e-04_rb /) kao(:, 2,10, 3) = (/ & & 0.11826e-06_rb,0.71405e-04_rb,0.10875e-03_rb,0.13368e-03_rb,0.14978e-03_rb, & & 0.15901e-03_rb,0.15937e-03_rb,0.14153e-03_rb,0.27487e-04_rb /) kao(:, 3,10, 3) = (/ & & 0.11097e-06_rb,0.77857e-04_rb,0.11842e-03_rb,0.14510e-03_rb,0.16261e-03_rb, & & 0.17204e-03_rb,0.17129e-03_rb,0.15041e-03_rb,0.30250e-04_rb /) kao(:, 4,10, 3) = (/ & & 0.10451e-06_rb,0.83764e-04_rb,0.12762e-03_rb,0.15625e-03_rb,0.17544e-03_rb, & & 0.18516e-03_rb,0.18345e-03_rb,0.16010e-03_rb,0.32891e-04_rb /) kao(:, 5,10, 3) = (/ & & 0.98767e-07_rb,0.88833e-04_rb,0.13595e-03_rb,0.16723e-03_rb,0.18798e-03_rb, & & 0.19766e-03_rb,0.19477e-03_rb,0.16979e-03_rb,0.35547e-04_rb /) kao(:, 1,11, 3) = (/ & & 0.10368e-06_rb,0.53714e-04_rb,0.81748e-04_rb,0.10085e-03_rb,0.11349e-03_rb, & & 0.12126e-03_rb,0.12180e-03_rb,0.10950e-03_rb,0.20787e-04_rb /) kao(:, 2,11, 3) = (/ & & 0.96854e-07_rb,0.59175e-04_rb,0.90131e-04_rb,0.11085e-03_rb,0.12425e-03_rb, & & 0.13166e-03_rb,0.13207e-03_rb,0.11733e-03_rb,0.23028e-04_rb /) kao(:, 3,11, 3) = (/ & & 0.90882e-07_rb,0.64593e-04_rb,0.98275e-04_rb,0.12041e-03_rb,0.13497e-03_rb, & & 0.14273e-03_rb,0.14215e-03_rb,0.12479e-03_rb,0.25362e-04_rb /) kao(:, 4,11, 3) = (/ & & 0.85602e-07_rb,0.69545e-04_rb,0.10592e-03_rb,0.12982e-03_rb,0.14583e-03_rb, & & 0.15388e-03_rb,0.15228e-03_rb,0.13297e-03_rb,0.27585e-04_rb /) kao(:, 5,11, 3) = (/ & & 0.80889e-07_rb,0.73731e-04_rb,0.11290e-03_rb,0.13914e-03_rb,0.15637e-03_rb, & & 0.16431e-03_rb,0.16189e-03_rb,0.14116e-03_rb,0.29828e-04_rb /) kao(:, 1,12, 3) = (/ & & 0.84886e-07_rb,0.44418e-04_rb,0.67641e-04_rb,0.83490e-04_rb,0.93906e-04_rb, & & 0.10034e-03_rb,0.10075e-03_rb,0.90614e-04_rb,0.17350e-04_rb /) kao(:, 2,12, 3) = (/ & & 0.79297e-07_rb,0.48981e-04_rb,0.74656e-04_rb,0.91821e-04_rb,0.10299e-03_rb, & & 0.10891e-03_rb,0.10933e-03_rb,0.97221e-04_rb,0.19237e-04_rb /) kao(:, 3,12, 3) = (/ & & 0.74408e-07_rb,0.53553e-04_rb,0.81503e-04_rb,0.99872e-04_rb,0.11196e-03_rb, & & 0.11832e-03_rb,0.11782e-03_rb,0.10341e-03_rb,0.21189e-04_rb /) kao(:, 4,12, 3) = (/ & & 0.70085e-07_rb,0.57698e-04_rb,0.87887e-04_rb,0.10781e-03_rb,0.12107e-03_rb, & & 0.12775e-03_rb,0.12624e-03_rb,0.11034e-03_rb,0.23038e-04_rb /) kao(:, 5,12, 3) = (/ & & 0.66226e-07_rb,0.61177e-04_rb,0.93694e-04_rb,0.11567e-03_rb,0.12995e-03_rb, & & 0.13645e-03_rb,0.13436e-03_rb,0.11726e-03_rb,0.24913e-04_rb /) kao(:, 1,13, 3) = (/ & & 0.69499e-07_rb,0.36716e-04_rb,0.55902e-04_rb,0.69067e-04_rb,0.77635e-04_rb, & & 0.82934e-04_rb,0.83302e-04_rb,0.74905e-04_rb,0.14419e-04_rb /) kao(:, 2,13, 3) = (/ & & 0.64923e-07_rb,0.40511e-04_rb,0.61779e-04_rb,0.75984e-04_rb,0.85239e-04_rb, & & 0.90090e-04_rb,0.90456e-04_rb,0.80264e-04_rb,0.15996e-04_rb /) kao(:, 3,13, 3) = (/ & & 0.60920e-07_rb,0.44356e-04_rb,0.67533e-04_rb,0.82746e-04_rb,0.92816e-04_rb, & & 0.98017e-04_rb,0.97590e-04_rb,0.85621e-04_rb,0.17623e-04_rb /) kao(:, 4,13, 3) = (/ & & 0.57381e-07_rb,0.47826e-04_rb,0.72874e-04_rb,0.89443e-04_rb,0.10040e-03_rb, & & 0.10588e-03_rb,0.10456e-03_rb,0.91429e-04_rb,0.19144e-04_rb /) kao(:, 5,13, 3) = (/ & & 0.54221e-07_rb,0.50750e-04_rb,0.77698e-04_rb,0.96005e-04_rb,0.10784e-03_rb, & & 0.11318e-03_rb,0.11139e-03_rb,0.97258e-04_rb,0.20671e-04_rb /) kao(:, 1, 1, 4) = (/ & & 0.36654e-05_rb,0.13689e-02_rb,0.21108e-02_rb,0.26314e-02_rb,0.29458e-02_rb, & & 0.30831e-02_rb,0.30207e-02_rb,0.26003e-02_rb,0.93689e-03_rb /) kao(:, 2, 1, 4) = (/ & & 0.35304e-05_rb,0.14025e-02_rb,0.21716e-02_rb,0.27078e-02_rb,0.30551e-02_rb, & & 0.31948e-02_rb,0.31649e-02_rb,0.27258e-02_rb,0.97983e-03_rb /) kao(:, 3, 1, 4) = (/ & & 0.34059e-05_rb,0.14340e-02_rb,0.22214e-02_rb,0.27773e-02_rb,0.31348e-02_rb, & & 0.33049e-02_rb,0.32835e-02_rb,0.28461e-02_rb,0.10251e-02_rb /) kao(:, 4, 1, 4) = (/ & & 0.32895e-05_rb,0.14610e-02_rb,0.22596e-02_rb,0.28314e-02_rb,0.32113e-02_rb, & & 0.34131e-02_rb,0.33921e-02_rb,0.29508e-02_rb,0.10730e-02_rb /) kao(:, 5, 1, 4) = (/ & & 0.31814e-05_rb,0.14814e-02_rb,0.22905e-02_rb,0.28789e-02_rb,0.32785e-02_rb, & & 0.34996e-02_rb,0.34952e-02_rb,0.30528e-02_rb,0.11205e-02_rb /) kao(:, 1, 2, 4) = (/ & & 0.30293e-05_rb,0.11600e-02_rb,0.17946e-02_rb,0.22370e-02_rb,0.25205e-02_rb, & & 0.26432e-02_rb,0.26172e-02_rb,0.22691e-02_rb,0.78466e-03_rb /) kao(:, 2, 2, 4) = (/ & & 0.29173e-05_rb,0.11916e-02_rb,0.18468e-02_rb,0.23072e-02_rb,0.26094e-02_rb, & & 0.27477e-02_rb,0.27388e-02_rb,0.23809e-02_rb,0.82356e-03_rb /) kao(:, 3, 2, 4) = (/ & & 0.28152e-05_rb,0.12203e-02_rb,0.18939e-02_rb,0.23691e-02_rb,0.26814e-02_rb, & & 0.28506e-02_rb,0.28414e-02_rb,0.24825e-02_rb,0.86161e-03_rb /) kao(:, 4, 2, 4) = (/ & & 0.27207e-05_rb,0.12454e-02_rb,0.19291e-02_rb,0.24180e-02_rb,0.27489e-02_rb, & & 0.29380e-02_rb,0.29345e-02_rb,0.25808e-02_rb,0.90328e-03_rb /) kao(:, 5, 2, 4) = (/ & & 0.26316e-05_rb,0.12644e-02_rb,0.19586e-02_rb,0.24624e-02_rb,0.28146e-02_rb, & & 0.30125e-02_rb,0.30237e-02_rb,0.26695e-02_rb,0.94678e-03_rb /) kao(:, 1, 3, 4) = (/ & & 0.25288e-05_rb,0.97348e-03_rb,0.15070e-02_rb,0.18795e-02_rb,0.21206e-02_rb, & & 0.22362e-02_rb,0.22210e-02_rb,0.19369e-02_rb,0.64308e-03_rb /) kao(:, 2, 3, 4) = (/ & & 0.24353e-05_rb,0.10031e-02_rb,0.15552e-02_rb,0.19441e-02_rb,0.22013e-02_rb, & & 0.23257e-02_rb,0.23286e-02_rb,0.20362e-02_rb,0.67529e-03_rb /) kao(:, 3, 3, 4) = (/ & & 0.23495e-05_rb,0.10295e-02_rb,0.15986e-02_rb,0.20019e-02_rb,0.22663e-02_rb, & & 0.24160e-02_rb,0.24204e-02_rb,0.21276e-02_rb,0.70991e-03_rb /) kao(:, 4, 3, 4) = (/ & & 0.22699e-05_rb,0.10533e-02_rb,0.16337e-02_rb,0.20489e-02_rb,0.23288e-02_rb, & & 0.24911e-02_rb,0.25016e-02_rb,0.22148e-02_rb,0.74635e-03_rb /) kao(:, 5, 3, 4) = (/ & & 0.21951e-05_rb,0.10724e-02_rb,0.16625e-02_rb,0.20891e-02_rb,0.23896e-02_rb, & & 0.25582e-02_rb,0.25812e-02_rb,0.22925e-02_rb,0.78432e-03_rb /) kao(:, 1, 4, 4) = (/ & & 0.21169e-05_rb,0.81053e-03_rb,0.12568e-02_rb,0.15647e-02_rb,0.17654e-02_rb, & & 0.18662e-02_rb,0.18568e-02_rb,0.16269e-02_rb,0.52608e-03_rb /) kao(:, 2, 4, 4) = (/ & & 0.20407e-05_rb,0.83875e-03_rb,0.13019e-02_rb,0.16252e-02_rb,0.18383e-02_rb, & & 0.19441e-02_rb,0.19538e-02_rb,0.17139e-02_rb,0.55325e-03_rb /) kao(:, 3, 4, 4) = (/ & & 0.19674e-05_rb,0.86329e-03_rb,0.13417e-02_rb,0.16788e-02_rb,0.18985e-02_rb, & & 0.20246e-02_rb,0.20315e-02_rb,0.17978e-02_rb,0.58253e-03_rb /) kao(:, 4, 4, 4) = (/ & & 0.18994e-05_rb,0.88551e-03_rb,0.13753e-02_rb,0.17238e-02_rb,0.19566e-02_rb, & & 0.20923e-02_rb,0.21035e-02_rb,0.18724e-02_rb,0.61438e-03_rb /) kao(:, 5, 4, 4) = (/ & & 0.18358e-05_rb,0.90442e-03_rb,0.14042e-02_rb,0.17619e-02_rb,0.20119e-02_rb, & & 0.21542e-02_rb,0.21749e-02_rb,0.19425e-02_rb,0.64762e-03_rb /) kao(:, 1, 5, 4) = (/ & & 0.17725e-05_rb,0.67146e-03_rb,0.10396e-02_rb,0.12935e-02_rb,0.14576e-02_rb, & & 0.15437e-02_rb,0.15341e-02_rb,0.13532e-02_rb,0.42981e-03_rb /) kao(:, 2, 5, 4) = (/ & & 0.17095e-05_rb,0.69774e-03_rb,0.10823e-02_rb,0.13477e-02_rb,0.15227e-02_rb, & & 0.16117e-02_rb,0.16222e-02_rb,0.14302e-02_rb,0.45286e-03_rb /) kao(:, 3, 5, 4) = (/ & & 0.16478e-05_rb,0.72044e-03_rb,0.11190e-02_rb,0.13967e-02_rb,0.15783e-02_rb, & & 0.16817e-02_rb,0.16897e-02_rb,0.15040e-02_rb,0.47782e-03_rb /) kao(:, 4, 5, 4) = (/ & & 0.15896e-05_rb,0.74136e-03_rb,0.11512e-02_rb,0.14394e-02_rb,0.16307e-02_rb, & & 0.17435e-02_rb,0.17536e-02_rb,0.15687e-02_rb,0.50468e-03_rb /) kao(:, 5, 5, 4) = (/ & & 0.15353e-05_rb,0.75977e-03_rb,0.11790e-02_rb,0.14755e-02_rb,0.16811e-02_rb, & & 0.17990e-02_rb,0.18175e-02_rb,0.16279e-02_rb,0.53353e-03_rb /) kao(:, 1, 6, 4) = (/ & & 0.14856e-05_rb,0.55163e-03_rb,0.85182e-03_rb,0.10583e-02_rb,0.11933e-02_rb, & & 0.12633e-02_rb,0.12519e-02_rb,0.11126e-02_rb,0.34969e-03_rb /) kao(:, 2, 6, 4) = (/ & & 0.14323e-05_rb,0.57534e-03_rb,0.89211e-03_rb,0.11084e-02_rb,0.12510e-02_rb, & & 0.13248e-02_rb,0.13302e-02_rb,0.11815e-02_rb,0.36893e-03_rb /) kao(:, 3, 6, 4) = (/ & & 0.13818e-05_rb,0.59705e-03_rb,0.92552e-03_rb,0.11530e-02_rb,0.13018e-02_rb, & & 0.13860e-02_rb,0.13942e-02_rb,0.12437e-02_rb,0.38991e-03_rb /) kao(:, 4, 6, 4) = (/ & & 0.13317e-05_rb,0.61671e-03_rb,0.95568e-03_rb,0.11922e-02_rb,0.13481e-02_rb, & & 0.14426e-02_rb,0.14508e-02_rb,0.13001e-02_rb,0.41248e-03_rb /) kao(:, 5, 6, 4) = (/ & & 0.12851e-05_rb,0.63414e-03_rb,0.98227e-03_rb,0.12265e-02_rb,0.13936e-02_rb, & & 0.14913e-02_rb,0.15064e-02_rb,0.13512e-02_rb,0.43696e-03_rb /) kao(:, 1, 7, 4) = (/ & & 0.12453e-05_rb,0.44982e-03_rb,0.69286e-03_rb,0.85857e-03_rb,0.97115e-03_rb, & & 0.10268e-02_rb,0.10132e-02_rb,0.90661e-03_rb,0.28333e-03_rb /) kao(:, 2, 7, 4) = (/ & & 0.11997e-05_rb,0.47163e-03_rb,0.72984e-03_rb,0.90525e-03_rb,0.10209e-02_rb, & & 0.10830e-02_rb,0.10815e-02_rb,0.96820e-03_rb,0.29991e-03_rb /) kao(:, 3, 7, 4) = (/ & & 0.11571e-05_rb,0.49170e-03_rb,0.76064e-03_rb,0.94597e-03_rb,0.10683e-02_rb, & & 0.11337e-02_rb,0.11418e-02_rb,0.10210e-02_rb,0.31738e-03_rb /) kao(:, 4, 7, 4) = (/ & & 0.11157e-05_rb,0.50964e-03_rb,0.78859e-03_rb,0.98236e-03_rb,0.11088e-02_rb, & & 0.11859e-02_rb,0.11920e-02_rb,0.10690e-02_rb,0.33600e-03_rb /) kao(:, 5, 7, 4) = (/ & & 0.10757e-05_rb,0.52578e-03_rb,0.81330e-03_rb,0.10141e-02_rb,0.11493e-02_rb, & & 0.12285e-02_rb,0.12399e-02_rb,0.11151e-02_rb,0.35631e-03_rb /) kao(:, 1, 8, 4) = (/ & & 0.10436e-05_rb,0.36475e-03_rb,0.55948e-03_rb,0.69399e-03_rb,0.78699e-03_rb, & & 0.82733e-03_rb,0.81546e-03_rb,0.73443e-03_rb,0.22874e-03_rb /) kao(:, 2, 8, 4) = (/ & & 0.10043e-05_rb,0.38461e-03_rb,0.59365e-03_rb,0.73631e-03_rb,0.82902e-03_rb, & & 0.87996e-03_rb,0.87589e-03_rb,0.78745e-03_rb,0.24281e-03_rb /) kao(:, 3, 8, 4) = (/ & & 0.96785e-06_rb,0.40227e-03_rb,0.62191e-03_rb,0.77183e-03_rb,0.87067e-03_rb, & & 0.92338e-03_rb,0.93116e-03_rb,0.83334e-03_rb,0.25735e-03_rb /) kao(:, 4, 8, 4) = (/ & & 0.93367e-06_rb,0.41881e-03_rb,0.64697e-03_rb,0.80474e-03_rb,0.90754e-03_rb, & & 0.96806e-03_rb,0.97434e-03_rb,0.87439e-03_rb,0.27286e-03_rb /) kao(:, 5, 8, 4) = (/ & & 0.90017e-06_rb,0.43377e-03_rb,0.67026e-03_rb,0.83398e-03_rb,0.94269e-03_rb, & & 0.10080e-02_rb,0.10154e-02_rb,0.91479e-03_rb,0.28948e-03_rb /) kao(:, 1, 9, 4) = (/ & & 0.87469e-06_rb,0.29345e-03_rb,0.44857e-03_rb,0.55653e-03_rb,0.63371e-03_rb, & & 0.66253e-03_rb,0.65229e-03_rb,0.59009e-03_rb,0.18475e-03_rb /) kao(:, 2, 9, 4) = (/ & & 0.84062e-06_rb,0.31152e-03_rb,0.47975e-03_rb,0.59422e-03_rb,0.67077e-03_rb, & & 0.71168e-03_rb,0.70550e-03_rb,0.63674e-03_rb,0.19669e-03_rb /) kao(:, 3, 9, 4) = (/ & & 0.80947e-06_rb,0.32779e-03_rb,0.50582e-03_rb,0.62707e-03_rb,0.70705e-03_rb, & & 0.74936e-03_rb,0.75252e-03_rb,0.67682e-03_rb,0.20896e-03_rb /) kao(:, 4, 9, 4) = (/ & & 0.78052e-06_rb,0.34262e-03_rb,0.52820e-03_rb,0.65631e-03_rb,0.74002e-03_rb, & & 0.78731e-03_rb,0.79257e-03_rb,0.71155e-03_rb,0.22197e-03_rb /) kao(:, 5, 9, 4) = (/ & & 0.75300e-06_rb,0.35618e-03_rb,0.54940e-03_rb,0.68236e-03_rb,0.76978e-03_rb, & & 0.82271e-03_rb,0.82806e-03_rb,0.74658e-03_rb,0.23588e-03_rb /) kao(:, 1,10, 4) = (/ & & 0.73080e-06_rb,0.23619e-03_rb,0.36002e-03_rb,0.44769e-03_rb,0.51001e-03_rb, & & 0.53294e-03_rb,0.52319e-03_rb,0.47492e-03_rb,0.15005e-03_rb /) kao(:, 2,10, 4) = (/ & & 0.70142e-06_rb,0.25225e-03_rb,0.38742e-03_rb,0.48039e-03_rb,0.54285e-03_rb, & & 0.57407e-03_rb,0.56765e-03_rb,0.51444e-03_rb,0.16000e-03_rb /) kao(:, 3,10, 4) = (/ & & 0.67484e-06_rb,0.26687e-03_rb,0.41119e-03_rb,0.50924e-03_rb,0.57372e-03_rb, & & 0.60912e-03_rb,0.60813e-03_rb,0.54945e-03_rb,0.17036e-03_rb /) kao(:, 4,10, 4) = (/ & & 0.65032e-06_rb,0.28002e-03_rb,0.43104e-03_rb,0.53513e-03_rb,0.60294e-03_rb, & & 0.63998e-03_rb,0.64485e-03_rb,0.57888e-03_rb,0.18120e-03_rb /) kao(:, 5,10, 4) = (/ & & 0.62752e-06_rb,0.29182e-03_rb,0.44950e-03_rb,0.55836e-03_rb,0.62849e-03_rb, & & 0.67148e-03_rb,0.67570e-03_rb,0.60918e-03_rb,0.19271e-03_rb /) kao(:, 1,11, 4) = (/ & & 0.59846e-06_rb,0.19603e-03_rb,0.29902e-03_rb,0.37159e-03_rb,0.42367e-03_rb, & & 0.44241e-03_rb,0.43550e-03_rb,0.39618e-03_rb,0.12498e-03_rb /) kao(:, 2,11, 4) = (/ & & 0.57447e-06_rb,0.20953e-03_rb,0.32187e-03_rb,0.39882e-03_rb,0.45021e-03_rb, & & 0.47717e-03_rb,0.47240e-03_rb,0.42894e-03_rb,0.13362e-03_rb /) kao(:, 3,11, 4) = (/ & & 0.55265e-06_rb,0.22185e-03_rb,0.34133e-03_rb,0.42283e-03_rb,0.47616e-03_rb, & & 0.50481e-03_rb,0.50553e-03_rb,0.45654e-03_rb,0.14246e-03_rb /) kao(:, 4,11, 4) = (/ & & 0.53259e-06_rb,0.23301e-03_rb,0.35816e-03_rb,0.44448e-03_rb,0.50048e-03_rb, & & 0.53147e-03_rb,0.53574e-03_rb,0.48169e-03_rb,0.15168e-03_rb /) kao(:, 5,11, 4) = (/ & & 0.51379e-06_rb,0.24302e-03_rb,0.37383e-03_rb,0.46352e-03_rb,0.52203e-03_rb, & & 0.55783e-03_rb,0.56175e-03_rb,0.50737e-03_rb,0.16153e-03_rb /) kao(:, 1,12, 4) = (/ & & 0.49006e-06_rb,0.16259e-03_rb,0.24802e-03_rb,0.30804e-03_rb,0.35111e-03_rb, & & 0.36672e-03_rb,0.36166e-03_rb,0.32968e-03_rb,0.10401e-03_rb /) kao(:, 2,12, 4) = (/ & & 0.47033e-06_rb,0.17379e-03_rb,0.26697e-03_rb,0.33069e-03_rb,0.37292e-03_rb, & & 0.39587e-03_rb,0.39239e-03_rb,0.35672e-03_rb,0.11138e-03_rb /) kao(:, 3,12, 4) = (/ & & 0.45247e-06_rb,0.18417e-03_rb,0.28295e-03_rb,0.35045e-03_rb,0.39465e-03_rb, & & 0.41825e-03_rb,0.41984e-03_rb,0.37867e-03_rb,0.11882e-03_rb /) kao(:, 4,12, 4) = (/ & & 0.43605e-06_rb,0.19351e-03_rb,0.29716e-03_rb,0.36850e-03_rb,0.41489e-03_rb, & & 0.44074e-03_rb,0.44460e-03_rb,0.40031e-03_rb,0.12667e-03_rb /) kao(:, 5,12, 4) = (/ & & 0.42066e-06_rb,0.20206e-03_rb,0.31038e-03_rb,0.38464e-03_rb,0.43337e-03_rb, & & 0.46297e-03_rb,0.46667e-03_rb,0.42202e-03_rb,0.13498e-03_rb /) kao(:, 1,13, 4) = (/ & & 0.40122e-06_rb,0.13465e-03_rb,0.20541e-03_rb,0.25488e-03_rb,0.29006e-03_rb, & & 0.30358e-03_rb,0.29984e-03_rb,0.27375e-03_rb,0.86406e-04_rb /) kao(:, 2,13, 4) = (/ & & 0.38502e-06_rb,0.14398e-03_rb,0.22086e-03_rb,0.27376e-03_rb,0.30832e-03_rb, & & 0.32794e-03_rb,0.32517e-03_rb,0.29562e-03_rb,0.92614e-04_rb /) kao(:, 3,13, 4) = (/ & & 0.37045e-06_rb,0.15266e-03_rb,0.23416e-03_rb,0.29013e-03_rb,0.32675e-03_rb, & & 0.34622e-03_rb,0.34816e-03_rb,0.31401e-03_rb,0.98880e-04_rb /) kao(:, 4,13, 4) = (/ & & 0.35702e-06_rb,0.16050e-03_rb,0.24608e-03_rb,0.30521e-03_rb,0.34336e-03_rb, & & 0.36522e-03_rb,0.36857e-03_rb,0.33246e-03_rb,0.10559e-03_rb /) kao(:, 5,13, 4) = (/ & & 0.34440e-06_rb,0.16771e-03_rb,0.25742e-03_rb,0.31904e-03_rb,0.35943e-03_rb, & & 0.38405e-03_rb,0.38715e-03_rb,0.35087e-03_rb,0.11262e-03_rb /) kao(:, 1, 1, 5) = (/ & & 0.15583e-03_rb,0.37546e-02_rb,0.53536e-02_rb,0.64161e-02_rb,0.71223e-02_rb, & & 0.74982e-02_rb,0.73596e-02_rb,0.65135e-02_rb,0.35175e-02_rb /) kao(:, 2, 1, 5) = (/ & & 0.16148e-03_rb,0.38569e-02_rb,0.55256e-02_rb,0.66461e-02_rb,0.73757e-02_rb, & & 0.77530e-02_rb,0.75665e-02_rb,0.66496e-02_rb,0.36840e-02_rb /) kao(:, 3, 1, 5) = (/ & & 0.16484e-03_rb,0.39353e-02_rb,0.56745e-02_rb,0.68364e-02_rb,0.76166e-02_rb, & & 0.79711e-02_rb,0.77717e-02_rb,0.67846e-02_rb,0.38485e-02_rb /) kao(:, 4, 1, 5) = (/ & & 0.16621e-03_rb,0.39946e-02_rb,0.57947e-02_rb,0.70071e-02_rb,0.78193e-02_rb, & & 0.81581e-02_rb,0.79592e-02_rb,0.69132e-02_rb,0.39769e-02_rb /) kao(:, 5, 1, 5) = (/ & & 0.16518e-03_rb,0.40386e-02_rb,0.58925e-02_rb,0.71530e-02_rb,0.79946e-02_rb, & & 0.83258e-02_rb,0.81107e-02_rb,0.70226e-02_rb,0.41134e-02_rb /) kao(:, 1, 2, 5) = (/ & & 0.12482e-03_rb,0.32204e-02_rb,0.46102e-02_rb,0.55475e-02_rb,0.61730e-02_rb, & & 0.65000e-02_rb,0.63942e-02_rb,0.56394e-02_rb,0.30002e-02_rb /) kao(:, 2, 2, 5) = (/ & & 0.13027e-03_rb,0.33099e-02_rb,0.47617e-02_rb,0.57497e-02_rb,0.64031e-02_rb, & & 0.67184e-02_rb,0.65829e-02_rb,0.57721e-02_rb,0.31442e-02_rb /) kao(:, 3, 2, 5) = (/ & & 0.13370e-03_rb,0.33808e-02_rb,0.48845e-02_rb,0.59235e-02_rb,0.66074e-02_rb, & & 0.69048e-02_rb,0.67660e-02_rb,0.59018e-02_rb,0.32788e-02_rb /) kao(:, 4, 2, 5) = (/ & & 0.13549e-03_rb,0.34340e-02_rb,0.49885e-02_rb,0.60745e-02_rb,0.67877e-02_rb, & & 0.70780e-02_rb,0.69202e-02_rb,0.60131e-02_rb,0.33946e-02_rb /) kao(:, 5, 2, 5) = (/ & & 0.13543e-03_rb,0.34778e-02_rb,0.50745e-02_rb,0.61981e-02_rb,0.69282e-02_rb, & & 0.72229e-02_rb,0.70521e-02_rb,0.61218e-02_rb,0.35097e-02_rb /) kao(:, 1, 3, 5) = (/ & & 0.98437e-04_rb,0.27209e-02_rb,0.39035e-02_rb,0.47185e-02_rb,0.52706e-02_rb, & & 0.55579e-02_rb,0.54846e-02_rb,0.48469e-02_rb,0.25077e-02_rb /) kao(:, 2, 3, 5) = (/ & & 0.10396e-03_rb,0.28031e-02_rb,0.40384e-02_rb,0.48993e-02_rb,0.54753e-02_rb, & & 0.57575e-02_rb,0.56525e-02_rb,0.49684e-02_rb,0.26366e-02_rb /) kao(:, 3, 3, 5) = (/ & & 0.10770e-03_rb,0.28702e-02_rb,0.41513e-02_rb,0.50504e-02_rb,0.56640e-02_rb, & & 0.59245e-02_rb,0.58125e-02_rb,0.50922e-02_rb,0.27478e-02_rb /) kao(:, 4, 3, 5) = (/ & & 0.10996e-03_rb,0.29232e-02_rb,0.42451e-02_rb,0.51838e-02_rb,0.58257e-02_rb, & & 0.60793e-02_rb,0.59498e-02_rb,0.51949e-02_rb,0.28490e-02_rb /) kao(:, 5, 3, 5) = (/ & & 0.11088e-03_rb,0.29645e-02_rb,0.43251e-02_rb,0.52992e-02_rb,0.59468e-02_rb, & & 0.62096e-02_rb,0.60648e-02_rb,0.52904e-02_rb,0.29495e-02_rb /) kao(:, 1, 4, 5) = (/ & & 0.76587e-04_rb,0.22792e-02_rb,0.32731e-02_rb,0.39724e-02_rb,0.44561e-02_rb, & & 0.47109e-02_rb,0.46706e-02_rb,0.41444e-02_rb,0.20810e-02_rb /) kao(:, 2, 4, 5) = (/ & & 0.82225e-04_rb,0.23548e-02_rb,0.33943e-02_rb,0.41325e-02_rb,0.46415e-02_rb, & & 0.48939e-02_rb,0.48200e-02_rb,0.42591e-02_rb,0.21925e-02_rb /) kao(:, 3, 4, 5) = (/ & & 0.86203e-04_rb,0.24180e-02_rb,0.34991e-02_rb,0.42684e-02_rb,0.48074e-02_rb, & & 0.50416e-02_rb,0.49651e-02_rb,0.43643e-02_rb,0.22938e-02_rb /) kao(:, 4, 4, 5) = (/ & & 0.88766e-04_rb,0.24694e-02_rb,0.35874e-02_rb,0.43875e-02_rb,0.49469e-02_rb, & & 0.51810e-02_rb,0.50850e-02_rb,0.44606e-02_rb,0.23791e-02_rb /) kao(:, 5, 4, 5) = (/ & & 0.90218e-04_rb,0.25110e-02_rb,0.36613e-02_rb,0.44937e-02_rb,0.50548e-02_rb, & & 0.52982e-02_rb,0.51883e-02_rb,0.45498e-02_rb,0.24658e-02_rb /) kao(:, 1, 5, 5) = (/ & & 0.59080e-04_rb,0.18972e-02_rb,0.27294e-02_rb,0.33195e-02_rb,0.37395e-02_rb, & & 0.39683e-02_rb,0.39523e-02_rb,0.35161e-02_rb,0.17195e-02_rb /) kao(:, 2, 5, 5) = (/ & & 0.64508e-04_rb,0.19673e-02_rb,0.28376e-02_rb,0.34632e-02_rb,0.39033e-02_rb, & & 0.41343e-02_rb,0.40826e-02_rb,0.36195e-02_rb,0.18173e-02_rb /) kao(:, 3, 5, 5) = (/ & & 0.68538e-04_rb,0.20264e-02_rb,0.29342e-02_rb,0.35856e-02_rb,0.40488e-02_rb, & & 0.42664e-02_rb,0.42141e-02_rb,0.37144e-02_rb,0.19081e-02_rb /) kao(:, 4, 5, 5) = (/ & & 0.71328e-04_rb,0.20750e-02_rb,0.30165e-02_rb,0.36933e-02_rb,0.41719e-02_rb, & & 0.43880e-02_rb,0.43221e-02_rb,0.38006e-02_rb,0.19818e-02_rb /) kao(:, 5, 5, 5) = (/ & & 0.73073e-04_rb,0.21155e-02_rb,0.30861e-02_rb,0.37892e-02_rb,0.42690e-02_rb, & & 0.44901e-02_rb,0.44161e-02_rb,0.38864e-02_rb,0.20583e-02_rb /) kao(:, 1, 6, 5) = (/ & & 0.45069e-04_rb,0.15673e-02_rb,0.22596e-02_rb,0.27566e-02_rb,0.31117e-02_rb, & & 0.33162e-02_rb,0.33135e-02_rb,0.29574e-02_rb,0.14089e-02_rb /) kao(:, 2, 6, 5) = (/ & & 0.49959e-04_rb,0.16342e-02_rb,0.23577e-02_rb,0.28828e-02_rb,0.32572e-02_rb, & & 0.34626e-02_rb,0.34302e-02_rb,0.30476e-02_rb,0.14955e-02_rb /) kao(:, 3, 6, 5) = (/ & & 0.54013e-04_rb,0.16891e-02_rb,0.24457e-02_rb,0.29926e-02_rb,0.33865e-02_rb, & & 0.35809e-02_rb,0.35427e-02_rb,0.31358e-02_rb,0.15763e-02_rb /) kao(:, 4, 6, 5) = (/ & & 0.56910e-04_rb,0.17356e-02_rb,0.25220e-02_rb,0.30903e-02_rb,0.34968e-02_rb, & & 0.36853e-02_rb,0.36443e-02_rb,0.32140e-02_rb,0.16428e-02_rb /) kao(:, 5, 6, 5) = (/ & & 0.58852e-04_rb,0.17743e-02_rb,0.25868e-02_rb,0.31771e-02_rb,0.35857e-02_rb, & & 0.37782e-02_rb,0.37284e-02_rb,0.32905e-02_rb,0.17079e-02_rb /) kao(:, 1, 7, 5) = (/ & & 0.34131e-04_rb,0.12873e-02_rb,0.18619e-02_rb,0.22745e-02_rb,0.25688e-02_rb, & & 0.27494e-02_rb,0.27574e-02_rb,0.24658e-02_rb,0.11444e-02_rb /) kao(:, 2, 7, 5) = (/ & & 0.38379e-04_rb,0.13503e-02_rb,0.19490e-02_rb,0.23869e-02_rb,0.26985e-02_rb, & & 0.28761e-02_rb,0.28607e-02_rb,0.25443e-02_rb,0.12242e-02_rb /) kao(:, 3, 7, 5) = (/ & & 0.42146e-04_rb,0.14018e-02_rb,0.20287e-02_rb,0.24843e-02_rb,0.28119e-02_rb, & & 0.29848e-02_rb,0.29569e-02_rb,0.26258e-02_rb,0.12956e-02_rb /) kao(:, 4, 7, 5) = (/ & & 0.45116e-04_rb,0.14454e-02_rb,0.20989e-02_rb,0.25718e-02_rb,0.29115e-02_rb, & & 0.30740e-02_rb,0.30482e-02_rb,0.26967e-02_rb,0.13537e-02_rb /) kao(:, 5, 7, 5) = (/ & & 0.47178e-04_rb,0.14818e-02_rb,0.21591e-02_rb,0.26509e-02_rb,0.29945e-02_rb, & & 0.31590e-02_rb,0.31235e-02_rb,0.27641e-02_rb,0.14100e-02_rb /) kao(:, 1, 8, 5) = (/ & & 0.25656e-04_rb,0.10525e-02_rb,0.15266e-02_rb,0.18648e-02_rb,0.21060e-02_rb, & & 0.22660e-02_rb,0.22807e-02_rb,0.20415e-02_rb,0.92482e-03_rb /) kao(:, 2, 8, 5) = (/ & & 0.29313e-04_rb,0.11096e-02_rb,0.16027e-02_rb,0.19628e-02_rb,0.22224e-02_rb, & & 0.23730e-02_rb,0.23683e-02_rb,0.21111e-02_rb,0.99366e-03_rb /) kao(:, 3, 8, 5) = (/ & & 0.32643e-04_rb,0.11579e-02_rb,0.16732e-02_rb,0.20503e-02_rb,0.23231e-02_rb, & & 0.24721e-02_rb,0.24512e-02_rb,0.21842e-02_rb,0.10570e-02_rb /) kao(:, 4, 8, 5) = (/ & & 0.35509e-04_rb,0.11985e-02_rb,0.17379e-02_rb,0.21284e-02_rb,0.24110e-02_rb, & & 0.25519e-02_rb,0.25339e-02_rb,0.22496e-02_rb,0.11116e-02_rb /) kao(:, 5, 8, 5) = (/ & & 0.37616e-04_rb,0.12327e-02_rb,0.17933e-02_rb,0.21996e-02_rb,0.24880e-02_rb, & & 0.26258e-02_rb,0.26029e-02_rb,0.23088e-02_rb,0.11595e-02_rb /) kao(:, 1, 9, 5) = (/ & & 0.19166e-04_rb,0.85559e-03_rb,0.12446e-02_rb,0.15213e-02_rb,0.17160e-02_rb, & & 0.18527e-02_rb,0.18723e-02_rb,0.16794e-02_rb,0.74316e-03_rb /) kao(:, 2, 9, 5) = (/ & & 0.22251e-04_rb,0.90701e-03_rb,0.13107e-02_rb,0.16061e-02_rb,0.18177e-02_rb, & & 0.19452e-02_rb,0.19496e-02_rb,0.17420e-02_rb,0.80168e-03_rb /) kao(:, 3, 9, 5) = (/ & & 0.25123e-04_rb,0.95106e-03_rb,0.13724e-02_rb,0.16826e-02_rb,0.19064e-02_rb, & & 0.20352e-02_rb,0.20241e-02_rb,0.18064e-02_rb,0.85659e-03_rb /) kao(:, 4, 9, 5) = (/ & & 0.27713e-04_rb,0.98903e-03_rb,0.14301e-02_rb,0.17523e-02_rb,0.19862e-02_rb, & & 0.21079e-02_rb,0.20944e-02_rb,0.18656e-02_rb,0.90655e-03_rb /) kao(:, 5, 9, 5) = (/ & & 0.29821e-04_rb,0.10207e-02_rb,0.14813e-02_rb,0.18163e-02_rb,0.20570e-02_rb, & & 0.21737e-02_rb,0.21574e-02_rb,0.19153e-02_rb,0.94882e-03_rb /) kao(:, 1,10, 5) = (/ & & 0.14455e-04_rb,0.69508e-03_rb,0.10143e-02_rb,0.12382e-02_rb,0.13977e-02_rb, & & 0.15101e-02_rb,0.15339e-02_rb,0.13794e-02_rb,0.60064e-03_rb /) kao(:, 2,10, 5) = (/ & & 0.16975e-04_rb,0.74055e-03_rb,0.10715e-02_rb,0.13117e-02_rb,0.14851e-02_rb, & & 0.15938e-02_rb,0.16026e-02_rb,0.14354e-02_rb,0.65034e-03_rb /) kao(:, 3,10, 5) = (/ & & 0.19421e-04_rb,0.77996e-03_rb,0.11243e-02_rb,0.13791e-02_rb,0.15636e-02_rb, & & 0.16707e-02_rb,0.16678e-02_rb,0.14908e-02_rb,0.69875e-03_rb /) kao(:, 4,10, 5) = (/ & & 0.21659e-04_rb,0.81369e-03_rb,0.11746e-02_rb,0.14408e-02_rb,0.16340e-02_rb, & & 0.17376e-02_rb,0.17267e-02_rb,0.15418e-02_rb,0.74336e-03_rb /) kao(:, 5,10, 5) = (/ & & 0.23616e-04_rb,0.84316e-03_rb,0.12215e-02_rb,0.14972e-02_rb,0.16971e-02_rb, & & 0.17945e-02_rb,0.17834e-02_rb,0.15844e-02_rb,0.78045e-03_rb /) kao(:, 1,11, 5) = (/ & & 0.11812e-04_rb,0.58067e-03_rb,0.84658e-03_rb,0.10349e-02_rb,0.11681e-02_rb, & & 0.12622e-02_rb,0.12806e-02_rb,0.11518e-02_rb,0.50197e-03_rb /) kao(:, 2,11, 5) = (/ & & 0.13870e-04_rb,0.61870e-03_rb,0.89364e-03_rb,0.10957e-02_rb,0.12411e-02_rb, & & 0.13307e-02_rb,0.13366e-02_rb,0.11990e-02_rb,0.54419e-03_rb /) kao(:, 3,11, 5) = (/ & & 0.15872e-04_rb,0.65131e-03_rb,0.93843e-03_rb,0.11520e-02_rb,0.13068e-02_rb, & & 0.13966e-02_rb,0.13927e-02_rb,0.12459e-02_rb,0.58412e-03_rb /) kao(:, 4,11, 5) = (/ & & 0.17706e-04_rb,0.67957e-03_rb,0.98128e-03_rb,0.12037e-02_rb,0.13653e-02_rb, & & 0.14510e-02_rb,0.14423e-02_rb,0.12873e-02_rb,0.62086e-03_rb /) kao(:, 5,11, 5) = (/ & & 0.19307e-04_rb,0.70477e-03_rb,0.10208e-02_rb,0.12522e-02_rb,0.14187e-02_rb, & & 0.15000e-02_rb,0.14882e-02_rb,0.13223e-02_rb,0.65273e-03_rb /) kao(:, 1,12, 5) = (/ & & 0.96633e-05_rb,0.48384e-03_rb,0.70464e-03_rb,0.86214e-03_rb,0.97325e-03_rb, & & 0.10525e-02_rb,0.10661e-02_rb,0.95818e-03_rb,0.41838e-03_rb /) kao(:, 2,12, 5) = (/ & & 0.11346e-04_rb,0.51544e-03_rb,0.74375e-03_rb,0.91255e-03_rb,0.10346e-02_rb, & & 0.11088e-02_rb,0.11124e-02_rb,0.99787e-03_rb,0.45436e-03_rb /) kao(:, 3,12, 5) = (/ & & 0.12983e-04_rb,0.54258e-03_rb,0.78191e-03_rb,0.95994e-03_rb,0.10893e-02_rb, & & 0.11636e-02_rb,0.11595e-02_rb,0.10379e-02_rb,0.48767e-03_rb /) kao(:, 4,12, 5) = (/ & & 0.14483e-04_rb,0.56662e-03_rb,0.81795e-03_rb,0.10036e-02_rb,0.11385e-02_rb, & & 0.12091e-02_rb,0.12012e-02_rb,0.10707e-02_rb,0.51810e-03_rb /) kao(:, 5,12, 5) = (/ & & 0.15790e-04_rb,0.58805e-03_rb,0.85165e-03_rb,0.10447e-02_rb,0.11830e-02_rb, & & 0.12500e-02_rb,0.12389e-02_rb,0.11012e-02_rb,0.54508e-03_rb /) kao(:, 1,13, 5) = (/ & & 0.79057e-05_rb,0.40215e-03_rb,0.58516e-03_rb,0.71666e-03_rb,0.80969e-03_rb, & & 0.87518e-03_rb,0.88581e-03_rb,0.79569e-03_rb,0.34825e-03_rb /) kao(:, 2,13, 5) = (/ & & 0.92808e-05_rb,0.42853e-03_rb,0.61818e-03_rb,0.75847e-03_rb,0.86082e-03_rb, & & 0.92160e-03_rb,0.92436e-03_rb,0.82894e-03_rb,0.37871e-03_rb /) kao(:, 3,13, 5) = (/ & & 0.10621e-04_rb,0.45134e-03_rb,0.65028e-03_rb,0.79815e-03_rb,0.90622e-03_rb, & & 0.96752e-03_rb,0.96291e-03_rb,0.86177e-03_rb,0.40642e-03_rb /) kao(:, 4,13, 5) = (/ & & 0.11849e-04_rb,0.47161e-03_rb,0.68090e-03_rb,0.83530e-03_rb,0.94770e-03_rb, & & 0.10054e-02_rb,0.99815e-03_rb,0.88908e-03_rb,0.43149e-03_rb /) kao(:, 5,13, 5) = (/ & & 0.12897e-04_rb,0.49000e-03_rb,0.70944e-03_rb,0.86982e-03_rb,0.98430e-03_rb, & & 0.10398e-02_rb,0.10297e-02_rb,0.91483e-03_rb,0.45459e-03_rb /) kao(:, 1, 1, 6) = (/ & & 0.23575e-02_rb,0.96457e-02_rb,0.13128e-01_rb,0.15361e-01_rb,0.16662e-01_rb, & & 0.16999e-01_rb,0.16303e-01_rb,0.14368e-01_rb,0.10185e-01_rb /) kao(:, 2, 1, 6) = (/ & & 0.24508e-02_rb,0.99768e-02_rb,0.13562e-01_rb,0.15786e-01_rb,0.17046e-01_rb, & & 0.17316e-01_rb,0.16539e-01_rb,0.14627e-01_rb,0.10447e-01_rb /) kao(:, 3, 1, 6) = (/ & & 0.25176e-02_rb,0.10262e-01_rb,0.13947e-01_rb,0.16182e-01_rb,0.17390e-01_rb, & & 0.17588e-01_rb,0.16752e-01_rb,0.14857e-01_rb,0.10699e-01_rb /) kao(:, 4, 1, 6) = (/ & & 0.25627e-02_rb,0.10510e-01_rb,0.14271e-01_rb,0.16517e-01_rb,0.17678e-01_rb, & & 0.17815e-01_rb,0.16941e-01_rb,0.15073e-01_rb,0.10970e-01_rb /) kao(:, 5, 1, 6) = (/ & & 0.25904e-02_rb,0.10712e-01_rb,0.14528e-01_rb,0.16788e-01_rb,0.17912e-01_rb, & & 0.18013e-01_rb,0.17126e-01_rb,0.15282e-01_rb,0.11215e-01_rb /) kao(:, 1, 2, 6) = (/ & & 0.19422e-02_rb,0.85179e-02_rb,0.11603e-01_rb,0.13561e-01_rb,0.14694e-01_rb, & & 0.14952e-01_rb,0.14274e-01_rb,0.12616e-01_rb,0.86910e-02_rb /) kao(:, 2, 2, 6) = (/ & & 0.20231e-02_rb,0.88208e-02_rb,0.11992e-01_rb,0.13942e-01_rb,0.15043e-01_rb, & & 0.15241e-01_rb,0.14503e-01_rb,0.12849e-01_rb,0.89203e-02_rb /) kao(:, 3, 2, 6) = (/ & & 0.20824e-02_rb,0.90892e-02_rb,0.12333e-01_rb,0.14283e-01_rb,0.15343e-01_rb, & & 0.15493e-01_rb,0.14704e-01_rb,0.13065e-01_rb,0.91412e-02_rb /) kao(:, 4, 2, 6) = (/ & & 0.21235e-02_rb,0.93193e-02_rb,0.12613e-01_rb,0.14573e-01_rb,0.15586e-01_rb, & & 0.15696e-01_rb,0.14900e-01_rb,0.13269e-01_rb,0.93731e-02_rb /) kao(:, 5, 2, 6) = (/ & & 0.21501e-02_rb,0.95064e-02_rb,0.12844e-01_rb,0.14802e-01_rb,0.15789e-01_rb, & & 0.15872e-01_rb,0.15079e-01_rb,0.13459e-01_rb,0.95922e-02_rb /) kao(:, 1, 3, 6) = (/ & & 0.15710e-02_rb,0.73739e-02_rb,0.10084e-01_rb,0.11795e-01_rb,0.12791e-01_rb, & & 0.13002e-01_rb,0.12408e-01_rb,0.10948e-01_rb,0.73256e-02_rb /) kao(:, 2, 3, 6) = (/ & & 0.16445e-02_rb,0.76603e-02_rb,0.10441e-01_rb,0.12136e-01_rb,0.13098e-01_rb, & & 0.13272e-01_rb,0.12629e-01_rb,0.11169e-01_rb,0.75277e-02_rb /) kao(:, 3, 3, 6) = (/ & & 0.17016e-02_rb,0.79120e-02_rb,0.10738e-01_rb,0.12444e-01_rb,0.13365e-01_rb, & & 0.13502e-01_rb,0.12827e-01_rb,0.11365e-01_rb,0.77275e-02_rb /) kao(:, 4, 3, 6) = (/ & & 0.17419e-02_rb,0.81204e-02_rb,0.10992e-01_rb,0.12704e-01_rb,0.13579e-01_rb, & & 0.13687e-01_rb,0.13022e-01_rb,0.11565e-01_rb,0.79327e-02_rb /) kao(:, 5, 3, 6) = (/ & & 0.17693e-02_rb,0.82896e-02_rb,0.11201e-01_rb,0.12903e-01_rb,0.13761e-01_rb, & & 0.13854e-01_rb,0.13193e-01_rb,0.11760e-01_rb,0.81324e-02_rb /) kao(:, 1, 4, 6) = (/ & & 0.12568e-02_rb,0.62925e-02_rb,0.86570e-02_rb,0.10156e-01_rb,0.11020e-01_rb, & & 0.11220e-01_rb,0.10710e-01_rb,0.94329e-02_rb,0.61812e-02_rb /) kao(:, 2, 4, 6) = (/ & & 0.13242e-02_rb,0.65532e-02_rb,0.89756e-02_rb,0.10460e-01_rb,0.11292e-01_rb, & & 0.11463e-01_rb,0.10924e-01_rb,0.96449e-02_rb,0.63620e-02_rb /) kao(:, 3, 4, 6) = (/ & & 0.13782e-02_rb,0.67807e-02_rb,0.92447e-02_rb,0.10739e-01_rb,0.11531e-01_rb, & & 0.11676e-01_rb,0.11115e-01_rb,0.98384e-02_rb,0.65417e-02_rb /) kao(:, 4, 4, 6) = (/ & & 0.14185e-02_rb,0.69728e-02_rb,0.94724e-02_rb,0.10967e-01_rb,0.11732e-01_rb, & & 0.11853e-01_rb,0.11299e-01_rb,0.10029e-01_rb,0.67314e-02_rb /) kao(:, 5, 4, 6) = (/ & & 0.14466e-02_rb,0.71294e-02_rb,0.96551e-02_rb,0.11150e-01_rb,0.11897e-01_rb, & & 0.12003e-01_rb,0.11457e-01_rb,0.10212e-01_rb,0.69134e-02_rb /) kao(:, 1, 5, 6) = (/ & & 0.99815e-03_rb,0.53184e-02_rb,0.73668e-02_rb,0.86661e-02_rb,0.94189e-02_rb, & & 0.96088e-02_rb,0.91860e-02_rb,0.80854e-02_rb,0.52147e-02_rb /) kao(:, 2, 5, 6) = (/ & & 0.10594e-02_rb,0.55502e-02_rb,0.76480e-02_rb,0.89382e-02_rb,0.96675e-02_rb, & & 0.98281e-02_rb,0.93908e-02_rb,0.82904e-02_rb,0.53805e-02_rb /) kao(:, 3, 5, 6) = (/ & & 0.11093e-02_rb,0.57534e-02_rb,0.78820e-02_rb,0.91873e-02_rb,0.98860e-02_rb, & & 0.10027e-01_rb,0.95739e-02_rb,0.84774e-02_rb,0.55398e-02_rb /) kao(:, 4, 5, 6) = (/ & & 0.11487e-02_rb,0.59264e-02_rb,0.80746e-02_rb,0.93952e-02_rb,0.10070e-01_rb, & & 0.10196e-01_rb,0.97460e-02_rb,0.86586e-02_rb,0.57118e-02_rb /) kao(:, 5, 5, 6) = (/ & & 0.11770e-02_rb,0.60715e-02_rb,0.82322e-02_rb,0.95590e-02_rb,0.10225e-01_rb, & & 0.10337e-01_rb,0.98891e-02_rb,0.88282e-02_rb,0.58756e-02_rb /) kao(:, 1, 6, 6) = (/ & & 0.78484e-03_rb,0.44557e-02_rb,0.62088e-02_rb,0.73238e-02_rb,0.79758e-02_rb, & & 0.81565e-02_rb,0.78234e-02_rb,0.68949e-02_rb,0.43721e-02_rb /) kao(:, 2, 6, 6) = (/ & & 0.84104e-03_rb,0.46584e-02_rb,0.64548e-02_rb,0.75720e-02_rb,0.82049e-02_rb, & & 0.83603e-02_rb,0.80139e-02_rb,0.70912e-02_rb,0.45208e-02_rb /) kao(:, 3, 6, 6) = (/ & & 0.88703e-03_rb,0.48386e-02_rb,0.66585e-02_rb,0.77939e-02_rb,0.84077e-02_rb, & & 0.85494e-02_rb,0.81878e-02_rb,0.72673e-02_rb,0.46664e-02_rb /) kao(:, 4, 6, 6) = (/ & & 0.92429e-03_rb,0.49939e-02_rb,0.68255e-02_rb,0.79793e-02_rb,0.85811e-02_rb, & & 0.87123e-02_rb,0.83423e-02_rb,0.74324e-02_rb,0.48193e-02_rb /) kao(:, 5, 6, 6) = (/ & & 0.95287e-03_rb,0.51269e-02_rb,0.69664e-02_rb,0.81216e-02_rb,0.87256e-02_rb, & & 0.88404e-02_rb,0.84793e-02_rb,0.75885e-02_rb,0.49684e-02_rb /) kao(:, 1, 7, 6) = (/ & & 0.61176e-03_rb,0.37105e-02_rb,0.51921e-02_rb,0.61495e-02_rb,0.67086e-02_rb, & & 0.68737e-02_rb,0.66196e-02_rb,0.58499e-02_rb,0.36398e-02_rb /) kao(:, 2, 7, 6) = (/ & & 0.66355e-03_rb,0.38845e-02_rb,0.54092e-02_rb,0.63684e-02_rb,0.69191e-02_rb, & & 0.70638e-02_rb,0.67967e-02_rb,0.60329e-02_rb,0.37725e-02_rb /) kao(:, 3, 7, 6) = (/ & & 0.70584e-03_rb,0.40429e-02_rb,0.55891e-02_rb,0.65665e-02_rb,0.71061e-02_rb, & & 0.72392e-02_rb,0.69566e-02_rb,0.61958e-02_rb,0.39040e-02_rb /) kao(:, 4, 7, 6) = (/ & & 0.74016e-03_rb,0.41804e-02_rb,0.57362e-02_rb,0.67306e-02_rb,0.72656e-02_rb, & & 0.73939e-02_rb,0.71002e-02_rb,0.63458e-02_rb,0.40422e-02_rb /) kao(:, 5, 7, 6) = (/ & & 0.76793e-03_rb,0.43013e-02_rb,0.58634e-02_rb,0.68605e-02_rb,0.73917e-02_rb, & & 0.75160e-02_rb,0.72292e-02_rb,0.64867e-02_rb,0.41753e-02_rb /) kao(:, 1, 8, 6) = (/ & & 0.47383e-03_rb,0.30719e-02_rb,0.43157e-02_rb,0.51299e-02_rb,0.56113e-02_rb, & & 0.57604e-02_rb,0.55584e-02_rb,0.49263e-02_rb,0.30099e-02_rb /) kao(:, 2, 8, 6) = (/ & & 0.52030e-03_rb,0.32224e-02_rb,0.45088e-02_rb,0.53256e-02_rb,0.58049e-02_rb, & & 0.59369e-02_rb,0.57249e-02_rb,0.50950e-02_rb,0.31335e-02_rb /) kao(:, 3, 8, 6) = (/ & & 0.55897e-03_rb,0.33601e-02_rb,0.46690e-02_rb,0.55008e-02_rb,0.59733e-02_rb, & & 0.60982e-02_rb,0.58703e-02_rb,0.52416e-02_rb,0.32505e-02_rb /) kao(:, 4, 8, 6) = (/ & & 0.59051e-03_rb,0.34823e-02_rb,0.48003e-02_rb,0.56492e-02_rb,0.61147e-02_rb, & & 0.62407e-02_rb,0.60011e-02_rb,0.53776e-02_rb,0.33691e-02_rb /) kao(:, 5, 8, 6) = (/ & & 0.61638e-03_rb,0.35908e-02_rb,0.49151e-02_rb,0.57682e-02_rb,0.62269e-02_rb, & & 0.63505e-02_rb,0.61226e-02_rb,0.55061e-02_rb,0.34893e-02_rb /) kao(:, 1, 9, 6) = (/ & & 0.36452e-03_rb,0.25301e-02_rb,0.35655e-02_rb,0.42558e-02_rb,0.46668e-02_rb, & & 0.47995e-02_rb,0.46391e-02_rb,0.41176e-02_rb,0.24723e-02_rb /) kao(:, 2, 9, 6) = (/ & & 0.40521e-03_rb,0.26609e-02_rb,0.37368e-02_rb,0.44313e-02_rb,0.48422e-02_rb, & & 0.49605e-02_rb,0.47876e-02_rb,0.42682e-02_rb,0.25854e-02_rb /) kao(:, 3, 9, 6) = (/ & & 0.44042e-03_rb,0.27811e-02_rb,0.38822e-02_rb,0.45871e-02_rb,0.49951e-02_rb, & & 0.51048e-02_rb,0.49189e-02_rb,0.43988e-02_rb,0.26922e-02_rb /) kao(:, 4, 9, 6) = (/ & & 0.46934e-03_rb,0.28890e-02_rb,0.40015e-02_rb,0.47204e-02_rb,0.51195e-02_rb, & & 0.52329e-02_rb,0.50398e-02_rb,0.45211e-02_rb,0.27947e-02_rb /) kao(:, 5, 9, 6) = (/ & & 0.49296e-03_rb,0.29863e-02_rb,0.41052e-02_rb,0.48296e-02_rb,0.52212e-02_rb, & & 0.53320e-02_rb,0.51516e-02_rb,0.46410e-02_rb,0.29014e-02_rb /) kao(:, 1,10, 6) = (/ & & 0.28141e-03_rb,0.20839e-02_rb,0.29434e-02_rb,0.35250e-02_rb,0.38705e-02_rb, & & 0.39907e-02_rb,0.38574e-02_rb,0.34280e-02_rb,0.20276e-02_rb /) kao(:, 2,10, 6) = (/ & & 0.31642e-03_rb,0.21962e-02_rb,0.30947e-02_rb,0.36798e-02_rb,0.40279e-02_rb, & & 0.41317e-02_rb,0.39905e-02_rb,0.35591e-02_rb,0.21304e-02_rb /) kao(:, 3,10, 6) = (/ & & 0.34743e-03_rb,0.23002e-02_rb,0.32251e-02_rb,0.38167e-02_rb,0.41632e-02_rb, & & 0.42588e-02_rb,0.41077e-02_rb,0.36737e-02_rb,0.22246e-02_rb /) kao(:, 4,10, 6) = (/ & & 0.37337e-03_rb,0.23958e-02_rb,0.33326e-02_rb,0.39351e-02_rb,0.42727e-02_rb, & & 0.43699e-02_rb,0.42167e-02_rb,0.37850e-02_rb,0.23171e-02_rb /) kao(:, 5,10, 6) = (/ & & 0.39464e-03_rb,0.24818e-02_rb,0.34245e-02_rb,0.40341e-02_rb,0.43635e-02_rb, & & 0.44592e-02_rb,0.43133e-02_rb,0.38931e-02_rb,0.24123e-02_rb /) kao(:, 1,11, 6) = (/ & & 0.23046e-03_rb,0.17561e-02_rb,0.24821e-02_rb,0.29697e-02_rb,0.32603e-02_rb, & & 0.33590e-02_rb,0.32465e-02_rb,0.28911e-02_rb,0.17000e-02_rb /) kao(:, 2,11, 6) = (/ & & 0.25900e-03_rb,0.18499e-02_rb,0.26079e-02_rb,0.30983e-02_rb,0.33914e-02_rb, & & 0.34790e-02_rb,0.33598e-02_rb,0.30000e-02_rb,0.17879e-02_rb /) kao(:, 3,11, 6) = (/ & & 0.28431e-03_rb,0.19371e-02_rb,0.27154e-02_rb,0.32123e-02_rb,0.35009e-02_rb, & & 0.35810e-02_rb,0.34582e-02_rb,0.30989e-02_rb,0.18709e-02_rb /) kao(:, 4,11, 6) = (/ & & 0.30554e-03_rb,0.20175e-02_rb,0.28047e-02_rb,0.33094e-02_rb,0.35897e-02_rb, & & 0.36708e-02_rb,0.35500e-02_rb,0.31964e-02_rb,0.19524e-02_rb /) kao(:, 5,11, 6) = (/ & & 0.32290e-03_rb,0.20906e-02_rb,0.28827e-02_rb,0.33907e-02_rb,0.36638e-02_rb, & & 0.37448e-02_rb,0.36322e-02_rb,0.32921e-02_rb,0.20342e-02_rb /) kao(:, 1,12, 6) = (/ & & 0.18873e-03_rb,0.14753e-02_rb,0.20859e-02_rb,0.24932e-02_rb,0.27362e-02_rb, & & 0.28163e-02_rb,0.27231e-02_rb,0.24287e-02_rb,0.14226e-02_rb /) kao(:, 2,12, 6) = (/ & & 0.21206e-03_rb,0.15542e-02_rb,0.21905e-02_rb,0.25997e-02_rb,0.28436e-02_rb, & & 0.29146e-02_rb,0.28182e-02_rb,0.25196e-02_rb,0.14964e-02_rb /) kao(:, 3,12, 6) = (/ & & 0.23271e-03_rb,0.16282e-02_rb,0.22789e-02_rb,0.26937e-02_rb,0.29320e-02_rb, & & 0.29995e-02_rb,0.29004e-02_rb,0.26063e-02_rb,0.15684e-02_rb /) kao(:, 4,12, 6) = (/ & & 0.25005e-03_rb,0.16959e-02_rb,0.23539e-02_rb,0.27739e-02_rb,0.30052e-02_rb, & & 0.30738e-02_rb,0.29781e-02_rb,0.26924e-02_rb,0.16388e-02_rb /) kao(:, 5,12, 6) = (/ & & 0.26424e-03_rb,0.17579e-02_rb,0.24198e-02_rb,0.28418e-02_rb,0.30688e-02_rb, & & 0.31370e-02_rb,0.30478e-02_rb,0.27734e-02_rb,0.17090e-02_rb /) kao(:, 1,13, 6) = (/ & & 0.15451e-03_rb,0.12362e-02_rb,0.17471e-02_rb,0.20856e-02_rb,0.22870e-02_rb, & & 0.23530e-02_rb,0.22758e-02_rb,0.20318e-02_rb,0.11868e-02_rb /) kao(:, 2,13, 6) = (/ & & 0.17357e-03_rb,0.13027e-02_rb,0.18337e-02_rb,0.21736e-02_rb,0.23752e-02_rb, & & 0.24339e-02_rb,0.23549e-02_rb,0.21104e-02_rb,0.12492e-02_rb /) kao(:, 3,13, 6) = (/ & & 0.19045e-03_rb,0.13651e-02_rb,0.19071e-02_rb,0.22520e-02_rb,0.24479e-02_rb, & & 0.25052e-02_rb,0.24255e-02_rb,0.21862e-02_rb,0.13114e-02_rb /) kao(:, 4,13, 6) = (/ & & 0.20459e-03_rb,0.14225e-02_rb,0.19702e-02_rb,0.23195e-02_rb,0.25109e-02_rb, & & 0.25680e-02_rb,0.24906e-02_rb,0.22592e-02_rb,0.13717e-02_rb /) kao(:, 5,13, 6) = (/ & & 0.21621e-03_rb,0.14751e-02_rb,0.20267e-02_rb,0.23775e-02_rb,0.25654e-02_rb, & & 0.26221e-02_rb,0.25513e-02_rb,0.23283e-02_rb,0.14321e-02_rb /) kao(:, 1, 1, 7) = (/ & & 0.14551e-01_rb,0.26282e-01_rb,0.32053e-01_rb,0.35189e-01_rb,0.36600e-01_rb, & & 0.36646e-01_rb,0.35552e-01_rb,0.33215e-01_rb,0.27309e-01_rb /) kao(:, 2, 1, 7) = (/ & & 0.15360e-01_rb,0.26847e-01_rb,0.32411e-01_rb,0.35426e-01_rb,0.36803e-01_rb, & & 0.36994e-01_rb,0.36037e-01_rb,0.33674e-01_rb,0.27881e-01_rb /) kao(:, 3, 1, 7) = (/ & & 0.16052e-01_rb,0.27358e-01_rb,0.32711e-01_rb,0.35602e-01_rb,0.37002e-01_rb, & & 0.37322e-01_rb,0.36495e-01_rb,0.34092e-01_rb,0.28365e-01_rb /) kao(:, 4, 1, 7) = (/ & & 0.16634e-01_rb,0.27765e-01_rb,0.32975e-01_rb,0.35757e-01_rb,0.37198e-01_rb, & & 0.37629e-01_rb,0.36871e-01_rb,0.34489e-01_rb,0.28817e-01_rb /) kao(:, 5, 1, 7) = (/ & & 0.17092e-01_rb,0.28088e-01_rb,0.33173e-01_rb,0.35899e-01_rb,0.37369e-01_rb, & & 0.37894e-01_rb,0.37206e-01_rb,0.34856e-01_rb,0.29236e-01_rb /) kao(:, 1, 2, 7) = (/ & & 0.12675e-01_rb,0.23757e-01_rb,0.28827e-01_rb,0.31475e-01_rb,0.32647e-01_rb, & & 0.32779e-01_rb,0.31874e-01_rb,0.29659e-01_rb,0.23735e-01_rb /) kao(:, 2, 2, 7) = (/ & & 0.13363e-01_rb,0.24261e-01_rb,0.29165e-01_rb,0.31734e-01_rb,0.32905e-01_rb, & & 0.33137e-01_rb,0.32357e-01_rb,0.30114e-01_rb,0.24241e-01_rb /) kao(:, 3, 2, 7) = (/ & & 0.13952e-01_rb,0.24673e-01_rb,0.29458e-01_rb,0.31940e-01_rb,0.33167e-01_rb, & & 0.33486e-01_rb,0.32794e-01_rb,0.30540e-01_rb,0.24704e-01_rb /) kao(:, 4, 2, 7) = (/ & & 0.14440e-01_rb,0.25010e-01_rb,0.29692e-01_rb,0.32131e-01_rb,0.33402e-01_rb, & & 0.33816e-01_rb,0.33185e-01_rb,0.30944e-01_rb,0.25123e-01_rb /) kao(:, 5, 2, 7) = (/ & & 0.14810e-01_rb,0.25246e-01_rb,0.29865e-01_rb,0.32323e-01_rb,0.33624e-01_rb, & & 0.34125e-01_rb,0.33530e-01_rb,0.31299e-01_rb,0.25501e-01_rb /) kao(:, 1, 3, 7) = (/ & & 0.10764e-01_rb,0.21180e-01_rb,0.25645e-01_rb,0.27934e-01_rb,0.28891e-01_rb, & & 0.28978e-01_rb,0.28215e-01_rb,0.26250e-01_rb,0.20340e-01_rb /) kao(:, 2, 3, 7) = (/ & & 0.11371e-01_rb,0.21611e-01_rb,0.25976e-01_rb,0.28221e-01_rb,0.29204e-01_rb, & & 0.29347e-01_rb,0.28689e-01_rb,0.26687e-01_rb,0.20803e-01_rb /) kao(:, 3, 3, 7) = (/ & & 0.11882e-01_rb,0.21977e-01_rb,0.26258e-01_rb,0.28467e-01_rb,0.29498e-01_rb, & & 0.29730e-01_rb,0.29113e-01_rb,0.27115e-01_rb,0.21241e-01_rb /) kao(:, 4, 3, 7) = (/ & & 0.12302e-01_rb,0.22273e-01_rb,0.26477e-01_rb,0.28696e-01_rb,0.29766e-01_rb, & & 0.30099e-01_rb,0.29507e-01_rb,0.27503e-01_rb,0.21620e-01_rb /) kao(:, 5, 3, 7) = (/ & & 0.12624e-01_rb,0.22481e-01_rb,0.26631e-01_rb,0.28900e-01_rb,0.30032e-01_rb, & & 0.30425e-01_rb,0.29859e-01_rb,0.27842e-01_rb,0.21966e-01_rb /) kao(:, 1, 4, 7) = (/ & & 0.89860e-02_rb,0.18659e-01_rb,0.22605e-01_rb,0.24580e-01_rb,0.25383e-01_rb, & & 0.25435e-01_rb,0.24761e-01_rb,0.23037e-01_rb,0.17414e-01_rb /) kao(:, 2, 4, 7) = (/ & & 0.95207e-02_rb,0.19048e-01_rb,0.22924e-01_rb,0.24888e-01_rb,0.25739e-01_rb, & & 0.25823e-01_rb,0.25200e-01_rb,0.23450e-01_rb,0.17847e-01_rb /) kao(:, 3, 4, 7) = (/ & & 0.99723e-02_rb,0.19380e-01_rb,0.23182e-01_rb,0.25155e-01_rb,0.26061e-01_rb, & & 0.26209e-01_rb,0.25611e-01_rb,0.23862e-01_rb,0.18251e-01_rb /) kao(:, 4, 4, 7) = (/ & & 0.10354e-01_rb,0.19644e-01_rb,0.23397e-01_rb,0.25401e-01_rb,0.26345e-01_rb, & & 0.26580e-01_rb,0.26000e-01_rb,0.24233e-01_rb,0.18600e-01_rb /) kao(:, 5, 4, 7) = (/ & & 0.10637e-01_rb,0.19822e-01_rb,0.23556e-01_rb,0.25605e-01_rb,0.26619e-01_rb, & & 0.26913e-01_rb,0.26359e-01_rb,0.24562e-01_rb,0.18925e-01_rb /) kao(:, 1, 5, 7) = (/ & & 0.74104e-02_rb,0.16264e-01_rb,0.19717e-01_rb,0.21452e-01_rb,0.22172e-01_rb, & & 0.22207e-01_rb,0.21598e-01_rb,0.20075e-01_rb,0.14880e-01_rb /) kao(:, 2, 5, 7) = (/ & & 0.78778e-02_rb,0.16624e-01_rb,0.20022e-01_rb,0.21765e-01_rb,0.22531e-01_rb, & & 0.22596e-01_rb,0.21999e-01_rb,0.20458e-01_rb,0.15279e-01_rb /) kao(:, 3, 5, 7) = (/ & & 0.82694e-02_rb,0.16928e-01_rb,0.20277e-01_rb,0.22036e-01_rb,0.22859e-01_rb, & & 0.22978e-01_rb,0.22384e-01_rb,0.20834e-01_rb,0.15650e-01_rb /) kao(:, 4, 5, 7) = (/ & & 0.85919e-02_rb,0.17168e-01_rb,0.20498e-01_rb,0.22274e-01_rb,0.23143e-01_rb, & & 0.23326e-01_rb,0.22754e-01_rb,0.21189e-01_rb,0.15980e-01_rb /) kao(:, 5, 5, 7) = (/ & & 0.88337e-02_rb,0.17332e-01_rb,0.20664e-01_rb,0.22477e-01_rb,0.23407e-01_rb, & & 0.23648e-01_rb,0.23111e-01_rb,0.21509e-01_rb,0.16283e-01_rb /) kao(:, 1, 6, 7) = (/ & & 0.60305e-02_rb,0.14008e-01_rb,0.17028e-01_rb,0.18574e-01_rb,0.19236e-01_rb, & & 0.19269e-01_rb,0.18720e-01_rb,0.17347e-01_rb,0.12656e-01_rb /) kao(:, 2, 6, 7) = (/ & & 0.64356e-02_rb,0.14339e-01_rb,0.17318e-01_rb,0.18872e-01_rb,0.19580e-01_rb, & & 0.19645e-01_rb,0.19095e-01_rb,0.17705e-01_rb,0.13025e-01_rb /) kao(:, 3, 6, 7) = (/ & & 0.67708e-02_rb,0.14626e-01_rb,0.17575e-01_rb,0.19135e-01_rb,0.19883e-01_rb, & & 0.20004e-01_rb,0.19454e-01_rb,0.18055e-01_rb,0.13366e-01_rb /) kao(:, 4, 6, 7) = (/ & & 0.70449e-02_rb,0.14853e-01_rb,0.17795e-01_rb,0.19363e-01_rb,0.20156e-01_rb, & & 0.20324e-01_rb,0.19811e-01_rb,0.18392e-01_rb,0.13679e-01_rb /) kao(:, 5, 6, 7) = (/ & & 0.72586e-02_rb,0.15014e-01_rb,0.17954e-01_rb,0.19569e-01_rb,0.20401e-01_rb, & & 0.20622e-01_rb,0.20155e-01_rb,0.18706e-01_rb,0.13963e-01_rb /) kao(:, 1, 7, 7) = (/ & & 0.48615e-02_rb,0.11936e-01_rb,0.14574e-01_rb,0.15963e-01_rb,0.16578e-01_rb, & & 0.16615e-01_rb,0.16125e-01_rb,0.14904e-01_rb,0.10718e-01_rb /) kao(:, 2, 7, 7) = (/ & & 0.52093e-02_rb,0.12247e-01_rb,0.14845e-01_rb,0.16239e-01_rb,0.16890e-01_rb, & & 0.16965e-01_rb,0.16477e-01_rb,0.15238e-01_rb,0.11050e-01_rb /) kao(:, 3, 7, 7) = (/ & & 0.54981e-02_rb,0.12520e-01_rb,0.15089e-01_rb,0.16485e-01_rb,0.17163e-01_rb, & & 0.17296e-01_rb,0.16823e-01_rb,0.15561e-01_rb,0.11367e-01_rb /) kao(:, 4, 7, 7) = (/ & & 0.57341e-02_rb,0.12732e-01_rb,0.15302e-01_rb,0.16709e-01_rb,0.17412e-01_rb, & & 0.17587e-01_rb,0.17156e-01_rb,0.15882e-01_rb,0.11657e-01_rb /) kao(:, 5, 7, 7) = (/ & & 0.59245e-02_rb,0.12879e-01_rb,0.15460e-01_rb,0.16900e-01_rb,0.17646e-01_rb, & & 0.17862e-01_rb,0.17475e-01_rb,0.16189e-01_rb,0.11924e-01_rb /) kao(:, 1, 8, 7) = (/ & & 0.38903e-02_rb,0.10086e-01_rb,0.12393e-01_rb,0.13617e-01_rb,0.14179e-01_rb, & & 0.14230e-01_rb,0.13810e-01_rb,0.12741e-01_rb,0.90402e-02_rb /) kao(:, 2, 8, 7) = (/ & & 0.41883e-02_rb,0.10379e-01_rb,0.12642e-01_rb,0.13866e-01_rb,0.14454e-01_rb, & & 0.14549e-01_rb,0.14140e-01_rb,0.13050e-01_rb,0.93407e-02_rb /) kao(:, 3, 8, 7) = (/ & & 0.44374e-02_rb,0.10628e-01_rb,0.12866e-01_rb,0.14093e-01_rb,0.14702e-01_rb, & & 0.14847e-01_rb,0.14466e-01_rb,0.13354e-01_rb,0.96289e-02_rb /) kao(:, 4, 8, 7) = (/ & & 0.46417e-02_rb,0.10823e-01_rb,0.13067e-01_rb,0.14297e-01_rb,0.14936e-01_rb, & & 0.15113e-01_rb,0.14777e-01_rb,0.13659e-01_rb,0.98946e-02_rb /) kao(:, 5, 8, 7) = (/ & & 0.48106e-02_rb,0.10958e-01_rb,0.13212e-01_rb,0.14477e-01_rb,0.15155e-01_rb, & & 0.15369e-01_rb,0.15065e-01_rb,0.13954e-01_rb,0.10137e-01_rb /) kao(:, 1, 9, 7) = (/ & & 0.30906e-02_rb,0.84716e-02_rb,0.10475e-01_rb,0.11533e-01_rb,0.12037e-01_rb, & & 0.12102e-01_rb,0.11757e-01_rb,0.10840e-01_rb,0.75790e-02_rb /) kao(:, 2, 9, 7) = (/ & & 0.33456e-02_rb,0.87380e-02_rb,0.10698e-01_rb,0.11759e-01_rb,0.12281e-01_rb, & & 0.12384e-01_rb,0.12063e-01_rb,0.11124e-01_rb,0.78524e-02_rb /) kao(:, 3, 9, 7) = (/ & & 0.35624e-02_rb,0.89636e-02_rb,0.10908e-01_rb,0.11964e-01_rb,0.12503e-01_rb, & & 0.12651e-01_rb,0.12366e-01_rb,0.11413e-01_rb,0.81116e-02_rb /) kao(:, 4, 9, 7) = (/ & & 0.37409e-02_rb,0.91394e-02_rb,0.11085e-01_rb,0.12156e-01_rb,0.12717e-01_rb, & & 0.12895e-01_rb,0.12646e-01_rb,0.11703e-01_rb,0.83543e-02_rb /) kao(:, 5, 9, 7) = (/ & & 0.38899e-02_rb,0.92663e-02_rb,0.11210e-01_rb,0.12323e-01_rb,0.12923e-01_rb, & & 0.13135e-01_rb,0.12909e-01_rb,0.11979e-01_rb,0.85748e-02_rb /) kao(:, 1,10, 7) = (/ & & 0.24588e-02_rb,0.70997e-02_rb,0.88156e-02_rb,0.97280e-02_rb,0.10175e-01_rb, & & 0.10246e-01_rb,0.99712e-02_rb,0.91951e-02_rb,0.63324e-02_rb /) kao(:, 2,10, 7) = (/ & & 0.26743e-02_rb,0.73393e-02_rb,0.90183e-02_rb,0.99289e-02_rb,0.10387e-01_rb, & & 0.10496e-01_rb,0.10249e-01_rb,0.94566e-02_rb,0.65770e-02_rb /) kao(:, 3,10, 7) = (/ & & 0.28610e-02_rb,0.75352e-02_rb,0.92028e-02_rb,0.10117e-01_rb,0.10586e-01_rb, & & 0.10730e-01_rb,0.10524e-01_rb,0.97307e-02_rb,0.68077e-02_rb /) kao(:, 4,10, 7) = (/ & & 0.30147e-02_rb,0.76899e-02_rb,0.93550e-02_rb,0.10291e-01_rb,0.10781e-01_rb, & & 0.10954e-01_rb,0.10778e-01_rb,0.10001e-01_rb,0.70201e-02_rb /) kao(:, 5,10, 7) = (/ & & 0.31444e-02_rb,0.78050e-02_rb,0.94668e-02_rb,0.10433e-01_rb,0.10974e-01_rb, & & 0.11173e-01_rb,0.11019e-01_rb,0.10253e-01_rb,0.72189e-02_rb /) kao(:, 1,11, 7) = (/ & & 0.20345e-02_rb,0.60249e-02_rb,0.74716e-02_rb,0.82496e-02_rb,0.86458e-02_rb, & & 0.87340e-02_rb,0.85222e-02_rb,0.78657e-02_rb,0.53714e-02_rb /) kao(:, 2,11, 7) = (/ & & 0.22071e-02_rb,0.62176e-02_rb,0.76440e-02_rb,0.84251e-02_rb,0.88273e-02_rb, & & 0.89461e-02_rb,0.87689e-02_rb,0.81125e-02_rb,0.55835e-02_rb /) kao(:, 3,11, 7) = (/ & & 0.23554e-02_rb,0.63729e-02_rb,0.77932e-02_rb,0.85868e-02_rb,0.90058e-02_rb, & & 0.91548e-02_rb,0.90075e-02_rb,0.83660e-02_rb,0.57827e-02_rb /) kao(:, 4,11, 7) = (/ & & 0.24780e-02_rb,0.64944e-02_rb,0.79106e-02_rb,0.87291e-02_rb,0.91857e-02_rb, & & 0.93565e-02_rb,0.92302e-02_rb,0.86036e-02_rb,0.59695e-02_rb /) kao(:, 5,11, 7) = (/ & & 0.25820e-02_rb,0.65802e-02_rb,0.79974e-02_rb,0.88427e-02_rb,0.93482e-02_rb, & & 0.95539e-02_rb,0.94443e-02_rb,0.88180e-02_rb,0.61512e-02_rb /) kao(:, 1,12, 7) = (/ & & 0.16789e-02_rb,0.50906e-02_rb,0.63078e-02_rb,0.69750e-02_rb,0.73172e-02_rb, & & 0.74078e-02_rb,0.72504e-02_rb,0.67015e-02_rb,0.45394e-02_rb /) kao(:, 2,12, 7) = (/ & & 0.18170e-02_rb,0.52437e-02_rb,0.64512e-02_rb,0.71255e-02_rb,0.74790e-02_rb, & & 0.75959e-02_rb,0.74655e-02_rb,0.69307e-02_rb,0.47237e-02_rb /) kao(:, 3,12, 7) = (/ & & 0.19356e-02_rb,0.53689e-02_rb,0.65701e-02_rb,0.72610e-02_rb,0.76415e-02_rb, & & 0.77811e-02_rb,0.76703e-02_rb,0.71508e-02_rb,0.48953e-02_rb /) kao(:, 4,12, 7) = (/ & & 0.20342e-02_rb,0.54644e-02_rb,0.66640e-02_rb,0.73792e-02_rb,0.77929e-02_rb, & & 0.79635e-02_rb,0.78660e-02_rb,0.73532e-02_rb,0.50607e-02_rb /) kao(:, 5,12, 7) = (/ & & 0.21182e-02_rb,0.55328e-02_rb,0.67352e-02_rb,0.74736e-02_rb,0.79282e-02_rb, & & 0.81307e-02_rb,0.80542e-02_rb,0.75407e-02_rb,0.52234e-02_rb /) kao(:, 1,13, 7) = (/ & & 0.13819e-02_rb,0.42823e-02_rb,0.53096e-02_rb,0.58771e-02_rb,0.61745e-02_rb, & & 0.62601e-02_rb,0.61411e-02_rb,0.56893e-02_rb,0.38201e-02_rb /) kao(:, 2,13, 7) = (/ & & 0.14927e-02_rb,0.44078e-02_rb,0.54261e-02_rb,0.60055e-02_rb,0.63167e-02_rb, & & 0.64278e-02_rb,0.63268e-02_rb,0.58891e-02_rb,0.39789e-02_rb /) kao(:, 3,13, 7) = (/ & & 0.15884e-02_rb,0.45090e-02_rb,0.55246e-02_rb,0.61217e-02_rb,0.64577e-02_rb, & & 0.65903e-02_rb,0.65044e-02_rb,0.60758e-02_rb,0.41288e-02_rb /) kao(:, 4,13, 7) = (/ & & 0.16683e-02_rb,0.45858e-02_rb,0.56029e-02_rb,0.62193e-02_rb,0.65859e-02_rb, & & 0.67454e-02_rb,0.66768e-02_rb,0.62506e-02_rb,0.42765e-02_rb /) kao(:, 5,13, 7) = (/ & & 0.17364e-02_rb,0.46419e-02_rb,0.56644e-02_rb,0.62996e-02_rb,0.66998e-02_rb, & & 0.68888e-02_rb,0.68404e-02_rb,0.64188e-02_rb,0.44198e-02_rb /) kao(:, 1, 1, 8) = (/ & & 0.57760e-01_rb,0.69432e-01_rb,0.76402e-01_rb,0.81517e-01_rb,0.85125e-01_rb, & & 0.87289e-01_rb,0.87408e-01_rb,0.83317e-01_rb,0.74720e-01_rb /) kao(:, 2, 1, 8) = (/ & & 0.58256e-01_rb,0.69667e-01_rb,0.76723e-01_rb,0.81911e-01_rb,0.85362e-01_rb, & & 0.87289e-01_rb,0.87306e-01_rb,0.83357e-01_rb,0.75177e-01_rb /) kao(:, 3, 1, 8) = (/ & & 0.58710e-01_rb,0.69859e-01_rb,0.76973e-01_rb,0.82328e-01_rb,0.85690e-01_rb, & & 0.87420e-01_rb,0.87264e-01_rb,0.83435e-01_rb,0.75701e-01_rb /) kao(:, 4, 1, 8) = (/ & & 0.59052e-01_rb,0.70050e-01_rb,0.77176e-01_rb,0.82642e-01_rb,0.86071e-01_rb, & & 0.87660e-01_rb,0.87341e-01_rb,0.83544e-01_rb,0.76230e-01_rb /) kao(:, 5, 1, 8) = (/ & & 0.59298e-01_rb,0.70198e-01_rb,0.77374e-01_rb,0.82883e-01_rb,0.86469e-01_rb, & & 0.87977e-01_rb,0.87473e-01_rb,0.83691e-01_rb,0.76769e-01_rb /) kao(:, 1, 2, 8) = (/ & & 0.50908e-01_rb,0.62848e-01_rb,0.70003e-01_rb,0.75263e-01_rb,0.78670e-01_rb, & & 0.80594e-01_rb,0.80694e-01_rb,0.77048e-01_rb,0.67048e-01_rb /) kao(:, 2, 2, 8) = (/ & & 0.51469e-01_rb,0.63178e-01_rb,0.70395e-01_rb,0.75763e-01_rb,0.79033e-01_rb, & & 0.80775e-01_rb,0.80686e-01_rb,0.77199e-01_rb,0.67605e-01_rb /) kao(:, 3, 2, 8) = (/ & & 0.51956e-01_rb,0.63519e-01_rb,0.70748e-01_rb,0.76221e-01_rb,0.79512e-01_rb, & & 0.81067e-01_rb,0.80797e-01_rb,0.77370e-01_rb,0.68182e-01_rb /) kao(:, 4, 2, 8) = (/ & & 0.52329e-01_rb,0.63831e-01_rb,0.71115e-01_rb,0.76591e-01_rb,0.80032e-01_rb, & & 0.81445e-01_rb,0.81001e-01_rb,0.77568e-01_rb,0.68768e-01_rb /) kao(:, 5, 2, 8) = (/ & & 0.52648e-01_rb,0.64108e-01_rb,0.71441e-01_rb,0.76941e-01_rb,0.80464e-01_rb, & & 0.81866e-01_rb,0.81282e-01_rb,0.77796e-01_rb,0.69377e-01_rb /) kao(:, 1, 3, 8) = (/ & & 0.44636e-01_rb,0.56575e-01_rb,0.63667e-01_rb,0.68804e-01_rb,0.72146e-01_rb, & & 0.73940e-01_rb,0.73756e-01_rb,0.70359e-01_rb,0.59446e-01_rb /) kao(:, 2, 3, 8) = (/ & & 0.45216e-01_rb,0.57005e-01_rb,0.64111e-01_rb,0.69328e-01_rb,0.72620e-01_rb, & & 0.74228e-01_rb,0.73854e-01_rb,0.70600e-01_rb,0.60086e-01_rb /) kao(:, 3, 3, 8) = (/ & & 0.45716e-01_rb,0.57448e-01_rb,0.64591e-01_rb,0.69816e-01_rb,0.73178e-01_rb, & & 0.74616e-01_rb,0.74093e-01_rb,0.70843e-01_rb,0.60738e-01_rb /) kao(:, 4, 3, 8) = (/ & & 0.46137e-01_rb,0.57862e-01_rb,0.65060e-01_rb,0.70283e-01_rb,0.73724e-01_rb, & & 0.75067e-01_rb,0.74408e-01_rb,0.71130e-01_rb,0.61385e-01_rb /) kao(:, 5, 3, 8) = (/ & & 0.46490e-01_rb,0.58240e-01_rb,0.65537e-01_rb,0.70752e-01_rb,0.74187e-01_rb, & & 0.75545e-01_rb,0.74817e-01_rb,0.71479e-01_rb,0.61998e-01_rb /) kao(:, 1, 4, 8) = (/ & & 0.38910e-01_rb,0.50823e-01_rb,0.57505e-01_rb,0.62364e-01_rb,0.65559e-01_rb, & & 0.67154e-01_rb,0.66798e-01_rb,0.63531e-01_rb,0.52401e-01_rb /) kao(:, 2, 4, 8) = (/ & & 0.39488e-01_rb,0.51307e-01_rb,0.58022e-01_rb,0.62912e-01_rb,0.66074e-01_rb, & & 0.67518e-01_rb,0.67025e-01_rb,0.63840e-01_rb,0.53093e-01_rb /) kao(:, 3, 4, 8) = (/ & & 0.39991e-01_rb,0.51812e-01_rb,0.58566e-01_rb,0.63451e-01_rb,0.66632e-01_rb, & & 0.68010e-01_rb,0.67348e-01_rb,0.64169e-01_rb,0.53782e-01_rb /) kao(:, 4, 4, 8) = (/ & & 0.40387e-01_rb,0.52291e-01_rb,0.59117e-01_rb,0.64001e-01_rb,0.67196e-01_rb, & & 0.68514e-01_rb,0.67789e-01_rb,0.64555e-01_rb,0.54470e-01_rb /) kao(:, 5, 4, 8) = (/ & & 0.40719e-01_rb,0.52739e-01_rb,0.59691e-01_rb,0.64572e-01_rb,0.67725e-01_rb, & & 0.69031e-01_rb,0.68307e-01_rb,0.64985e-01_rb,0.55091e-01_rb /) kao(:, 1, 5, 8) = (/ & & 0.33692e-01_rb,0.45459e-01_rb,0.51705e-01_rb,0.56111e-01_rb,0.58984e-01_rb, & & 0.60384e-01_rb,0.59951e-01_rb,0.56770e-01_rb,0.45939e-01_rb /) kao(:, 2, 5, 8) = (/ & & 0.34254e-01_rb,0.45979e-01_rb,0.52252e-01_rb,0.56664e-01_rb,0.59515e-01_rb, & & 0.60816e-01_rb,0.60273e-01_rb,0.57146e-01_rb,0.46647e-01_rb /) kao(:, 3, 5, 8) = (/ & & 0.34738e-01_rb,0.46532e-01_rb,0.52846e-01_rb,0.57238e-01_rb,0.60077e-01_rb, & & 0.61352e-01_rb,0.60714e-01_rb,0.57566e-01_rb,0.47359e-01_rb /) kao(:, 4, 5, 8) = (/ & & 0.35117e-01_rb,0.47047e-01_rb,0.53459e-01_rb,0.57849e-01_rb,0.60668e-01_rb, & & 0.61902e-01_rb,0.61259e-01_rb,0.58030e-01_rb,0.48036e-01_rb /) kao(:, 5, 5, 8) = (/ & & 0.35428e-01_rb,0.47508e-01_rb,0.54083e-01_rb,0.58493e-01_rb,0.61253e-01_rb, & & 0.62481e-01_rb,0.61851e-01_rb,0.58523e-01_rb,0.48648e-01_rb /) kao(:, 1, 6, 8) = (/ & & 0.28910e-01_rb,0.40429e-01_rb,0.46176e-01_rb,0.50108e-01_rb,0.52609e-01_rb, & & 0.53750e-01_rb,0.53289e-01_rb,0.50286e-01_rb,0.40061e-01_rb /) kao(:, 2, 6, 8) = (/ & & 0.29433e-01_rb,0.40967e-01_rb,0.46731e-01_rb,0.50653e-01_rb,0.53149e-01_rb, & & 0.54232e-01_rb,0.53687e-01_rb,0.50714e-01_rb,0.40756e-01_rb /) kao(:, 3, 6, 8) = (/ & & 0.29883e-01_rb,0.41520e-01_rb,0.47349e-01_rb,0.51251e-01_rb,0.53731e-01_rb, & & 0.54796e-01_rb,0.54207e-01_rb,0.51188e-01_rb,0.41443e-01_rb /) kao(:, 4, 6, 8) = (/ & & 0.30252e-01_rb,0.42024e-01_rb,0.47998e-01_rb,0.51918e-01_rb,0.54339e-01_rb, & & 0.55387e-01_rb,0.54820e-01_rb,0.51711e-01_rb,0.42085e-01_rb /) kao(:, 5, 6, 8) = (/ & & 0.30542e-01_rb,0.42447e-01_rb,0.48635e-01_rb,0.52598e-01_rb,0.54986e-01_rb, & & 0.56038e-01_rb,0.55430e-01_rb,0.52236e-01_rb,0.42675e-01_rb /) kao(:, 1, 7, 8) = (/ & & 0.24600e-01_rb,0.35725e-01_rb,0.40952e-01_rb,0.44398e-01_rb,0.46558e-01_rb, & & 0.47462e-01_rb,0.46950e-01_rb,0.44227e-01_rb,0.34751e-01_rb /) kao(:, 2, 7, 8) = (/ & & 0.25060e-01_rb,0.36250e-01_rb,0.41498e-01_rb,0.44950e-01_rb,0.47097e-01_rb, & & 0.47977e-01_rb,0.47399e-01_rb,0.44690e-01_rb,0.35410e-01_rb /) kao(:, 3, 7, 8) = (/ & & 0.25466e-01_rb,0.36769e-01_rb,0.42119e-01_rb,0.45572e-01_rb,0.47696e-01_rb, & & 0.48548e-01_rb,0.47965e-01_rb,0.45198e-01_rb,0.36050e-01_rb /) kao(:, 4, 7, 8) = (/ & & 0.25804e-01_rb,0.37232e-01_rb,0.42764e-01_rb,0.46249e-01_rb,0.48349e-01_rb, & & 0.49173e-01_rb,0.48603e-01_rb,0.45737e-01_rb,0.36649e-01_rb /) kao(:, 5, 7, 8) = (/ & & 0.26075e-01_rb,0.37645e-01_rb,0.43371e-01_rb,0.46950e-01_rb,0.49045e-01_rb, & & 0.49856e-01_rb,0.49223e-01_rb,0.46279e-01_rb,0.37198e-01_rb /) kao(:, 1, 8, 8) = (/ & & 0.20747e-01_rb,0.31325e-01_rb,0.36016e-01_rb,0.39047e-01_rb,0.40921e-01_rb, & & 0.41656e-01_rb,0.41097e-01_rb,0.38682e-01_rb,0.29955e-01_rb /) kao(:, 2, 8, 8) = (/ & & 0.21145e-01_rb,0.31811e-01_rb,0.36541e-01_rb,0.39597e-01_rb,0.41455e-01_rb, & & 0.42169e-01_rb,0.41575e-01_rb,0.39145e-01_rb,0.30577e-01_rb /) kao(:, 3, 8, 8) = (/ & & 0.21497e-01_rb,0.32290e-01_rb,0.37155e-01_rb,0.40238e-01_rb,0.42067e-01_rb, & & 0.42744e-01_rb,0.42154e-01_rb,0.39648e-01_rb,0.31178e-01_rb /) kao(:, 4, 8, 8) = (/ & & 0.21796e-01_rb,0.32717e-01_rb,0.37766e-01_rb,0.40923e-01_rb,0.42738e-01_rb, & & 0.43394e-01_rb,0.42768e-01_rb,0.40185e-01_rb,0.31733e-01_rb /) kao(:, 5, 8, 8) = (/ & & 0.22044e-01_rb,0.33112e-01_rb,0.38338e-01_rb,0.41597e-01_rb,0.43462e-01_rb, & & 0.44087e-01_rb,0.43385e-01_rb,0.40740e-01_rb,0.32254e-01_rb /) kao(:, 1, 9, 8) = (/ & & 0.17360e-01_rb,0.27218e-01_rb,0.31401e-01_rb,0.34084e-01_rb,0.35741e-01_rb, & & 0.36373e-01_rb,0.35798e-01_rb,0.33594e-01_rb,0.25664e-01_rb /) kao(:, 2, 9, 8) = (/ & & 0.17693e-01_rb,0.27662e-01_rb,0.31908e-01_rb,0.34622e-01_rb,0.36264e-01_rb, & & 0.36877e-01_rb,0.36285e-01_rb,0.34049e-01_rb,0.26251e-01_rb /) kao(:, 3, 9, 8) = (/ & & 0.17992e-01_rb,0.28089e-01_rb,0.32477e-01_rb,0.35255e-01_rb,0.36874e-01_rb, & & 0.37444e-01_rb,0.36831e-01_rb,0.34544e-01_rb,0.26814e-01_rb /) kao(:, 4, 9, 8) = (/ & & 0.18258e-01_rb,0.28481e-01_rb,0.33050e-01_rb,0.35909e-01_rb,0.37552e-01_rb, & & 0.38078e-01_rb,0.37421e-01_rb,0.35073e-01_rb,0.27335e-01_rb /) kao(:, 5, 9, 8) = (/ & & 0.18484e-01_rb,0.28849e-01_rb,0.33601e-01_rb,0.36536e-01_rb,0.38254e-01_rb, & & 0.38756e-01_rb,0.38026e-01_rb,0.35616e-01_rb,0.27829e-01_rb /) kao(:, 1,10, 8) = (/ & & 0.14462e-01_rb,0.23463e-01_rb,0.27186e-01_rb,0.29588e-01_rb,0.31079e-01_rb, & & 0.31625e-01_rb,0.31053e-01_rb,0.29012e-01_rb,0.21916e-01_rb /) kao(:, 2,10, 8) = (/ & & 0.14737e-01_rb,0.23853e-01_rb,0.27662e-01_rb,0.30109e-01_rb,0.31581e-01_rb, & & 0.32116e-01_rb,0.31527e-01_rb,0.29461e-01_rb,0.22460e-01_rb /) kao(:, 3,10, 8) = (/ & & 0.14983e-01_rb,0.24238e-01_rb,0.28187e-01_rb,0.30710e-01_rb,0.32176e-01_rb, & & 0.32664e-01_rb,0.32044e-01_rb,0.29948e-01_rb,0.22987e-01_rb /) kao(:, 4,10, 8) = (/ & & 0.15228e-01_rb,0.24593e-01_rb,0.28718e-01_rb,0.31312e-01_rb,0.32826e-01_rb, & & 0.33282e-01_rb,0.32615e-01_rb,0.30467e-01_rb,0.23478e-01_rb /) kao(:, 5,10, 8) = (/ & & 0.15411e-01_rb,0.24932e-01_rb,0.29228e-01_rb,0.31903e-01_rb,0.33455e-01_rb, & & 0.33943e-01_rb,0.33207e-01_rb,0.30994e-01_rb,0.23939e-01_rb /) kao(:, 1,11, 8) = (/ & & 0.12097e-01_rb,0.20230e-01_rb,0.23554e-01_rb,0.25737e-01_rb,0.27070e-01_rb, & & 0.27526e-01_rb,0.26987e-01_rb,0.25125e-01_rb,0.18843e-01_rb /) kao(:, 2,11, 8) = (/ & & 0.12316e-01_rb,0.20564e-01_rb,0.24014e-01_rb,0.26265e-01_rb,0.27589e-01_rb, & & 0.28021e-01_rb,0.27462e-01_rb,0.25580e-01_rb,0.19341e-01_rb /) kao(:, 3,11, 8) = (/ & & 0.12525e-01_rb,0.20893e-01_rb,0.24494e-01_rb,0.26817e-01_rb,0.28172e-01_rb, & & 0.28578e-01_rb,0.27985e-01_rb,0.26073e-01_rb,0.19811e-01_rb /) kao(:, 4,11, 8) = (/ & & 0.12698e-01_rb,0.21212e-01_rb,0.24971e-01_rb,0.27358e-01_rb,0.28752e-01_rb, & & 0.29196e-01_rb,0.28554e-01_rb,0.26575e-01_rb,0.20254e-01_rb /) kao(:, 5,11, 8) = (/ & & 0.12813e-01_rb,0.21527e-01_rb,0.25428e-01_rb,0.27886e-01_rb,0.29316e-01_rb, & & 0.29794e-01_rb,0.29144e-01_rb,0.27095e-01_rb,0.20669e-01_rb /) kao(:, 1,12, 8) = (/ & & 0.10079e-01_rb,0.17332e-01_rb,0.20326e-01_rb,0.22283e-01_rb,0.23452e-01_rb, & & 0.23840e-01_rb,0.23351e-01_rb,0.21701e-01_rb,0.16150e-01_rb /) kao(:, 2,12, 8) = (/ & & 0.10253e-01_rb,0.17624e-01_rb,0.20738e-01_rb,0.22772e-01_rb,0.23963e-01_rb, & & 0.24343e-01_rb,0.23830e-01_rb,0.22159e-01_rb,0.16605e-01_rb /) kao(:, 3,12, 8) = (/ & & 0.10412e-01_rb,0.17914e-01_rb,0.21165e-01_rb,0.23257e-01_rb,0.24491e-01_rb, & & 0.24907e-01_rb,0.24364e-01_rb,0.22633e-01_rb,0.17031e-01_rb /) kao(:, 4,12, 8) = (/ & & 0.10528e-01_rb,0.18203e-01_rb,0.21585e-01_rb,0.23732e-01_rb,0.25019e-01_rb, & & 0.25466e-01_rb,0.24925e-01_rb,0.23123e-01_rb,0.17440e-01_rb /) kao(:, 5,12, 8) = (/ & & 0.10595e-01_rb,0.18491e-01_rb,0.21987e-01_rb,0.24205e-01_rb,0.25526e-01_rb, & & 0.26013e-01_rb,0.25497e-01_rb,0.23633e-01_rb,0.17825e-01_rb /) kao(:, 1,13, 8) = (/ & & 0.83675e-02_rb,0.14778e-01_rb,0.17455e-01_rb,0.19201e-01_rb,0.20214e-01_rb, & & 0.20545e-01_rb,0.20133e-01_rb,0.18703e-01_rb,0.13810e-01_rb /) kao(:, 2,13, 8) = (/ & & 0.85037e-02_rb,0.15033e-01_rb,0.17824e-01_rb,0.19621e-01_rb,0.20684e-01_rb, & & 0.21052e-01_rb,0.20616e-01_rb,0.19145e-01_rb,0.14218e-01_rb /) kao(:, 3,13, 8) = (/ & & 0.86129e-02_rb,0.15303e-01_rb,0.18197e-01_rb,0.20043e-01_rb,0.21163e-01_rb, & & 0.21577e-01_rb,0.21143e-01_rb,0.19600e-01_rb,0.14617e-01_rb /) kao(:, 4,13, 8) = (/ & & 0.86912e-02_rb,0.15568e-01_rb,0.18565e-01_rb,0.20472e-01_rb,0.21636e-01_rb, & & 0.22091e-01_rb,0.21674e-01_rb,0.20090e-01_rb,0.14991e-01_rb /) kao(:, 5,13, 8) = (/ & & 0.87302e-02_rb,0.15800e-01_rb,0.18917e-01_rb,0.20887e-01_rb,0.22103e-01_rb, & & 0.22594e-01_rb,0.22198e-01_rb,0.20586e-01_rb,0.15351e-01_rb /) kao(:, 1, 1, 9) = (/ & & 0.23898e+00_rb,0.24353e+00_rb,0.26297e+00_rb,0.27410e+00_rb,0.27635e+00_rb, & & 0.27151e+00_rb,0.26001e+00_rb,0.24536e+00_rb,0.24840e+00_rb /) kao(:, 2, 1, 9) = (/ & & 0.23703e+00_rb,0.24151e+00_rb,0.26057e+00_rb,0.27148e+00_rb,0.27415e+00_rb, & & 0.26993e+00_rb,0.25912e+00_rb,0.24520e+00_rb,0.24830e+00_rb /) kao(:, 3, 1, 9) = (/ & & 0.23567e+00_rb,0.23998e+00_rb,0.25868e+00_rb,0.26917e+00_rb,0.27195e+00_rb, & & 0.26833e+00_rb,0.25809e+00_rb,0.24488e+00_rb,0.24801e+00_rb /) kao(:, 4, 1, 9) = (/ & & 0.23478e+00_rb,0.23885e+00_rb,0.25713e+00_rb,0.26729e+00_rb,0.26990e+00_rb, & & 0.26662e+00_rb,0.25696e+00_rb,0.24453e+00_rb,0.24772e+00_rb /) kao(:, 5, 1, 9) = (/ & & 0.23430e+00_rb,0.23810e+00_rb,0.25588e+00_rb,0.26568e+00_rb,0.26809e+00_rb, & & 0.26490e+00_rb,0.25575e+00_rb,0.24412e+00_rb,0.24745e+00_rb /) kao(:, 1, 2, 9) = (/ & & 0.22071e+00_rb,0.23189e+00_rb,0.25280e+00_rb,0.26428e+00_rb,0.26846e+00_rb, & & 0.26544e+00_rb,0.25423e+00_rb,0.23818e+00_rb,0.23526e+00_rb /) kao(:, 2, 2, 9) = (/ & & 0.21924e+00_rb,0.23025e+00_rb,0.25076e+00_rb,0.26194e+00_rb,0.26631e+00_rb, & & 0.26393e+00_rb,0.25356e+00_rb,0.23803e+00_rb,0.23534e+00_rb /) kao(:, 3, 2, 9) = (/ & & 0.21843e+00_rb,0.22915e+00_rb,0.24919e+00_rb,0.26005e+00_rb,0.26425e+00_rb, & & 0.26237e+00_rb,0.25262e+00_rb,0.23788e+00_rb,0.23535e+00_rb /) kao(:, 4, 2, 9) = (/ & & 0.21819e+00_rb,0.22852e+00_rb,0.24801e+00_rb,0.25855e+00_rb,0.26247e+00_rb, & & 0.26079e+00_rb,0.25163e+00_rb,0.23767e+00_rb,0.23532e+00_rb /) kao(:, 5, 2, 9) = (/ & & 0.21836e+00_rb,0.22826e+00_rb,0.24718e+00_rb,0.25726e+00_rb,0.26101e+00_rb, & & 0.25924e+00_rb,0.25059e+00_rb,0.23733e+00_rb,0.23520e+00_rb /) kao(:, 1, 3, 9) = (/ & & 0.20172e+00_rb,0.21909e+00_rb,0.24049e+00_rb,0.25259e+00_rb,0.25809e+00_rb, & & 0.25661e+00_rb,0.24776e+00_rb,0.23048e+00_rb,0.22176e+00_rb /) kao(:, 2, 3, 9) = (/ & & 0.20072e+00_rb,0.21779e+00_rb,0.23872e+00_rb,0.25058e+00_rb,0.25610e+00_rb, & & 0.25527e+00_rb,0.24712e+00_rb,0.23055e+00_rb,0.22209e+00_rb /) kao(:, 3, 3, 9) = (/ & & 0.20047e+00_rb,0.21708e+00_rb,0.23748e+00_rb,0.24902e+00_rb,0.25438e+00_rb, & & 0.25391e+00_rb,0.24629e+00_rb,0.23063e+00_rb,0.22233e+00_rb /) kao(:, 4, 3, 9) = (/ & & 0.20080e+00_rb,0.21687e+00_rb,0.23670e+00_rb,0.24777e+00_rb,0.25298e+00_rb, & & 0.25252e+00_rb,0.24542e+00_rb,0.23053e+00_rb,0.22249e+00_rb /) kao(:, 5, 3, 9) = (/ & & 0.20160e+00_rb,0.21710e+00_rb,0.23623e+00_rb,0.24683e+00_rb,0.25186e+00_rb, & & 0.25126e+00_rb,0.24453e+00_rb,0.23018e+00_rb,0.22257e+00_rb /) kao(:, 1, 4, 9) = (/ & & 0.18271e+00_rb,0.20499e+00_rb,0.22645e+00_rb,0.23921e+00_rb,0.24553e+00_rb, & & 0.24573e+00_rb,0.23916e+00_rb,0.22190e+00_rb,0.20803e+00_rb /) kao(:, 2, 4, 9) = (/ & & 0.18212e+00_rb,0.20407e+00_rb,0.22500e+00_rb,0.23755e+00_rb,0.24385e+00_rb, & & 0.24460e+00_rb,0.23866e+00_rb,0.22223e+00_rb,0.20862e+00_rb /) kao(:, 3, 4, 9) = (/ & & 0.18234e+00_rb,0.20374e+00_rb,0.22412e+00_rb,0.23625e+00_rb,0.24249e+00_rb, & & 0.24341e+00_rb,0.23801e+00_rb,0.22245e+00_rb,0.20916e+00_rb /) kao(:, 4, 4, 9) = (/ & & 0.18327e+00_rb,0.20396e+00_rb,0.22372e+00_rb,0.23535e+00_rb,0.24149e+00_rb, & & 0.24231e+00_rb,0.23730e+00_rb,0.22248e+00_rb,0.20951e+00_rb /) kao(:, 5, 4, 9) = (/ & & 0.18465e+00_rb,0.20466e+00_rb,0.22368e+00_rb,0.23479e+00_rb,0.24072e+00_rb, & & 0.24142e+00_rb,0.23656e+00_rb,0.22226e+00_rb,0.20975e+00_rb /) kao(:, 1, 5, 9) = (/ & & 0.16429e+00_rb,0.19018e+00_rb,0.21120e+00_rb,0.22440e+00_rb,0.23155e+00_rb, & & 0.23328e+00_rb,0.22834e+00_rb,0.21231e+00_rb,0.19389e+00_rb /) kao(:, 2, 5, 9) = (/ & & 0.16411e+00_rb,0.18954e+00_rb,0.21010e+00_rb,0.22306e+00_rb,0.23026e+00_rb, & & 0.23235e+00_rb,0.22803e+00_rb,0.21280e+00_rb,0.19477e+00_rb /) kao(:, 3, 5, 9) = (/ & & 0.16481e+00_rb,0.18955e+00_rb,0.20958e+00_rb,0.22215e+00_rb,0.22928e+00_rb, & & 0.23142e+00_rb,0.22762e+00_rb,0.21318e+00_rb,0.19549e+00_rb /) kao(:, 4, 5, 9) = (/ & & 0.16626e+00_rb,0.19018e+00_rb,0.20952e+00_rb,0.22166e+00_rb,0.22860e+00_rb, & & 0.23069e+00_rb,0.22713e+00_rb,0.21333e+00_rb,0.19598e+00_rb /) kao(:, 5, 5, 9) = (/ & & 0.16812e+00_rb,0.19134e+00_rb,0.20988e+00_rb,0.22152e+00_rb,0.22816e+00_rb, & & 0.23013e+00_rb,0.22663e+00_rb,0.21325e+00_rb,0.19645e+00_rb /) kao(:, 1, 6, 9) = (/ & & 0.14677e+00_rb,0.17503e+00_rb,0.19553e+00_rb,0.20871e+00_rb,0.21680e+00_rb, & & 0.21948e+00_rb,0.21556e+00_rb,0.20158e+00_rb,0.17922e+00_rb /) kao(:, 2, 6, 9) = (/ & & 0.14688e+00_rb,0.17460e+00_rb,0.19479e+00_rb,0.20777e+00_rb,0.21582e+00_rb, & & 0.21883e+00_rb,0.21549e+00_rb,0.20223e+00_rb,0.18038e+00_rb /) kao(:, 3, 6, 9) = (/ & & 0.14791e+00_rb,0.17490e+00_rb,0.19459e+00_rb,0.20727e+00_rb,0.21519e+00_rb, & & 0.21822e+00_rb,0.21533e+00_rb,0.20278e+00_rb,0.18127e+00_rb /) kao(:, 4, 6, 9) = (/ & & 0.14970e+00_rb,0.17592e+00_rb,0.19488e+00_rb,0.20713e+00_rb,0.21485e+00_rb, & & 0.21785e+00_rb,0.21514e+00_rb,0.20305e+00_rb,0.18200e+00_rb /) kao(:, 5, 6, 9) = (/ & & 0.15169e+00_rb,0.17756e+00_rb,0.19568e+00_rb,0.20736e+00_rb,0.21479e+00_rb, & & 0.21766e+00_rb,0.21494e+00_rb,0.20315e+00_rb,0.18271e+00_rb /) kao(:, 1, 7, 9) = (/ & & 0.13000e+00_rb,0.15987e+00_rb,0.17978e+00_rb,0.19301e+00_rb,0.20129e+00_rb, & & 0.20436e+00_rb,0.20140e+00_rb,0.18919e+00_rb,0.16414e+00_rb /) kao(:, 2, 7, 9) = (/ & & 0.13035e+00_rb,0.15964e+00_rb,0.17934e+00_rb,0.19244e+00_rb,0.20068e+00_rb, & & 0.20402e+00_rb,0.20156e+00_rb,0.19006e+00_rb,0.16551e+00_rb /) kao(:, 3, 7, 9) = (/ & & 0.13166e+00_rb,0.16021e+00_rb,0.17944e+00_rb,0.19225e+00_rb,0.20040e+00_rb, & & 0.20381e+00_rb,0.20166e+00_rb,0.19078e+00_rb,0.16662e+00_rb /) kao(:, 4, 7, 9) = (/ & & 0.13361e+00_rb,0.16157e+00_rb,0.18010e+00_rb,0.19248e+00_rb,0.20041e+00_rb, & & 0.20379e+00_rb,0.20172e+00_rb,0.19125e+00_rb,0.16758e+00_rb /) kao(:, 5, 7, 9) = (/ & & 0.13554e+00_rb,0.16344e+00_rb,0.18132e+00_rb,0.19308e+00_rb,0.20075e+00_rb, & & 0.20397e+00_rb,0.20182e+00_rb,0.19159e+00_rb,0.16855e+00_rb /) kao(:, 1, 8, 9) = (/ & & 0.11433e+00_rb,0.14488e+00_rb,0.16431e+00_rb,0.17738e+00_rb,0.18527e+00_rb, & & 0.18841e+00_rb,0.18617e+00_rb,0.17535e+00_rb,0.14893e+00_rb /) kao(:, 2, 8, 9) = (/ & & 0.11487e+00_rb,0.14487e+00_rb,0.16414e+00_rb,0.17713e+00_rb,0.18501e+00_rb, & & 0.18837e+00_rb,0.18658e+00_rb,0.17646e+00_rb,0.15049e+00_rb /) kao(:, 3, 8, 9) = (/ & & 0.11635e+00_rb,0.14571e+00_rb,0.16452e+00_rb,0.17724e+00_rb,0.18506e+00_rb, & & 0.18853e+00_rb,0.18695e+00_rb,0.17741e+00_rb,0.15180e+00_rb /) kao(:, 4, 8, 9) = (/ & & 0.11822e+00_rb,0.14733e+00_rb,0.16549e+00_rb,0.17782e+00_rb,0.18544e+00_rb, & & 0.18888e+00_rb,0.18734e+00_rb,0.17811e+00_rb,0.15295e+00_rb /) kao(:, 5, 8, 9) = (/ & & 0.12009e+00_rb,0.14924e+00_rb,0.16704e+00_rb,0.17887e+00_rb,0.18614e+00_rb, & & 0.18940e+00_rb,0.18775e+00_rb,0.17867e+00_rb,0.15411e+00_rb /) kao(:, 1, 9, 9) = (/ & & 0.10002e+00_rb,0.13043e+00_rb,0.14919e+00_rb,0.16171e+00_rb,0.16913e+00_rb, & & 0.17211e+00_rb,0.17023e+00_rb,0.16067e+00_rb,0.13380e+00_rb /) kao(:, 2, 9, 9) = (/ & & 0.10070e+00_rb,0.13063e+00_rb,0.14927e+00_rb,0.16171e+00_rb,0.16923e+00_rb, & & 0.17237e+00_rb,0.17091e+00_rb,0.16202e+00_rb,0.13552e+00_rb /) kao(:, 3, 9, 9) = (/ & & 0.10219e+00_rb,0.13166e+00_rb,0.14990e+00_rb,0.16210e+00_rb,0.16959e+00_rb, & & 0.17285e+00_rb,0.17161e+00_rb,0.16316e+00_rb,0.13700e+00_rb /) kao(:, 4, 9, 9) = (/ & & 0.10390e+00_rb,0.13341e+00_rb,0.15118e+00_rb,0.16299e+00_rb,0.17031e+00_rb, & & 0.17358e+00_rb,0.17229e+00_rb,0.16405e+00_rb,0.13837e+00_rb /) kao(:, 5, 9, 9) = (/ & & 0.10569e+00_rb,0.13530e+00_rb,0.15298e+00_rb,0.16444e+00_rb,0.17139e+00_rb, & & 0.17443e+00_rb,0.17301e+00_rb,0.16481e+00_rb,0.13976e+00_rb /) kao(:, 1,10, 9) = (/ & & 0.87148e-01_rb,0.11690e+00_rb,0.13450e+00_rb,0.14609e+00_rb,0.15307e+00_rb, & & 0.15588e+00_rb,0.15420e+00_rb,0.14572e+00_rb,0.11917e+00_rb /) kao(:, 2,10, 9) = (/ & & 0.87948e-01_rb,0.11730e+00_rb,0.13485e+00_rb,0.14637e+00_rb,0.15348e+00_rb, & & 0.15645e+00_rb,0.15513e+00_rb,0.14723e+00_rb,0.12103e+00_rb /) kao(:, 3,10, 9) = (/ & & 0.89341e-01_rb,0.11856e+00_rb,0.13575e+00_rb,0.14709e+00_rb,0.15418e+00_rb, & & 0.15726e+00_rb,0.15609e+00_rb,0.14852e+00_rb,0.12266e+00_rb /) kao(:, 4,10, 9) = (/ & & 0.90912e-01_rb,0.12032e+00_rb,0.13733e+00_rb,0.14835e+00_rb,0.15527e+00_rb, & & 0.15827e+00_rb,0.15702e+00_rb,0.14960e+00_rb,0.12424e+00_rb /) kao(:, 5,10, 9) = (/ & & 0.92651e-01_rb,0.12218e+00_rb,0.13930e+00_rb,0.15018e+00_rb,0.15676e+00_rb, & & 0.15942e+00_rb,0.15802e+00_rb,0.15063e+00_rb,0.12583e+00_rb /) kao(:, 1,11, 9) = (/ & & 0.75810e-01_rb,0.10456e+00_rb,0.12069e+00_rb,0.13117e+00_rb,0.13761e+00_rb, & & 0.14039e+00_rb,0.13895e+00_rb,0.13157e+00_rb,0.10610e+00_rb /) kao(:, 2,11, 9) = (/ & & 0.76895e-01_rb,0.10557e+00_rb,0.12151e+00_rb,0.13190e+00_rb,0.13842e+00_rb, & & 0.14134e+00_rb,0.14014e+00_rb,0.13312e+00_rb,0.10796e+00_rb /) kao(:, 3,11, 9) = (/ & & 0.78244e-01_rb,0.10718e+00_rb,0.12298e+00_rb,0.13318e+00_rb,0.13962e+00_rb, & & 0.14250e+00_rb,0.14130e+00_rb,0.13446e+00_rb,0.10971e+00_rb /) kao(:, 4,11, 9) = (/ & & 0.79823e-01_rb,0.10896e+00_rb,0.12491e+00_rb,0.13508e+00_rb,0.14123e+00_rb, & & 0.14382e+00_rb,0.14250e+00_rb,0.13575e+00_rb,0.11145e+00_rb /) kao(:, 5,11, 9) = (/ & & 0.81587e-01_rb,0.11081e+00_rb,0.12696e+00_rb,0.13729e+00_rb,0.14323e+00_rb, & & 0.14541e+00_rb,0.14385e+00_rb,0.13708e+00_rb,0.11322e+00_rb /) kao(:, 1,12, 9) = (/ & & 0.65751e-01_rb,0.93358e-01_rb,0.10793e+00_rb,0.11727e+00_rb,0.12307e+00_rb, & & 0.12565e+00_rb,0.12447e+00_rb,0.11782e+00_rb,0.93944e-01_rb /) kao(:, 2,12, 9) = (/ & & 0.66851e-01_rb,0.94791e-01_rb,0.10927e+00_rb,0.11849e+00_rb,0.12430e+00_rb, & & 0.12692e+00_rb,0.12584e+00_rb,0.11940e+00_rb,0.95825e-01_rb /) kao(:, 3,12, 9) = (/ & & 0.68215e-01_rb,0.96468e-01_rb,0.11113e+00_rb,0.12035e+00_rb,0.12596e+00_rb, & & 0.12837e+00_rb,0.12723e+00_rb,0.12088e+00_rb,0.97697e-01_rb /) kao(:, 4,12, 9) = (/ & & 0.69822e-01_rb,0.98288e-01_rb,0.11318e+00_rb,0.12260e+00_rb,0.12800e+00_rb, & & 0.13009e+00_rb,0.12875e+00_rb,0.12246e+00_rb,0.99558e-01_rb /) kao(:, 5,12, 9) = (/ & & 0.71562e-01_rb,0.10021e+00_rb,0.11536e+00_rb,0.12491e+00_rb,0.13035e+00_rb, & & 0.13218e+00_rb,0.13049e+00_rb,0.12412e+00_rb,0.10142e+00_rb /) kao(:, 1,13, 9) = (/ & & 0.56716e-01_rb,0.83175e-01_rb,0.96227e-01_rb,0.10452e+00_rb,0.10961e+00_rb, & & 0.11186e+00_rb,0.11078e+00_rb,0.10487e+00_rb,0.82822e-01_rb /) kao(:, 2,13, 9) = (/ & & 0.57829e-01_rb,0.84711e-01_rb,0.97973e-01_rb,0.10625e+00_rb,0.11123e+00_rb, & & 0.11339e+00_rb,0.11236e+00_rb,0.10648e+00_rb,0.84781e-01_rb /) kao(:, 3,13, 9) = (/ & & 0.59231e-01_rb,0.86426e-01_rb,0.99996e-01_rb,0.10847e+00_rb,0.11329e+00_rb, & & 0.11518e+00_rb,0.11401e+00_rb,0.10821e+00_rb,0.86727e-01_rb /) kao(:, 4,13, 9) = (/ & & 0.60793e-01_rb,0.88335e-01_rb,0.10220e+00_rb,0.11080e+00_rb,0.11568e+00_rb, & & 0.11734e+00_rb,0.11592e+00_rb,0.11003e+00_rb,0.88652e-01_rb /) kao(:, 5,13, 9) = (/ & & 0.62288e-01_rb,0.90379e-01_rb,0.10449e+00_rb,0.11321e+00_rb,0.11819e+00_rb, & & 0.11985e+00_rb,0.11808e+00_rb,0.11193e+00_rb,0.90608e-01_rb /) kao(:, 1, 1,10) = (/ & & 0.73370e+00_rb,0.66239e+00_rb,0.64754e+00_rb,0.65671e+00_rb,0.64798e+00_rb, & & 0.62443e+00_rb,0.62156e+00_rb,0.59642e+00_rb,0.65694e+00_rb /) kao(:, 2, 1,10) = (/ & & 0.72227e+00_rb,0.65245e+00_rb,0.64115e+00_rb,0.65244e+00_rb,0.64519e+00_rb, & & 0.62272e+00_rb,0.62178e+00_rb,0.59807e+00_rb,0.65734e+00_rb /) kao(:, 3, 1,10) = (/ & & 0.71096e+00_rb,0.64287e+00_rb,0.63490e+00_rb,0.64719e+00_rb,0.64246e+00_rb, & & 0.61928e+00_rb,0.62164e+00_rb,0.59971e+00_rb,0.65975e+00_rb /) kao(:, 4, 1,10) = (/ & & 0.69997e+00_rb,0.63340e+00_rb,0.62893e+00_rb,0.64188e+00_rb,0.63859e+00_rb, & & 0.61601e+00_rb,0.62127e+00_rb,0.59924e+00_rb,0.66003e+00_rb /) kao(:, 5, 1,10) = (/ & & 0.68921e+00_rb,0.62412e+00_rb,0.62274e+00_rb,0.63660e+00_rb,0.63341e+00_rb, & & 0.61371e+00_rb,0.61976e+00_rb,0.59796e+00_rb,0.65874e+00_rb /) kao(:, 1, 2,10) = (/ & & 0.71435e+00_rb,0.65898e+00_rb,0.65791e+00_rb,0.67621e+00_rb,0.66803e+00_rb, & & 0.63952e+00_rb,0.62227e+00_rb,0.60345e+00_rb,0.64341e+00_rb /) kao(:, 2, 2,10) = (/ & & 0.70295e+00_rb,0.64927e+00_rb,0.65209e+00_rb,0.67168e+00_rb,0.66601e+00_rb, & & 0.63761e+00_rb,0.62183e+00_rb,0.60472e+00_rb,0.64489e+00_rb /) kao(:, 3, 2,10) = (/ & & 0.69214e+00_rb,0.64012e+00_rb,0.64637e+00_rb,0.66639e+00_rb,0.66353e+00_rb, & & 0.63487e+00_rb,0.62217e+00_rb,0.60467e+00_rb,0.64521e+00_rb /) kao(:, 4, 2,10) = (/ & & 0.68145e+00_rb,0.63089e+00_rb,0.64022e+00_rb,0.66099e+00_rb,0.65898e+00_rb, & & 0.63312e+00_rb,0.62106e+00_rb,0.60298e+00_rb,0.64380e+00_rb /) kao(:, 5, 2,10) = (/ & & 0.67068e+00_rb,0.62208e+00_rb,0.63390e+00_rb,0.65546e+00_rb,0.65376e+00_rb, & & 0.63122e+00_rb,0.61818e+00_rb,0.60158e+00_rb,0.64256e+00_rb /) kao(:, 1, 3,10) = (/ & & 0.68340e+00_rb,0.64482e+00_rb,0.66290e+00_rb,0.68284e+00_rb,0.67896e+00_rb, & & 0.65800e+00_rb,0.61589e+00_rb,0.60026e+00_rb,0.62209e+00_rb /) kao(:, 2, 3,10) = (/ & & 0.67251e+00_rb,0.63550e+00_rb,0.65818e+00_rb,0.67891e+00_rb,0.67722e+00_rb, & & 0.65575e+00_rb,0.61745e+00_rb,0.60017e+00_rb,0.62247e+00_rb /) kao(:, 3, 3,10) = (/ & & 0.66182e+00_rb,0.62604e+00_rb,0.65231e+00_rb,0.67447e+00_rb,0.67369e+00_rb, & & 0.65314e+00_rb,0.61804e+00_rb,0.59851e+00_rb,0.62084e+00_rb /) kao(:, 4, 3,10) = (/ & & 0.65114e+00_rb,0.61727e+00_rb,0.64569e+00_rb,0.67007e+00_rb,0.66854e+00_rb, & & 0.65146e+00_rb,0.61713e+00_rb,0.59641e+00_rb,0.61922e+00_rb /) kao(:, 5, 3,10) = (/ & & 0.64110e+00_rb,0.60881e+00_rb,0.63926e+00_rb,0.66468e+00_rb,0.66347e+00_rb, & & 0.64931e+00_rb,0.61433e+00_rb,0.59600e+00_rb,0.61885e+00_rb /) kao(:, 1, 4,10) = (/ & & 0.64233e+00_rb,0.62207e+00_rb,0.65747e+00_rb,0.67845e+00_rb,0.68170e+00_rb, & & 0.66374e+00_rb,0.61548e+00_rb,0.59270e+00_rb,0.60473e+00_rb /) kao(:, 2, 4,10) = (/ & & 0.63185e+00_rb,0.61324e+00_rb,0.65237e+00_rb,0.67473e+00_rb,0.67959e+00_rb, & & 0.66215e+00_rb,0.61741e+00_rb,0.59134e+00_rb,0.60361e+00_rb /) kao(:, 3, 4,10) = (/ & & 0.62122e+00_rb,0.60440e+00_rb,0.64660e+00_rb,0.67096e+00_rb,0.67570e+00_rb, & & 0.66004e+00_rb,0.61834e+00_rb,0.58886e+00_rb,0.60079e+00_rb /) kao(:, 4, 4,10) = (/ & & 0.61111e+00_rb,0.59616e+00_rb,0.64034e+00_rb,0.66675e+00_rb,0.67073e+00_rb, & & 0.65786e+00_rb,0.61721e+00_rb,0.58692e+00_rb,0.59978e+00_rb /) kao(:, 5, 4,10) = (/ & & 0.60223e+00_rb,0.58851e+00_rb,0.63401e+00_rb,0.66136e+00_rb,0.66631e+00_rb, & & 0.65503e+00_rb,0.61469e+00_rb,0.58697e+00_rb,0.60040e+00_rb /) kao(:, 1, 5,10) = (/ & & 0.59185e+00_rb,0.59370e+00_rb,0.63992e+00_rb,0.66463e+00_rb,0.67279e+00_rb, & & 0.65610e+00_rb,0.61852e+00_rb,0.58331e+00_rb,0.58763e+00_rb /) kao(:, 2, 5,10) = (/ & & 0.58158e+00_rb,0.58584e+00_rb,0.63500e+00_rb,0.66123e+00_rb,0.67045e+00_rb, & & 0.65504e+00_rb,0.62015e+00_rb,0.58225e+00_rb,0.58623e+00_rb /) kao(:, 3, 5,10) = (/ & & 0.57197e+00_rb,0.57827e+00_rb,0.62932e+00_rb,0.65791e+00_rb,0.66630e+00_rb, & & 0.65353e+00_rb,0.61959e+00_rb,0.58025e+00_rb,0.58483e+00_rb /) kao(:, 4, 5,10) = (/ & & 0.56277e+00_rb,0.57099e+00_rb,0.62369e+00_rb,0.65326e+00_rb,0.66229e+00_rb, & & 0.65156e+00_rb,0.61745e+00_rb,0.57913e+00_rb,0.58544e+00_rb /) kao(:, 5, 5,10) = (/ & & 0.55581e+00_rb,0.56431e+00_rb,0.61807e+00_rb,0.64784e+00_rb,0.65855e+00_rb, & & 0.64845e+00_rb,0.61479e+00_rb,0.57987e+00_rb,0.58646e+00_rb /) kao(:, 1, 6,10) = (/ & & 0.53954e+00_rb,0.56255e+00_rb,0.61290e+00_rb,0.64303e+00_rb,0.64974e+00_rb, & & 0.64176e+00_rb,0.61714e+00_rb,0.56940e+00_rb,0.56484e+00_rb /) kao(:, 2, 6,10) = (/ & & 0.53060e+00_rb,0.55651e+00_rb,0.60789e+00_rb,0.63988e+00_rb,0.64820e+00_rb, & & 0.64042e+00_rb,0.61834e+00_rb,0.56932e+00_rb,0.56418e+00_rb /) kao(:, 3, 6,10) = (/ & & 0.52216e+00_rb,0.54988e+00_rb,0.60294e+00_rb,0.63619e+00_rb,0.64521e+00_rb, & & 0.63878e+00_rb,0.61726e+00_rb,0.56850e+00_rb,0.56474e+00_rb /) kao(:, 4, 6,10) = (/ & & 0.51474e+00_rb,0.54331e+00_rb,0.59815e+00_rb,0.63165e+00_rb,0.64200e+00_rb, & & 0.63625e+00_rb,0.61431e+00_rb,0.56860e+00_rb,0.56684e+00_rb /) kao(:, 5, 6,10) = (/ & & 0.51206e+00_rb,0.53704e+00_rb,0.59303e+00_rb,0.62695e+00_rb,0.63853e+00_rb, & & 0.63290e+00_rb,0.61169e+00_rb,0.57018e+00_rb,0.56804e+00_rb /) kao(:, 1, 7,10) = (/ & & 0.49102e+00_rb,0.52896e+00_rb,0.58005e+00_rb,0.60940e+00_rb,0.62179e+00_rb, & & 0.62452e+00_rb,0.60693e+00_rb,0.55666e+00_rb,0.53830e+00_rb /) kao(:, 2, 7,10) = (/ & & 0.48351e+00_rb,0.52394e+00_rb,0.57551e+00_rb,0.60647e+00_rb,0.62043e+00_rb, & & 0.62318e+00_rb,0.60808e+00_rb,0.55693e+00_rb,0.53902e+00_rb /) kao(:, 3, 7,10) = (/ & & 0.47604e+00_rb,0.51848e+00_rb,0.57124e+00_rb,0.60324e+00_rb,0.61835e+00_rb, & & 0.62080e+00_rb,0.60698e+00_rb,0.55691e+00_rb,0.54116e+00_rb /) kao(:, 4, 7,10) = (/ & & 0.47121e+00_rb,0.51294e+00_rb,0.56659e+00_rb,0.59937e+00_rb,0.61527e+00_rb, & & 0.61807e+00_rb,0.60502e+00_rb,0.55819e+00_rb,0.54361e+00_rb /) kao(:, 5, 7,10) = (/ & & 0.47306e+00_rb,0.50884e+00_rb,0.56199e+00_rb,0.59548e+00_rb,0.61135e+00_rb, & & 0.61474e+00_rb,0.60372e+00_rb,0.56024e+00_rb,0.54444e+00_rb /) kao(:, 1, 8,10) = (/ & & 0.44396e+00_rb,0.49532e+00_rb,0.54249e+00_rb,0.57145e+00_rb,0.59186e+00_rb, & & 0.60060e+00_rb,0.58785e+00_rb,0.54441e+00_rb,0.50913e+00_rb /) kao(:, 2, 8,10) = (/ & & 0.43707e+00_rb,0.49048e+00_rb,0.53914e+00_rb,0.56868e+00_rb,0.59107e+00_rb, & & 0.60049e+00_rb,0.58883e+00_rb,0.54507e+00_rb,0.51101e+00_rb /) kao(:, 3, 8,10) = (/ & & 0.43098e+00_rb,0.48531e+00_rb,0.53541e+00_rb,0.56592e+00_rb,0.58911e+00_rb, & & 0.59846e+00_rb,0.58812e+00_rb,0.54578e+00_rb,0.51441e+00_rb /) kao(:, 4, 8,10) = (/ & & 0.42957e+00_rb,0.48093e+00_rb,0.53173e+00_rb,0.56262e+00_rb,0.58636e+00_rb, & & 0.59589e+00_rb,0.58708e+00_rb,0.54776e+00_rb,0.51773e+00_rb /) kao(:, 5, 8,10) = (/ & & 0.43487e+00_rb,0.48035e+00_rb,0.52822e+00_rb,0.55903e+00_rb,0.58272e+00_rb, & & 0.59353e+00_rb,0.58697e+00_rb,0.54985e+00_rb,0.51918e+00_rb /) kao(:, 1, 9,10) = (/ & & 0.39531e+00_rb,0.46021e+00_rb,0.50510e+00_rb,0.53588e+00_rb,0.55895e+00_rb, & & 0.56979e+00_rb,0.56191e+00_rb,0.52659e+00_rb,0.47758e+00_rb /) kao(:, 2, 9,10) = (/ & & 0.38905e+00_rb,0.45517e+00_rb,0.50180e+00_rb,0.53416e+00_rb,0.55846e+00_rb, & & 0.57047e+00_rb,0.56355e+00_rb,0.52717e+00_rb,0.48088e+00_rb /) kao(:, 3, 9,10) = (/ & & 0.38493e+00_rb,0.45067e+00_rb,0.49854e+00_rb,0.53220e+00_rb,0.55699e+00_rb, & & 0.56934e+00_rb,0.56332e+00_rb,0.52868e+00_rb,0.48536e+00_rb /) kao(:, 4, 9,10) = (/ & & 0.38723e+00_rb,0.44786e+00_rb,0.49546e+00_rb,0.52928e+00_rb,0.55471e+00_rb, & & 0.56730e+00_rb,0.56372e+00_rb,0.53178e+00_rb,0.48902e+00_rb /) kao(:, 5, 9,10) = (/ & & 0.39433e+00_rb,0.45054e+00_rb,0.49350e+00_rb,0.52621e+00_rb,0.55192e+00_rb, & & 0.56604e+00_rb,0.56481e+00_rb,0.53491e+00_rb,0.49067e+00_rb /) kao(:, 1,10,10) = (/ & & 0.34716e+00_rb,0.41992e+00_rb,0.46841e+00_rb,0.50264e+00_rb,0.52377e+00_rb, & & 0.53462e+00_rb,0.53096e+00_rb,0.50215e+00_rb,0.44481e+00_rb /) kao(:, 2,10,10) = (/ & & 0.34195e+00_rb,0.41601e+00_rb,0.46506e+00_rb,0.50165e+00_rb,0.52385e+00_rb, & & 0.53574e+00_rb,0.53310e+00_rb,0.50401e+00_rb,0.44924e+00_rb /) kao(:, 3,10,10) = (/ & & 0.34072e+00_rb,0.41255e+00_rb,0.46265e+00_rb,0.50007e+00_rb,0.52273e+00_rb, & & 0.53553e+00_rb,0.53434e+00_rb,0.50668e+00_rb,0.45414e+00_rb /) kao(:, 4,10,10) = (/ & & 0.34572e+00_rb,0.41258e+00_rb,0.46029e+00_rb,0.49770e+00_rb,0.52100e+00_rb, & & 0.53482e+00_rb,0.53633e+00_rb,0.51056e+00_rb,0.45768e+00_rb /) kao(:, 5,10,10) = (/ & & 0.35242e+00_rb,0.41826e+00_rb,0.46028e+00_rb,0.49520e+00_rb,0.51927e+00_rb, & & 0.53500e+00_rb,0.53892e+00_rb,0.51405e+00_rb,0.45947e+00_rb /) kao(:, 1,11,10) = (/ & & 0.30160e+00_rb,0.37714e+00_rb,0.42971e+00_rb,0.46717e+00_rb,0.48926e+00_rb, & & 0.49871e+00_rb,0.49756e+00_rb,0.47436e+00_rb,0.41261e+00_rb /) kao(:, 2,11,10) = (/ & & 0.29962e+00_rb,0.37395e+00_rb,0.42779e+00_rb,0.46654e+00_rb,0.48929e+00_rb, & & 0.49998e+00_rb,0.50016e+00_rb,0.47769e+00_rb,0.41819e+00_rb /) kao(:, 3,11,10) = (/ & & 0.30371e+00_rb,0.37339e+00_rb,0.42611e+00_rb,0.46502e+00_rb,0.48821e+00_rb, & & 0.50080e+00_rb,0.50323e+00_rb,0.48215e+00_rb,0.42266e+00_rb /) kao(:, 4,11,10) = (/ & & 0.30955e+00_rb,0.37857e+00_rb,0.42639e+00_rb,0.46320e+00_rb,0.48745e+00_rb, & & 0.50213e+00_rb,0.50694e+00_rb,0.48639e+00_rb,0.42570e+00_rb /) kao(:, 5,11,10) = (/ & & 0.31511e+00_rb,0.38606e+00_rb,0.43107e+00_rb,0.46346e+00_rb,0.48731e+00_rb, & & 0.50398e+00_rb,0.50975e+00_rb,0.48945e+00_rb,0.42790e+00_rb /) kao(:, 1,12,10) = (/ & & 0.26311e+00_rb,0.33847e+00_rb,0.39159e+00_rb,0.42993e+00_rb,0.45370e+00_rb, & & 0.46372e+00_rb,0.46279e+00_rb,0.44427e+00_rb,0.37907e+00_rb /) kao(:, 2,12,10) = (/ & & 0.26583e+00_rb,0.33679e+00_rb,0.39073e+00_rb,0.42938e+00_rb,0.45415e+00_rb, & & 0.46569e+00_rb,0.46639e+00_rb,0.44945e+00_rb,0.38485e+00_rb /) kao(:, 3,12,10) = (/ & & 0.27082e+00_rb,0.34071e+00_rb,0.39077e+00_rb,0.42842e+00_rb,0.45412e+00_rb, & & 0.46820e+00_rb,0.47089e+00_rb,0.45477e+00_rb,0.38900e+00_rb /) kao(:, 4,12,10) = (/ & & 0.27574e+00_rb,0.34733e+00_rb,0.39532e+00_rb,0.42923e+00_rb,0.45504e+00_rb, & & 0.47097e+00_rb,0.47486e+00_rb,0.45848e+00_rb,0.39247e+00_rb /) kao(:, 5,12,10) = (/ & & 0.28099e+00_rb,0.35386e+00_rb,0.40190e+00_rb,0.43447e+00_rb,0.45757e+00_rb, & & 0.47294e+00_rb,0.47760e+00_rb,0.46125e+00_rb,0.39629e+00_rb /) kao(:, 1,13,10) = (/ & & 0.23133e+00_rb,0.30448e+00_rb,0.35592e+00_rb,0.39245e+00_rb,0.41703e+00_rb, & & 0.42944e+00_rb,0.42838e+00_rb,0.41191e+00_rb,0.34405e+00_rb /) kao(:, 2,13,10) = (/ & & 0.23569e+00_rb,0.30675e+00_rb,0.35574e+00_rb,0.39238e+00_rb,0.41854e+00_rb, & & 0.43261e+00_rb,0.43319e+00_rb,0.41851e+00_rb,0.34979e+00_rb /) kao(:, 3,13,10) = (/ & & 0.23995e+00_rb,0.31287e+00_rb,0.35958e+00_rb,0.39339e+00_rb,0.42025e+00_rb, & & 0.43649e+00_rb,0.43814e+00_rb,0.42387e+00_rb,0.35427e+00_rb /) kao(:, 4,13,10) = (/ & & 0.24491e+00_rb,0.31868e+00_rb,0.36597e+00_rb,0.39887e+00_rb,0.42348e+00_rb, & & 0.43960e+00_rb,0.44180e+00_rb,0.42781e+00_rb,0.35946e+00_rb /) kao(:, 5,13,10) = (/ & & 0.25204e+00_rb,0.32443e+00_rb,0.37244e+00_rb,0.40709e+00_rb,0.42924e+00_rb, & & 0.44176e+00_rb,0.44465e+00_rb,0.43196e+00_rb,0.36481e+00_rb /) kao(:, 1, 1,11) = (/ & & 0.10293e+01_rb,0.90445e+00_rb,0.86137e+00_rb,0.83022e+00_rb,0.84086e+00_rb, & & 0.86548e+00_rb,0.85587e+00_rb,0.85325e+00_rb,0.97261e+00_rb /) kao(:, 2, 1,11) = (/ & & 0.10191e+01_rb,0.89556e+00_rb,0.85472e+00_rb,0.82839e+00_rb,0.83827e+00_rb, & & 0.86712e+00_rb,0.85626e+00_rb,0.85096e+00_rb,0.97088e+00_rb /) kao(:, 3, 1,11) = (/ & & 0.10070e+01_rb,0.88513e+00_rb,0.84750e+00_rb,0.82570e+00_rb,0.83354e+00_rb, & & 0.86668e+00_rb,0.85692e+00_rb,0.84837e+00_rb,0.96710e+00_rb /) kao(:, 4, 1,11) = (/ & & 0.99477e+00_rb,0.87449e+00_rb,0.83958e+00_rb,0.82146e+00_rb,0.82897e+00_rb, & & 0.86436e+00_rb,0.85744e+00_rb,0.84703e+00_rb,0.96450e+00_rb /) kao(:, 5, 1,11) = (/ & & 0.98126e+00_rb,0.86272e+00_rb,0.83128e+00_rb,0.81555e+00_rb,0.82401e+00_rb, & & 0.85929e+00_rb,0.85825e+00_rb,0.84707e+00_rb,0.96358e+00_rb /) kao(:, 1, 2,11) = (/ & & 0.10475e+01_rb,0.93151e+00_rb,0.89830e+00_rb,0.88420e+00_rb,0.87933e+00_rb, & & 0.87846e+00_rb,0.87987e+00_rb,0.86086e+00_rb,0.97265e+00_rb /) kao(:, 2, 2,11) = (/ & & 0.10370e+01_rb,0.92196e+00_rb,0.89215e+00_rb,0.88284e+00_rb,0.87783e+00_rb, & & 0.88073e+00_rb,0.88059e+00_rb,0.85882e+00_rb,0.96972e+00_rb /) kao(:, 3, 2,11) = (/ & & 0.10244e+01_rb,0.91082e+00_rb,0.88511e+00_rb,0.87976e+00_rb,0.87455e+00_rb, & & 0.88046e+00_rb,0.88070e+00_rb,0.85623e+00_rb,0.96599e+00_rb /) kao(:, 4, 2,11) = (/ & & 0.10111e+01_rb,0.89911e+00_rb,0.87761e+00_rb,0.87481e+00_rb,0.87132e+00_rb, & & 0.87692e+00_rb,0.88074e+00_rb,0.85652e+00_rb,0.96500e+00_rb /) kao(:, 5, 2,11) = (/ & & 0.99734e+00_rb,0.88696e+00_rb,0.86940e+00_rb,0.86908e+00_rb,0.86706e+00_rb, & & 0.87191e+00_rb,0.88156e+00_rb,0.85742e+00_rb,0.96567e+00_rb /) kao(:, 1, 3,11) = (/ & & 0.10481e+01_rb,0.94949e+00_rb,0.92754e+00_rb,0.93134e+00_rb,0.92020e+00_rb, & & 0.88963e+00_rb,0.89353e+00_rb,0.87368e+00_rb,0.96341e+00_rb /) kao(:, 2, 3,11) = (/ & & 0.10364e+01_rb,0.93961e+00_rb,0.92141e+00_rb,0.92962e+00_rb,0.91951e+00_rb, & & 0.89266e+00_rb,0.89347e+00_rb,0.87218e+00_rb,0.95995e+00_rb /) kao(:, 3, 3,11) = (/ & & 0.10237e+01_rb,0.92877e+00_rb,0.91434e+00_rb,0.92574e+00_rb,0.91740e+00_rb, & & 0.89302e+00_rb,0.89281e+00_rb,0.87167e+00_rb,0.95907e+00_rb /) kao(:, 4, 3,11) = (/ & & 0.10107e+01_rb,0.91711e+00_rb,0.90716e+00_rb,0.92023e+00_rb,0.91517e+00_rb, & & 0.89037e+00_rb,0.89222e+00_rb,0.87266e+00_rb,0.95928e+00_rb /) kao(:, 5, 3,11) = (/ & & 0.99633e+00_rb,0.90470e+00_rb,0.89927e+00_rb,0.91439e+00_rb,0.91120e+00_rb, & & 0.88600e+00_rb,0.89266e+00_rb,0.87273e+00_rb,0.95886e+00_rb /) kao(:, 1, 4,11) = (/ & & 0.10264e+01_rb,0.95071e+00_rb,0.94674e+00_rb,0.96322e+00_rb,0.95099e+00_rb, & & 0.91374e+00_rb,0.89446e+00_rb,0.87855e+00_rb,0.93628e+00_rb /) kao(:, 2, 4,11) = (/ & & 0.10149e+01_rb,0.94036e+00_rb,0.94196e+00_rb,0.96089e+00_rb,0.95153e+00_rb, & & 0.91752e+00_rb,0.89401e+00_rb,0.87842e+00_rb,0.93496e+00_rb /) kao(:, 3, 4,11) = (/ & & 0.10022e+01_rb,0.92957e+00_rb,0.93566e+00_rb,0.95688e+00_rb,0.95066e+00_rb, & & 0.91784e+00_rb,0.89284e+00_rb,0.87926e+00_rb,0.93586e+00_rb /) kao(:, 4, 4,11) = (/ & & 0.98847e+00_rb,0.91773e+00_rb,0.92854e+00_rb,0.95134e+00_rb,0.94862e+00_rb, & & 0.91547e+00_rb,0.89366e+00_rb,0.87951e+00_rb,0.93591e+00_rb /) kao(:, 5, 4,11) = (/ & & 0.97390e+00_rb,0.90550e+00_rb,0.92045e+00_rb,0.94604e+00_rb,0.94431e+00_rb, & & 0.91218e+00_rb,0.89395e+00_rb,0.87858e+00_rb,0.93476e+00_rb /) kao(:, 1, 5,11) = (/ & & 0.98609e+00_rb,0.93424e+00_rb,0.95643e+00_rb,0.97684e+00_rb,0.96999e+00_rb, & & 0.93774e+00_rb,0.88693e+00_rb,0.86915e+00_rb,0.90145e+00_rb /) kao(:, 2, 5,11) = (/ & & 0.97412e+00_rb,0.92401e+00_rb,0.95137e+00_rb,0.97507e+00_rb,0.97005e+00_rb, & & 0.94299e+00_rb,0.88698e+00_rb,0.86947e+00_rb,0.90218e+00_rb /) kao(:, 3, 5,11) = (/ & & 0.96114e+00_rb,0.91242e+00_rb,0.94531e+00_rb,0.97096e+00_rb,0.96958e+00_rb, & & 0.94325e+00_rb,0.88812e+00_rb,0.86965e+00_rb,0.90220e+00_rb /) kao(:, 4, 5,11) = (/ & & 0.94742e+00_rb,0.90067e+00_rb,0.93796e+00_rb,0.96622e+00_rb,0.96802e+00_rb, & & 0.94082e+00_rb,0.89013e+00_rb,0.86974e+00_rb,0.90156e+00_rb /) kao(:, 5, 5,11) = (/ & & 0.93336e+00_rb,0.88866e+00_rb,0.92975e+00_rb,0.96102e+00_rb,0.96365e+00_rb, & & 0.93814e+00_rb,0.89133e+00_rb,0.86813e+00_rb,0.89955e+00_rb /) kao(:, 1, 6,11) = (/ & & 0.92984e+00_rb,0.90494e+00_rb,0.94972e+00_rb,0.97425e+00_rb,0.97662e+00_rb, & & 0.94556e+00_rb,0.88351e+00_rb,0.85584e+00_rb,0.87463e+00_rb /) kao(:, 2, 6,11) = (/ & & 0.91725e+00_rb,0.89370e+00_rb,0.94535e+00_rb,0.97222e+00_rb,0.97680e+00_rb, & & 0.95110e+00_rb,0.88518e+00_rb,0.85597e+00_rb,0.87435e+00_rb /) kao(:, 3, 6,11) = (/ & & 0.90427e+00_rb,0.88250e+00_rb,0.93903e+00_rb,0.96844e+00_rb,0.97606e+00_rb, & & 0.95304e+00_rb,0.88753e+00_rb,0.85497e+00_rb,0.87307e+00_rb /) kao(:, 4, 6,11) = (/ & & 0.89063e+00_rb,0.87150e+00_rb,0.93110e+00_rb,0.96495e+00_rb,0.97386e+00_rb, & & 0.95208e+00_rb,0.89056e+00_rb,0.85380e+00_rb,0.87067e+00_rb /) kao(:, 5, 6,11) = (/ & & 0.87675e+00_rb,0.86027e+00_rb,0.92261e+00_rb,0.96002e+00_rb,0.96930e+00_rb, & & 0.94959e+00_rb,0.89201e+00_rb,0.85155e+00_rb,0.86905e+00_rb /) kao(:, 1, 7,11) = (/ & & 0.85919e+00_rb,0.86562e+00_rb,0.92649e+00_rb,0.95965e+00_rb,0.96523e+00_rb, & & 0.93650e+00_rb,0.88529e+00_rb,0.84057e+00_rb,0.84722e+00_rb /) kao(:, 2, 7,11) = (/ & & 0.84717e+00_rb,0.85599e+00_rb,0.92166e+00_rb,0.95676e+00_rb,0.96677e+00_rb, & & 0.94156e+00_rb,0.88807e+00_rb,0.84087e+00_rb,0.84785e+00_rb /) kao(:, 3, 7,11) = (/ & & 0.83473e+00_rb,0.84556e+00_rb,0.91525e+00_rb,0.95342e+00_rb,0.96579e+00_rb, & & 0.94506e+00_rb,0.89084e+00_rb,0.83990e+00_rb,0.84680e+00_rb /) kao(:, 4, 7,11) = (/ & & 0.82211e+00_rb,0.83508e+00_rb,0.90782e+00_rb,0.94944e+00_rb,0.96296e+00_rb, & & 0.94530e+00_rb,0.89295e+00_rb,0.83822e+00_rb,0.84533e+00_rb /) kao(:, 5, 7,11) = (/ & & 0.80945e+00_rb,0.82542e+00_rb,0.90011e+00_rb,0.94513e+00_rb,0.95957e+00_rb, & & 0.94356e+00_rb,0.89326e+00_rb,0.83636e+00_rb,0.84582e+00_rb /) kao(:, 1, 8,11) = (/ & & 0.78535e+00_rb,0.81958e+00_rb,0.89069e+00_rb,0.92943e+00_rb,0.93702e+00_rb, & & 0.91895e+00_rb,0.88182e+00_rb,0.81942e+00_rb,0.81355e+00_rb /) kao(:, 2, 8,11) = (/ & & 0.77455e+00_rb,0.81120e+00_rb,0.88449e+00_rb,0.92737e+00_rb,0.93847e+00_rb, & & 0.92275e+00_rb,0.88568e+00_rb,0.82187e+00_rb,0.81529e+00_rb /) kao(:, 3, 8,11) = (/ & & 0.76320e+00_rb,0.80325e+00_rb,0.87799e+00_rb,0.92413e+00_rb,0.93785e+00_rb, & & 0.92584e+00_rb,0.88848e+00_rb,0.82246e+00_rb,0.81526e+00_rb /) kao(:, 4, 8,11) = (/ & & 0.75209e+00_rb,0.79461e+00_rb,0.87173e+00_rb,0.92037e+00_rb,0.93562e+00_rb, & & 0.92659e+00_rb,0.89042e+00_rb,0.82203e+00_rb,0.81583e+00_rb /) kao(:, 5, 8,11) = (/ & & 0.74191e+00_rb,0.78569e+00_rb,0.86500e+00_rb,0.91565e+00_rb,0.93275e+00_rb, & & 0.92508e+00_rb,0.89021e+00_rb,0.82215e+00_rb,0.81833e+00_rb /) kao(:, 1, 9,11) = (/ & & 0.71539e+00_rb,0.77045e+00_rb,0.84442e+00_rb,0.88339e+00_rb,0.89968e+00_rb, & & 0.89536e+00_rb,0.86841e+00_rb,0.79955e+00_rb,0.77318e+00_rb /) kao(:, 2, 9,11) = (/ & & 0.70564e+00_rb,0.76424e+00_rb,0.83867e+00_rb,0.88222e+00_rb,0.90019e+00_rb, & & 0.89929e+00_rb,0.87308e+00_rb,0.80390e+00_rb,0.77664e+00_rb /) kao(:, 3, 9,11) = (/ & & 0.69566e+00_rb,0.75811e+00_rb,0.83280e+00_rb,0.87940e+00_rb,0.90026e+00_rb, & & 0.90222e+00_rb,0.87663e+00_rb,0.80593e+00_rb,0.77834e+00_rb /) kao(:, 4, 9,11) = (/ & & 0.68611e+00_rb,0.75067e+00_rb,0.82727e+00_rb,0.87623e+00_rb,0.89845e+00_rb, & & 0.90248e+00_rb,0.87886e+00_rb,0.80698e+00_rb,0.78085e+00_rb /) kao(:, 5, 9,11) = (/ & & 0.67924e+00_rb,0.74336e+00_rb,0.82173e+00_rb,0.87192e+00_rb,0.89575e+00_rb, & & 0.90118e+00_rb,0.87929e+00_rb,0.80840e+00_rb,0.78556e+00_rb /) kao(:, 1,10,11) = (/ & & 0.64750e+00_rb,0.72291e+00_rb,0.79049e+00_rb,0.83093e+00_rb,0.85723e+00_rb, & & 0.86420e+00_rb,0.84410e+00_rb,0.78062e+00_rb,0.72995e+00_rb /) kao(:, 2,10,11) = (/ & & 0.63786e+00_rb,0.71701e+00_rb,0.78689e+00_rb,0.82920e+00_rb,0.85838e+00_rb, & & 0.86903e+00_rb,0.84994e+00_rb,0.78581e+00_rb,0.73484e+00_rb /) kao(:, 3,10,11) = (/ & & 0.62879e+00_rb,0.71055e+00_rb,0.78212e+00_rb,0.82630e+00_rb,0.85919e+00_rb, & & 0.87234e+00_rb,0.85358e+00_rb,0.78925e+00_rb,0.73873e+00_rb /) kao(:, 4,10,11) = (/ & & 0.62087e+00_rb,0.70389e+00_rb,0.77761e+00_rb,0.82356e+00_rb,0.85812e+00_rb, & & 0.87281e+00_rb,0.85602e+00_rb,0.79174e+00_rb,0.74394e+00_rb /) kao(:, 5,10,11) = (/ & & 0.61947e+00_rb,0.69759e+00_rb,0.77360e+00_rb,0.82013e+00_rb,0.85542e+00_rb, & & 0.87157e+00_rb,0.85709e+00_rb,0.79529e+00_rb,0.75052e+00_rb /) kao(:, 1,11,11) = (/ & & 0.57317e+00_rb,0.67082e+00_rb,0.73559e+00_rb,0.77934e+00_rb,0.81170e+00_rb, & & 0.82582e+00_rb,0.81431e+00_rb,0.75887e+00_rb,0.68710e+00_rb /) kao(:, 2,11,11) = (/ & & 0.56447e+00_rb,0.66437e+00_rb,0.73216e+00_rb,0.77740e+00_rb,0.81370e+00_rb, & & 0.83183e+00_rb,0.81926e+00_rb,0.76438e+00_rb,0.69316e+00_rb /) kao(:, 3,11,11) = (/ & & 0.55710e+00_rb,0.65798e+00_rb,0.72792e+00_rb,0.77609e+00_rb,0.81480e+00_rb, & & 0.83377e+00_rb,0.82304e+00_rb,0.76833e+00_rb,0.70018e+00_rb /) kao(:, 4,11,11) = (/ & & 0.55630e+00_rb,0.65257e+00_rb,0.72437e+00_rb,0.77329e+00_rb,0.81397e+00_rb, & & 0.83437e+00_rb,0.82566e+00_rb,0.77320e+00_rb,0.70886e+00_rb /) kao(:, 5,11,11) = (/ & & 0.56411e+00_rb,0.65194e+00_rb,0.72119e+00_rb,0.77017e+00_rb,0.81118e+00_rb, & & 0.83405e+00_rb,0.82785e+00_rb,0.77913e+00_rb,0.71658e+00_rb /) kao(:, 1,12,11) = (/ & & 0.50093e+00_rb,0.61265e+00_rb,0.68222e+00_rb,0.73081e+00_rb,0.76376e+00_rb, & & 0.78196e+00_rb,0.77611e+00_rb,0.73046e+00_rb,0.64374e+00_rb /) kao(:, 2,12,11) = (/ & & 0.49374e+00_rb,0.60693e+00_rb,0.67860e+00_rb,0.73087e+00_rb,0.76701e+00_rb, & & 0.78657e+00_rb,0.78196e+00_rb,0.73646e+00_rb,0.65183e+00_rb /) kao(:, 3,12,11) = (/ & & 0.49262e+00_rb,0.60232e+00_rb,0.67517e+00_rb,0.73017e+00_rb,0.76805e+00_rb, & & 0.78863e+00_rb,0.78651e+00_rb,0.74261e+00_rb,0.66205e+00_rb /) kao(:, 4,12,11) = (/ & & 0.49989e+00_rb,0.60234e+00_rb,0.67259e+00_rb,0.72790e+00_rb,0.76753e+00_rb, & & 0.79017e+00_rb,0.79054e+00_rb,0.75027e+00_rb,0.67174e+00_rb /) kao(:, 5,12,11) = (/ & & 0.51177e+00_rb,0.60963e+00_rb,0.67313e+00_rb,0.72489e+00_rb,0.76606e+00_rb, & & 0.79187e+00_rb,0.79524e+00_rb,0.75809e+00_rb,0.67955e+00_rb /) kao(:, 1,13,11) = (/ & & 0.43610e+00_rb,0.55280e+00_rb,0.62805e+00_rb,0.68236e+00_rb,0.71726e+00_rb, & & 0.73439e+00_rb,0.73316e+00_rb,0.69581e+00_rb,0.60098e+00_rb /) kao(:, 2,13,11) = (/ & & 0.43332e+00_rb,0.54879e+00_rb,0.62602e+00_rb,0.68387e+00_rb,0.71981e+00_rb, & & 0.73863e+00_rb,0.74004e+00_rb,0.70395e+00_rb,0.61188e+00_rb /) kao(:, 3,13,11) = (/ & & 0.43938e+00_rb,0.54819e+00_rb,0.62420e+00_rb,0.68392e+00_rb,0.72120e+00_rb, & & 0.74159e+00_rb,0.74634e+00_rb,0.71286e+00_rb,0.62343e+00_rb /) kao(:, 4,13,11) = (/ & & 0.44997e+00_rb,0.55515e+00_rb,0.62479e+00_rb,0.68255e+00_rb,0.72173e+00_rb, & & 0.74510e+00_rb,0.75297e+00_rb,0.72278e+00_rb,0.63265e+00_rb /) kao(:, 5,13,11) = (/ & & 0.46055e+00_rb,0.56787e+00_rb,0.63110e+00_rb,0.68248e+00_rb,0.72225e+00_rb, & & 0.74921e+00_rb,0.75987e+00_rb,0.73098e+00_rb,0.64026e+00_rb /) kao(:, 1, 1,12) = (/ & & 0.14171e+01_rb,0.12412e+01_rb,0.11453e+01_rb,0.11122e+01_rb,0.11253e+01_rb, & & 0.11573e+01_rb,0.11791e+01_rb,0.12973e+01_rb,0.14638e+01_rb /) kao(:, 2, 1,12) = (/ & & 0.14090e+01_rb,0.12342e+01_rb,0.11388e+01_rb,0.11095e+01_rb,0.11322e+01_rb, & & 0.11607e+01_rb,0.11781e+01_rb,0.12938e+01_rb,0.14611e+01_rb /) kao(:, 3, 1,12) = (/ & & 0.13994e+01_rb,0.12258e+01_rb,0.11299e+01_rb,0.11046e+01_rb,0.11339e+01_rb, & & 0.11641e+01_rb,0.11762e+01_rb,0.12907e+01_rb,0.14569e+01_rb /) kao(:, 4, 1,12) = (/ & & 0.13872e+01_rb,0.12151e+01_rb,0.11205e+01_rb,0.10983e+01_rb,0.11321e+01_rb, & & 0.11655e+01_rb,0.11746e+01_rb,0.12884e+01_rb,0.14537e+01_rb /) kao(:, 5, 1,12) = (/ & & 0.13737e+01_rb,0.12034e+01_rb,0.11101e+01_rb,0.10915e+01_rb,0.11280e+01_rb, & & 0.11664e+01_rb,0.11724e+01_rb,0.12834e+01_rb,0.14491e+01_rb /) kao(:, 1, 2,12) = (/ & & 0.15051e+01_rb,0.13181e+01_rb,0.12304e+01_rb,0.11719e+01_rb,0.11855e+01_rb, & & 0.12309e+01_rb,0.12496e+01_rb,0.13203e+01_rb,0.15049e+01_rb /) kao(:, 2, 2,12) = (/ & & 0.14984e+01_rb,0.13123e+01_rb,0.12250e+01_rb,0.11699e+01_rb,0.11925e+01_rb, & & 0.12340e+01_rb,0.12487e+01_rb,0.13193e+01_rb,0.15024e+01_rb /) kao(:, 3, 2,12) = (/ & & 0.14884e+01_rb,0.13036e+01_rb,0.12176e+01_rb,0.11665e+01_rb,0.11942e+01_rb, & & 0.12376e+01_rb,0.12478e+01_rb,0.13196e+01_rb,0.15020e+01_rb /) kao(:, 4, 2,12) = (/ & & 0.14762e+01_rb,0.12929e+01_rb,0.12082e+01_rb,0.11628e+01_rb,0.11911e+01_rb, & & 0.12406e+01_rb,0.12476e+01_rb,0.13168e+01_rb,0.15001e+01_rb /) kao(:, 5, 2,12) = (/ & & 0.14614e+01_rb,0.12800e+01_rb,0.11975e+01_rb,0.11575e+01_rb,0.11857e+01_rb, & & 0.12414e+01_rb,0.12460e+01_rb,0.13124e+01_rb,0.14945e+01_rb /) kao(:, 1, 3,12) = (/ & & 0.15822e+01_rb,0.13890e+01_rb,0.13182e+01_rb,0.12547e+01_rb,0.12476e+01_rb, & & 0.12873e+01_rb,0.13056e+01_rb,0.13300e+01_rb,0.15181e+01_rb /) kao(:, 2, 3,12) = (/ & & 0.15752e+01_rb,0.13826e+01_rb,0.13120e+01_rb,0.12557e+01_rb,0.12556e+01_rb, & & 0.12906e+01_rb,0.13067e+01_rb,0.13310e+01_rb,0.15193e+01_rb /) kao(:, 3, 3,12) = (/ & & 0.15647e+01_rb,0.13732e+01_rb,0.13046e+01_rb,0.12538e+01_rb,0.12575e+01_rb, & & 0.12941e+01_rb,0.13084e+01_rb,0.13307e+01_rb,0.15193e+01_rb /) kao(:, 4, 3,12) = (/ & & 0.15514e+01_rb,0.13616e+01_rb,0.12950e+01_rb,0.12500e+01_rb,0.12556e+01_rb, & & 0.12989e+01_rb,0.13088e+01_rb,0.13292e+01_rb,0.15174e+01_rb /) kao(:, 5, 3,12) = (/ & & 0.15358e+01_rb,0.13480e+01_rb,0.12843e+01_rb,0.12443e+01_rb,0.12517e+01_rb, & & 0.13009e+01_rb,0.13074e+01_rb,0.13265e+01_rb,0.15142e+01_rb /) kao(:, 1, 4,12) = (/ & & 0.16350e+01_rb,0.14490e+01_rb,0.13916e+01_rb,0.13443e+01_rb,0.13174e+01_rb, & & 0.13244e+01_rb,0.13476e+01_rb,0.13365e+01_rb,0.15180e+01_rb /) kao(:, 2, 4,12) = (/ & & 0.16281e+01_rb,0.14425e+01_rb,0.13866e+01_rb,0.13479e+01_rb,0.13260e+01_rb, & & 0.13268e+01_rb,0.13503e+01_rb,0.13390e+01_rb,0.15205e+01_rb /) kao(:, 3, 4,12) = (/ & & 0.16161e+01_rb,0.14310e+01_rb,0.13789e+01_rb,0.13476e+01_rb,0.13293e+01_rb, & & 0.13314e+01_rb,0.13532e+01_rb,0.13408e+01_rb,0.15220e+01_rb /) kao(:, 4, 4,12) = (/ & & 0.16014e+01_rb,0.14178e+01_rb,0.13691e+01_rb,0.13444e+01_rb,0.13282e+01_rb, & & 0.13379e+01_rb,0.13534e+01_rb,0.13410e+01_rb,0.15212e+01_rb /) kao(:, 5, 4,12) = (/ & & 0.15848e+01_rb,0.14026e+01_rb,0.13577e+01_rb,0.13378e+01_rb,0.13257e+01_rb, & & 0.13408e+01_rb,0.13534e+01_rb,0.13387e+01_rb,0.15183e+01_rb /) kao(:, 1, 5,12) = (/ & & 0.16591e+01_rb,0.14947e+01_rb,0.14480e+01_rb,0.14262e+01_rb,0.13903e+01_rb, & & 0.13587e+01_rb,0.13777e+01_rb,0.13491e+01_rb,0.15046e+01_rb /) kao(:, 2, 5,12) = (/ & & 0.16509e+01_rb,0.14862e+01_rb,0.14440e+01_rb,0.14316e+01_rb,0.13991e+01_rb, & & 0.13598e+01_rb,0.13805e+01_rb,0.13541e+01_rb,0.15083e+01_rb /) kao(:, 3, 5,12) = (/ & & 0.16386e+01_rb,0.14750e+01_rb,0.14364e+01_rb,0.14307e+01_rb,0.14045e+01_rb, & & 0.13655e+01_rb,0.13826e+01_rb,0.13579e+01_rb,0.15118e+01_rb /) kao(:, 4, 5,12) = (/ & & 0.16229e+01_rb,0.14605e+01_rb,0.14277e+01_rb,0.14269e+01_rb,0.14036e+01_rb, & & 0.13722e+01_rb,0.13840e+01_rb,0.13579e+01_rb,0.15115e+01_rb /) kao(:, 5, 5,12) = (/ & & 0.16043e+01_rb,0.14439e+01_rb,0.14169e+01_rb,0.14203e+01_rb,0.14024e+01_rb, & & 0.13765e+01_rb,0.13831e+01_rb,0.13575e+01_rb,0.15115e+01_rb /) kao(:, 1, 6,12) = (/ & & 0.16482e+01_rb,0.15147e+01_rb,0.14918e+01_rb,0.14883e+01_rb,0.14555e+01_rb, & & 0.14030e+01_rb,0.13913e+01_rb,0.13585e+01_rb,0.14685e+01_rb /) kao(:, 2, 6,12) = (/ & & 0.16385e+01_rb,0.15059e+01_rb,0.14880e+01_rb,0.14958e+01_rb,0.14629e+01_rb, & & 0.14056e+01_rb,0.13940e+01_rb,0.13659e+01_rb,0.14762e+01_rb /) kao(:, 3, 6,12) = (/ & & 0.16253e+01_rb,0.14941e+01_rb,0.14803e+01_rb,0.14965e+01_rb,0.14689e+01_rb, & & 0.14106e+01_rb,0.13970e+01_rb,0.13717e+01_rb,0.14817e+01_rb /) kao(:, 4, 6,12) = (/ & & 0.16089e+01_rb,0.14791e+01_rb,0.14713e+01_rb,0.14908e+01_rb,0.14702e+01_rb, & & 0.14165e+01_rb,0.13983e+01_rb,0.13748e+01_rb,0.14851e+01_rb /) kao(:, 5, 6,12) = (/ & & 0.15910e+01_rb,0.14633e+01_rb,0.14618e+01_rb,0.14838e+01_rb,0.14693e+01_rb, & & 0.14213e+01_rb,0.13976e+01_rb,0.13770e+01_rb,0.14876e+01_rb /) kao(:, 1, 7,12) = (/ & & 0.16064e+01_rb,0.15086e+01_rb,0.15144e+01_rb,0.15268e+01_rb,0.15040e+01_rb, & & 0.14507e+01_rb,0.13904e+01_rb,0.13521e+01_rb,0.14179e+01_rb /) kao(:, 2, 7,12) = (/ & & 0.15953e+01_rb,0.14985e+01_rb,0.15140e+01_rb,0.15345e+01_rb,0.15085e+01_rb, & & 0.14549e+01_rb,0.13952e+01_rb,0.13604e+01_rb,0.14259e+01_rb /) kao(:, 3, 7,12) = (/ & & 0.15801e+01_rb,0.14851e+01_rb,0.15073e+01_rb,0.15363e+01_rb,0.15134e+01_rb, & & 0.14598e+01_rb,0.13998e+01_rb,0.13678e+01_rb,0.14328e+01_rb /) kao(:, 4, 7,12) = (/ & & 0.15629e+01_rb,0.14703e+01_rb,0.14995e+01_rb,0.15318e+01_rb,0.15172e+01_rb, & & 0.14656e+01_rb,0.14020e+01_rb,0.13732e+01_rb,0.14388e+01_rb /) kao(:, 5, 7,12) = (/ & & 0.15443e+01_rb,0.14531e+01_rb,0.14892e+01_rb,0.15236e+01_rb,0.15169e+01_rb, & & 0.14692e+01_rb,0.14038e+01_rb,0.13766e+01_rb,0.14425e+01_rb /) kao(:, 1, 8,12) = (/ & & 0.15344e+01_rb,0.14766e+01_rb,0.15157e+01_rb,0.15423e+01_rb,0.15330e+01_rb, & & 0.14811e+01_rb,0.13889e+01_rb,0.13373e+01_rb,0.13698e+01_rb /) kao(:, 2, 8,12) = (/ & & 0.15222e+01_rb,0.14679e+01_rb,0.15175e+01_rb,0.15473e+01_rb,0.15363e+01_rb, & & 0.14872e+01_rb,0.13948e+01_rb,0.13442e+01_rb,0.13786e+01_rb /) kao(:, 3, 8,12) = (/ & & 0.15059e+01_rb,0.14533e+01_rb,0.15144e+01_rb,0.15489e+01_rb,0.15409e+01_rb, & & 0.14932e+01_rb,0.14005e+01_rb,0.13518e+01_rb,0.13861e+01_rb /) kao(:, 4, 8,12) = (/ & & 0.14877e+01_rb,0.14368e+01_rb,0.15058e+01_rb,0.15451e+01_rb,0.15445e+01_rb, & & 0.14989e+01_rb,0.14044e+01_rb,0.13574e+01_rb,0.13922e+01_rb /) kao(:, 5, 8,12) = (/ & & 0.14686e+01_rb,0.14200e+01_rb,0.14953e+01_rb,0.15388e+01_rb,0.15447e+01_rb, & & 0.15024e+01_rb,0.14082e+01_rb,0.13605e+01_rb,0.13964e+01_rb /) kao(:, 1, 9,12) = (/ & & 0.14373e+01_rb,0.14266e+01_rb,0.14938e+01_rb,0.15367e+01_rb,0.15341e+01_rb, & & 0.14871e+01_rb,0.13939e+01_rb,0.13173e+01_rb,0.13285e+01_rb /) kao(:, 2, 9,12) = (/ & & 0.14250e+01_rb,0.14168e+01_rb,0.14968e+01_rb,0.15390e+01_rb,0.15386e+01_rb, & & 0.14934e+01_rb,0.13987e+01_rb,0.13260e+01_rb,0.13388e+01_rb /) kao(:, 3, 9,12) = (/ & & 0.14085e+01_rb,0.14020e+01_rb,0.14946e+01_rb,0.15393e+01_rb,0.15430e+01_rb, & & 0.14996e+01_rb,0.14050e+01_rb,0.13340e+01_rb,0.13471e+01_rb /) kao(:, 4, 9,12) = (/ & & 0.13898e+01_rb,0.13862e+01_rb,0.14874e+01_rb,0.15365e+01_rb,0.15469e+01_rb, & & 0.15061e+01_rb,0.14095e+01_rb,0.13387e+01_rb,0.13529e+01_rb /) kao(:, 5, 9,12) = (/ & & 0.13711e+01_rb,0.13694e+01_rb,0.14772e+01_rb,0.15321e+01_rb,0.15481e+01_rb, & & 0.15103e+01_rb,0.14136e+01_rb,0.13413e+01_rb,0.13557e+01_rb /) kao(:, 1,10,12) = (/ & & 0.13234e+01_rb,0.13585e+01_rb,0.14531e+01_rb,0.15073e+01_rb,0.15094e+01_rb, & & 0.14728e+01_rb,0.13972e+01_rb,0.12936e+01_rb,0.12835e+01_rb /) kao(:, 2,10,12) = (/ & & 0.13109e+01_rb,0.13494e+01_rb,0.14540e+01_rb,0.15085e+01_rb,0.15139e+01_rb, & & 0.14784e+01_rb,0.14019e+01_rb,0.13047e+01_rb,0.12968e+01_rb /) kao(:, 3,10,12) = (/ & & 0.12956e+01_rb,0.13371e+01_rb,0.14504e+01_rb,0.15092e+01_rb,0.15192e+01_rb, & & 0.14835e+01_rb,0.14094e+01_rb,0.13136e+01_rb,0.13076e+01_rb /) kao(:, 4,10,12) = (/ & & 0.12784e+01_rb,0.13237e+01_rb,0.14435e+01_rb,0.15071e+01_rb,0.15234e+01_rb, & & 0.14905e+01_rb,0.14145e+01_rb,0.13190e+01_rb,0.13139e+01_rb /) kao(:, 5,10,12) = (/ & & 0.12607e+01_rb,0.13090e+01_rb,0.14344e+01_rb,0.15038e+01_rb,0.15261e+01_rb, & & 0.14956e+01_rb,0.14181e+01_rb,0.13210e+01_rb,0.13178e+01_rb /) kao(:, 1,11,12) = (/ & & 0.12047e+01_rb,0.12789e+01_rb,0.13923e+01_rb,0.14530e+01_rb,0.14659e+01_rb, & & 0.14483e+01_rb,0.13898e+01_rb,0.12749e+01_rb,0.12386e+01_rb /) kao(:, 2,11,12) = (/ & & 0.11911e+01_rb,0.12701e+01_rb,0.13902e+01_rb,0.14549e+01_rb,0.14710e+01_rb, & & 0.14517e+01_rb,0.13981e+01_rb,0.12874e+01_rb,0.12546e+01_rb /) kao(:, 3,11,12) = (/ & & 0.11768e+01_rb,0.12599e+01_rb,0.13852e+01_rb,0.14552e+01_rb,0.14760e+01_rb, & & 0.14581e+01_rb,0.14056e+01_rb,0.12968e+01_rb,0.12644e+01_rb /) kao(:, 4,11,12) = (/ & & 0.11609e+01_rb,0.12491e+01_rb,0.13785e+01_rb,0.14542e+01_rb,0.14794e+01_rb, & & 0.14643e+01_rb,0.14106e+01_rb,0.13015e+01_rb,0.12707e+01_rb /) kao(:, 5,11,12) = (/ & & 0.11453e+01_rb,0.12370e+01_rb,0.13722e+01_rb,0.14526e+01_rb,0.14820e+01_rb, & & 0.14680e+01_rb,0.14139e+01_rb,0.13041e+01_rb,0.12775e+01_rb /) kao(:, 1,12,12) = (/ & & 0.10892e+01_rb,0.11978e+01_rb,0.13175e+01_rb,0.13800e+01_rb,0.14113e+01_rb, & & 0.14104e+01_rb,0.13697e+01_rb,0.12563e+01_rb,0.11895e+01_rb /) kao(:, 2,12,12) = (/ & & 0.10764e+01_rb,0.11912e+01_rb,0.13142e+01_rb,0.13828e+01_rb,0.14151e+01_rb, & & 0.14161e+01_rb,0.13800e+01_rb,0.12704e+01_rb,0.12046e+01_rb /) kao(:, 3,12,12) = (/ & & 0.10634e+01_rb,0.11835e+01_rb,0.13099e+01_rb,0.13835e+01_rb,0.14196e+01_rb, & & 0.14241e+01_rb,0.13887e+01_rb,0.12786e+01_rb,0.12148e+01_rb /) kao(:, 4,12,12) = (/ & & 0.10495e+01_rb,0.11751e+01_rb,0.13057e+01_rb,0.13846e+01_rb,0.14230e+01_rb, & & 0.14300e+01_rb,0.13945e+01_rb,0.12836e+01_rb,0.12244e+01_rb /) kao(:, 5,12,12) = (/ & & 0.10406e+01_rb,0.11650e+01_rb,0.13011e+01_rb,0.13864e+01_rb,0.14254e+01_rb, & & 0.14322e+01_rb,0.13980e+01_rb,0.12878e+01_rb,0.12342e+01_rb /) kao(:, 1,13,12) = (/ & & 0.97671e+00_rb,0.11194e+01_rb,0.12352e+01_rb,0.13029e+01_rb,0.13468e+01_rb, & & 0.13623e+01_rb,0.13355e+01_rb,0.12363e+01_rb,0.11351e+01_rb /) kao(:, 2,13,12) = (/ & & 0.96514e+00_rb,0.11135e+01_rb,0.12326e+01_rb,0.13049e+01_rb,0.13523e+01_rb, & & 0.13721e+01_rb,0.13488e+01_rb,0.12496e+01_rb,0.11500e+01_rb /) kao(:, 3,13,12) = (/ & & 0.95350e+00_rb,0.11073e+01_rb,0.12308e+01_rb,0.13063e+01_rb,0.13575e+01_rb, & & 0.13815e+01_rb,0.13588e+01_rb,0.12584e+01_rb,0.11629e+01_rb /) kao(:, 4,13,12) = (/ & & 0.94648e+00_rb,0.11002e+01_rb,0.12294e+01_rb,0.13087e+01_rb,0.13617e+01_rb, & & 0.13873e+01_rb,0.13660e+01_rb,0.12653e+01_rb,0.11761e+01_rb /) kao(:, 5,13,12) = (/ & & 0.94953e+00_rb,0.10941e+01_rb,0.12277e+01_rb,0.13116e+01_rb,0.13645e+01_rb, & & 0.13901e+01_rb,0.13713e+01_rb,0.12717e+01_rb,0.11896e+01_rb /) kao(:, 1, 1,13) = (/ & & 0.21877e+01_rb,0.19168e+01_rb,0.16830e+01_rb,0.16306e+01_rb,0.15763e+01_rb, & & 0.15398e+01_rb,0.15859e+01_rb,0.18468e+01_rb,0.20593e+01_rb /) kao(:, 2, 1,13) = (/ & & 0.22022e+01_rb,0.19296e+01_rb,0.16916e+01_rb,0.16400e+01_rb,0.15796e+01_rb, & & 0.15432e+01_rb,0.15912e+01_rb,0.18534e+01_rb,0.20655e+01_rb /) kao(:, 3, 1,13) = (/ & & 0.22022e+01_rb,0.19297e+01_rb,0.16911e+01_rb,0.16436e+01_rb,0.15885e+01_rb, & & 0.15469e+01_rb,0.15941e+01_rb,0.18569e+01_rb,0.20695e+01_rb /) kao(:, 4, 1,13) = (/ & & 0.21895e+01_rb,0.19186e+01_rb,0.16803e+01_rb,0.16425e+01_rb,0.15962e+01_rb, & & 0.15525e+01_rb,0.15947e+01_rb,0.18575e+01_rb,0.20703e+01_rb /) kao(:, 5, 1,13) = (/ & & 0.21697e+01_rb,0.19013e+01_rb,0.16648e+01_rb,0.16344e+01_rb,0.16003e+01_rb, & & 0.15574e+01_rb,0.15941e+01_rb,0.18572e+01_rb,0.20709e+01_rb /) kao(:, 1, 2,13) = (/ & & 0.22550e+01_rb,0.19753e+01_rb,0.17734e+01_rb,0.17443e+01_rb,0.17102e+01_rb, & & 0.16986e+01_rb,0.17217e+01_rb,0.19863e+01_rb,0.22329e+01_rb /) kao(:, 2, 2,13) = (/ & & 0.22679e+01_rb,0.19867e+01_rb,0.17791e+01_rb,0.17520e+01_rb,0.17112e+01_rb, & & 0.17026e+01_rb,0.17283e+01_rb,0.19934e+01_rb,0.22409e+01_rb /) kao(:, 3, 2,13) = (/ & & 0.22698e+01_rb,0.19883e+01_rb,0.17767e+01_rb,0.17568e+01_rb,0.17174e+01_rb, & & 0.17053e+01_rb,0.17318e+01_rb,0.19966e+01_rb,0.22448e+01_rb /) kao(:, 4, 2,13) = (/ & & 0.22597e+01_rb,0.19796e+01_rb,0.17668e+01_rb,0.17548e+01_rb,0.17261e+01_rb, & & 0.17073e+01_rb,0.17314e+01_rb,0.19968e+01_rb,0.22451e+01_rb /) kao(:, 5, 2,13) = (/ & & 0.22409e+01_rb,0.19632e+01_rb,0.17511e+01_rb,0.17475e+01_rb,0.17318e+01_rb, & & 0.17099e+01_rb,0.17295e+01_rb,0.19947e+01_rb,0.22431e+01_rb /) kao(:, 1, 3,13) = (/ & & 0.23526e+01_rb,0.20603e+01_rb,0.18829e+01_rb,0.18493e+01_rb,0.18420e+01_rb, & & 0.18637e+01_rb,0.18729e+01_rb,0.21122e+01_rb,0.23977e+01_rb /) kao(:, 2, 3,13) = (/ & & 0.23692e+01_rb,0.20749e+01_rb,0.18925e+01_rb,0.18515e+01_rb,0.18400e+01_rb, & & 0.18683e+01_rb,0.18793e+01_rb,0.21211e+01_rb,0.24079e+01_rb /) kao(:, 3, 3,13) = (/ & & 0.23722e+01_rb,0.20775e+01_rb,0.18924e+01_rb,0.18562e+01_rb,0.18451e+01_rb, & & 0.18704e+01_rb,0.18820e+01_rb,0.21249e+01_rb,0.24125e+01_rb /) kao(:, 4, 3,13) = (/ & & 0.23635e+01_rb,0.20699e+01_rb,0.18842e+01_rb,0.18555e+01_rb,0.18524e+01_rb, & & 0.18695e+01_rb,0.18827e+01_rb,0.21252e+01_rb,0.24130e+01_rb /) kao(:, 5, 3,13) = (/ & & 0.23480e+01_rb,0.20564e+01_rb,0.18701e+01_rb,0.18499e+01_rb,0.18587e+01_rb, & & 0.18689e+01_rb,0.18824e+01_rb,0.21250e+01_rb,0.24123e+01_rb /) kao(:, 1, 4,13) = (/ & & 0.24939e+01_rb,0.21837e+01_rb,0.20232e+01_rb,0.19589e+01_rb,0.19737e+01_rb, & & 0.20251e+01_rb,0.20263e+01_rb,0.22145e+01_rb,0.25248e+01_rb /) kao(:, 2, 4,13) = (/ & & 0.25110e+01_rb,0.21986e+01_rb,0.20314e+01_rb,0.19589e+01_rb,0.19697e+01_rb, & & 0.20307e+01_rb,0.20352e+01_rb,0.22253e+01_rb,0.25374e+01_rb /) kao(:, 3, 4,13) = (/ & & 0.25161e+01_rb,0.22032e+01_rb,0.20346e+01_rb,0.19625e+01_rb,0.19727e+01_rb, & & 0.20334e+01_rb,0.20403e+01_rb,0.22301e+01_rb,0.25429e+01_rb /) kao(:, 4, 4,13) = (/ & & 0.25095e+01_rb,0.21974e+01_rb,0.20283e+01_rb,0.19657e+01_rb,0.19780e+01_rb, & & 0.20313e+01_rb,0.20420e+01_rb,0.22330e+01_rb,0.25458e+01_rb /) kao(:, 5, 4,13) = (/ & & 0.24957e+01_rb,0.21853e+01_rb,0.20162e+01_rb,0.19613e+01_rb,0.19825e+01_rb, & & 0.20289e+01_rb,0.20423e+01_rb,0.22370e+01_rb,0.25500e+01_rb /) kao(:, 1, 5,13) = (/ & & 0.26637e+01_rb,0.23330e+01_rb,0.21864e+01_rb,0.20904e+01_rb,0.21013e+01_rb, & & 0.21699e+01_rb,0.21691e+01_rb,0.22859e+01_rb,0.26102e+01_rb /) kao(:, 2, 5,13) = (/ & & 0.26795e+01_rb,0.23466e+01_rb,0.21930e+01_rb,0.20883e+01_rb,0.21007e+01_rb, & & 0.21775e+01_rb,0.21807e+01_rb,0.22957e+01_rb,0.26216e+01_rb /) kao(:, 3, 5,13) = (/ & & 0.26872e+01_rb,0.23531e+01_rb,0.22001e+01_rb,0.20926e+01_rb,0.21029e+01_rb, & & 0.21797e+01_rb,0.21879e+01_rb,0.23020e+01_rb,0.26289e+01_rb /) kao(:, 4, 5,13) = (/ & & 0.26803e+01_rb,0.23471e+01_rb,0.21948e+01_rb,0.20970e+01_rb,0.21069e+01_rb, & & 0.21770e+01_rb,0.21901e+01_rb,0.23087e+01_rb,0.26364e+01_rb /) kao(:, 5, 5,13) = (/ & & 0.26667e+01_rb,0.23351e+01_rb,0.21832e+01_rb,0.20959e+01_rb,0.21091e+01_rb, & & 0.21729e+01_rb,0.21936e+01_rb,0.23158e+01_rb,0.26444e+01_rb /) kao(:, 1, 6,13) = (/ & & 0.28246e+01_rb,0.24844e+01_rb,0.23554e+01_rb,0.22494e+01_rb,0.22325e+01_rb, & & 0.22877e+01_rb,0.22925e+01_rb,0.23319e+01_rb,0.26619e+01_rb /) kao(:, 2, 6,13) = (/ & & 0.28376e+01_rb,0.24941e+01_rb,0.23589e+01_rb,0.22458e+01_rb,0.22369e+01_rb, & & 0.22959e+01_rb,0.23048e+01_rb,0.23408e+01_rb,0.26720e+01_rb /) kao(:, 3, 6,13) = (/ & & 0.28468e+01_rb,0.25010e+01_rb,0.23646e+01_rb,0.22473e+01_rb,0.22379e+01_rb, & & 0.22992e+01_rb,0.23116e+01_rb,0.23486e+01_rb,0.26812e+01_rb /) kao(:, 4, 6,13) = (/ & & 0.28432e+01_rb,0.24967e+01_rb,0.23643e+01_rb,0.22531e+01_rb,0.22409e+01_rb, & & 0.22981e+01_rb,0.23157e+01_rb,0.23572e+01_rb,0.26911e+01_rb /) kao(:, 5, 6,13) = (/ & & 0.28266e+01_rb,0.24816e+01_rb,0.23521e+01_rb,0.22549e+01_rb,0.22433e+01_rb, & & 0.22953e+01_rb,0.23213e+01_rb,0.23655e+01_rb,0.27010e+01_rb /) kao(:, 1, 7,13) = (/ & & 0.29507e+01_rb,0.26186e+01_rb,0.25154e+01_rb,0.24214e+01_rb,0.23698e+01_rb, & & 0.23809e+01_rb,0.23936e+01_rb,0.23723e+01_rb,0.26904e+01_rb /) kao(:, 2, 7,13) = (/ & & 0.29579e+01_rb,0.26218e+01_rb,0.25131e+01_rb,0.24179e+01_rb,0.23791e+01_rb, & & 0.23895e+01_rb,0.24036e+01_rb,0.23830e+01_rb,0.27026e+01_rb /) kao(:, 3, 7,13) = (/ & & 0.29645e+01_rb,0.26250e+01_rb,0.25156e+01_rb,0.24180e+01_rb,0.23828e+01_rb, & & 0.23929e+01_rb,0.24104e+01_rb,0.23923e+01_rb,0.27131e+01_rb /) kao(:, 4, 7,13) = (/ & & 0.29630e+01_rb,0.26222e+01_rb,0.25142e+01_rb,0.24231e+01_rb,0.23851e+01_rb, & & 0.23923e+01_rb,0.24170e+01_rb,0.24017e+01_rb,0.27241e+01_rb /) kao(:, 5, 7,13) = (/ & & 0.29476e+01_rb,0.26071e+01_rb,0.25053e+01_rb,0.24267e+01_rb,0.23855e+01_rb, & & 0.23922e+01_rb,0.24228e+01_rb,0.24116e+01_rb,0.27361e+01_rb /) kao(:, 1, 8,13) = (/ & & 0.30283e+01_rb,0.27271e+01_rb,0.26499e+01_rb,0.25812e+01_rb,0.25068e+01_rb, & & 0.24674e+01_rb,0.24700e+01_rb,0.24088e+01_rb,0.26873e+01_rb /) kao(:, 2, 8,13) = (/ & & 0.30302e+01_rb,0.27229e+01_rb,0.26429e+01_rb,0.25805e+01_rb,0.25199e+01_rb, & & 0.24758e+01_rb,0.24797e+01_rb,0.24223e+01_rb,0.27017e+01_rb /) kao(:, 3, 8,13) = (/ & & 0.30313e+01_rb,0.27198e+01_rb,0.26386e+01_rb,0.25814e+01_rb,0.25257e+01_rb, & & 0.24788e+01_rb,0.24874e+01_rb,0.24335e+01_rb,0.27156e+01_rb /) kao(:, 4, 8,13) = (/ & & 0.30296e+01_rb,0.27153e+01_rb,0.26358e+01_rb,0.25865e+01_rb,0.25285e+01_rb, & & 0.24798e+01_rb,0.24941e+01_rb,0.24451e+01_rb,0.27296e+01_rb /) kao(:, 5, 8,13) = (/ & & 0.30139e+01_rb,0.26994e+01_rb,0.26290e+01_rb,0.25893e+01_rb,0.25296e+01_rb, & & 0.24809e+01_rb,0.25004e+01_rb,0.24568e+01_rb,0.27436e+01_rb /) kao(:, 1, 9,13) = (/ & & 0.30493e+01_rb,0.27941e+01_rb,0.27550e+01_rb,0.27119e+01_rb,0.26405e+01_rb, & & 0.25561e+01_rb,0.25144e+01_rb,0.24302e+01_rb,0.26456e+01_rb /) kao(:, 2, 9,13) = (/ & & 0.30457e+01_rb,0.27865e+01_rb,0.27445e+01_rb,0.27145e+01_rb,0.26540e+01_rb, & & 0.25649e+01_rb,0.25264e+01_rb,0.24468e+01_rb,0.26636e+01_rb /) kao(:, 3, 9,13) = (/ & & 0.30433e+01_rb,0.27809e+01_rb,0.27367e+01_rb,0.27179e+01_rb,0.26606e+01_rb, & & 0.25683e+01_rb,0.25354e+01_rb,0.24613e+01_rb,0.26815e+01_rb /) kao(:, 4, 9,13) = (/ & & 0.30389e+01_rb,0.27734e+01_rb,0.27309e+01_rb,0.27229e+01_rb,0.26627e+01_rb, & & 0.25715e+01_rb,0.25441e+01_rb,0.24765e+01_rb,0.27005e+01_rb /) kao(:, 5, 9,13) = (/ & & 0.30246e+01_rb,0.27583e+01_rb,0.27239e+01_rb,0.27244e+01_rb,0.26642e+01_rb, & & 0.25740e+01_rb,0.25518e+01_rb,0.24921e+01_rb,0.27199e+01_rb /) kao(:, 1,10,13) = (/ & & 0.30121e+01_rb,0.28154e+01_rb,0.28201e+01_rb,0.28057e+01_rb,0.27531e+01_rb, & & 0.26438e+01_rb,0.25360e+01_rb,0.24395e+01_rb,0.25814e+01_rb /) kao(:, 2,10,13) = (/ & & 0.30058e+01_rb,0.28055e+01_rb,0.28091e+01_rb,0.28117e+01_rb,0.27659e+01_rb, & & 0.26536e+01_rb,0.25505e+01_rb,0.24578e+01_rb,0.26020e+01_rb /) kao(:, 3,10,13) = (/ & & 0.29984e+01_rb,0.27957e+01_rb,0.28033e+01_rb,0.28172e+01_rb,0.27717e+01_rb, & & 0.26597e+01_rb,0.25631e+01_rb,0.24765e+01_rb,0.26239e+01_rb /) kao(:, 4,10,13) = (/ & & 0.29909e+01_rb,0.27859e+01_rb,0.27980e+01_rb,0.28231e+01_rb,0.27737e+01_rb, & & 0.26641e+01_rb,0.25752e+01_rb,0.24953e+01_rb,0.26473e+01_rb /) kao(:, 5,10,13) = (/ & & 0.29757e+01_rb,0.27703e+01_rb,0.27906e+01_rb,0.28248e+01_rb,0.27751e+01_rb, & & 0.26687e+01_rb,0.25862e+01_rb,0.25141e+01_rb,0.26704e+01_rb /) kao(:, 1,11,13) = (/ & & 0.29105e+01_rb,0.27849e+01_rb,0.28418e+01_rb,0.28641e+01_rb,0.28368e+01_rb, & & 0.27205e+01_rb,0.25555e+01_rb,0.24401e+01_rb,0.25196e+01_rb /) kao(:, 2,11,13) = (/ & & 0.29013e+01_rb,0.27742e+01_rb,0.28363e+01_rb,0.28719e+01_rb,0.28460e+01_rb, & & 0.27321e+01_rb,0.25730e+01_rb,0.24607e+01_rb,0.25412e+01_rb /) kao(:, 3,11,13) = (/ & & 0.28911e+01_rb,0.27633e+01_rb,0.28321e+01_rb,0.28799e+01_rb,0.28506e+01_rb, & & 0.27417e+01_rb,0.25892e+01_rb,0.24813e+01_rb,0.25665e+01_rb /) kao(:, 4,11,13) = (/ & & 0.28805e+01_rb,0.27495e+01_rb,0.28275e+01_rb,0.28852e+01_rb,0.28551e+01_rb, & & 0.27503e+01_rb,0.26048e+01_rb,0.25023e+01_rb,0.25905e+01_rb /) kao(:, 5,11,13) = (/ & & 0.28607e+01_rb,0.27299e+01_rb,0.28179e+01_rb,0.28868e+01_rb,0.28597e+01_rb, & & 0.27578e+01_rb,0.26198e+01_rb,0.25207e+01_rb,0.26120e+01_rb /) kao(:, 1,12,13) = (/ & & 0.27583e+01_rb,0.27145e+01_rb,0.28231e+01_rb,0.28871e+01_rb,0.28764e+01_rb, & & 0.27674e+01_rb,0.25743e+01_rb,0.24278e+01_rb,0.24570e+01_rb /) kao(:, 2,12,13) = (/ & & 0.27477e+01_rb,0.27023e+01_rb,0.28226e+01_rb,0.28962e+01_rb,0.28884e+01_rb, & & 0.27832e+01_rb,0.25939e+01_rb,0.24483e+01_rb,0.24817e+01_rb /) kao(:, 3,12,13) = (/ & & 0.27363e+01_rb,0.26890e+01_rb,0.28229e+01_rb,0.29041e+01_rb,0.28966e+01_rb, & & 0.27972e+01_rb,0.26117e+01_rb,0.24706e+01_rb,0.25053e+01_rb /) kao(:, 4,12,13) = (/ & & 0.27215e+01_rb,0.26719e+01_rb,0.28199e+01_rb,0.29098e+01_rb,0.29044e+01_rb, & & 0.28097e+01_rb,0.26305e+01_rb,0.24926e+01_rb,0.25297e+01_rb /) kao(:, 5,12,13) = (/ & & 0.27019e+01_rb,0.26521e+01_rb,0.28123e+01_rb,0.29106e+01_rb,0.29127e+01_rb, & & 0.28234e+01_rb,0.26485e+01_rb,0.25112e+01_rb,0.25512e+01_rb /) kao(:, 1,13,13) = (/ & & 0.25703e+01_rb,0.26073e+01_rb,0.27736e+01_rb,0.28686e+01_rb,0.28762e+01_rb, & & 0.27819e+01_rb,0.25967e+01_rb,0.24069e+01_rb,0.23967e+01_rb /) kao(:, 2,13,13) = (/ & & 0.25597e+01_rb,0.25968e+01_rb,0.27777e+01_rb,0.28810e+01_rb,0.28904e+01_rb, & & 0.28011e+01_rb,0.26158e+01_rb,0.24298e+01_rb,0.24224e+01_rb /) kao(:, 3,13,13) = (/ & & 0.25492e+01_rb,0.25857e+01_rb,0.27800e+01_rb,0.28929e+01_rb,0.29040e+01_rb, & & 0.28202e+01_rb,0.26351e+01_rb,0.24527e+01_rb,0.24494e+01_rb /) kao(:, 4,13,13) = (/ & & 0.25336e+01_rb,0.25705e+01_rb,0.27801e+01_rb,0.29008e+01_rb,0.29182e+01_rb, & & 0.28403e+01_rb,0.26542e+01_rb,0.24758e+01_rb,0.24745e+01_rb /) kao(:, 5,13,13) = (/ & & 0.25174e+01_rb,0.25538e+01_rb,0.27760e+01_rb,0.29061e+01_rb,0.29321e+01_rb, & & 0.28592e+01_rb,0.26728e+01_rb,0.24954e+01_rb,0.24962e+01_rb /) kao(:, 1, 1,14) = (/ & & 0.34915e+01_rb,0.30588e+01_rb,0.26262e+01_rb,0.23144e+01_rb,0.22122e+01_rb, & & 0.21892e+01_rb,0.25558e+01_rb,0.29818e+01_rb,0.32991e+01_rb /) kao(:, 2, 1,14) = (/ & & 0.35009e+01_rb,0.30672e+01_rb,0.26335e+01_rb,0.23059e+01_rb,0.22071e+01_rb, & & 0.21796e+01_rb,0.25444e+01_rb,0.29683e+01_rb,0.32820e+01_rb /) kao(:, 3, 1,14) = (/ & & 0.35192e+01_rb,0.30832e+01_rb,0.26472e+01_rb,0.23037e+01_rb,0.22014e+01_rb, & & 0.21706e+01_rb,0.25342e+01_rb,0.29565e+01_rb,0.32692e+01_rb /) kao(:, 4, 1,14) = (/ & & 0.35462e+01_rb,0.31069e+01_rb,0.26676e+01_rb,0.23054e+01_rb,0.21967e+01_rb, & & 0.21619e+01_rb,0.25265e+01_rb,0.29475e+01_rb,0.32591e+01_rb /) kao(:, 5, 1,14) = (/ & & 0.35714e+01_rb,0.31290e+01_rb,0.26866e+01_rb,0.23141e+01_rb,0.21952e+01_rb, & & 0.21552e+01_rb,0.25228e+01_rb,0.29432e+01_rb,0.32501e+01_rb /) kao(:, 1, 2,14) = (/ & & 0.38742e+01_rb,0.33939e+01_rb,0.29135e+01_rb,0.26368e+01_rb,0.25318e+01_rb, & & 0.24566e+01_rb,0.27984e+01_rb,0.32648e+01_rb,0.36583e+01_rb /) kao(:, 2, 2,14) = (/ & & 0.38780e+01_rb,0.33972e+01_rb,0.29165e+01_rb,0.26245e+01_rb,0.25266e+01_rb, & & 0.24447e+01_rb,0.27836e+01_rb,0.32475e+01_rb,0.36397e+01_rb /) kao(:, 3, 2,14) = (/ & & 0.38887e+01_rb,0.34066e+01_rb,0.29246e+01_rb,0.26139e+01_rb,0.25181e+01_rb, & & 0.24355e+01_rb,0.27726e+01_rb,0.32346e+01_rb,0.36242e+01_rb /) kao(:, 4, 2,14) = (/ & & 0.39063e+01_rb,0.34220e+01_rb,0.29378e+01_rb,0.26094e+01_rb,0.25085e+01_rb, & & 0.24291e+01_rb,0.27676e+01_rb,0.32288e+01_rb,0.36150e+01_rb /) kao(:, 5, 2,14) = (/ & & 0.39241e+01_rb,0.34376e+01_rb,0.29511e+01_rb,0.26073e+01_rb,0.25021e+01_rb, & & 0.24243e+01_rb,0.27677e+01_rb,0.32289e+01_rb,0.36134e+01_rb /) kao(:, 1, 3,14) = (/ & & 0.42487e+01_rb,0.37216e+01_rb,0.32039e+01_rb,0.29799e+01_rb,0.28758e+01_rb, & & 0.27551e+01_rb,0.30498e+01_rb,0.35581e+01_rb,0.40304e+01_rb /) kao(:, 2, 3,14) = (/ & & 0.42439e+01_rb,0.37174e+01_rb,0.31977e+01_rb,0.29675e+01_rb,0.28698e+01_rb, & & 0.27440e+01_rb,0.30347e+01_rb,0.35405e+01_rb,0.40101e+01_rb /) kao(:, 3, 3,14) = (/ & & 0.42511e+01_rb,0.37238e+01_rb,0.32007e+01_rb,0.29528e+01_rb,0.28598e+01_rb, & & 0.27364e+01_rb,0.30269e+01_rb,0.35313e+01_rb,0.39978e+01_rb /) kao(:, 4, 3,14) = (/ & & 0.42624e+01_rb,0.37337e+01_rb,0.32078e+01_rb,0.29428e+01_rb,0.28469e+01_rb, & & 0.27311e+01_rb,0.30242e+01_rb,0.35281e+01_rb,0.39928e+01_rb /) kao(:, 5, 3,14) = (/ & & 0.42720e+01_rb,0.37420e+01_rb,0.32138e+01_rb,0.29343e+01_rb,0.28324e+01_rb, & & 0.27276e+01_rb,0.30224e+01_rb,0.35261e+01_rb,0.39910e+01_rb /) kao(:, 1, 4,14) = (/ & & 0.45954e+01_rb,0.40249e+01_rb,0.35022e+01_rb,0.33403e+01_rb,0.32328e+01_rb, & & 0.30833e+01_rb,0.33112e+01_rb,0.38621e+01_rb,0.43957e+01_rb /) kao(:, 2, 4,14) = (/ & & 0.45847e+01_rb,0.40157e+01_rb,0.34904e+01_rb,0.33265e+01_rb,0.32256e+01_rb, & & 0.30748e+01_rb,0.32975e+01_rb,0.38466e+01_rb,0.43773e+01_rb /) kao(:, 3, 4,14) = (/ & & 0.45864e+01_rb,0.40172e+01_rb,0.34822e+01_rb,0.33081e+01_rb,0.32132e+01_rb, & & 0.30693e+01_rb,0.32915e+01_rb,0.38399e+01_rb,0.43696e+01_rb /) kao(:, 4, 4,14) = (/ & & 0.45919e+01_rb,0.40220e+01_rb,0.34808e+01_rb,0.32873e+01_rb,0.31989e+01_rb, & & 0.30656e+01_rb,0.32892e+01_rb,0.38374e+01_rb,0.43666e+01_rb /) kao(:, 5, 4,14) = (/ & & 0.45961e+01_rb,0.40254e+01_rb,0.34809e+01_rb,0.32746e+01_rb,0.31817e+01_rb, & & 0.30639e+01_rb,0.32889e+01_rb,0.38370e+01_rb,0.43660e+01_rb /) kao(:, 1, 5,14) = (/ & & 0.49114e+01_rb,0.43012e+01_rb,0.38001e+01_rb,0.37007e+01_rb,0.36023e+01_rb, & & 0.34476e+01_rb,0.35973e+01_rb,0.41814e+01_rb,0.47692e+01_rb /) kao(:, 2, 5,14) = (/ & & 0.49023e+01_rb,0.42934e+01_rb,0.37862e+01_rb,0.36850e+01_rb,0.35912e+01_rb, & & 0.34412e+01_rb,0.35890e+01_rb,0.41727e+01_rb,0.47592e+01_rb /) kao(:, 3, 5,14) = (/ & & 0.48929e+01_rb,0.42852e+01_rb,0.37666e+01_rb,0.36647e+01_rb,0.35739e+01_rb, & & 0.34368e+01_rb,0.35843e+01_rb,0.41678e+01_rb,0.47530e+01_rb /) kao(:, 4, 5,14) = (/ & & 0.48957e+01_rb,0.42875e+01_rb,0.37577e+01_rb,0.36399e+01_rb,0.35570e+01_rb, & & 0.34352e+01_rb,0.35822e+01_rb,0.41658e+01_rb,0.47507e+01_rb /) kao(:, 5, 5,14) = (/ & & 0.48955e+01_rb,0.42870e+01_rb,0.37502e+01_rb,0.36181e+01_rb,0.35379e+01_rb, & & 0.34333e+01_rb,0.35807e+01_rb,0.41639e+01_rb,0.47483e+01_rb /) kao(:, 1, 6,14) = (/ & & 0.52336e+01_rb,0.45828e+01_rb,0.41059e+01_rb,0.40455e+01_rb,0.39709e+01_rb, & & 0.38438e+01_rb,0.39195e+01_rb,0.45101e+01_rb,0.51488e+01_rb /) kao(:, 2, 6,14) = (/ & & 0.52264e+01_rb,0.45766e+01_rb,0.40903e+01_rb,0.40272e+01_rb,0.39556e+01_rb, & & 0.38368e+01_rb,0.39154e+01_rb,0.45074e+01_rb,0.51460e+01_rb /) kao(:, 3, 6,14) = (/ & & 0.52116e+01_rb,0.45637e+01_rb,0.40682e+01_rb,0.40069e+01_rb,0.39387e+01_rb, & & 0.38311e+01_rb,0.39117e+01_rb,0.45034e+01_rb,0.51413e+01_rb /) kao(:, 4, 6,14) = (/ & & 0.52061e+01_rb,0.45585e+01_rb,0.40484e+01_rb,0.39793e+01_rb,0.39195e+01_rb, & & 0.38275e+01_rb,0.39110e+01_rb,0.45018e+01_rb,0.51396e+01_rb /) kao(:, 5, 6,14) = (/ & & 0.52033e+01_rb,0.45559e+01_rb,0.40356e+01_rb,0.39520e+01_rb,0.38983e+01_rb, & & 0.38238e+01_rb,0.39105e+01_rb,0.45008e+01_rb,0.51385e+01_rb /) kao(:, 1, 7,14) = (/ & & 0.55789e+01_rb,0.48845e+01_rb,0.44392e+01_rb,0.43787e+01_rb,0.43341e+01_rb, & & 0.42496e+01_rb,0.42580e+01_rb,0.48177e+01_rb,0.55034e+01_rb /) kao(:, 2, 7,14) = (/ & & 0.55750e+01_rb,0.48811e+01_rb,0.44216e+01_rb,0.43602e+01_rb,0.43147e+01_rb, & & 0.42460e+01_rb,0.42594e+01_rb,0.48202e+01_rb,0.55064e+01_rb /) kao(:, 3, 7,14) = (/ & & 0.55641e+01_rb,0.48716e+01_rb,0.43996e+01_rb,0.43387e+01_rb,0.42975e+01_rb, & & 0.42414e+01_rb,0.42613e+01_rb,0.48234e+01_rb,0.55098e+01_rb /) kao(:, 4, 7,14) = (/ & & 0.55497e+01_rb,0.48588e+01_rb,0.43740e+01_rb,0.43098e+01_rb,0.42767e+01_rb, & & 0.42365e+01_rb,0.42657e+01_rb,0.48283e+01_rb,0.55153e+01_rb /) kao(:, 5, 7,14) = (/ & & 0.55426e+01_rb,0.48524e+01_rb,0.43530e+01_rb,0.42800e+01_rb,0.42577e+01_rb, & & 0.42309e+01_rb,0.42668e+01_rb,0.48295e+01_rb,0.55168e+01_rb /) kao(:, 1, 8,14) = (/ & & 0.59399e+01_rb,0.51999e+01_rb,0.48042e+01_rb,0.47185e+01_rb,0.46865e+01_rb, & & 0.46496e+01_rb,0.46000e+01_rb,0.50897e+01_rb,0.58161e+01_rb /) kao(:, 2, 8,14) = (/ & & 0.59397e+01_rb,0.51999e+01_rb,0.47874e+01_rb,0.46998e+01_rb,0.46665e+01_rb, & & 0.46493e+01_rb,0.46097e+01_rb,0.50997e+01_rb,0.58275e+01_rb /) kao(:, 3, 8,14) = (/ & & 0.59349e+01_rb,0.51955e+01_rb,0.47656e+01_rb,0.46767e+01_rb,0.46485e+01_rb, & & 0.46473e+01_rb,0.46203e+01_rb,0.51120e+01_rb,0.58414e+01_rb /) kao(:, 4, 8,14) = (/ & & 0.59186e+01_rb,0.51811e+01_rb,0.47381e+01_rb,0.46470e+01_rb,0.46283e+01_rb, & & 0.46432e+01_rb,0.46335e+01_rb,0.51262e+01_rb,0.58574e+01_rb /) kao(:, 5, 8,14) = (/ & & 0.59097e+01_rb,0.51733e+01_rb,0.47110e+01_rb,0.46158e+01_rb,0.46095e+01_rb, & & 0.46379e+01_rb,0.46369e+01_rb,0.51321e+01_rb,0.58644e+01_rb /) kao(:, 1, 9,14) = (/ & & 0.63127e+01_rb,0.55322e+01_rb,0.51834e+01_rb,0.50691e+01_rb,0.50247e+01_rb, & & 0.50209e+01_rb,0.49367e+01_rb,0.53236e+01_rb,0.60842e+01_rb /) kao(:, 2, 9,14) = (/ & & 0.63183e+01_rb,0.55346e+01_rb,0.51727e+01_rb,0.50532e+01_rb,0.50080e+01_rb, & & 0.50274e+01_rb,0.49592e+01_rb,0.53436e+01_rb,0.61069e+01_rb /) kao(:, 3, 9,14) = (/ & & 0.63124e+01_rb,0.55272e+01_rb,0.51546e+01_rb,0.50297e+01_rb,0.49909e+01_rb, & & 0.50310e+01_rb,0.49812e+01_rb,0.53668e+01_rb,0.61332e+01_rb /) kao(:, 4, 9,14) = (/ & & 0.63001e+01_rb,0.55154e+01_rb,0.51286e+01_rb,0.50009e+01_rb,0.49750e+01_rb, & & 0.50299e+01_rb,0.49995e+01_rb,0.53888e+01_rb,0.61587e+01_rb /) kao(:, 5, 9,14) = (/ & & 0.62858e+01_rb,0.55023e+01_rb,0.50977e+01_rb,0.49708e+01_rb,0.49573e+01_rb, & & 0.50270e+01_rb,0.50058e+01_rb,0.53988e+01_rb,0.61697e+01_rb /) kao(:, 1,10,14) = (/ & & 0.66894e+01_rb,0.58832e+01_rb,0.55701e+01_rb,0.54237e+01_rb,0.53594e+01_rb, & & 0.53556e+01_rb,0.52686e+01_rb,0.55192e+01_rb,0.63037e+01_rb /) kao(:, 2,10,14) = (/ & & 0.66981e+01_rb,0.58851e+01_rb,0.55643e+01_rb,0.54120e+01_rb,0.53500e+01_rb, & & 0.53705e+01_rb,0.53019e+01_rb,0.55500e+01_rb,0.63389e+01_rb /) kao(:, 3,10,14) = (/ & & 0.66967e+01_rb,0.58795e+01_rb,0.55464e+01_rb,0.53921e+01_rb,0.53372e+01_rb, & & 0.53796e+01_rb,0.53288e+01_rb,0.55798e+01_rb,0.63734e+01_rb /) kao(:, 4,10,14) = (/ & & 0.66854e+01_rb,0.58646e+01_rb,0.55228e+01_rb,0.53676e+01_rb,0.53254e+01_rb, & & 0.53837e+01_rb,0.53529e+01_rb,0.56104e+01_rb,0.64086e+01_rb /) kao(:, 5,10,14) = (/ & & 0.66717e+01_rb,0.58486e+01_rb,0.54914e+01_rb,0.53392e+01_rb,0.53082e+01_rb, & & 0.53849e+01_rb,0.53627e+01_rb,0.56270e+01_rb,0.64281e+01_rb /) kao(:, 1,11,14) = (/ & & 0.70715e+01_rb,0.62495e+01_rb,0.59582e+01_rb,0.57869e+01_rb,0.56930e+01_rb, & & 0.56655e+01_rb,0.56036e+01_rb,0.57057e+01_rb,0.64838e+01_rb /) kao(:, 2,11,14) = (/ & & 0.70771e+01_rb,0.62459e+01_rb,0.59461e+01_rb,0.57734e+01_rb,0.56903e+01_rb, & & 0.56860e+01_rb,0.56380e+01_rb,0.57455e+01_rb,0.65310e+01_rb /) kao(:, 3,11,14) = (/ & & 0.70723e+01_rb,0.62337e+01_rb,0.59291e+01_rb,0.57507e+01_rb,0.56859e+01_rb, & & 0.56988e+01_rb,0.56691e+01_rb,0.57882e+01_rb,0.65837e+01_rb /) kao(:, 4,11,14) = (/ & & 0.70579e+01_rb,0.62141e+01_rb,0.59017e+01_rb,0.57243e+01_rb,0.56747e+01_rb, & & 0.57061e+01_rb,0.56917e+01_rb,0.58206e+01_rb,0.66248e+01_rb /) kao(:, 5,11,14) = (/ & & 0.70436e+01_rb,0.61942e+01_rb,0.58711e+01_rb,0.56953e+01_rb,0.56563e+01_rb, & & 0.57095e+01_rb,0.57007e+01_rb,0.58439e+01_rb,0.66547e+01_rb /) kao(:, 1,12,14) = (/ & & 0.73996e+01_rb,0.65875e+01_rb,0.63444e+01_rb,0.61468e+01_rb,0.60255e+01_rb, & & 0.59627e+01_rb,0.59009e+01_rb,0.58767e+01_rb,0.66113e+01_rb /) kao(:, 2,12,14) = (/ & & 0.74059e+01_rb,0.65818e+01_rb,0.63297e+01_rb,0.61319e+01_rb,0.60289e+01_rb, & & 0.59857e+01_rb,0.59393e+01_rb,0.59291e+01_rb,0.66795e+01_rb /) kao(:, 3,12,14) = (/ & & 0.73985e+01_rb,0.65639e+01_rb,0.63058e+01_rb,0.61104e+01_rb,0.60278e+01_rb, & & 0.60017e+01_rb,0.59765e+01_rb,0.59805e+01_rb,0.67466e+01_rb /) kao(:, 4,12,14) = (/ & & 0.73888e+01_rb,0.65439e+01_rb,0.62733e+01_rb,0.60850e+01_rb,0.60189e+01_rb, & & 0.60123e+01_rb,0.59968e+01_rb,0.60157e+01_rb,0.67935e+01_rb /) kao(:, 5,12,14) = (/ & & 0.73717e+01_rb,0.65185e+01_rb,0.62375e+01_rb,0.60536e+01_rb,0.59983e+01_rb, & & 0.60180e+01_rb,0.60067e+01_rb,0.60456e+01_rb,0.68365e+01_rb /) kao(:, 1,13,14) = (/ & & 0.76469e+01_rb,0.68731e+01_rb,0.66871e+01_rb,0.64997e+01_rb,0.63502e+01_rb, & & 0.62466e+01_rb,0.61469e+01_rb,0.60253e+01_rb,0.66908e+01_rb /) kao(:, 2,13,14) = (/ & & 0.76513e+01_rb,0.68603e+01_rb,0.66717e+01_rb,0.64853e+01_rb,0.63628e+01_rb, & & 0.62754e+01_rb,0.61942e+01_rb,0.60911e+01_rb,0.67781e+01_rb /) kao(:, 3,13,14) = (/ & & 0.76480e+01_rb,0.68404e+01_rb,0.66430e+01_rb,0.64664e+01_rb,0.63629e+01_rb, & & 0.62938e+01_rb,0.62370e+01_rb,0.61432e+01_rb,0.68460e+01_rb /) kao(:, 4,13,14) = (/ & & 0.76417e+01_rb,0.68180e+01_rb,0.66082e+01_rb,0.64389e+01_rb,0.63512e+01_rb, & & 0.63082e+01_rb,0.62633e+01_rb,0.61842e+01_rb,0.69071e+01_rb /) kao(:, 5,13,14) = (/ & & 0.76283e+01_rb,0.67918e+01_rb,0.65683e+01_rb,0.64071e+01_rb,0.63329e+01_rb, & & 0.63131e+01_rb,0.62779e+01_rb,0.62184e+01_rb,0.69616e+01_rb /) kao(:, 1, 1,15) = (/ & & 0.48056e+01_rb,0.42094e+01_rb,0.36132e+01_rb,0.30171e+01_rb,0.28404e+01_rb, & & 0.34490e+01_rb,0.41388e+01_rb,0.48284e+01_rb,0.52314e+01_rb /) kao(:, 2, 1,15) = (/ & & 0.48171e+01_rb,0.42194e+01_rb,0.36219e+01_rb,0.30243e+01_rb,0.28141e+01_rb, & & 0.34073e+01_rb,0.40887e+01_rb,0.47701e+01_rb,0.51637e+01_rb /) kao(:, 3, 1,15) = (/ & & 0.48231e+01_rb,0.42245e+01_rb,0.36259e+01_rb,0.30275e+01_rb,0.27871e+01_rb, & & 0.33709e+01_rb,0.40450e+01_rb,0.47190e+01_rb,0.51029e+01_rb /) kao(:, 4, 1,15) = (/ & & 0.48223e+01_rb,0.42236e+01_rb,0.36250e+01_rb,0.30265e+01_rb,0.27616e+01_rb, & & 0.33346e+01_rb,0.40014e+01_rb,0.46682e+01_rb,0.50473e+01_rb /) kao(:, 5, 1,15) = (/ & & 0.48164e+01_rb,0.42183e+01_rb,0.36202e+01_rb,0.30224e+01_rb,0.27378e+01_rb, & & 0.32980e+01_rb,0.39575e+01_rb,0.46170e+01_rb,0.49922e+01_rb /) kao(:, 1, 2,15) = (/ & & 0.56696e+01_rb,0.49649e+01_rb,0.42601e+01_rb,0.35603e+01_rb,0.33660e+01_rb, & & 0.40230e+01_rb,0.48275e+01_rb,0.56320e+01_rb,0.62204e+01_rb /) kao(:, 2, 2,15) = (/ & & 0.56853e+01_rb,0.49788e+01_rb,0.42721e+01_rb,0.35690e+01_rb,0.33370e+01_rb, & & 0.39815e+01_rb,0.47778e+01_rb,0.55740e+01_rb,0.61522e+01_rb /) kao(:, 3, 2,15) = (/ & & 0.56912e+01_rb,0.49841e+01_rb,0.42769e+01_rb,0.35723e+01_rb,0.33088e+01_rb, & & 0.39404e+01_rb,0.47285e+01_rb,0.55164e+01_rb,0.60886e+01_rb /) kao(:, 4, 2,15) = (/ & & 0.56900e+01_rb,0.49829e+01_rb,0.42759e+01_rb,0.35705e+01_rb,0.32819e+01_rb, & & 0.38975e+01_rb,0.46769e+01_rb,0.54563e+01_rb,0.60227e+01_rb /) kao(:, 5, 2,15) = (/ & & 0.56828e+01_rb,0.49765e+01_rb,0.42703e+01_rb,0.35653e+01_rb,0.32552e+01_rb, & & 0.38520e+01_rb,0.46223e+01_rb,0.53926e+01_rb,0.59537e+01_rb /) kao(:, 1, 3,15) = (/ & & 0.66640e+01_rb,0.58345e+01_rb,0.50050e+01_rb,0.41960e+01_rb,0.39837e+01_rb, & & 0.46765e+01_rb,0.56117e+01_rb,0.65468e+01_rb,0.73624e+01_rb /) kao(:, 2, 3,15) = (/ & & 0.66851e+01_rb,0.58530e+01_rb,0.50209e+01_rb,0.42035e+01_rb,0.39538e+01_rb, & & 0.46274e+01_rb,0.55528e+01_rb,0.64781e+01_rb,0.72849e+01_rb /) kao(:, 3, 3,15) = (/ & & 0.66916e+01_rb,0.58588e+01_rb,0.50261e+01_rb,0.42046e+01_rb,0.39240e+01_rb, & & 0.45763e+01_rb,0.54915e+01_rb,0.64066e+01_rb,0.72060e+01_rb /) kao(:, 4, 3,15) = (/ & & 0.66884e+01_rb,0.58563e+01_rb,0.50241e+01_rb,0.42004e+01_rb,0.38957e+01_rb, & & 0.45225e+01_rb,0.54270e+01_rb,0.63313e+01_rb,0.71219e+01_rb /) kao(:, 5, 3,15) = (/ & & 0.66766e+01_rb,0.58462e+01_rb,0.50163e+01_rb,0.41933e+01_rb,0.38675e+01_rb, & & 0.44702e+01_rb,0.53642e+01_rb,0.62581e+01_rb,0.70387e+01_rb /) kao(:, 1, 4,15) = (/ & & 0.77848e+01_rb,0.68149e+01_rb,0.58451e+01_rb,0.49331e+01_rb,0.46977e+01_rb, & & 0.54033e+01_rb,0.64839e+01_rb,0.75644e+01_rb,0.85830e+01_rb /) kao(:, 2, 4,15) = (/ & & 0.78108e+01_rb,0.68377e+01_rb,0.58646e+01_rb,0.49375e+01_rb,0.46695e+01_rb, & & 0.53453e+01_rb,0.64143e+01_rb,0.74831e+01_rb,0.84915e+01_rb /) kao(:, 3, 4,15) = (/ & & 0.78236e+01_rb,0.68489e+01_rb,0.58743e+01_rb,0.49373e+01_rb,0.46417e+01_rb, & & 0.52821e+01_rb,0.63384e+01_rb,0.73947e+01_rb,0.83915e+01_rb /) kao(:, 4, 4,15) = (/ & & 0.78238e+01_rb,0.68493e+01_rb,0.58748e+01_rb,0.49301e+01_rb,0.46103e+01_rb, & & 0.52166e+01_rb,0.62599e+01_rb,0.73031e+01_rb,0.82871e+01_rb /) kao(:, 5, 4,15) = (/ & & 0.78090e+01_rb,0.68373e+01_rb,0.58658e+01_rb,0.49180e+01_rb,0.45786e+01_rb, & & 0.51516e+01_rb,0.61819e+01_rb,0.72121e+01_rb,0.81837e+01_rb /) kao(:, 1, 5,15) = (/ & & 0.90367e+01_rb,0.79101e+01_rb,0.67835e+01_rb,0.57840e+01_rb,0.55090e+01_rb, & & 0.61816e+01_rb,0.74174e+01_rb,0.86536e+01_rb,0.98560e+01_rb /) kao(:, 2, 5,15) = (/ & & 0.90658e+01_rb,0.79355e+01_rb,0.68052e+01_rb,0.57840e+01_rb,0.54825e+01_rb, & & 0.61122e+01_rb,0.73329e+01_rb,0.85548e+01_rb,0.97452e+01_rb /) kao(:, 3, 5,15) = (/ & & 0.90837e+01_rb,0.79512e+01_rb,0.68188e+01_rb,0.57766e+01_rb,0.54581e+01_rb, & & 0.60426e+01_rb,0.72485e+01_rb,0.84564e+01_rb,0.96328e+01_rb /) kao(:, 4, 5,15) = (/ & & 0.90830e+01_rb,0.79510e+01_rb,0.68192e+01_rb,0.57645e+01_rb,0.54297e+01_rb, & & 0.59729e+01_rb,0.71644e+01_rb,0.83583e+01_rb,0.95205e+01_rb /) kao(:, 5, 5,15) = (/ & & 0.90677e+01_rb,0.79386e+01_rb,0.68094e+01_rb,0.57479e+01_rb,0.53962e+01_rb, & & 0.58998e+01_rb,0.70740e+01_rb,0.82528e+01_rb,0.94008e+01_rb /) kao(:, 1, 6,15) = (/ & & 0.10412e+02_rb,0.91128e+01_rb,0.78140e+01_rb,0.67504e+01_rb,0.64389e+01_rb, & & 0.70217e+01_rb,0.83899e+01_rb,0.97882e+01_rb,0.11168e+02_rb /) kao(:, 2, 6,15) = (/ & & 0.10449e+02_rb,0.91451e+01_rb,0.78417e+01_rb,0.67466e+01_rb,0.64110e+01_rb, & & 0.69507e+01_rb,0.82964e+01_rb,0.96789e+01_rb,0.11043e+02_rb /) kao(:, 3, 6,15) = (/ & & 0.10469e+02_rb,0.91634e+01_rb,0.78574e+01_rb,0.67323e+01_rb,0.63834e+01_rb, & & 0.68804e+01_rb,0.82097e+01_rb,0.95778e+01_rb,0.10928e+02_rb /) kao(:, 4, 6,15) = (/ & & 0.10466e+02_rb,0.91614e+01_rb,0.78568e+01_rb,0.67135e+01_rb,0.63530e+01_rb, & & 0.68083e+01_rb,0.81167e+01_rb,0.94694e+01_rb,0.10805e+02_rb /) kao(:, 5, 6,15) = (/ & & 0.10450e+02_rb,0.91481e+01_rb,0.78461e+01_rb,0.66866e+01_rb,0.63182e+01_rb, & & 0.67317e+01_rb,0.80175e+01_rb,0.93536e+01_rb,0.10671e+02_rb /) kao(:, 1, 7,15) = (/ & & 0.11882e+02_rb,0.10399e+02_rb,0.89166e+01_rb,0.78253e+01_rb,0.74792e+01_rb, & & 0.79512e+01_rb,0.94202e+01_rb,0.10990e+02_rb,0.12550e+02_rb /) kao(:, 2, 7,15) = (/ & & 0.11932e+02_rb,0.10443e+02_rb,0.89541e+01_rb,0.78202e+01_rb,0.74549e+01_rb, & & 0.78754e+01_rb,0.93207e+01_rb,0.10874e+02_rb,0.12417e+02_rb /) kao(:, 3, 7,15) = (/ & & 0.11956e+02_rb,0.10464e+02_rb,0.89727e+01_rb,0.78020e+01_rb,0.74258e+01_rb, & & 0.78051e+01_rb,0.92218e+01_rb,0.10758e+02_rb,0.12285e+02_rb /) kao(:, 4, 7,15) = (/ & & 0.11956e+02_rb,0.10465e+02_rb,0.89740e+01_rb,0.77736e+01_rb,0.73912e+01_rb, & & 0.77319e+01_rb,0.91108e+01_rb,0.10629e+02_rb,0.12138e+02_rb /) kao(:, 5, 7,15) = (/ & & 0.11934e+02_rb,0.10446e+02_rb,0.89587e+01_rb,0.77346e+01_rb,0.73464e+01_rb, & & 0.76503e+01_rb,0.90007e+01_rb,0.10501e+02_rb,0.11991e+02_rb /) kao(:, 1, 8,15) = (/ & & 0.13440e+02_rb,0.11762e+02_rb,0.10084e+02_rb,0.90134e+01_rb,0.86298e+01_rb, & & 0.89787e+01_rb,0.10509e+02_rb,0.12260e+02_rb,0.14008e+02_rb /) kao(:, 2, 8,15) = (/ & & 0.13496e+02_rb,0.11811e+02_rb,0.10127e+02_rb,0.90042e+01_rb,0.86075e+01_rb, & & 0.89016e+01_rb,0.10401e+02_rb,0.12134e+02_rb,0.13863e+02_rb /) kao(:, 3, 8,15) = (/ & & 0.13522e+02_rb,0.11835e+02_rb,0.10148e+02_rb,0.89806e+01_rb,0.85777e+01_rb, & & 0.88306e+01_rb,0.10284e+02_rb,0.11998e+02_rb,0.13707e+02_rb /) kao(:, 4, 8,15) = (/ & & 0.13526e+02_rb,0.11839e+02_rb,0.10151e+02_rb,0.89422e+01_rb,0.85378e+01_rb, & & 0.87510e+01_rb,0.10150e+02_rb,0.11842e+02_rb,0.13529e+02_rb /) kao(:, 5, 8,15) = (/ & & 0.13498e+02_rb,0.11814e+02_rb,0.10131e+02_rb,0.88918e+01_rb,0.84819e+01_rb, & & 0.86621e+01_rb,0.10028e+02_rb,0.11700e+02_rb,0.13367e+02_rb /) kao(:, 1, 9,15) = (/ & & 0.15050e+02_rb,0.13171e+02_rb,0.11325e+02_rb,0.10314e+02_rb,0.98844e+01_rb, & & 0.10113e+02_rb,0.11655e+02_rb,0.13598e+02_rb,0.15538e+02_rb /) kao(:, 2, 9,15) = (/ & & 0.15110e+02_rb,0.13224e+02_rb,0.11358e+02_rb,0.10290e+02_rb,0.98636e+01_rb, & & 0.10034e+02_rb,0.11528e+02_rb,0.13449e+02_rb,0.15369e+02_rb /) kao(:, 3, 9,15) = (/ & & 0.15142e+02_rb,0.13253e+02_rb,0.11372e+02_rb,0.10253e+02_rb,0.98329e+01_rb, & & 0.99565e+01_rb,0.11387e+02_rb,0.13285e+02_rb,0.15182e+02_rb /) kao(:, 4, 9,15) = (/ & & 0.15140e+02_rb,0.13251e+02_rb,0.11368e+02_rb,0.10200e+02_rb,0.97822e+01_rb, & & 0.98656e+01_rb,0.11236e+02_rb,0.13109e+02_rb,0.14981e+02_rb /) kao(:, 5, 9,15) = (/ & & 0.15112e+02_rb,0.13227e+02_rb,0.11344e+02_rb,0.10134e+02_rb,0.97132e+01_rb, & & 0.97634e+01_rb,0.11104e+02_rb,0.12955e+02_rb,0.14806e+02_rb /) kao(:, 1,10,15) = (/ & & 0.16679e+02_rb,0.14596e+02_rb,0.12639e+02_rb,0.11713e+02_rb,0.11234e+02_rb, & & 0.11344e+02_rb,0.12833e+02_rb,0.14972e+02_rb,0.17110e+02_rb /) kao(:, 2,10,15) = (/ & & 0.16740e+02_rb,0.14649e+02_rb,0.12658e+02_rb,0.11669e+02_rb,0.11203e+02_rb, & & 0.11257e+02_rb,0.12688e+02_rb,0.14803e+02_rb,0.16918e+02_rb /) kao(:, 3,10,15) = (/ & & 0.16768e+02_rb,0.14675e+02_rb,0.12658e+02_rb,0.11609e+02_rb,0.11161e+02_rb, & & 0.11169e+02_rb,0.12530e+02_rb,0.14619e+02_rb,0.16708e+02_rb /) kao(:, 4,10,15) = (/ & & 0.16761e+02_rb,0.14669e+02_rb,0.12632e+02_rb,0.11528e+02_rb,0.11096e+02_rb, & & 0.11064e+02_rb,0.12360e+02_rb,0.14420e+02_rb,0.16480e+02_rb /) kao(:, 5,10,15) = (/ & & 0.16723e+02_rb,0.14636e+02_rb,0.12592e+02_rb,0.11437e+02_rb,0.11017e+02_rb, & & 0.10938e+02_rb,0.12210e+02_rb,0.14245e+02_rb,0.16279e+02_rb /) kao(:, 1,11,15) = (/ & & 0.18294e+02_rb,0.16009e+02_rb,0.13989e+02_rb,0.13135e+02_rb,0.12643e+02_rb, & & 0.12628e+02_rb,0.13972e+02_rb,0.16290e+02_rb,0.18616e+02_rb /) kao(:, 2,11,15) = (/ & & 0.18347e+02_rb,0.16056e+02_rb,0.13990e+02_rb,0.13069e+02_rb,0.12593e+02_rb, & & 0.12524e+02_rb,0.13808e+02_rb,0.16097e+02_rb,0.18396e+02_rb /) kao(:, 3,11,15) = (/ & & 0.18360e+02_rb,0.16067e+02_rb,0.13961e+02_rb,0.12977e+02_rb,0.12519e+02_rb, & & 0.12404e+02_rb,0.13621e+02_rb,0.15875e+02_rb,0.18143e+02_rb /) kao(:, 4,11,15) = (/ & & 0.18335e+02_rb,0.16046e+02_rb,0.13912e+02_rb,0.12870e+02_rb,0.12428e+02_rb, & & 0.12262e+02_rb,0.13438e+02_rb,0.15668e+02_rb,0.17906e+02_rb /) kao(:, 5,11,15) = (/ & & 0.18275e+02_rb,0.15994e+02_rb,0.13835e+02_rb,0.12741e+02_rb,0.12318e+02_rb, & & 0.12107e+02_rb,0.13269e+02_rb,0.15473e+02_rb,0.17684e+02_rb /) kao(:, 1,12,15) = (/ & & 0.19924e+02_rb,0.17435e+02_rb,0.15328e+02_rb,0.14570e+02_rb,0.14103e+02_rb, & & 0.13966e+02_rb,0.15137e+02_rb,0.17574e+02_rb,0.20085e+02_rb /) kao(:, 2,12,15) = (/ & & 0.19952e+02_rb,0.17460e+02_rb,0.15303e+02_rb,0.14472e+02_rb,0.14016e+02_rb, & & 0.13836e+02_rb,0.14951e+02_rb,0.17356e+02_rb,0.19836e+02_rb /) kao(:, 3,12,15) = (/ & & 0.19950e+02_rb,0.17459e+02_rb,0.15252e+02_rb,0.14354e+02_rb,0.13911e+02_rb, & & 0.13674e+02_rb,0.14736e+02_rb,0.17121e+02_rb,0.19567e+02_rb /) kao(:, 4,12,15) = (/ & & 0.19898e+02_rb,0.17414e+02_rb,0.15172e+02_rb,0.14207e+02_rb,0.13782e+02_rb, & & 0.13496e+02_rb,0.14540e+02_rb,0.16905e+02_rb,0.19321e+02_rb /) kao(:, 5,12,15) = (/ & & 0.19813e+02_rb,0.17339e+02_rb,0.15067e+02_rb,0.14045e+02_rb,0.13635e+02_rb, & & 0.13302e+02_rb,0.14349e+02_rb,0.16691e+02_rb,0.19076e+02_rb /) kao(:, 1,13,15) = (/ & & 0.21582e+02_rb,0.18886e+02_rb,0.16708e+02_rb,0.15984e+02_rb,0.15578e+02_rb, & & 0.15338e+02_rb,0.16324e+02_rb,0.18812e+02_rb,0.21500e+02_rb /) kao(:, 2,13,15) = (/ & & 0.21595e+02_rb,0.18898e+02_rb,0.16645e+02_rb,0.15860e+02_rb,0.15448e+02_rb, & & 0.15169e+02_rb,0.16117e+02_rb,0.18583e+02_rb,0.21237e+02_rb /) kao(:, 3,13,15) = (/ & & 0.21561e+02_rb,0.18868e+02_rb,0.16562e+02_rb,0.15696e+02_rb,0.15303e+02_rb, & & 0.14968e+02_rb,0.15881e+02_rb,0.18352e+02_rb,0.20974e+02_rb /) kao(:, 4,13,15) = (/ & & 0.21483e+02_rb,0.18800e+02_rb,0.16445e+02_rb,0.15517e+02_rb,0.15132e+02_rb, & & 0.14742e+02_rb,0.15661e+02_rb,0.18119e+02_rb,0.20709e+02_rb /) kao(:, 5,13,15) = (/ & & 0.21359e+02_rb,0.18692e+02_rb,0.16307e+02_rb,0.15310e+02_rb,0.14932e+02_rb, & & 0.14513e+02_rb,0.15442e+02_rb,0.17892e+02_rb,0.20448e+02_rb /) kao(:, 1, 1,16) = (/ & & 0.54900e+01_rb,0.48060e+01_rb,0.41232e+01_rb,0.34422e+01_rb,0.34870e+01_rb, & & 0.43588e+01_rb,0.52305e+01_rb,0.61020e+01_rb,0.65047e+01_rb /) kao(:, 2, 1,16) = (/ & & 0.54959e+01_rb,0.48102e+01_rb,0.41246e+01_rb,0.34396e+01_rb,0.34389e+01_rb, & & 0.42986e+01_rb,0.51583e+01_rb,0.60178e+01_rb,0.64181e+01_rb /) kao(:, 3, 1,16) = (/ & & 0.54964e+01_rb,0.48111e+01_rb,0.41257e+01_rb,0.34404e+01_rb,0.33906e+01_rb, & & 0.42383e+01_rb,0.50859e+01_rb,0.59334e+01_rb,0.63255e+01_rb /) kao(:, 4, 1,16) = (/ & & 0.54872e+01_rb,0.48032e+01_rb,0.41193e+01_rb,0.34354e+01_rb,0.33485e+01_rb, & & 0.41856e+01_rb,0.50227e+01_rb,0.58596e+01_rb,0.62437e+01_rb /) kao(:, 5, 1,16) = (/ & & 0.54677e+01_rb,0.47864e+01_rb,0.41051e+01_rb,0.34238e+01_rb,0.33099e+01_rb, & & 0.41373e+01_rb,0.49647e+01_rb,0.57920e+01_rb,0.61726e+01_rb /) kao(:, 1, 2,16) = (/ & & 0.65993e+01_rb,0.57796e+01_rb,0.49604e+01_rb,0.41421e+01_rb,0.42011e+01_rb, & & 0.52514e+01_rb,0.63014e+01_rb,0.73516e+01_rb,0.80279e+01_rb /) kao(:, 2, 2,16) = (/ & & 0.66032e+01_rb,0.57810e+01_rb,0.49597e+01_rb,0.41395e+01_rb,0.41430e+01_rb, & & 0.51787e+01_rb,0.62144e+01_rb,0.72499e+01_rb,0.79170e+01_rb /) kao(:, 3, 2,16) = (/ & & 0.66114e+01_rb,0.57864e+01_rb,0.49618e+01_rb,0.41380e+01_rb,0.40849e+01_rb, & & 0.51061e+01_rb,0.61273e+01_rb,0.71483e+01_rb,0.78058e+01_rb /) kao(:, 4, 2,16) = (/ & & 0.66055e+01_rb,0.57814e+01_rb,0.49573e+01_rb,0.41341e+01_rb,0.40341e+01_rb, & & 0.50426e+01_rb,0.60510e+01_rb,0.70593e+01_rb,0.77043e+01_rb /) kao(:, 5, 2,16) = (/ & & 0.65867e+01_rb,0.57651e+01_rb,0.49435e+01_rb,0.41221e+01_rb,0.39863e+01_rb, & & 0.49829e+01_rb,0.59794e+01_rb,0.69758e+01_rb,0.76124e+01_rb /) kao(:, 1, 3,16) = (/ & & 0.79380e+01_rb,0.69526e+01_rb,0.59676e+01_rb,0.49832e+01_rb,0.50788e+01_rb, & & 0.63485e+01_rb,0.76181e+01_rb,0.88875e+01_rb,0.99377e+01_rb /) kao(:, 2, 3,16) = (/ & & 0.79519e+01_rb,0.69640e+01_rb,0.59765e+01_rb,0.49895e+01_rb,0.50033e+01_rb, & & 0.62541e+01_rb,0.75048e+01_rb,0.87554e+01_rb,0.97869e+01_rb /) kao(:, 3, 3,16) = (/ & & 0.79564e+01_rb,0.69660e+01_rb,0.59762e+01_rb,0.49871e+01_rb,0.49341e+01_rb, & & 0.61676e+01_rb,0.74011e+01_rb,0.86343e+01_rb,0.96531e+01_rb /) kao(:, 4, 3,16) = (/ & & 0.79604e+01_rb,0.69678e+01_rb,0.59753e+01_rb,0.49833e+01_rb,0.48716e+01_rb, & & 0.60895e+01_rb,0.73073e+01_rb,0.85250e+01_rb,0.95280e+01_rb /) kao(:, 5, 3,16) = (/ & & 0.79454e+01_rb,0.69546e+01_rb,0.59641e+01_rb,0.49739e+01_rb,0.48117e+01_rb, & & 0.60146e+01_rb,0.72174e+01_rb,0.84201e+01_rb,0.94106e+01_rb /) kao(:, 1, 4,16) = (/ & & 0.95482e+01_rb,0.83619e+01_rb,0.71758e+01_rb,0.59904e+01_rb,0.61617e+01_rb, & & 0.77021e+01_rb,0.92425e+01_rb,0.10783e+02_rb,0.12199e+02_rb /) kao(:, 2, 4,16) = (/ & & 0.95751e+01_rb,0.83849e+01_rb,0.71952e+01_rb,0.60057e+01_rb,0.60507e+01_rb, & & 0.75634e+01_rb,0.90760e+01_rb,0.10588e+02_rb,0.11979e+02_rb /) kao(:, 3, 4,16) = (/ & & 0.95851e+01_rb,0.83928e+01_rb,0.72008e+01_rb,0.60093e+01_rb,0.59519e+01_rb, & & 0.74398e+01_rb,0.89277e+01_rb,0.10415e+02_rb,0.11784e+02_rb /) kao(:, 4, 4,16) = (/ & & 0.95899e+01_rb,0.83956e+01_rb,0.72016e+01_rb,0.60083e+01_rb,0.58751e+01_rb, & & 0.73438e+01_rb,0.88125e+01_rb,0.10281e+02_rb,0.11628e+02_rb /) kao(:, 5, 4,16) = (/ & & 0.95802e+01_rb,0.83858e+01_rb,0.71919e+01_rb,0.59984e+01_rb,0.58004e+01_rb, & & 0.72505e+01_rb,0.87005e+01_rb,0.10150e+02_rb,0.11482e+02_rb /) kao(:, 1, 5,16) = (/ & & 0.11467e+02_rb,0.10041e+02_rb,0.86153e+01_rb,0.71899e+01_rb,0.74662e+01_rb, & & 0.93327e+01_rb,0.11199e+02_rb,0.13065e+02_rb,0.14858e+02_rb /) kao(:, 2, 5,16) = (/ & & 0.11518e+02_rb,0.10085e+02_rb,0.86526e+01_rb,0.72201e+01_rb,0.73208e+01_rb, & & 0.91509e+01_rb,0.10981e+02_rb,0.12811e+02_rb,0.14568e+02_rb /) kao(:, 3, 5,16) = (/ & & 0.11535e+02_rb,0.10099e+02_rb,0.86636e+01_rb,0.72282e+01_rb,0.71844e+01_rb, & & 0.89805e+01_rb,0.10776e+02_rb,0.12572e+02_rb,0.14298e+02_rb /) kao(:, 4, 5,16) = (/ & & 0.11542e+02_rb,0.10105e+02_rb,0.86677e+01_rb,0.72309e+01_rb,0.70636e+01_rb, & & 0.88295e+01_rb,0.10595e+02_rb,0.12361e+02_rb,0.14056e+02_rb /) kao(:, 5, 5,16) = (/ & & 0.11528e+02_rb,0.10092e+02_rb,0.86561e+01_rb,0.72209e+01_rb,0.69634e+01_rb, & & 0.87042e+01_rb,0.10445e+02_rb,0.12185e+02_rb,0.13857e+02_rb /) kao(:, 1, 6,16) = (/ & & 0.13743e+02_rb,0.12032e+02_rb,0.10321e+02_rb,0.86104e+01_rb,0.90301e+01_rb, & & 0.11288e+02_rb,0.13545e+02_rb,0.15802e+02_rb,0.18010e+02_rb /) kao(:, 2, 6,16) = (/ & & 0.13809e+02_rb,0.12090e+02_rb,0.10370e+02_rb,0.86513e+01_rb,0.88422e+01_rb, & & 0.11053e+02_rb,0.13263e+02_rb,0.15473e+02_rb,0.17638e+02_rb /) kao(:, 3, 6,16) = (/ & & 0.13850e+02_rb,0.12125e+02_rb,0.10400e+02_rb,0.86753e+01_rb,0.86607e+01_rb, & & 0.10826e+02_rb,0.12991e+02_rb,0.15156e+02_rb,0.17275e+02_rb /) kao(:, 4, 6,16) = (/ & & 0.13866e+02_rb,0.12138e+02_rb,0.10411e+02_rb,0.86837e+01_rb,0.84930e+01_rb, & & 0.10616e+02_rb,0.12739e+02_rb,0.14862e+02_rb,0.16940e+02_rb /) kao(:, 5, 6,16) = (/ & & 0.13850e+02_rb,0.12124e+02_rb,0.10399e+02_rb,0.86732e+01_rb,0.83442e+01_rb, & & 0.10430e+02_rb,0.12516e+02_rb,0.14602e+02_rb,0.16644e+02_rb /) kao(:, 1, 7,16) = (/ & & 0.16450e+02_rb,0.14400e+02_rb,0.12350e+02_rb,0.10300e+02_rb,0.10874e+02_rb, & & 0.13593e+02_rb,0.16311e+02_rb,0.19030e+02_rb,0.21722e+02_rb /) kao(:, 2, 7,16) = (/ & & 0.16525e+02_rb,0.14465e+02_rb,0.12405e+02_rb,0.10346e+02_rb,0.10632e+02_rb, & & 0.13290e+02_rb,0.15948e+02_rb,0.18606e+02_rb,0.21239e+02_rb /) kao(:, 3, 7,16) = (/ & & 0.16563e+02_rb,0.14499e+02_rb,0.12434e+02_rb,0.10370e+02_rb,0.10395e+02_rb, & & 0.12994e+02_rb,0.15592e+02_rb,0.18191e+02_rb,0.20762e+02_rb /) kao(:, 4, 7,16) = (/ & & 0.16590e+02_rb,0.14522e+02_rb,0.12454e+02_rb,0.10386e+02_rb,0.10172e+02_rb, & & 0.12715e+02_rb,0.15258e+02_rb,0.17801e+02_rb,0.20317e+02_rb /) kao(:, 5, 7,16) = (/ & & 0.16576e+02_rb,0.14509e+02_rb,0.12443e+02_rb,0.10377e+02_rb,0.99688e+01_rb, & & 0.12461e+02_rb,0.14953e+02_rb,0.17445e+02_rb,0.19913e+02_rb /) kao(:, 1, 8,16) = (/ & & 0.19629e+02_rb,0.17181e+02_rb,0.14733e+02_rb,0.12285e+02_rb,0.13022e+02_rb, & & 0.16277e+02_rb,0.19532e+02_rb,0.22787e+02_rb,0.26029e+02_rb /) kao(:, 2, 8,16) = (/ & & 0.19728e+02_rb,0.17267e+02_rb,0.14807e+02_rb,0.12346e+02_rb,0.12711e+02_rb, & & 0.15888e+02_rb,0.19066e+02_rb,0.22243e+02_rb,0.25406e+02_rb /) kao(:, 3, 8,16) = (/ & & 0.19768e+02_rb,0.17302e+02_rb,0.14837e+02_rb,0.12371e+02_rb,0.12399e+02_rb, & & 0.15499e+02_rb,0.18599e+02_rb,0.21698e+02_rb,0.24782e+02_rb /) kao(:, 4, 8,16) = (/ & & 0.19773e+02_rb,0.17307e+02_rb,0.14840e+02_rb,0.12374e+02_rb,0.12111e+02_rb, & & 0.15139e+02_rb,0.18167e+02_rb,0.21194e+02_rb,0.24210e+02_rb /) kao(:, 5, 8,16) = (/ & & 0.19744e+02_rb,0.17281e+02_rb,0.14818e+02_rb,0.12356e+02_rb,0.11840e+02_rb, & & 0.14800e+02_rb,0.17760e+02_rb,0.20720e+02_rb,0.23667e+02_rb /) kao(:, 1, 9,16) = (/ & & 0.23312e+02_rb,0.20403e+02_rb,0.17494e+02_rb,0.14584e+02_rb,0.15488e+02_rb, & & 0.19360e+02_rb,0.23231e+02_rb,0.27103e+02_rb,0.30970e+02_rb /) kao(:, 2, 9,16) = (/ & & 0.23439e+02_rb,0.20514e+02_rb,0.17588e+02_rb,0.14663e+02_rb,0.15085e+02_rb, & & 0.18856e+02_rb,0.22627e+02_rb,0.26397e+02_rb,0.30166e+02_rb /) kao(:, 3, 9,16) = (/ & & 0.23492e+02_rb,0.20560e+02_rb,0.17628e+02_rb,0.14696e+02_rb,0.14687e+02_rb, & & 0.18356e+02_rb,0.22027e+02_rb,0.25697e+02_rb,0.29367e+02_rb /) kao(:, 4, 9,16) = (/ & & 0.23479e+02_rb,0.20549e+02_rb,0.17619e+02_rb,0.14689e+02_rb,0.14321e+02_rb, & & 0.17895e+02_rb,0.21474e+02_rb,0.25052e+02_rb,0.28629e+02_rb /) kao(:, 5, 9,16) = (/ & & 0.23411e+02_rb,0.20489e+02_rb,0.17567e+02_rb,0.14646e+02_rb,0.13982e+02_rb, & & 0.17451e+02_rb,0.20941e+02_rb,0.24431e+02_rb,0.27917e+02_rb /) kao(:, 1,10,16) = (/ & & 0.27592e+02_rb,0.24147e+02_rb,0.20702e+02_rb,0.17264e+02_rb,0.18240e+02_rb, & & 0.22793e+02_rb,0.27352e+02_rb,0.31910e+02_rb,0.36473e+02_rb /) kao(:, 2,10,16) = (/ & & 0.27703e+02_rb,0.24245e+02_rb,0.20786e+02_rb,0.17327e+02_rb,0.17749e+02_rb, & & 0.22147e+02_rb,0.26577e+02_rb,0.31006e+02_rb,0.35436e+02_rb /) kao(:, 3,10,16) = (/ & & 0.27743e+02_rb,0.24279e+02_rb,0.20816e+02_rb,0.17352e+02_rb,0.17266e+02_rb, & & 0.21525e+02_rb,0.25830e+02_rb,0.30134e+02_rb,0.34441e+02_rb /) kao(:, 4,10,16) = (/ & & 0.27709e+02_rb,0.24250e+02_rb,0.20790e+02_rb,0.17331e+02_rb,0.16811e+02_rb, & & 0.20946e+02_rb,0.25135e+02_rb,0.29324e+02_rb,0.33510e+02_rb /) kao(:, 5,10,16) = (/ & & 0.27598e+02_rb,0.24153e+02_rb,0.20707e+02_rb,0.17262e+02_rb,0.16378e+02_rb, & & 0.20388e+02_rb,0.24466e+02_rb,0.28543e+02_rb,0.32622e+02_rb /) kao(:, 1,11,16) = (/ & & 0.32570e+02_rb,0.28502e+02_rb,0.24434e+02_rb,0.20393e+02_rb,0.21083e+02_rb, & & 0.26245e+02_rb,0.31494e+02_rb,0.36742e+02_rb,0.41994e+02_rb /) kao(:, 2,11,16) = (/ & & 0.32601e+02_rb,0.28529e+02_rb,0.24458e+02_rb,0.20386e+02_rb,0.20492e+02_rb, & & 0.25469e+02_rb,0.30563e+02_rb,0.35657e+02_rb,0.40747e+02_rb /) kao(:, 3,11,16) = (/ & & 0.32535e+02_rb,0.28472e+02_rb,0.24408e+02_rb,0.20345e+02_rb,0.19916e+02_rb, & & 0.24733e+02_rb,0.29679e+02_rb,0.34625e+02_rb,0.39568e+02_rb /) kao(:, 4,11,16) = (/ & & 0.32390e+02_rb,0.28345e+02_rb,0.24301e+02_rb,0.20256e+02_rb,0.19358e+02_rb, & & 0.24023e+02_rb,0.28827e+02_rb,0.33631e+02_rb,0.38435e+02_rb /) kao(:, 5,11,16) = (/ & & 0.32175e+02_rb,0.28157e+02_rb,0.24140e+02_rb,0.20122e+02_rb,0.18819e+02_rb, & & 0.23330e+02_rb,0.27996e+02_rb,0.32661e+02_rb,0.37328e+02_rb /) kao(:, 1,12,16) = (/ & & 0.38135e+02_rb,0.33371e+02_rb,0.28607e+02_rb,0.23891e+02_rb,0.24203e+02_rb, & & 0.29981e+02_rb,0.35977e+02_rb,0.41973e+02_rb,0.47971e+02_rb /) kao(:, 2,12,16) = (/ & & 0.38033e+02_rb,0.33282e+02_rb,0.28531e+02_rb,0.23779e+02_rb,0.23491e+02_rb, & & 0.29038e+02_rb,0.34845e+02_rb,0.40652e+02_rb,0.46464e+02_rb /) kao(:, 3,12,16) = (/ & & 0.37806e+02_rb,0.33084e+02_rb,0.28361e+02_rb,0.23639e+02_rb,0.22788e+02_rb, & & 0.28150e+02_rb,0.33780e+02_rb,0.39409e+02_rb,0.45036e+02_rb /) kao(:, 4,12,16) = (/ & & 0.37497e+02_rb,0.32813e+02_rb,0.28129e+02_rb,0.23446e+02_rb,0.22100e+02_rb, & & 0.27270e+02_rb,0.32724e+02_rb,0.38179e+02_rb,0.43632e+02_rb /) kao(:, 5,12,16) = (/ & & 0.37099e+02_rb,0.32465e+02_rb,0.27831e+02_rb,0.23198e+02_rb,0.21440e+02_rb, & & 0.26398e+02_rb,0.31678e+02_rb,0.36957e+02_rb,0.42237e+02_rb /) kao(:, 1,13,16) = (/ & & 0.44217e+02_rb,0.38692e+02_rb,0.33167e+02_rb,0.27730e+02_rb,0.27605e+02_rb, & & 0.33969e+02_rb,0.40763e+02_rb,0.47556e+02_rb,0.54352e+02_rb /) kao(:, 2,13,16) = (/ & & 0.43915e+02_rb,0.38428e+02_rb,0.32941e+02_rb,0.27455e+02_rb,0.26738e+02_rb, & & 0.32787e+02_rb,0.39345e+02_rb,0.45901e+02_rb,0.52455e+02_rb /) kao(:, 3,13,16) = (/ & & 0.43489e+02_rb,0.38055e+02_rb,0.32622e+02_rb,0.27188e+02_rb,0.25861e+02_rb, & & 0.31686e+02_rb,0.38022e+02_rb,0.44359e+02_rb,0.50700e+02_rb /) kao(:, 4,13,16) = (/ & & 0.42951e+02_rb,0.37585e+02_rb,0.32219e+02_rb,0.26853e+02_rb,0.25006e+02_rb, & & 0.30590e+02_rb,0.36708e+02_rb,0.42826e+02_rb,0.48946e+02_rb /) kao(:, 5,13,16) = (/ & & 0.42298e+02_rb,0.37013e+02_rb,0.31729e+02_rb,0.26445e+02_rb,0.24180e+02_rb, & & 0.29511e+02_rb,0.35413e+02_rb,0.41314e+02_rb,0.47218e+02_rb /) ! ----------------------------------------------------------------- ! The array KBO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels < ~100mb and temperatures. The first ! index in the array, JT, which runs from 1 to 5, corresponds to ! different temperatures. More specifically, JT = 3 means that the ! data are for the reference temperature TREF for this pressure ! level, JT = 2 refers to the temperature TREF-15, JT = 1 is for ! TREF-30, JT = 4 is for TREF+15, and JT = 5 is for TREF+30. ! The second index, JP, runs from 13 to 59 and refers to the JPth ! reference pressure level (see taumol.f for the value of these ! pressure levels in mb). The third index, IG, goes from 1 to 16, ! and tells us which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kbo(:, 1,13, 1) = (/ & & 0.40633e-08_rb,0.64718e-06_rb,0.79567e-06_rb,0.81264e-06_rb,0.25080e-07_rb /) kbo(:, 2,13, 1) = (/ & & 0.37596e-08_rb,0.70429e-06_rb,0.90855e-06_rb,0.96432e-06_rb,0.28292e-07_rb /) kbo(:, 3,13, 1) = (/ & & 0.34982e-08_rb,0.76370e-06_rb,0.10316e-05_rb,0.11472e-05_rb,0.31265e-07_rb /) kbo(:, 4,13, 1) = (/ & & 0.32707e-08_rb,0.82834e-06_rb,0.11577e-05_rb,0.13387e-05_rb,0.34928e-07_rb /) kbo(:, 5,13, 1) = (/ & & 0.30710e-08_rb,0.90252e-06_rb,0.12962e-05_rb,0.15206e-05_rb,0.38859e-07_rb /) kbo(:, 1,14, 1) = (/ & & 0.33026e-08_rb,0.53592e-06_rb,0.66171e-06_rb,0.67633e-06_rb,0.20767e-07_rb /) kbo(:, 2,14, 1) = (/ & & 0.30574e-08_rb,0.57959e-06_rb,0.75386e-06_rb,0.80395e-06_rb,0.23334e-07_rb /) kbo(:, 3,14, 1) = (/ & & 0.28461e-08_rb,0.62897e-06_rb,0.85486e-06_rb,0.95745e-06_rb,0.25841e-07_rb /) kbo(:, 4,14, 1) = (/ & & 0.26621e-08_rb,0.68352e-06_rb,0.96132e-06_rb,0.11148e-05_rb,0.28862e-07_rb /) kbo(:, 5,14, 1) = (/ & & 0.25005e-08_rb,0.74517e-06_rb,0.10739e-05_rb,0.12632e-05_rb,0.32093e-07_rb /) kbo(:, 1,15, 1) = (/ & & 0.26821e-08_rb,0.44081e-06_rb,0.55093e-06_rb,0.56465e-06_rb,0.17186e-07_rb /) kbo(:, 2,15, 1) = (/ & & 0.24845e-08_rb,0.47773e-06_rb,0.62636e-06_rb,0.67180e-06_rb,0.19234e-07_rb /) kbo(:, 3,15, 1) = (/ & & 0.23140e-08_rb,0.51811e-06_rb,0.70791e-06_rb,0.79658e-06_rb,0.21348e-07_rb /) kbo(:, 4,15, 1) = (/ & & 0.21654e-08_rb,0.56416e-06_rb,0.79893e-06_rb,0.92873e-06_rb,0.23832e-07_rb /) kbo(:, 5,15, 1) = (/ & & 0.20347e-08_rb,0.61535e-06_rb,0.88985e-06_rb,0.10499e-05_rb,0.26485e-07_rb /) kbo(:, 1,16, 1) = (/ & & 0.21775e-08_rb,0.36254e-06_rb,0.45870e-06_rb,0.47125e-06_rb,0.14211e-07_rb /) kbo(:, 2,16, 1) = (/ & & 0.20183e-08_rb,0.39376e-06_rb,0.52053e-06_rb,0.56163e-06_rb,0.15869e-07_rb /) kbo(:, 3,16, 1) = (/ & & 0.18808e-08_rb,0.42687e-06_rb,0.58699e-06_rb,0.66386e-06_rb,0.17627e-07_rb /) kbo(:, 4,16, 1) = (/ & & 0.17608e-08_rb,0.46559e-06_rb,0.66388e-06_rb,0.77063e-06_rb,0.19664e-07_rb /) kbo(:, 5,16, 1) = (/ & & 0.16552e-08_rb,0.50747e-06_rb,0.73699e-06_rb,0.87249e-06_rb,0.21844e-07_rb /) kbo(:, 1,17, 1) = (/ & & 0.17682e-08_rb,0.29836e-06_rb,0.38104e-06_rb,0.39314e-06_rb,0.11735e-07_rb /) kbo(:, 2,17, 1) = (/ & & 0.16399e-08_rb,0.32493e-06_rb,0.43215e-06_rb,0.46897e-06_rb,0.13077e-07_rb /) kbo(:, 3,17, 1) = (/ & & 0.15290e-08_rb,0.35203e-06_rb,0.48665e-06_rb,0.55328e-06_rb,0.14535e-07_rb /) kbo(:, 4,17, 1) = (/ & & 0.14321e-08_rb,0.38383e-06_rb,0.55033e-06_rb,0.63844e-06_rb,0.16208e-07_rb /) kbo(:, 5,17, 1) = (/ & & 0.13468e-08_rb,0.41822e-06_rb,0.60950e-06_rb,0.72376e-06_rb,0.17995e-07_rb /) kbo(:, 1,18, 1) = (/ & & 0.14362e-08_rb,0.24560e-06_rb,0.31667e-06_rb,0.32797e-06_rb,0.96831e-08_rb /) kbo(:, 2,18, 1) = (/ & & 0.13327e-08_rb,0.26784e-06_rb,0.35872e-06_rb,0.39134e-06_rb,0.10773e-07_rb /) kbo(:, 3,18, 1) = (/ & & 0.12432e-08_rb,0.29008e-06_rb,0.40334e-06_rb,0.46026e-06_rb,0.11980e-07_rb /) kbo(:, 4,18, 1) = (/ & & 0.11650e-08_rb,0.31637e-06_rb,0.45583e-06_rb,0.52880e-06_rb,0.13350e-07_rb /) kbo(:, 5,18, 1) = (/ & & 0.10960e-08_rb,0.34503e-06_rb,0.50363e-06_rb,0.59967e-06_rb,0.14815e-07_rb /) kbo(:, 1,19, 1) = (/ & & 0.11667e-08_rb,0.20231e-06_rb,0.26313e-06_rb,0.27359e-06_rb,0.79934e-08_rb /) kbo(:, 2,19, 1) = (/ & & 0.10833e-08_rb,0.22085e-06_rb,0.29760e-06_rb,0.32620e-06_rb,0.88807e-08_rb /) kbo(:, 3,19, 1) = (/ & & 0.10110e-08_rb,0.23912e-06_rb,0.33423e-06_rb,0.38271e-06_rb,0.98771e-08_rb /) kbo(:, 4,19, 1) = (/ & & 0.94778e-09_rb,0.26073e-06_rb,0.37685e-06_rb,0.43791e-06_rb,0.11002e-07_rb /) kbo(:, 5,19, 1) = (/ & & 0.89198e-09_rb,0.28425e-06_rb,0.41589e-06_rb,0.49682e-06_rb,0.12204e-07_rb /) kbo(:, 1,20, 1) = (/ & & 0.94668e-09_rb,0.16735e-06_rb,0.21822e-06_rb,0.22914e-06_rb,0.66237e-08_rb /) kbo(:, 2,20, 1) = (/ & & 0.87956e-09_rb,0.18255e-06_rb,0.24770e-06_rb,0.27290e-06_rb,0.73470e-08_rb /) kbo(:, 3,20, 1) = (/ & & 0.82132e-09_rb,0.19776e-06_rb,0.27786e-06_rb,0.31913e-06_rb,0.81732e-08_rb /) kbo(:, 4,20, 1) = (/ & & 0.77032e-09_rb,0.21557e-06_rb,0.31197e-06_rb,0.36380e-06_rb,0.91019e-08_rb /) kbo(:, 5,20, 1) = (/ & & 0.72528e-09_rb,0.23458e-06_rb,0.34449e-06_rb,0.41257e-06_rb,0.10084e-07_rb /) kbo(:, 1,21, 1) = (/ & & 0.76809e-09_rb,0.13858e-06_rb,0.18138e-06_rb,0.19188e-06_rb,0.54929e-08_rb /) kbo(:, 2,21, 1) = (/ & & 0.71408e-09_rb,0.15088e-06_rb,0.20614e-06_rb,0.22835e-06_rb,0.60825e-08_rb /) kbo(:, 3,21, 1) = (/ & & 0.66717e-09_rb,0.16366e-06_rb,0.23111e-06_rb,0.26622e-06_rb,0.67680e-08_rb /) kbo(:, 4,21, 1) = (/ & & 0.62605e-09_rb,0.17816e-06_rb,0.25834e-06_rb,0.30242e-06_rb,0.75344e-08_rb /) kbo(:, 5,21, 1) = (/ & & 0.58970e-09_rb,0.19374e-06_rb,0.28542e-06_rb,0.34222e-06_rb,0.83394e-08_rb /) kbo(:, 1,22, 1) = (/ & & 0.62013e-09_rb,0.11547e-06_rb,0.15212e-06_rb,0.16227e-06_rb,0.45926e-08_rb /) kbo(:, 2,22, 1) = (/ & & 0.57709e-09_rb,0.12552e-06_rb,0.17211e-06_rb,0.19265e-06_rb,0.50728e-08_rb /) kbo(:, 3,22, 1) = (/ & & 0.53964e-09_rb,0.13619e-06_rb,0.19363e-06_rb,0.22402e-06_rb,0.56454e-08_rb /) kbo(:, 4,22, 1) = (/ & & 0.50675e-09_rb,0.14805e-06_rb,0.21557e-06_rb,0.25320e-06_rb,0.62805e-08_rb /) kbo(:, 5,22, 1) = (/ & & 0.47764e-09_rb,0.16097e-06_rb,0.23799e-06_rb,0.28574e-06_rb,0.69414e-08_rb /) kbo(:, 1,23, 1) = (/ & & 0.50055e-09_rb,0.96165e-07_rb,0.12776e-06_rb,0.13752e-06_rb,0.37933e-08_rb /) kbo(:, 2,23, 1) = (/ & & 0.46627e-09_rb,0.10421e-06_rb,0.14387e-06_rb,0.16226e-06_rb,0.42154e-08_rb /) kbo(:, 3,23, 1) = (/ & & 0.43638e-09_rb,0.11320e-06_rb,0.16240e-06_rb,0.18806e-06_rb,0.46761e-08_rb /) kbo(:, 4,23, 1) = (/ & & 0.41009e-09_rb,0.12312e-06_rb,0.18002e-06_rb,0.21214e-06_rb,0.51724e-08_rb /) kbo(:, 5,23, 1) = (/ & & 0.38679e-09_rb,0.13380e-06_rb,0.19835e-06_rb,0.23836e-06_rb,0.56863e-08_rb /) kbo(:, 1,24, 1) = (/ & & 0.40384e-09_rb,0.80174e-07_rb,0.10742e-06_rb,0.11665e-06_rb,0.31435e-08_rb /) kbo(:, 2,24, 1) = (/ & & 0.37656e-09_rb,0.86611e-07_rb,0.12062e-06_rb,0.13694e-06_rb,0.34746e-08_rb /) kbo(:, 3,24, 1) = (/ & & 0.35273e-09_rb,0.94203e-07_rb,0.13610e-06_rb,0.15729e-06_rb,0.38586e-08_rb /) kbo(:, 4,24, 1) = (/ & & 0.33174e-09_rb,0.10246e-06_rb,0.15035e-06_rb,0.17775e-06_rb,0.42707e-08_rb /) kbo(:, 5,24, 1) = (/ & & 0.31310e-09_rb,0.11122e-06_rb,0.16543e-06_rb,0.19917e-06_rb,0.47020e-08_rb /) kbo(:, 1,25, 1) = (/ & & 0.32562e-09_rb,0.66785e-07_rb,0.90447e-07_rb,0.99059e-07_rb,0.26134e-08_rb /) kbo(:, 2,25, 1) = (/ & & 0.30393e-09_rb,0.72133e-07_rb,0.10139e-06_rb,0.11571e-06_rb,0.28872e-08_rb /) kbo(:, 3,25, 1) = (/ & & 0.28495e-09_rb,0.78448e-07_rb,0.11385e-06_rb,0.13178e-06_rb,0.32061e-08_rb /) kbo(:, 4,25, 1) = (/ & & 0.26821e-09_rb,0.85339e-07_rb,0.12563e-06_rb,0.14914e-06_rb,0.35489e-08_rb /) kbo(:, 5,25, 1) = (/ & & 0.25332e-09_rb,0.92445e-07_rb,0.13814e-06_rb,0.16674e-06_rb,0.39060e-08_rb /) kbo(:, 1,26, 1) = (/ & & 0.26224e-09_rb,0.55680e-07_rb,0.76369e-07_rb,0.84400e-07_rb,0.21759e-08_rb /) kbo(:, 2,26, 1) = (/ & & 0.24504e-09_rb,0.60204e-07_rb,0.85423e-07_rb,0.97885e-07_rb,0.24118e-08_rb /) kbo(:, 3,26, 1) = (/ & & 0.22996e-09_rb,0.65477e-07_rb,0.95321e-07_rb,0.11093e-06_rb,0.26774e-08_rb /) kbo(:, 4,26, 1) = (/ & & 0.21663e-09_rb,0.71188e-07_rb,0.10529e-06_rb,0.12544e-06_rb,0.29615e-08_rb /) kbo(:, 5,26, 1) = (/ & & 0.20475e-09_rb,0.76940e-07_rb,0.11556e-06_rb,0.13977e-06_rb,0.32569e-08_rb /) kbo(:, 1,27, 1) = (/ & & 0.21120e-09_rb,0.46382e-07_rb,0.63894e-07_rb,0.71379e-07_rb,0.18178e-08_rb /) kbo(:, 2,27, 1) = (/ & & 0.19756e-09_rb,0.50278e-07_rb,0.72033e-07_rb,0.82909e-07_rb,0.20181e-08_rb /) kbo(:, 3,27, 1) = (/ & & 0.18557e-09_rb,0.54670e-07_rb,0.79953e-07_rb,0.93505e-07_rb,0.22396e-08_rb /) kbo(:, 4,27, 1) = (/ & & 0.17496e-09_rb,0.59408e-07_rb,0.88179e-07_rb,0.10553e-06_rb,0.24737e-08_rb /) kbo(:, 5,27, 1) = (/ & & 0.16549e-09_rb,0.64025e-07_rb,0.96696e-07_rb,0.11704e-06_rb,0.27092e-08_rb /) kbo(:, 1,28, 1) = (/ & & 0.17010e-09_rb,0.38631e-07_rb,0.53773e-07_rb,0.60579e-07_rb,0.15220e-08_rb /) kbo(:, 2,28, 1) = (/ & & 0.15928e-09_rb,0.42001e-07_rb,0.60660e-07_rb,0.69727e-07_rb,0.16901e-08_rb /) kbo(:, 3,28, 1) = (/ & & 0.14976e-09_rb,0.45661e-07_rb,0.67065e-07_rb,0.78845e-07_rb,0.18696e-08_rb /) kbo(:, 4,28, 1) = (/ & & 0.14131e-09_rb,0.49571e-07_rb,0.73809e-07_rb,0.88481e-07_rb,0.20611e-08_rb /) kbo(:, 5,28, 1) = (/ & & 0.13376e-09_rb,0.53304e-07_rb,0.80910e-07_rb,0.98017e-07_rb,0.22565e-08_rb /) kbo(:, 1,29, 1) = (/ & & 0.13696e-09_rb,0.32270e-07_rb,0.45392e-07_rb,0.51438e-07_rb,0.12721e-08_rb /) kbo(:, 2,29, 1) = (/ & & 0.12839e-09_rb,0.35079e-07_rb,0.50946e-07_rb,0.58726e-07_rb,0.14118e-08_rb /) kbo(:, 3,29, 1) = (/ & & 0.12082e-09_rb,0.38150e-07_rb,0.56258e-07_rb,0.66493e-07_rb,0.15628e-08_rb /) kbo(:, 4,29, 1) = (/ & & 0.11410e-09_rb,0.41324e-07_rb,0.61843e-07_rb,0.74387e-07_rb,0.17205e-08_rb /) kbo(:, 5,29, 1) = (/ & & 0.10808e-09_rb,0.44387e-07_rb,0.67739e-07_rb,0.82216e-07_rb,0.18745e-08_rb /) kbo(:, 1,30, 1) = (/ & & 0.11029e-09_rb,0.26970e-07_rb,0.38330e-07_rb,0.43698e-07_rb,0.10655e-08_rb /) kbo(:, 2,30, 1) = (/ & & 0.10349e-09_rb,0.29319e-07_rb,0.42739e-07_rb,0.49552e-07_rb,0.11823e-08_rb /) kbo(:, 3,30, 1) = (/ & & 0.97483e-10_rb,0.31869e-07_rb,0.47210e-07_rb,0.56057e-07_rb,0.13038e-08_rb /) kbo(:, 4,30, 1) = (/ & & 0.92133e-10_rb,0.34436e-07_rb,0.51812e-07_rb,0.62485e-07_rb,0.14285e-08_rb /) kbo(:, 5,30, 1) = (/ & & 0.87340e-10_rb,0.36953e-07_rb,0.56709e-07_rb,0.68921e-07_rb,0.15563e-08_rb /) kbo(:, 1,31, 1) = (/ & & 0.88806e-10_rb,0.22555e-07_rb,0.32386e-07_rb,0.37129e-07_rb,0.89029e-09_rb /) kbo(:, 2,31, 1) = (/ & & 0.83417e-10_rb,0.24519e-07_rb,0.35921e-07_rb,0.41870e-07_rb,0.98548e-09_rb /) kbo(:, 3,31, 1) = (/ & & 0.78644e-10_rb,0.26638e-07_rb,0.39609e-07_rb,0.47273e-07_rb,0.10854e-08_rb /) kbo(:, 4,31, 1) = (/ & & 0.74388e-10_rb,0.28694e-07_rb,0.43423e-07_rb,0.52435e-07_rb,0.11880e-08_rb /) kbo(:, 5,31, 1) = (/ & & 0.70568e-10_rb,0.30776e-07_rb,0.47411e-07_rb,0.57750e-07_rb,0.12931e-08_rb /) kbo(:, 1,32, 1) = (/ & & 0.71507e-10_rb,0.18870e-07_rb,0.27332e-07_rb,0.31309e-07_rb,0.74436e-09_rb /) kbo(:, 2,32, 1) = (/ & & 0.67235e-10_rb,0.20512e-07_rb,0.30189e-07_rb,0.35407e-07_rb,0.82294e-09_rb /) kbo(:, 3,32, 1) = (/ & & 0.63444e-10_rb,0.22259e-07_rb,0.33218e-07_rb,0.39730e-07_rb,0.90483e-09_rb /) kbo(:, 4,32, 1) = (/ & & 0.60058e-10_rb,0.23923e-07_rb,0.36405e-07_rb,0.43976e-07_rb,0.98908e-09_rb /) kbo(:, 5,32, 1) = (/ & & 0.57015e-10_rb,0.25634e-07_rb,0.39548e-07_rb,0.48346e-07_rb,0.10750e-08_rb /) kbo(:, 1,33, 1) = (/ & & 0.57586e-10_rb,0.15779e-07_rb,0.22950e-07_rb,0.26415e-07_rb,0.62256e-09_rb /) kbo(:, 2,33, 1) = (/ & & 0.54199e-10_rb,0.17153e-07_rb,0.25354e-07_rb,0.29904e-07_rb,0.68734e-09_rb /) kbo(:, 3,33, 1) = (/ & & 0.51188e-10_rb,0.18569e-07_rb,0.27869e-07_rb,0.33404e-07_rb,0.75467e-09_rb /) kbo(:, 4,33, 1) = (/ & & 0.48493e-10_rb,0.19935e-07_rb,0.30437e-07_rb,0.36856e-07_rb,0.82369e-09_rb /) kbo(:, 5,33, 1) = (/ & & 0.46069e-10_rb,0.21345e-07_rb,0.32988e-07_rb,0.40478e-07_rb,0.89402e-09_rb /) kbo(:, 1,34, 1) = (/ & & 0.46487e-10_rb,0.13161e-07_rb,0.19216e-07_rb,0.22212e-07_rb,0.51910e-09_rb /) kbo(:, 2,34, 1) = (/ & & 0.43789e-10_rb,0.14301e-07_rb,0.21182e-07_rb,0.25090e-07_rb,0.57247e-09_rb /) kbo(:, 3,34, 1) = (/ & & 0.41386e-10_rb,0.15447e-07_rb,0.23208e-07_rb,0.27938e-07_rb,0.62767e-09_rb /) kbo(:, 4,34, 1) = (/ & & 0.39234e-10_rb,0.16571e-07_rb,0.25347e-07_rb,0.30795e-07_rb,0.68426e-09_rb /) kbo(:, 5,34, 1) = (/ & & 0.37294e-10_rb,0.17725e-07_rb,0.27392e-07_rb,0.33781e-07_rb,0.74179e-09_rb /) kbo(:, 1,35, 1) = (/ & & 0.37756e-10_rb,0.10890e-07_rb,0.15882e-07_rb,0.18441e-07_rb,0.42871e-09_rb /) kbo(:, 2,35, 1) = (/ & & 0.35581e-10_rb,0.11830e-07_rb,0.17514e-07_rb,0.20810e-07_rb,0.47251e-09_rb /) kbo(:, 3,35, 1) = (/ & & 0.33643e-10_rb,0.12757e-07_rb,0.19184e-07_rb,0.23148e-07_rb,0.51769e-09_rb /) kbo(:, 4,35, 1) = (/ & & 0.31905e-10_rb,0.13682e-07_rb,0.20941e-07_rb,0.25477e-07_rb,0.56394e-09_rb /) kbo(:, 5,35, 1) = (/ & & 0.30338e-10_rb,0.14628e-07_rb,0.22613e-07_rb,0.27948e-07_rb,0.61100e-09_rb /) kbo(:, 1,36, 1) = (/ & & 0.30872e-10_rb,0.89290e-08_rb,0.13007e-07_rb,0.15108e-07_rb,0.35034e-09_rb /) kbo(:, 2,36, 1) = (/ & & 0.29096e-10_rb,0.96995e-08_rb,0.14343e-07_rb,0.17051e-07_rb,0.38609e-09_rb /) kbo(:, 3,36, 1) = (/ & & 0.27513e-10_rb,0.10456e-07_rb,0.15713e-07_rb,0.18968e-07_rb,0.42296e-09_rb /) kbo(:, 4,36, 1) = (/ & & 0.26093e-10_rb,0.11213e-07_rb,0.17153e-07_rb,0.20875e-07_rb,0.46073e-09_rb /) kbo(:, 5,36, 1) = (/ & & 0.24812e-10_rb,0.11987e-07_rb,0.18522e-07_rb,0.22899e-07_rb,0.49916e-09_rb /) kbo(:, 1,37, 1) = (/ & & 0.25479e-10_rb,0.72338e-08_rb,0.10508e-07_rb,0.12165e-07_rb,0.28268e-09_rb /) kbo(:, 2,37, 1) = (/ & & 0.24002e-10_rb,0.78593e-08_rb,0.11594e-07_rb,0.13747e-07_rb,0.31173e-09_rb /) kbo(:, 3,37, 1) = (/ & & 0.22687e-10_rb,0.84845e-08_rb,0.12712e-07_rb,0.15315e-07_rb,0.34178e-09_rb /) kbo(:, 4,37, 1) = (/ & & 0.21508e-10_rb,0.90997e-08_rb,0.13892e-07_rb,0.16886e-07_rb,0.37260e-09_rb /) kbo(:, 5,37, 1) = (/ & & 0.20446e-10_rb,0.97322e-08_rb,0.15012e-07_rb,0.18526e-07_rb,0.40398e-09_rb /) kbo(:, 1,38, 1) = (/ & & 0.21041e-10_rb,0.58565e-08_rb,0.84831e-08_rb,0.97892e-08_rb,0.22791e-09_rb /) kbo(:, 2,38, 1) = (/ & & 0.19811e-10_rb,0.63636e-08_rb,0.93619e-08_rb,0.11072e-07_rb,0.25148e-09_rb /) kbo(:, 3,38, 1) = (/ & & 0.18717e-10_rb,0.68784e-08_rb,0.10276e-07_rb,0.12360e-07_rb,0.27595e-09_rb /) kbo(:, 4,38, 1) = (/ & & 0.17738e-10_rb,0.73792e-08_rb,0.11234e-07_rb,0.13638e-07_rb,0.30109e-09_rb /) kbo(:, 5,38, 1) = (/ & & 0.16856e-10_rb,0.78971e-08_rb,0.12166e-07_rb,0.14977e-07_rb,0.32671e-09_rb /) kbo(:, 1,39, 1) = (/ & & 0.17377e-10_rb,0.47418e-08_rb,0.68561e-08_rb,0.78795e-08_rb,0.18373e-09_rb /) kbo(:, 2,39, 1) = (/ & & 0.16353e-10_rb,0.51532e-08_rb,0.75620e-08_rb,0.89128e-08_rb,0.20284e-09_rb /) kbo(:, 3,39, 1) = (/ & & 0.15443e-10_rb,0.55752e-08_rb,0.83069e-08_rb,0.99666e-08_rb,0.22279e-09_rb /) kbo(:, 4,39, 1) = (/ & & 0.14629e-10_rb,0.59857e-08_rb,0.90872e-08_rb,0.11011e-07_rb,0.24327e-09_rb /) kbo(:, 5,39, 1) = (/ & & 0.13896e-10_rb,0.64086e-08_rb,0.98616e-08_rb,0.12104e-07_rb,0.26420e-09_rb /) kbo(:, 1,40, 1) = (/ & & 0.14445e-10_rb,0.38091e-08_rb,0.54799e-08_rb,0.62754e-08_rb,0.14679e-09_rb /) kbo(:, 2,40, 1) = (/ & & 0.13581e-10_rb,0.41391e-08_rb,0.60530e-08_rb,0.70909e-08_rb,0.16220e-09_rb /) kbo(:, 3,40, 1) = (/ & & 0.12815e-10_rb,0.44888e-08_rb,0.66555e-08_rb,0.79532e-08_rb,0.17842e-09_rb /) kbo(:, 4,40, 1) = (/ & & 0.12131e-10_rb,0.48207e-08_rb,0.72855e-08_rb,0.88071e-08_rb,0.19509e-09_rb /) kbo(:, 5,40, 1) = (/ & & 0.11516e-10_rb,0.51646e-08_rb,0.79268e-08_rb,0.96932e-08_rb,0.21214e-09_rb /) kbo(:, 1,41, 1) = (/ & & 0.12021e-10_rb,0.30566e-08_rb,0.43606e-08_rb,0.49921e-08_rb,0.11713e-09_rb /) kbo(:, 2,41, 1) = (/ & & 0.11291e-10_rb,0.33205e-08_rb,0.48340e-08_rb,0.56256e-08_rb,0.12954e-09_rb /) kbo(:, 3,41, 1) = (/ & & 0.10645e-10_rb,0.36053e-08_rb,0.53261e-08_rb,0.63473e-08_rb,0.14269e-09_rb /) kbo(:, 4,41, 1) = (/ & & 0.10069e-10_rb,0.38782e-08_rb,0.58347e-08_rb,0.70386e-08_rb,0.15624e-09_rb /) kbo(:, 5,41, 1) = (/ & & 0.95520e-11_rb,0.41580e-08_rb,0.63647e-08_rb,0.77515e-08_rb,0.17013e-09_rb /) kbo(:, 1,42, 1) = (/ & & 0.10007e-10_rb,0.24516e-08_rb,0.34653e-08_rb,0.39398e-08_rb,0.93475e-10_rb /) kbo(:, 2,42, 1) = (/ & & 0.93902e-11_rb,0.26631e-08_rb,0.38588e-08_rb,0.44635e-08_rb,0.10342e-09_rb /) kbo(:, 3,42, 1) = (/ & & 0.88449e-11_rb,0.28926e-08_rb,0.42600e-08_rb,0.50466e-08_rb,0.11406e-09_rb /) kbo(:, 4,42, 1) = (/ & & 0.83594e-11_rb,0.31198e-08_rb,0.46719e-08_rb,0.56218e-08_rb,0.12507e-09_rb /) kbo(:, 5,42, 1) = (/ & & 0.79244e-11_rb,0.33465e-08_rb,0.51065e-08_rb,0.61999e-08_rb,0.13640e-09_rb /) kbo(:, 1,43, 1) = (/ & & 0.83647e-11_rb,0.19578e-08_rb,0.27341e-08_rb,0.30827e-08_rb,0.74277e-10_rb /) kbo(:, 2,43, 1) = (/ & & 0.78389e-11_rb,0.21263e-08_rb,0.30690e-08_rb,0.35212e-08_rb,0.82118e-10_rb /) kbo(:, 3,43, 1) = (/ & & 0.73752e-11_rb,0.23103e-08_rb,0.33865e-08_rb,0.39836e-08_rb,0.90672e-10_rb /) kbo(:, 4,43, 1) = (/ & & 0.69633e-11_rb,0.24984e-08_rb,0.37198e-08_rb,0.44569e-08_rb,0.99628e-10_rb /) kbo(:, 5,43, 1) = (/ & & 0.65950e-11_rb,0.26833e-08_rb,0.40709e-08_rb,0.49265e-08_rb,0.10883e-09_rb /) kbo(:, 1,44, 1) = (/ & & 0.70070e-11_rb,0.15628e-08_rb,0.21521e-08_rb,0.24017e-08_rb,0.59116e-10_rb /) kbo(:, 2,44, 1) = (/ & & 0.65570e-11_rb,0.16954e-08_rb,0.24254e-08_rb,0.27772e-08_rb,0.65027e-10_rb /) kbo(:, 3,44, 1) = (/ & & 0.61612e-11_rb,0.18413e-08_rb,0.26845e-08_rb,0.31310e-08_rb,0.71892e-10_rb /) kbo(:, 4,44, 1) = (/ & & 0.58106e-11_rb,0.19977e-08_rb,0.29542e-08_rb,0.35211e-08_rb,0.79144e-10_rb /) kbo(:, 5,44, 1) = (/ & & 0.54976e-11_rb,0.21464e-08_rb,0.32360e-08_rb,0.39045e-08_rb,0.86629e-10_rb /) kbo(:, 1,45, 1) = (/ & & 0.58728e-11_rb,0.12500e-08_rb,0.17079e-08_rb,0.18743e-08_rb,0.46646e-10_rb /) kbo(:, 2,45, 1) = (/ & & 0.54873e-11_rb,0.13505e-08_rb,0.19105e-08_rb,0.21719e-08_rb,0.51499e-10_rb /) kbo(:, 3,45, 1) = (/ & & 0.51492e-11_rb,0.14670e-08_rb,0.21250e-08_rb,0.24590e-08_rb,0.56982e-10_rb /) kbo(:, 4,45, 1) = (/ & & 0.48504e-11_rb,0.15931e-08_rb,0.23464e-08_rb,0.27802e-08_rb,0.62839e-10_rb /) kbo(:, 5,45, 1) = (/ & & 0.45844e-11_rb,0.17167e-08_rb,0.25731e-08_rb,0.30954e-08_rb,0.68908e-10_rb /) kbo(:, 1,46, 1) = (/ & & 0.49328e-11_rb,0.99811e-09_rb,0.13397e-08_rb,0.14457e-08_rb,0.36694e-10_rb /) kbo(:, 2,46, 1) = (/ & & 0.46012e-11_rb,0.10742e-08_rb,0.14986e-08_rb,0.16875e-08_rb,0.40742e-10_rb /) kbo(:, 3,46, 1) = (/ & & 0.43113e-11_rb,0.11665e-08_rb,0.16813e-08_rb,0.19281e-08_rb,0.45049e-10_rb /) kbo(:, 4,46, 1) = (/ & & 0.40558e-11_rb,0.12673e-08_rb,0.18567e-08_rb,0.21817e-08_rb,0.49751e-10_rb /) kbo(:, 5,46, 1) = (/ & & 0.38288e-11_rb,0.13702e-08_rb,0.20399e-08_rb,0.24419e-08_rb,0.54679e-10_rb /) kbo(:, 1,47, 1) = (/ & & 0.41592e-11_rb,0.79205e-09_rb,0.10438e-08_rb,0.11055e-08_rb,0.28709e-10_rb /) kbo(:, 2,47, 1) = (/ & & 0.38717e-11_rb,0.85357e-09_rb,0.11710e-08_rb,0.13015e-08_rb,0.32198e-10_rb /) kbo(:, 3,47, 1) = (/ & & 0.36215e-11_rb,0.92515e-09_rb,0.13196e-08_rb,0.15103e-08_rb,0.35448e-10_rb /) kbo(:, 4,47, 1) = (/ & & 0.34016e-11_rb,0.10046e-08_rb,0.14619e-08_rb,0.17010e-08_rb,0.39203e-10_rb /) kbo(:, 5,47, 1) = (/ & & 0.32069e-11_rb,0.10904e-08_rb,0.16100e-08_rb,0.19168e-08_rb,0.43187e-10_rb /) kbo(:, 1,48, 1) = (/ & & 0.35100e-11_rb,0.62849e-09_rb,0.81319e-09_rb,0.84567e-09_rb,0.22456e-10_rb /) kbo(:, 2,48, 1) = (/ & & 0.32605e-11_rb,0.68021e-09_rb,0.92169e-09_rb,0.10040e-08_rb,0.25229e-10_rb /) kbo(:, 3,48, 1) = (/ & & 0.30441e-11_rb,0.73294e-09_rb,0.10314e-08_rb,0.11665e-08_rb,0.27903e-10_rb /) kbo(:, 4,48, 1) = (/ & & 0.28547e-11_rb,0.79615e-09_rb,0.11495e-08_rb,0.13251e-08_rb,0.30879e-10_rb /) kbo(:, 5,48, 1) = (/ & & 0.26874e-11_rb,0.86463e-09_rb,0.12703e-08_rb,0.14994e-08_rb,0.34082e-10_rb /) kbo(:, 1,49, 1) = (/ & & 0.29649e-11_rb,0.49867e-09_rb,0.63572e-09_rb,0.64557e-09_rb,0.17554e-10_rb /) kbo(:, 2,49, 1) = (/ & & 0.27480e-11_rb,0.54124e-09_rb,0.71871e-09_rb,0.76840e-09_rb,0.19749e-10_rb /) kbo(:, 3,49, 1) = (/ & & 0.25606e-11_rb,0.58140e-09_rb,0.80413e-09_rb,0.90054e-09_rb,0.22012e-10_rb /) kbo(:, 4,49, 1) = (/ & & 0.23972e-11_rb,0.63097e-09_rb,0.90637e-09_rb,0.10349e-08_rb,0.24308e-10_rb /) kbo(:, 5,49, 1) = (/ & & 0.22534e-11_rb,0.68545e-09_rb,0.10006e-08_rb,0.11704e-08_rb,0.26872e-10_rb /) kbo(:, 1,50, 1) = (/ & & 0.25019e-11_rb,0.39853e-09_rb,0.49374e-09_rb,0.49615e-09_rb,0.13762e-10_rb /) kbo(:, 2,50, 1) = (/ & & 0.23136e-11_rb,0.42952e-09_rb,0.56141e-09_rb,0.58980e-09_rb,0.15500e-10_rb /) kbo(:, 3,50, 1) = (/ & & 0.21517e-11_rb,0.46334e-09_rb,0.63284e-09_rb,0.69788e-09_rb,0.17390e-10_rb /) kbo(:, 4,50, 1) = (/ & & 0.20110e-11_rb,0.50130e-09_rb,0.71124e-09_rb,0.80903e-09_rb,0.19184e-10_rb /) kbo(:, 5,50, 1) = (/ & & 0.18875e-11_rb,0.54446e-09_rb,0.78908e-09_rb,0.91435e-09_rb,0.21230e-10_rb /) kbo(:, 1,51, 1) = (/ & & 0.21111e-11_rb,0.31534e-09_rb,0.38552e-09_rb,0.38324e-09_rb,0.10851e-10_rb /) kbo(:, 2,51, 1) = (/ & & 0.19478e-11_rb,0.34179e-09_rb,0.43986e-09_rb,0.45355e-09_rb,0.12176e-10_rb /) kbo(:, 3,51, 1) = (/ & & 0.18079e-11_rb,0.37016e-09_rb,0.49835e-09_rb,0.53919e-09_rb,0.13683e-10_rb /) kbo(:, 4,51, 1) = (/ & & 0.16868e-11_rb,0.39846e-09_rb,0.55746e-09_rb,0.62805e-09_rb,0.15164e-10_rb /) kbo(:, 5,51, 1) = (/ & & 0.15809e-11_rb,0.43272e-09_rb,0.62310e-09_rb,0.71587e-09_rb,0.16785e-10_rb /) kbo(:, 1,52, 1) = (/ & & 0.17830e-11_rb,0.24939e-09_rb,0.30033e-09_rb,0.29708e-09_rb,0.85480e-11_rb /) kbo(:, 2,52, 1) = (/ & & 0.16410e-11_rb,0.27244e-09_rb,0.34467e-09_rb,0.34870e-09_rb,0.95642e-11_rb /) kbo(:, 3,52, 1) = (/ & & 0.15200e-11_rb,0.29507e-09_rb,0.39020e-09_rb,0.41505e-09_rb,0.10764e-10_rb /) kbo(:, 4,52, 1) = (/ & & 0.14156e-11_rb,0.31736e-09_rb,0.43693e-09_rb,0.48758e-09_rb,0.12016e-10_rb /) kbo(:, 5,52, 1) = (/ & & 0.13246e-11_rb,0.34409e-09_rb,0.49243e-09_rb,0.56181e-09_rb,0.13267e-10_rb /) kbo(:, 1,53, 1) = (/ & & 0.15074e-11_rb,0.19746e-09_rb,0.23442e-09_rb,0.23027e-09_rb,0.66942e-11_rb /) kbo(:, 2,53, 1) = (/ & & 0.13838e-11_rb,0.21754e-09_rb,0.26812e-09_rb,0.26865e-09_rb,0.75095e-11_rb /) kbo(:, 3,53, 1) = (/ & & 0.12789e-11_rb,0.23445e-09_rb,0.30510e-09_rb,0.31916e-09_rb,0.84626e-11_rb /) kbo(:, 4,53, 1) = (/ & & 0.11888e-11_rb,0.25305e-09_rb,0.34496e-09_rb,0.37906e-09_rb,0.94963e-11_rb /) kbo(:, 5,53, 1) = (/ & & 0.11106e-11_rb,0.27355e-09_rb,0.38680e-09_rb,0.43882e-09_rb,0.10486e-10_rb /) kbo(:, 1,54, 1) = (/ & & 0.12722e-11_rb,0.15676e-09_rb,0.18436e-09_rb,0.18188e-09_rb,0.52601e-11_rb /) kbo(:, 2,54, 1) = (/ & & 0.11649e-11_rb,0.17256e-09_rb,0.21030e-09_rb,0.20876e-09_rb,0.59465e-11_rb /) kbo(:, 3,54, 1) = (/ & & 0.10743e-11_rb,0.18706e-09_rb,0.24022e-09_rb,0.24657e-09_rb,0.66750e-11_rb /) kbo(:, 4,54, 1) = (/ & & 0.99683e-12_rb,0.20263e-09_rb,0.27206e-09_rb,0.29337e-09_rb,0.75016e-11_rb /) kbo(:, 5,54, 1) = (/ & & 0.92975e-12_rb,0.21798e-09_rb,0.30420e-09_rb,0.34203e-09_rb,0.83182e-11_rb /) kbo(:, 1,55, 1) = (/ & & 0.10733e-11_rb,0.12552e-09_rb,0.14668e-09_rb,0.14477e-09_rb,0.41440e-11_rb /) kbo(:, 2,55, 1) = (/ & & 0.98027e-12_rb,0.13705e-09_rb,0.16480e-09_rb,0.16298e-09_rb,0.47137e-11_rb /) kbo(:, 3,55, 1) = (/ & & 0.90209e-12_rb,0.14966e-09_rb,0.18911e-09_rb,0.19117e-09_rb,0.52730e-11_rb /) kbo(:, 4,55, 1) = (/ & & 0.83546e-12_rb,0.16210e-09_rb,0.21410e-09_rb,0.22758e-09_rb,0.59349e-11_rb /) kbo(:, 5,55, 1) = (/ & & 0.77800e-12_rb,0.17423e-09_rb,0.23972e-09_rb,0.26725e-09_rb,0.66163e-11_rb /) kbo(:, 1,56, 1) = (/ & & 0.90624e-12_rb,0.99786e-10_rb,0.11674e-09_rb,0.11286e-09_rb,0.32776e-11_rb /) kbo(:, 2,56, 1) = (/ & & 0.82547e-12_rb,0.10897e-09_rb,0.12938e-09_rb,0.12705e-09_rb,0.37161e-11_rb /) kbo(:, 3,56, 1) = (/ & & 0.75791e-12_rb,0.12009e-09_rb,0.14804e-09_rb,0.14827e-09_rb,0.41646e-11_rb /) kbo(:, 4,56, 1) = (/ & & 0.70058e-12_rb,0.12925e-09_rb,0.16837e-09_rb,0.17630e-09_rb,0.46957e-11_rb /) kbo(:, 5,56, 1) = (/ & & 0.65131e-12_rb,0.13937e-09_rb,0.18999e-09_rb,0.20899e-09_rb,0.52742e-11_rb /) kbo(:, 1,57, 1) = (/ & & 0.76595e-12_rb,0.78822e-10_rb,0.93863e-10_rb,0.87529e-10_rb,0.26033e-11_rb /) kbo(:, 2,57, 1) = (/ & & 0.69568e-12_rb,0.86555e-10_rb,0.10190e-09_rb,0.10022e-09_rb,0.29288e-11_rb /) kbo(:, 3,57, 1) = (/ & & 0.63721e-12_rb,0.95385e-10_rb,0.11640e-09_rb,0.11533e-09_rb,0.32994e-11_rb /) kbo(:, 4,57, 1) = (/ & & 0.58782e-12_rb,0.10325e-09_rb,0.13264e-09_rb,0.13663e-09_rb,0.37186e-11_rb /) kbo(:, 5,57, 1) = (/ & & 0.54552e-12_rb,0.11173e-09_rb,0.15042e-09_rb,0.16253e-09_rb,0.41819e-11_rb /) kbo(:, 1,58, 1) = (/ & & 0.64693e-12_rb,0.62421e-10_rb,0.76174e-10_rb,0.68324e-10_rb,0.20833e-11_rb /) kbo(:, 2,58, 1) = (/ & & 0.58588e-12_rb,0.69278e-10_rb,0.81197e-10_rb,0.79691e-10_rb,0.23130e-11_rb /) kbo(:, 3,58, 1) = (/ & & 0.53535e-12_rb,0.75873e-10_rb,0.91414e-10_rb,0.90398e-10_rb,0.26350e-11_rb /) kbo(:, 4,58, 1) = (/ & & 0.49285e-12_rb,0.82653e-10_rb,0.10493e-09_rb,0.10617e-09_rb,0.29473e-11_rb /) kbo(:, 5,58, 1) = (/ & & 0.45660e-12_rb,0.89643e-10_rb,0.11861e-09_rb,0.12647e-09_rb,0.33231e-11_rb /) kbo(:, 1,59, 1) = (/ & & 0.53645e-12_rb,0.50557e-10_rb,0.62240e-10_rb,0.54854e-10_rb,0.16930e-11_rb /) kbo(:, 2,59, 1) = (/ & & 0.48523e-12_rb,0.56468e-10_rb,0.65604e-10_rb,0.64827e-10_rb,0.18702e-11_rb /) kbo(:, 3,59, 1) = (/ & & 0.44294e-12_rb,0.61442e-10_rb,0.73667e-10_rb,0.72688e-10_rb,0.21292e-11_rb /) kbo(:, 4,59, 1) = (/ & & 0.40744e-12_rb,0.67184e-10_rb,0.84490e-10_rb,0.85217e-10_rb,0.23832e-11_rb /) kbo(:, 5,59, 1) = (/ & & 0.37720e-12_rb,0.72657e-10_rb,0.95692e-10_rb,0.10144e-09_rb,0.26852e-11_rb /) kbo(:, 1,13, 2) = (/ & & 0.18323e-07_rb,0.86266e-05_rb,0.13728e-04_rb,0.15952e-04_rb,0.78927e-06_rb /) kbo(:, 2,13, 2) = (/ & & 0.16961e-07_rb,0.96203e-05_rb,0.15275e-04_rb,0.17863e-04_rb,0.93659e-06_rb /) kbo(:, 3,13, 2) = (/ & & 0.15787e-07_rb,0.10675e-04_rb,0.16924e-04_rb,0.19675e-04_rb,0.11050e-05_rb /) kbo(:, 4,13, 2) = (/ & & 0.14764e-07_rb,0.11779e-04_rb,0.18474e-04_rb,0.21320e-04_rb,0.12868e-05_rb /) kbo(:, 5,13, 2) = (/ & & 0.13865e-07_rb,0.12843e-04_rb,0.20029e-04_rb,0.23080e-04_rb,0.14565e-05_rb /) kbo(:, 1,14, 2) = (/ & & 0.14893e-07_rb,0.71882e-05_rb,0.11443e-04_rb,0.13271e-04_rb,0.65835e-06_rb /) kbo(:, 2,14, 2) = (/ & & 0.13793e-07_rb,0.80276e-05_rb,0.12732e-04_rb,0.14890e-04_rb,0.78132e-06_rb /) kbo(:, 3,14, 2) = (/ & & 0.12844e-07_rb,0.89189e-05_rb,0.14101e-04_rb,0.16339e-04_rb,0.92233e-06_rb /) kbo(:, 4,14, 2) = (/ & & 0.12017e-07_rb,0.98309e-05_rb,0.15384e-04_rb,0.17721e-04_rb,0.10676e-05_rb /) kbo(:, 5,14, 2) = (/ & & 0.11289e-07_rb,0.10704e-04_rb,0.16679e-04_rb,0.19194e-04_rb,0.12091e-05_rb /) kbo(:, 1,15, 2) = (/ & & 0.12096e-07_rb,0.59934e-05_rb,0.95449e-05_rb,0.11058e-04_rb,0.54969e-06_rb /) kbo(:, 2,15, 2) = (/ & & 0.11209e-07_rb,0.66932e-05_rb,0.10623e-04_rb,0.12407e-04_rb,0.65197e-06_rb /) kbo(:, 3,15, 2) = (/ & & 0.10443e-07_rb,0.74449e-05_rb,0.11746e-04_rb,0.13571e-04_rb,0.76940e-06_rb /) kbo(:, 4,15, 2) = (/ & & 0.97747e-08_rb,0.81948e-05_rb,0.12814e-04_rb,0.14732e-04_rb,0.88496e-06_rb /) kbo(:, 5,15, 2) = (/ & & 0.91864e-08_rb,0.89188e-05_rb,0.13883e-04_rb,0.15946e-04_rb,0.10023e-05_rb /) kbo(:, 1,16, 2) = (/ & & 0.98205e-08_rb,0.50027e-05_rb,0.79644e-05_rb,0.92248e-05_rb,0.45876e-06_rb /) kbo(:, 2,16, 2) = (/ & & 0.91061e-08_rb,0.55846e-05_rb,0.88593e-05_rb,0.10331e-04_rb,0.54334e-06_rb /) kbo(:, 3,16, 2) = (/ & & 0.84882e-08_rb,0.62183e-05_rb,0.97757e-05_rb,0.11279e-04_rb,0.64050e-06_rb /) kbo(:, 4,16, 2) = (/ & & 0.79486e-08_rb,0.68276e-05_rb,0.10664e-04_rb,0.12244e-04_rb,0.73344e-06_rb /) kbo(:, 5,16, 2) = (/ & & 0.74732e-08_rb,0.74268e-05_rb,0.11545e-04_rb,0.13224e-04_rb,0.82955e-06_rb /) kbo(:, 1,17, 2) = (/ & & 0.79753e-08_rb,0.41713e-05_rb,0.66153e-05_rb,0.76892e-05_rb,0.38247e-06_rb /) kbo(:, 2,17, 2) = (/ & & 0.73994e-08_rb,0.46562e-05_rb,0.73753e-05_rb,0.85922e-05_rb,0.45188e-06_rb /) kbo(:, 3,17, 2) = (/ & & 0.69008e-08_rb,0.51829e-05_rb,0.81280e-05_rb,0.93638e-05_rb,0.53211e-06_rb /) kbo(:, 4,17, 2) = (/ & & 0.64650e-08_rb,0.56765e-05_rb,0.88560e-05_rb,0.10168e-04_rb,0.60647e-06_rb /) kbo(:, 5,17, 2) = (/ & & 0.60807e-08_rb,0.61758e-05_rb,0.95894e-05_rb,0.10949e-04_rb,0.68549e-06_rb /) kbo(:, 1,18, 2) = (/ & & 0.64779e-08_rb,0.34727e-05_rb,0.54875e-05_rb,0.64000e-05_rb,0.31851e-06_rb /) kbo(:, 2,18, 2) = (/ & & 0.60135e-08_rb,0.38751e-05_rb,0.61308e-05_rb,0.71372e-05_rb,0.37552e-06_rb /) kbo(:, 3,18, 2) = (/ & & 0.56111e-08_rb,0.43132e-05_rb,0.67478e-05_rb,0.77698e-05_rb,0.44141e-06_rb /) kbo(:, 4,18, 2) = (/ & & 0.52590e-08_rb,0.47150e-05_rb,0.73444e-05_rb,0.84370e-05_rb,0.50075e-06_rb /) kbo(:, 5,18, 2) = (/ & & 0.49483e-08_rb,0.51345e-05_rb,0.79495e-05_rb,0.90637e-05_rb,0.56601e-06_rb /) kbo(:, 1,19, 2) = (/ & & 0.52627e-08_rb,0.28908e-05_rb,0.45586e-05_rb,0.53260e-05_rb,0.26516e-06_rb /) kbo(:, 2,19, 2) = (/ & & 0.48882e-08_rb,0.32260e-05_rb,0.50940e-05_rb,0.59200e-05_rb,0.31190e-06_rb /) kbo(:, 3,19, 2) = (/ & & 0.45632e-08_rb,0.35843e-05_rb,0.55992e-05_rb,0.64397e-05_rb,0.36608e-06_rb /) kbo(:, 4,19, 2) = (/ & & 0.42786e-08_rb,0.39167e-05_rb,0.60923e-05_rb,0.69972e-05_rb,0.41361e-06_rb /) kbo(:, 5,19, 2) = (/ & & 0.40273e-08_rb,0.42667e-05_rb,0.65904e-05_rb,0.75021e-05_rb,0.46741e-06_rb /) kbo(:, 1,20, 2) = (/ & & 0.42704e-08_rb,0.24074e-05_rb,0.37990e-05_rb,0.44458e-05_rb,0.22103e-06_rb /) kbo(:, 2,20, 2) = (/ & & 0.39690e-08_rb,0.26942e-05_rb,0.42393e-05_rb,0.49120e-05_rb,0.26014e-06_rb /) kbo(:, 3,20, 2) = (/ & & 0.37071e-08_rb,0.29827e-05_rb,0.46574e-05_rb,0.53487e-05_rb,0.30416e-06_rb /) kbo(:, 4,20, 2) = (/ & & 0.34776e-08_rb,0.32601e-05_rb,0.50635e-05_rb,0.58076e-05_rb,0.34304e-06_rb /) kbo(:, 5,20, 2) = (/ & & 0.32747e-08_rb,0.35518e-05_rb,0.54700e-05_rb,0.62197e-05_rb,0.38752e-06_rb /) kbo(:, 1,21, 2) = (/ & & 0.34649e-08_rb,0.20096e-05_rb,0.31689e-05_rb,0.37070e-05_rb,0.18424e-06_rb /) kbo(:, 2,21, 2) = (/ & & 0.32224e-08_rb,0.22503e-05_rb,0.35271e-05_rb,0.40784e-05_rb,0.21705e-06_rb /) kbo(:, 3,21, 2) = (/ & & 0.30114e-08_rb,0.24834e-05_rb,0.38737e-05_rb,0.44436e-05_rb,0.25229e-06_rb /) kbo(:, 4,21, 2) = (/ & & 0.28263e-08_rb,0.27149e-05_rb,0.42083e-05_rb,0.48061e-05_rb,0.28464e-06_rb /) kbo(:, 5,21, 2) = (/ & & 0.26626e-08_rb,0.29556e-05_rb,0.45394e-05_rb,0.51565e-05_rb,0.32148e-06_rb /) kbo(:, 1,22, 2) = (/ & & 0.27976e-08_rb,0.16913e-05_rb,0.26632e-05_rb,0.31108e-05_rb,0.15537e-06_rb /) kbo(:, 2,22, 2) = (/ & & 0.26043e-08_rb,0.18908e-05_rb,0.29553e-05_rb,0.34067e-05_rb,0.18311e-06_rb /) kbo(:, 3,22, 2) = (/ & & 0.24359e-08_rb,0.20811e-05_rb,0.32390e-05_rb,0.37110e-05_rb,0.21094e-06_rb /) kbo(:, 4,22, 2) = (/ & & 0.22878e-08_rb,0.22746e-05_rb,0.35144e-05_rb,0.40009e-05_rb,0.23816e-06_rb /) kbo(:, 5,22, 2) = (/ & & 0.21567e-08_rb,0.24714e-05_rb,0.37839e-05_rb,0.42910e-05_rb,0.26886e-06_rb /) kbo(:, 1,23, 2) = (/ & & 0.22583e-08_rb,0.14234e-05_rb,0.22388e-05_rb,0.26088e-05_rb,0.13143e-06_rb /) kbo(:, 2,23, 2) = (/ & & 0.21043e-08_rb,0.15864e-05_rb,0.24776e-05_rb,0.28493e-05_rb,0.15460e-06_rb /) kbo(:, 3,23, 2) = (/ & & 0.19699e-08_rb,0.17436e-05_rb,0.27072e-05_rb,0.31009e-05_rb,0.17669e-06_rb /) kbo(:, 4,23, 2) = (/ & & 0.18515e-08_rb,0.19057e-05_rb,0.29355e-05_rb,0.33308e-05_rb,0.19953e-06_rb /) kbo(:, 5,23, 2) = (/ & & 0.17465e-08_rb,0.20653e-05_rb,0.31542e-05_rb,0.35663e-05_rb,0.22501e-06_rb /) kbo(:, 1,24, 2) = (/ & & 0.18221e-08_rb,0.12001e-05_rb,0.18808e-05_rb,0.21868e-05_rb,0.11138e-06_rb /) kbo(:, 2,24, 2) = (/ & & 0.16995e-08_rb,0.13315e-05_rb,0.20779e-05_rb,0.23825e-05_rb,0.13068e-06_rb /) kbo(:, 3,24, 2) = (/ & & 0.15923e-08_rb,0.14625e-05_rb,0.22647e-05_rb,0.25884e-05_rb,0.14820e-06_rb /) kbo(:, 4,24, 2) = (/ & & 0.14978e-08_rb,0.15972e-05_rb,0.24512e-05_rb,0.27771e-05_rb,0.16734e-06_rb /) kbo(:, 5,24, 2) = (/ & & 0.14138e-08_rb,0.17254e-05_rb,0.26296e-05_rb,0.29649e-05_rb,0.18848e-06_rb /) kbo(:, 1,25, 2) = (/ & & 0.14693e-08_rb,0.10111e-05_rb,0.15809e-05_rb,0.18286e-05_rb,0.94366e-07_rb /) kbo(:, 2,25, 2) = (/ & & 0.13718e-08_rb,0.11199e-05_rb,0.17430e-05_rb,0.19952e-05_rb,0.11045e-06_rb /) kbo(:, 3,25, 2) = (/ & & 0.12864e-08_rb,0.12273e-05_rb,0.18957e-05_rb,0.21572e-05_rb,0.12445e-06_rb /) kbo(:, 4,25, 2) = (/ & & 0.12110e-08_rb,0.13373e-05_rb,0.20462e-05_rb,0.23162e-05_rb,0.14042e-06_rb /) kbo(:, 5,25, 2) = (/ & & 0.11438e-08_rb,0.14410e-05_rb,0.21916e-05_rb,0.24648e-05_rb,0.15767e-06_rb /) kbo(:, 1,26, 2) = (/ & & 0.11834e-08_rb,0.85331e-06_rb,0.13316e-05_rb,0.15329e-05_rb,0.80212e-07_rb /) kbo(:, 2,26, 2) = (/ & & 0.11061e-08_rb,0.94192e-06_rb,0.14626e-05_rb,0.16729e-05_rb,0.92775e-07_rb /) kbo(:, 3,26, 2) = (/ & & 0.10382e-08_rb,0.10317e-05_rb,0.15890e-05_rb,0.18006e-05_rb,0.10462e-06_rb /) kbo(:, 4,26, 2) = (/ & & 0.97810e-09_rb,0.11205e-05_rb,0.17099e-05_rb,0.19314e-05_rb,0.11800e-06_rb /) kbo(:, 5,26, 2) = (/ & & 0.92457e-09_rb,0.12034e-05_rb,0.18276e-05_rb,0.20504e-05_rb,0.13209e-06_rb /) kbo(:, 1,27, 2) = (/ & & 0.95311e-09_rb,0.71890e-06_rb,0.11218e-05_rb,0.12867e-05_rb,0.68084e-07_rb /) kbo(:, 2,27, 2) = (/ & & 0.89177e-09_rb,0.79258e-06_rb,0.12275e-05_rb,0.14019e-05_rb,0.77999e-07_rb /) kbo(:, 3,27, 2) = (/ & & 0.83781e-09_rb,0.86605e-06_rb,0.13308e-05_rb,0.15040e-05_rb,0.88027e-07_rb /) kbo(:, 4,27, 2) = (/ & & 0.78998e-09_rb,0.93815e-06_rb,0.14285e-05_rb,0.16091e-05_rb,0.99057e-07_rb /) kbo(:, 5,27, 2) = (/ & & 0.74729e-09_rb,0.10046e-05_rb,0.15236e-05_rb,0.17059e-05_rb,0.11074e-06_rb /) kbo(:, 1,28, 2) = (/ & & 0.76771e-09_rb,0.60623e-06_rb,0.94427e-06_rb,0.10796e-05_rb,0.57844e-07_rb /) kbo(:, 2,28, 2) = (/ & & 0.71904e-09_rb,0.66653e-06_rb,0.10298e-05_rb,0.11699e-05_rb,0.65726e-07_rb /) kbo(:, 3,28, 2) = (/ & & 0.67614e-09_rb,0.72689e-06_rb,0.11131e-05_rb,0.12568e-05_rb,0.74009e-07_rb /) kbo(:, 4,28, 2) = (/ & & 0.63806e-09_rb,0.78482e-06_rb,0.11927e-05_rb,0.13406e-05_rb,0.83200e-07_rb /) kbo(:, 5,28, 2) = (/ & & 0.60401e-09_rb,0.83806e-06_rb,0.12695e-05_rb,0.14186e-05_rb,0.92306e-07_rb /) kbo(:, 1,29, 2) = (/ & & 0.61817e-09_rb,0.51053e-06_rb,0.79450e-06_rb,0.90687e-06_rb,0.49078e-07_rb /) kbo(:, 2,29, 2) = (/ & & 0.57958e-09_rb,0.56071e-06_rb,0.86403e-06_rb,0.97690e-06_rb,0.55257e-07_rb /) kbo(:, 3,29, 2) = (/ & & 0.54551e-09_rb,0.61009e-06_rb,0.93077e-06_rb,0.10495e-05_rb,0.62286e-07_rb /) kbo(:, 4,29, 2) = (/ & & 0.51520e-09_rb,0.65631e-06_rb,0.99567e-06_rb,0.11159e-05_rb,0.69954e-07_rb /) kbo(:, 5,29, 2) = (/ & & 0.48806e-09_rb,0.69830e-06_rb,0.10576e-05_rb,0.11790e-05_rb,0.77228e-07_rb /) kbo(:, 1,30, 2) = (/ & & 0.49783e-09_rb,0.43014e-06_rb,0.66732e-06_rb,0.76058e-06_rb,0.41306e-07_rb /) kbo(:, 2,30, 2) = (/ & & 0.46723e-09_rb,0.47148e-06_rb,0.72434e-06_rb,0.81682e-06_rb,0.46537e-07_rb /) kbo(:, 3,30, 2) = (/ & & 0.44015e-09_rb,0.51146e-06_rb,0.77809e-06_rb,0.87537e-06_rb,0.52451e-07_rb /) kbo(:, 4,30, 2) = (/ & & 0.41603e-09_rb,0.54877e-06_rb,0.83073e-06_rb,0.92884e-06_rb,0.58793e-07_rb /) kbo(:, 5,30, 2) = (/ & & 0.39440e-09_rb,0.58159e-06_rb,0.88054e-06_rb,0.98030e-06_rb,0.64630e-07_rb /) kbo(:, 1,31, 2) = (/ & & 0.40087e-09_rb,0.36256e-06_rb,0.56062e-06_rb,0.63549e-06_rb,0.34778e-07_rb /) kbo(:, 2,31, 2) = (/ & & 0.37660e-09_rb,0.39620e-06_rb,0.60674e-06_rb,0.68313e-06_rb,0.39213e-07_rb /) kbo(:, 3,31, 2) = (/ & & 0.35510e-09_rb,0.42855e-06_rb,0.65037e-06_rb,0.72999e-06_rb,0.44176e-07_rb /) kbo(:, 4,31, 2) = (/ & & 0.33590e-09_rb,0.45852e-06_rb,0.69308e-06_rb,0.77338e-06_rb,0.49424e-07_rb /) kbo(:, 5,31, 2) = (/ & & 0.31866e-09_rb,0.48459e-06_rb,0.73297e-06_rb,0.81484e-06_rb,0.54137e-07_rb /) kbo(:, 1,32, 2) = (/ & & 0.32280e-09_rb,0.30547e-06_rb,0.47083e-06_rb,0.53147e-06_rb,0.29353e-07_rb /) kbo(:, 2,32, 2) = (/ & & 0.30356e-09_rb,0.33271e-06_rb,0.50770e-06_rb,0.57112e-06_rb,0.33078e-07_rb /) kbo(:, 3,32, 2) = (/ & & 0.28647e-09_rb,0.35876e-06_rb,0.54339e-06_rb,0.60852e-06_rb,0.37211e-07_rb /) kbo(:, 4,32, 2) = (/ & & 0.27120e-09_rb,0.38214e-06_rb,0.57781e-06_rb,0.64354e-06_rb,0.41295e-07_rb /) kbo(:, 5,32, 2) = (/ & & 0.25746e-09_rb,0.40374e-06_rb,0.60990e-06_rb,0.67711e-06_rb,0.45362e-07_rb /) kbo(:, 1,33, 2) = (/ & & 0.25997e-09_rb,0.25723e-06_rb,0.39505e-06_rb,0.44467e-06_rb,0.24754e-07_rb /) kbo(:, 2,33, 2) = (/ & & 0.24471e-09_rb,0.27926e-06_rb,0.42469e-06_rb,0.47702e-06_rb,0.27907e-07_rb /) kbo(:, 3,33, 2) = (/ & & 0.23113e-09_rb,0.30024e-06_rb,0.45384e-06_rb,0.50672e-06_rb,0.31344e-07_rb /) kbo(:, 4,33, 2) = (/ & & 0.21898e-09_rb,0.31862e-06_rb,0.48142e-06_rb,0.53515e-06_rb,0.34590e-07_rb /) kbo(:, 5,33, 2) = (/ & & 0.20803e-09_rb,0.33624e-06_rb,0.50721e-06_rb,0.56242e-06_rb,0.37957e-07_rb /) kbo(:, 1,34, 2) = (/ & & 0.20987e-09_rb,0.21561e-06_rb,0.33035e-06_rb,0.37093e-06_rb,0.20801e-07_rb /) kbo(:, 2,34, 2) = (/ & & 0.19771e-09_rb,0.23356e-06_rb,0.35433e-06_rb,0.39723e-06_rb,0.23443e-07_rb /) kbo(:, 3,34, 2) = (/ & & 0.18688e-09_rb,0.25042e-06_rb,0.37804e-06_rb,0.42127e-06_rb,0.26271e-07_rb /) kbo(:, 4,34, 2) = (/ & & 0.17716e-09_rb,0.26514e-06_rb,0.40029e-06_rb,0.44433e-06_rb,0.28867e-07_rb /) kbo(:, 5,34, 2) = (/ & & 0.16840e-09_rb,0.27949e-06_rb,0.42102e-06_rb,0.46612e-06_rb,0.31620e-07_rb /) kbo(:, 1,35, 2) = (/ & & 0.17046e-09_rb,0.17909e-06_rb,0.27397e-06_rb,0.30730e-06_rb,0.17283e-07_rb /) kbo(:, 2,35, 2) = (/ & & 0.16066e-09_rb,0.19378e-06_rb,0.29367e-06_rb,0.32869e-06_rb,0.19456e-07_rb /) kbo(:, 3,35, 2) = (/ & & 0.15191e-09_rb,0.20716e-06_rb,0.31287e-06_rb,0.34820e-06_rb,0.21759e-07_rb /) kbo(:, 4,35, 2) = (/ & & 0.14407e-09_rb,0.21938e-06_rb,0.33090e-06_rb,0.36703e-06_rb,0.23854e-07_rb /) kbo(:, 5,35, 2) = (/ & & 0.13699e-09_rb,0.23115e-06_rb,0.34779e-06_rb,0.38459e-06_rb,0.26128e-07_rb /) kbo(:, 1,36, 2) = (/ & & 0.13938e-09_rb,0.14742e-06_rb,0.22535e-06_rb,0.25261e-06_rb,0.14145e-07_rb /) kbo(:, 2,36, 2) = (/ & & 0.13137e-09_rb,0.15949e-06_rb,0.24155e-06_rb,0.27011e-06_rb,0.15917e-07_rb /) kbo(:, 3,36, 2) = (/ & & 0.12423e-09_rb,0.17037e-06_rb,0.25721e-06_rb,0.28606e-06_rb,0.17809e-07_rb /) kbo(:, 4,36, 2) = (/ & & 0.11782e-09_rb,0.18044e-06_rb,0.27200e-06_rb,0.30149e-06_rb,0.19530e-07_rb /) kbo(:, 5,36, 2) = (/ & & 0.11204e-09_rb,0.19011e-06_rb,0.28582e-06_rb,0.31581e-06_rb,0.21391e-07_rb /) kbo(:, 1,37, 2) = (/ & & 0.11503e-09_rb,0.11991e-06_rb,0.18339e-06_rb,0.20540e-06_rb,0.11398e-07_rb /) kbo(:, 2,37, 2) = (/ & & 0.10837e-09_rb,0.12985e-06_rb,0.19670e-06_rb,0.21991e-06_rb,0.12829e-07_rb /) kbo(:, 3,37, 2) = (/ & & 0.10244e-09_rb,0.13895e-06_rb,0.20964e-06_rb,0.23310e-06_rb,0.14370e-07_rb /) kbo(:, 4,37, 2) = (/ & & 0.97122e-10_rb,0.14725e-06_rb,0.22183e-06_rb,0.24582e-06_rb,0.15790e-07_rb /) kbo(:, 5,37, 2) = (/ & & 0.92325e-10_rb,0.15526e-06_rb,0.23327e-06_rb,0.25767e-06_rb,0.17308e-07_rb /) kbo(:, 1,38, 2) = (/ & & 0.94990e-10_rb,0.97434e-07_rb,0.14912e-06_rb,0.16699e-06_rb,0.91745e-08_rb /) kbo(:, 2,38, 2) = (/ & & 0.89449e-10_rb,0.10563e-06_rb,0.16007e-06_rb,0.17890e-06_rb,0.10330e-07_rb /) kbo(:, 3,38, 2) = (/ & & 0.84516e-10_rb,0.11322e-06_rb,0.17071e-06_rb,0.18982e-06_rb,0.11585e-07_rb /) kbo(:, 4,38, 2) = (/ & & 0.80096e-10_rb,0.12009e-06_rb,0.18084e-06_rb,0.20030e-06_rb,0.12759e-07_rb /) kbo(:, 5,38, 2) = (/ & & 0.76113e-10_rb,0.12672e-06_rb,0.19028e-06_rb,0.21012e-06_rb,0.13992e-07_rb /) kbo(:, 1,39, 2) = (/ & & 0.78444e-10_rb,0.79147e-07_rb,0.12122e-06_rb,0.13573e-06_rb,0.73846e-08_rb /) kbo(:, 2,39, 2) = (/ & & 0.73832e-10_rb,0.85901e-07_rb,0.13022e-06_rb,0.14552e-06_rb,0.83180e-08_rb /) kbo(:, 3,39, 2) = (/ & & 0.69729e-10_rb,0.92230e-07_rb,0.13899e-06_rb,0.15459e-06_rb,0.93374e-08_rb /) kbo(:, 4,39, 2) = (/ & & 0.66056e-10_rb,0.97919e-07_rb,0.14737e-06_rb,0.16325e-06_rb,0.10307e-07_rb /) kbo(:, 5,39, 2) = (/ & & 0.62749e-10_rb,0.10341e-06_rb,0.15518e-06_rb,0.17133e-06_rb,0.11312e-07_rb /) kbo(:, 1,40, 2) = (/ & & 0.65207e-10_rb,0.63715e-07_rb,0.97755e-07_rb,0.10945e-06_rb,0.58831e-08_rb /) kbo(:, 2,40, 2) = (/ & & 0.61319e-10_rb,0.69289e-07_rb,0.10524e-06_rb,0.11757e-06_rb,0.66237e-08_rb /) kbo(:, 3,40, 2) = (/ & & 0.57866e-10_rb,0.74694e-07_rb,0.11245e-06_rb,0.12515e-06_rb,0.74455e-08_rb /) kbo(:, 4,40, 2) = (/ & & 0.54779e-10_rb,0.79359e-07_rb,0.11941e-06_rb,0.13229e-06_rb,0.82595e-08_rb /) kbo(:, 5,40, 2) = (/ & & 0.52003e-10_rb,0.83957e-07_rb,0.12593e-06_rb,0.13909e-06_rb,0.90698e-08_rb /) kbo(:, 1,41, 2) = (/ & & 0.54263e-10_rb,0.51172e-07_rb,0.78714e-07_rb,0.88183e-07_rb,0.46740e-08_rb /) kbo(:, 2,41, 2) = (/ & & 0.50978e-10_rb,0.55838e-07_rb,0.84939e-07_rb,0.94828e-07_rb,0.52655e-08_rb /) kbo(:, 3,41, 2) = (/ & & 0.48066e-10_rb,0.60328e-07_rb,0.90859e-07_rb,0.10118e-06_rb,0.59273e-08_rb /) kbo(:, 4,41, 2) = (/ & & 0.45467e-10_rb,0.64260e-07_rb,0.96667e-07_rb,0.10710e-06_rb,0.66279e-08_rb /) kbo(:, 5,41, 2) = (/ & & 0.43134e-10_rb,0.68089e-07_rb,0.10208e-06_rb,0.11279e-06_rb,0.72560e-08_rb /) kbo(:, 1,42, 2) = (/ & & 0.45170e-10_rb,0.41073e-07_rb,0.63333e-07_rb,0.71067e-07_rb,0.37185e-08_rb /) kbo(:, 2,42, 2) = (/ & & 0.42393e-10_rb,0.44964e-07_rb,0.68507e-07_rb,0.76455e-07_rb,0.41864e-08_rb /) kbo(:, 3,42, 2) = (/ & & 0.39936e-10_rb,0.48667e-07_rb,0.73382e-07_rb,0.81772e-07_rb,0.47157e-08_rb /) kbo(:, 4,42, 2) = (/ & & 0.37747e-10_rb,0.51996e-07_rb,0.78220e-07_rb,0.86689e-07_rb,0.52834e-08_rb /) kbo(:, 5,42, 2) = (/ & & 0.35784e-10_rb,0.55178e-07_rb,0.82739e-07_rb,0.91434e-07_rb,0.58040e-08_rb /) kbo(:, 1,43, 2) = (/ & & 0.37754e-10_rb,0.32770e-07_rb,0.50662e-07_rb,0.56979e-07_rb,0.29405e-08_rb /) kbo(:, 2,43, 2) = (/ & & 0.35387e-10_rb,0.35997e-07_rb,0.54993e-07_rb,0.61357e-07_rb,0.33066e-08_rb /) kbo(:, 3,43, 2) = (/ & & 0.33299e-10_rb,0.39073e-07_rb,0.59036e-07_rb,0.65793e-07_rb,0.37265e-08_rb /) kbo(:, 4,43, 2) = (/ & & 0.31442e-10_rb,0.41903e-07_rb,0.63014e-07_rb,0.69920e-07_rb,0.41848e-08_rb /) kbo(:, 5,43, 2) = (/ & & 0.29781e-10_rb,0.44546e-07_rb,0.66822e-07_rb,0.73849e-07_rb,0.46204e-08_rb /) kbo(:, 1,44, 2) = (/ & & 0.31623e-10_rb,0.26054e-07_rb,0.40405e-07_rb,0.45692e-07_rb,0.22918e-08_rb /) kbo(:, 2,44, 2) = (/ & & 0.29599e-10_rb,0.28713e-07_rb,0.44010e-07_rb,0.49122e-07_rb,0.26053e-08_rb /) kbo(:, 3,44, 2) = (/ & & 0.27817e-10_rb,0.31296e-07_rb,0.47391e-07_rb,0.52815e-07_rb,0.29353e-08_rb /) kbo(:, 4,44, 2) = (/ & & 0.26236e-10_rb,0.33677e-07_rb,0.50655e-07_rb,0.56264e-07_rb,0.33023e-08_rb /) kbo(:, 5,44, 2) = (/ & & 0.24825e-10_rb,0.35896e-07_rb,0.53863e-07_rb,0.59538e-07_rb,0.36730e-08_rb /) kbo(:, 1,45, 2) = (/ & & 0.26502e-10_rb,0.20705e-07_rb,0.32152e-07_rb,0.36448e-07_rb,0.17841e-08_rb /) kbo(:, 2,45, 2) = (/ & & 0.24768e-10_rb,0.22868e-07_rb,0.35185e-07_rb,0.39329e-07_rb,0.20515e-08_rb /) kbo(:, 3,45, 2) = (/ & & 0.23247e-10_rb,0.25027e-07_rb,0.37999e-07_rb,0.42338e-07_rb,0.23118e-08_rb /) kbo(:, 4,45, 2) = (/ & & 0.21900e-10_rb,0.27063e-07_rb,0.40694e-07_rb,0.45258e-07_rb,0.26048e-08_rb /) kbo(:, 5,45, 2) = (/ & & 0.20701e-10_rb,0.28901e-07_rb,0.43361e-07_rb,0.47969e-07_rb,0.29174e-08_rb /) kbo(:, 1,46, 2) = (/ & & 0.22258e-10_rb,0.16422e-07_rb,0.25480e-07_rb,0.28991e-07_rb,0.13830e-08_rb /) kbo(:, 2,46, 2) = (/ & & 0.20767e-10_rb,0.18158e-07_rb,0.28033e-07_rb,0.31442e-07_rb,0.16144e-08_rb /) kbo(:, 3,46, 2) = (/ & & 0.19462e-10_rb,0.19953e-07_rb,0.30402e-07_rb,0.33850e-07_rb,0.18162e-08_rb /) kbo(:, 4,46, 2) = (/ & & 0.18312e-10_rb,0.21658e-07_rb,0.32639e-07_rb,0.36308e-07_rb,0.20475e-08_rb /) kbo(:, 5,46, 2) = (/ & & 0.17289e-10_rb,0.23211e-07_rb,0.34839e-07_rb,0.38583e-07_rb,0.22994e-08_rb /) kbo(:, 1,47, 2) = (/ & & 0.18764e-10_rb,0.12951e-07_rb,0.20072e-07_rb,0.22982e-07_rb,0.10645e-08_rb /) kbo(:, 2,47, 2) = (/ & & 0.17473e-10_rb,0.14335e-07_rb,0.22214e-07_rb,0.25085e-07_rb,0.12479e-08_rb /) kbo(:, 3,47, 2) = (/ & & 0.16347e-10_rb,0.15813e-07_rb,0.24205e-07_rb,0.26971e-07_rb,0.14207e-08_rb /) kbo(:, 4,47, 2) = (/ & & 0.15357e-10_rb,0.17255e-07_rb,0.26075e-07_rb,0.29015e-07_rb,0.16008e-08_rb /) kbo(:, 5,47, 2) = (/ & & 0.14480e-10_rb,0.18558e-07_rb,0.27885e-07_rb,0.30922e-07_rb,0.18018e-08_rb /) kbo(:, 1,48, 2) = (/ & & 0.15833e-10_rb,0.10186e-07_rb,0.15782e-07_rb,0.18174e-07_rb,0.81718e-09_rb /) kbo(:, 2,48, 2) = (/ & & 0.14713e-10_rb,0.11312e-07_rb,0.17555e-07_rb,0.19891e-07_rb,0.96098e-09_rb /) kbo(:, 3,48, 2) = (/ & & 0.13740e-10_rb,0.12509e-07_rb,0.19248e-07_rb,0.21482e-07_rb,0.11112e-08_rb /) kbo(:, 4,48, 2) = (/ & & 0.12887e-10_rb,0.13719e-07_rb,0.20811e-07_rb,0.23140e-07_rb,0.12515e-08_rb /) kbo(:, 5,48, 2) = (/ & & 0.12134e-10_rb,0.14840e-07_rb,0.22313e-07_rb,0.24769e-07_rb,0.14105e-08_rb /) kbo(:, 1,49, 2) = (/ & & 0.13372e-10_rb,0.80050e-08_rb,0.12403e-07_rb,0.14283e-07_rb,0.63117e-09_rb /) kbo(:, 2,49, 2) = (/ & & 0.12398e-10_rb,0.89393e-08_rb,0.13840e-07_rb,0.15751e-07_rb,0.73907e-09_rb /) kbo(:, 3,49, 2) = (/ & & 0.11556e-10_rb,0.98821e-08_rb,0.15261e-07_rb,0.17104e-07_rb,0.86645e-09_rb /) kbo(:, 4,49, 2) = (/ & & 0.10821e-10_rb,0.10884e-07_rb,0.16582e-07_rb,0.18441e-07_rb,0.97829e-09_rb /) kbo(:, 5,49, 2) = (/ & & 0.10174e-10_rb,0.11841e-07_rb,0.17828e-07_rb,0.19804e-07_rb,0.11034e-08_rb /) kbo(:, 1,50, 2) = (/ & & 0.11282e-10_rb,0.62726e-08_rb,0.97478e-08_rb,0.11226e-07_rb,0.48398e-09_rb /) kbo(:, 2,50, 2) = (/ & & 0.10437e-10_rb,0.70546e-08_rb,0.10932e-07_rb,0.12518e-07_rb,0.57051e-09_rb /) kbo(:, 3,50, 2) = (/ & & 0.97101e-11_rb,0.78193e-08_rb,0.12114e-07_rb,0.13671e-07_rb,0.66997e-09_rb /) kbo(:, 4,50, 2) = (/ & & 0.90772e-11_rb,0.86379e-08_rb,0.13218e-07_rb,0.14712e-07_rb,0.76625e-09_rb /) kbo(:, 5,50, 2) = (/ & & 0.85216e-11_rb,0.94405e-08_rb,0.14258e-07_rb,0.15844e-07_rb,0.86488e-09_rb /) kbo(:, 1,51, 2) = (/ & & 0.95179e-11_rb,0.49251e-08_rb,0.76356e-08_rb,0.87761e-08_rb,0.37213e-09_rb /) kbo(:, 2,51, 2) = (/ & & 0.87856e-11_rb,0.55681e-08_rb,0.86220e-08_rb,0.99159e-08_rb,0.44074e-09_rb /) kbo(:, 3,51, 2) = (/ & & 0.81576e-11_rb,0.61930e-08_rb,0.95989e-08_rb,0.10865e-07_rb,0.51843e-09_rb /) kbo(:, 4,51, 2) = (/ & & 0.76131e-11_rb,0.68518e-08_rb,0.10539e-07_rb,0.11746e-07_rb,0.60210e-09_rb /) kbo(:, 5,51, 2) = (/ & & 0.71366e-11_rb,0.75206e-08_rb,0.11403e-07_rb,0.12659e-07_rb,0.67841e-09_rb /) kbo(:, 1,52, 2) = (/ & & 0.80368e-11_rb,0.38608e-08_rb,0.60010e-08_rb,0.68441e-08_rb,0.28848e-09_rb /) kbo(:, 2,52, 2) = (/ & & 0.74007e-11_rb,0.43903e-08_rb,0.67974e-08_rb,0.78127e-08_rb,0.34245e-09_rb /) kbo(:, 3,52, 2) = (/ & & 0.68577e-11_rb,0.49086e-08_rb,0.75959e-08_rb,0.86279e-08_rb,0.40106e-09_rb /) kbo(:, 4,52, 2) = (/ & & 0.63886e-11_rb,0.54297e-08_rb,0.83801e-08_rb,0.93778e-08_rb,0.47058e-09_rb /) kbo(:, 5,52, 2) = (/ & & 0.59795e-11_rb,0.59829e-08_rb,0.91103e-08_rb,0.10111e-07_rb,0.53218e-09_rb /) kbo(:, 1,53, 2) = (/ & & 0.67932e-11_rb,0.30102e-08_rb,0.47269e-08_rb,0.53395e-08_rb,0.22432e-09_rb /) kbo(:, 2,53, 2) = (/ & & 0.62397e-11_rb,0.34450e-08_rb,0.53458e-08_rb,0.61449e-08_rb,0.26282e-09_rb /) kbo(:, 3,53, 2) = (/ & & 0.57693e-11_rb,0.38768e-08_rb,0.60006e-08_rb,0.68613e-08_rb,0.31020e-09_rb /) kbo(:, 4,53, 2) = (/ & & 0.53647e-11_rb,0.43002e-08_rb,0.66533e-08_rb,0.74990e-08_rb,0.36446e-09_rb /) kbo(:, 5,53, 2) = (/ & & 0.50129e-11_rb,0.47527e-08_rb,0.72638e-08_rb,0.80717e-08_rb,0.41759e-09_rb /) kbo(:, 1,54, 2) = (/ & & 0.57320e-11_rb,0.23582e-08_rb,0.36837e-08_rb,0.41317e-08_rb,0.17477e-09_rb /) kbo(:, 2,54, 2) = (/ & & 0.52518e-11_rb,0.27163e-08_rb,0.42048e-08_rb,0.48208e-08_rb,0.20321e-09_rb /) kbo(:, 3,54, 2) = (/ & & 0.48457e-11_rb,0.30678e-08_rb,0.47472e-08_rb,0.54472e-08_rb,0.24081e-09_rb /) kbo(:, 4,54, 2) = (/ & & 0.44978e-11_rb,0.34148e-08_rb,0.52851e-08_rb,0.59735e-08_rb,0.28345e-09_rb /) kbo(:, 5,54, 2) = (/ & & 0.41963e-11_rb,0.37804e-08_rb,0.58001e-08_rb,0.64570e-08_rb,0.32923e-09_rb /) kbo(:, 1,55, 2) = (/ & & 0.48347e-11_rb,0.18534e-08_rb,0.28539e-08_rb,0.31828e-08_rb,0.13492e-09_rb /) kbo(:, 2,55, 2) = (/ & & 0.44186e-11_rb,0.21392e-08_rb,0.33190e-08_rb,0.37817e-08_rb,0.15848e-09_rb /) kbo(:, 3,55, 2) = (/ & & 0.40683e-11_rb,0.24320e-08_rb,0.37592e-08_rb,0.43156e-08_rb,0.18835e-09_rb /) kbo(:, 4,55, 2) = (/ & & 0.37693e-11_rb,0.27150e-08_rb,0.41999e-08_rb,0.47625e-08_rb,0.22076e-09_rb /) kbo(:, 5,55, 2) = (/ & & 0.35111e-11_rb,0.30082e-08_rb,0.46345e-08_rb,0.51736e-08_rb,0.25916e-09_rb /) kbo(:, 1,56, 2) = (/ & & 0.40813e-11_rb,0.14543e-08_rb,0.22038e-08_rb,0.24488e-08_rb,0.10328e-09_rb /) kbo(:, 2,56, 2) = (/ & & 0.37201e-11_rb,0.16813e-08_rb,0.26371e-08_rb,0.29640e-08_rb,0.12446e-09_rb /) kbo(:, 3,56, 2) = (/ & & 0.34175e-11_rb,0.19191e-08_rb,0.29747e-08_rb,0.34115e-08_rb,0.14604e-09_rb /) kbo(:, 4,56, 2) = (/ & & 0.31604e-11_rb,0.21575e-08_rb,0.33348e-08_rb,0.38018e-08_rb,0.17202e-09_rb /) kbo(:, 5,56, 2) = (/ & & 0.29391e-11_rb,0.23932e-08_rb,0.36930e-08_rb,0.41472e-08_rb,0.20235e-09_rb /) kbo(:, 1,57, 2) = (/ & & 0.34486e-11_rb,0.11480e-08_rb,0.17032e-08_rb,0.18771e-08_rb,0.78787e-10_rb /) kbo(:, 2,57, 2) = (/ & & 0.31345e-11_rb,0.13189e-08_rb,0.20615e-08_rb,0.23121e-08_rb,0.96832e-10_rb /) kbo(:, 3,57, 2) = (/ & & 0.28728e-11_rb,0.15144e-08_rb,0.23440e-08_rb,0.26863e-08_rb,0.11317e-09_rb /) kbo(:, 4,57, 2) = (/ & & 0.26513e-11_rb,0.17102e-08_rb,0.26436e-08_rb,0.30246e-08_rb,0.13393e-09_rb /) kbo(:, 5,57, 2) = (/ & & 0.24615e-11_rb,0.19022e-08_rb,0.29394e-08_rb,0.33135e-08_rb,0.15772e-09_rb /) kbo(:, 1,58, 2) = (/ & & 0.29119e-11_rb,0.89500e-09_rb,0.13020e-08_rb,0.14383e-08_rb,0.60253e-10_rb /) kbo(:, 2,58, 2) = (/ & & 0.26392e-11_rb,0.10369e-08_rb,0.16036e-08_rb,0.17891e-08_rb,0.75765e-10_rb /) kbo(:, 3,58, 2) = (/ & & 0.24132e-11_rb,0.11975e-08_rb,0.18523e-08_rb,0.21114e-08_rb,0.88260e-10_rb /) kbo(:, 4,58, 2) = (/ & & 0.22227e-11_rb,0.13570e-08_rb,0.20959e-08_rb,0.24045e-08_rb,0.10478e-09_rb /) kbo(:, 5,58, 2) = (/ & & 0.20601e-11_rb,0.15139e-08_rb,0.23406e-08_rb,0.26456e-08_rb,0.12331e-09_rb /) kbo(:, 1,59, 2) = (/ & & 0.24143e-11_rb,0.71851e-09_rb,0.10362e-08_rb,0.11516e-08_rb,0.48086e-10_rb /) kbo(:, 2,59, 2) = (/ & & 0.21857e-11_rb,0.83732e-09_rb,0.12892e-08_rb,0.14335e-08_rb,0.60630e-10_rb /) kbo(:, 3,59, 2) = (/ & & 0.19965e-11_rb,0.96815e-09_rb,0.14990e-08_rb,0.17039e-08_rb,0.71208e-10_rb /) kbo(:, 4,59, 2) = (/ & & 0.18374e-11_rb,0.10982e-08_rb,0.16973e-08_rb,0.19455e-08_rb,0.84514e-10_rb /) kbo(:, 5,59, 2) = (/ & & 0.17017e-11_rb,0.12277e-08_rb,0.18981e-08_rb,0.21472e-08_rb,0.99289e-10_rb /) kbo(:, 1,13, 3) = (/ & & 0.69497e-07_rb,0.55900e-04_rb,0.77634e-04_rb,0.83300e-04_rb,0.14419e-04_rb /) kbo(:, 2,13, 3) = (/ & & 0.64923e-07_rb,0.61779e-04_rb,0.85238e-04_rb,0.90458e-04_rb,0.15996e-04_rb /) kbo(:, 3,13, 3) = (/ & & 0.60920e-07_rb,0.67532e-04_rb,0.92811e-04_rb,0.97588e-04_rb,0.17622e-04_rb /) kbo(:, 4,13, 3) = (/ & & 0.57379e-07_rb,0.72876e-04_rb,0.10040e-03_rb,0.10455e-03_rb,0.19144e-04_rb /) kbo(:, 5,13, 3) = (/ & & 0.54220e-07_rb,0.77699e-04_rb,0.10784e-03_rb,0.11139e-03_rb,0.20671e-04_rb /) kbo(:, 1,14, 3) = (/ & & 0.56538e-07_rb,0.46627e-04_rb,0.64678e-04_rb,0.69399e-04_rb,0.12086e-04_rb /) kbo(:, 2,14, 3) = (/ & & 0.52839e-07_rb,0.51536e-04_rb,0.71080e-04_rb,0.75292e-04_rb,0.13414e-04_rb /) kbo(:, 3,14, 3) = (/ & & 0.49600e-07_rb,0.56334e-04_rb,0.77384e-04_rb,0.81277e-04_rb,0.14732e-04_rb /) kbo(:, 4,14, 3) = (/ & & 0.46731e-07_rb,0.60751e-04_rb,0.83753e-04_rb,0.87067e-04_rb,0.15973e-04_rb /) kbo(:, 5,14, 3) = (/ & & 0.44171e-07_rb,0.64792e-04_rb,0.89963e-04_rb,0.92617e-04_rb,0.17214e-04_rb /) kbo(:, 1,15, 3) = (/ & & 0.45963e-07_rb,0.38920e-04_rb,0.53921e-04_rb,0.57824e-04_rb,0.10089e-04_rb /) kbo(:, 2,15, 3) = (/ & & 0.42976e-07_rb,0.42987e-04_rb,0.59286e-04_rb,0.62615e-04_rb,0.11238e-04_rb /) kbo(:, 3,15, 3) = (/ & & 0.40358e-07_rb,0.47014e-04_rb,0.64557e-04_rb,0.67658e-04_rb,0.12293e-04_rb /) kbo(:, 4,15, 3) = (/ & & 0.38037e-07_rb,0.50641e-04_rb,0.69879e-04_rb,0.72487e-04_rb,0.13317e-04_rb /) kbo(:, 5,15, 3) = (/ & & 0.35964e-07_rb,0.54003e-04_rb,0.75064e-04_rb,0.77083e-04_rb,0.14321e-04_rb /) kbo(:, 1,16, 3) = (/ & & 0.37354e-07_rb,0.32479e-04_rb,0.44953e-04_rb,0.48146e-04_rb,0.84079e-05_rb /) kbo(:, 2,16, 3) = (/ & & 0.34944e-07_rb,0.35873e-04_rb,0.49454e-04_rb,0.52120e-04_rb,0.93405e-05_rb /) kbo(:, 3,16, 3) = (/ & & 0.32829e-07_rb,0.39220e-04_rb,0.53861e-04_rb,0.56293e-04_rb,0.10209e-04_rb /) kbo(:, 4,16, 3) = (/ & & 0.30952e-07_rb,0.42155e-04_rb,0.58309e-04_rb,0.60268e-04_rb,0.11080e-04_rb /) kbo(:, 5,16, 3) = (/ & & 0.29274e-07_rb,0.45014e-04_rb,0.62610e-04_rb,0.64184e-04_rb,0.11887e-04_rb /) kbo(:, 1,17, 3) = (/ & & 0.30364e-07_rb,0.27086e-04_rb,0.37451e-04_rb,0.39995e-04_rb,0.70049e-05_rb /) kbo(:, 2,17, 3) = (/ & & 0.28420e-07_rb,0.29919e-04_rb,0.41194e-04_rb,0.43367e-04_rb,0.77736e-05_rb /) kbo(:, 3,17, 3) = (/ & & 0.26710e-07_rb,0.32650e-04_rb,0.44902e-04_rb,0.46817e-04_rb,0.84838e-05_rb /) kbo(:, 4,17, 3) = (/ & & 0.25192e-07_rb,0.35098e-04_rb,0.48605e-04_rb,0.50103e-04_rb,0.92038e-05_rb /) kbo(:, 5,17, 3) = (/ & & 0.23833e-07_rb,0.37507e-04_rb,0.52188e-04_rb,0.53413e-04_rb,0.98607e-05_rb /) kbo(:, 1,18, 3) = (/ & & 0.24687e-07_rb,0.22581e-04_rb,0.31211e-04_rb,0.33220e-04_rb,0.58361e-05_rb /) kbo(:, 2,18, 3) = (/ & & 0.23116e-07_rb,0.24940e-04_rb,0.34308e-04_rb,0.36078e-04_rb,0.64640e-05_rb /) kbo(:, 3,18, 3) = (/ & & 0.21734e-07_rb,0.27181e-04_rb,0.37414e-04_rb,0.38933e-04_rb,0.70344e-05_rb /) kbo(:, 4,18, 3) = (/ & & 0.20506e-07_rb,0.29216e-04_rb,0.40517e-04_rb,0.41653e-04_rb,0.76276e-05_rb /) kbo(:, 5,18, 3) = (/ & & 0.19406e-07_rb,0.31237e-04_rb,0.43490e-04_rb,0.44397e-04_rb,0.81753e-05_rb /) kbo(:, 1,19, 3) = (/ & & 0.20074e-07_rb,0.18818e-04_rb,0.25999e-04_rb,0.27597e-04_rb,0.48662e-05_rb /) kbo(:, 2,19, 3) = (/ & & 0.18805e-07_rb,0.20784e-04_rb,0.28562e-04_rb,0.29993e-04_rb,0.53723e-05_rb /) kbo(:, 3,19, 3) = (/ & & 0.17688e-07_rb,0.22626e-04_rb,0.31151e-04_rb,0.32363e-04_rb,0.58377e-05_rb /) kbo(:, 4,19, 3) = (/ & & 0.16693e-07_rb,0.24300e-04_rb,0.33760e-04_rb,0.34629e-04_rb,0.63177e-05_rb /) kbo(:, 5,19, 3) = (/ & & 0.15802e-07_rb,0.25985e-04_rb,0.36226e-04_rb,0.36903e-04_rb,0.67742e-05_rb /) kbo(:, 1,20, 3) = (/ & & 0.16306e-07_rb,0.15717e-04_rb,0.21686e-04_rb,0.22959e-04_rb,0.40680e-05_rb /) kbo(:, 2,20, 3) = (/ & & 0.15283e-07_rb,0.17355e-04_rb,0.23826e-04_rb,0.24969e-04_rb,0.44706e-05_rb /) kbo(:, 3,20, 3) = (/ & & 0.14381e-07_rb,0.18856e-04_rb,0.25992e-04_rb,0.26912e-04_rb,0.48550e-05_rb /) kbo(:, 4,20, 3) = (/ & & 0.13578e-07_rb,0.20265e-04_rb,0.28162e-04_rb,0.28817e-04_rb,0.52355e-05_rb /) kbo(:, 5,20, 3) = (/ & & 0.12857e-07_rb,0.21638e-04_rb,0.30215e-04_rb,0.30707e-04_rb,0.56224e-05_rb /) kbo(:, 1,21, 3) = (/ & & 0.13245e-07_rb,0.13128e-04_rb,0.18091e-04_rb,0.19107e-04_rb,0.33880e-05_rb /) kbo(:, 2,21, 3) = (/ & & 0.12420e-07_rb,0.14495e-04_rb,0.19887e-04_rb,0.20794e-04_rb,0.37144e-05_rb /) kbo(:, 3,21, 3) = (/ & & 0.11692e-07_rb,0.15704e-04_rb,0.21703e-04_rb,0.22397e-04_rb,0.40415e-05_rb /) kbo(:, 4,21, 3) = (/ & & 0.11043e-07_rb,0.16904e-04_rb,0.23489e-04_rb,0.23984e-04_rb,0.43455e-05_rb /) kbo(:, 5,21, 3) = (/ & & 0.10460e-07_rb,0.18037e-04_rb,0.25197e-04_rb,0.25558e-04_rb,0.46662e-05_rb /) kbo(:, 1,22, 3) = (/ & & 0.10711e-07_rb,0.11044e-04_rb,0.15199e-04_rb,0.16008e-04_rb,0.28409e-05_rb /) kbo(:, 2,22, 3) = (/ & & 0.10052e-07_rb,0.12165e-04_rb,0.16699e-04_rb,0.17419e-04_rb,0.31041e-05_rb /) kbo(:, 3,22, 3) = (/ & & 0.94690e-08_rb,0.13158e-04_rb,0.18224e-04_rb,0.18733e-04_rb,0.33768e-05_rb /) kbo(:, 4,22, 3) = (/ & & 0.89484e-08_rb,0.14166e-04_rb,0.19691e-04_rb,0.20050e-04_rb,0.36237e-05_rb /) kbo(:, 5,22, 3) = (/ & & 0.84804e-08_rb,0.15085e-04_rb,0.21105e-04_rb,0.21356e-04_rb,0.38876e-05_rb /) kbo(:, 1,23, 3) = (/ & & 0.86606e-08_rb,0.93002e-05_rb,0.12775e-04_rb,0.13420e-04_rb,0.23815e-05_rb /) kbo(:, 2,23, 3) = (/ & & 0.81340e-08_rb,0.10210e-04_rb,0.14034e-04_rb,0.14552e-04_rb,0.25955e-05_rb /) kbo(:, 3,23, 3) = (/ & & 0.76671e-08_rb,0.11035e-04_rb,0.15302e-04_rb,0.15657e-04_rb,0.28150e-05_rb /) kbo(:, 4,23, 3) = (/ & & 0.72497e-08_rb,0.11863e-04_rb,0.16513e-04_rb,0.16770e-04_rb,0.30198e-05_rb /) kbo(:, 5,23, 3) = (/ & & 0.68739e-08_rb,0.12616e-04_rb,0.17664e-04_rb,0.17848e-04_rb,0.32387e-05_rb /) kbo(:, 1,24, 3) = (/ & & 0.69995e-08_rb,0.78392e-05_rb,0.10754e-04_rb,0.11250e-04_rb,0.19986e-05_rb /) kbo(:, 2,24, 3) = (/ & & 0.65790e-08_rb,0.85674e-05_rb,0.11806e-04_rb,0.12186e-04_rb,0.21738e-05_rb /) kbo(:, 3,24, 3) = (/ & & 0.62055e-08_rb,0.92664e-05_rb,0.12850e-04_rb,0.13103e-04_rb,0.23469e-05_rb /) kbo(:, 4,24, 3) = (/ & & 0.58710e-08_rb,0.99376e-05_rb,0.13854e-04_rb,0.14027e-04_rb,0.25195e-05_rb /) kbo(:, 5,24, 3) = (/ & & 0.55696e-08_rb,0.10527e-04_rb,0.14795e-04_rb,0.14917e-04_rb,0.26988e-05_rb /) kbo(:, 1,25, 3) = (/ & & 0.56538e-08_rb,0.66118e-05_rb,0.90610e-05_rb,0.94422e-05_rb,0.16753e-05_rb /) kbo(:, 2,25, 3) = (/ & & 0.53184e-08_rb,0.71986e-05_rb,0.99389e-05_rb,0.10209e-04_rb,0.18223e-05_rb /) kbo(:, 3,25, 3) = (/ & & 0.50199e-08_rb,0.77863e-05_rb,0.10800e-04_rb,0.10981e-04_rb,0.19590e-05_rb /) kbo(:, 4,25, 3) = (/ & & 0.47522e-08_rb,0.83415e-05_rb,0.11626e-04_rb,0.11737e-04_rb,0.21020e-05_rb /) kbo(:, 5,25, 3) = (/ & & 0.45105e-08_rb,0.88017e-05_rb,0.12373e-04_rb,0.12468e-04_rb,0.22498e-05_rb /) kbo(:, 1,26, 3) = (/ & & 0.45620e-08_rb,0.55749e-05_rb,0.76463e-05_rb,0.79285e-05_rb,0.14032e-05_rb /) kbo(:, 2,26, 3) = (/ & & 0.42950e-08_rb,0.60590e-05_rb,0.83822e-05_rb,0.85652e-05_rb,0.15255e-05_rb /) kbo(:, 3,26, 3) = (/ & & 0.40569e-08_rb,0.65510e-05_rb,0.90888e-05_rb,0.92116e-05_rb,0.16373e-05_rb /) kbo(:, 4,26, 3) = (/ & & 0.38429e-08_rb,0.69918e-05_rb,0.97604e-05_rb,0.98329e-05_rb,0.17561e-05_rb /) kbo(:, 5,26, 3) = (/ & & 0.36495e-08_rb,0.73566e-05_rb,0.10367e-04_rb,0.10429e-04_rb,0.18769e-05_rb /) kbo(:, 1,27, 3) = (/ & & 0.36809e-08_rb,0.46967e-05_rb,0.64580e-05_rb,0.66649e-05_rb,0.11786e-05_rb /) kbo(:, 2,27, 3) = (/ & & 0.34683e-08_rb,0.51072e-05_rb,0.70661e-05_rb,0.71902e-05_rb,0.12759e-05_rb /) kbo(:, 3,27, 3) = (/ & & 0.32784e-08_rb,0.55053e-05_rb,0.76470e-05_rb,0.77250e-05_rb,0.13691e-05_rb /) kbo(:, 4,27, 3) = (/ & & 0.31074e-08_rb,0.58474e-05_rb,0.81898e-05_rb,0.82340e-05_rb,0.14666e-05_rb /) kbo(:, 5,27, 3) = (/ & & 0.29526e-08_rb,0.61493e-05_rb,0.86815e-05_rb,0.87199e-05_rb,0.15650e-05_rb /) kbo(:, 1,28, 3) = (/ & & 0.29701e-08_rb,0.39582e-05_rb,0.54573e-05_rb,0.55959e-05_rb,0.99037e-06_rb /) kbo(:, 2,28, 3) = (/ & & 0.28008e-08_rb,0.43048e-05_rb,0.59546e-05_rb,0.60406e-05_rb,0.10659e-05_rb /) kbo(:, 3,28, 3) = (/ & & 0.26493e-08_rb,0.46277e-05_rb,0.64286e-05_rb,0.64745e-05_rb,0.11442e-05_rb /) kbo(:, 4,28, 3) = (/ & & 0.25127e-08_rb,0.48940e-05_rb,0.68612e-05_rb,0.68918e-05_rb,0.12250e-05_rb /) kbo(:, 5,28, 3) = (/ & & 0.23888e-08_rb,0.51428e-05_rb,0.72654e-05_rb,0.72865e-05_rb,0.13046e-05_rb /) kbo(:, 1,29, 3) = (/ & & 0.23958e-08_rb,0.33409e-05_rb,0.46115e-05_rb,0.47054e-05_rb,0.83021e-06_rb /) kbo(:, 2,29, 3) = (/ & & 0.22611e-08_rb,0.36267e-05_rb,0.50192e-05_rb,0.50754e-05_rb,0.89157e-06_rb /) kbo(:, 3,29, 3) = (/ & & 0.21402e-08_rb,0.38805e-05_rb,0.54053e-05_rb,0.54291e-05_rb,0.95663e-06_rb /) kbo(:, 4,29, 3) = (/ & & 0.20311e-08_rb,0.40929e-05_rb,0.57529e-05_rb,0.57685e-05_rb,0.10232e-05_rb /) kbo(:, 5,29, 3) = (/ & & 0.19320e-08_rb,0.43014e-05_rb,0.60684e-05_rb,0.60868e-05_rb,0.10874e-05_rb /) kbo(:, 1,30, 3) = (/ & & 0.19328e-08_rb,0.28217e-05_rb,0.38955e-05_rb,0.39562e-05_rb,0.69464e-06_rb /) kbo(:, 2,30, 3) = (/ & & 0.18255e-08_rb,0.30515e-05_rb,0.42293e-05_rb,0.42605e-05_rb,0.74588e-06_rb /) kbo(:, 3,30, 3) = (/ & & 0.17291e-08_rb,0.32496e-05_rb,0.45390e-05_rb,0.45501e-05_rb,0.79957e-06_rb /) kbo(:, 4,30, 3) = (/ & & 0.16419e-08_rb,0.34235e-05_rb,0.48191e-05_rb,0.48249e-05_rb,0.85373e-06_rb /) kbo(:, 5,30, 3) = (/ & & 0.15626e-08_rb,0.35992e-05_rb,0.50632e-05_rb,0.50805e-05_rb,0.90582e-06_rb /) kbo(:, 1,31, 3) = (/ & & 0.15590e-08_rb,0.23841e-05_rb,0.32890e-05_rb,0.33282e-05_rb,0.58108e-06_rb /) kbo(:, 2,31, 3) = (/ & & 0.14736e-08_rb,0.25683e-05_rb,0.35605e-05_rb,0.35756e-05_rb,0.62401e-06_rb /) kbo(:, 3,31, 3) = (/ & & 0.13967e-08_rb,0.27223e-05_rb,0.38055e-05_rb,0.38110e-05_rb,0.66862e-06_rb /) kbo(:, 4,31, 3) = (/ & & 0.13271e-08_rb,0.28652e-05_rb,0.40295e-05_rb,0.40331e-05_rb,0.71216e-06_rb /) kbo(:, 5,31, 3) = (/ & & 0.12637e-08_rb,0.30069e-05_rb,0.42257e-05_rb,0.42393e-05_rb,0.75527e-06_rb /) kbo(:, 1,32, 3) = (/ & & 0.12575e-08_rb,0.20099e-05_rb,0.27764e-05_rb,0.27988e-05_rb,0.48614e-06_rb /) kbo(:, 2,32, 3) = (/ & & 0.11895e-08_rb,0.21551e-05_rb,0.29961e-05_rb,0.29996e-05_rb,0.52199e-06_rb /) kbo(:, 3,32, 3) = (/ & & 0.11282e-08_rb,0.22771e-05_rb,0.31901e-05_rb,0.31897e-05_rb,0.55867e-06_rb /) kbo(:, 4,32, 3) = (/ & & 0.10726e-08_rb,0.23969e-05_rb,0.33657e-05_rb,0.33696e-05_rb,0.59410e-06_rb /) kbo(:, 5,32, 3) = (/ & & 0.10218e-08_rb,0.25076e-05_rb,0.35232e-05_rb,0.35366e-05_rb,0.62965e-06_rb /) kbo(:, 1,33, 3) = (/ & & 0.10144e-08_rb,0.16940e-05_rb,0.23421e-05_rb,0.23519e-05_rb,0.40701e-06_rb /) kbo(:, 2,33, 3) = (/ & & 0.96024e-09_rb,0.18066e-05_rb,0.25146e-05_rb,0.25148e-05_rb,0.43657e-06_rb /) kbo(:, 3,33, 3) = (/ & & 0.91134e-09_rb,0.19053e-05_rb,0.26738e-05_rb,0.26690e-05_rb,0.46656e-06_rb /) kbo(:, 4,33, 3) = (/ & & 0.86689e-09_rb,0.20038e-05_rb,0.28104e-05_rb,0.28139e-05_rb,0.49516e-06_rb /) kbo(:, 5,33, 3) = (/ & & 0.82630e-09_rb,0.20860e-05_rb,0.29294e-05_rb,0.29485e-05_rb,0.52462e-06_rb /) kbo(:, 1,34, 3) = (/ & & 0.82000e-09_rb,0.14231e-05_rb,0.19661e-05_rb,0.19700e-05_rb,0.33996e-06_rb /) kbo(:, 2,34, 3) = (/ & & 0.77672e-09_rb,0.15105e-05_rb,0.21047e-05_rb,0.21018e-05_rb,0.36435e-06_rb /) kbo(:, 3,34, 3) = (/ & & 0.73757e-09_rb,0.15908e-05_rb,0.22307e-05_rb,0.22272e-05_rb,0.38851e-06_rb /) kbo(:, 4,34, 3) = (/ & & 0.70193e-09_rb,0.16706e-05_rb,0.23421e-05_rb,0.23448e-05_rb,0.41219e-06_rb /) kbo(:, 5,34, 3) = (/ & & 0.66936e-09_rb,0.17330e-05_rb,0.24342e-05_rb,0.24538e-05_rb,0.43607e-06_rb /) kbo(:, 1,35, 3) = (/ & & 0.66652e-09_rb,0.11842e-05_rb,0.16383e-05_rb,0.16382e-05_rb,0.28183e-06_rb /) kbo(:, 2,35, 3) = (/ & & 0.63156e-09_rb,0.12541e-05_rb,0.17499e-05_rb,0.17457e-05_rb,0.30195e-06_rb /) kbo(:, 3,35, 3) = (/ & & 0.59990e-09_rb,0.13209e-05_rb,0.18504e-05_rb,0.18484e-05_rb,0.32174e-06_rb /) kbo(:, 4,35, 3) = (/ & & 0.57107e-09_rb,0.13850e-05_rb,0.19418e-05_rb,0.19438e-05_rb,0.34124e-06_rb /) kbo(:, 5,35, 3) = (/ & & 0.54470e-09_rb,0.14348e-05_rb,0.20135e-05_rb,0.20335e-05_rb,0.36050e-06_rb /) kbo(:, 1,36, 3) = (/ & & 0.54506e-09_rb,0.97870e-06_rb,0.13541e-05_rb,0.13520e-05_rb,0.23190e-06_rb /) kbo(:, 2,36, 3) = (/ & & 0.51650e-09_rb,0.10354e-05_rb,0.14455e-05_rb,0.14404e-05_rb,0.24845e-06_rb /) kbo(:, 3,36, 3) = (/ & & 0.49063e-09_rb,0.10910e-05_rb,0.15270e-05_rb,0.15247e-05_rb,0.26464e-06_rb /) kbo(:, 4,36, 3) = (/ & & 0.46707e-09_rb,0.11427e-05_rb,0.16012e-05_rb,0.16033e-05_rb,0.28072e-06_rb /) kbo(:, 5,36, 3) = (/ & & 0.44553e-09_rb,0.11833e-05_rb,0.16604e-05_rb,0.16774e-05_rb,0.29643e-06_rb /) kbo(:, 1,37, 3) = (/ & & 0.44949e-09_rb,0.80104e-06_rb,0.11066e-05_rb,0.11045e-05_rb,0.18888e-06_rb /) kbo(:, 2,37, 3) = (/ & & 0.42579e-09_rb,0.84810e-06_rb,0.11826e-05_rb,0.11777e-05_rb,0.20242e-06_rb /) kbo(:, 3,37, 3) = (/ & & 0.40435e-09_rb,0.89404e-06_rb,0.12504e-05_rb,0.12477e-05_rb,0.21578e-06_rb /) kbo(:, 4,37, 3) = (/ & & 0.38483e-09_rb,0.93737e-06_rb,0.13124e-05_rb,0.13129e-05_rb,0.22892e-06_rb /) kbo(:, 5,37, 3) = (/ & & 0.36699e-09_rb,0.97118e-06_rb,0.13617e-05_rb,0.13744e-05_rb,0.24190e-06_rb /) kbo(:, 1,38, 3) = (/ & & 0.37088e-09_rb,0.65468e-06_rb,0.90347e-06_rb,0.90140e-06_rb,0.15371e-06_rb /) kbo(:, 2,38, 3) = (/ & & 0.35120e-09_rb,0.69421e-06_rb,0.96676e-06_rb,0.96222e-06_rb,0.16484e-06_rb /) kbo(:, 3,38, 3) = (/ & & 0.33340e-09_rb,0.73211e-06_rb,0.10233e-05_rb,0.10203e-05_rb,0.17578e-06_rb /) kbo(:, 4,38, 3) = (/ & & 0.31721e-09_rb,0.76838e-06_rb,0.10750e-05_rb,0.10745e-05_rb,0.18656e-06_rb /) kbo(:, 5,38, 3) = (/ & & 0.30242e-09_rb,0.79676e-06_rb,0.11164e-05_rb,0.11256e-05_rb,0.19730e-06_rb /) kbo(:, 1,39, 3) = (/ & & 0.30603e-09_rb,0.53518e-06_rb,0.73755e-06_rb,0.73560e-06_rb,0.12509e-06_rb /) kbo(:, 2,39, 3) = (/ & & 0.28967e-09_rb,0.56827e-06_rb,0.79017e-06_rb,0.78607e-06_rb,0.13420e-06_rb /) kbo(:, 3,39, 3) = (/ & & 0.27490e-09_rb,0.59946e-06_rb,0.83729e-06_rb,0.83418e-06_rb,0.14320e-06_rb /) kbo(:, 4,39, 3) = (/ & & 0.26148e-09_rb,0.62968e-06_rb,0.88045e-06_rb,0.87919e-06_rb,0.15206e-06_rb /) kbo(:, 5,39, 3) = (/ & & 0.24922e-09_rb,0.65358e-06_rb,0.91511e-06_rb,0.92187e-06_rb,0.16092e-06_rb /) kbo(:, 1,40, 3) = (/ & & 0.25401e-09_rb,0.43491e-06_rb,0.59706e-06_rb,0.59583e-06_rb,0.10103e-06_rb /) kbo(:, 2,40, 3) = (/ & & 0.24027e-09_rb,0.46243e-06_rb,0.64127e-06_rb,0.63780e-06_rb,0.10854e-06_rb /) kbo(:, 3,40, 3) = (/ & & 0.22788e-09_rb,0.48789e-06_rb,0.68111e-06_rb,0.67785e-06_rb,0.11596e-06_rb /) kbo(:, 4,40, 3) = (/ & & 0.21664e-09_rb,0.51370e-06_rb,0.71776e-06_rb,0.71557e-06_rb,0.12318e-06_rb /) kbo(:, 5,40, 3) = (/ & & 0.20639e-09_rb,0.53413e-06_rb,0.74738e-06_rb,0.75116e-06_rb,0.13055e-06_rb /) kbo(:, 1,41, 3) = (/ & & 0.21103e-09_rb,0.35162e-06_rb,0.48245e-06_rb,0.48181e-06_rb,0.81551e-07_rb /) kbo(:, 2,41, 3) = (/ & & 0.19947e-09_rb,0.37577e-06_rb,0.51975e-06_rb,0.51683e-06_rb,0.87624e-07_rb /) kbo(:, 3,41, 3) = (/ & & 0.18906e-09_rb,0.39681e-06_rb,0.55372e-06_rb,0.55016e-06_rb,0.93775e-07_rb /) kbo(:, 4,41, 3) = (/ & & 0.17963e-09_rb,0.41856e-06_rb,0.58405e-06_rb,0.58177e-06_rb,0.99677e-07_rb /) kbo(:, 5,41, 3) = (/ & & 0.17105e-09_rb,0.43610e-06_rb,0.60957e-06_rb,0.61150e-06_rb,0.10578e-06_rb /) kbo(:, 1,42, 3) = (/ & & 0.17536e-09_rb,0.28412e-06_rb,0.38948e-06_rb,0.38933e-06_rb,0.65791e-07_rb /) kbo(:, 2,42, 3) = (/ & & 0.16563e-09_rb,0.30504e-06_rb,0.42097e-06_rb,0.41854e-06_rb,0.70752e-07_rb /) kbo(:, 3,42, 3) = (/ & & 0.15688e-09_rb,0.32265e-06_rb,0.44957e-06_rb,0.44624e-06_rb,0.75790e-07_rb /) kbo(:, 4,42, 3) = (/ & & 0.14897e-09_rb,0.34080e-06_rb,0.47502e-06_rb,0.47268e-06_rb,0.80648e-07_rb /) kbo(:, 5,42, 3) = (/ & & 0.14178e-09_rb,0.35584e-06_rb,0.49696e-06_rb,0.49747e-06_rb,0.85685e-07_rb /) kbo(:, 1,43, 3) = (/ & & 0.14625e-09_rb,0.22828e-06_rb,0.31269e-06_rb,0.31301e-06_rb,0.52858e-07_rb /) kbo(:, 2,43, 3) = (/ & & 0.13800e-09_rb,0.24660e-06_rb,0.33945e-06_rb,0.33736e-06_rb,0.56872e-07_rb /) kbo(:, 3,43, 3) = (/ & & 0.13060e-09_rb,0.26150e-06_rb,0.36382e-06_rb,0.36052e-06_rb,0.61005e-07_rb /) kbo(:, 4,43, 3) = (/ & & 0.12392e-09_rb,0.27637e-06_rb,0.38496e-06_rb,0.38262e-06_rb,0.65064e-07_rb /) kbo(:, 5,43, 3) = (/ & & 0.11786e-09_rb,0.28960e-06_rb,0.40432e-06_rb,0.40346e-06_rb,0.69134e-07_rb /) kbo(:, 1,44, 3) = (/ & & 0.12220e-09_rb,0.18299e-06_rb,0.25003e-06_rb,0.25075e-06_rb,0.42426e-07_rb /) kbo(:, 2,44, 3) = (/ & & 0.11518e-09_rb,0.19858e-06_rb,0.27271e-06_rb,0.27124e-06_rb,0.45605e-07_rb /) kbo(:, 3,44, 3) = (/ & & 0.10890e-09_rb,0.21149e-06_rb,0.29306e-06_rb,0.29059e-06_rb,0.48989e-07_rb /) kbo(:, 4,44, 3) = (/ & & 0.10324e-09_rb,0.22361e-06_rb,0.31128e-06_rb,0.30909e-06_rb,0.52357e-07_rb /) kbo(:, 5,44, 3) = (/ & & 0.98119e-10_rb,0.23540e-06_rb,0.32782e-06_rb,0.32657e-06_rb,0.55650e-07_rb /) kbo(:, 1,45, 3) = (/ & & 0.10215e-09_rb,0.14604e-06_rb,0.19957e-06_rb,0.20079e-06_rb,0.34009e-07_rb /) kbo(:, 2,45, 3) = (/ & & 0.96168e-10_rb,0.15976e-06_rb,0.21859e-06_rb,0.21782e-06_rb,0.36565e-07_rb /) kbo(:, 3,45, 3) = (/ & & 0.90832e-10_rb,0.17092e-06_rb,0.23594e-06_rb,0.23403e-06_rb,0.39336e-07_rb /) kbo(:, 4,45, 3) = (/ & & 0.86039e-10_rb,0.18076e-06_rb,0.25148e-06_rb,0.24940e-06_rb,0.42120e-07_rb /) kbo(:, 5,45, 3) = (/ & & 0.81705e-10_rb,0.19091e-06_rb,0.26579e-06_rb,0.26417e-06_rb,0.44806e-07_rb /) kbo(:, 1,46, 3) = (/ & & 0.85548e-10_rb,0.11606e-06_rb,0.15858e-06_rb,0.16025e-06_rb,0.27138e-07_rb /) kbo(:, 2,46, 3) = (/ & & 0.80430e-10_rb,0.12777e-06_rb,0.17465e-06_rb,0.17439e-06_rb,0.29260e-07_rb /) kbo(:, 3,46, 3) = (/ & & 0.75882e-10_rb,0.13771e-06_rb,0.18956e-06_rb,0.18801e-06_rb,0.31519e-07_rb /) kbo(:, 4,46, 3) = (/ & & 0.71807e-10_rb,0.14597e-06_rb,0.20282e-06_rb,0.20085e-06_rb,0.33790e-07_rb /) kbo(:, 5,46, 3) = (/ & & 0.68131e-10_rb,0.15454e-06_rb,0.21485e-06_rb,0.21321e-06_rb,0.36016e-07_rb /) kbo(:, 1,47, 3) = (/ & & 0.71880e-10_rb,0.91677e-07_rb,0.12518e-06_rb,0.12717e-06_rb,0.21548e-07_rb /) kbo(:, 2,47, 3) = (/ & & 0.67474e-10_rb,0.10182e-06_rb,0.13885e-06_rb,0.13887e-06_rb,0.23366e-07_rb /) kbo(:, 3,47, 3) = (/ & & 0.63573e-10_rb,0.11037e-06_rb,0.15155e-06_rb,0.15037e-06_rb,0.25140e-07_rb /) kbo(:, 4,47, 3) = (/ & & 0.60089e-10_rb,0.11757e-06_rb,0.16292e-06_rb,0.16115e-06_rb,0.27023e-07_rb /) kbo(:, 5,47, 3) = (/ & & 0.56955e-10_rb,0.12460e-06_rb,0.17303e-06_rb,0.17150e-06_rb,0.28886e-07_rb /) kbo(:, 1,48, 3) = (/ & & 0.60438e-10_rb,0.72378e-07_rb,0.98586e-07_rb,0.10075e-06_rb,0.17068e-07_rb /) kbo(:, 2,48, 3) = (/ & & 0.56639e-10_rb,0.80662e-07_rb,0.11003e-06_rb,0.11052e-06_rb,0.18643e-07_rb /) kbo(:, 3,48, 3) = (/ & & 0.53288e-10_rb,0.88391e-07_rb,0.12069e-06_rb,0.12007e-06_rb,0.20050e-07_rb /) kbo(:, 4,48, 3) = (/ & & 0.50306e-10_rb,0.94624e-07_rb,0.13045e-06_rb,0.12916e-06_rb,0.21587e-07_rb /) kbo(:, 5,48, 3) = (/ & & 0.47632e-10_rb,0.10026e-06_rb,0.13914e-06_rb,0.13778e-06_rb,0.23136e-07_rb /) kbo(:, 1,49, 3) = (/ & & 0.50856e-10_rb,0.57046e-07_rb,0.77565e-07_rb,0.79741e-07_rb,0.13510e-07_rb /) kbo(:, 2,49, 3) = (/ & & 0.47574e-10_rb,0.63730e-07_rb,0.86939e-07_rb,0.87826e-07_rb,0.14811e-07_rb /) kbo(:, 3,49, 3) = (/ & & 0.44692e-10_rb,0.70367e-07_rb,0.95974e-07_rb,0.95707e-07_rb,0.15992e-07_rb /) kbo(:, 4,49, 3) = (/ & & 0.42136e-10_rb,0.75959e-07_rb,0.10441e-06_rb,0.10336e-06_rb,0.17235e-07_rb /) kbo(:, 5,49, 3) = (/ & & 0.39851e-10_rb,0.80662e-07_rb,0.11179e-06_rb,0.11061e-06_rb,0.18501e-07_rb /) kbo(:, 1,50, 3) = (/ & & 0.42752e-10_rb,0.44994e-07_rb,0.60933e-07_rb,0.63170e-07_rb,0.10733e-07_rb /) kbo(:, 2,50, 3) = (/ & & 0.39920e-10_rb,0.50417e-07_rb,0.68695e-07_rb,0.69776e-07_rb,0.11778e-07_rb /) kbo(:, 3,50, 3) = (/ & & 0.37445e-10_rb,0.56129e-07_rb,0.76381e-07_rb,0.76292e-07_rb,0.12796e-07_rb /) kbo(:, 4,50, 3) = (/ & & 0.35258e-10_rb,0.60916e-07_rb,0.83533e-07_rb,0.82746e-07_rb,0.13770e-07_rb /) kbo(:, 5,50, 3) = (/ & & 0.33309e-10_rb,0.65010e-07_rb,0.89933e-07_rb,0.88828e-07_rb,0.14809e-07_rb /) kbo(:, 1,51, 3) = (/ & & 0.35935e-10_rb,0.35278e-07_rb,0.47901e-07_rb,0.50056e-07_rb,0.85239e-08_rb /) kbo(:, 2,51, 3) = (/ & & 0.33494e-10_rb,0.39897e-07_rb,0.54245e-07_rb,0.55439e-07_rb,0.93562e-08_rb /) kbo(:, 3,51, 3) = (/ & & 0.31368e-10_rb,0.44577e-07_rb,0.60687e-07_rb,0.60854e-07_rb,0.10229e-07_rb /) kbo(:, 4,51, 3) = (/ & & 0.29497e-10_rb,0.48906e-07_rb,0.66668e-07_rb,0.66217e-07_rb,0.11009e-07_rb /) kbo(:, 5,51, 3) = (/ & & 0.27834e-10_rb,0.52348e-07_rb,0.72154e-07_rb,0.71322e-07_rb,0.11856e-07_rb /) kbo(:, 1,52, 3) = (/ & & 0.30227e-10_rb,0.27572e-07_rb,0.37524e-07_rb,0.39754e-07_rb,0.67198e-08_rb /) kbo(:, 2,52, 3) = (/ & & 0.28118e-10_rb,0.31560e-07_rb,0.42810e-07_rb,0.44031e-07_rb,0.74267e-08_rb /) kbo(:, 3,52, 3) = (/ & & 0.26290e-10_rb,0.35319e-07_rb,0.48079e-07_rb,0.48486e-07_rb,0.81511e-08_rb /) kbo(:, 4,52, 3) = (/ & & 0.24687e-10_rb,0.39041e-07_rb,0.53141e-07_rb,0.52898e-07_rb,0.88044e-08_rb /) kbo(:, 5,52, 3) = (/ & & 0.23267e-10_rb,0.42123e-07_rb,0.57835e-07_rb,0.57177e-07_rb,0.94934e-08_rb /) kbo(:, 1,53, 3) = (/ & & 0.25448e-10_rb,0.21456e-07_rb,0.29324e-07_rb,0.31450e-07_rb,0.53035e-08_rb /) kbo(:, 2,53, 3) = (/ & & 0.23623e-10_rb,0.24922e-07_rb,0.33706e-07_rb,0.34903e-07_rb,0.59025e-08_rb /) kbo(:, 3,53, 3) = (/ & & 0.22048e-10_rb,0.27931e-07_rb,0.38009e-07_rb,0.38548e-07_rb,0.64842e-08_rb /) kbo(:, 4,53, 3) = (/ & & 0.20673e-10_rb,0.31117e-07_rb,0.42293e-07_rb,0.42180e-07_rb,0.70454e-08_rb /) kbo(:, 5,53, 3) = (/ & & 0.19459e-10_rb,0.33800e-07_rb,0.46316e-07_rb,0.45776e-07_rb,0.75886e-08_rb /) kbo(:, 1,54, 3) = (/ & & 0.21390e-10_rb,0.16743e-07_rb,0.23031e-07_rb,0.24877e-07_rb,0.41777e-08_rb /) kbo(:, 2,54, 3) = (/ & & 0.19815e-10_rb,0.19619e-07_rb,0.26556e-07_rb,0.27722e-07_rb,0.47031e-08_rb /) kbo(:, 3,54, 3) = (/ & & 0.18463e-10_rb,0.22167e-07_rb,0.30101e-07_rb,0.30708e-07_rb,0.51646e-08_rb /) kbo(:, 4,54, 3) = (/ & & 0.17286e-10_rb,0.24804e-07_rb,0.33704e-07_rb,0.33716e-07_rb,0.56448e-08_rb /) kbo(:, 5,54, 3) = (/ & & 0.16251e-10_rb,0.27183e-07_rb,0.37049e-07_rb,0.36696e-07_rb,0.60788e-08_rb /) kbo(:, 1,55, 3) = (/ & & 0.17973e-10_rb,0.13037e-07_rb,0.18115e-07_rb,0.19727e-07_rb,0.32912e-08_rb /) kbo(:, 2,55, 3) = (/ & & 0.16615e-10_rb,0.15402e-07_rb,0.20942e-07_rb,0.22043e-07_rb,0.37301e-08_rb /) kbo(:, 3,55, 3) = (/ & & 0.15454e-10_rb,0.17592e-07_rb,0.23848e-07_rb,0.24485e-07_rb,0.41129e-08_rb /) kbo(:, 4,55, 3) = (/ & & 0.14448e-10_rb,0.19733e-07_rb,0.26815e-07_rb,0.26954e-07_rb,0.45146e-08_rb /) kbo(:, 5,55, 3) = (/ & & 0.13565e-10_rb,0.21785e-07_rb,0.29633e-07_rb,0.29414e-07_rb,0.48762e-08_rb /) kbo(:, 1,56, 3) = (/ & & 0.15112e-10_rb,0.10127e-07_rb,0.14262e-07_rb,0.15637e-07_rb,0.25986e-08_rb /) kbo(:, 2,56, 3) = (/ & & 0.13939e-10_rb,0.12082e-07_rb,0.16458e-07_rb,0.17567e-07_rb,0.29510e-08_rb /) kbo(:, 3,56, 3) = (/ & & 0.12942e-10_rb,0.13980e-07_rb,0.18876e-07_rb,0.19499e-07_rb,0.32803e-08_rb /) kbo(:, 4,56, 3) = (/ & & 0.12080e-10_rb,0.15677e-07_rb,0.21298e-07_rb,0.21516e-07_rb,0.36078e-08_rb /) kbo(:, 5,56, 3) = (/ & & 0.11328e-10_rb,0.17421e-07_rb,0.23674e-07_rb,0.23552e-07_rb,0.39142e-08_rb /) kbo(:, 1,57, 3) = (/ & & 0.12716e-10_rb,0.78423e-08_rb,0.11218e-07_rb,0.12368e-07_rb,0.20572e-08_rb /) kbo(:, 2,57, 3) = (/ & & 0.11703e-10_rb,0.94468e-08_rb,0.12944e-07_rb,0.13939e-07_rb,0.23449e-08_rb /) kbo(:, 3,57, 3) = (/ & & 0.10844e-10_rb,0.11054e-07_rb,0.14933e-07_rb,0.15504e-07_rb,0.26161e-08_rb /) kbo(:, 4,57, 3) = (/ & & 0.10105e-10_rb,0.12445e-07_rb,0.16895e-07_rb,0.17167e-07_rb,0.28789e-08_rb /) kbo(:, 5,57, 3) = (/ & & 0.94629e-11_rb,0.13929e-07_rb,0.18884e-07_rb,0.18837e-07_rb,0.31391e-08_rb /) kbo(:, 1,58, 3) = (/ & & 0.10694e-10_rb,0.61084e-08_rb,0.88278e-08_rb,0.97801e-08_rb,0.16192e-08_rb /) kbo(:, 2,58, 3) = (/ & & 0.98180e-11_rb,0.73859e-08_rb,0.10206e-07_rb,0.11064e-07_rb,0.18486e-08_rb /) kbo(:, 3,58, 3) = (/ & & 0.90797e-11_rb,0.87113e-08_rb,0.11801e-07_rb,0.12348e-07_rb,0.20872e-08_rb /) kbo(:, 4,58, 3) = (/ & & 0.84478e-11_rb,0.99003e-08_rb,0.13409e-07_rb,0.13707e-07_rb,0.22967e-08_rb /) kbo(:, 5,58, 3) = (/ & & 0.78998e-11_rb,0.11108e-07_rb,0.15069e-07_rb,0.15082e-07_rb,0.25182e-08_rb /) kbo(:, 1,59, 3) = (/ & & 0.88513e-11_rb,0.49239e-08_rb,0.71386e-08_rb,0.79170e-08_rb,0.13089e-08_rb /) kbo(:, 2,59, 3) = (/ & & 0.81187e-11_rb,0.59541e-08_rb,0.82539e-08_rb,0.89758e-08_rb,0.14952e-08_rb /) kbo(:, 3,59, 3) = (/ & & 0.75021e-11_rb,0.70450e-08_rb,0.95567e-08_rb,0.10024e-07_rb,0.16919e-08_rb /) kbo(:, 4,59, 3) = (/ & & 0.69753e-11_rb,0.80391e-08_rb,0.10874e-07_rb,0.11143e-07_rb,0.18646e-08_rb /) kbo(:, 5,59, 3) = (/ & & 0.65191e-11_rb,0.90265e-08_rb,0.12240e-07_rb,0.12268e-07_rb,0.20471e-08_rb /) kbo(:, 1,13, 4) = (/ & & 0.40115e-06_rb,0.20542e-03_rb,0.29006e-03_rb,0.29983e-03_rb,0.86404e-04_rb /) kbo(:, 2,13, 4) = (/ & & 0.38503e-06_rb,0.22086e-03_rb,0.30833e-03_rb,0.32518e-03_rb,0.92611e-04_rb /) kbo(:, 3,13, 4) = (/ & & 0.37042e-06_rb,0.23415e-03_rb,0.32674e-03_rb,0.34814e-03_rb,0.98878e-04_rb /) kbo(:, 4,13, 4) = (/ & & 0.35699e-06_rb,0.24607e-03_rb,0.34335e-03_rb,0.36858e-03_rb,0.10559e-03_rb /) kbo(:, 5,13, 4) = (/ & & 0.34439e-06_rb,0.25741e-03_rb,0.35943e-03_rb,0.38716e-03_rb,0.11262e-03_rb /) kbo(:, 1,14, 4) = (/ & & 0.32717e-06_rb,0.17086e-03_rb,0.24121e-03_rb,0.25001e-03_rb,0.72120e-04_rb /) kbo(:, 2,14, 4) = (/ & & 0.31411e-06_rb,0.18358e-03_rb,0.25599e-03_rb,0.27089e-03_rb,0.77351e-04_rb /) kbo(:, 3,14, 4) = (/ & & 0.30225e-06_rb,0.19456e-03_rb,0.27149e-03_rb,0.29002e-03_rb,0.82676e-04_rb /) kbo(:, 4,14, 4) = (/ & & 0.29132e-06_rb,0.20460e-03_rb,0.28544e-03_rb,0.30678e-03_rb,0.88331e-04_rb /) kbo(:, 5,14, 4) = (/ & & 0.28105e-06_rb,0.21410e-03_rb,0.29919e-03_rb,0.32271e-03_rb,0.94451e-04_rb /) kbo(:, 1,15, 4) = (/ & & 0.26673e-06_rb,0.14221e-03_rb,0.20048e-03_rb,0.20843e-03_rb,0.60213e-04_rb /) kbo(:, 2,15, 4) = (/ & & 0.25615e-06_rb,0.15268e-03_rb,0.21264e-03_rb,0.22531e-03_rb,0.64531e-04_rb /) kbo(:, 3,15, 4) = (/ & & 0.24652e-06_rb,0.16170e-03_rb,0.22567e-03_rb,0.24157e-03_rb,0.69102e-04_rb /) kbo(:, 4,15, 4) = (/ & & 0.23764e-06_rb,0.17023e-03_rb,0.23750e-03_rb,0.25543e-03_rb,0.73891e-04_rb /) kbo(:, 5,15, 4) = (/ & & 0.22926e-06_rb,0.17815e-03_rb,0.24912e-03_rb,0.26892e-03_rb,0.79167e-04_rb /) kbo(:, 1,16, 4) = (/ & & 0.21740e-06_rb,0.11824e-03_rb,0.16644e-03_rb,0.17381e-03_rb,0.50227e-04_rb /) kbo(:, 2,16, 4) = (/ & & 0.20884e-06_rb,0.12696e-03_rb,0.17683e-03_rb,0.18780e-03_rb,0.53903e-04_rb /) kbo(:, 3,16, 4) = (/ & & 0.20104e-06_rb,0.13434e-03_rb,0.18764e-03_rb,0.20094e-03_rb,0.57777e-04_rb /) kbo(:, 4,16, 4) = (/ & & 0.19381e-06_rb,0.14177e-03_rb,0.19757e-03_rb,0.21259e-03_rb,0.61821e-04_rb /) kbo(:, 5,16, 4) = (/ & & 0.18698e-06_rb,0.14828e-03_rb,0.20747e-03_rb,0.22416e-03_rb,0.66326e-04_rb /) kbo(:, 1,17, 4) = (/ & & 0.17724e-06_rb,0.98287e-04_rb,0.13813e-03_rb,0.14496e-03_rb,0.41851e-04_rb /) kbo(:, 2,17, 4) = (/ & & 0.17029e-06_rb,0.10548e-03_rb,0.14701e-03_rb,0.15636e-03_rb,0.44943e-04_rb /) kbo(:, 3,17, 4) = (/ & & 0.16396e-06_rb,0.11169e-03_rb,0.15605e-03_rb,0.16727e-03_rb,0.48176e-04_rb /) kbo(:, 4,17, 4) = (/ & & 0.15809e-06_rb,0.11795e-03_rb,0.16435e-03_rb,0.17684e-03_rb,0.51716e-04_rb /) kbo(:, 5,17, 4) = (/ & & 0.15251e-06_rb,0.12332e-03_rb,0.17265e-03_rb,0.18683e-03_rb,0.55480e-04_rb /) kbo(:, 1,18, 4) = (/ & & 0.14450e-06_rb,0.81703e-04_rb,0.11464e-03_rb,0.12079e-03_rb,0.34849e-04_rb /) kbo(:, 2,18, 4) = (/ & & 0.13887e-06_rb,0.87580e-04_rb,0.12224e-03_rb,0.13028e-03_rb,0.37465e-04_rb /) kbo(:, 3,18, 4) = (/ & & 0.13373e-06_rb,0.92869e-04_rb,0.12966e-03_rb,0.13906e-03_rb,0.40225e-04_rb /) kbo(:, 4,18, 4) = (/ & & 0.12896e-06_rb,0.98034e-04_rb,0.13668e-03_rb,0.14712e-03_rb,0.43227e-04_rb /) kbo(:, 5,18, 4) = (/ & & 0.12439e-06_rb,0.10250e-03_rb,0.14367e-03_rb,0.15557e-03_rb,0.46383e-04_rb /) kbo(:, 1,19, 4) = (/ & & 0.11782e-06_rb,0.67922e-04_rb,0.95121e-04_rb,0.10059e-03_rb,0.29014e-04_rb /) kbo(:, 2,19, 4) = (/ & & 0.11325e-06_rb,0.72759e-04_rb,0.10166e-03_rb,0.10843e-03_rb,0.31239e-04_rb /) kbo(:, 3,19, 4) = (/ & & 0.10909e-06_rb,0.77213e-04_rb,0.10769e-03_rb,0.11563e-03_rb,0.33594e-04_rb /) kbo(:, 4,19, 4) = (/ & & 0.10521e-06_rb,0.81507e-04_rb,0.11367e-03_rb,0.12244e-03_rb,0.36087e-04_rb /) kbo(:, 5,19, 4) = (/ & & 0.10146e-06_rb,0.85229e-04_rb,0.11951e-03_rb,0.12955e-03_rb,0.38760e-04_rb /) kbo(:, 1,20, 4) = (/ & & 0.96005e-07_rb,0.56539e-04_rb,0.79048e-04_rb,0.83638e-04_rb,0.24182e-04_rb /) kbo(:, 2,20, 4) = (/ & & 0.92311e-07_rb,0.60522e-04_rb,0.84506e-04_rb,0.90308e-04_rb,0.26052e-04_rb /) kbo(:, 3,20, 4) = (/ & & 0.88927e-07_rb,0.64305e-04_rb,0.89608e-04_rb,0.96229e-04_rb,0.28071e-04_rb /) kbo(:, 4,20, 4) = (/ & & 0.85775e-07_rb,0.67811e-04_rb,0.94659e-04_rb,0.10203e-03_rb,0.30185e-04_rb /) kbo(:, 5,20, 4) = (/ & & 0.82709e-07_rb,0.70967e-04_rb,0.99551e-04_rb,0.10796e-03_rb,0.32438e-04_rb /) kbo(:, 1,21, 4) = (/ & & 0.78225e-07_rb,0.47094e-04_rb,0.65736e-04_rb,0.69706e-04_rb,0.20168e-04_rb /) kbo(:, 2,21, 4) = (/ & & 0.75235e-07_rb,0.50383e-04_rb,0.70309e-04_rb,0.75210e-04_rb,0.21748e-04_rb /) kbo(:, 3,21, 4) = (/ & & 0.72491e-07_rb,0.53581e-04_rb,0.74579e-04_rb,0.80106e-04_rb,0.23442e-04_rb /) kbo(:, 4,21, 4) = (/ & & 0.69929e-07_rb,0.56448e-04_rb,0.78864e-04_rb,0.85108e-04_rb,0.25248e-04_rb /) kbo(:, 5,21, 4) = (/ & & 0.67419e-07_rb,0.59090e-04_rb,0.82932e-04_rb,0.89870e-04_rb,0.27098e-04_rb /) kbo(:, 1,22, 4) = (/ & & 0.63572e-07_rb,0.39426e-04_rb,0.54979e-04_rb,0.58443e-04_rb,0.16913e-04_rb /) kbo(:, 2,22, 4) = (/ & & 0.61166e-07_rb,0.42097e-04_rb,0.58779e-04_rb,0.62933e-04_rb,0.18259e-04_rb /) kbo(:, 3,22, 4) = (/ & & 0.58951e-07_rb,0.44794e-04_rb,0.62330e-04_rb,0.66952e-04_rb,0.19670e-04_rb /) kbo(:, 4,22, 4) = (/ & & 0.56872e-07_rb,0.47147e-04_rb,0.65961e-04_rb,0.71230e-04_rb,0.21221e-04_rb /) kbo(:, 5,22, 4) = (/ & & 0.54822e-07_rb,0.49377e-04_rb,0.69234e-04_rb,0.75038e-04_rb,0.22743e-04_rb /) kbo(:, 1,23, 4) = (/ & & 0.51656e-07_rb,0.32950e-04_rb,0.46052e-04_rb,0.49084e-04_rb,0.14181e-04_rb /) kbo(:, 2,23, 4) = (/ & & 0.49721e-07_rb,0.35250e-04_rb,0.49106e-04_rb,0.52675e-04_rb,0.15330e-04_rb /) kbo(:, 3,23, 4) = (/ & & 0.47930e-07_rb,0.37438e-04_rb,0.52152e-04_rb,0.56097e-04_rb,0.16532e-04_rb /) kbo(:, 4,23, 4) = (/ & & 0.46242e-07_rb,0.39418e-04_rb,0.55160e-04_rb,0.59674e-04_rb,0.17811e-04_rb /) kbo(:, 5,23, 4) = (/ & & 0.44570e-07_rb,0.41280e-04_rb,0.57899e-04_rb,0.62654e-04_rb,0.19100e-04_rb /) kbo(:, 1,24, 4) = (/ & & 0.41962e-07_rb,0.27608e-04_rb,0.38527e-04_rb,0.41167e-04_rb,0.11908e-04_rb /) kbo(:, 2,24, 4) = (/ & & 0.40405e-07_rb,0.29547e-04_rb,0.41099e-04_rb,0.44081e-04_rb,0.12880e-04_rb /) kbo(:, 3,24, 4) = (/ & & 0.38959e-07_rb,0.31321e-04_rb,0.43687e-04_rb,0.47051e-04_rb,0.13912e-04_rb /) kbo(:, 4,24, 4) = (/ & & 0.37583e-07_rb,0.32994e-04_rb,0.46190e-04_rb,0.49890e-04_rb,0.14961e-04_rb /) kbo(:, 5,24, 4) = (/ & & 0.36227e-07_rb,0.34560e-04_rb,0.48473e-04_rb,0.52358e-04_rb,0.16039e-04_rb /) kbo(:, 1,25, 4) = (/ & & 0.34075e-07_rb,0.23153e-04_rb,0.32305e-04_rb,0.34566e-04_rb,0.10014e-04_rb /) kbo(:, 2,25, 4) = (/ & & 0.32822e-07_rb,0.24769e-04_rb,0.34435e-04_rb,0.36968e-04_rb,0.10822e-04_rb /) kbo(:, 3,25, 4) = (/ & & 0.31655e-07_rb,0.26242e-04_rb,0.36635e-04_rb,0.39484e-04_rb,0.11699e-04_rb /) kbo(:, 4,25, 4) = (/ & & 0.30528e-07_rb,0.27624e-04_rb,0.38648e-04_rb,0.41770e-04_rb,0.12588e-04_rb /) kbo(:, 5,25, 4) = (/ & & 0.29434e-07_rb,0.28951e-04_rb,0.40632e-04_rb,0.43774e-04_rb,0.13479e-04_rb /) kbo(:, 1,26, 4) = (/ & & 0.27652e-07_rb,0.19460e-04_rb,0.27114e-04_rb,0.29052e-04_rb,0.84372e-05_rb /) kbo(:, 2,26, 4) = (/ & & 0.26645e-07_rb,0.20785e-04_rb,0.28933e-04_rb,0.31091e-04_rb,0.91305e-05_rb /) kbo(:, 3,26, 4) = (/ & & 0.25703e-07_rb,0.22018e-04_rb,0.30749e-04_rb,0.33173e-04_rb,0.98560e-05_rb /) kbo(:, 4,26, 4) = (/ & & 0.24780e-07_rb,0.23166e-04_rb,0.32405e-04_rb,0.34971e-04_rb,0.10593e-04_rb /) kbo(:, 5,26, 4) = (/ & & 0.23900e-07_rb,0.24286e-04_rb,0.34048e-04_rb,0.36663e-04_rb,0.11346e-04_rb /) kbo(:, 1,27, 4) = (/ & & 0.22439e-07_rb,0.16370e-04_rb,0.22763e-04_rb,0.24397e-04_rb,0.71084e-05_rb /) kbo(:, 2,27, 4) = (/ & & 0.21628e-07_rb,0.17461e-04_rb,0.24318e-04_rb,0.26140e-04_rb,0.76961e-05_rb /) kbo(:, 3,27, 4) = (/ & & 0.20865e-07_rb,0.18493e-04_rb,0.25826e-04_rb,0.27824e-04_rb,0.83080e-05_rb /) kbo(:, 4,27, 4) = (/ & & 0.20113e-07_rb,0.19452e-04_rb,0.27215e-04_rb,0.29287e-04_rb,0.89207e-05_rb /) kbo(:, 5,27, 4) = (/ & & 0.19405e-07_rb,0.20376e-04_rb,0.28543e-04_rb,0.30710e-04_rb,0.95477e-05_rb /) kbo(:, 1,28, 4) = (/ & & 0.18208e-07_rb,0.13777e-04_rb,0.19138e-04_rb,0.20524e-04_rb,0.59952e-05_rb /) kbo(:, 2,28, 4) = (/ & & 0.17555e-07_rb,0.14679e-04_rb,0.20448e-04_rb,0.21996e-04_rb,0.64907e-05_rb /) kbo(:, 3,28, 4) = (/ & & 0.16936e-07_rb,0.15522e-04_rb,0.21661e-04_rb,0.23357e-04_rb,0.69966e-05_rb /) kbo(:, 4,28, 4) = (/ & & 0.16325e-07_rb,0.16334e-04_rb,0.22846e-04_rb,0.24537e-04_rb,0.75124e-05_rb /) kbo(:, 5,28, 4) = (/ & & 0.15755e-07_rb,0.17088e-04_rb,0.23931e-04_rb,0.25722e-04_rb,0.80305e-05_rb /) kbo(:, 1,29, 4) = (/ & & 0.14772e-07_rb,0.11598e-04_rb,0.16117e-04_rb,0.17294e-04_rb,0.50602e-05_rb /) kbo(:, 2,29, 4) = (/ & & 0.14246e-07_rb,0.12346e-04_rb,0.17198e-04_rb,0.18521e-04_rb,0.54799e-05_rb /) kbo(:, 3,29, 4) = (/ & & 0.13739e-07_rb,0.13047e-04_rb,0.18205e-04_rb,0.19566e-04_rb,0.58992e-05_rb /) kbo(:, 4,29, 4) = (/ & & 0.13247e-07_rb,0.13729e-04_rb,0.19173e-04_rb,0.20574e-04_rb,0.63251e-05_rb /) kbo(:, 5,29, 4) = (/ & & 0.12789e-07_rb,0.14341e-04_rb,0.20068e-04_rb,0.21536e-04_rb,0.67496e-05_rb /) kbo(:, 1,30, 4) = (/ & & 0.11984e-07_rb,0.97679e-05_rb,0.13568e-04_rb,0.14565e-04_rb,0.42721e-05_rb /) kbo(:, 2,30, 4) = (/ & & 0.11560e-07_rb,0.10389e-04_rb,0.14461e-04_rb,0.15560e-04_rb,0.46182e-05_rb /) kbo(:, 3,30, 4) = (/ & & 0.11144e-07_rb,0.10973e-04_rb,0.15302e-04_rb,0.16410e-04_rb,0.49715e-05_rb /) kbo(:, 4,30, 4) = (/ & & 0.10750e-07_rb,0.11532e-04_rb,0.16091e-04_rb,0.17244e-04_rb,0.53212e-05_rb /) kbo(:, 5,30, 4) = (/ & & 0.10381e-07_rb,0.12034e-04_rb,0.16821e-04_rb,0.18023e-04_rb,0.56712e-05_rb /) kbo(:, 1,31, 4) = (/ & & 0.97205e-08_rb,0.82296e-05_rb,0.11440e-04_rb,0.12288e-04_rb,0.36079e-05_rb /) kbo(:, 2,31, 4) = (/ & & 0.93777e-08_rb,0.87431e-05_rb,0.12158e-04_rb,0.13067e-04_rb,0.38974e-05_rb /) kbo(:, 3,31, 4) = (/ & & 0.90391e-08_rb,0.92300e-05_rb,0.12862e-04_rb,0.13769e-04_rb,0.41885e-05_rb /) kbo(:, 4,31, 4) = (/ & & 0.87219e-08_rb,0.96854e-05_rb,0.13508e-04_rb,0.14454e-04_rb,0.44756e-05_rb /) kbo(:, 5,31, 4) = (/ & & 0.84251e-08_rb,0.10101e-04_rb,0.14090e-04_rb,0.15064e-04_rb,0.47643e-05_rb /) kbo(:, 1,32, 4) = (/ & & 0.78842e-08_rb,0.69379e-05_rb,0.96378e-05_rb,0.10350e-04_rb,0.30462e-05_rb /) kbo(:, 2,32, 4) = (/ & & 0.76058e-08_rb,0.73605e-05_rb,0.10230e-04_rb,0.10964e-04_rb,0.32879e-05_rb /) kbo(:, 3,32, 4) = (/ & & 0.73312e-08_rb,0.77685e-05_rb,0.10806e-04_rb,0.11552e-04_rb,0.35258e-05_rb /) kbo(:, 4,32, 4) = (/ & & 0.70761e-08_rb,0.81393e-05_rb,0.11329e-04_rb,0.12109e-04_rb,0.37642e-05_rb /) kbo(:, 5,32, 4) = (/ & & 0.68375e-08_rb,0.84723e-05_rb,0.11806e-04_rb,0.12582e-04_rb,0.40027e-05_rb /) kbo(:, 1,33, 4) = (/ & & 0.63946e-08_rb,0.58484e-05_rb,0.81132e-05_rb,0.87138e-05_rb,0.25722e-05_rb /) kbo(:, 2,33, 4) = (/ & & 0.61668e-08_rb,0.61985e-05_rb,0.86152e-05_rb,0.92043e-05_rb,0.27716e-05_rb /) kbo(:, 3,33, 4) = (/ & & 0.59460e-08_rb,0.65329e-05_rb,0.90761e-05_rb,0.96914e-05_rb,0.29672e-05_rb /) kbo(:, 4,33, 4) = (/ & & 0.57410e-08_rb,0.68349e-05_rb,0.94991e-05_rb,0.10128e-04_rb,0.31649e-05_rb /) kbo(:, 5,33, 4) = (/ & & 0.55490e-08_rb,0.71098e-05_rb,0.98972e-05_rb,0.10494e-04_rb,0.33613e-05_rb /) kbo(:, 1,34, 4) = (/ & & 0.51931e-08_rb,0.49155e-05_rb,0.68122e-05_rb,0.73003e-05_rb,0.21648e-05_rb /) kbo(:, 2,34, 4) = (/ & & 0.50066e-08_rb,0.52108e-05_rb,0.72299e-05_rb,0.77128e-05_rb,0.23280e-05_rb /) kbo(:, 3,34, 4) = (/ & & 0.48289e-08_rb,0.54838e-05_rb,0.76076e-05_rb,0.81077e-05_rb,0.24906e-05_rb /) kbo(:, 4,34, 4) = (/ & & 0.46636e-08_rb,0.57271e-05_rb,0.79460e-05_rb,0.84494e-05_rb,0.26534e-05_rb /) kbo(:, 5,34, 4) = (/ & & 0.45089e-08_rb,0.59543e-05_rb,0.82751e-05_rb,0.87422e-05_rb,0.28159e-05_rb /) kbo(:, 1,35, 4) = (/ & & 0.42177e-08_rb,0.41104e-05_rb,0.56914e-05_rb,0.60852e-05_rb,0.18078e-05_rb /) kbo(:, 2,35, 4) = (/ & & 0.40795e-08_rb,0.43580e-05_rb,0.60334e-05_rb,0.64274e-05_rb,0.19421e-05_rb /) kbo(:, 3,35, 4) = (/ & & 0.39353e-08_rb,0.45814e-05_rb,0.63407e-05_rb,0.67443e-05_rb,0.20767e-05_rb /) kbo(:, 4,35, 4) = (/ & & 0.38012e-08_rb,0.47803e-05_rb,0.66196e-05_rb,0.70144e-05_rb,0.22114e-05_rb /) kbo(:, 5,35, 4) = (/ & & 0.36756e-08_rb,0.49682e-05_rb,0.68884e-05_rb,0.72539e-05_rb,0.23458e-05_rb /) kbo(:, 1,36, 4) = (/ & & 0.34162e-08_rb,0.34141e-05_rb,0.47224e-05_rb,0.50412e-05_rb,0.14965e-05_rb /) kbo(:, 2,36, 4) = (/ & & 0.33196e-08_rb,0.36215e-05_rb,0.50037e-05_rb,0.53241e-05_rb,0.16078e-05_rb /) kbo(:, 3,36, 4) = (/ & & 0.32195e-08_rb,0.38064e-05_rb,0.52583e-05_rb,0.55817e-05_rb,0.17188e-05_rb /) kbo(:, 4,36, 4) = (/ & & 0.31099e-08_rb,0.39715e-05_rb,0.54881e-05_rb,0.58006e-05_rb,0.18307e-05_rb /) kbo(:, 5,36, 4) = (/ & & 0.30072e-08_rb,0.41270e-05_rb,0.57065e-05_rb,0.59974e-05_rb,0.19419e-05_rb /) kbo(:, 1,37, 4) = (/ & & 0.28008e-08_rb,0.28094e-05_rb,0.38801e-05_rb,0.41393e-05_rb,0.12248e-05_rb /) kbo(:, 2,37, 4) = (/ & & 0.27121e-08_rb,0.29836e-05_rb,0.41155e-05_rb,0.43748e-05_rb,0.13168e-05_rb /) kbo(:, 3,37, 4) = (/ & & 0.26482e-08_rb,0.31397e-05_rb,0.43282e-05_rb,0.45885e-05_rb,0.14087e-05_rb /) kbo(:, 4,37, 4) = (/ & & 0.25576e-08_rb,0.32779e-05_rb,0.45200e-05_rb,0.47706e-05_rb,0.15013e-05_rb /) kbo(:, 5,37, 4) = (/ & & 0.24727e-08_rb,0.34082e-05_rb,0.47023e-05_rb,0.49354e-05_rb,0.15935e-05_rb /) kbo(:, 1,38, 4) = (/ & & 0.22984e-08_rb,0.23106e-05_rb,0.31856e-05_rb,0.33961e-05_rb,0.10016e-05_rb /) kbo(:, 2,38, 4) = (/ & & 0.22220e-08_rb,0.24563e-05_rb,0.33826e-05_rb,0.35915e-05_rb,0.10776e-05_rb /) kbo(:, 3,38, 4) = (/ & & 0.21588e-08_rb,0.25882e-05_rb,0.35600e-05_rb,0.37696e-05_rb,0.11538e-05_rb /) kbo(:, 4,38, 4) = (/ & & 0.21040e-08_rb,0.27033e-05_rb,0.37199e-05_rb,0.39213e-05_rb,0.12304e-05_rb /) kbo(:, 5,38, 4) = (/ & & 0.20339e-08_rb,0.28122e-05_rb,0.38728e-05_rb,0.40597e-05_rb,0.13067e-05_rb /) kbo(:, 1,39, 4) = (/ & & 0.18867e-08_rb,0.18990e-05_rb,0.26147e-05_rb,0.27855e-05_rb,0.81895e-06_rb /) kbo(:, 2,39, 4) = (/ & & 0.18219e-08_rb,0.20211e-05_rb,0.27789e-05_rb,0.29482e-05_rb,0.88168e-06_rb /) kbo(:, 3,39, 4) = (/ & & 0.17671e-08_rb,0.21324e-05_rb,0.29272e-05_rb,0.30962e-05_rb,0.94475e-06_rb /) kbo(:, 4,39, 4) = (/ & & 0.17201e-08_rb,0.22287e-05_rb,0.30607e-05_rb,0.32231e-05_rb,0.10080e-05_rb /) kbo(:, 5,39, 4) = (/ & & 0.16729e-08_rb,0.23197e-05_rb,0.31885e-05_rb,0.33389e-05_rb,0.10713e-05_rb /) kbo(:, 1,40, 4) = (/ & & 0.15567e-08_rb,0.15486e-05_rb,0.21299e-05_rb,0.22697e-05_rb,0.66418e-06_rb /) kbo(:, 2,40, 4) = (/ & & 0.15030e-08_rb,0.16525e-05_rb,0.22686e-05_rb,0.24063e-05_rb,0.71591e-06_rb /) kbo(:, 3,40, 4) = (/ & & 0.14559e-08_rb,0.17468e-05_rb,0.23938e-05_rb,0.25304e-05_rb,0.76804e-06_rb /) kbo(:, 4,40, 4) = (/ & & 0.14147e-08_rb,0.18284e-05_rb,0.25062e-05_rb,0.26377e-05_rb,0.82053e-06_rb /) kbo(:, 5,40, 4) = (/ & & 0.13808e-08_rb,0.19051e-05_rb,0.26142e-05_rb,0.27362e-05_rb,0.87282e-06_rb /) kbo(:, 1,41, 4) = (/ & & 0.12855e-08_rb,0.12622e-05_rb,0.17326e-05_rb,0.18472e-05_rb,0.53778e-06_rb /) kbo(:, 2,41, 4) = (/ & & 0.12414e-08_rb,0.13486e-05_rb,0.18494e-05_rb,0.19612e-05_rb,0.58062e-06_rb /) kbo(:, 3,41, 4) = (/ & & 0.12006e-08_rb,0.14290e-05_rb,0.19551e-05_rb,0.20665e-05_rb,0.62365e-06_rb /) kbo(:, 4,41, 4) = (/ & & 0.11655e-08_rb,0.14984e-05_rb,0.20506e-05_rb,0.21570e-05_rb,0.66707e-06_rb /) kbo(:, 5,41, 4) = (/ & & 0.11366e-08_rb,0.15630e-05_rb,0.21416e-05_rb,0.22404e-05_rb,0.71035e-06_rb /) kbo(:, 1,42, 4) = (/ & & 0.10616e-08_rb,0.10273e-05_rb,0.14085e-05_rb,0.15034e-05_rb,0.43514e-06_rb /) kbo(:, 2,42, 4) = (/ & & 0.10250e-08_rb,0.10997e-05_rb,0.15070e-05_rb,0.15973e-05_rb,0.47061e-06_rb /) kbo(:, 3,42, 4) = (/ & & 0.99030e-09_rb,0.11679e-05_rb,0.15953e-05_rb,0.16861e-05_rb,0.50613e-06_rb /) kbo(:, 4,42, 4) = (/ & & 0.96062e-09_rb,0.12272e-05_rb,0.16766e-05_rb,0.17642e-05_rb,0.54216e-06_rb /) kbo(:, 5,42, 4) = (/ & & 0.93443e-09_rb,0.12817e-05_rb,0.17529e-05_rb,0.18333e-05_rb,0.57784e-06_rb /) kbo(:, 1,43, 4) = (/ & & 0.87883e-09_rb,0.83199e-06_rb,0.11402e-05_rb,0.12168e-05_rb,0.35025e-06_rb /) kbo(:, 2,43, 4) = (/ & & 0.84829e-09_rb,0.89254e-06_rb,0.12225e-05_rb,0.12958e-05_rb,0.37960e-06_rb /) kbo(:, 3,43, 4) = (/ & & 0.81903e-09_rb,0.95072e-06_rb,0.12966e-05_rb,0.13708e-05_rb,0.40893e-06_rb /) kbo(:, 4,43, 4) = (/ & & 0.79369e-09_rb,0.10020e-05_rb,0.13665e-05_rb,0.14379e-05_rb,0.43862e-06_rb /) kbo(:, 5,43, 4) = (/ & & 0.77108e-09_rb,0.10478e-05_rb,0.14302e-05_rb,0.14962e-05_rb,0.46817e-06_rb /) kbo(:, 1,44, 4) = (/ & & 0.72838e-09_rb,0.67080e-06_rb,0.91962e-06_rb,0.98102e-06_rb,0.28107e-06_rb /) kbo(:, 2,44, 4) = (/ & & 0.70279e-09_rb,0.72271e-06_rb,0.98853e-06_rb,0.10491e-05_rb,0.30540e-06_rb /) kbo(:, 3,44, 4) = (/ & & 0.67858e-09_rb,0.77203e-06_rb,0.10522e-05_rb,0.11122e-05_rb,0.32958e-06_rb /) kbo(:, 4,44, 4) = (/ & & 0.65651e-09_rb,0.81625e-06_rb,0.11115e-05_rb,0.11697e-05_rb,0.35407e-06_rb /) kbo(:, 5,44, 4) = (/ & & 0.63727e-09_rb,0.85495e-06_rb,0.11651e-05_rb,0.12192e-05_rb,0.37850e-06_rb /) kbo(:, 1,45, 4) = (/ & & 0.60379e-09_rb,0.54047e-06_rb,0.74128e-06_rb,0.79100e-06_rb,0.22535e-06_rb /) kbo(:, 2,45, 4) = (/ & & 0.58228e-09_rb,0.58429e-06_rb,0.79854e-06_rb,0.84841e-06_rb,0.24548e-06_rb /) kbo(:, 3,45, 4) = (/ & & 0.56220e-09_rb,0.62606e-06_rb,0.85283e-06_rb,0.90157e-06_rb,0.26541e-06_rb /) kbo(:, 4,45, 4) = (/ & & 0.54320e-09_rb,0.66423e-06_rb,0.90296e-06_rb,0.95015e-06_rb,0.28558e-06_rb /) kbo(:, 5,45, 4) = (/ & & 0.52686e-09_rb,0.69719e-06_rb,0.94830e-06_rb,0.99254e-06_rb,0.30580e-06_rb /) kbo(:, 1,46, 4) = (/ & & 0.50108e-09_rb,0.43361e-06_rb,0.59554e-06_rb,0.63432e-06_rb,0.18023e-06_rb /) kbo(:, 2,46, 4) = (/ & & 0.48291e-09_rb,0.47127e-06_rb,0.64349e-06_rb,0.68510e-06_rb,0.19677e-06_rb /) kbo(:, 3,46, 4) = (/ & & 0.46612e-09_rb,0.50621e-06_rb,0.68942e-06_rb,0.72929e-06_rb,0.21325e-06_rb /) kbo(:, 4,46, 4) = (/ & & 0.45004e-09_rb,0.53903e-06_rb,0.73169e-06_rb,0.77095e-06_rb,0.22986e-06_rb /) kbo(:, 5,46, 4) = (/ & & 0.43600e-09_rb,0.56740e-06_rb,0.77081e-06_rb,0.80714e-06_rb,0.24654e-06_rb /) kbo(:, 1,47, 4) = (/ & & 0.41665e-09_rb,0.34614e-06_rb,0.47565e-06_rb,0.50598e-06_rb,0.14345e-06_rb /) kbo(:, 2,47, 4) = (/ & & 0.40119e-09_rb,0.37779e-06_rb,0.51642e-06_rb,0.55015e-06_rb,0.15697e-06_rb /) kbo(:, 3,47, 4) = (/ & & 0.38702e-09_rb,0.40752e-06_rb,0.55525e-06_rb,0.58759e-06_rb,0.17064e-06_rb /) kbo(:, 4,47, 4) = (/ & & 0.37372e-09_rb,0.43563e-06_rb,0.59076e-06_rb,0.62318e-06_rb,0.18430e-06_rb /) kbo(:, 5,47, 4) = (/ & & 0.36139e-09_rb,0.46041e-06_rb,0.62474e-06_rb,0.65515e-06_rb,0.19800e-06_rb /) kbo(:, 1,48, 4) = (/ & & 0.34658e-09_rb,0.27494e-06_rb,0.37924e-06_rb,0.40349e-06_rb,0.11407e-06_rb /) kbo(:, 2,48, 4) = (/ & & 0.33340e-09_rb,0.30243e-06_rb,0.41340e-06_rb,0.44066e-06_rb,0.12508e-06_rb /) kbo(:, 3,48, 4) = (/ & & 0.32143e-09_rb,0.32756e-06_rb,0.44635e-06_rb,0.47308e-06_rb,0.13636e-06_rb /) kbo(:, 4,48, 4) = (/ & & 0.31032e-09_rb,0.35149e-06_rb,0.47669e-06_rb,0.50309e-06_rb,0.14763e-06_rb /) kbo(:, 5,48, 4) = (/ & & 0.29969e-09_rb,0.37323e-06_rb,0.50542e-06_rb,0.53062e-06_rb,0.15892e-06_rb /) kbo(:, 1,49, 4) = (/ & & 0.28846e-09_rb,0.21778e-06_rb,0.30168e-06_rb,0.32158e-06_rb,0.90607e-07_rb /) kbo(:, 2,49, 4) = (/ & & 0.27716e-09_rb,0.24139e-06_rb,0.33071e-06_rb,0.35214e-06_rb,0.99577e-07_rb /) kbo(:, 3,49, 4) = (/ & & 0.26700e-09_rb,0.26304e-06_rb,0.35804e-06_rb,0.38049e-06_rb,0.10881e-06_rb /) kbo(:, 4,49, 4) = (/ & & 0.25767e-09_rb,0.28313e-06_rb,0.38394e-06_rb,0.40566e-06_rb,0.11814e-06_rb /) kbo(:, 5,49, 4) = (/ & & 0.24875e-09_rb,0.30183e-06_rb,0.40832e-06_rb,0.42906e-06_rb,0.12742e-06_rb /) kbo(:, 1,50, 4) = (/ & & 0.23994e-09_rb,0.17276e-06_rb,0.24039e-06_rb,0.25644e-06_rb,0.72124e-07_rb /) kbo(:, 2,50, 4) = (/ & & 0.23028e-09_rb,0.19275e-06_rb,0.26429e-06_rb,0.28117e-06_rb,0.79388e-07_rb /) kbo(:, 3,50, 4) = (/ & & 0.22162e-09_rb,0.21106e-06_rb,0.28758e-06_rb,0.30606e-06_rb,0.86922e-07_rb /) kbo(:, 4,50, 4) = (/ & & 0.21377e-09_rb,0.22807e-06_rb,0.30947e-06_rb,0.32714e-06_rb,0.94628e-07_rb /) kbo(:, 5,50, 4) = (/ & & 0.20641e-09_rb,0.24400e-06_rb,0.32962e-06_rb,0.34715e-06_rb,0.10228e-06_rb /) kbo(:, 1,51, 4) = (/ & & 0.19960e-09_rb,0.13709e-06_rb,0.19101e-06_rb,0.20407e-06_rb,0.57566e-07_rb /) kbo(:, 2,51, 4) = (/ & & 0.19132e-09_rb,0.15352e-06_rb,0.21120e-06_rb,0.22455e-06_rb,0.63308e-07_rb /) kbo(:, 3,51, 4) = (/ & & 0.18395e-09_rb,0.16924e-06_rb,0.23068e-06_rb,0.24563e-06_rb,0.69421e-07_rb /) kbo(:, 4,51, 4) = (/ & & 0.17732e-09_rb,0.18352e-06_rb,0.24926e-06_rb,0.26383e-06_rb,0.75773e-07_rb /) kbo(:, 5,51, 4) = (/ & & 0.17117e-09_rb,0.19715e-06_rb,0.26630e-06_rb,0.28068e-06_rb,0.82097e-07_rb /) kbo(:, 1,52, 4) = (/ & & 0.16616e-09_rb,0.10852e-06_rb,0.15191e-06_rb,0.16137e-06_rb,0.45975e-07_rb /) kbo(:, 2,52, 4) = (/ & & 0.15901e-09_rb,0.12188e-06_rb,0.16855e-06_rb,0.17943e-06_rb,0.50454e-07_rb /) kbo(:, 3,52, 4) = (/ & & 0.15272e-09_rb,0.13535e-06_rb,0.18502e-06_rb,0.19705e-06_rb,0.55424e-07_rb /) kbo(:, 4,52, 4) = (/ & & 0.14711e-09_rb,0.14765e-06_rb,0.20042e-06_rb,0.21252e-06_rb,0.60616e-07_rb /) kbo(:, 5,52, 4) = (/ & & 0.14194e-09_rb,0.15907e-06_rb,0.21484e-06_rb,0.22673e-06_rb,0.65826e-07_rb /) kbo(:, 1,53, 4) = (/ & & 0.13839e-09_rb,0.85704e-07_rb,0.12023e-06_rb,0.12744e-06_rb,0.36523e-07_rb /) kbo(:, 2,53, 4) = (/ & & 0.13223e-09_rb,0.96600e-07_rb,0.13438e-06_rb,0.14312e-06_rb,0.40152e-07_rb /) kbo(:, 3,53, 4) = (/ & & 0.12684e-09_rb,0.10804e-06_rb,0.14784e-06_rb,0.15735e-06_rb,0.44207e-07_rb /) kbo(:, 4,53, 4) = (/ & & 0.12208e-09_rb,0.11851e-06_rb,0.16093e-06_rb,0.17108e-06_rb,0.48435e-07_rb /) kbo(:, 5,53, 4) = (/ & & 0.11772e-09_rb,0.12811e-06_rb,0.17313e-06_rb,0.18293e-06_rb,0.52733e-07_rb /) kbo(:, 1,54, 4) = (/ & & 0.11516e-09_rb,0.67802e-07_rb,0.95400e-07_rb,0.10065e-06_rb,0.29040e-07_rb /) kbo(:, 2,54, 4) = (/ & & 0.10986e-09_rb,0.76927e-07_rb,0.10712e-06_rb,0.11428e-06_rb,0.32044e-07_rb /) kbo(:, 3,54, 4) = (/ & & 0.10526e-09_rb,0.86295e-07_rb,0.11833e-06_rb,0.12580e-06_rb,0.35335e-07_rb /) kbo(:, 4,54, 4) = (/ & & 0.10122e-09_rb,0.95190e-07_rb,0.12936e-06_rb,0.13763e-06_rb,0.38764e-07_rb /) kbo(:, 5,54, 4) = (/ & & 0.97545e-10_rb,0.10324e-06_rb,0.13969e-06_rb,0.14768e-06_rb,0.42312e-07_rb /) kbo(:, 1,55, 4) = (/ & & 0.95832e-10_rb,0.53610e-07_rb,0.75981e-07_rb,0.79667e-07_rb,0.23117e-07_rb /) kbo(:, 2,55, 4) = (/ & & 0.91281e-10_rb,0.61130e-07_rb,0.85329e-07_rb,0.91005e-07_rb,0.25657e-07_rb /) kbo(:, 3,55, 4) = (/ & & 0.87335e-10_rb,0.68825e-07_rb,0.94736e-07_rb,0.10075e-06_rb,0.28264e-07_rb /) kbo(:, 4,55, 4) = (/ & & 0.83897e-10_rb,0.76435e-07_rb,0.10396e-06_rb,0.11070e-06_rb,0.31057e-07_rb /) kbo(:, 5,55, 4) = (/ & & 0.80810e-10_rb,0.83278e-07_rb,0.11269e-06_rb,0.11928e-06_rb,0.33972e-07_rb /) kbo(:, 1,56, 4) = (/ & & 0.79810e-10_rb,0.42322e-07_rb,0.60374e-07_rb,0.62926e-07_rb,0.18404e-07_rb /) kbo(:, 2,56, 4) = (/ & & 0.75864e-10_rb,0.48559e-07_rb,0.68039e-07_rb,0.72241e-07_rb,0.20548e-07_rb /) kbo(:, 3,56, 4) = (/ & & 0.72485e-10_rb,0.54773e-07_rb,0.75799e-07_rb,0.80757e-07_rb,0.22581e-07_rb /) kbo(:, 4,56, 4) = (/ & & 0.69560e-10_rb,0.61224e-07_rb,0.83554e-07_rb,0.88967e-07_rb,0.24859e-07_rb /) kbo(:, 5,56, 4) = (/ & & 0.66951e-10_rb,0.67084e-07_rb,0.90797e-07_rb,0.96246e-07_rb,0.27245e-07_rb /) kbo(:, 1,57, 4) = (/ & & 0.66524e-10_rb,0.33320e-07_rb,0.47516e-07_rb,0.49541e-07_rb,0.14620e-07_rb /) kbo(:, 2,57, 4) = (/ & & 0.63081e-10_rb,0.38443e-07_rb,0.54027e-07_rb,0.57142e-07_rb,0.16370e-07_rb /) kbo(:, 3,57, 4) = (/ & & 0.60187e-10_rb,0.43587e-07_rb,0.60611e-07_rb,0.64608e-07_rb,0.18036e-07_rb /) kbo(:, 4,57, 4) = (/ & & 0.57689e-10_rb,0.48970e-07_rb,0.66915e-07_rb,0.71233e-07_rb,0.19895e-07_rb /) kbo(:, 5,57, 4) = (/ & & 0.55478e-10_rb,0.53925e-07_rb,0.73045e-07_rb,0.77618e-07_rb,0.21831e-07_rb /) kbo(:, 1,58, 4) = (/ & & 0.55447e-10_rb,0.26240e-07_rb,0.37435e-07_rb,0.38989e-07_rb,0.11606e-07_rb /) kbo(:, 2,58, 4) = (/ & & 0.52442e-10_rb,0.30460e-07_rb,0.42955e-07_rb,0.45233e-07_rb,0.13047e-07_rb /) kbo(:, 3,58, 4) = (/ & & 0.49962e-10_rb,0.34761e-07_rb,0.48418e-07_rb,0.51680e-07_rb,0.14431e-07_rb /) kbo(:, 4,58, 4) = (/ & & 0.47826e-10_rb,0.39152e-07_rb,0.53626e-07_rb,0.57047e-07_rb,0.15934e-07_rb /) kbo(:, 5,58, 4) = (/ & & 0.45954e-10_rb,0.43380e-07_rb,0.58786e-07_rb,0.62538e-07_rb,0.17511e-07_rb /) kbo(:, 1,59, 4) = (/ & & 0.45740e-10_rb,0.21248e-07_rb,0.30261e-07_rb,0.31577e-07_rb,0.94221e-08_rb /) kbo(:, 2,59, 4) = (/ & & 0.43210e-10_rb,0.24730e-07_rb,0.34948e-07_rb,0.36722e-07_rb,0.10608e-07_rb /) kbo(:, 3,59, 4) = (/ & & 0.41141e-10_rb,0.28288e-07_rb,0.39410e-07_rb,0.42052e-07_rb,0.11754e-07_rb /) kbo(:, 4,59, 4) = (/ & & 0.39361e-10_rb,0.31904e-07_rb,0.43740e-07_rb,0.46527e-07_rb,0.12986e-07_rb /) kbo(:, 5,59, 4) = (/ & & 0.37805e-10_rb,0.35442e-07_rb,0.48020e-07_rb,0.51083e-07_rb,0.14278e-07_rb /) kbo(:, 1,13, 5) = (/ & & 0.79045e-05_rb,0.58512e-03_rb,0.80967e-03_rb,0.88578e-03_rb,0.34824e-03_rb /) kbo(:, 2,13, 5) = (/ & & 0.92807e-05_rb,0.61818e-03_rb,0.86083e-03_rb,0.92437e-03_rb,0.37870e-03_rb /) kbo(:, 3,13, 5) = (/ & & 0.10620e-04_rb,0.65025e-03_rb,0.90617e-03_rb,0.96290e-03_rb,0.40639e-03_rb /) kbo(:, 4,13, 5) = (/ & & 0.11847e-04_rb,0.68086e-03_rb,0.94767e-03_rb,0.99815e-03_rb,0.43149e-03_rb /) kbo(:, 5,13, 5) = (/ & & 0.12897e-04_rb,0.70941e-03_rb,0.98426e-03_rb,0.10296e-02_rb,0.45459e-03_rb /) kbo(:, 1,14, 5) = (/ & & 0.65683e-05_rb,0.48798e-03_rb,0.67570e-03_rb,0.73755e-03_rb,0.29172e-03_rb /) kbo(:, 2,14, 5) = (/ & & 0.76957e-05_rb,0.51555e-03_rb,0.71856e-03_rb,0.76978e-03_rb,0.31709e-03_rb /) kbo(:, 3,14, 5) = (/ & & 0.87852e-05_rb,0.54243e-03_rb,0.75604e-03_rb,0.80142e-03_rb,0.34064e-03_rb /) kbo(:, 4,14, 5) = (/ & & 0.97622e-05_rb,0.56817e-03_rb,0.79038e-03_rb,0.83091e-03_rb,0.36095e-03_rb /) kbo(:, 5,14, 5) = (/ & & 0.10614e-04_rb,0.59208e-03_rb,0.82018e-03_rb,0.85691e-03_rb,0.38095e-03_rb /) kbo(:, 1,15, 5) = (/ & & 0.54643e-05_rb,0.40660e-03_rb,0.56371e-03_rb,0.61286e-03_rb,0.24435e-03_rb /) kbo(:, 2,15, 5) = (/ & & 0.63883e-05_rb,0.42973e-03_rb,0.59914e-03_rb,0.64093e-03_rb,0.26475e-03_rb /) kbo(:, 3,15, 5) = (/ & & 0.72593e-05_rb,0.45218e-03_rb,0.63004e-03_rb,0.66659e-03_rb,0.28486e-03_rb /) kbo(:, 4,15, 5) = (/ & & 0.80526e-05_rb,0.47373e-03_rb,0.65847e-03_rb,0.69128e-03_rb,0.30200e-03_rb /) kbo(:, 5,15, 5) = (/ & & 0.87364e-05_rb,0.49393e-03_rb,0.68318e-03_rb,0.71321e-03_rb,0.31930e-03_rb /) kbo(:, 1,16, 5) = (/ & & 0.45482e-05_rb,0.33872e-03_rb,0.47003e-03_rb,0.50920e-03_rb,0.20473e-03_rb /) kbo(:, 2,16, 5) = (/ & & 0.52893e-05_rb,0.35785e-03_rb,0.49898e-03_rb,0.53306e-03_rb,0.22171e-03_rb /) kbo(:, 3,16, 5) = (/ & & 0.59989e-05_rb,0.37673e-03_rb,0.52467e-03_rb,0.55461e-03_rb,0.23803e-03_rb /) kbo(:, 4,16, 5) = (/ & & 0.66426e-05_rb,0.39470e-03_rb,0.54827e-03_rb,0.57515e-03_rb,0.25244e-03_rb /) kbo(:, 5,16, 5) = (/ & & 0.71759e-05_rb,0.41193e-03_rb,0.56909e-03_rb,0.59361e-03_rb,0.26773e-03_rb /) kbo(:, 1,17, 5) = (/ & & 0.37690e-05_rb,0.28177e-03_rb,0.39153e-03_rb,0.42265e-03_rb,0.17155e-03_rb /) kbo(:, 2,17, 5) = (/ & & 0.43790e-05_rb,0.29778e-03_rb,0.41535e-03_rb,0.44288e-03_rb,0.18563e-03_rb /) kbo(:, 3,17, 5) = (/ & & 0.49545e-05_rb,0.31371e-03_rb,0.43664e-03_rb,0.46090e-03_rb,0.19908e-03_rb /) kbo(:, 4,17, 5) = (/ & & 0.54563e-05_rb,0.32886e-03_rb,0.45637e-03_rb,0.47854e-03_rb,0.21097e-03_rb /) kbo(:, 5,17, 5) = (/ & & 0.58879e-05_rb,0.34359e-03_rb,0.47416e-03_rb,0.49387e-03_rb,0.22440e-03_rb /) kbo(:, 1,18, 5) = (/ & & 0.31260e-05_rb,0.23432e-03_rb,0.32596e-03_rb,0.35082e-03_rb,0.14348e-03_rb /) kbo(:, 2,18, 5) = (/ & & 0.36185e-05_rb,0.24786e-03_rb,0.34561e-03_rb,0.36765e-03_rb,0.15546e-03_rb /) kbo(:, 3,18, 5) = (/ & & 0.40732e-05_rb,0.26120e-03_rb,0.36343e-03_rb,0.38325e-03_rb,0.16623e-03_rb /) kbo(:, 4,18, 5) = (/ & & 0.44839e-05_rb,0.27403e-03_rb,0.37997e-03_rb,0.39811e-03_rb,0.17659e-03_rb /) kbo(:, 5,18, 5) = (/ & & 0.48304e-05_rb,0.28674e-03_rb,0.39513e-03_rb,0.41114e-03_rb,0.18813e-03_rb /) kbo(:, 1,19, 5) = (/ & & 0.25853e-05_rb,0.19483e-03_rb,0.27128e-03_rb,0.29126e-03_rb,0.11969e-03_rb /) kbo(:, 2,19, 5) = (/ & & 0.29834e-05_rb,0.20623e-03_rb,0.28749e-03_rb,0.30541e-03_rb,0.12978e-03_rb /) kbo(:, 3,19, 5) = (/ & & 0.33546e-05_rb,0.21750e-03_rb,0.30267e-03_rb,0.31871e-03_rb,0.13874e-03_rb /) kbo(:, 4,19, 5) = (/ & & 0.36863e-05_rb,0.22842e-03_rb,0.31656e-03_rb,0.33115e-03_rb,0.14789e-03_rb /) kbo(:, 5,19, 5) = (/ & & 0.39634e-05_rb,0.23942e-03_rb,0.32944e-03_rb,0.34220e-03_rb,0.15742e-03_rb /) kbo(:, 1,20, 5) = (/ & & 0.21486e-05_rb,0.16221e-03_rb,0.22609e-03_rb,0.24236e-03_rb,0.10014e-03_rb /) kbo(:, 2,20, 5) = (/ & & 0.24735e-05_rb,0.17178e-03_rb,0.23949e-03_rb,0.25399e-03_rb,0.10857e-03_rb /) kbo(:, 3,20, 5) = (/ & & 0.27744e-05_rb,0.18136e-03_rb,0.25226e-03_rb,0.26535e-03_rb,0.11604e-03_rb /) kbo(:, 4,20, 5) = (/ & & 0.30414e-05_rb,0.19076e-03_rb,0.26397e-03_rb,0.27566e-03_rb,0.12398e-03_rb /) kbo(:, 5,20, 5) = (/ & & 0.32610e-05_rb,0.20019e-03_rb,0.27488e-03_rb,0.28510e-03_rb,0.13199e-03_rb /) kbo(:, 1,21, 5) = (/ & & 0.17877e-05_rb,0.13507e-03_rb,0.18845e-03_rb,0.20163e-03_rb,0.83879e-04_rb /) kbo(:, 2,21, 5) = (/ & & 0.20518e-05_rb,0.14319e-03_rb,0.19968e-03_rb,0.21134e-03_rb,0.90858e-04_rb /) kbo(:, 3,21, 5) = (/ & & 0.22953e-05_rb,0.15137e-03_rb,0.21038e-03_rb,0.22094e-03_rb,0.97098e-04_rb /) kbo(:, 4,21, 5) = (/ & & 0.25098e-05_rb,0.15947e-03_rb,0.22019e-03_rb,0.22948e-03_rb,0.10402e-03_rb /) kbo(:, 5,21, 5) = (/ & & 0.26830e-05_rb,0.16749e-03_rb,0.22950e-03_rb,0.23761e-03_rb,0.11069e-03_rb /) kbo(:, 1,22, 5) = (/ & & 0.15022e-05_rb,0.11297e-03_rb,0.15773e-03_rb,0.16819e-03_rb,0.70808e-04_rb /) kbo(:, 2,22, 5) = (/ & & 0.17157e-05_rb,0.11998e-03_rb,0.16714e-03_rb,0.17644e-03_rb,0.76345e-04_rb /) kbo(:, 3,22, 5) = (/ & & 0.19111e-05_rb,0.12690e-03_rb,0.17611e-03_rb,0.18454e-03_rb,0.81804e-04_rb /) kbo(:, 4,22, 5) = (/ & & 0.20812e-05_rb,0.13385e-03_rb,0.18425e-03_rb,0.19164e-03_rb,0.87591e-04_rb /) kbo(:, 5,22, 5) = (/ & & 0.22144e-05_rb,0.14066e-03_rb,0.19235e-03_rb,0.19867e-03_rb,0.93228e-04_rb /) kbo(:, 1,23, 5) = (/ & & 0.12621e-05_rb,0.94681e-04_rb,0.13210e-03_rb,0.14032e-03_rb,0.59630e-04_rb /) kbo(:, 2,23, 5) = (/ & & 0.14346e-05_rb,0.10061e-03_rb,0.14009e-03_rb,0.14751e-03_rb,0.64142e-04_rb /) kbo(:, 3,23, 5) = (/ & & 0.15908e-05_rb,0.10655e-03_rb,0.14749e-03_rb,0.15413e-03_rb,0.68988e-04_rb /) kbo(:, 4,23, 5) = (/ & & 0.17253e-05_rb,0.11246e-03_rb,0.15437e-03_rb,0.16013e-03_rb,0.73893e-04_rb /) kbo(:, 5,23, 5) = (/ & & 0.18272e-05_rb,0.11825e-03_rb,0.16130e-03_rb,0.16627e-03_rb,0.78649e-04_rb /) kbo(:, 1,24, 5) = (/ & & 0.10611e-05_rb,0.79419e-04_rb,0.11079e-03_rb,0.11736e-03_rb,0.50244e-04_rb /) kbo(:, 2,24, 5) = (/ & & 0.11996e-05_rb,0.84486e-04_rb,0.11749e-03_rb,0.12345e-03_rb,0.54054e-04_rb /) kbo(:, 3,24, 5) = (/ & & 0.13241e-05_rb,0.89565e-04_rb,0.12364e-03_rb,0.12883e-03_rb,0.58259e-04_rb /) kbo(:, 4,24, 5) = (/ & & 0.14300e-05_rb,0.94592e-04_rb,0.12949e-03_rb,0.13406e-03_rb,0.62300e-04_rb /) kbo(:, 5,24, 5) = (/ & & 0.15070e-05_rb,0.99545e-04_rb,0.13538e-03_rb,0.13928e-03_rb,0.66485e-04_rb /) kbo(:, 1,25, 5) = (/ & & 0.89248e-06_rb,0.66757e-04_rb,0.93043e-04_rb,0.98269e-04_rb,0.42396e-04_rb /) kbo(:, 2,25, 5) = (/ & & 0.10034e-05_rb,0.71082e-04_rb,0.98652e-04_rb,0.10332e-03_rb,0.45719e-04_rb /) kbo(:, 3,25, 5) = (/ & & 0.11024e-05_rb,0.75404e-04_rb,0.10375e-03_rb,0.10782e-03_rb,0.49228e-04_rb /) kbo(:, 4,25, 5) = (/ & & 0.11835e-05_rb,0.79694e-04_rb,0.10882e-03_rb,0.11234e-03_rb,0.52649e-04_rb /) kbo(:, 5,25, 5) = (/ & & 0.12406e-05_rb,0.83915e-04_rb,0.11376e-03_rb,0.11677e-03_rb,0.56264e-04_rb /) kbo(:, 1,26, 5) = (/ & & 0.75147e-06_rb,0.56248e-04_rb,0.78291e-04_rb,0.82441e-04_rb,0.35781e-04_rb /) kbo(:, 2,26, 5) = (/ & & 0.84025e-06_rb,0.59929e-04_rb,0.82917e-04_rb,0.86562e-04_rb,0.38715e-04_rb /) kbo(:, 3,26, 5) = (/ & & 0.91728e-06_rb,0.63618e-04_rb,0.87231e-04_rb,0.90442e-04_rb,0.41682e-04_rb /) kbo(:, 4,26, 5) = (/ & & 0.97947e-06_rb,0.67285e-04_rb,0.91606e-04_rb,0.94311e-04_rb,0.44610e-04_rb /) kbo(:, 5,26, 5) = (/ & & 0.10222e-05_rb,0.70879e-04_rb,0.95759e-04_rb,0.97954e-04_rb,0.47678e-04_rb /) kbo(:, 1,27, 5) = (/ & & 0.63228e-06_rb,0.47448e-04_rb,0.65926e-04_rb,0.69211e-04_rb,0.30312e-04_rb /) kbo(:, 2,27, 5) = (/ & & 0.70187e-06_rb,0.50583e-04_rb,0.69752e-04_rb,0.72622e-04_rb,0.32844e-04_rb /) kbo(:, 3,27, 5) = (/ & & 0.76263e-06_rb,0.53723e-04_rb,0.73431e-04_rb,0.75943e-04_rb,0.35283e-04_rb /) kbo(:, 4,27, 5) = (/ & & 0.80975e-06_rb,0.56884e-04_rb,0.77139e-04_rb,0.79235e-04_rb,0.37837e-04_rb /) kbo(:, 5,27, 5) = (/ & & 0.84099e-06_rb,0.59937e-04_rb,0.80670e-04_rb,0.82198e-04_rb,0.40398e-04_rb /) kbo(:, 1,28, 5) = (/ & & 0.53062e-06_rb,0.40054e-04_rb,0.55536e-04_rb,0.58105e-04_rb,0.25683e-04_rb /) kbo(:, 2,28, 5) = (/ & & 0.58581e-06_rb,0.42748e-04_rb,0.58719e-04_rb,0.60988e-04_rb,0.27829e-04_rb /) kbo(:, 3,28, 5) = (/ & & 0.63283e-06_rb,0.45445e-04_rb,0.61927e-04_rb,0.63808e-04_rb,0.29914e-04_rb /) kbo(:, 4,28, 5) = (/ & & 0.66841e-06_rb,0.48141e-04_rb,0.65033e-04_rb,0.66567e-04_rb,0.32101e-04_rb /) kbo(:, 5,28, 5) = (/ & & 0.69132e-06_rb,0.50744e-04_rb,0.68002e-04_rb,0.69024e-04_rb,0.34196e-04_rb /) kbo(:, 1,29, 5) = (/ & & 0.44482e-06_rb,0.33876e-04_rb,0.46813e-04_rb,0.48820e-04_rb,0.21822e-04_rb /) kbo(:, 2,29, 5) = (/ & & 0.48830e-06_rb,0.36173e-04_rb,0.49534e-04_rb,0.51267e-04_rb,0.23598e-04_rb /) kbo(:, 3,29, 5) = (/ & & 0.52520e-06_rb,0.38507e-04_rb,0.52264e-04_rb,0.53700e-04_rb,0.25407e-04_rb /) kbo(:, 4,29, 5) = (/ & & 0.55142e-06_rb,0.40790e-04_rb,0.54879e-04_rb,0.55934e-04_rb,0.27233e-04_rb /) kbo(:, 5,29, 5) = (/ & & 0.56821e-06_rb,0.43005e-04_rb,0.57374e-04_rb,0.57995e-04_rb,0.28939e-04_rb /) kbo(:, 1,30, 5) = (/ & & 0.37240e-06_rb,0.28688e-04_rb,0.39498e-04_rb,0.41082e-04_rb,0.18542e-04_rb /) kbo(:, 2,30, 5) = (/ & & 0.40697e-06_rb,0.30662e-04_rb,0.41832e-04_rb,0.43139e-04_rb,0.20037e-04_rb /) kbo(:, 3,30, 5) = (/ & & 0.43518e-06_rb,0.32657e-04_rb,0.44137e-04_rb,0.45198e-04_rb,0.21592e-04_rb /) kbo(:, 4,30, 5) = (/ & & 0.45459e-06_rb,0.34600e-04_rb,0.46342e-04_rb,0.47030e-04_rb,0.23099e-04_rb /) kbo(:, 5,30, 5) = (/ & & 0.46674e-06_rb,0.36468e-04_rb,0.48427e-04_rb,0.48752e-04_rb,0.24524e-04_rb /) kbo(:, 1,31, 5) = (/ & & 0.31167e-06_rb,0.24328e-04_rb,0.33365e-04_rb,0.34577e-04_rb,0.15775e-04_rb /) kbo(:, 2,31, 5) = (/ & & 0.33880e-06_rb,0.26033e-04_rb,0.35376e-04_rb,0.36343e-04_rb,0.17037e-04_rb /) kbo(:, 3,31, 5) = (/ & & 0.36022e-06_rb,0.27728e-04_rb,0.37306e-04_rb,0.38025e-04_rb,0.18334e-04_rb /) kbo(:, 4,31, 5) = (/ & & 0.37443e-06_rb,0.29381e-04_rb,0.39153e-04_rb,0.39551e-04_rb,0.19559e-04_rb /) kbo(:, 5,31, 5) = (/ & & 0.38304e-06_rb,0.30940e-04_rb,0.40888e-04_rb,0.41012e-04_rb,0.20735e-04_rb /) kbo(:, 1,32, 5) = (/ & & 0.26065e-06_rb,0.20666e-04_rb,0.28226e-04_rb,0.29128e-04_rb,0.13403e-04_rb /) kbo(:, 2,32, 5) = (/ & & 0.28179e-06_rb,0.22130e-04_rb,0.29934e-04_rb,0.30642e-04_rb,0.14495e-04_rb /) kbo(:, 3,32, 5) = (/ & & 0.29791e-06_rb,0.23572e-04_rb,0.31554e-04_rb,0.32005e-04_rb,0.15576e-04_rb /) kbo(:, 4,32, 5) = (/ & & 0.30813e-06_rb,0.24963e-04_rb,0.33101e-04_rb,0.33278e-04_rb,0.16582e-04_rb /) kbo(:, 5,32, 5) = (/ & & 0.31412e-06_rb,0.26261e-04_rb,0.34510e-04_rb,0.34497e-04_rb,0.17533e-04_rb /) kbo(:, 1,33, 5) = (/ & & 0.21768e-06_rb,0.17581e-04_rb,0.23903e-04_rb,0.24558e-04_rb,0.11405e-04_rb /) kbo(:, 2,33, 5) = (/ & & 0.23409e-06_rb,0.18827e-04_rb,0.25333e-04_rb,0.25812e-04_rb,0.12331e-04_rb /) kbo(:, 3,33, 5) = (/ & & 0.24596e-06_rb,0.20053e-04_rb,0.26696e-04_rb,0.26942e-04_rb,0.13200e-04_rb /) kbo(:, 4,33, 5) = (/ & & 0.25338e-06_rb,0.21211e-04_rb,0.27978e-04_rb,0.28012e-04_rb,0.14037e-04_rb /) kbo(:, 5,33, 5) = (/ & & 0.25735e-06_rb,0.22292e-04_rb,0.29113e-04_rb,0.29019e-04_rb,0.14789e-04_rb /) kbo(:, 1,34, 5) = (/ & & 0.18111e-06_rb,0.14933e-04_rb,0.20221e-04_rb,0.20691e-04_rb,0.96853e-05_rb /) kbo(:, 2,34, 5) = (/ & & 0.19373e-06_rb,0.15993e-04_rb,0.21413e-04_rb,0.21708e-04_rb,0.10459e-04_rb /) kbo(:, 3,34, 5) = (/ & & 0.20262e-06_rb,0.17025e-04_rb,0.22551e-04_rb,0.22651e-04_rb,0.11170e-04_rb /) kbo(:, 4,34, 5) = (/ & & 0.20802e-06_rb,0.17992e-04_rb,0.23603e-04_rb,0.23540e-04_rb,0.11847e-04_rb /) kbo(:, 5,34, 5) = (/ & & 0.21068e-06_rb,0.18892e-04_rb,0.24522e-04_rb,0.24370e-04_rb,0.12444e-04_rb /) kbo(:, 1,35, 5) = (/ & & 0.14940e-06_rb,0.12604e-04_rb,0.17001e-04_rb,0.17339e-04_rb,0.81630e-05_rb /) kbo(:, 2,35, 5) = (/ & & 0.15934e-06_rb,0.13505e-04_rb,0.18008e-04_rb,0.18183e-04_rb,0.87890e-05_rb /) kbo(:, 3,35, 5) = (/ & & 0.16626e-06_rb,0.14374e-04_rb,0.18963e-04_rb,0.18976e-04_rb,0.93838e-05_rb /) kbo(:, 4,35, 5) = (/ & & 0.17040e-06_rb,0.15187e-04_rb,0.19824e-04_rb,0.19720e-04_rb,0.99229e-05_rb /) kbo(:, 5,35, 5) = (/ & & 0.17229e-06_rb,0.15939e-04_rb,0.20582e-04_rb,0.20394e-04_rb,0.10412e-04_rb /) kbo(:, 1,36, 5) = (/ & & 0.12224e-06_rb,0.10560e-04_rb,0.14203e-04_rb,0.14447e-04_rb,0.68196e-05_rb /) kbo(:, 2,36, 5) = (/ & & 0.13030e-06_rb,0.11326e-04_rb,0.15055e-04_rb,0.15156e-04_rb,0.73321e-05_rb /) kbo(:, 3,36, 5) = (/ & & 0.13590e-06_rb,0.12062e-04_rb,0.15856e-04_rb,0.15823e-04_rb,0.78230e-05_rb /) kbo(:, 4,36, 5) = (/ & & 0.13929e-06_rb,0.12750e-04_rb,0.16573e-04_rb,0.16449e-04_rb,0.82632e-05_rb /) kbo(:, 5,36, 5) = (/ & & 0.14081e-06_rb,0.13384e-04_rb,0.17208e-04_rb,0.17006e-04_rb,0.86656e-05_rb /) kbo(:, 1,37, 5) = (/ & & 0.98979e-07_rb,0.87500e-05_rb,0.11755e-04_rb,0.11943e-04_rb,0.56269e-05_rb /) kbo(:, 2,37, 5) = (/ & & 0.10583e-06_rb,0.94035e-05_rb,0.12480e-04_rb,0.12544e-04_rb,0.60528e-05_rb /) kbo(:, 3,37, 5) = (/ & & 0.11068e-06_rb,0.10031e-04_rb,0.13161e-04_rb,0.13110e-04_rb,0.64604e-05_rb /) kbo(:, 4,37, 5) = (/ & & 0.11365e-06_rb,0.10619e-04_rb,0.13767e-04_rb,0.13642e-04_rb,0.68253e-05_rb /) kbo(:, 5,37, 5) = (/ & & 0.11510e-06_rb,0.11162e-04_rb,0.14306e-04_rb,0.14108e-04_rb,0.71615e-05_rb /) kbo(:, 1,38, 5) = (/ & & 0.80050e-07_rb,0.72436e-05_rb,0.97225e-05_rb,0.98657e-05_rb,0.46375e-05_rb /) kbo(:, 2,38, 5) = (/ & & 0.85886e-07_rb,0.78006e-05_rb,0.10338e-04_rb,0.10378e-04_rb,0.49919e-05_rb /) kbo(:, 3,38, 5) = (/ & & 0.90108e-07_rb,0.83355e-05_rb,0.10916e-04_rb,0.10856e-04_rb,0.53303e-05_rb /) kbo(:, 4,38, 5) = (/ & & 0.92690e-07_rb,0.88380e-05_rb,0.11429e-04_rb,0.11306e-04_rb,0.56349e-05_rb /) kbo(:, 5,38, 5) = (/ & & 0.94046e-07_rb,0.93019e-05_rb,0.11885e-04_rb,0.11696e-04_rb,0.59152e-05_rb /) kbo(:, 1,39, 5) = (/ & & 0.64720e-07_rb,0.59955e-05_rb,0.80389e-05_rb,0.81488e-05_rb,0.38192e-05_rb /) kbo(:, 2,39, 5) = (/ & & 0.69663e-07_rb,0.64699e-05_rb,0.85613e-05_rb,0.85818e-05_rb,0.41159e-05_rb /) kbo(:, 3,39, 5) = (/ & & 0.73305e-07_rb,0.69246e-05_rb,0.90506e-05_rb,0.89861e-05_rb,0.43968e-05_rb /) kbo(:, 4,39, 5) = (/ & & 0.75588e-07_rb,0.73530e-05_rb,0.94857e-05_rb,0.93637e-05_rb,0.46505e-05_rb /) kbo(:, 5,39, 5) = (/ & & 0.76825e-07_rb,0.77492e-05_rb,0.98708e-05_rb,0.96898e-05_rb,0.48841e-05_rb /) kbo(:, 1,40, 5) = (/ & & 0.51871e-07_rb,0.49191e-05_rb,0.65994e-05_rb,0.66890e-05_rb,0.31186e-05_rb /) kbo(:, 2,40, 5) = (/ & & 0.56127e-07_rb,0.53227e-05_rb,0.70435e-05_rb,0.70578e-05_rb,0.33678e-05_rb /) kbo(:, 3,40, 5) = (/ & & 0.59395e-07_rb,0.57124e-05_rb,0.74609e-05_rb,0.74018e-05_rb,0.36025e-05_rb /) kbo(:, 4,40, 5) = (/ & & 0.61501e-07_rb,0.60790e-05_rb,0.78333e-05_rb,0.77210e-05_rb,0.38164e-05_rb /) kbo(:, 5,40, 5) = (/ & & 0.62710e-07_rb,0.64194e-05_rb,0.81613e-05_rb,0.79980e-05_rb,0.40122e-05_rb /) kbo(:, 1,41, 5) = (/ & & 0.41471e-07_rb,0.40276e-05_rb,0.54076e-05_rb,0.54815e-05_rb,0.25402e-05_rb /) kbo(:, 2,41, 5) = (/ & & 0.45127e-07_rb,0.43711e-05_rb,0.57847e-05_rb,0.57971e-05_rb,0.27507e-05_rb /) kbo(:, 3,41, 5) = (/ & & 0.48018e-07_rb,0.47040e-05_rb,0.61407e-05_rb,0.60883e-05_rb,0.29479e-05_rb /) kbo(:, 4,41, 5) = (/ & & 0.49983e-07_rb,0.50177e-05_rb,0.64595e-05_rb,0.63587e-05_rb,0.31286e-05_rb /) kbo(:, 5,41, 5) = (/ & & 0.51153e-07_rb,0.53098e-05_rb,0.67389e-05_rb,0.65950e-05_rb,0.32928e-05_rb /) kbo(:, 1,42, 5) = (/ & & 0.33108e-07_rb,0.32945e-05_rb,0.44261e-05_rb,0.44871e-05_rb,0.20674e-05_rb /) kbo(:, 2,42, 5) = (/ & & 0.36228e-07_rb,0.35861e-05_rb,0.47462e-05_rb,0.47571e-05_rb,0.22452e-05_rb /) kbo(:, 3,42, 5) = (/ & & 0.38776e-07_rb,0.38701e-05_rb,0.50505e-05_rb,0.50046e-05_rb,0.24106e-05_rb /) kbo(:, 4,42, 5) = (/ & & 0.40580e-07_rb,0.41378e-05_rb,0.53219e-05_rb,0.52323e-05_rb,0.25622e-05_rb /) kbo(:, 5,42, 5) = (/ & & 0.41689e-07_rb,0.43881e-05_rb,0.55607e-05_rb,0.54356e-05_rb,0.27015e-05_rb /) kbo(:, 1,43, 5) = (/ & & 0.26243e-07_rb,0.26780e-05_rb,0.36021e-05_rb,0.36578e-05_rb,0.16722e-05_rb /) kbo(:, 2,43, 5) = (/ & & 0.28903e-07_rb,0.29254e-05_rb,0.38754e-05_rb,0.38886e-05_rb,0.18235e-05_rb /) kbo(:, 3,43, 5) = (/ & & 0.31158e-07_rb,0.31674e-05_rb,0.41363e-05_rb,0.40998e-05_rb,0.19628e-05_rb /) kbo(:, 4,43, 5) = (/ & & 0.32828e-07_rb,0.33966e-05_rb,0.43687e-05_rb,0.42935e-05_rb,0.20906e-05_rb /) kbo(:, 5,43, 5) = (/ & & 0.33896e-07_rb,0.36112e-05_rb,0.45745e-05_rb,0.44680e-05_rb,0.22088e-05_rb /) kbo(:, 1,44, 5) = (/ & & 0.20692e-07_rb,0.21688e-05_rb,0.29226e-05_rb,0.29738e-05_rb,0.13486e-05_rb /) kbo(:, 2,44, 5) = (/ & & 0.22961e-07_rb,0.23776e-05_rb,0.31556e-05_rb,0.31699e-05_rb,0.14759e-05_rb /) kbo(:, 3,44, 5) = (/ & & 0.24934e-07_rb,0.25834e-05_rb,0.33779e-05_rb,0.33507e-05_rb,0.15926e-05_rb /) kbo(:, 4,44, 5) = (/ & & 0.26472e-07_rb,0.27800e-05_rb,0.35779e-05_rb,0.35162e-05_rb,0.17017e-05_rb /) kbo(:, 5,44, 5) = (/ & & 0.27504e-07_rb,0.29637e-05_rb,0.37558e-05_rb,0.36666e-05_rb,0.18017e-05_rb /) kbo(:, 1,45, 5) = (/ & & 0.16269e-07_rb,0.17537e-05_rb,0.23672e-05_rb,0.24133e-05_rb,0.10856e-05_rb /) kbo(:, 2,45, 5) = (/ & & 0.18194e-07_rb,0.19291e-05_rb,0.25663e-05_rb,0.25809e-05_rb,0.11927e-05_rb /) kbo(:, 3,45, 5) = (/ & & 0.19903e-07_rb,0.21039e-05_rb,0.27552e-05_rb,0.27360e-05_rb,0.12909e-05_rb /) kbo(:, 4,45, 5) = (/ & & 0.21293e-07_rb,0.22721e-05_rb,0.29270e-05_rb,0.28775e-05_rb,0.13839e-05_rb /) kbo(:, 5,45, 5) = (/ & & 0.22283e-07_rb,0.24292e-05_rb,0.30802e-05_rb,0.30067e-05_rb,0.14686e-05_rb /) kbo(:, 1,46, 5) = (/ & & 0.12712e-07_rb,0.14128e-05_rb,0.19113e-05_rb,0.19548e-05_rb,0.87114e-06_rb /) kbo(:, 2,46, 5) = (/ & & 0.14351e-07_rb,0.15596e-05_rb,0.20802e-05_rb,0.20949e-05_rb,0.96118e-06_rb /) kbo(:, 3,46, 5) = (/ & & 0.15815e-07_rb,0.17076e-05_rb,0.22404e-05_rb,0.22289e-05_rb,0.10436e-05_rb /) kbo(:, 4,46, 5) = (/ & & 0.17062e-07_rb,0.18511e-05_rb,0.23889e-05_rb,0.23492e-05_rb,0.11225e-05_rb /) kbo(:, 5,46, 5) = (/ & & 0.17993e-07_rb,0.19855e-05_rb,0.25206e-05_rb,0.24609e-05_rb,0.11948e-05_rb /) kbo(:, 1,47, 5) = (/ & & 0.98364e-08_rb,0.11306e-05_rb,0.15353e-05_rb,0.15746e-05_rb,0.69554e-06_rb /) kbo(:, 2,47, 5) = (/ & & 0.11226e-07_rb,0.12534e-05_rb,0.16765e-05_rb,0.16944e-05_rb,0.76925e-06_rb /) kbo(:, 3,47, 5) = (/ & & 0.12483e-07_rb,0.13784e-05_rb,0.18130e-05_rb,0.18087e-05_rb,0.84036e-06_rb /) kbo(:, 4,47, 5) = (/ & & 0.13587e-07_rb,0.15007e-05_rb,0.19418e-05_rb,0.19122e-05_rb,0.90712e-06_rb /) kbo(:, 5,47, 5) = (/ & & 0.14457e-07_rb,0.16158e-05_rb,0.20557e-05_rb,0.20073e-05_rb,0.96847e-06_rb /) kbo(:, 1,48, 5) = (/ & & 0.75824e-08_rb,0.90329e-06_rb,0.12307e-05_rb,0.12653e-05_rb,0.55346e-06_rb /) kbo(:, 2,48, 5) = (/ & & 0.87453e-08_rb,0.10050e-05_rb,0.13490e-05_rb,0.13676e-05_rb,0.61470e-06_rb /) kbo(:, 3,48, 5) = (/ & & 0.98194e-08_rb,0.11101e-05_rb,0.14650e-05_rb,0.14651e-05_rb,0.67492e-06_rb /) kbo(:, 4,48, 5) = (/ & & 0.10779e-07_rb,0.12141e-05_rb,0.15756e-05_rb,0.15544e-05_rb,0.73163e-06_rb /) kbo(:, 5,48, 5) = (/ & & 0.11579e-07_rb,0.13125e-05_rb,0.16743e-05_rb,0.16359e-05_rb,0.78405e-06_rb /) kbo(:, 1,49, 5) = (/ & & 0.58219e-08_rb,0.72015e-06_rb,0.98379e-06_rb,0.10143e-05_rb,0.43933e-06_rb /) kbo(:, 2,49, 5) = (/ & & 0.67817e-08_rb,0.80423e-06_rb,0.10832e-05_rb,0.11023e-05_rb,0.49018e-06_rb /) kbo(:, 3,49, 5) = (/ & & 0.76966e-08_rb,0.89205e-06_rb,0.11819e-05_rb,0.11846e-05_rb,0.54131e-06_rb /) kbo(:, 4,49, 5) = (/ & & 0.85224e-08_rb,0.98005e-06_rb,0.12760e-05_rb,0.12617e-05_rb,0.58858e-06_rb /) kbo(:, 5,49, 5) = (/ & & 0.92350e-08_rb,0.10644e-05_rb,0.13615e-05_rb,0.13319e-05_rb,0.63358e-06_rb /) kbo(:, 1,50, 5) = (/ & & 0.44790e-08_rb,0.57418e-06_rb,0.78635e-06_rb,0.81296e-06_rb,0.34881e-06_rb /) kbo(:, 2,50, 5) = (/ & & 0.52579e-08_rb,0.64388e-06_rb,0.87056e-06_rb,0.88896e-06_rb,0.39135e-06_rb /) kbo(:, 3,50, 5) = (/ & & 0.60279e-08_rb,0.71722e-06_rb,0.95348e-06_rb,0.95809e-06_rb,0.43444e-06_rb /) kbo(:, 4,50, 5) = (/ & & 0.67324e-08_rb,0.79134e-06_rb,0.10331e-05_rb,0.10243e-05_rb,0.47391e-06_rb /) kbo(:, 5,50, 5) = (/ & & 0.73551e-08_rb,0.86330e-06_rb,0.11073e-05_rb,0.10842e-05_rb,0.51234e-06_rb /) kbo(:, 1,51, 5) = (/ & & 0.34450e-08_rb,0.45753e-06_rb,0.62814e-06_rb,0.65158e-06_rb,0.27625e-06_rb /) kbo(:, 2,51, 5) = (/ & & 0.40690e-08_rb,0.51530e-06_rb,0.69892e-06_rb,0.71555e-06_rb,0.31260e-06_rb /) kbo(:, 3,51, 5) = (/ & & 0.47087e-08_rb,0.57624e-06_rb,0.76840e-06_rb,0.77477e-06_rb,0.34804e-06_rb /) kbo(:, 4,51, 5) = (/ & & 0.53086e-08_rb,0.63843e-06_rb,0.83580e-06_rb,0.83092e-06_rb,0.38181e-06_rb /) kbo(:, 5,51, 5) = (/ & & 0.58439e-08_rb,0.69956e-06_rb,0.89962e-06_rb,0.88225e-06_rb,0.41412e-06_rb /) kbo(:, 1,52, 5) = (/ & & 0.26454e-08_rb,0.36387e-06_rb,0.50007e-06_rb,0.52179e-06_rb,0.21894e-06_rb /) kbo(:, 2,52, 5) = (/ & & 0.31403e-08_rb,0.41173e-06_rb,0.55997e-06_rb,0.57479e-06_rb,0.24870e-06_rb /) kbo(:, 3,52, 5) = (/ & & 0.36655e-08_rb,0.46211e-06_rb,0.61819e-06_rb,0.62511e-06_rb,0.27840e-06_rb /) kbo(:, 4,52, 5) = (/ & & 0.41730e-08_rb,0.51415e-06_rb,0.67546e-06_rb,0.67307e-06_rb,0.30695e-06_rb /) kbo(:, 5,52, 5) = (/ & & 0.46311e-08_rb,0.56582e-06_rb,0.72973e-06_rb,0.71697e-06_rb,0.33407e-06_rb /) kbo(:, 1,53, 5) = (/ & & 0.20275e-08_rb,0.28873e-06_rb,0.39749e-06_rb,0.41647e-06_rb,0.17355e-06_rb /) kbo(:, 2,53, 5) = (/ & & 0.24190e-08_rb,0.32821e-06_rb,0.44730e-06_rb,0.46063e-06_rb,0.19774e-06_rb /) kbo(:, 3,53, 5) = (/ & & 0.28440e-08_rb,0.36981e-06_rb,0.49677e-06_rb,0.50411e-06_rb,0.22218e-06_rb /) kbo(:, 4,53, 5) = (/ & & 0.32690e-08_rb,0.41315e-06_rb,0.54488e-06_rb,0.54408e-06_rb,0.24647e-06_rb /) kbo(:, 5,53, 5) = (/ & & 0.36592e-08_rb,0.45680e-06_rb,0.59090e-06_rb,0.58189e-06_rb,0.26902e-06_rb /) kbo(:, 1,54, 5) = (/ & & 0.15611e-08_rb,0.22962e-06_rb,0.31613e-06_rb,0.33300e-06_rb,0.13730e-06_rb /) kbo(:, 2,54, 5) = (/ & & 0.18696e-08_rb,0.26187e-06_rb,0.35802e-06_rb,0.36954e-06_rb,0.15701e-06_rb /) kbo(:, 3,54, 5) = (/ & & 0.22100e-08_rb,0.29641e-06_rb,0.39970e-06_rb,0.40683e-06_rb,0.17764e-06_rb /) kbo(:, 4,54, 5) = (/ & & 0.25619e-08_rb,0.33255e-06_rb,0.44009e-06_rb,0.44063e-06_rb,0.19808e-06_rb /) kbo(:, 5,54, 5) = (/ & & 0.28928e-08_rb,0.36908e-06_rb,0.47892e-06_rb,0.47270e-06_rb,0.21696e-06_rb /) kbo(:, 1,55, 5) = (/ & & 0.12041e-08_rb,0.18259e-06_rb,0.25108e-06_rb,0.26608e-06_rb,0.10842e-06_rb /) kbo(:, 2,55, 5) = (/ & & 0.14466e-08_rb,0.20918e-06_rb,0.28633e-06_rb,0.29677e-06_rb,0.12468e-06_rb /) kbo(:, 3,55, 5) = (/ & & 0.17176e-08_rb,0.23765e-06_rb,0.32139e-06_rb,0.32799e-06_rb,0.14213e-06_rb /) kbo(:, 4,55, 5) = (/ & & 0.20058e-08_rb,0.26766e-06_rb,0.35523e-06_rb,0.35664e-06_rb,0.15907e-06_rb /) kbo(:, 5,55, 5) = (/ & & 0.22852e-08_rb,0.29818e-06_rb,0.38806e-06_rb,0.38381e-06_rb,0.17512e-06_rb /) kbo(:, 1,56, 5) = (/ & & 0.92934e-09_rb,0.14496e-06_rb,0.19887e-06_rb,0.21215e-06_rb,0.85185e-07_rb /) kbo(:, 2,56, 5) = (/ & & 0.11180e-08_rb,0.16668e-06_rb,0.22841e-06_rb,0.23799e-06_rb,0.99172e-07_rb /) kbo(:, 3,56, 5) = (/ & & 0.13333e-08_rb,0.19024e-06_rb,0.25790e-06_rb,0.26385e-06_rb,0.11331e-06_rb /) kbo(:, 4,56, 5) = (/ & & 0.15668e-08_rb,0.21512e-06_rb,0.28626e-06_rb,0.28820e-06_rb,0.12758e-06_rb /) kbo(:, 5,56, 5) = (/ & & 0.18000e-08_rb,0.24055e-06_rb,0.31405e-06_rb,0.31134e-06_rb,0.14106e-06_rb /) kbo(:, 1,57, 5) = (/ & & 0.71747e-09_rb,0.11491e-06_rb,0.15760e-06_rb,0.16907e-06_rb,0.66762e-07_rb /) kbo(:, 2,57, 5) = (/ & & 0.86318e-09_rb,0.13266e-06_rb,0.18198e-06_rb,0.19051e-06_rb,0.78844e-07_rb /) kbo(:, 3,57, 5) = (/ & & 0.10332e-08_rb,0.15199e-06_rb,0.20646e-06_rb,0.21185e-06_rb,0.90317e-07_rb /) kbo(:, 4,57, 5) = (/ & & 0.12205e-08_rb,0.17255e-06_rb,0.23049e-06_rb,0.23280e-06_rb,0.10211e-06_rb /) kbo(:, 5,57, 5) = (/ & & 0.14137e-08_rb,0.19374e-06_rb,0.25377e-06_rb,0.25209e-06_rb,0.11347e-06_rb /) kbo(:, 1,58, 5) = (/ & & 0.55534e-09_rb,0.91161e-07_rb,0.12495e-06_rb,0.13481e-06_rb,0.52524e-07_rb /) kbo(:, 2,58, 5) = (/ & & 0.66796e-09_rb,0.10564e-06_rb,0.14490e-06_rb,0.15246e-06_rb,0.62491e-07_rb /) kbo(:, 3,58, 5) = (/ & & 0.80208e-09_rb,0.12142e-06_rb,0.16540e-06_rb,0.17013e-06_rb,0.71923e-07_rb /) kbo(:, 4,58, 5) = (/ & & 0.95155e-09_rb,0.13846e-06_rb,0.18562e-06_rb,0.18803e-06_rb,0.81760e-07_rb /) kbo(:, 5,58, 5) = (/ & & 0.11100e-08_rb,0.15608e-06_rb,0.20513e-06_rb,0.20425e-06_rb,0.91405e-07_rb /) kbo(:, 1,59, 5) = (/ & & 0.44483e-09_rb,0.74201e-07_rb,0.10175e-06_rb,0.10986e-06_rb,0.42626e-07_rb /) kbo(:, 2,59, 5) = (/ & & 0.53478e-09_rb,0.86257e-07_rb,0.11818e-06_rb,0.12453e-06_rb,0.50816e-07_rb /) kbo(:, 3,59, 5) = (/ & & 0.64265e-09_rb,0.99390e-07_rb,0.13535e-06_rb,0.13928e-06_rb,0.58658e-07_rb /) kbo(:, 4,59, 5) = (/ & & 0.76369e-09_rb,0.11360e-06_rb,0.15224e-06_rb,0.15417e-06_rb,0.66845e-07_rb /) kbo(:, 5,59, 5) = (/ & & 0.89316e-09_rb,0.12826e-06_rb,0.16850e-06_rb,0.16775e-06_rb,0.74841e-07_rb /) kbo(:, 1,13, 6) = (/ & & 0.15452e-03_rb,0.17471e-02_rb,0.22870e-02_rb,0.22757e-02_rb,0.11868e-02_rb /) kbo(:, 2,13, 6) = (/ & & 0.17358e-03_rb,0.18337e-02_rb,0.23752e-02_rb,0.23549e-02_rb,0.12492e-02_rb /) kbo(:, 3,13, 6) = (/ & & 0.19043e-03_rb,0.19070e-02_rb,0.24479e-02_rb,0.24255e-02_rb,0.13114e-02_rb /) kbo(:, 4,13, 6) = (/ & & 0.20459e-03_rb,0.19702e-02_rb,0.25109e-02_rb,0.24905e-02_rb,0.13717e-02_rb /) kbo(:, 5,13, 6) = (/ & & 0.21621e-03_rb,0.20266e-02_rb,0.25653e-02_rb,0.25512e-02_rb,0.14320e-02_rb /) kbo(:, 1,14, 6) = (/ & & 0.12793e-03_rb,0.14662e-02_rb,0.19141e-02_rb,0.19032e-02_rb,0.99404e-03_rb /) kbo(:, 2,14, 6) = (/ & & 0.14335e-03_rb,0.15367e-02_rb,0.19852e-02_rb,0.19691e-02_rb,0.10462e-02_rb /) kbo(:, 3,14, 6) = (/ & & 0.15698e-03_rb,0.15974e-02_rb,0.20454e-02_rb,0.20285e-02_rb,0.10986e-02_rb /) kbo(:, 4,14, 6) = (/ & & 0.16837e-03_rb,0.16505e-02_rb,0.20982e-02_rb,0.20828e-02_rb,0.11509e-02_rb /) kbo(:, 5,14, 6) = (/ & & 0.17765e-03_rb,0.16990e-02_rb,0.21452e-02_rb,0.21357e-02_rb,0.12020e-02_rb /) kbo(:, 1,15, 6) = (/ & & 0.10600e-03_rb,0.12280e-02_rb,0.15987e-02_rb,0.15899e-02_rb,0.83160e-03_rb /) kbo(:, 2,15, 6) = (/ & & 0.11846e-03_rb,0.12858e-02_rb,0.16570e-02_rb,0.16438e-02_rb,0.87641e-03_rb /) kbo(:, 3,15, 6) = (/ & & 0.12947e-03_rb,0.13362e-02_rb,0.17073e-02_rb,0.16937e-02_rb,0.92037e-03_rb /) kbo(:, 4,15, 6) = (/ & & 0.13860e-03_rb,0.13818e-02_rb,0.17519e-02_rb,0.17401e-02_rb,0.96514e-03_rb /) kbo(:, 5,15, 6) = (/ & & 0.14605e-03_rb,0.14231e-02_rb,0.17922e-02_rb,0.17849e-02_rb,0.10088e-02_rb /) kbo(:, 1,16, 6) = (/ & & 0.87844e-04_rb,0.10268e-02_rb,0.13337e-02_rb,0.13258e-02_rb,0.69471e-03_rb /) kbo(:, 2,16, 6) = (/ & & 0.97921e-04_rb,0.10747e-02_rb,0.13816e-02_rb,0.13704e-02_rb,0.73309e-03_rb /) kbo(:, 3,16, 6) = (/ & & 0.10678e-03_rb,0.11173e-02_rb,0.14240e-02_rb,0.14122e-02_rb,0.77126e-03_rb /) kbo(:, 4,16, 6) = (/ & & 0.11410e-03_rb,0.11561e-02_rb,0.14619e-02_rb,0.14525e-02_rb,0.80983e-03_rb /) kbo(:, 5,16, 6) = (/ & & 0.12008e-03_rb,0.11913e-02_rb,0.14957e-02_rb,0.14904e-02_rb,0.84685e-03_rb /) kbo(:, 1,17, 6) = (/ & & 0.72736e-04_rb,0.85770e-03_rb,0.11110e-02_rb,0.11043e-02_rb,0.57988e-03_rb /) kbo(:, 2,17, 6) = (/ & & 0.80870e-04_rb,0.89737e-03_rb,0.11508e-02_rb,0.11412e-02_rb,0.61310e-03_rb /) kbo(:, 3,17, 6) = (/ & & 0.87984e-04_rb,0.93334e-03_rb,0.11865e-02_rb,0.11769e-02_rb,0.64563e-03_rb /) kbo(:, 4,17, 6) = (/ & & 0.93900e-04_rb,0.96637e-03_rb,0.12188e-02_rb,0.12115e-02_rb,0.67946e-03_rb /) kbo(:, 5,17, 6) = (/ & & 0.98669e-04_rb,0.99682e-03_rb,0.12477e-02_rb,0.12444e-02_rb,0.71129e-03_rb /) kbo(:, 1,18, 6) = (/ & & 0.60196e-04_rb,0.71585e-03_rb,0.92484e-03_rb,0.91885e-03_rb,0.48428e-03_rb /) kbo(:, 2,18, 6) = (/ & & 0.66759e-04_rb,0.74902e-03_rb,0.95806e-03_rb,0.95007e-03_rb,0.51254e-03_rb /) kbo(:, 3,18, 6) = (/ & & 0.72486e-04_rb,0.77936e-03_rb,0.98828e-03_rb,0.98036e-03_rb,0.54118e-03_rb /) kbo(:, 4,18, 6) = (/ & & 0.77210e-04_rb,0.80757e-03_rb,0.10157e-02_rb,0.10101e-02_rb,0.56995e-03_rb /) kbo(:, 5,18, 6) = (/ & & 0.81046e-04_rb,0.83344e-03_rb,0.10405e-02_rb,0.10390e-02_rb,0.59762e-03_rb /) kbo(:, 1,19, 6) = (/ & & 0.49797e-04_rb,0.59714e-03_rb,0.76951e-03_rb,0.76408e-03_rb,0.40487e-03_rb /) kbo(:, 2,19, 6) = (/ & & 0.55098e-04_rb,0.62505e-03_rb,0.79728e-03_rb,0.79071e-03_rb,0.42904e-03_rb /) kbo(:, 3,19, 6) = (/ & & 0.59690e-04_rb,0.65071e-03_rb,0.82294e-03_rb,0.81671e-03_rb,0.45375e-03_rb /) kbo(:, 4,19, 6) = (/ & & 0.63457e-04_rb,0.67490e-03_rb,0.84635e-03_rb,0.84245e-03_rb,0.47833e-03_rb /) kbo(:, 5,19, 6) = (/ & & 0.66538e-04_rb,0.69683e-03_rb,0.86805e-03_rb,0.86812e-03_rb,0.50238e-03_rb /) kbo(:, 1,20, 6) = (/ & & 0.41277e-04_rb,0.49854e-03_rb,0.64043e-03_rb,0.63582e-03_rb,0.33885e-03_rb /) kbo(:, 2,20, 6) = (/ & & 0.45557e-04_rb,0.52197e-03_rb,0.66408e-03_rb,0.65859e-03_rb,0.35960e-03_rb /) kbo(:, 3,20, 6) = (/ & & 0.49226e-04_rb,0.54380e-03_rb,0.68582e-03_rb,0.68111e-03_rb,0.38108e-03_rb /) kbo(:, 4,20, 6) = (/ & & 0.52238e-04_rb,0.56442e-03_rb,0.70598e-03_rb,0.70364e-03_rb,0.40199e-03_rb /) kbo(:, 5,20, 6) = (/ & & 0.54694e-04_rb,0.58320e-03_rb,0.72504e-03_rb,0.72645e-03_rb,0.42282e-03_rb /) kbo(:, 1,21, 6) = (/ & & 0.34218e-04_rb,0.41624e-03_rb,0.53312e-03_rb,0.52912e-03_rb,0.28376e-03_rb /) kbo(:, 2,21, 6) = (/ & & 0.37670e-04_rb,0.43597e-03_rb,0.55316e-03_rb,0.54893e-03_rb,0.30161e-03_rb /) kbo(:, 3,21, 6) = (/ & & 0.40602e-04_rb,0.45467e-03_rb,0.57178e-03_rb,0.56861e-03_rb,0.32023e-03_rb /) kbo(:, 4,21, 6) = (/ & & 0.43009e-04_rb,0.47220e-03_rb,0.58931e-03_rb,0.58850e-03_rb,0.33805e-03_rb /) kbo(:, 5,21, 6) = (/ & & 0.44968e-04_rb,0.48850e-03_rb,0.60624e-03_rb,0.60867e-03_rb,0.35633e-03_rb /) kbo(:, 1,22, 6) = (/ & & 0.28554e-04_rb,0.34872e-03_rb,0.44519e-03_rb,0.44203e-03_rb,0.23865e-03_rb /) kbo(:, 2,22, 6) = (/ & & 0.31312e-04_rb,0.36543e-03_rb,0.46215e-03_rb,0.45896e-03_rb,0.25429e-03_rb /) kbo(:, 3,22, 6) = (/ & & 0.33623e-04_rb,0.38136e-03_rb,0.47808e-03_rb,0.47625e-03_rb,0.27020e-03_rb /) kbo(:, 4,22, 6) = (/ & & 0.35518e-04_rb,0.39638e-03_rb,0.49352e-03_rb,0.49393e-03_rb,0.28567e-03_rb /) kbo(:, 5,22, 6) = (/ & & 0.37060e-04_rb,0.41046e-03_rb,0.50833e-03_rb,0.51152e-03_rb,0.30169e-03_rb /) kbo(:, 1,23, 6) = (/ & & 0.23825e-04_rb,0.29241e-03_rb,0.37202e-03_rb,0.36957e-03_rb,0.20120e-03_rb /) kbo(:, 2,23, 6) = (/ & & 0.26019e-04_rb,0.30664e-03_rb,0.38650e-03_rb,0.38433e-03_rb,0.21484e-03_rb /) kbo(:, 3,23, 6) = (/ & & 0.27840e-04_rb,0.32027e-03_rb,0.40038e-03_rb,0.39957e-03_rb,0.22829e-03_rb /) kbo(:, 4,23, 6) = (/ & & 0.29329e-04_rb,0.33317e-03_rb,0.41396e-03_rb,0.41498e-03_rb,0.24169e-03_rb /) kbo(:, 5,23, 6) = (/ & & 0.30542e-04_rb,0.34547e-03_rb,0.42681e-03_rb,0.43048e-03_rb,0.25568e-03_rb /) kbo(:, 1,24, 6) = (/ & & 0.19879e-04_rb,0.24552e-03_rb,0.31135e-03_rb,0.30936e-03_rb,0.16986e-03_rb /) kbo(:, 2,24, 6) = (/ & & 0.21617e-04_rb,0.25767e-03_rb,0.32376e-03_rb,0.32228e-03_rb,0.18173e-03_rb /) kbo(:, 3,24, 6) = (/ & & 0.23050e-04_rb,0.26937e-03_rb,0.33590e-03_rb,0.33579e-03_rb,0.19320e-03_rb /) kbo(:, 4,24, 6) = (/ & & 0.24217e-04_rb,0.28054e-03_rb,0.34772e-03_rb,0.34922e-03_rb,0.20501e-03_rb /) kbo(:, 5,24, 6) = (/ & & 0.25164e-04_rb,0.29121e-03_rb,0.35883e-03_rb,0.36286e-03_rb,0.21708e-03_rb /) kbo(:, 1,25, 6) = (/ & & 0.16589e-04_rb,0.20645e-03_rb,0.26087e-03_rb,0.25944e-03_rb,0.14369e-03_rb /) kbo(:, 2,25, 6) = (/ & & 0.17961e-04_rb,0.21688e-03_rb,0.27162e-03_rb,0.27083e-03_rb,0.15386e-03_rb /) kbo(:, 3,25, 6) = (/ & & 0.19083e-04_rb,0.22697e-03_rb,0.28229e-03_rb,0.28258e-03_rb,0.16383e-03_rb /) kbo(:, 4,25, 6) = (/ & & 0.19998e-04_rb,0.23668e-03_rb,0.29245e-03_rb,0.29438e-03_rb,0.17418e-03_rb /) kbo(:, 5,25, 6) = (/ & & 0.20737e-04_rb,0.24589e-03_rb,0.30216e-03_rb,0.30647e-03_rb,0.18465e-03_rb /) kbo(:, 1,26, 6) = (/ & & 0.13858e-04_rb,0.17402e-03_rb,0.21906e-03_rb,0.21804e-03_rb,0.12205e-03_rb /) kbo(:, 2,26, 6) = (/ & & 0.14930e-04_rb,0.18300e-03_rb,0.22843e-03_rb,0.22813e-03_rb,0.13065e-03_rb /) kbo(:, 3,26, 6) = (/ & & 0.15807e-04_rb,0.19174e-03_rb,0.23770e-03_rb,0.23830e-03_rb,0.13933e-03_rb /) kbo(:, 4,26, 6) = (/ & & 0.16522e-04_rb,0.20010e-03_rb,0.24640e-03_rb,0.24876e-03_rb,0.14837e-03_rb /) kbo(:, 5,26, 6) = (/ & & 0.17090e-04_rb,0.20798e-03_rb,0.25500e-03_rb,0.25943e-03_rb,0.15748e-03_rb /) kbo(:, 1,27, 6) = (/ & & 0.11565e-04_rb,0.14689e-03_rb,0.18423e-03_rb,0.18358e-03_rb,0.10372e-03_rb /) kbo(:, 2,27, 6) = (/ & & 0.12404e-04_rb,0.15466e-03_rb,0.19242e-03_rb,0.19242e-03_rb,0.11104e-03_rb /) kbo(:, 3,27, 6) = (/ & & 0.13088e-04_rb,0.16225e-03_rb,0.20035e-03_rb,0.20136e-03_rb,0.11877e-03_rb /) kbo(:, 4,27, 6) = (/ & & 0.13644e-04_rb,0.16938e-03_rb,0.20793e-03_rb,0.21054e-03_rb,0.12658e-03_rb /) kbo(:, 5,27, 6) = (/ & & 0.14079e-04_rb,0.17614e-03_rb,0.21553e-03_rb,0.22004e-03_rb,0.13455e-03_rb /) kbo(:, 1,28, 6) = (/ & & 0.96429e-05_rb,0.12422e-03_rb,0.15518e-03_rb,0.15486e-03_rb,0.88240e-04_rb /) kbo(:, 2,28, 6) = (/ & & 0.10297e-04_rb,0.13093e-03_rb,0.16229e-03_rb,0.16255e-03_rb,0.94664e-04_rb /) kbo(:, 3,28, 6) = (/ & & 0.10829e-04_rb,0.13744e-03_rb,0.16911e-03_rb,0.17043e-03_rb,0.10137e-03_rb /) kbo(:, 4,28, 6) = (/ & & 0.11263e-04_rb,0.14355e-03_rb,0.17577e-03_rb,0.17861e-03_rb,0.10818e-03_rb /) kbo(:, 5,28, 6) = (/ & & 0.11593e-04_rb,0.14936e-03_rb,0.18245e-03_rb,0.18698e-03_rb,0.11517e-03_rb /) kbo(:, 1,29, 6) = (/ & & 0.80357e-05_rb,0.10525e-03_rb,0.13098e-03_rb,0.13087e-03_rb,0.75199e-04_rb /) kbo(:, 2,29, 6) = (/ & & 0.85457e-05_rb,0.11106e-03_rb,0.13709e-03_rb,0.13756e-03_rb,0.80877e-04_rb /) kbo(:, 3,29, 6) = (/ & & 0.89585e-05_rb,0.11659e-03_rb,0.14298e-03_rb,0.14458e-03_rb,0.86703e-04_rb /) kbo(:, 4,29, 6) = (/ & & 0.92936e-05_rb,0.12185e-03_rb,0.14887e-03_rb,0.15184e-03_rb,0.92679e-04_rb /) kbo(:, 5,29, 6) = (/ & & 0.95413e-05_rb,0.12685e-03_rb,0.15476e-03_rb,0.15926e-03_rb,0.98770e-04_rb /) kbo(:, 1,30, 6) = (/ & & 0.66891e-05_rb,0.89326e-04_rb,0.11070e-03_rb,0.11075e-03_rb,0.64254e-04_rb /) kbo(:, 2,30, 6) = (/ & & 0.70855e-05_rb,0.94280e-04_rb,0.11595e-03_rb,0.11668e-03_rb,0.69215e-04_rb /) kbo(:, 3,30, 6) = (/ & & 0.74068e-05_rb,0.99029e-04_rb,0.12112e-03_rb,0.12290e-03_rb,0.74278e-04_rb /) kbo(:, 4,30, 6) = (/ & & 0.76634e-05_rb,0.10356e-03_rb,0.12631e-03_rb,0.12933e-03_rb,0.79489e-04_rb /) kbo(:, 5,30, 6) = (/ & & 0.78499e-05_rb,0.10785e-03_rb,0.13152e-03_rb,0.13588e-03_rb,0.84762e-04_rb /) kbo(:, 1,31, 6) = (/ & & 0.55647e-05_rb,0.75943e-04_rb,0.93695e-04_rb,0.93906e-04_rb,0.55002e-04_rb /) kbo(:, 2,31, 6) = (/ & & 0.58719e-05_rb,0.80167e-04_rb,0.98229e-04_rb,0.99204e-04_rb,0.59329e-04_rb /) kbo(:, 3,31, 6) = (/ & & 0.61212e-05_rb,0.84249e-04_rb,0.10281e-03_rb,0.10471e-03_rb,0.63778e-04_rb /) kbo(:, 4,31, 6) = (/ & & 0.63162e-05_rb,0.88122e-04_rb,0.10738e-03_rb,0.11041e-03_rb,0.68318e-04_rb /) kbo(:, 5,31, 6) = (/ & & 0.64553e-05_rb,0.91835e-04_rb,0.11204e-03_rb,0.11614e-03_rb,0.72907e-04_rb /) kbo(:, 1,32, 6) = (/ & & 0.46246e-05_rb,0.64633e-04_rb,0.79398e-04_rb,0.79831e-04_rb,0.47190e-04_rb /) kbo(:, 2,32, 6) = (/ & & 0.48628e-05_rb,0.68258e-04_rb,0.83383e-04_rb,0.84521e-04_rb,0.50953e-04_rb /) kbo(:, 3,32, 6) = (/ & & 0.50557e-05_rb,0.71758e-04_rb,0.87418e-04_rb,0.89417e-04_rb,0.54823e-04_rb /) kbo(:, 4,32, 6) = (/ & & 0.52035e-05_rb,0.75099e-04_rb,0.91481e-04_rb,0.94423e-04_rb,0.58785e-04_rb /) kbo(:, 5,32, 6) = (/ & & 0.53068e-05_rb,0.78317e-04_rb,0.95646e-04_rb,0.99452e-04_rb,0.62766e-04_rb /) kbo(:, 1,33, 6) = (/ & & 0.38403e-05_rb,0.55077e-04_rb,0.67410e-04_rb,0.68024e-04_rb,0.40538e-04_rb /) kbo(:, 2,33, 6) = (/ & & 0.40244e-05_rb,0.58199e-04_rb,0.70924e-04_rb,0.72180e-04_rb,0.43839e-04_rb /) kbo(:, 3,33, 6) = (/ & & 0.41730e-05_rb,0.61206e-04_rb,0.74475e-04_rb,0.76502e-04_rb,0.47222e-04_rb /) kbo(:, 4,33, 6) = (/ & & 0.42835e-05_rb,0.64091e-04_rb,0.78114e-04_rb,0.80883e-04_rb,0.50652e-04_rb /) kbo(:, 5,33, 6) = (/ & & 0.43604e-05_rb,0.66898e-04_rb,0.81798e-04_rb,0.85293e-04_rb,0.54102e-04_rb /) kbo(:, 1,34, 6) = (/ & & 0.31801e-05_rb,0.46888e-04_rb,0.57233e-04_rb,0.57945e-04_rb,0.34781e-04_rb /) kbo(:, 2,34, 6) = (/ & & 0.33244e-05_rb,0.49586e-04_rb,0.60319e-04_rb,0.61625e-04_rb,0.37646e-04_rb /) kbo(:, 3,34, 6) = (/ & & 0.34389e-05_rb,0.52183e-04_rb,0.63465e-04_rb,0.65422e-04_rb,0.40606e-04_rb /) kbo(:, 4,34, 6) = (/ & & 0.35228e-05_rb,0.54696e-04_rb,0.66697e-04_rb,0.69266e-04_rb,0.43571e-04_rb /) kbo(:, 5,34, 6) = (/ & & 0.35804e-05_rb,0.57162e-04_rb,0.69964e-04_rb,0.73120e-04_rb,0.46562e-04_rb /) kbo(:, 1,35, 6) = (/ & & 0.26200e-05_rb,0.39742e-04_rb,0.48410e-04_rb,0.49141e-04_rb,0.29639e-04_rb /) kbo(:, 2,35, 6) = (/ & & 0.27351e-05_rb,0.42075e-04_rb,0.51122e-04_rb,0.52382e-04_rb,0.32146e-04_rb /) kbo(:, 3,35, 6) = (/ & & 0.28253e-05_rb,0.44325e-04_rb,0.53916e-04_rb,0.55698e-04_rb,0.34701e-04_rb /) kbo(:, 4,35, 6) = (/ & & 0.28907e-05_rb,0.46530e-04_rb,0.56769e-04_rb,0.59068e-04_rb,0.37280e-04_rb /) kbo(:, 5,35, 6) = (/ & & 0.29354e-05_rb,0.48707e-04_rb,0.59649e-04_rb,0.62461e-04_rb,0.39864e-04_rb /) kbo(:, 1,36, 6) = (/ & & 0.21469e-05_rb,0.33498e-04_rb,0.40744e-04_rb,0.41427e-04_rb,0.25045e-04_rb /) kbo(:, 2,36, 6) = (/ & & 0.22407e-05_rb,0.35513e-04_rb,0.43124e-04_rb,0.44262e-04_rb,0.27227e-04_rb /) kbo(:, 3,36, 6) = (/ & & 0.23140e-05_rb,0.37481e-04_rb,0.45588e-04_rb,0.47157e-04_rb,0.29433e-04_rb /) kbo(:, 4,36, 6) = (/ & & 0.23673e-05_rb,0.39419e-04_rb,0.48109e-04_rb,0.50107e-04_rb,0.31672e-04_rb /) kbo(:, 5,36, 6) = (/ & & 0.24035e-05_rb,0.41345e-04_rb,0.50640e-04_rb,0.53089e-04_rb,0.33911e-04_rb /) kbo(:, 1,37, 6) = (/ & & 0.17464e-05_rb,0.27984e-04_rb,0.34007e-04_rb,0.34584e-04_rb,0.20899e-04_rb /) kbo(:, 2,37, 6) = (/ & & 0.18252e-05_rb,0.29737e-04_rb,0.36088e-04_rb,0.37051e-04_rb,0.22785e-04_rb /) kbo(:, 3,37, 6) = (/ & & 0.18877e-05_rb,0.31460e-04_rb,0.38247e-04_rb,0.39573e-04_rb,0.24687e-04_rb /) kbo(:, 4,37, 6) = (/ & & 0.19333e-05_rb,0.33165e-04_rb,0.40460e-04_rb,0.42146e-04_rb,0.26626e-04_rb /) kbo(:, 5,37, 6) = (/ & & 0.19647e-05_rb,0.34869e-04_rb,0.42691e-04_rb,0.44765e-04_rb,0.28561e-04_rb /) kbo(:, 1,38, 6) = (/ & & 0.14198e-05_rb,0.23364e-04_rb,0.28367e-04_rb,0.28854e-04_rb,0.17422e-04_rb /) kbo(:, 2,38, 6) = (/ & & 0.14862e-05_rb,0.24892e-04_rb,0.30186e-04_rb,0.30994e-04_rb,0.19047e-04_rb /) kbo(:, 3,38, 6) = (/ & & 0.15394e-05_rb,0.26399e-04_rb,0.32076e-04_rb,0.33192e-04_rb,0.20688e-04_rb /) kbo(:, 4,38, 6) = (/ & & 0.15786e-05_rb,0.27898e-04_rb,0.34020e-04_rb,0.35441e-04_rb,0.22360e-04_rb /) kbo(:, 5,38, 6) = (/ & & 0.16058e-05_rb,0.29401e-04_rb,0.35983e-04_rb,0.37735e-04_rb,0.24033e-04_rb /) kbo(:, 1,39, 6) = (/ & & 0.11541e-05_rb,0.19509e-04_rb,0.23663e-04_rb,0.24072e-04_rb,0.14521e-04_rb /) kbo(:, 2,39, 6) = (/ & & 0.12100e-05_rb,0.20837e-04_rb,0.25252e-04_rb,0.25929e-04_rb,0.15915e-04_rb /) kbo(:, 3,39, 6) = (/ & & 0.12551e-05_rb,0.22155e-04_rb,0.26902e-04_rb,0.27842e-04_rb,0.17331e-04_rb /) kbo(:, 4,39, 6) = (/ & & 0.12888e-05_rb,0.23470e-04_rb,0.28603e-04_rb,0.29806e-04_rb,0.18773e-04_rb /) kbo(:, 5,39, 6) = (/ & & 0.13123e-05_rb,0.24794e-04_rb,0.30331e-04_rb,0.31815e-04_rb,0.20216e-04_rb /) kbo(:, 1,40, 6) = (/ & & 0.93244e-06_rb,0.16171e-04_rb,0.19599e-04_rb,0.19918e-04_rb,0.11977e-04_rb /) kbo(:, 2,40, 6) = (/ & & 0.98059e-06_rb,0.17324e-04_rb,0.20976e-04_rb,0.21519e-04_rb,0.13169e-04_rb /) kbo(:, 3,40, 6) = (/ & & 0.10196e-05_rb,0.18475e-04_rb,0.22411e-04_rb,0.23178e-04_rb,0.14387e-04_rb /) kbo(:, 4,40, 6) = (/ & & 0.10496e-05_rb,0.19626e-04_rb,0.23897e-04_rb,0.24887e-04_rb,0.15625e-04_rb /) kbo(:, 5,40, 6) = (/ & & 0.10706e-05_rb,0.20792e-04_rb,0.25411e-04_rb,0.26641e-04_rb,0.16871e-04_rb /) kbo(:, 1,41, 6) = (/ & & 0.75206e-06_rb,0.13381e-04_rb,0.16204e-04_rb,0.16448e-04_rb,0.98582e-05_rb /) kbo(:, 2,41, 6) = (/ & & 0.79368e-06_rb,0.14380e-04_rb,0.17395e-04_rb,0.17824e-04_rb,0.10873e-04_rb /) kbo(:, 3,41, 6) = (/ & & 0.82742e-06_rb,0.15382e-04_rb,0.18640e-04_rb,0.19259e-04_rb,0.11916e-04_rb /) kbo(:, 4,41, 6) = (/ & & 0.85390e-06_rb,0.16388e-04_rb,0.19935e-04_rb,0.20745e-04_rb,0.12979e-04_rb /) kbo(:, 5,41, 6) = (/ & & 0.87281e-06_rb,0.17412e-04_rb,0.21261e-04_rb,0.22271e-04_rb,0.14053e-04_rb /) kbo(:, 1,42, 6) = (/ & & 0.60591e-06_rb,0.11061e-04_rb,0.13385e-04_rb,0.13568e-04_rb,0.81045e-05_rb /) kbo(:, 2,42, 6) = (/ & & 0.64182e-06_rb,0.11926e-04_rb,0.14412e-04_rb,0.14751e-04_rb,0.89661e-05_rb /) kbo(:, 3,42, 6) = (/ & & 0.67101e-06_rb,0.12797e-04_rb,0.15489e-04_rb,0.15987e-04_rb,0.98578e-05_rb /) kbo(:, 4,42, 6) = (/ & & 0.69427e-06_rb,0.13675e-04_rb,0.16616e-04_rb,0.17274e-04_rb,0.10770e-04_rb /) kbo(:, 5,42, 6) = (/ & & 0.71122e-06_rb,0.14573e-04_rb,0.17774e-04_rb,0.18601e-04_rb,0.11690e-04_rb /) kbo(:, 1,43, 6) = (/ & & 0.48565e-06_rb,0.90929e-05_rb,0.10998e-04_rb,0.11127e-04_rb,0.66136e-05_rb /) kbo(:, 2,43, 6) = (/ & & 0.51703e-06_rb,0.98401e-05_rb,0.11878e-04_rb,0.12136e-04_rb,0.73431e-05_rb /) kbo(:, 3,43, 6) = (/ & & 0.54246e-06_rb,0.10594e-04_rb,0.12807e-04_rb,0.13197e-04_rb,0.81019e-05_rb /) kbo(:, 4,43, 6) = (/ & & 0.56309e-06_rb,0.11359e-04_rb,0.13782e-04_rb,0.14306e-04_rb,0.88812e-05_rb /) kbo(:, 5,43, 6) = (/ & & 0.57854e-06_rb,0.12144e-04_rb,0.14791e-04_rb,0.15456e-04_rb,0.96685e-05_rb /) kbo(:, 1,44, 6) = (/ & & 0.38777e-06_rb,0.74478e-05_rb,0.90062e-05_rb,0.90921e-05_rb,0.53709e-05_rb /) kbo(:, 2,44, 6) = (/ & & 0.41522e-06_rb,0.80919e-05_rb,0.97570e-05_rb,0.99478e-05_rb,0.59889e-05_rb /) kbo(:, 3,44, 6) = (/ & & 0.43761e-06_rb,0.87433e-05_rb,0.10555e-04_rb,0.10856e-04_rb,0.66332e-05_rb /) kbo(:, 4,44, 6) = (/ & & 0.45584e-06_rb,0.94063e-05_rb,0.11395e-04_rb,0.11808e-04_rb,0.72955e-05_rb /) kbo(:, 5,44, 6) = (/ & & 0.46990e-06_rb,0.10091e-04_rb,0.12269e-04_rb,0.12799e-04_rb,0.79696e-05_rb /) kbo(:, 1,45, 6) = (/ & & 0.30888e-06_rb,0.60898e-05_rb,0.73632e-05_rb,0.74181e-05_rb,0.43535e-05_rb /) kbo(:, 2,45, 6) = (/ & & 0.33291e-06_rb,0.66440e-05_rb,0.80023e-05_rb,0.81416e-05_rb,0.48741e-05_rb /) kbo(:, 3,45, 6) = (/ & & 0.35255e-06_rb,0.72052e-05_rb,0.86855e-05_rb,0.89154e-05_rb,0.54207e-05_rb /) kbo(:, 4,45, 6) = (/ & & 0.36854e-06_rb,0.77787e-05_rb,0.94068e-05_rb,0.97308e-05_rb,0.59833e-05_rb /) kbo(:, 5,45, 6) = (/ & & 0.38125e-06_rb,0.83745e-05_rb,0.10163e-04_rb,0.10583e-04_rb,0.65578e-05_rb /) kbo(:, 1,46, 6) = (/ & & 0.24494e-06_rb,0.49598e-05_rb,0.59987e-05_rb,0.60289e-05_rb,0.35123e-05_rb /) kbo(:, 2,46, 6) = (/ & & 0.26595e-06_rb,0.54355e-05_rb,0.65411e-05_rb,0.66383e-05_rb,0.39494e-05_rb /) kbo(:, 3,46, 6) = (/ & & 0.28328e-06_rb,0.59173e-05_rb,0.71233e-05_rb,0.72943e-05_rb,0.44113e-05_rb /) kbo(:, 4,46, 6) = (/ & & 0.29735e-06_rb,0.64123e-05_rb,0.77406e-05_rb,0.79904e-05_rb,0.48883e-05_rb /) kbo(:, 5,46, 6) = (/ & & 0.30876e-06_rb,0.69283e-05_rb,0.83913e-05_rb,0.87211e-05_rb,0.53766e-05_rb /) kbo(:, 1,47, 6) = (/ & & 0.19287e-06_rb,0.40134e-05_rb,0.48586e-05_rb,0.48718e-05_rb,0.28114e-05_rb /) kbo(:, 2,47, 6) = (/ & & 0.21123e-06_rb,0.44208e-05_rb,0.53178e-05_rb,0.53794e-05_rb,0.31781e-05_rb /) kbo(:, 3,47, 6) = (/ & & 0.22658e-06_rb,0.48332e-05_rb,0.58104e-05_rb,0.59335e-05_rb,0.35646e-05_rb /) kbo(:, 4,47, 6) = (/ & & 0.23912e-06_rb,0.52582e-05_rb,0.63354e-05_rb,0.65230e-05_rb,0.39676e-05_rb /) kbo(:, 5,47, 6) = (/ & & 0.24931e-06_rb,0.57025e-05_rb,0.68920e-05_rb,0.71458e-05_rb,0.43826e-05_rb /) kbo(:, 1,48, 6) = (/ & & 0.15132e-06_rb,0.32395e-05_rb,0.39269e-05_rb,0.39289e-05_rb,0.22458e-05_rb /) kbo(:, 2,48, 6) = (/ & & 0.16716e-06_rb,0.35866e-05_rb,0.43144e-05_rb,0.43511e-05_rb,0.25512e-05_rb /) kbo(:, 3,48, 6) = (/ & & 0.18076e-06_rb,0.39391e-05_rb,0.47294e-05_rb,0.48161e-05_rb,0.28746e-05_rb /) kbo(:, 4,48, 6) = (/ & & 0.19194e-06_rb,0.43030e-05_rb,0.51748e-05_rb,0.53142e-05_rb,0.32135e-05_rb /) kbo(:, 5,48, 6) = (/ & & 0.20099e-06_rb,0.46842e-05_rb,0.56488e-05_rb,0.58430e-05_rb,0.35644e-05_rb /) kbo(:, 1,49, 6) = (/ & & 0.11828e-06_rb,0.26078e-05_rb,0.31672e-05_rb,0.31617e-05_rb,0.17894e-05_rb /) kbo(:, 2,49, 6) = (/ & & 0.13185e-06_rb,0.29029e-05_rb,0.34929e-05_rb,0.35125e-05_rb,0.20423e-05_rb /) kbo(:, 3,49, 6) = (/ & & 0.14378e-06_rb,0.32030e-05_rb,0.38409e-05_rb,0.39000e-05_rb,0.23121e-05_rb /) kbo(:, 4,49, 6) = (/ & & 0.15369e-06_rb,0.35139e-05_rb,0.42179e-05_rb,0.43198e-05_rb,0.25971e-05_rb /) kbo(:, 5,49, 6) = (/ & & 0.16176e-06_rb,0.38391e-05_rb,0.46198e-05_rb,0.47667e-05_rb,0.28929e-05_rb /) kbo(:, 1,50, 6) = (/ & & 0.92362e-07_rb,0.20997e-05_rb,0.25556e-05_rb,0.25471e-05_rb,0.14267e-05_rb /) kbo(:, 2,50, 6) = (/ & & 0.10390e-06_rb,0.23496e-05_rb,0.28286e-05_rb,0.28368e-05_rb,0.16356e-05_rb /) kbo(:, 3,50, 6) = (/ & & 0.11421e-06_rb,0.26049e-05_rb,0.31213e-05_rb,0.31606e-05_rb,0.18609e-05_rb /) kbo(:, 4,50, 6) = (/ & & 0.12297e-06_rb,0.28694e-05_rb,0.34392e-05_rb,0.35125e-05_rb,0.20996e-05_rb /) kbo(:, 5,50, 6) = (/ & & 0.13012e-06_rb,0.31471e-05_rb,0.37794e-05_rb,0.38900e-05_rb,0.23486e-05_rb /) kbo(:, 1,51, 6) = (/ & & 0.72029e-07_rb,0.16879e-05_rb,0.20606e-05_rb,0.20506e-05_rb,0.11365e-05_rb /) kbo(:, 2,51, 6) = (/ & & 0.81717e-07_rb,0.18994e-05_rb,0.22886e-05_rb,0.22902e-05_rb,0.13081e-05_rb /) kbo(:, 3,51, 6) = (/ & & 0.90547e-07_rb,0.21162e-05_rb,0.25347e-05_rb,0.25588e-05_rb,0.14964e-05_rb /) kbo(:, 4,51, 6) = (/ & & 0.98231e-07_rb,0.23407e-05_rb,0.28017e-05_rb,0.28537e-05_rb,0.16958e-05_rb /) kbo(:, 5,51, 6) = (/ & & 0.10454e-06_rb,0.25770e-05_rb,0.30891e-05_rb,0.31719e-05_rb,0.19053e-05_rb /) kbo(:, 1,52, 6) = (/ & & 0.55994e-07_rb,0.13535e-05_rb,0.16583e-05_rb,0.16483e-05_rb,0.90215e-06_rb /) kbo(:, 2,52, 6) = (/ & & 0.64065e-07_rb,0.15318e-05_rb,0.18483e-05_rb,0.18452e-05_rb,0.10447e-05_rb /) kbo(:, 3,52, 6) = (/ & & 0.71601e-07_rb,0.17156e-05_rb,0.20541e-05_rb,0.20679e-05_rb,0.12005e-05_rb /) kbo(:, 4,52, 6) = (/ & & 0.78265e-07_rb,0.19055e-05_rb,0.22786e-05_rb,0.23151e-05_rb,0.13673e-05_rb /) kbo(:, 5,52, 6) = (/ & & 0.83827e-07_rb,0.21062e-05_rb,0.25201e-05_rb,0.25812e-05_rb,0.15426e-05_rb /) kbo(:, 1,53, 6) = (/ & & 0.43376e-07_rb,0.10823e-05_rb,0.13316e-05_rb,0.13229e-05_rb,0.71387e-06_rb /) kbo(:, 2,53, 6) = (/ & & 0.50078e-07_rb,0.12320e-05_rb,0.14898e-05_rb,0.14843e-05_rb,0.83196e-06_rb /) kbo(:, 3,53, 6) = (/ & & 0.56440e-07_rb,0.13873e-05_rb,0.16612e-05_rb,0.16678e-05_rb,0.96085e-06_rb /) kbo(:, 4,53, 6) = (/ & & 0.62188e-07_rb,0.15481e-05_rb,0.18489e-05_rb,0.18736e-05_rb,0.10995e-05_rb /) kbo(:, 5,53, 6) = (/ & & 0.67072e-07_rb,0.17179e-05_rb,0.20520e-05_rb,0.20964e-05_rb,0.12465e-05_rb /) kbo(:, 1,54, 6) = (/ & & 0.33662e-07_rb,0.86685e-06_rb,0.10712e-05_rb,0.10638e-05_rb,0.56675e-06_rb /) kbo(:, 2,54, 6) = (/ & & 0.39188e-07_rb,0.99237e-06_rb,0.12024e-05_rb,0.11965e-05_rb,0.66407e-06_rb /) kbo(:, 3,54, 6) = (/ & & 0.44517e-07_rb,0.11234e-05_rb,0.13453e-05_rb,0.13477e-05_rb,0.77015e-06_rb /) kbo(:, 4,54, 6) = (/ & & 0.49410e-07_rb,0.12591e-05_rb,0.15022e-05_rb,0.15186e-05_rb,0.88568e-06_rb /) kbo(:, 5,54, 6) = (/ & & 0.53662e-07_rb,0.14028e-05_rb,0.16732e-05_rb,0.17054e-05_rb,0.10088e-05_rb /) kbo(:, 1,55, 6) = (/ & & 0.26107e-07_rb,0.69409e-06_rb,0.86148e-06_rb,0.85535e-06_rb,0.44993e-06_rb /) kbo(:, 2,55, 6) = (/ & & 0.30648e-07_rb,0.79874e-06_rb,0.97050e-06_rb,0.96432e-06_rb,0.52987e-06_rb /) kbo(:, 3,55, 6) = (/ & & 0.35070e-07_rb,0.90919e-06_rb,0.10893e-05_rb,0.10889e-05_rb,0.61727e-06_rb /) kbo(:, 4,55, 6) = (/ & & 0.39223e-07_rb,0.10237e-05_rb,0.12206e-05_rb,0.12308e-05_rb,0.71345e-06_rb /) kbo(:, 5,55, 6) = (/ & & 0.42897e-07_rb,0.11450e-05_rb,0.13641e-05_rb,0.13878e-05_rb,0.81614e-06_rb /) kbo(:, 1,56, 6) = (/ & & 0.20183e-07_rb,0.55461e-06_rb,0.69187e-06_rb,0.68686e-06_rb,0.35634e-06_rb /) kbo(:, 2,56, 6) = (/ & & 0.23906e-07_rb,0.64143e-06_rb,0.78193e-06_rb,0.77615e-06_rb,0.42133e-06_rb /) kbo(:, 3,56, 6) = (/ & & 0.27573e-07_rb,0.73422e-06_rb,0.88059e-06_rb,0.87848e-06_rb,0.49387e-06_rb /) kbo(:, 4,56, 6) = (/ & & 0.31066e-07_rb,0.83083e-06_rb,0.99001e-06_rb,0.99604e-06_rb,0.57362e-06_rb /) kbo(:, 5,56, 6) = (/ & & 0.34213e-07_rb,0.93302e-06_rb,0.11103e-05_rb,0.11271e-05_rb,0.65906e-06_rb /) kbo(:, 1,57, 6) = (/ & & 0.15553e-07_rb,0.44221e-06_rb,0.55475e-06_rb,0.55051e-06_rb,0.28158e-06_rb /) kbo(:, 2,57, 6) = (/ & & 0.18597e-07_rb,0.51387e-06_rb,0.62883e-06_rb,0.62381e-06_rb,0.33432e-06_rb /) kbo(:, 3,57, 6) = (/ & & 0.21627e-07_rb,0.59165e-06_rb,0.71079e-06_rb,0.70768e-06_rb,0.39423e-06_rb /) kbo(:, 4,57, 6) = (/ & & 0.24548e-07_rb,0.67286e-06_rb,0.80159e-06_rb,0.80451e-06_rb,0.46009e-06_rb /) kbo(:, 5,57, 6) = (/ & & 0.27223e-07_rb,0.75870e-06_rb,0.90196e-06_rb,0.91372e-06_rb,0.53126e-06_rb /) kbo(:, 1,58, 6) = (/ & & 0.11989e-07_rb,0.35271e-06_rb,0.44504e-06_rb,0.44164e-06_rb,0.22247e-06_rb /) kbo(:, 2,58, 6) = (/ & & 0.14473e-07_rb,0.41167e-06_rb,0.50593e-06_rb,0.50179e-06_rb,0.26557e-06_rb /) kbo(:, 3,58, 6) = (/ & & 0.16959e-07_rb,0.47681e-06_rb,0.57389e-06_rb,0.57055e-06_rb,0.31488e-06_rb /) kbo(:, 4,58, 6) = (/ & & 0.19386e-07_rb,0.54503e-06_rb,0.64933e-06_rb,0.65043e-06_rb,0.36927e-06_rb /) kbo(:, 5,58, 6) = (/ & & 0.21655e-07_rb,0.61705e-06_rb,0.73285e-06_rb,0.74092e-06_rb,0.42823e-06_rb /) kbo(:, 1,59, 6) = (/ & & 0.95745e-08_rb,0.28909e-06_rb,0.36504e-06_rb,0.36221e-06_rb,0.18143e-06_rb /) kbo(:, 2,59, 6) = (/ & & 0.11602e-07_rb,0.33869e-06_rb,0.41625e-06_rb,0.41267e-06_rb,0.21754e-06_rb /) kbo(:, 3,59, 6) = (/ & & 0.13639e-07_rb,0.39363e-06_rb,0.47345e-06_rb,0.47053e-06_rb,0.25873e-06_rb /) kbo(:, 4,59, 6) = (/ & & 0.15635e-07_rb,0.45132e-06_rb,0.53722e-06_rb,0.53779e-06_rb,0.30436e-06_rb /) kbo(:, 5,59, 6) = (/ & & 0.17515e-07_rb,0.51255e-06_rb,0.60804e-06_rb,0.61445e-06_rb,0.35395e-06_rb /) kbo(:, 1,13, 7) = (/ & & 0.13818e-02_rb,0.53095e-02_rb,0.61744e-02_rb,0.61409e-02_rb,0.38201e-02_rb /) kbo(:, 2,13, 7) = (/ & & 0.14927e-02_rb,0.54262e-02_rb,0.63169e-02_rb,0.63268e-02_rb,0.39787e-02_rb /) kbo(:, 3,13, 7) = (/ & & 0.15882e-02_rb,0.55245e-02_rb,0.64575e-02_rb,0.65042e-02_rb,0.41285e-02_rb /) kbo(:, 4,13, 7) = (/ & & 0.16683e-02_rb,0.56028e-02_rb,0.65859e-02_rb,0.66764e-02_rb,0.42766e-02_rb /) kbo(:, 5,13, 7) = (/ & & 0.17364e-02_rb,0.56642e-02_rb,0.66996e-02_rb,0.68400e-02_rb,0.44196e-02_rb /) kbo(:, 1,14, 7) = (/ & & 0.11439e-02_rb,0.44642e-02_rb,0.52052e-02_rb,0.51954e-02_rb,0.32185e-02_rb /) kbo(:, 2,14, 7) = (/ & & 0.12322e-02_rb,0.45612e-02_rb,0.53295e-02_rb,0.53554e-02_rb,0.33544e-02_rb /) kbo(:, 3,14, 7) = (/ & & 0.13082e-02_rb,0.46425e-02_rb,0.54474e-02_rb,0.55111e-02_rb,0.34869e-02_rb /) kbo(:, 4,14, 7) = (/ & & 0.13723e-02_rb,0.47078e-02_rb,0.55568e-02_rb,0.56605e-02_rb,0.36178e-02_rb /) kbo(:, 5,14, 7) = (/ & & 0.14273e-02_rb,0.47614e-02_rb,0.56536e-02_rb,0.58004e-02_rb,0.37445e-02_rb /) kbo(:, 1,15, 7) = (/ & & 0.94600e-03_rb,0.37452e-02_rb,0.43786e-02_rb,0.43839e-02_rb,0.27064e-02_rb /) kbo(:, 2,15, 7) = (/ & & 0.10166e-02_rb,0.38272e-02_rb,0.44845e-02_rb,0.45238e-02_rb,0.28259e-02_rb /) kbo(:, 3,15, 7) = (/ & & 0.10772e-02_rb,0.38951e-02_rb,0.45852e-02_rb,0.46569e-02_rb,0.29424e-02_rb /) kbo(:, 4,15, 7) = (/ & & 0.11287e-02_rb,0.39508e-02_rb,0.46776e-02_rb,0.47856e-02_rb,0.30573e-02_rb /) kbo(:, 5,15, 7) = (/ & & 0.11727e-02_rb,0.39984e-02_rb,0.47639e-02_rb,0.49094e-02_rb,0.31707e-02_rb /) kbo(:, 1,16, 7) = (/ & & 0.78170e-03_rb,0.31386e-02_rb,0.36753e-02_rb,0.36925e-02_rb,0.22749e-02_rb /) kbo(:, 2,16, 7) = (/ & & 0.83828e-03_rb,0.32067e-02_rb,0.37655e-02_rb,0.38108e-02_rb,0.23791e-02_rb /) kbo(:, 3,16, 7) = (/ & & 0.88677e-03_rb,0.32636e-02_rb,0.38524e-02_rb,0.39267e-02_rb,0.24809e-02_rb /) kbo(:, 4,16, 7) = (/ & & 0.92814e-03_rb,0.33127e-02_rb,0.39332e-02_rb,0.40389e-02_rb,0.25819e-02_rb /) kbo(:, 5,16, 7) = (/ & & 0.96342e-03_rb,0.33561e-02_rb,0.40123e-02_rb,0.41493e-02_rb,0.26825e-02_rb /) kbo(:, 1,17, 7) = (/ & & 0.64513e-03_rb,0.26258e-02_rb,0.30792e-02_rb,0.31027e-02_rb,0.19109e-02_rb /) kbo(:, 2,17, 7) = (/ & & 0.69065e-03_rb,0.26830e-02_rb,0.31573e-02_rb,0.32056e-02_rb,0.20013e-02_rb /) kbo(:, 3,17, 7) = (/ & & 0.72951e-03_rb,0.27321e-02_rb,0.32326e-02_rb,0.33061e-02_rb,0.20905e-02_rb /) kbo(:, 4,17, 7) = (/ & & 0.76279e-03_rb,0.27759e-02_rb,0.33057e-02_rb,0.34049e-02_rb,0.21791e-02_rb /) kbo(:, 5,17, 7) = (/ & & 0.79127e-03_rb,0.28164e-02_rb,0.33776e-02_rb,0.35037e-02_rb,0.22680e-02_rb /) kbo(:, 1,18, 7) = (/ & & 0.53216e-03_rb,0.21945e-02_rb,0.25768e-02_rb,0.26041e-02_rb,0.16047e-02_rb /) kbo(:, 2,18, 7) = (/ & & 0.56878e-03_rb,0.22431e-02_rb,0.26453e-02_rb,0.26934e-02_rb,0.16829e-02_rb /) kbo(:, 3,18, 7) = (/ & & 0.60002e-03_rb,0.22864e-02_rb,0.27121e-02_rb,0.27812e-02_rb,0.17605e-02_rb /) kbo(:, 4,18, 7) = (/ & & 0.62666e-03_rb,0.23265e-02_rb,0.27778e-02_rb,0.28689e-02_rb,0.18389e-02_rb /) kbo(:, 5,18, 7) = (/ & & 0.64956e-03_rb,0.23645e-02_rb,0.28436e-02_rb,0.29587e-02_rb,0.19175e-02_rb /) kbo(:, 1,19, 7) = (/ & & 0.43878e-03_rb,0.18328e-02_rb,0.21555e-02_rb,0.21844e-02_rb,0.13470e-02_rb /) kbo(:, 2,19, 7) = (/ & & 0.46832e-03_rb,0.18749e-02_rb,0.22160e-02_rb,0.22619e-02_rb,0.14147e-02_rb /) kbo(:, 3,19, 7) = (/ & & 0.49337e-03_rb,0.19136e-02_rb,0.22752e-02_rb,0.23395e-02_rb,0.14834e-02_rb /) kbo(:, 4,19, 7) = (/ & & 0.51483e-03_rb,0.19509e-02_rb,0.23344e-02_rb,0.24177e-02_rb,0.15526e-02_rb /) kbo(:, 5,19, 7) = (/ & & 0.53321e-03_rb,0.19863e-02_rb,0.23950e-02_rb,0.24983e-02_rb,0.16228e-02_rb /) kbo(:, 1,20, 7) = (/ & & 0.36218e-03_rb,0.15310e-02_rb,0.18044e-02_rb,0.18333e-02_rb,0.11320e-02_rb /) kbo(:, 2,20, 7) = (/ & & 0.38587e-03_rb,0.15681e-02_rb,0.18573e-02_rb,0.19010e-02_rb,0.11911e-02_rb /) kbo(:, 3,20, 7) = (/ & & 0.40599e-03_rb,0.16034e-02_rb,0.19105e-02_rb,0.19693e-02_rb,0.12516e-02_rb /) kbo(:, 4,20, 7) = (/ & & 0.42327e-03_rb,0.16372e-02_rb,0.19642e-02_rb,0.20400e-02_rb,0.13133e-02_rb /) kbo(:, 5,20, 7) = (/ & & 0.43800e-03_rb,0.16702e-02_rb,0.20196e-02_rb,0.21120e-02_rb,0.13760e-02_rb /) kbo(:, 1,21, 7) = (/ & & 0.29894e-03_rb,0.12794e-02_rb,0.15109e-02_rb,0.15392e-02_rb,0.95196e-03_rb /) kbo(:, 2,21, 7) = (/ & & 0.31795e-03_rb,0.13126e-02_rb,0.15578e-02_rb,0.15985e-02_rb,0.10041e-02_rb /) kbo(:, 3,21, 7) = (/ & & 0.33409e-03_rb,0.13444e-02_rb,0.16054e-02_rb,0.16590e-02_rb,0.10575e-02_rb /) kbo(:, 4,21, 7) = (/ & & 0.34798e-03_rb,0.13752e-02_rb,0.16542e-02_rb,0.17228e-02_rb,0.11124e-02_rb /) kbo(:, 5,21, 7) = (/ & & 0.35982e-03_rb,0.14062e-02_rb,0.17046e-02_rb,0.17872e-02_rb,0.11688e-02_rb /) kbo(:, 1,22, 7) = (/ & & 0.24779e-03_rb,0.10720e-02_rb,0.12687e-02_rb,0.12959e-02_rb,0.80428e-03_rb /) kbo(:, 2,22, 7) = (/ & & 0.26287e-03_rb,0.11012e-02_rb,0.13104e-02_rb,0.13483e-02_rb,0.85046e-03_rb /) kbo(:, 3,22, 7) = (/ & & 0.27570e-03_rb,0.11300e-02_rb,0.13532e-02_rb,0.14032e-02_rb,0.89796e-03_rb /) kbo(:, 4,22, 7) = (/ & & 0.28676e-03_rb,0.11583e-02_rb,0.13978e-02_rb,0.14602e-02_rb,0.94722e-03_rb /) kbo(:, 5,22, 7) = (/ & & 0.29612e-03_rb,0.11873e-02_rb,0.14439e-02_rb,0.15185e-02_rb,0.99812e-03_rb /) kbo(:, 1,23, 7) = (/ & & 0.20536e-03_rb,0.89901e-03_rb,0.10666e-02_rb,0.10925e-02_rb,0.68077e-03_rb /) kbo(:, 2,23, 7) = (/ & & 0.21732e-03_rb,0.92514e-03_rb,0.11037e-02_rb,0.11394e-02_rb,0.72189e-03_rb /) kbo(:, 3,23, 7) = (/ & & 0.22752e-03_rb,0.95109e-03_rb,0.11426e-02_rb,0.11888e-02_rb,0.76437e-03_rb /) kbo(:, 4,23, 7) = (/ & & 0.23632e-03_rb,0.97728e-03_rb,0.11832e-02_rb,0.12403e-02_rb,0.80877e-03_rb /) kbo(:, 5,23, 7) = (/ & & 0.24369e-03_rb,0.10040e-02_rb,0.12260e-02_rb,0.12934e-02_rb,0.85489e-03_rb /) kbo(:, 1,24, 7) = (/ & & 0.17021e-03_rb,0.75506e-03_rb,0.89800e-03_rb,0.92265e-03_rb,0.57788e-03_rb /) kbo(:, 2,24, 7) = (/ & & 0.17969e-03_rb,0.77853e-03_rb,0.93149e-03_rb,0.96497e-03_rb,0.61443e-03_rb /) kbo(:, 3,24, 7) = (/ & & 0.18778e-03_rb,0.80207e-03_rb,0.96680e-03_rb,0.10097e-02_rb,0.65278e-03_rb /) kbo(:, 4,24, 7) = (/ & & 0.19477e-03_rb,0.82622e-03_rb,0.10041e-02_rb,0.10564e-02_rb,0.69293e-03_rb /) kbo(:, 5,24, 7) = (/ & & 0.20055e-03_rb,0.85104e-03_rb,0.10439e-02_rb,0.11053e-02_rb,0.73424e-03_rb /) kbo(:, 1,25, 7) = (/ & & 0.14110e-03_rb,0.63531e-03_rb,0.75746e-03_rb,0.78109e-03_rb,0.49195e-03_rb /) kbo(:, 2,25, 7) = (/ & & 0.14860e-03_rb,0.65629e-03_rb,0.78801e-03_rb,0.81951e-03_rb,0.52472e-03_rb /) kbo(:, 3,25, 7) = (/ & & 0.15502e-03_rb,0.67802e-03_rb,0.82018e-03_rb,0.86005e-03_rb,0.55929e-03_rb /) kbo(:, 4,25, 7) = (/ & & 0.16054e-03_rb,0.70023e-03_rb,0.85487e-03_rb,0.90270e-03_rb,0.59546e-03_rb /) kbo(:, 5,25, 7) = (/ & & 0.16506e-03_rb,0.72333e-03_rb,0.89213e-03_rb,0.94794e-03_rb,0.63296e-03_rb /) kbo(:, 1,26, 7) = (/ & & 0.11704e-03_rb,0.53563e-03_rb,0.64089e-03_rb,0.66348e-03_rb,0.42036e-03_rb /) kbo(:, 2,26, 7) = (/ & & 0.12296e-03_rb,0.55482e-03_rb,0.66859e-03_rb,0.69842e-03_rb,0.44986e-03_rb /) kbo(:, 3,26, 7) = (/ & & 0.12804e-03_rb,0.57460e-03_rb,0.69838e-03_rb,0.73532e-03_rb,0.48115e-03_rb /) kbo(:, 4,26, 7) = (/ & & 0.13237e-03_rb,0.59528e-03_rb,0.73081e-03_rb,0.77472e-03_rb,0.51371e-03_rb /) kbo(:, 5,26, 7) = (/ & & 0.13587e-03_rb,0.61708e-03_rb,0.76562e-03_rb,0.81649e-03_rb,0.54800e-03_rb /) kbo(:, 1,27, 7) = (/ & & 0.97037e-04_rb,0.45263e-03_rb,0.54353e-03_rb,0.56528e-03_rb,0.36031e-03_rb /) kbo(:, 2,27, 7) = (/ & & 0.10171e-03_rb,0.47018e-03_rb,0.56899e-03_rb,0.59710e-03_rb,0.38698e-03_rb /) kbo(:, 3,27, 7) = (/ & & 0.10572e-03_rb,0.48833e-03_rb,0.59675e-03_rb,0.63096e-03_rb,0.41505e-03_rb /) kbo(:, 4,27, 7) = (/ & & 0.10911e-03_rb,0.50767e-03_rb,0.62713e-03_rb,0.66736e-03_rb,0.44466e-03_rb /) kbo(:, 5,27, 7) = (/ & & 0.11182e-03_rb,0.52830e-03_rb,0.65949e-03_rb,0.70600e-03_rb,0.47625e-03_rb /) kbo(:, 1,28, 7) = (/ & & 0.80419e-04_rb,0.38349e-03_rb,0.46224e-03_rb,0.48308e-03_rb,0.30982e-03_rb /) kbo(:, 2,28, 7) = (/ & & 0.84110e-04_rb,0.39943e-03_rb,0.48584e-03_rb,0.51214e-03_rb,0.33386e-03_rb /) kbo(:, 3,28, 7) = (/ & & 0.87283e-04_rb,0.41636e-03_rb,0.51189e-03_rb,0.54353e-03_rb,0.35924e-03_rb /) kbo(:, 4,28, 7) = (/ & & 0.89914e-04_rb,0.43456e-03_rb,0.54020e-03_rb,0.57698e-03_rb,0.38635e-03_rb /) kbo(:, 5,28, 7) = (/ & & 0.92003e-04_rb,0.45406e-03_rb,0.57030e-03_rb,0.61286e-03_rb,0.41553e-03_rb /) kbo(:, 1,29, 7) = (/ & & 0.66637e-04_rb,0.32580e-03_rb,0.39453e-03_rb,0.41439e-03_rb,0.26738e-03_rb /) kbo(:, 2,29, 7) = (/ & & 0.69552e-04_rb,0.34052e-03_rb,0.41660e-03_rb,0.44116e-03_rb,0.28904e-03_rb /) kbo(:, 3,29, 7) = (/ & & 0.72042e-04_rb,0.35633e-03_rb,0.44102e-03_rb,0.47005e-03_rb,0.31218e-03_rb /) kbo(:, 4,29, 7) = (/ & & 0.74082e-04_rb,0.37351e-03_rb,0.46731e-03_rb,0.50108e-03_rb,0.33714e-03_rb /) kbo(:, 5,29, 7) = (/ & & 0.75692e-04_rb,0.39190e-03_rb,0.49529e-03_rb,0.53447e-03_rb,0.36421e-03_rb /) kbo(:, 1,30, 7) = (/ & & 0.55194e-04_rb,0.27757e-03_rb,0.33804e-03_rb,0.35670e-03_rb,0.23148e-03_rb /) kbo(:, 2,30, 7) = (/ & & 0.57489e-04_rb,0.29130e-03_rb,0.35876e-03_rb,0.38143e-03_rb,0.25115e-03_rb /) kbo(:, 3,30, 7) = (/ & & 0.59445e-04_rb,0.30619e-03_rb,0.38148e-03_rb,0.40810e-03_rb,0.27242e-03_rb /) kbo(:, 4,30, 7) = (/ & & 0.61024e-04_rb,0.32233e-03_rb,0.40578e-03_rb,0.43698e-03_rb,0.29552e-03_rb /) kbo(:, 5,30, 7) = (/ & & 0.62251e-04_rb,0.33969e-03_rb,0.43185e-03_rb,0.46830e-03_rb,0.32052e-03_rb /) kbo(:, 1,31, 7) = (/ & & 0.45701e-04_rb,0.23736e-03_rb,0.29086e-03_rb,0.30834e-03_rb,0.20114e-03_rb /) kbo(:, 2,31, 7) = (/ & & 0.47516e-04_rb,0.25020e-03_rb,0.31032e-03_rb,0.33113e-03_rb,0.21916e-03_rb /) kbo(:, 3,31, 7) = (/ & & 0.49034e-04_rb,0.26424e-03_rb,0.33131e-03_rb,0.35593e-03_rb,0.23874e-03_rb /) kbo(:, 4,31, 7) = (/ & & 0.50247e-04_rb,0.27943e-03_rb,0.35395e-03_rb,0.38299e-03_rb,0.26024e-03_rb /) kbo(:, 5,31, 7) = (/ & & 0.51186e-04_rb,0.29578e-03_rb,0.37829e-03_rb,0.41250e-03_rb,0.28341e-03_rb /) kbo(:, 1,32, 7) = (/ & & 0.37829e-04_rb,0.20379e-03_rb,0.25145e-03_rb,0.26761e-03_rb,0.17549e-03_rb /) kbo(:, 2,32, 7) = (/ & & 0.39256e-04_rb,0.21585e-03_rb,0.26951e-03_rb,0.28871e-03_rb,0.19207e-03_rb /) kbo(:, 3,32, 7) = (/ & & 0.40434e-04_rb,0.22904e-03_rb,0.28903e-03_rb,0.31192e-03_rb,0.21034e-03_rb /) kbo(:, 4,32, 7) = (/ & & 0.41367e-04_rb,0.24332e-03_rb,0.31020e-03_rb,0.33744e-03_rb,0.23024e-03_rb /) kbo(:, 5,32, 7) = (/ & & 0.42072e-04_rb,0.25873e-03_rb,0.33309e-03_rb,0.36527e-03_rb,0.25179e-03_rb /) kbo(:, 1,33, 7) = (/ & & 0.31302e-04_rb,0.17572e-03_rb,0.21830e-03_rb,0.23321e-03_rb,0.15375e-03_rb /) kbo(:, 2,33, 7) = (/ & & 0.32419e-04_rb,0.18706e-03_rb,0.23504e-03_rb,0.25291e-03_rb,0.16915e-03_rb /) kbo(:, 3,33, 7) = (/ & & 0.33327e-04_rb,0.19940e-03_rb,0.25328e-03_rb,0.27479e-03_rb,0.18617e-03_rb /) kbo(:, 4,33, 7) = (/ & & 0.34039e-04_rb,0.21283e-03_rb,0.27315e-03_rb,0.29887e-03_rb,0.20465e-03_rb /) kbo(:, 5,33, 7) = (/ & & 0.34568e-04_rb,0.22731e-03_rb,0.29474e-03_rb,0.32519e-03_rb,0.22485e-03_rb /) kbo(:, 1,34, 7) = (/ & & 0.25851e-04_rb,0.15182e-03_rb,0.18976e-03_rb,0.20353e-03_rb,0.13483e-03_rb /) kbo(:, 2,34, 7) = (/ & & 0.26731e-04_rb,0.16241e-03_rb,0.20531e-03_rb,0.22199e-03_rb,0.14918e-03_rb /) kbo(:, 3,34, 7) = (/ & & 0.27437e-04_rb,0.17395e-03_rb,0.22237e-03_rb,0.24258e-03_rb,0.16491e-03_rb /) kbo(:, 4,34, 7) = (/ & & 0.27988e-04_rb,0.18656e-03_rb,0.24113e-03_rb,0.26529e-03_rb,0.18217e-03_rb /) kbo(:, 5,34, 7) = (/ & & 0.28384e-04_rb,0.20017e-03_rb,0.26144e-03_rb,0.29020e-03_rb,0.20116e-03_rb /) kbo(:, 1,35, 7) = (/ & & 0.21271e-04_rb,0.13078e-03_rb,0.16426e-03_rb,0.17685e-03_rb,0.11756e-03_rb /) kbo(:, 2,35, 7) = (/ & & 0.21975e-04_rb,0.14058e-03_rb,0.17865e-03_rb,0.19403e-03_rb,0.13072e-03_rb /) kbo(:, 3,35, 7) = (/ & & 0.22533e-04_rb,0.15132e-03_rb,0.19456e-03_rb,0.21323e-03_rb,0.14523e-03_rb /) kbo(:, 4,35, 7) = (/ & & 0.22966e-04_rb,0.16307e-03_rb,0.21206e-03_rb,0.23454e-03_rb,0.16133e-03_rb /) kbo(:, 5,35, 7) = (/ & & 0.23274e-04_rb,0.17579e-03_rb,0.23112e-03_rb,0.25800e-03_rb,0.17911e-03_rb /) kbo(:, 1,36, 7) = (/ & & 0.17431e-04_rb,0.11205e-03_rb,0.14128e-03_rb,0.15260e-03_rb,0.10161e-03_rb /) kbo(:, 2,36, 7) = (/ & & 0.18004e-04_rb,0.12103e-03_rb,0.15448e-03_rb,0.16840e-03_rb,0.11356e-03_rb /) kbo(:, 3,36, 7) = (/ & & 0.18458e-04_rb,0.13095e-03_rb,0.16918e-03_rb,0.18616e-03_rb,0.12687e-03_rb /) kbo(:, 4,36, 7) = (/ & & 0.18810e-04_rb,0.14182e-03_rb,0.18539e-03_rb,0.20596e-03_rb,0.14179e-03_rb /) kbo(:, 5,36, 7) = (/ & & 0.19059e-04_rb,0.15363e-03_rb,0.20317e-03_rb,0.22788e-03_rb,0.15831e-03_rb /) kbo(:, 1,37, 7) = (/ & & 0.14204e-04_rb,0.95010e-04_rb,0.12008e-03_rb,0.12996e-03_rb,0.86482e-04_rb /) kbo(:, 2,37, 7) = (/ & & 0.14685e-04_rb,0.10313e-03_rb,0.13200e-03_rb,0.14426e-03_rb,0.97179e-04_rb /) kbo(:, 3,37, 7) = (/ & & 0.15069e-04_rb,0.11214e-03_rb,0.14536e-03_rb,0.16042e-03_rb,0.10922e-03_rb /) kbo(:, 4,37, 7) = (/ & & 0.15369e-04_rb,0.12211e-03_rb,0.16020e-03_rb,0.17855e-03_rb,0.12282e-03_rb /) kbo(:, 5,37, 7) = (/ & & 0.15586e-04_rb,0.13296e-03_rb,0.17661e-03_rb,0.19876e-03_rb,0.13797e-03_rb /) kbo(:, 1,38, 7) = (/ & & 0.11571e-04_rb,0.80545e-04_rb,0.10206e-03_rb,0.11063e-03_rb,0.73563e-04_rb /) kbo(:, 2,38, 7) = (/ & & 0.11976e-04_rb,0.87875e-04_rb,0.11281e-03_rb,0.12357e-03_rb,0.83149e-04_rb /) kbo(:, 3,38, 7) = (/ & & 0.12301e-04_rb,0.96063e-04_rb,0.12495e-03_rb,0.13829e-03_rb,0.94026e-04_rb /) kbo(:, 4,38, 7) = (/ & & 0.12557e-04_rb,0.10518e-03_rb,0.13851e-03_rb,0.15487e-03_rb,0.10642e-03_rb /) kbo(:, 5,38, 7) = (/ & & 0.12744e-04_rb,0.11515e-03_rb,0.15364e-03_rb,0.17352e-03_rb,0.12029e-03_rb /) kbo(:, 1,39, 7) = (/ & & 0.94254e-05_rb,0.68333e-04_rb,0.86798e-04_rb,0.94247e-04_rb,0.62604e-04_rb /) kbo(:, 2,39, 7) = (/ & & 0.97657e-05_rb,0.74945e-04_rb,0.96495e-04_rb,0.10595e-03_rb,0.71185e-04_rb /) kbo(:, 3,39, 7) = (/ & & 0.10041e-04_rb,0.82376e-04_rb,0.10752e-03_rb,0.11934e-03_rb,0.81022e-04_rb /) kbo(:, 4,39, 7) = (/ & & 0.10258e-04_rb,0.90687e-04_rb,0.11992e-03_rb,0.13453e-03_rb,0.92315e-04_rb /) kbo(:, 5,39, 7) = (/ & & 0.10419e-04_rb,0.99852e-04_rb,0.13387e-03_rb,0.15177e-03_rb,0.10504e-03_rb /) kbo(:, 1,40, 7) = (/ & & 0.76452e-05_rb,0.57428e-04_rb,0.73021e-04_rb,0.79333e-04_rb,0.52568e-04_rb /) kbo(:, 2,40, 7) = (/ & & 0.79354e-05_rb,0.63315e-04_rb,0.81650e-04_rb,0.89752e-04_rb,0.60144e-04_rb /) kbo(:, 3,40, 7) = (/ & & 0.81739e-05_rb,0.69961e-04_rb,0.91542e-04_rb,0.10176e-03_rb,0.68905e-04_rb /) kbo(:, 4,40, 7) = (/ & & 0.83626e-05_rb,0.77456e-04_rb,0.10275e-03_rb,0.11552e-03_rb,0.79059e-04_rb /) kbo(:, 5,40, 7) = (/ & & 0.85064e-05_rb,0.85795e-04_rb,0.11542e-03_rb,0.13128e-03_rb,0.90578e-04_rb /) kbo(:, 1,41, 7) = (/ & & 0.61953e-05_rb,0.48163e-04_rb,0.61287e-04_rb,0.66616e-04_rb,0.44011e-04_rb /) kbo(:, 2,41, 7) = (/ & & 0.64418e-05_rb,0.53383e-04_rb,0.68934e-04_rb,0.75842e-04_rb,0.50670e-04_rb /) kbo(:, 3,41, 7) = (/ & & 0.66484e-05_rb,0.59312e-04_rb,0.77785e-04_rb,0.86580e-04_rb,0.58448e-04_rb /) kbo(:, 4,41, 7) = (/ & & 0.68134e-05_rb,0.66054e-04_rb,0.87876e-04_rb,0.98995e-04_rb,0.67543e-04_rb /) kbo(:, 5,41, 7) = (/ & & 0.69402e-05_rb,0.73614e-04_rb,0.99378e-04_rb,0.11337e-03_rb,0.77942e-04_rb /) kbo(:, 1,42, 7) = (/ & & 0.50170e-05_rb,0.40358e-04_rb,0.51378e-04_rb,0.55875e-04_rb,0.36794e-04_rb /) kbo(:, 2,42, 7) = (/ & & 0.52266e-05_rb,0.44971e-04_rb,0.58141e-04_rb,0.64024e-04_rb,0.42639e-04_rb /) kbo(:, 3,42, 7) = (/ & & 0.54046e-05_rb,0.50250e-04_rb,0.66034e-04_rb,0.73601e-04_rb,0.49527e-04_rb /) kbo(:, 4,42, 7) = (/ & & 0.55484e-05_rb,0.56302e-04_rb,0.75111e-04_rb,0.84788e-04_rb,0.57654e-04_rb /) kbo(:, 5,42, 7) = (/ & & 0.56600e-05_rb,0.63153e-04_rb,0.85551e-04_rb,0.97898e-04_rb,0.67040e-04_rb /) kbo(:, 1,43, 7) = (/ & & 0.40498e-05_rb,0.33563e-04_rb,0.42716e-04_rb,0.46433e-04_rb,0.30447e-04_rb /) kbo(:, 2,43, 7) = (/ & & 0.42291e-05_rb,0.37603e-04_rb,0.48619e-04_rb,0.53551e-04_rb,0.35516e-04_rb /) kbo(:, 3,43, 7) = (/ & & 0.43833e-05_rb,0.42260e-04_rb,0.55585e-04_rb,0.61999e-04_rb,0.41549e-04_rb /) kbo(:, 4,43, 7) = (/ & & 0.45099e-05_rb,0.47650e-04_rb,0.63668e-04_rb,0.71964e-04_rb,0.48728e-04_rb /) kbo(:, 5,43, 7) = (/ & & 0.46096e-05_rb,0.53790e-04_rb,0.73053e-04_rb,0.83779e-04_rb,0.57105e-04_rb /) kbo(:, 1,44, 7) = (/ & & 0.32616e-05_rb,0.27781e-04_rb,0.35335e-04_rb,0.38366e-04_rb,0.25032e-04_rb /) kbo(:, 2,44, 7) = (/ & & 0.34164e-05_rb,0.31296e-04_rb,0.40444e-04_rb,0.44531e-04_rb,0.29399e-04_rb /) kbo(:, 3,44, 7) = (/ & & 0.35491e-05_rb,0.35375e-04_rb,0.46540e-04_rb,0.51925e-04_rb,0.34633e-04_rb /) kbo(:, 4,44, 7) = (/ & & 0.36610e-05_rb,0.40146e-04_rb,0.53687e-04_rb,0.60738e-04_rb,0.40935e-04_rb /) kbo(:, 5,44, 7) = (/ & & 0.37500e-05_rb,0.45618e-04_rb,0.62061e-04_rb,0.71298e-04_rb,0.48356e-04_rb /) kbo(:, 1,45, 7) = (/ & & 0.26238e-05_rb,0.22952e-04_rb,0.29162e-04_rb,0.31630e-04_rb,0.20522e-04_rb /) kbo(:, 2,45, 7) = (/ & & 0.27571e-05_rb,0.25992e-04_rb,0.33567e-04_rb,0.36938e-04_rb,0.24268e-04_rb /) kbo(:, 3,45, 7) = (/ & & 0.28713e-05_rb,0.29549e-04_rb,0.38881e-04_rb,0.43383e-04_rb,0.28792e-04_rb /) kbo(:, 4,45, 7) = (/ & & 0.29693e-05_rb,0.33760e-04_rb,0.45177e-04_rb,0.51149e-04_rb,0.34303e-04_rb /) kbo(:, 5,45, 7) = (/ & & 0.30482e-05_rb,0.38627e-04_rb,0.52624e-04_rb,0.60551e-04_rb,0.40857e-04_rb /) kbo(:, 1,46, 7) = (/ & & 0.21051e-05_rb,0.18867e-04_rb,0.23935e-04_rb,0.25917e-04_rb,0.16710e-04_rb /) kbo(:, 2,46, 7) = (/ & & 0.22206e-05_rb,0.21480e-04_rb,0.27705e-04_rb,0.30449e-04_rb,0.19893e-04_rb /) kbo(:, 3,46, 7) = (/ & & 0.23191e-05_rb,0.24557e-04_rb,0.32298e-04_rb,0.36019e-04_rb,0.23769e-04_rb /) kbo(:, 4,46, 7) = (/ & & 0.24046e-05_rb,0.28239e-04_rb,0.37798e-04_rb,0.42807e-04_rb,0.28545e-04_rb /) kbo(:, 5,46, 7) = (/ & & 0.24746e-05_rb,0.32543e-04_rb,0.44374e-04_rb,0.51109e-04_rb,0.34299e-04_rb /) kbo(:, 1,47, 7) = (/ & & 0.16817e-05_rb,0.15386e-04_rb,0.19464e-04_rb,0.21024e-04_rb,0.13455e-04_rb /) kbo(:, 2,47, 7) = (/ & & 0.17822e-05_rb,0.17605e-04_rb,0.22652e-04_rb,0.24840e-04_rb,0.16124e-04_rb /) kbo(:, 3,47, 7) = (/ & & 0.18680e-05_rb,0.20236e-04_rb,0.26567e-04_rb,0.29585e-04_rb,0.19401e-04_rb /) kbo(:, 4,47, 7) = (/ & & 0.19423e-05_rb,0.23413e-04_rb,0.31317e-04_rb,0.35433e-04_rb,0.23476e-04_rb /) kbo(:, 5,47, 7) = (/ & & 0.20049e-05_rb,0.27181e-04_rb,0.37054e-04_rb,0.42668e-04_rb,0.28466e-04_rb /) kbo(:, 1,48, 7) = (/ & & 0.13405e-05_rb,0.12514e-04_rb,0.15779e-04_rb,0.16993e-04_rb,0.10791e-04_rb /) kbo(:, 2,48, 7) = (/ & & 0.14280e-05_rb,0.14385e-04_rb,0.18460e-04_rb,0.20187e-04_rb,0.13017e-04_rb /) kbo(:, 3,48, 7) = (/ & & 0.15026e-05_rb,0.16623e-04_rb,0.21773e-04_rb,0.24205e-04_rb,0.15768e-04_rb /) kbo(:, 4,48, 7) = (/ & & 0.15671e-05_rb,0.19354e-04_rb,0.25854e-04_rb,0.29218e-04_rb,0.19227e-04_rb /) kbo(:, 5,48, 7) = (/ & & 0.16224e-05_rb,0.22629e-04_rb,0.30833e-04_rb,0.35479e-04_rb,0.23525e-04_rb /) kbo(:, 1,49, 7) = (/ & & 0.10664e-05_rb,0.10149e-04_rb,0.12751e-04_rb,0.13684e-04_rb,0.86188e-05_rb /) kbo(:, 2,49, 7) = (/ & & 0.11418e-05_rb,0.11720e-04_rb,0.14999e-04_rb,0.16352e-04_rb,0.10467e-04_rb /) kbo(:, 3,49, 7) = (/ & & 0.12069e-05_rb,0.13612e-04_rb,0.17780e-04_rb,0.19716e-04_rb,0.12759e-04_rb /) kbo(:, 4,49, 7) = (/ & & 0.12630e-05_rb,0.15945e-04_rb,0.21262e-04_rb,0.23990e-04_rb,0.15676e-04_rb /) kbo(:, 5,49, 7) = (/ & & 0.13113e-05_rb,0.18775e-04_rb,0.25560e-04_rb,0.29382e-04_rb,0.19352e-04_rb /) kbo(:, 1,50, 7) = (/ & & 0.84808e-06_rb,0.82401e-05_rb,0.10318e-04_rb,0.11036e-04_rb,0.68939e-05_rb /) kbo(:, 2,50, 7) = (/ & & 0.91269e-06_rb,0.95513e-05_rb,0.12189e-04_rb,0.13247e-04_rb,0.84209e-05_rb /) kbo(:, 3,50, 7) = (/ & & 0.96928e-06_rb,0.11160e-04_rb,0.14539e-04_rb,0.16084e-04_rb,0.10336e-04_rb /) kbo(:, 4,50, 7) = (/ & & 0.10177e-05_rb,0.13146e-04_rb,0.17498e-04_rb,0.19711e-04_rb,0.12790e-04_rb /) kbo(:, 5,50, 7) = (/ & & 0.10595e-05_rb,0.15592e-04_rb,0.21207e-04_rb,0.24356e-04_rb,0.15929e-04_rb /) kbo(:, 1,51, 7) = (/ & & 0.67378e-06_rb,0.66826e-05_rb,0.83381e-05_rb,0.88828e-05_rb,0.55052e-05_rb /) kbo(:, 2,51, 7) = (/ & & 0.72873e-06_rb,0.77753e-05_rb,0.98905e-05_rb,0.10714e-04_rb,0.67636e-05_rb /) kbo(:, 3,51, 7) = (/ & & 0.77763e-06_rb,0.91368e-05_rb,0.11866e-04_rb,0.13091e-04_rb,0.83559e-05_rb /) kbo(:, 4,51, 7) = (/ & & 0.81953e-06_rb,0.10824e-04_rb,0.14378e-04_rb,0.16168e-04_rb,0.10417e-04_rb /) kbo(:, 5,51, 7) = (/ & & 0.85561e-06_rb,0.12933e-04_rb,0.17571e-04_rb,0.20159e-04_rb,0.13087e-04_rb /) kbo(:, 1,52, 7) = (/ & & 0.53444e-06_rb,0.54066e-05_rb,0.67197e-05_rb,0.71297e-05_rb,0.43814e-05_rb /) kbo(:, 2,52, 7) = (/ & & 0.58095e-06_rb,0.63124e-05_rb,0.79989e-05_rb,0.86346e-05_rb,0.54122e-05_rb /) kbo(:, 3,52, 7) = (/ & & 0.62282e-06_rb,0.74561e-05_rb,0.96489e-05_rb,0.10614e-04_rb,0.67289e-05_rb /) kbo(:, 4,52, 7) = (/ & & 0.65913e-06_rb,0.88917e-05_rb,0.11780e-04_rb,0.13220e-04_rb,0.84497e-05_rb /) kbo(:, 5,52, 7) = (/ & & 0.69032e-06_rb,0.10691e-04_rb,0.14504e-04_rb,0.16615e-04_rb,0.10706e-04_rb /) kbo(:, 1,53, 7) = (/ & & 0.42309e-06_rb,0.43635e-05_rb,0.54017e-05_rb,0.57047e-05_rb,0.34733e-05_rb /) kbo(:, 2,53, 7) = (/ & & 0.46223e-06_rb,0.51097e-05_rb,0.64465e-05_rb,0.69322e-05_rb,0.43120e-05_rb /) kbo(:, 3,53, 7) = (/ & & 0.49791e-06_rb,0.60643e-05_rb,0.78166e-05_rb,0.85690e-05_rb,0.53948e-05_rb /) kbo(:, 4,53, 7) = (/ & & 0.52942e-06_rb,0.72726e-05_rb,0.96042e-05_rb,0.10748e-04_rb,0.68211e-05_rb /) kbo(:, 5,53, 7) = (/ & & 0.55635e-06_rb,0.88074e-05_rb,0.11924e-04_rb,0.13632e-04_rb,0.87176e-05_rb /) kbo(:, 1,54, 7) = (/ & & 0.33525e-06_rb,0.35291e-05_rb,0.43533e-05_rb,0.45783e-05_rb,0.27618e-05_rb /) kbo(:, 2,54, 7) = (/ & & 0.36801e-06_rb,0.41464e-05_rb,0.52098e-05_rb,0.55821e-05_rb,0.34468e-05_rb /) kbo(:, 3,54, 7) = (/ & & 0.39830e-06_rb,0.49442e-05_rb,0.63495e-05_rb,0.69393e-05_rb,0.43390e-05_rb /) kbo(:, 4,54, 7) = (/ & & 0.42530e-06_rb,0.59638e-05_rb,0.78520e-05_rb,0.87652e-05_rb,0.55238e-05_rb /) kbo(:, 5,54, 7) = (/ & & 0.44850e-06_rb,0.72711e-05_rb,0.98256e-05_rb,0.11213e-04_rb,0.71180e-05_rb /) kbo(:, 1,55, 7) = (/ & & 0.26561e-06_rb,0.28535e-05_rb,0.35091e-05_rb,0.36747e-05_rb,0.21953e-05_rb /) kbo(:, 2,55, 7) = (/ & & 0.29299e-06_rb,0.33630e-05_rb,0.42093e-05_rb,0.44935e-05_rb,0.27543e-05_rb /) kbo(:, 3,55, 7) = (/ & & 0.31855e-06_rb,0.40286e-05_rb,0.51555e-05_rb,0.56160e-05_rb,0.34885e-05_rb /) kbo(:, 4,55, 7) = (/ & & 0.34149e-06_rb,0.48884e-05_rb,0.64166e-05_rb,0.71432e-05_rb,0.44712e-05_rb /) kbo(:, 5,55, 7) = (/ & & 0.36149e-06_rb,0.60082e-05_rb,0.81053e-05_rb,0.92338e-05_rb,0.58114e-05_rb /) kbo(:, 1,56, 7) = (/ & & 0.21017e-06_rb,0.23019e-05_rb,0.28217e-05_rb,0.29420e-05_rb,0.17403e-05_rb /) kbo(:, 2,56, 7) = (/ & & 0.23294e-06_rb,0.27215e-05_rb,0.33922e-05_rb,0.36070e-05_rb,0.21943e-05_rb /) kbo(:, 3,56, 7) = (/ & & 0.25436e-06_rb,0.32732e-05_rb,0.41720e-05_rb,0.45291e-05_rb,0.27950e-05_rb /) kbo(:, 4,56, 7) = (/ & & 0.27383e-06_rb,0.39951e-05_rb,0.52252e-05_rb,0.57990e-05_rb,0.36054e-05_rb /) kbo(:, 5,56, 7) = (/ & & 0.29106e-06_rb,0.49429e-05_rb,0.66518e-05_rb,0.75613e-05_rb,0.47246e-05_rb /) kbo(:, 1,57, 7) = (/ & & 0.16608e-06_rb,0.18531e-05_rb,0.22639e-05_rb,0.23504e-05_rb,0.13760e-05_rb /) kbo(:, 2,57, 7) = (/ & & 0.18488e-06_rb,0.21971e-05_rb,0.27271e-05_rb,0.28870e-05_rb,0.17421e-05_rb /) kbo(:, 3,57, 7) = (/ & & 0.20279e-06_rb,0.26520e-05_rb,0.33659e-05_rb,0.36392e-05_rb,0.22316e-05_rb /) kbo(:, 4,57, 7) = (/ & & 0.21931e-06_rb,0.32543e-05_rb,0.42391e-05_rb,0.46891e-05_rb,0.28949e-05_rb /) kbo(:, 5,57, 7) = (/ & & 0.23404e-06_rb,0.40527e-05_rb,0.54380e-05_rb,0.61649e-05_rb,0.38234e-05_rb /) kbo(:, 1,58, 7) = (/ & & 0.13131e-06_rb,0.14927e-05_rb,0.18179e-05_rb,0.18787e-05_rb,0.10893e-05_rb /) kbo(:, 2,58, 7) = (/ & & 0.14677e-06_rb,0.17748e-05_rb,0.21946e-05_rb,0.23122e-05_rb,0.13839e-05_rb /) kbo(:, 3,58, 7) = (/ & & 0.16171e-06_rb,0.21494e-05_rb,0.27171e-05_rb,0.29256e-05_rb,0.17827e-05_rb /) kbo(:, 4,58, 7) = (/ & & 0.17567e-06_rb,0.26514e-05_rb,0.34407e-05_rb,0.37923e-05_rb,0.23269e-05_rb /) kbo(:, 5,58, 7) = (/ & & 0.18816e-06_rb,0.33237e-05_rb,0.44466e-05_rb,0.50280e-05_rb,0.30958e-05_rb /) kbo(:, 1,59, 7) = (/ & & 0.10599e-06_rb,0.12374e-05_rb,0.15060e-05_rb,0.15543e-05_rb,0.89750e-06_rb /) kbo(:, 2,59, 7) = (/ & & 0.11868e-06_rb,0.14795e-05_rb,0.18285e-05_rb,0.19251e-05_rb,0.11479e-05_rb /) kbo(:, 3,59, 7) = (/ & & 0.13098e-06_rb,0.18042e-05_rb,0.22807e-05_rb,0.24552e-05_rb,0.14897e-05_rb /) kbo(:, 4,59, 7) = (/ & & 0.14252e-06_rb,0.22439e-05_rb,0.29152e-05_rb,0.32163e-05_rb,0.19622e-05_rb /) kbo(:, 5,59, 7) = (/ & & 0.15291e-06_rb,0.28396e-05_rb,0.38087e-05_rb,0.43138e-05_rb,0.26387e-05_rb /) kbo(:, 1,13, 8) = (/ & & 0.83673e-02_rb,0.17454e-01_rb,0.20213e-01_rb,0.20132e-01_rb,0.13810e-01_rb /) kbo(:, 2,13, 8) = (/ & & 0.85039e-02_rb,0.17824e-01_rb,0.20684e-01_rb,0.20616e-01_rb,0.14219e-01_rb /) kbo(:, 3,13, 8) = (/ & & 0.86129e-02_rb,0.18196e-01_rb,0.21163e-01_rb,0.21143e-01_rb,0.14616e-01_rb /) kbo(:, 4,13, 8) = (/ & & 0.86913e-02_rb,0.18563e-01_rb,0.21635e-01_rb,0.21674e-01_rb,0.14991e-01_rb /) kbo(:, 5,13, 8) = (/ & & 0.87301e-02_rb,0.18916e-01_rb,0.22103e-01_rb,0.22198e-01_rb,0.15351e-01_rb /) kbo(:, 1,14, 8) = (/ & & 0.69346e-02_rb,0.14952e-01_rb,0.17380e-01_rb,0.17342e-01_rb,0.11803e-01_rb /) kbo(:, 2,14, 8) = (/ & & 0.70328e-02_rb,0.15276e-01_rb,0.17808e-01_rb,0.17830e-01_rb,0.12181e-01_rb /) kbo(:, 3,14, 8) = (/ & & 0.71113e-02_rb,0.15604e-01_rb,0.18240e-01_rb,0.18321e-01_rb,0.12544e-01_rb /) kbo(:, 4,14, 8) = (/ & & 0.71580e-02_rb,0.15937e-01_rb,0.18667e-01_rb,0.18814e-01_rb,0.12884e-01_rb /) kbo(:, 5,14, 8) = (/ & & 0.71785e-02_rb,0.16228e-01_rb,0.19093e-01_rb,0.19299e-01_rb,0.13230e-01_rb /) kbo(:, 1,15, 8) = (/ & & 0.57307e-02_rb,0.12763e-01_rb,0.14890e-01_rb,0.14912e-01_rb,0.10073e-01_rb /) kbo(:, 2,15, 8) = (/ & & 0.58017e-02_rb,0.13052e-01_rb,0.15278e-01_rb,0.15370e-01_rb,0.10417e-01_rb /) kbo(:, 3,15, 8) = (/ & & 0.58533e-02_rb,0.13347e-01_rb,0.15666e-01_rb,0.15828e-01_rb,0.10742e-01_rb /) kbo(:, 4,15, 8) = (/ & & 0.58826e-02_rb,0.13628e-01_rb,0.16057e-01_rb,0.16289e-01_rb,0.11066e-01_rb /) kbo(:, 5,15, 8) = (/ & & 0.58933e-02_rb,0.13873e-01_rb,0.16444e-01_rb,0.16739e-01_rb,0.11388e-01_rb /) kbo(:, 1,16, 8) = (/ & & 0.47247e-02_rb,0.10863e-01_rb,0.12723e-01_rb,0.12788e-01_rb,0.85822e-02_rb /) kbo(:, 2,16, 8) = (/ & & 0.47755e-02_rb,0.11124e-01_rb,0.13076e-01_rb,0.13211e-01_rb,0.88907e-02_rb /) kbo(:, 3,16, 8) = (/ & & 0.48095e-02_rb,0.11385e-01_rb,0.13431e-01_rb,0.13641e-01_rb,0.91903e-02_rb /) kbo(:, 4,16, 8) = (/ & & 0.48283e-02_rb,0.11622e-01_rb,0.13790e-01_rb,0.14066e-01_rb,0.94912e-02_rb /) kbo(:, 5,16, 8) = (/ & & 0.48333e-02_rb,0.11841e-01_rb,0.14135e-01_rb,0.14487e-01_rb,0.97938e-02_rb /) kbo(:, 1,17, 8) = (/ & & 0.38881e-02_rb,0.92313e-02_rb,0.10848e-01_rb,0.10942e-01_rb,0.73006e-02_rb /) kbo(:, 2,17, 8) = (/ & & 0.39238e-02_rb,0.94601e-02_rb,0.11171e-01_rb,0.11333e-01_rb,0.75792e-02_rb /) kbo(:, 3,17, 8) = (/ & & 0.39468e-02_rb,0.96874e-02_rb,0.11500e-01_rb,0.11732e-01_rb,0.78560e-02_rb /) kbo(:, 4,17, 8) = (/ & & 0.39590e-02_rb,0.98962e-02_rb,0.11826e-01_rb,0.12129e-01_rb,0.81376e-02_rb /) kbo(:, 5,17, 8) = (/ & & 0.39612e-02_rb,0.10094e-01_rb,0.12144e-01_rb,0.12521e-01_rb,0.84293e-02_rb /) kbo(:, 1,18, 8) = (/ & & 0.31953e-02_rb,0.78309e-02_rb,0.92361e-02_rb,0.93523e-02_rb,0.62048e-02_rb /) kbo(:, 2,18, 8) = (/ & & 0.32208e-02_rb,0.80372e-02_rb,0.95350e-02_rb,0.97148e-02_rb,0.64590e-02_rb /) kbo(:, 3,18, 8) = (/ & & 0.32365e-02_rb,0.82342e-02_rb,0.98382e-02_rb,0.10082e-01_rb,0.67154e-02_rb /) kbo(:, 4,18, 8) = (/ & & 0.32447e-02_rb,0.84229e-02_rb,0.10138e-01_rb,0.10450e-01_rb,0.69838e-02_rb /) kbo(:, 5,18, 8) = (/ & & 0.32450e-02_rb,0.86061e-02_rb,0.10427e-01_rb,0.10814e-01_rb,0.72626e-02_rb /) kbo(:, 1,19, 8) = (/ & & 0.26235e-02_rb,0.66399e-02_rb,0.78599e-02_rb,0.79875e-02_rb,0.52728e-02_rb /) kbo(:, 2,19, 8) = (/ & & 0.26414e-02_rb,0.68231e-02_rb,0.81351e-02_rb,0.83230e-02_rb,0.55070e-02_rb /) kbo(:, 3,19, 8) = (/ & & 0.26530e-02_rb,0.70004e-02_rb,0.84138e-02_rb,0.86629e-02_rb,0.57468e-02_rb /) kbo(:, 4,19, 8) = (/ & & 0.26583e-02_rb,0.71756e-02_rb,0.86887e-02_rb,0.90029e-02_rb,0.60006e-02_rb /) kbo(:, 5,19, 8) = (/ & & 0.26573e-02_rb,0.73457e-02_rb,0.89549e-02_rb,0.93422e-02_rb,0.62658e-02_rb /) kbo(:, 1,20, 8) = (/ & & 0.21528e-02_rb,0.56300e-02_rb,0.66928e-02_rb,0.68275e-02_rb,0.44887e-02_rb /) kbo(:, 2,20, 8) = (/ & & 0.21659e-02_rb,0.57965e-02_rb,0.69483e-02_rb,0.71374e-02_rb,0.47044e-02_rb /) kbo(:, 3,20, 8) = (/ & & 0.21742e-02_rb,0.59617e-02_rb,0.72036e-02_rb,0.74503e-02_rb,0.49314e-02_rb /) kbo(:, 4,20, 8) = (/ & & 0.21777e-02_rb,0.61251e-02_rb,0.74562e-02_rb,0.77657e-02_rb,0.51700e-02_rb /) kbo(:, 5,20, 8) = (/ & & 0.21757e-02_rb,0.62850e-02_rb,0.77065e-02_rb,0.80891e-02_rb,0.54225e-02_rb /) kbo(:, 1,21, 8) = (/ & & 0.17659e-02_rb,0.47778e-02_rb,0.57054e-02_rb,0.58417e-02_rb,0.38271e-02_rb /) kbo(:, 2,21, 8) = (/ & & 0.17754e-02_rb,0.49299e-02_rb,0.59393e-02_rb,0.61257e-02_rb,0.40264e-02_rb /) kbo(:, 3,21, 8) = (/ & & 0.17817e-02_rb,0.50836e-02_rb,0.61750e-02_rb,0.64148e-02_rb,0.42397e-02_rb /) kbo(:, 4,21, 8) = (/ & & 0.17836e-02_rb,0.52370e-02_rb,0.64083e-02_rb,0.67125e-02_rb,0.44647e-02_rb /) kbo(:, 5,21, 8) = (/ & & 0.17811e-02_rb,0.53876e-02_rb,0.66480e-02_rb,0.70201e-02_rb,0.47076e-02_rb /) kbo(:, 1,22, 8) = (/ & & 0.14486e-02_rb,0.40679e-02_rb,0.48826e-02_rb,0.50205e-02_rb,0.32805e-02_rb /) kbo(:, 2,22, 8) = (/ & & 0.14554e-02_rb,0.42085e-02_rb,0.50980e-02_rb,0.52827e-02_rb,0.34669e-02_rb /) kbo(:, 3,22, 8) = (/ & & 0.14597e-02_rb,0.43515e-02_rb,0.53153e-02_rb,0.55535e-02_rb,0.36674e-02_rb /) kbo(:, 4,22, 8) = (/ & & 0.14606e-02_rb,0.44957e-02_rb,0.55353e-02_rb,0.58376e-02_rb,0.38816e-02_rb /) kbo(:, 5,22, 8) = (/ & & 0.14577e-02_rb,0.46383e-02_rb,0.57672e-02_rb,0.61302e-02_rb,0.41156e-02_rb /) kbo(:, 1,23, 8) = (/ & & 0.11880e-02_rb,0.34698e-02_rb,0.41861e-02_rb,0.43248e-02_rb,0.28199e-02_rb /) kbo(:, 2,23, 8) = (/ & & 0.11929e-02_rb,0.36010e-02_rb,0.43862e-02_rb,0.45689e-02_rb,0.29956e-02_rb /) kbo(:, 3,23, 8) = (/ & & 0.11958e-02_rb,0.37344e-02_rb,0.45877e-02_rb,0.48273e-02_rb,0.31843e-02_rb /) kbo(:, 4,23, 8) = (/ & & 0.11959e-02_rb,0.38697e-02_rb,0.48007e-02_rb,0.50965e-02_rb,0.33903e-02_rb /) kbo(:, 5,23, 8) = (/ & & 0.11929e-02_rb,0.40068e-02_rb,0.50232e-02_rb,0.53791e-02_rb,0.36136e-02_rb /) kbo(:, 1,24, 8) = (/ & & 0.97406e-03_rb,0.29675e-02_rb,0.36006e-02_rb,0.37379e-02_rb,0.24344e-02_rb /) kbo(:, 2,24, 8) = (/ & & 0.97756e-03_rb,0.30896e-02_rb,0.37850e-02_rb,0.39686e-02_rb,0.25994e-02_rb /) kbo(:, 3,24, 8) = (/ & & 0.97946e-03_rb,0.32150e-02_rb,0.39775e-02_rb,0.42135e-02_rb,0.27776e-02_rb /) kbo(:, 4,24, 8) = (/ & & 0.97899e-03_rb,0.33430e-02_rb,0.41825e-02_rb,0.44708e-02_rb,0.29753e-02_rb /) kbo(:, 5,24, 8) = (/ & & 0.97615e-03_rb,0.34761e-02_rb,0.43966e-02_rb,0.47457e-02_rb,0.31900e-02_rb /) kbo(:, 1,25, 8) = (/ & & 0.79856e-03_rb,0.25459e-02_rb,0.31077e-02_rb,0.32447e-02_rb,0.21114e-02_rb /) kbo(:, 2,25, 8) = (/ & & 0.80110e-03_rb,0.26605e-02_rb,0.32805e-02_rb,0.34640e-02_rb,0.22664e-02_rb /) kbo(:, 3,25, 8) = (/ & & 0.80222e-03_rb,0.27778e-02_rb,0.34666e-02_rb,0.36958e-02_rb,0.24376e-02_rb /) kbo(:, 4,25, 8) = (/ & & 0.80129e-03_rb,0.29014e-02_rb,0.36623e-02_rb,0.39444e-02_rb,0.26269e-02_rb /) kbo(:, 5,25, 8) = (/ & & 0.79857e-03_rb,0.30302e-02_rb,0.38698e-02_rb,0.42126e-02_rb,0.28335e-02_rb /) kbo(:, 1,26, 8) = (/ & & 0.65460e-03_rb,0.21933e-02_rb,0.26944e-02_rb,0.28334e-02_rb,0.18417e-02_rb /) kbo(:, 2,26, 8) = (/ & & 0.65639e-03_rb,0.23003e-02_rb,0.28599e-02_rb,0.30409e-02_rb,0.19886e-02_rb /) kbo(:, 3,26, 8) = (/ & & 0.65685e-03_rb,0.24132e-02_rb,0.30384e-02_rb,0.32639e-02_rb,0.21545e-02_rb /) kbo(:, 4,26, 8) = (/ & & 0.65577e-03_rb,0.25323e-02_rb,0.32275e-02_rb,0.35055e-02_rb,0.23366e-02_rb /) kbo(:, 5,26, 8) = (/ & & 0.65325e-03_rb,0.26572e-02_rb,0.34294e-02_rb,0.37687e-02_rb,0.25365e-02_rb /) kbo(:, 1,27, 8) = (/ & & 0.53655e-03_rb,0.18966e-02_rb,0.23474e-02_rb,0.24873e-02_rb,0.16142e-02_rb /) kbo(:, 2,27, 8) = (/ & & 0.53777e-03_rb,0.19979e-02_rb,0.25069e-02_rb,0.26849e-02_rb,0.17570e-02_rb /) kbo(:, 3,27, 8) = (/ & & 0.53783e-03_rb,0.21070e-02_rb,0.26778e-02_rb,0.29010e-02_rb,0.19163e-02_rb /) kbo(:, 4,27, 8) = (/ & & 0.53661e-03_rb,0.22218e-02_rb,0.28609e-02_rb,0.31373e-02_rb,0.20925e-02_rb /) kbo(:, 5,27, 8) = (/ & & 0.53426e-03_rb,0.23437e-02_rb,0.30591e-02_rb,0.33953e-02_rb,0.22871e-02_rb /) kbo(:, 1,28, 8) = (/ & & 0.43973e-03_rb,0.16467e-02_rb,0.20564e-02_rb,0.21950e-02_rb,0.14243e-02_rb /) kbo(:, 2,28, 8) = (/ & & 0.44046e-03_rb,0.17445e-02_rb,0.22094e-02_rb,0.23854e-02_rb,0.15622e-02_rb /) kbo(:, 3,28, 8) = (/ & & 0.44027e-03_rb,0.18495e-02_rb,0.23737e-02_rb,0.25954e-02_rb,0.17160e-02_rb /) kbo(:, 4,28, 8) = (/ & & 0.43902e-03_rb,0.19607e-02_rb,0.25527e-02_rb,0.28280e-02_rb,0.18875e-02_rb /) kbo(:, 5,28, 8) = (/ & & 0.43690e-03_rb,0.20797e-02_rb,0.27483e-02_rb,0.30809e-02_rb,0.20783e-02_rb /) kbo(:, 1,29, 8) = (/ & & 0.36035e-03_rb,0.14377e-02_rb,0.18129e-02_rb,0.19502e-02_rb,0.12665e-02_rb /) kbo(:, 2,29, 8) = (/ & & 0.36078e-03_rb,0.15322e-02_rb,0.19593e-02_rb,0.21346e-02_rb,0.13993e-02_rb /) kbo(:, 3,29, 8) = (/ & & 0.36035e-03_rb,0.16333e-02_rb,0.21194e-02_rb,0.23407e-02_rb,0.15489e-02_rb /) kbo(:, 4,29, 8) = (/ & & 0.35917e-03_rb,0.17416e-02_rb,0.22958e-02_rb,0.25693e-02_rb,0.17169e-02_rb /) kbo(:, 5,29, 8) = (/ & & 0.35722e-03_rb,0.18583e-02_rb,0.24893e-02_rb,0.28199e-02_rb,0.19058e-02_rb /) kbo(:, 1,30, 8) = (/ & & 0.29522e-03_rb,0.12625e-02_rb,0.16073e-02_rb,0.17444e-02_rb,0.11337e-02_rb /) kbo(:, 2,30, 8) = (/ & & 0.29544e-03_rb,0.13534e-02_rb,0.17493e-02_rb,0.19248e-02_rb,0.12629e-02_rb /) kbo(:, 3,30, 8) = (/ & & 0.29489e-03_rb,0.14513e-02_rb,0.19064e-02_rb,0.21281e-02_rb,0.14093e-02_rb /) kbo(:, 4,30, 8) = (/ & & 0.29377e-03_rb,0.15575e-02_rb,0.20813e-02_rb,0.23536e-02_rb,0.15751e-02_rb /) kbo(:, 5,30, 8) = (/ & & 0.29201e-03_rb,0.16725e-02_rb,0.22728e-02_rb,0.26031e-02_rb,0.17633e-02_rb /) kbo(:, 1,31, 8) = (/ & & 0.24186e-03_rb,0.11155e-02_rb,0.14353e-02_rb,0.15729e-02_rb,0.10232e-02_rb /) kbo(:, 2,31, 8) = (/ & & 0.24189e-03_rb,0.12032e-02_rb,0.15739e-02_rb,0.17508e-02_rb,0.11498e-02_rb /) kbo(:, 3,31, 8) = (/ & & 0.24130e-03_rb,0.12988e-02_rb,0.17296e-02_rb,0.19516e-02_rb,0.12942e-02_rb /) kbo(:, 4,31, 8) = (/ & & 0.24025e-03_rb,0.14034e-02_rb,0.19030e-02_rb,0.21764e-02_rb,0.14594e-02_rb /) kbo(:, 5,31, 8) = (/ & & 0.23866e-03_rb,0.15170e-02_rb,0.20940e-02_rb,0.24270e-02_rb,0.16471e-02_rb /) kbo(:, 1,32, 8) = (/ & & 0.19811e-03_rb,0.99188e-03_rb,0.12914e-02_rb,0.14311e-02_rb,0.93157e-03_rb /) kbo(:, 2,32, 8) = (/ & & 0.19799e-03_rb,0.10771e-02_rb,0.14282e-02_rb,0.16073e-02_rb,0.10562e-02_rb /) kbo(:, 3,32, 8) = (/ & & 0.19741e-03_rb,0.11711e-02_rb,0.15828e-02_rb,0.18068e-02_rb,0.11999e-02_rb /) kbo(:, 4,32, 8) = (/ & & 0.19645e-03_rb,0.12746e-02_rb,0.17559e-02_rb,0.20320e-02_rb,0.13654e-02_rb /) kbo(:, 5,32, 8) = (/ & & 0.19503e-03_rb,0.13871e-02_rb,0.19473e-02_rb,0.22851e-02_rb,0.15533e-02_rb /) kbo(:, 1,33, 8) = (/ & & 0.16225e-03_rb,0.88803e-03_rb,0.11717e-02_rb,0.13138e-02_rb,0.85556e-03_rb /) kbo(:, 2,33, 8) = (/ & & 0.16205e-03_rb,0.97174e-03_rb,0.13077e-02_rb,0.14890e-02_rb,0.97930e-03_rb /) kbo(:, 3,33, 8) = (/ & & 0.16148e-03_rb,0.10648e-02_rb,0.14621e-02_rb,0.16891e-02_rb,0.11237e-02_rb /) kbo(:, 4,33, 8) = (/ & & 0.16059e-03_rb,0.11673e-02_rb,0.16357e-02_rb,0.19165e-02_rb,0.12896e-02_rb /) kbo(:, 5,33, 8) = (/ & & 0.15934e-03_rb,0.12795e-02_rb,0.18288e-02_rb,0.21736e-02_rb,0.14791e-02_rb /) kbo(:, 1,34, 8) = (/ & & 0.13286e-03_rb,0.79835e-03_rb,0.10683e-02_rb,0.12117e-02_rb,0.78908e-03_rb /) kbo(:, 2,34, 8) = (/ & & 0.13261e-03_rb,0.88066e-03_rb,0.12036e-02_rb,0.13865e-02_rb,0.91252e-03_rb /) kbo(:, 3,34, 8) = (/ & & 0.13209e-03_rb,0.97270e-03_rb,0.13580e-02_rb,0.15871e-02_rb,0.10570e-02_rb /) kbo(:, 4,34, 8) = (/ & & 0.13130e-03_rb,0.10748e-02_rb,0.15318e-02_rb,0.18171e-02_rb,0.12236e-02_rb /) kbo(:, 5,34, 8) = (/ & & 0.13022e-03_rb,0.11866e-02_rb,0.17264e-02_rb,0.20786e-02_rb,0.14148e-02_rb /) kbo(:, 1,35, 8) = (/ & & 0.10879e-03_rb,0.71567e-03_rb,0.97075e-03_rb,0.11118e-02_rb,0.72353e-03_rb /) kbo(:, 2,35, 8) = (/ & & 0.10855e-03_rb,0.79625e-03_rb,0.11041e-02_rb,0.12845e-02_rb,0.84540e-03_rb /) kbo(:, 3,35, 8) = (/ & & 0.10811e-03_rb,0.88686e-03_rb,0.12569e-02_rb,0.14847e-02_rb,0.98831e-03_rb /) kbo(:, 4,35, 8) = (/ & & 0.10743e-03_rb,0.98761e-03_rb,0.14300e-02_rb,0.17157e-02_rb,0.11541e-02_rb /) kbo(:, 5,35, 8) = (/ & & 0.10650e-03_rb,0.10987e-02_rb,0.16251e-02_rb,0.19799e-02_rb,0.13460e-02_rb /) kbo(:, 1,36, 8) = (/ & & 0.89091e-04_rb,0.63773e-03_rb,0.87525e-03_rb,0.10106e-02_rb,0.65643e-03_rb /) kbo(:, 2,36, 8) = (/ & & 0.88892e-04_rb,0.71572e-03_rb,0.10050e-02_rb,0.11794e-02_rb,0.77482e-03_rb /) kbo(:, 3,36, 8) = (/ & & 0.88510e-04_rb,0.80390e-03_rb,0.11544e-02_rb,0.13768e-02_rb,0.91437e-03_rb /) kbo(:, 4,36, 8) = (/ & & 0.87951e-04_rb,0.90253e-03_rb,0.13255e-02_rb,0.16063e-02_rb,0.10779e-02_rb /) kbo(:, 5,36, 8) = (/ & & 0.87175e-04_rb,0.10120e-02_rb,0.15187e-02_rb,0.18703e-02_rb,0.12677e-02_rb /) kbo(:, 1,37, 8) = (/ & & 0.72967e-04_rb,0.56051e-03_rb,0.77586e-03_rb,0.90139e-03_rb,0.58319e-03_rb /) kbo(:, 2,37, 8) = (/ & & 0.72818e-04_rb,0.63459e-03_rb,0.89962e-03_rb,0.10627e-02_rb,0.69545e-03_rb /) kbo(:, 3,37, 8) = (/ & & 0.72523e-04_rb,0.71909e-03_rb,0.10433e-02_rb,0.12533e-02_rb,0.82896e-03_rb /) kbo(:, 4,37, 8) = (/ & & 0.72087e-04_rb,0.81427e-03_rb,0.12092e-02_rb,0.14766e-02_rb,0.98671e-03_rb /) kbo(:, 5,37, 8) = (/ & & 0.71486e-04_rb,0.92093e-03_rb,0.13977e-02_rb,0.17355e-02_rb,0.11708e-02_rb /) kbo(:, 1,38, 8) = (/ & & 0.59765e-04_rb,0.49320e-03_rb,0.68844e-03_rb,0.80478e-03_rb,0.51849e-03_rb /) kbo(:, 2,38, 8) = (/ & & 0.59660e-04_rb,0.56354e-03_rb,0.80640e-03_rb,0.95876e-03_rb,0.62466e-03_rb /) kbo(:, 3,38, 8) = (/ & & 0.59436e-04_rb,0.64440e-03_rb,0.94454e-03_rb,0.11426e-02_rb,0.75236e-03_rb /) kbo(:, 4,38, 8) = (/ & & 0.59102e-04_rb,0.73631e-03_rb,0.11052e-02_rb,0.13599e-02_rb,0.90433e-03_rb /) kbo(:, 5,38, 8) = (/ & & 0.58635e-04_rb,0.84009e-03_rb,0.12891e-02_rb,0.16134e-02_rb,0.10829e-02_rb /) kbo(:, 1,39, 8) = (/ & & 0.48956e-04_rb,0.43499e-03_rb,0.61231e-03_rb,0.72017e-03_rb,0.46189e-03_rb /) kbo(:, 2,39, 8) = (/ & & 0.48890e-04_rb,0.50181e-03_rb,0.72478e-03_rb,0.86730e-03_rb,0.56244e-03_rb /) kbo(:, 3,39, 8) = (/ & & 0.48717e-04_rb,0.57923e-03_rb,0.85778e-03_rb,0.10448e-02_rb,0.68464e-03_rb /) kbo(:, 4,39, 8) = (/ & & 0.48451e-04_rb,0.66799e-03_rb,0.10132e-02_rb,0.12563e-02_rb,0.83112e-03_rb /) kbo(:, 5,39, 8) = (/ & & 0.48085e-04_rb,0.76898e-03_rb,0.11928e-02_rb,0.15047e-02_rb,0.10044e-02_rb /) kbo(:, 1,40, 8) = (/ & & 0.40107e-04_rb,0.37860e-03_rb,0.53596e-03_rb,0.63302e-03_rb,0.40350e-03_rb /) kbo(:, 2,40, 8) = (/ & & 0.40068e-04_rb,0.44099e-03_rb,0.64126e-03_rb,0.77105e-03_rb,0.49697e-03_rb /) kbo(:, 3,40, 8) = (/ & & 0.39945e-04_rb,0.51399e-03_rb,0.76694e-03_rb,0.93934e-03_rb,0.61166e-03_rb /) kbo(:, 4,40, 8) = (/ & & 0.39752e-04_rb,0.59851e-03_rb,0.91528e-03_rb,0.11416e-02_rb,0.75037e-03_rb /) kbo(:, 5,40, 8) = (/ & & 0.39469e-04_rb,0.69544e-03_rb,0.10880e-02_rb,0.13809e-02_rb,0.91593e-03_rb /) kbo(:, 1,41, 8) = (/ & & 0.32851e-04_rb,0.32878e-03_rb,0.46786e-03_rb,0.55469e-03_rb,0.35120e-03_rb /) kbo(:, 2,41, 8) = (/ & & 0.32839e-04_rb,0.38683e-03_rb,0.56607e-03_rb,0.68394e-03_rb,0.43769e-03_rb /) kbo(:, 3,41, 8) = (/ & & 0.32749e-04_rb,0.45542e-03_rb,0.68444e-03_rb,0.84259e-03_rb,0.54490e-03_rb /) kbo(:, 4,41, 8) = (/ & & 0.32607e-04_rb,0.53564e-03_rb,0.82547e-03_rb,0.10352e-02_rb,0.67585e-03_rb /) kbo(:, 5,41, 8) = (/ & & 0.32395e-04_rb,0.62841e-03_rb,0.99133e-03_rb,0.12652e-02_rb,0.83332e-03_rb /) kbo(:, 1,42, 8) = (/ & & 0.26906e-04_rb,0.28534e-03_rb,0.40805e-03_rb,0.48535e-03_rb,0.30526e-03_rb /) kbo(:, 2,42, 8) = (/ & & 0.26908e-04_rb,0.33922e-03_rb,0.49950e-03_rb,0.60603e-03_rb,0.38505e-03_rb /) kbo(:, 3,42, 8) = (/ & & 0.26846e-04_rb,0.40361e-03_rb,0.61076e-03_rb,0.75564e-03_rb,0.48524e-03_rb /) kbo(:, 4,42, 8) = (/ & & 0.26739e-04_rb,0.47953e-03_rb,0.74454e-03_rb,0.93882e-03_rb,0.60861e-03_rb /) kbo(:, 5,42, 8) = (/ & & 0.26585e-04_rb,0.56816e-03_rb,0.90363e-03_rb,0.11597e-02_rb,0.75829e-03_rb /) kbo(:, 1,43, 8) = (/ & & 0.22034e-04_rb,0.24494e-03_rb,0.35126e-03_rb,0.41862e-03_rb,0.26133e-03_rb /) kbo(:, 2,43, 8) = (/ & & 0.22045e-04_rb,0.29428e-03_rb,0.43526e-03_rb,0.52960e-03_rb,0.33379e-03_rb /) kbo(:, 3,43, 8) = (/ & & 0.22009e-04_rb,0.35394e-03_rb,0.53838e-03_rb,0.66893e-03_rb,0.42599e-03_rb /) kbo(:, 4,43, 8) = (/ & & 0.21933e-04_rb,0.42510e-03_rb,0.66392e-03_rb,0.84090e-03_rb,0.54061e-03_rb /) kbo(:, 5,43, 8) = (/ & & 0.21820e-04_rb,0.50878e-03_rb,0.81474e-03_rb,0.10503e-02_rb,0.68139e-03_rb /) kbo(:, 1,44, 8) = (/ & & 0.18042e-04_rb,0.20878e-03_rb,0.29988e-03_rb,0.35782e-03_rb,0.22160e-03_rb /) kbo(:, 2,44, 8) = (/ & & 0.18058e-04_rb,0.25360e-03_rb,0.37621e-03_rb,0.45875e-03_rb,0.28670e-03_rb /) kbo(:, 3,44, 8) = (/ & & 0.18041e-04_rb,0.30845e-03_rb,0.47123e-03_rb,0.58727e-03_rb,0.37070e-03_rb /) kbo(:, 4,44, 8) = (/ & & 0.17989e-04_rb,0.37459e-03_rb,0.58804e-03_rb,0.74739e-03_rb,0.47650e-03_rb /) kbo(:, 5,44, 8) = (/ & & 0.17906e-04_rb,0.45317e-03_rb,0.73003e-03_rb,0.94454e-03_rb,0.60768e-03_rb /) kbo(:, 1,45, 8) = (/ & & 0.14770e-04_rb,0.17743e-03_rb,0.25518e-03_rb,0.30461e-03_rb,0.18718e-03_rb /) kbo(:, 2,45, 8) = (/ & & 0.14790e-04_rb,0.21794e-03_rb,0.32424e-03_rb,0.39603e-03_rb,0.24534e-03_rb /) kbo(:, 3,45, 8) = (/ & & 0.14785e-04_rb,0.26822e-03_rb,0.41132e-03_rb,0.51406e-03_rb,0.32158e-03_rb /) kbo(:, 4,45, 8) = (/ & & 0.14751e-04_rb,0.32948e-03_rb,0.51968e-03_rb,0.66288e-03_rb,0.41889e-03_rb /) kbo(:, 5,45, 8) = (/ & & 0.14692e-04_rb,0.40309e-03_rb,0.65298e-03_rb,0.84795e-03_rb,0.54078e-03_rb /) kbo(:, 1,46, 8) = (/ & & 0.12091e-04_rb,0.14956e-03_rb,0.21507e-03_rb,0.25664e-03_rb,0.15641e-03_rb /) kbo(:, 2,46, 8) = (/ & & 0.12112e-04_rb,0.18585e-03_rb,0.27689e-03_rb,0.33853e-03_rb,0.20778e-03_rb /) kbo(:, 3,46, 8) = (/ & & 0.12113e-04_rb,0.23156e-03_rb,0.35597e-03_rb,0.44575e-03_rb,0.27619e-03_rb /) kbo(:, 4,46, 8) = (/ & & 0.12094e-04_rb,0.28789e-03_rb,0.45576e-03_rb,0.58313e-03_rb,0.36492e-03_rb /) kbo(:, 5,46, 8) = (/ & & 0.12054e-04_rb,0.35628e-03_rb,0.57980e-03_rb,0.75523e-03_rb,0.47721e-03_rb /) kbo(:, 1,47, 8) = (/ & & 0.98958e-05_rb,0.12436e-03_rb,0.17838e-03_rb,0.21241e-03_rb,0.12841e-03_rb /) kbo(:, 2,47, 8) = (/ & & 0.99157e-05_rb,0.15633e-03_rb,0.23279e-03_rb,0.28443e-03_rb,0.17291e-03_rb /) kbo(:, 3,47, 8) = (/ & & 0.99224e-05_rb,0.19724e-03_rb,0.30350e-03_rb,0.38017e-03_rb,0.23323e-03_rb /) kbo(:, 4,47, 8) = (/ & & 0.99150e-05_rb,0.24831e-03_rb,0.39396e-03_rb,0.50488e-03_rb,0.31274e-03_rb /) kbo(:, 5,47, 8) = (/ & & 0.98881e-05_rb,0.31110e-03_rb,0.50788e-03_rb,0.66304e-03_rb,0.41485e-03_rb /) kbo(:, 1,48, 8) = (/ & & 0.80981e-05_rb,0.10284e-03_rb,0.14701e-03_rb,0.17457e-03_rb,0.10464e-03_rb /) kbo(:, 2,48, 8) = (/ & & 0.81170e-05_rb,0.13083e-03_rb,0.19452e-03_rb,0.23734e-03_rb,0.14298e-03_rb /) kbo(:, 3,48, 8) = (/ & & 0.81254e-05_rb,0.16716e-03_rb,0.25727e-03_rb,0.32230e-03_rb,0.19565e-03_rb /) kbo(:, 4,48, 8) = (/ & & 0.81253e-05_rb,0.21328e-03_rb,0.33887e-03_rb,0.43475e-03_rb,0.26652e-03_rb /) kbo(:, 5,48, 8) = (/ & & 0.81092e-05_rb,0.27062e-03_rb,0.44301e-03_rb,0.57972e-03_rb,0.35887e-03_rb /) kbo(:, 1,49, 8) = (/ & & 0.66262e-05_rb,0.84542e-04_rb,0.12034e-03_rb,0.14245e-03_rb,0.84636e-04_rb /) kbo(:, 2,49, 8) = (/ & & 0.66435e-05_rb,0.10903e-03_rb,0.16168e-03_rb,0.19686e-03_rb,0.11740e-03_rb /) kbo(:, 3,49, 8) = (/ & & 0.66527e-05_rb,0.14092e-03_rb,0.21685e-03_rb,0.27156e-03_rb,0.16309e-03_rb /) kbo(:, 4,49, 8) = (/ & & 0.66567e-05_rb,0.18229e-03_rb,0.28989e-03_rb,0.37214e-03_rb,0.22572e-03_rb /) kbo(:, 5,49, 8) = (/ & & 0.66489e-05_rb,0.23443e-03_rb,0.38461e-03_rb,0.50418e-03_rb,0.30883e-03_rb /) kbo(:, 1,50, 8) = (/ & & 0.54202e-05_rb,0.69608e-04_rb,0.98680e-04_rb,0.11646e-03_rb,0.68510e-04_rb /) kbo(:, 2,50, 8) = (/ & & 0.54374e-05_rb,0.90802e-04_rb,0.13434e-03_rb,0.16330e-03_rb,0.96499e-04_rb /) kbo(:, 3,50, 8) = (/ & & 0.54475e-05_rb,0.11916e-03_rb,0.18327e-03_rb,0.22932e-03_rb,0.13620e-03_rb /) kbo(:, 4,50, 8) = (/ & & 0.54521e-05_rb,0.15608e-03_rb,0.24845e-03_rb,0.31928e-03_rb,0.19154e-03_rb /) kbo(:, 5,50, 8) = (/ & & 0.54498e-05_rb,0.20348e-03_rb,0.33466e-03_rb,0.43937e-03_rb,0.26626e-03_rb /) kbo(:, 1,51, 8) = (/ & & 0.44351e-05_rb,0.57088e-04_rb,0.80582e-04_rb,0.94790e-04_rb,0.55250e-04_rb /) kbo(:, 2,51, 8) = (/ & & 0.44504e-05_rb,0.75435e-04_rb,0.11131e-03_rb,0.13503e-03_rb,0.79024e-04_rb /) kbo(:, 3,51, 8) = (/ & & 0.44599e-05_rb,0.10037e-03_rb,0.15428e-03_rb,0.19291e-03_rb,0.11343e-03_rb /) kbo(:, 4,51, 8) = (/ & & 0.44651e-05_rb,0.13336e-03_rb,0.21252e-03_rb,0.27335e-03_rb,0.16218e-03_rb /) kbo(:, 5,51, 8) = (/ & & 0.44653e-05_rb,0.17640e-03_rb,0.29075e-03_rb,0.38229e-03_rb,0.22923e-03_rb /) kbo(:, 1,52, 8) = (/ & & 0.36290e-05_rb,0.46565e-04_rb,0.65364e-04_rb,0.76598e-04_rb,0.44240e-04_rb /) kbo(:, 2,52, 8) = (/ & & 0.36420e-05_rb,0.62314e-04_rb,0.91644e-04_rb,0.11090e-03_rb,0.64234e-04_rb /) kbo(:, 3,52, 8) = (/ & & 0.36509e-05_rb,0.84102e-04_rb,0.12910e-03_rb,0.16125e-03_rb,0.93833e-04_rb /) kbo(:, 4,52, 8) = (/ & & 0.36555e-05_rb,0.11362e-03_rb,0.18115e-03_rb,0.23297e-03_rb,0.13657e-03_rb /) kbo(:, 5,52, 8) = (/ & & 0.36579e-05_rb,0.15226e-03_rb,0.25136e-03_rb,0.33099e-03_rb,0.19621e-03_rb /) kbo(:, 1,53, 8) = (/ & & 0.29692e-05_rb,0.37746e-04_rb,0.52632e-04_rb,0.61397e-04_rb,0.35165e-04_rb /) kbo(:, 2,53, 8) = (/ & & 0.29808e-05_rb,0.51149e-04_rb,0.74879e-04_rb,0.90335e-04_rb,0.51807e-04_rb /) kbo(:, 3,53, 8) = (/ & & 0.29880e-05_rb,0.70028e-04_rb,0.10724e-03_rb,0.13375e-03_rb,0.77010e-04_rb /) kbo(:, 4,53, 8) = (/ & & 0.29931e-05_rb,0.96105e-04_rb,0.15314e-03_rb,0.19689e-03_rb,0.11417e-03_rb /) kbo(:, 5,53, 8) = (/ & & 0.29959e-05_rb,0.13074e-03_rb,0.21612e-03_rb,0.28492e-03_rb,0.16697e-03_rb /) kbo(:, 1,54, 8) = (/ & & 0.24296e-05_rb,0.30698e-04_rb,0.42544e-04_rb,0.49406e-04_rb,0.28072e-04_rb /) kbo(:, 2,54, 8) = (/ & & 0.24393e-05_rb,0.42122e-04_rb,0.61454e-04_rb,0.73927e-04_rb,0.41964e-04_rb /) kbo(:, 3,54, 8) = (/ & & 0.24460e-05_rb,0.58528e-04_rb,0.89500e-04_rb,0.11146e-03_rb,0.63503e-04_rb /) kbo(:, 4,54, 8) = (/ & & 0.24507e-05_rb,0.81611e-04_rb,0.13009e-03_rb,0.16728e-03_rb,0.95947e-04_rb /) kbo(:, 5,54, 8) = (/ & & 0.24535e-05_rb,0.11276e-03_rb,0.18682e-03_rb,0.24654e-03_rb,0.14286e-03_rb /) kbo(:, 1,55, 8) = (/ & & 0.19883e-05_rb,0.24921e-04_rb,0.34312e-04_rb,0.39666e-04_rb,0.22375e-04_rb /) kbo(:, 2,55, 8) = (/ & & 0.19963e-05_rb,0.34641e-04_rb,0.50344e-04_rb,0.60381e-04_rb,0.33942e-04_rb /) kbo(:, 3,55, 8) = (/ & & 0.20020e-05_rb,0.48868e-04_rb,0.74618e-04_rb,0.92809e-04_rb,0.52280e-04_rb /) kbo(:, 4,55, 8) = (/ & & 0.20065e-05_rb,0.69255e-04_rb,0.11042e-03_rb,0.14203e-03_rb,0.80566e-04_rb /) kbo(:, 5,55, 8) = (/ & & 0.20089e-05_rb,0.97527e-04_rb,0.16182e-03_rb,0.21373e-03_rb,0.12228e-03_rb /) kbo(:, 1,56, 8) = (/ & & 0.16268e-05_rb,0.20122e-04_rb,0.27506e-04_rb,0.31629e-04_rb,0.17718e-04_rb /) kbo(:, 2,56, 8) = (/ & & 0.16337e-05_rb,0.28321e-04_rb,0.40966e-04_rb,0.48960e-04_rb,0.27271e-04_rb /) kbo(:, 3,56, 8) = (/ & & 0.16385e-05_rb,0.40579e-04_rb,0.61828e-04_rb,0.76747e-04_rb,0.42739e-04_rb /) kbo(:, 4,56, 8) = (/ & & 0.16424e-05_rb,0.58490e-04_rb,0.93220e-04_rb,0.11991e-03_rb,0.67232e-04_rb /) kbo(:, 5,56, 8) = (/ & & 0.16450e-05_rb,0.83776e-04_rb,0.13917e-03_rb,0.18401e-03_rb,0.10406e-03_rb /) kbo(:, 1,57, 8) = (/ & & 0.13311e-05_rb,0.16151e-04_rb,0.21901e-04_rb,0.25044e-04_rb,0.13934e-04_rb /) kbo(:, 2,57, 8) = (/ & & 0.13369e-05_rb,0.23005e-04_rb,0.33083e-04_rb,0.39377e-04_rb,0.21751e-04_rb /) kbo(:, 3,57, 8) = (/ & & 0.13411e-05_rb,0.33501e-04_rb,0.50888e-04_rb,0.63014e-04_rb,0.34696e-04_rb /) kbo(:, 4,57, 8) = (/ & & 0.13443e-05_rb,0.49111e-04_rb,0.78191e-04_rb,0.10051e-03_rb,0.55711e-04_rb /) kbo(:, 5,57, 8) = (/ & & 0.13467e-05_rb,0.71586e-04_rb,0.11902e-03_rb,0.15744e-03_rb,0.88025e-04_rb /) kbo(:, 1,58, 8) = (/ & & 0.10892e-05_rb,0.12962e-04_rb,0.17443e-04_rb,0.19825e-04_rb,0.10955e-04_rb /) kbo(:, 2,58, 8) = (/ & & 0.10942e-05_rb,0.18688e-04_rb,0.26716e-04_rb,0.31664e-04_rb,0.17348e-04_rb /) kbo(:, 3,58, 8) = (/ & & 0.10976e-05_rb,0.27650e-04_rb,0.41864e-04_rb,0.51716e-04_rb,0.28159e-04_rb /) kbo(:, 4,58, 8) = (/ & & 0.11004e-05_rb,0.41251e-04_rb,0.65630e-04_rb,0.84299e-04_rb,0.46156e-04_rb /) kbo(:, 5,58, 8) = (/ & & 0.11025e-05_rb,0.61261e-04_rb,0.10196e-03_rb,0.13496e-03_rb,0.74536e-04_rb /) kbo(:, 1,59, 8) = (/ & & 0.89197e-06_rb,0.11047e-04_rb,0.14899e-04_rb,0.16964e-04_rb,0.92999e-05_rb /) kbo(:, 2,59, 8) = (/ & & 0.89605e-06_rb,0.16215e-04_rb,0.23291e-04_rb,0.27686e-04_rb,0.15019e-04_rb /) kbo(:, 3,59, 8) = (/ & & 0.89875e-06_rb,0.24462e-04_rb,0.37267e-04_rb,0.46243e-04_rb,0.24905e-04_rb /) kbo(:, 4,59, 8) = (/ & & 0.90117e-06_rb,0.37175e-04_rb,0.59594e-04_rb,0.76969e-04_rb,0.41672e-04_rb /) kbo(:, 5,59, 8) = (/ & & 0.90310e-06_rb,0.56115e-04_rb,0.94187e-04_rb,0.12528e-03_rb,0.68497e-04_rb /) kbo(:, 1,13, 9) = (/ & & 0.56714e-01_rb,0.96228e-01_rb,0.10961e+00_rb,0.11078e+00_rb,0.82822e-01_rb /) kbo(:, 2,13, 9) = (/ & & 0.57828e-01_rb,0.97972e-01_rb,0.11123e+00_rb,0.11236e+00_rb,0.84782e-01_rb /) kbo(:, 3,13, 9) = (/ & & 0.59232e-01_rb,0.99998e-01_rb,0.11329e+00_rb,0.11400e+00_rb,0.86728e-01_rb /) kbo(:, 4,13, 9) = (/ & & 0.60790e-01_rb,0.10219e+00_rb,0.11568e+00_rb,0.11591e+00_rb,0.88651e-01_rb /) kbo(:, 5,13, 9) = (/ & & 0.62290e-01_rb,0.10448e+00_rb,0.11818e+00_rb,0.11808e+00_rb,0.90606e-01_rb /) kbo(:, 1,14, 9) = (/ & & 0.48757e-01_rb,0.85742e-01_rb,0.97473e-01_rb,0.98306e-01_rb,0.73073e-01_rb /) kbo(:, 2,14, 9) = (/ & & 0.49942e-01_rb,0.87692e-01_rb,0.99489e-01_rb,0.10004e+00_rb,0.75064e-01_rb /) kbo(:, 3,14, 9) = (/ & & 0.51318e-01_rb,0.89856e-01_rb,0.10188e+00_rb,0.10205e+00_rb,0.77018e-01_rb /) kbo(:, 4,14, 9) = (/ & & 0.52660e-01_rb,0.92153e-01_rb,0.10444e+00_rb,0.10434e+00_rb,0.78996e-01_rb /) kbo(:, 5,14, 9) = (/ & & 0.53901e-01_rb,0.94584e-01_rb,0.10712e+00_rb,0.10687e+00_rb,0.81028e-01_rb /) kbo(:, 1,15, 9) = (/ & & 0.41752e-01_rb,0.76198e-01_rb,0.86593e-01_rb,0.87037e-01_rb,0.64464e-01_rb /) kbo(:, 2,15, 9) = (/ & & 0.42945e-01_rb,0.78277e-01_rb,0.88919e-01_rb,0.89055e-01_rb,0.66440e-01_rb /) kbo(:, 3,15, 9) = (/ & & 0.44132e-01_rb,0.80544e-01_rb,0.91468e-01_rb,0.91397e-01_rb,0.68401e-01_rb /) kbo(:, 4,15, 9) = (/ & & 0.45260e-01_rb,0.82968e-01_rb,0.94189e-01_rb,0.93993e-01_rb,0.70410e-01_rb /) kbo(:, 5,15, 9) = (/ & & 0.46298e-01_rb,0.85502e-01_rb,0.97029e-01_rb,0.96802e-01_rb,0.72466e-01_rb /) kbo(:, 1,16, 9) = (/ & & 0.35640e-01_rb,0.67555e-01_rb,0.76928e-01_rb,0.77126e-01_rb,0.56847e-01_rb /) kbo(:, 2,16, 9) = (/ & & 0.36668e-01_rb,0.69730e-01_rb,0.79394e-01_rb,0.79411e-01_rb,0.58796e-01_rb /) kbo(:, 3,16, 9) = (/ & & 0.37665e-01_rb,0.72105e-01_rb,0.82070e-01_rb,0.81996e-01_rb,0.60763e-01_rb /) kbo(:, 4,16, 9) = (/ & & 0.38606e-01_rb,0.74641e-01_rb,0.84920e-01_rb,0.84810e-01_rb,0.62792e-01_rb /) kbo(:, 5,16, 9) = (/ & & 0.39473e-01_rb,0.77118e-01_rb,0.87904e-01_rb,0.87777e-01_rb,0.64884e-01_rb /) kbo(:, 1,17, 9) = (/ & & 0.30249e-01_rb,0.59768e-01_rb,0.68325e-01_rb,0.68492e-01_rb,0.50101e-01_rb /) kbo(:, 2,17, 9) = (/ & & 0.31103e-01_rb,0.62060e-01_rb,0.70903e-01_rb,0.70988e-01_rb,0.52022e-01_rb /) kbo(:, 3,17, 9) = (/ & & 0.31936e-01_rb,0.64534e-01_rb,0.73696e-01_rb,0.73735e-01_rb,0.54005e-01_rb /) kbo(:, 4,17, 9) = (/ & & 0.32730e-01_rb,0.67029e-01_rb,0.76655e-01_rb,0.76665e-01_rb,0.56059e-01_rb /) kbo(:, 5,17, 9) = (/ & & 0.33443e-01_rb,0.69449e-01_rb,0.79757e-01_rb,0.79742e-01_rb,0.58173e-01_rb /) kbo(:, 1,18, 9) = (/ & & 0.25545e-01_rb,0.52871e-01_rb,0.60740e-01_rb,0.60992e-01_rb,0.44172e-01_rb /) kbo(:, 2,18, 9) = (/ & & 0.26254e-01_rb,0.55233e-01_rb,0.63406e-01_rb,0.63637e-01_rb,0.46086e-01_rb /) kbo(:, 3,18, 9) = (/ & & 0.26956e-01_rb,0.57692e-01_rb,0.66286e-01_rb,0.66462e-01_rb,0.48089e-01_rb /) kbo(:, 4,18, 9) = (/ & & 0.27612e-01_rb,0.60136e-01_rb,0.69343e-01_rb,0.69465e-01_rb,0.50154e-01_rb /) kbo(:, 5,18, 9) = (/ & & 0.28200e-01_rb,0.62534e-01_rb,0.72542e-01_rb,0.72608e-01_rb,0.52275e-01_rb /) kbo(:, 1,19, 9) = (/ & & 0.21487e-01_rb,0.46786e-01_rb,0.54092e-01_rb,0.54451e-01_rb,0.38986e-01_rb /) kbo(:, 2,19, 9) = (/ & & 0.22086e-01_rb,0.49151e-01_rb,0.56837e-01_rb,0.57167e-01_rb,0.40916e-01_rb /) kbo(:, 3,19, 9) = (/ & & 0.22671e-01_rb,0.51565e-01_rb,0.59787e-01_rb,0.60059e-01_rb,0.42916e-01_rb /) kbo(:, 4,19, 9) = (/ & & 0.23212e-01_rb,0.53966e-01_rb,0.62913e-01_rb,0.63134e-01_rb,0.44993e-01_rb /) kbo(:, 5,19, 9) = (/ & & 0.23674e-01_rb,0.56335e-01_rb,0.66121e-01_rb,0.66362e-01_rb,0.47140e-01_rb /) kbo(:, 1,20, 9) = (/ & & 0.18039e-01_rb,0.41493e-01_rb,0.48348e-01_rb,0.48783e-01_rb,0.34522e-01_rb /) kbo(:, 2,20, 9) = (/ & & 0.18543e-01_rb,0.43801e-01_rb,0.51155e-01_rb,0.51541e-01_rb,0.36457e-01_rb /) kbo(:, 3,20, 9) = (/ & & 0.19027e-01_rb,0.46166e-01_rb,0.54164e-01_rb,0.54503e-01_rb,0.38468e-01_rb /) kbo(:, 4,20, 9) = (/ & & 0.19452e-01_rb,0.48538e-01_rb,0.57292e-01_rb,0.57654e-01_rb,0.40551e-01_rb /) kbo(:, 5,20, 9) = (/ & & 0.19805e-01_rb,0.50879e-01_rb,0.60490e-01_rb,0.60969e-01_rb,0.42726e-01_rb /) kbo(:, 1,21, 9) = (/ & & 0.15116e-01_rb,0.36867e-01_rb,0.43373e-01_rb,0.43860e-01_rb,0.30692e-01_rb /) kbo(:, 2,21, 9) = (/ & & 0.15537e-01_rb,0.39121e-01_rb,0.46234e-01_rb,0.46663e-01_rb,0.32616e-01_rb /) kbo(:, 3,21, 9) = (/ & & 0.15924e-01_rb,0.41438e-01_rb,0.49238e-01_rb,0.49692e-01_rb,0.34628e-01_rb /) kbo(:, 4,21, 9) = (/ & & 0.16258e-01_rb,0.43774e-01_rb,0.52361e-01_rb,0.52910e-01_rb,0.36736e-01_rb /) kbo(:, 5,21, 9) = (/ & & 0.16525e-01_rb,0.46101e-01_rb,0.55542e-01_rb,0.56309e-01_rb,0.38934e-01_rb /) kbo(:, 1,22, 9) = (/ & & 0.12675e-01_rb,0.32993e-01_rb,0.39256e-01_rb,0.39779e-01_rb,0.27529e-01_rb /) kbo(:, 2,22, 9) = (/ & & 0.13009e-01_rb,0.35201e-01_rb,0.42138e-01_rb,0.42658e-01_rb,0.29453e-01_rb /) kbo(:, 3,22, 9) = (/ & & 0.13317e-01_rb,0.37474e-01_rb,0.45144e-01_rb,0.45756e-01_rb,0.31474e-01_rb /) kbo(:, 4,22, 9) = (/ & & 0.13574e-01_rb,0.39784e-01_rb,0.48260e-01_rb,0.49049e-01_rb,0.33608e-01_rb /) kbo(:, 5,22, 9) = (/ & & 0.13778e-01_rb,0.42099e-01_rb,0.51448e-01_rb,0.52529e-01_rb,0.35844e-01_rb /) kbo(:, 1,23, 9) = (/ & & 0.10608e-01_rb,0.29677e-01_rb,0.35736e-01_rb,0.36323e-01_rb,0.24847e-01_rb /) kbo(:, 2,23, 9) = (/ & & 0.10880e-01_rb,0.31843e-01_rb,0.38613e-01_rb,0.39274e-01_rb,0.26772e-01_rb /) kbo(:, 3,23, 9) = (/ & & 0.11120e-01_rb,0.34081e-01_rb,0.41634e-01_rb,0.42440e-01_rb,0.28816e-01_rb /) kbo(:, 4,23, 9) = (/ & & 0.11313e-01_rb,0.36372e-01_rb,0.44754e-01_rb,0.45808e-01_rb,0.30978e-01_rb /) kbo(:, 5,23, 9) = (/ & & 0.11474e-01_rb,0.38689e-01_rb,0.47973e-01_rb,0.49367e-01_rb,0.33255e-01_rb /) kbo(:, 1,24, 9) = (/ & & 0.88685e-02_rb,0.26862e-01_rb,0.32736e-01_rb,0.33437e-01_rb,0.22600e-01_rb /) kbo(:, 2,24, 9) = (/ & & 0.90884e-02_rb,0.28994e-01_rb,0.35625e-01_rb,0.36451e-01_rb,0.24532e-01_rb /) kbo(:, 3,24, 9) = (/ & & 0.92759e-02_rb,0.31210e-01_rb,0.38663e-01_rb,0.39696e-01_rb,0.26600e-01_rb /) kbo(:, 4,24, 9) = (/ & & 0.94299e-02_rb,0.33488e-01_rb,0.41810e-01_rb,0.43137e-01_rb,0.28795e-01_rb /) kbo(:, 5,24, 9) = (/ & & 0.95655e-02_rb,0.35810e-01_rb,0.45067e-01_rb,0.46765e-01_rb,0.31119e-01_rb /) kbo(:, 1,25, 9) = (/ & & 0.74112e-02_rb,0.24493e-01_rb,0.30220e-01_rb,0.31056e-01_rb,0.20732e-01_rb /) kbo(:, 2,25, 9) = (/ & & 0.75852e-02_rb,0.26600e-01_rb,0.33130e-01_rb,0.34139e-01_rb,0.22685e-01_rb /) kbo(:, 3,25, 9) = (/ & & 0.77307e-02_rb,0.28805e-01_rb,0.36194e-01_rb,0.37461e-01_rb,0.24778e-01_rb /) kbo(:, 4,25, 9) = (/ & & 0.78603e-02_rb,0.31085e-01_rb,0.39384e-01_rb,0.40978e-01_rb,0.27016e-01_rb /) kbo(:, 5,25, 9) = (/ & & 0.79718e-02_rb,0.33416e-01_rb,0.42696e-01_rb,0.44682e-01_rb,0.29393e-01_rb /) kbo(:, 1,26, 9) = (/ & & 0.61902e-02_rb,0.22538e-01_rb,0.28170e-01_rb,0.29154e-01_rb,0.19220e-01_rb /) kbo(:, 2,26, 9) = (/ & & 0.63276e-02_rb,0.24632e-01_rb,0.31111e-01_rb,0.32321e-01_rb,0.21200e-01_rb /) kbo(:, 3,26, 9) = (/ & & 0.64499e-02_rb,0.26835e-01_rb,0.34213e-01_rb,0.35713e-01_rb,0.23332e-01_rb /) kbo(:, 4,26, 9) = (/ & & 0.65597e-02_rb,0.29126e-01_rb,0.37461e-01_rb,0.39319e-01_rb,0.25615e-01_rb /) kbo(:, 5,26, 9) = (/ & & 0.66551e-02_rb,0.31472e-01_rb,0.40844e-01_rb,0.43117e-01_rb,0.28057e-01_rb /) kbo(:, 1,27, 9) = (/ & & 0.51713e-02_rb,0.20911e-01_rb,0.26500e-01_rb,0.27639e-01_rb,0.17995e-01_rb /) kbo(:, 2,27, 9) = (/ & & 0.52848e-02_rb,0.23004e-01_rb,0.29475e-01_rb,0.30887e-01_rb,0.20007e-01_rb /) kbo(:, 3,27, 9) = (/ & & 0.53879e-02_rb,0.25219e-01_rb,0.32635e-01_rb,0.34364e-01_rb,0.22181e-01_rb /) kbo(:, 4,27, 9) = (/ & & 0.54763e-02_rb,0.27525e-01_rb,0.35956e-01_rb,0.38064e-01_rb,0.24520e-01_rb /) kbo(:, 5,27, 9) = (/ & & 0.55573e-02_rb,0.29889e-01_rb,0.39426e-01_rb,0.41977e-01_rb,0.27035e-01_rb /) kbo(:, 1,28, 9) = (/ & & 0.43195e-02_rb,0.19576e-01_rb,0.25160e-01_rb,0.26468e-01_rb,0.17016e-01_rb /) kbo(:, 2,28, 9) = (/ & & 0.44139e-02_rb,0.21680e-01_rb,0.28188e-01_rb,0.29800e-01_rb,0.19070e-01_rb /) kbo(:, 3,28, 9) = (/ & & 0.44969e-02_rb,0.23912e-01_rb,0.31420e-01_rb,0.33375e-01_rb,0.21294e-01_rb /) kbo(:, 4,28, 9) = (/ & & 0.45726e-02_rb,0.26235e-01_rb,0.34830e-01_rb,0.37186e-01_rb,0.23695e-01_rb /) kbo(:, 5,28, 9) = (/ & & 0.46426e-02_rb,0.28627e-01_rb,0.38395e-01_rb,0.41222e-01_rb,0.26282e-01_rb /) kbo(:, 1,29, 9) = (/ & & 0.36095e-02_rb,0.18508e-01_rb,0.24142e-01_rb,0.25625e-01_rb,0.16268e-01_rb /) kbo(:, 2,29, 9) = (/ & & 0.36856e-02_rb,0.20634e-01_rb,0.27243e-01_rb,0.29053e-01_rb,0.18372e-01_rb /) kbo(:, 3,29, 9) = (/ & & 0.37545e-02_rb,0.22890e-01_rb,0.30565e-01_rb,0.32742e-01_rb,0.20653e-01_rb /) kbo(:, 4,29, 9) = (/ & & 0.38219e-02_rb,0.25246e-01_rb,0.34070e-01_rb,0.36676e-01_rb,0.23125e-01_rb /) kbo(:, 5,29, 9) = (/ & & 0.38805e-02_rb,0.27676e-01_rb,0.37739e-01_rb,0.40837e-01_rb,0.25787e-01_rb /) kbo(:, 1,30, 9) = (/ & & 0.30149e-02_rb,0.17668e-01_rb,0.23401e-01_rb,0.25061e-01_rb,0.15717e-01_rb /) kbo(:, 2,30, 9) = (/ & & 0.30780e-02_rb,0.19823e-01_rb,0.26594e-01_rb,0.28602e-01_rb,0.17873e-01_rb /) kbo(:, 3,30, 9) = (/ & & 0.31391e-02_rb,0.22111e-01_rb,0.30012e-01_rb,0.32409e-01_rb,0.20220e-01_rb /) kbo(:, 4,30, 9) = (/ & & 0.31952e-02_rb,0.24511e-01_rb,0.33620e-01_rb,0.36467e-01_rb,0.22768e-01_rb /) kbo(:, 5,30, 9) = (/ & & 0.32462e-02_rb,0.26992e-01_rb,0.37393e-01_rb,0.40756e-01_rb,0.25513e-01_rb /) kbo(:, 1,31, 9) = (/ & & 0.25190e-02_rb,0.17039e-01_rb,0.22932e-01_rb,0.24769e-01_rb,0.15346e-01_rb /) kbo(:, 2,31, 9) = (/ & & 0.25729e-02_rb,0.19232e-01_rb,0.26227e-01_rb,0.28432e-01_rb,0.17564e-01_rb /) kbo(:, 3,31, 9) = (/ & & 0.26259e-02_rb,0.21567e-01_rb,0.29750e-01_rb,0.32369e-01_rb,0.19984e-01_rb /) kbo(:, 4,31, 9) = (/ & & 0.26746e-02_rb,0.24020e-01_rb,0.33463e-01_rb,0.36549e-01_rb,0.22614e-01_rb /) kbo(:, 5,31, 9) = (/ & & 0.27170e-02_rb,0.26556e-01_rb,0.37338e-01_rb,0.40957e-01_rb,0.25451e-01_rb /) kbo(:, 1,32, 9) = (/ & & 0.21057e-02_rb,0.16597e-01_rb,0.22710e-01_rb,0.24723e-01_rb,0.15137e-01_rb /) kbo(:, 2,32, 9) = (/ & & 0.21537e-02_rb,0.18840e-01_rb,0.26112e-01_rb,0.28512e-01_rb,0.17424e-01_rb /) kbo(:, 3,32, 9) = (/ & & 0.21983e-02_rb,0.21233e-01_rb,0.29743e-01_rb,0.32575e-01_rb,0.19926e-01_rb /) kbo(:, 4,32, 9) = (/ & & 0.22397e-02_rb,0.23745e-01_rb,0.33557e-01_rb,0.36873e-01_rb,0.22643e-01_rb /) kbo(:, 5,32, 9) = (/ & & 0.22779e-02_rb,0.26339e-01_rb,0.37525e-01_rb,0.41395e-01_rb,0.25571e-01_rb /) kbo(:, 1,33, 9) = (/ & & 0.17621e-02_rb,0.16326e-01_rb,0.22706e-01_rb,0.24894e-01_rb,0.15071e-01_rb /) kbo(:, 2,33, 9) = (/ & & 0.18037e-02_rb,0.18626e-01_rb,0.26218e-01_rb,0.28807e-01_rb,0.17434e-01_rb /) kbo(:, 3,33, 9) = (/ & & 0.18413e-02_rb,0.21083e-01_rb,0.29952e-01_rb,0.32989e-01_rb,0.20023e-01_rb /) kbo(:, 4,33, 9) = (/ & & 0.18774e-02_rb,0.23655e-01_rb,0.33863e-01_rb,0.37400e-01_rb,0.22833e-01_rb /) kbo(:, 5,33, 9) = (/ & & 0.19114e-02_rb,0.26308e-01_rb,0.37916e-01_rb,0.42025e-01_rb,0.25847e-01_rb /) kbo(:, 1,34, 9) = (/ & & 0.14751e-02_rb,0.16125e-01_rb,0.22769e-01_rb,0.25117e-01_rb,0.15050e-01_rb /) kbo(:, 2,34, 9) = (/ & & 0.15101e-02_rb,0.18488e-01_rb,0.26381e-01_rb,0.29139e-01_rb,0.17489e-01_rb /) kbo(:, 3,34, 9) = (/ & & 0.15432e-02_rb,0.21005e-01_rb,0.30205e-01_rb,0.33424e-01_rb,0.20158e-01_rb /) kbo(:, 4,34, 9) = (/ & & 0.15747e-02_rb,0.23633e-01_rb,0.34198e-01_rb,0.37931e-01_rb,0.23050e-01_rb /) kbo(:, 5,34, 9) = (/ & & 0.16051e-02_rb,0.26339e-01_rb,0.38321e-01_rb,0.42642e-01_rb,0.26140e-01_rb /) kbo(:, 1,35, 9) = (/ & & 0.12323e-02_rb,0.15834e-01_rb,0.22646e-01_rb,0.25106e-01_rb,0.14908e-01_rb /) kbo(:, 2,35, 9) = (/ & & 0.12626e-02_rb,0.18245e-01_rb,0.26331e-01_rb,0.29206e-01_rb,0.17403e-01_rb /) kbo(:, 3,35, 9) = (/ & & 0.12919e-02_rb,0.20808e-01_rb,0.30221e-01_rb,0.33562e-01_rb,0.20132e-01_rb /) kbo(:, 4,35, 9) = (/ & & 0.13197e-02_rb,0.23481e-01_rb,0.34270e-01_rb,0.38136e-01_rb,0.23081e-01_rb /) kbo(:, 5,35, 9) = (/ & & 0.13470e-02_rb,0.26228e-01_rb,0.38442e-01_rb,0.42907e-01_rb,0.26222e-01_rb /) kbo(:, 1,36, 9) = (/ & & 0.10273e-02_rb,0.15393e-01_rb,0.22247e-01_rb,0.24766e-01_rb,0.14589e-01_rb /) kbo(:, 2,36, 9) = (/ & & 0.10537e-02_rb,0.17833e-01_rb,0.25974e-01_rb,0.28911e-01_rb,0.17115e-01_rb /) kbo(:, 3,36, 9) = (/ & & 0.10795e-02_rb,0.20426e-01_rb,0.29904e-01_rb,0.33307e-01_rb,0.19875e-01_rb /) kbo(:, 4,36, 9) = (/ & & 0.11043e-02_rb,0.23131e-01_rb,0.33989e-01_rb,0.37917e-01_rb,0.22855e-01_rb /) kbo(:, 5,36, 9) = (/ & & 0.11288e-02_rb,0.25909e-01_rb,0.38197e-01_rb,0.42722e-01_rb,0.26026e-01_rb /) kbo(:, 1,37, 9) = (/ & & 0.85383e-03_rb,0.14679e-01_rb,0.21388e-01_rb,0.23897e-01_rb,0.13970e-01_rb /) kbo(:, 2,37, 9) = (/ & & 0.87682e-03_rb,0.17120e-01_rb,0.25115e-01_rb,0.28039e-01_rb,0.16489e-01_rb /) kbo(:, 3,37, 9) = (/ & & 0.89996e-03_rb,0.19721e-01_rb,0.29054e-01_rb,0.32436e-01_rb,0.19242e-01_rb /) kbo(:, 4,37, 9) = (/ & & 0.92246e-03_rb,0.22439e-01_rb,0.33150e-01_rb,0.37047e-01_rb,0.22217e-01_rb /) kbo(:, 5,37, 9) = (/ & & 0.94506e-03_rb,0.25234e-01_rb,0.37369e-01_rb,0.41852e-01_rb,0.25386e-01_rb /) kbo(:, 1,38, 9) = (/ & & 0.70953e-03_rb,0.14014e-01_rb,0.20566e-01_rb,0.23058e-01_rb,0.13383e-01_rb /) kbo(:, 2,38, 9) = (/ & & 0.73008e-03_rb,0.16455e-01_rb,0.24289e-01_rb,0.27191e-01_rb,0.15892e-01_rb /) kbo(:, 3,38, 9) = (/ & & 0.75050e-03_rb,0.19058e-01_rb,0.28230e-01_rb,0.31581e-01_rb,0.18633e-01_rb /) kbo(:, 4,38, 9) = (/ & & 0.77107e-03_rb,0.21784e-01_rb,0.32331e-01_rb,0.36184e-01_rb,0.21597e-01_rb /) kbo(:, 5,38, 9) = (/ & & 0.79117e-03_rb,0.24590e-01_rb,0.36557e-01_rb,0.40986e-01_rb,0.24760e-01_rb /) kbo(:, 1,39, 9) = (/ & & 0.58982e-03_rb,0.13410e-01_rb,0.19807e-01_rb,0.22275e-01_rb,0.12843e-01_rb /) kbo(:, 2,39, 9) = (/ & & 0.60777e-03_rb,0.15847e-01_rb,0.23520e-01_rb,0.26395e-01_rb,0.15340e-01_rb /) kbo(:, 3,39, 9) = (/ & & 0.62607e-03_rb,0.18449e-01_rb,0.27458e-01_rb,0.30773e-01_rb,0.18067e-01_rb /) kbo(:, 4,39, 9) = (/ & & 0.64471e-03_rb,0.21179e-01_rb,0.31559e-01_rb,0.35367e-01_rb,0.21018e-01_rb /) kbo(:, 5,39, 9) = (/ & & 0.66285e-03_rb,0.23994e-01_rb,0.35788e-01_rb,0.40160e-01_rb,0.24170e-01_rb /) kbo(:, 1,40, 9) = (/ & & 0.48914e-03_rb,0.12617e-01_rb,0.18733e-01_rb,0.21131e-01_rb,0.12100e-01_rb /) kbo(:, 2,40, 9) = (/ & & 0.50499e-03_rb,0.15028e-01_rb,0.22406e-01_rb,0.25206e-01_rb,0.14559e-01_rb /) kbo(:, 3,40, 9) = (/ & & 0.52119e-03_rb,0.17611e-01_rb,0.26314e-01_rb,0.29544e-01_rb,0.17245e-01_rb /) kbo(:, 4,40, 9) = (/ & & 0.53770e-03_rb,0.20330e-01_rb,0.30397e-01_rb,0.34103e-01_rb,0.20159e-01_rb /) kbo(:, 5,40, 9) = (/ & & 0.55398e-03_rb,0.23142e-01_rb,0.34616e-01_rb,0.38867e-01_rb,0.23278e-01_rb /) kbo(:, 1,41, 9) = (/ & & 0.40532e-03_rb,0.11840e-01_rb,0.17661e-01_rb,0.19981e-01_rb,0.11365e-01_rb /) kbo(:, 2,41, 9) = (/ & & 0.41916e-03_rb,0.14219e-01_rb,0.21285e-01_rb,0.24002e-01_rb,0.13782e-01_rb /) kbo(:, 3,41, 9) = (/ & & 0.43354e-03_rb,0.16775e-01_rb,0.25154e-01_rb,0.28292e-01_rb,0.16423e-01_rb /) kbo(:, 4,41, 9) = (/ & & 0.44807e-03_rb,0.19478e-01_rb,0.29214e-01_rb,0.32812e-01_rb,0.19291e-01_rb /) kbo(:, 5,41, 9) = (/ & & 0.46282e-03_rb,0.22283e-01_rb,0.33415e-01_rb,0.37538e-01_rb,0.22373e-01_rb /) kbo(:, 1,42, 9) = (/ & & 0.33573e-03_rb,0.11104e-01_rb,0.16634e-01_rb,0.18873e-01_rb,0.10664e-01_rb /) kbo(:, 2,42, 9) = (/ & & 0.34776e-03_rb,0.13446e-01_rb,0.20201e-01_rb,0.22835e-01_rb,0.13037e-01_rb /) kbo(:, 3,42, 9) = (/ & & 0.36046e-03_rb,0.15973e-01_rb,0.24027e-01_rb,0.27071e-01_rb,0.15631e-01_rb /) kbo(:, 4,42, 9) = (/ & & 0.37344e-03_rb,0.18654e-01_rb,0.28057e-01_rb,0.31550e-01_rb,0.18451e-01_rb /) kbo(:, 5,42, 9) = (/ & & 0.38663e-03_rb,0.21448e-01_rb,0.32235e-01_rb,0.36231e-01_rb,0.21492e-01_rb /) kbo(:, 1,43, 9) = (/ & & 0.27733e-03_rb,0.10283e-01_rb,0.15460e-01_rb,0.17597e-01_rb,0.98707e-02_rb /) kbo(:, 2,43, 9) = (/ & & 0.28779e-03_rb,0.12571e-01_rb,0.18947e-01_rb,0.21473e-01_rb,0.12183e-01_rb /) kbo(:, 3,43, 9) = (/ & & 0.29891e-03_rb,0.15054e-01_rb,0.22712e-01_rb,0.25638e-01_rb,0.14718e-01_rb /) kbo(:, 4,43, 9) = (/ & & 0.31033e-03_rb,0.17702e-01_rb,0.26696e-01_rb,0.30055e-01_rb,0.17477e-01_rb /) kbo(:, 5,43, 9) = (/ & & 0.32200e-03_rb,0.20476e-01_rb,0.30841e-01_rb,0.34682e-01_rb,0.20459e-01_rb /) kbo(:, 1,44, 9) = (/ & & 0.22878e-03_rb,0.94499e-02_rb,0.14251e-01_rb,0.16276e-01_rb,0.90607e-02_rb /) kbo(:, 2,44, 9) = (/ & & 0.23775e-03_rb,0.11673e-01_rb,0.17646e-01_rb,0.20049e-01_rb,0.11303e-01_rb /) kbo(:, 3,44, 9) = (/ & & 0.24747e-03_rb,0.14106e-01_rb,0.21336e-01_rb,0.24135e-01_rb,0.13772e-01_rb /) kbo(:, 4,44, 9) = (/ & & 0.25755e-03_rb,0.16710e-01_rb,0.25261e-01_rb,0.28479e-01_rb,0.16464e-01_rb /) kbo(:, 5,44, 9) = (/ & & 0.26798e-03_rb,0.19454e-01_rb,0.29363e-01_rb,0.33046e-01_rb,0.19378e-01_rb /) kbo(:, 1,45, 9) = (/ & & 0.18849e-03_rb,0.86584e-02_rb,0.13096e-01_rb,0.15007e-01_rb,0.82904e-02_rb /) kbo(:, 2,45, 9) = (/ & & 0.19636e-03_rb,0.10814e-01_rb,0.16390e-01_rb,0.18672e-01_rb,0.10458e-01_rb /) kbo(:, 3,45, 9) = (/ & & 0.20470e-03_rb,0.13189e-01_rb,0.19995e-01_rb,0.22671e-01_rb,0.12861e-01_rb /) kbo(:, 4,45, 9) = (/ & & 0.21344e-03_rb,0.15746e-01_rb,0.23854e-01_rb,0.26936e-01_rb,0.15483e-01_rb /) kbo(:, 5,45, 9) = (/ & & 0.22266e-03_rb,0.18454e-01_rb,0.27912e-01_rb,0.31439e-01_rb,0.18328e-01_rb /) kbo(:, 1,46, 9) = (/ & & 0.15507e-03_rb,0.78632e-02_rb,0.11928e-01_rb,0.13712e-01_rb,0.75164e-02_rb /) kbo(:, 2,46, 9) = (/ & & 0.16179e-03_rb,0.99413e-02_rb,0.15104e-01_rb,0.17260e-01_rb,0.95985e-02_rb /) kbo(:, 3,46, 9) = (/ & & 0.16890e-03_rb,0.12249e-01_rb,0.18612e-01_rb,0.21154e-01_rb,0.11927e-01_rb /) kbo(:, 4,46, 9) = (/ & & 0.17659e-03_rb,0.14751e-01_rb,0.22394e-01_rb,0.25333e-01_rb,0.14476e-01_rb /) kbo(:, 5,46, 9) = (/ & & 0.18474e-03_rb,0.17415e-01_rb,0.26393e-01_rb,0.29761e-01_rb,0.17246e-01_rb /) kbo(:, 1,47, 9) = (/ & & 0.12726e-03_rb,0.70304e-02_rb,0.10696e-01_rb,0.12336e-01_rb,0.67029e-02_rb /) kbo(:, 2,47, 9) = (/ & & 0.13291e-03_rb,0.90171e-02_rb,0.13730e-01_rb,0.15745e-01_rb,0.86863e-02_rb /) kbo(:, 3,47, 9) = (/ & & 0.13906e-03_rb,0.11243e-01_rb,0.17120e-01_rb,0.19510e-01_rb,0.10925e-01_rb /) kbo(:, 4,47, 9) = (/ & & 0.14561e-03_rb,0.13678e-01_rb,0.20805e-01_rb,0.23588e-01_rb,0.13392e-01_rb /) kbo(:, 5,47, 9) = (/ & & 0.15268e-03_rb,0.16286e-01_rb,0.24728e-01_rb,0.27924e-01_rb,0.16077e-01_rb /) kbo(:, 1,48, 9) = (/ & & 0.10430e-03_rb,0.62479e-02_rb,0.95325e-02_rb,0.11029e-01_rb,0.59380e-02_rb /) kbo(:, 2,48, 9) = (/ & & 0.10909e-03_rb,0.81380e-02_rb,0.12419e-01_rb,0.14291e-01_rb,0.78205e-02_rb /) kbo(:, 3,48, 9) = (/ & & 0.11429e-03_rb,0.10277e-01_rb,0.15680e-01_rb,0.17922e-01_rb,0.99641e-02_rb /) kbo(:, 4,48, 9) = (/ & & 0.11996e-03_rb,0.12637e-01_rb,0.19259e-01_rb,0.21888e-01_rb,0.12347e-01_rb /) kbo(:, 5,48, 9) = (/ & & 0.12611e-03_rb,0.15183e-01_rb,0.23095e-01_rb,0.26125e-01_rb,0.14947e-01_rb /) kbo(:, 1,49, 9) = (/ & & 0.85361e-04_rb,0.55178e-02_rb,0.84413e-02_rb,0.97939e-02_rb,0.52224e-02_rb /) kbo(:, 2,49, 9) = (/ & & 0.89682e-04_rb,0.73124e-02_rb,0.11182e-01_rb,0.12906e-01_rb,0.70024e-02_rb /) kbo(:, 3,49, 9) = (/ & & 0.93818e-04_rb,0.93518e-02_rb,0.14295e-01_rb,0.16393e-01_rb,0.90454e-02_rb /) kbo(:, 4,49, 9) = (/ & & 0.98731e-04_rb,0.11631e-01_rb,0.17758e-01_rb,0.20234e-01_rb,0.11339e-01_rb /) kbo(:, 5,49, 9) = (/ & & 0.10398e-03_rb,0.14111e-01_rb,0.21502e-01_rb,0.24370e-01_rb,0.13856e-01_rb /) kbo(:, 1,50, 9) = (/ & & 0.70068e-04_rb,0.48843e-02_rb,0.74862e-02_rb,0.87029e-02_rb,0.45961e-02_rb /) kbo(:, 2,50, 9) = (/ & & 0.73528e-04_rb,0.65706e-02_rb,0.10074e-01_rb,0.11661e-01_rb,0.62737e-02_rb /) kbo(:, 3,50, 9) = (/ & & 0.77377e-04_rb,0.85288e-02_rb,0.13057e-01_rb,0.15019e-01_rb,0.82236e-02_rb /) kbo(:, 4,50, 9) = (/ & & 0.81195e-04_rb,0.10720e-01_rb,0.16396e-01_rb,0.18728e-01_rb,0.10428e-01_rb /) kbo(:, 5,50, 9) = (/ & & 0.85703e-04_rb,0.13133e-01_rb,0.20042e-01_rb,0.22765e-01_rb,0.12867e-01_rb /) kbo(:, 1,51, 9) = (/ & & 0.57383e-04_rb,0.43058e-02_rb,0.66126e-02_rb,0.77023e-02_rb,0.40299e-02_rb /) kbo(:, 2,51, 9) = (/ & & 0.60290e-04_rb,0.58916e-02_rb,0.90543e-02_rb,0.10509e-01_rb,0.56057e-02_rb /) kbo(:, 3,51, 9) = (/ & & 0.63513e-04_rb,0.77586e-02_rb,0.11901e-01_rb,0.13729e-01_rb,0.74620e-02_rb /) kbo(:, 4,51, 9) = (/ & & 0.66727e-04_rb,0.98672e-02_rb,0.15116e-01_rb,0.17314e-01_rb,0.95779e-02_rb /) kbo(:, 5,51, 9) = (/ & & 0.70598e-04_rb,0.12209e-01_rb,0.18661e-01_rb,0.21244e-01_rb,0.11938e-01_rb /) kbo(:, 1,52, 9) = (/ & & 0.46933e-04_rb,0.37683e-02_rb,0.57987e-02_rb,0.67684e-02_rb,0.35066e-02_rb /) kbo(:, 2,52, 9) = (/ & & 0.49374e-04_rb,0.52554e-02_rb,0.80944e-02_rb,0.94163e-02_rb,0.49785e-02_rb /) kbo(:, 3,52, 9) = (/ & & 0.52069e-04_rb,0.70251e-02_rb,0.10799e-01_rb,0.12493e-01_rb,0.67384e-02_rb /) kbo(:, 4,52, 9) = (/ & & 0.55066e-04_rb,0.90579e-02_rb,0.13892e-01_rb,0.15957e-01_rb,0.87644e-02_rb /) kbo(:, 5,52, 9) = (/ & & 0.58094e-04_rb,0.11314e-01_rb,0.17321e-01_rb,0.19762e-01_rb,0.11039e-01_rb /) kbo(:, 1,53, 9) = (/ & & 0.38369e-04_rb,0.32705e-02_rb,0.50428e-02_rb,0.58997e-02_rb,0.30250e-02_rb /) kbo(:, 2,53, 9) = (/ & & 0.40389e-04_rb,0.46579e-02_rb,0.71882e-02_rb,0.83794e-02_rb,0.43908e-02_rb /) kbo(:, 3,53, 9) = (/ & & 0.42656e-04_rb,0.63275e-02_rb,0.97486e-02_rb,0.11308e-01_rb,0.60500e-02_rb /) kbo(:, 4,53, 9) = (/ & & 0.45173e-04_rb,0.82714e-02_rb,0.12706e-01_rb,0.14639e-01_rb,0.79824e-02_rb /) kbo(:, 5,53, 9) = (/ & & 0.47733e-04_rb,0.10447e-01_rb,0.16018e-01_rb,0.18320e-01_rb,0.10170e-01_rb /) kbo(:, 1,54, 9) = (/ & & 0.31373e-04_rb,0.28489e-02_rb,0.44023e-02_rb,0.51602e-02_rb,0.26198e-02_rb /) kbo(:, 2,54, 9) = (/ & & 0.33072e-04_rb,0.41448e-02_rb,0.64072e-02_rb,0.74821e-02_rb,0.38868e-02_rb /) kbo(:, 3,54, 9) = (/ & & 0.34962e-04_rb,0.57219e-02_rb,0.88331e-02_rb,0.10271e-01_rb,0.54518e-02_rb /) kbo(:, 4,54, 9) = (/ & & 0.37073e-04_rb,0.75801e-02_rb,0.11663e-01_rb,0.13472e-01_rb,0.72975e-02_rb /) kbo(:, 5,54, 9) = (/ & & 0.39224e-04_rb,0.96795e-02_rb,0.14861e-01_rb,0.17039e-01_rb,0.94030e-02_rb /) kbo(:, 1,55, 9) = (/ & & 0.25649e-04_rb,0.24774e-02_rb,0.38358e-02_rb,0.45027e-02_rb,0.22635e-02_rb /) kbo(:, 2,55, 9) = (/ & & 0.27065e-04_rb,0.36831e-02_rb,0.57040e-02_rb,0.66733e-02_rb,0.34361e-02_rb /) kbo(:, 3,55, 9) = (/ & & 0.28649e-04_rb,0.51728e-02_rb,0.80003e-02_rb,0.93199e-02_rb,0.49087e-02_rb /) kbo(:, 4,55, 9) = (/ & & 0.30419e-04_rb,0.69443e-02_rb,0.10704e-01_rb,0.12395e-01_rb,0.66688e-02_rb /) kbo(:, 5,55, 9) = (/ & & 0.32478e-04_rb,0.89781e-02_rb,0.13794e-01_rb,0.15856e-01_rb,0.86947e-02_rb /) kbo(:, 1,56, 9) = (/ & & 0.20960e-04_rb,0.21374e-02_rb,0.33161e-02_rb,0.38972e-02_rb,0.19394e-02_rb /) kbo(:, 2,56, 9) = (/ & & 0.22130e-04_rb,0.32530e-02_rb,0.50471e-02_rb,0.59166e-02_rb,0.30185e-02_rb /) kbo(:, 3,56, 9) = (/ & & 0.23455e-04_rb,0.46545e-02_rb,0.72105e-02_rb,0.84156e-02_rb,0.43975e-02_rb /) kbo(:, 4,56, 9) = (/ & & 0.24958e-04_rb,0.63377e-02_rb,0.97876e-02_rb,0.11360e-01_rb,0.60688e-02_rb /) kbo(:, 5,56, 9) = (/ & & 0.26672e-04_rb,0.82933e-02_rb,0.12759e-01_rb,0.14704e-01_rb,0.80123e-02_rb /) kbo(:, 1,57, 9) = (/ & & 0.17108e-04_rb,0.18275e-02_rb,0.28407e-02_rb,0.33429e-02_rb,0.16463e-02_rb /) kbo(:, 2,57, 9) = (/ & & 0.18082e-04_rb,0.28535e-02_rb,0.44360e-02_rb,0.52097e-02_rb,0.26326e-02_rb /) kbo(:, 3,57, 9) = (/ & & 0.19184e-04_rb,0.41668e-02_rb,0.64646e-02_rb,0.75572e-02_rb,0.39170e-02_rb /) kbo(:, 4,57, 9) = (/ & & 0.20446e-04_rb,0.57610e-02_rb,0.89128e-02_rb,0.10368e-01_rb,0.54979e-02_rb /) kbo(:, 5,57, 9) = (/ & & 0.21854e-04_rb,0.76342e-02_rb,0.11762e-01_rb,0.13588e-01_rb,0.73577e-02_rb /) kbo(:, 1,58, 9) = (/ & & 0.13963e-04_rb,0.15602e-02_rb,0.24292e-02_rb,0.28638e-02_rb,0.13965e-02_rb /) kbo(:, 2,58, 9) = (/ & & 0.14773e-04_rb,0.25031e-02_rb,0.38984e-02_rb,0.45849e-02_rb,0.22957e-02_rb /) kbo(:, 3,58, 9) = (/ & & 0.15698e-04_rb,0.37311e-02_rb,0.57975e-02_rb,0.67885e-02_rb,0.34899e-02_rb /) kbo(:, 4,58, 9) = (/ & & 0.16731e-04_rb,0.52413e-02_rb,0.81221e-02_rb,0.94657e-02_rb,0.49831e-02_rb /) kbo(:, 5,58, 9) = (/ & & 0.17926e-04_rb,0.70329e-02_rb,0.10852e-01_rb,0.12566e-01_rb,0.67622e-02_rb /) kbo(:, 1,59, 9) = (/ & & 0.11515e-04_rb,0.14557e-02_rb,0.22712e-02_rb,0.26808e-02_rb,0.13001e-02_rb /) kbo(:, 2,59, 9) = (/ & & 0.12194e-04_rb,0.23665e-02_rb,0.36913e-02_rb,0.43444e-02_rb,0.21654e-02_rb /) kbo(:, 3,59, 9) = (/ & & 0.12975e-04_rb,0.35608e-02_rb,0.55385e-02_rb,0.64911e-02_rb,0.33241e-02_rb /) kbo(:, 4,59, 9) = (/ & & 0.13854e-04_rb,0.50382e-02_rb,0.78142e-02_rb,0.91137e-02_rb,0.47825e-02_rb /) kbo(:, 5,59, 9) = (/ & & 0.14890e-04_rb,0.67966e-02_rb,0.10497e-01_rb,0.12166e-01_rb,0.65291e-02_rb /) kbo(:, 1,13,10) = (/ & & 0.23136e+00_rb,0.35590e+00_rb,0.41705e+00_rb,0.42838e+00_rb,0.34405e+00_rb /) kbo(:, 2,13,10) = (/ & & 0.23570e+00_rb,0.35573e+00_rb,0.41855e+00_rb,0.43318e+00_rb,0.34979e+00_rb /) kbo(:, 3,13,10) = (/ & & 0.23997e+00_rb,0.35949e+00_rb,0.42029e+00_rb,0.43813e+00_rb,0.35426e+00_rb /) kbo(:, 4,13,10) = (/ & & 0.24492e+00_rb,0.36590e+00_rb,0.42350e+00_rb,0.44177e+00_rb,0.35947e+00_rb /) kbo(:, 5,13,10) = (/ & & 0.25202e+00_rb,0.37242e+00_rb,0.42924e+00_rb,0.44467e+00_rb,0.36481e+00_rb /) kbo(:, 1,14,10) = (/ & & 0.20433e+00_rb,0.32280e+00_rb,0.38114e+00_rb,0.39530e+00_rb,0.30987e+00_rb /) kbo(:, 2,14,10) = (/ & & 0.20812e+00_rb,0.32580e+00_rb,0.38400e+00_rb,0.40099e+00_rb,0.31521e+00_rb /) kbo(:, 3,14,10) = (/ & & 0.21260e+00_rb,0.33207e+00_rb,0.38794e+00_rb,0.40573e+00_rb,0.32135e+00_rb /) kbo(:, 4,14,10) = (/ & & 0.21971e+00_rb,0.33857e+00_rb,0.39426e+00_rb,0.40959e+00_rb,0.32811e+00_rb /) kbo(:, 5,14,10) = (/ & & 0.22862e+00_rb,0.34522e+00_rb,0.40235e+00_rb,0.41376e+00_rb,0.33439e+00_rb /) kbo(:, 1,15,10) = (/ & & 0.17974e+00_rb,0.29385e+00_rb,0.34710e+00_rb,0.36214e+00_rb,0.27698e+00_rb /) kbo(:, 2,15,10) = (/ & & 0.18361e+00_rb,0.29985e+00_rb,0.35176e+00_rb,0.36835e+00_rb,0.28361e+00_rb /) kbo(:, 3,15,10) = (/ & & 0.19011e+00_rb,0.30650e+00_rb,0.35844e+00_rb,0.37336e+00_rb,0.29140e+00_rb /) kbo(:, 4,15,10) = (/ & & 0.19870e+00_rb,0.31340e+00_rb,0.36676e+00_rb,0.37856e+00_rb,0.29913e+00_rb /) kbo(:, 5,15,10) = (/ & & 0.20713e+00_rb,0.32067e+00_rb,0.37517e+00_rb,0.38452e+00_rb,0.30673e+00_rb /) kbo(:, 1,16,10) = (/ & & 0.15768e+00_rb,0.26909e+00_rb,0.31566e+00_rb,0.32905e+00_rb,0.24795e+00_rb /) kbo(:, 2,16,10) = (/ & & 0.16341e+00_rb,0.27579e+00_rb,0.32257e+00_rb,0.33542e+00_rb,0.25593e+00_rb /) kbo(:, 3,16,10) = (/ & & 0.17143e+00_rb,0.28283e+00_rb,0.33152e+00_rb,0.34164e+00_rb,0.26468e+00_rb /) kbo(:, 4,16,10) = (/ & & 0.17943e+00_rb,0.29026e+00_rb,0.34054e+00_rb,0.34897e+00_rb,0.27328e+00_rb /) kbo(:, 5,16,10) = (/ & & 0.18690e+00_rb,0.29935e+00_rb,0.34954e+00_rb,0.35767e+00_rb,0.28225e+00_rb /) kbo(:, 1,17,10) = (/ & & 0.13875e+00_rb,0.24652e+00_rb,0.28696e+00_rb,0.29693e+00_rb,0.22321e+00_rb /) kbo(:, 2,17,10) = (/ & & 0.14611e+00_rb,0.25366e+00_rb,0.29630e+00_rb,0.30411e+00_rb,0.23216e+00_rb /) kbo(:, 3,17,10) = (/ & & 0.15377e+00_rb,0.26122e+00_rb,0.30597e+00_rb,0.31229e+00_rb,0.24127e+00_rb /) kbo(:, 4,17,10) = (/ & & 0.16099e+00_rb,0.27029e+00_rb,0.31565e+00_rb,0.32218e+00_rb,0.25077e+00_rb /) kbo(:, 5,17,10) = (/ & & 0.16791e+00_rb,0.28100e+00_rb,0.32533e+00_rb,0.33316e+00_rb,0.26091e+00_rb /) kbo(:, 1,18,10) = (/ & & 0.12258e+00_rb,0.22568e+00_rb,0.26154e+00_rb,0.26746e+00_rb,0.20208e+00_rb /) kbo(:, 2,18,10) = (/ & & 0.12972e+00_rb,0.23340e+00_rb,0.27183e+00_rb,0.27607e+00_rb,0.21144e+00_rb /) kbo(:, 3,18,10) = (/ & & 0.13673e+00_rb,0.24228e+00_rb,0.28202e+00_rb,0.28661e+00_rb,0.22093e+00_rb /) kbo(:, 4,18,10) = (/ & & 0.14352e+00_rb,0.25285e+00_rb,0.29256e+00_rb,0.29859e+00_rb,0.23121e+00_rb /) kbo(:, 5,18,10) = (/ & & 0.14999e+00_rb,0.26447e+00_rb,0.30340e+00_rb,0.31163e+00_rb,0.24203e+00_rb /) kbo(:, 1,19,10) = (/ & & 0.10785e+00_rb,0.20667e+00_rb,0.23879e+00_rb,0.24194e+00_rb,0.18368e+00_rb /) kbo(:, 2,19,10) = (/ & & 0.11429e+00_rb,0.21546e+00_rb,0.24926e+00_rb,0.25235e+00_rb,0.19325e+00_rb /) kbo(:, 3,19,10) = (/ & & 0.12064e+00_rb,0.22577e+00_rb,0.26022e+00_rb,0.26472e+00_rb,0.20338e+00_rb /) kbo(:, 4,19,10) = (/ & & 0.12700e+00_rb,0.23751e+00_rb,0.27175e+00_rb,0.27823e+00_rb,0.21416e+00_rb /) kbo(:, 5,19,10) = (/ & & 0.13335e+00_rb,0.24924e+00_rb,0.28423e+00_rb,0.29239e+00_rb,0.22548e+00_rb /) kbo(:, 1,20,10) = (/ & & 0.94314e-01_rb,0.18969e+00_rb,0.21843e+00_rb,0.22089e+00_rb,0.16767e+00_rb /) kbo(:, 2,20,10) = (/ & & 0.10011e+00_rb,0.20009e+00_rb,0.22938e+00_rb,0.23290e+00_rb,0.17759e+00_rb /) kbo(:, 3,20,10) = (/ & & 0.10602e+00_rb,0.21171e+00_rb,0.24114e+00_rb,0.24650e+00_rb,0.18815e+00_rb /) kbo(:, 4,20,10) = (/ & & 0.11212e+00_rb,0.22366e+00_rb,0.25410e+00_rb,0.26076e+00_rb,0.19951e+00_rb /) kbo(:, 5,20,10) = (/ & & 0.11820e+00_rb,0.23566e+00_rb,0.26816e+00_rb,0.27572e+00_rb,0.21140e+00_rb /) kbo(:, 1,21,10) = (/ & & 0.82096e-01_rb,0.17498e+00_rb,0.20057e+00_rb,0.20349e+00_rb,0.15368e+00_rb /) kbo(:, 2,21,10) = (/ & & 0.87376e-01_rb,0.18671e+00_rb,0.21217e+00_rb,0.21678e+00_rb,0.16394e+00_rb /) kbo(:, 3,21,10) = (/ & & 0.92996e-01_rb,0.19901e+00_rb,0.22527e+00_rb,0.23088e+00_rb,0.17505e+00_rb /) kbo(:, 4,21,10) = (/ & & 0.98752e-01_rb,0.21131e+00_rb,0.23942e+00_rb,0.24575e+00_rb,0.18685e+00_rb /) kbo(:, 5,21,10) = (/ & & 0.10451e+00_rb,0.22356e+00_rb,0.25490e+00_rb,0.26152e+00_rb,0.19924e+00_rb /) kbo(:, 1,22,10) = (/ & & 0.71578e-01_rb,0.16309e+00_rb,0.18609e+00_rb,0.19018e+00_rb,0.14217e+00_rb /) kbo(:, 2,22,10) = (/ & & 0.76626e-01_rb,0.17564e+00_rb,0.19884e+00_rb,0.20398e+00_rb,0.15291e+00_rb /) kbo(:, 3,22,10) = (/ & & 0.81885e-01_rb,0.18840e+00_rb,0.21309e+00_rb,0.21858e+00_rb,0.16461e+00_rb /) kbo(:, 4,22,10) = (/ & & 0.87223e-01_rb,0.20113e+00_rb,0.22859e+00_rb,0.23430e+00_rb,0.17688e+00_rb /) kbo(:, 5,22,10) = (/ & & 0.92500e-01_rb,0.21374e+00_rb,0.24532e+00_rb,0.25104e+00_rb,0.18976e+00_rb /) kbo(:, 1,23,10) = (/ & & 0.62506e-01_rb,0.15298e+00_rb,0.17442e+00_rb,0.17913e+00_rb,0.13258e+00_rb /) kbo(:, 2,23,10) = (/ & & 0.67194e-01_rb,0.16597e+00_rb,0.18829e+00_rb,0.19340e+00_rb,0.14391e+00_rb /) kbo(:, 3,23,10) = (/ & & 0.72099e-01_rb,0.17922e+00_rb,0.20360e+00_rb,0.20869e+00_rb,0.15600e+00_rb /) kbo(:, 4,23,10) = (/ & & 0.77023e-01_rb,0.19243e+00_rb,0.22032e+00_rb,0.22532e+00_rb,0.16873e+00_rb /) kbo(:, 5,23,10) = (/ & & 0.81629e-01_rb,0.20537e+00_rb,0.23792e+00_rb,0.24291e+00_rb,0.18203e+00_rb /) kbo(:, 1,24,10) = (/ & & 0.54705e-01_rb,0.14435e+00_rb,0.16539e+00_rb,0.17004e+00_rb,0.12479e+00_rb /) kbo(:, 2,24,10) = (/ & & 0.59055e-01_rb,0.15781e+00_rb,0.18024e+00_rb,0.18505e+00_rb,0.13663e+00_rb /) kbo(:, 3,24,10) = (/ & & 0.63456e-01_rb,0.17157e+00_rb,0.19662e+00_rb,0.20113e+00_rb,0.14915e+00_rb /) kbo(:, 4,24,10) = (/ & & 0.67778e-01_rb,0.18520e+00_rb,0.21409e+00_rb,0.21860e+00_rb,0.16222e+00_rb /) kbo(:, 5,24,10) = (/ & & 0.71741e-01_rb,0.19852e+00_rb,0.23252e+00_rb,0.23726e+00_rb,0.17594e+00_rb /) kbo(:, 1,25,10) = (/ & & 0.47972e-01_rb,0.13725e+00_rb,0.15860e+00_rb,0.16297e+00_rb,0.11866e+00_rb /) kbo(:, 2,25,10) = (/ & & 0.51893e-01_rb,0.15121e+00_rb,0.17443e+00_rb,0.17877e+00_rb,0.13085e+00_rb /) kbo(:, 3,25,10) = (/ & & 0.55832e-01_rb,0.16535e+00_rb,0.19157e+00_rb,0.19578e+00_rb,0.14380e+00_rb /) kbo(:, 4,25,10) = (/ & & 0.59570e-01_rb,0.17943e+00_rb,0.20993e+00_rb,0.21423e+00_rb,0.15728e+00_rb /) kbo(:, 5,25,10) = (/ & & 0.62996e-01_rb,0.19323e+00_rb,0.22909e+00_rb,0.23401e+00_rb,0.17147e+00_rb /) kbo(:, 1,26,10) = (/ & & 0.42166e-01_rb,0.13173e+00_rb,0.15395e+00_rb,0.15801e+00_rb,0.11401e+00_rb /) kbo(:, 2,26,10) = (/ & & 0.45660e-01_rb,0.14616e+00_rb,0.17062e+00_rb,0.17468e+00_rb,0.12664e+00_rb /) kbo(:, 3,26,10) = (/ & & 0.49079e-01_rb,0.16071e+00_rb,0.18859e+00_rb,0.19278e+00_rb,0.14002e+00_rb /) kbo(:, 4,26,10) = (/ & & 0.52306e-01_rb,0.17521e+00_rb,0.20782e+00_rb,0.21223e+00_rb,0.15402e+00_rb /) kbo(:, 5,26,10) = (/ & & 0.55285e-01_rb,0.18955e+00_rb,0.22765e+00_rb,0.23299e+00_rb,0.16864e+00_rb /) kbo(:, 1,27,10) = (/ & & 0.37040e-01_rb,0.12755e+00_rb,0.15088e+00_rb,0.15474e+00_rb,0.11059e+00_rb /) kbo(:, 2,27,10) = (/ & & 0.40121e-01_rb,0.14241e+00_rb,0.16845e+00_rb,0.17243e+00_rb,0.12369e+00_rb /) kbo(:, 3,27,10) = (/ & & 0.43101e-01_rb,0.15742e+00_rb,0.18726e+00_rb,0.19156e+00_rb,0.13753e+00_rb /) kbo(:, 4,27,10) = (/ & & 0.45931e-01_rb,0.17241e+00_rb,0.20722e+00_rb,0.21200e+00_rb,0.15204e+00_rb /) kbo(:, 5,27,10) = (/ & & 0.48598e-01_rb,0.18733e+00_rb,0.22772e+00_rb,0.23361e+00_rb,0.16711e+00_rb /) kbo(:, 1,28,10) = (/ & & 0.32582e-01_rb,0.12457e+00_rb,0.14931e+00_rb,0.15310e+00_rb,0.10829e+00_rb /) kbo(:, 2,28,10) = (/ & & 0.35269e-01_rb,0.13987e+00_rb,0.16776e+00_rb,0.17185e+00_rb,0.12185e+00_rb /) kbo(:, 3,28,10) = (/ & & 0.37905e-01_rb,0.15538e+00_rb,0.18740e+00_rb,0.19192e+00_rb,0.13621e+00_rb /) kbo(:, 4,28,10) = (/ & & 0.40411e-01_rb,0.17101e+00_rb,0.20797e+00_rb,0.21319e+00_rb,0.15122e+00_rb /) kbo(:, 5,28,10) = (/ & & 0.42843e-01_rb,0.18643e+00_rb,0.22906e+00_rb,0.23551e+00_rb,0.16683e+00_rb /) kbo(:, 1,29,10) = (/ & & 0.28694e-01_rb,0.12285e+00_rb,0.14922e+00_rb,0.15309e+00_rb,0.10715e+00_rb /) kbo(:, 2,29,10) = (/ & & 0.31078e-01_rb,0.13867e+00_rb,0.16851e+00_rb,0.17281e+00_rb,0.12115e+00_rb /) kbo(:, 3,29,10) = (/ & & 0.33398e-01_rb,0.15475e+00_rb,0.18886e+00_rb,0.19373e+00_rb,0.13609e+00_rb /) kbo(:, 4,29,10) = (/ & & 0.35655e-01_rb,0.17087e+00_rb,0.21002e+00_rb,0.21569e+00_rb,0.15161e+00_rb /) kbo(:, 5,29,10) = (/ & & 0.37934e-01_rb,0.18672e+00_rb,0.23156e+00_rb,0.23855e+00_rb,0.16767e+00_rb /) kbo(:, 1,30,10) = (/ & & 0.25318e-01_rb,0.12223e+00_rb,0.15038e+00_rb,0.15442e+00_rb,0.10692e+00_rb /) kbo(:, 2,30,10) = (/ & & 0.27416e-01_rb,0.13863e+00_rb,0.17040e+00_rb,0.17493e+00_rb,0.12146e+00_rb /) kbo(:, 3,30,10) = (/ & & 0.29487e-01_rb,0.15524e+00_rb,0.19136e+00_rb,0.19656e+00_rb,0.13693e+00_rb /) kbo(:, 4,30,10) = (/ & & 0.31585e-01_rb,0.17178e+00_rb,0.21298e+00_rb,0.21911e+00_rb,0.15294e+00_rb /) kbo(:, 5,30,10) = (/ & & 0.33743e-01_rb,0.18794e+00_rb,0.23489e+00_rb,0.24234e+00_rb,0.16937e+00_rb /) kbo(:, 1,31,10) = (/ & & 0.22384e-01_rb,0.12276e+00_rb,0.15268e+00_rb,0.15694e+00_rb,0.10764e+00_rb /) kbo(:, 2,31,10) = (/ & & 0.24241e-01_rb,0.13972e+00_rb,0.17333e+00_rb,0.17809e+00_rb,0.12275e+00_rb /) kbo(:, 3,31,10) = (/ & & 0.26155e-01_rb,0.15678e+00_rb,0.19481e+00_rb,0.20028e+00_rb,0.13870e+00_rb /) kbo(:, 4,31,10) = (/ & & 0.28119e-01_rb,0.17362e+00_rb,0.21675e+00_rb,0.22330e+00_rb,0.15510e+00_rb /) kbo(:, 5,31,10) = (/ & & 0.30218e-01_rb,0.19000e+00_rb,0.23891e+00_rb,0.24680e+00_rb,0.17182e+00_rb /) kbo(:, 1,32,10) = (/ & & 0.19818e-01_rb,0.12431e+00_rb,0.15590e+00_rb,0.16037e+00_rb,0.10919e+00_rb /) kbo(:, 2,32,10) = (/ & & 0.21499e-01_rb,0.14174e+00_rb,0.17710e+00_rb,0.18207e+00_rb,0.12484e+00_rb /) kbo(:, 3,32,10) = (/ & & 0.23289e-01_rb,0.15910e+00_rb,0.19892e+00_rb,0.20468e+00_rb,0.14116e+00_rb /) kbo(:, 4,32,10) = (/ & & 0.25197e-01_rb,0.17612e+00_rb,0.22110e+00_rb,0.22808e+00_rb,0.15787e+00_rb /) kbo(:, 5,32,10) = (/ & & 0.27257e-01_rb,0.19267e+00_rb,0.24341e+00_rb,0.25172e+00_rb,0.17483e+00_rb /) kbo(:, 1,33,10) = (/ & & 0.17588e-01_rb,0.12670e+00_rb,0.15984e+00_rb,0.16448e+00_rb,0.11147e+00_rb /) kbo(:, 2,33,10) = (/ & & 0.19157e-01_rb,0.14450e+00_rb,0.18143e+00_rb,0.18665e+00_rb,0.12758e+00_rb /) kbo(:, 3,33,10) = (/ & & 0.20859e-01_rb,0.16204e+00_rb,0.20353e+00_rb,0.20957e+00_rb,0.14421e+00_rb /) kbo(:, 4,33,10) = (/ & & 0.22735e-01_rb,0.17915e+00_rb,0.22585e+00_rb,0.23324e+00_rb,0.16113e+00_rb /) kbo(:, 5,33,10) = (/ & & 0.24799e-01_rb,0.19574e+00_rb,0.24826e+00_rb,0.25697e+00_rb,0.17829e+00_rb /) kbo(:, 1,34,10) = (/ & & 0.15617e-01_rb,0.12913e+00_rb,0.16354e+00_rb,0.16830e+00_rb,0.11378e+00_rb /) kbo(:, 2,34,10) = (/ & & 0.17096e-01_rb,0.14716e+00_rb,0.18538e+00_rb,0.19084e+00_rb,0.13021e+00_rb /) kbo(:, 3,34,10) = (/ & & 0.18753e-01_rb,0.16482e+00_rb,0.20769e+00_rb,0.21402e+00_rb,0.14705e+00_rb /) kbo(:, 4,34,10) = (/ & & 0.20625e-01_rb,0.18194e+00_rb,0.23012e+00_rb,0.23784e+00_rb,0.16411e+00_rb /) kbo(:, 5,34,10) = (/ & & 0.22709e-01_rb,0.19848e+00_rb,0.25256e+00_rb,0.26160e+00_rb,0.18143e+00_rb /) kbo(:, 1,35,10) = (/ & & 0.13789e-01_rb,0.13026e+00_rb,0.16543e+00_rb,0.17032e+00_rb,0.11490e+00_rb /) kbo(:, 2,35,10) = (/ & & 0.15216e-01_rb,0.14846e+00_rb,0.18743e+00_rb,0.19307e+00_rb,0.13153e+00_rb /) kbo(:, 3,35,10) = (/ & & 0.16842e-01_rb,0.16621e+00_rb,0.20987e+00_rb,0.21641e+00_rb,0.14851e+00_rb /) kbo(:, 4,35,10) = (/ & & 0.18686e-01_rb,0.18333e+00_rb,0.23239e+00_rb,0.24032e+00_rb,0.16565e+00_rb /) kbo(:, 5,35,10) = (/ & & 0.20799e-01_rb,0.19983e+00_rb,0.25487e+00_rb,0.26409e+00_rb,0.18307e+00_rb /) kbo(:, 1,36,10) = (/ & & 0.12099e-01_rb,0.12969e+00_rb,0.16517e+00_rb,0.17011e+00_rb,0.11448e+00_rb /) kbo(:, 2,36,10) = (/ & & 0.13456e-01_rb,0.14803e+00_rb,0.18723e+00_rb,0.19293e+00_rb,0.13120e+00_rb /) kbo(:, 3,36,10) = (/ & & 0.15032e-01_rb,0.16587e+00_rb,0.20973e+00_rb,0.21635e+00_rb,0.14826e+00_rb /) kbo(:, 4,36,10) = (/ & & 0.16854e-01_rb,0.18305e+00_rb,0.23232e+00_rb,0.24032e+00_rb,0.16546e+00_rb /) kbo(:, 5,36,10) = (/ & & 0.18993e-01_rb,0.19959e+00_rb,0.25485e+00_rb,0.26414e+00_rb,0.18292e+00_rb /) kbo(:, 1,37,10) = (/ & & 0.10461e-01_rb,0.12652e+00_rb,0.16173e+00_rb,0.16663e+00_rb,0.11173e+00_rb /) kbo(:, 2,37,10) = (/ & & 0.11729e-01_rb,0.14498e+00_rb,0.18379e+00_rb,0.18940e+00_rb,0.12844e+00_rb /) kbo(:, 3,37,10) = (/ & & 0.13230e-01_rb,0.16298e+00_rb,0.20628e+00_rb,0.21278e+00_rb,0.14553e+00_rb /) kbo(:, 4,37,10) = (/ & & 0.15005e-01_rb,0.18033e+00_rb,0.22891e+00_rb,0.23679e+00_rb,0.16275e+00_rb /) kbo(:, 5,37,10) = (/ & & 0.17126e-01_rb,0.19699e+00_rb,0.25151e+00_rb,0.26065e+00_rb,0.18019e+00_rb /) kbo(:, 1,38,10) = (/ & & 0.90496e-02_rb,0.12333e+00_rb,0.15823e+00_rb,0.16307e+00_rb,0.10897e+00_rb /) kbo(:, 2,38,10) = (/ & & 0.10227e-01_rb,0.14188e+00_rb,0.18026e+00_rb,0.18578e+00_rb,0.12565e+00_rb /) kbo(:, 3,38,10) = (/ & & 0.11665e-01_rb,0.16002e+00_rb,0.20273e+00_rb,0.20911e+00_rb,0.14274e+00_rb /) kbo(:, 4,38,10) = (/ & & 0.13392e-01_rb,0.17754e+00_rb,0.22537e+00_rb,0.23309e+00_rb,0.15996e+00_rb /) kbo(:, 5,38,10) = (/ & & 0.15506e-01_rb,0.19433e+00_rb,0.24804e+00_rb,0.25702e+00_rb,0.17741e+00_rb /) kbo(:, 1,39,10) = (/ & & 0.78338e-02_rb,0.12027e+00_rb,0.15482e+00_rb,0.15961e+00_rb,0.10632e+00_rb /) kbo(:, 2,39,10) = (/ & & 0.89378e-02_rb,0.13888e+00_rb,0.17682e+00_rb,0.18224e+00_rb,0.12295e+00_rb /) kbo(:, 3,39,10) = (/ & & 0.10310e-01_rb,0.15714e+00_rb,0.19926e+00_rb,0.20553e+00_rb,0.14003e+00_rb /) kbo(:, 4,39,10) = (/ & & 0.12002e-01_rb,0.17480e+00_rb,0.22192e+00_rb,0.22947e+00_rb,0.15725e+00_rb /) kbo(:, 5,39,10) = (/ & & 0.14105e-01_rb,0.19172e+00_rb,0.24464e+00_rb,0.25344e+00_rb,0.17470e+00_rb /) kbo(:, 1,40,10) = (/ & & 0.66914e-02_rb,0.11542e+00_rb,0.14925e+00_rb,0.15395e+00_rb,0.10210e+00_rb /) kbo(:, 2,40,10) = (/ & & 0.77047e-02_rb,0.13403e+00_rb,0.17118e+00_rb,0.17643e+00_rb,0.11860e+00_rb /) kbo(:, 3,40,10) = (/ & & 0.89835e-02_rb,0.15246e+00_rb,0.19353e+00_rb,0.19961e+00_rb,0.13564e+00_rb /) kbo(:, 4,40,10) = (/ & & 0.10606e-01_rb,0.17030e+00_rb,0.21619e+00_rb,0.22340e+00_rb,0.15283e+00_rb /) kbo(:, 5,40,10) = (/ & & 0.12648e-01_rb,0.18743e+00_rb,0.23893e+00_rb,0.24746e+00_rb,0.17023e+00_rb /) kbo(:, 1,41,10) = (/ & & 0.57043e-02_rb,0.11041e+00_rb,0.14350e+00_rb,0.14812e+00_rb,0.97770e-01_rb /) kbo(:, 2,41,10) = (/ & & 0.66329e-02_rb,0.12897e+00_rb,0.16532e+00_rb,0.17041e+00_rb,0.11409e+00_rb /) kbo(:, 3,41,10) = (/ & & 0.78105e-02_rb,0.14755e+00_rb,0.18757e+00_rb,0.19344e+00_rb,0.13104e+00_rb /) kbo(:, 4,41,10) = (/ & & 0.93536e-02_rb,0.16558e+00_rb,0.21020e+00_rb,0.21707e+00_rb,0.14824e+00_rb /) kbo(:, 5,41,10) = (/ & & 0.11328e-01_rb,0.18290e+00_rb,0.23295e+00_rb,0.24119e+00_rb,0.16557e+00_rb /) kbo(:, 1,42,10) = (/ & & 0.48607e-02_rb,0.10547e+00_rb,0.13783e+00_rb,0.14238e+00_rb,0.93542e-01_rb /) kbo(:, 2,42,10) = (/ & & 0.56953e-02_rb,0.12396e+00_rb,0.15948e+00_rb,0.16442e+00_rb,0.10965e+00_rb /) kbo(:, 3,42,10) = (/ & & 0.67857e-02_rb,0.14262e+00_rb,0.18165e+00_rb,0.18732e+00_rb,0.12648e+00_rb /) kbo(:, 4,42,10) = (/ & & 0.82516e-02_rb,0.16083e+00_rb,0.20424e+00_rb,0.21080e+00_rb,0.14367e+00_rb /) kbo(:, 5,42,10) = (/ & & 0.10149e-01_rb,0.17836e+00_rb,0.22696e+00_rb,0.23490e+00_rb,0.16095e+00_rb /) kbo(:, 1,43,10) = (/ & & 0.40934e-02_rb,0.99600e-01_rb,0.13106e+00_rb,0.13554e+00_rb,0.88531e-01_rb /) kbo(:, 2,43,10) = (/ & & 0.48473e-02_rb,0.11796e+00_rb,0.15249e+00_rb,0.15728e+00_rb,0.10438e+00_rb /) kbo(:, 3,43,10) = (/ & & 0.58407e-02_rb,0.13665e+00_rb,0.17453e+00_rb,0.17995e+00_rb,0.12102e+00_rb /) kbo(:, 4,43,10) = (/ & & 0.71922e-02_rb,0.15505e+00_rb,0.19702e+00_rb,0.20328e+00_rb,0.13817e+00_rb /) kbo(:, 5,43,10) = (/ & & 0.89819e-02_rb,0.17282e+00_rb,0.21974e+00_rb,0.22722e+00_rb,0.15541e+00_rb /) kbo(:, 1,44,10) = (/ & & 0.34279e-02_rb,0.93376e-01_rb,0.12386e+00_rb,0.12828e+00_rb,0.83256e-01_rb /) kbo(:, 2,44,10) = (/ & & 0.40981e-02_rb,0.11153e+00_rb,0.14501e+00_rb,0.14969e+00_rb,0.98786e-01_rb /) kbo(:, 3,44,10) = (/ & & 0.49801e-02_rb,0.13017e+00_rb,0.16691e+00_rb,0.17209e+00_rb,0.11523e+00_rb /) kbo(:, 4,44,10) = (/ & & 0.62140e-02_rb,0.14877e+00_rb,0.18924e+00_rb,0.19525e+00_rb,0.13223e+00_rb /) kbo(:, 5,44,10) = (/ & & 0.78865e-02_rb,0.16678e+00_rb,0.21196e+00_rb,0.21896e+00_rb,0.14947e+00_rb /) kbo(:, 1,45,10) = (/ & & 0.28724e-02_rb,0.87295e-01_rb,0.11671e+00_rb,0.12114e+00_rb,0.78089e-01_rb /) kbo(:, 2,45,10) = (/ & & 0.34468e-02_rb,0.10517e+00_rb,0.13765e+00_rb,0.14225e+00_rb,0.93322e-01_rb /) kbo(:, 3,45,10) = (/ & & 0.42450e-02_rb,0.12371e+00_rb,0.15937e+00_rb,0.16431e+00_rb,0.10950e+00_rb /) kbo(:, 4,45,10) = (/ & & 0.53608e-02_rb,0.14242e+00_rb,0.18156e+00_rb,0.18727e+00_rb,0.12633e+00_rb /) kbo(:, 5,45,10) = (/ & & 0.69069e-02_rb,0.16067e+00_rb,0.20420e+00_rb,0.21079e+00_rb,0.14356e+00_rb /) kbo(:, 1,46,10) = (/ & & 0.23836e-02_rb,0.81023e-01_rb,0.10917e+00_rb,0.11375e+00_rb,0.72722e-01_rb /) kbo(:, 2,46,10) = (/ & & 0.28929e-02_rb,0.98528e-01_rb,0.12997e+00_rb,0.13446e+00_rb,0.87653e-01_rb /) kbo(:, 3,46,10) = (/ & & 0.35850e-02_rb,0.11690e+00_rb,0.15139e+00_rb,0.15617e+00_rb,0.10350e+00_rb /) kbo(:, 4,46,10) = (/ & & 0.45850e-02_rb,0.13564e+00_rb,0.17345e+00_rb,0.17887e+00_rb,0.12014e+00_rb /) kbo(:, 5,46,10) = (/ & & 0.59899e-02_rb,0.15409e+00_rb,0.19595e+00_rb,0.20220e+00_rb,0.13729e+00_rb /) kbo(:, 1,47,10) = (/ & & 0.19470e-02_rb,0.74238e-01_rb,0.10082e+00_rb,0.10569e+00_rb,0.66936e-01_rb /) kbo(:, 2,47,10) = (/ & & 0.23890e-02_rb,0.91244e-01_rb,0.12148e+00_rb,0.12591e+00_rb,0.81479e-01_rb /) kbo(:, 3,47,10) = (/ & & 0.29827e-02_rb,0.10934e+00_rb,0.14258e+00_rb,0.14724e+00_rb,0.96940e-01_rb /) kbo(:, 4,47,10) = (/ & & 0.38583e-02_rb,0.12800e+00_rb,0.16447e+00_rb,0.16958e+00_rb,0.11333e+00_rb /) kbo(:, 5,47,10) = (/ & & 0.51142e-02_rb,0.14666e+00_rb,0.18678e+00_rb,0.19270e+00_rb,0.13028e+00_rb /) kbo(:, 1,48,10) = (/ & & 0.15861e-02_rb,0.67739e-01_rb,0.92637e-01_rb,0.97854e-01_rb,0.61349e-01_rb /) kbo(:, 2,48,10) = (/ & & 0.19649e-02_rb,0.84157e-01_rb,0.11305e+00_rb,0.11755e+00_rb,0.75432e-01_rb /) kbo(:, 3,48,10) = (/ & & 0.24852e-02_rb,0.10189e+00_rb,0.13395e+00_rb,0.13849e+00_rb,0.90556e-01_rb /) kbo(:, 4,48,10) = (/ & & 0.32371e-02_rb,0.12039e+00_rb,0.15554e+00_rb,0.16041e+00_rb,0.10658e+00_rb /) kbo(:, 5,48,10) = (/ & & 0.43439e-02_rb,0.13914e+00_rb,0.17770e+00_rb,0.18327e+00_rb,0.12334e+00_rb /) kbo(:, 1,49,10) = (/ & & 0.12857e-02_rb,0.61441e-01_rb,0.84638e-01_rb,0.90184e-01_rb,0.55928e-01_rb /) kbo(:, 2,49,10) = (/ & & 0.16127e-02_rb,0.77337e-01_rb,0.10472e+00_rb,0.10945e+00_rb,0.69577e-01_rb /) kbo(:, 3,49,10) = (/ & & 0.20537e-02_rb,0.94575e-01_rb,0.12545e+00_rb,0.12989e+00_rb,0.84331e-01_rb /) kbo(:, 4,49,10) = (/ & & 0.26910e-02_rb,0.11284e+00_rb,0.14670e+00_rb,0.15143e+00_rb,0.99981e-01_rb /) kbo(:, 5,49,10) = (/ & & 0.36640e-02_rb,0.13156e+00_rb,0.16870e+00_rb,0.17395e+00_rb,0.11651e+00_rb /) kbo(:, 1,50,10) = (/ & & 0.10457e-02_rb,0.55773e-01_rb,0.77388e-01_rb,0.83215e-01_rb,0.51035e-01_rb /) kbo(:, 2,50,10) = (/ & & 0.13145e-02_rb,0.71139e-01_rb,0.96987e-01_rb,0.10202e+00_rb,0.64279e-01_rb /) kbo(:, 3,50,10) = (/ & & 0.17051e-02_rb,0.87902e-01_rb,0.11756e+00_rb,0.12199e+00_rb,0.78626e-01_rb /) kbo(:, 4,50,10) = (/ & & 0.22648e-02_rb,0.10582e+00_rb,0.13854e+00_rb,0.14317e+00_rb,0.93933e-01_rb /) kbo(:, 5,50,10) = (/ & & 0.31061e-02_rb,0.12442e+00_rb,0.16033e+00_rb,0.16532e+00_rb,0.11017e+00_rb /) kbo(:, 1,51,10) = (/ & & 0.84549e-03_rb,0.50472e-01_rb,0.70528e-01_rb,0.76615e-01_rb,0.46420e-01_rb /) kbo(:, 2,51,10) = (/ & & 0.10690e-02_rb,0.65329e-01_rb,0.89631e-01_rb,0.94967e-01_rb,0.59271e-01_rb /) kbo(:, 3,51,10) = (/ & & 0.14006e-02_rb,0.81572e-01_rb,0.10994e+00_rb,0.11450e+00_rb,0.73207e-01_rb /) kbo(:, 4,51,10) = (/ & & 0.18893e-02_rb,0.99123e-01_rb,0.13077e+00_rb,0.13529e+00_rb,0.88203e-01_rb /) kbo(:, 5,51,10) = (/ & & 0.26211e-02_rb,0.11756e+00_rb,0.15226e+00_rb,0.15707e+00_rb,0.10410e+00_rb /) kbo(:, 1,52,10) = (/ & & 0.67948e-03_rb,0.45452e-01_rb,0.63925e-01_rb,0.70191e-01_rb,0.41984e-01_rb /) kbo(:, 2,52,10) = (/ & & 0.86532e-03_rb,0.59697e-01_rb,0.82454e-01_rb,0.88085e-01_rb,0.54427e-01_rb /) kbo(:, 3,52,10) = (/ & & 0.11431e-02_rb,0.75434e-01_rb,0.10239e+00_rb,0.10721e+00_rb,0.67964e-01_rb /) kbo(:, 4,52,10) = (/ & & 0.15771e-02_rb,0.92585e-01_rb,0.12313e+00_rb,0.12757e+00_rb,0.82618e-01_rb /) kbo(:, 5,52,10) = (/ & & 0.22169e-02_rb,0.11074e+00_rb,0.14429e+00_rb,0.14899e+00_rb,0.98166e-01_rb /) kbo(:, 1,53,10) = (/ & & 0.54404e-03_rb,0.40689e-01_rb,0.57565e-01_rb,0.63870e-01_rb,0.37709e-01_rb /) kbo(:, 2,53,10) = (/ & & 0.69516e-03_rb,0.54249e-01_rb,0.75469e-01_rb,0.81366e-01_rb,0.49728e-01_rb /) kbo(:, 3,53,10) = (/ & & 0.92495e-03_rb,0.69505e-01_rb,0.94951e-01_rb,0.10007e+00_rb,0.62880e-01_rb /) kbo(:, 4,53,10) = (/ & & 0.12935e-02_rb,0.86139e-01_rb,0.11548e+00_rb,0.11993e+00_rb,0.77126e-01_rb /) kbo(:, 5,53,10) = (/ & & 0.18603e-02_rb,0.10397e+00_rb,0.13641e+00_rb,0.14102e+00_rb,0.92352e-01_rb /) kbo(:, 1,54,10) = (/ & & 0.43618e-03_rb,0.36557e-01_rb,0.51984e-01_rb,0.58236e-01_rb,0.33960e-01_rb /) kbo(:, 2,54,10) = (/ & & 0.56166e-03_rb,0.49456e-01_rb,0.69241e-01_rb,0.75371e-01_rb,0.45540e-01_rb /) kbo(:, 3,54,10) = (/ & & 0.75035e-03_rb,0.64217e-01_rb,0.88252e-01_rb,0.93648e-01_rb,0.58325e-01_rb /) kbo(:, 4,54,10) = (/ & & 0.10628e-02_rb,0.80385e-01_rb,0.10853e+00_rb,0.11313e+00_rb,0.72201e-01_rb /) kbo(:, 5,54,10) = (/ & & 0.15600e-02_rb,0.97867e-01_rb,0.12933e+00_rb,0.13384e+00_rb,0.87138e-01_rb /) kbo(:, 1,55,10) = (/ & & 0.34930e-03_rb,0.32793e-01_rb,0.46881e-01_rb,0.52981e-01_rb,0.30517e-01_rb /) kbo(:, 2,55,10) = (/ & & 0.45330e-03_rb,0.45087e-01_rb,0.63469e-01_rb,0.69744e-01_rb,0.41669e-01_rb /) kbo(:, 3,55,10) = (/ & & 0.61016e-03_rb,0.59300e-01_rb,0.81969e-01_rb,0.87622e-01_rb,0.54097e-01_rb /) kbo(:, 4,55,10) = (/ & & 0.87186e-03_rb,0.75017e-01_rb,0.10190e+00_rb,0.10674e+00_rb,0.67613e-01_rb /) kbo(:, 5,55,10) = (/ & & 0.13255e-02_rb,0.92144e-01_rb,0.12263e+00_rb,0.12707e+00_rb,0.82251e-01_rb /) kbo(:, 1,56,10) = (/ & & 0.27869e-03_rb,0.29255e-01_rb,0.42021e-01_rb,0.47895e-01_rb,0.27250e-01_rb /) kbo(:, 2,56,10) = (/ & & 0.36450e-03_rb,0.40920e-01_rb,0.57903e-01_rb,0.64209e-01_rb,0.37931e-01_rb /) kbo(:, 3,56,10) = (/ & & 0.49136e-03_rb,0.54534e-01_rb,0.75862e-01_rb,0.81747e-01_rb,0.49990e-01_rb /) kbo(:, 4,56,10) = (/ & & 0.71172e-03_rb,0.69828e-01_rb,0.95390e-01_rb,0.10049e+00_rb,0.63168e-01_rb /) kbo(:, 5,56,10) = (/ & & 0.11017e-02_rb,0.86502e-01_rb,0.11594e+00_rb,0.12039e+00_rb,0.77442e-01_rb /) kbo(:, 1,57,10) = (/ & & 0.22107e-03_rb,0.25925e-01_rb,0.37436e-01_rb,0.42992e-01_rb,0.24134e-01_rb /) kbo(:, 2,57,10) = (/ & & 0.29170e-03_rb,0.36963e-01_rb,0.52553e-01_rb,0.58819e-01_rb,0.34341e-01_rb /) kbo(:, 3,57,10) = (/ & & 0.39477e-03_rb,0.49943e-01_rb,0.69900e-01_rb,0.76011e-01_rb,0.45979e-01_rb /) kbo(:, 4,57,10) = (/ & & 0.57598e-03_rb,0.64771e-01_rb,0.88986e-01_rb,0.94351e-01_rb,0.58814e-01_rb /) kbo(:, 5,57,10) = (/ & & 0.90995e-03_rb,0.80998e-01_rb,0.10929e+00_rb,0.11387e+00_rb,0.72731e-01_rb /) kbo(:, 1,58,10) = (/ & & 0.17561e-03_rb,0.22952e-01_rb,0.33334e-01_rb,0.38531e-01_rb,0.21328e-01_rb /) kbo(:, 2,58,10) = (/ & & 0.23328e-03_rb,0.33378e-01_rb,0.47700e-01_rb,0.53835e-01_rb,0.31067e-01_rb /) kbo(:, 3,58,10) = (/ & & 0.31697e-03_rb,0.45784e-01_rb,0.64416e-01_rb,0.70683e-01_rb,0.42303e-01_rb /) kbo(:, 4,58,10) = (/ & & 0.46537e-03_rb,0.60108e-01_rb,0.83029e-01_rb,0.88636e-01_rb,0.54797e-01_rb /) kbo(:, 5,58,10) = (/ & & 0.74786e-03_rb,0.75908e-01_rb,0.10302e+00_rb,0.10782e+00_rb,0.68377e-01_rb /) kbo(:, 1,59,10) = (/ & & 0.14648e-03_rb,0.21806e-01_rb,0.31752e-01_rb,0.36796e-01_rb,0.20240e-01_rb /) kbo(:, 2,59,10) = (/ & & 0.19618e-03_rb,0.31995e-01_rb,0.45805e-01_rb,0.51875e-01_rb,0.29797e-01_rb /) kbo(:, 3,59,10) = (/ & & 0.27063e-03_rb,0.44166e-01_rb,0.62268e-01_rb,0.68564e-01_rb,0.40859e-01_rb /) kbo(:, 4,59,10) = (/ & & 0.40629e-03_rb,0.58271e-01_rb,0.80681e-01_rb,0.86380e-01_rb,0.53223e-01_rb /) kbo(:, 5,59,10) = (/ & & 0.67143e-03_rb,0.73904e-01_rb,0.10053e+00_rb,0.10542e+00_rb,0.66665e-01_rb /) kbo(:, 1,13,11) = (/ & & 0.43607e+00_rb,0.62808e+00_rb,0.71724e+00_rb,0.73315e+00_rb,0.60101e+00_rb /) kbo(:, 2,13,11) = (/ & & 0.43332e+00_rb,0.62604e+00_rb,0.71980e+00_rb,0.74002e+00_rb,0.61186e+00_rb /) kbo(:, 3,13,11) = (/ & & 0.43924e+00_rb,0.62431e+00_rb,0.72116e+00_rb,0.74635e+00_rb,0.62343e+00_rb /) kbo(:, 4,13,11) = (/ & & 0.44984e+00_rb,0.62482e+00_rb,0.72168e+00_rb,0.75298e+00_rb,0.63261e+00_rb /) kbo(:, 5,13,11) = (/ & & 0.46047e+00_rb,0.63112e+00_rb,0.72222e+00_rb,0.75987e+00_rb,0.64021e+00_rb /) kbo(:, 1,14,11) = (/ & & 0.38105e+00_rb,0.57533e+00_rb,0.67001e+00_rb,0.68808e+00_rb,0.55899e+00_rb /) kbo(:, 2,14,11) = (/ & & 0.38509e+00_rb,0.57518e+00_rb,0.67285e+00_rb,0.69660e+00_rb,0.57227e+00_rb /) kbo(:, 3,14,11) = (/ & & 0.39449e+00_rb,0.57649e+00_rb,0.67532e+00_rb,0.70510e+00_rb,0.58361e+00_rb /) kbo(:, 4,14,11) = (/ & & 0.40382e+00_rb,0.58297e+00_rb,0.67784e+00_rb,0.71417e+00_rb,0.59305e+00_rb /) kbo(:, 5,14,11) = (/ & & 0.41367e+00_rb,0.59430e+00_rb,0.68136e+00_rb,0.72200e+00_rb,0.60202e+00_rb /) kbo(:, 1,15,11) = (/ & & 0.33634e+00_rb,0.52577e+00_rb,0.62172e+00_rb,0.64383e+00_rb,0.51752e+00_rb /) kbo(:, 2,15,11) = (/ & & 0.34434e+00_rb,0.52795e+00_rb,0.62601e+00_rb,0.65389e+00_rb,0.53138e+00_rb /) kbo(:, 3,15,11) = (/ & & 0.35278e+00_rb,0.53440e+00_rb,0.63064e+00_rb,0.66483e+00_rb,0.54288e+00_rb /) kbo(:, 4,15,11) = (/ & & 0.36194e+00_rb,0.54564e+00_rb,0.63643e+00_rb,0.67473e+00_rb,0.55371e+00_rb /) kbo(:, 5,15,11) = (/ & & 0.37392e+00_rb,0.55836e+00_rb,0.64562e+00_rb,0.68317e+00_rb,0.56497e+00_rb /) kbo(:, 1,16,11) = (/ & & 0.29938e+00_rb,0.48063e+00_rb,0.57442e+00_rb,0.60090e+00_rb,0.47563e+00_rb /) kbo(:, 2,16,11) = (/ & & 0.30677e+00_rb,0.48684e+00_rb,0.58100e+00_rb,0.61362e+00_rb,0.49008e+00_rb /) kbo(:, 3,16,11) = (/ & & 0.31495e+00_rb,0.49797e+00_rb,0.58852e+00_rb,0.62578e+00_rb,0.50309e+00_rb /) kbo(:, 4,16,11) = (/ & & 0.32635e+00_rb,0.51101e+00_rb,0.59933e+00_rb,0.63613e+00_rb,0.51641e+00_rb /) kbo(:, 5,16,11) = (/ & & 0.34098e+00_rb,0.52383e+00_rb,0.61318e+00_rb,0.64534e+00_rb,0.52976e+00_rb /) kbo(:, 1,17,11) = (/ & & 0.26573e+00_rb,0.44123e+00_rb,0.53003e+00_rb,0.56054e+00_rb,0.43533e+00_rb /) kbo(:, 2,17,11) = (/ & & 0.27295e+00_rb,0.45155e+00_rb,0.53872e+00_rb,0.57479e+00_rb,0.45023e+00_rb /) kbo(:, 3,17,11) = (/ & & 0.28334e+00_rb,0.46499e+00_rb,0.55060e+00_rb,0.58775e+00_rb,0.46535e+00_rb /) kbo(:, 4,17,11) = (/ & & 0.29718e+00_rb,0.47854e+00_rb,0.56610e+00_rb,0.59925e+00_rb,0.48105e+00_rb /) kbo(:, 5,17,11) = (/ & & 0.31347e+00_rb,0.49215e+00_rb,0.58364e+00_rb,0.61031e+00_rb,0.49645e+00_rb /) kbo(:, 1,18,11) = (/ & & 0.23548e+00_rb,0.40722e+00_rb,0.48899e+00_rb,0.52175e+00_rb,0.39754e+00_rb /) kbo(:, 2,18,11) = (/ & & 0.24465e+00_rb,0.42091e+00_rb,0.50155e+00_rb,0.53754e+00_rb,0.41400e+00_rb /) kbo(:, 3,18,11) = (/ & & 0.25717e+00_rb,0.43494e+00_rb,0.51756e+00_rb,0.55168e+00_rb,0.43132e+00_rb /) kbo(:, 4,18,11) = (/ & & 0.27241e+00_rb,0.44915e+00_rb,0.53619e+00_rb,0.56524e+00_rb,0.44875e+00_rb /) kbo(:, 5,18,11) = (/ & & 0.28792e+00_rb,0.46398e+00_rb,0.55551e+00_rb,0.57930e+00_rb,0.46590e+00_rb /) kbo(:, 1,19,11) = (/ & & 0.20944e+00_rb,0.37826e+00_rb,0.45234e+00_rb,0.48406e+00_rb,0.36392e+00_rb /) kbo(:, 2,19,11) = (/ & & 0.22089e+00_rb,0.39288e+00_rb,0.46903e+00_rb,0.50178e+00_rb,0.38211e+00_rb /) kbo(:, 3,19,11) = (/ & & 0.23514e+00_rb,0.40761e+00_rb,0.48827e+00_rb,0.51821e+00_rb,0.40103e+00_rb /) kbo(:, 4,19,11) = (/ & & 0.24973e+00_rb,0.42303e+00_rb,0.50894e+00_rb,0.53472e+00_rb,0.42003e+00_rb /) kbo(:, 5,19,11) = (/ & & 0.26400e+00_rb,0.44033e+00_rb,0.52950e+00_rb,0.55236e+00_rb,0.43892e+00_rb /) kbo(:, 1,20,11) = (/ & & 0.18773e+00_rb,0.35288e+00_rb,0.42094e+00_rb,0.44918e+00_rb,0.33536e+00_rb /) kbo(:, 2,20,11) = (/ & & 0.20090e+00_rb,0.36792e+00_rb,0.44069e+00_rb,0.46887e+00_rb,0.35493e+00_rb /) kbo(:, 3,20,11) = (/ & & 0.21482e+00_rb,0.38362e+00_rb,0.46266e+00_rb,0.48831e+00_rb,0.37530e+00_rb /) kbo(:, 4,20,11) = (/ & & 0.22865e+00_rb,0.40117e+00_rb,0.48452e+00_rb,0.50881e+00_rb,0.39557e+00_rb /) kbo(:, 5,20,11) = (/ & & 0.24234e+00_rb,0.42087e+00_rb,0.50657e+00_rb,0.53012e+00_rb,0.41595e+00_rb /) kbo(:, 1,21,11) = (/ & & 0.16913e+00_rb,0.33019e+00_rb,0.39388e+00_rb,0.41795e+00_rb,0.31127e+00_rb /) kbo(:, 2,21,11) = (/ & & 0.18253e+00_rb,0.34600e+00_rb,0.41645e+00_rb,0.43947e+00_rb,0.33210e+00_rb /) kbo(:, 3,21,11) = (/ & & 0.19592e+00_rb,0.36350e+00_rb,0.43977e+00_rb,0.46279e+00_rb,0.35347e+00_rb /) kbo(:, 4,21,11) = (/ & & 0.20921e+00_rb,0.38317e+00_rb,0.46337e+00_rb,0.48719e+00_rb,0.37483e+00_rb /) kbo(:, 5,21,11) = (/ & & 0.22258e+00_rb,0.40476e+00_rb,0.48708e+00_rb,0.51206e+00_rb,0.39691e+00_rb /) kbo(:, 1,22,11) = (/ & & 0.15329e+00_rb,0.31121e+00_rb,0.37219e+00_rb,0.39211e+00_rb,0.29266e+00_rb /) kbo(:, 2,22,11) = (/ & & 0.16615e+00_rb,0.32878e+00_rb,0.39682e+00_rb,0.41672e+00_rb,0.31445e+00_rb /) kbo(:, 3,22,11) = (/ & & 0.17924e+00_rb,0.34835e+00_rb,0.42167e+00_rb,0.44342e+00_rb,0.33660e+00_rb /) kbo(:, 4,22,11) = (/ & & 0.19225e+00_rb,0.36990e+00_rb,0.44699e+00_rb,0.47133e+00_rb,0.35944e+00_rb /) kbo(:, 5,22,11) = (/ & & 0.20541e+00_rb,0.39323e+00_rb,0.47271e+00_rb,0.49943e+00_rb,0.38308e+00_rb /) kbo(:, 1,23,11) = (/ & & 0.13887e+00_rb,0.29534e+00_rb,0.35451e+00_rb,0.37144e+00_rb,0.27763e+00_rb /) kbo(:, 2,23,11) = (/ & & 0.15131e+00_rb,0.31502e+00_rb,0.38068e+00_rb,0.39927e+00_rb,0.30013e+00_rb /) kbo(:, 3,23,11) = (/ & & 0.16398e+00_rb,0.33651e+00_rb,0.40726e+00_rb,0.42913e+00_rb,0.32331e+00_rb /) kbo(:, 4,23,11) = (/ & & 0.17699e+00_rb,0.35967e+00_rb,0.43436e+00_rb,0.45990e+00_rb,0.34758e+00_rb /) kbo(:, 5,23,11) = (/ & & 0.19026e+00_rb,0.38467e+00_rb,0.46223e+00_rb,0.49074e+00_rb,0.37282e+00_rb /) kbo(:, 1,24,11) = (/ & & 0.12585e+00_rb,0.28281e+00_rb,0.34015e+00_rb,0.35619e+00_rb,0.26580e+00_rb /) kbo(:, 2,24,11) = (/ & & 0.13791e+00_rb,0.30436e+00_rb,0.36812e+00_rb,0.38675e+00_rb,0.28903e+00_rb /) kbo(:, 3,24,11) = (/ & & 0.15049e+00_rb,0.32769e+00_rb,0.39648e+00_rb,0.41925e+00_rb,0.31342e+00_rb /) kbo(:, 4,24,11) = (/ & & 0.16367e+00_rb,0.35256e+00_rb,0.42575e+00_rb,0.45270e+00_rb,0.33923e+00_rb /) kbo(:, 5,24,11) = (/ & & 0.17705e+00_rb,0.37855e+00_rb,0.45558e+00_rb,0.48562e+00_rb,0.36598e+00_rb /) kbo(:, 1,25,11) = (/ & & 0.11440e+00_rb,0.27340e+00_rb,0.32939e+00_rb,0.34570e+00_rb,0.25676e+00_rb /) kbo(:, 2,25,11) = (/ & & 0.12619e+00_rb,0.29667e+00_rb,0.35918e+00_rb,0.37882e+00_rb,0.28103e+00_rb /) kbo(:, 3,25,11) = (/ & & 0.13880e+00_rb,0.32182e+00_rb,0.38965e+00_rb,0.41370e+00_rb,0.30678e+00_rb /) kbo(:, 4,25,11) = (/ & & 0.15209e+00_rb,0.34806e+00_rb,0.42076e+00_rb,0.44907e+00_rb,0.33404e+00_rb /) kbo(:, 5,25,11) = (/ & & 0.16564e+00_rb,0.37478e+00_rb,0.45238e+00_rb,0.48364e+00_rb,0.36209e+00_rb /) kbo(:, 1,26,11) = (/ & & 0.10459e+00_rb,0.26698e+00_rb,0.32246e+00_rb,0.33976e+00_rb,0.25076e+00_rb /) kbo(:, 2,26,11) = (/ & & 0.11626e+00_rb,0.29209e+00_rb,0.35422e+00_rb,0.37512e+00_rb,0.27618e+00_rb /) kbo(:, 3,26,11) = (/ & & 0.12895e+00_rb,0.31885e+00_rb,0.38669e+00_rb,0.41203e+00_rb,0.30332e+00_rb /) kbo(:, 4,26,11) = (/ & & 0.14230e+00_rb,0.34607e+00_rb,0.41933e+00_rb,0.44889e+00_rb,0.33190e+00_rb /) kbo(:, 5,26,11) = (/ & & 0.15605e+00_rb,0.37346e+00_rb,0.45243e+00_rb,0.48462e+00_rb,0.36103e+00_rb /) kbo(:, 1,27,11) = (/ & & 0.96118e-01_rb,0.26319e+00_rb,0.31888e+00_rb,0.33748e+00_rb,0.24718e+00_rb /) kbo(:, 2,27,11) = (/ & & 0.10777e+00_rb,0.29006e+00_rb,0.35247e+00_rb,0.37471e+00_rb,0.27379e+00_rb /) kbo(:, 3,27,11) = (/ & & 0.12054e+00_rb,0.31789e+00_rb,0.38657e+00_rb,0.41315e+00_rb,0.30239e+00_rb /) kbo(:, 4,27,11) = (/ & & 0.13403e+00_rb,0.34597e+00_rb,0.42050e+00_rb,0.45108e+00_rb,0.33196e+00_rb /) kbo(:, 5,27,11) = (/ & & 0.14803e+00_rb,0.37409e+00_rb,0.45469e+00_rb,0.48753e+00_rb,0.36202e+00_rb /) kbo(:, 1,28,11) = (/ & & 0.88934e-01_rb,0.26189e+00_rb,0.31824e+00_rb,0.33815e+00_rb,0.24575e+00_rb /) kbo(:, 2,28,11) = (/ & & 0.10066e+00_rb,0.29004e+00_rb,0.35339e+00_rb,0.37699e+00_rb,0.27368e+00_rb /) kbo(:, 3,28,11) = (/ & & 0.11346e+00_rb,0.31878e+00_rb,0.38868e+00_rb,0.41646e+00_rb,0.30334e+00_rb /) kbo(:, 4,28,11) = (/ & & 0.12719e+00_rb,0.34746e+00_rb,0.42368e+00_rb,0.45510e+00_rb,0.33384e+00_rb /) kbo(:, 5,28,11) = (/ & & 0.14149e+00_rb,0.37622e+00_rb,0.45856e+00_rb,0.49189e+00_rb,0.36458e+00_rb /) kbo(:, 1,29,11) = (/ & & 0.82953e-01_rb,0.26276e+00_rb,0.32032e+00_rb,0.34153e+00_rb,0.24649e+00_rb /) kbo(:, 2,29,11) = (/ & & 0.94812e-01_rb,0.29186e+00_rb,0.35678e+00_rb,0.38153e+00_rb,0.27563e+00_rb /) kbo(:, 3,29,11) = (/ & & 0.10778e+00_rb,0.32138e+00_rb,0.39278e+00_rb,0.42163e+00_rb,0.30623e+00_rb /) kbo(:, 4,29,11) = (/ & & 0.12182e+00_rb,0.35053e+00_rb,0.42853e+00_rb,0.46064e+00_rb,0.33743e+00_rb /) kbo(:, 5,29,11) = (/ & & 0.13655e+00_rb,0.37990e+00_rb,0.46387e+00_rb,0.49754e+00_rb,0.36866e+00_rb /) kbo(:, 1,30,11) = (/ & & 0.78111e-01_rb,0.26530e+00_rb,0.32451e+00_rb,0.34680e+00_rb,0.24893e+00_rb /) kbo(:, 2,30,11) = (/ & & 0.90075e-01_rb,0.29517e+00_rb,0.36183e+00_rb,0.38763e+00_rb,0.27915e+00_rb /) kbo(:, 3,30,11) = (/ & & 0.10336e+00_rb,0.32522e+00_rb,0.39838e+00_rb,0.42809e+00_rb,0.31046e+00_rb /) kbo(:, 4,30,11) = (/ & & 0.11787e+00_rb,0.35483e+00_rb,0.43455e+00_rb,0.46718e+00_rb,0.34218e+00_rb /) kbo(:, 5,30,11) = (/ & & 0.13307e+00_rb,0.38452e+00_rb,0.47003e+00_rb,0.50395e+00_rb,0.37368e+00_rb /) kbo(:, 1,31,11) = (/ & & 0.74235e-01_rb,0.26927e+00_rb,0.33033e+00_rb,0.35368e+00_rb,0.25294e+00_rb /) kbo(:, 2,31,11) = (/ & & 0.86475e-01_rb,0.29980e+00_rb,0.36814e+00_rb,0.39505e+00_rb,0.28398e+00_rb /) kbo(:, 3,31,11) = (/ & & 0.10025e+00_rb,0.33020e+00_rb,0.40500e+00_rb,0.43563e+00_rb,0.31586e+00_rb /) kbo(:, 4,31,11) = (/ & & 0.11530e+00_rb,0.36008e+00_rb,0.44151e+00_rb,0.47461e+00_rb,0.34790e+00_rb /) kbo(:, 5,31,11) = (/ & & 0.13103e+00_rb,0.38989e+00_rb,0.47695e+00_rb,0.51108e+00_rb,0.37953e+00_rb /) kbo(:, 1,32,11) = (/ & & 0.71362e-01_rb,0.27445e+00_rb,0.33748e+00_rb,0.36171e+00_rb,0.25820e+00_rb /) kbo(:, 2,32,11) = (/ & & 0.84060e-01_rb,0.30547e+00_rb,0.37545e+00_rb,0.40335e+00_rb,0.28988e+00_rb /) kbo(:, 3,32,11) = (/ & & 0.98456e-01_rb,0.33600e+00_rb,0.41253e+00_rb,0.44393e+00_rb,0.32217e+00_rb /) kbo(:, 4,32,11) = (/ & & 0.11408e+00_rb,0.36612e+00_rb,0.44914e+00_rb,0.48266e+00_rb,0.35443e+00_rb /) kbo(:, 5,32,11) = (/ & & 0.13035e+00_rb,0.39590e+00_rb,0.48448e+00_rb,0.51873e+00_rb,0.38602e+00_rb /) kbo(:, 1,33,11) = (/ & & 0.69437e-01_rb,0.28056e+00_rb,0.34548e+00_rb,0.37055e+00_rb,0.26439e+00_rb /) kbo(:, 2,33,11) = (/ & & 0.82778e-01_rb,0.31179e+00_rb,0.38345e+00_rb,0.41222e+00_rb,0.29653e+00_rb /) kbo(:, 3,33,11) = (/ & & 0.97818e-01_rb,0.34234e+00_rb,0.42058e+00_rb,0.45271e+00_rb,0.32902e+00_rb /) kbo(:, 4,33,11) = (/ & & 0.11406e+00_rb,0.37264e+00_rb,0.45719e+00_rb,0.49102e+00_rb,0.36138e+00_rb /) kbo(:, 5,33,11) = (/ & & 0.13083e+00_rb,0.40228e+00_rb,0.49234e+00_rb,0.52669e+00_rb,0.39293e+00_rb /) kbo(:, 1,34,11) = (/ & & 0.68001e-01_rb,0.28611e+00_rb,0.35258e+00_rb,0.37843e+00_rb,0.27007e+00_rb /) kbo(:, 2,34,11) = (/ & & 0.82015e-01_rb,0.31742e+00_rb,0.39059e+00_rb,0.42007e+00_rb,0.30253e+00_rb /) kbo(:, 3,34,11) = (/ & & 0.97684e-01_rb,0.34800e+00_rb,0.42777e+00_rb,0.46038e+00_rb,0.33518e+00_rb /) kbo(:, 4,34,11) = (/ & & 0.11453e+00_rb,0.37836e+00_rb,0.46423e+00_rb,0.49832e+00_rb,0.36754e+00_rb /) kbo(:, 5,34,11) = (/ & & 0.13165e+00_rb,0.40799e+00_rb,0.49927e+00_rb,0.53358e+00_rb,0.39902e+00_rb /) kbo(:, 1,35,11) = (/ & & 0.66173e-01_rb,0.28901e+00_rb,0.35634e+00_rb,0.38261e+00_rb,0.27305e+00_rb /) kbo(:, 2,35,11) = (/ & & 0.80679e-01_rb,0.32036e+00_rb,0.39443e+00_rb,0.42428e+00_rb,0.30572e+00_rb /) kbo(:, 3,35,11) = (/ & & 0.96839e-01_rb,0.35097e+00_rb,0.43164e+00_rb,0.46448e+00_rb,0.33845e+00_rb /) kbo(:, 4,35,11) = (/ & & 0.11412e+00_rb,0.38139e+00_rb,0.46804e+00_rb,0.50225e+00_rb,0.37079e+00_rb /) kbo(:, 5,35,11) = (/ & & 0.13154e+00_rb,0.41104e+00_rb,0.50302e+00_rb,0.53730e+00_rb,0.40230e+00_rb /) kbo(:, 1,36,11) = (/ & & 0.63512e-01_rb,0.28876e+00_rb,0.35615e+00_rb,0.38246e+00_rb,0.27277e+00_rb /) kbo(:, 2,36,11) = (/ & & 0.78322e-01_rb,0.32017e+00_rb,0.39440e+00_rb,0.42423e+00_rb,0.30554e+00_rb /) kbo(:, 3,36,11) = (/ & & 0.94792e-01_rb,0.35084e+00_rb,0.43169e+00_rb,0.46451e+00_rb,0.33835e+00_rb /) kbo(:, 4,36,11) = (/ & & 0.11239e+00_rb,0.38129e+00_rb,0.46814e+00_rb,0.50234e+00_rb,0.37075e+00_rb /) kbo(:, 5,36,11) = (/ & & 0.13007e+00_rb,0.41105e+00_rb,0.50318e+00_rb,0.53745e+00_rb,0.40235e+00_rb /) kbo(:, 1,37,11) = (/ & & 0.59276e-01_rb,0.28388e+00_rb,0.35018e+00_rb,0.37605e+00_rb,0.26777e+00_rb /) kbo(:, 2,37,11) = (/ & & 0.74070e-01_rb,0.31543e+00_rb,0.38877e+00_rb,0.41809e+00_rb,0.30055e+00_rb /) kbo(:, 3,37,11) = (/ & & 0.90621e-01_rb,0.34621e+00_rb,0.42622e+00_rb,0.45870e+00_rb,0.33345e+00_rb /) kbo(:, 4,37,11) = (/ & & 0.10838e+00_rb,0.37677e+00_rb,0.46291e+00_rb,0.49695e+00_rb,0.36598e+00_rb /) kbo(:, 5,37,11) = (/ & & 0.12629e+00_rb,0.40664e+00_rb,0.49817e+00_rb,0.53255e+00_rb,0.39771e+00_rb /) kbo(:, 1,38,11) = (/ & & 0.55352e-01_rb,0.27885e+00_rb,0.34399e+00_rb,0.36943e+00_rb,0.26263e+00_rb /) kbo(:, 2,38,11) = (/ & & 0.70099e-01_rb,0.31053e+00_rb,0.38289e+00_rb,0.41165e+00_rb,0.29537e+00_rb /) kbo(:, 3,38,11) = (/ & & 0.86674e-01_rb,0.34144e+00_rb,0.42052e+00_rb,0.45261e+00_rb,0.32834e+00_rb /) kbo(:, 4,38,11) = (/ & & 0.10451e+00_rb,0.37207e+00_rb,0.45745e+00_rb,0.49130e+00_rb,0.36103e+00_rb /) kbo(:, 5,38,11) = (/ & & 0.12261e+00_rb,0.40208e+00_rb,0.49291e+00_rb,0.52735e+00_rb,0.39288e+00_rb /) kbo(:, 1,39,11) = (/ & & 0.51830e-01_rb,0.27388e+00_rb,0.33795e+00_rb,0.36294e+00_rb,0.25765e+00_rb /) kbo(:, 2,39,11) = (/ & & 0.66473e-01_rb,0.30570e+00_rb,0.37709e+00_rb,0.40534e+00_rb,0.29029e+00_rb /) kbo(:, 3,39,11) = (/ & & 0.83032e-01_rb,0.33678e+00_rb,0.41490e+00_rb,0.44656e+00_rb,0.32332e+00_rb /) kbo(:, 4,39,11) = (/ & & 0.10089e+00_rb,0.36746e+00_rb,0.45203e+00_rb,0.48569e+00_rb,0.35615e+00_rb /) kbo(:, 5,39,11) = (/ & & 0.11914e+00_rb,0.39759e+00_rb,0.48773e+00_rb,0.52218e+00_rb,0.38813e+00_rb /) kbo(:, 1,40,11) = (/ & & 0.47273e-01_rb,0.26566e+00_rb,0.32789e+00_rb,0.35219e+00_rb,0.24948e+00_rb /) kbo(:, 2,40,11) = (/ & & 0.61538e-01_rb,0.29768e+00_rb,0.36730e+00_rb,0.39473e+00_rb,0.28193e+00_rb /) kbo(:, 3,40,11) = (/ & & 0.77858e-01_rb,0.32903e+00_rb,0.40551e+00_rb,0.43635e+00_rb,0.31499e+00_rb /) kbo(:, 4,40,11) = (/ & & 0.95580e-01_rb,0.35975e+00_rb,0.44288e+00_rb,0.47617e+00_rb,0.34794e+00_rb /) kbo(:, 5,40,11) = (/ & & 0.11394e+00_rb,0.39008e+00_rb,0.47900e+00_rb,0.51333e+00_rb,0.38020e+00_rb /) kbo(:, 1,41,11) = (/ & & 0.42888e-01_rb,0.25708e+00_rb,0.31732e+00_rb,0.34096e+00_rb,0.24098e+00_rb /) kbo(:, 2,41,11) = (/ & & 0.56697e-01_rb,0.28927e+00_rb,0.35696e+00_rb,0.38355e+00_rb,0.27327e+00_rb /) kbo(:, 3,41,11) = (/ & & 0.72702e-01_rb,0.32083e+00_rb,0.39561e+00_rb,0.42555e+00_rb,0.30626e+00_rb /) kbo(:, 4,41,11) = (/ & & 0.90227e-01_rb,0.35164e+00_rb,0.43315e+00_rb,0.46599e+00_rb,0.33930e+00_rb /) kbo(:, 5,41,11) = (/ & & 0.10861e+00_rb,0.38219e+00_rb,0.46971e+00_rb,0.50385e+00_rb,0.37183e+00_rb /) kbo(:, 1,42,11) = (/ & & 0.38819e-01_rb,0.24850e+00_rb,0.30677e+00_rb,0.32968e+00_rb,0.23256e+00_rb /) kbo(:, 2,42,11) = (/ & & 0.52147e-01_rb,0.28080e+00_rb,0.34660e+00_rb,0.37239e+00_rb,0.26466e+00_rb /) kbo(:, 3,42,11) = (/ & & 0.67768e-01_rb,0.31263e+00_rb,0.38564e+00_rb,0.41466e+00_rb,0.29758e+00_rb /) kbo(:, 4,42,11) = (/ & & 0.85041e-01_rb,0.34356e+00_rb,0.42336e+00_rb,0.45563e+00_rb,0.33065e+00_rb /) kbo(:, 5,42,11) = (/ & & 0.10335e+00_rb,0.37426e+00_rb,0.46032e+00_rb,0.49419e+00_rb,0.36339e+00_rb /) kbo(:, 1,43,11) = (/ & & 0.34406e-01_rb,0.23801e+00_rb,0.29406e+00_rb,0.31601e+00_rb,0.22240e+00_rb /) kbo(:, 2,43,11) = (/ & & 0.47048e-01_rb,0.27050e+00_rb,0.33401e+00_rb,0.35883e+00_rb,0.25435e+00_rb /) kbo(:, 3,43,11) = (/ & & 0.62114e-01_rb,0.30257e+00_rb,0.37337e+00_rb,0.40135e+00_rb,0.28701e+00_rb /) kbo(:, 4,43,11) = (/ & & 0.79018e-01_rb,0.33381e+00_rb,0.41146e+00_rb,0.44285e+00_rb,0.32012e+00_rb /) kbo(:, 5,43,11) = (/ & & 0.97123e-01_rb,0.36459e+00_rb,0.44877e+00_rb,0.48229e+00_rb,0.35311e+00_rb /) kbo(:, 1,44,11) = (/ & & 0.30068e-01_rb,0.22661e+00_rb,0.28047e+00_rb,0.30141e+00_rb,0.21157e+00_rb /) kbo(:, 2,44,11) = (/ & & 0.41934e-01_rb,0.25939e+00_rb,0.32031e+00_rb,0.34420e+00_rb,0.24331e+00_rb /) kbo(:, 3,44,11) = (/ & & 0.56334e-01_rb,0.29165e+00_rb,0.35997e+00_rb,0.38686e+00_rb,0.27569e+00_rb /) kbo(:, 4,44,11) = (/ & & 0.72738e-01_rb,0.32319e+00_rb,0.39860e+00_rb,0.42881e+00_rb,0.30880e+00_rb /) kbo(:, 5,44,11) = (/ & & 0.90538e-01_rb,0.35407e+00_rb,0.43616e+00_rb,0.46913e+00_rb,0.34187e+00_rb /) kbo(:, 1,45,11) = (/ & & 0.26090e-01_rb,0.21511e+00_rb,0.26705e+00_rb,0.28701e+00_rb,0.20089e+00_rb /) kbo(:, 2,45,11) = (/ & & 0.37182e-01_rb,0.24828e+00_rb,0.30662e+00_rb,0.32954e+00_rb,0.23239e+00_rb /) kbo(:, 3,45,11) = (/ & & 0.50828e-01_rb,0.28069e+00_rb,0.34649e+00_rb,0.37235e+00_rb,0.26452e+00_rb /) kbo(:, 4,45,11) = (/ & & 0.66683e-01_rb,0.31254e+00_rb,0.38562e+00_rb,0.41465e+00_rb,0.29751e+00_rb /) kbo(:, 5,45,11) = (/ & & 0.84110e-01_rb,0.34354e+00_rb,0.42341e+00_rb,0.45565e+00_rb,0.33061e+00_rb /) kbo(:, 1,46,11) = (/ & & 0.22282e-01_rb,0.20276e+00_rb,0.25300e+00_rb,0.27194e+00_rb,0.18966e+00_rb /) kbo(:, 2,46,11) = (/ & & 0.32494e-01_rb,0.23634e+00_rb,0.29212e+00_rb,0.31397e+00_rb,0.22083e+00_rb /) kbo(:, 3,46,11) = (/ & & 0.45322e-01_rb,0.26893e+00_rb,0.33209e+00_rb,0.35685e+00_rb,0.25276e+00_rb /) kbo(:, 4,46,11) = (/ & & 0.60492e-01_rb,0.30105e+00_rb,0.37160e+00_rb,0.39945e+00_rb,0.28546e+00_rb /) kbo(:, 5,46,11) = (/ & & 0.77449e-01_rb,0.33241e+00_rb,0.40979e+00_rb,0.44100e+00_rb,0.31859e+00_rb /) kbo(:, 1,47,11) = (/ & & 0.18534e-01_rb,0.18898e+00_rb,0.23758e+00_rb,0.25552e+00_rb,0.17724e+00_rb /) kbo(:, 2,47,11) = (/ & & 0.27732e-01_rb,0.22283e+00_rb,0.27608e+00_rb,0.29673e+00_rb,0.20806e+00_rb /) kbo(:, 3,47,11) = (/ & & 0.39604e-01_rb,0.25581e+00_rb,0.31589e+00_rb,0.33953e+00_rb,0.23975e+00_rb /) kbo(:, 4,47,11) = (/ & & 0.53911e-01_rb,0.28814e+00_rb,0.35568e+00_rb,0.38226e+00_rb,0.27210e+00_rb /) kbo(:, 5,47,11) = (/ & & 0.70242e-01_rb,0.31982e+00_rb,0.39452e+00_rb,0.42435e+00_rb,0.30521e+00_rb /) kbo(:, 1,48,11) = (/ & & 0.15230e-01_rb,0.17512e+00_rb,0.22238e+00_rb,0.23953e+00_rb,0.16496e+00_rb /) kbo(:, 2,48,11) = (/ & & 0.23424e-01_rb,0.20917e+00_rb,0.26028e+00_rb,0.27977e+00_rb,0.19549e+00_rb /) kbo(:, 3,48,11) = (/ & & 0.34289e-01_rb,0.24261e+00_rb,0.29967e+00_rb,0.32213e+00_rb,0.22686e+00_rb /) kbo(:, 4,48,11) = (/ & & 0.47677e-01_rb,0.27510e+00_rb,0.33967e+00_rb,0.36502e+00_rb,0.25892e+00_rb /) kbo(:, 5,48,11) = (/ & & 0.63303e-01_rb,0.30711e+00_rb,0.37902e+00_rb,0.40749e+00_rb,0.29180e+00_rb /) kbo(:, 1,49,11) = (/ & & 0.12348e-01_rb,0.16145e+00_rb,0.20748e+00_rb,0.22396e+00_rb,0.15290e+00_rb /) kbo(:, 2,49,11) = (/ & & 0.19656e-01_rb,0.19547e+00_rb,0.24481e+00_rb,0.26319e+00_rb,0.18304e+00_rb /) kbo(:, 3,49,11) = (/ & & 0.29411e-01_rb,0.22922e+00_rb,0.28358e+00_rb,0.30484e+00_rb,0.21403e+00_rb /) kbo(:, 4,49,11) = (/ & & 0.41852e-01_rb,0.26199e+00_rb,0.32356e+00_rb,0.34774e+00_rb,0.24589e+00_rb /) kbo(:, 5,49,11) = (/ & & 0.56641e-01_rb,0.29425e+00_rb,0.36325e+00_rb,0.39043e+00_rb,0.27839e+00_rb /) kbo(:, 1,50,11) = (/ & & 0.10059e-01_rb,0.14901e+00_rb,0.19385e+00_rb,0.20977e+00_rb,0.14182e+00_rb /) kbo(:, 2,50,11) = (/ & & 0.16439e-01_rb,0.18255e+00_rb,0.23049e+00_rb,0.24806e+00_rb,0.17150e+00_rb /) kbo(:, 3,50,11) = (/ & & 0.25328e-01_rb,0.21656e+00_rb,0.26875e+00_rb,0.28888e+00_rb,0.20219e+00_rb /) kbo(:, 4,50,11) = (/ & & 0.36730e-01_rb,0.24971e+00_rb,0.30839e+00_rb,0.33151e+00_rb,0.23378e+00_rb /) kbo(:, 5,50,11) = (/ & & 0.50682e-01_rb,0.28213e+00_rb,0.34832e+00_rb,0.37432e+00_rb,0.26599e+00_rb /) kbo(:, 1,51,11) = (/ & & 0.81000e-02_rb,0.13718e+00_rb,0.18086e+00_rb,0.19633e+00_rb,0.13125e+00_rb /) kbo(:, 2,51,11) = (/ & & 0.13663e-01_rb,0.17002e+00_rb,0.21682e+00_rb,0.23372e+00_rb,0.16044e+00_rb /) kbo(:, 3,51,11) = (/ & & 0.21646e-01_rb,0.20410e+00_rb,0.25452e+00_rb,0.27362e+00_rb,0.19085e+00_rb /) kbo(:, 4,51,11) = (/ & & 0.32117e-01_rb,0.23766e+00_rb,0.29370e+00_rb,0.31573e+00_rb,0.22210e+00_rb /) kbo(:, 5,51,11) = (/ & & 0.45217e-01_rb,0.27026e+00_rb,0.33377e+00_rb,0.35865e+00_rb,0.25409e+00_rb /) kbo(:, 1,52,11) = (/ & & 0.64392e-02_rb,0.12568e+00_rb,0.16814e+00_rb,0.18321e+00_rb,0.12091e+00_rb /) kbo(:, 2,52,11) = (/ & & 0.11223e-01_rb,0.15773e+00_rb,0.20341e+00_rb,0.21973e+00_rb,0.14959e+00_rb /) kbo(:, 3,52,11) = (/ & & 0.18327e-01_rb,0.19165e+00_rb,0.24057e+00_rb,0.25870e+00_rb,0.17960e+00_rb /) kbo(:, 4,52,11) = (/ & & 0.27978e-01_rb,0.22553e+00_rb,0.27924e+00_rb,0.30015e+00_rb,0.21055e+00_rb /) kbo(:, 5,52,11) = (/ & & 0.40066e-01_rb,0.25840e+00_rb,0.31913e+00_rb,0.34300e+00_rb,0.24233e+00_rb /) kbo(:, 1,53,11) = (/ & & 0.50582e-02_rb,0.11452e+00_rb,0.15565e+00_rb,0.17040e+00_rb,0.11082e+00_rb /) kbo(:, 2,53,11) = (/ & & 0.90986e-02_rb,0.14571e+00_rb,0.19026e+00_rb,0.20608e+00_rb,0.13891e+00_rb /) kbo(:, 3,53,11) = (/ & & 0.15360e-01_rb,0.17911e+00_rb,0.22674e+00_rb,0.24415e+00_rb,0.16845e+00_rb /) kbo(:, 4,53,11) = (/ & & 0.24079e-01_rb,0.21320e+00_rb,0.26488e+00_rb,0.28473e+00_rb,0.19911e+00_rb /) kbo(:, 5,53,11) = (/ & & 0.35249e-01_rb,0.24647e+00_rb,0.30443e+00_rb,0.32725e+00_rb,0.23061e+00_rb /) kbo(:, 1,54,11) = (/ & & 0.39947e-02_rb,0.10467e+00_rb,0.14438e+00_rb,0.15895e+00_rb,0.10183e+00_rb /) kbo(:, 2,54,11) = (/ & & 0.74123e-02_rb,0.13495e+00_rb,0.17842e+00_rb,0.19384e+00_rb,0.12928e+00_rb /) kbo(:, 3,54,11) = (/ & & 0.12928e-01_rb,0.16768e+00_rb,0.21428e+00_rb,0.23108e+00_rb,0.15838e+00_rb /) kbo(:, 4,54,11) = (/ & & 0.20817e-01_rb,0.20178e+00_rb,0.25191e+00_rb,0.27082e+00_rb,0.18875e+00_rb /) kbo(:, 5,54,11) = (/ & & 0.31131e-01_rb,0.23540e+00_rb,0.29100e+00_rb,0.31283e+00_rb,0.21994e+00_rb /) kbo(:, 1,55,11) = (/ & & 0.31444e-02_rb,0.95645e-01_rb,0.13357e+00_rb,0.14821e+00_rb,0.93456e-01_rb /) kbo(:, 2,55,11) = (/ & & 0.60192e-02_rb,0.12488e+00_rb,0.16728e+00_rb,0.18235e+00_rb,0.12022e+00_rb /) kbo(:, 3,55,11) = (/ & & 0.10844e-01_rb,0.15692e+00_rb,0.20255e+00_rb,0.21884e+00_rb,0.14887e+00_rb /) kbo(:, 4,55,11) = (/ & & 0.17966e-01_rb,0.19085e+00_rb,0.23968e+00_rb,0.25776e+00_rb,0.17889e+00_rb /) kbo(:, 5,55,11) = (/ & & 0.27575e-01_rb,0.22475e+00_rb,0.27833e+00_rb,0.29920e+00_rb,0.20981e+00_rb /) kbo(:, 1,56,11) = (/ & & 0.24408e-02_rb,0.87042e-01_rb,0.12294e+00_rb,0.13774e+00_rb,0.85384e-01_rb /) kbo(:, 2,56,11) = (/ & & 0.48425e-02_rb,0.11512e+00_rb,0.15634e+00_rb,0.17115e+00_rb,0.11140e+00_rb /) kbo(:, 3,56,11) = (/ & & 0.90070e-02_rb,0.14641e+00_rb,0.19103e+00_rb,0.20689e+00_rb,0.13953e+00_rb /) kbo(:, 4,56,11) = (/ & & 0.15384e-01_rb,0.17987e+00_rb,0.22757e+00_rb,0.24502e+00_rb,0.16913e+00_rb /) kbo(:, 5,56,11) = (/ & & 0.24183e-01_rb,0.21396e+00_rb,0.26576e+00_rb,0.28569e+00_rb,0.19980e+00_rb /) kbo(:, 1,57,11) = (/ & & 0.18661e-02_rb,0.78869e-01_rb,0.11259e+00_rb,0.12744e+00_rb,0.77594e-01_rb /) kbo(:, 2,57,11) = (/ & & 0.38393e-02_rb,0.10567e+00_rb,0.14558e+00_rb,0.16018e+00_rb,0.10279e+00_rb /) kbo(:, 3,57,11) = (/ & & 0.73986e-02_rb,0.13611e+00_rb,0.17972e+00_rb,0.19518e+00_rb,0.13032e+00_rb /) kbo(:, 4,57,11) = (/ & & 0.13057e-01_rb,0.16895e+00_rb,0.21565e+00_rb,0.23253e+00_rb,0.15951e+00_rb /) kbo(:, 5,57,11) = (/ & & 0.21059e-01_rb,0.20305e+00_rb,0.25335e+00_rb,0.27238e+00_rb,0.18989e+00_rb /) kbo(:, 1,58,11) = (/ & & 0.14289e-02_rb,0.71481e-01_rb,0.10314e+00_rb,0.11789e+00_rb,0.70461e-01_rb /) kbo(:, 2,58,11) = (/ & & 0.30447e-02_rb,0.97100e-01_rb,0.13537e+00_rb,0.15001e+00_rb,0.94840e-01_rb /) kbo(:, 3,58,11) = (/ & & 0.60785e-02_rb,0.12656e+00_rb,0.16917e+00_rb,0.18428e+00_rb,0.12173e+00_rb /) kbo(:, 4,58,11) = (/ & & 0.11073e-01_rb,0.15875e+00_rb,0.20453e+00_rb,0.22090e+00_rb,0.15049e+00_rb /) kbo(:, 5,58,11) = (/ & & 0.18344e-01_rb,0.19271e+00_rb,0.24175e+00_rb,0.25997e+00_rb,0.18056e+00_rb /) kbo(:, 1,59,11) = (/ & & 0.12466e-02_rb,0.68608e-01_rb,0.99449e-01_rb,0.11409e+00_rb,0.67679e-01_rb /) kbo(:, 2,59,11) = (/ & & 0.27400e-02_rb,0.93756e-01_rb,0.13130e+00_rb,0.14598e+00_rb,0.91727e-01_rb /) kbo(:, 3,59,11) = (/ & & 0.55829e-02_rb,0.12280e+00_rb,0.16498e+00_rb,0.17997e+00_rb,0.11835e+00_rb /) kbo(:, 4,59,11) = (/ & & 0.10327e-01_rb,0.15471e+00_rb,0.20012e+00_rb,0.21632e+00_rb,0.14691e+00_rb /) kbo(:, 5,59,11) = (/ & & 0.17312e-01_rb,0.18856e+00_rb,0.23714e+00_rb,0.25511e+00_rb,0.17685e+00_rb /) kbo(:, 1,13,12) = (/ & & 0.97672e+00_rb,0.12351e+01_rb,0.13467e+01_rb,0.13355e+01_rb,0.11350e+01_rb /) kbo(:, 2,13,12) = (/ & & 0.96517e+00_rb,0.12326e+01_rb,0.13523e+01_rb,0.13488e+01_rb,0.11500e+01_rb /) kbo(:, 3,13,12) = (/ & & 0.95359e+00_rb,0.12308e+01_rb,0.13576e+01_rb,0.13588e+01_rb,0.11629e+01_rb /) kbo(:, 4,13,12) = (/ & & 0.94644e+00_rb,0.12294e+01_rb,0.13618e+01_rb,0.13660e+01_rb,0.11761e+01_rb /) kbo(:, 5,13,12) = (/ & & 0.94938e+00_rb,0.12277e+01_rb,0.13647e+01_rb,0.13713e+01_rb,0.11895e+01_rb /) kbo(:, 1,14,12) = (/ & & 0.86287e+00_rb,0.11528e+01_rb,0.12800e+01_rb,0.12931e+01_rb,0.10793e+01_rb /) kbo(:, 2,14,12) = (/ & & 0.85328e+00_rb,0.11519e+01_rb,0.12878e+01_rb,0.13082e+01_rb,0.10960e+01_rb /) kbo(:, 3,14,12) = (/ & & 0.84776e+00_rb,0.11522e+01_rb,0.12944e+01_rb,0.13193e+01_rb,0.11122e+01_rb /) kbo(:, 4,14,12) = (/ & & 0.85264e+00_rb,0.11532e+01_rb,0.12995e+01_rb,0.13287e+01_rb,0.11288e+01_rb /) kbo(:, 5,14,12) = (/ & & 0.86761e+00_rb,0.11556e+01_rb,0.13039e+01_rb,0.13378e+01_rb,0.11458e+01_rb /) kbo(:, 1,15,12) = (/ & & 0.75595e+00_rb,0.10736e+01_rb,0.12146e+01_rb,0.12437e+01_rb,0.10230e+01_rb /) kbo(:, 2,15,12) = (/ & & 0.75063e+00_rb,0.10744e+01_rb,0.12248e+01_rb,0.12603e+01_rb,0.10430e+01_rb /) kbo(:, 3,15,12) = (/ & & 0.75594e+00_rb,0.10769e+01_rb,0.12334e+01_rb,0.12743e+01_rb,0.10635e+01_rb /) kbo(:, 4,15,12) = (/ & & 0.77107e+00_rb,0.10807e+01_rb,0.12402e+01_rb,0.12881e+01_rb,0.10841e+01_rb /) kbo(:, 5,15,12) = (/ & & 0.79469e+00_rb,0.10902e+01_rb,0.12461e+01_rb,0.13012e+01_rb,0.11031e+01_rb /) kbo(:, 1,16,12) = (/ & & 0.66063e+00_rb,0.99640e+00_rb,0.11502e+01_rb,0.11902e+01_rb,0.96912e+00_rb /) kbo(:, 2,16,12) = (/ & & 0.66454e+00_rb,0.10001e+01_rb,0.11634e+01_rb,0.12095e+01_rb,0.99257e+00_rb /) kbo(:, 3,16,12) = (/ & & 0.67895e+00_rb,0.10049e+01_rb,0.11739e+01_rb,0.12282e+01_rb,0.10170e+01_rb /) kbo(:, 4,16,12) = (/ & & 0.70145e+00_rb,0.10153e+01_rb,0.11833e+01_rb,0.12469e+01_rb,0.10404e+01_rb /) kbo(:, 5,16,12) = (/ & & 0.72525e+00_rb,0.10330e+01_rb,0.11925e+01_rb,0.12646e+01_rb,0.10610e+01_rb /) kbo(:, 1,17,12) = (/ & & 0.58214e+00_rb,0.92297e+00_rb,0.10896e+01_rb,0.11346e+01_rb,0.91647e+00_rb /) kbo(:, 2,17,12) = (/ & & 0.59400e+00_rb,0.92929e+00_rb,0.11045e+01_rb,0.11590e+01_rb,0.94550e+00_rb /) kbo(:, 3,17,12) = (/ & & 0.61460e+00_rb,0.94000e+00_rb,0.11172e+01_rb,0.11832e+01_rb,0.97371e+00_rb /) kbo(:, 4,17,12) = (/ & & 0.63691e+00_rb,0.95830e+00_rb,0.11303e+01_rb,0.12071e+01_rb,0.99891e+00_rb /) kbo(:, 5,17,12) = (/ & & 0.66003e+00_rb,0.98295e+00_rb,0.11440e+01_rb,0.12298e+01_rb,0.10215e+01_rb /) kbo(:, 1,18,12) = (/ & & 0.51831e+00_rb,0.85586e+00_rb,0.10313e+01_rb,0.10823e+01_rb,0.86734e+00_rb /) kbo(:, 2,18,12) = (/ & & 0.53638e+00_rb,0.86645e+00_rb,0.10487e+01_rb,0.11114e+01_rb,0.90071e+00_rb /) kbo(:, 3,18,12) = (/ & & 0.55679e+00_rb,0.88410e+00_rb,0.10657e+01_rb,0.11407e+01_rb,0.93149e+00_rb /) kbo(:, 4,18,12) = (/ & & 0.57819e+00_rb,0.90902e+00_rb,0.10831e+01_rb,0.11693e+01_rb,0.95937e+00_rb /) kbo(:, 5,18,12) = (/ & & 0.60387e+00_rb,0.94010e+00_rb,0.11032e+01_rb,0.11966e+01_rb,0.98550e+00_rb /) kbo(:, 1,19,12) = (/ & & 0.46547e+00_rb,0.79533e+00_rb,0.97579e+00_rb,0.10353e+01_rb,0.82208e+00_rb /) kbo(:, 2,19,12) = (/ & & 0.48441e+00_rb,0.81281e+00_rb,0.99768e+00_rb,0.10690e+01_rb,0.85858e+00_rb /) kbo(:, 3,19,12) = (/ & & 0.50438e+00_rb,0.83723e+00_rb,0.10197e+01_rb,0.11027e+01_rb,0.89202e+00_rb /) kbo(:, 4,19,12) = (/ & & 0.52861e+00_rb,0.86772e+00_rb,0.10433e+01_rb,0.11355e+01_rb,0.92298e+00_rb /) kbo(:, 5,19,12) = (/ & & 0.55711e+00_rb,0.90301e+00_rb,0.10701e+01_rb,0.11672e+01_rb,0.95266e+00_rb /) kbo(:, 1,20,12) = (/ & & 0.41965e+00_rb,0.74319e+00_rb,0.92508e+00_rb,0.99412e+00_rb,0.78089e+00_rb /) kbo(:, 2,20,12) = (/ & & 0.43802e+00_rb,0.76766e+00_rb,0.95235e+00_rb,0.10327e+01_rb,0.82017e+00_rb /) kbo(:, 3,20,12) = (/ & & 0.46025e+00_rb,0.79818e+00_rb,0.98022e+00_rb,0.10706e+01_rb,0.85677e+00_rb /) kbo(:, 4,20,12) = (/ & & 0.48727e+00_rb,0.83370e+00_rb,0.10109e+01_rb,0.11072e+01_rb,0.89127e+00_rb /) kbo(:, 5,20,12) = (/ & & 0.51863e+00_rb,0.87091e+00_rb,0.10440e+01_rb,0.11423e+01_rb,0.92433e+00_rb /) kbo(:, 1,21,12) = (/ & & 0.37915e+00_rb,0.69998e+00_rb,0.88069e+00_rb,0.95835e+00_rb,0.74387e+00_rb /) kbo(:, 2,21,12) = (/ & & 0.39885e+00_rb,0.72965e+00_rb,0.91291e+00_rb,0.10022e+01_rb,0.78645e+00_rb /) kbo(:, 3,21,12) = (/ & & 0.42350e+00_rb,0.76561e+00_rb,0.94765e+00_rb,0.10443e+01_rb,0.82639e+00_rb /) kbo(:, 4,21,12) = (/ & & 0.45298e+00_rb,0.80432e+00_rb,0.98473e+00_rb,0.10842e+01_rb,0.86477e+00_rb /) kbo(:, 5,21,12) = (/ & & 0.48674e+00_rb,0.84344e+00_rb,0.10236e+01_rb,0.11221e+01_rb,0.90082e+00_rb /) kbo(:, 1,22,12) = (/ & & 0.34554e+00_rb,0.66631e+00_rb,0.84565e+00_rb,0.93193e+00_rb,0.71462e+00_rb /) kbo(:, 2,22,12) = (/ & & 0.36807e+00_rb,0.70096e+00_rb,0.88353e+00_rb,0.98021e+00_rb,0.76038e+00_rb /) kbo(:, 3,22,12) = (/ & & 0.39520e+00_rb,0.74099e+00_rb,0.92460e+00_rb,0.10260e+01_rb,0.80381e+00_rb /) kbo(:, 4,22,12) = (/ & & 0.42700e+00_rb,0.78213e+00_rb,0.96750e+00_rb,0.10688e+01_rb,0.84544e+00_rb /) kbo(:, 5,22,12) = (/ & & 0.46306e+00_rb,0.82357e+00_rb,0.10116e+01_rb,0.11089e+01_rb,0.88444e+00_rb /) kbo(:, 1,23,12) = (/ & & 0.31790e+00_rb,0.64007e+00_rb,0.81825e+00_rb,0.91240e+00_rb,0.69117e+00_rb /) kbo(:, 2,23,12) = (/ & & 0.34313e+00_rb,0.67943e+00_rb,0.86200e+00_rb,0.96400e+00_rb,0.74026e+00_rb /) kbo(:, 3,23,12) = (/ & & 0.37292e+00_rb,0.72179e+00_rb,0.90853e+00_rb,0.10128e+01_rb,0.78692e+00_rb /) kbo(:, 4,23,12) = (/ & & 0.40683e+00_rb,0.76528e+00_rb,0.95638e+00_rb,0.10584e+01_rb,0.83132e+00_rb /) kbo(:, 5,23,12) = (/ & & 0.44434e+00_rb,0.80906e+00_rb,0.10049e+01_rb,0.11007e+01_rb,0.87324e+00_rb /) kbo(:, 1,24,12) = (/ & & 0.29587e+00_rb,0.62091e+00_rb,0.79898e+00_rb,0.89859e+00_rb,0.67383e+00_rb /) kbo(:, 2,24,12) = (/ & & 0.32356e+00_rb,0.66370e+00_rb,0.84800e+00_rb,0.95354e+00_rb,0.72591e+00_rb /) kbo(:, 3,24,12) = (/ & & 0.35587e+00_rb,0.70805e+00_rb,0.89882e+00_rb,0.10049e+01_rb,0.77551e+00_rb /) kbo(:, 4,24,12) = (/ & & 0.39090e+00_rb,0.75345e+00_rb,0.95073e+00_rb,0.10524e+01_rb,0.82233e+00_rb /) kbo(:, 5,24,12) = (/ & & 0.42938e+00_rb,0.80019e+00_rb,0.10026e+01_rb,0.10965e+01_rb,0.86634e+00_rb /) kbo(:, 1,25,12) = (/ & & 0.27857e+00_rb,0.60799e+00_rb,0.78705e+00_rb,0.89081e+00_rb,0.66256e+00_rb /) kbo(:, 2,25,12) = (/ & & 0.30889e+00_rb,0.65303e+00_rb,0.84032e+00_rb,0.94841e+00_rb,0.71733e+00_rb /) kbo(:, 3,25,12) = (/ & & 0.34245e+00_rb,0.69924e+00_rb,0.89488e+00_rb,0.10015e+01_rb,0.76917e+00_rb /) kbo(:, 4,25,12) = (/ & & 0.37871e+00_rb,0.74693e+00_rb,0.95015e+00_rb,0.10506e+01_rb,0.81807e+00_rb /) kbo(:, 5,25,12) = (/ & & 0.41833e+00_rb,0.79644e+00_rb,0.10044e+01_rb,0.10958e+01_rb,0.86374e+00_rb /) kbo(:, 1,26,12) = (/ & & 0.26580e+00_rb,0.60063e+00_rb,0.78228e+00_rb,0.88879e+00_rb,0.65720e+00_rb /) kbo(:, 2,26,12) = (/ & & 0.29790e+00_rb,0.64759e+00_rb,0.83895e+00_rb,0.94821e+00_rb,0.71439e+00_rb /) kbo(:, 3,26,12) = (/ & & 0.33261e+00_rb,0.69574e+00_rb,0.89642e+00_rb,0.10025e+01_rb,0.76782e+00_rb /) kbo(:, 4,26,12) = (/ & & 0.37054e+00_rb,0.74591e+00_rb,0.95396e+00_rb,0.10524e+01_rb,0.81818e+00_rb /) kbo(:, 5,26,12) = (/ & & 0.41158e+00_rb,0.79751e+00_rb,0.10099e+01_rb,0.10981e+01_rb,0.86507e+00_rb /) kbo(:, 1,27,12) = (/ & & 0.25628e+00_rb,0.59727e+00_rb,0.78261e+00_rb,0.89115e+00_rb,0.65648e+00_rb /) kbo(:, 2,27,12) = (/ & & 0.28973e+00_rb,0.64617e+00_rb,0.84187e+00_rb,0.95137e+00_rb,0.71531e+00_rb /) kbo(:, 3,27,12) = (/ & & 0.32602e+00_rb,0.69640e+00_rb,0.90149e+00_rb,0.10062e+01_rb,0.76992e+00_rb /) kbo(:, 4,27,12) = (/ & & 0.36566e+00_rb,0.74858e+00_rb,0.96067e+00_rb,0.10565e+01_rb,0.82130e+00_rb /) kbo(:, 5,27,12) = (/ & & 0.40839e+00_rb,0.80160e+00_rb,0.10174e+01_rb,0.11025e+01_rb,0.86892e+00_rb /) kbo(:, 1,28,12) = (/ & & 0.24931e+00_rb,0.59767e+00_rb,0.78703e+00_rb,0.89664e+00_rb,0.65970e+00_rb /) kbo(:, 2,28,12) = (/ & & 0.28438e+00_rb,0.64828e+00_rb,0.84808e+00_rb,0.95711e+00_rb,0.71948e+00_rb /) kbo(:, 3,28,12) = (/ & & 0.32259e+00_rb,0.70046e+00_rb,0.90930e+00_rb,0.10123e+01_rb,0.77494e+00_rb /) kbo(:, 4,28,12) = (/ & & 0.36394e+00_rb,0.75423e+00_rb,0.96943e+00_rb,0.10625e+01_rb,0.82683e+00_rb /) kbo(:, 5,28,12) = (/ & & 0.40857e+00_rb,0.80828e+00_rb,0.10265e+01_rb,0.11085e+01_rb,0.87457e+00_rb /) kbo(:, 1,29,12) = (/ & & 0.24529e+00_rb,0.60153e+00_rb,0.79470e+00_rb,0.90469e+00_rb,0.66635e+00_rb /) kbo(:, 2,29,12) = (/ & & 0.28215e+00_rb,0.65374e+00_rb,0.85707e+00_rb,0.96518e+00_rb,0.72659e+00_rb /) kbo(:, 3,29,12) = (/ & & 0.32237e+00_rb,0.70744e+00_rb,0.91955e+00_rb,0.10202e+01_rb,0.78233e+00_rb /) kbo(:, 4,29,12) = (/ & & 0.36548e+00_rb,0.76246e+00_rb,0.98006e+00_rb,0.10704e+01_rb,0.83435e+00_rb /) kbo(:, 5,29,12) = (/ & & 0.41179e+00_rb,0.81715e+00_rb,0.10368e+01_rb,0.11160e+01_rb,0.88198e+00_rb /) kbo(:, 1,30,12) = (/ & & 0.24386e+00_rb,0.60816e+00_rb,0.80473e+00_rb,0.91460e+00_rb,0.67543e+00_rb /) kbo(:, 2,30,12) = (/ & & 0.28279e+00_rb,0.66165e+00_rb,0.86804e+00_rb,0.97470e+00_rb,0.73566e+00_rb /) kbo(:, 3,30,12) = (/ & & 0.32483e+00_rb,0.71650e+00_rb,0.93115e+00_rb,0.10292e+01_rb,0.79124e+00_rb /) kbo(:, 4,30,12) = (/ & & 0.36954e+00_rb,0.77208e+00_rb,0.99158e+00_rb,0.10790e+01_rb,0.84299e+00_rb /) kbo(:, 5,30,12) = (/ & & 0.41749e+00_rb,0.82738e+00_rb,0.10478e+01_rb,0.11245e+01_rb,0.89039e+00_rb /) kbo(:, 1,31,12) = (/ & & 0.24525e+00_rb,0.61702e+00_rb,0.81682e+00_rb,0.92621e+00_rb,0.68640e+00_rb /) kbo(:, 2,31,12) = (/ & & 0.28616e+00_rb,0.67142e+00_rb,0.88072e+00_rb,0.98550e+00_rb,0.74643e+00_rb /) kbo(:, 3,31,12) = (/ & & 0.32989e+00_rb,0.72710e+00_rb,0.94409e+00_rb,0.10393e+01_rb,0.80152e+00_rb /) kbo(:, 4,31,12) = (/ & & 0.37609e+00_rb,0.78314e+00_rb,0.10041e+01_rb,0.10886e+01_rb,0.85269e+00_rb /) kbo(:, 5,31,12) = (/ & & 0.42530e+00_rb,0.83896e+00_rb,0.10596e+01_rb,0.11338e+01_rb,0.89957e+00_rb /) kbo(:, 1,32,12) = (/ & & 0.24917e+00_rb,0.62738e+00_rb,0.83018e+00_rb,0.93886e+00_rb,0.69870e+00_rb /) kbo(:, 2,32,12) = (/ & & 0.29180e+00_rb,0.68257e+00_rb,0.89466e+00_rb,0.99723e+00_rb,0.75819e+00_rb /) kbo(:, 3,32,12) = (/ & & 0.33695e+00_rb,0.73898e+00_rb,0.95783e+00_rb,0.10503e+01_rb,0.81270e+00_rb /) kbo(:, 4,32,12) = (/ & & 0.38441e+00_rb,0.79527e+00_rb,0.10172e+01_rb,0.10987e+01_rb,0.86313e+00_rb /) kbo(:, 5,32,12) = (/ & & 0.43473e+00_rb,0.85145e+00_rb,0.10718e+01_rb,0.11436e+01_rb,0.90933e+00_rb /) kbo(:, 1,33,12) = (/ & & 0.25524e+00_rb,0.63888e+00_rb,0.84456e+00_rb,0.95208e+00_rb,0.71177e+00_rb /) kbo(:, 2,33,12) = (/ & & 0.29923e+00_rb,0.69477e+00_rb,0.90943e+00_rb,0.10094e+01_rb,0.77043e+00_rb /) kbo(:, 3,33,12) = (/ & & 0.34555e+00_rb,0.75166e+00_rb,0.97211e+00_rb,0.10616e+01_rb,0.82442e+00_rb /) kbo(:, 4,33,12) = (/ & & 0.39409e+00_rb,0.80804e+00_rb,0.10306e+01_rb,0.11094e+01_rb,0.87396e+00_rb /) kbo(:, 5,33,12) = (/ & & 0.44532e+00_rb,0.86454e+00_rb,0.10842e+01_rb,0.11536e+01_rb,0.91947e+00_rb /) kbo(:, 1,34,12) = (/ & & 0.26139e+00_rb,0.64937e+00_rb,0.85738e+00_rb,0.96358e+00_rb,0.72330e+00_rb /) kbo(:, 2,34,12) = (/ & & 0.30644e+00_rb,0.70578e+00_rb,0.92238e+00_rb,0.10200e+01_rb,0.78117e+00_rb /) kbo(:, 3,34,12) = (/ & & 0.35368e+00_rb,0.76284e+00_rb,0.98445e+00_rb,0.10715e+01_rb,0.83457e+00_rb /) kbo(:, 4,34,12) = (/ & & 0.40294e+00_rb,0.81944e+00_rb,0.10421e+01_rb,0.11185e+01_rb,0.88331e+00_rb /) kbo(:, 5,34,12) = (/ & & 0.45497e+00_rb,0.87610e+00_rb,0.10949e+01_rb,0.11623e+01_rb,0.92821e+00_rb /) kbo(:, 1,35,12) = (/ & & 0.26429e+00_rb,0.65495e+00_rb,0.86437e+00_rb,0.96967e+00_rb,0.72944e+00_rb /) kbo(:, 2,35,12) = (/ & & 0.31003e+00_rb,0.71171e+00_rb,0.92940e+00_rb,0.10257e+01_rb,0.78687e+00_rb /) kbo(:, 3,35,12) = (/ & & 0.35779e+00_rb,0.76892e+00_rb,0.99113e+00_rb,0.10767e+01_rb,0.83993e+00_rb /) kbo(:, 4,35,12) = (/ & & 0.40757e+00_rb,0.82572e+00_rb,0.10483e+01_rb,0.11235e+01_rb,0.88834e+00_rb /) kbo(:, 5,35,12) = (/ & & 0.46005e+00_rb,0.88243e+00_rb,0.11007e+01_rb,0.11671e+01_rb,0.93291e+00_rb /) kbo(:, 1,36,12) = (/ & & 0.26301e+00_rb,0.65478e+00_rb,0.86458e+00_rb,0.96965e+00_rb,0.72937e+00_rb /) kbo(:, 2,36,12) = (/ & & 0.30906e+00_rb,0.71167e+00_rb,0.92967e+00_rb,0.10257e+01_rb,0.78687e+00_rb /) kbo(:, 3,36,12) = (/ & & 0.35709e+00_rb,0.76907e+00_rb,0.99151e+00_rb,0.10769e+01_rb,0.84005e+00_rb /) kbo(:, 4,36,12) = (/ & & 0.40702e+00_rb,0.82602e+00_rb,0.10488e+01_rb,0.11238e+01_rb,0.88850e+00_rb /) kbo(:, 5,36,12) = (/ & & 0.45966e+00_rb,0.88282e+00_rb,0.11012e+01_rb,0.11674e+01_rb,0.93315e+00_rb /) kbo(:, 1,37,12) = (/ & & 0.25532e+00_rb,0.64621e+00_rb,0.85496e+00_rb,0.96073e+00_rb,0.72018e+00_rb /) kbo(:, 2,37,12) = (/ & & 0.30133e+00_rb,0.70315e+00_rb,0.92046e+00_rb,0.10178e+01_rb,0.77861e+00_rb /) kbo(:, 3,37,12) = (/ & & 0.34928e+00_rb,0.76070e+00_rb,0.98300e+00_rb,0.10697e+01_rb,0.83253e+00_rb /) kbo(:, 4,37,12) = (/ & & 0.39901e+00_rb,0.81782e+00_rb,0.10410e+01_rb,0.11173e+01_rb,0.88173e+00_rb /) kbo(:, 5,37,12) = (/ & & 0.45136e+00_rb,0.87470e+00_rb,0.10942e+01_rb,0.11614e+01_rb,0.92694e+00_rb /) kbo(:, 1,38,12) = (/ & & 0.24761e+00_rb,0.63742e+00_rb,0.84491e+00_rb,0.95139e+00_rb,0.71066e+00_rb /) kbo(:, 2,38,12) = (/ & & 0.29353e+00_rb,0.69428e+00_rb,0.91068e+00_rb,0.10095e+01_rb,0.76992e+00_rb /) kbo(:, 3,38,12) = (/ & & 0.34135e+00_rb,0.75196e+00_rb,0.97396e+00_rb,0.10621e+01_rb,0.82461e+00_rb /) kbo(:, 4,38,12) = (/ & & 0.39084e+00_rb,0.80925e+00_rb,0.10327e+01_rb,0.11104e+01_rb,0.87459e+00_rb /) kbo(:, 5,38,12) = (/ & & 0.44289e+00_rb,0.86617e+00_rb,0.10866e+01_rb,0.11550e+01_rb,0.92038e+00_rb /) kbo(:, 1,39,12) = (/ & & 0.24017e+00_rb,0.62886e+00_rb,0.83503e+00_rb,0.94210e+00_rb,0.70124e+00_rb /) kbo(:, 2,39,12) = (/ & & 0.28601e+00_rb,0.68569e+00_rb,0.90106e+00_rb,0.10011e+01_rb,0.76142e+00_rb /) kbo(:, 3,39,12) = (/ & & 0.33368e+00_rb,0.74335e+00_rb,0.96490e+00_rb,0.10546e+01_rb,0.81673e+00_rb /) kbo(:, 4,39,12) = (/ & & 0.38296e+00_rb,0.80081e+00_rb,0.10243e+01_rb,0.11035e+01_rb,0.86747e+00_rb /) kbo(:, 5,39,12) = (/ & & 0.43465e+00_rb,0.85778e+00_rb,0.10791e+01_rb,0.11488e+01_rb,0.91385e+00_rb /) kbo(:, 1,40,12) = (/ & & 0.22833e+00_rb,0.61463e+00_rb,0.81821e+00_rb,0.92620e+00_rb,0.68530e+00_rb /) kbo(:, 2,40,12) = (/ & & 0.27395e+00_rb,0.67134e+00_rb,0.88467e+00_rb,0.98686e+00_rb,0.74688e+00_rb /) kbo(:, 3,40,12) = (/ & & 0.32124e+00_rb,0.72890e+00_rb,0.94943e+00_rb,0.10418e+01_rb,0.80324e+00_rb /) kbo(:, 4,40,12) = (/ & & 0.37015e+00_rb,0.78652e+00_rb,0.10100e+01_rb,0.10918e+01_rb,0.85523e+00_rb /) kbo(:, 5,40,12) = (/ & & 0.42126e+00_rb,0.84372e+00_rb,0.10660e+01_rb,0.11379e+01_rb,0.90264e+00_rb /) kbo(:, 1,41,12) = (/ & & 0.21612e+00_rb,0.59971e+00_rb,0.80041e+00_rb,0.90904e+00_rb,0.66824e+00_rb /) kbo(:, 2,41,12) = (/ & & 0.26150e+00_rb,0.65630e+00_rb,0.86743e+00_rb,0.97155e+00_rb,0.73120e+00_rb /) kbo(:, 3,41,12) = (/ & & 0.30837e+00_rb,0.71376e+00_rb,0.93288e+00_rb,0.10279e+01_rb,0.78880e+00_rb /) kbo(:, 4,41,12) = (/ & & 0.35698e+00_rb,0.77150e+00_rb,0.99473e+00_rb,0.10791e+01_rb,0.84209e+00_rb /) kbo(:, 5,41,12) = (/ & & 0.40745e+00_rb,0.82887e+00_rb,0.10519e+01_rb,0.11261e+01_rb,0.89062e+00_rb /) kbo(:, 1,42,12) = (/ & & 0.20417e+00_rb,0.58472e+00_rb,0.78237e+00_rb,0.89154e+00_rb,0.65066e+00_rb /) kbo(:, 2,42,12) = (/ & & 0.24921e+00_rb,0.64136e+00_rb,0.85007e+00_rb,0.95580e+00_rb,0.71510e+00_rb /) kbo(:, 3,42,12) = (/ & & 0.29566e+00_rb,0.69861e+00_rb,0.91611e+00_rb,0.10137e+01_rb,0.77414e+00_rb /) kbo(:, 4,42,12) = (/ & & 0.34395e+00_rb,0.75651e+00_rb,0.97922e+00_rb,0.10662e+01_rb,0.82865e+00_rb /) kbo(:, 5,42,12) = (/ & & 0.39383e+00_rb,0.81397e+00_rb,0.10376e+01_rb,0.11142e+01_rb,0.87842e+00_rb /) kbo(:, 1,43,12) = (/ & & 0.18997e+00_rb,0.56647e+00_rb,0.76032e+00_rb,0.86976e+00_rb,0.62901e+00_rb /) kbo(:, 2,43,12) = (/ & & 0.23447e+00_rb,0.62342e+00_rb,0.82892e+00_rb,0.93617e+00_rb,0.69524e+00_rb /) kbo(:, 3,43,12) = (/ & & 0.28050e+00_rb,0.68037e+00_rb,0.89544e+00_rb,0.99597e+00_rb,0.75607e+00_rb /) kbo(:, 4,43,12) = (/ & & 0.32830e+00_rb,0.73817e+00_rb,0.95981e+00_rb,0.10502e+01_rb,0.81194e+00_rb /) kbo(:, 5,43,12) = (/ & & 0.37763e+00_rb,0.79580e+00_rb,0.10196e+01_rb,0.10995e+01_rb,0.86317e+00_rb /) kbo(:, 1,44,12) = (/ & & 0.17494e+00_rb,0.54678e+00_rb,0.73637e+00_rb,0.84544e+00_rb,0.60542e+00_rb /) kbo(:, 2,44,12) = (/ & & 0.21877e+00_rb,0.60406e+00_rb,0.80575e+00_rb,0.91415e+00_rb,0.67322e+00_rb /) kbo(:, 3,44,12) = (/ & & 0.26445e+00_rb,0.66075e+00_rb,0.87287e+00_rb,0.97625e+00_rb,0.73598e+00_rb /) kbo(:, 4,44,12) = (/ & & 0.31161e+00_rb,0.71841e+00_rb,0.93827e+00_rb,0.10322e+01_rb,0.79326e+00_rb /) kbo(:, 5,44,12) = (/ & & 0.36052e+00_rb,0.77622e+00_rb,0.99972e+00_rb,0.10831e+01_rb,0.84620e+00_rb /) kbo(:, 1,45,12) = (/ & & 0.16016e+00_rb,0.52729e+00_rb,0.71224e+00_rb,0.82038e+00_rb,0.58172e+00_rb /) kbo(:, 2,45,12) = (/ & & 0.20336e+00_rb,0.58455e+00_rb,0.78227e+00_rb,0.89144e+00_rb,0.65050e+00_rb /) kbo(:, 3,45,12) = (/ & & 0.24861e+00_rb,0.64128e+00_rb,0.85023e+00_rb,0.95584e+00_rb,0.71509e+00_rb /) kbo(:, 4,45,12) = (/ & & 0.29518e+00_rb,0.69870e+00_rb,0.91640e+00_rb,0.10138e+01_rb,0.77417e+00_rb /) kbo(:, 5,45,12) = (/ & & 0.34361e+00_rb,0.75661e+00_rb,0.97947e+00_rb,0.10663e+01_rb,0.82874e+00_rb /) kbo(:, 1,46,12) = (/ & & 0.14495e+00_rb,0.50668e+00_rb,0.68614e+00_rb,0.79268e+00_rb,0.55619e+00_rb /) kbo(:, 2,46,12) = (/ & & 0.18729e+00_rb,0.56366e+00_rb,0.75707e+00_rb,0.86650e+00_rb,0.62580e+00_rb /) kbo(:, 3,46,12) = (/ & & 0.23189e+00_rb,0.62077e+00_rb,0.82600e+00_rb,0.93336e+00_rb,0.69232e+00_rb /) kbo(:, 4,46,12) = (/ & & 0.27798e+00_rb,0.67784e+00_rb,0.89269e+00_rb,0.99345e+00_rb,0.75352e+00_rb /) kbo(:, 5,46,12) = (/ & & 0.32583e+00_rb,0.73560e+00_rb,0.95715e+00_rb,0.10480e+01_rb,0.80957e+00_rb /) kbo(:, 1,47,12) = (/ & & 0.12858e+00_rb,0.48369e+00_rb,0.65638e+00_rb,0.76017e+00_rb,0.52730e+00_rb /) kbo(:, 2,47,12) = (/ & & 0.16969e+00_rb,0.54041e+00_rb,0.72859e+00_rb,0.83745e+00_rb,0.59783e+00_rb /) kbo(:, 3,47,12) = (/ & & 0.21344e+00_rb,0.59783e+00_rb,0.79837e+00_rb,0.90704e+00_rb,0.66606e+00_rb /) kbo(:, 4,47,12) = (/ & & 0.25910e+00_rb,0.65455e+00_rb,0.86586e+00_rb,0.96989e+00_rb,0.72949e+00_rb /) kbo(:, 5,47,12) = (/ & & 0.30618e+00_rb,0.71222e+00_rb,0.93155e+00_rb,0.10265e+01_rb,0.78728e+00_rb /) kbo(:, 1,48,12) = (/ & & 0.11298e+00_rb,0.46082e+00_rb,0.62642e+00_rb,0.72640e+00_rb,0.49809e+00_rb /) kbo(:, 2,48,12) = (/ & & 0.15246e+00_rb,0.51740e+00_rb,0.69983e+00_rb,0.80735e+00_rb,0.56961e+00_rb /) kbo(:, 3,48,12) = (/ & & 0.19539e+00_rb,0.57459e+00_rb,0.77041e+00_rb,0.87978e+00_rb,0.63885e+00_rb /) kbo(:, 4,48,12) = (/ & & 0.24045e+00_rb,0.63157e+00_rb,0.83892e+00_rb,0.94534e+00_rb,0.70441e+00_rb /) kbo(:, 5,48,12) = (/ & & 0.28683e+00_rb,0.68881e+00_rb,0.90534e+00_rb,0.10043e+01_rb,0.76449e+00_rb /) kbo(:, 1,49,12) = (/ & & 0.98247e-01_rb,0.43787e+00_rb,0.59630e+00_rb,0.69142e+00_rb,0.46886e+00_rb /) kbo(:, 2,49,12) = (/ & & 0.13602e+00_rb,0.49453e+00_rb,0.67051e+00_rb,0.77567e+00_rb,0.54098e+00_rb /) kbo(:, 3,49,12) = (/ & & 0.17773e+00_rb,0.55136e+00_rb,0.74221e+00_rb,0.85142e+00_rb,0.61109e+00_rb /) kbo(:, 4,49,12) = (/ & & 0.22196e+00_rb,0.60876e+00_rb,0.81162e+00_rb,0.91969e+00_rb,0.67863e+00_rb /) kbo(:, 5,49,12) = (/ & & 0.26789e+00_rb,0.66564e+00_rb,0.87866e+00_rb,0.98128e+00_rb,0.74108e+00_rb /) kbo(:, 1,50,12) = (/ & & 0.85448e-01_rb,0.41621e+00_rb,0.56763e+00_rb,0.65757e+00_rb,0.44117e+00_rb /) kbo(:, 2,50,12) = (/ & & 0.12109e+00_rb,0.47310e+00_rb,0.64247e+00_rb,0.74462e+00_rb,0.51379e+00_rb /) kbo(:, 3,50,12) = (/ & & 0.16156e+00_rb,0.52985e+00_rb,0.71554e+00_rb,0.82373e+00_rb,0.58488e+00_rb /) kbo(:, 4,50,12) = (/ & & 0.20488e+00_rb,0.58711e+00_rb,0.78559e+00_rb,0.89468e+00_rb,0.65362e+00_rb /) kbo(:, 5,50,12) = (/ & & 0.25037e+00_rb,0.64398e+00_rb,0.85353e+00_rb,0.95880e+00_rb,0.71804e+00_rb /) kbo(:, 1,51,12) = (/ & & 0.73759e-01_rb,0.39485e+00_rb,0.53977e+00_rb,0.62407e+00_rb,0.41437e+00_rb /) kbo(:, 2,51,12) = (/ & & 0.10727e+00_rb,0.45237e+00_rb,0.61531e+00_rb,0.71353e+00_rb,0.48727e+00_rb /) kbo(:, 3,51,12) = (/ & & 0.14620e+00_rb,0.50899e+00_rb,0.68916e+00_rb,0.79586e+00_rb,0.55909e+00_rb /) kbo(:, 4,51,12) = (/ & & 0.18867e+00_rb,0.56597e+00_rb,0.76009e+00_rb,0.86950e+00_rb,0.62868e+00_rb /) kbo(:, 5,51,12) = (/ & & 0.23351e+00_rb,0.62321e+00_rb,0.82900e+00_rb,0.93613e+00_rb,0.69507e+00_rb /) kbo(:, 1,52,12) = (/ & & 0.62975e-01_rb,0.37352e+00_rb,0.51168e+00_rb,0.59007e+00_rb,0.38790e+00_rb /) kbo(:, 2,52,12) = (/ & & 0.94238e-01_rb,0.43155e+00_rb,0.58786e+00_rb,0.68153e+00_rb,0.46072e+00_rb /) kbo(:, 3,52,12) = (/ & & 0.13138e+00_rb,0.48824e+00_rb,0.66233e+00_rb,0.76673e+00_rb,0.53305e+00_rb /) kbo(:, 4,52,12) = (/ & & 0.17291e+00_rb,0.54507e+00_rb,0.73444e+00_rb,0.84335e+00_rb,0.60343e+00_rb /) kbo(:, 5,52,12) = (/ & & 0.21681e+00_rb,0.60245e+00_rb,0.80402e+00_rb,0.91249e+00_rb,0.67147e+00_rb /) kbo(:, 1,53,12) = (/ & & 0.53060e-01_rb,0.35230e+00_rb,0.48353e+00_rb,0.55561e+00_rb,0.36178e+00_rb /) kbo(:, 2,53,12) = (/ & & 0.81984e-01_rb,0.41041e+00_rb,0.56005e+00_rb,0.64855e+00_rb,0.43393e+00_rb /) kbo(:, 3,53,12) = (/ & & 0.11713e+00_rb,0.46754e+00_rb,0.63518e+00_rb,0.73640e+00_rb,0.50665e+00_rb /) kbo(:, 4,53,12) = (/ & & 0.15723e+00_rb,0.52417e+00_rb,0.70847e+00_rb,0.81636e+00_rb,0.57800e+00_rb /) kbo(:, 5,53,12) = (/ & & 0.20038e+00_rb,0.58144e+00_rb,0.77877e+00_rb,0.88807e+00_rb,0.64700e+00_rb /) kbo(:, 1,54,12) = (/ & & 0.44825e-01_rb,0.33285e+00_rb,0.45764e+00_rb,0.52392e+00_rb,0.33821e+00_rb /) kbo(:, 2,54,12) = (/ & & 0.71480e-01_rb,0.39083e+00_rb,0.53456e+00_rb,0.61778e+00_rb,0.40943e+00_rb /) kbo(:, 3,54,12) = (/ & & 0.10463e+00_rb,0.44857e+00_rb,0.61031e+00_rb,0.70773e+00_rb,0.48234e+00_rb /) kbo(:, 4,54,12) = (/ & & 0.14329e+00_rb,0.50511e+00_rb,0.68427e+00_rb,0.79060e+00_rb,0.55433e+00_rb /) kbo(:, 5,54,12) = (/ & & 0.18561e+00_rb,0.56209e+00_rb,0.75543e+00_rb,0.86487e+00_rb,0.62409e+00_rb /) kbo(:, 1,55,12) = (/ & & 0.37713e-01_rb,0.31417e+00_rb,0.43292e+00_rb,0.49354e+00_rb,0.31617e+00_rb /) kbo(:, 2,55,12) = (/ & & 0.62120e-01_rb,0.37210e+00_rb,0.50985e+00_rb,0.58786e+00_rb,0.38623e+00_rb /) kbo(:, 3,55,12) = (/ & & 0.93283e-01_rb,0.43021e+00_rb,0.58608e+00_rb,0.67950e+00_rb,0.45902e+00_rb /) kbo(:, 4,55,12) = (/ & & 0.13035e+00_rb,0.48690e+00_rb,0.66064e+00_rb,0.76487e+00_rb,0.53142e+00_rb /) kbo(:, 5,55,12) = (/ & & 0.17183e+00_rb,0.54374e+00_rb,0.73284e+00_rb,0.84168e+00_rb,0.60189e+00_rb /) kbo(:, 1,56,12) = (/ & & 0.31364e-01_rb,0.29533e+00_rb,0.40826e+00_rb,0.46346e+00_rb,0.29456e+00_rb /) kbo(:, 2,56,12) = (/ & & 0.53447e-01_rb,0.35352e+00_rb,0.48522e+00_rb,0.55771e+00_rb,0.36336e+00_rb /) kbo(:, 3,56,12) = (/ & & 0.82579e-01_rb,0.41171e+00_rb,0.56173e+00_rb,0.65061e+00_rb,0.43556e+00_rb /) kbo(:, 4,56,12) = (/ & & 0.11788e+00_rb,0.46877e+00_rb,0.63683e+00_rb,0.73828e+00_rb,0.50830e+00_rb /) kbo(:, 5,56,12) = (/ & & 0.15810e+00_rb,0.52547e+00_rb,0.71011e+00_rb,0.81806e+00_rb,0.57961e+00_rb /) kbo(:, 1,57,12) = (/ & & 0.25728e-01_rb,0.27641e+00_rb,0.38366e+00_rb,0.43364e+00_rb,0.27324e+00_rb /) kbo(:, 2,57,12) = (/ & & 0.45538e-01_rb,0.33495e+00_rb,0.46047e+00_rb,0.52741e+00_rb,0.34078e+00_rb /) kbo(:, 3,57,12) = (/ & & 0.72492e-01_rb,0.39302e+00_rb,0.53741e+00_rb,0.62128e+00_rb,0.41216e+00_rb /) kbo(:, 4,57,12) = (/ & & 0.10590e+00_rb,0.45065e+00_rb,0.61311e+00_rb,0.71103e+00_rb,0.48510e+00_rb /) kbo(:, 5,57,12) = (/ & & 0.14476e+00_rb,0.50725e+00_rb,0.68700e+00_rb,0.79354e+00_rb,0.55702e+00_rb /) kbo(:, 1,58,12) = (/ & & 0.21034e-01_rb,0.25862e+00_rb,0.36035e+00_rb,0.40559e+00_rb,0.25327e+00_rb /) kbo(:, 2,58,12) = (/ & & 0.38718e-01_rb,0.31732e+00_rb,0.43714e+00_rb,0.49876e+00_rb,0.31992e+00_rb /) kbo(:, 3,58,12) = (/ & & 0.63552e-01_rb,0.37529e+00_rb,0.51407e+00_rb,0.59305e+00_rb,0.39018e+00_rb /) kbo(:, 4,58,12) = (/ & & 0.95105e-01_rb,0.43334e+00_rb,0.59030e+00_rb,0.68443e+00_rb,0.46307e+00_rb /) kbo(:, 5,58,12) = (/ & & 0.13248e+00_rb,0.49002e+00_rb,0.66471e+00_rb,0.76934e+00_rb,0.53538e+00_rb /) kbo(:, 1,59,12) = (/ & & 0.19312e-01_rb,0.25156e+00_rb,0.35103e+00_rb,0.39450e+00_rb,0.24538e+00_rb /) kbo(:, 2,59,12) = (/ & & 0.36163e-01_rb,0.31020e+00_rb,0.42773e+00_rb,0.48723e+00_rb,0.31163e+00_rb /) kbo(:, 3,59,12) = (/ & & 0.60143e-01_rb,0.36820e+00_rb,0.50471e+00_rb,0.58164e+00_rb,0.38146e+00_rb /) kbo(:, 4,59,12) = (/ & & 0.90924e-01_rb,0.42637e+00_rb,0.58105e+00_rb,0.67358e+00_rb,0.45417e+00_rb /) kbo(:, 5,59,12) = (/ & & 0.12765e+00_rb,0.48313e+00_rb,0.65572e+00_rb,0.75941e+00_rb,0.52665e+00_rb /) kbo(:, 1,13,13) = (/ & & 0.25702e+01_rb,0.27735e+01_rb,0.28760e+01_rb,0.25966e+01_rb,0.23968e+01_rb /) kbo(:, 2,13,13) = (/ & & 0.25597e+01_rb,0.27776e+01_rb,0.28903e+01_rb,0.26158e+01_rb,0.24224e+01_rb /) kbo(:, 3,13,13) = (/ & & 0.25494e+01_rb,0.27801e+01_rb,0.29040e+01_rb,0.26351e+01_rb,0.24494e+01_rb /) kbo(:, 4,13,13) = (/ & & 0.25338e+01_rb,0.27802e+01_rb,0.29182e+01_rb,0.26543e+01_rb,0.24747e+01_rb /) kbo(:, 5,13,13) = (/ & & 0.25177e+01_rb,0.27760e+01_rb,0.29320e+01_rb,0.26728e+01_rb,0.24963e+01_rb /) kbo(:, 1,14,13) = (/ & & 0.23659e+01_rb,0.26936e+01_rb,0.28410e+01_rb,0.26130e+01_rb,0.23363e+01_rb /) kbo(:, 2,14,13) = (/ & & 0.23577e+01_rb,0.27024e+01_rb,0.28615e+01_rb,0.26344e+01_rb,0.23684e+01_rb /) kbo(:, 3,14,13) = (/ & & 0.23468e+01_rb,0.27102e+01_rb,0.28819e+01_rb,0.26565e+01_rb,0.24004e+01_rb /) kbo(:, 4,14,13) = (/ & & 0.23350e+01_rb,0.27153e+01_rb,0.29051e+01_rb,0.26785e+01_rb,0.24267e+01_rb /) kbo(:, 5,14,13) = (/ & & 0.23244e+01_rb,0.27141e+01_rb,0.29262e+01_rb,0.26967e+01_rb,0.24480e+01_rb /) kbo(:, 1,15,13) = (/ & & 0.21606e+01_rb,0.25927e+01_rb,0.27805e+01_rb,0.26146e+01_rb,0.22773e+01_rb /) kbo(:, 2,15,13) = (/ & & 0.21537e+01_rb,0.26084e+01_rb,0.28087e+01_rb,0.26417e+01_rb,0.23162e+01_rb /) kbo(:, 3,15,13) = (/ & & 0.21448e+01_rb,0.26237e+01_rb,0.28408e+01_rb,0.26683e+01_rb,0.23515e+01_rb /) kbo(:, 4,15,13) = (/ & & 0.21380e+01_rb,0.26327e+01_rb,0.28720e+01_rb,0.26931e+01_rb,0.23792e+01_rb /) kbo(:, 5,15,13) = (/ & & 0.21347e+01_rb,0.26387e+01_rb,0.29018e+01_rb,0.27159e+01_rb,0.24036e+01_rb /) kbo(:, 1,16,13) = (/ & & 0.19588e+01_rb,0.24824e+01_rb,0.27086e+01_rb,0.26036e+01_rb,0.22170e+01_rb /) kbo(:, 2,16,13) = (/ & & 0.19544e+01_rb,0.25053e+01_rb,0.27466e+01_rb,0.26370e+01_rb,0.22638e+01_rb /) kbo(:, 3,16,13) = (/ & & 0.19508e+01_rb,0.25256e+01_rb,0.27882e+01_rb,0.26694e+01_rb,0.23023e+01_rb /) kbo(:, 4,16,13) = (/ & & 0.19522e+01_rb,0.25422e+01_rb,0.28288e+01_rb,0.26997e+01_rb,0.23338e+01_rb /) kbo(:, 5,16,13) = (/ & & 0.19669e+01_rb,0.25568e+01_rb,0.28660e+01_rb,0.27268e+01_rb,0.23639e+01_rb /) kbo(:, 1,17,13) = (/ & & 0.17683e+01_rb,0.23717e+01_rb,0.26296e+01_rb,0.25828e+01_rb,0.21586e+01_rb /) kbo(:, 2,17,13) = (/ & & 0.17670e+01_rb,0.24002e+01_rb,0.26798e+01_rb,0.26243e+01_rb,0.22104e+01_rb /) kbo(:, 3,17,13) = (/ & & 0.17705e+01_rb,0.24261e+01_rb,0.27313e+01_rb,0.26643e+01_rb,0.22525e+01_rb /) kbo(:, 4,17,13) = (/ & & 0.17889e+01_rb,0.24495e+01_rb,0.27802e+01_rb,0.27001e+01_rb,0.22912e+01_rb /) kbo(:, 5,17,13) = (/ & & 0.18206e+01_rb,0.24734e+01_rb,0.28261e+01_rb,0.27304e+01_rb,0.23278e+01_rb /) kbo(:, 1,18,13) = (/ & & 0.15903e+01_rb,0.22606e+01_rb,0.25530e+01_rb,0.25561e+01_rb,0.21033e+01_rb /) kbo(:, 2,18,13) = (/ & & 0.15961e+01_rb,0.22974e+01_rb,0.26139e+01_rb,0.26069e+01_rb,0.21585e+01_rb /) kbo(:, 3,18,13) = (/ & & 0.16151e+01_rb,0.23303e+01_rb,0.26738e+01_rb,0.26546e+01_rb,0.22069e+01_rb /) kbo(:, 4,18,13) = (/ & & 0.16495e+01_rb,0.23625e+01_rb,0.27316e+01_rb,0.26970e+01_rb,0.22532e+01_rb /) kbo(:, 5,18,13) = (/ & & 0.16970e+01_rb,0.23957e+01_rb,0.27859e+01_rb,0.27320e+01_rb,0.22970e+01_rb /) kbo(:, 1,19,13) = (/ & & 0.14257e+01_rb,0.21563e+01_rb,0.24826e+01_rb,0.25271e+01_rb,0.20500e+01_rb /) kbo(:, 2,19,13) = (/ & & 0.14448e+01_rb,0.21999e+01_rb,0.25521e+01_rb,0.25882e+01_rb,0.21113e+01_rb /) kbo(:, 3,19,13) = (/ & & 0.14809e+01_rb,0.22420e+01_rb,0.26202e+01_rb,0.26436e+01_rb,0.21676e+01_rb /) kbo(:, 4,19,13) = (/ & & 0.15301e+01_rb,0.22839e+01_rb,0.26861e+01_rb,0.26918e+01_rb,0.22215e+01_rb /) kbo(:, 5,19,13) = (/ & & 0.15917e+01_rb,0.23278e+01_rb,0.27486e+01_rb,0.27324e+01_rb,0.22720e+01_rb /) kbo(:, 1,20,13) = (/ & & 0.12800e+01_rb,0.20626e+01_rb,0.24230e+01_rb,0.25008e+01_rb,0.20040e+01_rb /) kbo(:, 2,20,13) = (/ & & 0.13152e+01_rb,0.21132e+01_rb,0.24996e+01_rb,0.25711e+01_rb,0.20725e+01_rb /) kbo(:, 3,20,13) = (/ & & 0.13653e+01_rb,0.21643e+01_rb,0.25750e+01_rb,0.26341e+01_rb,0.21362e+01_rb /) kbo(:, 4,20,13) = (/ & & 0.14290e+01_rb,0.22166e+01_rb,0.26493e+01_rb,0.26871e+01_rb,0.21969e+01_rb /) kbo(:, 5,20,13) = (/ & & 0.15047e+01_rb,0.22739e+01_rb,0.27186e+01_rb,0.27332e+01_rb,0.22536e+01_rb /) kbo(:, 1,21,13) = (/ & & 0.11565e+01_rb,0.19804e+01_rb,0.23723e+01_rb,0.24790e+01_rb,0.19652e+01_rb /) kbo(:, 2,21,13) = (/ & & 0.12043e+01_rb,0.20401e+01_rb,0.24563e+01_rb,0.25572e+01_rb,0.20406e+01_rb /) kbo(:, 3,21,13) = (/ & & 0.12682e+01_rb,0.20995e+01_rb,0.25386e+01_rb,0.26265e+01_rb,0.21117e+01_rb /) kbo(:, 4,21,13) = (/ & & 0.13446e+01_rb,0.21634e+01_rb,0.26197e+01_rb,0.26846e+01_rb,0.21783e+01_rb /) kbo(:, 5,21,13) = (/ & & 0.14328e+01_rb,0.22322e+01_rb,0.26943e+01_rb,0.27351e+01_rb,0.22400e+01_rb /) kbo(:, 1,22,13) = (/ & & 0.10567e+01_rb,0.19161e+01_rb,0.23380e+01_rb,0.24675e+01_rb,0.19394e+01_rb /) kbo(:, 2,22,13) = (/ & & 0.11171e+01_rb,0.19843e+01_rb,0.24279e+01_rb,0.25525e+01_rb,0.20217e+01_rb /) kbo(:, 3,22,13) = (/ & & 0.11926e+01_rb,0.20529e+01_rb,0.25167e+01_rb,0.26264e+01_rb,0.20987e+01_rb /) kbo(:, 4,22,13) = (/ & & 0.12819e+01_rb,0.21280e+01_rb,0.26028e+01_rb,0.26881e+01_rb,0.21696e+01_rb /) kbo(:, 5,22,13) = (/ & & 0.13818e+01_rb,0.22069e+01_rb,0.26807e+01_rb,0.27417e+01_rb,0.22350e+01_rb /) kbo(:, 1,23,13) = (/ & & 0.97722e+00_rb,0.18665e+01_rb,0.23140e+01_rb,0.24623e+01_rb,0.19226e+01_rb /) kbo(:, 2,23,13) = (/ & & 0.10487e+01_rb,0.19424e+01_rb,0.24103e+01_rb,0.25530e+01_rb,0.20109e+01_rb /) kbo(:, 3,23,13) = (/ & & 0.11351e+01_rb,0.20216e+01_rb,0.25035e+01_rb,0.26294e+01_rb,0.20926e+01_rb /) kbo(:, 4,23,13) = (/ & & 0.12356e+01_rb,0.21056e+01_rb,0.25931e+01_rb,0.26937e+01_rb,0.21670e+01_rb /) kbo(:, 5,23,13) = (/ & & 0.13470e+01_rb,0.21926e+01_rb,0.26734e+01_rb,0.27495e+01_rb,0.22345e+01_rb /) kbo(:, 1,24,13) = (/ & & 0.91609e+00_rb,0.18302e+01_rb,0.23004e+01_rb,0.24641e+01_rb,0.19149e+01_rb /) kbo(:, 2,24,13) = (/ & & 0.99757e+00_rb,0.19150e+01_rb,0.24014e+01_rb,0.25579e+01_rb,0.20076e+01_rb /) kbo(:, 3,24,13) = (/ & & 0.10945e+01_rb,0.20031e+01_rb,0.24987e+01_rb,0.26360e+01_rb,0.20926e+01_rb /) kbo(:, 4,24,13) = (/ & & 0.12058e+01_rb,0.20942e+01_rb,0.25896e+01_rb,0.27020e+01_rb,0.21691e+01_rb /) kbo(:, 5,24,13) = (/ & & 0.13269e+01_rb,0.21869e+01_rb,0.26718e+01_rb,0.27594e+01_rb,0.22381e+01_rb /) kbo(:, 1,25,13) = (/ & & 0.87183e+00_rb,0.18068e+01_rb,0.22964e+01_rb,0.24719e+01_rb,0.19153e+01_rb /) kbo(:, 2,25,13) = (/ & & 0.96269e+00_rb,0.19004e+01_rb,0.24012e+01_rb,0.25669e+01_rb,0.20109e+01_rb /) kbo(:, 3,25,13) = (/ & & 0.10701e+01_rb,0.19953e+01_rb,0.24998e+01_rb,0.26458e+01_rb,0.20980e+01_rb /) kbo(:, 4,25,13) = (/ & & 0.11910e+01_rb,0.20919e+01_rb,0.25913e+01_rb,0.27126e+01_rb,0.21754e+01_rb /) kbo(:, 5,25,13) = (/ & & 0.13188e+01_rb,0.21891e+01_rb,0.26749e+01_rb,0.27711e+01_rb,0.22449e+01_rb /) kbo(:, 1,26,13) = (/ & & 0.84313e+00_rb,0.17965e+01_rb,0.23011e+01_rb,0.24858e+01_rb,0.19238e+01_rb /) kbo(:, 2,26,13) = (/ & & 0.94434e+00_rb,0.18970e+01_rb,0.24073e+01_rb,0.25798e+01_rb,0.20205e+01_rb /) kbo(:, 3,26,13) = (/ & & 0.10612e+01_rb,0.19972e+01_rb,0.25069e+01_rb,0.26589e+01_rb,0.21080e+01_rb /) kbo(:, 4,26,13) = (/ & & 0.11887e+01_rb,0.20979e+01_rb,0.25988e+01_rb,0.27257e+01_rb,0.21853e+01_rb /) kbo(:, 5,26,13) = (/ & & 0.13225e+01_rb,0.21985e+01_rb,0.26831e+01_rb,0.27841e+01_rb,0.22550e+01_rb /) kbo(:, 1,27,13) = (/ & & 0.82783e+00_rb,0.17960e+01_rb,0.23110e+01_rb,0.25019e+01_rb,0.19363e+01_rb /) kbo(:, 2,27,13) = (/ & & 0.93873e+00_rb,0.19014e+01_rb,0.24182e+01_rb,0.25950e+01_rb,0.20338e+01_rb /) kbo(:, 3,27,13) = (/ & & 0.10628e+01_rb,0.20052e+01_rb,0.25176e+01_rb,0.26735e+01_rb,0.21206e+01_rb /) kbo(:, 4,27,13) = (/ & & 0.11961e+01_rb,0.21092e+01_rb,0.26097e+01_rb,0.27398e+01_rb,0.21974e+01_rb /) kbo(:, 5,27,13) = (/ & & 0.13342e+01_rb,0.22123e+01_rb,0.26944e+01_rb,0.27973e+01_rb,0.22665e+01_rb /) kbo(:, 1,28,13) = (/ & & 0.82452e+00_rb,0.18027e+01_rb,0.23247e+01_rb,0.25200e+01_rb,0.19523e+01_rb /) kbo(:, 2,28,13) = (/ & & 0.94277e+00_rb,0.19121e+01_rb,0.24323e+01_rb,0.26114e+01_rb,0.20494e+01_rb /) kbo(:, 3,28,13) = (/ & & 0.10725e+01_rb,0.20183e+01_rb,0.25313e+01_rb,0.26888e+01_rb,0.21352e+01_rb /) kbo(:, 4,28,13) = (/ & & 0.12107e+01_rb,0.21244e+01_rb,0.26233e+01_rb,0.27544e+01_rb,0.22110e+01_rb /) kbo(:, 5,28,13) = (/ & & 0.13516e+01_rb,0.22292e+01_rb,0.27078e+01_rb,0.28106e+01_rb,0.22794e+01_rb /) kbo(:, 1,29,13) = (/ & & 0.83075e+00_rb,0.18160e+01_rb,0.23425e+01_rb,0.25401e+01_rb,0.19712e+01_rb /) kbo(:, 2,29,13) = (/ & & 0.95513e+00_rb,0.19278e+01_rb,0.24494e+01_rb,0.26294e+01_rb,0.20669e+01_rb /) kbo(:, 3,29,13) = (/ & & 0.10900e+01_rb,0.20358e+01_rb,0.25478e+01_rb,0.27053e+01_rb,0.21513e+01_rb /) kbo(:, 4,29,13) = (/ & & 0.12315e+01_rb,0.21431e+01_rb,0.26391e+01_rb,0.27692e+01_rb,0.22259e+01_rb /) kbo(:, 5,29,13) = (/ & & 0.13745e+01_rb,0.22488e+01_rb,0.27235e+01_rb,0.28240e+01_rb,0.22934e+01_rb /) kbo(:, 1,30,13) = (/ & & 0.84416e+00_rb,0.18336e+01_rb,0.23624e+01_rb,0.25609e+01_rb,0.19916e+01_rb /) kbo(:, 2,30,13) = (/ & & 0.97368e+00_rb,0.19464e+01_rb,0.24682e+01_rb,0.26481e+01_rb,0.20854e+01_rb /) kbo(:, 3,30,13) = (/ & & 0.11126e+01_rb,0.20559e+01_rb,0.25658e+01_rb,0.27219e+01_rb,0.21680e+01_rb /) kbo(:, 4,30,13) = (/ & & 0.12564e+01_rb,0.21643e+01_rb,0.26566e+01_rb,0.27840e+01_rb,0.22414e+01_rb /) kbo(:, 5,30,13) = (/ & & 0.14008e+01_rb,0.22700e+01_rb,0.27405e+01_rb,0.28371e+01_rb,0.23076e+01_rb /) kbo(:, 1,31,13) = (/ & & 0.86384e+00_rb,0.18548e+01_rb,0.23844e+01_rb,0.25824e+01_rb,0.20133e+01_rb /) kbo(:, 2,31,13) = (/ & & 0.99753e+00_rb,0.19681e+01_rb,0.24888e+01_rb,0.26671e+01_rb,0.21046e+01_rb /) kbo(:, 3,31,13) = (/ & & 0.11394e+01_rb,0.20787e+01_rb,0.25856e+01_rb,0.27387e+01_rb,0.21855e+01_rb /) kbo(:, 4,31,13) = (/ & & 0.12850e+01_rb,0.21876e+01_rb,0.26758e+01_rb,0.27988e+01_rb,0.22577e+01_rb /) kbo(:, 5,31,13) = (/ & & 0.14304e+01_rb,0.22931e+01_rb,0.27584e+01_rb,0.28498e+01_rb,0.23225e+01_rb /) kbo(:, 1,32,13) = (/ & & 0.88808e+00_rb,0.18788e+01_rb,0.24078e+01_rb,0.26044e+01_rb,0.20359e+01_rb /) kbo(:, 2,32,13) = (/ & & 0.10254e+01_rb,0.19921e+01_rb,0.25106e+01_rb,0.26862e+01_rb,0.21246e+01_rb /) kbo(:, 3,32,13) = (/ & & 0.11696e+01_rb,0.21031e+01_rb,0.26064e+01_rb,0.27554e+01_rb,0.22034e+01_rb /) kbo(:, 4,32,13) = (/ & & 0.13164e+01_rb,0.22122e+01_rb,0.26955e+01_rb,0.28135e+01_rb,0.22742e+01_rb /) kbo(:, 5,32,13) = (/ & & 0.14621e+01_rb,0.23175e+01_rb,0.27772e+01_rb,0.28624e+01_rb,0.23376e+01_rb /) kbo(:, 1,33,13) = (/ & & 0.91576e+00_rb,0.19044e+01_rb,0.24318e+01_rb,0.26262e+01_rb,0.20585e+01_rb /) kbo(:, 2,33,13) = (/ & & 0.10563e+01_rb,0.20178e+01_rb,0.25332e+01_rb,0.27053e+01_rb,0.21448e+01_rb /) kbo(:, 3,33,13) = (/ & & 0.12022e+01_rb,0.21286e+01_rb,0.26280e+01_rb,0.27719e+01_rb,0.22216e+01_rb /) kbo(:, 4,33,13) = (/ & & 0.13498e+01_rb,0.22379e+01_rb,0.27158e+01_rb,0.28276e+01_rb,0.22909e+01_rb /) kbo(:, 5,33,13) = (/ & & 0.14952e+01_rb,0.23427e+01_rb,0.27963e+01_rb,0.28748e+01_rb,0.23524e+01_rb /) kbo(:, 1,34,13) = (/ & & 0.94113e+00_rb,0.19270e+01_rb,0.24527e+01_rb,0.26448e+01_rb,0.20775e+01_rb /) kbo(:, 2,34,13) = (/ & & 0.10840e+01_rb,0.20405e+01_rb,0.25528e+01_rb,0.27213e+01_rb,0.21619e+01_rb /) kbo(:, 3,34,13) = (/ & & 0.12311e+01_rb,0.21512e+01_rb,0.26466e+01_rb,0.27855e+01_rb,0.22370e+01_rb /) kbo(:, 4,34,13) = (/ & & 0.13793e+01_rb,0.22602e+01_rb,0.27333e+01_rb,0.28395e+01_rb,0.23050e+01_rb /) kbo(:, 5,34,13) = (/ & & 0.15242e+01_rb,0.23644e+01_rb,0.28128e+01_rb,0.28850e+01_rb,0.23650e+01_rb /) kbo(:, 1,35,13) = (/ & & 0.95467e+00_rb,0.19391e+01_rb,0.24637e+01_rb,0.26549e+01_rb,0.20879e+01_rb /) kbo(:, 2,35,13) = (/ & & 0.10989e+01_rb,0.20529e+01_rb,0.25635e+01_rb,0.27301e+01_rb,0.21712e+01_rb /) kbo(:, 3,35,13) = (/ & & 0.12468e+01_rb,0.21638e+01_rb,0.26569e+01_rb,0.27931e+01_rb,0.22456e+01_rb /) kbo(:, 4,35,13) = (/ & & 0.13953e+01_rb,0.22726e+01_rb,0.27430e+01_rb,0.28463e+01_rb,0.23128e+01_rb /) kbo(:, 5,35,13) = (/ & & 0.15401e+01_rb,0.23764e+01_rb,0.28219e+01_rb,0.28908e+01_rb,0.23721e+01_rb /) kbo(:, 1,36,13) = (/ & & 0.95401e+00_rb,0.19393e+01_rb,0.24641e+01_rb,0.26563e+01_rb,0.20890e+01_rb /) kbo(:, 2,36,13) = (/ & & 0.10986e+01_rb,0.20534e+01_rb,0.25640e+01_rb,0.27314e+01_rb,0.21722e+01_rb /) kbo(:, 3,36,13) = (/ & & 0.12470e+01_rb,0.21646e+01_rb,0.26577e+01_rb,0.27946e+01_rb,0.22466e+01_rb /) kbo(:, 4,36,13) = (/ & & 0.13959e+01_rb,0.22738e+01_rb,0.27440e+01_rb,0.28477e+01_rb,0.23138e+01_rb /) kbo(:, 5,36,13) = (/ & & 0.15410e+01_rb,0.23778e+01_rb,0.28230e+01_rb,0.28922e+01_rb,0.23732e+01_rb /) kbo(:, 1,37,13) = (/ & & 0.93269e+00_rb,0.19221e+01_rb,0.24490e+01_rb,0.26452e+01_rb,0.20765e+01_rb /) kbo(:, 2,37,13) = (/ & & 0.10767e+01_rb,0.20372e+01_rb,0.25499e+01_rb,0.27223e+01_rb,0.21614e+01_rb /) kbo(:, 3,37,13) = (/ & & 0.12250e+01_rb,0.21490e+01_rb,0.26449e+01_rb,0.27873e+01_rb,0.22369e+01_rb /) kbo(:, 4,37,13) = (/ & & 0.13744e+01_rb,0.22588e+01_rb,0.27324e+01_rb,0.28416e+01_rb,0.23053e+01_rb /) kbo(:, 5,37,13) = (/ & & 0.15205e+01_rb,0.23639e+01_rb,0.28124e+01_rb,0.28871e+01_rb,0.23656e+01_rb /) kbo(:, 1,38,13) = (/ & & 0.91080e+00_rb,0.19040e+01_rb,0.24332e+01_rb,0.26332e+01_rb,0.20631e+01_rb /) kbo(:, 2,38,13) = (/ & & 0.10540e+01_rb,0.20201e+01_rb,0.25351e+01_rb,0.27123e+01_rb,0.21497e+01_rb /) kbo(:, 3,38,13) = (/ & & 0.12022e+01_rb,0.21326e+01_rb,0.26310e+01_rb,0.27790e+01_rb,0.22264e+01_rb /) kbo(:, 4,38,13) = (/ & & 0.13520e+01_rb,0.22432e+01_rb,0.27202e+01_rb,0.28347e+01_rb,0.22959e+01_rb /) kbo(:, 5,38,13) = (/ & & 0.14989e+01_rb,0.23490e+01_rb,0.28012e+01_rb,0.28815e+01_rb,0.23575e+01_rb /) kbo(:, 1,39,13) = (/ & & 0.88956e+00_rb,0.18861e+01_rb,0.24173e+01_rb,0.26207e+01_rb,0.20495e+01_rb /) kbo(:, 2,39,13) = (/ & & 0.10319e+01_rb,0.20032e+01_rb,0.25205e+01_rb,0.27021e+01_rb,0.21379e+01_rb /) kbo(:, 3,39,13) = (/ & & 0.11798e+01_rb,0.21163e+01_rb,0.26173e+01_rb,0.27704e+01_rb,0.22159e+01_rb /) kbo(:, 4,39,13) = (/ & & 0.13298e+01_rb,0.22272e+01_rb,0.27078e+01_rb,0.28277e+01_rb,0.22865e+01_rb /) kbo(:, 5,39,13) = (/ & & 0.14775e+01_rb,0.23341e+01_rb,0.27901e+01_rb,0.28757e+01_rb,0.23493e+01_rb /) kbo(:, 1,40,13) = (/ & & 0.85494e+00_rb,0.18558e+01_rb,0.23904e+01_rb,0.25985e+01_rb,0.20255e+01_rb /) kbo(:, 2,40,13) = (/ & & 0.99514e+00_rb,0.19745e+01_rb,0.24954e+01_rb,0.26836e+01_rb,0.21170e+01_rb /) kbo(:, 3,40,13) = (/ & & 0.11424e+01_rb,0.20885e+01_rb,0.25938e+01_rb,0.27547e+01_rb,0.21975e+01_rb /) kbo(:, 4,40,13) = (/ & & 0.12924e+01_rb,0.22001e+01_rb,0.26861e+01_rb,0.28148e+01_rb,0.22700e+01_rb /) kbo(:, 5,40,13) = (/ & & 0.14413e+01_rb,0.23083e+01_rb,0.27705e+01_rb,0.28664e+01_rb,0.23349e+01_rb /) kbo(:, 1,41,13) = (/ & & 0.81957e+00_rb,0.18237e+01_rb,0.23613e+01_rb,0.25741e+01_rb,0.19997e+01_rb /) kbo(:, 2,41,13) = (/ & & 0.95728e+00_rb,0.19441e+01_rb,0.24688e+01_rb,0.26632e+01_rb,0.20945e+01_rb /) kbo(:, 3,41,13) = (/ & & 0.11034e+01_rb,0.20591e+01_rb,0.25687e+01_rb,0.27378e+01_rb,0.21777e+01_rb /) kbo(:, 4,41,13) = (/ & & 0.12530e+01_rb,0.21714e+01_rb,0.26630e+01_rb,0.28005e+01_rb,0.22519e+01_rb /) kbo(:, 5,41,13) = (/ & & 0.14027e+01_rb,0.22807e+01_rb,0.27494e+01_rb,0.28533e+01_rb,0.23190e+01_rb /) kbo(:, 1,42,13) = (/ & & 0.78503e+00_rb,0.17918e+01_rb,0.23317e+01_rb,0.25487e+01_rb,0.19734e+01_rb /) kbo(:, 2,42,13) = (/ & & 0.92016e+00_rb,0.19132e+01_rb,0.24418e+01_rb,0.26418e+01_rb,0.20712e+01_rb /) kbo(:, 3,42,13) = (/ & & 0.10646e+01_rb,0.20294e+01_rb,0.25432e+01_rb,0.27200e+01_rb,0.21575e+01_rb /) kbo(:, 4,42,13) = (/ & & 0.12137e+01_rb,0.21426e+01_rb,0.26392e+01_rb,0.27859e+01_rb,0.22336e+01_rb /) kbo(:, 5,42,13) = (/ & & 0.13639e+01_rb,0.22528e+01_rb,0.27279e+01_rb,0.28411e+01_rb,0.23026e+01_rb /) kbo(:, 1,43,13) = (/ & & 0.74423e+00_rb,0.17527e+01_rb,0.22949e+01_rb,0.25159e+01_rb,0.19403e+01_rb /) kbo(:, 2,43,13) = (/ & & 0.87589e+00_rb,0.18750e+01_rb,0.24080e+01_rb,0.26143e+01_rb,0.20417e+01_rb /) kbo(:, 3,43,13) = (/ & & 0.10179e+01_rb,0.19932e+01_rb,0.25118e+01_rb,0.26972e+01_rb,0.21315e+01_rb /) kbo(:, 4,43,13) = (/ & & 0.11661e+01_rb,0.21073e+01_rb,0.26096e+01_rb,0.27665e+01_rb,0.22105e+01_rb /) kbo(:, 5,43,13) = (/ & & 0.13165e+01_rb,0.22185e+01_rb,0.27008e+01_rb,0.28247e+01_rb,0.22817e+01_rb /) kbo(:, 1,44,13) = (/ & & 0.70183e+00_rb,0.17101e+01_rb,0.22539e+01_rb,0.24783e+01_rb,0.19029e+01_rb /) kbo(:, 2,44,13) = (/ & & 0.82940e+00_rb,0.18334e+01_rb,0.23707e+01_rb,0.25829e+01_rb,0.20083e+01_rb /) kbo(:, 3,44,13) = (/ & & 0.96829e+00_rb,0.19537e+01_rb,0.24774e+01_rb,0.26707e+01_rb,0.21022e+01_rb /) kbo(:, 4,44,13) = (/ & & 0.11151e+01_rb,0.20687e+01_rb,0.25770e+01_rb,0.27443e+01_rb,0.21846e+01_rb /) kbo(:, 5,44,13) = (/ & & 0.12651e+01_rb,0.21808e+01_rb,0.26707e+01_rb,0.28061e+01_rb,0.22584e+01_rb /) kbo(:, 1,45,13) = (/ & & 0.66118e+00_rb,0.16676e+01_rb,0.22119e+01_rb,0.24384e+01_rb,0.18634e+01_rb /) kbo(:, 2,45,13) = (/ & & 0.78445e+00_rb,0.17917e+01_rb,0.23321e+01_rb,0.25495e+01_rb,0.19739e+01_rb /) kbo(:, 3,45,13) = (/ & & 0.91984e+00_rb,0.19133e+01_rb,0.24421e+01_rb,0.26427e+01_rb,0.20718e+01_rb /) kbo(:, 4,45,13) = (/ & & 0.10646e+01_rb,0.20301e+01_rb,0.25439e+01_rb,0.27211e+01_rb,0.21582e+01_rb /) kbo(:, 5,45,13) = (/ & & 0.12138e+01_rb,0.21430e+01_rb,0.26395e+01_rb,0.27867e+01_rb,0.22343e+01_rb /) kbo(:, 1,46,13) = (/ & & 0.61933e+00_rb,0.16221e+01_rb,0.21659e+01_rb,0.23935e+01_rb,0.18196e+01_rb /) kbo(:, 2,46,13) = (/ & & 0.73807e+00_rb,0.17470e+01_rb,0.22898e+01_rb,0.25118e+01_rb,0.19358e+01_rb /) kbo(:, 3,46,13) = (/ & & 0.86934e+00_rb,0.18696e+01_rb,0.24034e+01_rb,0.26109e+01_rb,0.20379e+01_rb /) kbo(:, 4,46,13) = (/ & & 0.10113e+01_rb,0.19884e+01_rb,0.25076e+01_rb,0.26946e+01_rb,0.21283e+01_rb /) kbo(:, 5,46,13) = (/ & & 0.11593e+01_rb,0.21025e+01_rb,0.26055e+01_rb,0.27643e+01_rb,0.22076e+01_rb /) kbo(:, 1,47,13) = (/ & & 0.57374e+00_rb,0.15709e+01_rb,0.21131e+01_rb,0.23400e+01_rb,0.17680e+01_rb /) kbo(:, 2,47,13) = (/ & & 0.68838e+00_rb,0.16965e+01_rb,0.22409e+01_rb,0.24665e+01_rb,0.18907e+01_rb /) kbo(:, 3,47,13) = (/ & & 0.81478e+00_rb,0.18201e+01_rb,0.23589e+01_rb,0.25731e+01_rb,0.19980e+01_rb /) kbo(:, 4,47,13) = (/ & & 0.95278e+00_rb,0.19412e+01_rb,0.24665e+01_rb,0.26626e+01_rb,0.20931e+01_rb /) kbo(:, 5,47,13) = (/ & & 0.10991e+01_rb,0.20567e+01_rb,0.25667e+01_rb,0.27376e+01_rb,0.21769e+01_rb /) kbo(:, 1,48,13) = (/ & & 0.52946e+00_rb,0.15198e+01_rb,0.20592e+01_rb,0.22834e+01_rb,0.17136e+01_rb /) kbo(:, 2,48,13) = (/ & & 0.64089e+00_rb,0.16459e+01_rb,0.21904e+01_rb,0.24180e+01_rb,0.18431e+01_rb /) kbo(:, 3,48,13) = (/ & & 0.76211e+00_rb,0.17708e+01_rb,0.23126e+01_rb,0.25324e+01_rb,0.19565e+01_rb /) kbo(:, 4,48,13) = (/ & & 0.89568e+00_rb,0.18928e+01_rb,0.24241e+01_rb,0.26284e+01_rb,0.20564e+01_rb /) kbo(:, 5,48,13) = (/ & & 0.10393e+01_rb,0.20105e+01_rb,0.25268e+01_rb,0.27091e+01_rb,0.21445e+01_rb /) kbo(:, 1,49,13) = (/ & & 0.48708e+00_rb,0.14681e+01_rb,0.20029e+01_rb,0.22232e+01_rb,0.16566e+01_rb /) kbo(:, 2,49,13) = (/ & & 0.59510e+00_rb,0.15951e+01_rb,0.21382e+01_rb,0.23660e+01_rb,0.17928e+01_rb /) kbo(:, 3,49,13) = (/ & & 0.71141e+00_rb,0.17205e+01_rb,0.22646e+01_rb,0.24889e+01_rb,0.19130e+01_rb /) kbo(:, 4,49,13) = (/ & & 0.84034e+00_rb,0.18437e+01_rb,0.23804e+01_rb,0.25917e+01_rb,0.20174e+01_rb /) kbo(:, 5,49,13) = (/ & & 0.98023e+00_rb,0.19637e+01_rb,0.24863e+01_rb,0.26785e+01_rb,0.21102e+01_rb /) kbo(:, 1,50,13) = (/ & & 0.44946e+00_rb,0.14198e+01_rb,0.19480e+01_rb,0.21639e+01_rb,0.16005e+01_rb /) kbo(:, 2,50,13) = (/ & & 0.55308e+00_rb,0.15472e+01_rb,0.20885e+01_rb,0.23146e+01_rb,0.17433e+01_rb /) kbo(:, 3,50,13) = (/ & & 0.66640e+00_rb,0.16732e+01_rb,0.22179e+01_rb,0.24447e+01_rb,0.18693e+01_rb /) kbo(:, 4,50,13) = (/ & & 0.79021e+00_rb,0.17975e+01_rb,0.23380e+01_rb,0.25550e+01_rb,0.19794e+01_rb /) kbo(:, 5,50,13) = (/ & & 0.92626e+00_rb,0.19191e+01_rb,0.24474e+01_rb,0.26476e+01_rb,0.20768e+01_rb /) kbo(:, 1,51,13) = (/ & & 0.41452e+00_rb,0.13727e+01_rb,0.18922e+01_rb,0.21038e+01_rb,0.15428e+01_rb /) kbo(:, 2,51,13) = (/ & & 0.51362e+00_rb,0.15005e+01_rb,0.20385e+01_rb,0.22616e+01_rb,0.16930e+01_rb /) kbo(:, 3,51,13) = (/ & & 0.62394e+00_rb,0.16272e+01_rb,0.21714e+01_rb,0.23993e+01_rb,0.18251e+01_rb /) kbo(:, 4,51,13) = (/ & & 0.74304e+00_rb,0.17523e+01_rb,0.22953e+01_rb,0.25171e+01_rb,0.19410e+01_rb /) kbo(:, 5,51,13) = (/ & & 0.87505e+00_rb,0.18748e+01_rb,0.24082e+01_rb,0.26155e+01_rb,0.20426e+01_rb /) kbo(:, 1,52,13) = (/ & & 0.38121e+00_rb,0.13250e+01_rb,0.18350e+01_rb,0.20413e+01_rb,0.14822e+01_rb /) kbo(:, 2,52,13) = (/ & & 0.47581e+00_rb,0.14538e+01_rb,0.19870e+01_rb,0.22062e+01_rb,0.16405e+01_rb /) kbo(:, 3,52,13) = (/ & & 0.58258e+00_rb,0.15810e+01_rb,0.21239e+01_rb,0.23514e+01_rb,0.17789e+01_rb /) kbo(:, 4,52,13) = (/ & & 0.69813e+00_rb,0.17065e+01_rb,0.22509e+01_rb,0.24762e+01_rb,0.19005e+01_rb /) kbo(:, 5,52,13) = (/ & & 0.82543e+00_rb,0.18301e+01_rb,0.23683e+01_rb,0.25815e+01_rb,0.20067e+01_rb /) kbo(:, 1,53,13) = (/ & & 0.34902e+00_rb,0.12769e+01_rb,0.17751e+01_rb,0.19762e+01_rb,0.14178e+01_rb /) kbo(:, 2,53,13) = (/ & & 0.43953e+00_rb,0.14068e+01_rb,0.19332e+01_rb,0.21485e+01_rb,0.15854e+01_rb /) kbo(:, 3,53,13) = (/ & & 0.54216e+00_rb,0.15348e+01_rb,0.20756e+01_rb,0.23010e+01_rb,0.17302e+01_rb /) kbo(:, 4,53,13) = (/ & & 0.65469e+00_rb,0.16608e+01_rb,0.22054e+01_rb,0.24328e+01_rb,0.18578e+01_rb /) kbo(:, 5,53,13) = (/ & & 0.77730e+00_rb,0.17854e+01_rb,0.23267e+01_rb,0.25453e+01_rb,0.19695e+01_rb /) kbo(:, 1,54,13) = (/ & & 0.32058e+00_rb,0.12324e+01_rb,0.17175e+01_rb,0.19140e+01_rb,0.13553e+01_rb /) kbo(:, 2,54,13) = (/ & & 0.40795e+00_rb,0.13637e+01_rb,0.18819e+01_rb,0.20929e+01_rb,0.15321e+01_rb /) kbo(:, 3,54,13) = (/ & & 0.50645e+00_rb,0.14920e+01_rb,0.20295e+01_rb,0.22518e+01_rb,0.16837e+01_rb /) kbo(:, 4,54,13) = (/ & & 0.61609e+00_rb,0.16187e+01_rb,0.21628e+01_rb,0.23909e+01_rb,0.18169e+01_rb /) kbo(:, 5,54,13) = (/ & & 0.73448e+00_rb,0.17439e+01_rb,0.22873e+01_rb,0.25101e+01_rb,0.19340e+01_rb /) kbo(:, 1,55,13) = (/ & & 0.29443e+00_rb,0.11892e+01_rb,0.16600e+01_rb,0.18513e+01_rb,0.12929e+01_rb /) kbo(:, 2,55,13) = (/ & & 0.37883e+00_rb,0.13219e+01_rb,0.18314e+01_rb,0.20376e+01_rb,0.14784e+01_rb /) kbo(:, 3,55,13) = (/ & & 0.47335e+00_rb,0.14508e+01_rb,0.19839e+01_rb,0.22027e+01_rb,0.16372e+01_rb /) kbo(:, 4,55,13) = (/ & & 0.57989e+00_rb,0.15780e+01_rb,0.21210e+01_rb,0.23485e+01_rb,0.17761e+01_rb /) kbo(:, 5,55,13) = (/ & & 0.69533e+00_rb,0.17037e+01_rb,0.22482e+01_rb,0.24738e+01_rb,0.18980e+01_rb /) kbo(:, 1,56,13) = (/ & & 0.26936e+00_rb,0.11459e+01_rb,0.16007e+01_rb,0.17863e+01_rb,0.12289e+01_rb /) kbo(:, 2,56,13) = (/ & & 0.35065e+00_rb,0.12797e+01_rb,0.17789e+01_rb,0.19807e+01_rb,0.14221e+01_rb /) kbo(:, 3,56,13) = (/ & & 0.44158e+00_rb,0.14097e+01_rb,0.19368e+01_rb,0.21523e+01_rb,0.15891e+01_rb /) kbo(:, 4,56,13) = (/ & & 0.54448e+00_rb,0.15375e+01_rb,0.20786e+01_rb,0.23043e+01_rb,0.17334e+01_rb /) kbo(:, 5,56,13) = (/ & & 0.65732e+00_rb,0.16637e+01_rb,0.22084e+01_rb,0.24358e+01_rb,0.18606e+01_rb /) kbo(:, 1,57,13) = (/ & & 0.24515e+00_rb,0.11022e+01_rb,0.15388e+01_rb,0.17186e+01_rb,0.11645e+01_rb /) kbo(:, 2,57,13) = (/ & & 0.32341e+00_rb,0.12372e+01_rb,0.17241e+01_rb,0.19215e+01_rb,0.13626e+01_rb /) kbo(:, 3,57,13) = (/ & & 0.41131e+00_rb,0.13686e+01_rb,0.18879e+01_rb,0.20994e+01_rb,0.15383e+01_rb /) kbo(:, 4,57,13) = (/ & & 0.51026e+00_rb,0.14967e+01_rb,0.20347e+01_rb,0.22575e+01_rb,0.16892e+01_rb /) kbo(:, 5,57,13) = (/ & & 0.62036e+00_rb,0.16234e+01_rb,0.21677e+01_rb,0.23959e+01_rb,0.18217e+01_rb /) kbo(:, 1,58,13) = (/ & & 0.22298e+00_rb,0.10601e+01_rb,0.14788e+01_rb,0.16521e+01_rb,0.11024e+01_rb /) kbo(:, 2,58,13) = (/ & & 0.29857e+00_rb,0.11965e+01_rb,0.16700e+01_rb,0.18625e+01_rb,0.13039e+01_rb /) kbo(:, 3,58,13) = (/ & & 0.38366e+00_rb,0.13291e+01_rb,0.18404e+01_rb,0.20474e+01_rb,0.14880e+01_rb /) kbo(:, 4,58,13) = (/ & & 0.47882e+00_rb,0.14579e+01_rb,0.19918e+01_rb,0.22114e+01_rb,0.16455e+01_rb /) kbo(:, 5,58,13) = (/ & & 0.58601e+00_rb,0.15850e+01_rb,0.21282e+01_rb,0.23561e+01_rb,0.17833e+01_rb /) kbo(:, 1,59,13) = (/ & & 0.21427e+00_rb,0.10429e+01_rb,0.14544e+01_rb,0.16247e+01_rb,0.10771e+01_rb /) kbo(:, 2,59,13) = (/ & & 0.28885e+00_rb,0.11801e+01_rb,0.16480e+01_rb,0.18384e+01_rb,0.12798e+01_rb /) kbo(:, 3,59,13) = (/ & & 0.37281e+00_rb,0.13132e+01_rb,0.18209e+01_rb,0.20260e+01_rb,0.14670e+01_rb /) kbo(:, 4,59,13) = (/ & & 0.46652e+00_rb,0.14422e+01_rb,0.19743e+01_rb,0.21926e+01_rb,0.16276e+01_rb /) kbo(:, 5,59,13) = (/ & & 0.57246e+00_rb,0.15697e+01_rb,0.21123e+01_rb,0.23397e+01_rb,0.17674e+01_rb /) kbo(:, 1,13,14) = (/ & & 0.76467e+01_rb,0.66870e+01_rb,0.63502e+01_rb,0.61468e+01_rb,0.66906e+01_rb /) kbo(:, 2,13,14) = (/ & & 0.76514e+01_rb,0.66716e+01_rb,0.63627e+01_rb,0.61942e+01_rb,0.67780e+01_rb /) kbo(:, 3,13,14) = (/ & & 0.76475e+01_rb,0.66428e+01_rb,0.63628e+01_rb,0.62371e+01_rb,0.68460e+01_rb /) kbo(:, 4,13,14) = (/ & & 0.76415e+01_rb,0.66083e+01_rb,0.63514e+01_rb,0.62630e+01_rb,0.69072e+01_rb /) kbo(:, 5,13,14) = (/ & & 0.76283e+01_rb,0.65686e+01_rb,0.63330e+01_rb,0.62779e+01_rb,0.69614e+01_rb /) kbo(:, 1,14,14) = (/ & & 0.77958e+01_rb,0.69779e+01_rb,0.66658e+01_rb,0.63591e+01_rb,0.67479e+01_rb /) kbo(:, 2,14,14) = (/ & & 0.78014e+01_rb,0.69599e+01_rb,0.66792e+01_rb,0.64167e+01_rb,0.68357e+01_rb /) kbo(:, 3,14,14) = (/ & & 0.78100e+01_rb,0.69314e+01_rb,0.66809e+01_rb,0.64627e+01_rb,0.69109e+01_rb /) kbo(:, 4,14,14) = (/ & & 0.78098e+01_rb,0.68950e+01_rb,0.66685e+01_rb,0.64923e+01_rb,0.69838e+01_rb /) kbo(:, 5,14,14) = (/ & & 0.77999e+01_rb,0.68585e+01_rb,0.66494e+01_rb,0.65137e+01_rb,0.70531e+01_rb /) kbo(:, 1,15,14) = (/ & & 0.78397e+01_rb,0.72065e+01_rb,0.69626e+01_rb,0.65521e+01_rb,0.67717e+01_rb /) kbo(:, 2,15,14) = (/ & & 0.78630e+01_rb,0.71900e+01_rb,0.69770e+01_rb,0.66166e+01_rb,0.68639e+01_rb /) kbo(:, 3,15,14) = (/ & & 0.78829e+01_rb,0.71661e+01_rb,0.69761e+01_rb,0.66643e+01_rb,0.69508e+01_rb /) kbo(:, 4,15,14) = (/ & & 0.78961e+01_rb,0.71374e+01_rb,0.69668e+01_rb,0.66987e+01_rb,0.70374e+01_rb /) kbo(:, 5,15,14) = (/ & & 0.78984e+01_rb,0.71026e+01_rb,0.69440e+01_rb,0.67207e+01_rb,0.71207e+01_rb /) kbo(:, 1,16,14) = (/ & & 0.77976e+01_rb,0.73768e+01_rb,0.72331e+01_rb,0.67309e+01_rb,0.67735e+01_rb /) kbo(:, 2,16,14) = (/ & & 0.78456e+01_rb,0.73704e+01_rb,0.72485e+01_rb,0.67988e+01_rb,0.68801e+01_rb /) kbo(:, 3,16,14) = (/ & & 0.78840e+01_rb,0.73590e+01_rb,0.72505e+01_rb,0.68482e+01_rb,0.69801e+01_rb /) kbo(:, 4,16,14) = (/ & & 0.79146e+01_rb,0.73379e+01_rb,0.72385e+01_rb,0.68847e+01_rb,0.70795e+01_rb /) kbo(:, 5,16,14) = (/ & & 0.79322e+01_rb,0.73060e+01_rb,0.72179e+01_rb,0.69099e+01_rb,0.71779e+01_rb /) kbo(:, 1,17,14) = (/ & & 0.76851e+01_rb,0.74978e+01_rb,0.74681e+01_rb,0.68923e+01_rb,0.67646e+01_rb /) kbo(:, 2,17,14) = (/ & & 0.77622e+01_rb,0.75112e+01_rb,0.74909e+01_rb,0.69618e+01_rb,0.68880e+01_rb /) kbo(:, 3,17,14) = (/ & & 0.78293e+01_rb,0.75089e+01_rb,0.74964e+01_rb,0.70134e+01_rb,0.70063e+01_rb /) kbo(:, 4,17,14) = (/ & & 0.78832e+01_rb,0.75014e+01_rb,0.74883e+01_rb,0.70540e+01_rb,0.71204e+01_rb /) kbo(:, 5,17,14) = (/ & & 0.79237e+01_rb,0.74752e+01_rb,0.74629e+01_rb,0.70833e+01_rb,0.72311e+01_rb /) kbo(:, 1,18,14) = (/ & & 0.75343e+01_rb,0.75844e+01_rb,0.76679e+01_rb,0.70369e+01_rb,0.67530e+01_rb /) kbo(:, 2,18,14) = (/ & & 0.76372e+01_rb,0.76127e+01_rb,0.76999e+01_rb,0.71100e+01_rb,0.68939e+01_rb /) kbo(:, 3,18,14) = (/ & & 0.77344e+01_rb,0.76293e+01_rb,0.77123e+01_rb,0.71649e+01_rb,0.70305e+01_rb /) kbo(:, 4,18,14) = (/ & & 0.78168e+01_rb,0.76302e+01_rb,0.77077e+01_rb,0.72057e+01_rb,0.71594e+01_rb /) kbo(:, 5,18,14) = (/ & & 0.78848e+01_rb,0.76120e+01_rb,0.76799e+01_rb,0.72369e+01_rb,0.72819e+01_rb /) kbo(:, 1,19,14) = (/ & & 0.73642e+01_rb,0.76427e+01_rb,0.78392e+01_rb,0.71673e+01_rb,0.67426e+01_rb /) kbo(:, 2,19,14) = (/ & & 0.75027e+01_rb,0.76890e+01_rb,0.78792e+01_rb,0.72411e+01_rb,0.69029e+01_rb /) kbo(:, 3,19,14) = (/ & & 0.76261e+01_rb,0.77218e+01_rb,0.78995e+01_rb,0.72995e+01_rb,0.70551e+01_rb /) kbo(:, 4,19,14) = (/ & & 0.77358e+01_rb,0.77317e+01_rb,0.78972e+01_rb,0.73431e+01_rb,0.71976e+01_rb /) kbo(:, 5,19,14) = (/ & & 0.78306e+01_rb,0.77206e+01_rb,0.78669e+01_rb,0.73734e+01_rb,0.73288e+01_rb /) kbo(:, 1,20,14) = (/ & & 0.71989e+01_rb,0.76856e+01_rb,0.79830e+01_rb,0.72835e+01_rb,0.67408e+01_rb /) kbo(:, 2,20,14) = (/ & & 0.73691e+01_rb,0.77492e+01_rb,0.80344e+01_rb,0.73623e+01_rb,0.69200e+01_rb /) kbo(:, 3,20,14) = (/ & & 0.75204e+01_rb,0.77952e+01_rb,0.80604e+01_rb,0.74206e+01_rb,0.70842e+01_rb /) kbo(:, 4,20,14) = (/ & & 0.76560e+01_rb,0.78150e+01_rb,0.80567e+01_rb,0.74651e+01_rb,0.72381e+01_rb /) kbo(:, 5,20,14) = (/ & & 0.77736e+01_rb,0.78108e+01_rb,0.80255e+01_rb,0.74944e+01_rb,0.73772e+01_rb /) kbo(:, 1,21,14) = (/ & & 0.70426e+01_rb,0.77166e+01_rb,0.81049e+01_rb,0.73883e+01_rb,0.67480e+01_rb /) kbo(:, 2,21,14) = (/ & & 0.72474e+01_rb,0.77946e+01_rb,0.81668e+01_rb,0.74708e+01_rb,0.69410e+01_rb /) kbo(:, 3,21,14) = (/ & & 0.74271e+01_rb,0.78518e+01_rb,0.81976e+01_rb,0.75283e+01_rb,0.71153e+01_rb /) kbo(:, 4,21,14) = (/ & & 0.75881e+01_rb,0.78806e+01_rb,0.81926e+01_rb,0.75722e+01_rb,0.72765e+01_rb /) kbo(:, 5,21,14) = (/ & & 0.77244e+01_rb,0.78840e+01_rb,0.81605e+01_rb,0.76005e+01_rb,0.74219e+01_rb /) kbo(:, 1,22,14) = (/ & & 0.69208e+01_rb,0.77467e+01_rb,0.82134e+01_rb,0.74892e+01_rb,0.67760e+01_rb /) kbo(:, 2,22,14) = (/ & & 0.71527e+01_rb,0.78380e+01_rb,0.82825e+01_rb,0.75703e+01_rb,0.69788e+01_rb /) kbo(:, 3,22,14) = (/ & & 0.73591e+01_rb,0.79026e+01_rb,0.83138e+01_rb,0.76265e+01_rb,0.71614e+01_rb /) kbo(:, 4,22,14) = (/ & & 0.75412e+01_rb,0.79369e+01_rb,0.83052e+01_rb,0.76676e+01_rb,0.73269e+01_rb /) kbo(:, 5,22,14) = (/ & & 0.76931e+01_rb,0.79423e+01_rb,0.82705e+01_rb,0.76932e+01_rb,0.74734e+01_rb /) kbo(:, 1,23,14) = (/ & & 0.68264e+01_rb,0.77768e+01_rb,0.83085e+01_rb,0.75813e+01_rb,0.68129e+01_rb /) kbo(:, 2,23,14) = (/ & & 0.70814e+01_rb,0.78791e+01_rb,0.83807e+01_rb,0.76573e+01_rb,0.70223e+01_rb /) kbo(:, 3,23,14) = (/ & & 0.73108e+01_rb,0.79473e+01_rb,0.84103e+01_rb,0.77115e+01_rb,0.72087e+01_rb /) kbo(:, 4,23,14) = (/ & & 0.75083e+01_rb,0.79850e+01_rb,0.83989e+01_rb,0.77500e+01_rb,0.73762e+01_rb /) kbo(:, 5,23,14) = (/ & & 0.76738e+01_rb,0.79912e+01_rb,0.83608e+01_rb,0.77715e+01_rb,0.75218e+01_rb /) kbo(:, 1,24,14) = (/ & & 0.67597e+01_rb,0.78092e+01_rb,0.83929e+01_rb,0.76639e+01_rb,0.68571e+01_rb /) kbo(:, 2,24,14) = (/ & & 0.70359e+01_rb,0.79159e+01_rb,0.84653e+01_rb,0.77347e+01_rb,0.70700e+01_rb /) kbo(:, 3,24,14) = (/ & & 0.72818e+01_rb,0.79869e+01_rb,0.84905e+01_rb,0.77860e+01_rb,0.72578e+01_rb /) kbo(:, 4,24,14) = (/ & & 0.74908e+01_rb,0.80269e+01_rb,0.84765e+01_rb,0.78202e+01_rb,0.74248e+01_rb /) kbo(:, 5,24,14) = (/ & & 0.76673e+01_rb,0.80324e+01_rb,0.84337e+01_rb,0.78375e+01_rb,0.75690e+01_rb /) kbo(:, 1,25,14) = (/ & & 0.67209e+01_rb,0.78436e+01_rb,0.84676e+01_rb,0.77356e+01_rb,0.69066e+01_rb /) kbo(:, 2,25,14) = (/ & & 0.70147e+01_rb,0.79506e+01_rb,0.85366e+01_rb,0.78027e+01_rb,0.71216e+01_rb /) kbo(:, 3,25,14) = (/ & & 0.72710e+01_rb,0.80222e+01_rb,0.85567e+01_rb,0.78495e+01_rb,0.73079e+01_rb /) kbo(:, 4,25,14) = (/ & & 0.74891e+01_rb,0.80627e+01_rb,0.85388e+01_rb,0.78803e+01_rb,0.74736e+01_rb /) kbo(:, 5,25,14) = (/ & & 0.76763e+01_rb,0.80663e+01_rb,0.84908e+01_rb,0.78920e+01_rb,0.76152e+01_rb /) kbo(:, 1,26,14) = (/ & & 0.67117e+01_rb,0.78809e+01_rb,0.85346e+01_rb,0.77996e+01_rb,0.69621e+01_rb /) kbo(:, 2,26,14) = (/ & & 0.70163e+01_rb,0.79848e+01_rb,0.85977e+01_rb,0.78624e+01_rb,0.71766e+01_rb /) kbo(:, 3,26,14) = (/ & & 0.72800e+01_rb,0.80555e+01_rb,0.86111e+01_rb,0.79043e+01_rb,0.73612e+01_rb /) kbo(:, 4,26,14) = (/ & & 0.75048e+01_rb,0.80927e+01_rb,0.85874e+01_rb,0.79312e+01_rb,0.75235e+01_rb /) kbo(:, 5,26,14) = (/ & & 0.76969e+01_rb,0.80929e+01_rb,0.85318e+01_rb,0.79367e+01_rb,0.76615e+01_rb /) kbo(:, 1,27,14) = (/ & & 0.67222e+01_rb,0.79165e+01_rb,0.85935e+01_rb,0.78553e+01_rb,0.70208e+01_rb /) kbo(:, 2,27,14) = (/ & & 0.70339e+01_rb,0.80174e+01_rb,0.86486e+01_rb,0.79134e+01_rb,0.72318e+01_rb /) kbo(:, 3,27,14) = (/ & & 0.73021e+01_rb,0.80859e+01_rb,0.86549e+01_rb,0.79502e+01_rb,0.74127e+01_rb /) kbo(:, 4,27,14) = (/ & & 0.75298e+01_rb,0.81175e+01_rb,0.86239e+01_rb,0.79721e+01_rb,0.75702e+01_rb /) kbo(:, 5,27,14) = (/ & & 0.77246e+01_rb,0.81143e+01_rb,0.85613e+01_rb,0.79734e+01_rb,0.77047e+01_rb /) kbo(:, 1,28,14) = (/ & & 0.67490e+01_rb,0.79508e+01_rb,0.86448e+01_rb,0.79039e+01_rb,0.70793e+01_rb /) kbo(:, 2,28,14) = (/ & & 0.70641e+01_rb,0.80481e+01_rb,0.86903e+01_rb,0.79567e+01_rb,0.72853e+01_rb /) kbo(:, 3,28,14) = (/ & & 0.73339e+01_rb,0.81119e+01_rb,0.86890e+01_rb,0.79886e+01_rb,0.74622e+01_rb /) kbo(:, 4,28,14) = (/ & & 0.75625e+01_rb,0.81383e+01_rb,0.86502e+01_rb,0.80049e+01_rb,0.76145e+01_rb /) kbo(:, 5,28,14) = (/ & & 0.77567e+01_rb,0.81304e+01_rb,0.85806e+01_rb,0.80023e+01_rb,0.77455e+01_rb /) kbo(:, 1,29,14) = (/ & & 0.67914e+01_rb,0.79845e+01_rb,0.86886e+01_rb,0.79462e+01_rb,0.71386e+01_rb /) kbo(:, 2,29,14) = (/ & & 0.71068e+01_rb,0.80770e+01_rb,0.87239e+01_rb,0.79933e+01_rb,0.73389e+01_rb /) kbo(:, 3,29,14) = (/ & & 0.73751e+01_rb,0.81344e+01_rb,0.87144e+01_rb,0.80208e+01_rb,0.75104e+01_rb /) kbo(:, 4,29,14) = (/ & & 0.76020e+01_rb,0.81550e+01_rb,0.86676e+01_rb,0.80316e+01_rb,0.76575e+01_rb /) kbo(:, 5,29,14) = (/ & & 0.77937e+01_rb,0.81425e+01_rb,0.85914e+01_rb,0.80248e+01_rb,0.77840e+01_rb /) kbo(:, 1,30,14) = (/ & & 0.68445e+01_rb,0.80166e+01_rb,0.87256e+01_rb,0.79827e+01_rb,0.71970e+01_rb /) kbo(:, 2,30,14) = (/ & & 0.71563e+01_rb,0.81037e+01_rb,0.87505e+01_rb,0.80234e+01_rb,0.73900e+01_rb /) kbo(:, 3,30,14) = (/ & & 0.74214e+01_rb,0.81535e+01_rb,0.87321e+01_rb,0.80469e+01_rb,0.75564e+01_rb /) kbo(:, 4,30,14) = (/ & & 0.76455e+01_rb,0.81683e+01_rb,0.86770e+01_rb,0.80524e+01_rb,0.76986e+01_rb /) kbo(:, 5,30,14) = (/ & & 0.78317e+01_rb,0.81499e+01_rb,0.85949e+01_rb,0.80416e+01_rb,0.78203e+01_rb /) kbo(:, 1,31,14) = (/ & & 0.69054e+01_rb,0.80478e+01_rb,0.87566e+01_rb,0.80136e+01_rb,0.72537e+01_rb /) kbo(:, 2,31,14) = (/ & & 0.72125e+01_rb,0.81281e+01_rb,0.87710e+01_rb,0.80494e+01_rb,0.74404e+01_rb /) kbo(:, 3,31,14) = (/ & & 0.74718e+01_rb,0.81700e+01_rb,0.87427e+01_rb,0.80677e+01_rb,0.76003e+01_rb /) kbo(:, 4,31,14) = (/ & & 0.76912e+01_rb,0.81779e+01_rb,0.86791e+01_rb,0.80682e+01_rb,0.77384e+01_rb /) kbo(:, 5,31,14) = (/ & & 0.78715e+01_rb,0.81532e+01_rb,0.85914e+01_rb,0.80538e+01_rb,0.78547e+01_rb /) kbo(:, 1,32,14) = (/ & & 0.69718e+01_rb,0.80767e+01_rb,0.87812e+01_rb,0.80405e+01_rb,0.73093e+01_rb /) kbo(:, 2,32,14) = (/ & & 0.72714e+01_rb,0.81493e+01_rb,0.87845e+01_rb,0.80705e+01_rb,0.74889e+01_rb /) kbo(:, 3,32,14) = (/ & & 0.75255e+01_rb,0.81843e+01_rb,0.87476e+01_rb,0.80843e+01_rb,0.76427e+01_rb /) kbo(:, 4,32,14) = (/ & & 0.77373e+01_rb,0.81836e+01_rb,0.86757e+01_rb,0.80798e+01_rb,0.77759e+01_rb /) kbo(:, 5,32,14) = (/ & & 0.79115e+01_rb,0.81523e+01_rb,0.85821e+01_rb,0.80611e+01_rb,0.78870e+01_rb /) kbo(:, 1,33,14) = (/ & & 0.70424e+01_rb,0.81041e+01_rb,0.88003e+01_rb,0.80631e+01_rb,0.73621e+01_rb /) kbo(:, 2,33,14) = (/ & & 0.73332e+01_rb,0.81674e+01_rb,0.87934e+01_rb,0.80887e+01_rb,0.75359e+01_rb /) kbo(:, 3,33,14) = (/ & & 0.75797e+01_rb,0.81949e+01_rb,0.87467e+01_rb,0.80962e+01_rb,0.76832e+01_rb /) kbo(:, 4,33,14) = (/ & & 0.77832e+01_rb,0.81860e+01_rb,0.86679e+01_rb,0.80880e+01_rb,0.78112e+01_rb /) kbo(:, 5,33,14) = (/ & & 0.79514e+01_rb,0.81480e+01_rb,0.85688e+01_rb,0.80650e+01_rb,0.79176e+01_rb /) kbo(:, 1,34,14) = (/ & & 0.71032e+01_rb,0.81256e+01_rb,0.88135e+01_rb,0.80801e+01_rb,0.74073e+01_rb /) kbo(:, 2,34,14) = (/ & & 0.73864e+01_rb,0.81812e+01_rb,0.87981e+01_rb,0.81025e+01_rb,0.75752e+01_rb /) kbo(:, 3,34,14) = (/ & & 0.76257e+01_rb,0.82022e+01_rb,0.87428e+01_rb,0.81055e+01_rb,0.77177e+01_rb /) kbo(:, 4,34,14) = (/ & & 0.78229e+01_rb,0.81866e+01_rb,0.86595e+01_rb,0.80934e+01_rb,0.78409e+01_rb /) kbo(:, 5,34,14) = (/ & & 0.79841e+01_rb,0.81428e+01_rb,0.85553e+01_rb,0.80663e+01_rb,0.79427e+01_rb /) kbo(:, 1,35,14) = (/ & & 0.71357e+01_rb,0.81386e+01_rb,0.88238e+01_rb,0.80923e+01_rb,0.74328e+01_rb /) kbo(:, 2,35,14) = (/ & & 0.74155e+01_rb,0.81901e+01_rb,0.88028e+01_rb,0.81125e+01_rb,0.75980e+01_rb /) kbo(:, 3,35,14) = (/ & & 0.76506e+01_rb,0.82068e+01_rb,0.87428e+01_rb,0.81128e+01_rb,0.77381e+01_rb /) kbo(:, 4,35,14) = (/ & & 0.78446e+01_rb,0.81876e+01_rb,0.86563e+01_rb,0.80980e+01_rb,0.78583e+01_rb /) kbo(:, 5,35,14) = (/ & & 0.80022e+01_rb,0.81408e+01_rb,0.85492e+01_rb,0.80683e+01_rb,0.79574e+01_rb /) kbo(:, 1,36,14) = (/ & & 0.71358e+01_rb,0.81426e+01_rb,0.88312e+01_rb,0.80996e+01_rb,0.74385e+01_rb /) kbo(:, 2,36,14) = (/ & & 0.74168e+01_rb,0.81942e+01_rb,0.88101e+01_rb,0.81195e+01_rb,0.76033e+01_rb /) kbo(:, 3,36,14) = (/ & & 0.76530e+01_rb,0.82111e+01_rb,0.87491e+01_rb,0.81189e+01_rb,0.77431e+01_rb /) kbo(:, 4,36,14) = (/ & & 0.78475e+01_rb,0.81916e+01_rb,0.86625e+01_rb,0.81041e+01_rb,0.78633e+01_rb /) kbo(:, 5,36,14) = (/ & & 0.80053e+01_rb,0.81444e+01_rb,0.85549e+01_rb,0.80739e+01_rb,0.79624e+01_rb /) kbo(:, 1,37,14) = (/ & & 0.70898e+01_rb,0.81353e+01_rb,0.88375e+01_rb,0.81022e+01_rb,0.74173e+01_rb /) kbo(:, 2,37,14) = (/ & & 0.73792e+01_rb,0.81923e+01_rb,0.88220e+01_rb,0.81236e+01_rb,0.75852e+01_rb /) kbo(:, 3,37,14) = (/ & & 0.76229e+01_rb,0.82146e+01_rb,0.87658e+01_rb,0.81255e+01_rb,0.77281e+01_rb /) kbo(:, 4,37,14) = (/ & & 0.78232e+01_rb,0.81996e+01_rb,0.86818e+01_rb,0.81120e+01_rb,0.78508e+01_rb /) kbo(:, 5,37,14) = (/ & & 0.79866e+01_rb,0.81554e+01_rb,0.85764e+01_rb,0.80843e+01_rb,0.79525e+01_rb /) kbo(:, 1,38,14) = (/ & & 0.70419e+01_rb,0.81271e+01_rb,0.88418e+01_rb,0.81031e+01_rb,0.73933e+01_rb /) kbo(:, 2,38,14) = (/ & & 0.73389e+01_rb,0.81889e+01_rb,0.88323e+01_rb,0.81261e+01_rb,0.75648e+01_rb /) kbo(:, 3,38,14) = (/ & & 0.75899e+01_rb,0.82161e+01_rb,0.87808e+01_rb,0.81301e+01_rb,0.77105e+01_rb /) kbo(:, 4,38,14) = (/ & & 0.77971e+01_rb,0.82068e+01_rb,0.87000e+01_rb,0.81195e+01_rb,0.78368e+01_rb /) kbo(:, 5,38,14) = (/ & & 0.79663e+01_rb,0.81665e+01_rb,0.85976e+01_rb,0.80935e+01_rb,0.79412e+01_rb /) kbo(:, 1,39,14) = (/ & & 0.69923e+01_rb,0.81165e+01_rb,0.88435e+01_rb,0.81024e+01_rb,0.73685e+01_rb /) kbo(:, 2,39,14) = (/ & & 0.72982e+01_rb,0.81845e+01_rb,0.88409e+01_rb,0.81277e+01_rb,0.75441e+01_rb /) kbo(:, 3,39,14) = (/ & & 0.75563e+01_rb,0.82164e+01_rb,0.87952e+01_rb,0.81347e+01_rb,0.76928e+01_rb /) kbo(:, 4,39,14) = (/ & & 0.77695e+01_rb,0.82122e+01_rb,0.87165e+01_rb,0.81250e+01_rb,0.78216e+01_rb /) kbo(:, 5,39,14) = (/ & & 0.79452e+01_rb,0.81762e+01_rb,0.86172e+01_rb,0.81015e+01_rb,0.79291e+01_rb /) kbo(:, 1,40,14) = (/ & & 0.69080e+01_rb,0.80958e+01_rb,0.88413e+01_rb,0.80965e+01_rb,0.73229e+01_rb /) kbo(:, 2,40,14) = (/ & & 0.72277e+01_rb,0.81734e+01_rb,0.88495e+01_rb,0.81259e+01_rb,0.75046e+01_rb /) kbo(:, 3,40,14) = (/ & & 0.74967e+01_rb,0.82131e+01_rb,0.88131e+01_rb,0.81381e+01_rb,0.76600e+01_rb /) kbo(:, 4,40,14) = (/ & & 0.77214e+01_rb,0.82184e+01_rb,0.87413e+01_rb,0.81320e+01_rb,0.77938e+01_rb /) kbo(:, 5,40,14) = (/ & & 0.79055e+01_rb,0.81894e+01_rb,0.86471e+01_rb,0.81094e+01_rb,0.79066e+01_rb /) kbo(:, 1,41,14) = (/ & & 0.68155e+01_rb,0.80708e+01_rb,0.88352e+01_rb,0.80885e+01_rb,0.72719e+01_rb /) kbo(:, 2,41,14) = (/ & & 0.71495e+01_rb,0.81585e+01_rb,0.88545e+01_rb,0.81224e+01_rb,0.74618e+01_rb /) kbo(:, 3,41,14) = (/ & & 0.74308e+01_rb,0.82074e+01_rb,0.88291e+01_rb,0.81392e+01_rb,0.76238e+01_rb /) kbo(:, 4,41,14) = (/ & & 0.76675e+01_rb,0.82222e+01_rb,0.87650e+01_rb,0.81374e+01_rb,0.77629e+01_rb /) kbo(:, 5,41,14) = (/ & & 0.78621e+01_rb,0.82014e+01_rb,0.86761e+01_rb,0.81197e+01_rb,0.78805e+01_rb /) kbo(:, 1,42,14) = (/ & & 0.67210e+01_rb,0.80436e+01_rb,0.88257e+01_rb,0.80787e+01_rb,0.72181e+01_rb /) kbo(:, 2,42,14) = (/ & & 0.70672e+01_rb,0.81413e+01_rb,0.88562e+01_rb,0.81177e+01_rb,0.74171e+01_rb /) kbo(:, 3,42,14) = (/ & & 0.73618e+01_rb,0.81993e+01_rb,0.88420e+01_rb,0.81387e+01_rb,0.75853e+01_rb /) kbo(:, 4,42,14) = (/ & & 0.76110e+01_rb,0.82240e+01_rb,0.87872e+01_rb,0.81416e+01_rb,0.77301e+01_rb /) kbo(:, 5,42,14) = (/ & & 0.78157e+01_rb,0.82114e+01_rb,0.87034e+01_rb,0.81275e+01_rb,0.78533e+01_rb /) kbo(:, 1,43,14) = (/ & & 0.66012e+01_rb,0.80077e+01_rb,0.88083e+01_rb,0.80639e+01_rb,0.71482e+01_rb /) kbo(:, 2,43,14) = (/ & & 0.69627e+01_rb,0.81158e+01_rb,0.88532e+01_rb,0.81101e+01_rb,0.73596e+01_rb /) kbo(:, 3,43,14) = (/ & & 0.72743e+01_rb,0.81862e+01_rb,0.88533e+01_rb,0.81352e+01_rb,0.75360e+01_rb /) kbo(:, 4,43,14) = (/ & & 0.75376e+01_rb,0.82203e+01_rb,0.88101e+01_rb,0.81444e+01_rb,0.76876e+01_rb /) kbo(:, 5,43,14) = (/ & & 0.77560e+01_rb,0.82200e+01_rb,0.87338e+01_rb,0.81353e+01_rb,0.78176e+01_rb /) kbo(:, 1,44,14) = (/ & & 0.64654e+01_rb,0.79624e+01_rb,0.87841e+01_rb,0.80450e+01_rb,0.70696e+01_rb /) kbo(:, 2,44,14) = (/ & & 0.68452e+01_rb,0.80842e+01_rb,0.88456e+01_rb,0.80985e+01_rb,0.72931e+01_rb /) kbo(:, 3,44,14) = (/ & & 0.71736e+01_rb,0.81668e+01_rb,0.88594e+01_rb,0.81294e+01_rb,0.74799e+01_rb /) kbo(:, 4,44,14) = (/ & & 0.74536e+01_rb,0.82135e+01_rb,0.88309e+01_rb,0.81455e+01_rb,0.76398e+01_rb /) kbo(:, 5,44,14) = (/ & & 0.76864e+01_rb,0.82252e+01_rb,0.87641e+01_rb,0.81417e+01_rb,0.77771e+01_rb /) kbo(:, 1,45,14) = (/ & & 0.63246e+01_rb,0.79121e+01_rb,0.87529e+01_rb,0.80227e+01_rb,0.69872e+01_rb /) kbo(:, 2,45,14) = (/ & & 0.67215e+01_rb,0.80478e+01_rb,0.88314e+01_rb,0.80840e+01_rb,0.72219e+01_rb /) kbo(:, 3,45,14) = (/ & & 0.70680e+01_rb,0.81447e+01_rb,0.88609e+01_rb,0.81218e+01_rb,0.74205e+01_rb /) kbo(:, 4,45,14) = (/ & & 0.73633e+01_rb,0.82020e+01_rb,0.88464e+01_rb,0.81437e+01_rb,0.75896e+01_rb /) kbo(:, 5,45,14) = (/ & & 0.76123e+01_rb,0.82264e+01_rb,0.87913e+01_rb,0.81458e+01_rb,0.77333e+01_rb /) kbo(:, 1,46,14) = (/ & & 0.61677e+01_rb,0.78522e+01_rb,0.87120e+01_rb,0.79958e+01_rb,0.68962e+01_rb /) kbo(:, 2,46,14) = (/ & & 0.65843e+01_rb,0.80056e+01_rb,0.88106e+01_rb,0.80659e+01_rb,0.71413e+01_rb /) kbo(:, 3,46,14) = (/ & & 0.69482e+01_rb,0.81147e+01_rb,0.88565e+01_rb,0.81122e+01_rb,0.73539e+01_rb /) kbo(:, 4,46,14) = (/ & & 0.72620e+01_rb,0.81857e+01_rb,0.88581e+01_rb,0.81382e+01_rb,0.75320e+01_rb /) kbo(:, 5,46,14) = (/ & & 0.75285e+01_rb,0.82222e+01_rb,0.88171e+01_rb,0.81482e+01_rb,0.76841e+01_rb /) kbo(:, 1,47,14) = (/ & & 0.59872e+01_rb,0.77759e+01_rb,0.86581e+01_rb,0.79599e+01_rb,0.67904e+01_rb /) kbo(:, 2,47,14) = (/ & & 0.64227e+01_rb,0.79505e+01_rb,0.87794e+01_rb,0.80417e+01_rb,0.70463e+01_rb /) kbo(:, 3,47,14) = (/ & & 0.68067e+01_rb,0.80750e+01_rb,0.88445e+01_rb,0.80966e+01_rb,0.72732e+01_rb /) kbo(:, 4,47,14) = (/ & & 0.71415e+01_rb,0.81619e+01_rb,0.88634e+01_rb,0.81302e+01_rb,0.74640e+01_rb /) kbo(:, 5,47,14) = (/ & & 0.74259e+01_rb,0.82118e+01_rb,0.88390e+01_rb,0.81478e+01_rb,0.76260e+01_rb /) kbo(:, 1,48,14) = (/ & & 0.57999e+01_rb,0.76897e+01_rb,0.85924e+01_rb,0.79165e+01_rb,0.66812e+01_rb /) kbo(:, 2,48,14) = (/ & & 0.62523e+01_rb,0.78878e+01_rb,0.87384e+01_rb,0.80135e+01_rb,0.69471e+01_rb /) kbo(:, 3,48,14) = (/ & & 0.66581e+01_rb,0.80303e+01_rb,0.88250e+01_rb,0.80783e+01_rb,0.71862e+01_rb /) kbo(:, 4,48,14) = (/ & & 0.70120e+01_rb,0.81321e+01_rb,0.88616e+01_rb,0.81203e+01_rb,0.73915e+01_rb /) kbo(:, 5,48,14) = (/ & & 0.73167e+01_rb,0.81963e+01_rb,0.88550e+01_rb,0.81433e+01_rb,0.75640e+01_rb /) kbo(:, 1,49,14) = (/ & & 0.56056e+01_rb,0.75967e+01_rb,0.85186e+01_rb,0.78664e+01_rb,0.65684e+01_rb /) kbo(:, 2,49,14) = (/ & & 0.60725e+01_rb,0.78139e+01_rb,0.86868e+01_rb,0.79799e+01_rb,0.68428e+01_rb /) kbo(:, 3,49,14) = (/ & & 0.65005e+01_rb,0.79789e+01_rb,0.87970e+01_rb,0.80551e+01_rb,0.70936e+01_rb /) kbo(:, 4,49,14) = (/ & & 0.68750e+01_rb,0.80955e+01_rb,0.88532e+01_rb,0.81069e+01_rb,0.73141e+01_rb /) kbo(:, 5,49,14) = (/ & & 0.72008e+01_rb,0.81753e+01_rb,0.88640e+01_rb,0.81362e+01_rb,0.74980e+01_rb /) kbo(:, 1,50,14) = (/ & & 0.54125e+01_rb,0.74991e+01_rb,0.84401e+01_rb,0.78123e+01_rb,0.64595e+01_rb /) kbo(:, 2,50,14) = (/ & & 0.59003e+01_rb,0.77375e+01_rb,0.86301e+01_rb,0.79423e+01_rb,0.67420e+01_rb /) kbo(:, 3,50,14) = (/ & & 0.63429e+01_rb,0.79215e+01_rb,0.87619e+01_rb,0.80304e+01_rb,0.70024e+01_rb /) kbo(:, 4,50,14) = (/ & & 0.67393e+01_rb,0.80557e+01_rb,0.88380e+01_rb,0.80904e+01_rb,0.72354e+01_rb /) kbo(:, 5,50,14) = (/ & & 0.70838e+01_rb,0.81507e+01_rb,0.88659e+01_rb,0.81277e+01_rb,0.74327e+01_rb /) kbo(:, 1,51,14) = (/ & & 0.52191e+01_rb,0.73982e+01_rb,0.83585e+01_rb,0.77548e+01_rb,0.63504e+01_rb /) kbo(:, 2,51,14) = (/ & & 0.57281e+01_rb,0.76566e+01_rb,0.85673e+01_rb,0.79002e+01_rb,0.66408e+01_rb /) kbo(:, 3,51,14) = (/ & & 0.61850e+01_rb,0.78612e+01_rb,0.87206e+01_rb,0.80029e+01_rb,0.69102e+01_rb /) kbo(:, 4,51,14) = (/ & & 0.66013e+01_rb,0.80131e+01_rb,0.88169e+01_rb,0.80719e+01_rb,0.71542e+01_rb /) kbo(:, 5,51,14) = (/ & & 0.69630e+01_rb,0.81207e+01_rb,0.88611e+01_rb,0.81171e+01_rb,0.73645e+01_rb /) kbo(:, 1,52,14) = (/ & & 0.50203e+01_rb,0.72853e+01_rb,0.82659e+01_rb,0.76900e+01_rb,0.62362e+01_rb /) kbo(:, 2,52,14) = (/ & & 0.55489e+01_rb,0.75692e+01_rb,0.84974e+01_rb,0.78525e+01_rb,0.65380e+01_rb /) kbo(:, 3,52,14) = (/ & & 0.60223e+01_rb,0.77933e+01_rb,0.86726e+01_rb,0.79710e+01_rb,0.68148e+01_rb /) kbo(:, 4,52,14) = (/ & & 0.64533e+01_rb,0.79619e+01_rb,0.87883e+01_rb,0.80495e+01_rb,0.70682e+01_rb /) kbo(:, 5,52,14) = (/ & & 0.68363e+01_rb,0.80853e+01_rb,0.88509e+01_rb,0.81034e+01_rb,0.72926e+01_rb /) kbo(:, 1,53,14) = (/ & & 0.48171e+01_rb,0.71626e+01_rb,0.81646e+01_rb,0.76188e+01_rb,0.61179e+01_rb /) kbo(:, 2,53,14) = (/ & & 0.53620e+01_rb,0.74745e+01_rb,0.84206e+01_rb,0.77982e+01_rb,0.64310e+01_rb /) kbo(:, 3,53,14) = (/ & & 0.58544e+01_rb,0.77168e+01_rb,0.86150e+01_rb,0.79329e+01_rb,0.67166e+01_rb /) kbo(:, 4,53,14) = (/ & & 0.63007e+01_rb,0.79064e+01_rb,0.87527e+01_rb,0.80244e+01_rb,0.69787e+01_rb /) kbo(:, 5,53,14) = (/ & & 0.67036e+01_rb,0.80457e+01_rb,0.88348e+01_rb,0.80870e+01_rb,0.72150e+01_rb /) kbo(:, 1,54,14) = (/ & & 0.46268e+01_rb,0.70415e+01_rb,0.80643e+01_rb,0.75453e+01_rb,0.60051e+01_rb /) kbo(:, 2,54,14) = (/ & & 0.51834e+01_rb,0.73793e+01_rb,0.83436e+01_rb,0.77439e+01_rb,0.63304e+01_rb /) kbo(:, 3,54,14) = (/ & & 0.56952e+01_rb,0.76416e+01_rb,0.85557e+01_rb,0.78930e+01_rb,0.66233e+01_rb /) kbo(:, 4,54,14) = (/ & & 0.61555e+01_rb,0.78501e+01_rb,0.87136e+01_rb,0.79986e+01_rb,0.68935e+01_rb /) kbo(:, 5,54,14) = (/ & & 0.65754e+01_rb,0.80055e+01_rb,0.88139e+01_rb,0.80689e+01_rb,0.71391e+01_rb /) kbo(:, 1,55,14) = (/ & & 0.44418e+01_rb,0.69152e+01_rb,0.79589e+01_rb,0.74683e+01_rb,0.58909e+01_rb /) kbo(:, 2,55,14) = (/ & & 0.50082e+01_rb,0.72786e+01_rb,0.82608e+01_rb,0.76866e+01_rb,0.62296e+01_rb /) kbo(:, 3,55,14) = (/ & & 0.55372e+01_rb,0.75641e+01_rb,0.84935e+01_rb,0.78502e+01_rb,0.65324e+01_rb /) kbo(:, 4,55,14) = (/ & & 0.60119e+01_rb,0.77891e+01_rb,0.86705e+01_rb,0.79700e+01_rb,0.68094e+01_rb /) kbo(:, 5,55,14) = (/ & & 0.64443e+01_rb,0.79596e+01_rb,0.87874e+01_rb,0.80489e+01_rb,0.70636e+01_rb /) kbo(:, 1,56,14) = (/ & & 0.42552e+01_rb,0.67816e+01_rb,0.78463e+01_rb,0.73861e+01_rb,0.57693e+01_rb /) kbo(:, 2,56,14) = (/ & & 0.48302e+01_rb,0.71710e+01_rb,0.81721e+01_rb,0.76241e+01_rb,0.61259e+01_rb /) kbo(:, 3,56,14) = (/ & & 0.53736e+01_rb,0.74812e+01_rb,0.84261e+01_rb,0.78026e+01_rb,0.64389e+01_rb /) kbo(:, 4,56,14) = (/ & & 0.58648e+01_rb,0.77223e+01_rb,0.86198e+01_rb,0.79361e+01_rb,0.67232e+01_rb /) kbo(:, 5,56,14) = (/ & & 0.63103e+01_rb,0.79105e+01_rb,0.87564e+01_rb,0.80271e+01_rb,0.69853e+01_rb /) kbo(:, 1,57,14) = (/ & & 0.40639e+01_rb,0.66394e+01_rb,0.77238e+01_rb,0.72954e+01_rb,0.56390e+01_rb /) kbo(:, 2,57,14) = (/ & & 0.46488e+01_rb,0.70563e+01_rb,0.80768e+01_rb,0.75544e+01_rb,0.60187e+01_rb /) kbo(:, 3,57,14) = (/ & & 0.52035e+01_rb,0.73909e+01_rb,0.83529e+01_rb,0.77510e+01_rb,0.63425e+01_rb /) kbo(:, 4,57,14) = (/ & & 0.57137e+01_rb,0.76510e+01_rb,0.85638e+01_rb,0.78985e+01_rb,0.66342e+01_rb /) kbo(:, 5,57,14) = (/ & & 0.61722e+01_rb,0.78574e+01_rb,0.87192e+01_rb,0.80023e+01_rb,0.69038e+01_rb /) kbo(:, 1,58,14) = (/ & & 0.38805e+01_rb,0.64976e+01_rb,0.75961e+01_rb,0.72010e+01_rb,0.55107e+01_rb /) kbo(:, 2,58,14) = (/ & & 0.44745e+01_rb,0.69383e+01_rb,0.79787e+01_rb,0.74825e+01_rb,0.59115e+01_rb /) kbo(:, 3,58,14) = (/ & & 0.50386e+01_rb,0.72976e+01_rb,0.82763e+01_rb,0.76973e+01_rb,0.62480e+01_rb /) kbo(:, 4,58,14) = (/ & & 0.55648e+01_rb,0.75780e+01_rb,0.85055e+01_rb,0.78586e+01_rb,0.65486e+01_rb /) kbo(:, 5,58,14) = (/ & & 0.60366e+01_rb,0.78002e+01_rb,0.86790e+01_rb,0.79756e+01_rb,0.68245e+01_rb /) kbo(:, 1,59,14) = (/ & & 0.38057e+01_rb,0.64388e+01_rb,0.75416e+01_rb,0.71615e+01_rb,0.54582e+01_rb /) kbo(:, 2,59,14) = (/ & & 0.44044e+01_rb,0.68893e+01_rb,0.79374e+01_rb,0.74528e+01_rb,0.58671e+01_rb /) kbo(:, 3,59,14) = (/ & & 0.49711e+01_rb,0.72574e+01_rb,0.82432e+01_rb,0.76750e+01_rb,0.62091e+01_rb /) kbo(:, 4,59,14) = (/ & & 0.55038e+01_rb,0.75476e+01_rb,0.84809e+01_rb,0.78415e+01_rb,0.65137e+01_rb /) kbo(:, 5,59,14) = (/ & & 0.59820e+01_rb,0.77764e+01_rb,0.86612e+01_rb,0.79636e+01_rb,0.67922e+01_rb /) kbo(:, 1,13,15) = (/ & & 0.21583e+02_rb,0.16708e+02_rb,0.15578e+02_rb,0.16324e+02_rb,0.21499e+02_rb /) kbo(:, 2,13,15) = (/ & & 0.21596e+02_rb,0.16646e+02_rb,0.15448e+02_rb,0.16116e+02_rb,0.21237e+02_rb /) kbo(:, 3,13,15) = (/ & & 0.21561e+02_rb,0.16562e+02_rb,0.15303e+02_rb,0.15881e+02_rb,0.20975e+02_rb /) kbo(:, 4,13,15) = (/ & & 0.21482e+02_rb,0.16444e+02_rb,0.15131e+02_rb,0.15663e+02_rb,0.20709e+02_rb /) kbo(:, 5,13,15) = (/ & & 0.21360e+02_rb,0.16308e+02_rb,0.14933e+02_rb,0.15443e+02_rb,0.20449e+02_rb /) kbo(:, 1,14,15) = (/ & & 0.23286e+02_rb,0.18105e+02_rb,0.17022e+02_rb,0.17494e+02_rb,0.22811e+02_rb /) kbo(:, 2,14,15) = (/ & & 0.23268e+02_rb,0.18001e+02_rb,0.16845e+02_rb,0.17259e+02_rb,0.22563e+02_rb /) kbo(:, 3,14,15) = (/ & & 0.23185e+02_rb,0.17865e+02_rb,0.16645e+02_rb,0.17010e+02_rb,0.22295e+02_rb /) kbo(:, 4,14,15) = (/ & & 0.23065e+02_rb,0.17707e+02_rb,0.16417e+02_rb,0.16757e+02_rb,0.22015e+02_rb /) kbo(:, 5,14,15) = (/ & & 0.22894e+02_rb,0.17515e+02_rb,0.16163e+02_rb,0.16504e+02_rb,0.21733e+02_rb /) kbo(:, 1,15,15) = (/ & & 0.24991e+02_rb,0.19505e+02_rb,0.18411e+02_rb,0.18638e+02_rb,0.24057e+02_rb /) kbo(:, 2,15,15) = (/ & & 0.24920e+02_rb,0.19349e+02_rb,0.18180e+02_rb,0.18374e+02_rb,0.23810e+02_rb /) kbo(:, 3,15,15) = (/ & & 0.24797e+02_rb,0.19155e+02_rb,0.17917e+02_rb,0.18103e+02_rb,0.23536e+02_rb /) kbo(:, 4,15,15) = (/ & & 0.24619e+02_rb,0.18942e+02_rb,0.17624e+02_rb,0.17814e+02_rb,0.23238e+02_rb /) kbo(:, 5,15,15) = (/ & & 0.24389e+02_rb,0.18694e+02_rb,0.17313e+02_rb,0.17524e+02_rb,0.22925e+02_rb /) kbo(:, 1,16,15) = (/ & & 0.26656e+02_rb,0.20879e+02_rb,0.19716e+02_rb,0.19730e+02_rb,0.25227e+02_rb /) kbo(:, 2,16,15) = (/ & & 0.26523e+02_rb,0.20660e+02_rb,0.19424e+02_rb,0.19442e+02_rb,0.24961e+02_rb /) kbo(:, 3,16,15) = (/ & & 0.26348e+02_rb,0.20405e+02_rb,0.19093e+02_rb,0.19135e+02_rb,0.24671e+02_rb /) kbo(:, 4,16,15) = (/ & & 0.26107e+02_rb,0.20124e+02_rb,0.18741e+02_rb,0.18812e+02_rb,0.24357e+02_rb /) kbo(:, 5,16,15) = (/ & & 0.25816e+02_rb,0.19816e+02_rb,0.18364e+02_rb,0.18476e+02_rb,0.24001e+02_rb /) kbo(:, 1,17,15) = (/ & & 0.28242e+02_rb,0.22184e+02_rb,0.20936e+02_rb,0.20769e+02_rb,0.26307e+02_rb /) kbo(:, 2,17,15) = (/ & & 0.28053e+02_rb,0.21895e+02_rb,0.20570e+02_rb,0.20444e+02_rb,0.26016e+02_rb /) kbo(:, 3,17,15) = (/ & & 0.27803e+02_rb,0.21584e+02_rb,0.20174e+02_rb,0.20096e+02_rb,0.25702e+02_rb /) kbo(:, 4,17,15) = (/ & & 0.27499e+02_rb,0.21233e+02_rb,0.19753e+02_rb,0.19726e+02_rb,0.25351e+02_rb /) kbo(:, 5,17,15) = (/ & & 0.27139e+02_rb,0.20859e+02_rb,0.19319e+02_rb,0.19342e+02_rb,0.24955e+02_rb /) kbo(:, 1,18,15) = (/ & & 0.29720e+02_rb,0.23411e+02_rb,0.22065e+02_rb,0.21731e+02_rb,0.27280e+02_rb /) kbo(:, 2,18,15) = (/ & & 0.29480e+02_rb,0.23053e+02_rb,0.21624e+02_rb,0.21360e+02_rb,0.26972e+02_rb /) kbo(:, 3,18,15) = (/ & & 0.29159e+02_rb,0.22667e+02_rb,0.21156e+02_rb,0.20967e+02_rb,0.26625e+02_rb /) kbo(:, 4,18,15) = (/ & & 0.28776e+02_rb,0.22248e+02_rb,0.20663e+02_rb,0.20553e+02_rb,0.26229e+02_rb /) kbo(:, 5,18,15) = (/ & & 0.28340e+02_rb,0.21810e+02_rb,0.20170e+02_rb,0.20119e+02_rb,0.25790e+02_rb /) kbo(:, 1,19,15) = (/ & & 0.31079e+02_rb,0.24533e+02_rb,0.23084e+02_rb,0.22601e+02_rb,0.28156e+02_rb /) kbo(:, 2,19,15) = (/ & & 0.30766e+02_rb,0.24108e+02_rb,0.22572e+02_rb,0.22185e+02_rb,0.27815e+02_rb /) kbo(:, 3,19,15) = (/ & & 0.30376e+02_rb,0.23641e+02_rb,0.22030e+02_rb,0.21741e+02_rb,0.27429e+02_rb /) kbo(:, 4,19,15) = (/ & & 0.29923e+02_rb,0.23160e+02_rb,0.21471e+02_rb,0.21280e+02_rb,0.26992e+02_rb /) kbo(:, 5,19,15) = (/ & & 0.29415e+02_rb,0.22660e+02_rb,0.20920e+02_rb,0.20797e+02_rb,0.26511e+02_rb /) kbo(:, 1,20,15) = (/ & & 0.32290e+02_rb,0.25527e+02_rb,0.23984e+02_rb,0.23373e+02_rb,0.28918e+02_rb /) kbo(:, 2,20,15) = (/ & & 0.31907e+02_rb,0.25035e+02_rb,0.23397e+02_rb,0.22899e+02_rb,0.28537e+02_rb /) kbo(:, 3,20,15) = (/ & & 0.31450e+02_rb,0.24496e+02_rb,0.22784e+02_rb,0.22408e+02_rb,0.28112e+02_rb /) kbo(:, 4,20,15) = (/ & & 0.30926e+02_rb,0.23946e+02_rb,0.22166e+02_rb,0.21898e+02_rb,0.27628e+02_rb /) kbo(:, 5,20,15) = (/ & & 0.30351e+02_rb,0.23384e+02_rb,0.21559e+02_rb,0.21369e+02_rb,0.27109e+02_rb /) kbo(:, 1,21,15) = (/ & & 0.33354e+02_rb,0.26397e+02_rb,0.24768e+02_rb,0.24040e+02_rb,0.29575e+02_rb /) kbo(:, 2,21,15) = (/ & & 0.32901e+02_rb,0.25842e+02_rb,0.24107e+02_rb,0.23511e+02_rb,0.29153e+02_rb /) kbo(:, 3,21,15) = (/ & & 0.32374e+02_rb,0.25240e+02_rb,0.23426e+02_rb,0.22972e+02_rb,0.28686e+02_rb /) kbo(:, 4,21,15) = (/ & & 0.31781e+02_rb,0.24624e+02_rb,0.22754e+02_rb,0.22416e+02_rb,0.28162e+02_rb /) kbo(:, 5,21,15) = (/ & & 0.31147e+02_rb,0.24003e+02_rb,0.22095e+02_rb,0.21845e+02_rb,0.27608e+02_rb /) kbo(:, 1,22,15) = (/ & & 0.34245e+02_rb,0.27109e+02_rb,0.25388e+02_rb,0.24566e+02_rb,0.30099e+02_rb /) kbo(:, 2,22,15) = (/ & & 0.33719e+02_rb,0.26481e+02_rb,0.24655e+02_rb,0.23987e+02_rb,0.29635e+02_rb /) kbo(:, 3,22,15) = (/ & & 0.33121e+02_rb,0.25821e+02_rb,0.23916e+02_rb,0.23403e+02_rb,0.29124e+02_rb /) kbo(:, 4,22,15) = (/ & & 0.32461e+02_rb,0.25147e+02_rb,0.23196e+02_rb,0.22805e+02_rb,0.28562e+02_rb /) kbo(:, 5,22,15) = (/ & & 0.31774e+02_rb,0.24482e+02_rb,0.22495e+02_rb,0.22197e+02_rb,0.27979e+02_rb /) kbo(:, 1,23,15) = (/ & & 0.34979e+02_rb,0.27686e+02_rb,0.25885e+02_rb,0.24985e+02_rb,0.30523e+02_rb /) kbo(:, 2,23,15) = (/ & & 0.34390e+02_rb,0.26989e+02_rb,0.25088e+02_rb,0.24366e+02_rb,0.30015e+02_rb /) kbo(:, 3,23,15) = (/ & & 0.33724e+02_rb,0.26279e+02_rb,0.24300e+02_rb,0.23742e+02_rb,0.29464e+02_rb /) kbo(:, 4,23,15) = (/ & & 0.33013e+02_rb,0.25562e+02_rb,0.23538e+02_rb,0.23108e+02_rb,0.28875e+02_rb /) kbo(:, 5,23,15) = (/ & & 0.32269e+02_rb,0.24853e+02_rb,0.22796e+02_rb,0.22467e+02_rb,0.28265e+02_rb /) kbo(:, 1,24,15) = (/ & & 0.35573e+02_rb,0.28136e+02_rb,0.26264e+02_rb,0.25305e+02_rb,0.30849e+02_rb /) kbo(:, 2,24,15) = (/ & & 0.34922e+02_rb,0.27387e+02_rb,0.25413e+02_rb,0.24653e+02_rb,0.30308e+02_rb /) kbo(:, 3,24,15) = (/ & & 0.34200e+02_rb,0.26632e+02_rb,0.24587e+02_rb,0.23994e+02_rb,0.29723e+02_rb /) kbo(:, 4,24,15) = (/ & & 0.33439e+02_rb,0.25872e+02_rb,0.23787e+02_rb,0.23329e+02_rb,0.29105e+02_rb /) kbo(:, 5,24,15) = (/ & & 0.32647e+02_rb,0.25128e+02_rb,0.23014e+02_rb,0.22661e+02_rb,0.28477e+02_rb /) kbo(:, 1,25,15) = (/ & & 0.36033e+02_rb,0.28469e+02_rb,0.26533e+02_rb,0.25539e+02_rb,0.31091e+02_rb /) kbo(:, 2,25,15) = (/ & & 0.35324e+02_rb,0.27679e+02_rb,0.25640e+02_rb,0.24852e+02_rb,0.30512e+02_rb /) kbo(:, 3,25,15) = (/ & & 0.34555e+02_rb,0.26887e+02_rb,0.24782e+02_rb,0.24167e+02_rb,0.29902e+02_rb /) kbo(:, 4,25,15) = (/ & & 0.33752e+02_rb,0.26092e+02_rb,0.23953e+02_rb,0.23474e+02_rb,0.29262e+02_rb /) kbo(:, 5,25,15) = (/ & & 0.32915e+02_rb,0.25319e+02_rb,0.23155e+02_rb,0.22787e+02_rb,0.28617e+02_rb /) kbo(:, 1,26,15) = (/ & & 0.36371e+02_rb,0.28696e+02_rb,0.26697e+02_rb,0.25688e+02_rb,0.31254e+02_rb /) kbo(:, 2,26,15) = (/ & & 0.35607e+02_rb,0.27872e+02_rb,0.25775e+02_rb,0.24975e+02_rb,0.30642e+02_rb /) kbo(:, 3,26,15) = (/ & & 0.34798e+02_rb,0.27047e+02_rb,0.24890e+02_rb,0.24264e+02_rb,0.30007e+02_rb /) kbo(:, 4,26,15) = (/ & & 0.33956e+02_rb,0.26227e+02_rb,0.24040e+02_rb,0.23549e+02_rb,0.29351e+02_rb /) kbo(:, 5,26,15) = (/ & & 0.33076e+02_rb,0.25425e+02_rb,0.23222e+02_rb,0.22845e+02_rb,0.28688e+02_rb /) kbo(:, 1,27,15) = (/ & & 0.36605e+02_rb,0.28839e+02_rb,0.26780e+02_rb,0.25770e+02_rb,0.31349e+02_rb /) kbo(:, 2,27,15) = (/ & & 0.35796e+02_rb,0.27987e+02_rb,0.25836e+02_rb,0.25037e+02_rb,0.30713e+02_rb /) kbo(:, 3,27,15) = (/ & & 0.34952e+02_rb,0.27136e+02_rb,0.24934e+02_rb,0.24306e+02_rb,0.30059e+02_rb /) kbo(:, 4,27,15) = (/ & & 0.34075e+02_rb,0.26294e+02_rb,0.24068e+02_rb,0.23575e+02_rb,0.29392e+02_rb /) kbo(:, 5,27,15) = (/ & & 0.33166e+02_rb,0.25473e+02_rb,0.23238e+02_rb,0.22856e+02_rb,0.28711e+02_rb /) kbo(:, 1,28,15) = (/ & & 0.36758e+02_rb,0.28917e+02_rb,0.26804e+02_rb,0.25803e+02_rb,0.31396e+02_rb /) kbo(:, 2,28,15) = (/ & & 0.35910e+02_rb,0.28037e+02_rb,0.25842e+02_rb,0.25051e+02_rb,0.30739e+02_rb /) kbo(:, 3,28,15) = (/ & & 0.35033e+02_rb,0.27165e+02_rb,0.24925e+02_rb,0.24304e+02_rb,0.30070e+02_rb /) kbo(:, 4,28,15) = (/ & & 0.34125e+02_rb,0.26307e+02_rb,0.24049e+02_rb,0.23563e+02_rb,0.29393e+02_rb /) kbo(:, 5,28,15) = (/ & & 0.33188e+02_rb,0.25468e+02_rb,0.23210e+02_rb,0.22829e+02_rb,0.28695e+02_rb /) kbo(:, 1,29,15) = (/ & & 0.36829e+02_rb,0.28926e+02_rb,0.26766e+02_rb,0.25785e+02_rb,0.31393e+02_rb /) kbo(:, 2,29,15) = (/ & & 0.35949e+02_rb,0.28025e+02_rb,0.25792e+02_rb,0.25019e+02_rb,0.30723e+02_rb /) kbo(:, 3,29,15) = (/ & & 0.35045e+02_rb,0.27141e+02_rb,0.24868e+02_rb,0.24260e+02_rb,0.30042e+02_rb /) kbo(:, 4,29,15) = (/ & & 0.34114e+02_rb,0.26272e+02_rb,0.23986e+02_rb,0.23509e+02_rb,0.29353e+02_rb /) kbo(:, 5,29,15) = (/ & & 0.33154e+02_rb,0.25419e+02_rb,0.23142e+02_rb,0.22765e+02_rb,0.28643e+02_rb /) kbo(:, 1,30,15) = (/ & & 0.36836e+02_rb,0.28884e+02_rb,0.26681e+02_rb,0.25729e+02_rb,0.31353e+02_rb /) kbo(:, 2,30,15) = (/ & & 0.35935e+02_rb,0.27972e+02_rb,0.25704e+02_rb,0.24955e+02_rb,0.30675e+02_rb /) kbo(:, 3,30,15) = (/ & & 0.35002e+02_rb,0.27075e+02_rb,0.24775e+02_rb,0.24184e+02_rb,0.29984e+02_rb /) kbo(:, 4,30,15) = (/ & & 0.34050e+02_rb,0.26196e+02_rb,0.23891e+02_rb,0.23427e+02_rb,0.29283e+02_rb /) kbo(:, 5,30,15) = (/ & & 0.33076e+02_rb,0.25337e+02_rb,0.23046e+02_rb,0.22676e+02_rb,0.28566e+02_rb /) kbo(:, 1,31,15) = (/ & & 0.36791e+02_rb,0.28797e+02_rb,0.26557e+02_rb,0.25640e+02_rb,0.31284e+02_rb /) kbo(:, 2,31,15) = (/ & & 0.35869e+02_rb,0.27877e+02_rb,0.25582e+02_rb,0.24857e+02_rb,0.30596e+02_rb /) kbo(:, 3,31,15) = (/ & & 0.34914e+02_rb,0.26971e+02_rb,0.24653e+02_rb,0.24083e+02_rb,0.29901e+02_rb /) kbo(:, 4,31,15) = (/ & & 0.33941e+02_rb,0.26084e+02_rb,0.23767e+02_rb,0.23319e+02_rb,0.29185e+02_rb /) kbo(:, 5,31,15) = (/ & & 0.32958e+02_rb,0.25224e+02_rb,0.22924e+02_rb,0.22563e+02_rb,0.28464e+02_rb /) kbo(:, 1,32,15) = (/ & & 0.36704e+02_rb,0.28676e+02_rb,0.26402e+02_rb,0.25521e+02_rb,0.31186e+02_rb /) kbo(:, 2,32,15) = (/ & & 0.35759e+02_rb,0.27748e+02_rb,0.25429e+02_rb,0.24734e+02_rb,0.30492e+02_rb /) kbo(:, 3,32,15) = (/ & & 0.34789e+02_rb,0.26839e+02_rb,0.24504e+02_rb,0.23956e+02_rb,0.29792e+02_rb /) kbo(:, 4,32,15) = (/ & & 0.33799e+02_rb,0.25947e+02_rb,0.23622e+02_rb,0.23189e+02_rb,0.29067e+02_rb /) kbo(:, 5,32,15) = (/ & & 0.32807e+02_rb,0.25086e+02_rb,0.22780e+02_rb,0.22431e+02_rb,0.28343e+02_rb /) kbo(:, 1,33,15) = (/ & & 0.36581e+02_rb,0.28529e+02_rb,0.26229e+02_rb,0.25386e+02_rb,0.31076e+02_rb /) kbo(:, 2,33,15) = (/ & & 0.35618e+02_rb,0.27597e+02_rb,0.25258e+02_rb,0.24592e+02_rb,0.30373e+02_rb /) kbo(:, 3,33,15) = (/ & & 0.34634e+02_rb,0.26685e+02_rb,0.24337e+02_rb,0.23815e+02_rb,0.29666e+02_rb /) kbo(:, 4,33,15) = (/ & & 0.33632e+02_rb,0.25791e+02_rb,0.23459e+02_rb,0.23042e+02_rb,0.28931e+02_rb /) kbo(:, 5,33,15) = (/ & & 0.32632e+02_rb,0.24931e+02_rb,0.22622e+02_rb,0.22288e+02_rb,0.28210e+02_rb /) kbo(:, 1,34,15) = (/ & & 0.36458e+02_rb,0.28392e+02_rb,0.26072e+02_rb,0.25264e+02_rb,0.30972e+02_rb /) kbo(:, 2,34,15) = (/ & & 0.35483e+02_rb,0.27459e+02_rb,0.25106e+02_rb,0.24467e+02_rb,0.30265e+02_rb /) kbo(:, 3,34,15) = (/ & & 0.34486e+02_rb,0.26542e+02_rb,0.24189e+02_rb,0.23688e+02_rb,0.29550e+02_rb /) kbo(:, 4,34,15) = (/ & & 0.33480e+02_rb,0.25653e+02_rb,0.23315e+02_rb,0.22913e+02_rb,0.28811e+02_rb /) kbo(:, 5,34,15) = (/ & & 0.32478e+02_rb,0.24793e+02_rb,0.22484e+02_rb,0.22163e+02_rb,0.28094e+02_rb /) kbo(:, 1,35,15) = (/ & & 0.36414e+02_rb,0.28334e+02_rb,0.25999e+02_rb,0.25206e+02_rb,0.30923e+02_rb /) kbo(:, 2,35,15) = (/ & & 0.35425e+02_rb,0.27395e+02_rb,0.25033e+02_rb,0.24406e+02_rb,0.30215e+02_rb /) kbo(:, 3,35,15) = (/ & & 0.34420e+02_rb,0.26476e+02_rb,0.24117e+02_rb,0.23624e+02_rb,0.29493e+02_rb /) kbo(:, 4,35,15) = (/ & & 0.33407e+02_rb,0.25585e+02_rb,0.23243e+02_rb,0.22849e+02_rb,0.28753e+02_rb /) kbo(:, 5,35,15) = (/ & & 0.32403e+02_rb,0.24726e+02_rb,0.22415e+02_rb,0.22101e+02_rb,0.28034e+02_rb /) kbo(:, 1,36,15) = (/ & & 0.36456e+02_rb,0.28365e+02_rb,0.26023e+02_rb,0.25227e+02_rb,0.30947e+02_rb /) kbo(:, 2,36,15) = (/ & & 0.35465e+02_rb,0.27424e+02_rb,0.25054e+02_rb,0.24425e+02_rb,0.30235e+02_rb /) kbo(:, 3,36,15) = (/ & & 0.34451e+02_rb,0.26498e+02_rb,0.24134e+02_rb,0.23640e+02_rb,0.29510e+02_rb /) kbo(:, 4,36,15) = (/ & & 0.33436e+02_rb,0.25606e+02_rb,0.23259e+02_rb,0.22862e+02_rb,0.28768e+02_rb /) kbo(:, 5,36,15) = (/ & & 0.32427e+02_rb,0.24743e+02_rb,0.22427e+02_rb,0.22112e+02_rb,0.28048e+02_rb /) kbo(:, 1,37,15) = (/ & & 0.36638e+02_rb,0.28533e+02_rb,0.26191e+02_rb,0.25363e+02_rb,0.31069e+02_rb /) kbo(:, 2,37,15) = (/ & & 0.35645e+02_rb,0.27585e+02_rb,0.25212e+02_rb,0.24557e+02_rb,0.30356e+02_rb /) kbo(:, 3,37,15) = (/ & & 0.34632e+02_rb,0.26655e+02_rb,0.24283e+02_rb,0.23768e+02_rb,0.29633e+02_rb /) kbo(:, 4,37,15) = (/ & & 0.33611e+02_rb,0.25753e+02_rb,0.23398e+02_rb,0.22987e+02_rb,0.28889e+02_rb /) kbo(:, 5,37,15) = (/ & & 0.32597e+02_rb,0.24885e+02_rb,0.22559e+02_rb,0.22230e+02_rb,0.28165e+02_rb /) kbo(:, 1,38,15) = (/ & & 0.36818e+02_rb,0.28702e+02_rb,0.26363e+02_rb,0.25503e+02_rb,0.31194e+02_rb /) kbo(:, 2,38,15) = (/ & & 0.35825e+02_rb,0.27749e+02_rb,0.25373e+02_rb,0.24692e+02_rb,0.30479e+02_rb /) kbo(:, 3,38,15) = (/ & & 0.34809e+02_rb,0.26811e+02_rb,0.24434e+02_rb,0.23900e+02_rb,0.29757e+02_rb /) kbo(:, 4,38,15) = (/ & & 0.33789e+02_rb,0.25904e+02_rb,0.23543e+02_rb,0.23114e+02_rb,0.29012e+02_rb /) kbo(:, 5,38,15) = (/ & & 0.32767e+02_rb,0.25028e+02_rb,0.22694e+02_rb,0.22351e+02_rb,0.28285e+02_rb /) kbo(:, 1,39,15) = (/ & & 0.36989e+02_rb,0.28865e+02_rb,0.26530e+02_rb,0.25636e+02_rb,0.31312e+02_rb /) kbo(:, 2,39,15) = (/ & & 0.35999e+02_rb,0.27907e+02_rb,0.25529e+02_rb,0.24823e+02_rb,0.30597e+02_rb /) kbo(:, 3,39,15) = (/ & & 0.34983e+02_rb,0.26966e+02_rb,0.24583e+02_rb,0.24027e+02_rb,0.29878e+02_rb /) kbo(:, 4,39,15) = (/ & & 0.33957e+02_rb,0.26048e+02_rb,0.23683e+02_rb,0.23240e+02_rb,0.29134e+02_rb /) kbo(:, 5,39,15) = (/ & & 0.32935e+02_rb,0.25169e+02_rb,0.22826e+02_rb,0.22468e+02_rb,0.28398e+02_rb /) kbo(:, 1,40,15) = (/ & & 0.37254e+02_rb,0.29125e+02_rb,0.26800e+02_rb,0.25853e+02_rb,0.31502e+02_rb /) kbo(:, 2,40,15) = (/ & & 0.36269e+02_rb,0.28159e+02_rb,0.25786e+02_rb,0.25036e+02_rb,0.30787e+02_rb /) kbo(:, 3,40,15) = (/ & & 0.35253e+02_rb,0.27211e+02_rb,0.24825e+02_rb,0.24233e+02_rb,0.30069e+02_rb /) kbo(:, 4,40,15) = (/ & & 0.34229e+02_rb,0.26287e+02_rb,0.23913e+02_rb,0.23442e+02_rb,0.29327e+02_rb /) kbo(:, 5,40,15) = (/ & & 0.33202e+02_rb,0.25396e+02_rb,0.23042e+02_rb,0.22665e+02_rb,0.28587e+02_rb /) kbo(:, 1,41,15) = (/ & & 0.37526e+02_rb,0.29396e+02_rb,0.27087e+02_rb,0.26081e+02_rb,0.31701e+02_rb /) kbo(:, 2,41,15) = (/ & & 0.36546e+02_rb,0.28422e+02_rb,0.26056e+02_rb,0.25257e+02_rb,0.30982e+02_rb /) kbo(:, 3,41,15) = (/ & & 0.35534e+02_rb,0.27467e+02_rb,0.25079e+02_rb,0.24448e+02_rb,0.30265e+02_rb /) kbo(:, 4,41,15) = (/ & & 0.34510e+02_rb,0.26534e+02_rb,0.24153e+02_rb,0.23654e+02_rb,0.29528e+02_rb /) kbo(:, 5,41,15) = (/ & & 0.33481e+02_rb,0.25633e+02_rb,0.23271e+02_rb,0.22872e+02_rb,0.28783e+02_rb /) kbo(:, 1,42,15) = (/ & & 0.37791e+02_rb,0.29665e+02_rb,0.27375e+02_rb,0.26306e+02_rb,0.31897e+02_rb /) kbo(:, 2,42,15) = (/ & & 0.36818e+02_rb,0.28682e+02_rb,0.26328e+02_rb,0.25479e+02_rb,0.31179e+02_rb /) kbo(:, 3,42,15) = (/ & & 0.35814e+02_rb,0.27725e+02_rb,0.25336e+02_rb,0.24663e+02_rb,0.30459e+02_rb /) kbo(:, 4,42,15) = (/ & & 0.34792e+02_rb,0.26784e+02_rb,0.24397e+02_rb,0.23867e+02_rb,0.29730e+02_rb /) kbo(:, 5,42,15) = (/ & & 0.33761e+02_rb,0.25873e+02_rb,0.23504e+02_rb,0.23079e+02_rb,0.28983e+02_rb /) kbo(:, 1,43,15) = (/ & & 0.38102e+02_rb,0.29987e+02_rb,0.27726e+02_rb,0.26579e+02_rb,0.32132e+02_rb /) kbo(:, 2,43,15) = (/ & & 0.37142e+02_rb,0.29000e+02_rb,0.26660e+02_rb,0.25743e+02_rb,0.31410e+02_rb /) kbo(:, 3,43,15) = (/ & & 0.36146e+02_rb,0.28034e+02_rb,0.25651e+02_rb,0.24927e+02_rb,0.30694e+02_rb /) kbo(:, 4,43,15) = (/ & & 0.35125e+02_rb,0.27087e+02_rb,0.24694e+02_rb,0.24121e+02_rb,0.29968e+02_rb /) kbo(:, 5,43,15) = (/ & & 0.34093e+02_rb,0.26161e+02_rb,0.23786e+02_rb,0.23330e+02_rb,0.29223e+02_rb /) kbo(:, 1,44,15) = (/ & & 0.38433e+02_rb,0.30339e+02_rb,0.28106e+02_rb,0.26874e+02_rb,0.32381e+02_rb /) kbo(:, 2,44,15) = (/ & & 0.37485e+02_rb,0.29344e+02_rb,0.27023e+02_rb,0.26033e+02_rb,0.31664e+02_rb /) kbo(:, 3,44,15) = (/ & & 0.36497e+02_rb,0.28368e+02_rb,0.25996e+02_rb,0.25211e+02_rb,0.30945e+02_rb /) kbo(:, 4,44,15) = (/ & & 0.35483e+02_rb,0.27414e+02_rb,0.25019e+02_rb,0.24397e+02_rb,0.30221e+02_rb /) kbo(:, 5,44,15) = (/ & & 0.34454e+02_rb,0.26480e+02_rb,0.24095e+02_rb,0.23603e+02_rb,0.29482e+02_rb /) kbo(:, 1,45,15) = (/ & & 0.38755e+02_rb,0.30690e+02_rb,0.28491e+02_rb,0.27169e+02_rb,0.32624e+02_rb /) kbo(:, 2,45,15) = (/ & & 0.37819e+02_rb,0.29686e+02_rb,0.27393e+02_rb,0.26324e+02_rb,0.31916e+02_rb /) kbo(:, 3,45,15) = (/ & & 0.36842e+02_rb,0.28700e+02_rb,0.26343e+02_rb,0.25494e+02_rb,0.31195e+02_rb /) kbo(:, 4,45,15) = (/ & & 0.35840e+02_rb,0.27743e+02_rb,0.25350e+02_rb,0.24674e+02_rb,0.30470e+02_rb /) kbo(:, 5,45,15) = (/ & & 0.34814e+02_rb,0.26800e+02_rb,0.24408e+02_rb,0.23874e+02_rb,0.29739e+02_rb /) kbo(:, 1,46,15) = (/ & & 0.39090e+02_rb,0.31065e+02_rb,0.28908e+02_rb,0.27486e+02_rb,0.32877e+02_rb /) kbo(:, 2,46,15) = (/ & & 0.38170e+02_rb,0.30050e+02_rb,0.27790e+02_rb,0.26631e+02_rb,0.32180e+02_rb /) kbo(:, 3,46,15) = (/ & & 0.37208e+02_rb,0.29060e+02_rb,0.26719e+02_rb,0.25793e+02_rb,0.31457e+02_rb /) kbo(:, 4,46,15) = (/ & & 0.36211e+02_rb,0.28091e+02_rb,0.25705e+02_rb,0.24972e+02_rb,0.30735e+02_rb /) kbo(:, 5,46,15) = (/ & & 0.35190e+02_rb,0.27143e+02_rb,0.24746e+02_rb,0.24165e+02_rb,0.30011e+02_rb /) kbo(:, 1,47,15) = (/ & & 0.39451e+02_rb,0.31490e+02_rb,0.29378e+02_rb,0.27842e+02_rb,0.33145e+02_rb /) kbo(:, 2,47,15) = (/ & & 0.38554e+02_rb,0.30463e+02_rb,0.28238e+02_rb,0.26977e+02_rb,0.32470e+02_rb /) kbo(:, 3,47,15) = (/ & & 0.37608e+02_rb,0.29464e+02_rb,0.27149e+02_rb,0.26134e+02_rb,0.31753e+02_rb /) kbo(:, 4,47,15) = (/ & & 0.36624e+02_rb,0.28485e+02_rb,0.26114e+02_rb,0.25307e+02_rb,0.31030e+02_rb /) kbo(:, 5,47,15) = (/ & & 0.35612e+02_rb,0.27529e+02_rb,0.25131e+02_rb,0.24491e+02_rb,0.30307e+02_rb /) kbo(:, 1,48,15) = (/ & & 0.39789e+02_rb,0.31912e+02_rb,0.29855e+02_rb,0.28207e+02_rb,0.33402e+02_rb /) kbo(:, 2,48,15) = (/ & & 0.38929e+02_rb,0.30877e+02_rb,0.28697e+02_rb,0.27328e+02_rb,0.32755e+02_rb /) kbo(:, 3,48,15) = (/ & & 0.38000e+02_rb,0.29868e+02_rb,0.27588e+02_rb,0.26477e+02_rb,0.32050e+02_rb /) kbo(:, 4,48,15) = (/ & & 0.37030e+02_rb,0.28879e+02_rb,0.26527e+02_rb,0.25639e+02_rb,0.31322e+02_rb /) kbo(:, 5,48,15) = (/ & & 0.36027e+02_rb,0.27916e+02_rb,0.25523e+02_rb,0.24819e+02_rb,0.30601e+02_rb /) kbo(:, 1,49,15) = (/ & & 0.40116e+02_rb,0.32336e+02_rb,0.30332e+02_rb,0.28574e+02_rb,0.33637e+02_rb /) kbo(:, 2,49,15) = (/ & & 0.39295e+02_rb,0.31299e+02_rb,0.29164e+02_rb,0.27682e+02_rb,0.33028e+02_rb /) kbo(:, 3,49,15) = (/ & & 0.38385e+02_rb,0.30275e+02_rb,0.28033e+02_rb,0.26821e+02_rb,0.32341e+02_rb /) kbo(:, 4,49,15) = (/ & & 0.37432e+02_rb,0.29281e+02_rb,0.26949e+02_rb,0.25975e+02_rb,0.31615e+02_rb /) kbo(:, 5,49,15) = (/ & & 0.36440e+02_rb,0.28306e+02_rb,0.25923e+02_rb,0.25151e+02_rb,0.30893e+02_rb /) kbo(:, 1,50,15) = (/ & & 0.40414e+02_rb,0.32736e+02_rb,0.30783e+02_rb,0.28924e+02_rb,0.33845e+02_rb /) kbo(:, 2,50,15) = (/ & & 0.39619e+02_rb,0.31694e+02_rb,0.29608e+02_rb,0.28020e+02_rb,0.33276e+02_rb /) kbo(:, 3,50,15) = (/ & & 0.38737e+02_rb,0.30661e+02_rb,0.28456e+02_rb,0.27146e+02_rb,0.32609e+02_rb /) kbo(:, 4,50,15) = (/ & & 0.37800e+02_rb,0.29658e+02_rb,0.27356e+02_rb,0.26296e+02_rb,0.31894e+02_rb /) kbo(:, 5,50,15) = (/ & & 0.36822e+02_rb,0.28673e+02_rb,0.26306e+02_rb,0.25463e+02_rb,0.31168e+02_rb /) kbo(:, 1,51,15) = (/ & & 0.40689e+02_rb,0.33123e+02_rb,0.31211e+02_rb,0.29252e+02_rb,0.34023e+02_rb /) kbo(:, 2,51,15) = (/ & & 0.39919e+02_rb,0.32076e+02_rb,0.30039e+02_rb,0.28350e+02_rb,0.33499e+02_rb /) kbo(:, 3,51,15) = (/ & & 0.39075e+02_rb,0.31039e+02_rb,0.28875e+02_rb,0.27462e+02_rb,0.32860e+02_rb /) kbo(:, 4,51,15) = (/ & & 0.38151e+02_rb,0.30023e+02_rb,0.27755e+02_rb,0.26605e+02_rb,0.32160e+02_rb /) kbo(:, 5,51,15) = (/ & & 0.37189e+02_rb,0.29033e+02_rb,0.26685e+02_rb,0.25765e+02_rb,0.31432e+02_rb /) kbo(:, 1,52,15) = (/ & & 0.40936e+02_rb,0.33510e+02_rb,0.31640e+02_rb,0.29576e+02_rb,0.34183e+02_rb /) kbo(:, 2,52,15) = (/ & & 0.40210e+02_rb,0.32459e+02_rb,0.30471e+02_rb,0.28683e+02_rb,0.33706e+02_rb /) kbo(:, 3,52,15) = (/ & & 0.39397e+02_rb,0.31418e+02_rb,0.29296e+02_rb,0.27784e+02_rb,0.33107e+02_rb /) kbo(:, 4,52,15) = (/ & & 0.38495e+02_rb,0.30394e+02_rb,0.28160e+02_rb,0.26919e+02_rb,0.32422e+02_rb /) kbo(:, 5,52,15) = (/ & & 0.37548e+02_rb,0.29397e+02_rb,0.27070e+02_rb,0.26070e+02_rb,0.31697e+02_rb /) kbo(:, 1,53,15) = (/ & & 0.41161e+02_rb,0.33900e+02_rb,0.32075e+02_rb,0.29895e+02_rb,0.34325e+02_rb /) kbo(:, 2,53,15) = (/ & & 0.40494e+02_rb,0.32844e+02_rb,0.30901e+02_rb,0.29015e+02_rb,0.33898e+02_rb /) kbo(:, 3,53,15) = (/ & & 0.39709e+02_rb,0.31802e+02_rb,0.29726e+02_rb,0.28110e+02_rb,0.33339e+02_rb /) kbo(:, 4,53,15) = (/ & & 0.38833e+02_rb,0.30766e+02_rb,0.28570e+02_rb,0.27234e+02_rb,0.32680e+02_rb /) kbo(:, 5,53,15) = (/ & & 0.37902e+02_rb,0.29761e+02_rb,0.27465e+02_rb,0.26380e+02_rb,0.31966e+02_rb /) kbo(:, 1,54,15) = (/ & & 0.41350e+02_rb,0.34259e+02_rb,0.32468e+02_rb,0.30182e+02_rb,0.34433e+02_rb /) kbo(:, 2,54,15) = (/ & & 0.40740e+02_rb,0.33197e+02_rb,0.31292e+02_rb,0.29316e+02_rb,0.34057e+02_rb /) kbo(:, 3,54,15) = (/ & & 0.39978e+02_rb,0.32149e+02_rb,0.30122e+02_rb,0.28414e+02_rb,0.33542e+02_rb /) kbo(:, 4,54,15) = (/ & & 0.39139e+02_rb,0.31111e+02_rb,0.28955e+02_rb,0.27524e+02_rb,0.32911e+02_rb /) kbo(:, 5,54,15) = (/ & & 0.38222e+02_rb,0.30095e+02_rb,0.27832e+02_rb,0.26664e+02_rb,0.32209e+02_rb /) kbo(:, 1,55,15) = (/ & & 0.41508e+02_rb,0.34608e+02_rb,0.32849e+02_rb,0.30454e+02_rb,0.34522e+02_rb /) kbo(:, 2,55,15) = (/ & & 0.40955e+02_rb,0.33539e+02_rb,0.31671e+02_rb,0.29598e+02_rb,0.34194e+02_rb /) kbo(:, 3,55,15) = (/ & & 0.40232e+02_rb,0.32485e+02_rb,0.30501e+02_rb,0.28707e+02_rb,0.33722e+02_rb /) kbo(:, 4,55,15) = (/ & & 0.39425e+02_rb,0.31448e+02_rb,0.29326e+02_rb,0.27805e+02_rb,0.33122e+02_rb /) kbo(:, 5,55,15) = (/ & & 0.38521e+02_rb,0.30419e+02_rb,0.28187e+02_rb,0.26941e+02_rb,0.32441e+02_rb /) kbo(:, 1,56,15) = (/ & & 0.41645e+02_rb,0.34957e+02_rb,0.33233e+02_rb,0.30720e+02_rb,0.34599e+02_rb /) kbo(:, 2,56,15) = (/ & & 0.41152e+02_rb,0.33880e+02_rb,0.32050e+02_rb,0.29874e+02_rb,0.34316e+02_rb /) kbo(:, 3,56,15) = (/ & & 0.40482e+02_rb,0.32823e+02_rb,0.30877e+02_rb,0.28999e+02_rb,0.33890e+02_rb /) kbo(:, 4,56,15) = (/ & & 0.39696e+02_rb,0.31783e+02_rb,0.29704e+02_rb,0.28093e+02_rb,0.33329e+02_rb /) kbo(:, 5,56,15) = (/ & & 0.38819e+02_rb,0.30747e+02_rb,0.28547e+02_rb,0.27216e+02_rb,0.32666e+02_rb /) kbo(:, 1,57,15) = (/ & & 0.41772e+02_rb,0.35313e+02_rb,0.33621e+02_rb,0.30980e+02_rb,0.34653e+02_rb /) kbo(:, 2,57,15) = (/ & & 0.41335e+02_rb,0.34223e+02_rb,0.32428e+02_rb,0.30152e+02_rb,0.34423e+02_rb /) kbo(:, 3,57,15) = (/ & & 0.40717e+02_rb,0.33158e+02_rb,0.31249e+02_rb,0.29283e+02_rb,0.34041e+02_rb /) kbo(:, 4,57,15) = (/ & & 0.39952e+02_rb,0.32113e+02_rb,0.30080e+02_rb,0.28382e+02_rb,0.33523e+02_rb /) kbo(:, 5,57,15) = (/ & & 0.39110e+02_rb,0.31075e+02_rb,0.28913e+02_rb,0.27492e+02_rb,0.32886e+02_rb /) kbo(:, 1,58,15) = (/ & & 0.41872e+02_rb,0.35648e+02_rb,0.33990e+02_rb,0.31215e+02_rb,0.34668e+02_rb /) kbo(:, 2,58,15) = (/ & & 0.41486e+02_rb,0.34551e+02_rb,0.32786e+02_rb,0.30408e+02_rb,0.34507e+02_rb /) kbo(:, 3,58,15) = (/ & & 0.40923e+02_rb,0.33481e+02_rb,0.31606e+02_rb,0.29553e+02_rb,0.34175e+02_rb /) kbo(:, 4,58,15) = (/ & & 0.40193e+02_rb,0.32431e+02_rb,0.30438e+02_rb,0.28657e+02_rb,0.33692e+02_rb /) kbo(:, 5,58,15) = (/ & & 0.39381e+02_rb,0.31393e+02_rb,0.29263e+02_rb,0.27758e+02_rb,0.33088e+02_rb /) kbo(:, 1,59,15) = (/ & & 0.41905e+02_rb,0.35780e+02_rb,0.34140e+02_rb,0.31306e+02_rb,0.34668e+02_rb /) kbo(:, 2,59,15) = (/ & & 0.41541e+02_rb,0.34683e+02_rb,0.32931e+02_rb,0.30509e+02_rb,0.34539e+02_rb /) kbo(:, 3,59,15) = (/ & & 0.41000e+02_rb,0.33610e+02_rb,0.31751e+02_rb,0.29658e+02_rb,0.34225e+02_rb /) kbo(:, 4,59,15) = (/ & & 0.40289e+02_rb,0.32559e+02_rb,0.30582e+02_rb,0.28769e+02_rb,0.33760e+02_rb /) kbo(:, 5,59,15) = (/ & & 0.39484e+02_rb,0.31518e+02_rb,0.29405e+02_rb,0.27867e+02_rb,0.33169e+02_rb /) kbo(:, 1,13,16) = (/ & & 0.44218e+02_rb,0.33168e+02_rb,0.27605e+02_rb,0.40761e+02_rb,0.54348e+02_rb /) kbo(:, 2,13,16) = (/ & & 0.43915e+02_rb,0.32941e+02_rb,0.26738e+02_rb,0.39342e+02_rb,0.52457e+02_rb /) kbo(:, 3,13,16) = (/ & & 0.43491e+02_rb,0.32624e+02_rb,0.25861e+02_rb,0.38022e+02_rb,0.50696e+02_rb /) kbo(:, 4,13,16) = (/ & & 0.42952e+02_rb,0.32220e+02_rb,0.25010e+02_rb,0.36713e+02_rb,0.48951e+02_rb /) kbo(:, 5,13,16) = (/ & & 0.42305e+02_rb,0.31735e+02_rb,0.24184e+02_rb,0.35417e+02_rb,0.47222e+02_rb /) kbo(:, 1,14,16) = (/ & & 0.50640e+02_rb,0.37984e+02_rb,0.31138e+02_rb,0.45571e+02_rb,0.60761e+02_rb /) kbo(:, 2,14,16) = (/ & & 0.50072e+02_rb,0.37558e+02_rb,0.30053e+02_rb,0.43809e+02_rb,0.58413e+02_rb /) kbo(:, 3,14,16) = (/ & & 0.49384e+02_rb,0.37043e+02_rb,0.28981e+02_rb,0.42162e+02_rb,0.56216e+02_rb /) kbo(:, 4,14,16) = (/ & & 0.48531e+02_rb,0.36404e+02_rb,0.27924e+02_rb,0.40555e+02_rb,0.54074e+02_rb /) kbo(:, 5,14,16) = (/ & & 0.47588e+02_rb,0.35696e+02_rb,0.26896e+02_rb,0.38961e+02_rb,0.51948e+02_rb /) kbo(:, 1,15,16) = (/ & & 0.57280e+02_rb,0.42964e+02_rb,0.34740e+02_rb,0.50323e+02_rb,0.67098e+02_rb /) kbo(:, 2,15,16) = (/ & & 0.56367e+02_rb,0.42280e+02_rb,0.33407e+02_rb,0.48191e+02_rb,0.64255e+02_rb /) kbo(:, 3,15,16) = (/ & & 0.55318e+02_rb,0.41493e+02_rb,0.32092e+02_rb,0.46141e+02_rb,0.61520e+02_rb /) kbo(:, 4,15,16) = (/ & & 0.54108e+02_rb,0.40586e+02_rb,0.30808e+02_rb,0.44198e+02_rb,0.58930e+02_rb /) kbo(:, 5,15,16) = (/ & & 0.52826e+02_rb,0.39625e+02_rb,0.29570e+02_rb,0.42303e+02_rb,0.56404e+02_rb /) kbo(:, 1,16,16) = (/ & & 0.63967e+02_rb,0.47979e+02_rb,0.38312e+02_rb,0.54909e+02_rb,0.73213e+02_rb /) kbo(:, 2,16,16) = (/ & & 0.62626e+02_rb,0.46973e+02_rb,0.36695e+02_rb,0.52345e+02_rb,0.69794e+02_rb /) kbo(:, 3,16,16) = (/ & & 0.61112e+02_rb,0.45838e+02_rb,0.35123e+02_rb,0.49904e+02_rb,0.66539e+02_rb /) kbo(:, 4,16,16) = (/ & & 0.59503e+02_rb,0.44632e+02_rb,0.33592e+02_rb,0.47568e+02_rb,0.63425e+02_rb /) kbo(:, 5,16,16) = (/ & & 0.57855e+02_rb,0.43396e+02_rb,0.32125e+02_rb,0.45372e+02_rb,0.60497e+02_rb /) kbo(:, 1,17,16) = (/ & & 0.70540e+02_rb,0.52908e+02_rb,0.41791e+02_rb,0.59184e+02_rb,0.78912e+02_rb /) kbo(:, 2,17,16) = (/ & & 0.68668e+02_rb,0.51504e+02_rb,0.39850e+02_rb,0.56189e+02_rb,0.74919e+02_rb /) kbo(:, 3,17,16) = (/ & & 0.66662e+02_rb,0.50000e+02_rb,0.37983e+02_rb,0.53339e+02_rb,0.71119e+02_rb /) kbo(:, 4,17,16) = (/ & & 0.64633e+02_rb,0.48479e+02_rb,0.36199e+02_rb,0.50655e+02_rb,0.67541e+02_rb /) kbo(:, 5,17,16) = (/ & & 0.62569e+02_rb,0.46932e+02_rb,0.34500e+02_rb,0.48144e+02_rb,0.64192e+02_rb /) kbo(:, 1,18,16) = (/ & & 0.76762e+02_rb,0.57574e+02_rb,0.45062e+02_rb,0.63079e+02_rb,0.84105e+02_rb /) kbo(:, 2,18,16) = (/ & & 0.74320e+02_rb,0.55743e+02_rb,0.42789e+02_rb,0.59653e+02_rb,0.79537e+02_rb /) kbo(:, 3,18,16) = (/ & & 0.71820e+02_rb,0.53869e+02_rb,0.40630e+02_rb,0.56414e+02_rb,0.75219e+02_rb /) kbo(:, 4,18,16) = (/ & & 0.69367e+02_rb,0.52029e+02_rb,0.38584e+02_rb,0.53391e+02_rb,0.71188e+02_rb /) kbo(:, 5,18,16) = (/ & & 0.66895e+02_rb,0.50176e+02_rb,0.36663e+02_rb,0.50596e+02_rb,0.67461e+02_rb /) kbo(:, 1,19,16) = (/ & & 0.82534e+02_rb,0.61903e+02_rb,0.48066e+02_rb,0.66533e+02_rb,0.88711e+02_rb /) kbo(:, 2,19,16) = (/ & & 0.79500e+02_rb,0.59627e+02_rb,0.45463e+02_rb,0.62698e+02_rb,0.83597e+02_rb /) kbo(:, 3,19,16) = (/ & & 0.76531e+02_rb,0.57402e+02_rb,0.43003e+02_rb,0.59107e+02_rb,0.78810e+02_rb /) kbo(:, 4,19,16) = (/ & & 0.73621e+02_rb,0.55219e+02_rb,0.40714e+02_rb,0.55776e+02_rb,0.74368e+02_rb /) kbo(:, 5,19,16) = (/ & & 0.70758e+02_rb,0.53072e+02_rb,0.38580e+02_rb,0.52720e+02_rb,0.70294e+02_rb /) kbo(:, 1,20,16) = (/ & & 0.87685e+02_rb,0.65766e+02_rb,0.50694e+02_rb,0.69445e+02_rb,0.92594e+02_rb /) kbo(:, 2,20,16) = (/ & & 0.84090e+02_rb,0.63070e+02_rb,0.47778e+02_rb,0.65259e+02_rb,0.87012e+02_rb /) kbo(:, 3,20,16) = (/ & & 0.80661e+02_rb,0.60499e+02_rb,0.45053e+02_rb,0.61350e+02_rb,0.81800e+02_rb /) kbo(:, 4,20,16) = (/ & & 0.77340e+02_rb,0.58008e+02_rb,0.42537e+02_rb,0.57756e+02_rb,0.77009e+02_rb /) kbo(:, 5,20,16) = (/ & & 0.74079e+02_rb,0.55564e+02_rb,0.40201e+02_rb,0.54475e+02_rb,0.72633e+02_rb /) kbo(:, 1,21,16) = (/ & & 0.92165e+02_rb,0.69126e+02_rb,0.52960e+02_rb,0.71872e+02_rb,0.95829e+02_rb /) kbo(:, 2,21,16) = (/ & & 0.88084e+02_rb,0.66065e+02_rb,0.49750e+02_rb,0.67363e+02_rb,0.89818e+02_rb /) kbo(:, 3,21,16) = (/ & & 0.84210e+02_rb,0.63159e+02_rb,0.46796e+02_rb,0.63194e+02_rb,0.84259e+02_rb /) kbo(:, 4,21,16) = (/ & & 0.80508e+02_rb,0.60384e+02_rb,0.44071e+02_rb,0.59388e+02_rb,0.79185e+02_rb /) kbo(:, 5,21,16) = (/ & & 0.76889e+02_rb,0.57670e+02_rb,0.41555e+02_rb,0.55904e+02_rb,0.74538e+02_rb /) kbo(:, 1,22,16) = (/ & & 0.95696e+02_rb,0.71774e+02_rb,0.54631e+02_rb,0.73526e+02_rb,0.98034e+02_rb /) kbo(:, 2,22,16) = (/ & & 0.91190e+02_rb,0.68395e+02_rb,0.51188e+02_rb,0.68768e+02_rb,0.91690e+02_rb /) kbo(:, 3,22,16) = (/ & & 0.86939e+02_rb,0.65206e+02_rb,0.48040e+02_rb,0.64409e+02_rb,0.85879e+02_rb /) kbo(:, 4,22,16) = (/ & & 0.82890e+02_rb,0.62171e+02_rb,0.45151e+02_rb,0.60441e+02_rb,0.80589e+02_rb /) kbo(:, 5,22,16) = (/ & & 0.78983e+02_rb,0.59241e+02_rb,0.42494e+02_rb,0.56811e+02_rb,0.75748e+02_rb /) kbo(:, 1,23,16) = (/ & & 0.98505e+02_rb,0.73881e+02_rb,0.55897e+02_rb,0.74690e+02_rb,0.99587e+02_rb /) kbo(:, 2,23,16) = (/ & & 0.93651e+02_rb,0.70240e+02_rb,0.52277e+02_rb,0.69755e+02_rb,0.93007e+02_rb /) kbo(:, 3,23,16) = (/ & & 0.89065e+02_rb,0.66801e+02_rb,0.48963e+02_rb,0.65256e+02_rb,0.87008e+02_rb /) kbo(:, 4,23,16) = (/ & & 0.84725e+02_rb,0.63546e+02_rb,0.45949e+02_rb,0.61155e+02_rb,0.81540e+02_rb /) kbo(:, 5,23,16) = (/ & & 0.80582e+02_rb,0.60440e+02_rb,0.43182e+02_rb,0.57417e+02_rb,0.76556e+02_rb /) kbo(:, 1,24,16) = (/ & & 0.10064e+03_rb,0.75484e+02_rb,0.56783e+02_rb,0.75422e+02_rb,0.10056e+03_rb /) kbo(:, 2,24,16) = (/ & & 0.95486e+02_rb,0.71616e+02_rb,0.53021e+02_rb,0.70355e+02_rb,0.93807e+02_rb /) kbo(:, 3,24,16) = (/ & & 0.90630e+02_rb,0.67975e+02_rb,0.49592e+02_rb,0.65751e+02_rb,0.87668e+02_rb /) kbo(:, 4,24,16) = (/ & & 0.86059e+02_rb,0.64548e+02_rb,0.46483e+02_rb,0.61565e+02_rb,0.82086e+02_rb /) kbo(:, 5,24,16) = (/ & & 0.81718e+02_rb,0.61292e+02_rb,0.43631e+02_rb,0.57753e+02_rb,0.77003e+02_rb /) kbo(:, 1,25,16) = (/ & & 0.10215e+03_rb,0.76618e+02_rb,0.57324e+02_rb,0.75759e+02_rb,0.10101e+03_rb /) kbo(:, 2,25,16) = (/ & & 0.96743e+02_rb,0.72560e+02_rb,0.53446e+02_rb,0.70607e+02_rb,0.94143e+02_rb /) kbo(:, 3,25,16) = (/ & & 0.91681e+02_rb,0.68763e+02_rb,0.49955e+02_rb,0.65940e+02_rb,0.87921e+02_rb /) kbo(:, 4,25,16) = (/ & & 0.86919e+02_rb,0.65192e+02_rb,0.46773e+02_rb,0.61703e+02_rb,0.82270e+02_rb /) kbo(:, 5,25,16) = (/ & & 0.82440e+02_rb,0.61834e+02_rb,0.43873e+02_rb,0.57842e+02_rb,0.77123e+02_rb /) kbo(:, 1,26,16) = (/ & & 0.10303e+03_rb,0.77274e+02_rb,0.57519e+02_rb,0.75701e+02_rb,0.10093e+03_rb /) kbo(:, 2,26,16) = (/ & & 0.97444e+02_rb,0.73085e+02_rb,0.53575e+02_rb,0.70525e+02_rb,0.94033e+02_rb /) kbo(:, 3,26,16) = (/ & & 0.92222e+02_rb,0.69170e+02_rb,0.50048e+02_rb,0.65828e+02_rb,0.87771e+02_rb /) kbo(:, 4,26,16) = (/ & & 0.87336e+02_rb,0.65505e+02_rb,0.46824e+02_rb,0.61566e+02_rb,0.82088e+02_rb /) kbo(:, 5,26,16) = (/ & & 0.82771e+02_rb,0.62082e+02_rb,0.43909e+02_rb,0.57710e+02_rb,0.76947e+02_rb /) kbo(:, 1,27,16) = (/ & & 0.10345e+03_rb,0.77590e+02_rb,0.57467e+02_rb,0.75392e+02_rb,0.10052e+03_rb /) kbo(:, 2,27,16) = (/ & & 0.97739e+02_rb,0.73306e+02_rb,0.53511e+02_rb,0.70214e+02_rb,0.93619e+02_rb /) kbo(:, 3,27,16) = (/ & & 0.92406e+02_rb,0.69307e+02_rb,0.49956e+02_rb,0.65525e+02_rb,0.87366e+02_rb /) kbo(:, 4,27,16) = (/ & & 0.87439e+02_rb,0.65583e+02_rb,0.46715e+02_rb,0.61255e+02_rb,0.81674e+02_rb /) kbo(:, 5,27,16) = (/ & & 0.82826e+02_rb,0.62123e+02_rb,0.43807e+02_rb,0.57432e+02_rb,0.76576e+02_rb /) kbo(:, 1,28,16) = (/ & & 0.10350e+03_rb,0.77625e+02_rb,0.57222e+02_rb,0.74881e+02_rb,0.99841e+02_rb /) kbo(:, 2,28,16) = (/ & & 0.97691e+02_rb,0.73271e+02_rb,0.53275e+02_rb,0.69730e+02_rb,0.92974e+02_rb /) kbo(:, 3,28,16) = (/ & & 0.92289e+02_rb,0.69219e+02_rb,0.49719e+02_rb,0.65057e+02_rb,0.86743e+02_rb /) kbo(:, 4,28,16) = (/ & & 0.87284e+02_rb,0.65466e+02_rb,0.46485e+02_rb,0.60817e+02_rb,0.81090e+02_rb /) kbo(:, 5,28,16) = (/ & & 0.82640e+02_rb,0.61984e+02_rb,0.43588e+02_rb,0.57042e+02_rb,0.76055e+02_rb /) kbo(:, 1,29,16) = (/ & & 0.10319e+03_rb,0.77394e+02_rb,0.56799e+02_rb,0.74179e+02_rb,0.98906e+02_rb /) kbo(:, 2,29,16) = (/ & & 0.97340e+02_rb,0.73008e+02_rb,0.52885e+02_rb,0.69064e+02_rb,0.92086e+02_rb /) kbo(:, 3,29,16) = (/ & & 0.91909e+02_rb,0.68935e+02_rb,0.49342e+02_rb,0.64439e+02_rb,0.85918e+02_rb /) kbo(:, 4,29,16) = (/ & & 0.86890e+02_rb,0.65171e+02_rb,0.46144e+02_rb,0.60253e+02_rb,0.80337e+02_rb /) kbo(:, 5,29,16) = (/ & & 0.82249e+02_rb,0.61690e+02_rb,0.43266e+02_rb,0.56539e+02_rb,0.75385e+02_rb /) kbo(:, 1,30,16) = (/ & & 0.10264e+03_rb,0.76981e+02_rb,0.56267e+02_rb,0.73352e+02_rb,0.97803e+02_rb /) kbo(:, 2,30,16) = (/ & & 0.96761e+02_rb,0.72573e+02_rb,0.52390e+02_rb,0.68302e+02_rb,0.91070e+02_rb /) kbo(:, 3,30,16) = (/ & & 0.91349e+02_rb,0.68515e+02_rb,0.48877e+02_rb,0.63734e+02_rb,0.84978e+02_rb /) kbo(:, 4,30,16) = (/ & & 0.86346e+02_rb,0.64763e+02_rb,0.45722e+02_rb,0.59615e+02_rb,0.79487e+02_rb /) kbo(:, 5,30,16) = (/ & & 0.81701e+02_rb,0.61280e+02_rb,0.42874e+02_rb,0.55973e+02_rb,0.74631e+02_rb /) kbo(:, 1,31,16) = (/ & & 0.10185e+03_rb,0.76389e+02_rb,0.55624e+02_rb,0.72410e+02_rb,0.96547e+02_rb /) kbo(:, 2,31,16) = (/ & & 0.95999e+02_rb,0.72002e+02_rb,0.51796e+02_rb,0.67443e+02_rb,0.89924e+02_rb /) kbo(:, 3,31,16) = (/ & & 0.90614e+02_rb,0.67963e+02_rb,0.48327e+02_rb,0.62938e+02_rb,0.83917e+02_rb /) kbo(:, 4,31,16) = (/ & & 0.85645e+02_rb,0.64237e+02_rb,0.45228e+02_rb,0.58906e+02_rb,0.78542e+02_rb /) kbo(:, 5,31,16) = (/ & & 0.81007e+02_rb,0.60759e+02_rb,0.42414e+02_rb,0.55328e+02_rb,0.73771e+02_rb /) kbo(:, 1,32,16) = (/ & & 0.10089e+03_rb,0.75672e+02_rb,0.54904e+02_rb,0.71387e+02_rb,0.95183e+02_rb /) kbo(:, 2,32,16) = (/ & & 0.95077e+02_rb,0.71310e+02_rb,0.51129e+02_rb,0.66501e+02_rb,0.88668e+02_rb /) kbo(:, 3,32,16) = (/ & & 0.89743e+02_rb,0.67310e+02_rb,0.47720e+02_rb,0.62089e+02_rb,0.82785e+02_rb /) kbo(:, 4,32,16) = (/ & & 0.84830e+02_rb,0.63626e+02_rb,0.44676e+02_rb,0.58147e+02_rb,0.77529e+02_rb /) kbo(:, 5,32,16) = (/ & & 0.80208e+02_rb,0.60160e+02_rb,0.41909e+02_rb,0.54638e+02_rb,0.72851e+02_rb /) kbo(:, 1,33,16) = (/ & & 0.99806e+02_rb,0.74857e+02_rb,0.54124e+02_rb,0.70307e+02_rb,0.93742e+02_rb /) kbo(:, 2,33,16) = (/ & & 0.94060e+02_rb,0.70548e+02_rb,0.50418e+02_rb,0.65525e+02_rb,0.87366e+02_rb /) kbo(:, 3,33,16) = (/ & & 0.88780e+02_rb,0.66588e+02_rb,0.47080e+02_rb,0.61195e+02_rb,0.81594e+02_rb /) kbo(:, 4,33,16) = (/ & & 0.83926e+02_rb,0.62948e+02_rb,0.44091e+02_rb,0.57369e+02_rb,0.76493e+02_rb /) kbo(:, 5,33,16) = (/ & & 0.79342e+02_rb,0.59511e+02_rb,0.41372e+02_rb,0.53910e+02_rb,0.71880e+02_rb /) kbo(:, 1,34,16) = (/ & & 0.98842e+02_rb,0.74134e+02_rb,0.53446e+02_rb,0.69373e+02_rb,0.92498e+02_rb /) kbo(:, 2,34,16) = (/ & & 0.93169e+02_rb,0.69879e+02_rb,0.49796e+02_rb,0.64672e+02_rb,0.86229e+02_rb /) kbo(:, 3,34,16) = (/ & & 0.87940e+02_rb,0.65958e+02_rb,0.46525e+02_rb,0.60437e+02_rb,0.80583e+02_rb /) kbo(:, 4,34,16) = (/ & & 0.83124e+02_rb,0.62347e+02_rb,0.43581e+02_rb,0.56689e+02_rb,0.75585e+02_rb /) kbo(:, 5,34,16) = (/ & & 0.78566e+02_rb,0.58929e+02_rb,0.40900e+02_rb,0.53287e+02_rb,0.71049e+02_rb /) kbo(:, 1,35,16) = (/ & & 0.98383e+02_rb,0.73790e+02_rb,0.53104e+02_rb,0.68893e+02_rb,0.91857e+02_rb /) kbo(:, 2,35,16) = (/ & & 0.92731e+02_rb,0.69551e+02_rb,0.49484e+02_rb,0.64233e+02_rb,0.85643e+02_rb /) kbo(:, 3,35,16) = (/ & & 0.87537e+02_rb,0.65656e+02_rb,0.46247e+02_rb,0.60050e+02_rb,0.80067e+02_rb /) kbo(:, 4,35,16) = (/ & & 0.82730e+02_rb,0.62051e+02_rb,0.43325e+02_rb,0.56336e+02_rb,0.75115e+02_rb /) kbo(:, 5,35,16) = (/ & & 0.78184e+02_rb,0.58642e+02_rb,0.40664e+02_rb,0.52959e+02_rb,0.70611e+02_rb /) kbo(:, 1,36,16) = (/ & & 0.98510e+02_rb,0.73885e+02_rb,0.53153e+02_rb,0.68921e+02_rb,0.91895e+02_rb /) kbo(:, 2,36,16) = (/ & & 0.92845e+02_rb,0.69637e+02_rb,0.49525e+02_rb,0.64248e+02_rb,0.85664e+02_rb /) kbo(:, 3,36,16) = (/ & & 0.87626e+02_rb,0.65723e+02_rb,0.46281e+02_rb,0.60067e+02_rb,0.80090e+02_rb /) kbo(:, 4,36,16) = (/ & & 0.82805e+02_rb,0.62108e+02_rb,0.43352e+02_rb,0.56351e+02_rb,0.75135e+02_rb /) kbo(:, 5,36,16) = (/ & & 0.78246e+02_rb,0.58689e+02_rb,0.40687e+02_rb,0.52970e+02_rb,0.70627e+02_rb /) kbo(:, 1,37,16) = (/ & & 0.99499e+02_rb,0.74626e+02_rb,0.53765e+02_rb,0.69681e+02_rb,0.92907e+02_rb /) kbo(:, 2,37,16) = (/ & & 0.93737e+02_rb,0.70305e+02_rb,0.50072e+02_rb,0.64938e+02_rb,0.86584e+02_rb /) kbo(:, 3,37,16) = (/ & & 0.88443e+02_rb,0.66336e+02_rb,0.46765e+02_rb,0.60669e+02_rb,0.80892e+02_rb /) kbo(:, 4,37,16) = (/ & & 0.83569e+02_rb,0.62680e+02_rb,0.43792e+02_rb,0.56887e+02_rb,0.75849e+02_rb /) kbo(:, 5,37,16) = (/ & & 0.78959e+02_rb,0.59223e+02_rb,0.41087e+02_rb,0.53464e+02_rb,0.71286e+02_rb /) kbo(:, 1,38,16) = (/ & & 0.10053e+03_rb,0.75401e+02_rb,0.54401e+02_rb,0.70469e+02_rb,0.93958e+02_rb /) kbo(:, 2,38,16) = (/ & & 0.94665e+02_rb,0.71001e+02_rb,0.50643e+02_rb,0.65651e+02_rb,0.87535e+02_rb /) kbo(:, 3,38,16) = (/ & & 0.89287e+02_rb,0.66968e+02_rb,0.47272e+02_rb,0.61298e+02_rb,0.81730e+02_rb /) kbo(:, 4,38,16) = (/ & & 0.84354e+02_rb,0.63269e+02_rb,0.44250e+02_rb,0.57455e+02_rb,0.76607e+02_rb /) kbo(:, 5,38,16) = (/ & & 0.79688e+02_rb,0.59770e+02_rb,0.41502e+02_rb,0.53978e+02_rb,0.71970e+02_rb /) kbo(:, 1,39,16) = (/ & & 0.10152e+03_rb,0.76145e+02_rb,0.55030e+02_rb,0.71266e+02_rb,0.95022e+02_rb /) kbo(:, 2,39,16) = (/ & & 0.95574e+02_rb,0.71683e+02_rb,0.51208e+02_rb,0.66359e+02_rb,0.88479e+02_rb /) kbo(:, 3,39,16) = (/ & & 0.90127e+02_rb,0.67598e+02_rb,0.47776e+02_rb,0.61934e+02_rb,0.82579e+02_rb /) kbo(:, 4,39,16) = (/ & & 0.85122e+02_rb,0.63845e+02_rb,0.44704e+02_rb,0.58015e+02_rb,0.77353e+02_rb /) kbo(:, 5,39,16) = (/ & & 0.80410e+02_rb,0.60311e+02_rb,0.41916e+02_rb,0.54486e+02_rb,0.72649e+02_rb /) kbo(:, 1,40,16) = (/ & & 0.10316e+03_rb,0.77371e+02_rb,0.56077e+02_rb,0.72600e+02_rb,0.96800e+02_rb /) kbo(:, 2,40,16) = (/ & & 0.97060e+02_rb,0.72797e+02_rb,0.52149e+02_rb,0.67558e+02_rb,0.90077e+02_rb /) kbo(:, 3,40,16) = (/ & & 0.91509e+02_rb,0.68635e+02_rb,0.48618e+02_rb,0.63010e+02_rb,0.84013e+02_rb /) kbo(:, 4,40,16) = (/ & & 0.86384e+02_rb,0.64791e+02_rb,0.45460e+02_rb,0.58959e+02_rb,0.78612e+02_rb /) kbo(:, 5,40,16) = (/ & & 0.81600e+02_rb,0.61204e+02_rb,0.42605e+02_rb,0.55349e+02_rb,0.73798e+02_rb /) kbo(:, 1,41,16) = (/ & & 0.10490e+03_rb,0.78677e+02_rb,0.57202e+02_rb,0.74030e+02_rb,0.98707e+02_rb /) kbo(:, 2,41,16) = (/ & & 0.98655e+02_rb,0.73994e+02_rb,0.53155e+02_rb,0.68836e+02_rb,0.91782e+02_rb /) kbo(:, 3,41,16) = (/ & & 0.92964e+02_rb,0.69726e+02_rb,0.49517e+02_rb,0.64156e+02_rb,0.85541e+02_rb /) kbo(:, 4,41,16) = (/ & & 0.87720e+02_rb,0.65793e+02_rb,0.46275e+02_rb,0.59984e+02_rb,0.79978e+02_rb /) kbo(:, 5,41,16) = (/ & & 0.82858e+02_rb,0.62147e+02_rb,0.43340e+02_rb,0.56275e+02_rb,0.75033e+02_rb /) kbo(:, 1,42,16) = (/ & & 0.10666e+03_rb,0.79997e+02_rb,0.58340e+02_rb,0.75485e+02_rb,0.10065e+03_rb /) kbo(:, 2,42,16) = (/ & & 0.10028e+03_rb,0.75211e+02_rb,0.54189e+02_rb,0.70153e+02_rb,0.93537e+02_rb /) kbo(:, 3,42,16) = (/ & & 0.94432e+02_rb,0.70827e+02_rb,0.50443e+02_rb,0.65340e+02_rb,0.87121e+02_rb /) kbo(:, 4,42,16) = (/ & & 0.89075e+02_rb,0.66809e+02_rb,0.47102e+02_rb,0.61032e+02_rb,0.81376e+02_rb /) kbo(:, 5,42,16) = (/ & & 0.84125e+02_rb,0.63097e+02_rb,0.44086e+02_rb,0.57211e+02_rb,0.76281e+02_rb /) kbo(:, 1,43,16) = (/ & & 0.10883e+03_rb,0.81624e+02_rb,0.59771e+02_rb,0.77309e+02_rb,0.10308e+03_rb /) kbo(:, 2,43,16) = (/ & & 0.10228e+03_rb,0.76711e+02_rb,0.55476e+02_rb,0.71797e+02_rb,0.95729e+02_rb /) kbo(:, 3,43,16) = (/ & & 0.96257e+02_rb,0.72196e+02_rb,0.51599e+02_rb,0.66824e+02_rb,0.89098e+02_rb /) kbo(:, 4,43,16) = (/ & & 0.90745e+02_rb,0.68062e+02_rb,0.48126e+02_rb,0.62350e+02_rb,0.83134e+02_rb /) kbo(:, 5,43,16) = (/ & & 0.85682e+02_rb,0.64265e+02_rb,0.45017e+02_rb,0.58380e+02_rb,0.77840e+02_rb /) kbo(:, 1,44,16) = (/ & & 0.11122e+03_rb,0.83416e+02_rb,0.61378e+02_rb,0.79350e+02_rb,0.10580e+03_rb /) kbo(:, 2,44,16) = (/ & & 0.10448e+03_rb,0.78362e+02_rb,0.56905e+02_rb,0.73629e+02_rb,0.98171e+02_rb /) kbo(:, 3,44,16) = (/ & & 0.98280e+02_rb,0.73712e+02_rb,0.52886e+02_rb,0.68474e+02_rb,0.91299e+02_rb /) kbo(:, 4,44,16) = (/ & & 0.92614e+02_rb,0.69464e+02_rb,0.49277e+02_rb,0.63819e+02_rb,0.85092e+02_rb /) kbo(:, 5,44,16) = (/ & & 0.87390e+02_rb,0.65546e+02_rb,0.46054e+02_rb,0.59688e+02_rb,0.79585e+02_rb /) kbo(:, 1,45,16) = (/ & & 0.11367e+03_rb,0.85251e+02_rb,0.63043e+02_rb,0.81458e+02_rb,0.10861e+03_rb /) kbo(:, 2,45,16) = (/ & & 0.10674e+03_rb,0.80056e+02_rb,0.58377e+02_rb,0.75516e+02_rb,0.10069e+03_rb /) kbo(:, 3,45,16) = (/ & & 0.10036e+03_rb,0.75271e+02_rb,0.54217e+02_rb,0.70172e+02_rb,0.93562e+02_rb /) kbo(:, 4,45,16) = (/ & & 0.94507e+02_rb,0.70883e+02_rb,0.50472e+02_rb,0.65352e+02_rb,0.87137e+02_rb /) kbo(:, 5,45,16) = (/ & & 0.89124e+02_rb,0.66846e+02_rb,0.47119e+02_rb,0.61044e+02_rb,0.81393e+02_rb /) kbo(:, 1,46,16) = (/ & & 0.11634e+03_rb,0.87256e+02_rb,0.64886e+02_rb,0.83772e+02_rb,0.11170e+03_rb /) kbo(:, 2,46,16) = (/ & & 0.10921e+03_rb,0.81909e+02_rb,0.60009e+02_rb,0.77600e+02_rb,0.10347e+03_rb /) kbo(:, 3,46,16) = (/ & & 0.10262e+03_rb,0.76969e+02_rb,0.55682e+02_rb,0.72046e+02_rb,0.96062e+02_rb /) kbo(:, 4,46,16) = (/ & & 0.96578e+02_rb,0.72436e+02_rb,0.51790e+02_rb,0.67050e+02_rb,0.89399e+02_rb /) kbo(:, 5,46,16) = (/ & & 0.91036e+02_rb,0.68280e+02_rb,0.48293e+02_rb,0.62556e+02_rb,0.83408e+02_rb /) kbo(:, 1,47,16) = (/ & & 0.11944e+03_rb,0.89580e+02_rb,0.67039e+02_rb,0.86470e+02_rb,0.11529e+03_rb /) kbo(:, 2,47,16) = (/ & & 0.11203e+03_rb,0.84025e+02_rb,0.61916e+02_rb,0.80032e+02_rb,0.10671e+03_rb /) kbo(:, 3,47,16) = (/ & & 0.10523e+03_rb,0.78928e+02_rb,0.57378e+02_rb,0.74229e+02_rb,0.98972e+02_rb /) kbo(:, 4,47,16) = (/ & & 0.98975e+02_rb,0.74234e+02_rb,0.53317e+02_rb,0.69003e+02_rb,0.92005e+02_rb /) kbo(:, 5,47,16) = (/ & & 0.93247e+02_rb,0.69938e+02_rb,0.49666e+02_rb,0.64309e+02_rb,0.85745e+02_rb /) kbo(:, 1,48,16) = (/ & & 0.12267e+03_rb,0.92006e+02_rb,0.69290e+02_rb,0.89280e+02_rb,0.11904e+03_rb /) kbo(:, 2,48,16) = (/ & & 0.11495e+03_rb,0.86215e+02_rb,0.63917e+02_rb,0.82556e+02_rb,0.11008e+03_rb /) kbo(:, 3,48,16) = (/ & & 0.10793e+03_rb,0.80951e+02_rb,0.59146e+02_rb,0.76493e+02_rb,0.10199e+03_rb /) kbo(:, 4,48,16) = (/ & & 0.10147e+03_rb,0.76101e+02_rb,0.54918e+02_rb,0.71050e+02_rb,0.94733e+02_rb /) kbo(:, 5,48,16) = (/ & & 0.95498e+02_rb,0.71626e+02_rb,0.51095e+02_rb,0.66155e+02_rb,0.88207e+02_rb /) kbo(:, 1,49,16) = (/ & & 0.12603e+03_rb,0.94521e+02_rb,0.71680e+02_rb,0.92236e+02_rb,0.12298e+03_rb /) kbo(:, 2,49,16) = (/ & & 0.11801e+03_rb,0.88509e+02_rb,0.66027e+02_rb,0.85192e+02_rb,0.11359e+03_rb /) kbo(:, 3,49,16) = (/ & & 0.11070e+03_rb,0.83029e+02_rb,0.61003e+02_rb,0.78868e+02_rb,0.10516e+03_rb /) kbo(:, 4,49,16) = (/ & & 0.10402e+03_rb,0.78016e+02_rb,0.56578e+02_rb,0.73185e+02_rb,0.97580e+02_rb /) kbo(:, 5,49,16) = (/ & & 0.97847e+02_rb,0.73387e+02_rb,0.52593e+02_rb,0.68075e+02_rb,0.90767e+02_rb /) kbo(:, 1,50,16) = (/ & & 0.12933e+03_rb,0.96996e+02_rb,0.74078e+02_rb,0.95132e+02_rb,0.12684e+03_rb /) kbo(:, 2,50,16) = (/ & & 0.12097e+03_rb,0.90726e+02_rb,0.68085e+02_rb,0.87768e+02_rb,0.11702e+03_rb /) kbo(:, 3,50,16) = (/ & & 0.11343e+03_rb,0.85073e+02_rb,0.62849e+02_rb,0.81185e+02_rb,0.10825e+03_rb /) kbo(:, 4,50,16) = (/ & & 0.10650e+03_rb,0.79879e+02_rb,0.58193e+02_rb,0.75257e+02_rb,0.10034e+03_rb /) kbo(:, 5,50,16) = (/ & & 0.10012e+03_rb,0.75094e+02_rb,0.54050e+02_rb,0.69940e+02_rb,0.93253e+02_rb /) kbo(:, 1,51,16) = (/ & & 0.13262e+03_rb,0.99463e+02_rb,0.76537e+02_rb,0.98089e+02_rb,0.13079e+03_rb /) kbo(:, 2,51,16) = (/ & & 0.12396e+03_rb,0.92972e+02_rb,0.70180e+02_rb,0.90371e+02_rb,0.12049e+03_rb /) kbo(:, 3,51,16) = (/ & & 0.11611e+03_rb,0.87085e+02_rb,0.64700e+02_rb,0.83525e+02_rb,0.11137e+03_rb /) kbo(:, 4,51,16) = (/ & & 0.10897e+03_rb,0.81728e+02_rb,0.59829e+02_rb,0.77356e+02_rb,0.10314e+03_rb /) kbo(:, 5,51,16) = (/ & & 0.10241e+03_rb,0.76807e+02_rb,0.55526e+02_rb,0.71828e+02_rb,0.95771e+02_rb /) kbo(:, 1,52,16) = (/ & & 0.13607e+03_rb,0.10205e+03_rb,0.79117e+02_rb,0.10117e+03_rb,0.13489e+03_rb /) kbo(:, 2,52,16) = (/ & & 0.12703e+03_rb,0.95276e+02_rb,0.72382e+02_rb,0.93082e+02_rb,0.12411e+03_rb /) kbo(:, 3,52,16) = (/ & & 0.11888e+03_rb,0.89162e+02_rb,0.66631e+02_rb,0.85943e+02_rb,0.11459e+03_rb /) kbo(:, 4,52,16) = (/ & & 0.11155e+03_rb,0.83666e+02_rb,0.61557e+02_rb,0.79542e+02_rb,0.10606e+03_rb /) kbo(:, 5,52,16) = (/ & & 0.10475e+03_rb,0.78563e+02_rb,0.57053e+02_rb,0.73794e+02_rb,0.98392e+02_rb /) kbo(:, 1,53,16) = (/ & & 0.13969e+03_rb,0.10477e+03_rb,0.81852e+02_rb,0.10445e+03_rb,0.13926e+03_rb /) kbo(:, 2,53,16) = (/ & & 0.13021e+03_rb,0.97660e+02_rb,0.74731e+02_rb,0.95923e+02_rb,0.12790e+03_rb /) kbo(:, 3,53,16) = (/ & & 0.12178e+03_rb,0.91333e+02_rb,0.68644e+02_rb,0.88461e+02_rb,0.11795e+03_rb /) kbo(:, 4,53,16) = (/ & & 0.11417e+03_rb,0.85628e+02_rb,0.63346e+02_rb,0.81812e+02_rb,0.10908e+03_rb /) kbo(:, 5,53,16) = (/ & & 0.10716e+03_rb,0.80376e+02_rb,0.58630e+02_rb,0.75816e+02_rb,0.10109e+03_rb /) kbo(:, 1,54,16) = (/ & & 0.14312e+03_rb,0.10734e+03_rb,0.84505e+02_rb,0.10757e+03_rb,0.14343e+03_rb /) kbo(:, 2,54,16) = (/ & & 0.13326e+03_rb,0.99943e+02_rb,0.77008e+02_rb,0.98653e+02_rb,0.13154e+03_rb /) kbo(:, 3,54,16) = (/ & & 0.12453e+03_rb,0.93400e+02_rb,0.70583e+02_rb,0.90867e+02_rb,0.12116e+03_rb /) kbo(:, 4,54,16) = (/ & & 0.11663e+03_rb,0.87472e+02_rb,0.65055e+02_rb,0.83971e+02_rb,0.11196e+03_rb /) kbo(:, 5,54,16) = (/ & & 0.10944e+03_rb,0.82085e+02_rb,0.60143e+02_rb,0.77761e+02_rb,0.10368e+03_rb /) kbo(:, 1,55,16) = (/ & & 0.14652e+03_rb,0.10989e+03_rb,0.87185e+02_rb,0.11072e+03_rb,0.14762e+03_rb /) kbo(:, 2,55,16) = (/ & & 0.13631e+03_rb,0.10223e+03_rb,0.79292e+02_rb,0.10139e+03_rb,0.13518e+03_rb /) kbo(:, 3,55,16) = (/ & & 0.12725e+03_rb,0.95436e+02_rb,0.72534e+02_rb,0.93260e+02_rb,0.12435e+03_rb /) kbo(:, 4,55,16) = (/ & & 0.11908e+03_rb,0.89315e+02_rb,0.66761e+02_rb,0.86100e+02_rb,0.11480e+03_rb /) kbo(:, 5,55,16) = (/ & & 0.11172e+03_rb,0.83789e+02_rb,0.61666e+02_rb,0.79683e+02_rb,0.10624e+03_rb /) kbo(:, 1,56,16) = (/ & & 0.15005e+03_rb,0.11254e+03_rb,0.89964e+02_rb,0.11399e+03_rb,0.15199e+03_rb /) kbo(:, 2,56,16) = (/ & & 0.13946e+03_rb,0.10459e+03_rb,0.81673e+02_rb,0.10424e+03_rb,0.13899e+03_rb /) kbo(:, 3,56,16) = (/ & & 0.13002e+03_rb,0.97512e+02_rb,0.74583e+02_rb,0.95730e+02_rb,0.12764e+03_rb /) kbo(:, 4,56,16) = (/ & & 0.12160e+03_rb,0.91205e+02_rb,0.68519e+02_rb,0.88312e+02_rb,0.11775e+03_rb /) kbo(:, 5,56,16) = (/ & & 0.11401e+03_rb,0.85509e+02_rb,0.63233e+02_rb,0.81665e+02_rb,0.10889e+03_rb /) kbo(:, 1,57,16) = (/ & & 0.15367e+03_rb,0.11525e+03_rb,0.92893e+02_rb,0.11745e+03_rb,0.15659e+03_rb /) kbo(:, 2,57,16) = (/ & & 0.14273e+03_rb,0.10705e+03_rb,0.84201e+02_rb,0.10722e+03_rb,0.14296e+03_rb /) kbo(:, 3,57,16) = (/ & & 0.13291e+03_rb,0.99681e+02_rb,0.76750e+02_rb,0.98336e+02_rb,0.13111e+03_rb /) kbo(:, 4,57,16) = (/ & & 0.12423e+03_rb,0.93171e+02_rb,0.70357e+02_rb,0.90589e+02_rb,0.12079e+03_rb /) kbo(:, 5,57,16) = (/ & & 0.11636e+03_rb,0.87269e+02_rb,0.64859e+02_rb,0.83719e+02_rb,0.11162e+03_rb /) kbo(:, 1,58,16) = (/ & & 0.15720e+03_rb,0.11790e+03_rb,0.95809e+02_rb,0.12090e+03_rb,0.16121e+03_rb /) kbo(:, 2,58,16) = (/ & & 0.14594e+03_rb,0.10946e+03_rb,0.86713e+02_rb,0.11017e+03_rb,0.14690e+03_rb /) kbo(:, 3,58,16) = (/ & & 0.13577e+03_rb,0.10183e+03_rb,0.78898e+02_rb,0.10090e+03_rb,0.13454e+03_rb /) kbo(:, 4,58,16) = (/ & & 0.12678e+03_rb,0.95087e+02_rb,0.72188e+02_rb,0.92844e+02_rb,0.12379e+03_rb /) kbo(:, 5,58,16) = (/ & & 0.11865e+03_rb,0.88989e+02_rb,0.66460e+02_rb,0.85728e+02_rb,0.11430e+03_rb /) kbo(:, 1,59,16) = (/ & & 0.15867e+03_rb,0.11900e+03_rb,0.97023e+02_rb,0.12235e+03_rb,0.16313e+03_rb /) kbo(:, 2,59,16) = (/ & & 0.14725e+03_rb,0.11044e+03_rb,0.87747e+02_rb,0.11139e+03_rb,0.14852e+03_rb /) kbo(:, 3,59,16) = (/ & & 0.13696e+03_rb,0.10272e+03_rb,0.79780e+02_rb,0.10196e+03_rb,0.13595e+03_rb /) kbo(:, 4,59,16) = (/ & & 0.12782e+03_rb,0.95865e+02_rb,0.72946e+02_rb,0.93765e+02_rb,0.12502e+03_rb /) kbo(:, 5,59,16) = (/ & & 0.11961e+03_rb,0.89706e+02_rb,0.67116e+02_rb,0.86544e+02_rb,0.11539e+03_rb /) ! ----------------------------------------------------------------- forrefo(:, 1) = (/ 0.110008e-06_rb, 0.630912e-06_rb, 0.363159e-05_rb, 0.616892e-05_rb /) forrefo(:, 2) = (/ 0.429709e-05_rb, 0.789174e-05_rb, 0.217416e-04_rb, 0.639393e-04_rb /) forrefo(:, 3) = (/ 0.436283e-04_rb, 0.526247e-04_rb, 0.116341e-03_rb, 0.205616e-03_rb /) forrefo(:, 4) = (/ 0.215627e-03_rb, 0.234522e-03_rb, 0.280497e-03_rb, 0.838668e-03_rb /) forrefo(:, 5) = (/ 0.529283e-03_rb, 0.620848e-03_rb, 0.935561e-03_rb, 0.171252e-02_rb /) forrefo(:, 6) = (/ 0.212267e-02_rb, 0.218564e-02_rb, 0.222227e-02_rb, 0.199650e-02_rb /) forrefo(:, 7) = (/ 0.291120e-02_rb, 0.281168e-02_rb, 0.259543e-02_rb, 0.210159e-02_rb /) forrefo(:, 8) = (/ 0.316249e-02_rb, 0.310695e-02_rb, 0.279501e-02_rb, 0.208076e-02_rb /) forrefo(:, 9) = (/ 0.354993e-02_rb, 0.336989e-02_rb, 0.298930e-02_rb, 0.180424e-02_rb /) forrefo(:,10) = (/ 0.397729e-02_rb, 0.367409e-02_rb, 0.328982e-02_rb, 0.177807e-02_rb /) forrefo(:,11) = (/ 0.408831e-02_rb, 0.398792e-02_rb, 0.352727e-02_rb, 0.192470e-02_rb /) forrefo(:,12) = (/ 0.433926e-02_rb, 0.420667e-02_rb, 0.383894e-02_rb, 0.220836e-02_rb /) forrefo(:,13) = (/ 0.436397e-02_rb, 0.433769e-02_rb, 0.425752e-02_rb, 0.237343e-02_rb /) forrefo(:,14) = (/ 0.440525e-02_rb, 0.449018e-02_rb, 0.451881e-02_rb, 0.269169e-02_rb /) forrefo(:,15) = (/ 0.491350e-02_rb, 0.481760e-02_rb, 0.475799e-02_rb, 0.362666e-02_rb /) forrefo(:,16) = (/ 0.561641e-02_rb, 0.524553e-02_rb, 0.512473e-02_rb, 0.493802e-02_rb /) ! ----------------------------------------------------------------- ! The array SELFREFO contains the coefficient of the water vapor ! self-continuum (including the energy term). The first index ! refers to temperature in 7.2 degree increments. For instance, ! JT = 1 refers to a temperature of 245.6, JT = 2 refers to 252.8, ! etc. The second index runs over the g-channel (1 to 16). selfrefo(:, 1) = (/ & & 0.115887e-03_rb, 0.926537e-04_rb, 0.740783e-04_rb, 0.592270e-04_rb, 0.473530e-04_rb, & & 0.378596e-04_rb, 0.302694e-04_rb, 0.242010e-04_rb, 0.193491e-04_rb, 0.154700e-04_rb /) selfrefo(:, 2) = (/ & & 0.459557e-03_rb, 0.381962e-03_rb, 0.317469e-03_rb, 0.263866e-03_rb, 0.219313e-03_rb, & & 0.182283e-03_rb, 0.151505e-03_rb, 0.125924e-03_rb, 0.104662e-03_rb, 0.869904e-04_rb /) selfrefo(:, 3) = (/ & & 0.166821e-02_rb, 0.151103e-02_rb, 0.136866e-02_rb, 0.123970e-02_rb, 0.112290e-02_rb, & & 0.101710e-02_rb, 0.921266e-03_rb, 0.834463e-03_rb, 0.755839e-03_rb, 0.684623e-03_rb /) selfrefo(:, 4) = (/ & & 0.460175e-02_rb, 0.421372e-02_rb, 0.385842e-02_rb, 0.353307e-02_rb, 0.323516e-02_rb, & & 0.296236e-02_rb, 0.271257e-02_rb, 0.248385e-02_rb, 0.227440e-02_rb, 0.208262e-02_rb /) selfrefo(:, 5) = (/ & & 0.101589e-01_rb, 0.924742e-02_rb, 0.841772e-02_rb, 0.766247e-02_rb, 0.697497e-02_rb, & & 0.634917e-02_rb, 0.577951e-02_rb, 0.526096e-02_rb, 0.478893e-02_rb, 0.435926e-02_rb /) selfrefo(:, 6) = (/ & & 0.328043e-01_rb, 0.300853e-01_rb, 0.275917e-01_rb, 0.253048e-01_rb, 0.232075e-01_rb, & & 0.212839e-01_rb, 0.195198e-01_rb, 0.179020e-01_rb, 0.164182e-01_rb, 0.150574e-01_rb /) selfrefo(:, 7) = (/ & & 0.405936e-01_rb, 0.376032e-01_rb, 0.348331e-01_rb, 0.322671e-01_rb, 0.298901e-01_rb, & & 0.276883e-01_rb, 0.256486e-01_rb, 0.237591e-01_rb, 0.220089e-01_rb, 0.203876e-01_rb /) selfrefo(:, 8) = (/ & & 0.448362e-01_rb, 0.413811e-01_rb, 0.381923e-01_rb, 0.352492e-01_rb, 0.325329e-01_rb, & & 0.300259e-01_rb, 0.277121e-01_rb, 0.255766e-01_rb, 0.236056e-01_rb, 0.217866e-01_rb /) selfrefo(:, 9) = (/ & & 0.479741e-01_rb, 0.445389e-01_rb, 0.413497e-01_rb, 0.383889e-01_rb, 0.356400e-01_rb, & & 0.330880e-01_rb, 0.307188e-01_rb, 0.285191e-01_rb, 0.264770e-01_rb, 0.245812e-01_rb /) selfrefo(:,10) = (/ & & 0.519308e-01_rb, 0.484130e-01_rb, 0.451335e-01_rb, 0.420761e-01_rb, 0.392259e-01_rb, & & 0.365687e-01_rb, 0.340916e-01_rb, 0.317822e-01_rb, 0.296293e-01_rb, 0.276222e-01_rb /) selfrefo(:,11) = (/ & & 0.572039e-01_rb, 0.527780e-01_rb, 0.486945e-01_rb, 0.449270e-01_rb, 0.414510e-01_rb, & & 0.382439e-01_rb, 0.352849e-01_rb, 0.325549e-01_rb, 0.300361e-01_rb, 0.277122e-01_rb /) selfrefo(:,12) = (/ & & 0.601046e-01_rb, 0.554411e-01_rb, 0.511395e-01_rb, 0.471716e-01_rb, 0.435116e-01_rb, & & 0.401356e-01_rb, 0.370215e-01_rb, 0.341490e-01_rb, 0.314994e-01_rb, 0.290554e-01_rb /) selfrefo(:,13) = (/ & & 0.616595e-01_rb, 0.567145e-01_rb, 0.521662e-01_rb, 0.479826e-01_rb, 0.441346e-01_rb, & & 0.405951e-01_rb, 0.373395e-01_rb, 0.343450e-01_rb, 0.315906e-01_rb, 0.290571e-01_rb /) selfrefo(:,14) = (/ & & 0.647916e-01_rb, 0.592493e-01_rb, 0.541811e-01_rb, 0.495465e-01_rb, 0.453083e-01_rb, & & 0.414326e-01_rb, 0.378885e-01_rb, 0.346475e-01_rb, 0.316837e-01_rb, 0.289735e-01_rb /) selfrefo(:,15) = (/ & & 0.694231e-01_rb, 0.637703e-01_rb, 0.585777e-01_rb, 0.538079e-01_rb, 0.494265e-01_rb, & & 0.454019e-01_rb, 0.417050e-01_rb, 0.383091e-01_rb, 0.351897e-01_rb, 0.323244e-01_rb /) selfrefo(:,16) = (/ & & 0.761764e-01_rb, 0.701815e-01_rb, 0.646584e-01_rb, 0.595700e-01_rb, 0.548820e-01_rb, & & 0.505629e-01_rb, 0.465838e-01_rb, 0.429178e-01_rb, 0.395403e-01_rb, 0.364286e-01_rb /) end subroutine sw_kgb21 ! ************************************************************************** subroutine sw_kgb22 ! ************************************************************************** use parkind, only : im => kind_im, rb => kind_rb use rrsw_kg22, only : kao, kbo, selfrefo, forrefo, sfluxrefo, & rayl, strrat, layreffr implicit none save ! Kurucz solar source function sfluxrefo(:, 1) = (/ & & 3.71641_rb ,3.63190_rb ,3.44795_rb ,3.17936_rb , & & 2.86071_rb ,2.48490_rb ,2.02471_rb ,1.52475_rb , & & 1.03811_rb ,0.113272_rb ,9.37115e-02_rb,7.38969e-02_rb, & & 5.44713e-02_rb,3.45905e-02_rb,1.30293e-02_rb,1.84198e-03_rb /) sfluxrefo(:, 2) = (/ & & 3.73933_rb ,3.60360_rb ,3.43370_rb ,3.19749_rb , & & 2.87747_rb ,2.47926_rb ,2.02175_rb ,1.52010_rb , & & 1.03612_rb ,0.113265_rb ,9.37145e-02_rb,7.38951e-02_rb, & & 5.44714e-02_rb,3.45906e-02_rb,1.30293e-02_rb,1.84198e-03_rb /) sfluxrefo(:, 3) = (/ & & 3.73889_rb ,3.60279_rb ,3.43404_rb ,3.20560_rb , & & 2.87367_rb ,2.47515_rb ,2.02412_rb ,1.52315_rb , & & 1.03146_rb ,0.113272_rb ,9.36707e-02_rb,7.39080e-02_rb, & & 5.44598e-02_rb,3.45906e-02_rb,1.30293e-02_rb,1.84198e-03_rb /) sfluxrefo(:, 4) = (/ & & 3.73801_rb ,3.60530_rb ,3.43659_rb ,3.20640_rb , & & 2.87039_rb ,2.47330_rb ,2.02428_rb ,1.52509_rb , & & 1.03037_rb ,0.112553_rb ,9.35352e-02_rb,7.39675e-02_rb, & & 5.43951e-02_rb,3.45669e-02_rb,1.30292e-02_rb,1.84198e-03_rb /) sfluxrefo(:, 5) = (/ & & 3.73809_rb ,3.60996_rb ,3.43602_rb ,3.20364_rb , & & 2.87005_rb ,2.47343_rb ,2.02353_rb ,1.52617_rb , & & 1.03138_rb ,0.111172_rb ,9.29885e-02_rb,7.35034e-02_rb, & & 5.42427e-02_rb,3.45732e-02_rb,1.30169e-02_rb,1.84550e-03_rb /) sfluxrefo(:, 6) = (/ & & 3.73872_rb ,3.62054_rb ,3.42934_rb ,3.20110_rb , & & 2.86886_rb ,2.47379_rb ,2.02237_rb ,1.52754_rb , & & 1.03228_rb ,0.111597_rb ,9.12252e-02_rb,7.33115e-02_rb, & & 5.35600e-02_rb,3.45187e-02_rb,1.30184e-02_rb,1.84551e-03_rb /) sfluxrefo(:, 7) = (/ & & 3.73969_rb ,3.65461_rb ,3.40646_rb ,3.19082_rb , & & 2.86919_rb ,2.47289_rb ,2.02312_rb ,1.52629_rb , & & 1.03329_rb ,0.111611_rb ,9.16275e-02_rb,7.14731e-02_rb, & & 5.31771e-02_rb,3.44980e-02_rb,1.30190e-02_rb,1.84551e-03_rb /) sfluxrefo(:, 8) = (/ & & 3.73995_rb ,3.65348_rb ,3.43707_rb ,3.16351_rb , & & 2.87003_rb ,2.47392_rb ,2.02114_rb ,1.52548_rb , & & 1.03306_rb ,0.111088_rb ,9.12422e-02_rb,7.11146e-02_rb, & & 5.31333e-02_rb,3.45302e-02_rb,1.30209e-02_rb,1.84554e-03_rb /) sfluxrefo(:, 9) = (/ & & 3.73788_rb ,3.65004_rb ,3.46938_rb ,3.15236_rb , & & 2.86381_rb ,2.47393_rb ,2.01715_rb ,1.52134_rb , & & 1.03163_rb ,0.111259_rb ,9.12948e-02_rb,7.09999e-02_rb, & & 5.31792e-02_rb,3.44955e-02_rb,1.30189e-02_rb,1.84551e-03_rb /) ! Rayleigh extinction coefficient at v = 8000 cm-1. rayl = 1.54e-08_rb strrat = 0.022708_rb layreffr = 2 ! ------------------------------------------------------------------ ! The array KAO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels> ~100mb, temperatures, and binary ! species parameters (see taumol.f for definition). The first ! index in the array, JS, runs from 1 to 9, and corresponds to ! different values of the binary species parameter. For instance, ! JS=1 refers to dry air, JS = 2 corresponds to the paramter value 1/8, ! JS = 3 corresponds to the parameter value 2/8, etc. The second index ! in the array, JT, which runs from 1 to 5, corresponds to different ! temperatures. More specifically, JT = 3 means that the data are for ! the reference temperature TREF for this pressure level, JT = 2 refers ! to TREF-15, JT = 1 is for TREF-30, JT = 4 is for TREF+15, and JT = 5 ! is for TREF+30. The third index, JP, runs from 1 to 13 and refers ! to the JPth reference pressure level (see taumol.f for these levels ! in mb). The fourth index, IG, goes from 1 to 16, and indicates ! which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kao(:, 1, 1, 1) = (/ & & 0.14658e-08_rb,0.32044e-07_rb,0.36289e-07_rb,0.38717e-07_rb,0.40590e-07_rb, & & 0.43330e-07_rb,0.46916e-07_rb,0.56519e-07_rb,0.42446e-07_rb /) kao(:, 2, 1, 1) = (/ & & 0.17883e-08_rb,0.36129e-07_rb,0.40724e-07_rb,0.43498e-07_rb,0.45371e-07_rb, & & 0.47093e-07_rb,0.51195e-07_rb,0.58562e-07_rb,0.44474e-07_rb /) kao(:, 3, 1, 1) = (/ & & 0.21286e-08_rb,0.46092e-07_rb,0.53991e-07_rb,0.59439e-07_rb,0.63497e-07_rb, & & 0.66730e-07_rb,0.70296e-07_rb,0.83990e-07_rb,0.65058e-07_rb /) kao(:, 4, 1, 1) = (/ & & 0.24816e-08_rb,0.43399e-07_rb,0.49167e-07_rb,0.52969e-07_rb,0.55586e-07_rb, & & 0.57260e-07_rb,0.58809e-07_rb,0.64046e-07_rb,0.48780e-07_rb /) kao(:, 5, 1, 1) = (/ & & 0.28409e-08_rb,0.46683e-07_rb,0.53128e-07_rb,0.57526e-07_rb,0.60605e-07_rb, & & 0.62715e-07_rb,0.64284e-07_rb,0.67579e-07_rb,0.52346e-07_rb /) kao(:, 1, 2, 1) = (/ & & 0.10965e-08_rb,0.24934e-07_rb,0.28268e-07_rb,0.30156e-07_rb,0.31820e-07_rb, & & 0.34498e-07_rb,0.36563e-07_rb,0.46609e-07_rb,0.30202e-07_rb /) kao(:, 2, 2, 1) = (/ & & 0.13538e-08_rb,0.28338e-07_rb,0.31923e-07_rb,0.34048e-07_rb,0.35529e-07_rb, & & 0.37136e-07_rb,0.41583e-07_rb,0.46831e-07_rb,0.32817e-07_rb /) kao(:, 3, 2, 1) = (/ & & 0.16260e-08_rb,0.36648e-07_rb,0.42882e-07_rb,0.47128e-07_rb,0.50288e-07_rb, & & 0.52851e-07_rb,0.56093e-07_rb,0.70511e-07_rb,0.48182e-07_rb /) kao(:, 4, 2, 1) = (/ & & 0.19102e-08_rb,0.39471e-07_rb,0.46225e-07_rb,0.50974e-07_rb,0.54565e-07_rb, & & 0.57380e-07_rb,0.60079e-07_rb,0.67707e-07_rb,0.50168e-07_rb /) kao(:, 5, 2, 1) = (/ & & 0.22030e-08_rb,0.37203e-07_rb,0.42234e-07_rb,0.45622e-07_rb,0.47990e-07_rb, & & 0.49546e-07_rb,0.50777e-07_rb,0.53867e-07_rb,0.39769e-07_rb /) kao(:, 1, 3, 1) = (/ & & 0.77844e-09_rb,0.18777e-07_rb,0.21347e-07_rb,0.22946e-07_rb,0.24368e-07_rb, & & 0.25870e-07_rb,0.28084e-07_rb,0.39197e-07_rb,0.20196e-07_rb /) kao(:, 2, 3, 1) = (/ & & 0.97891e-09_rb,0.21591e-07_rb,0.24379e-07_rb,0.25974e-07_rb,0.27213e-07_rb, & & 0.29039e-07_rb,0.31487e-07_rb,0.37725e-07_rb,0.23228e-07_rb /) kao(:, 3, 3, 1) = (/ & & 0.11949e-08_rb,0.24305e-07_rb,0.27342e-07_rb,0.29177e-07_rb,0.30428e-07_rb, & & 0.31562e-07_rb,0.34299e-07_rb,0.39267e-07_rb,0.23943e-07_rb /) kao(:, 4, 3, 1) = (/ & & 0.14225e-08_rb,0.30991e-07_rb,0.36244e-07_rb,0.39880e-07_rb,0.42596e-07_rb, & & 0.44752e-07_rb,0.47132e-07_rb,0.56253e-07_rb,0.37250e-07_rb /) kao(:, 5, 3, 1) = (/ & & 0.16586e-08_rb,0.29152e-07_rb,0.32988e-07_rb,0.35508e-07_rb,0.37264e-07_rb, & & 0.38387e-07_rb,0.39417e-07_rb,0.42936e-07_rb,0.29439e-07_rb /) kao(:, 1, 4, 1) = (/ & & 0.53935e-09_rb,0.13922e-07_rb,0.15779e-07_rb,0.16979e-07_rb,0.18157e-07_rb, & & 0.19199e-07_rb,0.22168e-07_rb,0.31060e-07_rb,0.13772e-07_rb /) kao(:, 2, 4, 1) = (/ & & 0.69404e-09_rb,0.16220e-07_rb,0.18381e-07_rb,0.19646e-07_rb,0.20841e-07_rb, & & 0.22407e-07_rb,0.23846e-07_rb,0.31992e-07_rb,0.15532e-07_rb /) kao(:, 3, 4, 1) = (/ & & 0.86327e-09_rb,0.18514e-07_rb,0.20845e-07_rb,0.22209e-07_rb,0.23196e-07_rb, & & 0.24396e-07_rb,0.27026e-07_rb,0.31067e-07_rb,0.17116e-07_rb /) kao(:, 4, 4, 1) = (/ & & 0.10436e-08_rb,0.20666e-07_rb,0.23248e-07_rb,0.24835e-07_rb,0.25904e-07_rb, & & 0.26757e-07_rb,0.28384e-07_rb,0.33085e-07_rb,0.19320e-07_rb /) kao(:, 5, 4, 1) = (/ & & 0.12327e-08_rb,0.26056e-07_rb,0.30481e-07_rb,0.33580e-07_rb,0.35908e-07_rb, & & 0.37744e-07_rb,0.39586e-07_rb,0.45434e-07_rb,0.29787e-07_rb /) kao(:, 1, 5, 1) = (/ & & 0.36905e-09_rb,0.10245e-07_rb,0.11596e-07_rb,0.12576e-07_rb,0.13293e-07_rb, & & 0.14477e-07_rb,0.18355e-07_rb,0.25395e-07_rb,0.95950e-08_rb /) kao(:, 2, 5, 1) = (/ & & 0.48708e-09_rb,0.12119e-07_rb,0.13746e-07_rb,0.14791e-07_rb,0.15718e-07_rb, & & 0.16646e-07_rb,0.18396e-07_rb,0.25737e-07_rb,0.10793e-07_rb /) kao(:, 3, 5, 1) = (/ & & 0.61847e-09_rb,0.13998e-07_rb,0.15813e-07_rb,0.16851e-07_rb,0.17722e-07_rb, & & 0.19232e-07_rb,0.20414e-07_rb,0.25223e-07_rb,0.12354e-07_rb /) kao(:, 4, 5, 1) = (/ & & 0.76052e-09_rb,0.15846e-07_rb,0.17816e-07_rb,0.18991e-07_rb,0.19806e-07_rb, & & 0.20628e-07_rb,0.23016e-07_rb,0.25874e-07_rb,0.14269e-07_rb /) kao(:, 5, 5, 1) = (/ & & 0.91109e-09_rb,0.20382e-07_rb,0.23823e-07_rb,0.26180e-07_rb,0.27929e-07_rb, & & 0.29345e-07_rb,0.31039e-07_rb,0.38471e-07_rb,0.22626e-07_rb /) kao(:, 1, 6, 1) = (/ & & 0.24637e-09_rb,0.74144e-08_rb,0.83997e-08_rb,0.90789e-08_rb,0.97769e-08_rb, & & 0.11308e-07_rb,0.14223e-07_rb,0.20837e-07_rb,0.66398e-08_rb /) kao(:, 2, 6, 1) = (/ & & 0.33527e-09_rb,0.89450e-08_rb,0.10119e-07_rb,0.10892e-07_rb,0.11613e-07_rb, & & 0.12382e-07_rb,0.14900e-07_rb,0.20638e-07_rb,0.76422e-08_rb /) kao(:, 3, 6, 1) = (/ & & 0.43587e-09_rb,0.10479e-07_rb,0.11902e-07_rb,0.12737e-07_rb,0.13564e-07_rb, & & 0.14416e-07_rb,0.15545e-07_rb,0.21677e-07_rb,0.89455e-08_rb /) kao(:, 4, 6, 1) = (/ & & 0.54672e-09_rb,0.12017e-07_rb,0.13540e-07_rb,0.14423e-07_rb,0.15090e-07_rb, & & 0.16030e-07_rb,0.17496e-07_rb,0.20678e-07_rb,0.10490e-07_rb /) kao(:, 5, 6, 1) = (/ & & 0.66579e-09_rb,0.13493e-07_rb,0.15163e-07_rb,0.16178e-07_rb,0.16873e-07_rb, & & 0.17474e-07_rb,0.18852e-07_rb,0.21699e-07_rb,0.12216e-07_rb /) kao(:, 1, 7, 1) = (/ & & 0.16149e-09_rb,0.53201e-08_rb,0.60079e-08_rb,0.65349e-08_rb,0.72837e-08_rb, & & 0.90792e-08_rb,0.11028e-07_rb,0.15917e-07_rb,0.45574e-08_rb /) kao(:, 2, 7, 1) = (/ & & 0.22765e-09_rb,0.65457e-08_rb,0.74143e-08_rb,0.80126e-08_rb,0.85152e-08_rb, & & 0.94934e-08_rb,0.12210e-07_rb,0.16917e-07_rb,0.54301e-08_rb /) kao(:, 3, 7, 1) = (/ & & 0.30418e-09_rb,0.77971e-08_rb,0.88287e-08_rb,0.94927e-08_rb,0.10154e-07_rb, & & 0.10712e-07_rb,0.12099e-07_rb,0.16996e-07_rb,0.64594e-08_rb /) kao(:, 4, 7, 1) = (/ & & 0.38990e-09_rb,0.90563e-08_rb,0.10243e-07_rb,0.10928e-07_rb,0.11554e-07_rb, & & 0.12512e-07_rb,0.13254e-07_rb,0.17320e-07_rb,0.76835e-08_rb /) kao(:, 5, 7, 1) = (/ & & 0.48334e-09_rb,0.10307e-07_rb,0.11588e-07_rb,0.12345e-07_rb,0.12884e-07_rb, & & 0.13512e-07_rb,0.15051e-07_rb,0.17108e-07_rb,0.90662e-08_rb /) kao(:, 1, 8, 1) = (/ & & 0.10442e-09_rb,0.37895e-08_rb,0.42781e-08_rb,0.47285e-08_rb,0.55672e-08_rb, & & 0.67246e-08_rb,0.87615e-08_rb,0.12496e-07_rb,0.31063e-08_rb /) kao(:, 2, 8, 1) = (/ & & 0.15294e-09_rb,0.47545e-08_rb,0.53771e-08_rb,0.58176e-08_rb,0.63249e-08_rb, & & 0.74935e-08_rb,0.93024e-08_rb,0.13484e-07_rb,0.38514e-08_rb /) kao(:, 3, 8, 1) = (/ & & 0.21056e-09_rb,0.57727e-08_rb,0.65270e-08_rb,0.70416e-08_rb,0.74786e-08_rb, & & 0.80475e-08_rb,0.10012e-07_rb,0.13784e-07_rb,0.46496e-08_rb /) kao(:, 4, 8, 1) = (/ & & 0.27636e-09_rb,0.67987e-08_rb,0.77111e-08_rb,0.82983e-08_rb,0.87947e-08_rb, & & 0.93313e-08_rb,0.10204e-07_rb,0.14244e-07_rb,0.56141e-08_rb /) kao(:, 5, 8, 1) = (/ & & 0.34924e-09_rb,0.78297e-08_rb,0.88319e-08_rb,0.94055e-08_rb,0.98667e-08_rb, & & 0.10620e-07_rb,0.11396e-07_rb,0.13825e-07_rb,0.67139e-08_rb /) kao(:, 1, 9, 1) = (/ & & 0.66385e-10_rb,0.26743e-08_rb,0.30313e-08_rb,0.34595e-08_rb,0.42156e-08_rb, & & 0.50940e-08_rb,0.66728e-08_rb,0.10021e-07_rb,0.20965e-08_rb /) kao(:, 2, 9, 1) = (/ & & 0.10109e-09_rb,0.34278e-08_rb,0.38685e-08_rb,0.42217e-08_rb,0.47673e-08_rb, & & 0.59120e-08_rb,0.72992e-08_rb,0.10438e-07_rb,0.27321e-08_rb /) kao(:, 3, 9, 1) = (/ & & 0.14405e-09_rb,0.42386e-08_rb,0.48029e-08_rb,0.51840e-08_rb,0.55416e-08_rb, & & 0.62759e-08_rb,0.79851e-08_rb,0.11314e-07_rb,0.33332e-08_rb /) kao(:, 4, 9, 1) = (/ & & 0.19414e-09_rb,0.50774e-08_rb,0.57440e-08_rb,0.61764e-08_rb,0.66005e-08_rb, & & 0.69887e-08_rb,0.81552e-08_rb,0.11319e-07_rb,0.40828e-08_rb /) kao(:, 5, 9, 1) = (/ & & 0.25056e-09_rb,0.59198e-08_rb,0.67025e-08_rb,0.71627e-08_rb,0.76155e-08_rb, & & 0.81557e-08_rb,0.87035e-08_rb,0.11788e-07_rb,0.49512e-08_rb /) kao(:, 1,10, 1) = (/ & & 0.43147e-10_rb,0.19136e-08_rb,0.21883e-08_rb,0.26153e-08_rb,0.31055e-08_rb, & & 0.39720e-08_rb,0.51107e-08_rb,0.84498e-08_rb,0.15100e-08_rb /) kao(:, 2,10, 1) = (/ & & 0.68069e-10_rb,0.25012e-08_rb,0.28230e-08_rb,0.31278e-08_rb,0.37084e-08_rb, & & 0.44577e-08_rb,0.58316e-08_rb,0.82732e-08_rb,0.20294e-08_rb /) kao(:, 3,10, 1) = (/ & & 0.10013e-09_rb,0.31445e-08_rb,0.35530e-08_rb,0.38466e-08_rb,0.41961e-08_rb, & & 0.50063e-08_rb,0.61960e-08_rb,0.89421e-08_rb,0.24447e-08_rb /) kao(:, 4,10, 1) = (/ & & 0.13837e-09_rb,0.38258e-08_rb,0.43236e-08_rb,0.46732e-08_rb,0.49545e-08_rb, & & 0.53447e-08_rb,0.67172e-08_rb,0.92217e-08_rb,0.30274e-08_rb /) kao(:, 5,10, 1) = (/ & & 0.18212e-09_rb,0.45123e-08_rb,0.51146e-08_rb,0.55026e-08_rb,0.58368e-08_rb, & & 0.61896e-08_rb,0.67974e-08_rb,0.94910e-08_rb,0.36975e-08_rb /) kao(:, 1,11, 1) = (/ & & 0.35238e-10_rb,0.15650e-08_rb,0.17900e-08_rb,0.21398e-08_rb,0.25395e-08_rb, & & 0.32442e-08_rb,0.41684e-08_rb,0.68456e-08_rb,0.12890e-08_rb /) kao(:, 2,11, 1) = (/ & & 0.55588e-10_rb,0.20451e-08_rb,0.23079e-08_rb,0.25570e-08_rb,0.30342e-08_rb, & & 0.36465e-08_rb,0.47717e-08_rb,0.67353e-08_rb,0.16499e-08_rb /) kao(:, 3,11, 1) = (/ & & 0.81825e-10_rb,0.25719e-08_rb,0.29058e-08_rb,0.31458e-08_rb,0.34324e-08_rb, & & 0.40982e-08_rb,0.50669e-08_rb,0.73083e-08_rb,0.20031e-08_rb /) kao(:, 4,11, 1) = (/ & & 0.11311e-09_rb,0.31293e-08_rb,0.35365e-08_rb,0.38229e-08_rb,0.40518e-08_rb, & & 0.43730e-08_rb,0.54993e-08_rb,0.75470e-08_rb,0.24754e-08_rb /) kao(:, 5,11, 1) = (/ & & 0.14891e-09_rb,0.36915e-08_rb,0.41839e-08_rb,0.45010e-08_rb,0.47744e-08_rb, & & 0.50622e-08_rb,0.55621e-08_rb,0.77689e-08_rb,0.30237e-08_rb /) kao(:, 1,12, 1) = (/ & & 0.28851e-10_rb,0.12816e-08_rb,0.14656e-08_rb,0.17508e-08_rb,0.20791e-08_rb, & & 0.26542e-08_rb,0.34061e-08_rb,0.55940e-08_rb,0.10876e-08_rb /) kao(:, 2,12, 1) = (/ & & 0.45511e-10_rb,0.16747e-08_rb,0.18898e-08_rb,0.20935e-08_rb,0.24841e-08_rb, & & 0.29844e-08_rb,0.39040e-08_rb,0.54988e-08_rb,0.13569e-08_rb /) kao(:, 3,12, 1) = (/ & & 0.66972e-10_rb,0.21053e-08_rb,0.23788e-08_rb,0.25750e-08_rb,0.28091e-08_rb, & & 0.33541e-08_rb,0.41474e-08_rb,0.59783e-08_rb,0.16488e-08_rb /) kao(:, 4,12, 1) = (/ & & 0.92606e-10_rb,0.25620e-08_rb,0.28952e-08_rb,0.31304e-08_rb,0.33162e-08_rb, & & 0.35801e-08_rb,0.45003e-08_rb,0.61789e-08_rb,0.20293e-08_rb /) kao(:, 5,12, 1) = (/ & & 0.12192e-09_rb,0.30226e-08_rb,0.34255e-08_rb,0.36843e-08_rb,0.39084e-08_rb, & & 0.41445e-08_rb,0.45524e-08_rb,0.63605e-08_rb,0.24756e-08_rb /) kao(:, 1,13, 1) = (/ & & 0.23621e-10_rb,0.10494e-08_rb,0.11996e-08_rb,0.14331e-08_rb,0.17023e-08_rb, & & 0.21711e-08_rb,0.27844e-08_rb,0.45532e-08_rb,0.89489e-09_rb /) kao(:, 2,13, 1) = (/ & & 0.37261e-10_rb,0.13712e-08_rb,0.15471e-08_rb,0.17138e-08_rb,0.20333e-08_rb, & & 0.24433e-08_rb,0.31958e-08_rb,0.44925e-08_rb,0.11124e-08_rb /) kao(:, 3,13, 1) = (/ & & 0.54831e-10_rb,0.17238e-08_rb,0.19475e-08_rb,0.21082e-08_rb,0.23003e-08_rb, & & 0.27446e-08_rb,0.33959e-08_rb,0.48947e-08_rb,0.13514e-08_rb /) kao(:, 4,13, 1) = (/ & & 0.75799e-10_rb,0.20971e-08_rb,0.23698e-08_rb,0.25624e-08_rb,0.27143e-08_rb, & & 0.29304e-08_rb,0.36822e-08_rb,0.50589e-08_rb,0.16628e-08_rb /) kao(:, 5,13, 1) = (/ & & 0.99820e-10_rb,0.24745e-08_rb,0.28041e-08_rb,0.30159e-08_rb,0.31995e-08_rb, & & 0.33924e-08_rb,0.37279e-08_rb,0.52074e-08_rb,0.20270e-08_rb /) kao(:, 1, 1, 2) = (/ & & 0.13785e-07_rb,0.24738e-06_rb,0.32984e-06_rb,0.38970e-06_rb,0.43737e-06_rb, & & 0.50889e-06_rb,0.56985e-06_rb,0.52821e-06_rb,0.22857e-06_rb /) kao(:, 2, 1, 2) = (/ & & 0.15768e-07_rb,0.27583e-06_rb,0.36371e-06_rb,0.42333e-06_rb,0.46175e-06_rb, & & 0.50608e-06_rb,0.57108e-06_rb,0.57199e-06_rb,0.21992e-06_rb /) kao(:, 3, 1, 2) = (/ & & 0.17740e-07_rb,0.31295e-06_rb,0.41668e-06_rb,0.48111e-06_rb,0.52105e-06_rb, & & 0.56257e-06_rb,0.61638e-06_rb,0.64253e-06_rb,0.25630e-06_rb /) kao(:, 4, 1, 2) = (/ & & 0.19676e-07_rb,0.33378e-06_rb,0.43874e-06_rb,0.50021e-06_rb,0.53506e-06_rb, & & 0.56909e-06_rb,0.60800e-06_rb,0.63155e-06_rb,0.24206e-06_rb /) kao(:, 5, 1, 2) = (/ & & 0.21537e-07_rb,0.36160e-06_rb,0.47596e-06_rb,0.54056e-06_rb,0.57557e-06_rb, & & 0.60002e-06_rb,0.61606e-06_rb,0.61827e-06_rb,0.25207e-06_rb /) kao(:, 1, 2, 2) = (/ & & 0.10621e-07_rb,0.19636e-06_rb,0.26336e-06_rb,0.31062e-06_rb,0.35012e-06_rb, & & 0.41219e-06_rb,0.46827e-06_rb,0.42345e-06_rb,0.16044e-06_rb /) kao(:, 2, 2, 2) = (/ & & 0.12238e-07_rb,0.21970e-06_rb,0.28920e-06_rb,0.33755e-06_rb,0.37073e-06_rb, & & 0.41004e-06_rb,0.46315e-06_rb,0.45777e-06_rb,0.15877e-06_rb /) kao(:, 3, 2, 2) = (/ & & 0.13863e-07_rb,0.24955e-06_rb,0.33252e-06_rb,0.38359e-06_rb,0.41679e-06_rb, & & 0.45237e-06_rb,0.50277e-06_rb,0.51752e-06_rb,0.18617e-06_rb /) kao(:, 4, 2, 2) = (/ & & 0.15467e-07_rb,0.27294e-06_rb,0.36292e-06_rb,0.41560e-06_rb,0.44818e-06_rb, & & 0.47909e-06_rb,0.51811e-06_rb,0.54528e-06_rb,0.19311e-06_rb /) kao(:, 5, 2, 2) = (/ & & 0.17013e-07_rb,0.28946e-06_rb,0.38040e-06_rb,0.43177e-06_rb,0.46055e-06_rb, & & 0.48627e-06_rb,0.50036e-06_rb,0.50711e-06_rb,0.19056e-06_rb /) kao(:, 1, 3, 2) = (/ & & 0.79041e-08_rb,0.15193e-06_rb,0.20367e-06_rb,0.24255e-06_rb,0.27584e-06_rb, & & 0.33106e-06_rb,0.39018e-06_rb,0.33367e-06_rb,0.10147e-06_rb /) kao(:, 2, 3, 2) = (/ & & 0.92256e-08_rb,0.17005e-06_rb,0.22457e-06_rb,0.26442e-06_rb,0.29755e-06_rb, & & 0.33937e-06_rb,0.38659e-06_rb,0.36019e-06_rb,0.10982e-06_rb /) kao(:, 3, 3, 2) = (/ & & 0.10548e-07_rb,0.18874e-06_rb,0.24827e-06_rb,0.28648e-06_rb,0.31109e-06_rb, & & 0.33996e-06_rb,0.38319e-06_rb,0.38934e-06_rb,0.11953e-06_rb /) kao(:, 4, 3, 2) = (/ & & 0.11869e-07_rb,0.21314e-06_rb,0.28402e-06_rb,0.32565e-06_rb,0.35249e-06_rb, & & 0.38039e-06_rb,0.41637e-06_rb,0.43423e-06_rb,0.13779e-06_rb /) kao(:, 5, 3, 2) = (/ & & 0.13170e-07_rb,0.22682e-06_rb,0.29805e-06_rb,0.33849e-06_rb,0.36193e-06_rb, & & 0.38387e-06_rb,0.41078e-06_rb,0.42298e-06_rb,0.13819e-06_rb /) kao(:, 1, 4, 2) = (/ & & 0.57872e-08_rb,0.11704e-06_rb,0.15599e-06_rb,0.19092e-06_rb,0.22043e-06_rb, & & 0.26778e-06_rb,0.30128e-06_rb,0.25769e-06_rb,0.68111e-07_rb /) kao(:, 2, 4, 2) = (/ & & 0.68505e-08_rb,0.13037e-06_rb,0.17389e-06_rb,0.20556e-06_rb,0.23194e-06_rb, & & 0.27485e-06_rb,0.31447e-06_rb,0.28139e-06_rb,0.78259e-07_rb /) kao(:, 3, 4, 2) = (/ & & 0.79353e-08_rb,0.14574e-06_rb,0.19135e-06_rb,0.22328e-06_rb,0.24623e-06_rb, & & 0.27497e-06_rb,0.31125e-06_rb,0.30440e-06_rb,0.85397e-07_rb /) kao(:, 4, 4, 2) = (/ & & 0.90207e-08_rb,0.16075e-06_rb,0.21140e-06_rb,0.24210e-06_rb,0.26199e-06_rb, & & 0.28412e-06_rb,0.31832e-06_rb,0.32424e-06_rb,0.93374e-07_rb /) kao(:, 5, 4, 2) = (/ & & 0.10099e-07_rb,0.18068e-06_rb,0.24072e-06_rb,0.27515e-06_rb,0.29704e-06_rb, & & 0.31830e-06_rb,0.34575e-06_rb,0.36301e-06_rb,0.10959e-06_rb /) kao(:, 1, 5, 2) = (/ & & 0.42071e-08_rb,0.88799e-07_rb,0.11974e-06_rb,0.15503e-06_rb,0.18473e-06_rb, & & 0.21750e-06_rb,0.23111e-06_rb,0.19568e-06_rb,0.47645e-07_rb /) kao(:, 2, 5, 2) = (/ & & 0.50589e-08_rb,0.10003e-06_rb,0.13353e-06_rb,0.15994e-06_rb,0.18265e-06_rb, & & 0.22030e-06_rb,0.25851e-06_rb,0.22196e-06_rb,0.56400e-07_rb /) kao(:, 3, 5, 2) = (/ & & 0.59363e-08_rb,0.11183e-06_rb,0.14743e-06_rb,0.17446e-06_rb,0.19617e-06_rb, & & 0.22887e-06_rb,0.25813e-06_rb,0.23893e-06_rb,0.62471e-07_rb /) kao(:, 4, 5, 2) = (/ & & 0.68265e-08_rb,0.12408e-06_rb,0.16316e-06_rb,0.18879e-06_rb,0.20540e-06_rb, & & 0.22681e-06_rb,0.25640e-06_rb,0.25817e-06_rb,0.69233e-07_rb /) kao(:, 5, 5, 2) = (/ & & 0.77164e-08_rb,0.14022e-06_rb,0.18715e-06_rb,0.21470e-06_rb,0.23265e-06_rb, & & 0.25223e-06_rb,0.27783e-06_rb,0.28837e-06_rb,0.82855e-07_rb /) kao(:, 1, 6, 2) = (/ & & 0.30108e-08_rb,0.66997e-07_rb,0.92811e-07_rb,0.12074e-06_rb,0.15295e-06_rb, & & 0.17839e-06_rb,0.17246e-06_rb,0.14892e-06_rb,0.33739e-07_rb /) kao(:, 2, 6, 2) = (/ & & 0.36900e-08_rb,0.76605e-07_rb,0.10196e-06_rb,0.12672e-06_rb,0.14857e-06_rb, & & 0.17805e-06_rb,0.19825e-06_rb,0.16899e-06_rb,0.40438e-07_rb /) kao(:, 3, 6, 2) = (/ & & 0.43974e-08_rb,0.85358e-07_rb,0.11411e-06_rb,0.13507e-06_rb,0.15283e-06_rb, & & 0.18257e-06_rb,0.21172e-06_rb,0.18597e-06_rb,0.46134e-07_rb /) kao(:, 4, 6, 2) = (/ & & 0.51213e-08_rb,0.95538e-07_rb,0.12544e-06_rb,0.14691e-06_rb,0.16455e-06_rb, & & 0.18481e-06_rb,0.20979e-06_rb,0.20070e-06_rb,0.51618e-07_rb /) kao(:, 5, 6, 2) = (/ & & 0.58500e-08_rb,0.10543e-06_rb,0.13870e-06_rb,0.15918e-06_rb,0.17259e-06_rb, & & 0.18830e-06_rb,0.21165e-06_rb,0.21507e-06_rb,0.58184e-07_rb /) kao(:, 1, 7, 2) = (/ & & 0.21343e-08_rb,0.50731e-07_rb,0.73677e-07_rb,0.95876e-07_rb,0.12180e-06_rb, & & 0.14539e-06_rb,0.12792e-06_rb,0.11548e-06_rb,0.24049e-07_rb /) kao(:, 2, 7, 2) = (/ & & 0.26695e-08_rb,0.57886e-07_rb,0.78431e-07_rb,0.10179e-06_rb,0.12404e-06_rb, & & 0.14498e-06_rb,0.15075e-06_rb,0.12789e-06_rb,0.28929e-07_rb /) kao(:, 3, 7, 2) = (/ & & 0.32350e-08_rb,0.65356e-07_rb,0.87120e-07_rb,0.10537e-06_rb,0.12108e-06_rb, & & 0.14722e-06_rb,0.16980e-06_rb,0.14529e-06_rb,0.34426e-07_rb /) kao(:, 4, 7, 2) = (/ & & 0.38202e-08_rb,0.73009e-07_rb,0.96634e-07_rb,0.11454e-06_rb,0.12893e-06_rb, & & 0.15239e-06_rb,0.17280e-06_rb,0.15699e-06_rb,0.38936e-07_rb /) kao(:, 5, 7, 2) = (/ & & 0.44151e-08_rb,0.81203e-07_rb,0.10676e-06_rb,0.12425e-06_rb,0.13576e-06_rb, & & 0.15119e-06_rb,0.17122e-06_rb,0.16974e-06_rb,0.43692e-07_rb /) kao(:, 1, 8, 2) = (/ & & 0.15010e-08_rb,0.38595e-07_rb,0.58295e-07_rb,0.77729e-07_rb,0.98683e-07_rb, & & 0.10992e-06_rb,0.95145e-07_rb,0.92252e-07_rb,0.17319e-07_rb /) kao(:, 2, 8, 2) = (/ & & 0.19201e-08_rb,0.43791e-07_rb,0.61750e-07_rb,0.79921e-07_rb,0.10136e-06_rb, & & 0.11894e-06_rb,0.11276e-06_rb,0.97846e-07_rb,0.20720e-07_rb /) kao(:, 3, 8, 2) = (/ & & 0.23693e-08_rb,0.50071e-07_rb,0.66873e-07_rb,0.85063e-07_rb,0.10052e-06_rb, & & 0.11892e-06_rb,0.13009e-06_rb,0.11045e-06_rb,0.25527e-07_rb /) kao(:, 4, 8, 2) = (/ & & 0.28395e-08_rb,0.55947e-07_rb,0.74757e-07_rb,0.88934e-07_rb,0.10114e-06_rb, & & 0.12142e-06_rb,0.14341e-06_rb,0.12281e-06_rb,0.28938e-07_rb /) kao(:, 5, 8, 2) = (/ & & 0.33227e-08_rb,0.62620e-07_rb,0.82343e-07_rb,0.96807e-07_rb,0.10922e-06_rb, & & 0.12542e-06_rb,0.14247e-06_rb,0.13252e-06_rb,0.32804e-07_rb /) kao(:, 1, 9, 2) = (/ & & 0.10437e-08_rb,0.30107e-07_rb,0.47694e-07_rb,0.63218e-07_rb,0.80199e-07_rb, & & 0.81465e-07_rb,0.70748e-07_rb,0.72461e-07_rb,0.12620e-07_rb /) kao(:, 2, 9, 2) = (/ & & 0.13691e-08_rb,0.33315e-07_rb,0.48674e-07_rb,0.63756e-07_rb,0.81165e-07_rb, & & 0.96892e-07_rb,0.83814e-07_rb,0.76311e-07_rb,0.14799e-07_rb /) kao(:, 3, 9, 2) = (/ & & 0.17229e-08_rb,0.37985e-07_rb,0.51777e-07_rb,0.67272e-07_rb,0.83770e-07_rb, & & 0.97220e-07_rb,0.98951e-07_rb,0.84136e-07_rb,0.18369e-07_rb /) kao(:, 4, 9, 2) = (/ & & 0.20990e-08_rb,0.43091e-07_rb,0.57320e-07_rb,0.69933e-07_rb,0.81214e-07_rb, & & 0.98518e-07_rb,0.11188e-06_rb,0.95453e-07_rb,0.21724e-07_rb /) kao(:, 5, 9, 2) = (/ & & 0.24895e-08_rb,0.48030e-07_rb,0.63808e-07_rb,0.75595e-07_rb,0.85237e-07_rb, & & 0.10122e-06_rb,0.11598e-06_rb,0.10350e-06_rb,0.24792e-07_rb /) kao(:, 1,10, 2) = (/ & & 0.73565e-09_rb,0.23201e-07_rb,0.38192e-07_rb,0.51890e-07_rb,0.66677e-07_rb, & & 0.60941e-07_rb,0.53794e-07_rb,0.57060e-07_rb,0.95538e-08_rb /) kao(:, 2,10, 2) = (/ & & 0.98838e-09_rb,0.25706e-07_rb,0.38945e-07_rb,0.51950e-07_rb,0.65881e-07_rb, & & 0.73501e-07_rb,0.63459e-07_rb,0.61276e-07_rb,0.10909e-07_rb /) kao(:, 3,10, 2) = (/ & & 0.12675e-08_rb,0.29153e-07_rb,0.41180e-07_rb,0.53354e-07_rb,0.67729e-07_rb, & & 0.79616e-07_rb,0.75117e-07_rb,0.65122e-07_rb,0.13531e-07_rb /) kao(:, 4,10, 2) = (/ & & 0.15675e-08_rb,0.33329e-07_rb,0.44560e-07_rb,0.57066e-07_rb,0.67627e-07_rb, & & 0.79638e-07_rb,0.86678e-07_rb,0.73448e-07_rb,0.16804e-07_rb /) kao(:, 5,10, 2) = (/ & & 0.18817e-08_rb,0.37257e-07_rb,0.49746e-07_rb,0.59306e-07_rb,0.67554e-07_rb, & & 0.81218e-07_rb,0.96337e-07_rb,0.82154e-07_rb,0.18958e-07_rb /) kao(:, 1,11, 2) = (/ & & 0.60140e-09_rb,0.19007e-07_rb,0.31253e-07_rb,0.42433e-07_rb,0.54566e-07_rb, & & 0.50044e-07_rb,0.44177e-07_rb,0.46695e-07_rb,0.77009e-08_rb /) kao(:, 2,11, 2) = (/ & & 0.80782e-09_rb,0.21033e-07_rb,0.31865e-07_rb,0.42505e-07_rb,0.53930e-07_rb, & & 0.60271e-07_rb,0.51969e-07_rb,0.49836e-07_rb,0.88971e-08_rb /) kao(:, 3,11, 2) = (/ & & 0.10365e-08_rb,0.23860e-07_rb,0.33711e-07_rb,0.43668e-07_rb,0.55447e-07_rb, & & 0.65129e-07_rb,0.61514e-07_rb,0.53242e-07_rb,0.11044e-07_rb /) kao(:, 4,11, 2) = (/ & & 0.12819e-08_rb,0.27278e-07_rb,0.36477e-07_rb,0.46671e-07_rb,0.55334e-07_rb, & & 0.65191e-07_rb,0.70955e-07_rb,0.60123e-07_rb,0.13732e-07_rb /) kao(:, 5,11, 2) = (/ & & 0.15394e-08_rb,0.30488e-07_rb,0.40723e-07_rb,0.48551e-07_rb,0.55301e-07_rb, & & 0.66490e-07_rb,0.78877e-07_rb,0.67264e-07_rb,0.15488e-07_rb /) kao(:, 1,12, 2) = (/ & & 0.49234e-09_rb,0.15554e-07_rb,0.25575e-07_rb,0.34616e-07_rb,0.44615e-07_rb, & & 0.41056e-07_rb,0.36097e-07_rb,0.38091e-07_rb,0.62448e-08_rb /) kao(:, 2,12, 2) = (/ & & 0.66141e-09_rb,0.17225e-07_rb,0.26080e-07_rb,0.34787e-07_rb,0.44118e-07_rb, & & 0.49432e-07_rb,0.42531e-07_rb,0.40718e-07_rb,0.72624e-08_rb /) kao(:, 3,12, 2) = (/ & & 0.84839e-09_rb,0.19539e-07_rb,0.27604e-07_rb,0.35754e-07_rb,0.45370e-07_rb, & & 0.53306e-07_rb,0.50418e-07_rb,0.43565e-07_rb,0.90256e-08_rb /) kao(:, 4,12, 2) = (/ & & 0.10495e-08_rb,0.22342e-07_rb,0.29867e-07_rb,0.38196e-07_rb,0.45322e-07_rb, & & 0.53368e-07_rb,0.58112e-07_rb,0.49244e-07_rb,0.11197e-07_rb /) kao(:, 5,12, 2) = (/ & & 0.12604e-08_rb,0.24969e-07_rb,0.33348e-07_rb,0.39742e-07_rb,0.45269e-07_rb, & & 0.54454e-07_rb,0.64580e-07_rb,0.55079e-07_rb,0.12657e-07_rb /) kao(:, 1,13, 2) = (/ & & 0.40306e-09_rb,0.12738e-07_rb,0.20936e-07_rb,0.28312e-07_rb,0.36505e-07_rb, & & 0.33674e-07_rb,0.29525e-07_rb,0.31139e-07_rb,0.51040e-08_rb /) kao(:, 2,13, 2) = (/ & & 0.54151e-09_rb,0.14106e-07_rb,0.21346e-07_rb,0.28471e-07_rb,0.36139e-07_rb, & & 0.40516e-07_rb,0.34830e-07_rb,0.33325e-07_rb,0.59425e-08_rb /) kao(:, 3,13, 2) = (/ & & 0.69468e-09_rb,0.15999e-07_rb,0.22600e-07_rb,0.29268e-07_rb,0.37150e-07_rb, & & 0.43635e-07_rb,0.41297e-07_rb,0.35646e-07_rb,0.73862e-08_rb /) kao(:, 4,13, 2) = (/ & & 0.85913e-09_rb,0.18290e-07_rb,0.24452e-07_rb,0.31282e-07_rb,0.37096e-07_rb, & & 0.43709e-07_rb,0.47585e-07_rb,0.40319e-07_rb,0.91581e-08_rb /) kao(:, 5,13, 2) = (/ & & 0.10319e-08_rb,0.20440e-07_rb,0.27299e-07_rb,0.32532e-07_rb,0.37047e-07_rb, & & 0.44575e-07_rb,0.52880e-07_rb,0.45086e-07_rb,0.10367e-07_rb /) kao(:, 1, 1, 3) = (/ & & 0.77542e-07_rb,0.72331e-06_rb,0.98561e-06_rb,0.11860e-05_rb,0.13497e-05_rb, & & 0.13448e-05_rb,0.13214e-05_rb,0.14401e-05_rb,0.51217e-06_rb /) kao(:, 2, 1, 3) = (/ & & 0.83965e-07_rb,0.81202e-06_rb,0.11096e-05_rb,0.13150e-05_rb,0.14966e-05_rb, & & 0.14837e-05_rb,0.13715e-05_rb,0.14446e-05_rb,0.53558e-06_rb /) kao(:, 3, 1, 3) = (/ & & 0.89893e-07_rb,0.91147e-06_rb,0.12494e-05_rb,0.14817e-05_rb,0.16581e-05_rb, & & 0.16379e-05_rb,0.14913e-05_rb,0.13540e-05_rb,0.57527e-06_rb /) kao(:, 4, 1, 3) = (/ & & 0.95336e-07_rb,0.98977e-06_rb,0.13580e-05_rb,0.16044e-05_rb,0.17602e-05_rb, & & 0.17289e-05_rb,0.15601e-05_rb,0.13435e-05_rb,0.60153e-06_rb /) kao(:, 5, 1, 3) = (/ & & 0.10024e-06_rb,0.10817e-05_rb,0.14820e-05_rb,0.17354e-05_rb,0.18806e-05_rb, & & 0.18468e-05_rb,0.16817e-05_rb,0.14550e-05_rb,0.63092e-06_rb /) kao(:, 1, 2, 3) = (/ & & 0.61222e-07_rb,0.57382e-06_rb,0.78272e-06_rb,0.94950e-06_rb,0.10796e-05_rb, & & 0.10829e-05_rb,0.10794e-05_rb,0.12292e-05_rb,0.35440e-06_rb /) kao(:, 2, 2, 3) = (/ & & 0.66652e-07_rb,0.64604e-06_rb,0.88511e-06_rb,0.10523e-05_rb,0.12028e-05_rb, & & 0.11924e-05_rb,0.11103e-05_rb,0.11987e-05_rb,0.38232e-06_rb /) kao(:, 3, 2, 3) = (/ & & 0.71672e-07_rb,0.73084e-06_rb,0.10012e-05_rb,0.11880e-05_rb,0.13384e-05_rb, & & 0.13220e-05_rb,0.12030e-05_rb,0.11381e-05_rb,0.43262e-06_rb /) kao(:, 4, 2, 3) = (/ & & 0.76301e-07_rb,0.80259e-06_rb,0.11033e-05_rb,0.13071e-05_rb,0.14343e-05_rb, & & 0.14171e-05_rb,0.12785e-05_rb,0.11080e-05_rb,0.46030e-06_rb /) kao(:, 5, 2, 3) = (/ & & 0.80500e-07_rb,0.87105e-06_rb,0.11939e-05_rb,0.14005e-05_rb,0.15153e-05_rb, & & 0.14864e-05_rb,0.13529e-05_rb,0.11688e-05_rb,0.48117e-06_rb /) kao(:, 1, 3, 3) = (/ & & 0.47304e-07_rb,0.44051e-06_rb,0.60584e-06_rb,0.74769e-06_rb,0.84468e-06_rb, & & 0.85077e-06_rb,0.85665e-06_rb,0.10494e-05_rb,0.24668e-06_rb /) kao(:, 2, 3, 3) = (/ & & 0.51943e-07_rb,0.50181e-06_rb,0.68762e-06_rb,0.82034e-06_rb,0.93657e-06_rb, & & 0.92789e-06_rb,0.88766e-06_rb,0.99297e-06_rb,0.26836e-06_rb /) kao(:, 3, 3, 3) = (/ & & 0.56252e-07_rb,0.56363e-06_rb,0.77259e-06_rb,0.91469e-06_rb,0.10403e-05_rb, & & 0.10243e-05_rb,0.93713e-06_rb,0.99098e-06_rb,0.29882e-06_rb /) kao(:, 4, 3, 3) = (/ & & 0.60224e-07_rb,0.63130e-06_rb,0.86724e-06_rb,0.10288e-05_rb,0.11344e-05_rb, & & 0.11222e-05_rb,0.10162e-05_rb,0.91320e-06_rb,0.33854e-06_rb /) kao(:, 5, 3, 3) = (/ & & 0.63868e-07_rb,0.68673e-06_rb,0.94084e-06_rb,0.11069e-05_rb,0.12001e-05_rb, & & 0.11819e-05_rb,0.10625e-05_rb,0.91639e-06_rb,0.36042e-06_rb /) kao(:, 1, 4, 3) = (/ & & 0.36151e-07_rb,0.33292e-06_rb,0.46957e-06_rb,0.57176e-06_rb,0.64965e-06_rb, & & 0.66578e-06_rb,0.71030e-06_rb,0.90686e-06_rb,0.17407e-06_rb /) kao(:, 2, 4, 3) = (/ & & 0.40107e-07_rb,0.38424e-06_rb,0.52571e-06_rb,0.63554e-06_rb,0.72553e-06_rb, & & 0.72856e-06_rb,0.72697e-06_rb,0.84339e-06_rb,0.19253e-06_rb /) kao(:, 3, 4, 3) = (/ & & 0.43816e-07_rb,0.43401e-06_rb,0.59546e-06_rb,0.70644e-06_rb,0.80752e-06_rb, & & 0.79519e-06_rb,0.74520e-06_rb,0.81506e-06_rb,0.21830e-06_rb /) kao(:, 4, 4, 3) = (/ & & 0.47242e-07_rb,0.48695e-06_rb,0.66577e-06_rb,0.78531e-06_rb,0.87970e-06_rb, & & 0.86799e-06_rb,0.78705e-06_rb,0.76812e-06_rb,0.24161e-06_rb /) kao(:, 5, 4, 3) = (/ & & 0.50394e-07_rb,0.54183e-06_rb,0.74240e-06_rb,0.87572e-06_rb,0.95669e-06_rb, & & 0.94640e-06_rb,0.85379e-06_rb,0.74722e-06_rb,0.28102e-06_rb /) kao(:, 1, 5, 3) = (/ & & 0.27462e-07_rb,0.25134e-06_rb,0.35698e-06_rb,0.43146e-06_rb,0.48552e-06_rb, & & 0.53177e-06_rb,0.62976e-06_rb,0.75904e-06_rb,0.12452e-06_rb /) kao(:, 2, 5, 3) = (/ & & 0.30835e-07_rb,0.29261e-06_rb,0.40164e-06_rb,0.49701e-06_rb,0.56250e-06_rb, & & 0.56722e-06_rb,0.57761e-06_rb,0.72004e-06_rb,0.13996e-06_rb /) kao(:, 3, 5, 3) = (/ & & 0.33997e-07_rb,0.33394e-06_rb,0.45684e-06_rb,0.54380e-06_rb,0.62140e-06_rb, & & 0.61241e-06_rb,0.60037e-06_rb,0.67265e-06_rb,0.16106e-06_rb /) kao(:, 4, 5, 3) = (/ & & 0.36946e-07_rb,0.37590e-06_rb,0.51390e-06_rb,0.60628e-06_rb,0.69027e-06_rb, & & 0.67692e-06_rb,0.62237e-06_rb,0.67035e-06_rb,0.18128e-06_rb /) kao(:, 5, 5, 3) = (/ & & 0.39670e-07_rb,0.42211e-06_rb,0.57710e-06_rb,0.68190e-06_rb,0.75209e-06_rb, & & 0.74450e-06_rb,0.67496e-06_rb,0.61709e-06_rb,0.21416e-06_rb /) kao(:, 1, 6, 3) = (/ & & 0.20602e-07_rb,0.18703e-06_rb,0.26972e-06_rb,0.33456e-06_rb,0.36532e-06_rb, & & 0.42767e-06_rb,0.56721e-06_rb,0.66482e-06_rb,0.87936e-07_rb /) kao(:, 2, 6, 3) = (/ & & 0.23484e-07_rb,0.21971e-06_rb,0.30953e-06_rb,0.37643e-06_rb,0.42627e-06_rb, & & 0.44517e-06_rb,0.48560e-06_rb,0.61604e-06_rb,0.10185e-06_rb /) kao(:, 3, 6, 3) = (/ & & 0.26181e-07_rb,0.25382e-06_rb,0.34607e-06_rb,0.41971e-06_rb,0.47851e-06_rb, & & 0.48129e-06_rb,0.48156e-06_rb,0.56916e-06_rb,0.11864e-06_rb /) kao(:, 4, 6, 3) = (/ & & 0.28705e-07_rb,0.28735e-06_rb,0.39181e-06_rb,0.46499e-06_rb,0.52971e-06_rb, & & 0.52262e-06_rb,0.49397e-06_rb,0.54792e-06_rb,0.13605e-06_rb /) kao(:, 5, 6, 3) = (/ & & 0.31065e-07_rb,0.32265e-06_rb,0.43948e-06_rb,0.51712e-06_rb,0.58131e-06_rb, & & 0.57275e-06_rb,0.52154e-06_rb,0.53300e-06_rb,0.15326e-06_rb /) kao(:, 1, 7, 3) = (/ & & 0.15315e-07_rb,0.13867e-06_rb,0.20497e-06_rb,0.25791e-06_rb,0.28251e-06_rb, & & 0.36209e-06_rb,0.48615e-06_rb,0.57617e-06_rb,0.62083e-07_rb /) kao(:, 2, 7, 3) = (/ & & 0.17770e-07_rb,0.16467e-06_rb,0.23430e-06_rb,0.28445e-06_rb,0.31749e-06_rb, & & 0.35373e-06_rb,0.43530e-06_rb,0.51750e-06_rb,0.74598e-07_rb /) kao(:, 3, 7, 3) = (/ & & 0.20071e-07_rb,0.19194e-06_rb,0.26349e-06_rb,0.32575e-06_rb,0.37090e-06_rb, & & 0.37391e-06_rb,0.38838e-06_rb,0.49613e-06_rb,0.88392e-07_rb /) kao(:, 4, 7, 3) = (/ & & 0.22230e-07_rb,0.21953e-06_rb,0.29840e-06_rb,0.35680e-06_rb,0.40841e-06_rb, & & 0.40516e-06_rb,0.40513e-06_rb,0.45518e-06_rb,0.10149e-06_rb /) kao(:, 5, 7, 3) = (/ & & 0.24244e-07_rb,0.24730e-06_rb,0.33583e-06_rb,0.39740e-06_rb,0.45364e-06_rb, & & 0.44496e-06_rb,0.41471e-06_rb,0.45022e-06_rb,0.11554e-06_rb /) kao(:, 1, 8, 3) = (/ & & 0.11318e-07_rb,0.10309e-06_rb,0.15679e-06_rb,0.19765e-06_rb,0.22300e-06_rb, & & 0.30242e-06_rb,0.40824e-06_rb,0.49442e-06_rb,0.44061e-07_rb /) kao(:, 2, 8, 3) = (/ & & 0.13358e-07_rb,0.12273e-06_rb,0.17705e-06_rb,0.22062e-06_rb,0.24115e-06_rb, & & 0.28999e-06_rb,0.39012e-06_rb,0.45451e-06_rb,0.54847e-07_rb /) kao(:, 3, 8, 3) = (/ & & 0.15323e-07_rb,0.14448e-06_rb,0.20316e-06_rb,0.24566e-06_rb,0.27787e-06_rb, & & 0.29655e-06_rb,0.33237e-06_rb,0.41480e-06_rb,0.64157e-07_rb /) kao(:, 4, 8, 3) = (/ & & 0.17158e-07_rb,0.16673e-06_rb,0.22673e-06_rb,0.27760e-06_rb,0.31491e-06_rb, & & 0.31778e-06_rb,0.31818e-06_rb,0.38422e-06_rb,0.75698e-07_rb /) kao(:, 5, 8, 3) = (/ & & 0.18880e-07_rb,0.18905e-06_rb,0.25711e-06_rb,0.30558e-06_rb,0.34820e-06_rb, & & 0.34226e-06_rb,0.32757e-06_rb,0.36903e-06_rb,0.87559e-07_rb /) kao(:, 1, 9, 3) = (/ & & 0.83060e-08_rb,0.76710e-07_rb,0.11565e-06_rb,0.14764e-06_rb,0.17329e-06_rb, & & 0.25783e-06_rb,0.35957e-06_rb,0.41243e-06_rb,0.31797e-07_rb /) kao(:, 2, 9, 3) = (/ & & 0.99651e-08_rb,0.91242e-07_rb,0.13632e-06_rb,0.17065e-06_rb,0.18967e-06_rb, & & 0.24393e-06_rb,0.32914e-06_rb,0.39160e-06_rb,0.39225e-07_rb /) kao(:, 3, 9, 3) = (/ & & 0.11621e-07_rb,0.10845e-06_rb,0.15426e-06_rb,0.18813e-06_rb,0.20803e-06_rb, & & 0.23565e-06_rb,0.29600e-06_rb,0.35083e-06_rb,0.47417e-07_rb /) kao(:, 4, 9, 3) = (/ & & 0.13182e-07_rb,0.12617e-06_rb,0.17363e-06_rb,0.21434e-06_rb,0.24338e-06_rb, & & 0.24767e-06_rb,0.26174e-06_rb,0.33967e-06_rb,0.56851e-07_rb /) kao(:, 5, 9, 3) = (/ & & 0.14647e-07_rb,0.14462e-06_rb,0.19609e-06_rb,0.23554e-06_rb,0.26966e-06_rb, & & 0.27000e-06_rb,0.26860e-06_rb,0.30941e-06_rb,0.65848e-07_rb /) kao(:, 1,10, 3) = (/ & & 0.61513e-08_rb,0.59201e-07_rb,0.89564e-07_rb,0.11096e-06_rb,0.13963e-06_rb, & & 0.22868e-06_rb,0.30519e-06_rb,0.34949e-06_rb,0.23910e-07_rb /) kao(:, 2,10, 3) = (/ & & 0.74969e-08_rb,0.68921e-07_rb,0.10513e-06_rb,0.13256e-06_rb,0.14959e-06_rb, & & 0.20339e-06_rb,0.27500e-06_rb,0.33281e-06_rb,0.28611e-07_rb /) kao(:, 3,10, 3) = (/ & & 0.88625e-08_rb,0.82016e-07_rb,0.11818e-06_rb,0.14725e-06_rb,0.16097e-06_rb, & & 0.19608e-06_rb,0.26185e-06_rb,0.30530e-06_rb,0.35935e-07_rb /) kao(:, 4,10, 3) = (/ & & 0.10184e-07_rb,0.96432e-07_rb,0.13542e-06_rb,0.16348e-06_rb,0.18477e-06_rb, & & 0.19886e-06_rb,0.22449e-06_rb,0.27787e-06_rb,0.42133e-07_rb /) kao(:, 5,10, 3) = (/ & & 0.11421e-07_rb,0.11117e-06_rb,0.15107e-06_rb,0.18528e-06_rb,0.21005e-06_rb, & & 0.21209e-06_rb,0.21257e-06_rb,0.25796e-06_rb,0.49988e-07_rb /) kao(:, 1,11, 3) = (/ & & 0.50310e-08_rb,0.48563e-07_rb,0.73473e-07_rb,0.91094e-07_rb,0.11455e-06_rb, & & 0.18734e-06_rb,0.24995e-06_rb,0.28620e-06_rb,0.19440e-07_rb /) kao(:, 2,11, 3) = (/ & & 0.61304e-08_rb,0.56532e-07_rb,0.86340e-07_rb,0.10878e-06_rb,0.12244e-06_rb, & & 0.16646e-06_rb,0.22541e-06_rb,0.27316e-06_rb,0.23338e-07_rb /) kao(:, 3,11, 3) = (/ & & 0.72491e-08_rb,0.67226e-07_rb,0.96798e-07_rb,0.12061e-06_rb,0.13181e-06_rb, & & 0.16043e-06_rb,0.21436e-06_rb,0.24928e-06_rb,0.29352e-07_rb /) kao(:, 4,11, 3) = (/ & & 0.83326e-08_rb,0.78998e-07_rb,0.11085e-06_rb,0.13391e-06_rb,0.15135e-06_rb, & & 0.16281e-06_rb,0.18360e-06_rb,0.22741e-06_rb,0.34425e-07_rb /) kao(:, 5,11, 3) = (/ & & 0.93458e-08_rb,0.91055e-07_rb,0.12364e-06_rb,0.15181e-06_rb,0.17196e-06_rb, & & 0.17367e-06_rb,0.17400e-06_rb,0.21108e-06_rb,0.40855e-07_rb /) kao(:, 1,12, 3) = (/ & & 0.41189e-08_rb,0.39856e-07_rb,0.60140e-07_rb,0.74963e-07_rb,0.94012e-07_rb, & & 0.15333e-06_rb,0.20441e-06_rb,0.23474e-06_rb,0.15853e-07_rb /) kao(:, 2,12, 3) = (/ & & 0.50193e-08_rb,0.46348e-07_rb,0.70855e-07_rb,0.89301e-07_rb,0.10040e-06_rb, & & 0.13626e-06_rb,0.18429e-06_rb,0.22399e-06_rb,0.19078e-07_rb /) kao(:, 3,12, 3) = (/ & & 0.59344e-08_rb,0.55100e-07_rb,0.79255e-07_rb,0.98783e-07_rb,0.10799e-06_rb, & & 0.13125e-06_rb,0.17544e-06_rb,0.20357e-06_rb,0.24013e-07_rb /) kao(:, 4,12, 3) = (/ & & 0.68228e-08_rb,0.64743e-07_rb,0.90843e-07_rb,0.10971e-06_rb,0.12396e-06_rb, & & 0.13321e-06_rb,0.15026e-06_rb,0.18611e-06_rb,0.28198e-07_rb /) kao(:, 5,12, 3) = (/ & & 0.76512e-08_rb,0.74591e-07_rb,0.10123e-06_rb,0.12433e-06_rb,0.14085e-06_rb, & & 0.14222e-06_rb,0.14246e-06_rb,0.17276e-06_rb,0.33441e-07_rb /) kao(:, 1,13, 3) = (/ & & 0.33724e-08_rb,0.32680e-07_rb,0.49222e-07_rb,0.61513e-07_rb,0.77133e-07_rb, & & 0.12555e-06_rb,0.16713e-06_rb,0.19233e-06_rb,0.12966e-07_rb /) kao(:, 2,13, 3) = (/ & & 0.41100e-08_rb,0.37987e-07_rb,0.58121e-07_rb,0.73233e-07_rb,0.82218e-07_rb, & & 0.11156e-06_rb,0.15077e-06_rb,0.18269e-06_rb,0.15614e-07_rb /) kao(:, 3,13, 3) = (/ & & 0.48589e-08_rb,0.45157e-07_rb,0.64912e-07_rb,0.80902e-07_rb,0.88466e-07_rb, & & 0.10747e-06_rb,0.14360e-06_rb,0.16616e-06_rb,0.19653e-07_rb /) kao(:, 4,13, 3) = (/ & & 0.55845e-08_rb,0.53032e-07_rb,0.74357e-07_rb,0.89835e-07_rb,0.10150e-06_rb, & & 0.10902e-06_rb,0.12309e-06_rb,0.15231e-06_rb,0.23083e-07_rb /) kao(:, 5,13, 3) = (/ & & 0.62642e-08_rb,0.61086e-07_rb,0.82886e-07_rb,0.10172e-06_rb,0.11529e-06_rb, & & 0.11645e-06_rb,0.11667e-06_rb,0.14140e-06_rb,0.27368e-07_rb /) kao(:, 1, 1, 4) = (/ & & 0.38523e-06_rb,0.18405e-05_rb,0.24561e-05_rb,0.26688e-05_rb,0.26627e-05_rb, & & 0.26678e-05_rb,0.26221e-05_rb,0.23434e-05_rb,0.10243e-05_rb /) kao(:, 2, 1, 4) = (/ & & 0.41258e-06_rb,0.20340e-05_rb,0.26799e-05_rb,0.29289e-05_rb,0.29138e-05_rb, & & 0.29293e-05_rb,0.29106e-05_rb,0.25138e-05_rb,0.11179e-05_rb /) kao(:, 3, 1, 4) = (/ & & 0.43826e-06_rb,0.22391e-05_rb,0.29055e-05_rb,0.31733e-05_rb,0.31848e-05_rb, & & 0.32210e-05_rb,0.31726e-05_rb,0.29277e-05_rb,0.13122e-05_rb /) kao(:, 4, 1, 4) = (/ & & 0.46214e-06_rb,0.24098e-05_rb,0.30735e-05_rb,0.33543e-05_rb,0.34157e-05_rb, & & 0.34436e-05_rb,0.34008e-05_rb,0.32157e-05_rb,0.14111e-05_rb /) kao(:, 5, 1, 4) = (/ & & 0.48360e-06_rb,0.25684e-05_rb,0.32470e-05_rb,0.35527e-05_rb,0.36650e-05_rb, & & 0.37054e-05_rb,0.36463e-05_rb,0.35130e-05_rb,0.16128e-05_rb /) kao(:, 1, 2, 4) = (/ & & 0.30632e-06_rb,0.14811e-05_rb,0.19813e-05_rb,0.21525e-05_rb,0.21480e-05_rb, & & 0.21651e-05_rb,0.21352e-05_rb,0.19097e-05_rb,0.76078e-06_rb /) kao(:, 2, 2, 4) = (/ & & 0.32924e-06_rb,0.16454e-05_rb,0.21736e-05_rb,0.23701e-05_rb,0.23496e-05_rb, & & 0.23721e-05_rb,0.23664e-05_rb,0.20501e-05_rb,0.85884e-06_rb /) kao(:, 3, 2, 4) = (/ & & 0.35084e-06_rb,0.18164e-05_rb,0.23625e-05_rb,0.25754e-05_rb,0.25799e-05_rb, & & 0.26089e-05_rb,0.25758e-05_rb,0.23569e-05_rb,0.98156e-06_rb /) kao(:, 4, 2, 4) = (/ & & 0.37092e-06_rb,0.19724e-05_rb,0.25182e-05_rb,0.27461e-05_rb,0.27987e-05_rb, & & 0.28122e-05_rb,0.27766e-05_rb,0.26535e-05_rb,0.11297e-05_rb /) kao(:, 5, 2, 4) = (/ & & 0.38936e-06_rb,0.20952e-05_rb,0.26519e-05_rb,0.29005e-05_rb,0.29889e-05_rb, & & 0.30120e-05_rb,0.29564e-05_rb,0.28641e-05_rb,0.12488e-05_rb /) kao(:, 1, 3, 4) = (/ & & 0.23924e-06_rb,0.11590e-05_rb,0.15536e-05_rb,0.16834e-05_rb,0.16891e-05_rb, & & 0.17668e-05_rb,0.16904e-05_rb,0.15951e-05_rb,0.52632e-06_rb /) kao(:, 2, 3, 4) = (/ & & 0.25864e-06_rb,0.12971e-05_rb,0.17221e-05_rb,0.18731e-05_rb,0.18563e-05_rb, & & 0.18804e-05_rb,0.18628e-05_rb,0.16576e-05_rb,0.62738e-06_rb /) kao(:, 3, 3, 4) = (/ & & 0.27696e-06_rb,0.14325e-05_rb,0.18710e-05_rb,0.20345e-05_rb,0.20276e-05_rb, & & 0.20548e-05_rb,0.20259e-05_rb,0.17837e-05_rb,0.70461e-06_rb /) kao(:, 4, 3, 4) = (/ & & 0.29413e-06_rb,0.15757e-05_rb,0.20191e-05_rb,0.22050e-05_rb,0.22319e-05_rb, & & 0.22354e-05_rb,0.22195e-05_rb,0.20885e-05_rb,0.84521e-06_rb /) kao(:, 5, 3, 4) = (/ & & 0.31013e-06_rb,0.16829e-05_rb,0.21333e-05_rb,0.23274e-05_rb,0.23871e-05_rb, & & 0.23939e-05_rb,0.23475e-05_rb,0.22805e-05_rb,0.93762e-06_rb /) kao(:, 1, 4, 4) = (/ & & 0.18537e-06_rb,0.89469e-06_rb,0.11953e-05_rb,0.13099e-05_rb,0.13271e-05_rb, & & 0.13910e-05_rb,0.13233e-05_rb,0.12842e-05_rb,0.37595e-06_rb /) kao(:, 2, 4, 4) = (/ & & 0.20178e-06_rb,0.10096e-05_rb,0.13476e-05_rb,0.14636e-05_rb,0.14567e-05_rb, & & 0.14730e-05_rb,0.14642e-05_rb,0.13131e-05_rb,0.45273e-06_rb /) kao(:, 3, 4, 4) = (/ & & 0.21732e-06_rb,0.11251e-05_rb,0.14779e-05_rb,0.16107e-05_rb,0.15945e-05_rb, & & 0.16194e-05_rb,0.16016e-05_rb,0.14026e-05_rb,0.52023e-06_rb /) kao(:, 4, 4, 4) = (/ & & 0.23198e-06_rb,0.12348e-05_rb,0.15955e-05_rb,0.17391e-05_rb,0.17432e-05_rb, & & 0.17515e-05_rb,0.17226e-05_rb,0.15707e-05_rb,0.60921e-06_rb /) kao(:, 5, 4, 4) = (/ & & 0.24566e-06_rb,0.13471e-05_rb,0.17138e-05_rb,0.18677e-05_rb,0.19071e-05_rb, & & 0.19021e-05_rb,0.18647e-05_rb,0.18054e-05_rb,0.72437e-06_rb /) kao(:, 1, 5, 4) = (/ & & 0.14315e-06_rb,0.68654e-06_rb,0.91703e-06_rb,0.10136e-05_rb,0.10640e-05_rb, & & 0.10899e-05_rb,0.10066e-05_rb,0.10387e-05_rb,0.27115e-06_rb /) kao(:, 2, 5, 4) = (/ & & 0.15693e-06_rb,0.78124e-06_rb,0.10460e-05_rb,0.11319e-05_rb,0.11350e-05_rb, & & 0.11836e-05_rb,0.11463e-05_rb,0.10954e-05_rb,0.33462e-06_rb /) kao(:, 3, 5, 4) = (/ & & 0.17013e-06_rb,0.87619e-06_rb,0.11607e-05_rb,0.12633e-05_rb,0.12502e-05_rb, & & 0.12683e-05_rb,0.12476e-05_rb,0.11184e-05_rb,0.38421e-06_rb /) kao(:, 4, 5, 4) = (/ & & 0.18255e-06_rb,0.96990e-06_rb,0.12617e-05_rb,0.13726e-05_rb,0.13641e-05_rb, & & 0.13787e-05_rb,0.13521e-05_rb,0.11952e-05_rb,0.45446e-06_rb /) kao(:, 5, 5, 4) = (/ & & 0.19427e-06_rb,0.10668e-05_rb,0.13642e-05_rb,0.14869e-05_rb,0.15021e-05_rb, & & 0.14945e-05_rb,0.14801e-05_rb,0.13920e-05_rb,0.54371e-06_rb /) kao(:, 1, 6, 4) = (/ & & 0.10978e-06_rb,0.52395e-06_rb,0.69476e-06_rb,0.76850e-06_rb,0.83675e-06_rb, & & 0.86491e-06_rb,0.77625e-06_rb,0.85871e-06_rb,0.19533e-06_rb /) kao(:, 2, 6, 4) = (/ & & 0.12132e-06_rb,0.59825e-06_rb,0.79672e-06_rb,0.87685e-06_rb,0.88945e-06_rb, & & 0.93176e-06_rb,0.88241e-06_rb,0.87959e-06_rb,0.24185e-06_rb /) kao(:, 3, 6, 4) = (/ & & 0.13245e-06_rb,0.67730e-06_rb,0.90458e-06_rb,0.97978e-06_rb,0.97457e-06_rb, & & 0.98659e-06_rb,0.98199e-06_rb,0.88654e-06_rb,0.28188e-06_rb /) kao(:, 4, 6, 4) = (/ & & 0.14304e-06_rb,0.75520e-06_rb,0.99285e-06_rb,0.10803e-05_rb,0.10647e-05_rb, & & 0.10764e-05_rb,0.10623e-05_rb,0.93315e-06_rb,0.33738e-06_rb /) kao(:, 5, 6, 4) = (/ & & 0.15298e-06_rb,0.83133e-06_rb,0.10714e-05_rb,0.11654e-05_rb,0.11612e-05_rb, & & 0.11628e-05_rb,0.11409e-05_rb,0.10211e-05_rb,0.39343e-06_rb /) kao(:, 1, 7, 4) = (/ & & 0.83795e-07_rb,0.39583e-06_rb,0.52221e-06_rb,0.57623e-06_rb,0.66801e-06_rb, & & 0.68350e-06_rb,0.61427e-06_rb,0.74508e-06_rb,0.14027e-06_rb /) kao(:, 2, 7, 4) = (/ & & 0.93456e-07_rb,0.45651e-06_rb,0.60707e-06_rb,0.67267e-06_rb,0.70886e-06_rb, & & 0.72875e-06_rb,0.66655e-06_rb,0.70837e-06_rb,0.17333e-06_rb /) kao(:, 3, 7, 4) = (/ & & 0.10278e-06_rb,0.52065e-06_rb,0.69548e-06_rb,0.75346e-06_rb,0.75243e-06_rb, & & 0.79752e-06_rb,0.76130e-06_rb,0.73768e-06_rb,0.20746e-06_rb /) kao(:, 4, 7, 4) = (/ & & 0.11172e-06_rb,0.58539e-06_rb,0.77614e-06_rb,0.84147e-06_rb,0.82956e-06_rb, & & 0.83892e-06_rb,0.81830e-06_rb,0.74649e-06_rb,0.24711e-06_rb /) kao(:, 5, 7, 4) = (/ & & 0.12020e-06_rb,0.64890e-06_rb,0.84430e-06_rb,0.91375e-06_rb,0.90365e-06_rb, & & 0.91211e-06_rb,0.89073e-06_rb,0.78796e-06_rb,0.29290e-06_rb /) kao(:, 1, 8, 4) = (/ & & 0.63771e-07_rb,0.29724e-06_rb,0.38901e-06_rb,0.42952e-06_rb,0.53569e-06_rb, & & 0.52739e-06_rb,0.51421e-06_rb,0.65416e-06_rb,0.10106e-06_rb /) kao(:, 2, 8, 4) = (/ & & 0.71835e-07_rb,0.34855e-06_rb,0.45895e-06_rb,0.50927e-06_rb,0.55878e-06_rb, & & 0.57413e-06_rb,0.51386e-06_rb,0.58703e-06_rb,0.12396e-06_rb /) kao(:, 3, 8, 4) = (/ & & 0.79626e-07_rb,0.39836e-06_rb,0.52930e-06_rb,0.58238e-06_rb,0.59321e-06_rb, & & 0.61917e-06_rb,0.58275e-06_rb,0.59574e-06_rb,0.15556e-06_rb /) kao(:, 4, 8, 4) = (/ & & 0.87141e-07_rb,0.45236e-06_rb,0.60287e-06_rb,0.64978e-06_rb,0.64621e-06_rb, & & 0.65548e-06_rb,0.65037e-06_rb,0.59243e-06_rb,0.18170e-06_rb /) kao(:, 5, 8, 4) = (/ & & 0.94308e-07_rb,0.50478e-06_rb,0.66216e-06_rb,0.71791e-06_rb,0.70542e-06_rb, & & 0.71265e-06_rb,0.70440e-06_rb,0.61750e-06_rb,0.21806e-06_rb /) kao(:, 1, 9, 4) = (/ & & 0.48334e-07_rb,0.22150e-06_rb,0.29066e-06_rb,0.32650e-06_rb,0.41774e-06_rb, & & 0.40737e-06_rb,0.44502e-06_rb,0.56524e-06_rb,0.72879e-07_rb /) kao(:, 2, 9, 4) = (/ & & 0.54994e-07_rb,0.26340e-06_rb,0.34441e-06_rb,0.38160e-06_rb,0.44410e-06_rb, & & 0.45746e-06_rb,0.41390e-06_rb,0.50482e-06_rb,0.89924e-07_rb /) kao(:, 3, 9, 4) = (/ & & 0.61501e-07_rb,0.30416e-06_rb,0.40299e-06_rb,0.44693e-06_rb,0.47253e-06_rb, & & 0.48623e-06_rb,0.44624e-06_rb,0.47646e-06_rb,0.11220e-06_rb /) kao(:, 4, 9, 4) = (/ & & 0.67792e-07_rb,0.34758e-06_rb,0.46191e-06_rb,0.50102e-06_rb,0.50055e-06_rb, & & 0.52975e-06_rb,0.50335e-06_rb,0.48665e-06_rb,0.13456e-06_rb /) kao(:, 5, 9, 4) = (/ & & 0.73830e-07_rb,0.39095e-06_rb,0.51738e-06_rb,0.55894e-06_rb,0.55048e-06_rb, & & 0.55492e-06_rb,0.54317e-06_rb,0.49144e-06_rb,0.16088e-06_rb /) kao(:, 1,10, 4) = (/ & & 0.36931e-07_rb,0.16614e-06_rb,0.21895e-06_rb,0.26116e-06_rb,0.33023e-06_rb, & & 0.31438e-06_rb,0.35810e-06_rb,0.46819e-06_rb,0.53649e-07_rb /) kao(:, 2,10, 4) = (/ & & 0.42386e-07_rb,0.20028e-06_rb,0.26120e-06_rb,0.28858e-06_rb,0.36090e-06_rb, & & 0.35506e-06_rb,0.34639e-06_rb,0.43640e-06_rb,0.66551e-07_rb /) kao(:, 3,10, 4) = (/ & & 0.47801e-07_rb,0.23474e-06_rb,0.30842e-06_rb,0.34242e-06_rb,0.37552e-06_rb, & & 0.38348e-06_rb,0.34637e-06_rb,0.39519e-06_rb,0.81897e-07_rb /) kao(:, 4,10, 4) = (/ & & 0.53030e-07_rb,0.26856e-06_rb,0.35532e-06_rb,0.39019e-06_rb,0.39727e-06_rb, & & 0.41391e-06_rb,0.38815e-06_rb,0.39845e-06_rb,0.10316e-06_rb /) kao(:, 5,10, 4) = (/ & & 0.58073e-07_rb,0.30468e-06_rb,0.40415e-06_rb,0.43508e-06_rb,0.43212e-06_rb, & & 0.43860e-06_rb,0.43462e-06_rb,0.39513e-06_rb,0.12065e-06_rb /) kao(:, 1,11, 4) = (/ & & 0.30210e-07_rb,0.13672e-06_rb,0.18028e-06_rb,0.21388e-06_rb,0.27067e-06_rb, & & 0.25748e-06_rb,0.29347e-06_rb,0.38486e-06_rb,0.43992e-07_rb /) kao(:, 2,11, 4) = (/ & & 0.34676e-07_rb,0.16480e-06_rb,0.21447e-06_rb,0.23703e-06_rb,0.29658e-06_rb, & & 0.29189e-06_rb,0.28346e-06_rb,0.35425e-06_rb,0.54558e-07_rb /) kao(:, 3,11, 4) = (/ & & 0.39112e-07_rb,0.19301e-06_rb,0.25343e-06_rb,0.28112e-06_rb,0.30767e-06_rb, & & 0.31424e-06_rb,0.28354e-06_rb,0.32323e-06_rb,0.67060e-07_rb /) kao(:, 4,11, 4) = (/ & & 0.43392e-07_rb,0.22069e-06_rb,0.29158e-06_rb,0.31987e-06_rb,0.32514e-06_rb, & & 0.33920e-06_rb,0.31782e-06_rb,0.32572e-06_rb,0.84444e-07_rb /) kao(:, 5,11, 4) = (/ & & 0.47520e-07_rb,0.25011e-06_rb,0.33134e-06_rb,0.35641e-06_rb,0.35390e-06_rb, & & 0.35921e-06_rb,0.35594e-06_rb,0.32298e-06_rb,0.98845e-07_rb /) kao(:, 1,12, 4) = (/ & & 0.24733e-07_rb,0.11230e-06_rb,0.14856e-06_rb,0.17472e-06_rb,0.22197e-06_rb, & & 0.21118e-06_rb,0.24122e-06_rb,0.31477e-06_rb,0.36119e-07_rb /) kao(:, 2,12, 4) = (/ & & 0.28389e-07_rb,0.13551e-06_rb,0.17612e-06_rb,0.19468e-06_rb,0.24363e-06_rb, & & 0.23963e-06_rb,0.23290e-06_rb,0.28830e-06_rb,0.44709e-07_rb /) kao(:, 3,12, 4) = (/ & & 0.32017e-07_rb,0.15859e-06_rb,0.20791e-06_rb,0.23074e-06_rb,0.25230e-06_rb, & & 0.25771e-06_rb,0.23238e-06_rb,0.26334e-06_rb,0.54941e-07_rb /) kao(:, 4,12, 4) = (/ & & 0.35526e-07_rb,0.18123e-06_rb,0.23912e-06_rb,0.26228e-06_rb,0.26637e-06_rb, & & 0.27804e-06_rb,0.26039e-06_rb,0.26652e-06_rb,0.69162e-07_rb /) kao(:, 5,12, 4) = (/ & & 0.38912e-07_rb,0.20524e-06_rb,0.27165e-06_rb,0.29207e-06_rb,0.28991e-06_rb, & & 0.29419e-06_rb,0.29154e-06_rb,0.26412e-06_rb,0.80995e-07_rb /) kao(:, 1,13, 4) = (/ & & 0.20250e-07_rb,0.92231e-07_rb,0.12203e-06_rb,0.14275e-06_rb,0.18179e-06_rb, & & 0.17279e-06_rb,0.19796e-06_rb,0.25817e-06_rb,0.29574e-07_rb /) kao(:, 2,13, 4) = (/ & & 0.23243e-07_rb,0.11133e-06_rb,0.14442e-06_rb,0.15980e-06_rb,0.20001e-06_rb, & & 0.19638e-06_rb,0.19075e-06_rb,0.23541e-06_rb,0.36618e-07_rb /) kao(:, 3,13, 4) = (/ & & 0.26215e-07_rb,0.13018e-06_rb,0.17053e-06_rb,0.18925e-06_rb,0.20654e-06_rb, & & 0.21104e-06_rb,0.19040e-06_rb,0.21495e-06_rb,0.44987e-07_rb /) kao(:, 4,13, 4) = (/ & & 0.29082e-07_rb,0.14865e-06_rb,0.19601e-06_rb,0.21490e-06_rb,0.21820e-06_rb, & & 0.22779e-06_rb,0.21313e-06_rb,0.21809e-06_rb,0.56635e-07_rb /) kao(:, 5,13, 4) = (/ & & 0.31856e-07_rb,0.16826e-06_rb,0.22260e-06_rb,0.23930e-06_rb,0.23753e-06_rb, & & 0.24098e-06_rb,0.23875e-06_rb,0.21605e-06_rb,0.66316e-07_rb /) kao(:, 1, 1, 5) = (/ & & 0.17059e-05_rb,0.38862e-05_rb,0.46330e-05_rb,0.51258e-05_rb,0.53516e-05_rb, & & 0.52890e-05_rb,0.49050e-05_rb,0.49561e-05_rb,0.24914e-05_rb /) kao(:, 2, 1, 5) = (/ & & 0.17702e-05_rb,0.41613e-05_rb,0.49979e-05_rb,0.55352e-05_rb,0.58535e-05_rb, & & 0.58620e-05_rb,0.55540e-05_rb,0.53944e-05_rb,0.30111e-05_rb /) kao(:, 3, 1, 5) = (/ & & 0.18268e-05_rb,0.44218e-05_rb,0.53631e-05_rb,0.59894e-05_rb,0.63892e-05_rb, & & 0.64888e-05_rb,0.63488e-05_rb,0.59957e-05_rb,0.35253e-05_rb /) kao(:, 4, 1, 5) = (/ & & 0.18763e-05_rb,0.46467e-05_rb,0.56969e-05_rb,0.64112e-05_rb,0.68701e-05_rb, & & 0.70687e-05_rb,0.69575e-05_rb,0.65330e-05_rb,0.40117e-05_rb /) kao(:, 5, 1, 5) = (/ & & 0.19168e-05_rb,0.48702e-05_rb,0.60413e-05_rb,0.68595e-05_rb,0.73828e-05_rb, & & 0.76555e-05_rb,0.76620e-05_rb,0.72236e-05_rb,0.44814e-05_rb /) kao(:, 1, 2, 5) = (/ & & 0.13807e-05_rb,0.32052e-05_rb,0.37981e-05_rb,0.41868e-05_rb,0.43666e-05_rb, & & 0.42966e-05_rb,0.39397e-05_rb,0.40523e-05_rb,0.19972e-05_rb /) kao(:, 2, 2, 5) = (/ & & 0.14355e-05_rb,0.34375e-05_rb,0.40968e-05_rb,0.45345e-05_rb,0.47869e-05_rb, & & 0.47900e-05_rb,0.45121e-05_rb,0.44176e-05_rb,0.23759e-05_rb /) kao(:, 3, 2, 5) = (/ & & 0.14839e-05_rb,0.36628e-05_rb,0.44128e-05_rb,0.49223e-05_rb,0.52399e-05_rb, & & 0.53302e-05_rb,0.51982e-05_rb,0.49130e-05_rb,0.28052e-05_rb /) kao(:, 4, 2, 5) = (/ & & 0.15261e-05_rb,0.38551e-05_rb,0.47116e-05_rb,0.52947e-05_rb,0.56758e-05_rb, & & 0.58601e-05_rb,0.57606e-05_rb,0.54224e-05_rb,0.31665e-05_rb /) kao(:, 5, 2, 5) = (/ & & 0.15621e-05_rb,0.40345e-05_rb,0.49797e-05_rb,0.56344e-05_rb,0.60672e-05_rb, & & 0.63079e-05_rb,0.63076e-05_rb,0.59671e-05_rb,0.35368e-05_rb /) kao(:, 1, 3, 5) = (/ & & 0.11048e-05_rb,0.25908e-05_rb,0.30458e-05_rb,0.33480e-05_rb,0.34767e-05_rb, & & 0.33444e-05_rb,0.30982e-05_rb,0.31520e-05_rb,0.14943e-05_rb /) kao(:, 2, 3, 5) = (/ & & 0.11526e-05_rb,0.27857e-05_rb,0.32915e-05_rb,0.36364e-05_rb,0.38272e-05_rb, & & 0.38169e-05_rb,0.35492e-05_rb,0.35141e-05_rb,0.17575e-05_rb /) kao(:, 3, 3, 5) = (/ & & 0.11948e-05_rb,0.29688e-05_rb,0.35427e-05_rb,0.39401e-05_rb,0.41747e-05_rb, & & 0.42239e-05_rb,0.40766e-05_rb,0.39111e-05_rb,0.20688e-05_rb /) kao(:, 4, 3, 5) = (/ & & 0.12319e-05_rb,0.31426e-05_rb,0.38135e-05_rb,0.42625e-05_rb,0.45635e-05_rb, & & 0.47062e-05_rb,0.46027e-05_rb,0.43389e-05_rb,0.23873e-05_rb /) kao(:, 5, 3, 5) = (/ & & 0.12642e-05_rb,0.32923e-05_rb,0.40402e-05_rb,0.45497e-05_rb,0.48934e-05_rb, & & 0.50814e-05_rb,0.50577e-05_rb,0.47614e-05_rb,0.26860e-05_rb /) kao(:, 1, 4, 5) = (/ & & 0.87810e-06_rb,0.20726e-05_rb,0.24188e-05_rb,0.26498e-05_rb,0.27201e-05_rb, & & 0.25966e-05_rb,0.24215e-05_rb,0.25596e-05_rb,0.10910e-05_rb /) kao(:, 2, 4, 5) = (/ & & 0.92113e-06_rb,0.22378e-05_rb,0.26243e-05_rb,0.28859e-05_rb,0.30228e-05_rb, & & 0.29855e-05_rb,0.27257e-05_rb,0.28497e-05_rb,0.12952e-05_rb /) kao(:, 3, 4, 5) = (/ & & 0.95847e-06_rb,0.23927e-05_rb,0.28323e-05_rb,0.31308e-05_rb,0.33238e-05_rb, & & 0.33287e-05_rb,0.31597e-05_rb,0.31032e-05_rb,0.15368e-05_rb /) kao(:, 4, 4, 5) = (/ & & 0.99115e-06_rb,0.25350e-05_rb,0.30423e-05_rb,0.33883e-05_rb,0.36085e-05_rb, & & 0.36829e-05_rb,0.35850e-05_rb,0.33993e-05_rb,0.17502e-05_rb /) kao(:, 5, 4, 5) = (/ & & 0.10199e-05_rb,0.26768e-05_rb,0.32656e-05_rb,0.36641e-05_rb,0.39303e-05_rb, & & 0.40820e-05_rb,0.40444e-05_rb,0.38038e-05_rb,0.20588e-05_rb /) kao(:, 1, 5, 5) = (/ & & 0.69521e-06_rb,0.16480e-05_rb,0.19136e-05_rb,0.20758e-05_rb,0.21053e-05_rb, & & 0.19983e-05_rb,0.19384e-05_rb,0.21119e-05_rb,0.79759e-06_rb /) kao(:, 2, 5, 5) = (/ & & 0.73399e-06_rb,0.17885e-05_rb,0.20863e-05_rb,0.22802e-05_rb,0.23681e-05_rb, & & 0.23078e-05_rb,0.21093e-05_rb,0.21684e-05_rb,0.95048e-06_rb /) kao(:, 3, 5, 5) = (/ & & 0.76704e-06_rb,0.19210e-05_rb,0.22551e-05_rb,0.24823e-05_rb,0.26201e-05_rb, & & 0.26181e-05_rb,0.24369e-05_rb,0.24387e-05_rb,0.11396e-05_rb /) kao(:, 4, 5, 5) = (/ & & 0.79598e-06_rb,0.20422e-05_rb,0.24305e-05_rb,0.26936e-05_rb,0.28610e-05_rb, & & 0.28938e-05_rb,0.28032e-05_rb,0.26848e-05_rb,0.13054e-05_rb /) kao(:, 5, 5, 5) = (/ & & 0.82146e-06_rb,0.21630e-05_rb,0.26149e-05_rb,0.29202e-05_rb,0.31281e-05_rb, & & 0.32364e-05_rb,0.31639e-05_rb,0.29903e-05_rb,0.15503e-05_rb /) kao(:, 1, 6, 5) = (/ & & 0.54790e-06_rb,0.12968e-05_rb,0.14998e-05_rb,0.16199e-05_rb,0.16168e-05_rb, & & 0.15151e-05_rb,0.14932e-05_rb,0.16380e-05_rb,0.58437e-06_rb /) kao(:, 2, 6, 5) = (/ & & 0.58180e-06_rb,0.14204e-05_rb,0.16474e-05_rb,0.17877e-05_rb,0.18382e-05_rb, & & 0.17645e-05_rb,0.16359e-05_rb,0.17414e-05_rb,0.70191e-06_rb /) kao(:, 3, 6, 5) = (/ & & 0.61169e-06_rb,0.15332e-05_rb,0.17837e-05_rb,0.19554e-05_rb,0.20462e-05_rb, & & 0.20343e-05_rb,0.18483e-05_rb,0.19670e-05_rb,0.83824e-06_rb /) kao(:, 4, 6, 5) = (/ & & 0.63729e-06_rb,0.16375e-05_rb,0.19280e-05_rb,0.21247e-05_rb,0.22559e-05_rb, & & 0.22588e-05_rb,0.21468e-05_rb,0.21190e-05_rb,0.96829e-06_rb /) kao(:, 5, 6, 5) = (/ & & 0.65987e-06_rb,0.17326e-05_rb,0.20710e-05_rb,0.23017e-05_rb,0.24525e-05_rb, & & 0.25042e-05_rb,0.24377e-05_rb,0.23029e-05_rb,0.11330e-05_rb /) kao(:, 1, 7, 5) = (/ & & 0.43067e-06_rb,0.10147e-05_rb,0.11663e-05_rb,0.12622e-05_rb,0.12316e-05_rb, & & 0.11186e-05_rb,0.12227e-05_rb,0.12153e-05_rb,0.41960e-06_rb /) kao(:, 2, 7, 5) = (/ & & 0.45965e-06_rb,0.11216e-05_rb,0.12929e-05_rb,0.13935e-05_rb,0.14129e-05_rb, & & 0.13426e-05_rb,0.12944e-05_rb,0.14463e-05_rb,0.51416e-06_rb /) kao(:, 3, 7, 5) = (/ & & 0.48636e-06_rb,0.12186e-05_rb,0.14109e-05_rb,0.15331e-05_rb,0.15936e-05_rb, & & 0.15473e-05_rb,0.14164e-05_rb,0.14707e-05_rb,0.61314e-06_rb /) kao(:, 4, 7, 5) = (/ & & 0.50928e-06_rb,0.13071e-05_rb,0.15237e-05_rb,0.16740e-05_rb,0.17644e-05_rb, & & 0.17562e-05_rb,0.16373e-05_rb,0.16431e-05_rb,0.72862e-06_rb /) kao(:, 5, 7, 5) = (/ & & 0.52919e-06_rb,0.13890e-05_rb,0.16443e-05_rb,0.18186e-05_rb,0.19296e-05_rb, & & 0.19451e-05_rb,0.18786e-05_rb,0.17942e-05_rb,0.84235e-06_rb /) kao(:, 1, 8, 5) = (/ & & 0.33792e-06_rb,0.78856e-06_rb,0.90464e-06_rb,0.98317e-06_rb,0.92848e-06_rb, & & 0.86387e-06_rb,0.95438e-06_rb,0.90887e-06_rb,0.29529e-06_rb /) kao(:, 2, 8, 5) = (/ & & 0.36263e-06_rb,0.88071e-06_rb,0.10121e-05_rb,0.10878e-05_rb,0.10817e-05_rb, & & 0.10133e-05_rb,0.10031e-05_rb,0.11161e-05_rb,0.37413e-06_rb /) kao(:, 3, 8, 5) = (/ & & 0.38563e-06_rb,0.96560e-06_rb,0.11116e-05_rb,0.12011e-05_rb,0.12324e-05_rb, & & 0.11848e-05_rb,0.10927e-05_rb,0.11776e-05_rb,0.44987e-06_rb /) kao(:, 4, 8, 5) = (/ & & 0.40622e-06_rb,0.10407e-05_rb,0.12047e-05_rb,0.13138e-05_rb,0.13745e-05_rb, & & 0.13598e-05_rb,0.12356e-05_rb,0.13203e-05_rb,0.54288e-06_rb /) kao(:, 5, 8, 5) = (/ & & 0.42386e-06_rb,0.11111e-05_rb,0.13019e-05_rb,0.14302e-05_rb,0.15146e-05_rb, & & 0.15112e-05_rb,0.14255e-05_rb,0.14090e-05_rb,0.62729e-06_rb /) kao(:, 1, 9, 5) = (/ & & 0.26432e-06_rb,0.60726e-06_rb,0.70036e-06_rb,0.76229e-06_rb,0.71577e-06_rb, & & 0.69749e-06_rb,0.70164e-06_rb,0.72668e-06_rb,0.20659e-06_rb /) kao(:, 2, 9, 5) = (/ & & 0.28549e-06_rb,0.68848e-06_rb,0.78705e-06_rb,0.84862e-06_rb,0.82241e-06_rb, & & 0.74707e-06_rb,0.82519e-06_rb,0.82938e-06_rb,0.27449e-06_rb /) kao(:, 3, 9, 5) = (/ & & 0.30511e-06_rb,0.76168e-06_rb,0.87199e-06_rb,0.93359e-06_rb,0.94531e-06_rb, & & 0.89794e-06_rb,0.85947e-06_rb,0.97111e-06_rb,0.33410e-06_rb /) kao(:, 4, 9, 5) = (/ & & 0.32329e-06_rb,0.82660e-06_rb,0.95163e-06_rb,0.10287e-05_rb,0.10680e-05_rb, & & 0.10381e-05_rb,0.94558e-06_rb,0.98374e-06_rb,0.39896e-06_rb /) kao(:, 5, 9, 5) = (/ & & 0.33897e-06_rb,0.88614e-06_rb,0.10276e-05_rb,0.11239e-05_rb,0.11817e-05_rb, & & 0.11723e-05_rb,0.10892e-05_rb,0.10943e-05_rb,0.47438e-06_rb /) kao(:, 1,10, 5) = (/ & & 0.20748e-06_rb,0.47023e-06_rb,0.54165e-06_rb,0.58159e-06_rb,0.54422e-06_rb, & & 0.55116e-06_rb,0.57712e-06_rb,0.60571e-06_rb,0.14752e-06_rb /) kao(:, 2,10, 5) = (/ & & 0.22561e-06_rb,0.54027e-06_rb,0.61555e-06_rb,0.66550e-06_rb,0.62550e-06_rb, & & 0.58306e-06_rb,0.64781e-06_rb,0.63365e-06_rb,0.19821e-06_rb /) kao(:, 3,10, 5) = (/ & & 0.24219e-06_rb,0.60251e-06_rb,0.68703e-06_rb,0.73412e-06_rb,0.72965e-06_rb, & & 0.68255e-06_rb,0.67291e-06_rb,0.76422e-06_rb,0.24874e-06_rb /) kao(:, 4,10, 5) = (/ & & 0.25766e-06_rb,0.65861e-06_rb,0.75375e-06_rb,0.81214e-06_rb,0.83171e-06_rb, & & 0.80129e-06_rb,0.73385e-06_rb,0.78864e-06_rb,0.29867e-06_rb /) kao(:, 5,10, 5) = (/ & & 0.27157e-06_rb,0.70870e-06_rb,0.81638e-06_rb,0.88593e-06_rb,0.92651e-06_rb, & & 0.91449e-06_rb,0.83048e-06_rb,0.88651e-06_rb,0.36087e-06_rb /) kao(:, 1,11, 5) = (/ & & 0.16984e-06_rb,0.38981e-06_rb,0.44742e-06_rb,0.48022e-06_rb,0.44950e-06_rb, & & 0.45173e-06_rb,0.47333e-06_rb,0.50203e-06_rb,0.12166e-06_rb /) kao(:, 2,11, 5) = (/ & & 0.18466e-06_rb,0.44753e-06_rb,0.50754e-06_rb,0.54744e-06_rb,0.51342e-06_rb, & & 0.47893e-06_rb,0.53296e-06_rb,0.51992e-06_rb,0.16283e-06_rb /) kao(:, 3,11, 5) = (/ & & 0.19826e-06_rb,0.49803e-06_rb,0.56578e-06_rb,0.60333e-06_rb,0.60031e-06_rb, & & 0.56085e-06_rb,0.55152e-06_rb,0.63442e-06_rb,0.20412e-06_rb /) kao(:, 4,11, 5) = (/ & & 0.21087e-06_rb,0.54349e-06_rb,0.62058e-06_rb,0.66722e-06_rb,0.68339e-06_rb, & & 0.65819e-06_rb,0.60140e-06_rb,0.64555e-06_rb,0.24501e-06_rb /) kao(:, 5,11, 5) = (/ & & 0.22228e-06_rb,0.58430e-06_rb,0.67139e-06_rb,0.72733e-06_rb,0.76067e-06_rb, & & 0.75025e-06_rb,0.68133e-06_rb,0.72307e-06_rb,0.29566e-06_rb /) kao(:, 1,12, 5) = (/ & & 0.13908e-06_rb,0.32322e-06_rb,0.36926e-06_rb,0.39668e-06_rb,0.37094e-06_rb, & & 0.37104e-06_rb,0.38736e-06_rb,0.41059e-06_rb,0.10018e-06_rb /) kao(:, 2,12, 5) = (/ & & 0.15119e-06_rb,0.37037e-06_rb,0.41804e-06_rb,0.44988e-06_rb,0.42138e-06_rb, & & 0.39334e-06_rb,0.43800e-06_rb,0.42649e-06_rb,0.13384e-06_rb /) kao(:, 3,12, 5) = (/ & & 0.16232e-06_rb,0.41107e-06_rb,0.46554e-06_rb,0.49568e-06_rb,0.49349e-06_rb, & & 0.46062e-06_rb,0.45205e-06_rb,0.52165e-06_rb,0.16749e-06_rb /) kao(:, 4,12, 5) = (/ & & 0.17268e-06_rb,0.44802e-06_rb,0.51028e-06_rb,0.54757e-06_rb,0.56096e-06_rb, & & 0.54041e-06_rb,0.49303e-06_rb,0.52723e-06_rb,0.20095e-06_rb /) kao(:, 5,12, 5) = (/ & & 0.18199e-06_rb,0.48092e-06_rb,0.55149e-06_rb,0.59694e-06_rb,0.62405e-06_rb, & & 0.61534e-06_rb,0.55851e-06_rb,0.58926e-06_rb,0.24228e-06_rb /) kao(:, 1,13, 5) = (/ & & 0.11387e-06_rb,0.26741e-06_rb,0.30441e-06_rb,0.32687e-06_rb,0.30479e-06_rb, & & 0.30477e-06_rb,0.31768e-06_rb,0.33316e-06_rb,0.82090e-07_rb /) kao(:, 2,13, 5) = (/ & & 0.12381e-06_rb,0.30579e-06_rb,0.34391e-06_rb,0.36935e-06_rb,0.34578e-06_rb, & & 0.32317e-06_rb,0.35995e-06_rb,0.35099e-06_rb,0.10981e-06_rb /) kao(:, 3,13, 5) = (/ & & 0.13290e-06_rb,0.33871e-06_rb,0.38265e-06_rb,0.40672e-06_rb,0.40511e-06_rb, & & 0.37796e-06_rb,0.36986e-06_rb,0.42813e-06_rb,0.13721e-06_rb /) kao(:, 4,13, 5) = (/ & & 0.14135e-06_rb,0.36878e-06_rb,0.41898e-06_rb,0.44916e-06_rb,0.46012e-06_rb, & & 0.44348e-06_rb,0.40383e-06_rb,0.43087e-06_rb,0.16460e-06_rb /) kao(:, 5,13, 5) = (/ & & 0.14898e-06_rb,0.39524e-06_rb,0.45245e-06_rb,0.48939e-06_rb,0.51148e-06_rb, & & 0.50420e-06_rb,0.45753e-06_rb,0.48088e-06_rb,0.19843e-06_rb /) kao(:, 1, 1, 6) = (/ & & 0.49835e-05_rb,0.73512e-05_rb,0.88016e-05_rb,0.97115e-05_rb,0.10342e-04_rb, & & 0.10688e-04_rb,0.10747e-04_rb,0.97587e-05_rb,0.57353e-05_rb /) kao(:, 2, 1, 6) = (/ & & 0.49823e-05_rb,0.77944e-05_rb,0.95403e-05_rb,0.10739e-04_rb,0.11522e-04_rb, & & 0.11974e-04_rb,0.12019e-04_rb,0.11200e-04_rb,0.69362e-05_rb /) kao(:, 3, 1, 6) = (/ & & 0.49638e-05_rb,0.82513e-05_rb,0.10343e-04_rb,0.11836e-04_rb,0.12804e-04_rb, & & 0.13375e-04_rb,0.13427e-04_rb,0.12807e-04_rb,0.83325e-05_rb /) kao(:, 4, 1, 6) = (/ & & 0.49300e-05_rb,0.87230e-05_rb,0.11131e-04_rb,0.12834e-04_rb,0.13980e-04_rb, & & 0.14660e-04_rb,0.14790e-04_rb,0.14186e-04_rb,0.94893e-05_rb /) kao(:, 5, 1, 6) = (/ & & 0.48886e-05_rb,0.92046e-05_rb,0.11933e-04_rb,0.13885e-04_rb,0.15255e-04_rb, & & 0.16071e-04_rb,0.16239e-04_rb,0.15605e-04_rb,0.10917e-04_rb /) kao(:, 1, 2, 6) = (/ & & 0.41174e-05_rb,0.62362e-05_rb,0.73897e-05_rb,0.81161e-05_rb,0.86061e-05_rb, & & 0.88364e-05_rb,0.89272e-05_rb,0.81534e-05_rb,0.45187e-05_rb /) kao(:, 2, 2, 6) = (/ & & 0.41154e-05_rb,0.66112e-05_rb,0.80274e-05_rb,0.90030e-05_rb,0.96264e-05_rb, & & 0.99529e-05_rb,0.10004e-04_rb,0.93836e-05_rb,0.55300e-05_rb /) kao(:, 3, 2, 6) = (/ & & 0.40999e-05_rb,0.69972e-05_rb,0.87232e-05_rb,0.99464e-05_rb,0.10738e-04_rb, & & 0.11186e-04_rb,0.11235e-04_rb,0.10760e-04_rb,0.66656e-05_rb /) kao(:, 4, 2, 6) = (/ & & 0.40728e-05_rb,0.73933e-05_rb,0.94032e-05_rb,0.10842e-04_rb,0.11807e-04_rb, & & 0.12371e-04_rb,0.12495e-04_rb,0.12016e-04_rb,0.78073e-05_rb /) kao(:, 5, 2, 6) = (/ & & 0.40371e-05_rb,0.77954e-05_rb,0.10060e-04_rb,0.11710e-04_rb,0.12855e-04_rb, & & 0.13529e-04_rb,0.13658e-04_rb,0.13169e-04_rb,0.88462e-05_rb /) kao(:, 1, 3, 6) = (/ & & 0.33911e-05_rb,0.51807e-05_rb,0.60524e-05_rb,0.65745e-05_rb,0.69209e-05_rb, & & 0.70496e-05_rb,0.71376e-05_rb,0.64864e-05_rb,0.34232e-05_rb /) kao(:, 2, 3, 6) = (/ & & 0.33916e-05_rb,0.54910e-05_rb,0.65875e-05_rb,0.73243e-05_rb,0.77878e-05_rb, & & 0.79847e-05_rb,0.80332e-05_rb,0.75309e-05_rb,0.42228e-05_rb /) kao(:, 3, 3, 6) = (/ & & 0.33813e-05_rb,0.58057e-05_rb,0.71503e-05_rb,0.80869e-05_rb,0.86798e-05_rb, & & 0.89845e-05_rb,0.90042e-05_rb,0.85938e-05_rb,0.50519e-05_rb /) kao(:, 4, 3, 6) = (/ & & 0.33618e-05_rb,0.61503e-05_rb,0.77470e-05_rb,0.88947e-05_rb,0.96421e-05_rb, & & 0.10056e-04_rb,0.10131e-04_rb,0.97836e-05_rb,0.60817e-05_rb /) kao(:, 5, 3, 6) = (/ & & 0.33346e-05_rb,0.64834e-05_rb,0.82992e-05_rb,0.96266e-05_rb,0.10527e-04_rb, & & 0.11042e-04_rb,0.11154e-04_rb,0.10788e-04_rb,0.69208e-05_rb /) kao(:, 1, 4, 6) = (/ & & 0.27862e-05_rb,0.42534e-05_rb,0.48987e-05_rb,0.52435e-05_rb,0.54733e-05_rb, & & 0.55364e-05_rb,0.55872e-05_rb,0.49226e-05_rb,0.25436e-05_rb /) kao(:, 2, 4, 6) = (/ & & 0.27893e-05_rb,0.45093e-05_rb,0.53394e-05_rb,0.58691e-05_rb,0.61855e-05_rb, & & 0.63070e-05_rb,0.63399e-05_rb,0.58599e-05_rb,0.31726e-05_rb /) kao(:, 3, 4, 6) = (/ & & 0.27843e-05_rb,0.47714e-05_rb,0.58075e-05_rb,0.65048e-05_rb,0.69158e-05_rb, & & 0.71341e-05_rb,0.71529e-05_rb,0.67578e-05_rb,0.38485e-05_rb /) kao(:, 4, 4, 6) = (/ & & 0.27713e-05_rb,0.50491e-05_rb,0.62824e-05_rb,0.71451e-05_rb,0.76931e-05_rb, & & 0.79968e-05_rb,0.80403e-05_rb,0.77391e-05_rb,0.46093e-05_rb /) kao(:, 5, 4, 6) = (/ & & 0.27517e-05_rb,0.53526e-05_rb,0.67897e-05_rb,0.78357e-05_rb,0.85357e-05_rb, & & 0.89260e-05_rb,0.90160e-05_rb,0.87287e-05_rb,0.54226e-05_rb /) kao(:, 1, 5, 6) = (/ & & 0.22852e-05_rb,0.34704e-05_rb,0.39351e-05_rb,0.41626e-05_rb,0.42797e-05_rb, & & 0.43078e-05_rb,0.42289e-05_rb,0.36572e-05_rb,0.18725e-05_rb /) kao(:, 2, 5, 6) = (/ & & 0.22904e-05_rb,0.36828e-05_rb,0.42969e-05_rb,0.46636e-05_rb,0.48818e-05_rb, & & 0.49227e-05_rb,0.49640e-05_rb,0.45776e-05_rb,0.23620e-05_rb /) kao(:, 3, 5, 6) = (/ & & 0.22883e-05_rb,0.38995e-05_rb,0.46830e-05_rb,0.51887e-05_rb,0.54814e-05_rb, & & 0.56039e-05_rb,0.56350e-05_rb,0.52624e-05_rb,0.29139e-05_rb /) kao(:, 4, 5, 6) = (/ & & 0.22808e-05_rb,0.41317e-05_rb,0.50763e-05_rb,0.57196e-05_rb,0.61208e-05_rb, & & 0.63389e-05_rb,0.63549e-05_rb,0.60859e-05_rb,0.35219e-05_rb /) kao(:, 5, 5, 6) = (/ & & 0.22671e-05_rb,0.43851e-05_rb,0.54991e-05_rb,0.62948e-05_rb,0.68249e-05_rb, & & 0.71098e-05_rb,0.71755e-05_rb,0.69558e-05_rb,0.41900e-05_rb /) kao(:, 1, 6, 6) = (/ & & 0.18699e-05_rb,0.28114e-05_rb,0.31400e-05_rb,0.32683e-05_rb,0.33153e-05_rb, & & 0.33008e-05_rb,0.31920e-05_rb,0.27860e-05_rb,0.13420e-05_rb /) kao(:, 2, 6, 6) = (/ & & 0.18773e-05_rb,0.29859e-05_rb,0.34309e-05_rb,0.36695e-05_rb,0.38007e-05_rb, & & 0.38091e-05_rb,0.38180e-05_rb,0.34314e-05_rb,0.17179e-05_rb /) kao(:, 3, 6, 6) = (/ & & 0.18783e-05_rb,0.31642e-05_rb,0.37448e-05_rb,0.40997e-05_rb,0.43019e-05_rb, & & 0.43546e-05_rb,0.43740e-05_rb,0.40084e-05_rb,0.21605e-05_rb /) kao(:, 4, 6, 6) = (/ & & 0.18743e-05_rb,0.33566e-05_rb,0.40684e-05_rb,0.45371e-05_rb,0.48151e-05_rb, & & 0.49624e-05_rb,0.49624e-05_rb,0.47228e-05_rb,0.26431e-05_rb /) kao(:, 5, 6, 6) = (/ & & 0.18657e-05_rb,0.35541e-05_rb,0.43955e-05_rb,0.49826e-05_rb,0.53649e-05_rb, & & 0.55694e-05_rb,0.55990e-05_rb,0.54328e-05_rb,0.31359e-05_rb /) kao(:, 1, 7, 6) = (/ & & 0.15270e-05_rb,0.22681e-05_rb,0.24953e-05_rb,0.25538e-05_rb,0.25397e-05_rb, & & 0.25315e-05_rb,0.23299e-05_rb,0.21035e-05_rb,0.95748e-06_rb /) kao(:, 2, 7, 6) = (/ & & 0.15365e-05_rb,0.24113e-05_rb,0.27304e-05_rb,0.28767e-05_rb,0.29339e-05_rb, & & 0.29290e-05_rb,0.28728e-05_rb,0.24852e-05_rb,0.12383e-05_rb /) kao(:, 3, 7, 6) = (/ & & 0.15398e-05_rb,0.25576e-05_rb,0.29821e-05_rb,0.32226e-05_rb,0.33508e-05_rb, & & 0.33584e-05_rb,0.33733e-05_rb,0.31044e-05_rb,0.15900e-05_rb /) kao(:, 4, 7, 6) = (/ & & 0.15385e-05_rb,0.27150e-05_rb,0.32458e-05_rb,0.35802e-05_rb,0.37697e-05_rb, & & 0.38500e-05_rb,0.38510e-05_rb,0.36169e-05_rb,0.19605e-05_rb /) kao(:, 5, 7, 6) = (/ & & 0.15336e-05_rb,0.28792e-05_rb,0.35139e-05_rb,0.39460e-05_rb,0.42149e-05_rb, & & 0.43622e-05_rb,0.43664e-05_rb,0.42187e-05_rb,0.23523e-05_rb /) kao(:, 1, 8, 6) = (/ & & 0.12444e-05_rb,0.18266e-05_rb,0.19784e-05_rb,0.19900e-05_rb,0.19390e-05_rb, & & 0.19235e-05_rb,0.17231e-05_rb,0.16995e-05_rb,0.68590e-06_rb /) kao(:, 2, 8, 6) = (/ & & 0.12557e-05_rb,0.19427e-05_rb,0.21667e-05_rb,0.22465e-05_rb,0.22625e-05_rb, & & 0.22377e-05_rb,0.21596e-05_rb,0.18759e-05_rb,0.89490e-06_rb /) kao(:, 3, 8, 6) = (/ & & 0.12608e-05_rb,0.20627e-05_rb,0.23694e-05_rb,0.25224e-05_rb,0.25961e-05_rb, & & 0.25892e-05_rb,0.25887e-05_rb,0.23400e-05_rb,0.11490e-05_rb /) kao(:, 4, 8, 6) = (/ & & 0.12616e-05_rb,0.21916e-05_rb,0.25816e-05_rb,0.28156e-05_rb,0.29418e-05_rb, & & 0.29759e-05_rb,0.29788e-05_rb,0.27379e-05_rb,0.14416e-05_rb /) kao(:, 5, 8, 6) = (/ & & 0.12590e-05_rb,0.23261e-05_rb,0.28013e-05_rb,0.31131e-05_rb,0.32990e-05_rb, & & 0.33976e-05_rb,0.33946e-05_rb,0.32600e-05_rb,0.17529e-05_rb /) kao(:, 1, 9, 6) = (/ & & 0.10123e-05_rb,0.14681e-05_rb,0.15612e-05_rb,0.15411e-05_rb,0.14778e-05_rb, & & 0.14343e-05_rb,0.12992e-05_rb,0.13172e-05_rb,0.49290e-06_rb /) kao(:, 2, 9, 6) = (/ & & 0.10245e-05_rb,0.15617e-05_rb,0.17149e-05_rb,0.17499e-05_rb,0.17312e-05_rb, & & 0.17144e-05_rb,0.15772e-05_rb,0.14382e-05_rb,0.63132e-06_rb /) kao(:, 3, 9, 6) = (/ & & 0.10311e-05_rb,0.16600e-05_rb,0.18786e-05_rb,0.19738e-05_rb,0.20017e-05_rb, & & 0.19859e-05_rb,0.19416e-05_rb,0.17139e-05_rb,0.82278e-06_rb /) kao(:, 4, 9, 6) = (/ & & 0.10334e-05_rb,0.17639e-05_rb,0.20493e-05_rb,0.22069e-05_rb,0.22845e-05_rb, & & 0.22769e-05_rb,0.22855e-05_rb,0.21115e-05_rb,0.10531e-05_rb /) kao(:, 5, 9, 6) = (/ & & 0.10328e-05_rb,0.18738e-05_rb,0.22265e-05_rb,0.24495e-05_rb,0.25737e-05_rb, & & 0.26232e-05_rb,0.26173e-05_rb,0.24699e-05_rb,0.12950e-05_rb /) kao(:, 1,10, 6) = (/ & & 0.82261e-06_rb,0.11811e-05_rb,0.12403e-05_rb,0.12060e-05_rb,0.11493e-05_rb, & & 0.10907e-05_rb,0.98035e-06_rb,0.10980e-05_rb,0.37316e-06_rb /) kao(:, 2,10, 6) = (/ & & 0.83528e-06_rb,0.12595e-05_rb,0.13646e-05_rb,0.13745e-05_rb,0.13365e-05_rb, & & 0.13172e-05_rb,0.11846e-05_rb,0.11491e-05_rb,0.46158e-06_rb /) kao(:, 3,10, 6) = (/ & & 0.84255e-06_rb,0.13392e-05_rb,0.14968e-05_rb,0.15528e-05_rb,0.15573e-05_rb, & & 0.15339e-05_rb,0.14802e-05_rb,0.12811e-05_rb,0.60300e-06_rb /) kao(:, 4,10, 6) = (/ & & 0.84587e-06_rb,0.14245e-05_rb,0.16355e-05_rb,0.17381e-05_rb,0.17835e-05_rb, & & 0.17693e-05_rb,0.17683e-05_rb,0.16097e-05_rb,0.77730e-06_rb /) kao(:, 5,10, 6) = (/ & & 0.84627e-06_rb,0.15137e-05_rb,0.17779e-05_rb,0.19378e-05_rb,0.20192e-05_rb, & & 0.20387e-05_rb,0.20340e-05_rb,0.18636e-05_rb,0.96863e-06_rb /) kao(:, 1,11, 6) = (/ & & 0.67388e-06_rb,0.97942e-06_rb,0.10286e-05_rb,0.10023e-05_rb,0.95317e-06_rb, & & 0.90847e-06_rb,0.81776e-06_rb,0.89345e-06_rb,0.30408e-06_rb /) kao(:, 2,11, 6) = (/ & & 0.68407e-06_rb,0.10438e-05_rb,0.11334e-05_rb,0.11425e-05_rb,0.11096e-05_rb, & & 0.10886e-05_rb,0.98240e-06_rb,0.94798e-06_rb,0.38086e-06_rb /) kao(:, 3,11, 6) = (/ & & 0.69000e-06_rb,0.11106e-05_rb,0.12435e-05_rb,0.12890e-05_rb,0.12895e-05_rb, & & 0.12679e-05_rb,0.12202e-05_rb,0.10522e-05_rb,0.49623e-06_rb /) kao(:, 4,11, 6) = (/ & & 0.69276e-06_rb,0.11824e-05_rb,0.13564e-05_rb,0.14402e-05_rb,0.14763e-05_rb, & & 0.14628e-05_rb,0.14599e-05_rb,0.13328e-05_rb,0.63979e-06_rb /) kao(:, 5,11, 6) = (/ & & 0.69302e-06_rb,0.12555e-05_rb,0.14740e-05_rb,0.16049e-05_rb,0.16694e-05_rb, & & 0.16839e-05_rb,0.16772e-05_rb,0.15421e-05_rb,0.79514e-06_rb /) kao(:, 1,12, 6) = (/ & & 0.55214e-06_rb,0.81079e-06_rb,0.85249e-06_rb,0.83175e-06_rb,0.78783e-06_rb, & & 0.75281e-06_rb,0.67567e-06_rb,0.74075e-06_rb,0.24910e-06_rb /) kao(:, 2,12, 6) = (/ & & 0.56029e-06_rb,0.86391e-06_rb,0.94032e-06_rb,0.94758e-06_rb,0.91883e-06_rb, & & 0.89834e-06_rb,0.81189e-06_rb,0.77883e-06_rb,0.31399e-06_rb /) kao(:, 3,12, 6) = (/ & & 0.56504e-06_rb,0.92066e-06_rb,0.10308e-05_rb,0.10667e-05_rb,0.10655e-05_rb, & & 0.10460e-05_rb,0.10067e-05_rb,0.87150e-06_rb,0.40815e-06_rb /) kao(:, 4,12, 6) = (/ & & 0.56721e-06_rb,0.97985e-06_rb,0.11224e-05_rb,0.11915e-05_rb,0.12197e-05_rb, & & 0.12063e-05_rb,0.12014e-05_rb,0.10950e-05_rb,0.52630e-06_rb /) kao(:, 5,12, 6) = (/ & & 0.56742e-06_rb,0.10399e-05_rb,0.12195e-05_rb,0.13255e-05_rb,0.13771e-05_rb, & & 0.13876e-05_rb,0.13807e-05_rb,0.12724e-05_rb,0.65264e-06_rb /) kao(:, 1,13, 6) = (/ & & 0.45223e-06_rb,0.67006e-06_rb,0.70582e-06_rb,0.68873e-06_rb,0.65038e-06_rb, & & 0.62084e-06_rb,0.55442e-06_rb,0.60996e-06_rb,0.20428e-06_rb /) kao(:, 2,13, 6) = (/ & & 0.45880e-06_rb,0.71490e-06_rb,0.77859e-06_rb,0.78376e-06_rb,0.75834e-06_rb, & & 0.73987e-06_rb,0.66959e-06_rb,0.63711e-06_rb,0.25817e-06_rb /) kao(:, 3,13, 6) = (/ & & 0.46276e-06_rb,0.76231e-06_rb,0.85214e-06_rb,0.88098e-06_rb,0.87867e-06_rb, & & 0.86188e-06_rb,0.83033e-06_rb,0.72166e-06_rb,0.33548e-06_rb /) kao(:, 4,13, 6) = (/ & & 0.46442e-06_rb,0.81043e-06_rb,0.92714e-06_rb,0.98329e-06_rb,0.10050e-05_rb, & & 0.99247e-06_rb,0.98770e-06_rb,0.89931e-06_rb,0.43220e-06_rb /) kao(:, 5,13, 6) = (/ & & 0.46456e-06_rb,0.86048e-06_rb,0.10065e-05_rb,0.10920e-05_rb,0.11333e-05_rb, & & 0.11411e-05_rb,0.11342e-05_rb,0.10473e-05_rb,0.53527e-06_rb /) kao(:, 1, 1, 7) = (/ & & 0.12335e-04_rb,0.15987e-04_rb,0.18565e-04_rb,0.20406e-04_rb,0.21636e-04_rb, & & 0.22077e-04_rb,0.21364e-04_rb,0.19544e-04_rb,0.14733e-04_rb /) kao(:, 2, 1, 7) = (/ & & 0.12351e-04_rb,0.17014e-04_rb,0.20216e-04_rb,0.22480e-04_rb,0.24098e-04_rb, & & 0.24791e-04_rb,0.24379e-04_rb,0.22600e-04_rb,0.17292e-04_rb /) kao(:, 3, 1, 7) = (/ & & 0.12364e-04_rb,0.18152e-04_rb,0.21907e-04_rb,0.24643e-04_rb,0.26659e-04_rb, & & 0.27630e-04_rb,0.27512e-04_rb,0.25730e-04_rb,0.20236e-04_rb /) kao(:, 4, 1, 7) = (/ & & 0.12365e-04_rb,0.19320e-04_rb,0.23679e-04_rb,0.26885e-04_rb,0.29225e-04_rb, & & 0.30430e-04_rb,0.30461e-04_rb,0.28726e-04_rb,0.23208e-04_rb /) kao(:, 5, 1, 7) = (/ & & 0.12355e-04_rb,0.20495e-04_rb,0.25505e-04_rb,0.29189e-04_rb,0.31816e-04_rb, & & 0.33308e-04_rb,0.33478e-04_rb,0.31898e-04_rb,0.26469e-04_rb /) kao(:, 1, 2, 7) = (/ & & 0.10350e-04_rb,0.13753e-04_rb,0.16101e-04_rb,0.17726e-04_rb,0.18733e-04_rb, & & 0.19034e-04_rb,0.18319e-04_rb,0.16594e-04_rb,0.11961e-04_rb /) kao(:, 2, 2, 7) = (/ & & 0.10365e-04_rb,0.14706e-04_rb,0.17542e-04_rb,0.19561e-04_rb,0.20895e-04_rb, & & 0.21420e-04_rb,0.21012e-04_rb,0.19409e-04_rb,0.14130e-04_rb /) kao(:, 3, 2, 7) = (/ & & 0.10364e-04_rb,0.15733e-04_rb,0.19081e-04_rb,0.21505e-04_rb,0.23181e-04_rb, & & 0.23958e-04_rb,0.23844e-04_rb,0.22334e-04_rb,0.16750e-04_rb /) kao(:, 4, 2, 7) = (/ & & 0.10354e-04_rb,0.16759e-04_rb,0.20670e-04_rb,0.23471e-04_rb,0.25440e-04_rb, & & 0.26474e-04_rb,0.26560e-04_rb,0.25188e-04_rb,0.19386e-04_rb /) kao(:, 5, 2, 7) = (/ & & 0.10329e-04_rb,0.17823e-04_rb,0.22292e-04_rb,0.25488e-04_rb,0.27703e-04_rb, & & 0.28957e-04_rb,0.29205e-04_rb,0.27936e-04_rb,0.22026e-04_rb /) kao(:, 1, 3, 7) = (/ & & 0.86408e-05_rb,0.11607e-04_rb,0.13624e-04_rb,0.14928e-04_rb,0.15622e-04_rb, & & 0.15768e-04_rb,0.15034e-04_rb,0.13540e-04_rb,0.91950e-05_rb /) kao(:, 2, 3, 7) = (/ & & 0.86478e-05_rb,0.12463e-04_rb,0.14889e-04_rb,0.16508e-04_rb,0.17482e-04_rb, & & 0.17819e-04_rb,0.17439e-04_rb,0.15994e-04_rb,0.11026e-04_rb /) kao(:, 3, 3, 7) = (/ & & 0.86444e-05_rb,0.13354e-04_rb,0.16234e-04_rb,0.18159e-04_rb,0.19394e-04_rb, & & 0.19962e-04_rb,0.19837e-04_rb,0.18485e-04_rb,0.13087e-04_rb /) kao(:, 4, 3, 7) = (/ & & 0.86273e-05_rb,0.14262e-04_rb,0.17647e-04_rb,0.19921e-04_rb,0.21457e-04_rb, & & 0.22290e-04_rb,0.22338e-04_rb,0.21203e-04_rb,0.15397e-04_rb /) kao(:, 5, 3, 7) = (/ & & 0.85960e-05_rb,0.15200e-04_rb,0.19031e-04_rb,0.21649e-04_rb,0.23415e-04_rb, & & 0.24453e-04_rb,0.24660e-04_rb,0.23666e-04_rb,0.17582e-04_rb /) kao(:, 1, 4, 7) = (/ & & 0.71803e-05_rb,0.97101e-05_rb,0.11373e-04_rb,0.12321e-04_rb,0.12789e-04_rb, & & 0.12803e-04_rb,0.12062e-04_rb,0.10784e-04_rb,0.69624e-05_rb /) kao(:, 2, 4, 7) = (/ & & 0.71855e-05_rb,0.10459e-04_rb,0.12456e-04_rb,0.13673e-04_rb,0.14371e-04_rb, & & 0.14569e-04_rb,0.14153e-04_rb,0.12788e-04_rb,0.84564e-05_rb /) kao(:, 3, 4, 7) = (/ & & 0.71795e-05_rb,0.11229e-04_rb,0.13608e-04_rb,0.15091e-04_rb,0.16013e-04_rb, & & 0.16409e-04_rb,0.16232e-04_rb,0.15085e-04_rb,0.10120e-04_rb /) kao(:, 4, 4, 7) = (/ & & 0.71584e-05_rb,0.12023e-04_rb,0.14800e-04_rb,0.16568e-04_rb,0.17732e-04_rb, & & 0.18336e-04_rb,0.18317e-04_rb,0.17347e-04_rb,0.11917e-04_rb /) kao(:, 5, 4, 7) = (/ & & 0.71267e-05_rb,0.12845e-04_rb,0.16058e-04_rb,0.18162e-04_rb,0.19580e-04_rb, & & 0.20399e-04_rb,0.20543e-04_rb,0.19767e-04_rb,0.13958e-04_rb /) kao(:, 1, 5, 7) = (/ & & 0.59442e-05_rb,0.80861e-05_rb,0.93878e-05_rb,0.10066e-04_rb,0.10362e-04_rb, & & 0.10281e-04_rb,0.95734e-05_rb,0.84778e-05_rb,0.52204e-05_rb /) kao(:, 2, 5, 7) = (/ & & 0.59498e-05_rb,0.87281e-05_rb,0.10301e-04_rb,0.11210e-04_rb,0.11702e-04_rb, & & 0.11782e-04_rb,0.11315e-04_rb,0.10068e-04_rb,0.64302e-05_rb /) kao(:, 3, 5, 7) = (/ & & 0.59430e-05_rb,0.93925e-05_rb,0.11277e-04_rb,0.12419e-04_rb,0.13099e-04_rb, & & 0.13351e-04_rb,0.13104e-04_rb,0.12095e-04_rb,0.77633e-05_rb /) kao(:, 4, 5, 7) = (/ & & 0.59217e-05_rb,0.10078e-04_rb,0.12288e-04_rb,0.13686e-04_rb,0.14573e-04_rb, & & 0.14994e-04_rb,0.14908e-04_rb,0.14023e-04_rb,0.92337e-05_rb /) kao(:, 5, 5, 7) = (/ & & 0.58935e-05_rb,0.10789e-04_rb,0.13390e-04_rb,0.15066e-04_rb,0.16172e-04_rb, & & 0.16788e-04_rb,0.16832e-04_rb,0.16140e-04_rb,0.10913e-04_rb /) kao(:, 1, 6, 7) = (/ & & 0.49077e-05_rb,0.66672e-05_rb,0.76412e-05_rb,0.81181e-05_rb,0.82831e-05_rb, & & 0.81137e-05_rb,0.74381e-05_rb,0.64600e-05_rb,0.38540e-05_rb /) kao(:, 2, 6, 7) = (/ & & 0.49136e-05_rb,0.72093e-05_rb,0.84100e-05_rb,0.90761e-05_rb,0.94026e-05_rb, & & 0.93849e-05_rb,0.88761e-05_rb,0.77852e-05_rb,0.48097e-05_rb /) kao(:, 3, 6, 7) = (/ & & 0.49088e-05_rb,0.77732e-05_rb,0.92304e-05_rb,0.10089e-04_rb,0.10581e-04_rb, & & 0.10707e-04_rb,0.10412e-04_rb,0.94217e-05_rb,0.58741e-05_rb /) kao(:, 4, 6, 7) = (/ & & 0.48919e-05_rb,0.83551e-05_rb,0.10086e-04_rb,0.11166e-04_rb,0.11831e-04_rb, & & 0.12095e-04_rb,0.11941e-04_rb,0.11106e-04_rb,0.70559e-05_rb /) kao(:, 5, 6, 7) = (/ & & 0.48652e-05_rb,0.89412e-05_rb,0.10983e-04_rb,0.12289e-04_rb,0.13118e-04_rb, & & 0.13538e-04_rb,0.13477e-04_rb,0.12811e-04_rb,0.83378e-05_rb /) kao(:, 1, 7, 7) = (/ & & 0.40428e-05_rb,0.54588e-05_rb,0.61687e-05_rb,0.64926e-05_rb,0.65568e-05_rb, & & 0.63259e-05_rb,0.56948e-05_rb,0.49607e-05_rb,0.28237e-05_rb /) kao(:, 2, 7, 7) = (/ & & 0.40484e-05_rb,0.59019e-05_rb,0.68052e-05_rb,0.72891e-05_rb,0.74881e-05_rb, & & 0.73951e-05_rb,0.68736e-05_rb,0.59771e-05_rb,0.35700e-05_rb /) kao(:, 3, 7, 7) = (/ & & 0.40443e-05_rb,0.63719e-05_rb,0.74936e-05_rb,0.81309e-05_rb,0.84699e-05_rb, & & 0.84975e-05_rb,0.81643e-05_rb,0.72224e-05_rb,0.43995e-05_rb /) kao(:, 4, 7, 7) = (/ & & 0.40304e-05_rb,0.68636e-05_rb,0.82100e-05_rb,0.90329e-05_rb,0.95142e-05_rb, & & 0.96616e-05_rb,0.94576e-05_rb,0.86932e-05_rb,0.53385e-05_rb /) kao(:, 5, 7, 7) = (/ & & 0.40097e-05_rb,0.73587e-05_rb,0.89665e-05_rb,0.99825e-05_rb,0.10592e-04_rb, & & 0.10860e-04_rb,0.10751e-04_rb,0.10114e-04_rb,0.63905e-05_rb /) kao(:, 1, 8, 7) = (/ & & 0.33247e-05_rb,0.44437e-05_rb,0.49476e-05_rb,0.51623e-05_rb,0.51521e-05_rb, & & 0.48927e-05_rb,0.43130e-05_rb,0.36508e-05_rb,0.20433e-05_rb /) kao(:, 2, 8, 7) = (/ & & 0.33302e-05_rb,0.48035e-05_rb,0.54757e-05_rb,0.58129e-05_rb,0.59219e-05_rb, & & 0.57796e-05_rb,0.52788e-05_rb,0.45081e-05_rb,0.26233e-05_rb /) kao(:, 3, 8, 7) = (/ & & 0.33275e-05_rb,0.51944e-05_rb,0.60436e-05_rb,0.65119e-05_rb,0.67329e-05_rb, & & 0.66992e-05_rb,0.63336e-05_rb,0.54989e-05_rb,0.32839e-05_rb /) kao(:, 4, 8, 7) = (/ & & 0.33167e-05_rb,0.56042e-05_rb,0.66425e-05_rb,0.72606e-05_rb,0.75965e-05_rb, & & 0.76619e-05_rb,0.74319e-05_rb,0.66922e-05_rb,0.40228e-05_rb /) kao(:, 5, 8, 7) = (/ & & 0.33014e-05_rb,0.60212e-05_rb,0.72748e-05_rb,0.80496e-05_rb,0.84940e-05_rb, & & 0.86532e-05_rb,0.85181e-05_rb,0.78992e-05_rb,0.48672e-05_rb /) kao(:, 1, 9, 7) = (/ & & 0.27310e-05_rb,0.35992e-05_rb,0.39468e-05_rb,0.40831e-05_rb,0.40161e-05_rb, & & 0.37266e-05_rb,0.32070e-05_rb,0.27591e-05_rb,0.14628e-05_rb /) kao(:, 2, 9, 7) = (/ & & 0.27361e-05_rb,0.38904e-05_rb,0.43781e-05_rb,0.46075e-05_rb,0.46475e-05_rb, & & 0.44710e-05_rb,0.39993e-05_rb,0.33922e-05_rb,0.19203e-05_rb /) kao(:, 3, 9, 7) = (/ & & 0.27349e-05_rb,0.42103e-05_rb,0.48448e-05_rb,0.51814e-05_rb,0.53150e-05_rb, & & 0.52403e-05_rb,0.48712e-05_rb,0.41669e-05_rb,0.24268e-05_rb /) kao(:, 4, 9, 7) = (/ & & 0.27270e-05_rb,0.45504e-05_rb,0.53414e-05_rb,0.57970e-05_rb,0.60255e-05_rb, & & 0.60359e-05_rb,0.57915e-05_rb,0.51016e-05_rb,0.30070e-05_rb /) kao(:, 5, 9, 7) = (/ & & 0.27146e-05_rb,0.48994e-05_rb,0.58660e-05_rb,0.64467e-05_rb,0.67684e-05_rb, & & 0.68529e-05_rb,0.66981e-05_rb,0.61431e-05_rb,0.36677e-05_rb /) kao(:, 1,10, 7) = (/ & & 0.22419e-05_rb,0.29237e-05_rb,0.31619e-05_rb,0.32419e-05_rb,0.31445e-05_rb, & & 0.28618e-05_rb,0.23945e-05_rb,0.20454e-05_rb,0.10493e-05_rb /) kao(:, 2,10, 7) = (/ & & 0.22458e-05_rb,0.31578e-05_rb,0.35134e-05_rb,0.36703e-05_rb,0.36665e-05_rb, & & 0.34835e-05_rb,0.30593e-05_rb,0.25559e-05_rb,0.14125e-05_rb /) kao(:, 3,10, 7) = (/ & & 0.22450e-05_rb,0.34192e-05_rb,0.38967e-05_rb,0.41378e-05_rb,0.42160e-05_rb, & & 0.41184e-05_rb,0.37724e-05_rb,0.31954e-05_rb,0.18099e-05_rb /) kao(:, 4,10, 7) = (/ & & 0.22393e-05_rb,0.36988e-05_rb,0.43039e-05_rb,0.46449e-05_rb,0.48027e-05_rb, & & 0.47756e-05_rb,0.45281e-05_rb,0.39284e-05_rb,0.22652e-05_rb /) kao(:, 5,10, 7) = (/ & & 0.22295e-05_rb,0.39888e-05_rb,0.47391e-05_rb,0.51827e-05_rb,0.54135e-05_rb, & & 0.54517e-05_rb,0.52919e-05_rb,0.47894e-05_rb,0.27859e-05_rb /) kao(:, 1,11, 7) = (/ & & 0.18412e-05_rb,0.24512e-05_rb,0.26550e-05_rb,0.27210e-05_rb,0.26438e-05_rb, & & 0.24068e-05_rb,0.20134e-05_rb,0.16980e-05_rb,0.87310e-06_rb /) kao(:, 2,11, 7) = (/ & & 0.18429e-05_rb,0.26525e-05_rb,0.29507e-05_rb,0.30835e-05_rb,0.30829e-05_rb, & & 0.29354e-05_rb,0.25810e-05_rb,0.21539e-05_rb,0.11715e-05_rb /) kao(:, 3,11, 7) = (/ & & 0.18405e-05_rb,0.28725e-05_rb,0.32735e-05_rb,0.34815e-05_rb,0.35507e-05_rb, & & 0.34733e-05_rb,0.31901e-05_rb,0.26957e-05_rb,0.15018e-05_rb /) kao(:, 4,11, 7) = (/ & & 0.18348e-05_rb,0.31060e-05_rb,0.36191e-05_rb,0.39123e-05_rb,0.40426e-05_rb, & & 0.40206e-05_rb,0.38184e-05_rb,0.33125e-05_rb,0.18804e-05_rb /) kao(:, 5,11, 7) = (/ & & 0.18263e-05_rb,0.33539e-05_rb,0.39862e-05_rb,0.43590e-05_rb,0.45516e-05_rb, & & 0.45841e-05_rb,0.44525e-05_rb,0.40371e-05_rb,0.23130e-05_rb /) kao(:, 1,12, 7) = (/ & & 0.15111e-05_rb,0.20512e-05_rb,0.22220e-05_rb,0.22783e-05_rb,0.22181e-05_rb, & & 0.20219e-05_rb,0.16992e-05_rb,0.14085e-05_rb,0.72438e-06_rb /) kao(:, 2,12, 7) = (/ & & 0.15111e-05_rb,0.22209e-05_rb,0.24719e-05_rb,0.25841e-05_rb,0.25877e-05_rb, & & 0.24700e-05_rb,0.21742e-05_rb,0.18087e-05_rb,0.96963e-06_rb /) kao(:, 3,12, 7) = (/ & & 0.15082e-05_rb,0.24051e-05_rb,0.27419e-05_rb,0.29223e-05_rb,0.29832e-05_rb, & & 0.29201e-05_rb,0.26833e-05_rb,0.22609e-05_rb,0.12444e-05_rb /) kao(:, 4,12, 7) = (/ & & 0.15029e-05_rb,0.26018e-05_rb,0.30364e-05_rb,0.32843e-05_rb,0.33933e-05_rb, & & 0.33730e-05_rb,0.32057e-05_rb,0.27875e-05_rb,0.15571e-05_rb /) kao(:, 5,12, 7) = (/ & & 0.14954e-05_rb,0.28127e-05_rb,0.33443e-05_rb,0.36551e-05_rb,0.38145e-05_rb, & & 0.38425e-05_rb,0.37317e-05_rb,0.33866e-05_rb,0.19133e-05_rb /) kao(:, 1,13, 7) = (/ & & 0.12390e-05_rb,0.17127e-05_rb,0.18553e-05_rb,0.19025e-05_rb,0.18568e-05_rb, & & 0.16968e-05_rb,0.14297e-05_rb,0.11813e-05_rb,0.59950e-06_rb /) kao(:, 2,13, 7) = (/ & & 0.12381e-05_rb,0.18537e-05_rb,0.20641e-05_rb,0.21603e-05_rb,0.21689e-05_rb, & & 0.20712e-05_rb,0.18216e-05_rb,0.15132e-05_rb,0.80096e-06_rb /) kao(:, 3,13, 7) = (/ & & 0.12352e-05_rb,0.20080e-05_rb,0.22929e-05_rb,0.24467e-05_rb,0.24992e-05_rb, & & 0.24434e-05_rb,0.22447e-05_rb,0.18839e-05_rb,0.10290e-05_rb /) kao(:, 4,13, 7) = (/ & & 0.12307e-05_rb,0.21754e-05_rb,0.25409e-05_rb,0.27489e-05_rb,0.28366e-05_rb, & & 0.28171e-05_rb,0.26776e-05_rb,0.23303e-05_rb,0.12853e-05_rb /) kao(:, 5,13, 7) = (/ & & 0.12246e-05_rb,0.23532e-05_rb,0.27977e-05_rb,0.30556e-05_rb,0.31857e-05_rb, & & 0.32077e-05_rb,0.31127e-05_rb,0.28260e-05_rb,0.15788e-05_rb /) kao(:, 1, 1, 8) = (/ & & 0.43566e-04_rb,0.45402e-04_rb,0.48829e-04_rb,0.50194e-04_rb,0.49978e-04_rb, & & 0.48581e-04_rb,0.45902e-04_rb,0.40781e-04_rb,0.34170e-04_rb /) kao(:, 2, 1, 8) = (/ & & 0.43974e-04_rb,0.47415e-04_rb,0.52012e-04_rb,0.54325e-04_rb,0.54921e-04_rb, & & 0.53975e-04_rb,0.51279e-04_rb,0.46650e-04_rb,0.40945e-04_rb /) kao(:, 3, 1, 8) = (/ & & 0.44333e-04_rb,0.49545e-04_rb,0.55453e-04_rb,0.58909e-04_rb,0.60094e-04_rb, & & 0.59376e-04_rb,0.56940e-04_rb,0.52843e-04_rb,0.48266e-04_rb /) kao(:, 4, 1, 8) = (/ & & 0.44647e-04_rb,0.51771e-04_rb,0.59155e-04_rb,0.63607e-04_rb,0.65306e-04_rb, & & 0.64935e-04_rb,0.62961e-04_rb,0.59262e-04_rb,0.55812e-04_rb /) kao(:, 5, 1, 8) = (/ & & 0.44938e-04_rb,0.54202e-04_rb,0.63063e-04_rb,0.68229e-04_rb,0.70615e-04_rb, & & 0.70683e-04_rb,0.69315e-04_rb,0.65992e-04_rb,0.63855e-04_rb /) kao(:, 1, 2, 8) = (/ & & 0.37849e-04_rb,0.40606e-04_rb,0.43836e-04_rb,0.45171e-04_rb,0.45318e-04_rb, & & 0.44251e-04_rb,0.41853e-04_rb,0.37247e-04_rb,0.29303e-04_rb /) kao(:, 2, 2, 8) = (/ & & 0.38202e-04_rb,0.42545e-04_rb,0.46901e-04_rb,0.49156e-04_rb,0.50002e-04_rb, & & 0.49256e-04_rb,0.46845e-04_rb,0.42755e-04_rb,0.35187e-04_rb /) kao(:, 3, 2, 8) = (/ & & 0.38525e-04_rb,0.44570e-04_rb,0.50219e-04_rb,0.53465e-04_rb,0.54833e-04_rb, & & 0.54348e-04_rb,0.52176e-04_rb,0.48578e-04_rb,0.41697e-04_rb /) kao(:, 4, 2, 8) = (/ & & 0.38828e-04_rb,0.46787e-04_rb,0.53767e-04_rb,0.57818e-04_rb,0.59705e-04_rb, & & 0.59611e-04_rb,0.57787e-04_rb,0.54523e-04_rb,0.48350e-04_rb /) kao(:, 5, 2, 8) = (/ & & 0.39076e-04_rb,0.49105e-04_rb,0.57380e-04_rb,0.62144e-04_rb,0.64743e-04_rb, & & 0.65049e-04_rb,0.63700e-04_rb,0.60747e-04_rb,0.55348e-04_rb /) kao(:, 1, 3, 8) = (/ & & 0.32392e-04_rb,0.35504e-04_rb,0.38232e-04_rb,0.39483e-04_rb,0.39809e-04_rb, & & 0.39031e-04_rb,0.36901e-04_rb,0.32585e-04_rb,0.23735e-04_rb /) kao(:, 2, 3, 8) = (/ & & 0.32715e-04_rb,0.37303e-04_rb,0.41039e-04_rb,0.43202e-04_rb,0.44102e-04_rb, & & 0.43582e-04_rb,0.41484e-04_rb,0.37593e-04_rb,0.28689e-04_rb /) kao(:, 3, 3, 8) = (/ & & 0.33011e-04_rb,0.39216e-04_rb,0.44127e-04_rb,0.47180e-04_rb,0.48515e-04_rb, & & 0.48269e-04_rb,0.46352e-04_rb,0.42866e-04_rb,0.34062e-04_rb /) kao(:, 4, 3, 8) = (/ & & 0.33271e-04_rb,0.41283e-04_rb,0.47451e-04_rb,0.51158e-04_rb,0.53031e-04_rb, & & 0.53191e-04_rb,0.51599e-04_rb,0.48489e-04_rb,0.40122e-04_rb /) kao(:, 5, 3, 8) = (/ & & 0.33495e-04_rb,0.43439e-04_rb,0.50779e-04_rb,0.55143e-04_rb,0.57687e-04_rb, & & 0.58208e-04_rb,0.56935e-04_rb,0.54138e-04_rb,0.46109e-04_rb /) kao(:, 1, 4, 8) = (/ & & 0.27415e-04_rb,0.30543e-04_rb,0.32764e-04_rb,0.33940e-04_rb,0.34340e-04_rb, & & 0.33775e-04_rb,0.31812e-04_rb,0.27722e-04_rb,0.18770e-04_rb /) kao(:, 2, 4, 8) = (/ & & 0.27715e-04_rb,0.32169e-04_rb,0.35304e-04_rb,0.37332e-04_rb,0.38224e-04_rb, & & 0.37868e-04_rb,0.35986e-04_rb,0.32265e-04_rb,0.22928e-04_rb /) kao(:, 3, 4, 8) = (/ & & 0.27982e-04_rb,0.33932e-04_rb,0.38141e-04_rb,0.40925e-04_rb,0.42223e-04_rb, & & 0.42122e-04_rb,0.40409e-04_rb,0.37026e-04_rb,0.27474e-04_rb /) kao(:, 4, 4, 8) = (/ & & 0.28215e-04_rb,0.35808e-04_rb,0.41184e-04_rb,0.44532e-04_rb,0.46320e-04_rb, & & 0.46554e-04_rb,0.45091e-04_rb,0.41998e-04_rb,0.32462e-04_rb /) kao(:, 5, 4, 8) = (/ & & 0.28437e-04_rb,0.37809e-04_rb,0.44202e-04_rb,0.48199e-04_rb,0.50577e-04_rb, & & 0.51211e-04_rb,0.50186e-04_rb,0.47427e-04_rb,0.38088e-04_rb /) kao(:, 1, 5, 8) = (/ & & 0.23010e-04_rb,0.25978e-04_rb,0.27838e-04_rb,0.28899e-04_rb,0.29286e-04_rb, & & 0.28721e-04_rb,0.26945e-04_rb,0.23196e-04_rb,0.14687e-04_rb /) kao(:, 2, 5, 8) = (/ & & 0.23283e-04_rb,0.27434e-04_rb,0.30115e-04_rb,0.31931e-04_rb,0.32743e-04_rb, & & 0.32398e-04_rb,0.30674e-04_rb,0.27269e-04_rb,0.18140e-04_rb /) kao(:, 3, 5, 8) = (/ & & 0.23522e-04_rb,0.29002e-04_rb,0.32686e-04_rb,0.35125e-04_rb,0.36325e-04_rb, & & 0.36232e-04_rb,0.34626e-04_rb,0.31511e-04_rb,0.21987e-04_rb /) kao(:, 4, 5, 8) = (/ & & 0.23738e-04_rb,0.30687e-04_rb,0.35404e-04_rb,0.38366e-04_rb,0.40013e-04_rb, & & 0.40198e-04_rb,0.38830e-04_rb,0.35973e-04_rb,0.26236e-04_rb /) kao(:, 5, 5, 8) = (/ & & 0.23936e-04_rb,0.32534e-04_rb,0.38093e-04_rb,0.41748e-04_rb,0.43875e-04_rb, & & 0.44440e-04_rb,0.43519e-04_rb,0.40954e-04_rb,0.31086e-04_rb /) kao(:, 1, 6, 8) = (/ & & 0.19172e-04_rb,0.21867e-04_rb,0.23409e-04_rb,0.24321e-04_rb,0.24529e-04_rb, & & 0.23927e-04_rb,0.22333e-04_rb,0.18955e-04_rb,0.11218e-04_rb /) kao(:, 2, 6, 8) = (/ & & 0.19419e-04_rb,0.23150e-04_rb,0.25412e-04_rb,0.26974e-04_rb,0.27574e-04_rb, & & 0.27129e-04_rb,0.25625e-04_rb,0.22590e-04_rb,0.14082e-04_rb /) kao(:, 3, 6, 8) = (/ & & 0.19636e-04_rb,0.24533e-04_rb,0.27708e-04_rb,0.29785e-04_rb,0.30733e-04_rb, & & 0.30517e-04_rb,0.29114e-04_rb,0.26329e-04_rb,0.17293e-04_rb /) kao(:, 4, 6, 8) = (/ & & 0.19836e-04_rb,0.26054e-04_rb,0.30093e-04_rb,0.32660e-04_rb,0.34002e-04_rb, & & 0.34049e-04_rb,0.32819e-04_rb,0.30271e-04_rb,0.20869e-04_rb /) kao(:, 5, 6, 8) = (/ & & 0.20002e-04_rb,0.27734e-04_rb,0.32461e-04_rb,0.35638e-04_rb,0.37355e-04_rb, & & 0.37686e-04_rb,0.36788e-04_rb,0.34519e-04_rb,0.24769e-04_rb /) kao(:, 1, 7, 8) = (/ & & 0.15886e-04_rb,0.18280e-04_rb,0.19557e-04_rb,0.20235e-04_rb,0.20297e-04_rb, & & 0.19642e-04_rb,0.18202e-04_rb,0.15130e-04_rb,0.84335e-05_rb /) kao(:, 2, 7, 8) = (/ & & 0.16105e-04_rb,0.19408e-04_rb,0.21322e-04_rb,0.22532e-04_rb,0.22888e-04_rb, & & 0.22409e-04_rb,0.21064e-04_rb,0.18396e-04_rb,0.10766e-04_rb /) kao(:, 3, 7, 8) = (/ & & 0.16304e-04_rb,0.20629e-04_rb,0.23329e-04_rb,0.24999e-04_rb,0.25612e-04_rb, & & 0.25350e-04_rb,0.24115e-04_rb,0.21685e-04_rb,0.13408e-04_rb /) kao(:, 4, 7, 8) = (/ & & 0.16482e-04_rb,0.21985e-04_rb,0.25409e-04_rb,0.27506e-04_rb,0.28475e-04_rb, & & 0.28447e-04_rb,0.27347e-04_rb,0.25116e-04_rb,0.16377e-04_rb /) kao(:, 5, 7, 8) = (/ & & 0.16621e-04_rb,0.23483e-04_rb,0.27507e-04_rb,0.30111e-04_rb,0.31449e-04_rb, & & 0.31651e-04_rb,0.30823e-04_rb,0.28853e-04_rb,0.19647e-04_rb /) kao(:, 1, 8, 8) = (/ & & 0.13104e-04_rb,0.15202e-04_rb,0.16227e-04_rb,0.16675e-04_rb,0.16618e-04_rb, & & 0.15949e-04_rb,0.14642e-04_rb,0.11862e-04_rb,0.62741e-05_rb /) kao(:, 2, 8, 8) = (/ & & 0.13296e-04_rb,0.16183e-04_rb,0.17762e-04_rb,0.18645e-04_rb,0.18799e-04_rb, & & 0.18302e-04_rb,0.17108e-04_rb,0.14749e-04_rb,0.81431e-05_rb /) kao(:, 3, 8, 8) = (/ & & 0.13475e-04_rb,0.17250e-04_rb,0.19501e-04_rb,0.20748e-04_rb,0.21144e-04_rb, & & 0.20825e-04_rb,0.19726e-04_rb,0.17623e-04_rb,0.10291e-04_rb /) kao(:, 4, 8, 8) = (/ & & 0.13631e-04_rb,0.18462e-04_rb,0.21319e-04_rb,0.22916e-04_rb,0.23622e-04_rb, & & 0.23509e-04_rb,0.22509e-04_rb,0.20604e-04_rb,0.12727e-04_rb /) kao(:, 5, 8, 8) = (/ & & 0.13752e-04_rb,0.19773e-04_rb,0.23162e-04_rb,0.25182e-04_rb,0.26210e-04_rb, & & 0.26298e-04_rb,0.25526e-04_rb,0.23837e-04_rb,0.15433e-04_rb /) kao(:, 1, 9, 8) = (/ & & 0.10771e-04_rb,0.12580e-04_rb,0.13349e-04_rb,0.13617e-04_rb,0.13459e-04_rb, & & 0.12816e-04_rb,0.11635e-04_rb,0.90636e-05_rb,0.45849e-05_rb /) kao(:, 2, 9, 8) = (/ & & 0.10937e-04_rb,0.13431e-04_rb,0.14667e-04_rb,0.15270e-04_rb,0.15289e-04_rb, & & 0.14786e-04_rb,0.13720e-04_rb,0.11614e-04_rb,0.60707e-05_rb /) kao(:, 3, 9, 8) = (/ & & 0.11095e-04_rb,0.14367e-04_rb,0.16153e-04_rb,0.17055e-04_rb,0.17287e-04_rb, & & 0.16925e-04_rb,0.15948e-04_rb,0.14098e-04_rb,0.78037e-05_rb /) kao(:, 4, 9, 8) = (/ & & 0.11230e-04_rb,0.15436e-04_rb,0.17715e-04_rb,0.18921e-04_rb,0.19404e-04_rb, & & 0.19208e-04_rb,0.18318e-04_rb,0.16668e-04_rb,0.97810e-05_rb /) kao(:, 5, 9, 8) = (/ & & 0.11337e-04_rb,0.16572e-04_rb,0.19310e-04_rb,0.20882e-04_rb,0.21623e-04_rb, & & 0.21621e-04_rb,0.20902e-04_rb,0.19439e-04_rb,0.11994e-04_rb /) kao(:, 1,10, 8) = (/ & & 0.88397e-05_rb,0.10407e-04_rb,0.10992e-04_rb,0.11130e-04_rb,0.10914e-04_rb, & & 0.10319e-04_rb,0.92746e-05_rb,0.69230e-05_rb,0.33878e-05_rb /) kao(:, 2,10, 8) = (/ & & 0.89820e-05_rb,0.11148e-04_rb,0.12114e-04_rb,0.12509e-04_rb,0.12455e-04_rb, & & 0.11973e-04_rb,0.11026e-04_rb,0.91303e-05_rb,0.45777e-05_rb /) kao(:, 3,10, 8) = (/ & & 0.91201e-05_rb,0.11975e-04_rb,0.13369e-04_rb,0.14032e-04_rb,0.14150e-04_rb, & & 0.13774e-04_rb,0.12899e-04_rb,0.11289e-04_rb,0.59718e-05_rb /) kao(:, 4,10, 8) = (/ & & 0.92338e-05_rb,0.12910e-04_rb,0.14708e-04_rb,0.15633e-04_rb,0.15947e-04_rb, & & 0.15711e-04_rb,0.14916e-04_rb,0.13483e-04_rb,0.75778e-05_rb /) kao(:, 5,10, 8) = (/ & & 0.93270e-05_rb,0.13899e-04_rb,0.16089e-04_rb,0.17313e-04_rb,0.17838e-04_rb, & & 0.17779e-04_rb,0.17126e-04_rb,0.15852e-04_rb,0.93849e-05_rb /) kao(:, 1,11, 8) = (/ & & 0.72957e-05_rb,0.88518e-05_rb,0.94180e-05_rb,0.95477e-05_rb,0.93627e-05_rb, & & 0.88681e-05_rb,0.79846e-05_rb,0.60665e-05_rb,0.28938e-05_rb /) kao(:, 2,11, 8) = (/ & & 0.74164e-05_rb,0.95244e-05_rb,0.10413e-04_rb,0.10760e-04_rb,0.10725e-04_rb, & & 0.10300e-04_rb,0.94914e-05_rb,0.79265e-05_rb,0.39145e-05_rb /) kao(:, 3,11, 8) = (/ & & 0.75267e-05_rb,0.10290e-04_rb,0.11516e-04_rb,0.12091e-04_rb,0.12186e-04_rb, & & 0.11866e-04_rb,0.11116e-04_rb,0.97843e-05_rb,0.51152e-05_rb /) kao(:, 4,11, 8) = (/ & & 0.76165e-05_rb,0.11127e-04_rb,0.12682e-04_rb,0.13483e-04_rb,0.13746e-04_rb, & & 0.13546e-04_rb,0.12885e-04_rb,0.11704e-04_rb,0.64876e-05_rb /) kao(:, 5,11, 8) = (/ & & 0.76866e-05_rb,0.11972e-04_rb,0.13896e-04_rb,0.14938e-04_rb,0.15405e-04_rb, & & 0.15374e-04_rb,0.14838e-04_rb,0.13790e-04_rb,0.80319e-05_rb /) kao(:, 1,12, 8) = (/ & & 0.60137e-05_rb,0.75193e-05_rb,0.80348e-05_rb,0.81538e-05_rb,0.80064e-05_rb, & & 0.75822e-05_rb,0.68354e-05_rb,0.52502e-05_rb,0.24674e-05_rb /) kao(:, 2,12, 8) = (/ & & 0.61150e-05_rb,0.81325e-05_rb,0.89089e-05_rb,0.92208e-05_rb,0.91831e-05_rb, & & 0.88171e-05_rb,0.81283e-05_rb,0.68396e-05_rb,0.33429e-05_rb /) kao(:, 3,12, 8) = (/ & & 0.62020e-05_rb,0.88113e-05_rb,0.98818e-05_rb,0.10369e-04_rb,0.10440e-04_rb, & & 0.10164e-04_rb,0.95355e-05_rb,0.84372e-05_rb,0.43683e-05_rb /) kao(:, 4,12, 8) = (/ & & 0.62729e-05_rb,0.95382e-05_rb,0.10890e-04_rb,0.11569e-04_rb,0.11793e-04_rb, & & 0.11630e-04_rb,0.11082e-04_rb,0.10108e-04_rb,0.55358e-05_rb /) kao(:, 5,12, 8) = (/ & & 0.63199e-05_rb,0.10271e-04_rb,0.11934e-04_rb,0.12838e-04_rb,0.13254e-04_rb, & & 0.13231e-04_rb,0.12796e-04_rb,0.11934e-04_rb,0.68492e-05_rb /) kao(:, 1,13, 8) = (/ & & 0.49517e-05_rb,0.63774e-05_rb,0.68261e-05_rb,0.69411e-05_rb,0.68151e-05_rb, & & 0.64513e-05_rb,0.58220e-05_rb,0.45056e-05_rb,0.20980e-05_rb /) kao(:, 2,13, 8) = (/ & & 0.50331e-05_rb,0.69207e-05_rb,0.75990e-05_rb,0.78660e-05_rb,0.78231e-05_rb, & & 0.75119e-05_rb,0.69333e-05_rb,0.58688e-05_rb,0.28426e-05_rb /) kao(:, 3,13, 8) = (/ & & 0.51036e-05_rb,0.75155e-05_rb,0.84393e-05_rb,0.88490e-05_rb,0.89047e-05_rb, & & 0.86720e-05_rb,0.81449e-05_rb,0.72410e-05_rb,0.37114e-05_rb /) kao(:, 4,13, 8) = (/ & & 0.51548e-05_rb,0.81445e-05_rb,0.93105e-05_rb,0.98793e-05_rb,0.10078e-04_rb, & & 0.99535e-05_rb,0.94951e-05_rb,0.86973e-05_rb,0.47002e-05_rb /) kao(:, 5,13, 8) = (/ & & 0.51867e-05_rb,0.87857e-05_rb,0.10211e-04_rb,0.10992e-04_rb,0.11352e-04_rb, & & 0.11351e-04_rb,0.10990e-04_rb,0.10277e-04_rb,0.58153e-05_rb /) kao(:, 1, 1, 9) = (/ & & 0.18292e-03_rb,0.16357e-03_rb,0.15341e-03_rb,0.14585e-03_rb,0.13797e-03_rb, & & 0.12826e-03_rb,0.11477e-03_rb,0.99322e-04_rb,0.99311e-04_rb /) kao(:, 2, 1, 9) = (/ & & 0.18277e-03_rb,0.16502e-03_rb,0.15805e-03_rb,0.15290e-03_rb,0.14696e-03_rb, & & 0.13850e-03_rb,0.12664e-03_rb,0.11419e-03_rb,0.11887e-03_rb /) kao(:, 3, 1, 9) = (/ & & 0.18261e-03_rb,0.16694e-03_rb,0.16322e-03_rb,0.16061e-03_rb,0.15658e-03_rb, & & 0.14997e-03_rb,0.14010e-03_rb,0.13154e-03_rb,0.14123e-03_rb /) kao(:, 4, 1, 9) = (/ & & 0.18244e-03_rb,0.16952e-03_rb,0.16897e-03_rb,0.16909e-03_rb,0.16740e-03_rb, & & 0.16268e-03_rb,0.15556e-03_rb,0.15163e-03_rb,0.16610e-03_rb /) kao(:, 5, 1, 9) = (/ & & 0.18218e-03_rb,0.17247e-03_rb,0.17521e-03_rb,0.17844e-03_rb,0.17911e-03_rb, & & 0.17696e-03_rb,0.17241e-03_rb,0.17370e-03_rb,0.19290e-03_rb /) kao(:, 1, 2, 9) = (/ & & 0.17473e-03_rb,0.15735e-03_rb,0.14910e-03_rb,0.14227e-03_rb,0.13471e-03_rb, & & 0.12515e-03_rb,0.11200e-03_rb,0.94986e-04_rb,0.89520e-04_rb /) kao(:, 2, 2, 9) = (/ & & 0.17467e-03_rb,0.15907e-03_rb,0.15401e-03_rb,0.14953e-03_rb,0.14402e-03_rb, & & 0.13581e-03_rb,0.12401e-03_rb,0.10893e-03_rb,0.10811e-03_rb /) kao(:, 3, 2, 9) = (/ & & 0.17463e-03_rb,0.16142e-03_rb,0.15942e-03_rb,0.15773e-03_rb,0.15417e-03_rb, & & 0.14769e-03_rb,0.13747e-03_rb,0.12528e-03_rb,0.12924e-03_rb /) kao(:, 4, 2, 9) = (/ & & 0.17449e-03_rb,0.16426e-03_rb,0.16549e-03_rb,0.16671e-03_rb,0.16541e-03_rb, & & 0.16085e-03_rb,0.15263e-03_rb,0.14389e-03_rb,0.15270e-03_rb /) kao(:, 5, 2, 9) = (/ & & 0.17439e-03_rb,0.16753e-03_rb,0.17238e-03_rb,0.17658e-03_rb,0.17759e-03_rb, & & 0.17537e-03_rb,0.16910e-03_rb,0.16442e-03_rb,0.17796e-03_rb /) kao(:, 1, 3, 9) = (/ & & 0.16429e-03_rb,0.14895e-03_rb,0.14201e-03_rb,0.13557e-03_rb,0.12797e-03_rb, & & 0.11829e-03_rb,0.10548e-03_rb,0.88188e-04_rb,0.77280e-04_rb /) kao(:, 2, 3, 9) = (/ & & 0.16436e-03_rb,0.15092e-03_rb,0.14708e-03_rb,0.14277e-03_rb,0.13731e-03_rb, & & 0.12899e-03_rb,0.11719e-03_rb,0.10108e-03_rb,0.94071e-04_rb /) kao(:, 3, 3, 9) = (/ & & 0.16438e-03_rb,0.15344e-03_rb,0.15259e-03_rb,0.15105e-03_rb,0.14760e-03_rb, & & 0.14078e-03_rb,0.13037e-03_rb,0.11602e-03_rb,0.11331e-03_rb /) kao(:, 4, 3, 9) = (/ & & 0.16440e-03_rb,0.15651e-03_rb,0.15877e-03_rb,0.16021e-03_rb,0.15883e-03_rb, & & 0.15394e-03_rb,0.14519e-03_rb,0.13303e-03_rb,0.13463e-03_rb /) kao(:, 5, 3, 9) = (/ & & 0.16444e-03_rb,0.16001e-03_rb,0.16595e-03_rb,0.17023e-03_rb,0.17105e-03_rb, & & 0.16855e-03_rb,0.16116e-03_rb,0.15159e-03_rb,0.15764e-03_rb /) kao(:, 1, 4, 9) = (/ & & 0.15195e-03_rb,0.13883e-03_rb,0.13294e-03_rb,0.12699e-03_rb,0.11928e-03_rb, & & 0.10948e-03_rb,0.97355e-04_rb,0.80985e-04_rb,0.65303e-04_rb /) kao(:, 2, 4, 9) = (/ & & 0.15212e-03_rb,0.14097e-03_rb,0.13802e-03_rb,0.13404e-03_rb,0.12836e-03_rb, & & 0.11996e-03_rb,0.10855e-03_rb,0.92884e-04_rb,0.80285e-04_rb /) kao(:, 3, 4, 9) = (/ & & 0.15229e-03_rb,0.14364e-03_rb,0.14356e-03_rb,0.14222e-03_rb,0.13844e-03_rb, & & 0.13147e-03_rb,0.12124e-03_rb,0.10661e-03_rb,0.97473e-04_rb /) kao(:, 4, 4, 9) = (/ & & 0.15247e-03_rb,0.14694e-03_rb,0.14987e-03_rb,0.15132e-03_rb,0.14947e-03_rb, & & 0.14428e-03_rb,0.13562e-03_rb,0.12218e-03_rb,0.11647e-03_rb /) kao(:, 5, 4, 9) = (/ & & 0.15268e-03_rb,0.15064e-03_rb,0.15719e-03_rb,0.16126e-03_rb,0.16162e-03_rb, & & 0.15869e-03_rb,0.15101e-03_rb,0.13904e-03_rb,0.13733e-03_rb /) kao(:, 1, 5, 9) = (/ & & 0.13846e-03_rb,0.12761e-03_rb,0.12265e-03_rb,0.11713e-03_rb,0.10945e-03_rb, & & 0.10011e-03_rb,0.88713e-04_rb,0.73647e-04_rb,0.54834e-04_rb /) kao(:, 2, 5, 9) = (/ & & 0.13872e-03_rb,0.12987e-03_rb,0.12766e-03_rb,0.12392e-03_rb,0.11814e-03_rb, & & 0.11013e-03_rb,0.99375e-04_rb,0.84759e-04_rb,0.68007e-04_rb /) kao(:, 3, 5, 9) = (/ & & 0.13899e-03_rb,0.13272e-03_rb,0.13319e-03_rb,0.13187e-03_rb,0.12795e-03_rb, & & 0.12108e-03_rb,0.11145e-03_rb,0.97499e-04_rb,0.83096e-04_rb /) kao(:, 4, 5, 9) = (/ & & 0.13930e-03_rb,0.13617e-03_rb,0.13955e-03_rb,0.14081e-03_rb,0.13862e-03_rb, & & 0.13340e-03_rb,0.12522e-03_rb,0.11183e-03_rb,0.99891e-04_rb /) kao(:, 5, 5, 9) = (/ & & 0.13961e-03_rb,0.13997e-03_rb,0.14692e-03_rb,0.15049e-03_rb,0.15045e-03_rb, & & 0.14736e-03_rb,0.14024e-03_rb,0.12733e-03_rb,0.11865e-03_rb /) kao(:, 1, 6, 9) = (/ & & 0.12419e-03_rb,0.11551e-03_rb,0.11132e-03_rb,0.10604e-03_rb,0.98912e-04_rb, & & 0.90174e-04_rb,0.79553e-04_rb,0.65781e-04_rb,0.45228e-04_rb /) kao(:, 2, 6, 9) = (/ & & 0.12454e-03_rb,0.11786e-03_rb,0.11619e-03_rb,0.11259e-03_rb,0.10704e-03_rb, & & 0.99552e-04_rb,0.89546e-04_rb,0.76061e-04_rb,0.56748e-04_rb /) kao(:, 3, 6, 9) = (/ & & 0.12490e-03_rb,0.12081e-03_rb,0.12161e-03_rb,0.12024e-03_rb,0.11632e-03_rb, & & 0.10988e-03_rb,0.10081e-03_rb,0.87950e-04_rb,0.69901e-04_rb /) kao(:, 4, 6, 9) = (/ & & 0.12528e-03_rb,0.12425e-03_rb,0.12796e-03_rb,0.12887e-03_rb,0.12649e-03_rb, & & 0.12150e-03_rb,0.11381e-03_rb,0.10130e-03_rb,0.84575e-04_rb /) kao(:, 5, 6, 9) = (/ & & 0.12568e-03_rb,0.12811e-03_rb,0.13519e-03_rb,0.13816e-03_rb,0.13780e-03_rb, & & 0.13476e-03_rb,0.12819e-03_rb,0.11553e-03_rb,0.10091e-03_rb /) kao(:, 1, 7, 9) = (/ & & 0.10978e-03_rb,0.10308e-03_rb,0.99508e-04_rb,0.94571e-04_rb,0.88120e-04_rb, & & 0.80226e-04_rb,0.70492e-04_rb,0.57993e-04_rb,0.36699e-04_rb /) kao(:, 2, 7, 9) = (/ & & 0.11018e-03_rb,0.10544e-03_rb,0.10415e-03_rb,0.10080e-03_rb,0.95769e-04_rb, & & 0.88865e-04_rb,0.79698e-04_rb,0.67450e-04_rb,0.46683e-04_rb /) kao(:, 3, 7, 9) = (/ & & 0.11058e-03_rb,0.10837e-03_rb,0.10936e-03_rb,0.10807e-03_rb,0.10453e-03_rb, & & 0.98497e-04_rb,0.90104e-04_rb,0.78443e-04_rb,0.58212e-04_rb /) kao(:, 4, 7, 9) = (/ & & 0.11104e-03_rb,0.11179e-03_rb,0.11551e-03_rb,0.11629e-03_rb,0.11409e-03_rb, & & 0.10934e-03_rb,0.10217e-03_rb,0.90913e-04_rb,0.71131e-04_rb /) kao(:, 5, 7, 9) = (/ & & 0.11149e-03_rb,0.11560e-03_rb,0.12257e-03_rb,0.12521e-03_rb,0.12472e-03_rb, & & 0.12180e-03_rb,0.11572e-03_rb,0.10421e-03_rb,0.85542e-04_rb /) kao(:, 1, 8, 9) = (/ & & 0.95759e-04_rb,0.90773e-04_rb,0.87806e-04_rb,0.83290e-04_rb,0.77515e-04_rb, & & 0.70528e-04_rb,0.61795e-04_rb,0.50465e-04_rb,0.29380e-04_rb /) kao(:, 2, 8, 9) = (/ & & 0.96189e-04_rb,0.93120e-04_rb,0.92132e-04_rb,0.89103e-04_rb,0.84653e-04_rb, & & 0.78456e-04_rb,0.70159e-04_rb,0.59177e-04_rb,0.37867e-04_rb /) kao(:, 3, 8, 9) = (/ & & 0.96665e-04_rb,0.96018e-04_rb,0.97008e-04_rb,0.95975e-04_rb,0.92760e-04_rb, & & 0.87379e-04_rb,0.79687e-04_rb,0.69248e-04_rb,0.47855e-04_rb /) kao(:, 4, 8, 9) = (/ & & 0.97168e-04_rb,0.99322e-04_rb,0.10289e-03_rb,0.10373e-03_rb,0.10169e-03_rb, & & 0.97397e-04_rb,0.90796e-04_rb,0.80805e-04_rb,0.59240e-04_rb /) kao(:, 5, 8, 9) = (/ & & 0.97641e-04_rb,0.10302e-03_rb,0.10967e-03_rb,0.11218e-03_rb,0.11166e-03_rb, & & 0.10896e-03_rb,0.10343e-03_rb,0.93210e-04_rb,0.71998e-04_rb /) kao(:, 1, 9, 9) = (/ & & 0.82482e-04_rb,0.78941e-04_rb,0.76398e-04_rb,0.72429e-04_rb,0.67369e-04_rb, & & 0.61188e-04_rb,0.53486e-04_rb,0.43219e-04_rb,0.23144e-04_rb /) kao(:, 2, 9, 9) = (/ & & 0.82941e-04_rb,0.81194e-04_rb,0.80391e-04_rb,0.77783e-04_rb,0.73924e-04_rb, & & 0.68383e-04_rb,0.61055e-04_rb,0.51145e-04_rb,0.30235e-04_rb /) kao(:, 3, 9, 9) = (/ & & 0.83462e-04_rb,0.83998e-04_rb,0.84977e-04_rb,0.84161e-04_rb,0.81323e-04_rb, & & 0.76538e-04_rb,0.69739e-04_rb,0.60350e-04_rb,0.38714e-04_rb /) kao(:, 4, 9, 9) = (/ & & 0.83976e-04_rb,0.87153e-04_rb,0.90583e-04_rb,0.91413e-04_rb,0.89589e-04_rb, & & 0.85741e-04_rb,0.79900e-04_rb,0.70947e-04_rb,0.48553e-04_rb /) kao(:, 5, 9, 9) = (/ & & 0.84461e-04_rb,0.90734e-04_rb,0.96938e-04_rb,0.99296e-04_rb,0.98864e-04_rb, & & 0.96399e-04_rb,0.91511e-04_rb,0.82490e-04_rb,0.59777e-04_rb /) kao(:, 1,10, 9) = (/ & & 0.70371e-04_rb,0.68110e-04_rb,0.65986e-04_rb,0.62636e-04_rb,0.58303e-04_rb, & & 0.52961e-04_rb,0.46122e-04_rb,0.37036e-04_rb,0.18341e-04_rb /) kao(:, 2,10, 9) = (/ & & 0.70853e-04_rb,0.70288e-04_rb,0.69669e-04_rb,0.67543e-04_rb,0.64271e-04_rb, & & 0.59496e-04_rb,0.53052e-04_rb,0.44224e-04_rb,0.24306e-04_rb /) kao(:, 3,10, 9) = (/ & & 0.71373e-04_rb,0.72956e-04_rb,0.74034e-04_rb,0.73423e-04_rb,0.71076e-04_rb, & & 0.66934e-04_rb,0.61048e-04_rb,0.52623e-04_rb,0.31537e-04_rb /) kao(:, 4,10, 9) = (/ & & 0.71862e-04_rb,0.75946e-04_rb,0.79283e-04_rb,0.80149e-04_rb,0.78712e-04_rb, & & 0.75412e-04_rb,0.70399e-04_rb,0.62323e-04_rb,0.40041e-04_rb /) kao(:, 5,10, 9) = (/ & & 0.72376e-04_rb,0.79405e-04_rb,0.85220e-04_rb,0.87544e-04_rb,0.87332e-04_rb, & & 0.85268e-04_rb,0.81104e-04_rb,0.73085e-04_rb,0.49845e-04_rb /) kao(:, 1,11, 9) = (/ & & 0.59776e-04_rb,0.59155e-04_rb,0.57996e-04_rb,0.55642e-04_rb,0.52323e-04_rb, & & 0.47930e-04_rb,0.42036e-04_rb,0.34179e-04_rb,0.16514e-04_rb /) kao(:, 2,11, 9) = (/ & & 0.60275e-04_rb,0.61436e-04_rb,0.61654e-04_rb,0.60490e-04_rb,0.58055e-04_rb, & & 0.54242e-04_rb,0.48750e-04_rb,0.41144e-04_rb,0.21987e-04_rb /) kao(:, 3,11, 9) = (/ & & 0.60746e-04_rb,0.64075e-04_rb,0.66078e-04_rb,0.66233e-04_rb,0.64629e-04_rb, & & 0.61455e-04_rb,0.56611e-04_rb,0.49290e-04_rb,0.28648e-04_rb /) kao(:, 4,11, 9) = (/ & & 0.61244e-04_rb,0.67066e-04_rb,0.71217e-04_rb,0.72696e-04_rb,0.72050e-04_rb, & & 0.69816e-04_rb,0.65797e-04_rb,0.58590e-04_rb,0.36515e-04_rb /) kao(:, 5,11, 9) = (/ & & 0.61769e-04_rb,0.70693e-04_rb,0.76979e-04_rb,0.79872e-04_rb,0.80561e-04_rb, & & 0.79478e-04_rb,0.76089e-04_rb,0.68898e-04_rb,0.45628e-04_rb /) kao(:, 1,12, 9) = (/ & & 0.50518e-04_rb,0.51187e-04_rb,0.50822e-04_rb,0.49284e-04_rb,0.46769e-04_rb, & & 0.43097e-04_rb,0.38110e-04_rb,0.31379e-04_rb,0.14783e-04_rb /) kao(:, 2,12, 9) = (/ & & 0.50964e-04_rb,0.53463e-04_rb,0.54457e-04_rb,0.54020e-04_rb,0.52266e-04_rb, & & 0.49174e-04_rb,0.44595e-04_rb,0.38042e-04_rb,0.19796e-04_rb /) kao(:, 3,12, 9) = (/ & & 0.51421e-04_rb,0.56033e-04_rb,0.58762e-04_rb,0.59481e-04_rb,0.58578e-04_rb, & & 0.56207e-04_rb,0.52260e-04_rb,0.45820e-04_rb,0.25919e-04_rb /) kao(:, 4,12, 9) = (/ & & 0.51920e-04_rb,0.59121e-04_rb,0.63731e-04_rb,0.65674e-04_rb,0.65806e-04_rb, & & 0.64464e-04_rb,0.61120e-04_rb,0.54677e-04_rb,0.33164e-04_rb /) kao(:, 5,12, 9) = (/ & & 0.52396e-04_rb,0.62780e-04_rb,0.69274e-04_rb,0.72637e-04_rb,0.74145e-04_rb, & & 0.73831e-04_rb,0.71039e-04_rb,0.64514e-04_rb,0.41597e-04_rb /) kao(:, 1,13, 9) = (/ & & 0.42486e-04_rb,0.44174e-04_rb,0.44463e-04_rb,0.43555e-04_rb,0.41568e-04_rb, & & 0.38563e-04_rb,0.34384e-04_rb,0.28625e-04_rb,0.13171e-04_rb /) kao(:, 2,13, 9) = (/ & & 0.42904e-04_rb,0.46376e-04_rb,0.47979e-04_rb,0.48065e-04_rb,0.46867e-04_rb, & & 0.44391e-04_rb,0.40615e-04_rb,0.34938e-04_rb,0.17746e-04_rb /) kao(:, 3,13, 9) = (/ & & 0.43349e-04_rb,0.48965e-04_rb,0.52137e-04_rb,0.53262e-04_rb,0.52962e-04_rb, & & 0.51246e-04_rb,0.47996e-04_rb,0.42282e-04_rb,0.23342e-04_rb /) kao(:, 4,13, 9) = (/ & & 0.43790e-04_rb,0.52076e-04_rb,0.56889e-04_rb,0.59186e-04_rb,0.60002e-04_rb, & & 0.59254e-04_rb,0.56460e-04_rb,0.50705e-04_rb,0.29999e-04_rb /) kao(:, 5,13, 9) = (/ & & 0.44254e-04_rb,0.55629e-04_rb,0.62209e-04_rb,0.65993e-04_rb,0.68105e-04_rb, & & 0.68270e-04_rb,0.65941e-04_rb,0.60145e-04_rb,0.37728e-04_rb /) kao(:, 1, 1,10) = (/ & & 0.42864e-03_rb,0.37538e-03_rb,0.32907e-03_rb,0.29701e-03_rb,0.26399e-03_rb, & & 0.23587e-03_rb,0.21519e-03_rb,0.20736e-03_rb,0.23690e-03_rb /) kao(:, 2, 1,10) = (/ & & 0.42770e-03_rb,0.37463e-03_rb,0.33468e-03_rb,0.30443e-03_rb,0.27635e-03_rb, & & 0.25424e-03_rb,0.24068e-03_rb,0.24289e-03_rb,0.27885e-03_rb /) kao(:, 3, 1,10) = (/ & & 0.42742e-03_rb,0.37444e-03_rb,0.34109e-03_rb,0.31378e-03_rb,0.29265e-03_rb, & & 0.27618e-03_rb,0.26729e-03_rb,0.27967e-03_rb,0.32090e-03_rb /) kao(:, 4, 1,10) = (/ & & 0.42756e-03_rb,0.37461e-03_rb,0.34714e-03_rb,0.32647e-03_rb,0.30721e-03_rb, & & 0.29888e-03_rb,0.29503e-03_rb,0.31853e-03_rb,0.36629e-03_rb /) kao(:, 5, 1,10) = (/ & & 0.42817e-03_rb,0.37676e-03_rb,0.35506e-03_rb,0.34027e-03_rb,0.32593e-03_rb, & & 0.32117e-03_rb,0.33159e-03_rb,0.36650e-03_rb,0.42307e-03_rb /) kao(:, 1, 2,10) = (/ & & 0.44647e-03_rb,0.39099e-03_rb,0.34399e-03_rb,0.31315e-03_rb,0.27681e-03_rb, & & 0.24757e-03_rb,0.21977e-03_rb,0.20260e-03_rb,0.22465e-03_rb /) kao(:, 2, 2,10) = (/ & & 0.44675e-03_rb,0.39126e-03_rb,0.35094e-03_rb,0.32069e-03_rb,0.29009e-03_rb, & & 0.26696e-03_rb,0.24338e-03_rb,0.23431e-03_rb,0.26448e-03_rb /) kao(:, 3, 2,10) = (/ & & 0.44728e-03_rb,0.39176e-03_rb,0.35848e-03_rb,0.33002e-03_rb,0.30752e-03_rb, & & 0.28763e-03_rb,0.26835e-03_rb,0.26923e-03_rb,0.30805e-03_rb /) kao(:, 4, 2,10) = (/ & & 0.44805e-03_rb,0.39321e-03_rb,0.36547e-03_rb,0.34473e-03_rb,0.32431e-03_rb, & & 0.30833e-03_rb,0.29659e-03_rb,0.31021e-03_rb,0.35789e-03_rb /) kao(:, 5, 2,10) = (/ & & 0.44833e-03_rb,0.39641e-03_rb,0.37373e-03_rb,0.35955e-03_rb,0.34286e-03_rb, & & 0.33059e-03_rb,0.33253e-03_rb,0.36056e-03_rb,0.41785e-03_rb /) kao(:, 1, 3,10) = (/ & & 0.45575e-03_rb,0.39903e-03_rb,0.35239e-03_rb,0.32061e-03_rb,0.28610e-03_rb, & & 0.25358e-03_rb,0.22160e-03_rb,0.19044e-03_rb,0.19754e-03_rb /) kao(:, 2, 3,10) = (/ & & 0.45658e-03_rb,0.39983e-03_rb,0.35980e-03_rb,0.32984e-03_rb,0.29898e-03_rb, & & 0.27505e-03_rb,0.24328e-03_rb,0.21905e-03_rb,0.23515e-03_rb /) kao(:, 3, 3,10) = (/ & & 0.45737e-03_rb,0.40126e-03_rb,0.36866e-03_rb,0.34025e-03_rb,0.31808e-03_rb, & & 0.29648e-03_rb,0.26565e-03_rb,0.25100e-03_rb,0.27824e-03_rb /) kao(:, 4, 3,10) = (/ & & 0.45822e-03_rb,0.40344e-03_rb,0.37727e-03_rb,0.35639e-03_rb,0.33753e-03_rb, & & 0.31544e-03_rb,0.29107e-03_rb,0.29011e-03_rb,0.33040e-03_rb /) kao(:, 5, 3,10) = (/ & & 0.45803e-03_rb,0.40724e-03_rb,0.38685e-03_rb,0.37303e-03_rb,0.35804e-03_rb, & & 0.33477e-03_rb,0.32542e-03_rb,0.34063e-03_rb,0.39188e-03_rb /) kao(:, 1, 4,10) = (/ & & 0.45696e-03_rb,0.40009e-03_rb,0.35533e-03_rb,0.32134e-03_rb,0.28977e-03_rb, & & 0.25642e-03_rb,0.22005e-03_rb,0.17825e-03_rb,0.16960e-03_rb /) kao(:, 2, 4,10) = (/ & & 0.45799e-03_rb,0.40164e-03_rb,0.36303e-03_rb,0.33235e-03_rb,0.30343e-03_rb, & & 0.27796e-03_rb,0.24341e-03_rb,0.20303e-03_rb,0.20347e-03_rb /) kao(:, 3, 4,10) = (/ & & 0.45889e-03_rb,0.40391e-03_rb,0.37251e-03_rb,0.34409e-03_rb,0.32396e-03_rb, & & 0.30068e-03_rb,0.26403e-03_rb,0.23112e-03_rb,0.24434e-03_rb /) kao(:, 4, 4,10) = (/ & & 0.45955e-03_rb,0.40640e-03_rb,0.38203e-03_rb,0.36158e-03_rb,0.34561e-03_rb, & & 0.32162e-03_rb,0.28613e-03_rb,0.26715e-03_rb,0.29513e-03_rb /) kao(:, 5, 4,10) = (/ & & 0.45899e-03_rb,0.41016e-03_rb,0.39290e-03_rb,0.38024e-03_rb,0.36719e-03_rb, & & 0.34183e-03_rb,0.31736e-03_rb,0.31348e-03_rb,0.35430e-03_rb /) kao(:, 1, 5,10) = (/ & & 0.44860e-03_rb,0.39309e-03_rb,0.35143e-03_rb,0.31765e-03_rb,0.28887e-03_rb, & & 0.25439e-03_rb,0.21652e-03_rb,0.16876e-03_rb,0.14333e-03_rb /) kao(:, 2, 5,10) = (/ & & 0.45003e-03_rb,0.39579e-03_rb,0.35959e-03_rb,0.33075e-03_rb,0.30371e-03_rb, & & 0.27559e-03_rb,0.24058e-03_rb,0.19058e-03_rb,0.17442e-03_rb /) kao(:, 3, 5,10) = (/ & & 0.45146e-03_rb,0.39890e-03_rb,0.36951e-03_rb,0.34437e-03_rb,0.32442e-03_rb, & & 0.30040e-03_rb,0.26223e-03_rb,0.21520e-03_rb,0.21295e-03_rb /) kao(:, 4, 5,10) = (/ & & 0.45218e-03_rb,0.40151e-03_rb,0.38022e-03_rb,0.36228e-03_rb,0.34802e-03_rb, & & 0.32336e-03_rb,0.28327e-03_rb,0.24766e-03_rb,0.26132e-03_rb /) kao(:, 5, 5,10) = (/ & & 0.45207e-03_rb,0.40582e-03_rb,0.39175e-03_rb,0.38293e-03_rb,0.37072e-03_rb, & & 0.34500e-03_rb,0.31037e-03_rb,0.29012e-03_rb,0.31661e-03_rb /) kao(:, 1, 6,10) = (/ & & 0.43374e-03_rb,0.38081e-03_rb,0.34182e-03_rb,0.31060e-03_rb,0.28045e-03_rb, & & 0.24697e-03_rb,0.20889e-03_rb,0.16055e-03_rb,0.12036e-03_rb /) kao(:, 2, 6,10) = (/ & & 0.43531e-03_rb,0.38407e-03_rb,0.35000e-03_rb,0.32358e-03_rb,0.29721e-03_rb, & & 0.26821e-03_rb,0.23298e-03_rb,0.18104e-03_rb,0.14668e-03_rb /) kao(:, 3, 6,10) = (/ & & 0.43706e-03_rb,0.38738e-03_rb,0.35982e-03_rb,0.33840e-03_rb,0.31879e-03_rb, & & 0.29390e-03_rb,0.25605e-03_rb,0.20200e-03_rb,0.18191e-03_rb /) kao(:, 4, 6,10) = (/ & & 0.43807e-03_rb,0.39050e-03_rb,0.37037e-03_rb,0.35740e-03_rb,0.34372e-03_rb, & & 0.31863e-03_rb,0.27734e-03_rb,0.23003e-03_rb,0.22665e-03_rb /) kao(:, 5, 6,10) = (/ & & 0.43877e-03_rb,0.39551e-03_rb,0.38302e-03_rb,0.38004e-03_rb,0.36796e-03_rb, & & 0.34140e-03_rb,0.30328e-03_rb,0.26832e-03_rb,0.27676e-03_rb /) kao(:, 1, 7,10) = (/ & & 0.41256e-03_rb,0.36341e-03_rb,0.32806e-03_rb,0.30023e-03_rb,0.26855e-03_rb, & & 0.23444e-03_rb,0.19788e-03_rb,0.15062e-03_rb,0.10262e-03_rb /) kao(:, 2, 7,10) = (/ & & 0.41482e-03_rb,0.36772e-03_rb,0.33624e-03_rb,0.31297e-03_rb,0.28556e-03_rb, & & 0.25627e-03_rb,0.22127e-03_rb,0.17072e-03_rb,0.12601e-03_rb /) kao(:, 3, 7,10) = (/ & & 0.41718e-03_rb,0.37142e-03_rb,0.34661e-03_rb,0.32744e-03_rb,0.30719e-03_rb, & & 0.28254e-03_rb,0.24553e-03_rb,0.19044e-03_rb,0.15628e-03_rb /) kao(:, 4, 7,10) = (/ & & 0.41872e-03_rb,0.37555e-03_rb,0.35755e-03_rb,0.34713e-03_rb,0.33306e-03_rb, & & 0.30832e-03_rb,0.26791e-03_rb,0.21481e-03_rb,0.19464e-03_rb /) kao(:, 5, 7,10) = (/ & & 0.42048e-03_rb,0.38195e-03_rb,0.37042e-03_rb,0.37076e-03_rb,0.35893e-03_rb, & & 0.33177e-03_rb,0.29351e-03_rb,0.24858e-03_rb,0.23890e-03_rb /) kao(:, 1, 8,10) = (/ & & 0.38528e-03_rb,0.34132e-03_rb,0.30950e-03_rb,0.28435e-03_rb,0.25387e-03_rb, & & 0.21998e-03_rb,0.18381e-03_rb,0.13995e-03_rb,0.86291e-04_rb /) kao(:, 2, 8,10) = (/ & & 0.38813e-03_rb,0.34604e-03_rb,0.31840e-03_rb,0.29716e-03_rb,0.26994e-03_rb, & & 0.24125e-03_rb,0.20696e-03_rb,0.15919e-03_rb,0.10863e-03_rb /) kao(:, 3, 8,10) = (/ & & 0.39073e-03_rb,0.35038e-03_rb,0.33010e-03_rb,0.31128e-03_rb,0.29227e-03_rb, & & 0.26641e-03_rb,0.23195e-03_rb,0.17813e-03_rb,0.13616e-03_rb /) kao(:, 4, 8,10) = (/ & & 0.39281e-03_rb,0.35556e-03_rb,0.34140e-03_rb,0.33132e-03_rb,0.31814e-03_rb, & & 0.29308e-03_rb,0.25493e-03_rb,0.20064e-03_rb,0.16931e-03_rb /) kao(:, 5, 8,10) = (/ & & 0.39565e-03_rb,0.36362e-03_rb,0.35480e-03_rb,0.35632e-03_rb,0.34483e-03_rb, & & 0.31779e-03_rb,0.27994e-03_rb,0.23183e-03_rb,0.20721e-03_rb /) kao(:, 1, 9,10) = (/ & & 0.35353e-03_rb,0.31534e-03_rb,0.28844e-03_rb,0.26382e-03_rb,0.23534e-03_rb, & & 0.20347e-03_rb,0.16850e-03_rb,0.12923e-03_rb,0.71856e-04_rb /) kao(:, 2, 9,10) = (/ & & 0.35704e-03_rb,0.32078e-03_rb,0.29797e-03_rb,0.27689e-03_rb,0.25047e-03_rb, & & 0.22397e-03_rb,0.19066e-03_rb,0.14773e-03_rb,0.92561e-04_rb /) kao(:, 3, 9,10) = (/ & & 0.36000e-03_rb,0.32561e-03_rb,0.31012e-03_rb,0.29082e-03_rb,0.27253e-03_rb, & & 0.24851e-03_rb,0.21457e-03_rb,0.16607e-03_rb,0.11811e-03_rb /) kao(:, 4, 9,10) = (/ & & 0.36298e-03_rb,0.33189e-03_rb,0.32100e-03_rb,0.31077e-03_rb,0.29911e-03_rb, & & 0.27480e-03_rb,0.23785e-03_rb,0.18730e-03_rb,0.14849e-03_rb /) kao(:, 5, 9,10) = (/ & & 0.36645e-03_rb,0.34041e-03_rb,0.33535e-03_rb,0.33583e-03_rb,0.32646e-03_rb, & & 0.29975e-03_rb,0.26277e-03_rb,0.21618e-03_rb,0.18220e-03_rb /) kao(:, 1,10,10) = (/ & & 0.31882e-03_rb,0.28657e-03_rb,0.26462e-03_rb,0.24132e-03_rb,0.21534e-03_rb, & & 0.18636e-03_rb,0.15549e-03_rb,0.11817e-03_rb,0.60706e-04_rb /) kao(:, 2,10,10) = (/ & & 0.32301e-03_rb,0.29267e-03_rb,0.27519e-03_rb,0.25478e-03_rb,0.23046e-03_rb, & & 0.20560e-03_rb,0.17582e-03_rb,0.13638e-03_rb,0.79531e-04_rb /) kao(:, 3,10,10) = (/ & & 0.32639e-03_rb,0.29816e-03_rb,0.28709e-03_rb,0.26927e-03_rb,0.25170e-03_rb, & & 0.23027e-03_rb,0.19794e-03_rb,0.15520e-03_rb,0.10253e-03_rb /) kao(:, 4,10,10) = (/ & & 0.33008e-03_rb,0.30559e-03_rb,0.29823e-03_rb,0.28948e-03_rb,0.27786e-03_rb, & & 0.25639e-03_rb,0.22020e-03_rb,0.17621e-03_rb,0.13035e-03_rb /) kao(:, 5,10,10) = (/ & & 0.33429e-03_rb,0.31481e-03_rb,0.31383e-03_rb,0.31396e-03_rb,0.30544e-03_rb, & & 0.28143e-03_rb,0.24487e-03_rb,0.20336e-03_rb,0.16246e-03_rb /) kao(:, 1,11,10) = (/ & & 0.28433e-03_rb,0.25922e-03_rb,0.24227e-03_rb,0.22327e-03_rb,0.20067e-03_rb, & & 0.17618e-03_rb,0.15050e-03_rb,0.11425e-03_rb,0.57921e-04_rb /) kao(:, 2,11,10) = (/ & & 0.28828e-03_rb,0.26532e-03_rb,0.25425e-03_rb,0.23723e-03_rb,0.21797e-03_rb, & & 0.19695e-03_rb,0.17056e-03_rb,0.13252e-03_rb,0.76361e-04_rb /) kao(:, 3,11,10) = (/ & & 0.29236e-03_rb,0.27228e-03_rb,0.26588e-03_rb,0.25415e-03_rb,0.24099e-03_rb, & & 0.22135e-03_rb,0.19174e-03_rb,0.15232e-03_rb,0.98360e-04_rb /) kao(:, 4,11,10) = (/ & & 0.29717e-03_rb,0.28209e-03_rb,0.27970e-03_rb,0.27650e-03_rb,0.26714e-03_rb, & & 0.24681e-03_rb,0.21371e-03_rb,0.17631e-03_rb,0.12518e-03_rb /) kao(:, 5,11,10) = (/ & & 0.30177e-03_rb,0.29180e-03_rb,0.29905e-03_rb,0.30274e-03_rb,0.29362e-03_rb, & & 0.27208e-03_rb,0.24087e-03_rb,0.20461e-03_rb,0.15616e-03_rb /) kao(:, 1,12,10) = (/ & & 0.24998e-03_rb,0.23220e-03_rb,0.21962e-03_rb,0.20418e-03_rb,0.18598e-03_rb, & & 0.16635e-03_rb,0.14319e-03_rb,0.11002e-03_rb,0.54657e-04_rb /) kao(:, 2,12,10) = (/ & & 0.25422e-03_rb,0.23880e-03_rb,0.23171e-03_rb,0.21907e-03_rb,0.20484e-03_rb, & & 0.18724e-03_rb,0.16371e-03_rb,0.12837e-03_rb,0.72183e-04_rb /) kao(:, 3,12,10) = (/ & & 0.25909e-03_rb,0.24827e-03_rb,0.24443e-03_rb,0.23867e-03_rb,0.22868e-03_rb, & & 0.21084e-03_rb,0.18482e-03_rb,0.14974e-03_rb,0.93395e-04_rb /) kao(:, 4,12,10) = (/ & & 0.26399e-03_rb,0.25851e-03_rb,0.26208e-03_rb,0.26298e-03_rb,0.25438e-03_rb, & & 0.23482e-03_rb,0.20834e-03_rb,0.17589e-03_rb,0.11924e-03_rb /) kao(:, 5,12,10) = (/ & & 0.26914e-03_rb,0.26866e-03_rb,0.28401e-03_rb,0.28945e-03_rb,0.28022e-03_rb, & & 0.26150e-03_rb,0.23750e-03_rb,0.20542e-03_rb,0.14923e-03_rb /) kao(:, 1,13,10) = (/ & & 0.21751e-03_rb,0.20608e-03_rb,0.19731e-03_rb,0.18540e-03_rb,0.17208e-03_rb, & & 0.15624e-03_rb,0.13474e-03_rb,0.10527e-03_rb,0.50953e-04_rb /) kao(:, 2,13,10) = (/ & & 0.22228e-03_rb,0.21439e-03_rb,0.20968e-03_rb,0.20158e-03_rb,0.19151e-03_rb, & & 0.17720e-03_rb,0.15564e-03_rb,0.12461e-03_rb,0.67516e-04_rb /) kao(:, 3,13,10) = (/ & & 0.22727e-03_rb,0.22462e-03_rb,0.22474e-03_rb,0.22318e-03_rb,0.21469e-03_rb, & & 0.19989e-03_rb,0.17790e-03_rb,0.14782e-03_rb,0.88180e-04_rb /) kao(:, 4,13,10) = (/ & & 0.23242e-03_rb,0.23488e-03_rb,0.24462e-03_rb,0.24805e-03_rb,0.24003e-03_rb, & & 0.22364e-03_rb,0.20382e-03_rb,0.17470e-03_rb,0.11335e-03_rb /) kao(:, 5,13,10) = (/ & & 0.23819e-03_rb,0.24692e-03_rb,0.26797e-03_rb,0.27413e-03_rb,0.26611e-03_rb, & & 0.25207e-03_rb,0.23456e-03_rb,0.20493e-03_rb,0.14302e-03_rb /) kao(:, 1, 1,11) = (/ & & 0.54188e-03_rb,0.47438e-03_rb,0.41220e-03_rb,0.36319e-03_rb,0.32177e-03_rb, & & 0.28178e-03_rb,0.26195e-03_rb,0.26768e-03_rb,0.30988e-03_rb /) kao(:, 2, 1,11) = (/ & & 0.53863e-03_rb,0.47157e-03_rb,0.41235e-03_rb,0.37142e-03_rb,0.33314e-03_rb, & & 0.30667e-03_rb,0.29622e-03_rb,0.31573e-03_rb,0.36594e-03_rb /) kao(:, 3, 1,11) = (/ & & 0.53537e-03_rb,0.46873e-03_rb,0.41881e-03_rb,0.37881e-03_rb,0.35190e-03_rb, & & 0.33275e-03_rb,0.33720e-03_rb,0.36928e-03_rb,0.42810e-03_rb /) kao(:, 4, 1,11) = (/ & & 0.53255e-03_rb,0.46630e-03_rb,0.42443e-03_rb,0.38945e-03_rb,0.37640e-03_rb, & & 0.36424e-03_rb,0.38086e-03_rb,0.42782e-03_rb,0.49486e-03_rb /) kao(:, 5, 1,11) = (/ & & 0.53016e-03_rb,0.46423e-03_rb,0.43029e-03_rb,0.40524e-03_rb,0.39835e-03_rb, & & 0.40134e-03_rb,0.42785e-03_rb,0.48998e-03_rb,0.56469e-03_rb /) kao(:, 1, 2,11) = (/ & & 0.58031e-03_rb,0.50799e-03_rb,0.44209e-03_rb,0.39038e-03_rb,0.34592e-03_rb, & & 0.30091e-03_rb,0.27060e-03_rb,0.26179e-03_rb,0.30262e-03_rb /) kao(:, 2, 2,11) = (/ & & 0.57783e-03_rb,0.50583e-03_rb,0.44303e-03_rb,0.40158e-03_rb,0.35771e-03_rb, & & 0.32458e-03_rb,0.30412e-03_rb,0.31051e-03_rb,0.36041e-03_rb /) kao(:, 3, 2,11) = (/ & & 0.57540e-03_rb,0.50373e-03_rb,0.45070e-03_rb,0.41078e-03_rb,0.37604e-03_rb, & & 0.34973e-03_rb,0.34205e-03_rb,0.36376e-03_rb,0.42111e-03_rb /) kao(:, 4, 2,11) = (/ & & 0.57390e-03_rb,0.50246e-03_rb,0.45850e-03_rb,0.42273e-03_rb,0.40005e-03_rb, & & 0.37925e-03_rb,0.38380e-03_rb,0.42075e-03_rb,0.48570e-03_rb /) kao(:, 5, 2,11) = (/ & & 0.57251e-03_rb,0.50128e-03_rb,0.46686e-03_rb,0.44000e-03_rb,0.42177e-03_rb, & & 0.41338e-03_rb,0.42764e-03_rb,0.47996e-03_rb,0.55489e-03_rb /) kao(:, 1, 3,11) = (/ & & 0.61606e-03_rb,0.53921e-03_rb,0.46963e-03_rb,0.41409e-03_rb,0.36561e-03_rb, & & 0.31888e-03_rb,0.27397e-03_rb,0.24837e-03_rb,0.28056e-03_rb /) kao(:, 2, 3,11) = (/ & & 0.61406e-03_rb,0.53752e-03_rb,0.47091e-03_rb,0.42713e-03_rb,0.37975e-03_rb, & & 0.33844e-03_rb,0.30659e-03_rb,0.29320e-03_rb,0.33782e-03_rb /) kao(:, 3, 3,11) = (/ & & 0.61257e-03_rb,0.53626e-03_rb,0.47829e-03_rb,0.43902e-03_rb,0.39761e-03_rb, & & 0.36364e-03_rb,0.34206e-03_rb,0.34371e-03_rb,0.39648e-03_rb /) kao(:, 4, 3,11) = (/ & & 0.61154e-03_rb,0.53538e-03_rb,0.48822e-03_rb,0.45223e-03_rb,0.42130e-03_rb, & & 0.39347e-03_rb,0.37907e-03_rb,0.39708e-03_rb,0.45765e-03_rb /) kao(:, 5, 3,11) = (/ & & 0.61140e-03_rb,0.53529e-03_rb,0.49797e-03_rb,0.47117e-03_rb,0.44115e-03_rb, & & 0.42497e-03_rb,0.41979e-03_rb,0.45564e-03_rb,0.52659e-03_rb /) kao(:, 1, 4,11) = (/ & & 0.64443e-03_rb,0.56411e-03_rb,0.49232e-03_rb,0.43467e-03_rb,0.38190e-03_rb, & & 0.33277e-03_rb,0.27825e-03_rb,0.23501e-03_rb,0.25182e-03_rb /) kao(:, 2, 4,11) = (/ & & 0.64292e-03_rb,0.56277e-03_rb,0.49409e-03_rb,0.44787e-03_rb,0.39817e-03_rb, & & 0.35161e-03_rb,0.30747e-03_rb,0.27717e-03_rb,0.30629e-03_rb /) kao(:, 3, 4,11) = (/ & & 0.64243e-03_rb,0.56236e-03_rb,0.50119e-03_rb,0.46200e-03_rb,0.41580e-03_rb, & & 0.37809e-03_rb,0.34162e-03_rb,0.32168e-03_rb,0.36251e-03_rb /) kao(:, 4, 4,11) = (/ & & 0.64248e-03_rb,0.56245e-03_rb,0.51257e-03_rb,0.47612e-03_rb,0.44107e-03_rb, & & 0.40610e-03_rb,0.37659e-03_rb,0.36992e-03_rb,0.42339e-03_rb /) kao(:, 5, 4,11) = (/ & & 0.64345e-03_rb,0.56414e-03_rb,0.52333e-03_rb,0.49621e-03_rb,0.46345e-03_rb, & & 0.43530e-03_rb,0.41388e-03_rb,0.42704e-03_rb,0.49356e-03_rb /) kao(:, 1, 5,11) = (/ & & 0.66205e-03_rb,0.57941e-03_rb,0.50732e-03_rb,0.44788e-03_rb,0.39504e-03_rb, & & 0.34261e-03_rb,0.28274e-03_rb,0.22440e-03_rb,0.22048e-03_rb /) kao(:, 2, 5,11) = (/ & & 0.66163e-03_rb,0.57912e-03_rb,0.51033e-03_rb,0.46104e-03_rb,0.41289e-03_rb, & & 0.36220e-03_rb,0.30969e-03_rb,0.26291e-03_rb,0.27073e-03_rb /) kao(:, 3, 5,11) = (/ & & 0.66197e-03_rb,0.57946e-03_rb,0.51799e-03_rb,0.47594e-03_rb,0.43132e-03_rb, & & 0.39012e-03_rb,0.34192e-03_rb,0.30335e-03_rb,0.32369e-03_rb /) kao(:, 4, 5,11) = (/ & & 0.66310e-03_rb,0.58124e-03_rb,0.52962e-03_rb,0.49191e-03_rb,0.45677e-03_rb, & & 0.42022e-03_rb,0.37529e-03_rb,0.34603e-03_rb,0.38247e-03_rb /) kao(:, 5, 5,11) = (/ & & 0.66411e-03_rb,0.58365e-03_rb,0.54225e-03_rb,0.51373e-03_rb,0.48391e-03_rb, & & 0.44802e-03_rb,0.41016e-03_rb,0.39855e-03_rb,0.45388e-03_rb /) kao(:, 1, 6,11) = (/ & & 0.66761e-03_rb,0.58431e-03_rb,0.51405e-03_rb,0.45280e-03_rb,0.40155e-03_rb, & & 0.34610e-03_rb,0.28249e-03_rb,0.21395e-03_rb,0.18888e-03_rb /) kao(:, 2, 6,11) = (/ & & 0.66804e-03_rb,0.58472e-03_rb,0.51807e-03_rb,0.46619e-03_rb,0.41922e-03_rb, & & 0.36797e-03_rb,0.30908e-03_rb,0.24851e-03_rb,0.23408e-03_rb /) kao(:, 3, 6,11) = (/ & & 0.66946e-03_rb,0.58664e-03_rb,0.52673e-03_rb,0.48103e-03_rb,0.43940e-03_rb, & & 0.39605e-03_rb,0.34204e-03_rb,0.28507e-03_rb,0.28224e-03_rb /) kao(:, 4, 6,11) = (/ & & 0.67150e-03_rb,0.59004e-03_rb,0.53959e-03_rb,0.49825e-03_rb,0.46612e-03_rb, & & 0.42814e-03_rb,0.37432e-03_rb,0.32325e-03_rb,0.33817e-03_rb /) kao(:, 5, 6,11) = (/ & & 0.67315e-03_rb,0.59352e-03_rb,0.55351e-03_rb,0.52125e-03_rb,0.49748e-03_rb, & & 0.45943e-03_rb,0.40603e-03_rb,0.37064e-03_rb,0.40786e-03_rb /) kao(:, 1, 7,11) = (/ & & 0.65825e-03_rb,0.57610e-03_rb,0.50973e-03_rb,0.44919e-03_rb,0.40091e-03_rb, & & 0.34393e-03_rb,0.27863e-03_rb,0.20584e-03_rb,0.15896e-03_rb /) kao(:, 2, 7,11) = (/ & & 0.66067e-03_rb,0.57854e-03_rb,0.51604e-03_rb,0.46345e-03_rb,0.41921e-03_rb, & & 0.36628e-03_rb,0.30597e-03_rb,0.23625e-03_rb,0.19866e-03_rb /) kao(:, 3, 7,11) = (/ & & 0.66419e-03_rb,0.58318e-03_rb,0.52599e-03_rb,0.48043e-03_rb,0.43994e-03_rb, & & 0.39562e-03_rb,0.33865e-03_rb,0.26970e-03_rb,0.24286e-03_rb /) kao(:, 4, 7,11) = (/ & & 0.66717e-03_rb,0.58792e-03_rb,0.54016e-03_rb,0.49893e-03_rb,0.46857e-03_rb, & & 0.43005e-03_rb,0.37266e-03_rb,0.30411e-03_rb,0.29541e-03_rb /) kao(:, 5, 7,11) = (/ & & 0.67024e-03_rb,0.59309e-03_rb,0.55482e-03_rb,0.52246e-03_rb,0.50380e-03_rb, & & 0.46446e-03_rb,0.40297e-03_rb,0.34641e-03_rb,0.36121e-03_rb /) kao(:, 1, 8,11) = (/ & & 0.63858e-03_rb,0.55888e-03_rb,0.49736e-03_rb,0.43942e-03_rb,0.39082e-03_rb, & & 0.33512e-03_rb,0.27058e-03_rb,0.19736e-03_rb,0.13589e-03_rb /) kao(:, 2, 8,11) = (/ & & 0.64324e-03_rb,0.56410e-03_rb,0.50530e-03_rb,0.45504e-03_rb,0.41149e-03_rb, & & 0.35701e-03_rb,0.29879e-03_rb,0.22618e-03_rb,0.16884e-03_rb /) kao(:, 3, 8,11) = (/ & & 0.64790e-03_rb,0.57033e-03_rb,0.51640e-03_rb,0.47474e-03_rb,0.43226e-03_rb, & & 0.38846e-03_rb,0.33154e-03_rb,0.25769e-03_rb,0.20679e-03_rb /) kao(:, 4, 8,11) = (/ & & 0.65242e-03_rb,0.57688e-03_rb,0.53191e-03_rb,0.49447e-03_rb,0.46234e-03_rb, & & 0.42468e-03_rb,0.36669e-03_rb,0.28907e-03_rb,0.25449e-03_rb /) kao(:, 5, 8,11) = (/ & & 0.65716e-03_rb,0.58346e-03_rb,0.54799e-03_rb,0.51859e-03_rb,0.49982e-03_rb, & & 0.46218e-03_rb,0.39875e-03_rb,0.32573e-03_rb,0.31655e-03_rb /) kao(:, 1, 9,11) = (/ & & 0.61155e-03_rb,0.53549e-03_rb,0.47878e-03_rb,0.42579e-03_rb,0.37499e-03_rb, & & 0.31961e-03_rb,0.25793e-03_rb,0.18655e-03_rb,0.11490e-03_rb /) kao(:, 2, 9,11) = (/ & & 0.61794e-03_rb,0.54314e-03_rb,0.48878e-03_rb,0.44250e-03_rb,0.39687e-03_rb, & & 0.34151e-03_rb,0.28569e-03_rb,0.21436e-03_rb,0.14511e-03_rb /) kao(:, 3, 9,11) = (/ & & 0.62338e-03_rb,0.55078e-03_rb,0.50083e-03_rb,0.46354e-03_rb,0.41796e-03_rb, & & 0.37306e-03_rb,0.31954e-03_rb,0.24508e-03_rb,0.17854e-03_rb /) kao(:, 4, 9,11) = (/ & & 0.62936e-03_rb,0.55894e-03_rb,0.51722e-03_rb,0.48335e-03_rb,0.44775e-03_rb, & & 0.41130e-03_rb,0.35579e-03_rb,0.27533e-03_rb,0.21988e-03_rb /) kao(:, 5, 9,11) = (/ & & 0.63545e-03_rb,0.56698e-03_rb,0.53473e-03_rb,0.50887e-03_rb,0.48603e-03_rb, & & 0.45259e-03_rb,0.39001e-03_rb,0.30792e-03_rb,0.27464e-03_rb /) kao(:, 1,10,11) = (/ & & 0.57726e-03_rb,0.50676e-03_rb,0.45606e-03_rb,0.40779e-03_rb,0.35629e-03_rb, & & 0.30220e-03_rb,0.24273e-03_rb,0.17731e-03_rb,0.97262e-04_rb /) kao(:, 2,10,11) = (/ & & 0.58382e-03_rb,0.51548e-03_rb,0.46729e-03_rb,0.42570e-03_rb,0.37915e-03_rb, & & 0.32497e-03_rb,0.26965e-03_rb,0.20381e-03_rb,0.12529e-03_rb /) kao(:, 3,10,11) = (/ & & 0.59071e-03_rb,0.52512e-03_rb,0.48044e-03_rb,0.44753e-03_rb,0.40142e-03_rb, & & 0.35504e-03_rb,0.30526e-03_rb,0.23284e-03_rb,0.15783e-03_rb /) kao(:, 4,10,11) = (/ & & 0.59829e-03_rb,0.53444e-03_rb,0.49886e-03_rb,0.46810e-03_rb,0.43172e-03_rb, & & 0.39380e-03_rb,0.34313e-03_rb,0.26284e-03_rb,0.19647e-03_rb /) kao(:, 5,10,11) = (/ & & 0.60558e-03_rb,0.54444e-03_rb,0.51788e-03_rb,0.49497e-03_rb,0.47022e-03_rb, & & 0.43733e-03_rb,0.37954e-03_rb,0.29404e-03_rb,0.24439e-03_rb /) kao(:, 1,11,11) = (/ & & 0.53880e-03_rb,0.47669e-03_rb,0.43422e-03_rb,0.39066e-03_rb,0.34441e-03_rb, & & 0.29300e-03_rb,0.23722e-03_rb,0.17846e-03_rb,0.93053e-04_rb /) kao(:, 2,11,11) = (/ & & 0.54672e-03_rb,0.48762e-03_rb,0.44694e-03_rb,0.41155e-03_rb,0.36791e-03_rb, & & 0.31854e-03_rb,0.26663e-03_rb,0.20551e-03_rb,0.12100e-03_rb /) kao(:, 3,11,11) = (/ & & 0.55543e-03_rb,0.49853e-03_rb,0.46450e-03_rb,0.43411e-03_rb,0.39364e-03_rb, & & 0.35233e-03_rb,0.30378e-03_rb,0.23442e-03_rb,0.15474e-03_rb /) kao(:, 4,11,11) = (/ & & 0.56418e-03_rb,0.50955e-03_rb,0.48543e-03_rb,0.45785e-03_rb,0.42947e-03_rb, & & 0.39274e-03_rb,0.34329e-03_rb,0.26304e-03_rb,0.19545e-03_rb /) kao(:, 5,11,11) = (/ & & 0.57281e-03_rb,0.52221e-03_rb,0.50507e-03_rb,0.49044e-03_rb,0.47093e-03_rb, & & 0.43647e-03_rb,0.38057e-03_rb,0.29685e-03_rb,0.24345e-03_rb /) kao(:, 1,12,11) = (/ & & 0.49534e-03_rb,0.44336e-03_rb,0.40843e-03_rb,0.37029e-03_rb,0.32924e-03_rb, & & 0.28268e-03_rb,0.23204e-03_rb,0.17692e-03_rb,0.89557e-04_rb /) kao(:, 2,12,11) = (/ & & 0.50529e-03_rb,0.45586e-03_rb,0.42428e-03_rb,0.39360e-03_rb,0.35384e-03_rb, & & 0.31099e-03_rb,0.26296e-03_rb,0.20575e-03_rb,0.11779e-03_rb /) kao(:, 3,12,11) = (/ & & 0.51591e-03_rb,0.46841e-03_rb,0.44557e-03_rb,0.41710e-03_rb,0.38396e-03_rb, & & 0.34779e-03_rb,0.29981e-03_rb,0.23475e-03_rb,0.15231e-03_rb /) kao(:, 4,12,11) = (/ & & 0.52638e-03_rb,0.48189e-03_rb,0.46689e-03_rb,0.44567e-03_rb,0.42354e-03_rb, & & 0.38951e-03_rb,0.33959e-03_rb,0.26406e-03_rb,0.19354e-03_rb /) kao(:, 5,12,11) = (/ & & 0.53740e-03_rb,0.49847e-03_rb,0.48961e-03_rb,0.48352e-03_rb,0.46848e-03_rb, & & 0.43322e-03_rb,0.37807e-03_rb,0.30031e-03_rb,0.24179e-03_rb /) kao(:, 1,13,11) = (/ & & 0.44967e-03_rb,0.40765e-03_rb,0.37964e-03_rb,0.34767e-03_rb,0.31190e-03_rb, & & 0.27110e-03_rb,0.22687e-03_rb,0.17331e-03_rb,0.86456e-04_rb /) kao(:, 2,13,11) = (/ & & 0.46197e-03_rb,0.42196e-03_rb,0.40010e-03_rb,0.37282e-03_rb,0.33881e-03_rb, & & 0.30170e-03_rb,0.25812e-03_rb,0.20314e-03_rb,0.11471e-03_rb /) kao(:, 3,13,11) = (/ & & 0.47416e-03_rb,0.43662e-03_rb,0.42347e-03_rb,0.39902e-03_rb,0.37341e-03_rb, & & 0.34073e-03_rb,0.29426e-03_rb,0.23321e-03_rb,0.14921e-03_rb /) kao(:, 4,13,11) = (/ & & 0.48670e-03_rb,0.45348e-03_rb,0.44656e-03_rb,0.43321e-03_rb,0.41603e-03_rb, & & 0.38366e-03_rb,0.33328e-03_rb,0.26489e-03_rb,0.19032e-03_rb /) kao(:, 5,13,11) = (/ & & 0.49941e-03_rb,0.47298e-03_rb,0.47361e-03_rb,0.47457e-03_rb,0.46263e-03_rb, & & 0.42791e-03_rb,0.37404e-03_rb,0.30319e-03_rb,0.23864e-03_rb /) kao(:, 1, 1,12) = (/ & & 0.67194e-03_rb,0.58821e-03_rb,0.50483e-03_rb,0.44022e-03_rb,0.39428e-03_rb, & & 0.35001e-03_rb,0.32802e-03_rb,0.34712e-03_rb,0.40424e-03_rb /) kao(:, 2, 1,12) = (/ & & 0.66779e-03_rb,0.58462e-03_rb,0.50560e-03_rb,0.45370e-03_rb,0.41018e-03_rb, & & 0.37788e-03_rb,0.37804e-03_rb,0.41641e-03_rb,0.48433e-03_rb /) kao(:, 3, 1,12) = (/ & & 0.66375e-03_rb,0.58112e-03_rb,0.50831e-03_rb,0.46547e-03_rb,0.43045e-03_rb, & & 0.42028e-03_rb,0.43766e-03_rb,0.49681e-03_rb,0.57585e-03_rb /) kao(:, 4, 1,12) = (/ & & 0.65976e-03_rb,0.57768e-03_rb,0.51951e-03_rb,0.47941e-03_rb,0.45883e-03_rb, & & 0.47280e-03_rb,0.50926e-03_rb,0.58385e-03_rb,0.67578e-03_rb /) kao(:, 5, 1,12) = (/ & & 0.65493e-03_rb,0.57349e-03_rb,0.52976e-03_rb,0.49649e-03_rb,0.49872e-03_rb, & & 0.52477e-03_rb,0.58910e-03_rb,0.67477e-03_rb,0.78177e-03_rb /) kao(:, 1, 2,12) = (/ & & 0.74429e-03_rb,0.65147e-03_rb,0.55958e-03_rb,0.48439e-03_rb,0.43163e-03_rb, & & 0.37450e-03_rb,0.34047e-03_rb,0.34702e-03_rb,0.40780e-03_rb /) kao(:, 2, 2,12) = (/ & & 0.73897e-03_rb,0.64685e-03_rb,0.56004e-03_rb,0.49710e-03_rb,0.44831e-03_rb, & & 0.39986e-03_rb,0.38897e-03_rb,0.41601e-03_rb,0.48800e-03_rb /) kao(:, 3, 2,12) = (/ & & 0.73423e-03_rb,0.64274e-03_rb,0.56120e-03_rb,0.51084e-03_rb,0.46668e-03_rb, & & 0.44211e-03_rb,0.44391e-03_rb,0.49187e-03_rb,0.57573e-03_rb /) kao(:, 4, 2,12) = (/ & & 0.72906e-03_rb,0.63825e-03_rb,0.57090e-03_rb,0.52414e-03_rb,0.49429e-03_rb, & & 0.48962e-03_rb,0.50615e-03_rb,0.57487e-03_rb,0.67078e-03_rb /) kao(:, 5, 2,12) = (/ & & 0.72487e-03_rb,0.63461e-03_rb,0.58043e-03_rb,0.54078e-03_rb,0.53373e-03_rb, & & 0.54010e-03_rb,0.58187e-03_rb,0.66737e-03_rb,0.77655e-03_rb /) kao(:, 1, 3,12) = (/ & & 0.81958e-03_rb,0.71735e-03_rb,0.61664e-03_rb,0.53266e-03_rb,0.46619e-03_rb, & & 0.39818e-03_rb,0.35035e-03_rb,0.33455e-03_rb,0.39417e-03_rb /) kao(:, 2, 3,12) = (/ & & 0.81517e-03_rb,0.71349e-03_rb,0.61778e-03_rb,0.54292e-03_rb,0.48245e-03_rb, & & 0.42187e-03_rb,0.39187e-03_rb,0.40203e-03_rb,0.47500e-03_rb /) kao(:, 3, 3,12) = (/ & & 0.81131e-03_rb,0.71014e-03_rb,0.61887e-03_rb,0.55563e-03_rb,0.49928e-03_rb, & & 0.45852e-03_rb,0.44599e-03_rb,0.47656e-03_rb,0.56304e-03_rb /) kao(:, 4, 3,12) = (/ & & 0.80684e-03_rb,0.70624e-03_rb,0.62502e-03_rb,0.56854e-03_rb,0.52516e-03_rb, & & 0.50282e-03_rb,0.50405e-03_rb,0.55674e-03_rb,0.65701e-03_rb /) kao(:, 5, 3,12) = (/ & & 0.80277e-03_rb,0.70271e-03_rb,0.63387e-03_rb,0.58439e-03_rb,0.56394e-03_rb, & & 0.54984e-03_rb,0.57036e-03_rb,0.64435e-03_rb,0.75883e-03_rb /) kao(:, 1, 4,12) = (/ & & 0.88962e-03_rb,0.77859e-03_rb,0.66931e-03_rb,0.57740e-03_rb,0.50138e-03_rb, & & 0.42396e-03_rb,0.36076e-03_rb,0.31901e-03_rb,0.36723e-03_rb /) kao(:, 2, 4,12) = (/ & & 0.88665e-03_rb,0.77601e-03_rb,0.67190e-03_rb,0.58651e-03_rb,0.51766e-03_rb, & & 0.44641e-03_rb,0.39755e-03_rb,0.38137e-03_rb,0.44921e-03_rb /) kao(:, 3, 4,12) = (/ & & 0.88362e-03_rb,0.77338e-03_rb,0.67394e-03_rb,0.60034e-03_rb,0.53406e-03_rb, & & 0.47716e-03_rb,0.44855e-03_rb,0.45695e-03_rb,0.53953e-03_rb /) kao(:, 4, 4,12) = (/ & & 0.87936e-03_rb,0.76967e-03_rb,0.67789e-03_rb,0.61530e-03_rb,0.55605e-03_rb, & & 0.52026e-03_rb,0.50535e-03_rb,0.53746e-03_rb,0.63432e-03_rb /) kao(:, 5, 4,12) = (/ & & 0.87542e-03_rb,0.76625e-03_rb,0.68901e-03_rb,0.63085e-03_rb,0.59283e-03_rb, & & 0.56499e-03_rb,0.56855e-03_rb,0.62330e-03_rb,0.73477e-03_rb /) kao(:, 1, 5,12) = (/ & & 0.95206e-03_rb,0.83319e-03_rb,0.71670e-03_rb,0.61887e-03_rb,0.53098e-03_rb, & & 0.45065e-03_rb,0.37161e-03_rb,0.30790e-03_rb,0.33661e-03_rb /) kao(:, 2, 5,12) = (/ & & 0.95024e-03_rb,0.83163e-03_rb,0.72052e-03_rb,0.62686e-03_rb,0.54899e-03_rb, & & 0.47363e-03_rb,0.40570e-03_rb,0.36303e-03_rb,0.41611e-03_rb /) kao(:, 3, 5,12) = (/ & & 0.94830e-03_rb,0.82995e-03_rb,0.72350e-03_rb,0.64294e-03_rb,0.56882e-03_rb, & & 0.49923e-03_rb,0.45370e-03_rb,0.43446e-03_rb,0.50740e-03_rb /) kao(:, 4, 5,12) = (/ & & 0.94590e-03_rb,0.82788e-03_rb,0.72796e-03_rb,0.66075e-03_rb,0.59106e-03_rb, & & 0.53960e-03_rb,0.50922e-03_rb,0.51449e-03_rb,0.60347e-03_rb /) kao(:, 5, 5,12) = (/ & & 0.94431e-03_rb,0.82652e-03_rb,0.73985e-03_rb,0.67685e-03_rb,0.62406e-03_rb, & & 0.58535e-03_rb,0.56960e-03_rb,0.60003e-03_rb,0.70205e-03_rb /) kao(:, 1, 6,12) = (/ & & 0.10063e-02_rb,0.88067e-03_rb,0.75816e-03_rb,0.65590e-03_rb,0.55704e-03_rb, & & 0.47312e-03_rb,0.38218e-03_rb,0.29812e-03_rb,0.29923e-03_rb /) kao(:, 2, 6,12) = (/ & & 0.10075e-02_rb,0.88171e-03_rb,0.76490e-03_rb,0.66447e-03_rb,0.57639e-03_rb, & & 0.49685e-03_rb,0.41345e-03_rb,0.34724e-03_rb,0.37557e-03_rb /) kao(:, 3, 6,12) = (/ & & 0.10072e-02_rb,0.88152e-03_rb,0.76915e-03_rb,0.68176e-03_rb,0.59750e-03_rb, & & 0.52339e-03_rb,0.45689e-03_rb,0.41130e-03_rb,0.46505e-03_rb /) kao(:, 4, 6,12) = (/ & & 0.10060e-02_rb,0.88049e-03_rb,0.77394e-03_rb,0.69974e-03_rb,0.62189e-03_rb, & & 0.55958e-03_rb,0.51188e-03_rb,0.48580e-03_rb,0.55924e-03_rb /) kao(:, 5, 6,12) = (/ & & 0.10051e-02_rb,0.87967e-03_rb,0.78569e-03_rb,0.71720e-03_rb,0.65527e-03_rb, & & 0.60501e-03_rb,0.57082e-03_rb,0.56756e-03_rb,0.65737e-03_rb /) kao(:, 1, 7,12) = (/ & & 0.10487e-02_rb,0.91773e-03_rb,0.79062e-03_rb,0.68516e-03_rb,0.57878e-03_rb, & & 0.49035e-03_rb,0.39066e-03_rb,0.28990e-03_rb,0.26192e-03_rb /) kao(:, 2, 7,12) = (/ & & 0.10509e-02_rb,0.91972e-03_rb,0.79894e-03_rb,0.69452e-03_rb,0.59953e-03_rb, & & 0.51487e-03_rb,0.42128e-03_rb,0.33451e-03_rb,0.33284e-03_rb /) kao(:, 3, 7,12) = (/ & & 0.10507e-02_rb,0.91957e-03_rb,0.80398e-03_rb,0.71157e-03_rb,0.62221e-03_rb, & & 0.54150e-03_rb,0.46197e-03_rb,0.39208e-03_rb,0.41685e-03_rb /) kao(:, 4, 7,12) = (/ & & 0.10509e-02_rb,0.91973e-03_rb,0.80950e-03_rb,0.73042e-03_rb,0.64659e-03_rb, & & 0.57916e-03_rb,0.51360e-03_rb,0.46065e-03_rb,0.50813e-03_rb /) kao(:, 5, 7,12) = (/ & & 0.10509e-02_rb,0.91978e-03_rb,0.82196e-03_rb,0.75027e-03_rb,0.67740e-03_rb, & & 0.62606e-03_rb,0.57168e-03_rb,0.53418e-03_rb,0.60461e-03_rb /) kao(:, 1, 8,12) = (/ & & 0.10710e-02_rb,0.93729e-03_rb,0.80929e-03_rb,0.70366e-03_rb,0.59621e-03_rb, & & 0.50074e-03_rb,0.39602e-03_rb,0.28309e-03_rb,0.22630e-03_rb /) kao(:, 2, 8,12) = (/ & & 0.10749e-02_rb,0.94069e-03_rb,0.82032e-03_rb,0.71447e-03_rb,0.61694e-03_rb, & & 0.52833e-03_rb,0.42406e-03_rb,0.32400e-03_rb,0.29100e-03_rb /) kao(:, 3, 8,12) = (/ & & 0.10773e-02_rb,0.94281e-03_rb,0.82736e-03_rb,0.73051e-03_rb,0.64296e-03_rb, & & 0.55298e-03_rb,0.46605e-03_rb,0.37591e-03_rb,0.36869e-03_rb /) kao(:, 4, 8,12) = (/ & & 0.10796e-02_rb,0.94487e-03_rb,0.83459e-03_rb,0.75111e-03_rb,0.66786e-03_rb, & & 0.59048e-03_rb,0.51603e-03_rb,0.43920e-03_rb,0.45502e-03_rb /) kao(:, 5, 8,12) = (/ & & 0.10814e-02_rb,0.94726e-03_rb,0.84809e-03_rb,0.77185e-03_rb,0.69811e-03_rb, & & 0.64090e-03_rb,0.57338e-03_rb,0.50692e-03_rb,0.54643e-03_rb /) kao(:, 1, 9,12) = (/ & & 0.10730e-02_rb,0.93903e-03_rb,0.81373e-03_rb,0.70878e-03_rb,0.60523e-03_rb, & & 0.50463e-03_rb,0.39690e-03_rb,0.27640e-03_rb,0.19492e-03_rb /) kao(:, 2, 9,12) = (/ & & 0.10796e-02_rb,0.94482e-03_rb,0.82740e-03_rb,0.72216e-03_rb,0.62667e-03_rb, & & 0.53533e-03_rb,0.42406e-03_rb,0.31368e-03_rb,0.25100e-03_rb /) kao(:, 3, 9,12) = (/ & & 0.10853e-02_rb,0.94982e-03_rb,0.83742e-03_rb,0.73904e-03_rb,0.65592e-03_rb, & & 0.56092e-03_rb,0.46365e-03_rb,0.36183e-03_rb,0.32022e-03_rb /) kao(:, 4, 9,12) = (/ & & 0.10900e-02_rb,0.95441e-03_rb,0.84774e-03_rb,0.76272e-03_rb,0.68162e-03_rb, & & 0.59735e-03_rb,0.51414e-03_rb,0.41927e-03_rb,0.39972e-03_rb /) kao(:, 5, 9,12) = (/ & & 0.10952e-02_rb,0.96081e-03_rb,0.86364e-03_rb,0.78596e-03_rb,0.71341e-03_rb, & & 0.64539e-03_rb,0.57286e-03_rb,0.48249e-03_rb,0.48653e-03_rb /) kao(:, 1,10,12) = (/ & & 0.10558e-02_rb,0.92391e-03_rb,0.80426e-03_rb,0.70294e-03_rb,0.60555e-03_rb, & & 0.50218e-03_rb,0.39384e-03_rb,0.27052e-03_rb,0.17175e-03_rb /) kao(:, 2,10,12) = (/ & & 0.10672e-02_rb,0.93391e-03_rb,0.82187e-03_rb,0.72055e-03_rb,0.62861e-03_rb, & & 0.53517e-03_rb,0.42394e-03_rb,0.30520e-03_rb,0.22066e-03_rb /) kao(:, 3,10,12) = (/ & & 0.10767e-02_rb,0.94234e-03_rb,0.83636e-03_rb,0.73971e-03_rb,0.66074e-03_rb, & & 0.56459e-03_rb,0.46058e-03_rb,0.35232e-03_rb,0.28101e-03_rb /) kao(:, 4,10,12) = (/ & & 0.10858e-02_rb,0.95208e-03_rb,0.85075e-03_rb,0.76653e-03_rb,0.68963e-03_rb, & & 0.60125e-03_rb,0.51089e-03_rb,0.40664e-03_rb,0.35284e-03_rb /) kao(:, 5,10,12) = (/ & & 0.10953e-02_rb,0.96285e-03_rb,0.86971e-03_rb,0.79369e-03_rb,0.72347e-03_rb, & & 0.65043e-03_rb,0.57028e-03_rb,0.46529e-03_rb,0.43428e-03_rb /) kao(:, 1,11,12) = (/ & & 0.10314e-02_rb,0.90258e-03_rb,0.79467e-03_rb,0.69943e-03_rb,0.60546e-03_rb, & & 0.50625e-03_rb,0.39977e-03_rb,0.27736e-03_rb,0.16855e-03_rb /) kao(:, 2,11,12) = (/ & & 0.10451e-02_rb,0.91471e-03_rb,0.81404e-03_rb,0.71994e-03_rb,0.63569e-03_rb, & & 0.54231e-03_rb,0.43348e-03_rb,0.31480e-03_rb,0.21751e-03_rb /) kao(:, 3,11,12) = (/ & & 0.10591e-02_rb,0.92888e-03_rb,0.83171e-03_rb,0.74582e-03_rb,0.67129e-03_rb, & & 0.57545e-03_rb,0.47649e-03_rb,0.36327e-03_rb,0.27482e-03_rb /) kao(:, 4,11,12) = (/ & & 0.10732e-02_rb,0.94400e-03_rb,0.85133e-03_rb,0.77904e-03_rb,0.70324e-03_rb, & & 0.62021e-03_rb,0.53030e-03_rb,0.41771e-03_rb,0.34284e-03_rb /) kao(:, 5,11,12) = (/ & & 0.10880e-02_rb,0.96010e-03_rb,0.87843e-03_rb,0.80902e-03_rb,0.74479e-03_rb, & & 0.67711e-03_rb,0.59146e-03_rb,0.47518e-03_rb,0.42405e-03_rb /) kao(:, 1,12,12) = (/ & & 0.99800e-03_rb,0.87344e-03_rb,0.77838e-03_rb,0.69077e-03_rb,0.60021e-03_rb, & & 0.50540e-03_rb,0.40237e-03_rb,0.28326e-03_rb,0.16340e-03_rb /) kao(:, 2,12,12) = (/ & & 0.10163e-02_rb,0.89149e-03_rb,0.80050e-03_rb,0.71513e-03_rb,0.63616e-03_rb, & & 0.54455e-03_rb,0.44056e-03_rb,0.32235e-03_rb,0.21276e-03_rb /) kao(:, 3,12,12) = (/ & & 0.10345e-02_rb,0.91067e-03_rb,0.82237e-03_rb,0.74899e-03_rb,0.67503e-03_rb, & & 0.58381e-03_rb,0.48916e-03_rb,0.37171e-03_rb,0.26817e-03_rb /) kao(:, 4,12,12) = (/ & & 0.10541e-02_rb,0.93146e-03_rb,0.84943e-03_rb,0.78581e-03_rb,0.71327e-03_rb, & & 0.63724e-03_rb,0.54703e-03_rb,0.42621e-03_rb,0.33361e-03_rb /) kao(:, 5,12,12) = (/ & & 0.10724e-02_rb,0.95127e-03_rb,0.88178e-03_rb,0.82065e-03_rb,0.76248e-03_rb, & & 0.70028e-03_rb,0.60892e-03_rb,0.48179e-03_rb,0.41458e-03_rb /) kao(:, 1,13,12) = (/ & & 0.95912e-03_rb,0.84178e-03_rb,0.75778e-03_rb,0.67765e-03_rb,0.59123e-03_rb, & & 0.50112e-03_rb,0.40170e-03_rb,0.28784e-03_rb,0.15761e-03_rb /) kao(:, 2,13,12) = (/ & & 0.98187e-03_rb,0.86541e-03_rb,0.78344e-03_rb,0.70851e-03_rb,0.63200e-03_rb, & & 0.54351e-03_rb,0.44541e-03_rb,0.32864e-03_rb,0.20682e-03_rb /) kao(:, 3,13,12) = (/ & & 0.10063e-02_rb,0.89078e-03_rb,0.81111e-03_rb,0.74766e-03_rb,0.67473e-03_rb, & & 0.58963e-03_rb,0.49872e-03_rb,0.37736e-03_rb,0.26208e-03_rb /) kao(:, 4,13,12) = (/ & & 0.10299e-02_rb,0.91565e-03_rb,0.84455e-03_rb,0.78769e-03_rb,0.71894e-03_rb, & & 0.65012e-03_rb,0.55995e-03_rb,0.43170e-03_rb,0.32660e-03_rb /) kao(:, 5,13,12) = (/ & & 0.10525e-02_rb,0.93912e-03_rb,0.88061e-03_rb,0.82863e-03_rb,0.77810e-03_rb, & & 0.71766e-03_rb,0.62330e-03_rb,0.48589e-03_rb,0.40661e-03_rb /) kao(:, 1, 1,13) = (/ & & 0.84224e-03_rb,0.73740e-03_rb,0.63257e-03_rb,0.54853e-03_rb,0.48911e-03_rb, & & 0.46139e-03_rb,0.45309e-03_rb,0.51018e-03_rb,0.59300e-03_rb /) kao(:, 2, 1,13) = (/ & & 0.83841e-03_rb,0.73411e-03_rb,0.62983e-03_rb,0.55802e-03_rb,0.51855e-03_rb, & & 0.50261e-03_rb,0.52209e-03_rb,0.59394e-03_rb,0.69158e-03_rb /) kao(:, 3, 1,13) = (/ & & 0.83593e-03_rb,0.73202e-03_rb,0.62914e-03_rb,0.58596e-03_rb,0.54957e-03_rb, & & 0.55151e-03_rb,0.60969e-03_rb,0.69097e-03_rb,0.80707e-03_rb /) kao(:, 4, 1,13) = (/ & & 0.83246e-03_rb,0.72902e-03_rb,0.63274e-03_rb,0.60961e-03_rb,0.59022e-03_rb, & & 0.61063e-03_rb,0.70961e-03_rb,0.80207e-03_rb,0.93855e-03_rb /) kao(:, 5, 1,13) = (/ & & 0.82958e-03_rb,0.72654e-03_rb,0.65011e-03_rb,0.63711e-03_rb,0.63941e-03_rb, & & 0.69313e-03_rb,0.82070e-03_rb,0.92941e-03_rb,0.10860e-02_rb /) kao(:, 1, 2,13) = (/ & & 0.94737e-03_rb,0.82928e-03_rb,0.71121e-03_rb,0.61292e-03_rb,0.53888e-03_rb, & & 0.49608e-03_rb,0.46449e-03_rb,0.50895e-03_rb,0.59638e-03_rb /) kao(:, 2, 2,13) = (/ & & 0.94309e-03_rb,0.82559e-03_rb,0.70809e-03_rb,0.61981e-03_rb,0.56880e-03_rb, & & 0.53738e-03_rb,0.52906e-03_rb,0.59714e-03_rb,0.70098e-03_rb /) kao(:, 3, 2,13) = (/ & & 0.93813e-03_rb,0.82131e-03_rb,0.70667e-03_rb,0.64442e-03_rb,0.60095e-03_rb, & & 0.58581e-03_rb,0.62140e-03_rb,0.70455e-03_rb,0.83109e-03_rb /) kao(:, 4, 2,13) = (/ & & 0.93357e-03_rb,0.81735e-03_rb,0.70879e-03_rb,0.66885e-03_rb,0.63704e-03_rb, & & 0.64975e-03_rb,0.73250e-03_rb,0.82836e-03_rb,0.97995e-03_rb /) kao(:, 5, 2,13) = (/ & & 0.92926e-03_rb,0.81362e-03_rb,0.72487e-03_rb,0.69759e-03_rb,0.68443e-03_rb, & & 0.72989e-03_rb,0.85114e-03_rb,0.96045e-03_rb,0.11390e-02_rb /) kao(:, 1, 3,13) = (/ & & 0.10589e-02_rb,0.92685e-03_rb,0.79478e-03_rb,0.68185e-03_rb,0.58961e-03_rb, & & 0.52592e-03_rb,0.47382e-03_rb,0.49304e-03_rb,0.58474e-03_rb /) kao(:, 2, 3,13) = (/ & & 0.10532e-02_rb,0.92189e-03_rb,0.79057e-03_rb,0.68536e-03_rb,0.61794e-03_rb, & & 0.56535e-03_rb,0.53040e-03_rb,0.57934e-03_rb,0.68761e-03_rb /) kao(:, 3, 3,13) = (/ & & 0.10466e-02_rb,0.91613e-03_rb,0.78805e-03_rb,0.70517e-03_rb,0.65240e-03_rb, & & 0.61071e-03_rb,0.61067e-03_rb,0.68776e-03_rb,0.81827e-03_rb /) kao(:, 4, 3,13) = (/ & & 0.10406e-02_rb,0.91088e-03_rb,0.78949e-03_rb,0.73011e-03_rb,0.68643e-03_rb, & & 0.67486e-03_rb,0.72316e-03_rb,0.82048e-03_rb,0.97591e-03_rb /) kao(:, 5, 3,13) = (/ & & 0.10350e-02_rb,0.90609e-03_rb,0.80184e-03_rb,0.75651e-03_rb,0.73102e-03_rb, & & 0.75672e-03_rb,0.85035e-03_rb,0.96398e-03_rb,0.11483e-02_rb /) kao(:, 1, 4,13) = (/ & & 0.11788e-02_rb,0.10317e-02_rb,0.88462e-03_rb,0.75562e-03_rb,0.64370e-03_rb, & & 0.55868e-03_rb,0.48899e-03_rb,0.48008e-03_rb,0.57112e-03_rb /) kao(:, 2, 4,13) = (/ & & 0.11725e-02_rb,0.10263e-02_rb,0.87998e-03_rb,0.75781e-03_rb,0.66989e-03_rb, & & 0.59814e-03_rb,0.54177e-03_rb,0.56164e-03_rb,0.66999e-03_rb /) kao(:, 3, 4,13) = (/ & & 0.11654e-02_rb,0.10201e-02_rb,0.87720e-03_rb,0.76990e-03_rb,0.70381e-03_rb, & & 0.63928e-03_rb,0.60787e-03_rb,0.66447e-03_rb,0.79300e-03_rb /) kao(:, 4, 4,13) = (/ & & 0.11592e-02_rb,0.10147e-02_rb,0.87854e-03_rb,0.79340e-03_rb,0.73787e-03_rb, & & 0.69602e-03_rb,0.70539e-03_rb,0.79266e-03_rb,0.94522e-03_rb /) kao(:, 5, 4,13) = (/ & & 0.11532e-02_rb,0.10094e-02_rb,0.88452e-03_rb,0.81797e-03_rb,0.78065e-03_rb, & & 0.77762e-03_rb,0.82734e-03_rb,0.94053e-03_rb,0.11199e-02_rb /) kao(:, 1, 5,13) = (/ & & 0.13090e-02_rb,0.11455e-02_rb,0.98213e-03_rb,0.83571e-03_rb,0.70447e-03_rb, & & 0.59736e-03_rb,0.51100e-03_rb,0.46541e-03_rb,0.54756e-03_rb /) kao(:, 2, 5,13) = (/ & & 0.13011e-02_rb,0.11387e-02_rb,0.97633e-03_rb,0.83818e-03_rb,0.72563e-03_rb, & & 0.63146e-03_rb,0.56040e-03_rb,0.54671e-03_rb,0.65045e-03_rb /) kao(:, 3, 5,13) = (/ & & 0.12919e-02_rb,0.11307e-02_rb,0.97249e-03_rb,0.84355e-03_rb,0.75615e-03_rb, & & 0.67456e-03_rb,0.62106e-03_rb,0.64503e-03_rb,0.77294e-03_rb /) kao(:, 4, 5,13) = (/ & & 0.12834e-02_rb,0.11233e-02_rb,0.97228e-03_rb,0.86290e-03_rb,0.79001e-03_rb, & & 0.72644e-03_rb,0.70406e-03_rb,0.76742e-03_rb,0.92034e-03_rb /) kao(:, 5, 5,13) = (/ & & 0.12754e-02_rb,0.11163e-02_rb,0.97447e-03_rb,0.88787e-03_rb,0.82956e-03_rb, & & 0.80041e-03_rb,0.81433e-03_rb,0.91302e-03_rb,0.10923e-02_rb /) kao(:, 1, 6,13) = (/ & & 0.14384e-02_rb,0.12588e-02_rb,0.10791e-02_rb,0.91745e-03_rb,0.77222e-03_rb, & & 0.63777e-03_rb,0.53552e-03_rb,0.44917e-03_rb,0.50804e-03_rb /) kao(:, 2, 6,13) = (/ & & 0.14296e-02_rb,0.12511e-02_rb,0.10726e-02_rb,0.92106e-03_rb,0.78721e-03_rb, & & 0.67056e-03_rb,0.58135e-03_rb,0.52600e-03_rb,0.61657e-03_rb /) kao(:, 3, 6,13) = (/ & & 0.14197e-02_rb,0.12425e-02_rb,0.10687e-02_rb,0.92311e-03_rb,0.81466e-03_rb, & & 0.70925e-03_rb,0.63651e-03_rb,0.62263e-03_rb,0.74116e-03_rb /) kao(:, 4, 6,13) = (/ & & 0.14113e-02_rb,0.12351e-02_rb,0.10686e-02_rb,0.93888e-03_rb,0.84557e-03_rb, & & 0.75721e-03_rb,0.71295e-03_rb,0.74435e-03_rb,0.88914e-03_rb /) kao(:, 5, 6,13) = (/ & & 0.14033e-02_rb,0.12282e-02_rb,0.10694e-02_rb,0.96147e-03_rb,0.87768e-03_rb, & & 0.82519e-03_rb,0.81219e-03_rb,0.88552e-03_rb,0.10599e-02_rb /) kao(:, 1, 7,13) = (/ & & 0.15646e-02_rb,0.13692e-02_rb,0.11737e-02_rb,0.99670e-03_rb,0.83910e-03_rb, & & 0.68337e-03_rb,0.56133e-03_rb,0.43784e-03_rb,0.46053e-03_rb /) kao(:, 2, 7,13) = (/ & & 0.15575e-02_rb,0.13630e-02_rb,0.11685e-02_rb,0.10035e-02_rb,0.85062e-03_rb, & & 0.71436e-03_rb,0.60284e-03_rb,0.50378e-03_rb,0.56665e-03_rb /) kao(:, 3, 7,13) = (/ & & 0.15495e-02_rb,0.13560e-02_rb,0.11666e-02_rb,0.10059e-02_rb,0.87670e-03_rb, & & 0.74963e-03_rb,0.65339e-03_rb,0.59583e-03_rb,0.69467e-03_rb /) kao(:, 4, 7,13) = (/ & & 0.15420e-02_rb,0.13494e-02_rb,0.11678e-02_rb,0.10189e-02_rb,0.90417e-03_rb, & & 0.79237e-03_rb,0.72265e-03_rb,0.71412e-03_rb,0.84581e-03_rb /) kao(:, 5, 7,13) = (/ & & 0.15345e-02_rb,0.13429e-02_rb,0.11695e-02_rb,0.10414e-02_rb,0.93588e-03_rb, & & 0.84978e-03_rb,0.81799e-03_rb,0.85682e-03_rb,0.10184e-02_rb /) kao(:, 1, 8,13) = (/ & & 0.16856e-02_rb,0.14750e-02_rb,0.12645e-02_rb,0.10725e-02_rb,0.90201e-03_rb, & & 0.73159e-03_rb,0.58478e-03_rb,0.43268e-03_rb,0.41101e-03_rb /) kao(:, 2, 8,13) = (/ & & 0.16806e-02_rb,0.14706e-02_rb,0.12609e-02_rb,0.10836e-02_rb,0.91363e-03_rb, & & 0.76033e-03_rb,0.62810e-03_rb,0.48786e-03_rb,0.51346e-03_rb /) kao(:, 3, 8,13) = (/ & & 0.16744e-02_rb,0.14652e-02_rb,0.12612e-02_rb,0.10887e-02_rb,0.93599e-03_rb, & & 0.79815e-03_rb,0.66916e-03_rb,0.56926e-03_rb,0.63978e-03_rb /) kao(:, 4, 8,13) = (/ & & 0.16684e-02_rb,0.14601e-02_rb,0.12641e-02_rb,0.11000e-02_rb,0.96490e-03_rb, & & 0.83543e-03_rb,0.73243e-03_rb,0.67845e-03_rb,0.78892e-03_rb /) kao(:, 5, 8,13) = (/ & & 0.16618e-02_rb,0.14543e-02_rb,0.12671e-02_rb,0.11238e-02_rb,0.99451e-03_rb, & & 0.88426e-03_rb,0.81935e-03_rb,0.81741e-03_rb,0.96330e-03_rb /) kao(:, 1, 9,13) = (/ & & 0.17934e-02_rb,0.15694e-02_rb,0.13453e-02_rb,0.11410e-02_rb,0.95885e-03_rb, & & 0.77818e-03_rb,0.60653e-03_rb,0.43079e-03_rb,0.36156e-03_rb /) kao(:, 2, 9,13) = (/ & & 0.17902e-02_rb,0.15666e-02_rb,0.13435e-02_rb,0.11557e-02_rb,0.97291e-03_rb, & & 0.80328e-03_rb,0.65101e-03_rb,0.47930e-03_rb,0.45791e-03_rb /) kao(:, 3, 9,13) = (/ & & 0.17870e-02_rb,0.15637e-02_rb,0.13465e-02_rb,0.11644e-02_rb,0.99290e-03_rb, & & 0.84365e-03_rb,0.69043e-03_rb,0.54887e-03_rb,0.58027e-03_rb /) kao(:, 4, 9,13) = (/ & & 0.17836e-02_rb,0.15608e-02_rb,0.13520e-02_rb,0.11761e-02_rb,0.10245e-02_rb, & & 0.87956e-03_rb,0.74487e-03_rb,0.64626e-03_rb,0.72649e-03_rb /) kao(:, 5, 9,13) = (/ & & 0.17784e-02_rb,0.15563e-02_rb,0.13567e-02_rb,0.11994e-02_rb,0.10543e-02_rb, & & 0.92517e-03_rb,0.82194e-03_rb,0.77306e-03_rb,0.89652e-03_rb /) kao(:, 1,10,13) = (/ & & 0.18870e-02_rb,0.16513e-02_rb,0.14155e-02_rb,0.12026e-02_rb,0.10094e-02_rb, & & 0.82157e-03_rb,0.62812e-03_rb,0.43279e-03_rb,0.32100e-03_rb /) kao(:, 2,10,13) = (/ & & 0.18874e-02_rb,0.16516e-02_rb,0.14168e-02_rb,0.12199e-02_rb,0.10267e-02_rb, & & 0.84527e-03_rb,0.67192e-03_rb,0.47951e-03_rb,0.41207e-03_rb /) kao(:, 3,10,13) = (/ & & 0.18869e-02_rb,0.16512e-02_rb,0.14226e-02_rb,0.12326e-02_rb,0.10456e-02_rb, & & 0.88603e-03_rb,0.71450e-03_rb,0.53998e-03_rb,0.52708e-03_rb /) kao(:, 4,10,13) = (/ & & 0.18844e-02_rb,0.16490e-02_rb,0.14297e-02_rb,0.12452e-02_rb,0.10784e-02_rb, & & 0.92565e-03_rb,0.76291e-03_rb,0.62910e-03_rb,0.66842e-03_rb /) kao(:, 5,10,13) = (/ & & 0.18812e-02_rb,0.16463e-02_rb,0.14369e-02_rb,0.12677e-02_rb,0.11133e-02_rb, & & 0.96733e-03_rb,0.83676e-03_rb,0.74378e-03_rb,0.83514e-03_rb /) kao(:, 1,11,13) = (/ & & 0.19652e-02_rb,0.17197e-02_rb,0.14741e-02_rb,0.12638e-02_rb,0.10628e-02_rb, & & 0.86832e-03_rb,0.66314e-03_rb,0.45418e-03_rb,0.32052e-03_rb /) kao(:, 2,11,13) = (/ & & 0.19706e-02_rb,0.17244e-02_rb,0.14828e-02_rb,0.12836e-02_rb,0.10826e-02_rb, & & 0.89693e-03_rb,0.71120e-03_rb,0.50274e-03_rb,0.41269e-03_rb /) kao(:, 3,11,13) = (/ & & 0.19727e-02_rb,0.17263e-02_rb,0.14935e-02_rb,0.12979e-02_rb,0.11060e-02_rb, & & 0.94341e-03_rb,0.75411e-03_rb,0.56772e-03_rb,0.53374e-03_rb /) kao(:, 4,11,13) = (/ & & 0.19726e-02_rb,0.17262e-02_rb,0.15047e-02_rb,0.13132e-02_rb,0.11439e-02_rb, & & 0.98450e-03_rb,0.80814e-03_rb,0.66163e-03_rb,0.68012e-03_rb /) kao(:, 5,11,13) = (/ & & 0.19717e-02_rb,0.17254e-02_rb,0.15111e-02_rb,0.13415e-02_rb,0.11812e-02_rb, & & 0.10302e-02_rb,0.88976e-03_rb,0.77856e-03_rb,0.85217e-03_rb /) kao(:, 1,12,13) = (/ & & 0.20238e-02_rb,0.17709e-02_rb,0.15209e-02_rb,0.13140e-02_rb,0.11103e-02_rb, & & 0.90805e-03_rb,0.69487e-03_rb,0.47365e-03_rb,0.32170e-03_rb /) kao(:, 2,12,13) = (/ & & 0.20339e-02_rb,0.17798e-02_rb,0.15376e-02_rb,0.13369e-02_rb,0.11339e-02_rb, & & 0.94414e-03_rb,0.74487e-03_rb,0.52470e-03_rb,0.41340e-03_rb /) kao(:, 3,12,13) = (/ & & 0.20400e-02_rb,0.17851e-02_rb,0.15537e-02_rb,0.13538e-02_rb,0.11634e-02_rb, & & 0.99316e-03_rb,0.79139e-03_rb,0.59483e-03_rb,0.53800e-03_rb /) kao(:, 4,12,13) = (/ & & 0.20440e-02_rb,0.17887e-02_rb,0.15672e-02_rb,0.13751e-02_rb,0.12054e-02_rb, & & 0.10358e-02_rb,0.85239e-03_rb,0.69118e-03_rb,0.69062e-03_rb /) kao(:, 5,12,13) = (/ & & 0.20478e-02_rb,0.17920e-02_rb,0.15770e-02_rb,0.14084e-02_rb,0.12434e-02_rb, & & 0.10883e-02_rb,0.94102e-03_rb,0.81111e-03_rb,0.86624e-03_rb /) kao(:, 1,13,13) = (/ & & 0.20618e-02_rb,0.18042e-02_rb,0.15564e-02_rb,0.13520e-02_rb,0.11495e-02_rb, & & 0.94146e-03_rb,0.72197e-03_rb,0.49143e-03_rb,0.32080e-03_rb /) kao(:, 2,13,13) = (/ & & 0.20769e-02_rb,0.18174e-02_rb,0.15793e-02_rb,0.13781e-02_rb,0.11781e-02_rb, & & 0.98504e-03_rb,0.77410e-03_rb,0.54584e-03_rb,0.41409e-03_rb /) kao(:, 3,13,13) = (/ & & 0.20884e-02_rb,0.18274e-02_rb,0.16007e-02_rb,0.14008e-02_rb,0.12152e-02_rb, & & 0.10359e-02_rb,0.82528e-03_rb,0.62085e-03_rb,0.53970e-03_rb /) kao(:, 4,13,13) = (/ & & 0.21000e-02_rb,0.18376e-02_rb,0.16180e-02_rb,0.14292e-02_rb,0.12615e-02_rb, & & 0.10817e-02_rb,0.89457e-03_rb,0.71909e-03_rb,0.69474e-03_rb /) kao(:, 5,13,13) = (/ & & 0.21077e-02_rb,0.18456e-02_rb,0.16335e-02_rb,0.14673e-02_rb,0.12995e-02_rb, & & 0.11413e-02_rb,0.98821e-03_rb,0.84127e-03_rb,0.87402e-03_rb /) kao(:, 1, 1,14) = (/ & & 0.11199e-02_rb,0.98039e-03_rb,0.84084e-03_rb,0.70943e-03_rb,0.63603e-03_rb, & & 0.60649e-03_rb,0.68312e-03_rb,0.76350e-03_rb,0.90110e-03_rb /) kao(:, 2, 1,14) = (/ & & 0.11157e-02_rb,0.97670e-03_rb,0.83773e-03_rb,0.72395e-03_rb,0.68641e-03_rb, & & 0.69858e-03_rb,0.81907e-03_rb,0.92056e-03_rb,0.10823e-02_rb /) kao(:, 3, 1,14) = (/ & & 0.11108e-02_rb,0.97243e-03_rb,0.83426e-03_rb,0.74791e-03_rb,0.75340e-03_rb, & & 0.82026e-03_rb,0.97233e-03_rb,0.10968e-02_rb,0.12857e-02_rb /) kao(:, 4, 1,14) = (/ & & 0.11077e-02_rb,0.96981e-03_rb,0.83196e-03_rb,0.80006e-03_rb,0.82593e-03_rb, & & 0.96481e-03_rb,0.11451e-02_rb,0.12942e-02_rb,0.15153e-02_rb /) kao(:, 5, 1,14) = (/ & & 0.11057e-02_rb,0.96811e-03_rb,0.83287e-03_rb,0.85771e-03_rb,0.92243e-03_rb, & & 0.11291e-02_rb,0.13401e-02_rb,0.15139e-02_rb,0.17730e-02_rb /) kao(:, 1, 2,14) = (/ & & 0.12618e-02_rb,0.11045e-02_rb,0.94731e-03_rb,0.80059e-03_rb,0.70460e-03_rb, & & 0.66164e-03_rb,0.71798e-03_rb,0.80280e-03_rb,0.96182e-03_rb /) kao(:, 2, 2,14) = (/ & & 0.12573e-02_rb,0.11007e-02_rb,0.94415e-03_rb,0.81463e-03_rb,0.74844e-03_rb, & & 0.74157e-03_rb,0.85097e-03_rb,0.95625e-03_rb,0.11395e-02_rb /) kao(:, 3, 2,14) = (/ & & 0.12537e-02_rb,0.10976e-02_rb,0.94166e-03_rb,0.83421e-03_rb,0.81760e-03_rb, & & 0.85124e-03_rb,0.10029e-02_rb,0.11319e-02_rb,0.13421e-02_rb /) kao(:, 4, 2,14) = (/ & & 0.12517e-02_rb,0.10959e-02_rb,0.94019e-03_rb,0.88029e-03_rb,0.88890e-03_rb, & & 0.98937e-03_rb,0.11747e-02_rb,0.13301e-02_rb,0.15715e-02_rb /) kao(:, 5, 2,14) = (/ & & 0.12484e-02_rb,0.10932e-02_rb,0.93873e-03_rb,0.93946e-03_rb,0.97784e-03_rb, & & 0.11555e-02_rb,0.13735e-02_rb,0.15606e-02_rb,0.18367e-02_rb /) kao(:, 1, 3,14) = (/ & & 0.14334e-02_rb,0.12547e-02_rb,0.10760e-02_rb,0.90369e-03_rb,0.78163e-03_rb, & & 0.71064e-03_rb,0.72074e-03_rb,0.81006e-03_rb,0.97636e-03_rb /) kao(:, 2, 3,14) = (/ & & 0.14266e-02_rb,0.12488e-02_rb,0.10711e-02_rb,0.91657e-03_rb,0.81392e-03_rb, & & 0.78379e-03_rb,0.85758e-03_rb,0.96540e-03_rb,0.11622e-02_rb /) kao(:, 3, 3,14) = (/ & & 0.14223e-02_rb,0.12452e-02_rb,0.10680e-02_rb,0.93146e-03_rb,0.87510e-03_rb, & & 0.87756e-03_rb,0.10059e-02_rb,0.11359e-02_rb,0.13619e-02_rb /) kao(:, 4, 3,14) = (/ & & 0.14175e-02_rb,0.12411e-02_rb,0.10646e-02_rb,0.96483e-03_rb,0.94572e-03_rb, & & 0.99384e-03_rb,0.11710e-02_rb,0.13256e-02_rb,0.15838e-02_rb /) kao(:, 5, 3,14) = (/ & & 0.14120e-02_rb,0.12363e-02_rb,0.10614e-02_rb,0.10223e-02_rb,0.10225e-02_rb, & & 0.11461e-02_rb,0.13616e-02_rb,0.15455e-02_rb,0.18394e-02_rb /) kao(:, 1, 4,14) = (/ & & 0.16334e-02_rb,0.14296e-02_rb,0.12259e-02_rb,0.10262e-02_rb,0.87529e-03_rb, & & 0.76396e-03_rb,0.72119e-03_rb,0.79306e-03_rb,0.95651e-03_rb /) kao(:, 2, 4,14) = (/ & & 0.16232e-02_rb,0.14208e-02_rb,0.12185e-02_rb,0.10348e-02_rb,0.89367e-03_rb, & & 0.83199e-03_rb,0.84657e-03_rb,0.95561e-03_rb,0.11474e-02_rb /) kao(:, 3, 4,14) = (/ & & 0.16152e-02_rb,0.14140e-02_rb,0.12127e-02_rb,0.10485e-02_rb,0.94236e-03_rb, & & 0.91572e-03_rb,0.99902e-03_rb,0.11299e-02_rb,0.13583e-02_rb /) kao(:, 4, 4,14) = (/ & & 0.16069e-02_rb,0.14067e-02_rb,0.12065e-02_rb,0.10685e-02_rb,0.10126e-02_rb, & & 0.10172e-02_rb,0.11639e-02_rb,0.13179e-02_rb,0.15822e-02_rb /) kao(:, 5, 4,14) = (/ & & 0.15986e-02_rb,0.13996e-02_rb,0.12009e-02_rb,0.11161e-02_rb,0.10822e-02_rb, & & 0.11448e-02_rb,0.13482e-02_rb,0.15289e-02_rb,0.18307e-02_rb /) kao(:, 1, 5,14) = (/ & & 0.18523e-02_rb,0.16211e-02_rb,0.13900e-02_rb,0.11617e-02_rb,0.98609e-03_rb, & & 0.83071e-03_rb,0.73506e-03_rb,0.77421e-03_rb,0.93359e-03_rb /) kao(:, 2, 5,14) = (/ & & 0.18399e-02_rb,0.16104e-02_rb,0.13808e-02_rb,0.11680e-02_rb,0.99824e-03_rb, & & 0.89112e-03_rb,0.84383e-03_rb,0.93250e-03_rb,0.11210e-02_rb /) kao(:, 3, 5,14) = (/ & & 0.18296e-02_rb,0.16015e-02_rb,0.13734e-02_rb,0.11806e-02_rb,0.10315e-02_rb, & & 0.96812e-03_rb,0.98130e-03_rb,0.11095e-02_rb,0.13275e-02_rb /) kao(:, 4, 5,14) = (/ & & 0.18179e-02_rb,0.15913e-02_rb,0.13647e-02_rb,0.11924e-02_rb,0.10905e-02_rb, & & 0.10578e-02_rb,0.11513e-02_rb,0.13088e-02_rb,0.15638e-02_rb /) kao(:, 5, 5,14) = (/ & & 0.18067e-02_rb,0.15816e-02_rb,0.13575e-02_rb,0.12252e-02_rb,0.11627e-02_rb, & & 0.11690e-02_rb,0.13357e-02_rb,0.15168e-02_rb,0.18162e-02_rb /) kao(:, 1, 6,14) = (/ & & 0.20925e-02_rb,0.18312e-02_rb,0.15700e-02_rb,0.13095e-02_rb,0.11041e-02_rb, & & 0.91669e-03_rb,0.76437e-03_rb,0.75155e-03_rb,0.90862e-03_rb /) kao(:, 2, 6,14) = (/ & & 0.20749e-02_rb,0.18159e-02_rb,0.15569e-02_rb,0.13117e-02_rb,0.11170e-02_rb, & & 0.95740e-03_rb,0.85349e-03_rb,0.90211e-03_rb,0.10843e-02_rb /) kao(:, 3, 6,14) = (/ & & 0.20605e-02_rb,0.18034e-02_rb,0.15463e-02_rb,0.13221e-02_rb,0.11384e-02_rb, & & 0.10293e-02_rb,0.97333e-03_rb,0.10765e-02_rb,0.12853e-02_rb /) kao(:, 4, 6,14) = (/ & & 0.20459e-02_rb,0.17907e-02_rb,0.15355e-02_rb,0.13321e-02_rb,0.11878e-02_rb, & & 0.11138e-02_rb,0.11236e-02_rb,0.12716e-02_rb,0.15170e-02_rb /) kao(:, 5, 6,14) = (/ & & 0.20310e-02_rb,0.17778e-02_rb,0.15259e-02_rb,0.13542e-02_rb,0.12517e-02_rb, & & 0.12095e-02_rb,0.13081e-02_rb,0.14898e-02_rb,0.17755e-02_rb /) kao(:, 1, 7,14) = (/ & & 0.23595e-02_rb,0.20648e-02_rb,0.17701e-02_rb,0.14754e-02_rb,0.12323e-02_rb, & & 0.10132e-02_rb,0.80835e-03_rb,0.73377e-03_rb,0.88458e-03_rb /) kao(:, 2, 7,14) = (/ & & 0.23333e-02_rb,0.20420e-02_rb,0.17506e-02_rb,0.14700e-02_rb,0.12449e-02_rb, & & 0.10427e-02_rb,0.88482e-03_rb,0.87865e-03_rb,0.10548e-02_rb /) kao(:, 3, 7,14) = (/ & & 0.23118e-02_rb,0.20232e-02_rb,0.17345e-02_rb,0.14754e-02_rb,0.12581e-02_rb, & & 0.11040e-02_rb,0.98425e-03_rb,0.10425e-02_rb,0.12451e-02_rb /) kao(:, 4, 7,14) = (/ & & 0.22911e-02_rb,0.20052e-02_rb,0.17193e-02_rb,0.14831e-02_rb,0.12996e-02_rb, & & 0.11778e-02_rb,0.11137e-02_rb,0.12310e-02_rb,0.14656e-02_rb /) kao(:, 5, 7,14) = (/ & & 0.22715e-02_rb,0.19881e-02_rb,0.17061e-02_rb,0.14949e-02_rb,0.13595e-02_rb, & & 0.12702e-02_rb,0.12792e-02_rb,0.14480e-02_rb,0.17220e-02_rb /) kao(:, 1, 8,14) = (/ & & 0.26465e-02_rb,0.23159e-02_rb,0.19853e-02_rb,0.16547e-02_rb,0.13704e-02_rb, & & 0.11161e-02_rb,0.87227e-03_rb,0.72579e-03_rb,0.85316e-03_rb /) kao(:, 2, 8,14) = (/ & & 0.26139e-02_rb,0.22874e-02_rb,0.19609e-02_rb,0.16420e-02_rb,0.13837e-02_rb, & & 0.11377e-02_rb,0.93183e-03_rb,0.85926e-03_rb,0.10245e-02_rb /) kao(:, 3, 8,14) = (/ & & 0.25857e-02_rb,0.22628e-02_rb,0.19400e-02_rb,0.16425e-02_rb,0.13917e-02_rb, & & 0.11859e-02_rb,0.10228e-02_rb,0.10157e-02_rb,0.12103e-02_rb /) kao(:, 4, 8,14) = (/ & & 0.25573e-02_rb,0.22380e-02_rb,0.19187e-02_rb,0.16463e-02_rb,0.14196e-02_rb, & & 0.12582e-02_rb,0.11286e-02_rb,0.11958e-02_rb,0.14229e-02_rb /) kao(:, 5, 8,14) = (/ & & 0.25310e-02_rb,0.22151e-02_rb,0.19006e-02_rb,0.16478e-02_rb,0.14771e-02_rb, & & 0.13382e-02_rb,0.12711e-02_rb,0.14043e-02_rb,0.16688e-02_rb /) kao(:, 1, 9,14) = (/ & & 0.29437e-02_rb,0.25759e-02_rb,0.22081e-02_rb,0.18403e-02_rb,0.15126e-02_rb, & & 0.12266e-02_rb,0.94502e-03_rb,0.72553e-03_rb,0.80872e-03_rb /) kao(:, 2, 9,14) = (/ & & 0.29059e-02_rb,0.25428e-02_rb,0.21798e-02_rb,0.18221e-02_rb,0.15299e-02_rb, & & 0.12446e-02_rb,0.99114e-03_rb,0.84495e-03_rb,0.98123e-03_rb /) kao(:, 3, 9,14) = (/ & & 0.28735e-02_rb,0.25146e-02_rb,0.21557e-02_rb,0.18193e-02_rb,0.15373e-02_rb, & & 0.12770e-02_rb,0.10730e-02_rb,0.99151e-03_rb,0.11701e-02_rb /) kao(:, 4, 9,14) = (/ & & 0.28399e-02_rb,0.24853e-02_rb,0.21306e-02_rb,0.18209e-02_rb,0.15526e-02_rb, & & 0.13434e-02_rb,0.11682e-02_rb,0.11617e-02_rb,0.13773e-02_rb /) kao(:, 5, 9,14) = (/ & & 0.28070e-02_rb,0.24565e-02_rb,0.21073e-02_rb,0.18175e-02_rb,0.15973e-02_rb, & & 0.14179e-02_rb,0.12830e-02_rb,0.13638e-02_rb,0.16173e-02_rb /) kao(:, 1,10,14) = (/ & & 0.32399e-02_rb,0.28350e-02_rb,0.24302e-02_rb,0.20252e-02_rb,0.16589e-02_rb, & & 0.13407e-02_rb,0.10274e-02_rb,0.73986e-03_rb,0.76203e-03_rb /) kao(:, 2,10,14) = (/ & & 0.31965e-02_rb,0.27971e-02_rb,0.23977e-02_rb,0.20029e-02_rb,0.16776e-02_rb, & & 0.13600e-02_rb,0.10652e-02_rb,0.84551e-03_rb,0.93841e-03_rb /) kao(:, 3,10,14) = (/ & & 0.31601e-02_rb,0.27653e-02_rb,0.23707e-02_rb,0.19975e-02_rb,0.16883e-02_rb, & & 0.13843e-02_rb,0.11385e-02_rb,0.98230e-03_rb,0.11352e-02_rb /) kao(:, 4,10,14) = (/ & & 0.31230e-02_rb,0.27329e-02_rb,0.23428e-02_rb,0.19986e-02_rb,0.16986e-02_rb, & & 0.14381e-02_rb,0.12318e-02_rb,0.11431e-02_rb,0.13466e-02_rb /) kao(:, 5,10,14) = (/ & & 0.30838e-02_rb,0.26986e-02_rb,0.23157e-02_rb,0.19957e-02_rb,0.17285e-02_rb, & & 0.15111e-02_rb,0.13270e-02_rb,0.13396e-02_rb,0.15853e-02_rb /) kao(:, 1,11,14) = (/ & & 0.35110e-02_rb,0.30722e-02_rb,0.26335e-02_rb,0.21948e-02_rb,0.18129e-02_rb, & & 0.14641e-02_rb,0.11256e-02_rb,0.79561e-03_rb,0.78300e-03_rb /) kao(:, 2,11,14) = (/ & & 0.34682e-02_rb,0.30349e-02_rb,0.26015e-02_rb,0.21788e-02_rb,0.18300e-02_rb, & & 0.14846e-02_rb,0.11655e-02_rb,0.90541e-03_rb,0.97352e-03_rb /) kao(:, 3,11,14) = (/ & & 0.34263e-02_rb,0.29982e-02_rb,0.25700e-02_rb,0.21750e-02_rb,0.18411e-02_rb, & & 0.15104e-02_rb,0.12444e-02_rb,0.10462e-02_rb,0.11863e-02_rb /) kao(:, 4,11,14) = (/ & & 0.33817e-02_rb,0.29592e-02_rb,0.25369e-02_rb,0.21760e-02_rb,0.18525e-02_rb, & & 0.15666e-02_rb,0.13382e-02_rb,0.12088e-02_rb,0.14124e-02_rb /) kao(:, 5,11,14) = (/ & & 0.33351e-02_rb,0.29184e-02_rb,0.25088e-02_rb,0.21673e-02_rb,0.18858e-02_rb, & & 0.16404e-02_rb,0.14339e-02_rb,0.14160e-02_rb,0.16713e-02_rb /) kao(:, 1,12,14) = (/ & & 0.37813e-02_rb,0.33087e-02_rb,0.28362e-02_rb,0.23654e-02_rb,0.19642e-02_rb, & & 0.15868e-02_rb,0.12220e-02_rb,0.85134e-03_rb,0.79810e-03_rb /) kao(:, 2,12,14) = (/ & & 0.37337e-02_rb,0.32671e-02_rb,0.28006e-02_rb,0.23535e-02_rb,0.19812e-02_rb, & & 0.16073e-02_rb,0.12646e-02_rb,0.96230e-03_rb,0.10021e-02_rb /) kao(:, 3,12,14) = (/ & & 0.36838e-02_rb,0.32235e-02_rb,0.27633e-02_rb,0.23494e-02_rb,0.19898e-02_rb, & & 0.16363e-02_rb,0.13472e-02_rb,0.11056e-02_rb,0.12297e-02_rb /) kao(:, 4,12,14) = (/ & & 0.36315e-02_rb,0.31778e-02_rb,0.27268e-02_rb,0.23457e-02_rb,0.20010e-02_rb, & & 0.16953e-02_rb,0.14396e-02_rb,0.12736e-02_rb,0.14737e-02_rb /) kao(:, 5,12,14) = (/ & & 0.35780e-02_rb,0.31310e-02_rb,0.26962e-02_rb,0.23324e-02_rb,0.20383e-02_rb, & & 0.17680e-02_rb,0.15379e-02_rb,0.14913e-02_rb,0.17515e-02_rb /) kao(:, 1,13,14) = (/ & & 0.40401e-02_rb,0.35352e-02_rb,0.30303e-02_rb,0.25331e-02_rb,0.21125e-02_rb, & & 0.17061e-02_rb,0.13144e-02_rb,0.90469e-03_rb,0.81129e-03_rb /) kao(:, 2,13,14) = (/ & & 0.39897e-02_rb,0.34912e-02_rb,0.29926e-02_rb,0.25245e-02_rb,0.21272e-02_rb, & & 0.17273e-02_rb,0.13608e-02_rb,0.10148e-02_rb,0.10248e-02_rb /) kao(:, 3,13,14) = (/ & & 0.39313e-02_rb,0.34401e-02_rb,0.29487e-02_rb,0.25178e-02_rb,0.21303e-02_rb, & & 0.17587e-02_rb,0.14454e-02_rb,0.11592e-02_rb,0.12656e-02_rb /) kao(:, 4,13,14) = (/ & & 0.38694e-02_rb,0.33859e-02_rb,0.29093e-02_rb,0.25068e-02_rb,0.21412e-02_rb, & & 0.18203e-02_rb,0.15361e-02_rb,0.13357e-02_rb,0.15298e-02_rb /) kao(:, 5,13,14) = (/ & & 0.38109e-02_rb,0.33347e-02_rb,0.28761e-02_rb,0.24907e-02_rb,0.21821e-02_rb, & & 0.18916e-02_rb,0.16371e-02_rb,0.15629e-02_rb,0.18275e-02_rb /) kao(:, 1, 1,15) = (/ & & 0.15071e-02_rb,0.13191e-02_rb,0.11311e-02_rb,0.94313e-03_rb,0.82178e-03_rb, & & 0.90230e-03_rb,0.10652e-02_rb,0.11879e-02_rb,0.14045e-02_rb /) kao(:, 2, 1,15) = (/ & & 0.15053e-02_rb,0.13176e-02_rb,0.11298e-02_rb,0.94210e-03_rb,0.87562e-03_rb, & & 0.10432e-02_rb,0.12302e-02_rb,0.13664e-02_rb,0.16201e-02_rb /) kao(:, 3, 1,15) = (/ & & 0.15019e-02_rb,0.13147e-02_rb,0.11275e-02_rb,0.94187e-03_rb,0.97652e-03_rb, & & 0.12093e-02_rb,0.14252e-02_rb,0.15816e-02_rb,0.18766e-02_rb /) kao(:, 4, 1,15) = (/ & & 0.14976e-02_rb,0.13109e-02_rb,0.11243e-02_rb,0.96063e-03_rb,0.11391e-02_rb, & & 0.14106e-02_rb,0.16622e-02_rb,0.18446e-02_rb,0.21889e-02_rb /) kao(:, 5, 1,15) = (/ & & 0.14918e-02_rb,0.13060e-02_rb,0.11201e-02_rb,0.10256e-02_rb,0.13135e-02_rb, & & 0.16256e-02_rb,0.19138e-02_rb,0.21174e-02_rb,0.25177e-02_rb /) kao(:, 1, 2,15) = (/ & & 0.17368e-02_rb,0.15199e-02_rb,0.13031e-02_rb,0.10865e-02_rb,0.93589e-03_rb, & & 0.95913e-03_rb,0.11327e-02_rb,0.12643e-02_rb,0.15179e-02_rb /) kao(:, 2, 2,15) = (/ & & 0.17347e-02_rb,0.15183e-02_rb,0.13018e-02_rb,0.10853e-02_rb,0.98162e-03_rb, & & 0.11204e-02_rb,0.13214e-02_rb,0.14695e-02_rb,0.17719e-02_rb /) kao(:, 3, 2,15) = (/ & & 0.17301e-02_rb,0.15143e-02_rb,0.12982e-02_rb,0.10867e-02_rb,0.10624e-02_rb, & & 0.13058e-02_rb,0.15388e-02_rb,0.17088e-02_rb,0.20640e-02_rb /) kao(:, 4, 2,15) = (/ & & 0.17235e-02_rb,0.15085e-02_rb,0.12935e-02_rb,0.11059e-02_rb,0.12337e-02_rb, & & 0.15285e-02_rb,0.18009e-02_rb,0.19982e-02_rb,0.24152e-02_rb /) kao(:, 5, 2,15) = (/ & & 0.17181e-02_rb,0.15038e-02_rb,0.12895e-02_rb,0.11598e-02_rb,0.14379e-02_rb, & & 0.17807e-02_rb,0.20976e-02_rb,0.23230e-02_rb,0.28132e-02_rb /) kao(:, 1, 3,15) = (/ & & 0.19949e-02_rb,0.17458e-02_rb,0.14967e-02_rb,0.12475e-02_rb,0.10641e-02_rb, & & 0.10100e-02_rb,0.11774e-02_rb,0.13116e-02_rb,0.16051e-02_rb /) kao(:, 2, 3,15) = (/ & & 0.19910e-02_rb,0.17424e-02_rb,0.14939e-02_rb,0.12453e-02_rb,0.11049e-02_rb, & & 0.11564e-02_rb,0.13657e-02_rb,0.15222e-02_rb,0.18601e-02_rb /) kao(:, 3, 3,15) = (/ & & 0.19848e-02_rb,0.17370e-02_rb,0.14892e-02_rb,0.12476e-02_rb,0.11571e-02_rb, & & 0.13573e-02_rb,0.16014e-02_rb,0.17817e-02_rb,0.21839e-02_rb /) kao(:, 4, 3,15) = (/ & & 0.19813e-02_rb,0.17340e-02_rb,0.14867e-02_rb,0.12671e-02_rb,0.12941e-02_rb, & & 0.15954e-02_rb,0.18821e-02_rb,0.20919e-02_rb,0.25670e-02_rb /) kao(:, 5, 3,15) = (/ & & 0.19771e-02_rb,0.17304e-02_rb,0.14836e-02_rb,0.13013e-02_rb,0.15091e-02_rb, & & 0.18697e-02_rb,0.22058e-02_rb,0.24525e-02_rb,0.30084e-02_rb /) kao(:, 1, 4,15) = (/ & & 0.23002e-02_rb,0.20126e-02_rb,0.17253e-02_rb,0.14382e-02_rb,0.12005e-02_rb, & & 0.10932e-02_rb,0.12228e-02_rb,0.13639e-02_rb,0.16798e-02_rb /) kao(:, 2, 4,15) = (/ & & 0.22929e-02_rb,0.20065e-02_rb,0.17201e-02_rb,0.14337e-02_rb,0.12491e-02_rb, & & 0.11967e-02_rb,0.14046e-02_rb,0.15632e-02_rb,0.19322e-02_rb /) kao(:, 3, 4,15) = (/ & & 0.22828e-02_rb,0.19977e-02_rb,0.17127e-02_rb,0.14287e-02_rb,0.12914e-02_rb, & & 0.13860e-02_rb,0.16360e-02_rb,0.18240e-02_rb,0.22487e-02_rb /) kao(:, 4, 4,15) = (/ & & 0.22757e-02_rb,0.19915e-02_rb,0.17074e-02_rb,0.14457e-02_rb,0.13800e-02_rb, & & 0.16339e-02_rb,0.19297e-02_rb,0.21519e-02_rb,0.26493e-02_rb /) kao(:, 5, 4,15) = (/ & & 0.22684e-02_rb,0.19852e-02_rb,0.17019e-02_rb,0.14754e-02_rb,0.15614e-02_rb, & & 0.19242e-02_rb,0.22727e-02_rb,0.25341e-02_rb,0.31196e-02_rb /) kao(:, 1, 5,15) = (/ & & 0.26562e-02_rb,0.23246e-02_rb,0.19929e-02_rb,0.16611e-02_rb,0.13598e-02_rb, & & 0.11996e-02_rb,0.12698e-02_rb,0.14174e-02_rb,0.17501e-02_rb /) kao(:, 2, 5,15) = (/ & & 0.26415e-02_rb,0.23116e-02_rb,0.19818e-02_rb,0.16521e-02_rb,0.14129e-02_rb, & & 0.12866e-02_rb,0.14524e-02_rb,0.16197e-02_rb,0.20022e-02_rb /) kao(:, 3, 5,15) = (/ & & 0.26277e-02_rb,0.22994e-02_rb,0.19710e-02_rb,0.16428e-02_rb,0.14513e-02_rb, & & 0.14339e-02_rb,0.16856e-02_rb,0.18777e-02_rb,0.23236e-02_rb /) kao(:, 4, 5,15) = (/ & & 0.26179e-02_rb,0.22909e-02_rb,0.19639e-02_rb,0.16526e-02_rb,0.15154e-02_rb, & & 0.16607e-02_rb,0.19618e-02_rb,0.21909e-02_rb,0.27021e-02_rb /) kao(:, 5, 5,15) = (/ & & 0.26074e-02_rb,0.22818e-02_rb,0.19561e-02_rb,0.16780e-02_rb,0.16497e-02_rb, & & 0.19592e-02_rb,0.23163e-02_rb,0.25915e-02_rb,0.31846e-02_rb /) kao(:, 1, 6,15) = (/ & & 0.30676e-02_rb,0.26845e-02_rb,0.23014e-02_rb,0.19182e-02_rb,0.15508e-02_rb, & & 0.13265e-02_rb,0.13165e-02_rb,0.14712e-02_rb,0.18123e-02_rb /) kao(:, 2, 6,15) = (/ & & 0.30472e-02_rb,0.26667e-02_rb,0.22862e-02_rb,0.19057e-02_rb,0.15947e-02_rb, & & 0.14067e-02_rb,0.15004e-02_rb,0.16750e-02_rb,0.20695e-02_rb /) kao(:, 3, 6,15) = (/ & & 0.30255e-02_rb,0.26477e-02_rb,0.22705e-02_rb,0.18926e-02_rb,0.16408e-02_rb, & & 0.15149e-02_rb,0.17276e-02_rb,0.19275e-02_rb,0.23847e-02_rb /) kao(:, 4, 6,15) = (/ & & 0.30083e-02_rb,0.26326e-02_rb,0.22569e-02_rb,0.18906e-02_rb,0.16765e-02_rb, & & 0.17066e-02_rb,0.20035e-02_rb,0.22386e-02_rb,0.27616e-02_rb /) kao(:, 5, 6,15) = (/ & & 0.29915e-02_rb,0.26179e-02_rb,0.22443e-02_rb,0.19114e-02_rb,0.17836e-02_rb, & & 0.19800e-02_rb,0.23411e-02_rb,0.26194e-02_rb,0.32234e-02_rb /) kao(:, 1, 7,15) = (/ & & 0.35311e-02_rb,0.30900e-02_rb,0.26490e-02_rb,0.22082e-02_rb,0.17722e-02_rb, & & 0.14850e-02_rb,0.13781e-02_rb,0.15158e-02_rb,0.18578e-02_rb /) kao(:, 2, 7,15) = (/ & & 0.35031e-02_rb,0.30656e-02_rb,0.26281e-02_rb,0.21907e-02_rb,0.18048e-02_rb, & & 0.15528e-02_rb,0.15481e-02_rb,0.17322e-02_rb,0.21307e-02_rb /) kao(:, 3, 7,15) = (/ & & 0.34762e-02_rb,0.30421e-02_rb,0.26077e-02_rb,0.21737e-02_rb,0.18550e-02_rb, & & 0.16362e-02_rb,0.17771e-02_rb,0.19863e-02_rb,0.24506e-02_rb /) kao(:, 4, 7,15) = (/ & & 0.34506e-02_rb,0.30197e-02_rb,0.25888e-02_rb,0.21628e-02_rb,0.18864e-02_rb, & & 0.17891e-02_rb,0.20527e-02_rb,0.22948e-02_rb,0.28308e-02_rb /) kao(:, 5, 7,15) = (/ & & 0.34242e-02_rb,0.29966e-02_rb,0.25690e-02_rb,0.21752e-02_rb,0.19463e-02_rb, & & 0.20224e-02_rb,0.23798e-02_rb,0.26659e-02_rb,0.32785e-02_rb /) kao(:, 1, 8,15) = (/ & & 0.40545e-02_rb,0.35480e-02_rb,0.30415e-02_rb,0.25348e-02_rb,0.20284e-02_rb, & & 0.16698e-02_rb,0.14585e-02_rb,0.15473e-02_rb,0.18938e-02_rb /) kao(:, 2, 8,15) = (/ & & 0.40094e-02_rb,0.35086e-02_rb,0.30078e-02_rb,0.25070e-02_rb,0.20421e-02_rb, & & 0.17325e-02_rb,0.16159e-02_rb,0.17783e-02_rb,0.21732e-02_rb /) kao(:, 3, 8,15) = (/ & & 0.39679e-02_rb,0.34723e-02_rb,0.29772e-02_rb,0.24816e-02_rb,0.20882e-02_rb, & & 0.17972e-02_rb,0.18217e-02_rb,0.20430e-02_rb,0.25042e-02_rb /) kao(:, 4, 8,15) = (/ & & 0.39321e-02_rb,0.34411e-02_rb,0.29500e-02_rb,0.24630e-02_rb,0.21284e-02_rb, & & 0.19080e-02_rb,0.21043e-02_rb,0.23586e-02_rb,0.28966e-02_rb /) kao(:, 5, 8,15) = (/ & & 0.38953e-02_rb,0.34088e-02_rb,0.29224e-02_rb,0.24683e-02_rb,0.21576e-02_rb, & & 0.21070e-02_rb,0.24382e-02_rb,0.27335e-02_rb,0.33549e-02_rb /) kao(:, 1, 9,15) = (/ & & 0.46508e-02_rb,0.40697e-02_rb,0.34886e-02_rb,0.29075e-02_rb,0.23264e-02_rb, & & 0.18591e-02_rb,0.15578e-02_rb,0.15738e-02_rb,0.19224e-02_rb /) kao(:, 2, 9,15) = (/ & & 0.45823e-02_rb,0.40098e-02_rb,0.34374e-02_rb,0.28649e-02_rb,0.23092e-02_rb, & & 0.19366e-02_rb,0.17051e-02_rb,0.18133e-02_rb,0.22104e-02_rb /) kao(:, 3, 9,15) = (/ & & 0.45166e-02_rb,0.39524e-02_rb,0.33880e-02_rb,0.28238e-02_rb,0.23394e-02_rb, & & 0.19917e-02_rb,0.18843e-02_rb,0.20815e-02_rb,0.25365e-02_rb /) kao(:, 4, 9,15) = (/ & & 0.44602e-02_rb,0.39031e-02_rb,0.33460e-02_rb,0.27890e-02_rb,0.23856e-02_rb, & & 0.20682e-02_rb,0.21419e-02_rb,0.24093e-02_rb,0.29396e-02_rb /) kao(:, 5, 9,15) = (/ & & 0.44050e-02_rb,0.38549e-02_rb,0.33047e-02_rb,0.27817e-02_rb,0.24123e-02_rb, & & 0.22258e-02_rb,0.24850e-02_rb,0.27956e-02_rb,0.34119e-02_rb /) kao(:, 1,10,15) = (/ & & 0.53098e-02_rb,0.46463e-02_rb,0.39828e-02_rb,0.33194e-02_rb,0.26559e-02_rb, & & 0.20766e-02_rb,0.16840e-02_rb,0.16129e-02_rb,0.19635e-02_rb /) kao(:, 2,10,15) = (/ & & 0.52134e-02_rb,0.45620e-02_rb,0.39106e-02_rb,0.32592e-02_rb,0.26145e-02_rb, & & 0.21601e-02_rb,0.18269e-02_rb,0.18690e-02_rb,0.22681e-02_rb /) kao(:, 3,10,15) = (/ & & 0.51182e-02_rb,0.44788e-02_rb,0.38392e-02_rb,0.31998e-02_rb,0.26226e-02_rb, & & 0.22138e-02_rb,0.19824e-02_rb,0.21416e-02_rb,0.25956e-02_rb /) kao(:, 4,10,15) = (/ & & 0.50344e-02_rb,0.44054e-02_rb,0.37765e-02_rb,0.31477e-02_rb,0.26616e-02_rb, & & 0.22709e-02_rb,0.22099e-02_rb,0.24682e-02_rb,0.29962e-02_rb /) kao(:, 5,10,15) = (/ & & 0.49550e-02_rb,0.43361e-02_rb,0.37172e-02_rb,0.31183e-02_rb,0.26883e-02_rb, & & 0.23873e-02_rb,0.25425e-02_rb,0.28708e-02_rb,0.34790e-02_rb /) kao(:, 1,11,15) = (/ & & 0.59619e-02_rb,0.52169e-02_rb,0.44719e-02_rb,0.37267e-02_rb,0.29817e-02_rb, & & 0.23525e-02_rb,0.18854e-02_rb,0.17723e-02_rb,0.21445e-02_rb /) kao(:, 2,11,15) = (/ & & 0.58318e-02_rb,0.51031e-02_rb,0.43744e-02_rb,0.36457e-02_rb,0.29351e-02_rb, & & 0.24253e-02_rb,0.20278e-02_rb,0.20449e-02_rb,0.24715e-02_rb /) kao(:, 3,11,15) = (/ & & 0.57112e-02_rb,0.49976e-02_rb,0.42840e-02_rb,0.35704e-02_rb,0.29381e-02_rb, & & 0.24724e-02_rb,0.21871e-02_rb,0.23372e-02_rb,0.28231e-02_rb /) kao(:, 4,11,15) = (/ & & 0.56008e-02_rb,0.49010e-02_rb,0.42013e-02_rb,0.35025e-02_rb,0.29677e-02_rb, & & 0.25269e-02_rb,0.24222e-02_rb,0.27009e-02_rb,0.32614e-02_rb /) kao(:, 5,11,15) = (/ & & 0.54961e-02_rb,0.48096e-02_rb,0.41230e-02_rb,0.34666e-02_rb,0.29811e-02_rb, & & 0.26438e-02_rb,0.27691e-02_rb,0.31324e-02_rb,0.37747e-02_rb /) kao(:, 1,12,15) = (/ & & 0.66218e-02_rb,0.57942e-02_rb,0.49667e-02_rb,0.41391e-02_rb,0.33116e-02_rb, & & 0.26382e-02_rb,0.20922e-02_rb,0.19344e-02_rb,0.23267e-02_rb /) kao(:, 2,12,15) = (/ & & 0.64584e-02_rb,0.56513e-02_rb,0.48443e-02_rb,0.40372e-02_rb,0.32618e-02_rb, & & 0.26974e-02_rb,0.22343e-02_rb,0.22270e-02_rb,0.26783e-02_rb /) kao(:, 3,12,15) = (/ & & 0.63097e-02_rb,0.55213e-02_rb,0.47331e-02_rb,0.39445e-02_rb,0.32599e-02_rb, & & 0.27357e-02_rb,0.23983e-02_rb,0.25418e-02_rb,0.30577e-02_rb /) kao(:, 4,12,15) = (/ & & 0.61694e-02_rb,0.53986e-02_rb,0.46278e-02_rb,0.38631e-02_rb,0.32772e-02_rb, & & 0.27857e-02_rb,0.26412e-02_rb,0.29352e-02_rb,0.35233e-02_rb /) kao(:, 5,12,15) = (/ & & 0.60360e-02_rb,0.52820e-02_rb,0.45279e-02_rb,0.38177e-02_rb,0.32735e-02_rb, & & 0.29011e-02_rb,0.29998e-02_rb,0.33948e-02_rb,0.40685e-02_rb /) kao(:, 1,13,15) = (/ & & 0.72856e-02_rb,0.63751e-02_rb,0.54646e-02_rb,0.45539e-02_rb,0.36434e-02_rb, & & 0.29246e-02_rb,0.23024e-02_rb,0.20968e-02_rb,0.25004e-02_rb /) kao(:, 2,13,15) = (/ & & 0.70792e-02_rb,0.61945e-02_rb,0.53099e-02_rb,0.44252e-02_rb,0.35875e-02_rb, & & 0.29681e-02_rb,0.24397e-02_rb,0.24073e-02_rb,0.28787e-02_rb /) kao(:, 3,13,15) = (/ & & 0.68966e-02_rb,0.60348e-02_rb,0.51733e-02_rb,0.43112e-02_rb,0.35811e-02_rb, & & 0.29976e-02_rb,0.26071e-02_rb,0.27479e-02_rb,0.32886e-02_rb /) kao(:, 4,13,15) = (/ & & 0.67258e-02_rb,0.58855e-02_rb,0.50451e-02_rb,0.42204e-02_rb,0.35830e-02_rb, & & 0.30400e-02_rb,0.28573e-02_rb,0.31625e-02_rb,0.37791e-02_rb /) kao(:, 5,13,15) = (/ & & 0.65607e-02_rb,0.57411e-02_rb,0.49214e-02_rb,0.41617e-02_rb,0.35593e-02_rb, & & 0.31530e-02_rb,0.32258e-02_rb,0.36487e-02_rb,0.43508e-02_rb /) kao(:, 1, 1,16) = (/ & & 0.16712e-02_rb,0.14631e-02_rb,0.12550e-02_rb,0.10468e-02_rb,0.92082e-03_rb, & & 0.11371e-02_rb,0.13321e-02_rb,0.14544e-02_rb,0.17472e-02_rb /) kao(:, 2, 1,16) = (/ & & 0.16787e-02_rb,0.14701e-02_rb,0.12615e-02_rb,0.10530e-02_rb,0.10440e-02_rb, & & 0.12893e-02_rb,0.15114e-02_rb,0.16524e-02_rb,0.19826e-02_rb /) kao(:, 3, 1,16) = (/ & & 0.16875e-02_rb,0.14779e-02_rb,0.12683e-02_rb,0.10588e-02_rb,0.11676e-02_rb, & & 0.14424e-02_rb,0.16914e-02_rb,0.18523e-02_rb,0.22202e-02_rb /) kao(:, 4, 1,16) = (/ & & 0.16926e-02_rb,0.14826e-02_rb,0.12725e-02_rb,0.10626e-02_rb,0.12909e-02_rb, & & 0.15950e-02_rb,0.18720e-02_rb,0.20532e-02_rb,0.24579e-02_rb /) kao(:, 5, 1,16) = (/ & & 0.16942e-02_rb,0.14841e-02_rb,0.12739e-02_rb,0.11419e-02_rb,0.15149e-02_rb, & & 0.18796e-02_rb,0.22246e-02_rb,0.24968e-02_rb,0.29379e-02_rb /) kao(:, 1, 2,16) = (/ & & 0.19607e-02_rb,0.17158e-02_rb,0.14714e-02_rb,0.12274e-02_rb,0.10440e-02_rb, & & 0.12890e-02_rb,0.15097e-02_rb,0.16471e-02_rb,0.20285e-02_rb /) kao(:, 2, 2,16) = (/ & & 0.19666e-02_rb,0.17216e-02_rb,0.14767e-02_rb,0.12314e-02_rb,0.11872e-02_rb, & & 0.14659e-02_rb,0.17177e-02_rb,0.18761e-02_rb,0.23077e-02_rb /) kao(:, 3, 2,16) = (/ & & 0.19740e-02_rb,0.17284e-02_rb,0.14830e-02_rb,0.12374e-02_rb,0.13301e-02_rb, & & 0.16429e-02_rb,0.19255e-02_rb,0.21058e-02_rb,0.25866e-02_rb /) kao(:, 4, 2,16) = (/ & & 0.19796e-02_rb,0.17334e-02_rb,0.14872e-02_rb,0.12416e-02_rb,0.14717e-02_rb, & & 0.18182e-02_rb,0.21321e-02_rb,0.23342e-02_rb,0.28637e-02_rb /) kao(:, 5, 2,16) = (/ & & 0.19818e-02_rb,0.17354e-02_rb,0.14891e-02_rb,0.12544e-02_rb,0.16318e-02_rb, & & 0.20217e-02_rb,0.23832e-02_rb,0.26470e-02_rb,0.31951e-02_rb /) kao(:, 1, 3,16) = (/ & & 0.23039e-02_rb,0.20168e-02_rb,0.17292e-02_rb,0.14410e-02_rb,0.11614e-02_rb, & & 0.14213e-02_rb,0.16646e-02_rb,0.18149e-02_rb,0.22923e-02_rb /) kao(:, 2, 3,16) = (/ & & 0.23064e-02_rb,0.20187e-02_rb,0.17311e-02_rb,0.14440e-02_rb,0.13190e-02_rb, & & 0.16288e-02_rb,0.19083e-02_rb,0.20825e-02_rb,0.26267e-02_rb /) kao(:, 3, 3,16) = (/ & & 0.23119e-02_rb,0.20237e-02_rb,0.17351e-02_rb,0.14470e-02_rb,0.14864e-02_rb, & & 0.18354e-02_rb,0.21515e-02_rb,0.23501e-02_rb,0.29596e-02_rb /) kao(:, 4, 3,16) = (/ & & 0.23154e-02_rb,0.20269e-02_rb,0.17385e-02_rb,0.14496e-02_rb,0.16513e-02_rb, & & 0.20395e-02_rb,0.23915e-02_rb,0.26154e-02_rb,0.32883e-02_rb /) kao(:, 5, 3,16) = (/ & & 0.23212e-02_rb,0.20321e-02_rb,0.17430e-02_rb,0.14536e-02_rb,0.18129e-02_rb, & & 0.22398e-02_rb,0.26272e-02_rb,0.28760e-02_rb,0.36101e-02_rb /) kao(:, 1, 4,16) = (/ & & 0.27129e-02_rb,0.23736e-02_rb,0.20348e-02_rb,0.16965e-02_rb,0.13577e-02_rb, & & 0.15487e-02_rb,0.18138e-02_rb,0.19776e-02_rb,0.25289e-02_rb /) kao(:, 2, 4,16) = (/ & & 0.27133e-02_rb,0.23745e-02_rb,0.20358e-02_rb,0.16966e-02_rb,0.14516e-02_rb, & & 0.17925e-02_rb,0.21002e-02_rb,0.22917e-02_rb,0.29262e-02_rb /) kao(:, 3, 4,16) = (/ & & 0.27155e-02_rb,0.23766e-02_rb,0.20379e-02_rb,0.16990e-02_rb,0.16483e-02_rb, & & 0.20360e-02_rb,0.23858e-02_rb,0.26061e-02_rb,0.33224e-02_rb /) kao(:, 4, 4,16) = (/ & & 0.27175e-02_rb,0.23784e-02_rb,0.20394e-02_rb,0.17007e-02_rb,0.18426e-02_rb, & & 0.22757e-02_rb,0.26681e-02_rb,0.29171e-02_rb,0.37132e-02_rb /) kao(:, 5, 4,16) = (/ & & 0.27186e-02_rb,0.23796e-02_rb,0.20406e-02_rb,0.17019e-02_rb,0.20320e-02_rb, & & 0.25101e-02_rb,0.29443e-02_rb,0.32220e-02_rb,0.40947e-02_rb /) kao(:, 1, 5,16) = (/ & & 0.32119e-02_rb,0.28114e-02_rb,0.24099e-02_rb,0.20078e-02_rb,0.16065e-02_rb, & & 0.16767e-02_rb,0.19643e-02_rb,0.21431e-02_rb,0.27523e-02_rb /) kao(:, 2, 5,16) = (/ & & 0.32085e-02_rb,0.28077e-02_rb,0.24069e-02_rb,0.20064e-02_rb,0.16195e-02_rb, & & 0.19633e-02_rb,0.23007e-02_rb,0.25120e-02_rb,0.32215e-02_rb /) kao(:, 3, 5,16) = (/ & & 0.32085e-02_rb,0.28078e-02_rb,0.24068e-02_rb,0.20061e-02_rb,0.18214e-02_rb, & & 0.22501e-02_rb,0.26375e-02_rb,0.28827e-02_rb,0.36897e-02_rb /) kao(:, 4, 5,16) = (/ & & 0.32059e-02_rb,0.28056e-02_rb,0.24053e-02_rb,0.20050e-02_rb,0.20501e-02_rb, & & 0.25321e-02_rb,0.29699e-02_rb,0.32491e-02_rb,0.41521e-02_rb /) kao(:, 5, 5,16) = (/ & & 0.31984e-02_rb,0.27990e-02_rb,0.23997e-02_rb,0.20000e-02_rb,0.22727e-02_rb, & & 0.28084e-02_rb,0.32949e-02_rb,0.36079e-02_rb,0.46028e-02_rb /) kao(:, 1, 6,16) = (/ & & 0.38076e-02_rb,0.33317e-02_rb,0.28559e-02_rb,0.23799e-02_rb,0.19041e-02_rb, & & 0.17889e-02_rb,0.20969e-02_rb,0.22903e-02_rb,0.29420e-02_rb /) kao(:, 2, 6,16) = (/ & & 0.37964e-02_rb,0.33220e-02_rb,0.28476e-02_rb,0.23732e-02_rb,0.18989e-02_rb, & & 0.21234e-02_rb,0.24900e-02_rb,0.27226e-02_rb,0.34908e-02_rb /) kao(:, 3, 6,16) = (/ & & 0.37877e-02_rb,0.33145e-02_rb,0.28416e-02_rb,0.23683e-02_rb,0.19985e-02_rb, & & 0.24600e-02_rb,0.28851e-02_rb,0.31576e-02_rb,0.40421e-02_rb /) kao(:, 4, 6,16) = (/ & & 0.37785e-02_rb,0.33065e-02_rb,0.28344e-02_rb,0.23627e-02_rb,0.22594e-02_rb, & & 0.27919e-02_rb,0.32761e-02_rb,0.35889e-02_rb,0.45855e-02_rb /) kao(:, 5, 6,16) = (/ & & 0.37630e-02_rb,0.32929e-02_rb,0.28229e-02_rb,0.23532e-02_rb,0.25213e-02_rb, & & 0.31161e-02_rb,0.36579e-02_rb,0.40115e-02_rb,0.51155e-02_rb /) kao(:, 1, 7,16) = (/ & & 0.45014e-02_rb,0.39388e-02_rb,0.33762e-02_rb,0.28135e-02_rb,0.22509e-02_rb, & & 0.18859e-02_rb,0.22117e-02_rb,0.24208e-02_rb,0.31038e-02_rb /) kao(:, 2, 7,16) = (/ & & 0.44788e-02_rb,0.39190e-02_rb,0.33593e-02_rb,0.27996e-02_rb,0.22399e-02_rb, & & 0.22735e-02_rb,0.26677e-02_rb,0.29222e-02_rb,0.37394e-02_rb /) kao(:, 3, 7,16) = (/ & & 0.44593e-02_rb,0.39020e-02_rb,0.33439e-02_rb,0.27867e-02_rb,0.22518e-02_rb, & & 0.26648e-02_rb,0.31283e-02_rb,0.34304e-02_rb,0.43806e-02_rb /) kao(:, 4, 7,16) = (/ & & 0.44374e-02_rb,0.38829e-02_rb,0.33284e-02_rb,0.27732e-02_rb,0.24705e-02_rb, & & 0.30533e-02_rb,0.35850e-02_rb,0.39361e-02_rb,0.50160e-02_rb /) kao(:, 5, 7,16) = (/ & & 0.44113e-02_rb,0.38601e-02_rb,0.33089e-02_rb,0.27567e-02_rb,0.27756e-02_rb, & & 0.34321e-02_rb,0.40324e-02_rb,0.44314e-02_rb,0.56359e-02_rb /) kao(:, 1, 8,16) = (/ & & 0.53031e-02_rb,0.46403e-02_rb,0.39774e-02_rb,0.33149e-02_rb,0.26520e-02_rb, & & 0.20316e-02_rb,0.23080e-02_rb,0.25314e-02_rb,0.32334e-02_rb /) kao(:, 2, 8,16) = (/ & & 0.52648e-02_rb,0.46067e-02_rb,0.39487e-02_rb,0.32907e-02_rb,0.26325e-02_rb, & & 0.24096e-02_rb,0.28298e-02_rb,0.31081e-02_rb,0.39611e-02_rb /) kao(:, 3, 8,16) = (/ & & 0.52246e-02_rb,0.45716e-02_rb,0.39189e-02_rb,0.32659e-02_rb,0.26125e-02_rb, & & 0.28611e-02_rb,0.33614e-02_rb,0.36958e-02_rb,0.47006e-02_rb /) kao(:, 4, 8,16) = (/ & & 0.51821e-02_rb,0.45344e-02_rb,0.38868e-02_rb,0.32390e-02_rb,0.27289e-02_rb, & & 0.33103e-02_rb,0.38912e-02_rb,0.42829e-02_rb,0.54355e-02_rb /) kao(:, 5, 8,16) = (/ & & 0.51356e-02_rb,0.44938e-02_rb,0.38520e-02_rb,0.32108e-02_rb,0.30299e-02_rb, & & 0.37493e-02_rb,0.44090e-02_rb,0.48604e-02_rb,0.61537e-02_rb /) kao(:, 1, 9,16) = (/ & & 0.62116e-02_rb,0.54352e-02_rb,0.46587e-02_rb,0.38825e-02_rb,0.31060e-02_rb, & & 0.23296e-02_rb,0.23830e-02_rb,0.26152e-02_rb,0.33400e-02_rb /) kao(:, 2, 9,16) = (/ & & 0.61510e-02_rb,0.53822e-02_rb,0.46134e-02_rb,0.38445e-02_rb,0.30756e-02_rb, & & 0.25421e-02_rb,0.29622e-02_rb,0.32625e-02_rb,0.41372e-02_rb /) kao(:, 3, 9,16) = (/ & & 0.60862e-02_rb,0.53255e-02_rb,0.45651e-02_rb,0.38044e-02_rb,0.30427e-02_rb, & & 0.30332e-02_rb,0.35680e-02_rb,0.39355e-02_rb,0.49777e-02_rb /) kao(:, 4, 9,16) = (/ & & 0.60169e-02_rb,0.52649e-02_rb,0.45129e-02_rb,0.37608e-02_rb,0.30629e-02_rb, & & 0.35468e-02_rb,0.41747e-02_rb,0.46107e-02_rb,0.58172e-02_rb /) kao(:, 5, 9,16) = (/ & & 0.59428e-02_rb,0.52001e-02_rb,0.44573e-02_rb,0.37148e-02_rb,0.33039e-02_rb, & & 0.40510e-02_rb,0.47683e-02_rb,0.52747e-02_rb,0.66403e-02_rb /) kao(:, 1,10,16) = (/ & & 0.72226e-02_rb,0.63198e-02_rb,0.54170e-02_rb,0.45138e-02_rb,0.36111e-02_rb, & & 0.27087e-02_rb,0.25246e-02_rb,0.27733e-02_rb,0.35348e-02_rb /) kao(:, 2,10,16) = (/ & & 0.71308e-02_rb,0.62395e-02_rb,0.53482e-02_rb,0.44569e-02_rb,0.35656e-02_rb, & & 0.27737e-02_rb,0.31148e-02_rb,0.34380e-02_rb,0.43453e-02_rb /) kao(:, 3,10,16) = (/ & & 0.70337e-02_rb,0.61546e-02_rb,0.52755e-02_rb,0.43963e-02_rb,0.35178e-02_rb, & & 0.32195e-02_rb,0.37898e-02_rb,0.41956e-02_rb,0.52718e-02_rb /) kao(:, 4,10,16) = (/ & & 0.69308e-02_rb,0.60645e-02_rb,0.51982e-02_rb,0.43312e-02_rb,0.34725e-02_rb, & & 0.37977e-02_rb,0.44773e-02_rb,0.49627e-02_rb,0.62190e-02_rb /) kao(:, 5,10,16) = (/ & & 0.68213e-02_rb,0.59687e-02_rb,0.51162e-02_rb,0.42630e-02_rb,0.36577e-02_rb, & & 0.43690e-02_rb,0.51523e-02_rb,0.57195e-02_rb,0.71486e-02_rb /) kao(:, 1,11,16) = (/ & & 0.82729e-02_rb,0.72388e-02_rb,0.62047e-02_rb,0.51704e-02_rb,0.41364e-02_rb, & & 0.31022e-02_rb,0.29450e-02_rb,0.32481e-02_rb,0.41092e-02_rb /) kao(:, 2,11,16) = (/ & & 0.81377e-02_rb,0.71207e-02_rb,0.61034e-02_rb,0.50862e-02_rb,0.40694e-02_rb, & & 0.32023e-02_rb,0.35972e-02_rb,0.39817e-02_rb,0.50045e-02_rb /) kao(:, 3,11,16) = (/ & & 0.79927e-02_rb,0.69937e-02_rb,0.59945e-02_rb,0.49955e-02_rb,0.39980e-02_rb, & & 0.36849e-02_rb,0.43305e-02_rb,0.48162e-02_rb,0.60016e-02_rb /) kao(:, 4,11,16) = (/ & & 0.78435e-02_rb,0.68631e-02_rb,0.58827e-02_rb,0.49014e-02_rb,0.39530e-02_rb, & & 0.43152e-02_rb,0.50942e-02_rb,0.56750e-02_rb,0.70494e-02_rb /) kao(:, 5,11,16) = (/ & & 0.76868e-02_rb,0.67260e-02_rb,0.57653e-02_rb,0.48045e-02_rb,0.41698e-02_rb, & & 0.49442e-02_rb,0.58408e-02_rb,0.65151e-02_rb,0.80731e-02_rb /) kao(:, 1,12,16) = (/ & & 0.93677e-02_rb,0.81967e-02_rb,0.70258e-02_rb,0.58546e-02_rb,0.46837e-02_rb, & & 0.35124e-02_rb,0.33991e-02_rb,0.37659e-02_rb,0.47255e-02_rb /) kao(:, 2,12,16) = (/ & & 0.91725e-02_rb,0.80259e-02_rb,0.68794e-02_rb,0.57329e-02_rb,0.45871e-02_rb, & & 0.36555e-02_rb,0.41158e-02_rb,0.45739e-02_rb,0.57058e-02_rb /) kao(:, 3,12,16) = (/ & & 0.89743e-02_rb,0.78526e-02_rb,0.67312e-02_rb,0.56083e-02_rb,0.44874e-02_rb, & & 0.41738e-02_rb,0.49000e-02_rb,0.54681e-02_rb,0.67707e-02_rb /) kao(:, 4,12,16) = (/ & & 0.87651e-02_rb,0.76695e-02_rb,0.65740e-02_rb,0.54780e-02_rb,0.44541e-02_rb, & & 0.48422e-02_rb,0.57276e-02_rb,0.64103e-02_rb,0.78928e-02_rb /) kao(:, 5,12,16) = (/ & & 0.85557e-02_rb,0.74863e-02_rb,0.64169e-02_rb,0.53471e-02_rb,0.46965e-02_rb, & & 0.55261e-02_rb,0.65398e-02_rb,0.73300e-02_rb,0.90026e-02_rb /) kao(:, 1,13,16) = (/ & & 0.10484e-01_rb,0.91737e-02_rb,0.78632e-02_rb,0.65525e-02_rb,0.52420e-02_rb, & & 0.39330e-02_rb,0.38753e-02_rb,0.43130e-02_rb,0.53655e-02_rb /) kao(:, 2,13,16) = (/ & & 0.10212e-01_rb,0.89352e-02_rb,0.76588e-02_rb,0.63823e-02_rb,0.51063e-02_rb, & & 0.41214e-02_rb,0.46538e-02_rb,0.51962e-02_rb,0.64287e-02_rb /) kao(:, 3,13,16) = (/ & & 0.99472e-02_rb,0.87039e-02_rb,0.74620e-02_rb,0.62164e-02_rb,0.49733e-02_rb, & & 0.46683e-02_rb,0.54886e-02_rb,0.61482e-02_rb,0.75590e-02_rb /) kao(:, 4,13,16) = (/ & & 0.96776e-02_rb,0.84679e-02_rb,0.72583e-02_rb,0.60495e-02_rb,0.49611e-02_rb, & & 0.53643e-02_rb,0.63558e-02_rb,0.71458e-02_rb,0.87290e-02_rb /) kao(:, 5,13,16) = (/ & & 0.94084e-02_rb,0.82324e-02_rb,0.70564e-02_rb,0.58807e-02_rb,0.52210e-02_rb, & & 0.60971e-02_rb,0.72271e-02_rb,0.81397e-02_rb,0.99102e-02_rb /) ! ----------------------------------------------------------------- ! The array KBO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels < ~100mb and temperatures. The first ! index in the array, JT, which runs from 1 to 5, corresponds to ! different temperatures. More specifically, JT = 3 means that the ! data are for the reference temperature TREF for this pressure ! level, JT = 2 refers to the temperature TREF-15, JT = 1 is for ! TREF-30, JT = 4 is for TREF+15, and JT = 5 is for TREF+30. ! The second index, JP, runs from 13 to 59 and refers to the JPth ! reference pressure level (see taumol.f for the value of these ! pressure levels in mb). The third index, IG, goes from 1 to 16, ! and tells us which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kbo(:,13, 1) = (/ & & 0.33062e-11_rb,0.42306e-11_rb,0.53172e-11_rb,0.65673e-11_rb,0.78335e-11_rb /) kbo(:,14, 1) = (/ & & 0.27467e-11_rb,0.35252e-11_rb,0.44160e-11_rb,0.54171e-11_rb,0.64630e-11_rb /) kbo(:,15, 1) = (/ & & 0.23431e-11_rb,0.29962e-11_rb,0.37507e-11_rb,0.46179e-11_rb,0.54790e-11_rb /) kbo(:,16, 1) = (/ & & 0.20178e-11_rb,0.25698e-11_rb,0.32330e-11_rb,0.40024e-11_rb,0.46899e-11_rb /) kbo(:,17, 1) = (/ & & 0.17389e-11_rb,0.22126e-11_rb,0.27864e-11_rb,0.34615e-11_rb,0.40184e-11_rb /) kbo(:,18, 1) = (/ & & 0.15164e-11_rb,0.19304e-11_rb,0.24263e-11_rb,0.29918e-11_rb,0.34734e-11_rb /) kbo(:,19, 1) = (/ & & 0.13194e-11_rb,0.16684e-11_rb,0.20851e-11_rb,0.25471e-11_rb,0.29992e-11_rb /) kbo(:,20, 1) = (/ & & 0.11345e-11_rb,0.14317e-11_rb,0.17813e-11_rb,0.21686e-11_rb,0.25523e-11_rb /) kbo(:,21, 1) = (/ & & 0.97614e-12_rb,0.12233e-11_rb,0.15124e-11_rb,0.18436e-11_rb,0.21624e-11_rb /) kbo(:,22, 1) = (/ & & 0.84972e-12_rb,0.10604e-11_rb,0.13001e-11_rb,0.15853e-11_rb,0.18511e-11_rb /) kbo(:,23, 1) = (/ & & 0.73919e-12_rb,0.91863e-12_rb,0.11179e-11_rb,0.13612e-11_rb,0.15791e-11_rb /) kbo(:,24, 1) = (/ & & 0.63952e-12_rb,0.79203e-12_rb,0.96272e-12_rb,0.11643e-11_rb,0.13384e-11_rb /) kbo(:,25, 1) = (/ & & 0.55198e-12_rb,0.68176e-12_rb,0.82782e-12_rb,0.99347e-12_rb,0.11342e-11_rb /) kbo(:,26, 1) = (/ & & 0.47648e-12_rb,0.58395e-12_rb,0.71214e-12_rb,0.84565e-12_rb,0.96146e-12_rb /) kbo(:,27, 1) = (/ & & 0.41185e-12_rb,0.50403e-12_rb,0.61156e-12_rb,0.71539e-12_rb,0.81410e-12_rb /) kbo(:,28, 1) = (/ & & 0.35568e-12_rb,0.43404e-12_rb,0.52441e-12_rb,0.60652e-12_rb,0.68860e-12_rb /) kbo(:,29, 1) = (/ & & 0.30863e-12_rb,0.37487e-12_rb,0.45120e-12_rb,0.51591e-12_rb,0.58367e-12_rb /) kbo(:,30, 1) = (/ & & 0.26804e-12_rb,0.32390e-12_rb,0.38615e-12_rb,0.43956e-12_rb,0.49890e-12_rb /) kbo(:,31, 1) = (/ & & 0.23316e-12_rb,0.28106e-12_rb,0.33068e-12_rb,0.37478e-12_rb,0.42377e-12_rb /) kbo(:,32, 1) = (/ & & 0.20255e-12_rb,0.24397e-12_rb,0.28293e-12_rb,0.31878e-12_rb,0.36224e-12_rb /) kbo(:,33, 1) = (/ & & 0.17541e-12_rb,0.21018e-12_rb,0.24052e-12_rb,0.27083e-12_rb,0.30963e-12_rb /) kbo(:,34, 1) = (/ & & 0.15014e-12_rb,0.17890e-12_rb,0.20293e-12_rb,0.23058e-12_rb,0.26131e-12_rb /) kbo(:,35, 1) = (/ & & 0.12610e-12_rb,0.14972e-12_rb,0.16906e-12_rb,0.19250e-12_rb,0.21752e-12_rb /) kbo(:,36, 1) = (/ & & 0.10365e-12_rb,0.12301e-12_rb,0.13878e-12_rb,0.15810e-12_rb,0.17856e-12_rb /) kbo(:,37, 1) = (/ & & 0.82572e-13_rb,0.98388e-13_rb,0.11143e-12_rb,0.12645e-12_rb,0.14343e-12_rb /) kbo(:,38, 1) = (/ & & 0.65632e-13_rb,0.78531e-13_rb,0.89359e-13_rb,0.10135e-12_rb,0.11495e-12_rb /) kbo(:,39, 1) = (/ & & 0.52174e-13_rb,0.62607e-13_rb,0.71650e-13_rb,0.80738e-13_rb,0.92112e-13_rb /) kbo(:,40, 1) = (/ & & 0.40434e-13_rb,0.48683e-13_rb,0.56479e-13_rb,0.63806e-13_rb,0.72155e-13_rb /) kbo(:,41, 1) = (/ & & 0.31179e-13_rb,0.37691e-13_rb,0.44339e-13_rb,0.50247e-13_rb,0.56982e-13_rb /) kbo(:,42, 1) = (/ & & 0.24040e-13_rb,0.29161e-13_rb,0.34731e-13_rb,0.39467e-13_rb,0.44922e-13_rb /) kbo(:,43, 1) = (/ & & 0.18259e-13_rb,0.22185e-13_rb,0.26753e-13_rb,0.30617e-13_rb,0.34721e-13_rb /) kbo(:,44, 1) = (/ & & 0.13667e-13_rb,0.16662e-13_rb,0.20308e-13_rb,0.23577e-13_rb,0.26865e-13_rb /) kbo(:,45, 1) = (/ & & 0.10182e-13_rb,0.12571e-13_rb,0.15345e-13_rb,0.18028e-13_rb,0.20725e-13_rb /) kbo(:,46, 1) = (/ & & 0.75196e-14_rb,0.94092e-14_rb,0.11475e-13_rb,0.13704e-13_rb,0.15878e-13_rb /) kbo(:,47, 1) = (/ & & 0.54721e-14_rb,0.69523e-14_rb,0.85280e-14_rb,0.10311e-13_rb,0.11952e-13_rb /) kbo(:,48, 1) = (/ & & 0.39619e-14_rb,0.50439e-14_rb,0.62896e-14_rb,0.77193e-14_rb,0.89282e-14_rb /) kbo(:,49, 1) = (/ & & 0.28508e-14_rb,0.36419e-14_rb,0.46044e-14_rb,0.57276e-14_rb,0.66866e-14_rb /) kbo(:,50, 1) = (/ & & 0.20973e-14_rb,0.26588e-14_rb,0.33754e-14_rb,0.42404e-14_rb,0.50338e-14_rb /) kbo(:,51, 1) = (/ & & 0.15010e-14_rb,0.19461e-14_rb,0.24807e-14_rb,0.31095e-14_rb,0.37789e-14_rb /) kbo(:,52, 1) = (/ & & 0.10686e-14_rb,0.14205e-14_rb,0.18164e-14_rb,0.22651e-14_rb,0.27790e-14_rb /) kbo(:,53, 1) = (/ & & 0.75469e-15_rb,0.10279e-14_rb,0.13211e-14_rb,0.16657e-14_rb,0.20344e-14_rb /) kbo(:,54, 1) = (/ & & 0.53837e-15_rb,0.75440e-15_rb,0.97064e-15_rb,0.12260e-14_rb,0.15156e-14_rb /) kbo(:,55, 1) = (/ & & 0.38620e-15_rb,0.54750e-15_rb,0.71223e-15_rb,0.90921e-15_rb,0.11265e-14_rb /) kbo(:,56, 1) = (/ & & 0.27852e-15_rb,0.39135e-15_rb,0.51858e-15_rb,0.66760e-15_rb,0.83486e-15_rb /) kbo(:,57, 1) = (/ & & 0.20280e-15_rb,0.27940e-15_rb,0.37558e-15_rb,0.48656e-15_rb,0.61658e-15_rb /) kbo(:,58, 1) = (/ & & 0.14586e-15_rb,0.19788e-15_rb,0.27273e-15_rb,0.35391e-15_rb,0.45250e-15_rb /) kbo(:,59, 1) = (/ & & 0.11164e-15_rb,0.15082e-15_rb,0.20804e-15_rb,0.27081e-15_rb,0.49339e-15_rb /) kbo(:,13, 2) = (/ & & 0.15800e-10_rb,0.20781e-10_rb,0.26154e-10_rb,0.31936e-10_rb,0.38062e-10_rb /) kbo(:,14, 2) = (/ & & 0.13333e-10_rb,0.17459e-10_rb,0.21881e-10_rb,0.26666e-10_rb,0.31696e-10_rb /) kbo(:,15, 2) = (/ & & 0.11381e-10_rb,0.14784e-10_rb,0.18449e-10_rb,0.22397e-10_rb,0.26533e-10_rb /) kbo(:,16, 2) = (/ & & 0.97593e-11_rb,0.12591e-10_rb,0.15641e-10_rb,0.18845e-10_rb,0.22503e-10_rb /) kbo(:,17, 2) = (/ & & 0.83473e-11_rb,0.10709e-10_rb,0.13261e-10_rb,0.15857e-10_rb,0.19052e-10_rb /) kbo(:,18, 2) = (/ & & 0.71523e-11_rb,0.91255e-11_rb,0.11229e-10_rb,0.13436e-10_rb,0.16145e-10_rb /) kbo(:,19, 2) = (/ & & 0.60777e-11_rb,0.77489e-11_rb,0.94796e-11_rb,0.11415e-10_rb,0.13591e-10_rb /) kbo(:,20, 2) = (/ & & 0.51693e-11_rb,0.65609e-11_rb,0.80124e-11_rb,0.96944e-11_rb,0.11427e-10_rb /) kbo(:,21, 2) = (/ & & 0.43931e-11_rb,0.55492e-11_rb,0.67698e-11_rb,0.81825e-11_rb,0.95836e-11_rb /) kbo(:,22, 2) = (/ & & 0.37967e-11_rb,0.47515e-11_rb,0.57759e-11_rb,0.69676e-11_rb,0.81090e-11_rb /) kbo(:,23, 2) = (/ & & 0.32747e-11_rb,0.40830e-11_rb,0.49616e-11_rb,0.59280e-11_rb,0.68614e-11_rb /) kbo(:,24, 2) = (/ & & 0.28215e-11_rb,0.34976e-11_rb,0.42532e-11_rb,0.50228e-11_rb,0.57971e-11_rb /) kbo(:,25, 2) = (/ & & 0.24334e-11_rb,0.29960e-11_rb,0.36396e-11_rb,0.42606e-11_rb,0.49056e-11_rb /) kbo(:,26, 2) = (/ & & 0.21117e-11_rb,0.25752e-11_rb,0.31134e-11_rb,0.36244e-11_rb,0.41489e-11_rb /) kbo(:,27, 2) = (/ & & 0.18253e-11_rb,0.22243e-11_rb,0.26576e-11_rb,0.30793e-11_rb,0.35048e-11_rb /) kbo(:,28, 2) = (/ & & 0.15682e-11_rb,0.19141e-11_rb,0.22636e-11_rb,0.26109e-11_rb,0.29589e-11_rb /) kbo(:,29, 2) = (/ & & 0.13535e-11_rb,0.16466e-11_rb,0.19296e-11_rb,0.22145e-11_rb,0.25005e-11_rb /) kbo(:,30, 2) = (/ & & 0.11709e-11_rb,0.14136e-11_rb,0.16432e-11_rb,0.18792e-11_rb,0.21240e-11_rb /) kbo(:,31, 2) = (/ & & 0.10216e-11_rb,0.12142e-11_rb,0.14045e-11_rb,0.15978e-11_rb,0.18001e-11_rb /) kbo(:,32, 2) = (/ & & 0.88417e-12_rb,0.10400e-11_rb,0.11973e-11_rb,0.13566e-11_rb,0.15303e-11_rb /) kbo(:,33, 2) = (/ & & 0.76210e-12_rb,0.89004e-12_rb,0.10199e-11_rb,0.11509e-11_rb,0.12984e-11_rb /) kbo(:,34, 2) = (/ & & 0.64910e-12_rb,0.75460e-12_rb,0.86122e-12_rb,0.97227e-12_rb,0.10908e-11_rb /) kbo(:,35, 2) = (/ & & 0.54374e-12_rb,0.63015e-12_rb,0.71745e-12_rb,0.80944e-12_rb,0.90628e-12_rb /) kbo(:,36, 2) = (/ & & 0.44718e-12_rb,0.51791e-12_rb,0.58946e-12_rb,0.66527e-12_rb,0.74411e-12_rb /) kbo(:,37, 2) = (/ & & 0.35793e-12_rb,0.41591e-12_rb,0.47443e-12_rb,0.53549e-12_rb,0.60041e-12_rb /) kbo(:,38, 2) = (/ & & 0.28618e-12_rb,0.33345e-12_rb,0.38124e-12_rb,0.43139e-12_rb,0.48394e-12_rb /) kbo(:,39, 2) = (/ & & 0.22858e-12_rb,0.26729e-12_rb,0.30628e-12_rb,0.34554e-12_rb,0.38998e-12_rb /) kbo(:,40, 2) = (/ & & 0.17867e-12_rb,0.21032e-12_rb,0.24207e-12_rb,0.27407e-12_rb,0.30925e-12_rb /) kbo(:,41, 2) = (/ & & 0.13875e-12_rb,0.16498e-12_rb,0.19072e-12_rb,0.21688e-12_rb,0.24410e-12_rb /) kbo(:,42, 2) = (/ & & 0.10714e-12_rb,0.12915e-12_rb,0.14999e-12_rb,0.17156e-12_rb,0.19364e-12_rb /) kbo(:,43, 2) = (/ & & 0.81856e-13_rb,0.99592e-13_rb,0.11661e-12_rb,0.13414e-12_rb,0.15145e-12_rb /) kbo(:,44, 2) = (/ & & 0.62221e-13_rb,0.75886e-13_rb,0.90106e-13_rb,0.10425e-12_rb,0.11838e-12_rb /) kbo(:,45, 2) = (/ & & 0.47139e-13_rb,0.57421e-13_rb,0.69401e-13_rb,0.80830e-13_rb,0.92462e-13_rb /) kbo(:,46, 2) = (/ & & 0.35469e-13_rb,0.43603e-13_rb,0.52913e-13_rb,0.62345e-13_rb,0.71769e-13_rb /) kbo(:,47, 2) = (/ & & 0.26308e-13_rb,0.32606e-13_rb,0.39610e-13_rb,0.47505e-13_rb,0.55354e-13_rb /) kbo(:,48, 2) = (/ & & 0.19388e-13_rb,0.24430e-13_rb,0.29903e-13_rb,0.35902e-13_rb,0.42540e-13_rb /) kbo(:,49, 2) = (/ & & 0.14144e-13_rb,0.18180e-13_rb,0.22467e-13_rb,0.26985e-13_rb,0.32471e-13_rb /) kbo(:,50, 2) = (/ & & 0.10280e-13_rb,0.13471e-13_rb,0.16900e-13_rb,0.20465e-13_rb,0.24665e-13_rb /) kbo(:,51, 2) = (/ & & 0.74898e-14_rb,0.99392e-14_rb,0.12674e-13_rb,0.15571e-13_rb,0.18663e-13_rb /) kbo(:,52, 2) = (/ & & 0.54214e-14_rb,0.72917e-14_rb,0.94517e-14_rb,0.11816e-13_rb,0.14256e-13_rb /) kbo(:,53, 2) = (/ & & 0.38970e-14_rb,0.53165e-14_rb,0.69989e-14_rb,0.88828e-14_rb,0.10862e-13_rb /) kbo(:,54, 2) = (/ & & 0.27972e-14_rb,0.38775e-14_rb,0.51927e-14_rb,0.66775e-14_rb,0.82659e-14_rb /) kbo(:,55, 2) = (/ & & 0.19962e-14_rb,0.28257e-14_rb,0.38491e-14_rb,0.50059e-14_rb,0.62864e-14_rb /) kbo(:,56, 2) = (/ & & 0.14049e-14_rb,0.20447e-14_rb,0.28389e-14_rb,0.37444e-14_rb,0.47474e-14_rb /) kbo(:,57, 2) = (/ & & 0.97467e-15_rb,0.14635e-14_rb,0.20787e-14_rb,0.27878e-14_rb,0.35737e-14_rb /) kbo(:,58, 2) = (/ & & 0.67770e-15_rb,0.10398e-14_rb,0.15169e-14_rb,0.20739e-14_rb,0.26951e-14_rb /) kbo(:,59, 2) = (/ & & 0.50857e-15_rb,0.79496e-15_rb,0.11749e-14_rb,0.16262e-14_rb,0.21270e-14_rb /) kbo(:,13, 3) = (/ & & 0.93671e-10_rb,0.11591e-09_rb,0.13715e-09_rb,0.15779e-09_rb,0.17870e-09_rb /) kbo(:,14, 3) = (/ & & 0.78883e-10_rb,0.96971e-10_rb,0.11437e-09_rb,0.13160e-09_rb,0.14863e-09_rb /) kbo(:,15, 3) = (/ & & 0.66900e-10_rb,0.81568e-10_rb,0.96052e-10_rb,0.11028e-09_rb,0.12439e-09_rb /) kbo(:,16, 3) = (/ & & 0.56737e-10_rb,0.68853e-10_rb,0.80870e-10_rb,0.92769e-10_rb,0.10422e-09_rb /) kbo(:,17, 3) = (/ & & 0.48148e-10_rb,0.58209e-10_rb,0.68168e-10_rb,0.78006e-10_rb,0.87308e-10_rb /) kbo(:,18, 3) = (/ & & 0.40874e-10_rb,0.49268e-10_rb,0.57591e-10_rb,0.65627e-10_rb,0.73296e-10_rb /) kbo(:,19, 3) = (/ & & 0.34619e-10_rb,0.41578e-10_rb,0.48414e-10_rb,0.55049e-10_rb,0.61235e-10_rb /) kbo(:,20, 3) = (/ & & 0.29370e-10_rb,0.35034e-10_rb,0.40682e-10_rb,0.46014e-10_rb,0.51115e-10_rb /) kbo(:,21, 3) = (/ & & 0.24821e-10_rb,0.29490e-10_rb,0.34141e-10_rb,0.38423e-10_rb,0.42621e-10_rb /) kbo(:,22, 3) = (/ & & 0.21204e-10_rb,0.25041e-10_rb,0.28846e-10_rb,0.32305e-10_rb,0.35757e-10_rb /) kbo(:,23, 3) = (/ & & 0.18107e-10_rb,0.21244e-10_rb,0.24304e-10_rb,0.27144e-10_rb,0.30005e-10_rb /) kbo(:,24, 3) = (/ & & 0.15432e-10_rb,0.18015e-10_rb,0.20470e-10_rb,0.22803e-10_rb,0.25180e-10_rb /) kbo(:,25, 3) = (/ & & 0.13155e-10_rb,0.15266e-10_rb,0.17234e-10_rb,0.19170e-10_rb,0.21096e-10_rb /) kbo(:,26, 3) = (/ & & 0.11220e-10_rb,0.12944e-10_rb,0.14527e-10_rb,0.16132e-10_rb,0.17690e-10_rb /) kbo(:,27, 3) = (/ & & 0.95562e-11_rb,0.10942e-10_rb,0.12242e-10_rb,0.13560e-10_rb,0.14820e-10_rb /) kbo(:,28, 3) = (/ & & 0.81359e-11_rb,0.92394e-11_rb,0.10309e-10_rb,0.11386e-10_rb,0.12407e-10_rb /) kbo(:,29, 3) = (/ & & 0.69193e-11_rb,0.78077e-11_rb,0.87009e-11_rb,0.95682e-11_rb,0.10386e-10_rb /) kbo(:,30, 3) = (/ & & 0.58737e-11_rb,0.65956e-11_rb,0.73381e-11_rb,0.80325e-11_rb,0.87147e-11_rb /) kbo(:,31, 3) = (/ & & 0.49782e-11_rb,0.55816e-11_rb,0.61826e-11_rb,0.67463e-11_rb,0.73000e-11_rb /) kbo(:,32, 3) = (/ & & 0.42202e-11_rb,0.47232e-11_rb,0.52043e-11_rb,0.56623e-11_rb,0.61016e-11_rb /) kbo(:,33, 3) = (/ & & 0.35744e-11_rb,0.39897e-11_rb,0.43757e-11_rb,0.47465e-11_rb,0.50931e-11_rb /) kbo(:,34, 3) = (/ & & 0.30127e-11_rb,0.33496e-11_rb,0.36630e-11_rb,0.39738e-11_rb,0.42413e-11_rb /) kbo(:,35, 3) = (/ & & 0.25098e-11_rb,0.27837e-11_rb,0.30393e-11_rb,0.32916e-11_rb,0.35093e-11_rb /) kbo(:,36, 3) = (/ & & 0.20644e-11_rb,0.22886e-11_rb,0.24982e-11_rb,0.27043e-11_rb,0.28833e-11_rb /) kbo(:,37, 3) = (/ & & 0.16684e-11_rb,0.18536e-11_rb,0.20259e-11_rb,0.21979e-11_rb,0.23456e-11_rb /) kbo(:,38, 3) = (/ & & 0.13466e-11_rb,0.14996e-11_rb,0.16425e-11_rb,0.17834e-11_rb,0.19065e-11_rb /) kbo(:,39, 3) = (/ & & 0.10861e-11_rb,0.12130e-11_rb,0.13309e-11_rb,0.14440e-11_rb,0.15498e-11_rb /) kbo(:,40, 3) = (/ & & 0.86498e-12_rb,0.96921e-12_rb,0.10678e-11_rb,0.11601e-11_rb,0.12509e-11_rb /) kbo(:,41, 3) = (/ & & 0.68788e-12_rb,0.77191e-12_rb,0.85472e-12_rb,0.93133e-12_rb,0.10084e-11_rb /) kbo(:,42, 3) = (/ & & 0.54661e-12_rb,0.61437e-12_rb,0.68360e-12_rb,0.74699e-12_rb,0.81088e-12_rb /) kbo(:,43, 3) = (/ & & 0.42920e-12_rb,0.48515e-12_rb,0.54174e-12_rb,0.59564e-12_rb,0.64658e-12_rb /) kbo(:,44, 3) = (/ & & 0.33491e-12_rb,0.38198e-12_rb,0.42756e-12_rb,0.47274e-12_rb,0.51490e-12_rb /) kbo(:,45, 3) = (/ & & 0.26072e-12_rb,0.29981e-12_rb,0.33699e-12_rb,0.37442e-12_rb,0.40968e-12_rb /) kbo(:,46, 3) = (/ & & 0.20167e-12_rb,0.23370e-12_rb,0.26473e-12_rb,0.29535e-12_rb,0.32495e-12_rb /) kbo(:,47, 3) = (/ & & 0.15427e-12_rb,0.18070e-12_rb,0.20644e-12_rb,0.23129e-12_rb,0.25612e-12_rb /) kbo(:,48, 3) = (/ & & 0.11746e-12_rb,0.13905e-12_rb,0.16032e-12_rb,0.18088e-12_rb,0.20125e-12_rb /) kbo(:,49, 3) = (/ & & 0.88976e-13_rb,0.10661e-12_rb,0.12415e-12_rb,0.14128e-12_rb,0.15777e-12_rb /) kbo(:,50, 3) = (/ & & 0.67378e-13_rb,0.81791e-13_rb,0.96162e-13_rb,0.11029e-12_rb,0.12384e-12_rb /) kbo(:,51, 3) = (/ & & 0.50786e-13_rb,0.62576e-13_rb,0.74348e-13_rb,0.85995e-13_rb,0.97345e-13_rb /) kbo(:,52, 3) = (/ & & 0.37951e-13_rb,0.47645e-13_rb,0.57250e-13_rb,0.66805e-13_rb,0.76257e-13_rb /) kbo(:,53, 3) = (/ & & 0.28159e-13_rb,0.36102e-13_rb,0.43964e-13_rb,0.51774e-13_rb,0.59583e-13_rb /) kbo(:,54, 3) = (/ & & 0.21004e-13_rb,0.27366e-13_rb,0.33776e-13_rb,0.40177e-13_rb,0.46583e-13_rb /) kbo(:,55, 3) = (/ & & 0.15637e-13_rb,0.20632e-13_rb,0.25941e-13_rb,0.31184e-13_rb,0.36409e-13_rb /) kbo(:,56, 3) = (/ & & 0.11581e-13_rb,0.15522e-13_rb,0.19844e-13_rb,0.24130e-13_rb,0.28399e-13_rb /) kbo(:,57, 3) = (/ & & 0.85125e-14_rb,0.11631e-13_rb,0.15093e-13_rb,0.18610e-13_rb,0.22102e-13_rb /) kbo(:,58, 3) = (/ & & 0.62435e-14_rb,0.87193e-14_rb,0.11437e-13_rb,0.14347e-13_rb,0.17208e-13_rb /) kbo(:,59, 3) = (/ & & 0.48886e-14_rb,0.68810e-14_rb,0.90777e-14_rb,0.11450e-13_rb,0.13800e-13_rb /) kbo(:,13, 4) = (/ & & 0.49769e-09_rb,0.57573e-09_rb,0.65456e-09_rb,0.73233e-09_rb,0.81030e-09_rb /) kbo(:,14, 4) = (/ & & 0.41687e-09_rb,0.48070e-09_rb,0.54629e-09_rb,0.61156e-09_rb,0.67509e-09_rb /) kbo(:,15, 4) = (/ & & 0.35004e-09_rb,0.40346e-09_rb,0.45778e-09_rb,0.51155e-09_rb,0.56442e-09_rb /) kbo(:,16, 4) = (/ & & 0.29428e-09_rb,0.33893e-09_rb,0.38370e-09_rb,0.42831e-09_rb,0.47172e-09_rb /) kbo(:,17, 4) = (/ & & 0.24736e-09_rb,0.28447e-09_rb,0.32184e-09_rb,0.35882e-09_rb,0.39576e-09_rb /) kbo(:,18, 4) = (/ & & 0.20799e-09_rb,0.23913e-09_rb,0.26980e-09_rb,0.30118e-09_rb,0.33239e-09_rb /) kbo(:,19, 4) = (/ & & 0.17474e-09_rb,0.20037e-09_rb,0.22650e-09_rb,0.25275e-09_rb,0.27848e-09_rb /) kbo(:,20, 4) = (/ & & 0.14678e-09_rb,0.16826e-09_rb,0.19015e-09_rb,0.21182e-09_rb,0.23321e-09_rb /) kbo(:,21, 4) = (/ & & 0.12329e-09_rb,0.14137e-09_rb,0.15951e-09_rb,0.17762e-09_rb,0.19539e-09_rb /) kbo(:,22, 4) = (/ & & 0.10475e-09_rb,0.11989e-09_rb,0.13488e-09_rb,0.14993e-09_rb,0.16481e-09_rb /) kbo(:,23, 4) = (/ & & 0.89090e-10_rb,0.10156e-09_rb,0.11416e-09_rb,0.12661e-09_rb,0.13928e-09_rb /) kbo(:,24, 4) = (/ & & 0.75648e-10_rb,0.86094e-10_rb,0.96530e-10_rb,0.10692e-09_rb,0.11716e-09_rb /) kbo(:,25, 4) = (/ & & 0.64419e-10_rb,0.73036e-10_rb,0.81659e-10_rb,0.90142e-10_rb,0.98524e-10_rb /) kbo(:,26, 4) = (/ & & 0.54857e-10_rb,0.61972e-10_rb,0.69147e-10_rb,0.76125e-10_rb,0.82778e-10_rb /) kbo(:,27, 4) = (/ & & 0.46656e-10_rb,0.52591e-10_rb,0.58413e-10_rb,0.64168e-10_rb,0.69451e-10_rb /) kbo(:,28, 4) = (/ & & 0.39665e-10_rb,0.44561e-10_rb,0.49317e-10_rb,0.53971e-10_rb,0.58228e-10_rb /) kbo(:,29, 4) = (/ & & 0.33755e-10_rb,0.37736e-10_rb,0.41652e-10_rb,0.45382e-10_rb,0.48825e-10_rb /) kbo(:,30, 4) = (/ & & 0.28671e-10_rb,0.31949e-10_rb,0.35144e-10_rb,0.38141e-10_rb,0.41003e-10_rb /) kbo(:,31, 4) = (/ & & 0.24360e-10_rb,0.27027e-10_rb,0.29632e-10_rb,0.32038e-10_rb,0.34391e-10_rb /) kbo(:,32, 4) = (/ & & 0.20671e-10_rb,0.22852e-10_rb,0.24963e-10_rb,0.26903e-10_rb,0.28818e-10_rb /) kbo(:,33, 4) = (/ & & 0.17515e-10_rb,0.19306e-10_rb,0.20998e-10_rb,0.22562e-10_rb,0.24113e-10_rb /) kbo(:,34, 4) = (/ & & 0.14755e-10_rb,0.16223e-10_rb,0.17588e-10_rb,0.18905e-10_rb,0.20105e-10_rb /) kbo(:,35, 4) = (/ & & 0.12305e-10_rb,0.13505e-10_rb,0.14616e-10_rb,0.15703e-10_rb,0.16661e-10_rb /) kbo(:,36, 4) = (/ & & 0.10152e-10_rb,0.11132e-10_rb,0.12046e-10_rb,0.12938e-10_rb,0.13718e-10_rb /) kbo(:,37, 4) = (/ & & 0.82437e-11_rb,0.90546e-11_rb,0.98101e-11_rb,0.10549e-10_rb,0.11200e-10_rb /) kbo(:,38, 4) = (/ & & 0.66891e-11_rb,0.73572e-11_rb,0.79832e-11_rb,0.85923e-11_rb,0.91388e-11_rb /) kbo(:,39, 4) = (/ & & 0.54271e-11_rb,0.59789e-11_rb,0.64946e-11_rb,0.69804e-11_rb,0.74536e-11_rb /) kbo(:,40, 4) = (/ & & 0.43504e-11_rb,0.48077e-11_rb,0.52359e-11_rb,0.56420e-11_rb,0.60390e-11_rb /) kbo(:,41, 4) = (/ & & 0.34805e-11_rb,0.38570e-11_rb,0.42158e-11_rb,0.45532e-11_rb,0.48856e-11_rb /) kbo(:,42, 4) = (/ & & 0.27817e-11_rb,0.30896e-11_rb,0.33906e-11_rb,0.36712e-11_rb,0.39504e-11_rb /) kbo(:,43, 4) = (/ & & 0.22059e-11_rb,0.24603e-11_rb,0.27112e-11_rb,0.29449e-11_rb,0.31673e-11_rb /) kbo(:,44, 4) = (/ & & 0.17407e-11_rb,0.19508e-11_rb,0.21593e-11_rb,0.23549e-11_rb,0.25394e-11_rb /) kbo(:,45, 4) = (/ & & 0.13717e-11_rb,0.15444e-11_rb,0.17149e-11_rb,0.18808e-11_rb,0.20349e-11_rb /) kbo(:,46, 4) = (/ & & 0.10758e-11_rb,0.12178e-11_rb,0.13582e-11_rb,0.14973e-11_rb,0.16264e-11_rb /) kbo(:,47, 4) = (/ & & 0.83623e-12_rb,0.95326e-12_rb,0.10692e-11_rb,0.11850e-11_rb,0.12934e-11_rb /) kbo(:,48, 4) = (/ & & 0.64811e-12_rb,0.74426e-12_rb,0.84002e-12_rb,0.93446e-12_rb,0.10270e-11_rb /) kbo(:,49, 4) = (/ & & 0.50093e-12_rb,0.57976e-12_rb,0.65824e-12_rb,0.73652e-12_rb,0.81364e-12_rb /) kbo(:,50, 4) = (/ & & 0.38740e-12_rb,0.45167e-12_rb,0.51620e-12_rb,0.58084e-12_rb,0.64495e-12_rb /) kbo(:,51, 4) = (/ & & 0.29910e-12_rb,0.35149e-12_rb,0.40454e-12_rb,0.45768e-12_rb,0.51010e-12_rb /) kbo(:,52, 4) = (/ & & 0.23004e-12_rb,0.27291e-12_rb,0.31637e-12_rb,0.35993e-12_rb,0.40313e-12_rb /) kbo(:,53, 4) = (/ & & 0.17654e-12_rb,0.21129e-12_rb,0.24667e-12_rb,0.28251e-12_rb,0.31798e-12_rb /) kbo(:,54, 4) = (/ & & 0.13566e-12_rb,0.16388e-12_rb,0.19277e-12_rb,0.22203e-12_rb,0.25140e-12_rb /) kbo(:,55, 4) = (/ & & 0.10414e-12_rb,0.12705e-12_rb,0.15062e-12_rb,0.17458e-12_rb,0.19863e-12_rb /) kbo(:,56, 4) = (/ & & 0.79695e-13_rb,0.98154e-13_rb,0.11737e-12_rb,0.13696e-12_rb,0.15674e-12_rb /) kbo(:,57, 4) = (/ & & 0.60735e-13_rb,0.75667e-13_rb,0.91265e-13_rb,0.10718e-12_rb,0.12346e-12_rb /) kbo(:,58, 4) = (/ & & 0.46331e-13_rb,0.58316e-13_rb,0.71018e-13_rb,0.83950e-13_rb,0.97215e-13_rb /) kbo(:,59, 4) = (/ & & 0.36896e-13_rb,0.46643e-13_rb,0.57036e-13_rb,0.67613e-13_rb,0.78545e-13_rb /) kbo(:,13, 5) = (/ & & 0.26254e-08_rb,0.28627e-08_rb,0.30909e-08_rb,0.33000e-08_rb,0.34892e-08_rb /) kbo(:,14, 5) = (/ & & 0.21830e-08_rb,0.23794e-08_rb,0.25635e-08_rb,0.27354e-08_rb,0.28987e-08_rb /) kbo(:,15, 5) = (/ & & 0.18164e-08_rb,0.19772e-08_rb,0.21299e-08_rb,0.22819e-08_rb,0.24177e-08_rb /) kbo(:,16, 5) = (/ & & 0.15141e-08_rb,0.16500e-08_rb,0.17819e-08_rb,0.19057e-08_rb,0.20139e-08_rb /) kbo(:,17, 5) = (/ & & 0.12644e-08_rb,0.13791e-08_rb,0.14854e-08_rb,0.15868e-08_rb,0.16779e-08_rb /) kbo(:,18, 5) = (/ & & 0.10569e-08_rb,0.11490e-08_rb,0.12387e-08_rb,0.13249e-08_rb,0.14004e-08_rb /) kbo(:,19, 5) = (/ & & 0.88077e-09_rb,0.95771e-09_rb,0.10342e-08_rb,0.11045e-08_rb,0.11654e-08_rb /) kbo(:,20, 5) = (/ & & 0.73433e-09_rb,0.79954e-09_rb,0.86343e-09_rb,0.92049e-09_rb,0.97111e-09_rb /) kbo(:,21, 5) = (/ & & 0.61317e-09_rb,0.66751e-09_rb,0.72065e-09_rb,0.76613e-09_rb,0.80891e-09_rb /) kbo(:,22, 5) = (/ & & 0.51519e-09_rb,0.56066e-09_rb,0.60290e-09_rb,0.64113e-09_rb,0.67719e-09_rb /) kbo(:,23, 5) = (/ & & 0.43331e-09_rb,0.47103e-09_rb,0.50532e-09_rb,0.53747e-09_rb,0.56589e-09_rb /) kbo(:,24, 5) = (/ & & 0.36478e-09_rb,0.39531e-09_rb,0.42421e-09_rb,0.45023e-09_rb,0.47333e-09_rb /) kbo(:,25, 5) = (/ & & 0.30661e-09_rb,0.33249e-09_rb,0.35642e-09_rb,0.37711e-09_rb,0.39645e-09_rb /) kbo(:,26, 5) = (/ & & 0.25851e-09_rb,0.28030e-09_rb,0.29893e-09_rb,0.31621e-09_rb,0.33249e-09_rb /) kbo(:,27, 5) = (/ & & 0.21849e-09_rb,0.23581e-09_rb,0.25124e-09_rb,0.26548e-09_rb,0.27889e-09_rb /) kbo(:,28, 5) = (/ & & 0.18476e-09_rb,0.19866e-09_rb,0.21115e-09_rb,0.22285e-09_rb,0.23419e-09_rb /) kbo(:,29, 5) = (/ & & 0.15608e-09_rb,0.16725e-09_rb,0.17764e-09_rb,0.18744e-09_rb,0.19627e-09_rb /) kbo(:,30, 5) = (/ & & 0.13180e-09_rb,0.14084e-09_rb,0.14944e-09_rb,0.15734e-09_rb,0.16419e-09_rb /) kbo(:,31, 5) = (/ & & 0.11122e-09_rb,0.11878e-09_rb,0.12548e-09_rb,0.13183e-09_rb,0.13690e-09_rb /) kbo(:,32, 5) = (/ & & 0.93806e-10_rb,0.99909e-10_rb,0.10547e-09_rb,0.11013e-09_rb,0.11393e-09_rb /) kbo(:,33, 5) = (/ & & 0.79057e-10_rb,0.83869e-10_rb,0.88337e-10_rb,0.91833e-10_rb,0.94728e-10_rb /) kbo(:,34, 5) = (/ & & 0.66383e-10_rb,0.70216e-10_rb,0.73644e-10_rb,0.76467e-10_rb,0.78589e-10_rb /) kbo(:,35, 5) = (/ & & 0.55303e-10_rb,0.58435e-10_rb,0.61122e-10_rb,0.63317e-10_rb,0.64984e-10_rb /) kbo(:,36, 5) = (/ & & 0.45788e-10_rb,0.48318e-10_rb,0.50463e-10_rb,0.52237e-10_rb,0.53589e-10_rb /) kbo(:,37, 5) = (/ & & 0.37517e-10_rb,0.39593e-10_rb,0.41407e-10_rb,0.42883e-10_rb,0.44012e-10_rb /) kbo(:,38, 5) = (/ & & 0.30717e-10_rb,0.32436e-10_rb,0.33950e-10_rb,0.35197e-10_rb,0.36146e-10_rb /) kbo(:,39, 5) = (/ & & 0.25129e-10_rb,0.26560e-10_rb,0.27827e-10_rb,0.28835e-10_rb,0.29676e-10_rb /) kbo(:,40, 5) = (/ & & 0.20420e-10_rb,0.21620e-10_rb,0.22699e-10_rb,0.23564e-10_rb,0.24290e-10_rb /) kbo(:,41, 5) = (/ & & 0.16561e-10_rb,0.17583e-10_rb,0.18496e-10_rb,0.19245e-10_rb,0.19868e-10_rb /) kbo(:,42, 5) = (/ & & 0.13418e-10_rb,0.14291e-10_rb,0.15059e-10_rb,0.15706e-10_rb,0.16243e-10_rb /) kbo(:,43, 5) = (/ & & 0.10810e-10_rb,0.11562e-10_rb,0.12210e-10_rb,0.12774e-10_rb,0.13223e-10_rb /) kbo(:,44, 5) = (/ & & 0.86843e-11_rb,0.93265e-11_rb,0.98789e-11_rb,0.10369e-10_rb,0.10770e-10_rb /) kbo(:,45, 5) = (/ & & 0.69593e-11_rb,0.75111e-11_rb,0.79891e-11_rb,0.84084e-11_rb,0.87638e-11_rb /) kbo(:,46, 5) = (/ & & 0.55576e-11_rb,0.60308e-11_rb,0.64400e-11_rb,0.68030e-11_rb,0.71149e-11_rb /) kbo(:,47, 5) = (/ & & 0.44097e-11_rb,0.48155e-11_rb,0.51709e-11_rb,0.54794e-11_rb,0.57570e-11_rb /) kbo(:,48, 5) = (/ & & 0.34877e-11_rb,0.38384e-11_rb,0.41433e-11_rb,0.44120e-11_rb,0.46521e-11_rb /) kbo(:,49, 5) = (/ & & 0.27512e-11_rb,0.30491e-11_rb,0.33123e-11_rb,0.35456e-11_rb,0.37509e-11_rb /) kbo(:,50, 5) = (/ & & 0.21734e-11_rb,0.24185e-11_rb,0.26481e-11_rb,0.28485e-11_rb,0.30236e-11_rb /) kbo(:,51, 5) = (/ & & 0.17150e-11_rb,0.19185e-11_rb,0.21147e-11_rb,0.22857e-11_rb,0.24371e-11_rb /) kbo(:,52, 5) = (/ & & 0.13499e-11_rb,0.15196e-11_rb,0.16853e-11_rb,0.18315e-11_rb,0.19613e-11_rb /) kbo(:,53, 5) = (/ & & 0.10590e-11_rb,0.11989e-11_rb,0.13374e-11_rb,0.14641e-11_rb,0.15756e-11_rb /) kbo(:,54, 5) = (/ & & 0.83182e-12_rb,0.94832e-12_rb,0.10625e-11_rb,0.11713e-11_rb,0.12669e-11_rb /) kbo(:,55, 5) = (/ & & 0.65257e-12_rb,0.74992e-12_rb,0.84445e-12_rb,0.93664e-12_rb,0.10175e-11_rb /) kbo(:,56, 5) = (/ & & 0.51109e-12_rb,0.59162e-12_rb,0.67030e-12_rb,0.74706e-12_rb,0.81634e-12_rb /) kbo(:,57, 5) = (/ & & 0.39868e-12_rb,0.46532e-12_rb,0.53042e-12_rb,0.59449e-12_rb,0.65374e-12_rb /) kbo(:,58, 5) = (/ & & 0.31062e-12_rb,0.36629e-12_rb,0.42009e-12_rb,0.47298e-12_rb,0.52357e-12_rb /) kbo(:,59, 5) = (/ & & 0.24996e-12_rb,0.29597e-12_rb,0.34052e-12_rb,0.38403e-12_rb,0.42584e-12_rb /) kbo(:,13, 6) = (/ & & 0.10275e-07_rb,0.10425e-07_rb,0.10505e-07_rb,0.10571e-07_rb,0.10619e-07_rb /) kbo(:,14, 6) = (/ & & 0.84309e-08_rb,0.85528e-08_rb,0.86280e-08_rb,0.86935e-08_rb,0.87236e-08_rb /) kbo(:,15, 6) = (/ & & 0.69259e-08_rb,0.70218e-08_rb,0.71031e-08_rb,0.71419e-08_rb,0.71430e-08_rb /) kbo(:,16, 6) = (/ & & 0.56933e-08_rb,0.57765e-08_rb,0.58298e-08_rb,0.58527e-08_rb,0.58704e-08_rb /) kbo(:,17, 6) = (/ & & 0.46880e-08_rb,0.47555e-08_rb,0.47985e-08_rb,0.48270e-08_rb,0.48471e-08_rb /) kbo(:,18, 6) = (/ & & 0.38628e-08_rb,0.39183e-08_rb,0.39591e-08_rb,0.39923e-08_rb,0.40106e-08_rb /) kbo(:,19, 6) = (/ & & 0.31833e-08_rb,0.32370e-08_rb,0.32750e-08_rb,0.32992e-08_rb,0.33139e-08_rb /) kbo(:,20, 6) = (/ & & 0.26315e-08_rb,0.26765e-08_rb,0.27033e-08_rb,0.27208e-08_rb,0.27412e-08_rb /) kbo(:,21, 6) = (/ & & 0.21768e-08_rb,0.22074e-08_rb,0.22281e-08_rb,0.22492e-08_rb,0.22648e-08_rb /) kbo(:,22, 6) = (/ & & 0.17970e-08_rb,0.18204e-08_rb,0.18421e-08_rb,0.18603e-08_rb,0.18697e-08_rb /) kbo(:,23, 6) = (/ & & 0.14828e-08_rb,0.15043e-08_rb,0.15235e-08_rb,0.15373e-08_rb,0.15469e-08_rb /) kbo(:,24, 6) = (/ & & 0.12265e-08_rb,0.12457e-08_rb,0.12602e-08_rb,0.12704e-08_rb,0.12795e-08_rb /) kbo(:,25, 6) = (/ & & 0.10153e-08_rb,0.10303e-08_rb,0.10406e-08_rb,0.10511e-08_rb,0.10591e-08_rb /) kbo(:,26, 6) = (/ & & 0.84067e-09_rb,0.85220e-09_rb,0.86139e-09_rb,0.87145e-09_rb,0.87606e-09_rb /) kbo(:,27, 6) = (/ & & 0.69556e-09_rb,0.70441e-09_rb,0.71396e-09_rb,0.72098e-09_rb,0.72486e-09_rb /) kbo(:,28, 6) = (/ & & 0.57505e-09_rb,0.58326e-09_rb,0.59186e-09_rb,0.59662e-09_rb,0.60056e-09_rb /) kbo(:,29, 6) = (/ & & 0.47621e-09_rb,0.48459e-09_rb,0.49079e-09_rb,0.49432e-09_rb,0.49717e-09_rb /) kbo(:,30, 6) = (/ & & 0.39513e-09_rb,0.40232e-09_rb,0.40640e-09_rb,0.40995e-09_rb,0.41263e-09_rb /) kbo(:,31, 6) = (/ & & 0.32890e-09_rb,0.33390e-09_rb,0.33797e-09_rb,0.34036e-09_rb,0.34440e-09_rb /) kbo(:,32, 6) = (/ & & 0.27372e-09_rb,0.27757e-09_rb,0.28057e-09_rb,0.28360e-09_rb,0.28668e-09_rb /) kbo(:,33, 6) = (/ & & 0.22771e-09_rb,0.23074e-09_rb,0.23349e-09_rb,0.23595e-09_rb,0.23797e-09_rb /) kbo(:,34, 6) = (/ & & 0.18899e-09_rb,0.19179e-09_rb,0.19391e-09_rb,0.19591e-09_rb,0.19720e-09_rb /) kbo(:,35, 6) = (/ & & 0.15677e-09_rb,0.15897e-09_rb,0.16075e-09_rb,0.16219e-09_rb,0.16318e-09_rb /) kbo(:,36, 6) = (/ & & 0.12972e-09_rb,0.13147e-09_rb,0.13291e-09_rb,0.13412e-09_rb,0.13484e-09_rb /) kbo(:,37, 6) = (/ & & 0.10704e-09_rb,0.10855e-09_rb,0.10970e-09_rb,0.11065e-09_rb,0.11129e-09_rb /) kbo(:,38, 6) = (/ & & 0.88219e-10_rb,0.89571e-10_rb,0.90489e-10_rb,0.91263e-10_rb,0.91821e-10_rb /) kbo(:,39, 6) = (/ & & 0.72709e-10_rb,0.73884e-10_rb,0.74615e-10_rb,0.75144e-10_rb,0.75719e-10_rb /) kbo(:,40, 6) = (/ & & 0.59779e-10_rb,0.60793e-10_rb,0.61424e-10_rb,0.61873e-10_rb,0.62379e-10_rb /) kbo(:,41, 6) = (/ & & 0.49104e-10_rb,0.49999e-10_rb,0.50541e-10_rb,0.50924e-10_rb,0.51369e-10_rb /) kbo(:,42, 6) = (/ & & 0.40324e-10_rb,0.41079e-10_rb,0.41584e-10_rb,0.41914e-10_rb,0.42279e-10_rb /) kbo(:,43, 6) = (/ & & 0.33050e-10_rb,0.33695e-10_rb,0.34173e-10_rb,0.34462e-10_rb,0.34716e-10_rb /) kbo(:,44, 6) = (/ & & 0.27054e-10_rb,0.27604e-10_rb,0.28056e-10_rb,0.28313e-10_rb,0.28542e-10_rb /) kbo(:,45, 6) = (/ & & 0.22112e-10_rb,0.22613e-10_rb,0.23018e-10_rb,0.23255e-10_rb,0.23441e-10_rb /) kbo(:,46, 6) = (/ & & 0.18060e-10_rb,0.18501e-10_rb,0.18867e-10_rb,0.19082e-10_rb,0.19252e-10_rb /) kbo(:,47, 6) = (/ & & 0.14722e-10_rb,0.15111e-10_rb,0.15432e-10_rb,0.15658e-10_rb,0.15802e-10_rb /) kbo(:,48, 6) = (/ & & 0.11985e-10_rb,0.12318e-10_rb,0.12624e-10_rb,0.12826e-10_rb,0.12965e-10_rb /) kbo(:,49, 6) = (/ & & 0.97421e-11_rb,0.10040e-10_rb,0.10306e-10_rb,0.10499e-10_rb,0.10630e-10_rb /) kbo(:,50, 6) = (/ & & 0.79055e-11_rb,0.81823e-11_rb,0.84121e-11_rb,0.85902e-11_rb,0.87163e-11_rb /) kbo(:,51, 6) = (/ & & 0.64164e-11_rb,0.66612e-11_rb,0.68621e-11_rb,0.70240e-11_rb,0.71428e-11_rb /) kbo(:,52, 6) = (/ & & 0.51935e-11_rb,0.54159e-11_rb,0.55861e-11_rb,0.57406e-11_rb,0.58465e-11_rb /) kbo(:,53, 6) = (/ & & 0.42017e-11_rb,0.43985e-11_rb,0.45525e-11_rb,0.46862e-11_rb,0.47817e-11_rb /) kbo(:,54, 6) = (/ & & 0.33953e-11_rb,0.35701e-11_rb,0.37080e-11_rb,0.38204e-11_rb,0.39118e-11_rb /) kbo(:,55, 6) = (/ & & 0.27420e-11_rb,0.28948e-11_rb,0.30166e-11_rb,0.31148e-11_rb,0.31981e-11_rb /) kbo(:,56, 6) = (/ & & 0.22097e-11_rb,0.23440e-11_rb,0.24518e-11_rb,0.25378e-11_rb,0.26122e-11_rb /) kbo(:,57, 6) = (/ & & 0.17765e-11_rb,0.18968e-11_rb,0.19913e-11_rb,0.20659e-11_rb,0.21319e-11_rb /) kbo(:,58, 6) = (/ & & 0.14264e-11_rb,0.15324e-11_rb,0.16166e-11_rb,0.16816e-11_rb,0.17374e-11_rb /) kbo(:,59, 6) = (/ & & 0.11621e-11_rb,0.12515e-11_rb,0.13230e-11_rb,0.13773e-11_rb,0.14240e-11_rb /) kbo(:,13, 7) = (/ & & 0.28079e-07_rb,0.28035e-07_rb,0.27949e-07_rb,0.27835e-07_rb,0.27661e-07_rb /) kbo(:,14, 7) = (/ & & 0.23041e-07_rb,0.22982e-07_rb,0.22914e-07_rb,0.22814e-07_rb,0.22653e-07_rb /) kbo(:,15, 7) = (/ & & 0.18899e-07_rb,0.18860e-07_rb,0.18790e-07_rb,0.18675e-07_rb,0.18596e-07_rb /) kbo(:,16, 7) = (/ & & 0.15489e-07_rb,0.15457e-07_rb,0.15389e-07_rb,0.15337e-07_rb,0.15329e-07_rb /) kbo(:,17, 7) = (/ & & 0.12699e-07_rb,0.12665e-07_rb,0.12634e-07_rb,0.12640e-07_rb,0.12612e-07_rb /) kbo(:,18, 7) = (/ & & 0.10409e-07_rb,0.10397e-07_rb,0.10401e-07_rb,0.10391e-07_rb,0.10368e-07_rb /) kbo(:,19, 7) = (/ & & 0.85482e-08_rb,0.85403e-08_rb,0.85408e-08_rb,0.85379e-08_rb,0.85325e-08_rb /) kbo(:,20, 7) = (/ & & 0.70183e-08_rb,0.70212e-08_rb,0.70225e-08_rb,0.70232e-08_rb,0.70243e-08_rb /) kbo(:,21, 7) = (/ & & 0.57704e-08_rb,0.57836e-08_rb,0.57919e-08_rb,0.57990e-08_rb,0.58135e-08_rb /) kbo(:,22, 7) = (/ & & 0.47522e-08_rb,0.47673e-08_rb,0.47834e-08_rb,0.48084e-08_rb,0.48239e-08_rb /) kbo(:,23, 7) = (/ & & 0.39186e-08_rb,0.39439e-08_rb,0.39679e-08_rb,0.39863e-08_rb,0.40063e-08_rb /) kbo(:,24, 7) = (/ & & 0.32407e-08_rb,0.32645e-08_rb,0.32840e-08_rb,0.33039e-08_rb,0.33353e-08_rb /) kbo(:,25, 7) = (/ & & 0.26846e-08_rb,0.27012e-08_rb,0.27199e-08_rb,0.27477e-08_rb,0.27761e-08_rb /) kbo(:,26, 7) = (/ & & 0.22196e-08_rb,0.22367e-08_rb,0.22646e-08_rb,0.22896e-08_rb,0.23141e-08_rb /) kbo(:,27, 7) = (/ & & 0.18370e-08_rb,0.18616e-08_rb,0.18864e-08_rb,0.19087e-08_rb,0.19319e-08_rb /) kbo(:,28, 7) = (/ & & 0.15259e-08_rb,0.15495e-08_rb,0.15695e-08_rb,0.15912e-08_rb,0.16152e-08_rb /) kbo(:,29, 7) = (/ & & 0.12717e-08_rb,0.12907e-08_rb,0.13087e-08_rb,0.13304e-08_rb,0.13523e-08_rb /) kbo(:,30, 7) = (/ & & 0.10599e-08_rb,0.10765e-08_rb,0.10939e-08_rb,0.11139e-08_rb,0.11374e-08_rb /) kbo(:,31, 7) = (/ & & 0.88411e-09_rb,0.89833e-09_rb,0.91628e-09_rb,0.93662e-09_rb,0.95540e-09_rb /) kbo(:,32, 7) = (/ & & 0.73723e-09_rb,0.75198e-09_rb,0.77042e-09_rb,0.78608e-09_rb,0.80601e-09_rb /) kbo(:,33, 7) = (/ & & 0.61511e-09_rb,0.63161e-09_rb,0.64646e-09_rb,0.66232e-09_rb,0.68095e-09_rb /) kbo(:,34, 7) = (/ & & 0.51621e-09_rb,0.53001e-09_rb,0.54332e-09_rb,0.55986e-09_rb,0.57326e-09_rb /) kbo(:,35, 7) = (/ & & 0.43217e-09_rb,0.44439e-09_rb,0.45713e-09_rb,0.47103e-09_rb,0.48242e-09_rb /) kbo(:,36, 7) = (/ & & 0.36090e-09_rb,0.37166e-09_rb,0.38311e-09_rb,0.39461e-09_rb,0.40545e-09_rb /) kbo(:,37, 7) = (/ & & 0.29990e-09_rb,0.30916e-09_rb,0.31937e-09_rb,0.32943e-09_rb,0.34038e-09_rb /) kbo(:,38, 7) = (/ & & 0.24927e-09_rb,0.25737e-09_rb,0.26638e-09_rb,0.27543e-09_rb,0.28596e-09_rb /) kbo(:,39, 7) = (/ & & 0.20718e-09_rb,0.21434e-09_rb,0.22203e-09_rb,0.23026e-09_rb,0.23966e-09_rb /) kbo(:,40, 7) = (/ & & 0.17122e-09_rb,0.17745e-09_rb,0.18425e-09_rb,0.19138e-09_rb,0.19937e-09_rb /) kbo(:,41, 7) = (/ & & 0.14145e-09_rb,0.14673e-09_rb,0.15273e-09_rb,0.15885e-09_rb,0.16544e-09_rb /) kbo(:,42, 7) = (/ & & 0.11673e-09_rb,0.12130e-09_rb,0.12626e-09_rb,0.13156e-09_rb,0.13718e-09_rb /) kbo(:,43, 7) = (/ & & 0.95979e-10_rb,0.99773e-10_rb,0.10407e-09_rb,0.10848e-09_rb,0.11289e-09_rb /) kbo(:,44, 7) = (/ & & 0.78684e-10_rb,0.81894e-10_rb,0.85476e-10_rb,0.89249e-10_rb,0.92971e-10_rb /) kbo(:,45, 7) = (/ & & 0.64482e-10_rb,0.67161e-10_rb,0.70163e-10_rb,0.73315e-10_rb,0.76486e-10_rb /) kbo(:,46, 7) = (/ & & 0.52720e-10_rb,0.54998e-10_rb,0.57509e-10_rb,0.60128e-10_rb,0.62787e-10_rb /) kbo(:,47, 7) = (/ & & 0.42902e-10_rb,0.44887e-10_rb,0.46948e-10_rb,0.49098e-10_rb,0.51392e-10_rb /) kbo(:,48, 7) = (/ & & 0.34914e-10_rb,0.36612e-10_rb,0.38268e-10_rb,0.40114e-10_rb,0.41998e-10_rb /) kbo(:,49, 7) = (/ & & 0.28363e-10_rb,0.29830e-10_rb,0.31160e-10_rb,0.32712e-10_rb,0.34278e-10_rb /) kbo(:,50, 7) = (/ & & 0.23044e-10_rb,0.24298e-10_rb,0.25411e-10_rb,0.26663e-10_rb,0.27956e-10_rb /) kbo(:,51, 7) = (/ & & 0.18719e-10_rb,0.19762e-10_rb,0.20717e-10_rb,0.21748e-10_rb,0.22834e-10_rb /) kbo(:,52, 7) = (/ & & 0.15214e-10_rb,0.16060e-10_rb,0.16882e-10_rb,0.17722e-10_rb,0.18609e-10_rb /) kbo(:,53, 7) = (/ & & 0.12339e-10_rb,0.13039e-10_rb,0.13738e-10_rb,0.14413e-10_rb,0.15144e-10_rb /) kbo(:,54, 7) = (/ & & 0.10028e-10_rb,0.10589e-10_rb,0.11176e-10_rb,0.11743e-10_rb,0.12340e-10_rb /) kbo(:,55, 7) = (/ & & 0.81332e-11_rb,0.85988e-11_rb,0.90904e-11_rb,0.95545e-11_rb,0.10057e-10_rb /) kbo(:,56, 7) = (/ & & 0.66047e-11_rb,0.69777e-11_rb,0.73796e-11_rb,0.77755e-11_rb,0.81880e-11_rb /) kbo(:,57, 7) = (/ & & 0.53536e-11_rb,0.56554e-11_rb,0.59940e-11_rb,0.63232e-11_rb,0.66612e-11_rb /) kbo(:,58, 7) = (/ & & 0.43329e-11_rb,0.45903e-11_rb,0.48661e-11_rb,0.51412e-11_rb,0.54200e-11_rb /) kbo(:,59, 7) = (/ & & 0.35522e-11_rb,0.37646e-11_rb,0.39940e-11_rb,0.42211e-11_rb,0.44525e-11_rb /) kbo(:,13, 8) = (/ & & 0.11230e-06_rb,0.11409e-06_rb,0.11566e-06_rb,0.11672e-06_rb,0.11734e-06_rb /) kbo(:,14, 8) = (/ & & 0.92428e-07_rb,0.93878e-07_rb,0.95014e-07_rb,0.95711e-07_rb,0.96110e-07_rb /) kbo(:,15, 8) = (/ & & 0.76021e-07_rb,0.77148e-07_rb,0.77913e-07_rb,0.78505e-07_rb,0.78756e-07_rb /) kbo(:,16, 8) = (/ & & 0.62512e-07_rb,0.63402e-07_rb,0.63979e-07_rb,0.64292e-07_rb,0.64352e-07_rb /) kbo(:,17, 8) = (/ & & 0.51480e-07_rb,0.52099e-07_rb,0.52465e-07_rb,0.52634e-07_rb,0.52753e-07_rb /) kbo(:,18, 8) = (/ & & 0.42336e-07_rb,0.42773e-07_rb,0.43015e-07_rb,0.43145e-07_rb,0.43290e-07_rb /) kbo(:,19, 8) = (/ & & 0.34820e-07_rb,0.35138e-07_rb,0.35326e-07_rb,0.35465e-07_rb,0.35546e-07_rb /) kbo(:,20, 8) = (/ & & 0.28634e-07_rb,0.28882e-07_rb,0.29099e-07_rb,0.29190e-07_rb,0.29248e-07_rb /) kbo(:,21, 8) = (/ & & 0.23527e-07_rb,0.23767e-07_rb,0.23879e-07_rb,0.24001e-07_rb,0.24136e-07_rb /) kbo(:,22, 8) = (/ & & 0.19380e-07_rb,0.19526e-07_rb,0.19668e-07_rb,0.19823e-07_rb,0.20000e-07_rb /) kbo(:,23, 8) = (/ & & 0.15955e-07_rb,0.16103e-07_rb,0.16252e-07_rb,0.16425e-07_rb,0.16561e-07_rb /) kbo(:,24, 8) = (/ & & 0.13163e-07_rb,0.13294e-07_rb,0.13466e-07_rb,0.13609e-07_rb,0.13701e-07_rb /) kbo(:,25, 8) = (/ & & 0.10863e-07_rb,0.11029e-07_rb,0.11155e-07_rb,0.11256e-07_rb,0.11368e-07_rb /) kbo(:,26, 8) = (/ & & 0.90043e-08_rb,0.91173e-08_rb,0.92226e-08_rb,0.93261e-08_rb,0.94322e-08_rb /) kbo(:,27, 8) = (/ & & 0.74604e-08_rb,0.75548e-08_rb,0.76410e-08_rb,0.77390e-08_rb,0.78488e-08_rb /) kbo(:,28, 8) = (/ & & 0.61944e-08_rb,0.62754e-08_rb,0.63658e-08_rb,0.64728e-08_rb,0.65523e-08_rb /) kbo(:,29, 8) = (/ & & 0.51553e-08_rb,0.52390e-08_rb,0.53444e-08_rb,0.54244e-08_rb,0.55104e-08_rb /) kbo(:,30, 8) = (/ & & 0.43022e-08_rb,0.44056e-08_rb,0.44906e-08_rb,0.45753e-08_rb,0.46815e-08_rb /) kbo(:,31, 8) = (/ & & 0.36260e-08_rb,0.37147e-08_rb,0.37854e-08_rb,0.38857e-08_rb,0.39725e-08_rb /) kbo(:,32, 8) = (/ & & 0.30574e-08_rb,0.31222e-08_rb,0.32149e-08_rb,0.32959e-08_rb,0.33679e-08_rb /) kbo(:,33, 8) = (/ & & 0.25690e-08_rb,0.26475e-08_rb,0.27306e-08_rb,0.27942e-08_rb,0.28607e-08_rb /) kbo(:,34, 8) = (/ & & 0.21739e-08_rb,0.22522e-08_rb,0.23131e-08_rb,0.23724e-08_rb,0.24398e-08_rb /) kbo(:,35, 8) = (/ & & 0.18403e-08_rb,0.19033e-08_rb,0.19580e-08_rb,0.20191e-08_rb,0.20792e-08_rb /) kbo(:,36, 8) = (/ & & 0.15538e-08_rb,0.16068e-08_rb,0.16535e-08_rb,0.17159e-08_rb,0.17681e-08_rb /) kbo(:,37, 8) = (/ & & 0.13002e-08_rb,0.13483e-08_rb,0.13923e-08_rb,0.14493e-08_rb,0.14927e-08_rb /) kbo(:,38, 8) = (/ & & 0.10893e-08_rb,0.11319e-08_rb,0.11765e-08_rb,0.12253e-08_rb,0.12624e-08_rb /) kbo(:,39, 8) = (/ & & 0.91348e-09_rb,0.95067e-09_rb,0.99134e-09_rb,0.10293e-08_rb,0.10668e-08_rb /) kbo(:,40, 8) = (/ & & 0.76170e-09_rb,0.79404e-09_rb,0.82953e-09_rb,0.86548e-09_rb,0.90041e-09_rb /) kbo(:,41, 8) = (/ & & 0.63292e-09_rb,0.66170e-09_rb,0.69363e-09_rb,0.72573e-09_rb,0.75710e-09_rb /) kbo(:,42, 8) = (/ & & 0.52609e-09_rb,0.55120e-09_rb,0.57974e-09_rb,0.60803e-09_rb,0.63636e-09_rb /) kbo(:,43, 8) = (/ & & 0.43444e-09_rb,0.45674e-09_rb,0.48206e-09_rb,0.50747e-09_rb,0.53053e-09_rb /) kbo(:,44, 8) = (/ & & 0.35755e-09_rb,0.37758e-09_rb,0.39965e-09_rb,0.42169e-09_rb,0.44276e-09_rb /) kbo(:,45, 8) = (/ & & 0.29410e-09_rb,0.31126e-09_rb,0.33079e-09_rb,0.35014e-09_rb,0.36874e-09_rb /) kbo(:,46, 8) = (/ & & 0.24113e-09_rb,0.25605e-09_rb,0.27273e-09_rb,0.28962e-09_rb,0.30646e-09_rb /) kbo(:,47, 8) = (/ & & 0.19675e-09_rb,0.20937e-09_rb,0.22390e-09_rb,0.23865e-09_rb,0.25330e-09_rb /) kbo(:,48, 8) = (/ & & 0.16029e-09_rb,0.17125e-09_rb,0.18339e-09_rb,0.19620e-09_rb,0.20918e-09_rb /) kbo(:,49, 8) = (/ & & 0.13018e-09_rb,0.13961e-09_rb,0.15020e-09_rb,0.16108e-09_rb,0.17231e-09_rb /) kbo(:,50, 8) = (/ & & 0.10559e-09_rb,0.11394e-09_rb,0.12271e-09_rb,0.13208e-09_rb,0.14200e-09_rb /) kbo(:,51, 8) = (/ & & 0.85569e-10_rb,0.92775e-10_rb,0.10011e-09_rb,0.10818e-09_rb,0.11665e-09_rb /) kbo(:,52, 8) = (/ & & 0.69342e-10_rb,0.75341e-10_rb,0.81596e-10_rb,0.88527e-10_rb,0.95876e-10_rb /) kbo(:,53, 8) = (/ & & 0.56003e-10_rb,0.61203e-10_rb,0.66389e-10_rb,0.72376e-10_rb,0.78642e-10_rb /) kbo(:,54, 8) = (/ & & 0.45380e-10_rb,0.49599e-10_rb,0.54006e-10_rb,0.59069e-10_rb,0.64380e-10_rb /) kbo(:,55, 8) = (/ & & 0.36637e-10_rb,0.40078e-10_rb,0.43990e-10_rb,0.48279e-10_rb,0.52815e-10_rb /) kbo(:,56, 8) = (/ & & 0.29596e-10_rb,0.32455e-10_rb,0.35694e-10_rb,0.39315e-10_rb,0.43169e-10_rb /) kbo(:,57, 8) = (/ & & 0.23911e-10_rb,0.26268e-10_rb,0.28916e-10_rb,0.31929e-10_rb,0.35182e-10_rb /) kbo(:,58, 8) = (/ & & 0.19299e-10_rb,0.21198e-10_rb,0.23407e-10_rb,0.25936e-10_rb,0.28689e-10_rb /) kbo(:,59, 8) = (/ & & 0.15839e-10_rb,0.17448e-10_rb,0.19334e-10_rb,0.21469e-10_rb,0.23829e-10_rb /) kbo(:,13, 9) = (/ & & 0.96471e-06_rb,0.97408e-06_rb,0.98436e-06_rb,0.99439e-06_rb,0.10050e-05_rb /) kbo(:,14, 9) = (/ & & 0.80904e-06_rb,0.81838e-06_rb,0.82742e-06_rb,0.83703e-06_rb,0.84742e-06_rb /) kbo(:,15, 9) = (/ & & 0.67733e-06_rb,0.68563e-06_rb,0.69403e-06_rb,0.70345e-06_rb,0.71287e-06_rb /) kbo(:,16, 9) = (/ & & 0.56582e-06_rb,0.57313e-06_rb,0.58159e-06_rb,0.59012e-06_rb,0.59880e-06_rb /) kbo(:,17, 9) = (/ & & 0.47164e-06_rb,0.47892e-06_rb,0.48671e-06_rb,0.49436e-06_rb,0.50258e-06_rb /) kbo(:,18, 9) = (/ & & 0.39308e-06_rb,0.39992e-06_rb,0.40685e-06_rb,0.41415e-06_rb,0.42143e-06_rb /) kbo(:,19, 9) = (/ & & 0.32764e-06_rb,0.33370e-06_rb,0.34000e-06_rb,0.34660e-06_rb,0.35294e-06_rb /) kbo(:,20, 9) = (/ & & 0.27304e-06_rb,0.27855e-06_rb,0.28433e-06_rb,0.29002e-06_rb,0.29550e-06_rb /) kbo(:,21, 9) = (/ & & 0.22762e-06_rb,0.23263e-06_rb,0.23776e-06_rb,0.24264e-06_rb,0.24751e-06_rb /) kbo(:,22, 9) = (/ & & 0.19016e-06_rb,0.19467e-06_rb,0.19902e-06_rb,0.20331e-06_rb,0.20743e-06_rb /) kbo(:,23, 9) = (/ & & 0.15902e-06_rb,0.16285e-06_rb,0.16664e-06_rb,0.17032e-06_rb,0.17381e-06_rb /) kbo(:,24, 9) = (/ & & 0.13300e-06_rb,0.13639e-06_rb,0.13965e-06_rb,0.14271e-06_rb,0.14575e-06_rb /) kbo(:,25, 9) = (/ & & 0.11136e-06_rb,0.11428e-06_rb,0.11705e-06_rb,0.11966e-06_rb,0.12234e-06_rb /) kbo(:,26, 9) = (/ & & 0.93355e-07_rb,0.95870e-07_rb,0.98179e-07_rb,0.10046e-06_rb,0.10295e-06_rb /) kbo(:,27, 9) = (/ & & 0.78546e-07_rb,0.80656e-07_rb,0.82694e-07_rb,0.84793e-07_rb,0.87129e-07_rb /) kbo(:,28, 9) = (/ & & 0.65991e-07_rb,0.67786e-07_rb,0.69602e-07_rb,0.71624e-07_rb,0.74063e-07_rb /) kbo(:,29, 9) = (/ & & 0.55459e-07_rb,0.56995e-07_rb,0.58695e-07_rb,0.60741e-07_rb,0.63281e-07_rb /) kbo(:,30, 9) = (/ & & 0.46750e-07_rb,0.48054e-07_rb,0.49703e-07_rb,0.51793e-07_rb,0.54403e-07_rb /) kbo(:,31, 9) = (/ & & 0.39452e-07_rb,0.40727e-07_rb,0.42319e-07_rb,0.44486e-07_rb,0.47323e-07_rb /) kbo(:,32, 9) = (/ & & 0.33473e-07_rb,0.34884e-07_rb,0.36502e-07_rb,0.38781e-07_rb,0.41735e-07_rb /) kbo(:,33, 9) = (/ & & 0.28581e-07_rb,0.30008e-07_rb,0.31748e-07_rb,0.34217e-07_rb,0.37511e-07_rb /) kbo(:,34, 9) = (/ & & 0.24450e-07_rb,0.25951e-07_rb,0.27867e-07_rb,0.30565e-07_rb,0.34125e-07_rb /) kbo(:,35, 9) = (/ & & 0.20942e-07_rb,0.22554e-07_rb,0.24574e-07_rb,0.27409e-07_rb,0.31159e-07_rb /) kbo(:,36, 9) = (/ & & 0.18081e-07_rb,0.19648e-07_rb,0.21657e-07_rb,0.24573e-07_rb,0.28429e-07_rb /) kbo(:,37, 9) = (/ & & 0.15436e-07_rb,0.16978e-07_rb,0.19037e-07_rb,0.21710e-07_rb,0.25509e-07_rb /) kbo(:,38, 9) = (/ & & 0.13187e-07_rb,0.14690e-07_rb,0.16738e-07_rb,0.19257e-07_rb,0.22992e-07_rb /) kbo(:,39, 9) = (/ & & 0.11282e-07_rb,0.12751e-07_rb,0.14794e-07_rb,0.17292e-07_rb,0.20852e-07_rb /) kbo(:,40, 9) = (/ & & 0.96293e-08_rb,0.10973e-07_rb,0.12917e-07_rb,0.15272e-07_rb,0.18582e-07_rb /) kbo(:,41, 9) = (/ & & 0.81770e-08_rb,0.94352e-08_rb,0.11220e-07_rb,0.13516e-07_rb,0.16546e-07_rb /) kbo(:,42, 9) = (/ & & 0.69323e-08_rb,0.80750e-08_rb,0.97479e-08_rb,0.11964e-07_rb,0.14736e-07_rb /) kbo(:,43, 9) = (/ & & 0.58312e-08_rb,0.68571e-08_rb,0.83595e-08_rb,0.10414e-07_rb,0.12928e-07_rb /) kbo(:,44, 9) = (/ & & 0.48754e-08_rb,0.58128e-08_rb,0.71504e-08_rb,0.90270e-08_rb,0.11362e-07_rb /) kbo(:,45, 9) = (/ & & 0.40522e-08_rb,0.48841e-08_rb,0.60765e-08_rb,0.77697e-08_rb,0.99439e-08_rb /) kbo(:,46, 9) = (/ & & 0.33429e-08_rb,0.40820e-08_rb,0.51038e-08_rb,0.66237e-08_rb,0.86427e-08_rb /) kbo(:,47, 9) = (/ & & 0.27297e-08_rb,0.33571e-08_rb,0.42806e-08_rb,0.55863e-08_rb,0.73605e-08_rb /) kbo(:,48, 9) = (/ & & 0.22143e-08_rb,0.27445e-08_rb,0.35414e-08_rb,0.46711e-08_rb,0.62204e-08_rb /) kbo(:,49, 9) = (/ & & 0.18030e-08_rb,0.22208e-08_rb,0.28995e-08_rb,0.38639e-08_rb,0.52216e-08_rb /) kbo(:,50, 9) = (/ & & 0.14670e-08_rb,0.18085e-08_rb,0.23853e-08_rb,0.32522e-08_rb,0.44284e-08_rb /) kbo(:,51, 9) = (/ & & 0.11873e-08_rb,0.14637e-08_rb,0.19592e-08_rb,0.27073e-08_rb,0.37306e-08_rb /) kbo(:,52, 9) = (/ & & 0.96876e-09_rb,0.11883e-08_rb,0.15881e-08_rb,0.22316e-08_rb,0.31252e-08_rb /) kbo(:,53, 9) = (/ & & 0.79526e-09_rb,0.95443e-09_rb,0.12843e-08_rb,0.18180e-08_rb,0.25992e-08_rb /) kbo(:,54, 9) = (/ & & 0.65045e-09_rb,0.77197e-09_rb,0.10500e-08_rb,0.14963e-08_rb,0.21953e-08_rb /) kbo(:,55, 9) = (/ & & 0.53001e-09_rb,0.62144e-09_rb,0.84441e-09_rb,0.12265e-08_rb,0.18415e-08_rb /) kbo(:,56, 9) = (/ & & 0.43274e-09_rb,0.50433e-09_rb,0.67633e-09_rb,0.10051e-08_rb,0.15294e-08_rb /) kbo(:,57, 9) = (/ & & 0.35151e-09_rb,0.40652e-09_rb,0.53819e-09_rb,0.80840e-09_rb,0.12530e-08_rb /) kbo(:,58, 9) = (/ & & 0.28511e-09_rb,0.33047e-09_rb,0.42809e-09_rb,0.65584e-09_rb,0.10383e-08_rb /) kbo(:,59, 9) = (/ & & 0.23557e-09_rb,0.27695e-09_rb,0.36588e-09_rb,0.57468e-09_rb,0.92796e-09_rb /) kbo(:,13,10) = (/ & & 0.49379e-05_rb,0.50469e-05_rb,0.51595e-05_rb,0.52778e-05_rb,0.54099e-05_rb /) kbo(:,14,10) = (/ & & 0.42812e-05_rb,0.43888e-05_rb,0.45022e-05_rb,0.46302e-05_rb,0.47669e-05_rb /) kbo(:,15,10) = (/ & & 0.36929e-05_rb,0.37965e-05_rb,0.39164e-05_rb,0.40454e-05_rb,0.41827e-05_rb /) kbo(:,16,10) = (/ & & 0.31721e-05_rb,0.32791e-05_rb,0.33975e-05_rb,0.35246e-05_rb,0.36634e-05_rb /) kbo(:,17,10) = (/ & & 0.27212e-05_rb,0.28264e-05_rb,0.29414e-05_rb,0.30666e-05_rb,0.32085e-05_rb /) kbo(:,18,10) = (/ & & 0.23339e-05_rb,0.24330e-05_rb,0.25438e-05_rb,0.26711e-05_rb,0.28184e-05_rb /) kbo(:,19,10) = (/ & & 0.19987e-05_rb,0.20932e-05_rb,0.22036e-05_rb,0.23332e-05_rb,0.24834e-05_rb /) kbo(:,20,10) = (/ & & 0.17132e-05_rb,0.18061e-05_rb,0.19176e-05_rb,0.20491e-05_rb,0.21989e-05_rb /) kbo(:,21,10) = (/ & & 0.14710e-05_rb,0.15640e-05_rb,0.16759e-05_rb,0.18061e-05_rb,0.19600e-05_rb /) kbo(:,22,10) = (/ & & 0.12737e-05_rb,0.13668e-05_rb,0.14788e-05_rb,0.16132e-05_rb,0.17763e-05_rb /) kbo(:,23,10) = (/ & & 0.11088e-05_rb,0.12015e-05_rb,0.13166e-05_rb,0.14583e-05_rb,0.16304e-05_rb /) kbo(:,24,10) = (/ & & 0.97145e-06_rb,0.10662e-05_rb,0.11867e-05_rb,0.13370e-05_rb,0.15170e-05_rb /) kbo(:,25,10) = (/ & & 0.85857e-06_rb,0.95791e-06_rb,0.10855e-05_rb,0.12438e-05_rb,0.14327e-05_rb /) kbo(:,26,10) = (/ & & 0.76914e-06_rb,0.87488e-06_rb,0.10107e-05_rb,0.11782e-05_rb,0.13762e-05_rb /) kbo(:,27,10) = (/ & & 0.69709e-06_rb,0.81000e-06_rb,0.95427e-06_rb,0.11311e-05_rb,0.13395e-05_rb /) kbo(:,28,10) = (/ & & 0.64352e-06_rb,0.76453e-06_rb,0.91846e-06_rb,0.11047e-05_rb,0.13225e-05_rb /) kbo(:,29,10) = (/ & & 0.60601e-06_rb,0.73668e-06_rb,0.90033e-06_rb,0.10967e-05_rb,0.13241e-05_rb /) kbo(:,30,10) = (/ & & 0.58144e-06_rb,0.72277e-06_rb,0.89681e-06_rb,0.11031e-05_rb,0.13400e-05_rb /) kbo(:,31,10) = (/ & & 0.57013e-06_rb,0.72161e-06_rb,0.90691e-06_rb,0.11230e-05_rb,0.13684e-05_rb /) kbo(:,32,10) = (/ & & 0.57021e-06_rb,0.73098e-06_rb,0.92629e-06_rb,0.11521e-05_rb,0.14071e-05_rb /) kbo(:,33,10) = (/ & & 0.58025e-06_rb,0.75106e-06_rb,0.95601e-06_rb,0.11909e-05_rb,0.14530e-05_rb /) kbo(:,34,10) = (/ & & 0.59352e-06_rb,0.77298e-06_rb,0.98581e-06_rb,0.12280e-05_rb,0.14964e-05_rb /) kbo(:,35,10) = (/ & & 0.59731e-06_rb,0.78147e-06_rb,0.99919e-06_rb,0.12457e-05_rb,0.15176e-05_rb /) kbo(:,36,10) = (/ & & 0.58516e-06_rb,0.77138e-06_rb,0.99076e-06_rb,0.12378e-05_rb,0.15105e-05_rb /) kbo(:,37,10) = (/ & & 0.55140e-06_rb,0.73346e-06_rb,0.94817e-06_rb,0.11937e-05_rb,0.14631e-05_rb /) kbo(:,38,10) = (/ & & 0.51916e-06_rb,0.69705e-06_rb,0.90723e-06_rb,0.11496e-05_rb,0.14156e-05_rb /) kbo(:,39,10) = (/ & & 0.48960e-06_rb,0.66318e-06_rb,0.86863e-06_rb,0.11068e-05_rb,0.13701e-05_rb /) kbo(:,40,10) = (/ & & 0.44595e-06_rb,0.61209e-06_rb,0.81011e-06_rb,0.10412e-05_rb,0.12987e-05_rb /) kbo(:,41,10) = (/ & & 0.40399e-06_rb,0.56185e-06_rb,0.75199e-06_rb,0.97449e-06_rb,0.12265e-05_rb /) kbo(:,42,10) = (/ & & 0.36503e-06_rb,0.51494e-06_rb,0.69685e-06_rb,0.91108e-06_rb,0.11565e-05_rb /) kbo(:,43,10) = (/ & & 0.32174e-06_rb,0.46170e-06_rb,0.63377e-06_rb,0.83820e-06_rb,0.10749e-05_rb /) kbo(:,44,10) = (/ & & 0.27930e-06_rb,0.40829e-06_rb,0.56968e-06_rb,0.76331e-06_rb,0.98961e-06_rb /) kbo(:,45,10) = (/ & & 0.24096e-06_rb,0.35938e-06_rb,0.50997e-06_rb,0.69291e-06_rb,0.90837e-06_rb /) kbo(:,46,10) = (/ & & 0.20431e-06_rb,0.31166e-06_rb,0.45096e-06_rb,0.62224e-06_rb,0.82595e-06_rb /) kbo(:,47,10) = (/ & & 0.16816e-06_rb,0.26359e-06_rb,0.38972e-06_rb,0.54827e-06_rb,0.73938e-06_rb /) kbo(:,48,10) = (/ & & 0.13670e-06_rb,0.22070e-06_rb,0.33435e-06_rb,0.47996e-06_rb,0.65830e-06_rb /) kbo(:,49,10) = (/ & & 0.10953e-06_rb,0.18282e-06_rb,0.28430e-06_rb,0.41725e-06_rb,0.58243e-06_rb /) kbo(:,50,10) = (/ & & 0.88267e-07_rb,0.15143e-06_rb,0.24199e-06_rb,0.36271e-06_rb,0.51595e-06_rb /) kbo(:,51,10) = (/ & & 0.70298e-07_rb,0.12484e-06_rb,0.20511e-06_rb,0.31462e-06_rb,0.45605e-06_rb /) kbo(:,52,10) = (/ & & 0.55131e-07_rb,0.10217e-06_rb,0.17234e-06_rb,0.27088e-06_rb,0.40072e-06_rb /) kbo(:,53,10) = (/ & & 0.43153e-07_rb,0.82195e-07_rb,0.14318e-06_rb,0.23139e-06_rb,0.34955e-06_rb /) kbo(:,54,10) = (/ & & 0.33903e-07_rb,0.66466e-07_rb,0.12020e-06_rb,0.19856e-06_rb,0.30630e-06_rb /) kbo(:,55,10) = (/ & & 0.26416e-07_rb,0.53605e-07_rb,0.10034e-06_rb,0.17017e-06_rb,0.26833e-06_rb /) kbo(:,56,10) = (/ & & 0.20206e-07_rb,0.42611e-07_rb,0.82928e-07_rb,0.14532e-06_rb,0.23365e-06_rb /) kbo(:,57,10) = (/ & & 0.15310e-07_rb,0.33413e-07_rb,0.67820e-07_rb,0.12262e-06_rb,0.20213e-06_rb /) kbo(:,58,10) = (/ & & 0.11722e-07_rb,0.26420e-07_rb,0.55414e-07_rb,0.10347e-06_rb,0.17567e-06_rb /) kbo(:,59,10) = (/ & & 0.10312e-07_rb,0.23851e-07_rb,0.50918e-07_rb,0.96421e-07_rb,0.16547e-06_rb /) kbo(:,13,11) = (/ & & 0.10213e-04_rb,0.10492e-04_rb,0.10768e-04_rb,0.11052e-04_rb,0.11341e-04_rb /) kbo(:,14,11) = (/ & & 0.92065e-05_rb,0.95170e-05_rb,0.98374e-05_rb,0.10166e-04_rb,0.10515e-04_rb /) kbo(:,15,11) = (/ & & 0.82447e-05_rb,0.85845e-05_rb,0.89388e-05_rb,0.93243e-05_rb,0.97313e-05_rb /) kbo(:,16,11) = (/ & & 0.73562e-05_rb,0.77204e-05_rb,0.81177e-05_rb,0.85472e-05_rb,0.89941e-05_rb /) kbo(:,17,11) = (/ & & 0.65534e-05_rb,0.69440e-05_rb,0.73753e-05_rb,0.78408e-05_rb,0.83202e-05_rb /) kbo(:,18,11) = (/ & & 0.58421e-05_rb,0.62603e-05_rb,0.67231e-05_rb,0.72105e-05_rb,0.77276e-05_rb /) kbo(:,19,11) = (/ & & 0.52249e-05_rb,0.56681e-05_rb,0.61484e-05_rb,0.66668e-05_rb,0.72285e-05_rb /) kbo(:,20,11) = (/ & & 0.47032e-05_rb,0.51617e-05_rb,0.56660e-05_rb,0.62226e-05_rb,0.68302e-05_rb /) kbo(:,21,11) = (/ & & 0.42601e-05_rb,0.47338e-05_rb,0.52698e-05_rb,0.58670e-05_rb,0.65065e-05_rb /) kbo(:,22,11) = (/ & & 0.39167e-05_rb,0.44205e-05_rb,0.49953e-05_rb,0.56267e-05_rb,0.62956e-05_rb /) kbo(:,23,11) = (/ & & 0.36499e-05_rb,0.41883e-05_rb,0.47965e-05_rb,0.54568e-05_rb,0.61529e-05_rb /) kbo(:,24,11) = (/ & & 0.34565e-05_rb,0.40283e-05_rb,0.46653e-05_rb,0.53526e-05_rb,0.60723e-05_rb /) kbo(:,25,11) = (/ & & 0.33292e-05_rb,0.39315e-05_rb,0.45958e-05_rb,0.53082e-05_rb,0.60473e-05_rb /) kbo(:,26,11) = (/ & & 0.32653e-05_rb,0.38970e-05_rb,0.45879e-05_rb,0.53204e-05_rb,0.60776e-05_rb /) kbo(:,27,11) = (/ & & 0.32497e-05_rb,0.39083e-05_rb,0.46221e-05_rb,0.53722e-05_rb,0.61437e-05_rb /) kbo(:,28,11) = (/ & & 0.32741e-05_rb,0.39580e-05_rb,0.46902e-05_rb,0.54541e-05_rb,0.62354e-05_rb /) kbo(:,29,11) = (/ & & 0.33369e-05_rb,0.40429e-05_rb,0.47902e-05_rb,0.55664e-05_rb,0.63553e-05_rb /) kbo(:,30,11) = (/ & & 0.34283e-05_rb,0.41504e-05_rb,0.49124e-05_rb,0.56972e-05_rb,0.64922e-05_rb /) kbo(:,31,11) = (/ & & 0.35444e-05_rb,0.42823e-05_rb,0.50547e-05_rb,0.58477e-05_rb,0.66477e-05_rb /) kbo(:,32,11) = (/ & & 0.36801e-05_rb,0.44317e-05_rb,0.52138e-05_rb,0.60136e-05_rb,0.68176e-05_rb /) kbo(:,33,11) = (/ & & 0.38318e-05_rb,0.45951e-05_rb,0.53855e-05_rb,0.61901e-05_rb,0.69963e-05_rb /) kbo(:,34,11) = (/ & & 0.39692e-05_rb,0.47416e-05_rb,0.55387e-05_rb,0.63463e-05_rb,0.71529e-05_rb /) kbo(:,35,11) = (/ & & 0.40413e-05_rb,0.48197e-05_rb,0.56200e-05_rb,0.64302e-05_rb,0.72378e-05_rb /) kbo(:,36,11) = (/ & & 0.40356e-05_rb,0.48162e-05_rb,0.56178e-05_rb,0.64290e-05_rb,0.72385e-05_rb /) kbo(:,37,11) = (/ & & 0.39181e-05_rb,0.46953e-05_rb,0.54967e-05_rb,0.63083e-05_rb,0.71198e-05_rb /) kbo(:,38,11) = (/ & & 0.37977e-05_rb,0.45715e-05_rb,0.53704e-05_rb,0.61820e-05_rb,0.69964e-05_rb /) kbo(:,39,11) = (/ & & 0.36811e-05_rb,0.44507e-05_rb,0.52481e-05_rb,0.60593e-05_rb,0.68739e-05_rb /) kbo(:,40,11) = (/ & & 0.34909e-05_rb,0.42522e-05_rb,0.50444e-05_rb,0.58543e-05_rb,0.66697e-05_rb /) kbo(:,41,11) = (/ & & 0.32953e-05_rb,0.40465e-05_rb,0.48326e-05_rb,0.56401e-05_rb,0.64551e-05_rb /) kbo(:,42,11) = (/ & & 0.31040e-05_rb,0.38444e-05_rb,0.46230e-05_rb,0.54267e-05_rb,0.62419e-05_rb /) kbo(:,43,11) = (/ & & 0.28773e-05_rb,0.36028e-05_rb,0.43716e-05_rb,0.51693e-05_rb,0.59825e-05_rb /) kbo(:,44,11) = (/ & & 0.26404e-05_rb,0.33480e-05_rb,0.41036e-05_rb,0.48939e-05_rb,0.57034e-05_rb /) kbo(:,45,11) = (/ & & 0.24120e-05_rb,0.30991e-05_rb,0.38405e-05_rb,0.46208e-05_rb,0.54260e-05_rb /) kbo(:,46,11) = (/ & & 0.21786e-05_rb,0.28418e-05_rb,0.35659e-05_rb,0.43343e-05_rb,0.51318e-05_rb /) kbo(:,47,11) = (/ & & 0.19311e-05_rb,0.25641e-05_rb,0.32660e-05_rb,0.40180e-05_rb,0.48060e-05_rb /) kbo(:,48,11) = (/ & & 0.16967e-05_rb,0.22980e-05_rb,0.29746e-05_rb,0.37093e-05_rb,0.44842e-05_rb /) kbo(:,49,11) = (/ & & 0.14774e-05_rb,0.20448e-05_rb,0.26926e-05_rb,0.34064e-05_rb,0.41668e-05_rb /) kbo(:,50,11) = (/ & & 0.12873e-05_rb,0.18193e-05_rb,0.24384e-05_rb,0.31296e-05_rb,0.38742e-05_rb /) kbo(:,51,11) = (/ & & 0.11146e-05_rb,0.16126e-05_rb,0.22020e-05_rb,0.28686e-05_rb,0.35959e-05_rb /) kbo(:,52,11) = (/ & & 0.95604e-06_rb,0.14200e-05_rb,0.19761e-05_rb,0.26163e-05_rb,0.33236e-05_rb /) kbo(:,53,11) = (/ & & 0.80966e-06_rb,0.12381e-05_rb,0.17610e-05_rb,0.23732e-05_rb,0.30580e-05_rb /) kbo(:,54,11) = (/ & & 0.68766e-06_rb,0.10830e-05_rb,0.15763e-05_rb,0.21583e-05_rb,0.28207e-05_rb /) kbo(:,55,11) = (/ & & 0.58212e-06_rb,0.94518e-06_rb,0.14071e-05_rb,0.19616e-05_rb,0.26001e-05_rb /) kbo(:,56,11) = (/ & & 0.48769e-06_rb,0.81784e-06_rb,0.12480e-05_rb,0.17754e-05_rb,0.23872e-05_rb /) kbo(:,57,11) = (/ & & 0.40334e-06_rb,0.70099e-06_rb,0.10993e-05_rb,0.15960e-05_rb,0.21818e-05_rb /) kbo(:,58,11) = (/ & & 0.33254e-06_rb,0.59979e-06_rb,0.96749e-06_rb,0.14348e-05_rb,0.19961e-05_rb /) kbo(:,59,11) = (/ & & 0.30667e-06_rb,0.56182e-06_rb,0.91722e-06_rb,0.13728e-05_rb,0.19233e-05_rb /) kbo(:,13,12) = (/ & & 0.21780e-04_rb,0.22297e-04_rb,0.22851e-04_rb,0.23387e-04_rb,0.23897e-04_rb /) kbo(:,14,12) = (/ & & 0.20875e-04_rb,0.21531e-04_rb,0.22189e-04_rb,0.22823e-04_rb,0.23424e-04_rb /) kbo(:,15,12) = (/ & & 0.19941e-04_rb,0.20728e-04_rb,0.21492e-04_rb,0.22225e-04_rb,0.22948e-04_rb /) kbo(:,16,12) = (/ & & 0.19013e-04_rb,0.19918e-04_rb,0.20796e-04_rb,0.21654e-04_rb,0.22503e-04_rb /) kbo(:,17,12) = (/ & & 0.18129e-04_rb,0.19150e-04_rb,0.20149e-04_rb,0.21144e-04_rb,0.22094e-04_rb /) kbo(:,18,12) = (/ & & 0.17308e-04_rb,0.18451e-04_rb,0.19578e-04_rb,0.20689e-04_rb,0.21728e-04_rb /) kbo(:,19,12) = (/ & & 0.16581e-04_rb,0.17835e-04_rb,0.19087e-04_rb,0.20285e-04_rb,0.21402e-04_rb /) kbo(:,20,12) = (/ & & 0.15978e-04_rb,0.17349e-04_rb,0.18704e-04_rb,0.19972e-04_rb,0.21143e-04_rb /) kbo(:,21,12) = (/ & & 0.15496e-04_rb,0.16976e-04_rb,0.18403e-04_rb,0.19724e-04_rb,0.20952e-04_rb /) kbo(:,22,12) = (/ & & 0.15240e-04_rb,0.16798e-04_rb,0.18272e-04_rb,0.19635e-04_rb,0.20901e-04_rb /) kbo(:,23,12) = (/ & & 0.15105e-04_rb,0.16716e-04_rb,0.18220e-04_rb,0.19617e-04_rb,0.20916e-04_rb /) kbo(:,24,12) = (/ & & 0.15076e-04_rb,0.16719e-04_rb,0.18249e-04_rb,0.19672e-04_rb,0.20991e-04_rb /) kbo(:,25,12) = (/ & & 0.15141e-04_rb,0.16802e-04_rb,0.18352e-04_rb,0.19786e-04_rb,0.21116e-04_rb /) kbo(:,26,12) = (/ & & 0.15306e-04_rb,0.16974e-04_rb,0.18529e-04_rb,0.19965e-04_rb,0.21296e-04_rb /) kbo(:,27,12) = (/ & & 0.15522e-04_rb,0.17192e-04_rb,0.18747e-04_rb,0.20182e-04_rb,0.21501e-04_rb /) kbo(:,28,12) = (/ & & 0.15784e-04_rb,0.17449e-04_rb,0.18996e-04_rb,0.20419e-04_rb,0.21733e-04_rb /) kbo(:,29,12) = (/ & & 0.16090e-04_rb,0.17744e-04_rb,0.19276e-04_rb,0.20687e-04_rb,0.21987e-04_rb /) kbo(:,30,12) = (/ & & 0.16419e-04_rb,0.18062e-04_rb,0.19575e-04_rb,0.20970e-04_rb,0.22248e-04_rb /) kbo(:,31,12) = (/ & & 0.16777e-04_rb,0.18399e-04_rb,0.19892e-04_rb,0.21268e-04_rb,0.22521e-04_rb /) kbo(:,32,12) = (/ & & 0.17152e-04_rb,0.18750e-04_rb,0.20222e-04_rb,0.21573e-04_rb,0.22802e-04_rb /) kbo(:,33,12) = (/ & & 0.17537e-04_rb,0.19109e-04_rb,0.20556e-04_rb,0.21883e-04_rb,0.23082e-04_rb /) kbo(:,34,12) = (/ & & 0.17871e-04_rb,0.19418e-04_rb,0.20844e-04_rb,0.22147e-04_rb,0.23322e-04_rb /) kbo(:,35,12) = (/ & & 0.18052e-04_rb,0.19587e-04_rb,0.21002e-04_rb,0.22291e-04_rb,0.23455e-04_rb /) kbo(:,36,12) = (/ & & 0.18063e-04_rb,0.19601e-04_rb,0.21016e-04_rb,0.22306e-04_rb,0.23468e-04_rb /) kbo(:,37,12) = (/ & & 0.17833e-04_rb,0.19389e-04_rb,0.20824e-04_rb,0.22132e-04_rb,0.23314e-04_rb /) kbo(:,38,12) = (/ & & 0.17587e-04_rb,0.19167e-04_rb,0.20623e-04_rb,0.21950e-04_rb,0.23152e-04_rb /) kbo(:,39,12) = (/ & & 0.17343e-04_rb,0.18945e-04_rb,0.20418e-04_rb,0.21765e-04_rb,0.22984e-04_rb /) kbo(:,40,12) = (/ & & 0.16926e-04_rb,0.18563e-04_rb,0.20065e-04_rb,0.21446e-04_rb,0.22697e-04_rb /) kbo(:,41,12) = (/ & & 0.16478e-04_rb,0.18152e-04_rb,0.19687e-04_rb,0.21101e-04_rb,0.22388e-04_rb /) kbo(:,42,12) = (/ & & 0.16023e-04_rb,0.17729e-04_rb,0.19301e-04_rb,0.20748e-04_rb,0.22068e-04_rb /) kbo(:,43,12) = (/ & & 0.15458e-04_rb,0.17203e-04_rb,0.18821e-04_rb,0.20305e-04_rb,0.21667e-04_rb /) kbo(:,44,12) = (/ & & 0.14831e-04_rb,0.16623e-04_rb,0.18287e-04_rb,0.19814e-04_rb,0.21219e-04_rb /) kbo(:,45,12) = (/ & & 0.14192e-04_rb,0.16029e-04_rb,0.17735e-04_rb,0.19308e-04_rb,0.20757e-04_rb /) kbo(:,46,12) = (/ & & 0.13493e-04_rb,0.15380e-04_rb,0.17134e-04_rb,0.18756e-04_rb,0.20247e-04_rb /) kbo(:,47,12) = (/ & & 0.12693e-04_rb,0.14634e-04_rb,0.16440e-04_rb,0.18118e-04_rb,0.19661e-04_rb /) kbo(:,48,12) = (/ & & 0.11878e-04_rb,0.13868e-04_rb,0.15729e-04_rb,0.17458e-04_rb,0.19054e-04_rb /) kbo(:,49,12) = (/ & & 0.11052e-04_rb,0.13077e-04_rb,0.14993e-04_rb,0.16776e-04_rb,0.18429e-04_rb /) kbo(:,50,12) = (/ & & 0.10274e-04_rb,0.12322e-04_rb,0.14286e-04_rb,0.16119e-04_rb,0.17820e-04_rb /) kbo(:,51,12) = (/ & & 0.95165e-05_rb,0.11577e-04_rb,0.13581e-04_rb,0.15463e-04_rb,0.17211e-04_rb /) kbo(:,52,12) = (/ & & 0.87654e-05_rb,0.10825e-04_rb,0.12859e-04_rb,0.14791e-04_rb,0.16589e-04_rb /) kbo(:,53,12) = (/ & & 0.80213e-05_rb,0.10071e-04_rb,0.12124e-04_rb,0.14102e-04_rb,0.15949e-04_rb /) kbo(:,54,12) = (/ & & 0.73473e-05_rb,0.93776e-05_rb,0.11439e-04_rb,0.13452e-04_rb,0.15344e-04_rb /) kbo(:,55,12) = (/ & & 0.67127e-05_rb,0.87188e-05_rb,0.10780e-04_rb,0.12816e-04_rb,0.14751e-04_rb /) kbo(:,56,12) = (/ & & 0.60935e-05_rb,0.80668e-05_rb,0.10118e-04_rb,0.12169e-04_rb,0.14148e-04_rb /) kbo(:,57,12) = (/ & & 0.54908e-05_rb,0.74223e-05_rb,0.94571e-05_rb,0.11517e-04_rb,0.13528e-04_rb /) kbo(:,58,12) = (/ & & 0.49372e-05_rb,0.68201e-05_rb,0.88324e-05_rb,0.10894e-04_rb,0.12926e-04_rb /) kbo(:,59,12) = (/ & & 0.47213e-05_rb,0.65842e-05_rb,0.85835e-05_rb,0.10644e-04_rb,0.12683e-04_rb /) kbo(:,13,13) = (/ & & 0.46820e-04_rb,0.47158e-04_rb,0.47420e-04_rb,0.47688e-04_rb,0.47860e-04_rb /) kbo(:,14,13) = (/ & & 0.47343e-04_rb,0.47824e-04_rb,0.48275e-04_rb,0.48677e-04_rb,0.48937e-04_rb /) kbo(:,15,13) = (/ & & 0.47643e-04_rb,0.48345e-04_rb,0.48980e-04_rb,0.49469e-04_rb,0.49813e-04_rb /) kbo(:,16,13) = (/ & & 0.47844e-04_rb,0.48762e-04_rb,0.49536e-04_rb,0.50120e-04_rb,0.50548e-04_rb /) kbo(:,17,13) = (/ & & 0.47956e-04_rb,0.49079e-04_rb,0.49982e-04_rb,0.50640e-04_rb,0.51155e-04_rb /) kbo(:,18,13) = (/ & & 0.48046e-04_rb,0.49334e-04_rb,0.50343e-04_rb,0.51068e-04_rb,0.51673e-04_rb /) kbo(:,19,13) = (/ & & 0.48132e-04_rb,0.49550e-04_rb,0.50630e-04_rb,0.51453e-04_rb,0.52124e-04_rb /) kbo(:,20,13) = (/ & & 0.48262e-04_rb,0.49765e-04_rb,0.50907e-04_rb,0.51808e-04_rb,0.52533e-04_rb /) kbo(:,21,13) = (/ & & 0.48402e-04_rb,0.49959e-04_rb,0.51170e-04_rb,0.52136e-04_rb,0.52894e-04_rb /) kbo(:,22,13) = (/ & & 0.48671e-04_rb,0.50243e-04_rb,0.51485e-04_rb,0.52481e-04_rb,0.53256e-04_rb /) kbo(:,23,13) = (/ & & 0.48954e-04_rb,0.50544e-04_rb,0.51806e-04_rb,0.52811e-04_rb,0.53587e-04_rb /) kbo(:,24,13) = (/ & & 0.49272e-04_rb,0.50858e-04_rb,0.52128e-04_rb,0.53125e-04_rb,0.53892e-04_rb /) kbo(:,25,13) = (/ & & 0.49616e-04_rb,0.51186e-04_rb,0.52450e-04_rb,0.53425e-04_rb,0.54174e-04_rb /) kbo(:,26,13) = (/ & & 0.50001e-04_rb,0.51551e-04_rb,0.52773e-04_rb,0.53723e-04_rb,0.54445e-04_rb /) kbo(:,27,13) = (/ & & 0.50406e-04_rb,0.51904e-04_rb,0.53086e-04_rb,0.54001e-04_rb,0.54687e-04_rb /) kbo(:,28,13) = (/ & & 0.50802e-04_rb,0.52248e-04_rb,0.53391e-04_rb,0.54260e-04_rb,0.54906e-04_rb /) kbo(:,29,13) = (/ & & 0.51204e-04_rb,0.52593e-04_rb,0.53683e-04_rb,0.54507e-04_rb,0.55109e-04_rb /) kbo(:,30,13) = (/ & & 0.51608e-04_rb,0.52928e-04_rb,0.53956e-04_rb,0.54730e-04_rb,0.55285e-04_rb /) kbo(:,31,13) = (/ & & 0.51993e-04_rb,0.53249e-04_rb,0.54213e-04_rb,0.54939e-04_rb,0.55442e-04_rb /) kbo(:,32,13) = (/ & & 0.52364e-04_rb,0.53549e-04_rb,0.54461e-04_rb,0.55127e-04_rb,0.55583e-04_rb /) kbo(:,33,13) = (/ & & 0.52722e-04_rb,0.53841e-04_rb,0.54688e-04_rb,0.55301e-04_rb,0.55705e-04_rb /) kbo(:,34,13) = (/ & & 0.53018e-04_rb,0.54074e-04_rb,0.54867e-04_rb,0.55434e-04_rb,0.55799e-04_rb /) kbo(:,35,13) = (/ & & 0.53187e-04_rb,0.54211e-04_rb,0.54980e-04_rb,0.55515e-04_rb,0.55855e-04_rb /) kbo(:,36,13) = (/ & & 0.53222e-04_rb,0.54242e-04_rb,0.55009e-04_rb,0.55544e-04_rb,0.55878e-04_rb /) kbo(:,37,13) = (/ & & 0.53077e-04_rb,0.54137e-04_rb,0.54934e-04_rb,0.55495e-04_rb,0.55862e-04_rb /) kbo(:,38,13) = (/ & & 0.52907e-04_rb,0.54013e-04_rb,0.54850e-04_rb,0.55445e-04_rb,0.55837e-04_rb /) kbo(:,39,13) = (/ & & 0.52736e-04_rb,0.53884e-04_rb,0.54754e-04_rb,0.55383e-04_rb,0.55805e-04_rb /) kbo(:,40,13) = (/ & & 0.52415e-04_rb,0.53638e-04_rb,0.54576e-04_rb,0.55258e-04_rb,0.55727e-04_rb /) kbo(:,41,13) = (/ & & 0.52053e-04_rb,0.53364e-04_rb,0.54368e-04_rb,0.55117e-04_rb,0.55636e-04_rb /) kbo(:,42,13) = (/ & & 0.51661e-04_rb,0.53061e-04_rb,0.54142e-04_rb,0.54952e-04_rb,0.55527e-04_rb /) kbo(:,43,13) = (/ & & 0.51150e-04_rb,0.52667e-04_rb,0.53836e-04_rb,0.54732e-04_rb,0.55377e-04_rb /) kbo(:,44,13) = (/ & & 0.50559e-04_rb,0.52194e-04_rb,0.53480e-04_rb,0.54465e-04_rb,0.55186e-04_rb /) kbo(:,45,13) = (/ & & 0.49921e-04_rb,0.51684e-04_rb,0.53086e-04_rb,0.54162e-04_rb,0.54971e-04_rb /) kbo(:,46,13) = (/ & & 0.49197e-04_rb,0.51093e-04_rb,0.52628e-04_rb,0.53809e-04_rb,0.54714e-04_rb /) kbo(:,47,13) = (/ & & 0.48328e-04_rb,0.50372e-04_rb,0.52058e-04_rb,0.53374e-04_rb,0.54380e-04_rb /) kbo(:,48,13) = (/ & & 0.47381e-04_rb,0.49603e-04_rb,0.51420e-04_rb,0.52887e-04_rb,0.54013e-04_rb /) kbo(:,49,13) = (/ & & 0.46342e-04_rb,0.48755e-04_rb,0.50735e-04_rb,0.52347e-04_rb,0.53594e-04_rb /) kbo(:,50,13) = (/ & & 0.45266e-04_rb,0.47911e-04_rb,0.50033e-04_rb,0.51782e-04_rb,0.53163e-04_rb /) kbo(:,51,13) = (/ & & 0.44139e-04_rb,0.47021e-04_rb,0.49310e-04_rb,0.51184e-04_rb,0.52699e-04_rb /) kbo(:,52,13) = (/ & & 0.42930e-04_rb,0.46044e-04_rb,0.48523e-04_rb,0.50540e-04_rb,0.52191e-04_rb /) kbo(:,53,13) = (/ & & 0.41632e-04_rb,0.44983e-04_rb,0.47688e-04_rb,0.49847e-04_rb,0.51629e-04_rb /) kbo(:,54,13) = (/ & & 0.40359e-04_rb,0.43928e-04_rb,0.46843e-04_rb,0.49172e-04_rb,0.51075e-04_rb /) kbo(:,55,13) = (/ & & 0.39074e-04_rb,0.42858e-04_rb,0.45984e-04_rb,0.48480e-04_rb,0.50508e-04_rb /) kbo(:,56,13) = (/ & & 0.37728e-04_rb,0.41722e-04_rb,0.45056e-04_rb,0.47740e-04_rb,0.49900e-04_rb /) kbo(:,57,13) = (/ & & 0.36320e-04_rb,0.40515e-04_rb,0.44055e-04_rb,0.46942e-04_rb,0.49258e-04_rb /) kbo(:,58,13) = (/ & & 0.34927e-04_rb,0.39308e-04_rb,0.43052e-04_rb,0.46141e-04_rb,0.48596e-04_rb /) kbo(:,59,13) = (/ & & 0.34349e-04_rb,0.38808e-04_rb,0.42631e-04_rb,0.45802e-04_rb,0.48325e-04_rb /) kbo(:,13,14) = (/ & & 0.91739e-04_rb,0.90588e-04_rb,0.89270e-04_rb,0.87862e-04_rb,0.86541e-04_rb /) kbo(:,14,14) = (/ & & 0.97111e-04_rb,0.95879e-04_rb,0.94382e-04_rb,0.92799e-04_rb,0.91344e-04_rb /) kbo(:,15,14) = (/ & & 0.10201e-03_rb,0.10059e-03_rb,0.98963e-04_rb,0.97297e-04_rb,0.95661e-04_rb /) kbo(:,16,14) = (/ & & 0.10632e-03_rb,0.10477e-03_rb,0.10303e-03_rb,0.10127e-03_rb,0.99489e-04_rb /) kbo(:,17,14) = (/ & & 0.11011e-03_rb,0.10842e-03_rb,0.10659e-03_rb,0.10474e-03_rb,0.10285e-03_rb /) kbo(:,18,14) = (/ & & 0.11338e-03_rb,0.11158e-03_rb,0.10968e-03_rb,0.10773e-03_rb,0.10569e-03_rb /) kbo(:,19,14) = (/ & & 0.11615e-03_rb,0.11428e-03_rb,0.11231e-03_rb,0.11026e-03_rb,0.10810e-03_rb /) kbo(:,20,14) = (/ & & 0.11847e-03_rb,0.11653e-03_rb,0.11450e-03_rb,0.11235e-03_rb,0.11005e-03_rb /) kbo(:,21,14) = (/ & & 0.12039e-03_rb,0.11839e-03_rb,0.11628e-03_rb,0.11404e-03_rb,0.11166e-03_rb /) kbo(:,22,14) = (/ & & 0.12185e-03_rb,0.11978e-03_rb,0.11759e-03_rb,0.11525e-03_rb,0.11275e-03_rb /) kbo(:,23,14) = (/ & & 0.12298e-03_rb,0.12085e-03_rb,0.11858e-03_rb,0.11615e-03_rb,0.11356e-03_rb /) kbo(:,24,14) = (/ & & 0.12384e-03_rb,0.12163e-03_rb,0.11927e-03_rb,0.11676e-03_rb,0.11410e-03_rb /) kbo(:,25,14) = (/ & & 0.12445e-03_rb,0.12216e-03_rb,0.11972e-03_rb,0.11712e-03_rb,0.11440e-03_rb /) kbo(:,26,14) = (/ & & 0.12480e-03_rb,0.12244e-03_rb,0.11993e-03_rb,0.11725e-03_rb,0.11449e-03_rb /) kbo(:,27,14) = (/ & & 0.12497e-03_rb,0.12254e-03_rb,0.11997e-03_rb,0.11723e-03_rb,0.11442e-03_rb /) kbo(:,28,14) = (/ & & 0.12498e-03_rb,0.12249e-03_rb,0.11986e-03_rb,0.11707e-03_rb,0.11425e-03_rb /) kbo(:,29,14) = (/ & & 0.12486e-03_rb,0.12231e-03_rb,0.11961e-03_rb,0.11677e-03_rb,0.11393e-03_rb /) kbo(:,30,14) = (/ & & 0.12462e-03_rb,0.12202e-03_rb,0.11925e-03_rb,0.11640e-03_rb,0.11355e-03_rb /) kbo(:,31,14) = (/ & & 0.12428e-03_rb,0.12163e-03_rb,0.11882e-03_rb,0.11594e-03_rb,0.11310e-03_rb /) kbo(:,32,14) = (/ & & 0.12387e-03_rb,0.12116e-03_rb,0.11831e-03_rb,0.11542e-03_rb,0.11260e-03_rb /) kbo(:,33,14) = (/ & & 0.12338e-03_rb,0.12061e-03_rb,0.11773e-03_rb,0.11485e-03_rb,0.11205e-03_rb /) kbo(:,34,14) = (/ & & 0.12293e-03_rb,0.12013e-03_rb,0.11722e-03_rb,0.11434e-03_rb,0.11156e-03_rb /) kbo(:,35,14) = (/ & & 0.12271e-03_rb,0.11987e-03_rb,0.11696e-03_rb,0.11408e-03_rb,0.11132e-03_rb /) kbo(:,36,14) = (/ & & 0.12276e-03_rb,0.11992e-03_rb,0.11700e-03_rb,0.11412e-03_rb,0.11135e-03_rb /) kbo(:,37,14) = (/ & & 0.12321e-03_rb,0.12039e-03_rb,0.11748e-03_rb,0.11457e-03_rb,0.11178e-03_rb /) kbo(:,38,14) = (/ & & 0.12368e-03_rb,0.12086e-03_rb,0.11795e-03_rb,0.11504e-03_rb,0.11223e-03_rb /) kbo(:,39,14) = (/ & & 0.12412e-03_rb,0.12132e-03_rb,0.11841e-03_rb,0.11549e-03_rb,0.11266e-03_rb /) kbo(:,40,14) = (/ & & 0.12481e-03_rb,0.12205e-03_rb,0.11917e-03_rb,0.11624e-03_rb,0.11338e-03_rb /) kbo(:,41,14) = (/ & & 0.12552e-03_rb,0.12282e-03_rb,0.11995e-03_rb,0.11701e-03_rb,0.11413e-03_rb /) kbo(:,42,14) = (/ & & 0.12624e-03_rb,0.12356e-03_rb,0.12073e-03_rb,0.11779e-03_rb,0.11489e-03_rb /) kbo(:,43,14) = (/ & & 0.12708e-03_rb,0.12444e-03_rb,0.12166e-03_rb,0.11873e-03_rb,0.11581e-03_rb /) kbo(:,44,14) = (/ & & 0.12796e-03_rb,0.12537e-03_rb,0.12263e-03_rb,0.11974e-03_rb,0.11681e-03_rb /) kbo(:,45,14) = (/ & & 0.12882e-03_rb,0.12627e-03_rb,0.12360e-03_rb,0.12075e-03_rb,0.11782e-03_rb /) kbo(:,46,14) = (/ & & 0.12968e-03_rb,0.12723e-03_rb,0.12459e-03_rb,0.12181e-03_rb,0.11889e-03_rb /) kbo(:,47,14) = (/ & & 0.13062e-03_rb,0.12827e-03_rb,0.12567e-03_rb,0.12295e-03_rb,0.12008e-03_rb /) kbo(:,48,14) = (/ & & 0.13150e-03_rb,0.12926e-03_rb,0.12675e-03_rb,0.12408e-03_rb,0.12126e-03_rb /) kbo(:,49,14) = (/ & & 0.13233e-03_rb,0.13021e-03_rb,0.12780e-03_rb,0.12517e-03_rb,0.12242e-03_rb /) kbo(:,50,14) = (/ & & 0.13307e-03_rb,0.13105e-03_rb,0.12874e-03_rb,0.12618e-03_rb,0.12349e-03_rb /) kbo(:,51,14) = (/ & & 0.13374e-03_rb,0.13183e-03_rb,0.12963e-03_rb,0.12715e-03_rb,0.12449e-03_rb /) kbo(:,52,14) = (/ & & 0.13431e-03_rb,0.13255e-03_rb,0.13046e-03_rb,0.12807e-03_rb,0.12548e-03_rb /) kbo(:,53,14) = (/ & & 0.13479e-03_rb,0.13325e-03_rb,0.13127e-03_rb,0.12898e-03_rb,0.12645e-03_rb /) kbo(:,54,14) = (/ & & 0.13511e-03_rb,0.13385e-03_rb,0.13196e-03_rb,0.12979e-03_rb,0.12732e-03_rb /) kbo(:,55,14) = (/ & & 0.13533e-03_rb,0.13436e-03_rb,0.13261e-03_rb,0.13052e-03_rb,0.12814e-03_rb /) kbo(:,56,14) = (/ & & 0.13543e-03_rb,0.13477e-03_rb,0.13321e-03_rb,0.13121e-03_rb,0.12893e-03_rb /) kbo(:,57,14) = (/ & & 0.13540e-03_rb,0.13509e-03_rb,0.13379e-03_rb,0.13190e-03_rb,0.12969e-03_rb /) kbo(:,58,14) = (/ & & 0.13520e-03_rb,0.13532e-03_rb,0.13428e-03_rb,0.13250e-03_rb,0.13039e-03_rb /) kbo(:,59,14) = (/ & & 0.13510e-03_rb,0.13536e-03_rb,0.13445e-03_rb,0.13273e-03_rb,0.13066e-03_rb /) kbo(:,13,15) = (/ & & 0.16545e-03_rb,0.16076e-03_rb,0.15662e-03_rb,0.15273e-03_rb,0.14899e-03_rb /) kbo(:,14,15) = (/ & & 0.17968e-03_rb,0.17402e-03_rb,0.16899e-03_rb,0.16434e-03_rb,0.15984e-03_rb /) kbo(:,15,15) = (/ & & 0.19299e-03_rb,0.18634e-03_rb,0.18041e-03_rb,0.17491e-03_rb,0.16965e-03_rb /) kbo(:,16,15) = (/ & & 0.20519e-03_rb,0.19756e-03_rb,0.19072e-03_rb,0.18435e-03_rb,0.17834e-03_rb /) kbo(:,17,15) = (/ & & 0.21616e-03_rb,0.20753e-03_rb,0.19981e-03_rb,0.19268e-03_rb,0.18599e-03_rb /) kbo(:,18,15) = (/ & & 0.22578e-03_rb,0.21627e-03_rb,0.20768e-03_rb,0.19983e-03_rb,0.19254e-03_rb /) kbo(:,19,15) = (/ & & 0.23404e-03_rb,0.22371e-03_rb,0.21439e-03_rb,0.20593e-03_rb,0.19813e-03_rb /) kbo(:,20,15) = (/ & & 0.24079e-03_rb,0.22975e-03_rb,0.21986e-03_rb,0.21084e-03_rb,0.20261e-03_rb /) kbo(:,21,15) = (/ & & 0.24629e-03_rb,0.23467e-03_rb,0.22423e-03_rb,0.21475e-03_rb,0.20622e-03_rb /) kbo(:,22,15) = (/ & & 0.24979e-03_rb,0.23775e-03_rb,0.22702e-03_rb,0.21724e-03_rb,0.20849e-03_rb /) kbo(:,23,15) = (/ & & 0.25216e-03_rb,0.23989e-03_rb,0.22890e-03_rb,0.21892e-03_rb,0.21005e-03_rb /) kbo(:,24,15) = (/ & & 0.25355e-03_rb,0.24109e-03_rb,0.22997e-03_rb,0.21990e-03_rb,0.21094e-03_rb /) kbo(:,25,15) = (/ & & 0.25401e-03_rb,0.24151e-03_rb,0.23030e-03_rb,0.22024e-03_rb,0.21125e-03_rb /) kbo(:,26,15) = (/ & & 0.25359e-03_rb,0.24114e-03_rb,0.22993e-03_rb,0.21995e-03_rb,0.21097e-03_rb /) kbo(:,27,15) = (/ & & 0.25262e-03_rb,0.24030e-03_rb,0.22913e-03_rb,0.21926e-03_rb,0.21037e-03_rb /) kbo(:,28,15) = (/ & & 0.25126e-03_rb,0.23904e-03_rb,0.22801e-03_rb,0.21831e-03_rb,0.20948e-03_rb /) kbo(:,29,15) = (/ & & 0.24948e-03_rb,0.23745e-03_rb,0.22663e-03_rb,0.21704e-03_rb,0.20834e-03_rb /) kbo(:,30,15) = (/ & & 0.24748e-03_rb,0.23558e-03_rb,0.22502e-03_rb,0.21558e-03_rb,0.20699e-03_rb /) kbo(:,31,15) = (/ & & 0.24521e-03_rb,0.23353e-03_rb,0.22323e-03_rb,0.21394e-03_rb,0.20549e-03_rb /) kbo(:,32,15) = (/ & & 0.24273e-03_rb,0.23132e-03_rb,0.22129e-03_rb,0.21221e-03_rb,0.20387e-03_rb /) kbo(:,33,15) = (/ & & 0.24020e-03_rb,0.22911e-03_rb,0.21929e-03_rb,0.21039e-03_rb,0.20217e-03_rb /) kbo(:,34,15) = (/ & & 0.23799e-03_rb,0.22719e-03_rb,0.21754e-03_rb,0.20880e-03_rb,0.20071e-03_rb /) kbo(:,35,15) = (/ & & 0.23687e-03_rb,0.22619e-03_rb,0.21668e-03_rb,0.20798e-03_rb,0.19994e-03_rb /) kbo(:,36,15) = (/ & & 0.23693e-03_rb,0.22624e-03_rb,0.21673e-03_rb,0.20802e-03_rb,0.19997e-03_rb /) kbo(:,37,15) = (/ & & 0.23866e-03_rb,0.22780e-03_rb,0.21810e-03_rb,0.20930e-03_rb,0.20116e-03_rb /) kbo(:,38,15) = (/ & & 0.24049e-03_rb,0.22941e-03_rb,0.21958e-03_rb,0.21064e-03_rb,0.20240e-03_rb /) kbo(:,39,15) = (/ & & 0.24235e-03_rb,0.23100e-03_rb,0.22101e-03_rb,0.21195e-03_rb,0.20362e-03_rb /) kbo(:,40,15) = (/ & & 0.24544e-03_rb,0.23374e-03_rb,0.22344e-03_rb,0.21416e-03_rb,0.20567e-03_rb /) kbo(:,41,15) = (/ & & 0.24874e-03_rb,0.23671e-03_rb,0.22606e-03_rb,0.21653e-03_rb,0.20786e-03_rb /) kbo(:,42,15) = (/ & & 0.25214e-03_rb,0.23974e-03_rb,0.22874e-03_rb,0.21892e-03_rb,0.21007e-03_rb /) kbo(:,43,15) = (/ & & 0.25633e-03_rb,0.24355e-03_rb,0.23207e-03_rb,0.22195e-03_rb,0.21281e-03_rb /) kbo(:,44,15) = (/ & & 0.26108e-03_rb,0.24779e-03_rb,0.23584e-03_rb,0.22529e-03_rb,0.21581e-03_rb /) kbo(:,45,15) = (/ & & 0.26596e-03_rb,0.25216e-03_rb,0.23977e-03_rb,0.22875e-03_rb,0.21897e-03_rb /) kbo(:,46,15) = (/ & & 0.27137e-03_rb,0.25699e-03_rb,0.24413e-03_rb,0.23258e-03_rb,0.22240e-03_rb /) kbo(:,47,15) = (/ & & 0.27767e-03_rb,0.26264e-03_rb,0.24919e-03_rb,0.23707e-03_rb,0.22639e-03_rb /) kbo(:,48,15) = (/ & & 0.28422e-03_rb,0.26851e-03_rb,0.25443e-03_rb,0.24179e-03_rb,0.23054e-03_rb /) kbo(:,49,15) = (/ & & 0.29109e-03_rb,0.27465e-03_rb,0.25993e-03_rb,0.24676e-03_rb,0.23489e-03_rb /) kbo(:,50,15) = (/ & & 0.29784e-03_rb,0.28066e-03_rb,0.26532e-03_rb,0.25156e-03_rb,0.23921e-03_rb /) kbo(:,51,15) = (/ & & 0.30464e-03_rb,0.28674e-03_rb,0.27072e-03_rb,0.25642e-03_rb,0.24358e-03_rb /) kbo(:,52,15) = (/ & & 0.31175e-03_rb,0.29305e-03_rb,0.27640e-03_rb,0.26149e-03_rb,0.24813e-03_rb /) kbo(:,53,15) = (/ & & 0.31921e-03_rb,0.29964e-03_rb,0.28229e-03_rb,0.26674e-03_rb,0.25282e-03_rb /) kbo(:,54,15) = (/ & & 0.32632e-03_rb,0.30596e-03_rb,0.28789e-03_rb,0.27174e-03_rb,0.25731e-03_rb /) kbo(:,55,15) = (/ & & 0.33342e-03_rb,0.31218e-03_rb,0.29344e-03_rb,0.27674e-03_rb,0.26179e-03_rb /) kbo(:,56,15) = (/ & & 0.34053e-03_rb,0.31870e-03_rb,0.29920e-03_rb,0.28191e-03_rb,0.26637e-03_rb /) kbo(:,57,15) = (/ & & 0.34801e-03_rb,0.32554e-03_rb,0.30518e-03_rb,0.28726e-03_rb,0.27114e-03_rb /) kbo(:,58,15) = (/ & & 0.35537e-03_rb,0.33214e-03_rb,0.31109e-03_rb,0.29248e-03_rb,0.27588e-03_rb /) kbo(:,59,15) = (/ & & 0.35841e-03_rb,0.33487e-03_rb,0.31352e-03_rb,0.29463e-03_rb,0.27781e-03_rb /) kbo(:,13,16) = (/ & & 0.23817e-03_rb,0.23193e-03_rb,0.22589e-03_rb,0.21979e-03_rb,0.21365e-03_rb /) kbo(:,14,16) = (/ & & 0.26266e-03_rb,0.25442e-03_rb,0.24663e-03_rb,0.23897e-03_rb,0.23152e-03_rb /) kbo(:,15,16) = (/ & & 0.28586e-03_rb,0.27559e-03_rb,0.26587e-03_rb,0.25663e-03_rb,0.24800e-03_rb /) kbo(:,16,16) = (/ & & 0.30726e-03_rb,0.29496e-03_rb,0.28337e-03_rb,0.27251e-03_rb,0.26278e-03_rb /) kbo(:,17,16) = (/ & & 0.32665e-03_rb,0.31224e-03_rb,0.29895e-03_rb,0.28665e-03_rb,0.27581e-03_rb /) kbo(:,18,16) = (/ & & 0.34367e-03_rb,0.32749e-03_rb,0.31249e-03_rb,0.29896e-03_rb,0.28707e-03_rb /) kbo(:,19,16) = (/ & & 0.35833e-03_rb,0.34046e-03_rb,0.32413e-03_rb,0.30949e-03_rb,0.29662e-03_rb /) kbo(:,20,16) = (/ & & 0.37032e-03_rb,0.35107e-03_rb,0.33355e-03_rb,0.31795e-03_rb,0.30443e-03_rb /) kbo(:,21,16) = (/ & & 0.38004e-03_rb,0.35962e-03_rb,0.34106e-03_rb,0.32482e-03_rb,0.31071e-03_rb /) kbo(:,22,16) = (/ & & 0.38628e-03_rb,0.36502e-03_rb,0.34582e-03_rb,0.32929e-03_rb,0.31473e-03_rb /) kbo(:,23,16) = (/ & & 0.39046e-03_rb,0.36870e-03_rb,0.34902e-03_rb,0.33239e-03_rb,0.31753e-03_rb /) kbo(:,24,16) = (/ & & 0.39290e-03_rb,0.37079e-03_rb,0.35085e-03_rb,0.33417e-03_rb,0.31909e-03_rb /) kbo(:,25,16) = (/ & & 0.39368e-03_rb,0.37132e-03_rb,0.35155e-03_rb,0.33489e-03_rb,0.31974e-03_rb /) kbo(:,26,16) = (/ & & 0.39288e-03_rb,0.37052e-03_rb,0.35111e-03_rb,0.33452e-03_rb,0.31938e-03_rb /) kbo(:,27,16) = (/ & & 0.39120e-03_rb,0.36896e-03_rb,0.34999e-03_rb,0.33347e-03_rb,0.31836e-03_rb /) kbo(:,28,16) = (/ & & 0.38862e-03_rb,0.36669e-03_rb,0.34828e-03_rb,0.33189e-03_rb,0.31693e-03_rb /) kbo(:,29,16) = (/ & & 0.38540e-03_rb,0.36396e-03_rb,0.34596e-03_rb,0.32975e-03_rb,0.31502e-03_rb /) kbo(:,30,16) = (/ & & 0.38165e-03_rb,0.36095e-03_rb,0.34333e-03_rb,0.32738e-03_rb,0.31277e-03_rb /) kbo(:,31,16) = (/ & & 0.37756e-03_rb,0.35762e-03_rb,0.34034e-03_rb,0.32467e-03_rb,0.31030e-03_rb /) kbo(:,32,16) = (/ & & 0.37323e-03_rb,0.35410e-03_rb,0.33709e-03_rb,0.32164e-03_rb,0.30764e-03_rb /) kbo(:,33,16) = (/ & & 0.36881e-03_rb,0.35033e-03_rb,0.33368e-03_rb,0.31855e-03_rb,0.30481e-03_rb /) kbo(:,34,16) = (/ & & 0.36518e-03_rb,0.34710e-03_rb,0.33080e-03_rb,0.31589e-03_rb,0.30241e-03_rb /) kbo(:,35,16) = (/ & & 0.36331e-03_rb,0.34548e-03_rb,0.32924e-03_rb,0.31455e-03_rb,0.30119e-03_rb /) kbo(:,36,16) = (/ & & 0.36345e-03_rb,0.34559e-03_rb,0.32934e-03_rb,0.31463e-03_rb,0.30125e-03_rb /) kbo(:,37,16) = (/ & & 0.36636e-03_rb,0.34821e-03_rb,0.33175e-03_rb,0.31676e-03_rb,0.30324e-03_rb /) kbo(:,38,16) = (/ & & 0.36948e-03_rb,0.35092e-03_rb,0.33423e-03_rb,0.31902e-03_rb,0.30527e-03_rb /) kbo(:,39,16) = (/ & & 0.37259e-03_rb,0.35368e-03_rb,0.33668e-03_rb,0.32128e-03_rb,0.30727e-03_rb /) kbo(:,40,16) = (/ & & 0.37795e-03_rb,0.35829e-03_rb,0.34085e-03_rb,0.32505e-03_rb,0.31069e-03_rb /) kbo(:,41,16) = (/ & & 0.38379e-03_rb,0.36312e-03_rb,0.34529e-03_rb,0.32908e-03_rb,0.31437e-03_rb /) kbo(:,42,16) = (/ & & 0.38990e-03_rb,0.36819e-03_rb,0.34980e-03_rb,0.33322e-03_rb,0.31806e-03_rb /) kbo(:,43,16) = (/ & & 0.39755e-03_rb,0.37469e-03_rb,0.35548e-03_rb,0.33833e-03_rb,0.32274e-03_rb /) kbo(:,44,16) = (/ & & 0.40604e-03_rb,0.38206e-03_rb,0.36178e-03_rb,0.34404e-03_rb,0.32793e-03_rb /) kbo(:,45,16) = (/ & & 0.41497e-03_rb,0.38998e-03_rb,0.36828e-03_rb,0.34986e-03_rb,0.33329e-03_rb /) kbo(:,46,16) = (/ & & 0.42497e-03_rb,0.39871e-03_rb,0.37566e-03_rb,0.35633e-03_rb,0.33909e-03_rb /) kbo(:,47,16) = (/ & & 0.43684e-03_rb,0.40880e-03_rb,0.38451e-03_rb,0.36380e-03_rb,0.34586e-03_rb /) kbo(:,48,16) = (/ & & 0.44932e-03_rb,0.41960e-03_rb,0.39404e-03_rb,0.37171e-03_rb,0.35286e-03_rb /) kbo(:,49,16) = (/ & & 0.46270e-03_rb,0.43113e-03_rb,0.40397e-03_rb,0.38027e-03_rb,0.36021e-03_rb /) kbo(:,50,16) = (/ & & 0.47605e-03_rb,0.44249e-03_rb,0.41370e-03_rb,0.38887e-03_rb,0.36733e-03_rb /) kbo(:,51,16) = (/ & & 0.48981e-03_rb,0.45414e-03_rb,0.42376e-03_rb,0.39765e-03_rb,0.37477e-03_rb /) kbo(:,52,16) = (/ & & 0.50430e-03_rb,0.46661e-03_rb,0.43437e-03_rb,0.40673e-03_rb,0.38268e-03_rb /) kbo(:,53,16) = (/ & & 0.51980e-03_rb,0.47970e-03_rb,0.44558e-03_rb,0.41639e-03_rb,0.39115e-03_rb /) kbo(:,54,16) = (/ & & 0.53506e-03_rb,0.49244e-03_rb,0.45647e-03_rb,0.42564e-03_rb,0.39926e-03_rb /) kbo(:,55,16) = (/ & & 0.55131e-03_rb,0.50528e-03_rb,0.46739e-03_rb,0.43505e-03_rb,0.40730e-03_rb /) kbo(:,56,16) = (/ & & 0.56909e-03_rb,0.51883e-03_rb,0.47884e-03_rb,0.44497e-03_rb,0.41571e-03_rb /) kbo(:,57,16) = (/ & & 0.58824e-03_rb,0.53334e-03_rb,0.49097e-03_rb,0.45523e-03_rb,0.42457e-03_rb /) kbo(:,58,16) = (/ & & 0.60745e-03_rb,0.54837e-03_rb,0.50301e-03_rb,0.46546e-03_rb,0.43352e-03_rb /) kbo(:,59,16) = (/ & & 0.61557e-03_rb,0.55493e-03_rb,0.50805e-03_rb,0.46962e-03_rb,0.43716e-03_rb /) ! ----------------------------------------------------------------- forrefo(:, 1) = (/ 0.351362e-07_rb, 0.341136e-07_rb, 0.181317e-06_rb /) forrefo(:, 2) = (/ 0.109648e-06_rb, 0.344240e-06_rb, 0.139709e-05_rb /) forrefo(:, 3) = (/ 0.374823e-06_rb, 0.103424e-05_rb, 0.188717e-05_rb /) forrefo(:, 4) = (/ 0.580041e-06_rb, 0.116876e-05_rb, 0.121183e-05_rb /) forrefo(:, 5) = (/ 0.115608e-05_rb, 0.148110e-05_rb, 0.836083e-06_rb /) forrefo(:, 6) = (/ 0.181460e-05_rb, 0.133313e-05_rb, 0.500167e-06_rb /) forrefo(:, 7) = (/ 0.199096e-05_rb, 0.115276e-05_rb, 0.432994e-06_rb /) forrefo(:, 8) = (/ 0.183730e-05_rb, 0.122260e-05_rb, 0.433248e-06_rb /) forrefo(:, 9) = (/ 0.198386e-05_rb, 0.100130e-05_rb, 0.269712e-06_rb /) forrefo(:,10) = (/ 0.276382e-05_rb, 0.749215e-06_rb, 0.236919e-06_rb /) forrefo(:,11) = (/ 0.298202e-05_rb, 0.629688e-06_rb, 0.228388e-06_rb /) forrefo(:,12) = (/ 0.364604e-05_rb, 0.455336e-06_rb, 0.206130e-06_rb /) forrefo(:,13) = (/ 0.373339e-05_rb, 0.245210e-06_rb, 0.201987e-06_rb /) forrefo(:,14) = (/ 0.480378e-05_rb, 0.177591e-06_rb, 0.171458e-06_rb /) forrefo(:,15) = (/ 0.521700e-05_rb, 0.203358e-06_rb, 0.189559e-06_rb /) forrefo(:,16) = (/ 0.542717e-05_rb, 0.219022e-06_rb, 0.218271e-06_rb /) ! ----------------------------------------------------------------- ! The array SELFREFO contains the coefficient of the water vapor ! self-continuum (including the energy term). The first index ! refers to temperature in 7.2 degree increments. For instance, ! JT = 1 refers to a temperature of 245.6, JT = 2 refers to 252.8, ! etc. The second index runs over the g-channel (1 to 16). selfrefo(:, 1) = (/ & & 0.538526e-04_rb, 0.464603e-04_rb, 0.400828e-04_rb, 0.345807e-04_rb, 0.298339e-04_rb, & & 0.257386e-04_rb, 0.222055e-04_rb, 0.191574e-04_rb, 0.165277e-04_rb, 0.142590e-04_rb /) selfrefo(:, 2) = (/ & & 0.162409e-03_rb, 0.128347e-03_rb, 0.101430e-03_rb, 0.801571e-04_rb, 0.633460e-04_rb, & & 0.500607e-04_rb, 0.395616e-04_rb, 0.312645e-04_rb, 0.247075e-04_rb, 0.195257e-04_rb /) selfrefo(:, 3) = (/ & & 0.262882e-03_rb, 0.212793e-03_rb, 0.172247e-03_rb, 0.139427e-03_rb, 0.112860e-03_rb, & & 0.913557e-04_rb, 0.739487e-04_rb, 0.598584e-04_rb, 0.484529e-04_rb, 0.392206e-04_rb /) selfrefo(:, 4) = (/ & & 0.242873e-03_rb, 0.204225e-03_rb, 0.171726e-03_rb, 0.144399e-03_rb, 0.121421e-03_rb, & & 0.102099e-03_rb, 0.858516e-04_rb, 0.721899e-04_rb, 0.607022e-04_rb, 0.510426e-04_rb /) selfrefo(:, 5) = (/ & & 0.235614e-03_rb, 0.207814e-03_rb, 0.183293e-03_rb, 0.161666e-03_rb, 0.142591e-03_rb, & & 0.125766e-03_rb, 0.110927e-03_rb, 0.978381e-04_rb, 0.862939e-04_rb, 0.761119e-04_rb /) selfrefo(:, 6) = (/ & & 0.205508e-03_rb, 0.190174e-03_rb, 0.175985e-03_rb, 0.162854e-03_rb, 0.150702e-03_rb, & & 0.139458e-03_rb, 0.129052e-03_rb, 0.119423e-03_rb, 0.110513e-03_rb, 0.102267e-03_rb /) selfrefo(:, 7) = (/ & & 0.185027e-03_rb, 0.175148e-03_rb, 0.165796e-03_rb, 0.156944e-03_rb, 0.148565e-03_rb, & & 0.140633e-03_rb, 0.133124e-03_rb, 0.126016e-03_rb, 0.119288e-03_rb, 0.112919e-03_rb /) selfrefo(:, 8) = (/ & & 0.192634e-03_rb, 0.180192e-03_rb, 0.168554e-03_rb, 0.157668e-03_rb, 0.147484e-03_rb, & & 0.137959e-03_rb, 0.129048e-03_rb, 0.120713e-03_rb, 0.112917e-03_rb, 0.105624e-03_rb /) selfrefo(:, 9) = (/ & & 0.161632e-03_rb, 0.155919e-03_rb, 0.150408e-03_rb, 0.145092e-03_rb, 0.139963e-03_rb, & & 0.135016e-03_rb, 0.130244e-03_rb, 0.125640e-03_rb, 0.121199e-03_rb, 0.116915e-03_rb /) selfrefo(:,10) = (/ & & 0.120880e-03_rb, 0.125265e-03_rb, 0.129810e-03_rb, 0.134520e-03_rb, 0.139400e-03_rb, & & 0.144458e-03_rb, 0.149699e-03_rb, 0.155130e-03_rb, 0.160758e-03_rb, 0.166591e-03_rb /) selfrefo(:,11) = (/ & & 0.104705e-03_rb, 0.111761e-03_rb, 0.119291e-03_rb, 0.127330e-03_rb, 0.135910e-03_rb, & & 0.145068e-03_rb, 0.154843e-03_rb, 0.165277e-03_rb, 0.176414e-03_rb, 0.188302e-03_rb /) selfrefo(:,12) = (/ & & 0.846335e-04_rb, 0.951236e-04_rb, 0.106914e-03_rb, 0.120166e-03_rb, 0.135060e-03_rb, & & 0.151800e-03_rb, 0.170616e-03_rb, 0.191763e-03_rb, 0.215532e-03_rb, 0.242246e-03_rb /) selfrefo(:,13) = (/ & & 0.669754e-04_rb, 0.781902e-04_rb, 0.912829e-04_rb, 0.106568e-03_rb, 0.124413e-03_rb, & & 0.145245e-03_rb, 0.169566e-03_rb, 0.197959e-03_rb, 0.231107e-03_rb, 0.269805e-03_rb /) selfrefo(:,14) = (/ & & 0.597091e-04_rb, 0.722265e-04_rb, 0.873679e-04_rb, 0.105684e-03_rb, 0.127839e-03_rb, & & 0.154639e-03_rb, 0.187057e-03_rb, 0.226272e-03_rb, 0.273707e-03_rb, 0.331087e-03_rb /) selfrefo(:,15) = (/ & & 0.640410e-04_rb, 0.771879e-04_rb, 0.930338e-04_rb, 0.112133e-03_rb, 0.135152e-03_rb, & & 0.162897e-03_rb, 0.196338e-03_rb, 0.236644e-03_rb, 0.285225e-03_rb, 0.343778e-03_rb /) selfrefo(:,16) = (/ & & 0.666420e-04_rb, 0.801056e-04_rb, 0.962892e-04_rb, 0.115742e-03_rb, 0.139126e-03_rb, & & 0.167233e-03_rb, 0.201019e-03_rb, 0.241630e-03_rb, 0.290446e-03_rb, 0.349125e-03_rb /) end subroutine sw_kgb22 ! ************************************************************************** subroutine sw_kgb23 ! ************************************************************************** use parkind, only : im => kind_im, rb => kind_rb use rrsw_kg23, only : kao, selfrefo, forrefo, sfluxrefo, & raylo, givfac, layreffr implicit none save ! Kurucz solar source function sfluxrefo(:) = (/ & & 53.2101_rb , 51.4143_rb, 49.3348_rb, 45.4612_rb , & & 40.8294_rb , 35.1801_rb, 28.6947_rb, 21.5751_rb , & & 14.6388_rb , 1.59111_rb, 1.31860_rb, 1.04018_rb , & & 0.762140_rb,0.484214_rb,0.182275_rb, 2.54948e-02_rb /) ! Rayleigh extinction coefficient at all v raylo(:) = (/ & & 5.94837e-08_rb,5.70593e-08_rb,6.27845e-08_rb,5.56602e-08_rb, & & 5.25571e-08_rb,4.73388e-08_rb,4.17466e-08_rb,3.98097e-08_rb, & & 4.00786e-08_rb,3.67478e-08_rb,3.45186e-08_rb,3.46156e-08_rb, & & 3.32155e-08_rb,3.23642e-08_rb,2.72590e-08_rb,2.96813e-08_rb /) ! Average Giver et al. correction factor for this band. givfac = 1.029_rb layreffr = 6 ! ------------------------------------------------------------------ ! The array KAO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels> ~100mb, temperatures, and binary ! species parameters (see taumol.f for definition). The first ! index in the array, JS, runs from 1 to 9, and corresponds to ! different values of the binary species parameter. For instance, ! JS=1 refers to dry air, JS = 2 corresponds to the paramter value 1/8, ! JS = 3 corresponds to the parameter value 2/8, etc. The second index ! in the array, JT, which runs from 1 to 5, corresponds to different ! temperatures. More specifically, JT = 3 means that the data are for ! the reference temperature TREF for this pressure level, JT = 2 refers ! to TREF-15, JT = 1 is for TREF-30, JT = 4 is for TREF+15, and JT = 5 ! is for TREF+30. The third index, JP, runs from 1 to 13 and refers ! to the JPth reference pressure level (see taumol.f for these levels ! in mb). The fourth index, IG, goes from 1 to 16, and indicates ! which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kao(:, 1, 1) = (/ & & 0.33078e-07_rb,0.34034e-07_rb,0.35124e-07_rb,0.34187e-07_rb,0.34744e-07_rb /) kao(:, 2, 1) = (/ & & 0.25544e-07_rb,0.25873e-07_rb,0.26742e-07_rb,0.27512e-07_rb,0.27504e-07_rb /) kao(:, 3, 1) = (/ & & 0.18549e-07_rb,0.19611e-07_rb,0.20840e-07_rb,0.22548e-07_rb,0.23069e-07_rb /) kao(:, 4, 1) = (/ & & 0.28794e-07_rb,0.30837e-07_rb,0.32679e-07_rb,0.34307e-07_rb,0.36901e-07_rb /) kao(:, 5, 1) = (/ & & 0.36776e-07_rb,0.39144e-07_rb,0.41300e-07_rb,0.43264e-07_rb,0.46626e-07_rb /) kao(:, 6, 1) = (/ & & 0.59710e-07_rb,0.62941e-07_rb,0.65500e-07_rb,0.67353e-07_rb,0.68774e-07_rb /) kao(:, 7, 1) = (/ & & 0.12143e-06_rb,0.12932e-06_rb,0.13250e-06_rb,0.13526e-06_rb,0.13849e-06_rb /) kao(:, 8, 1) = (/ & & 0.12531e-06_rb,0.13241e-06_rb,0.13939e-06_rb,0.14705e-06_rb,0.15465e-06_rb /) kao(:, 9, 1) = (/ & & 0.20209e-06_rb,0.21134e-06_rb,0.22163e-06_rb,0.23098e-06_rb,0.24004e-06_rb /) kao(:,10, 1) = (/ & & 0.10750e-05_rb,0.11204e-05_rb,0.11575e-05_rb,0.11923e-05_rb,0.12227e-05_rb /) kao(:,11, 1) = (/ & & 0.27782e-05_rb,0.28204e-05_rb,0.28406e-05_rb,0.28380e-05_rb,0.28440e-05_rb /) kao(:,12, 1) = (/ & & 0.38510e-05_rb,0.39934e-05_rb,0.40697e-05_rb,0.41102e-05_rb,0.41571e-05_rb /) kao(:,13, 1) = (/ & & 0.43157e-05_rb,0.44488e-05_rb,0.45799e-05_rb,0.46585e-05_rb,0.47223e-05_rb /) kao(:, 1, 2) = (/ & & 0.84637e-06_rb,0.86989e-06_rb,0.90697e-06_rb,0.90000e-06_rb,0.91373e-06_rb /) kao(:, 2, 2) = (/ & & 0.67062e-06_rb,0.68649e-06_rb,0.72334e-06_rb,0.73645e-06_rb,0.72978e-06_rb /) kao(:, 3, 2) = (/ & & 0.52317e-06_rb,0.53924e-06_rb,0.55425e-06_rb,0.58347e-06_rb,0.57813e-06_rb /) kao(:, 4, 2) = (/ & & 0.39868e-06_rb,0.41431e-06_rb,0.42761e-06_rb,0.43892e-06_rb,0.45982e-06_rb /) kao(:, 5, 2) = (/ & & 0.32074e-06_rb,0.33452e-06_rb,0.34754e-06_rb,0.35582e-06_rb,0.37378e-06_rb /) kao(:, 6, 2) = (/ & & 0.42465e-06_rb,0.44058e-06_rb,0.45605e-06_rb,0.47192e-06_rb,0.48493e-06_rb /) kao(:, 7, 2) = (/ & & 0.47581e-06_rb,0.50000e-06_rb,0.52487e-06_rb,0.54192e-06_rb,0.55955e-06_rb /) kao(:, 8, 2) = (/ & & 0.10592e-05_rb,0.11093e-05_rb,0.11483e-05_rb,0.11923e-05_rb,0.12169e-05_rb /) kao(:, 9, 2) = (/ & & 0.50835e-05_rb,0.51710e-05_rb,0.52329e-05_rb,0.52644e-05_rb,0.52818e-05_rb /) kao(:,10, 2) = (/ & & 0.77867e-05_rb,0.82156e-05_rb,0.86002e-05_rb,0.89664e-05_rb,0.92394e-05_rb /) kao(:,11, 2) = (/ & & 0.89031e-05_rb,0.93573e-05_rb,0.97686e-05_rb,0.10236e-04_rb,0.10591e-04_rb /) kao(:,12, 2) = (/ & & 0.98068e-05_rb,0.10238e-04_rb,0.10700e-04_rb,0.11108e-04_rb,0.11471e-04_rb /) kao(:,13, 2) = (/ & & 0.11145e-04_rb,0.11697e-04_rb,0.12123e-04_rb,0.12482e-04_rb,0.12856e-04_rb /) kao(:, 1, 3) = (/ & & 0.66049e-05_rb,0.67547e-05_rb,0.70104e-05_rb,0.69745e-05_rb,0.70687e-05_rb /) kao(:, 2, 3) = (/ & & 0.54104e-05_rb,0.55245e-05_rb,0.57623e-05_rb,0.58532e-05_rb,0.58099e-05_rb /) kao(:, 3, 3) = (/ & & 0.43608e-05_rb,0.44784e-05_rb,0.45778e-05_rb,0.47665e-05_rb,0.47295e-05_rb /) kao(:, 4, 3) = (/ & & 0.35399e-05_rb,0.36454e-05_rb,0.37356e-05_rb,0.38107e-05_rb,0.39586e-05_rb /) kao(:, 5, 3) = (/ & & 0.28576e-05_rb,0.29552e-05_rb,0.30325e-05_rb,0.31028e-05_rb,0.32276e-05_rb /) kao(:, 6, 3) = (/ & & 0.21017e-05_rb,0.21836e-05_rb,0.22554e-05_rb,0.23121e-05_rb,0.23486e-05_rb /) kao(:, 7, 3) = (/ & & 0.19384e-05_rb,0.19914e-05_rb,0.20428e-05_rb,0.20879e-05_rb,0.21191e-05_rb /) kao(:, 8, 3) = (/ & & 0.32672e-05_rb,0.33753e-05_rb,0.34694e-05_rb,0.35273e-05_rb,0.35984e-05_rb /) kao(:, 9, 3) = (/ & & 0.82257e-05_rb,0.84975e-05_rb,0.86969e-05_rb,0.88995e-05_rb,0.90123e-05_rb /) kao(:,10, 3) = (/ & & 0.35363e-04_rb,0.36204e-04_rb,0.36916e-04_rb,0.37708e-04_rb,0.38294e-04_rb /) kao(:,11, 3) = (/ & & 0.48837e-04_rb,0.50952e-04_rb,0.52710e-04_rb,0.54347e-04_rb,0.55976e-04_rb /) kao(:,12, 3) = (/ & & 0.56059e-04_rb,0.58301e-04_rb,0.60100e-04_rb,0.61776e-04_rb,0.63179e-04_rb /) kao(:,13, 3) = (/ & & 0.57871e-04_rb,0.59505e-04_rb,0.60930e-04_rb,0.62289e-04_rb,0.63278e-04_rb /) kao(:, 1, 4) = (/ & & 0.27624e-04_rb,0.28017e-04_rb,0.29078e-04_rb,0.28567e-04_rb,0.28724e-04_rb /) kao(:, 2, 4) = (/ & & 0.23107e-04_rb,0.23464e-04_rb,0.24357e-04_rb,0.24519e-04_rb,0.24024e-04_rb /) kao(:, 3, 4) = (/ & & 0.19113e-04_rb,0.19400e-04_rb,0.19615e-04_rb,0.20420e-04_rb,0.19962e-04_rb /) kao(:, 4, 4) = (/ & & 0.15873e-04_rb,0.16138e-04_rb,0.16349e-04_rb,0.16528e-04_rb,0.17176e-04_rb /) kao(:, 5, 4) = (/ & & 0.13198e-04_rb,0.13437e-04_rb,0.13641e-04_rb,0.13810e-04_rb,0.14393e-04_rb /) kao(:, 6, 4) = (/ & & 0.10951e-04_rb,0.11172e-04_rb,0.11352e-04_rb,0.11506e-04_rb,0.11631e-04_rb /) kao(:, 7, 4) = (/ & & 0.86121e-05_rb,0.88300e-05_rb,0.90149e-05_rb,0.91565e-05_rb,0.92594e-05_rb /) kao(:, 8, 4) = (/ & & 0.71478e-05_rb,0.72918e-05_rb,0.74035e-05_rb,0.74959e-05_rb,0.75566e-05_rb /) kao(:, 9, 4) = (/ & & 0.16458e-04_rb,0.17092e-04_rb,0.17686e-04_rb,0.17967e-04_rb,0.18273e-04_rb /) kao(:,10, 4) = (/ & & 0.47953e-04_rb,0.49663e-04_rb,0.51524e-04_rb,0.52800e-04_rb,0.54192e-04_rb /) kao(:,11, 4) = (/ & & 0.94263e-04_rb,0.95557e-04_rb,0.96513e-04_rb,0.97430e-04_rb,0.97733e-04_rb /) kao(:,12, 4) = (/ & & 0.12087e-03_rb,0.12152e-03_rb,0.12240e-03_rb,0.12318e-03_rb,0.12403e-03_rb /) kao(:,13, 4) = (/ & & 0.12781e-03_rb,0.12897e-03_rb,0.13049e-03_rb,0.13171e-03_rb,0.13337e-03_rb /) kao(:, 1, 5) = (/ & & 0.82859e-04_rb,0.84817e-04_rb,0.89056e-04_rb,0.88057e-04_rb,0.89410e-04_rb /) kao(:, 2, 5) = (/ & & 0.70937e-04_rb,0.72685e-04_rb,0.76796e-04_rb,0.77955e-04_rb,0.76735e-04_rb /) kao(:, 3, 5) = (/ & & 0.59876e-04_rb,0.61448e-04_rb,0.62837e-04_rb,0.66293e-04_rb,0.64996e-04_rb /) kao(:, 4, 5) = (/ & & 0.50598e-04_rb,0.52054e-04_rb,0.53293e-04_rb,0.54332e-04_rb,0.57333e-04_rb /) kao(:, 5, 5) = (/ & & 0.42742e-04_rb,0.44035e-04_rb,0.45164e-04_rb,0.46134e-04_rb,0.48935e-04_rb /) kao(:, 6, 5) = (/ & & 0.35769e-04_rb,0.36975e-04_rb,0.38038e-04_rb,0.38917e-04_rb,0.39681e-04_rb /) kao(:, 7, 5) = (/ & & 0.29747e-04_rb,0.30824e-04_rb,0.31756e-04_rb,0.32589e-04_rb,0.33314e-04_rb /) kao(:, 8, 5) = (/ & & 0.21994e-04_rb,0.22945e-04_rb,0.23786e-04_rb,0.24517e-04_rb,0.25155e-04_rb /) kao(:, 9, 5) = (/ & & 0.22298e-04_rb,0.22688e-04_rb,0.23127e-04_rb,0.23803e-04_rb,0.24335e-04_rb /) kao(:,10, 5) = (/ & & 0.88898e-04_rb,0.91280e-04_rb,0.93333e-04_rb,0.95224e-04_rb,0.96298e-04_rb /) kao(:,11, 5) = (/ & & 0.12299e-03_rb,0.12407e-03_rb,0.12536e-03_rb,0.12642e-03_rb,0.12813e-03_rb /) kao(:,12, 5) = (/ & & 0.14539e-03_rb,0.14851e-03_rb,0.15022e-03_rb,0.15157e-03_rb,0.15204e-03_rb /) kao(:,13, 5) = (/ & & 0.15949e-03_rb,0.16239e-03_rb,0.16467e-03_rb,0.16667e-03_rb,0.16801e-03_rb /) kao(:, 1, 6) = (/ & & 0.25339e-03_rb,0.25995e-03_rb,0.27170e-03_rb,0.26963e-03_rb,0.27413e-03_rb /) kao(:, 2, 6) = (/ & & 0.21908e-03_rb,0.22404e-03_rb,0.23522e-03_rb,0.23902e-03_rb,0.23717e-03_rb /) kao(:, 3, 6) = (/ & & 0.18611e-03_rb,0.19076e-03_rb,0.19518e-03_rb,0.20503e-03_rb,0.20222e-03_rb /) kao(:, 4, 6) = (/ & & 0.15769e-03_rb,0.16210e-03_rb,0.16597e-03_rb,0.16948e-03_rb,0.17817e-03_rb /) kao(:, 5, 6) = (/ & & 0.13402e-03_rb,0.13792e-03_rb,0.14153e-03_rb,0.14434e-03_rb,0.15267e-03_rb /) kao(:, 6, 6) = (/ & & 0.11390e-03_rb,0.11743e-03_rb,0.12065e-03_rb,0.12316e-03_rb,0.12543e-03_rb /) kao(:, 7, 6) = (/ & & 0.96417e-04_rb,0.99612e-04_rb,0.10233e-03_rb,0.10453e-03_rb,0.10652e-03_rb /) kao(:, 8, 6) = (/ & & 0.81395e-04_rb,0.84205e-04_rb,0.86346e-04_rb,0.88406e-04_rb,0.90122e-04_rb /) kao(:, 9, 6) = (/ & & 0.47776e-04_rb,0.48971e-04_rb,0.49736e-04_rb,0.49917e-04_rb,0.50289e-04_rb /) kao(:,10, 6) = (/ & & 0.10698e-03_rb,0.10815e-03_rb,0.10817e-03_rb,0.10799e-03_rb,0.10851e-03_rb /) kao(:,11, 6) = (/ & & 0.20220e-03_rb,0.20727e-03_rb,0.21241e-03_rb,0.21675e-03_rb,0.21989e-03_rb /) kao(:,12, 6) = (/ & & 0.23474e-03_rb,0.23601e-03_rb,0.23974e-03_rb,0.24383e-03_rb,0.24876e-03_rb /) kao(:,13, 6) = (/ & & 0.23410e-03_rb,0.23809e-03_rb,0.24185e-03_rb,0.24554e-03_rb,0.24952e-03_rb /) kao(:, 1, 7) = (/ & & 0.67024e-03_rb,0.68026e-03_rb,0.70419e-03_rb,0.70159e-03_rb,0.71089e-03_rb /) kao(:, 2, 7) = (/ & & 0.58729e-03_rb,0.59778e-03_rb,0.62097e-03_rb,0.62912e-03_rb,0.62423e-03_rb /) kao(:, 3, 7) = (/ & & 0.50967e-03_rb,0.51900e-03_rb,0.52765e-03_rb,0.54794e-03_rb,0.54266e-03_rb /) kao(:, 4, 7) = (/ & & 0.44167e-03_rb,0.45006e-03_rb,0.45793e-03_rb,0.46469e-03_rb,0.48335e-03_rb /) kao(:, 5, 7) = (/ & & 0.38096e-03_rb,0.38881e-03_rb,0.39576e-03_rb,0.40259e-03_rb,0.42086e-03_rb /) kao(:, 6, 7) = (/ & & 0.32818e-03_rb,0.33539e-03_rb,0.34192e-03_rb,0.34829e-03_rb,0.35405e-03_rb /) kao(:, 7, 7) = (/ & & 0.28259e-03_rb,0.28946e-03_rb,0.29584e-03_rb,0.30203e-03_rb,0.30742e-03_rb /) kao(:, 8, 7) = (/ & & 0.24273e-03_rb,0.24912e-03_rb,0.25546e-03_rb,0.26110e-03_rb,0.26607e-03_rb /) kao(:, 9, 7) = (/ & & 0.19937e-03_rb,0.20653e-03_rb,0.21314e-03_rb,0.21968e-03_rb,0.22520e-03_rb /) kao(:,10, 7) = (/ & & 0.13306e-03_rb,0.13331e-03_rb,0.13393e-03_rb,0.13538e-03_rb,0.13616e-03_rb /) kao(:,11, 7) = (/ & & 0.16236e-03_rb,0.16154e-03_rb,0.16187e-03_rb,0.16113e-03_rb,0.16209e-03_rb /) kao(:,12, 7) = (/ & & 0.17872e-03_rb,0.18355e-03_rb,0.18612e-03_rb,0.18792e-03_rb,0.18745e-03_rb /) kao(:,13, 7) = (/ & & 0.18970e-03_rb,0.19384e-03_rb,0.19773e-03_rb,0.20261e-03_rb,0.20377e-03_rb /) kao(:, 1, 8) = (/ & & 0.18130e-02_rb,0.18305e-02_rb,0.18716e-02_rb,0.18655e-02_rb,0.18814e-02_rb /) kao(:, 2, 8) = (/ & & 0.16420e-02_rb,0.16600e-02_rb,0.17006e-02_rb,0.17156e-02_rb,0.17108e-02_rb /) kao(:, 3, 8) = (/ & & 0.14687e-02_rb,0.14870e-02_rb,0.15042e-02_rb,0.15423e-02_rb,0.15376e-02_rb /) kao(:, 4, 8) = (/ & & 0.13068e-02_rb,0.13248e-02_rb,0.13421e-02_rb,0.13592e-02_rb,0.13960e-02_rb /) kao(:, 5, 8) = (/ & & 0.11574e-02_rb,0.11753e-02_rb,0.11928e-02_rb,0.12097e-02_rb,0.12467e-02_rb /) kao(:, 6, 8) = (/ & & 0.10167e-02_rb,0.10342e-02_rb,0.10515e-02_rb,0.10681e-02_rb,0.10840e-02_rb /) kao(:, 7, 8) = (/ & & 0.88992e-03_rb,0.90662e-03_rb,0.92299e-03_rb,0.93844e-03_rb,0.95347e-03_rb /) kao(:, 8, 8) = (/ & & 0.78445e-03_rb,0.80031e-03_rb,0.81639e-03_rb,0.83131e-03_rb,0.84631e-03_rb /) kao(:, 9, 8) = (/ & & 0.69812e-03_rb,0.71312e-03_rb,0.72801e-03_rb,0.74222e-03_rb,0.75605e-03_rb /) kao(:,10, 8) = (/ & & 0.32521e-03_rb,0.33835e-03_rb,0.35194e-03_rb,0.36381e-03_rb,0.37594e-03_rb /) kao(:,11, 8) = (/ & & 0.31406e-03_rb,0.32013e-03_rb,0.32456e-03_rb,0.33261e-03_rb,0.33741e-03_rb /) kao(:,12, 8) = (/ & & 0.28132e-03_rb,0.28732e-03_rb,0.29674e-03_rb,0.30509e-03_rb,0.31393e-03_rb /) kao(:,13, 8) = (/ & & 0.25704e-03_rb,0.26316e-03_rb,0.27195e-03_rb,0.27732e-03_rb,0.28905e-03_rb /) kao(:, 1, 9) = (/ & & 0.67370e-02_rb,0.67873e-02_rb,0.68896e-02_rb,0.68819e-02_rb,0.69268e-02_rb /) kao(:, 2, 9) = (/ & & 0.63111e-02_rb,0.63622e-02_rb,0.64623e-02_rb,0.65060e-02_rb,0.65027e-02_rb /) kao(:, 3, 9) = (/ & & 0.58834e-02_rb,0.59361e-02_rb,0.59858e-02_rb,0.60811e-02_rb,0.60806e-02_rb /) kao(:, 4, 9) = (/ & & 0.54753e-02_rb,0.55309e-02_rb,0.55823e-02_rb,0.56306e-02_rb,0.57229e-02_rb /) kao(:, 5, 9) = (/ & & 0.50781e-02_rb,0.51373e-02_rb,0.51895e-02_rb,0.52391e-02_rb,0.53328e-02_rb /) kao(:, 6, 9) = (/ & & 0.46791e-02_rb,0.47408e-02_rb,0.47949e-02_rb,0.48470e-02_rb,0.48993e-02_rb /) kao(:, 7, 9) = (/ & & 0.42724e-02_rb,0.43381e-02_rb,0.43951e-02_rb,0.44503e-02_rb,0.45061e-02_rb /) kao(:, 8, 9) = (/ & & 0.38568e-02_rb,0.39254e-02_rb,0.39848e-02_rb,0.40431e-02_rb,0.41005e-02_rb /) kao(:, 9, 9) = (/ & & 0.35657e-02_rb,0.36362e-02_rb,0.36994e-02_rb,0.37608e-02_rb,0.38215e-02_rb /) kao(:,10, 9) = (/ & & 0.33774e-02_rb,0.34501e-02_rb,0.35171e-02_rb,0.35811e-02_rb,0.36450e-02_rb /) kao(:,11, 9) = (/ & & 0.23923e-02_rb,0.24623e-02_rb,0.25263e-02_rb,0.25890e-02_rb,0.26517e-02_rb /) kao(:,12, 9) = (/ & & 0.16959e-02_rb,0.17542e-02_rb,0.18077e-02_rb,0.18614e-02_rb,0.19187e-02_rb /) kao(:,13, 9) = (/ & & 0.11732e-02_rb,0.12232e-02_rb,0.12712e-02_rb,0.13221e-02_rb,0.13677e-02_rb /) kao(:, 1,10) = (/ & & 0.19604e-01_rb,0.19698e-01_rb,0.19938e-01_rb,0.19854e-01_rb,0.19950e-01_rb /) kao(:, 2,10) = (/ & & 0.18714e-01_rb,0.18803e-01_rb,0.19035e-01_rb,0.19131e-01_rb,0.19102e-01_rb /) kao(:, 3,10) = (/ & & 0.17676e-01_rb,0.17785e-01_rb,0.17904e-01_rb,0.18189e-01_rb,0.18156e-01_rb /) kao(:, 4,10) = (/ & & 0.16662e-01_rb,0.16773e-01_rb,0.16908e-01_rb,0.17056e-01_rb,0.17303e-01_rb /) kao(:, 5,10) = (/ & & 0.15655e-01_rb,0.15775e-01_rb,0.15942e-01_rb,0.16103e-01_rb,0.16359e-01_rb /) kao(:, 6,10) = (/ & & 0.14694e-01_rb,0.14838e-01_rb,0.15029e-01_rb,0.15200e-01_rb,0.15320e-01_rb /) kao(:, 7,10) = (/ & & 0.13797e-01_rb,0.13959e-01_rb,0.14174e-01_rb,0.14350e-01_rb,0.14471e-01_rb /) kao(:, 8,10) = (/ & & 0.12902e-01_rb,0.13089e-01_rb,0.13313e-01_rb,0.13489e-01_rb,0.13626e-01_rb /) kao(:, 9,10) = (/ & & 0.11897e-01_rb,0.12105e-01_rb,0.12333e-01_rb,0.12512e-01_rb,0.12656e-01_rb /) kao(:,10,10) = (/ & & 0.11834e-01_rb,0.12072e-01_rb,0.12331e-01_rb,0.12548e-01_rb,0.12721e-01_rb /) kao(:,11,10) = (/ & & 0.11416e-01_rb,0.11699e-01_rb,0.11968e-01_rb,0.12141e-01_rb,0.12311e-01_rb /) kao(:,12,10) = (/ & & 0.10776e-01_rb,0.11070e-01_rb,0.11309e-01_rb,0.11507e-01_rb,0.11702e-01_rb /) kao(:,13,10) = (/ & & 0.99577e-02_rb,0.10263e-01_rb,0.10492e-01_rb,0.10719e-01_rb,0.10951e-01_rb /) kao(:, 1,11) = (/ & & 0.29783e-01_rb,0.29883e-01_rb,0.30210e-01_rb,0.30141e-01_rb,0.30248e-01_rb /) kao(:, 2,11) = (/ & & 0.28562e-01_rb,0.28743e-01_rb,0.29186e-01_rb,0.29339e-01_rb,0.29258e-01_rb /) kao(:, 3,11) = (/ & & 0.27212e-01_rb,0.27429e-01_rb,0.27654e-01_rb,0.28083e-01_rb,0.28023e-01_rb /) kao(:, 4,11) = (/ & & 0.25949e-01_rb,0.26197e-01_rb,0.26424e-01_rb,0.26623e-01_rb,0.27069e-01_rb /) kao(:, 5,11) = (/ & & 0.24686e-01_rb,0.24942e-01_rb,0.25176e-01_rb,0.25403e-01_rb,0.25908e-01_rb /) kao(:, 6,11) = (/ & & 0.23430e-01_rb,0.23686e-01_rb,0.23923e-01_rb,0.24158e-01_rb,0.24433e-01_rb /) kao(:, 7,11) = (/ & & 0.22171e-01_rb,0.22424e-01_rb,0.22653e-01_rb,0.22909e-01_rb,0.23203e-01_rb /) kao(:, 8,11) = (/ & & 0.20928e-01_rb,0.21171e-01_rb,0.21407e-01_rb,0.21699e-01_rb,0.22018e-01_rb /) kao(:, 9,11) = (/ & & 0.19076e-01_rb,0.19320e-01_rb,0.19548e-01_rb,0.19858e-01_rb,0.20150e-01_rb /) kao(:,10,11) = (/ & & 0.19537e-01_rb,0.19788e-01_rb,0.20064e-01_rb,0.20391e-01_rb,0.20843e-01_rb /) kao(:,11,11) = (/ & & 0.19137e-01_rb,0.19444e-01_rb,0.19793e-01_rb,0.20268e-01_rb,0.20695e-01_rb /) kao(:,12,11) = (/ & & 0.18393e-01_rb,0.18715e-01_rb,0.19143e-01_rb,0.19652e-01_rb,0.20037e-01_rb /) kao(:,13,11) = (/ & & 0.17255e-01_rb,0.17680e-01_rb,0.18170e-01_rb,0.18641e-01_rb,0.19010e-01_rb /) kao(:, 1,12) = (/ & & 0.46641e-01_rb,0.46796e-01_rb,0.47107e-01_rb,0.46977e-01_rb,0.47093e-01_rb /) kao(:, 2,12) = (/ & & 0.46819e-01_rb,0.46956e-01_rb,0.47337e-01_rb,0.47426e-01_rb,0.47339e-01_rb /) kao(:, 3,12) = (/ & & 0.46276e-01_rb,0.46366e-01_rb,0.46462e-01_rb,0.46935e-01_rb,0.46862e-01_rb /) kao(:, 4,12) = (/ & & 0.44986e-01_rb,0.45103e-01_rb,0.45287e-01_rb,0.45535e-01_rb,0.46152e-01_rb /) kao(:, 5,12) = (/ & & 0.43367e-01_rb,0.43552e-01_rb,0.43761e-01_rb,0.44035e-01_rb,0.44674e-01_rb /) kao(:, 6,12) = (/ & & 0.41584e-01_rb,0.41793e-01_rb,0.42020e-01_rb,0.42344e-01_rb,0.42701e-01_rb /) kao(:, 7,12) = (/ & & 0.39785e-01_rb,0.40007e-01_rb,0.40269e-01_rb,0.40635e-01_rb,0.41003e-01_rb /) kao(:, 8,12) = (/ & & 0.37918e-01_rb,0.38155e-01_rb,0.38468e-01_rb,0.38839e-01_rb,0.39210e-01_rb /) kao(:, 9,12) = (/ & & 0.35060e-01_rb,0.35328e-01_rb,0.35698e-01_rb,0.36105e-01_rb,0.36551e-01_rb /) kao(:,10,12) = (/ & & 0.35216e-01_rb,0.35547e-01_rb,0.35872e-01_rb,0.36327e-01_rb,0.36542e-01_rb /) kao(:,11,12) = (/ & & 0.35158e-01_rb,0.35374e-01_rb,0.35869e-01_rb,0.36242e-01_rb,0.36691e-01_rb /) kao(:,12,12) = (/ & & 0.34264e-01_rb,0.34598e-01_rb,0.35106e-01_rb,0.35505e-01_rb,0.36021e-01_rb /) kao(:,13,12) = (/ & & 0.32716e-01_rb,0.33195e-01_rb,0.33830e-01_rb,0.34228e-01_rb,0.34925e-01_rb /) kao(:, 1,13) = (/ & & 0.76084e-01_rb,0.76052e-01_rb,0.76051e-01_rb,0.75851e-01_rb,0.75753e-01_rb /) kao(:, 2,13) = (/ & & 0.79580e-01_rb,0.79564e-01_rb,0.79664e-01_rb,0.79619e-01_rb,0.79414e-01_rb /) kao(:, 3,13) = (/ & & 0.82218e-01_rb,0.82302e-01_rb,0.82367e-01_rb,0.82543e-01_rb,0.82246e-01_rb /) kao(:, 4,13) = (/ & & 0.83613e-01_rb,0.83740e-01_rb,0.83824e-01_rb,0.83866e-01_rb,0.84103e-01_rb /) kao(:, 5,13) = (/ & & 0.83913e-01_rb,0.84123e-01_rb,0.84289e-01_rb,0.84403e-01_rb,0.84840e-01_rb /) kao(:, 6,13) = (/ & & 0.83159e-01_rb,0.83442e-01_rb,0.83718e-01_rb,0.83891e-01_rb,0.83993e-01_rb /) kao(:, 7,13) = (/ & & 0.81401e-01_rb,0.81826e-01_rb,0.82202e-01_rb,0.82451e-01_rb,0.82656e-01_rb /) kao(:, 8,13) = (/ & & 0.78949e-01_rb,0.79505e-01_rb,0.79978e-01_rb,0.80351e-01_rb,0.80690e-01_rb /) kao(:, 9,13) = (/ & & 0.76002e-01_rb,0.76671e-01_rb,0.77279e-01_rb,0.77752e-01_rb,0.78257e-01_rb /) kao(:,10,13) = (/ & & 0.69777e-01_rb,0.70425e-01_rb,0.71054e-01_rb,0.71706e-01_rb,0.72167e-01_rb /) kao(:,11,13) = (/ & & 0.72929e-01_rb,0.73732e-01_rb,0.74323e-01_rb,0.75246e-01_rb,0.75786e-01_rb /) kao(:,12,13) = (/ & & 0.73007e-01_rb,0.74429e-01_rb,0.74922e-01_rb,0.75916e-01_rb,0.76947e-01_rb /) kao(:,13,13) = (/ & & 0.71376e-01_rb,0.72507e-01_rb,0.73710e-01_rb,0.74716e-01_rb,0.75702e-01_rb /) kao(:, 1,14) = (/ & & 0.12585e+00_rb,0.12569e+00_rb,0.12576e+00_rb,0.12571e+00_rb,0.12570e+00_rb /) kao(:, 2,14) = (/ & & 0.13868e+00_rb,0.13853e+00_rb,0.13849e+00_rb,0.13824e+00_rb,0.13803e+00_rb /) kao(:, 3,14) = (/ & & 0.15142e+00_rb,0.15135e+00_rb,0.15112e+00_rb,0.15093e+00_rb,0.15074e+00_rb /) kao(:, 4,14) = (/ & & 0.16359e+00_rb,0.16359e+00_rb,0.16339e+00_rb,0.16311e+00_rb,0.16285e+00_rb /) kao(:, 5,14) = (/ & & 0.17462e+00_rb,0.17472e+00_rb,0.17456e+00_rb,0.17421e+00_rb,0.17393e+00_rb /) kao(:, 6,14) = (/ & & 0.18403e+00_rb,0.18447e+00_rb,0.18450e+00_rb,0.18424e+00_rb,0.18395e+00_rb /) kao(:, 7,14) = (/ & & 0.19179e+00_rb,0.19239e+00_rb,0.19256e+00_rb,0.19253e+00_rb,0.19252e+00_rb /) kao(:, 8,14) = (/ & & 0.19772e+00_rb,0.19863e+00_rb,0.19901e+00_rb,0.19923e+00_rb,0.19947e+00_rb /) kao(:, 9,14) = (/ & & 0.20154e+00_rb,0.20279e+00_rb,0.20355e+00_rb,0.20417e+00_rb,0.20473e+00_rb /) kao(:,10,14) = (/ & & 0.18853e+00_rb,0.19028e+00_rb,0.19160e+00_rb,0.19253e+00_rb,0.19393e+00_rb /) kao(:,11,14) = (/ & & 0.18013e+00_rb,0.18167e+00_rb,0.18320e+00_rb,0.18375e+00_rb,0.18507e+00_rb /) kao(:,12,14) = (/ & & 0.19011e+00_rb,0.19027e+00_rb,0.19283e+00_rb,0.19402e+00_rb,0.19478e+00_rb /) kao(:,13,14) = (/ & & 0.19594e+00_rb,0.19738e+00_rb,0.19911e+00_rb,0.20124e+00_rb,0.20282e+00_rb /) kao(:, 1,15) = (/ & & 0.22369e+00_rb,0.22259e+00_rb,0.22155e+00_rb,0.22059e+00_rb,0.21997e+00_rb /) kao(:, 2,15) = (/ & & 0.25602e+00_rb,0.25478e+00_rb,0.25377e+00_rb,0.25306e+00_rb,0.25237e+00_rb /) kao(:, 3,15) = (/ & & 0.29258e+00_rb,0.29107e+00_rb,0.28998e+00_rb,0.28920e+00_rb,0.28830e+00_rb /) kao(:, 4,15) = (/ & & 0.33067e+00_rb,0.32888e+00_rb,0.32753e+00_rb,0.32646e+00_rb,0.32566e+00_rb /) kao(:, 5,15) = (/ & & 0.37114e+00_rb,0.36880e+00_rb,0.36713e+00_rb,0.36598e+00_rb,0.36499e+00_rb /) kao(:, 6,15) = (/ & & 0.41494e+00_rb,0.41167e+00_rb,0.40935e+00_rb,0.40779e+00_rb,0.40636e+00_rb /) kao(:, 7,15) = (/ & & 0.46115e+00_rb,0.45729e+00_rb,0.45455e+00_rb,0.45230e+00_rb,0.45004e+00_rb /) kao(:, 8,15) = (/ & & 0.50906e+00_rb,0.50463e+00_rb,0.50137e+00_rb,0.49843e+00_rb,0.49550e+00_rb /) kao(:, 9,15) = (/ & & 0.55829e+00_rb,0.55330e+00_rb,0.54936e+00_rb,0.54557e+00_rb,0.54168e+00_rb /) kao(:,10,15) = (/ & & 0.60814e+00_rb,0.60274e+00_rb,0.59806e+00_rb,0.59326e+00_rb,0.58833e+00_rb /) kao(:,11,15) = (/ & & 0.62954e+00_rb,0.62588e+00_rb,0.62076e+00_rb,0.61665e+00_rb,0.61184e+00_rb /) kao(:,12,15) = (/ & & 0.62585e+00_rb,0.62437e+00_rb,0.61807e+00_rb,0.61303e+00_rb,0.60869e+00_rb /) kao(:,13,15) = (/ & & 0.64856e+00_rb,0.64505e+00_rb,0.63861e+00_rb,0.63277e+00_rb,0.62702e+00_rb /) kao(:, 1,16) = (/ & & 0.33327e+00_rb,0.33385e+00_rb,0.33538e+00_rb,0.33638e+00_rb,0.33736e+00_rb /) kao(:, 2,16) = (/ & & 0.40916e+00_rb,0.40842e+00_rb,0.40848e+00_rb,0.40865e+00_rb,0.40854e+00_rb /) kao(:, 3,16) = (/ & & 0.50099e+00_rb,0.49888e+00_rb,0.49727e+00_rb,0.49588e+00_rb,0.49422e+00_rb /) kao(:, 4,16) = (/ & & 0.60389e+00_rb,0.60029e+00_rb,0.59704e+00_rb,0.59367e+00_rb,0.59071e+00_rb /) kao(:, 5,16) = (/ & & 0.71868e+00_rb,0.71337e+00_rb,0.70835e+00_rb,0.70318e+00_rb,0.69852e+00_rb /) kao(:, 6,16) = (/ & & 0.84815e+00_rb,0.84138e+00_rb,0.83446e+00_rb,0.82728e+00_rb,0.82023e+00_rb /) kao(:, 7,16) = (/ & & 0.99512e+00_rb,0.98644e+00_rb,0.97698e+00_rb,0.96695e+00_rb,0.95712e+00_rb /) kao(:, 8,16) = (/ & & 0.11606e+01_rb,0.11485e+01_rb,0.11354e+01_rb,0.11218e+01_rb,0.11077e+01_rb /) kao(:, 9,16) = (/ & & 0.13444e+01_rb,0.13282e+01_rb,0.13102e+01_rb,0.12917e+01_rb,0.12735e+01_rb /) kao(:,10,16) = (/ & & 0.15423e+01_rb,0.15207e+01_rb,0.14970e+01_rb,0.14733e+01_rb,0.14494e+01_rb /) kao(:,11,16) = (/ & & 0.17462e+01_rb,0.17138e+01_rb,0.16827e+01_rb,0.16518e+01_rb,0.16199e+01_rb /) kao(:,12,16) = (/ & & 0.19577e+01_rb,0.19145e+01_rb,0.18728e+01_rb,0.18320e+01_rb,0.17910e+01_rb /) kao(:,13,16) = (/ & & 0.21716e+01_rb,0.21171e+01_rb,0.20639e+01_rb,0.20113e+01_rb,0.19587e+01_rb /) ! ----------------------------------------------------------------- forrefo(:, 1) = (/ 0.315770e-07_rb, 0.671978e-07_rb, 0.440649e-06_rb /) forrefo(:, 2) = (/ 0.313674e-06_rb, 0.285252e-06_rb, 0.421024e-05_rb /) forrefo(:, 3) = (/ 0.135818e-05_rb, 0.145071e-05_rb, 0.611285e-05_rb /) forrefo(:, 4) = (/ 0.534065e-05_rb, 0.586268e-05_rb, 0.933970e-05_rb /) forrefo(:, 5) = (/ 0.964007e-05_rb, 0.107110e-04_rb, 0.104486e-04_rb /) forrefo(:, 6) = (/ 0.302775e-04_rb, 0.357530e-04_rb, 0.340724e-04_rb /) forrefo(:, 7) = (/ 0.102437e-03_rb, 0.108475e-03_rb, 0.105245e-03_rb /) forrefo(:, 8) = (/ 0.146054e-03_rb, 0.141490e-03_rb, 0.133071e-03_rb /) forrefo(:, 9) = (/ 0.163978e-03_rb, 0.150208e-03_rb, 0.142864e-03_rb /) forrefo(:,10) = (/ 0.220412e-03_rb, 0.182943e-03_rb, 0.150941e-03_rb /) forrefo(:,11) = (/ 0.228877e-03_rb, 0.197679e-03_rb, 0.163220e-03_rb /) forrefo(:,12) = (/ 0.234177e-03_rb, 0.217734e-03_rb, 0.185038e-03_rb /) forrefo(:,13) = (/ 0.257187e-03_rb, 0.241570e-03_rb, 0.221178e-03_rb /) forrefo(:,14) = (/ 0.272455e-03_rb, 0.270637e-03_rb, 0.256269e-03_rb /) forrefo(:,15) = (/ 0.339445e-03_rb, 0.300268e-03_rb, 0.286574e-03_rb /) forrefo(:,16) = (/ 0.338841e-03_rb, 0.355428e-03_rb, 0.353794e-03_rb /) ! ----------------------------------------------------------------- ! The array SELFREFO contains the coefficient of the water vapor ! self-continuum (including the energy term). The first index ! refers to temperature in 7.2 degree increments. For instance, ! JT = 1 refers to a temperature of 245.6, JT = 2 refers to 252.8, ! etc. The second index runs over the g-channel (1 to 16). selfrefo(:, 1) = (/ & & 0.100945e-04_rb, 0.801113e-05_rb, 0.635771e-05_rb, 0.504554e-05_rb, 0.400419e-05_rb, & & 0.317777e-05_rb, 0.252191e-05_rb, 0.200141e-05_rb, 0.158834e-05_rb, 0.126052e-05_rb /) selfrefo(:, 2) = (/ & & 0.107573e-04_rb, 0.999809e-05_rb, 0.929245e-05_rb, 0.863661e-05_rb, 0.802706e-05_rb, & & 0.746053e-05_rb, 0.693399e-05_rb, 0.644460e-05_rb, 0.598976e-05_rb, 0.556702e-05_rb /) selfrefo(:, 3) = (/ & & 0.350389e-04_rb, 0.319234e-04_rb, 0.290850e-04_rb, 0.264989e-04_rb, 0.241428e-04_rb, & & 0.219962e-04_rb, 0.200404e-04_rb, 0.182586e-04_rb, 0.166351e-04_rb, 0.151560e-04_rb /) selfrefo(:, 4) = (/ & & 0.122993e-03_rb, 0.110885e-03_rb, 0.999691e-04_rb, 0.901277e-04_rb, 0.812551e-04_rb, & & 0.732559e-04_rb, 0.660443e-04_rb, 0.595426e-04_rb, 0.536809e-04_rb, 0.483963e-04_rb /) selfrefo(:, 5) = (/ & & 0.206434e-03_rb, 0.187435e-03_rb, 0.170185e-03_rb, 0.154522e-03_rb, 0.140301e-03_rb, & & 0.127388e-03_rb, 0.115664e-03_rb, 0.105019e-03_rb, 0.953540e-04_rb, 0.865783e-04_rb /) selfrefo(:, 6) = (/ & & 0.590645e-03_rb, 0.533109e-03_rb, 0.481177e-03_rb, 0.434305e-03_rb, 0.391998e-03_rb, & & 0.353812e-03_rb, 0.319346e-03_rb, 0.288238e-03_rb, 0.260160e-03_rb, 0.234817e-03_rb /) selfrefo(:, 7) = (/ & & 0.163029e-02_rb, 0.148773e-02_rb, 0.135763e-02_rb, 0.123891e-02_rb, 0.113057e-02_rb, & & 0.103170e-02_rb, 0.941483e-03_rb, 0.859153e-03_rb, 0.784023e-03_rb, 0.715462e-03_rb /) selfrefo(:, 8) = (/ & & 0.204528e-02_rb, 0.189258e-02_rb, 0.175128e-02_rb, 0.162053e-02_rb, 0.149954e-02_rb, & & 0.138758e-02_rb, 0.128398e-02_rb, 0.118812e-02_rb, 0.109941e-02_rb, 0.101733e-02_rb /) selfrefo(:, 9) = (/ & & 0.210589e-02_rb, 0.197078e-02_rb, 0.184434e-02_rb, 0.172601e-02_rb, 0.161528e-02_rb, & & 0.151164e-02_rb, 0.141466e-02_rb, 0.132390e-02_rb, 0.123896e-02_rb, 0.115947e-02_rb /) selfrefo(:,10) = (/ & & 0.245098e-02_rb, 0.233745e-02_rb, 0.222918e-02_rb, 0.212592e-02_rb, 0.202745e-02_rb, & & 0.193353e-02_rb, 0.184397e-02_rb, 0.175856e-02_rb, 0.167710e-02_rb, 0.159941e-02_rb /) selfrefo(:,11) = (/ & & 0.267460e-02_rb, 0.253325e-02_rb, 0.239936e-02_rb, 0.227255e-02_rb, 0.215244e-02_rb, & & 0.203868e-02_rb, 0.193093e-02_rb, 0.182888e-02_rb, 0.173222e-02_rb, 0.164067e-02_rb /) selfrefo(:,12) = (/ & & 0.304510e-02_rb, 0.283919e-02_rb, 0.264720e-02_rb, 0.246820e-02_rb, 0.230130e-02_rb, & & 0.214568e-02_rb, 0.200059e-02_rb, 0.186531e-02_rb, 0.173918e-02_rb, 0.162157e-02_rb /) selfrefo(:,13) = (/ & & 0.338445e-02_rb, 0.314719e-02_rb, 0.292655e-02_rb, 0.272139e-02_rb, 0.253060e-02_rb, & & 0.235319e-02_rb, 0.218822e-02_rb, 0.203482e-02_rb, 0.189217e-02_rb, 0.175952e-02_rb /) selfrefo(:,14) = (/ & & 0.388649e-02_rb, 0.357018e-02_rb, 0.327961e-02_rb, 0.301269e-02_rb, 0.276750e-02_rb, & & 0.254226e-02_rb, 0.233535e-02_rb, 0.214528e-02_rb, 0.197068e-02_rb, 0.181029e-02_rb /) selfrefo(:,15) = (/ & & 0.412547e-02_rb, 0.387413e-02_rb, 0.363810e-02_rb, 0.341646e-02_rb, 0.320831e-02_rb, & & 0.301285e-02_rb, 0.282930e-02_rb, 0.265693e-02_rb, 0.249506e-02_rb, 0.234305e-02_rb /) selfrefo(:,16) = (/ & & 0.534327e-02_rb, 0.482967e-02_rb, 0.436544e-02_rb, 0.394583e-02_rb, 0.356655e-02_rb, & & 0.322373e-02_rb, 0.291387e-02_rb, 0.263378e-02_rb, 0.238062e-02_rb, 0.215179e-02_rb /) end subroutine sw_kgb23 ! ************************************************************************** subroutine sw_kgb24 ! ************************************************************************** use parkind, only : im => kind_im, rb => kind_rb use rrsw_kg24, only : kao, kbo, selfrefo, forrefo, sfluxrefo, & raylao, raylbo, abso3ao, abso3bo, strrat, layreffr implicit none save ! Kurucz solar source function sfluxrefo(:,1) = (/ & & 34.3610_rb , 33.1240_rb, 31.3948_rb, 28.7248_rb, & & 24.7884_rb , 21.4892_rb, 17.3972_rb, 13.7928_rb, & & 9.54462_rb , 1.05002_rb,0.867332_rb,0.685753_rb, & & 0.504718_rb,0.323112_rb,0.122183_rb, 1.70288e-02_rb /) sfluxrefo(:,2) = (/ & & 34.2367_rb , 32.4327_rb, 30.0863_rb, 28.2085_rb, & & 25.6533_rb , 22.3412_rb, 18.3112_rb, 13.8521_rb, & & 9.51035_rb , 1.04138_rb,0.863493_rb,0.682790_rb, & & 0.504721_rb,0.323102_rb,0.122193_rb, 1.70288e-02_rb /) sfluxrefo(:,3) = (/ & & 34.1883_rb , 32.2479_rb, 30.2650_rb, 28.2914_rb, & & 25.6626_rb , 22.3163_rb, 18.3327_rb, 13.8508_rb, & & 9.49190_rb , 1.03672_rb,0.858272_rb,0.681485_rb, & & 0.501363_rb,0.323110_rb,0.122183_rb, 1.70288e-02_rb /) sfluxrefo(:,4) = (/ & & 34.1365_rb , 32.2316_rb, 30.3325_rb, 28.3305_rb, & & 25.6420_rb , 22.3223_rb, 18.3411_rb, 13.8471_rb, & & 9.47492_rb , 1.03376_rb,0.855380_rb,0.679085_rb, & & 0.497998_rb,0.323053_rb,0.122183_rb, 1.70288e-02_rb /) sfluxrefo(:,5) = (/ & & 34.0460_rb , 32.2795_rb, 30.4147_rb, 28.3123_rb, & & 25.6438_rb , 22.3238_rb, 18.3441_rb, 13.8528_rb, & & 9.45222_rb , 1.03058_rb,0.854037_rb,0.675554_rb, & & 0.498344_rb,0.320072_rb,0.122193_rb, 1.70288e-02_rb /) sfluxrefo(:,6) = (/ & & 33.9909_rb , 32.3127_rb, 30.4854_rb, 28.3005_rb, & & 25.6310_rb , 22.3294_rb, 18.3459_rb, 13.8488_rb, & & 9.43336_rb , 1.02901_rb,0.852728_rb,0.672322_rb, & & 0.498056_rb,0.317753_rb,0.122183_rb, 1.70288e-02_rb /) sfluxrefo(:,7) = (/ & & 33.9225_rb , 32.4097_rb, 30.5125_rb, 28.2810_rb, & & 25.6387_rb , 22.3080_rb, 18.3715_rb, 13.8248_rb, & & 9.41834_rb , 1.02735_rb,0.850807_rb,0.671379_rb, & & 0.496975_rb,0.317158_rb,0.119297_rb, 1.70207e-02_rb /) sfluxrefo(:,8) = (/ & & 33.8940_rb , 32.4951_rb, 30.5494_rb, 28.2788_rb, & & 25.5975_rb , 22.3225_rb, 18.3358_rb, 13.8199_rb, & & 9.40283_rb , 1.02751_rb,0.850729_rb,0.670152_rb, & & 0.494294_rb,0.315829_rb,0.116195_rb, 1.64138e-02_rb /) sfluxrefo(:,9) = (/ & & 34.6501_rb , 32.6690_rb, 30.2872_rb, 28.0955_rb, & & 25.4662_rb , 22.1446_rb, 18.2754_rb, 13.7573_rb, & & 9.36645_rb , 1.02356_rb,0.847154_rb,0.668519_rb, & & 0.489186_rb,0.313790_rb,0.117074_rb, 1.60943e-02_rb /) ! Rayleigh extinction coefficient at all v raylao(:,1) = (/ & & 1.28405e-07_rb,1.45501e-07_rb,1.67272e-07_rb,1.94856e-07_rb, & & 2.15248e-07_rb,2.34920e-07_rb,2.48558e-07_rb,1.80004e-07_rb, & & 1.46504e-07_rb,1.31355e-07_rb,1.33562e-07_rb,1.35618e-07_rb, & & 1.22412e-07_rb,1.19842e-07_rb,1.19924e-07_rb,1.20264e-07_rb /) raylao(:,2) = (/ & & 1.41622e-07_rb,1.93436e-07_rb,2.25057e-07_rb,2.01025e-07_rb, & & 1.85138e-07_rb,1.72672e-07_rb,1.64771e-07_rb,1.59312e-07_rb, & & 1.44961e-07_rb,1.37448e-07_rb,1.37506e-07_rb,1.38081e-07_rb, & & 1.22432e-07_rb,1.19844e-07_rb,1.19921e-07_rb,1.20287e-07_rb /) raylao(:,3) = (/ & & 1.45382e-07_rb,1.97020e-07_rb,2.22781e-07_rb,1.96062e-07_rb, & & 1.83495e-07_rb,1.72495e-07_rb,1.64910e-07_rb,1.58797e-07_rb, & & 1.46208e-07_rb,1.42274e-07_rb,1.40445e-07_rb,1.39496e-07_rb, & & 1.26940e-07_rb,1.19844e-07_rb,1.19921e-07_rb,1.20287e-07_rb /) raylao(:,4) = (/ & & 1.48247e-07_rb,1.99958e-07_rb,2.18048e-07_rb,1.93896e-07_rb, & & 1.83125e-07_rb,1.73244e-07_rb,1.64320e-07_rb,1.58298e-07_rb, & & 1.48428e-07_rb,1.44769e-07_rb,1.43704e-07_rb,1.38498e-07_rb, & & 1.31732e-07_rb,1.22299e-07_rb,1.19921e-07_rb,1.20287e-07_rb /) raylao(:,5) = (/ & & 1.51343e-07_rb,1.99621e-07_rb,2.14563e-07_rb,1.93824e-07_rb, & & 1.82992e-07_rb,1.73143e-07_rb,1.64587e-07_rb,1.57355e-07_rb, & & 1.51198e-07_rb,1.46373e-07_rb,1.45438e-07_rb,1.38095e-07_rb, & & 1.35026e-07_rb,1.27504e-07_rb,1.19921e-07_rb,1.20287e-07_rb /) raylao(:,6) = (/ & & 1.54462e-07_rb,1.97610e-07_rb,2.11992e-07_rb,1.93831e-07_rb, & & 1.83900e-07_rb,1.73125e-07_rb,1.64093e-07_rb,1.57651e-07_rb, & & 1.53158e-07_rb,1.46843e-07_rb,1.44733e-07_rb,1.40611e-07_rb, & & 1.37320e-07_rb,1.33932e-07_rb,1.20423e-07_rb,1.20287e-07_rb /) raylao(:,7) = (/ & & 1.59068e-07_rb,1.92757e-07_rb,2.09865e-07_rb,1.95132e-07_rb, & & 1.83641e-07_rb,1.73778e-07_rb,1.63215e-07_rb,1.59462e-07_rb, & & 1.54331e-07_rb,1.46177e-07_rb,1.45819e-07_rb,1.43177e-07_rb, & & 1.39797e-07_rb,1.36780e-07_rb,1.33385e-07_rb,1.20287e-07_rb /) raylao(:,8) = (/ & & 1.62066e-07_rb,1.87529e-07_rb,2.07191e-07_rb,1.97788e-07_rb, & & 1.84920e-07_rb,1.72951e-07_rb,1.65450e-07_rb,1.60344e-07_rb, & & 1.54403e-07_rb,1.47679e-07_rb,1.47287e-07_rb,1.44951e-07_rb, & & 1.42517e-07_rb,1.41107e-07_rb,1.48688e-07_rb,1.51127e-07_rb /) raylao(:,9) = (/ & & 1.19177e-07_rb,1.86522e-07_rb,2.20324e-07_rb,2.13543e-07_rb, & & 1.92198e-07_rb,1.81641e-07_rb,1.70092e-07_rb,1.65072e-07_rb, & & 1.59804e-07_rb,1.56745e-07_rb,1.51235e-07_rb,1.51400e-07_rb, & & 1.49635e-07_rb,1.48056e-07_rb,1.49046e-07_rb,1.51010e-07_rb /) raylbo(:) = (/ & & 1.23766e-07_rb,1.40524e-07_rb,1.61610e-07_rb,1.83232e-07_rb, & & 2.02951e-07_rb,2.21367e-07_rb,2.38367e-07_rb,2.53019e-07_rb, & & 2.12202e-07_rb,1.36977e-07_rb,1.39118e-07_rb,1.37097e-07_rb, & & 1.33223e-07_rb,1.38695e-07_rb,1.19868e-07_rb,1.20062e-07_rb /) abso3ao(:) = (/ & & 8.03067e-02_rb,0.180926_rb ,0.227484_rb ,0.168015_rb , & & 0.138284_rb ,0.114537_rb ,9.50114e-02_rb,8.06816e-02_rb, & & 6.76406e-02_rb,5.69802e-02_rb,5.63283e-02_rb,4.57592e-02_rb, & & 4.21862e-02_rb,3.47949e-02_rb,2.65731e-02_rb,2.67628e-02_rb /) abso3bo(:) = (/ & & 2.94848e-02_rb,4.33642e-02_rb,6.70197e-02_rb,0.104990_rb , & & 0.156180_rb ,0.214638_rb ,0.266281_rb ,0.317941_rb , & & 0.355327_rb ,0.371241_rb ,0.374396_rb ,0.326847_rb , & & 0.126497_rb ,6.95264e-02_rb,2.58175e-02_rb,2.52862e-02_rb /) strrat = 0.124692_rb layreffr = 1 ! ------------------------------------------------------------------ ! The array KAO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels> ~100mb, temperatures, and binary ! species parameters (see taumol.f for definition). The first ! index in the array, JS, runs from 1 to 9, and corresponds to ! different values of the binary species parameter. For instance, ! JS=1 refers to dry air, JS = 2 corresponds to the paramter value 1/8, ! JS = 3 corresponds to the parameter value 2/8, etc. The second index ! in the array, JT, which runs from 1 to 5, corresponds to different ! temperatures. More specifically, JT = 3 means that the data are for ! the reference temperature TREF for this pressure level, JT = 2 refers ! to TREF-15, JT = 1 is for TREF-30, JT = 4 is for TREF+15, and JT = 5 ! is for TREF+30. The third index, JP, runs from 1 to 13 and refers ! to the JPth reference pressure level (see taumol.f for these levels ! in mb). The fourth index, IG, goes from 1 to 16, and indicates ! which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kao(:, 1, 1, 1) = (/ & & 0.73110e-09_rb,0.95257e-08_rb,0.84454e-08_rb,0.69367e-08_rb,0.55267e-08_rb, & & 0.41107e-08_rb,0.32800e-08_rb,0.33548e-08_rb,0.22111e-08_rb /) kao(:, 2, 1, 1) = (/ & & 0.71850e-09_rb,0.98856e-08_rb,0.88084e-08_rb,0.72442e-08_rb,0.57586e-08_rb, & & 0.43475e-08_rb,0.34021e-08_rb,0.32425e-08_rb,0.21911e-08_rb /) kao(:, 3, 1, 1) = (/ & & 0.57048e-09_rb,0.11944e-07_rb,0.10693e-07_rb,0.91787e-08_rb,0.75423e-08_rb, & & 0.56949e-08_rb,0.43124e-08_rb,0.42335e-08_rb,0.57788e-08_rb /) kao(:, 4, 1, 1) = (/ & & 0.45283e-09_rb,0.10517e-07_rb,0.93142e-08_rb,0.77267e-08_rb,0.61927e-08_rb, & & 0.47485e-08_rb,0.34557e-08_rb,0.32691e-08_rb,0.21836e-08_rb /) kao(:, 5, 1, 1) = (/ & & 0.40037e-09_rb,0.10599e-07_rb,0.93529e-08_rb,0.78411e-08_rb,0.63421e-08_rb, & & 0.49082e-08_rb,0.36312e-08_rb,0.32874e-08_rb,0.21861e-08_rb /) kao(:, 1, 2, 1) = (/ & & 0.77671e-09_rb,0.11163e-07_rb,0.95032e-08_rb,0.79805e-08_rb,0.60721e-08_rb, & & 0.45440e-08_rb,0.31263e-08_rb,0.28631e-08_rb,0.19430e-08_rb /) kao(:, 2, 2, 1) = (/ & & 0.85527e-09_rb,0.11271e-07_rb,0.97269e-08_rb,0.82280e-08_rb,0.62706e-08_rb, & & 0.47926e-08_rb,0.32802e-08_rb,0.28152e-08_rb,0.19155e-08_rb /) kao(:, 3, 2, 1) = (/ & & 0.85773e-09_rb,0.13292e-07_rb,0.11943e-07_rb,0.10177e-07_rb,0.81637e-08_rb, & & 0.62054e-08_rb,0.44045e-08_rb,0.35504e-08_rb,0.48274e-08_rb /) kao(:, 4, 2, 1) = (/ & & 0.76956e-09_rb,0.13343e-07_rb,0.12140e-07_rb,0.10403e-07_rb,0.83916e-08_rb, & & 0.64414e-08_rb,0.46212e-08_rb,0.36611e-08_rb,0.46523e-08_rb /) kao(:, 5, 2, 1) = (/ & & 0.53187e-09_rb,0.11759e-07_rb,0.10564e-07_rb,0.89416e-08_rb,0.69566e-08_rb, & & 0.54336e-08_rb,0.36797e-08_rb,0.28238e-08_rb,0.18838e-08_rb /) kao(:, 1, 3, 1) = (/ & & 0.99065e-09_rb,0.13223e-07_rb,0.11222e-07_rb,0.94282e-08_rb,0.74664e-08_rb, & & 0.54084e-08_rb,0.35205e-08_rb,0.24806e-08_rb,0.20205e-08_rb /) kao(:, 2, 3, 1) = (/ & & 0.98793e-09_rb,0.13673e-07_rb,0.11444e-07_rb,0.96735e-08_rb,0.76364e-08_rb, & & 0.55809e-08_rb,0.37259e-08_rb,0.25419e-08_rb,0.20086e-08_rb /) kao(:, 3, 3, 1) = (/ & & 0.10274e-08_rb,0.14243e-07_rb,0.12051e-07_rb,0.10168e-07_rb,0.80110e-08_rb, & & 0.59129e-08_rb,0.38720e-08_rb,0.26806e-08_rb,0.19959e-08_rb /) kao(:, 4, 3, 1) = (/ & & 0.10879e-08_rb,0.15991e-07_rb,0.14290e-07_rb,0.12193e-07_rb,0.99943e-08_rb, & & 0.76411e-08_rb,0.49949e-08_rb,0.32117e-08_rb,0.45196e-08_rb /) kao(:, 5, 3, 1) = (/ & & 0.10733e-08_rb,0.14460e-07_rb,0.12483e-07_rb,0.10703e-07_rb,0.84924e-08_rb, & & 0.62896e-08_rb,0.42753e-08_rb,0.27408e-08_rb,0.19679e-08_rb /) kao(:, 1, 4, 1) = (/ & & 0.11948e-08_rb,0.15804e-07_rb,0.13423e-07_rb,0.10964e-07_rb,0.86345e-08_rb, & & 0.61421e-08_rb,0.39130e-08_rb,0.24271e-08_rb,0.26282e-08_rb /) kao(:, 2, 4, 1) = (/ & & 0.12796e-08_rb,0.16985e-07_rb,0.14121e-07_rb,0.11784e-07_rb,0.93415e-08_rb, & & 0.67310e-08_rb,0.43124e-08_rb,0.25170e-08_rb,0.26033e-08_rb /) kao(:, 3, 4, 1) = (/ & & 0.12903e-08_rb,0.17863e-07_rb,0.14703e-07_rb,0.12387e-07_rb,0.99243e-08_rb, & & 0.72283e-08_rb,0.46892e-08_rb,0.26092e-08_rb,0.25739e-08_rb /) kao(:, 4, 4, 1) = (/ & & 0.13030e-08_rb,0.17982e-07_rb,0.14488e-07_rb,0.12389e-07_rb,0.10284e-07_rb, & & 0.76192e-08_rb,0.50049e-08_rb,0.27184e-08_rb,0.25450e-08_rb /) kao(:, 5, 4, 1) = (/ & & 0.13295e-08_rb,0.20084e-07_rb,0.17213e-07_rb,0.15086e-07_rb,0.12255e-07_rb, & & 0.93192e-08_rb,0.61747e-08_rb,0.34151e-08_rb,0.50409e-08_rb /) kao(:, 1, 5, 1) = (/ & & 0.14930e-08_rb,0.19740e-07_rb,0.16353e-07_rb,0.13382e-07_rb,0.10370e-07_rb, & & 0.76167e-08_rb,0.46913e-08_rb,0.23740e-08_rb,0.37254e-08_rb /) kao(:, 2, 5, 1) = (/ & & 0.15750e-08_rb,0.20826e-07_rb,0.17352e-07_rb,0.14080e-07_rb,0.11109e-07_rb, & & 0.82293e-08_rb,0.51142e-08_rb,0.25900e-08_rb,0.36977e-08_rb /) kao(:, 3, 5, 1) = (/ & & 0.16427e-08_rb,0.22313e-07_rb,0.18005e-07_rb,0.14545e-07_rb,0.11545e-07_rb, & & 0.85987e-08_rb,0.53849e-08_rb,0.27523e-08_rb,0.36628e-08_rb /) kao(:, 4, 5, 1) = (/ & & 0.17106e-08_rb,0.23821e-07_rb,0.18882e-07_rb,0.15226e-07_rb,0.12313e-07_rb, & & 0.92367e-08_rb,0.58646e-08_rb,0.29020e-08_rb,0.36336e-08_rb /) kao(:, 5, 5, 1) = (/ & & 0.17465e-08_rb,0.26750e-07_rb,0.22103e-07_rb,0.18690e-07_rb,0.15320e-07_rb, & & 0.11508e-07_rb,0.77281e-08_rb,0.34929e-08_rb,0.69801e-08_rb /) kao(:, 1, 6, 1) = (/ & & 0.17561e-08_rb,0.17298e-07_rb,0.18888e-07_rb,0.16164e-07_rb,0.12676e-07_rb, & & 0.91128e-08_rb,0.57292e-08_rb,0.25945e-08_rb,0.52718e-08_rb /) kao(:, 2, 6, 1) = (/ & & 0.19997e-08_rb,0.20866e-07_rb,0.20612e-07_rb,0.17467e-07_rb,0.13431e-07_rb, & & 0.96178e-08_rb,0.60009e-08_rb,0.28959e-08_rb,0.52609e-08_rb /) kao(:, 3, 6, 1) = (/ & & 0.21808e-08_rb,0.24689e-07_rb,0.22590e-07_rb,0.18672e-07_rb,0.14573e-07_rb, & & 0.10599e-07_rb,0.66802e-08_rb,0.31104e-08_rb,0.52649e-08_rb /) kao(:, 4, 6, 1) = (/ & & 0.22321e-08_rb,0.28043e-07_rb,0.23802e-07_rb,0.19473e-07_rb,0.15182e-07_rb, & & 0.11372e-07_rb,0.73223e-08_rb,0.34820e-08_rb,0.52977e-08_rb /) kao(:, 5, 6, 1) = (/ & & 0.23033e-08_rb,0.30784e-07_rb,0.25188e-07_rb,0.20376e-07_rb,0.16019e-07_rb, & & 0.12009e-07_rb,0.77933e-08_rb,0.37322e-08_rb,0.52777e-08_rb /) kao(:, 1, 7, 1) = (/ & & 0.22679e-08_rb,0.13507e-07_rb,0.20320e-07_rb,0.19549e-07_rb,0.15905e-07_rb, & & 0.11277e-07_rb,0.68710e-08_rb,0.29328e-08_rb,0.79703e-08_rb /) kao(:, 2, 7, 1) = (/ & & 0.25718e-08_rb,0.16957e-07_rb,0.24375e-07_rb,0.21175e-07_rb,0.17080e-07_rb, & & 0.12233e-07_rb,0.77114e-08_rb,0.34113e-08_rb,0.79963e-08_rb /) kao(:, 3, 7, 1) = (/ & & 0.27598e-08_rb,0.19896e-07_rb,0.28092e-07_rb,0.23059e-07_rb,0.18272e-07_rb, & & 0.13117e-07_rb,0.84449e-08_rb,0.37817e-08_rb,0.79824e-08_rb /) kao(:, 4, 7, 1) = (/ & & 0.28979e-08_rb,0.22997e-07_rb,0.29556e-07_rb,0.24211e-07_rb,0.19134e-07_rb, & & 0.13799e-07_rb,0.90980e-08_rb,0.41849e-08_rb,0.79622e-08_rb /) kao(:, 5, 7, 1) = (/ & & 0.31158e-08_rb,0.26193e-07_rb,0.32426e-07_rb,0.25685e-07_rb,0.19970e-07_rb, & & 0.14504e-07_rb,0.96379e-08_rb,0.45034e-08_rb,0.78914e-08_rb /) kao(:, 1, 8, 1) = (/ & & 0.27286e-08_rb,0.10085e-07_rb,0.15014e-07_rb,0.19090e-07_rb,0.19831e-07_rb, & & 0.15054e-07_rb,0.91059e-08_rb,0.39324e-08_rb,0.14155e-07_rb /) kao(:, 2, 8, 1) = (/ & & 0.30146e-08_rb,0.12680e-07_rb,0.19259e-07_rb,0.23896e-07_rb,0.21584e-07_rb, & & 0.16217e-07_rb,0.99712e-08_rb,0.44108e-08_rb,0.14243e-07_rb /) kao(:, 3, 8, 1) = (/ & & 0.35571e-08_rb,0.15989e-07_rb,0.23328e-07_rb,0.28003e-07_rb,0.22999e-07_rb, & & 0.17316e-07_rb,0.10856e-07_rb,0.49279e-08_rb,0.13770e-07_rb /) kao(:, 4, 8, 1) = (/ & & 0.40065e-08_rb,0.19481e-07_rb,0.27247e-07_rb,0.30922e-07_rb,0.24592e-07_rb, & & 0.18005e-07_rb,0.11331e-07_rb,0.53242e-08_rb,0.13758e-07_rb /) kao(:, 5, 8, 1) = (/ & & 0.44047e-08_rb,0.23368e-07_rb,0.31337e-07_rb,0.33478e-07_rb,0.26467e-07_rb, & & 0.19093e-07_rb,0.12194e-07_rb,0.56088e-08_rb,0.13665e-07_rb /) kao(:, 1, 9, 1) = (/ & & 0.32692e-08_rb,0.79127e-08_rb,0.11108e-07_rb,0.13962e-07_rb,0.15949e-07_rb, & & 0.18125e-07_rb,0.12367e-07_rb,0.53666e-08_rb,0.28048e-07_rb /) kao(:, 2, 9, 1) = (/ & & 0.39872e-08_rb,0.10056e-07_rb,0.14185e-07_rb,0.17838e-07_rb,0.20262e-07_rb, & & 0.19824e-07_rb,0.13459e-07_rb,0.59111e-08_rb,0.29491e-07_rb /) kao(:, 3, 9, 1) = (/ & & 0.46117e-08_rb,0.12472e-07_rb,0.17902e-07_rb,0.22130e-07_rb,0.25362e-07_rb, & & 0.21745e-07_rb,0.14226e-07_rb,0.62741e-08_rb,0.30373e-07_rb /) kao(:, 4, 9, 1) = (/ & & 0.52024e-08_rb,0.15275e-07_rb,0.21923e-07_rb,0.27295e-07_rb,0.30210e-07_rb, & & 0.23240e-07_rb,0.15087e-07_rb,0.66869e-08_rb,0.31196e-07_rb /) kao(:, 5, 9, 1) = (/ & & 0.56198e-08_rb,0.17975e-07_rb,0.26684e-07_rb,0.30762e-07_rb,0.34012e-07_rb, & & 0.25509e-07_rb,0.16208e-07_rb,0.72951e-08_rb,0.31583e-07_rb /) kao(:, 1,10, 1) = (/ & & 0.48178e-08_rb,0.70531e-08_rb,0.93321e-08_rb,0.10834e-07_rb,0.12386e-07_rb, & & 0.13718e-07_rb,0.14795e-07_rb,0.73464e-08_rb,0.35934e-07_rb /) kao(:, 2,10, 1) = (/ & & 0.55752e-08_rb,0.86985e-08_rb,0.11492e-07_rb,0.13823e-07_rb,0.15291e-07_rb, & & 0.17278e-07_rb,0.18153e-07_rb,0.81439e-08_rb,0.37177e-07_rb /) kao(:, 3,10, 1) = (/ & & 0.63274e-08_rb,0.10735e-07_rb,0.13985e-07_rb,0.17136e-07_rb,0.19303e-07_rb, & & 0.20940e-07_rb,0.20044e-07_rb,0.88008e-08_rb,0.38431e-07_rb /) kao(:, 4,10, 1) = (/ & & 0.70007e-08_rb,0.12858e-07_rb,0.17195e-07_rb,0.20946e-07_rb,0.23543e-07_rb, & & 0.25732e-07_rb,0.21748e-07_rb,0.95846e-08_rb,0.39768e-07_rb /) kao(:, 5,10, 1) = (/ & & 0.75858e-08_rb,0.15576e-07_rb,0.20803e-07_rb,0.25331e-07_rb,0.28222e-07_rb, & & 0.30974e-07_rb,0.23346e-07_rb,0.10532e-07_rb,0.41126e-07_rb /) kao(:, 1,11, 1) = (/ & & 0.71066e-08_rb,0.91105e-08_rb,0.91823e-08_rb,0.10078e-07_rb,0.11080e-07_rb, & & 0.11808e-07_rb,0.12592e-07_rb,0.10585e-07_rb,0.36646e-07_rb /) kao(:, 2,11, 1) = (/ & & 0.75651e-08_rb,0.10196e-07_rb,0.11288e-07_rb,0.12341e-07_rb,0.13264e-07_rb, & & 0.14635e-07_rb,0.15304e-07_rb,0.12113e-07_rb,0.37821e-07_rb /) kao(:, 3,11, 1) = (/ & & 0.84521e-08_rb,0.11641e-07_rb,0.13494e-07_rb,0.15134e-07_rb,0.16494e-07_rb, & & 0.17667e-07_rb,0.18637e-07_rb,0.13998e-07_rb,0.39151e-07_rb /) kao(:, 4,11, 1) = (/ & & 0.96535e-08_rb,0.13091e-07_rb,0.16210e-07_rb,0.18132e-07_rb,0.20108e-07_rb, & & 0.21506e-07_rb,0.22578e-07_rb,0.15372e-07_rb,0.40534e-07_rb /) kao(:, 5,11, 1) = (/ & & 0.10866e-07_rb,0.15259e-07_rb,0.19222e-07_rb,0.21816e-07_rb,0.23808e-07_rb, & & 0.25779e-07_rb,0.26640e-07_rb,0.16560e-07_rb,0.41783e-07_rb /) kao(:, 1,12, 1) = (/ & & 0.80834e-08_rb,0.10420e-07_rb,0.92387e-08_rb,0.95448e-08_rb,0.10004e-07_rb, & & 0.10210e-07_rb,0.10715e-07_rb,0.12956e-07_rb,0.37307e-07_rb /) kao(:, 2,12, 1) = (/ & & 0.93300e-08_rb,0.11721e-07_rb,0.10935e-07_rb,0.11240e-07_rb,0.12099e-07_rb, & & 0.12529e-07_rb,0.12978e-07_rb,0.14968e-07_rb,0.38619e-07_rb /) kao(:, 3,12, 1) = (/ & & 0.10509e-07_rb,0.12830e-07_rb,0.12793e-07_rb,0.13649e-07_rb,0.14634e-07_rb, & & 0.15024e-07_rb,0.15635e-07_rb,0.17087e-07_rb,0.40001e-07_rb /) kao(:, 4,12, 1) = (/ & & 0.11973e-07_rb,0.14173e-07_rb,0.14811e-07_rb,0.16236e-07_rb,0.17652e-07_rb, & & 0.18139e-07_rb,0.18897e-07_rb,0.19167e-07_rb,0.41426e-07_rb /) kao(:, 5,12, 1) = (/ & & 0.13412e-07_rb,0.16145e-07_rb,0.17438e-07_rb,0.18946e-07_rb,0.20873e-07_rb, & & 0.21649e-07_rb,0.22446e-07_rb,0.20222e-07_rb,0.42866e-07_rb /) kao(:, 1,13, 1) = (/ & & 0.96752e-08_rb,0.12525e-07_rb,0.10944e-07_rb,0.96402e-08_rb,0.92613e-08_rb, & & 0.89183e-08_rb,0.91757e-08_rb,0.10962e-07_rb,0.37700e-07_rb /) kao(:, 2,13, 1) = (/ & & 0.10573e-07_rb,0.14013e-07_rb,0.12095e-07_rb,0.11243e-07_rb,0.11108e-07_rb, & & 0.10880e-07_rb,0.11099e-07_rb,0.12700e-07_rb,0.39054e-07_rb /) kao(:, 3,13, 1) = (/ & & 0.12096e-07_rb,0.15476e-07_rb,0.13719e-07_rb,0.13357e-07_rb,0.13060e-07_rb, & & 0.13122e-07_rb,0.13232e-07_rb,0.14320e-07_rb,0.40767e-07_rb /) kao(:, 4,13, 1) = (/ & & 0.13461e-07_rb,0.16674e-07_rb,0.15454e-07_rb,0.15611e-07_rb,0.15616e-07_rb, & & 0.15505e-07_rb,0.16233e-07_rb,0.16510e-07_rb,0.42192e-07_rb /) kao(:, 5,13, 1) = (/ & & 0.14863e-07_rb,0.17307e-07_rb,0.17245e-07_rb,0.18041e-07_rb,0.18314e-07_rb, & & 0.18445e-07_rb,0.19222e-07_rb,0.18635e-07_rb,0.43353e-07_rb /) kao(:, 1, 1, 2) = (/ & & 0.11698e-08_rb,0.30848e-07_rb,0.36454e-07_rb,0.38710e-07_rb,0.45901e-07_rb, & & 0.55227e-07_rb,0.66976e-07_rb,0.88407e-07_rb,0.23422e-07_rb /) kao(:, 2, 1, 2) = (/ & & 0.11855e-08_rb,0.31924e-07_rb,0.37139e-07_rb,0.40576e-07_rb,0.48515e-07_rb, & & 0.57453e-07_rb,0.68267e-07_rb,0.87661e-07_rb,0.23548e-07_rb /) kao(:, 3, 1, 2) = (/ & & 0.14595e-08_rb,0.39594e-07_rb,0.49562e-07_rb,0.62806e-07_rb,0.77187e-07_rb, & & 0.93412e-07_rb,0.11204e-06_rb,0.13944e-06_rb,0.36327e-07_rb /) kao(:, 4, 1, 2) = (/ & & 0.16033e-08_rb,0.32903e-07_rb,0.39616e-07_rb,0.43600e-07_rb,0.51878e-07_rb, & & 0.61189e-07_rb,0.71838e-07_rb,0.88579e-07_rb,0.23754e-07_rb /) kao(:, 5, 1, 2) = (/ & & 0.16713e-08_rb,0.33816e-07_rb,0.40271e-07_rb,0.44761e-07_rb,0.53112e-07_rb, & & 0.62817e-07_rb,0.73214e-07_rb,0.89918e-07_rb,0.23712e-07_rb /) kao(:, 1, 2, 2) = (/ & & 0.14413e-08_rb,0.29542e-07_rb,0.33672e-07_rb,0.38233e-07_rb,0.38429e-07_rb, & & 0.45175e-07_rb,0.55138e-07_rb,0.73579e-07_rb,0.25050e-07_rb /) kao(:, 2, 2, 2) = (/ & & 0.13819e-08_rb,0.33839e-07_rb,0.35660e-07_rb,0.39637e-07_rb,0.40862e-07_rb, & & 0.47496e-07_rb,0.56716e-07_rb,0.72256e-07_rb,0.25722e-07_rb /) kao(:, 3, 2, 2) = (/ & & 0.14034e-08_rb,0.38888e-07_rb,0.49224e-07_rb,0.54694e-07_rb,0.64529e-07_rb, & & 0.76758e-07_rb,0.91615e-07_rb,0.11521e-06_rb,0.39473e-07_rb /) kao(:, 4, 2, 2) = (/ & & 0.15427e-08_rb,0.40736e-07_rb,0.49562e-07_rb,0.55626e-07_rb,0.65520e-07_rb, & & 0.77421e-07_rb,0.92434e-07_rb,0.11487e-06_rb,0.39089e-07_rb /) kao(:, 5, 2, 2) = (/ & & 0.19146e-08_rb,0.37020e-07_rb,0.37998e-07_rb,0.40828e-07_rb,0.46417e-07_rb, & & 0.52511e-07_rb,0.60306e-07_rb,0.73583e-07_rb,0.26882e-07_rb /) kao(:, 1, 3, 2) = (/ & & 0.16720e-08_rb,0.23360e-07_rb,0.34106e-07_rb,0.35883e-07_rb,0.37371e-07_rb, & & 0.37719e-07_rb,0.44564e-07_rb,0.59521e-07_rb,0.60171e-07_rb /) kao(:, 2, 3, 2) = (/ & & 0.17699e-08_rb,0.26546e-07_rb,0.36000e-07_rb,0.36846e-07_rb,0.38381e-07_rb, & & 0.39667e-07_rb,0.46368e-07_rb,0.60306e-07_rb,0.60604e-07_rb /) kao(:, 3, 3, 2) = (/ & & 0.18009e-08_rb,0.29450e-07_rb,0.37614e-07_rb,0.38630e-07_rb,0.39041e-07_rb, & & 0.41600e-07_rb,0.48142e-07_rb,0.59638e-07_rb,0.61274e-07_rb /) kao(:, 4, 3, 2) = (/ & & 0.18222e-08_rb,0.39219e-07_rb,0.48109e-07_rb,0.53485e-07_rb,0.57150e-07_rb, & & 0.64444e-07_rb,0.75574e-07_rb,0.94813e-07_rb,0.76759e-07_rb /) kao(:, 5, 3, 2) = (/ & & 0.18210e-08_rb,0.34020e-07_rb,0.40366e-07_rb,0.41710e-07_rb,0.42164e-07_rb, & & 0.45001e-07_rb,0.49878e-07_rb,0.60009e-07_rb,0.61481e-07_rb /) kao(:, 1, 4, 2) = (/ & & 0.21152e-08_rb,0.23706e-07_rb,0.29784e-07_rb,0.35302e-07_rb,0.35282e-07_rb, & & 0.34361e-07_rb,0.35938e-07_rb,0.47065e-07_rb,0.17050e-06_rb /) kao(:, 2, 4, 2) = (/ & & 0.22014e-08_rb,0.24318e-07_rb,0.33239e-07_rb,0.37390e-07_rb,0.36975e-07_rb, & & 0.35774e-07_rb,0.38207e-07_rb,0.49025e-07_rb,0.17312e-06_rb /) kao(:, 3, 4, 2) = (/ & & 0.21940e-08_rb,0.26005e-07_rb,0.37067e-07_rb,0.38353e-07_rb,0.38894e-07_rb, & & 0.37527e-07_rb,0.40105e-07_rb,0.50082e-07_rb,0.17777e-06_rb /) kao(:, 4, 4, 2) = (/ & & 0.23140e-08_rb,0.28378e-07_rb,0.41743e-07_rb,0.40523e-07_rb,0.40492e-07_rb, & & 0.38652e-07_rb,0.40876e-07_rb,0.49640e-07_rb,0.18336e-06_rb /) kao(:, 5, 4, 2) = (/ & & 0.23213e-08_rb,0.34154e-07_rb,0.50461e-07_rb,0.52357e-07_rb,0.54187e-07_rb, & & 0.57113e-07_rb,0.62843e-07_rb,0.77605e-07_rb,0.21695e-06_rb /) kao(:, 1, 5, 2) = (/ & & 0.26738e-08_rb,0.26329e-07_rb,0.23971e-07_rb,0.31112e-07_rb,0.35671e-07_rb, & & 0.34087e-07_rb,0.29799e-07_rb,0.37789e-07_rb,0.52514e-06_rb /) kao(:, 2, 5, 2) = (/ & & 0.25455e-08_rb,0.28564e-07_rb,0.26376e-07_rb,0.34876e-07_rb,0.38195e-07_rb, & & 0.36126e-07_rb,0.31889e-07_rb,0.38787e-07_rb,0.53894e-06_rb /) kao(:, 3, 5, 2) = (/ & & 0.27955e-08_rb,0.30168e-07_rb,0.29598e-07_rb,0.39256e-07_rb,0.39488e-07_rb, & & 0.38121e-07_rb,0.34110e-07_rb,0.40225e-07_rb,0.55617e-06_rb /) kao(:, 4, 5, 2) = (/ & & 0.30518e-08_rb,0.31696e-07_rb,0.32642e-07_rb,0.43581e-07_rb,0.40810e-07_rb, & & 0.38887e-07_rb,0.35568e-07_rb,0.41837e-07_rb,0.57141e-06_rb /) kao(:, 5, 5, 2) = (/ & & 0.29545e-08_rb,0.34626e-07_rb,0.42873e-07_rb,0.52742e-07_rb,0.53043e-07_rb, & & 0.52428e-07_rb,0.54304e-07_rb,0.64247e-07_rb,0.63906e-06_rb /) kao(:, 1, 6, 2) = (/ & & 0.30127e-08_rb,0.42606e-07_rb,0.28980e-07_rb,0.24923e-07_rb,0.29265e-07_rb, & & 0.34534e-07_rb,0.31090e-07_rb,0.30814e-07_rb,0.12844e-05_rb /) kao(:, 2, 6, 2) = (/ & & 0.33504e-08_rb,0.42102e-07_rb,0.30491e-07_rb,0.27666e-07_rb,0.33477e-07_rb, & & 0.35643e-07_rb,0.33324e-07_rb,0.31448e-07_rb,0.13231e-05_rb /) kao(:, 3, 6, 2) = (/ & & 0.37714e-08_rb,0.40516e-07_rb,0.32080e-07_rb,0.30623e-07_rb,0.37391e-07_rb, & & 0.37255e-07_rb,0.35144e-07_rb,0.32296e-07_rb,0.13598e-05_rb /) kao(:, 4, 6, 2) = (/ & & 0.40809e-08_rb,0.41419e-07_rb,0.33638e-07_rb,0.33756e-07_rb,0.41072e-07_rb, & & 0.38814e-07_rb,0.36264e-07_rb,0.33664e-07_rb,0.13955e-05_rb /) kao(:, 5, 6, 2) = (/ & & 0.38112e-08_rb,0.42764e-07_rb,0.35694e-07_rb,0.36747e-07_rb,0.45193e-07_rb, & & 0.40460e-07_rb,0.37371e-07_rb,0.35107e-07_rb,0.14282e-05_rb /) kao(:, 1, 7, 2) = (/ & & 0.36577e-08_rb,0.64857e-07_rb,0.37268e-07_rb,0.28977e-07_rb,0.24480e-07_rb, & & 0.26864e-07_rb,0.30486e-07_rb,0.25122e-07_rb,0.20521e-05_rb /) kao(:, 2, 7, 2) = (/ & & 0.39427e-08_rb,0.65731e-07_rb,0.37248e-07_rb,0.30585e-07_rb,0.26773e-07_rb, & & 0.30114e-07_rb,0.31576e-07_rb,0.26187e-07_rb,0.21480e-05_rb /) kao(:, 3, 7, 2) = (/ & & 0.43811e-08_rb,0.66809e-07_rb,0.38170e-07_rb,0.32043e-07_rb,0.28837e-07_rb, & & 0.34005e-07_rb,0.32765e-07_rb,0.27322e-07_rb,0.22122e-05_rb /) kao(:, 4, 7, 2) = (/ & & 0.46591e-08_rb,0.68244e-07_rb,0.41020e-07_rb,0.34183e-07_rb,0.31347e-07_rb, & & 0.37946e-07_rb,0.34473e-07_rb,0.28264e-07_rb,0.22876e-05_rb /) kao(:, 5, 7, 2) = (/ & & 0.51635e-08_rb,0.69768e-07_rb,0.42241e-07_rb,0.36125e-07_rb,0.34689e-07_rb, & & 0.41422e-07_rb,0.36208e-07_rb,0.29319e-07_rb,0.23528e-05_rb /) kao(:, 1, 8, 2) = (/ & & 0.48063e-08_rb,0.99492e-07_rb,0.67977e-07_rb,0.40583e-07_rb,0.27462e-07_rb, & & 0.23261e-07_rb,0.24790e-07_rb,0.24175e-07_rb,0.34404e-05_rb /) kao(:, 2, 8, 2) = (/ & & 0.46794e-08_rb,0.10207e-06_rb,0.68838e-07_rb,0.41170e-07_rb,0.30068e-07_rb, & & 0.24536e-07_rb,0.27696e-07_rb,0.25318e-07_rb,0.35579e-05_rb /) kao(:, 3, 8, 2) = (/ & & 0.51560e-08_rb,0.10436e-06_rb,0.69782e-07_rb,0.42105e-07_rb,0.32065e-07_rb, & & 0.26776e-07_rb,0.30613e-07_rb,0.26859e-07_rb,0.36807e-05_rb /) kao(:, 4, 8, 2) = (/ & & 0.59944e-08_rb,0.10484e-06_rb,0.71027e-07_rb,0.44319e-07_rb,0.34843e-07_rb, & & 0.29788e-07_rb,0.33876e-07_rb,0.28922e-07_rb,0.37740e-05_rb /) kao(:, 5, 8, 2) = (/ & & 0.64682e-08_rb,0.10541e-06_rb,0.71736e-07_rb,0.46124e-07_rb,0.36934e-07_rb, & & 0.32173e-07_rb,0.36502e-07_rb,0.30991e-07_rb,0.38805e-05_rb /) kao(:, 1, 9, 2) = (/ & & 0.56433e-08_rb,0.13757e-06_rb,0.10641e-06_rb,0.72870e-07_rb,0.43453e-07_rb, & & 0.25530e-07_rb,0.19778e-07_rb,0.25383e-07_rb,0.95912e-05_rb /) kao(:, 2, 9, 2) = (/ & & 0.61882e-08_rb,0.14041e-06_rb,0.11046e-06_rb,0.75424e-07_rb,0.44204e-07_rb, & & 0.28513e-07_rb,0.22344e-07_rb,0.27258e-07_rb,0.98257e-05_rb /) kao(:, 3, 9, 2) = (/ & & 0.68724e-08_rb,0.14355e-06_rb,0.11272e-06_rb,0.76977e-07_rb,0.44934e-07_rb, & & 0.30972e-07_rb,0.24609e-07_rb,0.29074e-07_rb,0.10035e-04_rb /) kao(:, 4, 9, 2) = (/ & & 0.75288e-08_rb,0.14628e-06_rb,0.11397e-06_rb,0.77508e-07_rb,0.45913e-07_rb, & & 0.33498e-07_rb,0.27308e-07_rb,0.31237e-07_rb,0.10206e-04_rb /) kao(:, 5, 9, 2) = (/ & & 0.82361e-08_rb,0.14989e-06_rb,0.11575e-06_rb,0.78052e-07_rb,0.47282e-07_rb, & & 0.34986e-07_rb,0.29571e-07_rb,0.31933e-07_rb,0.10332e-04_rb /) kao(:, 1,10, 2) = (/ & & 0.80705e-08_rb,0.18916e-06_rb,0.16332e-06_rb,0.12182e-06_rb,0.80167e-07_rb, & & 0.44659e-07_rb,0.24027e-07_rb,0.20514e-07_rb,0.18076e-04_rb /) kao(:, 2,10, 2) = (/ & & 0.86522e-08_rb,0.19825e-06_rb,0.16839e-06_rb,0.12817e-06_rb,0.85984e-07_rb, & & 0.48117e-07_rb,0.24937e-07_rb,0.22855e-07_rb,0.18392e-04_rb /) kao(:, 3,10, 2) = (/ & & 0.93838e-08_rb,0.20474e-06_rb,0.17472e-06_rb,0.13185e-06_rb,0.89897e-07_rb, & & 0.50484e-07_rb,0.27069e-07_rb,0.24729e-07_rb,0.18827e-04_rb /) kao(:, 4,10, 2) = (/ & & 0.10442e-07_rb,0.21110e-06_rb,0.17958e-06_rb,0.13546e-06_rb,0.92462e-07_rb, & & 0.51368e-07_rb,0.29958e-07_rb,0.26382e-07_rb,0.19325e-04_rb /) kao(:, 5,10, 2) = (/ & & 0.11203e-07_rb,0.21676e-06_rb,0.18359e-06_rb,0.14012e-06_rb,0.94090e-07_rb, & & 0.51431e-07_rb,0.32637e-07_rb,0.27900e-07_rb,0.19654e-04_rb /) kao(:, 1,11, 2) = (/ & & 0.10898e-07_rb,0.20490e-06_rb,0.23352e-06_rb,0.18592e-06_rb,0.13108e-06_rb, & & 0.82594e-07_rb,0.41478e-07_rb,0.20359e-07_rb,0.24656e-04_rb /) kao(:, 2,11, 2) = (/ & & 0.12100e-07_rb,0.21595e-06_rb,0.24259e-06_rb,0.19598e-06_rb,0.14307e-06_rb, & & 0.90287e-07_rb,0.44897e-07_rb,0.21400e-07_rb,0.25439e-04_rb /) kao(:, 3,11, 2) = (/ & & 0.12997e-07_rb,0.22559e-06_rb,0.25028e-06_rb,0.20624e-06_rb,0.15074e-06_rb, & & 0.95763e-07_rb,0.46972e-07_rb,0.22656e-07_rb,0.26128e-04_rb /) kao(:, 4,11, 2) = (/ & & 0.12774e-07_rb,0.23494e-06_rb,0.26130e-06_rb,0.21398e-06_rb,0.15730e-06_rb, & & 0.98985e-07_rb,0.48309e-07_rb,0.24026e-07_rb,0.26834e-04_rb /) kao(:, 5,11, 2) = (/ & & 0.13184e-07_rb,0.24219e-06_rb,0.26811e-06_rb,0.22059e-06_rb,0.16314e-06_rb, & & 0.10271e-06_rb,0.49802e-07_rb,0.25441e-07_rb,0.27644e-04_rb /) kao(:, 1,12, 2) = (/ & & 0.11394e-07_rb,0.19172e-06_rb,0.27076e-06_rb,0.23579e-06_rb,0.17648e-06_rb, & & 0.11366e-06_rb,0.56463e-07_rb,0.20869e-07_rb,0.27151e-04_rb /) kao(:, 2,12, 2) = (/ & & 0.12908e-07_rb,0.20309e-06_rb,0.28462e-06_rb,0.24753e-06_rb,0.18719e-06_rb, & & 0.12033e-06_rb,0.60157e-07_rb,0.21646e-07_rb,0.27962e-04_rb /) kao(:, 3,12, 2) = (/ & & 0.13752e-07_rb,0.21619e-06_rb,0.29476e-06_rb,0.25594e-06_rb,0.19641e-06_rb, & & 0.12734e-06_rb,0.64272e-07_rb,0.22557e-07_rb,0.28912e-04_rb /) kao(:, 4,12, 2) = (/ & & 0.14906e-07_rb,0.22665e-06_rb,0.30298e-06_rb,0.26272e-06_rb,0.20331e-06_rb, & & 0.13316e-06_rb,0.68243e-07_rb,0.23417e-07_rb,0.29816e-04_rb /) kao(:, 5,12, 2) = (/ & & 0.15969e-07_rb,0.23477e-06_rb,0.31068e-06_rb,0.27029e-06_rb,0.20850e-06_rb, & & 0.13902e-06_rb,0.71857e-07_rb,0.25264e-07_rb,0.30765e-04_rb /) kao(:, 1,13, 2) = (/ & & 0.13593e-07_rb,0.19801e-06_rb,0.26490e-06_rb,0.27826e-06_rb,0.22531e-06_rb, & & 0.15112e-06_rb,0.78691e-07_rb,0.27273e-07_rb,0.28055e-04_rb /) kao(:, 2,13, 2) = (/ & & 0.15426e-07_rb,0.20839e-06_rb,0.27732e-06_rb,0.28785e-06_rb,0.23371e-06_rb, & & 0.16027e-06_rb,0.86131e-07_rb,0.29011e-07_rb,0.29165e-04_rb /) kao(:, 3,13, 2) = (/ & & 0.16638e-07_rb,0.21808e-06_rb,0.28896e-06_rb,0.29666e-06_rb,0.24201e-06_rb, & & 0.16845e-06_rb,0.91791e-07_rb,0.30670e-07_rb,0.30372e-04_rb /) kao(:, 4,13, 2) = (/ & & 0.17929e-07_rb,0.22577e-06_rb,0.29798e-06_rb,0.30533e-06_rb,0.24895e-06_rb, & & 0.17573e-06_rb,0.96085e-07_rb,0.31360e-07_rb,0.31437e-04_rb /) kao(:, 5,13, 2) = (/ & & 0.18861e-07_rb,0.23397e-06_rb,0.30715e-06_rb,0.31382e-06_rb,0.25665e-06_rb, & & 0.18246e-06_rb,0.10017e-06_rb,0.32454e-07_rb,0.32266e-04_rb /) kao(:, 1, 1, 3) = (/ & & 0.39751e-08_rb,0.10094e-06_rb,0.20247e-06_rb,0.30028e-06_rb,0.39102e-06_rb, & & 0.48711e-06_rb,0.59106e-06_rb,0.72709e-06_rb,0.20885e-06_rb /) kao(:, 2, 1, 3) = (/ & & 0.43080e-08_rb,0.10546e-06_rb,0.20982e-06_rb,0.31135e-06_rb,0.40303e-06_rb, & & 0.49632e-06_rb,0.59855e-06_rb,0.74477e-06_rb,0.21012e-06_rb /) kao(:, 3, 1, 3) = (/ & & 0.42986e-08_rb,0.15269e-06_rb,0.29890e-06_rb,0.43493e-06_rb,0.56429e-06_rb, & & 0.69336e-06_rb,0.83181e-06_rb,0.10423e-05_rb,0.36557e-06_rb /) kao(:, 4, 1, 3) = (/ & & 0.43554e-08_rb,0.11271e-06_rb,0.22069e-06_rb,0.32651e-06_rb,0.42391e-06_rb, & & 0.51393e-06_rb,0.61294e-06_rb,0.75229e-06_rb,0.20945e-06_rb /) kao(:, 5, 1, 3) = (/ & & 0.45047e-08_rb,0.11576e-06_rb,0.22657e-06_rb,0.33173e-06_rb,0.43142e-06_rb, & & 0.52151e-06_rb,0.61871e-06_rb,0.74980e-06_rb,0.20891e-06_rb /) kao(:, 1, 2, 3) = (/ & & 0.46065e-08_rb,0.81519e-07_rb,0.15960e-06_rb,0.23610e-06_rb,0.31656e-06_rb, & & 0.39839e-06_rb,0.48591e-06_rb,0.60182e-06_rb,0.18230e-06_rb /) kao(:, 2, 2, 3) = (/ & & 0.46837e-08_rb,0.82106e-07_rb,0.16429e-06_rb,0.24471e-06_rb,0.32626e-06_rb, & & 0.40531e-06_rb,0.49330e-06_rb,0.61810e-06_rb,0.18355e-06_rb /) kao(:, 3, 2, 3) = (/ & & 0.50163e-08_rb,0.12328e-06_rb,0.23602e-06_rb,0.35332e-06_rb,0.46387e-06_rb, & & 0.57515e-06_rb,0.69445e-06_rb,0.88167e-06_rb,0.30546e-06_rb /) kao(:, 4, 2, 3) = (/ & & 0.49809e-08_rb,0.12454e-06_rb,0.23839e-06_rb,0.35429e-06_rb,0.46515e-06_rb, & & 0.57491e-06_rb,0.69031e-06_rb,0.86630e-06_rb,0.29807e-06_rb /) kao(:, 5, 2, 3) = (/ & & 0.51988e-08_rb,0.91291e-07_rb,0.17869e-06_rb,0.26485e-06_rb,0.34907e-06_rb, & & 0.42509e-06_rb,0.50894e-06_rb,0.62361e-06_rb,0.18234e-06_rb /) kao(:, 1, 3, 3) = (/ & & 0.51916e-08_rb,0.88867e-07_rb,0.12220e-06_rb,0.18411e-06_rb,0.24720e-06_rb, & & 0.32303e-06_rb,0.39526e-06_rb,0.49595e-06_rb,0.27125e-06_rb /) kao(:, 2, 3, 3) = (/ & & 0.56319e-08_rb,0.87189e-07_rb,0.12678e-06_rb,0.19176e-06_rb,0.25624e-06_rb, & & 0.32740e-06_rb,0.40564e-06_rb,0.50601e-06_rb,0.28010e-06_rb /) kao(:, 3, 3, 3) = (/ & & 0.59026e-08_rb,0.86017e-07_rb,0.13043e-06_rb,0.19649e-06_rb,0.26497e-06_rb, & & 0.33305e-06_rb,0.40679e-06_rb,0.51963e-06_rb,0.28660e-06_rb /) kao(:, 4, 3, 3) = (/ & & 0.59909e-08_rb,0.10759e-06_rb,0.18790e-06_rb,0.28104e-06_rb,0.37702e-06_rb, & & 0.47222e-06_rb,0.57322e-06_rb,0.72906e-06_rb,0.37657e-06_rb /) kao(:, 5, 3, 3) = (/ & & 0.64422e-08_rb,0.89472e-07_rb,0.13687e-06_rb,0.20453e-06_rb,0.27802e-06_rb, & & 0.34266e-06_rb,0.41565e-06_rb,0.51746e-06_rb,0.29675e-06_rb /) kao(:, 1, 4, 3) = (/ & & 0.62298e-08_rb,0.99509e-07_rb,0.10306e-06_rb,0.14232e-06_rb,0.19390e-06_rb, & & 0.25435e-06_rb,0.31764e-06_rb,0.40578e-06_rb,0.49031e-06_rb /) kao(:, 2, 4, 3) = (/ & & 0.68419e-08_rb,0.10415e-06_rb,0.10349e-06_rb,0.14672e-06_rb,0.19860e-06_rb, & & 0.26012e-06_rb,0.32720e-06_rb,0.41327e-06_rb,0.51522e-06_rb /) kao(:, 3, 4, 3) = (/ & & 0.71418e-08_rb,0.10626e-06_rb,0.10522e-06_rb,0.15175e-06_rb,0.20471e-06_rb, & & 0.26435e-06_rb,0.33148e-06_rb,0.42294e-06_rb,0.53456e-06_rb /) kao(:, 4, 4, 3) = (/ & & 0.72470e-08_rb,0.10891e-06_rb,0.10648e-06_rb,0.15457e-06_rb,0.21007e-06_rb, & & 0.26937e-06_rb,0.33376e-06_rb,0.42939e-06_rb,0.55207e-06_rb /) kao(:, 5, 4, 3) = (/ & & 0.77585e-08_rb,0.12954e-06_rb,0.14999e-06_rb,0.22224e-06_rb,0.29994e-06_rb, & & 0.38053e-06_rb,0.47027e-06_rb,0.60032e-06_rb,0.76592e-06_rb /) kao(:, 1, 5, 3) = (/ & & 0.68852e-08_rb,0.11288e-06_rb,0.11969e-06_rb,0.11689e-06_rb,0.14994e-06_rb, & & 0.19637e-06_rb,0.25309e-06_rb,0.33018e-06_rb,0.84551e-06_rb /) kao(:, 2, 5, 3) = (/ & & 0.75119e-08_rb,0.11838e-06_rb,0.12255e-06_rb,0.11926e-06_rb,0.15341e-06_rb, & & 0.20169e-06_rb,0.26231e-06_rb,0.33745e-06_rb,0.85714e-06_rb /) kao(:, 3, 5, 3) = (/ & & 0.84416e-08_rb,0.12128e-06_rb,0.12324e-06_rb,0.12015e-06_rb,0.15812e-06_rb, & & 0.20463e-06_rb,0.26808e-06_rb,0.34461e-06_rb,0.86734e-06_rb /) kao(:, 4, 5, 3) = (/ & & 0.92293e-08_rb,0.12493e-06_rb,0.12330e-06_rb,0.12093e-06_rb,0.16146e-06_rb, & & 0.20899e-06_rb,0.26904e-06_rb,0.35101e-06_rb,0.88204e-06_rb /) kao(:, 5, 5, 3) = (/ & & 0.10279e-07_rb,0.14631e-06_rb,0.14078e-06_rb,0.17511e-06_rb,0.23546e-06_rb, & & 0.30442e-06_rb,0.38374e-06_rb,0.50000e-06_rb,0.10431e-05_rb /) kao(:, 1, 6, 3) = (/ & & 0.51921e-08_rb,0.14437e-06_rb,0.12917e-06_rb,0.11673e-06_rb,0.12444e-06_rb, & & 0.14966e-06_rb,0.19338e-06_rb,0.26674e-06_rb,0.16987e-05_rb /) kao(:, 2, 6, 3) = (/ & & 0.69052e-08_rb,0.14822e-06_rb,0.13564e-06_rb,0.12080e-06_rb,0.12884e-06_rb, & & 0.15616e-06_rb,0.20083e-06_rb,0.27373e-06_rb,0.17147e-05_rb /) kao(:, 3, 6, 3) = (/ & & 0.93932e-08_rb,0.15309e-06_rb,0.13785e-06_rb,0.12361e-06_rb,0.12904e-06_rb, & & 0.16004e-06_rb,0.20790e-06_rb,0.27928e-06_rb,0.17384e-05_rb /) kao(:, 4, 6, 3) = (/ & & 0.10364e-07_rb,0.15577e-06_rb,0.14281e-06_rb,0.12445e-06_rb,0.13032e-06_rb, & & 0.16178e-06_rb,0.21225e-06_rb,0.28499e-06_rb,0.17733e-05_rb /) kao(:, 5, 6, 3) = (/ & & 0.10950e-07_rb,0.15768e-06_rb,0.14728e-06_rb,0.12674e-06_rb,0.12961e-06_rb, & & 0.16455e-06_rb,0.21080e-06_rb,0.28744e-06_rb,0.17869e-05_rb /) kao(:, 1, 7, 3) = (/ & & 0.51527e-08_rb,0.13331e-06_rb,0.15220e-06_rb,0.13781e-06_rb,0.11791e-06_rb, & & 0.12291e-06_rb,0.14839e-06_rb,0.21430e-06_rb,0.45802e-05_rb /) kao(:, 2, 7, 3) = (/ & & 0.52409e-08_rb,0.14109e-06_rb,0.15809e-06_rb,0.14393e-06_rb,0.12362e-06_rb, & & 0.12831e-06_rb,0.15572e-06_rb,0.22059e-06_rb,0.46088e-05_rb /) kao(:, 3, 7, 3) = (/ & & 0.66901e-08_rb,0.14833e-06_rb,0.16524e-06_rb,0.14893e-06_rb,0.12670e-06_rb, & & 0.13152e-06_rb,0.16110e-06_rb,0.22404e-06_rb,0.46200e-05_rb /) kao(:, 4, 7, 3) = (/ & & 0.90836e-08_rb,0.15267e-06_rb,0.17113e-06_rb,0.15541e-06_rb,0.12966e-06_rb, & & 0.13240e-06_rb,0.16410e-06_rb,0.22868e-06_rb,0.45999e-05_rb /) kao(:, 5, 7, 3) = (/ & & 0.11721e-07_rb,0.15605e-06_rb,0.17580e-06_rb,0.16064e-06_rb,0.13194e-06_rb, & & 0.13127e-06_rb,0.16676e-06_rb,0.23245e-06_rb,0.46103e-05_rb /) kao(:, 1, 8, 3) = (/ & & 0.53770e-08_rb,0.12906e-06_rb,0.19117e-06_rb,0.16928e-06_rb,0.14454e-06_rb, & & 0.11318e-06_rb,0.12091e-06_rb,0.16771e-06_rb,0.10838e-04_rb /) kao(:, 2, 8, 3) = (/ & & 0.71217e-08_rb,0.13171e-06_rb,0.20115e-06_rb,0.17525e-06_rb,0.15189e-06_rb, & & 0.11980e-06_rb,0.12589e-06_rb,0.17247e-06_rb,0.10844e-04_rb /) kao(:, 3, 8, 3) = (/ & & 0.76051e-08_rb,0.13463e-06_rb,0.20837e-06_rb,0.18092e-06_rb,0.15831e-06_rb, & & 0.12491e-06_rb,0.12782e-06_rb,0.17568e-06_rb,0.10855e-04_rb /) kao(:, 4, 8, 3) = (/ & & 0.87276e-08_rb,0.14002e-06_rb,0.21488e-06_rb,0.18616e-06_rb,0.16272e-06_rb, & & 0.12991e-06_rb,0.13139e-06_rb,0.17775e-06_rb,0.10873e-04_rb /) kao(:, 5, 8, 3) = (/ & & 0.98102e-08_rb,0.14390e-06_rb,0.21715e-06_rb,0.19383e-06_rb,0.16843e-06_rb, & & 0.13102e-06_rb,0.13320e-06_rb,0.18001e-06_rb,0.10883e-04_rb /) kao(:, 1, 9, 3) = (/ & & 0.78846e-08_rb,0.14921e-06_rb,0.16266e-06_rb,0.21810e-06_rb,0.17257e-06_rb, & & 0.13914e-06_rb,0.10621e-06_rb,0.13009e-06_rb,0.22193e-04_rb /) kao(:, 2, 9, 3) = (/ & & 0.87670e-08_rb,0.15667e-06_rb,0.17179e-06_rb,0.22870e-06_rb,0.18453e-06_rb, & & 0.14806e-06_rb,0.11198e-06_rb,0.13228e-06_rb,0.22470e-04_rb /) kao(:, 3, 9, 3) = (/ & & 0.94042e-08_rb,0.16331e-06_rb,0.17929e-06_rb,0.23732e-06_rb,0.19309e-06_rb, & & 0.15669e-06_rb,0.11769e-06_rb,0.13462e-06_rb,0.22759e-04_rb /) kao(:, 4, 9, 3) = (/ & & 0.10052e-07_rb,0.16738e-06_rb,0.18654e-06_rb,0.24428e-06_rb,0.19714e-06_rb, & & 0.16469e-06_rb,0.12194e-06_rb,0.13694e-06_rb,0.23037e-04_rb /) kao(:, 5, 9, 3) = (/ & & 0.99609e-08_rb,0.16974e-06_rb,0.19096e-06_rb,0.25212e-06_rb,0.20604e-06_rb, & & 0.17005e-06_rb,0.12529e-06_rb,0.13965e-06_rb,0.23331e-04_rb /) kao(:, 1,10, 3) = (/ & & 0.10600e-07_rb,0.19194e-06_rb,0.19694e-06_rb,0.19228e-06_rb,0.23306e-06_rb, & & 0.18017e-06_rb,0.13563e-06_rb,0.11106e-06_rb,0.57833e-04_rb /) kao(:, 2,10, 3) = (/ & & 0.11513e-07_rb,0.19670e-06_rb,0.20600e-06_rb,0.20153e-06_rb,0.24712e-06_rb, & & 0.19420e-06_rb,0.14374e-06_rb,0.11223e-06_rb,0.59252e-04_rb /) kao(:, 3,10, 3) = (/ & & 0.12267e-07_rb,0.20052e-06_rb,0.21125e-06_rb,0.21502e-06_rb,0.25879e-06_rb, & & 0.20809e-06_rb,0.15257e-06_rb,0.11412e-06_rb,0.60474e-04_rb /) kao(:, 4,10, 3) = (/ & & 0.11377e-07_rb,0.20485e-06_rb,0.21479e-06_rb,0.22527e-06_rb,0.26884e-06_rb, & & 0.21723e-06_rb,0.15872e-06_rb,0.11733e-06_rb,0.61380e-04_rb /) kao(:, 5,10, 3) = (/ & & 0.12141e-07_rb,0.20611e-06_rb,0.22439e-06_rb,0.22986e-06_rb,0.27411e-06_rb, & & 0.22402e-06_rb,0.16342e-06_rb,0.11916e-06_rb,0.62353e-04_rb /) kao(:, 1,11, 3) = (/ & & 0.12251e-07_rb,0.29022e-06_rb,0.24496e-06_rb,0.24059e-06_rb,0.21631e-06_rb, & & 0.23923e-06_rb,0.16597e-06_rb,0.10842e-06_rb,0.80074e-04_rb /) kao(:, 2,11, 3) = (/ & & 0.12224e-07_rb,0.29680e-06_rb,0.25368e-06_rb,0.24691e-06_rb,0.22294e-06_rb, & & 0.24912e-06_rb,0.17747e-06_rb,0.10969e-06_rb,0.81125e-04_rb /) kao(:, 3,11, 3) = (/ & & 0.14264e-07_rb,0.29886e-06_rb,0.26040e-06_rb,0.25256e-06_rb,0.23184e-06_rb, & & 0.25957e-06_rb,0.18845e-06_rb,0.11123e-06_rb,0.82960e-04_rb /) kao(:, 4,11, 3) = (/ & & 0.16608e-07_rb,0.30056e-06_rb,0.26198e-06_rb,0.25724e-06_rb,0.23897e-06_rb, & & 0.26977e-06_rb,0.19716e-06_rb,0.11521e-06_rb,0.84911e-04_rb /) kao(:, 5,11, 3) = (/ & & 0.18982e-07_rb,0.30200e-06_rb,0.26559e-06_rb,0.26090e-06_rb,0.24427e-06_rb, & & 0.27763e-06_rb,0.20825e-06_rb,0.11858e-06_rb,0.86586e-04_rb /) kao(:, 1,12, 3) = (/ & & 0.16186e-07_rb,0.36864e-06_rb,0.27735e-06_rb,0.24475e-06_rb,0.23659e-06_rb, & & 0.20178e-06_rb,0.20651e-06_rb,0.11504e-06_rb,0.90323e-04_rb /) kao(:, 2,12, 3) = (/ & & 0.16900e-07_rb,0.36903e-06_rb,0.27865e-06_rb,0.25015e-06_rb,0.24279e-06_rb, & & 0.21379e-06_rb,0.22149e-06_rb,0.12739e-06_rb,0.92788e-04_rb /) kao(:, 3,12, 3) = (/ & & 0.18900e-07_rb,0.36546e-06_rb,0.28369e-06_rb,0.25919e-06_rb,0.24650e-06_rb, & & 0.22349e-06_rb,0.23741e-06_rb,0.13455e-06_rb,0.94381e-04_rb /) kao(:, 4,12, 3) = (/ & & 0.24666e-07_rb,0.36289e-06_rb,0.28992e-06_rb,0.26755e-06_rb,0.25261e-06_rb, & & 0.23012e-06_rb,0.24862e-06_rb,0.14012e-06_rb,0.95689e-04_rb /) kao(:, 5,12, 3) = (/ & & 0.28047e-07_rb,0.36144e-06_rb,0.29439e-06_rb,0.27280e-06_rb,0.25910e-06_rb, & & 0.23527e-06_rb,0.25804e-06_rb,0.14441e-06_rb,0.97273e-04_rb /) kao(:, 1,13, 3) = (/ & & 0.27099e-07_rb,0.42452e-06_rb,0.36469e-06_rb,0.28012e-06_rb,0.24206e-06_rb, & & 0.21452e-06_rb,0.19737e-06_rb,0.12552e-06_rb,0.93221e-04_rb /) kao(:, 2,13, 3) = (/ & & 0.30641e-07_rb,0.42348e-06_rb,0.36821e-06_rb,0.29049e-06_rb,0.25191e-06_rb, & & 0.22447e-06_rb,0.20459e-06_rb,0.13174e-06_rb,0.95326e-04_rb /) kao(:, 3,13, 3) = (/ & & 0.31538e-07_rb,0.42218e-06_rb,0.36978e-06_rb,0.29801e-06_rb,0.26042e-06_rb, & & 0.23413e-06_rb,0.21354e-06_rb,0.13999e-06_rb,0.97244e-04_rb /) kao(:, 4,13, 3) = (/ & & 0.33087e-07_rb,0.42233e-06_rb,0.36980e-06_rb,0.30223e-06_rb,0.26697e-06_rb, & & 0.24077e-06_rb,0.22289e-06_rb,0.14849e-06_rb,0.99282e-04_rb /) kao(:, 5,13, 3) = (/ & & 0.35771e-07_rb,0.42124e-06_rb,0.36949e-06_rb,0.30814e-06_rb,0.27423e-06_rb, & & 0.24510e-06_rb,0.22998e-06_rb,0.15431e-06_rb,0.10189e-03_rb /) kao(:, 1, 1, 4) = (/ & & 0.60599e-08_rb,0.49839e-06_rb,0.90796e-06_rb,0.12825e-05_rb,0.16387e-05_rb, & & 0.20000e-05_rb,0.24097e-05_rb,0.30198e-05_rb,0.14012e-05_rb /) kao(:, 2, 1, 4) = (/ & & 0.57361e-08_rb,0.51373e-06_rb,0.93344e-06_rb,0.13150e-05_rb,0.16776e-05_rb, & & 0.20412e-05_rb,0.24476e-05_rb,0.30155e-05_rb,0.14079e-05_rb /) kao(:, 3, 1, 4) = (/ & & 0.61895e-08_rb,0.64074e-06_rb,0.11706e-05_rb,0.16523e-05_rb,0.21138e-05_rb, & & 0.25765e-05_rb,0.30714e-05_rb,0.37148e-05_rb,0.20046e-05_rb /) kao(:, 4, 1, 4) = (/ & & 0.63590e-08_rb,0.53918e-06_rb,0.97233e-06_rb,0.13614e-05_rb,0.17274e-05_rb, & & 0.21018e-05_rb,0.24992e-05_rb,0.30391e-05_rb,0.14106e-05_rb /) kao(:, 5, 1, 4) = (/ & & 0.66907e-08_rb,0.54769e-06_rb,0.98459e-06_rb,0.13756e-05_rb,0.17428e-05_rb, & & 0.21216e-05_rb,0.25190e-05_rb,0.30528e-05_rb,0.14057e-05_rb /) kao(:, 1, 2, 4) = (/ & & 0.63247e-08_rb,0.40976e-06_rb,0.75743e-06_rb,0.10729e-05_rb,0.13776e-05_rb, & & 0.16847e-05_rb,0.20386e-05_rb,0.25923e-05_rb,0.11016e-05_rb /) kao(:, 2, 2, 4) = (/ & & 0.71971e-08_rb,0.42277e-06_rb,0.77866e-06_rb,0.11006e-05_rb,0.14075e-05_rb, & & 0.17208e-05_rb,0.20689e-05_rb,0.25842e-05_rb,0.11093e-05_rb /) kao(:, 3, 2, 4) = (/ & & 0.68862e-08_rb,0.54111e-06_rb,0.99924e-06_rb,0.14135e-05_rb,0.18137e-05_rb, & & 0.22190e-05_rb,0.26613e-05_rb,0.32636e-05_rb,0.16377e-05_rb /) kao(:, 4, 2, 4) = (/ & & 0.74570e-08_rb,0.54374e-06_rb,0.10016e-05_rb,0.14142e-05_rb,0.18118e-05_rb, & & 0.22093e-05_rb,0.26451e-05_rb,0.32306e-05_rb,0.16062e-05_rb /) kao(:, 5, 2, 4) = (/ & & 0.76975e-08_rb,0.44890e-06_rb,0.82016e-06_rb,0.11488e-05_rb,0.14591e-05_rb, & & 0.17814e-05_rb,0.21241e-05_rb,0.26089e-05_rb,0.11145e-05_rb /) kao(:, 1, 3, 4) = (/ & & 0.83656e-08_rb,0.31311e-06_rb,0.61949e-06_rb,0.88176e-06_rb,0.11379e-05_rb, & & 0.13977e-05_rb,0.17043e-05_rb,0.22078e-05_rb,0.73836e-06_rb /) kao(:, 2, 3, 4) = (/ & & 0.85171e-08_rb,0.32573e-06_rb,0.63573e-06_rb,0.90517e-06_rb,0.11641e-05_rb, & & 0.14286e-05_rb,0.17247e-05_rb,0.21938e-05_rb,0.74285e-06_rb /) kao(:, 3, 3, 4) = (/ & & 0.78702e-08_rb,0.33673e-06_rb,0.64948e-06_rb,0.92347e-06_rb,0.11844e-05_rb, & & 0.14525e-05_rb,0.17473e-05_rb,0.21823e-05_rb,0.74417e-06_rb /) kao(:, 4, 3, 4) = (/ & & 0.88135e-08_rb,0.44484e-06_rb,0.84006e-06_rb,0.11924e-05_rb,0.15326e-05_rb, & & 0.18766e-05_rb,0.22592e-05_rb,0.27980e-05_rb,0.11629e-05_rb /) kao(:, 5, 3, 4) = (/ & & 0.83594e-08_rb,0.34852e-06_rb,0.67171e-06_rb,0.94786e-06_rb,0.12080e-05_rb, & & 0.14818e-05_rb,0.17721e-05_rb,0.22017e-05_rb,0.74162e-06_rb /) kao(:, 1, 4, 4) = (/ & & 0.82233e-08_rb,0.22714e-06_rb,0.49574e-06_rb,0.71618e-06_rb,0.92897e-06_rb, & & 0.11522e-05_rb,0.14150e-05_rb,0.18749e-05_rb,0.10829e-05_rb /) kao(:, 2, 4, 4) = (/ & & 0.90906e-08_rb,0.23281e-06_rb,0.51082e-06_rb,0.73615e-06_rb,0.95322e-06_rb, & & 0.11749e-05_rb,0.14287e-05_rb,0.18456e-05_rb,0.10964e-05_rb /) kao(:, 3, 4, 4) = (/ & & 0.10403e-07_rb,0.23873e-06_rb,0.52083e-06_rb,0.75142e-06_rb,0.97057e-06_rb, & & 0.11959e-05_rb,0.14456e-05_rb,0.18299e-05_rb,0.11024e-05_rb /) kao(:, 4, 4, 4) = (/ & & 0.11681e-07_rb,0.24287e-06_rb,0.52982e-06_rb,0.76518e-06_rb,0.98418e-06_rb, & & 0.12105e-05_rb,0.14593e-05_rb,0.18314e-05_rb,0.11002e-05_rb /) kao(:, 5, 4, 4) = (/ & & 0.11781e-07_rb,0.32919e-06_rb,0.69041e-06_rb,0.99008e-06_rb,0.12781e-05_rb, & & 0.15684e-05_rb,0.18900e-05_rb,0.23626e-05_rb,0.11507e-05_rb /) kao(:, 1, 5, 4) = (/ & & 0.10746e-07_rb,0.16960e-06_rb,0.36271e-06_rb,0.57393e-06_rb,0.75088e-06_rb, & & 0.94078e-06_rb,0.11700e-05_rb,0.15610e-05_rb,0.23060e-05_rb /) kao(:, 2, 5, 4) = (/ & & 0.12322e-07_rb,0.17145e-06_rb,0.37466e-06_rb,0.58975e-06_rb,0.77156e-06_rb, & & 0.96051e-06_rb,0.11773e-05_rb,0.15431e-05_rb,0.23550e-05_rb /) kao(:, 3, 5, 4) = (/ & & 0.12362e-07_rb,0.17491e-06_rb,0.38517e-06_rb,0.60273e-06_rb,0.78779e-06_rb, & & 0.97831e-06_rb,0.11895e-05_rb,0.15264e-05_rb,0.23946e-05_rb /) kao(:, 4, 5, 4) = (/ & & 0.11932e-07_rb,0.17603e-06_rb,0.39310e-06_rb,0.61276e-06_rb,0.80198e-06_rb, & & 0.99168e-06_rb,0.12014e-05_rb,0.15209e-05_rb,0.24122e-05_rb /) kao(:, 5, 5, 4) = (/ & & 0.12827e-07_rb,0.23797e-06_rb,0.54915e-06_rb,0.81314e-06_rb,0.10605e-05_rb, & & 0.13079e-05_rb,0.15848e-05_rb,0.19982e-05_rb,0.26265e-05_rb /) kao(:, 1, 6, 4) = (/ & & 0.16887e-07_rb,0.16918e-06_rb,0.26182e-06_rb,0.43955e-06_rb,0.59876e-06_rb, & & 0.76220e-06_rb,0.96205e-06_rb,0.12977e-05_rb,0.30196e-05_rb /) kao(:, 2, 6, 4) = (/ & & 0.16463e-07_rb,0.17256e-06_rb,0.26723e-06_rb,0.45266e-06_rb,0.61330e-06_rb, & & 0.77949e-06_rb,0.96881e-06_rb,0.12938e-05_rb,0.31027e-05_rb /) kao(:, 3, 6, 4) = (/ & & 0.14297e-07_rb,0.17174e-06_rb,0.27626e-06_rb,0.46141e-06_rb,0.62873e-06_rb, & & 0.79335e-06_rb,0.97523e-06_rb,0.12716e-05_rb,0.31487e-05_rb /) kao(:, 4, 6, 4) = (/ & & 0.15984e-07_rb,0.17093e-06_rb,0.27951e-06_rb,0.46972e-06_rb,0.64062e-06_rb, & & 0.80616e-06_rb,0.98183e-06_rb,0.12602e-05_rb,0.31591e-05_rb /) kao(:, 5, 6, 4) = (/ & & 0.17832e-07_rb,0.17197e-06_rb,0.28124e-06_rb,0.47610e-06_rb,0.64900e-06_rb, & & 0.81537e-06_rb,0.99403e-06_rb,0.12613e-05_rb,0.32001e-05_rb /) kao(:, 1, 7, 4) = (/ & & 0.19543e-07_rb,0.20424e-06_rb,0.20827e-06_rb,0.30613e-06_rb,0.46038e-06_rb, & & 0.61052e-06_rb,0.78796e-06_rb,0.10769e-05_rb,0.53495e-05_rb /) kao(:, 2, 7, 4) = (/ & & 0.21943e-07_rb,0.20486e-06_rb,0.21292e-06_rb,0.31650e-06_rb,0.47369e-06_rb, & & 0.62546e-06_rb,0.78997e-06_rb,0.10696e-05_rb,0.53612e-05_rb /) kao(:, 3, 7, 4) = (/ & & 0.23096e-07_rb,0.20519e-06_rb,0.21260e-06_rb,0.32419e-06_rb,0.48522e-06_rb, & & 0.63494e-06_rb,0.79556e-06_rb,0.10562e-05_rb,0.54125e-05_rb /) kao(:, 4, 7, 4) = (/ & & 0.23811e-07_rb,0.20761e-06_rb,0.21334e-06_rb,0.32752e-06_rb,0.49467e-06_rb, & & 0.64456e-06_rb,0.80411e-06_rb,0.10435e-05_rb,0.54920e-05_rb /) kao(:, 5, 7, 4) = (/ & & 0.23502e-07_rb,0.20918e-06_rb,0.21430e-06_rb,0.32878e-06_rb,0.50037e-06_rb, & & 0.65413e-06_rb,0.80879e-06_rb,0.10409e-05_rb,0.55076e-05_rb /) kao(:, 1, 8, 4) = (/ & & 0.28818e-07_rb,0.26386e-06_rb,0.23322e-06_rb,0.23394e-06_rb,0.31766e-06_rb, & & 0.47372e-06_rb,0.64268e-06_rb,0.89272e-06_rb,0.10691e-04_rb /) kao(:, 2, 8, 4) = (/ & & 0.30094e-07_rb,0.27235e-06_rb,0.23524e-06_rb,0.24245e-06_rb,0.32636e-06_rb, & & 0.48411e-06_rb,0.63773e-06_rb,0.88040e-06_rb,0.10770e-04_rb /) kao(:, 3, 8, 4) = (/ & & 0.32474e-07_rb,0.27799e-06_rb,0.23717e-06_rb,0.24789e-06_rb,0.33554e-06_rb, & & 0.49304e-06_rb,0.64255e-06_rb,0.87788e-06_rb,0.10799e-04_rb /) kao(:, 4, 8, 4) = (/ & & 0.33631e-07_rb,0.28020e-06_rb,0.23819e-06_rb,0.25000e-06_rb,0.34187e-06_rb, & & 0.49874e-06_rb,0.64803e-06_rb,0.86373e-06_rb,0.10824e-04_rb /) kao(:, 5, 8, 4) = (/ & & 0.34597e-07_rb,0.28107e-06_rb,0.24266e-06_rb,0.24933e-06_rb,0.34607e-06_rb, & & 0.50692e-06_rb,0.65081e-06_rb,0.85686e-06_rb,0.10819e-04_rb /) kao(:, 1, 9, 4) = (/ & & 0.37049e-07_rb,0.33070e-06_rb,0.32147e-06_rb,0.25828e-06_rb,0.24460e-06_rb, & & 0.33057e-06_rb,0.51182e-06_rb,0.72970e-06_rb,0.32667e-04_rb /) kao(:, 2, 9, 4) = (/ & & 0.39634e-07_rb,0.34282e-06_rb,0.32875e-06_rb,0.26785e-06_rb,0.25757e-06_rb, & & 0.33579e-06_rb,0.50462e-06_rb,0.72240e-06_rb,0.32638e-04_rb /) kao(:, 3, 9, 4) = (/ & & 0.42012e-07_rb,0.34998e-06_rb,0.33495e-06_rb,0.27514e-06_rb,0.26581e-06_rb, & & 0.33988e-06_rb,0.50360e-06_rb,0.72105e-06_rb,0.32828e-04_rb /) kao(:, 4, 9, 4) = (/ & & 0.43216e-07_rb,0.35061e-06_rb,0.33953e-06_rb,0.28140e-06_rb,0.27172e-06_rb, & & 0.34266e-06_rb,0.50914e-06_rb,0.70829e-06_rb,0.32970e-04_rb /) kao(:, 5, 9, 4) = (/ & & 0.43838e-07_rb,0.35447e-06_rb,0.34674e-06_rb,0.28252e-06_rb,0.27122e-06_rb, & & 0.34740e-06_rb,0.51058e-06_rb,0.70194e-06_rb,0.33023e-04_rb /) kao(:, 1,10, 4) = (/ & & 0.46492e-07_rb,0.34673e-06_rb,0.43959e-06_rb,0.39620e-06_rb,0.30969e-06_rb, & & 0.25359e-06_rb,0.35579e-06_rb,0.58999e-06_rb,0.75308e-04_rb /) kao(:, 2,10, 4) = (/ & & 0.51642e-07_rb,0.35814e-06_rb,0.45251e-06_rb,0.40694e-06_rb,0.31643e-06_rb, & & 0.25658e-06_rb,0.34700e-06_rb,0.58340e-06_rb,0.75445e-04_rb /) kao(:, 3,10, 4) = (/ & & 0.55139e-07_rb,0.36959e-06_rb,0.46273e-06_rb,0.41592e-06_rb,0.32168e-06_rb, & & 0.26320e-06_rb,0.34598e-06_rb,0.57972e-06_rb,0.75796e-04_rb /) kao(:, 4,10, 4) = (/ & & 0.58094e-07_rb,0.37731e-06_rb,0.47160e-06_rb,0.41969e-06_rb,0.32536e-06_rb, & & 0.27186e-06_rb,0.34692e-06_rb,0.57173e-06_rb,0.76680e-04_rb /) kao(:, 5,10, 4) = (/ & & 0.62665e-07_rb,0.38529e-06_rb,0.47122e-06_rb,0.42322e-06_rb,0.32990e-06_rb, & & 0.28125e-06_rb,0.34920e-06_rb,0.56204e-06_rb,0.77515e-04_rb /) kao(:, 1,11, 4) = (/ & & 0.71997e-07_rb,0.39039e-06_rb,0.48930e-06_rb,0.52037e-06_rb,0.44835e-06_rb, & & 0.32920e-06_rb,0.25424e-06_rb,0.45719e-06_rb,0.97599e-04_rb /) kao(:, 2,11, 4) = (/ & & 0.84174e-07_rb,0.39220e-06_rb,0.49753e-06_rb,0.53466e-06_rb,0.46035e-06_rb, & & 0.34028e-06_rb,0.25580e-06_rb,0.44804e-06_rb,0.98017e-04_rb /) kao(:, 3,11, 4) = (/ & & 0.88241e-07_rb,0.39809e-06_rb,0.50514e-06_rb,0.54464e-06_rb,0.47069e-06_rb, & & 0.34919e-06_rb,0.25830e-06_rb,0.44783e-06_rb,0.97609e-04_rb /) kao(:, 4,11, 4) = (/ & & 0.93462e-07_rb,0.40271e-06_rb,0.51216e-06_rb,0.55531e-06_rb,0.48178e-06_rb, & & 0.35530e-06_rb,0.26505e-06_rb,0.43524e-06_rb,0.97099e-04_rb /) kao(:, 5,11, 4) = (/ & & 0.96966e-07_rb,0.40660e-06_rb,0.51682e-06_rb,0.56367e-06_rb,0.48662e-06_rb, & & 0.35706e-06_rb,0.26903e-06_rb,0.42986e-06_rb,0.97653e-04_rb /) kao(:, 1,12, 4) = (/ & & 0.99102e-07_rb,0.42179e-06_rb,0.46920e-06_rb,0.54974e-06_rb,0.50699e-06_rb, & & 0.41543e-06_rb,0.26692e-06_rb,0.34287e-06_rb,0.10692e-03_rb /) kao(:, 2,12, 4) = (/ & & 0.10220e-06_rb,0.42343e-06_rb,0.48263e-06_rb,0.56179e-06_rb,0.52088e-06_rb, & & 0.42826e-06_rb,0.27416e-06_rb,0.32165e-06_rb,0.10849e-03_rb /) kao(:, 3,12, 4) = (/ & & 0.10736e-06_rb,0.42994e-06_rb,0.49237e-06_rb,0.56848e-06_rb,0.53837e-06_rb, & & 0.43862e-06_rb,0.28070e-06_rb,0.31402e-06_rb,0.10890e-03_rb /) kao(:, 4,12, 4) = (/ & & 0.10535e-06_rb,0.42853e-06_rb,0.49830e-06_rb,0.57259e-06_rb,0.55337e-06_rb, & & 0.45117e-06_rb,0.28964e-06_rb,0.30229e-06_rb,0.11005e-03_rb /) kao(:, 5,12, 4) = (/ & & 0.10635e-06_rb,0.42826e-06_rb,0.50038e-06_rb,0.57688e-06_rb,0.56182e-06_rb, & & 0.45862e-06_rb,0.29473e-06_rb,0.29904e-06_rb,0.11056e-03_rb /) kao(:, 1,13, 4) = (/ & & 0.11521e-06_rb,0.43118e-06_rb,0.49222e-06_rb,0.52624e-06_rb,0.55771e-06_rb, & & 0.47186e-06_rb,0.32691e-06_rb,0.24833e-06_rb,0.10886e-03_rb /) kao(:, 2,13, 4) = (/ & & 0.11730e-06_rb,0.43904e-06_rb,0.49350e-06_rb,0.54164e-06_rb,0.56845e-06_rb, & & 0.49098e-06_rb,0.34261e-06_rb,0.23938e-06_rb,0.11077e-03_rb /) kao(:, 3,13, 4) = (/ & & 0.11952e-06_rb,0.44327e-06_rb,0.50284e-06_rb,0.55816e-06_rb,0.58198e-06_rb, & & 0.50372e-06_rb,0.35861e-06_rb,0.22850e-06_rb,0.11296e-03_rb /) kao(:, 4,13, 4) = (/ & & 0.11965e-06_rb,0.44664e-06_rb,0.51058e-06_rb,0.56661e-06_rb,0.59093e-06_rb, & & 0.51146e-06_rb,0.36596e-06_rb,0.22349e-06_rb,0.11560e-03_rb /) kao(:, 5,13, 4) = (/ & & 0.12171e-06_rb,0.45566e-06_rb,0.52364e-06_rb,0.57439e-06_rb,0.59010e-06_rb, & & 0.52011e-06_rb,0.37200e-06_rb,0.22417e-06_rb,0.11598e-03_rb /) kao(:, 1, 1, 5) = (/ & & 0.64393e-08_rb,0.14477e-05_rb,0.26383e-05_rb,0.37578e-05_rb,0.48497e-05_rb, & & 0.58771e-05_rb,0.69748e-05_rb,0.83337e-05_rb,0.52972e-05_rb /) kao(:, 2, 1, 5) = (/ & & 0.74788e-08_rb,0.14813e-05_rb,0.26820e-05_rb,0.38123e-05_rb,0.49043e-05_rb, & & 0.59719e-05_rb,0.70794e-05_rb,0.84777e-05_rb,0.53686e-05_rb /) kao(:, 3, 1, 5) = (/ & & 0.70698e-08_rb,0.17381e-05_rb,0.31521e-05_rb,0.44815e-05_rb,0.57370e-05_rb, & & 0.69696e-05_rb,0.82426e-05_rb,0.98195e-05_rb,0.67445e-05_rb /) kao(:, 4, 1, 5) = (/ & & 0.75728e-08_rb,0.15363e-05_rb,0.27544e-05_rb,0.38956e-05_rb,0.49855e-05_rb, & & 0.60556e-05_rb,0.72284e-05_rb,0.86770e-05_rb,0.54442e-05_rb /) kao(:, 5, 1, 5) = (/ & & 0.72646e-08_rb,0.15573e-05_rb,0.27840e-05_rb,0.39266e-05_rb,0.50091e-05_rb, & & 0.60781e-05_rb,0.72327e-05_rb,0.87344e-05_rb,0.54537e-05_rb /) kao(:, 1, 2, 5) = (/ & & 0.91682e-08_rb,0.12471e-05_rb,0.22727e-05_rb,0.32462e-05_rb,0.42007e-05_rb, & & 0.51012e-05_rb,0.60761e-05_rb,0.73379e-05_rb,0.44448e-05_rb /) kao(:, 2, 2, 5) = (/ & & 0.78841e-08_rb,0.12745e-05_rb,0.23098e-05_rb,0.32938e-05_rb,0.42384e-05_rb, & & 0.51817e-05_rb,0.61658e-05_rb,0.74615e-05_rb,0.44925e-05_rb /) kao(:, 3, 2, 5) = (/ & & 0.88457e-08_rb,0.15305e-05_rb,0.27824e-05_rb,0.39573e-05_rb,0.50820e-05_rb, & & 0.61863e-05_rb,0.73547e-05_rb,0.88186e-05_rb,0.58192e-05_rb /) kao(:, 4, 2, 5) = (/ & & 0.81699e-08_rb,0.15379e-05_rb,0.27884e-05_rb,0.39554e-05_rb,0.50640e-05_rb, & & 0.61598e-05_rb,0.73260e-05_rb,0.88047e-05_rb,0.57596e-05_rb /) kao(:, 5, 2, 5) = (/ & & 0.81267e-08_rb,0.13345e-05_rb,0.23941e-05_rb,0.33760e-05_rb,0.43121e-05_rb, & & 0.52406e-05_rb,0.62663e-05_rb,0.76657e-05_rb,0.45393e-05_rb /) kao(:, 1, 3, 5) = (/ & & 0.91717e-08_rb,0.10541e-05_rb,0.19313e-05_rb,0.27682e-05_rb,0.35915e-05_rb, & & 0.43666e-05_rb,0.52222e-05_rb,0.63759e-05_rb,0.36110e-05_rb /) kao(:, 2, 3, 5) = (/ & & 0.10331e-07_rb,0.10789e-05_rb,0.19645e-05_rb,0.28075e-05_rb,0.36240e-05_rb, & & 0.44392e-05_rb,0.52990e-05_rb,0.64883e-05_rb,0.36530e-05_rb /) kao(:, 3, 3, 5) = (/ & & 0.12324e-07_rb,0.10988e-05_rb,0.19944e-05_rb,0.28363e-05_rb,0.36532e-05_rb, & & 0.44650e-05_rb,0.53622e-05_rb,0.65761e-05_rb,0.36791e-05_rb /) kao(:, 4, 3, 5) = (/ & & 0.11596e-07_rb,0.13389e-05_rb,0.24365e-05_rb,0.34597e-05_rb,0.44354e-05_rb, & & 0.54167e-05_rb,0.64681e-05_rb,0.78697e-05_rb,0.48568e-05_rb /) kao(:, 5, 3, 5) = (/ & & 0.11476e-07_rb,0.11282e-05_rb,0.20370e-05_rb,0.28768e-05_rb,0.36785e-05_rb, & & 0.44764e-05_rb,0.53828e-05_rb,0.66660e-05_rb,0.36841e-05_rb /) kao(:, 1, 4, 5) = (/ & & 0.12942e-07_rb,0.87057e-06_rb,0.16185e-05_rb,0.23328e-05_rb,0.30327e-05_rb, & & 0.36939e-05_rb,0.44351e-05_rb,0.54720e-05_rb,0.21271e-05_rb /) kao(:, 2, 4, 5) = (/ & & 0.12911e-07_rb,0.89351e-06_rb,0.16491e-05_rb,0.23657e-05_rb,0.30660e-05_rb, & & 0.37589e-05_rb,0.45049e-05_rb,0.55808e-05_rb,0.21315e-05_rb /) kao(:, 3, 4, 5) = (/ & & 0.11919e-07_rb,0.91285e-06_rb,0.16762e-05_rb,0.23907e-05_rb,0.30911e-05_rb, & & 0.37889e-05_rb,0.45584e-05_rb,0.56554e-05_rb,0.21302e-05_rb /) kao(:, 4, 4, 5) = (/ & & 0.12644e-07_rb,0.92680e-06_rb,0.16966e-05_rb,0.24115e-05_rb,0.31023e-05_rb, & & 0.37973e-05_rb,0.46002e-05_rb,0.57029e-05_rb,0.21090e-05_rb /) kao(:, 5, 4, 5) = (/ & & 0.14252e-07_rb,0.11501e-05_rb,0.21042e-05_rb,0.29827e-05_rb,0.38200e-05_rb, & & 0.46680e-05_rb,0.55977e-05_rb,0.69211e-05_rb,0.32123e-05_rb /) kao(:, 1, 5, 5) = (/ & & 0.14457e-07_rb,0.68848e-06_rb,0.13403e-05_rb,0.19448e-05_rb,0.25364e-05_rb, & & 0.30956e-05_rb,0.37236e-05_rb,0.46561e-05_rb,0.23476e-05_rb /) kao(:, 2, 5, 5) = (/ & & 0.13664e-07_rb,0.70724e-06_rb,0.13666e-05_rb,0.19744e-05_rb,0.25701e-05_rb, & & 0.31515e-05_rb,0.37903e-05_rb,0.47386e-05_rb,0.23292e-05_rb /) kao(:, 3, 5, 5) = (/ & & 0.16363e-07_rb,0.72382e-06_rb,0.13894e-05_rb,0.19966e-05_rb,0.25908e-05_rb, & & 0.31942e-05_rb,0.38380e-05_rb,0.48063e-05_rb,0.23210e-05_rb /) kao(:, 4, 5, 5) = (/ & & 0.18854e-07_rb,0.73645e-06_rb,0.14075e-05_rb,0.20143e-05_rb,0.25995e-05_rb, & & 0.31924e-05_rb,0.38751e-05_rb,0.48509e-05_rb,0.23084e-05_rb /) kao(:, 5, 5, 5) = (/ & & 0.19502e-07_rb,0.95711e-06_rb,0.17948e-05_rb,0.25536e-05_rb,0.32756e-05_rb, & & 0.40127e-05_rb,0.48356e-05_rb,0.60502e-05_rb,0.26522e-05_rb /) kao(:, 1, 6, 5) = (/ & & 0.20265e-07_rb,0.45716e-06_rb,0.10840e-05_rb,0.16034e-05_rb,0.20999e-05_rb, & & 0.25681e-05_rb,0.30977e-05_rb,0.39107e-05_rb,0.52450e-05_rb /) kao(:, 2, 6, 5) = (/ & & 0.21598e-07_rb,0.47132e-06_rb,0.11079e-05_rb,0.16263e-05_rb,0.21396e-05_rb, & & 0.26164e-05_rb,0.31577e-05_rb,0.39701e-05_rb,0.52182e-05_rb /) kao(:, 3, 6, 5) = (/ & & 0.24575e-07_rb,0.48601e-06_rb,0.11257e-05_rb,0.16486e-05_rb,0.21513e-05_rb, & & 0.26585e-05_rb,0.32022e-05_rb,0.40354e-05_rb,0.51968e-05_rb /) kao(:, 4, 6, 5) = (/ & & 0.24397e-07_rb,0.49804e-06_rb,0.11416e-05_rb,0.16645e-05_rb,0.21605e-05_rb, & & 0.26639e-05_rb,0.32353e-05_rb,0.40822e-05_rb,0.51575e-05_rb /) kao(:, 5, 6, 5) = (/ & & 0.24456e-07_rb,0.50499e-06_rb,0.11522e-05_rb,0.16738e-05_rb,0.21632e-05_rb, & & 0.26629e-05_rb,0.32463e-05_rb,0.41051e-05_rb,0.51085e-05_rb /) kao(:, 1, 7, 5) = (/ & & 0.28039e-07_rb,0.29800e-06_rb,0.81783e-06_rb,0.13008e-05_rb,0.17226e-05_rb, & & 0.21163e-05_rb,0.25578e-05_rb,0.32519e-05_rb,0.82307e-05_rb /) kao(:, 2, 7, 5) = (/ & & 0.29388e-07_rb,0.30492e-06_rb,0.83771e-06_rb,0.13192e-05_rb,0.17591e-05_rb, & & 0.21563e-05_rb,0.26128e-05_rb,0.33130e-05_rb,0.81908e-05_rb /) kao(:, 3, 7, 5) = (/ & & 0.29556e-07_rb,0.30866e-06_rb,0.85444e-06_rb,0.13376e-05_rb,0.17722e-05_rb, & & 0.21943e-05_rb,0.26541e-05_rb,0.33584e-05_rb,0.81819e-05_rb /) kao(:, 4, 7, 5) = (/ & & 0.26709e-07_rb,0.30951e-06_rb,0.86739e-06_rb,0.13505e-05_rb,0.17805e-05_rb, & & 0.22093e-05_rb,0.26812e-05_rb,0.34009e-05_rb,0.81017e-05_rb /) kao(:, 5, 7, 5) = (/ & & 0.27877e-07_rb,0.31158e-06_rb,0.87645e-06_rb,0.13597e-05_rb,0.17817e-05_rb, & & 0.22083e-05_rb,0.26996e-05_rb,0.34240e-05_rb,0.80774e-05_rb /) kao(:, 1, 8, 5) = (/ & & 0.34498e-07_rb,0.30504e-06_rb,0.50025e-06_rb,0.99104e-06_rb,0.13907e-05_rb, & & 0.17284e-05_rb,0.20950e-05_rb,0.26875e-05_rb,0.12492e-04_rb /) kao(:, 2, 8, 5) = (/ & & 0.34468e-07_rb,0.31253e-06_rb,0.51376e-06_rb,0.10029e-05_rb,0.14233e-05_rb, & & 0.17665e-05_rb,0.21486e-05_rb,0.27439e-05_rb,0.12811e-04_rb /) kao(:, 3, 8, 5) = (/ & & 0.33481e-07_rb,0.31885e-06_rb,0.52532e-06_rb,0.10176e-05_rb,0.14361e-05_rb, & & 0.18000e-05_rb,0.21864e-05_rb,0.27713e-05_rb,0.12979e-04_rb /) kao(:, 4, 8, 5) = (/ & & 0.35023e-07_rb,0.32212e-06_rb,0.53171e-06_rb,0.10292e-05_rb,0.14414e-05_rb, & & 0.18222e-05_rb,0.22113e-05_rb,0.28111e-05_rb,0.13061e-04_rb /) kao(:, 5, 8, 5) = (/ & & 0.38480e-07_rb,0.32386e-06_rb,0.53818e-06_rb,0.10355e-05_rb,0.14400e-05_rb, & & 0.18162e-05_rb,0.22298e-05_rb,0.28367e-05_rb,0.13100e-04_rb /) kao(:, 1, 9, 5) = (/ & & 0.41152e-07_rb,0.31870e-06_rb,0.36402e-06_rb,0.61613e-06_rb,0.10619e-05_rb, & & 0.13940e-05_rb,0.17098e-05_rb,0.22173e-05_rb,0.27198e-04_rb /) kao(:, 2, 9, 5) = (/ & & 0.47020e-07_rb,0.31765e-06_rb,0.37312e-06_rb,0.61961e-06_rb,0.10763e-05_rb, & & 0.14273e-05_rb,0.17555e-05_rb,0.22573e-05_rb,0.28218e-04_rb /) kao(:, 3, 9, 5) = (/ & & 0.48171e-07_rb,0.31526e-06_rb,0.38468e-06_rb,0.62540e-06_rb,0.10803e-05_rb, & & 0.14543e-05_rb,0.17919e-05_rb,0.22822e-05_rb,0.28600e-04_rb /) kao(:, 4, 9, 5) = (/ & & 0.52826e-07_rb,0.32481e-06_rb,0.38733e-06_rb,0.62721e-06_rb,0.10854e-05_rb, & & 0.14750e-05_rb,0.18124e-05_rb,0.23140e-05_rb,0.29051e-04_rb /) kao(:, 5, 9, 5) = (/ & & 0.56456e-07_rb,0.32727e-06_rb,0.38424e-06_rb,0.63178e-06_rb,0.10853e-05_rb, & & 0.14692e-05_rb,0.18309e-05_rb,0.23369e-05_rb,0.29958e-04_rb /) kao(:, 1,10, 5) = (/ & & 0.62033e-07_rb,0.45418e-06_rb,0.43247e-06_rb,0.44775e-06_rb,0.62834e-06_rb, & & 0.10534e-05_rb,0.13865e-05_rb,0.18301e-05_rb,0.47779e-04_rb /) kao(:, 2,10, 5) = (/ & & 0.66259e-07_rb,0.45321e-06_rb,0.43983e-06_rb,0.45223e-06_rb,0.63440e-06_rb, & & 0.10746e-05_rb,0.14253e-05_rb,0.18534e-05_rb,0.48468e-04_rb /) kao(:, 3,10, 5) = (/ & & 0.78966e-07_rb,0.45246e-06_rb,0.44780e-06_rb,0.45868e-06_rb,0.63026e-06_rb, & & 0.10842e-05_rb,0.14519e-05_rb,0.18794e-05_rb,0.49251e-04_rb /) kao(:, 4,10, 5) = (/ & & 0.87881e-07_rb,0.44642e-06_rb,0.45426e-06_rb,0.46583e-06_rb,0.63116e-06_rb, & & 0.10925e-05_rb,0.14710e-05_rb,0.18965e-05_rb,0.49742e-04_rb /) kao(:, 5,10, 5) = (/ & & 0.92572e-07_rb,0.44310e-06_rb,0.45326e-06_rb,0.47005e-06_rb,0.63094e-06_rb, & & 0.10763e-05_rb,0.14843e-05_rb,0.19214e-05_rb,0.50457e-04_rb /) kao(:, 1,11, 5) = (/ & & 0.10522e-06_rb,0.58600e-06_rb,0.57473e-06_rb,0.52150e-06_rb,0.51202e-06_rb, & & 0.62383e-06_rb,0.10987e-05_rb,0.15032e-05_rb,0.50557e-04_rb /) kao(:, 2,11, 5) = (/ & & 0.98332e-07_rb,0.58669e-06_rb,0.57910e-06_rb,0.52997e-06_rb,0.52591e-06_rb, & & 0.62992e-06_rb,0.11144e-05_rb,0.15271e-05_rb,0.52915e-04_rb /) kao(:, 3,11, 5) = (/ & & 0.10383e-06_rb,0.58976e-06_rb,0.58650e-06_rb,0.53573e-06_rb,0.53394e-06_rb, & & 0.63743e-06_rb,0.11251e-05_rb,0.15415e-05_rb,0.55206e-04_rb /) kao(:, 4,11, 5) = (/ & & 0.10626e-06_rb,0.58622e-06_rb,0.58747e-06_rb,0.53868e-06_rb,0.53891e-06_rb, & & 0.62645e-06_rb,0.11296e-05_rb,0.15628e-05_rb,0.58020e-04_rb /) kao(:, 5,11, 5) = (/ & & 0.10795e-06_rb,0.57800e-06_rb,0.58664e-06_rb,0.53883e-06_rb,0.54784e-06_rb, & & 0.62145e-06_rb,0.11279e-05_rb,0.15782e-05_rb,0.60369e-04_rb /) kao(:, 1,12, 5) = (/ & & 0.11905e-06_rb,0.60759e-06_rb,0.68611e-06_rb,0.59318e-06_rb,0.53805e-06_rb, & & 0.44962e-06_rb,0.74828e-06_rb,0.12279e-05_rb,0.57098e-04_rb /) kao(:, 2,12, 5) = (/ & & 0.12660e-06_rb,0.61695e-06_rb,0.68094e-06_rb,0.60079e-06_rb,0.55064e-06_rb, & & 0.44953e-06_rb,0.74858e-06_rb,0.12489e-05_rb,0.55969e-04_rb /) kao(:, 3,12, 5) = (/ & & 0.12824e-06_rb,0.61561e-06_rb,0.67586e-06_rb,0.61662e-06_rb,0.55533e-06_rb, & & 0.46796e-06_rb,0.74406e-06_rb,0.12615e-05_rb,0.57249e-04_rb /) kao(:, 4,12, 5) = (/ & & 0.12834e-06_rb,0.62554e-06_rb,0.67923e-06_rb,0.62343e-06_rb,0.55964e-06_rb, & & 0.48091e-06_rb,0.73622e-06_rb,0.12795e-05_rb,0.58462e-04_rb /) kao(:, 5,12, 5) = (/ & & 0.13022e-06_rb,0.63206e-06_rb,0.68726e-06_rb,0.62663e-06_rb,0.56231e-06_rb, & & 0.48008e-06_rb,0.72942e-06_rb,0.12885e-05_rb,0.57642e-04_rb /) kao(:, 1,13, 5) = (/ & & 0.15325e-06_rb,0.60909e-06_rb,0.76952e-06_rb,0.71232e-06_rb,0.57983e-06_rb, & & 0.50489e-06_rb,0.48627e-06_rb,0.99183e-06_rb,0.58778e-04_rb /) kao(:, 2,13, 5) = (/ & & 0.15519e-06_rb,0.62152e-06_rb,0.78639e-06_rb,0.71888e-06_rb,0.59866e-06_rb, & & 0.50930e-06_rb,0.48247e-06_rb,0.10069e-05_rb,0.57959e-04_rb /) kao(:, 3,13, 5) = (/ & & 0.17242e-06_rb,0.64099e-06_rb,0.78686e-06_rb,0.71502e-06_rb,0.60678e-06_rb, & & 0.51633e-06_rb,0.47220e-06_rb,0.10180e-05_rb,0.56844e-04_rb /) kao(:, 4,13, 5) = (/ & & 0.18585e-06_rb,0.65002e-06_rb,0.78368e-06_rb,0.71421e-06_rb,0.61538e-06_rb, & & 0.52650e-06_rb,0.46857e-06_rb,0.10263e-05_rb,0.55757e-04_rb /) kao(:, 5,13, 5) = (/ & & 0.19235e-06_rb,0.64166e-06_rb,0.76203e-06_rb,0.70622e-06_rb,0.61837e-06_rb, & & 0.53042e-06_rb,0.45529e-06_rb,0.10275e-05_rb,0.55475e-04_rb /) kao(:, 1, 1, 6) = (/ & & 0.95617e-08_rb,0.36774e-05_rb,0.65849e-05_rb,0.92221e-05_rb,0.11700e-04_rb, & & 0.14161e-04_rb,0.16732e-04_rb,0.20350e-04_rb,0.14554e-04_rb /) kao(:, 2, 1, 6) = (/ & & 0.93327e-08_rb,0.37537e-05_rb,0.66916e-05_rb,0.93495e-05_rb,0.11842e-04_rb, & & 0.14289e-04_rb,0.16848e-04_rb,0.20318e-04_rb,0.14747e-04_rb /) kao(:, 3, 1, 6) = (/ & & 0.98298e-08_rb,0.41944e-05_rb,0.75022e-05_rb,0.10503e-04_rb,0.13381e-04_rb, & & 0.16104e-04_rb,0.19004e-04_rb,0.22601e-04_rb,0.17337e-04_rb /) kao(:, 4, 1, 6) = (/ & & 0.92318e-08_rb,0.38872e-05_rb,0.68816e-05_rb,0.95784e-05_rb,0.12112e-04_rb, & & 0.14510e-04_rb,0.17052e-04_rb,0.20522e-04_rb,0.14967e-04_rb /) kao(:, 5, 1, 6) = (/ & & 0.98053e-08_rb,0.39438e-05_rb,0.69574e-05_rb,0.96665e-05_rb,0.12218e-04_rb, & & 0.14607e-04_rb,0.17135e-04_rb,0.20557e-04_rb,0.15005e-04_rb /) kao(:, 1, 2, 6) = (/ & & 0.99669e-08_rb,0.32456e-05_rb,0.58216e-05_rb,0.81575e-05_rb,0.10349e-04_rb, & & 0.12573e-04_rb,0.14901e-04_rb,0.18163e-04_rb,0.12615e-04_rb /) kao(:, 2, 2, 6) = (/ & & 0.12231e-07_rb,0.33138e-05_rb,0.59221e-05_rb,0.82752e-05_rb,0.10501e-04_rb, & & 0.12666e-04_rb,0.15004e-04_rb,0.18147e-04_rb,0.12797e-04_rb /) kao(:, 3, 2, 6) = (/ & & 0.10745e-07_rb,0.37581e-05_rb,0.67327e-05_rb,0.94426e-05_rb,0.12044e-04_rb, & & 0.14533e-04_rb,0.17181e-04_rb,0.20503e-04_rb,0.15464e-04_rb /) kao(:, 4, 2, 6) = (/ & & 0.11723e-07_rb,0.37897e-05_rb,0.67581e-05_rb,0.94584e-05_rb,0.12035e-04_rb, & & 0.14508e-04_rb,0.17115e-04_rb,0.20450e-04_rb,0.15378e-04_rb /) kao(:, 5, 2, 6) = (/ & & 0.10775e-07_rb,0.34864e-05_rb,0.61478e-05_rb,0.85479e-05_rb,0.10823e-04_rb, & & 0.12985e-04_rb,0.15273e-04_rb,0.18381e-04_rb,0.12972e-04_rb /) kao(:, 1, 3, 6) = (/ & & 0.12159e-07_rb,0.28311e-05_rb,0.50923e-05_rb,0.71433e-05_rb,0.90735e-05_rb, & & 0.11042e-04_rb,0.13160e-04_rb,0.16141e-04_rb,0.10790e-04_rb /) kao(:, 2, 3, 6) = (/ & & 0.11403e-07_rb,0.28950e-05_rb,0.51829e-05_rb,0.72481e-05_rb,0.92149e-05_rb, & & 0.11135e-04_rb,0.13267e-04_rb,0.16084e-04_rb,0.10912e-04_rb /) kao(:, 3, 3, 6) = (/ & & 0.12436e-07_rb,0.29531e-05_rb,0.52642e-05_rb,0.73461e-05_rb,0.93337e-05_rb, & & 0.11250e-04_rb,0.13358e-04_rb,0.16208e-04_rb,0.10995e-04_rb /) kao(:, 4, 3, 6) = (/ & & 0.14856e-07_rb,0.33723e-05_rb,0.60342e-05_rb,0.84579e-05_rb,0.10776e-04_rb, & & 0.13025e-04_rb,0.15434e-04_rb,0.18466e-04_rb,0.13550e-04_rb /) kao(:, 5, 3, 6) = (/ & & 0.16537e-07_rb,0.30506e-05_rb,0.53821e-05_rb,0.74897e-05_rb,0.94861e-05_rb, & & 0.11421e-04_rb,0.13503e-04_rb,0.16308e-04_rb,0.11045e-04_rb /) kao(:, 1, 4, 6) = (/ & & 0.13114e-07_rb,0.24467e-05_rb,0.44159e-05_rb,0.61941e-05_rb,0.78845e-05_rb, & & 0.96031e-05_rb,0.11513e-04_rb,0.14234e-04_rb,0.89642e-05_rb /) kao(:, 2, 4, 6) = (/ & & 0.15028e-07_rb,0.25040e-05_rb,0.44954e-05_rb,0.62931e-05_rb,0.80050e-05_rb, & & 0.97056e-05_rb,0.11618e-04_rb,0.14175e-04_rb,0.90802e-05_rb /) kao(:, 3, 4, 6) = (/ & & 0.18213e-07_rb,0.25556e-05_rb,0.45678e-05_rb,0.63789e-05_rb,0.81071e-05_rb, & & 0.98077e-05_rb,0.11694e-04_rb,0.14301e-04_rb,0.91538e-05_rb /) kao(:, 4, 4, 6) = (/ & & 0.19097e-07_rb,0.26037e-05_rb,0.46288e-05_rb,0.64476e-05_rb,0.81897e-05_rb, & & 0.98941e-05_rb,0.11740e-04_rb,0.14344e-04_rb,0.91968e-05_rb /) kao(:, 5, 4, 6) = (/ & & 0.18014e-07_rb,0.29993e-05_rb,0.53622e-05_rb,0.75209e-05_rb,0.95686e-05_rb, & & 0.11571e-04_rb,0.13783e-04_rb,0.16522e-04_rb,0.11644e-04_rb /) kao(:, 1, 5, 6) = (/ & & 0.21237e-07_rb,0.20921e-05_rb,0.37961e-05_rb,0.53264e-05_rb,0.67905e-05_rb, & & 0.82846e-05_rb,0.99803e-05_rb,0.12512e-04_rb,0.44075e-05_rb /) kao(:, 2, 5, 6) = (/ & & 0.23885e-07_rb,0.21444e-05_rb,0.38676e-05_rb,0.54146e-05_rb,0.68931e-05_rb, & & 0.83832e-05_rb,0.10077e-04_rb,0.12417e-04_rb,0.44982e-05_rb /) kao(:, 3, 5, 6) = (/ & & 0.20851e-07_rb,0.21906e-05_rb,0.39301e-05_rb,0.54900e-05_rb,0.69833e-05_rb, & & 0.84513e-05_rb,0.10145e-04_rb,0.12513e-04_rb,0.45299e-05_rb /) kao(:, 4, 5, 6) = (/ & & 0.22487e-07_rb,0.22322e-05_rb,0.39843e-05_rb,0.55506e-05_rb,0.70502e-05_rb, & & 0.85357e-05_rb,0.10189e-04_rb,0.12546e-04_rb,0.45220e-05_rb /) kao(:, 5, 5, 6) = (/ & & 0.23015e-07_rb,0.26442e-05_rb,0.47363e-05_rb,0.66520e-05_rb,0.84676e-05_rb, & & 0.10272e-04_rb,0.12268e-04_rb,0.14801e-04_rb,0.72945e-05_rb /) kao(:, 1, 6, 6) = (/ & & 0.22693e-07_rb,0.17592e-05_rb,0.32289e-05_rb,0.45327e-05_rb,0.57876e-05_rb, & & 0.70822e-05_rb,0.85643e-05_rb,0.10966e-04_rb,0.53375e-05_rb /) kao(:, 2, 6, 6) = (/ & & 0.22407e-07_rb,0.18081e-05_rb,0.32912e-05_rb,0.46136e-05_rb,0.58716e-05_rb, & & 0.71710e-05_rb,0.86530e-05_rb,0.10805e-04_rb,0.53845e-05_rb /) kao(:, 3, 6, 6) = (/ & & 0.22705e-07_rb,0.18504e-05_rb,0.33475e-05_rb,0.46786e-05_rb,0.59585e-05_rb, & & 0.72252e-05_rb,0.87123e-05_rb,0.10876e-04_rb,0.53808e-05_rb /) kao(:, 4, 6, 6) = (/ & & 0.23941e-07_rb,0.18862e-05_rb,0.33938e-05_rb,0.47325e-05_rb,0.60159e-05_rb, & & 0.72910e-05_rb,0.87573e-05_rb,0.10893e-04_rb,0.53357e-05_rb /) kao(:, 5, 6, 6) = (/ & & 0.27004e-07_rb,0.19136e-05_rb,0.34294e-05_rb,0.47766e-05_rb,0.60573e-05_rb, & & 0.73309e-05_rb,0.87892e-05_rb,0.10892e-04_rb,0.52484e-05_rb /) kao(:, 1, 7, 6) = (/ & & 0.27131e-07_rb,0.14236e-05_rb,0.27128e-05_rb,0.38203e-05_rb,0.48870e-05_rb, & & 0.59983e-05_rb,0.72827e-05_rb,0.94729e-05_rb,0.86942e-05_rb /) kao(:, 2, 7, 6) = (/ & & 0.26214e-07_rb,0.14673e-05_rb,0.27677e-05_rb,0.38940e-05_rb,0.49627e-05_rb, & & 0.60727e-05_rb,0.73587e-05_rb,0.93332e-05_rb,0.87651e-05_rb /) kao(:, 3, 7, 6) = (/ & & 0.29249e-07_rb,0.15085e-05_rb,0.28175e-05_rb,0.39503e-05_rb,0.50362e-05_rb, & & 0.61230e-05_rb,0.74095e-05_rb,0.93608e-05_rb,0.87497e-05_rb /) kao(:, 4, 7, 6) = (/ & & 0.35846e-07_rb,0.15423e-05_rb,0.28570e-05_rb,0.39988e-05_rb,0.50875e-05_rb, & & 0.61709e-05_rb,0.74491e-05_rb,0.93691e-05_rb,0.88300e-05_rb /) kao(:, 5, 7, 6) = (/ & & 0.36255e-07_rb,0.15665e-05_rb,0.28868e-05_rb,0.40378e-05_rb,0.51248e-05_rb, & & 0.62083e-05_rb,0.74689e-05_rb,0.93597e-05_rb,0.88065e-05_rb /) kao(:, 1, 8, 6) = (/ & & 0.37619e-07_rb,0.92017e-06_rb,0.22295e-05_rb,0.31821e-05_rb,0.40883e-05_rb, & & 0.50331e-05_rb,0.61447e-05_rb,0.80461e-05_rb,0.15512e-04_rb /) kao(:, 2, 8, 6) = (/ & & 0.43015e-07_rb,0.95048e-06_rb,0.22782e-05_rb,0.32493e-05_rb,0.41585e-05_rb, & & 0.50968e-05_rb,0.61995e-05_rb,0.80232e-05_rb,0.15472e-04_rb /) kao(:, 3, 8, 6) = (/ & & 0.47635e-07_rb,0.97934e-06_rb,0.23207e-05_rb,0.33002e-05_rb,0.42181e-05_rb, & & 0.51430e-05_rb,0.62468e-05_rb,0.79821e-05_rb,0.15652e-04_rb /) kao(:, 4, 8, 6) = (/ & & 0.48140e-07_rb,0.10026e-05_rb,0.23582e-05_rb,0.33416e-05_rb,0.42650e-05_rb, & & 0.51734e-05_rb,0.62779e-05_rb,0.79833e-05_rb,0.15762e-04_rb /) kao(:, 5, 8, 6) = (/ & & 0.45231e-07_rb,0.10212e-05_rb,0.23819e-05_rb,0.33754e-05_rb,0.42991e-05_rb, & & 0.52146e-05_rb,0.62945e-05_rb,0.79701e-05_rb,0.15840e-04_rb /) kao(:, 1, 9, 6) = (/ & & 0.48601e-07_rb,0.49350e-06_rb,0.16585e-05_rb,0.26009e-05_rb,0.33796e-05_rb, & & 0.41888e-05_rb,0.51434e-05_rb,0.67867e-05_rb,0.26875e-04_rb /) kao(:, 2, 9, 6) = (/ & & 0.49825e-07_rb,0.51680e-06_rb,0.16935e-05_rb,0.26607e-05_rb,0.34457e-05_rb, & & 0.42434e-05_rb,0.51839e-05_rb,0.68587e-05_rb,0.27475e-04_rb /) kao(:, 3, 9, 6) = (/ & & 0.52843e-07_rb,0.53573e-06_rb,0.17199e-05_rb,0.27038e-05_rb,0.35027e-05_rb, & & 0.42858e-05_rb,0.52233e-05_rb,0.67410e-05_rb,0.28097e-04_rb /) kao(:, 4, 9, 6) = (/ & & 0.49841e-07_rb,0.54248e-06_rb,0.17493e-05_rb,0.27418e-05_rb,0.35427e-05_rb, & & 0.43127e-05_rb,0.52517e-05_rb,0.67418e-05_rb,0.28632e-04_rb /) kao(:, 5, 9, 6) = (/ & & 0.50649e-07_rb,0.54940e-06_rb,0.17700e-05_rb,0.27695e-05_rb,0.35712e-05_rb, & & 0.43482e-05_rb,0.52645e-05_rb,0.67282e-05_rb,0.28662e-04_rb /) kao(:, 1,10, 6) = (/ & & 0.82685e-07_rb,0.54022e-06_rb,0.87761e-06_rb,0.18752e-05_rb,0.27293e-05_rb, & & 0.34506e-05_rb,0.42821e-05_rb,0.56501e-05_rb,0.44067e-04_rb /) kao(:, 2,10, 6) = (/ & & 0.87011e-07_rb,0.54017e-06_rb,0.89732e-06_rb,0.19208e-05_rb,0.27945e-05_rb, & & 0.35005e-05_rb,0.43124e-05_rb,0.57881e-05_rb,0.45858e-04_rb /) kao(:, 3,10, 6) = (/ & & 0.79909e-07_rb,0.55355e-06_rb,0.90995e-06_rb,0.19451e-05_rb,0.28460e-05_rb, & & 0.35425e-05_rb,0.43438e-05_rb,0.56593e-05_rb,0.45805e-04_rb /) kao(:, 4,10, 6) = (/ & & 0.75533e-07_rb,0.55705e-06_rb,0.92147e-06_rb,0.19661e-05_rb,0.28785e-05_rb, & & 0.35628e-05_rb,0.43635e-05_rb,0.56526e-05_rb,0.46295e-04_rb /) kao(:, 5,10, 6) = (/ & & 0.76631e-07_rb,0.55159e-06_rb,0.93362e-06_rb,0.19832e-05_rb,0.29003e-05_rb, & & 0.35965e-05_rb,0.43731e-05_rb,0.56385e-05_rb,0.46720e-04_rb /) kao(:, 1,11, 6) = (/ & & 0.11164e-06_rb,0.57710e-06_rb,0.71279e-06_rb,0.10003e-05_rb,0.19253e-05_rb, & & 0.28027e-05_rb,0.35523e-05_rb,0.47607e-05_rb,0.51144e-04_rb /) kao(:, 2,11, 6) = (/ & & 0.11484e-06_rb,0.58649e-06_rb,0.71918e-06_rb,0.10167e-05_rb,0.19538e-05_rb, & & 0.28431e-05_rb,0.35713e-05_rb,0.48333e-05_rb,0.49887e-04_rb /) kao(:, 3,11, 6) = (/ & & 0.11442e-06_rb,0.58483e-06_rb,0.70503e-06_rb,0.10320e-05_rb,0.19684e-05_rb, & & 0.28674e-05_rb,0.35911e-05_rb,0.47191e-05_rb,0.50222e-04_rb /) kao(:, 4,11, 6) = (/ & & 0.11737e-06_rb,0.58895e-06_rb,0.70242e-06_rb,0.10442e-05_rb,0.19738e-05_rb, & & 0.28962e-05_rb,0.36035e-05_rb,0.47045e-05_rb,0.48754e-04_rb /) kao(:, 5,11, 6) = (/ & & 0.12314e-06_rb,0.59299e-06_rb,0.70874e-06_rb,0.10470e-05_rb,0.19736e-05_rb, & & 0.29100e-05_rb,0.36075e-05_rb,0.46813e-05_rb,0.45986e-04_rb /) kao(:, 1,12, 6) = (/ & & 0.14446e-06_rb,0.57459e-06_rb,0.72800e-06_rb,0.69912e-06_rb,0.11693e-05_rb, & & 0.21457e-05_rb,0.29151e-05_rb,0.39683e-05_rb,0.42970e-04_rb /) kao(:, 2,12, 6) = (/ & & 0.14738e-06_rb,0.58568e-06_rb,0.75374e-06_rb,0.69814e-06_rb,0.11797e-05_rb, & & 0.21759e-05_rb,0.29287e-05_rb,0.39942e-05_rb,0.41434e-04_rb /) kao(:, 3,12, 6) = (/ & & 0.15006e-06_rb,0.60144e-06_rb,0.75420e-06_rb,0.70559e-06_rb,0.11849e-05_rb, & & 0.21718e-05_rb,0.29383e-05_rb,0.39185e-05_rb,0.42909e-04_rb /) kao(:, 4,12, 6) = (/ & & 0.15745e-06_rb,0.60776e-06_rb,0.75984e-06_rb,0.71270e-06_rb,0.11804e-05_rb, & & 0.21578e-05_rb,0.29477e-05_rb,0.38939e-05_rb,0.41761e-04_rb /) kao(:, 5,12, 6) = (/ & & 0.16583e-06_rb,0.62207e-06_rb,0.74591e-06_rb,0.69746e-06_rb,0.11751e-05_rb, & & 0.21552e-05_rb,0.29514e-05_rb,0.38695e-05_rb,0.45252e-04_rb /) kao(:, 1,13, 6) = (/ & & 0.18492e-06_rb,0.65841e-06_rb,0.74904e-06_rb,0.82698e-06_rb,0.69790e-06_rb, & & 0.13356e-05_rb,0.23333e-05_rb,0.33010e-05_rb,0.43502e-04_rb /) kao(:, 2,13, 6) = (/ & & 0.18447e-06_rb,0.66115e-06_rb,0.74200e-06_rb,0.80748e-06_rb,0.68676e-06_rb, & & 0.13419e-05_rb,0.23369e-05_rb,0.32873e-05_rb,0.44908e-04_rb /) kao(:, 3,13, 6) = (/ & & 0.20107e-06_rb,0.65387e-06_rb,0.73155e-06_rb,0.79291e-06_rb,0.67848e-06_rb, & & 0.13368e-05_rb,0.23434e-05_rb,0.32337e-05_rb,0.47417e-04_rb /) kao(:, 4,13, 6) = (/ & & 0.20493e-06_rb,0.66191e-06_rb,0.72707e-06_rb,0.79839e-06_rb,0.67208e-06_rb, & & 0.13273e-05_rb,0.23466e-05_rb,0.32075e-05_rb,0.48703e-04_rb /) kao(:, 5,13, 6) = (/ & & 0.20003e-06_rb,0.66753e-06_rb,0.73390e-06_rb,0.79794e-06_rb,0.66936e-06_rb, & & 0.13150e-05_rb,0.23558e-05_rb,0.31828e-05_rb,0.50012e-04_rb /) kao(:, 1, 1, 7) = (/ & & 0.45955e-07_rb,0.96988e-05_rb,0.16766e-04_rb,0.23073e-04_rb,0.28829e-04_rb, & & 0.34350e-04_rb,0.39744e-04_rb,0.45071e-04_rb,0.36783e-04_rb /) kao(:, 2, 1, 7) = (/ & & 0.57268e-07_rb,0.98413e-05_rb,0.16970e-04_rb,0.23311e-04_rb,0.29149e-04_rb, & & 0.34726e-04_rb,0.40229e-04_rb,0.45682e-04_rb,0.37190e-04_rb /) kao(:, 3, 1, 7) = (/ & & 0.70060e-07_rb,0.10517e-04_rb,0.18168e-04_rb,0.24965e-04_rb,0.31264e-04_rb, & & 0.37439e-04_rb,0.43299e-04_rb,0.49335e-04_rb,0.41254e-04_rb /) kao(:, 4, 1, 7) = (/ & & 0.84370e-07_rb,0.10120e-04_rb,0.17302e-04_rb,0.23633e-04_rb,0.29544e-04_rb, & & 0.35368e-04_rb,0.40885e-04_rb,0.46535e-04_rb,0.37819e-04_rb /) kao(:, 5, 1, 7) = (/ & & 0.97346e-07_rb,0.10254e-04_rb,0.17458e-04_rb,0.23773e-04_rb,0.29672e-04_rb, & & 0.35542e-04_rb,0.41140e-04_rb,0.46864e-04_rb,0.38054e-04_rb /) kao(:, 1, 2, 7) = (/ & & 0.27937e-07_rb,0.87332e-05_rb,0.15102e-04_rb,0.20785e-04_rb,0.26002e-04_rb, & & 0.30993e-04_rb,0.35918e-04_rb,0.41124e-04_rb,0.32692e-04_rb /) kao(:, 2, 2, 7) = (/ & & 0.34502e-07_rb,0.88655e-05_rb,0.15279e-04_rb,0.20992e-04_rb,0.26281e-04_rb, & & 0.31393e-04_rb,0.36363e-04_rb,0.41768e-04_rb,0.33047e-04_rb /) kao(:, 3, 2, 7) = (/ & & 0.45243e-07_rb,0.95567e-05_rb,0.16535e-04_rb,0.22740e-04_rb,0.28503e-04_rb, & & 0.34161e-04_rb,0.39521e-04_rb,0.45509e-04_rb,0.37184e-04_rb /) kao(:, 4, 2, 7) = (/ & & 0.56029e-07_rb,0.96404e-05_rb,0.16599e-04_rb,0.22759e-04_rb,0.28526e-04_rb, & & 0.34207e-04_rb,0.39586e-04_rb,0.45601e-04_rb,0.37152e-04_rb /) kao(:, 5, 2, 7) = (/ & & 0.67453e-07_rb,0.92372e-05_rb,0.15744e-04_rb,0.21435e-04_rb,0.26769e-04_rb, & & 0.32085e-04_rb,0.37228e-04_rb,0.42908e-04_rb,0.33841e-04_rb /) kao(:, 1, 3, 7) = (/ & & 0.21909e-07_rb,0.77821e-05_rb,0.13457e-04_rb,0.18525e-04_rb,0.23194e-04_rb, & & 0.27662e-04_rb,0.32086e-04_rb,0.37089e-04_rb,0.28700e-04_rb /) kao(:, 2, 3, 7) = (/ & & 0.25816e-07_rb,0.78998e-05_rb,0.13627e-04_rb,0.18723e-04_rb,0.23459e-04_rb, & & 0.28049e-04_rb,0.32494e-04_rb,0.37775e-04_rb,0.29060e-04_rb /) kao(:, 3, 3, 7) = (/ & & 0.28009e-07_rb,0.80177e-05_rb,0.13778e-04_rb,0.18883e-04_rb,0.23652e-04_rb, & & 0.28348e-04_rb,0.32831e-04_rb,0.38183e-04_rb,0.29363e-04_rb /) kao(:, 4, 3, 7) = (/ & & 0.32250e-07_rb,0.87000e-05_rb,0.14997e-04_rb,0.20591e-04_rb,0.25858e-04_rb, & & 0.30984e-04_rb,0.35855e-04_rb,0.41716e-04_rb,0.33352e-04_rb /) kao(:, 5, 3, 7) = (/ & & 0.38565e-07_rb,0.82442e-05_rb,0.14048e-04_rb,0.19147e-04_rb,0.23963e-04_rb, & & 0.28712e-04_rb,0.33322e-04_rb,0.38841e-04_rb,0.29827e-04_rb /) kao(:, 1, 4, 7) = (/ & & 0.27845e-07_rb,0.68782e-05_rb,0.11887e-04_rb,0.16370e-04_rb,0.20522e-04_rb, & & 0.24507e-04_rb,0.28445e-04_rb,0.33146e-04_rb,0.25091e-04_rb /) kao(:, 2, 4, 7) = (/ & & 0.30162e-07_rb,0.69860e-05_rb,0.12053e-04_rb,0.16569e-04_rb,0.20786e-04_rb, & & 0.24863e-04_rb,0.28833e-04_rb,0.33823e-04_rb,0.25439e-04_rb /) kao(:, 3, 4, 7) = (/ & & 0.31547e-07_rb,0.70934e-05_rb,0.12196e-04_rb,0.16734e-04_rb,0.20984e-04_rb, & & 0.25140e-04_rb,0.29167e-04_rb,0.34188e-04_rb,0.25743e-04_rb /) kao(:, 4, 4, 7) = (/ & & 0.30733e-07_rb,0.72009e-05_rb,0.12319e-04_rb,0.16870e-04_rb,0.21150e-04_rb, & & 0.25350e-04_rb,0.29432e-04_rb,0.34551e-04_rb,0.26011e-04_rb /) kao(:, 5, 4, 7) = (/ & & 0.33104e-07_rb,0.78742e-05_rb,0.13511e-04_rb,0.18536e-04_rb,0.23314e-04_rb, & & 0.27934e-04_rb,0.32284e-04_rb,0.37983e-04_rb,0.29911e-04_rb /) kao(:, 1, 5, 7) = (/ & & 0.31453e-07_rb,0.60344e-05_rb,0.10431e-04_rb,0.14360e-04_rb,0.18025e-04_rb, & & 0.21556e-04_rb,0.25057e-04_rb,0.29352e-04_rb,0.21244e-04_rb /) kao(:, 2, 5, 7) = (/ & & 0.32645e-07_rb,0.61373e-05_rb,0.10589e-04_rb,0.14561e-04_rb,0.18288e-04_rb, & & 0.21896e-04_rb,0.25427e-04_rb,0.30041e-04_rb,0.21582e-04_rb /) kao(:, 3, 5, 7) = (/ & & 0.36285e-07_rb,0.62371e-05_rb,0.10724e-04_rb,0.14730e-04_rb,0.18494e-04_rb, & & 0.22175e-04_rb,0.25749e-04_rb,0.30401e-04_rb,0.21875e-04_rb /) kao(:, 4, 5, 7) = (/ & & 0.35840e-07_rb,0.63361e-05_rb,0.10841e-04_rb,0.14872e-04_rb,0.18672e-04_rb, & & 0.22386e-04_rb,0.26001e-04_rb,0.30772e-04_rb,0.22136e-04_rb /) kao(:, 5, 5, 7) = (/ & & 0.34391e-07_rb,0.70384e-05_rb,0.12100e-04_rb,0.16639e-04_rb,0.20967e-04_rb, & & 0.25106e-04_rb,0.29033e-04_rb,0.34382e-04_rb,0.26458e-04_rb /) kao(:, 1, 6, 7) = (/ & & 0.38317e-07_rb,0.52554e-05_rb,0.90847e-05_rb,0.12506e-04_rb,0.15706e-04_rb, & & 0.18802e-04_rb,0.21926e-04_rb,0.25721e-04_rb,0.82786e-05_rb /) kao(:, 2, 6, 7) = (/ & & 0.42993e-07_rb,0.53521e-05_rb,0.92425e-05_rb,0.12708e-04_rb,0.15965e-04_rb, & & 0.19131e-04_rb,0.22269e-04_rb,0.26449e-04_rb,0.85145e-05_rb /) kao(:, 3, 6, 7) = (/ & & 0.43612e-07_rb,0.54474e-05_rb,0.93707e-05_rb,0.12875e-04_rb,0.16176e-04_rb, & & 0.19407e-04_rb,0.22575e-04_rb,0.26830e-04_rb,0.87594e-05_rb /) kao(:, 4, 6, 7) = (/ & & 0.42757e-07_rb,0.55405e-05_rb,0.94823e-05_rb,0.13019e-04_rb,0.16363e-04_rb, & & 0.19625e-04_rb,0.22815e-04_rb,0.27200e-04_rb,0.90170e-05_rb /) kao(:, 5, 6, 7) = (/ & & 0.43664e-07_rb,0.56274e-05_rb,0.95923e-05_rb,0.13140e-04_rb,0.16520e-04_rb, & & 0.19797e-04_rb,0.22995e-04_rb,0.27528e-04_rb,0.91836e-05_rb /) kao(:, 1, 7, 7) = (/ & & 0.39995e-07_rb,0.45414e-05_rb,0.78502e-05_rb,0.10801e-04_rb,0.13562e-04_rb, & & 0.16248e-04_rb,0.19009e-04_rb,0.22439e-04_rb,0.93804e-05_rb /) kao(:, 2, 7, 7) = (/ & & 0.43614e-07_rb,0.46331e-05_rb,0.80059e-05_rb,0.11000e-04_rb,0.13813e-04_rb, & & 0.16577e-04_rb,0.19346e-04_rb,0.23103e-04_rb,0.95334e-05_rb /) kao(:, 3, 7, 7) = (/ & & 0.45687e-07_rb,0.47201e-05_rb,0.81316e-05_rb,0.11167e-04_rb,0.14031e-04_rb, & & 0.16844e-04_rb,0.19646e-04_rb,0.23513e-04_rb,0.96503e-05_rb /) kao(:, 4, 7, 7) = (/ & & 0.48386e-07_rb,0.48081e-05_rb,0.82413e-05_rb,0.11310e-04_rb,0.14223e-04_rb, & & 0.17063e-04_rb,0.19885e-04_rb,0.23881e-04_rb,0.95360e-05_rb /) kao(:, 5, 7, 7) = (/ & & 0.54287e-07_rb,0.48899e-05_rb,0.83473e-05_rb,0.11434e-04_rb,0.14383e-04_rb, & & 0.17240e-04_rb,0.20064e-04_rb,0.24201e-04_rb,0.94267e-05_rb /) kao(:, 1, 8, 7) = (/ & & 0.45720e-07_rb,0.38685e-05_rb,0.67269e-05_rb,0.92537e-05_rb,0.11613e-04_rb, & & 0.13930e-04_rb,0.16333e-04_rb,0.19500e-04_rb,0.15537e-04_rb /) kao(:, 2, 8, 7) = (/ & & 0.46817e-07_rb,0.39568e-05_rb,0.68775e-05_rb,0.94493e-05_rb,0.11857e-04_rb, & & 0.14250e-04_rb,0.16679e-04_rb,0.19983e-04_rb,0.15822e-04_rb /) kao(:, 3, 8, 7) = (/ & & 0.48700e-07_rb,0.40362e-05_rb,0.70012e-05_rb,0.96148e-05_rb,0.12076e-04_rb, & & 0.14508e-04_rb,0.16969e-04_rb,0.20440e-04_rb,0.15878e-04_rb /) kao(:, 4, 8, 7) = (/ & & 0.54460e-07_rb,0.41199e-05_rb,0.71098e-05_rb,0.97580e-05_rb,0.12268e-04_rb, & & 0.14725e-04_rb,0.17206e-04_rb,0.20805e-04_rb,0.16014e-04_rb /) kao(:, 5, 8, 7) = (/ & & 0.59565e-07_rb,0.42000e-05_rb,0.72128e-05_rb,0.98789e-05_rb,0.12424e-04_rb, & & 0.14896e-04_rb,0.17382e-04_rb,0.21113e-04_rb,0.15894e-04_rb /) kao(:, 1, 9, 7) = (/ & & 0.60502e-07_rb,0.31758e-05_rb,0.57011e-05_rb,0.78602e-05_rb,0.98646e-05_rb, & & 0.11842e-04_rb,0.13914e-04_rb,0.16812e-04_rb,0.32738e-04_rb /) kao(:, 2, 9, 7) = (/ & & 0.61920e-07_rb,0.32583e-05_rb,0.58474e-05_rb,0.80501e-05_rb,0.10097e-04_rb, & & 0.12150e-04_rb,0.14260e-04_rb,0.17128e-04_rb,0.32707e-04_rb /) kao(:, 3, 9, 7) = (/ & & 0.66102e-07_rb,0.33410e-05_rb,0.59686e-05_rb,0.82148e-05_rb,0.10310e-04_rb, & & 0.12398e-04_rb,0.14542e-04_rb,0.17650e-04_rb,0.33629e-04_rb /) kao(:, 4, 9, 7) = (/ & & 0.86168e-07_rb,0.34261e-05_rb,0.60763e-05_rb,0.83539e-05_rb,0.10496e-04_rb, & & 0.12604e-04_rb,0.14773e-04_rb,0.17994e-04_rb,0.33878e-04_rb /) kao(:, 5, 9, 7) = (/ & & 0.91586e-07_rb,0.35057e-05_rb,0.61764e-05_rb,0.84703e-05_rb,0.10646e-04_rb, & & 0.12765e-04_rb,0.14939e-04_rb,0.18282e-04_rb,0.33645e-04_rb /) kao(:, 1,10, 7) = (/ & & 0.96997e-07_rb,0.19211e-05_rb,0.47098e-05_rb,0.66155e-05_rb,0.83225e-05_rb, & & 0.10005e-04_rb,0.11773e-04_rb,0.14404e-04_rb,0.53631e-04_rb /) kao(:, 2,10, 7) = (/ & & 0.96064e-07_rb,0.20141e-05_rb,0.48491e-05_rb,0.67941e-05_rb,0.85382e-05_rb, & & 0.10290e-04_rb,0.12102e-04_rb,0.14626e-04_rb,0.54289e-04_rb /) kao(:, 3,10, 7) = (/ & & 0.10431e-06_rb,0.20834e-05_rb,0.49690e-05_rb,0.69520e-05_rb,0.87398e-05_rb, & & 0.10520e-04_rb,0.12369e-04_rb,0.15124e-04_rb,0.55603e-04_rb /) kao(:, 4,10, 7) = (/ & & 0.11432e-06_rb,0.21653e-05_rb,0.50755e-05_rb,0.70852e-05_rb,0.89148e-05_rb, & & 0.10714e-04_rb,0.12591e-04_rb,0.15457e-04_rb,0.56630e-04_rb /) kao(:, 5,10, 7) = (/ & & 0.11074e-06_rb,0.22480e-05_rb,0.51732e-05_rb,0.71951e-05_rb,0.90530e-05_rb, & & 0.10860e-04_rb,0.12745e-04_rb,0.15721e-04_rb,0.54963e-04_rb /) kao(:, 1,11, 7) = (/ & & 0.15854e-06_rb,0.91297e-06_rb,0.32555e-05_rb,0.55113e-05_rb,0.70464e-05_rb, & & 0.85121e-05_rb,0.10027e-04_rb,0.12303e-04_rb,0.52607e-04_rb /) kao(:, 2,11, 7) = (/ & & 0.16751e-06_rb,0.96634e-06_rb,0.33790e-05_rb,0.56722e-05_rb,0.72351e-05_rb, & & 0.87519e-05_rb,0.10311e-04_rb,0.12547e-04_rb,0.52883e-04_rb /) kao(:, 3,11, 7) = (/ & & 0.16741e-06_rb,0.10318e-05_rb,0.35064e-05_rb,0.58058e-05_rb,0.74099e-05_rb, & & 0.89413e-05_rb,0.10546e-04_rb,0.12998e-04_rb,0.52407e-04_rb /) kao(:, 4,11, 7) = (/ & & 0.16708e-06_rb,0.10925e-05_rb,0.36064e-05_rb,0.59145e-05_rb,0.75531e-05_rb, & & 0.90996e-05_rb,0.10715e-04_rb,0.13285e-04_rb,0.53203e-04_rb /) kao(:, 5,11, 7) = (/ & & 0.16578e-06_rb,0.11490e-05_rb,0.36852e-05_rb,0.60104e-05_rb,0.76652e-05_rb, & & 0.92182e-05_rb,0.10838e-04_rb,0.13496e-04_rb,0.54467e-04_rb /) kao(:, 1,12, 7) = (/ & & 0.17287e-06_rb,0.67222e-06_rb,0.20177e-05_rb,0.42045e-05_rb,0.58863e-05_rb, & & 0.71911e-05_rb,0.84904e-05_rb,0.10467e-04_rb,0.53824e-04_rb /) kao(:, 2,12, 7) = (/ & & 0.17534e-06_rb,0.66930e-06_rb,0.20902e-05_rb,0.43510e-05_rb,0.60518e-05_rb, & & 0.73834e-05_rb,0.87285e-05_rb,0.10723e-04_rb,0.57713e-04_rb /) kao(:, 3,12, 7) = (/ & & 0.19862e-06_rb,0.69271e-06_rb,0.21807e-05_rb,0.44473e-05_rb,0.61938e-05_rb, & & 0.75395e-05_rb,0.89230e-05_rb,0.11082e-04_rb,0.58727e-04_rb /) kao(:, 4,12, 7) = (/ & & 0.20481e-06_rb,0.70155e-06_rb,0.22437e-05_rb,0.45330e-05_rb,0.63072e-05_rb, & & 0.76639e-05_rb,0.90515e-05_rb,0.11316e-04_rb,0.62478e-04_rb /) kao(:, 5,12, 7) = (/ & & 0.22362e-06_rb,0.66686e-06_rb,0.23107e-05_rb,0.46277e-05_rb,0.64004e-05_rb, & & 0.77560e-05_rb,0.91460e-05_rb,0.11480e-04_rb,0.61459e-04_rb /) kao(:, 1,13, 7) = (/ & & 0.24394e-06_rb,0.78850e-06_rb,0.10005e-05_rb,0.25869e-05_rb,0.46671e-05_rb, & & 0.60110e-05_rb,0.71462e-05_rb,0.88357e-05_rb,0.59707e-04_rb /) kao(:, 2,13, 7) = (/ & & 0.25387e-06_rb,0.77656e-06_rb,0.10565e-05_rb,0.27093e-05_rb,0.48105e-05_rb, & & 0.61610e-05_rb,0.73436e-05_rb,0.90989e-05_rb,0.60151e-04_rb /) kao(:, 3,13, 7) = (/ & & 0.22260e-06_rb,0.76604e-06_rb,0.11188e-05_rb,0.28168e-05_rb,0.49259e-05_rb, & & 0.62864e-05_rb,0.74912e-05_rb,0.93777e-05_rb,0.58560e-04_rb /) kao(:, 4,13, 7) = (/ & & 0.22499e-06_rb,0.75979e-06_rb,0.11746e-05_rb,0.28869e-05_rb,0.50154e-05_rb, & & 0.63819e-05_rb,0.75933e-05_rb,0.95633e-05_rb,0.61656e-04_rb /) kao(:, 5,13, 7) = (/ & & 0.22527e-06_rb,0.74699e-06_rb,0.12195e-05_rb,0.29526e-05_rb,0.50915e-05_rb, & & 0.64528e-05_rb,0.76669e-05_rb,0.96909e-05_rb,0.60588e-04_rb /) kao(:, 1, 1, 8) = (/ & & 0.29788e-05_rb,0.29380e-04_rb,0.47103e-04_rb,0.62484e-04_rb,0.75923e-04_rb, & & 0.86945e-04_rb,0.96459e-04_rb,0.10727e-03_rb,0.95715e-04_rb /) kao(:, 2, 1, 8) = (/ & & 0.31829e-05_rb,0.29542e-04_rb,0.47406e-04_rb,0.62987e-04_rb,0.76500e-04_rb, & & 0.87575e-04_rb,0.97244e-04_rb,0.10847e-03_rb,0.96769e-04_rb /) kao(:, 3, 1, 8) = (/ & & 0.34017e-05_rb,0.30451e-04_rb,0.49181e-04_rb,0.65673e-04_rb,0.79848e-04_rb, & & 0.91475e-04_rb,0.10206e-03_rb,0.11418e-03_rb,0.10339e-03_rb /) kao(:, 4, 1, 8) = (/ & & 0.36204e-05_rb,0.29858e-04_rb,0.47964e-04_rb,0.63849e-04_rb,0.77416e-04_rb, & & 0.88495e-04_rb,0.98624e-04_rb,0.11030e-03_rb,0.98665e-04_rb /) kao(:, 5, 1, 8) = (/ & & 0.38336e-05_rb,0.30032e-04_rb,0.48176e-04_rb,0.64174e-04_rb,0.77743e-04_rb, & & 0.88899e-04_rb,0.99219e-04_rb,0.11117e-03_rb,0.99410e-04_rb /) kao(:, 1, 2, 8) = (/ & & 0.24422e-05_rb,0.27039e-04_rb,0.43472e-04_rb,0.57657e-04_rb,0.69985e-04_rb, & & 0.80297e-04_rb,0.89716e-04_rb,0.10091e-03_rb,0.87814e-04_rb /) kao(:, 2, 2, 8) = (/ & & 0.26194e-05_rb,0.27224e-04_rb,0.43834e-04_rb,0.58227e-04_rb,0.70564e-04_rb, & & 0.80899e-04_rb,0.90555e-04_rb,0.10201e-03_rb,0.88900e-04_rb /) kao(:, 3, 2, 8) = (/ & & 0.28026e-05_rb,0.28185e-04_rb,0.45675e-04_rb,0.60941e-04_rb,0.73932e-04_rb, & & 0.84933e-04_rb,0.95539e-04_rb,0.10795e-03_rb,0.95932e-04_rb /) kao(:, 4, 2, 8) = (/ & & 0.29807e-05_rb,0.28297e-04_rb,0.45818e-04_rb,0.61151e-04_rb,0.74119e-04_rb, & & 0.85132e-04_rb,0.95905e-04_rb,0.10857e-03_rb,0.96316e-04_rb /) kao(:, 5, 2, 8) = (/ & & 0.31559e-05_rb,0.27777e-04_rb,0.44649e-04_rb,0.59431e-04_rb,0.71821e-04_rb, & & 0.82324e-04_rb,0.92537e-04_rb,0.10487e-03_rb,0.91446e-04_rb /) kao(:, 1, 3, 8) = (/ & & 0.19527e-05_rb,0.24728e-04_rb,0.39864e-04_rb,0.52777e-04_rb,0.63893e-04_rb, & & 0.73441e-04_rb,0.82582e-04_rb,0.93968e-04_rb,0.79571e-04_rb /) kao(:, 2, 3, 8) = (/ & & 0.21028e-05_rb,0.24948e-04_rb,0.40273e-04_rb,0.53366e-04_rb,0.64472e-04_rb, & & 0.74070e-04_rb,0.83496e-04_rb,0.95166e-04_rb,0.80711e-04_rb /) kao(:, 3, 3, 8) = (/ & & 0.22571e-05_rb,0.25146e-04_rb,0.40613e-04_rb,0.53873e-04_rb,0.64998e-04_rb, & & 0.74638e-04_rb,0.84298e-04_rb,0.96249e-04_rb,0.81670e-04_rb /) kao(:, 4, 3, 8) = (/ & & 0.24052e-05_rb,0.26082e-04_rb,0.42367e-04_rb,0.56407e-04_rb,0.68204e-04_rb, & & 0.78600e-04_rb,0.89199e-04_rb,0.10217e-03_rb,0.88502e-04_rb /) kao(:, 5, 3, 8) = (/ & & 0.25493e-05_rb,0.25521e-04_rb,0.41156e-04_rb,0.54597e-04_rb,0.65795e-04_rb, & & 0.75610e-04_rb,0.85600e-04_rb,0.98234e-04_rb,0.83132e-04_rb /) kao(:, 1, 4, 8) = (/ & & 0.15249e-05_rb,0.22458e-04_rb,0.36230e-04_rb,0.47832e-04_rb,0.57788e-04_rb, & & 0.66572e-04_rb,0.75267e-04_rb,0.86613e-04_rb,0.71765e-04_rb /) kao(:, 2, 4, 8) = (/ & & 0.16472e-05_rb,0.22706e-04_rb,0.36674e-04_rb,0.48420e-04_rb,0.58373e-04_rb, & & 0.67233e-04_rb,0.76205e-04_rb,0.87918e-04_rb,0.72872e-04_rb /) kao(:, 3, 4, 8) = (/ & & 0.17727e-05_rb,0.22924e-04_rb,0.37041e-04_rb,0.48925e-04_rb,0.58917e-04_rb, & & 0.67822e-04_rb,0.77056e-04_rb,0.89127e-04_rb,0.73812e-04_rb /) kao(:, 4, 4, 8) = (/ & & 0.18979e-05_rb,0.23116e-04_rb,0.37363e-04_rb,0.49353e-04_rb,0.59386e-04_rb, & & 0.68373e-04_rb,0.77816e-04_rb,0.90208e-04_rb,0.74597e-04_rb /) kao(:, 5, 4, 8) = (/ & & 0.20187e-05_rb,0.24032e-04_rb,0.39090e-04_rb,0.51784e-04_rb,0.62486e-04_rb, & & 0.72274e-04_rb,0.82652e-04_rb,0.95944e-04_rb,0.81360e-04_rb /) kao(:, 1, 5, 8) = (/ & & 0.11616e-05_rb,0.20230e-04_rb,0.32593e-04_rb,0.43015e-04_rb,0.51913e-04_rb, & & 0.59885e-04_rb,0.68041e-04_rb,0.79091e-04_rb,0.64237e-04_rb /) kao(:, 2, 5, 8) = (/ & & 0.12634e-05_rb,0.20493e-04_rb,0.33052e-04_rb,0.43575e-04_rb,0.52485e-04_rb, & & 0.60579e-04_rb,0.68993e-04_rb,0.80447e-04_rb,0.65308e-04_rb /) kao(:, 3, 5, 8) = (/ & & 0.13665e-05_rb,0.20722e-04_rb,0.33449e-04_rb,0.44078e-04_rb,0.53031e-04_rb, & & 0.61206e-04_rb,0.69878e-04_rb,0.81712e-04_rb,0.66219e-04_rb /) kao(:, 4, 5, 8) = (/ & & 0.14654e-05_rb,0.20926e-04_rb,0.33806e-04_rb,0.44507e-04_rb,0.53511e-04_rb, & & 0.61775e-04_rb,0.70644e-04_rb,0.82800e-04_rb,0.67010e-04_rb /) kao(:, 5, 5, 8) = (/ & & 0.15654e-05_rb,0.21919e-04_rb,0.35683e-04_rb,0.47135e-04_rb,0.56892e-04_rb, & & 0.66014e-04_rb,0.75901e-04_rb,0.88948e-04_rb,0.74367e-04_rb /) kao(:, 1, 6, 8) = (/ & & 0.85477e-06_rb,0.18056e-04_rb,0.29058e-04_rb,0.38374e-04_rb,0.46318e-04_rb, & & 0.53503e-04_rb,0.60983e-04_rb,0.71567e-04_rb,0.55220e-04_rb /) kao(:, 2, 6, 8) = (/ & & 0.93399e-06_rb,0.18333e-04_rb,0.29518e-04_rb,0.38924e-04_rb,0.46903e-04_rb, & & 0.54228e-04_rb,0.61990e-04_rb,0.72960e-04_rb,0.56327e-04_rb /) kao(:, 3, 6, 8) = (/ & & 0.10173e-05_rb,0.18568e-04_rb,0.29940e-04_rb,0.39430e-04_rb,0.47457e-04_rb, & & 0.54891e-04_rb,0.62912e-04_rb,0.74219e-04_rb,0.57262e-04_rb /) kao(:, 4, 6, 8) = (/ & & 0.10990e-05_rb,0.18773e-04_rb,0.30321e-04_rb,0.39858e-04_rb,0.47937e-04_rb, & & 0.55463e-04_rb,0.63685e-04_rb,0.75339e-04_rb,0.58060e-04_rb /) kao(:, 5, 6, 8) = (/ & & 0.11736e-05_rb,0.18980e-04_rb,0.30632e-04_rb,0.40210e-04_rb,0.48338e-04_rb, & & 0.55952e-04_rb,0.64349e-04_rb,0.76243e-04_rb,0.58787e-04_rb /) kao(:, 1, 7, 8) = (/ & & 0.60315e-06_rb,0.15982e-04_rb,0.25725e-04_rb,0.33991e-04_rb,0.41066e-04_rb, & & 0.47516e-04_rb,0.54302e-04_rb,0.64196e-04_rb,0.19175e-04_rb /) kao(:, 2, 7, 8) = (/ & & 0.66792e-06_rb,0.16270e-04_rb,0.26184e-04_rb,0.34534e-04_rb,0.41673e-04_rb, & & 0.48253e-04_rb,0.55322e-04_rb,0.65617e-04_rb,0.20214e-04_rb /) kao(:, 3, 7, 8) = (/ & & 0.72908e-06_rb,0.16517e-04_rb,0.26616e-04_rb,0.35037e-04_rb,0.42229e-04_rb, & & 0.48924e-04_rb,0.56239e-04_rb,0.66903e-04_rb,0.21171e-04_rb /) kao(:, 4, 7, 8) = (/ & & 0.78570e-06_rb,0.16735e-04_rb,0.27002e-04_rb,0.35463e-04_rb,0.42700e-04_rb, & & 0.49504e-04_rb,0.57015e-04_rb,0.68011e-04_rb,0.22118e-04_rb /) kao(:, 5, 7, 8) = (/ & & 0.83832e-06_rb,0.16948e-04_rb,0.27325e-04_rb,0.35815e-04_rb,0.43102e-04_rb, & & 0.50003e-04_rb,0.57693e-04_rb,0.68917e-04_rb,0.22989e-04_rb /) kao(:, 1, 8, 8) = (/ & & 0.37835e-06_rb,0.14042e-04_rb,0.22619e-04_rb,0.29906e-04_rb,0.36184e-04_rb, & & 0.41943e-04_rb,0.48058e-04_rb,0.57159e-04_rb,0.15030e-04_rb /) kao(:, 2, 8, 8) = (/ & & 0.42400e-06_rb,0.14336e-04_rb,0.23076e-04_rb,0.30441e-04_rb,0.36790e-04_rb, & & 0.42677e-04_rb,0.49055e-04_rb,0.58574e-04_rb,0.15267e-04_rb /) kao(:, 3, 8, 8) = (/ & & 0.47003e-06_rb,0.14598e-04_rb,0.23503e-04_rb,0.30926e-04_rb,0.37338e-04_rb, & & 0.43345e-04_rb,0.49944e-04_rb,0.59871e-04_rb,0.15168e-04_rb /) kao(:, 4, 8, 8) = (/ & & 0.50983e-06_rb,0.14832e-04_rb,0.23887e-04_rb,0.31342e-04_rb,0.37806e-04_rb, & & 0.43932e-04_rb,0.50714e-04_rb,0.60954e-04_rb,0.15479e-04_rb /) kao(:, 5, 8, 8) = (/ & & 0.55238e-06_rb,0.15050e-04_rb,0.24211e-04_rb,0.31698e-04_rb,0.38215e-04_rb, & & 0.44447e-04_rb,0.51404e-04_rb,0.61843e-04_rb,0.15864e-04_rb /) kao(:, 1, 9, 8) = (/ & & 0.20614e-06_rb,0.12247e-04_rb,0.19755e-04_rb,0.26136e-04_rb,0.31671e-04_rb, & & 0.36795e-04_rb,0.42267e-04_rb,0.50480e-04_rb,0.31415e-04_rb /) kao(:, 2, 9, 8) = (/ & & 0.22820e-06_rb,0.12543e-04_rb,0.20203e-04_rb,0.26660e-04_rb,0.32273e-04_rb, & & 0.37518e-04_rb,0.43228e-04_rb,0.51895e-04_rb,0.32257e-04_rb /) kao(:, 3, 9, 8) = (/ & & 0.25381e-06_rb,0.12814e-04_rb,0.20621e-04_rb,0.27129e-04_rb,0.32814e-04_rb, & & 0.38186e-04_rb,0.44095e-04_rb,0.53151e-04_rb,0.31766e-04_rb /) kao(:, 4, 9, 8) = (/ & & 0.26266e-06_rb,0.13056e-04_rb,0.20991e-04_rb,0.27538e-04_rb,0.33285e-04_rb, & & 0.38781e-04_rb,0.44859e-04_rb,0.54214e-04_rb,0.32184e-04_rb /) kao(:, 5, 9, 8) = (/ & & 0.28878e-06_rb,0.13277e-04_rb,0.21308e-04_rb,0.27899e-04_rb,0.33704e-04_rb, & & 0.39313e-04_rb,0.45556e-04_rb,0.55111e-04_rb,0.32436e-04_rb /) kao(:, 1,10, 8) = (/ & & 0.12421e-06_rb,0.10598e-04_rb,0.17170e-04_rb,0.22745e-04_rb,0.27597e-04_rb, & & 0.32129e-04_rb,0.37024e-04_rb,0.44410e-04_rb,0.36288e-04_rb /) kao(:, 2,10, 8) = (/ & & 0.11833e-06_rb,0.10888e-04_rb,0.17606e-04_rb,0.23251e-04_rb,0.28191e-04_rb, & & 0.32843e-04_rb,0.37957e-04_rb,0.45757e-04_rb,0.36706e-04_rb /) kao(:, 3,10, 8) = (/ & & 0.11564e-06_rb,0.11153e-04_rb,0.18009e-04_rb,0.23706e-04_rb,0.28726e-04_rb, & & 0.33507e-04_rb,0.38804e-04_rb,0.46971e-04_rb,0.39285e-04_rb /) kao(:, 4,10, 8) = (/ & & 0.11888e-06_rb,0.11400e-04_rb,0.18364e-04_rb,0.24104e-04_rb,0.29196e-04_rb, & & 0.34101e-04_rb,0.39555e-04_rb,0.47996e-04_rb,0.37765e-04_rb /) kao(:, 5,10, 8) = (/ & & 0.13250e-06_rb,0.11625e-04_rb,0.18671e-04_rb,0.24463e-04_rb,0.29622e-04_rb, & & 0.34646e-04_rb,0.40249e-04_rb,0.48876e-04_rb,0.41184e-04_rb /) kao(:, 1,11, 8) = (/ & & 0.17958e-06_rb,0.90757e-05_rb,0.15007e-04_rb,0.19889e-04_rb,0.24154e-04_rb, & & 0.28187e-04_rb,0.32636e-04_rb,0.39437e-04_rb,0.34162e-04_rb /) kao(:, 2,11, 8) = (/ & & 0.18139e-06_rb,0.93666e-05_rb,0.15418e-04_rb,0.20361e-04_rb,0.24716e-04_rb, & & 0.28864e-04_rb,0.33507e-04_rb,0.40680e-04_rb,0.35787e-04_rb /) kao(:, 3,11, 8) = (/ & & 0.18275e-06_rb,0.96291e-05_rb,0.15787e-04_rb,0.20786e-04_rb,0.25221e-04_rb, & & 0.29495e-04_rb,0.34295e-04_rb,0.41765e-04_rb,0.33878e-04_rb /) kao(:, 4,11, 8) = (/ & & 0.18574e-06_rb,0.98743e-05_rb,0.16117e-04_rb,0.21165e-04_rb,0.25673e-04_rb, & & 0.30069e-04_rb,0.35015e-04_rb,0.42686e-04_rb,0.32841e-04_rb /) kao(:, 5,11, 8) = (/ & & 0.20082e-06_rb,0.10102e-04_rb,0.16409e-04_rb,0.21512e-04_rb,0.26096e-04_rb, & & 0.30600e-04_rb,0.35678e-04_rb,0.43526e-04_rb,0.33904e-04_rb /) kao(:, 1,12, 8) = (/ & & 0.23860e-06_rb,0.72127e-05_rb,0.13015e-04_rb,0.17297e-04_rb,0.21033e-04_rb, & & 0.24600e-04_rb,0.28604e-04_rb,0.34818e-04_rb,0.40933e-04_rb /) kao(:, 2,12, 8) = (/ & & 0.23391e-06_rb,0.75352e-05_rb,0.13408e-04_rb,0.17740e-04_rb,0.21564e-04_rb, & & 0.25251e-04_rb,0.29426e-04_rb,0.35947e-04_rb,0.39399e-04_rb /) kao(:, 3,12, 8) = (/ & & 0.24701e-06_rb,0.78057e-05_rb,0.13760e-04_rb,0.18144e-04_rb,0.22045e-04_rb, & & 0.25844e-04_rb,0.30162e-04_rb,0.36924e-04_rb,0.38294e-04_rb /) kao(:, 4,12, 8) = (/ & & 0.26761e-06_rb,0.80774e-05_rb,0.14071e-04_rb,0.18509e-04_rb,0.22485e-04_rb, & & 0.26399e-04_rb,0.30850e-04_rb,0.37793e-04_rb,0.37310e-04_rb /) kao(:, 5,12, 8) = (/ & & 0.23665e-06_rb,0.83711e-05_rb,0.14360e-04_rb,0.18850e-04_rb,0.22903e-04_rb, & & 0.26918e-04_rb,0.31485e-04_rb,0.38601e-04_rb,0.34593e-04_rb /) kao(:, 1,13, 8) = (/ & & 0.27521e-06_rb,0.50755e-05_rb,0.11059e-04_rb,0.14942e-04_rb,0.18221e-04_rb, & & 0.21366e-04_rb,0.24941e-04_rb,0.30569e-04_rb,0.35909e-04_rb /) kao(:, 2,13, 8) = (/ & & 0.25317e-06_rb,0.53749e-05_rb,0.11450e-04_rb,0.15364e-04_rb,0.18725e-04_rb, & & 0.21982e-04_rb,0.25707e-04_rb,0.31598e-04_rb,0.37411e-04_rb /) kao(:, 3,13, 8) = (/ & & 0.23895e-06_rb,0.56684e-05_rb,0.11800e-04_rb,0.15745e-04_rb,0.19182e-04_rb, & & 0.22548e-04_rb,0.26403e-04_rb,0.32490e-04_rb,0.35715e-04_rb /) kao(:, 4,13, 8) = (/ & & 0.23323e-06_rb,0.59219e-05_rb,0.12110e-04_rb,0.16104e-04_rb,0.19621e-04_rb, & & 0.23090e-04_rb,0.27069e-04_rb,0.33309e-04_rb,0.26489e-04_rb /) kao(:, 5,13, 8) = (/ & & 0.23115e-06_rb,0.61949e-05_rb,0.12408e-04_rb,0.16438e-04_rb,0.20031e-04_rb, & & 0.23602e-04_rb,0.27683e-04_rb,0.34068e-04_rb,0.26612e-04_rb /) kao(:, 1, 1, 9) = (/ & & 0.91507e-04_rb,0.14710e-03_rb,0.19128e-03_rb,0.22605e-03_rb,0.25532e-03_rb, & & 0.28077e-03_rb,0.30345e-03_rb,0.32646e-03_rb,0.30807e-03_rb /) kao(:, 2, 1, 9) = (/ & & 0.91242e-04_rb,0.14642e-03_rb,0.19074e-03_rb,0.22564e-03_rb,0.25500e-03_rb, & & 0.28086e-03_rb,0.30369e-03_rb,0.32690e-03_rb,0.30957e-03_rb /) kao(:, 3, 1, 9) = (/ & & 0.90877e-04_rb,0.14692e-03_rb,0.19251e-03_rb,0.22869e-03_rb,0.25946e-03_rb, & & 0.28682e-03_rb,0.31087e-03_rb,0.33538e-03_rb,0.32011e-03_rb /) kao(:, 4, 1, 9) = (/ & & 0.90459e-04_rb,0.14494e-03_rb,0.18943e-03_rb,0.22459e-03_rb,0.25465e-03_rb, & & 0.28114e-03_rb,0.30414e-03_rb,0.32755e-03_rb,0.31196e-03_rb /) kao(:, 5, 1, 9) = (/ & & 0.89993e-04_rb,0.14416e-03_rb,0.18875e-03_rb,0.22408e-03_rb,0.25453e-03_rb, & & 0.28137e-03_rb,0.30449e-03_rb,0.32780e-03_rb,0.31307e-03_rb /) kao(:, 1, 2, 9) = (/ & & 0.77262e-04_rb,0.13432e-03_rb,0.17769e-03_rb,0.21240e-03_rb,0.24204e-03_rb, & & 0.26866e-03_rb,0.29235e-03_rb,0.31628e-03_rb,0.29582e-03_rb /) kao(:, 2, 2, 9) = (/ & & 0.77061e-04_rb,0.13375e-03_rb,0.17727e-03_rb,0.21210e-03_rb,0.24206e-03_rb, & & 0.26905e-03_rb,0.29288e-03_rb,0.31707e-03_rb,0.29754e-03_rb /) kao(:, 3, 2, 9) = (/ & & 0.76803e-04_rb,0.13443e-03_rb,0.17926e-03_rb,0.21557e-03_rb,0.24713e-03_rb, & & 0.27557e-03_rb,0.30072e-03_rb,0.32610e-03_rb,0.30880e-03_rb /) kao(:, 4, 2, 9) = (/ & & 0.76502e-04_rb,0.13372e-03_rb,0.17855e-03_rb,0.21503e-03_rb,0.24689e-03_rb, & & 0.27560e-03_rb,0.30084e-03_rb,0.32601e-03_rb,0.30963e-03_rb /) kao(:, 5, 2, 9) = (/ & & 0.76149e-04_rb,0.13198e-03_rb,0.17568e-03_rb,0.21133e-03_rb,0.24254e-03_rb, & & 0.27051e-03_rb,0.29485e-03_rb,0.31890e-03_rb,0.30223e-03_rb /) kao(:, 1, 3, 9) = (/ & & 0.65103e-04_rb,0.12258e-03_rb,0.16452e-03_rb,0.19865e-03_rb,0.22866e-03_rb, & & 0.25591e-03_rb,0.28055e-03_rb,0.30511e-03_rb,0.28178e-03_rb /) kao(:, 2, 3, 9) = (/ & & 0.64961e-04_rb,0.12216e-03_rb,0.16424e-03_rb,0.19863e-03_rb,0.22903e-03_rb, & & 0.25664e-03_rb,0.28152e-03_rb,0.30626e-03_rb,0.28379e-03_rb /) kao(:, 3, 3, 9) = (/ & & 0.64796e-04_rb,0.12170e-03_rb,0.16393e-03_rb,0.19861e-03_rb,0.22948e-03_rb, & & 0.25740e-03_rb,0.28253e-03_rb,0.30727e-03_rb,0.28578e-03_rb /) kao(:, 4, 3, 9) = (/ & & 0.64583e-04_rb,0.12248e-03_rb,0.16600e-03_rb,0.20227e-03_rb,0.23481e-03_rb, & & 0.26421e-03_rb,0.29055e-03_rb,0.31636e-03_rb,0.29736e-03_rb /) kao(:, 5, 3, 9) = (/ & & 0.64341e-04_rb,0.12081e-03_rb,0.16325e-03_rb,0.19869e-03_rb,0.23043e-03_rb, & & 0.25903e-03_rb,0.28445e-03_rb,0.30920e-03_rb,0.28976e-03_rb /) kao(:, 1, 4, 9) = (/ & & 0.54784e-04_rb,0.11174e-03_rb,0.15188e-03_rb,0.18523e-03_rb,0.21503e-03_rb, & & 0.24239e-03_rb,0.26770e-03_rb,0.29311e-03_rb,0.26685e-03_rb /) kao(:, 2, 4, 9) = (/ & & 0.54700e-04_rb,0.11144e-03_rb,0.15177e-03_rb,0.18550e-03_rb,0.21578e-03_rb, & & 0.24348e-03_rb,0.26903e-03_rb,0.29466e-03_rb,0.26928e-03_rb /) kao(:, 3, 4, 9) = (/ & & 0.54592e-04_rb,0.11111e-03_rb,0.15167e-03_rb,0.18578e-03_rb,0.21655e-03_rb, & & 0.24456e-03_rb,0.27029e-03_rb,0.29609e-03_rb,0.27162e-03_rb /) kao(:, 4, 4, 9) = (/ & & 0.54457e-04_rb,0.11078e-03_rb,0.15152e-03_rb,0.18607e-03_rb,0.21728e-03_rb, & & 0.24565e-03_rb,0.27151e-03_rb,0.29746e-03_rb,0.27399e-03_rb /) kao(:, 5, 4, 9) = (/ & & 0.54312e-04_rb,0.11162e-03_rb,0.15369e-03_rb,0.18993e-03_rb,0.22281e-03_rb, & & 0.25263e-03_rb,0.27972e-03_rb,0.30664e-03_rb,0.28593e-03_rb /) kao(:, 1, 5, 9) = (/ & & 0.46088e-04_rb,0.10164e-03_rb,0.13985e-03_rb,0.17192e-03_rb,0.20105e-03_rb, & & 0.22810e-03_rb,0.25365e-03_rb,0.28019e-03_rb,0.25169e-03_rb /) kao(:, 2, 5, 9) = (/ & & 0.46037e-04_rb,0.10150e-03_rb,0.13996e-03_rb,0.17251e-03_rb,0.20208e-03_rb, & & 0.22949e-03_rb,0.25532e-03_rb,0.28211e-03_rb,0.25438e-03_rb /) kao(:, 3, 5, 9) = (/ & & 0.45971e-04_rb,0.10129e-03_rb,0.14008e-03_rb,0.17302e-03_rb,0.20310e-03_rb, & & 0.23085e-03_rb,0.25690e-03_rb,0.28385e-03_rb,0.25702e-03_rb /) kao(:, 4, 5, 9) = (/ & & 0.45890e-04_rb,0.10111e-03_rb,0.14015e-03_rb,0.17355e-03_rb,0.20405e-03_rb, & & 0.23221e-03_rb,0.25843e-03_rb,0.28547e-03_rb,0.25970e-03_rb /) kao(:, 5, 5, 9) = (/ & & 0.45808e-04_rb,0.10210e-03_rb,0.14263e-03_rb,0.17783e-03_rb,0.21010e-03_rb, & & 0.23994e-03_rb,0.26750e-03_rb,0.29545e-03_rb,0.27288e-03_rb /) kao(:, 1, 6, 9) = (/ & & 0.38759e-04_rb,0.92287e-04_rb,0.12830e-03_rb,0.15873e-03_rb,0.18673e-03_rb, & & 0.21305e-03_rb,0.23858e-03_rb,0.26603e-03_rb,0.23576e-03_rb /) kao(:, 2, 6, 9) = (/ & & 0.38742e-04_rb,0.92285e-04_rb,0.12860e-03_rb,0.15956e-03_rb,0.18804e-03_rb, & & 0.21479e-03_rb,0.24061e-03_rb,0.26833e-03_rb,0.23876e-03_rb /) kao(:, 3, 6, 9) = (/ & & 0.38716e-04_rb,0.92248e-04_rb,0.12890e-03_rb,0.16031e-03_rb,0.18934e-03_rb, & & 0.21647e-03_rb,0.24252e-03_rb,0.27042e-03_rb,0.24167e-03_rb /) kao(:, 4, 6, 9) = (/ & & 0.38672e-04_rb,0.92189e-04_rb,0.12914e-03_rb,0.16108e-03_rb,0.19055e-03_rb, & & 0.21815e-03_rb,0.24441e-03_rb,0.27232e-03_rb,0.24468e-03_rb /) kao(:, 5, 6, 9) = (/ & & 0.38631e-04_rb,0.92110e-04_rb,0.12940e-03_rb,0.16181e-03_rb,0.19180e-03_rb, & & 0.21982e-03_rb,0.24634e-03_rb,0.27420e-03_rb,0.24778e-03_rb /) kao(:, 1, 7, 9) = (/ & & 0.32524e-04_rb,0.83578e-04_rb,0.11715e-03_rb,0.14581e-03_rb,0.17242e-03_rb, & & 0.19778e-03_rb,0.22289e-03_rb,0.25099e-03_rb,0.21544e-03_rb /) kao(:, 2, 7, 9) = (/ & & 0.32544e-04_rb,0.83724e-04_rb,0.11765e-03_rb,0.14685e-03_rb,0.17402e-03_rb, & & 0.19984e-03_rb,0.22531e-03_rb,0.25360e-03_rb,0.21897e-03_rb /) kao(:, 3, 7, 9) = (/ & & 0.32541e-04_rb,0.83837e-04_rb,0.11812e-03_rb,0.14785e-03_rb,0.17560e-03_rb, & & 0.20184e-03_rb,0.22764e-03_rb,0.25604e-03_rb,0.22234e-03_rb /) kao(:, 4, 7, 9) = (/ & & 0.32522e-04_rb,0.83911e-04_rb,0.11855e-03_rb,0.14886e-03_rb,0.17710e-03_rb, & & 0.20381e-03_rb,0.22989e-03_rb,0.25831e-03_rb,0.22586e-03_rb /) kao(:, 5, 7, 9) = (/ & & 0.32511e-04_rb,0.83972e-04_rb,0.11899e-03_rb,0.14985e-03_rb,0.17863e-03_rb, & & 0.20577e-03_rb,0.23212e-03_rb,0.26056e-03_rb,0.22930e-03_rb /) kao(:, 1, 8, 9) = (/ & & 0.27162e-04_rb,0.75477e-04_rb,0.10657e-03_rb,0.13337e-03_rb,0.15848e-03_rb, & & 0.18267e-03_rb,0.20707e-03_rb,0.23532e-03_rb,0.10685e-03_rb /) kao(:, 2, 8, 9) = (/ & & 0.27219e-04_rb,0.75747e-04_rb,0.10724e-03_rb,0.13464e-03_rb,0.16036e-03_rb, & & 0.18507e-03_rb,0.20988e-03_rb,0.23834e-03_rb,0.11049e-03_rb /) kao(:, 3, 8, 9) = (/ & & 0.27240e-04_rb,0.75981e-04_rb,0.10788e-03_rb,0.13591e-03_rb,0.16217e-03_rb, & & 0.18731e-03_rb,0.21250e-03_rb,0.24115e-03_rb,0.11463e-03_rb /) kao(:, 4, 8, 9) = (/ & & 0.27241e-04_rb,0.76175e-04_rb,0.10851e-03_rb,0.13715e-03_rb,0.16392e-03_rb, & & 0.18952e-03_rb,0.21504e-03_rb,0.24375e-03_rb,0.11830e-03_rb /) kao(:, 5, 8, 9) = (/ & & 0.27254e-04_rb,0.76338e-04_rb,0.10913e-03_rb,0.13836e-03_rb,0.16569e-03_rb, & & 0.19172e-03_rb,0.21755e-03_rb,0.24638e-03_rb,0.12227e-03_rb /) kao(:, 1, 9, 9) = (/ & & 0.22546e-04_rb,0.67903e-04_rb,0.96628e-04_rb,0.12150e-03_rb,0.14489e-03_rb, & & 0.16757e-03_rb,0.19095e-03_rb,0.21913e-03_rb,0.25626e-04_rb /) kao(:, 2, 9, 9) = (/ & & 0.22635e-04_rb,0.68268e-04_rb,0.97460e-04_rb,0.12301e-03_rb,0.14702e-03_rb, & & 0.17028e-03_rb,0.19411e-03_rb,0.22260e-03_rb,0.25839e-04_rb /) kao(:, 3, 9, 9) = (/ & & 0.22685e-04_rb,0.68616e-04_rb,0.98277e-04_rb,0.12450e-03_rb,0.14909e-03_rb, & & 0.17284e-03_rb,0.19709e-03_rb,0.22578e-03_rb,0.27443e-04_rb /) kao(:, 4, 9, 9) = (/ & & 0.22709e-04_rb,0.68929e-04_rb,0.99095e-04_rb,0.12593e-03_rb,0.15108e-03_rb, & & 0.17530e-03_rb,0.19995e-03_rb,0.22878e-03_rb,0.28531e-04_rb /) kao(:, 5, 9, 9) = (/ & & 0.22740e-04_rb,0.69227e-04_rb,0.99896e-04_rb,0.12734e-03_rb,0.15306e-03_rb, & & 0.17777e-03_rb,0.20277e-03_rb,0.23170e-03_rb,0.28894e-04_rb /) kao(:, 1,10, 9) = (/ & & 0.18403e-04_rb,0.60856e-04_rb,0.87340e-04_rb,0.11017e-03_rb,0.13174e-03_rb, & & 0.15284e-03_rb,0.17492e-03_rb,0.20267e-03_rb,0.31931e-04_rb /) kao(:, 2,10, 9) = (/ & & 0.18527e-04_rb,0.61329e-04_rb,0.88371e-04_rb,0.11191e-03_rb,0.13412e-03_rb, & & 0.15579e-03_rb,0.17838e-03_rb,0.20650e-03_rb,0.29084e-04_rb /) kao(:, 3,10, 9) = (/ & & 0.18600e-04_rb,0.61796e-04_rb,0.89354e-04_rb,0.11363e-03_rb,0.13643e-03_rb, & & 0.15861e-03_rb,0.18170e-03_rb,0.21009e-03_rb,0.27893e-04_rb /) kao(:, 4,10, 9) = (/ & & 0.18642e-04_rb,0.62226e-04_rb,0.90339e-04_rb,0.11526e-03_rb,0.13867e-03_rb, & & 0.16137e-03_rb,0.18486e-03_rb,0.21346e-03_rb,0.33895e-04_rb /) kao(:, 5,10, 9) = (/ & & 0.18688e-04_rb,0.62651e-04_rb,0.91302e-04_rb,0.11690e-03_rb,0.14093e-03_rb, & & 0.16416e-03_rb,0.18804e-03_rb,0.21676e-03_rb,0.31724e-04_rb /) kao(:, 1,11, 9) = (/ & & 0.14636e-04_rb,0.54588e-04_rb,0.79114e-04_rb,0.10030e-03_rb,0.12035e-03_rb, & & 0.14003e-03_rb,0.16089e-03_rb,0.18797e-03_rb,0.24886e-04_rb /) kao(:, 2,11, 9) = (/ & & 0.14721e-04_rb,0.55182e-04_rb,0.80295e-04_rb,0.10221e-03_rb,0.12288e-03_rb, & & 0.14315e-03_rb,0.16455e-03_rb,0.19200e-03_rb,0.28280e-04_rb /) kao(:, 3,11, 9) = (/ & & 0.14784e-04_rb,0.55751e-04_rb,0.81465e-04_rb,0.10405e-03_rb,0.12535e-03_rb, & & 0.14614e-03_rb,0.16802e-03_rb,0.19578e-03_rb,0.31405e-04_rb /) kao(:, 4,11, 9) = (/ & & 0.14831e-04_rb,0.56293e-04_rb,0.82611e-04_rb,0.10589e-03_rb,0.12782e-03_rb, & & 0.14918e-03_rb,0.17147e-03_rb,0.19942e-03_rb,0.34684e-04_rb /) kao(:, 5,11, 9) = (/ & & 0.14856e-04_rb,0.56829e-04_rb,0.83754e-04_rb,0.10776e-03_rb,0.13034e-03_rb, & & 0.15225e-03_rb,0.17499e-03_rb,0.20312e-03_rb,0.30970e-04_rb /) kao(:, 1,12, 9) = (/ & & 0.11572e-04_rb,0.48876e-04_rb,0.71553e-04_rb,0.91191e-04_rb,0.10973e-03_rb, & & 0.12799e-03_rb,0.14756e-03_rb,0.17351e-03_rb,0.30682e-04_rb /) kao(:, 2,12, 9) = (/ & & 0.11642e-04_rb,0.49592e-04_rb,0.72882e-04_rb,0.93233e-04_rb,0.11240e-03_rb, & & 0.13124e-03_rb,0.15132e-03_rb,0.17770e-03_rb,0.31240e-04_rb /) kao(:, 3,12, 9) = (/ & & 0.11629e-04_rb,0.50261e-04_rb,0.74205e-04_rb,0.95210e-04_rb,0.11505e-03_rb, & & 0.13447e-03_rb,0.15502e-03_rb,0.18170e-03_rb,0.31943e-04_rb /) kao(:, 4,12, 9) = (/ & & 0.11633e-04_rb,0.50925e-04_rb,0.75501e-04_rb,0.97246e-04_rb,0.11773e-03_rb, & & 0.13775e-03_rb,0.15878e-03_rb,0.18567e-03_rb,0.23441e-04_rb /) kao(:, 5,12, 9) = (/ & & 0.11677e-04_rb,0.51560e-04_rb,0.76851e-04_rb,0.99310e-04_rb,0.12044e-03_rb, & & 0.14103e-03_rb,0.16255e-03_rb,0.18968e-03_rb,0.23249e-04_rb /) kao(:, 1,13, 9) = (/ & & 0.88185e-05_rb,0.43709e-04_rb,0.64627e-04_rb,0.82824e-04_rb,0.99889e-04_rb, & & 0.11672e-03_rb,0.13488e-03_rb,0.15952e-03_rb,0.30903e-04_rb /) kao(:, 2,13, 9) = (/ & & 0.88986e-05_rb,0.44515e-04_rb,0.66093e-04_rb,0.84980e-04_rb,0.10270e-03_rb, & & 0.12016e-03_rb,0.13885e-03_rb,0.16386e-03_rb,0.25840e-04_rb /) kao(:, 3,13, 9) = (/ & & 0.89568e-05_rb,0.45280e-04_rb,0.67556e-04_rb,0.87134e-04_rb,0.10555e-03_rb, & & 0.12361e-03_rb,0.14282e-03_rb,0.16813e-03_rb,0.26878e-04_rb /) kao(:, 4,13, 9) = (/ & & 0.89829e-05_rb,0.46045e-04_rb,0.69040e-04_rb,0.89346e-04_rb,0.10842e-03_rb, & & 0.12710e-03_rb,0.14682e-03_rb,0.17243e-03_rb,0.28852e-04_rb /) kao(:, 5,13, 9) = (/ & & 0.90413e-05_rb,0.46787e-04_rb,0.70568e-04_rb,0.91561e-04_rb,0.11129e-03_rb, & & 0.13056e-03_rb,0.15080e-03_rb,0.17669e-03_rb,0.28623e-04_rb /) kao(:, 1, 1,10) = (/ & & 0.44112e-03_rb,0.47423e-03_rb,0.54876e-03_rb,0.61567e-03_rb,0.66971e-03_rb, & & 0.71699e-03_rb,0.76347e-03_rb,0.77814e-03_rb,0.77298e-03_rb /) kao(:, 2, 1,10) = (/ & & 0.43794e-03_rb,0.47285e-03_rb,0.54643e-03_rb,0.61370e-03_rb,0.66959e-03_rb, & & 0.71530e-03_rb,0.76226e-03_rb,0.77693e-03_rb,0.76966e-03_rb /) kao(:, 3, 1,10) = (/ & & 0.43480e-03_rb,0.47183e-03_rb,0.54721e-03_rb,0.61831e-03_rb,0.67726e-03_rb, & & 0.72423e-03_rb,0.77288e-03_rb,0.78901e-03_rb,0.78603e-03_rb /) kao(:, 4, 1,10) = (/ & & 0.43220e-03_rb,0.46825e-03_rb,0.54213e-03_rb,0.61349e-03_rb,0.66880e-03_rb, & & 0.71215e-03_rb,0.75938e-03_rb,0.77341e-03_rb,0.76775e-03_rb /) kao(:, 5, 1,10) = (/ & & 0.42987e-03_rb,0.46597e-03_rb,0.54025e-03_rb,0.61237e-03_rb,0.66800e-03_rb, & & 0.70968e-03_rb,0.75599e-03_rb,0.77132e-03_rb,0.76754e-03_rb /) kao(:, 1, 2,10) = (/ & & 0.37934e-03_rb,0.43540e-03_rb,0.51852e-03_rb,0.59327e-03_rb,0.65919e-03_rb, & & 0.71028e-03_rb,0.75523e-03_rb,0.78660e-03_rb,0.77018e-03_rb /) kao(:, 2, 2,10) = (/ & & 0.37616e-03_rb,0.43418e-03_rb,0.51743e-03_rb,0.59232e-03_rb,0.65869e-03_rb, & & 0.70879e-03_rb,0.75385e-03_rb,0.78506e-03_rb,0.76914e-03_rb /) kao(:, 3, 2,10) = (/ & & 0.37285e-03_rb,0.43338e-03_rb,0.51992e-03_rb,0.59796e-03_rb,0.66588e-03_rb, & & 0.71863e-03_rb,0.76525e-03_rb,0.79746e-03_rb,0.78726e-03_rb /) kao(:, 4, 2,10) = (/ & & 0.36993e-03_rb,0.43092e-03_rb,0.51858e-03_rb,0.59729e-03_rb,0.66425e-03_rb, & & 0.71582e-03_rb,0.76129e-03_rb,0.79428e-03_rb,0.78557e-03_rb /) kao(:, 5, 2,10) = (/ & & 0.36795e-03_rb,0.42667e-03_rb,0.51498e-03_rb,0.59125e-03_rb,0.65451e-03_rb, & & 0.70295e-03_rb,0.74646e-03_rb,0.77706e-03_rb,0.76846e-03_rb /) kao(:, 1, 3,10) = (/ & & 0.32398e-03_rb,0.39840e-03_rb,0.48910e-03_rb,0.57202e-03_rb,0.64247e-03_rb, & & 0.69920e-03_rb,0.74272e-03_rb,0.78560e-03_rb,0.76158e-03_rb /) kao(:, 2, 3,10) = (/ & & 0.32107e-03_rb,0.39683e-03_rb,0.48877e-03_rb,0.57106e-03_rb,0.64200e-03_rb, & & 0.69780e-03_rb,0.74068e-03_rb,0.78389e-03_rb,0.76255e-03_rb /) kao(:, 3, 3,10) = (/ & & 0.31808e-03_rb,0.39502e-03_rb,0.48851e-03_rb,0.57104e-03_rb,0.64052e-03_rb, & & 0.69677e-03_rb,0.73846e-03_rb,0.78156e-03_rb,0.76341e-03_rb /) kao(:, 4, 3,10) = (/ & & 0.31534e-03_rb,0.39419e-03_rb,0.49223e-03_rb,0.57621e-03_rb,0.64746e-03_rb, & & 0.70569e-03_rb,0.74986e-03_rb,0.79350e-03_rb,0.78192e-03_rb /) kao(:, 5, 3,10) = (/ & & 0.31343e-03_rb,0.39031e-03_rb,0.48789e-03_rb,0.56911e-03_rb,0.63804e-03_rb, & & 0.69322e-03_rb,0.73529e-03_rb,0.77554e-03_rb,0.76249e-03_rb /) kao(:, 1, 4,10) = (/ & & 0.27516e-03_rb,0.36405e-03_rb,0.46107e-03_rb,0.54790e-03_rb,0.62253e-03_rb, & & 0.68384e-03_rb,0.73057e-03_rb,0.77856e-03_rb,0.74793e-03_rb /) kao(:, 2, 4,10) = (/ & & 0.27272e-03_rb,0.36262e-03_rb,0.46080e-03_rb,0.54700e-03_rb,0.62201e-03_rb, & & 0.68300e-03_rb,0.72976e-03_rb,0.77591e-03_rb,0.74919e-03_rb /) kao(:, 3, 4,10) = (/ & & 0.26991e-03_rb,0.36139e-03_rb,0.46064e-03_rb,0.54673e-03_rb,0.62063e-03_rb, & & 0.68269e-03_rb,0.72862e-03_rb,0.77298e-03_rb,0.75070e-03_rb /) kao(:, 4, 4,10) = (/ & & 0.26757e-03_rb,0.35993e-03_rb,0.46053e-03_rb,0.54625e-03_rb,0.61982e-03_rb, & & 0.68167e-03_rb,0.72799e-03_rb,0.77005e-03_rb,0.75046e-03_rb /) kao(:, 5, 4,10) = (/ & & 0.26556e-03_rb,0.36025e-03_rb,0.46433e-03_rb,0.55132e-03_rb,0.62683e-03_rb, & & 0.69143e-03_rb,0.74137e-03_rb,0.78366e-03_rb,0.76845e-03_rb /) kao(:, 1, 5,10) = (/ & & 0.23277e-03_rb,0.33279e-03_rb,0.43313e-03_rb,0.52236e-03_rb,0.59970e-03_rb, & & 0.66464e-03_rb,0.71686e-03_rb,0.76626e-03_rb,0.72457e-03_rb /) kao(:, 2, 5,10) = (/ & & 0.23078e-03_rb,0.33167e-03_rb,0.43303e-03_rb,0.52181e-03_rb,0.60054e-03_rb, & & 0.66529e-03_rb,0.71807e-03_rb,0.76458e-03_rb,0.72852e-03_rb /) kao(:, 3, 5,10) = (/ & & 0.22839e-03_rb,0.33111e-03_rb,0.43245e-03_rb,0.52229e-03_rb,0.60068e-03_rb, & & 0.66640e-03_rb,0.71880e-03_rb,0.76367e-03_rb,0.73165e-03_rb /) kao(:, 4, 5,10) = (/ & & 0.22634e-03_rb,0.33010e-03_rb,0.43234e-03_rb,0.52220e-03_rb,0.60179e-03_rb, & & 0.66699e-03_rb,0.71996e-03_rb,0.76305e-03_rb,0.73316e-03_rb /) kao(:, 5, 5,10) = (/ & & 0.22442e-03_rb,0.33158e-03_rb,0.43680e-03_rb,0.52864e-03_rb,0.61018e-03_rb, & & 0.67770e-03_rb,0.73371e-03_rb,0.78031e-03_rb,0.75138e-03_rb /) kao(:, 1, 6,10) = (/ & & 0.19685e-03_rb,0.30442e-03_rb,0.40547e-03_rb,0.49610e-03_rb,0.57453e-03_rb, & & 0.64299e-03_rb,0.69899e-03_rb,0.74954e-03_rb,0.69460e-03_rb /) kao(:, 2, 6,10) = (/ & & 0.19517e-03_rb,0.30338e-03_rb,0.40585e-03_rb,0.49683e-03_rb,0.57671e-03_rb, & & 0.64425e-03_rb,0.70130e-03_rb,0.75004e-03_rb,0.70036e-03_rb /) kao(:, 3, 6,10) = (/ & & 0.19324e-03_rb,0.30268e-03_rb,0.40573e-03_rb,0.49834e-03_rb,0.57803e-03_rb, & & 0.64627e-03_rb,0.70310e-03_rb,0.75130e-03_rb,0.70596e-03_rb /) kao(:, 4, 6,10) = (/ & & 0.19132e-03_rb,0.30224e-03_rb,0.40644e-03_rb,0.49947e-03_rb,0.58014e-03_rb, & & 0.64741e-03_rb,0.70472e-03_rb,0.75293e-03_rb,0.70917e-03_rb /) kao(:, 5, 6,10) = (/ & & 0.18952e-03_rb,0.30177e-03_rb,0.40672e-03_rb,0.50101e-03_rb,0.58137e-03_rb, & & 0.64847e-03_rb,0.70602e-03_rb,0.75537e-03_rb,0.71121e-03_rb /) kao(:, 1, 7,10) = (/ & & 0.16684e-03_rb,0.27825e-03_rb,0.37860e-03_rb,0.46883e-03_rb,0.54680e-03_rb, & & 0.61510e-03_rb,0.67386e-03_rb,0.72824e-03_rb,0.66391e-03_rb /) kao(:, 2, 7,10) = (/ & & 0.16553e-03_rb,0.27719e-03_rb,0.37963e-03_rb,0.47077e-03_rb,0.54985e-03_rb, & & 0.61768e-03_rb,0.67717e-03_rb,0.73093e-03_rb,0.67156e-03_rb /) kao(:, 3, 7,10) = (/ & & 0.16397e-03_rb,0.27663e-03_rb,0.38054e-03_rb,0.47308e-03_rb,0.55166e-03_rb, & & 0.62067e-03_rb,0.67975e-03_rb,0.73342e-03_rb,0.67787e-03_rb /) kao(:, 4, 7,10) = (/ & & 0.16246e-03_rb,0.27634e-03_rb,0.38198e-03_rb,0.47489e-03_rb,0.55414e-03_rb, & & 0.62280e-03_rb,0.68232e-03_rb,0.73600e-03_rb,0.68175e-03_rb /) kao(:, 5, 7,10) = (/ & & 0.16089e-03_rb,0.27624e-03_rb,0.38314e-03_rb,0.47665e-03_rb,0.55585e-03_rb, & & 0.62443e-03_rb,0.68436e-03_rb,0.73852e-03_rb,0.68559e-03_rb /) kao(:, 1, 8,10) = (/ & & 0.14215e-03_rb,0.25407e-03_rb,0.35215e-03_rb,0.43863e-03_rb,0.51443e-03_rb, & & 0.58154e-03_rb,0.64180e-03_rb,0.70004e-03_rb,0.62276e-03_rb /) kao(:, 2, 8,10) = (/ & & 0.14104e-03_rb,0.25332e-03_rb,0.35394e-03_rb,0.44179e-03_rb,0.51810e-03_rb, & & 0.58508e-03_rb,0.64584e-03_rb,0.70407e-03_rb,0.63285e-03_rb /) kao(:, 3, 8,10) = (/ & & 0.13977e-03_rb,0.25313e-03_rb,0.35560e-03_rb,0.44458e-03_rb,0.52101e-03_rb, & & 0.58953e-03_rb,0.65037e-03_rb,0.70785e-03_rb,0.64108e-03_rb /) kao(:, 4, 8,10) = (/ & & 0.13869e-03_rb,0.25332e-03_rb,0.35744e-03_rb,0.44722e-03_rb,0.52464e-03_rb, & & 0.59336e-03_rb,0.65468e-03_rb,0.71201e-03_rb,0.64611e-03_rb /) kao(:, 5, 8,10) = (/ & & 0.13742e-03_rb,0.25367e-03_rb,0.35927e-03_rb,0.44959e-03_rb,0.52752e-03_rb, & & 0.59656e-03_rb,0.65824e-03_rb,0.71554e-03_rb,0.65066e-03_rb /) kao(:, 1, 9,10) = (/ & & 0.12109e-03_rb,0.23210e-03_rb,0.32446e-03_rb,0.40715e-03_rb,0.48065e-03_rb, & & 0.54715e-03_rb,0.60775e-03_rb,0.66825e-03_rb,0.18336e-04_rb /) kao(:, 2, 9,10) = (/ & & 0.12018e-03_rb,0.23207e-03_rb,0.32699e-03_rb,0.41058e-03_rb,0.48505e-03_rb, & & 0.55180e-03_rb,0.61323e-03_rb,0.67309e-03_rb,0.24327e-04_rb /) kao(:, 3, 9,10) = (/ & & 0.11917e-03_rb,0.23229e-03_rb,0.32956e-03_rb,0.41390e-03_rb,0.48910e-03_rb, & & 0.55710e-03_rb,0.61911e-03_rb,0.67851e-03_rb,0.23065e-04_rb /) kao(:, 4, 9,10) = (/ & & 0.11843e-03_rb,0.23292e-03_rb,0.33197e-03_rb,0.41764e-03_rb,0.49354e-03_rb, & & 0.56238e-03_rb,0.62497e-03_rb,0.68395e-03_rb,0.23680e-04_rb /) kao(:, 5, 9,10) = (/ & & 0.11748e-03_rb,0.23365e-03_rb,0.33458e-03_rb,0.42109e-03_rb,0.49774e-03_rb, & & 0.56667e-03_rb,0.62987e-03_rb,0.68909e-03_rb,0.25905e-04_rb /) kao(:, 1,10,10) = (/ & & 0.10273e-03_rb,0.21204e-03_rb,0.29794e-03_rb,0.37761e-03_rb,0.44937e-03_rb, & & 0.51495e-03_rb,0.57567e-03_rb,0.63761e-03_rb,0.19724e-04_rb /) kao(:, 2,10,10) = (/ & & 0.10190e-03_rb,0.21272e-03_rb,0.30059e-03_rb,0.38150e-03_rb,0.45434e-03_rb, & & 0.52089e-03_rb,0.58270e-03_rb,0.64346e-03_rb,0.24197e-04_rb /) kao(:, 3,10,10) = (/ & & 0.10112e-03_rb,0.21334e-03_rb,0.30377e-03_rb,0.38507e-03_rb,0.45917e-03_rb, & & 0.52739e-03_rb,0.58976e-03_rb,0.64941e-03_rb,0.34326e-04_rb /) kao(:, 4,10,10) = (/ & & 0.10061e-03_rb,0.21443e-03_rb,0.30659e-03_rb,0.38965e-03_rb,0.46453e-03_rb, & & 0.53354e-03_rb,0.59675e-03_rb,0.65639e-03_rb,0.33702e-04_rb /) kao(:, 5,10,10) = (/ & & 0.99890e-04_rb,0.21543e-03_rb,0.30998e-03_rb,0.39375e-03_rb,0.46925e-03_rb, & & 0.53804e-03_rb,0.60223e-03_rb,0.66255e-03_rb,0.31412e-04_rb /) kao(:, 1,11,10) = (/ & & 0.86338e-04_rb,0.19398e-03_rb,0.27516e-03_rb,0.35204e-03_rb,0.42116e-03_rb, & & 0.48556e-03_rb,0.54615e-03_rb,0.60927e-03_rb,0.19945e-04_rb /) kao(:, 2,11,10) = (/ & & 0.85730e-04_rb,0.19502e-03_rb,0.27834e-03_rb,0.35636e-03_rb,0.42792e-03_rb, & & 0.49403e-03_rb,0.55597e-03_rb,0.61737e-03_rb,0.90093e-05_rb /) kao(:, 3,11,10) = (/ & & 0.85275e-04_rb,0.19618e-03_rb,0.28168e-03_rb,0.36165e-03_rb,0.43438e-03_rb, & & 0.50224e-03_rb,0.56492e-03_rb,0.62614e-03_rb,0.37496e-04_rb /) kao(:, 4,11,10) = (/ & & 0.84865e-04_rb,0.19761e-03_rb,0.28526e-03_rb,0.36657e-03_rb,0.44042e-03_rb, & & 0.50863e-03_rb,0.57263e-03_rb,0.63413e-03_rb,0.15044e-04_rb /) kao(:, 5,11,10) = (/ & & 0.84443e-04_rb,0.19914e-03_rb,0.28886e-03_rb,0.37069e-03_rb,0.44492e-03_rb, & & 0.51377e-03_rb,0.57803e-03_rb,0.63993e-03_rb,0.48683e-04_rb /) kao(:, 1,12,10) = (/ & & 0.72237e-04_rb,0.17794e-03_rb,0.25491e-03_rb,0.32737e-03_rb,0.39376e-03_rb, & & 0.45690e-03_rb,0.51684e-03_rb,0.58057e-03_rb,0.10800e-04_rb /) kao(:, 2,12,10) = (/ & & 0.71846e-04_rb,0.17916e-03_rb,0.25896e-03_rb,0.33355e-03_rb,0.40234e-03_rb, & & 0.46708e-03_rb,0.52856e-03_rb,0.59174e-03_rb,0.37304e-04_rb /) kao(:, 3,12,10) = (/ & & 0.71641e-04_rb,0.18095e-03_rb,0.26291e-03_rb,0.34013e-03_rb,0.41022e-03_rb, & & 0.47645e-03_rb,0.53911e-03_rb,0.60240e-03_rb,0.20066e-04_rb /) kao(:, 4,12,10) = (/ & & 0.71337e-04_rb,0.18255e-03_rb,0.26698e-03_rb,0.34557e-03_rb,0.41722e-03_rb, & & 0.48390e-03_rb,0.54753e-03_rb,0.61134e-03_rb,0.20267e-04_rb /) kao(:, 5,12,10) = (/ & & 0.71187e-04_rb,0.18456e-03_rb,0.27032e-03_rb,0.35012e-03_rb,0.42265e-03_rb, & & 0.49079e-03_rb,0.55462e-03_rb,0.61760e-03_rb,0.29175e-04_rb /) kao(:, 1,13,10) = (/ & & 0.60308e-04_rb,0.16344e-03_rb,0.23674e-03_rb,0.30451e-03_rb,0.36859e-03_rb, & & 0.42973e-03_rb,0.48896e-03_rb,0.55265e-03_rb,0.35870e-04_rb /) kao(:, 2,13,10) = (/ & & 0.60075e-04_rb,0.16518e-03_rb,0.24182e-03_rb,0.31202e-03_rb,0.37817e-03_rb, & & 0.44097e-03_rb,0.50163e-03_rb,0.56563e-03_rb,0.24717e-04_rb /) kao(:, 3,13,10) = (/ & & 0.59963e-04_rb,0.16736e-03_rb,0.24636e-03_rb,0.31956e-03_rb,0.38717e-03_rb, & & 0.45122e-03_rb,0.51282e-03_rb,0.57786e-03_rb,0.24967e-04_rb /) kao(:, 4,13,10) = (/ & & 0.59808e-04_rb,0.16950e-03_rb,0.25081e-03_rb,0.32559e-03_rb,0.39488e-03_rb, & & 0.45992e-03_rb,0.52243e-03_rb,0.58716e-03_rb,0.25073e-04_rb /) kao(:, 5,13,10) = (/ & & 0.59738e-04_rb,0.17182e-03_rb,0.25430e-03_rb,0.33121e-03_rb,0.40220e-03_rb, & & 0.46925e-03_rb,0.53224e-03_rb,0.59573e-03_rb,0.14031e-04_rb /) kao(:, 1, 1,11) = (/ & & 0.79109e-03_rb,0.77354e-03_rb,0.84795e-03_rb,0.91837e-03_rb,0.98287e-03_rb, & & 0.10467e-02_rb,0.10876e-02_rb,0.10899e-02_rb,0.10918e-02_rb /) kao(:, 2, 1,11) = (/ & & 0.79035e-03_rb,0.76999e-03_rb,0.84502e-03_rb,0.91315e-03_rb,0.97569e-03_rb, & & 0.10420e-02_rb,0.10843e-02_rb,0.10840e-02_rb,0.10904e-02_rb /) kao(:, 3, 1,11) = (/ & & 0.79094e-03_rb,0.76969e-03_rb,0.84501e-03_rb,0.91212e-03_rb,0.97616e-03_rb, & & 0.10502e-02_rb,0.10978e-02_rb,0.10968e-02_rb,0.11098e-02_rb /) kao(:, 4, 1,11) = (/ & & 0.79012e-03_rb,0.76698e-03_rb,0.84052e-03_rb,0.90224e-03_rb,0.96448e-03_rb, & & 0.10367e-02_rb,0.10810e-02_rb,0.10798e-02_rb,0.10838e-02_rb /) kao(:, 5, 1,11) = (/ & & 0.78840e-03_rb,0.76416e-03_rb,0.83816e-03_rb,0.89971e-03_rb,0.96199e-03_rb, & & 0.10344e-02_rb,0.10796e-02_rb,0.10773e-02_rb,0.10800e-02_rb /) kao(:, 1, 2,11) = (/ & & 0.69789e-03_rb,0.72093e-03_rb,0.81475e-03_rb,0.89922e-03_rb,0.96655e-03_rb, & & 0.10286e-02_rb,0.10852e-02_rb,0.10968e-02_rb,0.10998e-02_rb /) kao(:, 2, 2,11) = (/ & & 0.69799e-03_rb,0.71831e-03_rb,0.81026e-03_rb,0.89390e-03_rb,0.96162e-03_rb, & & 0.10278e-02_rb,0.10853e-02_rb,0.10953e-02_rb,0.10980e-02_rb /) kao(:, 3, 2,11) = (/ & & 0.69849e-03_rb,0.71872e-03_rb,0.81039e-03_rb,0.89368e-03_rb,0.96713e-03_rb, & & 0.10387e-02_rb,0.11003e-02_rb,0.11139e-02_rb,0.11199e-02_rb /) kao(:, 4, 2,11) = (/ & & 0.69786e-03_rb,0.71702e-03_rb,0.80831e-03_rb,0.88926e-03_rb,0.96426e-03_rb, & & 0.10353e-02_rb,0.10976e-02_rb,0.11107e-02_rb,0.11152e-02_rb /) kao(:, 5, 2,11) = (/ & & 0.69639e-03_rb,0.71420e-03_rb,0.80246e-03_rb,0.88289e-03_rb,0.95515e-03_rb, & & 0.10226e-02_rb,0.10812e-02_rb,0.10915e-02_rb,0.10904e-02_rb /) kao(:, 1, 3,11) = (/ & & 0.60717e-03_rb,0.66595e-03_rb,0.77916e-03_rb,0.87509e-03_rb,0.95372e-03_rb, & & 0.10167e-02_rb,0.10820e-02_rb,0.11070e-02_rb,0.11005e-02_rb /) kao(:, 2, 3,11) = (/ & & 0.60740e-03_rb,0.66447e-03_rb,0.77425e-03_rb,0.87078e-03_rb,0.95087e-03_rb, & & 0.10164e-02_rb,0.10820e-02_rb,0.11070e-02_rb,0.10996e-02_rb /) kao(:, 3, 3,11) = (/ & & 0.60743e-03_rb,0.66421e-03_rb,0.77076e-03_rb,0.86668e-03_rb,0.94936e-03_rb, & & 0.10146e-02_rb,0.10809e-02_rb,0.11066e-02_rb,0.10979e-02_rb /) kao(:, 4, 3,11) = (/ & & 0.60721e-03_rb,0.66487e-03_rb,0.77207e-03_rb,0.87093e-03_rb,0.95679e-03_rb, & & 0.10247e-02_rb,0.10950e-02_rb,0.11248e-02_rb,0.11171e-02_rb /) kao(:, 5, 3,11) = (/ & & 0.60632e-03_rb,0.66259e-03_rb,0.76645e-03_rb,0.86469e-03_rb,0.94611e-03_rb, & & 0.10116e-02_rb,0.10778e-02_rb,0.11040e-02_rb,0.10953e-02_rb /) kao(:, 1, 4,11) = (/ & & 0.52196e-03_rb,0.61309e-03_rb,0.74127e-03_rb,0.84825e-03_rb,0.93805e-03_rb, & & 0.10078e-02_rb,0.10732e-02_rb,0.11156e-02_rb,0.10964e-02_rb /) kao(:, 2, 4,11) = (/ & & 0.52205e-03_rb,0.61209e-03_rb,0.73709e-03_rb,0.84586e-03_rb,0.93585e-03_rb, & & 0.10074e-02_rb,0.10727e-02_rb,0.11168e-02_rb,0.10976e-02_rb /) kao(:, 3, 4,11) = (/ & & 0.52218e-03_rb,0.61175e-03_rb,0.73426e-03_rb,0.84316e-03_rb,0.93485e-03_rb, & & 0.10055e-02_rb,0.10718e-02_rb,0.11162e-02_rb,0.10985e-02_rb /) kao(:, 4, 4,11) = (/ & & 0.52176e-03_rb,0.61131e-03_rb,0.73315e-03_rb,0.84162e-03_rb,0.93319e-03_rb, & & 0.10035e-02_rb,0.10709e-02_rb,0.11149e-02_rb,0.11000e-02_rb /) kao(:, 5, 4,11) = (/ & & 0.52100e-03_rb,0.61215e-03_rb,0.73639e-03_rb,0.84868e-03_rb,0.94102e-03_rb, & & 0.10132e-02_rb,0.10822e-02_rb,0.11303e-02_rb,0.11192e-02_rb /) kao(:, 1, 5,11) = (/ & & 0.44537e-03_rb,0.56415e-03_rb,0.70334e-03_rb,0.81986e-03_rb,0.91737e-03_rb, & & 0.99505e-03_rb,0.10590e-02_rb,0.11155e-02_rb,0.10855e-02_rb /) kao(:, 2, 5,11) = (/ & & 0.44499e-03_rb,0.56304e-03_rb,0.70021e-03_rb,0.81824e-03_rb,0.91496e-03_rb, & & 0.99465e-03_rb,0.10577e-02_rb,0.11163e-02_rb,0.10886e-02_rb /) kao(:, 3, 5,11) = (/ & & 0.44481e-03_rb,0.56231e-03_rb,0.69884e-03_rb,0.81557e-03_rb,0.91387e-03_rb, & & 0.99269e-03_rb,0.10566e-02_rb,0.11154e-02_rb,0.10925e-02_rb /) kao(:, 4, 5,11) = (/ & & 0.44459e-03_rb,0.56155e-03_rb,0.69827e-03_rb,0.81462e-03_rb,0.91145e-03_rb, & & 0.99105e-03_rb,0.10558e-02_rb,0.11141e-02_rb,0.10950e-02_rb /) kao(:, 5, 5,11) = (/ & & 0.44401e-03_rb,0.56266e-03_rb,0.70342e-03_rb,0.82262e-03_rb,0.92017e-03_rb, & & 0.10017e-02_rb,0.10686e-02_rb,0.11300e-02_rb,0.11166e-02_rb /) kao(:, 1, 6,11) = (/ & & 0.37714e-03_rb,0.51787e-03_rb,0.66544e-03_rb,0.78793e-03_rb,0.89178e-03_rb, & & 0.97506e-03_rb,0.10421e-02_rb,0.11072e-02_rb,0.10679e-02_rb /) kao(:, 2, 6,11) = (/ & & 0.37645e-03_rb,0.51719e-03_rb,0.66329e-03_rb,0.78619e-03_rb,0.88946e-03_rb, & & 0.97613e-03_rb,0.10421e-02_rb,0.11076e-02_rb,0.10727e-02_rb /) kao(:, 3, 6,11) = (/ & & 0.37621e-03_rb,0.51663e-03_rb,0.66248e-03_rb,0.78421e-03_rb,0.88840e-03_rb, & & 0.97530e-03_rb,0.10423e-02_rb,0.11074e-02_rb,0.10773e-02_rb /) kao(:, 4, 6,11) = (/ & & 0.37625e-03_rb,0.51591e-03_rb,0.66198e-03_rb,0.78342e-03_rb,0.88665e-03_rb, & & 0.97510e-03_rb,0.10427e-02_rb,0.11065e-02_rb,0.10807e-02_rb /) kao(:, 5, 6,11) = (/ & & 0.37578e-03_rb,0.51583e-03_rb,0.66231e-03_rb,0.78322e-03_rb,0.88597e-03_rb, & & 0.97458e-03_rb,0.10416e-02_rb,0.11045e-02_rb,0.10828e-02_rb /) kao(:, 1, 7,11) = (/ & & 0.31849e-03_rb,0.47598e-03_rb,0.62784e-03_rb,0.75245e-03_rb,0.86097e-03_rb, & & 0.95037e-03_rb,0.10228e-02_rb,0.10907e-02_rb,0.10381e-02_rb /) kao(:, 2, 7,11) = (/ & & 0.31748e-03_rb,0.47565e-03_rb,0.62625e-03_rb,0.75127e-03_rb,0.86016e-03_rb, & & 0.95292e-03_rb,0.10249e-02_rb,0.10924e-02_rb,0.10446e-02_rb /) kao(:, 3, 7,11) = (/ & & 0.31709e-03_rb,0.47527e-03_rb,0.62527e-03_rb,0.75044e-03_rb,0.86086e-03_rb, & & 0.95398e-03_rb,0.10272e-02_rb,0.10943e-02_rb,0.10513e-02_rb /) kao(:, 4, 7,11) = (/ & & 0.31690e-03_rb,0.47506e-03_rb,0.62534e-03_rb,0.75023e-03_rb,0.86098e-03_rb, & & 0.95576e-03_rb,0.10298e-02_rb,0.10956e-02_rb,0.10570e-02_rb /) kao(:, 5, 7,11) = (/ & & 0.31661e-03_rb,0.47556e-03_rb,0.62564e-03_rb,0.75129e-03_rb,0.86194e-03_rb, & & 0.95752e-03_rb,0.10312e-02_rb,0.10967e-02_rb,0.10605e-02_rb /) kao(:, 1, 8,11) = (/ & & 0.26920e-03_rb,0.43740e-03_rb,0.58907e-03_rb,0.71604e-03_rb,0.82585e-03_rb, & & 0.92017e-03_rb,0.99828e-03_rb,0.10677e-02_rb,0.99191e-03_rb /) kao(:, 2, 8,11) = (/ & & 0.26802e-03_rb,0.43738e-03_rb,0.58846e-03_rb,0.71590e-03_rb,0.82753e-03_rb, & & 0.92484e-03_rb,0.10036e-02_rb,0.10726e-02_rb,0.10010e-02_rb /) kao(:, 3, 8,11) = (/ & & 0.26738e-03_rb,0.43742e-03_rb,0.58827e-03_rb,0.71679e-03_rb,0.83051e-03_rb, & & 0.92821e-03_rb,0.10079e-02_rb,0.10772e-02_rb,0.10102e-02_rb /) kao(:, 4, 8,11) = (/ & & 0.26701e-03_rb,0.43751e-03_rb,0.58933e-03_rb,0.71793e-03_rb,0.83304e-03_rb, & & 0.93190e-03_rb,0.10124e-02_rb,0.10810e-02_rb,0.10188e-02_rb /) kao(:, 5, 8,11) = (/ & & 0.26686e-03_rb,0.43824e-03_rb,0.58999e-03_rb,0.72050e-03_rb,0.83607e-03_rb, & & 0.93581e-03_rb,0.10160e-02_rb,0.10848e-02_rb,0.10263e-02_rb /) kao(:, 1, 9,11) = (/ & & 0.22904e-03_rb,0.40123e-03_rb,0.55115e-03_rb,0.67712e-03_rb,0.78732e-03_rb, & & 0.88313e-03_rb,0.96568e-03_rb,0.10387e-02_rb,0.14403e-04_rb /) kao(:, 2, 9,11) = (/ & & 0.22775e-03_rb,0.40129e-03_rb,0.55155e-03_rb,0.67918e-03_rb,0.79168e-03_rb, & & 0.89045e-03_rb,0.97356e-03_rb,0.10468e-02_rb,0.17396e-04_rb /) kao(:, 3, 9,11) = (/ & & 0.22691e-03_rb,0.40187e-03_rb,0.55239e-03_rb,0.68238e-03_rb,0.79664e-03_rb, & & 0.89641e-03_rb,0.98013e-03_rb,0.10538e-02_rb,0.17983e-04_rb /) kao(:, 4, 9,11) = (/ & & 0.22637e-03_rb,0.40220e-03_rb,0.55452e-03_rb,0.68525e-03_rb,0.80145e-03_rb, & & 0.90223e-03_rb,0.98673e-03_rb,0.10599e-02_rb,0.14884e-04_rb /) kao(:, 5, 9,11) = (/ & & 0.22595e-03_rb,0.40316e-03_rb,0.55613e-03_rb,0.68950e-03_rb,0.80623e-03_rb, & & 0.90849e-03_rb,0.99244e-03_rb,0.10655e-02_rb,0.19485e-04_rb /) kao(:, 1,10,11) = (/ & & 0.19610e-03_rb,0.36707e-03_rb,0.51305e-03_rb,0.63612e-03_rb,0.74337e-03_rb, & & 0.83875e-03_rb,0.92458e-03_rb,0.10007e-02_rb,0.30583e-04_rb /) kao(:, 2,10,11) = (/ & & 0.19499e-03_rb,0.36759e-03_rb,0.51501e-03_rb,0.64066e-03_rb,0.75082e-03_rb, & & 0.84853e-03_rb,0.93443e-03_rb,0.10117e-02_rb,0.20484e-04_rb /) kao(:, 3,10,11) = (/ & & 0.19427e-03_rb,0.36886e-03_rb,0.51745e-03_rb,0.64625e-03_rb,0.75815e-03_rb, & & 0.85733e-03_rb,0.94303e-03_rb,0.10217e-02_rb,0.20784e-04_rb /) kao(:, 4,10,11) = (/ & & 0.19367e-03_rb,0.36958e-03_rb,0.52106e-03_rb,0.65093e-03_rb,0.76545e-03_rb, & & 0.86571e-03_rb,0.95244e-03_rb,0.10301e-02_rb,0.30511e-04_rb /) kao(:, 5,10,11) = (/ & & 0.19319e-03_rb,0.37098e-03_rb,0.52409e-03_rb,0.65675e-03_rb,0.77258e-03_rb, & & 0.87491e-03_rb,0.96110e-03_rb,0.10378e-02_rb,0.19883e-04_rb /) kao(:, 1,11,11) = (/ & & 0.16767e-03_rb,0.33624e-03_rb,0.47635e-03_rb,0.59543e-03_rb,0.70301e-03_rb, & & 0.79872e-03_rb,0.88652e-03_rb,0.96550e-03_rb,0.27483e-04_rb /) kao(:, 2,11,11) = (/ & & 0.16687e-03_rb,0.33764e-03_rb,0.48055e-03_rb,0.60283e-03_rb,0.71186e-03_rb, & & 0.80978e-03_rb,0.89673e-03_rb,0.97758e-03_rb,0.20639e-04_rb /) kao(:, 3,11,11) = (/ & & 0.16664e-03_rb,0.33942e-03_rb,0.48524e-03_rb,0.60962e-03_rb,0.72075e-03_rb, & & 0.81953e-03_rb,0.90753e-03_rb,0.98729e-03_rb,0.27689e-04_rb /) kao(:, 4,11,11) = (/ & & 0.16611e-03_rb,0.34104e-03_rb,0.48994e-03_rb,0.61708e-03_rb,0.72992e-03_rb, & & 0.83047e-03_rb,0.91898e-03_rb,0.99769e-03_rb,0.13719e-04_rb /) kao(:, 5,11,11) = (/ & & 0.16596e-03_rb,0.34313e-03_rb,0.49467e-03_rb,0.62538e-03_rb,0.73960e-03_rb, & & 0.84171e-03_rb,0.92999e-03_rb,0.10075e-02_rb,0.27137e-04_rb /) kao(:, 1,12,11) = (/ & & 0.14282e-03_rb,0.30890e-03_rb,0.44183e-03_rb,0.55831e-03_rb,0.66503e-03_rb, & & 0.76077e-03_rb,0.84890e-03_rb,0.93128e-03_rb,0.21228e-04_rb /) kao(:, 2,12,11) = (/ & & 0.14255e-03_rb,0.31125e-03_rb,0.44731e-03_rb,0.56685e-03_rb,0.67491e-03_rb, & & 0.77277e-03_rb,0.86092e-03_rb,0.94274e-03_rb,0.32331e-04_rb /) kao(:, 3,12,11) = (/ & & 0.14244e-03_rb,0.31334e-03_rb,0.45354e-03_rb,0.57479e-03_rb,0.68552e-03_rb, & & 0.78420e-03_rb,0.87396e-03_rb,0.95434e-03_rb,0.19978e-06_rb /) kao(:, 4,12,11) = (/ & & 0.14239e-03_rb,0.31614e-03_rb,0.45984e-03_rb,0.58419e-03_rb,0.69607e-03_rb, & & 0.79750e-03_rb,0.88765e-03_rb,0.96637e-03_rb,0.21475e-04_rb /) kao(:, 5,12,11) = (/ & & 0.14252e-03_rb,0.31876e-03_rb,0.46658e-03_rb,0.59385e-03_rb,0.70775e-03_rb, & & 0.80986e-03_rb,0.90037e-03_rb,0.97814e-03_rb,0.21476e-04_rb /) kao(:, 1,13,11) = (/ & & 0.12125e-03_rb,0.28444e-03_rb,0.41080e-03_rb,0.52444e-03_rb,0.62932e-03_rb, & & 0.72481e-03_rb,0.81245e-03_rb,0.89716e-03_rb,0.27405e-04_rb /) kao(:, 2,13,11) = (/ & & 0.12138e-03_rb,0.28788e-03_rb,0.41712e-03_rb,0.53396e-03_rb,0.64078e-03_rb, & & 0.73819e-03_rb,0.82737e-03_rb,0.91020e-03_rb,0.13699e-04_rb /) kao(:, 3,13,11) = (/ & & 0.12142e-03_rb,0.29086e-03_rb,0.42441e-03_rb,0.54338e-03_rb,0.65260e-03_rb, & & 0.75224e-03_rb,0.84352e-03_rb,0.92398e-03_rb,0.13820e-04_rb /) kao(:, 4,13,11) = (/ & & 0.12174e-03_rb,0.29430e-03_rb,0.43176e-03_rb,0.55440e-03_rb,0.66546e-03_rb, & & 0.76738e-03_rb,0.85914e-03_rb,0.93821e-03_rb,0.26505e-06_rb /) kao(:, 5,13,11) = (/ & & 0.12197e-03_rb,0.29750e-03_rb,0.43989e-03_rb,0.56500e-03_rb,0.67844e-03_rb, & & 0.78071e-03_rb,0.87280e-03_rb,0.95108e-03_rb,0.33764e-06_rb /) kao(:, 1, 1,12) = (/ & & 0.15537e-02_rb,0.13818e-02_rb,0.14273e-02_rb,0.15055e-02_rb,0.15786e-02_rb, & & 0.16339e-02_rb,0.16467e-02_rb,0.15800e-02_rb,0.16050e-02_rb /) kao(:, 2, 1,12) = (/ & & 0.15485e-02_rb,0.13765e-02_rb,0.14181e-02_rb,0.14978e-02_rb,0.15727e-02_rb, & & 0.16256e-02_rb,0.16371e-02_rb,0.15728e-02_rb,0.16005e-02_rb /) kao(:, 3, 1,12) = (/ & & 0.15437e-02_rb,0.13722e-02_rb,0.14122e-02_rb,0.14971e-02_rb,0.15752e-02_rb, & & 0.16261e-02_rb,0.16396e-02_rb,0.15797e-02_rb,0.16209e-02_rb /) kao(:, 4, 1,12) = (/ & & 0.15424e-02_rb,0.13691e-02_rb,0.14015e-02_rb,0.14839e-02_rb,0.15593e-02_rb, & & 0.16040e-02_rb,0.16150e-02_rb,0.15487e-02_rb,0.15957e-02_rb /) kao(:, 5, 1,12) = (/ & & 0.15425e-02_rb,0.13681e-02_rb,0.13961e-02_rb,0.14766e-02_rb,0.15502e-02_rb, & & 0.15943e-02_rb,0.16046e-02_rb,0.15376e-02_rb,0.15923e-02_rb /) kao(:, 1, 2,12) = (/ & & 0.14274e-02_rb,0.13101e-02_rb,0.13901e-02_rb,0.14665e-02_rb,0.15597e-02_rb, & & 0.16365e-02_rb,0.16682e-02_rb,0.16286e-02_rb,0.16381e-02_rb /) kao(:, 2, 2,12) = (/ & & 0.14223e-02_rb,0.13039e-02_rb,0.13828e-02_rb,0.14629e-02_rb,0.15522e-02_rb, & & 0.16256e-02_rb,0.16567e-02_rb,0.16183e-02_rb,0.16362e-02_rb /) kao(:, 3, 2,12) = (/ & & 0.14195e-02_rb,0.12999e-02_rb,0.13791e-02_rb,0.14641e-02_rb,0.15538e-02_rb, & & 0.16259e-02_rb,0.16605e-02_rb,0.16235e-02_rb,0.16585e-02_rb /) kao(:, 4, 2,12) = (/ & & 0.14181e-02_rb,0.12958e-02_rb,0.13726e-02_rb,0.14576e-02_rb,0.15447e-02_rb, & & 0.16149e-02_rb,0.16487e-02_rb,0.16101e-02_rb,0.16540e-02_rb /) kao(:, 5, 2,12) = (/ & & 0.14191e-02_rb,0.12933e-02_rb,0.13650e-02_rb,0.14448e-02_rb,0.15270e-02_rb, & & 0.15959e-02_rb,0.16273e-02_rb,0.15850e-02_rb,0.16279e-02_rb /) kao(:, 1, 3,12) = (/ & & 0.12975e-02_rb,0.12495e-02_rb,0.13516e-02_rb,0.14440e-02_rb,0.15390e-02_rb, & & 0.16298e-02_rb,0.16807e-02_rb,0.16634e-02_rb,0.16697e-02_rb /) kao(:, 2, 3,12) = (/ & & 0.12938e-02_rb,0.12434e-02_rb,0.13457e-02_rb,0.14406e-02_rb,0.15301e-02_rb, & & 0.16196e-02_rb,0.16709e-02_rb,0.16534e-02_rb,0.16671e-02_rb /) kao(:, 3, 3,12) = (/ & & 0.12920e-02_rb,0.12378e-02_rb,0.13412e-02_rb,0.14340e-02_rb,0.15221e-02_rb, & & 0.16094e-02_rb,0.16610e-02_rb,0.16426e-02_rb,0.16655e-02_rb /) kao(:, 4, 3,12) = (/ & & 0.12905e-02_rb,0.12343e-02_rb,0.13399e-02_rb,0.14335e-02_rb,0.15224e-02_rb, & & 0.16137e-02_rb,0.16692e-02_rb,0.16519e-02_rb,0.16891e-02_rb /) kao(:, 5, 3,12) = (/ & & 0.12916e-02_rb,0.12305e-02_rb,0.13333e-02_rb,0.14197e-02_rb,0.15049e-02_rb, & & 0.15945e-02_rb,0.16481e-02_rb,0.16282e-02_rb,0.16593e-02_rb /) kao(:, 1, 4,12) = (/ & & 0.11586e-02_rb,0.11791e-02_rb,0.13059e-02_rb,0.14246e-02_rb,0.15191e-02_rb, & & 0.16155e-02_rb,0.16888e-02_rb,0.16884e-02_rb,0.16900e-02_rb /) kao(:, 2, 4,12) = (/ & & 0.11563e-02_rb,0.11735e-02_rb,0.13020e-02_rb,0.14191e-02_rb,0.15117e-02_rb, & & 0.16067e-02_rb,0.16804e-02_rb,0.16804e-02_rb,0.16885e-02_rb /) kao(:, 3, 4,12) = (/ & & 0.11547e-02_rb,0.11684e-02_rb,0.12989e-02_rb,0.14121e-02_rb,0.15049e-02_rb, & & 0.15986e-02_rb,0.16736e-02_rb,0.16742e-02_rb,0.16864e-02_rb /) kao(:, 4, 4,12) = (/ & & 0.11549e-02_rb,0.11640e-02_rb,0.12947e-02_rb,0.14053e-02_rb,0.14971e-02_rb, & & 0.15940e-02_rb,0.16690e-02_rb,0.16701e-02_rb,0.16826e-02_rb /) kao(:, 5, 4,12) = (/ & & 0.11568e-02_rb,0.11629e-02_rb,0.12947e-02_rb,0.14048e-02_rb,0.15017e-02_rb, & & 0.16054e-02_rb,0.16836e-02_rb,0.16886e-02_rb,0.17044e-02_rb /) kao(:, 1, 5,12) = (/ & & 0.10197e-02_rb,0.11002e-02_rb,0.12563e-02_rb,0.13948e-02_rb,0.15048e-02_rb, & & 0.16026e-02_rb,0.16898e-02_rb,0.17082e-02_rb,0.17013e-02_rb /) kao(:, 2, 5,12) = (/ & & 0.10187e-02_rb,0.10963e-02_rb,0.12532e-02_rb,0.13909e-02_rb,0.14993e-02_rb, & & 0.15953e-02_rb,0.16843e-02_rb,0.17040e-02_rb,0.16991e-02_rb /) kao(:, 3, 5,12) = (/ & & 0.10179e-02_rb,0.10925e-02_rb,0.12502e-02_rb,0.13858e-02_rb,0.14932e-02_rb, & & 0.15900e-02_rb,0.16803e-02_rb,0.17019e-02_rb,0.16952e-02_rb /) kao(:, 4, 5,12) = (/ & & 0.10188e-02_rb,0.10896e-02_rb,0.12461e-02_rb,0.13806e-02_rb,0.14878e-02_rb, & & 0.15873e-02_rb,0.16767e-02_rb,0.17001e-02_rb,0.16925e-02_rb /) kao(:, 5, 5,12) = (/ & & 0.10211e-02_rb,0.10901e-02_rb,0.12464e-02_rb,0.13834e-02_rb,0.14970e-02_rb, & & 0.16026e-02_rb,0.16952e-02_rb,0.17210e-02_rb,0.17180e-02_rb /) kao(:, 1, 6,12) = (/ & & 0.88455e-03_rb,0.10185e-02_rb,0.12021e-02_rb,0.13605e-02_rb,0.14894e-02_rb, & & 0.15922e-02_rb,0.16870e-02_rb,0.17277e-02_rb,0.17006e-02_rb /) kao(:, 2, 6,12) = (/ & & 0.88487e-03_rb,0.10158e-02_rb,0.12001e-02_rb,0.13587e-02_rb,0.14854e-02_rb, & & 0.15856e-02_rb,0.16819e-02_rb,0.17253e-02_rb,0.17001e-02_rb /) kao(:, 3, 6,12) = (/ & & 0.88512e-03_rb,0.10136e-02_rb,0.11981e-02_rb,0.13544e-02_rb,0.14820e-02_rb, & & 0.15811e-02_rb,0.16785e-02_rb,0.17233e-02_rb,0.16989e-02_rb /) kao(:, 4, 6,12) = (/ & & 0.88698e-03_rb,0.10127e-02_rb,0.11948e-02_rb,0.13505e-02_rb,0.14784e-02_rb, & & 0.15789e-02_rb,0.16749e-02_rb,0.17211e-02_rb,0.16988e-02_rb /) kao(:, 5, 6,12) = (/ & & 0.88923e-03_rb,0.10128e-02_rb,0.11919e-02_rb,0.13468e-02_rb,0.14756e-02_rb, & & 0.15764e-02_rb,0.16734e-02_rb,0.17190e-02_rb,0.16990e-02_rb /) kao(:, 1, 7,12) = (/ & & 0.75937e-03_rb,0.93876e-03_rb,0.11443e-02_rb,0.13228e-02_rb,0.14681e-02_rb, & & 0.15807e-02_rb,0.16771e-02_rb,0.17403e-02_rb,0.16920e-02_rb /) kao(:, 2, 7,12) = (/ & & 0.75998e-03_rb,0.93770e-03_rb,0.11447e-02_rb,0.13222e-02_rb,0.14656e-02_rb, & & 0.15751e-02_rb,0.16722e-02_rb,0.17374e-02_rb,0.16943e-02_rb /) kao(:, 3, 7,12) = (/ & & 0.76057e-03_rb,0.93698e-03_rb,0.11442e-02_rb,0.13192e-02_rb,0.14630e-02_rb, & & 0.15711e-02_rb,0.16684e-02_rb,0.17351e-02_rb,0.16966e-02_rb /) kao(:, 4, 7,12) = (/ & & 0.76306e-03_rb,0.93700e-03_rb,0.11417e-02_rb,0.13175e-02_rb,0.14605e-02_rb, & & 0.15679e-02_rb,0.16649e-02_rb,0.17327e-02_rb,0.16998e-02_rb /) kao(:, 5, 7,12) = (/ & & 0.76563e-03_rb,0.93740e-03_rb,0.11401e-02_rb,0.13155e-02_rb,0.14583e-02_rb, & & 0.15655e-02_rb,0.16637e-02_rb,0.17306e-02_rb,0.17045e-02_rb /) kao(:, 1, 8,12) = (/ & & 0.64586e-03_rb,0.86421e-03_rb,0.10884e-02_rb,0.12806e-02_rb,0.14383e-02_rb, & & 0.15636e-02_rb,0.16605e-02_rb,0.17434e-02_rb,0.16711e-02_rb /) kao(:, 2, 8,12) = (/ & & 0.64665e-03_rb,0.86473e-03_rb,0.10896e-02_rb,0.12820e-02_rb,0.14363e-02_rb, & & 0.15592e-02_rb,0.16561e-02_rb,0.17403e-02_rb,0.16771e-02_rb /) kao(:, 3, 8,12) = (/ & & 0.64816e-03_rb,0.86506e-03_rb,0.10903e-02_rb,0.12802e-02_rb,0.14357e-02_rb, & & 0.15554e-02_rb,0.16529e-02_rb,0.17367e-02_rb,0.16846e-02_rb /) kao(:, 4, 8,12) = (/ & & 0.65115e-03_rb,0.86561e-03_rb,0.10893e-02_rb,0.12797e-02_rb,0.14336e-02_rb, & & 0.15533e-02_rb,0.16505e-02_rb,0.17349e-02_rb,0.16920e-02_rb /) kao(:, 5, 8,12) = (/ & & 0.65335e-03_rb,0.86692e-03_rb,0.10897e-02_rb,0.12788e-02_rb,0.14323e-02_rb, & & 0.15519e-02_rb,0.16494e-02_rb,0.17328e-02_rb,0.17005e-02_rb /) kao(:, 1, 9,12) = (/ & & 0.54495e-03_rb,0.79374e-03_rb,0.10331e-02_rb,0.12325e-02_rb,0.13999e-02_rb, & & 0.15343e-02_rb,0.16359e-02_rb,0.17304e-02_rb,0.88289e-03_rb /) kao(:, 2, 9,12) = (/ & & 0.54631e-03_rb,0.79621e-03_rb,0.10351e-02_rb,0.12356e-02_rb,0.13999e-02_rb, & & 0.15332e-02_rb,0.16343e-02_rb,0.17287e-02_rb,0.90009e-03_rb /) kao(:, 3, 9,12) = (/ & & 0.54838e-03_rb,0.79738e-03_rb,0.10366e-02_rb,0.12358e-02_rb,0.14008e-02_rb, & & 0.15312e-02_rb,0.16325e-02_rb,0.17267e-02_rb,0.91715e-03_rb /) kao(:, 4, 9,12) = (/ & & 0.55103e-03_rb,0.79925e-03_rb,0.10373e-02_rb,0.12370e-02_rb,0.14003e-02_rb, & & 0.15313e-02_rb,0.16317e-02_rb,0.17265e-02_rb,0.93948e-03_rb /) kao(:, 5, 9,12) = (/ & & 0.55358e-03_rb,0.80158e-03_rb,0.10391e-02_rb,0.12370e-02_rb,0.14008e-02_rb, & & 0.15320e-02_rb,0.16328e-02_rb,0.17271e-02_rb,0.97099e-03_rb /) kao(:, 1,10,12) = (/ & & 0.45828e-03_rb,0.73128e-03_rb,0.97725e-03_rb,0.11801e-02_rb,0.13541e-02_rb, & & 0.14966e-02_rb,0.16059e-02_rb,0.17081e-02_rb,0.25261e-04_rb /) kao(:, 2,10,12) = (/ & & 0.45994e-03_rb,0.73433e-03_rb,0.98047e-03_rb,0.11852e-02_rb,0.13571e-02_rb, & & 0.14993e-02_rb,0.16071e-02_rb,0.17093e-02_rb,0.32778e-04_rb /) kao(:, 3,10,12) = (/ & & 0.46172e-03_rb,0.73698e-03_rb,0.98332e-03_rb,0.11877e-02_rb,0.13607e-02_rb, & & 0.15001e-02_rb,0.16089e-02_rb,0.17098e-02_rb,0.30108e-04_rb /) kao(:, 4,10,12) = (/ & & 0.46419e-03_rb,0.73967e-03_rb,0.98568e-03_rb,0.11903e-02_rb,0.13620e-02_rb, & & 0.15042e-02_rb,0.16117e-02_rb,0.17131e-02_rb,0.14814e-04_rb /) kao(:, 5,10,12) = (/ & & 0.46710e-03_rb,0.74287e-03_rb,0.98852e-03_rb,0.11927e-02_rb,0.13653e-02_rb, & & 0.15080e-02_rb,0.16153e-02_rb,0.17174e-02_rb,0.18206e-04_rb /) kao(:, 1,11,12) = (/ & & 0.38711e-03_rb,0.67660e-03_rb,0.92352e-03_rb,0.11285e-02_rb,0.13042e-02_rb, & & 0.14533e-02_rb,0.15680e-02_rb,0.16768e-02_rb,0.35375e-04_rb /) kao(:, 2,11,12) = (/ & & 0.38827e-03_rb,0.68076e-03_rb,0.92811e-03_rb,0.11355e-02_rb,0.13110e-02_rb, & & 0.14578e-02_rb,0.15732e-02_rb,0.16802e-02_rb,0.17785e-04_rb /) kao(:, 3,11,12) = (/ & & 0.39017e-03_rb,0.68339e-03_rb,0.93243e-03_rb,0.11404e-02_rb,0.13179e-02_rb, & & 0.14648e-02_rb,0.15809e-02_rb,0.16870e-02_rb,0.17310e-04_rb /) kao(:, 4,11,12) = (/ & & 0.39259e-03_rb,0.68706e-03_rb,0.93609e-03_rb,0.11451e-02_rb,0.13243e-02_rb, & & 0.14746e-02_rb,0.15892e-02_rb,0.16958e-02_rb,0.17795e-04_rb /) kao(:, 5,11,12) = (/ & & 0.39544e-03_rb,0.69011e-03_rb,0.94016e-03_rb,0.11496e-02_rb,0.13318e-02_rb, & & 0.14825e-02_rb,0.15980e-02_rb,0.17052e-02_rb,0.87581e-05_rb /) kao(:, 1,12,12) = (/ & & 0.32882e-03_rb,0.62658e-03_rb,0.87124e-03_rb,0.10770e-02_rb,0.12526e-02_rb, & & 0.14042e-02_rb,0.15246e-02_rb,0.16367e-02_rb,0.13823e-04_rb /) kao(:, 2,12,12) = (/ & & 0.33008e-03_rb,0.63068e-03_rb,0.87790e-03_rb,0.10857e-02_rb,0.12638e-02_rb, & & 0.14155e-02_rb,0.15376e-02_rb,0.16473e-02_rb,0.27356e-04_rb /) kao(:, 3,12,12) = (/ & & 0.33191e-03_rb,0.63479e-03_rb,0.88401e-03_rb,0.10939e-02_rb,0.12749e-02_rb, & & 0.14298e-02_rb,0.15521e-02_rb,0.16615e-02_rb,0.26924e-04_rb /) kao(:, 4,12,12) = (/ & & 0.33384e-03_rb,0.63914e-03_rb,0.88945e-03_rb,0.11023e-02_rb,0.12871e-02_rb, & & 0.14439e-02_rb,0.15651e-02_rb,0.16755e-02_rb,0.13486e-04_rb /) kao(:, 5,12,12) = (/ & & 0.33630e-03_rb,0.64288e-03_rb,0.89554e-03_rb,0.11106e-02_rb,0.12985e-02_rb, & & 0.14567e-02_rb,0.15792e-02_rb,0.16910e-02_rb,0.54470e-04_rb /) kao(:, 1,13,12) = (/ & & 0.28179e-03_rb,0.58039e-03_rb,0.82131e-03_rb,0.10258e-02_rb,0.12001e-02_rb, & & 0.13522e-02_rb,0.14762e-02_rb,0.15892e-02_rb,0.17365e-04_rb /) kao(:, 2,13,12) = (/ & & 0.28322e-03_rb,0.58517e-03_rb,0.83048e-03_rb,0.10376e-02_rb,0.12180e-02_rb, & & 0.13721e-02_rb,0.14980e-02_rb,0.16092e-02_rb,0.19167e-10_rb /) kao(:, 3,13,12) = (/ & & 0.28449e-03_rb,0.59004e-03_rb,0.83867e-03_rb,0.10495e-02_rb,0.12349e-02_rb, & & 0.13937e-02_rb,0.15189e-02_rb,0.16302e-02_rb,0.17686e-04_rb /) kao(:, 4,13,12) = (/ & & 0.28623e-03_rb,0.59506e-03_rb,0.84661e-03_rb,0.10616e-02_rb,0.12511e-02_rb, & & 0.14124e-02_rb,0.15380e-02_rb,0.16505e-02_rb,0.27174e-10_rb /) kao(:, 5,13,12) = (/ & & 0.28834e-03_rb,0.60000e-03_rb,0.85510e-03_rb,0.10735e-02_rb,0.12664e-02_rb, & & 0.14298e-02_rb,0.15583e-02_rb,0.16724e-02_rb,0.30930e-10_rb /) kao(:, 1, 1,13) = (/ & & 0.39229e-02_rb,0.34326e-02_rb,0.30162e-02_rb,0.28699e-02_rb,0.28381e-02_rb, & & 0.27734e-02_rb,0.26260e-02_rb,0.23062e-02_rb,0.25522e-02_rb /) kao(:, 2, 1,13) = (/ & & 0.39213e-02_rb,0.34310e-02_rb,0.30108e-02_rb,0.28565e-02_rb,0.28216e-02_rb, & & 0.27552e-02_rb,0.26075e-02_rb,0.22956e-02_rb,0.25296e-02_rb /) kao(:, 3, 1,13) = (/ & & 0.39180e-02_rb,0.34283e-02_rb,0.30095e-02_rb,0.28490e-02_rb,0.28140e-02_rb, & & 0.27516e-02_rb,0.26057e-02_rb,0.23031e-02_rb,0.25320e-02_rb /) kao(:, 4, 1,13) = (/ & & 0.39161e-02_rb,0.34265e-02_rb,0.30039e-02_rb,0.28320e-02_rb,0.27864e-02_rb, & & 0.27263e-02_rb,0.25779e-02_rb,0.22767e-02_rb,0.24834e-02_rb /) kao(:, 5, 1,13) = (/ & & 0.39129e-02_rb,0.34239e-02_rb,0.29985e-02_rb,0.28202e-02_rb,0.27725e-02_rb, & & 0.27107e-02_rb,0.25647e-02_rb,0.22654e-02_rb,0.24632e-02_rb /) kao(:, 1, 2,13) = (/ & & 0.35717e-02_rb,0.31250e-02_rb,0.28583e-02_rb,0.28716e-02_rb,0.28885e-02_rb, & & 0.28569e-02_rb,0.27419e-02_rb,0.24528e-02_rb,0.26589e-02_rb /) kao(:, 2, 2,13) = (/ & & 0.35704e-02_rb,0.31241e-02_rb,0.28509e-02_rb,0.28521e-02_rb,0.28717e-02_rb, & & 0.28411e-02_rb,0.27277e-02_rb,0.24440e-02_rb,0.26352e-02_rb /) kao(:, 3, 2,13) = (/ & & 0.35692e-02_rb,0.31228e-02_rb,0.28479e-02_rb,0.28438e-02_rb,0.28636e-02_rb, & & 0.28419e-02_rb,0.27327e-02_rb,0.24542e-02_rb,0.26382e-02_rb /) kao(:, 4, 2,13) = (/ & & 0.35651e-02_rb,0.31194e-02_rb,0.28382e-02_rb,0.28288e-02_rb,0.28472e-02_rb, & & 0.28288e-02_rb,0.27211e-02_rb,0.24428e-02_rb,0.26140e-02_rb /) kao(:, 5, 2,13) = (/ & & 0.35614e-02_rb,0.31162e-02_rb,0.28280e-02_rb,0.28080e-02_rb,0.28270e-02_rb, & & 0.28018e-02_rb,0.26919e-02_rb,0.24122e-02_rb,0.25721e-02_rb /) kao(:, 1, 3,13) = (/ & & 0.32370e-02_rb,0.28408e-02_rb,0.27429e-02_rb,0.28459e-02_rb,0.29107e-02_rb, & & 0.29163e-02_rb,0.28452e-02_rb,0.26013e-02_rb,0.27589e-02_rb /) kao(:, 2, 3,13) = (/ & & 0.32378e-02_rb,0.28409e-02_rb,0.27346e-02_rb,0.28282e-02_rb,0.28967e-02_rb, & & 0.29036e-02_rb,0.28357e-02_rb,0.25912e-02_rb,0.27381e-02_rb /) kao(:, 3, 3,13) = (/ & & 0.32344e-02_rb,0.28366e-02_rb,0.27224e-02_rb,0.28159e-02_rb,0.28824e-02_rb, & & 0.28940e-02_rb,0.28268e-02_rb,0.25801e-02_rb,0.27164e-02_rb /) kao(:, 4, 3,13) = (/ & & 0.32328e-02_rb,0.28349e-02_rb,0.27139e-02_rb,0.28071e-02_rb,0.28820e-02_rb, & & 0.28985e-02_rb,0.28328e-02_rb,0.25870e-02_rb,0.27280e-02_rb /) kao(:, 5, 3,13) = (/ & & 0.32337e-02_rb,0.28348e-02_rb,0.27027e-02_rb,0.27877e-02_rb,0.28613e-02_rb, & & 0.28723e-02_rb,0.28004e-02_rb,0.25498e-02_rb,0.26848e-02_rb /) kao(:, 1, 4,13) = (/ & & 0.29442e-02_rb,0.26158e-02_rb,0.26686e-02_rb,0.28002e-02_rb,0.29074e-02_rb, & & 0.29569e-02_rb,0.29354e-02_rb,0.27381e-02_rb,0.28491e-02_rb /) kao(:, 2, 4,13) = (/ & & 0.29416e-02_rb,0.26110e-02_rb,0.26570e-02_rb,0.27866e-02_rb,0.28959e-02_rb, & & 0.29477e-02_rb,0.29295e-02_rb,0.27262e-02_rb,0.28287e-02_rb /) kao(:, 3, 4,13) = (/ & & 0.29392e-02_rb,0.26064e-02_rb,0.26421e-02_rb,0.27765e-02_rb,0.28845e-02_rb, & & 0.29406e-02_rb,0.29202e-02_rb,0.27107e-02_rb,0.28099e-02_rb /) kao(:, 4, 4,13) = (/ & & 0.29406e-02_rb,0.26055e-02_rb,0.26309e-02_rb,0.27645e-02_rb,0.28769e-02_rb, & & 0.29312e-02_rb,0.29057e-02_rb,0.26928e-02_rb,0.27972e-02_rb /) kao(:, 5, 4,13) = (/ & & 0.29379e-02_rb,0.26016e-02_rb,0.26230e-02_rb,0.27605e-02_rb,0.28772e-02_rb, & & 0.29338e-02_rb,0.29114e-02_rb,0.26956e-02_rb,0.28225e-02_rb /) kao(:, 1, 5,13) = (/ & & 0.26861e-02_rb,0.24510e-02_rb,0.26014e-02_rb,0.27478e-02_rb,0.28811e-02_rb, & & 0.29878e-02_rb,0.30091e-02_rb,0.28610e-02_rb,0.29320e-02_rb /) kao(:, 2, 5,13) = (/ & & 0.26822e-02_rb,0.24426e-02_rb,0.25898e-02_rb,0.27369e-02_rb,0.28725e-02_rb, & & 0.29815e-02_rb,0.30039e-02_rb,0.28485e-02_rb,0.29157e-02_rb /) kao(:, 3, 5,13) = (/ & & 0.26829e-02_rb,0.24377e-02_rb,0.25766e-02_rb,0.27289e-02_rb,0.28648e-02_rb, & & 0.29741e-02_rb,0.29940e-02_rb,0.28292e-02_rb,0.29014e-02_rb /) kao(:, 4, 5,13) = (/ & & 0.26816e-02_rb,0.24329e-02_rb,0.25674e-02_rb,0.27192e-02_rb,0.28602e-02_rb, & & 0.29643e-02_rb,0.29808e-02_rb,0.28105e-02_rb,0.28911e-02_rb /) kao(:, 5, 5,13) = (/ & & 0.26776e-02_rb,0.24242e-02_rb,0.25584e-02_rb,0.27174e-02_rb,0.28631e-02_rb, & & 0.29690e-02_rb,0.29916e-02_rb,0.28176e-02_rb,0.29253e-02_rb /) kao(:, 1, 6,13) = (/ & & 0.24590e-02_rb,0.23376e-02_rb,0.25355e-02_rb,0.26945e-02_rb,0.28553e-02_rb, & & 0.29996e-02_rb,0.30574e-02_rb,0.29544e-02_rb,0.30033e-02_rb /) kao(:, 2, 6,13) = (/ & & 0.24565e-02_rb,0.23281e-02_rb,0.25242e-02_rb,0.26862e-02_rb,0.28495e-02_rb, & & 0.29966e-02_rb,0.30559e-02_rb,0.29459e-02_rb,0.29901e-02_rb /) kao(:, 3, 6,13) = (/ & & 0.24594e-02_rb,0.23224e-02_rb,0.25135e-02_rb,0.26796e-02_rb,0.28441e-02_rb, & & 0.29914e-02_rb,0.30494e-02_rb,0.29315e-02_rb,0.29796e-02_rb /) kao(:, 4, 6,13) = (/ & & 0.24561e-02_rb,0.23120e-02_rb,0.25070e-02_rb,0.26723e-02_rb,0.28398e-02_rb, & & 0.29830e-02_rb,0.30431e-02_rb,0.29165e-02_rb,0.29718e-02_rb /) kao(:, 5, 6,13) = (/ & & 0.24544e-02_rb,0.23009e-02_rb,0.24971e-02_rb,0.26678e-02_rb,0.28335e-02_rb, & & 0.29758e-02_rb,0.30342e-02_rb,0.29019e-02_rb,0.29654e-02_rb /) kao(:, 1, 7,13) = (/ & & 0.22277e-02_rb,0.22296e-02_rb,0.24669e-02_rb,0.26497e-02_rb,0.28285e-02_rb, & & 0.29885e-02_rb,0.30855e-02_rb,0.30292e-02_rb,0.30616e-02_rb /) kao(:, 2, 7,13) = (/ & & 0.22293e-02_rb,0.22219e-02_rb,0.24569e-02_rb,0.26437e-02_rb,0.28247e-02_rb, & & 0.29924e-02_rb,0.30879e-02_rb,0.30266e-02_rb,0.30510e-02_rb /) kao(:, 3, 7,13) = (/ & & 0.22351e-02_rb,0.22176e-02_rb,0.24495e-02_rb,0.26382e-02_rb,0.28222e-02_rb, & & 0.29913e-02_rb,0.30877e-02_rb,0.30175e-02_rb,0.30415e-02_rb /) kao(:, 4, 7,13) = (/ & & 0.22344e-02_rb,0.22079e-02_rb,0.24453e-02_rb,0.26324e-02_rb,0.28192e-02_rb, & & 0.29887e-02_rb,0.30862e-02_rb,0.30074e-02_rb,0.30342e-02_rb /) kao(:, 5, 7,13) = (/ & & 0.22361e-02_rb,0.21982e-02_rb,0.24378e-02_rb,0.26291e-02_rb,0.28143e-02_rb, & & 0.29850e-02_rb,0.30822e-02_rb,0.29969e-02_rb,0.30270e-02_rb /) kao(:, 1, 8,13) = (/ & & 0.19878e-02_rb,0.21080e-02_rb,0.23886e-02_rb,0.26087e-02_rb,0.27952e-02_rb, & & 0.29676e-02_rb,0.31003e-02_rb,0.30904e-02_rb,0.31018e-02_rb /) kao(:, 2, 8,13) = (/ & & 0.19936e-02_rb,0.21034e-02_rb,0.23825e-02_rb,0.26049e-02_rb,0.27978e-02_rb, & & 0.29755e-02_rb,0.31107e-02_rb,0.30954e-02_rb,0.30940e-02_rb /) kao(:, 3, 8,13) = (/ & & 0.20012e-02_rb,0.21016e-02_rb,0.23778e-02_rb,0.26010e-02_rb,0.27982e-02_rb, & & 0.29815e-02_rb,0.31166e-02_rb,0.30929e-02_rb,0.30865e-02_rb /) kao(:, 4, 8,13) = (/ & & 0.20034e-02_rb,0.20960e-02_rb,0.23764e-02_rb,0.25979e-02_rb,0.27992e-02_rb, & & 0.29823e-02_rb,0.31192e-02_rb,0.30868e-02_rb,0.30812e-02_rb /) kao(:, 5, 8,13) = (/ & & 0.20095e-02_rb,0.20891e-02_rb,0.23711e-02_rb,0.25960e-02_rb,0.27964e-02_rb, & & 0.29828e-02_rb,0.31181e-02_rb,0.30806e-02_rb,0.30733e-02_rb /) kao(:, 1, 9,13) = (/ & & 0.17523e-02_rb,0.19789e-02_rb,0.23024e-02_rb,0.25572e-02_rb,0.27629e-02_rb, & & 0.29479e-02_rb,0.31085e-02_rb,0.31444e-02_rb,0.30417e-02_rb /) kao(:, 2, 9,13) = (/ & & 0.17607e-02_rb,0.19777e-02_rb,0.23013e-02_rb,0.25587e-02_rb,0.27691e-02_rb, & & 0.29613e-02_rb,0.31227e-02_rb,0.31535e-02_rb,0.30346e-02_rb /) kao(:, 3, 9,13) = (/ & & 0.17693e-02_rb,0.19800e-02_rb,0.23011e-02_rb,0.25605e-02_rb,0.27739e-02_rb, & & 0.29714e-02_rb,0.31329e-02_rb,0.31549e-02_rb,0.30299e-02_rb /) kao(:, 4, 9,13) = (/ & & 0.17751e-02_rb,0.19773e-02_rb,0.23025e-02_rb,0.25606e-02_rb,0.27770e-02_rb, & & 0.29770e-02_rb,0.31405e-02_rb,0.31532e-02_rb,0.30280e-02_rb /) kao(:, 5, 9,13) = (/ & & 0.17845e-02_rb,0.19738e-02_rb,0.23006e-02_rb,0.25633e-02_rb,0.27766e-02_rb, & & 0.29802e-02_rb,0.31452e-02_rb,0.31517e-02_rb,0.30317e-02_rb /) kao(:, 1,10,13) = (/ & & 0.15244e-02_rb,0.18437e-02_rb,0.22100e-02_rb,0.24972e-02_rb,0.27331e-02_rb, & & 0.29304e-02_rb,0.31059e-02_rb,0.31844e-02_rb,0.23817e-04_rb /) kao(:, 2,10,13) = (/ & & 0.15360e-02_rb,0.18467e-02_rb,0.22145e-02_rb,0.25068e-02_rb,0.27437e-02_rb, & & 0.29473e-02_rb,0.31260e-02_rb,0.31986e-02_rb,0.12454e-04_rb /) kao(:, 3,10,13) = (/ & & 0.15476e-02_rb,0.18512e-02_rb,0.22181e-02_rb,0.25119e-02_rb,0.27538e-02_rb, & & 0.29593e-02_rb,0.31389e-02_rb,0.32042e-02_rb,0.30814e-04_rb /) kao(:, 4,10,13) = (/ & & 0.15571e-02_rb,0.18528e-02_rb,0.22235e-02_rb,0.25174e-02_rb,0.27591e-02_rb, & & 0.29666e-02_rb,0.31497e-02_rb,0.32063e-02_rb,0.11698e-04_rb /) kao(:, 5,10,13) = (/ & & 0.15695e-02_rb,0.18534e-02_rb,0.22262e-02_rb,0.25236e-02_rb,0.27611e-02_rb, & & 0.29733e-02_rb,0.31600e-02_rb,0.32093e-02_rb,0.22330e-04_rb /) kao(:, 1,11,13) = (/ & & 0.13188e-02_rb,0.17123e-02_rb,0.21150e-02_rb,0.24398e-02_rb,0.27060e-02_rb, & & 0.29190e-02_rb,0.31061e-02_rb,0.32197e-02_rb,0.11689e-04_rb /) kao(:, 2,11,13) = (/ & & 0.13341e-02_rb,0.17189e-02_rb,0.21240e-02_rb,0.24532e-02_rb,0.27222e-02_rb, & & 0.29371e-02_rb,0.31262e-02_rb,0.32338e-02_rb,0.11845e-04_rb /) kao(:, 3,11,13) = (/ & & 0.13447e-02_rb,0.17274e-02_rb,0.21339e-02_rb,0.24651e-02_rb,0.27343e-02_rb, & & 0.29498e-02_rb,0.31430e-02_rb,0.32440e-02_rb,0.24255e-04_rb /) kao(:, 4,11,13) = (/ & & 0.13578e-02_rb,0.17324e-02_rb,0.21454e-02_rb,0.24765e-02_rb,0.27400e-02_rb, & & 0.29585e-02_rb,0.31579e-02_rb,0.32502e-02_rb,0.35648e-04_rb /) kao(:, 5,11,13) = (/ & & 0.13715e-02_rb,0.17394e-02_rb,0.21518e-02_rb,0.24842e-02_rb,0.27436e-02_rb, & & 0.29689e-02_rb,0.31719e-02_rb,0.32570e-02_rb,0.48216e-04_rb /) kao(:, 1,12,13) = (/ & & 0.11367e-02_rb,0.15942e-02_rb,0.20255e-02_rb,0.23827e-02_rb,0.26757e-02_rb, & & 0.29001e-02_rb,0.30944e-02_rb,0.32386e-02_rb,0.48616e-12_rb /) kao(:, 2,12,13) = (/ & & 0.11495e-02_rb,0.16057e-02_rb,0.20405e-02_rb,0.24019e-02_rb,0.26965e-02_rb, & & 0.29177e-02_rb,0.31160e-02_rb,0.32553e-02_rb,0.63803e-12_rb /) kao(:, 3,12,13) = (/ & & 0.11626e-02_rb,0.16147e-02_rb,0.20558e-02_rb,0.24193e-02_rb,0.27102e-02_rb, & & 0.29330e-02_rb,0.31363e-02_rb,0.32673e-02_rb,0.18451e-04_rb /) kao(:, 4,12,13) = (/ & & 0.11784e-02_rb,0.16224e-02_rb,0.20681e-02_rb,0.24334e-02_rb,0.27187e-02_rb, & & 0.29473e-02_rb,0.31560e-02_rb,0.32789e-02_rb,0.93725e-12_rb /) kao(:, 5,12,13) = (/ & & 0.11935e-02_rb,0.16327e-02_rb,0.20790e-02_rb,0.24438e-02_rb,0.27275e-02_rb, & & 0.29614e-02_rb,0.31756e-02_rb,0.32901e-02_rb,0.36773e-04_rb /) kao(:, 1,13,13) = (/ & & 0.97386e-03_rb,0.14865e-02_rb,0.19422e-02_rb,0.23265e-02_rb,0.26377e-02_rb, & & 0.28742e-02_rb,0.30758e-02_rb,0.32440e-02_rb,0.42838e-12_rb /) kao(:, 2,13,13) = (/ & & 0.98704e-03_rb,0.15018e-02_rb,0.19617e-02_rb,0.23518e-02_rb,0.26608e-02_rb, & & 0.28955e-02_rb,0.31025e-02_rb,0.32660e-02_rb,0.54956e-12_rb /) kao(:, 3,13,13) = (/ & & 0.10034e-02_rb,0.15127e-02_rb,0.19822e-02_rb,0.23722e-02_rb,0.26791e-02_rb, & & 0.29131e-02_rb,0.31272e-02_rb,0.32827e-02_rb,0.68281e-12_rb /) kao(:, 4,13,13) = (/ & & 0.10185e-02_rb,0.15248e-02_rb,0.19990e-02_rb,0.23896e-02_rb,0.26942e-02_rb, & & 0.29331e-02_rb,0.31525e-02_rb,0.33003e-02_rb,0.47348e-04_rb /) kao(:, 5,13,13) = (/ & & 0.10353e-02_rb,0.15370e-02_rb,0.20122e-02_rb,0.24032e-02_rb,0.27096e-02_rb, & & 0.29526e-02_rb,0.31774e-02_rb,0.33154e-02_rb,0.94094e-12_rb /) kao(:, 1, 1,14) = (/ & & 0.11127e-01_rb,0.97365e-02_rb,0.83450e-02_rb,0.69546e-02_rb,0.57518e-02_rb, & & 0.48972e-02_rb,0.42517e-02_rb,0.34771e-02_rb,0.44616e-02_rb /) kao(:, 2, 1,14) = (/ & & 0.11168e-01_rb,0.97719e-02_rb,0.83762e-02_rb,0.69801e-02_rb,0.57613e-02_rb, & & 0.48914e-02_rb,0.42324e-02_rb,0.34356e-02_rb,0.44183e-02_rb /) kao(:, 3, 1,14) = (/ & & 0.11206e-01_rb,0.98061e-02_rb,0.84051e-02_rb,0.70040e-02_rb,0.57786e-02_rb, & & 0.48973e-02_rb,0.42300e-02_rb,0.34167e-02_rb,0.44088e-02_rb /) kao(:, 4, 1,14) = (/ & & 0.11230e-01_rb,0.98265e-02_rb,0.84228e-02_rb,0.70190e-02_rb,0.57794e-02_rb, & & 0.48702e-02_rb,0.41927e-02_rb,0.33658e-02_rb,0.43365e-02_rb /) kao(:, 5, 1,14) = (/ & & 0.11247e-01_rb,0.98411e-02_rb,0.84348e-02_rb,0.70292e-02_rb,0.57800e-02_rb, & & 0.48600e-02_rb,0.41735e-02_rb,0.33367e-02_rb,0.43003e-02_rb /) kao(:, 1, 2,14) = (/ & & 0.11360e-01_rb,0.99403e-02_rb,0.85204e-02_rb,0.71449e-02_rb,0.60754e-02_rb, & & 0.53678e-02_rb,0.47333e-02_rb,0.38804e-02_rb,0.48459e-02_rb /) kao(:, 2, 2,14) = (/ & & 0.11402e-01_rb,0.99768e-02_rb,0.85517e-02_rb,0.71687e-02_rb,0.60816e-02_rb, & & 0.53522e-02_rb,0.47062e-02_rb,0.38343e-02_rb,0.48034e-02_rb /) kao(:, 3, 2,14) = (/ & & 0.11432e-01_rb,0.10003e-01_rb,0.85744e-02_rb,0.71872e-02_rb,0.60934e-02_rb, & & 0.53498e-02_rb,0.46968e-02_rb,0.38177e-02_rb,0.48004e-02_rb /) kao(:, 4, 2,14) = (/ & & 0.11460e-01_rb,0.10028e-01_rb,0.85956e-02_rb,0.72000e-02_rb,0.60909e-02_rb, & & 0.53282e-02_rb,0.46686e-02_rb,0.37852e-02_rb,0.47598e-02_rb /) kao(:, 5, 2,14) = (/ & & 0.11484e-01_rb,0.10049e-01_rb,0.86132e-02_rb,0.72108e-02_rb,0.60794e-02_rb, & & 0.52951e-02_rb,0.46284e-02_rb,0.37347e-02_rb,0.46895e-02_rb /) kao(:, 1, 3,14) = (/ & & 0.11375e-01_rb,0.99535e-02_rb,0.85318e-02_rb,0.72748e-02_rb,0.63965e-02_rb, & & 0.58374e-02_rb,0.52215e-02_rb,0.43002e-02_rb,0.52258e-02_rb /) kao(:, 2, 3,14) = (/ & & 0.11412e-01_rb,0.99855e-02_rb,0.85592e-02_rb,0.72909e-02_rb,0.63926e-02_rb, & & 0.58142e-02_rb,0.51838e-02_rb,0.42530e-02_rb,0.51857e-02_rb /) kao(:, 3, 3,14) = (/ & & 0.11451e-01_rb,0.10019e-01_rb,0.85873e-02_rb,0.73027e-02_rb,0.63856e-02_rb, & & 0.57886e-02_rb,0.51485e-02_rb,0.42153e-02_rb,0.51479e-02_rb /) kao(:, 4, 3,14) = (/ & & 0.11483e-01_rb,0.10047e-01_rb,0.86122e-02_rb,0.73190e-02_rb,0.63840e-02_rb, & & 0.57742e-02_rb,0.51342e-02_rb,0.42027e-02_rb,0.51482e-02_rb /) kao(:, 5, 3,14) = (/ & & 0.11512e-01_rb,0.10073e-01_rb,0.86339e-02_rb,0.73301e-02_rb,0.63706e-02_rb, & & 0.57344e-02_rb,0.50899e-02_rb,0.41496e-02_rb,0.50782e-02_rb /) kao(:, 1, 4,14) = (/ & & 0.11149e-01_rb,0.97560e-02_rb,0.83906e-02_rb,0.73568e-02_rb,0.67050e-02_rb, & & 0.62789e-02_rb,0.56809e-02_rb,0.47244e-02_rb,0.55742e-02_rb /) kao(:, 2, 4,14) = (/ & & 0.11201e-01_rb,0.98016e-02_rb,0.84237e-02_rb,0.73684e-02_rb,0.66927e-02_rb, & & 0.62506e-02_rb,0.56398e-02_rb,0.46775e-02_rb,0.55381e-02_rb /) kao(:, 3, 4,14) = (/ & & 0.11250e-01_rb,0.98437e-02_rb,0.84576e-02_rb,0.73794e-02_rb,0.66793e-02_rb, & & 0.62192e-02_rb,0.56018e-02_rb,0.46402e-02_rb,0.55028e-02_rb /) kao(:, 4, 4,14) = (/ & & 0.11293e-01_rb,0.98814e-02_rb,0.84883e-02_rb,0.73928e-02_rb,0.66658e-02_rb, & & 0.61879e-02_rb,0.55699e-02_rb,0.46073e-02_rb,0.54669e-02_rb /) kao(:, 5, 4,14) = (/ & & 0.11341e-01_rb,0.99237e-02_rb,0.85206e-02_rb,0.74085e-02_rb,0.66636e-02_rb, & & 0.61710e-02_rb,0.55548e-02_rb,0.45934e-02_rb,0.54646e-02_rb /) kao(:, 1, 5,14) = (/ & & 0.10704e-01_rb,0.93660e-02_rb,0.81568e-02_rb,0.74021e-02_rb,0.69945e-02_rb, & & 0.66654e-02_rb,0.61172e-02_rb,0.51470e-02_rb,0.58967e-02_rb /) kao(:, 2, 5,14) = (/ & & 0.10771e-01_rb,0.94250e-02_rb,0.81953e-02_rb,0.74101e-02_rb,0.69769e-02_rb, & & 0.66347e-02_rb,0.60743e-02_rb,0.50992e-02_rb,0.58616e-02_rb /) kao(:, 3, 5,14) = (/ & & 0.10834e-01_rb,0.94795e-02_rb,0.82348e-02_rb,0.74202e-02_rb,0.69586e-02_rb, & & 0.66047e-02_rb,0.60376e-02_rb,0.50623e-02_rb,0.58279e-02_rb /) kao(:, 4, 5,14) = (/ & & 0.10899e-01_rb,0.95365e-02_rb,0.82726e-02_rb,0.74343e-02_rb,0.69400e-02_rb, & & 0.65760e-02_rb,0.60076e-02_rb,0.50289e-02_rb,0.57953e-02_rb /) kao(:, 5, 5,14) = (/ & & 0.10965e-01_rb,0.95941e-02_rb,0.83123e-02_rb,0.74464e-02_rb,0.69292e-02_rb, & & 0.65626e-02_rb,0.59940e-02_rb,0.50178e-02_rb,0.57938e-02_rb /) kao(:, 1, 6,14) = (/ & & 0.10078e-01_rb,0.88178e-02_rb,0.78666e-02_rb,0.74112e-02_rb,0.72308e-02_rb, & & 0.70100e-02_rb,0.65312e-02_rb,0.55779e-02_rb,0.62140e-02_rb /) kao(:, 2, 6,14) = (/ & & 0.10161e-01_rb,0.88906e-02_rb,0.79113e-02_rb,0.74185e-02_rb,0.72160e-02_rb, & & 0.69843e-02_rb,0.64888e-02_rb,0.55247e-02_rb,0.61818e-02_rb /) kao(:, 3, 6,14) = (/ & & 0.10243e-01_rb,0.89616e-02_rb,0.79583e-02_rb,0.74318e-02_rb,0.71999e-02_rb, & & 0.69579e-02_rb,0.64523e-02_rb,0.54833e-02_rb,0.61492e-02_rb /) kao(:, 4, 6,14) = (/ & & 0.10327e-01_rb,0.90374e-02_rb,0.79989e-02_rb,0.74443e-02_rb,0.71832e-02_rb, & & 0.69350e-02_rb,0.64210e-02_rb,0.54479e-02_rb,0.61172e-02_rb /) kao(:, 5, 6,14) = (/ & & 0.10409e-01_rb,0.91075e-02_rb,0.80421e-02_rb,0.74489e-02_rb,0.71645e-02_rb, & & 0.69118e-02_rb,0.63952e-02_rb,0.54129e-02_rb,0.60849e-02_rb /) kao(:, 1, 7,14) = (/ & & 0.93799e-02_rb,0.82246e-02_rb,0.75645e-02_rb,0.73983e-02_rb,0.74124e-02_rb, & & 0.73054e-02_rb,0.69103e-02_rb,0.59986e-02_rb,0.65205e-02_rb /) kao(:, 2, 7,14) = (/ & & 0.94746e-02_rb,0.83048e-02_rb,0.76105e-02_rb,0.74041e-02_rb,0.74008e-02_rb, & & 0.72835e-02_rb,0.68745e-02_rb,0.59435e-02_rb,0.64911e-02_rb /) kao(:, 3, 7,14) = (/ & & 0.95665e-02_rb,0.83814e-02_rb,0.76560e-02_rb,0.74150e-02_rb,0.73885e-02_rb, & & 0.72645e-02_rb,0.68399e-02_rb,0.59000e-02_rb,0.64612e-02_rb /) kao(:, 4, 7,14) = (/ & & 0.96610e-02_rb,0.84615e-02_rb,0.76953e-02_rb,0.74218e-02_rb,0.73786e-02_rb, & & 0.72467e-02_rb,0.68110e-02_rb,0.58618e-02_rb,0.64309e-02_rb /) kao(:, 5, 7,14) = (/ & & 0.97576e-02_rb,0.85445e-02_rb,0.77428e-02_rb,0.74271e-02_rb,0.73666e-02_rb, & & 0.72295e-02_rb,0.67856e-02_rb,0.58248e-02_rb,0.64018e-02_rb /) kao(:, 1, 8,14) = (/ & & 0.86695e-02_rb,0.76539e-02_rb,0.72832e-02_rb,0.73811e-02_rb,0.75539e-02_rb, & & 0.75395e-02_rb,0.72391e-02_rb,0.63979e-02_rb,0.68067e-02_rb /) kao(:, 2, 8,14) = (/ & & 0.87714e-02_rb,0.77350e-02_rb,0.73260e-02_rb,0.73889e-02_rb,0.75481e-02_rb, & & 0.75307e-02_rb,0.72059e-02_rb,0.63386e-02_rb,0.67797e-02_rb /) kao(:, 3, 8,14) = (/ & & 0.88648e-02_rb,0.78065e-02_rb,0.73635e-02_rb,0.73928e-02_rb,0.75428e-02_rb, & & 0.75176e-02_rb,0.71786e-02_rb,0.62948e-02_rb,0.67512e-02_rb /) kao(:, 4, 8,14) = (/ & & 0.89696e-02_rb,0.78903e-02_rb,0.74008e-02_rb,0.73947e-02_rb,0.75364e-02_rb, & & 0.75091e-02_rb,0.71562e-02_rb,0.62573e-02_rb,0.67249e-02_rb /) kao(:, 5, 8,14) = (/ & & 0.90827e-02_rb,0.79827e-02_rb,0.74524e-02_rb,0.74004e-02_rb,0.75307e-02_rb, & & 0.75004e-02_rb,0.71406e-02_rb,0.62196e-02_rb,0.66995e-02_rb /) kao(:, 1, 9,14) = (/ & & 0.79522e-02_rb,0.71197e-02_rb,0.70358e-02_rb,0.73522e-02_rb,0.76328e-02_rb, & & 0.77097e-02_rb,0.75175e-02_rb,0.67703e-02_rb,0.70524e-02_rb /) kao(:, 2, 9,14) = (/ & & 0.80598e-02_rb,0.71969e-02_rb,0.70715e-02_rb,0.73653e-02_rb,0.76374e-02_rb, & & 0.77113e-02_rb,0.74908e-02_rb,0.67151e-02_rb,0.70338e-02_rb /) kao(:, 3, 9,14) = (/ & & 0.81632e-02_rb,0.72678e-02_rb,0.71027e-02_rb,0.73712e-02_rb,0.76458e-02_rb, & & 0.77123e-02_rb,0.74742e-02_rb,0.66728e-02_rb,0.70182e-02_rb /) kao(:, 4, 9,14) = (/ & & 0.82823e-02_rb,0.73561e-02_rb,0.71392e-02_rb,0.73768e-02_rb,0.76576e-02_rb, & & 0.77143e-02_rb,0.74622e-02_rb,0.66357e-02_rb,0.69991e-02_rb /) kao(:, 5, 9,14) = (/ & & 0.84105e-02_rb,0.74558e-02_rb,0.71910e-02_rb,0.73874e-02_rb,0.76648e-02_rb, & & 0.77180e-02_rb,0.74509e-02_rb,0.65977e-02_rb,0.69736e-02_rb /) kao(:, 1,10,14) = (/ & & 0.72630e-02_rb,0.66377e-02_rb,0.68373e-02_rb,0.72984e-02_rb,0.76509e-02_rb, & & 0.78294e-02_rb,0.77460e-02_rb,0.71207e-02_rb,0.20344e-04_rb /) kao(:, 2,10,14) = (/ & & 0.73671e-02_rb,0.67055e-02_rb,0.68587e-02_rb,0.73198e-02_rb,0.76710e-02_rb, & & 0.78437e-02_rb,0.77323e-02_rb,0.70655e-02_rb,0.20564e-04_rb /) kao(:, 3,10,14) = (/ & & 0.74810e-02_rb,0.67793e-02_rb,0.68858e-02_rb,0.73353e-02_rb,0.76947e-02_rb, & & 0.78590e-02_rb,0.77307e-02_rb,0.70272e-02_rb,0.37563e-05_rb /) kao(:, 4,10,14) = (/ & & 0.76171e-02_rb,0.68754e-02_rb,0.69230e-02_rb,0.73502e-02_rb,0.77241e-02_rb, & & 0.78765e-02_rb,0.77271e-02_rb,0.69915e-02_rb,0.47236e-05_rb /) kao(:, 5,10,14) = (/ & & 0.77608e-02_rb,0.69811e-02_rb,0.69732e-02_rb,0.73676e-02_rb,0.77455e-02_rb, & & 0.78941e-02_rb,0.77236e-02_rb,0.69531e-02_rb,0.26047e-04_rb /) kao(:, 1,11,14) = (/ & & 0.66493e-02_rb,0.62366e-02_rb,0.66807e-02_rb,0.72344e-02_rb,0.76404e-02_rb, & & 0.79217e-02_rb,0.79405e-02_rb,0.74097e-02_rb,0.00000e+00_rb /) kao(:, 2,11,14) = (/ & & 0.67616e-02_rb,0.63044e-02_rb,0.67053e-02_rb,0.72656e-02_rb,0.76819e-02_rb, & & 0.79515e-02_rb,0.79506e-02_rb,0.73718e-02_rb,0.18408e-04_rb /) kao(:, 3,11,14) = (/ & & 0.69005e-02_rb,0.63894e-02_rb,0.67349e-02_rb,0.72931e-02_rb,0.77291e-02_rb, & & 0.79845e-02_rb,0.79576e-02_rb,0.73388e-02_rb,0.37607e-04_rb /) kao(:, 4,11,14) = (/ & & 0.70530e-02_rb,0.64912e-02_rb,0.67712e-02_rb,0.73223e-02_rb,0.77726e-02_rb, & & 0.80170e-02_rb,0.79618e-02_rb,0.73054e-02_rb,0.56367e-04_rb /) kao(:, 5,11,14) = (/ & & 0.72039e-02_rb,0.65911e-02_rb,0.68118e-02_rb,0.73572e-02_rb,0.78096e-02_rb, & & 0.80477e-02_rb,0.79648e-02_rb,0.72708e-02_rb,0.00000e+00_rb /) kao(:, 1,12,14) = (/ & & 0.60858e-02_rb,0.58916e-02_rb,0.65335e-02_rb,0.71525e-02_rb,0.76284e-02_rb, & & 0.80006e-02_rb,0.81294e-02_rb,0.76675e-02_rb,0.58588e-04_rb /) kao(:, 2,12,14) = (/ & & 0.62191e-02_rb,0.59612e-02_rb,0.65675e-02_rb,0.71998e-02_rb,0.76898e-02_rb, & & 0.80500e-02_rb,0.81534e-02_rb,0.76479e-02_rb,0.00000e+00_rb /) kao(:, 3,12,14) = (/ & & 0.63725e-02_rb,0.60546e-02_rb,0.66095e-02_rb,0.72445e-02_rb,0.77558e-02_rb, & & 0.80973e-02_rb,0.81695e-02_rb,0.76255e-02_rb,0.29841e-04_rb /) kao(:, 4,12,14) = (/ & & 0.65241e-02_rb,0.61494e-02_rb,0.66519e-02_rb,0.72916e-02_rb,0.78126e-02_rb, & & 0.81445e-02_rb,0.81839e-02_rb,0.75955e-02_rb,0.00000e+00_rb /) kao(:, 5,12,14) = (/ & & 0.66908e-02_rb,0.62534e-02_rb,0.66904e-02_rb,0.73429e-02_rb,0.78615e-02_rb, & & 0.81879e-02_rb,0.81898e-02_rb,0.75652e-02_rb,0.00000e+00_rb /) kao(:, 1,13,14) = (/ & & 0.55891e-02_rb,0.56116e-02_rb,0.63936e-02_rb,0.70621e-02_rb,0.76241e-02_rb, & & 0.80837e-02_rb,0.82964e-02_rb,0.79007e-02_rb,0.00000e+00_rb /) kao(:, 2,13,14) = (/ & & 0.57354e-02_rb,0.56825e-02_rb,0.64439e-02_rb,0.71280e-02_rb,0.77039e-02_rb, & & 0.81460e-02_rb,0.83322e-02_rb,0.78896e-02_rb,0.38090e-04_rb /) kao(:, 3,13,14) = (/ & & 0.58847e-02_rb,0.57651e-02_rb,0.64971e-02_rb,0.71963e-02_rb,0.77792e-02_rb, & & 0.82047e-02_rb,0.83632e-02_rb,0.78746e-02_rb,0.00000e+00_rb /) kao(:, 4,13,14) = (/ & & 0.60503e-02_rb,0.58579e-02_rb,0.65448e-02_rb,0.72663e-02_rb,0.78467e-02_rb, & & 0.82617e-02_rb,0.83886e-02_rb,0.78555e-02_rb,0.00000e+00_rb /) kao(:, 5,13,14) = (/ & & 0.62326e-02_rb,0.59678e-02_rb,0.65939e-02_rb,0.73313e-02_rb,0.79071e-02_rb, & & 0.83133e-02_rb,0.83975e-02_rb,0.78294e-02_rb,0.00000e+00_rb /) kao(:, 1, 1,15) = (/ & & 0.22784e-01_rb,0.19937e-01_rb,0.17089e-01_rb,0.14240e-01_rb,0.11393e-01_rb, & & 0.85439e-02_rb,0.62360e-02_rb,0.50515e-02_rb,0.76952e-02_rb /) kao(:, 2, 1,15) = (/ & & 0.22781e-01_rb,0.19933e-01_rb,0.17085e-01_rb,0.14238e-01_rb,0.11390e-01_rb, & & 0.85426e-02_rb,0.62118e-02_rb,0.49990e-02_rb,0.75953e-02_rb /) kao(:, 3, 1,15) = (/ & & 0.22781e-01_rb,0.19934e-01_rb,0.17086e-01_rb,0.14239e-01_rb,0.11390e-01_rb, & & 0.85428e-02_rb,0.62149e-02_rb,0.49913e-02_rb,0.75531e-02_rb /) kao(:, 4, 1,15) = (/ & & 0.22807e-01_rb,0.19955e-01_rb,0.17104e-01_rb,0.14253e-01_rb,0.11403e-01_rb, & & 0.85521e-02_rb,0.61662e-02_rb,0.48921e-02_rb,0.74213e-02_rb /) kao(:, 5, 1,15) = (/ & & 0.22846e-01_rb,0.19991e-01_rb,0.17134e-01_rb,0.14278e-01_rb,0.11422e-01_rb, & & 0.85672e-02_rb,0.61477e-02_rb,0.48442e-02_rb,0.73437e-02_rb /) kao(:, 1, 2,15) = (/ & & 0.25963e-01_rb,0.22716e-01_rb,0.19471e-01_rb,0.16227e-01_rb,0.12981e-01_rb, & & 0.97432e-02_rb,0.72799e-02_rb,0.58913e-02_rb,0.89930e-02_rb /) kao(:, 2, 2,15) = (/ & & 0.25957e-01_rb,0.22712e-01_rb,0.19468e-01_rb,0.16223e-01_rb,0.12978e-01_rb, & & 0.97376e-02_rb,0.72409e-02_rb,0.58243e-02_rb,0.88738e-02_rb /) kao(:, 3, 2,15) = (/ & & 0.25967e-01_rb,0.22721e-01_rb,0.19475e-01_rb,0.16229e-01_rb,0.12984e-01_rb, & & 0.97376e-02_rb,0.72294e-02_rb,0.57970e-02_rb,0.88082e-02_rb /) kao(:, 4, 2,15) = (/ & & 0.25991e-01_rb,0.22741e-01_rb,0.19493e-01_rb,0.16243e-01_rb,0.12995e-01_rb, & & 0.97464e-02_rb,0.71939e-02_rb,0.57194e-02_rb,0.86974e-02_rb /) kao(:, 5, 2,15) = (/ & & 0.26012e-01_rb,0.22759e-01_rb,0.19508e-01_rb,0.16256e-01_rb,0.13005e-01_rb, & & 0.97539e-02_rb,0.71378e-02_rb,0.56167e-02_rb,0.85506e-02_rb /) kao(:, 1, 3,15) = (/ & & 0.29273e-01_rb,0.25614e-01_rb,0.21954e-01_rb,0.18296e-01_rb,0.14638e-01_rb, & & 0.11059e-01_rb,0.84536e-02_rb,0.68488e-02_rb,0.10453e-01_rb /) kao(:, 2, 3,15) = (/ & & 0.29273e-01_rb,0.25613e-01_rb,0.21954e-01_rb,0.18296e-01_rb,0.14636e-01_rb, & & 0.11040e-01_rb,0.84006e-02_rb,0.67671e-02_rb,0.10308e-01_rb /) kao(:, 3, 3,15) = (/ & & 0.29281e-01_rb,0.25620e-01_rb,0.21957e-01_rb,0.18299e-01_rb,0.14639e-01_rb, & & 0.11029e-01_rb,0.83532e-02_rb,0.66803e-02_rb,0.10170e-01_rb /) kao(:, 4, 3,15) = (/ & & 0.29284e-01_rb,0.25622e-01_rb,0.21963e-01_rb,0.18303e-01_rb,0.14642e-01_rb, & & 0.11027e-01_rb,0.83265e-02_rb,0.66328e-02_rb,0.10072e-01_rb /) kao(:, 5, 3,15) = (/ & & 0.29273e-01_rb,0.25615e-01_rb,0.21955e-01_rb,0.18297e-01_rb,0.14636e-01_rb, & & 0.11016e-01_rb,0.82524e-02_rb,0.65141e-02_rb,0.98927e-02_rb /) kao(:, 1, 4,15) = (/ & & 0.32689e-01_rb,0.28601e-01_rb,0.24517e-01_rb,0.20431e-01_rb,0.16343e-01_rb, & & 0.12498e-01_rb,0.97860e-02_rb,0.79359e-02_rb,0.11964e-01_rb /) kao(:, 2, 4,15) = (/ & & 0.32673e-01_rb,0.28590e-01_rb,0.24505e-01_rb,0.20420e-01_rb,0.16336e-01_rb, & & 0.12462e-01_rb,0.97090e-02_rb,0.78356e-02_rb,0.11793e-01_rb /) kao(:, 3, 4,15) = (/ & & 0.32657e-01_rb,0.28575e-01_rb,0.24494e-01_rb,0.20410e-01_rb,0.16330e-01_rb, & & 0.12434e-01_rb,0.96384e-02_rb,0.77321e-02_rb,0.11625e-01_rb /) kao(:, 4, 4,15) = (/ & & 0.32631e-01_rb,0.28553e-01_rb,0.24473e-01_rb,0.20396e-01_rb,0.16316e-01_rb, & & 0.12404e-01_rb,0.95671e-02_rb,0.76286e-02_rb,0.11457e-01_rb /) kao(:, 5, 4,15) = (/ & & 0.32595e-01_rb,0.28521e-01_rb,0.24445e-01_rb,0.20372e-01_rb,0.16297e-01_rb, & & 0.12376e-01_rb,0.95137e-02_rb,0.75694e-02_rb,0.11318e-01_rb /) kao(:, 1, 5,15) = (/ & & 0.36129e-01_rb,0.31613e-01_rb,0.27097e-01_rb,0.22582e-01_rb,0.18065e-01_rb, & & 0.14059e-01_rb,0.11253e-01_rb,0.91497e-02_rb,0.13513e-01_rb /) kao(:, 2, 5,15) = (/ & & 0.36091e-01_rb,0.31580e-01_rb,0.27068e-01_rb,0.22557e-01_rb,0.18046e-01_rb, & & 0.13996e-01_rb,0.11159e-01_rb,0.90273e-02_rb,0.13314e-01_rb /) kao(:, 3, 5,15) = (/ & & 0.36050e-01_rb,0.31543e-01_rb,0.27038e-01_rb,0.22530e-01_rb,0.18025e-01_rb, & & 0.13938e-01_rb,0.11057e-01_rb,0.89022e-02_rb,0.13117e-01_rb /) kao(:, 4, 5,15) = (/ & & 0.35994e-01_rb,0.31496e-01_rb,0.26994e-01_rb,0.22495e-01_rb,0.17996e-01_rb, & & 0.13877e-01_rb,0.10953e-01_rb,0.87755e-02_rb,0.12914e-01_rb /) kao(:, 5, 5,15) = (/ & & 0.35944e-01_rb,0.31450e-01_rb,0.26957e-01_rb,0.22466e-01_rb,0.17973e-01_rb, & & 0.13819e-01_rb,0.10863e-01_rb,0.86942e-02_rb,0.12744e-01_rb /) kao(:, 1, 6,15) = (/ & & 0.39506e-01_rb,0.34566e-01_rb,0.29627e-01_rb,0.24691e-01_rb,0.19819e-01_rb, & & 0.15734e-01_rb,0.12852e-01_rb,0.10482e-01_rb,0.15100e-01_rb /) kao(:, 2, 6,15) = (/ & & 0.39438e-01_rb,0.34510e-01_rb,0.29581e-01_rb,0.24651e-01_rb,0.19767e-01_rb, & & 0.15626e-01_rb,0.12723e-01_rb,0.10339e-01_rb,0.14869e-01_rb /) kao(:, 3, 6,15) = (/ & & 0.39363e-01_rb,0.34443e-01_rb,0.29524e-01_rb,0.24601e-01_rb,0.19714e-01_rb, & & 0.15531e-01_rb,0.12593e-01_rb,0.10189e-01_rb,0.14636e-01_rb /) kao(:, 4, 6,15) = (/ & & 0.39295e-01_rb,0.34380e-01_rb,0.29468e-01_rb,0.24559e-01_rb,0.19663e-01_rb, & & 0.15432e-01_rb,0.12453e-01_rb,0.10038e-01_rb,0.14402e-01_rb /) kao(:, 5, 6,15) = (/ & & 0.39232e-01_rb,0.34326e-01_rb,0.29423e-01_rb,0.24518e-01_rb,0.19622e-01_rb, & & 0.15336e-01_rb,0.12308e-01_rb,0.98939e-02_rb,0.14172e-01_rb /) kao(:, 1, 7,15) = (/ & & 0.42642e-01_rb,0.37314e-01_rb,0.31983e-01_rb,0.26652e-01_rb,0.21609e-01_rb, & & 0.17542e-01_rb,0.14584e-01_rb,0.11924e-01_rb,0.16714e-01_rb /) kao(:, 2, 7,15) = (/ & & 0.42588e-01_rb,0.37267e-01_rb,0.31942e-01_rb,0.26620e-01_rb,0.21537e-01_rb, & & 0.17385e-01_rb,0.14405e-01_rb,0.11750e-01_rb,0.16453e-01_rb /) kao(:, 3, 7,15) = (/ & & 0.42519e-01_rb,0.37203e-01_rb,0.31888e-01_rb,0.26575e-01_rb,0.21450e-01_rb, & & 0.17237e-01_rb,0.14233e-01_rb,0.11569e-01_rb,0.16190e-01_rb /) kao(:, 4, 7,15) = (/ & & 0.42450e-01_rb,0.37145e-01_rb,0.31837e-01_rb,0.26531e-01_rb,0.21364e-01_rb, & & 0.17089e-01_rb,0.14051e-01_rb,0.11390e-01_rb,0.15924e-01_rb /) kao(:, 5, 7,15) = (/ & & 0.42372e-01_rb,0.37075e-01_rb,0.31780e-01_rb,0.26482e-01_rb,0.21293e-01_rb, & & 0.16947e-01_rb,0.13866e-01_rb,0.11216e-01_rb,0.15662e-01_rb /) kao(:, 1, 8,15) = (/ & & 0.45438e-01_rb,0.39757e-01_rb,0.34077e-01_rb,0.28427e-01_rb,0.23418e-01_rb, & & 0.19456e-01_rb,0.16427e-01_rb,0.13456e-01_rb,0.18359e-01_rb /) kao(:, 2, 8,15) = (/ & & 0.45420e-01_rb,0.39742e-01_rb,0.34065e-01_rb,0.28396e-01_rb,0.23308e-01_rb, & & 0.19242e-01_rb,0.16196e-01_rb,0.13253e-01_rb,0.18076e-01_rb /) kao(:, 3, 8,15) = (/ & & 0.45404e-01_rb,0.39728e-01_rb,0.34054e-01_rb,0.28379e-01_rb,0.23190e-01_rb, & & 0.19044e-01_rb,0.15968e-01_rb,0.13036e-01_rb,0.17789e-01_rb /) kao(:, 4, 8,15) = (/ & & 0.45355e-01_rb,0.39684e-01_rb,0.34015e-01_rb,0.28348e-01_rb,0.23074e-01_rb, & & 0.18841e-01_rb,0.15735e-01_rb,0.12818e-01_rb,0.17487e-01_rb /) kao(:, 5, 8,15) = (/ & & 0.45268e-01_rb,0.39604e-01_rb,0.33951e-01_rb,0.28294e-01_rb,0.22964e-01_rb, & & 0.18639e-01_rb,0.15495e-01_rb,0.12608e-01_rb,0.17187e-01_rb /) kao(:, 1, 9,15) = (/ & & 0.47828e-01_rb,0.41848e-01_rb,0.35870e-01_rb,0.30096e-01_rb,0.25238e-01_rb, & & 0.21453e-01_rb,0.18348e-01_rb,0.15048e-01_rb,0.20030e-01_rb /) kao(:, 2, 9,15) = (/ & & 0.47883e-01_rb,0.41899e-01_rb,0.35911e-01_rb,0.30061e-01_rb,0.25102e-01_rb, & & 0.21178e-01_rb,0.18071e-01_rb,0.14812e-01_rb,0.19720e-01_rb /) kao(:, 3, 9,15) = (/ & & 0.47917e-01_rb,0.41930e-01_rb,0.35941e-01_rb,0.30033e-01_rb,0.24934e-01_rb, & & 0.20917e-01_rb,0.17786e-01_rb,0.14566e-01_rb,0.19396e-01_rb /) kao(:, 4, 9,15) = (/ & & 0.47914e-01_rb,0.41927e-01_rb,0.35936e-01_rb,0.29997e-01_rb,0.24771e-01_rb, & & 0.20657e-01_rb,0.17491e-01_rb,0.14311e-01_rb,0.19056e-01_rb /) kao(:, 5, 9,15) = (/ & & 0.47853e-01_rb,0.41872e-01_rb,0.35889e-01_rb,0.29935e-01_rb,0.24616e-01_rb, & & 0.20393e-01_rb,0.17196e-01_rb,0.14061e-01_rb,0.18721e-01_rb /) kao(:, 1,10,15) = (/ & & 0.49786e-01_rb,0.43562e-01_rb,0.37346e-01_rb,0.31673e-01_rb,0.27058e-01_rb, & & 0.23446e-01_rb,0.20298e-01_rb,0.16634e-01_rb,0.20401e-01_rb /) kao(:, 2,10,15) = (/ & & 0.49957e-01_rb,0.43713e-01_rb,0.37470e-01_rb,0.31624e-01_rb,0.26879e-01_rb, & & 0.23121e-01_rb,0.19962e-01_rb,0.16379e-01_rb,0.19980e-01_rb /) kao(:, 3,10,15) = (/ & & 0.50073e-01_rb,0.43811e-01_rb,0.37553e-01_rb,0.31591e-01_rb,0.26668e-01_rb, & & 0.22810e-01_rb,0.19616e-01_rb,0.16101e-01_rb,0.19150e-01_rb /) kao(:, 4,10,15) = (/ & & 0.50104e-01_rb,0.43839e-01_rb,0.37576e-01_rb,0.31542e-01_rb,0.26451e-01_rb, & & 0.22487e-01_rb,0.19263e-01_rb,0.15810e-01_rb,0.18309e-01_rb /) kao(:, 5,10,15) = (/ & & 0.50083e-01_rb,0.43821e-01_rb,0.37560e-01_rb,0.31463e-01_rb,0.26247e-01_rb, & & 0.22153e-01_rb,0.18906e-01_rb,0.15516e-01_rb,0.17790e-01_rb /) kao(:, 1,11,15) = (/ & & 0.51449e-01_rb,0.45016e-01_rb,0.38642e-01_rb,0.33136e-01_rb,0.28759e-01_rb, & & 0.25254e-01_rb,0.22053e-01_rb,0.18120e-01_rb,0.53897e-02_rb /) kao(:, 2,11,15) = (/ & & 0.51718e-01_rb,0.45255e-01_rb,0.38815e-01_rb,0.33090e-01_rb,0.28517e-01_rb, & & 0.24894e-01_rb,0.21659e-01_rb,0.17825e-01_rb,0.47196e-02_rb /) kao(:, 3,11,15) = (/ & & 0.51885e-01_rb,0.45397e-01_rb,0.38919e-01_rb,0.33034e-01_rb,0.28248e-01_rb, & & 0.24520e-01_rb,0.21252e-01_rb,0.17499e-01_rb,0.36639e-02_rb /) kao(:, 4,11,15) = (/ & & 0.51965e-01_rb,0.45468e-01_rb,0.38969e-01_rb,0.32946e-01_rb,0.27987e-01_rb, & & 0.24125e-01_rb,0.20834e-01_rb,0.17164e-01_rb,0.30436e-02_rb /) kao(:, 5,11,15) = (/ & & 0.52007e-01_rb,0.45508e-01_rb,0.39008e-01_rb,0.32828e-01_rb,0.27732e-01_rb, & & 0.23720e-01_rb,0.20415e-01_rb,0.16822e-01_rb,0.23024e-02_rb /) kao(:, 1,12,15) = (/ & & 0.52772e-01_rb,0.46179e-01_rb,0.39786e-01_rb,0.34518e-01_rb,0.30341e-01_rb, & & 0.26996e-01_rb,0.23719e-01_rb,0.19625e-01_rb,0.00000e+00_rb /) kao(:, 2,12,15) = (/ & & 0.53131e-01_rb,0.46489e-01_rb,0.39976e-01_rb,0.34451e-01_rb,0.30050e-01_rb, & & 0.26583e-01_rb,0.23271e-01_rb,0.19259e-01_rb,0.79250e-04_rb /) kao(:, 3,12,15) = (/ & & 0.53372e-01_rb,0.46707e-01_rb,0.40090e-01_rb,0.34369e-01_rb,0.29734e-01_rb, & & 0.26140e-01_rb,0.22802e-01_rb,0.18870e-01_rb,0.00000e+00_rb /) kao(:, 4,12,15) = (/ & & 0.53549e-01_rb,0.46855e-01_rb,0.40175e-01_rb,0.34238e-01_rb,0.29424e-01_rb, & & 0.25661e-01_rb,0.22318e-01_rb,0.18486e-01_rb,0.00000e+00_rb /) kao(:, 5,12,15) = (/ & & 0.53641e-01_rb,0.46944e-01_rb,0.40238e-01_rb,0.34087e-01_rb,0.29108e-01_rb, & & 0.25184e-01_rb,0.21836e-01_rb,0.18091e-01_rb,0.00000e+00_rb /) kao(:, 1,13,15) = (/ & & 0.53794e-01_rb,0.47070e-01_rb,0.40802e-01_rb,0.35804e-01_rb,0.31808e-01_rb, & & 0.28611e-01_rb,0.25317e-01_rb,0.21103e-01_rb,0.00000e+00_rb /) kao(:, 2,13,15) = (/ & & 0.54248e-01_rb,0.47468e-01_rb,0.40994e-01_rb,0.35717e-01_rb,0.31468e-01_rb, & & 0.28147e-01_rb,0.24800e-01_rb,0.20666e-01_rb,0.99549e-04_rb /) kao(:, 3,13,15) = (/ & & 0.54616e-01_rb,0.47795e-01_rb,0.41127e-01_rb,0.35591e-01_rb,0.31112e-01_rb, & & 0.27634e-01_rb,0.24251e-01_rb,0.20223e-01_rb,0.00000e+00_rb /) kao(:, 4,13,15) = (/ & & 0.54881e-01_rb,0.48017e-01_rb,0.41234e-01_rb,0.35410e-01_rb,0.30749e-01_rb, & & 0.27090e-01_rb,0.23692e-01_rb,0.19766e-01_rb,0.00000e+00_rb /) kao(:, 5,13,15) = (/ & & 0.55030e-01_rb,0.48150e-01_rb,0.41295e-01_rb,0.35229e-01_rb,0.30369e-01_rb, & & 0.26544e-01_rb,0.23150e-01_rb,0.19313e-01_rb,0.00000e+00_rb /) kao(:, 1, 1,16) = (/ & & 0.31412e-01_rb,0.27484e-01_rb,0.23556e-01_rb,0.19630e-01_rb,0.15703e-01_rb, & & 0.11777e-01_rb,0.78503e-02_rb,0.63859e-02_rb,0.10546e-01_rb /) kao(:, 2, 1,16) = (/ & & 0.31306e-01_rb,0.27393e-01_rb,0.23480e-01_rb,0.19566e-01_rb,0.15652e-01_rb, & & 0.11737e-01_rb,0.78244e-02_rb,0.64039e-02_rb,0.10543e-01_rb /) kao(:, 3, 1,16) = (/ & & 0.31189e-01_rb,0.27291e-01_rb,0.23390e-01_rb,0.19492e-01_rb,0.15594e-01_rb, & & 0.11694e-01_rb,0.77949e-02_rb,0.65607e-02_rb,0.10621e-01_rb /) kao(:, 4, 1,16) = (/ & & 0.31060e-01_rb,0.27175e-01_rb,0.23293e-01_rb,0.19412e-01_rb,0.15526e-01_rb, & & 0.11645e-01_rb,0.77621e-02_rb,0.64197e-02_rb,0.10470e-01_rb /) kao(:, 5, 1,16) = (/ & & 0.30934e-01_rb,0.27069e-01_rb,0.23201e-01_rb,0.19334e-01_rb,0.15466e-01_rb, & & 0.11599e-01_rb,0.77309e-02_rb,0.64181e-02_rb,0.10407e-01_rb /) kao(:, 1, 2,16) = (/ & & 0.37345e-01_rb,0.32673e-01_rb,0.28007e-01_rb,0.23341e-01_rb,0.18670e-01_rb, & & 0.14002e-01_rb,0.93330e-02_rb,0.76035e-02_rb,0.12759e-01_rb /) kao(:, 2, 2,16) = (/ & & 0.37160e-01_rb,0.32513e-01_rb,0.27871e-01_rb,0.23225e-01_rb,0.18579e-01_rb, & & 0.13933e-01_rb,0.92868e-02_rb,0.75902e-02_rb,0.12702e-01_rb /) kao(:, 3, 2,16) = (/ & & 0.36977e-01_rb,0.32353e-01_rb,0.27732e-01_rb,0.23111e-01_rb,0.18487e-01_rb, & & 0.13864e-01_rb,0.92415e-02_rb,0.77168e-02_rb,0.12729e-01_rb /) kao(:, 4, 2,16) = (/ & & 0.36807e-01_rb,0.32204e-01_rb,0.27602e-01_rb,0.23002e-01_rb,0.18402e-01_rb, & & 0.13798e-01_rb,0.91981e-02_rb,0.77023e-02_rb,0.12641e-01_rb /) kao(:, 5, 2,16) = (/ & & 0.36620e-01_rb,0.32046e-01_rb,0.27465e-01_rb,0.22887e-01_rb,0.18309e-01_rb, & & 0.13731e-01_rb,0.91527e-02_rb,0.75684e-02_rb,0.12457e-01_rb /) kao(:, 1, 3,16) = (/ & & 0.44232e-01_rb,0.38700e-01_rb,0.33173e-01_rb,0.27644e-01_rb,0.22114e-01_rb, & & 0.16581e-01_rb,0.11054e-01_rb,0.91028e-02_rb,0.15510e-01_rb /) kao(:, 2, 3,16) = (/ & & 0.43957e-01_rb,0.38463e-01_rb,0.32969e-01_rb,0.27474e-01_rb,0.21977e-01_rb, & & 0.16483e-01_rb,0.10987e-01_rb,0.90298e-02_rb,0.15354e-01_rb /) kao(:, 3, 3,16) = (/ & & 0.43680e-01_rb,0.38217e-01_rb,0.32756e-01_rb,0.27297e-01_rb,0.21838e-01_rb, & & 0.16376e-01_rb,0.10918e-01_rb,0.89896e-02_rb,0.15195e-01_rb /) kao(:, 4, 3,16) = (/ & & 0.43409e-01_rb,0.37982e-01_rb,0.32556e-01_rb,0.27128e-01_rb,0.21703e-01_rb, & & 0.16277e-01_rb,0.10849e-01_rb,0.90630e-02_rb,0.15090e-01_rb /) kao(:, 5, 3,16) = (/ & & 0.43148e-01_rb,0.37757e-01_rb,0.32362e-01_rb,0.26967e-01_rb,0.21574e-01_rb, & & 0.16179e-01_rb,0.10784e-01_rb,0.89323e-02_rb,0.14861e-01_rb /) kao(:, 1, 4,16) = (/ & & 0.52173e-01_rb,0.45650e-01_rb,0.39129e-01_rb,0.32609e-01_rb,0.26084e-01_rb, & & 0.19564e-01_rb,0.13063e-01_rb,0.10928e-01_rb,0.18665e-01_rb /) kao(:, 2, 4,16) = (/ & & 0.51767e-01_rb,0.45298e-01_rb,0.38824e-01_rb,0.32358e-01_rb,0.25882e-01_rb, & & 0.19411e-01_rb,0.12948e-01_rb,0.10795e-01_rb,0.18386e-01_rb /) kao(:, 3, 4,16) = (/ & & 0.51358e-01_rb,0.44935e-01_rb,0.38514e-01_rb,0.32093e-01_rb,0.25677e-01_rb, & & 0.19255e-01_rb,0.12843e-01_rb,0.10694e-01_rb,0.18120e-01_rb /) kao(:, 4, 4,16) = (/ & & 0.50955e-01_rb,0.44587e-01_rb,0.38218e-01_rb,0.31847e-01_rb,0.25475e-01_rb, & & 0.19107e-01_rb,0.12737e-01_rb,0.10607e-01_rb,0.17851e-01_rb /) kao(:, 5, 4,16) = (/ & & 0.50544e-01_rb,0.44227e-01_rb,0.37909e-01_rb,0.31588e-01_rb,0.25270e-01_rb, & & 0.18952e-01_rb,0.12634e-01_rb,0.10599e-01_rb,0.17618e-01_rb /) kao(:, 1, 5,16) = (/ & & 0.61214e-01_rb,0.53565e-01_rb,0.45917e-01_rb,0.38262e-01_rb,0.30607e-01_rb, & & 0.22954e-01_rb,0.15462e-01_rb,0.13125e-01_rb,0.22278e-01_rb /) kao(:, 2, 5,16) = (/ & & 0.60651e-01_rb,0.53068e-01_rb,0.45484e-01_rb,0.37903e-01_rb,0.30322e-01_rb, & & 0.22741e-01_rb,0.15244e-01_rb,0.12927e-01_rb,0.21870e-01_rb /) kao(:, 3, 5,16) = (/ & & 0.60040e-01_rb,0.52533e-01_rb,0.45028e-01_rb,0.37524e-01_rb,0.30019e-01_rb, & & 0.22514e-01_rb,0.15074e-01_rb,0.12758e-01_rb,0.21465e-01_rb /) kao(:, 4, 5,16) = (/ & & 0.59437e-01_rb,0.52006e-01_rb,0.44573e-01_rb,0.37145e-01_rb,0.29715e-01_rb, & & 0.22286e-01_rb,0.14911e-01_rb,0.12602e-01_rb,0.21062e-01_rb /) kao(:, 5, 5,16) = (/ & & 0.58809e-01_rb,0.51461e-01_rb,0.44106e-01_rb,0.36755e-01_rb,0.29405e-01_rb, & & 0.22053e-01_rb,0.14746e-01_rb,0.12499e-01_rb,0.20685e-01_rb /) kao(:, 1, 6,16) = (/ & & 0.71375e-01_rb,0.62451e-01_rb,0.53529e-01_rb,0.44607e-01_rb,0.35687e-01_rb, & & 0.26759e-01_rb,0.18273e-01_rb,0.15758e-01_rb,0.26378e-01_rb /) kao(:, 2, 6,16) = (/ & & 0.70571e-01_rb,0.61748e-01_rb,0.52933e-01_rb,0.44107e-01_rb,0.35285e-01_rb, & & 0.26462e-01_rb,0.17959e-01_rb,0.15470e-01_rb,0.25822e-01_rb /) kao(:, 3, 6,16) = (/ & & 0.69734e-01_rb,0.61022e-01_rb,0.52301e-01_rb,0.43583e-01_rb,0.34867e-01_rb, & & 0.26147e-01_rb,0.17660e-01_rb,0.15207e-01_rb,0.25265e-01_rb /) kao(:, 4, 6,16) = (/ & & 0.68870e-01_rb,0.60256e-01_rb,0.51654e-01_rb,0.43043e-01_rb,0.34432e-01_rb, & & 0.25826e-01_rb,0.17391e-01_rb,0.14968e-01_rb,0.24710e-01_rb /) kao(:, 5, 6,16) = (/ & & 0.67988e-01_rb,0.59482e-01_rb,0.50988e-01_rb,0.42488e-01_rb,0.33987e-01_rb, & & 0.25491e-01_rb,0.17159e-01_rb,0.14740e-01_rb,0.24148e-01_rb /) kao(:, 1, 7,16) = (/ & & 0.82705e-01_rb,0.72369e-01_rb,0.62031e-01_rb,0.51694e-01_rb,0.41353e-01_rb, & & 0.31012e-01_rb,0.21511e-01_rb,0.18843e-01_rb,0.31008e-01_rb /) kao(:, 2, 7,16) = (/ & & 0.81487e-01_rb,0.71304e-01_rb,0.61113e-01_rb,0.50924e-01_rb,0.40740e-01_rb, & & 0.30554e-01_rb,0.21074e-01_rb,0.18457e-01_rb,0.30235e-01_rb /) kao(:, 3, 7,16) = (/ & & 0.80318e-01_rb,0.70281e-01_rb,0.60235e-01_rb,0.50200e-01_rb,0.40157e-01_rb, & & 0.30117e-01_rb,0.20636e-01_rb,0.18102e-01_rb,0.29494e-01_rb /) kao(:, 4, 7,16) = (/ & & 0.79154e-01_rb,0.69255e-01_rb,0.59365e-01_rb,0.49470e-01_rb,0.39576e-01_rb, & & 0.29680e-01_rb,0.20228e-01_rb,0.17748e-01_rb,0.28759e-01_rb /) kao(:, 5, 7,16) = (/ & & 0.77937e-01_rb,0.68190e-01_rb,0.58450e-01_rb,0.48707e-01_rb,0.38965e-01_rb, & & 0.29223e-01_rb,0.19858e-01_rb,0.17406e-01_rb,0.28017e-01_rb /) kao(:, 1, 8,16) = (/ & & 0.95173e-01_rb,0.83270e-01_rb,0.71377e-01_rb,0.59480e-01_rb,0.47582e-01_rb, & & 0.35684e-01_rb,0.25169e-01_rb,0.22449e-01_rb,0.36274e-01_rb /) kao(:, 2, 8,16) = (/ & & 0.93409e-01_rb,0.81740e-01_rb,0.70058e-01_rb,0.58384e-01_rb,0.46709e-01_rb, & & 0.35028e-01_rb,0.24581e-01_rb,0.21893e-01_rb,0.35207e-01_rb /) kao(:, 3, 8,16) = (/ & & 0.91737e-01_rb,0.80263e-01_rb,0.68796e-01_rb,0.57330e-01_rb,0.45863e-01_rb, & & 0.34396e-01_rb,0.23987e-01_rb,0.21409e-01_rb,0.34174e-01_rb /) kao(:, 4, 8,16) = (/ & & 0.90113e-01_rb,0.78852e-01_rb,0.67585e-01_rb,0.56324e-01_rb,0.45060e-01_rb, & & 0.33794e-01_rb,0.23415e-01_rb,0.20940e-01_rb,0.33185e-01_rb /) kao(:, 5, 8,16) = (/ & & 0.88500e-01_rb,0.77445e-01_rb,0.66378e-01_rb,0.55317e-01_rb,0.44252e-01_rb, & & 0.33190e-01_rb,0.22890e-01_rb,0.20471e-01_rb,0.32236e-01_rb /) kao(:, 1, 9,16) = (/ & & 0.10878e+00_rb,0.95186e-01_rb,0.81587e-01_rb,0.67986e-01_rb,0.54386e-01_rb, & & 0.40792e-01_rb,0.29314e-01_rb,0.26669e-01_rb,0.42265e-01_rb /) kao(:, 2, 9,16) = (/ & & 0.10631e+00_rb,0.93021e-01_rb,0.79732e-01_rb,0.66444e-01_rb,0.53150e-01_rb, & & 0.39864e-01_rb,0.28508e-01_rb,0.25873e-01_rb,0.40792e-01_rb /) kao(:, 3, 9,16) = (/ & & 0.10400e+00_rb,0.91002e-01_rb,0.78003e-01_rb,0.64997e-01_rb,0.51997e-01_rb, & & 0.39001e-01_rb,0.27707e-01_rb,0.25186e-01_rb,0.39383e-01_rb /) kao(:, 4, 9,16) = (/ & & 0.10173e+00_rb,0.89018e-01_rb,0.76292e-01_rb,0.63582e-01_rb,0.50863e-01_rb, & & 0.38144e-01_rb,0.26926e-01_rb,0.24532e-01_rb,0.38084e-01_rb /) kao(:, 5, 9,16) = (/ & & 0.99555e-01_rb,0.87113e-01_rb,0.74666e-01_rb,0.62221e-01_rb,0.49774e-01_rb, & & 0.37334e-01_rb,0.26211e-01_rb,0.23902e-01_rb,0.36825e-01_rb /) kao(:, 1,10,16) = (/ & & 0.12320e+00_rb,0.10779e+00_rb,0.92400e-01_rb,0.76993e-01_rb,0.61601e-01_rb, & & 0.46197e-01_rb,0.33879e-01_rb,0.31475e-01_rb,0.48792e-01_rb /) kao(:, 2,10,16) = (/ & & 0.11986e+00_rb,0.10487e+00_rb,0.89890e-01_rb,0.74910e-01_rb,0.59927e-01_rb, & & 0.44946e-01_rb,0.32786e-01_rb,0.30373e-01_rb,0.46838e-01_rb /) kao(:, 3,10,16) = (/ & & 0.11671e+00_rb,0.10212e+00_rb,0.87531e-01_rb,0.72938e-01_rb,0.58350e-01_rb, & & 0.43767e-01_rb,0.31728e-01_rb,0.29415e-01_rb,0.45011e-01_rb /) kao(:, 4,10,16) = (/ & & 0.11373e+00_rb,0.99514e-01_rb,0.85291e-01_rb,0.71084e-01_rb,0.56859e-01_rb, & & 0.42648e-01_rb,0.30712e-01_rb,0.28518e-01_rb,0.43306e-01_rb /) kao(:, 5,10,16) = (/ & & 0.11086e+00_rb,0.97005e-01_rb,0.83130e-01_rb,0.69287e-01_rb,0.55428e-01_rb, & & 0.41573e-01_rb,0.29748e-01_rb,0.27669e-01_rb,0.41673e-01_rb /) kao(:, 1,11,16) = (/ & & 0.13635e+00_rb,0.11930e+00_rb,0.10226e+00_rb,0.85213e-01_rb,0.68170e-01_rb, & & 0.51126e-01_rb,0.38257e-01_rb,0.36212e-01_rb,0.54706e-01_rb /) kao(:, 2,11,16) = (/ & & 0.13203e+00_rb,0.11554e+00_rb,0.99030e-01_rb,0.82523e-01_rb,0.66019e-01_rb, & & 0.49513e-01_rb,0.36799e-01_rb,0.34833e-01_rb,0.52312e-01_rb /) kao(:, 3,11,16) = (/ & & 0.12805e+00_rb,0.11203e+00_rb,0.96022e-01_rb,0.80023e-01_rb,0.64019e-01_rb, & & 0.48015e-01_rb,0.35435e-01_rb,0.33591e-01_rb,0.50057e-01_rb /) kao(:, 4,11,16) = (/ & & 0.12432e+00_rb,0.10877e+00_rb,0.93237e-01_rb,0.77695e-01_rb,0.62158e-01_rb, & & 0.46618e-01_rb,0.34181e-01_rb,0.32427e-01_rb,0.47918e-01_rb /) kao(:, 5,11,16) = (/ & & 0.12077e+00_rb,0.10567e+00_rb,0.90572e-01_rb,0.75471e-01_rb,0.60381e-01_rb, & & 0.45284e-01_rb,0.32973e-01_rb,0.31331e-01_rb,0.45895e-01_rb /) kao(:, 1,12,16) = (/ & & 0.14909e+00_rb,0.13045e+00_rb,0.11182e+00_rb,0.93176e-01_rb,0.74537e-01_rb, & & 0.55927e-01_rb,0.42736e-01_rb,0.41194e-01_rb,0.43864e-01_rb /) kao(:, 2,12,16) = (/ & & 0.14380e+00_rb,0.12582e+00_rb,0.10785e+00_rb,0.89883e-01_rb,0.71900e-01_rb, & & 0.53925e-01_rb,0.40874e-01_rb,0.39509e-01_rb,0.34410e-01_rb /) kao(:, 3,12,16) = (/ & & 0.13887e+00_rb,0.12152e+00_rb,0.10414e+00_rb,0.86796e-01_rb,0.69431e-01_rb, & & 0.52073e-01_rb,0.39165e-01_rb,0.37950e-01_rb,0.27228e-01_rb /) kao(:, 4,12,16) = (/ & & 0.13436e+00_rb,0.11758e+00_rb,0.10078e+00_rb,0.83978e-01_rb,0.67186e-01_rb, & & 0.50383e-01_rb,0.37599e-01_rb,0.36473e-01_rb,0.23165e-01_rb /) kao(:, 5,12,16) = (/ & & 0.13007e+00_rb,0.11382e+00_rb,0.97560e-01_rb,0.81293e-01_rb,0.65042e-01_rb, & & 0.48775e-01_rb,0.36131e-01_rb,0.35083e-01_rb,0.14412e-01_rb /) kao(:, 1,13,16) = (/ & & 0.16113e+00_rb,0.14100e+00_rb,0.12085e+00_rb,0.10071e+00_rb,0.80563e-01_rb, & & 0.60580e-01_rb,0.47246e-01_rb,0.46365e-01_rb,0.26456e-01_rb /) kao(:, 2,13,16) = (/ & & 0.15486e+00_rb,0.13550e+00_rb,0.11616e+00_rb,0.96791e-01_rb,0.77431e-01_rb, & & 0.58082e-01_rb,0.44915e-01_rb,0.44314e-01_rb,0.19340e-01_rb /) kao(:, 3,13,16) = (/ & & 0.14906e+00_rb,0.13042e+00_rb,0.11179e+00_rb,0.93156e-01_rb,0.74526e-01_rb, & & 0.55893e-01_rb,0.42831e-01_rb,0.42380e-01_rb,0.11993e-01_rb /) kao(:, 4,13,16) = (/ & & 0.14369e+00_rb,0.12574e+00_rb,0.10777e+00_rb,0.89817e-01_rb,0.71849e-01_rb, & & 0.53884e-01_rb,0.40915e-01_rb,0.40556e-01_rb,0.50486e-02_rb /) kao(:, 5,13,16) = (/ & & 0.13868e+00_rb,0.12134e+00_rb,0.10400e+00_rb,0.86669e-01_rb,0.69338e-01_rb, & & 0.52006e-01_rb,0.39136e-01_rb,0.38851e-01_rb,0.00000e+00_rb /) ! ----------------------------------------------------------------- ! The array KBO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels < ~100mb and temperatures. The first ! index in the array, JT, which runs from 1 to 5, corresponds to ! different temperatures. More specifically, JT = 3 means that the ! data are for the reference temperature TREF for this pressure ! level, JT = 2 refers to the temperature TREF-15, JT = 1 is for ! TREF-30, JT = 4 is for TREF+15, and JT = 5 is for TREF+30. ! The second index, JP, runs from 13 to 59 and refers to the JPth ! reference pressure level (see taumol.f for the value of these ! pressure levels in mb). The third index, IG, goes from 1 to 16, ! and tells us which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kbo(:,13, 1) = (/ & & 0.12158e-08_rb,0.13238e-08_rb,0.15146e-08_rb,0.16862e-08_rb,0.18609e-08_rb /) kbo(:,14, 1) = (/ & & 0.16931e-08_rb,0.20047e-08_rb,0.23006e-08_rb,0.25636e-08_rb,0.28912e-08_rb /) kbo(:,15, 1) = (/ & & 0.31521e-08_rb,0.36963e-08_rb,0.41550e-08_rb,0.46365e-08_rb,0.50834e-08_rb /) kbo(:,16, 1) = (/ & & 0.46152e-08_rb,0.50173e-08_rb,0.55381e-08_rb,0.60748e-08_rb,0.66355e-08_rb /) kbo(:,17, 1) = (/ & & 0.62662e-08_rb,0.67518e-08_rb,0.71765e-08_rb,0.80302e-08_rb,0.89056e-08_rb /) kbo(:,18, 1) = (/ & & 0.81764e-08_rb,0.91818e-08_rb,0.10385e-07_rb,0.11708e-07_rb,0.12536e-07_rb /) kbo(:,19, 1) = (/ & & 0.12946e-07_rb,0.13631e-07_rb,0.14453e-07_rb,0.15133e-07_rb,0.15911e-07_rb /) kbo(:,20, 1) = (/ & & 0.15868e-07_rb,0.16654e-07_rb,0.17281e-07_rb,0.17857e-07_rb,0.18383e-07_rb /) kbo(:,21, 1) = (/ & & 0.18151e-07_rb,0.19056e-07_rb,0.20057e-07_rb,0.20708e-07_rb,0.21229e-07_rb /) kbo(:,22, 1) = (/ & & 0.20234e-07_rb,0.21482e-07_rb,0.22599e-07_rb,0.23778e-07_rb,0.25115e-07_rb /) kbo(:,23, 1) = (/ & & 0.23827e-07_rb,0.25405e-07_rb,0.26545e-07_rb,0.27716e-07_rb,0.28422e-07_rb /) kbo(:,24, 1) = (/ & & 0.27638e-07_rb,0.28518e-07_rb,0.29101e-07_rb,0.29639e-07_rb,0.30077e-07_rb /) kbo(:,25, 1) = (/ & & 0.28942e-07_rb,0.29436e-07_rb,0.29831e-07_rb,0.30066e-07_rb,0.30242e-07_rb /) kbo(:,26, 1) = (/ & & 0.28774e-07_rb,0.29004e-07_rb,0.29272e-07_rb,0.29431e-07_rb,0.29616e-07_rb /) kbo(:,27, 1) = (/ & & 0.27317e-07_rb,0.27462e-07_rb,0.27698e-07_rb,0.27835e-07_rb,0.27843e-07_rb /) kbo(:,28, 1) = (/ & & 0.25463e-07_rb,0.25523e-07_rb,0.25678e-07_rb,0.25658e-07_rb,0.25687e-07_rb /) kbo(:,29, 1) = (/ & & 0.22603e-07_rb,0.22672e-07_rb,0.22704e-07_rb,0.22668e-07_rb,0.22698e-07_rb /) kbo(:,30, 1) = (/ & & 0.19657e-07_rb,0.19747e-07_rb,0.19687e-07_rb,0.19659e-07_rb,0.19680e-07_rb /) kbo(:,31, 1) = (/ & & 0.16553e-07_rb,0.16571e-07_rb,0.16522e-07_rb,0.16545e-07_rb,0.16563e-07_rb /) kbo(:,32, 1) = (/ & & 0.13867e-07_rb,0.13795e-07_rb,0.13808e-07_rb,0.13815e-07_rb,0.13799e-07_rb /) kbo(:,33, 1) = (/ & & 0.11414e-07_rb,0.11409e-07_rb,0.11395e-07_rb,0.11384e-07_rb,0.11416e-07_rb /) kbo(:,34, 1) = (/ & & 0.95639e-08_rb,0.95514e-08_rb,0.95251e-08_rb,0.95607e-08_rb,0.95767e-08_rb /) kbo(:,35, 1) = (/ & & 0.80018e-08_rb,0.79882e-08_rb,0.79720e-08_rb,0.79934e-08_rb,0.79942e-08_rb /) kbo(:,36, 1) = (/ & & 0.67279e-08_rb,0.67135e-08_rb,0.67089e-08_rb,0.67131e-08_rb,0.67290e-08_rb /) kbo(:,37, 1) = (/ & & 0.57292e-08_rb,0.57278e-08_rb,0.57247e-08_rb,0.57298e-08_rb,0.57269e-08_rb /) kbo(:,38, 1) = (/ & & 0.48406e-08_rb,0.48461e-08_rb,0.48394e-08_rb,0.48468e-08_rb,0.48401e-08_rb /) kbo(:,39, 1) = (/ & & 0.40368e-08_rb,0.40419e-08_rb,0.40353e-08_rb,0.40432e-08_rb,0.40267e-08_rb /) kbo(:,40, 1) = (/ & & 0.34875e-08_rb,0.34931e-08_rb,0.34872e-08_rb,0.34940e-08_rb,0.34782e-08_rb /) kbo(:,41, 1) = (/ & & 0.30195e-08_rb,0.30243e-08_rb,0.30129e-08_rb,0.30148e-08_rb,0.30016e-08_rb /) kbo(:,42, 1) = (/ & & 0.25993e-08_rb,0.25924e-08_rb,0.25861e-08_rb,0.25841e-08_rb,0.25734e-08_rb /) kbo(:,43, 1) = (/ & & 0.22290e-08_rb,0.22166e-08_rb,0.22080e-08_rb,0.22067e-08_rb,0.21992e-08_rb /) kbo(:,44, 1) = (/ & & 0.18916e-08_rb,0.18847e-08_rb,0.18733e-08_rb,0.18685e-08_rb,0.18685e-08_rb /) kbo(:,45, 1) = (/ & & 0.15840e-08_rb,0.15787e-08_rb,0.15719e-08_rb,0.15641e-08_rb,0.15644e-08_rb /) kbo(:,46, 1) = (/ & & 0.13197e-08_rb,0.13138e-08_rb,0.13098e-08_rb,0.13024e-08_rb,0.13049e-08_rb /) kbo(:,47, 1) = (/ & & 0.11052e-08_rb,0.11003e-08_rb,0.10954e-08_rb,0.10927e-08_rb,0.10941e-08_rb /) kbo(:,48, 1) = (/ & & 0.91115e-09_rb,0.90837e-09_rb,0.90520e-09_rb,0.90009e-09_rb,0.90047e-09_rb /) kbo(:,49, 1) = (/ & & 0.73101e-09_rb,0.73246e-09_rb,0.73006e-09_rb,0.72687e-09_rb,0.72508e-09_rb /) kbo(:,50, 1) = (/ & & 0.60565e-09_rb,0.60526e-09_rb,0.60121e-09_rb,0.60117e-09_rb,0.60056e-09_rb /) kbo(:,51, 1) = (/ & & 0.50736e-09_rb,0.50750e-09_rb,0.50421e-09_rb,0.50378e-09_rb,0.50259e-09_rb /) kbo(:,52, 1) = (/ & & 0.41843e-09_rb,0.41856e-09_rb,0.41499e-09_rb,0.41535e-09_rb,0.41353e-09_rb /) kbo(:,53, 1) = (/ & & 0.33766e-09_rb,0.33794e-09_rb,0.33511e-09_rb,0.33405e-09_rb,0.33405e-09_rb /) kbo(:,54, 1) = (/ & & 0.29473e-09_rb,0.29448e-09_rb,0.29284e-09_rb,0.29146e-09_rb,0.29053e-09_rb /) kbo(:,55, 1) = (/ & & 0.26948e-09_rb,0.27034e-09_rb,0.27016e-09_rb,0.26799e-09_rb,0.26580e-09_rb /) kbo(:,56, 1) = (/ & & 0.24773e-09_rb,0.24784e-09_rb,0.24734e-09_rb,0.24436e-09_rb,0.24377e-09_rb /) kbo(:,57, 1) = (/ & & 0.22707e-09_rb,0.22765e-09_rb,0.22683e-09_rb,0.22503e-09_rb,0.22447e-09_rb /) kbo(:,58, 1) = (/ & & 0.21180e-09_rb,0.21264e-09_rb,0.21254e-09_rb,0.21338e-09_rb,0.21089e-09_rb /) kbo(:,59, 1) = (/ & & 0.22898e-09_rb,0.23089e-09_rb,0.23471e-09_rb,0.23606e-09_rb,0.23388e-09_rb /) kbo(:,13, 2) = (/ & & 0.18001e-08_rb,0.19945e-08_rb,0.21612e-08_rb,0.23316e-08_rb,0.25983e-08_rb /) kbo(:,14, 2) = (/ & & 0.39853e-08_rb,0.42632e-08_rb,0.44602e-08_rb,0.46784e-08_rb,0.48071e-08_rb /) kbo(:,15, 2) = (/ & & 0.60848e-08_rb,0.61494e-08_rb,0.61069e-08_rb,0.61295e-08_rb,0.65707e-08_rb /) kbo(:,16, 2) = (/ & & 0.75494e-08_rb,0.85999e-08_rb,0.91057e-08_rb,0.10175e-07_rb,0.10943e-07_rb /) kbo(:,17, 2) = (/ & & 0.12037e-07_rb,0.12753e-07_rb,0.13314e-07_rb,0.13239e-07_rb,0.13306e-07_rb /) kbo(:,18, 2) = (/ & & 0.15519e-07_rb,0.15517e-07_rb,0.15097e-07_rb,0.14435e-07_rb,0.13983e-07_rb /) kbo(:,19, 2) = (/ & & 0.16420e-07_rb,0.17025e-07_rb,0.17639e-07_rb,0.17633e-07_rb,0.17513e-07_rb /) kbo(:,20, 2) = (/ & & 0.18021e-07_rb,0.19301e-07_rb,0.20621e-07_rb,0.22238e-07_rb,0.23351e-07_rb /) kbo(:,21, 2) = (/ & & 0.22378e-07_rb,0.23582e-07_rb,0.24409e-07_rb,0.24915e-07_rb,0.25516e-07_rb /) kbo(:,22, 2) = (/ & & 0.24712e-07_rb,0.24864e-07_rb,0.24556e-07_rb,0.23953e-07_rb,0.23424e-07_rb /) kbo(:,23, 2) = (/ & & 0.22545e-07_rb,0.22002e-07_rb,0.21325e-07_rb,0.20492e-07_rb,0.20022e-07_rb /) kbo(:,24, 2) = (/ & & 0.18798e-07_rb,0.18566e-07_rb,0.18366e-07_rb,0.18099e-07_rb,0.17971e-07_rb /) kbo(:,25, 2) = (/ & & 0.16773e-07_rb,0.16803e-07_rb,0.16541e-07_rb,0.16450e-07_rb,0.16482e-07_rb /) kbo(:,26, 2) = (/ & & 0.15222e-07_rb,0.15398e-07_rb,0.15177e-07_rb,0.15147e-07_rb,0.14951e-07_rb /) kbo(:,27, 2) = (/ & & 0.13792e-07_rb,0.13944e-07_rb,0.13534e-07_rb,0.13546e-07_rb,0.13516e-07_rb /) kbo(:,28, 2) = (/ & & 0.12157e-07_rb,0.12221e-07_rb,0.11930e-07_rb,0.12115e-07_rb,0.12027e-07_rb /) kbo(:,29, 2) = (/ & & 0.10487e-07_rb,0.10393e-07_rb,0.10366e-07_rb,0.10455e-07_rb,0.10269e-07_rb /) kbo(:,30, 2) = (/ & & 0.90084e-08_rb,0.88590e-08_rb,0.90055e-08_rb,0.88655e-08_rb,0.87392e-08_rb /) kbo(:,31, 2) = (/ & & 0.74765e-08_rb,0.74889e-08_rb,0.73915e-08_rb,0.73289e-08_rb,0.72219e-08_rb /) kbo(:,32, 2) = (/ & & 0.62311e-08_rb,0.62461e-08_rb,0.61378e-08_rb,0.59795e-08_rb,0.60309e-08_rb /) kbo(:,33, 2) = (/ & & 0.51421e-08_rb,0.50519e-08_rb,0.50031e-08_rb,0.49630e-08_rb,0.49489e-08_rb /) kbo(:,34, 2) = (/ & & 0.42880e-08_rb,0.42042e-08_rb,0.41366e-08_rb,0.41198e-08_rb,0.41265e-08_rb /) kbo(:,35, 2) = (/ & & 0.35718e-08_rb,0.34728e-08_rb,0.34599e-08_rb,0.34385e-08_rb,0.34695e-08_rb /) kbo(:,36, 2) = (/ & & 0.29713e-08_rb,0.29023e-08_rb,0.28707e-08_rb,0.28790e-08_rb,0.28873e-08_rb /) kbo(:,37, 2) = (/ & & 0.25246e-08_rb,0.24463e-08_rb,0.24323e-08_rb,0.24308e-08_rb,0.24753e-08_rb /) kbo(:,38, 2) = (/ & & 0.21159e-08_rb,0.20527e-08_rb,0.20532e-08_rb,0.20325e-08_rb,0.20615e-08_rb /) kbo(:,39, 2) = (/ & & 0.17631e-08_rb,0.17097e-08_rb,0.17043e-08_rb,0.16987e-08_rb,0.17298e-08_rb /) kbo(:,40, 2) = (/ & & 0.15260e-08_rb,0.14757e-08_rb,0.14566e-08_rb,0.14513e-08_rb,0.14651e-08_rb /) kbo(:,41, 2) = (/ & & 0.13009e-08_rb,0.12457e-08_rb,0.12523e-08_rb,0.12490e-08_rb,0.12671e-08_rb /) kbo(:,42, 2) = (/ & & 0.10990e-08_rb,0.10789e-08_rb,0.10741e-08_rb,0.10762e-08_rb,0.10873e-08_rb /) kbo(:,43, 2) = (/ & & 0.94313e-09_rb,0.92236e-09_rb,0.92369e-09_rb,0.91495e-09_rb,0.92405e-09_rb /) kbo(:,44, 2) = (/ & & 0.80746e-09_rb,0.78453e-09_rb,0.77646e-09_rb,0.77477e-09_rb,0.77888e-09_rb /) kbo(:,45, 2) = (/ & & 0.67944e-09_rb,0.66381e-09_rb,0.65747e-09_rb,0.65286e-09_rb,0.65668e-09_rb /) kbo(:,46, 2) = (/ & & 0.56677e-09_rb,0.55682e-09_rb,0.54825e-09_rb,0.54623e-09_rb,0.54843e-09_rb /) kbo(:,47, 2) = (/ & & 0.47375e-09_rb,0.47120e-09_rb,0.45836e-09_rb,0.45709e-09_rb,0.45689e-09_rb /) kbo(:,48, 2) = (/ & & 0.39797e-09_rb,0.39204e-09_rb,0.37735e-09_rb,0.37505e-09_rb,0.37687e-09_rb /) kbo(:,49, 2) = (/ & & 0.32772e-09_rb,0.31857e-09_rb,0.30808e-09_rb,0.30232e-09_rb,0.30140e-09_rb /) kbo(:,50, 2) = (/ & & 0.27300e-09_rb,0.26581e-09_rb,0.26125e-09_rb,0.24922e-09_rb,0.25029e-09_rb /) kbo(:,51, 2) = (/ & & 0.23073e-09_rb,0.22159e-09_rb,0.21979e-09_rb,0.20969e-09_rb,0.21117e-09_rb /) kbo(:,52, 2) = (/ & & 0.18868e-09_rb,0.18466e-09_rb,0.18517e-09_rb,0.17470e-09_rb,0.17469e-09_rb /) kbo(:,53, 2) = (/ & & 0.15290e-09_rb,0.14970e-09_rb,0.15032e-09_rb,0.14201e-09_rb,0.14053e-09_rb /) kbo(:,54, 2) = (/ & & 0.13616e-09_rb,0.13340e-09_rb,0.13256e-09_rb,0.12713e-09_rb,0.12621e-09_rb /) kbo(:,55, 2) = (/ & & 0.12605e-09_rb,0.12524e-09_rb,0.12106e-09_rb,0.11994e-09_rb,0.11735e-09_rb /) kbo(:,56, 2) = (/ & & 0.11625e-09_rb,0.11350e-09_rb,0.11287e-09_rb,0.11534e-09_rb,0.10942e-09_rb /) kbo(:,57, 2) = (/ & & 0.10168e-09_rb,0.10628e-09_rb,0.10684e-09_rb,0.10799e-09_rb,0.10313e-09_rb /) kbo(:,58, 2) = (/ & & 0.92659e-10_rb,0.10050e-09_rb,0.10168e-09_rb,0.97877e-10_rb,0.97971e-10_rb /) kbo(:,59, 2) = (/ & & 0.10198e-09_rb,0.11632e-09_rb,0.11127e-09_rb,0.10947e-09_rb,0.11000e-09_rb /) kbo(:,13, 3) = (/ & & 0.33788e-08_rb,0.38685e-08_rb,0.40059e-08_rb,0.41301e-08_rb,0.43316e-08_rb /) kbo(:,14, 3) = (/ & & 0.54022e-08_rb,0.55644e-08_rb,0.55814e-08_rb,0.55195e-08_rb,0.57708e-08_rb /) kbo(:,15, 3) = (/ & & 0.95769e-08_rb,0.10205e-07_rb,0.12445e-07_rb,0.13419e-07_rb,0.13357e-07_rb /) kbo(:,16, 3) = (/ & & 0.17233e-07_rb,0.16177e-07_rb,0.16092e-07_rb,0.15590e-07_rb,0.15068e-07_rb /) kbo(:,17, 3) = (/ & & 0.19731e-07_rb,0.19947e-07_rb,0.20278e-07_rb,0.20235e-07_rb,0.20699e-07_rb /) kbo(:,18, 3) = (/ & & 0.23168e-07_rb,0.23970e-07_rb,0.25507e-07_rb,0.27034e-07_rb,0.29135e-07_rb /) kbo(:,19, 3) = (/ & & 0.33749e-07_rb,0.35374e-07_rb,0.37333e-07_rb,0.38730e-07_rb,0.39816e-07_rb /) kbo(:,20, 3) = (/ & & 0.39844e-07_rb,0.39698e-07_rb,0.39651e-07_rb,0.38618e-07_rb,0.37699e-07_rb /) kbo(:,21, 3) = (/ & & 0.37013e-07_rb,0.35923e-07_rb,0.35560e-07_rb,0.35217e-07_rb,0.34594e-07_rb /) kbo(:,22, 3) = (/ & & 0.32381e-07_rb,0.31844e-07_rb,0.32272e-07_rb,0.32430e-07_rb,0.31922e-07_rb /) kbo(:,23, 3) = (/ & & 0.29924e-07_rb,0.29834e-07_rb,0.30537e-07_rb,0.30494e-07_rb,0.30313e-07_rb /) kbo(:,24, 3) = (/ & & 0.27849e-07_rb,0.28147e-07_rb,0.29005e-07_rb,0.29081e-07_rb,0.28673e-07_rb /) kbo(:,25, 3) = (/ & & 0.25534e-07_rb,0.25854e-07_rb,0.26978e-07_rb,0.27173e-07_rb,0.27116e-07_rb /) kbo(:,26, 3) = (/ & & 0.23413e-07_rb,0.24124e-07_rb,0.25341e-07_rb,0.25322e-07_rb,0.25266e-07_rb /) kbo(:,27, 3) = (/ & & 0.21218e-07_rb,0.22105e-07_rb,0.23470e-07_rb,0.23280e-07_rb,0.23250e-07_rb /) kbo(:,28, 3) = (/ & & 0.19002e-07_rb,0.20309e-07_rb,0.21106e-07_rb,0.20908e-07_rb,0.21199e-07_rb /) kbo(:,29, 3) = (/ & & 0.16901e-07_rb,0.18244e-07_rb,0.18426e-07_rb,0.18398e-07_rb,0.18708e-07_rb /) kbo(:,30, 3) = (/ & & 0.15065e-07_rb,0.15814e-07_rb,0.15711e-07_rb,0.16012e-07_rb,0.16145e-07_rb /) kbo(:,31, 3) = (/ & & 0.13100e-07_rb,0.13194e-07_rb,0.13385e-07_rb,0.13455e-07_rb,0.13435e-07_rb /) kbo(:,32, 3) = (/ & & 0.10972e-07_rb,0.10986e-07_rb,0.11085e-07_rb,0.11182e-07_rb,0.11030e-07_rb /) kbo(:,33, 3) = (/ & & 0.90750e-08_rb,0.90832e-08_rb,0.91769e-08_rb,0.89877e-08_rb,0.89513e-08_rb /) kbo(:,34, 3) = (/ & & 0.75008e-08_rb,0.76569e-08_rb,0.76237e-08_rb,0.74547e-08_rb,0.74719e-08_rb /) kbo(:,35, 3) = (/ & & 0.63063e-08_rb,0.64050e-08_rb,0.62067e-08_rb,0.61836e-08_rb,0.61775e-08_rb /) kbo(:,36, 3) = (/ & & 0.53250e-08_rb,0.52712e-08_rb,0.52454e-08_rb,0.51153e-08_rb,0.51657e-08_rb /) kbo(:,37, 3) = (/ & & 0.45450e-08_rb,0.45358e-08_rb,0.44274e-08_rb,0.43893e-08_rb,0.43616e-08_rb /) kbo(:,38, 3) = (/ & & 0.38039e-08_rb,0.38254e-08_rb,0.37172e-08_rb,0.37203e-08_rb,0.37278e-08_rb /) kbo(:,39, 3) = (/ & & 0.31821e-08_rb,0.31632e-08_rb,0.30774e-08_rb,0.30626e-08_rb,0.30979e-08_rb /) kbo(:,40, 3) = (/ & & 0.27339e-08_rb,0.27443e-08_rb,0.26754e-08_rb,0.26505e-08_rb,0.27022e-08_rb /) kbo(:,41, 3) = (/ & & 0.23939e-08_rb,0.24228e-08_rb,0.23415e-08_rb,0.23287e-08_rb,0.23327e-08_rb /) kbo(:,42, 3) = (/ & & 0.20895e-08_rb,0.20874e-08_rb,0.20298e-08_rb,0.20180e-08_rb,0.19876e-08_rb /) kbo(:,43, 3) = (/ & & 0.17869e-08_rb,0.17800e-08_rb,0.17392e-08_rb,0.17376e-08_rb,0.16927e-08_rb /) kbo(:,44, 3) = (/ & & 0.15169e-08_rb,0.15335e-08_rb,0.14778e-08_rb,0.14668e-08_rb,0.14407e-08_rb /) kbo(:,45, 3) = (/ & & 0.12692e-08_rb,0.12902e-08_rb,0.12439e-08_rb,0.12324e-08_rb,0.11996e-08_rb /) kbo(:,46, 3) = (/ & & 0.10611e-08_rb,0.10656e-08_rb,0.10472e-08_rb,0.10282e-08_rb,0.10015e-08_rb /) kbo(:,47, 3) = (/ & & 0.90394e-09_rb,0.88143e-09_rb,0.87958e-09_rb,0.84984e-09_rb,0.85121e-09_rb /) kbo(:,48, 3) = (/ & & 0.73451e-09_rb,0.71978e-09_rb,0.73014e-09_rb,0.70436e-09_rb,0.69840e-09_rb /) kbo(:,49, 3) = (/ & & 0.58678e-09_rb,0.58259e-09_rb,0.58316e-09_rb,0.55960e-09_rb,0.56079e-09_rb /) kbo(:,50, 3) = (/ & & 0.48502e-09_rb,0.47984e-09_rb,0.48693e-09_rb,0.47265e-09_rb,0.46016e-09_rb /) kbo(:,51, 3) = (/ & & 0.40704e-09_rb,0.40367e-09_rb,0.41046e-09_rb,0.39764e-09_rb,0.38714e-09_rb /) kbo(:,52, 3) = (/ & & 0.33771e-09_rb,0.33070e-09_rb,0.32984e-09_rb,0.33231e-09_rb,0.32299e-09_rb /) kbo(:,53, 3) = (/ & & 0.27062e-09_rb,0.27028e-09_rb,0.26516e-09_rb,0.26816e-09_rb,0.25661e-09_rb /) kbo(:,54, 3) = (/ & & 0.23501e-09_rb,0.23579e-09_rb,0.23460e-09_rb,0.23532e-09_rb,0.22777e-09_rb /) kbo(:,55, 3) = (/ & & 0.20561e-09_rb,0.21843e-09_rb,0.22171e-09_rb,0.22358e-09_rb,0.21702e-09_rb /) kbo(:,56, 3) = (/ & & 0.18557e-09_rb,0.20864e-09_rb,0.21196e-09_rb,0.20646e-09_rb,0.20759e-09_rb /) kbo(:,57, 3) = (/ & & 0.17099e-09_rb,0.19489e-09_rb,0.19486e-09_rb,0.19102e-09_rb,0.19124e-09_rb /) kbo(:,58, 3) = (/ & & 0.16535e-09_rb,0.16955e-09_rb,0.18769e-09_rb,0.18586e-09_rb,0.18358e-09_rb /) kbo(:,59, 3) = (/ & & 0.18472e-09_rb,0.17614e-09_rb,0.20835e-09_rb,0.19900e-09_rb,0.17587e-09_rb /) kbo(:,13, 4) = (/ & & 0.14276e-07_rb,0.14530e-07_rb,0.14762e-07_rb,0.14823e-07_rb,0.15070e-07_rb /) kbo(:,14, 4) = (/ & & 0.22710e-07_rb,0.23419e-07_rb,0.26577e-07_rb,0.28008e-07_rb,0.28298e-07_rb /) kbo(:,15, 4) = (/ & & 0.40218e-07_rb,0.40306e-07_rb,0.38786e-07_rb,0.38421e-07_rb,0.37982e-07_rb /) kbo(:,16, 4) = (/ & & 0.46010e-07_rb,0.46709e-07_rb,0.48658e-07_rb,0.49166e-07_rb,0.49018e-07_rb /) kbo(:,17, 4) = (/ & & 0.57896e-07_rb,0.59606e-07_rb,0.62582e-07_rb,0.65981e-07_rb,0.66467e-07_rb /) kbo(:,18, 4) = (/ & & 0.74731e-07_rb,0.75116e-07_rb,0.75181e-07_rb,0.74922e-07_rb,0.73535e-07_rb /) kbo(:,19, 4) = (/ & & 0.76222e-07_rb,0.73788e-07_rb,0.71345e-07_rb,0.70864e-07_rb,0.69839e-07_rb /) kbo(:,20, 4) = (/ & & 0.69638e-07_rb,0.67680e-07_rb,0.66694e-07_rb,0.67021e-07_rb,0.67066e-07_rb /) kbo(:,21, 4) = (/ & & 0.65779e-07_rb,0.64200e-07_rb,0.63508e-07_rb,0.64106e-07_rb,0.64461e-07_rb /) kbo(:,22, 4) = (/ & & 0.61488e-07_rb,0.60248e-07_rb,0.59719e-07_rb,0.60704e-07_rb,0.61392e-07_rb /) kbo(:,23, 4) = (/ & & 0.56738e-07_rb,0.55143e-07_rb,0.55071e-07_rb,0.56796e-07_rb,0.58031e-07_rb /) kbo(:,24, 4) = (/ & & 0.53299e-07_rb,0.52091e-07_rb,0.52308e-07_rb,0.54157e-07_rb,0.55094e-07_rb /) kbo(:,25, 4) = (/ & & 0.49763e-07_rb,0.48954e-07_rb,0.49068e-07_rb,0.51533e-07_rb,0.52367e-07_rb /) kbo(:,26, 4) = (/ & & 0.46006e-07_rb,0.45410e-07_rb,0.45860e-07_rb,0.48840e-07_rb,0.49788e-07_rb /) kbo(:,27, 4) = (/ & & 0.42208e-07_rb,0.41876e-07_rb,0.43006e-07_rb,0.46350e-07_rb,0.47032e-07_rb /) kbo(:,28, 4) = (/ & & 0.38508e-07_rb,0.38430e-07_rb,0.40481e-07_rb,0.43465e-07_rb,0.43170e-07_rb /) kbo(:,29, 4) = (/ & & 0.33913e-07_rb,0.34466e-07_rb,0.37202e-07_rb,0.38288e-07_rb,0.38327e-07_rb /) kbo(:,30, 4) = (/ & & 0.29454e-07_rb,0.30842e-07_rb,0.33204e-07_rb,0.33354e-07_rb,0.33727e-07_rb /) kbo(:,31, 4) = (/ & & 0.25253e-07_rb,0.27183e-07_rb,0.28228e-07_rb,0.27946e-07_rb,0.28495e-07_rb /) kbo(:,32, 4) = (/ & & 0.21784e-07_rb,0.23351e-07_rb,0.23372e-07_rb,0.23449e-07_rb,0.23246e-07_rb /) kbo(:,33, 4) = (/ & & 0.18910e-07_rb,0.19134e-07_rb,0.18984e-07_rb,0.19294e-07_rb,0.18955e-07_rb /) kbo(:,34, 4) = (/ & & 0.15933e-07_rb,0.15755e-07_rb,0.16059e-07_rb,0.15913e-07_rb,0.15386e-07_rb /) kbo(:,35, 4) = (/ & & 0.13356e-07_rb,0.13247e-07_rb,0.13429e-07_rb,0.13202e-07_rb,0.12675e-07_rb /) kbo(:,36, 4) = (/ & & 0.11207e-07_rb,0.11196e-07_rb,0.11048e-07_rb,0.10870e-07_rb,0.10431e-07_rb /) kbo(:,37, 4) = (/ & & 0.95811e-08_rb,0.94647e-08_rb,0.93875e-08_rb,0.90968e-08_rb,0.88553e-08_rb /) kbo(:,38, 4) = (/ & & 0.81243e-08_rb,0.80255e-08_rb,0.78559e-08_rb,0.75538e-08_rb,0.74057e-08_rb /) kbo(:,39, 4) = (/ & & 0.66871e-08_rb,0.66553e-08_rb,0.65003e-08_rb,0.62809e-08_rb,0.60862e-08_rb /) kbo(:,40, 4) = (/ & & 0.58254e-08_rb,0.57657e-08_rb,0.56185e-08_rb,0.54242e-08_rb,0.52135e-08_rb /) kbo(:,41, 4) = (/ & & 0.50967e-08_rb,0.50027e-08_rb,0.48304e-08_rb,0.46813e-08_rb,0.44864e-08_rb /) kbo(:,42, 4) = (/ & & 0.43731e-08_rb,0.43157e-08_rb,0.41432e-08_rb,0.39968e-08_rb,0.38854e-08_rb /) kbo(:,43, 4) = (/ & & 0.37430e-08_rb,0.37088e-08_rb,0.35491e-08_rb,0.34012e-08_rb,0.33022e-08_rb /) kbo(:,44, 4) = (/ & & 0.32207e-08_rb,0.31034e-08_rb,0.30690e-08_rb,0.29015e-08_rb,0.27644e-08_rb /) kbo(:,45, 4) = (/ & & 0.27111e-08_rb,0.25582e-08_rb,0.26092e-08_rb,0.24352e-08_rb,0.23234e-08_rb /) kbo(:,46, 4) = (/ & & 0.22675e-08_rb,0.21455e-08_rb,0.21930e-08_rb,0.20490e-08_rb,0.19277e-08_rb /) kbo(:,47, 4) = (/ & & 0.18722e-08_rb,0.18163e-08_rb,0.18222e-08_rb,0.17256e-08_rb,0.16025e-08_rb /) kbo(:,48, 4) = (/ & & 0.15670e-08_rb,0.15133e-08_rb,0.14751e-08_rb,0.14433e-08_rb,0.13269e-08_rb /) kbo(:,49, 4) = (/ & & 0.12576e-08_rb,0.12106e-08_rb,0.11779e-08_rb,0.11664e-08_rb,0.10722e-08_rb /) kbo(:,50, 4) = (/ & & 0.10308e-08_rb,0.10019e-08_rb,0.98151e-09_rb,0.96758e-09_rb,0.89739e-09_rb /) kbo(:,51, 4) = (/ & & 0.84050e-09_rb,0.85047e-09_rb,0.83131e-09_rb,0.81346e-09_rb,0.77303e-09_rb /) kbo(:,52, 4) = (/ & & 0.67669e-09_rb,0.70190e-09_rb,0.68695e-09_rb,0.66858e-09_rb,0.63719e-09_rb /) kbo(:,53, 4) = (/ & & 0.52755e-09_rb,0.56097e-09_rb,0.54716e-09_rb,0.53877e-09_rb,0.51047e-09_rb /) kbo(:,54, 4) = (/ & & 0.44864e-09_rb,0.48984e-09_rb,0.48831e-09_rb,0.46728e-09_rb,0.45462e-09_rb /) kbo(:,55, 4) = (/ & & 0.40938e-09_rb,0.45501e-09_rb,0.45212e-09_rb,0.43586e-09_rb,0.42245e-09_rb /) kbo(:,56, 4) = (/ & & 0.38293e-09_rb,0.40217e-09_rb,0.41760e-09_rb,0.39645e-09_rb,0.38652e-09_rb /) kbo(:,57, 4) = (/ & & 0.35808e-09_rb,0.34306e-09_rb,0.38440e-09_rb,0.37442e-09_rb,0.33472e-09_rb /) kbo(:,58, 4) = (/ & & 0.33278e-09_rb,0.31839e-09_rb,0.35327e-09_rb,0.33061e-09_rb,0.29093e-09_rb /) kbo(:,59, 4) = (/ & & 0.32589e-09_rb,0.30766e-09_rb,0.30185e-09_rb,0.35182e-09_rb,0.34474e-09_rb /) kbo(:,13, 5) = (/ & & 0.19090e-07_rb,0.19323e-07_rb,0.21491e-07_rb,0.23162e-07_rb,0.23970e-07_rb /) kbo(:,14, 5) = (/ & & 0.37888e-07_rb,0.37108e-07_rb,0.33727e-07_rb,0.34146e-07_rb,0.33930e-07_rb /) kbo(:,15, 5) = (/ & & 0.46395e-07_rb,0.47265e-07_rb,0.48201e-07_rb,0.50512e-07_rb,0.51101e-07_rb /) kbo(:,16, 5) = (/ & & 0.60743e-07_rb,0.64371e-07_rb,0.67862e-07_rb,0.71479e-07_rb,0.74200e-07_rb /) kbo(:,17, 5) = (/ & & 0.79052e-07_rb,0.79011e-07_rb,0.77558e-07_rb,0.75900e-07_rb,0.76450e-07_rb /) kbo(:,18, 5) = (/ & & 0.75325e-07_rb,0.74009e-07_rb,0.72866e-07_rb,0.72803e-07_rb,0.73869e-07_rb /) kbo(:,19, 5) = (/ & & 0.74009e-07_rb,0.74054e-07_rb,0.73970e-07_rb,0.73800e-07_rb,0.75638e-07_rb /) kbo(:,20, 5) = (/ & & 0.73077e-07_rb,0.73306e-07_rb,0.72248e-07_rb,0.73120e-07_rb,0.74630e-07_rb /) kbo(:,21, 5) = (/ & & 0.68928e-07_rb,0.70100e-07_rb,0.69203e-07_rb,0.69478e-07_rb,0.71860e-07_rb /) kbo(:,22, 5) = (/ & & 0.65324e-07_rb,0.66570e-07_rb,0.66457e-07_rb,0.66345e-07_rb,0.68314e-07_rb /) kbo(:,23, 5) = (/ & & 0.62411e-07_rb,0.63996e-07_rb,0.63443e-07_rb,0.63576e-07_rb,0.65766e-07_rb /) kbo(:,24, 5) = (/ & & 0.60058e-07_rb,0.60956e-07_rb,0.60176e-07_rb,0.60222e-07_rb,0.63287e-07_rb /) kbo(:,25, 5) = (/ & & 0.57223e-07_rb,0.58225e-07_rb,0.58348e-07_rb,0.58584e-07_rb,0.61933e-07_rb /) kbo(:,26, 5) = (/ & & 0.55089e-07_rb,0.55723e-07_rb,0.55839e-07_rb,0.56337e-07_rb,0.60335e-07_rb /) kbo(:,27, 5) = (/ & & 0.52294e-07_rb,0.51745e-07_rb,0.52750e-07_rb,0.52701e-07_rb,0.57676e-07_rb /) kbo(:,28, 5) = (/ & & 0.48915e-07_rb,0.48234e-07_rb,0.48708e-07_rb,0.49873e-07_rb,0.54442e-07_rb /) kbo(:,29, 5) = (/ & & 0.43357e-07_rb,0.43230e-07_rb,0.43679e-07_rb,0.47285e-07_rb,0.49519e-07_rb /) kbo(:,30, 5) = (/ & & 0.37379e-07_rb,0.38427e-07_rb,0.39703e-07_rb,0.43492e-07_rb,0.43278e-07_rb /) kbo(:,31, 5) = (/ & & 0.31354e-07_rb,0.32238e-07_rb,0.35376e-07_rb,0.37358e-07_rb,0.37130e-07_rb /) kbo(:,32, 5) = (/ & & 0.26553e-07_rb,0.27801e-07_rb,0.30978e-07_rb,0.30698e-07_rb,0.31234e-07_rb /) kbo(:,33, 5) = (/ & & 0.21542e-07_rb,0.24274e-07_rb,0.24944e-07_rb,0.25194e-07_rb,0.25415e-07_rb /) kbo(:,34, 5) = (/ & & 0.19097e-07_rb,0.20582e-07_rb,0.20324e-07_rb,0.21006e-07_rb,0.20944e-07_rb /) kbo(:,35, 5) = (/ & & 0.16377e-07_rb,0.16881e-07_rb,0.16957e-07_rb,0.16743e-07_rb,0.16958e-07_rb /) kbo(:,36, 5) = (/ & & 0.13727e-07_rb,0.13834e-07_rb,0.13766e-07_rb,0.13776e-07_rb,0.13546e-07_rb /) kbo(:,37, 5) = (/ & & 0.11550e-07_rb,0.11601e-07_rb,0.11757e-07_rb,0.11723e-07_rb,0.11413e-07_rb /) kbo(:,38, 5) = (/ & & 0.98076e-08_rb,0.96320e-08_rb,0.10028e-07_rb,0.98197e-08_rb,0.91408e-08_rb /) kbo(:,39, 5) = (/ & & 0.80861e-08_rb,0.80113e-08_rb,0.81586e-08_rb,0.80121e-08_rb,0.75021e-08_rb /) kbo(:,40, 5) = (/ & & 0.70348e-08_rb,0.69980e-08_rb,0.71058e-08_rb,0.69171e-08_rb,0.64103e-08_rb /) kbo(:,41, 5) = (/ & & 0.61395e-08_rb,0.60379e-08_rb,0.61651e-08_rb,0.59006e-08_rb,0.54433e-08_rb /) kbo(:,42, 5) = (/ & & 0.51740e-08_rb,0.51391e-08_rb,0.53717e-08_rb,0.50506e-08_rb,0.46901e-08_rb /) kbo(:,43, 5) = (/ & & 0.44374e-08_rb,0.44002e-08_rb,0.45405e-08_rb,0.42888e-08_rb,0.39390e-08_rb /) kbo(:,44, 5) = (/ & & 0.36635e-08_rb,0.37555e-08_rb,0.37320e-08_rb,0.35598e-08_rb,0.33280e-08_rb /) kbo(:,45, 5) = (/ & & 0.30833e-08_rb,0.31320e-08_rb,0.30264e-08_rb,0.29827e-08_rb,0.28298e-08_rb /) kbo(:,46, 5) = (/ & & 0.25366e-08_rb,0.26077e-08_rb,0.24905e-08_rb,0.24281e-08_rb,0.22727e-08_rb /) kbo(:,47, 5) = (/ & & 0.20576e-08_rb,0.22029e-08_rb,0.20905e-08_rb,0.21040e-08_rb,0.19027e-08_rb /) kbo(:,48, 5) = (/ & & 0.16047e-08_rb,0.18190e-08_rb,0.17008e-08_rb,0.17298e-08_rb,0.16059e-08_rb /) kbo(:,49, 5) = (/ & & 0.12276e-08_rb,0.14135e-08_rb,0.13565e-08_rb,0.13704e-08_rb,0.13029e-08_rb /) kbo(:,50, 5) = (/ & & 0.98291e-09_rb,0.11837e-08_rb,0.11000e-08_rb,0.11342e-08_rb,0.10621e-08_rb /) kbo(:,51, 5) = (/ & & 0.79374e-09_rb,0.97756e-09_rb,0.90252e-09_rb,0.90527e-09_rb,0.86815e-09_rb /) kbo(:,52, 5) = (/ & & 0.64781e-09_rb,0.78454e-09_rb,0.75690e-09_rb,0.74124e-09_rb,0.73195e-09_rb /) kbo(:,53, 5) = (/ & & 0.51536e-09_rb,0.61158e-09_rb,0.60936e-09_rb,0.59007e-09_rb,0.58458e-09_rb /) kbo(:,54, 5) = (/ & & 0.46178e-09_rb,0.51944e-09_rb,0.52167e-09_rb,0.53965e-09_rb,0.50524e-09_rb /) kbo(:,55, 5) = (/ & & 0.44467e-09_rb,0.42857e-09_rb,0.50799e-09_rb,0.47528e-09_rb,0.43900e-09_rb /) kbo(:,56, 5) = (/ & & 0.39667e-09_rb,0.37862e-09_rb,0.45808e-09_rb,0.43270e-09_rb,0.38817e-09_rb /) kbo(:,57, 5) = (/ & & 0.35926e-09_rb,0.35410e-09_rb,0.38962e-09_rb,0.37502e-09_rb,0.40935e-09_rb /) kbo(:,58, 5) = (/ & & 0.31517e-09_rb,0.32964e-09_rb,0.29323e-09_rb,0.39945e-09_rb,0.40389e-09_rb /) kbo(:,59, 5) = (/ & & 0.36198e-09_rb,0.38633e-09_rb,0.41096e-09_rb,0.53914e-09_rb,0.57631e-09_rb /) kbo(:,13, 6) = (/ & & 0.23095e-07_rb,0.23025e-07_rb,0.25126e-07_rb,0.25618e-07_rb,0.24969e-07_rb /) kbo(:,14, 6) = (/ & & 0.31573e-07_rb,0.32360e-07_rb,0.33220e-07_rb,0.32611e-07_rb,0.32150e-07_rb /) kbo(:,15, 6) = (/ & & 0.45219e-07_rb,0.45787e-07_rb,0.47088e-07_rb,0.49543e-07_rb,0.54072e-07_rb /) kbo(:,16, 6) = (/ & & 0.65293e-07_rb,0.67448e-07_rb,0.64557e-07_rb,0.63976e-07_rb,0.64905e-07_rb /) kbo(:,17, 6) = (/ & & 0.64862e-07_rb,0.63259e-07_rb,0.62851e-07_rb,0.62500e-07_rb,0.63112e-07_rb /) kbo(:,18, 6) = (/ & & 0.61849e-07_rb,0.62108e-07_rb,0.60565e-07_rb,0.60920e-07_rb,0.61810e-07_rb /) kbo(:,19, 6) = (/ & & 0.63930e-07_rb,0.63195e-07_rb,0.62478e-07_rb,0.62282e-07_rb,0.62250e-07_rb /) kbo(:,20, 6) = (/ & & 0.60100e-07_rb,0.60269e-07_rb,0.59919e-07_rb,0.57578e-07_rb,0.57933e-07_rb /) kbo(:,21, 6) = (/ & & 0.56465e-07_rb,0.56674e-07_rb,0.56992e-07_rb,0.55969e-07_rb,0.54719e-07_rb /) kbo(:,22, 6) = (/ & & 0.54280e-07_rb,0.53760e-07_rb,0.52615e-07_rb,0.52261e-07_rb,0.51523e-07_rb /) kbo(:,23, 6) = (/ & & 0.49921e-07_rb,0.49472e-07_rb,0.49168e-07_rb,0.47959e-07_rb,0.47449e-07_rb /) kbo(:,24, 6) = (/ & & 0.45803e-07_rb,0.46271e-07_rb,0.46322e-07_rb,0.46536e-07_rb,0.46494e-07_rb /) kbo(:,25, 6) = (/ & & 0.43723e-07_rb,0.44225e-07_rb,0.44324e-07_rb,0.43726e-07_rb,0.43579e-07_rb /) kbo(:,26, 6) = (/ & & 0.41617e-07_rb,0.42588e-07_rb,0.42306e-07_rb,0.41086e-07_rb,0.41943e-07_rb /) kbo(:,27, 6) = (/ & & 0.38855e-07_rb,0.40231e-07_rb,0.39090e-07_rb,0.39461e-07_rb,0.39072e-07_rb /) kbo(:,28, 6) = (/ & & 0.35912e-07_rb,0.36691e-07_rb,0.35670e-07_rb,0.35644e-07_rb,0.38295e-07_rb /) kbo(:,29, 6) = (/ & & 0.33357e-07_rb,0.33134e-07_rb,0.32394e-07_rb,0.32909e-07_rb,0.36234e-07_rb /) kbo(:,30, 6) = (/ & & 0.30529e-07_rb,0.29196e-07_rb,0.29147e-07_rb,0.30292e-07_rb,0.33912e-07_rb /) kbo(:,31, 6) = (/ & & 0.27228e-07_rb,0.27081e-07_rb,0.26630e-07_rb,0.30010e-07_rb,0.28781e-07_rb /) kbo(:,32, 6) = (/ & & 0.24109e-07_rb,0.24388e-07_rb,0.25546e-07_rb,0.26823e-07_rb,0.26681e-07_rb /) kbo(:,33, 6) = (/ & & 0.21402e-07_rb,0.22303e-07_rb,0.24668e-07_rb,0.24556e-07_rb,0.24369e-07_rb /) kbo(:,34, 6) = (/ & & 0.18136e-07_rb,0.20944e-07_rb,0.21211e-07_rb,0.21286e-07_rb,0.21648e-07_rb /) kbo(:,35, 6) = (/ & & 0.16306e-07_rb,0.17531e-07_rb,0.17744e-07_rb,0.18061e-07_rb,0.18282e-07_rb /) kbo(:,36, 6) = (/ & & 0.13873e-07_rb,0.14963e-07_rb,0.15398e-07_rb,0.15527e-07_rb,0.15391e-07_rb /) kbo(:,37, 6) = (/ & & 0.11948e-07_rb,0.12614e-07_rb,0.12946e-07_rb,0.12916e-07_rb,0.13085e-07_rb /) kbo(:,38, 6) = (/ & & 0.98235e-08_rb,0.10612e-07_rb,0.10029e-07_rb,0.10618e-07_rb,0.10860e-07_rb /) kbo(:,39, 6) = (/ & & 0.81514e-08_rb,0.84716e-08_rb,0.81123e-08_rb,0.83644e-08_rb,0.81668e-08_rb /) kbo(:,40, 6) = (/ & & 0.68179e-08_rb,0.69030e-08_rb,0.69393e-08_rb,0.69969e-08_rb,0.71027e-08_rb /) kbo(:,41, 6) = (/ & & 0.59350e-08_rb,0.60668e-08_rb,0.59026e-08_rb,0.60181e-08_rb,0.60779e-08_rb /) kbo(:,42, 6) = (/ & & 0.51181e-08_rb,0.52127e-08_rb,0.48788e-08_rb,0.51397e-08_rb,0.50230e-08_rb /) kbo(:,43, 6) = (/ & & 0.42653e-08_rb,0.44600e-08_rb,0.41100e-08_rb,0.44735e-08_rb,0.42607e-08_rb /) kbo(:,44, 6) = (/ & & 0.34724e-08_rb,0.37628e-08_rb,0.35340e-08_rb,0.38309e-08_rb,0.36188e-08_rb /) kbo(:,45, 6) = (/ & & 0.27994e-08_rb,0.31690e-08_rb,0.28599e-08_rb,0.30290e-08_rb,0.27730e-08_rb /) kbo(:,46, 6) = (/ & & 0.22089e-08_rb,0.25761e-08_rb,0.23856e-08_rb,0.24874e-08_rb,0.23603e-08_rb /) kbo(:,47, 6) = (/ & & 0.18078e-08_rb,0.20304e-08_rb,0.19457e-08_rb,0.19366e-08_rb,0.19286e-08_rb /) kbo(:,48, 6) = (/ & & 0.14716e-08_rb,0.15703e-08_rb,0.17393e-08_rb,0.14836e-08_rb,0.15316e-08_rb /) kbo(:,49, 6) = (/ & & 0.11334e-08_rb,0.12901e-08_rb,0.13556e-08_rb,0.11610e-08_rb,0.11617e-08_rb /) kbo(:,50, 6) = (/ & & 0.90881e-09_rb,0.10323e-08_rb,0.11378e-08_rb,0.95509e-09_rb,0.96291e-09_rb /) kbo(:,51, 6) = (/ & & 0.76751e-09_rb,0.81710e-09_rb,0.97432e-09_rb,0.82408e-09_rb,0.81205e-09_rb /) kbo(:,52, 6) = (/ & & 0.62668e-09_rb,0.66223e-09_rb,0.76870e-09_rb,0.68347e-09_rb,0.65771e-09_rb /) kbo(:,53, 6) = (/ & & 0.50547e-09_rb,0.49991e-09_rb,0.61494e-09_rb,0.55640e-09_rb,0.52803e-09_rb /) kbo(:,54, 6) = (/ & & 0.42841e-09_rb,0.42678e-09_rb,0.51796e-09_rb,0.46340e-09_rb,0.44830e-09_rb /) kbo(:,55, 6) = (/ & & 0.40234e-09_rb,0.40065e-09_rb,0.45944e-09_rb,0.42252e-09_rb,0.44365e-09_rb /) kbo(:,56, 6) = (/ & & 0.36764e-09_rb,0.35937e-09_rb,0.36570e-09_rb,0.44631e-09_rb,0.45684e-09_rb /) kbo(:,57, 6) = (/ & & 0.33321e-09_rb,0.29808e-09_rb,0.31056e-09_rb,0.44585e-09_rb,0.41122e-09_rb /) kbo(:,58, 6) = (/ & & 0.31198e-09_rb,0.29542e-09_rb,0.33327e-09_rb,0.43871e-09_rb,0.45291e-09_rb /) kbo(:,59, 6) = (/ & & 0.38710e-09_rb,0.42412e-09_rb,0.44197e-09_rb,0.49964e-09_rb,0.70387e-09_rb /) kbo(:,13, 7) = (/ & & 0.30377e-07_rb,0.31586e-07_rb,0.27647e-07_rb,0.27937e-07_rb,0.28036e-07_rb /) kbo(:,14, 7) = (/ & & 0.37766e-07_rb,0.39819e-07_rb,0.39822e-07_rb,0.40069e-07_rb,0.42091e-07_rb /) kbo(:,15, 7) = (/ & & 0.57996e-07_rb,0.64474e-07_rb,0.69368e-07_rb,0.70909e-07_rb,0.70748e-07_rb /) kbo(:,16, 7) = (/ & & 0.73220e-07_rb,0.70124e-07_rb,0.69135e-07_rb,0.68058e-07_rb,0.66524e-07_rb /) kbo(:,17, 7) = (/ & & 0.66529e-07_rb,0.66306e-07_rb,0.63797e-07_rb,0.63551e-07_rb,0.63462e-07_rb /) kbo(:,18, 7) = (/ & & 0.66492e-07_rb,0.65156e-07_rb,0.66323e-07_rb,0.64485e-07_rb,0.63285e-07_rb /) kbo(:,19, 7) = (/ & & 0.62980e-07_rb,0.62900e-07_rb,0.62718e-07_rb,0.61114e-07_rb,0.59765e-07_rb /) kbo(:,20, 7) = (/ & & 0.59754e-07_rb,0.58066e-07_rb,0.59540e-07_rb,0.58926e-07_rb,0.57835e-07_rb /) kbo(:,21, 7) = (/ & & 0.57368e-07_rb,0.55161e-07_rb,0.55685e-07_rb,0.55360e-07_rb,0.53982e-07_rb /) kbo(:,22, 7) = (/ & & 0.51435e-07_rb,0.49998e-07_rb,0.50952e-07_rb,0.50442e-07_rb,0.49717e-07_rb /) kbo(:,23, 7) = (/ & & 0.47663e-07_rb,0.46845e-07_rb,0.47849e-07_rb,0.48876e-07_rb,0.48885e-07_rb /) kbo(:,24, 7) = (/ & & 0.47926e-07_rb,0.45619e-07_rb,0.45793e-07_rb,0.46467e-07_rb,0.45938e-07_rb /) kbo(:,25, 7) = (/ & & 0.44687e-07_rb,0.43904e-07_rb,0.44284e-07_rb,0.44176e-07_rb,0.45520e-07_rb /) kbo(:,26, 7) = (/ & & 0.42751e-07_rb,0.41938e-07_rb,0.42889e-07_rb,0.42927e-07_rb,0.43868e-07_rb /) kbo(:,27, 7) = (/ & & 0.40180e-07_rb,0.40529e-07_rb,0.40621e-07_rb,0.40949e-07_rb,0.41005e-07_rb /) kbo(:,28, 7) = (/ & & 0.35890e-07_rb,0.36716e-07_rb,0.37875e-07_rb,0.38308e-07_rb,0.37626e-07_rb /) kbo(:,29, 7) = (/ & & 0.31499e-07_rb,0.33284e-07_rb,0.32725e-07_rb,0.32493e-07_rb,0.35018e-07_rb /) kbo(:,30, 7) = (/ & & 0.29364e-07_rb,0.28675e-07_rb,0.28942e-07_rb,0.28761e-07_rb,0.33960e-07_rb /) kbo(:,31, 7) = (/ & & 0.25558e-07_rb,0.23679e-07_rb,0.24292e-07_rb,0.26053e-07_rb,0.29211e-07_rb /) kbo(:,32, 7) = (/ & & 0.20860e-07_rb,0.21491e-07_rb,0.20910e-07_rb,0.25598e-07_rb,0.24209e-07_rb /) kbo(:,33, 7) = (/ & & 0.18874e-07_rb,0.18554e-07_rb,0.21206e-07_rb,0.20708e-07_rb,0.21100e-07_rb /) kbo(:,34, 7) = (/ & & 0.18632e-07_rb,0.18625e-07_rb,0.20707e-07_rb,0.19570e-07_rb,0.18956e-07_rb /) kbo(:,35, 7) = (/ & & 0.15958e-07_rb,0.19141e-07_rb,0.19004e-07_rb,0.19249e-07_rb,0.17793e-07_rb /) kbo(:,36, 7) = (/ & & 0.14552e-07_rb,0.16561e-07_rb,0.16607e-07_rb,0.16784e-07_rb,0.16326e-07_rb /) kbo(:,37, 7) = (/ & & 0.13127e-07_rb,0.14300e-07_rb,0.14021e-07_rb,0.14385e-07_rb,0.13328e-07_rb /) kbo(:,38, 7) = (/ & & 0.11514e-07_rb,0.12356e-07_rb,0.12677e-07_rb,0.12181e-07_rb,0.11774e-07_rb /) kbo(:,39, 7) = (/ & & 0.93434e-08_rb,0.10196e-07_rb,0.10605e-07_rb,0.10201e-07_rb,0.10584e-07_rb /) kbo(:,40, 7) = (/ & & 0.81790e-08_rb,0.89000e-08_rb,0.85315e-08_rb,0.89663e-08_rb,0.91635e-08_rb /) kbo(:,41, 7) = (/ & & 0.65541e-08_rb,0.74884e-08_rb,0.72364e-08_rb,0.72692e-08_rb,0.75649e-08_rb /) kbo(:,42, 7) = (/ & & 0.54665e-08_rb,0.61796e-08_rb,0.61564e-08_rb,0.61304e-08_rb,0.64285e-08_rb /) kbo(:,43, 7) = (/ & & 0.43531e-08_rb,0.47798e-08_rb,0.51393e-08_rb,0.49135e-08_rb,0.53520e-08_rb /) kbo(:,44, 7) = (/ & & 0.35872e-08_rb,0.38233e-08_rb,0.42659e-08_rb,0.39384e-08_rb,0.44541e-08_rb /) kbo(:,45, 7) = (/ & & 0.28156e-08_rb,0.32775e-08_rb,0.36262e-08_rb,0.32518e-08_rb,0.36805e-08_rb /) kbo(:,46, 7) = (/ & & 0.23879e-08_rb,0.26299e-08_rb,0.28972e-08_rb,0.27379e-08_rb,0.30333e-08_rb /) kbo(:,47, 7) = (/ & & 0.19282e-08_rb,0.22066e-08_rb,0.23812e-08_rb,0.23512e-08_rb,0.23794e-08_rb /) kbo(:,48, 7) = (/ & & 0.15092e-08_rb,0.18255e-08_rb,0.17414e-08_rb,0.19322e-08_rb,0.19399e-08_rb /) kbo(:,49, 7) = (/ & & 0.11905e-08_rb,0.13964e-08_rb,0.14306e-08_rb,0.14791e-08_rb,0.14939e-08_rb /) kbo(:,50, 7) = (/ & & 0.98537e-09_rb,0.10687e-08_rb,0.11753e-08_rb,0.11334e-08_rb,0.13178e-08_rb /) kbo(:,51, 7) = (/ & & 0.84255e-09_rb,0.88069e-09_rb,0.95073e-09_rb,0.92632e-09_rb,0.10457e-08_rb /) kbo(:,52, 7) = (/ & & 0.68238e-09_rb,0.70376e-09_rb,0.74795e-09_rb,0.75152e-09_rb,0.78131e-09_rb /) kbo(:,53, 7) = (/ & & 0.56271e-09_rb,0.58527e-09_rb,0.61397e-09_rb,0.56343e-09_rb,0.61138e-09_rb /) kbo(:,54, 7) = (/ & & 0.52493e-09_rb,0.46040e-09_rb,0.53769e-09_rb,0.51459e-09_rb,0.52912e-09_rb /) kbo(:,55, 7) = (/ & & 0.40372e-09_rb,0.38720e-09_rb,0.40004e-09_rb,0.56294e-09_rb,0.55844e-09_rb /) kbo(:,56, 7) = (/ & & 0.37372e-09_rb,0.35358e-09_rb,0.39920e-09_rb,0.52819e-09_rb,0.50147e-09_rb /) kbo(:,57, 7) = (/ & & 0.31149e-09_rb,0.39454e-09_rb,0.38951e-09_rb,0.52086e-09_rb,0.54542e-09_rb /) kbo(:,58, 7) = (/ & & 0.30564e-09_rb,0.36251e-09_rb,0.38551e-09_rb,0.43845e-09_rb,0.61772e-09_rb /) kbo(:,59, 7) = (/ & & 0.46934e-09_rb,0.57639e-09_rb,0.58591e-09_rb,0.63021e-09_rb,0.71158e-09_rb /) kbo(:,13, 8) = (/ & & 0.34320e-07_rb,0.31607e-07_rb,0.29840e-07_rb,0.29114e-07_rb,0.28831e-07_rb /) kbo(:,14, 8) = (/ & & 0.38157e-07_rb,0.37907e-07_rb,0.40351e-07_rb,0.45015e-07_rb,0.44786e-07_rb /) kbo(:,15, 8) = (/ & & 0.71231e-07_rb,0.71647e-07_rb,0.71034e-07_rb,0.71647e-07_rb,0.71755e-07_rb /) kbo(:,16, 8) = (/ & & 0.72049e-07_rb,0.69075e-07_rb,0.67707e-07_rb,0.67019e-07_rb,0.66780e-07_rb /) kbo(:,17, 8) = (/ & & 0.69751e-07_rb,0.66211e-07_rb,0.66017e-07_rb,0.63095e-07_rb,0.63343e-07_rb /) kbo(:,18, 8) = (/ & & 0.67728e-07_rb,0.66581e-07_rb,0.64787e-07_rb,0.62981e-07_rb,0.62245e-07_rb /) kbo(:,19, 8) = (/ & & 0.65864e-07_rb,0.63789e-07_rb,0.62712e-07_rb,0.62065e-07_rb,0.61005e-07_rb /) kbo(:,20, 8) = (/ & & 0.61816e-07_rb,0.63755e-07_rb,0.63424e-07_rb,0.61945e-07_rb,0.58720e-07_rb /) kbo(:,21, 8) = (/ & & 0.59112e-07_rb,0.58061e-07_rb,0.57019e-07_rb,0.54795e-07_rb,0.56069e-07_rb /) kbo(:,22, 8) = (/ & & 0.56217e-07_rb,0.53887e-07_rb,0.54812e-07_rb,0.52500e-07_rb,0.53303e-07_rb /) kbo(:,23, 8) = (/ & & 0.54428e-07_rb,0.52930e-07_rb,0.53278e-07_rb,0.52797e-07_rb,0.51840e-07_rb /) kbo(:,24, 8) = (/ & & 0.51236e-07_rb,0.52532e-07_rb,0.53348e-07_rb,0.51715e-07_rb,0.53224e-07_rb /) kbo(:,25, 8) = (/ & & 0.49989e-07_rb,0.50872e-07_rb,0.49932e-07_rb,0.52702e-07_rb,0.51493e-07_rb /) kbo(:,26, 8) = (/ & & 0.49845e-07_rb,0.48733e-07_rb,0.48348e-07_rb,0.51346e-07_rb,0.51109e-07_rb /) kbo(:,27, 8) = (/ & & 0.43883e-07_rb,0.43853e-07_rb,0.46523e-07_rb,0.47281e-07_rb,0.47292e-07_rb /) kbo(:,28, 8) = (/ & & 0.41424e-07_rb,0.42057e-07_rb,0.43773e-07_rb,0.43422e-07_rb,0.41438e-07_rb /) kbo(:,29, 8) = (/ & & 0.37736e-07_rb,0.34915e-07_rb,0.37971e-07_rb,0.38437e-07_rb,0.38122e-07_rb /) kbo(:,30, 8) = (/ & & 0.30209e-07_rb,0.32936e-07_rb,0.31853e-07_rb,0.30285e-07_rb,0.31746e-07_rb /) kbo(:,31, 8) = (/ & & 0.25886e-07_rb,0.26990e-07_rb,0.27039e-07_rb,0.26019e-07_rb,0.34246e-07_rb /) kbo(:,32, 8) = (/ & & 0.24750e-07_rb,0.20653e-07_rb,0.21921e-07_rb,0.25087e-07_rb,0.25874e-07_rb /) kbo(:,33, 8) = (/ & & 0.19410e-07_rb,0.18820e-07_rb,0.18768e-07_rb,0.23223e-07_rb,0.20942e-07_rb /) kbo(:,34, 8) = (/ & & 0.16037e-07_rb,0.16060e-07_rb,0.19012e-07_rb,0.17686e-07_rb,0.18319e-07_rb /) kbo(:,35, 8) = (/ & & 0.16085e-07_rb,0.15072e-07_rb,0.16472e-07_rb,0.15719e-07_rb,0.16406e-07_rb /) kbo(:,36, 8) = (/ & & 0.15014e-07_rb,0.17144e-07_rb,0.16353e-07_rb,0.15223e-07_rb,0.14884e-07_rb /) kbo(:,37, 8) = (/ & & 0.12909e-07_rb,0.15628e-07_rb,0.16086e-07_rb,0.15318e-07_rb,0.15605e-07_rb /) kbo(:,38, 8) = (/ & & 0.11803e-07_rb,0.12970e-07_rb,0.13587e-07_rb,0.13257e-07_rb,0.13920e-07_rb /) kbo(:,39, 8) = (/ & & 0.10299e-07_rb,0.10951e-07_rb,0.11006e-07_rb,0.11507e-07_rb,0.10553e-07_rb /) kbo(:,40, 8) = (/ & & 0.87605e-08_rb,0.10094e-07_rb,0.10641e-07_rb,0.94199e-08_rb,0.97115e-08_rb /) kbo(:,41, 8) = (/ & & 0.69747e-08_rb,0.82105e-08_rb,0.93516e-08_rb,0.90234e-08_rb,0.91657e-08_rb /) kbo(:,42, 8) = (/ & & 0.60201e-08_rb,0.73523e-08_rb,0.76249e-08_rb,0.76962e-08_rb,0.80489e-08_rb /) kbo(:,43, 8) = (/ & & 0.50249e-08_rb,0.64035e-08_rb,0.62997e-08_rb,0.63745e-08_rb,0.65773e-08_rb /) kbo(:,44, 8) = (/ & & 0.43021e-08_rb,0.55682e-08_rb,0.52391e-08_rb,0.55432e-08_rb,0.53417e-08_rb /) kbo(:,45, 8) = (/ & & 0.34659e-08_rb,0.41011e-08_rb,0.41998e-08_rb,0.45328e-08_rb,0.45452e-08_rb /) kbo(:,46, 8) = (/ & & 0.26629e-08_rb,0.30573e-08_rb,0.34050e-08_rb,0.36018e-08_rb,0.38146e-08_rb /) kbo(:,47, 8) = (/ & & 0.20352e-08_rb,0.25120e-08_rb,0.29668e-08_rb,0.27818e-08_rb,0.34015e-08_rb /) kbo(:,48, 8) = (/ & & 0.16537e-08_rb,0.17568e-08_rb,0.23894e-08_rb,0.22154e-08_rb,0.25802e-08_rb /) kbo(:,49, 8) = (/ & & 0.13981e-08_rb,0.14349e-08_rb,0.17246e-08_rb,0.17767e-08_rb,0.19090e-08_rb /) kbo(:,50, 8) = (/ & & 0.10918e-08_rb,0.11356e-08_rb,0.12258e-08_rb,0.14996e-08_rb,0.12493e-08_rb /) kbo(:,51, 8) = (/ & & 0.96204e-09_rb,0.88786e-09_rb,0.10061e-08_rb,0.12415e-08_rb,0.10774e-08_rb /) kbo(:,52, 8) = (/ & & 0.79848e-09_rb,0.70289e-09_rb,0.84515e-09_rb,0.10143e-08_rb,0.85552e-09_rb /) kbo(:,53, 8) = (/ & & 0.60435e-09_rb,0.54746e-09_rb,0.63806e-09_rb,0.74615e-09_rb,0.64507e-09_rb /) kbo(:,54, 8) = (/ & & 0.47378e-09_rb,0.48059e-09_rb,0.54886e-09_rb,0.73215e-09_rb,0.65721e-09_rb /) kbo(:,55, 8) = (/ & & 0.45346e-09_rb,0.46291e-09_rb,0.55380e-09_rb,0.67829e-09_rb,0.56756e-09_rb /) kbo(:,56, 8) = (/ & & 0.43938e-09_rb,0.46043e-09_rb,0.50980e-09_rb,0.62685e-09_rb,0.70094e-09_rb /) kbo(:,57, 8) = (/ & & 0.42587e-09_rb,0.43184e-09_rb,0.47819e-09_rb,0.57152e-09_rb,0.76528e-09_rb /) kbo(:,58, 8) = (/ & & 0.47403e-09_rb,0.46387e-09_rb,0.50904e-09_rb,0.58886e-09_rb,0.70162e-09_rb /) kbo(:,59, 8) = (/ & & 0.54448e-09_rb,0.50172e-09_rb,0.65155e-09_rb,0.65748e-09_rb,0.98321e-09_rb /) kbo(:,13, 9) = (/ & & 0.10995e-05_rb,0.11095e-05_rb,0.11168e-05_rb,0.11200e-05_rb,0.11274e-05_rb /) kbo(:,14, 9) = (/ & & 0.73340e-06_rb,0.73567e-06_rb,0.73740e-06_rb,0.73330e-06_rb,0.73919e-06_rb /) kbo(:,15, 9) = (/ & & 0.32510e-06_rb,0.31252e-06_rb,0.30243e-06_rb,0.29146e-06_rb,0.28830e-06_rb /) kbo(:,16, 9) = (/ & & 0.61567e-07_rb,0.60590e-07_rb,0.61057e-07_rb,0.58821e-07_rb,0.58536e-07_rb /) kbo(:,17, 9) = (/ & & 0.60009e-07_rb,0.60924e-07_rb,0.61205e-07_rb,0.63591e-07_rb,0.59950e-07_rb /) kbo(:,18, 9) = (/ & & 0.61458e-07_rb,0.61692e-07_rb,0.60339e-07_rb,0.59878e-07_rb,0.58575e-07_rb /) kbo(:,19, 9) = (/ & & 0.57878e-07_rb,0.60299e-07_rb,0.60236e-07_rb,0.59512e-07_rb,0.58126e-07_rb /) kbo(:,20, 9) = (/ & & 0.58329e-07_rb,0.57451e-07_rb,0.54760e-07_rb,0.57082e-07_rb,0.56805e-07_rb /) kbo(:,21, 9) = (/ & & 0.53092e-07_rb,0.51700e-07_rb,0.51833e-07_rb,0.52853e-07_rb,0.52467e-07_rb /) kbo(:,22, 9) = (/ & & 0.47591e-07_rb,0.51357e-07_rb,0.49075e-07_rb,0.53548e-07_rb,0.55924e-07_rb /) kbo(:,23, 9) = (/ & & 0.49724e-07_rb,0.51803e-07_rb,0.51793e-07_rb,0.49922e-07_rb,0.52665e-07_rb /) kbo(:,24, 9) = (/ & & 0.47737e-07_rb,0.49279e-07_rb,0.51207e-07_rb,0.49000e-07_rb,0.51613e-07_rb /) kbo(:,25, 9) = (/ & & 0.49014e-07_rb,0.50174e-07_rb,0.54886e-07_rb,0.47520e-07_rb,0.49798e-07_rb /) kbo(:,26, 9) = (/ & & 0.42783e-07_rb,0.51200e-07_rb,0.50600e-07_rb,0.47620e-07_rb,0.43709e-07_rb /) kbo(:,27, 9) = (/ & & 0.42685e-07_rb,0.50611e-07_rb,0.42800e-07_rb,0.43026e-07_rb,0.46518e-07_rb /) kbo(:,28, 9) = (/ & & 0.40023e-07_rb,0.44433e-07_rb,0.38380e-07_rb,0.40945e-07_rb,0.42005e-07_rb /) kbo(:,29, 9) = (/ & & 0.34641e-07_rb,0.38943e-07_rb,0.36153e-07_rb,0.36773e-07_rb,0.32051e-07_rb /) kbo(:,30, 9) = (/ & & 0.31936e-07_rb,0.28774e-07_rb,0.32629e-07_rb,0.32074e-07_rb,0.31547e-07_rb /) kbo(:,31, 9) = (/ & & 0.25468e-07_rb,0.25946e-07_rb,0.23671e-07_rb,0.23770e-07_rb,0.28704e-07_rb /) kbo(:,32, 9) = (/ & & 0.18317e-07_rb,0.22069e-07_rb,0.20055e-07_rb,0.21665e-07_rb,0.25653e-07_rb /) kbo(:,33, 9) = (/ & & 0.18319e-07_rb,0.17920e-07_rb,0.16523e-07_rb,0.20049e-07_rb,0.19951e-07_rb /) kbo(:,34, 9) = (/ & & 0.15127e-07_rb,0.13546e-07_rb,0.16257e-07_rb,0.16818e-07_rb,0.15661e-07_rb /) kbo(:,35, 9) = (/ & & 0.12192e-07_rb,0.13829e-07_rb,0.15792e-07_rb,0.15440e-07_rb,0.14596e-07_rb /) kbo(:,36, 9) = (/ & & 0.11593e-07_rb,0.10509e-07_rb,0.13211e-07_rb,0.13026e-07_rb,0.13917e-07_rb /) kbo(:,37, 9) = (/ & & 0.12302e-07_rb,0.13196e-07_rb,0.12558e-07_rb,0.11760e-07_rb,0.12490e-07_rb /) kbo(:,38, 9) = (/ & & 0.10116e-07_rb,0.12498e-07_rb,0.12546e-07_rb,0.12890e-07_rb,0.12908e-07_rb /) kbo(:,39, 9) = (/ & & 0.88258e-08_rb,0.10400e-07_rb,0.11293e-07_rb,0.11361e-07_rb,0.11468e-07_rb /) kbo(:,40, 9) = (/ & & 0.70753e-08_rb,0.81481e-08_rb,0.94292e-08_rb,0.10943e-07_rb,0.90300e-08_rb /) kbo(:,41, 9) = (/ & & 0.71994e-08_rb,0.84394e-08_rb,0.89108e-08_rb,0.89407e-08_rb,0.87875e-08_rb /) kbo(:,42, 9) = (/ & & 0.55536e-08_rb,0.66846e-08_rb,0.83965e-08_rb,0.80560e-08_rb,0.79305e-08_rb /) kbo(:,43, 9) = (/ & & 0.50223e-08_rb,0.59958e-08_rb,0.69583e-08_rb,0.70648e-08_rb,0.76990e-08_rb /) kbo(:,44, 9) = (/ & & 0.40990e-08_rb,0.43884e-08_rb,0.50706e-08_rb,0.56081e-08_rb,0.62414e-08_rb /) kbo(:,45, 9) = (/ & & 0.35590e-08_rb,0.38731e-08_rb,0.41923e-08_rb,0.44278e-08_rb,0.44950e-08_rb /) kbo(:,46, 9) = (/ & & 0.26814e-08_rb,0.33691e-08_rb,0.34101e-08_rb,0.34324e-08_rb,0.35321e-08_rb /) kbo(:,47, 9) = (/ & & 0.21424e-08_rb,0.21249e-08_rb,0.27532e-08_rb,0.28475e-08_rb,0.25748e-08_rb /) kbo(:,48, 9) = (/ & & 0.16514e-08_rb,0.18931e-08_rb,0.22507e-08_rb,0.22575e-08_rb,0.21238e-08_rb /) kbo(:,49, 9) = (/ & & 0.12235e-08_rb,0.12503e-08_rb,0.16643e-08_rb,0.16742e-08_rb,0.16438e-08_rb /) kbo(:,50, 9) = (/ & & 0.11340e-08_rb,0.11248e-08_rb,0.13120e-08_rb,0.13854e-08_rb,0.13503e-08_rb /) kbo(:,51, 9) = (/ & & 0.79176e-09_rb,0.91681e-09_rb,0.99908e-09_rb,0.13532e-08_rb,0.10405e-08_rb /) kbo(:,52, 9) = (/ & & 0.64785e-09_rb,0.57185e-09_rb,0.84784e-09_rb,0.90912e-09_rb,0.87721e-09_rb /) kbo(:,53, 9) = (/ & & 0.51330e-09_rb,0.43209e-09_rb,0.61659e-09_rb,0.79798e-09_rb,0.65017e-09_rb /) kbo(:,54, 9) = (/ & & 0.40227e-09_rb,0.45562e-09_rb,0.54691e-09_rb,0.63160e-09_rb,0.62902e-09_rb /) kbo(:,55, 9) = (/ & & 0.44280e-09_rb,0.43833e-09_rb,0.48132e-09_rb,0.55748e-09_rb,0.72672e-09_rb /) kbo(:,56, 9) = (/ & & 0.33767e-09_rb,0.43448e-09_rb,0.42774e-09_rb,0.52401e-09_rb,0.66273e-09_rb /) kbo(:,57, 9) = (/ & & 0.40113e-09_rb,0.38794e-09_rb,0.46286e-09_rb,0.57261e-09_rb,0.60773e-09_rb /) kbo(:,58, 9) = (/ & & 0.36624e-09_rb,0.52965e-09_rb,0.49530e-09_rb,0.54114e-09_rb,0.65708e-09_rb /) kbo(:,59, 9) = (/ & & 0.52598e-09_rb,0.55940e-09_rb,0.70094e-09_rb,0.71749e-09_rb,0.81086e-09_rb /) kbo(:,13,10) = (/ & & 0.75197e-05_rb,0.74908e-05_rb,0.74768e-05_rb,0.74579e-05_rb,0.74485e-05_rb /) kbo(:,14,10) = (/ & & 0.62427e-05_rb,0.62400e-05_rb,0.62314e-05_rb,0.62357e-05_rb,0.62230e-05_rb /) kbo(:,15,10) = (/ & & 0.51235e-05_rb,0.51220e-05_rb,0.51270e-05_rb,0.51388e-05_rb,0.51377e-05_rb /) kbo(:,16,10) = (/ & & 0.36653e-05_rb,0.36812e-05_rb,0.36844e-05_rb,0.36893e-05_rb,0.37175e-05_rb /) kbo(:,17,10) = (/ & & 0.10067e-05_rb,0.10571e-05_rb,0.10948e-05_rb,0.11331e-05_rb,0.11791e-05_rb /) kbo(:,18,10) = (/ & & 0.37963e-07_rb,0.35028e-07_rb,0.38085e-07_rb,0.36252e-07_rb,0.39741e-07_rb /) kbo(:,19,10) = (/ & & 0.58861e-07_rb,0.39909e-07_rb,0.43872e-07_rb,0.52963e-07_rb,0.37762e-07_rb /) kbo(:,20,10) = (/ & & 0.65438e-07_rb,0.43429e-07_rb,0.52709e-07_rb,0.35811e-07_rb,0.59833e-07_rb /) kbo(:,21,10) = (/ & & 0.50452e-07_rb,0.50995e-07_rb,0.40371e-07_rb,0.51145e-07_rb,0.52725e-07_rb /) kbo(:,22,10) = (/ & & 0.42139e-07_rb,0.45011e-07_rb,0.61867e-07_rb,0.41292e-07_rb,0.37916e-07_rb /) kbo(:,23,10) = (/ & & 0.30176e-07_rb,0.29856e-07_rb,0.39637e-07_rb,0.38957e-07_rb,0.64896e-07_rb /) kbo(:,24,10) = (/ & & 0.36010e-07_rb,0.42155e-07_rb,0.32787e-07_rb,0.46750e-07_rb,0.46940e-07_rb /) kbo(:,25,10) = (/ & & 0.34802e-07_rb,0.41607e-07_rb,0.40854e-07_rb,0.61643e-07_rb,0.53762e-07_rb /) kbo(:,26,10) = (/ & & 0.41295e-07_rb,0.39697e-07_rb,0.46005e-07_rb,0.46334e-07_rb,0.53334e-07_rb /) kbo(:,27,10) = (/ & & 0.61711e-07_rb,0.29641e-07_rb,0.51823e-07_rb,0.42625e-07_rb,0.36336e-07_rb /) kbo(:,28,10) = (/ & & 0.45196e-07_rb,0.56637e-07_rb,0.31716e-07_rb,0.38569e-07_rb,0.45693e-07_rb /) kbo(:,29,10) = (/ & & 0.47349e-07_rb,0.38492e-07_rb,0.26330e-07_rb,0.30953e-07_rb,0.33330e-07_rb /) kbo(:,30,10) = (/ & & 0.20700e-07_rb,0.24999e-07_rb,0.19626e-07_rb,0.33645e-07_rb,0.21883e-07_rb /) kbo(:,31,10) = (/ & & 0.31879e-07_rb,0.26245e-07_rb,0.28697e-07_rb,0.26867e-07_rb,0.26801e-07_rb /) kbo(:,32,10) = (/ & & 0.29616e-07_rb,0.18927e-07_rb,0.18903e-07_rb,0.14917e-07_rb,0.25602e-07_rb /) kbo(:,33,10) = (/ & & 0.22437e-07_rb,0.26260e-07_rb,0.17262e-07_rb,0.13354e-07_rb,0.18413e-07_rb /) kbo(:,34,10) = (/ & & 0.15957e-07_rb,0.11226e-07_rb,0.16852e-07_rb,0.11987e-07_rb,0.14358e-07_rb /) kbo(:,35,10) = (/ & & 0.11233e-07_rb,0.90736e-08_rb,0.13960e-07_rb,0.76472e-08_rb,0.11733e-07_rb /) kbo(:,36,10) = (/ & & 0.13919e-07_rb,0.10081e-07_rb,0.10035e-07_rb,0.10345e-07_rb,0.10622e-07_rb /) kbo(:,37,10) = (/ & & 0.76780e-08_rb,0.12331e-07_rb,0.10794e-07_rb,0.16023e-07_rb,0.11524e-07_rb /) kbo(:,38,10) = (/ & & 0.65416e-08_rb,0.97484e-08_rb,0.12132e-07_rb,0.10472e-07_rb,0.11363e-07_rb /) kbo(:,39,10) = (/ & & 0.78511e-08_rb,0.70392e-08_rb,0.91444e-08_rb,0.84352e-08_rb,0.95946e-08_rb /) kbo(:,40,10) = (/ & & 0.81878e-08_rb,0.94957e-08_rb,0.84996e-08_rb,0.11246e-07_rb,0.13024e-07_rb /) kbo(:,41,10) = (/ & & 0.65901e-08_rb,0.80717e-08_rb,0.78357e-08_rb,0.67309e-08_rb,0.85966e-08_rb /) kbo(:,42,10) = (/ & & 0.64210e-08_rb,0.59979e-08_rb,0.56936e-08_rb,0.70018e-08_rb,0.70433e-08_rb /) kbo(:,43,10) = (/ & & 0.40388e-08_rb,0.71452e-08_rb,0.63548e-08_rb,0.84902e-08_rb,0.75828e-08_rb /) kbo(:,44,10) = (/ & & 0.39142e-08_rb,0.55915e-08_rb,0.49863e-08_rb,0.52254e-08_rb,0.62790e-08_rb /) kbo(:,45,10) = (/ & & 0.42931e-08_rb,0.31608e-08_rb,0.46572e-08_rb,0.47490e-08_rb,0.59912e-08_rb /) kbo(:,46,10) = (/ & & 0.38722e-08_rb,0.16146e-08_rb,0.40010e-08_rb,0.24242e-08_rb,0.45711e-08_rb /) kbo(:,47,10) = (/ & & 0.14942e-08_rb,0.28671e-08_rb,0.27168e-08_rb,0.40090e-08_rb,0.42343e-08_rb /) kbo(:,48,10) = (/ & & 0.11911e-08_rb,0.13582e-08_rb,0.26580e-08_rb,0.29275e-08_rb,0.17855e-08_rb /) kbo(:,49,10) = (/ & & 0.14130e-08_rb,0.10553e-08_rb,0.10543e-08_rb,0.11428e-08_rb,0.14141e-08_rb /) kbo(:,50,10) = (/ & & 0.12182e-08_rb,0.14973e-08_rb,0.13182e-08_rb,0.84197e-09_rb,0.12115e-08_rb /) kbo(:,51,10) = (/ & & 0.81227e-09_rb,0.90496e-09_rb,0.77903e-09_rb,0.83007e-09_rb,0.86051e-09_rb /) kbo(:,52,10) = (/ & & 0.96715e-09_rb,0.52504e-09_rb,0.42702e-09_rb,0.99435e-09_rb,0.91829e-09_rb /) kbo(:,53,10) = (/ & & 0.37232e-09_rb,0.22359e-09_rb,0.89279e-09_rb,0.85173e-09_rb,0.51790e-09_rb /) kbo(:,54,10) = (/ & & 0.34402e-09_rb,0.40116e-09_rb,0.54696e-09_rb,0.50848e-09_rb,0.53123e-09_rb /) kbo(:,55,10) = (/ & & 0.66100e-09_rb,0.65370e-09_rb,0.58427e-09_rb,0.74840e-09_rb,0.49778e-09_rb /) kbo(:,56,10) = (/ & & 0.43138e-09_rb,0.39155e-09_rb,0.52944e-09_rb,0.58374e-09_rb,0.77481e-09_rb /) kbo(:,57,10) = (/ & & 0.48190e-09_rb,0.37726e-09_rb,0.54783e-09_rb,0.43462e-09_rb,0.46295e-09_rb /) kbo(:,58,10) = (/ & & 0.42276e-09_rb,0.62831e-09_rb,0.68493e-09_rb,0.49089e-09_rb,0.43799e-09_rb /) kbo(:,59,10) = (/ & & 0.37023e-09_rb,0.90764e-09_rb,0.36527e-09_rb,0.99235e-09_rb,0.10719e-08_rb /) kbo(:,13,11) = (/ & & 0.15119e-04_rb,0.15135e-04_rb,0.15140e-04_rb,0.15181e-04_rb,0.15209e-04_rb /) kbo(:,14,11) = (/ & & 0.12807e-04_rb,0.12837e-04_rb,0.12873e-04_rb,0.12938e-04_rb,0.12999e-04_rb /) kbo(:,15,11) = (/ & & 0.10789e-04_rb,0.10839e-04_rb,0.10921e-04_rb,0.10986e-04_rb,0.11078e-04_rb /) kbo(:,16,11) = (/ & & 0.90472e-05_rb,0.91077e-05_rb,0.91930e-05_rb,0.92812e-05_rb,0.93959e-05_rb /) kbo(:,17,11) = (/ & & 0.74085e-05_rb,0.75116e-05_rb,0.76103e-05_rb,0.77238e-05_rb,0.78364e-05_rb /) kbo(:,18,11) = (/ & & 0.47863e-05_rb,0.49607e-05_rb,0.51634e-05_rb,0.53824e-05_rb,0.55724e-05_rb /) kbo(:,19,11) = (/ & & 0.17849e-05_rb,0.19797e-05_rb,0.21641e-05_rb,0.23597e-05_rb,0.26015e-05_rb /) kbo(:,20,11) = (/ & & 0.14011e-06_rb,0.26424e-06_rb,0.39902e-06_rb,0.56382e-06_rb,0.75666e-06_rb /) kbo(:,21,11) = (/ & & 0.32681e-07_rb,0.30855e-07_rb,0.23688e-07_rb,0.28954e-07_rb,0.30262e-07_rb /) kbo(:,22,11) = (/ & & 0.39000e-07_rb,0.34641e-07_rb,0.36220e-07_rb,0.29230e-07_rb,0.25365e-07_rb /) kbo(:,23,11) = (/ & & 0.39936e-07_rb,0.40586e-07_rb,0.26460e-07_rb,0.13886e-07_rb,0.18108e-07_rb /) kbo(:,24,11) = (/ & & 0.34546e-07_rb,0.30818e-07_rb,0.33243e-07_rb,0.31408e-07_rb,0.37755e-07_rb /) kbo(:,25,11) = (/ & & 0.36078e-07_rb,0.45586e-07_rb,0.18117e-07_rb,0.20176e-07_rb,0.46256e-07_rb /) kbo(:,26,11) = (/ & & 0.61382e-07_rb,0.31185e-07_rb,0.38578e-07_rb,0.18908e-07_rb,0.43919e-07_rb /) kbo(:,27,11) = (/ & & 0.37585e-07_rb,0.28323e-07_rb,0.45638e-07_rb,0.34261e-07_rb,0.26227e-07_rb /) kbo(:,28,11) = (/ & & 0.41226e-07_rb,0.24793e-07_rb,0.23296e-07_rb,0.20952e-07_rb,0.27899e-07_rb /) kbo(:,29,11) = (/ & & 0.21318e-07_rb,0.23768e-07_rb,0.39220e-07_rb,0.28896e-07_rb,0.15703e-07_rb /) kbo(:,30,11) = (/ & & 0.25522e-07_rb,0.29485e-07_rb,0.39326e-07_rb,0.29293e-07_rb,0.36529e-07_rb /) kbo(:,31,11) = (/ & & 0.14494e-07_rb,0.25417e-07_rb,0.13732e-07_rb,0.97827e-08_rb,0.20014e-07_rb /) kbo(:,32,11) = (/ & & 0.14101e-07_rb,0.26239e-07_rb,0.22312e-07_rb,0.10163e-07_rb,0.17547e-07_rb /) kbo(:,33,11) = (/ & & 0.17347e-07_rb,0.17261e-07_rb,0.13014e-07_rb,0.21130e-07_rb,0.31576e-08_rb /) kbo(:,34,11) = (/ & & 0.11923e-07_rb,0.13818e-07_rb,0.14692e-07_rb,0.14120e-07_rb,0.12000e-07_rb /) kbo(:,35,11) = (/ & & 0.86917e-08_rb,0.10083e-07_rb,0.11872e-07_rb,0.58578e-08_rb,0.13194e-07_rb /) kbo(:,36,11) = (/ & & 0.74538e-08_rb,0.94606e-08_rb,0.85633e-08_rb,0.15394e-07_rb,0.81997e-08_rb /) kbo(:,37,11) = (/ & & 0.59982e-08_rb,0.58805e-08_rb,0.92255e-08_rb,0.69472e-08_rb,0.63632e-08_rb /) kbo(:,38,11) = (/ & & 0.75481e-08_rb,0.82094e-08_rb,0.10405e-07_rb,0.62921e-08_rb,0.70021e-08_rb /) kbo(:,39,11) = (/ & & 0.65770e-08_rb,0.73715e-08_rb,0.70899e-08_rb,0.49884e-08_rb,0.73567e-08_rb /) kbo(:,40,11) = (/ & & 0.62200e-08_rb,0.79227e-08_rb,0.65710e-08_rb,0.35793e-08_rb,0.48653e-08_rb /) kbo(:,41,11) = (/ & & 0.67810e-08_rb,0.64933e-08_rb,0.26651e-08_rb,0.71067e-08_rb,0.42136e-08_rb /) kbo(:,42,11) = (/ & & 0.32351e-08_rb,0.79993e-08_rb,0.25727e-08_rb,0.70581e-08_rb,0.58932e-08_rb /) kbo(:,43,11) = (/ & & 0.54331e-08_rb,0.21653e-08_rb,0.69372e-08_rb,0.30142e-08_rb,0.23071e-07_rb /) kbo(:,44,11) = (/ & & 0.26834e-08_rb,0.43047e-08_rb,0.44246e-08_rb,0.29474e-08_rb,0.52315e-07_rb /) kbo(:,45,11) = (/ & & 0.22521e-08_rb,0.21920e-08_rb,0.35952e-08_rb,0.29799e-08_rb,0.81164e-07_rb /) kbo(:,46,11) = (/ & & 0.28580e-08_rb,0.12605e-08_rb,0.64390e-09_rb,0.24255e-07_rb,0.96879e-07_rb /) kbo(:,47,11) = (/ & & 0.13005e-08_rb,0.17967e-08_rb,0.21618e-08_rb,0.30225e-07_rb,0.10319e-06_rb /) kbo(:,48,11) = (/ & & 0.13676e-08_rb,0.96043e-09_rb,0.14275e-08_rb,0.39735e-07_rb,0.11261e-06_rb /) kbo(:,49,11) = (/ & & 0.79619e-09_rb,0.85338e-09_rb,0.14300e-08_rb,0.51821e-07_rb,0.12169e-06_rb /) kbo(:,50,11) = (/ & & 0.49284e-09_rb,0.21801e-09_rb,0.75017e-08_rb,0.50308e-07_rb,0.11953e-06_rb /) kbo(:,51,11) = (/ & & 0.51956e-09_rb,0.59927e-09_rb,0.87276e-08_rb,0.45028e-07_rb,0.11141e-06_rb /) kbo(:,52,11) = (/ & & 0.35814e-09_rb,0.78982e-09_rb,0.10205e-07_rb,0.45574e-07_rb,0.10332e-06_rb /) kbo(:,53,11) = (/ & & 0.69729e-09_rb,0.23757e-09_rb,0.11741e-07_rb,0.45086e-07_rb,0.98023e-07_rb /) kbo(:,54,11) = (/ & & 0.38203e-09_rb,0.28792e-09_rb,0.72239e-08_rb,0.35770e-07_rb,0.80771e-07_rb /) kbo(:,55,11) = (/ & & 0.33870e-09_rb,0.39698e-09_rb,0.15883e-08_rb,0.22568e-07_rb,0.61465e-07_rb /) kbo(:,56,11) = (/ & & 0.50424e-09_rb,0.25383e-09_rb,0.46226e-09_rb,0.12214e-07_rb,0.43776e-07_rb /) kbo(:,57,11) = (/ & & 0.18824e-09_rb,0.14340e-09_rb,0.96547e-10_rb,0.36771e-08_rb,0.28437e-07_rb /) kbo(:,58,11) = (/ & & 0.53960e-09_rb,0.71198e-09_rb,0.40290e-09_rb,0.38600e-09_rb,0.14449e-07_rb /) kbo(:,59,11) = (/ & & 0.64570e-09_rb,0.80856e-09_rb,0.54439e-09_rb,0.66021e-09_rb,0.28306e-09_rb /) kbo(:,13,12) = (/ & & 0.35137e-04_rb,0.35315e-04_rb,0.35473e-04_rb,0.35691e-04_rb,0.35953e-04_rb /) kbo(:,14,12) = (/ & & 0.30387e-04_rb,0.30535e-04_rb,0.30693e-04_rb,0.30906e-04_rb,0.31121e-04_rb /) kbo(:,15,12) = (/ & & 0.26404e-04_rb,0.26560e-04_rb,0.26776e-04_rb,0.26963e-04_rb,0.27157e-04_rb /) kbo(:,16,12) = (/ & & 0.22908e-04_rb,0.23161e-04_rb,0.23420e-04_rb,0.23636e-04_rb,0.23864e-04_rb /) kbo(:,17,12) = (/ & & 0.19849e-04_rb,0.20170e-04_rb,0.20453e-04_rb,0.20723e-04_rb,0.21011e-04_rb /) kbo(:,18,12) = (/ & & 0.17158e-04_rb,0.17516e-04_rb,0.17820e-04_rb,0.18149e-04_rb,0.18467e-04_rb /) kbo(:,19,12) = (/ & & 0.14706e-04_rb,0.15074e-04_rb,0.15426e-04_rb,0.15809e-04_rb,0.16128e-04_rb /) kbo(:,20,12) = (/ & & 0.12200e-04_rb,0.12654e-04_rb,0.13122e-04_rb,0.13561e-04_rb,0.13942e-04_rb /) kbo(:,21,12) = (/ & & 0.88744e-05_rb,0.95294e-05_rb,0.10194e-04_rb,0.10811e-04_rb,0.11447e-04_rb /) kbo(:,22,12) = (/ & & 0.63063e-05_rb,0.69160e-05_rb,0.75170e-05_rb,0.81696e-05_rb,0.87829e-05_rb /) kbo(:,23,12) = (/ & & 0.42549e-05_rb,0.48576e-05_rb,0.54224e-05_rb,0.60649e-05_rb,0.65852e-05_rb /) kbo(:,24,12) = (/ & & 0.26155e-05_rb,0.31537e-05_rb,0.36816e-05_rb,0.42795e-05_rb,0.47356e-05_rb /) kbo(:,25,12) = (/ & & 0.14576e-05_rb,0.18762e-05_rb,0.23875e-05_rb,0.29308e-05_rb,0.33846e-05_rb /) kbo(:,26,12) = (/ & & 0.67369e-06_rb,0.10096e-05_rb,0.14730e-05_rb,0.19592e-05_rb,0.24356e-05_rb /) kbo(:,27,12) = (/ & & 0.27240e-06_rb,0.59733e-06_rb,0.98553e-06_rb,0.13968e-05_rb,0.18466e-05_rb /) kbo(:,28,12) = (/ & & 0.81179e-07_rb,0.35063e-06_rb,0.74692e-06_rb,0.11081e-05_rb,0.15613e-05_rb /) kbo(:,29,12) = (/ & & 0.94800e-07_rb,0.40513e-06_rb,0.73547e-06_rb,0.10914e-05_rb,0.16188e-05_rb /) kbo(:,30,12) = (/ & & 0.19045e-06_rb,0.51192e-06_rb,0.80594e-06_rb,0.12694e-05_rb,0.16954e-05_rb /) kbo(:,31,12) = (/ & & 0.38493e-06_rb,0.71230e-06_rb,0.11392e-05_rb,0.15875e-05_rb,0.20565e-05_rb /) kbo(:,32,12) = (/ & & 0.61444e-06_rb,0.97779e-06_rb,0.14257e-05_rb,0.18883e-05_rb,0.26649e-05_rb /) kbo(:,33,12) = (/ & & 0.84230e-06_rb,0.12390e-05_rb,0.17304e-05_rb,0.23322e-05_rb,0.32859e-05_rb /) kbo(:,34,12) = (/ & & 0.10458e-05_rb,0.14709e-05_rb,0.19634e-05_rb,0.28004e-05_rb,0.37724e-05_rb /) kbo(:,35,12) = (/ & & 0.11901e-05_rb,0.16306e-05_rb,0.22411e-05_rb,0.31089e-05_rb,0.41007e-05_rb /) kbo(:,36,12) = (/ & & 0.12859e-05_rb,0.17604e-05_rb,0.24414e-05_rb,0.32964e-05_rb,0.43267e-05_rb /) kbo(:,37,12) = (/ & & 0.13015e-05_rb,0.17577e-05_rb,0.24562e-05_rb,0.33117e-05_rb,0.43238e-05_rb /) kbo(:,38,12) = (/ & & 0.13522e-05_rb,0.18247e-05_rb,0.25116e-05_rb,0.33483e-05_rb,0.43352e-05_rb /) kbo(:,39,12) = (/ & & 0.14322e-05_rb,0.19336e-05_rb,0.26107e-05_rb,0.34258e-05_rb,0.44158e-05_rb /) kbo(:,40,12) = (/ & & 0.14006e-05_rb,0.18728e-05_rb,0.25304e-05_rb,0.33179e-05_rb,0.42738e-05_rb /) kbo(:,41,12) = (/ & & 0.13551e-05_rb,0.18012e-05_rb,0.24357e-05_rb,0.32084e-05_rb,0.41141e-05_rb /) kbo(:,42,12) = (/ & & 0.13297e-05_rb,0.17512e-05_rb,0.23561e-05_rb,0.30946e-05_rb,0.39665e-05_rb /) kbo(:,43,12) = (/ & & 0.12687e-05_rb,0.16768e-05_rb,0.22464e-05_rb,0.29540e-05_rb,0.37527e-05_rb /) kbo(:,44,12) = (/ & & 0.12099e-05_rb,0.15968e-05_rb,0.21385e-05_rb,0.28006e-05_rb,0.35240e-05_rb /) kbo(:,45,12) = (/ & & 0.11534e-05_rb,0.15243e-05_rb,0.20279e-05_rb,0.26581e-05_rb,0.33062e-05_rb /) kbo(:,46,12) = (/ & & 0.10898e-05_rb,0.14434e-05_rb,0.19097e-05_rb,0.24739e-05_rb,0.30807e-05_rb /) kbo(:,47,12) = (/ & & 0.10111e-05_rb,0.13412e-05_rb,0.17607e-05_rb,0.22724e-05_rb,0.28391e-05_rb /) kbo(:,48,12) = (/ & & 0.92540e-06_rb,0.12447e-05_rb,0.16295e-05_rb,0.20863e-05_rb,0.26097e-05_rb /) kbo(:,49,12) = (/ & & 0.84684e-06_rb,0.11506e-05_rb,0.15141e-05_rb,0.19160e-05_rb,0.23957e-05_rb /) kbo(:,50,12) = (/ & & 0.76391e-06_rb,0.10519e-05_rb,0.13910e-05_rb,0.17635e-05_rb,0.22060e-05_rb /) kbo(:,51,12) = (/ & & 0.68139e-06_rb,0.95640e-06_rb,0.12771e-05_rb,0.16252e-05_rb,0.20363e-05_rb /) kbo(:,52,12) = (/ & & 0.60392e-06_rb,0.86706e-06_rb,0.11671e-05_rb,0.14940e-05_rb,0.18793e-05_rb /) kbo(:,53,12) = (/ & & 0.53856e-06_rb,0.78259e-06_rb,0.10620e-05_rb,0.13737e-05_rb,0.17330e-05_rb /) kbo(:,54,12) = (/ & & 0.46919e-06_rb,0.69589e-06_rb,0.96582e-06_rb,0.12666e-05_rb,0.16070e-05_rb /) kbo(:,55,12) = (/ & & 0.40013e-06_rb,0.61215e-06_rb,0.87450e-06_rb,0.11663e-05_rb,0.14929e-05_rb /) kbo(:,56,12) = (/ & & 0.33987e-06_rb,0.53286e-06_rb,0.78520e-06_rb,0.10697e-05_rb,0.13857e-05_rb /) kbo(:,57,12) = (/ & & 0.28415e-06_rb,0.45936e-06_rb,0.69784e-06_rb,0.97544e-06_rb,0.12829e-05_rb /) kbo(:,58,12) = (/ & & 0.23457e-06_rb,0.39019e-06_rb,0.61528e-06_rb,0.88439e-06_rb,0.11866e-05_rb /) kbo(:,59,12) = (/ & & 0.19576e-06_rb,0.34385e-06_rb,0.56055e-06_rb,0.82347e-06_rb,0.11274e-05_rb /) kbo(:,13,13) = (/ & & 0.12143e-03_rb,0.12308e-03_rb,0.12512e-03_rb,0.12699e-03_rb,0.12910e-03_rb /) kbo(:,14,13) = (/ & & 0.10385e-03_rb,0.10569e-03_rb,0.10770e-03_rb,0.10972e-03_rb,0.11214e-03_rb /) kbo(:,15,13) = (/ & & 0.88944e-04_rb,0.90837e-04_rb,0.92688e-04_rb,0.94910e-04_rb,0.97472e-04_rb /) kbo(:,16,13) = (/ & & 0.76542e-04_rb,0.78268e-04_rb,0.80179e-04_rb,0.82469e-04_rb,0.84734e-04_rb /) kbo(:,17,13) = (/ & & 0.66332e-04_rb,0.67885e-04_rb,0.69742e-04_rb,0.71831e-04_rb,0.74034e-04_rb /) kbo(:,18,13) = (/ & & 0.57811e-04_rb,0.59251e-04_rb,0.61096e-04_rb,0.62954e-04_rb,0.65175e-04_rb /) kbo(:,19,13) = (/ & & 0.50669e-04_rb,0.52124e-04_rb,0.53790e-04_rb,0.55608e-04_rb,0.57861e-04_rb /) kbo(:,20,13) = (/ & & 0.44810e-04_rb,0.46258e-04_rb,0.47774e-04_rb,0.49573e-04_rb,0.51715e-04_rb /) kbo(:,21,13) = (/ & & 0.40009e-04_rb,0.41361e-04_rb,0.42755e-04_rb,0.44560e-04_rb,0.46559e-04_rb /) kbo(:,22,13) = (/ & & 0.36116e-04_rb,0.37297e-04_rb,0.38718e-04_rb,0.40472e-04_rb,0.42441e-04_rb /) kbo(:,23,13) = (/ & & 0.32736e-04_rb,0.33861e-04_rb,0.35361e-04_rb,0.37075e-04_rb,0.39134e-04_rb /) kbo(:,24,13) = (/ & & 0.29883e-04_rb,0.31056e-04_rb,0.32552e-04_rb,0.34296e-04_rb,0.36499e-04_rb /) kbo(:,25,13) = (/ & & 0.27373e-04_rb,0.28693e-04_rb,0.30179e-04_rb,0.32033e-04_rb,0.34358e-04_rb /) kbo(:,26,13) = (/ & & 0.25273e-04_rb,0.26749e-04_rb,0.28306e-04_rb,0.30341e-04_rb,0.32793e-04_rb /) kbo(:,27,13) = (/ & & 0.23652e-04_rb,0.25175e-04_rb,0.26905e-04_rb,0.29145e-04_rb,0.31814e-04_rb /) kbo(:,28,13) = (/ & & 0.22453e-04_rb,0.24077e-04_rb,0.26031e-04_rb,0.28419e-04_rb,0.31259e-04_rb /) kbo(:,29,13) = (/ & & 0.21794e-04_rb,0.23553e-04_rb,0.25672e-04_rb,0.28266e-04_rb,0.31243e-04_rb /) kbo(:,30,13) = (/ & & 0.21501e-04_rb,0.23414e-04_rb,0.25687e-04_rb,0.28389e-04_rb,0.31547e-04_rb /) kbo(:,31,13) = (/ & & 0.21532e-04_rb,0.23577e-04_rb,0.25947e-04_rb,0.28793e-04_rb,0.32070e-04_rb /) kbo(:,32,13) = (/ & & 0.21702e-04_rb,0.23850e-04_rb,0.26365e-04_rb,0.29337e-04_rb,0.32730e-04_rb /) kbo(:,33,13) = (/ & & 0.21999e-04_rb,0.24243e-04_rb,0.26895e-04_rb,0.29970e-04_rb,0.33492e-04_rb /) kbo(:,34,13) = (/ & & 0.22272e-04_rb,0.24615e-04_rb,0.27365e-04_rb,0.30535e-04_rb,0.34149e-04_rb /) kbo(:,35,13) = (/ & & 0.22408e-04_rb,0.24786e-04_rb,0.27609e-04_rb,0.30838e-04_rb,0.34518e-04_rb /) kbo(:,36,13) = (/ & & 0.22324e-04_rb,0.24717e-04_rb,0.27535e-04_rb,0.30781e-04_rb,0.34466e-04_rb /) kbo(:,37,13) = (/ & & 0.21914e-04_rb,0.24278e-04_rb,0.27037e-04_rb,0.30223e-04_rb,0.33847e-04_rb /) kbo(:,38,13) = (/ & & 0.21518e-04_rb,0.23846e-04_rb,0.26529e-04_rb,0.29664e-04_rb,0.33219e-04_rb /) kbo(:,39,13) = (/ & & 0.21138e-04_rb,0.23443e-04_rb,0.26064e-04_rb,0.29132e-04_rb,0.32628e-04_rb /) kbo(:,40,13) = (/ & & 0.20535e-04_rb,0.22813e-04_rb,0.25328e-04_rb,0.28289e-04_rb,0.31682e-04_rb /) kbo(:,41,13) = (/ & & 0.19918e-04_rb,0.22174e-04_rb,0.24598e-04_rb,0.27447e-04_rb,0.30722e-04_rb /) kbo(:,42,13) = (/ & & 0.19309e-04_rb,0.21550e-04_rb,0.23909e-04_rb,0.26639e-04_rb,0.29801e-04_rb /) kbo(:,43,13) = (/ & & 0.18566e-04_rb,0.20812e-04_rb,0.23112e-04_rb,0.25700e-04_rb,0.28732e-04_rb /) kbo(:,44,13) = (/ & & 0.17767e-04_rb,0.20035e-04_rb,0.22299e-04_rb,0.24756e-04_rb,0.27639e-04_rb /) kbo(:,45,13) = (/ & & 0.16962e-04_rb,0.19260e-04_rb,0.21500e-04_rb,0.23864e-04_rb,0.26597e-04_rb /) kbo(:,46,13) = (/ & & 0.16086e-04_rb,0.18421e-04_rb,0.20671e-04_rb,0.22972e-04_rb,0.25545e-04_rb /) kbo(:,47,13) = (/ & & 0.15115e-04_rb,0.17481e-04_rb,0.19766e-04_rb,0.22019e-04_rb,0.24442e-04_rb /) kbo(:,48,13) = (/ & & 0.14158e-04_rb,0.16526e-04_rb,0.18843e-04_rb,0.21088e-04_rb,0.23419e-04_rb /) kbo(:,49,13) = (/ & & 0.13195e-04_rb,0.15552e-04_rb,0.17911e-04_rb,0.20179e-04_rb,0.22454e-04_rb /) kbo(:,50,13) = (/ & & 0.12314e-04_rb,0.14653e-04_rb,0.17032e-04_rb,0.19326e-04_rb,0.21576e-04_rb /) kbo(:,51,13) = (/ & & 0.11480e-04_rb,0.13788e-04_rb,0.16154e-04_rb,0.18484e-04_rb,0.20739e-04_rb /) kbo(:,52,13) = (/ & & 0.10629e-04_rb,0.12922e-04_rb,0.15279e-04_rb,0.17642e-04_rb,0.19921e-04_rb /) kbo(:,53,13) = (/ & & 0.97710e-05_rb,0.12082e-04_rb,0.14410e-04_rb,0.16788e-04_rb,0.19091e-04_rb /) kbo(:,54,13) = (/ & & 0.90074e-05_rb,0.11316e-04_rb,0.13617e-04_rb,0.15981e-04_rb,0.18321e-04_rb /) kbo(:,55,13) = (/ & & 0.83042e-05_rb,0.10569e-04_rb,0.12859e-04_rb,0.15214e-04_rb,0.17581e-04_rb /) kbo(:,56,13) = (/ & & 0.76202e-05_rb,0.98296e-05_rb,0.12125e-04_rb,0.14457e-04_rb,0.16835e-04_rb /) kbo(:,57,13) = (/ & & 0.69561e-05_rb,0.91024e-05_rb,0.11398e-04_rb,0.13700e-04_rb,0.16068e-04_rb /) kbo(:,58,13) = (/ & & 0.63426e-05_rb,0.84347e-05_rb,0.10695e-04_rb,0.12984e-04_rb,0.15340e-04_rb /) kbo(:,59,13) = (/ & & 0.61056e-05_rb,0.81719e-05_rb,0.10410e-04_rb,0.12698e-04_rb,0.15054e-04_rb /) kbo(:,13,14) = (/ & & 0.69692e-03_rb,0.71516e-03_rb,0.73378e-03_rb,0.75443e-03_rb,0.77716e-03_rb /) kbo(:,14,14) = (/ & & 0.64436e-03_rb,0.66211e-03_rb,0.68199e-03_rb,0.70460e-03_rb,0.72891e-03_rb /) kbo(:,15,14) = (/ & & 0.59775e-03_rb,0.61618e-03_rb,0.63785e-03_rb,0.66198e-03_rb,0.68803e-03_rb /) kbo(:,16,14) = (/ & & 0.55668e-03_rb,0.57752e-03_rb,0.60052e-03_rb,0.62615e-03_rb,0.65391e-03_rb /) kbo(:,17,14) = (/ & & 0.52104e-03_rb,0.54458e-03_rb,0.56934e-03_rb,0.59627e-03_rb,0.62539e-03_rb /) kbo(:,18,14) = (/ & & 0.49086e-03_rb,0.51685e-03_rb,0.54337e-03_rb,0.57147e-03_rb,0.60182e-03_rb /) kbo(:,19,14) = (/ & & 0.46544e-03_rb,0.49373e-03_rb,0.52192e-03_rb,0.55124e-03_rb,0.58277e-03_rb /) kbo(:,20,14) = (/ & & 0.44496e-03_rb,0.47526e-03_rb,0.50494e-03_rb,0.53564e-03_rb,0.56857e-03_rb /) kbo(:,21,14) = (/ & & 0.42855e-03_rb,0.46070e-03_rb,0.49202e-03_rb,0.52375e-03_rb,0.55795e-03_rb /) kbo(:,22,14) = (/ & & 0.41783e-03_rb,0.45160e-03_rb,0.48421e-03_rb,0.51739e-03_rb,0.55269e-03_rb /) kbo(:,23,14) = (/ & & 0.41085e-03_rb,0.44564e-03_rb,0.47947e-03_rb,0.51389e-03_rb,0.55016e-03_rb /) kbo(:,24,14) = (/ & & 0.40699e-03_rb,0.44263e-03_rb,0.47766e-03_rb,0.51290e-03_rb,0.55008e-03_rb /) kbo(:,25,14) = (/ & & 0.40592e-03_rb,0.44215e-03_rb,0.47812e-03_rb,0.51419e-03_rb,0.55216e-03_rb /) kbo(:,26,14) = (/ & & 0.40741e-03_rb,0.44425e-03_rb,0.48085e-03_rb,0.51770e-03_rb,0.55654e-03_rb /) kbo(:,27,14) = (/ & & 0.41074e-03_rb,0.44811e-03_rb,0.48506e-03_rb,0.52264e-03_rb,0.56211e-03_rb /) kbo(:,28,14) = (/ & & 0.41538e-03_rb,0.45333e-03_rb,0.49042e-03_rb,0.52868e-03_rb,0.56877e-03_rb /) kbo(:,29,14) = (/ & & 0.42139e-03_rb,0.45956e-03_rb,0.49700e-03_rb,0.53588e-03_rb,0.57647e-03_rb /) kbo(:,30,14) = (/ & & 0.42836e-03_rb,0.46659e-03_rb,0.50435e-03_rb,0.54377e-03_rb,0.58489e-03_rb /) kbo(:,31,14) = (/ & & 0.43618e-03_rb,0.47431e-03_rb,0.51248e-03_rb,0.55256e-03_rb,0.59401e-03_rb /) kbo(:,32,14) = (/ & & 0.44466e-03_rb,0.48256e-03_rb,0.52138e-03_rb,0.56187e-03_rb,0.60364e-03_rb /) kbo(:,33,14) = (/ & & 0.45349e-03_rb,0.49137e-03_rb,0.53076e-03_rb,0.57166e-03_rb,0.61359e-03_rb /) kbo(:,34,14) = (/ & & 0.46108e-03_rb,0.49922e-03_rb,0.53902e-03_rb,0.58028e-03_rb,0.62237e-03_rb /) kbo(:,35,14) = (/ & & 0.46528e-03_rb,0.50354e-03_rb,0.54368e-03_rb,0.58501e-03_rb,0.62724e-03_rb /) kbo(:,36,14) = (/ & & 0.46539e-03_rb,0.50375e-03_rb,0.54391e-03_rb,0.58538e-03_rb,0.62763e-03_rb /) kbo(:,37,14) = (/ & & 0.45984e-03_rb,0.49817e-03_rb,0.53806e-03_rb,0.57948e-03_rb,0.62153e-03_rb /) kbo(:,38,14) = (/ & & 0.45408e-03_rb,0.49229e-03_rb,0.53205e-03_rb,0.57322e-03_rb,0.61533e-03_rb /) kbo(:,39,14) = (/ & & 0.44837e-03_rb,0.48652e-03_rb,0.52604e-03_rb,0.56712e-03_rb,0.60916e-03_rb /) kbo(:,40,14) = (/ & & 0.43865e-03_rb,0.47705e-03_rb,0.51607e-03_rb,0.55678e-03_rb,0.59870e-03_rb /) kbo(:,41,14) = (/ & & 0.42850e-03_rb,0.46708e-03_rb,0.50578e-03_rb,0.54611e-03_rb,0.58790e-03_rb /) kbo(:,42,14) = (/ & & 0.41832e-03_rb,0.45718e-03_rb,0.49552e-03_rb,0.53551e-03_rb,0.57688e-03_rb /) kbo(:,43,14) = (/ & & 0.40611e-03_rb,0.44501e-03_rb,0.48328e-03_rb,0.52271e-03_rb,0.56375e-03_rb /) kbo(:,44,14) = (/ & & 0.39281e-03_rb,0.43169e-03_rb,0.47025e-03_rb,0.50904e-03_rb,0.54960e-03_rb /) kbo(:,45,14) = (/ & & 0.37939e-03_rb,0.41841e-03_rb,0.45722e-03_rb,0.49565e-03_rb,0.53564e-03_rb /) kbo(:,46,14) = (/ & & 0.36481e-03_rb,0.40443e-03_rb,0.44334e-03_rb,0.48171e-03_rb,0.52104e-03_rb /) kbo(:,47,14) = (/ & & 0.34813e-03_rb,0.38867e-03_rb,0.42754e-03_rb,0.46626e-03_rb,0.50489e-03_rb /) kbo(:,48,14) = (/ & & 0.33101e-03_rb,0.37257e-03_rb,0.41188e-03_rb,0.45078e-03_rb,0.48906e-03_rb /) kbo(:,49,14) = (/ & & 0.31369e-03_rb,0.35613e-03_rb,0.39621e-03_rb,0.43508e-03_rb,0.47354e-03_rb /) kbo(:,50,14) = (/ & & 0.29739e-03_rb,0.34030e-03_rb,0.38132e-03_rb,0.42035e-03_rb,0.45918e-03_rb /) kbo(:,51,14) = (/ & & 0.28140e-03_rb,0.32461e-03_rb,0.36662e-03_rb,0.40619e-03_rb,0.44511e-03_rb /) kbo(:,52,14) = (/ & & 0.26563e-03_rb,0.30898e-03_rb,0.35161e-03_rb,0.39193e-03_rb,0.43080e-03_rb /) kbo(:,53,14) = (/ & & 0.24997e-03_rb,0.29311e-03_rb,0.33618e-03_rb,0.37741e-03_rb,0.41655e-03_rb /) kbo(:,54,14) = (/ & & 0.23534e-03_rb,0.27846e-03_rb,0.32175e-03_rb,0.36391e-03_rb,0.40359e-03_rb /) kbo(:,55,14) = (/ & & 0.22140e-03_rb,0.26468e-03_rb,0.30799e-03_rb,0.35062e-03_rb,0.39107e-03_rb /) kbo(:,56,14) = (/ & & 0.20748e-03_rb,0.25097e-03_rb,0.29409e-03_rb,0.33714e-03_rb,0.37835e-03_rb /) kbo(:,57,14) = (/ & & 0.19363e-03_rb,0.23702e-03_rb,0.28013e-03_rb,0.32339e-03_rb,0.36545e-03_rb /) kbo(:,58,14) = (/ & & 0.18066e-03_rb,0.22379e-03_rb,0.26710e-03_rb,0.31040e-03_rb,0.35295e-03_rb /) kbo(:,59,14) = (/ & & 0.17550e-03_rb,0.21855e-03_rb,0.26188e-03_rb,0.30515e-03_rb,0.34793e-03_rb /) kbo(:,13,15) = (/ & & 0.67077e-02_rb,0.67643e-02_rb,0.68102e-02_rb,0.68432e-02_rb,0.68617e-02_rb /) kbo(:,14,15) = (/ & & 0.68112e-02_rb,0.68842e-02_rb,0.69413e-02_rb,0.69806e-02_rb,0.70063e-02_rb /) kbo(:,15,15) = (/ & & 0.68961e-02_rb,0.69833e-02_rb,0.70488e-02_rb,0.70965e-02_rb,0.71269e-02_rb /) kbo(:,16,15) = (/ & & 0.69706e-02_rb,0.70648e-02_rb,0.71387e-02_rb,0.71925e-02_rb,0.72279e-02_rb /) kbo(:,17,15) = (/ & & 0.70342e-02_rb,0.71339e-02_rb,0.72130e-02_rb,0.72737e-02_rb,0.73138e-02_rb /) kbo(:,18,15) = (/ & & 0.70890e-02_rb,0.71933e-02_rb,0.72776e-02_rb,0.73426e-02_rb,0.73856e-02_rb /) kbo(:,19,15) = (/ & & 0.71380e-02_rb,0.72441e-02_rb,0.73326e-02_rb,0.74006e-02_rb,0.74464e-02_rb /) kbo(:,20,15) = (/ & & 0.71838e-02_rb,0.72907e-02_rb,0.73816e-02_rb,0.74514e-02_rb,0.74969e-02_rb /) kbo(:,21,15) = (/ & & 0.72239e-02_rb,0.73326e-02_rb,0.74235e-02_rb,0.74941e-02_rb,0.75405e-02_rb /) kbo(:,22,15) = (/ & & 0.72699e-02_rb,0.73767e-02_rb,0.74650e-02_rb,0.75340e-02_rb,0.75785e-02_rb /) kbo(:,23,15) = (/ & & 0.73111e-02_rb,0.74172e-02_rb,0.75033e-02_rb,0.75687e-02_rb,0.76113e-02_rb /) kbo(:,24,15) = (/ & & 0.73510e-02_rb,0.74537e-02_rb,0.75371e-02_rb,0.76008e-02_rb,0.76395e-02_rb /) kbo(:,25,15) = (/ & & 0.73875e-02_rb,0.74885e-02_rb,0.75684e-02_rb,0.76282e-02_rb,0.76634e-02_rb /) kbo(:,26,15) = (/ & & 0.74256e-02_rb,0.75226e-02_rb,0.75985e-02_rb,0.76530e-02_rb,0.76835e-02_rb /) kbo(:,27,15) = (/ & & 0.74605e-02_rb,0.75517e-02_rb,0.76248e-02_rb,0.76742e-02_rb,0.77008e-02_rb /) kbo(:,28,15) = (/ & & 0.74927e-02_rb,0.75800e-02_rb,0.76483e-02_rb,0.76927e-02_rb,0.77139e-02_rb /) kbo(:,29,15) = (/ & & 0.75244e-02_rb,0.76057e-02_rb,0.76690e-02_rb,0.77086e-02_rb,0.77249e-02_rb /) kbo(:,30,15) = (/ & & 0.75518e-02_rb,0.76303e-02_rb,0.76877e-02_rb,0.77209e-02_rb,0.77334e-02_rb /) kbo(:,31,15) = (/ & & 0.75781e-02_rb,0.76519e-02_rb,0.77036e-02_rb,0.77320e-02_rb,0.77395e-02_rb /) kbo(:,32,15) = (/ & & 0.76025e-02_rb,0.76727e-02_rb,0.77178e-02_rb,0.77409e-02_rb,0.77439e-02_rb /) kbo(:,33,15) = (/ & & 0.76266e-02_rb,0.76908e-02_rb,0.77289e-02_rb,0.77461e-02_rb,0.77464e-02_rb /) kbo(:,34,15) = (/ & & 0.76450e-02_rb,0.77038e-02_rb,0.77387e-02_rb,0.77507e-02_rb,0.77465e-02_rb /) kbo(:,35,15) = (/ & & 0.76558e-02_rb,0.77117e-02_rb,0.77433e-02_rb,0.77536e-02_rb,0.77475e-02_rb /) kbo(:,36,15) = (/ & & 0.76587e-02_rb,0.77150e-02_rb,0.77452e-02_rb,0.77564e-02_rb,0.77495e-02_rb /) kbo(:,37,15) = (/ & & 0.76522e-02_rb,0.77109e-02_rb,0.77439e-02_rb,0.77579e-02_rb,0.77534e-02_rb /) kbo(:,38,15) = (/ & & 0.76429e-02_rb,0.77056e-02_rb,0.77426e-02_rb,0.77582e-02_rb,0.77560e-02_rb /) kbo(:,39,15) = (/ & & 0.76339e-02_rb,0.76993e-02_rb,0.77402e-02_rb,0.77587e-02_rb,0.77588e-02_rb /) kbo(:,40,15) = (/ & & 0.76166e-02_rb,0.76865e-02_rb,0.77335e-02_rb,0.77564e-02_rb,0.77613e-02_rb /) kbo(:,41,15) = (/ & & 0.75961e-02_rb,0.76706e-02_rb,0.77239e-02_rb,0.77534e-02_rb,0.77621e-02_rb /) kbo(:,42,15) = (/ & & 0.75752e-02_rb,0.76537e-02_rb,0.77143e-02_rb,0.77487e-02_rb,0.77622e-02_rb /) kbo(:,43,15) = (/ & & 0.75459e-02_rb,0.76317e-02_rb,0.76988e-02_rb,0.77406e-02_rb,0.77602e-02_rb /) kbo(:,44,15) = (/ & & 0.75134e-02_rb,0.76061e-02_rb,0.76788e-02_rb,0.77299e-02_rb,0.77567e-02_rb /) kbo(:,45,15) = (/ & & 0.74772e-02_rb,0.75773e-02_rb,0.76562e-02_rb,0.77161e-02_rb,0.77502e-02_rb /) kbo(:,46,15) = (/ & & 0.74372e-02_rb,0.75438e-02_rb,0.76298e-02_rb,0.76975e-02_rb,0.77405e-02_rb /) kbo(:,47,15) = (/ & & 0.73875e-02_rb,0.75032e-02_rb,0.75980e-02_rb,0.76724e-02_rb,0.77261e-02_rb /) kbo(:,48,15) = (/ & & 0.73358e-02_rb,0.74597e-02_rb,0.75632e-02_rb,0.76453e-02_rb,0.77080e-02_rb /) kbo(:,49,15) = (/ & & 0.72811e-02_rb,0.74117e-02_rb,0.75238e-02_rb,0.76147e-02_rb,0.76865e-02_rb /) kbo(:,50,15) = (/ & & 0.72248e-02_rb,0.73656e-02_rb,0.74842e-02_rb,0.75831e-02_rb,0.76614e-02_rb /) kbo(:,51,15) = (/ & & 0.71662e-02_rb,0.73174e-02_rb,0.74427e-02_rb,0.75493e-02_rb,0.76342e-02_rb /) kbo(:,52,15) = (/ & & 0.71006e-02_rb,0.72655e-02_rb,0.73997e-02_rb,0.75133e-02_rb,0.76064e-02_rb /) kbo(:,53,15) = (/ & & 0.70300e-02_rb,0.72101e-02_rb,0.73531e-02_rb,0.74734e-02_rb,0.75745e-02_rb /) kbo(:,54,15) = (/ & & 0.69596e-02_rb,0.71548e-02_rb,0.73082e-02_rb,0.74357e-02_rb,0.75431e-02_rb /) kbo(:,55,15) = (/ & & 0.68873e-02_rb,0.70968e-02_rb,0.72620e-02_rb,0.73967e-02_rb,0.75110e-02_rb /) kbo(:,56,15) = (/ & & 0.68089e-02_rb,0.70345e-02_rb,0.72141e-02_rb,0.73575e-02_rb,0.74766e-02_rb /) kbo(:,57,15) = (/ & & 0.67241e-02_rb,0.69678e-02_rb,0.71623e-02_rb,0.73141e-02_rb,0.74401e-02_rb /) kbo(:,58,15) = (/ & & 0.66371e-02_rb,0.69009e-02_rb,0.71063e-02_rb,0.72699e-02_rb,0.74044e-02_rb /) kbo(:,59,15) = (/ & & 0.66009e-02_rb,0.68723e-02_rb,0.70852e-02_rb,0.72532e-02_rb,0.73888e-02_rb /) kbo(:,13,16) = (/ & & 0.20091e-01_rb,0.19310e-01_rb,0.18586e-01_rb,0.17917e-01_rb,0.17293e-01_rb /) kbo(:,14,16) = (/ & & 0.21405e-01_rb,0.20507e-01_rb,0.19679e-01_rb,0.18912e-01_rb,0.18201e-01_rb /) kbo(:,15,16) = (/ & & 0.22567e-01_rb,0.21555e-01_rb,0.20633e-01_rb,0.19775e-01_rb,0.18992e-01_rb /) kbo(:,16,16) = (/ & & 0.23562e-01_rb,0.22456e-01_rb,0.21445e-01_rb,0.20508e-01_rb,0.19661e-01_rb /) kbo(:,17,16) = (/ & & 0.24411e-01_rb,0.23217e-01_rb,0.22126e-01_rb,0.21126e-01_rb,0.20220e-01_rb /) kbo(:,18,16) = (/ & & 0.25116e-01_rb,0.23847e-01_rb,0.22688e-01_rb,0.21635e-01_rb,0.20680e-01_rb /) kbo(:,19,16) = (/ & & 0.25693e-01_rb,0.24361e-01_rb,0.23149e-01_rb,0.22047e-01_rb,0.21053e-01_rb /) kbo(:,20,16) = (/ & & 0.26126e-01_rb,0.24747e-01_rb,0.23489e-01_rb,0.22355e-01_rb,0.21332e-01_rb /) kbo(:,21,16) = (/ & & 0.26457e-01_rb,0.25034e-01_rb,0.23751e-01_rb,0.22588e-01_rb,0.21537e-01_rb /) kbo(:,22,16) = (/ & & 0.26586e-01_rb,0.25153e-01_rb,0.23857e-01_rb,0.22677e-01_rb,0.21621e-01_rb /) kbo(:,23,16) = (/ & & 0.26640e-01_rb,0.25191e-01_rb,0.23890e-01_rb,0.22706e-01_rb,0.21649e-01_rb /) kbo(:,24,16) = (/ & & 0.26616e-01_rb,0.25160e-01_rb,0.23861e-01_rb,0.22680e-01_rb,0.21622e-01_rb /) kbo(:,25,16) = (/ & & 0.26518e-01_rb,0.25075e-01_rb,0.23777e-01_rb,0.22603e-01_rb,0.21555e-01_rb /) kbo(:,26,16) = (/ & & 0.26348e-01_rb,0.24922e-01_rb,0.23637e-01_rb,0.22478e-01_rb,0.21437e-01_rb /) kbo(:,27,16) = (/ & & 0.26138e-01_rb,0.24737e-01_rb,0.23465e-01_rb,0.22328e-01_rb,0.21299e-01_rb /) kbo(:,28,16) = (/ & & 0.25904e-01_rb,0.24526e-01_rb,0.23272e-01_rb,0.22156e-01_rb,0.21140e-01_rb /) kbo(:,29,16) = (/ & & 0.25645e-01_rb,0.24289e-01_rb,0.23059e-01_rb,0.21960e-01_rb,0.20965e-01_rb /) kbo(:,30,16) = (/ & & 0.25364e-01_rb,0.24034e-01_rb,0.22831e-01_rb,0.21758e-01_rb,0.20776e-01_rb /) kbo(:,31,16) = (/ & & 0.25075e-01_rb,0.23766e-01_rb,0.22595e-01_rb,0.21541e-01_rb,0.20581e-01_rb /) kbo(:,32,16) = (/ & & 0.24769e-01_rb,0.23490e-01_rb,0.22348e-01_rb,0.21316e-01_rb,0.20377e-01_rb /) kbo(:,33,16) = (/ & & 0.24460e-01_rb,0.23211e-01_rb,0.22098e-01_rb,0.21090e-01_rb,0.20170e-01_rb /) kbo(:,34,16) = (/ & & 0.24193e-01_rb,0.22975e-01_rb,0.21887e-01_rb,0.20894e-01_rb,0.19994e-01_rb /) kbo(:,35,16) = (/ & & 0.24050e-01_rb,0.22849e-01_rb,0.21770e-01_rb,0.20789e-01_rb,0.19901e-01_rb /) kbo(:,36,16) = (/ & & 0.24043e-01_rb,0.22842e-01_rb,0.21764e-01_rb,0.20784e-01_rb,0.19894e-01_rb /) kbo(:,37,16) = (/ & & 0.24229e-01_rb,0.23006e-01_rb,0.21915e-01_rb,0.20918e-01_rb,0.20018e-01_rb /) kbo(:,38,16) = (/ & & 0.24421e-01_rb,0.23180e-01_rb,0.22070e-01_rb,0.21062e-01_rb,0.20144e-01_rb /) kbo(:,39,16) = (/ & & 0.24617e-01_rb,0.23352e-01_rb,0.22226e-01_rb,0.21205e-01_rb,0.20274e-01_rb /) kbo(:,40,16) = (/ & & 0.24953e-01_rb,0.23654e-01_rb,0.22496e-01_rb,0.21449e-01_rb,0.20495e-01_rb /) kbo(:,41,16) = (/ & & 0.25312e-01_rb,0.23980e-01_rb,0.22786e-01_rb,0.21712e-01_rb,0.20738e-01_rb /) kbo(:,42,16) = (/ & & 0.25679e-01_rb,0.24315e-01_rb,0.23082e-01_rb,0.21982e-01_rb,0.20981e-01_rb /) kbo(:,43,16) = (/ & & 0.26140e-01_rb,0.24730e-01_rb,0.23454e-01_rb,0.22317e-01_rb,0.21287e-01_rb /) kbo(:,44,16) = (/ & & 0.26653e-01_rb,0.25200e-01_rb,0.23871e-01_rb,0.22691e-01_rb,0.21628e-01_rb /) kbo(:,45,16) = (/ & & 0.27190e-01_rb,0.25674e-01_rb,0.24311e-01_rb,0.23078e-01_rb,0.21977e-01_rb /) kbo(:,46,16) = (/ & & 0.27783e-01_rb,0.26205e-01_rb,0.24787e-01_rb,0.23504e-01_rb,0.22362e-01_rb /) kbo(:,47,16) = (/ & & 0.28471e-01_rb,0.26819e-01_rb,0.25343e-01_rb,0.24006e-01_rb,0.22809e-01_rb /) kbo(:,48,16) = (/ & & 0.29185e-01_rb,0.27464e-01_rb,0.25918e-01_rb,0.24532e-01_rb,0.23275e-01_rb /) kbo(:,49,16) = (/ & & 0.29935e-01_rb,0.28138e-01_rb,0.26520e-01_rb,0.25074e-01_rb,0.23762e-01_rb /) kbo(:,50,16) = (/ & & 0.30661e-01_rb,0.28793e-01_rb,0.27111e-01_rb,0.25603e-01_rb,0.24243e-01_rb /) kbo(:,51,16) = (/ & & 0.31401e-01_rb,0.29455e-01_rb,0.27706e-01_rb,0.26135e-01_rb,0.24726e-01_rb /) kbo(:,52,16) = (/ & & 0.32182e-01_rb,0.30140e-01_rb,0.28322e-01_rb,0.26686e-01_rb,0.25224e-01_rb /) kbo(:,53,16) = (/ & & 0.33002e-01_rb,0.30856e-01_rb,0.28966e-01_rb,0.27268e-01_rb,0.25738e-01_rb /) kbo(:,54,16) = (/ & & 0.33792e-01_rb,0.31541e-01_rb,0.29577e-01_rb,0.27816e-01_rb,0.26234e-01_rb /) kbo(:,55,16) = (/ & & 0.34581e-01_rb,0.32233e-01_rb,0.30182e-01_rb,0.28363e-01_rb,0.26721e-01_rb /) kbo(:,56,16) = (/ & & 0.35416e-01_rb,0.32947e-01_rb,0.30807e-01_rb,0.28926e-01_rb,0.27227e-01_rb /) kbo(:,57,16) = (/ & & 0.36291e-01_rb,0.33701e-01_rb,0.31460e-01_rb,0.29510e-01_rb,0.27750e-01_rb /) kbo(:,58,16) = (/ & & 0.37161e-01_rb,0.34436e-01_rb,0.32106e-01_rb,0.30077e-01_rb,0.28264e-01_rb /) kbo(:,59,16) = (/ & & 0.37521e-01_rb,0.34750e-01_rb,0.32373e-01_rb,0.30309e-01_rb,0.28477e-01_rb /) ! ----------------------------------------------------------------- forrefo(:, 1) = (/ 0.515619e-08_rb, 0.131078e-06_rb, 0.349038e-06_rb /) forrefo(:, 2) = (/ 0.329605e-07_rb, 0.430497e-06_rb, 0.458569e-05_rb /) forrefo(:, 3) = (/ 0.188244e-06_rb, 0.792931e-06_rb, 0.267176e-05_rb /) forrefo(:, 4) = (/ 0.611237e-06_rb, 0.798868e-06_rb, 0.411583e-06_rb /) forrefo(:, 5) = (/ 0.111903e-05_rb, 0.914895e-06_rb, 0.444828e-06_rb /) forrefo(:, 6) = (/ 0.235399e-05_rb, 0.269099e-05_rb, 0.739855e-06_rb /) forrefo(:, 7) = (/ 0.400131e-05_rb, 0.378135e-05_rb, 0.231265e-06_rb /) forrefo(:, 8) = (/ 0.464257e-05_rb, 0.371927e-05_rb, 0.460611e-06_rb /) forrefo(:, 9) = (/ 0.476792e-05_rb, 0.311841e-05_rb, 0.934811e-06_rb /) forrefo(:,10) = (/ 0.555683e-05_rb, 0.238129e-05_rb, 0.400334e-07_rb /) forrefo(:,11) = (/ 0.569068e-05_rb, 0.196039e-05_rb, 0.374476e-07_rb /) forrefo(:,12) = (/ 0.554154e-05_rb, 0.131724e-05_rb, 0.399720e-07_rb /) forrefo(:,13) = (/ 0.462684e-05_rb, 0.238826e-07_rb, 0.325793e-07_rb /) forrefo(:,14) = (/ 0.808644e-06_rb, 0.105126e-11_rb, 0.148691e-07_rb /) forrefo(:,15) = (/ 0.865024e-12_rb, 0.822434e-12_rb, 0.825756e-12_rb /) forrefo(:,16) = (/ 0.945747e-12_rb, 0.802065e-12_rb, 0.724732e-12_rb /) ! ----------------------------------------------------------------- ! The array SELFREFO contains the coefficient of the water vapor ! self-continuum (including the energy term). The first index ! refers to temperature in 7.2 degree increments. For instance, ! JT = 1 refers to a temperature of 245.6, JT = 2 refers to 252.8, ! etc. The second index runs over the g-channel (1 to 16). selfrefo(:, 1) = (/ & & 0.637755e-05_rb, 0.403921e-05_rb, 0.255823e-05_rb, 0.162025e-05_rb, 0.102618e-05_rb, & & 0.649930e-06_rb, 0.411632e-06_rb, 0.260707e-06_rb, 0.165118e-06_rb, 0.104577e-06_rb /) selfrefo(:, 2) = (/ & & 0.180887e-04_rb, 0.108890e-04_rb, 0.655493e-05_rb, 0.394592e-05_rb, 0.237536e-05_rb, & & 0.142991e-05_rb, 0.860774e-06_rb, 0.518167e-06_rb, 0.311925e-06_rb, 0.187772e-06_rb /) selfrefo(:, 3) = (/ & & 0.212261e-04_rb, 0.150697e-04_rb, 0.106989e-04_rb, 0.759581e-05_rb, 0.539274e-05_rb, & & 0.382864e-05_rb, 0.271819e-05_rb, 0.192981e-05_rb, 0.137009e-05_rb, 0.972711e-06_rb /) selfrefo(:, 4) = (/ & & 0.132497e-04_rb, 0.118071e-04_rb, 0.105216e-04_rb, 0.937599e-05_rb, 0.835516e-05_rb, & & 0.744547e-05_rb, 0.663482e-05_rb, 0.591243e-05_rb, 0.526870e-05_rb, 0.469506e-05_rb /) selfrefo(:, 5) = (/ & & 0.124069e-04_rb, 0.120785e-04_rb, 0.117589e-04_rb, 0.114477e-04_rb, 0.111447e-04_rb, & & 0.108498e-04_rb, 0.105626e-04_rb, 0.102831e-04_rb, 0.100109e-04_rb, 0.974601e-05_rb /) selfrefo(:, 6) = (/ & & 0.411994e-04_rb, 0.372560e-04_rb, 0.336901e-04_rb, 0.304654e-04_rb, 0.275494e-04_rb, & & 0.249126e-04_rb, 0.225281e-04_rb, 0.203718e-04_rb, 0.184219e-04_rb, 0.166587e-04_rb /) selfrefo(:, 7) = (/ & & 0.537376e-04_rb, 0.501002e-04_rb, 0.467090e-04_rb, 0.435473e-04_rb, 0.405996e-04_rb, & & 0.378515e-04_rb, 0.352893e-04_rb, 0.329006e-04_rb, 0.306736e-04_rb, 0.285974e-04_rb /) selfrefo(:, 8) = (/ & & 0.494279e-04_rb, 0.475365e-04_rb, 0.457175e-04_rb, 0.439681e-04_rb, 0.422857e-04_rb, & & 0.406676e-04_rb, 0.391114e-04_rb, 0.376148e-04_rb, 0.361755e-04_rb, 0.347912e-04_rb /) selfrefo(:, 9) = (/ & & 0.377444e-04_rb, 0.378199e-04_rb, 0.378956e-04_rb, 0.379715e-04_rb, 0.380475e-04_rb, & & 0.381236e-04_rb, 0.381999e-04_rb, 0.382763e-04_rb, 0.383529e-04_rb, 0.384297e-04_rb /) selfrefo(:,10) = (/ & & 0.245916e-04_rb, 0.267183e-04_rb, 0.290289e-04_rb, 0.315394e-04_rb, 0.342669e-04_rb, & & 0.372304e-04_rb, 0.404501e-04_rb, 0.439483e-04_rb, 0.477490e-04_rb, 0.518784e-04_rb /) selfrefo(:,11) = (/ & & 0.186528e-04_rb, 0.211417e-04_rb, 0.239628e-04_rb, 0.271603e-04_rb, 0.307845e-04_rb, & & 0.348923e-04_rb, 0.395482e-04_rb, 0.448254e-04_rb, 0.508068e-04_rb, 0.575863e-04_rb /) selfrefo(:,12) = (/ & & 0.109896e-04_rb, 0.133794e-04_rb, 0.162890e-04_rb, 0.198312e-04_rb, 0.241438e-04_rb, & & 0.293942e-04_rb, 0.357864e-04_rb, 0.435686e-04_rb, 0.530432e-04_rb, 0.645781e-04_rb /) selfrefo(:,13) = (/ & & 0.183885e-06_rb, 0.391019e-06_rb, 0.831472e-06_rb, 0.176806e-05_rb, 0.375966e-05_rb, & & 0.799463e-05_rb, 0.170000e-04_rb, 0.361492e-04_rb, 0.768686e-04_rb, 0.163455e-03_rb /) selfrefo(:,14) = (/ & & 0.466057e-07_rb, 0.937419e-07_rb, 0.188551e-06_rb, 0.379248e-06_rb, 0.762813e-06_rb, & & 0.153431e-05_rb, 0.308608e-05_rb, 0.620729e-05_rb, 0.124852e-04_rb, 0.251126e-04_rb /) selfrefo(:,15) = (/ & & 0.248961e-06_rb, 0.216780e-06_rb, 0.188758e-06_rb, 0.164358e-06_rb, 0.143113e-06_rb, & & 0.124613e-06_rb, 0.108505e-06_rb, 0.944795e-07_rb, 0.822667e-07_rb, 0.716326e-07_rb /) selfrefo(:,16) = (/ & & 0.252246e-06_rb, 0.220335e-06_rb, 0.192462e-06_rb, 0.168114e-06_rb, 0.146847e-06_rb, & & 0.128270e-06_rb, 0.112043e-06_rb, 0.978688e-07_rb, 0.854878e-07_rb, 0.746731e-07_rb /) end subroutine sw_kgb24 ! ************************************************************************** subroutine sw_kgb25 ! ************************************************************************** use parkind, only : im => kind_im, rb => kind_rb use rrsw_kg25, only : kao, sfluxrefo, & raylo, abso3ao, abso3bo, layreffr implicit none save ! Kurucz solar source function sfluxrefo(:) = (/ & & 42.6858_rb , 45.7720_rb, 44.9872_rb, 45.9662_rb , & & 46.5458_rb , 41.6926_rb, 32.2893_rb, 24.0928_rb , & & 16.7686_rb , 1.86048_rb, 1.54057_rb, 1.23503_rb , & & 0.915085_rb,0.590099_rb,0.218622_rb, 3.21287e-02_rb /) ! Rayleigh extinction coefficient at v = 2925 cm-1. raylo(:) = (/ & & 9.81132e-07_rb,8.25605e-07_rb,6.71302e-07_rb,5.53556e-07_rb, & & 3.97383e-07_rb,3.68206e-07_rb,4.42379e-07_rb,4.57799e-07_rb, & & 4.22683e-07_rb,3.87113e-07_rb,3.79810e-07_rb,3.63192e-07_rb, & & 3.51921e-07_rb,3.34231e-07_rb,3.34294e-07_rb,3.32673e-07_rb /) abso3ao(:) = (/ & & 2.32664e-02_rb,5.76154e-02_rb,0.125389_rb,0.250158_rb, & & 0.378756_rb ,0.402196_rb ,0.352026_rb,0.352036_rb, & & 0.386253_rb ,0.414598_rb ,0.420079_rb,0.435471_rb, & & 0.445487_rb ,0.459549_rb ,0.452920_rb,0.456838_rb /) abso3bo(:) = (/ & & 1.76917e-02_rb,4.64185e-02_rb,1.03640e-01_rb,0.189469_rb, & & 0.303858_rb ,0.400248_rb ,0.447357_rb ,0.470009_rb, & & 0.498673_rb ,0.515696_rb ,0.517053_rb ,0.517930_rb, & & 0.518345_rb ,0.524952_rb ,0.508244_rb ,0.468981_rb /) layreffr = 2 ! ------------------------------------------------------------------ ! The array KAO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels> ~100mb, temperatures, and binary ! species parameters (see taumol.f for definition). The first ! index in the array, JS, runs from 1 to 9, and corresponds to ! different values of the binary species parameter. For instance, ! JS=1 refers to dry air, JS = 2 corresponds to the paramter value 1/8, ! JS = 3 corresponds to the parameter value 2/8, etc. The second index ! in the array, JT, which runs from 1 to 5, corresponds to different ! temperatures. More specifically, JT = 3 means that the data are for ! the reference temperature TREF for this pressure level, JT = 2 refers ! to TREF-15, JT = 1 is for TREF-30, JT = 4 is for TREF+15, and JT = 5 ! is for TREF+30. The third index, JP, runs from 1 to 13 and refers ! to the JPth reference pressure level (see taumol.f for these levels ! in mb). The fourth index, IG, goes from 1 to 16, and indicates ! which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kao(:, 1, 1) = (/ & & 0.16461e-08_rb,0.16782e-08_rb,0.19339e-08_rb,0.17100e-08_rb,0.17045e-08_rb /) kao(:, 2, 1) = (/ & & 0.28759e-08_rb,0.29469e-08_rb,0.33789e-08_rb,0.34357e-08_rb,0.28833e-08_rb /) kao(:, 3, 1) = (/ & & 0.55148e-08_rb,0.54808e-08_rb,0.54190e-08_rb,0.68260e-08_rb,0.51972e-08_rb /) kao(:, 4, 1) = (/ & & 0.95336e-08_rb,0.94552e-08_rb,0.93001e-08_rb,0.90961e-08_rb,0.14451e-07_rb /) kao(:, 5, 1) = (/ & & 0.14930e-07_rb,0.14736e-07_rb,0.14432e-07_rb,0.14074e-07_rb,0.24102e-07_rb /) kao(:, 6, 1) = (/ & & 0.22770e-07_rb,0.22301e-07_rb,0.21778e-07_rb,0.21194e-07_rb,0.20569e-07_rb /) kao(:, 7, 1) = (/ & & 0.34699e-07_rb,0.33951e-07_rb,0.33124e-07_rb,0.32144e-07_rb,0.31220e-07_rb /) kao(:, 8, 1) = (/ & & 0.62339e-07_rb,0.60405e-07_rb,0.59548e-07_rb,0.58214e-07_rb,0.56977e-07_rb /) kao(:, 9, 1) = (/ & & 0.17411e-06_rb,0.17654e-06_rb,0.18315e-06_rb,0.18100e-06_rb,0.17839e-06_rb /) kao(:,10, 1) = (/ & & 0.23526e-06_rb,0.22729e-06_rb,0.21947e-06_rb,0.21188e-06_rb,0.20454e-06_rb /) kao(:,11, 1) = (/ & & 0.23535e-06_rb,0.22737e-06_rb,0.21956e-06_rb,0.21196e-06_rb,0.20461e-06_rb /) kao(:,12, 1) = (/ & & 0.23539e-06_rb,0.22740e-06_rb,0.21959e-06_rb,0.21199e-06_rb,0.20465e-06_rb /) kao(:,13, 1) = (/ & & 0.23543e-06_rb,0.22744e-06_rb,0.21962e-06_rb,0.21202e-06_rb,0.20467e-06_rb /) kao(:, 1, 2) = (/ & & 0.62912e-08_rb,0.61559e-08_rb,0.84640e-08_rb,0.59240e-08_rb,0.58217e-08_rb /) kao(:, 2, 2) = (/ & & 0.83749e-08_rb,0.80756e-08_rb,0.11623e-07_rb,0.11272e-07_rb,0.73636e-08_rb /) kao(:, 3, 2) = (/ & & 0.13304e-07_rb,0.12795e-07_rb,0.12343e-07_rb,0.21235e-07_rb,0.11577e-07_rb /) kao(:, 4, 2) = (/ & & 0.20704e-07_rb,0.19736e-07_rb,0.18900e-07_rb,0.18228e-07_rb,0.31601e-07_rb /) kao(:, 5, 2) = (/ & & 0.31149e-07_rb,0.29669e-07_rb,0.28318e-07_rb,0.27101e-07_rb,0.49649e-07_rb /) kao(:, 6, 2) = (/ & & 0.45713e-07_rb,0.43519e-07_rb,0.41488e-07_rb,0.39918e-07_rb,0.38291e-07_rb /) kao(:, 7, 2) = (/ & & 0.77265e-07_rb,0.73848e-07_rb,0.70437e-07_rb,0.67945e-07_rb,0.66127e-07_rb /) kao(:, 8, 2) = (/ & & 0.15754e-06_rb,0.15664e-06_rb,0.15378e-06_rb,0.15027e-06_rb,0.14633e-06_rb /) kao(:, 9, 2) = (/ & & 0.16439e-06_rb,0.14678e-06_rb,0.12610e-06_rb,0.11532e-06_rb,0.10591e-06_rb /) kao(:,10, 2) = (/ & & 0.14366e-06_rb,0.13506e-06_rb,0.12583e-06_rb,0.11774e-06_rb,0.11011e-06_rb /) kao(:,11, 2) = (/ & & 0.14521e-06_rb,0.13766e-06_rb,0.13072e-06_rb,0.12218e-06_rb,0.11400e-06_rb /) kao(:,12, 2) = (/ & & 0.14524e-06_rb,0.13769e-06_rb,0.13074e-06_rb,0.12241e-06_rb,0.11552e-06_rb /) kao(:,13, 2) = (/ & & 0.14525e-06_rb,0.13770e-06_rb,0.13075e-06_rb,0.12252e-06_rb,0.11553e-06_rb /) kao(:, 1, 3) = (/ & & 0.14060e-07_rb,0.13587e-07_rb,0.24644e-07_rb,0.12716e-07_rb,0.12367e-07_rb /) kao(:, 2, 3) = (/ & & 0.17055e-07_rb,0.16577e-07_rb,0.32443e-07_rb,0.31273e-07_rb,0.15381e-07_rb /) kao(:, 3, 3) = (/ & & 0.25414e-07_rb,0.24672e-07_rb,0.23874e-07_rb,0.47281e-07_rb,0.22346e-07_rb /) kao(:, 4, 3) = (/ & & 0.39536e-07_rb,0.38124e-07_rb,0.36836e-07_rb,0.35587e-07_rb,0.72260e-07_rb /) kao(:, 5, 3) = (/ & & 0.59488e-07_rb,0.57630e-07_rb,0.55623e-07_rb,0.53878e-07_rb,0.11230e-06_rb /) kao(:, 6, 3) = (/ & & 0.99996e-07_rb,0.96206e-07_rb,0.93184e-07_rb,0.90812e-07_rb,0.89206e-07_rb /) kao(:, 7, 3) = (/ & & 0.17678e-06_rb,0.17554e-06_rb,0.17358e-06_rb,0.17091e-06_rb,0.16830e-06_rb /) kao(:, 8, 3) = (/ & & 0.18672e-06_rb,0.17850e-06_rb,0.16967e-06_rb,0.16275e-06_rb,0.15875e-06_rb /) kao(:, 9, 3) = (/ & & 0.13558e-06_rb,0.13493e-06_rb,0.13633e-06_rb,0.13799e-06_rb,0.13932e-06_rb /) kao(:,10, 3) = (/ & & 0.18883e-06_rb,0.20452e-06_rb,0.22206e-06_rb,0.24347e-06_rb,0.26091e-06_rb /) kao(:,11, 3) = (/ & & 0.21296e-06_rb,0.23580e-06_rb,0.26439e-06_rb,0.30148e-06_rb,0.34942e-06_rb /) kao(:,12, 3) = (/ & & 0.22072e-06_rb,0.25535e-06_rb,0.28661e-06_rb,0.34814e-06_rb,0.39337e-06_rb /) kao(:,13, 3) = (/ & & 0.22515e-06_rb,0.26161e-06_rb,0.30833e-06_rb,0.36527e-06_rb,0.40123e-06_rb /) kao(:, 1, 4) = (/ & & 0.32735e-07_rb,0.31345e-07_rb,0.58846e-07_rb,0.28258e-07_rb,0.27022e-07_rb /) kao(:, 2, 4) = (/ & & 0.37754e-07_rb,0.36873e-07_rb,0.82776e-07_rb,0.80947e-07_rb,0.35190e-07_rb /) kao(:, 3, 4) = (/ & & 0.76368e-07_rb,0.75292e-07_rb,0.74075e-07_rb,0.10820e-06_rb,0.73183e-07_rb /) kao(:, 4, 4) = (/ & & 0.16392e-06_rb,0.16130e-06_rb,0.15926e-06_rb,0.15700e-06_rb,0.22041e-06_rb /) kao(:, 5, 4) = (/ & & 0.29704e-06_rb,0.28924e-06_rb,0.28301e-06_rb,0.27633e-06_rb,0.42284e-06_rb /) kao(:, 6, 4) = (/ & & 0.48466e-06_rb,0.47240e-06_rb,0.46143e-06_rb,0.45012e-06_rb,0.43867e-06_rb /) kao(:, 7, 4) = (/ & & 0.71637e-06_rb,0.69847e-06_rb,0.67384e-06_rb,0.65368e-06_rb,0.63375e-06_rb /) kao(:, 8, 4) = (/ & & 0.11904e-05_rb,0.11714e-05_rb,0.11524e-05_rb,0.11354e-05_rb,0.11172e-05_rb /) kao(:, 9, 4) = (/ & & 0.21976e-05_rb,0.21606e-05_rb,0.21332e-05_rb,0.20944e-05_rb,0.20536e-05_rb /) kao(:,10, 4) = (/ & & 0.21713e-05_rb,0.21144e-05_rb,0.20553e-05_rb,0.19901e-05_rb,0.19286e-05_rb /) kao(:,11, 4) = (/ & & 0.21443e-05_rb,0.20785e-05_rb,0.20048e-05_rb,0.19232e-05_rb,0.18295e-05_rb /) kao(:,12, 4) = (/ & & 0.21363e-05_rb,0.20578e-05_rb,0.19811e-05_rb,0.18729e-05_rb,0.17807e-05_rb /) kao(:,13, 4) = (/ & & 0.21319e-05_rb,0.20513e-05_rb,0.19580e-05_rb,0.18546e-05_rb,0.17725e-05_rb /) kao(:, 1, 5) = (/ & & 0.36050e-07_rb,0.36125e-07_rb,0.46253e-07_rb,0.37280e-07_rb,0.37359e-07_rb /) kao(:, 2, 5) = (/ & & 0.65102e-07_rb,0.64266e-07_rb,0.68896e-07_rb,0.65925e-07_rb,0.61190e-07_rb /) kao(:, 3, 5) = (/ & & 0.12173e-06_rb,0.11889e-06_rb,0.11625e-06_rb,0.17574e-06_rb,0.10921e-06_rb /) kao(:, 4, 5) = (/ & & 0.20555e-06_rb,0.19853e-06_rb,0.19068e-06_rb,0.18313e-06_rb,0.30241e-06_rb /) kao(:, 5, 5) = (/ & & 0.30900e-06_rb,0.29996e-06_rb,0.28857e-06_rb,0.27772e-06_rb,0.51631e-06_rb /) kao(:, 6, 5) = (/ & & 0.43774e-06_rb,0.42465e-06_rb,0.40920e-06_rb,0.39315e-06_rb,0.37901e-06_rb /) kao(:, 7, 5) = (/ & & 0.63869e-06_rb,0.61654e-06_rb,0.60324e-06_rb,0.58966e-06_rb,0.57948e-06_rb /) kao(:, 8, 5) = (/ & & 0.98362e-06_rb,0.96271e-06_rb,0.94180e-06_rb,0.92206e-06_rb,0.91105e-06_rb /) kao(:, 9, 5) = (/ & & 0.12061e-05_rb,0.11895e-05_rb,0.11564e-05_rb,0.11296e-05_rb,0.11110e-05_rb /) kao(:,10, 5) = (/ & & 0.12958e-05_rb,0.12694e-05_rb,0.12425e-05_rb,0.12153e-05_rb,0.11880e-05_rb /) kao(:,11, 5) = (/ & & 0.12962e-05_rb,0.12698e-05_rb,0.12429e-05_rb,0.12156e-05_rb,0.11883e-05_rb /) kao(:,12, 5) = (/ & & 0.12964e-05_rb,0.12701e-05_rb,0.12431e-05_rb,0.12158e-05_rb,0.11885e-05_rb /) kao(:,13, 5) = (/ & & 0.12966e-05_rb,0.12702e-05_rb,0.12433e-05_rb,0.12160e-05_rb,0.11886e-05_rb /) kao(:, 1, 6) = (/ & & 0.73925e-07_rb,0.70231e-07_rb,0.21454e-06_rb,0.63477e-07_rb,0.60912e-07_rb /) kao(:, 2, 6) = (/ & & 0.67794e-07_rb,0.65807e-07_rb,0.13854e-06_rb,0.13061e-06_rb,0.59361e-07_rb /) kao(:, 3, 6) = (/ & & 0.98353e-07_rb,0.95275e-07_rb,0.92426e-07_rb,0.15768e-06_rb,0.87986e-07_rb /) kao(:, 4, 6) = (/ & & 0.15855e-06_rb,0.15394e-06_rb,0.14948e-06_rb,0.14655e-06_rb,0.23172e-06_rb /) kao(:, 5, 6) = (/ & & 0.27764e-06_rb,0.26941e-06_rb,0.26299e-06_rb,0.25975e-06_rb,0.40526e-06_rb /) kao(:, 6, 6) = (/ & & 0.45469e-06_rb,0.44417e-06_rb,0.43276e-06_rb,0.42440e-06_rb,0.41489e-06_rb /) kao(:, 7, 6) = (/ & & 0.71540e-06_rb,0.71291e-06_rb,0.70656e-06_rb,0.69823e-06_rb,0.68342e-06_rb /) kao(:, 8, 6) = (/ & & 0.79651e-06_rb,0.79807e-06_rb,0.80621e-06_rb,0.80941e-06_rb,0.79835e-06_rb /) kao(:, 9, 6) = (/ & & 0.18716e-06_rb,0.16713e-06_rb,0.14725e-06_rb,0.13728e-06_rb,0.11763e-06_rb /) kao(:,10, 6) = (/ & & 0.92638e-07_rb,0.86207e-07_rb,0.80877e-07_rb,0.70432e-07_rb,0.64517e-07_rb /) kao(:,11, 6) = (/ & & 0.13396e-06_rb,0.12820e-06_rb,0.12387e-06_rb,0.10427e-06_rb,0.94091e-07_rb /) kao(:,12, 6) = (/ & & 0.14877e-06_rb,0.14827e-06_rb,0.14350e-06_rb,0.12154e-06_rb,0.10552e-06_rb /) kao(:,13, 6) = (/ & & 0.15437e-06_rb,0.15323e-06_rb,0.14992e-06_rb,0.12715e-06_rb,0.10933e-06_rb /) kao(:, 1, 7) = (/ & & 0.72717e-06_rb,0.70656e-06_rb,0.13933e-05_rb,0.66449e-06_rb,0.64269e-06_rb /) kao(:, 2, 7) = (/ & & 0.52595e-06_rb,0.50791e-06_rb,0.11171e-05_rb,0.10538e-05_rb,0.45644e-06_rb /) kao(:, 3, 7) = (/ & & 0.29919e-06_rb,0.29227e-06_rb,0.28284e-06_rb,0.65215e-06_rb,0.26347e-06_rb /) kao(:, 4, 7) = (/ & & 0.27961e-06_rb,0.27579e-06_rb,0.27068e-06_rb,0.26343e-06_rb,0.41265e-06_rb /) kao(:, 5, 7) = (/ & & 0.37031e-06_rb,0.36318e-06_rb,0.35475e-06_rb,0.34488e-06_rb,0.53740e-06_rb /) kao(:, 6, 7) = (/ & & 0.53195e-06_rb,0.52692e-06_rb,0.52224e-06_rb,0.51934e-06_rb,0.51146e-06_rb /) kao(:, 7, 7) = (/ & & 0.83043e-06_rb,0.84552e-06_rb,0.84833e-06_rb,0.82800e-06_rb,0.80930e-06_rb /) kao(:, 8, 7) = (/ & & 0.14910e-05_rb,0.15179e-05_rb,0.15248e-05_rb,0.15091e-05_rb,0.14853e-05_rb /) kao(:, 9, 7) = (/ & & 0.37340e-05_rb,0.37823e-05_rb,0.38311e-05_rb,0.38453e-05_rb,0.38567e-05_rb /) kao(:,10, 7) = (/ & & 0.86791e-05_rb,0.89697e-05_rb,0.92118e-05_rb,0.93991e-05_rb,0.95564e-05_rb /) kao(:,11, 7) = (/ & & 0.11878e-04_rb,0.12201e-04_rb,0.12588e-04_rb,0.12897e-04_rb,0.13151e-04_rb /) kao(:,12, 7) = (/ & & 0.13192e-04_rb,0.13732e-04_rb,0.14137e-04_rb,0.14465e-04_rb,0.14643e-04_rb /) kao(:,13, 7) = (/ & & 0.13716e-04_rb,0.14229e-04_rb,0.14617e-04_rb,0.14944e-04_rb,0.15182e-04_rb /) kao(:, 1, 8) = (/ & & 0.39538e-05_rb,0.38949e-05_rb,0.56188e-05_rb,0.37475e-05_rb,0.36648e-05_rb /) kao(:, 2, 8) = (/ & & 0.34231e-05_rb,0.33633e-05_rb,0.51877e-05_rb,0.50048e-05_rb,0.31425e-05_rb /) kao(:, 3, 8) = (/ & & 0.28073e-05_rb,0.27497e-05_rb,0.26875e-05_rb,0.44405e-05_rb,0.25492e-05_rb /) kao(:, 4, 8) = (/ & & 0.19229e-05_rb,0.18818e-05_rb,0.18382e-05_rb,0.17896e-05_rb,0.33073e-05_rb /) kao(:, 5, 8) = (/ & & 0.11453e-05_rb,0.11293e-05_rb,0.11095e-05_rb,0.10866e-05_rb,0.19344e-05_rb /) kao(:, 6, 8) = (/ & & 0.14565e-05_rb,0.14517e-05_rb,0.14369e-05_rb,0.14141e-05_rb,0.13944e-05_rb /) kao(:, 7, 8) = (/ & & 0.23228e-05_rb,0.22753e-05_rb,0.22395e-05_rb,0.22124e-05_rb,0.21731e-05_rb /) kao(:, 8, 8) = (/ & & 0.34877e-05_rb,0.34362e-05_rb,0.33796e-05_rb,0.33389e-05_rb,0.32924e-05_rb /) kao(:, 9, 8) = (/ & & 0.63448e-05_rb,0.63701e-05_rb,0.63619e-05_rb,0.62632e-05_rb,0.61645e-05_rb /) kao(:,10, 8) = (/ & & 0.12155e-04_rb,0.11880e-04_rb,0.11762e-04_rb,0.11759e-04_rb,0.11651e-04_rb /) kao(:,11, 8) = (/ & & 0.14093e-04_rb,0.13835e-04_rb,0.13547e-04_rb,0.13205e-04_rb,0.12690e-04_rb /) kao(:,12, 8) = (/ & & 0.14428e-04_rb,0.14056e-04_rb,0.13932e-04_rb,0.13396e-04_rb,0.12885e-04_rb /) kao(:,13, 8) = (/ & & 0.15229e-04_rb,0.14534e-04_rb,0.13849e-04_rb,0.13292e-04_rb,0.12704e-04_rb /) kao(:, 1, 9) = (/ & & 0.19250e-04_rb,0.19148e-04_rb,0.21702e-04_rb,0.18906e-04_rb,0.18761e-04_rb /) kao(:, 2, 9) = (/ & & 0.18132e-04_rb,0.18040e-04_rb,0.20884e-04_rb,0.20523e-04_rb,0.17656e-04_rb /) kao(:, 3, 9) = (/ & & 0.16928e-04_rb,0.16843e-04_rb,0.16742e-04_rb,0.19715e-04_rb,0.16470e-04_rb /) kao(:, 4, 9) = (/ & & 0.15526e-04_rb,0.15463e-04_rb,0.15377e-04_rb,0.15268e-04_rb,0.18367e-04_rb /) kao(:, 5, 9) = (/ & & 0.13545e-04_rb,0.13511e-04_rb,0.13455e-04_rb,0.13362e-04_rb,0.16722e-04_rb /) kao(:, 6, 9) = (/ & & 0.97183e-05_rb,0.97218e-05_rb,0.97084e-05_rb,0.96717e-05_rb,0.96030e-05_rb /) kao(:, 7, 9) = (/ & & 0.50307e-05_rb,0.50984e-05_rb,0.51628e-05_rb,0.52093e-05_rb,0.52354e-05_rb /) kao(:, 8, 9) = (/ & & 0.45837e-05_rb,0.45939e-05_rb,0.45938e-05_rb,0.45639e-05_rb,0.45109e-05_rb /) kao(:, 9, 9) = (/ & & 0.12254e-04_rb,0.12319e-04_rb,0.12397e-04_rb,0.12584e-04_rb,0.12620e-04_rb /) kao(:,10, 9) = (/ & & 0.21545e-04_rb,0.21836e-04_rb,0.21718e-04_rb,0.21511e-04_rb,0.21211e-04_rb /) kao(:,11, 9) = (/ & & 0.20079e-04_rb,0.19539e-04_rb,0.18859e-04_rb,0.18393e-04_rb,0.18181e-04_rb /) kao(:,12, 9) = (/ & & 0.17115e-04_rb,0.16357e-04_rb,0.15410e-04_rb,0.15220e-04_rb,0.15207e-04_rb /) kao(:,13, 9) = (/ & & 0.14935e-04_rb,0.14679e-04_rb,0.14593e-04_rb,0.14448e-04_rb,0.14436e-04_rb /) kao(:, 1,10) = (/ & & 0.53569e-04_rb,0.53042e-04_rb,0.55454e-04_rb,0.52098e-04_rb,0.51678e-04_rb /) kao(:, 2,10) = (/ & & 0.52196e-04_rb,0.51739e-04_rb,0.54777e-04_rb,0.54075e-04_rb,0.50624e-04_rb /) kao(:, 3,10) = (/ & & 0.50339e-04_rb,0.50046e-04_rb,0.49769e-04_rb,0.53168e-04_rb,0.49370e-04_rb /) kao(:, 4,10) = (/ & & 0.48505e-04_rb,0.48316e-04_rb,0.48143e-04_rb,0.47993e-04_rb,0.51621e-04_rb /) kao(:, 5,10) = (/ & & 0.46313e-04_rb,0.46267e-04_rb,0.46119e-04_rb,0.46064e-04_rb,0.50279e-04_rb /) kao(:, 6,10) = (/ & & 0.42662e-04_rb,0.42818e-04_rb,0.42935e-04_rb,0.43007e-04_rb,0.43099e-04_rb /) kao(:, 7,10) = (/ & & 0.35762e-04_rb,0.36149e-04_rb,0.36450e-04_rb,0.36639e-04_rb,0.36887e-04_rb /) kao(:, 8,10) = (/ & & 0.13516e-05_rb,0.18607e-05_rb,0.23061e-05_rb,0.27339e-05_rb,0.36516e-05_rb /) kao(:, 9,10) = (/ & & 0.36432e-05_rb,0.40739e-05_rb,0.43830e-05_rb,0.41136e-05_rb,0.43128e-05_rb /) kao(:,10,10) = (/ & & 0.62049e-05_rb,0.69116e-05_rb,0.73244e-05_rb,0.65087e-05_rb,0.78951e-05_rb /) kao(:,11,10) = (/ & & 0.32156e-05_rb,0.38834e-05_rb,0.41231e-05_rb,0.43386e-05_rb,0.43405e-05_rb /) kao(:,12,10) = (/ & & 0.22152e-05_rb,0.26754e-05_rb,0.31971e-05_rb,0.34911e-05_rb,0.37935e-05_rb /) kao(:,13,10) = (/ & & 0.19792e-05_rb,0.26543e-05_rb,0.31511e-05_rb,0.34597e-05_rb,0.40624e-05_rb /) kao(:, 1,11) = (/ & & 0.75384e-04_rb,0.75103e-04_rb,0.77406e-04_rb,0.74222e-04_rb,0.73734e-04_rb /) kao(:, 2,11) = (/ & & 0.75458e-04_rb,0.75244e-04_rb,0.77778e-04_rb,0.77018e-04_rb,0.73942e-04_rb /) kao(:, 3,11) = (/ & & 0.75023e-04_rb,0.74844e-04_rb,0.74477e-04_rb,0.77271e-04_rb,0.73633e-04_rb /) kao(:, 4,11) = (/ & & 0.73633e-04_rb,0.73539e-04_rb,0.73257e-04_rb,0.72934e-04_rb,0.76232e-04_rb /) kao(:, 5,11) = (/ & & 0.71348e-04_rb,0.71322e-04_rb,0.71227e-04_rb,0.71069e-04_rb,0.75258e-04_rb /) kao(:, 6,11) = (/ & & 0.67784e-04_rb,0.67873e-04_rb,0.67974e-04_rb,0.67924e-04_rb,0.67903e-04_rb /) kao(:, 7,11) = (/ & & 0.61855e-04_rb,0.61922e-04_rb,0.61973e-04_rb,0.62206e-04_rb,0.62496e-04_rb /) kao(:, 8,11) = (/ & & 0.36622e-04_rb,0.37413e-04_rb,0.38740e-04_rb,0.40550e-04_rb,0.41833e-04_rb /) kao(:, 9,11) = (/ & & 0.28544e-05_rb,0.28831e-05_rb,0.31445e-05_rb,0.32900e-05_rb,0.27967e-05_rb /) kao(:,10,11) = (/ & & 0.53755e-05_rb,0.42123e-05_rb,0.51154e-05_rb,0.63481e-05_rb,0.54219e-05_rb /) kao(:,11,11) = (/ & & 0.12605e-05_rb,0.14078e-05_rb,0.19167e-05_rb,0.23729e-05_rb,0.30161e-05_rb /) kao(:,12,11) = (/ & & 0.11370e-05_rb,0.91524e-06_rb,0.11150e-05_rb,0.14746e-05_rb,0.20128e-05_rb /) kao(:,13,11) = (/ & & 0.10511e-05_rb,0.10014e-05_rb,0.11405e-05_rb,0.13852e-05_rb,0.15576e-05_rb /) kao(:, 1,12) = (/ & & 0.11184e-03_rb,0.11117e-03_rb,0.11327e-03_rb,0.10989e-03_rb,0.10910e-03_rb /) kao(:, 2,12) = (/ & & 0.11379e-03_rb,0.11322e-03_rb,0.11555e-03_rb,0.11462e-03_rb,0.11135e-03_rb /) kao(:, 3,12) = (/ & & 0.11508e-03_rb,0.11459e-03_rb,0.11421e-03_rb,0.11671e-03_rb,0.11339e-03_rb /) kao(:, 4,12) = (/ & & 0.11596e-03_rb,0.11563e-03_rb,0.11538e-03_rb,0.11511e-03_rb,0.11770e-03_rb /) kao(:, 5,12) = (/ & & 0.11597e-03_rb,0.11581e-03_rb,0.11569e-03_rb,0.11553e-03_rb,0.11890e-03_rb /) kao(:, 6,12) = (/ & & 0.11443e-03_rb,0.11445e-03_rb,0.11443e-03_rb,0.11443e-03_rb,0.11438e-03_rb /) kao(:, 7,12) = (/ & & 0.10852e-03_rb,0.10888e-03_rb,0.10912e-03_rb,0.10934e-03_rb,0.10942e-03_rb /) kao(:, 8,12) = (/ & & 0.93194e-04_rb,0.94766e-04_rb,0.95355e-04_rb,0.95090e-04_rb,0.94926e-04_rb /) kao(:, 9,12) = (/ & & 0.11836e-05_rb,0.16115e-05_rb,0.12883e-05_rb,0.14202e-05_rb,0.16541e-05_rb /) kao(:,10,12) = (/ & & 0.18748e-05_rb,0.34401e-05_rb,0.39984e-05_rb,0.44576e-05_rb,0.33683e-05_rb /) kao(:,11,12) = (/ & & 0.29890e-06_rb,0.48741e-06_rb,0.66276e-06_rb,0.99698e-06_rb,0.19230e-05_rb /) kao(:,12,12) = (/ & & 0.15034e-06_rb,0.39966e-06_rb,0.56523e-06_rb,0.70494e-06_rb,0.10046e-05_rb /) kao(:,13,12) = (/ & & 0.15016e-06_rb,0.25751e-06_rb,0.48928e-06_rb,0.63534e-06_rb,0.93575e-06_rb /) kao(:, 1,13) = (/ & & 0.17305e-03_rb,0.17234e-03_rb,0.17389e-03_rb,0.17055e-03_rb,0.16974e-03_rb /) kao(:, 2,13) = (/ & & 0.18170e-03_rb,0.18075e-03_rb,0.18265e-03_rb,0.18138e-03_rb,0.17772e-03_rb /) kao(:, 3,13) = (/ & & 0.18990e-03_rb,0.18892e-03_rb,0.18776e-03_rb,0.18950e-03_rb,0.18494e-03_rb /) kao(:, 4,13) = (/ & & 0.19649e-03_rb,0.19552e-03_rb,0.19424e-03_rb,0.19281e-03_rb,0.19464e-03_rb /) kao(:, 5,13) = (/ & & 0.20197e-03_rb,0.20109e-03_rb,0.19993e-03_rb,0.19856e-03_rb,0.20092e-03_rb /) kao(:, 6,13) = (/ & & 0.20595e-03_rb,0.20549e-03_rb,0.20452e-03_rb,0.20331e-03_rb,0.20199e-03_rb /) kao(:, 7,13) = (/ & & 0.20703e-03_rb,0.20710e-03_rb,0.20649e-03_rb,0.20552e-03_rb,0.20428e-03_rb /) kao(:, 8,13) = (/ & & 0.19874e-03_rb,0.19767e-03_rb,0.19696e-03_rb,0.19655e-03_rb,0.19591e-03_rb /) kao(:, 9,13) = (/ & & 0.20434e-04_rb,0.23398e-04_rb,0.27400e-04_rb,0.32409e-04_rb,0.38451e-04_rb /) kao(:,10,13) = (/ & & 0.18617e-05_rb,0.99513e-06_rb,0.10554e-05_rb,0.16516e-05_rb,0.37792e-05_rb /) kao(:,11,13) = (/ & & 0.12517e-06_rb,0.29518e-06_rb,0.77058e-06_rb,0.11660e-05_rb,0.15349e-05_rb /) kao(:,12,13) = (/ & & 0.12734e-06_rb,0.36524e-06_rb,0.66699e-06_rb,0.10362e-05_rb,0.14158e-05_rb /) kao(:,13,13) = (/ & & 0.12431e-06_rb,0.39389e-06_rb,0.67331e-06_rb,0.10292e-05_rb,0.14448e-05_rb /) kao(:, 1,14) = (/ & & 0.29365e-03_rb,0.29046e-03_rb,0.29008e-03_rb,0.28509e-03_rb,0.28286e-03_rb /) kao(:, 2,14) = (/ & & 0.31990e-03_rb,0.31668e-03_rb,0.31617e-03_rb,0.31332e-03_rb,0.30885e-03_rb /) kao(:, 3,14) = (/ & & 0.34787e-03_rb,0.34432e-03_rb,0.34112e-03_rb,0.34052e-03_rb,0.33589e-03_rb /) kao(:, 4,14) = (/ & & 0.37401e-03_rb,0.37027e-03_rb,0.36696e-03_rb,0.36394e-03_rb,0.36355e-03_rb /) kao(:, 5,14) = (/ & & 0.39840e-03_rb,0.39446e-03_rb,0.39082e-03_rb,0.38763e-03_rb,0.38760e-03_rb /) kao(:, 6,14) = (/ & & 0.42165e-03_rb,0.41729e-03_rb,0.41335e-03_rb,0.41006e-03_rb,0.40721e-03_rb /) kao(:, 7,14) = (/ & & 0.44257e-03_rb,0.43782e-03_rb,0.43364e-03_rb,0.43014e-03_rb,0.42736e-03_rb /) kao(:, 8,14) = (/ & & 0.45299e-03_rb,0.44953e-03_rb,0.44586e-03_rb,0.44260e-03_rb,0.44006e-03_rb /) kao(:, 9,14) = (/ & & 0.40190e-03_rb,0.39751e-03_rb,0.39238e-03_rb,0.38812e-03_rb,0.38612e-03_rb /) kao(:,10,14) = (/ & & 0.64278e-05_rb,0.18248e-05_rb,0.16996e-05_rb,0.31086e-06_rb,0.16836e-06_rb /) kao(:,11,14) = (/ & & 0.14350e-05_rb,0.94778e-06_rb,0.41349e-06_rb,0.20817e-06_rb,0.20238e-06_rb /) kao(:,12,14) = (/ & & 0.16805e-05_rb,0.15323e-05_rb,0.62348e-06_rb,0.99743e-07_rb,0.12977e-06_rb /) kao(:,13,14) = (/ & & 0.16858e-05_rb,0.17103e-05_rb,0.80574e-06_rb,0.15825e-06_rb,0.15032e-06_rb /) kao(:, 1,15) = (/ & & 0.52181e-03_rb,0.51578e-03_rb,0.51251e-03_rb,0.50356e-03_rb,0.49731e-03_rb /) kao(:, 2,15) = (/ & & 0.59491e-03_rb,0.58822e-03_rb,0.58413e-03_rb,0.57646e-03_rb,0.56692e-03_rb /) kao(:, 3,15) = (/ & & 0.67653e-03_rb,0.66881e-03_rb,0.66126e-03_rb,0.65540e-03_rb,0.64461e-03_rb /) kao(:, 4,15) = (/ & & 0.76388e-03_rb,0.75456e-03_rb,0.74556e-03_rb,0.73649e-03_rb,0.72840e-03_rb /) kao(:, 5,15) = (/ & & 0.85507e-03_rb,0.84417e-03_rb,0.83378e-03_rb,0.82338e-03_rb,0.81349e-03_rb /) kao(:, 6,15) = (/ & & 0.95034e-03_rb,0.93798e-03_rb,0.92553e-03_rb,0.91287e-03_rb,0.89957e-03_rb /) kao(:, 7,15) = (/ & & 0.10496e-02_rb,0.10352e-02_rb,0.10206e-02_rb,0.10054e-02_rb,0.98958e-03_rb /) kao(:, 8,15) = (/ & & 0.11507e-02_rb,0.11337e-02_rb,0.11169e-02_rb,0.10991e-02_rb,0.10806e-02_rb /) kao(:, 9,15) = (/ & & 0.12408e-02_rb,0.12207e-02_rb,0.11996e-02_rb,0.11773e-02_rb,0.11531e-02_rb /) kao(:,10,15) = (/ & & 0.12042e-03_rb,0.11501e-03_rb,0.11424e-03_rb,0.11450e-03_rb,0.13219e-03_rb /) kao(:,11,15) = (/ & & 0.68914e-06_rb,0.83960e-06_rb,0.74591e-06_rb,0.18660e-05_rb,0.32503e-05_rb /) kao(:,12,15) = (/ & & 0.35963e-07_rb,0.46256e-06_rb,0.56223e-06_rb,0.98816e-06_rb,0.92366e-06_rb /) kao(:,13,15) = (/ & & 0.36605e-07_rb,0.56591e-06_rb,0.84008e-06_rb,0.86042e-06_rb,0.68452e-06_rb /) kao(:, 1,16) = (/ & & 0.76517e-03_rb,0.75944e-03_rb,0.76010e-03_rb,0.76100e-03_rb,0.76498e-03_rb /) kao(:, 2,16) = (/ & & 0.92375e-03_rb,0.91357e-03_rb,0.90997e-03_rb,0.90997e-03_rb,0.90993e-03_rb /) kao(:, 3,16) = (/ & & 0.11142e-02_rb,0.10974e-02_rb,0.10835e-02_rb,0.10789e-02_rb,0.10748e-02_rb /) kao(:, 4,16) = (/ & & 0.13278e-02_rb,0.13025e-02_rb,0.12802e-02_rb,0.12631e-02_rb,0.12539e-02_rb /) kao(:, 5,16) = (/ & & 0.15712e-02_rb,0.15343e-02_rb,0.15017e-02_rb,0.14713e-02_rb,0.14497e-02_rb /) kao(:, 6,16) = (/ & & 0.18525e-02_rb,0.17982e-02_rb,0.17525e-02_rb,0.17101e-02_rb,0.16714e-02_rb /) kao(:, 7,16) = (/ & & 0.21731e-02_rb,0.20986e-02_rb,0.20340e-02_rb,0.19757e-02_rb,0.19210e-02_rb /) kao(:, 8,16) = (/ & & 0.25325e-02_rb,0.24346e-02_rb,0.23473e-02_rb,0.22687e-02_rb,0.21950e-02_rb /) kao(:, 9,16) = (/ & & 0.29269e-02_rb,0.28006e-02_rb,0.26863e-02_rb,0.25805e-02_rb,0.24878e-02_rb /) kao(:,10,16) = (/ & & 0.29442e-02_rb,0.27008e-02_rb,0.23913e-02_rb,0.21437e-02_rb,0.18865e-02_rb /) kao(:,11,16) = (/ & & 0.23220e-05_rb,0.22310e-04_rb,0.48349e-04_rb,0.67183e-04_rb,0.88908e-04_rb /) kao(:,12,16) = (/ & & 0.22857e-05_rb,0.11848e-04_rb,0.42066e-04_rb,0.67613e-04_rb,0.86033e-04_rb /) kao(:,13,16) = (/ & & 0.22823e-05_rb,0.69105e-05_rb,0.36212e-04_rb,0.66247e-04_rb,0.85488e-04_rb /) end subroutine sw_kgb25 ! ************************************************************************** subroutine sw_kgb26 ! ************************************************************************** use parkind, only : im => kind_im, rb => kind_rb use rrsw_kg26, only : sfluxrefo, raylo implicit none save ! Kurucz solar source function sfluxrefo(:) = (/ & ! & 129.462_rb, 15*0._rb /) & 29.0079_rb, 28.4088_rb, 20.3099_rb, 13.0283_rb & &, 11.8619_rb, 9.95840_rb, 6.68696_rb, 5.38987_rb & &, 3.49829_rb, 0.407693_rb, 0.299027_rb, 0.236827_rb & &, 0.188502_rb, 0.163489_rb, 4.64335e-02_rb, 2.72662e-03_rb /) ! Rayleigh extinction coefficient at all v raylo(:) = (/ & & 1.21263e-06_rb,1.43428e-06_rb,1.67677e-06_rb,1.93255e-06_rb & &, 2.19177e-06_rb,2.44195e-06_rb,2.66926e-06_rb,2.85990e-06_rb & &, 3.00380e-06_rb,3.06996e-06_rb,3.08184e-06_rb,3.09172e-06_rb & &, 3.09938e-06_rb,3.10456e-06_rb,3.10727e-06_rb,3.10818e-06_rb /) end subroutine sw_kgb26 ! ************************************************************************** subroutine sw_kgb27 ! ************************************************************************** use parkind, only : im => kind_im, rb => kind_rb use rrsw_kg27, only : kao, kbo, sfluxrefo, raylo, & scalekur, layreffr implicit none save ! Kurucz solar source function ! The following values were obtained using the "low resolution" ! version of the Kurucz solar source function. For unknown reasons, ! the total irradiance in this band differs from the corresponding ! total in the "high-resolution" version of the Kurucz function. ! Therefore, below these values are scaled by the factor SCALEKUR. sfluxrefo(:) = (/ & & 14.0526_rb , 11.4794_rb , 8.72590_rb , 5.56966_rb , & & 3.80927_rb , 1.57690_rb , 1.15099_rb , 1.10012_rb , & & 0.658212_rb , 5.86859e-02_rb, 5.56186e-02_rb, 4.68040e-02_rb, & & 3.64897e-02_rb, 3.58053e-02_rb, 1.38130e-02_rb, 1.90193e-03_rb /) ! Rayleigh extinction coefficient at v = 2925 cm-1. raylo(:) = (/ & & 3.44534e-06_rb,4.14480e-06_rb,4.95069e-06_rb,5.81204e-06_rb, & & 6.69748e-06_rb,7.56488e-06_rb,8.36344e-06_rb,9.04135e-06_rb, & & 9.58324e-06_rb,9.81542e-06_rb,9.75119e-06_rb,9.74533e-06_rb, & & 9.74139e-06_rb,9.73525e-06_rb,9.73577e-06_rb,9.73618e-06_rb /) scalekur = 50.15_rb/48.37_rb layreffr = 32 ! ------------------------------------------------------------------ ! The array KAO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels> ~100mb, temperatures, and binary ! species parameters (see taumol.f for definition). The first ! index in the array, JS, runs from 1 to 9, and corresponds to ! different values of the binary species parameter. For instance, ! JS=1 refers to dry air, JS = 2 corresponds to the paramter value 1/8, ! JS = 3 corresponds to the parameter value 2/8, etc. The second index ! in the array, JT, which runs from 1 to 5, corresponds to different ! temperatures. More specifically, JT = 3 means that the data are for ! the reference temperature TREF for this pressure level, JT = 2 refers ! to TREF-15, JT = 1 is for TREF-30, JT = 4 is for TREF+15, and JT = 5 ! is for TREF+30. The third index, JP, runs from 1 to 13 and refers ! to the JPth reference pressure level (see taumol.f for these levels ! in mb). The fourth index, IG, goes from 1 to 16, and indicates ! which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kao(:, 1, 1) = (/ & & 0.22907e+00_rb,0.25625e+00_rb,0.28779e+00_rb,0.32376e+00_rb,0.36426e+00_rb /) kao(:, 2, 1) = (/ & & 0.21913e+00_rb,0.24445e+00_rb,0.27422e+00_rb,0.30832e+00_rb,0.34694e+00_rb /) kao(:, 3, 1) = (/ & & 0.20602e+00_rb,0.22864e+00_rb,0.25574e+00_rb,0.28721e+00_rb,0.32310e+00_rb /) kao(:, 4, 1) = (/ & & 0.19379e+00_rb,0.21352e+00_rb,0.23771e+00_rb,0.26643e+00_rb,0.29940e+00_rb /) kao(:, 5, 1) = (/ & & 0.18369e+00_rb,0.20061e+00_rb,0.22200e+00_rb,0.24786e+00_rb,0.27816e+00_rb /) kao(:, 6, 1) = (/ & & 0.17517e+00_rb,0.18920e+00_rb,0.20771e+00_rb,0.23069e+00_rb,0.25817e+00_rb /) kao(:, 7, 1) = (/ & & 0.16888e+00_rb,0.17988e+00_rb,0.19559e+00_rb,0.21577e+00_rb,0.24042e+00_rb /) kao(:, 8, 1) = (/ & & 0.16442e+00_rb,0.17273e+00_rb,0.18565e+00_rb,0.20315e+00_rb,0.22512e+00_rb /) kao(:, 9, 1) = (/ & & 0.16159e+00_rb,0.16738e+00_rb,0.17752e+00_rb,0.19242e+00_rb,0.21179e+00_rb /) kao(:,10, 1) = (/ & & 0.16037e+00_rb,0.16402e+00_rb,0.17204e+00_rb,0.18463e+00_rb,0.20183e+00_rb /) kao(:,11, 1) = (/ & & 0.16036e+00_rb,0.16399e+00_rb,0.17198e+00_rb,0.18455e+00_rb,0.20173e+00_rb /) kao(:,12, 1) = (/ & & 0.16036e+00_rb,0.16399e+00_rb,0.17198e+00_rb,0.18455e+00_rb,0.20173e+00_rb /) kao(:,13, 1) = (/ & & 0.16036e+00_rb,0.16399e+00_rb,0.17198e+00_rb,0.18455e+00_rb,0.20173e+00_rb /) kao(:, 1, 2) = (/ & & 0.20716e+01_rb,0.21925e+01_rb,0.23327e+01_rb,0.24921e+01_rb,0.26726e+01_rb /) kao(:, 2, 2) = (/ & & 0.20272e+01_rb,0.21401e+01_rb,0.22723e+01_rb,0.24238e+01_rb,0.25950e+01_rb /) kao(:, 3, 2) = (/ & & 0.19684e+01_rb,0.20697e+01_rb,0.21902e+01_rb,0.23301e+01_rb,0.24892e+01_rb /) kao(:, 4, 2) = (/ & & 0.19133e+01_rb,0.20021e+01_rb,0.21101e+01_rb,0.22375e+01_rb,0.23842e+01_rb /) kao(:, 5, 2) = (/ & & 0.18673e+01_rb,0.19441e+01_rb,0.20400e+01_rb,0.21553e+01_rb,0.22898e+01_rb /) kao(:, 6, 2) = (/ & & 0.18277e+01_rb,0.18925e+01_rb,0.19760e+01_rb,0.20788e+01_rb,0.22009e+01_rb /) kao(:, 7, 2) = (/ & & 0.17963e+01_rb,0.18497e+01_rb,0.19214e+01_rb,0.20121e+01_rb,0.21222e+01_rb /) kao(:, 8, 2) = (/ & & 0.17749e+01_rb,0.18156e+01_rb,0.18763e+01_rb,0.19555e+01_rb,0.20540e+01_rb /) kao(:, 9, 2) = (/ & & 0.17600e+01_rb,0.17885e+01_rb,0.18388e+01_rb,0.19071e+01_rb,0.19943e+01_rb /) kao(:,10, 2) = (/ & & 0.17526e+01_rb,0.17729e+01_rb,0.18121e+01_rb,0.18716e+01_rb,0.19496e+01_rb /) kao(:,11, 2) = (/ & & 0.17525e+01_rb,0.17727e+01_rb,0.18119e+01_rb,0.18712e+01_rb,0.19491e+01_rb /) kao(:,12, 2) = (/ & & 0.17525e+01_rb,0.17727e+01_rb,0.18119e+01_rb,0.18712e+01_rb,0.19491e+01_rb /) kao(:,13, 2) = (/ & & 0.17525e+01_rb,0.17727e+01_rb,0.18119e+01_rb,0.18712e+01_rb,0.19491e+01_rb /) kao(:, 1, 3) = (/ & & 0.12189e+02_rb,0.12619e+02_rb,0.13110e+02_rb,0.13663e+02_rb,0.14275e+02_rb /) kao(:, 2, 3) = (/ & & 0.12030e+02_rb,0.12434e+02_rb,0.12899e+02_rb,0.13427e+02_rb,0.14015e+02_rb /) kao(:, 3, 3) = (/ & & 0.11816e+02_rb,0.12183e+02_rb,0.12611e+02_rb,0.13101e+02_rb,0.13653e+02_rb /) kao(:, 4, 3) = (/ & & 0.11611e+02_rb,0.11938e+02_rb,0.12327e+02_rb,0.12777e+02_rb,0.13289e+02_rb /) kao(:, 5, 3) = (/ & & 0.11437e+02_rb,0.11726e+02_rb,0.12076e+02_rb,0.12488e+02_rb,0.12961e+02_rb /) kao(:, 6, 3) = (/ & & 0.11284e+02_rb,0.11533e+02_rb,0.11843e+02_rb,0.12215e+02_rb,0.12649e+02_rb /) kao(:, 7, 3) = (/ & & 0.11160e+02_rb,0.11370e+02_rb,0.11641e+02_rb,0.11975e+02_rb,0.12370e+02_rb /) kao(:, 8, 3) = (/ & & 0.11063e+02_rb,0.11237e+02_rb,0.11471e+02_rb,0.11768e+02_rb,0.12126e+02_rb /) kao(:, 9, 3) = (/ & & 0.10990e+02_rb,0.11129e+02_rb,0.11327e+02_rb,0.11588e+02_rb,0.11910e+02_rb /) kao(:,10, 3) = (/ & & 0.10945e+02_rb,0.11053e+02_rb,0.11223e+02_rb,0.11454e+02_rb,0.11746e+02_rb /) kao(:,11, 3) = (/ & & 0.10945e+02_rb,0.11052e+02_rb,0.11222e+02_rb,0.11452e+02_rb,0.11744e+02_rb /) kao(:,12, 3) = (/ & & 0.10945e+02_rb,0.11052e+02_rb,0.11222e+02_rb,0.11452e+02_rb,0.11744e+02_rb /) kao(:,13, 3) = (/ & & 0.10945e+02_rb,0.11052e+02_rb,0.11222e+02_rb,0.11452e+02_rb,0.11744e+02_rb /) kao(:, 1, 4) = (/ & & 0.55057e+02_rb,0.56143e+02_rb,0.57364e+02_rb,0.58719e+02_rb,0.60208e+02_rb /) kao(:, 2, 4) = (/ & & 0.54647e+02_rb,0.55677e+02_rb,0.56842e+02_rb,0.58142e+02_rb,0.59575e+02_rb /) kao(:, 3, 4) = (/ & & 0.54090e+02_rb,0.55039e+02_rb,0.56123e+02_rb,0.57342e+02_rb,0.58694e+02_rb /) kao(:, 4, 4) = (/ & & 0.53548e+02_rb,0.54410e+02_rb,0.55408e+02_rb,0.56539e+02_rb,0.57805e+02_rb /) kao(:, 5, 4) = (/ & & 0.53074e+02_rb,0.53853e+02_rb,0.54766e+02_rb,0.55813e+02_rb,0.56995e+02_rb /) kao(:, 6, 4) = (/ & & 0.52644e+02_rb,0.53336e+02_rb,0.54162e+02_rb,0.55123e+02_rb,0.56218e+02_rb /) kao(:, 7, 4) = (/ & & 0.52279e+02_rb,0.52887e+02_rb,0.53629e+02_rb,0.54505e+02_rb,0.55516e+02_rb /) kao(:, 8, 4) = (/ & & 0.51979e+02_rb,0.52507e+02_rb,0.53168e+02_rb,0.53965e+02_rb,0.54895e+02_rb /) kao(:, 9, 4) = (/ & & 0.51734e+02_rb,0.52183e+02_rb,0.52767e+02_rb,0.53485e+02_rb,0.54337e+02_rb /) kao(:,10, 4) = (/ & & 0.51565e+02_rb,0.51948e+02_rb,0.52467e+02_rb,0.53120e+02_rb,0.53907e+02_rb /) kao(:,11, 4) = (/ & & 0.51563e+02_rb,0.51946e+02_rb,0.52464e+02_rb,0.53116e+02_rb,0.53902e+02_rb /) kao(:,12, 4) = (/ & & 0.51563e+02_rb,0.51946e+02_rb,0.52464e+02_rb,0.53116e+02_rb,0.53902e+02_rb /) kao(:,13, 4) = (/ & & 0.51563e+02_rb,0.51946e+02_rb,0.52464e+02_rb,0.53116e+02_rb,0.53902e+02_rb /) kao(:, 1, 5) = (/ & & 0.17794e+03_rb,0.17973e+03_rb,0.18164e+03_rb,0.18366e+03_rb,0.18581e+03_rb /) kao(:, 2, 5) = (/ & & 0.17724e+03_rb,0.17898e+03_rb,0.18083e+03_rb,0.18281e+03_rb,0.18491e+03_rb /) kao(:, 3, 5) = (/ & & 0.17624e+03_rb,0.17791e+03_rb,0.17970e+03_rb,0.18160e+03_rb,0.18363e+03_rb /) kao(:, 4, 5) = (/ & & 0.17523e+03_rb,0.17682e+03_rb,0.17853e+03_rb,0.18036e+03_rb,0.18231e+03_rb /) kao(:, 5, 5) = (/ & & 0.17429e+03_rb,0.17581e+03_rb,0.17744e+03_rb,0.17920e+03_rb,0.18107e+03_rb /) kao(:, 6, 5) = (/ & & 0.17338e+03_rb,0.17482e+03_rb,0.17638e+03_rb,0.17805e+03_rb,0.17985e+03_rb /) kao(:, 7, 5) = (/ & & 0.17253e+03_rb,0.17390e+03_rb,0.17539e+03_rb,0.17699e+03_rb,0.17871e+03_rb /) kao(:, 8, 5) = (/ & & 0.17177e+03_rb,0.17307e+03_rb,0.17448e+03_rb,0.17601e+03_rb,0.17767e+03_rb /) kao(:, 9, 5) = (/ & & 0.17107e+03_rb,0.17230e+03_rb,0.17364e+03_rb,0.17511e+03_rb,0.17669e+03_rb /) kao(:,10, 5) = (/ & & 0.17052e+03_rb,0.17169e+03_rb,0.17298e+03_rb,0.17438e+03_rb,0.17591e+03_rb /) kao(:,11, 5) = (/ & & 0.17051e+03_rb,0.17168e+03_rb,0.17297e+03_rb,0.17437e+03_rb,0.17590e+03_rb /) kao(:,12, 5) = (/ & & 0.17051e+03_rb,0.17168e+03_rb,0.17297e+03_rb,0.17437e+03_rb,0.17590e+03_rb /) kao(:,13, 5) = (/ & & 0.17051e+03_rb,0.17168e+03_rb,0.17297e+03_rb,0.17437e+03_rb,0.17590e+03_rb /) kao(:, 1, 6) = (/ & & 0.37680e+05_rb,0.36801e+05_rb,0.36011e+05_rb,0.35298e+05_rb,0.34715e+05_rb /) kao(:, 2, 6) = (/ & & 0.39286e+03_rb,0.39463e+03_rb,0.39616e+03_rb,0.39748e+03_rb,0.39858e+03_rb /) kao(:, 3, 6) = (/ & & 0.39169e+03_rb,0.39359e+03_rb,0.39526e+03_rb,0.39671e+03_rb,0.39794e+03_rb /) kao(:, 4, 6) = (/ & & 0.39034e+03_rb,0.39239e+03_rb,0.39421e+03_rb,0.39580e+03_rb,0.39717e+03_rb /) kao(:, 5, 6) = (/ & & 0.38895e+03_rb,0.39113e+03_rb,0.39309e+03_rb,0.39483e+03_rb,0.39634e+03_rb /) kao(:, 6, 6) = (/ & & 0.38742e+03_rb,0.38975e+03_rb,0.39185e+03_rb,0.39373e+03_rb,0.39539e+03_rb /) kao(:, 7, 6) = (/ & & 0.38585e+03_rb,0.38832e+03_rb,0.39056e+03_rb,0.39258e+03_rb,0.39438e+03_rb /) kao(:, 8, 6) = (/ & & 0.38426e+03_rb,0.38686e+03_rb,0.38924e+03_rb,0.39140e+03_rb,0.39333e+03_rb /) kao(:, 9, 6) = (/ & & 0.38264e+03_rb,0.38538e+03_rb,0.38789e+03_rb,0.39017e+03_rb,0.39223e+03_rb /) kao(:,10, 6) = (/ & & 0.38123e+03_rb,0.38408e+03_rb,0.38670e+03_rb,0.38909e+03_rb,0.39126e+03_rb /) kao(:,11, 6) = (/ & & 0.38122e+03_rb,0.38406e+03_rb,0.38668e+03_rb,0.38908e+03_rb,0.39125e+03_rb /) kao(:,12, 6) = (/ & & 0.38122e+03_rb,0.38406e+03_rb,0.38668e+03_rb,0.38908e+03_rb,0.39125e+03_rb /) kao(:,13, 6) = (/ & & 0.38122e+03_rb,0.38406e+03_rb,0.38668e+03_rb,0.38908e+03_rb,0.39125e+03_rb /) kao(:, 1, 7) = (/ & & 0.18202e+07_rb,0.17771e+07_rb,0.17382e+07_rb,0.17034e+07_rb,0.16716e+07_rb /) kao(:, 2, 7) = (/ & & 0.63027e+03_rb,0.63194e+03_rb,0.63388e+03_rb,0.63607e+03_rb,0.63849e+03_rb /) kao(:, 3, 7) = (/ & & 0.62938e+03_rb,0.63090e+03_rb,0.63268e+03_rb,0.63472e+03_rb,0.63701e+03_rb /) kao(:, 4, 7) = (/ & & 0.62853e+03_rb,0.62989e+03_rb,0.63150e+03_rb,0.63337e+03_rb,0.63550e+03_rb /) kao(:, 5, 7) = (/ & & 0.62781e+03_rb,0.62901e+03_rb,0.63046e+03_rb,0.63217e+03_rb,0.63413e+03_rb /) kao(:, 6, 7) = (/ & & 0.62717e+03_rb,0.62821e+03_rb,0.62950e+03_rb,0.63104e+03_rb,0.63283e+03_rb /) kao(:, 7, 7) = (/ & & 0.62666e+03_rb,0.62753e+03_rb,0.62867e+03_rb,0.63005e+03_rb,0.63168e+03_rb /) kao(:, 8, 7) = (/ & & 0.62627e+03_rb,0.62698e+03_rb,0.62795e+03_rb,0.62919e+03_rb,0.63067e+03_rb /) kao(:, 9, 7) = (/ & & 0.62600e+03_rb,0.62653e+03_rb,0.62735e+03_rb,0.62844e+03_rb,0.62978e+03_rb /) kao(:,10, 7) = (/ & & 0.62583e+03_rb,0.62624e+03_rb,0.62692e+03_rb,0.62788e+03_rb,0.62910e+03_rb /) kao(:,11, 7) = (/ & & 0.62583e+03_rb,0.62623e+03_rb,0.62691e+03_rb,0.62787e+03_rb,0.62909e+03_rb /) kao(:,12, 7) = (/ & & 0.62583e+03_rb,0.62623e+03_rb,0.62691e+03_rb,0.62787e+03_rb,0.62909e+03_rb /) kao(:,13, 7) = (/ & & 0.62583e+03_rb,0.62623e+03_rb,0.62691e+03_rb,0.62787e+03_rb,0.62909e+03_rb /) kao(:, 1, 8) = (/ & & 0.55488e+07_rb,0.54180e+07_rb,0.53005e+07_rb,0.51943e+07_rb,0.50978e+07_rb /) kao(:, 2, 8) = (/ & & 0.82143e+03_rb,0.82232e+03_rb,0.82327e+03_rb,0.82429e+03_rb,0.82541e+03_rb /) kao(:, 3, 8) = (/ & & 0.82092e+03_rb,0.82177e+03_rb,0.82269e+03_rb,0.82366e+03_rb,0.82472e+03_rb /) kao(:, 4, 8) = (/ & & 0.82041e+03_rb,0.82121e+03_rb,0.82209e+03_rb,0.82303e+03_rb,0.82402e+03_rb /) kao(:, 5, 8) = (/ & & 0.81996e+03_rb,0.82070e+03_rb,0.82152e+03_rb,0.82243e+03_rb,0.82339e+03_rb /) kao(:, 6, 8) = (/ & & 0.81952e+03_rb,0.82021e+03_rb,0.82098e+03_rb,0.82184e+03_rb,0.82277e+03_rb /) kao(:, 7, 8) = (/ & & 0.81917e+03_rb,0.81977e+03_rb,0.82048e+03_rb,0.82129e+03_rb,0.82218e+03_rb /) kao(:, 8, 8) = (/ & & 0.81881e+03_rb,0.81938e+03_rb,0.82004e+03_rb,0.82080e+03_rb,0.82163e+03_rb /) kao(:, 9, 8) = (/ & & 0.81846e+03_rb,0.81906e+03_rb,0.81965e+03_rb,0.82035e+03_rb,0.82114e+03_rb /) kao(:,10, 8) = (/ & & 0.81821e+03_rb,0.81877e+03_rb,0.81934e+03_rb,0.82000e+03_rb,0.82074e+03_rb /) kao(:,11, 8) = (/ & & 0.81821e+03_rb,0.81877e+03_rb,0.81934e+03_rb,0.81999e+03_rb,0.82074e+03_rb /) kao(:,12, 8) = (/ & & 0.81821e+03_rb,0.81877e+03_rb,0.81934e+03_rb,0.81999e+03_rb,0.82074e+03_rb /) kao(:,13, 8) = (/ & & 0.81821e+03_rb,0.81877e+03_rb,0.81935e+03_rb,0.81999e+03_rb,0.82074e+03_rb /) kao(:, 1, 9) = (/ & & 0.10204e+08_rb,0.99477e+07_rb,0.97209e+07_rb,0.95103e+07_rb,0.92960e+07_rb /) kao(:, 2, 9) = (/ & & 0.95102e+03_rb,0.95144e+03_rb,0.95133e+03_rb,0.95066e+03_rb,0.94964e+03_rb /) kao(:, 3, 9) = (/ & & 0.95048e+03_rb,0.95118e+03_rb,0.95136e+03_rb,0.95103e+03_rb,0.95020e+03_rb /) kao(:, 4, 9) = (/ & & 0.94969e+03_rb,0.95077e+03_rb,0.95126e+03_rb,0.95124e+03_rb,0.95074e+03_rb /) kao(:, 5, 9) = (/ & & 0.94872e+03_rb,0.95015e+03_rb,0.95101e+03_rb,0.95129e+03_rb,0.95105e+03_rb /) kao(:, 6, 9) = (/ & & 0.94752e+03_rb,0.94929e+03_rb,0.95052e+03_rb,0.95116e+03_rb,0.95126e+03_rb /) kao(:, 7, 9) = (/ & & 0.94612e+03_rb,0.94825e+03_rb,0.94981e+03_rb,0.95083e+03_rb,0.95126e+03_rb /) kao(:, 8, 9) = (/ & & 0.94461e+03_rb,0.94704e+03_rb,0.94894e+03_rb,0.95029e+03_rb,0.95107e+03_rb /) kao(:, 9, 9) = (/ & & 0.94291e+03_rb,0.94567e+03_rb,0.94791e+03_rb,0.94957e+03_rb,0.95069e+03_rb /) kao(:,10, 9) = (/ & & 0.94135e+03_rb,0.94441e+03_rb,0.94689e+03_rb,0.94884e+03_rb,0.95022e+03_rb /) kao(:,11, 9) = (/ & & 0.94133e+03_rb,0.94440e+03_rb,0.94688e+03_rb,0.94883e+03_rb,0.95021e+03_rb /) kao(:,12, 9) = (/ & & 0.94133e+03_rb,0.94438e+03_rb,0.94688e+03_rb,0.94883e+03_rb,0.95021e+03_rb /) kao(:,13, 9) = (/ & & 0.94133e+03_rb,0.94438e+03_rb,0.94687e+03_rb,0.94883e+03_rb,0.95021e+03_rb /) kao(:, 1,10) = (/ & & 0.12764e+08_rb,0.12408e+08_rb,0.12012e+08_rb,0.11438e+08_rb,0.11217e+08_rb /) kao(:, 2,10) = (/ & & 0.99589e+03_rb,0.99493e+03_rb,0.99263e+03_rb,0.98974e+03_rb,0.98742e+03_rb /) kao(:, 3,10) = (/ & & 0.99532e+03_rb,0.99571e+03_rb,0.99447e+03_rb,0.99207e+03_rb,0.98779e+03_rb /) kao(:, 4,10) = (/ & & 0.99446e+03_rb,0.99559e+03_rb,0.99536e+03_rb,0.99386e+03_rb,0.99088e+03_rb /) kao(:, 5,10) = (/ & & 0.99288e+03_rb,0.99493e+03_rb,0.99558e+03_rb,0.99487e+03_rb,0.99336e+03_rb /) kao(:, 6,10) = (/ & & 0.99069e+03_rb,0.99366e+03_rb,0.99519e+03_rb,0.99534e+03_rb,0.99428e+03_rb /) kao(:, 7,10) = (/ & & 0.98811e+03_rb,0.99191e+03_rb,0.99430e+03_rb,0.99510e+03_rb,0.99504e+03_rb /) kao(:, 8,10) = (/ & & 0.98531e+03_rb,0.98996e+03_rb,0.99300e+03_rb,0.99479e+03_rb,0.99513e+03_rb /) kao(:, 9,10) = (/ & & 0.98264e+03_rb,0.98737e+03_rb,0.99138e+03_rb,0.99390e+03_rb,0.99503e+03_rb /) kao(:,10,10) = (/ & & 0.98010e+03_rb,0.98517e+03_rb,0.98974e+03_rb,0.99281e+03_rb,0.99470e+03_rb /) kao(:,11,10) = (/ & & 0.98010e+03_rb,0.98509e+03_rb,0.98985e+03_rb,0.99280e+03_rb,0.99468e+03_rb /) kao(:,12,10) = (/ & & 0.98035e+03_rb,0.98524e+03_rb,0.98973e+03_rb,0.99279e+03_rb,0.99468e+03_rb /) kao(:,13,10) = (/ & & 0.98012e+03_rb,0.98526e+03_rb,0.98973e+03_rb,0.99279e+03_rb,0.99468e+03_rb /) kao(:, 1,11) = (/ & & 0.12266e+08_rb,0.12000e+08_rb,0.11724e+08_rb,0.11828e+08_rb,0.11523e+08_rb /) kao(:, 2,11) = (/ & & 0.10001e+04_rb,0.99984e+03_rb,0.99745e+03_rb,0.99535e+03_rb,0.98599e+03_rb /) kao(:, 3,11) = (/ & & 0.99963e+03_rb,0.99927e+03_rb,0.99848e+03_rb,0.99596e+03_rb,0.99390e+03_rb /) kao(:, 4,11) = (/ & & 0.99904e+03_rb,0.99942e+03_rb,0.99870e+03_rb,0.99747e+03_rb,0.99542e+03_rb /) kao(:, 5,11) = (/ & & 0.99826e+03_rb,0.99927e+03_rb,0.99919e+03_rb,0.99821e+03_rb,0.99627e+03_rb /) kao(:, 6,11) = (/ & & 0.99730e+03_rb,0.99882e+03_rb,0.99938e+03_rb,0.99902e+03_rb,0.99764e+03_rb /) kao(:, 7,11) = (/ & & 0.99551e+03_rb,0.99810e+03_rb,0.99919e+03_rb,0.99961e+03_rb,0.99863e+03_rb /) kao(:, 8,11) = (/ & & 0.99324e+03_rb,0.99688e+03_rb,0.99871e+03_rb,0.99940e+03_rb,0.99942e+03_rb /) kao(:, 9,11) = (/ & & 0.99058e+03_rb,0.99489e+03_rb,0.99773e+03_rb,0.99912e+03_rb,0.99954e+03_rb /) kao(:,10,11) = (/ & & 0.98802e+03_rb,0.99297e+03_rb,0.99656e+03_rb,0.99861e+03_rb,0.99937e+03_rb /) kao(:,11,11) = (/ & & 0.98800e+03_rb,0.99310e+03_rb,0.99655e+03_rb,0.99860e+03_rb,0.99936e+03_rb /) kao(:,12,11) = (/ & & 0.98771e+03_rb,0.99296e+03_rb,0.99669e+03_rb,0.99859e+03_rb,0.99936e+03_rb /) kao(:,13,11) = (/ & & 0.98800e+03_rb,0.99296e+03_rb,0.99655e+03_rb,0.99859e+03_rb,0.99936e+03_rb /) kao(:, 1,12) = (/ & & 0.12503e+08_rb,0.11946e+08_rb,0.11557e+08_rb,0.11503e+08_rb,0.11901e+08_rb /) kao(:, 2,12) = (/ & & 0.10015e+04_rb,0.10004e+04_rb,0.99932e+03_rb,0.99373e+03_rb,0.98591e+03_rb /) kao(:, 3,12) = (/ & & 0.10024e+04_rb,0.10021e+04_rb,0.10003e+04_rb,0.99817e+03_rb,0.99146e+03_rb /) kao(:, 4,12) = (/ & & 0.10022e+04_rb,0.10027e+04_rb,0.10021e+04_rb,0.99956e+03_rb,0.99610e+03_rb /) kao(:, 5,12) = (/ & & 0.10024e+04_rb,0.10024e+04_rb,0.10028e+04_rb,0.10015e+04_rb,0.99826e+03_rb /) kao(:, 6,12) = (/ & & 0.10017e+04_rb,0.10025e+04_rb,0.10025e+04_rb,0.10023e+04_rb,0.10008e+04_rb /) kao(:, 7,12) = (/ & & 0.10005e+04_rb,0.10020e+04_rb,0.10028e+04_rb,0.10028e+04_rb,0.10019e+04_rb /) kao(:, 8,12) = (/ & & 0.10000e+04_rb,0.10010e+04_rb,0.10024e+04_rb,0.10029e+04_rb,0.10023e+04_rb /) kao(:, 9,12) = (/ & & 0.99906e+03_rb,0.10004e+04_rb,0.10018e+04_rb,0.10029e+04_rb,0.10028e+04_rb /) kao(:,10,12) = (/ & & 0.99791e+03_rb,0.99989e+03_rb,0.10010e+04_rb,0.10024e+04_rb,0.10031e+04_rb /) kao(:,11,12) = (/ & & 0.99769e+03_rb,0.99967e+03_rb,0.10008e+04_rb,0.10024e+04_rb,0.10029e+04_rb /) kao(:,12,12) = (/ & & 0.99787e+03_rb,0.99985e+03_rb,0.10008e+04_rb,0.10025e+04_rb,0.10029e+04_rb /) kao(:,13,12) = (/ & & 0.99768e+03_rb,0.99984e+03_rb,0.10012e+04_rb,0.10026e+04_rb,0.10029e+04_rb /) kao(:, 1,13) = (/ & & 0.12359e+08_rb,0.12469e+08_rb,0.12868e+08_rb,0.12776e+08_rb,0.12590e+08_rb /) kao(:, 2,13) = (/ & & 0.10045e+04_rb,0.10033e+04_rb,0.99840e+03_rb,0.99184e+03_rb,0.98861e+03_rb /) kao(:, 3,13) = (/ & & 0.10050e+04_rb,0.10041e+04_rb,0.10024e+04_rb,0.99701e+03_rb,0.99083e+03_rb /) kao(:, 4,13) = (/ & & 0.10053e+04_rb,0.10043e+04_rb,0.10035e+04_rb,0.10017e+04_rb,0.99538e+03_rb /) kao(:, 5,13) = (/ & & 0.10048e+04_rb,0.10056e+04_rb,0.10038e+04_rb,0.10026e+04_rb,0.10008e+04_rb /) kao(:, 6,13) = (/ & & 0.10042e+04_rb,0.10054e+04_rb,0.10054e+04_rb,0.10039e+04_rb,0.10017e+04_rb /) kao(:, 7,13) = (/ & & 0.10029e+04_rb,0.10046e+04_rb,0.10055e+04_rb,0.10046e+04_rb,0.10033e+04_rb /) kao(:, 8,13) = (/ & & 0.10002e+04_rb,0.10039e+04_rb,0.10051e+04_rb,0.10054e+04_rb,0.10046e+04_rb /) kao(:, 9,13) = (/ & & 0.99825e+03_rb,0.10019e+04_rb,0.10043e+04_rb,0.10051e+04_rb,0.10052e+04_rb /) kao(:,10,13) = (/ & & 0.99595e+03_rb,0.99983e+03_rb,0.10034e+04_rb,0.10050e+04_rb,0.10051e+04_rb /) kao(:,11,13) = (/ & & 0.99621e+03_rb,0.99979e+03_rb,0.10034e+04_rb,0.10050e+04_rb,0.10054e+04_rb /) kao(:,12,13) = (/ & & 0.99597e+03_rb,0.99979e+03_rb,0.10031e+04_rb,0.10047e+04_rb,0.10054e+04_rb /) kao(:,13,13) = (/ & & 0.99623e+03_rb,0.99978e+03_rb,0.10031e+04_rb,0.10047e+04_rb,0.10054e+04_rb /) kao(:, 1,14) = (/ & & 0.13636e+08_rb,0.13818e+08_rb,0.13518e+08_rb,0.13266e+08_rb,0.13048e+08_rb /) kao(:, 2,14) = (/ & & 0.10049e+04_rb,0.99946e+03_rb,0.99774e+03_rb,0.99774e+03_rb,0.99771e+03_rb /) kao(:, 3,14) = (/ & & 0.10051e+04_rb,0.10068e+04_rb,0.10007e+04_rb,0.99775e+03_rb,0.99778e+03_rb /) kao(:, 4,14) = (/ & & 0.10071e+04_rb,0.10061e+04_rb,0.10050e+04_rb,0.10005e+04_rb,0.99776e+03_rb /) kao(:, 5,14) = (/ & & 0.10067e+04_rb,0.10072e+04_rb,0.10061e+04_rb,0.10044e+04_rb,0.99972e+03_rb /) kao(:, 6,14) = (/ & & 0.10049e+04_rb,0.10070e+04_rb,0.10074e+04_rb,0.10057e+04_rb,0.10037e+04_rb /) kao(:, 7,14) = (/ & & 0.10033e+04_rb,0.10063e+04_rb,0.10072e+04_rb,0.10067e+04_rb,0.10050e+04_rb /) kao(:, 8,14) = (/ & & 0.10025e+04_rb,0.10048e+04_rb,0.10068e+04_rb,0.10071e+04_rb,0.10062e+04_rb /) kao(:, 9,14) = (/ & & 0.99880e+03_rb,0.10031e+04_rb,0.10060e+04_rb,0.10071e+04_rb,0.10069e+04_rb /) kao(:,10,14) = (/ & & 0.99610e+03_rb,0.10023e+04_rb,0.10047e+04_rb,0.10067e+04_rb,0.10072e+04_rb /) kao(:,11,14) = (/ & & 0.99601e+03_rb,0.10023e+04_rb,0.10047e+04_rb,0.10067e+04_rb,0.10072e+04_rb /) kao(:,12,14) = (/ & & 0.99598e+03_rb,0.10023e+04_rb,0.10051e+04_rb,0.10067e+04_rb,0.10076e+04_rb /) kao(:,13,14) = (/ & & 0.99596e+03_rb,0.10027e+04_rb,0.10047e+04_rb,0.10067e+04_rb,0.10072e+04_rb /) kao(:, 1,15) = (/ & & 0.14285e+08_rb,0.13947e+08_rb,0.13644e+08_rb,0.13317e+08_rb,0.13015e+08_rb /) kao(:, 2,15) = (/ & & 0.99932e+03_rb,0.10011e+04_rb,0.10018e+04_rb,0.10007e+04_rb,0.99706e+03_rb /) kao(:, 3,15) = (/ & & 0.10097e+04_rb,0.99743e+03_rb,0.10015e+04_rb,0.10018e+04_rb,0.99920e+03_rb /) kao(:, 4,15) = (/ & & 0.10099e+04_rb,0.10076e+04_rb,0.10030e+04_rb,0.10017e+04_rb,0.10013e+04_rb /) kao(:, 5,15) = (/ & & 0.10075e+04_rb,0.10079e+04_rb,0.10073e+04_rb,0.10035e+04_rb,0.10018e+04_rb /) kao(:, 6,15) = (/ & & 0.10068e+04_rb,0.10088e+04_rb,0.10068e+04_rb,0.10090e+04_rb,0.10033e+04_rb /) kao(:, 7,15) = (/ & & 0.10057e+04_rb,0.10073e+04_rb,0.10090e+04_rb,0.10087e+04_rb,0.10062e+04_rb /) kao(:, 8,15) = (/ & & 0.10010e+04_rb,0.10054e+04_rb,0.10076e+04_rb,0.10079e+04_rb,0.10072e+04_rb /) kao(:, 9,15) = (/ & & 0.99853e+03_rb,0.10054e+04_rb,0.10071e+04_rb,0.10079e+04_rb,0.10078e+04_rb /) kao(:,10,15) = (/ & & 0.99742e+03_rb,0.10007e+04_rb,0.10064e+04_rb,0.10076e+04_rb,0.10080e+04_rb /) kao(:,11,15) = (/ & & 0.99635e+03_rb,0.10006e+04_rb,0.10064e+04_rb,0.10087e+04_rb,0.10090e+04_rb /) kao(:,12,15) = (/ & & 0.99635e+03_rb,0.10006e+04_rb,0.10064e+04_rb,0.10087e+04_rb,0.10069e+04_rb /) kao(:,13,15) = (/ & & 0.99635e+03_rb,0.99960e+03_rb,0.10064e+04_rb,0.10076e+04_rb,0.10080e+04_rb /) kao(:, 1,16) = (/ & & 0.14326e+08_rb,0.13988e+08_rb,0.13684e+08_rb,0.13409e+08_rb,0.13021e+08_rb /) kao(:, 2,16) = (/ & & 0.10008e+04_rb,0.10027e+04_rb,0.10036e+04_rb,0.10037e+04_rb,0.99673e+03_rb /) kao(:, 3,16) = (/ & & 0.99286e+03_rb,0.10016e+04_rb,0.10031e+04_rb,0.10038e+04_rb,0.10035e+04_rb /) kao(:, 4,16) = (/ & & 0.99278e+03_rb,0.10078e+04_rb,0.10023e+04_rb,0.10035e+04_rb,0.10038e+04_rb /) kao(:, 5,16) = (/ & & 0.10074e+04_rb,0.10079e+04_rb,0.10075e+04_rb,0.10028e+04_rb,0.10037e+04_rb /) kao(:, 6,16) = (/ & & 0.10069e+04_rb,0.10002e+04_rb,0.10079e+04_rb,0.99212e+03_rb,0.10032e+04_rb /) kao(:, 7,16) = (/ & & 0.10060e+04_rb,0.10072e+04_rb,0.10004e+04_rb,0.10003e+04_rb,0.10063e+04_rb /) kao(:, 8,16) = (/ & & 0.10009e+04_rb,0.10066e+04_rb,0.10075e+04_rb,0.10080e+04_rb,0.10074e+04_rb /) kao(:, 9,16) = (/ & & 0.99860e+03_rb,0.10057e+04_rb,0.10071e+04_rb,0.10078e+04_rb,0.10079e+04_rb /) kao(:,10,16) = (/ & & 0.98908e+03_rb,0.10006e+04_rb,0.10065e+04_rb,0.10075e+04_rb,0.10080e+04_rb /) kao(:,11,16) = (/ & & 0.99644e+03_rb,0.10006e+04_rb,0.10065e+04_rb,0.10000e+04_rb,0.10005e+04_rb /) kao(:,12,16) = (/ & & 0.99644e+03_rb,0.10006e+04_rb,0.10065e+04_rb,0.10000e+04_rb,0.10080e+04_rb /) kao(:,13,16) = (/ & & 0.99644e+03_rb,0.10006e+04_rb,0.10065e+04_rb,0.10075e+04_rb,0.10080e+04_rb /) ! ----------------------------------------------------------------- ! The array KBO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels < ~100mb and temperatures. The first ! index in the array, JT, which runs from 1 to 5, corresponds to ! different temperatures. More specifically, JT = 3 means that the ! data are for the reference temperature TREF for this pressure ! level, JT = 2 refers to the temperature TREF-15, JT = 1 is for ! TREF-30, JT = 4 is for TREF+15, and JT = 5 is for TREF+30. ! The second index, JP, runs from 13 to 59 and refers to the JPth ! reference pressure level (see taumol.f for the value of these ! pressure levels in mb). The third index, IG, goes from 1 to 16, ! and tells us which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kbo(:,13, 1) = (/ & & 0.16036e+00_rb,0.16399e+00_rb,0.17198e+00_rb,0.18455e+00_rb,0.20173e+00_rb /) kbo(:,14, 1) = (/ & & 0.16050e+00_rb,0.16454e+00_rb,0.17292e+00_rb,0.18592e+00_rb,0.20351e+00_rb /) kbo(:,15, 1) = (/ & & 0.16071e+00_rb,0.16519e+00_rb,0.17400e+00_rb,0.18750e+00_rb,0.20554e+00_rb /) kbo(:,16, 1) = (/ & & 0.16098e+00_rb,0.16593e+00_rb,0.17517e+00_rb,0.18921e+00_rb,0.20772e+00_rb /) kbo(:,17, 1) = (/ & & 0.16129e+00_rb,0.16670e+00_rb,0.17642e+00_rb,0.19093e+00_rb,0.20991e+00_rb /) kbo(:,18, 1) = (/ & & 0.16164e+00_rb,0.16750e+00_rb,0.17771e+00_rb,0.19267e+00_rb,0.21211e+00_rb /) kbo(:,19, 1) = (/ & & 0.16203e+00_rb,0.16832e+00_rb,0.17901e+00_rb,0.19443e+00_rb,0.21431e+00_rb /) kbo(:,20, 1) = (/ & & 0.16255e+00_rb,0.16934e+00_rb,0.18059e+00_rb,0.19653e+00_rb,0.21694e+00_rb /) kbo(:,21, 1) = (/ & & 0.16313e+00_rb,0.17044e+00_rb,0.18225e+00_rb,0.19873e+00_rb,0.21967e+00_rb /) kbo(:,22, 1) = (/ & & 0.16416e+00_rb,0.17227e+00_rb,0.18498e+00_rb,0.20229e+00_rb,0.22406e+00_rb /) kbo(:,23, 1) = (/ & & 0.16539e+00_rb,0.17431e+00_rb,0.18796e+00_rb,0.20612e+00_rb,0.22875e+00_rb /) kbo(:,24, 1) = (/ & & 0.16684e+00_rb,0.17666e+00_rb,0.19125e+00_rb,0.21032e+00_rb,0.23385e+00_rb /) kbo(:,25, 1) = (/ & & 0.16856e+00_rb,0.17939e+00_rb,0.19493e+00_rb,0.21495e+00_rb,0.23943e+00_rb /) kbo(:,26, 1) = (/ & & 0.17067e+00_rb,0.18260e+00_rb,0.19919e+00_rb,0.22024e+00_rb,0.24578e+00_rb /) kbo(:,27, 1) = (/ & & 0.17306e+00_rb,0.18613e+00_rb,0.20377e+00_rb,0.22588e+00_rb,0.25248e+00_rb /) kbo(:,28, 1) = (/ & & 0.17570e+00_rb,0.18994e+00_rb,0.20865e+00_rb,0.23184e+00_rb,0.25952e+00_rb /) kbo(:,29, 1) = (/ & & 0.17882e+00_rb,0.19417e+00_rb,0.21399e+00_rb,0.23828e+00_rb,0.26708e+00_rb /) kbo(:,30, 1) = (/ & & 0.18223e+00_rb,0.19870e+00_rb,0.21964e+00_rb,0.24505e+00_rb,0.27492e+00_rb /) kbo(:,31, 1) = (/ & & 0.18602e+00_rb,0.20364e+00_rb,0.22572e+00_rb,0.25229e+00_rb,0.28325e+00_rb /) kbo(:,32, 1) = (/ & & 0.19018e+00_rb,0.20895e+00_rb,0.23219e+00_rb,0.25994e+00_rb,0.29200e+00_rb /) kbo(:,33, 1) = (/ & & 0.19466e+00_rb,0.21461e+00_rb,0.23902e+00_rb,0.26795e+00_rb,0.30114e+00_rb /) kbo(:,34, 1) = (/ & & 0.19880e+00_rb,0.21976e+00_rb,0.24520e+00_rb,0.27509e+00_rb,0.30932e+00_rb /) kbo(:,35, 1) = (/ & & 0.20129e+00_rb,0.22283e+00_rb,0.24886e+00_rb,0.27931e+00_rb,0.31412e+00_rb /) kbo(:,36, 1) = (/ & & 0.20170e+00_rb,0.22334e+00_rb,0.24946e+00_rb,0.28000e+00_rb,0.31492e+00_rb /) kbo(:,37, 1) = (/ & & 0.19920e+00_rb,0.22026e+00_rb,0.24579e+00_rb,0.27578e+00_rb,0.31010e+00_rb /) kbo(:,38, 1) = (/ & & 0.19662e+00_rb,0.21706e+00_rb,0.24197e+00_rb,0.27135e+00_rb,0.30504e+00_rb /) kbo(:,39, 1) = (/ & & 0.19414e+00_rb,0.21396e+00_rb,0.23824e+00_rb,0.26704e+00_rb,0.30010e+00_rb /) kbo(:,40, 1) = (/ & & 0.19003e+00_rb,0.20877e+00_rb,0.23197e+00_rb,0.25968e+00_rb,0.29171e+00_rb /) kbo(:,41, 1) = (/ & & 0.18597e+00_rb,0.20357e+00_rb,0.22564e+00_rb,0.25219e+00_rb,0.28314e+00_rb /) kbo(:,42, 1) = (/ & & 0.18220e+00_rb,0.19865e+00_rb,0.21958e+00_rb,0.24498e+00_rb,0.27484e+00_rb /) kbo(:,43, 1) = (/ & & 0.17798e+00_rb,0.19304e+00_rb,0.21257e+00_rb,0.23657e+00_rb,0.26510e+00_rb /) kbo(:,44, 1) = (/ & & 0.17397e+00_rb,0.18746e+00_rb,0.20548e+00_rb,0.22798e+00_rb,0.25496e+00_rb /) kbo(:,45, 1) = (/ & & 0.17053e+00_rb,0.18239e+00_rb,0.19890e+00_rb,0.21989e+00_rb,0.24535e+00_rb /) kbo(:,46, 1) = (/ & & 0.16739e+00_rb,0.17754e+00_rb,0.19245e+00_rb,0.21183e+00_rb,0.23568e+00_rb /) kbo(:,47, 1) = (/ & & 0.16454e+00_rb,0.17292e+00_rb,0.18592e+00_rb,0.20351e+00_rb,0.22556e+00_rb /) kbo(:,48, 1) = (/ & & 0.16239e+00_rb,0.16903e+00_rb,0.18011e+00_rb,0.19590e+00_rb,0.21615e+00_rb /) kbo(:,49, 1) = (/ & & 0.16095e+00_rb,0.16584e+00_rb,0.17504e+00_rb,0.18902e+00_rb,0.20747e+00_rb /) kbo(:,50, 1) = (/ & & 0.16025e+00_rb,0.16348e+00_rb,0.17109e+00_rb,0.18322e+00_rb,0.20000e+00_rb /) kbo(:,51, 1) = (/ & & 0.16021e+00_rb,0.16179e+00_rb,0.16781e+00_rb,0.17821e+00_rb,0.19335e+00_rb /) kbo(:,52, 1) = (/ & & 0.16078e+00_rb,0.16068e+00_rb,0.16511e+00_rb,0.17387e+00_rb,0.18731e+00_rb /) kbo(:,53, 1) = (/ & & 0.16197e+00_rb,0.16018e+00_rb,0.16299e+00_rb,0.17017e+00_rb,0.18186e+00_rb /) kbo(:,54, 1) = (/ & & 0.16362e+00_rb,0.16026e+00_rb,0.16155e+00_rb,0.16729e+00_rb,0.17738e+00_rb /) kbo(:,55, 1) = (/ & & 0.16570e+00_rb,0.16083e+00_rb,0.16064e+00_rb,0.16498e+00_rb,0.17365e+00_rb /) kbo(:,56, 1) = (/ & & 0.16825e+00_rb,0.16187e+00_rb,0.16020e+00_rb,0.16311e+00_rb,0.17041e+00_rb /) kbo(:,57, 1) = (/ & & 0.17129e+00_rb,0.16340e+00_rb,0.16023e+00_rb,0.16169e+00_rb,0.16761e+00_rb /) kbo(:,58, 1) = (/ & & 0.17462e+00_rb,0.16529e+00_rb,0.16069e+00_rb,0.16077e+00_rb,0.16535e+00_rb /) kbo(:,59, 1) = (/ & & 0.17607e+00_rb,0.16617e+00_rb,0.16100e+00_rb,0.16051e+00_rb,0.16456e+00_rb /) kbo(:,13, 2) = (/ & & 0.17525e+01_rb,0.17727e+01_rb,0.18119e+01_rb,0.18712e+01_rb,0.19491e+01_rb /) kbo(:,14, 2) = (/ & & 0.17536e+01_rb,0.17755e+01_rb,0.18165e+01_rb,0.18775e+01_rb,0.19571e+01_rb /) kbo(:,15, 2) = (/ & & 0.17549e+01_rb,0.17787e+01_rb,0.18219e+01_rb,0.18847e+01_rb,0.19662e+01_rb /) kbo(:,16, 2) = (/ & & 0.17565e+01_rb,0.17819e+01_rb,0.18278e+01_rb,0.18925e+01_rb,0.19761e+01_rb /) kbo(:,17, 2) = (/ & & 0.17583e+01_rb,0.17850e+01_rb,0.18336e+01_rb,0.19003e+01_rb,0.19859e+01_rb /) kbo(:,18, 2) = (/ & & 0.17603e+01_rb,0.17891e+01_rb,0.18396e+01_rb,0.19082e+01_rb,0.19957e+01_rb /) kbo(:,19, 2) = (/ & & 0.17624e+01_rb,0.17934e+01_rb,0.18457e+01_rb,0.19162e+01_rb,0.20056e+01_rb /) kbo(:,20, 2) = (/ & & 0.17652e+01_rb,0.17986e+01_rb,0.18530e+01_rb,0.19257e+01_rb,0.20174e+01_rb /) kbo(:,21, 2) = (/ & & 0.17683e+01_rb,0.18042e+01_rb,0.18607e+01_rb,0.19356e+01_rb,0.20296e+01_rb /) kbo(:,22, 2) = (/ & & 0.17736e+01_rb,0.18133e+01_rb,0.18732e+01_rb,0.19516e+01_rb,0.20492e+01_rb /) kbo(:,23, 2) = (/ & & 0.17796e+01_rb,0.18234e+01_rb,0.18868e+01_rb,0.19689e+01_rb,0.20702e+01_rb /) kbo(:,24, 2) = (/ & & 0.17857e+01_rb,0.18347e+01_rb,0.19018e+01_rb,0.19877e+01_rb,0.20929e+01_rb /) kbo(:,25, 2) = (/ & & 0.17946e+01_rb,0.18475e+01_rb,0.19185e+01_rb,0.20085e+01_rb,0.21178e+01_rb /) kbo(:,26, 2) = (/ & & 0.18053e+01_rb,0.18623e+01_rb,0.19377e+01_rb,0.20322e+01_rb,0.21460e+01_rb /) kbo(:,27, 2) = (/ & & 0.18172e+01_rb,0.18785e+01_rb,0.19583e+01_rb,0.20574e+01_rb,0.21757e+01_rb /) kbo(:,28, 2) = (/ & & 0.18303e+01_rb,0.18959e+01_rb,0.19802e+01_rb,0.20839e+01_rb,0.22069e+01_rb /) kbo(:,29, 2) = (/ & & 0.18448e+01_rb,0.19150e+01_rb,0.20042e+01_rb,0.21126e+01_rb,0.22404e+01_rb /) kbo(:,30, 2) = (/ & & 0.18606e+01_rb,0.19355e+01_rb,0.20295e+01_rb,0.21428e+01_rb,0.22754e+01_rb /) kbo(:,31, 2) = (/ & & 0.18780e+01_rb,0.19577e+01_rb,0.20566e+01_rb,0.21749e+01_rb,0.23125e+01_rb /) kbo(:,32, 2) = (/ & & 0.18969e+01_rb,0.19816e+01_rb,0.20855e+01_rb,0.22088e+01_rb,0.23514e+01_rb /) kbo(:,33, 2) = (/ & & 0.19172e+01_rb,0.20069e+01_rb,0.21160e+01_rb,0.22443e+01_rb,0.23920e+01_rb /) kbo(:,34, 2) = (/ & & 0.19359e+01_rb,0.20300e+01_rb,0.21434e+01_rb,0.22762e+01_rb,0.24282e+01_rb /) kbo(:,35, 2) = (/ & & 0.19471e+01_rb,0.20437e+01_rb,0.21597e+01_rb,0.22949e+01_rb,0.24495e+01_rb /) kbo(:,36, 2) = (/ & & 0.19490e+01_rb,0.20460e+01_rb,0.21624e+01_rb,0.22980e+01_rb,0.24530e+01_rb /) kbo(:,37, 2) = (/ & & 0.19377e+01_rb,0.20322e+01_rb,0.21461e+01_rb,0.22792e+01_rb,0.24317e+01_rb /) kbo(:,38, 2) = (/ & & 0.19261e+01_rb,0.20179e+01_rb,0.21291e+01_rb,0.22595e+01_rb,0.24093e+01_rb /) kbo(:,39, 2) = (/ & & 0.19149e+01_rb,0.20040e+01_rb,0.21125e+01_rb,0.22402e+01_rb,0.23873e+01_rb /) kbo(:,40, 2) = (/ & & 0.18963e+01_rb,0.19807e+01_rb,0.20845e+01_rb,0.22076e+01_rb,0.23501e+01_rb /) kbo(:,41, 2) = (/ & & 0.18778e+01_rb,0.19574e+01_rb,0.20563e+01_rb,0.21745e+01_rb,0.23120e+01_rb /) kbo(:,42, 2) = (/ & & 0.18604e+01_rb,0.19352e+01_rb,0.20292e+01_rb,0.21425e+01_rb,0.22750e+01_rb /) kbo(:,43, 2) = (/ & & 0.18409e+01_rb,0.19099e+01_rb,0.19978e+01_rb,0.21050e+01_rb,0.22315e+01_rb /) kbo(:,44, 2) = (/ & & 0.18217e+01_rb,0.18845e+01_rb,0.19660e+01_rb,0.20667e+01_rb,0.21867e+01_rb /) kbo(:,45, 2) = (/ & & 0.18046e+01_rb,0.18613e+01_rb,0.19364e+01_rb,0.20306e+01_rb,0.21441e+01_rb /) kbo(:,46, 2) = (/ & & 0.17886e+01_rb,0.18389e+01_rb,0.19072e+01_rb,0.19945e+01_rb,0.21011e+01_rb /) kbo(:,47, 2) = (/ & & 0.17755e+01_rb,0.18165e+01_rb,0.18775e+01_rb,0.19571e+01_rb,0.20559e+01_rb /) kbo(:,48, 2) = (/ & & 0.17644e+01_rb,0.17970e+01_rb,0.18508e+01_rb,0.19228e+01_rb,0.20139e+01_rb /) kbo(:,49, 2) = (/ & & 0.17563e+01_rb,0.17816e+01_rb,0.18271e+01_rb,0.18916e+01_rb,0.19749e+01_rb /) kbo(:,50, 2) = (/ & & 0.17517e+01_rb,0.17702e+01_rb,0.18074e+01_rb,0.18651e+01_rb,0.19413e+01_rb /) kbo(:,51, 2) = (/ & & 0.17504e+01_rb,0.17611e+01_rb,0.17908e+01_rb,0.18420e+01_rb,0.19113e+01_rb /) kbo(:,52, 2) = (/ & & 0.17523e+01_rb,0.17547e+01_rb,0.17783e+01_rb,0.18212e+01_rb,0.18839e+01_rb /) kbo(:,53, 2) = (/ & & 0.17566e+01_rb,0.17510e+01_rb,0.17675e+01_rb,0.18028e+01_rb,0.18589e+01_rb /) kbo(:,54, 2) = (/ & & 0.17623e+01_rb,0.17507e+01_rb,0.17598e+01_rb,0.17881e+01_rb,0.18381e+01_rb /) kbo(:,55, 2) = (/ & & 0.17691e+01_rb,0.17524e+01_rb,0.17544e+01_rb,0.17777e+01_rb,0.18201e+01_rb /) kbo(:,56, 2) = (/ & & 0.17776e+01_rb,0.17562e+01_rb,0.17512e+01_rb,0.17682e+01_rb,0.18040e+01_rb /) kbo(:,57, 2) = (/ & & 0.17881e+01_rb,0.17616e+01_rb,0.17505e+01_rb,0.17606e+01_rb,0.17897e+01_rb /) kbo(:,58, 2) = (/ & & 0.17996e+01_rb,0.17678e+01_rb,0.17520e+01_rb,0.17552e+01_rb,0.17794e+01_rb /) kbo(:,59, 2) = (/ & & 0.18045e+01_rb,0.17707e+01_rb,0.17530e+01_rb,0.17536e+01_rb,0.17756e+01_rb /) kbo(:,13, 3) = (/ & & 0.10945e+02_rb,0.11052e+02_rb,0.11222e+02_rb,0.11452e+02_rb,0.11744e+02_rb /) kbo(:,14, 3) = (/ & & 0.10952e+02_rb,0.11065e+02_rb,0.11240e+02_rb,0.11476e+02_rb,0.11774e+02_rb /) kbo(:,15, 3) = (/ & & 0.10961e+02_rb,0.11080e+02_rb,0.11261e+02_rb,0.11503e+02_rb,0.11807e+02_rb /) kbo(:,16, 3) = (/ & & 0.10971e+02_rb,0.11097e+02_rb,0.11284e+02_rb,0.11533e+02_rb,0.11844e+02_rb /) kbo(:,17, 3) = (/ & & 0.10981e+02_rb,0.11115e+02_rb,0.11307e+02_rb,0.11562e+02_rb,0.11879e+02_rb /) kbo(:,18, 3) = (/ & & 0.10992e+02_rb,0.11132e+02_rb,0.11331e+02_rb,0.11592e+02_rb,0.11915e+02_rb /) kbo(:,19, 3) = (/ & & 0.11003e+02_rb,0.11149e+02_rb,0.11354e+02_rb,0.11622e+02_rb,0.11951e+02_rb /) kbo(:,20, 3) = (/ & & 0.11017e+02_rb,0.11170e+02_rb,0.11382e+02_rb,0.11657e+02_rb,0.11994e+02_rb /) kbo(:,21, 3) = (/ & & 0.11031e+02_rb,0.11192e+02_rb,0.11412e+02_rb,0.11694e+02_rb,0.12038e+02_rb /) kbo(:,22, 3) = (/ & & 0.11056e+02_rb,0.11228e+02_rb,0.11460e+02_rb,0.11754e+02_rb,0.12109e+02_rb /) kbo(:,23, 3) = (/ & & 0.11085e+02_rb,0.11267e+02_rb,0.11511e+02_rb,0.11817e+02_rb,0.12184e+02_rb /) kbo(:,24, 3) = (/ & & 0.11118e+02_rb,0.11312e+02_rb,0.11568e+02_rb,0.11886e+02_rb,0.12266e+02_rb /) kbo(:,25, 3) = (/ & & 0.11154e+02_rb,0.11361e+02_rb,0.11630e+02_rb,0.11962e+02_rb,0.12354e+02_rb /) kbo(:,26, 3) = (/ & & 0.11196e+02_rb,0.11418e+02_rb,0.11702e+02_rb,0.12048e+02_rb,0.12455e+02_rb /) kbo(:,27, 3) = (/ & & 0.11243e+02_rb,0.11480e+02_rb,0.11778e+02_rb,0.12138e+02_rb,0.12560e+02_rb /) kbo(:,28, 3) = (/ & & 0.11294e+02_rb,0.11545e+02_rb,0.11859e+02_rb,0.12234e+02_rb,0.12670e+02_rb /) kbo(:,29, 3) = (/ & & 0.11351e+02_rb,0.11617e+02_rb,0.11946e+02_rb,0.12336e+02_rb,0.12788e+02_rb /) kbo(:,30, 3) = (/ & & 0.11411e+02_rb,0.11694e+02_rb,0.12038e+02_rb,0.12443e+02_rb,0.12910e+02_rb /) kbo(:,31, 3) = (/ & & 0.11478e+02_rb,0.11776e+02_rb,0.12136e+02_rb,0.12557e+02_rb,0.13040e+02_rb /) kbo(:,32, 3) = (/ & & 0.11549e+02_rb,0.11864e+02_rb,0.12239e+02_rb,0.12677e+02_rb,0.13175e+02_rb /) kbo(:,33, 3) = (/ & & 0.11626e+02_rb,0.11956e+02_rb,0.12348e+02_rb,0.12801e+02_rb,0.13316e+02_rb /) kbo(:,34, 3) = (/ & & 0.11695e+02_rb,0.12040e+02_rb,0.12446e+02_rb,0.12913e+02_rb,0.13442e+02_rb /) kbo(:,35, 3) = (/ & & 0.11737e+02_rb,0.12089e+02_rb,0.12503e+02_rb,0.12979e+02_rb,0.13515e+02_rb /) kbo(:,36, 3) = (/ & & 0.11744e+02_rb,0.12098e+02_rb,0.12513e+02_rb,0.12989e+02_rb,0.13528e+02_rb /) kbo(:,37, 3) = (/ & & 0.11702e+02_rb,0.12048e+02_rb,0.12455e+02_rb,0.12924e+02_rb,0.13454e+02_rb /) kbo(:,38, 3) = (/ & & 0.11659e+02_rb,0.11996e+02_rb,0.12395e+02_rb,0.12855e+02_rb,0.13376e+02_rb /) kbo(:,39, 3) = (/ & & 0.11617e+02_rb,0.11946e+02_rb,0.12336e+02_rb,0.12787e+02_rb,0.13300e+02_rb /) kbo(:,40, 3) = (/ & & 0.11547e+02_rb,0.11861e+02_rb,0.12236e+02_rb,0.12673e+02_rb,0.13171e+02_rb /) kbo(:,41, 3) = (/ & & 0.11477e+02_rb,0.11775e+02_rb,0.12134e+02_rb,0.12555e+02_rb,0.13038e+02_rb /) kbo(:,42, 3) = (/ & & 0.11411e+02_rb,0.11693e+02_rb,0.12037e+02_rb,0.12442e+02_rb,0.12909e+02_rb /) kbo(:,43, 3) = (/ & & 0.11335e+02_rb,0.11598e+02_rb,0.11923e+02_rb,0.12309e+02_rb,0.12757e+02_rb /) kbo(:,44, 3) = (/ & & 0.11261e+02_rb,0.11503e+02_rb,0.11807e+02_rb,0.12172e+02_rb,0.12599e+02_rb /) kbo(:,45, 3) = (/ & & 0.11193e+02_rb,0.11414e+02_rb,0.11697e+02_rb,0.12042e+02_rb,0.12448e+02_rb /) kbo(:,46, 3) = (/ & & 0.11129e+02_rb,0.11328e+02_rb,0.11588e+02_rb,0.11911e+02_rb,0.12295e+02_rb /) kbo(:,47, 3) = (/ & & 0.11065e+02_rb,0.11240e+02_rb,0.11476e+02_rb,0.11774e+02_rb,0.12133e+02_rb /) kbo(:,48, 3) = (/ & & 0.11012e+02_rb,0.11163e+02_rb,0.11374e+02_rb,0.11647e+02_rb,0.11981e+02_rb /) kbo(:,49, 3) = (/ & & 0.10969e+02_rb,0.11095e+02_rb,0.11282e+02_rb,0.11530e+02_rb,0.11839e+02_rb /) kbo(:,50, 3) = (/ & & 0.10938e+02_rb,0.11040e+02_rb,0.11204e+02_rb,0.11429e+02_rb,0.11715e+02_rb /) kbo(:,51, 3) = (/ & & 0.10916e+02_rb,0.10996e+02_rb,0.11138e+02_rb,0.11340e+02_rb,0.11604e+02_rb /) kbo(:,52, 3) = (/ & & 0.10900e+02_rb,0.10960e+02_rb,0.11079e+02_rb,0.11259e+02_rb,0.11500e+02_rb /) kbo(:,53, 3) = (/ & & 0.10894e+02_rb,0.10932e+02_rb,0.11028e+02_rb,0.11186e+02_rb,0.11405e+02_rb /) kbo(:,54, 3) = (/ & & 0.10895e+02_rb,0.10912e+02_rb,0.10989e+02_rb,0.11127e+02_rb,0.11325e+02_rb /) kbo(:,55, 3) = (/ & & 0.10903e+02_rb,0.10900e+02_rb,0.10958e+02_rb,0.11075e+02_rb,0.11255e+02_rb /) kbo(:,56, 3) = (/ & & 0.10921e+02_rb,0.10894e+02_rb,0.10933e+02_rb,0.11031e+02_rb,0.11191e+02_rb /) kbo(:,57, 3) = (/ & & 0.10944e+02_rb,0.10894e+02_rb,0.10914e+02_rb,0.10993e+02_rb,0.11134e+02_rb /) kbo(:,58, 3) = (/ & & 0.10972e+02_rb,0.10901e+02_rb,0.10902e+02_rb,0.10963e+02_rb,0.11084e+02_rb /) kbo(:,59, 3) = (/ & & 0.10984e+02_rb,0.10906e+02_rb,0.10898e+02_rb,0.10952e+02_rb,0.11066e+02_rb /) kbo(:,13, 4) = (/ & & 0.51563e+02_rb,0.51946e+02_rb,0.52464e+02_rb,0.53116e+02_rb,0.53902e+02_rb /) kbo(:,14, 4) = (/ & & 0.51593e+02_rb,0.51987e+02_rb,0.52517e+02_rb,0.53182e+02_rb,0.53980e+02_rb /) kbo(:,15, 4) = (/ & & 0.51626e+02_rb,0.52035e+02_rb,0.52579e+02_rb,0.53256e+02_rb,0.54069e+02_rb /) kbo(:,16, 4) = (/ & & 0.51664e+02_rb,0.52087e+02_rb,0.52644e+02_rb,0.53337e+02_rb,0.54163e+02_rb /) kbo(:,17, 4) = (/ & & 0.51701e+02_rb,0.52138e+02_rb,0.52710e+02_rb,0.53416e+02_rb,0.54257e+02_rb /) kbo(:,18, 4) = (/ & & 0.51740e+02_rb,0.52191e+02_rb,0.52776e+02_rb,0.53496e+02_rb,0.54351e+02_rb /) kbo(:,19, 4) = (/ & & 0.51779e+02_rb,0.52244e+02_rb,0.52843e+02_rb,0.53576e+02_rb,0.54444e+02_rb /) kbo(:,20, 4) = (/ & & 0.51827e+02_rb,0.52307e+02_rb,0.52922e+02_rb,0.53671e+02_rb,0.54555e+02_rb /) kbo(:,21, 4) = (/ & & 0.51877e+02_rb,0.52373e+02_rb,0.53004e+02_rb,0.53770e+02_rb,0.54669e+02_rb /) kbo(:,22, 4) = (/ & & 0.51959e+02_rb,0.52481e+02_rb,0.53136e+02_rb,0.53927e+02_rb,0.54851e+02_rb /) kbo(:,23, 4) = (/ & & 0.52049e+02_rb,0.52596e+02_rb,0.53278e+02_rb,0.54094e+02_rb,0.55044e+02_rb /) kbo(:,24, 4) = (/ & & 0.52148e+02_rb,0.52723e+02_rb,0.53431e+02_rb,0.54274e+02_rb,0.55252e+02_rb /) kbo(:,25, 4) = (/ & & 0.52259e+02_rb,0.52862e+02_rb,0.53599e+02_rb,0.54471e+02_rb,0.55477e+02_rb /) kbo(:,26, 4) = (/ & & 0.52387e+02_rb,0.53022e+02_rb,0.53790e+02_rb,0.54693e+02_rb,0.55730e+02_rb /) kbo(:,27, 4) = (/ & & 0.52525e+02_rb,0.53191e+02_rb,0.53992e+02_rb,0.54926e+02_rb,0.55995e+02_rb /) kbo(:,28, 4) = (/ & & 0.52672e+02_rb,0.53371e+02_rb,0.54203e+02_rb,0.55170e+02_rb,0.56271e+02_rb /) kbo(:,29, 4) = (/ & & 0.52833e+02_rb,0.53565e+02_rb,0.54430e+02_rb,0.55430e+02_rb,0.56565e+02_rb /) kbo(:,30, 4) = (/ & & 0.53003e+02_rb,0.53768e+02_rb,0.54668e+02_rb,0.55702e+02_rb,0.56870e+02_rb /) kbo(:,31, 4) = (/ & & 0.53186e+02_rb,0.53986e+02_rb,0.54920e+02_rb,0.55988e+02_rb,0.57190e+02_rb /) kbo(:,32, 4) = (/ & & 0.53381e+02_rb,0.54216e+02_rb,0.55184e+02_rb,0.56287e+02_rb,0.57525e+02_rb /) kbo(:,33, 4) = (/ & & 0.53587e+02_rb,0.54457e+02_rb,0.55460e+02_rb,0.56599e+02_rb,0.57871e+02_rb /) kbo(:,34, 4) = (/ & & 0.53773e+02_rb,0.54673e+02_rb,0.55707e+02_rb,0.56876e+02_rb,0.58179e+02_rb /) kbo(:,35, 4) = (/ & & 0.53883e+02_rb,0.54800e+02_rb,0.55852e+02_rb,0.57039e+02_rb,0.58359e+02_rb /) kbo(:,36, 4) = (/ & & 0.53901e+02_rb,0.54822e+02_rb,0.55876e+02_rb,0.57066e+02_rb,0.58389e+02_rb /) kbo(:,37, 4) = (/ & & 0.53791e+02_rb,0.54694e+02_rb,0.55731e+02_rb,0.56903e+02_rb,0.58208e+02_rb /) kbo(:,38, 4) = (/ & & 0.53676e+02_rb,0.54560e+02_rb,0.55578e+02_rb,0.56731e+02_rb,0.58018e+02_rb /) kbo(:,39, 4) = (/ & & 0.53563e+02_rb,0.54429e+02_rb,0.55429e+02_rb,0.56563e+02_rb,0.57832e+02_rb /) kbo(:,40, 4) = (/ & & 0.53375e+02_rb,0.54208e+02_rb,0.55175e+02_rb,0.56277e+02_rb,0.57513e+02_rb /) kbo(:,41, 4) = (/ & & 0.53184e+02_rb,0.53983e+02_rb,0.54916e+02_rb,0.55984e+02_rb,0.57186e+02_rb /) kbo(:,42, 4) = (/ & & 0.53001e+02_rb,0.53766e+02_rb,0.54665e+02_rb,0.55699e+02_rb,0.56866e+02_rb /) kbo(:,43, 4) = (/ & & 0.52790e+02_rb,0.53513e+02_rb,0.54370e+02_rb,0.55362e+02_rb,0.56488e+02_rb /) kbo(:,44, 4) = (/ & & 0.52577e+02_rb,0.53254e+02_rb,0.54066e+02_rb,0.55012e+02_rb,0.56093e+02_rb /) kbo(:,45, 4) = (/ & & 0.52379e+02_rb,0.53011e+02_rb,0.53777e+02_rb,0.54678e+02_rb,0.55713e+02_rb /) kbo(:,46, 4) = (/ & & 0.52184e+02_rb,0.52768e+02_rb,0.53486e+02_rb,0.54339e+02_rb,0.55326e+02_rb /) kbo(:,47, 4) = (/ & & 0.51987e+02_rb,0.52517e+02_rb,0.53182e+02_rb,0.53980e+02_rb,0.54913e+02_rb /) kbo(:,48, 4) = (/ & & 0.51812e+02_rb,0.52288e+02_rb,0.52898e+02_rb,0.53643e+02_rb,0.54522e+02_rb /) kbo(:,49, 4) = (/ & & 0.51659e+02_rb,0.52081e+02_rb,0.52637e+02_rb,0.53327e+02_rb,0.54152e+02_rb /) kbo(:,50, 4) = (/ & & 0.51535e+02_rb,0.51906e+02_rb,0.52412e+02_rb,0.53052e+02_rb,0.53826e+02_rb /) kbo(:,51, 4) = (/ & & 0.51433e+02_rb,0.51755e+02_rb,0.52211e+02_rb,0.52802e+02_rb,0.53527e+02_rb /) kbo(:,52, 4) = (/ & & 0.51349e+02_rb,0.51622e+02_rb,0.52029e+02_rb,0.52571e+02_rb,0.53247e+02_rb /) kbo(:,53, 4) = (/ & & 0.51285e+02_rb,0.51507e+02_rb,0.51865e+02_rb,0.52358e+02_rb,0.52985e+02_rb /) kbo(:,54, 4) = (/ & & 0.51240e+02_rb,0.51417e+02_rb,0.51730e+02_rb,0.52178e+02_rb,0.52760e+02_rb /) kbo(:,55, 4) = (/ & & 0.51211e+02_rb,0.51346e+02_rb,0.51615e+02_rb,0.52020e+02_rb,0.52559e+02_rb /) kbo(:,56, 4) = (/ & & 0.51194e+02_rb,0.51288e+02_rb,0.51514e+02_rb,0.51875e+02_rb,0.52371e+02_rb /) kbo(:,57, 4) = (/ & & 0.51190e+02_rb,0.51245e+02_rb,0.51426e+02_rb,0.51746e+02_rb,0.52198e+02_rb /) kbo(:,58, 4) = (/ & & 0.51200e+02_rb,0.51216e+02_rb,0.51357e+02_rb,0.51635e+02_rb,0.52046e+02_rb /) kbo(:,59, 4) = (/ & & 0.51207e+02_rb,0.51207e+02_rb,0.51333e+02_rb,0.51594e+02_rb,0.51989e+02_rb /) kbo(:,13, 5) = (/ & & 0.17051e+03_rb,0.17168e+03_rb,0.17297e+03_rb,0.17437e+03_rb,0.17590e+03_rb /) kbo(:,14, 5) = (/ & & 0.17061e+03_rb,0.17179e+03_rb,0.17309e+03_rb,0.17451e+03_rb,0.17604e+03_rb /) kbo(:,15, 5) = (/ & & 0.17073e+03_rb,0.17192e+03_rb,0.17323e+03_rb,0.17466e+03_rb,0.17621e+03_rb /) kbo(:,16, 5) = (/ & & 0.17085e+03_rb,0.17205e+03_rb,0.17338e+03_rb,0.17482e+03_rb,0.17638e+03_rb /) kbo(:,17, 5) = (/ & & 0.17097e+03_rb,0.17218e+03_rb,0.17352e+03_rb,0.17497e+03_rb,0.17655e+03_rb /) kbo(:,18, 5) = (/ & & 0.17109e+03_rb,0.17232e+03_rb,0.17366e+03_rb,0.17513e+03_rb,0.17671e+03_rb /) kbo(:,19, 5) = (/ & & 0.17121e+03_rb,0.17245e+03_rb,0.17381e+03_rb,0.17528e+03_rb,0.17688e+03_rb /) kbo(:,20, 5) = (/ & & 0.17134e+03_rb,0.17260e+03_rb,0.17397e+03_rb,0.17547e+03_rb,0.17708e+03_rb /) kbo(:,21, 5) = (/ & & 0.17149e+03_rb,0.17276e+03_rb,0.17415e+03_rb,0.17565e+03_rb,0.17728e+03_rb /) kbo(:,22, 5) = (/ & & 0.17172e+03_rb,0.17301e+03_rb,0.17442e+03_rb,0.17594e+03_rb,0.17759e+03_rb /) kbo(:,23, 5) = (/ & & 0.17195e+03_rb,0.17327e+03_rb,0.17470e+03_rb,0.17625e+03_rb,0.17792e+03_rb /) kbo(:,24, 5) = (/ & & 0.17221e+03_rb,0.17355e+03_rb,0.17500e+03_rb,0.17658e+03_rb,0.17827e+03_rb /) kbo(:,25, 5) = (/ & & 0.17248e+03_rb,0.17385e+03_rb,0.17533e+03_rb,0.17693e+03_rb,0.17865e+03_rb /) kbo(:,26, 5) = (/ & & 0.17279e+03_rb,0.17418e+03_rb,0.17569e+03_rb,0.17732e+03_rb,0.17906e+03_rb /) kbo(:,27, 5) = (/ & & 0.17311e+03_rb,0.17453e+03_rb,0.17606e+03_rb,0.17772e+03_rb,0.17949e+03_rb /) kbo(:,28, 5) = (/ & & 0.17344e+03_rb,0.17488e+03_rb,0.17645e+03_rb,0.17813e+03_rb,0.17994e+03_rb /) kbo(:,29, 5) = (/ & & 0.17379e+03_rb,0.17526e+03_rb,0.17686e+03_rb,0.17857e+03_rb,0.18040e+03_rb /) kbo(:,30, 5) = (/ & & 0.17414e+03_rb,0.17565e+03_rb,0.17727e+03_rb,0.17902e+03_rb,0.18088e+03_rb /) kbo(:,31, 5) = (/ & & 0.17452e+03_rb,0.17605e+03_rb,0.17771e+03_rb,0.17948e+03_rb,0.18137e+03_rb /) kbo(:,32, 5) = (/ & & 0.17491e+03_rb,0.17647e+03_rb,0.17816e+03_rb,0.17996e+03_rb,0.18188e+03_rb /) kbo(:,33, 5) = (/ & & 0.17531e+03_rb,0.17690e+03_rb,0.17862e+03_rb,0.18045e+03_rb,0.18241e+03_rb /) kbo(:,34, 5) = (/ & & 0.17566e+03_rb,0.17728e+03_rb,0.17903e+03_rb,0.18089e+03_rb,0.18287e+03_rb /) kbo(:,35, 5) = (/ & & 0.17586e+03_rb,0.17750e+03_rb,0.17926e+03_rb,0.18114e+03_rb,0.18313e+03_rb /) kbo(:,36, 5) = (/ & & 0.17590e+03_rb,0.17754e+03_rb,0.17930e+03_rb,0.18118e+03_rb,0.18318e+03_rb /) kbo(:,37, 5) = (/ & & 0.17569e+03_rb,0.17732e+03_rb,0.17906e+03_rb,0.18093e+03_rb,0.18291e+03_rb /) kbo(:,38, 5) = (/ & & 0.17547e+03_rb,0.17708e+03_rb,0.17881e+03_rb,0.18066e+03_rb,0.18263e+03_rb /) kbo(:,39, 5) = (/ & & 0.17526e+03_rb,0.17685e+03_rb,0.17857e+03_rb,0.18040e+03_rb,0.18235e+03_rb /) kbo(:,40, 5) = (/ & & 0.17489e+03_rb,0.17646e+03_rb,0.17814e+03_rb,0.17995e+03_rb,0.18187e+03_rb /) kbo(:,41, 5) = (/ & & 0.17451e+03_rb,0.17605e+03_rb,0.17770e+03_rb,0.17948e+03_rb,0.18137e+03_rb /) kbo(:,42, 5) = (/ & & 0.17414e+03_rb,0.17565e+03_rb,0.17727e+03_rb,0.17901e+03_rb,0.18087e+03_rb /) kbo(:,43, 5) = (/ & & 0.17369e+03_rb,0.17516e+03_rb,0.17675e+03_rb,0.17846e+03_rb,0.18028e+03_rb /) kbo(:,44, 5) = (/ & & 0.17323e+03_rb,0.17465e+03_rb,0.17620e+03_rb,0.17787e+03_rb,0.17965e+03_rb /) kbo(:,45, 5) = (/ & & 0.17277e+03_rb,0.17416e+03_rb,0.17567e+03_rb,0.17729e+03_rb,0.17904e+03_rb /) kbo(:,46, 5) = (/ & & 0.17230e+03_rb,0.17365e+03_rb,0.17511e+03_rb,0.17669e+03_rb,0.17840e+03_rb /) kbo(:,47, 5) = (/ & & 0.17179e+03_rb,0.17309e+03_rb,0.17451e+03_rb,0.17604e+03_rb,0.17770e+03_rb /) kbo(:,48, 5) = (/ & & 0.17130e+03_rb,0.17255e+03_rb,0.17392e+03_rb,0.17541e+03_rb,0.17702e+03_rb /) kbo(:,49, 5) = (/ & & 0.17083e+03_rb,0.17204e+03_rb,0.17336e+03_rb,0.17480e+03_rb,0.17636e+03_rb /) kbo(:,50, 5) = (/ & & 0.17041e+03_rb,0.17157e+03_rb,0.17285e+03_rb,0.17424e+03_rb,0.17576e+03_rb /) kbo(:,51, 5) = (/ & & 0.17002e+03_rb,0.17113e+03_rb,0.17237e+03_rb,0.17372e+03_rb,0.17519e+03_rb /) kbo(:,52, 5) = (/ & & 0.16964e+03_rb,0.17071e+03_rb,0.17190e+03_rb,0.17321e+03_rb,0.17464e+03_rb /) kbo(:,53, 5) = (/ & & 0.16927e+03_rb,0.17031e+03_rb,0.17145e+03_rb,0.17272e+03_rb,0.17411e+03_rb /) kbo(:,54, 5) = (/ & & 0.16896e+03_rb,0.16995e+03_rb,0.17106e+03_rb,0.17228e+03_rb,0.17363e+03_rb /) kbo(:,55, 5) = (/ & & 0.16866e+03_rb,0.16962e+03_rb,0.17069e+03_rb,0.17188e+03_rb,0.17318e+03_rb /) kbo(:,56, 5) = (/ & & 0.16839e+03_rb,0.16930e+03_rb,0.17033e+03_rb,0.17148e+03_rb,0.17275e+03_rb /) kbo(:,57, 5) = (/ & & 0.16812e+03_rb,0.16899e+03_rb,0.16999e+03_rb,0.17110e+03_rb,0.17233e+03_rb /) kbo(:,58, 5) = (/ & & 0.16788e+03_rb,0.16871e+03_rb,0.16968e+03_rb,0.17075e+03_rb,0.17195e+03_rb /) kbo(:,59, 5) = (/ & & 0.16779e+03_rb,0.16861e+03_rb,0.16955e+03_rb,0.17062e+03_rb,0.17180e+03_rb /) kbo(:,13, 6) = (/ & & 0.38122e+03_rb,0.38406e+03_rb,0.38668e+03_rb,0.38908e+03_rb,0.39125e+03_rb /) kbo(:,14, 6) = (/ & & 0.38148e+03_rb,0.38431e+03_rb,0.38691e+03_rb,0.38929e+03_rb,0.39144e+03_rb /) kbo(:,15, 6) = (/ & & 0.38178e+03_rb,0.38458e+03_rb,0.38716e+03_rb,0.38951e+03_rb,0.39164e+03_rb /) kbo(:,16, 6) = (/ & & 0.38209e+03_rb,0.38487e+03_rb,0.38742e+03_rb,0.38975e+03_rb,0.39186e+03_rb /) kbo(:,17, 6) = (/ & & 0.38239e+03_rb,0.38514e+03_rb,0.38767e+03_rb,0.38998e+03_rb,0.39206e+03_rb /) kbo(:,18, 6) = (/ & & 0.38268e+03_rb,0.38541e+03_rb,0.38792e+03_rb,0.39020e+03_rb,0.39226e+03_rb /) kbo(:,19, 6) = (/ & & 0.38297e+03_rb,0.38568e+03_rb,0.38816e+03_rb,0.39042e+03_rb,0.39246e+03_rb /) kbo(:,20, 6) = (/ & & 0.38330e+03_rb,0.38598e+03_rb,0.38844e+03_rb,0.39067e+03_rb,0.39268e+03_rb /) kbo(:,21, 6) = (/ & & 0.38363e+03_rb,0.38629e+03_rb,0.38872e+03_rb,0.39092e+03_rb,0.39291e+03_rb /) kbo(:,22, 6) = (/ & & 0.38414e+03_rb,0.38675e+03_rb,0.38914e+03_rb,0.39131e+03_rb,0.39325e+03_rb /) kbo(:,23, 6) = (/ & & 0.38466e+03_rb,0.38723e+03_rb,0.38958e+03_rb,0.39170e+03_rb,0.39360e+03_rb /) kbo(:,24, 6) = (/ & & 0.38520e+03_rb,0.38772e+03_rb,0.39002e+03_rb,0.39210e+03_rb,0.39395e+03_rb /) kbo(:,25, 6) = (/ & & 0.38575e+03_rb,0.38823e+03_rb,0.39048e+03_rb,0.39251e+03_rb,0.39432e+03_rb /) kbo(:,26, 6) = (/ & & 0.38635e+03_rb,0.38877e+03_rb,0.39098e+03_rb,0.39295e+03_rb,0.39470e+03_rb /) kbo(:,27, 6) = (/ & & 0.38694e+03_rb,0.38932e+03_rb,0.39146e+03_rb,0.39339e+03_rb,0.39509e+03_rb /) kbo(:,28, 6) = (/ & & 0.38753e+03_rb,0.38985e+03_rb,0.39194e+03_rb,0.39381e+03_rb,0.39546e+03_rb /) kbo(:,29, 6) = (/ & & 0.38813e+03_rb,0.39039e+03_rb,0.39243e+03_rb,0.39424e+03_rb,0.39583e+03_rb /) kbo(:,30, 6) = (/ & & 0.38871e+03_rb,0.39092e+03_rb,0.39290e+03_rb,0.39466e+03_rb,0.39620e+03_rb /) kbo(:,31, 6) = (/ & & 0.38930e+03_rb,0.39145e+03_rb,0.39338e+03_rb,0.39508e+03_rb,0.39655e+03_rb /) kbo(:,32, 6) = (/ & & 0.38988e+03_rb,0.39197e+03_rb,0.39384e+03_rb,0.39548e+03_rb,0.39690e+03_rb /) kbo(:,33, 6) = (/ & & 0.39045e+03_rb,0.39248e+03_rb,0.39429e+03_rb,0.39587e+03_rb,0.39723e+03_rb /) kbo(:,34, 6) = (/ & & 0.39093e+03_rb,0.39291e+03_rb,0.39467e+03_rb,0.39620e+03_rb,0.39751e+03_rb /) kbo(:,35, 6) = (/ & & 0.39120e+03_rb,0.39316e+03_rb,0.39488e+03_rb,0.39639e+03_rb,0.39766e+03_rb /) kbo(:,36, 6) = (/ & & 0.39125e+03_rb,0.39320e+03_rb,0.39492e+03_rb,0.39642e+03_rb,0.39769e+03_rb /) kbo(:,37, 6) = (/ & & 0.39098e+03_rb,0.39295e+03_rb,0.39471e+03_rb,0.39623e+03_rb,0.39754e+03_rb /) kbo(:,38, 6) = (/ & & 0.39068e+03_rb,0.39269e+03_rb,0.39447e+03_rb,0.39603e+03_rb,0.39737e+03_rb /) kbo(:,39, 6) = (/ & & 0.39039e+03_rb,0.39243e+03_rb,0.39424e+03_rb,0.39583e+03_rb,0.39720e+03_rb /) kbo(:,40, 6) = (/ & & 0.38986e+03_rb,0.39196e+03_rb,0.39382e+03_rb,0.39547e+03_rb,0.39689e+03_rb /) kbo(:,41, 6) = (/ & & 0.38929e+03_rb,0.39144e+03_rb,0.39337e+03_rb,0.39507e+03_rb,0.39655e+03_rb /) kbo(:,42, 6) = (/ & & 0.38871e+03_rb,0.39092e+03_rb,0.39290e+03_rb,0.39466e+03_rb,0.39619e+03_rb /) kbo(:,43, 6) = (/ & & 0.38797e+03_rb,0.39025e+03_rb,0.39230e+03_rb,0.39413e+03_rb,0.39574e+03_rb /) kbo(:,44, 6) = (/ & & 0.38715e+03_rb,0.38951e+03_rb,0.39164e+03_rb,0.39354e+03_rb,0.39522e+03_rb /) kbo(:,45, 6) = (/ & & 0.38631e+03_rb,0.38874e+03_rb,0.39094e+03_rb,0.39292e+03_rb,0.39468e+03_rb /) kbo(:,46, 6) = (/ & & 0.38538e+03_rb,0.38789e+03_rb,0.39018e+03_rb,0.39224e+03_rb,0.39407e+03_rb /) kbo(:,47, 6) = (/ & & 0.38431e+03_rb,0.38691e+03_rb,0.38929e+03_rb,0.39144e+03_rb,0.39336e+03_rb /) kbo(:,48, 6) = (/ & & 0.38320e+03_rb,0.38589e+03_rb,0.38836e+03_rb,0.39060e+03_rb,0.39262e+03_rb /) kbo(:,49, 6) = (/ & & 0.38206e+03_rb,0.38484e+03_rb,0.38739e+03_rb,0.38972e+03_rb,0.39183e+03_rb /) kbo(:,50, 6) = (/ & & 0.38095e+03_rb,0.38382e+03_rb,0.38646e+03_rb,0.38887e+03_rb,0.39106e+03_rb /) kbo(:,51, 6) = (/ & & 0.37985e+03_rb,0.38279e+03_rb,0.38552e+03_rb,0.38802e+03_rb,0.39029e+03_rb /) kbo(:,52, 6) = (/ & & 0.37873e+03_rb,0.38175e+03_rb,0.38455e+03_rb,0.38713e+03_rb,0.38949e+03_rb /) kbo(:,53, 6) = (/ & & 0.37762e+03_rb,0.38067e+03_rb,0.38355e+03_rb,0.38621e+03_rb,0.38865e+03_rb /) kbo(:,54, 6) = (/ & & 0.37661e+03_rb,0.37965e+03_rb,0.38261e+03_rb,0.38535e+03_rb,0.38786e+03_rb /) kbo(:,55, 6) = (/ & & 0.37559e+03_rb,0.37867e+03_rb,0.38169e+03_rb,0.38450e+03_rb,0.38708e+03_rb /) kbo(:,56, 6) = (/ & & 0.37459e+03_rb,0.37768e+03_rb,0.38074e+03_rb,0.38362e+03_rb,0.38628e+03_rb /) kbo(:,57, 6) = (/ & & 0.37353e+03_rb,0.37673e+03_rb,0.37977e+03_rb,0.38272e+03_rb,0.38545e+03_rb /) kbo(:,58, 6) = (/ & & 0.37251e+03_rb,0.37577e+03_rb,0.37885e+03_rb,0.38185e+03_rb,0.38465e+03_rb /) kbo(:,59, 6) = (/ & & 0.37212e+03_rb,0.37539e+03_rb,0.37847e+03_rb,0.38150e+03_rb,0.38432e+03_rb /) kbo(:,13, 7) = (/ & & 0.62583e+03_rb,0.62623e+03_rb,0.62691e+03_rb,0.62787e+03_rb,0.62909e+03_rb /) kbo(:,14, 7) = (/ & & 0.62586e+03_rb,0.62628e+03_rb,0.62699e+03_rb,0.62797e+03_rb,0.62921e+03_rb /) kbo(:,15, 7) = (/ & & 0.62589e+03_rb,0.62634e+03_rb,0.62708e+03_rb,0.62809e+03_rb,0.62935e+03_rb /) kbo(:,16, 7) = (/ & & 0.62593e+03_rb,0.62640e+03_rb,0.62717e+03_rb,0.62821e+03_rb,0.62950e+03_rb /) kbo(:,17, 7) = (/ & & 0.62597e+03_rb,0.62647e+03_rb,0.62727e+03_rb,0.62833e+03_rb,0.62965e+03_rb /) kbo(:,18, 7) = (/ & & 0.62601e+03_rb,0.62654e+03_rb,0.62737e+03_rb,0.62846e+03_rb,0.62980e+03_rb /) kbo(:,19, 7) = (/ & & 0.62605e+03_rb,0.62661e+03_rb,0.62746e+03_rb,0.62858e+03_rb,0.62995e+03_rb /) kbo(:,20, 7) = (/ & & 0.62610e+03_rb,0.62670e+03_rb,0.62758e+03_rb,0.62873e+03_rb,0.63012e+03_rb /) kbo(:,21, 7) = (/ & & 0.62615e+03_rb,0.62679e+03_rb,0.62770e+03_rb,0.62888e+03_rb,0.63031e+03_rb /) kbo(:,22, 7) = (/ & & 0.62625e+03_rb,0.62694e+03_rb,0.62790e+03_rb,0.62913e+03_rb,0.63060e+03_rb /) kbo(:,23, 7) = (/ & & 0.62636e+03_rb,0.62710e+03_rb,0.62812e+03_rb,0.62939e+03_rb,0.63091e+03_rb /) kbo(:,24, 7) = (/ & & 0.62648e+03_rb,0.62729e+03_rb,0.62835e+03_rb,0.62968e+03_rb,0.63125e+03_rb /) kbo(:,25, 7) = (/ & & 0.62663e+03_rb,0.62749e+03_rb,0.62861e+03_rb,0.62999e+03_rb,0.63162e+03_rb /) kbo(:,26, 7) = (/ & & 0.62681e+03_rb,0.62773e+03_rb,0.62891e+03_rb,0.63035e+03_rb,0.63203e+03_rb /) kbo(:,27, 7) = (/ & & 0.62700e+03_rb,0.62799e+03_rb,0.62923e+03_rb,0.63072e+03_rb,0.63247e+03_rb /) kbo(:,28, 7) = (/ & & 0.62721e+03_rb,0.62826e+03_rb,0.62956e+03_rb,0.63112e+03_rb,0.63292e+03_rb /) kbo(:,29, 7) = (/ & & 0.62745e+03_rb,0.62856e+03_rb,0.62993e+03_rb,0.63154e+03_rb,0.63341e+03_rb /) kbo(:,30, 7) = (/ & & 0.62770e+03_rb,0.62888e+03_rb,0.63031e+03_rb,0.63198e+03_rb,0.63392e+03_rb /) kbo(:,31, 7) = (/ & & 0.62798e+03_rb,0.62922e+03_rb,0.63071e+03_rb,0.63245e+03_rb,0.63446e+03_rb /) kbo(:,32, 7) = (/ & & 0.62828e+03_rb,0.62958e+03_rb,0.63114e+03_rb,0.63295e+03_rb,0.63503e+03_rb /) kbo(:,33, 7) = (/ & & 0.62860e+03_rb,0.62997e+03_rb,0.63159e+03_rb,0.63347e+03_rb,0.63562e+03_rb /) kbo(:,34, 7) = (/ & & 0.62889e+03_rb,0.63031e+03_rb,0.63199e+03_rb,0.63393e+03_rb,0.63614e+03_rb /) kbo(:,35, 7) = (/ & & 0.62906e+03_rb,0.63052e+03_rb,0.63223e+03_rb,0.63421e+03_rb,0.63644e+03_rb /) kbo(:,36, 7) = (/ & & 0.62909e+03_rb,0.63055e+03_rb,0.63227e+03_rb,0.63425e+03_rb,0.63649e+03_rb /) kbo(:,37, 7) = (/ & & 0.62891e+03_rb,0.63035e+03_rb,0.63203e+03_rb,0.63397e+03_rb,0.63619e+03_rb /) kbo(:,38, 7) = (/ & & 0.62873e+03_rb,0.63013e+03_rb,0.63178e+03_rb,0.63369e+03_rb,0.63586e+03_rb /) kbo(:,39, 7) = (/ & & 0.62856e+03_rb,0.62992e+03_rb,0.63154e+03_rb,0.63341e+03_rb,0.63555e+03_rb /) kbo(:,40, 7) = (/ & & 0.62827e+03_rb,0.62957e+03_rb,0.63113e+03_rb,0.63293e+03_rb,0.63501e+03_rb /) kbo(:,41, 7) = (/ & & 0.62798e+03_rb,0.62922e+03_rb,0.63071e+03_rb,0.63245e+03_rb,0.63445e+03_rb /) kbo(:,42, 7) = (/ & & 0.62770e+03_rb,0.62887e+03_rb,0.63030e+03_rb,0.63198e+03_rb,0.63391e+03_rb /) kbo(:,43, 7) = (/ & & 0.62739e+03_rb,0.62848e+03_rb,0.62983e+03_rb,0.63143e+03_rb,0.63328e+03_rb /) kbo(:,44, 7) = (/ & & 0.62708e+03_rb,0.62808e+03_rb,0.62935e+03_rb,0.63086e+03_rb,0.63263e+03_rb /) kbo(:,45, 7) = (/ & & 0.62679e+03_rb,0.62771e+03_rb,0.62889e+03_rb,0.63032e+03_rb,0.63200e+03_rb /) kbo(:,46, 7) = (/ & & 0.62653e+03_rb,0.62735e+03_rb,0.62844e+03_rb,0.62978e+03_rb,0.63137e+03_rb /) kbo(:,47, 7) = (/ & & 0.62629e+03_rb,0.62699e+03_rb,0.62797e+03_rb,0.62921e+03_rb,0.63070e+03_rb /) kbo(:,48, 7) = (/ & & 0.62608e+03_rb,0.62667e+03_rb,0.62755e+03_rb,0.62868e+03_rb,0.63007e+03_rb /) kbo(:,49, 7) = (/ & & 0.62592e+03_rb,0.62640e+03_rb,0.62716e+03_rb,0.62820e+03_rb,0.62948e+03_rb /) kbo(:,50, 7) = (/ & & 0.62580e+03_rb,0.62619e+03_rb,0.62684e+03_rb,0.62778e+03_rb,0.62897e+03_rb /) kbo(:,51, 7) = (/ & & 0.62580e+03_rb,0.62602e+03_rb,0.62657e+03_rb,0.62741e+03_rb,0.62850e+03_rb /) kbo(:,52, 7) = (/ & & 0.62578e+03_rb,0.62589e+03_rb,0.62633e+03_rb,0.62707e+03_rb,0.62807e+03_rb /) kbo(:,53, 7) = (/ & & 0.62574e+03_rb,0.62578e+03_rb,0.62614e+03_rb,0.62677e+03_rb,0.62768e+03_rb /) kbo(:,54, 7) = (/ & & 0.62576e+03_rb,0.62580e+03_rb,0.62600e+03_rb,0.62652e+03_rb,0.62734e+03_rb /) kbo(:,55, 7) = (/ & & 0.62585e+03_rb,0.62578e+03_rb,0.62588e+03_rb,0.62632e+03_rb,0.62705e+03_rb /) kbo(:,56, 7) = (/ & & 0.62587e+03_rb,0.62576e+03_rb,0.62579e+03_rb,0.62615e+03_rb,0.62678e+03_rb /) kbo(:,57, 7) = (/ & & 0.62591e+03_rb,0.62574e+03_rb,0.62580e+03_rb,0.62601e+03_rb,0.62655e+03_rb /) kbo(:,58, 7) = (/ & & 0.62591e+03_rb,0.62583e+03_rb,0.62578e+03_rb,0.62590e+03_rb,0.62636e+03_rb /) kbo(:,59, 7) = (/ & & 0.62590e+03_rb,0.62586e+03_rb,0.62578e+03_rb,0.62586e+03_rb,0.62628e+03_rb /) kbo(:,13, 8) = (/ & & 0.81821e+03_rb,0.81877e+03_rb,0.81935e+03_rb,0.81999e+03_rb,0.82074e+03_rb /) kbo(:,14, 8) = (/ & & 0.81826e+03_rb,0.81882e+03_rb,0.81939e+03_rb,0.82006e+03_rb,0.82081e+03_rb /) kbo(:,15, 8) = (/ & & 0.81831e+03_rb,0.81888e+03_rb,0.81946e+03_rb,0.82012e+03_rb,0.82089e+03_rb /) kbo(:,16, 8) = (/ & & 0.81836e+03_rb,0.81895e+03_rb,0.81952e+03_rb,0.82021e+03_rb,0.82098e+03_rb /) kbo(:,17, 8) = (/ & & 0.81842e+03_rb,0.81901e+03_rb,0.81959e+03_rb,0.82028e+03_rb,0.82106e+03_rb /) kbo(:,18, 8) = (/ & & 0.81847e+03_rb,0.81907e+03_rb,0.81965e+03_rb,0.82036e+03_rb,0.82116e+03_rb /) kbo(:,19, 8) = (/ & & 0.81853e+03_rb,0.81913e+03_rb,0.81972e+03_rb,0.82043e+03_rb,0.82123e+03_rb /) kbo(:,20, 8) = (/ & & 0.81860e+03_rb,0.81919e+03_rb,0.81980e+03_rb,0.82052e+03_rb,0.82133e+03_rb /) kbo(:,21, 8) = (/ & & 0.81868e+03_rb,0.81925e+03_rb,0.81988e+03_rb,0.82061e+03_rb,0.82143e+03_rb /) kbo(:,22, 8) = (/ & & 0.81879e+03_rb,0.81936e+03_rb,0.82001e+03_rb,0.82076e+03_rb,0.82160e+03_rb /) kbo(:,23, 8) = (/ & & 0.81889e+03_rb,0.81947e+03_rb,0.82015e+03_rb,0.82091e+03_rb,0.82177e+03_rb /) kbo(:,24, 8) = (/ & & 0.81902e+03_rb,0.81960e+03_rb,0.82030e+03_rb,0.82108e+03_rb,0.82195e+03_rb /) kbo(:,25, 8) = (/ & & 0.81914e+03_rb,0.81974e+03_rb,0.82046e+03_rb,0.82126e+03_rb,0.82214e+03_rb /) kbo(:,26, 8) = (/ & & 0.81927e+03_rb,0.81990e+03_rb,0.82063e+03_rb,0.82145e+03_rb,0.82236e+03_rb /) kbo(:,27, 8) = (/ & & 0.81941e+03_rb,0.82006e+03_rb,0.82082e+03_rb,0.82166e+03_rb,0.82258e+03_rb /) kbo(:,28, 8) = (/ & & 0.81957e+03_rb,0.82024e+03_rb,0.82101e+03_rb,0.82188e+03_rb,0.82281e+03_rb /) kbo(:,29, 8) = (/ & & 0.81971e+03_rb,0.82042e+03_rb,0.82122e+03_rb,0.82210e+03_rb,0.82305e+03_rb /) kbo(:,30, 8) = (/ & & 0.81988e+03_rb,0.82061e+03_rb,0.82143e+03_rb,0.82233e+03_rb,0.82330e+03_rb /) kbo(:,31, 8) = (/ & & 0.82006e+03_rb,0.82081e+03_rb,0.82166e+03_rb,0.82258e+03_rb,0.82355e+03_rb /) kbo(:,32, 8) = (/ & & 0.82025e+03_rb,0.82103e+03_rb,0.82189e+03_rb,0.82283e+03_rb,0.82380e+03_rb /) kbo(:,33, 8) = (/ & & 0.82044e+03_rb,0.82124e+03_rb,0.82213e+03_rb,0.82308e+03_rb,0.82408e+03_rb /) kbo(:,34, 8) = (/ & & 0.82062e+03_rb,0.82144e+03_rb,0.82234e+03_rb,0.82330e+03_rb,0.82432e+03_rb /) kbo(:,35, 8) = (/ & & 0.82072e+03_rb,0.82155e+03_rb,0.82246e+03_rb,0.82342e+03_rb,0.82446e+03_rb /) kbo(:,36, 8) = (/ & & 0.82074e+03_rb,0.82157e+03_rb,0.82248e+03_rb,0.82345e+03_rb,0.82448e+03_rb /) kbo(:,37, 8) = (/ & & 0.82063e+03_rb,0.82146e+03_rb,0.82236e+03_rb,0.82332e+03_rb,0.82434e+03_rb /) kbo(:,38, 8) = (/ & & 0.82053e+03_rb,0.82134e+03_rb,0.82223e+03_rb,0.82319e+03_rb,0.82419e+03_rb /) kbo(:,39, 8) = (/ & & 0.82042e+03_rb,0.82122e+03_rb,0.82210e+03_rb,0.82305e+03_rb,0.82405e+03_rb /) kbo(:,40, 8) = (/ & & 0.82024e+03_rb,0.82102e+03_rb,0.82188e+03_rb,0.82282e+03_rb,0.82380e+03_rb /) kbo(:,41, 8) = (/ & & 0.82006e+03_rb,0.82081e+03_rb,0.82165e+03_rb,0.82257e+03_rb,0.82354e+03_rb /) kbo(:,42, 8) = (/ & & 0.81988e+03_rb,0.82061e+03_rb,0.82143e+03_rb,0.82233e+03_rb,0.82329e+03_rb /) kbo(:,43, 8) = (/ & & 0.81967e+03_rb,0.82037e+03_rb,0.82117e+03_rb,0.82204e+03_rb,0.82299e+03_rb /) kbo(:,44, 8) = (/ & & 0.81946e+03_rb,0.82013e+03_rb,0.82089e+03_rb,0.82174e+03_rb,0.82267e+03_rb /) kbo(:,45, 8) = (/ & & 0.81926e+03_rb,0.81989e+03_rb,0.82062e+03_rb,0.82144e+03_rb,0.82234e+03_rb /) kbo(:,46, 8) = (/ & & 0.81907e+03_rb,0.81965e+03_rb,0.82034e+03_rb,0.82114e+03_rb,0.82201e+03_rb /) kbo(:,47, 8) = (/ & & 0.81882e+03_rb,0.81939e+03_rb,0.82006e+03_rb,0.82081e+03_rb,0.82165e+03_rb /) kbo(:,48, 8) = (/ & & 0.81858e+03_rb,0.81917e+03_rb,0.81978e+03_rb,0.82050e+03_rb,0.82130e+03_rb /) kbo(:,49, 8) = (/ & & 0.81836e+03_rb,0.81894e+03_rb,0.81953e+03_rb,0.82019e+03_rb,0.82097e+03_rb /) kbo(:,50, 8) = (/ & & 0.81817e+03_rb,0.81871e+03_rb,0.81929e+03_rb,0.81993e+03_rb,0.82067e+03_rb /) kbo(:,51, 8) = (/ & & 0.81790e+03_rb,0.81850e+03_rb,0.81910e+03_rb,0.81967e+03_rb,0.82039e+03_rb /) kbo(:,52, 8) = (/ & & 0.81779e+03_rb,0.81830e+03_rb,0.81888e+03_rb,0.81945e+03_rb,0.82012e+03_rb /) kbo(:,53, 8) = (/ & & 0.81766e+03_rb,0.81812e+03_rb,0.81866e+03_rb,0.81924e+03_rb,0.81986e+03_rb /) kbo(:,54, 8) = (/ & & 0.81744e+03_rb,0.81785e+03_rb,0.81846e+03_rb,0.81906e+03_rb,0.81964e+03_rb /) kbo(:,55, 8) = (/ & & 0.81733e+03_rb,0.81777e+03_rb,0.81829e+03_rb,0.81886e+03_rb,0.81944e+03_rb /) kbo(:,56, 8) = (/ & & 0.81741e+03_rb,0.81767e+03_rb,0.81813e+03_rb,0.81867e+03_rb,0.81925e+03_rb /) kbo(:,57, 8) = (/ & & 0.81785e+03_rb,0.81749e+03_rb,0.81788e+03_rb,0.81848e+03_rb,0.81908e+03_rb /) kbo(:,58, 8) = (/ & & 0.81817e+03_rb,0.81731e+03_rb,0.81779e+03_rb,0.81832e+03_rb,0.81889e+03_rb /) kbo(:,59, 8) = (/ & & 0.81824e+03_rb,0.81736e+03_rb,0.81776e+03_rb,0.81826e+03_rb,0.81883e+03_rb /) kbo(:,13, 9) = (/ & & 0.94133e+03_rb,0.94438e+03_rb,0.94687e+03_rb,0.94883e+03_rb,0.95021e+03_rb /) kbo(:,14, 9) = (/ & & 0.94163e+03_rb,0.94463e+03_rb,0.94708e+03_rb,0.94898e+03_rb,0.95031e+03_rb /) kbo(:,15, 9) = (/ & & 0.94195e+03_rb,0.94490e+03_rb,0.94731e+03_rb,0.94914e+03_rb,0.95042e+03_rb /) kbo(:,16, 9) = (/ & & 0.94229e+03_rb,0.94518e+03_rb,0.94753e+03_rb,0.94930e+03_rb,0.95052e+03_rb /) kbo(:,17, 9) = (/ & & 0.94262e+03_rb,0.94544e+03_rb,0.94774e+03_rb,0.94946e+03_rb,0.95061e+03_rb /) kbo(:,18, 9) = (/ & & 0.94293e+03_rb,0.94570e+03_rb,0.94795e+03_rb,0.94960e+03_rb,0.95069e+03_rb /) kbo(:,19, 9) = (/ & & 0.94323e+03_rb,0.94595e+03_rb,0.94814e+03_rb,0.94974e+03_rb,0.95078e+03_rb /) kbo(:,20, 9) = (/ & & 0.94357e+03_rb,0.94624e+03_rb,0.94835e+03_rb,0.94989e+03_rb,0.95087e+03_rb /) kbo(:,21, 9) = (/ & & 0.94393e+03_rb,0.94654e+03_rb,0.94857e+03_rb,0.95003e+03_rb,0.95096e+03_rb /) kbo(:,22, 9) = (/ & & 0.94445e+03_rb,0.94695e+03_rb,0.94888e+03_rb,0.95025e+03_rb,0.95105e+03_rb /) kbo(:,23, 9) = (/ & & 0.94499e+03_rb,0.94737e+03_rb,0.94919e+03_rb,0.95045e+03_rb,0.95113e+03_rb /) kbo(:,24, 9) = (/ & & 0.94549e+03_rb,0.94778e+03_rb,0.94948e+03_rb,0.95063e+03_rb,0.95120e+03_rb /) kbo(:,25, 9) = (/ & & 0.94602e+03_rb,0.94819e+03_rb,0.94978e+03_rb,0.95082e+03_rb,0.95125e+03_rb /) kbo(:,26, 9) = (/ & & 0.94658e+03_rb,0.94861e+03_rb,0.95006e+03_rb,0.95096e+03_rb,0.95127e+03_rb /) kbo(:,27, 9) = (/ & & 0.94710e+03_rb,0.94900e+03_rb,0.95033e+03_rb,0.95109e+03_rb,0.95126e+03_rb /) kbo(:,28, 9) = (/ & & 0.94759e+03_rb,0.94937e+03_rb,0.95056e+03_rb,0.95118e+03_rb,0.95123e+03_rb /) kbo(:,29, 9) = (/ & & 0.94811e+03_rb,0.94973e+03_rb,0.95077e+03_rb,0.95124e+03_rb,0.95116e+03_rb /) kbo(:,30, 9) = (/ & & 0.94856e+03_rb,0.95003e+03_rb,0.95095e+03_rb,0.95127e+03_rb,0.95105e+03_rb /) kbo(:,31, 9) = (/ & & 0.94901e+03_rb,0.95032e+03_rb,0.95108e+03_rb,0.95127e+03_rb,0.95090e+03_rb /) kbo(:,32, 9) = (/ & & 0.94939e+03_rb,0.95057e+03_rb,0.95118e+03_rb,0.95121e+03_rb,0.95071e+03_rb /) kbo(:,33, 9) = (/ & & 0.94975e+03_rb,0.95079e+03_rb,0.95125e+03_rb,0.95115e+03_rb,0.95050e+03_rb /) kbo(:,34, 9) = (/ & & 0.95004e+03_rb,0.95095e+03_rb,0.95128e+03_rb,0.95105e+03_rb,0.95030e+03_rb /) kbo(:,35, 9) = (/ & & 0.95020e+03_rb,0.95102e+03_rb,0.95127e+03_rb,0.95098e+03_rb,0.95016e+03_rb /) kbo(:,36, 9) = (/ & & 0.95021e+03_rb,0.95103e+03_rb,0.95127e+03_rb,0.95096e+03_rb,0.95023e+03_rb /) kbo(:,37, 9) = (/ & & 0.95006e+03_rb,0.95096e+03_rb,0.95127e+03_rb,0.95104e+03_rb,0.95027e+03_rb /) kbo(:,38, 9) = (/ & & 0.94990e+03_rb,0.95087e+03_rb,0.95126e+03_rb,0.95110e+03_rb,0.95040e+03_rb /) kbo(:,39, 9) = (/ & & 0.94972e+03_rb,0.95077e+03_rb,0.95124e+03_rb,0.95117e+03_rb,0.95053e+03_rb /) kbo(:,40, 9) = (/ & & 0.94939e+03_rb,0.95057e+03_rb,0.95118e+03_rb,0.95123e+03_rb,0.95072e+03_rb /) kbo(:,41, 9) = (/ & & 0.94899e+03_rb,0.95032e+03_rb,0.95108e+03_rb,0.95127e+03_rb,0.95090e+03_rb /) kbo(:,42, 9) = (/ & & 0.94856e+03_rb,0.95004e+03_rb,0.95094e+03_rb,0.95127e+03_rb,0.95105e+03_rb /) kbo(:,43, 9) = (/ & & 0.94799e+03_rb,0.94963e+03_rb,0.95073e+03_rb,0.95123e+03_rb,0.95118e+03_rb /) kbo(:,44, 9) = (/ & & 0.94729e+03_rb,0.94914e+03_rb,0.95041e+03_rb,0.95112e+03_rb,0.95126e+03_rb /) kbo(:,45, 9) = (/ & & 0.94655e+03_rb,0.94858e+03_rb,0.95004e+03_rb,0.95095e+03_rb,0.95127e+03_rb /) kbo(:,46, 9) = (/ & & 0.94568e+03_rb,0.94792e+03_rb,0.94958e+03_rb,0.95070e+03_rb,0.95122e+03_rb /) kbo(:,47, 9) = (/ & & 0.94463e+03_rb,0.94708e+03_rb,0.94898e+03_rb,0.95031e+03_rb,0.95108e+03_rb /) kbo(:,48, 9) = (/ & & 0.94348e+03_rb,0.94616e+03_rb,0.94829e+03_rb,0.94984e+03_rb,0.95084e+03_rb /) kbo(:,49, 9) = (/ & & 0.94226e+03_rb,0.94515e+03_rb,0.94748e+03_rb,0.94928e+03_rb,0.95051e+03_rb /) kbo(:,50, 9) = (/ & & 0.94103e+03_rb,0.94413e+03_rb,0.94669e+03_rb,0.94868e+03_rb,0.95011e+03_rb /) kbo(:,51, 9) = (/ & & 0.93978e+03_rb,0.94307e+03_rb,0.94580e+03_rb,0.94802e+03_rb,0.94965e+03_rb /) kbo(:,52, 9) = (/ & & 0.93828e+03_rb,0.94192e+03_rb,0.94488e+03_rb,0.94728e+03_rb,0.94912e+03_rb /) kbo(:,53, 9) = (/ & & 0.93678e+03_rb,0.94072e+03_rb,0.94388e+03_rb,0.94646e+03_rb,0.94851e+03_rb /) kbo(:,54, 9) = (/ & & 0.93537e+03_rb,0.93955e+03_rb,0.94287e+03_rb,0.94565e+03_rb,0.94789e+03_rb /) kbo(:,55, 9) = (/ & & 0.93380e+03_rb,0.93820e+03_rb,0.94186e+03_rb,0.94483e+03_rb,0.94722e+03_rb /) kbo(:,56, 9) = (/ & & 0.93205e+03_rb,0.93688e+03_rb,0.94080e+03_rb,0.94394e+03_rb,0.94652e+03_rb /) kbo(:,57, 9) = (/ & & 0.92997e+03_rb,0.93554e+03_rb,0.93969e+03_rb,0.94299e+03_rb,0.94574e+03_rb /) kbo(:,58, 9) = (/ & & 0.92808e+03_rb,0.93414e+03_rb,0.93844e+03_rb,0.94204e+03_rb,0.94498e+03_rb /) kbo(:,59, 9) = (/ & & 0.92793e+03_rb,0.93341e+03_rb,0.93792e+03_rb,0.94165e+03_rb,0.94465e+03_rb /) kbo(:,13,10) = (/ & & 0.98036e+03_rb,0.98526e+03_rb,0.98973e+03_rb,0.99279e+03_rb,0.99468e+03_rb /) kbo(:,14,10) = (/ & & 0.98067e+03_rb,0.98568e+03_rb,0.99005e+03_rb,0.99301e+03_rb,0.99477e+03_rb /) kbo(:,15,10) = (/ & & 0.98125e+03_rb,0.98614e+03_rb,0.99040e+03_rb,0.99324e+03_rb,0.99485e+03_rb /) kbo(:,16,10) = (/ & & 0.98185e+03_rb,0.98662e+03_rb,0.99076e+03_rb,0.99348e+03_rb,0.99493e+03_rb /) kbo(:,17,10) = (/ & & 0.98242e+03_rb,0.98721e+03_rb,0.99109e+03_rb,0.99369e+03_rb,0.99498e+03_rb /) kbo(:,18,10) = (/ & & 0.98296e+03_rb,0.98755e+03_rb,0.99141e+03_rb,0.99390e+03_rb,0.99502e+03_rb /) kbo(:,19,10) = (/ & & 0.98350e+03_rb,0.98800e+03_rb,0.99172e+03_rb,0.99408e+03_rb,0.99505e+03_rb /) kbo(:,20,10) = (/ & & 0.98411e+03_rb,0.98852e+03_rb,0.99205e+03_rb,0.99428e+03_rb,0.99507e+03_rb /) kbo(:,21,10) = (/ & & 0.98464e+03_rb,0.98894e+03_rb,0.99238e+03_rb,0.99447e+03_rb,0.99496e+03_rb /) kbo(:,22,10) = (/ & & 0.98547e+03_rb,0.98983e+03_rb,0.99286e+03_rb,0.99470e+03_rb,0.99509e+03_rb /) kbo(:,23,10) = (/ & & 0.98617e+03_rb,0.99062e+03_rb,0.99331e+03_rb,0.99487e+03_rb,0.99508e+03_rb /) kbo(:,24,10) = (/ & & 0.98718e+03_rb,0.99115e+03_rb,0.99373e+03_rb,0.99499e+03_rb,0.99503e+03_rb /) kbo(:,25,10) = (/ & & 0.98813e+03_rb,0.99180e+03_rb,0.99413e+03_rb,0.99494e+03_rb,0.99492e+03_rb /) kbo(:,26,10) = (/ & & 0.98918e+03_rb,0.99244e+03_rb,0.99450e+03_rb,0.99508e+03_rb,0.99475e+03_rb /) kbo(:,27,10) = (/ & & 0.99010e+03_rb,0.99304e+03_rb,0.99478e+03_rb,0.99509e+03_rb,0.99499e+03_rb /) kbo(:,28,10) = (/ & & 0.99090e+03_rb,0.99357e+03_rb,0.99495e+03_rb,0.99505e+03_rb,0.99433e+03_rb /) kbo(:,29,10) = (/ & & 0.99167e+03_rb,0.99393e+03_rb,0.99505e+03_rb,0.99495e+03_rb,0.99385e+03_rb /) kbo(:,30,10) = (/ & & 0.99249e+03_rb,0.99447e+03_rb,0.99508e+03_rb,0.99477e+03_rb,0.99348e+03_rb /) kbo(:,31,10) = (/ & & 0.99290e+03_rb,0.99477e+03_rb,0.99509e+03_rb,0.99452e+03_rb,0.99326e+03_rb /) kbo(:,32,10) = (/ & & 0.99360e+03_rb,0.99496e+03_rb,0.99505e+03_rb,0.99419e+03_rb,0.99287e+03_rb /) kbo(:,33,10) = (/ & & 0.99410e+03_rb,0.99506e+03_rb,0.99493e+03_rb,0.99381e+03_rb,0.99210e+03_rb /) kbo(:,34,10) = (/ & & 0.99447e+03_rb,0.99508e+03_rb,0.99465e+03_rb,0.99347e+03_rb,0.99121e+03_rb /) kbo(:,35,10) = (/ & & 0.99453e+03_rb,0.99509e+03_rb,0.99465e+03_rb,0.99330e+03_rb,0.99083e+03_rb /) kbo(:,36,10) = (/ & & 0.99467e+03_rb,0.99509e+03_rb,0.99463e+03_rb,0.99327e+03_rb,0.98992e+03_rb /) kbo(:,37,10) = (/ & & 0.99451e+03_rb,0.99508e+03_rb,0.99475e+03_rb,0.99344e+03_rb,0.99124e+03_rb /) kbo(:,38,10) = (/ & & 0.99429e+03_rb,0.99507e+03_rb,0.99486e+03_rb,0.99365e+03_rb,0.99174e+03_rb /) kbo(:,39,10) = (/ & & 0.99405e+03_rb,0.99505e+03_rb,0.99495e+03_rb,0.99373e+03_rb,0.99219e+03_rb /) kbo(:,40,10) = (/ & & 0.99347e+03_rb,0.99496e+03_rb,0.99505e+03_rb,0.99420e+03_rb,0.99289e+03_rb /) kbo(:,41,10) = (/ & & 0.99302e+03_rb,0.99477e+03_rb,0.99509e+03_rb,0.99452e+03_rb,0.99315e+03_rb /) kbo(:,42,10) = (/ & & 0.99237e+03_rb,0.99435e+03_rb,0.99508e+03_rb,0.99477e+03_rb,0.99348e+03_rb /) kbo(:,43,10) = (/ & & 0.99148e+03_rb,0.99394e+03_rb,0.99491e+03_rb,0.99498e+03_rb,0.99395e+03_rb /) kbo(:,44,10) = (/ & & 0.99040e+03_rb,0.99324e+03_rb,0.99485e+03_rb,0.99508e+03_rb,0.99453e+03_rb /) kbo(:,45,10) = (/ & & 0.98910e+03_rb,0.99241e+03_rb,0.99449e+03_rb,0.99508e+03_rb,0.99476e+03_rb /) kbo(:,46,10) = (/ & & 0.98735e+03_rb,0.99138e+03_rb,0.99388e+03_rb,0.99490e+03_rb,0.99500e+03_rb /) kbo(:,47,10) = (/ & & 0.98565e+03_rb,0.99006e+03_rb,0.99301e+03_rb,0.99477e+03_rb,0.99509e+03_rb /) kbo(:,48,10) = (/ & & 0.98383e+03_rb,0.98834e+03_rb,0.99196e+03_rb,0.99423e+03_rb,0.99507e+03_rb /) kbo(:,49,10) = (/ & & 0.98174e+03_rb,0.98651e+03_rb,0.99073e+03_rb,0.99346e+03_rb,0.99492e+03_rb /) kbo(:,50,10) = (/ & & 0.97955e+03_rb,0.98480e+03_rb,0.98924e+03_rb,0.99257e+03_rb,0.99470e+03_rb /) kbo(:,51,10) = (/ & & 0.97755e+03_rb,0.98298e+03_rb,0.98767e+03_rb,0.99154e+03_rb,0.99399e+03_rb /) kbo(:,52,10) = (/ & & 0.97554e+03_rb,0.98111e+03_rb,0.98597e+03_rb,0.99036e+03_rb,0.99323e+03_rb /) kbo(:,53,10) = (/ & & 0.97320e+03_rb,0.97892e+03_rb,0.98413e+03_rb,0.98888e+03_rb,0.99232e+03_rb /) kbo(:,54,10) = (/ & & 0.97086e+03_rb,0.97720e+03_rb,0.98263e+03_rb,0.98733e+03_rb,0.99135e+03_rb /) kbo(:,55,10) = (/ & & 0.96881e+03_rb,0.97539e+03_rb,0.98096e+03_rb,0.98583e+03_rb,0.99029e+03_rb /) kbo(:,56,10) = (/ & & 0.96735e+03_rb,0.97336e+03_rb,0.97906e+03_rb,0.98435e+03_rb,0.98900e+03_rb /) kbo(:,57,10) = (/ & & 0.96407e+03_rb,0.97115e+03_rb,0.97740e+03_rb,0.98282e+03_rb,0.98752e+03_rb /) kbo(:,58,10) = (/ & & 0.96154e+03_rb,0.96893e+03_rb,0.97574e+03_rb,0.98129e+03_rb,0.98611e+03_rb /) kbo(:,59,10) = (/ & & 0.95571e+03_rb,0.96861e+03_rb,0.97503e+03_rb,0.98063e+03_rb,0.98557e+03_rb /) kbo(:,13,11) = (/ & & 0.98771e+03_rb,0.99296e+03_rb,0.99655e+03_rb,0.99859e+03_rb,0.99936e+03_rb /) kbo(:,14,11) = (/ & & 0.98850e+03_rb,0.99335e+03_rb,0.99679e+03_rb,0.99871e+03_rb,0.99939e+03_rb /) kbo(:,15,11) = (/ & & 0.98905e+03_rb,0.99377e+03_rb,0.99705e+03_rb,0.99882e+03_rb,0.99942e+03_rb /) kbo(:,16,11) = (/ & & 0.98962e+03_rb,0.99419e+03_rb,0.99730e+03_rb,0.99893e+03_rb,0.99945e+03_rb /) kbo(:,17,11) = (/ & & 0.99016e+03_rb,0.99444e+03_rb,0.99754e+03_rb,0.99903e+03_rb,0.99947e+03_rb /) kbo(:,18,11) = (/ & & 0.99067e+03_rb,0.99497e+03_rb,0.99775e+03_rb,0.99911e+03_rb,0.99948e+03_rb /) kbo(:,19,11) = (/ & & 0.99117e+03_rb,0.99532e+03_rb,0.99795e+03_rb,0.99918e+03_rb,0.99949e+03_rb /) kbo(:,20,11) = (/ & & 0.99173e+03_rb,0.99572e+03_rb,0.99816e+03_rb,0.99924e+03_rb,0.99949e+03_rb /) kbo(:,21,11) = (/ & & 0.99228e+03_rb,0.99610e+03_rb,0.99835e+03_rb,0.99929e+03_rb,0.99946e+03_rb /) kbo(:,22,11) = (/ & & 0.99309e+03_rb,0.99663e+03_rb,0.99862e+03_rb,0.99936e+03_rb,0.99953e+03_rb /) kbo(:,23,11) = (/ & & 0.99388e+03_rb,0.99698e+03_rb,0.99900e+03_rb,0.99942e+03_rb,0.99925e+03_rb /) kbo(:,24,11) = (/ & & 0.99466e+03_rb,0.99758e+03_rb,0.99904e+03_rb,0.99947e+03_rb,0.99905e+03_rb /) kbo(:,25,11) = (/ & & 0.99542e+03_rb,0.99800e+03_rb,0.99919e+03_rb,0.99963e+03_rb,0.99878e+03_rb /) kbo(:,26,11) = (/ & & 0.99618e+03_rb,0.99839e+03_rb,0.99930e+03_rb,0.99945e+03_rb,0.99847e+03_rb /) kbo(:,27,11) = (/ & & 0.99683e+03_rb,0.99872e+03_rb,0.99939e+03_rb,0.99934e+03_rb,0.99751e+03_rb /) kbo(:,28,11) = (/ & & 0.99741e+03_rb,0.99897e+03_rb,0.99946e+03_rb,0.99913e+03_rb,0.99749e+03_rb /) kbo(:,29,11) = (/ & & 0.99792e+03_rb,0.99917e+03_rb,0.99949e+03_rb,0.99884e+03_rb,0.99707e+03_rb /) kbo(:,30,11) = (/ & & 0.99821e+03_rb,0.99929e+03_rb,0.99946e+03_rb,0.99850e+03_rb,0.99637e+03_rb /) kbo(:,31,11) = (/ & & 0.99871e+03_rb,0.99938e+03_rb,0.99949e+03_rb,0.99810e+03_rb,0.99532e+03_rb /) kbo(:,32,11) = (/ & & 0.99899e+03_rb,0.99961e+03_rb,0.99926e+03_rb,0.99761e+03_rb,0.99460e+03_rb /) kbo(:,33,11) = (/ & & 0.99918e+03_rb,0.99949e+03_rb,0.99880e+03_rb,0.99700e+03_rb,0.99413e+03_rb /) kbo(:,34,11) = (/ & & 0.99929e+03_rb,0.99946e+03_rb,0.99850e+03_rb,0.99635e+03_rb,0.99329e+03_rb /) kbo(:,35,11) = (/ & & 0.99934e+03_rb,0.99941e+03_rb,0.99830e+03_rb,0.99590e+03_rb,0.99292e+03_rb /) kbo(:,36,11) = (/ & & 0.99935e+03_rb,0.99940e+03_rb,0.99826e+03_rb,0.99583e+03_rb,0.99287e+03_rb /) kbo(:,37,11) = (/ & & 0.99930e+03_rb,0.99946e+03_rb,0.99846e+03_rb,0.99628e+03_rb,0.99327e+03_rb /) kbo(:,38,11) = (/ & & 0.99924e+03_rb,0.99949e+03_rb,0.99866e+03_rb,0.99670e+03_rb,0.99350e+03_rb /) kbo(:,39,11) = (/ & & 0.99917e+03_rb,0.99949e+03_rb,0.99899e+03_rb,0.99707e+03_rb,0.99451e+03_rb /) kbo(:,40,11) = (/ & & 0.99898e+03_rb,0.99946e+03_rb,0.99913e+03_rb,0.99777e+03_rb,0.99505e+03_rb /) kbo(:,41,11) = (/ & & 0.99871e+03_rb,0.99939e+03_rb,0.99935e+03_rb,0.99810e+03_rb,0.99546e+03_rb /) kbo(:,42,11) = (/ & & 0.99835e+03_rb,0.99929e+03_rb,0.99947e+03_rb,0.99851e+03_rb,0.99637e+03_rb /) kbo(:,43,11) = (/ & & 0.99780e+03_rb,0.99913e+03_rb,0.99949e+03_rb,0.99893e+03_rb,0.99722e+03_rb /) kbo(:,44,11) = (/ & & 0.99704e+03_rb,0.99882e+03_rb,0.99942e+03_rb,0.99928e+03_rb,0.99778e+03_rb /) kbo(:,45,11) = (/ & & 0.99613e+03_rb,0.99837e+03_rb,0.99930e+03_rb,0.99947e+03_rb,0.99849e+03_rb /) kbo(:,46,11) = (/ & & 0.99492e+03_rb,0.99787e+03_rb,0.99911e+03_rb,0.99949e+03_rb,0.99897e+03_rb /) kbo(:,47,11) = (/ & & 0.99335e+03_rb,0.99679e+03_rb,0.99871e+03_rb,0.99939e+03_rb,0.99936e+03_rb /) kbo(:,48,11) = (/ & & 0.99156e+03_rb,0.99560e+03_rb,0.99810e+03_rb,0.99923e+03_rb,0.99951e+03_rb /) kbo(:,49,11) = (/ & & 0.98955e+03_rb,0.99414e+03_rb,0.99727e+03_rb,0.99894e+03_rb,0.99946e+03_rb /) kbo(:,50,11) = (/ & & 0.98749e+03_rb,0.99256e+03_rb,0.99630e+03_rb,0.99847e+03_rb,0.99918e+03_rb /) kbo(:,51,11) = (/ & & 0.98496e+03_rb,0.99085e+03_rb,0.99509e+03_rb,0.99784e+03_rb,0.99916e+03_rb /) kbo(:,52,11) = (/ & & 0.98304e+03_rb,0.98897e+03_rb,0.99370e+03_rb,0.99701e+03_rb,0.99883e+03_rb /) kbo(:,53,11) = (/ & & 0.98104e+03_rb,0.98693e+03_rb,0.99213e+03_rb,0.99600e+03_rb,0.99833e+03_rb /) kbo(:,54,11) = (/ & & 0.97906e+03_rb,0.98440e+03_rb,0.99053e+03_rb,0.99485e+03_rb,0.99771e+03_rb /) kbo(:,55,11) = (/ & & 0.97789e+03_rb,0.98286e+03_rb,0.98886e+03_rb,0.99361e+03_rb,0.99696e+03_rb /) kbo(:,56,11) = (/ & & 0.97514e+03_rb,0.98117e+03_rb,0.98708e+03_rb,0.99224e+03_rb,0.99622e+03_rb /) kbo(:,57,11) = (/ & & 0.97242e+03_rb,0.97945e+03_rb,0.98472e+03_rb,0.99072e+03_rb,0.99500e+03_rb /) kbo(:,58,11) = (/ & & 0.96969e+03_rb,0.97814e+03_rb,0.98316e+03_rb,0.98916e+03_rb,0.99384e+03_rb /) kbo(:,59,11) = (/ & & 0.96859e+03_rb,0.97725e+03_rb,0.98261e+03_rb,0.98851e+03_rb,0.99335e+03_rb /) kbo(:,13,12) = (/ & & 0.99768e+03_rb,0.99984e+03_rb,0.10010e+04_rb,0.10024e+04_rb,0.10029e+04_rb /) kbo(:,14,12) = (/ & & 0.99795e+03_rb,0.99992e+03_rb,0.10011e+04_rb,0.10025e+04_rb,0.10029e+04_rb /) kbo(:,15,12) = (/ & & 0.99880e+03_rb,0.99996e+03_rb,0.10013e+04_rb,0.10026e+04_rb,0.10031e+04_rb /) kbo(:,16,12) = (/ & & 0.99852e+03_rb,0.10003e+04_rb,0.10015e+04_rb,0.10028e+04_rb,0.10029e+04_rb /) kbo(:,17,12) = (/ & & 0.99876e+03_rb,0.10000e+04_rb,0.10016e+04_rb,0.10027e+04_rb,0.10029e+04_rb /) kbo(:,18,12) = (/ & & 0.99898e+03_rb,0.10001e+04_rb,0.10018e+04_rb,0.10028e+04_rb,0.10028e+04_rb /) kbo(:,19,12) = (/ & & 0.99918e+03_rb,0.10003e+04_rb,0.10021e+04_rb,0.10028e+04_rb,0.10028e+04_rb /) kbo(:,20,12) = (/ & & 0.99940e+03_rb,0.10005e+04_rb,0.10026e+04_rb,0.10029e+04_rb,0.10031e+04_rb /) kbo(:,21,12) = (/ & & 0.99959e+03_rb,0.10007e+04_rb,0.10022e+04_rb,0.10029e+04_rb,0.10026e+04_rb /) kbo(:,22,12) = (/ & & 0.99984e+03_rb,0.10010e+04_rb,0.10024e+04_rb,0.10030e+04_rb,0.10023e+04_rb /) kbo(:,23,12) = (/ & & 0.99996e+03_rb,0.10013e+04_rb,0.10024e+04_rb,0.10029e+04_rb,0.10025e+04_rb /) kbo(:,24,12) = (/ & & 0.10000e+04_rb,0.10016e+04_rb,0.10029e+04_rb,0.10029e+04_rb,0.10023e+04_rb /) kbo(:,25,12) = (/ & & 0.10003e+04_rb,0.10023e+04_rb,0.10029e+04_rb,0.10026e+04_rb,0.10019e+04_rb /) kbo(:,26,12) = (/ & & 0.10007e+04_rb,0.10022e+04_rb,0.10029e+04_rb,0.10026e+04_rb,0.10015e+04_rb /) kbo(:,27,12) = (/ & & 0.10012e+04_rb,0.10025e+04_rb,0.10031e+04_rb,0.10024e+04_rb,0.10010e+04_rb /) kbo(:,28,12) = (/ & & 0.10015e+04_rb,0.10027e+04_rb,0.10029e+04_rb,0.10022e+04_rb,0.10005e+04_rb /) kbo(:,29,12) = (/ & & 0.10019e+04_rb,0.10028e+04_rb,0.10028e+04_rb,0.10019e+04_rb,0.99992e+03_rb /) kbo(:,30,12) = (/ & & 0.10022e+04_rb,0.10029e+04_rb,0.10026e+04_rb,0.10017e+04_rb,0.99965e+03_rb /) kbo(:,31,12) = (/ & & 0.10025e+04_rb,0.10030e+04_rb,0.10022e+04_rb,0.10011e+04_rb,0.99843e+03_rb /) kbo(:,32,12) = (/ & & 0.10027e+04_rb,0.10029e+04_rb,0.10020e+04_rb,0.10007e+04_rb,0.99748e+03_rb /) kbo(:,33,12) = (/ & & 0.10029e+04_rb,0.10028e+04_rb,0.10021e+04_rb,0.10000e+04_rb,0.99658e+03_rb /) kbo(:,34,12) = (/ & & 0.10031e+04_rb,0.10026e+04_rb,0.10017e+04_rb,0.99945e+03_rb,0.99563e+03_rb /) kbo(:,35,12) = (/ & & 0.10030e+04_rb,0.10025e+04_rb,0.10031e+04_rb,0.99888e+03_rb,0.99496e+03_rb /) kbo(:,36,12) = (/ & & 0.10030e+04_rb,0.10025e+04_rb,0.10020e+04_rb,0.99880e+03_rb,0.99482e+03_rb /) kbo(:,37,12) = (/ & & 0.10029e+04_rb,0.10026e+04_rb,0.10015e+04_rb,0.99939e+03_rb,0.99547e+03_rb /) kbo(:,38,12) = (/ & & 0.10029e+04_rb,0.10027e+04_rb,0.10017e+04_rb,0.99958e+03_rb,0.99634e+03_rb /) kbo(:,39,12) = (/ & & 0.10028e+04_rb,0.10028e+04_rb,0.10017e+04_rb,0.99993e+03_rb,0.99613e+03_rb /) kbo(:,40,12) = (/ & & 0.10027e+04_rb,0.10029e+04_rb,0.10022e+04_rb,0.10003e+04_rb,0.99696e+03_rb /) kbo(:,41,12) = (/ & & 0.10027e+04_rb,0.10029e+04_rb,0.10024e+04_rb,0.10013e+04_rb,0.99857e+03_rb /) kbo(:,42,12) = (/ & & 0.10022e+04_rb,0.10029e+04_rb,0.10028e+04_rb,0.10021e+04_rb,0.99929e+03_rb /) kbo(:,43,12) = (/ & & 0.10018e+04_rb,0.10028e+04_rb,0.10028e+04_rb,0.10020e+04_rb,0.10001e+04_rb /) kbo(:,44,12) = (/ & & 0.10013e+04_rb,0.10026e+04_rb,0.10029e+04_rb,0.10023e+04_rb,0.10016e+04_rb /) kbo(:,45,12) = (/ & & 0.10007e+04_rb,0.10022e+04_rb,0.10029e+04_rb,0.10026e+04_rb,0.10015e+04_rb /) kbo(:,46,12) = (/ & & 0.10014e+04_rb,0.10016e+04_rb,0.10028e+04_rb,0.10028e+04_rb,0.10020e+04_rb /) kbo(:,47,12) = (/ & & 0.99993e+03_rb,0.10012e+04_rb,0.10025e+04_rb,0.10029e+04_rb,0.10024e+04_rb /) kbo(:,48,12) = (/ & & 0.99937e+03_rb,0.10005e+04_rb,0.10022e+04_rb,0.10029e+04_rb,0.10027e+04_rb /) kbo(:,49,12) = (/ & & 0.99853e+03_rb,0.10002e+04_rb,0.10015e+04_rb,0.10026e+04_rb,0.10029e+04_rb /) kbo(:,50,12) = (/ & & 0.99741e+03_rb,0.99993e+03_rb,0.10008e+04_rb,0.10023e+04_rb,0.10029e+04_rb /) kbo(:,51,12) = (/ & & 0.99665e+03_rb,0.99912e+03_rb,0.10002e+04_rb,0.10018e+04_rb,0.10028e+04_rb /) kbo(:,52,12) = (/ & & 0.99385e+03_rb,0.99826e+03_rb,0.10000e+04_rb,0.10013e+04_rb,0.10025e+04_rb /) kbo(:,53,12) = (/ & & 0.99099e+03_rb,0.99714e+03_rb,0.99965e+03_rb,0.10007e+04_rb,0.10022e+04_rb /) kbo(:,54,12) = (/ & & 0.98826e+03_rb,0.99612e+03_rb,0.99903e+03_rb,0.10002e+04_rb,0.10018e+04_rb /) kbo(:,55,12) = (/ & & 0.98397e+03_rb,0.99379e+03_rb,0.99822e+03_rb,0.10000e+04_rb,0.10013e+04_rb /) kbo(:,56,12) = (/ & & 0.98006e+03_rb,0.99120e+03_rb,0.99722e+03_rb,0.99969e+03_rb,0.10006e+04_rb /) kbo(:,57,12) = (/ & & 0.97631e+03_rb,0.98840e+03_rb,0.99624e+03_rb,0.99911e+03_rb,0.10002e+04_rb /) kbo(:,58,12) = (/ & & 0.97279e+03_rb,0.98508e+03_rb,0.99422e+03_rb,0.99838e+03_rb,0.10001e+04_rb /) kbo(:,59,12) = (/ & & 0.97171e+03_rb,0.98327e+03_rb,0.99315e+03_rb,0.99818e+03_rb,0.99997e+03_rb /) kbo(:,13,13) = (/ & & 0.99623e+03_rb,0.99978e+03_rb,0.10034e+04_rb,0.10050e+04_rb,0.10054e+04_rb /) kbo(:,14,13) = (/ & & 0.99674e+03_rb,0.10002e+04_rb,0.10034e+04_rb,0.10050e+04_rb,0.10053e+04_rb /) kbo(:,15,13) = (/ & & 0.99652e+03_rb,0.10007e+04_rb,0.10036e+04_rb,0.10051e+04_rb,0.10051e+04_rb /) kbo(:,16,13) = (/ & & 0.99785e+03_rb,0.10007e+04_rb,0.10039e+04_rb,0.10049e+04_rb,0.10053e+04_rb /) kbo(:,17,13) = (/ & & 0.99816e+03_rb,0.10017e+04_rb,0.10043e+04_rb,0.10052e+04_rb,0.10052e+04_rb /) kbo(:,18,13) = (/ & & 0.99792e+03_rb,0.10021e+04_rb,0.10042e+04_rb,0.10053e+04_rb,0.10051e+04_rb /) kbo(:,19,13) = (/ & & 0.99826e+03_rb,0.10023e+04_rb,0.10042e+04_rb,0.10053e+04_rb,0.10051e+04_rb /) kbo(:,20,13) = (/ & & 0.99869e+03_rb,0.10028e+04_rb,0.10038e+04_rb,0.10053e+04_rb,0.10044e+04_rb /) kbo(:,21,13) = (/ & & 0.99914e+03_rb,0.10028e+04_rb,0.10048e+04_rb,0.10054e+04_rb,0.10048e+04_rb /) kbo(:,22,13) = (/ & & 0.99989e+03_rb,0.10035e+04_rb,0.10050e+04_rb,0.10053e+04_rb,0.10046e+04_rb /) kbo(:,23,13) = (/ & & 0.10011e+04_rb,0.10037e+04_rb,0.10051e+04_rb,0.10053e+04_rb,0.10041e+04_rb /) kbo(:,24,13) = (/ & & 0.10018e+04_rb,0.10041e+04_rb,0.10050e+04_rb,0.10052e+04_rb,0.10037e+04_rb /) kbo(:,25,13) = (/ & & 0.10026e+04_rb,0.10040e+04_rb,0.10056e+04_rb,0.10050e+04_rb,0.10036e+04_rb /) kbo(:,26,13) = (/ & & 0.10031e+04_rb,0.10048e+04_rb,0.10054e+04_rb,0.10050e+04_rb,0.10030e+04_rb /) kbo(:,27,13) = (/ & & 0.10047e+04_rb,0.10050e+04_rb,0.10051e+04_rb,0.10045e+04_rb,0.10025e+04_rb /) kbo(:,28,13) = (/ & & 0.10039e+04_rb,0.10052e+04_rb,0.10052e+04_rb,0.10041e+04_rb,0.10018e+04_rb /) kbo(:,29,13) = (/ & & 0.10044e+04_rb,0.10053e+04_rb,0.10051e+04_rb,0.10037e+04_rb,0.10011e+04_rb /) kbo(:,30,13) = (/ & & 0.10048e+04_rb,0.10054e+04_rb,0.10048e+04_rb,0.10029e+04_rb,0.99977e+03_rb /) kbo(:,31,13) = (/ & & 0.10050e+04_rb,0.10053e+04_rb,0.10045e+04_rb,0.10025e+04_rb,0.99968e+03_rb /) kbo(:,32,13) = (/ & & 0.10052e+04_rb,0.10050e+04_rb,0.10041e+04_rb,0.10015e+04_rb,0.99880e+03_rb /) kbo(:,33,13) = (/ & & 0.10053e+04_rb,0.10050e+04_rb,0.10033e+04_rb,0.10008e+04_rb,0.99675e+03_rb /) kbo(:,34,13) = (/ & & 0.10051e+04_rb,0.10048e+04_rb,0.10028e+04_rb,0.10000e+04_rb,0.99529e+03_rb /) kbo(:,35,13) = (/ & & 0.10054e+04_rb,0.10047e+04_rb,0.10003e+04_rb,0.99992e+03_rb,0.99481e+03_rb /) kbo(:,36,13) = (/ & & 0.10054e+04_rb,0.10046e+04_rb,0.10017e+04_rb,0.99987e+03_rb,0.99445e+03_rb /) kbo(:,37,13) = (/ & & 0.10054e+04_rb,0.10048e+04_rb,0.10030e+04_rb,0.99995e+03_rb,0.99517e+03_rb /) kbo(:,38,13) = (/ & & 0.10054e+04_rb,0.10049e+04_rb,0.10034e+04_rb,0.10006e+04_rb,0.99603e+03_rb /) kbo(:,39,13) = (/ & & 0.10053e+04_rb,0.10051e+04_rb,0.10037e+04_rb,0.10011e+04_rb,0.99693e+03_rb /) kbo(:,40,13) = (/ & & 0.10052e+04_rb,0.10052e+04_rb,0.10041e+04_rb,0.10018e+04_rb,0.99860e+03_rb /) kbo(:,41,13) = (/ & & 0.10048e+04_rb,0.10053e+04_rb,0.10045e+04_rb,0.10023e+04_rb,0.99951e+03_rb /) kbo(:,42,13) = (/ & & 0.10048e+04_rb,0.10054e+04_rb,0.10046e+04_rb,0.10024e+04_rb,0.10003e+04_rb /) kbo(:,43,13) = (/ & & 0.10043e+04_rb,0.10053e+04_rb,0.10051e+04_rb,0.10038e+04_rb,0.10013e+04_rb /) kbo(:,44,13) = (/ & & 0.10036e+04_rb,0.10051e+04_rb,0.10053e+04_rb,0.10044e+04_rb,0.10012e+04_rb /) kbo(:,45,13) = (/ & & 0.10028e+04_rb,0.10048e+04_rb,0.10054e+04_rb,0.10048e+04_rb,0.10031e+04_rb /) kbo(:,46,13) = (/ & & 0.10008e+04_rb,0.10042e+04_rb,0.10053e+04_rb,0.10052e+04_rb,0.10038e+04_rb /) kbo(:,47,13) = (/ & & 0.10002e+04_rb,0.10039e+04_rb,0.10050e+04_rb,0.10053e+04_rb,0.10045e+04_rb /) kbo(:,48,13) = (/ & & 0.99859e+03_rb,0.10025e+04_rb,0.10043e+04_rb,0.10054e+04_rb,0.10050e+04_rb /) kbo(:,49,13) = (/ & & 0.99776e+03_rb,0.10009e+04_rb,0.10041e+04_rb,0.10052e+04_rb,0.10053e+04_rb /) kbo(:,50,13) = (/ & & 0.99565e+03_rb,0.99944e+03_rb,0.10034e+04_rb,0.10049e+04_rb,0.10054e+04_rb /) kbo(:,51,13) = (/ & & 0.99271e+03_rb,0.99811e+03_rb,0.10022e+04_rb,0.10043e+04_rb,0.10053e+04_rb /) kbo(:,52,13) = (/ & & 0.99056e+03_rb,0.99717e+03_rb,0.10006e+04_rb,0.10036e+04_rb,0.10051e+04_rb /) kbo(:,53,13) = (/ & & 0.98830e+03_rb,0.99502e+03_rb,0.99909e+03_rb,0.10028e+04_rb,0.10048e+04_rb /) kbo(:,54,13) = (/ & & 0.98610e+03_rb,0.99275e+03_rb,0.99821e+03_rb,0.10021e+04_rb,0.10042e+04_rb /) kbo(:,55,13) = (/ & & 0.98386e+03_rb,0.99045e+03_rb,0.99729e+03_rb,0.10008e+04_rb,0.10038e+04_rb /) kbo(:,56,13) = (/ & & 0.98150e+03_rb,0.98846e+03_rb,0.99517e+03_rb,0.99919e+03_rb,0.10028e+04_rb /) kbo(:,57,13) = (/ & & 0.97902e+03_rb,0.98636e+03_rb,0.99303e+03_rb,0.99832e+03_rb,0.10022e+04_rb /) kbo(:,58,13) = (/ & & 0.97656e+03_rb,0.98426e+03_rb,0.99079e+03_rb,0.99735e+03_rb,0.10008e+04_rb /) kbo(:,59,13) = (/ & & 0.97503e+03_rb,0.98337e+03_rb,0.99004e+03_rb,0.99647e+03_rb,0.10002e+04_rb /) kbo(:,13,14) = (/ & & 0.99596e+03_rb,0.10023e+04_rb,0.10047e+04_rb,0.10067e+04_rb,0.10072e+04_rb /) kbo(:,14,14) = (/ & & 0.99625e+03_rb,0.10024e+04_rb,0.10052e+04_rb,0.10068e+04_rb,0.10071e+04_rb /) kbo(:,15,14) = (/ & & 0.99662e+03_rb,0.10025e+04_rb,0.10054e+04_rb,0.10069e+04_rb,0.10071e+04_rb /) kbo(:,16,14) = (/ & & 0.99703e+03_rb,0.10026e+04_rb,0.10056e+04_rb,0.10070e+04_rb,0.10070e+04_rb /) kbo(:,17,14) = (/ & & 0.99784e+03_rb,0.10032e+04_rb,0.10054e+04_rb,0.10071e+04_rb,0.10070e+04_rb /) kbo(:,18,14) = (/ & & 0.99947e+03_rb,0.10032e+04_rb,0.10060e+04_rb,0.10071e+04_rb,0.10069e+04_rb /) kbo(:,19,14) = (/ & & 0.10001e+04_rb,0.10036e+04_rb,0.10062e+04_rb,0.10071e+04_rb,0.10068e+04_rb /) kbo(:,20,14) = (/ & & 0.10009e+04_rb,0.10037e+04_rb,0.10064e+04_rb,0.10076e+04_rb,0.10067e+04_rb /) kbo(:,21,14) = (/ & & 0.10015e+04_rb,0.10046e+04_rb,0.10065e+04_rb,0.10072e+04_rb,0.10065e+04_rb /) kbo(:,22,14) = (/ & & 0.10023e+04_rb,0.10047e+04_rb,0.10068e+04_rb,0.10071e+04_rb,0.10063e+04_rb /) kbo(:,23,14) = (/ & & 0.10021e+04_rb,0.10055e+04_rb,0.10069e+04_rb,0.10071e+04_rb,0.10060e+04_rb /) kbo(:,24,14) = (/ & & 0.10028e+04_rb,0.10059e+04_rb,0.10071e+04_rb,0.10069e+04_rb,0.10057e+04_rb /) kbo(:,25,14) = (/ & & 0.10033e+04_rb,0.10062e+04_rb,0.10068e+04_rb,0.10068e+04_rb,0.10052e+04_rb /) kbo(:,26,14) = (/ & & 0.10043e+04_rb,0.10066e+04_rb,0.10072e+04_rb,0.10061e+04_rb,0.10047e+04_rb /) kbo(:,27,14) = (/ & & 0.10033e+04_rb,0.10068e+04_rb,0.10071e+04_rb,0.10062e+04_rb,0.10042e+04_rb /) kbo(:,28,14) = (/ & & 0.10057e+04_rb,0.10070e+04_rb,0.10070e+04_rb,0.10058e+04_rb,0.10036e+04_rb /) kbo(:,29,14) = (/ & & 0.10062e+04_rb,0.10075e+04_rb,0.10068e+04_rb,0.10053e+04_rb,0.10030e+04_rb /) kbo(:,30,14) = (/ & & 0.10065e+04_rb,0.10072e+04_rb,0.10069e+04_rb,0.10048e+04_rb,0.10022e+04_rb /) kbo(:,31,14) = (/ & & 0.10068e+04_rb,0.10071e+04_rb,0.10062e+04_rb,0.10042e+04_rb,0.10014e+04_rb /) kbo(:,32,14) = (/ & & 0.10070e+04_rb,0.10070e+04_rb,0.10058e+04_rb,0.10035e+04_rb,0.99925e+03_rb /) kbo(:,33,14) = (/ & & 0.10071e+04_rb,0.10068e+04_rb,0.10053e+04_rb,0.10029e+04_rb,0.99808e+03_rb /) kbo(:,34,14) = (/ & & 0.10072e+04_rb,0.10065e+04_rb,0.10048e+04_rb,0.10021e+04_rb,0.99788e+03_rb /) kbo(:,35,14) = (/ & & 0.10072e+04_rb,0.10064e+04_rb,0.10045e+04_rb,0.10016e+04_rb,0.99700e+03_rb /) kbo(:,36,14) = (/ & & 0.10072e+04_rb,0.10063e+04_rb,0.10044e+04_rb,0.10015e+04_rb,0.99731e+03_rb /) kbo(:,37,14) = (/ & & 0.10072e+04_rb,0.10065e+04_rb,0.10047e+04_rb,0.10021e+04_rb,0.99778e+03_rb /) kbo(:,38,14) = (/ & & 0.10072e+04_rb,0.10067e+04_rb,0.10050e+04_rb,0.10026e+04_rb,0.99820e+03_rb /) kbo(:,39,14) = (/ & & 0.10071e+04_rb,0.10068e+04_rb,0.10053e+04_rb,0.10030e+04_rb,0.99855e+03_rb /) kbo(:,40,14) = (/ & & 0.10070e+04_rb,0.10070e+04_rb,0.10058e+04_rb,0.10036e+04_rb,0.99965e+03_rb /) kbo(:,41,14) = (/ & & 0.10068e+04_rb,0.10071e+04_rb,0.10062e+04_rb,0.10042e+04_rb,0.10010e+04_rb /) kbo(:,42,14) = (/ & & 0.10065e+04_rb,0.10072e+04_rb,0.10065e+04_rb,0.10048e+04_rb,0.10022e+04_rb /) kbo(:,43,14) = (/ & & 0.10061e+04_rb,0.10071e+04_rb,0.10069e+04_rb,0.10055e+04_rb,0.10031e+04_rb /) kbo(:,44,14) = (/ & & 0.10054e+04_rb,0.10069e+04_rb,0.10071e+04_rb,0.10061e+04_rb,0.10039e+04_rb /) kbo(:,45,14) = (/ & & 0.10046e+04_rb,0.10066e+04_rb,0.10072e+04_rb,0.10065e+04_rb,0.10048e+04_rb /) kbo(:,46,14) = (/ & & 0.10023e+04_rb,0.10060e+04_rb,0.10075e+04_rb,0.10069e+04_rb,0.10055e+04_rb /) kbo(:,47,14) = (/ & & 0.10024e+04_rb,0.10044e+04_rb,0.10068e+04_rb,0.10071e+04_rb,0.10062e+04_rb /) kbo(:,48,14) = (/ & & 0.10006e+04_rb,0.10039e+04_rb,0.10063e+04_rb,0.10072e+04_rb,0.10067e+04_rb /) kbo(:,49,14) = (/ & & 0.99705e+03_rb,0.10026e+04_rb,0.10052e+04_rb,0.10070e+04_rb,0.10070e+04_rb /) kbo(:,50,14) = (/ & & 0.99574e+03_rb,0.10014e+04_rb,0.10040e+04_rb,0.10066e+04_rb,0.10072e+04_rb /) kbo(:,51,14) = (/ & & 0.99447e+03_rb,0.99966e+03_rb,0.10033e+04_rb,0.10065e+04_rb,0.10071e+04_rb /) kbo(:,52,14) = (/ & & 0.99299e+03_rb,0.99670e+03_rb,0.10025e+04_rb,0.10054e+04_rb,0.10069e+04_rb /) kbo(:,53,14) = (/ & & 0.99138e+03_rb,0.99552e+03_rb,0.10013e+04_rb,0.10044e+04_rb,0.10065e+04_rb /) kbo(:,54,14) = (/ & & 0.98979e+03_rb,0.99462e+03_rb,0.99874e+03_rb,0.10030e+04_rb,0.10060e+04_rb /) kbo(:,55,14) = (/ & & 0.98814e+03_rb,0.99291e+03_rb,0.99630e+03_rb,0.10029e+04_rb,0.10050e+04_rb /) kbo(:,56,14) = (/ & & 0.98639e+03_rb,0.99150e+03_rb,0.99562e+03_rb,0.10014e+04_rb,0.10045e+04_rb /) kbo(:,57,14) = (/ & & 0.98454e+03_rb,0.98998e+03_rb,0.99438e+03_rb,0.99904e+03_rb,0.10032e+04_rb /) kbo(:,58,14) = (/ & & 0.98268e+03_rb,0.98844e+03_rb,0.99315e+03_rb,0.99688e+03_rb,0.10025e+04_rb /) kbo(:,59,14) = (/ & & 0.98190e+03_rb,0.98779e+03_rb,0.99262e+03_rb,0.99638e+03_rb,0.10024e+04_rb /) kbo(:,13,15) = (/ & & 0.99739e+03_rb,0.10017e+04_rb,0.10064e+04_rb,0.10076e+04_rb,0.10080e+04_rb /) kbo(:,14,15) = (/ & & 0.99781e+03_rb,0.10021e+04_rb,0.10065e+04_rb,0.10077e+04_rb,0.10090e+04_rb /) kbo(:,15,15) = (/ & & 0.99827e+03_rb,0.10029e+04_rb,0.10067e+04_rb,0.10077e+04_rb,0.10079e+04_rb /) kbo(:,16,15) = (/ & & 0.99875e+03_rb,0.10040e+04_rb,0.10068e+04_rb,0.10078e+04_rb,0.10089e+04_rb /) kbo(:,17,15) = (/ & & 0.99816e+03_rb,0.10041e+04_rb,0.10080e+04_rb,0.10079e+04_rb,0.10078e+04_rb /) kbo(:,18,15) = (/ & & 0.99861e+03_rb,0.10065e+04_rb,0.10071e+04_rb,0.10090e+04_rb,0.10078e+04_rb /) kbo(:,19,15) = (/ & & 0.10001e+04_rb,0.10056e+04_rb,0.10072e+04_rb,0.10079e+04_rb,0.10077e+04_rb /) kbo(:,20,15) = (/ & & 0.99952e+03_rb,0.10059e+04_rb,0.10074e+04_rb,0.10090e+04_rb,0.10087e+04_rb /) kbo(:,21,15) = (/ & & 0.10000e+04_rb,0.10061e+04_rb,0.10085e+04_rb,0.10080e+04_rb,0.10085e+04_rb /) kbo(:,22,15) = (/ & & 0.10012e+04_rb,0.10064e+04_rb,0.10076e+04_rb,0.10090e+04_rb,0.10073e+04_rb /) kbo(:,23,15) = (/ & & 0.10032e+04_rb,0.10067e+04_rb,0.10088e+04_rb,0.10079e+04_rb,0.10070e+04_rb /) kbo(:,24,15) = (/ & & 0.10052e+04_rb,0.10070e+04_rb,0.10079e+04_rb,0.10089e+04_rb,0.10067e+04_rb /) kbo(:,25,15) = (/ & & 0.10057e+04_rb,0.10083e+04_rb,0.10079e+04_rb,0.10098e+04_rb,0.10062e+04_rb /) kbo(:,26,15) = (/ & & 0.10061e+04_rb,0.10085e+04_rb,0.10080e+04_rb,0.10075e+04_rb,0.10068e+04_rb /) kbo(:,27,15) = (/ & & 0.10066e+04_rb,0.10087e+04_rb,0.10111e+04_rb,0.10072e+04_rb,0.10051e+04_rb /) kbo(:,28,15) = (/ & & 0.10069e+04_rb,0.10089e+04_rb,0.10079e+04_rb,0.10068e+04_rb,0.10054e+04_rb /) kbo(:,29,15) = (/ & & 0.10072e+04_rb,0.10069e+04_rb,0.10077e+04_rb,0.10063e+04_rb,0.10034e+04_rb /) kbo(:,30,15) = (/ & & 0.10075e+04_rb,0.10111e+04_rb,0.10075e+04_rb,0.10068e+04_rb,0.10088e+04_rb /) kbo(:,31,15) = (/ & & 0.10077e+04_rb,0.10080e+04_rb,0.10072e+04_rb,0.10061e+04_rb,0.10007e+04_rb /) kbo(:,32,15) = (/ & & 0.10078e+04_rb,0.10089e+04_rb,0.10068e+04_rb,0.10043e+04_rb,0.10013e+04_rb /) kbo(:,33,15) = (/ & & 0.10079e+04_rb,0.10077e+04_rb,0.10063e+04_rb,0.10044e+04_rb,0.10009e+04_rb /) kbo(:,34,15) = (/ & & 0.10090e+04_rb,0.10075e+04_rb,0.10058e+04_rb,0.10025e+04_rb,0.10002e+04_rb /) kbo(:,35,15) = (/ & & 0.10080e+04_rb,0.10073e+04_rb,0.10054e+04_rb,0.10021e+04_rb,0.99972e+03_rb /) kbo(:,36,15) = (/ & & 0.10090e+04_rb,0.10073e+04_rb,0.10054e+04_rb,0.10020e+04_rb,0.99964e+03_rb /) kbo(:,37,15) = (/ & & 0.10080e+04_rb,0.10075e+04_rb,0.10057e+04_rb,0.10024e+04_rb,0.10001e+04_rb /) kbo(:,38,15) = (/ & & 0.10090e+04_rb,0.10076e+04_rb,0.10060e+04_rb,0.10040e+04_rb,0.10006e+04_rb /) kbo(:,39,15) = (/ & & 0.10079e+04_rb,0.10077e+04_rb,0.10063e+04_rb,0.10034e+04_rb,0.10010e+04_rb /) kbo(:,40,15) = (/ & & 0.10089e+04_rb,0.10089e+04_rb,0.10068e+04_rb,0.10054e+04_rb,0.10014e+04_rb /) kbo(:,41,15) = (/ & & 0.10087e+04_rb,0.10090e+04_rb,0.10082e+04_rb,0.10051e+04_rb,0.10018e+04_rb /) kbo(:,42,15) = (/ & & 0.10085e+04_rb,0.10090e+04_rb,0.10075e+04_rb,0.10058e+04_rb,0.10025e+04_rb /) kbo(:,43,15) = (/ & & 0.10071e+04_rb,0.10079e+04_rb,0.10078e+04_rb,0.10086e+04_rb,0.10037e+04_rb /) kbo(:,44,15) = (/ & & 0.10067e+04_rb,0.10088e+04_rb,0.10079e+04_rb,0.10071e+04_rb,0.10048e+04_rb /) kbo(:,45,15) = (/ & & 0.10061e+04_rb,0.10075e+04_rb,0.10090e+04_rb,0.10096e+04_rb,0.10057e+04_rb /) kbo(:,46,15) = (/ & & 0.10054e+04_rb,0.10071e+04_rb,0.10068e+04_rb,0.10078e+04_rb,0.10065e+04_rb /) kbo(:,47,15) = (/ & & 0.10020e+04_rb,0.10065e+04_rb,0.10087e+04_rb,0.10079e+04_rb,0.10093e+04_rb /) kbo(:,48,15) = (/ & & 0.99938e+03_rb,0.10058e+04_rb,0.10073e+04_rb,0.10079e+04_rb,0.10087e+04_rb /) kbo(:,49,15) = (/ & & 0.99869e+03_rb,0.10038e+04_rb,0.10079e+04_rb,0.10099e+04_rb,0.10089e+04_rb /) kbo(:,50,15) = (/ & & 0.99593e+03_rb,0.10003e+04_rb,0.10062e+04_rb,0.10075e+04_rb,0.10090e+04_rb /) kbo(:,51,15) = (/ & & 0.99417e+03_rb,0.99877e+03_rb,0.10055e+04_rb,0.10061e+04_rb,0.10090e+04_rb /) kbo(:,52,15) = (/ & & 0.99334e+03_rb,0.99717e+03_rb,0.10030e+04_rb,0.10077e+04_rb,0.10077e+04_rb /) kbo(:,53,15) = (/ & & 0.99034e+03_rb,0.99548e+03_rb,0.99989e+03_rb,0.10071e+04_rb,0.10085e+04_rb /) kbo(:,54,15) = (/ & & 0.98844e+03_rb,0.99385e+03_rb,0.99849e+03_rb,0.10064e+04_rb,0.10081e+04_rb /) kbo(:,55,15) = (/ & & 0.98654e+03_rb,0.99323e+03_rb,0.99708e+03_rb,0.10005e+04_rb,0.10066e+04_rb /) kbo(:,56,15) = (/ & & 0.98558e+03_rb,0.99048e+03_rb,0.99560e+03_rb,0.99999e+03_rb,0.10071e+04_rb /) kbo(:,57,15) = (/ & & 0.98349e+03_rb,0.98867e+03_rb,0.99404e+03_rb,0.99866e+03_rb,0.10054e+04_rb /) kbo(:,58,15) = (/ & & 0.98039e+03_rb,0.98688e+03_rb,0.99250e+03_rb,0.99837e+03_rb,0.10028e+04_rb /) kbo(:,59,15) = (/ & & 0.97954e+03_rb,0.98614e+03_rb,0.99186e+03_rb,0.99679e+03_rb,0.10019e+04_rb /) kbo(:,13,16) = (/ & & 0.98905e+03_rb,0.99319e+03_rb,0.10065e+04_rb,0.10075e+04_rb,0.10080e+04_rb /) kbo(:,14,16) = (/ & & 0.98947e+03_rb,0.10009e+04_rb,0.10067e+04_rb,0.10076e+04_rb,0.10005e+04_rb /) kbo(:,15,16) = (/ & & 0.98993e+03_rb,0.10052e+04_rb,0.10068e+04_rb,0.10076e+04_rb,0.10080e+04_rb /) kbo(:,16,16) = (/ & & 0.99040e+03_rb,0.10054e+04_rb,0.10069e+04_rb,0.10077e+04_rb,0.10005e+04_rb /) kbo(:,17,16) = (/ & & 0.99823e+03_rb,0.10056e+04_rb,0.99955e+03_rb,0.10078e+04_rb,0.10080e+04_rb /) kbo(:,18,16) = (/ & & 0.99867e+03_rb,0.99832e+03_rb,0.10071e+04_rb,0.10003e+04_rb,0.10079e+04_rb /) kbo(:,19,16) = (/ & & 0.99168e+03_rb,0.10059e+04_rb,0.10072e+04_rb,0.10078e+04_rb,0.10079e+04_rb /) kbo(:,20,16) = (/ & & 0.99955e+03_rb,0.10061e+04_rb,0.10073e+04_rb,0.99297e+03_rb,0.10003e+04_rb /) kbo(:,21,16) = (/ & & 0.10000e+04_rb,0.10063e+04_rb,0.99994e+03_rb,0.10079e+04_rb,0.10002e+04_rb /) kbo(:,22,16) = (/ & & 0.10007e+04_rb,0.10066e+04_rb,0.10075e+04_rb,0.10005e+04_rb,0.10075e+04_rb /) kbo(:,23,16) = (/ & & 0.10052e+04_rb,0.10068e+04_rb,0.10002e+04_rb,0.10080e+04_rb,0.10072e+04_rb /) kbo(:,24,16) = (/ & & 0.10056e+04_rb,0.10070e+04_rb,0.10078e+04_rb,0.10005e+04_rb,0.10068e+04_rb /) kbo(:,25,16) = (/ & & 0.10060e+04_rb,0.99977e+03_rb,0.10079e+04_rb,0.99294e+03_rb,0.10064e+04_rb /) kbo(:,26,16) = (/ & & 0.10064e+04_rb,0.99996e+03_rb,0.10080e+04_rb,0.10077e+04_rb,0.99839e+03_rb /) kbo(:,27,16) = (/ & & 0.10067e+04_rb,0.10001e+04_rb,0.98561e+03_rb,0.10074e+04_rb,0.10052e+04_rb /) kbo(:,28,16) = (/ & & 0.10069e+04_rb,0.10003e+04_rb,0.10080e+04_rb,0.10070e+04_rb,0.99700e+03_rb /) kbo(:,29,16) = (/ & & 0.10072e+04_rb,0.10078e+04_rb,0.10079e+04_rb,0.10065e+04_rb,0.10036e+04_rb /) kbo(:,30,16) = (/ & & 0.10074e+04_rb,0.98555e+03_rb,0.10002e+04_rb,0.99845e+03_rb,0.95900e+03_rb /) kbo(:,31,16) = (/ & & 0.10076e+04_rb,0.10080e+04_rb,0.10074e+04_rb,0.99776e+03_rb,0.10037e+04_rb /) kbo(:,32,16) = (/ & & 0.10077e+04_rb,0.10005e+04_rb,0.10070e+04_rb,0.10044e+04_rb,0.10038e+04_rb /) kbo(:,33,16) = (/ & & 0.10079e+04_rb,0.10079e+04_rb,0.10064e+04_rb,0.99602e+03_rb,0.10038e+04_rb /) kbo(:,34,16) = (/ & & 0.10005e+04_rb,0.10077e+04_rb,0.10059e+04_rb,0.10036e+04_rb,0.10037e+04_rb /) kbo(:,35,16) = (/ & & 0.10080e+04_rb,0.10075e+04_rb,0.10055e+04_rb,0.10037e+04_rb,0.10036e+04_rb /) kbo(:,36,16) = (/ & & 0.10005e+04_rb,0.10075e+04_rb,0.10055e+04_rb,0.10037e+04_rb,0.10036e+04_rb /) kbo(:,37,16) = (/ & & 0.10080e+04_rb,0.10077e+04_rb,0.10058e+04_rb,0.10037e+04_rb,0.10037e+04_rb /) kbo(:,38,16) = (/ & & 0.10004e+04_rb,0.10078e+04_rb,0.10062e+04_rb,0.99569e+03_rb,0.10037e+04_rb /) kbo(:,39,16) = (/ & & 0.10078e+04_rb,0.10079e+04_rb,0.10065e+04_rb,0.10036e+04_rb,0.10038e+04_rb /) kbo(:,40,16) = (/ & & 0.10003e+04_rb,0.10005e+04_rb,0.10070e+04_rb,0.99698e+03_rb,0.10038e+04_rb /) kbo(:,41,16) = (/ & & 0.10001e+04_rb,0.10005e+04_rb,0.99992e+03_rb,0.10052e+04_rb,0.10037e+04_rb /) kbo(:,42,16) = (/ & & 0.99994e+03_rb,0.10005e+04_rb,0.10077e+04_rb,0.10059e+04_rb,0.10036e+04_rb /) kbo(:,43,16) = (/ & & 0.10071e+04_rb,0.10078e+04_rb,0.10079e+04_rb,0.99172e+03_rb,0.10038e+04_rb /) kbo(:,44,16) = (/ & & 0.10068e+04_rb,0.10002e+04_rb,0.10080e+04_rb,0.10072e+04_rb,0.10049e+04_rb /) kbo(:,45,16) = (/ & & 0.10063e+04_rb,0.10074e+04_rb,0.10005e+04_rb,0.99276e+03_rb,0.10059e+04_rb /) kbo(:,46,16) = (/ & & 0.10057e+04_rb,0.10071e+04_rb,0.10078e+04_rb,0.10079e+04_rb,0.10067e+04_rb /) kbo(:,47,16) = (/ & & 0.10009e+04_rb,0.10067e+04_rb,0.10001e+04_rb,0.10080e+04_rb,0.99247e+03_rb /) kbo(:,48,16) = (/ & & 0.99941e+03_rb,0.10061e+04_rb,0.10073e+04_rb,0.10079e+04_rb,0.10004e+04_rb /) kbo(:,49,16) = (/ & & 0.99034e+03_rb,0.10054e+04_rb,0.99943e+03_rb,0.99276e+03_rb,0.10005e+04_rb /) kbo(:,50,16) = (/ & & 0.99601e+03_rb,0.10003e+04_rb,0.10064e+04_rb,0.10074e+04_rb,0.10005e+04_rb /) kbo(:,51,16) = (/ & & 0.99422e+03_rb,0.99882e+03_rb,0.10058e+04_rb,0.10071e+04_rb,0.10003e+04_rb /) kbo(:,52,16) = (/ & & 0.98496e+03_rb,0.99726e+03_rb,0.10013e+04_rb,0.99930e+03_rb,0.10076e+04_rb /) kbo(:,53,16) = (/ & & 0.99030e+03_rb,0.99555e+03_rb,0.99990e+03_rb,0.99882e+03_rb,0.99991e+03_rb /) kbo(:,54,16) = (/ & & 0.98836e+03_rb,0.98653e+03_rb,0.99856e+03_rb,0.99827e+03_rb,0.99962e+03_rb /) kbo(:,55,16) = (/ & & 0.98643e+03_rb,0.98485e+03_rb,0.99716e+03_rb,0.10012e+04_rb,0.10067e+04_rb /) kbo(:,56,16) = (/ & & 0.97714e+03_rb,0.99044e+03_rb,0.99567e+03_rb,0.99999e+03_rb,0.99885e+03_rb /) kbo(:,57,16) = (/ & & 0.97511e+03_rb,0.98860e+03_rb,0.99409e+03_rb,0.99872e+03_rb,0.10058e+04_rb /) kbo(:,58,16) = (/ & & 0.98036e+03_rb,0.98678e+03_rb,0.99251e+03_rb,0.99003e+03_rb,0.10052e+04_rb /) kbo(:,59,16) = (/ & & 0.97953e+03_rb,0.98603e+03_rb,0.99185e+03_rb,0.99687e+03_rb,0.10009e+04_rb /) end subroutine sw_kgb27 ! ************************************************************************** subroutine sw_kgb28 ! ************************************************************************** use parkind, only : im => kind_im, rb => kind_rb use rrsw_kg28, only : kao, kbo, sfluxrefo, & rayl, strrat, layreffr implicit none save ! Kurucz solar source function sfluxrefo(:,1) = (/ & & 1.06156_rb , 0.599910_rb , 0.422462_rb , 0.400077_rb , & & 0.282221_rb , 0.187893_rb , 6.77357e-02_rb, 3.04572e-02_rb, & & 2.00442e-02_rb, 2.30786e-03_rb, 2.08824e-03_rb, 1.42604e-03_rb, & & 9.67384e-04_rb, 6.35362e-04_rb, 1.47727e-04_rb, 6.87639e-06_rb /) sfluxrefo(:,2) = (/ & & 1.07598_rb , 0.585099_rb , 0.422852_rb , 0.400077_rb , & & 0.282221_rb , 0.187893_rb , 6.69686e-02_rb, 3.09070e-02_rb, & & 2.02400e-02_rb, 2.47760e-03_rb, 1.89411e-03_rb, 1.41122e-03_rb, & & 1.12449e-03_rb, 5.73505e-04_rb, 2.04160e-04_rb, 1.58371e-05_rb /) sfluxrefo(:,3) = (/ & & 0.461647_rb , 0.406113_rb , 0.332506_rb , 0.307508_rb , & & 0.211167_rb , 0.235457_rb , 0.495886_rb , 0.363921_rb , & & 0.192700_rb , 2.04678e-02_rb, 1.55407e-02_rb, 1.03882e-02_rb, & & 1.10778e-02_rb, 1.00504e-02_rb, 4.93497e-03_rb, 5.73410e-04_rb /) sfluxrefo(:,4) = (/ & & 0.132669_rb , 0.175058_rb , 0.359263_rb , 0.388142_rb , & & 0.350359_rb , 0.475892_rb , 0.489593_rb , 0.408437_rb , & & 0.221049_rb , 1.94514e-02_rb, 1.54848e-02_rb, 1.44999e-02_rb, & & 1.44568e-02_rb, 1.00527e-02_rb, 4.95897e-03_rb, 5.73327e-04_rb /) sfluxrefo(:,5) = (/ & & 7.54800e-02_rb, 0.232246_rb , 0.359263_rb , 0.388142_rb , & & 0.350359_rb , 0.426317_rb , 0.493485_rb , 0.432016_rb , & & 0.239203_rb , 1.74951e-02_rb, 1.74477e-02_rb, 1.83566e-02_rb, & & 1.44818e-02_rb, 1.01048e-02_rb, 4.97487e-03_rb, 5.66831e-04_rb /) ! Rayleigh extinction coefficient at v = ????? cm-1. rayl = 2.02e-05_rb strrat = 6.67029e-07_rb layreffr = 58 ! ------------------------------------------------------------------ ! The array KAO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels> ~100mb, temperatures, and binary ! species parameters (see taumol.f for definition). The first ! index in the array, JS, runs from 1 to 9, and corresponds to ! different values of the binary species parameter. For instance, ! JS=1 refers to dry air, JS = 2 corresponds to the paramter value 1/8, ! JS = 3 corresponds to the parameter value 2/8, etc. The second index ! in the array, JT, which runs from 1 to 5, corresponds to different ! temperatures. More specifically, JT = 3 means that the data are for ! the reference temperature TREF for this pressure level, JT = 2 refers ! to TREF-15, JT = 1 is for TREF-30, JT = 4 is for TREF+15, and JT = 5 ! is for TREF+30. The third index, JP, runs from 1 to 13 and refers ! to the JPth reference pressure level (see taumol.f for these levels ! in mb). The fourth index, IG, goes from 1 to 16, and indicates ! which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kao(:, 1, 1, 1) = (/ & & 0.46447e+02_rb,0.18001e+03_rb,0.31338e+03_rb,0.44652e+03_rb,0.54636e+03_rb, & & 0.54173e+03_rb,0.45707e+03_rb,0.27363e+03_rb,0.35000e+02_rb /) kao(:, 2, 1, 1) = (/ & & 0.45270e+02_rb,0.17886e+03_rb,0.31225e+03_rb,0.44541e+03_rb,0.54177e+03_rb, & & 0.53436e+03_rb,0.44932e+03_rb,0.26748e+03_rb,0.35000e+02_rb /) kao(:, 3, 1, 1) = (/ & & 0.44214e+02_rb,0.17776e+03_rb,0.31115e+03_rb,0.44427e+03_rb,0.53733e+03_rb, & & 0.52756e+03_rb,0.44224e+03_rb,0.26195e+03_rb,0.35000e+02_rb /) kao(:, 4, 1, 1) = (/ & & 0.43259e+02_rb,0.17673e+03_rb,0.31005e+03_rb,0.44305e+03_rb,0.53298e+03_rb, & & 0.52129e+03_rb,0.43574e+03_rb,0.25696e+03_rb,0.35000e+02_rb /) kao(:, 5, 1, 1) = (/ & & 0.42393e+02_rb,0.17575e+03_rb,0.30896e+03_rb,0.44173e+03_rb,0.52883e+03_rb, & & 0.51548e+03_rb,0.42976e+03_rb,0.25242e+03_rb,0.35000e+02_rb /) kao(:, 1, 2, 1) = (/ & & 0.42908e+02_rb,0.17695e+03_rb,0.31077e+03_rb,0.44434e+03_rb,0.53161e+03_rb, & & 0.51895e+03_rb,0.43332e+03_rb,0.25512e+03_rb,0.35000e+02_rb /) kao(:, 2, 2, 1) = (/ & & 0.41899e+02_rb,0.17596e+03_rb,0.30980e+03_rb,0.44336e+03_rb,0.52686e+03_rb, & & 0.51213e+03_rb,0.42632e+03_rb,0.24984e+03_rb,0.35000e+02_rb /) kao(:, 3, 2, 1) = (/ & & 0.40995e+02_rb,0.17502e+03_rb,0.30884e+03_rb,0.44232e+03_rb,0.52230e+03_rb, & & 0.50592e+03_rb,0.41995e+03_rb,0.24511e+03_rb,0.35000e+02_rb /) kao(:, 4, 2, 1) = (/ & & 0.40181e+02_rb,0.17412e+03_rb,0.30788e+03_rb,0.44119e+03_rb,0.51785e+03_rb, & & 0.50025e+03_rb,0.41414e+03_rb,0.24085e+03_rb,0.35000e+02_rb /) kao(:, 5, 2, 1) = (/ & & 0.39443e+02_rb,0.17326e+03_rb,0.30691e+03_rb,0.43992e+03_rb,0.51364e+03_rb, & & 0.49503e+03_rb,0.40882e+03_rb,0.23699e+03_rb,0.35000e+02_rb /) kao(:, 1, 3, 1) = (/ & & 0.40126e+02_rb,0.17457e+03_rb,0.30876e+03_rb,0.44248e+03_rb,0.51755e+03_rb, & & 0.49986e+03_rb,0.41375e+03_rb,0.24056e+03_rb,0.35000e+02_rb /) kao(:, 2, 3, 1) = (/ & & 0.39240e+02_rb,0.17370e+03_rb,0.30792e+03_rb,0.44146e+03_rb,0.51254e+03_rb, & & 0.49358e+03_rb,0.40735e+03_rb,0.23593e+03_rb,0.35000e+02_rb /) kao(:, 3, 3, 1) = (/ & & 0.38450e+02_rb,0.17288e+03_rb,0.30708e+03_rb,0.44031e+03_rb,0.50793e+03_rb, & & 0.48786e+03_rb,0.40155e+03_rb,0.23179e+03_rb,0.35000e+02_rb /) kao(:, 4, 3, 1) = (/ & & 0.37740e+02_rb,0.17210e+03_rb,0.30624e+03_rb,0.43908e+03_rb,0.50368e+03_rb, & & 0.48264e+03_rb,0.39629e+03_rb,0.22808e+03_rb,0.35000e+02_rb /) kao(:, 5, 3, 1) = (/ & & 0.37099e+02_rb,0.17134e+03_rb,0.30539e+03_rb,0.43781e+03_rb,0.49975e+03_rb, & & 0.47787e+03_rb,0.39149e+03_rb,0.22473e+03_rb,0.35000e+02_rb /) kao(:, 1, 4, 1) = (/ & & 0.37818e+02_rb,0.17258e+03_rb,0.30708e+03_rb,0.43967e+03_rb,0.50412e+03_rb, & & 0.48321e+03_rb,0.39687e+03_rb,0.22848e+03_rb,0.35000e+02_rb /) kao(:, 2, 4, 1) = (/ & & 0.37034e+02_rb,0.17183e+03_rb,0.30636e+03_rb,0.43833e+03_rb,0.49935e+03_rb, & & 0.47738e+03_rb,0.39100e+03_rb,0.22439e+03_rb,0.35000e+02_rb /) kao(:, 3, 4, 1) = (/ & & 0.36338e+02_rb,0.17111e+03_rb,0.30564e+03_rb,0.43700e+03_rb,0.49496e+03_rb, & & 0.47212e+03_rb,0.38572e+03_rb,0.22075e+03_rb,0.35000e+02_rb /) kao(:, 4, 4, 1) = (/ & & 0.35716e+02_rb,0.17043e+03_rb,0.30491e+03_rb,0.43569e+03_rb,0.49094e+03_rb, & & 0.46732e+03_rb,0.38094e+03_rb,0.21749e+03_rb,0.35000e+02_rb /) kao(:, 5, 4, 1) = (/ & & 0.35156e+02_rb,0.16977e+03_rb,0.30416e+03_rb,0.43437e+03_rb,0.48726e+03_rb, & & 0.46294e+03_rb,0.37660e+03_rb,0.21456e+03_rb,0.35000e+02_rb /) kao(:, 1, 5, 1) = (/ & & 0.35857e+02_rb,0.17089e+03_rb,0.30563e+03_rb,0.43619e+03_rb,0.49186e+03_rb, & & 0.46841e+03_rb,0.38202e+03_rb,0.21822e+03_rb,0.35000e+02_rb /) kao(:, 2, 5, 1) = (/ & & 0.35163e+02_rb,0.17023e+03_rb,0.30502e+03_rb,0.43478e+03_rb,0.48731e+03_rb, & & 0.46300e+03_rb,0.37666e+03_rb,0.21460e+03_rb,0.35000e+02_rb /) kao(:, 3, 5, 1) = (/ & & 0.34550e+02_rb,0.16961e+03_rb,0.30441e+03_rb,0.43332e+03_rb,0.48321e+03_rb, & & 0.45813e+03_rb,0.37186e+03_rb,0.21139e+03_rb,0.35000e+02_rb /) kao(:, 4, 5, 1) = (/ & & 0.34004e+02_rb,0.16902e+03_rb,0.30378e+03_rb,0.43194e+03_rb,0.47950e+03_rb, & & 0.45375e+03_rb,0.36755e+03_rb,0.20853e+03_rb,0.35000e+02_rb /) kao(:, 5, 5, 1) = (/ & & 0.33514e+02_rb,0.16844e+03_rb,0.30312e+03_rb,0.43058e+03_rb,0.47611e+03_rb, & & 0.44977e+03_rb,0.36365e+03_rb,0.20597e+03_rb,0.35000e+02_rb /) kao(:, 1, 6, 1) = (/ & & 0.34212e+02_rb,0.16946e+03_rb,0.30440e+03_rb,0.43247e+03_rb,0.48092e+03_rb, & & 0.45542e+03_rb,0.36920e+03_rb,0.20962e+03_rb,0.35000e+02_rb /) kao(:, 2, 6, 1) = (/ & & 0.33595e+02_rb,0.16889e+03_rb,0.30389e+03_rb,0.43093e+03_rb,0.47667e+03_rb, & & 0.45043e+03_rb,0.36430e+03_rb,0.20639e+03_rb,0.35000e+02_rb /) kao(:, 3, 6, 1) = (/ & & 0.33052e+02_rb,0.16835e+03_rb,0.30337e+03_rb,0.42946e+03_rb,0.47287e+03_rb, & & 0.44599e+03_rb,0.35993e+03_rb,0.20355e+03_rb,0.35000e+02_rb /) kao(:, 4, 6, 1) = (/ & & 0.32571e+02_rb,0.16784e+03_rb,0.30283e+03_rb,0.42807e+03_rb,0.46947e+03_rb, & & 0.44201e+03_rb,0.35602e+03_rb,0.20103e+03_rb,0.35000e+02_rb /) kao(:, 5, 6, 1) = (/ & & 0.32141e+02_rb,0.16733e+03_rb,0.30227e+03_rb,0.42674e+03_rb,0.46640e+03_rb, & & 0.43842e+03_rb,0.35250e+03_rb,0.19879e+03_rb,0.35000e+02_rb /) kao(:, 1, 7, 1) = (/ & & 0.32812e+02_rb,0.16823e+03_rb,0.30334e+03_rb,0.42859e+03_rb,0.47118e+03_rb, & & 0.44401e+03_rb,0.35799e+03_rb,0.20230e+03_rb,0.35000e+02_rb /) kao(:, 2, 7, 1) = (/ & & 0.32263e+02_rb,0.16774e+03_rb,0.30291e+03_rb,0.42708e+03_rb,0.46727e+03_rb, & & 0.43944e+03_rb,0.35350e+03_rb,0.19942e+03_rb,0.35000e+02_rb /) kao(:, 3, 7, 1) = (/ & & 0.31782e+02_rb,0.16728e+03_rb,0.30248e+03_rb,0.42558e+03_rb,0.46381e+03_rb, & & 0.43539e+03_rb,0.34954e+03_rb,0.19691e+03_rb,0.35000e+02_rb /) kao(:, 4, 7, 1) = (/ & & 0.31357e+02_rb,0.16683e+03_rb,0.30203e+03_rb,0.42413e+03_rb,0.46069e+03_rb, & & 0.43177e+03_rb,0.34599e+03_rb,0.19468e+03_rb,0.35000e+02_rb /) kao(:, 5, 7, 1) = (/ & & 0.30980e+02_rb,0.16640e+03_rb,0.30154e+03_rb,0.42276e+03_rb,0.45787e+03_rb, & & 0.42852e+03_rb,0.34280e+03_rb,0.19271e+03_rb,0.35000e+02_rb /) kao(:, 1, 8, 1) = (/ & & 0.31614e+02_rb,0.16716e+03_rb,0.30239e+03_rb,0.42473e+03_rb,0.46259e+03_rb, & & 0.43397e+03_rb,0.34814e+03_rb,0.19603e+03_rb,0.35000e+02_rb /) kao(:, 2, 8, 1) = (/ & & 0.31125e+02_rb,0.16674e+03_rb,0.30206e+03_rb,0.42311e+03_rb,0.45896e+03_rb, & & 0.42978e+03_rb,0.34403e+03_rb,0.19347e+03_rb,0.35000e+02_rb /) kao(:, 3, 8, 1) = (/ & & 0.30699e+02_rb,0.16635e+03_rb,0.30170e+03_rb,0.42163e+03_rb,0.45573e+03_rb, & & 0.42608e+03_rb,0.34039e+03_rb,0.19124e+03_rb,0.35000e+02_rb /) kao(:, 4, 8, 1) = (/ & & 0.30325e+02_rb,0.16597e+03_rb,0.30133e+03_rb,0.42027e+03_rb,0.45286e+03_rb, & & 0.42281e+03_rb,0.33716e+03_rb,0.18928e+03_rb,0.35000e+02_rb /) kao(:, 5, 8, 1) = (/ & & 0.29993e+02_rb,0.16559e+03_rb,0.30092e+03_rb,0.41901e+03_rb,0.45030e+03_rb, & & 0.41988e+03_rb,0.33427e+03_rb,0.18755e+03_rb,0.35000e+02_rb /) kao(:, 1, 9, 1) = (/ & & 0.30594e+02_rb,0.16624e+03_rb,0.30156e+03_rb,0.42087e+03_rb,0.45493e+03_rb, & & 0.42517e+03_rb,0.33949e+03_rb,0.19069e+03_rb,0.35000e+02_rb /) kao(:, 2, 9, 1) = (/ & & 0.30158e+02_rb,0.16589e+03_rb,0.30131e+03_rb,0.41937e+03_rb,0.45157e+03_rb, & & 0.42134e+03_rb,0.33570e+03_rb,0.18841e+03_rb,0.35000e+02_rb /) kao(:, 3, 9, 1) = (/ & & 0.29780e+02_rb,0.16556e+03_rb,0.30103e+03_rb,0.41800e+03_rb,0.44864e+03_rb, & & 0.41799e+03_rb,0.33239e+03_rb,0.18643e+03_rb,0.35000e+02_rb /) kao(:, 4, 9, 1) = (/ & & 0.29450e+02_rb,0.16523e+03_rb,0.30072e+03_rb,0.41674e+03_rb,0.44606e+03_rb, & & 0.41504e+03_rb,0.32946e+03_rb,0.18471e+03_rb,0.35000e+02_rb /) kao(:, 5, 9, 1) = (/ & & 0.29159e+02_rb,0.16491e+03_rb,0.30039e+03_rb,0.41557e+03_rb,0.44377e+03_rb, & & 0.41242e+03_rb,0.32686e+03_rb,0.18318e+03_rb,0.35000e+02_rb /) kao(:, 1,10, 1) = (/ & & 0.29691e+02_rb,0.16541e+03_rb,0.30081e+03_rb,0.41722e+03_rb,0.44795e+03_rb, & & 0.41720e+03_rb,0.33160e+03_rb,0.18597e+03_rb,0.35000e+02_rb /) kao(:, 2,10, 1) = (/ & & 0.29307e+02_rb,0.16512e+03_rb,0.30063e+03_rb,0.41581e+03_rb,0.44493e+03_rb, & & 0.41375e+03_rb,0.32818e+03_rb,0.18396e+03_rb,0.35000e+02_rb /) kao(:, 3,10, 1) = (/ & & 0.28975e+02_rb,0.16485e+03_rb,0.30042e+03_rb,0.41454e+03_rb,0.44231e+03_rb, & & 0.41076e+03_rb,0.32520e+03_rb,0.18222e+03_rb,0.35000e+02_rb /) kao(:, 4,10, 1) = (/ & & 0.28687e+02_rb,0.16458e+03_rb,0.30018e+03_rb,0.41340e+03_rb,0.44002e+03_rb, & & 0.40814e+03_rb,0.32259e+03_rb,0.18071e+03_rb,0.35000e+02_rb /) kao(:, 5,10, 1) = (/ & & 0.28434e+02_rb,0.16431e+03_rb,0.29989e+03_rb,0.41235e+03_rb,0.43799e+03_rb, & & 0.40583e+03_rb,0.32028e+03_rb,0.17939e+03_rb,0.35000e+02_rb /) kao(:, 1,11, 1) = (/ & & 0.28760e+02_rb,0.16459e+03_rb,0.30010e+03_rb,0.41321e+03_rb,0.44060e+03_rb, & & 0.40880e+03_rb,0.32325e+03_rb,0.18109e+03_rb,0.35000e+02_rb /) kao(:, 2,11, 1) = (/ & & 0.28444e+02_rb,0.16436e+03_rb,0.29997e+03_rb,0.41200e+03_rb,0.43807e+03_rb, & & 0.40592e+03_rb,0.32038e+03_rb,0.17944e+03_rb,0.35000e+02_rb /) kao(:, 3,11, 1) = (/ & & 0.28173e+02_rb,0.16414e+03_rb,0.29981e+03_rb,0.41092e+03_rb,0.43587e+03_rb, & & 0.40342e+03_rb,0.31788e+03_rb,0.17802e+03_rb,0.35000e+02_rb /) kao(:, 4,11, 1) = (/ & & 0.27937e+02_rb,0.16392e+03_rb,0.29960e+03_rb,0.40994e+03_rb,0.43395e+03_rb, & & 0.40124e+03_rb,0.31570e+03_rb,0.17679e+03_rb,0.35000e+02_rb /) kao(:, 5,11, 1) = (/ & & 0.27730e+02_rb,0.16369e+03_rb,0.29936e+03_rb,0.40905e+03_rb,0.43224e+03_rb, & & 0.39931e+03_rb,0.31377e+03_rb,0.17571e+03_rb,0.35000e+02_rb /) kao(:, 1,12, 1) = (/ & & 0.27995e+02_rb,0.16391e+03_rb,0.29951e+03_rb,0.40970e+03_rb,0.43443e+03_rb, & & 0.40178e+03_rb,0.31624e+03_rb,0.17709e+03_rb,0.35000e+02_rb /) kao(:, 2,12, 1) = (/ & & 0.27737e+02_rb,0.16374e+03_rb,0.29943e+03_rb,0.40869e+03_rb,0.43230e+03_rb, & & 0.39938e+03_rb,0.31384e+03_rb,0.17574e+03_rb,0.35000e+02_rb /) kao(:, 3,12, 1) = (/ & & 0.27515e+02_rb,0.16356e+03_rb,0.29930e+03_rb,0.40779e+03_rb,0.43046e+03_rb, & & 0.39730e+03_rb,0.31176e+03_rb,0.17458e+03_rb,0.35000e+02_rb /) kao(:, 4,12, 1) = (/ & & 0.27322e+02_rb,0.16338e+03_rb,0.29913e+03_rb,0.40697e+03_rb,0.42883e+03_rb, & & 0.39548e+03_rb,0.30994e+03_rb,0.17357e+03_rb,0.35000e+02_rb /) kao(:, 5,12, 1) = (/ & & 0.27152e+02_rb,0.16318e+03_rb,0.29892e+03_rb,0.40622e+03_rb,0.42740e+03_rb, & & 0.39387e+03_rb,0.30834e+03_rb,0.17268e+03_rb,0.35000e+02_rb /) kao(:, 1,13, 1) = (/ & & 0.27369e+02_rb,0.16336e+03_rb,0.29903e+03_rb,0.40671e+03_rb,0.42924e+03_rb, & & 0.39593e+03_rb,0.31039e+03_rb,0.17382e+03_rb,0.35000e+02_rb /) kao(:, 2,13, 1) = (/ & & 0.27158e+02_rb,0.16323e+03_rb,0.29898e+03_rb,0.40587e+03_rb,0.42745e+03_rb, & & 0.39393e+03_rb,0.30840e+03_rb,0.17271e+03_rb,0.35000e+02_rb /) kao(:, 3,13, 1) = (/ & & 0.26976e+02_rb,0.16309e+03_rb,0.29889e+03_rb,0.40513e+03_rb,0.42590e+03_rb, & & 0.39221e+03_rb,0.30667e+03_rb,0.17176e+03_rb,0.35000e+02_rb /) kao(:, 4,13, 1) = (/ & & 0.26818e+02_rb,0.16293e+03_rb,0.29875e+03_rb,0.40445e+03_rb,0.42455e+03_rb, & & 0.39070e+03_rb,0.30516e+03_rb,0.17093e+03_rb,0.35000e+02_rb /) kao(:, 5,13, 1) = (/ & & 0.26679e+02_rb,0.16276e+03_rb,0.29855e+03_rb,0.40381e+03_rb,0.42335e+03_rb, & & 0.38937e+03_rb,0.30384e+03_rb,0.17021e+03_rb,0.35000e+02_rb /) kao(:, 1, 1, 2) = (/ & & 0.17271e+03_rb,0.27646e+03_rb,0.38039e+03_rb,0.48420e+03_rb,0.56932e+03_rb, & & 0.57534e+03_rb,0.47873e+03_rb,0.28147e+03_rb,0.71840e+02_rb /) kao(:, 2, 1, 2) = (/ & & 0.16834e+03_rb,0.27246e+03_rb,0.37678e+03_rb,0.48091e+03_rb,0.56471e+03_rb, & & 0.56734e+03_rb,0.47005e+03_rb,0.27593e+03_rb,0.71840e+02_rb /) kao(:, 3, 1, 2) = (/ & & 0.16441e+03_rb,0.26883e+03_rb,0.37341e+03_rb,0.47777e+03_rb,0.56037e+03_rb, & & 0.56003e+03_rb,0.46210e+03_rb,0.27096e+03_rb,0.71840e+02_rb /) kao(:, 4, 1, 2) = (/ & & 0.16086e+03_rb,0.26548e+03_rb,0.37025e+03_rb,0.47479e+03_rb,0.55629e+03_rb, & & 0.55327e+03_rb,0.45481e+03_rb,0.26647e+03_rb,0.71840e+02_rb /) kao(:, 5, 1, 2) = (/ & & 0.15764e+03_rb,0.26237e+03_rb,0.36725e+03_rb,0.47195e+03_rb,0.55235e+03_rb, & & 0.54701e+03_rb,0.44810e+03_rb,0.26239e+03_rb,0.71840e+02_rb /) kao(:, 1, 2, 2) = (/ & & 0.15955e+03_rb,0.26500e+03_rb,0.37067e+03_rb,0.47595e+03_rb,0.55480e+03_rb, & & 0.55074e+03_rb,0.45210e+03_rb,0.26482e+03_rb,0.71840e+02_rb /) kao(:, 2, 2, 2) = (/ & & 0.15580e+03_rb,0.26157e+03_rb,0.36756e+03_rb,0.47303e+03_rb,0.55028e+03_rb, & & 0.54339e+03_rb,0.44423e+03_rb,0.26007e+03_rb,0.71840e+02_rb /) kao(:, 3, 2, 2) = (/ & & 0.15244e+03_rb,0.25844e+03_rb,0.36465e+03_rb,0.47023e+03_rb,0.54619e+03_rb, & & 0.53664e+03_rb,0.43708e+03_rb,0.25581e+03_rb,0.71840e+02_rb /) kao(:, 4, 2, 2) = (/ & & 0.14941e+03_rb,0.25556e+03_rb,0.36191e+03_rb,0.46753e+03_rb,0.54253e+03_rb, & & 0.53041e+03_rb,0.43052e+03_rb,0.25198e+03_rb,0.71840e+02_rb /) kao(:, 5, 2, 2) = (/ & & 0.14667e+03_rb,0.25289e+03_rb,0.35930e+03_rb,0.46494e+03_rb,0.53908e+03_rb, & & 0.52470e+03_rb,0.42448e+03_rb,0.24851e+03_rb,0.71840e+02_rb /) kao(:, 1, 3, 2) = (/ & & 0.14921e+03_rb,0.25601e+03_rb,0.36308e+03_rb,0.46872e+03_rb,0.54234e+03_rb, & & 0.52999e+03_rb,0.43007e+03_rb,0.25172e+03_rb,0.71840e+02_rb /) kao(:, 2, 3, 2) = (/ & & 0.14591e+03_rb,0.25301e+03_rb,0.36036e+03_rb,0.46599e+03_rb,0.53834e+03_rb, & & 0.52313e+03_rb,0.42280e+03_rb,0.24755e+03_rb,0.71840e+02_rb /) kao(:, 3, 3, 2) = (/ & & 0.14297e+03_rb,0.25028e+03_rb,0.35782e+03_rb,0.46350e+03_rb,0.53459e+03_rb, & & 0.51696e+03_rb,0.41619e+03_rb,0.24383e+03_rb,0.71840e+02_rb /) kao(:, 4, 3, 2) = (/ & & 0.14033e+03_rb,0.24777e+03_rb,0.35542e+03_rb,0.46116e+03_rb,0.53100e+03_rb, & & 0.51122e+03_rb,0.41016e+03_rb,0.24049e+03_rb,0.71840e+02_rb /) kao(:, 5, 3, 2) = (/ & & 0.13795e+03_rb,0.24544e+03_rb,0.35313e+03_rb,0.45882e+03_rb,0.52751e+03_rb, & & 0.50591e+03_rb,0.40463e+03_rb,0.23747e+03_rb,0.71840e+02_rb /) kao(:, 1, 4, 2) = (/ & & 0.14062e+03_rb,0.24856e+03_rb,0.35678e+03_rb,0.46260e+03_rb,0.53137e+03_rb, & & 0.51186e+03_rb,0.41082e+03_rb,0.24086e+03_rb,0.71840e+02_rb /) kao(:, 2, 4, 2) = (/ & & 0.13771e+03_rb,0.24592e+03_rb,0.35440e+03_rb,0.46020e+03_rb,0.52732e+03_rb, & & 0.50537e+03_rb,0.40407e+03_rb,0.23717e+03_rb,0.71840e+02_rb /) kao(:, 3, 4, 2) = (/ & & 0.13512e+03_rb,0.24353e+03_rb,0.35219e+03_rb,0.45796e+03_rb,0.52348e+03_rb, & & 0.49954e+03_rb,0.39798e+03_rb,0.23389e+03_rb,0.71840e+02_rb /) kao(:, 4, 4, 2) = (/ & & 0.13281e+03_rb,0.24133e+03_rb,0.35008e+03_rb,0.45583e+03_rb,0.51985e+03_rb, & & 0.49431e+03_rb,0.39246e+03_rb,0.23096e+03_rb,0.71840e+02_rb /) kao(:, 5, 4, 2) = (/ & & 0.13073e+03_rb,0.23928e+03_rb,0.34807e+03_rb,0.45378e+03_rb,0.51643e+03_rb, & & 0.48957e+03_rb,0.38745e+03_rb,0.22833e+03_rb,0.71840e+02_rb /) kao(:, 1, 5, 2) = (/ & & 0.13333e+03_rb,0.24222e+03_rb,0.35141e+03_rb,0.45702e+03_rb,0.52057e+03_rb, & & 0.49550e+03_rb,0.39372e+03_rb,0.23163e+03_rb,0.71840e+02_rb /) kao(:, 2, 5, 2) = (/ & & 0.13075e+03_rb,0.23990e+03_rb,0.34934e+03_rb,0.45476e+03_rb,0.51651e+03_rb, & & 0.48963e+03_rb,0.38752e+03_rb,0.22836e+03_rb,0.71840e+02_rb /) kao(:, 3, 5, 2) = (/ & & 0.12847e+03_rb,0.23780e+03_rb,0.34741e+03_rb,0.45266e+03_rb,0.51271e+03_rb, & & 0.48438e+03_rb,0.38196e+03_rb,0.22548e+03_rb,0.71840e+02_rb /) kao(:, 4, 5, 2) = (/ & & 0.12644e+03_rb,0.23588e+03_rb,0.34557e+03_rb,0.45066e+03_rb,0.50911e+03_rb, & & 0.47962e+03_rb,0.37696e+03_rb,0.22291e+03_rb,0.71840e+02_rb /) kao(:, 5, 5, 2) = (/ & & 0.12462e+03_rb,0.23409e+03_rb,0.34381e+03_rb,0.44874e+03_rb,0.50570e+03_rb, & & 0.47526e+03_rb,0.37245e+03_rb,0.22060e+03_rb,0.71840e+02_rb /) kao(:, 1, 6, 2) = (/ & & 0.12722e+03_rb,0.23690e+03_rb,0.34688e+03_rb,0.45177e+03_rb,0.51032e+03_rb, & & 0.48144e+03_rb,0.37887e+03_rb,0.22389e+03_rb,0.71840e+02_rb /) kao(:, 2, 6, 2) = (/ & & 0.12492e+03_rb,0.23485e+03_rb,0.34508e+03_rb,0.44967e+03_rb,0.50620e+03_rb, & & 0.47598e+03_rb,0.37319e+03_rb,0.22098e+03_rb,0.71840e+02_rb /) kao(:, 3, 6, 2) = (/ & & 0.12290e+03_rb,0.23301e+03_rb,0.34340e+03_rb,0.44769e+03_rb,0.50242e+03_rb, & & 0.47108e+03_rb,0.36815e+03_rb,0.21843e+03_rb,0.71840e+02_rb /) kao(:, 4, 6, 2) = (/ & & 0.12111e+03_rb,0.23132e+03_rb,0.34180e+03_rb,0.44582e+03_rb,0.49894e+03_rb, & & 0.46668e+03_rb,0.36363e+03_rb,0.21616e+03_rb,0.71840e+02_rb /) kao(:, 5, 6, 2) = (/ & & 0.11952e+03_rb,0.22976e+03_rb,0.34026e+03_rb,0.44407e+03_rb,0.49574e+03_rb, & & 0.46270e+03_rb,0.35956e+03_rb,0.21414e+03_rb,0.71840e+02_rb /) kao(:, 1, 7, 2) = (/ & & 0.12201e+03_rb,0.23235e+03_rb,0.34300e+03_rb,0.44700e+03_rb,0.50054e+03_rb, & & 0.46889e+03_rb,0.36590e+03_rb,0.21730e+03_rb,0.71840e+02_rb /) kao(:, 2, 7, 2) = (/ & & 0.11997e+03_rb,0.23055e+03_rb,0.34145e+03_rb,0.44492e+03_rb,0.49657e+03_rb, & & 0.46383e+03_rb,0.36071e+03_rb,0.21471e+03_rb,0.71840e+02_rb /) kao(:, 3, 7, 2) = (/ & & 0.11818e+03_rb,0.22894e+03_rb,0.33999e+03_rb,0.44309e+03_rb,0.49292e+03_rb, & & 0.45934e+03_rb,0.35613e+03_rb,0.21245e+03_rb,0.71840e+02_rb /) kao(:, 4, 7, 2) = (/ & & 0.11660e+03_rb,0.22746e+03_rb,0.33859e+03_rb,0.44146e+03_rb,0.48959e+03_rb, & & 0.45533e+03_rb,0.35208e+03_rb,0.21045e+03_rb,0.71840e+02_rb /) kao(:, 5, 7, 2) = (/ & & 0.11520e+03_rb,0.22609e+03_rb,0.33724e+03_rb,0.43996e+03_rb,0.48657e+03_rb, & & 0.45175e+03_rb,0.34847e+03_rb,0.20867e+03_rb,0.71840e+02_rb /) kao(:, 1, 8, 2) = (/ & & 0.11756e+03_rb,0.22844e+03_rb,0.33965e+03_rb,0.44261e+03_rb,0.49147e+03_rb, & & 0.45776e+03_rb,0.35454e+03_rb,0.21166e+03_rb,0.71840e+02_rb /) kao(:, 2, 8, 2) = (/ & & 0.11574e+03_rb,0.22687e+03_rb,0.33830e+03_rb,0.44082e+03_rb,0.48767e+03_rb, & & 0.45313e+03_rb,0.34986e+03_rb,0.20936e+03_rb,0.71840e+02_rb /) kao(:, 3, 8, 2) = (/ & & 0.11415e+03_rb,0.22546e+03_rb,0.33704e+03_rb,0.43915e+03_rb,0.48429e+03_rb, & & 0.44908e+03_rb,0.34579e+03_rb,0.20735e+03_rb,0.71840e+02_rb /) kao(:, 4, 8, 2) = (/ & & 0.11276e+03_rb,0.22417e+03_rb,0.33584e+03_rb,0.43758e+03_rb,0.48126e+03_rb, & & 0.44549e+03_rb,0.34220e+03_rb,0.20559e+03_rb,0.71840e+02_rb /) kao(:, 5, 8, 2) = (/ & & 0.11153e+03_rb,0.22298e+03_rb,0.33466e+03_rb,0.43617e+03_rb,0.47855e+03_rb, & & 0.44228e+03_rb,0.33902e+03_rb,0.20403e+03_rb,0.71840e+02_rb /) kao(:, 1, 9, 2) = (/ & & 0.11376e+03_rb,0.22510e+03_rb,0.33674e+03_rb,0.43882e+03_rb,0.48336e+03_rb, & & 0.44807e+03_rb,0.34479e+03_rb,0.20686e+03_rb,0.71840e+02_rb /) kao(:, 2, 9, 2) = (/ & & 0.11214e+03_rb,0.22372e+03_rb,0.33559e+03_rb,0.43706e+03_rb,0.47989e+03_rb, & & 0.44388e+03_rb,0.34060e+03_rb,0.20480e+03_rb,0.71840e+02_rb /) kao(:, 3, 9, 2) = (/ & & 0.11074e+03_rb,0.22250e+03_rb,0.33451e+03_rb,0.43547e+03_rb,0.47679e+03_rb, & & 0.44020e+03_rb,0.33697e+03_rb,0.20303e+03_rb,0.71840e+02_rb /) kao(:, 4, 9, 2) = (/ & & 0.10951e+03_rb,0.22138e+03_rb,0.33348e+03_rb,0.43404e+03_rb,0.47404e+03_rb, & & 0.43694e+03_rb,0.33379e+03_rb,0.20147e+03_rb,0.71840e+02_rb /) kao(:, 5, 9, 2) = (/ & & 0.10843e+03_rb,0.22034e+03_rb,0.33246e+03_rb,0.43277e+03_rb,0.47159e+03_rb, & & 0.43405e+03_rb,0.33096e+03_rb,0.20010e+03_rb,0.71840e+02_rb /) kao(:, 1,10, 2) = (/ & & 0.11041e+03_rb,0.22214e+03_rb,0.33414e+03_rb,0.43517e+03_rb,0.47604e+03_rb, & & 0.43932e+03_rb,0.33611e+03_rb,0.20261e+03_rb,0.71840e+02_rb /) kao(:, 2,10, 2) = (/ & & 0.10898e+03_rb,0.22095e+03_rb,0.33317e+03_rb,0.43358e+03_rb,0.47283e+03_rb, & & 0.43552e+03_rb,0.33239e+03_rb,0.20080e+03_rb,0.71840e+02_rb /) kao(:, 3,10, 2) = (/ & & 0.10774e+03_rb,0.21989e+03_rb,0.33226e+03_rb,0.43213e+03_rb,0.47002e+03_rb, & & 0.43222e+03_rb,0.32917e+03_rb,0.19924e+03_rb,0.71840e+02_rb /) kao(:, 4,10, 2) = (/ & & 0.10667e+03_rb,0.21893e+03_rb,0.33139e+03_rb,0.43083e+03_rb,0.46753e+03_rb, & & 0.42932e+03_rb,0.32634e+03_rb,0.19788e+03_rb,0.71840e+02_rb /) kao(:, 5,10, 2) = (/ & & 0.10573e+03_rb,0.21803e+03_rb,0.33053e+03_rb,0.42965e+03_rb,0.46532e+03_rb, & & 0.42677e+03_rb,0.32386e+03_rb,0.19669e+03_rb,0.71840e+02_rb /) kao(:, 1,11, 2) = (/ & & 0.10694e+03_rb,0.21911e+03_rb,0.33152e+03_rb,0.43127e+03_rb,0.46816e+03_rb, & & 0.43005e+03_rb,0.32706e+03_rb,0.19822e+03_rb,0.71840e+02_rb /) kao(:, 2,11, 2) = (/ & & 0.10577e+03_rb,0.21815e+03_rb,0.33074e+03_rb,0.42984e+03_rb,0.46541e+03_rb, & & 0.42687e+03_rb,0.32396e+03_rb,0.19674e+03_rb,0.71840e+02_rb /) kao(:, 3,11, 2) = (/ & & 0.10476e+03_rb,0.21728e+03_rb,0.33000e+03_rb,0.42855e+03_rb,0.46301e+03_rb, & & 0.42411e+03_rb,0.32130e+03_rb,0.19546e+03_rb,0.71840e+02_rb /) kao(:, 4,11, 2) = (/ & & 0.10388e+03_rb,0.21649e+03_rb,0.32928e+03_rb,0.42741e+03_rb,0.46089e+03_rb, & & 0.42169e+03_rb,0.31897e+03_rb,0.19435e+03_rb,0.71840e+02_rb /) kao(:, 5,11, 2) = (/ & & 0.10311e+03_rb,0.21575e+03_rb,0.32855e+03_rb,0.42639e+03_rb,0.45902e+03_rb, & & 0.41954e+03_rb,0.31692e+03_rb,0.19338e+03_rb,0.71840e+02_rb /) kao(:, 1,12, 2) = (/ & & 0.10410e+03_rb,0.21663e+03_rb,0.32937e+03_rb,0.42778e+03_rb,0.46141e+03_rb, & & 0.42229e+03_rb,0.31955e+03_rb,0.19463e+03_rb,0.71840e+02_rb /) kao(:, 2,12, 2) = (/ & & 0.10314e+03_rb,0.21585e+03_rb,0.32875e+03_rb,0.42654e+03_rb,0.45909e+03_rb, & & 0.41961e+03_rb,0.31700e+03_rb,0.19341e+03_rb,0.71840e+02_rb /) kao(:, 3,12, 2) = (/ & & 0.10231e+03_rb,0.21515e+03_rb,0.32815e+03_rb,0.42544e+03_rb,0.45707e+03_rb, & & 0.41729e+03_rb,0.31480e+03_rb,0.19236e+03_rb,0.71840e+02_rb /) kao(:, 4,12, 2) = (/ & & 0.10159e+03_rb,0.21449e+03_rb,0.32754e+03_rb,0.42445e+03_rb,0.45532e+03_rb, & & 0.41526e+03_rb,0.31288e+03_rb,0.19145e+03_rb,0.71840e+02_rb /) kao(:, 5,12, 2) = (/ & & 0.10096e+03_rb,0.21387e+03_rb,0.32692e+03_rb,0.42356e+03_rb,0.45377e+03_rb, & & 0.41347e+03_rb,0.31119e+03_rb,0.19066e+03_rb,0.71840e+02_rb /) kao(:, 1,13, 2) = (/ & & 0.10177e+03_rb,0.21460e+03_rb,0.32761e+03_rb,0.42475e+03_rb,0.45575e+03_rb, & & 0.41576e+03_rb,0.31335e+03_rb,0.19168e+03_rb,0.71840e+02_rb /) kao(:, 2,13, 2) = (/ & & 0.10099e+03_rb,0.21397e+03_rb,0.32712e+03_rb,0.42368e+03_rb,0.45383e+03_rb, & & 0.41353e+03_rb,0.31125e+03_rb,0.19068e+03_rb,0.71840e+02_rb /) kao(:, 3,13, 2) = (/ & & 0.10031e+03_rb,0.21340e+03_rb,0.32663e+03_rb,0.42272e+03_rb,0.45216e+03_rb, & & 0.41160e+03_rb,0.30943e+03_rb,0.18983e+03_rb,0.71840e+02_rb /) kao(:, 4,13, 2) = (/ & & 0.99720e+02_rb,0.21286e+03_rb,0.32612e+03_rb,0.42187e+03_rb,0.45071e+03_rb, & & 0.40991e+03_rb,0.30785e+03_rb,0.18908e+03_rb,0.71840e+02_rb /) kao(:, 5,13, 2) = (/ & & 0.99204e+02_rb,0.21233e+03_rb,0.32558e+03_rb,0.42112e+03_rb,0.44942e+03_rb, & & 0.40842e+03_rb,0.30646e+03_rb,0.18843e+03_rb,0.71840e+02_rb /) kao(:, 1, 1, 3) = (/ & & 0.44909e+03_rb,0.47445e+03_rb,0.49981e+03_rb,0.52556e+03_rb,0.59352e+03_rb, & & 0.63011e+03_rb,0.50440e+03_rb,0.31793e+03_rb,0.17829e+03_rb /) kao(:, 2, 1, 3) = (/ & & 0.43771e+03_rb,0.46449e+03_rb,0.49128e+03_rb,0.51852e+03_rb,0.58982e+03_rb, & & 0.62155e+03_rb,0.49364e+03_rb,0.31383e+03_rb,0.17829e+03_rb /) kao(:, 3, 1, 3) = (/ & & 0.42749e+03_rb,0.45555e+03_rb,0.48362e+03_rb,0.51220e+03_rb,0.58623e+03_rb, & & 0.61324e+03_rb,0.48379e+03_rb,0.31014e+03_rb,0.17829e+03_rb /) kao(:, 4, 1, 3) = (/ & & 0.41826e+03_rb,0.44748e+03_rb,0.47670e+03_rb,0.50650e+03_rb,0.58281e+03_rb, & & 0.60555e+03_rb,0.47483e+03_rb,0.30681e+03_rb,0.17829e+03_rb /) kao(:, 5, 1, 3) = (/ & & 0.40989e+03_rb,0.44015e+03_rb,0.47042e+03_rb,0.50132e+03_rb,0.57944e+03_rb, & & 0.59846e+03_rb,0.46657e+03_rb,0.30379e+03_rb,0.17829e+03_rb /) kao(:, 1, 2, 3) = (/ & & 0.41487e+03_rb,0.44451e+03_rb,0.47415e+03_rb,0.50447e+03_rb,0.58410e+03_rb, & & 0.60269e+03_rb,0.47150e+03_rb,0.30559e+03_rb,0.17829e+03_rb /) kao(:, 2, 2, 3) = (/ & & 0.40511e+03_rb,0.43597e+03_rb,0.46683e+03_rb,0.49854e+03_rb,0.58056e+03_rb, & & 0.59434e+03_rb,0.46181e+03_rb,0.30207e+03_rb,0.17829e+03_rb /) kao(:, 3, 2, 3) = (/ & & 0.39637e+03_rb,0.42832e+03_rb,0.46028e+03_rb,0.49326e+03_rb,0.57701e+03_rb, & & 0.58648e+03_rb,0.45298e+03_rb,0.29892e+03_rb,0.17829e+03_rb /) kao(:, 4, 2, 3) = (/ & & 0.38850e+03_rb,0.42143e+03_rb,0.45437e+03_rb,0.48855e+03_rb,0.57350e+03_rb, & & 0.57914e+03_rb,0.44500e+03_rb,0.29608e+03_rb,0.17829e+03_rb /) kao(:, 5, 2, 3) = (/ & & 0.38136e+03_rb,0.41519e+03_rb,0.44902e+03_rb,0.48433e+03_rb,0.57004e+03_rb, & & 0.57245e+03_rb,0.43774e+03_rb,0.29351e+03_rb,0.17829e+03_rb /) kao(:, 1, 3, 3) = (/ & & 0.38797e+03_rb,0.42097e+03_rb,0.45397e+03_rb,0.48897e+03_rb,0.57508e+03_rb, & & 0.57865e+03_rb,0.44446e+03_rb,0.29589e+03_rb,0.17829e+03_rb /) kao(:, 2, 3, 3) = (/ & & 0.37940e+03_rb,0.41348e+03_rb,0.44755e+03_rb,0.48416e+03_rb,0.57138e+03_rb, & & 0.57059e+03_rb,0.43573e+03_rb,0.29280e+03_rb,0.17829e+03_rb /) kao(:, 3, 3, 3) = (/ & & 0.37176e+03_rb,0.40679e+03_rb,0.44182e+03_rb,0.47985e+03_rb,0.56781e+03_rb, & & 0.56324e+03_rb,0.42791e+03_rb,0.29005e+03_rb,0.17829e+03_rb /) kao(:, 4, 3, 3) = (/ & & 0.36490e+03_rb,0.40078e+03_rb,0.43667e+03_rb,0.47599e+03_rb,0.56436e+03_rb, & & 0.55656e+03_rb,0.42088e+03_rb,0.28757e+03_rb,0.17829e+03_rb /) kao(:, 5, 3, 3) = (/ & & 0.35870e+03_rb,0.39536e+03_rb,0.43202e+03_rb,0.47253e+03_rb,0.56109e+03_rb, & & 0.55041e+03_rb,0.41448e+03_rb,0.28534e+03_rb,0.17829e+03_rb /) kao(:, 1, 4, 3) = (/ & & 0.36565e+03_rb,0.40144e+03_rb,0.43723e+03_rb,0.47759e+03_rb,0.56581e+03_rb, & & 0.55729e+03_rb,0.42164e+03_rb,0.28784e+03_rb,0.17829e+03_rb /) kao(:, 2, 4, 3) = (/ & & 0.35808e+03_rb,0.39482e+03_rb,0.43155e+03_rb,0.47386e+03_rb,0.56215e+03_rb, & & 0.54978e+03_rb,0.41381e+03_rb,0.28511e+03_rb,0.17829e+03_rb /) kao(:, 3, 4, 3) = (/ & & 0.35135e+03_rb,0.38893e+03_rb,0.42651e+03_rb,0.47052e+03_rb,0.55875e+03_rb, & & 0.54295e+03_rb,0.40683e+03_rb,0.28269e+03_rb,0.17829e+03_rb /) kao(:, 4, 4, 3) = (/ & & 0.34533e+03_rb,0.38366e+03_rb,0.42199e+03_rb,0.46746e+03_rb,0.55555e+03_rb, & & 0.53669e+03_rb,0.40055e+03_rb,0.28052e+03_rb,0.17829e+03_rb /) kao(:, 5, 4, 3) = (/ & & 0.33991e+03_rb,0.37892e+03_rb,0.41793e+03_rb,0.46467e+03_rb,0.55244e+03_rb, & & 0.53093e+03_rb,0.39488e+03_rb,0.27856e+03_rb,0.17829e+03_rb /) kao(:, 1, 5, 3) = (/ & & 0.34669e+03_rb,0.38485e+03_rb,0.42301e+03_rb,0.46943e+03_rb,0.55667e+03_rb, & & 0.53812e+03_rb,0.40197e+03_rb,0.28101e+03_rb,0.17829e+03_rb /) kao(:, 2, 5, 3) = (/ & & 0.33999e+03_rb,0.37899e+03_rb,0.41799e+03_rb,0.46662e+03_rb,0.55311e+03_rb, & & 0.53101e+03_rb,0.39496e+03_rb,0.27859e+03_rb,0.17829e+03_rb /) kao(:, 3, 5, 3) = (/ & & 0.33406e+03_rb,0.37380e+03_rb,0.41354e+03_rb,0.46416e+03_rb,0.54976e+03_rb, & & 0.52459e+03_rb,0.38873e+03_rb,0.27645e+03_rb,0.17829e+03_rb /) kao(:, 4, 5, 3) = (/ & & 0.32878e+03_rb,0.36918e+03_rb,0.40958e+03_rb,0.46185e+03_rb,0.54671e+03_rb, & & 0.51881e+03_rb,0.38326e+03_rb,0.27455e+03_rb,0.17829e+03_rb /) kao(:, 5, 5, 3) = (/ & & 0.32404e+03_rb,0.36503e+03_rb,0.40603e+03_rb,0.45969e+03_rb,0.54395e+03_rb, & & 0.51356e+03_rb,0.37844e+03_rb,0.27284e+03_rb,0.17829e+03_rb /) kao(:, 1, 6, 3) = (/ & & 0.33079e+03_rb,0.37094e+03_rb,0.41109e+03_rb,0.46395e+03_rb,0.54790e+03_rb, & & 0.52101e+03_rb,0.38534e+03_rb,0.27527e+03_rb,0.17829e+03_rb /) kao(:, 2, 6, 3) = (/ & & 0.32482e+03_rb,0.36572e+03_rb,0.40662e+03_rb,0.46188e+03_rb,0.54448e+03_rb, & & 0.51443e+03_rb,0.37923e+03_rb,0.27312e+03_rb,0.17829e+03_rb /) kao(:, 3, 6, 3) = (/ & & 0.31958e+03_rb,0.36113e+03_rb,0.40268e+03_rb,0.45998e+03_rb,0.54143e+03_rb, & & 0.50857e+03_rb,0.37397e+03_rb,0.27123e+03_rb,0.17829e+03_rb /) kao(:, 4, 6, 3) = (/ & & 0.31492e+03_rb,0.35705e+03_rb,0.39919e+03_rb,0.45816e+03_rb,0.53866e+03_rb, & & 0.50335e+03_rb,0.36939e+03_rb,0.26955e+03_rb,0.17829e+03_rb /) kao(:, 5, 6, 3) = (/ & & 0.31076e+03_rb,0.35342e+03_rb,0.39607e+03_rb,0.45638e+03_rb,0.53611e+03_rb, & & 0.49868e+03_rb,0.36537e+03_rb,0.26805e+03_rb,0.17829e+03_rb /) kao(:, 1, 7, 3) = (/ & & 0.31725e+03_rb,0.35910e+03_rb,0.40094e+03_rb,0.45992e+03_rb,0.53978e+03_rb, & & 0.50597e+03_rb,0.37168e+03_rb,0.27039e+03_rb,0.17829e+03_rb /) kao(:, 2, 7, 3) = (/ & & 0.31194e+03_rb,0.35445e+03_rb,0.39695e+03_rb,0.45835e+03_rb,0.53664e+03_rb, & & 0.50000e+03_rb,0.36650e+03_rb,0.26848e+03_rb,0.17829e+03_rb /) kao(:, 3, 7, 3) = (/ & & 0.30729e+03_rb,0.35038e+03_rb,0.39347e+03_rb,0.45686e+03_rb,0.53383e+03_rb, & & 0.49465e+03_rb,0.36205e+03_rb,0.26680e+03_rb,0.17829e+03_rb /) kao(:, 4, 7, 3) = (/ & & 0.30318e+03_rb,0.34679e+03_rb,0.39040e+03_rb,0.45536e+03_rb,0.53125e+03_rb, & & 0.48979e+03_rb,0.35818e+03_rb,0.26532e+03_rb,0.17829e+03_rb /) kao(:, 5, 7, 3) = (/ & & 0.29953e+03_rb,0.34359e+03_rb,0.38767e+03_rb,0.45383e+03_rb,0.52882e+03_rb, & & 0.48543e+03_rb,0.35479e+03_rb,0.26401e+03_rb,0.17829e+03_rb /) kao(:, 1, 8, 3) = (/ & & 0.30567e+03_rb,0.34896e+03_rb,0.39226e+03_rb,0.45673e+03_rb,0.53243e+03_rb, & & 0.49274e+03_rb,0.36052e+03_rb,0.26622e+03_rb,0.17829e+03_rb /) kao(:, 2, 8, 3) = (/ & & 0.30094e+03_rb,0.34482e+03_rb,0.38872e+03_rb,0.45541e+03_rb,0.52945e+03_rb, & & 0.48711e+03_rb,0.35609e+03_rb,0.26451e+03_rb,0.17829e+03_rb /) kao(:, 3, 8, 3) = (/ & & 0.29682e+03_rb,0.34122e+03_rb,0.38564e+03_rb,0.45413e+03_rb,0.52674e+03_rb, & & 0.48217e+03_rb,0.35231e+03_rb,0.26303e+03_rb,0.17829e+03_rb /) kao(:, 4, 8, 3) = (/ & & 0.29320e+03_rb,0.33805e+03_rb,0.38294e+03_rb,0.45285e+03_rb,0.52426e+03_rb, & & 0.47779e+03_rb,0.34904e+03_rb,0.26172e+03_rb,0.17829e+03_rb /) kao(:, 5, 8, 3) = (/ & & 0.29000e+03_rb,0.33525e+03_rb,0.38055e+03_rb,0.45152e+03_rb,0.52191e+03_rb, & & 0.47388e+03_rb,0.34618e+03_rb,0.26057e+03_rb,0.17829e+03_rb /) kao(:, 1, 9, 3) = (/ & & 0.29581e+03_rb,0.34033e+03_rb,0.38489e+03_rb,0.45387e+03_rb,0.52555e+03_rb, & & 0.48095e+03_rb,0.35139e+03_rb,0.26266e+03_rb,0.17829e+03_rb /) kao(:, 2, 9, 3) = (/ & & 0.29159e+03_rb,0.33664e+03_rb,0.38173e+03_rb,0.45277e+03_rb,0.52268e+03_rb, & & 0.47582e+03_rb,0.34759e+03_rb,0.26114e+03_rb,0.17829e+03_rb /) kao(:, 3, 9, 3) = (/ & & 0.28794e+03_rb,0.33344e+03_rb,0.37901e+03_rb,0.45167e+03_rb,0.52008e+03_rb, & & 0.47135e+03_rb,0.34436e+03_rb,0.25982e+03_rb,0.17829e+03_rb /) kao(:, 4, 9, 3) = (/ & & 0.28475e+03_rb,0.33065e+03_rb,0.37663e+03_rb,0.45055e+03_rb,0.51765e+03_rb, & & 0.46738e+03_rb,0.34157e+03_rb,0.25867e+03_rb,0.17829e+03_rb /) kao(:, 5, 9, 3) = (/ & & 0.28193e+03_rb,0.32819e+03_rb,0.37453e+03_rb,0.44937e+03_rb,0.51538e+03_rb, & & 0.46382e+03_rb,0.33916e+03_rb,0.25766e+03_rb,0.17829e+03_rb /) kao(:, 1,10, 3) = (/ & & 0.28708e+03_rb,0.33269e+03_rb,0.37836e+03_rb,0.45121e+03_rb,0.51885e+03_rb, & & 0.47029e+03_rb,0.34361e+03_rb,0.25951e+03_rb,0.17829e+03_rb /) kao(:, 2,10, 3) = (/ & & 0.28336e+03_rb,0.32944e+03_rb,0.37559e+03_rb,0.45027e+03_rb,0.51611e+03_rb, & & 0.46563e+03_rb,0.34037e+03_rb,0.25817e+03_rb,0.17829e+03_rb /) kao(:, 3,10, 3) = (/ & & 0.28016e+03_rb,0.32664e+03_rb,0.37320e+03_rb,0.44932e+03_rb,0.51361e+03_rb, & & 0.46153e+03_rb,0.33765e+03_rb,0.25702e+03_rb,0.17829e+03_rb /) kao(:, 4,10, 3) = (/ & & 0.27737e+03_rb,0.32420e+03_rb,0.37112e+03_rb,0.44835e+03_rb,0.51133e+03_rb, & & 0.45793e+03_rb,0.33532e+03_rb,0.25601e+03_rb,0.17829e+03_rb /) kao(:, 5,10, 3) = (/ & & 0.27492e+03_rb,0.32206e+03_rb,0.36930e+03_rb,0.44735e+03_rb,0.50922e+03_rb, & & 0.45473e+03_rb,0.33330e+03_rb,0.25513e+03_rb,0.17829e+03_rb /) kao(:, 1,11, 3) = (/ & & 0.27807e+03_rb,0.32481e+03_rb,0.37164e+03_rb,0.44842e+03_rb,0.51141e+03_rb, & & 0.45884e+03_rb,0.33590e+03_rb,0.25627e+03_rb,0.17829e+03_rb /) kao(:, 2,11, 3) = (/ & & 0.27502e+03_rb,0.32214e+03_rb,0.36937e+03_rb,0.44764e+03_rb,0.50894e+03_rb, & & 0.45486e+03_rb,0.33338e+03_rb,0.25517e+03_rb,0.17829e+03_rb /) kao(:, 3,11, 3) = (/ & & 0.27240e+03_rb,0.31985e+03_rb,0.36742e+03_rb,0.44685e+03_rb,0.50671e+03_rb, & & 0.45139e+03_rb,0.33123e+03_rb,0.25422e+03_rb,0.17829e+03_rb /) kao(:, 4,11, 3) = (/ & & 0.27012e+03_rb,0.31785e+03_rb,0.36572e+03_rb,0.44602e+03_rb,0.50464e+03_rb, & & 0.44836e+03_rb,0.32939e+03_rb,0.25340e+03_rb,0.17829e+03_rb /) kao(:, 5,11, 3) = (/ & & 0.26811e+03_rb,0.31610e+03_rb,0.36422e+03_rb,0.44514e+03_rb,0.50273e+03_rb, & & 0.44569e+03_rb,0.32779e+03_rb,0.25268e+03_rb,0.17829e+03_rb /) kao(:, 1,12, 3) = (/ & & 0.27068e+03_rb,0.31834e+03_rb,0.36613e+03_rb,0.44605e+03_rb,0.50476e+03_rb, & & 0.44911e+03_rb,0.32983e+03_rb,0.25360e+03_rb,0.17829e+03_rb /) kao(:, 2,12, 3) = (/ & & 0.26818e+03_rb,0.31616e+03_rb,0.36428e+03_rb,0.44539e+03_rb,0.50255e+03_rb, & & 0.44579e+03_rb,0.32784e+03_rb,0.25270e+03_rb,0.17829e+03_rb /) kao(:, 3,12, 3) = (/ & & 0.26603e+03_rb,0.31428e+03_rb,0.36268e+03_rb,0.44471e+03_rb,0.50054e+03_rb, & & 0.44293e+03_rb,0.32614e+03_rb,0.25193e+03_rb,0.17829e+03_rb /) kao(:, 4,12, 3) = (/ & & 0.26417e+03_rb,0.31264e+03_rb,0.36129e+03_rb,0.44399e+03_rb,0.49874e+03_rb, & & 0.44043e+03_rb,0.32468e+03_rb,0.25125e+03_rb,0.17829e+03_rb /) kao(:, 5,12, 3) = (/ & & 0.26252e+03_rb,0.31121e+03_rb,0.36005e+03_rb,0.44322e+03_rb,0.49710e+03_rb, & & 0.43824e+03_rb,0.32341e+03_rb,0.25066e+03_rb,0.17829e+03_rb /) kao(:, 1,13, 3) = (/ & & 0.26463e+03_rb,0.31305e+03_rb,0.36163e+03_rb,0.44400e+03_rb,0.49889e+03_rb, & & 0.44105e+03_rb,0.32504e+03_rb,0.25142e+03_rb,0.17829e+03_rb /) kao(:, 2,13, 3) = (/ & & 0.26258e+03_rb,0.31126e+03_rb,0.36010e+03_rb,0.44348e+03_rb,0.49698e+03_rb, & & 0.43831e+03_rb,0.32345e+03_rb,0.25068e+03_rb,0.17829e+03_rb /) kao(:, 3,13, 3) = (/ & & 0.26082e+03_rb,0.30972e+03_rb,0.35880e+03_rb,0.44291e+03_rb,0.49519e+03_rb, & & 0.43595e+03_rb,0.32210e+03_rb,0.25005e+03_rb,0.17829e+03_rb /) kao(:, 4,13, 3) = (/ & & 0.25929e+03_rb,0.30838e+03_rb,0.35766e+03_rb,0.44229e+03_rb,0.49360e+03_rb, & & 0.43388e+03_rb,0.32093e+03_rb,0.24950e+03_rb,0.17829e+03_rb /) kao(:, 5,13, 3) = (/ & & 0.25795e+03_rb,0.30721e+03_rb,0.35666e+03_rb,0.44160e+03_rb,0.49217e+03_rb, & & 0.43204e+03_rb,0.31991e+03_rb,0.24901e+03_rb,0.17829e+03_rb /) kao(:, 1, 1, 4) = (/ & & 0.86913e+03_rb,0.80389e+03_rb,0.73864e+03_rb,0.67339e+03_rb,0.62239e+03_rb, & & 0.67741e+03_rb,0.51596e+03_rb,0.43641e+03_rb,0.38437e+03_rb /) kao(:, 2, 1, 4) = (/ & & 0.84711e+03_rb,0.78462e+03_rb,0.72212e+03_rb,0.65963e+03_rb,0.61530e+03_rb, & & 0.66963e+03_rb,0.50564e+03_rb,0.43387e+03_rb,0.38437e+03_rb /) kao(:, 3, 1, 4) = (/ & & 0.82734e+03_rb,0.76731e+03_rb,0.70729e+03_rb,0.64727e+03_rb,0.60932e+03_rb, & & 0.66251e+03_rb,0.49688e+03_rb,0.43160e+03_rb,0.38437e+03_rb /) kao(:, 4, 1, 4) = (/ & & 0.80948e+03_rb,0.75169e+03_rb,0.69390e+03_rb,0.63611e+03_rb,0.60420e+03_rb, & & 0.65531e+03_rb,0.48930e+03_rb,0.42954e+03_rb,0.38437e+03_rb /) kao(:, 5, 1, 4) = (/ & & 0.79327e+03_rb,0.73751e+03_rb,0.68174e+03_rb,0.62598e+03_rb,0.59980e+03_rb, & & 0.64776e+03_rb,0.48275e+03_rb,0.42767e+03_rb,0.38437e+03_rb /) kao(:, 1, 2, 4) = (/ & & 0.80291e+03_rb,0.74594e+03_rb,0.68897e+03_rb,0.63200e+03_rb,0.60547e+03_rb, & & 0.65273e+03_rb,0.48660e+03_rb,0.42878e+03_rb,0.38437e+03_rb /) kao(:, 2, 2, 4) = (/ & & 0.78403e+03_rb,0.72942e+03_rb,0.67481e+03_rb,0.62020e+03_rb,0.60133e+03_rb, & & 0.64384e+03_rb,0.47915e+03_rb,0.42661e+03_rb,0.38437e+03_rb /) kao(:, 3, 2, 4) = (/ & & 0.76711e+03_rb,0.71462e+03_rb,0.66212e+03_rb,0.60962e+03_rb,0.59788e+03_rb, & & 0.63506e+03_rb,0.47284e+03_rb,0.42466e+03_rb,0.38437e+03_rb /) kao(:, 4, 2, 4) = (/ & & 0.75187e+03_rb,0.70128e+03_rb,0.65069e+03_rb,0.60010e+03_rb,0.59472e+03_rb, & & 0.62679e+03_rb,0.46742e+03_rb,0.42291e+03_rb,0.38437e+03_rb /) kao(:, 5, 2, 4) = (/ & & 0.73807e+03_rb,0.68920e+03_rb,0.64034e+03_rb,0.59147e+03_rb,0.59165e+03_rb, & & 0.61864e+03_rb,0.46272e+03_rb,0.42132e+03_rb,0.38437e+03_rb /) kao(:, 1, 3, 4) = (/ & & 0.75084e+03_rb,0.70038e+03_rb,0.64992e+03_rb,0.59946e+03_rb,0.59732e+03_rb, & & 0.62621e+03_rb,0.46707e+03_rb,0.42279e+03_rb,0.38437e+03_rb /) kao(:, 2, 3, 4) = (/ & & 0.73427e+03_rb,0.68588e+03_rb,0.63749e+03_rb,0.58910e+03_rb,0.59435e+03_rb, & & 0.61627e+03_rb,0.46147e+03_rb,0.42088e+03_rb,0.38437e+03_rb /) kao(:, 3, 3, 4) = (/ & & 0.71948e+03_rb,0.67294e+03_rb,0.62640e+03_rb,0.57986e+03_rb,0.59145e+03_rb, & & 0.60690e+03_rb,0.45675e+03_rb,0.41918e+03_rb,0.38437e+03_rb /) kao(:, 4, 3, 4) = (/ & & 0.70620e+03_rb,0.66132e+03_rb,0.61644e+03_rb,0.57156e+03_rb,0.58863e+03_rb, & & 0.59842e+03_rb,0.45269e+03_rb,0.41765e+03_rb,0.38437e+03_rb /) kao(:, 5, 3, 4) = (/ & & 0.69421e+03_rb,0.65083e+03_rb,0.60744e+03_rb,0.56406e+03_rb,0.58580e+03_rb, & & 0.59032e+03_rb,0.44923e+03_rb,0.41627e+03_rb,0.38437e+03_rb /) kao(:, 1, 4, 4) = (/ & & 0.70765e+03_rb,0.66259e+03_rb,0.61753e+03_rb,0.57246e+03_rb,0.59114e+03_rb, & & 0.59936e+03_rb,0.45313e+03_rb,0.41781e+03_rb,0.38437e+03_rb /) kao(:, 2, 4, 4) = (/ & & 0.69300e+03_rb,0.64977e+03_rb,0.60654e+03_rb,0.56330e+03_rb,0.58834e+03_rb, & & 0.58949e+03_rb,0.44892e+03_rb,0.41613e+03_rb,0.38437e+03_rb /) kao(:, 3, 4, 4) = (/ & & 0.67997e+03_rb,0.63837e+03_rb,0.59677e+03_rb,0.55516e+03_rb,0.58563e+03_rb, & & 0.58057e+03_rb,0.44538e+03_rb,0.41463e+03_rb,0.38437e+03_rb /) kao(:, 4, 4, 4) = (/ & & 0.66833e+03_rb,0.62818e+03_rb,0.58803e+03_rb,0.54788e+03_rb,0.58292e+03_rb, & & 0.57257e+03_rb,0.44238e+03_rb,0.41329e+03_rb,0.38437e+03_rb /) kao(:, 5, 4, 4) = (/ & & 0.65784e+03_rb,0.61901e+03_rb,0.58017e+03_rb,0.54133e+03_rb,0.58031e+03_rb, & & 0.56522e+03_rb,0.43982e+03_rb,0.41208e+03_rb,0.38437e+03_rb /) kao(:, 1, 5, 4) = (/ & & 0.67096e+03_rb,0.63048e+03_rb,0.59001e+03_rb,0.54953e+03_rb,0.58521e+03_rb, & & 0.57438e+03_rb,0.44304e+03_rb,0.41359e+03_rb,0.38437e+03_rb /) kao(:, 2, 5, 4) = (/ & & 0.65799e+03_rb,0.61913e+03_rb,0.58028e+03_rb,0.54142e+03_rb,0.58256e+03_rb, & & 0.56532e+03_rb,0.43984e+03_rb,0.41210e+03_rb,0.38437e+03_rb /) kao(:, 3, 5, 4) = (/ & & 0.64651e+03_rb,0.60909e+03_rb,0.57167e+03_rb,0.53427e+03_rb,0.57997e+03_rb, & & 0.55705e+03_rb,0.43718e+03_rb,0.41077e+03_rb,0.38437e+03_rb /) kao(:, 4, 5, 4) = (/ & & 0.63629e+03_rb,0.60015e+03_rb,0.56401e+03_rb,0.52793e+03_rb,0.57742e+03_rb, & & 0.54959e+03_rb,0.43482e+03_rb,0.40960e+03_rb,0.38437e+03_rb /) kao(:, 5, 5, 4) = (/ & & 0.62713e+03_rb,0.59213e+03_rb,0.55713e+03_rb,0.52227e+03_rb,0.57480e+03_rb, & & 0.54282e+03_rb,0.43271e+03_rb,0.40854e+03_rb,0.38437e+03_rb /) kao(:, 1, 6, 4) = (/ & & 0.64019e+03_rb,0.60356e+03_rb,0.56693e+03_rb,0.53034e+03_rb,0.57955e+03_rb, & & 0.55244e+03_rb,0.43572e+03_rb,0.41005e+03_rb,0.38437e+03_rb /) kao(:, 2, 6, 4) = (/ & & 0.62864e+03_rb,0.59346e+03_rb,0.55827e+03_rb,0.52321e+03_rb,0.57700e+03_rb, & & 0.54395e+03_rb,0.43306e+03_rb,0.40872e+03_rb,0.38437e+03_rb /) kao(:, 3, 6, 4) = (/ & & 0.61849e+03_rb,0.58457e+03_rb,0.55065e+03_rb,0.51703e+03_rb,0.57439e+03_rb, & & 0.53634e+03_rb,0.43072e+03_rb,0.40755e+03_rb,0.38437e+03_rb /) kao(:, 4, 6, 4) = (/ & & 0.60948e+03_rb,0.57669e+03_rb,0.54390e+03_rb,0.51158e+03_rb,0.57170e+03_rb, & & 0.52946e+03_rb,0.42865e+03_rb,0.40651e+03_rb,0.38437e+03_rb /) kao(:, 5, 6, 4) = (/ & & 0.60143e+03_rb,0.56965e+03_rb,0.53786e+03_rb,0.50675e+03_rb,0.56897e+03_rb, & & 0.52321e+03_rb,0.42679e+03_rb,0.40558e+03_rb,0.38437e+03_rb /) kao(:, 1, 7, 4) = (/ & & 0.61399e+03_rb,0.58064e+03_rb,0.54728e+03_rb,0.51440e+03_rb,0.57380e+03_rb, & & 0.53292e+03_rb,0.42969e+03_rb,0.40703e+03_rb,0.38437e+03_rb /) kao(:, 2, 7, 4) = (/ & & 0.60371e+03_rb,0.57164e+03_rb,0.53957e+03_rb,0.50828e+03_rb,0.57103e+03_rb, & & 0.52498e+03_rb,0.42732e+03_rb,0.40585e+03_rb,0.38437e+03_rb /) kao(:, 3, 7, 4) = (/ & & 0.59471e+03_rb,0.56376e+03_rb,0.53282e+03_rb,0.50302e+03_rb,0.56836e+03_rb, & & 0.51802e+03_rb,0.42525e+03_rb,0.40481e+03_rb,0.38437e+03_rb /) kao(:, 4, 7, 4) = (/ & & 0.58676e+03_rb,0.55681e+03_rb,0.52686e+03_rb,0.49842e+03_rb,0.56580e+03_rb, & & 0.51197e+03_rb,0.42342e+03_rb,0.40389e+03_rb,0.38437e+03_rb /) kao(:, 5, 7, 4) = (/ & & 0.57970e+03_rb,0.55063e+03_rb,0.52156e+03_rb,0.49437e+03_rb,0.56333e+03_rb, & & 0.50656e+03_rb,0.42179e+03_rb,0.40308e+03_rb,0.38437e+03_rb /) kao(:, 1, 8, 4) = (/ & & 0.59158e+03_rb,0.56102e+03_rb,0.53047e+03_rb,0.50136e+03_rb,0.56762e+03_rb, & & 0.51564e+03_rb,0.42452e+03_rb,0.40445e+03_rb,0.38437e+03_rb /) kao(:, 2, 8, 4) = (/ & & 0.58242e+03_rb,0.55301e+03_rb,0.52360e+03_rb,0.49623e+03_rb,0.56499e+03_rb, & & 0.50866e+03_rb,0.42242e+03_rb,0.40339e+03_rb,0.38437e+03_rb /) kao(:, 3, 8, 4) = (/ & & 0.57445e+03_rb,0.54604e+03_rb,0.51762e+03_rb,0.49188e+03_rb,0.56245e+03_rb, & & 0.50238e+03_rb,0.42058e+03_rb,0.40248e+03_rb,0.38437e+03_rb /) kao(:, 4, 8, 4) = (/ & & 0.56745e+03_rb,0.53991e+03_rb,0.51237e+03_rb,0.48811e+03_rb,0.55998e+03_rb, & & 0.49675e+03_rb,0.41897e+03_rb,0.40167e+03_rb,0.38437e+03_rb /) kao(:, 5, 8, 4) = (/ & & 0.56125e+03_rb,0.53448e+03_rb,0.50772e+03_rb,0.48477e+03_rb,0.55757e+03_rb, & & 0.49178e+03_rb,0.41754e+03_rb,0.40096e+03_rb,0.38437e+03_rb /) kao(:, 1, 9, 4) = (/ & & 0.57249e+03_rb,0.54432e+03_rb,0.51615e+03_rb,0.49103e+03_rb,0.56159e+03_rb, & & 0.50080e+03_rb,0.42013e+03_rb,0.40225e+03_rb,0.38437e+03_rb /) kao(:, 2, 9, 4) = (/ & & 0.56432e+03_rb,0.53718e+03_rb,0.51003e+03_rb,0.48678e+03_rb,0.55899e+03_rb, & & 0.49424e+03_rb,0.41825e+03_rb,0.40131e+03_rb,0.38437e+03_rb /) kao(:, 3, 9, 4) = (/ & & 0.55726e+03_rb,0.53099e+03_rb,0.50473e+03_rb,0.48321e+03_rb,0.55650e+03_rb, & & 0.48858e+03_rb,0.41662e+03_rb,0.40050e+03_rb,0.38437e+03_rb /) kao(:, 4, 9, 4) = (/ & & 0.55108e+03_rb,0.52559e+03_rb,0.50010e+03_rb,0.48011e+03_rb,0.55416e+03_rb, & & 0.48367e+03_rb,0.41520e+03_rb,0.39978e+03_rb,0.38437e+03_rb /) kao(:, 5, 9, 4) = (/ & & 0.54564e+03_rb,0.52083e+03_rb,0.49601e+03_rb,0.47737e+03_rb,0.55194e+03_rb, & & 0.47938e+03_rb,0.41394e+03_rb,0.39916e+03_rb,0.38437e+03_rb /) kao(:, 1,10, 4) = (/ & & 0.55559e+03_rb,0.52954e+03_rb,0.50348e+03_rb,0.48256e+03_rb,0.55544e+03_rb, & & 0.48725e+03_rb,0.41624e+03_rb,0.40030e+03_rb,0.38437e+03_rb /) kao(:, 2,10, 4) = (/ & & 0.54839e+03_rb,0.52324e+03_rb,0.49808e+03_rb,0.47910e+03_rb,0.55295e+03_rb, & & 0.48155e+03_rb,0.41458e+03_rb,0.39948e+03_rb,0.38437e+03_rb /) kao(:, 3,10, 4) = (/ & & 0.54220e+03_rb,0.51781e+03_rb,0.49343e+03_rb,0.47621e+03_rb,0.55067e+03_rb, & & 0.47667e+03_rb,0.41315e+03_rb,0.39876e+03_rb,0.38437e+03_rb /) kao(:, 4,10, 4) = (/ & & 0.53680e+03_rb,0.51310e+03_rb,0.48939e+03_rb,0.47371e+03_rb,0.54855e+03_rb, & & 0.47238e+03_rb,0.41191e+03_rb,0.39814e+03_rb,0.38437e+03_rb /) kao(:, 5,10, 4) = (/ & & 0.53207e+03_rb,0.50895e+03_rb,0.48584e+03_rb,0.47148e+03_rb,0.54655e+03_rb, & & 0.46857e+03_rb,0.41082e+03_rb,0.39760e+03_rb,0.38437e+03_rb /) kao(:, 1,11, 4) = (/ & & 0.53816e+03_rb,0.51428e+03_rb,0.49041e+03_rb,0.47455e+03_rb,0.54857e+03_rb, & & 0.47346e+03_rb,0.41222e+03_rb,0.39830e+03_rb,0.38437e+03_rb /) kao(:, 2,11, 4) = (/ & & 0.53226e+03_rb,0.50912e+03_rb,0.48598e+03_rb,0.47200e+03_rb,0.54640e+03_rb, & & 0.46874e+03_rb,0.41086e+03_rb,0.39762e+03_rb,0.38437e+03_rb /) kao(:, 3,11, 4) = (/ & & 0.52718e+03_rb,0.50468e+03_rb,0.48217e+03_rb,0.46982e+03_rb,0.54436e+03_rb, & & 0.46486e+03_rb,0.40969e+03_rb,0.39703e+03_rb,0.38437e+03_rb /) kao(:, 4,11, 4) = (/ & & 0.52277e+03_rb,0.50081e+03_rb,0.47886e+03_rb,0.46790e+03_rb,0.54248e+03_rb, & & 0.46109e+03_rb,0.40868e+03_rb,0.39652e+03_rb,0.38437e+03_rb /) kao(:, 5,11, 4) = (/ & & 0.51889e+03_rb,0.49742e+03_rb,0.47595e+03_rb,0.46618e+03_rb,0.54076e+03_rb, & & 0.45793e+03_rb,0.40778e+03_rb,0.39608e+03_rb,0.38437e+03_rb /) kao(:, 1,12, 4) = (/ & & 0.52385e+03_rb,0.50177e+03_rb,0.47968e+03_rb,0.46863e+03_rb,0.54244e+03_rb, & & 0.46202e+03_rb,0.40893e+03_rb,0.39665e+03_rb,0.38437e+03_rb /) kao(:, 2,12, 4) = (/ & & 0.51902e+03_rb,0.49754e+03_rb,0.47606e+03_rb,0.46673e+03_rb,0.54050e+03_rb, & & 0.45805e+03_rb,0.40782e+03_rb,0.39609e+03_rb,0.38437e+03_rb /) kao(:, 3,12, 4) = (/ & & 0.51487e+03_rb,0.49390e+03_rb,0.47294e+03_rb,0.46509e+03_rb,0.53868e+03_rb, & & 0.45465e+03_rb,0.40686e+03_rb,0.39561e+03_rb,0.38437e+03_rb /) kao(:, 4,12, 4) = (/ & & 0.51125e+03_rb,0.49074e+03_rb,0.47022e+03_rb,0.46362e+03_rb,0.53703e+03_rb, & & 0.45171e+03_rb,0.40602e+03_rb,0.39520e+03_rb,0.38437e+03_rb /) kao(:, 5,12, 4) = (/ & & 0.50807e+03_rb,0.48796e+03_rb,0.46784e+03_rb,0.46227e+03_rb,0.53558e+03_rb, & & 0.44916e+03_rb,0.40529e+03_rb,0.39483e+03_rb,0.38437e+03_rb /) kao(:, 1,13, 4) = (/ & & 0.51214e+03_rb,0.49152e+03_rb,0.47089e+03_rb,0.46425e+03_rb,0.53698e+03_rb, & & 0.45243e+03_rb,0.40623e+03_rb,0.39530e+03_rb,0.38437e+03_rb /) kao(:, 2,13, 4) = (/ & & 0.50819e+03_rb,0.48806e+03_rb,0.46793e+03_rb,0.46281e+03_rb,0.53522e+03_rb, & & 0.44925e+03_rb,0.40532e+03_rb,0.39485e+03_rb,0.38437e+03_rb /) kao(:, 3,13, 4) = (/ & & 0.50478e+03_rb,0.48508e+03_rb,0.46537e+03_rb,0.46157e+03_rb,0.53378e+03_rb, & & 0.44654e+03_rb,0.40453e+03_rb,0.39445e+03_rb,0.38437e+03_rb /) kao(:, 4,13, 4) = (/ & & 0.50182e+03_rb,0.48249e+03_rb,0.46315e+03_rb,0.46044e+03_rb,0.53251e+03_rb, & & 0.44422e+03_rb,0.40385e+03_rb,0.39411e+03_rb,0.38437e+03_rb /) kao(:, 5,13, 4) = (/ & & 0.49922e+03_rb,0.48021e+03_rb,0.46120e+03_rb,0.45936e+03_rb,0.53137e+03_rb, & & 0.44221e+03_rb,0.40325e+03_rb,0.39381e+03_rb,0.38437e+03_rb /) kao(:, 1, 1, 5) = (/ & & 0.13243e+04_rb,0.11799e+04_rb,0.10354e+04_rb,0.89093e+03_rb,0.74647e+03_rb, & & 0.71044e+03_rb,0.61021e+03_rb,0.64069e+03_rb,0.67118e+03_rb /) kao(:, 2, 1, 5) = (/ & & 0.12908e+04_rb,0.11505e+04_rb,0.10102e+04_rb,0.86996e+03_rb,0.72969e+03_rb, & & 0.70292e+03_rb,0.60750e+03_rb,0.63934e+03_rb,0.67118e+03_rb /) kao(:, 3, 1, 5) = (/ & & 0.12606e+04_rb,0.11241e+04_rb,0.98763e+03_rb,0.85113e+03_rb,0.71463e+03_rb, & & 0.69451e+03_rb,0.60507e+03_rb,0.63812e+03_rb,0.67118e+03_rb /) kao(:, 4, 1, 5) = (/ & & 0.12334e+04_rb,0.11003e+04_rb,0.96722e+03_rb,0.83412e+03_rb,0.70102e+03_rb, & & 0.68564e+03_rb,0.60287e+03_rb,0.63703e+03_rb,0.67118e+03_rb /) kao(:, 5, 1, 5) = (/ & & 0.12087e+04_rb,0.10787e+04_rb,0.94870e+03_rb,0.81869e+03_rb,0.68867e+03_rb, & & 0.67724e+03_rb,0.60088e+03_rb,0.63603e+03_rb,0.67118e+03_rb /) kao(:, 1, 2, 5) = (/ & & 0.12234e+04_rb,0.10916e+04_rb,0.95972e+03_rb,0.82787e+03_rb,0.69602e+03_rb, & & 0.68345e+03_rb,0.60207e+03_rb,0.63662e+03_rb,0.67118e+03_rb /) kao(:, 2, 2, 5) = (/ & & 0.11946e+04_rb,0.10664e+04_rb,0.93814e+03_rb,0.80988e+03_rb,0.68163e+03_rb, & & 0.67225e+03_rb,0.59975e+03_rb,0.63546e+03_rb,0.67118e+03_rb /) kao(:, 3, 2, 5) = (/ & & 0.11689e+04_rb,0.10438e+04_rb,0.91881e+03_rb,0.79377e+03_rb,0.66882e+03_rb, & & 0.66165e+03_rb,0.59767e+03_rb,0.63442e+03_rb,0.67118e+03_rb /) kao(:, 4, 2, 5) = (/ & & 0.11456e+04_rb,0.10235e+04_rb,0.90139e+03_rb,0.77926e+03_rb,0.65759e+03_rb, & & 0.65058e+03_rb,0.59579e+03_rb,0.63348e+03_rb,0.67118e+03_rb /) kao(:, 5, 2, 5) = (/ & & 0.11246e+04_rb,0.10051e+04_rb,0.88561e+03_rb,0.76611e+03_rb,0.64778e+03_rb, & & 0.64016e+03_rb,0.59410e+03_rb,0.63264e+03_rb,0.67118e+03_rb /) kao(:, 1, 3, 5) = (/ & & 0.11441e+04_rb,0.10221e+04_rb,0.90021e+03_rb,0.77828e+03_rb,0.65728e+03_rb, & & 0.64981e+03_rb,0.59567e+03_rb,0.63342e+03_rb,0.67118e+03_rb /) kao(:, 2, 3, 5) = (/ & & 0.11188e+04_rb,0.10001e+04_rb,0.88128e+03_rb,0.76250e+03_rb,0.64582e+03_rb, & & 0.63739e+03_rb,0.59363e+03_rb,0.63240e+03_rb,0.67118e+03_rb /) kao(:, 3, 3, 5) = (/ & & 0.10963e+04_rb,0.98033e+03_rb,0.86437e+03_rb,0.74841e+03_rb,0.63611e+03_rb, & & 0.62581e+03_rb,0.59181e+03_rb,0.63149e+03_rb,0.67118e+03_rb /) kao(:, 4, 3, 5) = (/ & & 0.10761e+04_rb,0.96263e+03_rb,0.84920e+03_rb,0.73577e+03_rb,0.62780e+03_rb, & & 0.61513e+03_rb,0.59018e+03_rb,0.63068e+03_rb,0.67118e+03_rb /) kao(:, 5, 3, 5) = (/ & & 0.10578e+04_rb,0.94664e+03_rb,0.83549e+03_rb,0.72435e+03_rb,0.62066e+03_rb, & & 0.60588e+03_rb,0.58871e+03_rb,0.62994e+03_rb,0.67118e+03_rb /) kao(:, 1, 4, 5) = (/ & & 0.10783e+04_rb,0.96456e+03_rb,0.85086e+03_rb,0.73715e+03_rb,0.62971e+03_rb, & & 0.61628e+03_rb,0.59036e+03_rb,0.63077e+03_rb,0.67118e+03_rb /) kao(:, 2, 4, 5) = (/ & & 0.10559e+04_rb,0.94502e+03_rb,0.83411e+03_rb,0.72319e+03_rb,0.62145e+03_rb, & & 0.60490e+03_rb,0.58856e+03_rb,0.62987e+03_rb,0.67118e+03_rb /) kao(:, 3, 4, 5) = (/ & & 0.10361e+04_rb,0.92766e+03_rb,0.81923e+03_rb,0.71079e+03_rb,0.61457e+03_rb, & & 0.59452e+03_rb,0.58696e+03_rb,0.62907e+03_rb,0.67118e+03_rb /) kao(:, 4, 4, 5) = (/ & & 0.10183e+04_rb,0.91213e+03_rb,0.80591e+03_rb,0.69970e+03_rb,0.60876e+03_rb, & & 0.58559e+03_rb,0.58552e+03_rb,0.62835e+03_rb,0.67118e+03_rb /) kao(:, 5, 4, 5) = (/ & & 0.10024e+04_rb,0.89816e+03_rb,0.79394e+03_rb,0.68972e+03_rb,0.60374e+03_rb, & & 0.57800e+03_rb,0.58424e+03_rb,0.62771e+03_rb,0.67118e+03_rb /) kao(:, 1, 5, 5) = (/ & & 0.10224e+04_rb,0.91564e+03_rb,0.80892e+03_rb,0.70221e+03_rb,0.61144e+03_rb, & & 0.58757e+03_rb,0.58585e+03_rb,0.62851e+03_rb,0.67118e+03_rb /) kao(:, 2, 5, 5) = (/ & & 0.10026e+04_rb,0.89835e+03_rb,0.79410e+03_rb,0.68985e+03_rb,0.60588e+03_rb, & & 0.57810e+03_rb,0.58425e+03_rb,0.62772e+03_rb,0.67118e+03_rb /) kao(:, 3, 5, 5) = (/ & & 0.98511e+03_rb,0.88305e+03_rb,0.78099e+03_rb,0.67893e+03_rb,0.60138e+03_rb, & & 0.57034e+03_rb,0.58284e+03_rb,0.62701e+03_rb,0.67118e+03_rb /) kao(:, 4, 5, 5) = (/ & & 0.96954e+03_rb,0.86942e+03_rb,0.76931e+03_rb,0.66919e+03_rb,0.59759e+03_rb, & & 0.56378e+03_rb,0.58159e+03_rb,0.62638e+03_rb,0.67118e+03_rb /) kao(:, 5, 5, 5) = (/ & & 0.95557e+03_rb,0.85720e+03_rb,0.75883e+03_rb,0.66046e+03_rb,0.59436e+03_rb, & & 0.55823e+03_rb,0.58046e+03_rb,0.62582e+03_rb,0.67118e+03_rb /) kao(:, 1, 6, 5) = (/ & & 0.97547e+03_rb,0.87461e+03_rb,0.77376e+03_rb,0.67290e+03_rb,0.60045e+03_rb, & & 0.56624e+03_rb,0.58207e+03_rb,0.62662e+03_rb,0.67118e+03_rb /) kao(:, 2, 6, 5) = (/ & & 0.95788e+03_rb,0.85922e+03_rb,0.76057e+03_rb,0.66191e+03_rb,0.59710e+03_rb, & & 0.55912e+03_rb,0.58065e+03_rb,0.62591e+03_rb,0.67118e+03_rb /) kao(:, 3, 6, 5) = (/ & & 0.94241e+03_rb,0.84568e+03_rb,0.74896e+03_rb,0.65223e+03_rb,0.59434e+03_rb, & & 0.55328e+03_rb,0.57940e+03_rb,0.62529e+03_rb,0.67118e+03_rb /) kao(:, 4, 6, 5) = (/ & & 0.92868e+03_rb,0.83367e+03_rb,0.73866e+03_rb,0.64365e+03_rb,0.59182e+03_rb, & & 0.54839e+03_rb,0.57829e+03_rb,0.62473e+03_rb,0.67118e+03_rb /) kao(:, 5, 6, 5) = (/ & & 0.91642e+03_rb,0.82295e+03_rb,0.72947e+03_rb,0.63599e+03_rb,0.58948e+03_rb, & & 0.54428e+03_rb,0.57730e+03_rb,0.62424e+03_rb,0.67118e+03_rb /) kao(:, 1, 7, 5) = (/ & & 0.93556e+03_rb,0.83969e+03_rb,0.74382e+03_rb,0.64795e+03_rb,0.59420e+03_rb, & & 0.55081e+03_rb,0.57885e+03_rb,0.62501e+03_rb,0.67118e+03_rb /) kao(:, 2, 7, 5) = (/ & & 0.91989e+03_rb,0.82598e+03_rb,0.73207e+03_rb,0.63816e+03_rb,0.59179e+03_rb, & & 0.54542e+03_rb,0.57758e+03_rb,0.62438e+03_rb,0.67118e+03_rb /) kao(:, 3, 7, 5) = (/ & & 0.90618e+03_rb,0.81398e+03_rb,0.72179e+03_rb,0.62959e+03_rb,0.58955e+03_rb, & & 0.54102e+03_rb,0.57648e+03_rb,0.62383e+03_rb,0.67118e+03_rb /) kao(:, 4, 7, 5) = (/ & & 0.89407e+03_rb,0.80339e+03_rb,0.71271e+03_rb,0.62202e+03_rb,0.58737e+03_rb, & & 0.53729e+03_rb,0.57550e+03_rb,0.62334e+03_rb,0.67118e+03_rb /) kao(:, 5, 7, 5) = (/ & & 0.88331e+03_rb,0.79397e+03_rb,0.70463e+03_rb,0.61530e+03_rb,0.58524e+03_rb, & & 0.53413e+03_rb,0.57463e+03_rb,0.62290e+03_rb,0.67118e+03_rb /) kao(:, 1, 8, 5) = (/ & & 0.90140e+03_rb,0.80981e+03_rb,0.71821e+03_rb,0.62661e+03_rb,0.58941e+03_rb, & & 0.53953e+03_rb,0.57609e+03_rb,0.62363e+03_rb,0.67118e+03_rb /) kao(:, 2, 8, 5) = (/ & & 0.88745e+03_rb,0.79760e+03_rb,0.70774e+03_rb,0.61789e+03_rb,0.58727e+03_rb, & & 0.53533e+03_rb,0.57497e+03_rb,0.62307e+03_rb,0.67118e+03_rb /) kao(:, 3, 8, 5) = (/ & & 0.87531e+03_rb,0.78697e+03_rb,0.69863e+03_rb,0.61030e+03_rb,0.58522e+03_rb, & & 0.53203e+03_rb,0.57399e+03_rb,0.62258e+03_rb,0.67118e+03_rb /) kao(:, 4, 8, 5) = (/ & & 0.86464e+03_rb,0.77763e+03_rb,0.69063e+03_rb,0.60363e+03_rb,0.58317e+03_rb, & & 0.52938e+03_rb,0.57313e+03_rb,0.62215e+03_rb,0.67118e+03_rb /) kao(:, 5, 8, 5) = (/ & & 0.85519e+03_rb,0.76937e+03_rb,0.68354e+03_rb,0.59772e+03_rb,0.58120e+03_rb, & & 0.52712e+03_rb,0.57236e+03_rb,0.62177e+03_rb,0.67118e+03_rb /) kao(:, 1, 9, 5) = (/ & & 0.87232e+03_rb,0.78435e+03_rb,0.69639e+03_rb,0.60843e+03_rb,0.58508e+03_rb, & & 0.53128e+03_rb,0.57375e+03_rb,0.62246e+03_rb,0.67118e+03_rb /) kao(:, 2, 9, 5) = (/ & & 0.85988e+03_rb,0.77347e+03_rb,0.68706e+03_rb,0.60065e+03_rb,0.58302e+03_rb, & & 0.52823e+03_rb,0.57274e+03_rb,0.62196e+03_rb,0.67118e+03_rb /) kao(:, 3, 9, 5) = (/ & & 0.84911e+03_rb,0.76405e+03_rb,0.67898e+03_rb,0.59392e+03_rb,0.58102e+03_rb, & & 0.52572e+03_rb,0.57187e+03_rb,0.62153e+03_rb,0.67118e+03_rb /) kao(:, 4, 9, 5) = (/ & & 0.83970e+03_rb,0.75581e+03_rb,0.67193e+03_rb,0.58804e+03_rb,0.57906e+03_rb, & & 0.52364e+03_rb,0.57111e+03_rb,0.62115e+03_rb,0.67118e+03_rb /) kao(:, 5, 9, 5) = (/ & & 0.83140e+03_rb,0.74855e+03_rb,0.66571e+03_rb,0.58286e+03_rb,0.57713e+03_rb, & & 0.52190e+03_rb,0.57045e+03_rb,0.62081e+03_rb,0.67118e+03_rb /) kao(:, 1,10, 5) = (/ & & 0.84657e+03_rb,0.76183e+03_rb,0.67708e+03_rb,0.59234e+03_rb,0.58061e+03_rb, & & 0.52515e+03_rb,0.57167e+03_rb,0.62142e+03_rb,0.67118e+03_rb /) kao(:, 2,10, 5) = (/ & & 0.83560e+03_rb,0.75223e+03_rb,0.66886e+03_rb,0.58548e+03_rb,0.57865e+03_rb, & & 0.52276e+03_rb,0.57078e+03_rb,0.62098e+03_rb,0.67118e+03_rb /) kao(:, 3,10, 5) = (/ & & 0.82616e+03_rb,0.74397e+03_rb,0.66177e+03_rb,0.57958e+03_rb,0.57663e+03_rb, & & 0.52085e+03_rb,0.57002e+03_rb,0.62060e+03_rb,0.67118e+03_rb /) kao(:, 4,10, 5) = (/ & & 0.81794e+03_rb,0.73678e+03_rb,0.65561e+03_rb,0.57444e+03_rb,0.57466e+03_rb, & & 0.51933e+03_rb,0.56936e+03_rb,0.62027e+03_rb,0.67118e+03_rb /) kao(:, 5,10, 5) = (/ & & 0.81073e+03_rb,0.73047e+03_rb,0.65020e+03_rb,0.56994e+03_rb,0.57276e+03_rb, & & 0.51811e+03_rb,0.56878e+03_rb,0.61998e+03_rb,0.67118e+03_rb /) kao(:, 1,11, 5) = (/ & & 0.82001e+03_rb,0.73859e+03_rb,0.65716e+03_rb,0.57574e+03_rb,0.57531e+03_rb, & & 0.51970e+03_rb,0.56953e+03_rb,0.62035e+03_rb,0.67118e+03_rb /) kao(:, 2,11, 5) = (/ & & 0.81102e+03_rb,0.73072e+03_rb,0.65042e+03_rb,0.57012e+03_rb,0.57326e+03_rb, & & 0.51814e+03_rb,0.56880e+03_rb,0.61999e+03_rb,0.67118e+03_rb /) kao(:, 3,11, 5) = (/ & & 0.80328e+03_rb,0.72395e+03_rb,0.64462e+03_rb,0.56528e+03_rb,0.57135e+03_rb, & & 0.51670e+03_rb,0.56818e+03_rb,0.61968e+03_rb,0.67118e+03_rb /) kao(:, 4,11, 5) = (/ & & 0.79655e+03_rb,0.71806e+03_rb,0.63957e+03_rb,0.56108e+03_rb,0.56956e+03_rb, & & 0.51595e+03_rb,0.56763e+03_rb,0.61941e+03_rb,0.67118e+03_rb /) kao(:, 5,11, 5) = (/ & & 0.79064e+03_rb,0.71289e+03_rb,0.63514e+03_rb,0.55738e+03_rb,0.56781e+03_rb, & & 0.51517e+03_rb,0.56716e+03_rb,0.61917e+03_rb,0.67118e+03_rb /) kao(:, 1,12, 5) = (/ & & 0.79821e+03_rb,0.71951e+03_rb,0.64081e+03_rb,0.56211e+03_rb,0.57002e+03_rb, & & 0.51613e+03_rb,0.56777e+03_rb,0.61947e+03_rb,0.67118e+03_rb /) kao(:, 2,12, 5) = (/ & & 0.79085e+03_rb,0.71307e+03_rb,0.63529e+03_rb,0.55751e+03_rb,0.56813e+03_rb, & & 0.51519e+03_rb,0.56717e+03_rb,0.61918e+03_rb,0.67118e+03_rb /) kao(:, 3,12, 5) = (/ & & 0.78452e+03_rb,0.70753e+03_rb,0.63054e+03_rb,0.55355e+03_rb,0.56648e+03_rb, & & 0.51441e+03_rb,0.56666e+03_rb,0.61892e+03_rb,0.67118e+03_rb /) kao(:, 4,12, 5) = (/ & & 0.77901e+03_rb,0.70271e+03_rb,0.62641e+03_rb,0.55011e+03_rb,0.56489e+03_rb, & & 0.51374e+03_rb,0.56622e+03_rb,0.61870e+03_rb,0.67118e+03_rb /) kao(:, 5,12, 5) = (/ & & 0.77417e+03_rb,0.69847e+03_rb,0.62278e+03_rb,0.54708e+03_rb,0.56325e+03_rb, & & 0.51315e+03_rb,0.56583e+03_rb,0.61850e+03_rb,0.67118e+03_rb /) kao(:, 1,13, 5) = (/ & & 0.78036e+03_rb,0.70389e+03_rb,0.62743e+03_rb,0.55096e+03_rb,0.56495e+03_rb, & & 0.51390e+03_rb,0.56633e+03_rb,0.61875e+03_rb,0.67118e+03_rb /) kao(:, 2,13, 5) = (/ & & 0.77434e+03_rb,0.69862e+03_rb,0.62291e+03_rb,0.54719e+03_rb,0.56343e+03_rb, & & 0.51318e+03_rb,0.56584e+03_rb,0.61851e+03_rb,0.67118e+03_rb /) kao(:, 3,13, 5) = (/ & & 0.76915e+03_rb,0.69408e+03_rb,0.61902e+03_rb,0.54395e+03_rb,0.56189e+03_rb, & & 0.51255e+03_rb,0.56542e+03_rb,0.61830e+03_rb,0.67118e+03_rb /) kao(:, 4,13, 5) = (/ & & 0.76464e+03_rb,0.69014e+03_rb,0.61563e+03_rb,0.54113e+03_rb,0.56027e+03_rb, & & 0.51200e+03_rb,0.56506e+03_rb,0.61812e+03_rb,0.67118e+03_rb /) kao(:, 5,13, 5) = (/ & & 0.76068e+03_rb,0.68667e+03_rb,0.61266e+03_rb,0.53865e+03_rb,0.55865e+03_rb, & & 0.51152e+03_rb,0.56474e+03_rb,0.61796e+03_rb,0.67118e+03_rb /) kao(:, 1, 1, 6) = (/ & & 0.16832e+04_rb,0.14832e+04_rb,0.12833e+04_rb,0.10834e+04_rb,0.88343e+03_rb, & & 0.73047e+03_rb,0.75923e+03_rb,0.85568e+03_rb,0.94989e+03_rb /) kao(:, 2, 1, 6) = (/ & & 0.16405e+04_rb,0.14459e+04_rb,0.12513e+04_rb,0.10567e+04_rb,0.86211e+03_rb, & & 0.72257e+03_rb,0.75791e+03_rb,0.85457e+03_rb,0.94915e+03_rb /) kao(:, 3, 1, 6) = (/ & & 0.16022e+04_rb,0.14124e+04_rb,0.12226e+04_rb,0.10328e+04_rb,0.84296e+03_rb, & & 0.71182e+03_rb,0.75643e+03_rb,0.85315e+03_rb,0.94805e+03_rb /) kao(:, 4, 1, 6) = (/ & & 0.15677e+04_rb,0.13822e+04_rb,0.11967e+04_rb,0.10112e+04_rb,0.82566e+03_rb, & & 0.70003e+03_rb,0.75475e+03_rb,0.85145e+03_rb,0.94659e+03_rb /) kao(:, 5, 1, 6) = (/ & & 0.15363e+04_rb,0.13547e+04_rb,0.11731e+04_rb,0.99155e+03_rb,0.80997e+03_rb, & & 0.68802e+03_rb,0.75277e+03_rb,0.84941e+03_rb,0.94478e+03_rb /) kao(:, 1, 2, 6) = (/ & & 0.15549e+04_rb,0.13710e+04_rb,0.11871e+04_rb,0.10032e+04_rb,0.81930e+03_rb, & & 0.69644e+03_rb,0.75599e+03_rb,0.85402e+03_rb,0.95009e+03_rb /) kao(:, 2, 2, 6) = (/ & & 0.15184e+04_rb,0.13390e+04_rb,0.11597e+04_rb,0.98036e+03_rb,0.80102e+03_rb, & & 0.68214e+03_rb,0.75486e+03_rb,0.85308e+03_rb,0.94950e+03_rb /) kao(:, 3, 2, 6) = (/ & & 0.14856e+04_rb,0.13104e+04_rb,0.11351e+04_rb,0.95988e+03_rb,0.78464e+03_rb, & & 0.67032e+03_rb,0.75359e+03_rb,0.85186e+03_rb,0.94855e+03_rb /) kao(:, 4, 2, 6) = (/ & & 0.14561e+04_rb,0.12845e+04_rb,0.11130e+04_rb,0.94143e+03_rb,0.76988e+03_rb, & & 0.66240e+03_rb,0.75215e+03_rb,0.85037e+03_rb,0.94724e+03_rb /) kao(:, 5, 2, 6) = (/ & & 0.14294e+04_rb,0.12611e+04_rb,0.10929e+04_rb,0.92472e+03_rb,0.75651e+03_rb, & & 0.65660e+03_rb,0.75042e+03_rb,0.84857e+03_rb,0.94557e+03_rb /) kao(:, 1, 3, 6) = (/ & & 0.14541e+04_rb,0.12828e+04_rb,0.11115e+04_rb,0.94019e+03_rb,0.76889e+03_rb, & & 0.66226e+03_rb,0.75340e+03_rb,0.85268e+03_rb,0.95029e+03_rb /) kao(:, 2, 3, 6) = (/ & & 0.14220e+04_rb,0.12547e+04_rb,0.10874e+04_rb,0.92013e+03_rb,0.75284e+03_rb, & & 0.65611e+03_rb,0.75249e+03_rb,0.85200e+03_rb,0.94990e+03_rb /) kao(:, 3, 3, 6) = (/ & & 0.13934e+04_rb,0.12297e+04_rb,0.10659e+04_rb,0.90223e+03_rb,0.73852e+03_rb, & & 0.65222e+03_rb,0.75143e+03_rb,0.85101e+03_rb,0.94916e+03_rb /) kao(:, 4, 3, 6) = (/ & & 0.13676e+04_rb,0.12071e+04_rb,0.10467e+04_rb,0.88615e+03_rb,0.72566e+03_rb, & & 0.64945e+03_rb,0.75024e+03_rb,0.84977e+03_rb,0.94807e+03_rb /) kao(:, 5, 3, 6) = (/ & & 0.13444e+04_rb,0.11868e+04_rb,0.10292e+04_rb,0.87164e+03_rb,0.71405e+03_rb, & & 0.64733e+03_rb,0.74880e+03_rb,0.84822e+03_rb,0.94662e+03_rb /) kao(:, 1, 4, 6) = (/ & & 0.13705e+04_rb,0.12096e+04_rb,0.10488e+04_rb,0.88791e+03_rb,0.72707e+03_rb, & & 0.64976e+03_rb,0.75119e+03_rb,0.85151e+03_rb,0.95037e+03_rb /) kao(:, 2, 4, 6) = (/ & & 0.13421e+04_rb,0.11848e+04_rb,0.10275e+04_rb,0.87017e+03_rb,0.71287e+03_rb, & & 0.64785e+03_rb,0.75047e+03_rb,0.85104e+03_rb,0.95019e+03_rb /) kao(:, 3, 4, 6) = (/ & & 0.13169e+04_rb,0.11627e+04_rb,0.10086e+04_rb,0.85441e+03_rb,0.70026e+03_rb, & & 0.64696e+03_rb,0.74964e+03_rb,0.85031e+03_rb,0.94968e+03_rb /) kao(:, 4, 4, 6) = (/ & & 0.12943e+04_rb,0.11430e+04_rb,0.99164e+03_rb,0.84031e+03_rb,0.68898e+03_rb, & & 0.64601e+03_rb,0.74865e+03_rb,0.84930e+03_rb,0.94882e+03_rb /) kao(:, 5, 4, 6) = (/ & & 0.12740e+04_rb,0.11252e+04_rb,0.97642e+03_rb,0.82763e+03_rb,0.67884e+03_rb, & & 0.64496e+03_rb,0.74747e+03_rb,0.84802e+03_rb,0.94760e+03_rb /) kao(:, 1, 5, 6) = (/ & & 0.12994e+04_rb,0.11474e+04_rb,0.99546e+03_rb,0.84350e+03_rb,0.69153e+03_rb, & & 0.64599e+03_rb,0.74922e+03_rb,0.85040e+03_rb,0.95032e+03_rb /) kao(:, 2, 5, 6) = (/ & & 0.12743e+04_rb,0.11254e+04_rb,0.97662e+03_rb,0.82780e+03_rb,0.67897e+03_rb, & & 0.64529e+03_rb,0.74869e+03_rb,0.85015e+03_rb,0.95034e+03_rb /) kao(:, 3, 5, 6) = (/ & & 0.12521e+04_rb,0.11060e+04_rb,0.95996e+03_rb,0.81391e+03_rb,0.66786e+03_rb, & & 0.64458e+03_rb,0.74805e+03_rb,0.84965e+03_rb,0.95004e+03_rb /) kao(:, 4, 5, 6) = (/ & & 0.12323e+04_rb,0.10887e+04_rb,0.94511e+03_rb,0.80154e+03_rb,0.65797e+03_rb, & & 0.64380e+03_rb,0.74727e+03_rb,0.84886e+03_rb,0.94940e+03_rb /) kao(:, 5, 5, 6) = (/ & & 0.12145e+04_rb,0.10732e+04_rb,0.93180e+03_rb,0.79045e+03_rb,0.64909e+03_rb, & & 0.64294e+03_rb,0.74629e+03_rb,0.84781e+03_rb,0.94841e+03_rb /) kao(:, 1, 6, 6) = (/ & & 0.12398e+04_rb,0.10953e+04_rb,0.95077e+03_rb,0.80625e+03_rb,0.66174e+03_rb, & & 0.64362e+03_rb,0.74747e+03_rb,0.84935e+03_rb,0.95014e+03_rb /) kao(:, 2, 6, 6) = (/ & & 0.12174e+04_rb,0.10757e+04_rb,0.93400e+03_rb,0.79228e+03_rb,0.65056e+03_rb, & & 0.64308e+03_rb,0.74712e+03_rb,0.84932e+03_rb,0.95036e+03_rb /) kao(:, 3, 6, 6) = (/ & & 0.11978e+04_rb,0.10585e+04_rb,0.91925e+03_rb,0.77999e+03_rb,0.64087e+03_rb, & & 0.64253e+03_rb,0.74666e+03_rb,0.84902e+03_rb,0.95027e+03_rb /) kao(:, 4, 6, 6) = (/ & & 0.11803e+04_rb,0.10432e+04_rb,0.90616e+03_rb,0.76908e+03_rb,0.63262e+03_rb, & & 0.64192e+03_rb,0.74606e+03_rb,0.84847e+03_rb,0.94985e+03_rb /) kao(:, 5, 6, 6) = (/ & & 0.11647e+04_rb,0.10296e+04_rb,0.89448e+03_rb,0.75935e+03_rb,0.62549e+03_rb, & & 0.64122e+03_rb,0.74529e+03_rb,0.84763e+03_rb,0.94909e+03_rb /) kao(:, 1, 7, 6) = (/ & & 0.11891e+04_rb,0.10509e+04_rb,0.91272e+03_rb,0.77455e+03_rb,0.63693e+03_rb, & & 0.64154e+03_rb,0.74584e+03_rb,0.84830e+03_rb,0.94975e+03_rb /) kao(:, 2, 7, 6) = (/ & & 0.11692e+04_rb,0.10335e+04_rb,0.89779e+03_rb,0.76210e+03_rb,0.62795e+03_rb, & & 0.64115e+03_rb,0.74575e+03_rb,0.84848e+03_rb,0.95025e+03_rb /) kao(:, 3, 7, 6) = (/ & & 0.11517e+04_rb,0.10182e+04_rb,0.88471e+03_rb,0.75121e+03_rb,0.62051e+03_rb, & & 0.64074e+03_rb,0.74542e+03_rb,0.84840e+03_rb,0.95037e+03_rb /) kao(:, 4, 7, 6) = (/ & & 0.11363e+04_rb,0.10048e+04_rb,0.87317e+03_rb,0.74159e+03_rb,0.61432e+03_rb, & & 0.64028e+03_rb,0.74499e+03_rb,0.84806e+03_rb,0.95015e+03_rb /) kao(:, 5, 7, 6) = (/ & & 0.11227e+04_rb,0.99279e+03_rb,0.86291e+03_rb,0.73304e+03_rb,0.60908e+03_rb, & & 0.63974e+03_rb,0.74440e+03_rb,0.84744e+03_rb,0.94961e+03_rb /) kao(:, 1, 8, 6) = (/ & & 0.11457e+04_rb,0.10129e+04_rb,0.88017e+03_rb,0.74742e+03_rb,0.61848e+03_rb, & & 0.63968e+03_rb,0.74433e+03_rb,0.84725e+03_rb,0.94927e+03_rb /) kao(:, 2, 8, 6) = (/ & & 0.11279e+04_rb,0.99740e+03_rb,0.86687e+03_rb,0.73633e+03_rb,0.61183e+03_rb, & & 0.63944e+03_rb,0.74439e+03_rb,0.84765e+03_rb,0.94999e+03_rb /) kao(:, 3, 8, 6) = (/ & & 0.11125e+04_rb,0.98389e+03_rb,0.85529e+03_rb,0.72668e+03_rb,0.60652e+03_rb, & & 0.63917e+03_rb,0.74428e+03_rb,0.84777e+03_rb,0.95034e+03_rb /) kao(:, 4, 8, 6) = (/ & & 0.10989e+04_rb,0.97202e+03_rb,0.84512e+03_rb,0.71821e+03_rb,0.60224e+03_rb, & & 0.63885e+03_rb,0.74401e+03_rb,0.84763e+03_rb,0.95032e+03_rb /) kao(:, 5, 8, 6) = (/ & & 0.10869e+04_rb,0.96152e+03_rb,0.83611e+03_rb,0.71070e+03_rb,0.59867e+03_rb, & & 0.63844e+03_rb,0.74359e+03_rb,0.84721e+03_rb,0.94997e+03_rb /) kao(:, 1, 9, 6) = (/ & & 0.11087e+04_rb,0.98057e+03_rb,0.85244e+03_rb,0.72431e+03_rb,0.60583e+03_rb, & & 0.63802e+03_rb,0.74290e+03_rb,0.84619e+03_rb,0.94868e+03_rb /) kao(:, 2, 9, 6) = (/ & & 0.10929e+04_rb,0.96673e+03_rb,0.84058e+03_rb,0.71443e+03_rb,0.60128e+03_rb, & & 0.63792e+03_rb,0.74318e+03_rb,0.84681e+03_rb,0.94962e+03_rb /) kao(:, 3, 9, 6) = (/ & & 0.10792e+04_rb,0.95475e+03_rb,0.83031e+03_rb,0.70587e+03_rb,0.59784e+03_rb, & & 0.63778e+03_rb,0.74323e+03_rb,0.84713e+03_rb,0.95019e+03_rb /) kao(:, 4, 9, 6) = (/ & & 0.10672e+04_rb,0.94429e+03_rb,0.82134e+03_rb,0.69840e+03_rb,0.59517e+03_rb, & & 0.63759e+03_rb,0.74313e+03_rb,0.84718e+03_rb,0.95037e+03_rb /) kao(:, 5, 9, 6) = (/ & & 0.10567e+04_rb,0.93506e+03_rb,0.81344e+03_rb,0.69181e+03_rb,0.59278e+03_rb, & & 0.63730e+03_rb,0.74285e+03_rb,0.84695e+03_rb,0.95021e+03_rb /) kao(:, 1,10, 6) = (/ & & 0.10760e+04_rb,0.95193e+03_rb,0.82790e+03_rb,0.70386e+03_rb,0.59768e+03_rb, & & 0.63651e+03_rb,0.74157e+03_rb,0.84519e+03_rb,0.94809e+03_rb /) kao(:, 2,10, 6) = (/ & & 0.10620e+04_rb,0.93974e+03_rb,0.81744e+03_rb,0.69515e+03_rb,0.59477e+03_rb, & & 0.63656e+03_rb,0.74203e+03_rb,0.84600e+03_rb,0.94921e+03_rb /) kao(:, 3,10, 6) = (/ & & 0.10500e+04_rb,0.92923e+03_rb,0.80844e+03_rb,0.68764e+03_rb,0.59242e+03_rb, & & 0.63654e+03_rb,0.74226e+03_rb,0.84650e+03_rb,0.94996e+03_rb /) kao(:, 4,10, 6) = (/ & & 0.10396e+04_rb,0.92010e+03_rb,0.80061e+03_rb,0.68112e+03_rb,0.59042e+03_rb, & & 0.63645e+03_rb,0.74230e+03_rb,0.84672e+03_rb,0.95033e+03_rb /) kao(:, 5,10, 6) = (/ & & 0.10304e+04_rb,0.91207e+03_rb,0.79373e+03_rb,0.67539e+03_rb,0.58849e+03_rb, & & 0.63628e+03_rb,0.74216e+03_rb,0.84665e+03_rb,0.95033e+03_rb /) kao(:, 1,11, 6) = (/ & & 0.10422e+04_rb,0.92239e+03_rb,0.80258e+03_rb,0.68276e+03_rb,0.59118e+03_rb, & & 0.63525e+03_rb,0.74065e+03_rb,0.84470e+03_rb,0.94808e+03_rb /) kao(:, 2,11, 6) = (/ & & 0.10308e+04_rb,0.91240e+03_rb,0.79401e+03_rb,0.67562e+03_rb,0.58920e+03_rb, & & 0.63540e+03_rb,0.74118e+03_rb,0.84554e+03_rb,0.94920e+03_rb /) kao(:, 3,11, 6) = (/ & & 0.10210e+04_rb,0.90379e+03_rb,0.78663e+03_rb,0.66947e+03_rb,0.58737e+03_rb, & & 0.63545e+03_rb,0.74147e+03_rb,0.84609e+03_rb,0.94995e+03_rb /) kao(:, 4,11, 6) = (/ & & 0.10124e+04_rb,0.89631e+03_rb,0.78022e+03_rb,0.66413e+03_rb,0.58569e+03_rb, & & 0.63543e+03_rb,0.74156e+03_rb,0.84634e+03_rb,0.95033e+03_rb /) kao(:, 5,11, 6) = (/ & & 0.10049e+04_rb,0.88974e+03_rb,0.77458e+03_rb,0.65943e+03_rb,0.58398e+03_rb, & & 0.63532e+03_rb,0.74146e+03_rb,0.84628e+03_rb,0.95033e+03_rb /) kao(:, 1,12, 6) = (/ & & 0.10145e+04_rb,0.89815e+03_rb,0.78180e+03_rb,0.66544e+03_rb,0.58616e+03_rb, & & 0.63421e+03_rb,0.73990e+03_rb,0.84430e+03_rb,0.94808e+03_rb /) kao(:, 2,12, 6) = (/ & & 0.10052e+04_rb,0.88997e+03_rb,0.77478e+03_rb,0.65960e+03_rb,0.58451e+03_rb, & & 0.63444e+03_rb,0.74048e+03_rb,0.84518e+03_rb,0.94921e+03_rb /) kao(:, 3,12, 6) = (/ & & 0.99710e+03_rb,0.88292e+03_rb,0.76874e+03_rb,0.65457e+03_rb,0.58265e+03_rb, & & 0.63457e+03_rb,0.74082e+03_rb,0.84574e+03_rb,0.94995e+03_rb /) kao(:, 4,12, 6) = (/ & & 0.99010e+03_rb,0.87679e+03_rb,0.76349e+03_rb,0.65019e+03_rb,0.58054e+03_rb, & & 0.63460e+03_rb,0.74095e+03_rb,0.84600e+03_rb,0.95033e+03_rb /) kao(:, 5,12, 6) = (/ & & 0.98395e+03_rb,0.87141e+03_rb,0.75888e+03_rb,0.64634e+03_rb,0.57844e+03_rb, & & 0.63453e+03_rb,0.74089e+03_rb,0.84598e+03_rb,0.95033e+03_rb /) kao(:, 1,13, 6) = (/ & & 0.99182e+03_rb,0.87830e+03_rb,0.76478e+03_rb,0.65127e+03_rb,0.58122e+03_rb, & & 0.63336e+03_rb,0.73928e+03_rb,0.84397e+03_rb,0.94808e+03_rb /) kao(:, 2,13, 6) = (/ & & 0.98416e+03_rb,0.87160e+03_rb,0.75904e+03_rb,0.64648e+03_rb,0.57888e+03_rb, & & 0.63366e+03_rb,0.73991e+03_rb,0.84487e+03_rb,0.94921e+03_rb /) kao(:, 3,13, 6) = (/ & & 0.97757e+03_rb,0.86583e+03_rb,0.75410e+03_rb,0.64236e+03_rb,0.57650e+03_rb, & & 0.63384e+03_rb,0.74029e+03_rb,0.84546e+03_rb,0.94996e+03_rb /) kao(:, 4,13, 6) = (/ & & 0.97184e+03_rb,0.86082e+03_rb,0.74980e+03_rb,0.63878e+03_rb,0.57428e+03_rb, & & 0.63391e+03_rb,0.74045e+03_rb,0.84574e+03_rb,0.95033e+03_rb /) kao(:, 5,13, 6) = (/ & & 0.96680e+03_rb,0.85641e+03_rb,0.74602e+03_rb,0.63563e+03_rb,0.57218e+03_rb, & & 0.63388e+03_rb,0.74043e+03_rb,0.84574e+03_rb,0.95033e+03_rb /) kao(:, 1, 1, 7) = (/ & & 0.18845e+04_rb,0.16548e+04_rb,0.14251e+04_rb,0.11953e+04_rb,0.96557e+03_rb, & & 0.74301e+03_rb,0.82697e+03_rb,0.94964e+03_rb,0.10740e+04_rb /) kao(:, 2, 1, 7) = (/ & & 0.18367e+04_rb,0.16130e+04_rb,0.13892e+04_rb,0.11655e+04_rb,0.94169e+03_rb, & & 0.73101e+03_rb,0.82533e+03_rb,0.94833e+03_rb,0.10730e+04_rb /) kao(:, 3, 1, 7) = (/ & & 0.17938e+04_rb,0.15755e+04_rb,0.13571e+04_rb,0.11387e+04_rb,0.92025e+03_rb, & & 0.71894e+03_rb,0.82353e+03_rb,0.94679e+03_rb,0.10715e+04_rb /) kao(:, 4, 1, 7) = (/ & & 0.17551e+04_rb,0.15416e+04_rb,0.13280e+04_rb,0.11145e+04_rb,0.90089e+03_rb, & & 0.70691e+03_rb,0.82149e+03_rb,0.94487e+03_rb,0.10696e+04_rb /) kao(:, 5, 1, 7) = (/ & & 0.17200e+04_rb,0.15108e+04_rb,0.13017e+04_rb,0.10925e+04_rb,0.88332e+03_rb, & & 0.69946e+03_rb,0.81920e+03_rb,0.94260e+03_rb,0.10672e+04_rb /) kao(:, 1, 2, 7) = (/ & & 0.17409e+04_rb,0.15291e+04_rb,0.13174e+04_rb,0.11056e+04_rb,0.89377e+03_rb, & & 0.70556e+03_rb,0.82545e+03_rb,0.94918e+03_rb,0.10743e+04_rb /) kao(:, 2, 2, 7) = (/ & & 0.16999e+04_rb,0.14933e+04_rb,0.12867e+04_rb,0.10800e+04_rb,0.87329e+03_rb, & & 0.70177e+03_rb,0.82404e+03_rb,0.94806e+03_rb,0.10734e+04_rb /) kao(:, 3, 2, 7) = (/ & & 0.16632e+04_rb,0.14612e+04_rb,0.12591e+04_rb,0.10571e+04_rb,0.85495e+03_rb, & & 0.69985e+03_rb,0.82245e+03_rb,0.94668e+03_rb,0.10721e+04_rb /) kao(:, 4, 2, 7) = (/ & & 0.16302e+04_rb,0.14323e+04_rb,0.12344e+04_rb,0.10364e+04_rb,0.83842e+03_rb, & & 0.69778e+03_rb,0.82061e+03_rb,0.94495e+03_rb,0.10705e+04_rb /) kao(:, 5, 2, 7) = (/ & & 0.16003e+04_rb,0.14061e+04_rb,0.12119e+04_rb,0.10177e+04_rb,0.82345e+03_rb, & & 0.69549e+03_rb,0.81853e+03_rb,0.94286e+03_rb,0.10683e+04_rb /) kao(:, 1, 3, 7) = (/ & & 0.16280e+04_rb,0.14303e+04_rb,0.12327e+04_rb,0.10350e+04_rb,0.83731e+03_rb, & & 0.70164e+03_rb,0.82440e+03_rb,0.94900e+03_rb,0.10748e+04_rb /) kao(:, 2, 3, 7) = (/ & & 0.15920e+04_rb,0.13989e+04_rb,0.12057e+04_rb,0.10126e+04_rb,0.81934e+03_rb, & & 0.70016e+03_rb,0.82323e+03_rb,0.94804e+03_rb,0.10740e+04_rb /) kao(:, 3, 3, 7) = (/ & & 0.15600e+04_rb,0.13708e+04_rb,0.11817e+04_rb,0.99252e+03_rb,0.80330e+03_rb, & & 0.69850e+03_rb,0.82187e+03_rb,0.94688e+03_rb,0.10730e+04_rb /) kao(:, 4, 3, 7) = (/ & & 0.15312e+04_rb,0.13457e+04_rb,0.11601e+04_rb,0.97452e+03_rb,0.78890e+03_rb, & & 0.69669e+03_rb,0.82029e+03_rb,0.94542e+03_rb,0.10716e+04_rb /) kao(:, 5, 3, 7) = (/ & & 0.15052e+04_rb,0.13229e+04_rb,0.11406e+04_rb,0.95827e+03_rb,0.77590e+03_rb, & & 0.69468e+03_rb,0.81844e+03_rb,0.94358e+03_rb,0.10697e+04_rb /) kao(:, 1, 4, 7) = (/ & & 0.15343e+04_rb,0.13484e+04_rb,0.11625e+04_rb,0.97650e+03_rb,0.79047e+03_rb, & & 0.70005e+03_rb,0.82352e+03_rb,0.94883e+03_rb,0.10751e+04_rb /) kao(:, 2, 4, 7) = (/ & & 0.15026e+04_rb,0.13206e+04_rb,0.11386e+04_rb,0.95663e+03_rb,0.77458e+03_rb, & & 0.69884e+03_rb,0.82260e+03_rb,0.94808e+03_rb,0.10745e+04_rb /) kao(:, 3, 4, 7) = (/ & & 0.14743e+04_rb,0.12959e+04_rb,0.11175e+04_rb,0.93898e+03_rb,0.76046e+03_rb, & & 0.69743e+03_rb,0.82145e+03_rb,0.94711e+03_rb,0.10737e+04_rb /) kao(:, 4, 4, 7) = (/ & & 0.14491e+04_rb,0.12738e+04_rb,0.10985e+04_rb,0.92319e+03_rb,0.74783e+03_rb, & & 0.69586e+03_rb,0.82010e+03_rb,0.94588e+03_rb,0.10725e+04_rb /) kao(:, 5, 4, 7) = (/ & & 0.14263e+04_rb,0.12539e+04_rb,0.10815e+04_rb,0.90900e+03_rb,0.73646e+03_rb, & & 0.69412e+03_rb,0.81852e+03_rb,0.94430e+03_rb,0.10710e+04_rb /) kao(:, 1, 5, 7) = (/ & & 0.14548e+04_rb,0.12788e+04_rb,0.11028e+04_rb,0.92676e+03_rb,0.75068e+03_rb, & & 0.69862e+03_rb,0.82271e+03_rb,0.94860e+03_rb,0.10753e+04_rb /) kao(:, 2, 5, 7) = (/ & & 0.14266e+04_rb,0.12542e+04_rb,0.10817e+04_rb,0.90918e+03_rb,0.73662e+03_rb, & & 0.69765e+03_rb,0.82202e+03_rb,0.94804e+03_rb,0.10749e+04_rb /) kao(:, 3, 5, 7) = (/ & & 0.14018e+04_rb,0.12324e+04_rb,0.10630e+04_rb,0.89363e+03_rb,0.72418e+03_rb, & & 0.69649e+03_rb,0.82110e+03_rb,0.94729e+03_rb,0.10743e+04_rb /) kao(:, 4, 5, 7) = (/ & & 0.13796e+04_rb,0.12130e+04_rb,0.10464e+04_rb,0.87978e+03_rb,0.71309e+03_rb, & & 0.69515e+03_rb,0.81992e+03_rb,0.94623e+03_rb,0.10733e+04_rb /) kao(:, 5, 5, 7) = (/ & & 0.13597e+04_rb,0.11956e+04_rb,0.10315e+04_rb,0.86737e+03_rb,0.70315e+03_rb, & & 0.69363e+03_rb,0.81858e+03_rb,0.94492e+03_rb,0.10720e+04_rb /) kao(:, 1, 6, 7) = (/ & & 0.13881e+04_rb,0.12204e+04_rb,0.10528e+04_rb,0.88506e+03_rb,0.71732e+03_rb, & & 0.69732e+03_rb,0.82195e+03_rb,0.94833e+03_rb,0.10753e+04_rb /) kao(:, 2, 6, 7) = (/ & & 0.13630e+04_rb,0.11985e+04_rb,0.10340e+04_rb,0.86942e+03_rb,0.70480e+03_rb, & & 0.69661e+03_rb,0.82150e+03_rb,0.94796e+03_rb,0.10752e+04_rb /) kao(:, 3, 6, 7) = (/ & & 0.13410e+04_rb,0.11792e+04_rb,0.10175e+04_rb,0.85565e+03_rb,0.69378e+03_rb, & & 0.69568e+03_rb,0.82079e+03_rb,0.94739e+03_rb,0.10747e+04_rb /) kao(:, 4, 6, 7) = (/ & & 0.13215e+04_rb,0.11622e+04_rb,0.10028e+04_rb,0.84344e+03_rb,0.68401e+03_rb, & & 0.69456e+03_rb,0.81984e+03_rb,0.94655e+03_rb,0.10740e+04_rb /) kao(:, 5, 6, 7) = (/ & & 0.13040e+04_rb,0.11469e+04_rb,0.98973e+03_rb,0.83254e+03_rb,0.67529e+03_rb, & & 0.69326e+03_rb,0.81868e+03_rb,0.94544e+03_rb,0.10729e+04_rb /) kao(:, 1, 7, 7) = (/ & & 0.13313e+04_rb,0.11707e+04_rb,0.10101e+04_rb,0.84956e+03_rb,0.68891e+03_rb, & & 0.69611e+03_rb,0.82122e+03_rb,0.94800e+03_rb,0.10754e+04_rb /) kao(:, 2, 7, 7) = (/ & & 0.13090e+04_rb,0.11512e+04_rb,0.99343e+03_rb,0.83562e+03_rb,0.67776e+03_rb, & & 0.69564e+03_rb,0.82091e+03_rb,0.94785e+03_rb,0.10753e+04_rb /) kao(:, 3, 7, 7) = (/ & & 0.12894e+04_rb,0.11341e+04_rb,0.97879e+03_rb,0.82342e+03_rb,0.66800e+03_rb, & & 0.69494e+03_rb,0.82048e+03_rb,0.94742e+03_rb,0.10750e+04_rb /) kao(:, 4, 7, 7) = (/ & & 0.12722e+04_rb,0.11191e+04_rb,0.96587e+03_rb,0.81266e+03_rb,0.65938e+03_rb, & & 0.69403e+03_rb,0.81973e+03_rb,0.94677e+03_rb,0.10745e+04_rb /) kao(:, 5, 7, 7) = (/ & & 0.12569e+04_rb,0.11057e+04_rb,0.95438e+03_rb,0.80308e+03_rb,0.65172e+03_rb, & & 0.69293e+03_rb,0.81874e+03_rb,0.94587e+03_rb,0.10736e+04_rb /) kao(:, 1, 8, 7) = (/ & & 0.12827e+04_rb,0.11282e+04_rb,0.97371e+03_rb,0.81918e+03_rb,0.66460e+03_rb, & & 0.69497e+03_rb,0.82050e+03_rb,0.94762e+03_rb,0.10753e+04_rb /) kao(:, 2, 8, 7) = (/ & & 0.12628e+04_rb,0.11108e+04_rb,0.95881e+03_rb,0.80678e+03_rb,0.65467e+03_rb, & & 0.69473e+03_rb,0.82044e+03_rb,0.94765e+03_rb,0.10754e+04_rb /) kao(:, 3, 8, 7) = (/ & & 0.12455e+04_rb,0.10957e+04_rb,0.94585e+03_rb,0.79597e+03_rb,0.64602e+03_rb, & & 0.69425e+03_rb,0.82014e+03_rb,0.94746e+03_rb,0.10752e+04_rb /) kao(:, 4, 8, 7) = (/ & & 0.12303e+04_rb,0.10824e+04_rb,0.93446e+03_rb,0.78648e+03_rb,0.63843e+03_rb, & & 0.69354e+03_rb,0.81959e+03_rb,0.94691e+03_rb,0.10748e+04_rb /) kao(:, 5, 8, 7) = (/ & & 0.12169e+04_rb,0.10706e+04_rb,0.92437e+03_rb,0.77807e+03_rb,0.63171e+03_rb, & & 0.69262e+03_rb,0.81878e+03_rb,0.94618e+03_rb,0.10741e+04_rb /) kao(:, 1, 9, 7) = (/ & & 0.12413e+04_rb,0.10920e+04_rb,0.94266e+03_rb,0.79331e+03_rb,0.64390e+03_rb, & & 0.69387e+03_rb,0.81977e+03_rb,0.94713e+03_rb,0.10750e+04_rb /) kao(:, 2, 9, 7) = (/ & & 0.12236e+04_rb,0.10765e+04_rb,0.92938e+03_rb,0.78225e+03_rb,0.63504e+03_rb, & & 0.69385e+03_rb,0.81989e+03_rb,0.94741e+03_rb,0.10753e+04_rb /) kao(:, 3, 9, 7) = (/ & & 0.12082e+04_rb,0.10631e+04_rb,0.91789e+03_rb,0.77267e+03_rb,0.62738e+03_rb, & & 0.69359e+03_rb,0.81979e+03_rb,0.94732e+03_rb,0.10754e+04_rb /) kao(:, 4, 9, 7) = (/ & & 0.11949e+04_rb,0.10514e+04_rb,0.90785e+03_rb,0.76430e+03_rb,0.62068e+03_rb, & & 0.69307e+03_rb,0.81942e+03_rb,0.94698e+03_rb,0.10751e+04_rb /) kao(:, 5, 9, 7) = (/ & & 0.11831e+04_rb,0.10410e+04_rb,0.89899e+03_rb,0.75692e+03_rb,0.61500e+03_rb, & & 0.69235e+03_rb,0.81879e+03_rb,0.94641e+03_rb,0.10746e+04_rb /) kao(:, 1,10, 7) = (/ & & 0.12046e+04_rb,0.10599e+04_rb,0.91518e+03_rb,0.77041e+03_rb,0.62557e+03_rb, & & 0.69285e+03_rb,0.81909e+03_rb,0.94663e+03_rb,0.10746e+04_rb /) kao(:, 2,10, 7) = (/ & & 0.11890e+04_rb,0.10463e+04_rb,0.90347e+03_rb,0.76066e+03_rb,0.61799e+03_rb, & & 0.69301e+03_rb,0.81937e+03_rb,0.94709e+03_rb,0.10752e+04_rb /) kao(:, 3,10, 7) = (/ & & 0.11756e+04_rb,0.10345e+04_rb,0.89339e+03_rb,0.75225e+03_rb,0.61189e+03_rb, & & 0.69293e+03_rb,0.81942e+03_rb,0.94719e+03_rb,0.10754e+04_rb /) kao(:, 4,10, 7) = (/ & & 0.11639e+04_rb,0.10243e+04_rb,0.88463e+03_rb,0.74495e+03_rb,0.60683e+03_rb, & & 0.69260e+03_rb,0.81922e+03_rb,0.94698e+03_rb,0.10753e+04_rb /) kao(:, 5,10, 7) = (/ & & 0.11536e+04_rb,0.10153e+04_rb,0.87693e+03_rb,0.73853e+03_rb,0.60268e+03_rb, & & 0.69203e+03_rb,0.81871e+03_rb,0.94653e+03_rb,0.10749e+04_rb /) kao(:, 1,11, 7) = (/ & & 0.11668e+04_rb,0.10268e+04_rb,0.88684e+03_rb,0.74678e+03_rb,0.60837e+03_rb, & & 0.69208e+03_rb,0.81864e+03_rb,0.94642e+03_rb,0.10746e+04_rb /) kao(:, 2,11, 7) = (/ & & 0.11540e+04_rb,0.10157e+04_rb,0.87724e+03_rb,0.73879e+03_rb,0.60335e+03_rb, & & 0.69229e+03_rb,0.81896e+03_rb,0.94691e+03_rb,0.10752e+04_rb /) kao(:, 3,11, 7) = (/ & & 0.11430e+04_rb,0.10060e+04_rb,0.86898e+03_rb,0.73191e+03_rb,0.59939e+03_rb, & & 0.69226e+03_rb,0.81904e+03_rb,0.94700e+03_rb,0.10754e+04_rb /) kao(:, 4,11, 7) = (/ & & 0.11335e+04_rb,0.99764e+03_rb,0.86180e+03_rb,0.72592e+03_rb,0.59585e+03_rb, & & 0.69198e+03_rb,0.81884e+03_rb,0.94679e+03_rb,0.10753e+04_rb /) kao(:, 5,11, 7) = (/ & & 0.11251e+04_rb,0.99028e+03_rb,0.85549e+03_rb,0.72067e+03_rb,0.59286e+03_rb, & & 0.69146e+03_rb,0.81839e+03_rb,0.94639e+03_rb,0.10749e+04_rb /) kao(:, 1,12, 7) = (/ & & 0.11358e+04_rb,0.99970e+03_rb,0.86357e+03_rb,0.72739e+03_rb,0.59707e+03_rb, & & 0.69145e+03_rb,0.81829e+03_rb,0.94626e+03_rb,0.10746e+04_rb /) kao(:, 2,12, 7) = (/ & & 0.11253e+04_rb,0.99054e+03_rb,0.85571e+03_rb,0.72085e+03_rb,0.59339e+03_rb, & & 0.69172e+03_rb,0.81863e+03_rb,0.94675e+03_rb,0.10752e+04_rb /) kao(:, 3,12, 7) = (/ & & 0.11163e+04_rb,0.98265e+03_rb,0.84895e+03_rb,0.71521e+03_rb,0.59030e+03_rb, & & 0.69172e+03_rb,0.81873e+03_rb,0.94686e+03_rb,0.10754e+04_rb /) kao(:, 4,12, 7) = (/ & & 0.11085e+04_rb,0.97579e+03_rb,0.84307e+03_rb,0.71031e+03_rb,0.58782e+03_rb, & & 0.69148e+03_rb,0.81855e+03_rb,0.94672e+03_rb,0.10753e+04_rb /) kao(:, 5,12, 7) = (/ & & 0.11016e+04_rb,0.96977e+03_rb,0.83790e+03_rb,0.70601e+03_rb,0.58538e+03_rb, & & 0.69099e+03_rb,0.81812e+03_rb,0.94628e+03_rb,0.10749e+04_rb /) kao(:, 1,13, 7) = (/ & & 0.11104e+04_rb,0.97748e+03_rb,0.84452e+03_rb,0.71152e+03_rb,0.58852e+03_rb, & & 0.69093e+03_rb,0.81799e+03_rb,0.94612e+03_rb,0.10746e+04_rb /) kao(:, 2,13, 7) = (/ & & 0.11018e+04_rb,0.96998e+03_rb,0.83809e+03_rb,0.70616e+03_rb,0.58570e+03_rb, & & 0.69123e+03_rb,0.81841e+03_rb,0.94664e+03_rb,0.10752e+04_rb /) kao(:, 3,13, 7) = (/ & & 0.10945e+04_rb,0.96352e+03_rb,0.83255e+03_rb,0.70155e+03_rb,0.58307e+03_rb, & & 0.69128e+03_rb,0.81849e+03_rb,0.94675e+03_rb,0.10754e+04_rb /) kao(:, 4,13, 7) = (/ & & 0.10880e+04_rb,0.95790e+03_rb,0.82774e+03_rb,0.69753e+03_rb,0.58045e+03_rb, & & 0.69107e+03_rb,0.81832e+03_rb,0.94657e+03_rb,0.10753e+04_rb /) kao(:, 5,13, 7) = (/ & & 0.10824e+04_rb,0.95297e+03_rb,0.82351e+03_rb,0.69401e+03_rb,0.57806e+03_rb, & & 0.69061e+03_rb,0.81788e+03_rb,0.94614e+03_rb,0.10749e+04_rb /) kao(:, 1, 1, 8) = (/ & & 0.19433e+04_rb,0.17047e+04_rb,0.14661e+04_rb,0.12275e+04_rb,0.98902e+03_rb, & & 0.75120e+03_rb,0.85754e+03_rb,0.98845e+03_rb,0.11206e+04_rb /) kao(:, 2, 1, 8) = (/ & & 0.18941e+04_rb,0.16616e+04_rb,0.14292e+04_rb,0.11968e+04_rb,0.96439e+03_rb, & & 0.73548e+03_rb,0.85594e+03_rb,0.98707e+03_rb,0.11193e+04_rb /) kao(:, 3, 1, 8) = (/ & & 0.18499e+04_rb,0.16229e+04_rb,0.13960e+04_rb,0.11691e+04_rb,0.94229e+03_rb, & & 0.72448e+03_rb,0.85413e+03_rb,0.98549e+03_rb,0.11177e+04_rb /) kao(:, 4, 1, 8) = (/ & & 0.18099e+04_rb,0.15880e+04_rb,0.13661e+04_rb,0.11442e+04_rb,0.92233e+03_rb, & & 0.72225e+03_rb,0.85214e+03_rb,0.98373e+03_rb,0.11158e+04_rb /) kao(:, 5, 1, 8) = (/ & & 0.17737e+04_rb,0.15563e+04_rb,0.13389e+04_rb,0.11215e+04_rb,0.90421e+03_rb, & & 0.72001e+03_rb,0.85005e+03_rb,0.98175e+03_rb,0.11138e+04_rb /) kao(:, 1, 2, 8) = (/ & & 0.17953e+04_rb,0.15751e+04_rb,0.13551e+04_rb,0.11350e+04_rb,0.91499e+03_rb, & & 0.72569e+03_rb,0.85649e+03_rb,0.98821e+03_rb,0.11210e+04_rb /) kao(:, 2, 2, 8) = (/ & & 0.17530e+04_rb,0.15382e+04_rb,0.13234e+04_rb,0.11086e+04_rb,0.89388e+03_rb, & & 0.72424e+03_rb,0.85509e+03_rb,0.98698e+03_rb,0.11198e+04_rb /) kao(:, 3, 2, 8) = (/ & & 0.17152e+04_rb,0.15051e+04_rb,0.12950e+04_rb,0.10850e+04_rb,0.87497e+03_rb, & & 0.72267e+03_rb,0.85348e+03_rb,0.98553e+03_rb,0.11184e+04_rb /) kao(:, 4, 2, 8) = (/ & & 0.16811e+04_rb,0.14753e+04_rb,0.12695e+04_rb,0.10637e+04_rb,0.85793e+03_rb, & & 0.72084e+03_rb,0.85163e+03_rb,0.98389e+03_rb,0.11166e+04_rb /) kao(:, 5, 2, 8) = (/ & & 0.16502e+04_rb,0.14483e+04_rb,0.12463e+04_rb,0.10444e+04_rb,0.84250e+03_rb, & & 0.71877e+03_rb,0.84969e+03_rb,0.98204e+03_rb,0.11147e+04_rb /) kao(:, 1, 3, 8) = (/ & & 0.16788e+04_rb,0.14733e+04_rb,0.12678e+04_rb,0.10623e+04_rb,0.85679e+03_rb, & & 0.72434e+03_rb,0.85588e+03_rb,0.98822e+03_rb,0.11216e+04_rb /) kao(:, 2, 3, 8) = (/ & & 0.16418e+04_rb,0.14409e+04_rb,0.12400e+04_rb,0.10391e+04_rb,0.83827e+03_rb, & & 0.72306e+03_rb,0.85466e+03_rb,0.98716e+03_rb,0.11206e+04_rb /) kao(:, 3, 3, 8) = (/ & & 0.16087e+04_rb,0.14119e+04_rb,0.12152e+04_rb,0.10184e+04_rb,0.82172e+03_rb, & & 0.72165e+03_rb,0.85327e+03_rb,0.98590e+03_rb,0.11193e+04_rb /) kao(:, 4, 3, 8) = (/ & & 0.15790e+04_rb,0.13859e+04_rb,0.11929e+04_rb,0.99988e+03_rb,0.80688e+03_rb, & & 0.72007e+03_rb,0.85161e+03_rb,0.98438e+03_rb,0.11177e+04_rb /) kao(:, 5, 3, 8) = (/ & & 0.15522e+04_rb,0.13625e+04_rb,0.11728e+04_rb,0.98311e+03_rb,0.79349e+03_rb, & & 0.71824e+03_rb,0.84982e+03_rb,0.98270e+03_rb,0.11159e+04_rb /) kao(:, 1, 4, 8) = (/ & & 0.15823e+04_rb,0.13888e+04_rb,0.11953e+04_rb,0.10019e+04_rb,0.80851e+03_rb, & & 0.72326e+03_rb,0.85540e+03_rb,0.98823e+03_rb,0.11221e+04_rb /) kao(:, 2, 4, 8) = (/ & & 0.15495e+04_rb,0.13601e+04_rb,0.11708e+04_rb,0.98142e+03_rb,0.79213e+03_rb, & & 0.72214e+03_rb,0.85436e+03_rb,0.98737e+03_rb,0.11213e+04_rb /) kao(:, 3, 4, 8) = (/ & & 0.15204e+04_rb,0.13346e+04_rb,0.11489e+04_rb,0.96322e+03_rb,0.77758e+03_rb, & & 0.72091e+03_rb,0.85317e+03_rb,0.98628e+03_rb,0.11202e+04_rb /) kao(:, 4, 4, 8) = (/ & & 0.14943e+04_rb,0.13118e+04_rb,0.11294e+04_rb,0.94694e+03_rb,0.76455e+03_rb, & & 0.71952e+03_rb,0.85175e+03_rb,0.98496e+03_rb,0.11188e+04_rb /) kao(:, 5, 4, 8) = (/ & & 0.14709e+04_rb,0.12913e+04_rb,0.11118e+04_rb,0.93229e+03_rb,0.75284e+03_rb, & & 0.71792e+03_rb,0.85010e+03_rb,0.98342e+03_rb,0.11171e+04_rb /) kao(:, 1, 5, 8) = (/ & & 0.15002e+04_rb,0.13170e+04_rb,0.11338e+04_rb,0.95063e+03_rb,0.76749e+03_rb, & & 0.72234e+03_rb,0.85495e+03_rb,0.98821e+03_rb,0.11224e+04_rb /) kao(:, 2, 5, 8) = (/ & & 0.14712e+04_rb,0.12916e+04_rb,0.11120e+04_rb,0.93250e+03_rb,0.75300e+03_rb, & & 0.72139e+03_rb,0.85409e+03_rb,0.98753e+03_rb,0.11218e+04_rb /) kao(:, 3, 5, 8) = (/ & & 0.14456e+04_rb,0.12692e+04_rb,0.10928e+04_rb,0.91647e+03_rb,0.74017e+03_rb, & & 0.72031e+03_rb,0.85307e+03_rb,0.98657e+03_rb,0.11209e+04_rb /) kao(:, 4, 5, 8) = (/ & & 0.14227e+04_rb,0.12492e+04_rb,0.10757e+04_rb,0.90219e+03_rb,0.72875e+03_rb, & & 0.71909e+03_rb,0.85186e+03_rb,0.98546e+03_rb,0.11197e+04_rb /) kao(:, 5, 5, 8) = (/ & & 0.14022e+04_rb,0.12312e+04_rb,0.10603e+04_rb,0.88937e+03_rb,0.71851e+03_rb, & & 0.71769e+03_rb,0.85037e+03_rb,0.98406e+03_rb,0.11182e+04_rb /) kao(:, 1, 6, 8) = (/ & & 0.14314e+04_rb,0.12568e+04_rb,0.10822e+04_rb,0.90763e+03_rb,0.73310e+03_rb, & & 0.72155e+03_rb,0.85452e+03_rb,0.98813e+03_rb,0.11226e+04_rb /) kao(:, 2, 6, 8) = (/ & & 0.14056e+04_rb,0.12342e+04_rb,0.10628e+04_rb,0.89150e+03_rb,0.72020e+03_rb, & & 0.72077e+03_rb,0.85386e+03_rb,0.98765e+03_rb,0.11222e+04_rb /) kao(:, 3, 6, 8) = (/ & & 0.13829e+04_rb,0.12143e+04_rb,0.10458e+04_rb,0.87730e+03_rb,0.70887e+03_rb, & & 0.71986e+03_rb,0.85300e+03_rb,0.98688e+03_rb,0.11215e+04_rb /) kao(:, 4, 6, 8) = (/ & & 0.13627e+04_rb,0.11967e+04_rb,0.10307e+04_rb,0.86473e+03_rb,0.69880e+03_rb, & & 0.71879e+03_rb,0.85197e+03_rb,0.98590e+03_rb,0.11205e+04_rb /) kao(:, 5, 6, 8) = (/ & & 0.13448e+04_rb,0.11810e+04_rb,0.10172e+04_rb,0.85348e+03_rb,0.68979e+03_rb, & & 0.71757e+03_rb,0.85073e+03_rb,0.98469e+03_rb,0.11192e+04_rb /) kao(:, 1, 7, 8) = (/ & & 0.13728e+04_rb,0.12055e+04_rb,0.10383e+04_rb,0.87102e+03_rb,0.70382e+03_rb, & & 0.72081e+03_rb,0.85410e+03_rb,0.98799e+03_rb,0.11227e+04_rb /) kao(:, 2, 7, 8) = (/ & & 0.13499e+04_rb,0.11854e+04_rb,0.10210e+04_rb,0.85666e+03_rb,0.69233e+03_rb, & & 0.72022e+03_rb,0.85362e+03_rb,0.98768e+03_rb,0.11225e+04_rb /) kao(:, 3, 7, 8) = (/ & & 0.13297e+04_rb,0.11678e+04_rb,0.10059e+04_rb,0.84408e+03_rb,0.68228e+03_rb, & & 0.71945e+03_rb,0.85293e+03_rb,0.98711e+03_rb,0.11220e+04_rb /) kao(:, 4, 7, 8) = (/ & & 0.13120e+04_rb,0.11523e+04_rb,0.99261e+03_rb,0.83298e+03_rb,0.67339e+03_rb, & & 0.71854e+03_rb,0.85205e+03_rb,0.98632e+03_rb,0.11212e+04_rb /) kao(:, 5, 7, 8) = (/ & & 0.12962e+04_rb,0.11384e+04_rb,0.98077e+03_rb,0.82312e+03_rb,0.66550e+03_rb, & & 0.71746e+03_rb,0.85098e+03_rb,0.98523e+03_rb,0.11200e+04_rb /) kao(:, 1, 8, 8) = (/ & & 0.13227e+04_rb,0.11617e+04_rb,0.10007e+04_rb,0.83971e+03_rb,0.67877e+03_rb, & & 0.72007e+03_rb,0.85366e+03_rb,0.98779e+03_rb,0.11227e+04_rb /) kao(:, 2, 8, 8) = (/ & & 0.13022e+04_rb,0.11438e+04_rb,0.98533e+03_rb,0.82690e+03_rb,0.66854e+03_rb, & & 0.71969e+03_rb,0.85334e+03_rb,0.98763e+03_rb,0.11227e+04_rb /) kao(:, 3, 8, 8) = (/ & & 0.12844e+04_rb,0.11282e+04_rb,0.97196e+03_rb,0.81577e+03_rb,0.65963e+03_rb, & & 0.71908e+03_rb,0.85283e+03_rb,0.98717e+03_rb,0.11223e+04_rb /) kao(:, 4, 8, 8) = (/ & & 0.12688e+04_rb,0.11145e+04_rb,0.96023e+03_rb,0.80599e+03_rb,0.65182e+03_rb, & & 0.71830e+03_rb,0.85210e+03_rb,0.98659e+03_rb,0.11217e+04_rb /) kao(:, 5, 8, 8) = (/ & & 0.12549e+04_rb,0.11024e+04_rb,0.94982e+03_rb,0.79733e+03_rb,0.64488e+03_rb, & & 0.71736e+03_rb,0.85118e+03_rb,0.98569e+03_rb,0.11208e+04_rb /) kao(:, 1, 9, 8) = (/ & & 0.12800e+04_rb,0.11244e+04_rb,0.96868e+03_rb,0.81302e+03_rb,0.65744e+03_rb, & & 0.71936e+03_rb,0.85323e+03_rb,0.98761e+03_rb,0.11226e+04_rb /) kao(:, 2, 9, 8) = (/ & & 0.12618e+04_rb,0.11084e+04_rb,0.95498e+03_rb,0.80161e+03_rb,0.64832e+03_rb, & & 0.71916e+03_rb,0.85306e+03_rb,0.98751e+03_rb,0.11227e+04_rb /) kao(:, 3, 9, 8) = (/ & & 0.12460e+04_rb,0.10945e+04_rb,0.94313e+03_rb,0.79175e+03_rb,0.64042e+03_rb, & & 0.71874e+03_rb,0.85269e+03_rb,0.98731e+03_rb,0.11226e+04_rb /) kao(:, 4, 9, 8) = (/ & & 0.12322e+04_rb,0.10825e+04_rb,0.93277e+03_rb,0.78311e+03_rb,0.63351e+03_rb, & & 0.71809e+03_rb,0.85213e+03_rb,0.98681e+03_rb,0.11221e+04_rb /) kao(:, 5, 9, 8) = (/ & & 0.12200e+04_rb,0.10718e+04_rb,0.92365e+03_rb,0.77552e+03_rb,0.62743e+03_rb, & & 0.71728e+03_rb,0.85134e+03_rb,0.98607e+03_rb,0.11214e+04_rb /) kao(:, 1,10, 8) = (/ & & 0.12423e+04_rb,0.10913e+04_rb,0.94034e+03_rb,0.78942e+03_rb,0.63856e+03_rb, & & 0.71867e+03_rb,0.85279e+03_rb,0.98738e+03_rb,0.11225e+04_rb /) kao(:, 2,10, 8) = (/ & & 0.12262e+04_rb,0.10772e+04_rb,0.92827e+03_rb,0.77936e+03_rb,0.63052e+03_rb, & & 0.71863e+03_rb,0.85274e+03_rb,0.98738e+03_rb,0.11227e+04_rb /) kao(:, 3,10, 8) = (/ & & 0.12123e+04_rb,0.10651e+04_rb,0.91788e+03_rb,0.77071e+03_rb,0.62359e+03_rb, & & 0.71835e+03_rb,0.85251e+03_rb,0.98725e+03_rb,0.11227e+04_rb /) kao(:, 4,10, 8) = (/ & & 0.12002e+04_rb,0.10545e+04_rb,0.90884e+03_rb,0.76317e+03_rb,0.61756e+03_rb, & & 0.71785e+03_rb,0.85203e+03_rb,0.98691e+03_rb,0.11224e+04_rb /) kao(:, 5,10, 8) = (/ & & 0.11897e+04_rb,0.10453e+04_rb,0.90090e+03_rb,0.75655e+03_rb,0.61227e+03_rb, & & 0.71716e+03_rb,0.85141e+03_rb,0.98631e+03_rb,0.11218e+04_rb /) kao(:, 1,11, 8) = (/ & & 0.12033e+04_rb,0.10572e+04_rb,0.91110e+03_rb,0.76506e+03_rb,0.61908e+03_rb, & & 0.71809e+03_rb,0.85242e+03_rb,0.98721e+03_rb,0.11225e+04_rb /) kao(:, 2,11, 8) = (/ & & 0.11901e+04_rb,0.10456e+04_rb,0.90123e+03_rb,0.75682e+03_rb,0.61248e+03_rb, & & 0.71809e+03_rb,0.85240e+03_rb,0.98723e+03_rb,0.11226e+04_rb /) kao(:, 3,11, 8) = (/ & & 0.11788e+04_rb,0.10357e+04_rb,0.89271e+03_rb,0.74972e+03_rb,0.60692e+03_rb, & & 0.71785e+03_rb,0.85217e+03_rb,0.98712e+03_rb,0.11227e+04_rb /) kao(:, 4,11, 8) = (/ & & 0.11689e+04_rb,0.10271e+04_rb,0.88529e+03_rb,0.74355e+03_rb,0.60253e+03_rb, & & 0.71738e+03_rb,0.85177e+03_rb,0.98681e+03_rb,0.11224e+04_rb /) kao(:, 5,11, 8) = (/ & & 0.11602e+04_rb,0.10195e+04_rb,0.87880e+03_rb,0.73813e+03_rb,0.59855e+03_rb, & & 0.71672e+03_rb,0.85114e+03_rb,0.98618e+03_rb,0.11218e+04_rb /) kao(:, 1,12, 8) = (/ & & 0.11713e+04_rb,0.10292e+04_rb,0.88712e+03_rb,0.74507e+03_rb,0.60379e+03_rb, & & 0.71766e+03_rb,0.85212e+03_rb,0.98706e+03_rb,0.11225e+04_rb /) kao(:, 2,12, 8) = (/ & & 0.11605e+04_rb,0.10197e+04_rb,0.87902e+03_rb,0.73833e+03_rb,0.59891e+03_rb, & & 0.71764e+03_rb,0.85212e+03_rb,0.98710e+03_rb,0.11227e+04_rb /) kao(:, 3,12, 8) = (/ & & 0.11512e+04_rb,0.10116e+04_rb,0.87205e+03_rb,0.73251e+03_rb,0.59502e+03_rb, & & 0.71744e+03_rb,0.85192e+03_rb,0.98700e+03_rb,0.11227e+04_rb /) kao(:, 4,12, 8) = (/ & & 0.11431e+04_rb,0.10045e+04_rb,0.86598e+03_rb,0.72746e+03_rb,0.59151e+03_rb, & & 0.71699e+03_rb,0.85153e+03_rb,0.98663e+03_rb,0.11224e+04_rb /) kao(:, 5,12, 8) = (/ & & 0.11360e+04_rb,0.99832e+03_rb,0.86067e+03_rb,0.72302e+03_rb,0.58868e+03_rb, & & 0.71636e+03_rb,0.85092e+03_rb,0.98606e+03_rb,0.11218e+04_rb /) kao(:, 1,13, 8) = (/ & & 0.11451e+04_rb,0.10063e+04_rb,0.86748e+03_rb,0.72871e+03_rb,0.59258e+03_rb, & & 0.71726e+03_rb,0.85187e+03_rb,0.98696e+03_rb,0.11225e+04_rb /) kao(:, 2,13, 8) = (/ & & 0.11363e+04_rb,0.99855e+03_rb,0.86085e+03_rb,0.72320e+03_rb,0.58896e+03_rb, & & 0.71729e+03_rb,0.85183e+03_rb,0.98699e+03_rb,0.11227e+04_rb /) kao(:, 3,13, 8) = (/ & & 0.11287e+04_rb,0.99189e+03_rb,0.85515e+03_rb,0.71842e+03_rb,0.58585e+03_rb, & & 0.71710e+03_rb,0.85169e+03_rb,0.98691e+03_rb,0.11227e+04_rb /) kao(:, 4,13, 8) = (/ & & 0.11220e+04_rb,0.98609e+03_rb,0.85017e+03_rb,0.71429e+03_rb,0.58380e+03_rb, & & 0.71668e+03_rb,0.85133e+03_rb,0.98660e+03_rb,0.11224e+04_rb /) kao(:, 5,13, 8) = (/ & & 0.11162e+04_rb,0.98101e+03_rb,0.84582e+03_rb,0.71065e+03_rb,0.58234e+03_rb, & & 0.71606e+03_rb,0.85074e+03_rb,0.98601e+03_rb,0.11218e+04_rb /) kao(:, 1, 1, 9) = (/ & & 0.19571e+04_rb,0.17167e+04_rb,0.14761e+04_rb,0.12357e+04_rb,0.99528e+03_rb, & & 0.75488e+03_rb,0.87315e+03_rb,0.10086e+04_rb,0.11441e+04_rb /) kao(:, 2, 1, 9) = (/ & & 0.19076e+04_rb,0.16733e+04_rb,0.14390e+04_rb,0.12047e+04_rb,0.97044e+03_rb, & & 0.73841e+03_rb,0.87146e+03_rb,0.10070e+04_rb,0.11425e+04_rb /) kao(:, 3, 1, 9) = (/ & & 0.18630e+04_rb,0.16343e+04_rb,0.14056e+04_rb,0.11769e+04_rb,0.94822e+03_rb, & & 0.73460e+03_rb,0.86967e+03_rb,0.10052e+04_rb,0.11407e+04_rb /) kao(:, 4, 1, 9) = (/ & & 0.18229e+04_rb,0.15991e+04_rb,0.13754e+04_rb,0.11517e+04_rb,0.92811e+03_rb, & & 0.73269e+03_rb,0.86788e+03_rb,0.10033e+04_rb,0.11387e+04_rb /) kao(:, 5, 1, 9) = (/ & & 0.17864e+04_rb,0.15672e+04_rb,0.13481e+04_rb,0.11289e+04_rb,0.90984e+03_rb, & & 0.73091e+03_rb,0.86616e+03_rb,0.10016e+04_rb,0.11368e+04_rb /) kao(:, 1, 2, 9) = (/ & & 0.18080e+04_rb,0.15862e+04_rb,0.13643e+04_rb,0.11425e+04_rb,0.92072e+03_rb, & & 0.73694e+03_rb,0.87246e+03_rb,0.10086e+04_rb,0.11448e+04_rb /) kao(:, 2, 2, 9) = (/ & & 0.17655e+04_rb,0.15491e+04_rb,0.13324e+04_rb,0.11159e+04_rb,0.89943e+03_rb, & & 0.73525e+03_rb,0.87092e+03_rb,0.10070e+04_rb,0.11432e+04_rb /) kao(:, 3, 2, 9) = (/ & & 0.17274e+04_rb,0.15157e+04_rb,0.13039e+04_rb,0.10921e+04_rb,0.88039e+03_rb, & & 0.73343e+03_rb,0.86922e+03_rb,0.10053e+04_rb,0.11415e+04_rb /) kao(:, 4, 2, 9) = (/ & & 0.16931e+04_rb,0.14856e+04_rb,0.12781e+04_rb,0.10706e+04_rb,0.86326e+03_rb, & & 0.73166e+03_rb,0.86752e+03_rb,0.10036e+04_rb,0.11395e+04_rb /) kao(:, 5, 2, 9) = (/ & & 0.16621e+04_rb,0.14584e+04_rb,0.12549e+04_rb,0.10512e+04_rb,0.84768e+03_rb, & & 0.73000e+03_rb,0.86583e+03_rb,0.10018e+04_rb,0.11376e+04_rb /) kao(:, 1, 3, 9) = (/ & & 0.16908e+04_rb,0.14837e+04_rb,0.12764e+04_rb,0.10692e+04_rb,0.86209e+03_rb, & & 0.73591e+03_rb,0.87213e+03_rb,0.10088e+04_rb,0.11456e+04_rb /) kao(:, 2, 3, 9) = (/ & & 0.16535e+04_rb,0.14509e+04_rb,0.12484e+04_rb,0.10459e+04_rb,0.84339e+03_rb, & & 0.73450e+03_rb,0.87080e+03_rb,0.10075e+04_rb,0.11442e+04_rb /) kao(:, 3, 3, 9) = (/ & & 0.16202e+04_rb,0.14218e+04_rb,0.12234e+04_rb,0.10251e+04_rb,0.82680e+03_rb, & & 0.73291e+03_rb,0.86926e+03_rb,0.10059e+04_rb,0.11426e+04_rb /) kao(:, 4, 3, 9) = (/ & & 0.15902e+04_rb,0.13956e+04_rb,0.12011e+04_rb,0.10064e+04_rb,0.81183e+03_rb, & & 0.73120e+03_rb,0.86761e+03_rb,0.10042e+04_rb,0.11407e+04_rb /) kao(:, 5, 3, 9) = (/ & & 0.15632e+04_rb,0.13720e+04_rb,0.11808e+04_rb,0.98952e+03_rb,0.79832e+03_rb, & & 0.72957e+03_rb,0.86594e+03_rb,0.10024e+04_rb,0.11387e+04_rb /) kao(:, 1, 4, 9) = (/ & & 0.15935e+04_rb,0.13985e+04_rb,0.12035e+04_rb,0.10084e+04_rb,0.81344e+03_rb, & & 0.73513e+03_rb,0.87195e+03_rb,0.10092e+04_rb,0.11463e+04_rb /) kao(:, 2, 4, 9) = (/ & & 0.15605e+04_rb,0.13697e+04_rb,0.11787e+04_rb,0.98782e+03_rb,0.79694e+03_rb, & & 0.73394e+03_rb,0.87080e+03_rb,0.10079e+04_rb,0.11451e+04_rb /) kao(:, 3, 4, 9) = (/ & & 0.15313e+04_rb,0.13439e+04_rb,0.11567e+04_rb,0.96950e+03_rb,0.78229e+03_rb, & & 0.73257e+03_rb,0.86942e+03_rb,0.10065e+04_rb,0.11436e+04_rb /) kao(:, 4, 4, 9) = (/ & & 0.15050e+04_rb,0.13210e+04_rb,0.11371e+04_rb,0.95308e+03_rb,0.76922e+03_rb, & & 0.73104e+03_rb,0.86787e+03_rb,0.10049e+04_rb,0.11419e+04_rb /) kao(:, 5, 4, 9) = (/ & & 0.14814e+04_rb,0.13003e+04_rb,0.11193e+04_rb,0.93833e+03_rb,0.75745e+03_rb, & & 0.72946e+03_rb,0.86622e+03_rb,0.10032e+04_rb,0.11400e+04_rb /) kao(:, 1, 5, 9) = (/ & & 0.15109e+04_rb,0.13262e+04_rb,0.11415e+04_rb,0.95685e+03_rb,0.77217e+03_rb, & & 0.73443e+03_rb,0.87177e+03_rb,0.10094e+04_rb,0.11470e+04_rb /) kao(:, 2, 5, 9) = (/ & & 0.14817e+04_rb,0.13007e+04_rb,0.11196e+04_rb,0.93852e+03_rb,0.75755e+03_rb, & & 0.73343e+03_rb,0.87078e+03_rb,0.10083e+04_rb,0.11459e+04_rb /) kao(:, 3, 5, 9) = (/ & & 0.14559e+04_rb,0.12780e+04_rb,0.11003e+04_rb,0.92240e+03_rb,0.74463e+03_rb, & & 0.73229e+03_rb,0.86958e+03_rb,0.10071e+04_rb,0.11446e+04_rb /) kao(:, 4, 5, 9) = (/ & & 0.14329e+04_rb,0.12579e+04_rb,0.10829e+04_rb,0.90802e+03_rb,0.73310e+03_rb, & & 0.73095e+03_rb,0.86817e+03_rb,0.10056e+04_rb,0.11430e+04_rb /) kao(:, 5, 5, 9) = (/ & & 0.14122e+04_rb,0.12398e+04_rb,0.10675e+04_rb,0.89511e+03_rb,0.72281e+03_rb, & & 0.72946e+03_rb,0.86664e+03_rb,0.10039e+04_rb,0.11412e+04_rb /) kao(:, 1, 6, 9) = (/ & & 0.14417e+04_rb,0.12655e+04_rb,0.10896e+04_rb,0.91348e+03_rb,0.73747e+03_rb, & & 0.73386e+03_rb,0.87165e+03_rb,0.10096e+04_rb,0.11475e+04_rb /) kao(:, 2, 6, 9) = (/ & & 0.14156e+04_rb,0.12429e+04_rb,0.10700e+04_rb,0.89725e+03_rb,0.72457e+03_rb, & & 0.73304e+03_rb,0.87078e+03_rb,0.10087e+04_rb,0.11466e+04_rb /) kao(:, 3, 6, 9) = (/ & & 0.13928e+04_rb,0.12228e+04_rb,0.10529e+04_rb,0.88300e+03_rb,0.71308e+03_rb, & & 0.73207e+03_rb,0.86977e+03_rb,0.10076e+04_rb,0.11455e+04_rb /) kao(:, 4, 6, 9) = (/ & & 0.13725e+04_rb,0.12051e+04_rb,0.10377e+04_rb,0.87029e+03_rb,0.70290e+03_rb, & & 0.73093e+03_rb,0.86853e+03_rb,0.10063e+04_rb,0.11441e+04_rb /) kao(:, 5, 6, 9) = (/ & & 0.13544e+04_rb,0.11892e+04_rb,0.10241e+04_rb,0.85897e+03_rb,0.69390e+03_rb, & & 0.72961e+03_rb,0.86706e+03_rb,0.10048e+04_rb,0.11424e+04_rb /) kao(:, 1, 7, 9) = (/ & & 0.13826e+04_rb,0.12140e+04_rb,0.10453e+04_rb,0.87664e+03_rb,0.70803e+03_rb, & & 0.73339e+03_rb,0.87155e+03_rb,0.10098e+04_rb,0.11480e+04_rb /) kao(:, 2, 7, 9) = (/ & & 0.13594e+04_rb,0.11937e+04_rb,0.10279e+04_rb,0.86216e+03_rb,0.69645e+03_rb, & & 0.73269e+03_rb,0.87079e+03_rb,0.10090e+04_rb,0.11472e+04_rb /) kao(:, 3, 7, 9) = (/ & & 0.13392e+04_rb,0.11759e+04_rb,0.10127e+04_rb,0.84953e+03_rb,0.68632e+03_rb, & & 0.73188e+03_rb,0.86990e+03_rb,0.10081e+04_rb,0.11462e+04_rb /) kao(:, 4, 7, 9) = (/ & & 0.13213e+04_rb,0.11603e+04_rb,0.99928e+03_rb,0.83829e+03_rb,0.67737e+03_rb, & & 0.73090e+03_rb,0.86884e+03_rb,0.10069e+04_rb,0.11450e+04_rb /) kao(:, 5, 7, 9) = (/ & & 0.13054e+04_rb,0.11464e+04_rb,0.98739e+03_rb,0.82837e+03_rb,0.66946e+03_rb, & & 0.72975e+03_rb,0.86756e+03_rb,0.10055e+04_rb,0.11435e+04_rb /) kao(:, 1, 8, 9) = (/ & & 0.13322e+04_rb,0.11698e+04_rb,0.10074e+04_rb,0.84511e+03_rb,0.68280e+03_rb, & & 0.73302e+03_rb,0.87145e+03_rb,0.10099e+04_rb,0.11483e+04_rb /) kao(:, 2, 8, 9) = (/ & & 0.13116e+04_rb,0.11517e+04_rb,0.99199e+03_rb,0.83221e+03_rb,0.67250e+03_rb, & & 0.73244e+03_rb,0.87079e+03_rb,0.10093e+04_rb,0.11477e+04_rb /) kao(:, 3, 8, 9) = (/ & & 0.12937e+04_rb,0.11360e+04_rb,0.97848e+03_rb,0.82097e+03_rb,0.66349e+03_rb, & & 0.73170e+03_rb,0.87002e+03_rb,0.10085e+04_rb,0.11469e+04_rb /) kao(:, 4, 8, 9) = (/ & & 0.12778e+04_rb,0.11223e+04_rb,0.96666e+03_rb,0.81113e+03_rb,0.65562e+03_rb, & & 0.73087e+03_rb,0.86909e+03_rb,0.10075e+04_rb,0.11458e+04_rb /) kao(:, 5, 8, 9) = (/ & & 0.12639e+04_rb,0.11101e+04_rb,0.95620e+03_rb,0.80244e+03_rb,0.64865e+03_rb, & & 0.72985e+03_rb,0.86796e+03_rb,0.10062e+04_rb,0.11444e+04_rb /) kao(:, 1, 9, 9) = (/ & & 0.12892e+04_rb,0.11322e+04_rb,0.97520e+03_rb,0.81821e+03_rb,0.66134e+03_rb, & & 0.73274e+03_rb,0.87135e+03_rb,0.10099e+04_rb,0.11485e+04_rb /) kao(:, 2, 9, 9) = (/ & & 0.12708e+04_rb,0.11161e+04_rb,0.96140e+03_rb,0.80674e+03_rb,0.65213e+03_rb, & & 0.73213e+03_rb,0.87079e+03_rb,0.10095e+04_rb,0.11481e+04_rb /) kao(:, 3, 9, 9) = (/ & & 0.12548e+04_rb,0.11022e+04_rb,0.94949e+03_rb,0.79681e+03_rb,0.64421e+03_rb, & & 0.73152e+03_rb,0.87011e+03_rb,0.10088e+04_rb,0.11474e+04_rb /) kao(:, 4, 9, 9) = (/ & & 0.12410e+04_rb,0.10900e+04_rb,0.93905e+03_rb,0.78808e+03_rb,0.63726e+03_rb, & & 0.73083e+03_rb,0.86928e+03_rb,0.10079e+04_rb,0.11464e+04_rb /) kao(:, 5, 9, 9) = (/ & & 0.12287e+04_rb,0.10793e+04_rb,0.92981e+03_rb,0.78042e+03_rb,0.63106e+03_rb, & & 0.72995e+03_rb,0.86831e+03_rb,0.10068e+04_rb,0.11452e+04_rb /) kao(:, 1,10, 9) = (/ & & 0.12511e+04_rb,0.10989e+04_rb,0.94665e+03_rb,0.79449e+03_rb,0.64227e+03_rb, & & 0.73248e+03_rb,0.87121e+03_rb,0.10099e+04_rb,0.11487e+04_rb /) kao(:, 2,10, 9) = (/ & & 0.12350e+04_rb,0.10848e+04_rb,0.93449e+03_rb,0.78435e+03_rb,0.63416e+03_rb, & & 0.73188e+03_rb,0.87073e+03_rb,0.10095e+04_rb,0.11483e+04_rb /) kao(:, 3,10, 9) = (/ & & 0.12209e+04_rb,0.10725e+04_rb,0.92407e+03_rb,0.77565e+03_rb,0.62724e+03_rb, & & 0.73132e+03_rb,0.87012e+03_rb,0.10091e+04_rb,0.11477e+04_rb /) kao(:, 4,10, 9) = (/ & & 0.12088e+04_rb,0.10618e+04_rb,0.91493e+03_rb,0.76801e+03_rb,0.62113e+03_rb, & & 0.73072e+03_rb,0.86943e+03_rb,0.10082e+04_rb,0.11469e+04_rb /) kao(:, 5,10, 9) = (/ & & 0.11981e+04_rb,0.10526e+04_rb,0.90691e+03_rb,0.76134e+03_rb,0.61583e+03_rb, & & 0.72997e+03_rb,0.86853e+03_rb,0.10072e+04_rb,0.11458e+04_rb /) kao(:, 1,11, 9) = (/ & & 0.12119e+04_rb,0.10646e+04_rb,0.91723e+03_rb,0.76995e+03_rb,0.62265e+03_rb, & & 0.73201e+03_rb,0.87093e+03_rb,0.10098e+04_rb,0.11487e+04_rb /) kao(:, 2,11, 9) = (/ & & 0.11986e+04_rb,0.10529e+04_rb,0.90727e+03_rb,0.76161e+03_rb,0.61603e+03_rb, & & 0.73147e+03_rb,0.87046e+03_rb,0.10094e+04_rb,0.11483e+04_rb /) kao(:, 3,11, 9) = (/ & & 0.11871e+04_rb,0.10429e+04_rb,0.89865e+03_rb,0.75449e+03_rb,0.61031e+03_rb, & & 0.73094e+03_rb,0.86988e+03_rb,0.10088e+04_rb,0.11477e+04_rb /) kao(:, 4,11, 9) = (/ & & 0.11772e+04_rb,0.10342e+04_rb,0.89122e+03_rb,0.74824e+03_rb,0.60537e+03_rb, & & 0.73035e+03_rb,0.86918e+03_rb,0.10081e+04_rb,0.11469e+04_rb /) kao(:, 5,11, 9) = (/ & & 0.11684e+04_rb,0.10265e+04_rb,0.88467e+03_rb,0.74278e+03_rb,0.60127e+03_rb, & & 0.72963e+03_rb,0.86831e+03_rb,0.10071e+04_rb,0.11458e+04_rb /) kao(:, 1,12, 9) = (/ & & 0.11796e+04_rb,0.10363e+04_rb,0.89308e+03_rb,0.74980e+03_rb,0.60664e+03_rb, & & 0.73158e+03_rb,0.87066e+03_rb,0.10097e+04_rb,0.11487e+04_rb /) kao(:, 2,12, 9) = (/ & & 0.11688e+04_rb,0.10268e+04_rb,0.88492e+03_rb,0.74297e+03_rb,0.60173e+03_rb, & & 0.73111e+03_rb,0.87023e+03_rb,0.10093e+04_rb,0.11483e+04_rb /) kao(:, 3,12, 9) = (/ & & 0.11594e+04_rb,0.10186e+04_rb,0.87787e+03_rb,0.73715e+03_rb,0.59711e+03_rb, & & 0.73061e+03_rb,0.86968e+03_rb,0.10088e+04_rb,0.11478e+04_rb /) kao(:, 4,12, 9) = (/ & & 0.11512e+04_rb,0.10115e+04_rb,0.87180e+03_rb,0.73203e+03_rb,0.59373e+03_rb, & & 0.73004e+03_rb,0.86900e+03_rb,0.10080e+04_rb,0.11469e+04_rb /) kao(:, 5,12, 9) = (/ & & 0.11441e+04_rb,0.10053e+04_rb,0.86640e+03_rb,0.72756e+03_rb,0.59149e+03_rb, & & 0.72934e+03_rb,0.86813e+03_rb,0.10070e+04_rb,0.11458e+04_rb /) kao(:, 1,13, 9) = (/ & & 0.11533e+04_rb,0.10132e+04_rb,0.87330e+03_rb,0.73334e+03_rb,0.59476e+03_rb, & & 0.73130e+03_rb,0.87046e+03_rb,0.10096e+04_rb,0.11487e+04_rb /) kao(:, 2,13, 9) = (/ & & 0.11444e+04_rb,0.10055e+04_rb,0.86659e+03_rb,0.72770e+03_rb,0.59240e+03_rb, & & 0.73084e+03_rb,0.87005e+03_rb,0.10092e+04_rb,0.11483e+04_rb /) kao(:, 3,13, 9) = (/ & & 0.11367e+04_rb,0.99882e+03_rb,0.86084e+03_rb,0.72297e+03_rb,0.59186e+03_rb, & & 0.73036e+03_rb,0.86950e+03_rb,0.10087e+04_rb,0.11478e+04_rb /) kao(:, 4,13, 9) = (/ & & 0.11300e+04_rb,0.99294e+03_rb,0.85585e+03_rb,0.71880e+03_rb,0.59143e+03_rb, & & 0.72979e+03_rb,0.86883e+03_rb,0.10079e+04_rb,0.11469e+04_rb /) kao(:, 5,13, 9) = (/ & & 0.11242e+04_rb,0.98788e+03_rb,0.85146e+03_rb,0.71512e+03_rb,0.59082e+03_rb, & & 0.72910e+03_rb,0.86797e+03_rb,0.10069e+04_rb,0.11459e+04_rb /) kao(:, 1, 1,10) = (/ & & 0.19609e+04_rb,0.17196e+04_rb,0.14787e+04_rb,0.12373e+04_rb,0.99636e+03_rb, & & 0.75577e+03_rb,0.88158e+03_rb,0.10175e+04_rb,0.11538e+04_rb /) kao(:, 2, 1,10) = (/ & & 0.19102e+04_rb,0.16765e+04_rb,0.14403e+04_rb,0.12063e+04_rb,0.97232e+03_rb, & & 0.74406e+03_rb,0.87986e+03_rb,0.10152e+04_rb,0.11513e+04_rb /) kao(:, 3, 1,10) = (/ & & 0.18658e+04_rb,0.16364e+04_rb,0.14075e+04_rb,0.11783e+04_rb,0.94916e+03_rb, & & 0.74249e+03_rb,0.87815e+03_rb,0.10135e+04_rb,0.11491e+04_rb /) kao(:, 4, 1,10) = (/ & & 0.18250e+04_rb,0.16014e+04_rb,0.13778e+04_rb,0.11533e+04_rb,0.92945e+03_rb, & & 0.74050e+03_rb,0.87640e+03_rb,0.10114e+04_rb,0.11477e+04_rb /) kao(:, 5, 1,10) = (/ & & 0.17888e+04_rb,0.15692e+04_rb,0.13504e+04_rb,0.11313e+04_rb,0.91134e+03_rb, & & 0.73837e+03_rb,0.87432e+03_rb,0.10096e+04_rb,0.11467e+04_rb /) kao(:, 1, 2,10) = (/ & & 0.18108e+04_rb,0.15879e+04_rb,0.13673e+04_rb,0.11437e+04_rb,0.92213e+03_rb, & & 0.74428e+03_rb,0.88077e+03_rb,0.10175e+04_rb,0.11547e+04_rb /) kao(:, 2, 2,10) = (/ & & 0.17684e+04_rb,0.15508e+04_rb,0.13352e+04_rb,0.11178e+04_rb,0.90099e+03_rb, & & 0.74265e+03_rb,0.87920e+03_rb,0.10158e+04_rb,0.11521e+04_rb /) kao(:, 3, 2,10) = (/ & & 0.17293e+04_rb,0.15183e+04_rb,0.13063e+04_rb,0.10931e+04_rb,0.88199e+03_rb, & & 0.74117e+03_rb,0.87755e+03_rb,0.10136e+04_rb,0.11500e+04_rb /) kao(:, 4, 2,10) = (/ & & 0.16960e+04_rb,0.14887e+04_rb,0.12799e+04_rb,0.10727e+04_rb,0.86433e+03_rb, & & 0.73957e+03_rb,0.87577e+03_rb,0.10116e+04_rb,0.11482e+04_rb /) kao(:, 5, 2,10) = (/ & & 0.16637e+04_rb,0.14607e+04_rb,0.12562e+04_rb,0.10527e+04_rb,0.84877e+03_rb, & & 0.73748e+03_rb,0.87409e+03_rb,0.10096e+04_rb,0.11470e+04_rb /) kao(:, 1, 3,10) = (/ & & 0.16939e+04_rb,0.14847e+04_rb,0.12786e+04_rb,0.10705e+04_rb,0.86372e+03_rb, & & 0.74343e+03_rb,0.88064e+03_rb,0.10178e+04_rb,0.11559e+04_rb /) kao(:, 2, 3,10) = (/ & & 0.16557e+04_rb,0.14542e+04_rb,0.12503e+04_rb,0.10478e+04_rb,0.84533e+03_rb, & & 0.74182e+03_rb,0.87906e+03_rb,0.10163e+04_rb,0.11537e+04_rb /) kao(:, 3, 3,10) = (/ & & 0.16218e+04_rb,0.14239e+04_rb,0.12249e+04_rb,0.10266e+04_rb,0.82819e+03_rb, & & 0.74031e+03_rb,0.87730e+03_rb,0.10137e+04_rb,0.11513e+04_rb /) kao(:, 4, 3,10) = (/ & & 0.15929e+04_rb,0.13992e+04_rb,0.12027e+04_rb,0.10077e+04_rb,0.81299e+03_rb, & & 0.73896e+03_rb,0.87590e+03_rb,0.10123e+04_rb,0.11493e+04_rb /) kao(:, 5, 3,10) = (/ & & 0.15654e+04_rb,0.13740e+04_rb,0.11824e+04_rb,0.99136e+03_rb,0.79933e+03_rb, & & 0.73740e+03_rb,0.87406e+03_rb,0.10104e+04_rb,0.11477e+04_rb /) kao(:, 1, 4,10) = (/ & & 0.15959e+04_rb,0.14010e+04_rb,0.12054e+04_rb,0.10100e+04_rb,0.81522e+03_rb, & & 0.74271e+03_rb,0.88040e+03_rb,0.10180e+04_rb,0.11570e+04_rb /) kao(:, 2, 4,10) = (/ & & 0.15637e+04_rb,0.13710e+04_rb,0.11804e+04_rb,0.98920e+03_rb,0.79803e+03_rb, & & 0.74139e+03_rb,0.87903e+03_rb,0.10168e+04_rb,0.11552e+04_rb /) kao(:, 3, 4,10) = (/ & & 0.15330e+04_rb,0.13459e+04_rb,0.11594e+04_rb,0.97120e+03_rb,0.78314e+03_rb, & & 0.74000e+03_rb,0.87753e+03_rb,0.10151e+04_rb,0.11528e+04_rb /) kao(:, 4, 4,10) = (/ & & 0.15077e+04_rb,0.13229e+04_rb,0.11386e+04_rb,0.95486e+03_rb,0.77029e+03_rb, & & 0.73854e+03_rb,0.87600e+03_rb,0.10131e+04_rb,0.11506e+04_rb /) kao(:, 5, 4,10) = (/ & & 0.14835e+04_rb,0.13025e+04_rb,0.11209e+04_rb,0.94000e+03_rb,0.75786e+03_rb, & & 0.73717e+03_rb,0.87438e+03_rb,0.10111e+04_rb,0.11486e+04_rb /) kao(:, 1, 5,10) = (/ & & 0.15126e+04_rb,0.13285e+04_rb,0.11431e+04_rb,0.95745e+03_rb,0.77284e+03_rb, & & 0.74220e+03_rb,0.88024e+03_rb,0.10187e+04_rb,0.11578e+04_rb /) kao(:, 2, 5,10) = (/ & & 0.14829e+04_rb,0.13024e+04_rb,0.11209e+04_rb,0.94020e+03_rb,0.75863e+03_rb, & & 0.74099e+03_rb,0.87909e+03_rb,0.10174e+04_rb,0.11564e+04_rb /) kao(:, 3, 5,10) = (/ & & 0.14582e+04_rb,0.12806e+04_rb,0.11014e+04_rb,0.92377e+03_rb,0.74596e+03_rb, & & 0.73960e+03_rb,0.87772e+03_rb,0.10159e+04_rb,0.11544e+04_rb /) kao(:, 4, 5,10) = (/ & & 0.14345e+04_rb,0.12594e+04_rb,0.10847e+04_rb,0.90887e+03_rb,0.73410e+03_rb, & & 0.73828e+03_rb,0.87622e+03_rb,0.10139e+04_rb,0.11518e+04_rb /) kao(:, 5, 5,10) = (/ & & 0.14140e+04_rb,0.12418e+04_rb,0.10683e+04_rb,0.89661e+03_rb,0.72364e+03_rb, & & 0.73696e+03_rb,0.87469e+03_rb,0.10119e+04_rb,0.11501e+04_rb /) kao(:, 1, 6,10) = (/ & & 0.14435e+04_rb,0.12676e+04_rb,0.10914e+04_rb,0.91493e+03_rb,0.73889e+03_rb, & & 0.74179e+03_rb,0.88024e+03_rb,0.10190e+04_rb,0.11586e+04_rb /) kao(:, 2, 6,10) = (/ & & 0.14184e+04_rb,0.12443e+04_rb,0.10722e+04_rb,0.89834e+03_rb,0.72535e+03_rb, & & 0.74069e+03_rb,0.87922e+03_rb,0.10178e+04_rb,0.11574e+04_rb /) kao(:, 3, 6,10) = (/ & & 0.13949e+04_rb,0.12245e+04_rb,0.10548e+04_rb,0.88411e+03_rb,0.71441e+03_rb, & & 0.73951e+03_rb,0.87792e+03_rb,0.10164e+04_rb,0.11554e+04_rb /) kao(:, 4, 6,10) = (/ & & 0.13745e+04_rb,0.12070e+04_rb,0.10388e+04_rb,0.87157e+03_rb,0.70381e+03_rb, & & 0.73817e+03_rb,0.87654e+03_rb,0.10150e+04_rb,0.11533e+04_rb /) kao(:, 5, 6,10) = (/ & & 0.13558e+04_rb,0.11909e+04_rb,0.10253e+04_rb,0.86039e+03_rb,0.69505e+03_rb, & & 0.73669e+03_rb,0.87508e+03_rb,0.10128e+04_rb,0.11510e+04_rb /) kao(:, 1, 7,10) = (/ & & 0.13849e+04_rb,0.12154e+04_rb,0.10465e+04_rb,0.87809e+03_rb,0.70922e+03_rb, & & 0.74150e+03_rb,0.88017e+03_rb,0.10197e+04_rb,0.11599e+04_rb /) kao(:, 2, 7,10) = (/ & & 0.13622e+04_rb,0.11954e+04_rb,0.10296e+04_rb,0.86328e+03_rb,0.69750e+03_rb, & & 0.74031e+03_rb,0.87926e+03_rb,0.10184e+04_rb,0.11581e+04_rb /) kao(:, 3, 7,10) = (/ & & 0.13407e+04_rb,0.11775e+04_rb,0.10144e+04_rb,0.85098e+03_rb,0.68710e+03_rb, & & 0.73933e+03_rb,0.87824e+03_rb,0.10171e+04_rb,0.11568e+04_rb /) kao(:, 4, 7,10) = (/ & & 0.13234e+04_rb,0.11620e+04_rb,0.10006e+04_rb,0.83940e+03_rb,0.67808e+03_rb, & & 0.73818e+03_rb,0.87693e+03_rb,0.10157e+04_rb,0.11549e+04_rb /) kao(:, 5, 7,10) = (/ & & 0.13077e+04_rb,0.11481e+04_rb,0.98850e+03_rb,0.82952e+03_rb,0.66976e+03_rb, & & 0.73685e+03_rb,0.87533e+03_rb,0.10140e+04_rb,0.11525e+04_rb /) kao(:, 1, 8,10) = (/ & & 0.13336e+04_rb,0.11711e+04_rb,0.10088e+04_rb,0.84626e+03_rb,0.68382e+03_rb, & & 0.74131e+03_rb,0.88025e+03_rb,0.10205e+04_rb,0.11609e+04_rb /) kao(:, 2, 8,10) = (/ & & 0.13133e+04_rb,0.11535e+04_rb,0.99382e+03_rb,0.83328e+03_rb,0.67355e+03_rb, & & 0.73954e+03_rb,0.87931e+03_rb,0.10187e+04_rb,0.11591e+04_rb /) kao(:, 3, 8,10) = (/ & & 0.12952e+04_rb,0.11377e+04_rb,0.97980e+03_rb,0.82257e+03_rb,0.66450e+03_rb, & & 0.73910e+03_rb,0.87831e+03_rb,0.10177e+04_rb,0.11576e+04_rb /) kao(:, 4, 8,10) = (/ & & 0.12798e+04_rb,0.11238e+04_rb,0.96848e+03_rb,0.81189e+03_rb,0.65672e+03_rb, & & 0.73820e+03_rb,0.87729e+03_rb,0.10162e+04_rb,0.11560e+04_rb /) kao(:, 5, 8,10) = (/ & & 0.12652e+04_rb,0.11115e+04_rb,0.95739e+03_rb,0.80373e+03_rb,0.64938e+03_rb, & & 0.73712e+03_rb,0.87584e+03_rb,0.10149e+04_rb,0.11541e+04_rb /) kao(:, 1, 9,10) = (/ & & 0.12921e+04_rb,0.11338e+04_rb,0.97649e+03_rb,0.81965e+03_rb,0.66193e+03_rb, & & 0.74117e+03_rb,0.88056e+03_rb,0.10212e+04_rb,0.11621e+04_rb /) kao(:, 2, 9,10) = (/ & & 0.12725e+04_rb,0.11175e+04_rb,0.96294e+03_rb,0.80792e+03_rb,0.65314e+03_rb, & & 0.74018e+03_rb,0.87944e+03_rb,0.10196e+04_rb,0.11602e+04_rb /) kao(:, 3, 9,10) = (/ & & 0.12569e+04_rb,0.11032e+04_rb,0.95038e+03_rb,0.79825e+03_rb,0.64471e+03_rb, & & 0.73910e+03_rb,0.87852e+03_rb,0.10181e+04_rb,0.11585e+04_rb /) kao(:, 4, 9,10) = (/ & & 0.12428e+04_rb,0.10914e+04_rb,0.94028e+03_rb,0.78940e+03_rb,0.63769e+03_rb, & & 0.73816e+03_rb,0.87758e+03_rb,0.10170e+04_rb,0.11569e+04_rb /) kao(:, 5, 9,10) = (/ & & 0.12310e+04_rb,0.10815e+04_rb,0.93149e+03_rb,0.78151e+03_rb,0.63218e+03_rb, & & 0.73726e+03_rb,0.87637e+03_rb,0.10156e+04_rb,0.11553e+04_rb /) kao(:, 1,10,10) = (/ & & 0.12531e+04_rb,0.11009e+04_rb,0.94808e+03_rb,0.79569e+03_rb,0.64353e+03_rb, & & 0.74092e+03_rb,0.88101e+03_rb,0.10222e+04_rb,0.11631e+04_rb /) kao(:, 2,10,10) = (/ & & 0.12357e+04_rb,0.10861e+04_rb,0.93599e+03_rb,0.78490e+03_rb,0.63564e+03_rb, & & 0.74008e+03_rb,0.87961e+03_rb,0.10203e+04_rb,0.11613e+04_rb /) kao(:, 3,10,10) = (/ & & 0.12227e+04_rb,0.10738e+04_rb,0.92501e+03_rb,0.77680e+03_rb,0.62842e+03_rb, & & 0.73914e+03_rb,0.87860e+03_rb,0.10179e+04_rb,0.11592e+04_rb /) kao(:, 4,10,10) = (/ & & 0.12109e+04_rb,0.10632e+04_rb,0.91605e+03_rb,0.76920e+03_rb,0.62177e+03_rb, & & 0.73819e+03_rb,0.87758e+03_rb,0.10174e+04_rb,0.11577e+04_rb /) kao(:, 5,10,10) = (/ & & 0.11998e+04_rb,0.10537e+04_rb,0.90813e+03_rb,0.76232e+03_rb,0.61616e+03_rb, & & 0.73732e+03_rb,0.87676e+03_rb,0.10162e+04_rb,0.11563e+04_rb /) kao(:, 1,11,10) = (/ & & 0.12137e+04_rb,0.10654e+04_rb,0.91884e+03_rb,0.77105e+03_rb,0.62358e+03_rb, & & 0.74042e+03_rb,0.88057e+03_rb,0.10221e+04_rb,0.11630e+04_rb /) kao(:, 2,11,10) = (/ & & 0.11999e+04_rb,0.10545e+04_rb,0.90854e+03_rb,0.76253e+03_rb,0.61715e+03_rb, & & 0.73961e+03_rb,0.87932e+03_rb,0.10201e+04_rb,0.11611e+04_rb /) kao(:, 3,11,10) = (/ & & 0.11890e+04_rb,0.10445e+04_rb,0.90019e+03_rb,0.75537e+03_rb,0.61109e+03_rb, & & 0.73864e+03_rb,0.87832e+03_rb,0.10186e+04_rb,0.11592e+04_rb /) kao(:, 4,11,10) = (/ & & 0.11789e+04_rb,0.10359e+04_rb,0.89280e+03_rb,0.74928e+03_rb,0.60622e+03_rb, & & 0.73779e+03_rb,0.87747e+03_rb,0.10172e+04_rb,0.11577e+04_rb /) kao(:, 5,11,10) = (/ & & 0.11709e+04_rb,0.10287e+04_rb,0.88607e+03_rb,0.74401e+03_rb,0.60247e+03_rb, & & 0.73688e+03_rb,0.87644e+03_rb,0.10160e+04_rb,0.11563e+04_rb /) kao(:, 1,12,10) = (/ & & 0.11820e+04_rb,0.10383e+04_rb,0.89456e+03_rb,0.75081e+03_rb,0.60714e+03_rb, & & 0.74001e+03_rb,0.88049e+03_rb,0.10220e+04_rb,0.11631e+04_rb /) kao(:, 2,12,10) = (/ & & 0.11713e+04_rb,0.10290e+04_rb,0.88623e+03_rb,0.74407e+03_rb,0.60058e+03_rb, & & 0.73921e+03_rb,0.87901e+03_rb,0.10201e+04_rb,0.11611e+04_rb /) kao(:, 3,12,10) = (/ & & 0.11605e+04_rb,0.10200e+04_rb,0.87951e+03_rb,0.73788e+03_rb,0.59769e+03_rb, & & 0.73835e+03_rb,0.87808e+03_rb,0.10182e+04_rb,0.11591e+04_rb /) kao(:, 4,12,10) = (/ & & 0.11533e+04_rb,0.10132e+04_rb,0.87284e+03_rb,0.73305e+03_rb,0.59795e+03_rb, & & 0.73753e+03_rb,0.87718e+03_rb,0.10171e+04_rb,0.11577e+04_rb /) kao(:, 5,12,10) = (/ & & 0.11467e+04_rb,0.10071e+04_rb,0.86739e+03_rb,0.72890e+03_rb,0.59711e+03_rb, & & 0.73664e+03_rb,0.87623e+03_rb,0.10159e+04_rb,0.11563e+04_rb /) kao(:, 1,13,10) = (/ & & 0.11553e+04_rb,0.10149e+04_rb,0.87419e+03_rb,0.73470e+03_rb,0.59975e+03_rb, & & 0.73968e+03_rb,0.88029e+03_rb,0.10219e+04_rb,0.11630e+04_rb /) kao(:, 2,13,10) = (/ & & 0.11455e+04_rb,0.10072e+04_rb,0.86782e+03_rb,0.72873e+03_rb,0.59921e+03_rb, & & 0.73889e+03_rb,0.87889e+03_rb,0.10200e+04_rb,0.11611e+04_rb /) kao(:, 3,13,10) = (/ & & 0.11380e+04_rb,0.10000e+04_rb,0.86190e+03_rb,0.72452e+03_rb,0.59831e+03_rb, & & 0.73799e+03_rb,0.87789e+03_rb,0.10182e+04_rb,0.11592e+04_rb /) kao(:, 4,13,10) = (/ & & 0.11318e+04_rb,0.99472e+03_rb,0.85697e+03_rb,0.71950e+03_rb,0.59744e+03_rb, & & 0.73726e+03_rb,0.87708e+03_rb,0.10170e+04_rb,0.11577e+04_rb /) kao(:, 5,13,10) = (/ & & 0.11253e+04_rb,0.98825e+03_rb,0.85273e+03_rb,0.71635e+03_rb,0.59683e+03_rb, & & 0.73639e+03_rb,0.87606e+03_rb,0.10160e+04_rb,0.11562e+04_rb /) kao(:, 1, 1,11) = (/ & & 0.19598e+04_rb,0.17186e+04_rb,0.14777e+04_rb,0.12380e+04_rb,0.99729e+03_rb, & & 0.75567e+03_rb,0.88469e+03_rb,0.10202e+04_rb,0.11560e+04_rb /) kao(:, 2, 1,11) = (/ & & 0.19102e+04_rb,0.16743e+04_rb,0.14414e+04_rb,0.12066e+04_rb,0.97117e+03_rb, & & 0.74679e+03_rb,0.88252e+03_rb,0.10178e+04_rb,0.11544e+04_rb /) kao(:, 3, 1,11) = (/ & & 0.18656e+04_rb,0.16383e+04_rb,0.14073e+04_rb,0.11791e+04_rb,0.94951e+03_rb, & & 0.74505e+03_rb,0.88029e+03_rb,0.10159e+04_rb,0.11530e+04_rb /) kao(:, 4, 1,11) = (/ & & 0.18261e+04_rb,0.16025e+04_rb,0.13782e+04_rb,0.11540e+04_rb,0.92917e+03_rb, & & 0.74299e+03_rb,0.87816e+03_rb,0.10141e+04_rb,0.11522e+04_rb /) kao(:, 5, 1,11) = (/ & & 0.17888e+04_rb,0.15710e+04_rb,0.13500e+04_rb,0.11298e+04_rb,0.91140e+03_rb, & & 0.74109e+03_rb,0.87588e+03_rb,0.10122e+04_rb,0.11510e+04_rb /) kao(:, 1, 2,11) = (/ & & 0.18117e+04_rb,0.15887e+04_rb,0.13651e+04_rb,0.11459e+04_rb,0.92177e+03_rb, & & 0.74731e+03_rb,0.88412e+03_rb,0.10203e+04_rb,0.11568e+04_rb /) kao(:, 2, 2,11) = (/ & & 0.17673e+04_rb,0.15512e+04_rb,0.13335e+04_rb,0.11174e+04_rb,0.90028e+03_rb, & & 0.74546e+03_rb,0.88203e+03_rb,0.10179e+04_rb,0.11551e+04_rb /) kao(:, 3, 2,11) = (/ & & 0.17317e+04_rb,0.15193e+04_rb,0.13050e+04_rb,0.10955e+04_rb,0.88112e+03_rb, & & 0.74378e+03_rb,0.87978e+03_rb,0.10161e+04_rb,0.11535e+04_rb /) kao(:, 4, 2,11) = (/ & & 0.16956e+04_rb,0.14873e+04_rb,0.12805e+04_rb,0.10729e+04_rb,0.86470e+03_rb, & & 0.74189e+03_rb,0.87768e+03_rb,0.10142e+04_rb,0.11524e+04_rb /) kao(:, 5, 2,11) = (/ & & 0.16657e+04_rb,0.14596e+04_rb,0.12568e+04_rb,0.10531e+04_rb,0.84904e+03_rb, & & 0.73979e+03_rb,0.87528e+03_rb,0.10122e+04_rb,0.11511e+04_rb /) kao(:, 1, 3,11) = (/ & & 0.16927e+04_rb,0.14859e+04_rb,0.12782e+04_rb,0.10724e+04_rb,0.86335e+03_rb, & & 0.74646e+03_rb,0.88392e+03_rb,0.10211e+04_rb,0.11579e+04_rb /) kao(:, 2, 3,11) = (/ & & 0.16581e+04_rb,0.14524e+04_rb,0.12540e+04_rb,0.10466e+04_rb,0.84448e+03_rb, & & 0.74471e+03_rb,0.88205e+03_rb,0.10189e+04_rb,0.11562e+04_rb /) kao(:, 3, 3,11) = (/ & & 0.16261e+04_rb,0.14229e+04_rb,0.12269e+04_rb,0.10264e+04_rb,0.82790e+03_rb, & & 0.74305e+03_rb,0.87988e+03_rb,0.10167e+04_rb,0.11544e+04_rb /) kao(:, 4, 3,11) = (/ & & 0.15929e+04_rb,0.13986e+04_rb,0.12038e+04_rb,0.10084e+04_rb,0.81266e+03_rb, & & 0.74160e+03_rb,0.87767e+03_rb,0.10148e+04_rb,0.11530e+04_rb /) kao(:, 5, 3,11) = (/ & & 0.15661e+04_rb,0.13746e+04_rb,0.11837e+04_rb,0.99103e+03_rb,0.79967e+03_rb, & & 0.73929e+03_rb,0.87586e+03_rb,0.10132e+04_rb,0.11521e+04_rb /) kao(:, 1, 4,11) = (/ & & 0.15973e+04_rb,0.14004e+04_rb,0.12065e+04_rb,0.10106e+04_rb,0.81385e+03_rb, & & 0.74599e+03_rb,0.88404e+03_rb,0.10218e+04_rb,0.11590e+04_rb /) kao(:, 2, 4,11) = (/ & & 0.15637e+04_rb,0.13722e+04_rb,0.11812e+04_rb,0.98900e+03_rb,0.79856e+03_rb, & & 0.74428e+03_rb,0.88217e+03_rb,0.10197e+04_rb,0.11572e+04_rb /) kao(:, 3, 4,11) = (/ & & 0.15340e+04_rb,0.13469e+04_rb,0.11576e+04_rb,0.97012e+03_rb,0.78412e+03_rb, & & 0.74257e+03_rb,0.88022e+03_rb,0.10176e+04_rb,0.11556e+04_rb /) kao(:, 4, 4,11) = (/ & & 0.15085e+04_rb,0.13226e+04_rb,0.11393e+04_rb,0.95486e+03_rb,0.76980e+03_rb, & & 0.74114e+03_rb,0.87815e+03_rb,0.10155e+04_rb,0.11538e+04_rb /) kao(:, 5, 4,11) = (/ & & 0.14836e+04_rb,0.13020e+04_rb,0.11212e+04_rb,0.93957e+03_rb,0.75824e+03_rb, & & 0.73939e+03_rb,0.87630e+03_rb,0.10138e+04_rb,0.11526e+04_rb /) kao(:, 1, 5,11) = (/ & & 0.15143e+04_rb,0.13286e+04_rb,0.11431e+04_rb,0.95847e+03_rb,0.77403e+03_rb, & & 0.74572e+03_rb,0.88418e+03_rb,0.10223e+04_rb,0.11603e+04_rb /) kao(:, 2, 5,11) = (/ & & 0.14842e+04_rb,0.13025e+04_rb,0.11230e+04_rb,0.94028e+03_rb,0.75881e+03_rb, & & 0.74405e+03_rb,0.88254e+03_rb,0.10205e+04_rb,0.11584e+04_rb /) kao(:, 3, 5,11) = (/ & & 0.14577e+04_rb,0.12799e+04_rb,0.11020e+04_rb,0.92340e+03_rb,0.74531e+03_rb, & & 0.74244e+03_rb,0.88060e+03_rb,0.10185e+04_rb,0.11566e+04_rb /) kao(:, 4, 5,11) = (/ & & 0.14365e+04_rb,0.12603e+04_rb,0.10859e+04_rb,0.90939e+03_rb,0.73467e+03_rb, & & 0.74090e+03_rb,0.87865e+03_rb,0.10164e+04_rb,0.11549e+04_rb /) kao(:, 5, 5,11) = (/ & & 0.14147e+04_rb,0.12422e+04_rb,0.10695e+04_rb,0.89657e+03_rb,0.72409e+03_rb, & & 0.73938e+03_rb,0.87659e+03_rb,0.10145e+04_rb,0.11530e+04_rb /) kao(:, 1, 6,11) = (/ & & 0.14426e+04_rb,0.12686e+04_rb,0.10911e+04_rb,0.91528e+03_rb,0.73914e+03_rb, & & 0.74563e+03_rb,0.88436e+03_rb,0.10228e+04_rb,0.11615e+04_rb /) kao(:, 2, 6,11) = (/ & & 0.14171e+04_rb,0.12457e+04_rb,0.10728e+04_rb,0.89861e+03_rb,0.72517e+03_rb, & & 0.74402e+03_rb,0.88280e+03_rb,0.10215e+04_rb,0.11596e+04_rb /) kao(:, 3, 6,11) = (/ & & 0.13943e+04_rb,0.12252e+04_rb,0.10539e+04_rb,0.88362e+03_rb,0.71333e+03_rb, & & 0.74243e+03_rb,0.88117e+03_rb,0.10194e+04_rb,0.11577e+04_rb /) kao(:, 4, 6,11) = (/ & & 0.13749e+04_rb,0.12056e+04_rb,0.10405e+04_rb,0.87188e+03_rb,0.70449e+03_rb, & & 0.74089e+03_rb,0.87923e+03_rb,0.10173e+04_rb,0.11560e+04_rb /) kao(:, 5, 6,11) = (/ & & 0.13580e+04_rb,0.11907e+04_rb,0.10258e+04_rb,0.85998e+03_rb,0.69473e+03_rb, & & 0.73937e+03_rb,0.87727e+03_rb,0.10154e+04_rb,0.11543e+04_rb /) kao(:, 1, 7,11) = (/ & & 0.13844e+04_rb,0.12166e+04_rb,0.10469e+04_rb,0.87815e+03_rb,0.70873e+03_rb, & & 0.74560e+03_rb,0.88449e+03_rb,0.10233e+04_rb,0.11626e+04_rb /) kao(:, 2, 7,11) = (/ & & 0.13610e+04_rb,0.11962e+04_rb,0.10291e+04_rb,0.86318e+03_rb,0.69730e+03_rb, & & 0.74409e+03_rb,0.88322e+03_rb,0.10221e+04_rb,0.11608e+04_rb /) kao(:, 3, 7,11) = (/ & & 0.13413e+04_rb,0.11786e+04_rb,0.10145e+04_rb,0.85031e+03_rb,0.68760e+03_rb, & & 0.74253e+03_rb,0.88154e+03_rb,0.10203e+04_rb,0.11589e+04_rb /) kao(:, 4, 7,11) = (/ & & 0.13235e+04_rb,0.11630e+04_rb,0.10007e+04_rb,0.84004e+03_rb,0.67864e+03_rb, & & 0.74101e+03_rb,0.87982e+03_rb,0.10185e+04_rb,0.11572e+04_rb /) kao(:, 5, 7,11) = (/ & & 0.13063e+04_rb,0.11482e+04_rb,0.98932e+03_rb,0.82998e+03_rb,0.67037e+03_rb, & & 0.73955e+03_rb,0.87796e+03_rb,0.10167e+04_rb,0.11554e+04_rb /) kao(:, 1, 8,11) = (/ & & 0.13361e+04_rb,0.11714e+04_rb,0.10092e+04_rb,0.84627e+03_rb,0.68340e+03_rb, & & 0.74540e+03_rb,0.88457e+03_rb,0.10236e+04_rb,0.11638e+04_rb /) kao(:, 2, 8,11) = (/ & & 0.13143e+04_rb,0.11537e+04_rb,0.99295e+03_rb,0.83355e+03_rb,0.67330e+03_rb, & & 0.74420e+03_rb,0.88339e+03_rb,0.10225e+04_rb,0.11619e+04_rb /) kao(:, 3, 8,11) = (/ & & 0.12952e+04_rb,0.11377e+04_rb,0.98075e+03_rb,0.82213e+03_rb,0.66496e+03_rb, & & 0.74271e+03_rb,0.88199e+03_rb,0.10211e+04_rb,0.11601e+04_rb /) kao(:, 4, 8,11) = (/ & & 0.12808e+04_rb,0.11242e+04_rb,0.96858e+03_rb,0.81350e+03_rb,0.65663e+03_rb, & & 0.74121e+03_rb,0.88037e+03_rb,0.10192e+04_rb,0.11582e+04_rb /) kao(:, 5, 8,11) = (/ & & 0.12664e+04_rb,0.11113e+04_rb,0.95757e+03_rb,0.80317e+03_rb,0.64978e+03_rb, & & 0.73975e+03_rb,0.87862e+03_rb,0.10173e+04_rb,0.11564e+04_rb /) kao(:, 1, 9,11) = (/ & & 0.12911e+04_rb,0.11331e+04_rb,0.97754e+03_rb,0.81972e+03_rb,0.66210e+03_rb, & & 0.74501e+03_rb,0.88462e+03_rb,0.10244e+04_rb,0.11652e+04_rb /) kao(:, 2, 9,11) = (/ & & 0.12743e+04_rb,0.11193e+04_rb,0.96288e+03_rb,0.80865e+03_rb,0.65325e+03_rb, & & 0.74437e+03_rb,0.88360e+03_rb,0.10230e+04_rb,0.11629e+04_rb /) kao(:, 3, 9,11) = (/ & & 0.12573e+04_rb,0.11051e+04_rb,0.95155e+03_rb,0.79729e+03_rb,0.64451e+03_rb, & & 0.74294e+03_rb,0.88237e+03_rb,0.10218e+04_rb,0.11610e+04_rb /) kao(:, 4, 9,11) = (/ & & 0.12441e+04_rb,0.10920e+04_rb,0.94089e+03_rb,0.78911e+03_rb,0.63797e+03_rb, & & 0.74148e+03_rb,0.88091e+03_rb,0.10202e+04_rb,0.11593e+04_rb /) kao(:, 5, 9,11) = (/ & & 0.12297e+04_rb,0.10813e+04_rb,0.93127e+03_rb,0.78127e+03_rb,0.63265e+03_rb, & & 0.74003e+03_rb,0.87926e+03_rb,0.10184e+04_rb,0.11573e+04_rb /) kao(:, 1,10,11) = (/ & & 0.12530e+04_rb,0.11001e+04_rb,0.94821e+03_rb,0.79486e+03_rb,0.64277e+03_rb, & & 0.74454e+03_rb,0.88447e+03_rb,0.10249e+04_rb,0.11664e+04_rb /) kao(:, 2,10,11) = (/ & & 0.12387e+04_rb,0.10865e+04_rb,0.93685e+03_rb,0.78643e+03_rb,0.63425e+03_rb, & & 0.74423e+03_rb,0.88371e+03_rb,0.10234e+04_rb,0.11637e+04_rb /) kao(:, 3,10,11) = (/ & & 0.12243e+04_rb,0.10744e+04_rb,0.92585e+03_rb,0.77676e+03_rb,0.62740e+03_rb, & & 0.74307e+03_rb,0.88260e+03_rb,0.10221e+04_rb,0.11620e+04_rb /) kao(:, 4,10,11) = (/ & & 0.12107e+04_rb,0.10640e+04_rb,0.91623e+03_rb,0.76957e+03_rb,0.62235e+03_rb, & & 0.74168e+03_rb,0.88129e+03_rb,0.10208e+04_rb,0.11602e+04_rb /) kao(:, 5,10,11) = (/ & & 0.12010e+04_rb,0.10536e+04_rb,0.90891e+03_rb,0.76248e+03_rb,0.61761e+03_rb, & & 0.74025e+03_rb,0.87965e+03_rb,0.10191e+04_rb,0.11583e+04_rb /) kao(:, 1,11,11) = (/ & & 0.12140e+04_rb,0.10672e+04_rb,0.91852e+03_rb,0.77048e+03_rb,0.62320e+03_rb, & & 0.74401e+03_rb,0.88413e+03_rb,0.10249e+04_rb,0.11664e+04_rb /) kao(:, 2,11,11) = (/ & & 0.12007e+04_rb,0.10549e+04_rb,0.90904e+03_rb,0.76333e+03_rb,0.61635e+03_rb, & & 0.74367e+03_rb,0.88337e+03_rb,0.10233e+04_rb,0.11639e+04_rb /) kao(:, 3,11,11) = (/ & & 0.11891e+04_rb,0.10458e+04_rb,0.90055e+03_rb,0.75543e+03_rb,0.61123e+03_rb, & & 0.74262e+03_rb,0.88229e+03_rb,0.10219e+04_rb,0.11620e+04_rb /) kao(:, 4,11,11) = (/ & & 0.11794e+04_rb,0.10371e+04_rb,0.89190e+03_rb,0.74912e+03_rb,0.60572e+03_rb, & & 0.74128e+03_rb,0.88110e+03_rb,0.10207e+04_rb,0.11602e+04_rb /) kao(:, 5,11,11) = (/ & & 0.11697e+04_rb,0.10285e+04_rb,0.88631e+03_rb,0.74374e+03_rb,0.60062e+03_rb, & & 0.73987e+03_rb,0.87958e+03_rb,0.10191e+04_rb,0.11583e+04_rb /) kao(:, 1,12,11) = (/ & & 0.11829e+04_rb,0.10373e+04_rb,0.89433e+03_rb,0.75107e+03_rb,0.60775e+03_rb, & & 0.74357e+03_rb,0.88385e+03_rb,0.10247e+04_rb,0.11664e+04_rb /) kao(:, 2,12,11) = (/ & & 0.11707e+04_rb,0.10276e+04_rb,0.88712e+03_rb,0.74426e+03_rb,0.60163e+03_rb, & & 0.74327e+03_rb,0.88309e+03_rb,0.10231e+04_rb,0.11639e+04_rb /) kao(:, 3,12,11) = (/ & & 0.11629e+04_rb,0.10211e+04_rb,0.88018e+03_rb,0.73831e+03_rb,0.60184e+03_rb, & & 0.74224e+03_rb,0.88203e+03_rb,0.10219e+04_rb,0.11620e+04_rb /) kao(:, 4,12,11) = (/ & & 0.11538e+04_rb,0.10126e+04_rb,0.87253e+03_rb,0.73377e+03_rb,0.60080e+03_rb, & & 0.74101e+03_rb,0.88067e+03_rb,0.10205e+04_rb,0.11602e+04_rb /) kao(:, 5,12,11) = (/ & & 0.11449e+04_rb,0.10062e+04_rb,0.86764e+03_rb,0.72842e+03_rb,0.59975e+03_rb, & & 0.73955e+03_rb,0.87926e+03_rb,0.10190e+04_rb,0.11583e+04_rb /) kao(:, 1,13,11) = (/ & & 0.11561e+04_rb,0.10152e+04_rb,0.87509e+03_rb,0.73383e+03_rb,0.60253e+03_rb, & & 0.74321e+03_rb,0.88362e+03_rb,0.10246e+04_rb,0.11664e+04_rb /) kao(:, 2,13,11) = (/ & & 0.11468e+04_rb,0.10069e+04_rb,0.86783e+03_rb,0.72921e+03_rb,0.60211e+03_rb, & & 0.74294e+03_rb,0.88286e+03_rb,0.10230e+04_rb,0.11639e+04_rb /) kao(:, 3,13,11) = (/ & & 0.11390e+04_rb,0.10001e+04_rb,0.86301e+03_rb,0.72323e+03_rb,0.60140e+03_rb, & & 0.74194e+03_rb,0.88181e+03_rb,0.10218e+04_rb,0.11621e+04_rb /) kao(:, 4,13,11) = (/ & & 0.11313e+04_rb,0.99361e+03_rb,0.85706e+03_rb,0.72032e+03_rb,0.60042e+03_rb, & & 0.74065e+03_rb,0.88048e+03_rb,0.10204e+04_rb,0.11602e+04_rb /) kao(:, 5,13,11) = (/ & & 0.11266e+04_rb,0.99042e+03_rb,0.85257e+03_rb,0.71548e+03_rb,0.59931e+03_rb, & & 0.73930e+03_rb,0.87908e+03_rb,0.10187e+04_rb,0.11583e+04_rb /) kao(:, 1, 1,12) = (/ & & 0.19596e+04_rb,0.17200e+04_rb,0.14802e+04_rb,0.12370e+04_rb,0.99641e+03_rb, & & 0.75556e+03_rb,0.88658e+03_rb,0.10236e+04_rb,0.11622e+04_rb /) kao(:, 2, 1,12) = (/ & & 0.19107e+04_rb,0.16797e+04_rb,0.14463e+04_rb,0.12083e+04_rb,0.97440e+03_rb, & & 0.74935e+03_rb,0.88455e+03_rb,0.10223e+04_rb,0.11611e+04_rb /) kao(:, 3, 1,12) = (/ & & 0.18687e+04_rb,0.16368e+04_rb,0.14091e+04_rb,0.11809e+04_rb,0.95100e+03_rb, & & 0.74626e+03_rb,0.88278e+03_rb,0.10214e+04_rb,0.11600e+04_rb /) kao(:, 4, 1,12) = (/ & & 0.18274e+04_rb,0.15998e+04_rb,0.13805e+04_rb,0.11544e+04_rb,0.92955e+03_rb, & & 0.74432e+03_rb,0.88029e+03_rb,0.10193e+04_rb,0.11572e+04_rb /) kao(:, 5, 1,12) = (/ & & 0.17908e+04_rb,0.15685e+04_rb,0.13492e+04_rb,0.11303e+04_rb,0.91228e+03_rb, & & 0.74183e+03_rb,0.87814e+03_rb,0.10165e+04_rb,0.11551e+04_rb /) kao(:, 1, 2,12) = (/ & & 0.18091e+04_rb,0.15890e+04_rb,0.13701e+04_rb,0.11447e+04_rb,0.92240e+03_rb, & & 0.75031e+03_rb,0.88580e+03_rb,0.10236e+04_rb,0.11628e+04_rb /) kao(:, 2, 2,12) = (/ & & 0.17702e+04_rb,0.15507e+04_rb,0.13346e+04_rb,0.11179e+04_rb,0.90072e+03_rb, & & 0.74790e+03_rb,0.88384e+03_rb,0.10222e+04_rb,0.11616e+04_rb /) kao(:, 3, 2,12) = (/ & & 0.17282e+04_rb,0.15159e+04_rb,0.13066e+04_rb,0.10967e+04_rb,0.88274e+03_rb, & & 0.74530e+03_rb,0.88241e+03_rb,0.10213e+04_rb,0.11606e+04_rb /) kao(:, 4, 2,12) = (/ & & 0.16964e+04_rb,0.14887e+04_rb,0.12816e+04_rb,0.10711e+04_rb,0.86387e+03_rb, & & 0.74308e+03_rb,0.88064e+03_rb,0.10199e+04_rb,0.11593e+04_rb /) kao(:, 5, 2,12) = (/ & & 0.16664e+04_rb,0.14634e+04_rb,0.12570e+04_rb,0.10541e+04_rb,0.84878e+03_rb, & & 0.74105e+03_rb,0.87802e+03_rb,0.10170e+04_rb,0.11559e+04_rb /) kao(:, 1, 3,12) = (/ & & 0.16969e+04_rb,0.14893e+04_rb,0.12806e+04_rb,0.10686e+04_rb,0.86200e+03_rb, & & 0.74953e+03_rb,0.88586e+03_rb,0.10239e+04_rb,0.11637e+04_rb /) kao(:, 2, 3,12) = (/ & & 0.16530e+04_rb,0.14535e+04_rb,0.12505e+04_rb,0.10502e+04_rb,0.84485e+03_rb, & & 0.74734e+03_rb,0.88380e+03_rb,0.10224e+04_rb,0.11623e+04_rb /) kao(:, 3, 3,12) = (/ & & 0.16258e+04_rb,0.14316e+04_rb,0.12308e+04_rb,0.10274e+04_rb,0.82737e+03_rb, & & 0.74498e+03_rb,0.88220e+03_rb,0.10214e+04_rb,0.11612e+04_rb /) kao(:, 4, 3,12) = (/ & & 0.15947e+04_rb,0.13987e+04_rb,0.12036e+04_rb,0.10100e+04_rb,0.81398e+03_rb, & & 0.74250e+03_rb,0.88073e+03_rb,0.10203e+04_rb,0.11601e+04_rb /) kao(:, 5, 3,12) = (/ & & 0.15659e+04_rb,0.13745e+04_rb,0.11827e+04_rb,0.99357e+03_rb,0.79945e+03_rb, & & 0.74072e+03_rb,0.87844e+03_rb,0.10192e+04_rb,0.11574e+04_rb /) kao(:, 1, 4,12) = (/ & & 0.15993e+04_rb,0.14029e+04_rb,0.12034e+04_rb,0.10105e+04_rb,0.81494e+03_rb, & & 0.74898e+03_rb,0.88604e+03_rb,0.10246e+04_rb,0.11648e+04_rb /) kao(:, 2, 4,12) = (/ & & 0.15603e+04_rb,0.13717e+04_rb,0.11803e+04_rb,0.99158e+03_rb,0.79797e+03_rb, & & 0.74702e+03_rb,0.88413e+03_rb,0.10230e+04_rb,0.11631e+04_rb /) kao(:, 3, 4,12) = (/ & & 0.15363e+04_rb,0.13460e+04_rb,0.11581e+04_rb,0.97158e+03_rb,0.78286e+03_rb, & & 0.74488e+03_rb,0.88249e+03_rb,0.10215e+04_rb,0.11618e+04_rb /) kao(:, 4, 4,12) = (/ & & 0.15069e+04_rb,0.13248e+04_rb,0.11397e+04_rb,0.95515e+03_rb,0.77185e+03_rb, & & 0.74259e+03_rb,0.88086e+03_rb,0.10207e+04_rb,0.11608e+04_rb /) kao(:, 5, 4,12) = (/ & & 0.14842e+04_rb,0.13030e+04_rb,0.11201e+04_rb,0.94205e+03_rb,0.75928e+03_rb, & & 0.74072e+03_rb,0.87912e+03_rb,0.10193e+04_rb,0.11593e+04_rb /) kao(:, 1, 5,12) = (/ & & 0.15161e+04_rb,0.13293e+04_rb,0.11434e+04_rb,0.96071e+03_rb,0.77366e+03_rb, & & 0.74856e+03_rb,0.88634e+03_rb,0.10256e+04_rb,0.11660e+04_rb /) kao(:, 2, 5,12) = (/ & & 0.14862e+04_rb,0.13039e+04_rb,0.11202e+04_rb,0.93927e+03_rb,0.75808e+03_rb, & & 0.74678e+03_rb,0.88432e+03_rb,0.10237e+04_rb,0.11641e+04_rb /) kao(:, 3, 5,12) = (/ & & 0.14569e+04_rb,0.12812e+04_rb,0.11040e+04_rb,0.92477e+03_rb,0.74608e+03_rb, & & 0.74483e+03_rb,0.88267e+03_rb,0.10221e+04_rb,0.11626e+04_rb /) kao(:, 4, 5,12) = (/ & & 0.14370e+04_rb,0.12601e+04_rb,0.10866e+04_rb,0.91322e+03_rb,0.73546e+03_rb, & & 0.74282e+03_rb,0.88106e+03_rb,0.10210e+04_rb,0.11614e+04_rb /) kao(:, 5, 5,12) = (/ & & 0.14157e+04_rb,0.12432e+04_rb,0.10692e+04_rb,0.89766e+03_rb,0.72371e+03_rb, & & 0.74075e+03_rb,0.87977e+03_rb,0.10201e+04_rb,0.11604e+04_rb /) kao(:, 1, 6,12) = (/ & & 0.14446e+04_rb,0.12668e+04_rb,0.10902e+04_rb,0.91458e+03_rb,0.73853e+03_rb, & & 0.74800e+03_rb,0.88683e+03_rb,0.10267e+04_rb,0.11674e+04_rb /) kao(:, 2, 6,12) = (/ & & 0.14180e+04_rb,0.12442e+04_rb,0.10729e+04_rb,0.90054e+03_rb,0.72712e+03_rb, & & 0.74664e+03_rb,0.88490e+03_rb,0.10243e+04_rb,0.11653e+04_rb /) kao(:, 3, 6,12) = (/ & & 0.13970e+04_rb,0.12338e+04_rb,0.10562e+04_rb,0.88644e+03_rb,0.71466e+03_rb, & & 0.74490e+03_rb,0.88299e+03_rb,0.10228e+04_rb,0.11635e+04_rb /) kao(:, 4, 6,12) = (/ & & 0.13772e+04_rb,0.12092e+04_rb,0.10403e+04_rb,0.87191e+03_rb,0.70566e+03_rb, & & 0.74297e+03_rb,0.88145e+03_rb,0.10214e+04_rb,0.11622e+04_rb /) kao(:, 5, 6,12) = (/ & & 0.13536e+04_rb,0.11933e+04_rb,0.10279e+04_rb,0.85985e+03_rb,0.69532e+03_rb, & & 0.74091e+03_rb,0.88002e+03_rb,0.10207e+04_rb,0.11611e+04_rb /) kao(:, 1, 7,12) = (/ & & 0.13872e+04_rb,0.12173e+04_rb,0.10473e+04_rb,0.87779e+03_rb,0.70929e+03_rb, & & 0.74753e+03_rb,0.88739e+03_rb,0.10279e+04_rb,0.11686e+04_rb /) kao(:, 2, 7,12) = (/ & & 0.13614e+04_rb,0.11960e+04_rb,0.10302e+04_rb,0.86342e+03_rb,0.69779e+03_rb, & & 0.74649e+03_rb,0.88535e+03_rb,0.10254e+04_rb,0.11666e+04_rb /) kao(:, 3, 7,12) = (/ & & 0.13423e+04_rb,0.11779e+04_rb,0.10152e+04_rb,0.85120e+03_rb,0.68669e+03_rb, & & 0.74500e+03_rb,0.88364e+03_rb,0.10236e+04_rb,0.11646e+04_rb /) kao(:, 4, 7,12) = (/ & & 0.13222e+04_rb,0.11614e+04_rb,0.10027e+04_rb,0.84138e+03_rb,0.67980e+03_rb, & & 0.74324e+03_rb,0.88194e+03_rb,0.10219e+04_rb,0.11628e+04_rb /) kao(:, 5, 7,12) = (/ & & 0.13077e+04_rb,0.11487e+04_rb,0.98870e+03_rb,0.82923e+03_rb,0.67117e+03_rb, & & 0.74131e+03_rb,0.88052e+03_rb,0.10200e+04_rb,0.11617e+04_rb /) kao(:, 1, 8,12) = (/ & & 0.13318e+04_rb,0.11751e+04_rb,0.10116e+04_rb,0.84760e+03_rb,0.68552e+03_rb, & & 0.74755e+03_rb,0.88764e+03_rb,0.10284e+04_rb,0.11697e+04_rb /) kao(:, 2, 8,12) = (/ & & 0.13123e+04_rb,0.11533e+04_rb,0.99316e+03_rb,0.83364e+03_rb,0.67452e+03_rb, & & 0.74634e+03_rb,0.88623e+03_rb,0.10267e+04_rb,0.11679e+04_rb /) kao(:, 3, 8,12) = (/ & & 0.12963e+04_rb,0.11395e+04_rb,0.98036e+03_rb,0.82206e+03_rb,0.66378e+03_rb, & & 0.74528e+03_rb,0.88422e+03_rb,0.10245e+04_rb,0.11657e+04_rb /) kao(:, 4, 8,12) = (/ & & 0.12799e+04_rb,0.11235e+04_rb,0.96838e+03_rb,0.81175e+03_rb,0.65688e+03_rb, & & 0.74350e+03_rb,0.88249e+03_rb,0.10227e+04_rb,0.11639e+04_rb /) kao(:, 5, 8,12) = (/ & & 0.12649e+04_rb,0.11128e+04_rb,0.95762e+03_rb,0.80323e+03_rb,0.64917e+03_rb, & & 0.74172e+03_rb,0.88089e+03_rb,0.10213e+04_rb,0.11624e+04_rb /) kao(:, 1, 9,12) = (/ & & 0.12892e+04_rb,0.11353e+04_rb,0.97529e+03_rb,0.81997e+03_rb,0.66439e+03_rb, & & 0.74689e+03_rb,0.88774e+03_rb,0.10288e+04_rb,0.11703e+04_rb /) kao(:, 2, 9,12) = (/ & & 0.12710e+04_rb,0.11179e+04_rb,0.96230e+03_rb,0.80757e+03_rb,0.65174e+03_rb, & & 0.74606e+03_rb,0.88671e+03_rb,0.10277e+04_rb,0.11691e+04_rb /) kao(:, 3, 9,12) = (/ & & 0.12556e+04_rb,0.11026e+04_rb,0.95506e+03_rb,0.79904e+03_rb,0.64512e+03_rb, & & 0.74525e+03_rb,0.88489e+03_rb,0.10254e+04_rb,0.11669e+04_rb /) kao(:, 4, 9,12) = (/ & & 0.12434e+04_rb,0.10930e+04_rb,0.94625e+03_rb,0.79326e+03_rb,0.63956e+03_rb, & & 0.74375e+03_rb,0.88308e+03_rb,0.10236e+04_rb,0.11649e+04_rb /) kao(:, 5, 9,12) = (/ & & 0.12362e+04_rb,0.10807e+04_rb,0.93519e+03_rb,0.78318e+03_rb,0.63176e+03_rb, & & 0.74222e+03_rb,0.88144e+03_rb,0.10218e+04_rb,0.11632e+04_rb /) kao(:, 1,10,12) = (/ & & 0.12560e+04_rb,0.11008e+04_rb,0.94819e+03_rb,0.79713e+03_rb,0.64289e+03_rb, & & 0.74662e+03_rb,0.88790e+03_rb,0.10293e+04_rb,0.11710e+04_rb /) kao(:, 2,10,12) = (/ & & 0.12370e+04_rb,0.10868e+04_rb,0.93614e+03_rb,0.78750e+03_rb,0.63591e+03_rb, & & 0.74589e+03_rb,0.88689e+03_rb,0.10281e+04_rb,0.11697e+04_rb /) kao(:, 3,10,12) = (/ & & 0.12228e+04_rb,0.10745e+04_rb,0.92565e+03_rb,0.77586e+03_rb,0.63013e+03_rb, & & 0.74525e+03_rb,0.88546e+03_rb,0.10265e+04_rb,0.11680e+04_rb /) kao(:, 4,10,12) = (/ & & 0.12130e+04_rb,0.10629e+04_rb,0.91805e+03_rb,0.77218e+03_rb,0.62214e+03_rb, & & 0.74398e+03_rb,0.88360e+03_rb,0.10243e+04_rb,0.11659e+04_rb /) kao(:, 5,10,12) = (/ & & 0.11990e+04_rb,0.10561e+04_rb,0.90990e+03_rb,0.76234e+03_rb,0.61782e+03_rb, & & 0.74238e+03_rb,0.88192e+03_rb,0.10225e+04_rb,0.11640e+04_rb /) kao(:, 1,11,12) = (/ & & 0.12160e+04_rb,0.10660e+04_rb,0.91756e+03_rb,0.77092e+03_rb,0.62410e+03_rb, & & 0.74614e+03_rb,0.88758e+03_rb,0.10288e+04_rb,0.11712e+04_rb /) kao(:, 2,11,12) = (/ & & 0.12001e+04_rb,0.10573e+04_rb,0.90897e+03_rb,0.76187e+03_rb,0.61778e+03_rb, & & 0.74563e+03_rb,0.88659e+03_rb,0.10280e+04_rb,0.11697e+04_rb /) kao(:, 3,11,12) = (/ & & 0.11883e+04_rb,0.10436e+04_rb,0.89901e+03_rb,0.75711e+03_rb,0.61087e+03_rb, & & 0.74468e+03_rb,0.88519e+03_rb,0.10264e+04_rb,0.11680e+04_rb /) kao(:, 4,11,12) = (/ & & 0.11791e+04_rb,0.10338e+04_rb,0.89462e+03_rb,0.74974e+03_rb,0.60740e+03_rb, & & 0.74372e+03_rb,0.88322e+03_rb,0.10242e+04_rb,0.11659e+04_rb /) kao(:, 5,11,12) = (/ & & 0.11736e+04_rb,0.10284e+04_rb,0.88610e+03_rb,0.74386e+03_rb,0.60256e+03_rb, & & 0.74204e+03_rb,0.88156e+03_rb,0.10223e+04_rb,0.11640e+04_rb /) kao(:, 1,12,12) = (/ & & 0.11783e+04_rb,0.10408e+04_rb,0.89462e+03_rb,0.75034e+03_rb,0.60838e+03_rb, & & 0.74575e+03_rb,0.88732e+03_rb,0.10288e+04_rb,0.11710e+04_rb /) kao(:, 2,12,12) = (/ & & 0.11693e+04_rb,0.10333e+04_rb,0.88486e+03_rb,0.74467e+03_rb,0.60420e+03_rb, & & 0.74514e+03_rb,0.88635e+03_rb,0.10279e+04_rb,0.11697e+04_rb /) kao(:, 3,12,12) = (/ & & 0.11597e+04_rb,0.10197e+04_rb,0.87845e+03_rb,0.73901e+03_rb,0.60371e+03_rb, & & 0.74440e+03_rb,0.88495e+03_rb,0.10263e+04_rb,0.11680e+04_rb /) kao(:, 4,12,12) = (/ & & 0.11554e+04_rb,0.10154e+04_rb,0.87390e+03_rb,0.73209e+03_rb,0.60310e+03_rb, & & 0.74343e+03_rb,0.88312e+03_rb,0.10241e+04_rb,0.11659e+04_rb /) kao(:, 5,12,12) = (/ & & 0.11463e+04_rb,0.10081e+04_rb,0.86768e+03_rb,0.73113e+03_rb,0.60226e+03_rb, & & 0.74178e+03_rb,0.88148e+03_rb,0.10222e+04_rb,0.11640e+04_rb /) kao(:, 1,13,12) = (/ & & 0.11576e+04_rb,0.10172e+04_rb,0.87697e+03_rb,0.73496e+03_rb,0.60442e+03_rb, & & 0.74542e+03_rb,0.88710e+03_rb,0.10287e+04_rb,0.11710e+04_rb /) kao(:, 2,13,12) = (/ & & 0.11489e+04_rb,0.10121e+04_rb,0.86787e+03_rb,0.73038e+03_rb,0.60369e+03_rb, & & 0.74483e+03_rb,0.88615e+03_rb,0.10278e+04_rb,0.11697e+04_rb /) kao(:, 3,13,12) = (/ & & 0.11408e+04_rb,0.10003e+04_rb,0.86069e+03_rb,0.72468e+03_rb,0.60332e+03_rb, & & 0.74398e+03_rb,0.88477e+03_rb,0.10262e+04_rb,0.11679e+04_rb /) kao(:, 4,13,12) = (/ & & 0.11353e+04_rb,0.99812e+03_rb,0.85805e+03_rb,0.72010e+03_rb,0.60276e+03_rb, & & 0.74301e+03_rb,0.88294e+03_rb,0.10240e+04_rb,0.11659e+04_rb /) kao(:, 5,13,12) = (/ & & 0.11276e+04_rb,0.99093e+03_rb,0.85424e+03_rb,0.71851e+03_rb,0.60186e+03_rb, & & 0.74137e+03_rb,0.88131e+03_rb,0.10223e+04_rb,0.11640e+04_rb /) kao(:, 1, 1,13) = (/ & & 0.19698e+04_rb,0.17183e+04_rb,0.14812e+04_rb,0.12476e+04_rb,0.10057e+04_rb, & & 0.76142e+03_rb,0.89076e+03_rb,0.10305e+04_rb,0.11701e+04_rb /) kao(:, 2, 1,13) = (/ & & 0.19138e+04_rb,0.16790e+04_rb,0.14471e+04_rb,0.12079e+04_rb,0.97024e+03_rb, & & 0.74958e+03_rb,0.88854e+03_rb,0.10281e+04_rb,0.11676e+04_rb /) kao(:, 3, 1,13) = (/ & & 0.18656e+04_rb,0.16362e+04_rb,0.14072e+04_rb,0.11764e+04_rb,0.95368e+03_rb, & & 0.74756e+03_rb,0.88578e+03_rb,0.10247e+04_rb,0.11642e+04_rb /) kao(:, 4, 1,13) = (/ & & 0.18274e+04_rb,0.16076e+04_rb,0.13744e+04_rb,0.11522e+04_rb,0.93101e+03_rb, & & 0.74489e+03_rb,0.88368e+03_rb,0.10224e+04_rb,0.11624e+04_rb /) kao(:, 5, 1,13) = (/ & & 0.18123e+04_rb,0.15711e+04_rb,0.13539e+04_rb,0.11391e+04_rb,0.91271e+03_rb, & & 0.74309e+03_rb,0.88194e+03_rb,0.10210e+04_rb,0.11601e+04_rb /) kao(:, 1, 2,13) = (/ & & 0.18136e+04_rb,0.16074e+04_rb,0.13682e+04_rb,0.11455e+04_rb,0.92152e+03_rb, & & 0.75090e+03_rb,0.89044e+03_rb,0.10309e+04_rb,0.11711e+04_rb /) kao(:, 2, 2,13) = (/ & & 0.17663e+04_rb,0.15639e+04_rb,0.13412e+04_rb,0.11338e+04_rb,0.90565e+03_rb, & & 0.74892e+03_rb,0.88842e+03_rb,0.10286e+04_rb,0.11690e+04_rb /) kao(:, 3, 2,13) = (/ & & 0.17473e+04_rb,0.15168e+04_rb,0.13179e+04_rb,0.10933e+04_rb,0.88564e+03_rb, & & 0.74657e+03_rb,0.88587e+03_rb,0.10277e+04_rb,0.11659e+04_rb /) kao(:, 4, 2,13) = (/ & & 0.16935e+04_rb,0.14940e+04_rb,0.12866e+04_rb,0.10771e+04_rb,0.86513e+03_rb, & & 0.74388e+03_rb,0.88292e+03_rb,0.10226e+04_rb,0.11621e+04_rb /) kao(:, 5, 2,13) = (/ & & 0.16796e+04_rb,0.14587e+04_rb,0.12610e+04_rb,0.10625e+04_rb,0.85051e+03_rb, & & 0.74222e+03_rb,0.88187e+03_rb,0.10215e+04_rb,0.11614e+04_rb /) kao(:, 1, 3,13) = (/ & & 0.16915e+04_rb,0.14853e+04_rb,0.12759e+04_rb,0.10742e+04_rb,0.87078e+03_rb, & & 0.75040e+03_rb,0.89056e+03_rb,0.10314e+04_rb,0.11723e+04_rb /) kao(:, 2, 3,13) = (/ & & 0.16685e+04_rb,0.14695e+04_rb,0.12569e+04_rb,0.10522e+04_rb,0.84369e+03_rb, & & 0.74849e+03_rb,0.88875e+03_rb,0.10295e+04_rb,0.11702e+04_rb /) kao(:, 3, 3,13) = (/ & & 0.16315e+04_rb,0.14234e+04_rb,0.12207e+04_rb,0.10278e+04_rb,0.83542e+03_rb, & & 0.74665e+03_rb,0.88665e+03_rb,0.10272e+04_rb,0.11677e+04_rb /) kao(:, 4, 3,13) = (/ & & 0.15936e+04_rb,0.13973e+04_rb,0.11983e+04_rb,0.10068e+04_rb,0.81253e+03_rb, & & 0.74392e+03_rb,0.88383e+03_rb,0.10241e+04_rb,0.11643e+04_rb /) kao(:, 5, 3,13) = (/ & & 0.15704e+04_rb,0.13749e+04_rb,0.11794e+04_rb,0.99081e+03_rb,0.79887e+03_rb, & & 0.74214e+03_rb,0.88216e+03_rb,0.10204e+04_rb,0.11625e+04_rb /) kao(:, 1, 4,13) = (/ & & 0.16005e+04_rb,0.14146e+04_rb,0.12141e+04_rb,0.10096e+04_rb,0.81830e+03_rb, & & 0.74981e+03_rb,0.89073e+03_rb,0.10323e+04_rb,0.11736e+04_rb /) kao(:, 2, 4,13) = (/ & & 0.15697e+04_rb,0.13709e+04_rb,0.11792e+04_rb,0.98706e+03_rb,0.80274e+03_rb, & & 0.74843e+03_rb,0.88917e+03_rb,0.10304e+04_rb,0.11716e+04_rb /) kao(:, 3, 4,13) = (/ & & 0.15342e+04_rb,0.13528e+04_rb,0.11633e+04_rb,0.97494e+03_rb,0.78298e+03_rb, & & 0.74655e+03_rb,0.88714e+03_rb,0.10283e+04_rb,0.11694e+04_rb /) kao(:, 4, 4,13) = (/ & & 0.15079e+04_rb,0.13273e+04_rb,0.11368e+04_rb,0.95326e+03_rb,0.76898e+03_rb, & & 0.74477e+03_rb,0.88522e+03_rb,0.10258e+04_rb,0.11666e+04_rb /) kao(:, 5, 4,13) = (/ & & 0.14904e+04_rb,0.13050e+04_rb,0.11274e+04_rb,0.94133e+03_rb,0.75918e+03_rb, & & 0.74185e+03_rb,0.88236e+03_rb,0.10229e+04_rb,0.11634e+04_rb /) kao(:, 1, 5,13) = (/ & & 0.15223e+04_rb,0.13292e+04_rb,0.11458e+04_rb,0.96632e+03_rb,0.77253e+03_rb, & & 0.74931e+03_rb,0.89080e+03_rb,0.10327e+04_rb,0.11744e+04_rb /) kao(:, 2, 5,13) = (/ & & 0.14887e+04_rb,0.13100e+04_rb,0.11308e+04_rb,0.95564e+03_rb,0.76318e+03_rb, & & 0.74814e+03_rb,0.88953e+03_rb,0.10311e+04_rb,0.11728e+04_rb /) kao(:, 3, 5,13) = (/ & & 0.14666e+04_rb,0.12805e+04_rb,0.10990e+04_rb,0.92585e+03_rb,0.74527e+03_rb, & & 0.74662e+03_rb,0.88788e+03_rb,0.10293e+04_rb,0.11708e+04_rb /) kao(:, 4, 5,13) = (/ & & 0.14380e+04_rb,0.12615e+04_rb,0.10805e+04_rb,0.91192e+03_rb,0.73306e+03_rb, & & 0.74471e+03_rb,0.88594e+03_rb,0.10272e+04_rb,0.11684e+04_rb /) kao(:, 5, 5,13) = (/ & & 0.14117e+04_rb,0.12389e+04_rb,0.10707e+04_rb,0.89863e+03_rb,0.72872e+03_rb, & & 0.74254e+03_rb,0.88356e+03_rb,0.10243e+04_rb,0.11652e+04_rb /) kao(:, 1, 6,13) = (/ & & 0.14428e+04_rb,0.12661e+04_rb,0.10990e+04_rb,0.91605e+03_rb,0.74645e+03_rb, & & 0.74914e+03_rb,0.89068e+03_rb,0.10327e+04_rb,0.11747e+04_rb /) kao(:, 2, 6,13) = (/ & & 0.14277e+04_rb,0.12454e+04_rb,0.10670e+04_rb,0.90364e+03_rb,0.72758e+03_rb, & & 0.74802e+03_rb,0.88983e+03_rb,0.10318e+04_rb,0.11738e+04_rb /) kao(:, 3, 6,13) = (/ & & 0.14072e+04_rb,0.12244e+04_rb,0.10539e+04_rb,0.88576e+03_rb,0.71342e+03_rb, & & 0.74674e+03_rb,0.88844e+03_rb,0.10303e+04_rb,0.11723e+04_rb /) kao(:, 4, 6,13) = (/ & & 0.13764e+04_rb,0.12101e+04_rb,0.10371e+04_rb,0.87173e+03_rb,0.70565e+03_rb, & & 0.74519e+03_rb,0.88672e+03_rb,0.10284e+04_rb,0.11700e+04_rb /) kao(:, 5, 6,13) = (/ & & 0.13559e+04_rb,0.11928e+04_rb,0.10275e+04_rb,0.87202e+03_rb,0.69916e+03_rb, & & 0.74337e+03_rb,0.88468e+03_rb,0.10257e+04_rb,0.11677e+04_rb /) kao(:, 1, 7,13) = (/ & & 0.13816e+04_rb,0.12181e+04_rb,0.10498e+04_rb,0.87727e+03_rb,0.70862e+03_rb, & & 0.74879e+03_rb,0.89032e+03_rb,0.10324e+04_rb,0.11748e+04_rb /) kao(:, 2, 7,13) = (/ & & 0.13746e+04_rb,0.12007e+04_rb,0.10368e+04_rb,0.86700e+03_rb,0.69742e+03_rb, & & 0.74791e+03_rb,0.88998e+03_rb,0.10322e+04_rb,0.11745e+04_rb /) kao(:, 3, 7,13) = (/ & & 0.13471e+04_rb,0.11822e+04_rb,0.10118e+04_rb,0.85187e+03_rb,0.69076e+03_rb, & & 0.74684e+03_rb,0.88891e+03_rb,0.10311e+04_rb,0.11732e+04_rb /) kao(:, 4, 7,13) = (/ & & 0.13306e+04_rb,0.11625e+04_rb,0.10055e+04_rb,0.83687e+03_rb,0.67946e+03_rb, & & 0.74564e+03_rb,0.88741e+03_rb,0.10294e+04_rb,0.11714e+04_rb /) kao(:, 5, 7,13) = (/ & & 0.13072e+04_rb,0.11462e+04_rb,0.98997e+03_rb,0.82975e+03_rb,0.67148e+03_rb, & & 0.74390e+03_rb,0.88544e+03_rb,0.10275e+04_rb,0.11691e+04_rb /) kao(:, 1, 8,13) = (/ & & 0.13342e+04_rb,0.11738e+04_rb,0.10072e+04_rb,0.84777e+03_rb,0.68336e+03_rb, & & 0.74810e+03_rb,0.89032e+03_rb,0.10328e+04_rb,0.11753e+04_rb /) kao(:, 2, 8,13) = (/ & & 0.13170e+04_rb,0.11565e+04_rb,0.99551e+03_rb,0.83812e+03_rb,0.67873e+03_rb, & & 0.74767e+03_rb,0.88984e+03_rb,0.10325e+04_rb,0.11747e+04_rb /) kao(:, 3, 8,13) = (/ & & 0.12961e+04_rb,0.11348e+04_rb,0.98531e+03_rb,0.82142e+03_rb,0.66767e+03_rb, & & 0.74660e+03_rb,0.88923e+03_rb,0.10317e+04_rb,0.11741e+04_rb /) kao(:, 4, 8,13) = (/ & & 0.12863e+04_rb,0.11324e+04_rb,0.96704e+03_rb,0.81553e+03_rb,0.65703e+03_rb, & & 0.74590e+03_rb,0.88815e+03_rb,0.10305e+04_rb,0.11725e+04_rb /) kao(:, 5, 8,13) = (/ & & 0.12689e+04_rb,0.11113e+04_rb,0.96142e+03_rb,0.81188e+03_rb,0.65150e+03_rb, & & 0.74435e+03_rb,0.88637e+03_rb,0.10284e+04_rb,0.11705e+04_rb /) kao(:, 1, 9,13) = (/ & & 0.12929e+04_rb,0.11420e+04_rb,0.97941e+03_rb,0.82358e+03_rb,0.66259e+03_rb, & & 0.74862e+03_rb,0.89046e+03_rb,0.10332e+04_rb,0.11761e+04_rb /) kao(:, 2, 9,13) = (/ & & 0.12739e+04_rb,0.11222e+04_rb,0.96918e+03_rb,0.81141e+03_rb,0.65436e+03_rb, & & 0.74747e+03_rb,0.88962e+03_rb,0.10323e+04_rb,0.11749e+04_rb /) kao(:, 3, 9,13) = (/ & & 0.12674e+04_rb,0.11070e+04_rb,0.94554e+03_rb,0.79811e+03_rb,0.64989e+03_rb, & & 0.74671e+03_rb,0.88937e+03_rb,0.10320e+04_rb,0.11746e+04_rb /) kao(:, 4, 9,13) = (/ & & 0.12536e+04_rb,0.10974e+04_rb,0.93180e+03_rb,0.78881e+03_rb,0.64048e+03_rb, & & 0.74596e+03_rb,0.88846e+03_rb,0.10310e+04_rb,0.11735e+04_rb /) kao(:, 5, 9,13) = (/ & & 0.12304e+04_rb,0.10931e+04_rb,0.92897e+03_rb,0.78158e+03_rb,0.63657e+03_rb, & & 0.74461e+03_rb,0.88706e+03_rb,0.10294e+04_rb,0.11717e+04_rb /) kao(:, 1,10,13) = (/ & & 0.12516e+04_rb,0.11039e+04_rb,0.96641e+03_rb,0.80204e+03_rb,0.64728e+03_rb, & & 0.74871e+03_rb,0.89043e+03_rb,0.10331e+04_rb,0.11761e+04_rb /) kao(:, 2,10,13) = (/ & & 0.12445e+04_rb,0.10951e+04_rb,0.94205e+03_rb,0.78296e+03_rb,0.63684e+03_rb, & & 0.74738e+03_rb,0.88974e+03_rb,0.10326e+04_rb,0.11754e+04_rb /) kao(:, 3,10,13) = (/ & & 0.12212e+04_rb,0.10830e+04_rb,0.92907e+03_rb,0.78344e+03_rb,0.62583e+03_rb, & & 0.74649e+03_rb,0.88924e+03_rb,0.10320e+04_rb,0.11747e+04_rb /) kao(:, 4,10,13) = (/ & & 0.12116e+04_rb,0.10675e+04_rb,0.91424e+03_rb,0.76668e+03_rb,0.62374e+03_rb, & & 0.74589e+03_rb,0.88889e+03_rb,0.10314e+04_rb,0.11741e+04_rb /) kao(:, 5,10,13) = (/ & & 0.12052e+04_rb,0.10532e+04_rb,0.90488e+03_rb,0.76246e+03_rb,0.61399e+03_rb, & & 0.74500e+03_rb,0.88754e+03_rb,0.10301e+04_rb,0.11727e+04_rb /) kao(:, 1,11,13) = (/ & & 0.12119e+04_rb,0.10670e+04_rb,0.92549e+03_rb,0.77292e+03_rb,0.62469e+03_rb, & & 0.74822e+03_rb,0.89015e+03_rb,0.10331e+04_rb,0.11759e+04_rb /) kao(:, 2,11,13) = (/ & & 0.12040e+04_rb,0.10529e+04_rb,0.90947e+03_rb,0.76631e+03_rb,0.61756e+03_rb, & & 0.74680e+03_rb,0.88950e+03_rb,0.10325e+04_rb,0.11754e+04_rb /) kao(:, 3,11,13) = (/ & & 0.11932e+04_rb,0.10470e+04_rb,0.90374e+03_rb,0.75316e+03_rb,0.61137e+03_rb, & & 0.74625e+03_rb,0.88901e+03_rb,0.10319e+04_rb,0.11747e+04_rb /) kao(:, 4,11,13) = (/ & & 0.11901e+04_rb,0.10395e+04_rb,0.89205e+03_rb,0.75483e+03_rb,0.60707e+03_rb, & & 0.74529e+03_rb,0.88868e+03_rb,0.10313e+04_rb,0.11742e+04_rb /) kao(:, 5,11,13) = (/ & & 0.11740e+04_rb,0.10262e+04_rb,0.88782e+03_rb,0.74555e+03_rb,0.60321e+03_rb, & & 0.74456e+03_rb,0.88735e+03_rb,0.10302e+04_rb,0.11727e+04_rb /) kao(:, 1,12,13) = (/ & & 0.11952e+04_rb,0.10387e+04_rb,0.90464e+03_rb,0.75031e+03_rb,0.60579e+03_rb, & & 0.74809e+03_rb,0.88993e+03_rb,0.10330e+04_rb,0.11761e+04_rb /) kao(:, 2,12,13) = (/ & & 0.11767e+04_rb,0.10280e+04_rb,0.89305e+03_rb,0.74295e+03_rb,0.60520e+03_rb, & & 0.74658e+03_rb,0.88930e+03_rb,0.10324e+04_rb,0.11754e+04_rb /) kao(:, 3,12,13) = (/ & & 0.11638e+04_rb,0.10252e+04_rb,0.88200e+03_rb,0.74209e+03_rb,0.60448e+03_rb, & & 0.74580e+03_rb,0.88883e+03_rb,0.10318e+04_rb,0.11747e+04_rb /) kao(:, 4,12,13) = (/ & & 0.11608e+04_rb,0.10182e+04_rb,0.87717e+03_rb,0.73339e+03_rb,0.60384e+03_rb, & & 0.74474e+03_rb,0.88834e+03_rb,0.10314e+04_rb,0.11742e+04_rb /) kao(:, 5,12,13) = (/ & & 0.11455e+04_rb,0.10085e+04_rb,0.86868e+03_rb,0.72782e+03_rb,0.60261e+03_rb, & & 0.74417e+03_rb,0.88752e+03_rb,0.10299e+04_rb,0.11727e+04_rb /) kao(:, 1,13,13) = (/ & & 0.11538e+04_rb,0.10104e+04_rb,0.87836e+03_rb,0.74181e+03_rb,0.60545e+03_rb, & & 0.74747e+03_rb,0.88975e+03_rb,0.10329e+04_rb,0.11763e+04_rb /) kao(:, 2,13,13) = (/ & & 0.11412e+04_rb,0.10013e+04_rb,0.88484e+03_rb,0.73153e+03_rb,0.60489e+03_rb, & & 0.74629e+03_rb,0.88914e+03_rb,0.10323e+04_rb,0.11754e+04_rb /) kao(:, 3,13,13) = (/ & & 0.11370e+04_rb,0.10022e+04_rb,0.86246e+03_rb,0.73215e+03_rb,0.60419e+03_rb, & & 0.74569e+03_rb,0.88867e+03_rb,0.10317e+04_rb,0.11747e+04_rb /) kao(:, 4,13,13) = (/ & & 0.11288e+04_rb,0.99109e+03_rb,0.86549e+03_rb,0.72280e+03_rb,0.60356e+03_rb, & & 0.74480e+03_rb,0.88820e+03_rb,0.10312e+04_rb,0.11742e+04_rb /) kao(:, 5,13,13) = (/ & & 0.11445e+04_rb,0.99099e+03_rb,0.85129e+03_rb,0.71952e+03_rb,0.60234e+03_rb, & & 0.74410e+03_rb,0.88705e+03_rb,0.10299e+04_rb,0.11727e+04_rb /) kao(:, 1, 1,14) = (/ & & 0.20185e+04_rb,0.18044e+04_rb,0.14758e+04_rb,0.13047e+04_rb,0.10029e+04_rb, & & 0.77460e+03_rb,0.89226e+03_rb,0.10322e+04_rb,0.11721e+04_rb /) kao(:, 2, 1,14) = (/ & & 0.19173e+04_rb,0.17154e+04_rb,0.14467e+04_rb,0.12101e+04_rb,0.99594e+03_rb, & & 0.75026e+03_rb,0.88974e+03_rb,0.10295e+04_rb,0.11713e+04_rb /) kao(:, 3, 1,14) = (/ & & 0.19468e+04_rb,0.16851e+04_rb,0.14136e+04_rb,0.12474e+04_rb,0.94959e+03_rb, & & 0.74773e+03_rb,0.88696e+03_rb,0.10271e+04_rb,0.11663e+04_rb /) kao(:, 4, 1,14) = (/ & & 0.18423e+04_rb,0.16214e+04_rb,0.13991e+04_rb,0.11633e+04_rb,0.94698e+03_rb, & & 0.74507e+03_rb,0.88457e+03_rb,0.10239e+04_rb,0.11632e+04_rb /) kao(:, 5, 1,14) = (/ & & 0.17538e+04_rb,0.16376e+04_rb,0.13645e+04_rb,0.11303e+04_rb,0.98877e+03_rb, & & 0.74430e+03_rb,0.88372e+03_rb,0.10232e+04_rb,0.11626e+04_rb /) kao(:, 1, 2,14) = (/ & & 0.18551e+04_rb,0.16163e+04_rb,0.13640e+04_rb,0.12440e+04_rb,0.97095e+03_rb, & & 0.75153e+03_rb,0.89202e+03_rb,0.10323e+04_rb,0.11731e+04_rb /) kao(:, 2, 2,14) = (/ & & 0.18136e+04_rb,0.16209e+04_rb,0.13887e+04_rb,0.11127e+04_rb,0.90845e+03_rb, & & 0.74936e+03_rb,0.88974e+03_rb,0.10301e+04_rb,0.11702e+04_rb /) kao(:, 3, 2,14) = (/ & & 0.17918e+04_rb,0.15931e+04_rb,0.13282e+04_rb,0.11266e+04_rb,0.93052e+03_rb, & & 0.74732e+03_rb,0.88725e+03_rb,0.10243e+04_rb,0.11672e+04_rb /) kao(:, 4, 2,14) = (/ & & 0.17507e+04_rb,0.14791e+04_rb,0.12865e+04_rb,0.10818e+04_rb,0.87901e+03_rb, & & 0.74478e+03_rb,0.88467e+03_rb,0.10246e+04_rb,0.11645e+04_rb /) kao(:, 5, 2,14) = (/ & & 0.16872e+04_rb,0.14818e+04_rb,0.12871e+04_rb,0.10513e+04_rb,0.88744e+03_rb, & & 0.74325e+03_rb,0.88337e+03_rb,0.10230e+04_rb,0.11625e+04_rb /) kao(:, 1, 3,14) = (/ & & 0.16919e+04_rb,0.15533e+04_rb,0.13337e+04_rb,0.10831e+04_rb,0.86308e+03_rb, & & 0.75085e+03_rb,0.89217e+03_rb,0.10333e+04_rb,0.11744e+04_rb /) kao(:, 2, 3,14) = (/ & & 0.17034e+04_rb,0.15495e+04_rb,0.12643e+04_rb,0.11407e+04_rb,0.84365e+03_rb, & & 0.74929e+03_rb,0.89025e+03_rb,0.10312e+04_rb,0.11722e+04_rb /) kao(:, 3, 3,14) = (/ & & 0.16844e+04_rb,0.14282e+04_rb,0.12585e+04_rb,0.10790e+04_rb,0.84114e+03_rb, & & 0.74691e+03_rb,0.88785e+03_rb,0.10286e+04_rb,0.11700e+04_rb /) kao(:, 4, 3,14) = (/ & & 0.16791e+04_rb,0.14180e+04_rb,0.12209e+04_rb,0.10441e+04_rb,0.85899e+03_rb, & & 0.74519e+03_rb,0.88544e+03_rb,0.10259e+04_rb,0.11667e+04_rb /) kao(:, 5, 3,14) = (/ & & 0.16063e+04_rb,0.13774e+04_rb,0.12181e+04_rb,0.10006e+04_rb,0.82020e+03_rb, & & 0.74245e+03_rb,0.88287e+03_rb,0.10231e+04_rb,0.11633e+04_rb /) kao(:, 1, 4,14) = (/ & & 0.15960e+04_rb,0.13846e+04_rb,0.12078e+04_rb,0.10284e+04_rb,0.81079e+03_rb, & & 0.75078e+03_rb,0.89233e+03_rb,0.10336e+04_rb,0.11751e+04_rb /) kao(:, 2, 4,14) = (/ & & 0.16237e+04_rb,0.13919e+04_rb,0.11906e+04_rb,0.10115e+04_rb,0.83009e+03_rb, & & 0.74909e+03_rb,0.89076e+03_rb,0.10322e+04_rb,0.11737e+04_rb /) kao(:, 3, 4,14) = (/ & & 0.16136e+04_rb,0.13698e+04_rb,0.12046e+04_rb,0.98839e+03_rb,0.80997e+03_rb, & & 0.74745e+03_rb,0.88871e+03_rb,0.10300e+04_rb,0.11712e+04_rb /) kao(:, 4, 4,14) = (/ & & 0.15739e+04_rb,0.13753e+04_rb,0.11394e+04_rb,0.97871e+03_rb,0.77029e+03_rb, & & 0.74770e+03_rb,0.88627e+03_rb,0.10279e+04_rb,0.11682e+04_rb /) kao(:, 5, 4,14) = (/ & & 0.14863e+04_rb,0.13334e+04_rb,0.11445e+04_rb,0.95775e+03_rb,0.78998e+03_rb, & & 0.74317e+03_rb,0.88387e+03_rb,0.10246e+04_rb,0.11653e+04_rb /) kao(:, 1, 5,14) = (/ & & 0.15101e+04_rb,0.14006e+04_rb,0.11513e+04_rb,0.96783e+03_rb,0.79581e+03_rb, & & 0.75045e+03_rb,0.89239e+03_rb,0.10340e+04_rb,0.11759e+04_rb /) kao(:, 2, 5,14) = (/ & & 0.15461e+04_rb,0.13003e+04_rb,0.11685e+04_rb,0.92112e+03_rb,0.77517e+03_rb, & & 0.74927e+03_rb,0.89114e+03_rb,0.10330e+04_rb,0.11749e+04_rb /) kao(:, 3, 5,14) = (/ & & 0.14676e+04_rb,0.12966e+04_rb,0.11042e+04_rb,0.93875e+03_rb,0.79645e+03_rb, & & 0.74772e+03_rb,0.88943e+03_rb,0.10311e+04_rb,0.11729e+04_rb /) kao(:, 4, 5,14) = (/ & & 0.14571e+04_rb,0.12955e+04_rb,0.11734e+04_rb,0.89731e+03_rb,0.76986e+03_rb, & & 0.74578e+03_rb,0.88723e+03_rb,0.10287e+04_rb,0.11702e+04_rb /) kao(:, 5, 5,14) = (/ & & 0.14311e+04_rb,0.13054e+04_rb,0.10738e+04_rb,0.10079e+04_rb,0.72704e+03_rb, & & 0.74437e+03_rb,0.88461e+03_rb,0.10260e+04_rb,0.11675e+04_rb /) kao(:, 1, 6,14) = (/ & & 0.14715e+04_rb,0.12798e+04_rb,0.11182e+04_rb,0.92160e+03_rb,0.75379e+03_rb, & & 0.75023e+03_rb,0.89251e+03_rb,0.10348e+04_rb,0.11771e+04_rb /) kao(:, 2, 6,14) = (/ & & 0.14479e+04_rb,0.12414e+04_rb,0.11222e+04_rb,0.91289e+03_rb,0.75013e+03_rb, & & 0.74921e+03_rb,0.89141e+03_rb,0.10336e+04_rb,0.11758e+04_rb /) kao(:, 3, 6,14) = (/ & & 0.14270e+04_rb,0.12651e+04_rb,0.10793e+04_rb,0.91215e+03_rb,0.74649e+03_rb, & & 0.74796e+03_rb,0.89005e+03_rb,0.10321e+04_rb,0.11739e+04_rb /) kao(:, 4, 6,14) = (/ & & 0.14058e+04_rb,0.12702e+04_rb,0.11005e+04_rb,0.93809e+03_rb,0.69854e+03_rb, & & 0.74632e+03_rb,0.88820e+03_rb,0.10301e+04_rb,0.11720e+04_rb /) kao(:, 5, 6,14) = (/ & & 0.14048e+04_rb,0.12100e+04_rb,0.10413e+04_rb,0.84934e+03_rb,0.69794e+03_rb, & & 0.74429e+03_rb,0.88588e+03_rb,0.10284e+04_rb,0.11701e+04_rb /) kao(:, 1, 7,14) = (/ & & 0.14325e+04_rb,0.12413e+04_rb,0.10595e+04_rb,0.88906e+03_rb,0.71717e+03_rb, & & 0.75037e+03_rb,0.89273e+03_rb,0.10353e+04_rb,0.11779e+04_rb /) kao(:, 2, 7,14) = (/ & & 0.13620e+04_rb,0.12089e+04_rb,0.10598e+04_rb,0.89550e+03_rb,0.73134e+03_rb, & & 0.74911e+03_rb,0.89161e+03_rb,0.10341e+04_rb,0.11766e+04_rb /) kao(:, 3, 7,14) = (/ & & 0.13346e+04_rb,0.12111e+04_rb,0.10262e+04_rb,0.84775e+03_rb,0.68161e+03_rb, & & 0.74811e+03_rb,0.89050e+03_rb,0.10329e+04_rb,0.11753e+04_rb /) kao(:, 4, 7,14) = (/ & & 0.13132e+04_rb,0.11998e+04_rb,0.99757e+03_rb,0.86083e+03_rb,0.70251e+03_rb, & & 0.74653e+03_rb,0.88899e+03_rb,0.10312e+04_rb,0.11735e+04_rb /) kao(:, 5, 7,14) = (/ & & 0.13232e+04_rb,0.11634e+04_rb,0.10230e+04_rb,0.84353e+03_rb,0.68339e+03_rb, & & 0.74500e+03_rb,0.88698e+03_rb,0.10287e+04_rb,0.11709e+04_rb /) kao(:, 1, 8,14) = (/ & & 0.13366e+04_rb,0.11630e+04_rb,0.10188e+04_rb,0.86405e+03_rb,0.71800e+03_rb, & & 0.75008e+03_rb,0.89285e+03_rb,0.10357e+04_rb,0.11785e+04_rb /) kao(:, 2, 8,14) = (/ & & 0.13647e+04_rb,0.11518e+04_rb,0.10110e+04_rb,0.84719e+03_rb,0.67819e+03_rb, & & 0.74911e+03_rb,0.89187e+03_rb,0.10343e+04_rb,0.11777e+04_rb /) kao(:, 3, 8,14) = (/ & & 0.13128e+04_rb,0.11472e+04_rb,0.99038e+03_rb,0.82656e+03_rb,0.66483e+03_rb, & & 0.74815e+03_rb,0.89080e+03_rb,0.10335e+04_rb,0.11761e+04_rb /) kao(:, 4, 8,14) = (/ & & 0.12817e+04_rb,0.11127e+04_rb,0.10092e+04_rb,0.82047e+03_rb,0.65442e+03_rb, & & 0.74685e+03_rb,0.88933e+03_rb,0.10318e+04_rb,0.11746e+04_rb /) kao(:, 5, 8,14) = (/ & & 0.13162e+04_rb,0.11356e+04_rb,0.98305e+03_rb,0.84668e+03_rb,0.66544e+03_rb, & & 0.74558e+03_rb,0.88790e+03_rb,0.10302e+04_rb,0.11725e+04_rb /) kao(:, 1, 9,14) = (/ & & 0.13174e+04_rb,0.11399e+04_rb,0.97696e+03_rb,0.84117e+03_rb,0.66145e+03_rb, & & 0.75011e+03_rb,0.89307e+03_rb,0.10362e+04_rb,0.11789e+04_rb /) kao(:, 2, 9,14) = (/ & & 0.13196e+04_rb,0.11310e+04_rb,0.99094e+03_rb,0.80674e+03_rb,0.67265e+03_rb, & & 0.74915e+03_rb,0.89213e+03_rb,0.10351e+04_rb,0.11781e+04_rb /) kao(:, 3, 9,14) = (/ & & 0.12950e+04_rb,0.10983e+04_rb,0.10229e+04_rb,0.86051e+03_rb,0.66007e+03_rb, & & 0.74819e+03_rb,0.89107e+03_rb,0.10339e+04_rb,0.11768e+04_rb /) kao(:, 4, 9,14) = (/ & & 0.12605e+04_rb,0.10785e+04_rb,0.10061e+04_rb,0.79531e+03_rb,0.63414e+03_rb, & & 0.74728e+03_rb,0.89004e+03_rb,0.10328e+04_rb,0.11756e+04_rb /) kao(:, 5, 9,14) = (/ & & 0.12553e+04_rb,0.10628e+04_rb,0.94908e+03_rb,0.82074e+03_rb,0.64983e+03_rb, & & 0.74606e+03_rb,0.88866e+03_rb,0.10313e+04_rb,0.11739e+04_rb /) kao(:, 1,10,14) = (/ & & 0.13413e+04_rb,0.11632e+04_rb,0.10048e+04_rb,0.80476e+03_rb,0.65189e+03_rb, & & 0.75022e+03_rb,0.89354e+03_rb,0.10369e+04_rb,0.11806e+04_rb /) kao(:, 2,10,14) = (/ & & 0.12838e+04_rb,0.11017e+04_rb,0.10173e+04_rb,0.85213e+03_rb,0.64367e+03_rb, & & 0.74909e+03_rb,0.89223e+03_rb,0.10354e+04_rb,0.11786e+04_rb /) kao(:, 3,10,14) = (/ & & 0.12657e+04_rb,0.11229e+04_rb,0.92134e+03_rb,0.80214e+03_rb,0.64195e+03_rb, & & 0.74870e+03_rb,0.89159e+03_rb,0.10344e+04_rb,0.11778e+04_rb /) kao(:, 4,10,14) = (/ & & 0.12310e+04_rb,0.10594e+04_rb,0.92792e+03_rb,0.78251e+03_rb,0.62401e+03_rb, & & 0.74734e+03_rb,0.89003e+03_rb,0.10332e+04_rb,0.11762e+04_rb /) kao(:, 5,10,14) = (/ & & 0.12088e+04_rb,0.10663e+04_rb,0.92275e+03_rb,0.77707e+03_rb,0.64354e+03_rb, & & 0.74634e+03_rb,0.88914e+03_rb,0.10320e+04_rb,0.11748e+04_rb /) kao(:, 1,11,14) = (/ & & 0.12205e+04_rb,0.10982e+04_rb,0.93349e+03_rb,0.79899e+03_rb,0.64961e+03_rb, & & 0.74981e+03_rb,0.89329e+03_rb,0.10368e+04_rb,0.11803e+04_rb /) kao(:, 2,11,14) = (/ & & 0.12266e+04_rb,0.10977e+04_rb,0.90836e+03_rb,0.76723e+03_rb,0.61851e+03_rb, & & 0.74871e+03_rb,0.89199e+03_rb,0.10353e+04_rb,0.11786e+04_rb /) kao(:, 3,11,14) = (/ & & 0.11876e+04_rb,0.10750e+04_rb,0.92258e+03_rb,0.76849e+03_rb,0.61349e+03_rb, & & 0.74902e+03_rb,0.89163e+03_rb,0.10343e+04_rb,0.11775e+04_rb /) kao(:, 4,11,14) = (/ & & 0.12363e+04_rb,0.10327e+04_rb,0.91965e+03_rb,0.74736e+03_rb,0.60206e+03_rb, & & 0.74703e+03_rb,0.88982e+03_rb,0.10331e+04_rb,0.11762e+04_rb /) kao(:, 5,11,14) = (/ & & 0.11827e+04_rb,0.10266e+04_rb,0.89018e+03_rb,0.76668e+03_rb,0.60360e+03_rb, & & 0.74604e+03_rb,0.88895e+03_rb,0.10316e+04_rb,0.11748e+04_rb /) kao(:, 1,12,14) = (/ & & 0.11808e+04_rb,0.10792e+04_rb,0.88334e+03_rb,0.76947e+03_rb,0.60663e+03_rb, & & 0.74904e+03_rb,0.89307e+03_rb,0.10367e+04_rb,0.11803e+04_rb /) kao(:, 2,12,14) = (/ & & 0.12120e+04_rb,0.10402e+04_rb,0.92096e+03_rb,0.78880e+03_rb,0.60609e+03_rb, & & 0.74841e+03_rb,0.89179e+03_rb,0.10352e+04_rb,0.11786e+04_rb /) kao(:, 3,12,14) = (/ & & 0.12016e+04_rb,0.10899e+04_rb,0.90018e+03_rb,0.73017e+03_rb,0.60527e+03_rb, & & 0.75028e+03_rb,0.89119e+03_rb,0.10342e+04_rb,0.11778e+04_rb /) kao(:, 4,12,14) = (/ & & 0.11901e+04_rb,0.10101e+04_rb,0.88929e+03_rb,0.75342e+03_rb,0.60426e+03_rb, & & 0.74677e+03_rb,0.88991e+03_rb,0.10327e+04_rb,0.11762e+04_rb /) kao(:, 5,12,14) = (/ & & 0.12404e+04_rb,0.10285e+04_rb,0.87283e+03_rb,0.77029e+03_rb,0.60316e+03_rb, & & 0.74579e+03_rb,0.88852e+03_rb,0.10318e+04_rb,0.11748e+04_rb /) kao(:, 1,13,14) = (/ & & 0.11819e+04_rb,0.10465e+04_rb,0.87588e+03_rb,0.72550e+03_rb,0.60649e+03_rb, & & 0.74922e+03_rb,0.89289e+03_rb,0.10366e+04_rb,0.11799e+04_rb /) kao(:, 2,13,14) = (/ & & 0.11759e+04_rb,0.10245e+04_rb,0.86816e+03_rb,0.77411e+03_rb,0.60565e+03_rb, & & 0.74816e+03_rb,0.89163e+03_rb,0.10351e+04_rb,0.11786e+04_rb /) kao(:, 3,13,14) = (/ & & 0.11354e+04_rb,0.10124e+04_rb,0.96299e+03_rb,0.72358e+03_rb,0.60486e+03_rb, & & 0.74851e+03_rb,0.89156e+03_rb,0.10341e+04_rb,0.11778e+04_rb /) kao(:, 4,13,14) = (/ & & 0.11811e+04_rb,0.10736e+04_rb,0.85638e+03_rb,0.74549e+03_rb,0.60366e+03_rb, & & 0.74655e+03_rb,0.88977e+03_rb,0.10330e+04_rb,0.11762e+04_rb /) kao(:, 5,13,14) = (/ & & 0.11332e+04_rb,0.99282e+03_rb,0.87259e+03_rb,0.77082e+03_rb,0.60280e+03_rb, & & 0.74559e+03_rb,0.88865e+03_rb,0.10317e+04_rb,0.11748e+04_rb /) kao(:, 1, 1,15) = (/ & & 0.19847e+04_rb,0.16615e+04_rb,0.16299e+04_rb,0.11466e+04_rb,0.10123e+04_rb, & & 0.72871e+03_rb,0.89405e+03_rb,0.10334e+04_rb,0.11734e+04_rb /) kao(:, 2, 1,15) = (/ & & 0.18867e+04_rb,0.16470e+04_rb,0.14051e+04_rb,0.12848e+04_rb,0.91870e+03_rb, & & 0.75104e+03_rb,0.89013e+03_rb,0.10307e+04_rb,0.11650e+04_rb /) kao(:, 3, 1,15) = (/ & & 0.17405e+04_rb,0.16240e+04_rb,0.14364e+04_rb,0.10773e+04_rb,0.10008e+04_rb, & & 0.74790e+03_rb,0.89023e+03_rb,0.10382e+04_rb,0.11720e+04_rb /) kao(:, 4, 1,15) = (/ & & 0.19099e+04_rb,0.16930e+04_rb,0.14454e+04_rb,0.12410e+04_rb,0.95925e+03_rb, & & 0.74605e+03_rb,0.88544e+03_rb,0.10248e+04_rb,0.11651e+04_rb /) kao(:, 5, 1,15) = (/ & & 0.19738e+04_rb,0.13892e+04_rb,0.14377e+04_rb,0.12129e+04_rb,0.77083e+03_rb, & & 0.74496e+03_rb,0.88458e+03_rb,0.10242e+04_rb,0.11638e+04_rb /) kao(:, 1, 2,15) = (/ & & 0.18788e+04_rb,0.15414e+04_rb,0.14391e+04_rb,0.94831e+03_rb,0.88384e+03_rb, & & 0.75320e+03_rb,0.89399e+03_rb,0.10340e+04_rb,0.11746e+04_rb /) kao(:, 2, 2,15) = (/ & & 0.16660e+04_rb,0.14507e+04_rb,0.12145e+04_rb,0.11753e+04_rb,0.91977e+03_rb, & & 0.75003e+03_rb,0.89113e+03_rb,0.10308e+04_rb,0.11712e+04_rb /) kao(:, 3, 2,15) = (/ & & 0.15746e+04_rb,0.14551e+04_rb,0.13375e+04_rb,0.10698e+04_rb,0.76931e+03_rb, & & 0.74657e+03_rb,0.88729e+03_rb,0.10267e+04_rb,0.11695e+04_rb /) kao(:, 4, 2,15) = (/ & & 0.16772e+04_rb,0.16415e+04_rb,0.13391e+04_rb,0.10287e+04_rb,0.88207e+03_rb, & & 0.74593e+03_rb,0.88530e+03_rb,0.10252e+04_rb,0.11661e+04_rb /) kao(:, 5, 2,15) = (/ & & 0.16581e+04_rb,0.15452e+04_rb,0.12479e+04_rb,0.10067e+04_rb,0.83698e+03_rb, & & 0.74419e+03_rb,0.88279e+03_rb,0.10234e+04_rb,0.11634e+04_rb /) kao(:, 1, 3,15) = (/ & & 0.17888e+04_rb,0.13395e+04_rb,0.12224e+04_rb,0.11479e+04_rb,0.91734e+03_rb, & & 0.75291e+03_rb,0.89358e+03_rb,0.10348e+04_rb,0.11761e+04_rb /) kao(:, 2, 3,15) = (/ & & 0.16146e+04_rb,0.11805e+04_rb,0.12709e+04_rb,0.85911e+03_rb,0.90210e+03_rb, & & 0.75028e+03_rb,0.89203e+03_rb,0.10324e+04_rb,0.11734e+04_rb /) kao(:, 3, 3,15) = (/ & & 0.14717e+04_rb,0.15353e+04_rb,0.12224e+04_rb,0.96001e+03_rb,0.77554e+03_rb, & & 0.74753e+03_rb,0.88823e+03_rb,0.10297e+04_rb,0.11678e+04_rb /) kao(:, 4, 3,15) = (/ & & 0.15479e+04_rb,0.14535e+04_rb,0.11756e+04_rb,0.99609e+03_rb,0.71892e+03_rb, & & 0.74634e+03_rb,0.88703e+03_rb,0.10366e+04_rb,0.11684e+04_rb /) kao(:, 5, 3,15) = (/ & & 0.15155e+04_rb,0.14515e+04_rb,0.11733e+04_rb,0.10638e+04_rb,0.80510e+03_rb, & & 0.74461e+03_rb,0.88580e+03_rb,0.10240e+04_rb,0.11652e+04_rb /) kao(:, 1, 4,15) = (/ & & 0.15848e+04_rb,0.14083e+04_rb,0.12006e+04_rb,0.10439e+04_rb,0.81336e+03_rb, & & 0.75201e+03_rb,0.89444e+03_rb,0.10363e+04_rb,0.11781e+04_rb /) kao(:, 2, 4,15) = (/ & & 0.13736e+04_rb,0.13760e+04_rb,0.12165e+04_rb,0.94289e+03_rb,0.75006e+03_rb, & & 0.75167e+03_rb,0.89210e+03_rb,0.10337e+04_rb,0.11753e+04_rb /) kao(:, 3, 4,15) = (/ & & 0.14353e+04_rb,0.13702e+04_rb,0.10217e+04_rb,0.10119e+04_rb,0.72585e+03_rb, & & 0.74883e+03_rb,0.88956e+03_rb,0.10325e+04_rb,0.11731e+04_rb /) kao(:, 4, 4,15) = (/ & & 0.14295e+04_rb,0.12548e+04_rb,0.12198e+04_rb,0.96945e+03_rb,0.84557e+03_rb, & & 0.73846e+03_rb,0.88641e+03_rb,0.10258e+04_rb,0.11703e+04_rb /) kao(:, 5, 4,15) = (/ & & 0.15742e+04_rb,0.13268e+04_rb,0.10395e+04_rb,0.90301e+03_rb,0.67604e+03_rb, & & 0.74473e+03_rb,0.88569e+03_rb,0.10266e+04_rb,0.11676e+04_rb /) kao(:, 1, 5,15) = (/ & & 0.15038e+04_rb,0.11787e+04_rb,0.11191e+04_rb,0.96573e+03_rb,0.74364e+03_rb, & & 0.75161e+03_rb,0.89373e+03_rb,0.10358e+04_rb,0.11780e+04_rb /) kao(:, 2, 5,15) = (/ & & 0.12972e+04_rb,0.14157e+04_rb,0.10073e+04_rb,0.10120e+04_rb,0.78829e+03_rb, & & 0.75051e+03_rb,0.89254e+03_rb,0.10346e+04_rb,0.11785e+04_rb /) kao(:, 3, 5,15) = (/ & & 0.15562e+04_rb,0.12980e+04_rb,0.11053e+04_rb,0.96784e+03_rb,0.68156e+03_rb, & & 0.74938e+03_rb,0.89063e+03_rb,0.10325e+04_rb,0.11743e+04_rb /) kao(:, 4, 5,15) = (/ & & 0.15203e+04_rb,0.12953e+04_rb,0.96757e+03_rb,0.95061e+03_rb,0.68480e+03_rb, & & 0.74750e+03_rb,0.88780e+03_rb,0.10293e+04_rb,0.11708e+04_rb /) kao(:, 5, 5,15) = (/ & & 0.14730e+04_rb,0.11456e+04_rb,0.11151e+04_rb,0.68408e+03_rb,0.76176e+03_rb, & & 0.75307e+03_rb,0.89322e+03_rb,0.10317e+04_rb,0.11682e+04_rb /) kao(:, 1, 6,15) = (/ & & 0.15240e+04_rb,0.12794e+04_rb,0.10826e+04_rb,0.93131e+03_rb,0.69525e+03_rb, & & 0.75122e+03_rb,0.89364e+03_rb,0.10361e+04_rb,0.11785e+04_rb /) kao(:, 2, 6,15) = (/ & & 0.13735e+04_rb,0.12837e+04_rb,0.10725e+04_rb,0.91616e+03_rb,0.69548e+03_rb, & & 0.75041e+03_rb,0.89279e+03_rb,0.10360e+04_rb,0.11776e+04_rb /) kao(:, 3, 6,15) = (/ & & 0.14287e+04_rb,0.11366e+04_rb,0.10240e+04_rb,0.87529e+03_rb,0.70795e+03_rb, & & 0.75034e+03_rb,0.89142e+03_rb,0.10337e+04_rb,0.11759e+04_rb /) kao(:, 4, 6,15) = (/ & & 0.12768e+04_rb,0.11078e+04_rb,0.98805e+03_rb,0.76254e+03_rb,0.77383e+03_rb, & & 0.74782e+03_rb,0.88921e+03_rb,0.10312e+04_rb,0.11732e+04_rb /) kao(:, 5, 6,15) = (/ & & 0.13045e+04_rb,0.12087e+04_rb,0.10585e+04_rb,0.89185e+03_rb,0.69378e+03_rb, & & 0.74461e+03_rb,0.88618e+03_rb,0.10253e+04_rb,0.11684e+04_rb /) kao(:, 1, 7,15) = (/ & & 0.13068e+04_rb,0.11778e+04_rb,0.10485e+04_rb,0.87245e+03_rb,0.70237e+03_rb, & & 0.75029e+03_rb,0.89358e+03_rb,0.10363e+04_rb,0.11790e+04_rb /) kao(:, 2, 7,15) = (/ & & 0.13988e+04_rb,0.11525e+04_rb,0.98924e+03_rb,0.83779e+03_rb,0.64617e+03_rb, & & 0.75022e+03_rb,0.89357e+03_rb,0.10355e+04_rb,0.11782e+04_rb /) kao(:, 3, 7,15) = (/ & & 0.14294e+04_rb,0.11695e+04_rb,0.10182e+04_rb,0.91196e+03_rb,0.69696e+03_rb, & & 0.74932e+03_rb,0.89330e+03_rb,0.10353e+04_rb,0.11780e+04_rb /) kao(:, 4, 7,15) = (/ & & 0.14082e+04_rb,0.10640e+04_rb,0.10540e+04_rb,0.79295e+03_rb,0.62688e+03_rb, & & 0.74789e+03_rb,0.89097e+03_rb,0.10327e+04_rb,0.11750e+04_rb /) kao(:, 5, 7,15) = (/ & & 0.13514e+04_rb,0.12038e+04_rb,0.10012e+04_rb,0.83544e+03_rb,0.67927e+03_rb, & & 0.74629e+03_rb,0.88843e+03_rb,0.10298e+04_rb,0.11718e+04_rb /) kao(:, 1, 8,15) = (/ & & 0.14761e+04_rb,0.12412e+04_rb,0.10429e+04_rb,0.84370e+03_rb,0.62388e+03_rb, & & 0.75133e+03_rb,0.89371e+03_rb,0.10367e+04_rb,0.11796e+04_rb /) kao(:, 2, 8,15) = (/ & & 0.12119e+04_rb,0.11409e+04_rb,0.10121e+04_rb,0.85755e+03_rb,0.70976e+03_rb, & & 0.74998e+03_rb,0.89216e+03_rb,0.10357e+04_rb,0.11786e+04_rb /) kao(:, 3, 8,15) = (/ & & 0.12581e+04_rb,0.11663e+04_rb,0.10198e+04_rb,0.88649e+03_rb,0.69509e+03_rb, & & 0.74932e+03_rb,0.89355e+03_rb,0.10350e+04_rb,0.11787e+04_rb /) kao(:, 4, 8,15) = (/ & & 0.12478e+04_rb,0.12066e+04_rb,0.87201e+03_rb,0.84155e+03_rb,0.70223e+03_rb, & & 0.74886e+03_rb,0.89098e+03_rb,0.10337e+04_rb,0.11764e+04_rb /) kao(:, 5, 8,15) = (/ & & 0.12322e+04_rb,0.11048e+04_rb,0.93070e+03_rb,0.68296e+03_rb,0.66022e+03_rb, & & 0.74776e+03_rb,0.88972e+03_rb,0.10315e+04_rb,0.11748e+04_rb /) kao(:, 1, 9,15) = (/ & & 0.13164e+04_rb,0.12093e+04_rb,0.10729e+04_rb,0.80022e+03_rb,0.68605e+03_rb, & & 0.75075e+03_rb,0.89396e+03_rb,0.10372e+04_rb,0.11804e+04_rb /) kao(:, 2, 9,15) = (/ & & 0.12738e+04_rb,0.11851e+04_rb,0.88381e+03_rb,0.85846e+03_rb,0.65813e+03_rb, & & 0.74985e+03_rb,0.89295e+03_rb,0.10369e+04_rb,0.11792e+04_rb /) kao(:, 3, 9,15) = (/ & & 0.12657e+04_rb,0.12031e+04_rb,0.79849e+03_rb,0.64636e+03_rb,0.60824e+03_rb, & & 0.74924e+03_rb,0.89227e+03_rb,0.10353e+04_rb,0.11783e+04_rb /) kao(:, 4, 9,15) = (/ & & 0.12866e+04_rb,0.11531e+04_rb,0.85958e+03_rb,0.76890e+03_rb,0.66204e+03_rb, & & 0.74965e+03_rb,0.89143e+03_rb,0.10344e+04_rb,0.11773e+04_rb /) kao(:, 5, 9,15) = (/ & & 0.11604e+04_rb,0.11730e+04_rb,0.87009e+03_rb,0.73148e+03_rb,0.58106e+03_rb, & & 0.74723e+03_rb,0.88998e+03_rb,0.10327e+04_rb,0.11755e+04_rb /) kao(:, 1,10,15) = (/ & & 0.11188e+04_rb,0.99215e+03_rb,0.73460e+03_rb,0.83046e+03_rb,0.68844e+03_rb, & & 0.75085e+03_rb,0.89429e+03_rb,0.10377e+04_rb,0.11803e+04_rb /) kao(:, 2,10,15) = (/ & & 0.12059e+04_rb,0.10804e+04_rb,0.70761e+03_rb,0.65712e+03_rb,0.66535e+03_rb, & & 0.74980e+03_rb,0.89311e+03_rb,0.10364e+04_rb,0.11807e+04_rb /) kao(:, 3,10,15) = (/ & & 0.11817e+04_rb,0.10195e+04_rb,0.95365e+03_rb,0.71601e+03_rb,0.59959e+03_rb, & & 0.74791e+03_rb,0.89228e+03_rb,0.10355e+04_rb,0.11778e+04_rb /) kao(:, 4,10,15) = (/ & & 0.11350e+04_rb,0.11533e+04_rb,0.91058e+03_rb,0.81845e+03_rb,0.64874e+03_rb, & & 0.74908e+03_rb,0.89233e+03_rb,0.10356e+04_rb,0.11779e+04_rb /) kao(:, 5,10,15) = (/ & & 0.12000e+04_rb,0.10896e+04_rb,0.93671e+03_rb,0.81314e+03_rb,0.60750e+03_rb, & & 0.74754e+03_rb,0.89053e+03_rb,0.10335e+04_rb,0.11765e+04_rb /) kao(:, 1,11,15) = (/ & & 0.12887e+04_rb,0.10795e+04_rb,0.92507e+03_rb,0.76020e+03_rb,0.61621e+03_rb, & & 0.75046e+03_rb,0.89404e+03_rb,0.10376e+04_rb,0.11812e+04_rb /) kao(:, 2,11,15) = (/ & & 0.11864e+04_rb,0.99352e+03_rb,0.96688e+03_rb,0.81999e+03_rb,0.65449e+03_rb, & & 0.74944e+03_rb,0.89287e+03_rb,0.10363e+04_rb,0.11797e+04_rb /) kao(:, 3,11,15) = (/ & & 0.11946e+04_rb,0.10069e+04_rb,0.91904e+03_rb,0.81170e+03_rb,0.65606e+03_rb, & & 0.74582e+03_rb,0.89066e+03_rb,0.10354e+04_rb,0.11787e+04_rb /) kao(:, 4,11,15) = (/ & & 0.10269e+04_rb,0.10463e+04_rb,0.82697e+03_rb,0.81731e+03_rb,0.61185e+03_rb, & & 0.74876e+03_rb,0.89142e+03_rb,0.10347e+04_rb,0.11779e+04_rb /) kao(:, 5,11,15) = (/ & & 0.11483e+04_rb,0.10490e+04_rb,0.91718e+03_rb,0.72295e+03_rb,0.60510e+03_rb, & & 0.74783e+03_rb,0.89173e+03_rb,0.10334e+04_rb,0.11765e+04_rb /) kao(:, 1,12,15) = (/ & & 0.12157e+04_rb,0.94948e+03_rb,0.89441e+03_rb,0.76380e+03_rb,0.60866e+03_rb, & & 0.75013e+03_rb,0.89382e+03_rb,0.10375e+04_rb,0.11812e+04_rb /) kao(:, 2,12,15) = (/ & & 0.10470e+04_rb,0.10059e+04_rb,0.83704e+03_rb,0.70161e+03_rb,0.60721e+03_rb, & & 0.74914e+03_rb,0.89267e+03_rb,0.10370e+04_rb,0.11807e+04_rb /) kao(:, 3,12,15) = (/ & & 0.10541e+04_rb,0.86865e+03_rb,0.86614e+03_rb,0.79420e+03_rb,0.60576e+03_rb, & & 0.74144e+03_rb,0.89117e+03_rb,0.10353e+04_rb,0.11778e+04_rb /) kao(:, 4,12,15) = (/ & & 0.11152e+04_rb,0.10946e+04_rb,0.91200e+03_rb,0.75719e+03_rb,0.60459e+03_rb, & & 0.74791e+03_rb,0.89124e+03_rb,0.10346e+04_rb,0.11788e+04_rb /) kao(:, 5,12,15) = (/ & & 0.10232e+04_rb,0.97767e+03_rb,0.95862e+03_rb,0.62268e+03_rb,0.60382e+03_rb, & & 0.74758e+03_rb,0.88947e+03_rb,0.10333e+04_rb,0.11765e+04_rb /) kao(:, 1,13,15) = (/ & & 0.11027e+04_rb,0.93786e+03_rb,0.84040e+03_rb,0.77686e+03_rb,0.60858e+03_rb, & & 0.74987e+03_rb,0.89364e+03_rb,0.10374e+04_rb,0.11812e+04_rb /) kao(:, 2,13,15) = (/ & & 0.10816e+04_rb,0.10747e+04_rb,0.88690e+03_rb,0.66213e+03_rb,0.60670e+03_rb, & & 0.74889e+03_rb,0.89251e+03_rb,0.10369e+04_rb,0.11797e+04_rb /) kao(:, 3,13,15) = (/ & & 0.11963e+04_rb,0.98701e+03_rb,0.69767e+03_rb,0.73646e+03_rb,0.60528e+03_rb, & & 0.74531e+03_rb,0.88962e+03_rb,0.10352e+04_rb,0.11778e+04_rb /) kao(:, 4,13,15) = (/ & & 0.10530e+04_rb,0.78530e+03_rb,0.91477e+03_rb,0.71026e+03_rb,0.60430e+03_rb, & & 0.74770e+03_rb,0.89110e+03_rb,0.10345e+04_rb,0.11779e+04_rb /) kao(:, 5,13,15) = (/ & & 0.11409e+04_rb,0.10574e+04_rb,0.83207e+03_rb,0.61034e+03_rb,0.60355e+03_rb, & & 0.74679e+03_rb,0.89073e+03_rb,0.10333e+04_rb,0.11765e+04_rb /) kao(:, 1, 1,16) = (/ & & 0.34848e+03_rb,0.49670e+03_rb,0.29569e+03_rb,0.31627e+03_rb,0.46514e+03_rb, & & 0.42834e+03_rb,0.88848e+03_rb,0.10335e+04_rb,0.11735e+04_rb /) kao(:, 2, 1,16) = (/ & & 0.18044e+04_rb,0.87518e+03_rb,0.11930e+04_rb,0.45580e+03_rb,0.83690e+03_rb, & & 0.74631e+03_rb,0.89022e+03_rb,0.10242e+04_rb,0.11632e+04_rb /) kao(:, 3, 1,16) = (/ & & 0.11196e+04_rb,0.73658e+03_rb,0.10480e+04_rb,0.53695e+03_rb,0.39566e+03_rb, & & 0.74377e+03_rb,0.86775e+03_rb,0.94144e+03_rb,0.11277e+04_rb /) kao(:, 4, 1,16) = (/ & & 0.72013e+03_rb,0.40040e+03_rb,0.39030e+03_rb,0.31401e+03_rb,0.31498e+03_rb, & & 0.74613e+03_rb,0.88553e+03_rb,0.10249e+04_rb,0.11579e+04_rb /) kao(:, 5, 1,16) = (/ & & 0.34789e+03_rb,0.14911e+04_rb,0.33003e+03_rb,0.29522e+03_rb,0.31385e+03_rb, & & 0.74516e+03_rb,0.88480e+03_rb,0.10244e+04_rb,0.11641e+04_rb /) kao(:, 1, 2,16) = (/ & & 0.41247e+03_rb,0.81197e+03_rb,0.68322e+03_rb,0.50855e+03_rb,0.24076e+03_rb, & & 0.74851e+03_rb,0.88842e+03_rb,0.10341e+04_rb,0.11748e+04_rb /) kao(:, 2, 2,16) = (/ & & 0.16209e+04_rb,0.56884e+03_rb,0.94156e+03_rb,0.29182e+03_rb,0.46039e+03_rb, & & 0.75011e+03_rb,0.88557e+03_rb,0.10309e+04_rb,0.11714e+04_rb /) kao(:, 3, 2,16) = (/ & & 0.11534e+04_rb,0.51443e+03_rb,0.23941e+03_rb,0.44358e+03_rb,0.58779e+03_rb, & & 0.74720e+03_rb,0.88237e+03_rb,0.10275e+04_rb,0.11547e+04_rb /) kao(:, 4, 2,16) = (/ & & 0.78193e+03_rb,0.30585e+03_rb,0.42670e+03_rb,0.10365e+04_rb,0.43225e+03_rb, & & 0.74126e+03_rb,0.88535e+03_rb,0.10253e+04_rb,0.11588e+04_rb /) kao(:, 5, 2,16) = (/ & & 0.67509e+03_rb,0.40574e+03_rb,0.57252e+03_rb,0.10353e+04_rb,0.15564e+03_rb, & & 0.73954e+03_rb,0.88360e+03_rb,0.10236e+04_rb,0.11636e+04_rb /) kao(:, 1, 3,16) = (/ & & 0.91257e+03_rb,0.11144e+04_rb,0.54685e+03_rb,0.19037e+03_rb,0.25900e+03_rb, & & 0.74823e+03_rb,0.89369e+03_rb,0.10350e+04_rb,0.11762e+04_rb /) kao(:, 2, 3,16) = (/ & & 0.67162e+03_rb,0.10092e+04_rb,0.40983e+03_rb,0.37826e+03_rb,0.42702e+03_rb, & & 0.75035e+03_rb,0.88647e+03_rb,0.10325e+04_rb,0.11736e+04_rb /) kao(:, 3, 3,16) = (/ & & 0.94657e+03_rb,0.26107e+03_rb,0.43567e+03_rb,0.41065e+03_rb,0.70838e+03_rb, & & 0.74760e+03_rb,0.88832e+03_rb,0.10233e+04_rb,0.11698e+04_rb /) kao(:, 4, 3,16) = (/ & & 0.10618e+03_rb,0.45040e+03_rb,0.10291e+04_rb,0.30237e+03_rb,0.57813e+03_rb, & & 0.73277e+03_rb,0.87582e+03_rb,0.95203e+03_rb,0.11472e+04_rb /) kao(:, 5, 3,16) = (/ & & 0.96551e+03_rb,0.68706e+03_rb,0.56500e+03_rb,0.14865e+03_rb,0.35532e+03_rb, & & 0.73527e+03_rb,0.86908e+03_rb,0.10241e+04_rb,0.11579e+04_rb /) kao(:, 1, 4,16) = (/ & & 0.13211e+04_rb,0.11050e+04_rb,0.91067e+03_rb,0.34788e+03_rb,0.76485e+03_rb, & & 0.75213e+03_rb,0.88892e+03_rb,0.10299e+04_rb,0.11709e+04_rb /) kao(:, 2, 4,16) = (/ & & 0.15543e+04_rb,0.92211e+03_rb,0.72798e+03_rb,0.86839e+03_rb,0.36802e+03_rb, & & 0.74223e+03_rb,0.89219e+03_rb,0.10338e+04_rb,0.11754e+04_rb /) kao(:, 3, 4,16) = (/ & & 0.53676e+03_rb,0.46363e+03_rb,0.10941e+04_rb,0.19958e+03_rb,0.68767e+03_rb, & & 0.74416e+03_rb,0.88965e+03_rb,0.10195e+04_rb,0.11658e+04_rb /) kao(:, 4, 4,16) = (/ & & 0.66992e+03_rb,0.61007e+03_rb,0.50612e+03_rb,0.34999e+03_rb,0.19685e+03_rb, & & 0.74139e+03_rb,0.88155e+03_rb,0.10274e+04_rb,0.11555e+04_rb /) kao(:, 5, 4,16) = (/ & & 0.55226e+03_rb,0.42689e+03_rb,0.10712e+04_rb,0.69959e+03_rb,0.69105e+03_rb, & & 0.73534e+03_rb,0.87452e+03_rb,0.10137e+04_rb,0.11529e+04_rb /) kao(:, 1, 5,16) = (/ & & 0.11854e+04_rb,0.90025e+03_rb,0.10734e+04_rb,0.36732e+03_rb,0.51551e+03_rb, & & 0.75181e+03_rb,0.89397e+03_rb,0.10361e+04_rb,0.11783e+04_rb /) kao(:, 2, 5,16) = (/ & & 0.13933e+04_rb,0.23882e+03_rb,0.71015e+03_rb,0.29765e+03_rb,0.88507e+02_rb, & & 0.75060e+03_rb,0.89266e+03_rb,0.10347e+04_rb,0.11637e+04_rb /) kao(:, 3, 5,16) = (/ & & 0.30783e+03_rb,0.72533e+03_rb,0.99782e+03_rb,0.22581e+03_rb,0.21957e+03_rb, & & 0.74471e+03_rb,0.89072e+03_rb,0.10326e+04_rb,0.11744e+04_rb /) kao(:, 4, 5,16) = (/ & & 0.12756e+03_rb,0.23797e+03_rb,0.16871e+03_rb,0.60625e+03_rb,0.35893e+03_rb, & & 0.73811e+03_rb,0.88789e+03_rb,0.10294e+04_rb,0.11709e+04_rb /) kao(:, 5, 5,16) = (/ & & 0.67577e+03_rb,0.67606e+03_rb,0.57612e+03_rb,0.15439e+03_rb,0.22922e+03_rb, & & 0.66526e+03_rb,0.82593e+03_rb,0.98621e+03_rb,0.11543e+04_rb /) kao(:, 1, 6,16) = (/ & & 0.35294e+03_rb,0.92951e+03_rb,0.39404e+03_rb,0.59466e+03_rb,0.46365e+03_rb, & & 0.75155e+03_rb,0.89403e+03_rb,0.10365e+04_rb,0.11790e+04_rb /) kao(:, 2, 6,16) = (/ & & 0.83494e+03_rb,0.91972e+03_rb,0.83351e+02_rb,0.26459e+03_rb,0.33053e+03_rb, & & 0.75056e+03_rb,0.89298e+03_rb,0.10296e+04_rb,0.11778e+04_rb /) kao(:, 3, 6,16) = (/ & & 0.77495e+02_rb,0.67358e+03_rb,0.71470e+03_rb,0.28985e+03_rb,0.12695e+03_rb, & & 0.74093e+03_rb,0.89153e+03_rb,0.10338e+04_rb,0.11761e+04_rb /) kao(:, 4, 6,16) = (/ & & 0.12524e+04_rb,0.52300e+03_rb,0.17321e+03_rb,0.31958e+03_rb,0.15643e+03_rb, & & 0.74316e+03_rb,0.88930e+03_rb,0.10313e+04_rb,0.11733e+04_rb /) kao(:, 5, 6,16) = (/ & & 0.79880e+03_rb,0.54259e+03_rb,0.31909e+03_rb,0.47791e+03_rb,0.45938e+03_rb, & & 0.74468e+03_rb,0.88626e+03_rb,0.10278e+04_rb,0.11499e+04_rb /) kao(:, 1, 7,16) = (/ & & 0.10078e+04_rb,0.83081e+03_rb,0.68047e+03_rb,0.68284e+03_rb,0.57904e+03_rb, & & 0.75128e+03_rb,0.89403e+03_rb,0.10368e+04_rb,0.11795e+04_rb /) kao(:, 2, 7,16) = (/ & & 0.67323e+03_rb,0.10228e+04_rb,0.49758e+03_rb,0.33578e+03_rb,0.38746e+03_rb, & & 0.75047e+03_rb,0.88822e+03_rb,0.10359e+04_rb,0.11786e+04_rb /) kao(:, 3, 7,16) = (/ & & 0.60358e+03_rb,0.41876e+03_rb,0.74942e+03_rb,0.38757e+03_rb,0.61092e+03_rb, & & 0.74943e+03_rb,0.88213e+03_rb,0.10289e+04_rb,0.11707e+04_rb /) kao(:, 4, 7,16) = (/ & & 0.69109e+03_rb,0.11040e+04_rb,0.46705e+03_rb,0.74628e+03_rb,0.47483e+03_rb, & & 0.74797e+03_rb,0.88542e+03_rb,0.10328e+04_rb,0.11752e+04_rb /) kao(:, 5, 7,16) = (/ & & 0.68277e+03_rb,0.46564e+03_rb,0.19228e+03_rb,0.48854e+03_rb,0.28304e+03_rb, & & 0.74163e+03_rb,0.88289e+03_rb,0.10299e+04_rb,0.11719e+04_rb /) kao(:, 1, 8,16) = (/ & & 0.26685e+03_rb,0.60532e+03_rb,0.51009e+03_rb,0.40907e+03_rb,0.39126e+03_rb, & & 0.74682e+03_rb,0.89396e+03_rb,0.10369e+04_rb,0.11799e+04_rb /) kao(:, 2, 8,16) = (/ & & 0.94869e+03_rb,0.11471e+04_rb,0.44706e+03_rb,0.23151e+03_rb,0.93532e+02_rb, & & 0.75035e+03_rb,0.89331e+03_rb,0.10363e+04_rb,0.11727e+04_rb /) kao(:, 3, 8,16) = (/ & & 0.11588e+04_rb,0.74588e+03_rb,0.28311e+03_rb,0.27864e+03_rb,0.32853e+03_rb, & & 0.74950e+03_rb,0.88246e+03_rb,0.10352e+04_rb,0.11716e+04_rb /) kao(:, 4, 8,16) = (/ & & 0.11874e+04_rb,0.47456e+03_rb,0.83368e+03_rb,0.31591e+03_rb,0.30274e+03_rb, & & 0.74421e+03_rb,0.89109e+03_rb,0.10338e+04_rb,0.11765e+04_rb /) kao(:, 5, 8,16) = (/ & & 0.45710e+03_rb,0.66086e+03_rb,0.55863e+03_rb,0.58037e+03_rb,0.20569e+03_rb, & & 0.73836e+03_rb,0.88417e+03_rb,0.10316e+04_rb,0.11675e+04_rb /) kao(:, 1, 9,16) = (/ & & 0.55233e+03_rb,0.18269e+03_rb,0.18991e+03_rb,0.35964e+03_rb,0.38998e+03_rb, & & 0.75089e+03_rb,0.89415e+03_rb,0.10374e+04_rb,0.11807e+04_rb /) kao(:, 2, 9,16) = (/ & & 0.31819e+03_rb,0.14904e+03_rb,0.79703e+03_rb,0.32317e+03_rb,0.20679e+03_rb, & & 0.75021e+03_rb,0.89337e+03_rb,0.10308e+04_rb,0.11797e+04_rb /) kao(:, 3, 9,16) = (/ & & 0.16059e+03_rb,0.37409e+03_rb,0.62337e+03_rb,0.62951e+03_rb,0.47662e+03_rb, & & 0.74953e+03_rb,0.89262e+03_rb,0.10357e+04_rb,0.11788e+04_rb /) kao(:, 4, 9,16) = (/ & & 0.15191e+03_rb,0.63681e+03_rb,0.25601e+03_rb,0.65772e+03_rb,0.38994e+03_rb, & & 0.74029e+03_rb,0.89158e+03_rb,0.10346e+04_rb,0.11775e+04_rb /) kao(:, 5, 9,16) = (/ & & 0.10392e+04_rb,0.33629e+03_rb,0.90538e+03_rb,0.33435e+03_rb,0.46694e+03_rb, & & 0.74731e+03_rb,0.89008e+03_rb,0.10329e+04_rb,0.11756e+04_rb /) kao(:, 1,10,16) = (/ & & 0.43161e+03_rb,0.53194e+03_rb,0.82168e+03_rb,0.11050e+03_rb,0.32159e+02_rb, & & 0.75101e+03_rb,0.89450e+03_rb,0.10380e+04_rb,0.11815e+04_rb /) kao(:, 2,10,16) = (/ & & 0.23362e+03_rb,0.50697e+03_rb,0.75913e+03_rb,0.37965e+03_rb,0.15877e+03_rb, & & 0.75002e+03_rb,0.89333e+03_rb,0.10366e+04_rb,0.11734e+04_rb /) kao(:, 3,10,16) = (/ & & 0.66577e+03_rb,0.22676e+03_rb,0.63752e+03_rb,0.50488e+03_rb,0.52339e+03_rb, & & 0.74947e+03_rb,0.88778e+03_rb,0.10360e+04_rb,0.11793e+04_rb /) kao(:, 4,10,16) = (/ & & 0.12040e+04_rb,0.37222e+03_rb,0.71269e+03_rb,0.68368e+02_rb,0.31445e+03_rb, & & 0.74453e+03_rb,0.88691e+03_rb,0.10293e+04_rb,0.11782e+04_rb /) kao(:, 5,10,16) = (/ & & 0.85334e+03_rb,0.50951e+03_rb,0.43397e+03_rb,0.11861e+03_rb,0.15074e+03_rb, & & 0.74764e+03_rb,0.89065e+03_rb,0.10337e+04_rb,0.11767e+04_rb /) kao(:, 1,11,16) = (/ & & 0.45853e+03_rb,0.29024e+03_rb,0.38275e+03_rb,0.26130e+03_rb,0.12124e+03_rb, & & 0.75062e+03_rb,0.89424e+03_rb,0.10379e+04_rb,0.11815e+04_rb /) kao(:, 2,11,16) = (/ & & 0.66691e+03_rb,0.55656e+03_rb,0.39879e+03_rb,0.16526e+03_rb,0.24675e+03_rb, & & 0.74965e+03_rb,0.89309e+03_rb,0.10365e+04_rb,0.11800e+04_rb /) kao(:, 3,11,16) = (/ & & 0.10239e+04_rb,0.60930e+03_rb,0.22001e+03_rb,0.10914e+03_rb,0.22748e+03_rb, & & 0.74913e+03_rb,0.89251e+03_rb,0.10359e+04_rb,0.11793e+04_rb /) kao(:, 4,11,16) = (/ & & 0.80567e+03_rb,0.90344e+03_rb,0.77356e+03_rb,0.12489e+03_rb,0.55902e+03_rb, & & 0.74421e+03_rb,0.89165e+03_rb,0.10349e+04_rb,0.11782e+04_rb /) kao(:, 5,11,16) = (/ & & 0.80619e+03_rb,0.87963e+03_rb,0.47254e+03_rb,0.39261e+03_rb,0.59752e+03_rb, & & 0.74319e+03_rb,0.88056e+03_rb,0.10336e+04_rb,0.11767e+04_rb /) kao(:, 1,12,16) = (/ & & 0.54479e+03_rb,0.73809e+03_rb,0.74534e+03_rb,0.30870e+03_rb,0.60893e+03_rb, & & 0.75030e+03_rb,0.89402e+03_rb,0.10378e+04_rb,0.11815e+04_rb /) kao(:, 2,12,16) = (/ & & 0.10600e+04_rb,0.76559e+03_rb,0.34957e+03_rb,0.18602e+03_rb,0.60736e+03_rb, & & 0.74935e+03_rb,0.89289e+03_rb,0.10307e+04_rb,0.11734e+04_rb /) kao(:, 3,12,16) = (/ & & 0.10515e+04_rb,0.60079e+03_rb,0.43472e+03_rb,0.33220e+03_rb,0.60582e+03_rb, & & 0.74885e+03_rb,0.89233e+03_rb,0.10358e+04_rb,0.11793e+04_rb /) kao(:, 4,12,16) = (/ & & 0.32670e+03_rb,0.23075e+03_rb,0.13581e+03_rb,0.17106e+03_rb,0.60474e+03_rb, & & 0.74811e+03_rb,0.89148e+03_rb,0.10348e+04_rb,0.11717e+04_rb /) kao(:, 5,12,16) = (/ & & 0.20371e+03_rb,0.68798e+03_rb,0.91592e+02_rb,0.60316e+03_rb,0.60390e+03_rb, & & 0.74294e+03_rb,0.89029e+03_rb,0.10335e+04_rb,0.11767e+04_rb /) kao(:, 1,13,16) = (/ & & 0.85988e+03_rb,0.94717e+03_rb,0.84544e+03_rb,0.31415e+03_rb,0.60500e+03_rb, & & 0.75003e+03_rb,0.89385e+03_rb,0.10377e+04_rb,0.11815e+04_rb /) kao(:, 2,13,16) = (/ & & 0.10379e+04_rb,0.11189e+03_rb,0.20733e+03_rb,0.17410e+03_rb,0.60685e+03_rb, & & 0.74910e+03_rb,0.89272e+03_rb,0.10306e+04_rb,0.11800e+04_rb /) kao(:, 3,13,16) = (/ & & 0.70206e+03_rb,0.77801e+03_rb,0.11974e+03_rb,0.34591e+03_rb,0.60534e+03_rb, & & 0.74861e+03_rb,0.89217e+03_rb,0.10357e+04_rb,0.11793e+04_rb /) kao(:, 4,13,16) = (/ & & 0.69165e+03_rb,0.93369e+03_rb,0.16190e+03_rb,0.16396e+03_rb,0.60445e+03_rb, & & 0.74789e+03_rb,0.89133e+03_rb,0.10348e+04_rb,0.11782e+04_rb /) kao(:, 5,13,16) = (/ & & 0.20016e+03_rb,0.25832e+03_rb,0.57797e+03_rb,0.24270e+03_rb,0.60363e+03_rb, & & 0.74689e+03_rb,0.88521e+03_rb,0.10334e+04_rb,0.11767e+04_rb /) ! ----------------------------------------------------------------- ! The array KBO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels < ~100mb and temperatures. The first ! index in the array, JT, which runs from 1 to 5, corresponds to ! different temperatures. More specifically, JT = 3 means that the ! data are for the reference temperature TREF for this pressure ! level, JT = 2 refers to the temperature TREF-15, JT = 1 is for ! TREF-30, JT = 4 is for TREF+15, and JT = 5 is for TREF+30. ! The second index, JP, runs from 13 to 59 and refers to the JPth ! reference pressure level (see taumol.f for the value of these ! pressure levels in mb). The third index, IG, goes from 1 to 16, ! and tells us which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kbo(:, 1,13, 1) = (/ & & 0.27369e+02_rb,0.29903e+03_rb,0.42924e+03_rb,0.31039e+03_rb,0.35000e+02_rb /) kbo(:, 2,13, 1) = (/ & & 0.27158e+02_rb,0.29898e+03_rb,0.42745e+03_rb,0.30840e+03_rb,0.35000e+02_rb /) kbo(:, 3,13, 1) = (/ & & 0.26976e+02_rb,0.29889e+03_rb,0.42590e+03_rb,0.30668e+03_rb,0.35000e+02_rb /) kbo(:, 4,13, 1) = (/ & & 0.26818e+02_rb,0.29875e+03_rb,0.42455e+03_rb,0.30517e+03_rb,0.35000e+02_rb /) kbo(:, 5,13, 1) = (/ & & 0.26679e+02_rb,0.29855e+03_rb,0.42335e+03_rb,0.30384e+03_rb,0.35000e+02_rb /) kbo(:, 1,14, 1) = (/ & & 0.26840e+02_rb,0.29863e+03_rb,0.42474e+03_rb,0.30538e+03_rb,0.35000e+02_rb /) kbo(:, 2,14, 1) = (/ & & 0.26669e+02_rb,0.29862e+03_rb,0.42327e+03_rb,0.30375e+03_rb,0.35000e+02_rb /) kbo(:, 3,14, 1) = (/ & & 0.26522e+02_rb,0.29854e+03_rb,0.42199e+03_rb,0.30234e+03_rb,0.35000e+02_rb /) kbo(:, 4,14, 1) = (/ & & 0.26394e+02_rb,0.29842e+03_rb,0.42088e+03_rb,0.30111e+03_rb,0.35000e+02_rb /) kbo(:, 5,14, 1) = (/ & & 0.26282e+02_rb,0.29824e+03_rb,0.41990e+03_rb,0.30002e+03_rb,0.35000e+02_rb /) kbo(:, 1,15, 1) = (/ & & 0.26408e+02_rb,0.29831e+03_rb,0.42100e+03_rb,0.30124e+03_rb,0.35000e+02_rb /) kbo(:, 2,15, 1) = (/ & & 0.26271e+02_rb,0.29832e+03_rb,0.41980e+03_rb,0.29991e+03_rb,0.35000e+02_rb /) kbo(:, 3,15, 1) = (/ & & 0.26152e+02_rb,0.29826e+03_rb,0.41876e+03_rb,0.29877e+03_rb,0.35000e+02_rb /) kbo(:, 4,15, 1) = (/ & & 0.26049e+02_rb,0.29814e+03_rb,0.41785e+03_rb,0.29776e+03_rb,0.35000e+02_rb /) kbo(:, 5,15, 1) = (/ & & 0.25958e+02_rb,0.29797e+03_rb,0.41705e+03_rb,0.29688e+03_rb,0.35000e+02_rb /) kbo(:, 1,16, 1) = (/ & & 0.26057e+02_rb,0.29806e+03_rb,0.41793e+03_rb,0.29784e+03_rb,0.35000e+02_rb /) kbo(:, 2,16, 1) = (/ & & 0.25946e+02_rb,0.29807e+03_rb,0.41695e+03_rb,0.29676e+03_rb,0.35000e+02_rb /) kbo(:, 3,16, 1) = (/ & & 0.25851e+02_rb,0.29803e+03_rb,0.41610e+03_rb,0.29583e+03_rb,0.35000e+02_rb /) kbo(:, 4,16, 1) = (/ & & 0.25767e+02_rb,0.29792e+03_rb,0.41536e+03_rb,0.29502e+03_rb,0.35000e+02_rb /) kbo(:, 5,16, 1) = (/ & & 0.25694e+02_rb,0.29776e+03_rb,0.41470e+03_rb,0.29430e+03_rb,0.35000e+02_rb /) kbo(:, 1,17, 1) = (/ & & 0.25772e+02_rb,0.29785e+03_rb,0.41540e+03_rb,0.29506e+03_rb,0.35000e+02_rb /) kbo(:, 2,17, 1) = (/ & & 0.25683e+02_rb,0.29787e+03_rb,0.41460e+03_rb,0.29419e+03_rb,0.35000e+02_rb /) kbo(:, 3,17, 1) = (/ & & 0.25606e+02_rb,0.29784e+03_rb,0.41391e+03_rb,0.29343e+03_rb,0.35000e+02_rb /) kbo(:, 4,17, 1) = (/ & & 0.25538e+02_rb,0.29774e+03_rb,0.41331e+03_rb,0.29277e+03_rb,0.35000e+02_rb /) kbo(:, 5,17, 1) = (/ & & 0.25479e+02_rb,0.29758e+03_rb,0.41278e+03_rb,0.29219e+03_rb,0.35000e+02_rb /) kbo(:, 1,18, 1) = (/ & & 0.25541e+02_rb,0.29768e+03_rb,0.41334e+03_rb,0.29280e+03_rb,0.35000e+02_rb /) kbo(:, 2,18, 1) = (/ & & 0.25469e+02_rb,0.29772e+03_rb,0.41269e+03_rb,0.29209e+03_rb,0.35000e+02_rb /) kbo(:, 3,18, 1) = (/ & & 0.25407e+02_rb,0.29768e+03_rb,0.41213e+03_rb,0.29147e+03_rb,0.35000e+02_rb /) kbo(:, 4,18, 1) = (/ & & 0.25353e+02_rb,0.29758e+03_rb,0.41163e+03_rb,0.29094e+03_rb,0.35000e+02_rb /) kbo(:, 5,18, 1) = (/ & & 0.25305e+02_rb,0.29743e+03_rb,0.41120e+03_rb,0.29046e+03_rb,0.35000e+02_rb /) kbo(:, 1,19, 1) = (/ & & 0.25354e+02_rb,0.29755e+03_rb,0.41165e+03_rb,0.29095e+03_rb,0.35000e+02_rb /) kbo(:, 2,19, 1) = (/ & & 0.25296e+02_rb,0.29758e+03_rb,0.41112e+03_rb,0.29037e+03_rb,0.35000e+02_rb /) kbo(:, 3,19, 1) = (/ & & 0.25245e+02_rb,0.29755e+03_rb,0.41067e+03_rb,0.28988e+03_rb,0.35000e+02_rb /) kbo(:, 4,19, 1) = (/ & & 0.25201e+02_rb,0.29746e+03_rb,0.41027e+03_rb,0.28944e+03_rb,0.35000e+02_rb /) kbo(:, 5,19, 1) = (/ & & 0.25163e+02_rb,0.29730e+03_rb,0.40991e+03_rb,0.28905e+03_rb,0.35000e+02_rb /) kbo(:, 1,20, 1) = (/ & & 0.25201e+02_rb,0.29744e+03_rb,0.41026e+03_rb,0.28943e+03_rb,0.35000e+02_rb /) kbo(:, 2,20, 1) = (/ & & 0.25154e+02_rb,0.29748e+03_rb,0.40984e+03_rb,0.28897e+03_rb,0.35000e+02_rb /) kbo(:, 3,20, 1) = (/ & & 0.25113e+02_rb,0.29745e+03_rb,0.40947e+03_rb,0.28856e+03_rb,0.35000e+02_rb /) kbo(:, 4,20, 1) = (/ & & 0.25078e+02_rb,0.29735e+03_rb,0.40914e+03_rb,0.28821e+03_rb,0.35000e+02_rb /) kbo(:, 5,20, 1) = (/ & & 0.25047e+02_rb,0.29719e+03_rb,0.40886e+03_rb,0.28790e+03_rb,0.35000e+02_rb /) kbo(:, 1,21, 1) = (/ & & 0.25076e+02_rb,0.29736e+03_rb,0.40913e+03_rb,0.28819e+03_rb,0.35000e+02_rb /) kbo(:, 2,21, 1) = (/ & & 0.25039e+02_rb,0.29739e+03_rb,0.40879e+03_rb,0.28782e+03_rb,0.35000e+02_rb /) kbo(:, 3,21, 1) = (/ & & 0.25006e+02_rb,0.29736e+03_rb,0.40849e+03_rb,0.28749e+03_rb,0.35000e+02_rb /) kbo(:, 4,21, 1) = (/ & & 0.24978e+02_rb,0.29726e+03_rb,0.40823e+03_rb,0.28722e+03_rb,0.35000e+02_rb /) kbo(:, 5,21, 1) = (/ & & 0.24952e+02_rb,0.29710e+03_rb,0.40800e+03_rb,0.28695e+03_rb,0.35000e+02_rb /) kbo(:, 1,22, 1) = (/ & & 0.24973e+02_rb,0.29729e+03_rb,0.40819e+03_rb,0.28717e+03_rb,0.35000e+02_rb /) kbo(:, 2,22, 1) = (/ & & 0.24944e+02_rb,0.29732e+03_rb,0.40792e+03_rb,0.28687e+03_rb,0.35000e+02_rb /) kbo(:, 3,22, 1) = (/ & & 0.24917e+02_rb,0.29728e+03_rb,0.40768e+03_rb,0.28661e+03_rb,0.35000e+02_rb /) kbo(:, 4,22, 1) = (/ & & 0.24895e+02_rb,0.29717e+03_rb,0.40747e+03_rb,0.28638e+03_rb,0.35000e+02_rb /) kbo(:, 5,22, 1) = (/ & & 0.24874e+02_rb,0.29700e+03_rb,0.40728e+03_rb,0.28618e+03_rb,0.35000e+02_rb /) kbo(:, 1,23, 1) = (/ & & 0.24890e+02_rb,0.29724e+03_rb,0.40743e+03_rb,0.28634e+03_rb,0.35000e+02_rb /) kbo(:, 2,23, 1) = (/ & & 0.24866e+02_rb,0.29726e+03_rb,0.40721e+03_rb,0.28610e+03_rb,0.35000e+02_rb /) kbo(:, 3,23, 1) = (/ & & 0.24846e+02_rb,0.29721e+03_rb,0.40702e+03_rb,0.28589e+03_rb,0.35000e+02_rb /) kbo(:, 4,23, 1) = (/ & & 0.24827e+02_rb,0.29710e+03_rb,0.40685e+03_rb,0.28571e+03_rb,0.35000e+02_rb /) kbo(:, 5,23, 1) = (/ & & 0.24811e+02_rb,0.29692e+03_rb,0.40671e+03_rb,0.28554e+03_rb,0.35000e+02_rb /) kbo(:, 1,24, 1) = (/ & & 0.24823e+02_rb,0.29721e+03_rb,0.40681e+03_rb,0.28566e+03_rb,0.35000e+02_rb /) kbo(:, 2,24, 1) = (/ & & 0.24804e+02_rb,0.29721e+03_rb,0.40664e+03_rb,0.28547e+03_rb,0.35000e+02_rb /) kbo(:, 3,24, 1) = (/ & & 0.24787e+02_rb,0.29715e+03_rb,0.40649e+03_rb,0.28530e+03_rb,0.35000e+02_rb /) kbo(:, 4,24, 1) = (/ & & 0.24773e+02_rb,0.29703e+03_rb,0.40635e+03_rb,0.28516e+03_rb,0.35000e+02_rb /) kbo(:, 5,24, 1) = (/ & & 0.24760e+02_rb,0.29684e+03_rb,0.40623e+03_rb,0.28503e+03_rb,0.35000e+02_rb /) kbo(:, 1,25, 1) = (/ & & 0.24769e+02_rb,0.29717e+03_rb,0.40631e+03_rb,0.28511e+03_rb,0.35000e+02_rb /) kbo(:, 2,25, 1) = (/ & & 0.24753e+02_rb,0.29717e+03_rb,0.40618e+03_rb,0.28496e+03_rb,0.35000e+02_rb /) kbo(:, 3,25, 1) = (/ & & 0.24740e+02_rb,0.29710e+03_rb,0.40606e+03_rb,0.28483e+03_rb,0.35000e+02_rb /) kbo(:, 4,25, 1) = (/ & & 0.24729e+02_rb,0.29696e+03_rb,0.40595e+03_rb,0.28472e+03_rb,0.35000e+02_rb /) kbo(:, 5,25, 1) = (/ & & 0.24718e+02_rb,0.29676e+03_rb,0.40585e+03_rb,0.28462e+03_rb,0.35000e+02_rb /) kbo(:, 1,26, 1) = (/ & & 0.24724e+02_rb,0.29715e+03_rb,0.40591e+03_rb,0.28467e+03_rb,0.35000e+02_rb /) kbo(:, 2,26, 1) = (/ & & 0.24712e+02_rb,0.29713e+03_rb,0.40580e+03_rb,0.28456e+03_rb,0.35000e+02_rb /) kbo(:, 3,26, 1) = (/ & & 0.24702e+02_rb,0.29704e+03_rb,0.40570e+03_rb,0.28445e+03_rb,0.35000e+02_rb /) kbo(:, 4,26, 1) = (/ & & 0.24693e+02_rb,0.29689e+03_rb,0.40562e+03_rb,0.28435e+03_rb,0.35000e+02_rb /) kbo(:, 5,26, 1) = (/ & & 0.24684e+02_rb,0.29668e+03_rb,0.40554e+03_rb,0.28427e+03_rb,0.35000e+02_rb /) kbo(:, 1,27, 1) = (/ & & 0.24689e+02_rb,0.29713e+03_rb,0.40558e+03_rb,0.28431e+03_rb,0.35000e+02_rb /) kbo(:, 2,27, 1) = (/ & & 0.24679e+02_rb,0.29709e+03_rb,0.40550e+03_rb,0.28422e+03_rb,0.35000e+02_rb /) kbo(:, 3,27, 1) = (/ & & 0.24671e+02_rb,0.29699e+03_rb,0.40542e+03_rb,0.28423e+03_rb,0.35000e+02_rb /) kbo(:, 4,27, 1) = (/ & & 0.24664e+02_rb,0.29683e+03_rb,0.40535e+03_rb,0.28405e+03_rb,0.35000e+02_rb /) kbo(:, 5,27, 1) = (/ & & 0.24657e+02_rb,0.29660e+03_rb,0.40529e+03_rb,0.28399e+03_rb,0.35000e+02_rb /) kbo(:, 1,28, 1) = (/ & & 0.24660e+02_rb,0.29710e+03_rb,0.40532e+03_rb,0.28404e+03_rb,0.35000e+02_rb /) kbo(:, 2,28, 1) = (/ & & 0.24653e+02_rb,0.29706e+03_rb,0.40525e+03_rb,0.28395e+03_rb,0.35000e+02_rb /) kbo(:, 3,28, 1) = (/ & & 0.24646e+02_rb,0.29694e+03_rb,0.40519e+03_rb,0.28389e+03_rb,0.35000e+02_rb /) kbo(:, 4,28, 1) = (/ & & 0.24640e+02_rb,0.29676e+03_rb,0.40514e+03_rb,0.28383e+03_rb,0.35000e+02_rb /) kbo(:, 5,28, 1) = (/ & & 0.24635e+02_rb,0.29651e+03_rb,0.40509e+03_rb,0.28376e+03_rb,0.35000e+02_rb /) kbo(:, 1,29, 1) = (/ & & 0.24637e+02_rb,0.29708e+03_rb,0.40511e+03_rb,0.28380e+03_rb,0.35000e+02_rb /) kbo(:, 2,29, 1) = (/ & & 0.24631e+02_rb,0.29702e+03_rb,0.40505e+03_rb,0.28374e+03_rb,0.35000e+02_rb /) kbo(:, 3,29, 1) = (/ & & 0.24626e+02_rb,0.29689e+03_rb,0.40500e+03_rb,0.28368e+03_rb,0.35000e+02_rb /) kbo(:, 4,29, 1) = (/ & & 0.24621e+02_rb,0.29669e+03_rb,0.40496e+03_rb,0.28364e+03_rb,0.35000e+02_rb /) kbo(:, 5,29, 1) = (/ & & 0.24617e+02_rb,0.29643e+03_rb,0.40492e+03_rb,0.28359e+03_rb,0.35000e+02_rb /) kbo(:, 1,30, 1) = (/ & & 0.24619e+02_rb,0.29706e+03_rb,0.40494e+03_rb,0.28360e+03_rb,0.35000e+02_rb /) kbo(:, 2,30, 1) = (/ & & 0.24614e+02_rb,0.29698e+03_rb,0.40489e+03_rb,0.28355e+03_rb,0.35000e+02_rb /) kbo(:, 3,30, 1) = (/ & & 0.24610e+02_rb,0.29683e+03_rb,0.40485e+03_rb,0.28351e+03_rb,0.35000e+02_rb /) kbo(:, 4,30, 1) = (/ & & 0.24606e+02_rb,0.29662e+03_rb,0.40482e+03_rb,0.28347e+03_rb,0.35000e+02_rb /) kbo(:, 5,30, 1) = (/ & & 0.24603e+02_rb,0.29634e+03_rb,0.40479e+03_rb,0.28344e+03_rb,0.35000e+02_rb /) kbo(:, 1,31, 1) = (/ & & 0.24604e+02_rb,0.29704e+03_rb,0.40480e+03_rb,0.28345e+03_rb,0.35000e+02_rb /) kbo(:, 2,31, 1) = (/ & & 0.24600e+02_rb,0.29694e+03_rb,0.40477e+03_rb,0.28341e+03_rb,0.35000e+02_rb /) kbo(:, 3,31, 1) = (/ & & 0.24597e+02_rb,0.29678e+03_rb,0.40473e+03_rb,0.28338e+03_rb,0.35000e+02_rb /) kbo(:, 4,31, 1) = (/ & & 0.24594e+02_rb,0.29655e+03_rb,0.40471e+03_rb,0.28336e+03_rb,0.35000e+02_rb /) kbo(:, 5,31, 1) = (/ & & 0.24591e+02_rb,0.29625e+03_rb,0.40468e+03_rb,0.28332e+03_rb,0.35000e+02_rb /) kbo(:, 1,32, 1) = (/ & & 0.24592e+02_rb,0.29701e+03_rb,0.40469e+03_rb,0.28333e+03_rb,0.35000e+02_rb /) kbo(:, 2,32, 1) = (/ & & 0.24589e+02_rb,0.29689e+03_rb,0.40466e+03_rb,0.28330e+03_rb,0.35000e+02_rb /) kbo(:, 3,32, 1) = (/ & & 0.24586e+02_rb,0.29672e+03_rb,0.40464e+03_rb,0.28328e+03_rb,0.35000e+02_rb /) kbo(:, 4,32, 1) = (/ & & 0.24584e+02_rb,0.29647e+03_rb,0.40461e+03_rb,0.28324e+03_rb,0.35000e+02_rb /) kbo(:, 5,32, 1) = (/ & & 0.24582e+02_rb,0.29615e+03_rb,0.40459e+03_rb,0.28325e+03_rb,0.35000e+02_rb /) kbo(:, 1,33, 1) = (/ & & 0.24582e+02_rb,0.29698e+03_rb,0.40460e+03_rb,0.28323e+03_rb,0.35000e+02_rb /) kbo(:, 2,33, 1) = (/ & & 0.24580e+02_rb,0.29685e+03_rb,0.40458e+03_rb,0.28321e+03_rb,0.35000e+02_rb /) kbo(:, 3,33, 1) = (/ & & 0.24578e+02_rb,0.29665e+03_rb,0.40456e+03_rb,0.28318e+03_rb,0.35000e+02_rb /) kbo(:, 4,33, 1) = (/ & & 0.24576e+02_rb,0.29639e+03_rb,0.40454e+03_rb,0.28317e+03_rb,0.35000e+02_rb /) kbo(:, 5,33, 1) = (/ & & 0.24574e+02_rb,0.29605e+03_rb,0.40452e+03_rb,0.28315e+03_rb,0.35000e+02_rb /) kbo(:, 1,34, 1) = (/ & & 0.24574e+02_rb,0.29695e+03_rb,0.40453e+03_rb,0.28315e+03_rb,0.35000e+02_rb /) kbo(:, 2,34, 1) = (/ & & 0.24572e+02_rb,0.29680e+03_rb,0.40451e+03_rb,0.28313e+03_rb,0.35000e+02_rb /) kbo(:, 3,34, 1) = (/ & & 0.24571e+02_rb,0.29659e+03_rb,0.40449e+03_rb,0.28312e+03_rb,0.35000e+02_rb /) kbo(:, 4,34, 1) = (/ & & 0.24569e+02_rb,0.29631e+03_rb,0.40448e+03_rb,0.28310e+03_rb,0.35000e+02_rb /) kbo(:, 5,34, 1) = (/ & & 0.24568e+02_rb,0.29596e+03_rb,0.40447e+03_rb,0.28308e+03_rb,0.35000e+02_rb /) kbo(:, 1,35, 1) = (/ & & 0.24568e+02_rb,0.29693e+03_rb,0.40447e+03_rb,0.28309e+03_rb,0.35000e+02_rb /) kbo(:, 2,35, 1) = (/ & & 0.24567e+02_rb,0.29678e+03_rb,0.40446e+03_rb,0.28308e+03_rb,0.35000e+02_rb /) kbo(:, 3,35, 1) = (/ & & 0.24565e+02_rb,0.29656e+03_rb,0.40444e+03_rb,0.28306e+03_rb,0.35000e+02_rb /) kbo(:, 4,35, 1) = (/ & & 0.24564e+02_rb,0.29627e+03_rb,0.40443e+03_rb,0.28305e+03_rb,0.35000e+02_rb /) kbo(:, 5,35, 1) = (/ & & 0.24563e+02_rb,0.29590e+03_rb,0.40442e+03_rb,0.28304e+03_rb,0.35000e+02_rb /) kbo(:, 1,36, 1) = (/ & & 0.24563e+02_rb,0.29692e+03_rb,0.40443e+03_rb,0.28305e+03_rb,0.35000e+02_rb /) kbo(:, 2,36, 1) = (/ & & 0.24562e+02_rb,0.29677e+03_rb,0.40442e+03_rb,0.28304e+03_rb,0.35000e+02_rb /) kbo(:, 3,36, 1) = (/ & & 0.24561e+02_rb,0.29655e+03_rb,0.40440e+03_rb,0.28301e+03_rb,0.35000e+02_rb /) kbo(:, 4,36, 1) = (/ & & 0.24560e+02_rb,0.29626e+03_rb,0.40440e+03_rb,0.28302e+03_rb,0.35000e+02_rb /) kbo(:, 5,36, 1) = (/ & & 0.24559e+02_rb,0.29589e+03_rb,0.40439e+03_rb,0.28301e+03_rb,0.35000e+02_rb /) kbo(:, 1,37, 1) = (/ & & 0.24560e+02_rb,0.29693e+03_rb,0.40439e+03_rb,0.28301e+03_rb,0.35000e+02_rb /) kbo(:, 2,37, 1) = (/ & & 0.24559e+02_rb,0.29679e+03_rb,0.40438e+03_rb,0.28299e+03_rb,0.35000e+02_rb /) kbo(:, 3,37, 1) = (/ & & 0.24558e+02_rb,0.29658e+03_rb,0.40437e+03_rb,0.28299e+03_rb,0.35000e+02_rb /) kbo(:, 4,37, 1) = (/ & & 0.24557e+02_rb,0.29630e+03_rb,0.40437e+03_rb,0.28297e+03_rb,0.35000e+02_rb /) kbo(:, 5,37, 1) = (/ & & 0.24556e+02_rb,0.29594e+03_rb,0.40436e+03_rb,0.28297e+03_rb,0.35000e+02_rb /) kbo(:, 1,38, 1) = (/ & & 0.24557e+02_rb,0.29695e+03_rb,0.40436e+03_rb,0.28297e+03_rb,0.35000e+02_rb /) kbo(:, 2,38, 1) = (/ & & 0.24556e+02_rb,0.29681e+03_rb,0.40436e+03_rb,0.28296e+03_rb,0.35000e+02_rb /) kbo(:, 3,38, 1) = (/ & & 0.24555e+02_rb,0.29661e+03_rb,0.40435e+03_rb,0.28297e+03_rb,0.35000e+02_rb /) kbo(:, 4,38, 1) = (/ & & 0.24554e+02_rb,0.29634e+03_rb,0.40434e+03_rb,0.28296e+03_rb,0.35000e+02_rb /) kbo(:, 5,38, 1) = (/ & & 0.24554e+02_rb,0.29599e+03_rb,0.40434e+03_rb,0.28294e+03_rb,0.35000e+02_rb /) kbo(:, 1,39, 1) = (/ & & 0.24554e+02_rb,0.29696e+03_rb,0.40434e+03_rb,0.28295e+03_rb,0.35000e+02_rb /) kbo(:, 2,39, 1) = (/ & & 0.24553e+02_rb,0.29683e+03_rb,0.40433e+03_rb,0.28294e+03_rb,0.35000e+02_rb /) kbo(:, 3,39, 1) = (/ & & 0.24553e+02_rb,0.29664e+03_rb,0.40433e+03_rb,0.28293e+03_rb,0.35000e+02_rb /) kbo(:, 4,39, 1) = (/ & & 0.24552e+02_rb,0.29638e+03_rb,0.40432e+03_rb,0.28292e+03_rb,0.35000e+02_rb /) kbo(:, 5,39, 1) = (/ & & 0.24552e+02_rb,0.29604e+03_rb,0.40432e+03_rb,0.28292e+03_rb,0.35000e+02_rb /) kbo(:, 1,40, 1) = (/ & & 0.24552e+02_rb,0.29698e+03_rb,0.40432e+03_rb,0.28292e+03_rb,0.35000e+02_rb /) kbo(:, 2,40, 1) = (/ & & 0.24551e+02_rb,0.29687e+03_rb,0.40432e+03_rb,0.28293e+03_rb,0.35000e+02_rb /) kbo(:, 3,40, 1) = (/ & & 0.24551e+02_rb,0.29669e+03_rb,0.40431e+03_rb,0.28292e+03_rb,0.35000e+02_rb /) kbo(:, 4,40, 1) = (/ & & 0.24550e+02_rb,0.29645e+03_rb,0.40431e+03_rb,0.28291e+03_rb,0.35000e+02_rb /) kbo(:, 5,40, 1) = (/ & & 0.24550e+02_rb,0.29613e+03_rb,0.40430e+03_rb,0.28291e+03_rb,0.35000e+02_rb /) kbo(:, 1,41, 1) = (/ & & 0.24550e+02_rb,0.29699e+03_rb,0.40431e+03_rb,0.28290e+03_rb,0.35000e+02_rb /) kbo(:, 2,41, 1) = (/ & & 0.24550e+02_rb,0.29690e+03_rb,0.40430e+03_rb,0.28291e+03_rb,0.35000e+02_rb /) kbo(:, 3,41, 1) = (/ & & 0.24549e+02_rb,0.29674e+03_rb,0.40430e+03_rb,0.28289e+03_rb,0.35000e+02_rb /) kbo(:, 4,41, 1) = (/ & & 0.24549e+02_rb,0.29651e+03_rb,0.40429e+03_rb,0.28290e+03_rb,0.35000e+02_rb /) kbo(:, 5,41, 1) = (/ & & 0.24549e+02_rb,0.29622e+03_rb,0.40429e+03_rb,0.28289e+03_rb,0.35000e+02_rb /) kbo(:, 1,42, 1) = (/ & & 0.24549e+02_rb,0.29700e+03_rb,0.40429e+03_rb,0.28289e+03_rb,0.35000e+02_rb /) kbo(:, 2,42, 1) = (/ & & 0.24549e+02_rb,0.29693e+03_rb,0.40429e+03_rb,0.28289e+03_rb,0.35000e+02_rb /) kbo(:, 3,42, 1) = (/ & & 0.24548e+02_rb,0.29679e+03_rb,0.40429e+03_rb,0.28289e+03_rb,0.35000e+02_rb /) kbo(:, 4,42, 1) = (/ & & 0.24548e+02_rb,0.29658e+03_rb,0.40428e+03_rb,0.28289e+03_rb,0.35000e+02_rb /) kbo(:, 5,42, 1) = (/ & & 0.24547e+02_rb,0.29630e+03_rb,0.40428e+03_rb,0.28288e+03_rb,0.35000e+02_rb /) kbo(:, 1,43, 1) = (/ & & 0.24548e+02_rb,0.29701e+03_rb,0.40428e+03_rb,0.28288e+03_rb,0.35000e+02_rb /) kbo(:, 2,43, 1) = (/ & & 0.24547e+02_rb,0.29696e+03_rb,0.40428e+03_rb,0.28288e+03_rb,0.35000e+02_rb /) kbo(:, 3,43, 1) = (/ & & 0.24547e+02_rb,0.29684e+03_rb,0.40428e+03_rb,0.28288e+03_rb,0.35000e+02_rb /) kbo(:, 4,43, 1) = (/ & & 0.24547e+02_rb,0.29665e+03_rb,0.40427e+03_rb,0.28288e+03_rb,0.35000e+02_rb /) kbo(:, 5,43, 1) = (/ & & 0.24547e+02_rb,0.29639e+03_rb,0.40427e+03_rb,0.28288e+03_rb,0.35000e+02_rb /) kbo(:, 1,44, 1) = (/ & & 0.24547e+02_rb,0.29702e+03_rb,0.40427e+03_rb,0.28287e+03_rb,0.35000e+02_rb /) kbo(:, 2,44, 1) = (/ & & 0.24547e+02_rb,0.29698e+03_rb,0.40427e+03_rb,0.28287e+03_rb,0.35000e+02_rb /) kbo(:, 3,44, 1) = (/ & & 0.24546e+02_rb,0.29688e+03_rb,0.40427e+03_rb,0.28287e+03_rb,0.35000e+02_rb /) kbo(:, 4,44, 1) = (/ & & 0.24546e+02_rb,0.29672e+03_rb,0.40427e+03_rb,0.28287e+03_rb,0.35000e+02_rb /) kbo(:, 5,44, 1) = (/ & & 0.24546e+02_rb,0.29649e+03_rb,0.40426e+03_rb,0.28286e+03_rb,0.35000e+02_rb /) kbo(:, 1,45, 1) = (/ & & 0.24546e+02_rb,0.29701e+03_rb,0.40427e+03_rb,0.28287e+03_rb,0.35000e+02_rb /) kbo(:, 2,45, 1) = (/ & & 0.24546e+02_rb,0.29700e+03_rb,0.40426e+03_rb,0.28287e+03_rb,0.35000e+02_rb /) kbo(:, 3,45, 1) = (/ & & 0.24546e+02_rb,0.29692e+03_rb,0.40426e+03_rb,0.28286e+03_rb,0.35000e+02_rb /) kbo(:, 4,45, 1) = (/ & & 0.24545e+02_rb,0.29678e+03_rb,0.40426e+03_rb,0.28286e+03_rb,0.35000e+02_rb /) kbo(:, 5,45, 1) = (/ & & 0.24545e+02_rb,0.29657e+03_rb,0.40426e+03_rb,0.28286e+03_rb,0.35000e+02_rb /) kbo(:, 1,46, 1) = (/ & & 0.24545e+02_rb,0.29699e+03_rb,0.40426e+03_rb,0.28287e+03_rb,0.35000e+02_rb /) kbo(:, 2,46, 1) = (/ & & 0.24545e+02_rb,0.29701e+03_rb,0.40426e+03_rb,0.28285e+03_rb,0.35000e+02_rb /) kbo(:, 3,46, 1) = (/ & & 0.24545e+02_rb,0.29696e+03_rb,0.40426e+03_rb,0.28286e+03_rb,0.35000e+02_rb /) kbo(:, 4,46, 1) = (/ & & 0.24545e+02_rb,0.29684e+03_rb,0.40425e+03_rb,0.28285e+03_rb,0.35000e+02_rb /) kbo(:, 5,46, 1) = (/ & & 0.24545e+02_rb,0.29665e+03_rb,0.40425e+03_rb,0.28285e+03_rb,0.35000e+02_rb /) kbo(:, 1,47, 1) = (/ & & 0.24545e+02_rb,0.29696e+03_rb,0.40425e+03_rb,0.28285e+03_rb,0.35000e+02_rb /) kbo(:, 2,47, 1) = (/ & & 0.24545e+02_rb,0.29701e+03_rb,0.40425e+03_rb,0.28286e+03_rb,0.35000e+02_rb /) kbo(:, 3,47, 1) = (/ & & 0.24544e+02_rb,0.29699e+03_rb,0.40425e+03_rb,0.28285e+03_rb,0.35000e+02_rb /) kbo(:, 4,47, 1) = (/ & & 0.24544e+02_rb,0.29690e+03_rb,0.40425e+03_rb,0.28285e+03_rb,0.35000e+02_rb /) kbo(:, 5,47, 1) = (/ & & 0.24544e+02_rb,0.29674e+03_rb,0.40425e+03_rb,0.28286e+03_rb,0.35000e+02_rb /) kbo(:, 1,48, 1) = (/ & & 0.24544e+02_rb,0.29691e+03_rb,0.40425e+03_rb,0.28286e+03_rb,0.35000e+02_rb /) kbo(:, 2,48, 1) = (/ & & 0.24544e+02_rb,0.29700e+03_rb,0.40425e+03_rb,0.28285e+03_rb,0.35000e+02_rb /) kbo(:, 3,48, 1) = (/ & & 0.24544e+02_rb,0.29701e+03_rb,0.40425e+03_rb,0.28284e+03_rb,0.35000e+02_rb /) kbo(:, 4,48, 1) = (/ & & 0.24544e+02_rb,0.29694e+03_rb,0.40425e+03_rb,0.28285e+03_rb,0.35000e+02_rb /) kbo(:, 5,48, 1) = (/ & & 0.24544e+02_rb,0.29681e+03_rb,0.40425e+03_rb,0.28284e+03_rb,0.35000e+02_rb /) kbo(:, 1,49, 1) = (/ & & 0.24544e+02_rb,0.29685e+03_rb,0.40425e+03_rb,0.28284e+03_rb,0.35000e+02_rb /) kbo(:, 2,49, 1) = (/ & & 0.24544e+02_rb,0.29698e+03_rb,0.40425e+03_rb,0.28284e+03_rb,0.35000e+02_rb /) kbo(:, 3,49, 1) = (/ & & 0.24544e+02_rb,0.29701e+03_rb,0.40424e+03_rb,0.28284e+03_rb,0.35000e+02_rb /) kbo(:, 4,49, 1) = (/ & & 0.24544e+02_rb,0.29697e+03_rb,0.40424e+03_rb,0.28285e+03_rb,0.35000e+02_rb /) kbo(:, 5,49, 1) = (/ & & 0.24544e+02_rb,0.29687e+03_rb,0.40424e+03_rb,0.28284e+03_rb,0.35000e+02_rb /) kbo(:, 1,50, 1) = (/ & & 0.24544e+02_rb,0.29678e+03_rb,0.40424e+03_rb,0.28284e+03_rb,0.35000e+02_rb /) kbo(:, 2,50, 1) = (/ & & 0.24544e+02_rb,0.29694e+03_rb,0.40424e+03_rb,0.28284e+03_rb,0.35000e+02_rb /) kbo(:, 3,50, 1) = (/ & & 0.24543e+02_rb,0.29701e+03_rb,0.40424e+03_rb,0.28284e+03_rb,0.35000e+02_rb /) kbo(:, 4,50, 1) = (/ & & 0.24543e+02_rb,0.29700e+03_rb,0.40424e+03_rb,0.28284e+03_rb,0.35000e+02_rb /) kbo(:, 5,50, 1) = (/ & & 0.24543e+02_rb,0.29692e+03_rb,0.40424e+03_rb,0.28284e+03_rb,0.35000e+02_rb /) kbo(:, 1,51, 1) = (/ & & 0.24543e+02_rb,0.29670e+03_rb,0.40424e+03_rb,0.28284e+03_rb,0.35000e+02_rb /) kbo(:, 2,51, 1) = (/ & & 0.24543e+02_rb,0.29689e+03_rb,0.40424e+03_rb,0.28284e+03_rb,0.35000e+02_rb /) kbo(:, 3,51, 1) = (/ & & 0.24543e+02_rb,0.29699e+03_rb,0.40424e+03_rb,0.28284e+03_rb,0.35000e+02_rb /) kbo(:, 4,51, 1) = (/ & & 0.24543e+02_rb,0.29701e+03_rb,0.40424e+03_rb,0.28284e+03_rb,0.35000e+02_rb /) kbo(:, 5,51, 1) = (/ & & 0.24543e+02_rb,0.29695e+03_rb,0.40424e+03_rb,0.28284e+03_rb,0.35000e+02_rb /) kbo(:, 1,52, 1) = (/ & & 0.24543e+02_rb,0.29660e+03_rb,0.40424e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 2,52, 1) = (/ & & 0.24543e+02_rb,0.29684e+03_rb,0.40424e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 3,52, 1) = (/ & & 0.24543e+02_rb,0.29697e+03_rb,0.40424e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 4,52, 1) = (/ & & 0.24543e+02_rb,0.29701e+03_rb,0.40424e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 5,52, 1) = (/ & & 0.24543e+02_rb,0.29698e+03_rb,0.40424e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 1,53, 1) = (/ & & 0.24543e+02_rb,0.29648e+03_rb,0.40424e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 2,53, 1) = (/ & & 0.24543e+02_rb,0.29676e+03_rb,0.40424e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 3,53, 1) = (/ & & 0.24543e+02_rb,0.29693e+03_rb,0.40424e+03_rb,0.28284e+03_rb,0.35000e+02_rb /) kbo(:, 4,53, 1) = (/ & & 0.24543e+02_rb,0.29701e+03_rb,0.40424e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 5,53, 1) = (/ & & 0.24543e+02_rb,0.29700e+03_rb,0.40424e+03_rb,0.28284e+03_rb,0.35000e+02_rb /) kbo(:, 1,54, 1) = (/ & & 0.24543e+02_rb,0.29635e+03_rb,0.40424e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 2,54, 1) = (/ & & 0.24543e+02_rb,0.29668e+03_rb,0.40424e+03_rb,0.28284e+03_rb,0.35000e+02_rb /) kbo(:, 3,54, 1) = (/ & & 0.24543e+02_rb,0.29688e+03_rb,0.40424e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 4,54, 1) = (/ & & 0.24543e+02_rb,0.29699e+03_rb,0.40423e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 5,54, 1) = (/ & & 0.24543e+02_rb,0.29701e+03_rb,0.40423e+03_rb,0.28285e+03_rb,0.35000e+02_rb /) kbo(:, 1,55, 1) = (/ & & 0.24543e+02_rb,0.29622e+03_rb,0.40424e+03_rb,0.28285e+03_rb,0.35000e+02_rb /) kbo(:, 2,55, 1) = (/ & & 0.24543e+02_rb,0.29659e+03_rb,0.40423e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 3,55, 1) = (/ & & 0.24543e+02_rb,0.29683e+03_rb,0.40423e+03_rb,0.28284e+03_rb,0.35000e+02_rb /) kbo(:, 4,55, 1) = (/ & & 0.24543e+02_rb,0.29696e+03_rb,0.40423e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 5,55, 1) = (/ & & 0.24543e+02_rb,0.29701e+03_rb,0.40423e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 1,56, 1) = (/ & & 0.24543e+02_rb,0.29607e+03_rb,0.40423e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 2,56, 1) = (/ & & 0.24543e+02_rb,0.29649e+03_rb,0.40423e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 3,56, 1) = (/ & & 0.24543e+02_rb,0.29676e+03_rb,0.40423e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 4,56, 1) = (/ & & 0.24542e+02_rb,0.29693e+03_rb,0.40423e+03_rb,0.28282e+03_rb,0.35000e+02_rb /) kbo(:, 5,56, 1) = (/ & & 0.24542e+02_rb,0.29700e+03_rb,0.40423e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 1,57, 1) = (/ & & 0.24543e+02_rb,0.29591e+03_rb,0.40423e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 2,57, 1) = (/ & & 0.24542e+02_rb,0.29637e+03_rb,0.40423e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 3,57, 1) = (/ & & 0.24542e+02_rb,0.29669e+03_rb,0.40423e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 4,57, 1) = (/ & & 0.24542e+02_rb,0.29689e+03_rb,0.40423e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 5,57, 1) = (/ & & 0.24542e+02_rb,0.29699e+03_rb,0.40423e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 1,58, 1) = (/ & & 0.24542e+02_rb,0.29574e+03_rb,0.40423e+03_rb,0.28282e+03_rb,0.35000e+02_rb /) kbo(:, 2,58, 1) = (/ & & 0.24542e+02_rb,0.29624e+03_rb,0.40423e+03_rb,0.28282e+03_rb,0.35000e+02_rb /) kbo(:, 3,58, 1) = (/ & & 0.24542e+02_rb,0.29660e+03_rb,0.40423e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 4,58, 1) = (/ & & 0.24542e+02_rb,0.29684e+03_rb,0.40423e+03_rb,0.28284e+03_rb,0.35000e+02_rb /) kbo(:, 5,58, 1) = (/ & & 0.24542e+02_rb,0.29697e+03_rb,0.40423e+03_rb,0.28282e+03_rb,0.35000e+02_rb /) kbo(:, 1,59, 1) = (/ & & 0.24542e+02_rb,0.29566e+03_rb,0.40423e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 2,59, 1) = (/ & & 0.24542e+02_rb,0.29619e+03_rb,0.40423e+03_rb,0.28282e+03_rb,0.35000e+02_rb /) kbo(:, 3,59, 1) = (/ & & 0.24542e+02_rb,0.29657e+03_rb,0.40423e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 4,59, 1) = (/ & & 0.24542e+02_rb,0.29682e+03_rb,0.40423e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 5,59, 1) = (/ & & 0.24542e+02_rb,0.29696e+03_rb,0.40423e+03_rb,0.28283e+03_rb,0.35000e+02_rb /) kbo(:, 1,13, 2) = (/ & & 0.10177e+03_rb,0.32761e+03_rb,0.45575e+03_rb,0.31335e+03_rb,0.71839e+02_rb /) kbo(:, 2,13, 2) = (/ & & 0.10099e+03_rb,0.32713e+03_rb,0.45383e+03_rb,0.31125e+03_rb,0.71839e+02_rb /) kbo(:, 3,13, 2) = (/ & & 0.10031e+03_rb,0.32663e+03_rb,0.45216e+03_rb,0.30943e+03_rb,0.71839e+02_rb /) kbo(:, 4,13, 2) = (/ & & 0.99721e+02_rb,0.32612e+03_rb,0.45071e+03_rb,0.30785e+03_rb,0.71839e+02_rb /) kbo(:, 5,13, 2) = (/ & & 0.99204e+02_rb,0.32558e+03_rb,0.44942e+03_rb,0.30646e+03_rb,0.71839e+02_rb /) kbo(:, 1,14, 2) = (/ & & 0.99803e+02_rb,0.32613e+03_rb,0.45091e+03_rb,0.30807e+03_rb,0.71839e+02_rb /) kbo(:, 2,14, 2) = (/ & & 0.99169e+02_rb,0.32574e+03_rb,0.44934e+03_rb,0.30636e+03_rb,0.71839e+02_rb /) kbo(:, 3,14, 2) = (/ & & 0.98622e+02_rb,0.32534e+03_rb,0.44797e+03_rb,0.30489e+03_rb,0.71839e+02_rb /) kbo(:, 4,14, 2) = (/ & & 0.98146e+02_rb,0.32491e+03_rb,0.44677e+03_rb,0.30362e+03_rb,0.71839e+02_rb /) kbo(:, 5,14, 2) = (/ & & 0.97728e+02_rb,0.32444e+03_rb,0.44571e+03_rb,0.30248e+03_rb,0.71839e+02_rb /) kbo(:, 1,15, 2) = (/ & & 0.98198e+02_rb,0.32493e+03_rb,0.44690e+03_rb,0.30375e+03_rb,0.71839e+02_rb /) kbo(:, 2,15, 2) = (/ & & 0.97687e+02_rb,0.32462e+03_rb,0.44560e+03_rb,0.30237e+03_rb,0.71839e+02_rb /) kbo(:, 3,15, 2) = (/ & & 0.97245e+02_rb,0.32429e+03_rb,0.44448e+03_rb,0.30119e+03_rb,0.71839e+02_rb /) kbo(:, 4,15, 2) = (/ & & 0.96861e+02_rb,0.32392e+03_rb,0.44350e+03_rb,0.30014e+03_rb,0.71839e+02_rb /) kbo(:, 5,15, 2) = (/ & & 0.96523e+02_rb,0.32350e+03_rb,0.44263e+03_rb,0.29923e+03_rb,0.71839e+02_rb /) kbo(:, 1,16, 2) = (/ & & 0.96892e+02_rb,0.32395e+03_rb,0.44358e+03_rb,0.30023e+03_rb,0.71839e+02_rb /) kbo(:, 2,16, 2) = (/ & & 0.96480e+02_rb,0.32371e+03_rb,0.44252e+03_rb,0.29912e+03_rb,0.71839e+02_rb /) kbo(:, 3,16, 2) = (/ & & 0.96125e+02_rb,0.32343e+03_rb,0.44161e+03_rb,0.29817e+03_rb,0.71839e+02_rb /) kbo(:, 4,16, 2) = (/ & & 0.95814e+02_rb,0.32311e+03_rb,0.44081e+03_rb,0.29733e+03_rb,0.71839e+02_rb /) kbo(:, 5,16, 2) = (/ & & 0.95541e+02_rb,0.32273e+03_rb,0.44010e+03_rb,0.29661e+03_rb,0.71839e+02_rb /) kbo(:, 1,17, 2) = (/ & & 0.95833e+02_rb,0.32316e+03_rb,0.44086e+03_rb,0.29737e+03_rb,0.71839e+02_rb /) kbo(:, 2,17, 2) = (/ & & 0.95501e+02_rb,0.32297e+03_rb,0.44000e+03_rb,0.29648e+03_rb,0.71839e+02_rb /) kbo(:, 3,17, 2) = (/ & & 0.95214e+02_rb,0.32274e+03_rb,0.43925e+03_rb,0.29569e+03_rb,0.71839e+02_rb /) kbo(:, 4,17, 2) = (/ & & 0.94964e+02_rb,0.32245e+03_rb,0.43860e+03_rb,0.29502e+03_rb,0.71839e+02_rb /) kbo(:, 5,17, 2) = (/ & & 0.94743e+02_rb,0.32210e+03_rb,0.43803e+03_rb,0.29442e+03_rb,0.71839e+02_rb /) kbo(:, 1,18, 2) = (/ & & 0.94974e+02_rb,0.32251e+03_rb,0.43863e+03_rb,0.29504e+03_rb,0.71839e+02_rb /) kbo(:, 2,18, 2) = (/ & & 0.94707e+02_rb,0.32236e+03_rb,0.43793e+03_rb,0.29432e+03_rb,0.71839e+02_rb /) kbo(:, 3,18, 2) = (/ & & 0.94475e+02_rb,0.32217e+03_rb,0.43733e+03_rb,0.29369e+03_rb,0.71839e+02_rb /) kbo(:, 4,18, 2) = (/ & & 0.94272e+02_rb,0.32191e+03_rb,0.43680e+03_rb,0.29315e+03_rb,0.71839e+02_rb /) kbo(:, 5,18, 2) = (/ & & 0.94094e+02_rb,0.32158e+03_rb,0.43633e+03_rb,0.29267e+03_rb,0.71839e+02_rb /) kbo(:, 1,19, 2) = (/ & & 0.94277e+02_rb,0.32199e+03_rb,0.43681e+03_rb,0.29316e+03_rb,0.71839e+02_rb /) kbo(:, 2,19, 2) = (/ & & 0.94061e+02_rb,0.32187e+03_rb,0.43624e+03_rb,0.29258e+03_rb,0.71839e+02_rb /) kbo(:, 3,19, 2) = (/ & & 0.93874e+02_rb,0.32170e+03_rb,0.43575e+03_rb,0.29207e+03_rb,0.71839e+02_rb /) kbo(:, 4,19, 2) = (/ & & 0.93711e+02_rb,0.32146e+03_rb,0.43532e+03_rb,0.29164e+03_rb,0.71839e+02_rb /) kbo(:, 5,19, 2) = (/ & & 0.93566e+02_rb,0.32115e+03_rb,0.43494e+03_rb,0.29125e+03_rb,0.71839e+02_rb /) kbo(:, 1,20, 2) = (/ & & 0.93708e+02_rb,0.32157e+03_rb,0.43531e+03_rb,0.29163e+03_rb,0.71839e+02_rb /) kbo(:, 2,20, 2) = (/ & & 0.93534e+02_rb,0.32147e+03_rb,0.43485e+03_rb,0.29117e+03_rb,0.71839e+02_rb /) kbo(:, 3,20, 2) = (/ & & 0.93383e+02_rb,0.32132e+03_rb,0.43445e+03_rb,0.29076e+03_rb,0.71839e+02_rb /) kbo(:, 4,20, 2) = (/ & & 0.93251e+02_rb,0.32109e+03_rb,0.43411e+03_rb,0.29041e+03_rb,0.71839e+02_rb /) kbo(:, 5,20, 2) = (/ & & 0.93135e+02_rb,0.32079e+03_rb,0.43380e+03_rb,0.29010e+03_rb,0.71839e+02_rb /) kbo(:, 1,21, 2) = (/ & & 0.93246e+02_rb,0.32122e+03_rb,0.43409e+03_rb,0.29040e+03_rb,0.71839e+02_rb /) kbo(:, 2,21, 2) = (/ & & 0.93106e+02_rb,0.32114e+03_rb,0.43372e+03_rb,0.29003e+03_rb,0.71839e+02_rb /) kbo(:, 3,21, 2) = (/ & & 0.92985e+02_rb,0.32100e+03_rb,0.43340e+03_rb,0.28970e+03_rb,0.71839e+02_rb /) kbo(:, 4,21, 2) = (/ & & 0.92878e+02_rb,0.32079e+03_rb,0.43311e+03_rb,0.28941e+03_rb,0.71839e+02_rb /) kbo(:, 5,21, 2) = (/ & & 0.92784e+02_rb,0.32049e+03_rb,0.43286e+03_rb,0.28917e+03_rb,0.71839e+02_rb /) kbo(:, 1,22, 2) = (/ & & 0.92863e+02_rb,0.32094e+03_rb,0.43307e+03_rb,0.28938e+03_rb,0.71839e+02_rb /) kbo(:, 2,22, 2) = (/ & & 0.92751e+02_rb,0.32087e+03_rb,0.43278e+03_rb,0.28908e+03_rb,0.71839e+02_rb /) kbo(:, 3,22, 2) = (/ & & 0.92655e+02_rb,0.32073e+03_rb,0.43252e+03_rb,0.28882e+03_rb,0.71839e+02_rb /) kbo(:, 4,22, 2) = (/ & & 0.92569e+02_rb,0.32051e+03_rb,0.43229e+03_rb,0.28860e+03_rb,0.71839e+02_rb /) kbo(:, 5,22, 2) = (/ & & 0.92494e+02_rb,0.32022e+03_rb,0.43209e+03_rb,0.28840e+03_rb,0.71839e+02_rb /) kbo(:, 1,23, 2) = (/ & & 0.92553e+02_rb,0.32072e+03_rb,0.43225e+03_rb,0.28855e+03_rb,0.71839e+02_rb /) kbo(:, 2,23, 2) = (/ & & 0.92465e+02_rb,0.32064e+03_rb,0.43201e+03_rb,0.28832e+03_rb,0.71839e+02_rb /) kbo(:, 3,23, 2) = (/ & & 0.92387e+02_rb,0.32050e+03_rb,0.43180e+03_rb,0.28811e+03_rb,0.71839e+02_rb /) kbo(:, 4,23, 2) = (/ & & 0.92319e+02_rb,0.32029e+03_rb,0.43162e+03_rb,0.28793e+03_rb,0.71839e+02_rb /) kbo(:, 5,23, 2) = (/ & & 0.92259e+02_rb,0.31998e+03_rb,0.43146e+03_rb,0.28778e+03_rb,0.71839e+02_rb /) kbo(:, 1,24, 2) = (/ & & 0.92303e+02_rb,0.32053e+03_rb,0.43158e+03_rb,0.28789e+03_rb,0.71839e+02_rb /) kbo(:, 2,24, 2) = (/ & & 0.92233e+02_rb,0.32046e+03_rb,0.43139e+03_rb,0.28770e+03_rb,0.71839e+02_rb /) kbo(:, 3,24, 2) = (/ & & 0.92171e+02_rb,0.32031e+03_rb,0.43122e+03_rb,0.28754e+03_rb,0.71839e+02_rb /) kbo(:, 4,24, 2) = (/ & & 0.92117e+02_rb,0.32009e+03_rb,0.43108e+03_rb,0.28740e+03_rb,0.71839e+02_rb /) kbo(:, 5,24, 2) = (/ & & 0.92068e+02_rb,0.31978e+03_rb,0.43095e+03_rb,0.28727e+03_rb,0.71839e+02_rb /) kbo(:, 1,25, 2) = (/ & & 0.92101e+02_rb,0.32038e+03_rb,0.43103e+03_rb,0.28736e+03_rb,0.71839e+02_rb /) kbo(:, 2,25, 2) = (/ & & 0.92045e+02_rb,0.32030e+03_rb,0.43088e+03_rb,0.28721e+03_rb,0.71839e+02_rb /) kbo(:, 3,25, 2) = (/ & & 0.91996e+02_rb,0.32015e+03_rb,0.43075e+03_rb,0.28708e+03_rb,0.71839e+02_rb /) kbo(:, 4,25, 2) = (/ & & 0.91952e+02_rb,0.31991e+03_rb,0.43064e+03_rb,0.28696e+03_rb,0.71839e+02_rb /) kbo(:, 5,25, 2) = (/ & & 0.91914e+02_rb,0.31959e+03_rb,0.43053e+03_rb,0.28684e+03_rb,0.71839e+02_rb /) kbo(:, 1,26, 2) = (/ & & 0.91937e+02_rb,0.32025e+03_rb,0.43059e+03_rb,0.28693e+03_rb,0.71839e+02_rb /) kbo(:, 2,26, 2) = (/ & & 0.91892e+02_rb,0.32016e+03_rb,0.43047e+03_rb,0.28680e+03_rb,0.71839e+02_rb /) kbo(:, 3,26, 2) = (/ & & 0.91853e+02_rb,0.32000e+03_rb,0.43037e+03_rb,0.28670e+03_rb,0.71839e+02_rb /) kbo(:, 4,26, 2) = (/ & & 0.91819e+02_rb,0.31975e+03_rb,0.43028e+03_rb,0.28661e+03_rb,0.71839e+02_rb /) kbo(:, 5,26, 2) = (/ & & 0.91788e+02_rb,0.31942e+03_rb,0.43019e+03_rb,0.28653e+03_rb,0.71839e+02_rb /) kbo(:, 1,27, 2) = (/ & & 0.91805e+02_rb,0.32015e+03_rb,0.43024e+03_rb,0.28658e+03_rb,0.71839e+02_rb /) kbo(:, 2,27, 2) = (/ & & 0.91770e+02_rb,0.32005e+03_rb,0.43014e+03_rb,0.28648e+03_rb,0.71839e+02_rb /) kbo(:, 3,27, 2) = (/ & & 0.91738e+02_rb,0.31986e+03_rb,0.43006e+03_rb,0.28630e+03_rb,0.71839e+02_rb /) kbo(:, 4,27, 2) = (/ & & 0.91711e+02_rb,0.31960e+03_rb,0.42998e+03_rb,0.28633e+03_rb,0.71839e+02_rb /) kbo(:, 5,27, 2) = (/ & & 0.91687e+02_rb,0.31925e+03_rb,0.42992e+03_rb,0.28626e+03_rb,0.71839e+02_rb /) kbo(:, 1,28, 2) = (/ & & 0.91698e+02_rb,0.32005e+03_rb,0.42995e+03_rb,0.28628e+03_rb,0.71839e+02_rb /) kbo(:, 2,28, 2) = (/ & & 0.91670e+02_rb,0.31994e+03_rb,0.42987e+03_rb,0.28622e+03_rb,0.71839e+02_rb /) kbo(:, 3,28, 2) = (/ & & 0.91646e+02_rb,0.31974e+03_rb,0.42981e+03_rb,0.28615e+03_rb,0.71839e+02_rb /) kbo(:, 4,28, 2) = (/ & & 0.91624e+02_rb,0.31946e+03_rb,0.42975e+03_rb,0.28609e+03_rb,0.71839e+02_rb /) kbo(:, 5,28, 2) = (/ & & 0.91604e+02_rb,0.31910e+03_rb,0.42970e+03_rb,0.28605e+03_rb,0.71839e+02_rb /) kbo(:, 1,29, 2) = (/ & & 0.91613e+02_rb,0.31997e+03_rb,0.42972e+03_rb,0.28605e+03_rb,0.71839e+02_rb /) kbo(:, 2,29, 2) = (/ & & 0.91591e+02_rb,0.31984e+03_rb,0.42966e+03_rb,0.28600e+03_rb,0.71839e+02_rb /) kbo(:, 3,29, 2) = (/ & & 0.91571e+02_rb,0.31963e+03_rb,0.42960e+03_rb,0.28595e+03_rb,0.71839e+02_rb /) kbo(:, 4,29, 2) = (/ & & 0.91554e+02_rb,0.31933e+03_rb,0.42956e+03_rb,0.28590e+03_rb,0.71839e+02_rb /) kbo(:, 5,29, 2) = (/ & & 0.91538e+02_rb,0.31895e+03_rb,0.42952e+03_rb,0.28586e+03_rb,0.71839e+02_rb /) kbo(:, 1,30, 2) = (/ & & 0.91544e+02_rb,0.31990e+03_rb,0.42953e+03_rb,0.28589e+03_rb,0.71839e+02_rb /) kbo(:, 2,30, 2) = (/ & & 0.91526e+02_rb,0.31975e+03_rb,0.42948e+03_rb,0.28584e+03_rb,0.71839e+02_rb /) kbo(:, 3,30, 2) = (/ & & 0.91511e+02_rb,0.31952e+03_rb,0.42944e+03_rb,0.28580e+03_rb,0.71839e+02_rb /) kbo(:, 4,30, 2) = (/ & & 0.91497e+02_rb,0.31920e+03_rb,0.42940e+03_rb,0.28577e+03_rb,0.71839e+02_rb /) kbo(:, 5,30, 2) = (/ & & 0.91484e+02_rb,0.31880e+03_rb,0.42937e+03_rb,0.28573e+03_rb,0.71839e+02_rb /) kbo(:, 1,31, 2) = (/ & & 0.91488e+02_rb,0.31983e+03_rb,0.42938e+03_rb,0.28574e+03_rb,0.71839e+02_rb /) kbo(:, 2,31, 2) = (/ & & 0.91474e+02_rb,0.31966e+03_rb,0.42934e+03_rb,0.28571e+03_rb,0.71839e+02_rb /) kbo(:, 3,31, 2) = (/ & & 0.91462e+02_rb,0.31941e+03_rb,0.42931e+03_rb,0.28567e+03_rb,0.71839e+02_rb /) kbo(:, 4,31, 2) = (/ & & 0.91451e+02_rb,0.31908e+03_rb,0.42928e+03_rb,0.28564e+03_rb,0.71839e+02_rb /) kbo(:, 5,31, 2) = (/ & & 0.91441e+02_rb,0.31866e+03_rb,0.42925e+03_rb,0.28562e+03_rb,0.71839e+02_rb /) kbo(:, 1,32, 2) = (/ & & 0.91443e+02_rb,0.31976e+03_rb,0.42926e+03_rb,0.28562e+03_rb,0.71839e+02_rb /) kbo(:, 2,32, 2) = (/ & & 0.91432e+02_rb,0.31958e+03_rb,0.42923e+03_rb,0.28559e+03_rb,0.71839e+02_rb /) kbo(:, 3,32, 2) = (/ & & 0.91423e+02_rb,0.31930e+03_rb,0.42920e+03_rb,0.28557e+03_rb,0.71839e+02_rb /) kbo(:, 4,32, 2) = (/ & & 0.91414e+02_rb,0.31895e+03_rb,0.42918e+03_rb,0.28555e+03_rb,0.71839e+02_rb /) kbo(:, 5,32, 2) = (/ & & 0.91406e+02_rb,0.31851e+03_rb,0.42916e+03_rb,0.28551e+03_rb,0.71839e+02_rb /) kbo(:, 1,33, 2) = (/ & & 0.91407e+02_rb,0.31970e+03_rb,0.42916e+03_rb,0.28553e+03_rb,0.71839e+02_rb /) kbo(:, 2,33, 2) = (/ & & 0.91399e+02_rb,0.31949e+03_rb,0.42914e+03_rb,0.28551e+03_rb,0.71839e+02_rb /) kbo(:, 3,33, 2) = (/ & & 0.91391e+02_rb,0.31920e+03_rb,0.42912e+03_rb,0.28549e+03_rb,0.71839e+02_rb /) kbo(:, 4,33, 2) = (/ & & 0.91384e+02_rb,0.31882e+03_rb,0.42910e+03_rb,0.28547e+03_rb,0.71839e+02_rb /) kbo(:, 5,33, 2) = (/ & & 0.91378e+02_rb,0.31837e+03_rb,0.42908e+03_rb,0.28546e+03_rb,0.71839e+02_rb /) kbo(:, 1,34, 2) = (/ & & 0.91379e+02_rb,0.31964e+03_rb,0.42908e+03_rb,0.28546e+03_rb,0.71839e+02_rb /) kbo(:, 2,34, 2) = (/ & & 0.91372e+02_rb,0.31941e+03_rb,0.42906e+03_rb,0.28544e+03_rb,0.71839e+02_rb /) kbo(:, 3,34, 2) = (/ & & 0.91365e+02_rb,0.31910e+03_rb,0.42905e+03_rb,0.28542e+03_rb,0.71839e+02_rb /) kbo(:, 4,34, 2) = (/ & & 0.91360e+02_rb,0.31871e+03_rb,0.42903e+03_rb,0.28541e+03_rb,0.71839e+02_rb /) kbo(:, 5,34, 2) = (/ & & 0.91355e+02_rb,0.31824e+03_rb,0.42902e+03_rb,0.28540e+03_rb,0.71839e+02_rb /) kbo(:, 1,35, 2) = (/ & & 0.91356e+02_rb,0.31960e+03_rb,0.42902e+03_rb,0.28539e+03_rb,0.71839e+02_rb /) kbo(:, 2,35, 2) = (/ & & 0.91350e+02_rb,0.31936e+03_rb,0.42901e+03_rb,0.28538e+03_rb,0.71839e+02_rb /) kbo(:, 3,35, 2) = (/ & & 0.91345e+02_rb,0.31904e+03_rb,0.42899e+03_rb,0.28537e+03_rb,0.71839e+02_rb /) kbo(:, 4,35, 2) = (/ & & 0.91341e+02_rb,0.31863e+03_rb,0.42898e+03_rb,0.28535e+03_rb,0.71839e+02_rb /) kbo(:, 5,35, 2) = (/ & & 0.91337e+02_rb,0.31816e+03_rb,0.42897e+03_rb,0.28535e+03_rb,0.71839e+02_rb /) kbo(:, 1,36, 2) = (/ & & 0.91338e+02_rb,0.31958e+03_rb,0.42897e+03_rb,0.28535e+03_rb,0.71839e+02_rb /) kbo(:, 2,36, 2) = (/ & & 0.91334e+02_rb,0.31934e+03_rb,0.42896e+03_rb,0.28533e+03_rb,0.71839e+02_rb /) kbo(:, 3,36, 2) = (/ & & 0.91330e+02_rb,0.31902e+03_rb,0.42895e+03_rb,0.28533e+03_rb,0.71839e+02_rb /) kbo(:, 4,36, 2) = (/ & & 0.91326e+02_rb,0.31862e+03_rb,0.42894e+03_rb,0.28530e+03_rb,0.71839e+02_rb /) kbo(:, 5,36, 2) = (/ & & 0.91323e+02_rb,0.31814e+03_rb,0.42893e+03_rb,0.28530e+03_rb,0.71839e+02_rb /) kbo(:, 1,37, 2) = (/ & & 0.91324e+02_rb,0.31959e+03_rb,0.42894e+03_rb,0.28531e+03_rb,0.71839e+02_rb /) kbo(:, 2,37, 2) = (/ & & 0.91320e+02_rb,0.31937e+03_rb,0.42893e+03_rb,0.28530e+03_rb,0.71839e+02_rb /) kbo(:, 3,37, 2) = (/ & & 0.91317e+02_rb,0.31906e+03_rb,0.42892e+03_rb,0.28529e+03_rb,0.71839e+02_rb /) kbo(:, 4,37, 2) = (/ & & 0.91314e+02_rb,0.31866e+03_rb,0.42891e+03_rb,0.28529e+03_rb,0.71839e+02_rb /) kbo(:, 5,37, 2) = (/ & & 0.91311e+02_rb,0.31819e+03_rb,0.42890e+03_rb,0.28527e+03_rb,0.71839e+02_rb /) kbo(:, 1,38, 2) = (/ & & 0.91313e+02_rb,0.31961e+03_rb,0.42890e+03_rb,0.28528e+03_rb,0.71839e+02_rb /) kbo(:, 2,38, 2) = (/ & & 0.91310e+02_rb,0.31939e+03_rb,0.42890e+03_rb,0.28528e+03_rb,0.71839e+02_rb /) kbo(:, 3,38, 2) = (/ & & 0.91307e+02_rb,0.31910e+03_rb,0.42889e+03_rb,0.28526e+03_rb,0.71839e+02_rb /) kbo(:, 4,38, 2) = (/ & & 0.91304e+02_rb,0.31871e+03_rb,0.42888e+03_rb,0.28525e+03_rb,0.71839e+02_rb /) kbo(:, 5,38, 2) = (/ & & 0.91302e+02_rb,0.31826e+03_rb,0.42888e+03_rb,0.28525e+03_rb,0.71839e+02_rb /) kbo(:, 1,39, 2) = (/ & & 0.91303e+02_rb,0.31962e+03_rb,0.42888e+03_rb,0.28525e+03_rb,0.71839e+02_rb /) kbo(:, 2,39, 2) = (/ & & 0.91301e+02_rb,0.31942e+03_rb,0.42887e+03_rb,0.28525e+03_rb,0.71839e+02_rb /) kbo(:, 3,39, 2) = (/ & & 0.91298e+02_rb,0.31914e+03_rb,0.42886e+03_rb,0.28525e+03_rb,0.71839e+02_rb /) kbo(:, 4,39, 2) = (/ & & 0.91296e+02_rb,0.31877e+03_rb,0.42886e+03_rb,0.28524e+03_rb,0.71839e+02_rb /) kbo(:, 5,39, 2) = (/ & & 0.91294e+02_rb,0.31832e+03_rb,0.42885e+03_rb,0.28523e+03_rb,0.71839e+02_rb /) kbo(:, 1,40, 2) = (/ & & 0.91296e+02_rb,0.31965e+03_rb,0.42886e+03_rb,0.28524e+03_rb,0.71839e+02_rb /) kbo(:, 2,40, 2) = (/ & & 0.91293e+02_rb,0.31947e+03_rb,0.42885e+03_rb,0.28522e+03_rb,0.71839e+02_rb /) kbo(:, 3,40, 2) = (/ & & 0.91292e+02_rb,0.31921e+03_rb,0.42885e+03_rb,0.28522e+03_rb,0.71839e+02_rb /) kbo(:, 4,40, 2) = (/ & & 0.91290e+02_rb,0.31886e+03_rb,0.42884e+03_rb,0.28522e+03_rb,0.71839e+02_rb /) kbo(:, 5,40, 2) = (/ & & 0.91288e+02_rb,0.31843e+03_rb,0.42884e+03_rb,0.28521e+03_rb,0.71839e+02_rb /) kbo(:, 1,41, 2) = (/ & & 0.91289e+02_rb,0.31968e+03_rb,0.42884e+03_rb,0.28523e+03_rb,0.71839e+02_rb /) kbo(:, 2,41, 2) = (/ & & 0.91288e+02_rb,0.31952e+03_rb,0.42884e+03_rb,0.28521e+03_rb,0.71839e+02_rb /) kbo(:, 3,41, 2) = (/ & & 0.91286e+02_rb,0.31928e+03_rb,0.42883e+03_rb,0.28522e+03_rb,0.71839e+02_rb /) kbo(:, 4,41, 2) = (/ & & 0.91284e+02_rb,0.31895e+03_rb,0.42883e+03_rb,0.28521e+03_rb,0.71839e+02_rb /) kbo(:, 5,41, 2) = (/ & & 0.91283e+02_rb,0.31854e+03_rb,0.42882e+03_rb,0.28521e+03_rb,0.71839e+02_rb /) kbo(:, 1,42, 2) = (/ & & 0.91284e+02_rb,0.31970e+03_rb,0.42883e+03_rb,0.28521e+03_rb,0.71839e+02_rb /) kbo(:, 2,42, 2) = (/ & & 0.91283e+02_rb,0.31957e+03_rb,0.42882e+03_rb,0.28521e+03_rb,0.71839e+02_rb /) kbo(:, 3,42, 2) = (/ & & 0.91281e+02_rb,0.31934e+03_rb,0.42882e+03_rb,0.28520e+03_rb,0.71839e+02_rb /) kbo(:, 4,42, 2) = (/ & & 0.91280e+02_rb,0.31904e+03_rb,0.42882e+03_rb,0.28519e+03_rb,0.71839e+02_rb /) kbo(:, 5,42, 2) = (/ & & 0.91279e+02_rb,0.31865e+03_rb,0.42881e+03_rb,0.28520e+03_rb,0.71839e+02_rb /) kbo(:, 1,43, 2) = (/ & & 0.91280e+02_rb,0.31972e+03_rb,0.42882e+03_rb,0.28520e+03_rb,0.71839e+02_rb /) kbo(:, 2,43, 2) = (/ & & 0.91279e+02_rb,0.31961e+03_rb,0.42881e+03_rb,0.28520e+03_rb,0.71839e+02_rb /) kbo(:, 3,43, 2) = (/ & & 0.91277e+02_rb,0.31942e+03_rb,0.42881e+03_rb,0.28519e+03_rb,0.71839e+02_rb /) kbo(:, 4,43, 2) = (/ & & 0.91276e+02_rb,0.31914e+03_rb,0.42881e+03_rb,0.28518e+03_rb,0.71839e+02_rb /) kbo(:, 5,43, 2) = (/ & & 0.91275e+02_rb,0.31878e+03_rb,0.42880e+03_rb,0.28518e+03_rb,0.71839e+02_rb /) kbo(:, 1,44, 2) = (/ & & 0.91276e+02_rb,0.31974e+03_rb,0.42881e+03_rb,0.28519e+03_rb,0.71839e+02_rb /) kbo(:, 2,44, 2) = (/ & & 0.91275e+02_rb,0.31966e+03_rb,0.42880e+03_rb,0.28519e+03_rb,0.71839e+02_rb /) kbo(:, 3,44, 2) = (/ & & 0.91274e+02_rb,0.31949e+03_rb,0.42880e+03_rb,0.28518e+03_rb,0.71839e+02_rb /) kbo(:, 4,44, 2) = (/ & & 0.91273e+02_rb,0.31924e+03_rb,0.42880e+03_rb,0.28518e+03_rb,0.71839e+02_rb /) kbo(:, 5,44, 2) = (/ & & 0.91273e+02_rb,0.31890e+03_rb,0.42880e+03_rb,0.28518e+03_rb,0.71839e+02_rb /) kbo(:, 1,45, 2) = (/ & & 0.91274e+02_rb,0.31974e+03_rb,0.42880e+03_rb,0.28518e+03_rb,0.71839e+02_rb /) kbo(:, 2,45, 2) = (/ & & 0.91273e+02_rb,0.31969e+03_rb,0.42880e+03_rb,0.28517e+03_rb,0.71839e+02_rb /) kbo(:, 3,45, 2) = (/ & & 0.91272e+02_rb,0.31955e+03_rb,0.42879e+03_rb,0.28518e+03_rb,0.71839e+02_rb /) kbo(:, 4,45, 2) = (/ & & 0.91271e+02_rb,0.31933e+03_rb,0.42879e+03_rb,0.28517e+03_rb,0.71839e+02_rb /) kbo(:, 5,45, 2) = (/ & & 0.91270e+02_rb,0.31903e+03_rb,0.42879e+03_rb,0.28517e+03_rb,0.71839e+02_rb /) kbo(:, 1,46, 2) = (/ & & 0.91271e+02_rb,0.31974e+03_rb,0.42879e+03_rb,0.28516e+03_rb,0.71839e+02_rb /) kbo(:, 2,46, 2) = (/ & & 0.91270e+02_rb,0.31972e+03_rb,0.42879e+03_rb,0.28517e+03_rb,0.71839e+02_rb /) kbo(:, 3,46, 2) = (/ & & 0.91270e+02_rb,0.31961e+03_rb,0.42879e+03_rb,0.28517e+03_rb,0.71839e+02_rb /) kbo(:, 4,46, 2) = (/ & & 0.91269e+02_rb,0.31942e+03_rb,0.42879e+03_rb,0.28517e+03_rb,0.71839e+02_rb /) kbo(:, 5,46, 2) = (/ & & 0.91268e+02_rb,0.31914e+03_rb,0.42878e+03_rb,0.28516e+03_rb,0.71839e+02_rb /) kbo(:, 1,47, 2) = (/ & & 0.91269e+02_rb,0.31973e+03_rb,0.42879e+03_rb,0.28517e+03_rb,0.71839e+02_rb /) kbo(:, 2,47, 2) = (/ & & 0.91268e+02_rb,0.31974e+03_rb,0.42878e+03_rb,0.28516e+03_rb,0.71839e+02_rb /) kbo(:, 3,47, 2) = (/ & & 0.91268e+02_rb,0.31966e+03_rb,0.42878e+03_rb,0.28516e+03_rb,0.71839e+02_rb /) kbo(:, 4,47, 2) = (/ & & 0.91267e+02_rb,0.31951e+03_rb,0.42878e+03_rb,0.28516e+03_rb,0.71839e+02_rb /) kbo(:, 5,47, 2) = (/ & & 0.91267e+02_rb,0.31926e+03_rb,0.42878e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 1,48, 2) = (/ & & 0.91267e+02_rb,0.31970e+03_rb,0.42878e+03_rb,0.28516e+03_rb,0.71839e+02_rb /) kbo(:, 2,48, 2) = (/ & & 0.91267e+02_rb,0.31974e+03_rb,0.42878e+03_rb,0.28516e+03_rb,0.71839e+02_rb /) kbo(:, 3,48, 2) = (/ & & 0.91266e+02_rb,0.31970e+03_rb,0.42878e+03_rb,0.28517e+03_rb,0.71839e+02_rb /) kbo(:, 4,48, 2) = (/ & & 0.91266e+02_rb,0.31958e+03_rb,0.42878e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 5,48, 2) = (/ & & 0.91265e+02_rb,0.31937e+03_rb,0.42878e+03_rb,0.28516e+03_rb,0.71839e+02_rb /) kbo(:, 1,49, 2) = (/ & & 0.91266e+02_rb,0.31966e+03_rb,0.42878e+03_rb,0.28516e+03_rb,0.71839e+02_rb /) kbo(:, 2,49, 2) = (/ & & 0.91265e+02_rb,0.31973e+03_rb,0.42878e+03_rb,0.28516e+03_rb,0.71839e+02_rb /) kbo(:, 3,49, 2) = (/ & & 0.91265e+02_rb,0.31973e+03_rb,0.42877e+03_rb,0.28516e+03_rb,0.71839e+02_rb /) kbo(:, 4,49, 2) = (/ & & 0.91265e+02_rb,0.31964e+03_rb,0.42878e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 5,49, 2) = (/ & & 0.91264e+02_rb,0.31946e+03_rb,0.42877e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 1,50, 2) = (/ & & 0.91265e+02_rb,0.31962e+03_rb,0.42877e+03_rb,0.28516e+03_rb,0.71839e+02_rb /) kbo(:, 2,50, 2) = (/ & & 0.91264e+02_rb,0.31972e+03_rb,0.42877e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 3,50, 2) = (/ & & 0.91264e+02_rb,0.31974e+03_rb,0.42877e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 4,50, 2) = (/ & & 0.91264e+02_rb,0.31968e+03_rb,0.42877e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 5,50, 2) = (/ & & 0.91263e+02_rb,0.31954e+03_rb,0.42877e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 1,51, 2) = (/ & & 0.91264e+02_rb,0.31958e+03_rb,0.42877e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 2,51, 2) = (/ & & 0.91263e+02_rb,0.31969e+03_rb,0.42877e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 3,51, 2) = (/ & & 0.91263e+02_rb,0.31974e+03_rb,0.42877e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 4,51, 2) = (/ & & 0.91263e+02_rb,0.31971e+03_rb,0.42877e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 5,51, 2) = (/ & & 0.91262e+02_rb,0.31960e+03_rb,0.42877e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 1,52, 2) = (/ & & 0.91263e+02_rb,0.31953e+03_rb,0.42877e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 2,52, 2) = (/ & & 0.91263e+02_rb,0.31965e+03_rb,0.42877e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 3,52, 2) = (/ & & 0.91262e+02_rb,0.31973e+03_rb,0.42877e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 4,52, 2) = (/ & & 0.91262e+02_rb,0.31973e+03_rb,0.42877e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 5,52, 2) = (/ & & 0.91262e+02_rb,0.31965e+03_rb,0.42877e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 1,53, 2) = (/ & & 0.91262e+02_rb,0.31948e+03_rb,0.42877e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 2,53, 2) = (/ & & 0.91262e+02_rb,0.31961e+03_rb,0.42877e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 3,53, 2) = (/ & & 0.91262e+02_rb,0.31971e+03_rb,0.42877e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 4,53, 2) = (/ & & 0.91261e+02_rb,0.31974e+03_rb,0.42876e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 5,53, 2) = (/ & & 0.91261e+02_rb,0.31969e+03_rb,0.42876e+03_rb,0.28514e+03_rb,0.71839e+02_rb /) kbo(:, 1,54, 2) = (/ & & 0.91262e+02_rb,0.31942e+03_rb,0.42877e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 2,54, 2) = (/ & & 0.91261e+02_rb,0.31957e+03_rb,0.42877e+03_rb,0.28514e+03_rb,0.71839e+02_rb /) kbo(:, 3,54, 2) = (/ & & 0.91261e+02_rb,0.31968e+03_rb,0.42876e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 4,54, 2) = (/ & & 0.91261e+02_rb,0.31973e+03_rb,0.42876e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 5,54, 2) = (/ & & 0.91261e+02_rb,0.31971e+03_rb,0.42876e+03_rb,0.28513e+03_rb,0.71839e+02_rb /) kbo(:, 1,55, 2) = (/ & & 0.91261e+02_rb,0.31937e+03_rb,0.42876e+03_rb,0.28513e+03_rb,0.71839e+02_rb /) kbo(:, 2,55, 2) = (/ & & 0.91261e+02_rb,0.31953e+03_rb,0.42876e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 3,55, 2) = (/ & & 0.91261e+02_rb,0.31965e+03_rb,0.42876e+03_rb,0.28513e+03_rb,0.71839e+02_rb /) kbo(:, 4,55, 2) = (/ & & 0.91261e+02_rb,0.31973e+03_rb,0.42876e+03_rb,0.28514e+03_rb,0.71839e+02_rb /) kbo(:, 5,55, 2) = (/ & & 0.91260e+02_rb,0.31973e+03_rb,0.42876e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 1,56, 2) = (/ & & 0.91261e+02_rb,0.31932e+03_rb,0.42876e+03_rb,0.28514e+03_rb,0.71839e+02_rb /) kbo(:, 2,56, 2) = (/ & & 0.91260e+02_rb,0.31947e+03_rb,0.42876e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 3,56, 2) = (/ & & 0.91260e+02_rb,0.31961e+03_rb,0.42876e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 4,56, 2) = (/ & & 0.91260e+02_rb,0.31971e+03_rb,0.42876e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 5,56, 2) = (/ & & 0.91260e+02_rb,0.31974e+03_rb,0.42876e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 1,57, 2) = (/ & & 0.91260e+02_rb,0.31927e+03_rb,0.42876e+03_rb,0.28514e+03_rb,0.71839e+02_rb /) kbo(:, 2,57, 2) = (/ & & 0.91260e+02_rb,0.31943e+03_rb,0.42876e+03_rb,0.28514e+03_rb,0.71839e+02_rb /) kbo(:, 3,57, 2) = (/ & & 0.91260e+02_rb,0.31957e+03_rb,0.42876e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 4,57, 2) = (/ & & 0.91260e+02_rb,0.31968e+03_rb,0.42876e+03_rb,0.28514e+03_rb,0.71839e+02_rb /) kbo(:, 5,57, 2) = (/ & & 0.91260e+02_rb,0.31974e+03_rb,0.42876e+03_rb,0.28514e+03_rb,0.71839e+02_rb /) kbo(:, 1,58, 2) = (/ & & 0.91260e+02_rb,0.31922e+03_rb,0.42876e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 2,58, 2) = (/ & & 0.91260e+02_rb,0.31938e+03_rb,0.42876e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 3,58, 2) = (/ & & 0.91260e+02_rb,0.31953e+03_rb,0.42876e+03_rb,0.28514e+03_rb,0.71839e+02_rb /) kbo(:, 4,58, 2) = (/ & & 0.91260e+02_rb,0.31965e+03_rb,0.42876e+03_rb,0.28513e+03_rb,0.71839e+02_rb /) kbo(:, 5,58, 2) = (/ & & 0.91260e+02_rb,0.31973e+03_rb,0.42876e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 1,59, 2) = (/ & & 0.91260e+02_rb,0.31920e+03_rb,0.42876e+03_rb,0.28514e+03_rb,0.71839e+02_rb /) kbo(:, 2,59, 2) = (/ & & 0.91260e+02_rb,0.31936e+03_rb,0.42876e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 3,59, 2) = (/ & & 0.91259e+02_rb,0.31952e+03_rb,0.42876e+03_rb,0.28515e+03_rb,0.71839e+02_rb /) kbo(:, 4,59, 2) = (/ & & 0.91259e+02_rb,0.31964e+03_rb,0.42876e+03_rb,0.28514e+03_rb,0.71839e+02_rb /) kbo(:, 5,59, 2) = (/ & & 0.91259e+02_rb,0.31972e+03_rb,0.42876e+03_rb,0.28514e+03_rb,0.71839e+02_rb /) kbo(:, 1,13, 3) = (/ & & 0.26463e+03_rb,0.36163e+03_rb,0.49889e+03_rb,0.32504e+03_rb,0.17829e+03_rb /) kbo(:, 2,13, 3) = (/ & & 0.26258e+03_rb,0.36010e+03_rb,0.49695e+03_rb,0.32345e+03_rb,0.17829e+03_rb /) kbo(:, 3,13, 3) = (/ & & 0.26083e+03_rb,0.35879e+03_rb,0.49519e+03_rb,0.32209e+03_rb,0.17829e+03_rb /) kbo(:, 4,13, 3) = (/ & & 0.25930e+03_rb,0.35766e+03_rb,0.49360e+03_rb,0.32093e+03_rb,0.17829e+03_rb /) kbo(:, 5,13, 3) = (/ & & 0.25795e+03_rb,0.35666e+03_rb,0.49217e+03_rb,0.31991e+03_rb,0.17829e+03_rb /) kbo(:, 1,14, 3) = (/ & & 0.25951e+03_rb,0.35782e+03_rb,0.49358e+03_rb,0.32109e+03_rb,0.17829e+03_rb /) kbo(:, 2,14, 3) = (/ & & 0.25786e+03_rb,0.35659e+03_rb,0.49191e+03_rb,0.31984e+03_rb,0.17829e+03_rb /) kbo(:, 3,14, 3) = (/ & & 0.25644e+03_rb,0.35554e+03_rb,0.49043e+03_rb,0.31877e+03_rb,0.17829e+03_rb /) kbo(:, 4,14, 3) = (/ & & 0.25520e+03_rb,0.35461e+03_rb,0.48912e+03_rb,0.31784e+03_rb,0.17829e+03_rb /) kbo(:, 5,14, 3) = (/ & & 0.25411e+03_rb,0.35381e+03_rb,0.48795e+03_rb,0.31704e+03_rb,0.17829e+03_rb /) kbo(:, 1,15, 3) = (/ & & 0.25534e+03_rb,0.35471e+03_rb,0.48908e+03_rb,0.31794e+03_rb,0.17829e+03_rb /) kbo(:, 2,15, 3) = (/ & & 0.25401e+03_rb,0.35373e+03_rb,0.48771e+03_rb,0.31695e+03_rb,0.17829e+03_rb /) kbo(:, 3,15, 3) = (/ & & 0.25286e+03_rb,0.35287e+03_rb,0.48651e+03_rb,0.31610e+03_rb,0.17829e+03_rb /) kbo(:, 4,15, 3) = (/ & & 0.25186e+03_rb,0.35213e+03_rb,0.48543e+03_rb,0.31537e+03_rb,0.17829e+03_rb /) kbo(:, 5,15, 3) = (/ & & 0.25098e+03_rb,0.35147e+03_rb,0.48447e+03_rb,0.31472e+03_rb,0.17829e+03_rb /) kbo(:, 1,16, 3) = (/ & & 0.25194e+03_rb,0.35219e+03_rb,0.48538e+03_rb,0.31543e+03_rb,0.17829e+03_rb /) kbo(:, 2,16, 3) = (/ & & 0.25087e+03_rb,0.35140e+03_rb,0.48427e+03_rb,0.31463e+03_rb,0.17829e+03_rb /) kbo(:, 3,16, 3) = (/ & & 0.24994e+03_rb,0.35071e+03_rb,0.48328e+03_rb,0.31395e+03_rb,0.17829e+03_rb /) kbo(:, 4,16, 3) = (/ & & 0.24914e+03_rb,0.35011e+03_rb,0.48239e+03_rb,0.31337e+03_rb,0.17829e+03_rb /) kbo(:, 5,16, 3) = (/ & & 0.24843e+03_rb,0.34958e+03_rb,0.48159e+03_rb,0.31282e+03_rb,0.17829e+03_rb /) kbo(:, 1,17, 3) = (/ & & 0.24919e+03_rb,0.35014e+03_rb,0.48236e+03_rb,0.31341e+03_rb,0.17829e+03_rb /) kbo(:, 2,17, 3) = (/ & & 0.24832e+03_rb,0.34950e+03_rb,0.48145e+03_rb,0.31278e+03_rb,0.17829e+03_rb /) kbo(:, 3,17, 3) = (/ & & 0.24758e+03_rb,0.34895e+03_rb,0.48063e+03_rb,0.31225e+03_rb,0.17829e+03_rb /) kbo(:, 4,17, 3) = (/ & & 0.24693e+03_rb,0.34847e+03_rb,0.47989e+03_rb,0.31178e+03_rb,0.17829e+03_rb /) kbo(:, 5,17, 3) = (/ & & 0.24635e+03_rb,0.34804e+03_rb,0.47924e+03_rb,0.31137e+03_rb,0.17829e+03_rb /) kbo(:, 1,18, 3) = (/ & & 0.24695e+03_rb,0.34848e+03_rb,0.47988e+03_rb,0.31180e+03_rb,0.17829e+03_rb /) kbo(:, 2,18, 3) = (/ & & 0.24626e+03_rb,0.34797e+03_rb,0.47913e+03_rb,0.31130e+03_rb,0.17829e+03_rb /) kbo(:, 3,18, 3) = (/ & & 0.24565e+03_rb,0.34752e+03_rb,0.47845e+03_rb,0.31086e+03_rb,0.17829e+03_rb /) kbo(:, 4,18, 3) = (/ & & 0.24513e+03_rb,0.34713e+03_rb,0.47784e+03_rb,0.31048e+03_rb,0.17829e+03_rb /) kbo(:, 5,18, 3) = (/ & & 0.24466e+03_rb,0.34679e+03_rb,0.47731e+03_rb,0.31015e+03_rb,0.17829e+03_rb /) kbo(:, 1,19, 3) = (/ & & 0.24514e+03_rb,0.34714e+03_rb,0.47784e+03_rb,0.31049e+03_rb,0.17829e+03_rb /) kbo(:, 2,19, 3) = (/ & & 0.24458e+03_rb,0.34672e+03_rb,0.47721e+03_rb,0.31009e+03_rb,0.17829e+03_rb /) kbo(:, 3,19, 3) = (/ & & 0.24409e+03_rb,0.34636e+03_rb,0.47665e+03_rb,0.30974e+03_rb,0.17829e+03_rb /) kbo(:, 4,19, 3) = (/ & & 0.24367e+03_rb,0.34605e+03_rb,0.47616e+03_rb,0.30943e+03_rb,0.17829e+03_rb /) kbo(:, 5,19, 3) = (/ & & 0.24329e+03_rb,0.34577e+03_rb,0.47573e+03_rb,0.30916e+03_rb,0.17829e+03_rb /) kbo(:, 1,20, 3) = (/ & & 0.24366e+03_rb,0.34604e+03_rb,0.47615e+03_rb,0.30943e+03_rb,0.17829e+03_rb /) kbo(:, 2,20, 3) = (/ & & 0.24321e+03_rb,0.34571e+03_rb,0.47563e+03_rb,0.30910e+03_rb,0.17829e+03_rb /) kbo(:, 3,20, 3) = (/ & & 0.24282e+03_rb,0.34542e+03_rb,0.47518e+03_rb,0.30882e+03_rb,0.17829e+03_rb /) kbo(:, 4,20, 3) = (/ & & 0.24247e+03_rb,0.34516e+03_rb,0.47478e+03_rb,0.30857e+03_rb,0.17829e+03_rb /) kbo(:, 5,20, 3) = (/ & & 0.24217e+03_rb,0.34494e+03_rb,0.47443e+03_rb,0.30835e+03_rb,0.17829e+03_rb /) kbo(:, 1,21, 3) = (/ & & 0.24246e+03_rb,0.34515e+03_rb,0.47476e+03_rb,0.30856e+03_rb,0.17829e+03_rb /) kbo(:, 2,21, 3) = (/ & & 0.24210e+03_rb,0.34488e+03_rb,0.47434e+03_rb,0.30830e+03_rb,0.17829e+03_rb /) kbo(:, 3,21, 3) = (/ & & 0.24178e+03_rb,0.34465e+03_rb,0.47397e+03_rb,0.30807e+03_rb,0.17829e+03_rb /) kbo(:, 4,21, 3) = (/ & & 0.24150e+03_rb,0.34444e+03_rb,0.47364e+03_rb,0.30787e+03_rb,0.17829e+03_rb /) kbo(:, 5,21, 3) = (/ & & 0.24126e+03_rb,0.34426e+03_rb,0.47341e+03_rb,0.30769e+03_rb,0.17829e+03_rb /) kbo(:, 1,22, 3) = (/ & & 0.24146e+03_rb,0.34441e+03_rb,0.47360e+03_rb,0.30784e+03_rb,0.17829e+03_rb /) kbo(:, 2,22, 3) = (/ & & 0.24117e+03_rb,0.34420e+03_rb,0.47327e+03_rb,0.30763e+03_rb,0.17829e+03_rb /) kbo(:, 3,22, 3) = (/ & & 0.24092e+03_rb,0.34401e+03_rb,0.47296e+03_rb,0.30745e+03_rb,0.17829e+03_rb /) kbo(:, 4,22, 3) = (/ & & 0.24070e+03_rb,0.34385e+03_rb,0.47270e+03_rb,0.30729e+03_rb,0.17829e+03_rb /) kbo(:, 5,22, 3) = (/ & & 0.24050e+03_rb,0.34370e+03_rb,0.47246e+03_rb,0.30715e+03_rb,0.17829e+03_rb /) kbo(:, 1,23, 3) = (/ & & 0.24066e+03_rb,0.34382e+03_rb,0.47265e+03_rb,0.30726e+03_rb,0.17829e+03_rb /) kbo(:, 2,23, 3) = (/ & & 0.24043e+03_rb,0.34365e+03_rb,0.47237e+03_rb,0.30709e+03_rb,0.17829e+03_rb /) kbo(:, 3,23, 3) = (/ & & 0.24023e+03_rb,0.34350e+03_rb,0.47213e+03_rb,0.30695e+03_rb,0.17829e+03_rb /) kbo(:, 4,23, 3) = (/ & & 0.24005e+03_rb,0.34336e+03_rb,0.47191e+03_rb,0.30682e+03_rb,0.17829e+03_rb /) kbo(:, 5,23, 3) = (/ & & 0.23989e+03_rb,0.34325e+03_rb,0.47173e+03_rb,0.30671e+03_rb,0.17829e+03_rb /) kbo(:, 1,24, 3) = (/ & & 0.24001e+03_rb,0.34333e+03_rb,0.47187e+03_rb,0.30679e+03_rb,0.17829e+03_rb /) kbo(:, 2,24, 3) = (/ & & 0.23982e+03_rb,0.34320e+03_rb,0.47164e+03_rb,0.30666e+03_rb,0.17829e+03_rb /) kbo(:, 3,24, 3) = (/ & & 0.23966e+03_rb,0.34308e+03_rb,0.47145e+03_rb,0.30654e+03_rb,0.17829e+03_rb /) kbo(:, 4,24, 3) = (/ & & 0.23952e+03_rb,0.34297e+03_rb,0.47128e+03_rb,0.30644e+03_rb,0.17829e+03_rb /) kbo(:, 5,24, 3) = (/ & & 0.23940e+03_rb,0.34288e+03_rb,0.47113e+03_rb,0.30635e+03_rb,0.17829e+03_rb /) kbo(:, 1,25, 3) = (/ & & 0.23948e+03_rb,0.34294e+03_rb,0.47124e+03_rb,0.30641e+03_rb,0.17829e+03_rb /) kbo(:, 2,25, 3) = (/ & & 0.23934e+03_rb,0.34284e+03_rb,0.47105e+03_rb,0.30631e+03_rb,0.17829e+03_rb /) kbo(:, 3,25, 3) = (/ & & 0.23921e+03_rb,0.34274e+03_rb,0.47089e+03_rb,0.30622e+03_rb,0.17829e+03_rb /) kbo(:, 4,25, 3) = (/ & & 0.23910e+03_rb,0.34266e+03_rb,0.47075e+03_rb,0.30613e+03_rb,0.17829e+03_rb /) kbo(:, 5,25, 3) = (/ & & 0.23900e+03_rb,0.34258e+03_rb,0.47063e+03_rb,0.30606e+03_rb,0.17829e+03_rb /) kbo(:, 1,26, 3) = (/ & & 0.23906e+03_rb,0.34263e+03_rb,0.47070e+03_rb,0.30610e+03_rb,0.17829e+03_rb /) kbo(:, 2,26, 3) = (/ & & 0.23894e+03_rb,0.34254e+03_rb,0.47056e+03_rb,0.30602e+03_rb,0.17829e+03_rb /) kbo(:, 3,26, 3) = (/ & & 0.23884e+03_rb,0.34247e+03_rb,0.47044e+03_rb,0.30595e+03_rb,0.17829e+03_rb /) kbo(:, 4,26, 3) = (/ & & 0.23875e+03_rb,0.34240e+03_rb,0.47033e+03_rb,0.30588e+03_rb,0.17829e+03_rb /) kbo(:, 5,26, 3) = (/ & & 0.23867e+03_rb,0.34234e+03_rb,0.47023e+03_rb,0.30583e+03_rb,0.17829e+03_rb /) kbo(:, 1,27, 3) = (/ & & 0.23871e+03_rb,0.34237e+03_rb,0.47028e+03_rb,0.30586e+03_rb,0.17829e+03_rb /) kbo(:, 2,27, 3) = (/ & & 0.23862e+03_rb,0.34230e+03_rb,0.47017e+03_rb,0.30579e+03_rb,0.17829e+03_rb /) kbo(:, 3,27, 3) = (/ & & 0.23854e+03_rb,0.34225e+03_rb,0.47007e+03_rb,0.30573e+03_rb,0.17829e+03_rb /) kbo(:, 4,27, 3) = (/ & & 0.23847e+03_rb,0.34219e+03_rb,0.46998e+03_rb,0.30568e+03_rb,0.17829e+03_rb /) kbo(:, 5,27, 3) = (/ & & 0.23840e+03_rb,0.34214e+03_rb,0.46990e+03_rb,0.30564e+03_rb,0.17829e+03_rb /) kbo(:, 1,28, 3) = (/ & & 0.23844e+03_rb,0.34217e+03_rb,0.46994e+03_rb,0.30566e+03_rb,0.17829e+03_rb /) kbo(:, 2,28, 3) = (/ & & 0.23836e+03_rb,0.34211e+03_rb,0.46985e+03_rb,0.30561e+03_rb,0.17829e+03_rb /) kbo(:, 3,28, 3) = (/ & & 0.23830e+03_rb,0.34207e+03_rb,0.46977e+03_rb,0.30556e+03_rb,0.17829e+03_rb /) kbo(:, 4,28, 3) = (/ & & 0.23824e+03_rb,0.34202e+03_rb,0.46970e+03_rb,0.30552e+03_rb,0.17829e+03_rb /) kbo(:, 5,28, 3) = (/ & & 0.23819e+03_rb,0.34198e+03_rb,0.46964e+03_rb,0.30548e+03_rb,0.17829e+03_rb /) kbo(:, 1,29, 3) = (/ & & 0.23821e+03_rb,0.34200e+03_rb,0.46966e+03_rb,0.30550e+03_rb,0.17829e+03_rb /) kbo(:, 2,29, 3) = (/ & & 0.23815e+03_rb,0.34196e+03_rb,0.46959e+03_rb,0.30546e+03_rb,0.17829e+03_rb /) kbo(:, 3,29, 3) = (/ & & 0.23810e+03_rb,0.34192e+03_rb,0.46953e+03_rb,0.30542e+03_rb,0.17829e+03_rb /) kbo(:, 4,29, 3) = (/ & & 0.23806e+03_rb,0.34189e+03_rb,0.46948e+03_rb,0.30539e+03_rb,0.17829e+03_rb /) kbo(:, 5,29, 3) = (/ & & 0.23802e+03_rb,0.34185e+03_rb,0.46942e+03_rb,0.30536e+03_rb,0.17829e+03_rb /) kbo(:, 1,30, 3) = (/ & & 0.23803e+03_rb,0.34187e+03_rb,0.46944e+03_rb,0.30537e+03_rb,0.17829e+03_rb /) kbo(:, 2,30, 3) = (/ & & 0.23799e+03_rb,0.34184e+03_rb,0.46939e+03_rb,0.30533e+03_rb,0.17829e+03_rb /) kbo(:, 3,30, 3) = (/ & & 0.23795e+03_rb,0.34180e+03_rb,0.46934e+03_rb,0.30531e+03_rb,0.17829e+03_rb /) kbo(:, 4,30, 3) = (/ & & 0.23791e+03_rb,0.34178e+03_rb,0.46929e+03_rb,0.30528e+03_rb,0.17829e+03_rb /) kbo(:, 5,30, 3) = (/ & & 0.23788e+03_rb,0.34175e+03_rb,0.46925e+03_rb,0.30526e+03_rb,0.17829e+03_rb /) kbo(:, 1,31, 3) = (/ & & 0.23789e+03_rb,0.34176e+03_rb,0.46926e+03_rb,0.30526e+03_rb,0.17829e+03_rb /) kbo(:, 2,31, 3) = (/ & & 0.23785e+03_rb,0.34173e+03_rb,0.46922e+03_rb,0.30524e+03_rb,0.17829e+03_rb /) kbo(:, 3,31, 3) = (/ & & 0.23782e+03_rb,0.34171e+03_rb,0.46918e+03_rb,0.30521e+03_rb,0.17829e+03_rb /) kbo(:, 4,31, 3) = (/ & & 0.23779e+03_rb,0.34169e+03_rb,0.46914e+03_rb,0.30519e+03_rb,0.17829e+03_rb /) kbo(:, 5,31, 3) = (/ & & 0.23777e+03_rb,0.34167e+03_rb,0.46911e+03_rb,0.30518e+03_rb,0.17829e+03_rb /) kbo(:, 1,32, 3) = (/ & & 0.23777e+03_rb,0.34168e+03_rb,0.46912e+03_rb,0.30518e+03_rb,0.17829e+03_rb /) kbo(:, 2,32, 3) = (/ & & 0.23774e+03_rb,0.34166e+03_rb,0.46908e+03_rb,0.30516e+03_rb,0.17829e+03_rb /) kbo(:, 3,32, 3) = (/ & & 0.23772e+03_rb,0.34163e+03_rb,0.46905e+03_rb,0.30514e+03_rb,0.17829e+03_rb /) kbo(:, 4,32, 3) = (/ & & 0.23770e+03_rb,0.34162e+03_rb,0.46902e+03_rb,0.30512e+03_rb,0.17829e+03_rb /) kbo(:, 5,32, 3) = (/ & & 0.23767e+03_rb,0.34160e+03_rb,0.46900e+03_rb,0.30511e+03_rb,0.17829e+03_rb /) kbo(:, 1,33, 3) = (/ & & 0.23768e+03_rb,0.34161e+03_rb,0.46900e+03_rb,0.30511e+03_rb,0.17829e+03_rb /) kbo(:, 2,33, 3) = (/ & & 0.23766e+03_rb,0.34159e+03_rb,0.46897e+03_rb,0.30510e+03_rb,0.17829e+03_rb /) kbo(:, 3,33, 3) = (/ & & 0.23764e+03_rb,0.34157e+03_rb,0.46895e+03_rb,0.30508e+03_rb,0.17829e+03_rb /) kbo(:, 4,33, 3) = (/ & & 0.23762e+03_rb,0.34156e+03_rb,0.46893e+03_rb,0.30507e+03_rb,0.17829e+03_rb /) kbo(:, 5,33, 3) = (/ & & 0.23760e+03_rb,0.34154e+03_rb,0.46891e+03_rb,0.30506e+03_rb,0.17829e+03_rb /) kbo(:, 1,34, 3) = (/ & & 0.23760e+03_rb,0.34155e+03_rb,0.46891e+03_rb,0.30506e+03_rb,0.17829e+03_rb /) kbo(:, 2,34, 3) = (/ & & 0.23759e+03_rb,0.34154e+03_rb,0.46889e+03_rb,0.30505e+03_rb,0.17829e+03_rb /) kbo(:, 3,34, 3) = (/ & & 0.23757e+03_rb,0.34152e+03_rb,0.46887e+03_rb,0.30503e+03_rb,0.17829e+03_rb /) kbo(:, 4,34, 3) = (/ & & 0.23756e+03_rb,0.34151e+03_rb,0.46885e+03_rb,0.30502e+03_rb,0.17829e+03_rb /) kbo(:, 5,34, 3) = (/ & & 0.23754e+03_rb,0.34150e+03_rb,0.46883e+03_rb,0.30501e+03_rb,0.17829e+03_rb /) kbo(:, 1,35, 3) = (/ & & 0.23755e+03_rb,0.34151e+03_rb,0.46884e+03_rb,0.30502e+03_rb,0.17829e+03_rb /) kbo(:, 2,35, 3) = (/ & & 0.23753e+03_rb,0.34150e+03_rb,0.46882e+03_rb,0.30501e+03_rb,0.17829e+03_rb /) kbo(:, 3,35, 3) = (/ & & 0.23752e+03_rb,0.34148e+03_rb,0.46880e+03_rb,0.30500e+03_rb,0.17829e+03_rb /) kbo(:, 4,35, 3) = (/ & & 0.23751e+03_rb,0.34147e+03_rb,0.46879e+03_rb,0.30499e+03_rb,0.17829e+03_rb /) kbo(:, 5,35, 3) = (/ & & 0.23750e+03_rb,0.34146e+03_rb,0.46878e+03_rb,0.30498e+03_rb,0.17829e+03_rb /) kbo(:, 1,36, 3) = (/ & & 0.23750e+03_rb,0.34147e+03_rb,0.46878e+03_rb,0.30498e+03_rb,0.17829e+03_rb /) kbo(:, 2,36, 3) = (/ & & 0.23749e+03_rb,0.34146e+03_rb,0.46877e+03_rb,0.30497e+03_rb,0.17829e+03_rb /) kbo(:, 3,36, 3) = (/ & & 0.23748e+03_rb,0.34145e+03_rb,0.46875e+03_rb,0.30497e+03_rb,0.17829e+03_rb /) kbo(:, 4,36, 3) = (/ & & 0.23747e+03_rb,0.34144e+03_rb,0.46874e+03_rb,0.30496e+03_rb,0.17829e+03_rb /) kbo(:, 5,36, 3) = (/ & & 0.23746e+03_rb,0.34144e+03_rb,0.46873e+03_rb,0.30495e+03_rb,0.17829e+03_rb /) kbo(:, 1,37, 3) = (/ & & 0.23746e+03_rb,0.34145e+03_rb,0.46874e+03_rb,0.30496e+03_rb,0.17829e+03_rb /) kbo(:, 2,37, 3) = (/ & & 0.23745e+03_rb,0.34144e+03_rb,0.46872e+03_rb,0.30495e+03_rb,0.17829e+03_rb /) kbo(:, 3,37, 3) = (/ & & 0.23744e+03_rb,0.34143e+03_rb,0.46871e+03_rb,0.30494e+03_rb,0.17829e+03_rb /) kbo(:, 4,37, 3) = (/ & & 0.23744e+03_rb,0.34142e+03_rb,0.46870e+03_rb,0.30494e+03_rb,0.17829e+03_rb /) kbo(:, 5,37, 3) = (/ & & 0.23743e+03_rb,0.34141e+03_rb,0.46869e+03_rb,0.30493e+03_rb,0.17829e+03_rb /) kbo(:, 1,38, 3) = (/ & & 0.23743e+03_rb,0.34143e+03_rb,0.46870e+03_rb,0.30493e+03_rb,0.17829e+03_rb /) kbo(:, 2,38, 3) = (/ & & 0.23742e+03_rb,0.34142e+03_rb,0.46869e+03_rb,0.30493e+03_rb,0.17829e+03_rb /) kbo(:, 3,38, 3) = (/ & & 0.23742e+03_rb,0.34141e+03_rb,0.46868e+03_rb,0.30492e+03_rb,0.17829e+03_rb /) kbo(:, 4,38, 3) = (/ & & 0.23741e+03_rb,0.34140e+03_rb,0.46867e+03_rb,0.30492e+03_rb,0.17829e+03_rb /) kbo(:, 5,38, 3) = (/ & & 0.23740e+03_rb,0.34140e+03_rb,0.46866e+03_rb,0.30491e+03_rb,0.17829e+03_rb /) kbo(:, 1,39, 3) = (/ & & 0.23741e+03_rb,0.34141e+03_rb,0.46867e+03_rb,0.30492e+03_rb,0.17829e+03_rb /) kbo(:, 2,39, 3) = (/ & & 0.23740e+03_rb,0.34140e+03_rb,0.46866e+03_rb,0.30491e+03_rb,0.17829e+03_rb /) kbo(:, 3,39, 3) = (/ & & 0.23739e+03_rb,0.34139e+03_rb,0.46865e+03_rb,0.30491e+03_rb,0.17829e+03_rb /) kbo(:, 4,39, 3) = (/ & & 0.23739e+03_rb,0.34139e+03_rb,0.46865e+03_rb,0.30490e+03_rb,0.17829e+03_rb /) kbo(:, 5,39, 3) = (/ & & 0.23738e+03_rb,0.34138e+03_rb,0.46864e+03_rb,0.30490e+03_rb,0.17829e+03_rb /) kbo(:, 1,40, 3) = (/ & & 0.23739e+03_rb,0.34139e+03_rb,0.46864e+03_rb,0.30490e+03_rb,0.17829e+03_rb /) kbo(:, 2,40, 3) = (/ & & 0.23738e+03_rb,0.34139e+03_rb,0.46864e+03_rb,0.30490e+03_rb,0.17829e+03_rb /) kbo(:, 3,40, 3) = (/ & & 0.23738e+03_rb,0.34138e+03_rb,0.46863e+03_rb,0.30489e+03_rb,0.17829e+03_rb /) kbo(:, 4,40, 3) = (/ & & 0.23737e+03_rb,0.34138e+03_rb,0.46862e+03_rb,0.30489e+03_rb,0.17829e+03_rb /) kbo(:, 5,40, 3) = (/ & & 0.23737e+03_rb,0.34137e+03_rb,0.46862e+03_rb,0.30489e+03_rb,0.17829e+03_rb /) kbo(:, 1,41, 3) = (/ & & 0.23737e+03_rb,0.34138e+03_rb,0.46862e+03_rb,0.30489e+03_rb,0.17829e+03_rb /) kbo(:, 2,41, 3) = (/ & & 0.23737e+03_rb,0.34138e+03_rb,0.46862e+03_rb,0.30489e+03_rb,0.17829e+03_rb /) kbo(:, 3,41, 3) = (/ & & 0.23736e+03_rb,0.34137e+03_rb,0.46861e+03_rb,0.30488e+03_rb,0.17829e+03_rb /) kbo(:, 4,41, 3) = (/ & & 0.23736e+03_rb,0.34137e+03_rb,0.46861e+03_rb,0.30488e+03_rb,0.17829e+03_rb /) kbo(:, 5,41, 3) = (/ & & 0.23736e+03_rb,0.34136e+03_rb,0.46860e+03_rb,0.30488e+03_rb,0.17829e+03_rb /) kbo(:, 1,42, 3) = (/ & & 0.23736e+03_rb,0.34137e+03_rb,0.46861e+03_rb,0.30488e+03_rb,0.17829e+03_rb /) kbo(:, 2,42, 3) = (/ & & 0.23735e+03_rb,0.34137e+03_rb,0.46860e+03_rb,0.30488e+03_rb,0.17829e+03_rb /) kbo(:, 3,42, 3) = (/ & & 0.23735e+03_rb,0.34136e+03_rb,0.46860e+03_rb,0.30488e+03_rb,0.17829e+03_rb /) kbo(:, 4,42, 3) = (/ & & 0.23735e+03_rb,0.34136e+03_rb,0.46859e+03_rb,0.30487e+03_rb,0.17829e+03_rb /) kbo(:, 5,42, 3) = (/ & & 0.23734e+03_rb,0.34135e+03_rb,0.46859e+03_rb,0.30487e+03_rb,0.17829e+03_rb /) kbo(:, 1,43, 3) = (/ & & 0.23735e+03_rb,0.34136e+03_rb,0.46859e+03_rb,0.30487e+03_rb,0.17829e+03_rb /) kbo(:, 2,43, 3) = (/ & & 0.23734e+03_rb,0.34136e+03_rb,0.46859e+03_rb,0.30487e+03_rb,0.17829e+03_rb /) kbo(:, 3,43, 3) = (/ & & 0.23734e+03_rb,0.34136e+03_rb,0.46858e+03_rb,0.30487e+03_rb,0.17829e+03_rb /) kbo(:, 4,43, 3) = (/ & & 0.23734e+03_rb,0.34135e+03_rb,0.46858e+03_rb,0.30487e+03_rb,0.17829e+03_rb /) kbo(:, 5,43, 3) = (/ & & 0.23734e+03_rb,0.34135e+03_rb,0.46858e+03_rb,0.30486e+03_rb,0.17829e+03_rb /) kbo(:, 1,44, 3) = (/ & & 0.23734e+03_rb,0.34136e+03_rb,0.46858e+03_rb,0.30487e+03_rb,0.17829e+03_rb /) kbo(:, 2,44, 3) = (/ & & 0.23734e+03_rb,0.34135e+03_rb,0.46858e+03_rb,0.30486e+03_rb,0.17829e+03_rb /) kbo(:, 3,44, 3) = (/ & & 0.23733e+03_rb,0.34135e+03_rb,0.46857e+03_rb,0.30486e+03_rb,0.17829e+03_rb /) kbo(:, 4,44, 3) = (/ & & 0.23733e+03_rb,0.34135e+03_rb,0.46857e+03_rb,0.30486e+03_rb,0.17829e+03_rb /) kbo(:, 5,44, 3) = (/ & & 0.23733e+03_rb,0.34134e+03_rb,0.46857e+03_rb,0.30486e+03_rb,0.17829e+03_rb /) kbo(:, 1,45, 3) = (/ & & 0.23733e+03_rb,0.34135e+03_rb,0.46857e+03_rb,0.30486e+03_rb,0.17829e+03_rb /) kbo(:, 2,45, 3) = (/ & & 0.23733e+03_rb,0.34135e+03_rb,0.46857e+03_rb,0.30486e+03_rb,0.17829e+03_rb /) kbo(:, 3,45, 3) = (/ & & 0.23733e+03_rb,0.34135e+03_rb,0.46857e+03_rb,0.30486e+03_rb,0.17829e+03_rb /) kbo(:, 4,45, 3) = (/ & & 0.23732e+03_rb,0.34134e+03_rb,0.46856e+03_rb,0.30486e+03_rb,0.17829e+03_rb /) kbo(:, 5,45, 3) = (/ & & 0.23732e+03_rb,0.34134e+03_rb,0.46856e+03_rb,0.30486e+03_rb,0.17829e+03_rb /) kbo(:, 1,46, 3) = (/ & & 0.23732e+03_rb,0.34135e+03_rb,0.46856e+03_rb,0.30486e+03_rb,0.17829e+03_rb /) kbo(:, 2,46, 3) = (/ & & 0.23732e+03_rb,0.34134e+03_rb,0.46856e+03_rb,0.30486e+03_rb,0.17829e+03_rb /) kbo(:, 3,46, 3) = (/ & & 0.23732e+03_rb,0.34134e+03_rb,0.46856e+03_rb,0.30485e+03_rb,0.17829e+03_rb /) kbo(:, 4,46, 3) = (/ & & 0.23732e+03_rb,0.34134e+03_rb,0.46856e+03_rb,0.30485e+03_rb,0.17829e+03_rb /) kbo(:, 5,46, 3) = (/ & & 0.23732e+03_rb,0.34134e+03_rb,0.46856e+03_rb,0.30485e+03_rb,0.17829e+03_rb /) kbo(:, 1,47, 3) = (/ & & 0.23732e+03_rb,0.34135e+03_rb,0.46856e+03_rb,0.30485e+03_rb,0.17829e+03_rb /) kbo(:, 2,47, 3) = (/ & & 0.23732e+03_rb,0.34134e+03_rb,0.46856e+03_rb,0.30485e+03_rb,0.17829e+03_rb /) kbo(:, 3,47, 3) = (/ & & 0.23732e+03_rb,0.34134e+03_rb,0.46855e+03_rb,0.30485e+03_rb,0.17829e+03_rb /) kbo(:, 4,47, 3) = (/ & & 0.23731e+03_rb,0.34134e+03_rb,0.46855e+03_rb,0.30485e+03_rb,0.17829e+03_rb /) kbo(:, 5,47, 3) = (/ & & 0.23731e+03_rb,0.34133e+03_rb,0.46855e+03_rb,0.30485e+03_rb,0.17829e+03_rb /) kbo(:, 1,48, 3) = (/ & & 0.23731e+03_rb,0.34135e+03_rb,0.46855e+03_rb,0.30485e+03_rb,0.17829e+03_rb /) kbo(:, 2,48, 3) = (/ & & 0.23731e+03_rb,0.34134e+03_rb,0.46855e+03_rb,0.30485e+03_rb,0.17829e+03_rb /) kbo(:, 3,48, 3) = (/ & & 0.23731e+03_rb,0.34134e+03_rb,0.46855e+03_rb,0.30485e+03_rb,0.17829e+03_rb /) kbo(:, 4,48, 3) = (/ & & 0.23731e+03_rb,0.34134e+03_rb,0.46855e+03_rb,0.30485e+03_rb,0.17829e+03_rb /) kbo(:, 5,48, 3) = (/ & & 0.23731e+03_rb,0.34133e+03_rb,0.46855e+03_rb,0.30485e+03_rb,0.17829e+03_rb /) kbo(:, 1,49, 3) = (/ & & 0.23731e+03_rb,0.34135e+03_rb,0.46855e+03_rb,0.30485e+03_rb,0.17829e+03_rb /) kbo(:, 2,49, 3) = (/ & & 0.23731e+03_rb,0.34134e+03_rb,0.46855e+03_rb,0.30485e+03_rb,0.17829e+03_rb /) kbo(:, 3,49, 3) = (/ & & 0.23731e+03_rb,0.34133e+03_rb,0.46854e+03_rb,0.30485e+03_rb,0.17829e+03_rb /) kbo(:, 4,49, 3) = (/ & & 0.23731e+03_rb,0.34133e+03_rb,0.46854e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 5,49, 3) = (/ & & 0.23731e+03_rb,0.34133e+03_rb,0.46854e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 1,50, 3) = (/ & & 0.23731e+03_rb,0.34136e+03_rb,0.46854e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 2,50, 3) = (/ & & 0.23731e+03_rb,0.34134e+03_rb,0.46854e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 3,50, 3) = (/ & & 0.23731e+03_rb,0.34133e+03_rb,0.46854e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 4,50, 3) = (/ & & 0.23730e+03_rb,0.34133e+03_rb,0.46854e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 5,50, 3) = (/ & & 0.23730e+03_rb,0.34133e+03_rb,0.46854e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 1,51, 3) = (/ & & 0.23731e+03_rb,0.34136e+03_rb,0.46854e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 2,51, 3) = (/ & & 0.23730e+03_rb,0.34134e+03_rb,0.46854e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 3,51, 3) = (/ & & 0.23730e+03_rb,0.34133e+03_rb,0.46854e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 4,51, 3) = (/ & & 0.23730e+03_rb,0.34133e+03_rb,0.46854e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 5,51, 3) = (/ & & 0.23730e+03_rb,0.34133e+03_rb,0.46854e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 1,52, 3) = (/ & & 0.23730e+03_rb,0.34136e+03_rb,0.46852e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 2,52, 3) = (/ & & 0.23730e+03_rb,0.34135e+03_rb,0.46854e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 3,52, 3) = (/ & & 0.23730e+03_rb,0.34133e+03_rb,0.46854e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 4,52, 3) = (/ & & 0.23730e+03_rb,0.34132e+03_rb,0.46854e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 5,52, 3) = (/ & & 0.23730e+03_rb,0.34133e+03_rb,0.46853e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 1,53, 3) = (/ & & 0.23730e+03_rb,0.34137e+03_rb,0.46851e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 2,53, 3) = (/ & & 0.23730e+03_rb,0.34135e+03_rb,0.46853e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 3,53, 3) = (/ & & 0.23730e+03_rb,0.34134e+03_rb,0.46853e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 4,53, 3) = (/ & & 0.23730e+03_rb,0.34133e+03_rb,0.46853e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 5,53, 3) = (/ & & 0.23730e+03_rb,0.34133e+03_rb,0.46853e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 1,54, 3) = (/ & & 0.23730e+03_rb,0.34137e+03_rb,0.46849e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 2,54, 3) = (/ & & 0.23730e+03_rb,0.34136e+03_rb,0.46852e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 3,54, 3) = (/ & & 0.23730e+03_rb,0.34134e+03_rb,0.46853e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 4,54, 3) = (/ & & 0.23730e+03_rb,0.34133e+03_rb,0.46853e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 5,54, 3) = (/ & & 0.23730e+03_rb,0.34132e+03_rb,0.46853e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 1,55, 3) = (/ & & 0.23730e+03_rb,0.34138e+03_rb,0.46847e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 2,55, 3) = (/ & & 0.23730e+03_rb,0.34136e+03_rb,0.46852e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 3,55, 3) = (/ & & 0.23730e+03_rb,0.34134e+03_rb,0.46853e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 4,55, 3) = (/ & & 0.23730e+03_rb,0.34133e+03_rb,0.46853e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 5,55, 3) = (/ & & 0.23730e+03_rb,0.34132e+03_rb,0.46853e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 1,56, 3) = (/ & & 0.23730e+03_rb,0.34139e+03_rb,0.46844e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 2,56, 3) = (/ & & 0.23730e+03_rb,0.34137e+03_rb,0.46850e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 3,56, 3) = (/ & & 0.23730e+03_rb,0.34135e+03_rb,0.46853e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 4,56, 3) = (/ & & 0.23730e+03_rb,0.34133e+03_rb,0.46853e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 5,56, 3) = (/ & & 0.23730e+03_rb,0.34133e+03_rb,0.46853e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 1,57, 3) = (/ & & 0.23730e+03_rb,0.34140e+03_rb,0.46840e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 2,57, 3) = (/ & & 0.23730e+03_rb,0.34137e+03_rb,0.46849e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 3,57, 3) = (/ & & 0.23730e+03_rb,0.34135e+03_rb,0.46852e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 4,57, 3) = (/ & & 0.23730e+03_rb,0.34134e+03_rb,0.46853e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 5,57, 3) = (/ & & 0.23729e+03_rb,0.34132e+03_rb,0.46853e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 1,58, 3) = (/ & & 0.23730e+03_rb,0.34140e+03_rb,0.46837e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 2,58, 3) = (/ & & 0.23729e+03_rb,0.34138e+03_rb,0.46847e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 3,58, 3) = (/ & & 0.23729e+03_rb,0.34136e+03_rb,0.46851e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 4,58, 3) = (/ & & 0.23729e+03_rb,0.34134e+03_rb,0.46853e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 5,58, 3) = (/ & & 0.23729e+03_rb,0.34133e+03_rb,0.46853e+03_rb,0.30483e+03_rb,0.17829e+03_rb /) kbo(:, 1,59, 3) = (/ & & 0.23729e+03_rb,0.34141e+03_rb,0.46835e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 2,59, 3) = (/ & & 0.23729e+03_rb,0.34138e+03_rb,0.46846e+03_rb,0.30484e+03_rb,0.17829e+03_rb /) kbo(:, 3,59, 3) = (/ & & 0.23729e+03_rb,0.34136e+03_rb,0.46851e+03_rb,0.30483e+03_rb,0.17829e+03_rb /) kbo(:, 4,59, 3) = (/ & & 0.23729e+03_rb,0.34134e+03_rb,0.46853e+03_rb,0.30483e+03_rb,0.17829e+03_rb /) kbo(:, 5,59, 3) = (/ & & 0.23729e+03_rb,0.34133e+03_rb,0.46853e+03_rb,0.30483e+03_rb,0.17829e+03_rb /) kbo(:, 1,13, 4) = (/ & & 0.51214e+03_rb,0.47089e+03_rb,0.53698e+03_rb,0.40623e+03_rb,0.38437e+03_rb /) kbo(:, 2,13, 4) = (/ & & 0.50819e+03_rb,0.46793e+03_rb,0.53525e+03_rb,0.40532e+03_rb,0.38437e+03_rb /) kbo(:, 3,13, 4) = (/ & & 0.50478e+03_rb,0.46537e+03_rb,0.53379e+03_rb,0.40453e+03_rb,0.38437e+03_rb /) kbo(:, 4,13, 4) = (/ & & 0.50182e+03_rb,0.46315e+03_rb,0.53251e+03_rb,0.40385e+03_rb,0.38437e+03_rb /) kbo(:, 5,13, 4) = (/ & & 0.49922e+03_rb,0.46120e+03_rb,0.53137e+03_rb,0.40325e+03_rb,0.38437e+03_rb /) kbo(:, 1,14, 4) = (/ & & 0.50224e+03_rb,0.46346e+03_rb,0.53224e+03_rb,0.40395e+03_rb,0.38437e+03_rb /) kbo(:, 2,14, 4) = (/ & & 0.49905e+03_rb,0.46107e+03_rb,0.53090e+03_rb,0.40321e+03_rb,0.38437e+03_rb /) kbo(:, 3,14, 4) = (/ & & 0.49629e+03_rb,0.45901e+03_rb,0.52974e+03_rb,0.40258e+03_rb,0.38437e+03_rb /) kbo(:, 4,14, 4) = (/ & & 0.49390e+03_rb,0.45721e+03_rb,0.52871e+03_rb,0.40203e+03_rb,0.38437e+03_rb /) kbo(:, 5,14, 4) = (/ & & 0.49179e+03_rb,0.45563e+03_rb,0.52774e+03_rb,0.40154e+03_rb,0.38437e+03_rb /) kbo(:, 1,15, 4) = (/ & & 0.49416e+03_rb,0.45741e+03_rb,0.52835e+03_rb,0.40209e+03_rb,0.38437e+03_rb /) kbo(:, 2,15, 4) = (/ & & 0.49159e+03_rb,0.45548e+03_rb,0.52725e+03_rb,0.40149e+03_rb,0.38437e+03_rb /) kbo(:, 3,15, 4) = (/ & & 0.48937e+03_rb,0.45381e+03_rb,0.52626e+03_rb,0.40098e+03_rb,0.38437e+03_rb /) kbo(:, 4,15, 4) = (/ & & 0.48743e+03_rb,0.45236e+03_rb,0.52534e+03_rb,0.40054e+03_rb,0.38437e+03_rb /) kbo(:, 5,15, 4) = (/ & & 0.48573e+03_rb,0.45108e+03_rb,0.52448e+03_rb,0.40015e+03_rb,0.38437e+03_rb /) kbo(:, 1,16, 4) = (/ & & 0.48759e+03_rb,0.45248e+03_rb,0.52492e+03_rb,0.40057e+03_rb,0.38437e+03_rb /) kbo(:, 2,16, 4) = (/ & & 0.48552e+03_rb,0.45092e+03_rb,0.52397e+03_rb,0.40010e+03_rb,0.38437e+03_rb /) kbo(:, 3,16, 4) = (/ & & 0.48373e+03_rb,0.44958e+03_rb,0.52310e+03_rb,0.39968e+03_rb,0.38437e+03_rb /) kbo(:, 4,16, 4) = (/ & & 0.48216e+03_rb,0.44841e+03_rb,0.52232e+03_rb,0.39932e+03_rb,0.38437e+03_rb /) kbo(:, 5,16, 4) = (/ & & 0.48079e+03_rb,0.44738e+03_rb,0.52159e+03_rb,0.39901e+03_rb,0.38437e+03_rb /) kbo(:, 1,17, 4) = (/ & & 0.48226e+03_rb,0.44848e+03_rb,0.52188e+03_rb,0.39935e+03_rb,0.38437e+03_rb /) kbo(:, 2,17, 4) = (/ & & 0.48059e+03_rb,0.44723e+03_rb,0.52110e+03_rb,0.39896e+03_rb,0.38437e+03_rb /) kbo(:, 3,17, 4) = (/ & & 0.47915e+03_rb,0.44615e+03_rb,0.52038e+03_rb,0.39863e+03_rb,0.38437e+03_rb /) kbo(:, 4,17, 4) = (/ & & 0.47788e+03_rb,0.44520e+03_rb,0.51974e+03_rb,0.39834e+03_rb,0.38437e+03_rb /) kbo(:, 5,17, 4) = (/ & & 0.47677e+03_rb,0.44437e+03_rb,0.51913e+03_rb,0.39808e+03_rb,0.38437e+03_rb /) kbo(:, 1,18, 4) = (/ & & 0.47794e+03_rb,0.44524e+03_rb,0.51928e+03_rb,0.39835e+03_rb,0.38437e+03_rb /) kbo(:, 2,18, 4) = (/ & & 0.47659e+03_rb,0.44423e+03_rb,0.51865e+03_rb,0.39804e+03_rb,0.38437e+03_rb /) kbo(:, 3,18, 4) = (/ & & 0.47542e+03_rb,0.44336e+03_rb,0.51808e+03_rb,0.39777e+03_rb,0.38437e+03_rb /) kbo(:, 4,18, 4) = (/ & & 0.47441e+03_rb,0.44259e+03_rb,0.51755e+03_rb,0.39754e+03_rb,0.38437e+03_rb /) kbo(:, 5,18, 4) = (/ & & 0.47351e+03_rb,0.44192e+03_rb,0.51705e+03_rb,0.39733e+03_rb,0.38437e+03_rb /) kbo(:, 1,19, 4) = (/ & & 0.47443e+03_rb,0.44261e+03_rb,0.51710e+03_rb,0.39754e+03_rb,0.38437e+03_rb /) kbo(:, 2,19, 4) = (/ & & 0.47334e+03_rb,0.44179e+03_rb,0.51660e+03_rb,0.39729e+03_rb,0.38437e+03_rb /) kbo(:, 3,19, 4) = (/ & & 0.47240e+03_rb,0.44109e+03_rb,0.51615e+03_rb,0.39708e+03_rb,0.38437e+03_rb /) kbo(:, 4,19, 4) = (/ & & 0.47158e+03_rb,0.44047e+03_rb,0.51573e+03_rb,0.39689e+03_rb,0.38437e+03_rb /) kbo(:, 5,19, 4) = (/ & & 0.47085e+03_rb,0.43993e+03_rb,0.51533e+03_rb,0.39672e+03_rb,0.38437e+03_rb /) kbo(:, 1,20, 4) = (/ & & 0.47156e+03_rb,0.44046e+03_rb,0.51527e+03_rb,0.39688e+03_rb,0.38437e+03_rb /) kbo(:, 2,20, 4) = (/ & & 0.47069e+03_rb,0.43980e+03_rb,0.51490e+03_rb,0.39668e+03_rb,0.38437e+03_rb /) kbo(:, 3,20, 4) = (/ & & 0.46993e+03_rb,0.43924e+03_rb,0.51455e+03_rb,0.39651e+03_rb,0.38437e+03_rb /) kbo(:, 4,20, 4) = (/ & & 0.46927e+03_rb,0.43874e+03_rb,0.51422e+03_rb,0.39635e+03_rb,0.38437e+03_rb /) kbo(:, 5,20, 4) = (/ & & 0.46868e+03_rb,0.43830e+03_rb,0.51389e+03_rb,0.39622e+03_rb,0.38437e+03_rb /) kbo(:, 1,21, 4) = (/ & & 0.46924e+03_rb,0.43872e+03_rb,0.51377e+03_rb,0.39635e+03_rb,0.38437e+03_rb /) kbo(:, 2,21, 4) = (/ & & 0.46853e+03_rb,0.43819e+03_rb,0.51350e+03_rb,0.39619e+03_rb,0.38437e+03_rb /) kbo(:, 3,21, 4) = (/ & & 0.46792e+03_rb,0.43773e+03_rb,0.51323e+03_rb,0.39604e+03_rb,0.38437e+03_rb /) kbo(:, 4,21, 4) = (/ & & 0.46739e+03_rb,0.43733e+03_rb,0.51296e+03_rb,0.39592e+03_rb,0.38437e+03_rb /) kbo(:, 5,21, 4) = (/ & & 0.46692e+03_rb,0.43697e+03_rb,0.51263e+03_rb,0.39581e+03_rb,0.38437e+03_rb /) kbo(:, 1,22, 4) = (/ & & 0.46731e+03_rb,0.43727e+03_rb,0.51254e+03_rb,0.39590e+03_rb,0.38437e+03_rb /) kbo(:, 2,22, 4) = (/ & & 0.46675e+03_rb,0.43685e+03_rb,0.51231e+03_rb,0.39577e+03_rb,0.38437e+03_rb /) kbo(:, 3,22, 4) = (/ & & 0.46626e+03_rb,0.43648e+03_rb,0.51212e+03_rb,0.39566e+03_rb,0.38437e+03_rb /) kbo(:, 4,22, 4) = (/ & & 0.46584e+03_rb,0.43616e+03_rb,0.51190e+03_rb,0.39556e+03_rb,0.38437e+03_rb /) kbo(:, 5,22, 4) = (/ & & 0.46546e+03_rb,0.43588e+03_rb,0.51168e+03_rb,0.39548e+03_rb,0.38437e+03_rb /) kbo(:, 1,23, 4) = (/ & & 0.46575e+03_rb,0.43610e+03_rb,0.51153e+03_rb,0.39554e+03_rb,0.38437e+03_rb /) kbo(:, 2,23, 4) = (/ & & 0.46531e+03_rb,0.43577e+03_rb,0.51138e+03_rb,0.39544e+03_rb,0.38437e+03_rb /) kbo(:, 3,23, 4) = (/ & & 0.46492e+03_rb,0.43548e+03_rb,0.51122e+03_rb,0.39535e+03_rb,0.38437e+03_rb /) kbo(:, 4,23, 4) = (/ & & 0.46458e+03_rb,0.43522e+03_rb,0.51104e+03_rb,0.39527e+03_rb,0.38437e+03_rb /) kbo(:, 5,23, 4) = (/ & & 0.46427e+03_rb,0.43499e+03_rb,0.51086e+03_rb,0.39520e+03_rb,0.38437e+03_rb /) kbo(:, 1,24, 4) = (/ & & 0.46450e+03_rb,0.43516e+03_rb,0.51071e+03_rb,0.39525e+03_rb,0.38437e+03_rb /) kbo(:, 2,24, 4) = (/ & & 0.46414e+03_rb,0.43489e+03_rb,0.51060e+03_rb,0.39517e+03_rb,0.38437e+03_rb /) kbo(:, 3,24, 4) = (/ & & 0.46383e+03_rb,0.43466e+03_rb,0.51047e+03_rb,0.39510e+03_rb,0.38437e+03_rb /) kbo(:, 4,24, 4) = (/ & & 0.46356e+03_rb,0.43445e+03_rb,0.51033e+03_rb,0.39504e+03_rb,0.38437e+03_rb /) kbo(:, 5,24, 4) = (/ & & 0.46331e+03_rb,0.43427e+03_rb,0.51019e+03_rb,0.39498e+03_rb,0.38437e+03_rb /) kbo(:, 1,25, 4) = (/ & & 0.46348e+03_rb,0.43439e+03_rb,0.51003e+03_rb,0.39502e+03_rb,0.38437e+03_rb /) kbo(:, 2,25, 4) = (/ & & 0.46319e+03_rb,0.43418e+03_rb,0.50997e+03_rb,0.39496e+03_rb,0.38437e+03_rb /) kbo(:, 3,25, 4) = (/ & & 0.46295e+03_rb,0.43400e+03_rb,0.50987e+03_rb,0.39490e+03_rb,0.38437e+03_rb /) kbo(:, 4,25, 4) = (/ & & 0.46273e+03_rb,0.43383e+03_rb,0.50976e+03_rb,0.39485e+03_rb,0.38437e+03_rb /) kbo(:, 5,25, 4) = (/ & & 0.46254e+03_rb,0.43369e+03_rb,0.50965e+03_rb,0.39480e+03_rb,0.38437e+03_rb /) kbo(:, 1,26, 4) = (/ & & 0.46265e+03_rb,0.43378e+03_rb,0.50951e+03_rb,0.39483e+03_rb,0.38437e+03_rb /) kbo(:, 2,26, 4) = (/ & & 0.46243e+03_rb,0.43361e+03_rb,0.50946e+03_rb,0.39478e+03_rb,0.38437e+03_rb /) kbo(:, 3,26, 4) = (/ & & 0.46223e+03_rb,0.43346e+03_rb,0.50938e+03_rb,0.39473e+03_rb,0.38437e+03_rb /) kbo(:, 4,26, 4) = (/ & & 0.46206e+03_rb,0.43333e+03_rb,0.50930e+03_rb,0.39469e+03_rb,0.38437e+03_rb /) kbo(:, 5,26, 4) = (/ & & 0.46190e+03_rb,0.43321e+03_rb,0.50921e+03_rb,0.39466e+03_rb,0.38437e+03_rb /) kbo(:, 1,27, 4) = (/ & & 0.46199e+03_rb,0.43328e+03_rb,0.50908e+03_rb,0.39468e+03_rb,0.38437e+03_rb /) kbo(:, 2,27, 4) = (/ & & 0.46181e+03_rb,0.43314e+03_rb,0.50904e+03_rb,0.39464e+03_rb,0.38437e+03_rb /) kbo(:, 3,27, 4) = (/ & & 0.46165e+03_rb,0.43303e+03_rb,0.50899e+03_rb,0.39460e+03_rb,0.38437e+03_rb /) kbo(:, 4,27, 4) = (/ & & 0.46152e+03_rb,0.43292e+03_rb,0.50892e+03_rb,0.39457e+03_rb,0.38437e+03_rb /) kbo(:, 5,27, 4) = (/ & & 0.46139e+03_rb,0.43283e+03_rb,0.50885e+03_rb,0.39454e+03_rb,0.38437e+03_rb /) kbo(:, 1,28, 4) = (/ & & 0.46145e+03_rb,0.43288e+03_rb,0.50873e+03_rb,0.39455e+03_rb,0.38437e+03_rb /) kbo(:, 2,28, 4) = (/ & & 0.46131e+03_rb,0.43277e+03_rb,0.50871e+03_rb,0.39452e+03_rb,0.38437e+03_rb /) kbo(:, 3,28, 4) = (/ & & 0.46119e+03_rb,0.43268e+03_rb,0.50867e+03_rb,0.39449e+03_rb,0.38437e+03_rb /) kbo(:, 4,28, 4) = (/ & & 0.46108e+03_rb,0.43259e+03_rb,0.50862e+03_rb,0.39447e+03_rb,0.38437e+03_rb /) kbo(:, 5,28, 4) = (/ & & 0.46098e+03_rb,0.43252e+03_rb,0.50856e+03_rb,0.39445e+03_rb,0.38437e+03_rb /) kbo(:, 1,29, 4) = (/ & & 0.46102e+03_rb,0.43255e+03_rb,0.50845e+03_rb,0.39445e+03_rb,0.38437e+03_rb /) kbo(:, 2,29, 4) = (/ & & 0.46091e+03_rb,0.43247e+03_rb,0.50844e+03_rb,0.39443e+03_rb,0.38437e+03_rb /) kbo(:, 3,29, 4) = (/ & & 0.46081e+03_rb,0.43239e+03_rb,0.50842e+03_rb,0.39441e+03_rb,0.38437e+03_rb /) kbo(:, 4,29, 4) = (/ & & 0.46072e+03_rb,0.43233e+03_rb,0.50837e+03_rb,0.39439e+03_rb,0.38437e+03_rb /) kbo(:, 5,29, 4) = (/ & & 0.46064e+03_rb,0.43227e+03_rb,0.50832e+03_rb,0.39437e+03_rb,0.38437e+03_rb /) kbo(:, 1,30, 4) = (/ & & 0.46067e+03_rb,0.43229e+03_rb,0.50823e+03_rb,0.39437e+03_rb,0.38437e+03_rb /) kbo(:, 2,30, 4) = (/ & & 0.46058e+03_rb,0.43223e+03_rb,0.50823e+03_rb,0.39435e+03_rb,0.38437e+03_rb /) kbo(:, 3,30, 4) = (/ & & 0.46051e+03_rb,0.43217e+03_rb,0.50821e+03_rb,0.39434e+03_rb,0.38437e+03_rb /) kbo(:, 4,30, 4) = (/ & & 0.46044e+03_rb,0.43211e+03_rb,0.50818e+03_rb,0.39432e+03_rb,0.38437e+03_rb /) kbo(:, 5,30, 4) = (/ & & 0.46037e+03_rb,0.43207e+03_rb,0.50813e+03_rb,0.39431e+03_rb,0.38437e+03_rb /) kbo(:, 1,31, 4) = (/ & & 0.46039e+03_rb,0.43208e+03_rb,0.50805e+03_rb,0.39431e+03_rb,0.38437e+03_rb /) kbo(:, 2,31, 4) = (/ & & 0.46032e+03_rb,0.43203e+03_rb,0.50805e+03_rb,0.39429e+03_rb,0.38437e+03_rb /) kbo(:, 3,31, 4) = (/ & & 0.46026e+03_rb,0.43198e+03_rb,0.50804e+03_rb,0.39428e+03_rb,0.38437e+03_rb /) kbo(:, 4,31, 4) = (/ & & 0.46021e+03_rb,0.43194e+03_rb,0.50801e+03_rb,0.39427e+03_rb,0.38437e+03_rb /) kbo(:, 5,31, 4) = (/ & & 0.46016e+03_rb,0.43190e+03_rb,0.50797e+03_rb,0.39426e+03_rb,0.38437e+03_rb /) kbo(:, 1,32, 4) = (/ & & 0.46017e+03_rb,0.43191e+03_rb,0.50790e+03_rb,0.39426e+03_rb,0.38437e+03_rb /) kbo(:, 2,32, 4) = (/ & & 0.46011e+03_rb,0.43187e+03_rb,0.50792e+03_rb,0.39425e+03_rb,0.38437e+03_rb /) kbo(:, 3,32, 4) = (/ & & 0.46006e+03_rb,0.43183e+03_rb,0.50791e+03_rb,0.39423e+03_rb,0.38437e+03_rb /) kbo(:, 4,32, 4) = (/ & & 0.46002e+03_rb,0.43180e+03_rb,0.50788e+03_rb,0.39422e+03_rb,0.38437e+03_rb /) kbo(:, 5,32, 4) = (/ & & 0.45998e+03_rb,0.43177e+03_rb,0.50784e+03_rb,0.39421e+03_rb,0.38437e+03_rb /) kbo(:, 1,33, 4) = (/ & & 0.45999e+03_rb,0.43178e+03_rb,0.50779e+03_rb,0.39422e+03_rb,0.38437e+03_rb /) kbo(:, 2,33, 4) = (/ & & 0.45994e+03_rb,0.43174e+03_rb,0.50781e+03_rb,0.39421e+03_rb,0.38437e+03_rb /) kbo(:, 3,33, 4) = (/ & & 0.45990e+03_rb,0.43171e+03_rb,0.50780e+03_rb,0.39420e+03_rb,0.38437e+03_rb /) kbo(:, 4,33, 4) = (/ & & 0.45987e+03_rb,0.43169e+03_rb,0.50777e+03_rb,0.39419e+03_rb,0.38437e+03_rb /) kbo(:, 5,33, 4) = (/ & & 0.45984e+03_rb,0.43166e+03_rb,0.50773e+03_rb,0.39418e+03_rb,0.38437e+03_rb /) kbo(:, 1,34, 4) = (/ & & 0.45984e+03_rb,0.43167e+03_rb,0.50770e+03_rb,0.39418e+03_rb,0.38437e+03_rb /) kbo(:, 2,34, 4) = (/ & & 0.45981e+03_rb,0.43164e+03_rb,0.50772e+03_rb,0.39418e+03_rb,0.38437e+03_rb /) kbo(:, 3,34, 4) = (/ & & 0.45978e+03_rb,0.43162e+03_rb,0.50771e+03_rb,0.39417e+03_rb,0.38437e+03_rb /) kbo(:, 4,34, 4) = (/ & & 0.45975e+03_rb,0.43160e+03_rb,0.50768e+03_rb,0.39416e+03_rb,0.38437e+03_rb /) kbo(:, 5,34, 4) = (/ & & 0.45972e+03_rb,0.43158e+03_rb,0.50764e+03_rb,0.39416e+03_rb,0.38437e+03_rb /) kbo(:, 1,35, 4) = (/ & & 0.45973e+03_rb,0.43158e+03_rb,0.50763e+03_rb,0.39416e+03_rb,0.38437e+03_rb /) kbo(:, 2,35, 4) = (/ & & 0.45970e+03_rb,0.43156e+03_rb,0.50764e+03_rb,0.39415e+03_rb,0.38437e+03_rb /) kbo(:, 3,35, 4) = (/ & & 0.45968e+03_rb,0.43154e+03_rb,0.50764e+03_rb,0.39414e+03_rb,0.38437e+03_rb /) kbo(:, 4,35, 4) = (/ & & 0.45965e+03_rb,0.43153e+03_rb,0.50761e+03_rb,0.39414e+03_rb,0.38437e+03_rb /) kbo(:, 5,35, 4) = (/ & & 0.45963e+03_rb,0.43151e+03_rb,0.50757e+03_rb,0.39413e+03_rb,0.38437e+03_rb /) kbo(:, 1,36, 4) = (/ & & 0.45964e+03_rb,0.43152e+03_rb,0.50757e+03_rb,0.39414e+03_rb,0.38437e+03_rb /) kbo(:, 2,36, 4) = (/ & & 0.45962e+03_rb,0.43150e+03_rb,0.50758e+03_rb,0.39413e+03_rb,0.38437e+03_rb /) kbo(:, 3,36, 4) = (/ & & 0.45960e+03_rb,0.43148e+03_rb,0.50758e+03_rb,0.39413e+03_rb,0.38437e+03_rb /) kbo(:, 4,36, 4) = (/ & & 0.45958e+03_rb,0.43147e+03_rb,0.50756e+03_rb,0.39412e+03_rb,0.38437e+03_rb /) kbo(:, 5,36, 4) = (/ & & 0.45956e+03_rb,0.43146e+03_rb,0.50752e+03_rb,0.39412e+03_rb,0.38437e+03_rb /) kbo(:, 1,37, 4) = (/ & & 0.45957e+03_rb,0.43146e+03_rb,0.50751e+03_rb,0.39412e+03_rb,0.38437e+03_rb /) kbo(:, 2,37, 4) = (/ & & 0.45955e+03_rb,0.43145e+03_rb,0.50753e+03_rb,0.39412e+03_rb,0.38437e+03_rb /) kbo(:, 3,37, 4) = (/ & & 0.45953e+03_rb,0.43144e+03_rb,0.50754e+03_rb,0.39411e+03_rb,0.38437e+03_rb /) kbo(:, 4,37, 4) = (/ & & 0.45952e+03_rb,0.43142e+03_rb,0.50752e+03_rb,0.39411e+03_rb,0.38437e+03_rb /) kbo(:, 5,37, 4) = (/ & & 0.45950e+03_rb,0.43141e+03_rb,0.50748e+03_rb,0.39411e+03_rb,0.38437e+03_rb /) kbo(:, 1,38, 4) = (/ & & 0.45951e+03_rb,0.43142e+03_rb,0.50746e+03_rb,0.39411e+03_rb,0.38437e+03_rb /) kbo(:, 2,38, 4) = (/ & & 0.45950e+03_rb,0.43141e+03_rb,0.50749e+03_rb,0.39410e+03_rb,0.38437e+03_rb /) kbo(:, 3,38, 4) = (/ & & 0.45948e+03_rb,0.43140e+03_rb,0.50750e+03_rb,0.39410e+03_rb,0.38437e+03_rb /) kbo(:, 4,38, 4) = (/ & & 0.45947e+03_rb,0.43139e+03_rb,0.50749e+03_rb,0.39410e+03_rb,0.38437e+03_rb /) kbo(:, 5,38, 4) = (/ & & 0.45946e+03_rb,0.43138e+03_rb,0.50745e+03_rb,0.39409e+03_rb,0.38437e+03_rb /) kbo(:, 1,39, 4) = (/ & & 0.45946e+03_rb,0.43138e+03_rb,0.50742e+03_rb,0.39410e+03_rb,0.38437e+03_rb /) kbo(:, 2,39, 4) = (/ & & 0.45945e+03_rb,0.43137e+03_rb,0.50746e+03_rb,0.39409e+03_rb,0.38437e+03_rb /) kbo(:, 3,39, 4) = (/ & & 0.45944e+03_rb,0.43137e+03_rb,0.50747e+03_rb,0.39409e+03_rb,0.38437e+03_rb /) kbo(:, 4,39, 4) = (/ & & 0.45943e+03_rb,0.43136e+03_rb,0.50746e+03_rb,0.39409e+03_rb,0.38437e+03_rb /) kbo(:, 5,39, 4) = (/ & & 0.45942e+03_rb,0.43135e+03_rb,0.50743e+03_rb,0.39409e+03_rb,0.38437e+03_rb /) kbo(:, 1,40, 4) = (/ & & 0.45943e+03_rb,0.43136e+03_rb,0.50738e+03_rb,0.39409e+03_rb,0.38437e+03_rb /) kbo(:, 2,40, 4) = (/ & & 0.45941e+03_rb,0.43135e+03_rb,0.50742e+03_rb,0.39408e+03_rb,0.38437e+03_rb /) kbo(:, 3,40, 4) = (/ & & 0.45940e+03_rb,0.43134e+03_rb,0.50744e+03_rb,0.39408e+03_rb,0.38437e+03_rb /) kbo(:, 4,40, 4) = (/ & & 0.45940e+03_rb,0.43133e+03_rb,0.50744e+03_rb,0.39408e+03_rb,0.38437e+03_rb /) kbo(:, 5,40, 4) = (/ & & 0.45939e+03_rb,0.43133e+03_rb,0.50742e+03_rb,0.39408e+03_rb,0.38437e+03_rb /) kbo(:, 1,41, 4) = (/ & & 0.45939e+03_rb,0.43133e+03_rb,0.50734e+03_rb,0.39408e+03_rb,0.38437e+03_rb /) kbo(:, 2,41, 4) = (/ & & 0.45938e+03_rb,0.43133e+03_rb,0.50739e+03_rb,0.39408e+03_rb,0.38437e+03_rb /) kbo(:, 3,41, 4) = (/ & & 0.45938e+03_rb,0.43132e+03_rb,0.50742e+03_rb,0.39408e+03_rb,0.38437e+03_rb /) kbo(:, 4,41, 4) = (/ & & 0.45937e+03_rb,0.43131e+03_rb,0.50742e+03_rb,0.39407e+03_rb,0.38437e+03_rb /) kbo(:, 5,41, 4) = (/ & & 0.45936e+03_rb,0.43131e+03_rb,0.50741e+03_rb,0.39407e+03_rb,0.38437e+03_rb /) kbo(:, 1,42, 4) = (/ & & 0.45937e+03_rb,0.43131e+03_rb,0.50731e+03_rb,0.39407e+03_rb,0.38437e+03_rb /) kbo(:, 2,42, 4) = (/ & & 0.45936e+03_rb,0.43131e+03_rb,0.50736e+03_rb,0.39407e+03_rb,0.38437e+03_rb /) kbo(:, 3,42, 4) = (/ & & 0.45935e+03_rb,0.43130e+03_rb,0.50739e+03_rb,0.39407e+03_rb,0.38437e+03_rb /) kbo(:, 4,42, 4) = (/ & & 0.45935e+03_rb,0.43130e+03_rb,0.50741e+03_rb,0.39407e+03_rb,0.38437e+03_rb /) kbo(:, 5,42, 4) = (/ & & 0.45934e+03_rb,0.43129e+03_rb,0.50740e+03_rb,0.39407e+03_rb,0.38437e+03_rb /) kbo(:, 1,43, 4) = (/ & & 0.45935e+03_rb,0.43130e+03_rb,0.50727e+03_rb,0.39407e+03_rb,0.38437e+03_rb /) kbo(:, 2,43, 4) = (/ & & 0.45934e+03_rb,0.43129e+03_rb,0.50733e+03_rb,0.39407e+03_rb,0.38437e+03_rb /) kbo(:, 3,43, 4) = (/ & & 0.45933e+03_rb,0.43129e+03_rb,0.50737e+03_rb,0.39407e+03_rb,0.38437e+03_rb /) kbo(:, 4,43, 4) = (/ & & 0.45933e+03_rb,0.43128e+03_rb,0.50739e+03_rb,0.39406e+03_rb,0.38437e+03_rb /) kbo(:, 5,43, 4) = (/ & & 0.45932e+03_rb,0.43128e+03_rb,0.50739e+03_rb,0.39406e+03_rb,0.38437e+03_rb /) kbo(:, 1,44, 4) = (/ & & 0.45933e+03_rb,0.43128e+03_rb,0.50723e+03_rb,0.39406e+03_rb,0.38437e+03_rb /) kbo(:, 2,44, 4) = (/ & & 0.45932e+03_rb,0.43128e+03_rb,0.50730e+03_rb,0.39406e+03_rb,0.38437e+03_rb /) kbo(:, 3,44, 4) = (/ & & 0.45932e+03_rb,0.43128e+03_rb,0.50735e+03_rb,0.39406e+03_rb,0.38437e+03_rb /) kbo(:, 4,44, 4) = (/ & & 0.45931e+03_rb,0.43127e+03_rb,0.50737e+03_rb,0.39406e+03_rb,0.38437e+03_rb /) kbo(:, 5,44, 4) = (/ & & 0.45931e+03_rb,0.43127e+03_rb,0.50738e+03_rb,0.39406e+03_rb,0.38437e+03_rb /) kbo(:, 1,45, 4) = (/ & & 0.45931e+03_rb,0.43127e+03_rb,0.50718e+03_rb,0.39406e+03_rb,0.38437e+03_rb /) kbo(:, 2,45, 4) = (/ & & 0.45931e+03_rb,0.43127e+03_rb,0.50727e+03_rb,0.39406e+03_rb,0.38437e+03_rb /) kbo(:, 3,45, 4) = (/ & & 0.45930e+03_rb,0.43127e+03_rb,0.50732e+03_rb,0.39406e+03_rb,0.38437e+03_rb /) kbo(:, 4,45, 4) = (/ & & 0.45930e+03_rb,0.43126e+03_rb,0.50736e+03_rb,0.39406e+03_rb,0.38437e+03_rb /) kbo(:, 5,45, 4) = (/ & & 0.45930e+03_rb,0.43126e+03_rb,0.50737e+03_rb,0.39406e+03_rb,0.38437e+03_rb /) kbo(:, 1,46, 4) = (/ & & 0.45930e+03_rb,0.43126e+03_rb,0.50714e+03_rb,0.39406e+03_rb,0.38437e+03_rb /) kbo(:, 2,46, 4) = (/ & & 0.45930e+03_rb,0.43126e+03_rb,0.50723e+03_rb,0.39406e+03_rb,0.38437e+03_rb /) kbo(:, 3,46, 4) = (/ & & 0.45929e+03_rb,0.43126e+03_rb,0.50730e+03_rb,0.39406e+03_rb,0.38437e+03_rb /) kbo(:, 4,46, 4) = (/ & & 0.45929e+03_rb,0.43125e+03_rb,0.50734e+03_rb,0.39406e+03_rb,0.38437e+03_rb /) kbo(:, 5,46, 4) = (/ & & 0.45929e+03_rb,0.43125e+03_rb,0.50736e+03_rb,0.39406e+03_rb,0.38437e+03_rb /) kbo(:, 1,47, 4) = (/ & & 0.45929e+03_rb,0.43126e+03_rb,0.50708e+03_rb,0.39406e+03_rb,0.38437e+03_rb /) kbo(:, 2,47, 4) = (/ & & 0.45929e+03_rb,0.43125e+03_rb,0.50719e+03_rb,0.39406e+03_rb,0.38437e+03_rb /) kbo(:, 3,47, 4) = (/ & & 0.45928e+03_rb,0.43125e+03_rb,0.50727e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 4,47, 4) = (/ & & 0.45928e+03_rb,0.43125e+03_rb,0.50732e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 5,47, 4) = (/ & & 0.45928e+03_rb,0.43125e+03_rb,0.50735e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 1,48, 4) = (/ & & 0.45928e+03_rb,0.43125e+03_rb,0.50701e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 2,48, 4) = (/ & & 0.45928e+03_rb,0.43125e+03_rb,0.50714e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 3,48, 4) = (/ & & 0.45928e+03_rb,0.43124e+03_rb,0.50723e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 4,48, 4) = (/ & & 0.45927e+03_rb,0.43124e+03_rb,0.50729e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 5,48, 4) = (/ & & 0.45927e+03_rb,0.43124e+03_rb,0.50733e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 1,49, 4) = (/ & & 0.45928e+03_rb,0.43124e+03_rb,0.50694e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 2,49, 4) = (/ & & 0.45927e+03_rb,0.43124e+03_rb,0.50709e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 3,49, 4) = (/ & & 0.45927e+03_rb,0.43124e+03_rb,0.50720e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 4,49, 4) = (/ & & 0.45927e+03_rb,0.43124e+03_rb,0.50727e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 5,49, 4) = (/ & & 0.45927e+03_rb,0.43124e+03_rb,0.50732e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 1,50, 4) = (/ & & 0.45927e+03_rb,0.43124e+03_rb,0.50686e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 2,50, 4) = (/ & & 0.45927e+03_rb,0.43124e+03_rb,0.50704e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 3,50, 4) = (/ & & 0.45927e+03_rb,0.43124e+03_rb,0.50716e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 4,50, 4) = (/ & & 0.45926e+03_rb,0.43123e+03_rb,0.50724e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 5,50, 4) = (/ & & 0.45926e+03_rb,0.43123e+03_rb,0.50730e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 1,51, 4) = (/ & & 0.45926e+03_rb,0.43124e+03_rb,0.50679e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 2,51, 4) = (/ & & 0.45926e+03_rb,0.43123e+03_rb,0.50697e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 3,51, 4) = (/ & & 0.45926e+03_rb,0.43123e+03_rb,0.50711e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 4,51, 4) = (/ & & 0.45926e+03_rb,0.43123e+03_rb,0.50721e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 5,51, 4) = (/ & & 0.45926e+03_rb,0.43123e+03_rb,0.50728e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 1,52, 4) = (/ & & 0.45926e+03_rb,0.43123e+03_rb,0.50671e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 2,52, 4) = (/ & & 0.45926e+03_rb,0.43123e+03_rb,0.50691e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 3,52, 4) = (/ & & 0.45926e+03_rb,0.43123e+03_rb,0.50707e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 4,52, 4) = (/ & & 0.45926e+03_rb,0.43123e+03_rb,0.50718e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 5,52, 4) = (/ & & 0.45925e+03_rb,0.43123e+03_rb,0.50725e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 1,53, 4) = (/ & & 0.45926e+03_rb,0.43123e+03_rb,0.50663e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 2,53, 4) = (/ & & 0.45926e+03_rb,0.43123e+03_rb,0.50684e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 3,53, 4) = (/ & & 0.45925e+03_rb,0.43123e+03_rb,0.50701e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 4,53, 4) = (/ & & 0.45925e+03_rb,0.43123e+03_rb,0.50714e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 5,53, 4) = (/ & & 0.45925e+03_rb,0.43123e+03_rb,0.50722e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 1,54, 4) = (/ & & 0.45925e+03_rb,0.43123e+03_rb,0.50655e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 2,54, 4) = (/ & & 0.45925e+03_rb,0.43123e+03_rb,0.50677e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 3,54, 4) = (/ & & 0.45925e+03_rb,0.43123e+03_rb,0.50696e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 4,54, 4) = (/ & & 0.45925e+03_rb,0.43122e+03_rb,0.50710e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 5,54, 4) = (/ & & 0.45925e+03_rb,0.43122e+03_rb,0.50720e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 1,55, 4) = (/ & & 0.45925e+03_rb,0.43123e+03_rb,0.50647e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 2,55, 4) = (/ & & 0.45925e+03_rb,0.43122e+03_rb,0.50670e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 3,55, 4) = (/ & & 0.45925e+03_rb,0.43122e+03_rb,0.50690e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 4,55, 4) = (/ & & 0.45925e+03_rb,0.43122e+03_rb,0.50706e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 5,55, 4) = (/ & & 0.45925e+03_rb,0.43122e+03_rb,0.50717e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 1,56, 4) = (/ & & 0.45925e+03_rb,0.43122e+03_rb,0.50640e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 2,56, 4) = (/ & & 0.45925e+03_rb,0.43122e+03_rb,0.50663e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 3,56, 4) = (/ & & 0.45925e+03_rb,0.43122e+03_rb,0.50683e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 4,56, 4) = (/ & & 0.45925e+03_rb,0.43122e+03_rb,0.50701e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 5,56, 4) = (/ & & 0.45925e+03_rb,0.43122e+03_rb,0.50714e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 1,57, 4) = (/ & & 0.45925e+03_rb,0.43122e+03_rb,0.50632e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 2,57, 4) = (/ & & 0.45925e+03_rb,0.43122e+03_rb,0.50656e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 3,57, 4) = (/ & & 0.45925e+03_rb,0.43122e+03_rb,0.50677e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 4,57, 4) = (/ & & 0.45925e+03_rb,0.43122e+03_rb,0.50696e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 5,57, 4) = (/ & & 0.45924e+03_rb,0.43122e+03_rb,0.50710e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 1,58, 4) = (/ & & 0.45925e+03_rb,0.43122e+03_rb,0.50624e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 2,58, 4) = (/ & & 0.45925e+03_rb,0.43122e+03_rb,0.50648e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 3,58, 4) = (/ & & 0.45924e+03_rb,0.43122e+03_rb,0.50671e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 4,58, 4) = (/ & & 0.45924e+03_rb,0.43122e+03_rb,0.50690e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 5,58, 4) = (/ & & 0.45924e+03_rb,0.43122e+03_rb,0.50706e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 1,59, 4) = (/ & & 0.45924e+03_rb,0.43122e+03_rb,0.50622e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 2,59, 4) = (/ & & 0.45924e+03_rb,0.43122e+03_rb,0.50645e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 3,59, 4) = (/ & & 0.45924e+03_rb,0.43122e+03_rb,0.50668e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 4,59, 4) = (/ & & 0.45924e+03_rb,0.43122e+03_rb,0.50688e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 5,59, 4) = (/ & & 0.45924e+03_rb,0.43122e+03_rb,0.50704e+03_rb,0.39405e+03_rb,0.38437e+03_rb /) kbo(:, 1,13, 5) = (/ & & 0.78037e+03_rb,0.62743e+03_rb,0.56495e+03_rb,0.56633e+03_rb,0.67117e+03_rb /) kbo(:, 2,13, 5) = (/ & & 0.77434e+03_rb,0.62291e+03_rb,0.56343e+03_rb,0.56584e+03_rb,0.67117e+03_rb /) kbo(:, 3,13, 5) = (/ & & 0.76915e+03_rb,0.61902e+03_rb,0.56189e+03_rb,0.56542e+03_rb,0.67117e+03_rb /) kbo(:, 4,13, 5) = (/ & & 0.76464e+03_rb,0.61563e+03_rb,0.56027e+03_rb,0.56506e+03_rb,0.67117e+03_rb /) kbo(:, 5,13, 5) = (/ & & 0.76068e+03_rb,0.61266e+03_rb,0.55865e+03_rb,0.56474e+03_rb,0.67117e+03_rb /) kbo(:, 1,14, 5) = (/ & & 0.76527e+03_rb,0.61611e+03_rb,0.56011e+03_rb,0.56511e+03_rb,0.67117e+03_rb /) kbo(:, 2,14, 5) = (/ & & 0.76041e+03_rb,0.61246e+03_rb,0.55859e+03_rb,0.56472e+03_rb,0.67117e+03_rb /) kbo(:, 3,14, 5) = (/ & & 0.75622e+03_rb,0.60932e+03_rb,0.55696e+03_rb,0.56438e+03_rb,0.67117e+03_rb /) kbo(:, 4,14, 5) = (/ & & 0.75257e+03_rb,0.60658e+03_rb,0.55539e+03_rb,0.56408e+03_rb,0.67117e+03_rb /) kbo(:, 5,14, 5) = (/ & & 0.74936e+03_rb,0.60417e+03_rb,0.55391e+03_rb,0.56383e+03_rb,0.67117e+03_rb /) kbo(:, 1,15, 5) = (/ & & 0.75296e+03_rb,0.60688e+03_rb,0.55521e+03_rb,0.56412e+03_rb,0.67117e+03_rb /) kbo(:, 2,15, 5) = (/ & & 0.74904e+03_rb,0.60394e+03_rb,0.55372e+03_rb,0.56380e+03_rb,0.67117e+03_rb /) kbo(:, 3,15, 5) = (/ & & 0.74566e+03_rb,0.60140e+03_rb,0.55235e+03_rb,0.56353e+03_rb,0.67117e+03_rb /) kbo(:, 4,15, 5) = (/ & & 0.74271e+03_rb,0.59919e+03_rb,0.55103e+03_rb,0.56329e+03_rb,0.67117e+03_rb /) kbo(:, 5,15, 5) = (/ & & 0.74012e+03_rb,0.59724e+03_rb,0.54977e+03_rb,0.56308e+03_rb,0.67117e+03_rb /) kbo(:, 1,16, 5) = (/ & & 0.74295e+03_rb,0.59937e+03_rb,0.55079e+03_rb,0.56331e+03_rb,0.67117e+03_rb /) kbo(:, 2,16, 5) = (/ & & 0.73979e+03_rb,0.59700e+03_rb,0.54953e+03_rb,0.56305e+03_rb,0.67117e+03_rb /) kbo(:, 3,16, 5) = (/ & & 0.73707e+03_rb,0.59495e+03_rb,0.54828e+03_rb,0.56283e+03_rb,0.67117e+03_rb /) kbo(:, 4,16, 5) = (/ & & 0.73469e+03_rb,0.59317e+03_rb,0.54708e+03_rb,0.56264e+03_rb,0.67117e+03_rb /) kbo(:, 5,16, 5) = (/ & & 0.73259e+03_rb,0.59160e+03_rb,0.54600e+03_rb,0.56247e+03_rb,0.67117e+03_rb /) kbo(:, 1,17, 5) = (/ & & 0.73483e+03_rb,0.59328e+03_rb,0.54695e+03_rb,0.56265e+03_rb,0.67117e+03_rb /) kbo(:, 2,17, 5) = (/ & & 0.73229e+03_rb,0.59137e+03_rb,0.54572e+03_rb,0.56245e+03_rb,0.67117e+03_rb /) kbo(:, 3,17, 5) = (/ & & 0.73009e+03_rb,0.58972e+03_rb,0.54462e+03_rb,0.56227e+03_rb,0.67117e+03_rb /) kbo(:, 4,17, 5) = (/ & & 0.72817e+03_rb,0.58828e+03_rb,0.54366e+03_rb,0.56212e+03_rb,0.67117e+03_rb /) kbo(:, 5,17, 5) = (/ & & 0.72647e+03_rb,0.58701e+03_rb,0.54281e+03_rb,0.56198e+03_rb,0.67117e+03_rb /) kbo(:, 1,18, 5) = (/ & & 0.72825e+03_rb,0.58834e+03_rb,0.54354e+03_rb,0.56212e+03_rb,0.67117e+03_rb /) kbo(:, 2,18, 5) = (/ & & 0.72619e+03_rb,0.58680e+03_rb,0.54253e+03_rb,0.56196e+03_rb,0.67117e+03_rb /) kbo(:, 3,18, 5) = (/ & & 0.72442e+03_rb,0.58547e+03_rb,0.54166e+03_rb,0.56181e+03_rb,0.67117e+03_rb /) kbo(:, 4,18, 5) = (/ & & 0.72286e+03_rb,0.58430e+03_rb,0.54091e+03_rb,0.56169e+03_rb,0.67117e+03_rb /) kbo(:, 5,18, 5) = (/ & & 0.72150e+03_rb,0.58328e+03_rb,0.54024e+03_rb,0.56158e+03_rb,0.67117e+03_rb /) kbo(:, 1,19, 5) = (/ & & 0.72290e+03_rb,0.58433e+03_rb,0.54075e+03_rb,0.56169e+03_rb,0.67117e+03_rb /) kbo(:, 2,19, 5) = (/ & & 0.72124e+03_rb,0.58309e+03_rb,0.53996e+03_rb,0.56156e+03_rb,0.67117e+03_rb /) kbo(:, 3,19, 5) = (/ & & 0.71981e+03_rb,0.58201e+03_rb,0.53928e+03_rb,0.56144e+03_rb,0.67117e+03_rb /) kbo(:, 4,19, 5) = (/ & & 0.71856e+03_rb,0.58107e+03_rb,0.53868e+03_rb,0.56134e+03_rb,0.67117e+03_rb /) kbo(:, 5,19, 5) = (/ & & 0.71745e+03_rb,0.58024e+03_rb,0.53816e+03_rb,0.56125e+03_rb,0.67117e+03_rb /) kbo(:, 1,20, 5) = (/ & & 0.71853e+03_rb,0.58105e+03_rb,0.53849e+03_rb,0.56134e+03_rb,0.67117e+03_rb /) kbo(:, 2,20, 5) = (/ & & 0.71720e+03_rb,0.58006e+03_rb,0.53788e+03_rb,0.56123e+03_rb,0.67117e+03_rb /) kbo(:, 3,20, 5) = (/ & & 0.71605e+03_rb,0.57919e+03_rb,0.53734e+03_rb,0.56114e+03_rb,0.67117e+03_rb /) kbo(:, 4,20, 5) = (/ & & 0.71504e+03_rb,0.57843e+03_rb,0.53687e+03_rb,0.56106e+03_rb,0.67117e+03_rb /) kbo(:, 5,20, 5) = (/ & & 0.71414e+03_rb,0.57776e+03_rb,0.53643e+03_rb,0.56098e+03_rb,0.67117e+03_rb /) kbo(:, 1,21, 5) = (/ & & 0.71499e+03_rb,0.57840e+03_rb,0.53667e+03_rb,0.56105e+03_rb,0.67117e+03_rb /) kbo(:, 2,21, 5) = (/ & & 0.71392e+03_rb,0.57759e+03_rb,0.53620e+03_rb,0.56097e+03_rb,0.67117e+03_rb /) kbo(:, 3,21, 5) = (/ & & 0.71299e+03_rb,0.57690e+03_rb,0.53578e+03_rb,0.56089e+03_rb,0.67117e+03_rb /) kbo(:, 4,21, 5) = (/ & & 0.71217e+03_rb,0.57628e+03_rb,0.53541e+03_rb,0.56083e+03_rb,0.67117e+03_rb /) kbo(:, 5,21, 5) = (/ & & 0.71145e+03_rb,0.57574e+03_rb,0.53506e+03_rb,0.56077e+03_rb,0.67117e+03_rb /) kbo(:, 1,22, 5) = (/ & & 0.71206e+03_rb,0.57620e+03_rb,0.53519e+03_rb,0.56082e+03_rb,0.67117e+03_rb /) kbo(:, 2,22, 5) = (/ & & 0.71120e+03_rb,0.57555e+03_rb,0.53482e+03_rb,0.56075e+03_rb,0.67117e+03_rb /) kbo(:, 3,22, 5) = (/ & & 0.71046e+03_rb,0.57500e+03_rb,0.53450e+03_rb,0.56069e+03_rb,0.67117e+03_rb /) kbo(:, 4,22, 5) = (/ & & 0.70981e+03_rb,0.57451e+03_rb,0.53420e+03_rb,0.56064e+03_rb,0.67117e+03_rb /) kbo(:, 5,22, 5) = (/ & & 0.70923e+03_rb,0.57408e+03_rb,0.53390e+03_rb,0.56059e+03_rb,0.67117e+03_rb /) kbo(:, 1,23, 5) = (/ & & 0.70968e+03_rb,0.57442e+03_rb,0.53396e+03_rb,0.56063e+03_rb,0.67117e+03_rb /) kbo(:, 2,23, 5) = (/ & & 0.70900e+03_rb,0.57391e+03_rb,0.53367e+03_rb,0.56057e+03_rb,0.67117e+03_rb /) kbo(:, 3,23, 5) = (/ & & 0.70841e+03_rb,0.57346e+03_rb,0.53341e+03_rb,0.56052e+03_rb,0.67117e+03_rb /) kbo(:, 4,23, 5) = (/ & & 0.70789e+03_rb,0.57307e+03_rb,0.53316e+03_rb,0.56048e+03_rb,0.67117e+03_rb /) kbo(:, 5,23, 5) = (/ & & 0.70743e+03_rb,0.57272e+03_rb,0.53290e+03_rb,0.56044e+03_rb,0.67117e+03_rb /) kbo(:, 1,24, 5) = (/ & & 0.70776e+03_rb,0.57298e+03_rb,0.53293e+03_rb,0.56047e+03_rb,0.67117e+03_rb /) kbo(:, 2,24, 5) = (/ & & 0.70722e+03_rb,0.57257e+03_rb,0.53269e+03_rb,0.56043e+03_rb,0.67117e+03_rb /) kbo(:, 3,24, 5) = (/ & & 0.70675e+03_rb,0.57222e+03_rb,0.53248e+03_rb,0.56039e+03_rb,0.67117e+03_rb /) kbo(:, 4,24, 5) = (/ & & 0.70633e+03_rb,0.57190e+03_rb,0.53228e+03_rb,0.56036e+03_rb,0.67117e+03_rb /) kbo(:, 5,24, 5) = (/ & & 0.70596e+03_rb,0.57163e+03_rb,0.53207e+03_rb,0.56033e+03_rb,0.67117e+03_rb /) kbo(:, 1,25, 5) = (/ & & 0.70621e+03_rb,0.57181e+03_rb,0.53206e+03_rb,0.56035e+03_rb,0.67117e+03_rb /) kbo(:, 2,25, 5) = (/ & & 0.70578e+03_rb,0.57149e+03_rb,0.53188e+03_rb,0.56031e+03_rb,0.67117e+03_rb /) kbo(:, 3,25, 5) = (/ & & 0.70541e+03_rb,0.57121e+03_rb,0.53172e+03_rb,0.56028e+03_rb,0.67117e+03_rb /) kbo(:, 4,25, 5) = (/ & & 0.70507e+03_rb,0.57096e+03_rb,0.53156e+03_rb,0.56025e+03_rb,0.67117e+03_rb /) kbo(:, 5,25, 5) = (/ & & 0.70478e+03_rb,0.57074e+03_rb,0.53138e+03_rb,0.56023e+03_rb,0.67117e+03_rb /) kbo(:, 1,26, 5) = (/ & & 0.70496e+03_rb,0.57087e+03_rb,0.53135e+03_rb,0.56024e+03_rb,0.67117e+03_rb /) kbo(:, 2,26, 5) = (/ & & 0.70461e+03_rb,0.57061e+03_rb,0.53122e+03_rb,0.56022e+03_rb,0.67117e+03_rb /) kbo(:, 3,26, 5) = (/ & & 0.70432e+03_rb,0.57039e+03_rb,0.53110e+03_rb,0.56019e+03_rb,0.67117e+03_rb /) kbo(:, 4,26, 5) = (/ & & 0.70405e+03_rb,0.57019e+03_rb,0.53097e+03_rb,0.56017e+03_rb,0.67117e+03_rb /) kbo(:, 5,26, 5) = (/ & & 0.70382e+03_rb,0.57001e+03_rb,0.53082e+03_rb,0.56015e+03_rb,0.67117e+03_rb /) kbo(:, 1,27, 5) = (/ & & 0.70394e+03_rb,0.57011e+03_rb,0.53077e+03_rb,0.56016e+03_rb,0.67117e+03_rb /) kbo(:, 2,27, 5) = (/ & & 0.70367e+03_rb,0.56991e+03_rb,0.53069e+03_rb,0.56014e+03_rb,0.67117e+03_rb /) kbo(:, 3,27, 5) = (/ & & 0.70343e+03_rb,0.56973e+03_rb,0.53060e+03_rb,0.56012e+03_rb,0.67117e+03_rb /) kbo(:, 4,27, 5) = (/ & & 0.70322e+03_rb,0.56957e+03_rb,0.53049e+03_rb,0.56010e+03_rb,0.67117e+03_rb /) kbo(:, 5,27, 5) = (/ & & 0.70304e+03_rb,0.56943e+03_rb,0.53036e+03_rb,0.56009e+03_rb,0.67117e+03_rb /) kbo(:, 1,28, 5) = (/ & & 0.70313e+03_rb,0.56950e+03_rb,0.53032e+03_rb,0.56010e+03_rb,0.67117e+03_rb /) kbo(:, 2,28, 5) = (/ & & 0.70291e+03_rb,0.56934e+03_rb,0.53026e+03_rb,0.56008e+03_rb,0.67117e+03_rb /) kbo(:, 3,28, 5) = (/ & & 0.70272e+03_rb,0.56920e+03_rb,0.53019e+03_rb,0.56006e+03_rb,0.67117e+03_rb /) kbo(:, 4,28, 5) = (/ & & 0.70256e+03_rb,0.56907e+03_rb,0.53010e+03_rb,0.56005e+03_rb,0.67117e+03_rb /) kbo(:, 5,28, 5) = (/ & & 0.70241e+03_rb,0.56896e+03_rb,0.52998e+03_rb,0.56004e+03_rb,0.67117e+03_rb /) kbo(:, 1,29, 5) = (/ & & 0.70247e+03_rb,0.56901e+03_rb,0.52995e+03_rb,0.56004e+03_rb,0.67117e+03_rb /) kbo(:, 2,29, 5) = (/ & & 0.70230e+03_rb,0.56888e+03_rb,0.52991e+03_rb,0.56003e+03_rb,0.67117e+03_rb /) kbo(:, 3,29, 5) = (/ & & 0.70215e+03_rb,0.56877e+03_rb,0.52985e+03_rb,0.56002e+03_rb,0.67117e+03_rb /) kbo(:, 4,29, 5) = (/ & & 0.70202e+03_rb,0.56867e+03_rb,0.52978e+03_rb,0.56001e+03_rb,0.67117e+03_rb /) kbo(:, 5,29, 5) = (/ & & 0.70190e+03_rb,0.56858e+03_rb,0.52967e+03_rb,0.56000e+03_rb,0.67117e+03_rb /) kbo(:, 1,30, 5) = (/ & & 0.70194e+03_rb,0.56861e+03_rb,0.52966e+03_rb,0.56000e+03_rb,0.67117e+03_rb /) kbo(:, 2,30, 5) = (/ & & 0.70181e+03_rb,0.56851e+03_rb,0.52963e+03_rb,0.55999e+03_rb,0.67117e+03_rb /) kbo(:, 3,30, 5) = (/ & & 0.70169e+03_rb,0.56842e+03_rb,0.52958e+03_rb,0.55998e+03_rb,0.67117e+03_rb /) kbo(:, 4,30, 5) = (/ & & 0.70158e+03_rb,0.56834e+03_rb,0.52951e+03_rb,0.55997e+03_rb,0.67117e+03_rb /) kbo(:, 5,30, 5) = (/ & & 0.70149e+03_rb,0.56827e+03_rb,0.52941e+03_rb,0.55996e+03_rb,0.67117e+03_rb /) kbo(:, 1,31, 5) = (/ & & 0.70151e+03_rb,0.56829e+03_rb,0.52942e+03_rb,0.55997e+03_rb,0.67117e+03_rb /) kbo(:, 2,31, 5) = (/ & & 0.70141e+03_rb,0.56821e+03_rb,0.52941e+03_rb,0.55996e+03_rb,0.67117e+03_rb /) kbo(:, 3,31, 5) = (/ & & 0.70131e+03_rb,0.56814e+03_rb,0.52936e+03_rb,0.55995e+03_rb,0.67117e+03_rb /) kbo(:, 4,31, 5) = (/ & & 0.70123e+03_rb,0.56807e+03_rb,0.52930e+03_rb,0.55994e+03_rb,0.67117e+03_rb /) kbo(:, 5,31, 5) = (/ & & 0.70115e+03_rb,0.56802e+03_rb,0.52920e+03_rb,0.55994e+03_rb,0.67117e+03_rb /) kbo(:, 1,32, 5) = (/ & & 0.70117e+03_rb,0.56803e+03_rb,0.52924e+03_rb,0.55994e+03_rb,0.67117e+03_rb /) kbo(:, 2,32, 5) = (/ & & 0.70109e+03_rb,0.56797e+03_rb,0.52922e+03_rb,0.55993e+03_rb,0.67117e+03_rb /) kbo(:, 3,32, 5) = (/ & & 0.70101e+03_rb,0.56791e+03_rb,0.52919e+03_rb,0.55993e+03_rb,0.67117e+03_rb /) kbo(:, 4,32, 5) = (/ & & 0.70094e+03_rb,0.56786e+03_rb,0.52912e+03_rb,0.55992e+03_rb,0.67117e+03_rb /) kbo(:, 5,32, 5) = (/ & & 0.70088e+03_rb,0.56782e+03_rb,0.52902e+03_rb,0.55992e+03_rb,0.67117e+03_rb /) kbo(:, 1,33, 5) = (/ & & 0.70090e+03_rb,0.56782e+03_rb,0.52908e+03_rb,0.55992e+03_rb,0.67117e+03_rb /) kbo(:, 2,33, 5) = (/ & & 0.70083e+03_rb,0.56777e+03_rb,0.52907e+03_rb,0.55991e+03_rb,0.67117e+03_rb /) kbo(:, 3,33, 5) = (/ & & 0.70077e+03_rb,0.56773e+03_rb,0.52904e+03_rb,0.55991e+03_rb,0.67117e+03_rb /) kbo(:, 4,33, 5) = (/ & & 0.70072e+03_rb,0.56769e+03_rb,0.52897e+03_rb,0.55990e+03_rb,0.67117e+03_rb /) kbo(:, 5,33, 5) = (/ & & 0.70067e+03_rb,0.56765e+03_rb,0.52887e+03_rb,0.55990e+03_rb,0.67117e+03_rb /) kbo(:, 1,34, 5) = (/ & & 0.70068e+03_rb,0.56766e+03_rb,0.52896e+03_rb,0.55990e+03_rb,0.67117e+03_rb /) kbo(:, 2,34, 5) = (/ & & 0.70062e+03_rb,0.56762e+03_rb,0.52895e+03_rb,0.55989e+03_rb,0.67117e+03_rb /) kbo(:, 3,34, 5) = (/ & & 0.70057e+03_rb,0.56758e+03_rb,0.52892e+03_rb,0.55989e+03_rb,0.67117e+03_rb /) kbo(:, 4,34, 5) = (/ & & 0.70053e+03_rb,0.56755e+03_rb,0.52885e+03_rb,0.55989e+03_rb,0.67117e+03_rb /) kbo(:, 5,34, 5) = (/ & & 0.70049e+03_rb,0.56752e+03_rb,0.52874e+03_rb,0.55988e+03_rb,0.67117e+03_rb /) kbo(:, 1,35, 5) = (/ & & 0.70050e+03_rb,0.56753e+03_rb,0.52886e+03_rb,0.55988e+03_rb,0.67117e+03_rb /) kbo(:, 2,35, 5) = (/ & & 0.70046e+03_rb,0.56750e+03_rb,0.52885e+03_rb,0.55988e+03_rb,0.67117e+03_rb /) kbo(:, 3,35, 5) = (/ & & 0.70042e+03_rb,0.56747e+03_rb,0.52883e+03_rb,0.55988e+03_rb,0.67117e+03_rb /) kbo(:, 4,35, 5) = (/ & & 0.70039e+03_rb,0.56744e+03_rb,0.52876e+03_rb,0.55988e+03_rb,0.67117e+03_rb /) kbo(:, 5,35, 5) = (/ & & 0.70035e+03_rb,0.56742e+03_rb,0.52864e+03_rb,0.55987e+03_rb,0.67117e+03_rb /) kbo(:, 1,36, 5) = (/ & & 0.70037e+03_rb,0.56743e+03_rb,0.52877e+03_rb,0.55987e+03_rb,0.67117e+03_rb /) kbo(:, 2,36, 5) = (/ & & 0.70033e+03_rb,0.56740e+03_rb,0.52878e+03_rb,0.55987e+03_rb,0.67117e+03_rb /) kbo(:, 3,36, 5) = (/ & & 0.70030e+03_rb,0.56738e+03_rb,0.52875e+03_rb,0.55987e+03_rb,0.67117e+03_rb /) kbo(:, 4,36, 5) = (/ & & 0.70027e+03_rb,0.56736e+03_rb,0.52869e+03_rb,0.55987e+03_rb,0.67117e+03_rb /) kbo(:, 5,36, 5) = (/ & & 0.70025e+03_rb,0.56734e+03_rb,0.52857e+03_rb,0.55986e+03_rb,0.67117e+03_rb /) kbo(:, 1,37, 5) = (/ & & 0.70026e+03_rb,0.56735e+03_rb,0.52870e+03_rb,0.55986e+03_rb,0.67117e+03_rb /) kbo(:, 2,37, 5) = (/ & & 0.70023e+03_rb,0.56733e+03_rb,0.52872e+03_rb,0.55986e+03_rb,0.67117e+03_rb /) kbo(:, 3,37, 5) = (/ & & 0.70020e+03_rb,0.56731e+03_rb,0.52870e+03_rb,0.55986e+03_rb,0.67117e+03_rb /) kbo(:, 4,37, 5) = (/ & & 0.70018e+03_rb,0.56729e+03_rb,0.52864e+03_rb,0.55986e+03_rb,0.67117e+03_rb /) kbo(:, 5,37, 5) = (/ & & 0.70016e+03_rb,0.56727e+03_rb,0.52854e+03_rb,0.55986e+03_rb,0.67117e+03_rb /) kbo(:, 1,38, 5) = (/ & & 0.70017e+03_rb,0.56728e+03_rb,0.52864e+03_rb,0.55986e+03_rb,0.67117e+03_rb /) kbo(:, 2,38, 5) = (/ & & 0.70015e+03_rb,0.56726e+03_rb,0.52866e+03_rb,0.55986e+03_rb,0.67117e+03_rb /) kbo(:, 3,38, 5) = (/ & & 0.70012e+03_rb,0.56725e+03_rb,0.52866e+03_rb,0.55985e+03_rb,0.67117e+03_rb /) kbo(:, 4,38, 5) = (/ & & 0.70010e+03_rb,0.56723e+03_rb,0.52860e+03_rb,0.55985e+03_rb,0.67117e+03_rb /) kbo(:, 5,38, 5) = (/ & & 0.70009e+03_rb,0.56722e+03_rb,0.52852e+03_rb,0.55985e+03_rb,0.67117e+03_rb /) kbo(:, 1,39, 5) = (/ & & 0.70010e+03_rb,0.56723e+03_rb,0.52860e+03_rb,0.55985e+03_rb,0.67117e+03_rb /) kbo(:, 2,39, 5) = (/ & & 0.70008e+03_rb,0.56721e+03_rb,0.52862e+03_rb,0.55985e+03_rb,0.67117e+03_rb /) kbo(:, 3,39, 5) = (/ & & 0.70006e+03_rb,0.56720e+03_rb,0.52861e+03_rb,0.55985e+03_rb,0.67117e+03_rb /) kbo(:, 4,39, 5) = (/ & & 0.70004e+03_rb,0.56719e+03_rb,0.52858e+03_rb,0.55985e+03_rb,0.67117e+03_rb /) kbo(:, 5,39, 5) = (/ & & 0.70003e+03_rb,0.56717e+03_rb,0.52850e+03_rb,0.55985e+03_rb,0.67117e+03_rb /) kbo(:, 1,40, 5) = (/ & & 0.70004e+03_rb,0.56718e+03_rb,0.52855e+03_rb,0.55985e+03_rb,0.67117e+03_rb /) kbo(:, 2,40, 5) = (/ & & 0.70002e+03_rb,0.56717e+03_rb,0.52858e+03_rb,0.55985e+03_rb,0.67117e+03_rb /) kbo(:, 3,40, 5) = (/ & & 0.70001e+03_rb,0.56716e+03_rb,0.52859e+03_rb,0.55984e+03_rb,0.67117e+03_rb /) kbo(:, 4,40, 5) = (/ & & 0.69999e+03_rb,0.56715e+03_rb,0.52856e+03_rb,0.55984e+03_rb,0.67117e+03_rb /) kbo(:, 5,40, 5) = (/ & & 0.69998e+03_rb,0.56714e+03_rb,0.52849e+03_rb,0.55984e+03_rb,0.67117e+03_rb /) kbo(:, 1,41, 5) = (/ & & 0.69999e+03_rb,0.56715e+03_rb,0.52850e+03_rb,0.55984e+03_rb,0.67117e+03_rb /) kbo(:, 2,41, 5) = (/ & & 0.69998e+03_rb,0.56714e+03_rb,0.52854e+03_rb,0.55984e+03_rb,0.67117e+03_rb /) kbo(:, 3,41, 5) = (/ & & 0.69996e+03_rb,0.56713e+03_rb,0.52856e+03_rb,0.55984e+03_rb,0.67117e+03_rb /) kbo(:, 4,41, 5) = (/ & & 0.69995e+03_rb,0.56712e+03_rb,0.52854e+03_rb,0.55984e+03_rb,0.67117e+03_rb /) kbo(:, 5,41, 5) = (/ & & 0.69994e+03_rb,0.56711e+03_rb,0.52848e+03_rb,0.55984e+03_rb,0.67117e+03_rb /) kbo(:, 1,42, 5) = (/ & & 0.69995e+03_rb,0.56712e+03_rb,0.52846e+03_rb,0.55984e+03_rb,0.67117e+03_rb /) kbo(:, 2,42, 5) = (/ & & 0.69994e+03_rb,0.56711e+03_rb,0.52851e+03_rb,0.55984e+03_rb,0.67117e+03_rb /) kbo(:, 3,42, 5) = (/ & & 0.69993e+03_rb,0.56710e+03_rb,0.52853e+03_rb,0.55984e+03_rb,0.67117e+03_rb /) kbo(:, 4,42, 5) = (/ & & 0.69992e+03_rb,0.56709e+03_rb,0.52853e+03_rb,0.55984e+03_rb,0.67117e+03_rb /) kbo(:, 5,42, 5) = (/ & & 0.69991e+03_rb,0.56709e+03_rb,0.52848e+03_rb,0.55984e+03_rb,0.67117e+03_rb /) kbo(:, 1,43, 5) = (/ & & 0.69992e+03_rb,0.56709e+03_rb,0.52843e+03_rb,0.55984e+03_rb,0.67117e+03_rb /) kbo(:, 2,43, 5) = (/ & & 0.69991e+03_rb,0.56708e+03_rb,0.52848e+03_rb,0.55984e+03_rb,0.67117e+03_rb /) kbo(:, 3,43, 5) = (/ & & 0.69990e+03_rb,0.56708e+03_rb,0.52851e+03_rb,0.55984e+03_rb,0.67117e+03_rb /) kbo(:, 4,43, 5) = (/ & & 0.69989e+03_rb,0.56707e+03_rb,0.52851e+03_rb,0.55984e+03_rb,0.67117e+03_rb /) kbo(:, 5,43, 5) = (/ & & 0.69988e+03_rb,0.56707e+03_rb,0.52848e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 1,44, 5) = (/ & & 0.69989e+03_rb,0.56707e+03_rb,0.52838e+03_rb,0.55984e+03_rb,0.67117e+03_rb /) kbo(:, 2,44, 5) = (/ & & 0.69988e+03_rb,0.56707e+03_rb,0.52844e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 3,44, 5) = (/ & & 0.69988e+03_rb,0.56706e+03_rb,0.52848e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 4,44, 5) = (/ & & 0.69987e+03_rb,0.56705e+03_rb,0.52850e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 5,44, 5) = (/ & & 0.69986e+03_rb,0.56705e+03_rb,0.52849e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 1,45, 5) = (/ & & 0.69987e+03_rb,0.56706e+03_rb,0.52834e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 2,45, 5) = (/ & & 0.69986e+03_rb,0.56705e+03_rb,0.52841e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 3,45, 5) = (/ & & 0.69986e+03_rb,0.56704e+03_rb,0.52846e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 4,45, 5) = (/ & & 0.69985e+03_rb,0.56704e+03_rb,0.52848e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 5,45, 5) = (/ & & 0.69984e+03_rb,0.56704e+03_rb,0.52848e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 1,46, 5) = (/ & & 0.69985e+03_rb,0.56704e+03_rb,0.52830e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 2,46, 5) = (/ & & 0.69984e+03_rb,0.56704e+03_rb,0.52837e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 3,46, 5) = (/ & & 0.69984e+03_rb,0.56703e+03_rb,0.52843e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 4,46, 5) = (/ & & 0.69983e+03_rb,0.56703e+03_rb,0.52847e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 5,46, 5) = (/ & & 0.69983e+03_rb,0.56703e+03_rb,0.52848e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 1,47, 5) = (/ & & 0.69984e+03_rb,0.56703e+03_rb,0.52826e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 2,47, 5) = (/ & & 0.69983e+03_rb,0.56703e+03_rb,0.52834e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 3,47, 5) = (/ & & 0.69982e+03_rb,0.56702e+03_rb,0.52840e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 4,47, 5) = (/ & & 0.69982e+03_rb,0.56702e+03_rb,0.52845e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 5,47, 5) = (/ & & 0.69982e+03_rb,0.56702e+03_rb,0.52847e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 1,48, 5) = (/ & & 0.69982e+03_rb,0.56702e+03_rb,0.52821e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 2,48, 5) = (/ & & 0.69982e+03_rb,0.56702e+03_rb,0.52830e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 3,48, 5) = (/ & & 0.69981e+03_rb,0.56701e+03_rb,0.52837e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 4,48, 5) = (/ & & 0.69981e+03_rb,0.56701e+03_rb,0.52842e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 5,48, 5) = (/ & & 0.69981e+03_rb,0.56701e+03_rb,0.52845e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 1,49, 5) = (/ & & 0.69981e+03_rb,0.56701e+03_rb,0.52817e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 2,49, 5) = (/ & & 0.69981e+03_rb,0.56701e+03_rb,0.52825e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 3,49, 5) = (/ & & 0.69980e+03_rb,0.56701e+03_rb,0.52833e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 4,49, 5) = (/ & & 0.69980e+03_rb,0.56700e+03_rb,0.52840e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 5,49, 5) = (/ & & 0.69980e+03_rb,0.56700e+03_rb,0.52844e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 1,50, 5) = (/ & & 0.69980e+03_rb,0.56701e+03_rb,0.52812e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 2,50, 5) = (/ & & 0.69980e+03_rb,0.56700e+03_rb,0.52821e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 3,50, 5) = (/ & & 0.69980e+03_rb,0.56700e+03_rb,0.52830e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 4,50, 5) = (/ & & 0.69979e+03_rb,0.56700e+03_rb,0.52837e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 5,50, 5) = (/ & & 0.69979e+03_rb,0.56700e+03_rb,0.52842e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 1,51, 5) = (/ & & 0.69979e+03_rb,0.56700e+03_rb,0.52807e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 2,51, 5) = (/ & & 0.69979e+03_rb,0.56700e+03_rb,0.52818e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 3,51, 5) = (/ & & 0.69979e+03_rb,0.56699e+03_rb,0.52827e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 4,51, 5) = (/ & & 0.69979e+03_rb,0.56699e+03_rb,0.52834e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 5,51, 5) = (/ & & 0.69978e+03_rb,0.56699e+03_rb,0.52841e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 1,52, 5) = (/ & & 0.69979e+03_rb,0.56699e+03_rb,0.52802e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 2,52, 5) = (/ & & 0.69979e+03_rb,0.56699e+03_rb,0.52814e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 3,52, 5) = (/ & & 0.69978e+03_rb,0.56699e+03_rb,0.52823e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 4,52, 5) = (/ & & 0.69978e+03_rb,0.56699e+03_rb,0.52831e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 5,52, 5) = (/ & & 0.69978e+03_rb,0.56699e+03_rb,0.52838e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 1,53, 5) = (/ & & 0.69978e+03_rb,0.56699e+03_rb,0.52798e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 2,53, 5) = (/ & & 0.69978e+03_rb,0.56699e+03_rb,0.52809e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 3,53, 5) = (/ & & 0.69978e+03_rb,0.56699e+03_rb,0.52820e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 4,53, 5) = (/ & & 0.69978e+03_rb,0.56699e+03_rb,0.52828e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 5,53, 5) = (/ & & 0.69977e+03_rb,0.56698e+03_rb,0.52836e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 1,54, 5) = (/ & & 0.69978e+03_rb,0.56699e+03_rb,0.52794e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 2,54, 5) = (/ & & 0.69978e+03_rb,0.56699e+03_rb,0.52804e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 3,54, 5) = (/ & & 0.69977e+03_rb,0.56698e+03_rb,0.52816e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 4,54, 5) = (/ & & 0.69977e+03_rb,0.56698e+03_rb,0.52825e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 5,54, 5) = (/ & & 0.69977e+03_rb,0.56698e+03_rb,0.52833e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 1,55, 5) = (/ & & 0.69977e+03_rb,0.56698e+03_rb,0.52790e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 2,55, 5) = (/ & & 0.69977e+03_rb,0.56698e+03_rb,0.52801e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 3,55, 5) = (/ & & 0.69977e+03_rb,0.56698e+03_rb,0.52812e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 4,55, 5) = (/ & & 0.69977e+03_rb,0.56698e+03_rb,0.52822e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 5,55, 5) = (/ & & 0.69977e+03_rb,0.56698e+03_rb,0.52830e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 1,56, 5) = (/ & & 0.69977e+03_rb,0.56698e+03_rb,0.52786e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 2,56, 5) = (/ & & 0.69977e+03_rb,0.56698e+03_rb,0.52797e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 3,56, 5) = (/ & & 0.69977e+03_rb,0.56698e+03_rb,0.52808e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 4,56, 5) = (/ & & 0.69977e+03_rb,0.56698e+03_rb,0.52819e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 5,56, 5) = (/ & & 0.69977e+03_rb,0.56698e+03_rb,0.52827e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 1,57, 5) = (/ & & 0.69977e+03_rb,0.56698e+03_rb,0.52781e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 2,57, 5) = (/ & & 0.69977e+03_rb,0.56698e+03_rb,0.52794e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 3,57, 5) = (/ & & 0.69977e+03_rb,0.56698e+03_rb,0.52805e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 4,57, 5) = (/ & & 0.69976e+03_rb,0.56698e+03_rb,0.52815e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 5,57, 5) = (/ & & 0.69976e+03_rb,0.56698e+03_rb,0.52825e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 1,58, 5) = (/ & & 0.69977e+03_rb,0.56698e+03_rb,0.52777e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 2,58, 5) = (/ & & 0.69976e+03_rb,0.56698e+03_rb,0.52790e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 3,58, 5) = (/ & & 0.69976e+03_rb,0.56698e+03_rb,0.52801e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 4,58, 5) = (/ & & 0.69976e+03_rb,0.56698e+03_rb,0.52812e+03_rb,0.55982e+03_rb,0.67117e+03_rb /) kbo(:, 5,58, 5) = (/ & & 0.69976e+03_rb,0.56697e+03_rb,0.52822e+03_rb,0.55982e+03_rb,0.67117e+03_rb /) kbo(:, 1,59, 5) = (/ & & 0.69976e+03_rb,0.56698e+03_rb,0.52775e+03_rb,0.55983e+03_rb,0.67117e+03_rb /) kbo(:, 2,59, 5) = (/ & & 0.69976e+03_rb,0.56698e+03_rb,0.52788e+03_rb,0.55982e+03_rb,0.67117e+03_rb /) kbo(:, 3,59, 5) = (/ & & 0.69976e+03_rb,0.56697e+03_rb,0.52801e+03_rb,0.55982e+03_rb,0.67117e+03_rb /) kbo(:, 4,59, 5) = (/ & & 0.69976e+03_rb,0.56697e+03_rb,0.52811e+03_rb,0.55982e+03_rb,0.67117e+03_rb /) kbo(:, 5,59, 5) = (/ & & 0.69976e+03_rb,0.56697e+03_rb,0.52821e+03_rb,0.55982e+03_rb,0.67117e+03_rb /) kbo(:, 1,13, 6) = (/ & & 0.99182e+03_rb,0.76479e+03_rb,0.58123e+03_rb,0.73928e+03_rb,0.94808e+03_rb /) kbo(:, 2,13, 6) = (/ & & 0.98417e+03_rb,0.75904e+03_rb,0.57888e+03_rb,0.73991e+03_rb,0.94920e+03_rb /) kbo(:, 3,13, 6) = (/ & & 0.97757e+03_rb,0.75410e+03_rb,0.57650e+03_rb,0.74029e+03_rb,0.94995e+03_rb /) kbo(:, 4,13, 6) = (/ & & 0.97184e+03_rb,0.74980e+03_rb,0.57428e+03_rb,0.74046e+03_rb,0.95033e+03_rb /) kbo(:, 5,13, 6) = (/ & & 0.96680e+03_rb,0.74602e+03_rb,0.57217e+03_rb,0.74043e+03_rb,0.95033e+03_rb /) kbo(:, 1,14, 6) = (/ & & 0.97264e+03_rb,0.75040e+03_rb,0.57482e+03_rb,0.73884e+03_rb,0.94820e+03_rb /) kbo(:, 2,14, 6) = (/ & & 0.96646e+03_rb,0.74576e+03_rb,0.57229e+03_rb,0.73949e+03_rb,0.94928e+03_rb /) kbo(:, 3,14, 6) = (/ & & 0.96113e+03_rb,0.74177e+03_rb,0.57016e+03_rb,0.73988e+03_rb,0.95000e+03_rb /) kbo(:, 4,14, 6) = (/ & & 0.95649e+03_rb,0.73829e+03_rb,0.56822e+03_rb,0.74006e+03_rb,0.95035e+03_rb /) kbo(:, 5,14, 6) = (/ & & 0.95242e+03_rb,0.73523e+03_rb,0.56635e+03_rb,0.74003e+03_rb,0.95032e+03_rb /) kbo(:, 1,15, 6) = (/ & & 0.95700e+03_rb,0.73867e+03_rb,0.56844e+03_rb,0.73851e+03_rb,0.94832e+03_rb /) kbo(:, 2,15, 6) = (/ & & 0.95201e+03_rb,0.73493e+03_rb,0.56632e+03_rb,0.73916e+03_rb,0.94937e+03_rb /) kbo(:, 3,15, 6) = (/ & & 0.94772e+03_rb,0.73170e+03_rb,0.56426e+03_rb,0.73956e+03_rb,0.95005e+03_rb /) kbo(:, 4,15, 6) = (/ & & 0.94397e+03_rb,0.72889e+03_rb,0.56242e+03_rb,0.73973e+03_rb,0.95035e+03_rb /) kbo(:, 5,15, 6) = (/ & & 0.94067e+03_rb,0.72642e+03_rb,0.56076e+03_rb,0.73970e+03_rb,0.95029e+03_rb /) kbo(:, 1,16, 6) = (/ & & 0.94427e+03_rb,0.72912e+03_rb,0.56257e+03_rb,0.73826e+03_rb,0.94846e+03_rb /) kbo(:, 2,16, 6) = (/ & & 0.94026e+03_rb,0.72611e+03_rb,0.56064e+03_rb,0.73891e+03_rb,0.94946e+03_rb /) kbo(:, 3,16, 6) = (/ & & 0.93679e+03_rb,0.72351e+03_rb,0.55906e+03_rb,0.73929e+03_rb,0.95011e+03_rb /) kbo(:, 4,16, 6) = (/ & & 0.93377e+03_rb,0.72124e+03_rb,0.55770e+03_rb,0.73948e+03_rb,0.95036e+03_rb /) kbo(:, 5,16, 6) = (/ & & 0.93110e+03_rb,0.71925e+03_rb,0.55641e+03_rb,0.73943e+03_rb,0.95027e+03_rb /) kbo(:, 1,17, 6) = (/ & & 0.93395e+03_rb,0.72138e+03_rb,0.55755e+03_rb,0.73807e+03_rb,0.94857e+03_rb /) kbo(:, 2,17, 6) = (/ & & 0.93072e+03_rb,0.71896e+03_rb,0.55622e+03_rb,0.73871e+03_rb,0.94955e+03_rb /) kbo(:, 3,17, 6) = (/ & & 0.92792e+03_rb,0.71686e+03_rb,0.55497e+03_rb,0.73909e+03_rb,0.95015e+03_rb /) kbo(:, 4,17, 6) = (/ & & 0.92548e+03_rb,0.71503e+03_rb,0.55372e+03_rb,0.73925e+03_rb,0.95038e+03_rb /) kbo(:, 5,17, 6) = (/ & & 0.92333e+03_rb,0.71341e+03_rb,0.55252e+03_rb,0.73921e+03_rb,0.95024e+03_rb /) kbo(:, 1,18, 6) = (/ & & 0.92558e+03_rb,0.71510e+03_rb,0.55360e+03_rb,0.73792e+03_rb,0.94869e+03_rb /) kbo(:, 2,18, 6) = (/ & & 0.92297e+03_rb,0.71315e+03_rb,0.55237e+03_rb,0.73856e+03_rb,0.94963e+03_rb /) kbo(:, 3,18, 6) = (/ & & 0.92072e+03_rb,0.71146e+03_rb,0.55114e+03_rb,0.73892e+03_rb,0.95019e+03_rb /) kbo(:, 4,18, 6) = (/ & & 0.91874e+03_rb,0.70998e+03_rb,0.55001e+03_rb,0.73908e+03_rb,0.95037e+03_rb /) kbo(:, 5,18, 6) = (/ & & 0.91700e+03_rb,0.70867e+03_rb,0.54903e+03_rb,0.73903e+03_rb,0.95021e+03_rb /) kbo(:, 1,19, 6) = (/ & & 0.91879e+03_rb,0.71001e+03_rb,0.55004e+03_rb,0.73782e+03_rb,0.94880e+03_rb /) kbo(:, 2,19, 6) = (/ & & 0.91668e+03_rb,0.70843e+03_rb,0.54889e+03_rb,0.73844e+03_rb,0.94970e+03_rb /) kbo(:, 3,19, 6) = (/ & & 0.91486e+03_rb,0.70706e+03_rb,0.54830e+03_rb,0.73880e+03_rb,0.95023e+03_rb /) kbo(:, 4,19, 6) = (/ & & 0.91327e+03_rb,0.70587e+03_rb,0.54705e+03_rb,0.73894e+03_rb,0.95037e+03_rb /) kbo(:, 5,19, 6) = (/ & & 0.91186e+03_rb,0.70481e+03_rb,0.54615e+03_rb,0.73887e+03_rb,0.95019e+03_rb /) kbo(:, 1,20, 6) = (/ & & 0.91324e+03_rb,0.70585e+03_rb,0.54718e+03_rb,0.73776e+03_rb,0.94893e+03_rb /) kbo(:, 2,20, 6) = (/ & & 0.91155e+03_rb,0.70458e+03_rb,0.54599e+03_rb,0.73835e+03_rb,0.94979e+03_rb /) kbo(:, 3,20, 6) = (/ & & 0.91008e+03_rb,0.70348e+03_rb,0.54519e+03_rb,0.73870e+03_rb,0.95026e+03_rb /) kbo(:, 4,20, 6) = (/ & & 0.90879e+03_rb,0.70251e+03_rb,0.54450e+03_rb,0.73882e+03_rb,0.95036e+03_rb /) kbo(:, 5,20, 6) = (/ & & 0.90766e+03_rb,0.70166e+03_rb,0.54390e+03_rb,0.73874e+03_rb,0.95013e+03_rb /) kbo(:, 1,21, 6) = (/ & & 0.90874e+03_rb,0.70247e+03_rb,0.54444e+03_rb,0.73773e+03_rb,0.94905e+03_rb /) kbo(:, 2,21, 6) = (/ & & 0.90737e+03_rb,0.70145e+03_rb,0.54370e+03_rb,0.73831e+03_rb,0.94986e+03_rb /) kbo(:, 3,21, 6) = (/ & & 0.90619e+03_rb,0.70056e+03_rb,0.54308e+03_rb,0.73862e+03_rb,0.95029e+03_rb /) kbo(:, 4,21, 6) = (/ & & 0.90515e+03_rb,0.69978e+03_rb,0.54255e+03_rb,0.73872e+03_rb,0.95035e+03_rb /) kbo(:, 5,21, 6) = (/ & & 0.90424e+03_rb,0.69910e+03_rb,0.54208e+03_rb,0.73862e+03_rb,0.95008e+03_rb /) kbo(:, 1,22, 6) = (/ & & 0.90500e+03_rb,0.69967e+03_rb,0.54240e+03_rb,0.73776e+03_rb,0.94923e+03_rb /) kbo(:, 2,22, 6) = (/ & & 0.90392e+03_rb,0.69886e+03_rb,0.54185e+03_rb,0.73829e+03_rb,0.94997e+03_rb /) kbo(:, 3,22, 6) = (/ & & 0.90297e+03_rb,0.69815e+03_rb,0.54138e+03_rb,0.73857e+03_rb,0.95033e+03_rb /) kbo(:, 4,22, 6) = (/ & & 0.90215e+03_rb,0.69753e+03_rb,0.54099e+03_rb,0.73864e+03_rb,0.95033e+03_rb /) kbo(:, 5,22, 6) = (/ & & 0.90141e+03_rb,0.69698e+03_rb,0.54066e+03_rb,0.73851e+03_rb,0.94999e+03_rb /) kbo(:, 1,23, 6) = (/ & & 0.90199e+03_rb,0.69741e+03_rb,0.54083e+03_rb,0.73780e+03_rb,0.94940e+03_rb /) kbo(:, 2,23, 6) = (/ & & 0.90112e+03_rb,0.69676e+03_rb,0.54044e+03_rb,0.73828e+03_rb,0.95007e+03_rb /) kbo(:, 3,23, 6) = (/ & & 0.90037e+03_rb,0.69620e+03_rb,0.54010e+03_rb,0.73854e+03_rb,0.95036e+03_rb /) kbo(:, 4,23, 6) = (/ & & 0.89971e+03_rb,0.69570e+03_rb,0.53983e+03_rb,0.73858e+03_rb,0.95029e+03_rb /) kbo(:, 5,23, 6) = (/ & & 0.89912e+03_rb,0.69526e+03_rb,0.53959e+03_rb,0.73840e+03_rb,0.94989e+03_rb /) kbo(:, 1,24, 6) = (/ & & 0.89955e+03_rb,0.69558e+03_rb,0.53965e+03_rb,0.73787e+03_rb,0.94957e+03_rb /) kbo(:, 2,24, 6) = (/ & & 0.89886e+03_rb,0.69507e+03_rb,0.53937e+03_rb,0.73829e+03_rb,0.95016e+03_rb /) kbo(:, 3,24, 6) = (/ & & 0.89826e+03_rb,0.69461e+03_rb,0.53914e+03_rb,0.73851e+03_rb,0.95038e+03_rb /) kbo(:, 4,24, 6) = (/ & & 0.89773e+03_rb,0.69422e+03_rb,0.53895e+03_rb,0.73850e+03_rb,0.95023e+03_rb /) kbo(:, 5,24, 6) = (/ & & 0.89726e+03_rb,0.69387e+03_rb,0.53876e+03_rb,0.73829e+03_rb,0.94977e+03_rb /) kbo(:, 1,25, 6) = (/ & & 0.89758e+03_rb,0.69410e+03_rb,0.53876e+03_rb,0.73792e+03_rb,0.94973e+03_rb /) kbo(:, 2,25, 6) = (/ & & 0.89703e+03_rb,0.69369e+03_rb,0.53857e+03_rb,0.73831e+03_rb,0.95024e+03_rb /) kbo(:, 3,25, 6) = (/ & & 0.89655e+03_rb,0.69333e+03_rb,0.53841e+03_rb,0.73848e+03_rb,0.95037e+03_rb /) kbo(:, 4,25, 6) = (/ & & 0.89613e+03_rb,0.69302e+03_rb,0.53826e+03_rb,0.73843e+03_rb,0.95016e+03_rb /) kbo(:, 5,25, 6) = (/ & & 0.89576e+03_rb,0.69273e+03_rb,0.53811e+03_rb,0.73818e+03_rb,0.94963e+03_rb /) kbo(:, 1,26, 6) = (/ & & 0.89598e+03_rb,0.69290e+03_rb,0.53808e+03_rb,0.73799e+03_rb,0.94987e+03_rb /) kbo(:, 2,26, 6) = (/ & & 0.89555e+03_rb,0.69258e+03_rb,0.53794e+03_rb,0.73834e+03_rb,0.95030e+03_rb /) kbo(:, 3,26, 6) = (/ & & 0.89517e+03_rb,0.69229e+03_rb,0.53782e+03_rb,0.73845e+03_rb,0.95035e+03_rb /) kbo(:, 4,26, 6) = (/ & & 0.89483e+03_rb,0.69204e+03_rb,0.53770e+03_rb,0.73836e+03_rb,0.95007e+03_rb /) kbo(:, 5,26, 6) = (/ & & 0.89453e+03_rb,0.69182e+03_rb,0.53759e+03_rb,0.73806e+03_rb,0.94946e+03_rb /) kbo(:, 1,27, 6) = (/ & & 0.89469e+03_rb,0.69194e+03_rb,0.53754e+03_rb,0.73806e+03_rb,0.95001e+03_rb /) kbo(:, 2,27, 6) = (/ & & 0.89435e+03_rb,0.69168e+03_rb,0.53744e+03_rb,0.73835e+03_rb,0.95034e+03_rb /) kbo(:, 3,27, 6) = (/ & & 0.89405e+03_rb,0.69145e+03_rb,0.53736e+03_rb,0.73843e+03_rb,0.95031e+03_rb /) kbo(:, 4,27, 6) = (/ & & 0.89378e+03_rb,0.69125e+03_rb,0.53727e+03_rb,0.73828e+03_rb,0.94995e+03_rb /) kbo(:, 5,27, 6) = (/ & & 0.89354e+03_rb,0.69107e+03_rb,0.53717e+03_rb,0.73792e+03_rb,0.94926e+03_rb /) kbo(:, 1,28, 6) = (/ & & 0.89366e+03_rb,0.69116e+03_rb,0.53711e+03_rb,0.73814e+03_rb,0.95012e+03_rb /) kbo(:, 2,28, 6) = (/ & & 0.89338e+03_rb,0.69096e+03_rb,0.53705e+03_rb,0.73836e+03_rb,0.95037e+03_rb /) kbo(:, 3,28, 6) = (/ & & 0.89314e+03_rb,0.69078e+03_rb,0.53699e+03_rb,0.73838e+03_rb,0.95026e+03_rb /) kbo(:, 4,28, 6) = (/ & & 0.89293e+03_rb,0.69062e+03_rb,0.53692e+03_rb,0.73819e+03_rb,0.94982e+03_rb /) kbo(:, 5,28, 6) = (/ & & 0.89274e+03_rb,0.69047e+03_rb,0.53684e+03_rb,0.73778e+03_rb,0.94904e+03_rb /) kbo(:, 1,29, 6) = (/ & & 0.89282e+03_rb,0.69053e+03_rb,0.53678e+03_rb,0.73818e+03_rb,0.95022e+03_rb /) kbo(:, 2,29, 6) = (/ & & 0.89261e+03_rb,0.69037e+03_rb,0.53674e+03_rb,0.73837e+03_rb,0.95037e+03_rb /) kbo(:, 3,29, 6) = (/ & & 0.89241e+03_rb,0.69023e+03_rb,0.53670e+03_rb,0.73834e+03_rb,0.95018e+03_rb /) kbo(:, 4,29, 6) = (/ & & 0.89224e+03_rb,0.69010e+03_rb,0.53663e+03_rb,0.73810e+03_rb,0.94966e+03_rb /) kbo(:, 5,29, 6) = (/ & & 0.89209e+03_rb,0.68999e+03_rb,0.53656e+03_rb,0.73762e+03_rb,0.94880e+03_rb /) kbo(:, 1,30, 6) = (/ & & 0.89215e+03_rb,0.69003e+03_rb,0.53652e+03_rb,0.73823e+03_rb,0.95029e+03_rb /) kbo(:, 2,30, 6) = (/ & & 0.89198e+03_rb,0.68990e+03_rb,0.53650e+03_rb,0.73836e+03_rb,0.95035e+03_rb /) kbo(:, 3,30, 6) = (/ & & 0.89183e+03_rb,0.68979e+03_rb,0.53646e+03_rb,0.73828e+03_rb,0.95008e+03_rb /) kbo(:, 4,30, 6) = (/ & & 0.89169e+03_rb,0.68969e+03_rb,0.53641e+03_rb,0.73798e+03_rb,0.94948e+03_rb /) kbo(:, 5,30, 6) = (/ & & 0.89157e+03_rb,0.68960e+03_rb,0.53634e+03_rb,0.73744e+03_rb,0.94852e+03_rb /) kbo(:, 1,31, 6) = (/ & & 0.89161e+03_rb,0.68962e+03_rb,0.53631e+03_rb,0.73827e+03_rb,0.95034e+03_rb /) kbo(:, 2,31, 6) = (/ & & 0.89147e+03_rb,0.68952e+03_rb,0.53629e+03_rb,0.73835e+03_rb,0.95031e+03_rb /) kbo(:, 3,31, 6) = (/ & & 0.89135e+03_rb,0.68943e+03_rb,0.53627e+03_rb,0.73821e+03_rb,0.94996e+03_rb /) kbo(:, 4,31, 6) = (/ & & 0.89124e+03_rb,0.68935e+03_rb,0.53622e+03_rb,0.73786e+03_rb,0.94927e+03_rb /) kbo(:, 5,31, 6) = (/ & & 0.89115e+03_rb,0.68928e+03_rb,0.53615e+03_rb,0.73725e+03_rb,0.94822e+03_rb /) kbo(:, 1,32, 6) = (/ & & 0.89117e+03_rb,0.68930e+03_rb,0.53614e+03_rb,0.73830e+03_rb,0.95037e+03_rb /) kbo(:, 2,32, 6) = (/ & & 0.89106e+03_rb,0.68922e+03_rb,0.53614e+03_rb,0.73833e+03_rb,0.95025e+03_rb /) kbo(:, 3,32, 6) = (/ & & 0.89097e+03_rb,0.68914e+03_rb,0.53611e+03_rb,0.73813e+03_rb,0.94981e+03_rb /) kbo(:, 4,32, 6) = (/ & & 0.89088e+03_rb,0.68908e+03_rb,0.53608e+03_rb,0.73772e+03_rb,0.94903e+03_rb /) kbo(:, 5,32, 6) = (/ & & 0.89081e+03_rb,0.68902e+03_rb,0.53600e+03_rb,0.73703e+03_rb,0.94789e+03_rb /) kbo(:, 1,33, 6) = (/ & & 0.89082e+03_rb,0.68903e+03_rb,0.53602e+03_rb,0.73832e+03_rb,0.95037e+03_rb /) kbo(:, 2,33, 6) = (/ & & 0.89073e+03_rb,0.68897e+03_rb,0.53601e+03_rb,0.73829e+03_rb,0.95017e+03_rb /) kbo(:, 3,33, 6) = (/ & & 0.89066e+03_rb,0.68891e+03_rb,0.53599e+03_rb,0.73804e+03_rb,0.94964e+03_rb /) kbo(:, 4,33, 6) = (/ & & 0.89059e+03_rb,0.68886e+03_rb,0.53595e+03_rb,0.73756e+03_rb,0.94877e+03_rb /) kbo(:, 5,33, 6) = (/ & & 0.89053e+03_rb,0.68882e+03_rb,0.53586e+03_rb,0.73678e+03_rb,0.94753e+03_rb /) kbo(:, 1,34, 6) = (/ & & 0.89054e+03_rb,0.68882e+03_rb,0.53592e+03_rb,0.73832e+03_rb,0.95035e+03_rb /) kbo(:, 2,34, 6) = (/ & & 0.89047e+03_rb,0.68877e+03_rb,0.53592e+03_rb,0.73824e+03_rb,0.95008e+03_rb /) kbo(:, 3,34, 6) = (/ & & 0.89041e+03_rb,0.68873e+03_rb,0.53589e+03_rb,0.73795e+03_rb,0.94947e+03_rb /) kbo(:, 4,34, 6) = (/ & & 0.89036e+03_rb,0.68869e+03_rb,0.53584e+03_rb,0.73741e+03_rb,0.94852e+03_rb /) kbo(:, 5,34, 6) = (/ & & 0.89031e+03_rb,0.68865e+03_rb,0.53575e+03_rb,0.73655e+03_rb,0.94719e+03_rb /) kbo(:, 1,35, 6) = (/ & & 0.89032e+03_rb,0.68866e+03_rb,0.53584e+03_rb,0.73832e+03_rb,0.95034e+03_rb /) kbo(:, 2,35, 6) = (/ & & 0.89027e+03_rb,0.68862e+03_rb,0.53584e+03_rb,0.73821e+03_rb,0.95002e+03_rb /) kbo(:, 3,35, 6) = (/ & & 0.89022e+03_rb,0.68858e+03_rb,0.53581e+03_rb,0.73788e+03_rb,0.94937e+03_rb /) kbo(:, 4,35, 6) = (/ & & 0.89017e+03_rb,0.68855e+03_rb,0.53576e+03_rb,0.73731e+03_rb,0.94836e+03_rb /) kbo(:, 5,35, 6) = (/ & & 0.89013e+03_rb,0.68852e+03_rb,0.53567e+03_rb,0.73640e+03_rb,0.94700e+03_rb /) kbo(:, 1,36, 6) = (/ & & 0.89015e+03_rb,0.68853e+03_rb,0.53577e+03_rb,0.73831e+03_rb,0.95033e+03_rb /) kbo(:, 2,36, 6) = (/ & & 0.89010e+03_rb,0.68849e+03_rb,0.53577e+03_rb,0.73820e+03_rb,0.95001e+03_rb /) kbo(:, 3,36, 6) = (/ & & 0.89006e+03_rb,0.68846e+03_rb,0.53575e+03_rb,0.73787e+03_rb,0.94935e+03_rb /) kbo(:, 4,36, 6) = (/ & & 0.89003e+03_rb,0.68844e+03_rb,0.53570e+03_rb,0.73729e+03_rb,0.94834e+03_rb /) kbo(:, 5,36, 6) = (/ & & 0.88999e+03_rb,0.68841e+03_rb,0.53561e+03_rb,0.73637e+03_rb,0.94696e+03_rb /) kbo(:, 1,37, 6) = (/ & & 0.89001e+03_rb,0.68843e+03_rb,0.53571e+03_rb,0.73831e+03_rb,0.95036e+03_rb /) kbo(:, 2,37, 6) = (/ & & 0.88997e+03_rb,0.68840e+03_rb,0.53572e+03_rb,0.73823e+03_rb,0.95007e+03_rb /) kbo(:, 3,37, 6) = (/ & & 0.88994e+03_rb,0.68837e+03_rb,0.53570e+03_rb,0.73792e+03_rb,0.94946e+03_rb /) kbo(:, 4,37, 6) = (/ & & 0.88991e+03_rb,0.68835e+03_rb,0.53566e+03_rb,0.73738e+03_rb,0.94849e+03_rb /) kbo(:, 5,37, 6) = (/ & & 0.88988e+03_rb,0.68833e+03_rb,0.53557e+03_rb,0.73651e+03_rb,0.94716e+03_rb /) kbo(:, 1,38, 6) = (/ & & 0.88990e+03_rb,0.68834e+03_rb,0.53566e+03_rb,0.73830e+03_rb,0.95036e+03_rb /) kbo(:, 2,38, 6) = (/ & & 0.88987e+03_rb,0.68832e+03_rb,0.53568e+03_rb,0.73825e+03_rb,0.95013e+03_rb /) kbo(:, 3,38, 6) = (/ & & 0.88984e+03_rb,0.68830e+03_rb,0.53566e+03_rb,0.73798e+03_rb,0.94957e+03_rb /) kbo(:, 4,38, 6) = (/ & & 0.88982e+03_rb,0.68828e+03_rb,0.53563e+03_rb,0.73747e+03_rb,0.94865e+03_rb /) kbo(:, 5,38, 6) = (/ & & 0.88979e+03_rb,0.68826e+03_rb,0.53555e+03_rb,0.73665e+03_rb,0.94737e+03_rb /) kbo(:, 1,39, 6) = (/ & & 0.88981e+03_rb,0.68827e+03_rb,0.53562e+03_rb,0.73829e+03_rb,0.95037e+03_rb /) kbo(:, 2,39, 6) = (/ & & 0.88978e+03_rb,0.68825e+03_rb,0.53564e+03_rb,0.73826e+03_rb,0.95018e+03_rb /) kbo(:, 3,39, 6) = (/ & & 0.88976e+03_rb,0.68824e+03_rb,0.53563e+03_rb,0.73803e+03_rb,0.94966e+03_rb /) kbo(:, 4,39, 6) = (/ & & 0.88974e+03_rb,0.68822e+03_rb,0.53560e+03_rb,0.73755e+03_rb,0.94880e+03_rb /) kbo(:, 5,39, 6) = (/ & & 0.88972e+03_rb,0.68821e+03_rb,0.53553e+03_rb,0.73679e+03_rb,0.94757e+03_rb /) kbo(:, 1,40, 6) = (/ & & 0.88973e+03_rb,0.68822e+03_rb,0.53558e+03_rb,0.73826e+03_rb,0.95037e+03_rb /) kbo(:, 2,40, 6) = (/ & & 0.88971e+03_rb,0.68820e+03_rb,0.53561e+03_rb,0.73829e+03_rb,0.95026e+03_rb /) kbo(:, 3,40, 6) = (/ & & 0.88969e+03_rb,0.68819e+03_rb,0.53561e+03_rb,0.73810e+03_rb,0.94982e+03_rb /) kbo(:, 4,40, 6) = (/ & & 0.88967e+03_rb,0.68817e+03_rb,0.53559e+03_rb,0.73769e+03_rb,0.94904e+03_rb /) kbo(:, 5,40, 6) = (/ & & 0.88966e+03_rb,0.68816e+03_rb,0.53553e+03_rb,0.73700e+03_rb,0.94790e+03_rb /) kbo(:, 1,41, 6) = (/ & & 0.88967e+03_rb,0.68817e+03_rb,0.53555e+03_rb,0.73822e+03_rb,0.95035e+03_rb /) kbo(:, 2,41, 6) = (/ & & 0.88965e+03_rb,0.68816e+03_rb,0.53558e+03_rb,0.73830e+03_rb,0.95031e+03_rb /) kbo(:, 3,41, 6) = (/ & & 0.88964e+03_rb,0.68815e+03_rb,0.53559e+03_rb,0.73817e+03_rb,0.94996e+03_rb /) kbo(:, 4,41, 6) = (/ & & 0.88962e+03_rb,0.68813e+03_rb,0.53558e+03_rb,0.73782e+03_rb,0.94927e+03_rb /) kbo(:, 5,41, 6) = (/ & & 0.88961e+03_rb,0.68812e+03_rb,0.53553e+03_rb,0.73722e+03_rb,0.94822e+03_rb /) kbo(:, 1,42, 6) = (/ & & 0.88962e+03_rb,0.68813e+03_rb,0.53551e+03_rb,0.73816e+03_rb,0.95029e+03_rb /) kbo(:, 2,42, 6) = (/ & & 0.88960e+03_rb,0.68812e+03_rb,0.53555e+03_rb,0.73830e+03_rb,0.95035e+03_rb /) kbo(:, 3,42, 6) = (/ & & 0.88959e+03_rb,0.68811e+03_rb,0.53557e+03_rb,0.73822e+03_rb,0.95008e+03_rb /) kbo(:, 4,42, 6) = (/ & & 0.88958e+03_rb,0.68810e+03_rb,0.53556e+03_rb,0.73793e+03_rb,0.94948e+03_rb /) kbo(:, 5,42, 6) = (/ & & 0.88957e+03_rb,0.68809e+03_rb,0.53553e+03_rb,0.73739e+03_rb,0.94853e+03_rb /) kbo(:, 1,43, 6) = (/ & & 0.88958e+03_rb,0.68810e+03_rb,0.53547e+03_rb,0.73807e+03_rb,0.95020e+03_rb /) kbo(:, 2,43, 6) = (/ & & 0.88957e+03_rb,0.68809e+03_rb,0.53552e+03_rb,0.73828e+03_rb,0.95037e+03_rb /) kbo(:, 3,43, 6) = (/ & & 0.88955e+03_rb,0.68808e+03_rb,0.53555e+03_rb,0.73826e+03_rb,0.95020e+03_rb /) kbo(:, 4,43, 6) = (/ & & 0.88954e+03_rb,0.68808e+03_rb,0.53555e+03_rb,0.73804e+03_rb,0.94970e+03_rb /) kbo(:, 5,43, 6) = (/ & & 0.88953e+03_rb,0.68807e+03_rb,0.53553e+03_rb,0.73758e+03_rb,0.94886e+03_rb /) kbo(:, 1,44, 6) = (/ & & 0.88954e+03_rb,0.68808e+03_rb,0.53544e+03_rb,0.73795e+03_rb,0.95005e+03_rb /) kbo(:, 2,44, 6) = (/ & & 0.88953e+03_rb,0.68807e+03_rb,0.53549e+03_rb,0.73823e+03_rb,0.95035e+03_rb /) kbo(:, 3,44, 6) = (/ & & 0.88952e+03_rb,0.68806e+03_rb,0.53553e+03_rb,0.73829e+03_rb,0.95030e+03_rb /) kbo(:, 4,44, 6) = (/ & & 0.88951e+03_rb,0.68805e+03_rb,0.53554e+03_rb,0.73815e+03_rb,0.94991e+03_rb /) kbo(:, 5,44, 6) = (/ & & 0.88951e+03_rb,0.68805e+03_rb,0.53553e+03_rb,0.73776e+03_rb,0.94919e+03_rb /) kbo(:, 1,45, 6) = (/ & & 0.88952e+03_rb,0.68806e+03_rb,0.53540e+03_rb,0.73782e+03_rb,0.94987e+03_rb /) kbo(:, 2,45, 6) = (/ & & 0.88951e+03_rb,0.68805e+03_rb,0.53547e+03_rb,0.73816e+03_rb,0.95030e+03_rb /) kbo(:, 3,45, 6) = (/ & & 0.88950e+03_rb,0.68804e+03_rb,0.53551e+03_rb,0.73830e+03_rb,0.95035e+03_rb /) kbo(:, 4,45, 6) = (/ & & 0.88949e+03_rb,0.68804e+03_rb,0.53553e+03_rb,0.73821e+03_rb,0.95008e+03_rb /) kbo(:, 5,45, 6) = (/ & & 0.88948e+03_rb,0.68803e+03_rb,0.53553e+03_rb,0.73792e+03_rb,0.94947e+03_rb /) kbo(:, 1,46, 6) = (/ & & 0.88949e+03_rb,0.68804e+03_rb,0.53537e+03_rb,0.73763e+03_rb,0.94962e+03_rb /) kbo(:, 2,46, 6) = (/ & & 0.88948e+03_rb,0.68803e+03_rb,0.53544e+03_rb,0.73806e+03_rb,0.95019e+03_rb /) kbo(:, 3,46, 6) = (/ & & 0.88948e+03_rb,0.68803e+03_rb,0.53549e+03_rb,0.73827e+03_rb,0.95037e+03_rb /) kbo(:, 4,46, 6) = (/ & & 0.88947e+03_rb,0.68802e+03_rb,0.53552e+03_rb,0.73827e+03_rb,0.95021e+03_rb /) kbo(:, 5,46, 6) = (/ & & 0.88946e+03_rb,0.68802e+03_rb,0.53552e+03_rb,0.73805e+03_rb,0.94973e+03_rb /) kbo(:, 1,47, 6) = (/ & & 0.88947e+03_rb,0.68802e+03_rb,0.53531e+03_rb,0.73737e+03_rb,0.94929e+03_rb /) kbo(:, 2,47, 6) = (/ & & 0.88947e+03_rb,0.68802e+03_rb,0.53539e+03_rb,0.73792e+03_rb,0.95000e+03_rb /) kbo(:, 3,47, 6) = (/ & & 0.88946e+03_rb,0.68801e+03_rb,0.53546e+03_rb,0.73821e+03_rb,0.95034e+03_rb /) kbo(:, 4,47, 6) = (/ & & 0.88945e+03_rb,0.68801e+03_rb,0.53550e+03_rb,0.73829e+03_rb,0.95032e+03_rb /) kbo(:, 5,47, 6) = (/ & & 0.88945e+03_rb,0.68800e+03_rb,0.53551e+03_rb,0.73816e+03_rb,0.94996e+03_rb /) kbo(:, 1,48, 6) = (/ & & 0.88946e+03_rb,0.68801e+03_rb,0.53528e+03_rb,0.73708e+03_rb,0.94889e+03_rb /) kbo(:, 2,48, 6) = (/ & & 0.88945e+03_rb,0.68801e+03_rb,0.53536e+03_rb,0.73773e+03_rb,0.94976e+03_rb /) kbo(:, 3,48, 6) = (/ & & 0.88944e+03_rb,0.68800e+03_rb,0.53543e+03_rb,0.73812e+03_rb,0.95025e+03_rb /) kbo(:, 4,48, 6) = (/ & & 0.88944e+03_rb,0.68800e+03_rb,0.53548e+03_rb,0.73829e+03_rb,0.95037e+03_rb /) kbo(:, 5,48, 6) = (/ & & 0.88944e+03_rb,0.68800e+03_rb,0.53551e+03_rb,0.73824e+03_rb,0.95014e+03_rb /) kbo(:, 1,49, 6) = (/ & & 0.88944e+03_rb,0.68800e+03_rb,0.53524e+03_rb,0.73674e+03_rb,0.94844e+03_rb /) kbo(:, 2,49, 6) = (/ & & 0.88944e+03_rb,0.68800e+03_rb,0.53533e+03_rb,0.73750e+03_rb,0.94945e+03_rb /) kbo(:, 3,49, 6) = (/ & & 0.88943e+03_rb,0.68799e+03_rb,0.53540e+03_rb,0.73799e+03_rb,0.95016e+03_rb /) kbo(:, 4,49, 6) = (/ & & 0.88943e+03_rb,0.68799e+03_rb,0.53546e+03_rb,0.73825e+03_rb,0.95036e+03_rb /) kbo(:, 5,49, 6) = (/ & & 0.88942e+03_rb,0.68799e+03_rb,0.53549e+03_rb,0.73828e+03_rb,0.95027e+03_rb /) kbo(:, 1,50, 6) = (/ & & 0.88943e+03_rb,0.68799e+03_rb,0.53521e+03_rb,0.73638e+03_rb,0.94796e+03_rb /) kbo(:, 2,50, 6) = (/ & & 0.88943e+03_rb,0.68799e+03_rb,0.53529e+03_rb,0.73724e+03_rb,0.94911e+03_rb /) kbo(:, 3,50, 6) = (/ & & 0.88942e+03_rb,0.68798e+03_rb,0.53537e+03_rb,0.73783e+03_rb,0.94990e+03_rb /) kbo(:, 4,50, 6) = (/ & & 0.88942e+03_rb,0.68798e+03_rb,0.53544e+03_rb,0.73817e+03_rb,0.95031e+03_rb /) kbo(:, 5,50, 6) = (/ & & 0.88942e+03_rb,0.68798e+03_rb,0.53548e+03_rb,0.73829e+03_rb,0.95034e+03_rb /) kbo(:, 1,51, 6) = (/ & & 0.88942e+03_rb,0.68798e+03_rb,0.53518e+03_rb,0.73600e+03_rb,0.94745e+03_rb /) kbo(:, 2,51, 6) = (/ & & 0.88942e+03_rb,0.68798e+03_rb,0.53525e+03_rb,0.73696e+03_rb,0.94873e+03_rb /) kbo(:, 3,51, 6) = (/ & & 0.88941e+03_rb,0.68798e+03_rb,0.53533e+03_rb,0.73765e+03_rb,0.94966e+03_rb /) kbo(:, 4,51, 6) = (/ & & 0.88941e+03_rb,0.68798e+03_rb,0.53541e+03_rb,0.73807e+03_rb,0.95020e+03_rb /) kbo(:, 5,51, 6) = (/ & & 0.88941e+03_rb,0.68797e+03_rb,0.53546e+03_rb,0.73827e+03_rb,0.95037e+03_rb /) kbo(:, 1,52, 6) = (/ & & 0.88941e+03_rb,0.68798e+03_rb,0.53513e+03_rb,0.73556e+03_rb,0.94688e+03_rb /) kbo(:, 2,52, 6) = (/ & & 0.88941e+03_rb,0.68798e+03_rb,0.53522e+03_rb,0.73664e+03_rb,0.94831e+03_rb /) kbo(:, 3,52, 6) = (/ & & 0.88941e+03_rb,0.68797e+03_rb,0.53531e+03_rb,0.73743e+03_rb,0.94936e+03_rb /) kbo(:, 4,52, 6) = (/ & & 0.88940e+03_rb,0.68797e+03_rb,0.53538e+03_rb,0.73795e+03_rb,0.95005e+03_rb /) kbo(:, 5,52, 6) = (/ & & 0.88940e+03_rb,0.68797e+03_rb,0.53545e+03_rb,0.73822e+03_rb,0.95036e+03_rb /) kbo(:, 1,53, 6) = (/ & & 0.88941e+03_rb,0.68797e+03_rb,0.53507e+03_rb,0.73509e+03_rb,0.94627e+03_rb /) kbo(:, 2,53, 6) = (/ & & 0.88940e+03_rb,0.68797e+03_rb,0.53519e+03_rb,0.73629e+03_rb,0.94784e+03_rb /) kbo(:, 3,53, 6) = (/ & & 0.88940e+03_rb,0.68797e+03_rb,0.53527e+03_rb,0.73717e+03_rb,0.94902e+03_rb /) kbo(:, 4,53, 6) = (/ & & 0.88940e+03_rb,0.68797e+03_rb,0.53535e+03_rb,0.73779e+03_rb,0.94984e+03_rb /) kbo(:, 5,53, 6) = (/ & & 0.88940e+03_rb,0.68797e+03_rb,0.53542e+03_rb,0.73815e+03_rb,0.95029e+03_rb /) kbo(:, 1,54, 6) = (/ & & 0.88940e+03_rb,0.68797e+03_rb,0.53502e+03_rb,0.73463e+03_rb,0.94566e+03_rb /) kbo(:, 2,54, 6) = (/ & & 0.88940e+03_rb,0.68797e+03_rb,0.53516e+03_rb,0.73592e+03_rb,0.94735e+03_rb /) kbo(:, 3,54, 6) = (/ & & 0.88940e+03_rb,0.68796e+03_rb,0.53524e+03_rb,0.73691e+03_rb,0.94866e+03_rb /) kbo(:, 4,54, 6) = (/ & & 0.88939e+03_rb,0.68796e+03_rb,0.53533e+03_rb,0.73761e+03_rb,0.94961e+03_rb /) kbo(:, 5,54, 6) = (/ & & 0.88939e+03_rb,0.68796e+03_rb,0.53539e+03_rb,0.73805e+03_rb,0.95018e+03_rb /) kbo(:, 1,55, 6) = (/ & & 0.88940e+03_rb,0.68796e+03_rb,0.53495e+03_rb,0.73415e+03_rb,0.94503e+03_rb /) kbo(:, 2,55, 6) = (/ & & 0.88939e+03_rb,0.68796e+03_rb,0.53513e+03_rb,0.73554e+03_rb,0.94685e+03_rb /) kbo(:, 3,55, 6) = (/ & & 0.88939e+03_rb,0.68796e+03_rb,0.53521e+03_rb,0.73662e+03_rb,0.94828e+03_rb /) kbo(:, 4,55, 6) = (/ & & 0.88939e+03_rb,0.68796e+03_rb,0.53530e+03_rb,0.73742e+03_rb,0.94934e+03_rb /) kbo(:, 5,55, 6) = (/ & & 0.88939e+03_rb,0.68796e+03_rb,0.53537e+03_rb,0.73794e+03_rb,0.95004e+03_rb /) kbo(:, 1,56, 6) = (/ & & 0.88939e+03_rb,0.68796e+03_rb,0.53489e+03_rb,0.73364e+03_rb,0.94437e+03_rb /) kbo(:, 2,56, 6) = (/ & & 0.88939e+03_rb,0.68796e+03_rb,0.53507e+03_rb,0.73512e+03_rb,0.94631e+03_rb /) kbo(:, 3,56, 6) = (/ & & 0.88939e+03_rb,0.68796e+03_rb,0.53519e+03_rb,0.73631e+03_rb,0.94787e+03_rb /) kbo(:, 4,56, 6) = (/ & & 0.88939e+03_rb,0.68796e+03_rb,0.53527e+03_rb,0.73719e+03_rb,0.94904e+03_rb /) kbo(:, 5,56, 6) = (/ & & 0.88938e+03_rb,0.68796e+03_rb,0.53535e+03_rb,0.73780e+03_rb,0.94987e+03_rb /) kbo(:, 1,57, 6) = (/ & & 0.88939e+03_rb,0.68796e+03_rb,0.53481e+03_rb,0.73310e+03_rb,0.94366e+03_rb /) kbo(:, 2,57, 6) = (/ & & 0.88939e+03_rb,0.68796e+03_rb,0.53502e+03_rb,0.73469e+03_rb,0.94573e+03_rb /) kbo(:, 3,57, 6) = (/ & & 0.88938e+03_rb,0.68796e+03_rb,0.53516e+03_rb,0.73597e+03_rb,0.94741e+03_rb /) kbo(:, 4,57, 6) = (/ & & 0.88938e+03_rb,0.68796e+03_rb,0.53524e+03_rb,0.73694e+03_rb,0.94871e+03_rb /) kbo(:, 5,57, 6) = (/ & & 0.88938e+03_rb,0.68795e+03_rb,0.53532e+03_rb,0.73764e+03_rb,0.94964e+03_rb /) kbo(:, 1,58, 6) = (/ & & 0.88938e+03_rb,0.68796e+03_rb,0.53474e+03_rb,0.73255e+03_rb,0.94296e+03_rb /) kbo(:, 2,58, 6) = (/ & & 0.88938e+03_rb,0.68796e+03_rb,0.53496e+03_rb,0.73423e+03_rb,0.94515e+03_rb /) kbo(:, 3,58, 6) = (/ & & 0.88938e+03_rb,0.68795e+03_rb,0.53512e+03_rb,0.73561e+03_rb,0.94695e+03_rb /) kbo(:, 4,58, 6) = (/ & & 0.88938e+03_rb,0.68795e+03_rb,0.53522e+03_rb,0.73667e+03_rb,0.94836e+03_rb /) kbo(:, 5,58, 6) = (/ & & 0.88938e+03_rb,0.68795e+03_rb,0.53530e+03_rb,0.73745e+03_rb,0.94939e+03_rb /) kbo(:, 1,59, 6) = (/ & & 0.88938e+03_rb,0.68795e+03_rb,0.53470e+03_rb,0.73233e+03_rb,0.94266e+03_rb /) kbo(:, 2,59, 6) = (/ & & 0.88938e+03_rb,0.68795e+03_rb,0.53494e+03_rb,0.73405e+03_rb,0.94490e+03_rb /) kbo(:, 3,59, 6) = (/ & & 0.88938e+03_rb,0.68795e+03_rb,0.53510e+03_rb,0.73546e+03_rb,0.94675e+03_rb /) kbo(:, 4,59, 6) = (/ & & 0.88938e+03_rb,0.68795e+03_rb,0.53521e+03_rb,0.73657e+03_rb,0.94820e+03_rb /) kbo(:, 5,59, 6) = (/ & & 0.88938e+03_rb,0.68795e+03_rb,0.53529e+03_rb,0.73737e+03_rb,0.94929e+03_rb /) kbo(:, 1,13, 7) = (/ & & 0.11104e+04_rb,0.84453e+03_rb,0.58852e+03_rb,0.81799e+03_rb,0.10746e+04_rb /) kbo(:, 2,13, 7) = (/ & & 0.11019e+04_rb,0.83810e+03_rb,0.58572e+03_rb,0.81836e+03_rb,0.10752e+04_rb /) kbo(:, 3,13, 7) = (/ & & 0.10945e+04_rb,0.83257e+03_rb,0.58306e+03_rb,0.81848e+03_rb,0.10754e+04_rb /) kbo(:, 4,13, 7) = (/ & & 0.10881e+04_rb,0.82775e+03_rb,0.58047e+03_rb,0.81831e+03_rb,0.10753e+04_rb /) kbo(:, 5,13, 7) = (/ & & 0.10824e+04_rb,0.82352e+03_rb,0.57809e+03_rb,0.81788e+03_rb,0.10749e+04_rb /) kbo(:, 1,14, 7) = (/ & & 0.10890e+04_rb,0.82842e+03_rb,0.58087e+03_rb,0.81780e+03_rb,0.10747e+04_rb /) kbo(:, 2,14, 7) = (/ & & 0.10820e+04_rb,0.82323e+03_rb,0.57803e+03_rb,0.81816e+03_rb,0.10753e+04_rb /) kbo(:, 3,14, 7) = (/ & & 0.10761e+04_rb,0.81875e+03_rb,0.57524e+03_rb,0.81827e+03_rb,0.10754e+04_rb /) kbo(:, 4,14, 7) = (/ & & 0.10709e+04_rb,0.81486e+03_rb,0.57281e+03_rb,0.81809e+03_rb,0.10752e+04_rb /) kbo(:, 5,14, 7) = (/ & & 0.10663e+04_rb,0.81144e+03_rb,0.57087e+03_rb,0.81766e+03_rb,0.10748e+04_rb /) kbo(:, 1,15, 7) = (/ & & 0.10714e+04_rb,0.81529e+03_rb,0.57324e+03_rb,0.81765e+03_rb,0.10748e+04_rb /) kbo(:, 2,15, 7) = (/ & & 0.10659e+04_rb,0.81110e+03_rb,0.57094e+03_rb,0.81800e+03_rb,0.10753e+04_rb /) kbo(:, 3,15, 7) = (/ & & 0.10611e+04_rb,0.80749e+03_rb,0.56926e+03_rb,0.81809e+03_rb,0.10754e+04_rb /) kbo(:, 4,15, 7) = (/ & & 0.10569e+04_rb,0.80434e+03_rb,0.56791e+03_rb,0.81790e+03_rb,0.10752e+04_rb /) kbo(:, 5,15, 7) = (/ & & 0.10532e+04_rb,0.80157e+03_rb,0.56672e+03_rb,0.81746e+03_rb,0.10748e+04_rb /) kbo(:, 1,16, 7) = (/ & & 0.10572e+04_rb,0.80460e+03_rb,0.56822e+03_rb,0.81755e+03_rb,0.10748e+04_rb /) kbo(:, 2,16, 7) = (/ & & 0.10527e+04_rb,0.80122e+03_rb,0.56701e+03_rb,0.81788e+03_rb,0.10753e+04_rb /) kbo(:, 3,16, 7) = (/ & & 0.10488e+04_rb,0.79831e+03_rb,0.56599e+03_rb,0.81796e+03_rb,0.10754e+04_rb /) kbo(:, 4,16, 7) = (/ & & 0.10454e+04_rb,0.79577e+03_rb,0.56505e+03_rb,0.81773e+03_rb,0.10752e+04_rb /) kbo(:, 5,16, 7) = (/ & & 0.10425e+04_rb,0.79354e+03_rb,0.56418e+03_rb,0.81728e+03_rb,0.10747e+04_rb /) kbo(:, 1,17, 7) = (/ & & 0.10456e+04_rb,0.79593e+03_rb,0.56540e+03_rb,0.81747e+03_rb,0.10749e+04_rb /) kbo(:, 2,17, 7) = (/ & & 0.10420e+04_rb,0.79321e+03_rb,0.56464e+03_rb,0.81778e+03_rb,0.10753e+04_rb /) kbo(:, 3,17, 7) = (/ & & 0.10389e+04_rb,0.79086e+03_rb,0.56406e+03_rb,0.81783e+03_rb,0.10754e+04_rb /) kbo(:, 4,17, 7) = (/ & & 0.10362e+04_rb,0.78881e+03_rb,0.56355e+03_rb,0.81761e+03_rb,0.10751e+04_rb /) kbo(:, 5,17, 7) = (/ & & 0.10337e+04_rb,0.78701e+03_rb,0.56298e+03_rb,0.81712e+03_rb,0.10746e+04_rb /) kbo(:, 1,18, 7) = (/ & & 0.10363e+04_rb,0.78890e+03_rb,0.56372e+03_rb,0.81741e+03_rb,0.10750e+04_rb /) kbo(:, 2,18, 7) = (/ & & 0.10334e+04_rb,0.78671e+03_rb,0.56351e+03_rb,0.81771e+03_rb,0.10753e+04_rb /) kbo(:, 3,18, 7) = (/ & & 0.10308e+04_rb,0.78481e+03_rb,0.56335e+03_rb,0.81775e+03_rb,0.10754e+04_rb /) kbo(:, 4,18, 7) = (/ & & 0.10286e+04_rb,0.78316e+03_rb,0.56306e+03_rb,0.81749e+03_rb,0.10751e+04_rb /) kbo(:, 5,18, 7) = (/ & & 0.10267e+04_rb,0.78170e+03_rb,0.56253e+03_rb,0.81698e+03_rb,0.10746e+04_rb /) kbo(:, 1,19, 7) = (/ & & 0.10287e+04_rb,0.78319e+03_rb,0.56306e+03_rb,0.81737e+03_rb,0.10751e+04_rb /) kbo(:, 2,19, 7) = (/ & & 0.10263e+04_rb,0.78143e+03_rb,0.56317e+03_rb,0.81766e+03_rb,0.10754e+04_rb /) kbo(:, 3,19, 7) = (/ & & 0.10243e+04_rb,0.77990e+03_rb,0.56256e+03_rb,0.81764e+03_rb,0.10753e+04_rb /) kbo(:, 4,19, 7) = (/ & & 0.10225e+04_rb,0.77856e+03_rb,0.56270e+03_rb,0.81737e+03_rb,0.10751e+04_rb /) kbo(:, 5,19, 7) = (/ & & 0.10209e+04_rb,0.77738e+03_rb,0.56230e+03_rb,0.81685e+03_rb,0.10745e+04_rb /) kbo(:, 1,20, 7) = (/ & & 0.10225e+04_rb,0.77853e+03_rb,0.56258e+03_rb,0.81735e+03_rb,0.10751e+04_rb /) kbo(:, 2,20, 7) = (/ & & 0.10206e+04_rb,0.77711e+03_rb,0.56304e+03_rb,0.81761e+03_rb,0.10754e+04_rb /) kbo(:, 3,20, 7) = (/ & & 0.10189e+04_rb,0.77589e+03_rb,0.56295e+03_rb,0.81757e+03_rb,0.10753e+04_rb /) kbo(:, 4,20, 7) = (/ & & 0.10175e+04_rb,0.77480e+03_rb,0.56264e+03_rb,0.81728e+03_rb,0.10750e+04_rb /) kbo(:, 5,20, 7) = (/ & & 0.10162e+04_rb,0.77385e+03_rb,0.56211e+03_rb,0.81672e+03_rb,0.10744e+04_rb /) kbo(:, 1,21, 7) = (/ & & 0.10174e+04_rb,0.77475e+03_rb,0.56279e+03_rb,0.81734e+03_rb,0.10752e+04_rb /) kbo(:, 2,21, 7) = (/ & & 0.10159e+04_rb,0.77361e+03_rb,0.56292e+03_rb,0.81756e+03_rb,0.10754e+04_rb /) kbo(:, 3,21, 7) = (/ & & 0.10146e+04_rb,0.77262e+03_rb,0.56281e+03_rb,0.81751e+03_rb,0.10753e+04_rb /) kbo(:, 4,21, 7) = (/ & & 0.10134e+04_rb,0.77175e+03_rb,0.56248e+03_rb,0.81718e+03_rb,0.10750e+04_rb /) kbo(:, 5,21, 7) = (/ & & 0.10124e+04_rb,0.77098e+03_rb,0.56193e+03_rb,0.81661e+03_rb,0.10743e+04_rb /) kbo(:, 1,22, 7) = (/ & & 0.10132e+04_rb,0.77163e+03_rb,0.56273e+03_rb,0.81736e+03_rb,0.10752e+04_rb /) kbo(:, 2,22, 7) = (/ & & 0.10120e+04_rb,0.77071e+03_rb,0.56281e+03_rb,0.81753e+03_rb,0.10754e+04_rb /) kbo(:, 3,22, 7) = (/ & & 0.10110e+04_rb,0.76992e+03_rb,0.56267e+03_rb,0.81743e+03_rb,0.10753e+04_rb /) kbo(:, 4,22, 7) = (/ & & 0.10100e+04_rb,0.76922e+03_rb,0.56230e+03_rb,0.81706e+03_rb,0.10749e+04_rb /) kbo(:, 5,22, 7) = (/ & & 0.10092e+04_rb,0.76860e+03_rb,0.56172e+03_rb,0.81643e+03_rb,0.10742e+04_rb /) kbo(:, 1,23, 7) = (/ & & 0.10099e+04_rb,0.76909e+03_rb,0.56267e+03_rb,0.81738e+03_rb,0.10753e+04_rb /) kbo(:, 2,23, 7) = (/ & & 0.10089e+04_rb,0.76836e+03_rb,0.56273e+03_rb,0.81751e+03_rb,0.10754e+04_rb /) kbo(:, 3,23, 7) = (/ & & 0.10080e+04_rb,0.76773e+03_rb,0.56254e+03_rb,0.81734e+03_rb,0.10752e+04_rb /) kbo(:, 4,23, 7) = (/ & & 0.10073e+04_rb,0.76717e+03_rb,0.56214e+03_rb,0.81691e+03_rb,0.10748e+04_rb /) kbo(:, 5,23, 7) = (/ & & 0.10067e+04_rb,0.76668e+03_rb,0.56152e+03_rb,0.81625e+03_rb,0.10740e+04_rb /) kbo(:, 1,24, 7) = (/ & & 0.10071e+04_rb,0.76704e+03_rb,0.56263e+03_rb,0.81739e+03_rb,0.10753e+04_rb /) kbo(:, 2,24, 7) = (/ & & 0.10064e+04_rb,0.76647e+03_rb,0.56264e+03_rb,0.81747e+03_rb,0.10754e+04_rb /) kbo(:, 3,24, 7) = (/ & & 0.10057e+04_rb,0.76596e+03_rb,0.56242e+03_rb,0.81725e+03_rb,0.10751e+04_rb /) kbo(:, 4,24, 7) = (/ & & 0.10051e+04_rb,0.76551e+03_rb,0.56198e+03_rb,0.81678e+03_rb,0.10746e+04_rb /) kbo(:, 5,24, 7) = (/ & & 0.10046e+04_rb,0.76512e+03_rb,0.56132e+03_rb,0.81606e+03_rb,0.10738e+04_rb /) kbo(:, 1,25, 7) = (/ & & 0.10049e+04_rb,0.76538e+03_rb,0.56260e+03_rb,0.81741e+03_rb,0.10754e+04_rb /) kbo(:, 2,25, 7) = (/ & & 0.10043e+04_rb,0.76492e+03_rb,0.56256e+03_rb,0.81742e+03_rb,0.10753e+04_rb /) kbo(:, 3,25, 7) = (/ & & 0.10038e+04_rb,0.76453e+03_rb,0.56229e+03_rb,0.81717e+03_rb,0.10750e+04_rb /) kbo(:, 4,25, 7) = (/ & & 0.10033e+04_rb,0.76417e+03_rb,0.56181e+03_rb,0.81663e+03_rb,0.10745e+04_rb /) kbo(:, 5,25, 7) = (/ & & 0.10029e+04_rb,0.76385e+03_rb,0.56111e+03_rb,0.81585e+03_rb,0.10736e+04_rb /) kbo(:, 1,26, 7) = (/ & & 0.10031e+04_rb,0.76404e+03_rb,0.56257e+03_rb,0.81743e+03_rb,0.10754e+04_rb /) kbo(:, 2,26, 7) = (/ & & 0.10026e+04_rb,0.76368e+03_rb,0.56248e+03_rb,0.81736e+03_rb,0.10753e+04_rb /) kbo(:, 3,26, 7) = (/ & & 0.10022e+04_rb,0.76336e+03_rb,0.56216e+03_rb,0.81707e+03_rb,0.10749e+04_rb /) kbo(:, 4,26, 7) = (/ & & 0.10018e+04_rb,0.76308e+03_rb,0.56163e+03_rb,0.81645e+03_rb,0.10743e+04_rb /) kbo(:, 5,26, 7) = (/ & & 0.10015e+04_rb,0.76282e+03_rb,0.56088e+03_rb,0.81561e+03_rb,0.10734e+04_rb /) kbo(:, 1,27, 7) = (/ & & 0.10017e+04_rb,0.76296e+03_rb,0.56253e+03_rb,0.81743e+03_rb,0.10754e+04_rb /) kbo(:, 2,27, 7) = (/ & & 0.10013e+04_rb,0.76268e+03_rb,0.56239e+03_rb,0.81730e+03_rb,0.10752e+04_rb /) kbo(:, 3,27, 7) = (/ & & 0.10010e+04_rb,0.76242e+03_rb,0.56202e+03_rb,0.81696e+03_rb,0.10748e+04_rb /) kbo(:, 4,27, 7) = (/ & & 0.10007e+04_rb,0.76220e+03_rb,0.56144e+03_rb,0.81630e+03_rb,0.10741e+04_rb /) kbo(:, 5,27, 7) = (/ & & 0.10004e+04_rb,0.76200e+03_rb,0.56064e+03_rb,0.81536e+03_rb,0.10731e+04_rb /) kbo(:, 1,28, 7) = (/ & & 0.10005e+04_rb,0.76209e+03_rb,0.56249e+03_rb,0.81738e+03_rb,0.10754e+04_rb /) kbo(:, 2,28, 7) = (/ & & 0.10002e+04_rb,0.76186e+03_rb,0.56229e+03_rb,0.81724e+03_rb,0.10752e+04_rb /) kbo(:, 3,28, 7) = (/ & & 0.99995e+03_rb,0.76166e+03_rb,0.56188e+03_rb,0.81687e+03_rb,0.10747e+04_rb /) kbo(:, 4,28, 7) = (/ & & 0.99971e+03_rb,0.76148e+03_rb,0.56124e+03_rb,0.81607e+03_rb,0.10739e+04_rb /) kbo(:, 5,28, 7) = (/ & & 0.99950e+03_rb,0.76132e+03_rb,0.56040e+03_rb,0.81510e+03_rb,0.10728e+04_rb /) kbo(:, 1,29, 7) = (/ & & 0.99960e+03_rb,0.76139e+03_rb,0.56244e+03_rb,0.81739e+03_rb,0.10753e+04_rb /) kbo(:, 2,29, 7) = (/ & & 0.99935e+03_rb,0.76121e+03_rb,0.56219e+03_rb,0.81712e+03_rb,0.10751e+04_rb /) kbo(:, 3,29, 7) = (/ & & 0.99914e+03_rb,0.76105e+03_rb,0.56172e+03_rb,0.81663e+03_rb,0.10745e+04_rb /) kbo(:, 4,29, 7) = (/ & & 0.99895e+03_rb,0.76091e+03_rb,0.56103e+03_rb,0.81584e+03_rb,0.10737e+04_rb /) kbo(:, 5,29, 7) = (/ & & 0.99878e+03_rb,0.76078e+03_rb,0.56014e+03_rb,0.81482e+03_rb,0.10725e+04_rb /) kbo(:, 1,30, 7) = (/ & & 0.99885e+03_rb,0.76083e+03_rb,0.56238e+03_rb,0.81733e+03_rb,0.10753e+04_rb /) kbo(:, 2,30, 7) = (/ & & 0.99865e+03_rb,0.76069e+03_rb,0.56207e+03_rb,0.81703e+03_rb,0.10750e+04_rb /) kbo(:, 3,30, 7) = (/ & & 0.99848e+03_rb,0.76055e+03_rb,0.56155e+03_rb,0.81643e+03_rb,0.10743e+04_rb /) kbo(:, 4,30, 7) = (/ & & 0.99833e+03_rb,0.76044e+03_rb,0.56081e+03_rb,0.81561e+03_rb,0.10734e+04_rb /) kbo(:, 5,30, 7) = (/ & & 0.99819e+03_rb,0.76034e+03_rb,0.55986e+03_rb,0.81451e+03_rb,0.10721e+04_rb /) kbo(:, 1,31, 7) = (/ & & 0.99824e+03_rb,0.76037e+03_rb,0.56231e+03_rb,0.81727e+03_rb,0.10752e+04_rb /) kbo(:, 2,31, 7) = (/ & & 0.99808e+03_rb,0.76026e+03_rb,0.56195e+03_rb,0.81690e+03_rb,0.10748e+04_rb /) kbo(:, 3,31, 7) = (/ & & 0.99794e+03_rb,0.76015e+03_rb,0.56137e+03_rb,0.81625e+03_rb,0.10741e+04_rb /) kbo(:, 4,31, 7) = (/ & & 0.99782e+03_rb,0.76006e+03_rb,0.56058e+03_rb,0.81535e+03_rb,0.10731e+04_rb /) kbo(:, 5,31, 7) = (/ & & 0.99772e+03_rb,0.75998e+03_rb,0.55958e+03_rb,0.81419e+03_rb,0.10717e+04_rb /) kbo(:, 1,32, 7) = (/ & & 0.99774e+03_rb,0.76000e+03_rb,0.56222e+03_rb,0.81719e+03_rb,0.10752e+04_rb /) kbo(:, 2,32, 7) = (/ & & 0.99763e+03_rb,0.75991e+03_rb,0.56181e+03_rb,0.81675e+03_rb,0.10747e+04_rb /) kbo(:, 3,32, 7) = (/ & & 0.99752e+03_rb,0.75984e+03_rb,0.56117e+03_rb,0.81604e+03_rb,0.10739e+04_rb /) kbo(:, 4,32, 7) = (/ & & 0.99742e+03_rb,0.75976e+03_rb,0.56033e+03_rb,0.81507e+03_rb,0.10728e+04_rb /) kbo(:, 5,32, 7) = (/ & & 0.99733e+03_rb,0.75970e+03_rb,0.55927e+03_rb,0.81384e+03_rb,0.10713e+04_rb /) kbo(:, 1,33, 7) = (/ & & 0.99735e+03_rb,0.75971e+03_rb,0.56212e+03_rb,0.81709e+03_rb,0.10751e+04_rb /) kbo(:, 2,33, 7) = (/ & & 0.99725e+03_rb,0.75964e+03_rb,0.56165e+03_rb,0.81658e+03_rb,0.10745e+04_rb /) kbo(:, 3,33, 7) = (/ & & 0.99717e+03_rb,0.75957e+03_rb,0.56096e+03_rb,0.81581e+03_rb,0.10736e+04_rb /) kbo(:, 4,33, 7) = (/ & & 0.99709e+03_rb,0.75952e+03_rb,0.56006e+03_rb,0.81477e+03_rb,0.10724e+04_rb /) kbo(:, 5,33, 7) = (/ & & 0.99703e+03_rb,0.75946e+03_rb,0.55896e+03_rb,0.81347e+03_rb,0.10709e+04_rb /) kbo(:, 1,34, 7) = (/ & & 0.99704e+03_rb,0.75947e+03_rb,0.56203e+03_rb,0.81702e+03_rb,0.10750e+04_rb /) kbo(:, 2,34, 7) = (/ & & 0.99696e+03_rb,0.75942e+03_rb,0.56151e+03_rb,0.81642e+03_rb,0.10743e+04_rb /) kbo(:, 3,34, 7) = (/ & & 0.99689e+03_rb,0.75937e+03_rb,0.56077e+03_rb,0.81558e+03_rb,0.10734e+04_rb /) kbo(:, 4,34, 7) = (/ & & 0.99683e+03_rb,0.75932e+03_rb,0.55982e+03_rb,0.81449e+03_rb,0.10721e+04_rb /) kbo(:, 5,34, 7) = (/ & & 0.99678e+03_rb,0.75928e+03_rb,0.55868e+03_rb,0.81314e+03_rb,0.10704e+04_rb /) kbo(:, 1,35, 7) = (/ & & 0.99679e+03_rb,0.75929e+03_rb,0.56197e+03_rb,0.81693e+03_rb,0.10749e+04_rb /) kbo(:, 2,35, 7) = (/ & & 0.99673e+03_rb,0.75925e+03_rb,0.56142e+03_rb,0.81633e+03_rb,0.10742e+04_rb /) kbo(:, 3,35, 7) = (/ & & 0.99667e+03_rb,0.75920e+03_rb,0.56065e+03_rb,0.81545e+03_rb,0.10733e+04_rb /) kbo(:, 4,35, 7) = (/ & & 0.99663e+03_rb,0.75916e+03_rb,0.55968e+03_rb,0.81434e+03_rb,0.10719e+04_rb /) kbo(:, 5,35, 7) = (/ & & 0.99658e+03_rb,0.75913e+03_rb,0.55851e+03_rb,0.81294e+03_rb,0.10702e+04_rb /) kbo(:, 1,36, 7) = (/ & & 0.99660e+03_rb,0.75914e+03_rb,0.56195e+03_rb,0.81692e+03_rb,0.10749e+04_rb /) kbo(:, 2,36, 7) = (/ & & 0.99655e+03_rb,0.75911e+03_rb,0.56140e+03_rb,0.81631e+03_rb,0.10742e+04_rb /) kbo(:, 3,36, 7) = (/ & & 0.99650e+03_rb,0.75907e+03_rb,0.56063e+03_rb,0.81543e+03_rb,0.10732e+04_rb /) kbo(:, 4,36, 7) = (/ & & 0.99646e+03_rb,0.75904e+03_rb,0.55965e+03_rb,0.81430e+03_rb,0.10719e+04_rb /) kbo(:, 5,36, 7) = (/ & & 0.99642e+03_rb,0.75901e+03_rb,0.55848e+03_rb,0.81290e+03_rb,0.10702e+04_rb /) kbo(:, 1,37, 7) = (/ & & 0.99645e+03_rb,0.75903e+03_rb,0.56200e+03_rb,0.81697e+03_rb,0.10749e+04_rb /) kbo(:, 2,37, 7) = (/ & & 0.99640e+03_rb,0.75900e+03_rb,0.56148e+03_rb,0.81640e+03_rb,0.10743e+04_rb /) kbo(:, 3,37, 7) = (/ & & 0.99636e+03_rb,0.75897e+03_rb,0.56074e+03_rb,0.81556e+03_rb,0.10734e+04_rb /) kbo(:, 4,37, 7) = (/ & & 0.99633e+03_rb,0.75894e+03_rb,0.55979e+03_rb,0.81446e+03_rb,0.10721e+04_rb /) kbo(:, 5,37, 7) = (/ & & 0.99630e+03_rb,0.75892e+03_rb,0.55864e+03_rb,0.81313e+03_rb,0.10704e+04_rb /) kbo(:, 1,38, 7) = (/ & & 0.99632e+03_rb,0.75894e+03_rb,0.56206e+03_rb,0.81703e+03_rb,0.10750e+04_rb /) kbo(:, 2,38, 7) = (/ & & 0.99628e+03_rb,0.75891e+03_rb,0.56157e+03_rb,0.81650e+03_rb,0.10744e+04_rb /) kbo(:, 3,38, 7) = (/ & & 0.99625e+03_rb,0.75889e+03_rb,0.56085e+03_rb,0.81569e+03_rb,0.10735e+04_rb /) kbo(:, 4,38, 7) = (/ & & 0.99623e+03_rb,0.75887e+03_rb,0.55993e+03_rb,0.81464e+03_rb,0.10723e+04_rb /) kbo(:, 5,38, 7) = (/ & & 0.99620e+03_rb,0.75885e+03_rb,0.55881e+03_rb,0.81331e+03_rb,0.10707e+04_rb /) kbo(:, 1,39, 7) = (/ & & 0.99622e+03_rb,0.75886e+03_rb,0.56210e+03_rb,0.81708e+03_rb,0.10751e+04_rb /) kbo(:, 2,39, 7) = (/ & & 0.99619e+03_rb,0.75884e+03_rb,0.56164e+03_rb,0.81666e+03_rb,0.10745e+04_rb /) kbo(:, 3,39, 7) = (/ & & 0.99617e+03_rb,0.75882e+03_rb,0.56096e+03_rb,0.81582e+03_rb,0.10737e+04_rb /) kbo(:, 4,39, 7) = (/ & & 0.99614e+03_rb,0.75880e+03_rb,0.56007e+03_rb,0.81479e+03_rb,0.10725e+04_rb /) kbo(:, 5,39, 7) = (/ & & 0.99612e+03_rb,0.75878e+03_rb,0.55897e+03_rb,0.81351e+03_rb,0.10709e+04_rb /) kbo(:, 1,40, 7) = (/ & & 0.99613e+03_rb,0.75880e+03_rb,0.56218e+03_rb,0.81716e+03_rb,0.10752e+04_rb /) kbo(:, 2,40, 7) = (/ & & 0.99611e+03_rb,0.75878e+03_rb,0.56177e+03_rb,0.81672e+03_rb,0.10747e+04_rb /) kbo(:, 3,40, 7) = (/ & & 0.99609e+03_rb,0.75876e+03_rb,0.56114e+03_rb,0.81603e+03_rb,0.10739e+04_rb /) kbo(:, 4,40, 7) = (/ & & 0.99607e+03_rb,0.75875e+03_rb,0.56030e+03_rb,0.81506e+03_rb,0.10728e+04_rb /) kbo(:, 5,40, 7) = (/ & & 0.99605e+03_rb,0.75874e+03_rb,0.55925e+03_rb,0.81383e+03_rb,0.10713e+04_rb /) kbo(:, 1,41, 7) = (/ & & 0.99606e+03_rb,0.75874e+03_rb,0.56225e+03_rb,0.81724e+03_rb,0.10752e+04_rb /) kbo(:, 2,41, 7) = (/ & & 0.99604e+03_rb,0.75873e+03_rb,0.56189e+03_rb,0.81688e+03_rb,0.10748e+04_rb /) kbo(:, 3,41, 7) = (/ & & 0.99602e+03_rb,0.75871e+03_rb,0.56132e+03_rb,0.81623e+03_rb,0.10741e+04_rb /) kbo(:, 4,41, 7) = (/ & & 0.99601e+03_rb,0.75870e+03_rb,0.56053e+03_rb,0.81532e+03_rb,0.10731e+04_rb /) kbo(:, 5,41, 7) = (/ & & 0.99600e+03_rb,0.75869e+03_rb,0.55954e+03_rb,0.81416e+03_rb,0.10717e+04_rb /) kbo(:, 1,42, 7) = (/ & & 0.99601e+03_rb,0.75870e+03_rb,0.56231e+03_rb,0.81730e+03_rb,0.10753e+04_rb /) kbo(:, 2,42, 7) = (/ & & 0.99599e+03_rb,0.75869e+03_rb,0.56200e+03_rb,0.81698e+03_rb,0.10750e+04_rb /) kbo(:, 3,42, 7) = (/ & & 0.99597e+03_rb,0.75868e+03_rb,0.56149e+03_rb,0.81641e+03_rb,0.10743e+04_rb /) kbo(:, 4,42, 7) = (/ & & 0.99596e+03_rb,0.75867e+03_rb,0.56075e+03_rb,0.81559e+03_rb,0.10734e+04_rb /) kbo(:, 5,42, 7) = (/ & & 0.99595e+03_rb,0.75866e+03_rb,0.55981e+03_rb,0.81449e+03_rb,0.10721e+04_rb /) kbo(:, 1,43, 7) = (/ & & 0.99596e+03_rb,0.75867e+03_rb,0.56235e+03_rb,0.81734e+03_rb,0.10754e+04_rb /) kbo(:, 2,43, 7) = (/ & & 0.99595e+03_rb,0.75866e+03_rb,0.56212e+03_rb,0.81712e+03_rb,0.10751e+04_rb /) kbo(:, 3,43, 7) = (/ & & 0.99594e+03_rb,0.75865e+03_rb,0.56167e+03_rb,0.81662e+03_rb,0.10746e+04_rb /) kbo(:, 4,43, 7) = (/ & & 0.99592e+03_rb,0.75864e+03_rb,0.56100e+03_rb,0.81588e+03_rb,0.10737e+04_rb /) kbo(:, 5,43, 7) = (/ & & 0.99591e+03_rb,0.75863e+03_rb,0.56012e+03_rb,0.81487e+03_rb,0.10726e+04_rb /) kbo(:, 1,44, 7) = (/ & & 0.99592e+03_rb,0.75864e+03_rb,0.56237e+03_rb,0.81736e+03_rb,0.10754e+04_rb /) kbo(:, 2,44, 7) = (/ & & 0.99591e+03_rb,0.75863e+03_rb,0.56222e+03_rb,0.81722e+03_rb,0.10752e+04_rb /) kbo(:, 3,44, 7) = (/ & & 0.99591e+03_rb,0.75862e+03_rb,0.56184e+03_rb,0.81680e+03_rb,0.10748e+04_rb /) kbo(:, 4,44, 7) = (/ & & 0.99589e+03_rb,0.75861e+03_rb,0.56125e+03_rb,0.81614e+03_rb,0.10741e+04_rb /) kbo(:, 5,44, 7) = (/ & & 0.99588e+03_rb,0.75861e+03_rb,0.56044e+03_rb,0.81523e+03_rb,0.10730e+04_rb /) kbo(:, 1,45, 7) = (/ & & 0.99589e+03_rb,0.75861e+03_rb,0.56237e+03_rb,0.81733e+03_rb,0.10754e+04_rb /) kbo(:, 2,45, 7) = (/ & & 0.99588e+03_rb,0.75861e+03_rb,0.56230e+03_rb,0.81729e+03_rb,0.10753e+04_rb /) kbo(:, 3,45, 7) = (/ & & 0.99587e+03_rb,0.75860e+03_rb,0.56199e+03_rb,0.81699e+03_rb,0.10750e+04_rb /) kbo(:, 4,45, 7) = (/ & & 0.99586e+03_rb,0.75859e+03_rb,0.56147e+03_rb,0.81641e+03_rb,0.10743e+04_rb /) kbo(:, 5,45, 7) = (/ & & 0.99585e+03_rb,0.75859e+03_rb,0.56074e+03_rb,0.81557e+03_rb,0.10734e+04_rb /) kbo(:, 1,46, 7) = (/ & & 0.99586e+03_rb,0.75859e+03_rb,0.56233e+03_rb,0.81728e+03_rb,0.10753e+04_rb /) kbo(:, 2,46, 7) = (/ & & 0.99585e+03_rb,0.75859e+03_rb,0.56235e+03_rb,0.81734e+03_rb,0.10754e+04_rb /) kbo(:, 3,46, 7) = (/ & & 0.99585e+03_rb,0.75858e+03_rb,0.56213e+03_rb,0.81712e+03_rb,0.10751e+04_rb /) kbo(:, 4,46, 7) = (/ & & 0.99584e+03_rb,0.75858e+03_rb,0.56169e+03_rb,0.81663e+03_rb,0.10746e+04_rb /) kbo(:, 5,46, 7) = (/ & & 0.99583e+03_rb,0.75858e+03_rb,0.56103e+03_rb,0.81590e+03_rb,0.10738e+04_rb /) kbo(:, 1,47, 7) = (/ & & 0.99585e+03_rb,0.75858e+03_rb,0.56226e+03_rb,0.81718e+03_rb,0.10753e+04_rb /) kbo(:, 2,47, 7) = (/ & & 0.99583e+03_rb,0.75857e+03_rb,0.56237e+03_rb,0.81736e+03_rb,0.10754e+04_rb /) kbo(:, 3,47, 7) = (/ & & 0.99583e+03_rb,0.75857e+03_rb,0.56224e+03_rb,0.81723e+03_rb,0.10752e+04_rb /) kbo(:, 4,47, 7) = (/ & & 0.99582e+03_rb,0.75856e+03_rb,0.56189e+03_rb,0.81686e+03_rb,0.10748e+04_rb /) kbo(:, 5,47, 7) = (/ & & 0.99581e+03_rb,0.75856e+03_rb,0.56132e+03_rb,0.81626e+03_rb,0.10741e+04_rb /) kbo(:, 1,48, 7) = (/ & & 0.99582e+03_rb,0.75856e+03_rb,0.56215e+03_rb,0.81703e+03_rb,0.10751e+04_rb /) kbo(:, 2,48, 7) = (/ & & 0.99582e+03_rb,0.75856e+03_rb,0.56235e+03_rb,0.81732e+03_rb,0.10754e+04_rb /) kbo(:, 3,48, 7) = (/ & & 0.99581e+03_rb,0.75855e+03_rb,0.56232e+03_rb,0.81733e+03_rb,0.10753e+04_rb /) kbo(:, 4,48, 7) = (/ & & 0.99580e+03_rb,0.75855e+03_rb,0.56206e+03_rb,0.81704e+03_rb,0.10750e+04_rb /) kbo(:, 5,48, 7) = (/ & & 0.99580e+03_rb,0.75855e+03_rb,0.56157e+03_rb,0.81651e+03_rb,0.10744e+04_rb /) kbo(:, 1,49, 7) = (/ & & 0.99581e+03_rb,0.75855e+03_rb,0.56199e+03_rb,0.81684e+03_rb,0.10748e+04_rb /) kbo(:, 2,49, 7) = (/ & & 0.99580e+03_rb,0.75855e+03_rb,0.56230e+03_rb,0.81724e+03_rb,0.10753e+04_rb /) kbo(:, 3,49, 7) = (/ & & 0.99580e+03_rb,0.75854e+03_rb,0.56236e+03_rb,0.81736e+03_rb,0.10753e+04_rb /) kbo(:, 4,49, 7) = (/ & & 0.99579e+03_rb,0.75854e+03_rb,0.56219e+03_rb,0.81718e+03_rb,0.10752e+04_rb /) kbo(:, 5,49, 7) = (/ & & 0.99579e+03_rb,0.75854e+03_rb,0.56179e+03_rb,0.81678e+03_rb,0.10747e+04_rb /) kbo(:, 1,50, 7) = (/ & & 0.99579e+03_rb,0.75854e+03_rb,0.56180e+03_rb,0.81662e+03_rb,0.10745e+04_rb /) kbo(:, 2,50, 7) = (/ & & 0.99579e+03_rb,0.75854e+03_rb,0.56221e+03_rb,0.81713e+03_rb,0.10752e+04_rb /) kbo(:, 3,50, 7) = (/ & & 0.99579e+03_rb,0.75854e+03_rb,0.56237e+03_rb,0.81735e+03_rb,0.10754e+04_rb /) kbo(:, 4,50, 7) = (/ & & 0.99579e+03_rb,0.75854e+03_rb,0.56228e+03_rb,0.81728e+03_rb,0.10753e+04_rb /) kbo(:, 5,50, 7) = (/ & & 0.99578e+03_rb,0.75853e+03_rb,0.56197e+03_rb,0.81695e+03_rb,0.10749e+04_rb /) kbo(:, 1,51, 7) = (/ & & 0.99578e+03_rb,0.75853e+03_rb,0.56158e+03_rb,0.81637e+03_rb,0.10741e+04_rb /) kbo(:, 2,51, 7) = (/ & & 0.99578e+03_rb,0.75853e+03_rb,0.56209e+03_rb,0.81697e+03_rb,0.10750e+04_rb /) kbo(:, 3,51, 7) = (/ & & 0.99578e+03_rb,0.75853e+03_rb,0.56234e+03_rb,0.81729e+03_rb,0.10753e+04_rb /) kbo(:, 4,51, 7) = (/ & & 0.99578e+03_rb,0.75853e+03_rb,0.56234e+03_rb,0.81734e+03_rb,0.10754e+04_rb /) kbo(:, 5,51, 7) = (/ & & 0.99577e+03_rb,0.75852e+03_rb,0.56211e+03_rb,0.81712e+03_rb,0.10751e+04_rb /) kbo(:, 1,52, 7) = (/ & & 0.99577e+03_rb,0.75853e+03_rb,0.56131e+03_rb,0.81608e+03_rb,0.10737e+04_rb /) kbo(:, 2,52, 7) = (/ & & 0.99577e+03_rb,0.75852e+03_rb,0.56194e+03_rb,0.81678e+03_rb,0.10748e+04_rb /) kbo(:, 3,52, 7) = (/ & & 0.99577e+03_rb,0.75852e+03_rb,0.56228e+03_rb,0.81721e+03_rb,0.10753e+04_rb /) kbo(:, 4,52, 7) = (/ & & 0.99577e+03_rb,0.75852e+03_rb,0.56237e+03_rb,0.81738e+03_rb,0.10754e+04_rb /) kbo(:, 5,52, 7) = (/ & & 0.99576e+03_rb,0.75852e+03_rb,0.56222e+03_rb,0.81722e+03_rb,0.10752e+04_rb /) kbo(:, 1,53, 7) = (/ & & 0.99577e+03_rb,0.75852e+03_rb,0.56102e+03_rb,0.81574e+03_rb,0.10731e+04_rb /) kbo(:, 2,53, 7) = (/ & & 0.99576e+03_rb,0.75852e+03_rb,0.56174e+03_rb,0.81656e+03_rb,0.10744e+04_rb /) kbo(:, 3,53, 7) = (/ & & 0.99576e+03_rb,0.75852e+03_rb,0.56218e+03_rb,0.81709e+03_rb,0.10752e+04_rb /) kbo(:, 4,53, 7) = (/ & & 0.99576e+03_rb,0.75851e+03_rb,0.56236e+03_rb,0.81734e+03_rb,0.10754e+04_rb /) kbo(:, 5,53, 7) = (/ & & 0.99576e+03_rb,0.75852e+03_rb,0.56230e+03_rb,0.81736e+03_rb,0.10753e+04_rb /) kbo(:, 1,54, 7) = (/ & & 0.99576e+03_rb,0.75852e+03_rb,0.56072e+03_rb,0.81536e+03_rb,0.10726e+04_rb /) kbo(:, 2,54, 7) = (/ & & 0.99576e+03_rb,0.75851e+03_rb,0.56153e+03_rb,0.81633e+03_rb,0.10740e+04_rb /) kbo(:, 3,54, 7) = (/ & & 0.99575e+03_rb,0.75851e+03_rb,0.56207e+03_rb,0.81694e+03_rb,0.10750e+04_rb /) kbo(:, 4,54, 7) = (/ & & 0.99575e+03_rb,0.75851e+03_rb,0.56233e+03_rb,0.81728e+03_rb,0.10753e+04_rb /) kbo(:, 5,54, 7) = (/ & & 0.99576e+03_rb,0.75851e+03_rb,0.56235e+03_rb,0.81734e+03_rb,0.10754e+04_rb /) kbo(:, 1,55, 7) = (/ & & 0.99575e+03_rb,0.75851e+03_rb,0.56039e+03_rb,0.81495e+03_rb,0.10720e+04_rb /) kbo(:, 2,55, 7) = (/ & & 0.99575e+03_rb,0.75851e+03_rb,0.56128e+03_rb,0.81606e+03_rb,0.10736e+04_rb /) kbo(:, 3,55, 7) = (/ & & 0.99575e+03_rb,0.75851e+03_rb,0.56193e+03_rb,0.81677e+03_rb,0.10747e+04_rb /) kbo(:, 4,55, 7) = (/ & & 0.99575e+03_rb,0.75851e+03_rb,0.56227e+03_rb,0.81720e+03_rb,0.10753e+04_rb /) kbo(:, 5,55, 7) = (/ & & 0.99575e+03_rb,0.75851e+03_rb,0.56237e+03_rb,0.81736e+03_rb,0.10754e+04_rb /) kbo(:, 1,56, 7) = (/ & & 0.99575e+03_rb,0.75851e+03_rb,0.56002e+03_rb,0.81448e+03_rb,0.10713e+04_rb /) kbo(:, 2,56, 7) = (/ & & 0.99575e+03_rb,0.75851e+03_rb,0.56104e+03_rb,0.81576e+03_rb,0.10732e+04_rb /) kbo(:, 3,56, 7) = (/ & & 0.99575e+03_rb,0.75851e+03_rb,0.56175e+03_rb,0.81659e+03_rb,0.10744e+04_rb /) kbo(:, 4,56, 7) = (/ & & 0.99574e+03_rb,0.75850e+03_rb,0.56219e+03_rb,0.81709e+03_rb,0.10752e+04_rb /) kbo(:, 5,56, 7) = (/ & & 0.99574e+03_rb,0.75850e+03_rb,0.56236e+03_rb,0.81734e+03_rb,0.10754e+04_rb /) kbo(:, 1,57, 7) = (/ & & 0.99575e+03_rb,0.75851e+03_rb,0.55963e+03_rb,0.81395e+03_rb,0.10705e+04_rb /) kbo(:, 2,57, 7) = (/ & & 0.99574e+03_rb,0.75850e+03_rb,0.56076e+03_rb,0.81540e+03_rb,0.10727e+04_rb /) kbo(:, 3,57, 7) = (/ & & 0.99574e+03_rb,0.75850e+03_rb,0.56157e+03_rb,0.81635e+03_rb,0.10741e+04_rb /) kbo(:, 4,57, 7) = (/ & & 0.99574e+03_rb,0.75850e+03_rb,0.56208e+03_rb,0.81696e+03_rb,0.10750e+04_rb /) kbo(:, 5,57, 7) = (/ & & 0.99574e+03_rb,0.75850e+03_rb,0.56234e+03_rb,0.81729e+03_rb,0.10754e+04_rb /) kbo(:, 1,58, 7) = (/ & & 0.99575e+03_rb,0.75850e+03_rb,0.55922e+03_rb,0.81340e+03_rb,0.10697e+04_rb /) kbo(:, 2,58, 7) = (/ & & 0.99574e+03_rb,0.75850e+03_rb,0.56044e+03_rb,0.81503e+03_rb,0.10721e+04_rb /) kbo(:, 3,58, 7) = (/ & & 0.99574e+03_rb,0.75851e+03_rb,0.56134e+03_rb,0.81611e+03_rb,0.10737e+04_rb /) kbo(:, 4,58, 7) = (/ & & 0.99574e+03_rb,0.75851e+03_rb,0.56195e+03_rb,0.81681e+03_rb,0.10748e+04_rb /) kbo(:, 5,58, 7) = (/ & & 0.99574e+03_rb,0.75850e+03_rb,0.56228e+03_rb,0.81722e+03_rb,0.10753e+04_rb /) kbo(:, 1,59, 7) = (/ & & 0.99575e+03_rb,0.75850e+03_rb,0.55905e+03_rb,0.81317e+03_rb,0.10694e+04_rb /) kbo(:, 2,59, 7) = (/ & & 0.99574e+03_rb,0.75850e+03_rb,0.56032e+03_rb,0.81485e+03_rb,0.10718e+04_rb /) kbo(:, 3,59, 7) = (/ & & 0.99574e+03_rb,0.75850e+03_rb,0.56125e+03_rb,0.81601e+03_rb,0.10735e+04_rb /) kbo(:, 4,59, 7) = (/ & & 0.99574e+03_rb,0.75850e+03_rb,0.56189e+03_rb,0.81673e+03_rb,0.10747e+04_rb /) kbo(:, 5,59, 7) = (/ & & 0.99573e+03_rb,0.75850e+03_rb,0.56225e+03_rb,0.81718e+03_rb,0.10753e+04_rb /) kbo(:, 1,13, 8) = (/ & & 0.11451e+04_rb,0.86748e+03_rb,0.59259e+03_rb,0.85187e+03_rb,0.11225e+04_rb /) kbo(:, 2,13, 8) = (/ & & 0.11363e+04_rb,0.86085e+03_rb,0.58896e+03_rb,0.85188e+03_rb,0.11226e+04_rb /) kbo(:, 3,13, 8) = (/ & & 0.11286e+04_rb,0.85515e+03_rb,0.58586e+03_rb,0.85170e+03_rb,0.11227e+04_rb /) kbo(:, 4,13, 8) = (/ & & 0.11220e+04_rb,0.85016e+03_rb,0.58378e+03_rb,0.85132e+03_rb,0.11224e+04_rb /) kbo(:, 5,13, 8) = (/ & & 0.11162e+04_rb,0.84582e+03_rb,0.58229e+03_rb,0.85074e+03_rb,0.11218e+04_rb /) kbo(:, 1,14, 8) = (/ & & 0.11230e+04_rb,0.85087e+03_rb,0.58392e+03_rb,0.85168e+03_rb,0.11225e+04_rb /) kbo(:, 2,14, 8) = (/ & & 0.11158e+04_rb,0.84552e+03_rb,0.58280e+03_rb,0.85169e+03_rb,0.11227e+04_rb /) kbo(:, 3,14, 8) = (/ & & 0.11097e+04_rb,0.84090e+03_rb,0.58233e+03_rb,0.85151e+03_rb,0.11227e+04_rb /) kbo(:, 4,14, 8) = (/ & & 0.11043e+04_rb,0.83689e+03_rb,0.58194e+03_rb,0.85113e+03_rb,0.11223e+04_rb /) kbo(:, 5,14, 8) = (/ & & 0.10996e+04_rb,0.83336e+03_rb,0.58140e+03_rb,0.85052e+03_rb,0.11217e+04_rb /) kbo(:, 1,15, 8) = (/ & & 0.11049e+04_rb,0.83731e+03_rb,0.58207e+03_rb,0.85153e+03_rb,0.11225e+04_rb /) kbo(:, 2,15, 8) = (/ & & 0.10991e+04_rb,0.83301e+03_rb,0.58217e+03_rb,0.85153e+03_rb,0.11227e+04_rb /) kbo(:, 3,15, 8) = (/ & & 0.10942e+04_rb,0.82928e+03_rb,0.58200e+03_rb,0.85134e+03_rb,0.11226e+04_rb /) kbo(:, 4,15, 8) = (/ & & 0.10899e+04_rb,0.82605e+03_rb,0.58161e+03_rb,0.85094e+03_rb,0.11223e+04_rb /) kbo(:, 5,15, 8) = (/ & & 0.10860e+04_rb,0.82320e+03_rb,0.58108e+03_rb,0.85034e+03_rb,0.11216e+04_rb /) kbo(:, 1,16, 8) = (/ & & 0.10902e+04_rb,0.82630e+03_rb,0.58181e+03_rb,0.85141e+03_rb,0.11225e+04_rb /) kbo(:, 2,16, 8) = (/ & & 0.10856e+04_rb,0.82283e+03_rb,0.58190e+03_rb,0.85139e+03_rb,0.11227e+04_rb /) kbo(:, 3,16, 8) = (/ & & 0.10816e+04_rb,0.81983e+03_rb,0.58172e+03_rb,0.85119e+03_rb,0.11226e+04_rb /) kbo(:, 4,16, 8) = (/ & & 0.10781e+04_rb,0.81721e+03_rb,0.58133e+03_rb,0.85078e+03_rb,0.11222e+04_rb /) kbo(:, 5,16, 8) = (/ & & 0.10750e+04_rb,0.81491e+03_rb,0.58080e+03_rb,0.85015e+03_rb,0.11215e+04_rb /) kbo(:, 1,17, 8) = (/ & & 0.10783e+04_rb,0.81738e+03_rb,0.58160e+03_rb,0.85131e+03_rb,0.11225e+04_rb /) kbo(:, 2,17, 8) = (/ & & 0.10746e+04_rb,0.81457e+03_rb,0.58168e+03_rb,0.85129e+03_rb,0.11227e+04_rb /) kbo(:, 3,17, 8) = (/ & & 0.10713e+04_rb,0.81215e+03_rb,0.58149e+03_rb,0.85108e+03_rb,0.11226e+04_rb /) kbo(:, 4,17, 8) = (/ & & 0.10685e+04_rb,0.81004e+03_rb,0.58109e+03_rb,0.85064e+03_rb,0.11222e+04_rb /) kbo(:, 5,17, 8) = (/ & & 0.10660e+04_rb,0.80818e+03_rb,0.58056e+03_rb,0.85000e+03_rb,0.11214e+04_rb /) kbo(:, 1,18, 8) = (/ & & 0.10686e+04_rb,0.81013e+03_rb,0.58144e+03_rb,0.85124e+03_rb,0.11225e+04_rb /) kbo(:, 2,18, 8) = (/ & & 0.10656e+04_rb,0.80786e+03_rb,0.58150e+03_rb,0.85119e+03_rb,0.11227e+04_rb /) kbo(:, 3,18, 8) = (/ & & 0.10630e+04_rb,0.80591e+03_rb,0.58129e+03_rb,0.85095e+03_rb,0.11226e+04_rb /) kbo(:, 4,18, 8) = (/ & & 0.10607e+04_rb,0.80419e+03_rb,0.58089e+03_rb,0.85052e+03_rb,0.11221e+04_rb /) kbo(:, 5,18, 8) = (/ & & 0.10587e+04_rb,0.80269e+03_rb,0.58036e+03_rb,0.84984e+03_rb,0.11213e+04_rb /) kbo(:, 1,19, 8) = (/ & & 0.10608e+04_rb,0.80424e+03_rb,0.58130e+03_rb,0.85117e+03_rb,0.11226e+04_rb /) kbo(:, 2,19, 8) = (/ & & 0.10584e+04_rb,0.80242e+03_rb,0.58135e+03_rb,0.85109e+03_rb,0.11227e+04_rb /) kbo(:, 3,19, 8) = (/ & & 0.10562e+04_rb,0.80084e+03_rb,0.58113e+03_rb,0.85087e+03_rb,0.11225e+04_rb /) kbo(:, 4,19, 8) = (/ & & 0.10544e+04_rb,0.79946e+03_rb,0.58072e+03_rb,0.85040e+03_rb,0.11220e+04_rb /) kbo(:, 5,19, 8) = (/ & & 0.10528e+04_rb,0.79825e+03_rb,0.58019e+03_rb,0.84971e+03_rb,0.11212e+04_rb /) kbo(:, 1,20, 8) = (/ & & 0.10544e+04_rb,0.79943e+03_rb,0.58120e+03_rb,0.85111e+03_rb,0.11226e+04_rb /) kbo(:, 2,20, 8) = (/ & & 0.10524e+04_rb,0.79797e+03_rb,0.58122e+03_rb,0.85103e+03_rb,0.11227e+04_rb /) kbo(:, 3,20, 8) = (/ & & 0.10507e+04_rb,0.79669e+03_rb,0.58098e+03_rb,0.85078e+03_rb,0.11225e+04_rb /) kbo(:, 4,20, 8) = (/ & & 0.10492e+04_rb,0.79558e+03_rb,0.58056e+03_rb,0.85028e+03_rb,0.11220e+04_rb /) kbo(:, 5,20, 8) = (/ & & 0.10479e+04_rb,0.79460e+03_rb,0.58002e+03_rb,0.84958e+03_rb,0.11211e+04_rb /) kbo(:, 1,21, 8) = (/ & & 0.10492e+04_rb,0.79553e+03_rb,0.58112e+03_rb,0.85107e+03_rb,0.11227e+04_rb /) kbo(:, 2,21, 8) = (/ & & 0.10476e+04_rb,0.79436e+03_rb,0.58112e+03_rb,0.85096e+03_rb,0.11227e+04_rb /) kbo(:, 3,21, 8) = (/ & & 0.10462e+04_rb,0.79334e+03_rb,0.58085e+03_rb,0.85069e+03_rb,0.11224e+04_rb /) kbo(:, 4,21, 8) = (/ & & 0.10450e+04_rb,0.79243e+03_rb,0.58042e+03_rb,0.85021e+03_rb,0.11219e+04_rb /) kbo(:, 5,21, 8) = (/ & & 0.10440e+04_rb,0.79165e+03_rb,0.57987e+03_rb,0.84945e+03_rb,0.11210e+04_rb /) kbo(:, 1,22, 8) = (/ & & 0.10449e+04_rb,0.79230e+03_rb,0.58106e+03_rb,0.85103e+03_rb,0.11226e+04_rb /) kbo(:, 2,22, 8) = (/ & & 0.10436e+04_rb,0.79136e+03_rb,0.58100e+03_rb,0.85090e+03_rb,0.11227e+04_rb /) kbo(:, 3,22, 8) = (/ & & 0.10425e+04_rb,0.79054e+03_rb,0.58071e+03_rb,0.85058e+03_rb,0.11224e+04_rb /) kbo(:, 4,22, 8) = (/ & & 0.10416e+04_rb,0.78983e+03_rb,0.58026e+03_rb,0.85002e+03_rb,0.11217e+04_rb /) kbo(:, 5,22, 8) = (/ & & 0.10407e+04_rb,0.78921e+03_rb,0.57969e+03_rb,0.84925e+03_rb,0.11208e+04_rb /) kbo(:, 1,23, 8) = (/ & & 0.10414e+04_rb,0.78969e+03_rb,0.58100e+03_rb,0.85099e+03_rb,0.11227e+04_rb /) kbo(:, 2,23, 8) = (/ & & 0.10404e+04_rb,0.78894e+03_rb,0.58090e+03_rb,0.85083e+03_rb,0.11226e+04_rb /) kbo(:, 3,23, 8) = (/ & & 0.10395e+04_rb,0.78829e+03_rb,0.58058e+03_rb,0.85047e+03_rb,0.11223e+04_rb /) kbo(:, 4,23, 8) = (/ & & 0.10387e+04_rb,0.78772e+03_rb,0.58011e+03_rb,0.84989e+03_rb,0.11216e+04_rb /) kbo(:, 5,23, 8) = (/ & & 0.10381e+04_rb,0.78721e+03_rb,0.57952e+03_rb,0.84905e+03_rb,0.11206e+04_rb /) kbo(:, 1,24, 8) = (/ & & 0.10386e+04_rb,0.78759e+03_rb,0.58095e+03_rb,0.85095e+03_rb,0.11227e+04_rb /) kbo(:, 2,24, 8) = (/ & & 0.10378e+04_rb,0.78698e+03_rb,0.58081e+03_rb,0.85075e+03_rb,0.11226e+04_rb /) kbo(:, 3,24, 8) = (/ & & 0.10371e+04_rb,0.78646e+03_rb,0.58046e+03_rb,0.85035e+03_rb,0.11222e+04_rb /) kbo(:, 4,24, 8) = (/ & & 0.10365e+04_rb,0.78601e+03_rb,0.57995e+03_rb,0.84971e+03_rb,0.11214e+04_rb /) kbo(:, 5,24, 8) = (/ & & 0.10359e+04_rb,0.78561e+03_rb,0.57934e+03_rb,0.84885e+03_rb,0.11203e+04_rb /) kbo(:, 1,25, 8) = (/ & & 0.10363e+04_rb,0.78588e+03_rb,0.58090e+03_rb,0.85090e+03_rb,0.11227e+04_rb /) kbo(:, 2,25, 8) = (/ & & 0.10357e+04_rb,0.78541e+03_rb,0.58070e+03_rb,0.85067e+03_rb,0.11225e+04_rb /) kbo(:, 3,25, 8) = (/ & & 0.10351e+04_rb,0.78498e+03_rb,0.58032e+03_rb,0.85020e+03_rb,0.11220e+04_rb /) kbo(:, 4,25, 8) = (/ & & 0.10346e+04_rb,0.78461e+03_rb,0.57980e+03_rb,0.84953e+03_rb,0.11212e+04_rb /) kbo(:, 5,25, 8) = (/ & & 0.10342e+04_rb,0.78430e+03_rb,0.57916e+03_rb,0.84863e+03_rb,0.11201e+04_rb /) kbo(:, 1,26, 8) = (/ & & 0.10345e+04_rb,0.78450e+03_rb,0.58084e+03_rb,0.85084e+03_rb,0.11227e+04_rb /) kbo(:, 2,26, 8) = (/ & & 0.10339e+04_rb,0.78411e+03_rb,0.58059e+03_rb,0.85057e+03_rb,0.11224e+04_rb /) kbo(:, 3,26, 8) = (/ & & 0.10335e+04_rb,0.78378e+03_rb,0.58018e+03_rb,0.85004e+03_rb,0.11219e+04_rb /) kbo(:, 4,26, 8) = (/ & & 0.10331e+04_rb,0.78349e+03_rb,0.57964e+03_rb,0.84934e+03_rb,0.11210e+04_rb /) kbo(:, 5,26, 8) = (/ & & 0.10328e+04_rb,0.78323e+03_rb,0.57897e+03_rb,0.84838e+03_rb,0.11198e+04_rb /) kbo(:, 1,27, 8) = (/ & & 0.10329e+04_rb,0.78338e+03_rb,0.58078e+03_rb,0.85078e+03_rb,0.11227e+04_rb /) kbo(:, 2,27, 8) = (/ & & 0.10326e+04_rb,0.78307e+03_rb,0.58048e+03_rb,0.85045e+03_rb,0.11223e+04_rb /) kbo(:, 3,27, 8) = (/ & & 0.10322e+04_rb,0.78282e+03_rb,0.58003e+03_rb,0.84982e+03_rb,0.11217e+04_rb /) kbo(:, 4,27, 8) = (/ & & 0.10319e+04_rb,0.78258e+03_rb,0.57947e+03_rb,0.84907e+03_rb,0.11207e+04_rb /) kbo(:, 5,27, 8) = (/ & & 0.10316e+04_rb,0.78237e+03_rb,0.57877e+03_rb,0.84811e+03_rb,0.11194e+04_rb /) kbo(:, 1,28, 8) = (/ & & 0.10318e+04_rb,0.78248e+03_rb,0.58069e+03_rb,0.85072e+03_rb,0.11226e+04_rb /) kbo(:, 2,28, 8) = (/ & & 0.10314e+04_rb,0.78225e+03_rb,0.58037e+03_rb,0.85030e+03_rb,0.11222e+04_rb /) kbo(:, 3,28, 8) = (/ & & 0.10312e+04_rb,0.78205e+03_rb,0.57989e+03_rb,0.84960e+03_rb,0.11215e+04_rb /) kbo(:, 4,28, 8) = (/ & & 0.10309e+04_rb,0.78185e+03_rb,0.57929e+03_rb,0.84888e+03_rb,0.11204e+04_rb /) kbo(:, 5,28, 8) = (/ & & 0.10307e+04_rb,0.78168e+03_rb,0.57856e+03_rb,0.84784e+03_rb,0.11191e+04_rb /) kbo(:, 1,29, 8) = (/ & & 0.10308e+04_rb,0.78175e+03_rb,0.58061e+03_rb,0.85062e+03_rb,0.11225e+04_rb /) kbo(:, 2,29, 8) = (/ & & 0.10305e+04_rb,0.78157e+03_rb,0.58024e+03_rb,0.85019e+03_rb,0.11221e+04_rb /) kbo(:, 3,29, 8) = (/ & & 0.10303e+04_rb,0.78140e+03_rb,0.57974e+03_rb,0.84950e+03_rb,0.11213e+04_rb /) kbo(:, 4,29, 8) = (/ & & 0.10301e+04_rb,0.78126e+03_rb,0.57911e+03_rb,0.84863e+03_rb,0.11201e+04_rb /) kbo(:, 5,29, 8) = (/ & & 0.10300e+04_rb,0.78112e+03_rb,0.57834e+03_rb,0.84752e+03_rb,0.11188e+04_rb /) kbo(:, 1,30, 8) = (/ & & 0.10300e+04_rb,0.78117e+03_rb,0.58052e+03_rb,0.85055e+03_rb,0.11224e+04_rb /) kbo(:, 2,30, 8) = (/ & & 0.10298e+04_rb,0.78102e+03_rb,0.58011e+03_rb,0.85001e+03_rb,0.11219e+04_rb /) kbo(:, 3,30, 8) = (/ & & 0.10296e+04_rb,0.78089e+03_rb,0.57958e+03_rb,0.84932e+03_rb,0.11210e+04_rb /) kbo(:, 4,30, 8) = (/ & & 0.10295e+04_rb,0.78077e+03_rb,0.57892e+03_rb,0.84838e+03_rb,0.11198e+04_rb /) kbo(:, 5,30, 8) = (/ & & 0.10294e+04_rb,0.78066e+03_rb,0.57811e+03_rb,0.84720e+03_rb,0.11184e+04_rb /) kbo(:, 1,31, 8) = (/ & & 0.10294e+04_rb,0.78070e+03_rb,0.58042e+03_rb,0.85041e+03_rb,0.11223e+04_rb /) kbo(:, 2,31, 8) = (/ & & 0.10292e+04_rb,0.78058e+03_rb,0.57998e+03_rb,0.84985e+03_rb,0.11217e+04_rb /) kbo(:, 3,31, 8) = (/ & & 0.10291e+04_rb,0.78049e+03_rb,0.57941e+03_rb,0.84908e+03_rb,0.11207e+04_rb /) kbo(:, 4,31, 8) = (/ & & 0.10290e+04_rb,0.78039e+03_rb,0.57872e+03_rb,0.84808e+03_rb,0.11195e+04_rb /) kbo(:, 5,31, 8) = (/ & & 0.10289e+04_rb,0.78030e+03_rb,0.57786e+03_rb,0.84686e+03_rb,0.11179e+04_rb /) kbo(:, 1,32, 8) = (/ & & 0.10289e+04_rb,0.78033e+03_rb,0.58031e+03_rb,0.85030e+03_rb,0.11222e+04_rb /) kbo(:, 2,32, 8) = (/ & & 0.10288e+04_rb,0.78024e+03_rb,0.57984e+03_rb,0.84967e+03_rb,0.11215e+04_rb /) kbo(:, 3,32, 8) = (/ & & 0.10287e+04_rb,0.78016e+03_rb,0.57924e+03_rb,0.84884e+03_rb,0.11204e+04_rb /) kbo(:, 4,32, 8) = (/ & & 0.10286e+04_rb,0.78009e+03_rb,0.57851e+03_rb,0.84778e+03_rb,0.11191e+04_rb /) kbo(:, 5,32, 8) = (/ & & 0.10285e+04_rb,0.78000e+03_rb,0.57759e+03_rb,0.84651e+03_rb,0.11175e+04_rb /) kbo(:, 1,33, 8) = (/ & & 0.10285e+04_rb,0.78003e+03_rb,0.58019e+03_rb,0.85016e+03_rb,0.11220e+04_rb /) kbo(:, 2,33, 8) = (/ & & 0.10284e+04_rb,0.77995e+03_rb,0.57968e+03_rb,0.84947e+03_rb,0.11212e+04_rb /) kbo(:, 3,33, 8) = (/ & & 0.10283e+04_rb,0.77988e+03_rb,0.57905e+03_rb,0.84858e+03_rb,0.11201e+04_rb /) kbo(:, 4,33, 8) = (/ & & 0.10282e+04_rb,0.77982e+03_rb,0.57829e+03_rb,0.84747e+03_rb,0.11187e+04_rb /) kbo(:, 5,33, 8) = (/ & & 0.10282e+04_rb,0.77978e+03_rb,0.57730e+03_rb,0.84615e+03_rb,0.11170e+04_rb /) kbo(:, 1,34, 8) = (/ & & 0.10282e+04_rb,0.77978e+03_rb,0.58008e+03_rb,0.84998e+03_rb,0.11219e+04_rb /) kbo(:, 2,34, 8) = (/ & & 0.10281e+04_rb,0.77972e+03_rb,0.57954e+03_rb,0.84930e+03_rb,0.11210e+04_rb /) kbo(:, 3,34, 8) = (/ & & 0.10280e+04_rb,0.77967e+03_rb,0.57889e+03_rb,0.84836e+03_rb,0.11198e+04_rb /) kbo(:, 4,34, 8) = (/ & & 0.10280e+04_rb,0.77962e+03_rb,0.57808e+03_rb,0.84718e+03_rb,0.11184e+04_rb /) kbo(:, 5,34, 8) = (/ & & 0.10279e+04_rb,0.77958e+03_rb,0.57705e+03_rb,0.84582e+03_rb,0.11166e+04_rb /) kbo(:, 1,35, 8) = (/ & & 0.10279e+04_rb,0.77958e+03_rb,0.58001e+03_rb,0.84995e+03_rb,0.11218e+04_rb /) kbo(:, 2,35, 8) = (/ & & 0.10278e+04_rb,0.77953e+03_rb,0.57946e+03_rb,0.84916e+03_rb,0.11209e+04_rb /) kbo(:, 3,35, 8) = (/ & & 0.10278e+04_rb,0.77951e+03_rb,0.57880e+03_rb,0.84823e+03_rb,0.11196e+04_rb /) kbo(:, 4,35, 8) = (/ & & 0.10277e+04_rb,0.77946e+03_rb,0.57796e+03_rb,0.84701e+03_rb,0.11181e+04_rb /) kbo(:, 5,35, 8) = (/ & & 0.10277e+04_rb,0.77943e+03_rb,0.57689e+03_rb,0.84563e+03_rb,0.11163e+04_rb /) kbo(:, 1,36, 8) = (/ & & 0.10277e+04_rb,0.77944e+03_rb,0.58000e+03_rb,0.84992e+03_rb,0.11218e+04_rb /) kbo(:, 2,36, 8) = (/ & & 0.10277e+04_rb,0.77940e+03_rb,0.57944e+03_rb,0.84917e+03_rb,0.11208e+04_rb /) kbo(:, 3,36, 8) = (/ & & 0.10276e+04_rb,0.77936e+03_rb,0.57877e+03_rb,0.84819e+03_rb,0.11196e+04_rb /) kbo(:, 4,36, 8) = (/ & & 0.10276e+04_rb,0.77933e+03_rb,0.57793e+03_rb,0.84697e+03_rb,0.11181e+04_rb /) kbo(:, 5,36, 8) = (/ & & 0.10275e+04_rb,0.77931e+03_rb,0.57686e+03_rb,0.84561e+03_rb,0.11162e+04_rb /) kbo(:, 1,37, 8) = (/ & & 0.10275e+04_rb,0.77932e+03_rb,0.58006e+03_rb,0.85002e+03_rb,0.11219e+04_rb /) kbo(:, 2,37, 8) = (/ & & 0.10275e+04_rb,0.77929e+03_rb,0.57952e+03_rb,0.84927e+03_rb,0.11210e+04_rb /) kbo(:, 3,37, 8) = (/ & & 0.10275e+04_rb,0.77926e+03_rb,0.57886e+03_rb,0.84832e+03_rb,0.11198e+04_rb /) kbo(:, 4,37, 8) = (/ & & 0.10274e+04_rb,0.77924e+03_rb,0.57805e+03_rb,0.84715e+03_rb,0.11183e+04_rb /) kbo(:, 5,37, 8) = (/ & & 0.10274e+04_rb,0.77921e+03_rb,0.57701e+03_rb,0.84575e+03_rb,0.11165e+04_rb /) kbo(:, 1,38, 8) = (/ & & 0.10274e+04_rb,0.77922e+03_rb,0.58012e+03_rb,0.85009e+03_rb,0.11220e+04_rb /) kbo(:, 2,38, 8) = (/ & & 0.10274e+04_rb,0.77920e+03_rb,0.57959e+03_rb,0.84938e+03_rb,0.11211e+04_rb /) kbo(:, 3,38, 8) = (/ & & 0.10274e+04_rb,0.77918e+03_rb,0.57896e+03_rb,0.84848e+03_rb,0.11200e+04_rb /) kbo(:, 4,38, 8) = (/ & & 0.10273e+04_rb,0.77915e+03_rb,0.57818e+03_rb,0.84731e+03_rb,0.11185e+04_rb /) kbo(:, 5,38, 8) = (/ & & 0.10273e+04_rb,0.77912e+03_rb,0.57716e+03_rb,0.84599e+03_rb,0.11168e+04_rb /) kbo(:, 1,39, 8) = (/ & & 0.10273e+04_rb,0.77914e+03_rb,0.58018e+03_rb,0.85016e+03_rb,0.11221e+04_rb /) kbo(:, 2,39, 8) = (/ & & 0.10273e+04_rb,0.77912e+03_rb,0.57968e+03_rb,0.84939e+03_rb,0.11213e+04_rb /) kbo(:, 3,39, 8) = (/ & & 0.10273e+04_rb,0.77911e+03_rb,0.57905e+03_rb,0.84861e+03_rb,0.11201e+04_rb /) kbo(:, 4,39, 8) = (/ & & 0.10272e+04_rb,0.77910e+03_rb,0.57829e+03_rb,0.84750e+03_rb,0.11187e+04_rb /) kbo(:, 5,39, 8) = (/ & & 0.10272e+04_rb,0.77907e+03_rb,0.57732e+03_rb,0.84617e+03_rb,0.11171e+04_rb /) kbo(:, 1,40, 8) = (/ & & 0.10272e+04_rb,0.77908e+03_rb,0.58028e+03_rb,0.85029e+03_rb,0.11222e+04_rb /) kbo(:, 2,40, 8) = (/ & & 0.10272e+04_rb,0.77906e+03_rb,0.57981e+03_rb,0.84968e+03_rb,0.11215e+04_rb /) kbo(:, 3,40, 8) = (/ & & 0.10272e+04_rb,0.77904e+03_rb,0.57922e+03_rb,0.84885e+03_rb,0.11204e+04_rb /) kbo(:, 4,40, 8) = (/ & & 0.10272e+04_rb,0.77904e+03_rb,0.57849e+03_rb,0.84779e+03_rb,0.11191e+04_rb /) kbo(:, 5,40, 8) = (/ & & 0.10272e+04_rb,0.77901e+03_rb,0.57757e+03_rb,0.84651e+03_rb,0.11176e+04_rb /) kbo(:, 1,41, 8) = (/ & & 0.10272e+04_rb,0.77903e+03_rb,0.58037e+03_rb,0.85041e+03_rb,0.11224e+04_rb /) kbo(:, 2,41, 8) = (/ & & 0.10272e+04_rb,0.77902e+03_rb,0.57994e+03_rb,0.84983e+03_rb,0.11217e+04_rb /) kbo(:, 3,41, 8) = (/ & & 0.10271e+04_rb,0.77900e+03_rb,0.57937e+03_rb,0.84906e+03_rb,0.11207e+04_rb /) kbo(:, 4,41, 8) = (/ & & 0.10271e+04_rb,0.77898e+03_rb,0.57870e+03_rb,0.84808e+03_rb,0.11195e+04_rb /) kbo(:, 5,41, 8) = (/ & & 0.10271e+04_rb,0.77898e+03_rb,0.57782e+03_rb,0.84685e+03_rb,0.11180e+04_rb /) kbo(:, 1,42, 8) = (/ & & 0.10271e+04_rb,0.77900e+03_rb,0.58046e+03_rb,0.85051e+03_rb,0.11225e+04_rb /) kbo(:, 2,42, 8) = (/ & & 0.10271e+04_rb,0.77898e+03_rb,0.58006e+03_rb,0.85002e+03_rb,0.11219e+04_rb /) kbo(:, 3,42, 8) = (/ & & 0.10271e+04_rb,0.77896e+03_rb,0.57953e+03_rb,0.84930e+03_rb,0.11210e+04_rb /) kbo(:, 4,42, 8) = (/ & & 0.10271e+04_rb,0.77895e+03_rb,0.57888e+03_rb,0.84835e+03_rb,0.11198e+04_rb /) kbo(:, 5,42, 8) = (/ & & 0.10270e+04_rb,0.77894e+03_rb,0.57806e+03_rb,0.84718e+03_rb,0.11184e+04_rb /) kbo(:, 1,43, 8) = (/ & & 0.10271e+04_rb,0.77895e+03_rb,0.58056e+03_rb,0.85062e+03_rb,0.11226e+04_rb /) kbo(:, 2,43, 8) = (/ & & 0.10270e+04_rb,0.77895e+03_rb,0.58020e+03_rb,0.85017e+03_rb,0.11221e+04_rb /) kbo(:, 3,43, 8) = (/ & & 0.10270e+04_rb,0.77892e+03_rb,0.57970e+03_rb,0.84954e+03_rb,0.11213e+04_rb /) kbo(:, 4,43, 8) = (/ & & 0.10270e+04_rb,0.77892e+03_rb,0.57909e+03_rb,0.84866e+03_rb,0.11202e+04_rb /) kbo(:, 5,43, 8) = (/ & & 0.10270e+04_rb,0.77891e+03_rb,0.57834e+03_rb,0.84756e+03_rb,0.11188e+04_rb /) kbo(:, 1,44, 8) = (/ & & 0.10270e+04_rb,0.77892e+03_rb,0.58064e+03_rb,0.85071e+03_rb,0.11226e+04_rb /) kbo(:, 2,44, 8) = (/ & & 0.10270e+04_rb,0.77891e+03_rb,0.58034e+03_rb,0.85036e+03_rb,0.11223e+04_rb /) kbo(:, 3,44, 8) = (/ & & 0.10270e+04_rb,0.77891e+03_rb,0.57988e+03_rb,0.84979e+03_rb,0.11216e+04_rb /) kbo(:, 4,44, 8) = (/ & & 0.10270e+04_rb,0.77890e+03_rb,0.57931e+03_rb,0.84899e+03_rb,0.11206e+04_rb /) kbo(:, 5,44, 8) = (/ & & 0.10270e+04_rb,0.77888e+03_rb,0.57861e+03_rb,0.84797e+03_rb,0.11193e+04_rb /) kbo(:, 1,45, 8) = (/ & & 0.10270e+04_rb,0.77889e+03_rb,0.58069e+03_rb,0.85078e+03_rb,0.11227e+04_rb /) kbo(:, 2,45, 8) = (/ & & 0.10270e+04_rb,0.77888e+03_rb,0.58047e+03_rb,0.85051e+03_rb,0.11224e+04_rb /) kbo(:, 3,45, 8) = (/ & & 0.10270e+04_rb,0.77888e+03_rb,0.58005e+03_rb,0.84999e+03_rb,0.11219e+04_rb /) kbo(:, 4,45, 8) = (/ & & 0.10270e+04_rb,0.77888e+03_rb,0.57952e+03_rb,0.84927e+03_rb,0.11210e+04_rb /) kbo(:, 5,45, 8) = (/ & & 0.10269e+04_rb,0.77886e+03_rb,0.57890e+03_rb,0.84837e+03_rb,0.11198e+04_rb /) kbo(:, 1,46, 8) = (/ & & 0.10270e+04_rb,0.77887e+03_rb,0.58072e+03_rb,0.85082e+03_rb,0.11227e+04_rb /) kbo(:, 2,46, 8) = (/ & & 0.10270e+04_rb,0.77886e+03_rb,0.58056e+03_rb,0.85063e+03_rb,0.11226e+04_rb /) kbo(:, 3,46, 8) = (/ & & 0.10269e+04_rb,0.77886e+03_rb,0.58022e+03_rb,0.85021e+03_rb,0.11221e+04_rb /) kbo(:, 4,46, 8) = (/ & & 0.10270e+04_rb,0.77885e+03_rb,0.57972e+03_rb,0.84957e+03_rb,0.11213e+04_rb /) kbo(:, 5,46, 8) = (/ & & 0.10269e+04_rb,0.77884e+03_rb,0.57911e+03_rb,0.84871e+03_rb,0.11203e+04_rb /) kbo(:, 1,47, 8) = (/ & & 0.10269e+04_rb,0.77885e+03_rb,0.58070e+03_rb,0.85086e+03_rb,0.11227e+04_rb /) kbo(:, 2,47, 8) = (/ & & 0.10269e+04_rb,0.77886e+03_rb,0.58066e+03_rb,0.85073e+03_rb,0.11227e+04_rb /) kbo(:, 3,47, 8) = (/ & & 0.10269e+04_rb,0.77885e+03_rb,0.58037e+03_rb,0.85041e+03_rb,0.11223e+04_rb /) kbo(:, 4,47, 8) = (/ & & 0.10269e+04_rb,0.77884e+03_rb,0.57993e+03_rb,0.84985e+03_rb,0.11217e+04_rb /) kbo(:, 5,47, 8) = (/ & & 0.10269e+04_rb,0.77883e+03_rb,0.57937e+03_rb,0.84903e+03_rb,0.11207e+04_rb /) kbo(:, 1,48, 8) = (/ & & 0.10269e+04_rb,0.77884e+03_rb,0.58064e+03_rb,0.85086e+03_rb,0.11226e+04_rb /) kbo(:, 2,48, 8) = (/ & & 0.10269e+04_rb,0.77883e+03_rb,0.58071e+03_rb,0.85080e+03_rb,0.11227e+04_rb /) kbo(:, 3,48, 8) = (/ & & 0.10269e+04_rb,0.77883e+03_rb,0.58051e+03_rb,0.85055e+03_rb,0.11225e+04_rb /) kbo(:, 4,48, 8) = (/ & & 0.10269e+04_rb,0.77883e+03_rb,0.58013e+03_rb,0.85010e+03_rb,0.11220e+04_rb /) kbo(:, 5,48, 8) = (/ & & 0.10269e+04_rb,0.77883e+03_rb,0.57961e+03_rb,0.84941e+03_rb,0.11212e+04_rb /) kbo(:, 1,49, 8) = (/ & & 0.10269e+04_rb,0.77884e+03_rb,0.58054e+03_rb,0.85082e+03_rb,0.11225e+04_rb /) kbo(:, 2,49, 8) = (/ & & 0.10269e+04_rb,0.77882e+03_rb,0.58072e+03_rb,0.85085e+03_rb,0.11227e+04_rb /) kbo(:, 3,49, 8) = (/ & & 0.10269e+04_rb,0.77883e+03_rb,0.58061e+03_rb,0.85068e+03_rb,0.11226e+04_rb /) kbo(:, 4,49, 8) = (/ & & 0.10269e+04_rb,0.77882e+03_rb,0.58029e+03_rb,0.85032e+03_rb,0.11222e+04_rb /) kbo(:, 5,49, 8) = (/ & & 0.10269e+04_rb,0.77881e+03_rb,0.57983e+03_rb,0.84969e+03_rb,0.11215e+04_rb /) kbo(:, 1,50, 8) = (/ & & 0.10269e+04_rb,0.77883e+03_rb,0.58042e+03_rb,0.85074e+03_rb,0.11224e+04_rb /) kbo(:, 2,50, 8) = (/ & & 0.10269e+04_rb,0.77881e+03_rb,0.58068e+03_rb,0.85085e+03_rb,0.11226e+04_rb /) kbo(:, 3,50, 8) = (/ & & 0.10269e+04_rb,0.77882e+03_rb,0.58069e+03_rb,0.85077e+03_rb,0.11227e+04_rb /) kbo(:, 4,50, 8) = (/ & & 0.10269e+04_rb,0.77880e+03_rb,0.58043e+03_rb,0.85048e+03_rb,0.11224e+04_rb /) kbo(:, 5,50, 8) = (/ & & 0.10269e+04_rb,0.77880e+03_rb,0.58002e+03_rb,0.84997e+03_rb,0.11218e+04_rb /) kbo(:, 1,51, 8) = (/ & & 0.10269e+04_rb,0.77881e+03_rb,0.58027e+03_rb,0.85064e+03_rb,0.11224e+04_rb /) kbo(:, 2,51, 8) = (/ & & 0.10269e+04_rb,0.77882e+03_rb,0.58061e+03_rb,0.85085e+03_rb,0.11226e+04_rb /) kbo(:, 3,51, 8) = (/ & & 0.10269e+04_rb,0.77880e+03_rb,0.58071e+03_rb,0.85082e+03_rb,0.11227e+04_rb /) kbo(:, 4,51, 8) = (/ & & 0.10269e+04_rb,0.77880e+03_rb,0.58055e+03_rb,0.85061e+03_rb,0.11226e+04_rb /) kbo(:, 5,51, 8) = (/ & & 0.10269e+04_rb,0.77881e+03_rb,0.58020e+03_rb,0.85015e+03_rb,0.11221e+04_rb /) kbo(:, 1,52, 8) = (/ & & 0.10269e+04_rb,0.77880e+03_rb,0.58011e+03_rb,0.85051e+03_rb,0.11222e+04_rb /) kbo(:, 2,52, 8) = (/ & & 0.10269e+04_rb,0.77880e+03_rb,0.58051e+03_rb,0.85080e+03_rb,0.11225e+04_rb /) kbo(:, 3,52, 8) = (/ & & 0.10269e+04_rb,0.77880e+03_rb,0.58071e+03_rb,0.85085e+03_rb,0.11227e+04_rb /) kbo(:, 4,52, 8) = (/ & & 0.10268e+04_rb,0.77879e+03_rb,0.58064e+03_rb,0.85068e+03_rb,0.11226e+04_rb /) kbo(:, 5,52, 8) = (/ & & 0.10268e+04_rb,0.77879e+03_rb,0.58034e+03_rb,0.85037e+03_rb,0.11223e+04_rb /) kbo(:, 1,53, 8) = (/ & & 0.10269e+04_rb,0.77880e+03_rb,0.57994e+03_rb,0.85036e+03_rb,0.11220e+04_rb /) kbo(:, 2,53, 8) = (/ & & 0.10269e+04_rb,0.77879e+03_rb,0.58038e+03_rb,0.85072e+03_rb,0.11224e+04_rb /) kbo(:, 3,53, 8) = (/ & & 0.10268e+04_rb,0.77879e+03_rb,0.58066e+03_rb,0.85087e+03_rb,0.11226e+04_rb /) kbo(:, 4,53, 8) = (/ & & 0.10269e+04_rb,0.77880e+03_rb,0.58069e+03_rb,0.85078e+03_rb,0.11227e+04_rb /) kbo(:, 5,53, 8) = (/ & & 0.10268e+04_rb,0.77878e+03_rb,0.58047e+03_rb,0.85044e+03_rb,0.11225e+04_rb /) kbo(:, 1,54, 8) = (/ & & 0.10268e+04_rb,0.77879e+03_rb,0.57977e+03_rb,0.85022e+03_rb,0.11219e+04_rb /) kbo(:, 2,54, 8) = (/ & & 0.10269e+04_rb,0.77879e+03_rb,0.58026e+03_rb,0.85061e+03_rb,0.11223e+04_rb /) kbo(:, 3,54, 8) = (/ & & 0.10268e+04_rb,0.77881e+03_rb,0.58060e+03_rb,0.85084e+03_rb,0.11226e+04_rb /) kbo(:, 4,54, 8) = (/ & & 0.10268e+04_rb,0.77879e+03_rb,0.58072e+03_rb,0.85083e+03_rb,0.11227e+04_rb /) kbo(:, 5,54, 8) = (/ & & 0.10268e+04_rb,0.77878e+03_rb,0.58058e+03_rb,0.85063e+03_rb,0.11226e+04_rb /) kbo(:, 1,55, 8) = (/ & & 0.10268e+04_rb,0.77879e+03_rb,0.57962e+03_rb,0.85008e+03_rb,0.11217e+04_rb /) kbo(:, 2,55, 8) = (/ & & 0.10268e+04_rb,0.77878e+03_rb,0.58011e+03_rb,0.85050e+03_rb,0.11222e+04_rb /) kbo(:, 3,55, 8) = (/ & & 0.10268e+04_rb,0.77879e+03_rb,0.58050e+03_rb,0.85080e+03_rb,0.11225e+04_rb /) kbo(:, 4,55, 8) = (/ & & 0.10268e+04_rb,0.77880e+03_rb,0.58071e+03_rb,0.85085e+03_rb,0.11226e+04_rb /) kbo(:, 5,55, 8) = (/ & & 0.10268e+04_rb,0.77878e+03_rb,0.58064e+03_rb,0.85072e+03_rb,0.11226e+04_rb /) kbo(:, 1,56, 8) = (/ & & 0.10268e+04_rb,0.77878e+03_rb,0.57945e+03_rb,0.84993e+03_rb,0.11216e+04_rb /) kbo(:, 2,56, 8) = (/ & & 0.10268e+04_rb,0.77877e+03_rb,0.57995e+03_rb,0.85037e+03_rb,0.11220e+04_rb /) kbo(:, 3,56, 8) = (/ & & 0.10268e+04_rb,0.77877e+03_rb,0.58039e+03_rb,0.85071e+03_rb,0.11224e+04_rb /) kbo(:, 4,56, 8) = (/ & & 0.10268e+04_rb,0.77878e+03_rb,0.58067e+03_rb,0.85086e+03_rb,0.11226e+04_rb /) kbo(:, 5,56, 8) = (/ & & 0.10268e+04_rb,0.77878e+03_rb,0.58069e+03_rb,0.85078e+03_rb,0.11227e+04_rb /) kbo(:, 1,57, 8) = (/ & & 0.10268e+04_rb,0.77879e+03_rb,0.57927e+03_rb,0.84978e+03_rb,0.11215e+04_rb /) kbo(:, 2,57, 8) = (/ & & 0.10268e+04_rb,0.77878e+03_rb,0.57979e+03_rb,0.85024e+03_rb,0.11219e+04_rb /) kbo(:, 3,57, 8) = (/ & & 0.10268e+04_rb,0.77878e+03_rb,0.58025e+03_rb,0.85063e+03_rb,0.11223e+04_rb /) kbo(:, 4,57, 8) = (/ & & 0.10268e+04_rb,0.77878e+03_rb,0.58060e+03_rb,0.85084e+03_rb,0.11226e+04_rb /) kbo(:, 5,57, 8) = (/ & & 0.10268e+04_rb,0.77878e+03_rb,0.58071e+03_rb,0.85083e+03_rb,0.11227e+04_rb /) kbo(:, 1,58, 8) = (/ & & 0.10268e+04_rb,0.77878e+03_rb,0.57911e+03_rb,0.84962e+03_rb,0.11212e+04_rb /) kbo(:, 2,58, 8) = (/ & & 0.10268e+04_rb,0.77878e+03_rb,0.57964e+03_rb,0.85010e+03_rb,0.11218e+04_rb /) kbo(:, 3,58, 8) = (/ & & 0.10268e+04_rb,0.77877e+03_rb,0.58013e+03_rb,0.85053e+03_rb,0.11222e+04_rb /) kbo(:, 4,58, 8) = (/ & & 0.10268e+04_rb,0.77877e+03_rb,0.58052e+03_rb,0.85080e+03_rb,0.11225e+04_rb /) kbo(:, 5,58, 8) = (/ & & 0.10268e+04_rb,0.77879e+03_rb,0.58071e+03_rb,0.85085e+03_rb,0.11227e+04_rb /) kbo(:, 1,59, 8) = (/ & & 0.10268e+04_rb,0.77878e+03_rb,0.57904e+03_rb,0.84955e+03_rb,0.11212e+04_rb /) kbo(:, 2,59, 8) = (/ & & 0.10268e+04_rb,0.77877e+03_rb,0.57958e+03_rb,0.85006e+03_rb,0.11217e+04_rb /) kbo(:, 3,59, 8) = (/ & & 0.10268e+04_rb,0.77877e+03_rb,0.58007e+03_rb,0.85048e+03_rb,0.11222e+04_rb /) kbo(:, 4,59, 8) = (/ & & 0.10268e+04_rb,0.77878e+03_rb,0.58048e+03_rb,0.85078e+03_rb,0.11225e+04_rb /) kbo(:, 5,59, 8) = (/ & & 0.10268e+04_rb,0.77877e+03_rb,0.58070e+03_rb,0.85086e+03_rb,0.11227e+04_rb /) kbo(:, 1,13, 9) = (/ & & 0.11533e+04_rb,0.87327e+03_rb,0.59473e+03_rb,0.87046e+03_rb,0.11487e+04_rb /) kbo(:, 2,13, 9) = (/ & & 0.11444e+04_rb,0.86660e+03_rb,0.59240e+03_rb,0.87005e+03_rb,0.11483e+04_rb /) kbo(:, 3,13, 9) = (/ & & 0.11367e+04_rb,0.86090e+03_rb,0.59185e+03_rb,0.86950e+03_rb,0.11478e+04_rb /) kbo(:, 4,13, 9) = (/ & & 0.11301e+04_rb,0.85587e+03_rb,0.59143e+03_rb,0.86883e+03_rb,0.11469e+04_rb /) kbo(:, 5,13, 9) = (/ & & 0.11242e+04_rb,0.85148e+03_rb,0.59084e+03_rb,0.86797e+03_rb,0.11458e+04_rb /) kbo(:, 1,14, 9) = (/ & & 0.11310e+04_rb,0.85656e+03_rb,0.59238e+03_rb,0.87026e+03_rb,0.11487e+04_rb /) kbo(:, 2,14, 9) = (/ & & 0.11238e+04_rb,0.85118e+03_rb,0.59190e+03_rb,0.86988e+03_rb,0.11483e+04_rb /) kbo(:, 3,14, 9) = (/ & & 0.11176e+04_rb,0.84654e+03_rb,0.59149e+03_rb,0.86931e+03_rb,0.11477e+04_rb /) kbo(:, 4,14, 9) = (/ & & 0.11122e+04_rb,0.84248e+03_rb,0.59105e+03_rb,0.86863e+03_rb,0.11468e+04_rb /) kbo(:, 5,14, 9) = (/ & & 0.11074e+04_rb,0.83890e+03_rb,0.59046e+03_rb,0.86777e+03_rb,0.11457e+04_rb /) kbo(:, 1,15, 9) = (/ & & 0.11128e+04_rb,0.84292e+03_rb,0.59202e+03_rb,0.87009e+03_rb,0.11486e+04_rb /) kbo(:, 2,15, 9) = (/ & & 0.11070e+04_rb,0.83857e+03_rb,0.59157e+03_rb,0.86969e+03_rb,0.11482e+04_rb /) kbo(:, 3,15, 9) = (/ & & 0.11020e+04_rb,0.83480e+03_rb,0.59118e+03_rb,0.86913e+03_rb,0.11476e+04_rb /) kbo(:, 4,15, 9) = (/ & & 0.10976e+04_rb,0.83151e+03_rb,0.59076e+03_rb,0.86843e+03_rb,0.11467e+04_rb /) kbo(:, 5,15, 9) = (/ & & 0.10938e+04_rb,0.82865e+03_rb,0.59015e+03_rb,0.86756e+03_rb,0.11457e+04_rb /) kbo(:, 1,16, 9) = (/ & & 0.10980e+04_rb,0.83182e+03_rb,0.59172e+03_rb,0.86994e+03_rb,0.11486e+04_rb /) kbo(:, 2,16, 9) = (/ & & 0.10933e+04_rb,0.82831e+03_rb,0.59129e+03_rb,0.86966e+03_rb,0.11482e+04_rb /) kbo(:, 3,16, 9) = (/ & & 0.10893e+04_rb,0.82527e+03_rb,0.59092e+03_rb,0.86898e+03_rb,0.11475e+04_rb /) kbo(:, 4,16, 9) = (/ & & 0.10858e+04_rb,0.82261e+03_rb,0.59049e+03_rb,0.86826e+03_rb,0.11466e+04_rb /) kbo(:, 5,16, 9) = (/ & & 0.10827e+04_rb,0.82037e+03_rb,0.58989e+03_rb,0.86738e+03_rb,0.11455e+04_rb /) kbo(:, 1,17, 9) = (/ & & 0.10860e+04_rb,0.82280e+03_rb,0.59147e+03_rb,0.86983e+03_rb,0.11485e+04_rb /) kbo(:, 2,17, 9) = (/ & & 0.10822e+04_rb,0.81997e+03_rb,0.59107e+03_rb,0.86941e+03_rb,0.11481e+04_rb /) kbo(:, 3,17, 9) = (/ & & 0.10790e+04_rb,0.81753e+03_rb,0.59070e+03_rb,0.86883e+03_rb,0.11474e+04_rb /) kbo(:, 4,17, 9) = (/ & & 0.10761e+04_rb,0.81539e+03_rb,0.59027e+03_rb,0.86811e+03_rb,0.11465e+04_rb /) kbo(:, 5,17, 9) = (/ & & 0.10736e+04_rb,0.81353e+03_rb,0.58965e+03_rb,0.86721e+03_rb,0.11454e+04_rb /) kbo(:, 1,18, 9) = (/ & & 0.10762e+04_rb,0.81555e+03_rb,0.59126e+03_rb,0.86969e+03_rb,0.11485e+04_rb /) kbo(:, 2,18, 9) = (/ & & 0.10732e+04_rb,0.81322e+03_rb,0.59088e+03_rb,0.86928e+03_rb,0.11481e+04_rb /) kbo(:, 3,18, 9) = (/ & & 0.10706e+04_rb,0.81128e+03_rb,0.59052e+03_rb,0.86870e+03_rb,0.11474e+04_rb /) kbo(:, 4,18, 9) = (/ & & 0.10683e+04_rb,0.80956e+03_rb,0.59008e+03_rb,0.86800e+03_rb,0.11464e+04_rb /) kbo(:, 5,18, 9) = (/ & & 0.10663e+04_rb,0.80808e+03_rb,0.58945e+03_rb,0.86705e+03_rb,0.11452e+04_rb /) kbo(:, 1,19, 9) = (/ & & 0.10684e+04_rb,0.80963e+03_rb,0.59108e+03_rb,0.86962e+03_rb,0.11485e+04_rb /) kbo(:, 2,19, 9) = (/ & & 0.10659e+04_rb,0.80774e+03_rb,0.59072e+03_rb,0.86917e+03_rb,0.11480e+04_rb /) kbo(:, 3,19, 9) = (/ & & 0.10638e+04_rb,0.80613e+03_rb,0.59038e+03_rb,0.86858e+03_rb,0.11473e+04_rb /) kbo(:, 4,19, 9) = (/ & & 0.10619e+04_rb,0.80481e+03_rb,0.58991e+03_rb,0.86784e+03_rb,0.11463e+04_rb /) kbo(:, 5,19, 9) = (/ & & 0.10603e+04_rb,0.80353e+03_rb,0.58926e+03_rb,0.86690e+03_rb,0.11451e+04_rb /) kbo(:, 1,20, 9) = (/ & & 0.10619e+04_rb,0.80474e+03_rb,0.59092e+03_rb,0.86952e+03_rb,0.11484e+04_rb /) kbo(:, 2,20, 9) = (/ & & 0.10599e+04_rb,0.80326e+03_rb,0.59057e+03_rb,0.86907e+03_rb,0.11479e+04_rb /) kbo(:, 3,20, 9) = (/ & & 0.10582e+04_rb,0.80198e+03_rb,0.59022e+03_rb,0.86845e+03_rb,0.11472e+04_rb /) kbo(:, 4,20, 9) = (/ & & 0.10567e+04_rb,0.80089e+03_rb,0.58976e+03_rb,0.86771e+03_rb,0.11462e+04_rb /) kbo(:, 5,20, 9) = (/ & & 0.10554e+04_rb,0.79986e+03_rb,0.58910e+03_rb,0.86674e+03_rb,0.11449e+04_rb /) kbo(:, 1,21, 9) = (/ & & 0.10567e+04_rb,0.80080e+03_rb,0.59079e+03_rb,0.86945e+03_rb,0.11483e+04_rb /) kbo(:, 2,21, 9) = (/ & & 0.10550e+04_rb,0.79960e+03_rb,0.59045e+03_rb,0.86897e+03_rb,0.11478e+04_rb /) kbo(:, 3,21, 9) = (/ & & 0.10537e+04_rb,0.79858e+03_rb,0.59010e+03_rb,0.86836e+03_rb,0.11471e+04_rb /) kbo(:, 4,21, 9) = (/ & & 0.10525e+04_rb,0.79770e+03_rb,0.58962e+03_rb,0.86752e+03_rb,0.11460e+04_rb /) kbo(:, 5,21, 9) = (/ & & 0.10514e+04_rb,0.79685e+03_rb,0.58893e+03_rb,0.86654e+03_rb,0.11447e+04_rb /) kbo(:, 1,22, 9) = (/ & & 0.10523e+04_rb,0.79754e+03_rb,0.59066e+03_rb,0.86933e+03_rb,0.11483e+04_rb /) kbo(:, 2,22, 9) = (/ & & 0.10510e+04_rb,0.79661e+03_rb,0.59033e+03_rb,0.86884e+03_rb,0.11477e+04_rb /) kbo(:, 3,22, 9) = (/ & & 0.10500e+04_rb,0.79577e+03_rb,0.58997e+03_rb,0.86819e+03_rb,0.11469e+04_rb /) kbo(:, 4,22, 9) = (/ & & 0.10490e+04_rb,0.79506e+03_rb,0.58945e+03_rb,0.86737e+03_rb,0.11458e+04_rb /) kbo(:, 5,22, 9) = (/ & & 0.10482e+04_rb,0.79443e+03_rb,0.58872e+03_rb,0.86635e+03_rb,0.11444e+04_rb /) kbo(:, 1,23, 9) = (/ & & 0.10488e+04_rb,0.79491e+03_rb,0.59053e+03_rb,0.86922e+03_rb,0.11482e+04_rb /) kbo(:, 2,23, 9) = (/ & & 0.10478e+04_rb,0.79417e+03_rb,0.59023e+03_rb,0.86872e+03_rb,0.11476e+04_rb /) kbo(:, 3,23, 9) = (/ & & 0.10469e+04_rb,0.79351e+03_rb,0.58983e+03_rb,0.86802e+03_rb,0.11467e+04_rb /) kbo(:, 4,23, 9) = (/ & & 0.10461e+04_rb,0.79293e+03_rb,0.58929e+03_rb,0.86717e+03_rb,0.11456e+04_rb /) kbo(:, 5,23, 9) = (/ & & 0.10455e+04_rb,0.79241e+03_rb,0.58851e+03_rb,0.86610e+03_rb,0.11442e+04_rb /) kbo(:, 1,24, 9) = (/ & & 0.10460e+04_rb,0.79285e+03_rb,0.59042e+03_rb,0.86910e+03_rb,0.11481e+04_rb /) kbo(:, 2,24, 9) = (/ & & 0.10452e+04_rb,0.79220e+03_rb,0.59009e+03_rb,0.86856e+03_rb,0.11474e+04_rb /) kbo(:, 3,24, 9) = (/ & & 0.10445e+04_rb,0.79170e+03_rb,0.58968e+03_rb,0.86785e+03_rb,0.11465e+04_rb /) kbo(:, 4,24, 9) = (/ & & 0.10439e+04_rb,0.79123e+03_rb,0.58911e+03_rb,0.86698e+03_rb,0.11453e+04_rb /) kbo(:, 5,24, 9) = (/ & & 0.10433e+04_rb,0.79086e+03_rb,0.58830e+03_rb,0.86584e+03_rb,0.11439e+04_rb /) kbo(:, 1,25, 9) = (/ & & 0.10438e+04_rb,0.79109e+03_rb,0.59032e+03_rb,0.86899e+03_rb,0.11480e+04_rb /) kbo(:, 2,25, 9) = (/ & & 0.10430e+04_rb,0.79059e+03_rb,0.58999e+03_rb,0.86841e+03_rb,0.11473e+04_rb /) kbo(:, 3,25, 9) = (/ & & 0.10425e+04_rb,0.79018e+03_rb,0.58955e+03_rb,0.86768e+03_rb,0.11463e+04_rb /) kbo(:, 4,25, 9) = (/ & & 0.10420e+04_rb,0.78985e+03_rb,0.58893e+03_rb,0.86674e+03_rb,0.11450e+04_rb /) kbo(:, 5,25, 9) = (/ & & 0.10416e+04_rb,0.78947e+03_rb,0.58810e+03_rb,0.86557e+03_rb,0.11436e+04_rb /) kbo(:, 1,26, 9) = (/ & & 0.10418e+04_rb,0.78966e+03_rb,0.59022e+03_rb,0.86886e+03_rb,0.11478e+04_rb /) kbo(:, 2,26, 9) = (/ & & 0.10414e+04_rb,0.78932e+03_rb,0.58989e+03_rb,0.86824e+03_rb,0.11471e+04_rb /) kbo(:, 3,26, 9) = (/ & & 0.10409e+04_rb,0.78898e+03_rb,0.58940e+03_rb,0.86743e+03_rb,0.11460e+04_rb /) kbo(:, 4,26, 9) = (/ & & 0.10405e+04_rb,0.78870e+03_rb,0.58873e+03_rb,0.86647e+03_rb,0.11447e+04_rb /) kbo(:, 5,26, 9) = (/ & & 0.10401e+04_rb,0.78842e+03_rb,0.58782e+03_rb,0.86527e+03_rb,0.11432e+04_rb /) kbo(:, 1,27, 9) = (/ & & 0.10403e+04_rb,0.78855e+03_rb,0.59012e+03_rb,0.86872e+03_rb,0.11477e+04_rb /) kbo(:, 2,27, 9) = (/ & & 0.10399e+04_rb,0.78827e+03_rb,0.58977e+03_rb,0.86806e+03_rb,0.11468e+04_rb /) kbo(:, 3,27, 9) = (/ & & 0.10396e+04_rb,0.78799e+03_rb,0.58924e+03_rb,0.86723e+03_rb,0.11458e+04_rb /) kbo(:, 4,27, 9) = (/ & & 0.10392e+04_rb,0.78776e+03_rb,0.58850e+03_rb,0.86619e+03_rb,0.11444e+04_rb /) kbo(:, 5,27, 9) = (/ & & 0.10390e+04_rb,0.78757e+03_rb,0.58756e+03_rb,0.86495e+03_rb,0.11428e+04_rb /) kbo(:, 1,28, 9) = (/ & & 0.10391e+04_rb,0.78770e+03_rb,0.59002e+03_rb,0.86856e+03_rb,0.11475e+04_rb /) kbo(:, 2,28, 9) = (/ & & 0.10388e+04_rb,0.78747e+03_rb,0.58964e+03_rb,0.86790e+03_rb,0.11466e+04_rb /) kbo(:, 3,28, 9) = (/ & & 0.10385e+04_rb,0.78719e+03_rb,0.58908e+03_rb,0.86701e+03_rb,0.11455e+04_rb /) kbo(:, 4,28, 9) = (/ & & 0.10383e+04_rb,0.78704e+03_rb,0.58829e+03_rb,0.86590e+03_rb,0.11440e+04_rb /) kbo(:, 5,28, 9) = (/ & & 0.10381e+04_rb,0.78687e+03_rb,0.58729e+03_rb,0.86461e+03_rb,0.11423e+04_rb /) kbo(:, 1,29, 9) = (/ & & 0.10382e+04_rb,0.78694e+03_rb,0.58994e+03_rb,0.86841e+03_rb,0.11473e+04_rb /) kbo(:, 2,29, 9) = (/ & & 0.10379e+04_rb,0.78677e+03_rb,0.58950e+03_rb,0.86767e+03_rb,0.11463e+04_rb /) kbo(:, 3,29, 9) = (/ & & 0.10377e+04_rb,0.78658e+03_rb,0.58888e+03_rb,0.86674e+03_rb,0.11451e+04_rb /) kbo(:, 4,29, 9) = (/ & & 0.10375e+04_rb,0.78645e+03_rb,0.58805e+03_rb,0.86559e+03_rb,0.11436e+04_rb /) kbo(:, 5,29, 9) = (/ & & 0.10374e+04_rb,0.78628e+03_rb,0.58702e+03_rb,0.86429e+03_rb,0.11419e+04_rb /) kbo(:, 1,30, 9) = (/ & & 0.10373e+04_rb,0.78632e+03_rb,0.58983e+03_rb,0.86822e+03_rb,0.11471e+04_rb /) kbo(:, 2,30, 9) = (/ & & 0.10371e+04_rb,0.78619e+03_rb,0.58935e+03_rb,0.86746e+03_rb,0.11460e+04_rb /) kbo(:, 3,30, 9) = (/ & & 0.10370e+04_rb,0.78613e+03_rb,0.58869e+03_rb,0.86647e+03_rb,0.11448e+04_rb /) kbo(:, 4,30, 9) = (/ & & 0.10369e+04_rb,0.78594e+03_rb,0.58779e+03_rb,0.86529e+03_rb,0.11432e+04_rb /) kbo(:, 5,30, 9) = (/ & & 0.10367e+04_rb,0.78585e+03_rb,0.58673e+03_rb,0.86393e+03_rb,0.11414e+04_rb /) kbo(:, 1,31, 9) = (/ & & 0.10367e+04_rb,0.78588e+03_rb,0.58971e+03_rb,0.86804e+03_rb,0.11468e+04_rb /) kbo(:, 2,31, 9) = (/ & & 0.10365e+04_rb,0.78574e+03_rb,0.58919e+03_rb,0.86720e+03_rb,0.11457e+04_rb /) kbo(:, 3,31, 9) = (/ & & 0.10364e+04_rb,0.78562e+03_rb,0.58847e+03_rb,0.86618e+03_rb,0.11443e+04_rb /) kbo(:, 4,31, 9) = (/ & & 0.10363e+04_rb,0.78557e+03_rb,0.58752e+03_rb,0.86495e+03_rb,0.11427e+04_rb /) kbo(:, 5,31, 9) = (/ & & 0.10362e+04_rb,0.78546e+03_rb,0.58644e+03_rb,0.86356e+03_rb,0.11409e+04_rb /) kbo(:, 1,32, 9) = (/ & & 0.10362e+04_rb,0.78556e+03_rb,0.58958e+03_rb,0.86784e+03_rb,0.11466e+04_rb /) kbo(:, 2,32, 9) = (/ & & 0.10361e+04_rb,0.78539e+03_rb,0.58901e+03_rb,0.86697e+03_rb,0.11454e+04_rb /) kbo(:, 3,32, 9) = (/ & & 0.10360e+04_rb,0.78539e+03_rb,0.58824e+03_rb,0.86587e+03_rb,0.11440e+04_rb /) kbo(:, 4,32, 9) = (/ & & 0.10359e+04_rb,0.78525e+03_rb,0.58724e+03_rb,0.86459e+03_rb,0.11423e+04_rb /) kbo(:, 5,32, 9) = (/ & & 0.10358e+04_rb,0.78516e+03_rb,0.58615e+03_rb,0.86318e+03_rb,0.11404e+04_rb /) kbo(:, 1,33, 9) = (/ & & 0.10358e+04_rb,0.78520e+03_rb,0.58945e+03_rb,0.86763e+03_rb,0.11463e+04_rb /) kbo(:, 2,33, 9) = (/ & & 0.10357e+04_rb,0.78510e+03_rb,0.58883e+03_rb,0.86670e+03_rb,0.11450e+04_rb /) kbo(:, 3,33, 9) = (/ & & 0.10356e+04_rb,0.78504e+03_rb,0.58799e+03_rb,0.86554e+03_rb,0.11435e+04_rb /) kbo(:, 4,33, 9) = (/ & & 0.10356e+04_rb,0.78500e+03_rb,0.58695e+03_rb,0.86422e+03_rb,0.11418e+04_rb /) kbo(:, 5,33, 9) = (/ & & 0.10355e+04_rb,0.78493e+03_rb,0.58586e+03_rb,0.86281e+03_rb,0.11399e+04_rb /) kbo(:, 1,34, 9) = (/ & & 0.10355e+04_rb,0.78495e+03_rb,0.58932e+03_rb,0.86743e+03_rb,0.11460e+04_rb /) kbo(:, 2,34, 9) = (/ & & 0.10354e+04_rb,0.78487e+03_rb,0.58865e+03_rb,0.86644e+03_rb,0.11447e+04_rb /) kbo(:, 3,34, 9) = (/ & & 0.10354e+04_rb,0.78485e+03_rb,0.58776e+03_rb,0.86524e+03_rb,0.11432e+04_rb /) kbo(:, 4,34, 9) = (/ & & 0.10353e+04_rb,0.78479e+03_rb,0.58670e+03_rb,0.86390e+03_rb,0.11414e+04_rb /) kbo(:, 5,34, 9) = (/ & & 0.10352e+04_rb,0.78474e+03_rb,0.58560e+03_rb,0.86249e+03_rb,0.11395e+04_rb /) kbo(:, 1,35, 9) = (/ & & 0.10352e+04_rb,0.78478e+03_rb,0.58924e+03_rb,0.86731e+03_rb,0.11459e+04_rb /) kbo(:, 2,35, 9) = (/ & & 0.10352e+04_rb,0.78472e+03_rb,0.58855e+03_rb,0.86632e+03_rb,0.11445e+04_rb /) kbo(:, 3,35, 9) = (/ & & 0.10351e+04_rb,0.78465e+03_rb,0.58761e+03_rb,0.86508e+03_rb,0.11430e+04_rb /) kbo(:, 4,35, 9) = (/ & & 0.10350e+04_rb,0.78465e+03_rb,0.58655e+03_rb,0.86369e+03_rb,0.11412e+04_rb /) kbo(:, 5,35, 9) = (/ & & 0.10350e+04_rb,0.78456e+03_rb,0.58545e+03_rb,0.86237e+03_rb,0.11393e+04_rb /) kbo(:, 1,36, 9) = (/ & & 0.10350e+04_rb,0.78465e+03_rb,0.58922e+03_rb,0.86729e+03_rb,0.11458e+04_rb /) kbo(:, 2,36, 9) = (/ & & 0.10350e+04_rb,0.78456e+03_rb,0.58852e+03_rb,0.86627e+03_rb,0.11445e+04_rb /) kbo(:, 3,36, 9) = (/ & & 0.10350e+04_rb,0.78452e+03_rb,0.58759e+03_rb,0.86505e+03_rb,0.11429e+04_rb /) kbo(:, 4,36, 9) = (/ & & 0.10349e+04_rb,0.78450e+03_rb,0.58651e+03_rb,0.86369e+03_rb,0.11411e+04_rb /) kbo(:, 5,36, 9) = (/ & & 0.10348e+04_rb,0.78444e+03_rb,0.58544e+03_rb,0.86227e+03_rb,0.11392e+04_rb /) kbo(:, 1,37, 9) = (/ & & 0.10349e+04_rb,0.78446e+03_rb,0.58930e+03_rb,0.86738e+03_rb,0.11460e+04_rb /) kbo(:, 2,37, 9) = (/ & & 0.10348e+04_rb,0.78444e+03_rb,0.58863e+03_rb,0.86642e+03_rb,0.11447e+04_rb /) kbo(:, 3,37, 9) = (/ & & 0.10348e+04_rb,0.78441e+03_rb,0.58773e+03_rb,0.86522e+03_rb,0.11432e+04_rb /) kbo(:, 4,37, 9) = (/ & & 0.10348e+04_rb,0.78439e+03_rb,0.58667e+03_rb,0.86387e+03_rb,0.11414e+04_rb /) kbo(:, 5,37, 9) = (/ & & 0.10347e+04_rb,0.78436e+03_rb,0.58559e+03_rb,0.86245e+03_rb,0.11394e+04_rb /) kbo(:, 1,38, 9) = (/ & & 0.10348e+04_rb,0.78440e+03_rb,0.58936e+03_rb,0.86753e+03_rb,0.11462e+04_rb /) kbo(:, 2,38, 9) = (/ & & 0.10347e+04_rb,0.78434e+03_rb,0.58873e+03_rb,0.86658e+03_rb,0.11449e+04_rb /) kbo(:, 3,38, 9) = (/ & & 0.10347e+04_rb,0.78432e+03_rb,0.58786e+03_rb,0.86537e+03_rb,0.11434e+04_rb /) kbo(:, 4,38, 9) = (/ & & 0.10346e+04_rb,0.78431e+03_rb,0.58681e+03_rb,0.86407e+03_rb,0.11416e+04_rb /) kbo(:, 5,38, 9) = (/ & & 0.10347e+04_rb,0.78428e+03_rb,0.58573e+03_rb,0.86265e+03_rb,0.11397e+04_rb /) kbo(:, 1,39, 9) = (/ & & 0.10347e+04_rb,0.78431e+03_rb,0.58943e+03_rb,0.86764e+03_rb,0.11463e+04_rb /) kbo(:, 2,39, 9) = (/ & & 0.10346e+04_rb,0.78431e+03_rb,0.58882e+03_rb,0.86672e+03_rb,0.11451e+04_rb /) kbo(:, 3,39, 9) = (/ & & 0.10346e+04_rb,0.78424e+03_rb,0.58800e+03_rb,0.86557e+03_rb,0.11436e+04_rb /) kbo(:, 4,39, 9) = (/ & & 0.10346e+04_rb,0.78421e+03_rb,0.58697e+03_rb,0.86426e+03_rb,0.11419e+04_rb /) kbo(:, 5,39, 9) = (/ & & 0.10346e+04_rb,0.78429e+03_rb,0.58587e+03_rb,0.86284e+03_rb,0.11400e+04_rb /) kbo(:, 1,40, 9) = (/ & & 0.10346e+04_rb,0.78426e+03_rb,0.58957e+03_rb,0.86785e+03_rb,0.11466e+04_rb /) kbo(:, 2,40, 9) = (/ & & 0.10345e+04_rb,0.78427e+03_rb,0.58899e+03_rb,0.86697e+03_rb,0.11454e+04_rb /) kbo(:, 3,40, 9) = (/ & & 0.10345e+04_rb,0.78422e+03_rb,0.58822e+03_rb,0.86585e+03_rb,0.11440e+04_rb /) kbo(:, 4,40, 9) = (/ & & 0.10345e+04_rb,0.78421e+03_rb,0.58723e+03_rb,0.86460e+03_rb,0.11423e+04_rb /) kbo(:, 5,40, 9) = (/ & & 0.10344e+04_rb,0.78416e+03_rb,0.58614e+03_rb,0.86319e+03_rb,0.11403e+04_rb /) kbo(:, 1,41, 9) = (/ & & 0.10345e+04_rb,0.78421e+03_rb,0.58967e+03_rb,0.86804e+03_rb,0.11468e+04_rb /) kbo(:, 2,41, 9) = (/ & & 0.10345e+04_rb,0.78418e+03_rb,0.58916e+03_rb,0.86720e+03_rb,0.11457e+04_rb /) kbo(:, 3,41, 9) = (/ & & 0.10344e+04_rb,0.78415e+03_rb,0.58844e+03_rb,0.86618e+03_rb,0.11444e+04_rb /) kbo(:, 4,41, 9) = (/ & & 0.10344e+04_rb,0.78413e+03_rb,0.58748e+03_rb,0.86492e+03_rb,0.11428e+04_rb /) kbo(:, 5,41, 9) = (/ & & 0.10344e+04_rb,0.78411e+03_rb,0.58642e+03_rb,0.86355e+03_rb,0.11409e+04_rb /) kbo(:, 1,42, 9) = (/ & & 0.10345e+04_rb,0.78414e+03_rb,0.58976e+03_rb,0.86830e+03_rb,0.11471e+04_rb /) kbo(:, 2,42, 9) = (/ & & 0.10344e+04_rb,0.78417e+03_rb,0.58930e+03_rb,0.86744e+03_rb,0.11460e+04_rb /) kbo(:, 3,42, 9) = (/ & & 0.10344e+04_rb,0.78411e+03_rb,0.58863e+03_rb,0.86645e+03_rb,0.11448e+04_rb /) kbo(:, 4,42, 9) = (/ & & 0.10344e+04_rb,0.78409e+03_rb,0.58775e+03_rb,0.86525e+03_rb,0.11432e+04_rb /) kbo(:, 5,42, 9) = (/ & & 0.10344e+04_rb,0.78408e+03_rb,0.58670e+03_rb,0.86391e+03_rb,0.11414e+04_rb /) kbo(:, 1,43, 9) = (/ & & 0.10344e+04_rb,0.78410e+03_rb,0.58987e+03_rb,0.86842e+03_rb,0.11473e+04_rb /) kbo(:, 2,43, 9) = (/ & & 0.10344e+04_rb,0.78408e+03_rb,0.58947e+03_rb,0.86769e+03_rb,0.11464e+04_rb /) kbo(:, 3,43, 9) = (/ & & 0.10344e+04_rb,0.78409e+03_rb,0.58887e+03_rb,0.86678e+03_rb,0.11452e+04_rb /) kbo(:, 4,43, 9) = (/ & & 0.10344e+04_rb,0.78410e+03_rb,0.58806e+03_rb,0.86567e+03_rb,0.11437e+04_rb /) kbo(:, 5,43, 9) = (/ & & 0.10343e+04_rb,0.78406e+03_rb,0.58704e+03_rb,0.86435e+03_rb,0.11420e+04_rb /) kbo(:, 1,44, 9) = (/ & & 0.10344e+04_rb,0.78409e+03_rb,0.58998e+03_rb,0.86862e+03_rb,0.11476e+04_rb /) kbo(:, 2,44, 9) = (/ & & 0.10343e+04_rb,0.78407e+03_rb,0.58962e+03_rb,0.86796e+03_rb,0.11467e+04_rb /) kbo(:, 3,44, 9) = (/ & & 0.10343e+04_rb,0.78406e+03_rb,0.58910e+03_rb,0.86711e+03_rb,0.11456e+04_rb /) kbo(:, 4,44, 9) = (/ & & 0.10343e+04_rb,0.78403e+03_rb,0.58835e+03_rb,0.86607e+03_rb,0.11442e+04_rb /) kbo(:, 5,44, 9) = (/ & & 0.10343e+04_rb,0.78403e+03_rb,0.58738e+03_rb,0.86483e+03_rb,0.11426e+04_rb /) kbo(:, 1,45, 9) = (/ & & 0.10343e+04_rb,0.78404e+03_rb,0.59009e+03_rb,0.86881e+03_rb,0.11478e+04_rb /) kbo(:, 2,45, 9) = (/ & & 0.10343e+04_rb,0.78405e+03_rb,0.58975e+03_rb,0.86821e+03_rb,0.11471e+04_rb /) kbo(:, 3,45, 9) = (/ & & 0.10343e+04_rb,0.78404e+03_rb,0.58930e+03_rb,0.86741e+03_rb,0.11460e+04_rb /) kbo(:, 4,45, 9) = (/ & & 0.10342e+04_rb,0.78400e+03_rb,0.58862e+03_rb,0.86644e+03_rb,0.11447e+04_rb /) kbo(:, 5,45, 9) = (/ & & 0.10343e+04_rb,0.78402e+03_rb,0.58769e+03_rb,0.86520e+03_rb,0.11432e+04_rb /) kbo(:, 1,46, 9) = (/ & & 0.10343e+04_rb,0.78403e+03_rb,0.59019e+03_rb,0.86899e+03_rb,0.11481e+04_rb /) kbo(:, 2,46, 9) = (/ & & 0.10343e+04_rb,0.78403e+03_rb,0.58989e+03_rb,0.86845e+03_rb,0.11474e+04_rb /) kbo(:, 3,46, 9) = (/ & & 0.10343e+04_rb,0.78403e+03_rb,0.58947e+03_rb,0.86773e+03_rb,0.11464e+04_rb /) kbo(:, 4,46, 9) = (/ & & 0.10342e+04_rb,0.78401e+03_rb,0.58890e+03_rb,0.86681e+03_rb,0.11452e+04_rb /) kbo(:, 5,46, 9) = (/ & & 0.10343e+04_rb,0.78405e+03_rb,0.58808e+03_rb,0.86568e+03_rb,0.11438e+04_rb /) kbo(:, 1,47, 9) = (/ & & 0.10343e+04_rb,0.78401e+03_rb,0.59032e+03_rb,0.86917e+03_rb,0.11483e+04_rb /) kbo(:, 2,47, 9) = (/ & & 0.10342e+04_rb,0.78398e+03_rb,0.59001e+03_rb,0.86868e+03_rb,0.11477e+04_rb /) kbo(:, 3,47, 9) = (/ & & 0.10342e+04_rb,0.78398e+03_rb,0.58967e+03_rb,0.86807e+03_rb,0.11468e+04_rb /) kbo(:, 4,47, 9) = (/ & & 0.10343e+04_rb,0.78397e+03_rb,0.58916e+03_rb,0.86720e+03_rb,0.11457e+04_rb /) kbo(:, 5,47, 9) = (/ & & 0.10342e+04_rb,0.78399e+03_rb,0.58844e+03_rb,0.86618e+03_rb,0.11444e+04_rb /) kbo(:, 1,48, 9) = (/ & & 0.10342e+04_rb,0.78399e+03_rb,0.59046e+03_rb,0.86932e+03_rb,0.11485e+04_rb /) kbo(:, 2,48, 9) = (/ & & 0.10343e+04_rb,0.78398e+03_rb,0.59013e+03_rb,0.86890e+03_rb,0.11480e+04_rb /) kbo(:, 3,48, 9) = (/ & & 0.10342e+04_rb,0.78402e+03_rb,0.58982e+03_rb,0.86829e+03_rb,0.11472e+04_rb /) kbo(:, 4,48, 9) = (/ & & 0.10342e+04_rb,0.78396e+03_rb,0.58938e+03_rb,0.86756e+03_rb,0.11462e+04_rb /) kbo(:, 5,48, 9) = (/ & & 0.10342e+04_rb,0.78400e+03_rb,0.58875e+03_rb,0.86661e+03_rb,0.11449e+04_rb /) kbo(:, 1,49, 9) = (/ & & 0.10343e+04_rb,0.78402e+03_rb,0.59060e+03_rb,0.86945e+03_rb,0.11486e+04_rb /) kbo(:, 2,49, 9) = (/ & & 0.10342e+04_rb,0.78398e+03_rb,0.59025e+03_rb,0.86908e+03_rb,0.11482e+04_rb /) kbo(:, 3,49, 9) = (/ & & 0.10342e+04_rb,0.78399e+03_rb,0.58995e+03_rb,0.86856e+03_rb,0.11475e+04_rb /) kbo(:, 4,49, 9) = (/ & & 0.10342e+04_rb,0.78399e+03_rb,0.58958e+03_rb,0.86790e+03_rb,0.11466e+04_rb /) kbo(:, 5,49, 9) = (/ & & 0.10342e+04_rb,0.78398e+03_rb,0.58903e+03_rb,0.86700e+03_rb,0.11455e+04_rb /) kbo(:, 1,50, 9) = (/ & & 0.10343e+04_rb,0.78395e+03_rb,0.59074e+03_rb,0.86956e+03_rb,0.11487e+04_rb /) kbo(:, 2,50, 9) = (/ & & 0.10342e+04_rb,0.78399e+03_rb,0.59038e+03_rb,0.86924e+03_rb,0.11483e+04_rb /) kbo(:, 3,50, 9) = (/ & & 0.10342e+04_rb,0.78394e+03_rb,0.59006e+03_rb,0.86878e+03_rb,0.11478e+04_rb /) kbo(:, 4,50, 9) = (/ & & 0.10342e+04_rb,0.78399e+03_rb,0.58974e+03_rb,0.86817e+03_rb,0.11470e+04_rb /) kbo(:, 5,50, 9) = (/ & & 0.10342e+04_rb,0.78395e+03_rb,0.58927e+03_rb,0.86736e+03_rb,0.11460e+04_rb /) kbo(:, 1,51, 9) = (/ & & 0.10342e+04_rb,0.78399e+03_rb,0.59088e+03_rb,0.86965e+03_rb,0.11488e+04_rb /) kbo(:, 2,51, 9) = (/ & & 0.10342e+04_rb,0.78393e+03_rb,0.59051e+03_rb,0.86937e+03_rb,0.11485e+04_rb /) kbo(:, 3,51, 9) = (/ & & 0.10342e+04_rb,0.78400e+03_rb,0.59018e+03_rb,0.86897e+03_rb,0.11480e+04_rb /) kbo(:, 4,51, 9) = (/ & & 0.10342e+04_rb,0.78396e+03_rb,0.58987e+03_rb,0.86840e+03_rb,0.11473e+04_rb /) kbo(:, 5,51, 9) = (/ & & 0.10342e+04_rb,0.78396e+03_rb,0.58946e+03_rb,0.86768e+03_rb,0.11464e+04_rb /) kbo(:, 1,52, 9) = (/ & & 0.10342e+04_rb,0.78395e+03_rb,0.59100e+03_rb,0.86971e+03_rb,0.11490e+04_rb /) kbo(:, 2,52, 9) = (/ & & 0.10342e+04_rb,0.78394e+03_rb,0.59064e+03_rb,0.86949e+03_rb,0.11486e+04_rb /) kbo(:, 3,52, 9) = (/ & & 0.10342e+04_rb,0.78395e+03_rb,0.59029e+03_rb,0.86915e+03_rb,0.11482e+04_rb /) kbo(:, 4,52, 9) = (/ & & 0.10342e+04_rb,0.78394e+03_rb,0.58998e+03_rb,0.86864e+03_rb,0.11476e+04_rb /) kbo(:, 5,52, 9) = (/ & & 0.10342e+04_rb,0.78395e+03_rb,0.58963e+03_rb,0.86796e+03_rb,0.11468e+04_rb /) kbo(:, 1,53, 9) = (/ & & 0.10342e+04_rb,0.78397e+03_rb,0.59111e+03_rb,0.86975e+03_rb,0.11490e+04_rb /) kbo(:, 2,53, 9) = (/ & & 0.10342e+04_rb,0.78394e+03_rb,0.59078e+03_rb,0.86960e+03_rb,0.11488e+04_rb /) kbo(:, 3,53, 9) = (/ & & 0.10342e+04_rb,0.78396e+03_rb,0.59041e+03_rb,0.86926e+03_rb,0.11484e+04_rb /) kbo(:, 4,53, 9) = (/ & & 0.10341e+04_rb,0.78393e+03_rb,0.59010e+03_rb,0.86884e+03_rb,0.11479e+04_rb /) kbo(:, 5,53, 9) = (/ & & 0.10342e+04_rb,0.78395e+03_rb,0.58977e+03_rb,0.86822e+03_rb,0.11471e+04_rb /) kbo(:, 1,54, 9) = (/ & & 0.10343e+04_rb,0.78394e+03_rb,0.59121e+03_rb,0.86979e+03_rb,0.11491e+04_rb /) kbo(:, 2,54, 9) = (/ & & 0.10341e+04_rb,0.78399e+03_rb,0.59088e+03_rb,0.86966e+03_rb,0.11489e+04_rb /) kbo(:, 3,54, 9) = (/ & & 0.10341e+04_rb,0.78394e+03_rb,0.59052e+03_rb,0.86939e+03_rb,0.11485e+04_rb /) kbo(:, 4,54, 9) = (/ & & 0.10341e+04_rb,0.78394e+03_rb,0.59020e+03_rb,0.86900e+03_rb,0.11481e+04_rb /) kbo(:, 5,54, 9) = (/ & & 0.10342e+04_rb,0.78395e+03_rb,0.58987e+03_rb,0.86845e+03_rb,0.11474e+04_rb /) kbo(:, 1,55, 9) = (/ & & 0.10342e+04_rb,0.78396e+03_rb,0.59130e+03_rb,0.86983e+03_rb,0.11491e+04_rb /) kbo(:, 2,55, 9) = (/ & & 0.10341e+04_rb,0.78393e+03_rb,0.59100e+03_rb,0.86971e+03_rb,0.11490e+04_rb /) kbo(:, 3,55, 9) = (/ & & 0.10342e+04_rb,0.78393e+03_rb,0.59065e+03_rb,0.86949e+03_rb,0.11486e+04_rb /) kbo(:, 4,55, 9) = (/ & & 0.10342e+04_rb,0.78395e+03_rb,0.59029e+03_rb,0.86914e+03_rb,0.11483e+04_rb /) kbo(:, 5,55, 9) = (/ & & 0.10341e+04_rb,0.78393e+03_rb,0.59000e+03_rb,0.86864e+03_rb,0.11477e+04_rb /) kbo(:, 1,56, 9) = (/ & & 0.10342e+04_rb,0.78393e+03_rb,0.59137e+03_rb,0.86987e+03_rb,0.11492e+04_rb /) kbo(:, 2,56, 9) = (/ & & 0.10342e+04_rb,0.78395e+03_rb,0.59111e+03_rb,0.86975e+03_rb,0.11490e+04_rb /) kbo(:, 3,56, 9) = (/ & & 0.10342e+04_rb,0.78392e+03_rb,0.59077e+03_rb,0.86958e+03_rb,0.11488e+04_rb /) kbo(:, 4,56, 9) = (/ & & 0.10342e+04_rb,0.78393e+03_rb,0.59040e+03_rb,0.86926e+03_rb,0.11484e+04_rb /) kbo(:, 5,56, 9) = (/ & & 0.10341e+04_rb,0.78393e+03_rb,0.59009e+03_rb,0.86883e+03_rb,0.11479e+04_rb /) kbo(:, 1,57, 9) = (/ & & 0.10342e+04_rb,0.78396e+03_rb,0.59143e+03_rb,0.86993e+03_rb,0.11492e+04_rb /) kbo(:, 2,57, 9) = (/ & & 0.10342e+04_rb,0.78392e+03_rb,0.59122e+03_rb,0.86979e+03_rb,0.11491e+04_rb /) kbo(:, 3,57, 9) = (/ & & 0.10342e+04_rb,0.78392e+03_rb,0.59089e+03_rb,0.86966e+03_rb,0.11489e+04_rb /) kbo(:, 4,57, 9) = (/ & & 0.10341e+04_rb,0.78395e+03_rb,0.59052e+03_rb,0.86938e+03_rb,0.11485e+04_rb /) kbo(:, 5,57, 9) = (/ & & 0.10341e+04_rb,0.78393e+03_rb,0.59018e+03_rb,0.86897e+03_rb,0.11481e+04_rb /) kbo(:, 1,58, 9) = (/ & & 0.10341e+04_rb,0.78395e+03_rb,0.59147e+03_rb,0.86996e+03_rb,0.11493e+04_rb /) kbo(:, 2,58, 9) = (/ & & 0.10341e+04_rb,0.78397e+03_rb,0.59129e+03_rb,0.86982e+03_rb,0.11491e+04_rb /) kbo(:, 3,58, 9) = (/ & & 0.10341e+04_rb,0.78393e+03_rb,0.59099e+03_rb,0.86970e+03_rb,0.11489e+04_rb /) kbo(:, 4,58, 9) = (/ & & 0.10342e+04_rb,0.78397e+03_rb,0.59063e+03_rb,0.86948e+03_rb,0.11486e+04_rb /) kbo(:, 5,58, 9) = (/ & & 0.10342e+04_rb,0.78390e+03_rb,0.59028e+03_rb,0.86913e+03_rb,0.11482e+04_rb /) kbo(:, 1,59, 9) = (/ & & 0.10342e+04_rb,0.78393e+03_rb,0.59148e+03_rb,0.86998e+03_rb,0.11494e+04_rb /) kbo(:, 2,59, 9) = (/ & & 0.10342e+04_rb,0.78396e+03_rb,0.59132e+03_rb,0.86982e+03_rb,0.11492e+04_rb /) kbo(:, 3,59, 9) = (/ & & 0.10342e+04_rb,0.78393e+03_rb,0.59103e+03_rb,0.86972e+03_rb,0.11490e+04_rb /) kbo(:, 4,59, 9) = (/ & & 0.10341e+04_rb,0.78394e+03_rb,0.59067e+03_rb,0.86951e+03_rb,0.11487e+04_rb /) kbo(:, 5,59, 9) = (/ & & 0.10341e+04_rb,0.78397e+03_rb,0.59032e+03_rb,0.86918e+03_rb,0.11483e+04_rb /) kbo(:, 1,13,10) = (/ & & 0.11544e+04_rb,0.87486e+03_rb,0.59975e+03_rb,0.88029e+03_rb,0.11631e+04_rb /) kbo(:, 2,13,10) = (/ & & 0.11458e+04_rb,0.86752e+03_rb,0.59921e+03_rb,0.87889e+03_rb,0.11611e+04_rb /) kbo(:, 3,13,10) = (/ & & 0.11380e+04_rb,0.86177e+03_rb,0.59836e+03_rb,0.87789e+03_rb,0.11592e+04_rb /) kbo(:, 4,13,10) = (/ & & 0.11310e+04_rb,0.85697e+03_rb,0.59745e+03_rb,0.87697e+03_rb,0.11577e+04_rb /) kbo(:, 5,13,10) = (/ & & 0.11259e+04_rb,0.85279e+03_rb,0.59663e+03_rb,0.87606e+03_rb,0.11564e+04_rb /) kbo(:, 1,14,10) = (/ & & 0.11329e+04_rb,0.85757e+03_rb,0.59935e+03_rb,0.88000e+03_rb,0.11630e+04_rb /) kbo(:, 2,14,10) = (/ & & 0.11257e+04_rb,0.85228e+03_rb,0.59878e+03_rb,0.87841e+03_rb,0.11609e+04_rb /) kbo(:, 3,14,10) = (/ & & 0.11201e+04_rb,0.84731e+03_rb,0.59797e+03_rb,0.87766e+03_rb,0.11591e+04_rb /) kbo(:, 4,14,10) = (/ & & 0.11140e+04_rb,0.84389e+03_rb,0.59731e+03_rb,0.87707e+03_rb,0.11577e+04_rb /) kbo(:, 5,14,10) = (/ & & 0.11094e+04_rb,0.84001e+03_rb,0.59642e+03_rb,0.87571e+03_rb,0.11561e+04_rb /) kbo(:, 1,15,10) = (/ & & 0.11142e+04_rb,0.84370e+03_rb,0.59900e+03_rb,0.87973e+03_rb,0.11627e+04_rb /) kbo(:, 2,15,10) = (/ & & 0.11097e+04_rb,0.84029e+03_rb,0.59841e+03_rb,0.87827e+03_rb,0.11607e+04_rb /) kbo(:, 3,15,10) = (/ & & 0.11039e+04_rb,0.83570e+03_rb,0.59763e+03_rb,0.87745e+03_rb,0.11587e+04_rb /) kbo(:, 4,15,10) = (/ & & 0.10995e+04_rb,0.83295e+03_rb,0.59685e+03_rb,0.87664e+03_rb,0.11574e+04_rb /) kbo(:, 5,15,10) = (/ & & 0.10956e+04_rb,0.82966e+03_rb,0.59611e+03_rb,0.87548e+03_rb,0.11555e+04_rb /) kbo(:, 1,16,10) = (/ & & 0.11006e+04_rb,0.83290e+03_rb,0.59871e+03_rb,0.87947e+03_rb,0.11625e+04_rb /) kbo(:, 2,16,10) = (/ & & 0.10967e+04_rb,0.82960e+03_rb,0.59809e+03_rb,0.87696e+03_rb,0.11605e+04_rb /) kbo(:, 3,16,10) = (/ & & 0.10908e+04_rb,0.82627e+03_rb,0.59735e+03_rb,0.87716e+03_rb,0.11587e+04_rb /) kbo(:, 4,16,10) = (/ & & 0.10878e+04_rb,0.82496e+03_rb,0.59665e+03_rb,0.87645e+03_rb,0.11573e+04_rb /) kbo(:, 5,16,10) = (/ & & 0.10846e+04_rb,0.82140e+03_rb,0.59584e+03_rb,0.87537e+03_rb,0.11556e+04_rb /) kbo(:, 1,17,10) = (/ & & 0.10872e+04_rb,0.82399e+03_rb,0.59847e+03_rb,0.87912e+03_rb,0.11623e+04_rb /) kbo(:, 2,17,10) = (/ & & 0.10836e+04_rb,0.82137e+03_rb,0.59782e+03_rb,0.87785e+03_rb,0.11604e+04_rb /) kbo(:, 3,17,10) = (/ & & 0.10806e+04_rb,0.81903e+03_rb,0.59710e+03_rb,0.87700e+03_rb,0.11586e+04_rb /) kbo(:, 4,17,10) = (/ & & 0.10781e+04_rb,0.81649e+03_rb,0.59641e+03_rb,0.87627e+03_rb,0.11571e+04_rb /) kbo(:, 5,17,10) = (/ & & 0.10750e+04_rb,0.81461e+03_rb,0.59560e+03_rb,0.87517e+03_rb,0.11554e+04_rb /) kbo(:, 1,18,10) = (/ & & 0.10783e+04_rb,0.81627e+03_rb,0.59826e+03_rb,0.87902e+03_rb,0.11620e+04_rb /) kbo(:, 2,18,10) = (/ & & 0.10752e+04_rb,0.81450e+03_rb,0.59759e+03_rb,0.87778e+03_rb,0.11602e+04_rb /) kbo(:, 3,18,10) = (/ & & 0.10718e+04_rb,0.81284e+03_rb,0.59689e+03_rb,0.87707e+03_rb,0.11584e+04_rb /) kbo(:, 4,18,10) = (/ & & 0.10695e+04_rb,0.81051e+03_rb,0.59620e+03_rb,0.87578e+03_rb,0.11570e+04_rb /) kbo(:, 5,18,10) = (/ & & 0.10675e+04_rb,0.80859e+03_rb,0.59539e+03_rb,0.87498e+03_rb,0.11554e+04_rb /) kbo(:, 1,19,10) = (/ & & 0.10693e+04_rb,0.81014e+03_rb,0.59808e+03_rb,0.87871e+03_rb,0.11618e+04_rb /) kbo(:, 2,19,10) = (/ & & 0.10674e+04_rb,0.80961e+03_rb,0.59739e+03_rb,0.87763e+03_rb,0.11601e+04_rb /) kbo(:, 3,19,10) = (/ & & 0.10651e+04_rb,0.80782e+03_rb,0.59664e+03_rb,0.87683e+03_rb,0.11582e+04_rb /) kbo(:, 4,19,10) = (/ & & 0.10639e+04_rb,0.80562e+03_rb,0.59610e+03_rb,0.87595e+03_rb,0.11569e+04_rb /) kbo(:, 5,19,10) = (/ & & 0.10620e+04_rb,0.80440e+03_rb,0.59520e+03_rb,0.87481e+03_rb,0.11551e+04_rb /) kbo(:, 1,20,10) = (/ & & 0.10633e+04_rb,0.80580e+03_rb,0.59791e+03_rb,0.87862e+03_rb,0.11616e+04_rb /) kbo(:, 2,20,10) = (/ & & 0.10619e+04_rb,0.80442e+03_rb,0.59720e+03_rb,0.87747e+03_rb,0.11598e+04_rb /) kbo(:, 3,20,10) = (/ & & 0.10607e+04_rb,0.80344e+03_rb,0.59654e+03_rb,0.87680e+03_rb,0.11581e+04_rb /) kbo(:, 4,20,10) = (/ & & 0.10584e+04_rb,0.80182e+03_rb,0.59585e+03_rb,0.87568e+03_rb,0.11568e+04_rb /) kbo(:, 5,20,10) = (/ & & 0.10568e+04_rb,0.80142e+03_rb,0.59502e+03_rb,0.87461e+03_rb,0.11549e+04_rb /) kbo(:, 1,21,10) = (/ & & 0.10577e+04_rb,0.80247e+03_rb,0.59775e+03_rb,0.87831e+03_rb,0.11614e+04_rb /) kbo(:, 2,21,10) = (/ & & 0.10572e+04_rb,0.80108e+03_rb,0.59703e+03_rb,0.87733e+03_rb,0.11595e+04_rb /) kbo(:, 3,21,10) = (/ & & 0.10551e+04_rb,0.79955e+03_rb,0.59639e+03_rb,0.87689e+03_rb,0.11579e+04_rb /) kbo(:, 4,21,10) = (/ & & 0.10548e+04_rb,0.79914e+03_rb,0.59569e+03_rb,0.87563e+03_rb,0.11565e+04_rb /) kbo(:, 5,21,10) = (/ & & 0.10533e+04_rb,0.79794e+03_rb,0.59484e+03_rb,0.87454e+03_rb,0.11546e+04_rb /) kbo(:, 1,22,10) = (/ & & 0.10544e+04_rb,0.79901e+03_rb,0.59755e+03_rb,0.87816e+03_rb,0.11610e+04_rb /) kbo(:, 2,22,10) = (/ & & 0.10524e+04_rb,0.79865e+03_rb,0.59692e+03_rb,0.87715e+03_rb,0.11592e+04_rb /) kbo(:, 3,22,10) = (/ & & 0.10518e+04_rb,0.79733e+03_rb,0.59621e+03_rb,0.87638e+03_rb,0.11576e+04_rb /) kbo(:, 4,22,10) = (/ & & 0.10503e+04_rb,0.79602e+03_rb,0.59549e+03_rb,0.87540e+03_rb,0.11562e+04_rb /) kbo(:, 5,22,10) = (/ & & 0.10497e+04_rb,0.79577e+03_rb,0.59455e+03_rb,0.87415e+03_rb,0.11542e+04_rb /) kbo(:, 1,23,10) = (/ & & 0.10504e+04_rb,0.79618e+03_rb,0.59736e+03_rb,0.87790e+03_rb,0.11608e+04_rb /) kbo(:, 2,23,10) = (/ & & 0.10488e+04_rb,0.79542e+03_rb,0.59652e+03_rb,0.87687e+03_rb,0.11588e+04_rb /) kbo(:, 3,23,10) = (/ & & 0.10489e+04_rb,0.79466e+03_rb,0.59603e+03_rb,0.87619e+03_rb,0.11574e+04_rb /) kbo(:, 4,23,10) = (/ & & 0.10477e+04_rb,0.79399e+03_rb,0.59528e+03_rb,0.87505e+03_rb,0.11559e+04_rb /) kbo(:, 5,23,10) = (/ & & 0.10468e+04_rb,0.79357e+03_rb,0.59440e+03_rb,0.87388e+03_rb,0.11537e+04_rb /) kbo(:, 1,24,10) = (/ & & 0.10475e+04_rb,0.79355e+03_rb,0.59716e+03_rb,0.87766e+03_rb,0.11603e+04_rb /) kbo(:, 2,24,10) = (/ & & 0.10471e+04_rb,0.79325e+03_rb,0.59650e+03_rb,0.87681e+03_rb,0.11585e+04_rb /) kbo(:, 3,24,10) = (/ & & 0.10463e+04_rb,0.79243e+03_rb,0.59586e+03_rb,0.87587e+03_rb,0.11571e+04_rb /) kbo(:, 4,24,10) = (/ & & 0.10454e+04_rb,0.79206e+03_rb,0.59508e+03_rb,0.87468e+03_rb,0.11555e+04_rb /) kbo(:, 5,24,10) = (/ & & 0.10455e+04_rb,0.79146e+03_rb,0.59426e+03_rb,0.87360e+03_rb,0.11532e+04_rb /) kbo(:, 1,25,10) = (/ & & 0.10443e+04_rb,0.79222e+03_rb,0.59698e+03_rb,0.87742e+03_rb,0.11598e+04_rb /) kbo(:, 2,25,10) = (/ & & 0.10446e+04_rb,0.79165e+03_rb,0.59633e+03_rb,0.87696e+03_rb,0.11582e+04_rb /) kbo(:, 3,25,10) = (/ & & 0.10440e+04_rb,0.79123e+03_rb,0.59567e+03_rb,0.87565e+03_rb,0.11568e+04_rb /) kbo(:, 4,25,10) = (/ & & 0.10433e+04_rb,0.79106e+03_rb,0.59487e+03_rb,0.87451e+03_rb,0.11551e+04_rb /) kbo(:, 5,25,10) = (/ & & 0.10423e+04_rb,0.79063e+03_rb,0.59375e+03_rb,0.87329e+03_rb,0.11525e+04_rb /) kbo(:, 1,26,10) = (/ & & 0.10431e+04_rb,0.79112e+03_rb,0.59671e+03_rb,0.87720e+03_rb,0.11595e+04_rb /) kbo(:, 2,26,10) = (/ & & 0.10430e+04_rb,0.79016e+03_rb,0.59608e+03_rb,0.87633e+03_rb,0.11579e+04_rb /) kbo(:, 3,26,10) = (/ & & 0.10422e+04_rb,0.78992e+03_rb,0.59547e+03_rb,0.87551e+03_rb,0.11565e+04_rb /) kbo(:, 4,26,10) = (/ & & 0.10418e+04_rb,0.78943e+03_rb,0.59456e+03_rb,0.87419e+03_rb,0.11545e+04_rb /) kbo(:, 5,26,10) = (/ & & 0.10417e+04_rb,0.78966e+03_rb,0.59375e+03_rb,0.87285e+03_rb,0.11523e+04_rb /) kbo(:, 1,27,10) = (/ & & 0.10421e+04_rb,0.78970e+03_rb,0.59653e+03_rb,0.87700e+03_rb,0.11589e+04_rb /) kbo(:, 2,27,10) = (/ & & 0.10419e+04_rb,0.78911e+03_rb,0.59591e+03_rb,0.87623e+03_rb,0.11575e+04_rb /) kbo(:, 3,27,10) = (/ & & 0.10414e+04_rb,0.78914e+03_rb,0.59527e+03_rb,0.87524e+03_rb,0.11555e+04_rb /) kbo(:, 4,27,10) = (/ & & 0.10412e+04_rb,0.78891e+03_rb,0.59440e+03_rb,0.87398e+03_rb,0.11540e+04_rb /) kbo(:, 5,27,10) = (/ & & 0.10400e+04_rb,0.78850e+03_rb,0.59354e+03_rb,0.87262e+03_rb,0.11516e+04_rb /) kbo(:, 1,28,10) = (/ & & 0.10402e+04_rb,0.78860e+03_rb,0.59644e+03_rb,0.87682e+03_rb,0.11586e+04_rb /) kbo(:, 2,28,10) = (/ & & 0.10405e+04_rb,0.78788e+03_rb,0.59574e+03_rb,0.87579e+03_rb,0.11571e+04_rb /) kbo(:, 3,28,10) = (/ & & 0.10403e+04_rb,0.78855e+03_rb,0.59498e+03_rb,0.87473e+03_rb,0.11552e+04_rb /) kbo(:, 4,28,10) = (/ & & 0.10397e+04_rb,0.78826e+03_rb,0.59417e+03_rb,0.87377e+03_rb,0.11534e+04_rb /) kbo(:, 5,28,10) = (/ & & 0.10396e+04_rb,0.78810e+03_rb,0.59333e+03_rb,0.87227e+03_rb,0.11511e+04_rb /) kbo(:, 1,29,10) = (/ & & 0.10391e+04_rb,0.78797e+03_rb,0.59612e+03_rb,0.87685e+03_rb,0.11584e+04_rb /) kbo(:, 2,29,10) = (/ & & 0.10393e+04_rb,0.78808e+03_rb,0.59562e+03_rb,0.87577e+03_rb,0.11569e+04_rb /) kbo(:, 3,29,10) = (/ & & 0.10401e+04_rb,0.78791e+03_rb,0.59476e+03_rb,0.87463e+03_rb,0.11550e+04_rb /) kbo(:, 4,29,10) = (/ & & 0.10388e+04_rb,0.78727e+03_rb,0.59387e+03_rb,0.87332e+03_rb,0.11526e+04_rb /) kbo(:, 5,29,10) = (/ & & 0.10383e+04_rb,0.78753e+03_rb,0.59306e+03_rb,0.87189e+03_rb,0.11504e+04_rb /) kbo(:, 1,30,10) = (/ & & 0.10398e+04_rb,0.78748e+03_rb,0.59603e+03_rb,0.87643e+03_rb,0.11579e+04_rb /) kbo(:, 2,30,10) = (/ & & 0.10387e+04_rb,0.78733e+03_rb,0.59550e+03_rb,0.87550e+03_rb,0.11567e+04_rb /) kbo(:, 3,30,10) = (/ & & 0.10384e+04_rb,0.78700e+03_rb,0.59460e+03_rb,0.87431e+03_rb,0.11543e+04_rb /) kbo(:, 4,30,10) = (/ & & 0.10381e+04_rb,0.78738e+03_rb,0.59372e+03_rb,0.87275e+03_rb,0.11522e+04_rb /) kbo(:, 5,30,10) = (/ & & 0.10382e+04_rb,0.78707e+03_rb,0.59292e+03_rb,0.87137e+03_rb,0.11500e+04_rb /) kbo(:, 1,31,10) = (/ & & 0.10388e+04_rb,0.78740e+03_rb,0.59593e+03_rb,0.87621e+03_rb,0.11575e+04_rb /) kbo(:, 2,31,10) = (/ & & 0.10385e+04_rb,0.78757e+03_rb,0.59522e+03_rb,0.87522e+03_rb,0.11561e+04_rb /) kbo(:, 3,31,10) = (/ & & 0.10386e+04_rb,0.78718e+03_rb,0.59436e+03_rb,0.87397e+03_rb,0.11540e+04_rb /) kbo(:, 4,31,10) = (/ & & 0.10377e+04_rb,0.78650e+03_rb,0.59350e+03_rb,0.87250e+03_rb,0.11516e+04_rb /) kbo(:, 5,31,10) = (/ & & 0.10376e+04_rb,0.78651e+03_rb,0.59269e+03_rb,0.87108e+03_rb,0.11495e+04_rb /) kbo(:, 1,32,10) = (/ & & 0.10383e+04_rb,0.78682e+03_rb,0.59576e+03_rb,0.87597e+03_rb,0.11572e+04_rb /) kbo(:, 2,32,10) = (/ & & 0.10383e+04_rb,0.78712e+03_rb,0.59500e+03_rb,0.87480e+03_rb,0.11556e+04_rb /) kbo(:, 3,32,10) = (/ & & 0.10381e+04_rb,0.78606e+03_rb,0.59405e+03_rb,0.87362e+03_rb,0.11534e+04_rb /) kbo(:, 4,32,10) = (/ & & 0.10372e+04_rb,0.78628e+03_rb,0.59329e+03_rb,0.87223e+03_rb,0.11510e+04_rb /) kbo(:, 5,32,10) = (/ & & 0.10377e+04_rb,0.78690e+03_rb,0.59245e+03_rb,0.87068e+03_rb,0.11490e+04_rb /) kbo(:, 1,33,10) = (/ & & 0.10380e+04_rb,0.78593e+03_rb,0.59549e+03_rb,0.87572e+03_rb,0.11567e+04_rb /) kbo(:, 2,33,10) = (/ & & 0.10375e+04_rb,0.78654e+03_rb,0.59477e+03_rb,0.87458e+03_rb,0.11551e+04_rb /) kbo(:, 3,33,10) = (/ & & 0.10374e+04_rb,0.78686e+03_rb,0.59389e+03_rb,0.87337e+03_rb,0.11527e+04_rb /) kbo(:, 4,33,10) = (/ & & 0.10366e+04_rb,0.78593e+03_rb,0.59308e+03_rb,0.87194e+03_rb,0.11506e+04_rb /) kbo(:, 5,33,10) = (/ & & 0.10369e+04_rb,0.78626e+03_rb,0.59219e+03_rb,0.87038e+03_rb,0.11486e+04_rb /) kbo(:, 1,34,10) = (/ & & 0.10373e+04_rb,0.78657e+03_rb,0.59539e+03_rb,0.87559e+03_rb,0.11565e+04_rb /) kbo(:, 2,34,10) = (/ & & 0.10370e+04_rb,0.78641e+03_rb,0.59464e+03_rb,0.87429e+03_rb,0.11546e+04_rb /) kbo(:, 3,34,10) = (/ & & 0.10370e+04_rb,0.78587e+03_rb,0.59369e+03_rb,0.87295e+03_rb,0.11522e+04_rb /) kbo(:, 4,34,10) = (/ & & 0.10371e+04_rb,0.78562e+03_rb,0.59289e+03_rb,0.87146e+03_rb,0.11500e+04_rb /) kbo(:, 5,34,10) = (/ & & 0.10372e+04_rb,0.78597e+03_rb,0.59202e+03_rb,0.86991e+03_rb,0.11482e+04_rb /) kbo(:, 1,35,10) = (/ & & 0.10364e+04_rb,0.78559e+03_rb,0.59529e+03_rb,0.87523e+03_rb,0.11563e+04_rb /) kbo(:, 2,35,10) = (/ & & 0.10362e+04_rb,0.78545e+03_rb,0.59445e+03_rb,0.87400e+03_rb,0.11543e+04_rb /) kbo(:, 3,35,10) = (/ & & 0.10372e+04_rb,0.78599e+03_rb,0.59365e+03_rb,0.87265e+03_rb,0.11519e+04_rb /) kbo(:, 4,35,10) = (/ & & 0.10370e+04_rb,0.78527e+03_rb,0.59278e+03_rb,0.87136e+03_rb,0.11496e+04_rb /) kbo(:, 5,35,10) = (/ & & 0.10363e+04_rb,0.78582e+03_rb,0.59179e+03_rb,0.86905e+03_rb,0.11477e+04_rb /) kbo(:, 1,36,10) = (/ & & 0.10368e+04_rb,0.78515e+03_rb,0.59520e+03_rb,0.87532e+03_rb,0.11563e+04_rb /) kbo(:, 2,36,10) = (/ & & 0.10358e+04_rb,0.78589e+03_rb,0.59443e+03_rb,0.87419e+03_rb,0.11542e+04_rb /) kbo(:, 3,36,10) = (/ & & 0.10361e+04_rb,0.78556e+03_rb,0.59355e+03_rb,0.87273e+03_rb,0.11517e+04_rb /) kbo(:, 4,36,10) = (/ & & 0.10361e+04_rb,0.78543e+03_rb,0.59275e+03_rb,0.87122e+03_rb,0.11497e+04_rb /) kbo(:, 5,36,10) = (/ & & 0.10368e+04_rb,0.78570e+03_rb,0.59176e+03_rb,0.86999e+03_rb,0.11477e+04_rb /) kbo(:, 1,37,10) = (/ & & 0.10363e+04_rb,0.78591e+03_rb,0.59537e+03_rb,0.87546e+03_rb,0.11565e+04_rb /) kbo(:, 2,37,10) = (/ & & 0.10360e+04_rb,0.78548e+03_rb,0.59454e+03_rb,0.87425e+03_rb,0.11545e+04_rb /) kbo(:, 3,37,10) = (/ & & 0.10362e+04_rb,0.78546e+03_rb,0.59366e+03_rb,0.87291e+03_rb,0.11521e+04_rb /) kbo(:, 4,37,10) = (/ & & 0.10364e+04_rb,0.78543e+03_rb,0.59286e+03_rb,0.87142e+03_rb,0.11500e+04_rb /) kbo(:, 5,37,10) = (/ & & 0.10360e+04_rb,0.78560e+03_rb,0.59177e+03_rb,0.86987e+03_rb,0.11482e+04_rb /) kbo(:, 1,38,10) = (/ & & 0.10362e+04_rb,0.78542e+03_rb,0.59547e+03_rb,0.87560e+03_rb,0.11567e+04_rb /) kbo(:, 2,38,10) = (/ & & 0.10357e+04_rb,0.78588e+03_rb,0.59466e+03_rb,0.87433e+03_rb,0.11549e+04_rb /) kbo(:, 3,38,10) = (/ & & 0.10370e+04_rb,0.78605e+03_rb,0.59385e+03_rb,0.87310e+03_rb,0.11524e+04_rb /) kbo(:, 4,38,10) = (/ & & 0.10362e+04_rb,0.78574e+03_rb,0.59297e+03_rb,0.87186e+03_rb,0.11501e+04_rb /) kbo(:, 5,38,10) = (/ & & 0.10364e+04_rb,0.78533e+03_rb,0.59199e+03_rb,0.87009e+03_rb,0.11482e+04_rb /) kbo(:, 1,39,10) = (/ & & 0.10359e+04_rb,0.78514e+03_rb,0.59557e+03_rb,0.87574e+03_rb,0.11567e+04_rb /) kbo(:, 2,39,10) = (/ & & 0.10371e+04_rb,0.78541e+03_rb,0.59478e+03_rb,0.87461e+03_rb,0.11552e+04_rb /) kbo(:, 3,39,10) = (/ & & 0.10366e+04_rb,0.78569e+03_rb,0.59382e+03_rb,0.87329e+03_rb,0.11528e+04_rb /) kbo(:, 4,39,10) = (/ & & 0.10359e+04_rb,0.78528e+03_rb,0.59308e+03_rb,0.87198e+03_rb,0.11506e+04_rb /) kbo(:, 5,39,10) = (/ & & 0.10356e+04_rb,0.78487e+03_rb,0.59220e+03_rb,0.87042e+03_rb,0.11486e+04_rb /) kbo(:, 1,40,10) = (/ & & 0.10357e+04_rb,0.78518e+03_rb,0.59566e+03_rb,0.87586e+03_rb,0.11569e+04_rb /) kbo(:, 2,40,10) = (/ & & 0.10357e+04_rb,0.78506e+03_rb,0.59498e+03_rb,0.87480e+03_rb,0.11555e+04_rb /) kbo(:, 3,40,10) = (/ & & 0.10366e+04_rb,0.78504e+03_rb,0.59396e+03_rb,0.87362e+03_rb,0.11534e+04_rb /) kbo(:, 4,40,10) = (/ & & 0.10363e+04_rb,0.78503e+03_rb,0.59319e+03_rb,0.87212e+03_rb,0.11511e+04_rb /) kbo(:, 5,40,10) = (/ & & 0.10363e+04_rb,0.78540e+03_rb,0.59243e+03_rb,0.87078e+03_rb,0.11490e+04_rb /) kbo(:, 1,41,10) = (/ & & 0.10363e+04_rb,0.78503e+03_rb,0.59590e+03_rb,0.87608e+03_rb,0.11576e+04_rb /) kbo(:, 2,41,10) = (/ & & 0.10356e+04_rb,0.78491e+03_rb,0.59519e+03_rb,0.87520e+03_rb,0.11561e+04_rb /) kbo(:, 3,41,10) = (/ & & 0.10364e+04_rb,0.78558e+03_rb,0.59433e+03_rb,0.87384e+03_rb,0.11540e+04_rb /) kbo(:, 4,41,10) = (/ & & 0.10357e+04_rb,0.78518e+03_rb,0.59354e+03_rb,0.87259e+03_rb,0.11516e+04_rb /) kbo(:, 5,41,10) = (/ & & 0.10360e+04_rb,0.78526e+03_rb,0.59259e+03_rb,0.87107e+03_rb,0.11495e+04_rb /) kbo(:, 1,42,10) = (/ & & 0.10360e+04_rb,0.78488e+03_rb,0.59605e+03_rb,0.87553e+03_rb,0.11576e+04_rb /) kbo(:, 2,42,10) = (/ & & 0.10363e+04_rb,0.78507e+03_rb,0.59538e+03_rb,0.87537e+03_rb,0.11565e+04_rb /) kbo(:, 3,42,10) = (/ & & 0.10362e+04_rb,0.78535e+03_rb,0.59456e+03_rb,0.87429e+03_rb,0.11545e+04_rb /) kbo(:, 4,42,10) = (/ & & 0.10361e+04_rb,0.78514e+03_rb,0.59368e+03_rb,0.87295e+03_rb,0.11522e+04_rb /) kbo(:, 5,42,10) = (/ & & 0.10360e+04_rb,0.78523e+03_rb,0.59281e+03_rb,0.87146e+03_rb,0.11502e+04_rb /) kbo(:, 1,43,10) = (/ & & 0.10359e+04_rb,0.78504e+03_rb,0.59624e+03_rb,0.87675e+03_rb,0.11584e+04_rb /) kbo(:, 2,43,10) = (/ & & 0.10355e+04_rb,0.78552e+03_rb,0.59568e+03_rb,0.87580e+03_rb,0.11570e+04_rb /) kbo(:, 3,43,10) = (/ & & 0.10354e+04_rb,0.78512e+03_rb,0.59483e+03_rb,0.87469e+03_rb,0.11553e+04_rb /) kbo(:, 4,43,10) = (/ & & 0.10354e+04_rb,0.78569e+03_rb,0.59395e+03_rb,0.87316e+03_rb,0.11531e+04_rb /) kbo(:, 5,43,10) = (/ & & 0.10359e+04_rb,0.78598e+03_rb,0.59313e+03_rb,0.87186e+03_rb,0.11507e+04_rb /) kbo(:, 1,44,10) = (/ & & 0.10359e+04_rb,0.78521e+03_rb,0.59645e+03_rb,0.87700e+03_rb,0.11590e+04_rb /) kbo(:, 2,44,10) = (/ & & 0.10361e+04_rb,0.78510e+03_rb,0.59583e+03_rb,0.87611e+03_rb,0.11574e+04_rb /) kbo(:, 3,44,10) = (/ & & 0.10368e+04_rb,0.78519e+03_rb,0.59511e+03_rb,0.87509e+03_rb,0.11561e+04_rb /) kbo(:, 4,44,10) = (/ & & 0.10360e+04_rb,0.78508e+03_rb,0.59424e+03_rb,0.87372e+03_rb,0.11538e+04_rb /) kbo(:, 5,44,10) = (/ & & 0.10356e+04_rb,0.78537e+03_rb,0.59339e+03_rb,0.87213e+03_rb,0.11514e+04_rb /) kbo(:, 1,45,10) = (/ & & 0.10357e+04_rb,0.78557e+03_rb,0.59666e+03_rb,0.87715e+03_rb,0.11597e+04_rb /) kbo(:, 2,45,10) = (/ & & 0.10356e+04_rb,0.78527e+03_rb,0.59604e+03_rb,0.87639e+03_rb,0.11579e+04_rb /) kbo(:, 3,45,10) = (/ & & 0.10360e+04_rb,0.78546e+03_rb,0.59537e+03_rb,0.87547e+03_rb,0.11565e+04_rb /) kbo(:, 4,45,10) = (/ & & 0.10361e+04_rb,0.78506e+03_rb,0.59454e+03_rb,0.87427e+03_rb,0.11544e+04_rb /) kbo(:, 5,45,10) = (/ & & 0.10353e+04_rb,0.78535e+03_rb,0.59366e+03_rb,0.87293e+03_rb,0.11520e+04_rb /) kbo(:, 1,46,10) = (/ & & 0.10358e+04_rb,0.78506e+03_rb,0.59691e+03_rb,0.87749e+03_rb,0.11602e+04_rb /) kbo(:, 2,46,10) = (/ & & 0.10353e+04_rb,0.78486e+03_rb,0.59626e+03_rb,0.87678e+03_rb,0.11584e+04_rb /) kbo(:, 3,46,10) = (/ & & 0.10353e+04_rb,0.78495e+03_rb,0.59563e+03_rb,0.87572e+03_rb,0.11570e+04_rb /) kbo(:, 4,46,10) = (/ & & 0.10363e+04_rb,0.78534e+03_rb,0.59478e+03_rb,0.87473e+03_rb,0.11554e+04_rb /) kbo(:, 5,46,10) = (/ & & 0.10355e+04_rb,0.78455e+03_rb,0.59398e+03_rb,0.87342e+03_rb,0.11530e+04_rb /) kbo(:, 1,47,10) = (/ & & 0.10357e+04_rb,0.78544e+03_rb,0.59719e+03_rb,0.87795e+03_rb,0.11609e+04_rb /) kbo(:, 2,47,10) = (/ & & 0.10355e+04_rb,0.78533e+03_rb,0.59651e+03_rb,0.87696e+03_rb,0.11589e+04_rb /) kbo(:, 3,47,10) = (/ & & 0.10358e+04_rb,0.78543e+03_rb,0.59590e+03_rb,0.87576e+03_rb,0.11576e+04_rb /) kbo(:, 4,47,10) = (/ & & 0.10351e+04_rb,0.78562e+03_rb,0.59519e+03_rb,0.87521e+03_rb,0.11561e+04_rb /) kbo(:, 5,47,10) = (/ & & 0.10359e+04_rb,0.78571e+03_rb,0.59433e+03_rb,0.87385e+03_rb,0.11540e+04_rb /) kbo(:, 1,48,10) = (/ & & 0.10363e+04_rb,0.78513e+03_rb,0.59744e+03_rb,0.87846e+03_rb,0.11618e+04_rb /) kbo(:, 2,48,10) = (/ & & 0.10360e+04_rb,0.78532e+03_rb,0.59677e+03_rb,0.87730e+03_rb,0.11598e+04_rb /) kbo(:, 3,48,10) = (/ & & 0.10365e+04_rb,0.78483e+03_rb,0.59614e+03_rb,0.87707e+03_rb,0.11581e+04_rb /) kbo(:, 4,48,10) = (/ & & 0.10355e+04_rb,0.78521e+03_rb,0.59549e+03_rb,0.87564e+03_rb,0.11567e+04_rb /) kbo(:, 5,48,10) = (/ & & 0.10355e+04_rb,0.78531e+03_rb,0.59469e+03_rb,0.87448e+03_rb,0.11550e+04_rb /) kbo(:, 1,49,10) = (/ & & 0.10351e+04_rb,0.78492e+03_rb,0.59768e+03_rb,0.87902e+03_rb,0.11625e+04_rb /) kbo(:, 2,49,10) = (/ & & 0.10355e+04_rb,0.78541e+03_rb,0.59705e+03_rb,0.87772e+03_rb,0.11606e+04_rb /) kbo(:, 3,49,10) = (/ & & 0.10352e+04_rb,0.78472e+03_rb,0.59639e+03_rb,0.87682e+03_rb,0.11587e+04_rb /) kbo(:, 4,49,10) = (/ & & 0.10356e+04_rb,0.78511e+03_rb,0.59577e+03_rb,0.87591e+03_rb,0.11574e+04_rb /) kbo(:, 5,49,10) = (/ & & 0.10352e+04_rb,0.78501e+03_rb,0.59510e+03_rb,0.87498e+03_rb,0.11558e+04_rb /) kbo(:, 1,50,10) = (/ & & 0.10361e+04_rb,0.78540e+03_rb,0.59770e+03_rb,0.87956e+03_rb,0.11633e+04_rb /) kbo(:, 2,50,10) = (/ & & 0.10357e+04_rb,0.78530e+03_rb,0.59731e+03_rb,0.87817e+03_rb,0.11612e+04_rb /) kbo(:, 3,50,10) = (/ & & 0.10365e+04_rb,0.78510e+03_rb,0.59662e+03_rb,0.87710e+03_rb,0.11596e+04_rb /) kbo(:, 4,50,10) = (/ & & 0.10365e+04_rb,0.78510e+03_rb,0.59601e+03_rb,0.87645e+03_rb,0.11578e+04_rb /) kbo(:, 5,50,10) = (/ & & 0.10352e+04_rb,0.78588e+03_rb,0.59525e+03_rb,0.87541e+03_rb,0.11564e+04_rb /) kbo(:, 1,51,10) = (/ & & 0.10356e+04_rb,0.78490e+03_rb,0.59781e+03_rb,0.88010e+03_rb,0.11639e+04_rb /) kbo(:, 2,51,10) = (/ & & 0.10356e+04_rb,0.78539e+03_rb,0.59751e+03_rb,0.87866e+03_rb,0.11620e+04_rb /) kbo(:, 3,51,10) = (/ & & 0.10359e+04_rb,0.78461e+03_rb,0.59687e+03_rb,0.87744e+03_rb,0.11601e+04_rb /) kbo(:, 4,51,10) = (/ & & 0.10352e+04_rb,0.78519e+03_rb,0.59623e+03_rb,0.87674e+03_rb,0.11583e+04_rb /) kbo(:, 5,51,10) = (/ & & 0.10356e+04_rb,0.78470e+03_rb,0.59552e+03_rb,0.87578e+03_rb,0.11569e+04_rb /) kbo(:, 1,52,10) = (/ & & 0.10352e+04_rb,0.78509e+03_rb,0.59800e+03_rb,0.88094e+03_rb,0.11643e+04_rb /) kbo(:, 2,52,10) = (/ & & 0.10355e+04_rb,0.78528e+03_rb,0.59763e+03_rb,0.87918e+03_rb,0.11627e+04_rb /) kbo(:, 3,52,10) = (/ & & 0.10361e+04_rb,0.78479e+03_rb,0.59712e+03_rb,0.87762e+03_rb,0.11608e+04_rb /) kbo(:, 4,52,10) = (/ & & 0.10358e+04_rb,0.78528e+03_rb,0.59645e+03_rb,0.87678e+03_rb,0.11589e+04_rb /) kbo(:, 5,52,10) = (/ & & 0.10355e+04_rb,0.78528e+03_rb,0.59584e+03_rb,0.87612e+03_rb,0.11573e+04_rb /) kbo(:, 1,53,10) = (/ & & 0.10357e+04_rb,0.78528e+03_rb,0.59832e+03_rb,0.88148e+03_rb,0.11650e+04_rb /) kbo(:, 2,53,10) = (/ & & 0.10357e+04_rb,0.78596e+03_rb,0.59772e+03_rb,0.87969e+03_rb,0.11634e+04_rb /) kbo(:, 3,53,10) = (/ & & 0.10361e+04_rb,0.78547e+03_rb,0.59737e+03_rb,0.87830e+03_rb,0.11614e+04_rb /) kbo(:, 4,53,10) = (/ & & 0.10362e+04_rb,0.78537e+03_rb,0.59668e+03_rb,0.87707e+03_rb,0.11596e+04_rb /) kbo(:, 5,53,10) = (/ & & 0.10356e+04_rb,0.78498e+03_rb,0.59606e+03_rb,0.87642e+03_rb,0.11578e+04_rb /) kbo(:, 1,54,10) = (/ & & 0.10351e+04_rb,0.78567e+03_rb,0.59851e+03_rb,0.88199e+03_rb,0.11656e+04_rb /) kbo(:, 2,54,10) = (/ & & 0.10366e+04_rb,0.78518e+03_rb,0.59776e+03_rb,0.88021e+03_rb,0.11638e+04_rb /) kbo(:, 3,54,10) = (/ & & 0.10364e+04_rb,0.78478e+03_rb,0.59753e+03_rb,0.87875e+03_rb,0.11621e+04_rb /) kbo(:, 4,54,10) = (/ & & 0.10356e+04_rb,0.78498e+03_rb,0.59692e+03_rb,0.87751e+03_rb,0.11602e+04_rb /) kbo(:, 5,54,10) = (/ & & 0.10362e+04_rb,0.78527e+03_rb,0.59627e+03_rb,0.87657e+03_rb,0.11584e+04_rb /) kbo(:, 1,55,10) = (/ & & 0.10355e+04_rb,0.78488e+03_rb,0.59876e+03_rb,0.88250e+03_rb,0.11663e+04_rb /) kbo(:, 2,55,10) = (/ & & 0.10362e+04_rb,0.78527e+03_rb,0.59801e+03_rb,0.88087e+03_rb,0.11643e+04_rb /) kbo(:, 3,55,10) = (/ & & 0.10356e+04_rb,0.78507e+03_rb,0.59764e+03_rb,0.87920e+03_rb,0.11628e+04_rb /) kbo(:, 4,55,10) = (/ & & 0.10353e+04_rb,0.78488e+03_rb,0.59714e+03_rb,0.87787e+03_rb,0.11606e+04_rb /) kbo(:, 5,55,10) = (/ & & 0.10356e+04_rb,0.78488e+03_rb,0.59639e+03_rb,0.87691e+03_rb,0.11585e+04_rb /) kbo(:, 1,56,10) = (/ & & 0.10353e+04_rb,0.78537e+03_rb,0.59904e+03_rb,0.88318e+03_rb,0.11672e+04_rb /) kbo(:, 2,56,10) = (/ & & 0.10354e+04_rb,0.78497e+03_rb,0.59830e+03_rb,0.88144e+03_rb,0.11649e+04_rb /) kbo(:, 3,56,10) = (/ & & 0.10361e+04_rb,0.78536e+03_rb,0.59771e+03_rb,0.87966e+03_rb,0.11634e+04_rb /) kbo(:, 4,56,10) = (/ & & 0.10357e+04_rb,0.78497e+03_rb,0.59736e+03_rb,0.87826e+03_rb,0.11615e+04_rb /) kbo(:, 5,56,10) = (/ & & 0.10353e+04_rb,0.78478e+03_rb,0.59667e+03_rb,0.87705e+03_rb,0.11595e+04_rb /) kbo(:, 1,57,10) = (/ & & 0.10358e+04_rb,0.78458e+03_rb,0.59927e+03_rb,0.88350e+03_rb,0.11679e+04_rb /) kbo(:, 2,57,10) = (/ & & 0.10352e+04_rb,0.78536e+03_rb,0.59840e+03_rb,0.88193e+03_rb,0.11656e+04_rb /) kbo(:, 3,57,10) = (/ & & 0.10352e+04_rb,0.78526e+03_rb,0.59782e+03_rb,0.88003e+03_rb,0.11638e+04_rb /) kbo(:, 4,57,10) = (/ & & 0.10358e+04_rb,0.78497e+03_rb,0.59751e+03_rb,0.87869e+03_rb,0.11622e+04_rb /) kbo(:, 5,57,10) = (/ & & 0.10360e+04_rb,0.78497e+03_rb,0.59689e+03_rb,0.87746e+03_rb,0.11601e+04_rb /) kbo(:, 1,58,10) = (/ & & 0.10358e+04_rb,0.78468e+03_rb,0.59969e+03_rb,0.88402e+03_rb,0.11685e+04_rb /) kbo(:, 2,58,10) = (/ & & 0.10357e+04_rb,0.78458e+03_rb,0.59873e+03_rb,0.88241e+03_rb,0.11662e+04_rb /) kbo(:, 3,58,10) = (/ & & 0.10358e+04_rb,0.78526e+03_rb,0.59797e+03_rb,0.88085e+03_rb,0.11642e+04_rb /) kbo(:, 4,58,10) = (/ & & 0.10356e+04_rb,0.78487e+03_rb,0.59762e+03_rb,0.87912e+03_rb,0.11626e+04_rb /) kbo(:, 5,58,10) = (/ & & 0.10357e+04_rb,0.78565e+03_rb,0.59710e+03_rb,0.87769e+03_rb,0.11608e+04_rb /) kbo(:, 1,59,10) = (/ & & 0.10360e+04_rb,0.78507e+03_rb,0.59979e+03_rb,0.88416e+03_rb,0.11687e+04_rb /) kbo(:, 2,59,10) = (/ & & 0.10357e+04_rb,0.78477e+03_rb,0.59879e+03_rb,0.88260e+03_rb,0.11665e+04_rb /) kbo(:, 3,59,10) = (/ & & 0.10350e+04_rb,0.78526e+03_rb,0.59804e+03_rb,0.88100e+03_rb,0.11644e+04_rb /) kbo(:, 4,59,10) = (/ & & 0.10357e+04_rb,0.78467e+03_rb,0.59773e+03_rb,0.87930e+03_rb,0.11629e+04_rb /) kbo(:, 5,59,10) = (/ & & 0.10358e+04_rb,0.78457e+03_rb,0.59718e+03_rb,0.87783e+03_rb,0.11609e+04_rb /) kbo(:, 1,13,11) = (/ & & 0.11563e+04_rb,0.87491e+03_rb,0.60253e+03_rb,0.88362e+03_rb,0.11664e+04_rb /) kbo(:, 2,13,11) = (/ & & 0.11454e+04_rb,0.86861e+03_rb,0.60211e+03_rb,0.88300e+03_rb,0.11639e+04_rb /) kbo(:, 3,13,11) = (/ & & 0.11392e+04_rb,0.86181e+03_rb,0.60140e+03_rb,0.88181e+03_rb,0.11620e+04_rb /) kbo(:, 4,13,11) = (/ & & 0.11315e+04_rb,0.85680e+03_rb,0.60042e+03_rb,0.88057e+03_rb,0.11602e+04_rb /) kbo(:, 5,13,11) = (/ & & 0.11273e+04_rb,0.85330e+03_rb,0.59929e+03_rb,0.87908e+03_rb,0.11581e+04_rb /) kbo(:, 1,14,11) = (/ & & 0.11333e+04_rb,0.85776e+03_rb,0.60215e+03_rb,0.88338e+03_rb,0.11660e+04_rb /) kbo(:, 2,14,11) = (/ & & 0.11256e+04_rb,0.85211e+03_rb,0.60176e+03_rb,0.88258e+03_rb,0.11637e+04_rb /) kbo(:, 3,14,11) = (/ & & 0.11185e+04_rb,0.84809e+03_rb,0.60101e+03_rb,0.88154e+03_rb,0.11618e+04_rb /) kbo(:, 4,14,11) = (/ & & 0.11137e+04_rb,0.84328e+03_rb,0.59992e+03_rb,0.87989e+03_rb,0.11599e+04_rb /) kbo(:, 5,14,11) = (/ & & 0.11092e+04_rb,0.83997e+03_rb,0.59898e+03_rb,0.87879e+03_rb,0.11581e+04_rb /) kbo(:, 1,15,11) = (/ & & 0.11149e+04_rb,0.84435e+03_rb,0.60192e+03_rb,0.88317e+03_rb,0.11660e+04_rb /) kbo(:, 2,15,11) = (/ & & 0.11071e+04_rb,0.83899e+03_rb,0.60145e+03_rb,0.88233e+03_rb,0.11635e+04_rb /) kbo(:, 3,15,11) = (/ & & 0.11058e+04_rb,0.83612e+03_rb,0.60066e+03_rb,0.88128e+03_rb,0.11617e+04_rb /) kbo(:, 4,15,11) = (/ & & 0.10996e+04_rb,0.83410e+03_rb,0.59965e+03_rb,0.88002e+03_rb,0.11599e+04_rb /) kbo(:, 5,15,11) = (/ & & 0.10957e+04_rb,0.83022e+03_rb,0.59863e+03_rb,0.87850e+03_rb,0.11578e+04_rb /) kbo(:, 1,16,11) = (/ & & 0.10993e+04_rb,0.83361e+03_rb,0.60157e+03_rb,0.88298e+03_rb,0.11657e+04_rb /) kbo(:, 2,16,11) = (/ & & 0.10933e+04_rb,0.82961e+03_rb,0.60127e+03_rb,0.88210e+03_rb,0.11633e+04_rb /) kbo(:, 3,16,11) = (/ & & 0.10924e+04_rb,0.82745e+03_rb,0.60035e+03_rb,0.88104e+03_rb,0.11615e+04_rb /) kbo(:, 4,16,11) = (/ & & 0.10885e+04_rb,0.82319e+03_rb,0.59934e+03_rb,0.87977e+03_rb,0.11597e+04_rb /) kbo(:, 5,16,11) = (/ & & 0.10838e+04_rb,0.82062e+03_rb,0.59823e+03_rb,0.87823e+03_rb,0.11577e+04_rb /) kbo(:, 1,17,11) = (/ & & 0.10881e+04_rb,0.82385e+03_rb,0.60135e+03_rb,0.88282e+03_rb,0.11656e+04_rb /) kbo(:, 2,17,11) = (/ & & 0.10840e+04_rb,0.82201e+03_rb,0.60094e+03_rb,0.88190e+03_rb,0.11631e+04_rb /) kbo(:, 3,17,11) = (/ & & 0.10809e+04_rb,0.81908e+03_rb,0.60007e+03_rb,0.88083e+03_rb,0.11613e+04_rb /) kbo(:, 4,17,11) = (/ & & 0.10772e+04_rb,0.81792e+03_rb,0.59907e+03_rb,0.87953e+03_rb,0.11595e+04_rb /) kbo(:, 5,17,11) = (/ & & 0.10760e+04_rb,0.81580e+03_rb,0.59806e+03_rb,0.87798e+03_rb,0.11575e+04_rb /) kbo(:, 1,18,11) = (/ & & 0.10780e+04_rb,0.81679e+03_rb,0.60116e+03_rb,0.88267e+03_rb,0.11653e+04_rb /) kbo(:, 2,18,11) = (/ & & 0.10749e+04_rb,0.81512e+03_rb,0.60072e+03_rb,0.88171e+03_rb,0.11629e+04_rb /) kbo(:, 3,18,11) = (/ & & 0.10728e+04_rb,0.81180e+03_rb,0.59983e+03_rb,0.88050e+03_rb,0.11611e+04_rb /) kbo(:, 4,18,11) = (/ & & 0.10707e+04_rb,0.81081e+03_rb,0.59883e+03_rb,0.87944e+03_rb,0.11593e+04_rb /) kbo(:, 5,18,11) = (/ & & 0.10678e+04_rb,0.80905e+03_rb,0.59782e+03_rb,0.87775e+03_rb,0.11574e+04_rb /) kbo(:, 1,19,11) = (/ & & 0.10696e+04_rb,0.81122e+03_rb,0.60101e+03_rb,0.88252e+03_rb,0.11649e+04_rb /) kbo(:, 2,19,11) = (/ & & 0.10692e+04_rb,0.80792e+03_rb,0.60053e+03_rb,0.88155e+03_rb,0.11625e+04_rb /) kbo(:, 3,19,11) = (/ & & 0.10653e+04_rb,0.80791e+03_rb,0.59962e+03_rb,0.88058e+03_rb,0.11609e+04_rb /) kbo(:, 4,19,11) = (/ & & 0.10635e+04_rb,0.80651e+03_rb,0.59853e+03_rb,0.87910e+03_rb,0.11591e+04_rb /) kbo(:, 5,19,11) = (/ & & 0.10626e+04_rb,0.80552e+03_rb,0.59761e+03_rb,0.87753e+03_rb,0.11572e+04_rb /) kbo(:, 1,20,11) = (/ & & 0.10638e+04_rb,0.80613e+03_rb,0.60096e+03_rb,0.88236e+03_rb,0.11646e+04_rb /) kbo(:, 2,20,11) = (/ & & 0.10623e+04_rb,0.80416e+03_rb,0.60035e+03_rb,0.88137e+03_rb,0.11625e+04_rb /) kbo(:, 3,20,11) = (/ & & 0.10590e+04_rb,0.80264e+03_rb,0.59950e+03_rb,0.88013e+03_rb,0.11607e+04_rb /) kbo(:, 4,20,11) = (/ & & 0.10603e+04_rb,0.80308e+03_rb,0.59841e+03_rb,0.87915e+03_rb,0.11587e+04_rb /) kbo(:, 5,20,11) = (/ & & 0.10573e+04_rb,0.80101e+03_rb,0.59740e+03_rb,0.87729e+03_rb,0.11568e+04_rb /) kbo(:, 1,21,11) = (/ & & 0.10580e+04_rb,0.80255e+03_rb,0.60075e+03_rb,0.88233e+03_rb,0.11643e+04_rb /) kbo(:, 2,21,11) = (/ & & 0.10580e+04_rb,0.80172e+03_rb,0.60017e+03_rb,0.88121e+03_rb,0.11623e+04_rb /) kbo(:, 3,21,11) = (/ & & 0.10551e+04_rb,0.80129e+03_rb,0.59922e+03_rb,0.87954e+03_rb,0.11605e+04_rb /) kbo(:, 4,21,11) = (/ & & 0.10544e+04_rb,0.79894e+03_rb,0.59822e+03_rb,0.87866e+03_rb,0.11586e+04_rb /) kbo(:, 5,21,11) = (/ & & 0.10531e+04_rb,0.79850e+03_rb,0.59721e+03_rb,0.87693e+03_rb,0.11568e+04_rb /) kbo(:, 1,22,11) = (/ & & 0.10535e+04_rb,0.79809e+03_rb,0.60064e+03_rb,0.88198e+03_rb,0.11639e+04_rb /) kbo(:, 2,22,11) = (/ & & 0.10534e+04_rb,0.79679e+03_rb,0.59986e+03_rb,0.88098e+03_rb,0.11619e+04_rb /) kbo(:, 3,22,11) = (/ & & 0.10517e+04_rb,0.79764e+03_rb,0.59897e+03_rb,0.87993e+03_rb,0.11602e+04_rb /) kbo(:, 4,22,11) = (/ & & 0.10510e+04_rb,0.79739e+03_rb,0.59797e+03_rb,0.87835e+03_rb,0.11582e+04_rb /) kbo(:, 5,22,11) = (/ & & 0.10492e+04_rb,0.79579e+03_rb,0.59697e+03_rb,0.87672e+03_rb,0.11565e+04_rb /) kbo(:, 1,23,11) = (/ & & 0.10516e+04_rb,0.79606e+03_rb,0.60095e+03_rb,0.88176e+03_rb,0.11633e+04_rb /) kbo(:, 2,23,11) = (/ & & 0.10497e+04_rb,0.79542e+03_rb,0.59972e+03_rb,0.88074e+03_rb,0.11616e+04_rb /) kbo(:, 3,23,11) = (/ & & 0.10482e+04_rb,0.79453e+03_rb,0.59873e+03_rb,0.87952e+03_rb,0.11598e+04_rb /) kbo(:, 4,23,11) = (/ & & 0.10486e+04_rb,0.79431e+03_rb,0.59782e+03_rb,0.87802e+03_rb,0.11579e+04_rb /) kbo(:, 5,23,11) = (/ & & 0.10473e+04_rb,0.79522e+03_rb,0.59672e+03_rb,0.87637e+03_rb,0.11562e+04_rb /) kbo(:, 1,24,11) = (/ & & 0.10467e+04_rb,0.79476e+03_rb,0.60034e+03_rb,0.88154e+03_rb,0.11630e+04_rb /) kbo(:, 2,24,11) = (/ & & 0.10461e+04_rb,0.79357e+03_rb,0.59948e+03_rb,0.88049e+03_rb,0.11613e+04_rb /) kbo(:, 3,24,11) = (/ & & 0.10460e+04_rb,0.79280e+03_rb,0.59849e+03_rb,0.87921e+03_rb,0.11596e+04_rb /) kbo(:, 4,24,11) = (/ & & 0.10457e+04_rb,0.79222e+03_rb,0.59749e+03_rb,0.87768e+03_rb,0.11575e+04_rb /) kbo(:, 5,24,11) = (/ & & 0.10450e+04_rb,0.79193e+03_rb,0.59639e+03_rb,0.87600e+03_rb,0.11558e+04_rb /) kbo(:, 1,25,11) = (/ & & 0.10463e+04_rb,0.79209e+03_rb,0.60015e+03_rb,0.88131e+03_rb,0.11626e+04_rb /) kbo(:, 2,25,11) = (/ & & 0.10455e+04_rb,0.79185e+03_rb,0.59924e+03_rb,0.87983e+03_rb,0.11609e+04_rb /) kbo(:, 3,25,11) = (/ & & 0.10450e+04_rb,0.79214e+03_rb,0.59824e+03_rb,0.87889e+03_rb,0.11590e+04_rb /) kbo(:, 4,25,11) = (/ & & 0.10445e+04_rb,0.79118e+03_rb,0.59725e+03_rb,0.87732e+03_rb,0.11571e+04_rb /) kbo(:, 5,25,11) = (/ & & 0.10428e+04_rb,0.79168e+03_rb,0.59624e+03_rb,0.87561e+03_rb,0.11555e+04_rb /) kbo(:, 1,26,11) = (/ & & 0.10437e+04_rb,0.79093e+03_rb,0.59993e+03_rb,0.88106e+03_rb,0.11624e+04_rb /) kbo(:, 2,26,11) = (/ & & 0.10430e+04_rb,0.79091e+03_rb,0.59898e+03_rb,0.87993e+03_rb,0.11605e+04_rb /) kbo(:, 3,26,11) = (/ & & 0.10430e+04_rb,0.79069e+03_rb,0.59808e+03_rb,0.87852e+03_rb,0.11586e+04_rb /) kbo(:, 4,26,11) = (/ & & 0.10425e+04_rb,0.79087e+03_rb,0.59699e+03_rb,0.87692e+03_rb,0.11569e+04_rb /) kbo(:, 5,26,11) = (/ & & 0.10414e+04_rb,0.78954e+03_rb,0.59598e+03_rb,0.87517e+03_rb,0.11547e+04_rb /) kbo(:, 1,27,11) = (/ & & 0.10423e+04_rb,0.79028e+03_rb,0.59970e+03_rb,0.88080e+03_rb,0.11616e+04_rb /) kbo(:, 2,27,11) = (/ & & 0.10415e+04_rb,0.78939e+03_rb,0.59872e+03_rb,0.87961e+03_rb,0.11600e+04_rb /) kbo(:, 3,27,11) = (/ & & 0.10419e+04_rb,0.78972e+03_rb,0.59773e+03_rb,0.87814e+03_rb,0.11581e+04_rb /) kbo(:, 4,27,11) = (/ & & 0.10405e+04_rb,0.78901e+03_rb,0.59673e+03_rb,0.87651e+03_rb,0.11564e+04_rb /) kbo(:, 5,27,11) = (/ & & 0.10410e+04_rb,0.78880e+03_rb,0.59572e+03_rb,0.87471e+03_rb,0.11546e+04_rb /) kbo(:, 1,28,11) = (/ & & 0.10411e+04_rb,0.78831e+03_rb,0.59945e+03_rb,0.88052e+03_rb,0.11614e+04_rb /) kbo(:, 2,28,11) = (/ & & 0.10402e+04_rb,0.78866e+03_rb,0.59846e+03_rb,0.87954e+03_rb,0.11596e+04_rb /) kbo(:, 3,28,11) = (/ & & 0.10401e+04_rb,0.78798e+03_rb,0.59747e+03_rb,0.87776e+03_rb,0.11577e+04_rb /) kbo(:, 4,28,11) = (/ & & 0.10407e+04_rb,0.78779e+03_rb,0.59647e+03_rb,0.87596e+03_rb,0.11560e+04_rb /) kbo(:, 5,28,11) = (/ & & 0.10407e+04_rb,0.78751e+03_rb,0.59548e+03_rb,0.87425e+03_rb,0.11542e+04_rb /) kbo(:, 1,29,11) = (/ & & 0.10408e+04_rb,0.78876e+03_rb,0.59920e+03_rb,0.87983e+03_rb,0.11608e+04_rb /) kbo(:, 2,29,11) = (/ & & 0.10408e+04_rb,0.78834e+03_rb,0.59820e+03_rb,0.87891e+03_rb,0.11591e+04_rb /) kbo(:, 3,29,11) = (/ & & 0.10387e+04_rb,0.78864e+03_rb,0.59721e+03_rb,0.87735e+03_rb,0.11572e+04_rb /) kbo(:, 4,29,11) = (/ & & 0.10384e+04_rb,0.78778e+03_rb,0.59621e+03_rb,0.87578e+03_rb,0.11555e+04_rb /) kbo(:, 5,29,11) = (/ & & 0.10412e+04_rb,0.78824e+03_rb,0.59524e+03_rb,0.87368e+03_rb,0.11538e+04_rb /) kbo(:, 1,30,11) = (/ & & 0.10383e+04_rb,0.78758e+03_rb,0.59894e+03_rb,0.87992e+03_rb,0.11605e+04_rb /) kbo(:, 2,30,11) = (/ & & 0.10390e+04_rb,0.78755e+03_rb,0.59785e+03_rb,0.87840e+03_rb,0.11584e+04_rb /) kbo(:, 3,30,11) = (/ & & 0.10391e+04_rb,0.78813e+03_rb,0.59695e+03_rb,0.87693e+03_rb,0.11568e+04_rb /) kbo(:, 4,30,11) = (/ & & 0.10384e+04_rb,0.78683e+03_rb,0.59594e+03_rb,0.87519e+03_rb,0.11551e+04_rb /) kbo(:, 5,30,11) = (/ & & 0.10388e+04_rb,0.78660e+03_rb,0.59501e+03_rb,0.87341e+03_rb,0.11534e+04_rb /) kbo(:, 1,31,11) = (/ & & 0.10376e+04_rb,0.78640e+03_rb,0.59867e+03_rb,0.87959e+03_rb,0.11601e+04_rb /) kbo(:, 2,31,11) = (/ & & 0.10381e+04_rb,0.78687e+03_rb,0.59768e+03_rb,0.87813e+03_rb,0.11581e+04_rb /) kbo(:, 3,31,11) = (/ & & 0.10369e+04_rb,0.78736e+03_rb,0.59668e+03_rb,0.87650e+03_rb,0.11564e+04_rb /) kbo(:, 4,31,11) = (/ & & 0.10380e+04_rb,0.78738e+03_rb,0.59577e+03_rb,0.87483e+03_rb,0.11546e+04_rb /) kbo(:, 5,31,11) = (/ & & 0.10391e+04_rb,0.78671e+03_rb,0.59479e+03_rb,0.87299e+03_rb,0.11532e+04_rb /) kbo(:, 1,32,11) = (/ & & 0.10371e+04_rb,0.78531e+03_rb,0.59840e+03_rb,0.87936e+03_rb,0.11596e+04_rb /) kbo(:, 2,32,11) = (/ & & 0.10383e+04_rb,0.78734e+03_rb,0.59742e+03_rb,0.87771e+03_rb,0.11576e+04_rb /) kbo(:, 3,32,11) = (/ & & 0.10363e+04_rb,0.78691e+03_rb,0.59641e+03_rb,0.87605e+03_rb,0.11559e+04_rb /) kbo(:, 4,32,11) = (/ & & 0.10373e+04_rb,0.78648e+03_rb,0.59543e+03_rb,0.87420e+03_rb,0.11542e+04_rb /) kbo(:, 5,32,11) = (/ & & 0.10376e+04_rb,0.78617e+03_rb,0.59455e+03_rb,0.87256e+03_rb,0.11529e+04_rb /) kbo(:, 1,33,11) = (/ & & 0.10366e+04_rb,0.78725e+03_rb,0.59814e+03_rb,0.87885e+03_rb,0.11591e+04_rb /) kbo(:, 2,33,11) = (/ & & 0.10366e+04_rb,0.78694e+03_rb,0.59715e+03_rb,0.87729e+03_rb,0.11572e+04_rb /) kbo(:, 3,33,11) = (/ & & 0.10365e+04_rb,0.78534e+03_rb,0.59614e+03_rb,0.87545e+03_rb,0.11555e+04_rb /) kbo(:, 4,33,11) = (/ & & 0.10377e+04_rb,0.78705e+03_rb,0.59518e+03_rb,0.87362e+03_rb,0.11536e+04_rb /) kbo(:, 5,33,11) = (/ & & 0.10381e+04_rb,0.78546e+03_rb,0.59428e+03_rb,0.87201e+03_rb,0.11526e+04_rb /) kbo(:, 1,34,11) = (/ & & 0.10370e+04_rb,0.78547e+03_rb,0.59791e+03_rb,0.87837e+03_rb,0.11586e+04_rb /) kbo(:, 2,34,11) = (/ & & 0.10369e+04_rb,0.78635e+03_rb,0.59683e+03_rb,0.87691e+03_rb,0.11568e+04_rb /) kbo(:, 3,34,11) = (/ & & 0.10373e+04_rb,0.78607e+03_rb,0.59591e+03_rb,0.87516e+03_rb,0.11551e+04_rb /) kbo(:, 4,34,11) = (/ & & 0.10371e+04_rb,0.78696e+03_rb,0.59498e+03_rb,0.87338e+03_rb,0.11534e+04_rb /) kbo(:, 5,34,11) = (/ & & 0.10366e+04_rb,0.78538e+03_rb,0.59374e+03_rb,0.87179e+03_rb,0.11524e+04_rb /) kbo(:, 1,35,11) = (/ & & 0.10371e+04_rb,0.78681e+03_rb,0.59778e+03_rb,0.87830e+03_rb,0.11583e+04_rb /) kbo(:, 2,35,11) = (/ & & 0.10367e+04_rb,0.78665e+03_rb,0.59678e+03_rb,0.87669e+03_rb,0.11566e+04_rb /) kbo(:, 3,35,11) = (/ & & 0.10363e+04_rb,0.78613e+03_rb,0.59569e+03_rb,0.87491e+03_rb,0.11549e+04_rb /) kbo(:, 4,35,11) = (/ & & 0.10364e+04_rb,0.78668e+03_rb,0.59487e+03_rb,0.87304e+03_rb,0.11533e+04_rb /) kbo(:, 5,35,11) = (/ & & 0.10370e+04_rb,0.78641e+03_rb,0.59363e+03_rb,0.87159e+03_rb,0.11523e+04_rb /) kbo(:, 1,36,11) = (/ & & 0.10366e+04_rb,0.78595e+03_rb,0.59775e+03_rb,0.87827e+03_rb,0.11583e+04_rb /) kbo(:, 2,36,11) = (/ & & 0.10367e+04_rb,0.78568e+03_rb,0.59676e+03_rb,0.87652e+03_rb,0.11565e+04_rb /) kbo(:, 3,36,11) = (/ & & 0.10363e+04_rb,0.78600e+03_rb,0.59575e+03_rb,0.87487e+03_rb,0.11548e+04_rb /) kbo(:, 4,36,11) = (/ & & 0.10370e+04_rb,0.78596e+03_rb,0.59503e+03_rb,0.87314e+03_rb,0.11533e+04_rb /) kbo(:, 5,36,11) = (/ & & 0.10356e+04_rb,0.78546e+03_rb,0.59359e+03_rb,0.87116e+03_rb,0.11523e+04_rb /) kbo(:, 1,37,11) = (/ & & 0.10367e+04_rb,0.78524e+03_rb,0.59788e+03_rb,0.87847e+03_rb,0.11586e+04_rb /) kbo(:, 2,37,11) = (/ & & 0.10373e+04_rb,0.78580e+03_rb,0.59689e+03_rb,0.87687e+03_rb,0.11567e+04_rb /) kbo(:, 3,37,11) = (/ & & 0.10369e+04_rb,0.78554e+03_rb,0.59588e+03_rb,0.87512e+03_rb,0.11550e+04_rb /) kbo(:, 4,37,11) = (/ & & 0.10372e+04_rb,0.78551e+03_rb,0.59495e+03_rb,0.87335e+03_rb,0.11534e+04_rb /) kbo(:, 5,37,11) = (/ & & 0.10364e+04_rb,0.78631e+03_rb,0.59378e+03_rb,0.87175e+03_rb,0.11524e+04_rb /) kbo(:, 1,38,11) = (/ & & 0.10372e+04_rb,0.78574e+03_rb,0.59801e+03_rb,0.87867e+03_rb,0.11588e+04_rb /) kbo(:, 2,38,11) = (/ & & 0.10364e+04_rb,0.78476e+03_rb,0.59702e+03_rb,0.87710e+03_rb,0.11570e+04_rb /) kbo(:, 3,38,11) = (/ & & 0.10351e+04_rb,0.78521e+03_rb,0.59593e+03_rb,0.87537e+03_rb,0.11553e+04_rb /) kbo(:, 4,38,11) = (/ & & 0.10362e+04_rb,0.78507e+03_rb,0.59507e+03_rb,0.87344e+03_rb,0.11536e+04_rb /) kbo(:, 5,38,11) = (/ & & 0.10371e+04_rb,0.78635e+03_rb,0.59400e+03_rb,0.87197e+03_rb,0.11525e+04_rb /) kbo(:, 1,39,11) = (/ & & 0.10359e+04_rb,0.78601e+03_rb,0.59815e+03_rb,0.87888e+03_rb,0.11591e+04_rb /) kbo(:, 2,39,11) = (/ & & 0.10375e+04_rb,0.78669e+03_rb,0.59716e+03_rb,0.87732e+03_rb,0.11572e+04_rb /) kbo(:, 3,39,11) = (/ & & 0.10350e+04_rb,0.78597e+03_rb,0.59615e+03_rb,0.87562e+03_rb,0.11555e+04_rb /) kbo(:, 4,39,11) = (/ & & 0.10366e+04_rb,0.78524e+03_rb,0.59519e+03_rb,0.87365e+03_rb,0.11538e+04_rb /) kbo(:, 5,39,11) = (/ & & 0.10373e+04_rb,0.78605e+03_rb,0.59422e+03_rb,0.87205e+03_rb,0.11526e+04_rb /) kbo(:, 1,40,11) = (/ & & 0.10361e+04_rb,0.78559e+03_rb,0.59838e+03_rb,0.87949e+03_rb,0.11596e+04_rb /) kbo(:, 2,40,11) = (/ & & 0.10364e+04_rb,0.78533e+03_rb,0.59740e+03_rb,0.87771e+03_rb,0.11576e+04_rb /) kbo(:, 3,40,11) = (/ & & 0.10357e+04_rb,0.78567e+03_rb,0.59640e+03_rb,0.87605e+03_rb,0.11559e+04_rb /) kbo(:, 4,40,11) = (/ & & 0.10354e+04_rb,0.78518e+03_rb,0.59541e+03_rb,0.87434e+03_rb,0.11542e+04_rb /) kbo(:, 5,40,11) = (/ & & 0.10361e+04_rb,0.78553e+03_rb,0.59453e+03_rb,0.87244e+03_rb,0.11529e+04_rb /) kbo(:, 1,41,11) = (/ & & 0.10352e+04_rb,0.78554e+03_rb,0.59863e+03_rb,0.87958e+03_rb,0.11601e+04_rb /) kbo(:, 2,41,11) = (/ & & 0.10361e+04_rb,0.78611e+03_rb,0.59765e+03_rb,0.87811e+03_rb,0.11581e+04_rb /) kbo(:, 3,41,11) = (/ & & 0.10357e+04_rb,0.78586e+03_rb,0.59665e+03_rb,0.87648e+03_rb,0.11564e+04_rb /) kbo(:, 4,41,11) = (/ & & 0.10369e+04_rb,0.78632e+03_rb,0.59556e+03_rb,0.87469e+03_rb,0.11547e+04_rb /) kbo(:, 5,41,11) = (/ & & 0.10372e+04_rb,0.78631e+03_rb,0.59476e+03_rb,0.87298e+03_rb,0.11532e+04_rb /) kbo(:, 1,42,11) = (/ & & 0.10352e+04_rb,0.78620e+03_rb,0.59889e+03_rb,0.87990e+03_rb,0.11605e+04_rb /) kbo(:, 2,42,11) = (/ & & 0.10362e+04_rb,0.78666e+03_rb,0.59790e+03_rb,0.87851e+03_rb,0.11586e+04_rb /) kbo(:, 3,42,11) = (/ & & 0.10358e+04_rb,0.78476e+03_rb,0.59691e+03_rb,0.87691e+03_rb,0.11568e+04_rb /) kbo(:, 4,42,11) = (/ & & 0.10367e+04_rb,0.78534e+03_rb,0.59590e+03_rb,0.87517e+03_rb,0.11551e+04_rb /) kbo(:, 5,42,11) = (/ & & 0.10374e+04_rb,0.78497e+03_rb,0.59497e+03_rb,0.87339e+03_rb,0.11533e+04_rb /) kbo(:, 1,43,11) = (/ & & 0.10357e+04_rb,0.78569e+03_rb,0.59919e+03_rb,0.88014e+03_rb,0.11611e+04_rb /) kbo(:, 2,43,11) = (/ & & 0.10384e+04_rb,0.78603e+03_rb,0.59811e+03_rb,0.87910e+03_rb,0.11592e+04_rb /) kbo(:, 3,43,11) = (/ & & 0.10376e+04_rb,0.78685e+03_rb,0.59731e+03_rb,0.87742e+03_rb,0.11573e+04_rb /) kbo(:, 4,43,11) = (/ & & 0.10368e+04_rb,0.78484e+03_rb,0.59612e+03_rb,0.87573e+03_rb,0.11555e+04_rb /) kbo(:, 5,43,11) = (/ & & 0.10371e+04_rb,0.78612e+03_rb,0.59525e+03_rb,0.87389e+03_rb,0.11539e+04_rb /) kbo(:, 1,44,11) = (/ & & 0.10362e+04_rb,0.78531e+03_rb,0.59952e+03_rb,0.88052e+03_rb,0.11615e+04_rb /) kbo(:, 2,44,11) = (/ & & 0.10357e+04_rb,0.78506e+03_rb,0.59854e+03_rb,0.87945e+03_rb,0.11599e+04_rb /) kbo(:, 3,44,11) = (/ & & 0.10347e+04_rb,0.78494e+03_rb,0.59755e+03_rb,0.87796e+03_rb,0.11576e+04_rb /) kbo(:, 4,44,11) = (/ & & 0.10360e+04_rb,0.78599e+03_rb,0.59655e+03_rb,0.87632e+03_rb,0.11562e+04_rb /) kbo(:, 5,44,11) = (/ & & 0.10364e+04_rb,0.78610e+03_rb,0.59556e+03_rb,0.87451e+03_rb,0.11545e+04_rb /) kbo(:, 1,45,11) = (/ & & 0.10355e+04_rb,0.78552e+03_rb,0.59982e+03_rb,0.88100e+03_rb,0.11621e+04_rb /) kbo(:, 2,45,11) = (/ & & 0.10357e+04_rb,0.78527e+03_rb,0.59887e+03_rb,0.87975e+03_rb,0.11605e+04_rb /) kbo(:, 3,45,11) = (/ & & 0.10358e+04_rb,0.78432e+03_rb,0.59788e+03_rb,0.87848e+03_rb,0.11586e+04_rb /) kbo(:, 4,45,11) = (/ & & 0.10358e+04_rb,0.78597e+03_rb,0.59689e+03_rb,0.87689e+03_rb,0.11568e+04_rb /) kbo(:, 5,45,11) = (/ & & 0.10353e+04_rb,0.78525e+03_rb,0.59589e+03_rb,0.87514e+03_rb,0.11551e+04_rb /) kbo(:, 1,46,11) = (/ & & 0.10358e+04_rb,0.78503e+03_rb,0.60010e+03_rb,0.88136e+03_rb,0.11629e+04_rb /) kbo(:, 2,46,11) = (/ & & 0.10366e+04_rb,0.78667e+03_rb,0.59923e+03_rb,0.88004e+03_rb,0.11611e+04_rb /) kbo(:, 3,46,11) = (/ & & 0.10372e+04_rb,0.78560e+03_rb,0.59824e+03_rb,0.87915e+03_rb,0.11593e+04_rb /) kbo(:, 4,46,11) = (/ & & 0.10348e+04_rb,0.78513e+03_rb,0.59725e+03_rb,0.87748e+03_rb,0.11574e+04_rb /) kbo(:, 5,46,11) = (/ & & 0.10372e+04_rb,0.78595e+03_rb,0.59625e+03_rb,0.87592e+03_rb,0.11557e+04_rb /) kbo(:, 1,47,11) = (/ & & 0.10352e+04_rb,0.78466e+03_rb,0.60059e+03_rb,0.88175e+03_rb,0.11637e+04_rb /) kbo(:, 2,47,11) = (/ & & 0.10362e+04_rb,0.78477e+03_rb,0.59970e+03_rb,0.88075e+03_rb,0.11618e+04_rb /) kbo(:, 3,47,11) = (/ & & 0.10362e+04_rb,0.78559e+03_rb,0.59863e+03_rb,0.87958e+03_rb,0.11601e+04_rb /) kbo(:, 4,47,11) = (/ & & 0.10356e+04_rb,0.78476e+03_rb,0.59765e+03_rb,0.87812e+03_rb,0.11581e+04_rb /) kbo(:, 5,47,11) = (/ & & 0.10361e+04_rb,0.78428e+03_rb,0.59665e+03_rb,0.87649e+03_rb,0.11564e+04_rb /) kbo(:, 1,48,11) = (/ & & 0.10354e+04_rb,0.78500e+03_rb,0.60042e+03_rb,0.88214e+03_rb,0.11645e+04_rb /) kbo(:, 2,48,11) = (/ & & 0.10348e+04_rb,0.78582e+03_rb,0.59995e+03_rb,0.88117e+03_rb,0.11625e+04_rb /) kbo(:, 3,48,11) = (/ & & 0.10353e+04_rb,0.78569e+03_rb,0.59903e+03_rb,0.87942e+03_rb,0.11608e+04_rb /) kbo(:, 4,48,11) = (/ & & 0.10359e+04_rb,0.78569e+03_rb,0.59804e+03_rb,0.87873e+03_rb,0.11589e+04_rb /) kbo(:, 5,48,11) = (/ & & 0.10354e+04_rb,0.78509e+03_rb,0.59705e+03_rb,0.87716e+03_rb,0.11570e+04_rb /) kbo(:, 1,49,11) = (/ & & 0.10362e+04_rb,0.78463e+03_rb,0.60042e+03_rb,0.88242e+03_rb,0.11657e+04_rb /) kbo(:, 2,49,11) = (/ & & 0.10367e+04_rb,0.78580e+03_rb,0.60023e+03_rb,0.88156e+03_rb,0.11633e+04_rb /) kbo(:, 3,49,11) = (/ & & 0.10373e+04_rb,0.78533e+03_rb,0.59942e+03_rb,0.88054e+03_rb,0.11615e+04_rb /) kbo(:, 4,49,11) = (/ & & 0.10373e+04_rb,0.78462e+03_rb,0.59844e+03_rb,0.87918e+03_rb,0.11595e+04_rb /) kbo(:, 5,49,11) = (/ & & 0.10370e+04_rb,0.78532e+03_rb,0.59736e+03_rb,0.87781e+03_rb,0.11578e+04_rb /) kbo(:, 1,50,11) = (/ & & 0.10356e+04_rb,0.78474e+03_rb,0.60056e+03_rb,0.88267e+03_rb,0.11666e+04_rb /) kbo(:, 2,50,11) = (/ & & 0.10370e+04_rb,0.78497e+03_rb,0.60046e+03_rb,0.88192e+03_rb,0.11642e+04_rb /) kbo(:, 3,50,11) = (/ & & 0.10348e+04_rb,0.78508e+03_rb,0.59977e+03_rb,0.88094e+03_rb,0.11634e+04_rb /) kbo(:, 4,50,11) = (/ & & 0.10352e+04_rb,0.78473e+03_rb,0.59881e+03_rb,0.87954e+03_rb,0.11604e+04_rb /) kbo(:, 5,50,11) = (/ & & 0.10360e+04_rb,0.78437e+03_rb,0.59782e+03_rb,0.87840e+03_rb,0.11585e+04_rb /) kbo(:, 1,51,11) = (/ & & 0.10365e+04_rb,0.78532e+03_rb,0.60054e+03_rb,0.88306e+03_rb,0.11674e+04_rb /) kbo(:, 2,51,11) = (/ & & 0.10360e+04_rb,0.78555e+03_rb,0.60046e+03_rb,0.88226e+03_rb,0.11651e+04_rb /) kbo(:, 3,51,11) = (/ & & 0.10359e+04_rb,0.78508e+03_rb,0.60006e+03_rb,0.88131e+03_rb,0.11628e+04_rb /) kbo(:, 4,51,11) = (/ & & 0.10359e+04_rb,0.78554e+03_rb,0.59917e+03_rb,0.88011e+03_rb,0.11610e+04_rb /) kbo(:, 5,51,11) = (/ & & 0.10363e+04_rb,0.78507e+03_rb,0.59818e+03_rb,0.87894e+03_rb,0.11592e+04_rb /) kbo(:, 1,52,11) = (/ & & 0.10357e+04_rb,0.78531e+03_rb,0.60048e+03_rb,0.88333e+03_rb,0.11687e+04_rb /) kbo(:, 2,52,11) = (/ & & 0.10368e+04_rb,0.78554e+03_rb,0.60053e+03_rb,0.88249e+03_rb,0.11660e+04_rb /) kbo(:, 3,52,11) = (/ & & 0.10362e+04_rb,0.78601e+03_rb,0.60037e+03_rb,0.88166e+03_rb,0.11635e+04_rb /) kbo(:, 4,52,11) = (/ & & 0.10354e+04_rb,0.78507e+03_rb,0.59952e+03_rb,0.88066e+03_rb,0.11617e+04_rb /) kbo(:, 5,52,11) = (/ & & 0.10363e+04_rb,0.78565e+03_rb,0.59854e+03_rb,0.87959e+03_rb,0.11599e+04_rb /) kbo(:, 1,53,11) = (/ & & 0.10366e+04_rb,0.78460e+03_rb,0.60030e+03_rb,0.88415e+03_rb,0.11699e+04_rb /) kbo(:, 2,53,11) = (/ & & 0.10366e+04_rb,0.78400e+03_rb,0.60056e+03_rb,0.88262e+03_rb,0.11668e+04_rb /) kbo(:, 3,53,11) = (/ & & 0.10358e+04_rb,0.78459e+03_rb,0.60039e+03_rb,0.88202e+03_rb,0.11644e+04_rb /) kbo(:, 4,53,11) = (/ & & 0.10348e+04_rb,0.78471e+03_rb,0.59985e+03_rb,0.88104e+03_rb,0.11623e+04_rb /) kbo(:, 5,53,11) = (/ & & 0.10366e+04_rb,0.78577e+03_rb,0.59891e+03_rb,0.87992e+03_rb,0.11606e+04_rb /) kbo(:, 1,54,11) = (/ & & 0.10355e+04_rb,0.78471e+03_rb,0.60033e+03_rb,0.88501e+03_rb,0.11708e+04_rb /) kbo(:, 2,54,11) = (/ & & 0.10360e+04_rb,0.78494e+03_rb,0.60053e+03_rb,0.88313e+03_rb,0.11678e+04_rb /) kbo(:, 3,54,11) = (/ & & 0.10360e+04_rb,0.78671e+03_rb,0.60047e+03_rb,0.88230e+03_rb,0.11652e+04_rb /) kbo(:, 4,54,11) = (/ & & 0.10355e+04_rb,0.78588e+03_rb,0.60010e+03_rb,0.88137e+03_rb,0.11629e+04_rb /) kbo(:, 5,54,11) = (/ & & 0.10357e+04_rb,0.78517e+03_rb,0.59924e+03_rb,0.88032e+03_rb,0.11612e+04_rb /) kbo(:, 1,55,11) = (/ & & 0.10357e+04_rb,0.78506e+03_rb,0.60035e+03_rb,0.88567e+03_rb,0.11714e+04_rb /) kbo(:, 2,55,11) = (/ & & 0.10357e+04_rb,0.78518e+03_rb,0.60047e+03_rb,0.88349e+03_rb,0.11688e+04_rb /) kbo(:, 3,55,11) = (/ & & 0.10361e+04_rb,0.78517e+03_rb,0.60053e+03_rb,0.88250e+03_rb,0.11660e+04_rb /) kbo(:, 4,55,11) = (/ & & 0.10357e+04_rb,0.78529e+03_rb,0.60029e+03_rb,0.88168e+03_rb,0.11636e+04_rb /) kbo(:, 5,55,11) = (/ & & 0.10360e+04_rb,0.78529e+03_rb,0.59954e+03_rb,0.88068e+03_rb,0.11617e+04_rb /) kbo(:, 1,56,11) = (/ & & 0.10361e+04_rb,0.78494e+03_rb,0.60049e+03_rb,0.88607e+03_rb,0.11718e+04_rb /) kbo(:, 2,56,11) = (/ & & 0.10360e+04_rb,0.78482e+03_rb,0.60030e+03_rb,0.88410e+03_rb,0.11698e+04_rb /) kbo(:, 3,56,11) = (/ & & 0.10354e+04_rb,0.78493e+03_rb,0.60056e+03_rb,0.88273e+03_rb,0.11667e+04_rb /) kbo(:, 4,56,11) = (/ & & 0.10357e+04_rb,0.78552e+03_rb,0.60038e+03_rb,0.88199e+03_rb,0.11645e+04_rb /) kbo(:, 5,56,11) = (/ & & 0.10357e+04_rb,0.78517e+03_rb,0.59983e+03_rb,0.88101e+03_rb,0.11624e+04_rb /) kbo(:, 1,57,11) = (/ & & 0.10357e+04_rb,0.78588e+03_rb,0.60099e+03_rb,0.88686e+03_rb,0.11725e+04_rb /) kbo(:, 2,57,11) = (/ & & 0.10366e+04_rb,0.78458e+03_rb,0.60033e+03_rb,0.88491e+03_rb,0.11707e+04_rb /) kbo(:, 3,57,11) = (/ & & 0.10366e+04_rb,0.78481e+03_rb,0.60053e+03_rb,0.88335e+03_rb,0.11676e+04_rb /) kbo(:, 4,57,11) = (/ & & 0.10358e+04_rb,0.78611e+03_rb,0.60046e+03_rb,0.88227e+03_rb,0.11650e+04_rb /) kbo(:, 5,57,11) = (/ & & 0.10355e+04_rb,0.78599e+03_rb,0.60008e+03_rb,0.88133e+03_rb,0.11630e+04_rb /) kbo(:, 1,58,11) = (/ & & 0.10363e+04_rb,0.78576e+03_rb,0.60143e+03_rb,0.88764e+03_rb,0.11733e+04_rb /) kbo(:, 2,58,11) = (/ & & 0.10354e+04_rb,0.78611e+03_rb,0.60042e+03_rb,0.88557e+03_rb,0.11713e+04_rb /) kbo(:, 3,58,11) = (/ & & 0.10363e+04_rb,0.78576e+03_rb,0.60048e+03_rb,0.88329e+03_rb,0.11686e+04_rb /) kbo(:, 4,58,11) = (/ & & 0.10364e+04_rb,0.78505e+03_rb,0.60052e+03_rb,0.88247e+03_rb,0.11659e+04_rb /) kbo(:, 5,58,11) = (/ & & 0.10357e+04_rb,0.78552e+03_rb,0.60026e+03_rb,0.88163e+03_rb,0.11633e+04_rb /) kbo(:, 1,59,11) = (/ & & 0.10354e+04_rb,0.78634e+03_rb,0.60176e+03_rb,0.88797e+03_rb,0.11736e+04_rb /) kbo(:, 2,59,11) = (/ & & 0.10350e+04_rb,0.78505e+03_rb,0.60038e+03_rb,0.88577e+03_rb,0.11715e+04_rb /) kbo(:, 3,59,11) = (/ & & 0.10360e+04_rb,0.78469e+03_rb,0.60046e+03_rb,0.88358e+03_rb,0.11703e+04_rb /) kbo(:, 4,59,11) = (/ & & 0.10357e+04_rb,0.78493e+03_rb,0.60045e+03_rb,0.88254e+03_rb,0.11662e+04_rb /) kbo(:, 5,59,11) = (/ & & 0.10366e+04_rb,0.78516e+03_rb,0.60041e+03_rb,0.88174e+03_rb,0.11637e+04_rb /) kbo(:, 1,13,12) = (/ & & 0.11535e+04_rb,0.87955e+03_rb,0.60434e+03_rb,0.88744e+03_rb,0.11710e+04_rb /) kbo(:, 2,13,12) = (/ & & 0.11485e+04_rb,0.86886e+03_rb,0.60369e+03_rb,0.88598e+03_rb,0.11697e+04_rb /) kbo(:, 3,13,12) = (/ & & 0.11395e+04_rb,0.86441e+03_rb,0.60332e+03_rb,0.88477e+03_rb,0.11680e+04_rb /) kbo(:, 4,13,12) = (/ & & 0.11350e+04_rb,0.86216e+03_rb,0.60276e+03_rb,0.88294e+03_rb,0.11659e+04_rb /) kbo(:, 5,13,12) = (/ & & 0.11237e+04_rb,0.85514e+03_rb,0.60186e+03_rb,0.88131e+03_rb,0.11640e+04_rb /) kbo(:, 1,14,12) = (/ & & 0.11312e+04_rb,0.85960e+03_rb,0.60391e+03_rb,0.88683e+03_rb,0.11708e+04_rb /) kbo(:, 2,14,12) = (/ & & 0.11248e+04_rb,0.85192e+03_rb,0.60329e+03_rb,0.88591e+03_rb,0.11696e+04_rb /) kbo(:, 3,14,12) = (/ & & 0.11210e+04_rb,0.84824e+03_rb,0.60297e+03_rb,0.88444e+03_rb,0.11678e+04_rb /) kbo(:, 4,14,12) = (/ & & 0.11139e+04_rb,0.84322e+03_rb,0.60241e+03_rb,0.88264e+03_rb,0.11657e+04_rb /) kbo(:, 5,14,12) = (/ & & 0.11123e+04_rb,0.84158e+03_rb,0.60150e+03_rb,0.88104e+03_rb,0.11639e+04_rb /) kbo(:, 1,15,12) = (/ & & 0.11159e+04_rb,0.84414e+03_rb,0.60344e+03_rb,0.88657e+03_rb,0.11715e+04_rb /) kbo(:, 2,15,12) = (/ & & 0.11106e+04_rb,0.84043e+03_rb,0.60296e+03_rb,0.88568e+03_rb,0.11695e+04_rb /) kbo(:, 3,15,12) = (/ & & 0.11018e+04_rb,0.83588e+03_rb,0.60268e+03_rb,0.88413e+03_rb,0.11676e+04_rb /) kbo(:, 4,15,12) = (/ & & 0.10976e+04_rb,0.83213e+03_rb,0.60210e+03_rb,0.88235e+03_rb,0.11655e+04_rb /) kbo(:, 5,15,12) = (/ & & 0.10965e+04_rb,0.83273e+03_rb,0.60128e+03_rb,0.88077e+03_rb,0.11639e+04_rb /) kbo(:, 1,16,12) = (/ & & 0.11003e+04_rb,0.83414e+03_rb,0.60325e+03_rb,0.88634e+03_rb,0.11705e+04_rb /) kbo(:, 2,16,12) = (/ & & 0.10991e+04_rb,0.82921e+03_rb,0.60259e+03_rb,0.88546e+03_rb,0.11694e+04_rb /) kbo(:, 3,16,12) = (/ & & 0.10955e+04_rb,0.82665e+03_rb,0.60243e+03_rb,0.88384e+03_rb,0.11674e+04_rb /) kbo(:, 4,16,12) = (/ & & 0.10851e+04_rb,0.82401e+03_rb,0.60183e+03_rb,0.88207e+03_rb,0.11653e+04_rb /) kbo(:, 5,16,12) = (/ & & 0.10849e+04_rb,0.82356e+03_rb,0.60085e+03_rb,0.88053e+03_rb,0.11635e+04_rb /) kbo(:, 1,17,12) = (/ & & 0.10876e+04_rb,0.82527e+03_rb,0.60299e+03_rb,0.88614e+03_rb,0.11702e+04_rb /) kbo(:, 2,17,12) = (/ & & 0.10859e+04_rb,0.82135e+03_rb,0.60250e+03_rb,0.88526e+03_rb,0.11692e+04_rb /) kbo(:, 3,17,12) = (/ & & 0.10841e+04_rb,0.81891e+03_rb,0.60222e+03_rb,0.88356e+03_rb,0.11671e+04_rb /) kbo(:, 4,17,12) = (/ & & 0.10784e+04_rb,0.81708e+03_rb,0.60159e+03_rb,0.88183e+03_rb,0.11651e+04_rb /) kbo(:, 5,17,12) = (/ & & 0.10763e+04_rb,0.81350e+03_rb,0.60170e+03_rb,0.88030e+03_rb,0.11634e+04_rb /) kbo(:, 1,18,12) = (/ & & 0.10781e+04_rb,0.81748e+03_rb,0.60276e+03_rb,0.88597e+03_rb,0.11700e+04_rb /) kbo(:, 2,18,12) = (/ & & 0.10771e+04_rb,0.81396e+03_rb,0.60232e+03_rb,0.88573e+03_rb,0.11691e+04_rb /) kbo(:, 3,18,12) = (/ & & 0.10718e+04_rb,0.81415e+03_rb,0.60204e+03_rb,0.88331e+03_rb,0.11669e+04_rb /) kbo(:, 4,18,12) = (/ & & 0.10689e+04_rb,0.81027e+03_rb,0.60137e+03_rb,0.88144e+03_rb,0.11649e+04_rb /) kbo(:, 5,18,12) = (/ & & 0.10691e+04_rb,0.80937e+03_rb,0.60029e+03_rb,0.88009e+03_rb,0.11632e+04_rb /) kbo(:, 1,19,12) = (/ & & 0.10732e+04_rb,0.81093e+03_rb,0.60257e+03_rb,0.88582e+03_rb,0.11702e+04_rb /) kbo(:, 2,19,12) = (/ & & 0.10665e+04_rb,0.81093e+03_rb,0.60218e+03_rb,0.88486e+03_rb,0.11689e+04_rb /) kbo(:, 3,19,12) = (/ & & 0.10668e+04_rb,0.80596e+03_rb,0.60188e+03_rb,0.88291e+03_rb,0.11667e+04_rb /) kbo(:, 4,19,12) = (/ & & 0.10625e+04_rb,0.80871e+03_rb,0.60129e+03_rb,0.88139e+03_rb,0.11647e+04_rb /) kbo(:, 5,19,12) = (/ & & 0.10641e+04_rb,0.80549e+03_rb,0.60005e+03_rb,0.87990e+03_rb,0.11631e+04_rb /) kbo(:, 1,20,12) = (/ & & 0.10655e+04_rb,0.80608e+03_rb,0.60228e+03_rb,0.88568e+03_rb,0.11700e+04_rb /) kbo(:, 2,20,12) = (/ & & 0.10621e+04_rb,0.80582e+03_rb,0.60205e+03_rb,0.88462e+03_rb,0.11686e+04_rb /) kbo(:, 3,20,12) = (/ & & 0.10596e+04_rb,0.80439e+03_rb,0.60161e+03_rb,0.88282e+03_rb,0.11664e+04_rb /) kbo(:, 4,20,12) = (/ & & 0.10569e+04_rb,0.80052e+03_rb,0.60133e+03_rb,0.88084e+03_rb,0.11645e+04_rb /) kbo(:, 5,20,12) = (/ & & 0.10576e+04_rb,0.80029e+03_rb,0.59980e+03_rb,0.87969e+03_rb,0.11629e+04_rb /) kbo(:, 1,21,12) = (/ & & 0.10601e+04_rb,0.80047e+03_rb,0.60235e+03_rb,0.88539e+03_rb,0.11699e+04_rb /) kbo(:, 2,21,12) = (/ & & 0.10553e+04_rb,0.80126e+03_rb,0.60195e+03_rb,0.88437e+03_rb,0.11684e+04_rb /) kbo(:, 3,21,12) = (/ & & 0.10581e+04_rb,0.79916e+03_rb,0.60159e+03_rb,0.88257e+03_rb,0.11662e+04_rb /) kbo(:, 4,21,12) = (/ & & 0.10523e+04_rb,0.79871e+03_rb,0.60090e+03_rb,0.88096e+03_rb,0.11643e+04_rb /) kbo(:, 5,21,12) = (/ & & 0.10536e+04_rb,0.79852e+03_rb,0.59957e+03_rb,0.87950e+03_rb,0.11627e+04_rb /) kbo(:, 1,22,12) = (/ & & 0.10543e+04_rb,0.79995e+03_rb,0.60207e+03_rb,0.88538e+03_rb,0.11697e+04_rb /) kbo(:, 2,22,12) = (/ & & 0.10531e+04_rb,0.79794e+03_rb,0.60195e+03_rb,0.88401e+03_rb,0.11680e+04_rb /) kbo(:, 3,22,12) = (/ & & 0.10510e+04_rb,0.79590e+03_rb,0.60141e+03_rb,0.88205e+03_rb,0.11658e+04_rb /) kbo(:, 4,22,12) = (/ & & 0.10516e+04_rb,0.79518e+03_rb,0.60121e+03_rb,0.88065e+03_rb,0.11640e+04_rb /) kbo(:, 5,22,12) = (/ & & 0.10507e+04_rb,0.79514e+03_rb,0.59925e+03_rb,0.87922e+03_rb,0.11625e+04_rb /) kbo(:, 1,23,12) = (/ & & 0.10496e+04_rb,0.79686e+03_rb,0.60138e+03_rb,0.88518e+03_rb,0.11695e+04_rb /) kbo(:, 2,23,12) = (/ & & 0.10500e+04_rb,0.79504e+03_rb,0.60174e+03_rb,0.88363e+03_rb,0.11675e+04_rb /) kbo(:, 3,23,12) = (/ & & 0.10497e+04_rb,0.79559e+03_rb,0.60122e+03_rb,0.88187e+03_rb,0.11654e+04_rb /) kbo(:, 4,23,12) = (/ & & 0.10478e+04_rb,0.79456e+03_rb,0.60013e+03_rb,0.88034e+03_rb,0.11637e+04_rb /) kbo(:, 5,23,12) = (/ & & 0.10481e+04_rb,0.79269e+03_rb,0.59893e+03_rb,0.87894e+03_rb,0.11623e+04_rb /) kbo(:, 1,24,12) = (/ & & 0.10504e+04_rb,0.79322e+03_rb,0.60186e+03_rb,0.88494e+03_rb,0.11692e+04_rb /) kbo(:, 2,24,12) = (/ & & 0.10474e+04_rb,0.79292e+03_rb,0.60174e+03_rb,0.88325e+03_rb,0.11671e+04_rb /) kbo(:, 3,24,12) = (/ & & 0.10457e+04_rb,0.79315e+03_rb,0.60103e+03_rb,0.88153e+03_rb,0.11648e+04_rb /) kbo(:, 4,24,12) = (/ & & 0.10462e+04_rb,0.79329e+03_rb,0.59996e+03_rb,0.88003e+03_rb,0.11633e+04_rb /) kbo(:, 5,24,12) = (/ & & 0.10477e+04_rb,0.79348e+03_rb,0.59860e+03_rb,0.87867e+03_rb,0.11620e+04_rb /) kbo(:, 1,25,12) = (/ & & 0.10437e+04_rb,0.79315e+03_rb,0.60179e+03_rb,0.88497e+03_rb,0.11688e+04_rb /) kbo(:, 2,25,12) = (/ & & 0.10446e+04_rb,0.79177e+03_rb,0.60151e+03_rb,0.88285e+03_rb,0.11666e+04_rb /) kbo(:, 3,25,12) = (/ & & 0.10443e+04_rb,0.79105e+03_rb,0.60081e+03_rb,0.88119e+03_rb,0.11647e+04_rb /) kbo(:, 4,25,12) = (/ & & 0.10440e+04_rb,0.79204e+03_rb,0.59965e+03_rb,0.87971e+03_rb,0.11630e+04_rb /) kbo(:, 5,25,12) = (/ & & 0.10441e+04_rb,0.79141e+03_rb,0.59825e+03_rb,0.87840e+03_rb,0.11618e+04_rb /) kbo(:, 1,26,12) = (/ & & 0.10444e+04_rb,0.79040e+03_rb,0.60171e+03_rb,0.88422e+03_rb,0.11681e+04_rb /) kbo(:, 2,26,12) = (/ & & 0.10415e+04_rb,0.78987e+03_rb,0.60136e+03_rb,0.88243e+03_rb,0.11661e+04_rb /) kbo(:, 3,26,12) = (/ & & 0.10417e+04_rb,0.79014e+03_rb,0.60043e+03_rb,0.88082e+03_rb,0.11642e+04_rb /) kbo(:, 4,26,12) = (/ & & 0.10442e+04_rb,0.78985e+03_rb,0.59932e+03_rb,0.87937e+03_rb,0.11625e+04_rb /) kbo(:, 5,26,12) = (/ & & 0.10421e+04_rb,0.79004e+03_rb,0.59787e+03_rb,0.87814e+03_rb,0.11615e+04_rb /) kbo(:, 1,27,12) = (/ & & 0.10431e+04_rb,0.78868e+03_rb,0.60163e+03_rb,0.88378e+03_rb,0.11678e+04_rb /) kbo(:, 2,27,12) = (/ & & 0.10423e+04_rb,0.79138e+03_rb,0.60118e+03_rb,0.88201e+03_rb,0.11657e+04_rb /) kbo(:, 3,27,12) = (/ & & 0.10404e+04_rb,0.78916e+03_rb,0.60037e+03_rb,0.88046e+03_rb,0.11638e+04_rb /) kbo(:, 4,27,12) = (/ & & 0.10405e+04_rb,0.78893e+03_rb,0.59897e+03_rb,0.87905e+03_rb,0.11624e+04_rb /) kbo(:, 5,27,12) = (/ & & 0.10396e+04_rb,0.78917e+03_rb,0.59748e+03_rb,0.87790e+03_rb,0.11613e+04_rb /) kbo(:, 1,28,12) = (/ & & 0.10409e+04_rb,0.79152e+03_rb,0.60155e+03_rb,0.88334e+03_rb,0.11673e+04_rb /) kbo(:, 2,28,12) = (/ & & 0.10439e+04_rb,0.78963e+03_rb,0.60099e+03_rb,0.88127e+03_rb,0.11652e+04_rb /) kbo(:, 3,28,12) = (/ & & 0.10423e+04_rb,0.78823e+03_rb,0.60006e+03_rb,0.88010e+03_rb,0.11635e+04_rb /) kbo(:, 4,28,12) = (/ & & 0.10442e+04_rb,0.78834e+03_rb,0.59861e+03_rb,0.87873e+03_rb,0.11621e+04_rb /) kbo(:, 5,28,12) = (/ & & 0.10392e+04_rb,0.79042e+03_rb,0.59708e+03_rb,0.87768e+03_rb,0.11610e+04_rb /) kbo(:, 1,29,12) = (/ & & 0.10405e+04_rb,0.79019e+03_rb,0.60167e+03_rb,0.88289e+03_rb,0.11667e+04_rb /) kbo(:, 2,29,12) = (/ & & 0.10432e+04_rb,0.78865e+03_rb,0.60111e+03_rb,0.88122e+03_rb,0.11647e+04_rb /) kbo(:, 3,29,12) = (/ & & 0.10406e+04_rb,0.78834e+03_rb,0.59962e+03_rb,0.87974e+03_rb,0.11631e+04_rb /) kbo(:, 4,29,12) = (/ & & 0.10397e+04_rb,0.78909e+03_rb,0.59824e+03_rb,0.87826e+03_rb,0.11618e+04_rb /) kbo(:, 5,29,12) = (/ & & 0.10387e+04_rb,0.78925e+03_rb,0.59665e+03_rb,0.87746e+03_rb,0.11608e+04_rb /) kbo(:, 1,30,12) = (/ & & 0.10411e+04_rb,0.78840e+03_rb,0.60130e+03_rb,0.88244e+03_rb,0.11662e+04_rb /) kbo(:, 2,30,12) = (/ & & 0.10395e+04_rb,0.79020e+03_rb,0.60051e+03_rb,0.88083e+03_rb,0.11643e+04_rb /) kbo(:, 3,30,12) = (/ & & 0.10384e+04_rb,0.78543e+03_rb,0.59928e+03_rb,0.87938e+03_rb,0.11627e+04_rb /) kbo(:, 4,30,12) = (/ & & 0.10394e+04_rb,0.78756e+03_rb,0.59785e+03_rb,0.87814e+03_rb,0.11615e+04_rb /) kbo(:, 5,30,12) = (/ & & 0.10383e+04_rb,0.78820e+03_rb,0.59620e+03_rb,0.87743e+03_rb,0.11605e+04_rb /) kbo(:, 1,31,12) = (/ & & 0.10385e+04_rb,0.78703e+03_rb,0.60113e+03_rb,0.88199e+03_rb,0.11657e+04_rb /) kbo(:, 2,31,12) = (/ & & 0.10401e+04_rb,0.79050e+03_rb,0.60021e+03_rb,0.88045e+03_rb,0.11639e+04_rb /) kbo(:, 3,31,12) = (/ & & 0.10412e+04_rb,0.78681e+03_rb,0.59892e+03_rb,0.87903e+03_rb,0.11624e+04_rb /) kbo(:, 4,31,12) = (/ & & 0.10385e+04_rb,0.78582e+03_rb,0.59732e+03_rb,0.87772e+03_rb,0.11613e+04_rb /) kbo(:, 5,31,12) = (/ & & 0.10372e+04_rb,0.78947e+03_rb,0.59573e+03_rb,0.87705e+03_rb,0.11602e+04_rb /) kbo(:, 1,32,12) = (/ & & 0.10378e+04_rb,0.78710e+03_rb,0.60105e+03_rb,0.88140e+03_rb,0.11652e+04_rb /) kbo(:, 2,32,12) = (/ & & 0.10375e+04_rb,0.78506e+03_rb,0.59989e+03_rb,0.88006e+03_rb,0.11634e+04_rb /) kbo(:, 3,32,12) = (/ & & 0.10409e+04_rb,0.78648e+03_rb,0.59855e+03_rb,0.87869e+03_rb,0.11621e+04_rb /) kbo(:, 4,32,12) = (/ & & 0.10389e+04_rb,0.78640e+03_rb,0.59701e+03_rb,0.87765e+03_rb,0.11610e+04_rb /) kbo(:, 5,32,12) = (/ & & 0.10378e+04_rb,0.78589e+03_rb,0.59527e+03_rb,0.87675e+03_rb,0.11598e+04_rb /) kbo(:, 1,33,12) = (/ & & 0.10380e+04_rb,0.78620e+03_rb,0.60093e+03_rb,0.88116e+03_rb,0.11647e+04_rb /) kbo(:, 2,33,12) = (/ & & 0.10383e+04_rb,0.78582e+03_rb,0.59966e+03_rb,0.87968e+03_rb,0.11631e+04_rb /) kbo(:, 3,33,12) = (/ & & 0.10388e+04_rb,0.78740e+03_rb,0.59816e+03_rb,0.87838e+03_rb,0.11618e+04_rb /) kbo(:, 4,33,12) = (/ & & 0.10367e+04_rb,0.78734e+03_rb,0.59657e+03_rb,0.87743e+03_rb,0.11608e+04_rb /) kbo(:, 5,33,12) = (/ & & 0.10382e+04_rb,0.78803e+03_rb,0.59484e+03_rb,0.87630e+03_rb,0.11592e+04_rb /) kbo(:, 1,34,12) = (/ & & 0.10390e+04_rb,0.78774e+03_rb,0.60058e+03_rb,0.88098e+03_rb,0.11643e+04_rb /) kbo(:, 2,34,12) = (/ & & 0.10374e+04_rb,0.78664e+03_rb,0.59936e+03_rb,0.87936e+03_rb,0.11627e+04_rb /) kbo(:, 3,34,12) = (/ & & 0.10352e+04_rb,0.78733e+03_rb,0.59781e+03_rb,0.87813e+03_rb,0.11615e+04_rb /) kbo(:, 4,34,12) = (/ & & 0.10386e+04_rb,0.78609e+03_rb,0.59617e+03_rb,0.87742e+03_rb,0.11605e+04_rb /) kbo(:, 5,34,12) = (/ & & 0.10400e+04_rb,0.78709e+03_rb,0.59476e+03_rb,0.87581e+03_rb,0.11592e+04_rb /) kbo(:, 1,35,12) = (/ & & 0.10374e+04_rb,0.78486e+03_rb,0.60032e+03_rb,0.88061e+03_rb,0.11641e+04_rb /) kbo(:, 2,35,12) = (/ & & 0.10385e+04_rb,0.78482e+03_rb,0.59906e+03_rb,0.87918e+03_rb,0.11626e+04_rb /) kbo(:, 3,35,12) = (/ & & 0.10371e+04_rb,0.78627e+03_rb,0.59760e+03_rb,0.87799e+03_rb,0.11614e+04_rb /) kbo(:, 4,35,12) = (/ & & 0.10378e+04_rb,0.78697e+03_rb,0.59593e+03_rb,0.87715e+03_rb,0.11604e+04_rb /) kbo(:, 5,35,12) = (/ & & 0.10370e+04_rb,0.78545e+03_rb,0.59500e+03_rb,0.87549e+03_rb,0.11592e+04_rb /) kbo(:, 1,36,12) = (/ & & 0.10362e+04_rb,0.78845e+03_rb,0.60029e+03_rb,0.88058e+03_rb,0.11640e+04_rb /) kbo(:, 2,36,12) = (/ & & 0.10379e+04_rb,0.78676e+03_rb,0.59903e+03_rb,0.87915e+03_rb,0.11625e+04_rb /) kbo(:, 3,36,12) = (/ & & 0.10369e+04_rb,0.78598e+03_rb,0.59768e+03_rb,0.87797e+03_rb,0.11614e+04_rb /) kbo(:, 4,36,12) = (/ & & 0.10369e+04_rb,0.78595e+03_rb,0.59566e+03_rb,0.87713e+03_rb,0.11604e+04_rb /) kbo(:, 5,36,12) = (/ & & 0.10368e+04_rb,0.78548e+03_rb,0.59464e+03_rb,0.87594e+03_rb,0.11600e+04_rb /) kbo(:, 1,37,12) = (/ & & 0.10374e+04_rb,0.78579e+03_rb,0.60055e+03_rb,0.88077e+03_rb,0.11642e+04_rb /) kbo(:, 2,37,12) = (/ & & 0.10362e+04_rb,0.78844e+03_rb,0.59921e+03_rb,0.87933e+03_rb,0.11627e+04_rb /) kbo(:, 3,37,12) = (/ & & 0.10360e+04_rb,0.78603e+03_rb,0.59777e+03_rb,0.87810e+03_rb,0.11615e+04_rb /) kbo(:, 4,37,12) = (/ & & 0.10367e+04_rb,0.78734e+03_rb,0.59623e+03_rb,0.87723e+03_rb,0.11605e+04_rb /) kbo(:, 5,37,12) = (/ & & 0.10361e+04_rb,0.78702e+03_rb,0.59474e+03_rb,0.87592e+03_rb,0.11587e+04_rb /) kbo(:, 1,38,12) = (/ & & 0.10367e+04_rb,0.78778e+03_rb,0.60058e+03_rb,0.88098e+03_rb,0.11645e+04_rb /) kbo(:, 2,38,12) = (/ & & 0.10387e+04_rb,0.78865e+03_rb,0.59939e+03_rb,0.87952e+03_rb,0.11629e+04_rb /) kbo(:, 3,38,12) = (/ & & 0.10363e+04_rb,0.78758e+03_rb,0.59820e+03_rb,0.87825e+03_rb,0.11617e+04_rb /) kbo(:, 4,38,12) = (/ & & 0.10372e+04_rb,0.78786e+03_rb,0.59636e+03_rb,0.87717e+03_rb,0.11609e+04_rb /) kbo(:, 5,38,12) = (/ & & 0.10362e+04_rb,0.78470e+03_rb,0.59485e+03_rb,0.87657e+03_rb,0.11589e+04_rb /) kbo(:, 1,39,12) = (/ & & 0.10374e+04_rb,0.78680e+03_rb,0.60094e+03_rb,0.88119e+03_rb,0.11647e+04_rb /) kbo(:, 2,39,12) = (/ & & 0.10352e+04_rb,0.78618e+03_rb,0.60014e+03_rb,0.87971e+03_rb,0.11631e+04_rb /) kbo(:, 3,39,12) = (/ & & 0.10401e+04_rb,0.78497e+03_rb,0.59818e+03_rb,0.87840e+03_rb,0.11618e+04_rb /) kbo(:, 4,39,12) = (/ & & 0.10369e+04_rb,0.78868e+03_rb,0.59660e+03_rb,0.87744e+03_rb,0.11608e+04_rb /) kbo(:, 5,39,12) = (/ & & 0.10353e+04_rb,0.78494e+03_rb,0.59497e+03_rb,0.87635e+03_rb,0.11593e+04_rb /) kbo(:, 1,40,12) = (/ & & 0.10385e+04_rb,0.78584e+03_rb,0.60091e+03_rb,0.88123e+03_rb,0.11652e+04_rb /) kbo(:, 2,40,12) = (/ & & 0.10387e+04_rb,0.78568e+03_rb,0.59987e+03_rb,0.88006e+03_rb,0.11635e+04_rb /) kbo(:, 3,40,12) = (/ & & 0.10371e+04_rb,0.78626e+03_rb,0.59853e+03_rb,0.87869e+03_rb,0.11621e+04_rb /) kbo(:, 4,40,12) = (/ & & 0.10386e+04_rb,0.78684e+03_rb,0.59700e+03_rb,0.87748e+03_rb,0.11610e+04_rb /) kbo(:, 5,40,12) = (/ & & 0.10362e+04_rb,0.78503e+03_rb,0.59526e+03_rb,0.87692e+03_rb,0.11598e+04_rb /) kbo(:, 1,41,12) = (/ & & 0.10384e+04_rb,0.78504e+03_rb,0.60109e+03_rb,0.88198e+03_rb,0.11657e+04_rb /) kbo(:, 2,41,12) = (/ & & 0.10360e+04_rb,0.78533e+03_rb,0.60017e+03_rb,0.88043e+03_rb,0.11639e+04_rb /) kbo(:, 3,41,12) = (/ & & 0.10374e+04_rb,0.78412e+03_rb,0.59889e+03_rb,0.87902e+03_rb,0.11624e+04_rb /) kbo(:, 4,41,12) = (/ & & 0.10350e+04_rb,0.78545e+03_rb,0.59741e+03_rb,0.87788e+03_rb,0.11613e+04_rb /) kbo(:, 5,41,12) = (/ & & 0.10385e+04_rb,0.78529e+03_rb,0.59570e+03_rb,0.87704e+03_rb,0.11607e+04_rb /) kbo(:, 1,42,12) = (/ & & 0.10370e+04_rb,0.78560e+03_rb,0.60125e+03_rb,0.88242e+03_rb,0.11662e+04_rb /) kbo(:, 2,42,12) = (/ & & 0.10383e+04_rb,0.78469e+03_rb,0.60057e+03_rb,0.88081e+03_rb,0.11643e+04_rb /) kbo(:, 3,42,12) = (/ & & 0.10368e+04_rb,0.78617e+03_rb,0.59924e+03_rb,0.87937e+03_rb,0.11627e+04_rb /) kbo(:, 4,42,12) = (/ & & 0.10362e+04_rb,0.78586e+03_rb,0.59780e+03_rb,0.87813e+03_rb,0.11615e+04_rb /) kbo(:, 5,42,12) = (/ & & 0.10350e+04_rb,0.78958e+03_rb,0.59616e+03_rb,0.87725e+03_rb,0.11605e+04_rb /) kbo(:, 1,43,12) = (/ & & 0.10375e+04_rb,0.78586e+03_rb,0.60140e+03_rb,0.88280e+03_rb,0.11669e+04_rb /) kbo(:, 2,43,12) = (/ & & 0.10344e+04_rb,0.78615e+03_rb,0.60088e+03_rb,0.88112e+03_rb,0.11651e+04_rb /) kbo(:, 3,43,12) = (/ & & 0.10344e+04_rb,0.78345e+03_rb,0.59953e+03_rb,0.87980e+03_rb,0.11632e+04_rb /) kbo(:, 4,43,12) = (/ & & 0.10347e+04_rb,0.78777e+03_rb,0.59827e+03_rb,0.87847e+03_rb,0.11619e+04_rb /) kbo(:, 5,43,12) = (/ & & 0.10355e+04_rb,0.78627e+03_rb,0.59681e+03_rb,0.87766e+03_rb,0.11609e+04_rb /) kbo(:, 1,44,12) = (/ & & 0.10355e+04_rb,0.78449e+03_rb,0.60162e+03_rb,0.88358e+03_rb,0.11676e+04_rb /) kbo(:, 2,44,12) = (/ & & 0.10359e+04_rb,0.78627e+03_rb,0.60103e+03_rb,0.88182e+03_rb,0.11655e+04_rb /) kbo(:, 3,44,12) = (/ & & 0.10377e+04_rb,0.78715e+03_rb,0.60005e+03_rb,0.88029e+03_rb,0.11637e+04_rb /) kbo(:, 4,44,12) = (/ & & 0.10378e+04_rb,0.78625e+03_rb,0.59875e+03_rb,0.87890e+03_rb,0.11623e+04_rb /) kbo(:, 5,44,12) = (/ & & 0.10374e+04_rb,0.78401e+03_rb,0.59725e+03_rb,0.87779e+03_rb,0.11612e+04_rb /) kbo(:, 1,45,12) = (/ & & 0.10390e+04_rb,0.78655e+03_rb,0.60158e+03_rb,0.88419e+03_rb,0.11684e+04_rb /) kbo(:, 2,45,12) = (/ & & 0.10396e+04_rb,0.78684e+03_rb,0.60124e+03_rb,0.88239e+03_rb,0.11662e+04_rb /) kbo(:, 3,45,12) = (/ & & 0.10355e+04_rb,0.78758e+03_rb,0.60044e+03_rb,0.88079e+03_rb,0.11643e+04_rb /) kbo(:, 4,45,12) = (/ & & 0.10368e+04_rb,0.78548e+03_rb,0.59922e+03_rb,0.87935e+03_rb,0.11627e+04_rb /) kbo(:, 5,45,12) = (/ & & 0.10360e+04_rb,0.78578e+03_rb,0.59778e+03_rb,0.87811e+03_rb,0.11615e+04_rb /) kbo(:, 1,46,12) = (/ & & 0.10390e+04_rb,0.78534e+03_rb,0.60165e+03_rb,0.88476e+03_rb,0.11691e+04_rb /) kbo(:, 2,46,12) = (/ & & 0.10368e+04_rb,0.78339e+03_rb,0.60141e+03_rb,0.88303e+03_rb,0.11669e+04_rb /) kbo(:, 3,46,12) = (/ & & 0.10364e+04_rb,0.78696e+03_rb,0.60079e+03_rb,0.88117e+03_rb,0.11649e+04_rb /) kbo(:, 4,46,12) = (/ & & 0.10407e+04_rb,0.78666e+03_rb,0.59968e+03_rb,0.87985e+03_rb,0.11632e+04_rb /) kbo(:, 5,46,12) = (/ & & 0.10344e+04_rb,0.78501e+03_rb,0.59832e+03_rb,0.87835e+03_rb,0.11619e+04_rb /) kbo(:, 1,47,12) = (/ & & 0.10372e+04_rb,0.78547e+03_rb,0.60140e+03_rb,0.88518e+03_rb,0.11696e+04_rb /) kbo(:, 2,47,12) = (/ & & 0.10368e+04_rb,0.78740e+03_rb,0.60142e+03_rb,0.88376e+03_rb,0.11678e+04_rb /) kbo(:, 3,47,12) = (/ & & 0.10360e+04_rb,0.78411e+03_rb,0.60109e+03_rb,0.88198e+03_rb,0.11657e+04_rb /) kbo(:, 4,47,12) = (/ & & 0.10358e+04_rb,0.78709e+03_rb,0.60017e+03_rb,0.88044e+03_rb,0.11639e+04_rb /) kbo(:, 5,47,12) = (/ & & 0.10354e+04_rb,0.78664e+03_rb,0.59889e+03_rb,0.87902e+03_rb,0.11624e+04_rb /) kbo(:, 1,48,12) = (/ & & 0.10362e+04_rb,0.78680e+03_rb,0.60195e+03_rb,0.88548e+03_rb,0.11701e+04_rb /) kbo(:, 2,48,12) = (/ & & 0.10362e+04_rb,0.78545e+03_rb,0.60161e+03_rb,0.88447e+03_rb,0.11687e+04_rb /) kbo(:, 3,48,12) = (/ & & 0.10378e+04_rb,0.78604e+03_rb,0.60144e+03_rb,0.88268e+03_rb,0.11665e+04_rb /) kbo(:, 4,48,12) = (/ & & 0.10382e+04_rb,0.78544e+03_rb,0.60061e+03_rb,0.88104e+03_rb,0.11646e+04_rb /) kbo(:, 5,48,12) = (/ & & 0.10364e+04_rb,0.78424e+03_rb,0.59943e+03_rb,0.87957e+03_rb,0.11630e+04_rb /) kbo(:, 1,49,12) = (/ & & 0.10370e+04_rb,0.78693e+03_rb,0.60225e+03_rb,0.88600e+03_rb,0.11705e+04_rb /) kbo(:, 2,49,12) = (/ & & 0.10356e+04_rb,0.78469e+03_rb,0.60169e+03_rb,0.88499e+03_rb,0.11694e+04_rb /) kbo(:, 3,49,12) = (/ & & 0.10350e+04_rb,0.78588e+03_rb,0.60148e+03_rb,0.88340e+03_rb,0.11674e+04_rb /) kbo(:, 4,49,12) = (/ & & 0.10352e+04_rb,0.78677e+03_rb,0.60095e+03_rb,0.88166e+03_rb,0.11653e+04_rb /) kbo(:, 5,49,12) = (/ & & 0.10356e+04_rb,0.78647e+03_rb,0.59993e+03_rb,0.88015e+03_rb,0.11636e+04_rb /) kbo(:, 1,50,12) = (/ & & 0.10356e+04_rb,0.78558e+03_rb,0.60226e+03_rb,0.88620e+03_rb,0.11712e+04_rb /) kbo(:, 2,50,12) = (/ & & 0.10346e+04_rb,0.78796e+03_rb,0.60171e+03_rb,0.88533e+03_rb,0.11698e+04_rb /) kbo(:, 3,50,12) = (/ & & 0.10366e+04_rb,0.78751e+03_rb,0.60168e+03_rb,0.88408e+03_rb,0.11667e+04_rb /) kbo(:, 4,50,12) = (/ & & 0.10366e+04_rb,0.78646e+03_rb,0.60132e+03_rb,0.88229e+03_rb,0.11661e+04_rb /) kbo(:, 5,50,12) = (/ & & 0.10393e+04_rb,0.78616e+03_rb,0.60083e+03_rb,0.88070e+03_rb,0.11642e+04_rb /) kbo(:, 1,51,12) = (/ & & 0.10356e+04_rb,0.78468e+03_rb,0.60241e+03_rb,0.88644e+03_rb,0.11719e+04_rb /) kbo(:, 2,51,12) = (/ & & 0.10368e+04_rb,0.78423e+03_rb,0.60203e+03_rb,0.88559e+03_rb,0.11702e+04_rb /) kbo(:, 3,51,12) = (/ & & 0.10356e+04_rb,0.78586e+03_rb,0.60163e+03_rb,0.88469e+03_rb,0.11690e+04_rb /) kbo(:, 4,51,12) = (/ & & 0.10358e+04_rb,0.78601e+03_rb,0.60139e+03_rb,0.88294e+03_rb,0.11668e+04_rb /) kbo(:, 5,51,12) = (/ & & 0.10379e+04_rb,0.78646e+03_rb,0.60074e+03_rb,0.88126e+03_rb,0.11648e+04_rb /) kbo(:, 1,52,12) = (/ & & 0.10383e+04_rb,0.78512e+03_rb,0.60257e+03_rb,0.88672e+03_rb,0.11727e+04_rb /) kbo(:, 2,52,12) = (/ & & 0.10350e+04_rb,0.78646e+03_rb,0.60217e+03_rb,0.88594e+03_rb,0.11707e+04_rb /) kbo(:, 3,52,12) = (/ & & 0.10358e+04_rb,0.78466e+03_rb,0.60160e+03_rb,0.88510e+03_rb,0.11695e+04_rb /) kbo(:, 4,52,12) = (/ & & 0.10356e+04_rb,0.78511e+03_rb,0.60151e+03_rb,0.88359e+03_rb,0.11676e+04_rb /) kbo(:, 5,52,12) = (/ & & 0.10365e+04_rb,0.78541e+03_rb,0.60103e+03_rb,0.88167e+03_rb,0.11655e+04_rb /) kbo(:, 1,53,12) = (/ & & 0.10352e+04_rb,0.78496e+03_rb,0.60273e+03_rb,0.88710e+03_rb,0.11735e+04_rb /) kbo(:, 2,53,12) = (/ & & 0.10359e+04_rb,0.78600e+03_rb,0.60229e+03_rb,0.88628e+03_rb,0.11714e+04_rb /) kbo(:, 3,53,12) = (/ & & 0.10369e+04_rb,0.78526e+03_rb,0.60188e+03_rb,0.88540e+03_rb,0.11699e+04_rb /) kbo(:, 4,53,12) = (/ & & 0.10383e+04_rb,0.78660e+03_rb,0.60159e+03_rb,0.88425e+03_rb,0.11685e+04_rb /) kbo(:, 5,53,12) = (/ & & 0.10373e+04_rb,0.78555e+03_rb,0.60126e+03_rb,0.88246e+03_rb,0.11663e+04_rb /) kbo(:, 1,54,12) = (/ & & 0.10367e+04_rb,0.78451e+03_rb,0.60297e+03_rb,0.88752e+03_rb,0.11746e+04_rb /) kbo(:, 2,54,12) = (/ & & 0.10355e+04_rb,0.78600e+03_rb,0.60244e+03_rb,0.88648e+03_rb,0.11721e+04_rb /) kbo(:, 3,54,12) = (/ & & 0.10348e+04_rb,0.78301e+03_rb,0.60206e+03_rb,0.88564e+03_rb,0.11703e+04_rb /) kbo(:, 4,54,12) = (/ & & 0.10395e+04_rb,0.78629e+03_rb,0.60165e+03_rb,0.88477e+03_rb,0.11691e+04_rb /) kbo(:, 5,54,12) = (/ & & 0.10361e+04_rb,0.78420e+03_rb,0.60141e+03_rb,0.88305e+03_rb,0.11670e+04_rb /) kbo(:, 1,55,12) = (/ & & 0.10361e+04_rb,0.78555e+03_rb,0.60296e+03_rb,0.88822e+03_rb,0.11760e+04_rb /) kbo(:, 2,55,12) = (/ & & 0.10355e+04_rb,0.78495e+03_rb,0.60258e+03_rb,0.88674e+03_rb,0.11727e+04_rb /) kbo(:, 3,55,12) = (/ & & 0.10349e+04_rb,0.78525e+03_rb,0.60217e+03_rb,0.88596e+03_rb,0.11709e+04_rb /) kbo(:, 4,55,12) = (/ & & 0.10361e+04_rb,0.78465e+03_rb,0.60184e+03_rb,0.88512e+03_rb,0.11696e+04_rb /) kbo(:, 5,55,12) = (/ & & 0.10363e+04_rb,0.78599e+03_rb,0.60163e+03_rb,0.88363e+03_rb,0.11677e+04_rb /) kbo(:, 1,56,12) = (/ & & 0.10361e+04_rb,0.78599e+03_rb,0.60309e+03_rb,0.88918e+03_rb,0.11774e+04_rb /) kbo(:, 2,56,12) = (/ & & 0.10391e+04_rb,0.78674e+03_rb,0.60272e+03_rb,0.88707e+03_rb,0.11734e+04_rb /) kbo(:, 3,56,12) = (/ & & 0.10363e+04_rb,0.78584e+03_rb,0.60228e+03_rb,0.88626e+03_rb,0.11716e+04_rb /) kbo(:, 4,56,12) = (/ & & 0.10369e+04_rb,0.78509e+03_rb,0.60186e+03_rb,0.88538e+03_rb,0.11695e+04_rb /) kbo(:, 5,56,12) = (/ & & 0.10363e+04_rb,0.78554e+03_rb,0.60158e+03_rb,0.88421e+03_rb,0.11682e+04_rb /) kbo(:, 1,57,12) = (/ & & 0.10381e+04_rb,0.78509e+03_rb,0.60327e+03_rb,0.89026e+03_rb,0.11789e+04_rb /) kbo(:, 2,57,12) = (/ & & 0.10344e+04_rb,0.78852e+03_rb,0.60284e+03_rb,0.88747e+03_rb,0.11744e+04_rb /) kbo(:, 3,57,12) = (/ & & 0.10369e+04_rb,0.78509e+03_rb,0.60242e+03_rb,0.88612e+03_rb,0.11720e+04_rb /) kbo(:, 4,57,12) = (/ & & 0.10393e+04_rb,0.78330e+03_rb,0.60216e+03_rb,0.88561e+03_rb,0.11703e+04_rb /) kbo(:, 5,57,12) = (/ & & 0.10365e+04_rb,0.78494e+03_rb,0.60164e+03_rb,0.88472e+03_rb,0.11688e+04_rb /) kbo(:, 1,58,12) = (/ & & 0.10353e+04_rb,0.78509e+03_rb,0.60357e+03_rb,0.89125e+03_rb,0.11802e+04_rb /) kbo(:, 2,58,12) = (/ & & 0.10371e+04_rb,0.78524e+03_rb,0.60283e+03_rb,0.88807e+03_rb,0.11757e+04_rb /) kbo(:, 3,58,12) = (/ & & 0.10365e+04_rb,0.78718e+03_rb,0.60278e+03_rb,0.88669e+03_rb,0.11726e+04_rb /) kbo(:, 4,58,12) = (/ & & 0.10349e+04_rb,0.78673e+03_rb,0.60216e+03_rb,0.88590e+03_rb,0.11708e+04_rb /) kbo(:, 5,58,12) = (/ & & 0.10365e+04_rb,0.78389e+03_rb,0.60170e+03_rb,0.88506e+03_rb,0.11695e+04_rb /) kbo(:, 1,59,12) = (/ & & 0.10365e+04_rb,0.78390e+03_rb,0.60373e+03_rb,0.89165e+03_rb,0.11808e+04_rb /) kbo(:, 2,59,12) = (/ & & 0.10369e+04_rb,0.78479e+03_rb,0.60298e+03_rb,0.88840e+03_rb,0.11763e+04_rb /) kbo(:, 3,59,12) = (/ & & 0.10357e+04_rb,0.78703e+03_rb,0.60261e+03_rb,0.88680e+03_rb,0.11713e+04_rb /) kbo(:, 4,59,12) = (/ & & 0.10363e+04_rb,0.78509e+03_rb,0.60219e+03_rb,0.88602e+03_rb,0.11708e+04_rb /) kbo(:, 5,59,12) = (/ & & 0.10365e+04_rb,0.78479e+03_rb,0.60174e+03_rb,0.88517e+03_rb,0.11696e+04_rb /) kbo(:, 1,13,13) = (/ & & 0.11661e+04_rb,0.87073e+03_rb,0.60556e+03_rb,0.88929e+03_rb,0.11761e+04_rb /) kbo(:, 2,13,13) = (/ & & 0.11527e+04_rb,0.87014e+03_rb,0.60489e+03_rb,0.88914e+03_rb,0.11754e+04_rb /) kbo(:, 3,13,13) = (/ & & 0.11423e+04_rb,0.85968e+03_rb,0.60419e+03_rb,0.88867e+03_rb,0.11747e+04_rb /) kbo(:, 4,13,13) = (/ & & 0.11371e+04_rb,0.85890e+03_rb,0.60344e+03_rb,0.88820e+03_rb,0.11742e+04_rb /) kbo(:, 5,13,13) = (/ & & 0.11390e+04_rb,0.85008e+03_rb,0.60234e+03_rb,0.88705e+03_rb,0.11727e+04_rb /) kbo(:, 1,14,13) = (/ & & 0.11362e+04_rb,0.85805e+03_rb,0.60511e+03_rb,0.88957e+03_rb,0.11761e+04_rb /) kbo(:, 2,14,13) = (/ & & 0.11276e+04_rb,0.85398e+03_rb,0.60448e+03_rb,0.88893e+03_rb,0.11753e+04_rb /) kbo(:, 3,14,13) = (/ & & 0.11208e+04_rb,0.84888e+03_rb,0.60397e+03_rb,0.88854e+03_rb,0.11747e+04_rb /) kbo(:, 4,14,13) = (/ & & 0.11194e+04_rb,0.85006e+03_rb,0.60305e+03_rb,0.88823e+03_rb,0.11740e+04_rb /) kbo(:, 5,14,13) = (/ & & 0.11083e+04_rb,0.84212e+03_rb,0.60191e+03_rb,0.88682e+03_rb,0.11725e+04_rb /) kbo(:, 1,15,13) = (/ & & 0.11142e+04_rb,0.84766e+03_rb,0.60488e+03_rb,0.88941e+03_rb,0.11748e+04_rb /) kbo(:, 2,15,13) = (/ & & 0.11176e+04_rb,0.84112e+03_rb,0.60414e+03_rb,0.88873e+03_rb,0.11752e+04_rb /) kbo(:, 3,15,13) = (/ & & 0.11051e+04_rb,0.84191e+03_rb,0.60348e+03_rb,0.88843e+03_rb,0.11747e+04_rb /) kbo(:, 4,15,13) = (/ & & 0.11036e+04_rb,0.83753e+03_rb,0.60270e+03_rb,0.88781e+03_rb,0.11739e+04_rb /) kbo(:, 5,15,13) = (/ & & 0.10935e+04_rb,0.82883e+03_rb,0.60139e+03_rb,0.88658e+03_rb,0.11723e+04_rb /) kbo(:, 1,16,13) = (/ & & 0.11074e+04_rb,0.83456e+03_rb,0.60440e+03_rb,0.88927e+03_rb,0.11760e+04_rb /) kbo(:, 2,16,13) = (/ & & 0.11018e+04_rb,0.83298e+03_rb,0.60385e+03_rb,0.88856e+03_rb,0.11751e+04_rb /) kbo(:, 3,16,13) = (/ & & 0.10859e+04_rb,0.83101e+03_rb,0.60319e+03_rb,0.88832e+03_rb,0.11747e+04_rb /) kbo(:, 4,16,13) = (/ & & 0.10925e+04_rb,0.82836e+03_rb,0.60254e+03_rb,0.88762e+03_rb,0.11738e+04_rb /) kbo(:, 5,16,13) = (/ & & 0.10900e+04_rb,0.82283e+03_rb,0.60124e+03_rb,0.88636e+03_rb,0.11721e+04_rb /) kbo(:, 1,17,13) = (/ & & 0.10953e+04_rb,0.82596e+03_rb,0.60413e+03_rb,0.88915e+03_rb,0.11759e+04_rb /) kbo(:, 2,17,13) = (/ & & 0.10864e+04_rb,0.82504e+03_rb,0.60360e+03_rb,0.88842e+03_rb,0.11750e+04_rb /) kbo(:, 3,17,13) = (/ & & 0.10812e+04_rb,0.81898e+03_rb,0.60295e+03_rb,0.88822e+03_rb,0.11746e+04_rb /) kbo(:, 4,17,13) = (/ & & 0.10806e+04_rb,0.81706e+03_rb,0.60242e+03_rb,0.88745e+03_rb,0.11736e+04_rb /) kbo(:, 5,17,13) = (/ & & 0.10764e+04_rb,0.81771e+03_rb,0.59943e+03_rb,0.88638e+03_rb,0.11722e+04_rb /) kbo(:, 1,18,13) = (/ & & 0.10787e+04_rb,0.82265e+03_rb,0.60390e+03_rb,0.88903e+03_rb,0.11759e+04_rb /) kbo(:, 2,18,13) = (/ & & 0.10743e+04_rb,0.81466e+03_rb,0.60339e+03_rb,0.88738e+03_rb,0.11749e+04_rb /) kbo(:, 3,18,13) = (/ & & 0.10792e+04_rb,0.81648e+03_rb,0.60273e+03_rb,0.88812e+03_rb,0.11749e+04_rb /) kbo(:, 4,18,13) = (/ & & 0.10724e+04_rb,0.81516e+03_rb,0.60185e+03_rb,0.88728e+03_rb,0.11735e+04_rb /) kbo(:, 5,18,13) = (/ & & 0.10737e+04_rb,0.81301e+03_rb,0.60092e+03_rb,0.88618e+03_rb,0.11717e+04_rb /) kbo(:, 1,19,13) = (/ & & 0.10778e+04_rb,0.81646e+03_rb,0.60388e+03_rb,0.88893e+03_rb,0.11758e+04_rb /) kbo(:, 2,19,13) = (/ & & 0.10709e+04_rb,0.81021e+03_rb,0.60321e+03_rb,0.88822e+03_rb,0.11748e+04_rb /) kbo(:, 3,19,13) = (/ & & 0.10651e+04_rb,0.80945e+03_rb,0.60254e+03_rb,0.88803e+03_rb,0.11745e+04_rb /) kbo(:, 4,19,13) = (/ & & 0.10677e+04_rb,0.80743e+03_rb,0.60147e+03_rb,0.88735e+03_rb,0.11733e+04_rb /) kbo(:, 5,19,13) = (/ & & 0.10575e+04_rb,0.80245e+03_rb,0.60072e+03_rb,0.88575e+03_rb,0.11721e+04_rb /) kbo(:, 1,20,13) = (/ & & 0.10622e+04_rb,0.81096e+03_rb,0.60356e+03_rb,0.88881e+03_rb,0.11757e+04_rb /) kbo(:, 2,20,13) = (/ & & 0.10607e+04_rb,0.80739e+03_rb,0.60305e+03_rb,0.88816e+03_rb,0.11748e+04_rb /) kbo(:, 3,20,13) = (/ & & 0.10623e+04_rb,0.80381e+03_rb,0.60252e+03_rb,0.88792e+03_rb,0.11744e+04_rb /) kbo(:, 4,20,13) = (/ & & 0.10570e+04_rb,0.80456e+03_rb,0.60093e+03_rb,0.88695e+03_rb,0.11731e+04_rb /) kbo(:, 5,20,13) = (/ & & 0.10628e+04_rb,0.80481e+03_rb,0.60051e+03_rb,0.88554e+03_rb,0.11713e+04_rb /) kbo(:, 1,21,13) = (/ & & 0.10564e+04_rb,0.80721e+03_rb,0.60326e+03_rb,0.88869e+03_rb,0.11756e+04_rb /) kbo(:, 2,21,13) = (/ & & 0.10630e+04_rb,0.79813e+03_rb,0.60290e+03_rb,0.88813e+03_rb,0.11748e+04_rb /) kbo(:, 3,21,13) = (/ & & 0.10553e+04_rb,0.80228e+03_rb,0.60219e+03_rb,0.88781e+03_rb,0.11743e+04_rb /) kbo(:, 4,21,13) = (/ & & 0.10544e+04_rb,0.79888e+03_rb,0.60136e+03_rb,0.88677e+03_rb,0.11729e+04_rb /) kbo(:, 5,21,13) = (/ & & 0.10596e+04_rb,0.81049e+03_rb,0.60032e+03_rb,0.88532e+03_rb,0.11710e+04_rb /) kbo(:, 1,22,13) = (/ & & 0.10550e+04_rb,0.80310e+03_rb,0.60326e+03_rb,0.88850e+03_rb,0.11754e+04_rb /) kbo(:, 2,22,13) = (/ & & 0.10516e+04_rb,0.80380e+03_rb,0.60256e+03_rb,0.88810e+03_rb,0.11747e+04_rb /) kbo(:, 3,22,13) = (/ & & 0.10562e+04_rb,0.80152e+03_rb,0.60229e+03_rb,0.88764e+03_rb,0.11741e+04_rb /) kbo(:, 4,22,13) = (/ & & 0.10509e+04_rb,0.80224e+03_rb,0.60002e+03_rb,0.88651e+03_rb,0.11726e+04_rb /) kbo(:, 5,22,13) = (/ & & 0.10563e+04_rb,0.79871e+03_rb,0.59990e+03_rb,0.88500e+03_rb,0.11706e+04_rb /) kbo(:, 1,23,13) = (/ & & 0.10567e+04_rb,0.79860e+03_rb,0.60326e+03_rb,0.88832e+03_rb,0.11752e+04_rb /) kbo(:, 2,23,13) = (/ & & 0.10532e+04_rb,0.79557e+03_rb,0.60254e+03_rb,0.88806e+03_rb,0.11747e+04_rb /) kbo(:, 3,23,13) = (/ & & 0.10534e+04_rb,0.79512e+03_rb,0.60237e+03_rb,0.88744e+03_rb,0.11739e+04_rb /) kbo(:, 4,23,13) = (/ & & 0.10472e+04_rb,0.79721e+03_rb,0.60072e+03_rb,0.88622e+03_rb,0.11723e+04_rb /) kbo(:, 5,23,13) = (/ & & 0.10509e+04_rb,0.79423e+03_rb,0.59964e+03_rb,0.88466e+03_rb,0.11702e+04_rb /) kbo(:, 1,24,13) = (/ & & 0.10549e+04_rb,0.79502e+03_rb,0.60296e+03_rb,0.88817e+03_rb,0.11750e+04_rb /) kbo(:, 2,24,13) = (/ & & 0.10498e+04_rb,0.80428e+03_rb,0.60221e+03_rb,0.88799e+03_rb,0.11746e+04_rb /) kbo(:, 3,24,13) = (/ & & 0.10553e+04_rb,0.79369e+03_rb,0.60149e+03_rb,0.88721e+03_rb,0.11736e+04_rb /) kbo(:, 4,24,13) = (/ & & 0.10517e+04_rb,0.79240e+03_rb,0.60048e+03_rb,0.88592e+03_rb,0.11719e+04_rb /) kbo(:, 5,24,13) = (/ & & 0.10493e+04_rb,0.79281e+03_rb,0.59936e+03_rb,0.88429e+03_rb,0.11697e+04_rb /) kbo(:, 1,25,13) = (/ & & 0.10472e+04_rb,0.79884e+03_rb,0.60281e+03_rb,0.88760e+03_rb,0.11748e+04_rb /) kbo(:, 2,25,13) = (/ & & 0.10433e+04_rb,0.79261e+03_rb,0.60217e+03_rb,0.88787e+03_rb,0.11745e+04_rb /) kbo(:, 3,25,13) = (/ & & 0.10495e+04_rb,0.79568e+03_rb,0.60138e+03_rb,0.88696e+03_rb,0.11733e+04_rb /) kbo(:, 4,25,13) = (/ & & 0.10412e+04_rb,0.79264e+03_rb,0.60023e+03_rb,0.88559e+03_rb,0.11715e+04_rb /) kbo(:, 5,25,13) = (/ & & 0.10432e+04_rb,0.79682e+03_rb,0.59908e+03_rb,0.88390e+03_rb,0.11692e+04_rb /) kbo(:, 1,26,13) = (/ & & 0.10426e+04_rb,0.79538e+03_rb,0.60266e+03_rb,0.88804e+03_rb,0.11748e+04_rb /) kbo(:, 2,26,13) = (/ & & 0.10459e+04_rb,0.79909e+03_rb,0.60196e+03_rb,0.88771e+03_rb,0.11743e+04_rb /) kbo(:, 3,26,13) = (/ & & 0.10455e+04_rb,0.79078e+03_rb,0.60113e+03_rb,0.88666e+03_rb,0.11729e+04_rb /) kbo(:, 4,26,13) = (/ & & 0.10380e+04_rb,0.79069e+03_rb,0.60011e+03_rb,0.88521e+03_rb,0.11710e+04_rb /) kbo(:, 5,26,13) = (/ & & 0.10428e+04_rb,0.79124e+03_rb,0.59892e+03_rb,0.88345e+03_rb,0.11686e+04_rb /) kbo(:, 1,27,13) = (/ & & 0.10409e+04_rb,0.79057e+03_rb,0.60249e+03_rb,0.88802e+03_rb,0.11747e+04_rb /) kbo(:, 2,27,13) = (/ & & 0.10432e+04_rb,0.78863e+03_rb,0.60172e+03_rb,0.88750e+03_rb,0.11740e+04_rb /) kbo(:, 3,27,13) = (/ & & 0.10404e+04_rb,0.79041e+03_rb,0.60057e+03_rb,0.88634e+03_rb,0.11728e+04_rb /) kbo(:, 4,27,13) = (/ & & 0.10425e+04_rb,0.78854e+03_rb,0.59967e+03_rb,0.88481e+03_rb,0.11704e+04_rb /) kbo(:, 5,27,13) = (/ & & 0.10492e+04_rb,0.78874e+03_rb,0.59843e+03_rb,0.88297e+03_rb,0.11680e+04_rb /) kbo(:, 1,28,13) = (/ & & 0.10434e+04_rb,0.79273e+03_rb,0.60231e+03_rb,0.88820e+03_rb,0.11747e+04_rb /) kbo(:, 2,28,13) = (/ & & 0.10472e+04_rb,0.78799e+03_rb,0.60162e+03_rb,0.88726e+03_rb,0.11737e+04_rb /) kbo(:, 3,28,13) = (/ & & 0.10366e+04_rb,0.79125e+03_rb,0.60032e+03_rb,0.88600e+03_rb,0.11720e+04_rb /) kbo(:, 4,28,13) = (/ & & 0.10345e+04_rb,0.78841e+03_rb,0.59938e+03_rb,0.88440e+03_rb,0.11699e+04_rb /) kbo(:, 5,28,13) = (/ & & 0.10534e+04_rb,0.78866e+03_rb,0.59808e+03_rb,0.88245e+03_rb,0.11673e+04_rb /) kbo(:, 1,29,13) = (/ & & 0.10524e+04_rb,0.78934e+03_rb,0.60181e+03_rb,0.88786e+03_rb,0.11745e+04_rb /) kbo(:, 2,29,13) = (/ & & 0.10481e+04_rb,0.78588e+03_rb,0.60321e+03_rb,0.88698e+03_rb,0.11734e+04_rb /) kbo(:, 3,29,13) = (/ & & 0.10466e+04_rb,0.79266e+03_rb,0.60021e+03_rb,0.88562e+03_rb,0.11715e+04_rb /) kbo(:, 4,29,13) = (/ & & 0.10466e+04_rb,0.79965e+03_rb,0.59906e+03_rb,0.88395e+03_rb,0.11693e+04_rb /) kbo(:, 5,29,13) = (/ & & 0.10459e+04_rb,0.78993e+03_rb,0.59799e+03_rb,0.88185e+03_rb,0.11668e+04_rb /) kbo(:, 1,30,13) = (/ & & 0.10360e+04_rb,0.78916e+03_rb,0.60191e+03_rb,0.88770e+03_rb,0.11743e+04_rb /) kbo(:, 2,30,13) = (/ & & 0.10409e+04_rb,0.78411e+03_rb,0.60093e+03_rb,0.88667e+03_rb,0.11729e+04_rb /) kbo(:, 3,30,13) = (/ & & 0.10391e+04_rb,0.79193e+03_rb,0.59993e+03_rb,0.88546e+03_rb,0.11710e+04_rb /) kbo(:, 4,30,13) = (/ & & 0.10409e+04_rb,0.78876e+03_rb,0.59874e+03_rb,0.88348e+03_rb,0.11687e+04_rb /) kbo(:, 5,30,13) = (/ & & 0.10396e+04_rb,0.78722e+03_rb,0.59722e+03_rb,0.88117e+03_rb,0.11665e+04_rb /) kbo(:, 1,31,13) = (/ & & 0.10394e+04_rb,0.79419e+03_rb,0.60167e+03_rb,0.88749e+03_rb,0.11740e+04_rb /) kbo(:, 2,31,13) = (/ & & 0.10363e+04_rb,0.79203e+03_rb,0.60068e+03_rb,0.88633e+03_rb,0.11725e+04_rb /) kbo(:, 3,31,13) = (/ & & 0.10437e+04_rb,0.78663e+03_rb,0.59963e+03_rb,0.88481e+03_rb,0.11705e+04_rb /) kbo(:, 4,31,13) = (/ & & 0.10406e+04_rb,0.79000e+03_rb,0.59839e+03_rb,0.88297e+03_rb,0.11680e+04_rb /) kbo(:, 5,31,13) = (/ & & 0.10413e+04_rb,0.79093e+03_rb,0.59674e+03_rb,0.88044e+03_rb,0.11650e+04_rb /) kbo(:, 1,32,13) = (/ & & 0.10440e+04_rb,0.79014e+03_rb,0.60327e+03_rb,0.88723e+03_rb,0.11737e+04_rb /) kbo(:, 2,32,13) = (/ & & 0.10391e+04_rb,0.79106e+03_rb,0.60042e+03_rb,0.88596e+03_rb,0.11720e+04_rb /) kbo(:, 3,32,13) = (/ & & 0.10467e+04_rb,0.78955e+03_rb,0.59932e+03_rb,0.88436e+03_rb,0.11699e+04_rb /) kbo(:, 4,32,13) = (/ & & 0.10407e+04_rb,0.79722e+03_rb,0.59818e+03_rb,0.88241e+03_rb,0.11673e+04_rb /) kbo(:, 5,32,13) = (/ & & 0.10382e+04_rb,0.78961e+03_rb,0.59626e+03_rb,0.87980e+03_rb,0.11639e+04_rb /) kbo(:, 1,33,13) = (/ & & 0.10522e+04_rb,0.78494e+03_rb,0.60081e+03_rb,0.88693e+03_rb,0.11733e+04_rb /) kbo(:, 2,33,13) = (/ & & 0.10373e+04_rb,0.79220e+03_rb,0.59999e+03_rb,0.88557e+03_rb,0.11715e+04_rb /) kbo(:, 3,33,13) = (/ & & 0.10359e+04_rb,0.78622e+03_rb,0.59900e+03_rb,0.88389e+03_rb,0.11695e+04_rb /) kbo(:, 4,33,13) = (/ & & 0.10377e+04_rb,0.78474e+03_rb,0.59760e+03_rb,0.88177e+03_rb,0.11667e+04_rb /) kbo(:, 5,33,13) = (/ & & 0.10406e+04_rb,0.78876e+03_rb,0.59580e+03_rb,0.87933e+03_rb,0.11633e+04_rb /) kbo(:, 1,34,13) = (/ & & 0.10360e+04_rb,0.79366e+03_rb,0.60074e+03_rb,0.88666e+03_rb,0.11729e+04_rb /) kbo(:, 2,34,13) = (/ & & 0.10445e+04_rb,0.78362e+03_rb,0.59974e+03_rb,0.88521e+03_rb,0.11710e+04_rb /) kbo(:, 3,34,13) = (/ & & 0.10445e+04_rb,0.78784e+03_rb,0.59871e+03_rb,0.88346e+03_rb,0.11687e+04_rb /) kbo(:, 4,34,13) = (/ & & 0.10420e+04_rb,0.78840e+03_rb,0.59718e+03_rb,0.88091e+03_rb,0.11665e+04_rb /) kbo(:, 5,34,13) = (/ & & 0.10384e+04_rb,0.79182e+03_rb,0.59540e+03_rb,0.87927e+03_rb,0.11620e+04_rb /) kbo(:, 1,35,13) = (/ & & 0.10422e+04_rb,0.79326e+03_rb,0.60077e+03_rb,0.88648e+03_rb,0.11727e+04_rb /) kbo(:, 2,35,13) = (/ & & 0.10360e+04_rb,0.79158e+03_rb,0.59975e+03_rb,0.88500e+03_rb,0.11707e+04_rb /) kbo(:, 3,35,13) = (/ & & 0.10370e+04_rb,0.78869e+03_rb,0.59854e+03_rb,0.88320e+03_rb,0.11683e+04_rb /) kbo(:, 4,35,13) = (/ & & 0.10364e+04_rb,0.79354e+03_rb,0.59694e+03_rb,0.88077e+03_rb,0.11651e+04_rb /) kbo(:, 5,35,13) = (/ & & 0.10369e+04_rb,0.78943e+03_rb,0.59473e+03_rb,0.87892e+03_rb,0.11616e+04_rb /) kbo(:, 1,36,13) = (/ & & 0.10401e+04_rb,0.78191e+03_rb,0.60075e+03_rb,0.88645e+03_rb,0.11727e+04_rb /) kbo(:, 2,36,13) = (/ & & 0.10371e+04_rb,0.78614e+03_rb,0.59972e+03_rb,0.88519e+03_rb,0.11707e+04_rb /) kbo(:, 3,36,13) = (/ & & 0.10392e+04_rb,0.78550e+03_rb,0.59835e+03_rb,0.88339e+03_rb,0.11683e+04_rb /) kbo(:, 4,36,13) = (/ & & 0.10378e+04_rb,0.78649e+03_rb,0.59690e+03_rb,0.88071e+03_rb,0.11650e+04_rb /) kbo(:, 5,36,13) = (/ & & 0.10389e+04_rb,0.79012e+03_rb,0.59516e+03_rb,0.87821e+03_rb,0.11604e+04_rb /) kbo(:, 1,37,13) = (/ & & 0.10397e+04_rb,0.78790e+03_rb,0.60071e+03_rb,0.88662e+03_rb,0.11729e+04_rb /) kbo(:, 2,37,13) = (/ & & 0.10413e+04_rb,0.78135e+03_rb,0.59986e+03_rb,0.88540e+03_rb,0.11710e+04_rb /) kbo(:, 3,37,13) = (/ & & 0.10434e+04_rb,0.78885e+03_rb,0.59867e+03_rb,0.88341e+03_rb,0.11686e+04_rb /) kbo(:, 4,37,13) = (/ & & 0.10382e+04_rb,0.79636e+03_rb,0.59698e+03_rb,0.88108e+03_rb,0.11655e+04_rb /) kbo(:, 5,37,13) = (/ & & 0.10369e+04_rb,0.78656e+03_rb,0.59536e+03_rb,0.87879e+03_rb,0.11626e+04_rb /) kbo(:, 1,38,13) = (/ & & 0.10433e+04_rb,0.78475e+03_rb,0.60099e+03_rb,0.88680e+03_rb,0.11731e+04_rb /) kbo(:, 2,38,13) = (/ & & 0.10422e+04_rb,0.78187e+03_rb,0.60001e+03_rb,0.88539e+03_rb,0.11713e+04_rb /) kbo(:, 3,38,13) = (/ & & 0.10376e+04_rb,0.78470e+03_rb,0.59854e+03_rb,0.88368e+03_rb,0.11690e+04_rb /) kbo(:, 4,38,13) = (/ & & 0.10379e+04_rb,0.78467e+03_rb,0.59739e+03_rb,0.88147e+03_rb,0.11660e+04_rb /) kbo(:, 5,38,13) = (/ & & 0.10346e+04_rb,0.79279e+03_rb,0.59559e+03_rb,0.87849e+03_rb,0.11631e+04_rb /) kbo(:, 1,39,13) = (/ & & 0.10564e+04_rb,0.79016e+03_rb,0.60113e+03_rb,0.88696e+03_rb,0.11734e+04_rb /) kbo(:, 2,39,13) = (/ & & 0.10405e+04_rb,0.78139e+03_rb,0.59938e+03_rb,0.88561e+03_rb,0.11715e+04_rb /) kbo(:, 3,39,13) = (/ & & 0.10386e+04_rb,0.79256e+03_rb,0.59902e+03_rb,0.88393e+03_rb,0.11693e+04_rb /) kbo(:, 4,39,13) = (/ & & 0.10351e+04_rb,0.78501e+03_rb,0.59779e+03_rb,0.88184e+03_rb,0.11668e+04_rb /) kbo(:, 5,39,13) = (/ & & 0.10353e+04_rb,0.78561e+03_rb,0.59583e+03_rb,0.87937e+03_rb,0.11634e+04_rb /) kbo(:, 1,40,13) = (/ & & 0.10351e+04_rb,0.78501e+03_rb,0.60325e+03_rb,0.88723e+03_rb,0.11737e+04_rb /) kbo(:, 2,40,13) = (/ & & 0.10332e+04_rb,0.78519e+03_rb,0.60040e+03_rb,0.88596e+03_rb,0.11720e+04_rb /) kbo(:, 3,40,13) = (/ & & 0.10393e+04_rb,0.78843e+03_rb,0.59931e+03_rb,0.88436e+03_rb,0.11699e+04_rb /) kbo(:, 4,40,13) = (/ & & 0.10339e+04_rb,0.78821e+03_rb,0.59801e+03_rb,0.88242e+03_rb,0.11676e+04_rb /) kbo(:, 5,40,13) = (/ & & 0.10476e+04_rb,0.78616e+03_rb,0.59626e+03_rb,0.87958e+03_rb,0.11639e+04_rb /) kbo(:, 1,41,13) = (/ & & 0.10420e+04_rb,0.78658e+03_rb,0.60226e+03_rb,0.88748e+03_rb,0.11740e+04_rb /) kbo(:, 2,41,13) = (/ & & 0.10471e+04_rb,0.78433e+03_rb,0.60065e+03_rb,0.88632e+03_rb,0.11725e+04_rb /) kbo(:, 3,41,13) = (/ & & 0.10385e+04_rb,0.78777e+03_rb,0.59960e+03_rb,0.88480e+03_rb,0.11705e+04_rb /) kbo(:, 4,41,13) = (/ & & 0.10374e+04_rb,0.79305e+03_rb,0.59837e+03_rb,0.88319e+03_rb,0.11680e+04_rb /) kbo(:, 5,41,13) = (/ & & 0.10341e+04_rb,0.79121e+03_rb,0.59671e+03_rb,0.88067e+03_rb,0.11641e+04_rb /) kbo(:, 1,42,13) = (/ & & 0.10427e+04_rb,0.78654e+03_rb,0.60202e+03_rb,0.88768e+03_rb,0.11743e+04_rb /) kbo(:, 2,42,13) = (/ & & 0.10376e+04_rb,0.78774e+03_rb,0.60073e+03_rb,0.88666e+03_rb,0.11730e+04_rb /) kbo(:, 3,42,13) = (/ & & 0.10387e+04_rb,0.78631e+03_rb,0.59989e+03_rb,0.88522e+03_rb,0.11710e+04_rb /) kbo(:, 4,42,13) = (/ & & 0.10432e+04_rb,0.79240e+03_rb,0.59870e+03_rb,0.88347e+03_rb,0.11690e+04_rb /) kbo(:, 5,42,13) = (/ & & 0.10408e+04_rb,0.78283e+03_rb,0.59718e+03_rb,0.88116e+03_rb,0.11677e+04_rb /) kbo(:, 1,43,13) = (/ & & 0.10384e+04_rb,0.78732e+03_rb,0.60211e+03_rb,0.88787e+03_rb,0.11746e+04_rb /) kbo(:, 2,43,13) = (/ & & 0.10392e+04_rb,0.79483e+03_rb,0.60103e+03_rb,0.88703e+03_rb,0.11735e+04_rb /) kbo(:, 3,43,13) = (/ & & 0.10435e+04_rb,0.79279e+03_rb,0.60022e+03_rb,0.88570e+03_rb,0.11717e+04_rb /) kbo(:, 4,43,13) = (/ & & 0.10453e+04_rb,0.78261e+03_rb,0.59909e+03_rb,0.88405e+03_rb,0.11698e+04_rb /) kbo(:, 5,43,13) = (/ & & 0.10349e+04_rb,0.78239e+03_rb,0.59773e+03_rb,0.88200e+03_rb,0.11670e+04_rb /) kbo(:, 1,44,13) = (/ & & 0.10376e+04_rb,0.78973e+03_rb,0.60218e+03_rb,0.88797e+03_rb,0.11747e+04_rb /) kbo(:, 2,44,13) = (/ & & 0.10357e+04_rb,0.79073e+03_rb,0.60154e+03_rb,0.88738e+03_rb,0.11742e+04_rb /) kbo(:, 3,44,13) = (/ & & 0.10381e+04_rb,0.78584e+03_rb,0.60056e+03_rb,0.88619e+03_rb,0.11723e+04_rb /) kbo(:, 4,44,13) = (/ & & 0.10410e+04_rb,0.78726e+03_rb,0.59965e+03_rb,0.88464e+03_rb,0.11703e+04_rb /) kbo(:, 5,44,13) = (/ & & 0.10370e+04_rb,0.78461e+03_rb,0.59824e+03_rb,0.88299e+03_rb,0.11677e+04_rb /) kbo(:, 1,45,13) = (/ & & 0.10383e+04_rb,0.78177e+03_rb,0.60254e+03_rb,0.88799e+03_rb,0.11748e+04_rb /) kbo(:, 2,45,13) = (/ & & 0.10337e+04_rb,0.78400e+03_rb,0.60200e+03_rb,0.88790e+03_rb,0.11743e+04_rb /) kbo(:, 3,45,13) = (/ & & 0.10407e+04_rb,0.78928e+03_rb,0.60087e+03_rb,0.88664e+03_rb,0.11732e+04_rb /) kbo(:, 4,45,13) = (/ & & 0.10410e+04_rb,0.79578e+03_rb,0.59987e+03_rb,0.88519e+03_rb,0.11713e+04_rb /) kbo(:, 5,45,13) = (/ & & 0.10369e+04_rb,0.78337e+03_rb,0.59884e+03_rb,0.88344e+03_rb,0.11687e+04_rb /) kbo(:, 1,46,13) = (/ & & 0.10415e+04_rb,0.79090e+03_rb,0.60272e+03_rb,0.88805e+03_rb,0.11749e+04_rb /) kbo(:, 2,46,13) = (/ & & 0.10332e+04_rb,0.79374e+03_rb,0.60213e+03_rb,0.88788e+03_rb,0.11746e+04_rb /) kbo(:, 3,46,13) = (/ & & 0.10495e+04_rb,0.78743e+03_rb,0.60122e+03_rb,0.88707e+03_rb,0.11738e+04_rb /) kbo(:, 4,46,13) = (/ & & 0.10359e+04_rb,0.78275e+03_rb,0.60025e+03_rb,0.88575e+03_rb,0.11717e+04_rb /) kbo(:, 5,46,13) = (/ & & 0.10407e+04_rb,0.79210e+03_rb,0.59913e+03_rb,0.88411e+03_rb,0.11695e+04_rb /) kbo(:, 1,47,13) = (/ & & 0.10396e+04_rb,0.78478e+03_rb,0.60291e+03_rb,0.88833e+03_rb,0.11753e+04_rb /) kbo(:, 2,47,13) = (/ & & 0.10391e+04_rb,0.78254e+03_rb,0.60239e+03_rb,0.88798e+03_rb,0.11747e+04_rb /) kbo(:, 3,47,13) = (/ & & 0.10358e+04_rb,0.79087e+03_rb,0.60194e+03_rb,0.88748e+03_rb,0.11740e+04_rb /) kbo(:, 4,47,13) = (/ & & 0.10382e+04_rb,0.78212e+03_rb,0.60065e+03_rb,0.88632e+03_rb,0.11725e+04_rb /) kbo(:, 5,47,13) = (/ & & 0.10417e+04_rb,0.78639e+03_rb,0.59976e+03_rb,0.88480e+03_rb,0.11705e+04_rb /) kbo(:, 1,48,13) = (/ & & 0.10401e+04_rb,0.78456e+03_rb,0.60307e+03_rb,0.88865e+03_rb,0.11757e+04_rb /) kbo(:, 2,48,13) = (/ & & 0.10385e+04_rb,0.78639e+03_rb,0.60262e+03_rb,0.88799e+03_rb,0.11748e+04_rb /) kbo(:, 3,48,13) = (/ & & 0.10377e+04_rb,0.78374e+03_rb,0.60183e+03_rb,0.88778e+03_rb,0.11745e+04_rb /) kbo(:, 4,48,13) = (/ & & 0.10347e+04_rb,0.78455e+03_rb,0.60102e+03_rb,0.88707e+03_rb,0.11732e+04_rb /) kbo(:, 5,48,13) = (/ & & 0.10420e+04_rb,0.79085e+03_rb,0.60005e+03_rb,0.88545e+03_rb,0.11713e+04_rb /) kbo(:, 1,49,13) = (/ & & 0.10372e+04_rb,0.78740e+03_rb,0.60317e+03_rb,0.88862e+03_rb,0.11760e+04_rb /) kbo(:, 2,49,13) = (/ & & 0.10417e+04_rb,0.78862e+03_rb,0.60282e+03_rb,0.88818e+03_rb,0.11751e+04_rb /) kbo(:, 3,49,13) = (/ & & 0.10345e+04_rb,0.78780e+03_rb,0.60227e+03_rb,0.88818e+03_rb,0.11747e+04_rb /) kbo(:, 4,49,13) = (/ & & 0.10406e+04_rb,0.78617e+03_rb,0.60221e+03_rb,0.88729e+03_rb,0.11738e+04_rb /) kbo(:, 5,49,13) = (/ & & 0.10382e+04_rb,0.79023e+03_rb,0.60061e+03_rb,0.88605e+03_rb,0.11721e+04_rb /) kbo(:, 1,50,13) = (/ & & 0.10347e+04_rb,0.79207e+03_rb,0.60367e+03_rb,0.88900e+03_rb,0.11761e+04_rb /) kbo(:, 2,50,13) = (/ & & 0.10350e+04_rb,0.78739e+03_rb,0.60298e+03_rb,0.88872e+03_rb,0.11755e+04_rb /) kbo(:, 3,50,13) = (/ & & 0.10353e+04_rb,0.78433e+03_rb,0.60234e+03_rb,0.88799e+03_rb,0.11744e+04_rb /) kbo(:, 4,50,13) = (/ & & 0.10489e+04_rb,0.79267e+03_rb,0.60164e+03_rb,0.88763e+03_rb,0.11743e+04_rb /) kbo(:, 5,50,13) = (/ & & 0.10406e+04_rb,0.78514e+03_rb,0.60019e+03_rb,0.88656e+03_rb,0.11728e+04_rb /) kbo(:, 1,51,13) = (/ & & 0.10345e+04_rb,0.78799e+03_rb,0.60398e+03_rb,0.88932e+03_rb,0.11765e+04_rb /) kbo(:, 2,51,13) = (/ & & 0.10401e+04_rb,0.78697e+03_rb,0.60314e+03_rb,0.88874e+03_rb,0.11758e+04_rb /) kbo(:, 3,51,13) = (/ & & 0.10366e+04_rb,0.78656e+03_rb,0.60285e+03_rb,0.88803e+03_rb,0.11749e+04_rb /) kbo(:, 4,51,13) = (/ & & 0.10374e+04_rb,0.78473e+03_rb,0.60240e+03_rb,0.88809e+03_rb,0.11746e+04_rb /) kbo(:, 5,51,13) = (/ & & 0.10390e+04_rb,0.78920e+03_rb,0.60116e+03_rb,0.88701e+03_rb,0.11734e+04_rb /) kbo(:, 1,52,13) = (/ & & 0.10369e+04_rb,0.78758e+03_rb,0.60425e+03_rb,0.88974e+03_rb,0.11770e+04_rb /) kbo(:, 2,52,13) = (/ & & 0.10369e+04_rb,0.78229e+03_rb,0.60357e+03_rb,0.88889e+03_rb,0.11760e+04_rb /) kbo(:, 3,52,13) = (/ & & 0.10371e+04_rb,0.78737e+03_rb,0.60287e+03_rb,0.88826e+03_rb,0.11752e+04_rb /) kbo(:, 4,52,13) = (/ & & 0.10414e+04_rb,0.78574e+03_rb,0.60234e+03_rb,0.88797e+03_rb,0.11747e+04_rb /) kbo(:, 5,52,13) = (/ & & 0.10377e+04_rb,0.78696e+03_rb,0.60170e+03_rb,0.88739e+03_rb,0.11739e+04_rb /) kbo(:, 1,53,13) = (/ & & 0.10446e+04_rb,0.78533e+03_rb,0.60451e+03_rb,0.89022e+03_rb,0.11778e+04_rb /) kbo(:, 2,53,13) = (/ & & 0.10366e+04_rb,0.78675e+03_rb,0.60391e+03_rb,0.88907e+03_rb,0.11762e+04_rb /) kbo(:, 3,53,13) = (/ & & 0.10339e+04_rb,0.78472e+03_rb,0.60302e+03_rb,0.88857e+03_rb,0.11756e+04_rb /) kbo(:, 4,53,13) = (/ & & 0.10347e+04_rb,0.78858e+03_rb,0.60271e+03_rb,0.88799e+03_rb,0.11748e+04_rb /) kbo(:, 5,53,13) = (/ & & 0.10414e+04_rb,0.78370e+03_rb,0.60188e+03_rb,0.88770e+03_rb,0.11743e+04_rb /) kbo(:, 1,54,13) = (/ & & 0.10366e+04_rb,0.78980e+03_rb,0.60463e+03_rb,0.89072e+03_rb,0.11788e+04_rb /) kbo(:, 2,54,13) = (/ & & 0.10376e+04_rb,0.78289e+03_rb,0.60402e+03_rb,0.88939e+03_rb,0.11765e+04_rb /) kbo(:, 3,54,13) = (/ & & 0.10387e+04_rb,0.78695e+03_rb,0.60318e+03_rb,0.88877e+03_rb,0.11759e+04_rb /) kbo(:, 4,54,13) = (/ & & 0.10435e+04_rb,0.78370e+03_rb,0.60273e+03_rb,0.88806e+03_rb,0.11749e+04_rb /) kbo(:, 5,54,13) = (/ & & 0.10492e+04_rb,0.79000e+03_rb,0.60214e+03_rb,0.88789e+03_rb,0.11746e+04_rb /) kbo(:, 1,55,13) = (/ & & 0.10395e+04_rb,0.78654e+03_rb,0.60524e+03_rb,0.89136e+03_rb,0.11799e+04_rb /) kbo(:, 2,55,13) = (/ & & 0.10379e+04_rb,0.78553e+03_rb,0.60426e+03_rb,0.88977e+03_rb,0.11770e+04_rb /) kbo(:, 3,55,13) = (/ & & 0.10376e+04_rb,0.78959e+03_rb,0.60343e+03_rb,0.88890e+03_rb,0.11757e+04_rb /) kbo(:, 4,55,13) = (/ & & 0.10360e+04_rb,0.78634e+03_rb,0.60272e+03_rb,0.88828e+03_rb,0.11752e+04_rb /) kbo(:, 5,55,13) = (/ & & 0.10355e+04_rb,0.78796e+03_rb,0.60219e+03_rb,0.88821e+03_rb,0.11747e+04_rb /) kbo(:, 1,56,13) = (/ & & 0.10500e+04_rb,0.78471e+03_rb,0.60540e+03_rb,0.89210e+03_rb,0.11812e+04_rb /) kbo(:, 2,56,13) = (/ & & 0.10441e+04_rb,0.78735e+03_rb,0.60449e+03_rb,0.89019e+03_rb,0.11777e+04_rb /) kbo(:, 3,56,13) = (/ & & 0.10382e+04_rb,0.78755e+03_rb,0.60374e+03_rb,0.88905e+03_rb,0.11759e+04_rb /) kbo(:, 4,56,13) = (/ & & 0.10470e+04_rb,0.78715e+03_rb,0.60301e+03_rb,0.88855e+03_rb,0.11756e+04_rb /) kbo(:, 5,56,13) = (/ & & 0.10358e+04_rb,0.78674e+03_rb,0.60270e+03_rb,0.88799e+03_rb,0.11748e+04_rb /) kbo(:, 1,57,13) = (/ & & 0.10339e+04_rb,0.78715e+03_rb,0.60588e+03_rb,0.89295e+03_rb,0.11828e+04_rb /) kbo(:, 2,57,13) = (/ & & 0.10441e+04_rb,0.78267e+03_rb,0.60475e+03_rb,0.89065e+03_rb,0.11787e+04_rb /) kbo(:, 3,57,13) = (/ & & 0.10435e+04_rb,0.78938e+03_rb,0.60399e+03_rb,0.88934e+03_rb,0.11765e+04_rb /) kbo(:, 4,57,13) = (/ & & 0.10392e+04_rb,0.79203e+03_rb,0.60300e+03_rb,0.88875e+03_rb,0.11758e+04_rb /) kbo(:, 5,57,13) = (/ & & 0.10360e+04_rb,0.78491e+03_rb,0.60271e+03_rb,0.88827e+03_rb,0.11749e+04_rb /) kbo(:, 1,58,13) = (/ & & 0.10392e+04_rb,0.78430e+03_rb,0.60601e+03_rb,0.89398e+03_rb,0.11847e+04_rb /) kbo(:, 2,58,13) = (/ & & 0.10363e+04_rb,0.78694e+03_rb,0.60503e+03_rb,0.89124e+03_rb,0.11797e+04_rb /) kbo(:, 3,58,13) = (/ & & 0.10360e+04_rb,0.78084e+03_rb,0.60391e+03_rb,0.88970e+03_rb,0.11769e+04_rb /) kbo(:, 4,58,13) = (/ & & 0.10459e+04_rb,0.78267e+03_rb,0.60338e+03_rb,0.88888e+03_rb,0.11757e+04_rb /) kbo(:, 5,58,13) = (/ & & 0.10368e+04_rb,0.79101e+03_rb,0.60285e+03_rb,0.88823e+03_rb,0.11752e+04_rb /) kbo(:, 1,59,13) = (/ & & 0.10403e+04_rb,0.78613e+03_rb,0.60612e+03_rb,0.89444e+03_rb,0.11849e+04_rb /) kbo(:, 2,59,13) = (/ & & 0.10349e+04_rb,0.78531e+03_rb,0.60514e+03_rb,0.89150e+03_rb,0.11802e+04_rb /) kbo(:, 3,59,13) = (/ & & 0.10360e+04_rb,0.78470e+03_rb,0.60447e+03_rb,0.88985e+03_rb,0.11771e+04_rb /) kbo(:, 4,59,13) = (/ & & 0.10411e+04_rb,0.78531e+03_rb,0.60349e+03_rb,0.88892e+03_rb,0.11761e+04_rb /) kbo(:, 5,59,13) = (/ & & 0.10355e+04_rb,0.78795e+03_rb,0.60275e+03_rb,0.88833e+03_rb,0.11753e+04_rb /) kbo(:, 1,13,14) = (/ & & 0.12194e+04_rb,0.91192e+03_rb,0.60649e+03_rb,0.89289e+03_rb,0.11803e+04_rb /) kbo(:, 2,13,14) = (/ & & 0.11340e+04_rb,0.93388e+03_rb,0.60565e+03_rb,0.89163e+03_rb,0.11786e+04_rb /) kbo(:, 3,13,14) = (/ & & 0.11287e+04_rb,0.93154e+03_rb,0.60510e+03_rb,0.89077e+03_rb,0.11775e+04_rb /) kbo(:, 4,13,14) = (/ & & 0.11571e+04_rb,0.89198e+03_rb,0.60383e+03_rb,0.88977e+03_rb,0.11762e+04_rb /) kbo(:, 5,13,14) = (/ & & 0.11232e+04_rb,0.85932e+03_rb,0.60280e+03_rb,0.88865e+03_rb,0.11748e+04_rb /) kbo(:, 1,14,14) = (/ & & 0.11313e+04_rb,0.85574e+03_rb,0.60604e+03_rb,0.89259e+03_rb,0.11800e+04_rb /) kbo(:, 2,14,14) = (/ & & 0.11392e+04_rb,0.85278e+03_rb,0.60523e+03_rb,0.89143e+03_rb,0.11785e+04_rb /) kbo(:, 3,14,14) = (/ & & 0.11402e+04_rb,0.86846e+03_rb,0.60420e+03_rb,0.89055e+03_rb,0.11774e+04_rb /) kbo(:, 4,14,14) = (/ & & 0.11058e+04_rb,0.85128e+03_rb,0.60339e+03_rb,0.88920e+03_rb,0.11761e+04_rb /) kbo(:, 5,14,14) = (/ & & 0.11286e+04_rb,0.84325e+03_rb,0.60241e+03_rb,0.88842e+03_rb,0.11746e+04_rb /) kbo(:, 1,15,14) = (/ & & 0.11349e+04_rb,0.84417e+03_rb,0.60541e+03_rb,0.89231e+03_rb,0.11798e+04_rb /) kbo(:, 2,15,14) = (/ & & 0.11015e+04_rb,0.88045e+03_rb,0.60487e+03_rb,0.89125e+03_rb,0.11784e+04_rb /) kbo(:, 3,15,14) = (/ & & 0.11261e+04_rb,0.83776e+03_rb,0.60408e+03_rb,0.89034e+03_rb,0.11772e+04_rb /) kbo(:, 4,15,14) = (/ & & 0.10962e+04_rb,0.86597e+03_rb,0.60302e+03_rb,0.88937e+03_rb,0.11760e+04_rb /) kbo(:, 5,15,14) = (/ & & 0.10995e+04_rb,0.86095e+03_rb,0.60207e+03_rb,0.88855e+03_rb,0.11740e+04_rb /) kbo(:, 1,16,14) = (/ & & 0.11556e+04_rb,0.89943e+03_rb,0.60533e+03_rb,0.89241e+03_rb,0.11796e+04_rb /) kbo(:, 2,16,14) = (/ & & 0.10928e+04_rb,0.87845e+03_rb,0.60456e+03_rb,0.89108e+03_rb,0.11783e+04_rb /) kbo(:, 3,16,14) = (/ & & 0.11526e+04_rb,0.84568e+03_rb,0.60375e+03_rb,0.89014e+03_rb,0.11771e+04_rb /) kbo(:, 4,16,14) = (/ & & 0.11224e+04_rb,0.82958e+03_rb,0.60245e+03_rb,0.88919e+03_rb,0.11758e+04_rb /) kbo(:, 5,16,14) = (/ & & 0.11104e+04_rb,0.83492e+03_rb,0.60177e+03_rb,0.88796e+03_rb,0.11747e+04_rb /) kbo(:, 1,17,14) = (/ & & 0.11093e+04_rb,0.86391e+03_rb,0.60505e+03_rb,0.89183e+03_rb,0.11794e+04_rb /) kbo(:, 2,17,14) = (/ & & 0.10879e+04_rb,0.83992e+03_rb,0.60455e+03_rb,0.89093e+03_rb,0.11782e+04_rb /) kbo(:, 3,17,14) = (/ & & 0.11180e+04_rb,0.83675e+03_rb,0.60345e+03_rb,0.88997e+03_rb,0.11769e+04_rb /) kbo(:, 4,17,14) = (/ & & 0.11203e+04_rb,0.81299e+03_rb,0.60195e+03_rb,0.88902e+03_rb,0.11757e+04_rb /) kbo(:, 5,17,14) = (/ & & 0.10902e+04_rb,0.84755e+03_rb,0.60151e+03_rb,0.88739e+03_rb,0.11736e+04_rb /) kbo(:, 1,18,14) = (/ & & 0.10889e+04_rb,0.82171e+03_rb,0.60482e+03_rb,0.89199e+03_rb,0.11792e+04_rb /) kbo(:, 2,18,14) = (/ & & 0.10836e+04_rb,0.85518e+03_rb,0.60408e+03_rb,0.89079e+03_rb,0.11781e+04_rb /) kbo(:, 3,18,14) = (/ & & 0.10919e+04_rb,0.82437e+03_rb,0.60318e+03_rb,0.88981e+03_rb,0.11763e+04_rb /) kbo(:, 4,18,14) = (/ & & 0.11143e+04_rb,0.86811e+03_rb,0.60223e+03_rb,0.88886e+03_rb,0.11755e+04_rb /) kbo(:, 5,18,14) = (/ & & 0.10618e+04_rb,0.80694e+03_rb,0.60104e+03_rb,0.88718e+03_rb,0.11738e+04_rb /) kbo(:, 1,19,14) = (/ & & 0.10700e+04_rb,0.81179e+03_rb,0.60437e+03_rb,0.89145e+03_rb,0.11790e+04_rb /) kbo(:, 2,19,14) = (/ & & 0.11096e+04_rb,0.84185e+03_rb,0.60389e+03_rb,0.89066e+03_rb,0.11785e+04_rb /) kbo(:, 3,19,14) = (/ & & 0.10919e+04_rb,0.82575e+03_rb,0.60295e+03_rb,0.89004e+03_rb,0.11767e+04_rb /) kbo(:, 4,19,14) = (/ & & 0.10874e+04_rb,0.81974e+03_rb,0.60205e+03_rb,0.88835e+03_rb,0.11754e+04_rb /) kbo(:, 5,19,14) = (/ & & 0.11077e+04_rb,0.86723e+03_rb,0.60084e+03_rb,0.88734e+03_rb,0.11727e+04_rb /) kbo(:, 1,20,14) = (/ & & 0.10813e+04_rb,0.82037e+03_rb,0.60443e+03_rb,0.89128e+03_rb,0.11789e+04_rb /) kbo(:, 2,20,14) = (/ & & 0.10944e+04_rb,0.83718e+03_rb,0.60369e+03_rb,0.89052e+03_rb,0.11778e+04_rb /) kbo(:, 3,20,14) = (/ & & 0.10922e+04_rb,0.81527e+03_rb,0.60248e+03_rb,0.88953e+03_rb,0.11765e+04_rb /) kbo(:, 4,20,14) = (/ & & 0.10962e+04_rb,0.82815e+03_rb,0.60188e+03_rb,0.88854e+03_rb,0.11752e+04_rb /) kbo(:, 5,20,14) = (/ & & 0.10768e+04_rb,0.81150e+03_rb,0.60064e+03_rb,0.88711e+03_rb,0.11734e+04_rb /) kbo(:, 1,21,14) = (/ & & 0.10919e+04_rb,0.79941e+03_rb,0.60426e+03_rb,0.89114e+03_rb,0.11787e+04_rb /) kbo(:, 2,21,14) = (/ & & 0.10481e+04_rb,0.83111e+03_rb,0.60351e+03_rb,0.89037e+03_rb,0.11777e+04_rb /) kbo(:, 3,21,14) = (/ & & 0.10716e+04_rb,0.81475e+03_rb,0.60253e+03_rb,0.88975e+03_rb,0.11764e+04_rb /) kbo(:, 4,21,14) = (/ & & 0.11197e+04_rb,0.80344e+03_rb,0.60123e+03_rb,0.88837e+03_rb,0.11750e+04_rb /) kbo(:, 5,21,14) = (/ & & 0.10436e+04_rb,0.80977e+03_rb,0.60045e+03_rb,0.88688e+03_rb,0.11731e+04_rb /) kbo(:, 1,22,14) = (/ & & 0.11028e+04_rb,0.82019e+03_rb,0.60406e+03_rb,0.89099e+03_rb,0.11785e+04_rb /) kbo(:, 2,22,14) = (/ & & 0.10664e+04_rb,0.84127e+03_rb,0.60327e+03_rb,0.89089e+03_rb,0.11775e+04_rb /) kbo(:, 3,22,14) = (/ & & 0.10764e+04_rb,0.83101e+03_rb,0.60182e+03_rb,0.88920e+03_rb,0.11762e+04_rb /) kbo(:, 4,22,14) = (/ & & 0.10955e+04_rb,0.82928e+03_rb,0.60175e+03_rb,0.88811e+03_rb,0.11747e+04_rb /) kbo(:, 5,22,14) = (/ & & 0.10429e+04_rb,0.82150e+03_rb,0.60042e+03_rb,0.88653e+03_rb,0.11726e+04_rb /) kbo(:, 1,23,14) = (/ & & 0.10449e+04_rb,0.79677e+03_rb,0.60363e+03_rb,0.89084e+03_rb,0.11784e+04_rb /) kbo(:, 2,23,14) = (/ & & 0.10443e+04_rb,0.81477e+03_rb,0.60352e+03_rb,0.88994e+03_rb,0.11772e+04_rb /) kbo(:, 3,23,14) = (/ & & 0.10490e+04_rb,0.84026e+03_rb,0.60112e+03_rb,0.88900e+03_rb,0.11759e+04_rb /) kbo(:, 4,23,14) = (/ & & 0.10652e+04_rb,0.80737e+03_rb,0.60128e+03_rb,0.88783e+03_rb,0.11744e+04_rb /) kbo(:, 5,23,14) = (/ & & 0.10777e+04_rb,0.80975e+03_rb,0.60014e+03_rb,0.88615e+03_rb,0.11722e+04_rb /) kbo(:, 1,24,14) = (/ & & 0.10587e+04_rb,0.83370e+03_rb,0.60369e+03_rb,0.89067e+03_rb,0.11782e+04_rb /) kbo(:, 2,24,14) = (/ & & 0.10413e+04_rb,0.79049e+03_rb,0.60278e+03_rb,0.88972e+03_rb,0.11769e+04_rb /) kbo(:, 3,24,14) = (/ & & 0.10508e+04_rb,0.83928e+03_rb,0.60192e+03_rb,0.88879e+03_rb,0.11757e+04_rb /) kbo(:, 4,24,14) = (/ & & 0.10667e+04_rb,0.80304e+03_rb,0.60105e+03_rb,0.88752e+03_rb,0.11740e+04_rb /) kbo(:, 5,24,14) = (/ & & 0.10776e+04_rb,0.78685e+03_rb,0.59985e+03_rb,0.88574e+03_rb,0.11716e+04_rb /) kbo(:, 1,25,14) = (/ & & 0.10559e+04_rb,0.78648e+03_rb,0.60348e+03_rb,0.89048e+03_rb,0.11779e+04_rb /) kbo(:, 2,25,14) = (/ & & 0.10600e+04_rb,0.81980e+03_rb,0.60253e+03_rb,0.88951e+03_rb,0.11766e+04_rb /) kbo(:, 3,25,14) = (/ & & 0.10484e+04_rb,0.79331e+03_rb,0.60149e+03_rb,0.88854e+03_rb,0.11754e+04_rb /) kbo(:, 4,25,14) = (/ & & 0.11000e+04_rb,0.80548e+03_rb,0.60080e+03_rb,0.88717e+03_rb,0.11735e+04_rb /) kbo(:, 5,25,14) = (/ & & 0.11165e+04_rb,0.79968e+03_rb,0.59952e+03_rb,0.88528e+03_rb,0.11711e+04_rb /) kbo(:, 1,26,14) = (/ & & 0.10604e+04_rb,0.79570e+03_rb,0.60325e+03_rb,0.89026e+03_rb,0.11777e+04_rb /) kbo(:, 2,26,14) = (/ & & 0.10870e+04_rb,0.78311e+03_rb,0.60230e+03_rb,0.88929e+03_rb,0.11764e+04_rb /) kbo(:, 3,26,14) = (/ & & 0.10476e+04_rb,0.79338e+03_rb,0.60128e+03_rb,0.88826e+03_rb,0.11750e+04_rb /) kbo(:, 4,26,14) = (/ & & 0.10459e+04_rb,0.80175e+03_rb,0.60027e+03_rb,0.88677e+03_rb,0.11730e+04_rb /) kbo(:, 5,26,14) = (/ & & 0.10485e+04_rb,0.81112e+03_rb,0.59892e+03_rb,0.88476e+03_rb,0.11704e+04_rb /) kbo(:, 1,27,14) = (/ & & 0.10458e+04_rb,0.79457e+03_rb,0.60301e+03_rb,0.89001e+03_rb,0.11773e+04_rb /) kbo(:, 2,27,14) = (/ & & 0.10576e+04_rb,0.79170e+03_rb,0.60208e+03_rb,0.88906e+03_rb,0.11761e+04_rb /) kbo(:, 3,27,14) = (/ & & 0.10632e+04_rb,0.79464e+03_rb,0.60130e+03_rb,0.88794e+03_rb,0.11741e+04_rb /) kbo(:, 4,27,14) = (/ & & 0.10506e+04_rb,0.80916e+03_rb,0.60021e+03_rb,0.88633e+03_rb,0.11725e+04_rb /) kbo(:, 5,27,14) = (/ & & 0.10406e+04_rb,0.79035e+03_rb,0.59878e+03_rb,0.88422e+03_rb,0.11697e+04_rb /) kbo(:, 1,28,14) = (/ & & 0.10390e+04_rb,0.79142e+03_rb,0.60274e+03_rb,0.88940e+03_rb,0.11770e+04_rb /) kbo(:, 2,28,14) = (/ & & 0.10793e+04_rb,0.84664e+03_rb,0.60165e+03_rb,0.88883e+03_rb,0.11758e+04_rb /) kbo(:, 3,28,14) = (/ & & 0.10389e+04_rb,0.81244e+03_rb,0.60106e+03_rb,0.88760e+03_rb,0.11741e+04_rb /) kbo(:, 4,28,14) = (/ & & 0.10910e+04_rb,0.82250e+03_rb,0.59988e+03_rb,0.88586e+03_rb,0.11718e+04_rb /) kbo(:, 5,28,14) = (/ & & 0.10984e+04_rb,0.79766e+03_rb,0.59863e+03_rb,0.88510e+03_rb,0.11689e+04_rb /) kbo(:, 1,29,14) = (/ & & 0.10453e+04_rb,0.79421e+03_rb,0.60249e+03_rb,0.88988e+03_rb,0.11767e+04_rb /) kbo(:, 2,29,14) = (/ & & 0.10759e+04_rb,0.85231e+03_rb,0.59780e+03_rb,0.88856e+03_rb,0.11754e+04_rb /) kbo(:, 3,29,14) = (/ & & 0.10355e+04_rb,0.83260e+03_rb,0.60079e+03_rb,0.88721e+03_rb,0.11736e+04_rb /) kbo(:, 4,29,14) = (/ & & 0.10260e+04_rb,0.78313e+03_rb,0.59953e+03_rb,0.88535e+03_rb,0.11712e+04_rb /) kbo(:, 5,29,14) = (/ & & 0.10495e+04_rb,0.79101e+03_rb,0.59751e+03_rb,0.88309e+03_rb,0.11682e+04_rb /) kbo(:, 1,30,14) = (/ & & 0.10479e+04_rb,0.78753e+03_rb,0.60225e+03_rb,0.88928e+03_rb,0.11764e+04_rb /) kbo(:, 2,30,14) = (/ & & 0.10451e+04_rb,0.80563e+03_rb,0.60150e+03_rb,0.88827e+03_rb,0.11750e+04_rb /) kbo(:, 3,30,14) = (/ & & 0.10758e+04_rb,0.79525e+03_rb,0.60050e+03_rb,0.88643e+03_rb,0.11731e+04_rb /) kbo(:, 4,30,14) = (/ & & 0.10781e+04_rb,0.79929e+03_rb,0.59916e+03_rb,0.88480e+03_rb,0.11705e+04_rb /) kbo(:, 5,30,14) = (/ & & 0.10459e+04_rb,0.81358e+03_rb,0.59790e+03_rb,0.88220e+03_rb,0.11665e+04_rb /) kbo(:, 1,31,14) = (/ & & 0.10607e+04_rb,0.80146e+03_rb,0.60204e+03_rb,0.88905e+03_rb,0.11761e+04_rb /) kbo(:, 2,31,14) = (/ & & 0.10395e+04_rb,0.78822e+03_rb,0.60127e+03_rb,0.88793e+03_rb,0.11746e+04_rb /) kbo(:, 3,31,14) = (/ & & 0.10321e+04_rb,0.80923e+03_rb,0.60018e+03_rb,0.88632e+03_rb,0.11725e+04_rb /) kbo(:, 4,31,14) = (/ & & 0.11042e+04_rb,0.80049e+03_rb,0.59875e+03_rb,0.88457e+03_rb,0.11697e+04_rb /) kbo(:, 5,31,14) = (/ & & 0.10581e+04_rb,0.80105e+03_rb,0.59750e+03_rb,0.88200e+03_rb,0.11672e+04_rb /) kbo(:, 1,32,14) = (/ & & 0.10889e+04_rb,0.84488e+03_rb,0.59867e+03_rb,0.88880e+03_rb,0.11757e+04_rb /) kbo(:, 2,32,14) = (/ & & 0.10428e+04_rb,0.79586e+03_rb,0.60101e+03_rb,0.88756e+03_rb,0.11741e+04_rb /) kbo(:, 3,32,14) = (/ & & 0.10671e+04_rb,0.82487e+03_rb,0.59984e+03_rb,0.88582e+03_rb,0.11718e+04_rb /) kbo(:, 4,32,14) = (/ & & 0.10426e+04_rb,0.83726e+03_rb,0.59809e+03_rb,0.88469e+03_rb,0.11694e+04_rb /) kbo(:, 5,32,14) = (/ & & 0.10522e+04_rb,0.80937e+03_rb,0.59684e+03_rb,0.88175e+03_rb,0.11659e+04_rb /) kbo(:, 1,33,14) = (/ & & 0.10391e+04_rb,0.79980e+03_rb,0.60166e+03_rb,0.88852e+03_rb,0.11754e+04_rb /) kbo(:, 2,33,14) = (/ & & 0.10719e+04_rb,0.78917e+03_rb,0.60073e+03_rb,0.88751e+03_rb,0.11736e+04_rb /) kbo(:, 3,33,14) = (/ & & 0.10389e+04_rb,0.82235e+03_rb,0.59947e+03_rb,0.88564e+03_rb,0.11706e+04_rb /) kbo(:, 4,33,14) = (/ & & 0.10819e+04_rb,0.81877e+03_rb,0.59794e+03_rb,0.88337e+03_rb,0.11676e+04_rb /) kbo(:, 5,33,14) = (/ & & 0.10266e+04_rb,0.78772e+03_rb,0.59642e+03_rb,0.88112e+03_rb,0.11651e+04_rb /) kbo(:, 1,34,14) = (/ & & 0.10675e+04_rb,0.78932e+03_rb,0.60147e+03_rb,0.88789e+03_rb,0.11750e+04_rb /) kbo(:, 2,34,14) = (/ & & 0.10375e+04_rb,0.79310e+03_rb,0.60047e+03_rb,0.88677e+03_rb,0.11731e+04_rb /) kbo(:, 3,34,14) = (/ & & 0.10378e+04_rb,0.82372e+03_rb,0.59913e+03_rb,0.88478e+03_rb,0.11704e+04_rb /) kbo(:, 4,34,14) = (/ & & 0.10677e+04_rb,0.78757e+03_rb,0.59836e+03_rb,0.88254e+03_rb,0.11660e+04_rb /) kbo(:, 5,34,14) = (/ & & 0.10419e+04_rb,0.77666e+03_rb,0.59604e+03_rb,0.87984e+03_rb,0.11644e+04_rb /) kbo(:, 1,35,14) = (/ & & 0.10613e+04_rb,0.80031e+03_rb,0.60136e+03_rb,0.88808e+03_rb,0.11748e+04_rb /) kbo(:, 2,35,14) = (/ & & 0.11118e+04_rb,0.80250e+03_rb,0.60031e+03_rb,0.88654e+03_rb,0.11732e+04_rb /) kbo(:, 3,35,14) = (/ & & 0.10759e+04_rb,0.83185e+03_rb,0.59892e+03_rb,0.88448e+03_rb,0.11701e+04_rb /) kbo(:, 4,35,14) = (/ & & 0.11049e+04_rb,0.77622e+03_rb,0.59743e+03_rb,0.88477e+03_rb,0.11680e+04_rb /) kbo(:, 5,35,14) = (/ & & 0.10459e+04_rb,0.78322e+03_rb,0.59581e+03_rb,0.87986e+03_rb,0.11634e+04_rb /) kbo(:, 1,36,14) = (/ & & 0.10396e+04_rb,0.79026e+03_rb,0.60134e+03_rb,0.88805e+03_rb,0.11748e+04_rb /) kbo(:, 2,36,14) = (/ & & 0.10471e+04_rb,0.80778e+03_rb,0.60028e+03_rb,0.88614e+03_rb,0.11727e+04_rb /) kbo(:, 3,36,14) = (/ & & 0.10450e+04_rb,0.79912e+03_rb,0.59889e+03_rb,0.88407e+03_rb,0.11700e+04_rb /) kbo(:, 4,36,14) = (/ & & 0.10626e+04_rb,0.80803e+03_rb,0.59740e+03_rb,0.88257e+03_rb,0.11756e+04_rb /) kbo(:, 5,36,14) = (/ & & 0.10609e+04_rb,0.81056e+03_rb,0.59577e+03_rb,0.87981e+03_rb,0.11634e+04_rb /) kbo(:, 1,37,14) = (/ & & 0.10479e+04_rb,0.79014e+03_rb,0.60145e+03_rb,0.88822e+03_rb,0.11750e+04_rb /) kbo(:, 2,37,14) = (/ & & 0.10744e+04_rb,0.81437e+03_rb,0.60044e+03_rb,0.88637e+03_rb,0.11730e+04_rb /) kbo(:, 3,37,14) = (/ & & 0.10335e+04_rb,0.79550e+03_rb,0.59909e+03_rb,0.88473e+03_rb,0.11704e+04_rb /) kbo(:, 4,37,14) = (/ & & 0.10410e+04_rb,0.77504e+03_rb,0.59808e+03_rb,0.88321e+03_rb,0.11674e+04_rb /) kbo(:, 5,37,14) = (/ & & 0.10557e+04_rb,0.79226e+03_rb,0.59599e+03_rb,0.88014e+03_rb,0.11643e+04_rb /) kbo(:, 1,38,14) = (/ & & 0.10418e+04_rb,0.80249e+03_rb,0.60156e+03_rb,0.88838e+03_rb,0.11752e+04_rb /) kbo(:, 2,38,14) = (/ & & 0.10220e+04_rb,0.82577e+03_rb,0.60060e+03_rb,0.88697e+03_rb,0.11733e+04_rb /) kbo(:, 3,38,14) = (/ & & 0.10502e+04_rb,0.80915e+03_rb,0.59929e+03_rb,0.88503e+03_rb,0.11708e+04_rb /) kbo(:, 4,38,14) = (/ & & 0.10497e+04_rb,0.81774e+03_rb,0.59826e+03_rb,0.88277e+03_rb,0.11673e+04_rb /) kbo(:, 5,38,14) = (/ & & 0.10771e+04_rb,0.81134e+03_rb,0.59623e+03_rb,0.88049e+03_rb,0.11648e+04_rb /) kbo(:, 1,39,14) = (/ & & 0.10165e+04_rb,0.77782e+03_rb,0.60118e+03_rb,0.88854e+03_rb,0.11754e+04_rb /) kbo(:, 2,39,14) = (/ & & 0.10531e+04_rb,0.80302e+03_rb,0.60075e+03_rb,0.88719e+03_rb,0.11736e+04_rb /) kbo(:, 3,39,14) = (/ & & 0.10758e+04_rb,0.78257e+03_rb,0.59949e+03_rb,0.88533e+03_rb,0.11712e+04_rb /) kbo(:, 4,39,14) = (/ & & 0.10568e+04_rb,0.79852e+03_rb,0.59772e+03_rb,0.88307e+03_rb,0.11677e+04_rb /) kbo(:, 5,39,14) = (/ & & 0.11120e+04_rb,0.79275e+03_rb,0.59645e+03_rb,0.88083e+03_rb,0.11652e+04_rb /) kbo(:, 1,40,14) = (/ & & 0.10416e+04_rb,0.79660e+03_rb,0.59890e+03_rb,0.88879e+03_rb,0.11758e+04_rb /) kbo(:, 2,40,14) = (/ & & 0.10391e+04_rb,0.79051e+03_rb,0.60100e+03_rb,0.88756e+03_rb,0.11741e+04_rb /) kbo(:, 3,40,14) = (/ & & 0.10420e+04_rb,0.78155e+03_rb,0.59983e+03_rb,0.88583e+03_rb,0.11718e+04_rb /) kbo(:, 4,40,14) = (/ & & 0.10496e+04_rb,0.79527e+03_rb,0.59833e+03_rb,0.88434e+03_rb,0.11689e+04_rb /) kbo(:, 5,40,14) = (/ & & 0.10264e+04_rb,0.78919e+03_rb,0.59684e+03_rb,0.88140e+03_rb,0.11660e+04_rb /) kbo(:, 1,41,14) = (/ & & 0.10689e+04_rb,0.80516e+03_rb,0.60103e+03_rb,0.88904e+03_rb,0.11761e+04_rb /) kbo(:, 2,41,14) = (/ & & 0.10416e+04_rb,0.82239e+03_rb,0.60124e+03_rb,0.88792e+03_rb,0.11746e+04_rb /) kbo(:, 3,41,14) = (/ & & 0.10563e+04_rb,0.81535e+03_rb,0.60016e+03_rb,0.88632e+03_rb,0.11725e+04_rb /) kbo(:, 4,41,14) = (/ & & 0.10676e+04_rb,0.82044e+03_rb,0.59873e+03_rb,0.88421e+03_rb,0.11697e+04_rb /) kbo(:, 5,41,14) = (/ & & 0.10596e+04_rb,0.78372e+03_rb,0.59724e+03_rb,0.88164e+03_rb,0.11672e+04_rb /) kbo(:, 1,42,14) = (/ & & 0.10655e+04_rb,0.80320e+03_rb,0.60196e+03_rb,0.88927e+03_rb,0.11764e+04_rb /) kbo(:, 2,42,14) = (/ & & 0.10714e+04_rb,0.78435e+03_rb,0.60147e+03_rb,0.88825e+03_rb,0.11750e+04_rb /) kbo(:, 3,42,14) = (/ & & 0.10516e+04_rb,0.79392e+03_rb,0.60071e+03_rb,0.88678e+03_rb,0.11731e+04_rb /) kbo(:, 4,42,14) = (/ & & 0.10516e+04_rb,0.77763e+03_rb,0.59913e+03_rb,0.88479e+03_rb,0.11700e+04_rb /) kbo(:, 5,42,14) = (/ & & 0.10486e+04_rb,0.79390e+03_rb,0.59811e+03_rb,0.88255e+03_rb,0.11641e+04_rb /) kbo(:, 1,43,14) = (/ & & 0.10979e+04_rb,0.83796e+03_rb,0.60248e+03_rb,0.88955e+03_rb,0.11768e+04_rb /) kbo(:, 2,43,14) = (/ & & 0.11147e+04_rb,0.76548e+03_rb,0.60171e+03_rb,0.88861e+03_rb,0.11750e+04_rb /) kbo(:, 3,43,14) = (/ & & 0.10326e+04_rb,0.79357e+03_rb,0.60081e+03_rb,0.88729e+03_rb,0.11738e+04_rb /) kbo(:, 4,43,14) = (/ & & 0.10439e+04_rb,0.86155e+03_rb,0.59958e+03_rb,0.88546e+03_rb,0.11709e+04_rb /) kbo(:, 5,43,14) = (/ & & 0.10945e+04_rb,0.81749e+03_rb,0.59781e+03_rb,0.88321e+03_rb,0.11679e+04_rb /) kbo(:, 1,44,14) = (/ & & 0.10684e+04_rb,0.83027e+03_rb,0.60306e+03_rb,0.88988e+03_rb,0.11772e+04_rb /) kbo(:, 2,44,14) = (/ & & 0.10549e+04_rb,0.78589e+03_rb,0.60194e+03_rb,0.88895e+03_rb,0.11755e+04_rb /) kbo(:, 3,44,14) = (/ & & 0.10654e+04_rb,0.79705e+03_rb,0.60140e+03_rb,0.88779e+03_rb,0.11744e+04_rb /) kbo(:, 4,44,14) = (/ & & 0.10595e+04_rb,0.79130e+03_rb,0.59979e+03_rb,0.88614e+03_rb,0.11722e+04_rb /) kbo(:, 5,44,14) = (/ & & 0.10477e+04_rb,0.80597e+03_rb,0.59858e+03_rb,0.88363e+03_rb,0.11704e+04_rb /) kbo(:, 1,45,14) = (/ & & 0.10873e+04_rb,0.79417e+03_rb,0.60313e+03_rb,0.89023e+03_rb,0.11777e+04_rb /) kbo(:, 2,45,14) = (/ & & 0.10616e+04_rb,0.78299e+03_rb,0.60195e+03_rb,0.88889e+03_rb,0.11764e+04_rb /) kbo(:, 3,45,14) = (/ & & 0.10452e+04_rb,0.80979e+03_rb,0.60145e+03_rb,0.88823e+03_rb,0.11745e+04_rb /) kbo(:, 4,45,14) = (/ & & 0.10957e+04_rb,0.80372e+03_rb,0.60045e+03_rb,0.88675e+03_rb,0.11726e+04_rb /) kbo(:, 5,45,14) = (/ & & 0.10725e+04_rb,0.79223e+03_rb,0.59886e+03_rb,0.88476e+03_rb,0.11704e+04_rb /) kbo(:, 1,46,14) = (/ & & 0.10477e+04_rb,0.79958e+03_rb,0.60344e+03_rb,0.89054e+03_rb,0.11781e+04_rb /) kbo(:, 2,46,14) = (/ & & 0.10873e+04_rb,0.80021e+03_rb,0.60251e+03_rb,0.88958e+03_rb,0.11768e+04_rb /) kbo(:, 3,46,14) = (/ & & 0.10228e+04_rb,0.78903e+03_rb,0.60173e+03_rb,0.88864e+03_rb,0.11751e+04_rb /) kbo(:, 4,46,14) = (/ & & 0.10295e+04_rb,0.83052e+03_rb,0.60085e+03_rb,0.88734e+03_rb,0.11738e+04_rb /) kbo(:, 5,46,14) = (/ & & 0.10527e+04_rb,0.80434e+03_rb,0.59963e+03_rb,0.88553e+03_rb,0.11714e+04_rb /) kbo(:, 1,47,14) = (/ & & 0.10317e+04_rb,0.78934e+03_rb,0.60373e+03_rb,0.89119e+03_rb,0.11785e+04_rb /) kbo(:, 2,47,14) = (/ & & 0.10325e+04_rb,0.79125e+03_rb,0.60291e+03_rb,0.88999e+03_rb,0.11778e+04_rb /) kbo(:, 3,47,14) = (/ & & 0.10417e+04_rb,0.79891e+03_rb,0.60152e+03_rb,0.88904e+03_rb,0.11761e+04_rb /) kbo(:, 4,47,14) = (/ & & 0.10561e+04_rb,0.78901e+03_rb,0.60124e+03_rb,0.88793e+03_rb,0.11746e+04_rb /) kbo(:, 5,47,14) = (/ & & 0.10468e+04_rb,0.79347e+03_rb,0.59991e+03_rb,0.88632e+03_rb,0.11725e+04_rb /) kbo(:, 1,48,14) = (/ & & 0.10540e+04_rb,0.78901e+03_rb,0.60401e+03_rb,0.89113e+03_rb,0.11789e+04_rb /) kbo(:, 2,48,14) = (/ & & 0.10320e+04_rb,0.80975e+03_rb,0.60327e+03_rb,0.89037e+03_rb,0.11779e+04_rb /) kbo(:, 3,48,14) = (/ & & 0.10535e+04_rb,0.79283e+03_rb,0.60233e+03_rb,0.88940e+03_rb,0.11766e+04_rb /) kbo(:, 4,48,14) = (/ & & 0.10485e+04_rb,0.81102e+03_rb,0.60158e+03_rb,0.88807e+03_rb,0.11753e+04_rb /) kbo(:, 5,48,14) = (/ & & 0.10337e+04_rb,0.82793e+03_rb,0.60064e+03_rb,0.88703e+03_rb,0.11734e+04_rb /) kbo(:, 1,49,14) = (/ & & 0.10304e+04_rb,0.83177e+03_rb,0.60454e+03_rb,0.89164e+03_rb,0.11796e+04_rb /) kbo(:, 2,49,14) = (/ & & 0.10417e+04_rb,0.78580e+03_rb,0.60359e+03_rb,0.89069e+03_rb,0.11783e+04_rb /) kbo(:, 3,49,14) = (/ & & 0.10725e+04_rb,0.82186e+03_rb,0.60271e+03_rb,0.88942e+03_rb,0.11771e+04_rb /) kbo(:, 4,49,14) = (/ & & 0.10362e+04_rb,0.80207e+03_rb,0.60065e+03_rb,0.88885e+03_rb,0.11758e+04_rb /) kbo(:, 5,49,14) = (/ & & 0.10383e+04_rb,0.79856e+03_rb,0.60081e+03_rb,0.88765e+03_rb,0.11743e+04_rb /) kbo(:, 1,50,14) = (/ & & 0.10581e+04_rb,0.78356e+03_rb,0.60457e+03_rb,0.89226e+03_rb,0.11805e+04_rb /) kbo(:, 2,50,14) = (/ & & 0.10447e+04_rb,0.80207e+03_rb,0.60385e+03_rb,0.89058e+03_rb,0.11786e+04_rb /) kbo(:, 3,50,14) = (/ & & 0.10788e+04_rb,0.82154e+03_rb,0.60308e+03_rb,0.89017e+03_rb,0.11776e+04_rb /) kbo(:, 4,50,14) = (/ & & 0.10695e+04_rb,0.79696e+03_rb,0.60214e+03_rb,0.88920e+03_rb,0.11763e+04_rb /) kbo(:, 5,50,14) = (/ & & 0.10859e+04_rb,0.79983e+03_rb,0.60140e+03_rb,0.88816e+03_rb,0.11749e+04_rb /) kbo(:, 1,51,14) = (/ & & 0.10459e+04_rb,0.79632e+03_rb,0.60498e+03_rb,0.89284e+03_rb,0.11812e+04_rb /) kbo(:, 2,51,14) = (/ & & 0.10371e+04_rb,0.78419e+03_rb,0.60411e+03_rb,0.89166e+03_rb,0.11796e+04_rb /) kbo(:, 3,51,14) = (/ & & 0.10657e+04_rb,0.82185e+03_rb,0.60315e+03_rb,0.89049e+03_rb,0.11780e+04_rb /) kbo(:, 4,51,14) = (/ & & 0.10396e+04_rb,0.78418e+03_rb,0.60197e+03_rb,0.88917e+03_rb,0.11768e+04_rb /) kbo(:, 5,51,14) = (/ & & 0.10354e+04_rb,0.78290e+03_rb,0.60169e+03_rb,0.88859e+03_rb,0.11755e+04_rb /) kbo(:, 1,52,14) = (/ & & 0.10434e+04_rb,0.78546e+03_rb,0.60574e+03_rb,0.89370e+03_rb,0.11824e+04_rb /) kbo(:, 2,52,14) = (/ & & 0.10665e+04_rb,0.78610e+03_rb,0.60413e+03_rb,0.89180e+03_rb,0.11798e+04_rb /) kbo(:, 3,52,14) = (/ & & 0.10821e+04_rb,0.78641e+03_rb,0.60367e+03_rb,0.89113e+03_rb,0.11784e+04_rb /) kbo(:, 4,52,14) = (/ & & 0.10514e+04_rb,0.79279e+03_rb,0.60282e+03_rb,0.88989e+03_rb,0.11772e+04_rb /) kbo(:, 5,52,14) = (/ & & 0.10408e+04_rb,0.77939e+03_rb,0.60170e+03_rb,0.88895e+03_rb,0.11760e+04_rb /) kbo(:, 1,53,14) = (/ & & 0.10497e+04_rb,0.80875e+03_rb,0.60601e+03_rb,0.89382e+03_rb,0.11825e+04_rb /) kbo(:, 2,53,14) = (/ & & 0.10514e+04_rb,0.81226e+03_rb,0.60441e+03_rb,0.89243e+03_rb,0.11807e+04_rb /) kbo(:, 3,53,14) = (/ & & 0.11137e+04_rb,0.80237e+03_rb,0.60392e+03_rb,0.89101e+03_rb,0.11787e+04_rb /) kbo(:, 4,53,14) = (/ & & 0.10661e+04_rb,0.79885e+03_rb,0.60292e+03_rb,0.89026e+03_rb,0.11777e+04_rb /) kbo(:, 5,53,14) = (/ & & 0.10324e+04_rb,0.82343e+03_rb,0.60222e+03_rb,0.88929e+03_rb,0.11764e+04_rb /) kbo(:, 1,54,14) = (/ & & 0.10594e+04_rb,0.86492e+03_rb,0.60646e+03_rb,0.89428e+03_rb,0.11831e+04_rb /) kbo(:, 2,54,14) = (/ & & 0.10303e+04_rb,0.85949e+03_rb,0.60506e+03_rb,0.89294e+03_rb,0.11813e+04_rb /) kbo(:, 3,54,14) = (/ & & 0.10905e+04_rb,0.84800e+03_rb,0.60416e+03_rb,0.89138e+03_rb,0.11793e+04_rb /) kbo(:, 4,54,14) = (/ & & 0.10438e+04_rb,0.78736e+03_rb,0.60344e+03_rb,0.89055e+03_rb,0.11781e+04_rb /) kbo(:, 5,54,14) = (/ & & 0.10324e+04_rb,0.83619e+03_rb,0.60252e+03_rb,0.88959e+03_rb,0.11768e+04_rb /) kbo(:, 1,55,14) = (/ & & 0.10463e+04_rb,0.78385e+03_rb,0.60663e+03_rb,0.89475e+03_rb,0.11838e+04_rb /) kbo(:, 2,55,14) = (/ & & 0.10543e+04_rb,0.79119e+03_rb,0.60552e+03_rb,0.89337e+03_rb,0.11824e+04_rb /) kbo(:, 3,55,14) = (/ & & 0.10391e+04_rb,0.80395e+03_rb,0.60439e+03_rb,0.89183e+03_rb,0.11799e+04_rb /) kbo(:, 4,55,14) = (/ & & 0.10421e+04_rb,0.79916e+03_rb,0.60368e+03_rb,0.89078e+03_rb,0.11784e+04_rb /) kbo(:, 5,55,14) = (/ & & 0.10909e+04_rb,0.78448e+03_rb,0.60284e+03_rb,0.88955e+03_rb,0.11777e+04_rb /) kbo(:, 1,56,14) = (/ & & 0.10143e+04_rb,0.81481e+03_rb,0.60727e+03_rb,0.89531e+03_rb,0.11848e+04_rb /) kbo(:, 2,56,14) = (/ & & 0.10240e+04_rb,0.81034e+03_rb,0.60598e+03_rb,0.89378e+03_rb,0.11825e+04_rb /) kbo(:, 3,56,14) = (/ & & 0.10324e+04_rb,0.78927e+03_rb,0.60463e+03_rb,0.89238e+03_rb,0.11806e+04_rb /) kbo(:, 4,56,14) = (/ & & 0.10273e+04_rb,0.78959e+03_rb,0.60390e+03_rb,0.89099e+03_rb,0.11787e+04_rb /) kbo(:, 5,56,14) = (/ & & 0.10404e+04_rb,0.80937e+03_rb,0.60290e+03_rb,0.89024e+03_rb,0.11777e+04_rb /) kbo(:, 1,57,14) = (/ & & 0.10408e+04_rb,0.79150e+03_rb,0.60742e+03_rb,0.89593e+03_rb,0.11860e+04_rb /) kbo(:, 2,57,14) = (/ & & 0.10640e+04_rb,0.82150e+03_rb,0.60641e+03_rb,0.89422e+03_rb,0.11831e+04_rb /) kbo(:, 3,57,14) = (/ & & 0.10551e+04_rb,0.79661e+03_rb,0.60501e+03_rb,0.89288e+03_rb,0.11813e+04_rb /) kbo(:, 4,57,14) = (/ & & 0.10817e+04_rb,0.79118e+03_rb,0.60413e+03_rb,0.89133e+03_rb,0.11792e+04_rb /) kbo(:, 5,57,14) = (/ & & 0.10370e+04_rb,0.79629e+03_rb,0.60341e+03_rb,0.89015e+03_rb,0.11781e+04_rb /) kbo(:, 1,58,14) = (/ & & 0.10442e+04_rb,0.84033e+03_rb,0.60809e+03_rb,0.89672e+03_rb,0.11869e+04_rb /) kbo(:, 2,58,14) = (/ & & 0.10934e+04_rb,0.79820e+03_rb,0.60680e+03_rb,0.89466e+03_rb,0.11837e+04_rb /) kbo(:, 3,58,14) = (/ & & 0.10657e+04_rb,0.80043e+03_rb,0.60544e+03_rb,0.89329e+03_rb,0.11818e+04_rb /) kbo(:, 4,58,14) = (/ & & 0.10223e+04_rb,0.78480e+03_rb,0.60435e+03_rb,0.89175e+03_rb,0.11798e+04_rb /) kbo(:, 5,58,14) = (/ & & 0.10438e+04_rb,0.81735e+03_rb,0.60364e+03_rb,0.89074e+03_rb,0.11789e+04_rb /) kbo(:, 1,59,14) = (/ & & 0.10513e+04_rb,0.80331e+03_rb,0.60826e+03_rb,0.89709e+03_rb,0.11883e+04_rb /) kbo(:, 2,59,14) = (/ & & 0.10429e+04_rb,0.81799e+03_rb,0.60696e+03_rb,0.89486e+03_rb,0.11840e+04_rb /) kbo(:, 3,59,14) = (/ & & 0.10400e+04_rb,0.80905e+03_rb,0.60537e+03_rb,0.89345e+03_rb,0.11830e+04_rb /) kbo(:, 4,59,14) = (/ & & 0.10488e+04_rb,0.79628e+03_rb,0.60443e+03_rb,0.89194e+03_rb,0.11800e+04_rb /) kbo(:, 5,59,14) = (/ & & 0.10795e+04_rb,0.78415e+03_rb,0.60372e+03_rb,0.89082e+03_rb,0.11785e+04_rb /) kbo(:, 1,13,15) = (/ & & 0.98934e+03_rb,0.75572e+03_rb,0.60810e+03_rb,0.89364e+03_rb,0.11812e+04_rb /) kbo(:, 2,13,15) = (/ & & 0.12809e+04_rb,0.72091e+03_rb,0.60670e+03_rb,0.89251e+03_rb,0.11797e+04_rb /) kbo(:, 3,13,15) = (/ & & 0.11704e+04_rb,0.77844e+03_rb,0.60529e+03_rb,0.89171e+03_rb,0.11787e+04_rb /) kbo(:, 4,13,15) = (/ & & 0.11159e+04_rb,0.83495e+03_rb,0.60430e+03_rb,0.89110e+03_rb,0.11779e+04_rb /) kbo(:, 5,13,15) = (/ & & 0.11939e+04_rb,0.93553e+03_rb,0.60355e+03_rb,0.89003e+03_rb,0.11765e+04_rb /) kbo(:, 1,14,15) = (/ & & 0.11963e+04_rb,0.95315e+03_rb,0.60753e+03_rb,0.89338e+03_rb,0.11810e+04_rb /) kbo(:, 2,14,15) = (/ & & 0.11729e+04_rb,0.92141e+03_rb,0.60616e+03_rb,0.89229e+03_rb,0.11796e+04_rb /) kbo(:, 3,14,15) = (/ & & 0.11471e+04_rb,0.85602e+03_rb,0.60478e+03_rb,0.89154e+03_rb,0.11786e+04_rb /) kbo(:, 4,14,15) = (/ & & 0.11824e+04_rb,0.88196e+03_rb,0.60401e+03_rb,0.89091e+03_rb,0.11778e+04_rb /) kbo(:, 5,14,15) = (/ & & 0.11271e+04_rb,0.87462e+03_rb,0.60324e+03_rb,0.89075e+03_rb,0.11763e+04_rb /) kbo(:, 1,15,15) = (/ & & 0.10604e+04_rb,0.90519e+03_rb,0.60703e+03_rb,0.89409e+03_rb,0.11809e+04_rb /) kbo(:, 2,15,15) = (/ & & 0.11577e+04_rb,0.75557e+03_rb,0.60568e+03_rb,0.89209e+03_rb,0.11795e+04_rb /) kbo(:, 3,15,15) = (/ & & 0.11406e+04_rb,0.81803e+03_rb,0.60438e+03_rb,0.89138e+03_rb,0.11785e+04_rb /) kbo(:, 4,15,15) = (/ & & 0.11847e+04_rb,0.71960e+03_rb,0.60376e+03_rb,0.89073e+03_rb,0.11790e+04_rb /) kbo(:, 5,15,15) = (/ & & 0.11179e+04_rb,0.81112e+03_rb,0.60296e+03_rb,0.88859e+03_rb,0.11787e+04_rb /) kbo(:, 1,16,15) = (/ & & 0.10356e+04_rb,0.71983e+03_rb,0.60659e+03_rb,0.89194e+03_rb,0.11820e+04_rb /) kbo(:, 2,16,15) = (/ & & 0.11364e+04_rb,0.76870e+03_rb,0.60526e+03_rb,0.89190e+03_rb,0.11794e+04_rb /) kbo(:, 3,16,15) = (/ & & 0.96034e+03_rb,0.83277e+03_rb,0.60407e+03_rb,0.89124e+03_rb,0.11785e+04_rb /) kbo(:, 4,16,15) = (/ & & 0.10077e+04_rb,0.87988e+03_rb,0.60354e+03_rb,0.89055e+03_rb,0.11776e+04_rb /) kbo(:, 5,16,15) = (/ & & 0.10422e+04_rb,0.83397e+03_rb,0.60335e+03_rb,0.88931e+03_rb,0.11759e+04_rb /) kbo(:, 1,17,15) = (/ & & 0.10091e+04_rb,0.77782e+03_rb,0.60621e+03_rb,0.89269e+03_rb,0.11805e+04_rb /) kbo(:, 2,17,15) = (/ & & 0.11716e+04_rb,0.80971e+03_rb,0.60425e+03_rb,0.89175e+03_rb,0.11793e+04_rb /) kbo(:, 3,17,15) = (/ & & 0.10550e+04_rb,0.78786e+03_rb,0.60385e+03_rb,0.89112e+03_rb,0.11784e+04_rb /) kbo(:, 4,17,15) = (/ & & 0.99990e+03_rb,0.88096e+03_rb,0.60335e+03_rb,0.89039e+03_rb,0.11774e+04_rb /) kbo(:, 5,17,15) = (/ & & 0.11263e+04_rb,0.73127e+03_rb,0.60311e+03_rb,0.88908e+03_rb,0.11770e+04_rb /) kbo(:, 1,18,15) = (/ & & 0.11151e+04_rb,0.85991e+03_rb,0.60588e+03_rb,0.89155e+03_rb,0.11804e+04_rb /) kbo(:, 2,18,15) = (/ & & 0.10413e+04_rb,0.70815e+03_rb,0.60458e+03_rb,0.89161e+03_rb,0.11791e+04_rb /) kbo(:, 3,18,15) = (/ & & 0.11058e+04_rb,0.82037e+03_rb,0.60370e+03_rb,0.89101e+03_rb,0.11783e+04_rb /) kbo(:, 4,18,15) = (/ & & 0.10134e+04_rb,0.64109e+03_rb,0.60383e+03_rb,0.89024e+03_rb,0.11786e+04_rb /) kbo(:, 5,18,15) = (/ & & 0.11497e+04_rb,0.88170e+03_rb,0.60224e+03_rb,0.88981e+03_rb,0.11767e+04_rb /) kbo(:, 1,19,15) = (/ & & 0.10261e+04_rb,0.82130e+03_rb,0.60625e+03_rb,0.89236e+03_rb,0.11802e+04_rb /) kbo(:, 2,19,15) = (/ & & 0.10077e+04_rb,0.78017e+03_rb,0.60431e+03_rb,0.89148e+03_rb,0.11778e+04_rb /) kbo(:, 3,19,15) = (/ & & 0.10505e+04_rb,0.75163e+03_rb,0.60422e+03_rb,0.88995e+03_rb,0.11782e+04_rb /) kbo(:, 4,19,15) = (/ & & 0.10498e+04_rb,0.84163e+03_rb,0.60302e+03_rb,0.89009e+03_rb,0.11772e+04_rb /) kbo(:, 5,19,15) = (/ & & 0.94853e+03_rb,0.71012e+03_rb,0.60269e+03_rb,0.88958e+03_rb,0.11765e+04_rb /) kbo(:, 1,20,15) = (/ & & 0.11198e+04_rb,0.83291e+03_rb,0.60532e+03_rb,0.89221e+03_rb,0.11814e+04_rb /) kbo(:, 2,20,15) = (/ & & 0.10146e+04_rb,0.70988e+03_rb,0.60473e+03_rb,0.89136e+03_rb,0.11789e+04_rb /) kbo(:, 3,20,15) = (/ & & 0.98440e+03_rb,0.83872e+03_rb,0.60345e+03_rb,0.89080e+03_rb,0.11781e+04_rb /) kbo(:, 4,20,15) = (/ & & 0.10595e+04_rb,0.75621e+03_rb,0.60286e+03_rb,0.88992e+03_rb,0.11770e+04_rb /) kbo(:, 5,20,15) = (/ & & 0.10274e+04_rb,0.81836e+03_rb,0.60247e+03_rb,0.88836e+03_rb,0.11749e+04_rb /) kbo(:, 1,21,15) = (/ & & 0.10788e+04_rb,0.78645e+03_rb,0.60506e+03_rb,0.89207e+03_rb,0.11799e+04_rb /) kbo(:, 2,21,15) = (/ & & 0.10852e+04_rb,0.74295e+03_rb,0.60386e+03_rb,0.89125e+03_rb,0.11788e+04_rb /) kbo(:, 3,21,15) = (/ & & 0.10428e+04_rb,0.82396e+03_rb,0.60333e+03_rb,0.88973e+03_rb,0.11780e+04_rb /) kbo(:, 4,21,15) = (/ & & 0.10018e+04_rb,0.87387e+03_rb,0.60336e+03_rb,0.89071e+03_rb,0.11768e+04_rb /) kbo(:, 5,21,15) = (/ & & 0.11155e+04_rb,0.79293e+03_rb,0.60225e+03_rb,0.88809e+03_rb,0.11746e+04_rb /) kbo(:, 1,22,15) = (/ & & 0.10301e+04_rb,0.79445e+03_rb,0.60539e+03_rb,0.89186e+03_rb,0.11797e+04_rb /) kbo(:, 2,22,15) = (/ & & 0.11174e+04_rb,0.68851e+03_rb,0.60364e+03_rb,0.88919e+03_rb,0.11787e+04_rb /) kbo(:, 3,22,15) = (/ & & 0.10845e+04_rb,0.72821e+03_rb,0.60320e+03_rb,0.89053e+03_rb,0.11779e+04_rb /) kbo(:, 4,22,15) = (/ & & 0.94182e+03_rb,0.74129e+03_rb,0.60185e+03_rb,0.88948e+03_rb,0.11777e+04_rb /) kbo(:, 5,22,15) = (/ & & 0.11256e+04_rb,0.74069e+03_rb,0.60323e+03_rb,0.88766e+03_rb,0.11740e+04_rb /) kbo(:, 1,23,15) = (/ & & 0.11218e+04_rb,0.85968e+03_rb,0.60443e+03_rb,0.89167e+03_rb,0.11795e+04_rb /) kbo(:, 2,23,15) = (/ & & 0.10449e+04_rb,0.80739e+03_rb,0.60218e+03_rb,0.89100e+03_rb,0.11785e+04_rb /) kbo(:, 3,23,15) = (/ & & 0.11277e+04_rb,0.69098e+03_rb,0.60306e+03_rb,0.89036e+03_rb,0.11777e+04_rb /) kbo(:, 4,23,15) = (/ & & 0.10580e+04_rb,0.81384e+03_rb,0.60228e+03_rb,0.88919e+03_rb,0.11761e+04_rb /) kbo(:, 5,23,15) = (/ & & 0.10279e+04_rb,0.82530e+03_rb,0.60094e+03_rb,0.88718e+03_rb,0.11734e+04_rb /) kbo(:, 1,24,15) = (/ & & 0.10227e+04_rb,0.68179e+03_rb,0.60412e+03_rb,0.89149e+03_rb,0.11792e+04_rb /) kbo(:, 2,24,15) = (/ & & 0.11518e+04_rb,0.80624e+03_rb,0.60338e+03_rb,0.89088e+03_rb,0.11784e+04_rb /) kbo(:, 3,24,15) = (/ & & 0.10788e+04_rb,0.70820e+03_rb,0.60290e+03_rb,0.89016e+03_rb,0.11787e+04_rb /) kbo(:, 4,24,15) = (/ & & 0.10466e+04_rb,0.82233e+03_rb,0.60268e+03_rb,0.88884e+03_rb,0.11757e+04_rb /) kbo(:, 5,24,15) = (/ & & 0.10066e+04_rb,0.82618e+03_rb,0.60057e+03_rb,0.88665e+03_rb,0.11740e+04_rb /) kbo(:, 1,25,15) = (/ & & 0.10780e+04_rb,0.80937e+03_rb,0.60386e+03_rb,0.89131e+03_rb,0.11790e+04_rb /) kbo(:, 2,25,15) = (/ & & 0.10199e+04_rb,0.81059e+03_rb,0.60327e+03_rb,0.89075e+03_rb,0.11782e+04_rb /) kbo(:, 3,25,15) = (/ & & 0.11207e+04_rb,0.80162e+03_rb,0.60338e+03_rb,0.88992e+03_rb,0.11771e+04_rb /) kbo(:, 4,25,15) = (/ & & 0.97495e+03_rb,0.78589e+03_rb,0.60305e+03_rb,0.88845e+03_rb,0.11751e+04_rb /) kbo(:, 5,25,15) = (/ & & 0.95428e+03_rb,0.80945e+03_rb,0.60015e+03_rb,0.88605e+03_rb,0.11720e+04_rb /) kbo(:, 1,26,15) = (/ & & 0.10862e+04_rb,0.78235e+03_rb,0.60361e+03_rb,0.89115e+03_rb,0.11801e+04_rb /) kbo(:, 2,26,15) = (/ & & 0.91581e+03_rb,0.82546e+03_rb,0.60381e+03_rb,0.89059e+03_rb,0.11780e+04_rb /) kbo(:, 3,26,15) = (/ & & 0.10920e+04_rb,0.84813e+03_rb,0.60253e+03_rb,0.88964e+03_rb,0.11767e+04_rb /) kbo(:, 4,26,15) = (/ & & 0.11174e+04_rb,0.83078e+03_rb,0.60207e+03_rb,0.88892e+03_rb,0.11745e+04_rb /) kbo(:, 5,26,15) = (/ & & 0.11159e+04_rb,0.75128e+03_rb,0.59967e+03_rb,0.88536e+03_rb,0.11723e+04_rb /) kbo(:, 1,27,15) = (/ & & 0.10835e+04_rb,0.80424e+03_rb,0.60343e+03_rb,0.89101e+03_rb,0.11786e+04_rb /) kbo(:, 2,27,15) = (/ & & 0.10910e+04_rb,0.86525e+03_rb,0.60302e+03_rb,0.89041e+03_rb,0.11778e+04_rb /) kbo(:, 3,27,15) = (/ & & 0.10210e+04_rb,0.77642e+03_rb,0.60231e+03_rb,0.89027e+03_rb,0.11763e+04_rb /) kbo(:, 4,27,15) = (/ & & 0.10645e+04_rb,0.80598e+03_rb,0.60105e+03_rb,0.88742e+03_rb,0.11751e+04_rb /) kbo(:, 5,27,15) = (/ & & 0.10451e+04_rb,0.82023e+03_rb,0.59981e+03_rb,0.88559e+03_rb,0.11701e+04_rb /) kbo(:, 1,28,15) = (/ & & 0.10856e+04_rb,0.83991e+03_rb,0.60332e+03_rb,0.89088e+03_rb,0.11784e+04_rb /) kbo(:, 2,28,15) = (/ & & 0.93268e+03_rb,0.70779e+03_rb,0.60288e+03_rb,0.89019e+03_rb,0.11788e+04_rb /) kbo(:, 3,28,15) = (/ & & 0.11243e+04_rb,0.76544e+03_rb,0.60205e+03_rb,0.88894e+03_rb,0.11758e+04_rb /) kbo(:, 4,28,15) = (/ & & 0.10096e+04_rb,0.72189e+03_rb,0.60064e+03_rb,0.88682e+03_rb,0.11730e+04_rb /) kbo(:, 5,28,15) = (/ & & 0.88490e+03_rb,0.83821e+03_rb,0.59801e+03_rb,0.88198e+03_rb,0.11692e+04_rb /) kbo(:, 1,29,15) = (/ & & 0.10218e+04_rb,0.78897e+03_rb,0.60322e+03_rb,0.88978e+03_rb,0.11783e+04_rb /) kbo(:, 2,29,15) = (/ & & 0.97223e+03_rb,0.70803e+03_rb,0.60270e+03_rb,0.88994e+03_rb,0.11772e+04_rb /) kbo(:, 3,29,15) = (/ & & 0.10729e+04_rb,0.71638e+03_rb,0.60175e+03_rb,0.88850e+03_rb,0.11752e+04_rb /) kbo(:, 4,29,15) = (/ & & 0.10369e+04_rb,0.79357e+03_rb,0.60017e+03_rb,0.88614e+03_rb,0.11734e+04_rb /) kbo(:, 5,29,15) = (/ & & 0.10748e+04_rb,0.83591e+03_rb,0.59814e+03_rb,0.88321e+03_rb,0.11671e+04_rb /) kbo(:, 1,30,15) = (/ & & 0.10681e+04_rb,0.78838e+03_rb,0.60311e+03_rb,0.89058e+03_rb,0.11780e+04_rb /) kbo(:, 2,30,15) = (/ & & 0.10690e+04_rb,0.81372e+03_rb,0.60250e+03_rb,0.88965e+03_rb,0.11768e+04_rb /) kbo(:, 3,30,15) = (/ & & 0.10330e+04_rb,0.79065e+03_rb,0.60271e+03_rb,0.88800e+03_rb,0.11759e+04_rb /) kbo(:, 4,30,15) = (/ & & 0.99812e+03_rb,0.80751e+03_rb,0.60032e+03_rb,0.88541e+03_rb,0.11712e+04_rb /) kbo(:, 5,30,15) = (/ & & 0.10394e+04_rb,0.71741e+03_rb,0.59705e+03_rb,0.88643e+03_rb,0.11676e+04_rb /) kbo(:, 1,31,15) = (/ & & 0.10025e+04_rb,0.73187e+03_rb,0.60298e+03_rb,0.89039e+03_rb,0.11778e+04_rb /) kbo(:, 2,31,15) = (/ & & 0.11099e+04_rb,0.74280e+03_rb,0.60227e+03_rb,0.88930e+03_rb,0.11763e+04_rb /) kbo(:, 3,31,15) = (/ & & 0.10884e+04_rb,0.79617e+03_rb,0.60102e+03_rb,0.88838e+03_rb,0.11738e+04_rb /) kbo(:, 4,31,15) = (/ & & 0.90245e+03_rb,0.76637e+03_rb,0.59915e+03_rb,0.88368e+03_rb,0.11701e+04_rb /) kbo(:, 5,31,15) = (/ & & 0.10031e+04_rb,0.78751e+03_rb,0.59673e+03_rb,0.89640e+03_rb,0.11644e+04_rb /) kbo(:, 1,32,15) = (/ & & 0.87663e+03_rb,0.68400e+03_rb,0.60283e+03_rb,0.89016e+03_rb,0.11775e+04_rb /) kbo(:, 2,32,15) = (/ & & 0.10467e+04_rb,0.83071e+03_rb,0.60330e+03_rb,0.88890e+03_rb,0.11758e+04_rb /) kbo(:, 3,32,15) = (/ & & 0.97045e+03_rb,0.72881e+03_rb,0.60123e+03_rb,0.88677e+03_rb,0.11730e+04_rb /) kbo(:, 4,32,15) = (/ & & 0.11080e+04_rb,0.69141e+03_rb,0.59860e+03_rb,0.88193e+03_rb,0.11679e+04_rb /) kbo(:, 5,32,15) = (/ & & 0.10206e+04_rb,0.73037e+03_rb,0.59837e+03_rb,0.88358e+03_rb,0.11726e+04_rb /) kbo(:, 1,33,15) = (/ & & 0.10520e+04_rb,0.78807e+03_rb,0.60265e+03_rb,0.89086e+03_rb,0.11771e+04_rb /) kbo(:, 2,33,15) = (/ & & 0.98139e+03_rb,0.81175e+03_rb,0.60169e+03_rb,0.88843e+03_rb,0.11752e+04_rb /) kbo(:, 3,33,15) = (/ & & 0.11223e+04_rb,0.75994e+03_rb,0.60074e+03_rb,0.88510e+03_rb,0.11720e+04_rb /) kbo(:, 4,33,15) = (/ & & 0.10271e+04_rb,0.75564e+03_rb,0.59806e+03_rb,0.88218e+03_rb,0.11708e+04_rb /) kbo(:, 5,33,15) = (/ & & 0.10438e+04_rb,0.78527e+03_rb,0.59677e+03_rb,0.88217e+03_rb,0.11682e+04_rb /) kbo(:, 1,34,15) = (/ & & 0.10293e+04_rb,0.82175e+03_rb,0.60313e+03_rb,0.88963e+03_rb,0.11768e+04_rb /) kbo(:, 2,34,15) = (/ & & 0.11086e+04_rb,0.80472e+03_rb,0.60138e+03_rb,0.88797e+03_rb,0.11746e+04_rb /) kbo(:, 3,34,15) = (/ & & 0.10235e+04_rb,0.72497e+03_rb,0.60029e+03_rb,0.88634e+03_rb,0.11724e+04_rb /) kbo(:, 4,34,15) = (/ & & 0.10022e+04_rb,0.79360e+03_rb,0.59703e+03_rb,0.88927e+03_rb,0.11777e+04_rb /) kbo(:, 5,34,15) = (/ & & 0.11107e+04_rb,0.84019e+03_rb,0.59650e+03_rb,0.88082e+03_rb,0.11651e+04_rb /) kbo(:, 1,35,15) = (/ & & 0.10782e+04_rb,0.81052e+03_rb,0.60236e+03_rb,0.89138e+03_rb,0.11766e+04_rb /) kbo(:, 2,35,15) = (/ & & 0.89922e+03_rb,0.74859e+03_rb,0.60119e+03_rb,0.88769e+03_rb,0.11729e+04_rb /) kbo(:, 3,35,15) = (/ & & 0.10088e+04_rb,0.71209e+03_rb,0.59938e+03_rb,0.88499e+03_rb,0.11706e+04_rb /) kbo(:, 4,35,15) = (/ & & 0.96175e+03_rb,0.77055e+03_rb,0.60072e+03_rb,0.87852e+03_rb,0.11710e+04_rb /) kbo(:, 5,35,15) = (/ & & 0.10310e+04_rb,0.84426e+03_rb,0.59635e+03_rb,0.88059e+03_rb,0.11648e+04_rb /) kbo(:, 1,36,15) = (/ & & 0.10188e+04_rb,0.85190e+03_rb,0.60234e+03_rb,0.88943e+03_rb,0.11765e+04_rb /) kbo(:, 2,36,15) = (/ & & 0.10154e+04_rb,0.76964e+03_rb,0.60245e+03_rb,0.88859e+03_rb,0.11741e+04_rb /) kbo(:, 3,36,15) = (/ & & 0.10902e+04_rb,0.77130e+03_rb,0.59998e+03_rb,0.88588e+03_rb,0.11705e+04_rb /) kbo(:, 4,36,15) = (/ & & 0.98172e+03_rb,0.79246e+03_rb,0.59876e+03_rb,0.89371e+03_rb,0.11495e+04_rb /) kbo(:, 5,36,15) = (/ & & 0.10409e+04_rb,0.75260e+03_rb,0.59632e+03_rb,0.88055e+03_rb,0.11660e+04_rb /) kbo(:, 1,37,15) = (/ & & 0.10398e+04_rb,0.81024e+03_rb,0.60310e+03_rb,0.88960e+03_rb,0.11767e+04_rb /) kbo(:, 2,37,15) = (/ & & 0.94253e+03_rb,0.72207e+03_rb,0.60199e+03_rb,0.88792e+03_rb,0.11745e+04_rb /) kbo(:, 3,37,15) = (/ & & 0.11326e+04_rb,0.78984e+03_rb,0.60024e+03_rb,0.88532e+03_rb,0.11710e+04_rb /) kbo(:, 4,37,15) = (/ & & 0.10789e+04_rb,0.84320e+03_rb,0.59634e+03_rb,0.88350e+03_rb,0.11688e+04_rb /) kbo(:, 5,37,15) = (/ & & 0.10084e+04_rb,0.82623e+03_rb,0.59647e+03_rb,0.88078e+03_rb,0.11651e+04_rb /) kbo(:, 1,38,15) = (/ & & 0.99835e+03_rb,0.77031e+03_rb,0.60321e+03_rb,0.88977e+03_rb,0.11782e+04_rb /) kbo(:, 2,38,15) = (/ & & 0.11135e+04_rb,0.73046e+03_rb,0.60283e+03_rb,0.88917e+03_rb,0.11749e+04_rb /) kbo(:, 3,38,15) = (/ & & 0.10419e+04_rb,0.72620e+03_rb,0.59987e+03_rb,0.88669e+03_rb,0.11716e+04_rb /) kbo(:, 4,38,15) = (/ & & 0.10631e+04_rb,0.75245e+03_rb,0.59721e+03_rb,0.88572e+03_rb,0.11692e+04_rb /) kbo(:, 5,38,15) = (/ & & 0.10228e+04_rb,0.73209e+03_rb,0.59792e+03_rb,0.88102e+03_rb,0.11654e+04_rb /) kbo(:, 1,39,15) = (/ & & 0.10910e+04_rb,0.86853e+03_rb,0.60266e+03_rb,0.88992e+03_rb,0.11772e+04_rb /) kbo(:, 2,39,15) = (/ & & 0.10519e+04_rb,0.73802e+03_rb,0.60236e+03_rb,0.88944e+03_rb,0.11753e+04_rb /) kbo(:, 3,39,15) = (/ & & 0.90206e+03_rb,0.82442e+03_rb,0.60079e+03_rb,0.88708e+03_rb,0.11721e+04_rb /) kbo(:, 4,39,15) = (/ & & 0.10954e+04_rb,0.83033e+03_rb,0.59811e+03_rb,0.88319e+03_rb,0.11696e+04_rb /) kbo(:, 5,39,15) = (/ & & 0.92773e+03_rb,0.79134e+03_rb,0.59808e+03_rb,0.88316e+03_rb,0.11657e+04_rb /) kbo(:, 1,40,15) = (/ & & 0.10887e+04_rb,0.78119e+03_rb,0.60281e+03_rb,0.89016e+03_rb,0.11775e+04_rb /) kbo(:, 2,40,15) = (/ & & 0.10361e+04_rb,0.78964e+03_rb,0.60199e+03_rb,0.88890e+03_rb,0.11758e+04_rb /) kbo(:, 3,40,15) = (/ & & 0.10674e+04_rb,0.81250e+03_rb,0.60058e+03_rb,0.88678e+03_rb,0.11730e+04_rb /) kbo(:, 4,40,15) = (/ & & 0.11076e+04_rb,0.76250e+03_rb,0.59989e+03_rb,0.88480e+03_rb,0.11679e+04_rb /) kbo(:, 5,40,15) = (/ & & 0.11154e+04_rb,0.83280e+03_rb,0.59900e+03_rb,0.88168e+03_rb,0.11814e+04_rb /) kbo(:, 1,41,15) = (/ & & 0.10350e+04_rb,0.79893e+03_rb,0.60296e+03_rb,0.89038e+03_rb,0.11778e+04_rb /) kbo(:, 2,41,15) = (/ & & 0.10104e+04_rb,0.69640e+03_rb,0.60225e+03_rb,0.88929e+03_rb,0.11763e+04_rb /) kbo(:, 3,41,15) = (/ & & 0.10193e+04_rb,0.78110e+03_rb,0.60100e+03_rb,0.88741e+03_rb,0.11751e+04_rb /) kbo(:, 4,41,15) = (/ & & 0.10785e+04_rb,0.73450e+03_rb,0.59977e+03_rb,0.88368e+03_rb,0.11701e+04_rb /) kbo(:, 5,41,15) = (/ & & 0.96003e+03_rb,0.80480e+03_rb,0.59865e+03_rb,0.90400e+03_rb,0.11833e+04_rb /) kbo(:, 1,42,15) = (/ & & 0.97569e+03_rb,0.77685e+03_rb,0.60307e+03_rb,0.89056e+03_rb,0.11793e+04_rb /) kbo(:, 2,42,15) = (/ & & 0.98796e+03_rb,0.83953e+03_rb,0.60247e+03_rb,0.88963e+03_rb,0.11768e+04_rb /) kbo(:, 3,42,15) = (/ & & 0.10852e+04_rb,0.82427e+03_rb,0.60332e+03_rb,0.88798e+03_rb,0.11746e+04_rb /) kbo(:, 4,42,15) = (/ & & 0.10360e+04_rb,0.83188e+03_rb,0.59965e+03_rb,0.88636e+03_rb,0.11712e+04_rb /) kbo(:, 5,42,15) = (/ & & 0.10125e+04_rb,0.74885e+03_rb,0.59702e+03_rb,0.88356e+03_rb,0.11676e+04_rb /) kbo(:, 1,43,15) = (/ & & 0.91082e+03_rb,0.72514e+03_rb,0.60320e+03_rb,0.89075e+03_rb,0.11796e+04_rb /) kbo(:, 2,43,15) = (/ & & 0.82029e+03_rb,0.80137e+03_rb,0.60335e+03_rb,0.88998e+03_rb,0.11773e+04_rb /) kbo(:, 3,43,15) = (/ & & 0.11298e+04_rb,0.78950e+03_rb,0.60243e+03_rb,0.88859e+03_rb,0.11754e+04_rb /) kbo(:, 4,43,15) = (/ & & 0.10717e+04_rb,0.65904e+03_rb,0.60090e+03_rb,0.88726e+03_rb,0.11724e+04_rb /) kbo(:, 5,43,15) = (/ & & 0.89290e+03_rb,0.78779e+03_rb,0.59823e+03_rb,0.88240e+03_rb,0.11774e+04_rb /) kbo(:, 1,44,15) = (/ & & 0.10292e+04_rb,0.72935e+03_rb,0.60266e+03_rb,0.89093e+03_rb,0.11785e+04_rb /) kbo(:, 2,44,15) = (/ & & 0.10616e+04_rb,0.76323e+03_rb,0.60355e+03_rb,0.89030e+03_rb,0.11790e+04_rb /) kbo(:, 3,44,15) = (/ & & 0.10058e+04_rb,0.82082e+03_rb,0.60215e+03_rb,0.88915e+03_rb,0.11762e+04_rb /) kbo(:, 4,44,15) = (/ & & 0.96216e+03_rb,0.76914e+03_rb,0.60084e+03_rb,0.88814e+03_rb,0.11735e+04_rb /) kbo(:, 5,44,15) = (/ & & 0.10069e+04_rb,0.76998e+03_rb,0.59893e+03_rb,0.88624e+03_rb,0.11672e+04_rb /) kbo(:, 1,45,15) = (/ & & 0.92082e+03_rb,0.79879e+03_rb,0.60350e+03_rb,0.89110e+03_rb,0.11788e+04_rb /) kbo(:, 2,45,15) = (/ & & 0.96551e+03_rb,0.79963e+03_rb,0.60307e+03_rb,0.89055e+03_rb,0.11780e+04_rb /) kbo(:, 3,45,15) = (/ & & 0.10337e+04_rb,0.76320e+03_rb,0.60246e+03_rb,0.88962e+03_rb,0.11768e+04_rb /) kbo(:, 4,45,15) = (/ & & 0.97219e+03_rb,0.72677e+03_rb,0.60201e+03_rb,0.88795e+03_rb,0.11746e+04_rb /) kbo(:, 5,45,15) = (/ & & 0.10146e+04_rb,0.80892e+03_rb,0.59962e+03_rb,0.88632e+03_rb,0.11711e+04_rb /) kbo(:, 1,46,15) = (/ & & 0.10772e+04_rb,0.81655e+03_rb,0.60383e+03_rb,0.89135e+03_rb,0.11792e+04_rb /) kbo(:, 2,46,15) = (/ & & 0.98671e+03_rb,0.73523e+03_rb,0.60321e+03_rb,0.89077e+03_rb,0.11796e+04_rb /) kbo(:, 3,46,15) = (/ & & 0.10348e+04_rb,0.84026e+03_rb,0.60272e+03_rb,0.89002e+03_rb,0.11773e+04_rb /) kbo(:, 4,46,15) = (/ & & 0.11018e+04_rb,0.66661e+03_rb,0.60312e+03_rb,0.88865e+03_rb,0.11755e+04_rb /) kbo(:, 5,46,15) = (/ & & 0.10012e+04_rb,0.71404e+03_rb,0.60161e+03_rb,0.88639e+03_rb,0.11725e+04_rb /) kbo(:, 1,47,15) = (/ & & 0.10560e+04_rb,0.78520e+03_rb,0.60429e+03_rb,0.89072e+03_rb,0.11796e+04_rb /) kbo(:, 2,47,15) = (/ & & 0.10627e+04_rb,0.82754e+03_rb,0.60335e+03_rb,0.89097e+03_rb,0.11773e+04_rb /) kbo(:, 3,47,15) = (/ & & 0.10705e+04_rb,0.76570e+03_rb,0.60295e+03_rb,0.89038e+03_rb,0.11791e+04_rb /) kbo(:, 4,47,15) = (/ & & 0.11051e+04_rb,0.83346e+03_rb,0.60225e+03_rb,0.89026e+03_rb,0.11789e+04_rb /) kbo(:, 5,47,15) = (/ & & 0.10627e+04_rb,0.79957e+03_rb,0.60100e+03_rb,0.88742e+03_rb,0.11738e+04_rb /) kbo(:, 1,48,15) = (/ & & 0.10526e+04_rb,0.83431e+03_rb,0.60478e+03_rb,0.89205e+03_rb,0.11801e+04_rb /) kbo(:, 2,48,15) = (/ & & 0.11375e+04_rb,0.74537e+03_rb,0.60363e+03_rb,0.89121e+03_rb,0.11790e+04_rb /) kbo(:, 3,48,15) = (/ & & 0.10571e+04_rb,0.77077e+03_rb,0.60313e+03_rb,0.89066e+03_rb,0.11782e+04_rb /) kbo(:, 4,48,15) = (/ & & 0.10694e+04_rb,0.73604e+03_rb,0.60258e+03_rb,0.88981e+03_rb,0.11770e+04_rb /) kbo(:, 5,48,15) = (/ & & 0.11062e+04_rb,0.66828e+03_rb,0.60158e+03_rb,0.88925e+03_rb,0.11750e+04_rb /) kbo(:, 1,49,15) = (/ & & 0.10727e+04_rb,0.73859e+03_rb,0.60462e+03_rb,0.89249e+03_rb,0.11807e+04_rb /) kbo(:, 2,49,15) = (/ & & 0.11006e+04_rb,0.84446e+03_rb,0.60404e+03_rb,0.89152e+03_rb,0.11794e+04_rb /) kbo(:, 3,49,15) = (/ & & 0.96096e+03_rb,0.73858e+03_rb,0.60393e+03_rb,0.89088e+03_rb,0.11785e+04_rb /) kbo(:, 4,49,15) = (/ & & 0.11140e+04_rb,0.80464e+03_rb,0.60285e+03_rb,0.89021e+03_rb,0.11776e+04_rb /) kbo(:, 5,49,15) = (/ & & 0.10928e+04_rb,0.75297e+03_rb,0.60205e+03_rb,0.88996e+03_rb,0.11760e+04_rb /) kbo(:, 1,50,15) = (/ & & 0.10626e+04_rb,0.84953e+03_rb,0.60572e+03_rb,0.89295e+03_rb,0.11814e+04_rb /) kbo(:, 2,50,15) = (/ & & 0.11017e+04_rb,0.71824e+03_rb,0.60451e+03_rb,0.89185e+03_rb,0.11811e+04_rb /) kbo(:, 3,50,15) = (/ & & 0.10336e+04_rb,0.71570e+03_rb,0.60345e+03_rb,0.89107e+03_rb,0.11800e+04_rb /) kbo(:, 4,50,15) = (/ & & 0.95200e+03_rb,0.76482e+03_rb,0.60304e+03_rb,0.89051e+03_rb,0.11793e+04_rb /) kbo(:, 5,50,15) = (/ & & 0.96988e+03_rb,0.83512e+03_rb,0.60306e+03_rb,0.88954e+03_rb,0.11767e+04_rb /) kbo(:, 1,51,15) = (/ & & 0.11017e+04_rb,0.77329e+03_rb,0.60615e+03_rb,0.89371e+03_rb,0.11825e+04_rb /) kbo(:, 2,51,15) = (/ & & 0.10950e+04_rb,0.81479e+03_rb,0.60496e+03_rb,0.89123e+03_rb,0.11790e+04_rb /) kbo(:, 3,51,15) = (/ & & 0.99893e+03_rb,0.69452e+03_rb,0.60377e+03_rb,0.89131e+03_rb,0.11791e+04_rb /) kbo(:, 4,51,15) = (/ & & 0.10704e+04_rb,0.82834e+03_rb,0.60319e+03_rb,0.89074e+03_rb,0.11783e+04_rb /) kbo(:, 5,51,15) = (/ & & 0.10391e+04_rb,0.80716e+03_rb,0.60333e+03_rb,0.89092e+03_rb,0.11772e+04_rb /) kbo(:, 1,52,15) = (/ & & 0.10358e+04_rb,0.83681e+03_rb,0.60593e+03_rb,0.89390e+03_rb,0.11828e+04_rb /) kbo(:, 2,52,15) = (/ & & 0.95423e+03_rb,0.78599e+03_rb,0.60540e+03_rb,0.89262e+03_rb,0.11809e+04_rb /) kbo(:, 3,52,15) = (/ & & 0.98439e+03_rb,0.83257e+03_rb,0.60417e+03_rb,0.89064e+03_rb,0.11795e+04_rb /) kbo(:, 4,52,15) = (/ & & 0.10548e+04_rb,0.77074e+03_rb,0.60331e+03_rb,0.89093e+03_rb,0.11786e+04_rb /) kbo(:, 5,52,15) = (/ & & 0.10358e+04_rb,0.81478e+03_rb,0.60291e+03_rb,0.89030e+03_rb,0.11777e+04_rb /) kbo(:, 1,53,15) = (/ & & 0.96204e+03_rb,0.74448e+03_rb,0.60716e+03_rb,0.89629e+03_rb,0.11860e+04_rb /) kbo(:, 2,53,15) = (/ & & 0.10872e+04_rb,0.75126e+03_rb,0.60583e+03_rb,0.89310e+03_rb,0.11816e+04_rb /) kbo(:, 3,53,15) = (/ & & 0.90617e+03_rb,0.75210e+03_rb,0.60463e+03_rb,0.89194e+03_rb,0.11800e+04_rb /) kbo(:, 4,53,15) = (/ & & 0.97991e+03_rb,0.76565e+03_rb,0.60352e+03_rb,0.89113e+03_rb,0.11788e+04_rb /) kbo(:, 5,53,15) = (/ & & 0.10425e+04_rb,0.76988e+03_rb,0.60308e+03_rb,0.89058e+03_rb,0.11793e+04_rb /) kbo(:, 1,54,15) = (/ & & 0.10112e+04_rb,0.55645e+03_rb,0.60785e+03_rb,0.89766e+03_rb,0.11878e+04_rb /) kbo(:, 2,54,15) = (/ & & 0.10637e+04_rb,0.66232e+03_rb,0.60623e+03_rb,0.89389e+03_rb,0.11827e+04_rb /) kbo(:, 3,54,15) = (/ & & 0.88717e+03_rb,0.63014e+03_rb,0.60503e+03_rb,0.89226e+03_rb,0.11804e+04_rb /) kbo(:, 4,54,15) = (/ & & 0.10369e+04_rb,0.84103e+03_rb,0.60384e+03_rb,0.89232e+03_rb,0.11792e+04_rb /) kbo(:, 5,54,15) = (/ & & 0.10000e+04_rb,0.70043e+03_rb,0.60321e+03_rb,0.89174e+03_rb,0.11783e+04_rb /) kbo(:, 1,55,15) = (/ & & 0.10615e+04_rb,0.77920e+03_rb,0.60858e+03_rb,0.89903e+03_rb,0.11896e+04_rb /) kbo(:, 2,55,15) = (/ & & 0.10425e+04_rb,0.78513e+03_rb,0.60661e+03_rb,0.89494e+03_rb,0.11829e+04_rb /) kbo(:, 3,55,15) = (/ & & 0.10916e+04_rb,0.73854e+03_rb,0.60542e+03_rb,0.89361e+03_rb,0.11809e+04_rb /) kbo(:, 4,55,15) = (/ & & 0.10715e+04_rb,0.78936e+03_rb,0.60420e+03_rb,0.89162e+03_rb,0.11795e+04_rb /) kbo(:, 5,55,15) = (/ & & 0.96091e+03_rb,0.82578e+03_rb,0.60397e+03_rb,0.89094e+03_rb,0.11773e+04_rb /) kbo(:, 1,56,15) = (/ & & 0.10458e+04_rb,0.77242e+03_rb,0.60942e+03_rb,0.90044e+03_rb,0.11915e+04_rb /) kbo(:, 2,56,15) = (/ & & 0.11062e+04_rb,0.77581e+03_rb,0.60712e+03_rb,0.89619e+03_rb,0.11859e+04_rb /) kbo(:, 3,56,15) = (/ & & 0.10883e+04_rb,0.80121e+03_rb,0.60580e+03_rb,0.89306e+03_rb,0.11815e+04_rb /) kbo(:, 4,56,15) = (/ & & 0.10726e+04_rb,0.82069e+03_rb,0.60459e+03_rb,0.89192e+03_rb,0.11799e+04_rb /) kbo(:, 5,56,15) = (/ & & 0.11263e+04_rb,0.78597e+03_rb,0.60416e+03_rb,0.89111e+03_rb,0.11788e+04_rb /) kbo(:, 1,57,15) = (/ & & 0.11095e+04_rb,0.76988e+03_rb,0.61034e+03_rb,0.90190e+03_rb,0.11935e+04_rb /) kbo(:, 2,57,15) = (/ & & 0.97543e+03_rb,0.72583e+03_rb,0.60777e+03_rb,0.89749e+03_rb,0.11876e+04_rb /) kbo(:, 3,57,15) = (/ & & 0.98548e+03_rb,0.78597e+03_rb,0.60618e+03_rb,0.89378e+03_rb,0.11826e+04_rb /) kbo(:, 4,57,15) = (/ & & 0.98213e+03_rb,0.81053e+03_rb,0.60499e+03_rb,0.89222e+03_rb,0.11804e+04_rb /) kbo(:, 5,57,15) = (/ & & 0.10760e+04_rb,0.81137e+03_rb,0.60380e+03_rb,0.89133e+03_rb,0.11791e+04_rb /) kbo(:, 1,58,15) = (/ & & 0.10034e+04_rb,0.71059e+03_rb,0.61128e+03_rb,0.90333e+03_rb,0.11954e+04_rb /) kbo(:, 2,58,15) = (/ & & 0.97431e+03_rb,0.80290e+03_rb,0.60845e+03_rb,0.89878e+03_rb,0.11893e+04_rb /) kbo(:, 3,58,15) = (/ & & 0.95308e+03_rb,0.77157e+03_rb,0.60654e+03_rb,0.89474e+03_rb,0.11839e+04_rb /) kbo(:, 4,58,15) = (/ & & 0.10737e+04_rb,0.87404e+03_rb,0.60535e+03_rb,0.89257e+03_rb,0.11808e+04_rb /) kbo(:, 5,58,15) = (/ & & 0.10626e+04_rb,0.67671e+03_rb,0.60413e+03_rb,0.89157e+03_rb,0.11782e+04_rb /) kbo(:, 1,59,15) = (/ & & 0.98325e+03_rb,0.78258e+03_rb,0.61167e+03_rb,0.90392e+03_rb,0.11962e+04_rb /) kbo(:, 2,59,15) = (/ & & 0.10481e+04_rb,0.74785e+03_rb,0.60874e+03_rb,0.89931e+03_rb,0.11900e+04_rb /) kbo(:, 3,59,15) = (/ & & 0.11151e+04_rb,0.73006e+03_rb,0.60669e+03_rb,0.89518e+03_rb,0.11820e+04_rb /) kbo(:, 4,59,15) = (/ & & 0.10425e+04_rb,0.79358e+03_rb,0.60550e+03_rb,0.89369e+03_rb,0.11810e+04_rb /) kbo(:, 5,59,15) = (/ & & 0.97877e+03_rb,0.79866e+03_rb,0.60428e+03_rb,0.89168e+03_rb,0.11796e+04_rb /) kbo(:, 1,13,16) = (/ & & 0.75523e+03_rb,0.86786e+03_rb,0.60838e+03_rb,0.89385e+03_rb,0.11815e+04_rb /) kbo(:, 2,13,16) = (/ & & 0.10580e+03_rb,0.52074e+03_rb,0.60685e+03_rb,0.89272e+03_rb,0.11800e+04_rb /) kbo(:, 3,13,16) = (/ & & 0.88450e+03_rb,0.99478e+02_rb,0.60069e+03_rb,0.89217e+03_rb,0.11793e+04_rb /) kbo(:, 4,13,16) = (/ & & 0.47883e+03_rb,0.85714e+02_rb,0.60445e+03_rb,0.89133e+03_rb,0.11782e+04_rb /) kbo(:, 5,13,16) = (/ & & 0.30313e+03_rb,0.39357e+02_rb,0.60363e+03_rb,0.89015e+03_rb,0.11767e+04_rb /) kbo(:, 1,14,16) = (/ & & 0.59250e+03_rb,0.12538e+03_rb,0.60779e+03_rb,0.89359e+03_rb,0.11813e+04_rb /) kbo(:, 2,14,16) = (/ & & 0.45021e+03_rb,0.30819e+03_rb,0.60630e+03_rb,0.89255e+03_rb,0.11799e+04_rb /) kbo(:, 3,14,16) = (/ & & 0.38746e+03_rb,0.31955e+03_rb,0.60482e+03_rb,0.89198e+03_rb,0.11792e+04_rb /) kbo(:, 4,14,16) = (/ & & 0.59123e+03_rb,0.24014e+03_rb,0.60415e+03_rb,0.89112e+03_rb,0.11781e+04_rb /) kbo(:, 5,14,16) = (/ & & 0.47780e+03_rb,0.41362e+03_rb,0.60332e+03_rb,0.88306e+03_rb,0.11765e+04_rb /) kbo(:, 1,15,16) = (/ & & 0.10202e+04_rb,0.29221e+03_rb,0.60727e+03_rb,0.88647e+03_rb,0.11812e+04_rb /) kbo(:, 2,15,16) = (/ & & 0.55435e+03_rb,0.58788e+03_rb,0.60581e+03_rb,0.89239e+03_rb,0.11799e+04_rb /) kbo(:, 3,15,16) = (/ & & 0.31413e+03_rb,0.75889e+03_rb,0.60450e+03_rb,0.89181e+03_rb,0.11791e+04_rb /) kbo(:, 4,15,16) = (/ & & 0.41436e+03_rb,0.80717e+03_rb,0.60389e+03_rb,0.89092e+03_rb,0.11689e+04_rb /) kbo(:, 5,15,16) = (/ & & 0.84269e+03_rb,0.27451e+03_rb,0.60303e+03_rb,0.88966e+03_rb,0.11582e+04_rb /) kbo(:, 1,16,16) = (/ & & 0.19456e+03_rb,0.24351e+03_rb,0.60682e+03_rb,0.89311e+03_rb,0.11719e+04_rb /) kbo(:, 2,16,16) = (/ & & 0.43800e+03_rb,0.21696e+03_rb,0.60538e+03_rb,0.89225e+03_rb,0.11798e+04_rb /) kbo(:, 3,16,16) = (/ & & 0.73851e+03_rb,0.22888e+03_rb,0.60428e+03_rb,0.89164e+03_rb,0.11790e+04_rb /) kbo(:, 4,16,16) = (/ & & 0.83650e+03_rb,0.13309e+03_rb,0.60366e+03_rb,0.89073e+03_rb,0.11778e+04_rb /) kbo(:, 5,16,16) = (/ & & 0.65895e+03_rb,0.36022e+03_rb,0.59813e+03_rb,0.88942e+03_rb,0.11670e+04_rb /) kbo(:, 1,17,16) = (/ & & 0.97890e+03_rb,0.27257e+03_rb,0.60643e+03_rb,0.89290e+03_rb,0.11808e+04_rb /) kbo(:, 2,17,16) = (/ & & 0.21678e+03_rb,0.36639e+03_rb,0.60501e+03_rb,0.89213e+03_rb,0.11797e+04_rb /) kbo(:, 3,17,16) = (/ & & 0.36576e+03_rb,0.64243e+03_rb,0.60409e+03_rb,0.89150e+03_rb,0.11789e+04_rb /) kbo(:, 4,17,16) = (/ & & 0.71301e+03_rb,0.32666e+03_rb,0.60345e+03_rb,0.89056e+03_rb,0.11777e+04_rb /) kbo(:, 5,17,16) = (/ & & 0.30605e+03_rb,0.68315e+03_rb,0.59789e+03_rb,0.88918e+03_rb,0.11668e+04_rb /) kbo(:, 1,18,16) = (/ & & 0.52238e+03_rb,0.17591e+03_rb,0.60609e+03_rb,0.89271e+03_rb,0.11807e+04_rb /) kbo(:, 2,18,16) = (/ & & 0.10253e+04_rb,0.75807e+03_rb,0.60468e+03_rb,0.89202e+03_rb,0.11797e+04_rb /) kbo(:, 3,18,16) = (/ & & 0.23095e+03_rb,0.31874e+03_rb,0.60392e+03_rb,0.89136e+03_rb,0.11788e+04_rb /) kbo(:, 4,18,16) = (/ & & 0.55144e+03_rb,0.80452e+03_rb,0.59863e+03_rb,0.89039e+03_rb,0.11685e+04_rb /) kbo(:, 5,18,16) = (/ & & 0.36145e+03_rb,0.21165e+03_rb,0.60231e+03_rb,0.88211e+03_rb,0.11666e+04_rb /) kbo(:, 1,19,16) = (/ & & 0.10124e+04_rb,0.51143e+03_rb,0.60113e+03_rb,0.89253e+03_rb,0.11805e+04_rb /) kbo(:, 2,19,16) = (/ & & 0.54199e+03_rb,0.26758e+03_rb,0.60439e+03_rb,0.89192e+03_rb,0.11796e+04_rb /) kbo(:, 3,19,16) = (/ & & 0.61467e+03_rb,0.78253e+03_rb,0.59913e+03_rb,0.89123e+03_rb,0.11787e+04_rb /) kbo(:, 4,19,16) = (/ & & 0.58906e+03_rb,0.74398e+02_rb,0.60311e+03_rb,0.89023e+03_rb,0.11774e+04_rb /) kbo(:, 5,19,16) = (/ & & 0.98025e+03_rb,0.28476e+03_rb,0.59747e+03_rb,0.88189e+03_rb,0.11663e+04_rb /) kbo(:, 1,20,16) = (/ & & 0.25361e+03_rb,0.16739e+03_rb,0.60550e+03_rb,0.89234e+03_rb,0.11712e+04_rb /) kbo(:, 2,20,16) = (/ & & 0.70227e+03_rb,0.71784e+03_rb,0.59948e+03_rb,0.89182e+03_rb,0.11795e+04_rb /) kbo(:, 3,20,16) = (/ & & 0.89681e+03_rb,0.24714e+03_rb,0.60364e+03_rb,0.89109e+03_rb,0.11786e+04_rb /) kbo(:, 4,20,16) = (/ & & 0.30123e+03_rb,0.54911e+03_rb,0.60295e+03_rb,0.89006e+03_rb,0.11772e+04_rb /) kbo(:, 5,20,16) = (/ & & 0.68301e+03_rb,0.36973e+03_rb,0.59725e+03_rb,0.88846e+03_rb,0.11750e+04_rb /) kbo(:, 1,21,16) = (/ & & 0.25236e+03_rb,0.80202e+03_rb,0.60523e+03_rb,0.89218e+03_rb,0.11801e+04_rb /) kbo(:, 2,21,16) = (/ & & 0.77221e+03_rb,0.62834e+03_rb,0.60401e+03_rb,0.89171e+03_rb,0.11794e+04_rb /) kbo(:, 3,21,16) = (/ & & 0.70626e+03_rb,0.20918e+03_rb,0.60351e+03_rb,0.89096e+03_rb,0.11784e+04_rb /) kbo(:, 4,21,16) = (/ & & 0.16217e+03_rb,0.14134e+03_rb,0.59816e+03_rb,0.88303e+03_rb,0.11770e+04_rb /) kbo(:, 5,21,16) = (/ & & 0.51843e+03_rb,0.20259e+03_rb,0.59703e+03_rb,0.88818e+03_rb,0.11747e+04_rb /) kbo(:, 1,22,16) = (/ & & 0.21890e+03_rb,0.24577e+03_rb,0.60023e+03_rb,0.89209e+03_rb,0.11799e+04_rb /) kbo(:, 2,22,16) = (/ & & 0.30771e+03_rb,0.55233e+03_rb,0.60388e+03_rb,0.89157e+03_rb,0.11793e+04_rb /) kbo(:, 3,22,16) = (/ & & 0.17796e+03_rb,0.48432e+03_rb,0.60334e+03_rb,0.89076e+03_rb,0.11782e+04_rb /) kbo(:, 4,22,16) = (/ & & 0.88899e+03_rb,0.36751e+03_rb,0.60258e+03_rb,0.88960e+03_rb,0.11676e+04_rb /) kbo(:, 5,22,16) = (/ & & 0.37953e+03_rb,0.56918e+03_rb,0.58746e+03_rb,0.88775e+03_rb,0.11742e+04_rb /) kbo(:, 1,23,16) = (/ & & 0.42018e+03_rb,0.21434e+03_rb,0.60456e+03_rb,0.89198e+03_rb,0.11798e+04_rb /) kbo(:, 2,23,16) = (/ & & 0.10252e+04_rb,0.32427e+03_rb,0.60375e+03_rb,0.89142e+03_rb,0.11791e+04_rb /) kbo(:, 3,23,16) = (/ & & 0.25811e+03_rb,0.61743e+03_rb,0.60318e+03_rb,0.89055e+03_rb,0.11779e+04_rb /) kbo(:, 4,23,16) = (/ & & 0.60449e+03_rb,0.28100e+03_rb,0.60235e+03_rb,0.88930e+03_rb,0.11762e+04_rb /) kbo(:, 5,23,16) = (/ & & 0.43495e+03_rb,0.18925e+03_rb,0.60100e+03_rb,0.88727e+03_rb,0.11735e+04_rb /) kbo(:, 1,24,16) = (/ & & 0.68497e+03_rb,0.77568e+03_rb,0.60423e+03_rb,0.89188e+03_rb,0.11797e+04_rb /) kbo(:, 2,24,16) = (/ & & 0.27378e+03_rb,0.43332e+03_rb,0.60362e+03_rb,0.89125e+03_rb,0.11789e+04_rb /) kbo(:, 3,24,16) = (/ & & 0.44258e+03_rb,0.48182e+03_rb,0.60301e+03_rb,0.89032e+03_rb,0.11686e+04_rb /) kbo(:, 4,24,16) = (/ & & 0.38603e+03_rb,0.34135e+03_rb,0.59747e+03_rb,0.88895e+03_rb,0.11758e+04_rb /) kbo(:, 5,24,16) = (/ & & 0.39386e+03_rb,0.54222e+03_rb,0.60062e+03_rb,0.88674e+03_rb,0.11638e+04_rb /) kbo(:, 1,25,16) = (/ & & 0.55482e+03_rb,0.53022e+03_rb,0.60394e+03_rb,0.89175e+03_rb,0.11796e+04_rb /) kbo(:, 2,25,16) = (/ & & 0.90002e+03_rb,0.91361e+02_rb,0.60348e+03_rb,0.89107e+03_rb,0.11787e+04_rb /) kbo(:, 3,25,16) = (/ & & 0.17670e+03_rb,0.51744e+03_rb,0.59819e+03_rb,0.89007e+03_rb,0.11773e+04_rb /) kbo(:, 4,25,16) = (/ & & 0.44153e+03_rb,0.41376e+03_rb,0.59256e+03_rb,0.88854e+03_rb,0.11753e+04_rb /) kbo(:, 5,25,16) = (/ & & 0.24073e+03_rb,0.21288e+03_rb,0.60020e+03_rb,0.88614e+03_rb,0.11721e+04_rb /) kbo(:, 1,26,16) = (/ & & 0.37725e+03_rb,0.61445e+03_rb,0.60383e+03_rb,0.89161e+03_rb,0.11703e+04_rb /) kbo(:, 2,26,16) = (/ & & 0.10269e+04_rb,0.42565e+03_rb,0.59868e+03_rb,0.89085e+03_rb,0.11784e+04_rb /) kbo(:, 3,26,16) = (/ & & 0.49719e+03_rb,0.26744e+03_rb,0.60261e+03_rb,0.88977e+03_rb,0.11769e+04_rb /) kbo(:, 4,26,16) = (/ & & 0.41684e+03_rb,0.19443e+03_rb,0.59685e+03_rb,0.88123e+03_rb,0.11746e+04_rb /) kbo(:, 5,26,16) = (/ & & 0.32855e+03_rb,0.57095e+03_rb,0.59973e+03_rb,0.88545e+03_rb,0.11622e+04_rb /) kbo(:, 1,27,16) = (/ & & 0.60914e+03_rb,0.57105e+03_rb,0.60371e+03_rb,0.89145e+03_rb,0.11792e+04_rb /) kbo(:, 2,27,16) = (/ & & 0.26439e+03_rb,0.15182e+03_rb,0.60316e+03_rb,0.89062e+03_rb,0.11781e+04_rb /) kbo(:, 3,27,16) = (/ & & 0.73685e+03_rb,0.69813e+03_rb,0.60238e+03_rb,0.88259e+03_rb,0.11765e+04_rb /) kbo(:, 4,27,16) = (/ & & 0.64054e+03_rb,0.28524e+03_rb,0.60110e+03_rb,0.88751e+03_rb,0.11649e+04_rb /) kbo(:, 5,27,16) = (/ & & 0.75244e+03_rb,0.50359e+03_rb,0.59461e+03_rb,0.87791e+03_rb,0.11702e+04_rb /) kbo(:, 1,28,16) = (/ & & 0.64046e+03_rb,0.15170e+03_rb,0.60358e+03_rb,0.89127e+03_rb,0.11790e+04_rb /) kbo(:, 2,28,16) = (/ & & 0.70429e+03_rb,0.23052e+03_rb,0.60299e+03_rb,0.89037e+03_rb,0.11687e+04_rb /) kbo(:, 3,28,16) = (/ & & 0.44006e+03_rb,0.41240e+03_rb,0.60212e+03_rb,0.88904e+03_rb,0.11760e+04_rb /) kbo(:, 4,28,16) = (/ & & 0.22398e+03_rb,0.59419e+03_rb,0.60069e+03_rb,0.88691e+03_rb,0.11731e+04_rb /) kbo(:, 5,28,16) = (/ & & 0.55183e+03_rb,0.13336e+03_rb,0.59871e+03_rb,0.87038e+03_rb,0.11692e+04_rb /) kbo(:, 1,29,16) = (/ & & 0.59987e+03_rb,0.49106e+03_rb,0.60344e+03_rb,0.89107e+03_rb,0.11787e+04_rb /) kbo(:, 2,29,16) = (/ & & 0.34384e+03_rb,0.96976e+02_rb,0.60280e+03_rb,0.89009e+03_rb,0.11774e+04_rb /) kbo(:, 3,29,16) = (/ & & 0.54363e+03_rb,0.20603e+03_rb,0.60181e+03_rb,0.88860e+03_rb,0.11754e+04_rb /) kbo(:, 4,29,16) = (/ & & 0.10391e+04_rb,0.38775e+03_rb,0.60023e+03_rb,0.88623e+03_rb,0.11632e+04_rb /) kbo(:, 5,29,16) = (/ & & 0.22377e+03_rb,0.17567e+03_rb,0.59820e+03_rb,0.88324e+03_rb,0.11684e+04_rb /) kbo(:, 1,30,16) = (/ & & 0.63138e+03_rb,0.68455e+03_rb,0.60329e+03_rb,0.89085e+03_rb,0.11784e+04_rb /) kbo(:, 2,30,16) = (/ & & 0.58332e+03_rb,0.21199e+03_rb,0.60259e+03_rb,0.88978e+03_rb,0.11770e+04_rb /) kbo(:, 3,30,16) = (/ & & 0.33555e+03_rb,0.46024e+03_rb,0.59221e+03_rb,0.88809e+03_rb,0.11657e+04_rb /) kbo(:, 4,30,16) = (/ & & 0.44733e+03_rb,0.32696e+03_rb,0.59512e+03_rb,0.88550e+03_rb,0.11713e+04_rb /) kbo(:, 5,30,16) = (/ & & 0.79071e+03_rb,0.72043e+03_rb,0.59773e+03_rb,0.85548e+03_rb,0.11586e+04_rb /) kbo(:, 1,31,16) = (/ & & 0.81471e+03_rb,0.68414e+03_rb,0.60312e+03_rb,0.89060e+03_rb,0.11781e+04_rb /) kbo(:, 2,31,16) = (/ & & 0.44722e+03_rb,0.73246e+03_rb,0.60235e+03_rb,0.88942e+03_rb,0.11765e+04_rb /) kbo(:, 3,31,16) = (/ & & 0.48709e+03_rb,0.24210e+03_rb,0.60108e+03_rb,0.88068e+03_rb,0.11739e+04_rb /) kbo(:, 4,31,16) = (/ & & 0.63873e+03_rb,0.56888e+03_rb,0.59920e+03_rb,0.88472e+03_rb,0.11702e+04_rb /) kbo(:, 5,31,16) = (/ & & 0.72647e+03_rb,0.26020e+03_rb,0.59739e+03_rb,0.78035e+03_rb,0.11669e+04_rb /) kbo(:, 1,32,16) = (/ & & 0.10219e+04_rb,0.29652e+03_rb,0.60294e+03_rb,0.89034e+03_rb,0.11777e+04_rb /) kbo(:, 2,32,16) = (/ & & 0.75833e+03_rb,0.13311e+03_rb,0.59281e+03_rb,0.88900e+03_rb,0.11759e+04_rb /) kbo(:, 3,32,16) = (/ & & 0.54275e+03_rb,0.31460e+03_rb,0.59602e+03_rb,0.88686e+03_rb,0.11731e+04_rb /) kbo(:, 4,32,16) = (/ & & 0.28731e+03_rb,0.15124e+03_rb,0.59865e+03_rb,0.87712e+03_rb,0.11692e+04_rb /) kbo(:, 5,32,16) = (/ & & 0.79004e+03_rb,0.63514e+03_rb,0.58791e+03_rb,0.86135e+03_rb,0.11214e+04_rb /) kbo(:, 1,33,16) = (/ & & 0.42295e+03_rb,0.52022e+03_rb,0.60275e+03_rb,0.88319e+03_rb,0.11773e+04_rb /) kbo(:, 2,33,16) = (/ & & 0.72614e+03_rb,0.33266e+03_rb,0.60175e+03_rb,0.88169e+03_rb,0.11753e+04_rb /) kbo(:, 3,33,16) = (/ & & 0.36703e+03_rb,0.22982e+03_rb,0.59554e+03_rb,0.88614e+03_rb,0.11721e+04_rb /) kbo(:, 4,33,16) = (/ & & 0.23137e+03_rb,0.32656e+03_rb,0.59813e+03_rb,0.88315e+03_rb,0.11503e+04_rb /) kbo(:, 5,33,16) = (/ & & 0.98125e+03_rb,0.60471e+03_rb,0.59681e+03_rb,0.86770e+03_rb,0.11478e+04_rb /) kbo(:, 1,34,16) = (/ & & 0.44676e+03_rb,0.16327e+03_rb,0.59792e+03_rb,0.88976e+03_rb,0.11770e+04_rb /) kbo(:, 2,34,16) = (/ & & 0.27122e+03_rb,0.52002e+03_rb,0.60144e+03_rb,0.88807e+03_rb,0.11747e+04_rb /) kbo(:, 3,34,16) = (/ & & 0.89338e+03_rb,0.37487e+03_rb,0.59509e+03_rb,0.87866e+03_rb,0.11622e+04_rb /) kbo(:, 4,34,16) = (/ & & 0.43071e+03_rb,0.56832e+03_rb,0.58850e+03_rb,0.83509e+03_rb,0.10958e+04_rb /) kbo(:, 5,34,16) = (/ & & 0.20737e+03_rb,0.35064e+03_rb,0.59655e+03_rb,0.88088e+03_rb,0.11652e+04_rb /) kbo(:, 1,35,16) = (/ & & 0.79758e+02_rb,0.10278e+03_rb,0.60244e+03_rb,0.87589e+03_rb,0.11767e+04_rb /) kbo(:, 2,35,16) = (/ & & 0.52637e+03_rb,0.56826e+03_rb,0.60124e+03_rb,0.88778e+03_rb,0.11743e+04_rb /) kbo(:, 3,35,16) = (/ & & 0.43064e+03_rb,0.29620e+03_rb,0.59943e+03_rb,0.88508e+03_rb,0.11707e+04_rb /) kbo(:, 4,35,16) = (/ & & 0.21531e+03_rb,0.74954e+03_rb,0.57453e+03_rb,0.86197e+03_rb,0.11223e+04_rb /) kbo(:, 5,35,16) = (/ & & 0.85323e+03_rb,0.27200e+03_rb,0.59640e+03_rb,0.88066e+03_rb,0.11649e+04_rb /) kbo(:, 1,36,16) = (/ & & 0.99678e+03_rb,0.21760e+03_rb,0.60242e+03_rb,0.88955e+03_rb,0.11767e+04_rb /) kbo(:, 2,36,16) = (/ & & 0.90902e+03_rb,0.40496e+03_rb,0.59196e+03_rb,0.88090e+03_rb,0.11742e+04_rb /) kbo(:, 3,36,16) = (/ & & 0.38273e+03_rb,0.60439e+03_rb,0.59478e+03_rb,0.87820e+03_rb,0.11706e+04_rb /) kbo(:, 4,36,16) = (/ & & 0.84516e+03_rb,0.25383e+03_rb,0.58829e+03_rb,0.79406e+03_rb,0.11312e+04_rb /) kbo(:, 5,36,16) = (/ & & 0.45445e+03_rb,0.41700e+03_rb,0.59637e+03_rb,0.88062e+03_rb,0.11559e+04_rb /) kbo(:, 1,37,16) = (/ & & 0.62987e+03_rb,0.44723e+03_rb,0.59790e+03_rb,0.88973e+03_rb,0.11769e+04_rb /) kbo(:, 2,37,16) = (/ & & 0.80524e+03_rb,0.68894e+03_rb,0.59677e+03_rb,0.88802e+03_rb,0.11746e+04_rb /) kbo(:, 3,37,16) = (/ & & 0.18337e+03_rb,0.45323e+03_rb,0.59504e+03_rb,0.88541e+03_rb,0.11712e+04_rb /) kbo(:, 4,37,16) = (/ & & 0.50224e+03_rb,0.16920e+03_rb,0.59765e+03_rb,0.86220e+03_rb,0.11586e+04_rb /) kbo(:, 5,37,16) = (/ & & 0.85299e+03_rb,0.22358e+03_rb,0.59652e+03_rb,0.88084e+03_rb,0.11652e+04_rb /) kbo(:, 1,38,16) = (/ & & 0.91678e+03_rb,0.47738e+03_rb,0.59801e+03_rb,0.88990e+03_rb,0.11681e+04_rb /) kbo(:, 2,38,16) = (/ & & 0.47033e+03_rb,0.39881e+03_rb,0.59234e+03_rb,0.88147e+03_rb,0.11750e+04_rb /) kbo(:, 3,38,16) = (/ & & 0.69352e+03_rb,0.66467e+03_rb,0.59993e+03_rb,0.87901e+03_rb,0.11717e+04_rb /) kbo(:, 4,38,16) = (/ & & 0.48625e+03_rb,0.32628e+03_rb,0.59330e+03_rb,0.86251e+03_rb,0.11590e+04_rb /) kbo(:, 5,38,16) = (/ & & 0.31087e+03_rb,0.44108e+03_rb,0.58749e+03_rb,0.88107e+03_rb,0.11655e+04_rb /) kbo(:, 1,39,16) = (/ & & 0.35870e+03_rb,0.11480e+03_rb,0.60275e+03_rb,0.89007e+03_rb,0.11774e+04_rb /) kbo(:, 2,39,16) = (/ & & 0.37464e+03_rb,0.78547e+03_rb,0.59714e+03_rb,0.88174e+03_rb,0.11754e+04_rb /) kbo(:, 3,39,16) = (/ & & 0.10123e+04_rb,0.30814e+03_rb,0.59558e+03_rb,0.87940e+03_rb,0.11722e+04_rb /) kbo(:, 4,39,16) = (/ & & 0.17535e+03_rb,0.96668e+02_rb,0.59817e+03_rb,0.88323e+03_rb,0.11594e+04_rb /) kbo(:, 5,39,16) = (/ & & 0.36664e+03_rb,0.56187e+03_rb,0.58764e+03_rb,0.86774e+03_rb,0.11658e+04_rb /) kbo(:, 1,40,16) = (/ & & 0.48620e+03_rb,0.57396e+03_rb,0.60293e+03_rb,0.89033e+03_rb,0.11777e+04_rb /) kbo(:, 2,40,16) = (/ & & 0.94847e+03_rb,0.62832e+03_rb,0.60206e+03_rb,0.88901e+03_rb,0.11760e+04_rb /) kbo(:, 3,40,16) = (/ & & 0.54197e+03_rb,0.51352e+03_rb,0.60063e+03_rb,0.88687e+03_rb,0.11731e+04_rb /) kbo(:, 4,40,16) = (/ & & 0.21519e+03_rb,0.61017e+03_rb,0.58944e+03_rb,0.86354e+03_rb,0.11692e+04_rb /) kbo(:, 5,40,16) = (/ & & 0.27098e+03_rb,0.33831e+03_rb,0.58331e+03_rb,0.88170e+03_rb,0.10587e+04_rb /) kbo(:, 1,41,16) = (/ & & 0.14346e+03_rb,0.26582e+03_rb,0.60309e+03_rb,0.89059e+03_rb,0.11781e+04_rb /) kbo(:, 2,41,16) = (/ & & 0.76510e+03_rb,0.70682e+03_rb,0.60232e+03_rb,0.88941e+03_rb,0.11765e+04_rb /) kbo(:, 3,41,16) = (/ & & 0.62163e+03_rb,0.16311e+03_rb,0.60105e+03_rb,0.88750e+03_rb,0.11649e+04_rb /) kbo(:, 4,41,16) = (/ & & 0.87665e+02_rb,0.19331e+03_rb,0.59457e+03_rb,0.88472e+03_rb,0.11703e+04_rb /) kbo(:, 5,41,16) = (/ & & 0.10041e+04_rb,0.44098e+03_rb,0.58818e+03_rb,0.72606e+03_rb,0.10412e+04_rb /) kbo(:, 1,42,16) = (/ & & 0.66944e+03_rb,0.41079e+03_rb,0.60325e+03_rb,0.89083e+03_rb,0.11693e+04_rb /) kbo(:, 2,42,16) = (/ & & 0.51801e+03_rb,0.25976e+03_rb,0.60255e+03_rb,0.88976e+03_rb,0.11770e+04_rb /) kbo(:, 3,42,16) = (/ & & 0.23111e+03_rb,0.27788e+03_rb,0.58293e+03_rb,0.88808e+03_rb,0.11747e+04_rb /) kbo(:, 4,42,16) = (/ & & 0.44627e+03_rb,0.35036e+03_rb,0.59971e+03_rb,0.87868e+03_rb,0.11713e+04_rb /) kbo(:, 5,42,16) = (/ & & 0.75706e+03_rb,0.77924e+03_rb,0.59310e+03_rb,0.87584e+03_rb,0.11676e+04_rb /) kbo(:, 1,43,16) = (/ & & 0.60566e+03_rb,0.10873e+03_rb,0.60342e+03_rb,0.89110e+03_rb,0.11697e+04_rb /) kbo(:, 2,43,16) = (/ & & 0.92441e+03_rb,0.64634e+03_rb,0.59816e+03_rb,0.89014e+03_rb,0.11775e+04_rb /) kbo(:, 3,43,16) = (/ & & 0.18329e+03_rb,0.35035e+03_rb,0.59722e+03_rb,0.88869e+03_rb,0.11755e+04_rb /) kbo(:, 4,43,16) = (/ & & 0.34266e+03_rb,0.17517e+03_rb,0.59569e+03_rb,0.87957e+03_rb,0.11725e+04_rb /) kbo(:, 5,43,16) = (/ & & 0.92438e+03_rb,0.90606e+02_rb,0.59829e+03_rb,0.88341e+03_rb,0.11057e+04_rb /) kbo(:, 1,44,16) = (/ & & 0.38251e+03_rb,0.19934e+03_rb,0.60359e+03_rb,0.89135e+03_rb,0.11791e+04_rb /) kbo(:, 2,44,16) = (/ & & 0.48609e+03_rb,0.71881e+03_rb,0.59839e+03_rb,0.89050e+03_rb,0.11689e+04_rb /) kbo(:, 3,44,16) = (/ & & 0.54984e+03_rb,0.19933e+03_rb,0.59759e+03_rb,0.88926e+03_rb,0.11763e+04_rb /) kbo(:, 4,44,16) = (/ & & 0.85264e+03_rb,0.64027e+03_rb,0.60090e+03_rb,0.88045e+03_rb,0.11736e+04_rb /) kbo(:, 5,44,16) = (/ & & 0.88451e+03_rb,0.49530e+03_rb,0.59898e+03_rb,0.87082e+03_rb,0.11699e+04_rb /) kbo(:, 1,45,16) = (/ & & 0.66936e+03_rb,0.51946e+03_rb,0.60373e+03_rb,0.89157e+03_rb,0.11794e+04_rb /) kbo(:, 2,45,16) = (/ & & 0.95622e+03_rb,0.66442e+03_rb,0.60324e+03_rb,0.89082e+03_rb,0.11784e+04_rb /) kbo(:, 3,45,16) = (/ & & 0.70122e+03_rb,0.25973e+03_rb,0.60254e+03_rb,0.88974e+03_rb,0.11769e+04_rb /) kbo(:, 4,45,16) = (/ & & 0.13546e+03_rb,0.47717e+03_rb,0.59679e+03_rb,0.88805e+03_rb,0.11747e+04_rb /) kbo(:, 5,45,16) = (/ & & 0.44623e+03_rb,0.47716e+03_rb,0.59968e+03_rb,0.87864e+03_rb,0.11712e+04_rb /) kbo(:, 1,46,16) = (/ & & 0.16734e+03_rb,0.11476e+03_rb,0.60389e+03_rb,0.89176e+03_rb,0.11797e+04_rb /) kbo(:, 2,46,16) = (/ & & 0.41435e+03_rb,0.59796e+03_rb,0.60344e+03_rb,0.89112e+03_rb,0.11697e+04_rb /) kbo(:, 3,46,16) = (/ & & 0.78886e+03_rb,0.13892e+03_rb,0.60282e+03_rb,0.89018e+03_rb,0.11775e+04_rb /) kbo(:, 4,46,16) = (/ & & 0.48606e+03_rb,0.76103e+03_rb,0.59263e+03_rb,0.88876e+03_rb,0.11756e+04_rb /) kbo(:, 5,46,16) = (/ & & 0.77291e+03_rb,0.68855e+03_rb,0.59113e+03_rb,0.88648e+03_rb,0.11726e+04_rb /) kbo(:, 1,47,16) = (/ & & 0.80479e+03_rb,0.70064e+03_rb,0.60443e+03_rb,0.89194e+03_rb,0.11799e+04_rb /) kbo(:, 2,47,16) = (/ & & 0.74901e+03_rb,0.35032e+03_rb,0.60363e+03_rb,0.89142e+03_rb,0.11792e+04_rb /) kbo(:, 3,47,16) = (/ & & 0.62948e+03_rb,0.48923e+03_rb,0.60309e+03_rb,0.89059e+03_rb,0.11690e+04_rb /) kbo(:, 4,47,16) = (/ & & 0.87648e+02_rb,0.36239e+03_rb,0.60232e+03_rb,0.88257e+03_rb,0.11584e+04_rb /) kbo(:, 5,47,16) = (/ & & 0.44621e+03_rb,0.42279e+03_rb,0.60106e+03_rb,0.88751e+03_rb,0.11740e+04_rb /) kbo(:, 1,48,16) = (/ & & 0.39044e+03_rb,0.31407e+03_rb,0.60497e+03_rb,0.89220e+03_rb,0.11803e+04_rb /) kbo(:, 2,48,16) = (/ & & 0.28685e+03_rb,0.50131e+03_rb,0.60379e+03_rb,0.89166e+03_rb,0.11795e+04_rb /) kbo(:, 3,48,16) = (/ & & 0.38246e+03_rb,0.70665e+03_rb,0.60333e+03_rb,0.89096e+03_rb,0.11786e+04_rb /) kbo(:, 4,48,16) = (/ & & 0.47011e+03_rb,0.61002e+03_rb,0.60267e+03_rb,0.88995e+03_rb,0.11772e+04_rb /) kbo(:, 5,48,16) = (/ & & 0.36652e+03_rb,0.63417e+03_rb,0.60164e+03_rb,0.88155e+03_rb,0.11751e+04_rb /) kbo(:, 1,49,16) = (/ & & 0.76492e+03_rb,0.96636e+02_rb,0.60550e+03_rb,0.89270e+03_rb,0.11810e+04_rb /) kbo(:, 2,49,16) = (/ & & 0.23107e+03_rb,0.19931e+03_rb,0.60416e+03_rb,0.89186e+03_rb,0.11798e+04_rb /) kbo(:, 3,49,16) = (/ & & 0.86850e+03_rb,0.30199e+03_rb,0.59890e+03_rb,0.89128e+03_rb,0.11790e+04_rb /) kbo(:, 4,49,16) = (/ & & 0.27091e+03_rb,0.22951e+03_rb,0.60296e+03_rb,0.89040e+03_rb,0.11778e+04_rb /) kbo(:, 5,49,16) = (/ & & 0.45416e+03_rb,0.53149e+03_rb,0.60212e+03_rb,0.88227e+03_rb,0.11761e+04_rb /) kbo(:, 1,50,16) = (/ & & 0.39042e+03_rb,0.12079e+03_rb,0.60601e+03_rb,0.89316e+03_rb,0.11816e+04_rb /) kbo(:, 2,50,16) = (/ & & 0.38245e+03_rb,0.73080e+03_rb,0.60467e+03_rb,0.89201e+03_rb,0.11709e+04_rb /) kbo(:, 3,50,16) = (/ & & 0.19919e+03_rb,0.50733e+03_rb,0.60370e+03_rb,0.89153e+03_rb,0.11703e+04_rb /) kbo(:, 4,50,16) = (/ & & 0.52587e+03_rb,0.41673e+03_rb,0.60320e+03_rb,0.89076e+03_rb,0.11693e+04_rb /) kbo(:, 5,50,16) = (/ & & 0.25497e+03_rb,0.90594e+02_rb,0.59785e+03_rb,0.88966e+03_rb,0.11768e+04_rb /) kbo(:, 1,51,16) = (/ & & 0.35058e+03_rb,0.56772e+03_rb,0.60650e+03_rb,0.89405e+03_rb,0.11830e+04_rb /) kbo(:, 2,51,16) = (/ & & 0.39839e+03_rb,0.52545e+03_rb,0.60516e+03_rb,0.89238e+03_rb,0.11806e+04_rb /) kbo(:, 3,51,16) = (/ & & 0.69319e+03_rb,0.65831e+03_rb,0.60384e+03_rb,0.89174e+03_rb,0.11796e+04_rb /) kbo(:, 4,51,16) = (/ & & 0.66132e+03_rb,0.42881e+03_rb,0.60341e+03_rb,0.89108e+03_rb,0.11788e+04_rb /) kbo(:, 5,51,16) = (/ & & 0.80473e+03_rb,0.49524e+03_rb,0.59814e+03_rb,0.88327e+03_rb,0.11775e+04_rb /) kbo(:, 1,52,16) = (/ & & 0.75693e+03_rb,0.32010e+03_rb,0.60698e+03_rb,0.89551e+03_rb,0.11849e+04_rb /) kbo(:, 2,52,16) = (/ & & 0.98002e+03_rb,0.74890e+03_rb,0.60565e+03_rb,0.89283e+03_rb,0.11812e+04_rb /) kbo(:, 3,52,16) = (/ & & 0.42228e+03_rb,0.32613e+03_rb,0.60430e+03_rb,0.89190e+03_rb,0.11799e+04_rb /) kbo(:, 4,52,16) = (/ & & 0.43025e+03_rb,0.70662e+03_rb,0.60359e+03_rb,0.89136e+03_rb,0.11791e+04_rb /) kbo(:, 5,52,16) = (/ & & 0.81269e+03_rb,0.56167e+03_rb,0.60303e+03_rb,0.89051e+03_rb,0.11780e+04_rb /) kbo(:, 1,53,16) = (/ & & 0.98002e+03_rb,0.61603e+03_rb,0.60747e+03_rb,0.89705e+03_rb,0.11870e+04_rb /) kbo(:, 2,53,16) = (/ & & 0.28683e+03_rb,0.42277e+03_rb,0.60613e+03_rb,0.89328e+03_rb,0.11818e+04_rb /) kbo(:, 3,53,16) = (/ & & 0.45415e+03_rb,0.68246e+03_rb,0.60479e+03_rb,0.89204e+03_rb,0.11801e+04_rb /) kbo(:, 4,53,16) = (/ & & 0.78879e+03_rb,0.48920e+03_rb,0.60374e+03_rb,0.89159e+03_rb,0.11794e+04_rb /) kbo(:, 5,53,16) = (/ & & 0.76488e+03_rb,0.14495e+03_rb,0.60326e+03_rb,0.89085e+03_rb,0.11694e+04_rb /) kbo(:, 1,54,16) = (/ & & 0.67724e+03_rb,0.76701e+03_rb,0.60808e+03_rb,0.89852e+03_rb,0.11890e+04_rb /) kbo(:, 2,54,16) = (/ & & 0.81269e+03_rb,0.24762e+03_rb,0.60658e+03_rb,0.89430e+03_rb,0.11833e+04_rb /) kbo(:, 3,54,16) = (/ & & 0.94813e+03_rb,0.63414e+03_rb,0.60524e+03_rb,0.89246e+03_rb,0.11807e+04_rb /) kbo(:, 4,54,16) = (/ & & 0.49398e+03_rb,0.28989e+03_rb,0.60390e+03_rb,0.88491e+03_rb,0.11797e+04_rb /) kbo(:, 5,54,16) = (/ & & 0.89236e+03_rb,0.27781e+03_rb,0.60344e+03_rb,0.88428e+03_rb,0.11788e+04_rb /) kbo(:, 1,55,16) = (/ & & 0.52586e+03_rb,0.77305e+03_rb,0.60906e+03_rb,0.89999e+03_rb,0.11909e+04_rb /) kbo(:, 2,55,16) = (/ & & 0.54179e+03_rb,0.64018e+03_rb,0.60701e+03_rb,0.89560e+03_rb,0.11851e+04_rb /) kbo(:, 3,55,16) = (/ & & 0.50992e+03_rb,0.60394e+03_rb,0.60567e+03_rb,0.88598e+03_rb,0.11812e+04_rb /) kbo(:, 4,55,16) = (/ & & 0.63740e+03_rb,0.44088e+03_rb,0.60433e+03_rb,0.89191e+03_rb,0.11799e+04_rb /) kbo(:, 5,55,16) = (/ & & 0.49398e+03_rb,0.37444e+03_rb,0.59895e+03_rb,0.89137e+03_rb,0.11791e+04_rb /) kbo(:, 1,56,16) = (/ & & 0.90829e+03_rb,0.27177e+03_rb,0.61007e+03_rb,0.90151e+03_rb,0.11929e+04_rb /) kbo(:, 2,56,16) = (/ & & 0.35854e+03_rb,0.24158e+03_rb,0.60744e+03_rb,0.89694e+03_rb,0.11869e+04_rb /) kbo(:, 3,56,16) = (/ & & 0.59756e+03_rb,0.47107e+03_rb,0.60610e+03_rb,0.89325e+03_rb,0.11817e+04_rb /) kbo(:, 4,56,16) = (/ & & 0.52585e+03_rb,0.35632e+03_rb,0.60476e+03_rb,0.89203e+03_rb,0.11801e+04_rb /) kbo(:, 5,56,16) = (/ & & 0.27886e+03_rb,0.24761e+03_rb,0.59909e+03_rb,0.89157e+03_rb,0.11794e+04_rb /) kbo(:, 1,57,16) = (/ & & 0.34260e+03_rb,0.66433e+03_rb,0.61112e+03_rb,0.90308e+03_rb,0.11950e+04_rb /) kbo(:, 2,57,16) = (/ & & 0.66130e+03_rb,0.45295e+03_rb,0.60796e+03_rb,0.89834e+03_rb,0.11887e+04_rb /) kbo(:, 3,57,16) = (/ & & 0.69317e+03_rb,0.42880e+03_rb,0.60653e+03_rb,0.89415e+03_rb,0.11831e+04_rb /) kbo(:, 4,57,16) = (/ & & 0.27089e+03_rb,0.28385e+03_rb,0.60519e+03_rb,0.89241e+03_rb,0.11806e+04_rb /) kbo(:, 5,57,16) = (/ & & 0.66926e+03_rb,0.34424e+03_rb,0.60385e+03_rb,0.89175e+03_rb,0.11797e+04_rb /) kbo(:, 1,58,16) = (/ & & 0.96406e+03_rb,0.25365e+03_rb,0.61214e+03_rb,0.90462e+03_rb,0.11971e+04_rb /) kbo(:, 2,58,16) = (/ & & 0.31073e+03_rb,0.28385e+03_rb,0.60888e+03_rb,0.89972e+03_rb,0.11906e+04_rb /) kbo(:, 3,58,16) = (/ & & 0.96405e+03_rb,0.57374e+03_rb,0.60693e+03_rb,0.89536e+03_rb,0.11848e+04_rb /) kbo(:, 4,58,16) = (/ & & 0.69316e+03_rb,0.13891e+03_rb,0.60560e+03_rb,0.89278e+03_rb,0.11811e+04_rb /) kbo(:, 5,58,16) = (/ & & 0.59755e+03_rb,0.75492e+03_rb,0.60426e+03_rb,0.89189e+03_rb,0.11798e+04_rb /) kbo(:, 1,59,16) = (/ & & 0.92422e+03_rb,0.39860e+03_rb,0.61256e+03_rb,0.90525e+03_rb,0.11979e+04_rb /) kbo(:, 2,59,16) = (/ & & 0.78877e+03_rb,0.42275e+03_rb,0.60926e+03_rb,0.90029e+03_rb,0.11913e+04_rb /) kbo(:, 3,59,16) = (/ & & 0.35853e+03_rb,0.65225e+03_rb,0.60710e+03_rb,0.89586e+03_rb,0.11854e+04_rb /) kbo(:, 4,59,16) = (/ & & 0.54975e+03_rb,0.50730e+03_rb,0.60576e+03_rb,0.88606e+03_rb,0.11813e+04_rb /) kbo(:, 5,59,16) = (/ & & 0.52585e+03_rb,0.62205e+03_rb,0.60442e+03_rb,0.89194e+03_rb,0.11799e+04_rb /) end subroutine sw_kgb28 ! ************************************************************************** subroutine sw_kgb29 ! ************************************************************************** use parkind, only : im => kind_im, rb => kind_rb use rrsw_kg29, only : kao, kbo, selfrefo, forrefo, sfluxrefo, & absh2oo, absco2o, rayl, layreffr implicit none save ! Kurucz solar source function sfluxrefo(:) = (/ & & 1.32880_rb , 2.14018_rb , 1.97612_rb , 1.79000_rb , & & 1.51242_rb , 1.22977_rb , 1.06052_rb , 0.800996_rb , & & 0.748053_rb , 8.64369e-02_rb, 7.10675e-02_rb, 5.62425e-02_rb, & & 4.46988e-02_rb, 3.07441e-02_rb, 1.16728e-02_rb, 1.65573e-03_rb /) absco2o(:) = (/ & & 2.90073e-06_rb, 2.12382e-05_rb, 1.03032e-04_rb, 1.86481e-04_rb, & & 4.31997e-04_rb, 6.08238e-04_rb, 2.17603e-03_rb, 4.64479e-02_rb, & & 2.96956_rb , 14.9569_rb , 28.4831_rb , 61.3998_rb , & & 164.129_rb , 832.282_rb , 4995.02_rb , 12678.1_rb /) absh2oo(:) = (/ & & 2.99508e-04_rb, 3.95012e-03_rb, 1.49316e-02_rb, 3.24384e-02_rb, & & 6.92879e-02_rb, 0.123523_rb , 0.360985_rb , 1.86434_rb , & & 10.38157_rb , 0.214129_rb , 0.213914_rb , 0.212781_rb , & & 0.215562_rb , 0.218087_rb , 0.220918_rb , 0.218546_rb /) ! Rayleigh extinction coefficient at v = 2200 cm-1. rayl = 9.30e-11_rb layreffr = 49 ! ------------------------------------------------------------------ ! The array KAO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels> ~100mb, temperatures, and binary ! species parameters (see taumol.f for definition). The first ! index in the array, JS, runs from 1 to 9, and corresponds to ! different values of the binary species parameter. For instance, ! JS=1 refers to dry air, JS = 2 corresponds to the paramter value 1/8, ! JS = 3 corresponds to the parameter value 2/8, etc. The second index ! in the array, JT, which runs from 1 to 5, corresponds to different ! temperatures. More specifically, JT = 3 means that the data are for ! the reference temperature TREF for this pressure level, JT = 2 refers ! to TREF-15, JT = 1 is for TREF-30, JT = 4 is for TREF+15, and JT = 5 ! is for TREF+30. The third index, JP, runs from 1 to 13 and refers ! to the JPth reference pressure level (see taumol.f for these levels ! in mb). The fourth index, IG, goes from 1 to 16, and indicates ! which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kao(:, 1, 1) = (/ & & 0.11565e-03_rb,0.10123e-03_rb,0.90804e-04_rb,0.82282e-04_rb,0.71083e-04_rb /) kao(:, 2, 1) = (/ & & 0.96434e-04_rb,0.82830e-04_rb,0.72366e-04_rb,0.61803e-04_rb,0.52497e-04_rb /) kao(:, 3, 1) = (/ & & 0.64539e-04_rb,0.56659e-04_rb,0.46605e-04_rb,0.39815e-04_rb,0.37118e-04_rb /) kao(:, 4, 1) = (/ & & 0.34417e-04_rb,0.27113e-04_rb,0.25362e-04_rb,0.30345e-04_rb,0.36275e-04_rb /) kao(:, 5, 1) = (/ & & 0.12260e-04_rb,0.15856e-04_rb,0.20834e-04_rb,0.27363e-04_rb,0.36114e-04_rb /) kao(:, 6, 1) = (/ & & 0.10221e-04_rb,0.14598e-04_rb,0.19695e-04_rb,0.25976e-04_rb,0.33702e-04_rb /) kao(:, 7, 1) = (/ & & 0.97563e-05_rb,0.13809e-04_rb,0.20231e-04_rb,0.27238e-04_rb,0.36110e-04_rb /) kao(:, 8, 1) = (/ & & 0.14062e-04_rb,0.19587e-04_rb,0.27069e-04_rb,0.36937e-04_rb,0.49415e-04_rb /) kao(:, 9, 1) = (/ & & 0.36371e-04_rb,0.48122e-04_rb,0.61586e-04_rb,0.77647e-04_rb,0.99897e-04_rb /) kao(:,10, 1) = (/ & & 0.99203e-04_rb,0.12842e-03_rb,0.16588e-03_rb,0.20834e-03_rb,0.26000e-03_rb /) kao(:,11, 1) = (/ & & 0.13233e-03_rb,0.17318e-03_rb,0.22059e-03_rb,0.28904e-03_rb,0.36062e-03_rb /) kao(:,12, 1) = (/ & & 0.13379e-03_rb,0.17484e-03_rb,0.23687e-03_rb,0.30286e-03_rb,0.37504e-03_rb /) kao(:,13, 1) = (/ & & 0.11740e-03_rb,0.15667e-03_rb,0.20962e-03_rb,0.26768e-03_rb,0.33485e-03_rb /) kao(:, 1, 2) = (/ & & 0.10246e-03_rb,0.10450e-03_rb,0.97383e-04_rb,0.96398e-04_rb,0.10549e-03_rb /) kao(:, 2, 2) = (/ & & 0.10589e-03_rb,0.10240e-03_rb,0.95801e-04_rb,0.98509e-04_rb,0.11993e-03_rb /) kao(:, 3, 2) = (/ & & 0.94054e-04_rb,0.87009e-04_rb,0.10941e-03_rb,0.13486e-03_rb,0.15918e-03_rb /) kao(:, 4, 2) = (/ & & 0.11883e-03_rb,0.14236e-03_rb,0.16636e-03_rb,0.18235e-03_rb,0.19785e-03_rb /) kao(:, 5, 2) = (/ & & 0.17800e-03_rb,0.19347e-03_rb,0.20977e-03_rb,0.22730e-03_rb,0.25111e-03_rb /) kao(:, 6, 2) = (/ & & 0.22243e-03_rb,0.24157e-03_rb,0.26567e-03_rb,0.28549e-03_rb,0.30723e-03_rb /) kao(:, 7, 2) = (/ & & 0.29248e-03_rb,0.32242e-03_rb,0.34635e-03_rb,0.37915e-03_rb,0.40803e-03_rb /) kao(:, 8, 2) = (/ & & 0.43386e-03_rb,0.48611e-03_rb,0.52681e-03_rb,0.56812e-03_rb,0.60642e-03_rb /) kao(:, 9, 2) = (/ & & 0.89109e-03_rb,0.10345e-02_rb,0.11794e-02_rb,0.13045e-02_rb,0.14303e-02_rb /) kao(:,10, 2) = (/ & & 0.21538e-02_rb,0.24459e-02_rb,0.27329e-02_rb,0.30932e-02_rb,0.35253e-02_rb /) kao(:,11, 2) = (/ & & 0.29272e-02_rb,0.32676e-02_rb,0.36353e-02_rb,0.40062e-02_rb,0.45441e-02_rb /) kao(:,12, 2) = (/ & & 0.30762e-02_rb,0.34365e-02_rb,0.38146e-02_rb,0.41556e-02_rb,0.47164e-02_rb /) kao(:,13, 2) = (/ & & 0.27808e-02_rb,0.31114e-02_rb,0.34383e-02_rb,0.37954e-02_rb,0.42576e-02_rb /) kao(:, 1, 3) = (/ & & 0.24042e-03_rb,0.32719e-03_rb,0.44370e-03_rb,0.56836e-03_rb,0.70357e-03_rb /) kao(:, 2, 3) = (/ & & 0.23303e-03_rb,0.31901e-03_rb,0.41926e-03_rb,0.52400e-03_rb,0.62365e-03_rb /) kao(:, 3, 3) = (/ & & 0.35050e-03_rb,0.42158e-03_rb,0.47490e-03_rb,0.53390e-03_rb,0.60411e-03_rb /) kao(:, 4, 3) = (/ & & 0.49954e-03_rb,0.53067e-03_rb,0.56338e-03_rb,0.60859e-03_rb,0.66569e-03_rb /) kao(:, 5, 3) = (/ & & 0.66908e-03_rb,0.69727e-03_rb,0.72898e-03_rb,0.76756e-03_rb,0.80358e-03_rb /) kao(:, 6, 3) = (/ & & 0.88634e-03_rb,0.92853e-03_rb,0.96856e-03_rb,0.10101e-02_rb,0.10556e-02_rb /) kao(:, 7, 3) = (/ & & 0.11659e-02_rb,0.12355e-02_rb,0.13238e-02_rb,0.13889e-02_rb,0.14491e-02_rb /) kao(:, 8, 3) = (/ & & 0.17485e-02_rb,0.18223e-02_rb,0.19411e-02_rb,0.20705e-02_rb,0.22025e-02_rb /) kao(:, 9, 3) = (/ & & 0.42442e-02_rb,0.43561e-02_rb,0.45061e-02_rb,0.47505e-02_rb,0.50358e-02_rb /) kao(:,10, 3) = (/ & & 0.10940e-01_rb,0.11499e-01_rb,0.11906e-01_rb,0.12570e-01_rb,0.12803e-01_rb /) kao(:,11, 3) = (/ & & 0.14287e-01_rb,0.15010e-01_rb,0.15581e-01_rb,0.16054e-01_rb,0.16609e-01_rb /) kao(:,12, 3) = (/ & & 0.14856e-01_rb,0.15546e-01_rb,0.16074e-01_rb,0.16478e-01_rb,0.17057e-01_rb /) kao(:,13, 3) = (/ & & 0.13257e-01_rb,0.13834e-01_rb,0.14155e-01_rb,0.14723e-01_rb,0.15095e-01_rb /) kao(:, 1, 4) = (/ & & 0.24391e-02_rb,0.28720e-02_rb,0.33497e-02_rb,0.38926e-02_rb,0.45054e-02_rb /) kao(:, 2, 4) = (/ & & 0.22506e-02_rb,0.26004e-02_rb,0.30002e-02_rb,0.34490e-02_rb,0.39579e-02_rb /) kao(:, 3, 4) = (/ & & 0.22153e-02_rb,0.25711e-02_rb,0.29320e-02_rb,0.33330e-02_rb,0.37728e-02_rb /) kao(:, 4, 4) = (/ & & 0.22483e-02_rb,0.25445e-02_rb,0.28745e-02_rb,0.32484e-02_rb,0.36554e-02_rb /) kao(:, 5, 4) = (/ & & 0.23388e-02_rb,0.25985e-02_rb,0.28914e-02_rb,0.32377e-02_rb,0.36113e-02_rb /) kao(:, 6, 4) = (/ & & 0.24669e-02_rb,0.26579e-02_rb,0.28834e-02_rb,0.31538e-02_rb,0.34593e-02_rb /) kao(:, 7, 4) = (/ & & 0.32536e-02_rb,0.33413e-02_rb,0.34375e-02_rb,0.35905e-02_rb,0.38010e-02_rb /) kao(:, 8, 4) = (/ & & 0.51228e-02_rb,0.51967e-02_rb,0.52820e-02_rb,0.53446e-02_rb,0.53797e-02_rb /) kao(:, 9, 4) = (/ & & 0.13029e-01_rb,0.13065e-01_rb,0.12891e-01_rb,0.12848e-01_rb,0.12777e-01_rb /) kao(:,10, 4) = (/ & & 0.29911e-01_rb,0.30117e-01_rb,0.28340e-01_rb,0.27321e-01_rb,0.27485e-01_rb /) kao(:,11, 4) = (/ & & 0.36663e-01_rb,0.36877e-01_rb,0.34688e-01_rb,0.33004e-01_rb,0.32437e-01_rb /) kao(:,12, 4) = (/ & & 0.37282e-01_rb,0.37775e-01_rb,0.34910e-01_rb,0.33463e-01_rb,0.33074e-01_rb /) kao(:,13, 4) = (/ & & 0.33412e-01_rb,0.32961e-01_rb,0.30323e-01_rb,0.29437e-01_rb,0.29572e-01_rb /) kao(:, 1, 5) = (/ & & 0.20792e-01_rb,0.22727e-01_rb,0.25207e-01_rb,0.27650e-01_rb,0.29866e-01_rb /) kao(:, 2, 5) = (/ & & 0.17515e-01_rb,0.19421e-01_rb,0.21509e-01_rb,0.23389e-01_rb,0.25418e-01_rb /) kao(:, 3, 5) = (/ & & 0.14912e-01_rb,0.16535e-01_rb,0.18159e-01_rb,0.19873e-01_rb,0.21718e-01_rb /) kao(:, 4, 5) = (/ & & 0.13498e-01_rb,0.14786e-01_rb,0.16253e-01_rb,0.17812e-01_rb,0.19494e-01_rb /) kao(:, 5, 5) = (/ & & 0.12840e-01_rb,0.13983e-01_rb,0.15257e-01_rb,0.16617e-01_rb,0.18015e-01_rb /) kao(:, 6, 5) = (/ & & 0.12557e-01_rb,0.13714e-01_rb,0.14939e-01_rb,0.16145e-01_rb,0.17356e-01_rb /) kao(:, 7, 5) = (/ & & 0.11839e-01_rb,0.12951e-01_rb,0.14090e-01_rb,0.15237e-01_rb,0.16396e-01_rb /) kao(:, 8, 5) = (/ & & 0.13190e-01_rb,0.13998e-01_rb,0.14783e-01_rb,0.15641e-01_rb,0.16632e-01_rb /) kao(:, 9, 5) = (/ & & 0.24479e-01_rb,0.24660e-01_rb,0.25206e-01_rb,0.25571e-01_rb,0.26098e-01_rb /) kao(:,10, 5) = (/ & & 0.62373e-01_rb,0.60241e-01_rb,0.61372e-01_rb,0.61530e-01_rb,0.60978e-01_rb /) kao(:,11, 5) = (/ & & 0.76394e-01_rb,0.73727e-01_rb,0.74701e-01_rb,0.75649e-01_rb,0.75608e-01_rb /) kao(:,12, 5) = (/ & & 0.76656e-01_rb,0.73608e-01_rb,0.75610e-01_rb,0.76362e-01_rb,0.76033e-01_rb /) kao(:,13, 5) = (/ & & 0.66025e-01_rb,0.64890e-01_rb,0.66873e-01_rb,0.66992e-01_rb,0.66685e-01_rb /) kao(:, 1, 6) = (/ & & 0.99799e-01_rb,0.10479e+00_rb,0.10918e+00_rb,0.11347e+00_rb,0.11767e+00_rb /) kao(:, 2, 6) = (/ & & 0.87946e-01_rb,0.91820e-01_rb,0.95208e-01_rb,0.99071e-01_rb,0.10286e+00_rb /) kao(:, 3, 6) = (/ & & 0.76753e-01_rb,0.80377e-01_rb,0.84204e-01_rb,0.87924e-01_rb,0.91370e-01_rb /) kao(:, 4, 6) = (/ & & 0.67002e-01_rb,0.70630e-01_rb,0.73736e-01_rb,0.76764e-01_rb,0.79671e-01_rb /) kao(:, 5, 6) = (/ & & 0.58933e-01_rb,0.61857e-01_rb,0.64756e-01_rb,0.67323e-01_rb,0.69871e-01_rb /) kao(:, 6, 6) = (/ & & 0.53143e-01_rb,0.55386e-01_rb,0.57507e-01_rb,0.59715e-01_rb,0.62263e-01_rb /) kao(:, 7, 6) = (/ & & 0.50856e-01_rb,0.52603e-01_rb,0.54414e-01_rb,0.56230e-01_rb,0.58483e-01_rb /) kao(:, 8, 6) = (/ & & 0.50528e-01_rb,0.52598e-01_rb,0.54634e-01_rb,0.56710e-01_rb,0.58872e-01_rb /) kao(:, 9, 6) = (/ & & 0.64616e-01_rb,0.65915e-01_rb,0.67210e-01_rb,0.68742e-01_rb,0.70092e-01_rb /) kao(:,10, 6) = (/ & & 0.11509e+00_rb,0.11448e+00_rb,0.11368e+00_rb,0.11348e+00_rb,0.11401e+00_rb /) kao(:,11, 6) = (/ & & 0.14266e+00_rb,0.13997e+00_rb,0.13810e+00_rb,0.13688e+00_rb,0.13622e+00_rb /) kao(:,12, 6) = (/ & & 0.14464e+00_rb,0.14198e+00_rb,0.13915e+00_rb,0.13789e+00_rb,0.13781e+00_rb /) kao(:,13, 6) = (/ & & 0.12550e+00_rb,0.12328e+00_rb,0.12173e+00_rb,0.12127e+00_rb,0.12078e+00_rb /) kao(:, 1, 7) = (/ & & 0.30825e+00_rb,0.31119e+00_rb,0.31335e+00_rb,0.31641e+00_rb,0.32024e+00_rb /) kao(:, 2, 7) = (/ & & 0.28100e+00_rb,0.28660e+00_rb,0.29192e+00_rb,0.29680e+00_rb,0.30014e+00_rb /) kao(:, 3, 7) = (/ & & 0.26374e+00_rb,0.27129e+00_rb,0.27887e+00_rb,0.28626e+00_rb,0.29478e+00_rb /) kao(:, 4, 7) = (/ & & 0.24539e+00_rb,0.25325e+00_rb,0.26070e+00_rb,0.26955e+00_rb,0.27794e+00_rb /) kao(:, 5, 7) = (/ & & 0.21737e+00_rb,0.22642e+00_rb,0.23531e+00_rb,0.24408e+00_rb,0.25322e+00_rb /) kao(:, 6, 7) = (/ & & 0.19066e+00_rb,0.19913e+00_rb,0.20834e+00_rb,0.21782e+00_rb,0.22698e+00_rb /) kao(:, 7, 7) = (/ & & 0.17386e+00_rb,0.18325e+00_rb,0.19211e+00_rb,0.20024e+00_rb,0.20881e+00_rb /) kao(:, 8, 7) = (/ & & 0.17625e+00_rb,0.18236e+00_rb,0.18905e+00_rb,0.19574e+00_rb,0.20193e+00_rb /) kao(:, 9, 7) = (/ & & 0.21820e+00_rb,0.22416e+00_rb,0.22986e+00_rb,0.23737e+00_rb,0.24518e+00_rb /) kao(:,10, 7) = (/ & & 0.33529e+00_rb,0.34302e+00_rb,0.35397e+00_rb,0.36397e+00_rb,0.37339e+00_rb /) kao(:,11, 7) = (/ & & 0.38474e+00_rb,0.39863e+00_rb,0.41168e+00_rb,0.42115e+00_rb,0.42917e+00_rb /) kao(:,12, 7) = (/ & & 0.38499e+00_rb,0.39580e+00_rb,0.40497e+00_rb,0.41279e+00_rb,0.42045e+00_rb /) kao(:,13, 7) = (/ & & 0.34291e+00_rb,0.35180e+00_rb,0.35970e+00_rb,0.36697e+00_rb,0.37460e+00_rb /) kao(:, 1, 8) = (/ & & 0.87131e+00_rb,0.87876e+00_rb,0.88509e+00_rb,0.89061e+00_rb,0.89432e+00_rb /) kao(:, 2, 8) = (/ & & 0.78963e+00_rb,0.79236e+00_rb,0.79978e+00_rb,0.80959e+00_rb,0.82163e+00_rb /) kao(:, 3, 8) = (/ & & 0.82479e+00_rb,0.82842e+00_rb,0.83069e+00_rb,0.83679e+00_rb,0.84334e+00_rb /) kao(:, 4, 8) = (/ & & 0.90877e+00_rb,0.91962e+00_rb,0.92466e+00_rb,0.93139e+00_rb,0.93904e+00_rb /) kao(:, 5, 8) = (/ & & 0.97131e+00_rb,0.99301e+00_rb,0.10095e+01_rb,0.10270e+01_rb,0.10371e+01_rb /) kao(:, 6, 8) = (/ & & 0.96984e+00_rb,0.10040e+01_rb,0.10393e+01_rb,0.10670e+01_rb,0.10990e+01_rb /) kao(:, 7, 8) = (/ & & 0.95686e+00_rb,0.10029e+01_rb,0.10449e+01_rb,0.10923e+01_rb,0.11334e+01_rb /) kao(:, 8, 8) = (/ & & 0.97227e+00_rb,0.10380e+01_rb,0.11014e+01_rb,0.11624e+01_rb,0.12218e+01_rb /) kao(:, 9, 8) = (/ & & 0.12290e+01_rb,0.13071e+01_rb,0.14005e+01_rb,0.15005e+01_rb,0.15980e+01_rb /) kao(:,10, 8) = (/ & & 0.17996e+01_rb,0.19304e+01_rb,0.20752e+01_rb,0.22219e+01_rb,0.23814e+01_rb /) kao(:,11, 8) = (/ & & 0.19289e+01_rb,0.20656e+01_rb,0.22166e+01_rb,0.23715e+01_rb,0.25386e+01_rb /) kao(:,12, 8) = (/ & & 0.18429e+01_rb,0.19765e+01_rb,0.21175e+01_rb,0.22722e+01_rb,0.24239e+01_rb /) kao(:,13, 8) = (/ & & 0.16420e+01_rb,0.17464e+01_rb,0.18635e+01_rb,0.19773e+01_rb,0.21012e+01_rb /) kao(:, 1, 9) = (/ & & 0.39892e+01_rb,0.40153e+01_rb,0.40324e+01_rb,0.40465e+01_rb,0.40524e+01_rb /) kao(:, 2, 9) = (/ & & 0.38871e+01_rb,0.39035e+01_rb,0.39123e+01_rb,0.39056e+01_rb,0.38966e+01_rb /) kao(:, 3, 9) = (/ & & 0.37883e+01_rb,0.37950e+01_rb,0.38080e+01_rb,0.37991e+01_rb,0.37826e+01_rb /) kao(:, 4, 9) = (/ & & 0.37778e+01_rb,0.37663e+01_rb,0.37745e+01_rb,0.37709e+01_rb,0.37556e+01_rb /) kao(:, 5, 9) = (/ & & 0.38757e+01_rb,0.38404e+01_rb,0.38539e+01_rb,0.39228e+01_rb,0.39777e+01_rb /) kao(:, 6, 9) = (/ & & 0.40990e+01_rb,0.41407e+01_rb,0.41745e+01_rb,0.42258e+01_rb,0.42574e+01_rb /) kao(:, 7, 9) = (/ & & 0.46288e+01_rb,0.46726e+01_rb,0.47096e+01_rb,0.47165e+01_rb,0.47374e+01_rb /) kao(:, 8, 9) = (/ & & 0.58432e+01_rb,0.58474e+01_rb,0.58608e+01_rb,0.58935e+01_rb,0.59261e+01_rb /) kao(:, 9, 9) = (/ & & 0.88685e+01_rb,0.88567e+01_rb,0.88137e+01_rb,0.87653e+01_rb,0.87262e+01_rb /) kao(:,10, 9) = (/ & & 0.10455e+02_rb,0.10242e+02_rb,0.10004e+02_rb,0.97643e+01_rb,0.95067e+01_rb /) kao(:,11, 9) = (/ & & 0.10240e+02_rb,0.99968e+01_rb,0.97347e+01_rb,0.94750e+01_rb,0.92006e+01_rb /) kao(:,12, 9) = (/ & & 0.10401e+02_rb,0.10165e+02_rb,0.99240e+01_rb,0.96656e+01_rb,0.94112e+01_rb /) kao(:,13, 9) = (/ & & 0.10764e+02_rb,0.10580e+02_rb,0.10381e+02_rb,0.10188e+02_rb,0.99802e+01_rb /) kao(:, 1,10) = (/ & & 0.10712e+02_rb,0.10575e+02_rb,0.10581e+02_rb,0.10556e+02_rb,0.10575e+02_rb /) kao(:, 2,10) = (/ & & 0.11144e+02_rb,0.11109e+02_rb,0.11034e+02_rb,0.11107e+02_rb,0.11138e+02_rb /) kao(:, 3,10) = (/ & & 0.12257e+02_rb,0.12112e+02_rb,0.11992e+02_rb,0.11951e+02_rb,0.12031e+02_rb /) kao(:, 4,10) = (/ & & 0.13040e+02_rb,0.13085e+02_rb,0.12882e+02_rb,0.12756e+02_rb,0.12737e+02_rb /) kao(:, 5,10) = (/ & & 0.13809e+02_rb,0.13771e+02_rb,0.13452e+02_rb,0.12567e+02_rb,0.12086e+02_rb /) kao(:, 6,10) = (/ & & 0.14608e+02_rb,0.13942e+02_rb,0.13365e+02_rb,0.13494e+02_rb,0.13762e+02_rb /) kao(:, 7,10) = (/ & & 0.14665e+02_rb,0.14685e+02_rb,0.15121e+02_rb,0.15602e+02_rb,0.15768e+02_rb /) kao(:, 8,10) = (/ & & 0.15612e+02_rb,0.16507e+02_rb,0.16644e+02_rb,0.16706e+02_rb,0.16696e+02_rb /) kao(:, 9,10) = (/ & & 0.15405e+02_rb,0.15874e+02_rb,0.16716e+02_rb,0.17957e+02_rb,0.17859e+02_rb /) kao(:,10,10) = (/ & & 0.19406e+00_rb,0.17932e+00_rb,0.16660e+00_rb,0.15558e+00_rb,0.14589e+00_rb /) kao(:,11,10) = (/ & & 0.27650e+00_rb,0.25556e+00_rb,0.23727e+00_rb,0.22182e+00_rb,0.20805e+00_rb /) kao(:,12,10) = (/ & & 0.29298e+00_rb,0.27044e+00_rb,0.25162e+00_rb,0.23497e+00_rb,0.22076e+00_rb /) kao(:,13,10) = (/ & & 0.24883e+00_rb,0.22985e+00_rb,0.21413e+00_rb,0.20012e+00_rb,0.18795e+00_rb /) kao(:, 1,11) = (/ & & 0.13650e+02_rb,0.13767e+02_rb,0.13771e+02_rb,0.13650e+02_rb,0.13663e+02_rb /) kao(:, 2,11) = (/ & & 0.15146e+02_rb,0.15253e+02_rb,0.15272e+02_rb,0.15152e+02_rb,0.15138e+02_rb /) kao(:, 3,11) = (/ & & 0.16834e+02_rb,0.17107e+02_rb,0.17158e+02_rb,0.17187e+02_rb,0.17057e+02_rb /) kao(:, 4,11) = (/ & & 0.19191e+02_rb,0.19144e+02_rb,0.19155e+02_rb,0.19247e+02_rb,0.19292e+02_rb /) kao(:, 5,11) = (/ & & 0.20953e+02_rb,0.21248e+02_rb,0.21186e+02_rb,0.21027e+02_rb,0.20703e+02_rb /) kao(:, 6,11) = (/ & & 0.22592e+02_rb,0.22192e+02_rb,0.22056e+02_rb,0.20972e+02_rb,0.19910e+02_rb /) kao(:, 7,11) = (/ & & 0.24652e+02_rb,0.23679e+02_rb,0.22339e+02_rb,0.21302e+02_rb,0.21697e+02_rb /) kao(:, 8,11) = (/ & & 0.22508e+02_rb,0.20438e+02_rb,0.20163e+02_rb,0.20628e+02_rb,0.20954e+02_rb /) kao(:, 9,11) = (/ & & 0.10264e+02_rb,0.85820e+01_rb,0.65270e+01_rb,0.38883e+01_rb,0.27974e+01_rb /) kao(:,10,11) = (/ & & 0.19324e+00_rb,0.17913e+00_rb,0.16619e+00_rb,0.15516e+00_rb,0.14524e+00_rb /) kao(:,11,11) = (/ & & 0.27573e+00_rb,0.25425e+00_rb,0.23627e+00_rb,0.22036e+00_rb,0.20639e+00_rb /) kao(:,12,11) = (/ & & 0.29224e+00_rb,0.26998e+00_rb,0.25055e+00_rb,0.23380e+00_rb,0.21908e+00_rb /) kao(:,13,11) = (/ & & 0.24964e+00_rb,0.23056e+00_rb,0.21391e+00_rb,0.19980e+00_rb,0.18698e+00_rb /) kao(:, 1,12) = (/ & & 0.17721e+02_rb,0.17805e+02_rb,0.17752e+02_rb,0.17857e+02_rb,0.17872e+02_rb /) kao(:, 2,12) = (/ & & 0.20222e+02_rb,0.20161e+02_rb,0.20267e+02_rb,0.20335e+02_rb,0.20254e+02_rb /) kao(:, 3,12) = (/ & & 0.23717e+02_rb,0.23414e+02_rb,0.23571e+02_rb,0.23552e+02_rb,0.23687e+02_rb /) kao(:, 4,12) = (/ & & 0.26876e+02_rb,0.26972e+02_rb,0.27155e+02_rb,0.26947e+02_rb,0.27025e+02_rb /) kao(:, 5,12) = (/ & & 0.30213e+02_rb,0.29978e+02_rb,0.30226e+02_rb,0.30477e+02_rb,0.30329e+02_rb /) kao(:, 6,12) = (/ & & 0.33660e+02_rb,0.33482e+02_rb,0.33159e+02_rb,0.32959e+02_rb,0.32299e+02_rb /) kao(:, 7,12) = (/ & & 0.35893e+02_rb,0.35649e+02_rb,0.35067e+02_rb,0.34565e+02_rb,0.32437e+02_rb /) kao(:, 8,12) = (/ & & 0.33426e+02_rb,0.33323e+02_rb,0.31984e+02_rb,0.29587e+02_rb,0.27505e+02_rb /) kao(:, 9,12) = (/ & & 0.46633e-01_rb,0.43205e-01_rb,0.40562e-01_rb,0.38133e-01_rb,0.35900e-01_rb /) kao(:,10,12) = (/ & & 0.19421e+00_rb,0.18024e+00_rb,0.16872e+00_rb,0.15815e+00_rb,0.14837e+00_rb /) kao(:,11,12) = (/ & & 0.27315e+00_rb,0.25480e+00_rb,0.23771e+00_rb,0.22191e+00_rb,0.20780e+00_rb /) kao(:,12,12) = (/ & & 0.29027e+00_rb,0.26969e+00_rb,0.25017e+00_rb,0.23314e+00_rb,0.21774e+00_rb /) kao(:,13,12) = (/ & & 0.24833e+00_rb,0.22943e+00_rb,0.21278e+00_rb,0.19800e+00_rb,0.18543e+00_rb /) kao(:, 1,13) = (/ & & 0.29672e+02_rb,0.29291e+02_rb,0.29191e+02_rb,0.29170e+02_rb,0.29116e+02_rb /) kao(:, 2,13) = (/ & & 0.24713e+02_rb,0.24965e+02_rb,0.25039e+02_rb,0.25355e+02_rb,0.25650e+02_rb /) kao(:, 3,13) = (/ & & 0.30510e+02_rb,0.31166e+02_rb,0.30663e+02_rb,0.31021e+02_rb,0.30901e+02_rb /) kao(:, 4,13) = (/ & & 0.38695e+02_rb,0.38922e+02_rb,0.38741e+02_rb,0.39204e+02_rb,0.38826e+02_rb /) kao(:, 5,13) = (/ & & 0.45118e+02_rb,0.44337e+02_rb,0.43664e+02_rb,0.43267e+02_rb,0.43524e+02_rb /) kao(:, 6,13) = (/ & & 0.34652e+02_rb,0.35182e+02_rb,0.35339e+02_rb,0.35340e+02_rb,0.35899e+02_rb /) kao(:, 7,13) = (/ & & 0.18801e+02_rb,0.18598e+02_rb,0.18855e+02_rb,0.18819e+02_rb,0.19052e+02_rb /) kao(:, 8,13) = (/ & & 0.12297e-01_rb,0.11425e-01_rb,0.10670e-01_rb,0.99994e-02_rb,0.94139e-02_rb /) kao(:, 9,13) = (/ & & 0.46821e-01_rb,0.43361e-01_rb,0.40368e-01_rb,0.37752e-01_rb,0.35493e-01_rb /) kao(:,10,13) = (/ & & 0.19817e+00_rb,0.18303e+00_rb,0.17002e+00_rb,0.15883e+00_rb,0.14933e+00_rb /) kao(:,11,13) = (/ & & 0.28145e+00_rb,0.25995e+00_rb,0.24181e+00_rb,0.22660e+00_rb,0.21326e+00_rb /) kao(:,12,13) = (/ & & 0.29510e+00_rb,0.27294e+00_rb,0.25519e+00_rb,0.23947e+00_rb,0.22551e+00_rb /) kao(:,13,13) = (/ & & 0.24830e+00_rb,0.23074e+00_rb,0.21556e+00_rb,0.20226e+00_rb,0.19029e+00_rb /) kao(:, 1,14) = (/ & & 0.47168e+02_rb,0.46890e+02_rb,0.46612e+02_rb,0.46353e+02_rb,0.46088e+02_rb /) kao(:, 2,14) = (/ & & 0.47771e+02_rb,0.46980e+02_rb,0.46445e+02_rb,0.45828e+02_rb,0.45437e+02_rb /) kao(:, 3,14) = (/ & & 0.42946e+02_rb,0.42652e+02_rb,0.43791e+02_rb,0.43237e+02_rb,0.44104e+02_rb /) kao(:, 4,14) = (/ & & 0.30957e+02_rb,0.30098e+02_rb,0.30055e+02_rb,0.29555e+02_rb,0.29902e+02_rb /) kao(:, 5,14) = (/ & & 0.28397e+01_rb,0.38572e+01_rb,0.42906e+01_rb,0.47091e+01_rb,0.48135e+01_rb /) kao(:, 6,14) = (/ & & 0.36978e-02_rb,0.34591e-02_rb,0.32524e-02_rb,0.30649e-02_rb,0.29018e-02_rb /) kao(:, 7,14) = (/ & & 0.61733e-02_rb,0.57589e-02_rb,0.53925e-02_rb,0.50742e-02_rb,0.47835e-02_rb /) kao(:, 8,14) = (/ & & 0.12390e-01_rb,0.11526e-01_rb,0.10766e-01_rb,0.10096e-01_rb,0.95010e-02_rb /) kao(:, 9,14) = (/ & & 0.47105e-01_rb,0.43648e-01_rb,0.40665e-01_rb,0.38054e-01_rb,0.35722e-01_rb /) kao(:,10,14) = (/ & & 0.19915e+00_rb,0.18412e+00_rb,0.17099e+00_rb,0.15957e+00_rb,0.14948e+00_rb /) kao(:,11,14) = (/ & & 0.28280e+00_rb,0.26124e+00_rb,0.24266e+00_rb,0.22645e+00_rb,0.21214e+00_rb /) kao(:,12,14) = (/ & & 0.29891e+00_rb,0.27613e+00_rb,0.25648e+00_rb,0.23927e+00_rb,0.22423e+00_rb /) kao(:,13,14) = (/ & & 0.25421e+00_rb,0.23484e+00_rb,0.21809e+00_rb,0.20347e+00_rb,0.19057e+00_rb /) kao(:, 1,15) = (/ & & 0.64994e+02_rb,0.64283e+02_rb,0.63755e+02_rb,0.63407e+02_rb,0.63287e+02_rb /) kao(:, 2,15) = (/ & & 0.78266e+02_rb,0.77364e+02_rb,0.76722e+02_rb,0.76285e+02_rb,0.75992e+02_rb /) kao(:, 3,15) = (/ & & 0.41710e+02_rb,0.38379e+02_rb,0.35076e+02_rb,0.35418e+02_rb,0.33306e+02_rb /) kao(:, 4,15) = (/ & & 0.14170e-02_rb,0.13401e-02_rb,0.12716e-02_rb,0.12073e-02_rb,0.11535e-02_rb /) kao(:, 5,15) = (/ & & 0.23659e-02_rb,0.22261e-02_rb,0.21042e-02_rb,0.19950e-02_rb,0.18970e-02_rb /) kao(:, 6,15) = (/ & & 0.37432e-02_rb,0.35105e-02_rb,0.33006e-02_rb,0.31222e-02_rb,0.29521e-02_rb /) kao(:, 7,15) = (/ & & 0.62408e-02_rb,0.58258e-02_rb,0.54782e-02_rb,0.51594e-02_rb,0.48767e-02_rb /) kao(:, 8,15) = (/ & & 0.12522e-01_rb,0.11652e-01_rb,0.10922e-01_rb,0.10265e-01_rb,0.96672e-02_rb /) kao(:, 9,15) = (/ & & 0.47545e-01_rb,0.44152e-01_rb,0.41251e-01_rb,0.38666e-01_rb,0.36358e-01_rb /) kao(:,10,15) = (/ & & 0.20097e+00_rb,0.18592e+00_rb,0.17341e+00_rb,0.16203e+00_rb,0.15235e+00_rb /) kao(:,11,15) = (/ & & 0.28499e+00_rb,0.26428e+00_rb,0.24585e+00_rb,0.22980e+00_rb,0.21575e+00_rb /) kao(:,12,15) = (/ & & 0.30172e+00_rb,0.27929e+00_rb,0.25980e+00_rb,0.24306e+00_rb,0.22789e+00_rb /) kao(:,13,15) = (/ & & 0.25655e+00_rb,0.23731e+00_rb,0.22092e+00_rb,0.20639e+00_rb,0.19367e+00_rb /) kao(:, 1,16) = (/ & & 0.80810e+02_rb,0.81099e+02_rb,0.81190e+02_rb,0.81107e+02_rb,0.80989e+02_rb /) kao(:, 2,16) = (/ & & 0.99319e+02_rb,0.99708e+02_rb,0.99822e+02_rb,0.99871e+02_rb,0.99993e+02_rb /) kao(:, 3,16) = (/ & & 0.46927e+02_rb,0.54316e+02_rb,0.57355e+02_rb,0.53715e+02_rb,0.52802e+02_rb /) kao(:, 4,16) = (/ & & 0.12802e-02_rb,0.12027e-02_rb,0.11386e-02_rb,0.10866e-02_rb,0.10525e-02_rb /) kao(:, 5,16) = (/ & & 0.21675e-02_rb,0.20715e-02_rb,0.19422e-02_rb,0.18402e-02_rb,0.17681e-02_rb /) kao(:, 6,16) = (/ & & 0.34707e-02_rb,0.32796e-02_rb,0.30986e-02_rb,0.29246e-02_rb,0.28034e-02_rb /) kao(:, 7,16) = (/ & & 0.58659e-02_rb,0.55310e-02_rb,0.51820e-02_rb,0.48829e-02_rb,0.46784e-02_rb /) kao(:, 8,16) = (/ & & 0.11875e-01_rb,0.11183e-01_rb,0.10438e-01_rb,0.98038e-02_rb,0.93665e-02_rb /) kao(:, 9,16) = (/ & & 0.45519e-01_rb,0.42850e-01_rb,0.39715e-01_rb,0.37447e-01_rb,0.35369e-01_rb /) kao(:,10,16) = (/ & & 0.19392e+00_rb,0.18108e+00_rb,0.16817e+00_rb,0.15883e+00_rb,0.14864e+00_rb /) kao(:,11,16) = (/ & & 0.27830e+00_rb,0.25715e+00_rb,0.24100e+00_rb,0.22595e+00_rb,0.21321e+00_rb /) kao(:,12,16) = (/ & & 0.29533e+00_rb,0.27422e+00_rb,0.25636e+00_rb,0.23936e+00_rb,0.22658e+00_rb /) kao(:,13,16) = (/ & & 0.25310e+00_rb,0.23535e+00_rb,0.21855e+00_rb,0.20552e+00_rb,0.19293e+00_rb /) ! ----------------------------------------------------------------- ! The array KBO contains absorption coefs at the 16 chosen g-values ! for a range of pressure levels < ~100mb and temperatures. The first ! index in the array, JT, which runs from 1 to 5, corresponds to ! different temperatures. More specifically, JT = 3 means that the ! data are for the reference temperature TREF for this pressure ! level, JT = 2 refers to the temperature TREF-15, JT = 1 is for ! TREF-30, JT = 4 is for TREF+15, and JT = 5 is for TREF+30. ! The second index, JP, runs from 13 to 59 and refers to the JPth ! reference pressure level (see taumol.f for the value of these ! pressure levels in mb). The third index, IG, goes from 1 to 16, ! and tells us which g-interval the absorption coefficients are for. ! ----------------------------------------------------------------- kbo(:,13, 1) = (/ & & 0.18379e-05_rb,0.23296e-05_rb,0.29007e-05_rb,0.35902e-05_rb,0.43437e-05_rb /) kbo(:,14, 1) = (/ & & 0.15919e-05_rb,0.19832e-05_rb,0.24720e-05_rb,0.30683e-05_rb,0.37253e-05_rb /) kbo(:,15, 1) = (/ & & 0.13850e-05_rb,0.17115e-05_rb,0.21225e-05_rb,0.26292e-05_rb,0.31945e-05_rb /) kbo(:,16, 1) = (/ & & 0.11896e-05_rb,0.14680e-05_rb,0.18142e-05_rb,0.22537e-05_rb,0.27284e-05_rb /) kbo(:,17, 1) = (/ & & 0.10228e-05_rb,0.12597e-05_rb,0.15532e-05_rb,0.19272e-05_rb,0.23163e-05_rb /) kbo(:,18, 1) = (/ & & 0.88243e-06_rb,0.10835e-05_rb,0.13316e-05_rb,0.16603e-05_rb,0.19808e-05_rb /) kbo(:,19, 1) = (/ & & 0.75677e-06_rb,0.92925e-06_rb,0.11401e-05_rb,0.14107e-05_rb,0.16901e-05_rb /) kbo(:,20, 1) = (/ & & 0.64614e-06_rb,0.79361e-06_rb,0.97353e-06_rb,0.11964e-05_rb,0.14414e-05_rb /) kbo(:,21, 1) = (/ & & 0.55323e-06_rb,0.67580e-06_rb,0.82647e-06_rb,0.10137e-05_rb,0.12318e-05_rb /) kbo(:,22, 1) = (/ & & 0.47719e-06_rb,0.58149e-06_rb,0.71060e-06_rb,0.87005e-06_rb,0.10605e-05_rb /) kbo(:,23, 1) = (/ & & 0.41128e-06_rb,0.50080e-06_rb,0.61104e-06_rb,0.75347e-06_rb,0.91200e-06_rb /) kbo(:,24, 1) = (/ & & 0.35306e-06_rb,0.42860e-06_rb,0.52320e-06_rb,0.65156e-06_rb,0.78122e-06_rb /) kbo(:,25, 1) = (/ & & 0.30363e-06_rb,0.36731e-06_rb,0.44673e-06_rb,0.56097e-06_rb,0.66791e-06_rb /) kbo(:,26, 1) = (/ & & 0.26073e-06_rb,0.31537e-06_rb,0.38738e-06_rb,0.48210e-06_rb,0.57382e-06_rb /) kbo(:,27, 1) = (/ & & 0.22303e-06_rb,0.26986e-06_rb,0.33628e-06_rb,0.41161e-06_rb,0.48722e-06_rb /) kbo(:,28, 1) = (/ & & 0.18954e-06_rb,0.22952e-06_rb,0.28797e-06_rb,0.35166e-06_rb,0.41440e-06_rb /) kbo(:,29, 1) = (/ & & 0.16106e-06_rb,0.19430e-06_rb,0.24661e-06_rb,0.29815e-06_rb,0.35151e-06_rb /) kbo(:,30, 1) = (/ & & 0.13630e-06_rb,0.16528e-06_rb,0.20922e-06_rb,0.25193e-06_rb,0.29913e-06_rb /) kbo(:,31, 1) = (/ & & 0.11504e-06_rb,0.14276e-06_rb,0.17807e-06_rb,0.21482e-06_rb,0.25451e-06_rb /) kbo(:,32, 1) = (/ & & 0.96980e-07_rb,0.12215e-06_rb,0.15159e-06_rb,0.18179e-06_rb,0.21515e-06_rb /) kbo(:,33, 1) = (/ & & 0.81598e-07_rb,0.10315e-06_rb,0.12730e-06_rb,0.15190e-06_rb,0.18093e-06_rb /) kbo(:,34, 1) = (/ & & 0.67700e-07_rb,0.85970e-07_rb,0.10559e-06_rb,0.12608e-06_rb,0.15006e-06_rb /) kbo(:,35, 1) = (/ & & 0.55177e-07_rb,0.69519e-07_rb,0.85967e-07_rb,0.10223e-06_rb,0.12147e-06_rb /) kbo(:,36, 1) = (/ & & 0.43924e-07_rb,0.54395e-07_rb,0.67998e-07_rb,0.81142e-07_rb,0.95717e-07_rb /) kbo(:,37, 1) = (/ & & 0.34469e-07_rb,0.41036e-07_rb,0.52575e-07_rb,0.63117e-07_rb,0.74301e-07_rb /) kbo(:,38, 1) = (/ & & 0.26777e-07_rb,0.31734e-07_rb,0.40555e-07_rb,0.49032e-07_rb,0.57653e-07_rb /) kbo(:,39, 1) = (/ & & 0.20670e-07_rb,0.24721e-07_rb,0.30685e-07_rb,0.37873e-07_rb,0.44555e-07_rb /) kbo(:,40, 1) = (/ & & 0.15860e-07_rb,0.19032e-07_rb,0.22612e-07_rb,0.28845e-07_rb,0.34246e-07_rb /) kbo(:,41, 1) = (/ & & 0.12129e-07_rb,0.14603e-07_rb,0.17357e-07_rb,0.21851e-07_rb,0.26346e-07_rb /) kbo(:,42, 1) = (/ & & 0.92319e-08_rb,0.11199e-07_rb,0.13365e-07_rb,0.16174e-07_rb,0.20019e-07_rb /) kbo(:,43, 1) = (/ & & 0.69289e-08_rb,0.84537e-08_rb,0.10159e-07_rb,0.11992e-07_rb,0.14940e-07_rb /) kbo(:,44, 1) = (/ & & 0.51546e-08_rb,0.63380e-08_rb,0.76593e-08_rb,0.90562e-08_rb,0.10716e-07_rb /) kbo(:,45, 1) = (/ & & 0.38335e-08_rb,0.47085e-08_rb,0.57219e-08_rb,0.68148e-08_rb,0.79518e-08_rb /) kbo(:,46, 1) = (/ & & 0.28583e-08_rb,0.34724e-08_rb,0.42447e-08_rb,0.50888e-08_rb,0.59494e-08_rb /) kbo(:,47, 1) = (/ & & 0.20945e-08_rb,0.25418e-08_rb,0.31058e-08_rb,0.37494e-08_rb,0.44274e-08_rb /) kbo(:,48, 1) = (/ & & 0.15164e-08_rb,0.18560e-08_rb,0.22628e-08_rb,0.27371e-08_rb,0.32773e-08_rb /) kbo(:,49, 1) = (/ & & 0.10916e-08_rb,0.13465e-08_rb,0.16387e-08_rb,0.19740e-08_rb,0.23865e-08_rb /) kbo(:,50, 1) = (/ & & 0.78324e-09_rb,0.98361e-09_rb,0.11977e-08_rb,0.14517e-08_rb,0.17457e-08_rb /) kbo(:,51, 1) = (/ & & 0.57263e-09_rb,0.71786e-09_rb,0.87689e-09_rb,0.10705e-08_rb,0.12881e-08_rb /) kbo(:,52, 1) = (/ & & 0.41574e-09_rb,0.51264e-09_rb,0.64152e-09_rb,0.78315e-09_rb,0.94705e-09_rb /) kbo(:,53, 1) = (/ & & 0.29940e-09_rb,0.36836e-09_rb,0.45886e-09_rb,0.56405e-09_rb,0.69166e-09_rb /) kbo(:,54, 1) = (/ & & 0.22617e-09_rb,0.27395e-09_rb,0.33754e-09_rb,0.42095e-09_rb,0.51544e-09_rb /) kbo(:,55, 1) = (/ & & 0.17483e-09_rb,0.20845e-09_rb,0.25546e-09_rb,0.31817e-09_rb,0.39119e-09_rb /) kbo(:,56, 1) = (/ & & 0.13496e-09_rb,0.15930e-09_rb,0.19380e-09_rb,0.23861e-09_rb,0.29770e-09_rb /) kbo(:,57, 1) = (/ & & 0.10406e-09_rb,0.12247e-09_rb,0.14749e-09_rb,0.18078e-09_rb,0.22597e-09_rb /) kbo(:,58, 1) = (/ & & 0.81345e-10_rb,0.94816e-10_rb,0.11329e-09_rb,0.13832e-09_rb,0.17161e-09_rb /) kbo(:,59, 1) = (/ & & 0.67159e-10_rb,0.78312e-10_rb,0.94745e-10_rb,0.11544e-09_rb,0.14442e-09_rb /) kbo(:,13, 2) = (/ & & 0.16654e-04_rb,0.18728e-04_rb,0.21238e-04_rb,0.24491e-04_rb,0.29038e-04_rb /) kbo(:,14, 2) = (/ & & 0.15636e-04_rb,0.17574e-04_rb,0.19918e-04_rb,0.23671e-04_rb,0.27237e-04_rb /) kbo(:,15, 2) = (/ & & 0.14853e-04_rb,0.16629e-04_rb,0.19700e-04_rb,0.22604e-04_rb,0.25586e-04_rb /) kbo(:,16, 2) = (/ & & 0.13519e-04_rb,0.15923e-04_rb,0.18289e-04_rb,0.20530e-04_rb,0.22799e-04_rb /) kbo(:,17, 2) = (/ & & 0.12411e-04_rb,0.14439e-04_rb,0.16431e-04_rb,0.18235e-04_rb,0.20109e-04_rb /) kbo(:,18, 2) = (/ & & 0.11267e-04_rb,0.12880e-04_rb,0.14429e-04_rb,0.16005e-04_rb,0.17538e-04_rb /) kbo(:,19, 2) = (/ & & 0.10025e-04_rb,0.11332e-04_rb,0.12550e-04_rb,0.13853e-04_rb,0.15103e-04_rb /) kbo(:,20, 2) = (/ & & 0.86342e-05_rb,0.97455e-05_rb,0.10778e-04_rb,0.11898e-04_rb,0.12789e-04_rb /) kbo(:,21, 2) = (/ & & 0.74004e-05_rb,0.83107e-05_rb,0.91633e-05_rb,0.10071e-04_rb,0.10674e-04_rb /) kbo(:,22, 2) = (/ & & 0.63700e-05_rb,0.70549e-05_rb,0.78271e-05_rb,0.85170e-05_rb,0.90022e-05_rb /) kbo(:,23, 2) = (/ & & 0.54404e-05_rb,0.60156e-05_rb,0.66393e-05_rb,0.71320e-05_rb,0.75007e-05_rb /) kbo(:,24, 2) = (/ & & 0.45997e-05_rb,0.50718e-05_rb,0.55713e-05_rb,0.59455e-05_rb,0.62118e-05_rb /) kbo(:,25, 2) = (/ & & 0.38745e-05_rb,0.42617e-05_rb,0.46479e-05_rb,0.49297e-05_rb,0.51638e-05_rb /) kbo(:,26, 2) = (/ & & 0.32488e-05_rb,0.35592e-05_rb,0.38685e-05_rb,0.40759e-05_rb,0.43092e-05_rb /) kbo(:,27, 2) = (/ & & 0.26995e-05_rb,0.29601e-05_rb,0.32065e-05_rb,0.33666e-05_rb,0.35609e-05_rb /) kbo(:,28, 2) = (/ & & 0.22359e-05_rb,0.24429e-05_rb,0.26408e-05_rb,0.27752e-05_rb,0.29293e-05_rb /) kbo(:,29, 2) = (/ & & 0.18487e-05_rb,0.20089e-05_rb,0.21668e-05_rb,0.22793e-05_rb,0.24029e-05_rb /) kbo(:,30, 2) = (/ & & 0.15291e-05_rb,0.16589e-05_rb,0.17733e-05_rb,0.18706e-05_rb,0.19584e-05_rb /) kbo(:,31, 2) = (/ & & 0.12554e-05_rb,0.13589e-05_rb,0.14436e-05_rb,0.15195e-05_rb,0.15928e-05_rb /) kbo(:,32, 2) = (/ & & 0.10248e-05_rb,0.11046e-05_rb,0.11716e-05_rb,0.12288e-05_rb,0.12916e-05_rb /) kbo(:,33, 2) = (/ & & 0.83272e-06_rb,0.89120e-06_rb,0.95036e-06_rb,0.99040e-06_rb,0.10409e-05_rb /) kbo(:,34, 2) = (/ & & 0.67518e-06_rb,0.72097e-06_rb,0.76854e-06_rb,0.80246e-06_rb,0.83912e-06_rb /) kbo(:,35, 2) = (/ & & 0.53577e-06_rb,0.57870e-06_rb,0.61715e-06_rb,0.64987e-06_rb,0.67220e-06_rb /) kbo(:,36, 2) = (/ & & 0.42402e-06_rb,0.45825e-06_rb,0.49307e-06_rb,0.52005e-06_rb,0.54029e-06_rb /) kbo(:,37, 2) = (/ & & 0.33419e-06_rb,0.36213e-06_rb,0.38911e-06_rb,0.41359e-06_rb,0.43177e-06_rb /) kbo(:,38, 2) = (/ & & 0.26240e-06_rb,0.28355e-06_rb,0.30530e-06_rb,0.32881e-06_rb,0.34617e-06_rb /) kbo(:,39, 2) = (/ & & 0.20468e-06_rb,0.22245e-06_rb,0.23980e-06_rb,0.25776e-06_rb,0.27424e-06_rb /) kbo(:,40, 2) = (/ & & 0.16070e-06_rb,0.17478e-06_rb,0.18856e-06_rb,0.20230e-06_rb,0.21801e-06_rb /) kbo(:,41, 2) = (/ & & 0.12583e-06_rb,0.13680e-06_rb,0.14851e-06_rb,0.15917e-06_rb,0.17184e-06_rb /) kbo(:,42, 2) = (/ & & 0.98494e-07_rb,0.10639e-06_rb,0.11634e-06_rb,0.12500e-06_rb,0.13490e-06_rb /) kbo(:,43, 2) = (/ & & 0.75196e-07_rb,0.82809e-07_rb,0.90095e-07_rb,0.97952e-07_rb,0.10509e-06_rb /) kbo(:,44, 2) = (/ & & 0.57305e-07_rb,0.63787e-07_rb,0.69227e-07_rb,0.75635e-07_rb,0.81687e-07_rb /) kbo(:,45, 2) = (/ & & 0.42965e-07_rb,0.48245e-07_rb,0.53346e-07_rb,0.58061e-07_rb,0.63120e-07_rb /) kbo(:,46, 2) = (/ & & 0.31048e-07_rb,0.36457e-07_rb,0.40514e-07_rb,0.44557e-07_rb,0.48550e-07_rb /) kbo(:,47, 2) = (/ & & 0.23094e-07_rb,0.26356e-07_rb,0.30443e-07_rb,0.33954e-07_rb,0.36789e-07_rb /) kbo(:,48, 2) = (/ & & 0.16858e-07_rb,0.19402e-07_rb,0.22449e-07_rb,0.25401e-07_rb,0.28254e-07_rb /) kbo(:,49, 2) = (/ & & 0.11413e-07_rb,0.14055e-07_rb,0.16046e-07_rb,0.18927e-07_rb,0.21080e-07_rb /) kbo(:,50, 2) = (/ & & 0.78650e-08_rb,0.99879e-08_rb,0.11846e-07_rb,0.13654e-07_rb,0.15871e-07_rb /) kbo(:,51, 2) = (/ & & 0.55417e-08_rb,0.68977e-08_rb,0.87006e-08_rb,0.10108e-07_rb,0.11829e-07_rb /) kbo(:,52, 2) = (/ & & 0.39143e-08_rb,0.48025e-08_rb,0.60180e-08_rb,0.73762e-08_rb,0.85851e-08_rb /) kbo(:,53, 2) = (/ & & 0.27637e-08_rb,0.33397e-08_rb,0.41996e-08_rb,0.52787e-08_rb,0.62923e-08_rb /) kbo(:,54, 2) = (/ & & 0.19691e-08_rb,0.24529e-08_rb,0.30071e-08_rb,0.38041e-08_rb,0.46981e-08_rb /) kbo(:,55, 2) = (/ & & 0.13034e-08_rb,0.18257e-08_rb,0.22359e-08_rb,0.28210e-08_rb,0.35386e-08_rb /) kbo(:,56, 2) = (/ & & 0.10026e-08_rb,0.13422e-08_rb,0.16687e-08_rb,0.20793e-08_rb,0.26054e-08_rb /) kbo(:,57, 2) = (/ & & 0.77730e-09_rb,0.91190e-09_rb,0.12468e-08_rb,0.15302e-08_rb,0.19418e-08_rb /) kbo(:,58, 2) = (/ & & 0.60359e-09_rb,0.67848e-09_rb,0.92414e-09_rb,0.11511e-08_rb,0.14401e-08_rb /) kbo(:,59, 2) = (/ & & 0.50441e-09_rb,0.56797e-09_rb,0.77369e-09_rb,0.95612e-09_rb,0.11957e-08_rb /) kbo(:,13, 3) = (/ & & 0.98124e-04_rb,0.10149e-03_rb,0.10303e-03_rb,0.10669e-03_rb,0.10870e-03_rb /) kbo(:,14, 3) = (/ & & 0.88110e-04_rb,0.89730e-04_rb,0.90679e-04_rb,0.91892e-04_rb,0.91413e-04_rb /) kbo(:,15, 3) = (/ & & 0.78555e-04_rb,0.78633e-04_rb,0.79145e-04_rb,0.77689e-04_rb,0.77791e-04_rb /) kbo(:,16, 3) = (/ & & 0.67245e-04_rb,0.67743e-04_rb,0.66690e-04_rb,0.65765e-04_rb,0.65950e-04_rb /) kbo(:,17, 3) = (/ & & 0.57553e-04_rb,0.57490e-04_rb,0.56012e-04_rb,0.55634e-04_rb,0.56016e-04_rb /) kbo(:,18, 3) = (/ & & 0.49729e-04_rb,0.48302e-04_rb,0.47418e-04_rb,0.47262e-04_rb,0.47732e-04_rb /) kbo(:,19, 3) = (/ & & 0.42101e-04_rb,0.40906e-04_rb,0.40541e-04_rb,0.40229e-04_rb,0.40671e-04_rb /) kbo(:,20, 3) = (/ & & 0.35046e-04_rb,0.34193e-04_rb,0.34032e-04_rb,0.33881e-04_rb,0.34691e-04_rb /) kbo(:,21, 3) = (/ & & 0.29192e-04_rb,0.28813e-04_rb,0.28525e-04_rb,0.28485e-04_rb,0.29764e-04_rb /) kbo(:,22, 3) = (/ & & 0.24212e-04_rb,0.23970e-04_rb,0.23804e-04_rb,0.23947e-04_rb,0.24310e-04_rb /) kbo(:,23, 3) = (/ & & 0.20167e-04_rb,0.19961e-04_rb,0.19837e-04_rb,0.20528e-04_rb,0.19887e-04_rb /) kbo(:,24, 3) = (/ & & 0.16817e-04_rb,0.16624e-04_rb,0.16525e-04_rb,0.17263e-04_rb,0.16481e-04_rb /) kbo(:,25, 3) = (/ & & 0.13896e-04_rb,0.13806e-04_rb,0.13810e-04_rb,0.14348e-04_rb,0.13634e-04_rb /) kbo(:,26, 3) = (/ & & 0.11515e-04_rb,0.11474e-04_rb,0.11553e-04_rb,0.11705e-04_rb,0.11167e-04_rb /) kbo(:,27, 3) = (/ & & 0.95004e-05_rb,0.94543e-05_rb,0.95650e-05_rb,0.95316e-05_rb,0.91651e-05_rb /) kbo(:,28, 3) = (/ & & 0.78135e-05_rb,0.77862e-05_rb,0.78715e-05_rb,0.77825e-05_rb,0.74877e-05_rb /) kbo(:,29, 3) = (/ & & 0.63615e-05_rb,0.63601e-05_rb,0.64198e-05_rb,0.63507e-05_rb,0.61200e-05_rb /) kbo(:,30, 3) = (/ & & 0.51738e-05_rb,0.51781e-05_rb,0.52250e-05_rb,0.51709e-05_rb,0.50243e-05_rb /) kbo(:,31, 3) = (/ & & 0.41825e-05_rb,0.42240e-05_rb,0.42510e-05_rb,0.42241e-05_rb,0.41058e-05_rb /) kbo(:,32, 3) = (/ & & 0.34024e-05_rb,0.34302e-05_rb,0.34514e-05_rb,0.34436e-05_rb,0.33474e-05_rb /) kbo(:,33, 3) = (/ & & 0.27510e-05_rb,0.27828e-05_rb,0.28059e-05_rb,0.28125e-05_rb,0.27394e-05_rb /) kbo(:,34, 3) = (/ & & 0.22195e-05_rb,0.22517e-05_rb,0.22743e-05_rb,0.22728e-05_rb,0.22254e-05_rb /) kbo(:,35, 3) = (/ & & 0.18029e-05_rb,0.18238e-05_rb,0.18432e-05_rb,0.18461e-05_rb,0.18241e-05_rb /) kbo(:,36, 3) = (/ & & 0.14477e-05_rb,0.14734e-05_rb,0.14936e-05_rb,0.15116e-05_rb,0.14874e-05_rb /) kbo(:,37, 3) = (/ & & 0.11637e-05_rb,0.11929e-05_rb,0.12098e-05_rb,0.12265e-05_rb,0.12076e-05_rb /) kbo(:,38, 3) = (/ & & 0.93292e-06_rb,0.96246e-06_rb,0.98169e-06_rb,0.99435e-06_rb,0.98749e-06_rb /) kbo(:,39, 3) = (/ & & 0.74927e-06_rb,0.76742e-06_rb,0.79020e-06_rb,0.80604e-06_rb,0.81415e-06_rb /) kbo(:,40, 3) = (/ & & 0.60479e-06_rb,0.61743e-06_rb,0.63973e-06_rb,0.65295e-06_rb,0.66261e-06_rb /) kbo(:,41, 3) = (/ & & 0.48450e-06_rb,0.49742e-06_rb,0.51366e-06_rb,0.52876e-06_rb,0.53813e-06_rb /) kbo(:,42, 3) = (/ & & 0.38298e-06_rb,0.40088e-06_rb,0.41192e-06_rb,0.42651e-06_rb,0.43595e-06_rb /) kbo(:,43, 3) = (/ & & 0.30310e-06_rb,0.31905e-06_rb,0.32907e-06_rb,0.34154e-06_rb,0.35007e-06_rb /) kbo(:,44, 3) = (/ & & 0.23745e-06_rb,0.25035e-06_rb,0.26224e-06_rb,0.27145e-06_rb,0.28146e-06_rb /) kbo(:,45, 3) = (/ & & 0.18653e-06_rb,0.19510e-06_rb,0.20644e-06_rb,0.21510e-06_rb,0.22354e-06_rb /) kbo(:,46, 3) = (/ & & 0.14759e-06_rb,0.15322e-06_rb,0.16145e-06_rb,0.17034e-06_rb,0.17744e-06_rb /) kbo(:,47, 3) = (/ & & 0.11410e-06_rb,0.12007e-06_rb,0.12507e-06_rb,0.13237e-06_rb,0.13995e-06_rb /) kbo(:,48, 3) = (/ & & 0.88327e-07_rb,0.93967e-07_rb,0.97683e-07_rb,0.10257e-06_rb,0.10921e-06_rb /) kbo(:,49, 3) = (/ & & 0.66715e-07_rb,0.72172e-07_rb,0.76442e-07_rb,0.79214e-07_rb,0.84006e-07_rb /) kbo(:,50, 3) = (/ & & 0.51458e-07_rb,0.55761e-07_rb,0.59239e-07_rb,0.62292e-07_rb,0.64470e-07_rb /) kbo(:,51, 3) = (/ & & 0.39957e-07_rb,0.42400e-07_rb,0.45870e-07_rb,0.48592e-07_rb,0.50287e-07_rb /) kbo(:,52, 3) = (/ & & 0.31150e-07_rb,0.32725e-07_rb,0.35598e-07_rb,0.37633e-07_rb,0.39607e-07_rb /) kbo(:,53, 3) = (/ & & 0.23783e-07_rb,0.25415e-07_rb,0.26634e-07_rb,0.28885e-07_rb,0.30620e-07_rb /) kbo(:,54, 3) = (/ & & 0.18531e-07_rb,0.19938e-07_rb,0.20988e-07_rb,0.22678e-07_rb,0.23867e-07_rb /) kbo(:,55, 3) = (/ & & 0.14810e-07_rb,0.15772e-07_rb,0.16651e-07_rb,0.17727e-07_rb,0.18861e-07_rb /) kbo(:,56, 3) = (/ & & 0.11652e-07_rb,0.12557e-07_rb,0.13319e-07_rb,0.13930e-07_rb,0.15077e-07_rb /) kbo(:,57, 3) = (/ & & 0.91523e-08_rb,0.99835e-08_rb,0.10603e-07_rb,0.11081e-07_rb,0.11999e-07_rb /) kbo(:,58, 3) = (/ & & 0.72383e-08_rb,0.79060e-08_rb,0.84489e-08_rb,0.88615e-08_rb,0.94456e-08_rb /) kbo(:,59, 3) = (/ & & 0.60315e-08_rb,0.65931e-08_rb,0.71001e-08_rb,0.74012e-08_rb,0.78761e-08_rb /) kbo(:,13, 4) = (/ & & 0.21882e-03_rb,0.20968e-03_rb,0.18648e-03_rb,0.17505e-03_rb,0.17320e-03_rb /) kbo(:,14, 4) = (/ & & 0.19140e-03_rb,0.17026e-03_rb,0.15903e-03_rb,0.15552e-03_rb,0.16009e-03_rb /) kbo(:,15, 4) = (/ & & 0.16003e-03_rb,0.14531e-03_rb,0.14007e-03_rb,0.14511e-03_rb,0.14619e-03_rb /) kbo(:,16, 4) = (/ & & 0.13387e-03_rb,0.12423e-03_rb,0.12444e-03_rb,0.12743e-03_rb,0.12749e-03_rb /) kbo(:,17, 4) = (/ & & 0.11266e-03_rb,0.10780e-03_rb,0.11110e-03_rb,0.11051e-03_rb,0.11075e-03_rb /) kbo(:,18, 4) = (/ & & 0.96156e-04_rb,0.95617e-04_rb,0.96775e-04_rb,0.96220e-04_rb,0.96078e-04_rb /) kbo(:,19, 4) = (/ & & 0.82712e-04_rb,0.82946e-04_rb,0.83265e-04_rb,0.82827e-04_rb,0.82044e-04_rb /) kbo(:,20, 4) = (/ & & 0.71080e-04_rb,0.71167e-04_rb,0.71040e-04_rb,0.70443e-04_rb,0.69069e-04_rb /) kbo(:,21, 4) = (/ & & 0.60110e-04_rb,0.60836e-04_rb,0.59994e-04_rb,0.58992e-04_rb,0.57237e-04_rb /) kbo(:,22, 4) = (/ & & 0.50688e-04_rb,0.51296e-04_rb,0.50271e-04_rb,0.48889e-04_rb,0.48471e-04_rb /) kbo(:,23, 4) = (/ & & 0.42706e-04_rb,0.42628e-04_rb,0.41764e-04_rb,0.39999e-04_rb,0.40893e-04_rb /) kbo(:,24, 4) = (/ & & 0.35803e-04_rb,0.35316e-04_rb,0.34535e-04_rb,0.33229e-04_rb,0.34127e-04_rb /) kbo(:,25, 4) = (/ & & 0.29906e-04_rb,0.29201e-04_rb,0.28336e-04_rb,0.27455e-04_rb,0.28044e-04_rb /) kbo(:,26, 4) = (/ & & 0.24659e-04_rb,0.23926e-04_rb,0.23159e-04_rb,0.22827e-04_rb,0.23266e-04_rb /) kbo(:,27, 4) = (/ & & 0.20221e-04_rb,0.19578e-04_rb,0.18838e-04_rb,0.18853e-04_rb,0.19067e-04_rb /) kbo(:,28, 4) = (/ & & 0.16345e-04_rb,0.15913e-04_rb,0.15327e-04_rb,0.15412e-04_rb,0.15560e-04_rb /) kbo(:,29, 4) = (/ & & 0.13195e-04_rb,0.12870e-04_rb,0.12430e-04_rb,0.12518e-04_rb,0.12639e-04_rb /) kbo(:,30, 4) = (/ & & 0.10622e-04_rb,0.10384e-04_rb,0.10068e-04_rb,0.10151e-04_rb,0.10256e-04_rb /) kbo(:,31, 4) = (/ & & 0.85785e-05_rb,0.83523e-05_rb,0.81227e-05_rb,0.81998e-05_rb,0.83313e-05_rb /) kbo(:,32, 4) = (/ & & 0.69114e-05_rb,0.67093e-05_rb,0.65758e-05_rb,0.66222e-05_rb,0.67679e-05_rb /) kbo(:,33, 4) = (/ & & 0.55456e-05_rb,0.54342e-05_rb,0.53229e-05_rb,0.53610e-05_rb,0.54819e-05_rb /) kbo(:,34, 4) = (/ & & 0.44461e-05_rb,0.43891e-05_rb,0.43112e-05_rb,0.43632e-05_rb,0.44560e-05_rb /) kbo(:,35, 4) = (/ & & 0.35725e-05_rb,0.35192e-05_rb,0.34703e-05_rb,0.35075e-05_rb,0.35919e-05_rb /) kbo(:,36, 4) = (/ & & 0.28842e-05_rb,0.28362e-05_rb,0.28143e-05_rb,0.28097e-05_rb,0.29057e-05_rb /) kbo(:,37, 4) = (/ & & 0.23374e-05_rb,0.22987e-05_rb,0.22934e-05_rb,0.22812e-05_rb,0.23451e-05_rb /) kbo(:,38, 4) = (/ & & 0.18966e-05_rb,0.18679e-05_rb,0.18613e-05_rb,0.18437e-05_rb,0.18894e-05_rb /) kbo(:,39, 4) = (/ & & 0.15300e-05_rb,0.15180e-05_rb,0.15096e-05_rb,0.14915e-05_rb,0.15107e-05_rb /) kbo(:,40, 4) = (/ & & 0.12426e-05_rb,0.12357e-05_rb,0.12171e-05_rb,0.12170e-05_rb,0.12227e-05_rb /) kbo(:,41, 4) = (/ & & 0.10102e-05_rb,0.10077e-05_rb,0.98593e-06_rb,0.98478e-06_rb,0.99213e-06_rb /) kbo(:,42, 4) = (/ & & 0.82201e-06_rb,0.81050e-06_rb,0.80313e-06_rb,0.80181e-06_rb,0.80361e-06_rb /) kbo(:,43, 4) = (/ & & 0.67318e-06_rb,0.65347e-06_rb,0.65478e-06_rb,0.64360e-06_rb,0.64722e-06_rb /) kbo(:,44, 4) = (/ & & 0.55598e-06_rb,0.53355e-06_rb,0.52778e-06_rb,0.52097e-06_rb,0.51997e-06_rb /) kbo(:,45, 4) = (/ & & 0.46157e-06_rb,0.43457e-06_rb,0.42412e-06_rb,0.42137e-06_rb,0.41750e-06_rb /) kbo(:,46, 4) = (/ & & 0.39156e-06_rb,0.35690e-06_rb,0.34498e-06_rb,0.33995e-06_rb,0.33614e-06_rb /) kbo(:,47, 4) = (/ & & 0.33392e-06_rb,0.29746e-06_rb,0.28074e-06_rb,0.27344e-06_rb,0.27079e-06_rb /) kbo(:,48, 4) = (/ & & 0.27066e-06_rb,0.25369e-06_rb,0.23115e-06_rb,0.22213e-06_rb,0.21766e-06_rb /) kbo(:,49, 4) = (/ & & 0.22198e-06_rb,0.21395e-06_rb,0.19274e-06_rb,0.18040e-06_rb,0.17542e-06_rb /) kbo(:,50, 4) = (/ & & 0.18070e-06_rb,0.17367e-06_rb,0.16473e-06_rb,0.14916e-06_rb,0.14306e-06_rb /) kbo(:,51, 4) = (/ & & 0.14595e-06_rb,0.14287e-06_rb,0.13847e-06_rb,0.12418e-06_rb,0.11697e-06_rb /) kbo(:,52, 4) = (/ & & 0.11819e-06_rb,0.11588e-06_rb,0.11225e-06_rb,0.10604e-06_rb,0.96269e-07_rb /) kbo(:,53, 4) = (/ & & 0.95028e-07_rb,0.93094e-07_rb,0.91303e-07_rb,0.88900e-07_rb,0.80262e-07_rb /) kbo(:,54, 4) = (/ & & 0.77005e-07_rb,0.76238e-07_rb,0.74228e-07_rb,0.72526e-07_rb,0.67965e-07_rb /) kbo(:,55, 4) = (/ & & 0.62979e-07_rb,0.62692e-07_rb,0.60930e-07_rb,0.59579e-07_rb,0.57700e-07_rb /) kbo(:,56, 4) = (/ & & 0.51571e-07_rb,0.51196e-07_rb,0.50031e-07_rb,0.48916e-07_rb,0.48127e-07_rb /) kbo(:,57, 4) = (/ & & 0.42602e-07_rb,0.41678e-07_rb,0.41006e-07_rb,0.39709e-07_rb,0.39283e-07_rb /) kbo(:,58, 4) = (/ & & 0.35155e-07_rb,0.34052e-07_rb,0.33561e-07_rb,0.32395e-07_rb,0.32057e-07_rb /) kbo(:,59, 4) = (/ & & 0.29318e-07_rb,0.28516e-07_rb,0.28097e-07_rb,0.26888e-07_rb,0.26840e-07_rb /) kbo(:,13, 5) = (/ & & 0.43718e-03_rb,0.42279e-03_rb,0.43200e-03_rb,0.42910e-03_rb,0.42775e-03_rb /) kbo(:,14, 5) = (/ & & 0.37902e-03_rb,0.38090e-03_rb,0.38058e-03_rb,0.37637e-03_rb,0.36798e-03_rb /) kbo(:,15, 5) = (/ & & 0.33222e-03_rb,0.33597e-03_rb,0.33205e-03_rb,0.32000e-03_rb,0.31310e-03_rb /) kbo(:,16, 5) = (/ & & 0.28736e-03_rb,0.28700e-03_rb,0.27853e-03_rb,0.26891e-03_rb,0.26391e-03_rb /) kbo(:,17, 5) = (/ & & 0.24534e-03_rb,0.24098e-03_rb,0.23072e-03_rb,0.22519e-03_rb,0.22013e-03_rb /) kbo(:,18, 5) = (/ & & 0.20645e-03_rb,0.20019e-03_rb,0.19266e-03_rb,0.18716e-03_rb,0.18139e-03_rb /) kbo(:,19, 5) = (/ & & 0.17271e-03_rb,0.16642e-03_rb,0.16064e-03_rb,0.15556e-03_rb,0.14951e-03_rb /) kbo(:,20, 5) = (/ & & 0.14266e-03_rb,0.13766e-03_rb,0.13239e-03_rb,0.12767e-03_rb,0.12305e-03_rb /) kbo(:,21, 5) = (/ & & 0.11797e-03_rb,0.11256e-03_rb,0.10880e-03_rb,0.10424e-03_rb,0.10062e-03_rb /) kbo(:,22, 5) = (/ & & 0.97085e-04_rb,0.92101e-04_rb,0.88420e-04_rb,0.85535e-04_rb,0.82201e-04_rb /) kbo(:,23, 5) = (/ & & 0.79380e-04_rb,0.75312e-04_rb,0.72177e-04_rb,0.69710e-04_rb,0.66966e-04_rb /) kbo(:,24, 5) = (/ & & 0.64591e-04_rb,0.61520e-04_rb,0.58891e-04_rb,0.56626e-04_rb,0.54603e-04_rb /) kbo(:,25, 5) = (/ & & 0.52423e-04_rb,0.49934e-04_rb,0.48122e-04_rb,0.46331e-04_rb,0.44875e-04_rb /) kbo(:,26, 5) = (/ & & 0.42528e-04_rb,0.40739e-04_rb,0.39218e-04_rb,0.37806e-04_rb,0.36631e-04_rb /) kbo(:,27, 5) = (/ & & 0.34453e-04_rb,0.33104e-04_rb,0.32009e-04_rb,0.30764e-04_rb,0.30000e-04_rb /) kbo(:,28, 5) = (/ & & 0.28076e-04_rb,0.26948e-04_rb,0.26097e-04_rb,0.25065e-04_rb,0.24596e-04_rb /) kbo(:,29, 5) = (/ & & 0.22814e-04_rb,0.21902e-04_rb,0.21222e-04_rb,0.20350e-04_rb,0.20152e-04_rb /) kbo(:,30, 5) = (/ & & 0.18551e-04_rb,0.17731e-04_rb,0.17162e-04_rb,0.16614e-04_rb,0.16461e-04_rb /) kbo(:,31, 5) = (/ & & 0.15020e-04_rb,0.14383e-04_rb,0.13922e-04_rb,0.13548e-04_rb,0.13388e-04_rb /) kbo(:,32, 5) = (/ & & 0.12091e-04_rb,0.11653e-04_rb,0.11308e-04_rb,0.11033e-04_rb,0.10954e-04_rb /) kbo(:,33, 5) = (/ & & 0.97901e-05_rb,0.93570e-05_rb,0.91428e-05_rb,0.89594e-05_rb,0.89614e-05_rb /) kbo(:,34, 5) = (/ & & 0.79439e-05_rb,0.76095e-05_rb,0.74365e-05_rb,0.73099e-05_rb,0.73269e-05_rb /) kbo(:,35, 5) = (/ & & 0.64505e-05_rb,0.62326e-05_rb,0.60921e-05_rb,0.59939e-05_rb,0.59799e-05_rb /) kbo(:,36, 5) = (/ & & 0.52745e-05_rb,0.51017e-05_rb,0.49658e-05_rb,0.48988e-05_rb,0.48773e-05_rb /) kbo(:,37, 5) = (/ & & 0.43522e-05_rb,0.42053e-05_rb,0.40681e-05_rb,0.40176e-05_rb,0.40058e-05_rb /) kbo(:,38, 5) = (/ & & 0.35676e-05_rb,0.34559e-05_rb,0.33446e-05_rb,0.33017e-05_rb,0.32771e-05_rb /) kbo(:,39, 5) = (/ & & 0.29238e-05_rb,0.28445e-05_rb,0.27512e-05_rb,0.27095e-05_rb,0.26825e-05_rb /) kbo(:,40, 5) = (/ & & 0.23985e-05_rb,0.23437e-05_rb,0.22756e-05_rb,0.22251e-05_rb,0.22009e-05_rb /) kbo(:,41, 5) = (/ & & 0.19763e-05_rb,0.19311e-05_rb,0.18886e-05_rb,0.18370e-05_rb,0.18072e-05_rb /) kbo(:,42, 5) = (/ & & 0.16256e-05_rb,0.15918e-05_rb,0.15558e-05_rb,0.15108e-05_rb,0.14861e-05_rb /) kbo(:,43, 5) = (/ & & 0.13290e-05_rb,0.13116e-05_rb,0.12833e-05_rb,0.12550e-05_rb,0.12262e-05_rb /) kbo(:,44, 5) = (/ & & 0.10777e-05_rb,0.10760e-05_rb,0.10566e-05_rb,0.10365e-05_rb,0.10136e-05_rb /) kbo(:,45, 5) = (/ & & 0.86690e-06_rb,0.87981e-06_rb,0.87044e-06_rb,0.85428e-06_rb,0.83627e-06_rb /) kbo(:,46, 5) = (/ & & 0.68706e-06_rb,0.71088e-06_rb,0.70939e-06_rb,0.70110e-06_rb,0.69032e-06_rb /) kbo(:,47, 5) = (/ & & 0.54665e-06_rb,0.56934e-06_rb,0.58033e-06_rb,0.57830e-06_rb,0.57105e-06_rb /) kbo(:,48, 5) = (/ & & 0.44874e-06_rb,0.44653e-06_rb,0.46650e-06_rb,0.47090e-06_rb,0.46732e-06_rb /) kbo(:,49, 5) = (/ & & 0.36869e-06_rb,0.35456e-06_rb,0.36842e-06_rb,0.37978e-06_rb,0.38217e-06_rb /) kbo(:,50, 5) = (/ & & 0.30489e-06_rb,0.29229e-06_rb,0.29104e-06_rb,0.30430e-06_rb,0.31068e-06_rb /) kbo(:,51, 5) = (/ & & 0.25290e-06_rb,0.24012e-06_rb,0.23271e-06_rb,0.24366e-06_rb,0.25149e-06_rb /) kbo(:,52, 5) = (/ & & 0.21148e-06_rb,0.19715e-06_rb,0.19121e-06_rb,0.19177e-06_rb,0.20148e-06_rb /) kbo(:,53, 5) = (/ & & 0.17334e-06_rb,0.16335e-06_rb,0.15574e-06_rb,0.15266e-06_rb,0.15921e-06_rb /) kbo(:,54, 5) = (/ & & 0.14189e-06_rb,0.13650e-06_rb,0.12781e-06_rb,0.12535e-06_rb,0.12749e-06_rb /) kbo(:,55, 5) = (/ & & 0.11763e-06_rb,0.11398e-06_rb,0.10627e-06_rb,0.10373e-06_rb,0.10268e-06_rb /) kbo(:,56, 5) = (/ & & 0.98316e-07_rb,0.94892e-07_rb,0.88799e-07_rb,0.85036e-07_rb,0.83393e-07_rb /) kbo(:,57, 5) = (/ & & 0.83049e-07_rb,0.78499e-07_rb,0.74140e-07_rb,0.70137e-07_rb,0.68774e-07_rb /) kbo(:,58, 5) = (/ & & 0.71768e-07_rb,0.64682e-07_rb,0.62012e-07_rb,0.58149e-07_rb,0.57037e-07_rb /) kbo(:,59, 5) = (/ & & 0.60166e-07_rb,0.54824e-07_rb,0.52042e-07_rb,0.49198e-07_rb,0.47862e-07_rb /) kbo(:,13, 6) = (/ & & 0.71254e-03_rb,0.65708e-03_rb,0.60824e-03_rb,0.57965e-03_rb,0.55389e-03_rb /) kbo(:,14, 6) = (/ & & 0.58852e-03_rb,0.54811e-03_rb,0.51125e-03_rb,0.48557e-03_rb,0.47730e-03_rb /) kbo(:,15, 6) = (/ & & 0.50599e-03_rb,0.46869e-03_rb,0.44362e-03_rb,0.43503e-03_rb,0.43705e-03_rb /) kbo(:,16, 6) = (/ & & 0.43493e-03_rb,0.40996e-03_rb,0.39680e-03_rb,0.39623e-03_rb,0.40784e-03_rb /) kbo(:,17, 6) = (/ & & 0.38028e-03_rb,0.36175e-03_rb,0.35696e-03_rb,0.36547e-03_rb,0.38127e-03_rb /) kbo(:,18, 6) = (/ & & 0.33113e-03_rb,0.32205e-03_rb,0.32458e-03_rb,0.33502e-03_rb,0.35577e-03_rb /) kbo(:,19, 6) = (/ & & 0.28886e-03_rb,0.29134e-03_rb,0.29799e-03_rb,0.31134e-03_rb,0.33676e-03_rb /) kbo(:,20, 6) = (/ & & 0.25113e-03_rb,0.25555e-03_rb,0.26535e-03_rb,0.28470e-03_rb,0.30677e-03_rb /) kbo(:,21, 6) = (/ & & 0.21640e-03_rb,0.22152e-03_rb,0.23323e-03_rb,0.25467e-03_rb,0.27764e-03_rb /) kbo(:,22, 6) = (/ & & 0.18601e-03_rb,0.19217e-03_rb,0.20696e-03_rb,0.22593e-03_rb,0.24729e-03_rb /) kbo(:,23, 6) = (/ & & 0.15978e-03_rb,0.16833e-03_rb,0.18229e-03_rb,0.19994e-03_rb,0.21913e-03_rb /) kbo(:,24, 6) = (/ & & 0.13748e-03_rb,0.14696e-03_rb,0.16025e-03_rb,0.17620e-03_rb,0.19459e-03_rb /) kbo(:,25, 6) = (/ & & 0.11841e-03_rb,0.12828e-03_rb,0.13998e-03_rb,0.15487e-03_rb,0.17174e-03_rb /) kbo(:,26, 6) = (/ & & 0.10209e-03_rb,0.11175e-03_rb,0.12193e-03_rb,0.13590e-03_rb,0.15125e-03_rb /) kbo(:,27, 6) = (/ & & 0.87003e-04_rb,0.95681e-04_rb,0.10499e-03_rb,0.11744e-03_rb,0.13086e-03_rb /) kbo(:,28, 6) = (/ & & 0.73110e-04_rb,0.80653e-04_rb,0.89103e-04_rb,0.99988e-04_rb,0.11120e-03_rb /) kbo(:,29, 6) = (/ & & 0.60620e-04_rb,0.66736e-04_rb,0.74222e-04_rb,0.82863e-04_rb,0.92471e-04_rb /) kbo(:,30, 6) = (/ & & 0.49831e-04_rb,0.54602e-04_rb,0.61288e-04_rb,0.68281e-04_rb,0.75599e-04_rb /) kbo(:,31, 6) = (/ & & 0.40315e-04_rb,0.44435e-04_rb,0.49703e-04_rb,0.55140e-04_rb,0.60140e-04_rb /) kbo(:,32, 6) = (/ & & 0.32490e-04_rb,0.36020e-04_rb,0.39894e-04_rb,0.44068e-04_rb,0.48080e-04_rb /) kbo(:,33, 6) = (/ & & 0.26085e-04_rb,0.29063e-04_rb,0.32003e-04_rb,0.35074e-04_rb,0.38662e-04_rb /) kbo(:,34, 6) = (/ & & 0.21201e-04_rb,0.23256e-04_rb,0.25636e-04_rb,0.28140e-04_rb,0.31273e-04_rb /) kbo(:,35, 6) = (/ & & 0.17022e-04_rb,0.18534e-04_rb,0.20322e-04_rb,0.22464e-04_rb,0.25109e-04_rb /) kbo(:,36, 6) = (/ & & 0.13427e-04_rb,0.14606e-04_rb,0.16055e-04_rb,0.17783e-04_rb,0.19877e-04_rb /) kbo(:,37, 6) = (/ & & 0.10630e-04_rb,0.11559e-04_rb,0.12731e-04_rb,0.14118e-04_rb,0.15831e-04_rb /) kbo(:,38, 6) = (/ & & 0.84365e-05_rb,0.91300e-05_rb,0.10077e-04_rb,0.11171e-04_rb,0.12568e-04_rb /) kbo(:,39, 6) = (/ & & 0.66762e-05_rb,0.71770e-05_rb,0.79359e-05_rb,0.88044e-05_rb,0.99043e-05_rb /) kbo(:,40, 6) = (/ & & 0.53561e-05_rb,0.57216e-05_rb,0.63210e-05_rb,0.70080e-05_rb,0.79213e-05_rb /) kbo(:,41, 6) = (/ & & 0.42954e-05_rb,0.45692e-05_rb,0.50356e-05_rb,0.56102e-05_rb,0.63394e-05_rb /) kbo(:,42, 6) = (/ & & 0.34409e-05_rb,0.36788e-05_rb,0.40124e-05_rb,0.44898e-05_rb,0.50645e-05_rb /) kbo(:,43, 6) = (/ & & 0.27453e-05_rb,0.29361e-05_rb,0.31651e-05_rb,0.35498e-05_rb,0.40058e-05_rb /) kbo(:,44, 6) = (/ & & 0.21863e-05_rb,0.23320e-05_rb,0.24965e-05_rb,0.27915e-05_rb,0.31593e-05_rb /) kbo(:,45, 6) = (/ & & 0.17409e-05_rb,0.18472e-05_rb,0.19801e-05_rb,0.21812e-05_rb,0.24741e-05_rb /) kbo(:,46, 6) = (/ & & 0.13903e-05_rb,0.14639e-05_rb,0.15660e-05_rb,0.17042e-05_rb,0.19243e-05_rb /) kbo(:,47, 6) = (/ & & 0.11229e-05_rb,0.11661e-05_rb,0.12377e-05_rb,0.13335e-05_rb,0.14898e-05_rb /) kbo(:,48, 6) = (/ & & 0.90528e-06_rb,0.92962e-06_rb,0.97799e-06_rb,0.10483e-05_rb,0.11575e-05_rb /) kbo(:,49, 6) = (/ & & 0.72877e-06_rb,0.74278e-06_rb,0.77380e-06_rb,0.82564e-06_rb,0.89736e-06_rb /) kbo(:,50, 6) = (/ & & 0.59358e-06_rb,0.59955e-06_rb,0.62170e-06_rb,0.65720e-06_rb,0.70771e-06_rb /) kbo(:,51, 6) = (/ & & 0.48783e-06_rb,0.48769e-06_rb,0.50300e-06_rb,0.52655e-06_rb,0.56377e-06_rb /) kbo(:,52, 6) = (/ & & 0.39834e-06_rb,0.39922e-06_rb,0.40604e-06_rb,0.42316e-06_rb,0.45057e-06_rb /) kbo(:,53, 6) = (/ & & 0.33019e-06_rb,0.32505e-06_rb,0.33011e-06_rb,0.33917e-06_rb,0.35858e-06_rb /) kbo(:,54, 6) = (/ & & 0.27829e-06_rb,0.26763e-06_rb,0.27219e-06_rb,0.27714e-06_rb,0.29159e-06_rb /) kbo(:,55, 6) = (/ & & 0.23259e-06_rb,0.22250e-06_rb,0.22510e-06_rb,0.22855e-06_rb,0.23937e-06_rb /) kbo(:,56, 6) = (/ & & 0.19401e-06_rb,0.18605e-06_rb,0.18566e-06_rb,0.18937e-06_rb,0.19605e-06_rb /) kbo(:,57, 6) = (/ & & 0.15908e-06_rb,0.15649e-06_rb,0.15396e-06_rb,0.15754e-06_rb,0.16039e-06_rb /) kbo(:,58, 6) = (/ & & 0.12892e-06_rb,0.13132e-06_rb,0.12793e-06_rb,0.13093e-06_rb,0.13273e-06_rb /) kbo(:,59, 6) = (/ & & 0.11177e-06_rb,0.11165e-06_rb,0.10875e-06_rb,0.11132e-06_rb,0.11431e-06_rb /) kbo(:,13, 7) = (/ & & 0.19357e-02_rb,0.20341e-02_rb,0.21760e-02_rb,0.22982e-02_rb,0.24550e-02_rb /) kbo(:,14, 7) = (/ & & 0.20343e-02_rb,0.21709e-02_rb,0.23192e-02_rb,0.24854e-02_rb,0.27026e-02_rb /) kbo(:,15, 7) = (/ & & 0.21108e-02_rb,0.23009e-02_rb,0.25488e-02_rb,0.28048e-02_rb,0.30159e-02_rb /) kbo(:,16, 7) = (/ & & 0.21016e-02_rb,0.23581e-02_rb,0.25958e-02_rb,0.28093e-02_rb,0.29839e-02_rb /) kbo(:,17, 7) = (/ & & 0.21350e-02_rb,0.23722e-02_rb,0.25718e-02_rb,0.27703e-02_rb,0.30036e-02_rb /) kbo(:,18, 7) = (/ & & 0.21493e-02_rb,0.23550e-02_rb,0.25593e-02_rb,0.27827e-02_rb,0.29722e-02_rb /) kbo(:,19, 7) = (/ & & 0.21677e-02_rb,0.23602e-02_rb,0.25446e-02_rb,0.27267e-02_rb,0.29542e-02_rb /) kbo(:,20, 7) = (/ & & 0.21009e-02_rb,0.22669e-02_rb,0.24261e-02_rb,0.26095e-02_rb,0.28436e-02_rb /) kbo(:,21, 7) = (/ & & 0.19811e-02_rb,0.21249e-02_rb,0.22790e-02_rb,0.24716e-02_rb,0.26844e-02_rb /) kbo(:,22, 7) = (/ & & 0.18393e-02_rb,0.19585e-02_rb,0.21127e-02_rb,0.22962e-02_rb,0.25211e-02_rb /) kbo(:,23, 7) = (/ & & 0.16905e-02_rb,0.18032e-02_rb,0.19594e-02_rb,0.21280e-02_rb,0.23466e-02_rb /) kbo(:,24, 7) = (/ & & 0.15327e-02_rb,0.16542e-02_rb,0.18047e-02_rb,0.19642e-02_rb,0.21591e-02_rb /) kbo(:,25, 7) = (/ & & 0.13831e-02_rb,0.14932e-02_rb,0.16391e-02_rb,0.17921e-02_rb,0.19606e-02_rb /) kbo(:,26, 7) = (/ & & 0.12298e-02_rb,0.13325e-02_rb,0.14676e-02_rb,0.16086e-02_rb,0.17628e-02_rb /) kbo(:,27, 7) = (/ & & 0.10692e-02_rb,0.11652e-02_rb,0.12858e-02_rb,0.14124e-02_rb,0.15514e-02_rb /) kbo(:,28, 7) = (/ & & 0.91706e-03_rb,0.10034e-02_rb,0.11100e-02_rb,0.12231e-02_rb,0.13481e-02_rb /) kbo(:,29, 7) = (/ & & 0.76824e-03_rb,0.84492e-03_rb,0.93654e-03_rb,0.10377e-02_rb,0.11448e-02_rb /) kbo(:,30, 7) = (/ & & 0.63841e-03_rb,0.70573e-03_rb,0.78553e-03_rb,0.87197e-03_rb,0.96607e-03_rb /) kbo(:,31, 7) = (/ & & 0.51979e-03_rb,0.58056e-03_rb,0.64728e-03_rb,0.71891e-03_rb,0.80875e-03_rb /) kbo(:,32, 7) = (/ & & 0.42659e-03_rb,0.47686e-03_rb,0.53347e-03_rb,0.60016e-03_rb,0.67592e-03_rb /) kbo(:,33, 7) = (/ & & 0.34820e-03_rb,0.39030e-03_rb,0.44004e-03_rb,0.49875e-03_rb,0.56492e-03_rb /) kbo(:,34, 7) = (/ & & 0.28753e-03_rb,0.32477e-03_rb,0.36831e-03_rb,0.41989e-03_rb,0.47708e-03_rb /) kbo(:,35, 7) = (/ & & 0.23568e-03_rb,0.26716e-03_rb,0.30618e-03_rb,0.35062e-03_rb,0.39934e-03_rb /) kbo(:,36, 7) = (/ & & 0.19116e-03_rb,0.21863e-03_rb,0.25180e-03_rb,0.28983e-03_rb,0.33082e-03_rb /) kbo(:,37, 7) = (/ & & 0.15437e-03_rb,0.17829e-03_rb,0.20646e-03_rb,0.23900e-03_rb,0.27320e-03_rb /) kbo(:,38, 7) = (/ & & 0.12397e-03_rb,0.14462e-03_rb,0.16847e-03_rb,0.19621e-03_rb,0.22528e-03_rb /) kbo(:,39, 7) = (/ & & 0.98930e-04_rb,0.11647e-03_rb,0.13711e-03_rb,0.16057e-03_rb,0.18549e-03_rb /) kbo(:,40, 7) = (/ & & 0.79845e-04_rb,0.94437e-04_rb,0.11202e-03_rb,0.13217e-03_rb,0.15346e-03_rb /) kbo(:,41, 7) = (/ & & 0.64260e-04_rb,0.76439e-04_rb,0.91253e-04_rb,0.10837e-03_rb,0.12691e-03_rb /) kbo(:,42, 7) = (/ & & 0.51561e-04_rb,0.61686e-04_rb,0.74044e-04_rb,0.88504e-04_rb,0.10431e-03_rb /) kbo(:,43, 7) = (/ & & 0.40906e-04_rb,0.49267e-04_rb,0.59361e-04_rb,0.71417e-04_rb,0.84751e-04_rb /) kbo(:,44, 7) = (/ & & 0.32247e-04_rb,0.38955e-04_rb,0.47246e-04_rb,0.57199e-04_rb,0.68540e-04_rb /) kbo(:,45, 7) = (/ & & 0.25243e-04_rb,0.30790e-04_rb,0.37490e-04_rb,0.45754e-04_rb,0.55394e-04_rb /) kbo(:,46, 7) = (/ & & 0.19604e-04_rb,0.24131e-04_rb,0.29598e-04_rb,0.36431e-04_rb,0.44419e-04_rb /) kbo(:,47, 7) = (/ & & 0.15116e-04_rb,0.18785e-04_rb,0.23180e-04_rb,0.28780e-04_rb,0.35381e-04_rb /) kbo(:,48, 7) = (/ & & 0.11550e-04_rb,0.14451e-04_rb,0.18039e-04_rb,0.22545e-04_rb,0.28005e-04_rb /) kbo(:,49, 7) = (/ & & 0.87452e-05_rb,0.10992e-04_rb,0.13863e-04_rb,0.17498e-04_rb,0.21949e-04_rb /) kbo(:,50, 7) = (/ & & 0.66768e-05_rb,0.84974e-05_rb,0.10835e-04_rb,0.13777e-04_rb,0.17448e-04_rb /) kbo(:,51, 7) = (/ & & 0.51359e-05_rb,0.66277e-05_rb,0.85196e-05_rb,0.10905e-04_rb,0.13933e-04_rb /) kbo(:,52, 7) = (/ & & 0.38737e-05_rb,0.51001e-05_rb,0.66347e-05_rb,0.85842e-05_rb,0.11033e-04_rb /) kbo(:,53, 7) = (/ & & 0.28793e-05_rb,0.38820e-05_rb,0.50987e-05_rb,0.66800e-05_rb,0.86846e-05_rb /) kbo(:,54, 7) = (/ & & 0.22250e-05_rb,0.30528e-05_rb,0.40721e-05_rb,0.53813e-05_rb,0.70529e-05_rb /) kbo(:,55, 7) = (/ & & 0.17548e-05_rb,0.24455e-05_rb,0.32962e-05_rb,0.43877e-05_rb,0.58071e-05_rb /) kbo(:,56, 7) = (/ & & 0.13740e-05_rb,0.19413e-05_rb,0.26523e-05_rb,0.35566e-05_rb,0.47512e-05_rb /) kbo(:,57, 7) = (/ & & 0.10745e-05_rb,0.15242e-05_rb,0.21190e-05_rb,0.28679e-05_rb,0.38612e-05_rb /) kbo(:,58, 7) = (/ & & 0.84271e-06_rb,0.12117e-05_rb,0.17039e-05_rb,0.23246e-05_rb,0.31564e-05_rb /) kbo(:,59, 7) = (/ & & 0.75625e-06_rb,0.11002e-05_rb,0.15376e-05_rb,0.20855e-05_rb,0.28548e-05_rb /) kbo(:,13, 8) = (/ & & 0.41133e-01_rb,0.43585e-01_rb,0.46448e-01_rb,0.50156e-01_rb,0.54607e-01_rb /) kbo(:,14, 8) = (/ & & 0.39162e-01_rb,0.41636e-01_rb,0.44649e-01_rb,0.48118e-01_rb,0.52078e-01_rb /) kbo(:,15, 8) = (/ & & 0.37770e-01_rb,0.40048e-01_rb,0.43090e-01_rb,0.46524e-01_rb,0.50698e-01_rb /) kbo(:,16, 8) = (/ & & 0.35235e-01_rb,0.37712e-01_rb,0.40429e-01_rb,0.44092e-01_rb,0.48470e-01_rb /) kbo(:,17, 8) = (/ & & 0.32748e-01_rb,0.35232e-01_rb,0.38049e-01_rb,0.41536e-01_rb,0.45596e-01_rb /) kbo(:,18, 8) = (/ & & 0.30656e-01_rb,0.33078e-01_rb,0.36084e-01_rb,0.39403e-01_rb,0.43319e-01_rb /) kbo(:,19, 8) = (/ & & 0.28887e-01_rb,0.31462e-01_rb,0.34348e-01_rb,0.37660e-01_rb,0.41532e-01_rb /) kbo(:,20, 8) = (/ & & 0.26521e-01_rb,0.29153e-01_rb,0.32006e-01_rb,0.35368e-01_rb,0.39083e-01_rb /) kbo(:,21, 8) = (/ & & 0.23988e-01_rb,0.26537e-01_rb,0.29508e-01_rb,0.32666e-01_rb,0.36356e-01_rb /) kbo(:,22, 8) = (/ & & 0.21655e-01_rb,0.24205e-01_rb,0.27193e-01_rb,0.30346e-01_rb,0.33820e-01_rb /) kbo(:,23, 8) = (/ & & 0.19724e-01_rb,0.22257e-01_rb,0.25021e-01_rb,0.27997e-01_rb,0.31309e-01_rb /) kbo(:,24, 8) = (/ & & 0.18094e-01_rb,0.20464e-01_rb,0.23167e-01_rb,0.26069e-01_rb,0.29357e-01_rb /) kbo(:,25, 8) = (/ & & 0.16666e-01_rb,0.18896e-01_rb,0.21422e-01_rb,0.24282e-01_rb,0.27401e-01_rb /) kbo(:,26, 8) = (/ & & 0.15252e-01_rb,0.17451e-01_rb,0.19828e-01_rb,0.22565e-01_rb,0.25604e-01_rb /) kbo(:,27, 8) = (/ & & 0.13902e-01_rb,0.15940e-01_rb,0.18143e-01_rb,0.20720e-01_rb,0.23727e-01_rb /) kbo(:,28, 8) = (/ & & 0.12642e-01_rb,0.14401e-01_rb,0.16467e-01_rb,0.18975e-01_rb,0.21740e-01_rb /) kbo(:,29, 8) = (/ & & 0.11177e-01_rb,0.12765e-01_rb,0.14750e-01_rb,0.16957e-01_rb,0.19575e-01_rb /) kbo(:,30, 8) = (/ & & 0.97810e-02_rb,0.11281e-01_rb,0.13066e-01_rb,0.15112e-01_rb,0.17581e-01_rb /) kbo(:,31, 8) = (/ & & 0.84562e-02_rb,0.98553e-02_rb,0.11427e-01_rb,0.13312e-01_rb,0.15536e-01_rb /) kbo(:,32, 8) = (/ & & 0.73434e-02_rb,0.85939e-02_rb,0.10020e-01_rb,0.11770e-01_rb,0.13758e-01_rb /) kbo(:,33, 8) = (/ & & 0.63801e-02_rb,0.74957e-02_rb,0.87874e-02_rb,0.10375e-01_rb,0.12145e-01_rb /) kbo(:,34, 8) = (/ & & 0.56002e-02_rb,0.65926e-02_rb,0.77964e-02_rb,0.92186e-02_rb,0.10768e-01_rb /) kbo(:,35, 8) = (/ & & 0.48489e-02_rb,0.57164e-02_rb,0.68333e-02_rb,0.80886e-02_rb,0.94500e-02_rb /) kbo(:,36, 8) = (/ & & 0.41428e-02_rb,0.49220e-02_rb,0.58884e-02_rb,0.69905e-02_rb,0.81862e-02_rb /) kbo(:,37, 8) = (/ & & 0.34967e-02_rb,0.41841e-02_rb,0.50244e-02_rb,0.59657e-02_rb,0.70167e-02_rb /) kbo(:,38, 8) = (/ & & 0.29333e-02_rb,0.35364e-02_rb,0.42644e-02_rb,0.50719e-02_rb,0.59938e-02_rb /) kbo(:,39, 8) = (/ & & 0.24443e-02_rb,0.29647e-02_rb,0.35953e-02_rb,0.42898e-02_rb,0.50972e-02_rb /) kbo(:,40, 8) = (/ & & 0.20439e-02_rb,0.25046e-02_rb,0.30512e-02_rb,0.36459e-02_rb,0.43466e-02_rb /) kbo(:,41, 8) = (/ & & 0.17068e-02_rb,0.21107e-02_rb,0.25838e-02_rb,0.30959e-02_rb,0.36971e-02_rb /) kbo(:,42, 8) = (/ & & 0.14199e-02_rb,0.17705e-02_rb,0.21755e-02_rb,0.26204e-02_rb,0.31356e-02_rb /) kbo(:,43, 8) = (/ & & 0.11616e-02_rb,0.14584e-02_rb,0.18069e-02_rb,0.21876e-02_rb,0.26286e-02_rb /) kbo(:,44, 8) = (/ & & 0.93807e-03_rb,0.11864e-02_rb,0.14851e-02_rb,0.18080e-02_rb,0.21849e-02_rb /) kbo(:,45, 8) = (/ & & 0.75026e-03_rb,0.95460e-03_rb,0.12092e-02_rb,0.14831e-02_rb,0.18037e-02_rb /) kbo(:,46, 8) = (/ & & 0.59319e-03_rb,0.76134e-03_rb,0.97292e-03_rb,0.12059e-02_rb,0.14787e-02_rb /) kbo(:,47, 8) = (/ & & 0.46546e-03_rb,0.60113e-03_rb,0.77762e-03_rb,0.97379e-03_rb,0.12030e-02_rb /) kbo(:,48, 8) = (/ & & 0.36131e-03_rb,0.46999e-03_rb,0.61292e-03_rb,0.77778e-03_rb,0.96667e-03_rb /) kbo(:,49, 8) = (/ & & 0.27490e-03_rb,0.36153e-03_rb,0.47561e-03_rb,0.61173e-03_rb,0.76634e-03_rb /) kbo(:,50, 8) = (/ & & 0.21403e-03_rb,0.28416e-03_rb,0.37592e-03_rb,0.48994e-03_rb,0.61812e-03_rb /) kbo(:,51, 8) = (/ & & 0.16745e-03_rb,0.22425e-03_rb,0.29943e-03_rb,0.39474e-03_rb,0.50310e-03_rb /) kbo(:,52, 8) = (/ & & 0.12927e-03_rb,0.17496e-03_rb,0.23541e-03_rb,0.31434e-03_rb,0.40442e-03_rb /) kbo(:,53, 8) = (/ & & 0.98512e-04_rb,0.13503e-03_rb,0.18276e-03_rb,0.24681e-03_rb,0.32086e-03_rb /) kbo(:,54, 8) = (/ & & 0.78150e-04_rb,0.10819e-03_rb,0.14843e-03_rb,0.20243e-03_rb,0.26646e-03_rb /) kbo(:,55, 8) = (/ & & 0.63455e-04_rb,0.88570e-04_rb,0.12297e-03_rb,0.17015e-03_rb,0.22626e-03_rb /) kbo(:,56, 8) = (/ & & 0.51095e-04_rb,0.72223e-04_rb,0.10144e-03_rb,0.14188e-03_rb,0.19132e-03_rb /) kbo(:,57, 8) = (/ & & 0.40866e-04_rb,0.58631e-04_rb,0.83096e-04_rb,0.11753e-03_rb,0.16055e-03_rb /) kbo(:,58, 8) = (/ & & 0.32890e-04_rb,0.47893e-04_rb,0.68644e-04_rb,0.98156e-04_rb,0.13564e-03_rb /) kbo(:,59, 8) = (/ & & 0.29702e-04_rb,0.43928e-04_rb,0.64217e-04_rb,0.92621e-04_rb,0.12965e-03_rb /) kbo(:,13, 9) = (/ & & 0.27690e+01_rb,0.28644e+01_rb,0.29696e+01_rb,0.30850e+01_rb,0.32162e+01_rb /) kbo(:,14, 9) = (/ & & 0.23162e+01_rb,0.23973e+01_rb,0.24876e+01_rb,0.25913e+01_rb,0.27107e+01_rb /) kbo(:,15, 9) = (/ & & 0.19377e+01_rb,0.20096e+01_rb,0.20909e+01_rb,0.21846e+01_rb,0.22904e+01_rb /) kbo(:,16, 9) = (/ & & 0.16221e+01_rb,0.16854e+01_rb,0.17596e+01_rb,0.18440e+01_rb,0.19374e+01_rb /) kbo(:,17, 9) = (/ & & 0.13581e+01_rb,0.14147e+01_rb,0.14813e+01_rb,0.15562e+01_rb,0.16364e+01_rb /) kbo(:,18, 9) = (/ & & 0.11494e+01_rb,0.11995e+01_rb,0.12558e+01_rb,0.13168e+01_rb,0.13828e+01_rb /) kbo(:,19, 9) = (/ & & 0.99857e+00_rb,0.10422e+01_rb,0.10890e+01_rb,0.11391e+01_rb,0.11917e+01_rb /) kbo(:,20, 9) = (/ & & 0.86585e+00_rb,0.90292e+00_rb,0.94341e+00_rb,0.98616e+00_rb,0.10332e+01_rb /) kbo(:,21, 9) = (/ & & 0.74752e+00_rb,0.77983e+00_rb,0.81433e+00_rb,0.85283e+00_rb,0.89462e+00_rb /) kbo(:,22, 9) = (/ & & 0.64494e+00_rb,0.67286e+00_rb,0.70277e+00_rb,0.73658e+00_rb,0.77352e+00_rb /) kbo(:,23, 9) = (/ & & 0.55485e+00_rb,0.57897e+00_rb,0.60654e+00_rb,0.63699e+00_rb,0.66979e+00_rb /) kbo(:,24, 9) = (/ & & 0.47664e+00_rb,0.49869e+00_rb,0.52329e+00_rb,0.54973e+00_rb,0.57955e+00_rb /) kbo(:,25, 9) = (/ & & 0.41114e+00_rb,0.42988e+00_rb,0.45044e+00_rb,0.47447e+00_rb,0.50163e+00_rb /) kbo(:,26, 9) = (/ & & 0.35513e+00_rb,0.37142e+00_rb,0.38942e+00_rb,0.41045e+00_rb,0.43493e+00_rb /) kbo(:,27, 9) = (/ & & 0.30546e+00_rb,0.31995e+00_rb,0.33673e+00_rb,0.35597e+00_rb,0.37742e+00_rb /) kbo(:,28, 9) = (/ & & 0.26188e+00_rb,0.27552e+00_rb,0.29117e+00_rb,0.30879e+00_rb,0.32839e+00_rb /) kbo(:,29, 9) = (/ & & 0.22377e+00_rb,0.23654e+00_rb,0.25102e+00_rb,0.26735e+00_rb,0.28587e+00_rb /) kbo(:,30, 9) = (/ & & 0.19129e+00_rb,0.20332e+00_rb,0.21691e+00_rb,0.23233e+00_rb,0.24924e+00_rb /) kbo(:,31, 9) = (/ & & 0.16347e+00_rb,0.17463e+00_rb,0.18745e+00_rb,0.20165e+00_rb,0.21712e+00_rb /) kbo(:,32, 9) = (/ & & 0.14037e+00_rb,0.15075e+00_rb,0.16282e+00_rb,0.17567e+00_rb,0.18973e+00_rb /) kbo(:,33, 9) = (/ & & 0.12095e+00_rb,0.13081e+00_rb,0.14161e+00_rb,0.15337e+00_rb,0.16632e+00_rb /) kbo(:,34, 9) = (/ & & 0.10468e+00_rb,0.11371e+00_rb,0.12351e+00_rb,0.13423e+00_rb,0.14632e+00_rb /) kbo(:,35, 9) = (/ & & 0.90259e-01_rb,0.98421e-01_rb,0.10717e+00_rb,0.11695e+00_rb,0.12831e+00_rb /) kbo(:,36, 9) = (/ & & 0.77272e-01_rb,0.84599e-01_rb,0.92464e-01_rb,0.10140e+00_rb,0.11193e+00_rb /) kbo(:,37, 9) = (/ & & 0.65606e-01_rb,0.72029e-01_rb,0.79063e-01_rb,0.87174e-01_rb,0.96643e-01_rb /) kbo(:,38, 9) = (/ & & 0.55528e-01_rb,0.61268e-01_rb,0.67613e-01_rb,0.74898e-01_rb,0.83456e-01_rb /) kbo(:,39, 9) = (/ & & 0.46985e-01_rb,0.52085e-01_rb,0.57765e-01_rb,0.64303e-01_rb,0.72021e-01_rb /) kbo(:,40, 9) = (/ & & 0.39626e-01_rb,0.44094e-01_rb,0.49150e-01_rb,0.55005e-01_rb,0.61884e-01_rb /) kbo(:,41, 9) = (/ & & 0.33376e-01_rb,0.37326e-01_rb,0.41783e-01_rb,0.46997e-01_rb,0.53158e-01_rb /) kbo(:,42, 9) = (/ & & 0.28074e-01_rb,0.31535e-01_rb,0.35493e-01_rb,0.40112e-01_rb,0.45645e-01_rb /) kbo(:,43, 9) = (/ & & 0.23419e-01_rb,0.26419e-01_rb,0.29889e-01_rb,0.33982e-01_rb,0.38867e-01_rb /) kbo(:,44, 9) = (/ & & 0.19437e-01_rb,0.22035e-01_rb,0.25042e-01_rb,0.28622e-01_rb,0.32930e-01_rb /) kbo(:,45, 9) = (/ & & 0.16083e-01_rb,0.18329e-01_rb,0.20937e-01_rb,0.24027e-01_rb,0.27786e-01_rb /) kbo(:,46, 9) = (/ & & 0.13236e-01_rb,0.15146e-01_rb,0.17420e-01_rb,0.20094e-01_rb,0.23328e-01_rb /) kbo(:,47, 9) = (/ & & 0.10820e-01_rb,0.12455e-01_rb,0.14377e-01_rb,0.16656e-01_rb,0.19464e-01_rb /) kbo(:,48, 9) = (/ & & 0.88043e-02_rb,0.10190e-01_rb,0.11813e-01_rb,0.13745e-01_rb,0.16141e-01_rb /) kbo(:,49, 9) = (/ & & 0.71234e-02_rb,0.82775e-02_rb,0.96453e-02_rb,0.11284e-01_rb,0.13310e-01_rb /) kbo(:,50, 9) = (/ & & 0.58127e-02_rb,0.67802e-02_rb,0.79379e-02_rb,0.93254e-02_rb,0.11078e-01_rb /) kbo(:,51, 9) = (/ & & 0.47494e-02_rb,0.55659e-02_rb,0.65602e-02_rb,0.77407e-02_rb,0.92288e-02_rb /) kbo(:,52, 9) = (/ & & 0.38618e-02_rb,0.45424e-02_rb,0.53925e-02_rb,0.64011e-02_rb,0.76645e-02_rb /) kbo(:,53, 9) = (/ & & 0.31264e-02_rb,0.36823e-02_rb,0.43952e-02_rb,0.52615e-02_rb,0.63311e-02_rb /) kbo(:,54, 9) = (/ & & 0.25794e-02_rb,0.30481e-02_rb,0.36548e-02_rb,0.44037e-02_rb,0.53380e-02_rb /) kbo(:,55, 9) = (/ & & 0.21508e-02_rb,0.25472e-02_rb,0.30665e-02_rb,0.37188e-02_rb,0.45472e-02_rb /) kbo(:,56, 9) = (/ & & 0.17938e-02_rb,0.21263e-02_rb,0.25713e-02_rb,0.31411e-02_rb,0.38667e-02_rb /) kbo(:,57, 9) = (/ & & 0.14949e-02_rb,0.17755e-02_rb,0.21510e-02_rb,0.26439e-02_rb,0.32830e-02_rb /) kbo(:,58, 9) = (/ & & 0.12521e-02_rb,0.14938e-02_rb,0.18137e-02_rb,0.22426e-02_rb,0.28028e-02_rb /) kbo(:,59, 9) = (/ & & 0.11302e-02_rb,0.13552e-02_rb,0.16582e-02_rb,0.20691e-02_rb,0.26051e-02_rb /) kbo(:,13,10) = (/ & & 0.14370e+02_rb,0.14649e+02_rb,0.14957e+02_rb,0.15296e+02_rb,0.15663e+02_rb /) kbo(:,14,10) = (/ & & 0.12178e+02_rb,0.12411e+02_rb,0.12682e+02_rb,0.12978e+02_rb,0.13316e+02_rb /) kbo(:,15,10) = (/ & & 0.10211e+02_rb,0.10402e+02_rb,0.10625e+02_rb,0.10894e+02_rb,0.11239e+02_rb /) kbo(:,16,10) = (/ & & 0.85974e+01_rb,0.87539e+01_rb,0.89410e+01_rb,0.91849e+01_rb,0.95108e+01_rb /) kbo(:,17,10) = (/ & & 0.72440e+01_rb,0.73858e+01_rb,0.75683e+01_rb,0.78199e+01_rb,0.81516e+01_rb /) kbo(:,18,10) = (/ & & 0.59680e+01_rb,0.61054e+01_rb,0.63108e+01_rb,0.66074e+01_rb,0.69367e+01_rb /) kbo(:,19,10) = (/ & & 0.47759e+01_rb,0.49000e+01_rb,0.51125e+01_rb,0.53858e+01_rb,0.56972e+01_rb /) kbo(:,20,10) = (/ & & 0.40682e+01_rb,0.42060e+01_rb,0.43988e+01_rb,0.46035e+01_rb,0.48052e+01_rb /) kbo(:,21,10) = (/ & & 0.35226e+01_rb,0.36715e+01_rb,0.38357e+01_rb,0.40017e+01_rb,0.41636e+01_rb /) kbo(:,22,10) = (/ & & 0.30730e+01_rb,0.32059e+01_rb,0.33607e+01_rb,0.35055e+01_rb,0.36621e+01_rb /) kbo(:,23,10) = (/ & & 0.26688e+01_rb,0.27999e+01_rb,0.29296e+01_rb,0.30668e+01_rb,0.32115e+01_rb /) kbo(:,24,10) = (/ & & 0.23228e+01_rb,0.24338e+01_rb,0.25510e+01_rb,0.26866e+01_rb,0.28223e+01_rb /) kbo(:,25,10) = (/ & & 0.19964e+01_rb,0.21083e+01_rb,0.22332e+01_rb,0.23566e+01_rb,0.24845e+01_rb /) kbo(:,26,10) = (/ & & 0.17097e+01_rb,0.18190e+01_rb,0.19420e+01_rb,0.20663e+01_rb,0.21952e+01_rb /) kbo(:,27,10) = (/ & & 0.14729e+01_rb,0.15741e+01_rb,0.16825e+01_rb,0.17963e+01_rb,0.19295e+01_rb /) kbo(:,28,10) = (/ & & 0.12788e+01_rb,0.13609e+01_rb,0.14562e+01_rb,0.15668e+01_rb,0.17032e+01_rb /) kbo(:,29,10) = (/ & & 0.11113e+01_rb,0.11813e+01_rb,0.12669e+01_rb,0.13763e+01_rb,0.15012e+01_rb /) kbo(:,30,10) = (/ & & 0.96661e+00_rb,0.10287e+01_rb,0.11081e+01_rb,0.12093e+01_rb,0.13273e+01_rb /) kbo(:,31,10) = (/ & & 0.83795e+00_rb,0.89792e+00_rb,0.97327e+00_rb,0.10727e+01_rb,0.11828e+01_rb /) kbo(:,32,10) = (/ & & 0.72634e+00_rb,0.78480e+00_rb,0.86071e+00_rb,0.95503e+00_rb,0.10615e+01_rb /) kbo(:,33,10) = (/ & & 0.63134e+00_rb,0.68789e+00_rb,0.76628e+00_rb,0.85854e+00_rb,0.96370e+00_rb /) kbo(:,34,10) = (/ & & 0.55172e+00_rb,0.60863e+00_rb,0.68672e+00_rb,0.77637e+00_rb,0.87664e+00_rb /) kbo(:,35,10) = (/ & & 0.48039e+00_rb,0.53701e+00_rb,0.61125e+00_rb,0.69795e+00_rb,0.79084e+00_rb /) kbo(:,36,10) = (/ & & 0.41819e+00_rb,0.47188e+00_rb,0.54096e+00_rb,0.62096e+00_rb,0.70693e+00_rb /) kbo(:,37,10) = (/ & & 0.36050e+00_rb,0.40906e+00_rb,0.47069e+00_rb,0.54184e+00_rb,0.62144e+00_rb /) kbo(:,38,10) = (/ & & 0.31156e+00_rb,0.35409e+00_rb,0.40958e+00_rb,0.47371e+00_rb,0.54611e+00_rb /) kbo(:,39,10) = (/ & & 0.26782e+00_rb,0.30677e+00_rb,0.35645e+00_rb,0.41535e+00_rb,0.48073e+00_rb /) kbo(:,40,10) = (/ & & 0.23006e+00_rb,0.26273e+00_rb,0.30670e+00_rb,0.35934e+00_rb,0.41871e+00_rb /) kbo(:,41,10) = (/ & & 0.19681e+00_rb,0.22601e+00_rb,0.26383e+00_rb,0.31041e+00_rb,0.36443e+00_rb /) kbo(:,42,10) = (/ & & 0.16794e+00_rb,0.19457e+00_rb,0.22757e+00_rb,0.26875e+00_rb,0.31708e+00_rb /) kbo(:,43,10) = (/ & & 0.14222e+00_rb,0.16606e+00_rb,0.19480e+00_rb,0.23049e+00_rb,0.27422e+00_rb /) kbo(:,44,10) = (/ & & 0.11907e+00_rb,0.14059e+00_rb,0.16567e+00_rb,0.19741e+00_rb,0.23557e+00_rb /) kbo(:,45,10) = (/ & & 0.99508e-01_rb,0.11792e+00_rb,0.14029e+00_rb,0.16912e+00_rb,0.20294e+00_rb /) kbo(:,46,10) = (/ & & 0.82787e-01_rb,0.98729e-01_rb,0.11783e+00_rb,0.14344e+00_rb,0.17433e+00_rb /) kbo(:,47,10) = (/ & & 0.68205e-01_rb,0.81739e-01_rb,0.98558e-01_rb,0.12017e+00_rb,0.14798e+00_rb /) kbo(:,48,10) = (/ & & 0.55907e-01_rb,0.67050e-01_rb,0.81465e-01_rb,0.10030e+00_rb,0.12506e+00_rb /) kbo(:,49,10) = (/ & & 0.45682e-01_rb,0.54871e-01_rb,0.66950e-01_rb,0.83270e-01_rb,0.10500e+00_rb /) kbo(:,50,10) = (/ & & 0.37515e-01_rb,0.45259e-01_rb,0.55584e-01_rb,0.69475e-01_rb,0.88432e-01_rb /) kbo(:,51,10) = (/ & & 0.31052e-01_rb,0.37347e-01_rb,0.46136e-01_rb,0.58029e-01_rb,0.74379e-01_rb /) kbo(:,52,10) = (/ & & 0.25697e-01_rb,0.30758e-01_rb,0.38027e-01_rb,0.48169e-01_rb,0.62340e-01_rb /) kbo(:,53,10) = (/ & & 0.21053e-01_rb,0.25282e-01_rb,0.31221e-01_rb,0.39765e-01_rb,0.52061e-01_rb /) kbo(:,54,10) = (/ & & 0.17506e-01_rb,0.21171e-01_rb,0.26181e-01_rb,0.33450e-01_rb,0.43837e-01_rb /) kbo(:,55,10) = (/ & & 0.14733e-01_rb,0.17912e-01_rb,0.22352e-01_rb,0.28517e-01_rb,0.37310e-01_rb /) kbo(:,56,10) = (/ & & 0.12382e-01_rb,0.15138e-01_rb,0.19031e-01_rb,0.24337e-01_rb,0.31780e-01_rb /) kbo(:,57,10) = (/ & & 0.10363e-01_rb,0.12802e-01_rb,0.16188e-01_rb,0.20731e-01_rb,0.27252e-01_rb /) kbo(:,58,10) = (/ & & 0.87632e-02_rb,0.10863e-01_rb,0.13823e-01_rb,0.17907e-01_rb,0.23570e-01_rb /) kbo(:,59,10) = (/ & & 0.79477e-02_rb,0.99708e-02_rb,0.12797e-01_rb,0.16832e-01_rb,0.22384e-01_rb /) kbo(:,13,11) = (/ & & 0.27028e+02_rb,0.27753e+02_rb,0.28483e+02_rb,0.29219e+02_rb,0.29909e+02_rb /) kbo(:,14,11) = (/ & & 0.23419e+02_rb,0.24025e+02_rb,0.24638e+02_rb,0.25228e+02_rb,0.25789e+02_rb /) kbo(:,15,11) = (/ & & 0.20150e+02_rb,0.20660e+02_rb,0.21151e+02_rb,0.21642e+02_rb,0.22118e+02_rb /) kbo(:,16,11) = (/ & & 0.17107e+02_rb,0.17510e+02_rb,0.17925e+02_rb,0.18355e+02_rb,0.18823e+02_rb /) kbo(:,17,11) = (/ & & 0.14361e+02_rb,0.14686e+02_rb,0.15035e+02_rb,0.15422e+02_rb,0.15903e+02_rb /) kbo(:,18,11) = (/ & & 0.12138e+02_rb,0.12397e+02_rb,0.12696e+02_rb,0.13058e+02_rb,0.13553e+02_rb /) kbo(:,19,11) = (/ & & 0.10135e+02_rb,0.10395e+02_rb,0.10708e+02_rb,0.11115e+02_rb,0.11638e+02_rb /) kbo(:,20,11) = (/ & & 0.81786e+01_rb,0.84190e+01_rb,0.87492e+01_rb,0.92221e+01_rb,0.97673e+01_rb /) kbo(:,21,11) = (/ & & 0.68203e+01_rb,0.70074e+01_rb,0.73249e+01_rb,0.77062e+01_rb,0.81227e+01_rb /) kbo(:,22,11) = (/ & & 0.58880e+01_rb,0.61142e+01_rb,0.64089e+01_rb,0.67273e+01_rb,0.70540e+01_rb /) kbo(:,23,11) = (/ & & 0.51482e+01_rb,0.53972e+01_rb,0.56613e+01_rb,0.59190e+01_rb,0.62039e+01_rb /) kbo(:,24,11) = (/ & & 0.45460e+01_rb,0.47798e+01_rb,0.50055e+01_rb,0.52340e+01_rb,0.54793e+01_rb /) kbo(:,25,11) = (/ & & 0.40038e+01_rb,0.42162e+01_rb,0.44356e+01_rb,0.46519e+01_rb,0.48861e+01_rb /) kbo(:,26,11) = (/ & & 0.35330e+01_rb,0.37282e+01_rb,0.39261e+01_rb,0.41342e+01_rb,0.43614e+01_rb /) kbo(:,27,11) = (/ & & 0.30918e+01_rb,0.32790e+01_rb,0.34783e+01_rb,0.36774e+01_rb,0.38933e+01_rb /) kbo(:,28,11) = (/ & & 0.27019e+01_rb,0.28880e+01_rb,0.30842e+01_rb,0.32755e+01_rb,0.34826e+01_rb /) kbo(:,29,11) = (/ & & 0.23567e+01_rb,0.25399e+01_rb,0.27237e+01_rb,0.29118e+01_rb,0.31184e+01_rb /) kbo(:,30,11) = (/ & & 0.20673e+01_rb,0.22421e+01_rb,0.24146e+01_rb,0.26001e+01_rb,0.28136e+01_rb /) kbo(:,31,11) = (/ & & 0.18233e+01_rb,0.19796e+01_rb,0.21491e+01_rb,0.23275e+01_rb,0.25391e+01_rb /) kbo(:,32,11) = (/ & & 0.16164e+01_rb,0.17629e+01_rb,0.19137e+01_rb,0.20921e+01_rb,0.23020e+01_rb /) kbo(:,33,11) = (/ & & 0.14325e+01_rb,0.15691e+01_rb,0.17171e+01_rb,0.18965e+01_rb,0.20991e+01_rb /) kbo(:,34,11) = (/ & & 0.12711e+01_rb,0.14025e+01_rb,0.15514e+01_rb,0.17231e+01_rb,0.19204e+01_rb /) kbo(:,35,11) = (/ & & 0.11251e+01_rb,0.12478e+01_rb,0.13948e+01_rb,0.15591e+01_rb,0.17428e+01_rb /) kbo(:,36,11) = (/ & & 0.98734e+00_rb,0.11026e+01_rb,0.12425e+01_rb,0.13991e+01_rb,0.15730e+01_rb /) kbo(:,37,11) = (/ & & 0.85152e+00_rb,0.96327e+00_rb,0.10911e+01_rb,0.12398e+01_rb,0.14045e+01_rb /) kbo(:,38,11) = (/ & & 0.73399e+00_rb,0.83942e+00_rb,0.95984e+00_rb,0.10967e+01_rb,0.12526e+01_rb /) kbo(:,39,11) = (/ & & 0.63468e+00_rb,0.73175e+00_rb,0.84488e+00_rb,0.97279e+00_rb,0.11163e+01_rb /) kbo(:,40,11) = (/ & & 0.54166e+00_rb,0.63099e+00_rb,0.73459e+00_rb,0.85525e+00_rb,0.98986e+00_rb /) kbo(:,41,11) = (/ & & 0.46341e+00_rb,0.54185e+00_rb,0.63786e+00_rb,0.75041e+00_rb,0.87557e+00_rb /) kbo(:,42,11) = (/ & & 0.39710e+00_rb,0.46604e+00_rb,0.55335e+00_rb,0.65788e+00_rb,0.77518e+00_rb /) kbo(:,43,11) = (/ & & 0.33809e+00_rb,0.39845e+00_rb,0.47656e+00_rb,0.56991e+00_rb,0.67763e+00_rb /) kbo(:,44,11) = (/ & & 0.28738e+00_rb,0.33811e+00_rb,0.40783e+00_rb,0.49238e+00_rb,0.58805e+00_rb /) kbo(:,45,11) = (/ & & 0.24372e+00_rb,0.28787e+00_rb,0.34858e+00_rb,0.42338e+00_rb,0.51131e+00_rb /) kbo(:,46,11) = (/ & & 0.20655e+00_rb,0.24407e+00_rb,0.29751e+00_rb,0.36239e+00_rb,0.44206e+00_rb /) kbo(:,47,11) = (/ & & 0.17359e+00_rb,0.20653e+00_rb,0.25158e+00_rb,0.30900e+00_rb,0.37888e+00_rb /) kbo(:,48,11) = (/ & & 0.14508e+00_rb,0.17395e+00_rb,0.21335e+00_rb,0.26232e+00_rb,0.32328e+00_rb /) kbo(:,49,11) = (/ & & 0.12016e+00_rb,0.14523e+00_rb,0.17928e+00_rb,0.22128e+00_rb,0.27412e+00_rb /) kbo(:,50,11) = (/ & & 0.99920e-01_rb,0.12218e+00_rb,0.15097e+00_rb,0.18907e+00_rb,0.23575e+00_rb /) kbo(:,51,11) = (/ & & 0.82909e-01_rb,0.10226e+00_rb,0.12737e+00_rb,0.16132e+00_rb,0.20378e+00_rb /) kbo(:,52,11) = (/ & & 0.68577e-01_rb,0.85131e-01_rb,0.10673e+00_rb,0.13644e+00_rb,0.17453e+00_rb /) kbo(:,53,11) = (/ & & 0.56302e-01_rb,0.70491e-01_rb,0.88684e-01_rb,0.11469e+00_rb,0.14786e+00_rb /) kbo(:,54,11) = (/ & & 0.47171e-01_rb,0.59185e-01_rb,0.74877e-01_rb,0.97387e-01_rb,0.12762e+00_rb /) kbo(:,55,11) = (/ & & 0.40028e-01_rb,0.50199e-01_rb,0.63960e-01_rb,0.83211e-01_rb,0.11104e+00_rb /) kbo(:,56,11) = (/ & & 0.33854e-01_rb,0.42508e-01_rb,0.54649e-01_rb,0.71262e-01_rb,0.95596e-01_rb /) kbo(:,57,11) = (/ & & 0.28590e-01_rb,0.36142e-01_rb,0.46409e-01_rb,0.61269e-01_rb,0.82012e-01_rb /) kbo(:,58,11) = (/ & & 0.24352e-01_rb,0.30934e-01_rb,0.39697e-01_rb,0.52483e-01_rb,0.71167e-01_rb /) kbo(:,59,11) = (/ & & 0.22598e-01_rb,0.29152e-01_rb,0.37468e-01_rb,0.48573e-01_rb,0.66434e-01_rb /) kbo(:,13,12) = (/ & & 0.57172e+02_rb,0.59297e+02_rb,0.61400e+02_rb,0.63512e+02_rb,0.65627e+02_rb /) kbo(:,14,12) = (/ & & 0.50361e+02_rb,0.52086e+02_rb,0.53828e+02_rb,0.55595e+02_rb,0.57346e+02_rb /) kbo(:,15,12) = (/ & & 0.44078e+02_rb,0.45453e+02_rb,0.46902e+02_rb,0.48347e+02_rb,0.49789e+02_rb /) kbo(:,16,12) = (/ & & 0.38395e+02_rb,0.39554e+02_rb,0.40754e+02_rb,0.41955e+02_rb,0.43150e+02_rb /) kbo(:,17,12) = (/ & & 0.33363e+02_rb,0.34355e+02_rb,0.35352e+02_rb,0.36337e+02_rb,0.37312e+02_rb /) kbo(:,18,12) = (/ & & 0.28599e+02_rb,0.29463e+02_rb,0.30307e+02_rb,0.31155e+02_rb,0.32043e+02_rb /) kbo(:,19,12) = (/ & & 0.24284e+02_rb,0.24982e+02_rb,0.25685e+02_rb,0.26424e+02_rb,0.27289e+02_rb /) kbo(:,20,12) = (/ & & 0.20576e+02_rb,0.21117e+02_rb,0.21693e+02_rb,0.22370e+02_rb,0.23304e+02_rb /) kbo(:,21,12) = (/ & & 0.17126e+02_rb,0.17629e+02_rb,0.18193e+02_rb,0.18968e+02_rb,0.20012e+02_rb /) kbo(:,22,12) = (/ & & 0.14084e+02_rb,0.14526e+02_rb,0.15112e+02_rb,0.15986e+02_rb,0.17086e+02_rb /) kbo(:,23,12) = (/ & & 0.11727e+02_rb,0.12073e+02_rb,0.12663e+02_rb,0.13546e+02_rb,0.14594e+02_rb /) kbo(:,24,12) = (/ & & 0.10116e+02_rb,0.10483e+02_rb,0.11087e+02_rb,0.11839e+02_rb,0.12630e+02_rb /) kbo(:,25,12) = (/ & & 0.89362e+01_rb,0.93748e+01_rb,0.99578e+01_rb,0.10576e+02_rb,0.11263e+02_rb /) kbo(:,26,12) = (/ & & 0.79574e+01_rb,0.84325e+01_rb,0.89960e+01_rb,0.95862e+01_rb,0.10135e+02_rb /) kbo(:,27,12) = (/ & & 0.71290e+01_rb,0.76343e+01_rb,0.81343e+01_rb,0.86609e+01_rb,0.91441e+01_rb /) kbo(:,28,12) = (/ & & 0.64441e+01_rb,0.69081e+01_rb,0.73340e+01_rb,0.77892e+01_rb,0.82579e+01_rb /) kbo(:,29,12) = (/ & & 0.57859e+01_rb,0.61904e+01_rb,0.65762e+01_rb,0.69937e+01_rb,0.74255e+01_rb /) kbo(:,30,12) = (/ & & 0.51602e+01_rb,0.55338e+01_rb,0.58953e+01_rb,0.62766e+01_rb,0.66823e+01_rb /) kbo(:,31,12) = (/ & & 0.45943e+01_rb,0.49270e+01_rb,0.52739e+01_rb,0.56298e+01_rb,0.60118e+01_rb /) kbo(:,32,12) = (/ & & 0.40881e+01_rb,0.44095e+01_rb,0.47450e+01_rb,0.50839e+01_rb,0.54488e+01_rb /) kbo(:,33,12) = (/ & & 0.36534e+01_rb,0.39549e+01_rb,0.42670e+01_rb,0.46043e+01_rb,0.49743e+01_rb /) kbo(:,34,12) = (/ & & 0.32874e+01_rb,0.35667e+01_rb,0.38571e+01_rb,0.41872e+01_rb,0.45862e+01_rb /) kbo(:,35,12) = (/ & & 0.29379e+01_rb,0.31963e+01_rb,0.34845e+01_rb,0.38151e+01_rb,0.42290e+01_rb /) kbo(:,36,12) = (/ & & 0.26101e+01_rb,0.28628e+01_rb,0.31405e+01_rb,0.34760e+01_rb,0.38927e+01_rb /) kbo(:,37,12) = (/ & & 0.23047e+01_rb,0.25368e+01_rb,0.28124e+01_rb,0.31292e+01_rb,0.35310e+01_rb /) kbo(:,38,12) = (/ & & 0.20413e+01_rb,0.22603e+01_rb,0.25129e+01_rb,0.28252e+01_rb,0.32149e+01_rb /) kbo(:,39,12) = (/ & & 0.18040e+01_rb,0.20133e+01_rb,0.22565e+01_rb,0.25571e+01_rb,0.29423e+01_rb /) kbo(:,40,12) = (/ & & 0.15898e+01_rb,0.17862e+01_rb,0.20189e+01_rb,0.22992e+01_rb,0.26576e+01_rb /) kbo(:,41,12) = (/ & & 0.14002e+01_rb,0.15861e+01_rb,0.18008e+01_rb,0.20620e+01_rb,0.24028e+01_rb /) kbo(:,42,12) = (/ & & 0.12302e+01_rb,0.14049e+01_rb,0.16015e+01_rb,0.18444e+01_rb,0.21658e+01_rb /) kbo(:,43,12) = (/ & & 0.10668e+01_rb,0.12258e+01_rb,0.14101e+01_rb,0.16347e+01_rb,0.19297e+01_rb /) kbo(:,44,12) = (/ & & 0.91800e+00_rb,0.10642e+01_rb,0.12324e+01_rb,0.14347e+01_rb,0.17074e+01_rb /) kbo(:,45,12) = (/ & & 0.78687e+00_rb,0.91967e+00_rb,0.10737e+01_rb,0.12598e+01_rb,0.15049e+01_rb /) kbo(:,46,12) = (/ & & 0.67148e+00_rb,0.79041e+00_rb,0.92761e+00_rb,0.10973e+01_rb,0.13177e+01_rb /) kbo(:,47,12) = (/ & & 0.57045e+00_rb,0.67640e+00_rb,0.80034e+00_rb,0.94779e+00_rb,0.11432e+01_rb /) kbo(:,48,12) = (/ & & 0.48142e+00_rb,0.57646e+00_rb,0.68676e+00_rb,0.82116e+00_rb,0.98898e+00_rb /) kbo(:,49,12) = (/ & & 0.40194e+00_rb,0.48757e+00_rb,0.58498e+00_rb,0.70838e+00_rb,0.85881e+00_rb /) kbo(:,50,12) = (/ & & 0.34095e+00_rb,0.41499e+00_rb,0.50425e+00_rb,0.61464e+00_rb,0.75451e+00_rb /) kbo(:,51,12) = (/ & & 0.29038e+00_rb,0.35608e+00_rb,0.43553e+00_rb,0.53422e+00_rb,0.66315e+00_rb /) kbo(:,52,12) = (/ & & 0.24615e+00_rb,0.30360e+00_rb,0.37359e+00_rb,0.46378e+00_rb,0.57808e+00_rb /) kbo(:,53,12) = (/ & & 0.20660e+00_rb,0.25764e+00_rb,0.31993e+00_rb,0.39869e+00_rb,0.50232e+00_rb /) kbo(:,54,12) = (/ & & 0.17518e+00_rb,0.22280e+00_rb,0.27852e+00_rb,0.34881e+00_rb,0.44243e+00_rb /) kbo(:,55,12) = (/ & & 0.14906e+00_rb,0.19392e+00_rb,0.24538e+00_rb,0.31045e+00_rb,0.39204e+00_rb /) kbo(:,56,12) = (/ & & 0.12564e+00_rb,0.16748e+00_rb,0.21535e+00_rb,0.27386e+00_rb,0.34816e+00_rb /) kbo(:,57,12) = (/ & & 0.10489e+00_rb,0.14334e+00_rb,0.18902e+00_rb,0.24147e+00_rb,0.30976e+00_rb /) kbo(:,58,12) = (/ & & 0.88415e-01_rb,0.12250e+00_rb,0.16566e+00_rb,0.21499e+00_rb,0.27515e+00_rb /) kbo(:,59,12) = (/ & & 0.80710e-01_rb,0.11375e+00_rb,0.15629e+00_rb,0.20737e+00_rb,0.26838e+00_rb /) kbo(:,13,13) = (/ & & 0.16465e+03_rb,0.16298e+03_rb,0.16413e+03_rb,0.16796e+03_rb,0.17425e+03_rb /) kbo(:,14,13) = (/ & & 0.14134e+03_rb,0.14223e+03_rb,0.14584e+03_rb,0.15183e+03_rb,0.15823e+03_rb /) kbo(:,15,13) = (/ & & 0.12334e+03_rb,0.12642e+03_rb,0.13170e+03_rb,0.13719e+03_rb,0.14248e+03_rb /) kbo(:,16,13) = (/ & & 0.10903e+03_rb,0.11350e+03_rb,0.11825e+03_rb,0.12284e+03_rb,0.12720e+03_rb /) kbo(:,17,13) = (/ & & 0.96744e+02_rb,0.10077e+03_rb,0.10473e+03_rb,0.10856e+03_rb,0.11225e+03_rb /) kbo(:,18,13) = (/ & & 0.85368e+02_rb,0.88669e+02_rb,0.91934e+02_rb,0.95127e+02_rb,0.98216e+02_rb /) kbo(:,19,13) = (/ & & 0.74865e+02_rb,0.77560e+02_rb,0.80263e+02_rb,0.82912e+02_rb,0.85499e+02_rb /) kbo(:,20,13) = (/ & & 0.65304e+02_rb,0.67588e+02_rb,0.69849e+02_rb,0.72099e+02_rb,0.74316e+02_rb /) kbo(:,21,13) = (/ & & 0.56704e+02_rb,0.58616e+02_rb,0.60541e+02_rb,0.62457e+02_rb,0.64444e+02_rb /) kbo(:,22,13) = (/ & & 0.49099e+02_rb,0.50788e+02_rb,0.52451e+02_rb,0.54119e+02_rb,0.55970e+02_rb /) kbo(:,23,13) = (/ & & 0.42076e+02_rb,0.43646e+02_rb,0.45230e+02_rb,0.46888e+02_rb,0.48798e+02_rb /) kbo(:,24,13) = (/ & & 0.35457e+02_rb,0.36904e+02_rb,0.38447e+02_rb,0.40262e+02_rb,0.42565e+02_rb /) kbo(:,25,13) = (/ & & 0.29832e+02_rb,0.31036e+02_rb,0.32508e+02_rb,0.34502e+02_rb,0.36979e+02_rb /) kbo(:,26,13) = (/ & & 0.25205e+02_rb,0.26348e+02_rb,0.27792e+02_rb,0.29788e+02_rb,0.32459e+02_rb /) kbo(:,27,13) = (/ & & 0.21486e+02_rb,0.22586e+02_rb,0.24162e+02_rb,0.26260e+02_rb,0.28944e+02_rb /) kbo(:,28,13) = (/ & & 0.18712e+02_rb,0.19693e+02_rb,0.21370e+02_rb,0.23591e+02_rb,0.26158e+02_rb /) kbo(:,29,13) = (/ & & 0.16630e+02_rb,0.17716e+02_rb,0.19369e+02_rb,0.21565e+02_rb,0.24102e+02_rb /) kbo(:,30,13) = (/ & & 0.14923e+02_rb,0.16119e+02_rb,0.17783e+02_rb,0.19989e+02_rb,0.22379e+02_rb /) kbo(:,31,13) = (/ & & 0.13532e+02_rb,0.14853e+02_rb,0.16576e+02_rb,0.18745e+02_rb,0.21084e+02_rb /) kbo(:,32,13) = (/ & & 0.12453e+02_rb,0.13784e+02_rb,0.15587e+02_rb,0.17718e+02_rb,0.20022e+02_rb /) kbo(:,33,13) = (/ & & 0.11580e+02_rb,0.13038e+02_rb,0.14851e+02_rb,0.16892e+02_rb,0.19192e+02_rb /) kbo(:,34,13) = (/ & & 0.10820e+02_rb,0.12376e+02_rb,0.14134e+02_rb,0.16152e+02_rb,0.18402e+02_rb /) kbo(:,35,13) = (/ & & 0.10116e+02_rb,0.11686e+02_rb,0.13402e+02_rb,0.15346e+02_rb,0.17556e+02_rb /) kbo(:,36,13) = (/ & & 0.93933e+01_rb,0.10910e+02_rb,0.12572e+02_rb,0.14432e+02_rb,0.16536e+02_rb /) kbo(:,37,13) = (/ & & 0.85160e+01_rb,0.99755e+01_rb,0.11554e+02_rb,0.13358e+02_rb,0.15350e+02_rb /) kbo(:,38,13) = (/ & & 0.77505e+01_rb,0.91225e+01_rb,0.10670e+02_rb,0.12380e+02_rb,0.14273e+02_rb /) kbo(:,39,13) = (/ & & 0.70897e+01_rb,0.83885e+01_rb,0.98694e+01_rb,0.11502e+02_rb,0.13343e+02_rb /) kbo(:,40,13) = (/ & & 0.63295e+01_rb,0.75506e+01_rb,0.89466e+01_rb,0.10495e+02_rb,0.12287e+02_rb /) kbo(:,41,13) = (/ & & 0.56302e+01_rb,0.67988e+01_rb,0.80957e+01_rb,0.96013e+01_rb,0.11280e+02_rb /) kbo(:,42,13) = (/ & & 0.50234e+01_rb,0.61071e+01_rb,0.73389e+01_rb,0.87816e+01_rb,0.10380e+02_rb /) kbo(:,43,13) = (/ & & 0.44225e+01_rb,0.54282e+01_rb,0.65963e+01_rb,0.79433e+01_rb,0.94666e+01_rb /) kbo(:,44,13) = (/ & & 0.38558e+01_rb,0.47912e+01_rb,0.58905e+01_rb,0.71478e+01_rb,0.86145e+01_rb /) kbo(:,45,13) = (/ & & 0.33575e+01_rb,0.42351e+01_rb,0.52475e+01_rb,0.64292e+01_rb,0.78296e+01_rb /) kbo(:,46,13) = (/ & & 0.29053e+01_rb,0.37074e+01_rb,0.46432e+01_rb,0.57484e+01_rb,0.70674e+01_rb /) kbo(:,47,13) = (/ & & 0.24706e+01_rb,0.31851e+01_rb,0.40524e+01_rb,0.50837e+01_rb,0.62990e+01_rb /) kbo(:,48,13) = (/ & & 0.20907e+01_rb,0.27320e+01_rb,0.35232e+01_rb,0.44689e+01_rb,0.55998e+01_rb /) kbo(:,49,13) = (/ & & 0.17652e+01_rb,0.23397e+01_rb,0.30525e+01_rb,0.39130e+01_rb,0.49641e+01_rb /) kbo(:,50,13) = (/ & & 0.14980e+01_rb,0.19995e+01_rb,0.26386e+01_rb,0.34309e+01_rb,0.43930e+01_rb /) kbo(:,51,13) = (/ & & 0.12883e+01_rb,0.17229e+01_rb,0.22808e+01_rb,0.30058e+01_rb,0.38921e+01_rb /) kbo(:,52,13) = (/ & & 0.11032e+01_rb,0.14878e+01_rb,0.19945e+01_rb,0.26225e+01_rb,0.34327e+01_rb /) kbo(:,53,13) = (/ & & 0.94256e+00_rb,0.12803e+01_rb,0.17436e+01_rb,0.23095e+01_rb,0.30258e+01_rb /) kbo(:,54,13) = (/ & & 0.80847e+00_rb,0.11045e+01_rb,0.15250e+01_rb,0.20573e+01_rb,0.27048e+01_rb /) kbo(:,55,13) = (/ & & 0.69972e+00_rb,0.95008e+00_rb,0.13215e+01_rb,0.18178e+01_rb,0.24326e+01_rb /) kbo(:,56,13) = (/ & & 0.60659e+00_rb,0.81298e+00_rb,0.11430e+01_rb,0.15925e+01_rb,0.21783e+01_rb /) kbo(:,57,13) = (/ & & 0.52664e+00_rb,0.69670e+00_rb,0.97998e+00_rb,0.13891e+01_rb,0.19333e+01_rb /) kbo(:,58,13) = (/ & & 0.45985e+00_rb,0.60682e+00_rb,0.84337e+00_rb,0.12113e+01_rb,0.17188e+01_rb /) kbo(:,59,13) = (/ & & 0.43853e+00_rb,0.57879e+00_rb,0.79018e+00_rb,0.11130e+01_rb,0.16039e+01_rb /) kbo(:,13,14) = (/ & & 0.86016e+03_rb,0.84626e+03_rb,0.83228e+03_rb,0.81817e+03_rb,0.80450e+03_rb /) kbo(:,14,14) = (/ & & 0.75981e+03_rb,0.74663e+03_rb,0.73345e+03_rb,0.72104e+03_rb,0.71224e+03_rb /) kbo(:,15,14) = (/ & & 0.66201e+03_rb,0.64993e+03_rb,0.63891e+03_rb,0.63210e+03_rb,0.62978e+03_rb /) kbo(:,16,14) = (/ & & 0.57014e+03_rb,0.56027e+03_rb,0.55466e+03_rb,0.55378e+03_rb,0.55721e+03_rb /) kbo(:,17,14) = (/ & & 0.48861e+03_rb,0.48354e+03_rb,0.48324e+03_rb,0.48760e+03_rb,0.49602e+03_rb /) kbo(:,18,14) = (/ & & 0.41987e+03_rb,0.41964e+03_rb,0.42411e+03_rb,0.43291e+03_rb,0.44575e+03_rb /) kbo(:,19,14) = (/ & & 0.36303e+03_rb,0.36702e+03_rb,0.37556e+03_rb,0.38834e+03_rb,0.40471e+03_rb /) kbo(:,20,14) = (/ & & 0.31651e+03_rb,0.32421e+03_rb,0.33627e+03_rb,0.35219e+03_rb,0.37072e+03_rb /) kbo(:,21,14) = (/ & & 0.27867e+03_rb,0.28947e+03_rb,0.30434e+03_rb,0.32131e+03_rb,0.33823e+03_rb /) kbo(:,22,14) = (/ & & 0.24916e+03_rb,0.26251e+03_rb,0.27768e+03_rb,0.29296e+03_rb,0.30844e+03_rb /) kbo(:,23,14) = (/ & & 0.22571e+03_rb,0.23932e+03_rb,0.25291e+03_rb,0.26670e+03_rb,0.28069e+03_rb /) kbo(:,24,14) = (/ & & 0.20503e+03_rb,0.21765e+03_rb,0.23029e+03_rb,0.24291e+03_rb,0.25575e+03_rb /) kbo(:,25,14) = (/ & & 0.18574e+03_rb,0.19763e+03_rb,0.20960e+03_rb,0.22151e+03_rb,0.23356e+03_rb /) kbo(:,26,14) = (/ & & 0.16825e+03_rb,0.17945e+03_rb,0.19085e+03_rb,0.20242e+03_rb,0.21406e+03_rb /) kbo(:,27,14) = (/ & & 0.15254e+03_rb,0.16311e+03_rb,0.17402e+03_rb,0.18521e+03_rb,0.19696e+03_rb /) kbo(:,28,14) = (/ & & 0.13815e+03_rb,0.14857e+03_rb,0.15913e+03_rb,0.17022e+03_rb,0.18238e+03_rb /) kbo(:,29,14) = (/ & & 0.12560e+03_rb,0.13571e+03_rb,0.14630e+03_rb,0.15763e+03_rb,0.17019e+03_rb /) kbo(:,30,14) = (/ & & 0.11497e+03_rb,0.12476e+03_rb,0.13550e+03_rb,0.14719e+03_rb,0.16044e+03_rb /) kbo(:,31,14) = (/ & & 0.10602e+03_rb,0.11577e+03_rb,0.12671e+03_rb,0.13889e+03_rb,0.15289e+03_rb /) kbo(:,32,14) = (/ & & 0.98519e+02_rb,0.10855e+03_rb,0.11978e+03_rb,0.13265e+03_rb,0.14744e+03_rb /) kbo(:,33,14) = (/ & & 0.92517e+02_rb,0.10274e+03_rb,0.11452e+03_rb,0.12822e+03_rb,0.14389e+03_rb /) kbo(:,34,14) = (/ & & 0.87441e+02_rb,0.97936e+02_rb,0.11044e+03_rb,0.12495e+03_rb,0.14148e+03_rb /) kbo(:,35,14) = (/ & & 0.82499e+02_rb,0.93333e+02_rb,0.10635e+03_rb,0.12151e+03_rb,0.13874e+03_rb /) kbo(:,36,14) = (/ & & 0.77442e+02_rb,0.88493e+02_rb,0.10184e+03_rb,0.11740e+03_rb,0.13513e+03_rb /) kbo(:,37,14) = (/ & & 0.71771e+02_rb,0.82731e+02_rb,0.96032e+02_rb,0.11158e+03_rb,0.12941e+03_rb /) kbo(:,38,14) = (/ & & 0.66727e+02_rb,0.77610e+02_rb,0.90795e+02_rb,0.10632e+03_rb,0.12415e+03_rb /) kbo(:,39,14) = (/ & & 0.62339e+02_rb,0.73113e+02_rb,0.86200e+02_rb,0.10167e+03_rb,0.11942e+03_rb /) kbo(:,40,14) = (/ & & 0.57601e+02_rb,0.67999e+02_rb,0.80724e+02_rb,0.95858e+02_rb,0.11323e+03_rb /) kbo(:,41,14) = (/ & & 0.53285e+02_rb,0.63203e+02_rb,0.75577e+02_rb,0.90242e+02_rb,0.10726e+03_rb /) kbo(:,42,14) = (/ & & 0.49392e+02_rb,0.58908e+02_rb,0.70834e+02_rb,0.85045e+02_rb,0.10163e+03_rb /) kbo(:,43,14) = (/ & & 0.45446e+02_rb,0.54452e+02_rb,0.65751e+02_rb,0.79402e+02_rb,0.95397e+02_rb /) kbo(:,44,14) = (/ & & 0.41620e+02_rb,0.50184e+02_rb,0.60777e+02_rb,0.73786e+02_rb,0.89076e+02_rb /) kbo(:,45,14) = (/ & & 0.38059e+02_rb,0.46282e+02_rb,0.56226e+02_rb,0.68539e+02_rb,0.83136e+02_rb /) kbo(:,46,14) = (/ & & 0.34554e+02_rb,0.42501e+02_rb,0.51829e+02_rb,0.63383e+02_rb,0.77220e+02_rb /) kbo(:,47,14) = (/ & & 0.31009e+02_rb,0.38610e+02_rb,0.47385e+02_rb,0.58058e+02_rb,0.71080e+02_rb /) kbo(:,48,14) = (/ & & 0.27715e+02_rb,0.34934e+02_rb,0.43319e+02_rb,0.53190e+02_rb,0.65347e+02_rb /) kbo(:,49,14) = (/ & & 0.24658e+02_rb,0.31478e+02_rb,0.39500e+02_rb,0.48743e+02_rb,0.59997e+02_rb /) kbo(:,50,14) = (/ & & 0.22034e+02_rb,0.28437e+02_rb,0.36093e+02_rb,0.44894e+02_rb,0.55346e+02_rb /) kbo(:,51,14) = (/ & & 0.19684e+02_rb,0.25626e+02_rb,0.32937e+02_rb,0.41385e+02_rb,0.51154e+02_rb /) kbo(:,52,14) = (/ & & 0.17504e+02_rb,0.22995e+02_rb,0.29925e+02_rb,0.38057e+02_rb,0.47307e+02_rb /) kbo(:,53,14) = (/ & & 0.15552e+02_rb,0.20544e+02_rb,0.27079e+02_rb,0.34832e+02_rb,0.43722e+02_rb /) kbo(:,54,14) = (/ & & 0.13886e+02_rb,0.18476e+02_rb,0.24607e+02_rb,0.31966e+02_rb,0.40540e+02_rb /) kbo(:,55,14) = (/ & & 0.12396e+02_rb,0.16681e+02_rb,0.22385e+02_rb,0.29384e+02_rb,0.37592e+02_rb /) kbo(:,56,14) = (/ & & 0.11028e+02_rb,0.15006e+02_rb,0.20297e+02_rb,0.26955e+02_rb,0.34780e+02_rb /) kbo(:,57,14) = (/ & & 0.97493e+01_rb,0.13452e+02_rb,0.18354e+02_rb,0.24644e+02_rb,0.32099e+02_rb /) kbo(:,58,14) = (/ & & 0.86411e+01_rb,0.12068e+02_rb,0.16627e+02_rb,0.22569e+02_rb,0.29684e+02_rb /) kbo(:,59,14) = (/ & & 0.80894e+01_rb,0.11449e+02_rb,0.15905e+02_rb,0.21753e+02_rb,0.28728e+02_rb /) kbo(:,13,15) = (/ & & 0.50046e+04_rb,0.50034e+04_rb,0.49950e+04_rb,0.49781e+04_rb,0.49542e+04_rb /) kbo(:,14,15) = (/ & & 0.51812e+04_rb,0.51738e+04_rb,0.51582e+04_rb,0.51357e+04_rb,0.51054e+04_rb /) kbo(:,15,15) = (/ & & 0.52793e+04_rb,0.52645e+04_rb,0.52450e+04_rb,0.52172e+04_rb,0.51836e+04_rb /) kbo(:,16,15) = (/ & & 0.53001e+04_rb,0.52818e+04_rb,0.52568e+04_rb,0.52274e+04_rb,0.51924e+04_rb /) kbo(:,17,15) = (/ & & 0.52448e+04_rb,0.52242e+04_rb,0.52004e+04_rb,0.51715e+04_rb,0.51377e+04_rb /) kbo(:,18,15) = (/ & & 0.51200e+04_rb,0.51031e+04_rb,0.50817e+04_rb,0.50571e+04_rb,0.50308e+04_rb /) kbo(:,19,15) = (/ & & 0.49389e+04_rb,0.49284e+04_rb,0.49153e+04_rb,0.49007e+04_rb,0.48819e+04_rb /) kbo(:,20,15) = (/ & & 0.47181e+04_rb,0.47168e+04_rb,0.47163e+04_rb,0.47129e+04_rb,0.47111e+04_rb /) kbo(:,21,15) = (/ & & 0.44718e+04_rb,0.44865e+04_rb,0.44990e+04_rb,0.45153e+04_rb,0.45403e+04_rb /) kbo(:,22,15) = (/ & & 0.42192e+04_rb,0.42497e+04_rb,0.42861e+04_rb,0.43316e+04_rb,0.43809e+04_rb /) kbo(:,23,15) = (/ & & 0.39727e+04_rb,0.40275e+04_rb,0.40936e+04_rb,0.41646e+04_rb,0.42404e+04_rb /) kbo(:,24,15) = (/ & & 0.37507e+04_rb,0.38336e+04_rb,0.39239e+04_rb,0.40206e+04_rb,0.41209e+04_rb /) kbo(:,25,15) = (/ & & 0.35606e+04_rb,0.36694e+04_rb,0.37826e+04_rb,0.39026e+04_rb,0.40244e+04_rb /) kbo(:,26,15) = (/ & & 0.34043e+04_rb,0.35364e+04_rb,0.36731e+04_rb,0.38130e+04_rb,0.39519e+04_rb /) kbo(:,27,15) = (/ & & 0.32803e+04_rb,0.34346e+04_rb,0.35912e+04_rb,0.37476e+04_rb,0.39014e+04_rb /) kbo(:,28,15) = (/ & & 0.31876e+04_rb,0.33610e+04_rb,0.35344e+04_rb,0.37042e+04_rb,0.38699e+04_rb /) kbo(:,29,15) = (/ & & 0.31239e+04_rb,0.33137e+04_rb,0.34995e+04_rb,0.36813e+04_rb,0.38573e+04_rb /) kbo(:,30,15) = (/ & & 0.30850e+04_rb,0.32872e+04_rb,0.34837e+04_rb,0.36745e+04_rb,0.38591e+04_rb /) kbo(:,31,15) = (/ & & 0.30674e+04_rb,0.32795e+04_rb,0.34848e+04_rb,0.36826e+04_rb,0.38724e+04_rb /) kbo(:,32,15) = (/ & & 0.30683e+04_rb,0.32879e+04_rb,0.34990e+04_rb,0.37022e+04_rb,0.38953e+04_rb /) kbo(:,33,15) = (/ & & 0.30831e+04_rb,0.33087e+04_rb,0.35243e+04_rb,0.37303e+04_rb,0.39250e+04_rb /) kbo(:,34,15) = (/ & & 0.31017e+04_rb,0.33308e+04_rb,0.35496e+04_rb,0.37580e+04_rb,0.39527e+04_rb /) kbo(:,35,15) = (/ & & 0.31057e+04_rb,0.33387e+04_rb,0.35601e+04_rb,0.37700e+04_rb,0.39654e+04_rb /) kbo(:,36,15) = (/ & & 0.30895e+04_rb,0.33260e+04_rb,0.35504e+04_rb,0.37630e+04_rb,0.39606e+04_rb /) kbo(:,37,15) = (/ & & 0.30400e+04_rb,0.32811e+04_rb,0.35096e+04_rb,0.37263e+04_rb,0.39277e+04_rb /) kbo(:,38,15) = (/ & & 0.29913e+04_rb,0.32361e+04_rb,0.34690e+04_rb,0.36890e+04_rb,0.38942e+04_rb /) kbo(:,39,15) = (/ & & 0.29441e+04_rb,0.31926e+04_rb,0.34294e+04_rb,0.36526e+04_rb,0.38612e+04_rb /) kbo(:,40,15) = (/ & & 0.28722e+04_rb,0.31254e+04_rb,0.33667e+04_rb,0.35943e+04_rb,0.38073e+04_rb /) kbo(:,41,15) = (/ & & 0.27971e+04_rb,0.30548e+04_rb,0.33004e+04_rb,0.35326e+04_rb,0.37505e+04_rb /) kbo(:,42,15) = (/ & & 0.27226e+04_rb,0.29837e+04_rb,0.32336e+04_rb,0.34701e+04_rb,0.36925e+04_rb /) kbo(:,43,15) = (/ & & 0.26332e+04_rb,0.28981e+04_rb,0.31525e+04_rb,0.33944e+04_rb,0.36223e+04_rb /) kbo(:,44,15) = (/ & & 0.25372e+04_rb,0.28050e+04_rb,0.30643e+04_rb,0.33114e+04_rb,0.35441e+04_rb /) kbo(:,45,15) = (/ & & 0.24417e+04_rb,0.27113e+04_rb,0.29748e+04_rb,0.32268e+04_rb,0.34651e+04_rb /) kbo(:,46,15) = (/ & & 0.23395e+04_rb,0.26115e+04_rb,0.28783e+04_rb,0.31351e+04_rb,0.33792e+04_rb /) kbo(:,47,15) = (/ & & 0.22243e+04_rb,0.24998e+04_rb,0.27694e+04_rb,0.30313e+04_rb,0.32810e+04_rb /) kbo(:,48,15) = (/ & & 0.21083e+04_rb,0.23877e+04_rb,0.26592e+04_rb,0.29257e+04_rb,0.31803e+04_rb /) kbo(:,49,15) = (/ & & 0.19925e+04_rb,0.22741e+04_rb,0.25488e+04_rb,0.28180e+04_rb,0.30783e+04_rb /) kbo(:,50,15) = (/ & & 0.18841e+04_rb,0.21666e+04_rb,0.24447e+04_rb,0.27159e+04_rb,0.29806e+04_rb /) kbo(:,51,15) = (/ & & 0.17798e+04_rb,0.20618e+04_rb,0.23428e+04_rb,0.26160e+04_rb,0.28839e+04_rb /) kbo(:,52,15) = (/ & & 0.16762e+04_rb,0.19574e+04_rb,0.22398e+04_rb,0.25156e+04_rb,0.27862e+04_rb /) kbo(:,53,15) = (/ & & 0.15731e+04_rb,0.18530e+04_rb,0.21358e+04_rb,0.24152e+04_rb,0.26872e+04_rb /) kbo(:,54,15) = (/ & & 0.14802e+04_rb,0.17581e+04_rb,0.20401e+04_rb,0.23219e+04_rb,0.25956e+04_rb /) kbo(:,55,15) = (/ & & 0.13915e+04_rb,0.16675e+04_rb,0.19488e+04_rb,0.22318e+04_rb,0.25080e+04_rb /) kbo(:,56,15) = (/ & & 0.13039e+04_rb,0.15778e+04_rb,0.18577e+04_rb,0.21406e+04_rb,0.24200e+04_rb /) kbo(:,57,15) = (/ & & 0.12167e+04_rb,0.14890e+04_rb,0.17672e+04_rb,0.20493e+04_rb,0.23313e+04_rb /) kbo(:,58,15) = (/ & & 0.11349e+04_rb,0.14057e+04_rb,0.16818e+04_rb,0.19631e+04_rb,0.22464e+04_rb /) kbo(:,59,15) = (/ & & 0.11025e+04_rb,0.13721e+04_rb,0.16476e+04_rb,0.19283e+04_rb,0.22117e+04_rb /) kbo(:,13,16) = (/ & & 0.12492e+05_rb,0.12602e+05_rb,0.12678e+05_rb,0.12730e+05_rb,0.12749e+05_rb /) kbo(:,14,16) = (/ & & 0.14696e+05_rb,0.14792e+05_rb,0.14862e+05_rb,0.14890e+05_rb,0.14889e+05_rb /) kbo(:,15,16) = (/ & & 0.17153e+05_rb,0.17242e+05_rb,0.17275e+05_rb,0.17274e+05_rb,0.17231e+05_rb /) kbo(:,16,16) = (/ & & 0.19843e+05_rb,0.19894e+05_rb,0.19898e+05_rb,0.19845e+05_rb,0.19747e+05_rb /) kbo(:,17,16) = (/ & & 0.22727e+05_rb,0.22731e+05_rb,0.22667e+05_rb,0.22551e+05_rb,0.22386e+05_rb /) kbo(:,18,16) = (/ & & 0.25761e+05_rb,0.25684e+05_rb,0.25544e+05_rb,0.25342e+05_rb,0.25070e+05_rb /) kbo(:,19,16) = (/ & & 0.28878e+05_rb,0.28701e+05_rb,0.28454e+05_rb,0.28131e+05_rb,0.27759e+05_rb /) kbo(:,20,16) = (/ & & 0.31981e+05_rb,0.31695e+05_rb,0.31314e+05_rb,0.30871e+05_rb,0.30360e+05_rb /) kbo(:,21,16) = (/ & & 0.35017e+05_rb,0.34575e+05_rb,0.34064e+05_rb,0.33480e+05_rb,0.32821e+05_rb /) kbo(:,22,16) = (/ & & 0.37854e+05_rb,0.37264e+05_rb,0.36589e+05_rb,0.35840e+05_rb,0.35046e+05_rb /) kbo(:,23,16) = (/ & & 0.40473e+05_rb,0.39710e+05_rb,0.38862e+05_rb,0.37967e+05_rb,0.37023e+05_rb /) kbo(:,24,16) = (/ & & 0.42796e+05_rb,0.41864e+05_rb,0.40869e+05_rb,0.39817e+05_rb,0.38718e+05_rb /) kbo(:,25,16) = (/ & & 0.44813e+05_rb,0.43719e+05_rb,0.42578e+05_rb,0.41380e+05_rb,0.40143e+05_rb /) kbo(:,26,16) = (/ & & 0.46504e+05_rb,0.45263e+05_rb,0.43973e+05_rb,0.42641e+05_rb,0.41294e+05_rb /) kbo(:,27,16) = (/ & & 0.47893e+05_rb,0.46507e+05_rb,0.45087e+05_rb,0.43647e+05_rb,0.42197e+05_rb /) kbo(:,28,16) = (/ & & 0.48993e+05_rb,0.47480e+05_rb,0.45952e+05_rb,0.44417e+05_rb,0.42878e+05_rb /) kbo(:,29,16) = (/ & & 0.49823e+05_rb,0.48206e+05_rb,0.46588e+05_rb,0.44969e+05_rb,0.43353e+05_rb /) kbo(:,30,16) = (/ & & 0.50415e+05_rb,0.48716e+05_rb,0.47025e+05_rb,0.45339e+05_rb,0.43659e+05_rb /) kbo(:,31,16) = (/ & & 0.50811e+05_rb,0.49042e+05_rb,0.47288e+05_rb,0.45543e+05_rb,0.43813e+05_rb /) kbo(:,32,16) = (/ & & 0.51032e+05_rb,0.49203e+05_rb,0.47400e+05_rb,0.45610e+05_rb,0.43841e+05_rb /) kbo(:,33,16) = (/ & & 0.51107e+05_rb,0.49234e+05_rb,0.47393e+05_rb,0.45565e+05_rb,0.43775e+05_rb /) kbo(:,34,16) = (/ & & 0.51130e+05_rb,0.49228e+05_rb,0.47350e+05_rb,0.45497e+05_rb,0.43688e+05_rb /) kbo(:,35,16) = (/ & & 0.51256e+05_rb,0.49316e+05_rb,0.47413e+05_rb,0.45540e+05_rb,0.43711e+05_rb /) kbo(:,36,16) = (/ & & 0.51519e+05_rb,0.49555e+05_rb,0.47626e+05_rb,0.45731e+05_rb,0.43885e+05_rb /) kbo(:,37,16) = (/ & & 0.52034e+05_rb,0.50041e+05_rb,0.48090e+05_rb,0.46168e+05_rb,0.44302e+05_rb /) kbo(:,38,16) = (/ & & 0.52529e+05_rb,0.50511e+05_rb,0.48535e+05_rb,0.46595e+05_rb,0.44706e+05_rb /) kbo(:,39,16) = (/ & & 0.52985e+05_rb,0.50952e+05_rb,0.48954e+05_rb,0.46996e+05_rb,0.45085e+05_rb /) kbo(:,40,16) = (/ & & 0.53633e+05_rb,0.51575e+05_rb,0.49556e+05_rb,0.47578e+05_rb,0.45648e+05_rb /) kbo(:,41,16) = (/ & & 0.54289e+05_rb,0.52211e+05_rb,0.50171e+05_rb,0.48171e+05_rb,0.46220e+05_rb /) kbo(:,42,16) = (/ & & 0.54932e+05_rb,0.52836e+05_rb,0.50778e+05_rb,0.48759e+05_rb,0.46785e+05_rb /) kbo(:,43,16) = (/ & & 0.55673e+05_rb,0.53569e+05_rb,0.51488e+05_rb,0.49449e+05_rb,0.47456e+05_rb /) kbo(:,44,16) = (/ & & 0.56461e+05_rb,0.54346e+05_rb,0.52247e+05_rb,0.50190e+05_rb,0.48178e+05_rb /) kbo(:,45,16) = (/ & & 0.57241e+05_rb,0.55121e+05_rb,0.53007e+05_rb,0.50929e+05_rb,0.48897e+05_rb /) kbo(:,46,16) = (/ & & 0.58063e+05_rb,0.55933e+05_rb,0.53806e+05_rb,0.51710e+05_rb,0.49656e+05_rb /) kbo(:,47,16) = (/ & & 0.58978e+05_rb,0.56828e+05_rb,0.54697e+05_rb,0.52582e+05_rb,0.50505e+05_rb /) kbo(:,48,16) = (/ & & 0.59891e+05_rb,0.57720e+05_rb,0.55586e+05_rb,0.53459e+05_rb,0.51367e+05_rb /) kbo(:,49,16) = (/ & & 0.60795e+05_rb,0.58621e+05_rb,0.56472e+05_rb,0.54336e+05_rb,0.52224e+05_rb /) kbo(:,50,16) = (/ & & 0.61639e+05_rb,0.59466e+05_rb,0.57298e+05_rb,0.55162e+05_rb,0.53034e+05_rb /) kbo(:,51,16) = (/ & & 0.62447e+05_rb,0.60284e+05_rb,0.58110e+05_rb,0.55961e+05_rb,0.53824e+05_rb /) kbo(:,52,16) = (/ & & 0.63240e+05_rb,0.61098e+05_rb,0.58916e+05_rb,0.56760e+05_rb,0.54612e+05_rb /) kbo(:,53,16) = (/ & & 0.64030e+05_rb,0.61903e+05_rb,0.59727e+05_rb,0.57558e+05_rb,0.55411e+05_rb /) kbo(:,54,16) = (/ & & 0.64735e+05_rb,0.62637e+05_rb,0.60471e+05_rb,0.58287e+05_rb,0.56138e+05_rb /) kbo(:,55,16) = (/ & & 0.65407e+05_rb,0.63332e+05_rb,0.61181e+05_rb,0.59003e+05_rb,0.56834e+05_rb /) kbo(:,56,16) = (/ & & 0.66069e+05_rb,0.64015e+05_rb,0.61881e+05_rb,0.59702e+05_rb,0.57529e+05_rb /) kbo(:,57,16) = (/ & & 0.66725e+05_rb,0.64683e+05_rb,0.62576e+05_rb,0.60411e+05_rb,0.58225e+05_rb /) kbo(:,58,16) = (/ & & 0.67327e+05_rb,0.65315e+05_rb,0.63232e+05_rb,0.61078e+05_rb,0.58891e+05_rb /) kbo(:,59,16) = (/ & & 0.67577e+05_rb,0.65572e+05_rb,0.63496e+05_rb,0.61349e+05_rb,0.59161e+05_rb /) ! ----------------------------------------------------------------- forrefo(:, 1) = (/ 0.299818e-05_rb, 0.209282e-05_rb, 0.988353e-04_rb, 0.632178e-03_rb /) forrefo(:, 2) = (/ 0.633648e-05_rb, 0.509214e-04_rb, 0.650535e-03_rb, 0.264019e-02_rb /) forrefo(:, 3) = (/ 0.636782e-04_rb, 0.136577e-03_rb, 0.166500e-02_rb, 0.750821e-02_rb /) forrefo(:, 4) = (/ 0.472314e-03_rb, 0.988296e-03_rb, 0.585751e-02_rb, 0.187352e-01_rb /) forrefo(:, 5) = (/ 0.558635e-02_rb, 0.856489e-02_rb, 0.157438e-01_rb, 0.181471e-01_rb /) forrefo(:, 6) = (/ 0.217395e-01_rb, 0.229156e-01_rb, 0.230125e-01_rb, 0.143821e-01_rb /) forrefo(:, 7) = (/ 0.277222e-01_rb, 0.299252e-01_rb, 0.208929e-01_rb, 0.826748e-02_rb /) forrefo(:, 8) = (/ 0.252119e-01_rb, 0.262911e-01_rb, 0.187663e-01_rb, 0.417110e-02_rb /) forrefo(:, 9) = (/ 0.304941e-01_rb, 0.175545e-01_rb, 0.971224e-02_rb, 0.142023e-02_rb /) forrefo(:,10) = (/ 0.327200e-01_rb, 0.215788e-01_rb, 0.346831e-02_rb, 0.157989e-02_rb /) forrefo(:,11) = (/ 0.324955e-01_rb, 0.228571e-01_rb, 0.171749e-02_rb, 0.226853e-02_rb /) forrefo(:,12) = (/ 0.326588e-01_rb, 0.198544e-01_rb, 0.532339e-06_rb, 0.279086e-02_rb /) forrefo(:,13) = (/ 0.345157e-01_rb, 0.168679e-01_rb, 0.505361e-06_rb, 0.276647e-02_rb /) forrefo(:,14) = (/ 0.448765e-01_rb, 0.123791e-02_rb, 0.488367e-06_rb, 0.122245e-02_rb /) forrefo(:,15) = (/ 0.486925e-01_rb, 0.464371e-06_rb, 0.464241e-06_rb, 0.753846e-06_rb /) forrefo(:,16) = (/ 0.530511e-01_rb, 0.376234e-06_rb, 0.409824e-06_rb, 0.470650e-06_rb /) ! ----------------------------------------------------------------- ! The array SELFREFO contains the coefficient of the water vapor ! self-continuum (including the energy term). The first index ! refers to temperature in 7.2 degree increments. For instance, ! JT = 1 refers to a temperature of 245.6, JT = 2 refers to 252.8, ! etc. The second index runs over the g-channel (1 to 16). selfrefo(:, 1) = (/ & & 0.118069e+00_rb, 0.713523e-01_rb, 0.431199e-01_rb, 0.260584e-01_rb, 0.157477e-01_rb, & & 0.951675e-02_rb, 0.575121e-02_rb, 0.347560e-02_rb, 0.210039e-02_rb, 0.126932e-02_rb /) selfrefo(:, 2) = (/ & & 0.137081e-01_rb, 0.139046e-01_rb, 0.141040e-01_rb, 0.143061e-01_rb, 0.145112e-01_rb, & & 0.147193e-01_rb, 0.149303e-01_rb, 0.151443e-01_rb, 0.153614e-01_rb, 0.155816e-01_rb /) selfrefo(:, 3) = (/ & & 0.166575e-01_rb, 0.164916e-01_rb, 0.163273e-01_rb, 0.161647e-01_rb, 0.160037e-01_rb, & & 0.158443e-01_rb, 0.156864e-01_rb, 0.155302e-01_rb, 0.153755e-01_rb, 0.152224e-01_rb /) selfrefo(:, 4) = (/ & & 0.597379e-01_rb, 0.509517e-01_rb, 0.434579e-01_rb, 0.370662e-01_rb, 0.316145e-01_rb, & & 0.269647e-01_rb, 0.229988e-01_rb, 0.196162e-01_rb, 0.167311e-01_rb, 0.142703e-01_rb /) selfrefo(:, 5) = (/ & & 0.227517e+00_rb, 0.198401e+00_rb, 0.173011e+00_rb, 0.150870e+00_rb, 0.131563e+00_rb, & & 0.114726e+00_rb, 0.100044e+00_rb, 0.872415e-01_rb, 0.760769e-01_rb, 0.663411e-01_rb /) selfrefo(:, 6) = (/ & & 0.453235e+00_rb, 0.414848e+00_rb, 0.379712e+00_rb, 0.347552e+00_rb, 0.318116e+00_rb, & & 0.291173e+00_rb, 0.266512e+00_rb, 0.243940e+00_rb, 0.223279e+00_rb, 0.204368e+00_rb /) selfrefo(:, 7) = (/ & & 0.569263e+00_rb, 0.516415e+00_rb, 0.468473e+00_rb, 0.424982e+00_rb, 0.385528e+00_rb, & & 0.349737e+00_rb, 0.317269e+00_rb, 0.287815e+00_rb, 0.261095e+00_rb, 0.236856e+00_rb /) selfrefo(:, 8) = (/ & & 0.490314e+00_rb, 0.448042e+00_rb, 0.409413e+00_rb, 0.374116e+00_rb, 0.341861e+00_rb, & & 0.312387e+00_rb, 0.285455e+00_rb, 0.260844e+00_rb, 0.238355e+00_rb, 0.217805e+00_rb /) selfrefo(:, 9) = (/ & & 0.258162e+00_rb, 0.265085e+00_rb, 0.272193e+00_rb, 0.279493e+00_rb, 0.286988e+00_rb, & & 0.294684e+00_rb, 0.302586e+00_rb, 0.310701e+00_rb, 0.319033e+00_rb, 0.327588e+00_rb /) selfrefo(:,10) = (/ & & 0.332019e+00_rb, 0.331902e+00_rb, 0.331784e+00_rb, 0.331666e+00_rb, 0.331549e+00_rb, & & 0.331431e+00_rb, 0.331314e+00_rb, 0.331197e+00_rb, 0.331079e+00_rb, 0.330962e+00_rb /) selfrefo(:,11) = (/ & & 0.357523e+00_rb, 0.353154e+00_rb, 0.348839e+00_rb, 0.344576e+00_rb, 0.340366e+00_rb, & & 0.336207e+00_rb, 0.332099e+00_rb, 0.328041e+00_rb, 0.324032e+00_rb, 0.320073e+00_rb /) selfrefo(:,12) = (/ & & 0.294662e+00_rb, 0.299043e+00_rb, 0.303488e+00_rb, 0.308000e+00_rb, 0.312579e+00_rb, & & 0.317226e+00_rb, 0.321941e+00_rb, 0.326727e+00_rb, 0.331585e+00_rb, 0.336514e+00_rb /) selfrefo(:,13) = (/ & & 0.227445e+00_rb, 0.241545e+00_rb, 0.256519e+00_rb, 0.272422e+00_rb, 0.289311e+00_rb, & & 0.307247e+00_rb, 0.326294e+00_rb, 0.346523e+00_rb, 0.368005e+00_rb, 0.390820e+00_rb /) selfrefo(:,14) = (/ & & 0.616203e-02_rb, 0.113523e-01_rb, 0.209144e-01_rb, 0.385307e-01_rb, 0.709852e-01_rb, & & 0.130776e+00_rb, 0.240929e+00_rb, 0.443865e+00_rb, 0.817733e+00_rb, 0.150651e+01_rb /) selfrefo(:,15) = (/ & & 0.279552e-03_rb, 0.808472e-03_rb, 0.233812e-02_rb, 0.676192e-02_rb, 0.195557e-01_rb, & & 0.565555e-01_rb, 0.163560e+00_rb, 0.473020e+00_rb, 0.136799e+01_rb, 0.395626e+01_rb /) selfrefo(:,16) = (/ & & 0.261006e-03_rb, 0.771043e-03_rb, 0.227776e-02_rb, 0.672879e-02_rb, 0.198777e-01_rb, & & 0.587212e-01_rb, 0.173470e+00_rb, 0.512452e+00_rb, 0.151385e+01_rb, 0.447209e+01_rb /) end subroutine sw_kgb29 end module rrtmg_sw_k_g ================================================ FILE: GeosRad/rrtmg_sw_rad.F90 ================================================ ! path: $Source: /storm/rc1/cvsroot/rc/rrtmg_sw/src/rrtmg_sw_rad.f90,v $ ! author: $Author: mike $ ! revision: $Revision: 1.10 $ ! created: $Date: 2009/02/09 19:45:55 $ ! module rrtmg_sw_rad ! -------------------------------------------------------------------------- ! | | ! | Copyright 2002-2008, Atmospheric & Environmental Research, Inc. (AER). | ! | This software may be used, copied, or redistributed as long as it is | ! | not sold and this copyright notice is reproduced on each copy made. | ! | This model is provided as is without any express or implied warranties. | ! | (http://www.rtweb.aer.com/) | ! | | ! -------------------------------------------------------------------------- ! ! **************************************************************************** ! * * ! * RRTMG_SW * ! * * ! * * ! * * ! * a rapid radiative transfer model * ! * for the solar spectral region * ! * for application to general circulation models * ! * * ! * * ! * Atmospheric and Environmental Research, Inc. * ! * 131 Hartwell Avenue * ! * Lexington, MA 02421 * ! * * ! * * ! * Eli J. Mlawer * ! * Jennifer S. Delamere * ! * Michael J. Iacono * ! * Shepard A. Clough * ! * * ! * * ! * * ! * * ! * * ! * * ! * email: miacono@aer.com * ! * email: emlawer@aer.com * ! * email: jdelamer@aer.com * ! * * ! * The authors wish to acknowledge the contributions of the * ! * following people: Steven J. Taubman, Patrick D. Brown, * ! * Ronald E. Farren, Luke Chen, Robert Bergstrom. * ! * * ! **************************************************************************** ! --------- Modules --------- use parkind, only : im => kind_im, rb => kind_rb use rrsw_vsn use mcica_subcol_gen_sw, only: mcica_subcol_sw use rrtmg_sw_cldprmc, only: cldprmc_sw ! *** Move the required call to rrtmg_sw_ini below and the following ! use association to GCM initialization area *** ! use rrtmg_sw_init, only: rrtmg_sw_ini use rrtmg_sw_setcoef, only: setcoef_sw use rrtmg_sw_spcvmc, only: spcvmc_sw implicit none private ! public interfaces/functions/subroutines public :: rrtmg_sw, inatm_sw, earth_sun !------------------------------------------------------------------ contains !------------------------------------------------------------------ !------------------------------------------------------------------ ! Public subroutines !------------------------------------------------------------------ recursive subroutine rrtmg_sw & (ncol ,nlay ,icld , & play ,plev ,tlay ,tlev ,tsfc , & h2ovmr , o3vmr ,co2vmr ,ch4vmr ,n2ovmr ,o2vmr , & asdir ,asdif ,aldir ,aldif , & coszen ,adjes ,dyofyr ,scon , & inflgsw ,iceflgsw,liqflgsw,cldfmcl , & taucmcl ,ssacmcl ,asmcmcl ,fsfcmcl , & ciwpmcl ,clwpmcl ,reicmcl ,relqmcl , & tauaer ,ssaaer ,asmaer ,ecaer , & swuflx ,swdflx ,swhr ,swuflxc ,swdflxc ,swhrc) ! ------- Description ------- ! This program is the driver for RRTMG_SW, the AER SW radiation model for ! application to GCMs, that has been adapted from RRTM_SW for improved ! efficiency and to provide fractional cloudiness and cloud overlap ! capability using McICA. ! ! Note: The call to RRTMG_SW_INI should be moved to the GCM initialization ! area, since this has to be called only once. ! ! This routine ! b) calls INATM_SW to read in the atmospheric profile; ! all layering in RRTMG is ordered from surface to toa. ! c) calls CLDPRMC_SW to set cloud optical depth for McICA based ! on input cloud properties ! d) calls SETCOEF_SW to calculate various quantities needed for ! the radiative transfer algorithm ! e) calls SPCVMC to call the two-stream model that in turn ! calls TAUMOL to calculate gaseous optical depths for each ! of the 16 spectral bands and to perform the radiative transfer ! using McICA, the Monte-Carlo Independent Column Approximation, ! to represent sub-grid scale cloud variability ! f) passes the calculated fluxes and cooling rates back to GCM ! ! Two modes of operation are possible: ! The mode is chosen by using either rrtmg_sw.nomcica.f90 (to not use ! McICA) or rrtmg_sw.f90 (to use McICA) to interface with a GCM. ! ! 1) Standard, single forward model calculation (imca = 0); this is ! valid only for clear sky or fully overcast clouds ! 2) Monte Carlo Independent Column Approximation (McICA, Pincus et al., ! JC, 2003) method is applied to the forward model calculation (imca = 1) ! This method is valid for clear sky or partial cloud conditions. ! ! This call to RRTMG_SW must be preceeded by a call to the module ! mcica_subcol_gen_sw.f90 to run the McICA sub-column cloud generator, ! which will provide the cloud physical or cloud optical properties ! on the RRTMG quadrature point (ngptsw) dimension. ! ! Two methods of cloud property input are possible: ! Cloud properties can be input in one of two ways (controlled by input ! flags inflag, iceflag and liqflag; see text file rrtmg_sw_instructions ! and subroutine rrtmg_sw_cldprmc.f90 for further details): ! ! 1) Input cloud fraction, cloud optical depth, single scattering albedo ! and asymmetry parameter directly (inflgsw = 0) ! 2) Input cloud fraction and cloud physical properties: ice fracion, ! ice and liquid particle sizes (inflgsw = 1 or 2); ! cloud optical properties are calculated by cldprmc based ! on input settings of iceflgsw and liqflgsw ! ! Two methods of aerosol property input are possible: ! Aerosol properties can be input in one of two ways (controlled by input ! flag iaer, see text file rrtmg_sw_instructions for further details): ! ! 1) Input aerosol optical depth, single scattering albedo and asymmetry ! parameter directly by layer and spectral band (iaer=10) ! 2) Input aerosol optical depth and 0.55 micron directly by layer and use ! one or more of six ECMWF aerosol types (iaer=6) ! ! ! ------- Modifications ------- ! ! This version of RRTMG_SW has been modified from RRTM_SW to use a reduced ! set of g-point intervals and a two-stream model for application to GCMs. ! !-- Original version (derived from RRTM_SW) ! 2002: AER. Inc. !-- Conversion to F90 formatting; addition of 2-stream radiative transfer ! Feb 2003: J.-J. Morcrette, ECMWF !-- Additional modifications for GCM application ! Aug 2003: M. J. Iacono, AER Inc. !-- Total number of g-points reduced from 224 to 112. Original ! set of 224 can be restored by exchanging code in module parrrsw.f90 ! and in file rrtmg_sw_init.f90. ! Apr 2004: M. J. Iacono, AER, Inc. !-- Modifications to include output for direct and diffuse ! downward fluxes. There are output as "true" fluxes without ! any delta scaling applied. Code can be commented to exclude ! this calculation in source file rrtmg_sw_spcvrt.f90. ! Jan 2005: E. J. Mlawer, M. J. Iacono, AER, Inc. !-- Revised to add McICA capability. ! Nov 2005: M. J. Iacono, AER, Inc. !-- Reformatted for consistency with rrtmg_lw. ! Feb 2007: M. J. Iacono, AER, Inc. !-- Modifications to formatting to use assumed-shape arrays. ! Aug 2007: M. J. Iacono, AER, Inc. !-- Modified to output direct and diffuse fluxes either with or without ! delta scaling based on setting of idelm flag. ! Dec 2008: M. J. Iacono, AER, Inc. ! --------- Modules --------- use parrrsw, only : nbndsw, ngptsw, naerec, nstr, nmol, mxmol, & jpband, jpb1, jpb2 use rrsw_aer, only : rsrtaua, rsrpiza, rsrasya use rrsw_con, only : heatfac, oneminus, pi use rrsw_wvn, only : wavenum1, wavenum2 ! ------- Declarations ! ----- Input ----- ! Note: All volume mixing ratios are in dimensionless units of mole fraction obtained ! by scaling mass mixing ratio (g/g) with the appropriate molecular weights (g/mol) integer(kind=im), intent(in) :: ncol ! Number of horizontal columns integer(kind=im), intent(in) :: nlay ! Number of model layers integer(kind=im), intent(inout) :: icld ! Cloud overlap method ! 0: Clear only ! 1: Random ! 2: Maximum/random ! 3: Maximum real(kind=rb), intent(in) :: play(ncol,nlay) ! Layer pressures (hPa, mb) ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: plev(ncol,nlay+1) ! Interface pressures (hPa, mb) ! Dimensions: (ncol,nlay+1) real(kind=rb), intent(in) :: tlay(ncol,nlay) ! Layer temperatures (K) ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: tlev(ncol,nlay+1) ! Interface temperatures (K) ! Dimensions: (ncol,nlay+1) real(kind=rb), intent(in) :: tsfc(ncol) ! Surface temperature (K) ! Dimensions: (ncol) real(kind=rb), intent(in) :: h2ovmr(ncol,nlay) ! H2O volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: o3vmr(ncol,nlay) ! O3 volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: co2vmr(ncol,nlay) ! CO2 volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: ch4vmr(ncol,nlay) ! Methane volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: n2ovmr(ncol,nlay) ! Nitrous oxide volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: o2vmr(ncol,nlay) ! Oxygen volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: asdir(ncol) ! UV/vis surface albedo direct rad ! Dimensions: (ncol) real(kind=rb), intent(in) :: aldir(ncol) ! Near-IR surface albedo direct rad ! Dimensions: (ncol) real(kind=rb), intent(in) :: asdif(ncol) ! UV/vis surface albedo: diffuse rad ! Dimensions: (ncol) real(kind=rb), intent(in) :: aldif(ncol) ! Near-IR surface albedo: diffuse rad ! Dimensions: (ncol) integer(kind=im), intent(in) :: dyofyr ! Day of the year (used to get Earth/Sun ! distance if adjflx not provided) real(kind=rb), intent(in) :: adjes ! Flux adjustment for Earth/Sun distance real(kind=rb), intent(in) :: coszen(ncol) ! Cosine of solar zenith angle ! Dimensions: (ncol) real(kind=rb), intent(in) :: scon ! Solar constant (W/m2) integer(kind=im), intent(in) :: inflgsw ! Flag for cloud optical properties integer(kind=im), intent(in) :: iceflgsw ! Flag for ice particle specification integer(kind=im), intent(in) :: liqflgsw ! Flag for liquid droplet specification real(kind=rb), intent(in) :: cldfmcl(ngptsw,ncol,nlay) ! Cloud fraction ! Dimensions: (ngptsw,ncol,nlay) real(kind=rb), intent(in) :: taucmcl(ngptsw,ncol,nlay) ! In-cloud optical depth ! Dimensions: (ngptsw,ncol,nlay) real(kind=rb), intent(in) :: ssacmcl(ngptsw,ncol,nlay) ! In-cloud single scattering albedo ! Dimensions: (ngptsw,ncol,nlay) real(kind=rb), intent(in) :: asmcmcl(ngptsw,ncol,nlay) ! In-cloud asymmetry parameter ! Dimensions: (ngptsw,ncol,nlay) real(kind=rb), intent(in) :: fsfcmcl(ngptsw,ncol,nlay) ! In-cloud forward scattering fraction ! Dimensions: (ngptsw,ncol,nlay) real(kind=rb), intent(in) :: ciwpmcl(ngptsw,ncol,nlay) ! In-cloud ice water path (g/m2) ! Dimensions: (ngptsw,ncol,nlay) real(kind=rb), intent(in) :: clwpmcl(ngptsw,ncol,nlay) ! In-cloud liquid water path (g/m2) ! Dimensions: (ngptsw,ncol,nlay) real(kind=rb), intent(in) :: reicmcl(ncol,nlay) ! Cloud ice effective radius (microns) ! Dimensions: (ncol,nlay) ! specific definition of reicmcl depends on setting of iceflgsw: ! iceflgsw = 0: (inactive) ! ! iceflgsw = 1: ice effective radius, r_ec, (Ebert and Curry, 1992), ! r_ec range is limited to 13.0 to 130.0 microns ! iceflgsw = 2: ice effective radius, r_k, (Key, Streamer Ref. Manual, 1996) ! r_k range is limited to 5.0 to 131.0 microns ! iceflgsw = 3: generalized effective size, dge, (Fu, 1996), ! dge range is limited to 5.0 to 140.0 microns ! [dge = 1.0315 * r_ec] real(kind=rb), intent(in) :: relqmcl(ncol,nlay) ! Cloud water drop effective radius (microns) ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: tauaer(ncol,nlay,nbndsw) ! Aerosol optical depth (iaer=10 only) ! Dimensions: (ncol,nlay,nbndsw) ! (non-delta scaled) real(kind=rb), intent(in) :: ssaaer(ncol,nlay,nbndsw) ! Aerosol single scattering albedo (iaer=10 only) ! Dimensions: (ncol,nlay,nbndsw) ! (non-delta scaled) real(kind=rb), intent(in) :: asmaer(ncol,nlay,nbndsw) ! Aerosol asymmetry parameter (iaer=10 only) ! Dimensions: (ncol,nlay,nbndsw) ! (non-delta scaled) real(kind=rb), intent(in) :: ecaer(ncol,nlay,naerec) ! Aerosol optical depth at 0.55 micron (iaer=6 only) ! Dimensions: (ncol,nlay,naerec) ! (non-delta scaled) ! ----- Output ----- real(kind=rb), intent(out) :: swuflx(ncol,nlay+1) ! Total sky shortwave upward flux (W/m2) ! Dimensions: (ncol,nlay+1) real(kind=rb), intent(out) :: swdflx(ncol,nlay+1) ! Total sky shortwave downward flux (W/m2) ! Dimensions: (ncol,nlay+1) real(kind=rb), intent(out) :: swhr(ncol,nlay) ! Total sky shortwave radiative heating rate (K/d) ! Dimensions: (ncol,nlay) real(kind=rb), intent(out) :: swuflxc(ncol,nlay+1) ! Clear sky shortwave upward flux (W/m2) ! Dimensions: (ncol,nlay+1) real(kind=rb), intent(out) :: swdflxc(ncol,nlay+1) ! Clear sky shortwave downward flux (W/m2) ! Dimensions: (ncol,nlay+1) real(kind=rb), intent(out) :: swhrc(ncol,nlay) ! Clear sky shortwave radiative heating rate (K/d) ! Dimensions: (ncol,nlay) ! ----- Local ----- ! Control integer(kind=im) :: nlayers ! total number of layers integer(kind=im) :: istart ! beginning band of calculation integer(kind=im) :: iend ! ending band of calculation integer(kind=im) :: icpr ! cldprop/cldprmc use flag integer(kind=im) :: iout ! output option flag (inactive) integer(kind=im) :: iaer ! aerosol option flag integer(kind=im) :: idelm ! delta-m scaling flag ! [0 = direct and diffuse fluxes are unscaled] ! [1 = direct and diffuse fluxes are scaled] ! (total downward fluxes are always delta scaled) integer(kind=im) :: isccos ! instrumental cosine response flag (inactive) integer(kind=im) :: iplon ! column loop index integer(kind=im) :: i ! layer loop index ! jk integer(kind=im) :: ib ! band loop index ! jsw integer(kind=im) :: ia, ig ! indices integer(kind=im) :: k ! layer loop index integer(kind=im) :: ims ! value for changing mcica permute seed integer(kind=im) :: imca ! flag for mcica [0=off, 1=on] real(kind=rb) :: zepsec, zepzen ! epsilon real(kind=rb) :: zdpgcp ! flux to heating conversion ratio ! Atmosphere real(kind=rb) :: pavel(nlay+1) ! layer pressures (mb) real(kind=rb) :: tavel(nlay+1) ! layer temperatures (K) real(kind=rb) :: pz(0:nlay+1) ! level (interface) pressures (hPa, mb) real(kind=rb) :: tz(0:nlay+1) ! level (interface) temperatures (K) real(kind=rb) :: tbound ! surface temperature (K) real(kind=rb) :: pdp(nlay+1) ! layer pressure thickness (hPa, mb) real(kind=rb) :: coldry(nlay+1) ! dry air column amount real(kind=rb) :: wkl(mxmol,nlay+1) ! molecular amounts (mol/cm-2) ! real(kind=rb) :: earth_sun ! function for Earth/Sun distance factor real(kind=rb) :: cossza ! Cosine of solar zenith angle real(kind=rb) :: adjflux(jpband) ! adjustment for current Earth/Sun distance real(kind=rb) :: solvar(jpband) ! solar constant scaling factor from rrtmg_sw ! default value of 1368.22 Wm-2 at 1 AU real(kind=rb) :: albdir(nbndsw) ! surface albedo, direct ! zalbp real(kind=rb) :: albdif(nbndsw) ! surface albedo, diffuse ! zalbd real(kind=rb) :: taua(nlay+1,nbndsw) ! Aerosol optical depth real(kind=rb) :: ssaa(nlay+1,nbndsw) ! Aerosol single scattering albedo real(kind=rb) :: asma(nlay+1,nbndsw) ! Aerosol asymmetry parameter ! Atmosphere - setcoef integer(kind=im) :: laytrop ! tropopause layer index integer(kind=im) :: layswtch ! tropopause layer index integer(kind=im) :: laylow ! tropopause layer index integer(kind=im) :: jp(nlay+1) ! integer(kind=im) :: jt(nlay+1) ! integer(kind=im) :: jt1(nlay+1) ! real(kind=rb) :: colh2o(nlay+1) ! column amount (h2o) real(kind=rb) :: colco2(nlay+1) ! column amount (co2) real(kind=rb) :: colo3(nlay+1) ! column amount (o3) real(kind=rb) :: coln2o(nlay+1) ! column amount (n2o) real(kind=rb) :: colch4(nlay+1) ! column amount (ch4) real(kind=rb) :: colo2(nlay+1) ! column amount (o2) real(kind=rb) :: colmol(nlay+1) ! column amount real(kind=rb) :: co2mult(nlay+1) ! column amount integer(kind=im) :: indself(nlay+1) integer(kind=im) :: indfor(nlay+1) real(kind=rb) :: selffac(nlay+1) real(kind=rb) :: selffrac(nlay+1) real(kind=rb) :: forfac(nlay+1) real(kind=rb) :: forfrac(nlay+1) real(kind=rb) :: & ! fac00(nlay+1), fac01(nlay+1), & fac10(nlay+1), fac11(nlay+1) ! Atmosphere/clouds - cldprop integer(kind=im) :: ncbands ! number of cloud spectral bands integer(kind=im) :: inflag ! flag for cloud property method integer(kind=im) :: iceflag ! flag for ice cloud properties integer(kind=im) :: liqflag ! flag for liquid cloud properties ! real(kind=rb) :: cldfrac(nlay+1) ! layer cloud fraction ! real(kind=rb) :: tauc(nlay+1) ! in-cloud optical depth (non-delta scaled) ! real(kind=rb) :: ssac(nlay+1) ! in-cloud single scattering albedo (non-delta scaled) ! real(kind=rb) :: asmc(nlay+1) ! in-cloud asymmetry parameter (non-delta scaled) ! real(kind=rb) :: fsfc(nlay+1) ! in-cloud forward scattering fraction (non-delta scaled) ! real(kind=rb) :: ciwp(nlay+1) ! in-cloud ice water path ! real(kind=rb) :: clwp(nlay+1) ! in-cloud liquid water path ! real(kind=rb) :: rei(nlay+1) ! cloud ice particle size ! real(kind=rb) :: rel(nlay+1) ! cloud liquid particle size ! real(kind=rb) :: taucloud(nlay+1,jpband) ! in-cloud optical depth ! real(kind=rb) :: taucldorig(nlay+1,jpband)! in-cloud optical depth (non-delta scaled) ! real(kind=rb) :: ssacloud(nlay+1,jpband) ! in-cloud single scattering albedo ! real(kind=rb) :: asmcloud(nlay+1,jpband) ! in-cloud asymmetry parameter ! Atmosphere/clouds - cldprmc [mcica] real(kind=rb) :: cldfmc(ngptsw,nlay+1) ! cloud fraction [mcica] real(kind=rb) :: ciwpmc(ngptsw,nlay+1) ! in-cloud ice water path [mcica] real(kind=rb) :: clwpmc(ngptsw,nlay+1) ! in-cloud liquid water path [mcica] real(kind=rb) :: relqmc(nlay+1) ! liquid particle effective radius (microns) real(kind=rb) :: reicmc(nlay+1) ! ice particle effective size (microns) real(kind=rb) :: taucmc(ngptsw,nlay+1) ! in-cloud optical depth [mcica] real(kind=rb) :: taormc(ngptsw,nlay+1) ! unscaled in-cloud optical depth [mcica] real(kind=rb) :: ssacmc(ngptsw,nlay+1) ! in-cloud single scattering albedo [mcica] real(kind=rb) :: asmcmc(ngptsw,nlay+1) ! in-cloud asymmetry parameter [mcica] real(kind=rb) :: fsfcmc(ngptsw,nlay+1) ! in-cloud forward scattering fraction [mcica] ! Atmosphere/clouds/aerosol - spcvrt,spcvmc real(kind=rb) :: ztauc(nlay+1,nbndsw) ! cloud optical depth real(kind=rb) :: ztaucorig(nlay+1,nbndsw) ! unscaled cloud optical depth real(kind=rb) :: zasyc(nlay+1,nbndsw) ! cloud asymmetry parameter ! (first moment of phase function) real(kind=rb) :: zomgc(nlay+1,nbndsw) ! cloud single scattering albedo real(kind=rb) :: ztaua(nlay+1,nbndsw) ! total aerosol optical depth real(kind=rb) :: zasya(nlay+1,nbndsw) ! total aerosol asymmetry parameter real(kind=rb) :: zomga(nlay+1,nbndsw) ! total aerosol single scattering albedo real(kind=rb) :: zcldfmc(nlay+1,ngptsw) ! cloud fraction [mcica] real(kind=rb) :: ztaucmc(nlay+1,ngptsw) ! cloud optical depth [mcica] real(kind=rb) :: ztaormc(nlay+1,ngptsw) ! unscaled cloud optical depth [mcica] real(kind=rb) :: zasycmc(nlay+1,ngptsw) ! cloud asymmetry parameter [mcica] real(kind=rb) :: zomgcmc(nlay+1,ngptsw) ! cloud single scattering albedo [mcica] real(kind=rb) :: zbbfu(nlay+2) ! temporary upward shortwave flux (w/m2) real(kind=rb) :: zbbfd(nlay+2) ! temporary downward shortwave flux (w/m2) real(kind=rb) :: zbbcu(nlay+2) ! temporary clear sky upward shortwave flux (w/m2) real(kind=rb) :: zbbcd(nlay+2) ! temporary clear sky downward shortwave flux (w/m2) real(kind=rb) :: zbbfddir(nlay+2) ! temporary downward direct shortwave flux (w/m2) real(kind=rb) :: zbbcddir(nlay+2) ! temporary clear sky downward direct shortwave flux (w/m2) real(kind=rb) :: zuvfd(nlay+2) ! temporary UV downward shortwave flux (w/m2) real(kind=rb) :: zuvcd(nlay+2) ! temporary clear sky UV downward shortwave flux (w/m2) real(kind=rb) :: zuvfddir(nlay+2) ! temporary UV downward direct shortwave flux (w/m2) real(kind=rb) :: zuvcddir(nlay+2) ! temporary clear sky UV downward direct shortwave flux (w/m2) real(kind=rb) :: znifd(nlay+2) ! temporary near-IR downward shortwave flux (w/m2) real(kind=rb) :: znicd(nlay+2) ! temporary clear sky near-IR downward shortwave flux (w/m2) real(kind=rb) :: znifddir(nlay+2) ! temporary near-IR downward direct shortwave flux (w/m2) real(kind=rb) :: znicddir(nlay+2) ! temporary clear sky near-IR downward direct shortwave flux (w/m2) ! Optional output fields real(kind=rb) :: swnflx(nlay+2) ! Total sky shortwave net flux (W/m2) real(kind=rb) :: swnflxc(nlay+2) ! Clear sky shortwave net flux (W/m2) real(kind=rb) :: dirdflux(nlay+2) ! Direct downward shortwave surface flux real(kind=rb) :: difdflux(nlay+2) ! Diffuse downward shortwave surface flux real(kind=rb) :: uvdflx(nlay+2) ! Total sky downward shortwave flux, UV/vis real(kind=rb) :: nidflx(nlay+2) ! Total sky downward shortwave flux, near-IR real(kind=rb) :: dirdnuv(nlay+2) ! Direct downward shortwave flux, UV/vis real(kind=rb) :: difdnuv(nlay+2) ! Diffuse downward shortwave flux, UV/vis real(kind=rb) :: dirdnir(nlay+2) ! Direct downward shortwave flux, near-IR real(kind=rb) :: difdnir(nlay+2) ! Diffuse downward shortwave flux, near-IR ! Output - inactive ! real(kind=rb) :: zuvfu(nlay+2) ! temporary upward UV shortwave flux (w/m2) ! real(kind=rb) :: zuvfd(nlay+2) ! temporary downward UV shortwave flux (w/m2) ! real(kind=rb) :: zuvcu(nlay+2) ! temporary clear sky upward UV shortwave flux (w/m2) ! real(kind=rb) :: zuvcd(nlay+2) ! temporary clear sky downward UV shortwave flux (w/m2) ! real(kind=rb) :: zvsfu(nlay+2) ! temporary upward visible shortwave flux (w/m2) ! real(kind=rb) :: zvsfd(nlay+2) ! temporary downward visible shortwave flux (w/m2) ! real(kind=rb) :: zvscu(nlay+2) ! temporary clear sky upward visible shortwave flux (w/m2) ! real(kind=rb) :: zvscd(nlay+2) ! temporary clear sky downward visible shortwave flux (w/m2) ! real(kind=rb) :: znifu(nlay+2) ! temporary upward near-IR shortwave flux (w/m2) ! real(kind=rb) :: znifd(nlay+2) ! temporary downward near-IR shortwave flux (w/m2) ! real(kind=rb) :: znicu(nlay+2) ! temporary clear sky upward near-IR shortwave flux (w/m2) ! real(kind=rb) :: znicd(nlay+2) ! temporary clear sky downward near-IR shortwave flux (w/m2) ! Initializations zepsec = 1.e-06_rb zepzen = 1.e-10_rb oneminus = 1.0_rb - zepsec pi = 2._rb * asin(1._rb) istart = jpb1 iend = jpb2 icpr = 0 ims = 2 ! In a GCM with or without McICA, set nlon to the longitude dimension ! ! Set imca to select calculation type: ! imca = 0, use standard forward model calculation (clear and overcast only) ! imca = 1, use McICA for Monte Carlo treatment of sub-grid cloud variability ! (clear, overcast or partial cloud conditions) ! *** This version uses McICA (imca = 1) *** ! Set icld to default selection of clear or cloud calculation and cloud overlap method ! if not passed in with valid value ! icld = 0, clear only ! icld = 1, with clouds using random cloud overlap (McICA only) ! icld = 2, with clouds using maximum/random cloud overlap (McICA only) ! icld = 3, with clouds using maximum cloud overlap (McICA only) if (icld.lt.0.or.icld.gt.3) icld = 2 ! Set iaer to select aerosol option ! iaer = 0, no aerosols ! iaer = 6, use six ECMWF aerosol types ! input aerosol optical depth at 0.55 microns for each aerosol type (ecaer) ! iaer = 10, input total aerosol optical depth, single scattering albedo ! and asymmetry parameter (tauaer, ssaaer, asmaer) directly iaer = 10 ! Set idelm to select between delta-M scaled or unscaled output direct and diffuse fluxes ! NOTE: total downward fluxes are always delta scaled ! idelm = 0, output direct and diffuse flux components are not delta scaled ! (direct flux does not include forward scattering peak) ! idelm = 1, output direct and diffuse flux components are delta scaled (default) ! (direct flux includes part or most of forward scattering peak) idelm = 1 ! Call model and data initialization, compute lookup tables, perform ! reduction of g-points from 224 to 112 for input absorption ! coefficient data and other arrays. ! ! In a GCM this call should be placed in the model initialization ! area, since this has to be called only once. ! call rrtmg_sw_ini(cpdair) ! This is the main longitude/column loop in RRTMG. ! Modify to loop over all columns (nlon) or over daylight columns do iplon = 1, ncol ! Prepare atmosphere profile from GCM for use in RRTMG, and define ! other input parameters call inatm_sw (iplon, nlay, icld, iaer, & play, plev, tlay, tlev, tsfc, h2ovmr, & o3vmr, co2vmr, ch4vmr, n2ovmr, o2vmr, & adjes, dyofyr, scon, inflgsw, iceflgsw, liqflgsw, & cldfmcl, taucmcl, ssacmcl, asmcmcl, fsfcmcl, ciwpmcl, clwpmcl, & reicmcl, relqmcl, tauaer, ssaaer, asmaer, & nlayers, pavel, pz, pdp, tavel, tz, tbound, coldry, wkl, & adjflux, solvar, inflag, iceflag, liqflag, cldfmc, taucmc, & ssacmc, asmcmc, fsfcmc, ciwpmc, clwpmc, reicmc, relqmc, & taua, ssaa, asma) ! For cloudy atmosphere, use cldprmc to set cloud optical properties based on ! input cloud physical properties. Select method based on choices described ! in cldprmc. Cloud fraction, water path, liquid droplet and ice particle ! effective radius must be passed in cldprmc. Cloud fraction and cloud ! optical properties are transferred to rrtmg_sw arrays in cldprmc. call cldprmc_sw(nlayers, inflag, iceflag, liqflag, cldfmc, & ciwpmc, clwpmc, reicmc, relqmc, & taormc, taucmc, ssacmc, asmcmc, fsfcmc) icpr = 1 ! Calculate coefficients for the temperature and pressure dependence of the ! molecular absorption coefficients by interpolating data from stored ! reference atmospheres. call setcoef_sw(nlayers, pavel, tavel, pz, tz, tbound, coldry, wkl, & laytrop, layswtch, laylow, jp, jt, jt1, & co2mult, colch4, colco2, colh2o, colmol, coln2o, & colo2, colo3, fac00, fac01, fac10, fac11, & selffac, selffrac, indself, forfac, forfrac, indfor) ! Cosine of the solar zenith angle ! Prevent using value of zero; ideally, SW model is not called from host model when sun ! is below horizon cossza = coszen(iplon) if (cossza .lt. zepzen) cossza = zepzen ! Transfer albedo, cloud and aerosol properties into arrays for 2-stream radiative transfer ! Surface albedo ! Near-IR bands 16-24 and 29 (1-9 and 14), 820-16000 cm-1, 0.625-12.195 microns do ib=1,9 albdir(ib) = aldir(iplon) albdif(ib) = aldif(iplon) enddo albdir(nbndsw) = aldir(iplon) albdif(nbndsw) = aldif(iplon) ! UV/visible bands 25-28 (10-13), 16000-50000 cm-1, 0.200-0.625 micron do ib=10,13 albdir(ib) = asdir(iplon) albdif(ib) = asdif(iplon) enddo ! Clouds if (icld.eq.0) then zcldfmc(:,:) = 0._rb ztaucmc(:,:) = 0._rb ztaormc(:,:) = 0._rb zasycmc(:,:) = 0._rb zomgcmc(:,:) = 1._rb elseif (icld.ge.1) then do i=1,nlayers do ig=1,ngptsw zcldfmc(i,ig) = cldfmc(ig,i) ztaucmc(i,ig) = taucmc(ig,i) ztaormc(i,ig) = taormc(ig,i) zasycmc(i,ig) = asmcmc(ig,i) zomgcmc(i,ig) = ssacmc(ig,i) enddo enddo endif ! Aerosol ! IAER = 0: no aerosols if (iaer.eq.0) then ztaua(:,:) = 0._rb zasya(:,:) = 0._rb zomga(:,:) = 1._rb ! IAER = 6: Use ECMWF six aerosol types. See rrsw_aer.f90 for details. ! Input aerosol optical thickness at 0.55 micron for each aerosol type (ecaer), ! or set manually here for each aerosol and layer. elseif (iaer.eq.6) then ! do i = 1, nlayers ! do ia = 1, naerec ! ecaer(iplon,i,ia) = 1.0e-15_rb ! enddo ! enddo do i = 1, nlayers do ib = 1, nbndsw ztaua(i,ib) = 0._rb zasya(i,ib) = 0._rb zomga(i,ib) = 1._rb do ia = 1, naerec ztaua(i,ib) = ztaua(i,ib) + rsrtaua(ib,ia) * ecaer(iplon,i,ia) zomga(i,ib) = zomga(i,ib) + rsrtaua(ib,ia) * ecaer(iplon,i,ia) * & rsrpiza(ib,ia) zasya(i,ib) = zasya(i,ib) + rsrtaua(ib,ia) * ecaer(iplon,i,ia) * & rsrpiza(ib,ia) * rsrasya(ib,ia) enddo if (zomga(i,ib) /= 0._rb) then zasya(i,ib) = zasya(i,ib) / zomga(i,ib) endif if (ztaua(i,ib) /= 0._rb) then zomga(i,ib) = zomga(i,ib) / ztaua(i,ib) endif enddo enddo ! IAER=10: Direct specification of aerosol optical properties from GCM elseif (iaer.eq.10) then do i = 1 ,nlayers do ib = 1 ,nbndsw ztaua(i,ib) = taua(i,ib) zasya(i,ib) = asma(i,ib) zomga(i,ib) = ssaa(i,ib) enddo enddo endif ! Call the 2-stream radiation transfer model do i=1,nlayers+1 zbbcu(i) = 0._rb zbbcd(i) = 0._rb zbbfu(i) = 0._rb zbbfd(i) = 0._rb zbbcddir(i) = 0._rb zbbfddir(i) = 0._rb zuvcd(i) = 0._rb zuvfd(i) = 0._rb zuvcddir(i) = 0._rb zuvfddir(i) = 0._rb znicd(i) = 0._rb znifd(i) = 0._rb znicddir(i) = 0._rb znifddir(i) = 0._rb enddo call spcvmc_sw & (nlayers, istart, iend, icpr, idelm, iout, & pavel, tavel, pz, tz, tbound, albdif, albdir, & zcldfmc, ztaucmc, zasycmc, zomgcmc, ztaormc, & ztaua, zasya, zomga, cossza, coldry, wkl, adjflux, & laytrop, layswtch, laylow, jp, jt, jt1, & co2mult, colch4, colco2, colh2o, colmol, coln2o, colo2, colo3, & fac00, fac01, fac10, fac11, & selffac, selffrac, indself, forfac, forfrac, indfor, & zbbfd, zbbfu, zbbcd, zbbcu, zuvfd, zuvcd, znifd, znicd, & zbbfddir, zbbcddir, zuvfddir, zuvcddir, znifddir, znicddir) ! Transfer up and down, clear and total sky fluxes to output arrays. ! Vertical indexing goes from bottom to top; reverse here for GCM if necessary. do i = 1, nlayers+1 swuflxc(iplon,i) = zbbcu(i) swdflxc(iplon,i) = zbbcd(i) swuflx(iplon,i) = zbbfu(i) swdflx(iplon,i) = zbbfd(i) uvdflx(i) = zuvfd(i) nidflx(i) = znifd(i) ! Direct/diffuse fluxes dirdflux(i) = zbbfddir(i) difdflux(i) = swdflx(iplon,i) - dirdflux(i) ! UV/visible direct/diffuse fluxes dirdnuv(i) = zuvfddir(i) difdnuv(i) = zuvfd(i) - dirdnuv(i) ! Near-IR direct/diffuse fluxes dirdnir(i) = znifddir(i) difdnir(i) = znifd(i) - dirdnir(i) enddo ! Total and clear sky net fluxes do i = 1, nlayers+1 swnflxc(i) = swdflxc(iplon,i) - swuflxc(iplon,i) swnflx(i) = swdflx(iplon,i) - swuflx(iplon,i) enddo ! Total and clear sky heating rates do i = 1, nlayers zdpgcp = heatfac / pdp(i) swhrc(iplon,i) = (swnflxc(i+1) - swnflxc(i)) * zdpgcp swhr(iplon,i) = (swnflx(i+1) - swnflx(i)) * zdpgcp enddo swhrc(iplon,nlayers) = 0._rb swhr(iplon,nlayers) = 0._rb ! End longitude loop enddo end subroutine rrtmg_sw !************************************************************************* real(kind=rb) function earth_sun(idn) !************************************************************************* ! ! Purpose: Function to calculate the correction factor of Earth's orbit ! for current day of the year ! idn : Day of the year ! earth_sun : square of the ratio of mean to actual Earth-Sun distance ! ------- Modules ------- use rrsw_con, only : pi integer(kind=im), intent(in) :: idn real(kind=rb) :: gamma gamma = 2._rb*pi*(idn-1)/365._rb ! Use Iqbal's equation 1.2.1 earth_sun = 1.000110_rb + .034221_rb * cos(gamma) + .001289_rb * sin(gamma) + & .000719_rb * cos(2._rb*gamma) + .000077_rb * sin(2._rb*gamma) end function earth_sun !*************************************************************************** subroutine inatm_sw (iplon, nlay, icld, iaer, & play, plev, tlay, tlev, tsfc, h2ovmr, & o3vmr, co2vmr, ch4vmr, n2ovmr, o2vmr, & adjes, dyofyr, scon, inflgsw, iceflgsw, liqflgsw, & cldfmcl, taucmcl, ssacmcl, asmcmcl, fsfcmcl, ciwpmcl, clwpmcl, & reicmcl, relqmcl, tauaer, ssaaer, asmaer, & nlayers, pavel, pz, pdp, tavel, tz, tbound, coldry, wkl, & adjflux, solvar, inflag, iceflag, liqflag, cldfmc, taucmc, & ssacmc, asmcmc, fsfcmc, ciwpmc, clwpmc, reicmc, relqmc, & taua, ssaa, asma) !*************************************************************************** ! ! Input atmospheric profile from GCM, and prepare it for use in RRTMG_SW. ! Set other RRTMG_SW input parameters. ! !*************************************************************************** ! --------- Modules ---------- use parrrsw, only : nbndsw, ngptsw, nstr, nmol, mxmol, & jpband, jpb1, jpb2, rrsw_scon use rrsw_con, only : heatfac, oneminus, pi, grav, avogad use rrsw_wvn, only : ng, nspa, nspb, wavenum1, wavenum2, delwave ! ------- Declarations ------- ! ----- Input ----- ! Note: All volume mixing ratios are in dimensionless units of mole fraction obtained ! by scaling mass mixing ratio (g/g) with the appropriate molecular weights (g/mol) integer(kind=im), intent(in) :: iplon ! column loop index integer(kind=im), intent(in) :: nlay ! number of model layers integer(kind=im), intent(in) :: icld ! clear/cloud and cloud overlap flag integer(kind=im), intent(in) :: iaer ! aerosol option flag real(kind=rb), intent(in) :: play(:,:) ! Layer pressures (hPa, mb) ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: plev(:,:) ! Interface pressures (hPa, mb) ! Dimensions: (ncol,nlay+1) real(kind=rb), intent(in) :: tlay(:,:) ! Layer temperatures (K) ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: tlev(:,:) ! Interface temperatures (K) ! Dimensions: (ncol,nlay+1) real(kind=rb), intent(in) :: tsfc(:) ! Surface temperature (K) ! Dimensions: (ncol) real(kind=rb), intent(in) :: h2ovmr(:,:) ! H2O volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: o3vmr(:,:) ! O3 volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: co2vmr(:,:) ! CO2 volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: ch4vmr(:,:) ! Methane volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: n2ovmr(:,:) ! Nitrous oxide volume mixing ratio ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: o2vmr(:,:) ! Oxygen volume mixing ratio ! Dimensions: (ncol,nlay) integer(kind=im), intent(in) :: dyofyr ! Day of the year (used to get Earth/Sun ! distance if adjflx not provided) real(kind=rb), intent(in) :: adjes ! Flux adjustment for Earth/Sun distance real(kind=rb), intent(in) :: scon ! Solar constant (W/m2) integer(kind=im), intent(in) :: inflgsw ! Flag for cloud optical properties integer(kind=im), intent(in) :: iceflgsw ! Flag for ice particle specification integer(kind=im), intent(in) :: liqflgsw ! Flag for liquid droplet specification real(kind=rb), intent(in) :: cldfmcl(:,:,:) ! Cloud fraction ! Dimensions: (ngptsw,ncol,nlay) real(kind=rb), intent(in) :: taucmcl(:,:,:) ! In-cloud optical depth (optional) ! Dimensions: (ngptsw,ncol,nlay) real(kind=rb), intent(in) :: ssacmcl(:,:,:) ! In-cloud single scattering albedo ! Dimensions: (ngptsw,ncol,nlay) real(kind=rb), intent(in) :: asmcmcl(:,:,:) ! In-cloud asymmetry parameter ! Dimensions: (ngptsw,ncol,nlay) real(kind=rb), intent(in) :: fsfcmcl(:,:,:) ! In-cloud forward scattering fraction ! Dimensions: (ngptsw,ncol,nlay) real(kind=rb), intent(in) :: ciwpmcl(:,:,:) ! In-cloud ice water path (g/m2) ! Dimensions: (ngptsw,ncol,nlay) real(kind=rb), intent(in) :: clwpmcl(:,:,:) ! In-cloud liquid water path (g/m2) ! Dimensions: (ngptsw,ncol,nlay) real(kind=rb), intent(in) :: reicmcl(:,:) ! Cloud ice effective size (microns) ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: relqmcl(:,:) ! Cloud water drop effective radius (microns) ! Dimensions: (ncol,nlay) real(kind=rb), intent(in) :: tauaer(:,:,:) ! Aerosol optical depth ! Dimensions: (ncol,nlay,nbndsw) real(kind=rb), intent(in) :: ssaaer(:,:,:) ! Aerosol single scattering albedo ! Dimensions: (ncol,nlay,nbndsw) real(kind=rb), intent(in) :: asmaer(:,:,:) ! Aerosol asymmetry parameter ! Dimensions: (ncol,nlay,nbndsw) ! Atmosphere integer(kind=im), intent(out) :: nlayers ! number of layers real(kind=rb), intent(out) :: pavel(:) ! layer pressures (mb) ! Dimensions: (nlay) real(kind=rb), intent(out) :: tavel(:) ! layer temperatures (K) ! Dimensions: (nlay) real(kind=rb), intent(out) :: pz(0:) ! level (interface) pressures (hPa, mb) ! Dimensions: (0:nlay) real(kind=rb), intent(out) :: tz(0:) ! level (interface) temperatures (K) ! Dimensions: (0:nlay) real(kind=rb), intent(out) :: tbound ! surface temperature (K) real(kind=rb), intent(out) :: pdp(:) ! layer pressure thickness (hPa, mb) ! Dimensions: (nlay) real(kind=rb), intent(out) :: coldry(:) ! dry air column density (mol/cm2) ! Dimensions: (nlay) real(kind=rb), intent(out) :: wkl(:,:) ! molecular amounts (mol/cm-2) ! Dimensions: (mxmol,nlay) real(kind=rb), intent(out) :: adjflux(:) ! adjustment for current Earth/Sun distance ! Dimensions: (jpband) real(kind=rb), intent(out) :: solvar(:) ! solar constant scaling factor from rrtmg_sw ! Dimensions: (jpband) ! default value of 1368.22 Wm-2 at 1 AU real(kind=rb), intent(out) :: taua(:,:) ! Aerosol optical depth ! Dimensions: (nlay,nbndsw) real(kind=rb), intent(out) :: ssaa(:,:) ! Aerosol single scattering albedo ! Dimensions: (nlay,nbndsw) real(kind=rb), intent(out) :: asma(:,:) ! Aerosol asymmetry parameter ! Dimensions: (nlay,nbndsw) ! Atmosphere/clouds - cldprmc integer(kind=im), intent(out) :: inflag ! flag for cloud property method integer(kind=im), intent(out) :: iceflag ! flag for ice cloud properties integer(kind=im), intent(out) :: liqflag ! flag for liquid cloud properties real(kind=rb), intent(out) :: cldfmc(:,:) ! layer cloud fraction ! Dimensions: (ngptsw,nlay) real(kind=rb), intent(out) :: taucmc(:,:) ! in-cloud optical depth (non-delta scaled) ! Dimensions: (ngptsw,nlay) real(kind=rb), intent(out) :: ssacmc(:,:) ! in-cloud single scattering albedo (non-delta-scaled) ! Dimensions: (ngptsw,nlay) real(kind=rb), intent(out) :: asmcmc(:,:) ! in-cloud asymmetry parameter (non-delta scaled) ! Dimensions: (ngptsw,nlay) real(kind=rb), intent(out) :: fsfcmc(:,:) ! in-cloud forward scattering fraction (non-delta scaled) ! Dimensions: (ngptsw,nlay) real(kind=rb), intent(out) :: ciwpmc(:,:) ! in-cloud ice water path ! Dimensions: (ngptsw,nlay) real(kind=rb), intent(out) :: clwpmc(:,:) ! in-cloud liquid water path ! Dimensions: (ngptsw,nlay) real(kind=rb), intent(out) :: relqmc(:) ! liquid particle effective radius (microns) ! Dimensions: (nlay) real(kind=rb), intent(out) :: reicmc(:) ! ice particle effective size (microns) ! Dimensions: (nlay) ! ----- Local ----- real(kind=rb), parameter :: amd = 28.9660_rb ! Effective molecular weight of dry air (g/mol) real(kind=rb), parameter :: amw = 18.0160_rb ! Molecular weight of water vapor (g/mol) ! real(kind=rb), parameter :: amc = 44.0098_rb ! Molecular weight of carbon dioxide (g/mol) ! real(kind=rb), parameter :: amo = 47.9998_rb ! Molecular weight of ozone (g/mol) ! real(kind=rb), parameter :: amo2 = 31.9999_rb ! Molecular weight of oxygen (g/mol) ! real(kind=rb), parameter :: amch4 = 16.0430_rb ! Molecular weight of methane (g/mol) ! real(kind=rb), parameter :: amn2o = 44.0128_rb ! Molecular weight of nitrous oxide (g/mol) ! Set molecular weight ratios (for converting mmr to vmr) ! e.g. h2ovmr = h2ommr * amdw) real(kind=rb), parameter :: amdw = 1.607793_rb ! Molecular weight of dry air / water vapor real(kind=rb), parameter :: amdc = 0.658114_rb ! Molecular weight of dry air / carbon dioxide real(kind=rb), parameter :: amdo = 0.603428_rb ! Molecular weight of dry air / ozone real(kind=rb), parameter :: amdm = 1.805423_rb ! Molecular weight of dry air / methane real(kind=rb), parameter :: amdn = 0.658090_rb ! Molecular weight of dry air / nitrous oxide real(kind=rb), parameter :: amdo2 = 0.905140_rb ! Molecular weight of dry air / oxygen real(kind=rb), parameter :: sbc = 5.67e-08_rb ! Stefan-Boltzmann constant (W/m2K4) integer(kind=im) :: isp, l, ix, n, imol, ib, ig ! Loop indices real(kind=rb) :: amm, summol ! real(kind=rb) :: adjflx ! flux adjustment for Earth/Sun distance ! real(kind=rb) :: earth_sun ! function for Earth/Sun distance adjustment ! Add one to nlayers here to include extra model layer at top of atmosphere nlayers = nlay ! Initialize all molecular amounts to zero here, then pass input amounts ! into RRTM array WKL below. wkl(:,:) = 0.0_rb cldfmc(:,:) = 0.0_rb taucmc(:,:) = 0.0_rb ssacmc(:,:) = 1.0_rb asmcmc(:,:) = 0.0_rb fsfcmc(:,:) = 0.0_rb ciwpmc(:,:) = 0.0_rb clwpmc(:,:) = 0.0_rb reicmc(:) = 0.0_rb relqmc(:) = 0.0_rb taua(:,:) = 0.0_rb ssaa(:,:) = 1.0_rb asma(:,:) = 0.0_rb ! Set flux adjustment for current Earth/Sun distance (two options). ! 1) Use Earth/Sun distance flux adjustment provided by GCM (input as adjes); adjflx = adjes ! ! 2) Calculate Earth/Sun distance from DYOFYR, the cumulative day of the year. ! (Set adjflx to 1. to use constant Earth/Sun distance of 1 AU). if (dyofyr .gt. 0) then adjflx = earth_sun(dyofyr) endif ! Set incoming solar flux adjustment to include adjustment for ! current Earth/Sun distance (ADJFLX) and scaling of default internal ! solar constant (rrsw_scon = 1368.22 Wm-2) by band (SOLVAR). SOLVAR can be set ! to a single scaling factor as needed, or to a different value in each ! band, which may be necessary for paleoclimate simulations. ! do ib = jpb1,jpb2 ! solvar(ib) = 1._rb solvar(ib) = scon / rrsw_scon adjflux(ib) = adjflx * solvar(ib) enddo ! Set surface temperature. tbound = tsfc(iplon) ! Install input GCM arrays into RRTMG_SW arrays for pressure, temperature, ! and molecular amounts. ! Pressures are input in mb, or are converted to mb here. ! Molecular amounts are input in volume mixing ratio, or are converted from ! mass mixing ratio (or specific humidity for h2o) to volume mixing ratio ! here. These are then converted to molecular amount (molec/cm2) below. ! The dry air column COLDRY (in molec/cm2) is calculated from the level ! pressures, pz (in mb), based on the hydrostatic equation and includes a ! correction to account for h2o in the layer. The molecular weight of moist ! air (amm) is calculated for each layer. ! Note: In RRTMG, layer indexing goes from bottom to top, and coding below ! assumes GCM input fields are also bottom to top. Input layer indexing ! from GCM fields should be reversed here if necessary. pz(0) = plev(iplon,1) tz(0) = tlev(iplon,1) do l = 1, nlayers pavel(l) = play(iplon,l) tavel(l) = tlay(iplon,l) pz(l) = plev(iplon,l+1) tz(l) = tlev(iplon,l+1) pdp(l) = pz(l-1) - pz(l) ! For h2o input in vmr: wkl(1,l) = h2ovmr(iplon,l) ! For h2o input in mmr: ! wkl(1,l) = h2o(iplon,l)*amdw ! For h2o input in specific humidity; ! wkl(1,l) = (h2o(iplon,l)/(1._rb - h2o(iplon,l)))*amdw wkl(2,l) = co2vmr(iplon,l) wkl(3,l) = o3vmr(iplon,l) wkl(4,l) = n2ovmr(iplon,l) wkl(6,l) = ch4vmr(iplon,l) wkl(7,l) = o2vmr(iplon,l) amm = (1._rb - wkl(1,l)) * amd + wkl(1,l) * amw coldry(l) = (pz(l-1)-pz(l)) * 1.e3_rb * avogad / & (1.e2_rb * grav * amm * (1._rb + wkl(1,l))) enddo ! The following section can be used to set values for an additional layer (from ! the GCM top level to 1.e-4 mb) for improved calculation of TOA fluxes. ! Temperature and molecular amounts in the extra model layer are set to ! their values in the top GCM model layer, though these can be modified ! here if necessary. ! If this feature is utilized, increase nlayers by one above, limit the two ! loops above to (nlayers-1), and set the top most (nlayers) layer values here. ! pavel(nlayers) = 0.5_rb * pz(nlayers-1) ! tavel(nlayers) = tavel(nlayers-1) ! pz(nlayers) = 1.e-4_rb ! tz(nlayers-1) = 0.5_rb * (tavel(nlayers)+tavel(nlayers-1)) ! tz(nlayers) = tz(nlayers-1) ! pdp(nlayers) = pz(nlayers-1) - pz(nlayers) ! wkl(1,nlayers) = wkl(1,nlayers-1) ! wkl(2,nlayers) = wkl(2,nlayers-1) ! wkl(3,nlayers) = wkl(3,nlayers-1) ! wkl(4,nlayers) = wkl(4,nlayers-1) ! wkl(6,nlayers) = wkl(6,nlayers-1) ! wkl(7,nlayers) = wkl(7,nlayers-1) ! amm = (1._rb - wkl(1,nlayers-1)) * amd + wkl(1,nlayers-1) * amw ! coldry(nlayers) = (pz(nlayers-1)) * 1.e3_rb * avogad / & ! (1.e2_rb * grav * amm * (1._rb + wkl(1,nlayers-1))) ! At this point all molecular amounts in wkl are in volume mixing ratio; ! convert to molec/cm2 based on coldry for use in rrtm. do l = 1, nlayers do imol = 1, nmol wkl(imol,l) = coldry(l) * wkl(imol,l) enddo enddo ! Transfer aerosol optical properties to RRTM variables; ! modify to reverse layer indexing here if necessary. if (iaer .ge. 1) then do l = 1, nlayers do ib = 1, nbndsw taua(l,ib) = tauaer(iplon,l,ib) ssaa(l,ib) = ssaaer(iplon,l,ib) asma(l,ib) = asmaer(iplon,l,ib) enddo enddo endif ! Transfer cloud fraction and cloud optical properties to RRTM variables; ! modify to reverse layer indexing here if necessary. if (icld .ge. 1) then inflag = inflgsw iceflag = iceflgsw liqflag = liqflgsw ! Move incoming GCM cloud arrays to RRTMG cloud arrays. ! For GCM input, incoming reicmcl is defined based on selected ice parameterization (inflglw) do l = 1, nlayers do ig = 1, ngptsw cldfmc(ig,l) = cldfmcl(ig,iplon,l) taucmc(ig,l) = taucmcl(ig,iplon,l) ssacmc(ig,l) = ssacmcl(ig,iplon,l) asmcmc(ig,l) = asmcmcl(ig,iplon,l) fsfcmc(ig,l) = fsfcmcl(ig,iplon,l) ciwpmc(ig,l) = ciwpmcl(ig,iplon,l) clwpmc(ig,l) = clwpmcl(ig,iplon,l) enddo reicmc(l) = reicmcl(iplon,l) relqmc(l) = relqmcl(iplon,l) enddo ! If an extra layer is being used in RRTMG, set all cloud properties to zero in the extra layer. ! cldfmc(:,nlayers) = 0.0_rb ! taucmc(:,nlayers) = 0.0_rb ! ssacmc(:,nlayers) = 1.0_rb ! asmcmc(:,nlayers) = 0.0_rb ! fsfcmc(:,nlayers) = 0.0_rb ! ciwpmc(:,nlayers) = 0.0_rb ! clwpmc(:,nlayers) = 0.0_rb ! reicmc(nlayers) = 0.0_rb ! relqmc(nlayers) = 0.0_rb endif end subroutine inatm_sw end module rrtmg_sw_rad ================================================ FILE: GeosRad/rrtmg_sw_reftra.F90 ================================================ ! path: $Source: /storm/rc1/cvsroot/rc/rrtmg_sw/src/rrtmg_sw_reftra.f90,v $ ! author: $Author: mike $ ! revision: $Revision: 1.4 $ ! created: $Date: 2009/02/09 19:45:55 $ module rrtmg_sw_reftra ! -------------------------------------------------------------------------- ! | | ! | Copyright 2002-2008, Atmospheric & Environmental Research, Inc. (AER). | ! | This software may be used, copied, or redistributed as long as it is | ! | not sold and this copyright notice is reproduced on each copy made. | ! | This model is provided as is without any express or implied warranties. | ! | (http://www.rtweb.aer.com/) | ! | | ! -------------------------------------------------------------------------- ! ------- Modules ------- use parkind, only : im => kind_im, rb => kind_rb use rrsw_tbl, only : tblint, bpade, od_lo, exp_tbl use rrsw_vsn, only : hvrrft, hnamrft implicit none contains ! -------------------------------------------------------------------- subroutine reftra_sw(nlayers, lrtchk, pgg, prmuz, ptau, pw, & pref, prefd, ptra, ptrad) ! -------------------------------------------------------------------- ! Purpose: computes the reflectivity and transmissivity of a clear or ! cloudy layer using a choice of various approximations. ! ! Interface: *rrtmg_sw_reftra* is called by *rrtmg_sw_spcvrt* ! ! Description: ! explicit arguments : ! -------------------- ! inputs ! ------ ! lrtchk = .t. for all layers in clear profile ! lrtchk = .t. for cloudy layers in cloud profile ! = .f. for clear layers in cloud profile ! pgg = assymetry factor ! prmuz = cosine solar zenith angle ! ptau = optical thickness ! pw = single scattering albedo ! ! outputs ! ------- ! pref : collimated beam reflectivity ! prefd : diffuse beam reflectivity ! ptra : collimated beam transmissivity ! ptrad : diffuse beam transmissivity ! ! ! Method: ! ------- ! standard delta-eddington, p.i.f.m., or d.o.m. layer calculations. ! kmodts = 1 eddington (joseph et al., 1976) ! = 2 pifm (zdunkowski et al., 1980) ! = 3 discrete ordinates (liou, 1973) ! ! ! Modifications: ! -------------- ! Original: J-JMorcrette, ECMWF, Feb 2003 ! Revised for F90 reformatting: MJIacono, AER, Jul 2006 ! Revised to add exponential lookup table: MJIacono, AER, Aug 2007 ! ! ------------------------------------------------------------------ ! ------- Declarations ------ ! ------- Input ------- integer(kind=im), intent(in) :: nlayers logical, intent(in) :: lrtchk(:) ! Logical flag for reflectivity and ! and transmissivity calculation; ! Dimensions: (nlayers) real(kind=rb), intent(in) :: pgg(:) ! asymmetry parameter ! Dimensions: (nlayers) real(kind=rb), intent(in) :: ptau(:) ! optical depth ! Dimensions: (nlayers) real(kind=rb), intent(in) :: pw(:) ! single scattering albedo ! Dimensions: (nlayers) real(kind=rb), intent(in) :: prmuz ! cosine of solar zenith angle ! ------- Output ------- real(kind=rb), intent(inout) :: pref(:) ! direct beam reflectivity ! Dimensions: (nlayers+1) real(kind=rb), intent(inout) :: prefd(:) ! diffuse beam reflectivity ! Dimensions: (nlayers+1) real(kind=rb), intent(inout) :: ptra(:) ! direct beam transmissivity ! Dimensions: (nlayers+1) real(kind=rb), intent(inout) :: ptrad(:) ! diffuse beam transmissivity ! Dimensions: (nlayers+1) ! ------- Local ------- integer(kind=im) :: jk, jl, kmodts integer(kind=im) :: itind real(kind=rb) :: tblind real(kind=rb) :: za, za1, za2 real(kind=rb) :: zbeta, zdend, zdenr, zdent real(kind=rb) :: ze1, ze2, zem1, zem2, zemm, zep1, zep2 real(kind=rb) :: zg, zg3, zgamma1, zgamma2, zgamma3, zgamma4, zgt real(kind=rb) :: zr1, zr2, zr3, zr4, zr5 real(kind=rb) :: zrk, zrk2, zrkg, zrm1, zrp, zrp1, zrpp real(kind=rb) :: zsr3, zt1, zt2, zt3, zt4, zt5, zto1 real(kind=rb) :: zw, zwcrit, zwo real(kind=rb), parameter :: eps = 1.e-08_rb ! ------------------------------------------------------------------ ! Initialize hvrrft = '$Revision: 1.4 $' zsr3=sqrt(3._rb) zwcrit=0.9999995_rb kmodts=2 do jk=1, nlayers if (.not.lrtchk(jk)) then pref(jk) =0._rb ptra(jk) =1._rb prefd(jk)=0._rb ptrad(jk)=1._rb else zto1=ptau(jk) zw =pw(jk) zg =pgg(jk) ! General two-stream expressions zg3= 3._rb * zg if (kmodts == 1) then zgamma1= (7._rb - zw * (4._rb + zg3)) * 0.25_rb zgamma2=-(1._rb - zw * (4._rb - zg3)) * 0.25_rb zgamma3= (2._rb - zg3 * prmuz ) * 0.25_rb else if (kmodts == 2) then zgamma1= (8._rb - zw * (5._rb + zg3)) * 0.25_rb zgamma2= 3._rb *(zw * (1._rb - zg )) * 0.25_rb zgamma3= (2._rb - zg3 * prmuz ) * 0.25_rb else if (kmodts == 3) then zgamma1= zsr3 * (2._rb - zw * (1._rb + zg)) * 0.5_rb zgamma2= zsr3 * zw * (1._rb - zg ) * 0.5_rb zgamma3= (1._rb - zsr3 * zg * prmuz ) * 0.5_rb end if zgamma4= 1._rb - zgamma3 ! Recompute original s.s.a. to test for conservative solution zwo= zw / (1._rb - (1._rb - zw) * (zg / (1._rb - zg))**2) if (zwo >= zwcrit) then ! Conservative scattering za = zgamma1 * prmuz za1 = za - zgamma3 zgt = zgamma1 * zto1 ! Homogeneous reflectance and transmittance, ! collimated beam ze1 = min ( zto1 / prmuz , 500._rb) ! ze2 = exp( -ze1 ) ! Use exponential lookup table for transmittance, or expansion of ! exponential for low tau if (ze1 .le. od_lo) then ze2 = 1._rb - ze1 + 0.5_rb * ze1 * ze1 else tblind = ze1 / (bpade + ze1) itind = tblint * tblind + 0.5_rb ze2 = exp_tbl(itind) endif ! pref(jk) = (zgt - za1 * (1._rb - ze2)) / (1._rb + zgt) ptra(jk) = 1._rb - pref(jk) ! isotropic incidence prefd(jk) = zgt / (1._rb + zgt) ptrad(jk) = 1._rb - prefd(jk) ! This is applied for consistency between total (delta-scaled) and direct (unscaled) ! calculations at very low optical depths (tau < 1.e-4) when the exponential lookup ! table returns a transmittance of 1.0. if (ze2 .eq. 1.0_rb) then pref(jk) = 0.0_rb ptra(jk) = 1.0_rb prefd(jk) = 0.0_rb ptrad(jk) = 1.0_rb endif else ! Non-conservative scattering za1 = zgamma1 * zgamma4 + zgamma2 * zgamma3 za2 = zgamma1 * zgamma3 + zgamma2 * zgamma4 zrk = sqrt ( zgamma1**2 - zgamma2**2) zrp = zrk * prmuz zrp1 = 1._rb + zrp zrm1 = 1._rb - zrp zrk2 = 2._rb * zrk zrpp = 1._rb - zrp*zrp zrkg = zrk + zgamma1 zr1 = zrm1 * (za2 + zrk * zgamma3) zr2 = zrp1 * (za2 - zrk * zgamma3) zr3 = zrk2 * (zgamma3 - za2 * prmuz ) zr4 = zrpp * zrkg zr5 = zrpp * (zrk - zgamma1) zt1 = zrp1 * (za1 + zrk * zgamma4) zt2 = zrm1 * (za1 - zrk * zgamma4) zt3 = zrk2 * (zgamma4 + za1 * prmuz ) zt4 = zr4 zt5 = zr5 ! mji - reformulated code to avoid potential floating point exceptions ! zbeta = - zr5 / zr4 zbeta = (zgamma1 - zrk) / zrkg !! ! Homogeneous reflectance and transmittance ze1 = min ( zrk * zto1, 500._rb) ze2 = min ( zto1 / prmuz , 500._rb) ! ! Original ! zep1 = exp( ze1 ) ! zem1 = exp(-ze1 ) ! zep2 = exp( ze2 ) ! zem2 = exp(-ze2 ) ! ! Revised original, to reduce exponentials ! zep1 = exp( ze1 ) ! zem1 = 1._rb / zep1 ! zep2 = exp( ze2 ) ! zem2 = 1._rb / zep2 ! ! Use exponential lookup table for transmittance, or expansion of ! exponential for low tau if (ze1 .le. od_lo) then zem1 = 1._rb - ze1 + 0.5_rb * ze1 * ze1 zep1 = 1._rb / zem1 else tblind = ze1 / (bpade + ze1) itind = tblint * tblind + 0.5_rb zem1 = exp_tbl(itind) zep1 = 1._rb / zem1 endif if (ze2 .le. od_lo) then zem2 = 1._rb - ze2 + 0.5_rb * ze2 * ze2 zep2 = 1._rb / zem2 else tblind = ze2 / (bpade + ze2) itind = tblint * tblind + 0.5_rb zem2 = exp_tbl(itind) zep2 = 1._rb / zem2 endif ! collimated beam ! mji - reformulated code to avoid potential floating point exceptions ! zdenr = zr4*zep1 + zr5*zem1 ! pref(jk) = zw * (zr1*zep1 - zr2*zem1 - zr3*zem2) / zdenr ! zdent = zt4*zep1 + zt5*zem1 ! ptra(jk) = zem2 - zem2 * zw * (zt1*zep1 - zt2*zem1 - zt3*zep2) / zdent zdenr = zr4*zep1 + zr5*zem1 zdent = zt4*zep1 + zt5*zem1 if (zdenr .ge. -eps .and. zdenr .le. eps) then pref(jk) = eps ptra(jk) = zem2 else pref(jk) = zw * (zr1*zep1 - zr2*zem1 - zr3*zem2) / zdenr ptra(jk) = zem2 - zem2 * zw * (zt1*zep1 - zt2*zem1 - zt3*zep2) / zdent endif !! ! diffuse beam zemm = zem1*zem1 zdend = 1._rb / ( (1._rb - zbeta*zemm ) * zrkg) prefd(jk) = zgamma2 * (1._rb - zemm) * zdend ptrad(jk) = zrk2*zem1*zdend endif endif enddo end subroutine reftra_sw end module rrtmg_sw_reftra ================================================ FILE: GeosRad/rrtmg_sw_setcoef.F90 ================================================ ! path: $Source: /storm/rc1/cvsroot/rc/rrtmg_sw/src/rrtmg_sw_setcoef.f90,v $ ! author: $Author: mike $ ! revision: $Revision: 1.3 $ ! created: $Date: 2008/08/29 17:59:10 $ module rrtmg_sw_setcoef ! -------------------------------------------------------------------------- ! | | ! | Copyright 2002-2008, Atmospheric & Environmental Research, Inc. (AER). | ! | This software may be used, copied, or redistributed as long as it is | ! | not sold and this copyright notice is reproduced on each copy made. | ! | This model is provided as is without any express or implied warranties. | ! | (http://www.rtweb.aer.com/) | ! | | ! -------------------------------------------------------------------------- ! ------- Modules ------- use parkind, only : im => kind_im, rb => kind_rb use parrrsw, only : mxmol use rrsw_ref, only : pref, preflog, tref use rrsw_vsn, only : hvrset, hnamset implicit none contains !---------------------------------------------------------------------------- subroutine setcoef_sw(nlayers, pavel, tavel, pz, tz, tbound, coldry, wkl, & laytrop, layswtch, laylow, jp, jt, jt1, & co2mult, colch4, colco2, colh2o, colmol, coln2o, & colo2, colo3, fac00, fac01, fac10, fac11, & selffac, selffrac, indself, forfac, forfrac, indfor) !---------------------------------------------------------------------------- ! ! Purpose: For a given atmosphere, calculate the indices and ! fractions related to the pressure and temperature interpolations. ! Modifications: ! Original: J. Delamere, AER, Inc. (version 2.5, 02/04/01) ! Revised: Rewritten and adapted to ECMWF F90, JJMorcrette 030224 ! Revised: For uniform rrtmg formatting, MJIacono, Jul 2006 ! ------ Declarations ------- ! ----- Input ----- integer(kind=im), intent(in) :: nlayers ! total number of layers real(kind=rb), intent(in) :: pavel(:) ! layer pressures (mb) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: tavel(:) ! layer temperatures (K) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: pz(0:) ! level (interface) pressures (hPa, mb) ! Dimensions: (0:nlayers) real(kind=rb), intent(in) :: tz(0:) ! level (interface) temperatures (K) ! Dimensions: (0:nlayers) real(kind=rb), intent(in) :: tbound ! surface temperature (K) real(kind=rb), intent(in) :: coldry(:) ! dry air column density (mol/cm2) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: wkl(:,:) ! molecular amounts (mol/cm-2) ! Dimensions: (mxmol,nlayers) ! ----- Output ----- integer(kind=im), intent(out) :: laytrop ! tropopause layer index integer(kind=im), intent(out) :: layswtch ! integer(kind=im), intent(out) :: laylow ! integer(kind=im), intent(out) :: jp(:) ! ! Dimensions: (nlayers) integer(kind=im), intent(out) :: jt(:) ! ! Dimensions: (nlayers) integer(kind=im), intent(out) :: jt1(:) ! ! Dimensions: (nlayers) real(kind=rb), intent(out) :: colh2o(:) ! column amount (h2o) ! Dimensions: (nlayers) real(kind=rb), intent(out) :: colco2(:) ! column amount (co2) ! Dimensions: (nlayers) real(kind=rb), intent(out) :: colo3(:) ! column amount (o3) ! Dimensions: (nlayers) real(kind=rb), intent(out) :: coln2o(:) ! column amount (n2o) ! Dimensions: (nlayers) real(kind=rb), intent(out) :: colch4(:) ! column amount (ch4) ! Dimensions: (nlayers) real(kind=rb), intent(out) :: colo2(:) ! column amount (o2) ! Dimensions: (nlayers) real(kind=rb), intent(out) :: colmol(:) ! ! Dimensions: (nlayers) real(kind=rb), intent(out) :: co2mult(:) ! ! Dimensions: (nlayers) integer(kind=im), intent(out) :: indself(:) ! Dimensions: (nlayers) integer(kind=im), intent(out) :: indfor(:) ! Dimensions: (nlayers) real(kind=rb), intent(out) :: selffac(:) ! Dimensions: (nlayers) real(kind=rb), intent(out) :: selffrac(:) ! Dimensions: (nlayers) real(kind=rb), intent(out) :: forfac(:) ! Dimensions: (nlayers) real(kind=rb), intent(out) :: forfrac(:) ! Dimensions: (nlayers) real(kind=rb), intent(out) :: & ! fac00(:), fac01(:), & ! Dimensions: (nlayers) fac10(:), fac11(:) ! ----- Local ----- integer(kind=im) :: indbound integer(kind=im) :: indlev0 integer(kind=im) :: lay integer(kind=im) :: jp1 real(kind=rb) :: stpfac real(kind=rb) :: tbndfrac real(kind=rb) :: t0frac real(kind=rb) :: plog real(kind=rb) :: fp real(kind=rb) :: ft real(kind=rb) :: ft1 real(kind=rb) :: water real(kind=rb) :: scalefac real(kind=rb) :: factor real(kind=rb) :: co2reg real(kind=rb) :: compfp ! Initializations stpfac = 296._rb/1013._rb indbound = tbound - 159._rb tbndfrac = tbound - int(tbound) indlev0 = tz(0) - 159._rb t0frac = tz(0) - int(tz(0)) laytrop = 0 layswtch = 0 laylow = 0 ! Begin layer loop do lay = 1, nlayers ! Find the two reference pressures on either side of the ! layer pressure. Store them in JP and JP1. Store in FP the ! fraction of the difference (in ln(pressure)) between these ! two values that the layer pressure lies. plog = log(pavel(lay)) jp(lay) = int(36._rb - 5*(plog+0.04_rb)) if (jp(lay) .lt. 1) then jp(lay) = 1 elseif (jp(lay) .gt. 58) then jp(lay) = 58 endif jp1 = jp(lay) + 1 fp = 5._rb * (preflog(jp(lay)) - plog) ! Determine, for each reference pressure (JP and JP1), which ! reference temperature (these are different for each ! reference pressure) is nearest the layer temperature but does ! not exceed it. Store these indices in JT and JT1, resp. ! Store in FT (resp. FT1) the fraction of the way between JT ! (JT1) and the next highest reference temperature that the ! layer temperature falls. jt(lay) = int(3._rb + (tavel(lay)-tref(jp(lay)))/15._rb) if (jt(lay) .lt. 1) then jt(lay) = 1 elseif (jt(lay) .gt. 4) then jt(lay) = 4 endif ft = ((tavel(lay)-tref(jp(lay)))/15._rb) - float(jt(lay)-3) jt1(lay) = int(3._rb + (tavel(lay)-tref(jp1))/15._rb) if (jt1(lay) .lt. 1) then jt1(lay) = 1 elseif (jt1(lay) .gt. 4) then jt1(lay) = 4 endif ft1 = ((tavel(lay)-tref(jp1))/15._rb) - float(jt1(lay)-3) water = wkl(1,lay)/coldry(lay) scalefac = pavel(lay) * stpfac / tavel(lay) ! If the pressure is less than ~100mb, perform a different ! set of species interpolations. if (plog .le. 4.56_rb) go to 5300 laytrop = laytrop + 1 if (plog .ge. 6.62_rb) laylow = laylow + 1 ! Set up factors needed to separately include the water vapor ! foreign-continuum in the calculation of absorption coefficient. forfac(lay) = scalefac / (1.+water) factor = (332.0_rb-tavel(lay))/36.0_rb indfor(lay) = min(2, max(1, int(factor))) forfrac(lay) = factor - float(indfor(lay)) ! Set up factors needed to separately include the water vapor ! self-continuum in the calculation of absorption coefficient. selffac(lay) = water * forfac(lay) factor = (tavel(lay)-188.0_rb)/7.2_rb indself(lay) = min(9, max(1, int(factor)-7)) selffrac(lay) = factor - float(indself(lay) + 7) ! Calculate needed column amounts. colh2o(lay) = 1.e-20_rb * wkl(1,lay) colco2(lay) = 1.e-20_rb * wkl(2,lay) colo3(lay) = 1.e-20_rb * wkl(3,lay) ! colo3(lay) = 0._rb ! colo3(lay) = colo3(lay)/1.16_rb coln2o(lay) = 1.e-20_rb * wkl(4,lay) colch4(lay) = 1.e-20_rb * wkl(6,lay) colo2(lay) = 1.e-20_rb * wkl(7,lay) colmol(lay) = 1.e-20_rb * coldry(lay) + colh2o(lay) ! colco2(lay) = 0._rb ! colo3(lay) = 0._rb ! coln2o(lay) = 0._rb ! colch4(lay) = 0._rb ! colo2(lay) = 0._rb ! colmol(lay) = 0._rb if (colco2(lay) .eq. 0._rb) colco2(lay) = 1.e-32_rb * coldry(lay) if (coln2o(lay) .eq. 0._rb) coln2o(lay) = 1.e-32_rb * coldry(lay) if (colch4(lay) .eq. 0._rb) colch4(lay) = 1.e-32_rb * coldry(lay) if (colo2(lay) .eq. 0._rb) colo2(lay) = 1.e-32_rb * coldry(lay) ! Using E = 1334.2 cm-1. co2reg = 3.55e-24_rb * coldry(lay) co2mult(lay)= (colco2(lay) - co2reg) * & 272.63_rb*exp(-1919.4_rb/tavel(lay))/(8.7604e-4_rb*tavel(lay)) goto 5400 ! Above laytrop. 5300 continue ! Set up factors needed to separately include the water vapor ! foreign-continuum in the calculation of absorption coefficient. forfac(lay) = scalefac / (1.+water) factor = (tavel(lay)-188.0_rb)/36.0_rb indfor(lay) = 3 forfrac(lay) = factor - 1.0_rb ! Calculate needed column amounts. colh2o(lay) = 1.e-20_rb * wkl(1,lay) colco2(lay) = 1.e-20_rb * wkl(2,lay) colo3(lay) = 1.e-20_rb * wkl(3,lay) coln2o(lay) = 1.e-20_rb * wkl(4,lay) colch4(lay) = 1.e-20_rb * wkl(6,lay) colo2(lay) = 1.e-20_rb * wkl(7,lay) colmol(lay) = 1.e-20_rb * coldry(lay) + colh2o(lay) if (colco2(lay) .eq. 0._rb) colco2(lay) = 1.e-32_rb * coldry(lay) if (coln2o(lay) .eq. 0._rb) coln2o(lay) = 1.e-32_rb * coldry(lay) if (colch4(lay) .eq. 0._rb) colch4(lay) = 1.e-32_rb * coldry(lay) if (colo2(lay) .eq. 0._rb) colo2(lay) = 1.e-32_rb * coldry(lay) co2reg = 3.55e-24_rb * coldry(lay) co2mult(lay)= (colco2(lay) - co2reg) * & 272.63_rb*exp(-1919.4_rb/tavel(lay))/(8.7604e-4_rb*tavel(lay)) selffac(lay) = 0._rb selffrac(lay)= 0._rb indself(lay) = 0 5400 continue ! We have now isolated the layer ln pressure and temperature, ! between two reference pressures and two reference temperatures ! (for each reference pressure). We multiply the pressure ! fraction FP with the appropriate temperature fractions to get ! the factors that will be needed for the interpolation that yields ! the optical depths (performed in routines TAUGBn for band n). compfp = 1._rb - fp fac10(lay) = compfp * ft fac00(lay) = compfp * (1._rb - ft) fac11(lay) = fp * ft1 fac01(lay) = fp * (1._rb - ft1) ! End layer loop enddo end subroutine setcoef_sw !*************************************************************************** subroutine swatmref !*************************************************************************** save ! These pressures are chosen such that the ln of the first pressure ! has only a few non-zero digits (i.e. ln(PREF(1)) = 6.96000) and ! each subsequent ln(pressure) differs from the previous one by 0.2. pref(:) = (/ & 1.05363e+03_rb,8.62642e+02_rb,7.06272e+02_rb,5.78246e+02_rb,4.73428e+02_rb, & 3.87610e+02_rb,3.17348e+02_rb,2.59823e+02_rb,2.12725e+02_rb,1.74164e+02_rb, & 1.42594e+02_rb,1.16746e+02_rb,9.55835e+01_rb,7.82571e+01_rb,6.40715e+01_rb, & 5.24573e+01_rb,4.29484e+01_rb,3.51632e+01_rb,2.87892e+01_rb,2.35706e+01_rb, & 1.92980e+01_rb,1.57998e+01_rb,1.29358e+01_rb,1.05910e+01_rb,8.67114e+00_rb, & 7.09933e+00_rb,5.81244e+00_rb,4.75882e+00_rb,3.89619e+00_rb,3.18993e+00_rb, & 2.61170e+00_rb,2.13828e+00_rb,1.75067e+00_rb,1.43333e+00_rb,1.17351e+00_rb, & 9.60789e-01_rb,7.86628e-01_rb,6.44036e-01_rb,5.27292e-01_rb,4.31710e-01_rb, & 3.53455e-01_rb,2.89384e-01_rb,2.36928e-01_rb,1.93980e-01_rb,1.58817e-01_rb, & 1.30029e-01_rb,1.06458e-01_rb,8.71608e-02_rb,7.13612e-02_rb,5.84256e-02_rb, & 4.78349e-02_rb,3.91639e-02_rb,3.20647e-02_rb,2.62523e-02_rb,2.14936e-02_rb, & 1.75975e-02_rb,1.44076e-02_rb,1.17959e-02_rb,9.65769e-03_rb /) preflog(:) = (/ & 6.9600e+00_rb, 6.7600e+00_rb, 6.5600e+00_rb, 6.3600e+00_rb, 6.1600e+00_rb, & 5.9600e+00_rb, 5.7600e+00_rb, 5.5600e+00_rb, 5.3600e+00_rb, 5.1600e+00_rb, & 4.9600e+00_rb, 4.7600e+00_rb, 4.5600e+00_rb, 4.3600e+00_rb, 4.1600e+00_rb, & 3.9600e+00_rb, 3.7600e+00_rb, 3.5600e+00_rb, 3.3600e+00_rb, 3.1600e+00_rb, & 2.9600e+00_rb, 2.7600e+00_rb, 2.5600e+00_rb, 2.3600e+00_rb, 2.1600e+00_rb, & 1.9600e+00_rb, 1.7600e+00_rb, 1.5600e+00_rb, 1.3600e+00_rb, 1.1600e+00_rb, & 9.6000e-01_rb, 7.6000e-01_rb, 5.6000e-01_rb, 3.6000e-01_rb, 1.6000e-01_rb, & -4.0000e-02_rb,-2.4000e-01_rb,-4.4000e-01_rb,-6.4000e-01_rb,-8.4000e-01_rb, & -1.0400e+00_rb,-1.2400e+00_rb,-1.4400e+00_rb,-1.6400e+00_rb,-1.8400e+00_rb, & -2.0400e+00_rb,-2.2400e+00_rb,-2.4400e+00_rb,-2.6400e+00_rb,-2.8400e+00_rb, & -3.0400e+00_rb,-3.2400e+00_rb,-3.4400e+00_rb,-3.6400e+00_rb,-3.8400e+00_rb, & -4.0400e+00_rb,-4.2400e+00_rb,-4.4400e+00_rb,-4.6400e+00_rb /) ! These are the temperatures associated with the respective ! pressures for the MLS standard atmosphere. tref(:) = (/ & 2.9420e+02_rb, 2.8799e+02_rb, 2.7894e+02_rb, 2.6925e+02_rb, 2.5983e+02_rb, & 2.5017e+02_rb, 2.4077e+02_rb, 2.3179e+02_rb, 2.2306e+02_rb, 2.1578e+02_rb, & 2.1570e+02_rb, 2.1570e+02_rb, 2.1570e+02_rb, 2.1706e+02_rb, 2.1858e+02_rb, & 2.2018e+02_rb, 2.2174e+02_rb, 2.2328e+02_rb, 2.2479e+02_rb, 2.2655e+02_rb, & 2.2834e+02_rb, 2.3113e+02_rb, 2.3401e+02_rb, 2.3703e+02_rb, 2.4022e+02_rb, & 2.4371e+02_rb, 2.4726e+02_rb, 2.5085e+02_rb, 2.5457e+02_rb, 2.5832e+02_rb, & 2.6216e+02_rb, 2.6606e+02_rb, 2.6999e+02_rb, 2.7340e+02_rb, 2.7536e+02_rb, & 2.7568e+02_rb, 2.7372e+02_rb, 2.7163e+02_rb, 2.6955e+02_rb, 2.6593e+02_rb, & 2.6211e+02_rb, 2.5828e+02_rb, 2.5360e+02_rb, 2.4854e+02_rb, 2.4348e+02_rb, & 2.3809e+02_rb, 2.3206e+02_rb, 2.2603e+02_rb, 2.2000e+02_rb, 2.1435e+02_rb, & 2.0887e+02_rb, 2.0340e+02_rb, 1.9792e+02_rb, 1.9290e+02_rb, 1.8809e+02_rb, & 1.8329e+02_rb, 1.7849e+02_rb, 1.7394e+02_rb, 1.7212e+02_rb /) end subroutine swatmref end module rrtmg_sw_setcoef ================================================ FILE: GeosRad/rrtmg_sw_spcvmc.F90 ================================================ ! path: $Source: /storm/rc1/cvsroot/rc/rrtmg_sw/src/rrtmg_sw_spcvmc.f90,v $ ! author: $Author: mike $ ! revision: $Revision: 1.4 $ ! created: $Date: 2009/02/09 19:45:56 $ module rrtmg_sw_spcvmc ! -------------------------------------------------------------------------- ! | | ! | Copyright 2002-2008, Atmospheric & Environmental Research, Inc. (AER). | ! | This software may be used, copied, or redistributed as long as it is | ! | not sold and this copyright notice is reproduced on each copy made. | ! | This model is provided as is without any express or implied warranties. | ! | (http://www.rtweb.aer.com/) | ! | | ! -------------------------------------------------------------------------- ! ------- Modules ------- use parkind, only : im => kind_im, rb => kind_rb use parrrsw, only : nbndsw, ngptsw, mxmol, jpband use rrsw_tbl, only : tblint, bpade, od_lo, exp_tbl use rrsw_vsn, only : hvrspc, hnamspc use rrsw_wvn, only : ngc, ngs use rrtmg_sw_reftra, only: reftra_sw use rrtmg_sw_taumol, only: taumol_sw use rrtmg_sw_vrtqdr, only: vrtqdr_sw implicit none contains ! --------------------------------------------------------------------------- subroutine spcvmc_sw & (nlayers, istart, iend, icpr, idelm, iout, & pavel, tavel, pz, tz, tbound, palbd, palbp, & pcldfmc, ptaucmc, pasycmc, pomgcmc, ptaormc, & ptaua, pasya, pomga, prmu0, coldry, wkl, adjflux, & laytrop, layswtch, laylow, jp, jt, jt1, & co2mult, colch4, colco2, colh2o, colmol, coln2o, colo2, colo3, & fac00, fac01, fac10, fac11, & selffac, selffrac, indself, forfac, forfrac, indfor, & pbbfd, pbbfu, pbbcd, pbbcu, puvfd, puvcd, pnifd, pnicd, & pbbfddir, pbbcddir, puvfddir, puvcddir, pnifddir, pnicddir) ! --------------------------------------------------------------------------- ! ! Purpose: Contains spectral loop to compute the shortwave radiative fluxes, ! using the two-stream method of H. Barker and McICA, the Monte-Carlo ! Independent Column Approximation, for the representation of ! sub-grid cloud variability (i.e. cloud overlap). ! ! Interface: *spcvmc_sw* is called from *rrtmg_sw.F90* or rrtmg_sw.1col.F90* ! ! Method: ! Adapted from two-stream model of H. Barker; ! Two-stream model options (selected with kmodts in rrtmg_sw_reftra.F90): ! 1: Eddington, 2: PIFM, Zdunkowski et al., 3: discret ordinates ! ! Modifications: ! ! Original: H. Barker ! Revision: Merge with RRTMG_SW: J.-J.Morcrette, ECMWF, Feb 2003 ! Revision: Add adjustment for Earth/Sun distance : MJIacono, AER, Oct 2003 ! Revision: Bug fix for use of PALBP and PALBD: MJIacono, AER, Nov 2003 ! Revision: Bug fix to apply delta scaling to clear sky: AER, Dec 2004 ! Revision: Code modified so that delta scaling is not done in cloudy profiles ! if routine cldprop is used; delta scaling can be applied by swithcing ! code below if cldprop is not used to get cloud properties. ! AER, Jan 2005 ! Revision: Modified to use McICA: MJIacono, AER, Nov 2005 ! Revision: Uniform formatting for RRTMG: MJIacono, AER, Jul 2006 ! Revision: Use exponential lookup table for transmittance: MJIacono, AER, ! Aug 2007 ! ! ------------------------------------------------------------------ ! ------- Declarations ------ ! ------- Input ------- integer(kind=im), intent(in) :: nlayers integer(kind=im), intent(in) :: istart integer(kind=im), intent(in) :: iend integer(kind=im), intent(in) :: icpr integer(kind=im), intent(in) :: idelm ! delta-m scaling flag ! [0 = direct and diffuse fluxes are unscaled] ! [1 = direct and diffuse fluxes are scaled] integer(kind=im), intent(in) :: iout integer(kind=im), intent(in) :: laytrop integer(kind=im), intent(in) :: layswtch integer(kind=im), intent(in) :: laylow integer(kind=im), intent(in) :: indfor(:) ! Dimensions: (nlayers) integer(kind=im), intent(in) :: indself(:) ! Dimensions: (nlayers) integer(kind=im), intent(in) :: jp(:) ! Dimensions: (nlayers) integer(kind=im), intent(in) :: jt(:) ! Dimensions: (nlayers) integer(kind=im), intent(in) :: jt1(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: pavel(:) ! layer pressure (hPa, mb) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: tavel(:) ! layer temperature (K) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: pz(0:) ! level (interface) pressure (hPa, mb) ! Dimensions: (0:nlayers) real(kind=rb), intent(in) :: tz(0:) ! level temperatures (hPa, mb) ! Dimensions: (0:nlayers) real(kind=rb), intent(in) :: tbound ! surface temperature (K) real(kind=rb), intent(in) :: wkl(:,:) ! molecular amounts (mol/cm2) ! Dimensions: (mxmol,nlayers) real(kind=rb), intent(in) :: coldry(:) ! dry air column density (mol/cm2) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: colmol(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: adjflux(:) ! Earth/Sun distance adjustment ! Dimensions: (jpband) real(kind=rb), intent(in) :: palbd(:) ! surface albedo (diffuse) ! Dimensions: (nbndsw) real(kind=rb), intent(in) :: palbp(:) ! surface albedo (direct) ! Dimensions: (nbndsw) real(kind=rb), intent(in) :: prmu0 ! cosine of solar zenith angle real(kind=rb), intent(in) :: pcldfmc(:,:) ! cloud fraction [mcica] ! Dimensions: (nlayers,ngptsw) real(kind=rb), intent(in) :: ptaucmc(:,:) ! cloud optical depth [mcica] ! Dimensions: (nlayers,ngptsw) real(kind=rb), intent(in) :: pasycmc(:,:) ! cloud asymmetry parameter [mcica] ! Dimensions: (nlayers,ngptsw) real(kind=rb), intent(in) :: pomgcmc(:,:) ! cloud single scattering albedo [mcica] ! Dimensions: (nlayers,ngptsw) real(kind=rb), intent(in) :: ptaormc(:,:) ! cloud optical depth, non-delta scaled [mcica] ! Dimensions: (nlayers,ngptsw) real(kind=rb), intent(in) :: ptaua(:,:) ! aerosol optical depth ! Dimensions: (nlayers,nbndsw) real(kind=rb), intent(in) :: pasya(:,:) ! aerosol asymmetry parameter ! Dimensions: (nlayers,nbndsw) real(kind=rb), intent(in) :: pomga(:,:) ! aerosol single scattering albedo ! Dimensions: (nlayers,nbndsw) real(kind=rb), intent(in) :: colh2o(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: colco2(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: colch4(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: co2mult(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: colo3(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: colo2(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: coln2o(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: forfac(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: forfrac(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: selffac(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: selffrac(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: fac00(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: fac01(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: fac10(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: fac11(:) ! Dimensions: (nlayers) ! ------- Output ------- ! All Dimensions: (nlayers+1) real(kind=rb), intent(out) :: pbbcd(:) real(kind=rb), intent(out) :: pbbcu(:) real(kind=rb), intent(out) :: pbbfd(:) real(kind=rb), intent(out) :: pbbfu(:) real(kind=rb), intent(out) :: pbbfddir(:) real(kind=rb), intent(out) :: pbbcddir(:) real(kind=rb), intent(out) :: puvcd(:) real(kind=rb), intent(out) :: puvfd(:) real(kind=rb), intent(out) :: puvcddir(:) real(kind=rb), intent(out) :: puvfddir(:) real(kind=rb), intent(out) :: pnicd(:) real(kind=rb), intent(out) :: pnifd(:) real(kind=rb), intent(out) :: pnicddir(:) real(kind=rb), intent(out) :: pnifddir(:) ! Output - inactive ! All Dimensions: (nlayers+1) ! real(kind=rb), intent(out) :: puvcu(:) ! real(kind=rb), intent(out) :: puvfu(:) ! real(kind=rb), intent(out) :: pnicu(:) ! real(kind=rb), intent(out) :: pnifu(:) ! real(kind=rb), intent(out) :: pvscd(:) ! real(kind=rb), intent(out) :: pvscu(:) ! real(kind=rb), intent(out) :: pvsfd(:) ! real(kind=rb), intent(out) :: pvsfu(:) ! ------- Local ------- logical :: lrtchkclr(nlayers),lrtchkcld(nlayers) integer(kind=im) :: klev integer(kind=im) :: ib1, ib2, ibm, igt, ikl, ikp, ikx integer(kind=im) :: iw, jb, jg, jl, jk ! integer(kind=im), parameter :: nuv = ?? ! integer(kind=im), parameter :: nvs = ?? integer(kind=im) :: itind real(kind=rb) :: tblind, ze1 real(kind=rb) :: zclear, zcloud real(kind=rb) :: zdbt(nlayers+1), zdbt_nodel(nlayers+1) real(kind=rb) :: zgc(nlayers), zgcc(nlayers), zgco(nlayers) real(kind=rb) :: zomc(nlayers), zomcc(nlayers), zomco(nlayers) real(kind=rb) :: zrdnd(nlayers+1), zrdndc(nlayers+1) real(kind=rb) :: zref(nlayers+1), zrefc(nlayers+1), zrefo(nlayers+1) real(kind=rb) :: zrefd(nlayers+1), zrefdc(nlayers+1), zrefdo(nlayers+1) real(kind=rb) :: zrup(nlayers+1), zrupd(nlayers+1) real(kind=rb) :: zrupc(nlayers+1), zrupdc(nlayers+1) real(kind=rb) :: zs1(nlayers+1) real(kind=rb) :: ztauc(nlayers), ztauo(nlayers) real(kind=rb) :: ztdn(nlayers+1), ztdnd(nlayers+1), ztdbt(nlayers+1) real(kind=rb) :: ztoc(nlayers), ztor(nlayers) real(kind=rb) :: ztra(nlayers+1), ztrac(nlayers+1), ztrao(nlayers+1) real(kind=rb) :: ztrad(nlayers+1), ztradc(nlayers+1), ztrado(nlayers+1) real(kind=rb) :: zdbtc(nlayers+1), ztdbtc(nlayers+1) real(kind=rb) :: zincflx(ngptsw), zdbtc_nodel(nlayers+1) real(kind=rb) :: ztdbt_nodel(nlayers+1), ztdbtc_nodel(nlayers+1) real(kind=rb) :: zdbtmc, zdbtmo, zf, zgw, zreflect real(kind=rb) :: zwf, tauorig, repclc ! real(kind=rb) :: zincflux ! inactive ! Arrays from rrtmg_sw_taumoln routines ! real(kind=rb) :: ztaug(nlayers,16), ztaur(nlayers,16) ! real(kind=rb) :: zsflxzen(16) real(kind=rb) :: ztaug(nlayers,ngptsw), ztaur(nlayers,ngptsw) real(kind=rb) :: zsflxzen(ngptsw) ! Arrays from rrtmg_sw_vrtqdr routine real(kind=rb) :: zcd(nlayers+1,ngptsw), zcu(nlayers+1,ngptsw) real(kind=rb) :: zfd(nlayers+1,ngptsw), zfu(nlayers+1,ngptsw) ! Inactive arrays ! real(kind=rb) :: zbbcd(nlayers+1), zbbcu(nlayers+1) ! real(kind=rb) :: zbbfd(nlayers+1), zbbfu(nlayers+1) ! real(kind=rb) :: zbbfddir(nlayers+1), zbbcddir(nlayers+1) ! ------------------------------------------------------------------ ! Initializations ib1 = istart ib2 = iend klev = nlayers iw = 0 repclc = 1.e-12_rb ! zincflux = 0.0_rb do jk=1,klev+1 pbbcd(jk)=0._rb pbbcu(jk)=0._rb pbbfd(jk)=0._rb pbbfu(jk)=0._rb pbbcddir(jk)=0._rb pbbfddir(jk)=0._rb puvcd(jk)=0._rb puvfd(jk)=0._rb puvcddir(jk)=0._rb puvfddir(jk)=0._rb pnicd(jk)=0._rb pnifd(jk)=0._rb pnicddir(jk)=0._rb pnifddir(jk)=0._rb enddo ! Calculate the optical depths for gaseous absorption and Rayleigh scattering call taumol_sw(klev, & colh2o, colco2, colch4, colo2, colo3, colmol, & laytrop, jp, jt, jt1, & fac00, fac01, fac10, fac11, & selffac, selffrac, indself, forfac, forfrac, indfor, & zsflxzen, ztaug, ztaur) ! Top of shortwave spectral band loop, jb = 16 -> 29; ibm = 1 -> 14 do jb = ib1, ib2 ibm = jb-15 igt = ngc(ibm) ! Reinitialize g-point counter for each band if output for each band is requested. if (iout.gt.0.and.ibm.ge.2) iw = ngs(ibm-1) ! do jk=1,klev+1 ! zbbcd(jk)=0.0_rb ! zbbcu(jk)=0.0_rb ! zbbfd(jk)=0.0_rb ! zbbfu(jk)=0.0_rb ! enddo ! Top of g-point interval loop within each band (iw is cumulative counter) do jg = 1,igt iw = iw+1 ! Apply adjustment for correct Earth/Sun distance and zenith angle to incoming solar flux zincflx(iw) = adjflux(jb) * zsflxzen(iw) * prmu0 ! zincflux = zincflux + adjflux(jb) * zsflxzen(iw) * prmu0 ! inactive ! Compute layer reflectances and transmittances for direct and diffuse sources, ! first clear then cloudy ! zrefc(jk) direct albedo for clear ! zrefo(jk) direct albedo for cloud ! zrefdc(jk) diffuse albedo for clear ! zrefdo(jk) diffuse albedo for cloud ! ztrac(jk) direct transmittance for clear ! ztrao(jk) direct transmittance for cloudy ! ztradc(jk) diffuse transmittance for clear ! ztrado(jk) diffuse transmittance for cloudy ! ! zref(jk) direct reflectance ! zrefd(jk) diffuse reflectance ! ztra(jk) direct transmittance ! ztrad(jk) diffuse transmittance ! ! zdbtc(jk) clear direct beam transmittance ! zdbto(jk) cloudy direct beam transmittance ! zdbt(jk) layer mean direct beam transmittance ! ztdbt(jk) total direct beam transmittance at levels ! Clear-sky ! TOA direct beam ztdbtc(1)=1.0_rb ztdbtc_nodel(1)=1.0_rb ! Surface values zdbtc(klev+1) =0.0_rb ztrac(klev+1) =0.0_rb ztradc(klev+1)=0.0_rb zrefc(klev+1) =palbp(ibm) zrefdc(klev+1)=palbd(ibm) zrupc(klev+1) =palbp(ibm) zrupdc(klev+1)=palbd(ibm) ! Cloudy-sky ! Surface values ztrao(klev+1) =0.0_rb ztrado(klev+1)=0.0_rb zrefo(klev+1) =palbp(ibm) zrefdo(klev+1)=palbd(ibm) ! Total sky ! TOA direct beam ztdbt(1)=1.0_rb ztdbt_nodel(1)=1.0_rb ! Surface values zdbt(klev+1) =0.0_rb ztra(klev+1) =0.0_rb ztrad(klev+1)=0.0_rb zref(klev+1) =palbp(ibm) zrefd(klev+1)=palbd(ibm) zrup(klev+1) =palbp(ibm) zrupd(klev+1)=palbd(ibm) ! Top of layer loop do jk=1,klev ! Note: two-stream calculations proceed from top to bottom; ! RRTMG_SW quantities are given bottom to top and are reversed here ikl=klev+1-jk ! Set logical flag to do REFTRA calculation ! Do REFTRA for all clear layers lrtchkclr(jk)=.true. ! Do REFTRA only for cloudy layers in profile, since already done for clear layers lrtchkcld(jk)=.false. lrtchkcld(jk)=(pcldfmc(ikl,iw) > repclc) ! Clear-sky optical parameters - this section inactive ! Original ! ztauc(jk) = ztaur(ikl,iw) + ztaug(ikl,iw) ! zomcc(jk) = ztaur(ikl,iw) / ztauc(jk) ! zgcc(jk) = 0.0001_rb ! Total sky optical parameters ! ztauo(jk) = ztaur(ikl,iw) + ztaug(ikl,iw) + ptaucmc(ikl,iw) ! zomco(jk) = ptaucmc(ikl,iw) * pomgcmc(ikl,iw) + ztaur(ikl,iw) ! zgco (jk) = (ptaucmc(ikl,iw) * pomgcmc(ikl,iw) * pasycmc(ikl,iw) + & ! ztaur(ikl,iw) * 0.0001_rb) / zomco(jk) ! zomco(jk) = zomco(jk) / ztauo(jk) ! Clear-sky optical parameters including aerosols ztauc(jk) = ztaur(ikl,iw) + ztaug(ikl,iw) + ptaua(ikl,ibm) zomcc(jk) = ztaur(ikl,iw) * 1.0_rb + ptaua(ikl,ibm) * pomga(ikl,ibm) zgcc(jk) = pasya(ikl,ibm) * pomga(ikl,ibm) * ptaua(ikl,ibm) / zomcc(jk) zomcc(jk) = zomcc(jk) / ztauc(jk) ! Pre-delta-scaling clear and cloudy direct beam transmittance (must use 'orig', unscaled cloud OD) ! \/\/\/ This block of code is only needed for unscaled direct beam calculation if (idelm .eq. 0) then ! zclear = 1.0_rb - pcldfmc(ikl,iw) zcloud = pcldfmc(ikl,iw) ! Clear ! zdbtmc = exp(-ztauc(jk) / prmu0) ! Use exponential lookup table for transmittance, or expansion of exponential for low tau ze1 = ztauc(jk) / prmu0 if (ze1 .le. od_lo) then zdbtmc = 1._rb - ze1 + 0.5_rb * ze1 * ze1 else tblind = ze1 / (bpade + ze1) itind = tblint * tblind + 0.5_rb zdbtmc = exp_tbl(itind) endif zdbtc_nodel(jk) = zdbtmc ztdbtc_nodel(jk+1) = zdbtc_nodel(jk) * ztdbtc_nodel(jk) ! Clear + Cloud tauorig = ztauc(jk) + ptaormc(ikl,iw) ! zdbtmo = exp(-tauorig / prmu0) ! Use exponential lookup table for transmittance, or expansion of exponential for low tau ze1 = tauorig / prmu0 if (ze1 .le. od_lo) then zdbtmo = 1._rb - ze1 + 0.5_rb * ze1 * ze1 else tblind = ze1 / (bpade + ze1) itind = tblint * tblind + 0.5_rb zdbtmo = exp_tbl(itind) endif zdbt_nodel(jk) = zclear*zdbtmc + zcloud*zdbtmo ztdbt_nodel(jk+1) = zdbt_nodel(jk) * ztdbt_nodel(jk) endif ! /\/\/\ Above code only needed for unscaled direct beam calculation ! Delta scaling - clear zf = zgcc(jk) * zgcc(jk) zwf = zomcc(jk) * zf ztauc(jk) = (1.0_rb - zwf) * ztauc(jk) zomcc(jk) = (zomcc(jk) - zwf) / (1.0_rb - zwf) zgcc (jk) = (zgcc(jk) - zf) / (1.0_rb - zf) ! Total sky optical parameters (cloud properties already delta-scaled) ! Use this code if cloud properties are derived in rrtmg_sw_cldprop if (icpr .ge. 1) then ztauo(jk) = ztauc(jk) + ptaucmc(ikl,iw) zomco(jk) = ztauc(jk) * zomcc(jk) + ptaucmc(ikl,iw) * pomgcmc(ikl,iw) zgco (jk) = (ptaucmc(ikl,iw) * pomgcmc(ikl,iw) * pasycmc(ikl,iw) + & ztauc(jk) * zomcc(jk) * zgcc(jk)) / zomco(jk) zomco(jk) = zomco(jk) / ztauo(jk) ! Total sky optical parameters (if cloud properties not delta scaled) ! Use this code if cloud properties are not derived in rrtmg_sw_cldprop elseif (icpr .eq. 0) then ztauo(jk) = ztaur(ikl,iw) + ztaug(ikl,iw) + ptaua(ikl,ibm) + ptaucmc(ikl,iw) zomco(jk) = ptaua(ikl,ibm) * pomga(ikl,ibm) + ptaucmc(ikl,iw) * pomgcmc(ikl,iw) + & ztaur(ikl,iw) * 1.0_rb zgco (jk) = (ptaucmc(ikl,iw) * pomgcmc(ikl,iw) * pasycmc(ikl,iw) + & ptaua(ikl,ibm)*pomga(ikl,ibm)*pasya(ikl,ibm)) / zomco(jk) zomco(jk) = zomco(jk) / ztauo(jk) ! Delta scaling - clouds ! Use only if subroutine rrtmg_sw_cldprop is not used to get cloud properties and to apply delta scaling zf = zgco(jk) * zgco(jk) zwf = zomco(jk) * zf ztauo(jk) = (1._rb - zwf) * ztauo(jk) zomco(jk) = (zomco(jk) - zwf) / (1.0_rb - zwf) zgco (jk) = (zgco(jk) - zf) / (1.0_rb - zf) endif ! End of layer loop enddo ! Clear sky reflectivities call reftra_sw (klev, & lrtchkclr, zgcc, prmu0, ztauc, zomcc, & zrefc, zrefdc, ztrac, ztradc) ! Total sky reflectivities call reftra_sw (klev, & lrtchkcld, zgco, prmu0, ztauo, zomco, & zrefo, zrefdo, ztrao, ztrado) do jk=1,klev ! Combine clear and cloudy contributions for total sky ikl = klev+1-jk zclear = 1.0_rb - pcldfmc(ikl,iw) zcloud = pcldfmc(ikl,iw) zref(jk) = zclear*zrefc(jk) + zcloud*zrefo(jk) zrefd(jk)= zclear*zrefdc(jk) + zcloud*zrefdo(jk) ztra(jk) = zclear*ztrac(jk) + zcloud*ztrao(jk) ztrad(jk)= zclear*ztradc(jk) + zcloud*ztrado(jk) ! Direct beam transmittance ! Clear ! zdbtmc = exp(-ztauc(jk) / prmu0) ! Use exponential lookup table for transmittance, or expansion of ! exponential for low tau ze1 = ztauc(jk) / prmu0 if (ze1 .le. od_lo) then zdbtmc = 1._rb - ze1 + 0.5_rb * ze1 * ze1 else tblind = ze1 / (bpade + ze1) itind = tblint * tblind + 0.5_rb zdbtmc = exp_tbl(itind) endif zdbtc(jk) = zdbtmc ztdbtc(jk+1) = zdbtc(jk)*ztdbtc(jk) ! Clear + Cloud ! zdbtmo = exp(-ztauo(jk) / prmu0) ! Use exponential lookup table for transmittance, or expansion of ! exponential for low tau ze1 = ztauo(jk) / prmu0 if (ze1 .le. od_lo) then zdbtmo = 1._rb - ze1 + 0.5_rb * ze1 * ze1 else tblind = ze1 / (bpade + ze1) itind = tblint * tblind + 0.5_rb zdbtmo = exp_tbl(itind) endif zdbt(jk) = zclear*zdbtmc + zcloud*zdbtmo ztdbt(jk+1) = zdbt(jk)*ztdbt(jk) enddo ! Vertical quadrature for clear-sky fluxes call vrtqdr_sw(klev, iw, & zrefc, zrefdc, ztrac, ztradc, & zdbtc, zrdndc, zrupc, zrupdc, ztdbtc, & zcd, zcu) ! Vertical quadrature for cloudy fluxes call vrtqdr_sw(klev, iw, & zref, zrefd, ztra, ztrad, & zdbt, zrdnd, zrup, zrupd, ztdbt, & zfd, zfu) ! Upwelling and downwelling fluxes at levels ! Two-stream calculations go from top to bottom; ! layer indexing is reversed to go bottom to top for output arrays do jk=1,klev+1 ikl=klev+2-jk ! Accumulate spectral fluxes over bands - inactive ! zbbfu(ikl) = zbbfu(ikl) + zincflx(iw)*zfu(jk,iw) ! zbbfd(ikl) = zbbfd(ikl) + zincflx(iw)*zfd(jk,iw) ! zbbcu(ikl) = zbbcu(ikl) + zincflx(iw)*zcu(jk,iw) ! zbbcd(ikl) = zbbcd(ikl) + zincflx(iw)*zcd(jk,iw) ! zbbfddir(ikl) = zbbfddir(ikl) + zincflx(iw)*ztdbt_nodel(jk) ! zbbcddir(ikl) = zbbcddir(ikl) + zincflx(iw)*ztdbtc_nodel(jk) ! Accumulate spectral fluxes over whole spectrum pbbfu(ikl) = pbbfu(ikl) + zincflx(iw)*zfu(jk,iw) pbbfd(ikl) = pbbfd(ikl) + zincflx(iw)*zfd(jk,iw) pbbcu(ikl) = pbbcu(ikl) + zincflx(iw)*zcu(jk,iw) pbbcd(ikl) = pbbcd(ikl) + zincflx(iw)*zcd(jk,iw) if (idelm .eq. 0) then pbbfddir(ikl) = pbbfddir(ikl) + zincflx(iw)*ztdbt_nodel(jk) pbbcddir(ikl) = pbbcddir(ikl) + zincflx(iw)*ztdbtc_nodel(jk) elseif (idelm .eq. 1) then pbbfddir(ikl) = pbbfddir(ikl) + zincflx(iw)*ztdbt(jk) pbbcddir(ikl) = pbbcddir(ikl) + zincflx(iw)*ztdbtc(jk) endif ! Accumulate direct fluxes for UV/visible bands if (ibm >= 10 .and. ibm <= 13) then puvcd(ikl) = puvcd(ikl) + zincflx(iw)*zcd(jk,iw) puvfd(ikl) = puvfd(ikl) + zincflx(iw)*zfd(jk,iw) if (idelm .eq. 0) then puvfddir(ikl) = puvfddir(ikl) + zincflx(iw)*ztdbt_nodel(jk) puvcddir(ikl) = puvcddir(ikl) + zincflx(iw)*ztdbtc_nodel(jk) elseif (idelm .eq. 1) then puvfddir(ikl) = puvfddir(ikl) + zincflx(iw)*ztdbt(jk) puvcddir(ikl) = puvcddir(ikl) + zincflx(iw)*ztdbtc(jk) endif ! Accumulate direct fluxes for near-IR bands else if (ibm == 14 .or. ibm <= 9) then pnicd(ikl) = pnicd(ikl) + zincflx(iw)*zcd(jk,iw) pnifd(ikl) = pnifd(ikl) + zincflx(iw)*zfd(jk,iw) if (idelm .eq. 0) then pnifddir(ikl) = pnifddir(ikl) + zincflx(iw)*ztdbt_nodel(jk) pnicddir(ikl) = pnicddir(ikl) + zincflx(iw)*ztdbtc_nodel(jk) elseif (idelm .eq. 1) then pnifddir(ikl) = pnifddir(ikl) + zincflx(iw)*ztdbt(jk) pnicddir(ikl) = pnicddir(ikl) + zincflx(iw)*ztdbtc(jk) endif endif enddo ! End loop on jg, g-point interval enddo ! End loop on jb, spectral band enddo end subroutine spcvmc_sw end module rrtmg_sw_spcvmc ================================================ FILE: GeosRad/rrtmg_sw_taumol.F90 ================================================ ! path: $Source: /storm/rc1/cvsroot/rc/rrtmg_sw/src/rrtmg_sw_taumol.f90,v $ ! author: $Author: mike $ ! revision: $Revision: 1.4 $ ! created: $Date: 2009/02/09 19:45:58 $ module rrtmg_sw_taumol ! -------------------------------------------------------------------------- ! | | ! | Copyright 2002-2008, Atmospheric & Environmental Research, Inc. (AER). | ! | This software may be used, copied, or redistributed as long as it is | ! | not sold and this copyright notice is reproduced on each copy made. | ! | This model is provided as is without any express or implied warranties. | ! | (http://www.rtweb.aer.com/) | ! | | ! -------------------------------------------------------------------------- ! ------- Modules ------- use parkind, only : im => kind_im, rb => kind_rb ! use parrrsw, only : mg, jpband, nbndsw, ngptsw use rrsw_con, only: oneminus use rrsw_wvn, only: nspa, nspb use rrsw_vsn, only: hvrtau, hnamtau implicit none contains !---------------------------------------------------------------------------- subroutine taumol_sw(nlayers, & colh2o, colco2, colch4, colo2, colo3, colmol, & laytrop, jp, jt, jt1, & fac00, fac01, fac10, fac11, & selffac, selffrac, indself, forfac, forfrac, indfor, & sfluxzen, taug, taur) !---------------------------------------------------------------------------- ! ****************************************************************************** ! * * ! * Optical depths developed for the * ! * * ! * RAPID RADIATIVE TRANSFER MODEL (RRTM) * ! * * ! * * ! * ATMOSPHERIC AND ENVIRONMENTAL RESEARCH, INC. * ! * 131 HARTWELL AVENUE * ! * LEXINGTON, MA 02421 * ! * * ! * * ! * ELI J. MLAWER * ! * JENNIFER DELAMERE * ! * STEVEN J. TAUBMAN * ! * SHEPARD A. CLOUGH * ! * * ! * * ! * * ! * * ! * email: mlawer@aer.com * ! * email: jdelamer@aer.com * ! * * ! * The authors wish to acknowledge the contributions of the * ! * following people: Patrick D. Brown, Michael J. Iacono, * ! * Ronald E. Farren, Luke Chen, Robert Bergstrom. * ! * * ! ****************************************************************************** ! * TAUMOL * ! * * ! * This file contains the subroutines TAUGBn (where n goes from * ! * 1 to 28). TAUGBn calculates the optical depths and Planck fractions * ! * per g-value and layer for band n. * ! * * ! * Output: optical depths (unitless) * ! * fractions needed to compute Planck functions at every layer * ! * and g-value * ! * * ! * COMMON /TAUGCOM/ TAUG(MXLAY,MG) * ! * COMMON /PLANKG/ FRACS(MXLAY,MG) * ! * * ! * Input * ! * * ! * PARAMETER (MG=16, MXLAY=203, NBANDS=14) * ! * * ! * COMMON /FEATURES/ NG(NBANDS),NSPA(NBANDS),NSPB(NBANDS) * ! * COMMON /PRECISE/ ONEMINUS * ! * COMMON /PROFILE/ NLAYERS,PAVEL(MXLAY),TAVEL(MXLAY), * ! * & PZ(0:MXLAY),TZ(0:MXLAY),TBOUND * ! * COMMON /PROFDATA/ LAYTROP,LAYSWTCH,LAYLOW, * ! * & COLH2O(MXLAY),COLCO2(MXLAY), * ! * & COLO3(MXLAY),COLN2O(MXLAY),COLCH4(MXLAY), * ! * & COLO2(MXLAY),CO2MULT(MXLAY) * ! * COMMON /INTFAC/ FAC00(MXLAY),FAC01(MXLAY), * ! * & FAC10(MXLAY),FAC11(MXLAY) * ! * COMMON /INTIND/ JP(MXLAY),JT(MXLAY),JT1(MXLAY) * ! * COMMON /SELF/ SELFFAC(MXLAY), SELFFRAC(MXLAY), INDSELF(MXLAY) * ! * * ! * Description: * ! * NG(IBAND) - number of g-values in band IBAND * ! * NSPA(IBAND) - for the lower atmosphere, the number of reference * ! * atmospheres that are stored for band IBAND per * ! * pressure level and temperature. Each of these * ! * atmospheres has different relative amounts of the * ! * key species for the band (i.e. different binary * ! * species parameters). * ! * NSPB(IBAND) - same for upper atmosphere * ! * ONEMINUS - since problems are caused in some cases by interpolation * ! * parameters equal to or greater than 1, for these cases * ! * these parameters are set to this value, slightly < 1. * ! * PAVEL - layer pressures (mb) * ! * TAVEL - layer temperatures (degrees K) * ! * PZ - level pressures (mb) * ! * TZ - level temperatures (degrees K) * ! * LAYTROP - layer at which switch is made from one combination of * ! * key species to another * ! * COLH2O, COLCO2, COLO3, COLN2O, COLCH4 - column amounts of water * ! * vapor,carbon dioxide, ozone, nitrous ozide, methane, * ! * respectively (molecules/cm**2) * ! * CO2MULT - for bands in which carbon dioxide is implemented as a * ! * trace species, this is the factor used to multiply the * ! * band's average CO2 absorption coefficient to get the added * ! * contribution to the optical depth relative to 355 ppm. * ! * FACij(LAY) - for layer LAY, these are factors that are needed to * ! * compute the interpolation factors that multiply the * ! * appropriate reference k-values. A value of 0 (1) for * ! * i,j indicates that the corresponding factor multiplies * ! * reference k-value for the lower (higher) of the two * ! * appropriate temperatures, and altitudes, respectively. * ! * JP - the index of the lower (in altitude) of the two appropriate * ! * reference pressure levels needed for interpolation * ! * JT, JT1 - the indices of the lower of the two appropriate reference * ! * temperatures needed for interpolation (for pressure * ! * levels JP and JP+1, respectively) * ! * SELFFAC - scale factor needed to water vapor self-continuum, equals * ! * (water vapor density)/(atmospheric density at 296K and * ! * 1013 mb) * ! * SELFFRAC - factor needed for temperature interpolation of reference * ! * water vapor self-continuum data * ! * INDSELF - index of the lower of the two appropriate reference * ! * temperatures needed for the self-continuum interpolation * ! * * ! * Data input * ! * COMMON /Kn/ KA(NSPA(n),5,13,MG), KB(NSPB(n),5,13:59,MG), SELFREF(10,MG) * ! * (note: n is the band number) * ! * * ! * Description: * ! * KA - k-values for low reference atmospheres (no water vapor * ! * self-continuum) (units: cm**2/molecule) * ! * KB - k-values for high reference atmospheres (all sources) * ! * (units: cm**2/molecule) * ! * SELFREF - k-values for water vapor self-continuum for reference * ! * atmospheres (used below LAYTROP) * ! * (units: cm**2/molecule) * ! * * ! * DIMENSION ABSA(65*NSPA(n),MG), ABSB(235*NSPB(n),MG) * ! * EQUIVALENCE (KA,ABSA),(KB,ABSB) * ! * * ! ***************************************************************************** ! ! Modifications ! ! Revised: Adapted to F90 coding, J.-J.Morcrette, ECMWF, Feb 2003 ! Revised: Modified for g-point reduction, MJIacono, AER, Dec 2003 ! Revised: Reformatted for consistency with rrtmg_lw, MJIacono, AER, Jul 2006 ! ! ------- Declarations ------- ! ----- Input ----- integer(kind=im), intent(in) :: nlayers ! total number of layers integer(kind=im), intent(in) :: laytrop ! tropopause layer index integer(kind=im), intent(in) :: jp(:) ! ! Dimensions: (nlayers) integer(kind=im), intent(in) :: jt(:) ! ! Dimensions: (nlayers) integer(kind=im), intent(in) :: jt1(:) ! ! Dimensions: (nlayers) real(kind=rb), intent(in) :: colh2o(:) ! column amount (h2o) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: colco2(:) ! column amount (co2) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: colo3(:) ! column amount (o3) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: colch4(:) ! column amount (ch4) ! Dimensions: (nlayers) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: colo2(:) ! column amount (o2) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: colmol(:) ! ! Dimensions: (nlayers) integer(kind=im), intent(in) :: indself(:) ! Dimensions: (nlayers) integer(kind=im), intent(in) :: indfor(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: selffac(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: selffrac(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: forfac(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: forfrac(:) ! Dimensions: (nlayers) real(kind=rb), intent(in) :: & ! fac00(:), fac01(:), & ! Dimensions: (nlayers) fac10(:), fac11(:) ! ----- Output ----- real(kind=rb), intent(out) :: sfluxzen(:) ! solar source function ! Dimensions: (ngptsw) real(kind=rb), intent(out) :: taug(:,:) ! gaseous optical depth ! Dimensions: (nlayers,ngptsw) real(kind=rb), intent(out) :: taur(:,:) ! Rayleigh ! Dimensions: (nlayers,ngptsw) ! real(kind=rb), intent(out) :: ssa(:,:) ! single scattering albedo (inactive) ! Dimensions: (nlayers,ngptsw) hvrtau = '$Revision: 1.4 $' ! Calculate gaseous optical depth and planck fractions for each spectral band. call taumol16 call taumol17 call taumol18 call taumol19 call taumol20 call taumol21 call taumol22 call taumol23 call taumol24 call taumol25 call taumol26 call taumol27 call taumol28 call taumol29 !------------- contains !------------- !---------------------------------------------------------------------------- subroutine taumol16 !---------------------------------------------------------------------------- ! ! band 16: 2600-3250 cm-1 (low - h2o,ch4; high - ch4) ! !---------------------------------------------------------------------------- ! ------- Modules ------- use parrrsw, only : ng16 use rrsw_kg16, only : absa, ka, absb, kb, forref, selfref, & sfluxref, rayl, layreffr, strrat1 ! ------- Declarations ------- ! Local integer(kind=im) :: ig, ind0, ind1, inds, indf, js, lay, laysolfr real(kind=rb) :: fac000, fac001, fac010, fac011, fac100, fac101, & fac110, fac111, fs, speccomb, specmult, specparm, & tauray ! Compute the optical depth by interpolating in ln(pressure), ! temperature, and appropriate species. Below LAYTROP, the water ! vapor self-continuum is interpolated (in temperature) separately. ! Lower atmosphere loop do lay = 1, laytrop speccomb = colh2o(lay) + strrat1*colch4(lay) specparm = colh2o(lay)/speccomb if (specparm .ge. oneminus) specparm = oneminus specmult = 8._rb*(specparm) js = 1 + int(specmult) fs = mod(specmult, 1._rb ) fac000 = (1._rb - fs) * fac00(lay) fac010 = (1._rb - fs) * fac10(lay) fac100 = fs * fac00(lay) fac110 = fs * fac10(lay) fac001 = (1._rb - fs) * fac01(lay) fac011 = (1._rb - fs) * fac11(lay) fac101 = fs * fac01(lay) fac111 = fs * fac11(lay) ind0 = ((jp(lay)-1)*5+(jt(lay)-1))*nspa(16) + js ind1 = (jp(lay)*5+(jt1(lay)-1))*nspa(16) + js inds = indself(lay) indf = indfor(lay) tauray = colmol(lay) * rayl do ig = 1, ng16 taug(lay,ig) = speccomb * & (fac000 * absa(ind0 ,ig) + & fac100 * absa(ind0 +1,ig) + & fac010 * absa(ind0 +9,ig) + & fac110 * absa(ind0+10,ig) + & fac001 * absa(ind1 ,ig) + & fac101 * absa(ind1 +1,ig) + & fac011 * absa(ind1 +9,ig) + & fac111 * absa(ind1+10,ig)) + & colh2o(lay) * & (selffac(lay) * (selfref(inds,ig) + & selffrac(lay) * & (selfref(inds+1,ig) - selfref(inds,ig))) + & forfac(lay) * (forref(indf,ig) + & forfrac(lay) * & (forref(indf+1,ig) - forref(indf,ig)))) ! ssa(lay,ig) = tauray/taug(lay,ig) taur(lay,ig) = tauray enddo enddo laysolfr = nlayers ! Upper atmosphere loop do lay = laytrop+1, nlayers if (jp(lay-1) .lt. layreffr .and. jp(lay) .ge. layreffr) & laysolfr = lay ind0 = ((jp(lay)-13)*5+(jt(lay)-1))*nspb(16) + 1 ind1 = ((jp(lay)-12)*5+(jt1(lay)-1))*nspb(16) + 1 tauray = colmol(lay) * rayl do ig = 1, ng16 taug(lay,ig) = colch4(lay) * & (fac00(lay) * absb(ind0 ,ig) + & fac10(lay) * absb(ind0+1,ig) + & fac01(lay) * absb(ind1 ,ig) + & fac11(lay) * absb(ind1+1,ig)) ! ssa(lay,ig) = tauray/taug(lay,ig) if (lay .eq. laysolfr) sfluxzen(ig) = sfluxref(ig) taur(lay,ig) = tauray enddo enddo end subroutine taumol16 !---------------------------------------------------------------------------- subroutine taumol17 !---------------------------------------------------------------------------- ! ! band 17: 3250-4000 cm-1 (low - h2o,co2; high - h2o,co2) ! !---------------------------------------------------------------------------- ! ------- Modules ------- use parrrsw, only : ng17, ngs16 use rrsw_kg17, only : absa, ka, absb, kb, forref, selfref, & sfluxref, rayl, layreffr, strrat ! ------- Declarations ------- ! Local integer(kind=im) :: ig, ind0, ind1, inds, indf, js, lay, laysolfr real(kind=rb) :: fac000, fac001, fac010, fac011, fac100, fac101, & fac110, fac111, fs, speccomb, specmult, specparm, & tauray ! Compute the optical depth by interpolating in ln(pressure), ! temperature, and appropriate species. Below LAYTROP, the water ! vapor self-continuum is interpolated (in temperature) separately. ! Lower atmosphere loop do lay = 1, laytrop speccomb = colh2o(lay) + strrat*colco2(lay) specparm = colh2o(lay)/speccomb if (specparm .ge. oneminus) specparm = oneminus specmult = 8._rb*(specparm) js = 1 + int(specmult) fs = mod(specmult, 1._rb ) fac000 = (1._rb - fs) * fac00(lay) fac010 = (1._rb - fs) * fac10(lay) fac100 = fs * fac00(lay) fac110 = fs * fac10(lay) fac001 = (1._rb - fs) * fac01(lay) fac011 = (1._rb - fs) * fac11(lay) fac101 = fs * fac01(lay) fac111 = fs * fac11(lay) ind0 = ((jp(lay)-1)*5+(jt(lay)-1))*nspa(17) + js ind1 = (jp(lay)*5+(jt1(lay)-1))*nspa(17) + js inds = indself(lay) indf = indfor(lay) tauray = colmol(lay) * rayl do ig = 1, ng17 taug(lay,ngs16+ig) = speccomb * & (fac000 * absa(ind0,ig) + & fac100 * absa(ind0+1,ig) + & fac010 * absa(ind0+9,ig) + & fac110 * absa(ind0+10,ig) + & fac001 * absa(ind1,ig) + & fac101 * absa(ind1+1,ig) + & fac011 * absa(ind1+9,ig) + & fac111 * absa(ind1+10,ig)) + & colh2o(lay) * & (selffac(lay) * (selfref(inds,ig) + & selffrac(lay) * & (selfref(inds+1,ig) - selfref(inds,ig))) + & forfac(lay) * (forref(indf,ig) + & forfrac(lay) * & (forref(indf+1,ig) - forref(indf,ig)))) ! ssa(lay,ngs16+ig) = tauray/taug(lay,ngs16+ig) taur(lay,ngs16+ig) = tauray enddo enddo laysolfr = nlayers ! Upper atmosphere loop do lay = laytrop+1, nlayers if (jp(lay-1) .lt. layreffr .and. jp(lay) .ge. layreffr) & laysolfr = lay speccomb = colh2o(lay) + strrat*colco2(lay) specparm = colh2o(lay)/speccomb if (specparm .ge. oneminus) specparm = oneminus specmult = 4._rb*(specparm) js = 1 + int(specmult) fs = mod(specmult, 1._rb ) fac000 = (1._rb - fs) * fac00(lay) fac010 = (1._rb - fs) * fac10(lay) fac100 = fs * fac00(lay) fac110 = fs * fac10(lay) fac001 = (1._rb - fs) * fac01(lay) fac011 = (1._rb - fs) * fac11(lay) fac101 = fs * fac01(lay) fac111 = fs * fac11(lay) ind0 = ((jp(lay)-13)*5+(jt(lay)-1))*nspb(17) + js ind1 = ((jp(lay)-12)*5+(jt1(lay)-1))*nspb(17) + js indf = indfor(lay) tauray = colmol(lay) * rayl do ig = 1, ng17 taug(lay,ngs16+ig) = speccomb * & (fac000 * absb(ind0,ig) + & fac100 * absb(ind0+1,ig) + & fac010 * absb(ind0+5,ig) + & fac110 * absb(ind0+6,ig) + & fac001 * absb(ind1,ig) + & fac101 * absb(ind1+1,ig) + & fac011 * absb(ind1+5,ig) + & fac111 * absb(ind1+6,ig)) + & colh2o(lay) * & forfac(lay) * (forref(indf,ig) + & forfrac(lay) * & (forref(indf+1,ig) - forref(indf,ig))) ! ssa(lay,ngs16+ig) = tauray/taug(lay,ngs16+ig) if (lay .eq. laysolfr) sfluxzen(ngs16+ig) = sfluxref(ig,js) & + fs * (sfluxref(ig,js+1) - sfluxref(ig,js)) taur(lay,ngs16+ig) = tauray enddo enddo end subroutine taumol17 !---------------------------------------------------------------------------- subroutine taumol18 !---------------------------------------------------------------------------- ! ! band 18: 4000-4650 cm-1 (low - h2o,ch4; high - ch4) ! !---------------------------------------------------------------------------- ! ------- Modules ------- use parrrsw, only : ng18, ngs17 use rrsw_kg18, only : absa, ka, absb, kb, forref, selfref, & sfluxref, rayl, layreffr, strrat ! ------- Declarations ------- ! Local integer(kind=im) :: ig, ind0, ind1, inds, indf, js, lay, laysolfr real(kind=rb) :: fac000, fac001, fac010, fac011, fac100, fac101, & fac110, fac111, fs, speccomb, specmult, specparm, & tauray ! Compute the optical depth by interpolating in ln(pressure), ! temperature, and appropriate species. Below LAYTROP, the water ! vapor self-continuum is interpolated (in temperature) separately. laysolfr = laytrop ! Lower atmosphere loop do lay = 1, laytrop if (jp(lay) .lt. layreffr .and. jp(lay+1) .ge. layreffr) & laysolfr = min(lay+1,laytrop) speccomb = colh2o(lay) + strrat*colch4(lay) specparm = colh2o(lay)/speccomb if (specparm .ge. oneminus) specparm = oneminus specmult = 8._rb*(specparm) js = 1 + int(specmult) fs = mod(specmult, 1._rb ) fac000 = (1._rb - fs) * fac00(lay) fac010 = (1._rb - fs) * fac10(lay) fac100 = fs * fac00(lay) fac110 = fs * fac10(lay) fac001 = (1._rb - fs) * fac01(lay) fac011 = (1._rb - fs) * fac11(lay) fac101 = fs * fac01(lay) fac111 = fs * fac11(lay) ind0 = ((jp(lay)-1)*5+(jt(lay)-1))*nspa(18) + js ind1 = (jp(lay)*5+(jt1(lay)-1))*nspa(18) + js inds = indself(lay) indf = indfor(lay) tauray = colmol(lay) * rayl do ig = 1, ng18 taug(lay,ngs17+ig) = speccomb * & (fac000 * absa(ind0,ig) + & fac100 * absa(ind0+1,ig) + & fac010 * absa(ind0+9,ig) + & fac110 * absa(ind0+10,ig) + & fac001 * absa(ind1,ig) + & fac101 * absa(ind1+1,ig) + & fac011 * absa(ind1+9,ig) + & fac111 * absa(ind1+10,ig)) + & colh2o(lay) * & (selffac(lay) * (selfref(inds,ig) + & selffrac(lay) * & (selfref(inds+1,ig) - selfref(inds,ig))) + & forfac(lay) * (forref(indf,ig) + & forfrac(lay) * & (forref(indf+1,ig) - forref(indf,ig)))) ! ssa(lay,ngs17+ig) = tauray/taug(lay,ngs17+ig) if (lay .eq. laysolfr) sfluxzen(ngs17+ig) = sfluxref(ig,js) & + fs * (sfluxref(ig,js+1) - sfluxref(ig,js)) taur(lay,ngs17+ig) = tauray enddo enddo ! Upper atmosphere loop do lay = laytrop+1, nlayers ind0 = ((jp(lay)-13)*5+(jt(lay)-1))*nspb(18) + 1 ind1 = ((jp(lay)-12)*5+(jt1(lay)-1))*nspb(18) + 1 tauray = colmol(lay) * rayl do ig = 1, ng18 taug(lay,ngs17+ig) = colch4(lay) * & (fac00(lay) * absb(ind0,ig) + & fac10(lay) * absb(ind0+1,ig) + & fac01(lay) * absb(ind1,ig) + & fac11(lay) * absb(ind1+1,ig)) ! ssa(lay,ngs17+ig) = tauray/taug(lay,ngs17+ig) taur(lay,ngs17+ig) = tauray enddo enddo end subroutine taumol18 !---------------------------------------------------------------------------- subroutine taumol19 !---------------------------------------------------------------------------- ! ! band 19: 4650-5150 cm-1 (low - h2o,co2; high - co2) ! !---------------------------------------------------------------------------- ! ------- Modules ------- use parrrsw, only : ng19, ngs18 use rrsw_kg19, only : absa, ka, absb, kb, forref, selfref, & sfluxref, rayl, layreffr, strrat ! ------- Declarations ------- ! Local integer(kind=im) :: ig, ind0, ind1, inds, indf, js, lay, laysolfr real(kind=rb) :: fac000, fac001, fac010, fac011, fac100, fac101, & fac110, fac111, fs, speccomb, specmult, specparm, & tauray ! Compute the optical depth by interpolating in ln(pressure), ! temperature, and appropriate species. Below LAYTROP, the water ! vapor self-continuum is interpolated (in temperature) separately. laysolfr = laytrop ! Lower atmosphere loop do lay = 1, laytrop if (jp(lay) .lt. layreffr .and. jp(lay+1) .ge. layreffr) & laysolfr = min(lay+1,laytrop) speccomb = colh2o(lay) + strrat*colco2(lay) specparm = colh2o(lay)/speccomb if (specparm .ge. oneminus) specparm = oneminus specmult = 8._rb*(specparm) js = 1 + int(specmult) fs = mod(specmult, 1._rb ) fac000 = (1._rb - fs) * fac00(lay) fac010 = (1._rb - fs) * fac10(lay) fac100 = fs * fac00(lay) fac110 = fs * fac10(lay) fac001 = (1._rb - fs) * fac01(lay) fac011 = (1._rb - fs) * fac11(lay) fac101 = fs * fac01(lay) fac111 = fs * fac11(lay) ind0 = ((jp(lay)-1)*5+(jt(lay)-1))*nspa(19) + js ind1 = (jp(lay)*5+(jt1(lay)-1))*nspa(19) + js inds = indself(lay) indf = indfor(lay) tauray = colmol(lay) * rayl do ig = 1 , ng19 taug(lay,ngs18+ig) = speccomb * & (fac000 * absa(ind0,ig) + & fac100 * absa(ind0+1,ig) + & fac010 * absa(ind0+9,ig) + & fac110 * absa(ind0+10,ig) + & fac001 * absa(ind1,ig) + & fac101 * absa(ind1+1,ig) + & fac011 * absa(ind1+9,ig) + & fac111 * absa(ind1+10,ig)) + & colh2o(lay) * & (selffac(lay) * (selfref(inds,ig) + & selffrac(lay) * & (selfref(inds+1,ig) - selfref(inds,ig))) + & forfac(lay) * (forref(indf,ig) + & forfrac(lay) * & (forref(indf+1,ig) - forref(indf,ig)))) ! ssa(lay,ngs18+ig) = tauray/taug(lay,ngs18+ig) if (lay .eq. laysolfr) sfluxzen(ngs18+ig) = sfluxref(ig,js) & + fs * (sfluxref(ig,js+1) - sfluxref(ig,js)) taur(lay,ngs18+ig) = tauray enddo enddo ! Upper atmosphere loop do lay = laytrop+1, nlayers ind0 = ((jp(lay)-13)*5+(jt(lay)-1))*nspb(19) + 1 ind1 = ((jp(lay)-12)*5+(jt1(lay)-1))*nspb(19) + 1 tauray = colmol(lay) * rayl do ig = 1 , ng19 taug(lay,ngs18+ig) = colco2(lay) * & (fac00(lay) * absb(ind0,ig) + & fac10(lay) * absb(ind0+1,ig) + & fac01(lay) * absb(ind1,ig) + & fac11(lay) * absb(ind1+1,ig)) ! ssa(lay,ngs18+ig) = tauray/taug(lay,ngs18+ig) taur(lay,ngs18+ig) = tauray enddo enddo end subroutine taumol19 !---------------------------------------------------------------------------- subroutine taumol20 !---------------------------------------------------------------------------- ! ! band 20: 5150-6150 cm-1 (low - h2o; high - h2o) ! !---------------------------------------------------------------------------- ! ------- Modules ------- use parrrsw, only : ng20, ngs19 use rrsw_kg20, only : absa, ka, absb, kb, forref, selfref, & sfluxref, absch4, rayl, layreffr implicit none ! ------- Declarations ------- ! Local integer(kind=im) :: ig, ind0, ind1, inds, indf, js, lay, laysolfr real(kind=rb) :: fac000, fac001, fac010, fac011, fac100, fac101, & fac110, fac111, fs, speccomb, specmult, specparm, & tauray ! Compute the optical depth by interpolating in ln(pressure), ! temperature, and appropriate species. Below LAYTROP, the water ! vapor self-continuum is interpolated (in temperature) separately. laysolfr = laytrop ! Lower atmosphere loop do lay = 1, laytrop if (jp(lay) .lt. layreffr .and. jp(lay+1) .ge. layreffr) & laysolfr = min(lay+1,laytrop) ind0 = ((jp(lay)-1)*5+(jt(lay)-1))*nspa(20) + 1 ind1 = (jp(lay)*5+(jt1(lay)-1))*nspa(20) + 1 inds = indself(lay) indf = indfor(lay) tauray = colmol(lay) * rayl do ig = 1, ng20 taug(lay,ngs19+ig) = colh2o(lay) * & ((fac00(lay) * absa(ind0,ig) + & fac10(lay) * absa(ind0+1,ig) + & fac01(lay) * absa(ind1,ig) + & fac11(lay) * absa(ind1+1,ig)) + & selffac(lay) * (selfref(inds,ig) + & selffrac(lay) * & (selfref(inds+1,ig) - selfref(inds,ig))) + & forfac(lay) * (forref(indf,ig) + & forfrac(lay) * & (forref(indf+1,ig) - forref(indf,ig)))) & + colch4(lay) * absch4(ig) ! ssa(lay,ngs19+ig) = tauray/taug(lay,ngs19+ig) taur(lay,ngs19+ig) = tauray if (lay .eq. laysolfr) sfluxzen(ngs19+ig) = sfluxref(ig) enddo enddo ! Upper atmosphere loop do lay = laytrop+1, nlayers ind0 = ((jp(lay)-13)*5+(jt(lay)-1))*nspb(20) + 1 ind1 = ((jp(lay)-12)*5+(jt1(lay)-1))*nspb(20) + 1 indf = indfor(lay) tauray = colmol(lay) * rayl do ig = 1, ng20 taug(lay,ngs19+ig) = colh2o(lay) * & (fac00(lay) * absb(ind0,ig) + & fac10(lay) * absb(ind0+1,ig) + & fac01(lay) * absb(ind1,ig) + & fac11(lay) * absb(ind1+1,ig) + & forfac(lay) * (forref(indf,ig) + & forfrac(lay) * & (forref(indf+1,ig) - forref(indf,ig)))) + & colch4(lay) * absch4(ig) ! ssa(lay,ngs19+ig) = tauray/taug(lay,ngs19+ig) taur(lay,ngs19+ig) = tauray enddo enddo end subroutine taumol20 !---------------------------------------------------------------------------- subroutine taumol21 !---------------------------------------------------------------------------- ! ! band 21: 6150-7700 cm-1 (low - h2o,co2; high - h2o,co2) ! !---------------------------------------------------------------------------- ! ------- Modules ------- use parrrsw, only : ng21, ngs20 use rrsw_kg21, only : absa, ka, absb, kb, forref, selfref, & sfluxref, rayl, layreffr, strrat ! ------- Declarations ------- ! Local integer(kind=im) :: ig, ind0, ind1, inds, indf, js, lay, laysolfr real(kind=rb) :: fac000, fac001, fac010, fac011, fac100, fac101, & fac110, fac111, fs, speccomb, specmult, specparm, & tauray ! Compute the optical depth by interpolating in ln(pressure), ! temperature, and appropriate species. Below LAYTROP, the water ! vapor self-continuum is interpolated (in temperature) separately. laysolfr = laytrop ! Lower atmosphere loop do lay = 1, laytrop if (jp(lay) .lt. layreffr .and. jp(lay+1) .ge. layreffr) & laysolfr = min(lay+1,laytrop) speccomb = colh2o(lay) + strrat*colco2(lay) specparm = colh2o(lay)/speccomb if (specparm .ge. oneminus) specparm = oneminus specmult = 8._rb*(specparm) js = 1 + int(specmult) fs = mod(specmult, 1._rb ) fac000 = (1._rb - fs) * fac00(lay) fac010 = (1._rb - fs) * fac10(lay) fac100 = fs * fac00(lay) fac110 = fs * fac10(lay) fac001 = (1._rb - fs) * fac01(lay) fac011 = (1._rb - fs) * fac11(lay) fac101 = fs * fac01(lay) fac111 = fs * fac11(lay) ind0 = ((jp(lay)-1)*5+(jt(lay)-1))*nspa(21) + js ind1 = (jp(lay)*5+(jt1(lay)-1))*nspa(21) + js inds = indself(lay) indf = indfor(lay) tauray = colmol(lay) * rayl do ig = 1, ng21 taug(lay,ngs20+ig) = speccomb * & (fac000 * absa(ind0,ig) + & fac100 * absa(ind0+1,ig) + & fac010 * absa(ind0+9,ig) + & fac110 * absa(ind0+10,ig) + & fac001 * absa(ind1,ig) + & fac101 * absa(ind1+1,ig) + & fac011 * absa(ind1+9,ig) + & fac111 * absa(ind1+10,ig)) + & colh2o(lay) * & (selffac(lay) * (selfref(inds,ig) + & selffrac(lay) * & (selfref(inds+1,ig) - selfref(inds,ig))) + & forfac(lay) * (forref(indf,ig) + & forfrac(lay) * & (forref(indf+1,ig) - forref(indf,ig)))) ! ssa(lay,ngs20+ig) = tauray/taug(lay,ngs20+ig) if (lay .eq. laysolfr) sfluxzen(ngs20+ig) = sfluxref(ig,js) & + fs * (sfluxref(ig,js+1) - sfluxref(ig,js)) taur(lay,ngs20+ig) = tauray enddo enddo ! Upper atmosphere loop do lay = laytrop+1, nlayers speccomb = colh2o(lay) + strrat*colco2(lay) specparm = colh2o(lay)/speccomb if (specparm .ge. oneminus) specparm = oneminus specmult = 4._rb*(specparm) js = 1 + int(specmult) fs = mod(specmult, 1._rb ) fac000 = (1._rb - fs) * fac00(lay) fac010 = (1._rb - fs) * fac10(lay) fac100 = fs * fac00(lay) fac110 = fs * fac10(lay) fac001 = (1._rb - fs) * fac01(lay) fac011 = (1._rb - fs) * fac11(lay) fac101 = fs * fac01(lay) fac111 = fs * fac11(lay) ind0 = ((jp(lay)-13)*5+(jt(lay)-1))*nspb(21) + js ind1 = ((jp(lay)-12)*5+(jt1(lay)-1))*nspb(21) + js indf = indfor(lay) tauray = colmol(lay) * rayl do ig = 1, ng21 taug(lay,ngs20+ig) = speccomb * & (fac000 * absb(ind0,ig) + & fac100 * absb(ind0+1,ig) + & fac010 * absb(ind0+5,ig) + & fac110 * absb(ind0+6,ig) + & fac001 * absb(ind1,ig) + & fac101 * absb(ind1+1,ig) + & fac011 * absb(ind1+5,ig) + & fac111 * absb(ind1+6,ig)) + & colh2o(lay) * & forfac(lay) * (forref(indf,ig) + & forfrac(lay) * & (forref(indf+1,ig) - forref(indf,ig))) ! ssa(lay,ngs20+ig) = tauray/taug(lay,ngs20+ig) taur(lay,ngs20+ig) = tauray enddo enddo end subroutine taumol21 !---------------------------------------------------------------------------- subroutine taumol22 !---------------------------------------------------------------------------- ! ! band 22: 7700-8050 cm-1 (low - h2o,o2; high - o2) ! !---------------------------------------------------------------------------- ! ------- Modules ------- use parrrsw, only : ng22, ngs21 use rrsw_kg22, only : absa, ka, absb, kb, forref, selfref, & sfluxref, rayl, layreffr, strrat ! ------- Declarations ------- ! Local integer(kind=im) :: ig, ind0, ind1, inds, indf, js, lay, laysolfr real(kind=rb) :: fac000, fac001, fac010, fac011, fac100, fac101, & fac110, fac111, fs, speccomb, specmult, specparm, & tauray, o2adj, o2cont ! The following factor is the ratio of total O2 band intensity (lines ! and Mate continuum) to O2 band intensity (line only). It is needed ! to adjust the optical depths since the k's include only lines. o2adj = 1.6_rb ! Compute the optical depth by interpolating in ln(pressure), ! temperature, and appropriate species. Below LAYTROP, the water ! vapor self-continuum is interpolated (in temperature) separately. laysolfr = laytrop ! Lower atmosphere loop do lay = 1, laytrop if (jp(lay) .lt. layreffr .and. jp(lay+1) .ge. layreffr) & laysolfr = min(lay+1,laytrop) o2cont = 4.35e-4_rb*colo2(lay)/(350.0_rb*2.0_rb) speccomb = colh2o(lay) + o2adj*strrat*colo2(lay) specparm = colh2o(lay)/speccomb if (specparm .ge. oneminus) specparm = oneminus specmult = 8._rb*(specparm) ! odadj = specparm + o2adj * (1._rb - specparm) js = 1 + int(specmult) fs = mod(specmult, 1._rb ) fac000 = (1._rb - fs) * fac00(lay) fac010 = (1._rb - fs) * fac10(lay) fac100 = fs * fac00(lay) fac110 = fs * fac10(lay) fac001 = (1._rb - fs) * fac01(lay) fac011 = (1._rb - fs) * fac11(lay) fac101 = fs * fac01(lay) fac111 = fs * fac11(lay) ind0 = ((jp(lay)-1)*5+(jt(lay)-1))*nspa(22) + js ind1 = (jp(lay)*5+(jt1(lay)-1))*nspa(22) + js inds = indself(lay) indf = indfor(lay) tauray = colmol(lay) * rayl do ig = 1, ng22 taug(lay,ngs21+ig) = speccomb * & (fac000 * absa(ind0,ig) + & fac100 * absa(ind0+1,ig) + & fac010 * absa(ind0+9,ig) + & fac110 * absa(ind0+10,ig) + & fac001 * absa(ind1,ig) + & fac101 * absa(ind1+1,ig) + & fac011 * absa(ind1+9,ig) + & fac111 * absa(ind1+10,ig)) + & colh2o(lay) * & (selffac(lay) * (selfref(inds,ig) + & selffrac(lay) * & (selfref(inds+1,ig) - selfref(inds,ig))) + & forfac(lay) * (forref(indf,ig) + & forfrac(lay) * & (forref(indf+1,ig) - forref(indf,ig)))) & + o2cont ! ssa(lay,ngs21+ig) = tauray/taug(lay,ngs21+ig) if (lay .eq. laysolfr) sfluxzen(ngs21+ig) = sfluxref(ig,js) & + fs * (sfluxref(ig,js+1) - sfluxref(ig,js)) taur(lay,ngs21+ig) = tauray enddo enddo ! Upper atmosphere loop do lay = laytrop+1, nlayers o2cont = 4.35e-4_rb*colo2(lay)/(350.0_rb*2.0_rb) ind0 = ((jp(lay)-13)*5+(jt(lay)-1))*nspb(22) + 1 ind1 = ((jp(lay)-12)*5+(jt1(lay)-1))*nspb(22) + 1 tauray = colmol(lay) * rayl do ig = 1, ng22 taug(lay,ngs21+ig) = colo2(lay) * o2adj * & (fac00(lay) * absb(ind0,ig) + & fac10(lay) * absb(ind0+1,ig) + & fac01(lay) * absb(ind1,ig) + & fac11(lay) * absb(ind1+1,ig)) + & o2cont ! ssa(lay,ngs21+ig) = tauray/taug(lay,ngs21+ig) taur(lay,ngs21+ig) = tauray enddo enddo end subroutine taumol22 !---------------------------------------------------------------------------- subroutine taumol23 !---------------------------------------------------------------------------- ! ! band 23: 8050-12850 cm-1 (low - h2o; high - nothing) ! !---------------------------------------------------------------------------- ! ------- Modules ------- use parrrsw, only : ng23, ngs22 use rrsw_kg23, only : absa, ka, forref, selfref, & sfluxref, rayl, layreffr, givfac ! ------- Declarations ------- ! Local integer(kind=im) :: ig, ind0, ind1, inds, indf, js, lay, laysolfr real(kind=rb) :: fac000, fac001, fac010, fac011, fac100, fac101, & fac110, fac111, fs, speccomb, specmult, specparm, & tauray ! Compute the optical depth by interpolating in ln(pressure), ! temperature, and appropriate species. Below LAYTROP, the water ! vapor self-continuum is interpolated (in temperature) separately. laysolfr = laytrop ! Lower atmosphere loop do lay = 1, laytrop if (jp(lay) .lt. layreffr .and. jp(lay+1) .ge. layreffr) & laysolfr = min(lay+1,laytrop) ind0 = ((jp(lay)-1)*5+(jt(lay)-1))*nspa(23) + 1 ind1 = (jp(lay)*5+(jt1(lay)-1))*nspa(23) + 1 inds = indself(lay) indf = indfor(lay) do ig = 1, ng23 tauray = colmol(lay) * rayl(ig) taug(lay,ngs22+ig) = colh2o(lay) * & (givfac * (fac00(lay) * absa(ind0,ig) + & fac10(lay) * absa(ind0+1,ig) + & fac01(lay) * absa(ind1,ig) + & fac11(lay) * absa(ind1+1,ig)) + & selffac(lay) * (selfref(inds,ig) + & selffrac(lay) * & (selfref(inds+1,ig) - selfref(inds,ig))) + & forfac(lay) * (forref(indf,ig) + & forfrac(lay) * & (forref(indf+1,ig) - forref(indf,ig)))) ! ssa(lay,ngs22+ig) = tauray/taug(lay,ngs22+ig) if (lay .eq. laysolfr) sfluxzen(ngs22+ig) = sfluxref(ig) taur(lay,ngs22+ig) = tauray enddo enddo ! Upper atmosphere loop do lay = laytrop+1, nlayers do ig = 1, ng23 ! taug(lay,ngs22+ig) = colmol(lay) * rayl(ig) ! ssa(lay,ngs22+ig) = 1.0_rb taug(lay,ngs22+ig) = 0._rb taur(lay,ngs22+ig) = colmol(lay) * rayl(ig) enddo enddo end subroutine taumol23 !---------------------------------------------------------------------------- subroutine taumol24 !---------------------------------------------------------------------------- ! ! band 24: 12850-16000 cm-1 (low - h2o,o2; high - o2) ! !---------------------------------------------------------------------------- ! ------- Modules ------- use parrrsw, only : ng24, ngs23 use rrsw_kg24, only : absa, ka, absb, kb, forref, selfref, & sfluxref, abso3a, abso3b, rayla, raylb, & layreffr, strrat ! ------- Declarations ------- ! Local integer(kind=im) :: ig, ind0, ind1, inds, indf, js, lay, laysolfr real(kind=rb) :: fac000, fac001, fac010, fac011, fac100, fac101, & fac110, fac111, fs, speccomb, specmult, specparm, & tauray ! Compute the optical depth by interpolating in ln(pressure), ! temperature, and appropriate species. Below LAYTROP, the water ! vapor self-continuum is interpolated (in temperature) separately. laysolfr = laytrop ! Lower atmosphere loop do lay = 1, laytrop if (jp(lay) .lt. layreffr .and. jp(lay+1) .ge. layreffr) & laysolfr = min(lay+1,laytrop) speccomb = colh2o(lay) + strrat*colo2(lay) specparm = colh2o(lay)/speccomb if (specparm .ge. oneminus) specparm = oneminus specmult = 8._rb*(specparm) js = 1 + int(specmult) fs = mod(specmult, 1._rb ) fac000 = (1._rb - fs) * fac00(lay) fac010 = (1._rb - fs) * fac10(lay) fac100 = fs * fac00(lay) fac110 = fs * fac10(lay) fac001 = (1._rb - fs) * fac01(lay) fac011 = (1._rb - fs) * fac11(lay) fac101 = fs * fac01(lay) fac111 = fs * fac11(lay) ind0 = ((jp(lay)-1)*5+(jt(lay)-1))*nspa(24) + js ind1 = (jp(lay)*5+(jt1(lay)-1))*nspa(24) + js inds = indself(lay) indf = indfor(lay) do ig = 1, ng24 tauray = colmol(lay) * (rayla(ig,js) + & fs * (rayla(ig,js+1) - rayla(ig,js))) taug(lay,ngs23+ig) = speccomb * & (fac000 * absa(ind0,ig) + & fac100 * absa(ind0+1,ig) + & fac010 * absa(ind0+9,ig) + & fac110 * absa(ind0+10,ig) + & fac001 * absa(ind1,ig) + & fac101 * absa(ind1+1,ig) + & fac011 * absa(ind1+9,ig) + & fac111 * absa(ind1+10,ig)) + & colo3(lay) * abso3a(ig) + & colh2o(lay) * & (selffac(lay) * (selfref(inds,ig) + & selffrac(lay) * & (selfref(inds+1,ig) - selfref(inds,ig))) + & forfac(lay) * (forref(indf,ig) + & forfrac(lay) * & (forref(indf+1,ig) - forref(indf,ig)))) ! ssa(lay,ngs23+ig) = tauray/taug(lay,ngs23+ig) if (lay .eq. laysolfr) sfluxzen(ngs23+ig) = sfluxref(ig,js) & + fs * (sfluxref(ig,js+1) - sfluxref(ig,js)) taur(lay,ngs23+ig) = tauray enddo enddo ! Upper atmosphere loop do lay = laytrop+1, nlayers ind0 = ((jp(lay)-13)*5+(jt(lay)-1))*nspb(24) + 1 ind1 = ((jp(lay)-12)*5+(jt1(lay)-1))*nspb(24) + 1 do ig = 1, ng24 tauray = colmol(lay) * raylb(ig) taug(lay,ngs23+ig) = colo2(lay) * & (fac00(lay) * absb(ind0,ig) + & fac10(lay) * absb(ind0+1,ig) + & fac01(lay) * absb(ind1,ig) + & fac11(lay) * absb(ind1+1,ig)) + & colo3(lay) * abso3b(ig) ! ssa(lay,ngs23+ig) = tauray/taug(lay,ngs23+ig) taur(lay,ngs23+ig) = tauray enddo enddo end subroutine taumol24 !---------------------------------------------------------------------------- subroutine taumol25 !---------------------------------------------------------------------------- ! ! band 25: 16000-22650 cm-1 (low - h2o; high - nothing) ! !---------------------------------------------------------------------------- ! ------- Modules ------- use parrrsw, only : ng25, ngs24 use rrsw_kg25, only : absa, ka, & sfluxref, abso3a, abso3b, rayl, layreffr ! ------- Declarations ------- ! Local integer(kind=im) :: ig, ind0, ind1, inds, indf, js, lay, laysolfr real(kind=rb) :: fac000, fac001, fac010, fac011, fac100, fac101, & fac110, fac111, fs, speccomb, specmult, specparm, & tauray ! Compute the optical depth by interpolating in ln(pressure), ! temperature, and appropriate species. Below LAYTROP, the water ! vapor self-continuum is interpolated (in temperature) separately. laysolfr = laytrop ! Lower atmosphere loop do lay = 1, laytrop if (jp(lay) .lt. layreffr .and. jp(lay+1) .ge. layreffr) & laysolfr = min(lay+1,laytrop) ind0 = ((jp(lay)-1)*5+(jt(lay)-1))*nspa(25) + 1 ind1 = (jp(lay)*5+(jt1(lay)-1))*nspa(25) + 1 do ig = 1, ng25 tauray = colmol(lay) * rayl(ig) taug(lay,ngs24+ig) = colh2o(lay) * & (fac00(lay) * absa(ind0,ig) + & fac10(lay) * absa(ind0+1,ig) + & fac01(lay) * absa(ind1,ig) + & fac11(lay) * absa(ind1+1,ig)) + & colo3(lay) * abso3a(ig) ! ssa(lay,ngs24+ig) = tauray/taug(lay,ngs24+ig) if (lay .eq. laysolfr) sfluxzen(ngs24+ig) = sfluxref(ig) taur(lay,ngs24+ig) = tauray enddo enddo ! Upper atmosphere loop do lay = laytrop+1, nlayers do ig = 1, ng25 tauray = colmol(lay) * rayl(ig) taug(lay,ngs24+ig) = colo3(lay) * abso3b(ig) ! ssa(lay,ngs24+ig) = tauray/taug(lay,ngs24+ig) taur(lay,ngs24+ig) = tauray enddo enddo end subroutine taumol25 !---------------------------------------------------------------------------- subroutine taumol26 !---------------------------------------------------------------------------- ! ! band 26: 22650-29000 cm-1 (low - nothing; high - nothing) ! !---------------------------------------------------------------------------- ! ------- Modules ------- use parrrsw, only : ng26, ngs25 use rrsw_kg26, only : sfluxref, rayl ! ------- Declarations ------- ! Local integer(kind=im) :: ig, ind0, ind1, inds, indf, js, lay, laysolfr real(kind=rb) :: fac000, fac001, fac010, fac011, fac100, fac101, & fac110, fac111, fs, speccomb, specmult, specparm, & tauray ! Compute the optical depth by interpolating in ln(pressure), ! temperature, and appropriate species. Below LAYTROP, the water ! vapor self-continuum is interpolated (in temperature) separately. laysolfr = laytrop ! Lower atmosphere loop do lay = 1, laytrop do ig = 1, ng26 ! taug(lay,ngs25+ig) = colmol(lay) * rayl(ig) ! ssa(lay,ngs25+ig) = 1.0_rb if (lay .eq. laysolfr) sfluxzen(ngs25+ig) = sfluxref(ig) taug(lay,ngs25+ig) = 0._rb taur(lay,ngs25+ig) = colmol(lay) * rayl(ig) enddo enddo ! Upper atmosphere loop do lay = laytrop+1, nlayers do ig = 1, ng26 ! taug(lay,ngs25+ig) = colmol(lay) * rayl(ig) ! ssa(lay,ngs25+ig) = 1.0_rb taug(lay,ngs25+ig) = 0._rb taur(lay,ngs25+ig) = colmol(lay) * rayl(ig) enddo enddo end subroutine taumol26 !---------------------------------------------------------------------------- subroutine taumol27 !---------------------------------------------------------------------------- ! ! band 27: 29000-38000 cm-1 (low - o3; high - o3) ! !---------------------------------------------------------------------------- ! ------- Modules ------- use parrrsw, only : ng27, ngs26 use rrsw_kg27, only : absa, ka, absb, kb, & sfluxref, rayl, layreffr, scalekur ! ------- Declarations ------- ! Local integer(kind=im) :: ig, ind0, ind1, inds, indf, js, lay, laysolfr real(kind=rb) :: fac000, fac001, fac010, fac011, fac100, fac101, & fac110, fac111, fs, speccomb, specmult, specparm, & tauray ! Compute the optical depth by interpolating in ln(pressure), ! temperature, and appropriate species. Below LAYTROP, the water ! vapor self-continuum is interpolated (in temperature) separately. ! Lower atmosphere loop do lay = 1, laytrop ind0 = ((jp(lay)-1)*5+(jt(lay)-1))*nspa(27) + 1 ind1 = (jp(lay)*5+(jt1(lay)-1))*nspa(27) + 1 do ig = 1, ng27 tauray = colmol(lay) * rayl(ig) taug(lay,ngs26+ig) = colo3(lay) * & (fac00(lay) * absa(ind0,ig) + & fac10(lay) * absa(ind0+1,ig) + & fac01(lay) * absa(ind1,ig) + & fac11(lay) * absa(ind1+1,ig)) ! ssa(lay,ngs26+ig) = tauray/taug(lay,ngs26+ig) taur(lay,ngs26+ig) = tauray enddo enddo laysolfr = nlayers ! Upper atmosphere loop do lay = laytrop+1, nlayers if (jp(lay-1) .lt. layreffr .and. jp(lay) .ge. layreffr) & laysolfr = lay ind0 = ((jp(lay)-13)*5+(jt(lay)-1))*nspb(27) + 1 ind1 = ((jp(lay)-12)*5+(jt1(lay)-1))*nspb(27) + 1 do ig = 1, ng27 tauray = colmol(lay) * rayl(ig) taug(lay,ngs26+ig) = colo3(lay) * & (fac00(lay) * absb(ind0,ig) + & fac10(lay) * absb(ind0+1,ig) + & fac01(lay) * absb(ind1,ig) + & fac11(lay) * absb(ind1+1,ig)) ! ssa(lay,ngs26+ig) = tauray/taug(lay,ngs26+ig) if (lay.eq.laysolfr) sfluxzen(ngs26+ig) = scalekur * sfluxref(ig) taur(lay,ngs26+ig) = tauray enddo enddo end subroutine taumol27 !---------------------------------------------------------------------------- subroutine taumol28 !---------------------------------------------------------------------------- ! ! band 28: 38000-50000 cm-1 (low - o3,o2; high - o3,o2) ! !---------------------------------------------------------------------------- ! ------- Modules ------- use parrrsw, only : ng28, ngs27 use rrsw_kg28, only : absa, ka, absb, kb, & sfluxref, rayl, layreffr, strrat ! ------- Declarations ------- ! Local integer(kind=im) :: ig, ind0, ind1, inds, indf, js, lay, laysolfr real(kind=rb) :: fac000, fac001, fac010, fac011, fac100, fac101, & fac110, fac111, fs, speccomb, specmult, specparm, & tauray ! Compute the optical depth by interpolating in ln(pressure), ! temperature, and appropriate species. Below LAYTROP, the water ! vapor self-continuum is interpolated (in temperature) separately. ! Lower atmosphere loop do lay = 1, laytrop speccomb = colo3(lay) + strrat*colo2(lay) specparm = colo3(lay)/speccomb if (specparm .ge. oneminus) specparm = oneminus specmult = 8._rb*(specparm) js = 1 + int(specmult) fs = mod(specmult, 1._rb ) fac000 = (1._rb - fs) * fac00(lay) fac010 = (1._rb - fs) * fac10(lay) fac100 = fs * fac00(lay) fac110 = fs * fac10(lay) fac001 = (1._rb - fs) * fac01(lay) fac011 = (1._rb - fs) * fac11(lay) fac101 = fs * fac01(lay) fac111 = fs * fac11(lay) ind0 = ((jp(lay)-1)*5+(jt(lay)-1))*nspa(28) + js ind1 = (jp(lay)*5+(jt1(lay)-1))*nspa(28) + js tauray = colmol(lay) * rayl do ig = 1, ng28 taug(lay,ngs27+ig) = speccomb * & (fac000 * absa(ind0,ig) + & fac100 * absa(ind0+1,ig) + & fac010 * absa(ind0+9,ig) + & fac110 * absa(ind0+10,ig) + & fac001 * absa(ind1,ig) + & fac101 * absa(ind1+1,ig) + & fac011 * absa(ind1+9,ig) + & fac111 * absa(ind1+10,ig)) ! ssa(lay,ngs27+ig) = tauray/taug(lay,ngs27+ig) taur(lay,ngs27+ig) = tauray enddo enddo laysolfr = nlayers ! Upper atmosphere loop do lay = laytrop+1, nlayers if (jp(lay-1) .lt. layreffr .and. jp(lay) .ge. layreffr) & laysolfr = lay speccomb = colo3(lay) + strrat*colo2(lay) specparm = colo3(lay)/speccomb if (specparm .ge. oneminus) specparm = oneminus specmult = 4._rb*(specparm) js = 1 + int(specmult) fs = mod(specmult, 1._rb ) fac000 = (1._rb - fs) * fac00(lay) fac010 = (1._rb - fs) * fac10(lay) fac100 = fs * fac00(lay) fac110 = fs * fac10(lay) fac001 = (1._rb - fs) * fac01(lay) fac011 = (1._rb - fs) * fac11(lay) fac101 = fs * fac01(lay) fac111 = fs * fac11(lay) ind0 = ((jp(lay)-13)*5+(jt(lay)-1))*nspb(28) + js ind1 = ((jp(lay)-12)*5+(jt1(lay)-1))*nspb(28) + js tauray = colmol(lay) * rayl do ig = 1, ng28 taug(lay,ngs27+ig) = speccomb * & (fac000 * absb(ind0,ig) + & fac100 * absb(ind0+1,ig) + & fac010 * absb(ind0+5,ig) + & fac110 * absb(ind0+6,ig) + & fac001 * absb(ind1,ig) + & fac101 * absb(ind1+1,ig) + & fac011 * absb(ind1+5,ig) + & fac111 * absb(ind1+6,ig)) ! ssa(lay,ngs27+ig) = tauray/taug(lay,ngs27+ig) if (lay .eq. laysolfr) sfluxzen(ngs27+ig) = sfluxref(ig,js) & + fs * (sfluxref(ig,js+1) - sfluxref(ig,js)) taur(lay,ngs27+ig) = tauray enddo enddo end subroutine taumol28 !---------------------------------------------------------------------------- subroutine taumol29 !---------------------------------------------------------------------------- ! ! band 29: 820-2600 cm-1 (low - h2o; high - co2) ! !---------------------------------------------------------------------------- ! ------- Modules ------- use parrrsw, only : ng29, ngs28 use rrsw_kg29, only : absa, ka, absb, kb, forref, selfref, & sfluxref, absh2o, absco2, rayl, layreffr ! ------- Declarations ------- ! Local integer(kind=im) :: ig, ind0, ind1, inds, indf, js, lay, laysolfr real(kind=rb) :: fac000, fac001, fac010, fac011, fac100, fac101, & fac110, fac111, fs, speccomb, specmult, specparm, & tauray ! Compute the optical depth by interpolating in ln(pressure), ! temperature, and appropriate species. Below LAYTROP, the water ! vapor self-continuum is interpolated (in temperature) separately. ! Lower atmosphere loop do lay = 1, laytrop ind0 = ((jp(lay)-1)*5+(jt(lay)-1))*nspa(29) + 1 ind1 = (jp(lay)*5+(jt1(lay)-1))*nspa(29) + 1 inds = indself(lay) indf = indfor(lay) tauray = colmol(lay) * rayl do ig = 1, ng29 taug(lay,ngs28+ig) = colh2o(lay) * & ((fac00(lay) * absa(ind0,ig) + & fac10(lay) * absa(ind0+1,ig) + & fac01(lay) * absa(ind1,ig) + & fac11(lay) * absa(ind1+1,ig)) + & selffac(lay) * (selfref(inds,ig) + & selffrac(lay) * & (selfref(inds+1,ig) - selfref(inds,ig))) + & forfac(lay) * (forref(indf,ig) + & forfrac(lay) * & (forref(indf+1,ig) - forref(indf,ig)))) & + colco2(lay) * absco2(ig) ! ssa(lay,ngs28+ig) = tauray/taug(lay,ngs28+ig) taur(lay,ngs28+ig) = tauray enddo enddo laysolfr = nlayers ! Upper atmosphere loop do lay = laytrop+1, nlayers if (jp(lay-1) .lt. layreffr .and. jp(lay) .ge. layreffr) & laysolfr = lay ind0 = ((jp(lay)-13)*5+(jt(lay)-1))*nspb(29) + 1 ind1 = ((jp(lay)-12)*5+(jt1(lay)-1))*nspb(29) + 1 tauray = colmol(lay) * rayl do ig = 1, ng29 taug(lay,ngs28+ig) = colco2(lay) * & (fac00(lay) * absb(ind0,ig) + & fac10(lay) * absb(ind0+1,ig) + & fac01(lay) * absb(ind1,ig) + & fac11(lay) * absb(ind1+1,ig)) & + colh2o(lay) * absh2o(ig) ! ssa(lay,ngs28+ig) = tauray/taug(lay,ngs28+ig) if (lay .eq. laysolfr) sfluxzen(ngs28+ig) = sfluxref(ig) taur(lay,ngs28+ig) = tauray enddo enddo end subroutine taumol29 end subroutine taumol_sw end module rrtmg_sw_taumol ================================================ FILE: GeosRad/rrtmg_sw_vrtqdr.F90 ================================================ ! path: $Source: /storm/rc1/cvsroot/rc/rrtmg_sw/src/rrtmg_sw_vrtqdr.f90,v $ ! author: $Author: mike $ ! revision: $Revision: 1.3 $ ! created: $Date: 2008/08/29 17:59:12 $ ! module rrtmg_sw_vrtqdr ! -------------------------------------------------------------------------- ! | | ! | Copyright 2002-2008, Atmospheric & Environmental Research, Inc. (AER). | ! | This software may be used, copied, or redistributed as long as it is | ! | not sold and this copyright notice is reproduced on each copy made. | ! | This model is provided as is without any express or implied warranties. | ! | (http://www.rtweb.aer.com/) | ! | | ! -------------------------------------------------------------------------- ! ------- Modules ------- use parkind, only: im => kind_im, rb => kind_rb ! use parrrsw, only: ngptsw implicit none contains ! -------------------------------------------------------------------------- subroutine vrtqdr_sw(klev, kw, & pref, prefd, ptra, ptrad, & pdbt, prdnd, prup, prupd, ptdbt, & pfd, pfu) ! -------------------------------------------------------------------------- ! Purpose: This routine performs the vertical quadrature integration ! ! Interface: *vrtqdr_sw* is called from *spcvrt_sw* and *spcvmc_sw* ! ! Modifications. ! ! Original: H. Barker ! Revision: Integrated with rrtmg_sw, J.-J. Morcrette, ECMWF, Oct 2002 ! Revision: Reformatted for consistency with rrtmg_lw: MJIacono, AER, Jul 2006 ! !----------------------------------------------------------------------- ! ------- Declarations ------- ! Input integer(kind=im), intent (in) :: klev ! number of model layers integer(kind=im), intent (in) :: kw ! g-point index real(kind=rb), intent(in) :: pref(:) ! direct beam reflectivity ! Dimensions: (nlayers+1) real(kind=rb), intent(in) :: prefd(:) ! diffuse beam reflectivity ! Dimensions: (nlayers+1) real(kind=rb), intent(in) :: ptra(:) ! direct beam transmissivity ! Dimensions: (nlayers+1) real(kind=rb), intent(in) :: ptrad(:) ! diffuse beam transmissivity ! Dimensions: (nlayers+1) real(kind=rb), intent(in) :: pdbt(:) ! Dimensions: (nlayers+1) real(kind=rb), intent(in) :: ptdbt(:) ! Dimensions: (nlayers+1) real(kind=rb), intent(inout) :: prdnd(:) ! Dimensions: (nlayers+1) real(kind=rb), intent(inout) :: prup(:) ! Dimensions: (nlayers+1) real(kind=rb), intent(inout) :: prupd(:) ! Dimensions: (nlayers+1) ! Output real(kind=rb), intent(out) :: pfd(:,:) ! downwelling flux (W/m2) ! Dimensions: (nlayers+1,ngptsw) ! unadjusted for earth/sun distance or zenith angle real(kind=rb), intent(out) :: pfu(:,:) ! upwelling flux (W/m2) ! Dimensions: (nlayers+1,ngptsw) ! unadjusted for earth/sun distance or zenith angle ! Local integer(kind=im) :: ikp, ikx, jk real(kind=rb) :: zreflect real(kind=rb) :: ztdn(klev+1) ! Definitions ! ! pref(jk) direct reflectance ! prefd(jk) diffuse reflectance ! ptra(jk) direct transmittance ! ptrad(jk) diffuse transmittance ! ! pdbt(jk) layer mean direct beam transmittance ! ptdbt(jk) total direct beam transmittance at levels ! !----------------------------------------------------------------------------- ! Link lowest layer with surface zreflect = 1._rb / (1._rb - prefd(klev+1) * prefd(klev)) prup(klev) = pref(klev) + (ptrad(klev) * & ((ptra(klev) - pdbt(klev)) * prefd(klev+1) + & pdbt(klev) * pref(klev+1))) * zreflect prupd(klev) = prefd(klev) + ptrad(klev) * ptrad(klev) * & prefd(klev+1) * zreflect ! Pass from bottom to top do jk = 1,klev-1 ikp = klev+1-jk ikx = ikp-1 zreflect = 1._rb / (1._rb -prupd(ikp) * prefd(ikx)) prup(ikx) = pref(ikx) + (ptrad(ikx) * & ((ptra(ikx) - pdbt(ikx)) * prupd(ikp) + & pdbt(ikx) * prup(ikp))) * zreflect prupd(ikx) = prefd(ikx) + ptrad(ikx) * ptrad(ikx) * & prupd(ikp) * zreflect enddo ! Upper boundary conditions ztdn(1) = 1._rb prdnd(1) = 0._rb ztdn(2) = ptra(1) prdnd(2) = prefd(1) ! Pass from top to bottom do jk = 2,klev ikp = jk+1 zreflect = 1._rb / (1._rb - prefd(jk) * prdnd(jk)) ztdn(ikp) = ptdbt(jk) * ptra(jk) + & (ptrad(jk) * ((ztdn(jk) - ptdbt(jk)) + & ptdbt(jk) * pref(jk) * prdnd(jk))) * zreflect prdnd(ikp) = prefd(jk) + ptrad(jk) * ptrad(jk) * & prdnd(jk) * zreflect enddo ! Up and down-welling fluxes at levels do jk = 1,klev+1 zreflect = 1._rb / (1._rb - prdnd(jk) * prupd(jk)) pfu(jk,kw) = (ptdbt(jk) * prup(jk) + & (ztdn(jk) - ptdbt(jk)) * prupd(jk)) * zreflect pfd(jk,kw) = ptdbt(jk) + (ztdn(jk) - ptdbt(jk)+ & ptdbt(jk) * prup(jk) * prdnd(jk)) * zreflect enddo end subroutine vrtqdr_sw end module rrtmg_sw_vrtqdr ================================================ FILE: GeosRad/test_aero_init.F ================================================ program test_AERO_INIT parameter (nwv=61,nr=7,nspec=6) parameter (nbndlw=16,nbndsw=14) real*8 :: lambda(nwv) real*8 :: rrtmg_lmb(nbndlw+nbndsw) ! RRTMG locations for aerosol OD REAL*8 :: aero_band_sel(nbndlw+nbndsw) INTEGER :: id_aer_lmb0 (nbndlw+nbndsw) INTEGER :: id_aer_lmb1 (nbndlw+nbndsw) ! Local variables integer :: ib, iflag data aero_band_sel /180.,425.,565.,665.,760.,900.,1030.,1130., & 1285.,1435.,1640.,1940.,2165.,2315.,2490., & 2925., 2903.,3601.,4310.,4892.,5623.,6872., & 7872., 10590.,14420.,18970.,25015.,30390., & 43507.,1412./ data lambda /250, 300, 350, 400, 450, 500, 550, 600, 650, 700, & 750, 800, 900, 1000, 1250, 1500, 1750, 2000, 2500, 3000, 3200, & 3390, 3500, 3750, 4000, 4500, 5000, 5500, 6000, 6200, 6500, 7200, & 7900, 8200, 8500, 8700, 9000, 9200, 9500, 9800, 10000, 10600, &11000, 11500, 12500, 13000, 14000, 14800, 15000, 16400, 17200, & 18000, 18500, 20000, 21300, 22500, 25000, 27900, & 30000, -30536, -25536/ rrtmg_lmb = 1.0e7/aero_band_sel ! convert from cm-1 to nm ! Find bracketing GC aerosol indices for each RRTMG band do ib=nbndlw+nbndsw,1,-1 iflag = 0 if(rrtmg_lmb(ib).lt.lambda(1)) iflag = -1 if(rrtmg_lmb(ib).gt.lambda(59)) iflag = 1 select case (iflag) !Handle short wavelength points case (-1) id_aer_lmb0(ib) = 1 id_aer_lmb1(ib) = 2 !Handle long wavelength points case (1) id_aer_lmb0(ib) = 58 id_aer_lmb1(ib) = 59 case default ip = 1 do while (rrtmg_lmb(ib).gt. lambda(ip)) ip=ip+1 end do id_aer_lmb0(ib) = ip-1 id_aer_lmb1(ib) = ip end select end do do ib=1,nbndlw+nbndsw print *, rrtmg_lmb(ib),lambda(id_aer_lmb0(ib)), & lambda(id_aer_lmb1(ib)) end do end ================================================ FILE: GeosRad/test_arr_mult.F90 ================================================ program test_arr_mult real*4 :: a(5) = (/2.,4.,6.,8.,10./) real*4 :: b(5) = (/3.,3.,3.,3.,3./) real*4 :: c(5) print *, a*b end ================================================ FILE: GeosUtil/CMakeLists.txt ================================================ add_library(JulDay STATIC EXCLUDE_FROM_ALL julday_mod.F90 ) target_link_libraries(JulDay PUBLIC Headers ) add_library(GeosUtil STATIC EXCLUDE_FROM_ALL error_mod.F90 file_mod.F90 gc_grid_mod.F90 henry_mod.F90 ifort_errmsg.F90 pressure_mod.F90 print_mod.F90 regrid_a2a_mod.F90 time_mod.F90 timers_mod.F90 transfer_mod.F90 unitconv_mod.F90 ) target_link_libraries(GeosUtil PUBLIC NcdfUtil ) ================================================ FILE: GeosUtil/error_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: error_mod.F90 ! ! !DESCRIPTION: Module ERROR\_MOD contains error checking routines. !\\ !\\ ! !INTERFACE: ! MODULE ERROR_MOD ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE PRECISION_MOD ! For GEOS-Chem Precision (fp) #if defined( ESMF_ ) USE pFlogger #endif IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: ALLOC_ERR PUBLIC :: CHECK_VALUE PUBLIC :: DEBUG_MSG PUBLIC :: LOG_MSG PUBLIC :: ERROR_STOP PUBLIC :: GEOS_CHEM_STOP PUBLIC :: IS_SAFE_DIV PUBLIC :: IS_SAFE_EXP PUBLIC :: IT_IS_NAN PUBLIC :: IT_IS_FINITE PUBLIC :: SAFE_DIV PUBLIC :: SAFE_EXP PUBLIC :: SAFE_LOG PUBLIC :: SAFE_LOG10 PUBLIC :: INIT_ERROR PUBLIC :: CLEANUP_ERROR ! Interface for NaN-check routines INTERFACE IT_IS_NAN MODULE PROCEDURE NAN_FLOAT MODULE PROCEDURE NAN_DBLE END INTERFACE IT_IS_NAN ! Interface for finite-check routines INTERFACE IT_IS_FINITE MODULE PROCEDURE FINITE_FLOAT MODULE PROCEDURE FINITE_DBLE END INTERFACE IT_IS_FINITE ! Interface for check-value routines INTERFACE CHECK_VALUE MODULE PROCEDURE CHECK_REAL_VALUE MODULE PROCEDURE CHECK_DBLE_VALUE END INTERFACE CHECK_VALUE INTERFACE IS_SAFE_DIV MODULE PROCEDURE IS_SAFE_DIV_R4 MODULE PROCEDURE IS_SAFE_DIV_R8 END INTERFACE IS_SAFE_DIV ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: CHECK_DBLE_VALUE PRIVATE :: FINITE_DBLE PRIVATE :: FINITE_FLOAT PRIVATE :: NAN_DBLE PRIVATE :: NAN_FLOAT PRIVATE :: IS_SAFE_DIV_R4 PRIVATE :: IS_SAFE_DIV_R8 ! ! !REVISION HISTORY: ! 08 Mar 2001 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !PRIVATE TYPES: LOGICAL :: SHADOW_am_I_Root ! Shadow for am_I_Root TYPE(OptInput), POINTER :: SHADOW_Input_Opt ! Shadow for Input_Opt #if defined( ESMF_ ) class(Logger), pointer :: lgr Character(Len=255) :: compname #endif CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nan_Float ! ! !DESCRIPTION: Function NAN\_FLOAT returns TRUE if a REAL*4 number is equal ! to the IEEE NaN (Not-a-Number) flag. Returns FALSE otherwise. !\\ !\\ ! !INTERFACE: ! FUNCTION NAN_FLOAT( VALUE ) RESULT( IT_IS_A_NAN ) ! ! !INPUT PARAMETERS: ! REAL*4, INTENT(IN) :: VALUE ! Value to be tested for NaN ! ! !RETURN VALUE: ! LOGICAL :: IT_IS_A_NAN ! =T if VALUE is NaN; =F otherwise ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC IT_IS_A_NAN = ISNAN( VALUE ) END FUNCTION NAN_FLOAT !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nan_Dble ! ! !DESCRIPTION: Function NAN\_DBLE returns TRUE if a REAL(fp) number is equal ! to the IEEE NaN (Not-a-Number) flag. Returns FALSE otherwise. !\\ !\\ ! !INTERFACE: ! FUNCTION NAN_DBLE( VALUE ) RESULT( IT_IS_A_NAN ) ! ! !INPUT PARAMETERS: ! REAL*8, INTENT(IN) :: VALUE ! Value to be tested for NaN ! ! !RETURN VALUE: ! LOGICAL :: IT_IS_A_NAN ! =T if VALUE is NaN; =F otherwise ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC IT_IS_A_NAN = ISNAN( VALUE ) END FUNCTION NAN_DBLE !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Finite_Float ! ! !DESCRIPTION: Function FINITE\_FLOAT returns FALSE if a REAL*4 number is ! equal to the IEEE Infinity flag. Returns TRUE otherwise. !\\ !\\ ! !INTERFACE: ! FUNCTION FINITE_FLOAT( VALUE ) RESULT( IT_IS_A_FINITE ) ! ! !INPUT PARAMETERS: ! REAL*4, INTENT(IN) :: VALUE ! Value to be tested for infinity ! ! !RETURN VALUE: ! LOGICAL :: IT_IS_A_FINITE ! =T if VALUE is finite; =F else ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC #if defined( LINUX_GFORTRAN ) IT_IS_A_FINITE = ((.not.ISNAN(VALUE)) .and. & (VALUE.lt.HUGE(1.0e0)) .and. & (VALUE.gt.(-1.0e0*HUGE(1.0e0)))) #elif defined( LINUX_IFORT ) ! Local variables (parameters copied from "fordef.for") INTEGER, PARAMETER :: SNAN=0, QNAN=1, POS_INF=2, NEG_INF=3 INTEGER :: FPC ! Get the floating point type class for VALUE FPC = FP_CLASS( VALUE ) ! VALUE is infinite if it is either +Inf or -Inf ! Also flag an error if VALUE is a signaling or quiet NaN IT_IS_A_FINITE = ( FPC /= POS_INF .and. FPC /= NEG_INF .and. & FPC /= SNAN .and. FPC /= QNAN ) #endif END FUNCTION FINITE_FLOAT !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Finite_Dble ! ! !DESCRIPTION: Function FINITE\_FLOAT returns FALSE if a REAL(fp) number is ! equal to the IEEE Infinity flag. Returns TRUE otherwise. !\\ !\\ ! !INTERFACE: ! FUNCTION FINITE_DBLE( VALUE ) RESULT( IT_IS_A_FINITE ) ! ! !INPUT PARAMETERS: ! REAL*8, INTENT(IN) :: VALUE ! Value to be tested for infinity ! ! !RETURN VALUE: ! LOGICAL :: IT_IS_A_FINITE ! =T if VALUE is finite; =F else ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC #if defined( LINUX_GFORTRAN ) IT_IS_A_FINITE = ((.not.ISNAN(VALUE)) .and. & (VALUE.lt.HUGE(1.d0)) .and. & (VALUE.gt.(-1.0d0*HUGE(1.d0)))) #elif defined( LINUX_IFORT ) ! Local variables (parameters copied from "fordef.for") INTEGER, PARAMETER :: SNAN=0, QNAN=1, POS_INF=2, NEG_INF=3 INTEGER :: FPC ! Get the floating point type class for VALUE FPC = FP_CLASS( VALUE ) ! VALUE is infinite if it is either +Inf or -Inf ! Also flag an error if VALUE is a signaling or quiet NaN IT_IS_A_FINITE = ( FPC /= POS_INF .and. FPC /= NEG_INF .and. & FPC /= SNAN .and. FPC /= QNAN ) #endif END FUNCTION FINITE_DBLE !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Check_Real_Value ! ! !DESCRIPTION: Subroutine CHECK\_REAL\_VALUE checks to make sure a REAL*4 ! value is not NaN or Infinity. This is a wrapper for the interfaces ! IT\_IS\_NAN and IT\_IS\_FINITE. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CHECK_REAL_VALUE( VALUE, LOCATION, VARNAME, MESSAGE ) ! ! !INPUT PARAMETERS: ! REAL*4, INTENT(IN) :: VALUE ! Value to be checked CHARACTER(LEN=255), INTENT(IN) :: VARNAME ! Name of variable CHARACTER(LEN=255), INTENT(IN) :: MESSAGE ! Short descriptive msg INTEGER, INTENT(IN) :: LOCATION(4) ! (/ I, J, L, N /) indices ! ! !REVISION HISTORY: ! 13 Jun 2001 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! First check for NaN -- print info & stop run if found IF ( IT_IS_NAN( VALUE ) ) THEN WRITE( 6, '(a)' ) REPEAT( '=', 79 ) WRITE( 6, 110 ) TRIM( VARNAME ) WRITE( 6, 115 ) LOCATION WRITE( 6, '(a)' ) TRIM( MESSAGE ) WRITE( 6, '(a)' ) REPEAT( '=', 79 ) CALL GEOS_CHEM_STOP() ENDIF ! Next check for infinity -- print info & stop run if found IF ( .not. IT_IS_FINITE( VALUE ) ) THEN WRITE( 6, '(a)' ) REPEAT( '=', 79 ) WRITE( 6, 120 ) TRIM( VARNAME ) WRITE( 6, 115 ) LOCATION WRITE( 6, '(f13.6)' ) VALUE WRITE( 6, '(a)' ) TRIM ( MESSAGE ) WRITE( 6, '(a)' ) REPEAT( '=', 79 ) CALL GEOS_CHEM_STOP() ENDIF ! FORMAT statements 110 FORMAT( 'CHECK_VALUE: ', a, ' is NaN!' ) 115 FORMAT( 'Grid box (I,J,L,N) : ', 4i4 ) 120 FORMAT( 'CHECK_VALUE: ', a, ' is not finite!' ) END SUBROUTINE CHECK_REAL_VALUE !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Check_Dble_Value ! ! !DESCRIPTION: Subroutine CHECK\_DBLE\_VALUE checks to make sure a REAL*4 ! value is not NaN or Infinity. This is a wrapper for the interfaces ! IT\_IS\_NAN and IT\_IS\_FINITE. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CHECK_DBLE_VALUE( VALUE, LOCATION, VARNAME, MESSAGE ) ! ! !INPUT PARAMETERS: ! REAL*8, INTENT(IN) :: VALUE ! Value to be checked CHARACTER(LEN=255), INTENT(IN) :: VARNAME ! Name of variable CHARACTER(LEN=255), INTENT(IN) :: MESSAGE ! Short descriptive msg INTEGER, INTENT(IN) :: LOCATION(4) ! (/ I, J, L, N /) indices ! ! !REVISION HISTORY: ! 13 Jun 2001 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! First check for NaN IF ( IT_IS_NAN( VALUE ) )THEN WRITE( 6, '(a)' ) REPEAT( '=', 79 ) WRITE( 6, 110 ) TRIM( VARNAME ) WRITE( 6, 115 ) LOCATION WRITE( 6, '(a)' ) TRIM( MESSAGE ) WRITE( 6, '(a)' ) REPEAT( '=', 79 ) CALL GEOS_CHEM_STOP ENDIF ! Next check for infinity IF ( .not. IT_IS_FINITE( VALUE ) ) THEN WRITE( 6, '(a)' ) REPEAT( '=', 79 ) WRITE( 6, 120 ) TRIM( VARNAME ) WRITE( 6, 115 ) LOCATION WRITE( 6, '(f13.6)' ) VALUE WRITE( 6, '(a)' ) TRIM ( MESSAGE ) WRITE( 6, '(a)' ) REPEAT( '=', 79 ) CALL GEOS_CHEM_STOP ENDIF ! FORMAT statements 110 FORMAT( 'CHECK_VALUE: ', a, ' is NaN!' ) 115 FORMAT( 'Grid box (I,J,L,N) : ', 4i4 ) 120 FORMAT( 'CHECK_VALUE: ', a, ' is not finite!' ) END SUBROUTINE CHECK_DBLE_VALUE !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Error_Stop ! ! !DESCRIPTION: Subroutine ERROR\_STOP is a wrapper for GEOS\_CHEM\_STOP. It ! prints an error message then calls GEOS\_CHEM\_STOP to free memory and quit. !\\ !\\ ! !INTERFACE: ! SUBROUTINE ERROR_STOP( MESSAGE, LOCATION, INSTRUCTIONS ) ! ! !USES: ! USE CharPak_Mod, ONLY : WordWrapPrint ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: MESSAGE ! Error msg to print CHARACTER(LEN=*), INTENT(IN) :: LOCATION ! Where ERROR_STOP is called CHARACTER(LEN=*), OPTIONAL :: INSTRUCTIONS ! Further instructions ! ! !REVISION HISTORY: ! 15 Oct 2002 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=512) :: TmpMsg !$OMP CRITICAL ! Write the error message WRITE( 6, '(a)' ) REPEAT( '=', 79 ) TmpMsg = 'GEOS-CHEM ERROR: ' // TRIM( MESSAGE ) CALL WordWrapPrint( TmpMsg, 76 ) ! If the optional INSTRUCTIONS argument is passed, then print it to ! the stdout stream. This is useful for instructing the user to ! look for the error in another location (e.g. the HEMCO log file). IF ( PRESENT( INSTRUCTIONS ) ) THEN WRITE( 6, '(a)' ) CALL WordWrapPrint( Instructions, 76 ) WRITE( 6, '(a)' ) ENDIF ! Write the location of the error WRITE( 6, '(a)' ) 'STOP at ' // TRIM( LOCATION ) WRITE( 6, '(a)' ) REPEAT( '=', 79 ) !$OMP END CRITICAL ! Flush text to file before stopping CALL FLUSH( 6 ) ! Deallocate memory and stop the run CALL GEOS_CHEM_STOP() END SUBROUTINE ERROR_STOP !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Geos_Chem_Stop ! ! !DESCRIPTION: Subroutine GEOS\_CHEM\_STOP calls CLEANUP to deallocate all ! module arrays and then stops the run. !\\ !\\ ! !INTERFACE: ! SUBROUTINE GEOS_CHEM_STOP() ! ! !USES: ! USE ErrCode_Mod USE Timers_Mod #if defined( ESMF_ ) !----------------------------------------------------------------- ! %%%%%%% GEOS-Chem HP (with ESMF & MPI) %%%%%%% ! ! Use GEOS-5 style error reporting when connecting to the GEOS-5 ! GCM via the ESMF interface (bmy, 3/12/13) !----------------------------------------------------------------- USE MAPL_Mod # include "MAPL_Generic.h" #elif defined( MODEL_CESM ) USE CAM_ABORTUTILS, ONLY : ENDRUN #endif ! ! !REVISION HISTORY: ! 15 Oct 2002 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES ! INTEGER :: RC ! Success / Failure LOGICAL :: am_I_Root ! Is this the root CPU? #if defined( ESMF_ ) !----------------------------------------------------------------- ! %%%%%%% GEOS-Chem HP (with ESMF & MPI) %%%%%%% ! ! Use GEOS-5 style error reporting when connecting to the GEOS-5 ! GCM via the ESMF interface (bmy, 3/12/13) !----------------------------------------------------------------- __Iam__('GEOSCHEMSTOP') ! Only write to stdout if we are on the root CPU am_I_Root = .TRUE. IF ( SHADOW_Input_Opt%useTimers ) THEN CALL Timer_StopAll( RC ) CALL Timer_PrintAll( SHADOW_Input_Opt, RC ) ENDIF ! Use MAPL macro _FAIL('Failure in GEOS-Chem!') #elif defined( MODEL_CESM ) CALL ENDRUN('GEOS-Chem failure!') #else ! Only write to stdout if we are on the root CPU am_I_Root = .TRUE. IF ( SHADOW_Input_Opt%useTimers ) THEN CALL Timer_StopAll( RC ) CALL Timer_PrintAll( SHADOW_Input_Opt, RC ) ENDIF !----------------------------------------------------------------- ! %%%%%%% GEOS-Chem CLASSIC (with OpenMP) %%%%%%% ! ! Current practice in the std GEOS-Chem is to call CLEANUP to ! deallocate module arrays and then exit (bmy, 3/12/13) !----------------------------------------------------------------- !$OMP CRITICAL ! Deallocate all module arrays CALL CLEANUP( SHADOW_am_I_Root, SHADOW_Input_Opt, .TRUE., RC ) ! Flush all files and stop CALL EXIT( 99999 ) !$OMP END CRITICAL #endif END SUBROUTINE GEOS_CHEM_STOP !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Alloc_Err ! ! !DESCRIPTION: Subroutine ALLOC\_ERR prints an error message if there is not ! enough memory to allocate a particular allocatable array. !\\ !\\ ! !INTERFACE: ! SUBROUTINE ALLOC_ERR( ARRAYNAME, AS ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: ARRAYNAME ! Name of array INTEGER, OPTIONAL, INTENT(IN) :: AS ! Error output from "STAT" ! ! !REVISION HISTORY: ! 26 Jun 2000 - R. Yantosca - Initial version, split off from "ndxx_setup.F90" ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=255) :: ERRMSG !================================================================= ! ALLOC_ERR begins here! !================================================================= #if defined( LINUX_IFORT ) !----------------------- ! Linux/IFORT compiler !----------------------- ! More local variables CHARACTER(LEN=255) :: IFORT_ERRMSG, MSG ! Define error message ERRMSG = 'Allocation error in array: ' // TRIM( ARRAYNAME ) ! If we have passed the allocation status argument ... IF ( PRESENT( AS ) ) THEN ! Get IFORT error message MSG = IFORT_ERRMSG( AS ) ! Append IFORT error message ERRMSG = TRIM( ERRMSG ) // ' :: ' // TRIM( MSG ) ENDIF #else !----------------------- ! All other compilers !----------------------- ! Define error message ERRMSG = 'Allocation error in array: ' // TRIM( ARRAYNAME ) #endif ! Print error message, deallocate memory, and stop the run CALL ERROR_STOP( ERRMSG, 'ALLOC_ERR in error_mod.F90' ) END SUBROUTINE ALLOC_ERR !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Debug_Msg ! ! !DESCRIPTION: Subroutine DEBUG\_MSG prints a message to the stdout buffer ! and flushes. This is useful for determining the exact location where ! errors occur. !\\ !\\ ! !INTERFACE: ! SUBROUTINE DEBUG_MSG( MESSAGE ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: MESSAGE ! Message to print ! ! !REVISION HISTORY: ! 07 Jan 2002 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! Print message WRITE( 6, '(5x,a)' ) MESSAGE ! Call FLUSH routine to flush the output buffer CALL FLUSH( 6 ) END SUBROUTINE DEBUG_MSG !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Log_Msg ! ! !DESCRIPTION: Subroutine LOG\_MSG prints a message to whatever logging ! mechanism is used by the various host models. This is the safest way ! to ensure that a message is passed to the user. !\\ !\\ ! !INTERFACE: ! SUBROUTINE LOG_MSG( MESSAGE, LEVEL, SRC ) ! ! !USES: ! USE CharPak_Mod, ONLY : To_Uppercase ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: MESSAGE ! Message to print CHARACTER(LEN=*), INTENT(IN), OPTIONAL :: LEVEL ! Level (warning, debug, or info) CHARACTER(LEN=*), INTENT(IN), OPTIONAL :: SRC ! Calling location ! ! !REVISION HISTORY: ! 07 Jan 2002 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=10) :: LEVEL_SAFE CHARACTER(LEN=255) :: Iam If (PRESENT(LEVEL)) Then LEVEL_SAFE = To_Uppercase(LEVEL) Else LEVEL_SAFE = 'DEBUG' End If If (PRESENT(SRC)) Then Iam = Trim(src) Else Iam = 'unknown' End If #if defined( ESMF_ ) ! Preceded by the component name already If (Level_Safe == 'INFO') Then call lgr%info( '%a~: %a', Trim(Iam), Trim(Message)) Else if (Level_Safe == 'DEBUG') Then call lgr%debug( '%a~: %a', Trim(Iam), Trim(Message)) Else call lgr%warning('%a~: %a', Trim(Iam), Trim(Message)) End If #else ! Print message WRITE( 6, '(a15,x,a5,2a)' ) Trim(Iam), Trim(LEVEL_SAFE), ': ',Trim(MESSAGE) #endif END SUBROUTINE LOG_MSG !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Safe_Div ! ! !DESCRIPTION: Function SAFE\_DIV performs "safe division", that is to ! prevent overflow, underlow, NaN, or infinity errors. An alternate value ! is returned if the division cannot be performed. !\\ !\\ ! !INTERFACE: ! FUNCTION SAFE_DIV( N, D, ALT_NAN, ALT_OVER, ALT_UNDER ) & RESULT( Q ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: N ! Numerator REAL(fp), INTENT(IN) :: D ! Denominator REAL(fp), INTENT(IN) :: ALT_NAN ! Alternate value to be ! returned if the division ! is either NAN (0/0) or ! leads to overflow (i.e., ! a too large number) REAL(fp), OPTIONAL, INTENT(IN) :: ALT_OVER ! Alternate value to be ! returned if the division ! leads to overflow (default ! is ALT_NAN) REAL(fp), OPTIONAL, INTENT(IN) :: ALT_UNDER ! Alternate value to be ! returned if the division ! leads to underflow ! (default is 0, but you ! could use TINY() if you ! want a non-zero result). ! ! !RETURN VALUE: ! REAL(fp) :: Q ! Output from the division ! ! !REMARKS: ! For more information, see the discussion on: ! http://groups.google.com/group/comp.lang.fortran/browse_thread/thread/8b367f44c419fa1d/ ! ! !REVISION HISTORY: ! 26 Feb 2008 - P. Le Sager & R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC IF ( N==0 .and. D==0 ) THEN ! NAN Q = ALT_NAN ELSE IF ( EXPONENT(N) - EXPONENT(D) >= MAXEXPONENT(N) .OR. D==0 ) THEN ! OVERFLOW Q = ALT_NAN IF ( PRESENT(ALT_OVER) ) Q = ALT_OVER ELSE IF ( EXPONENT(N) - EXPONENT(D) <= MINEXPONENT(N) ) THEN ! UNDERFLOW Q = 0D0 IF ( PRESENT(ALT_UNDER) ) Q = ALT_UNDER ELSE ! No problem Q = N / D ENDIF END FUNCTION SAFE_DIV !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Is_Safe_Div_r4 ! ! !DESCRIPTION: Function IS\_SAFE\_DIV tests for "safe division", that is ! check if the division will overflow/underflow or hold NaN. .FALSE. is ! returned if the division cannot be performed. The numerator and ! denominator must be 4-byte floating point. !\\ !\\ ! !INTERFACE: ! FUNCTION IS_SAFE_DIV_R4( N, D, R4 ) RESULT( F ) ! ! !INPUT PARAMETERS: ! REAL(f4), INTENT(IN) :: N ! Numerator REAL(f4), INTENT(IN) :: D ! Denominator LOGICAL, INTENT(IN), OPTIONAL :: R4 ! Logical flag to use the limits ! of REAL*4 to define underflow ! or overflow. Extra defensive. ! ! !OUTPUT PARAMETERS: ! LOGICAL :: F ! =F if division isn't allowed ! =T otherwise ! ! !REMARKS: ! UnderFlow, OverFlow and NaN are tested for. If you need to ! differentiate between the three, use the SAFE_DIV (phs, 4/14/09) ! ! !REVISION HISTORY: ! 11 Jun 2008 - P. Le Sager - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: MaxExp, MinExp REAL(f4) :: RR !================================================================== ! IS_SAFE_DIV begins here! !================================================================== MaxExp = MAXEXPONENT( N ) MinExp = MINEXPONENT( N ) IF ( PRESENT( R4 ) ) THEN IF ( R4 ) THEN MaxExp = MAXEXPONENT( RR ) MinExp = MINEXPONENT( RR ) ENDIF ENDIF IF ( EXPONENT(N) - EXPONENT(D) >= MaxExp .or. D==0 .or. & EXPONENT(N) - EXPONENT(D) <= MinExp ) THEN F = .FALSE. ELSE F = .TRUE. ENDIF END FUNCTION IS_SAFE_DIV_R4 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Is_Safe_Div_r8 ! ! !DESCRIPTION: Function IS\_SAFE\_DIV tests for "safe division", that is ! check if the division will overflow/underflow or hold NaN. .FALSE. is ! returned if the division cannot be performed. The numerator and ! denominator must be 4-byte floating point. !\\ !\\ ! !INTERFACE: ! FUNCTION IS_SAFE_DIV_R8( N, D, R4 ) RESULT( F ) ! ! !INPUT PARAMETERS: ! REAL(f8), INTENT(IN) :: N ! Numerator REAL(f8), INTENT(IN) :: D ! Denominator LOGICAL, INTENT(IN), OPTIONAL :: R4 ! Logical flag to use the limits ! of REAL*4 to define underflow ! or overflow. Extra defensive. ! ! !OUTPUT PARAMETERS: ! LOGICAL :: F ! =F if division isn't allowed ! =T otherwise ! ! !REMARKS: ! UnderFlow, OverFlow and NaN are tested for. If you need to ! differentiate between the three, use the SAFE_DIV (phs, 4/14/09) ! ! !REVISION HISTORY: ! 11 Jun 2008 - P. Le Sager - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: MaxExp, MinExp REAL(f4) :: RR !================================================================== ! IS_SAFE_DIV begins here! !================================================================== MaxExp = MAXEXPONENT( N ) MinExp = MINEXPONENT( N ) IF ( PRESENT( R4 ) ) THEN IF ( R4 ) THEN MaxExp = MAXEXPONENT( RR ) MinExp = MINEXPONENT( RR ) ENDIF ENDIF IF ( EXPONENT(N) - EXPONENT(D) >= MaxExp .or. D==0 .or. & EXPONENT(N) - EXPONENT(D) <= MinExp ) THEN F = .FALSE. ELSE F = .TRUE. ENDIF END FUNCTION IS_SAFE_DIV_R8 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Safe_Exp ! ! !DESCRIPTION: Function SAFE\_EXP performs a "safe exponential", that is to ! prevent overflow, underlow, NaN, or infinity errors when taking the ! value EXP( x ). An alternate value is returned if the exponential ! cannot be performed. !\\ !\\ ! !INTERFACE: ! FUNCTION SAFE_EXP( X, ALT ) RESULT( VALUE ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: X ! Argument of EXP REAL(fp), INTENT(IN) :: ALT ! Alternate value to be returned ! ! !RETURN VALUE: ! REAL(fp) :: VALUE ! Output from the exponential ! ! !REVISION HISTORY: ! 04 Jan 2010 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC IF ( IS_SAFE_EXP( X ) ) THEN VALUE = EXP( X ) ELSE VALUE = ALT ENDIF END FUNCTION SAFE_EXP !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Is_Safe_Exp ! ! !DESCRIPTION: Function IS\_SAFE\_EXP returns TRUE if it is safe to take ! the value EXP( x ) without encountering a floating point exception. FALSE ! is returned if the exponential cannot be performed. !\\ !\\ ! !INTERFACE: ! FUNCTION IS_SAFE_EXP( X ) RESULT( F ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: X ! Argument to the exponential function ! ! !OUTPUT PARAMETERS: ! LOGICAL :: F ! =F if exponential isn't allowed ! =T otherwise ! ! !REMARKS: ! Empirical testing has revealed that -600 < X < 600 will not result in ! a floating-point exception on Sun and IFORT compilers. This is good ! enough for most purposes. ! ! !REVISION HISTORY: ! 04 Jan 2010 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! #if defined( USE_REAL8 ) REAL(fp), PARAMETER :: CUTOFF = 600e+0_fp #else REAL(fp), PARAMETER :: CUTOFF = 75e+0_fp #endif ! If -CUTOFF < x < CUTOFF, then it is safe to take EXP( x ) F = ( ABS( X ) < CUTOFF ) END FUNCTION IS_SAFE_EXP !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Safe_Log ! ! !DESCRIPTION: Function SAFE\_LOG performs a "safe natural logarithm", that ! is to prevent overflow, underlow, NaN, or infinity errors when taking the ! value LOG( x ). An alternate value is returned if the logarithm ! cannot be performed. !\\ !\\ ! !INTERFACE: ! FUNCTION SAFE_LOG( X, ALT ) RESULT( VALUE ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: X ! Argument of LOG REAL(fp), INTENT(IN) :: ALT ! Alternate value to be returned ! ! !RETURN VALUE: ! REAL(fp) :: VALUE ! Output from the natural logarithm ! ! !REVISION HISTORY: ! 04 Jan 2010 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC IF ( X > 0e+0_fp ) THEN VALUE = LOG( X ) ! Take LOG(x) for positive-definite X ELSE VALUE = ALT ! Otherwise return alternate value ENDIF END FUNCTION SAFE_LOG !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Safe_Log10 ! ! !DESCRIPTION: Function SAFE\_LOG10 performs a "safe log10", that ! is to prevent overflow, underlow, NaN, or infinity errors when taking the ! value LOG10( x ). An alternate value is returned if the logarithm ! cannot be performed. !\\ !\\ ! !INTERFACE: ! FUNCTION SAFE_LOG10( X, ALT ) RESULT( VALUE ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: X ! Argument of LOG10 REAL(fp), INTENT(IN) :: ALT ! Alternate value to be returned ! ! !RETURN VALUE: ! REAL(fp) :: VALUE ! Output from the natural logarithm ! ! !REVISION HISTORY: ! 04 Jan 2010 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC IF ( X > 0e+0_fp ) THEN VALUE = LOG10( X ) ! Take LOG10(x) for positive-definite X ELSE VALUE = ALT ! Otherwise return alternate value ENDIF END FUNCTION SAFE_LOG10 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_Error ! ! !DESCRIPTION: Subroutine INIT\_ERROR stores shadow copies of am\_I\_Root ! and Input\_Opt. We need store shadow copies of these variables within ! error\_mod.F90 to compensate for the removal of logical\_mod.F from ! GEOS-Chem. !\\ !\\ ! !INTERFACE: ! SUBROUTINE INIT_ERROR( Input_Opt, RC ) ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN), TARGET :: Input_Opt ! Input Options object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! Instead of making a copy of Input_Opt, we use a pointer reference. ! This should be more efficient memory-wise. ! ! !REVISION HISTORY: ! 04 Jan 2010 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Assume success RC = GC_SUCCESS ! Store a shadow copy of am_I_Root SHADOW_am_I_Root = Input_Opt%amIRoot ! Store a shadow copy of Input_Opt (point to it instead of copying) SHADOW_Input_Opt => Input_Opt #if defined( ESMF_ ) lgr => Input_Opt%lgr compname = Input_Opt%CompName #endif END SUBROUTINE INIT_ERROR !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Cleanup_Error ! ! !DESCRIPTION: Subroutine CLEANUP\_ERROR finalizes all module variables. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CLEANUP_ERROR() ! ! !REVISION HISTORY: ! 04 Jan 2010 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! Free the pointer to Input_Opt NULLIFY( SHADOW_Input_Opt ) #if defined( ESMF_ ) NULLIFY( lgr ) #endif END SUBROUTINE CLEANUP_ERROR !EOC END MODULE ERROR_MOD ================================================ FILE: GeosUtil/file_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: file_mod.F90 ! ! !DESCRIPTION: Module FILE\_MOD contains file unit numbers, as well as file ! I/O routines for GEOS-Chem. FILE\_MOD keeps all of the I/O unit numbers ! in a single location for convenient access. !\\ !\\ ! !INTERFACE: ! MODULE FILE_MOD ! ! !USES: ! IMPLICIT NONE PRIVATE ! ! !DEFINED PARAMETERS: ! !---------------------------------------------------------------- ! In the GEOS ESM, the unit numbers cannot be PARAMETERs. ! Instead, use INQUIREs to find open LUNs at the point of ! request. References to most IU_* variables have now been ! made local. !---------------------------------------------------------------- ! Logical file unit numbers for ... INTEGER, PUBLIC :: IU_FILE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: CLOSE_FILES PUBLIC :: FILE_EXISTS PUBLIC :: IOERROR INTERFACE FILE_EXISTS MODULE PROCEDURE FILE_EX_C MODULE PROCEDURE FILE_EX_I END INTERFACE FILE_EXISTS ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: FILE_EX_C PRIVATE :: FILE_EX_I ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: IoError ! ! !DESCRIPTION: Subroutine IOERROR prints out I/O error messages. ! The error number, file unit, location, and a brief description will ! be printed, and program execution will be halted. (bmy, 5/28/99, 7/4/09) !\\ !\\ ! !INTERFACE: ! SUBROUTINE IOERROR( ERROR_NUM, UNIT, LOCATION ) ! ! !USES: ! USE ERROR_MOD, ONLY : GEOS_CHEM_STOP ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: ERROR_NUM ! I/O error from IOSTAT INTEGER, INTENT(IN) :: UNIT ! Logical unit # for file CHARACTER(LEN=*), INTENT(IN) :: LOCATION ! Descriptive message ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=10) :: ERROR_NUMSTR CHARACTER(LEN=255) :: ERROR_MSG CHARACTER(LEN=255) :: EXPLAIN_CMD ! External functions CHARACTER(LEN=255), EXTERNAL :: GERROR, IFORT_ERRMSG !================================================================= ! IOERROR begins here! !================================================================= ! Fancy output WRITE( 6, '(a)' ) REPEAT( '=', 79 ) ! Write error number, unit, location WRITE( 6, 110 ) ERROR_NUM, UNIT, TRIM( LOCATION ) 110 FORMAT( 'GEOS-CHEM I/O ERROR ', i5, ' in file unit ', i5, /, & 'Encountered at routine:location ', a ) #ifdef LINUX_IFORT !================================================================= ! For LINUX platform w/ IFORT v8/v9 compiler: ! Call IFORT_ERRMSG to get the error number and message !================================================================= ! Get an error msg corresponding to this error number ERROR_MSG = IFORT_ERRMSG( ERROR_NUM ) ! Print error message to std output WRITE( 6, 120 ) ERROR_NUM, TRIM( ERROR_MSG ) 120 FORMAT( /, 'Error ', i4, ': ', a ) #endif ! Fancy output WRITE( 6, '(a)' ) REPEAT( '=', 79 ) ! Deallocate arrays and stop safely CALL GEOS_CHEM_STOP END SUBROUTINE IOERROR !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: File_Ex_C ! ! !DESCRIPTION: Function FILE\_EX\_C returns TRUE if FILENAME exists or FALSE ! otherwise. This is handled in a platform-independent way. The argument ! is of CHARACTER type. !\\ !\\ ! !INTERFACE: ! FUNCTION FILE_EX_C( FILENAME ) RESULT( IT_EXISTS ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: FILENAME ! Name of file or dir to test ! ! !RETURN VALUE: ! LOGICAL :: IT_EXISTS ! =T if the file/dir exists ! ! !REMARKS: ! This routine is overloaded by public interface FILE_EXISTS. ! ! !REVISION HISTORY: ! 23 Mar 2005 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! Test whether directory exists w/ F90 INQUIRE function INQUIRE( FILE=TRIM( FILENAME ), EXIST=IT_EXISTS ) #ifdef LINUX_IFORT ! Intel IFORT v9 compiler requires use of the DIRECTORY keyword to ! INQUIRE for checking existence of directories. (bmy, 11/2/05) IF ( .not. IT_EXISTS ) THEN INQUIRE( DIRECTORY=TRIM( FILENAME ), EXIST=IT_EXISTS ) ENDIF #endif END FUNCTION FILE_EX_C !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: File_Ex_I ! ! !DESCRIPTION: Function FILE\_EX\_I returns TRUE if FILENAME exists or FALSE ! otherwise. This is handled in a platform-independent way. The argument ! is of INTEGER type. !\\ !\\ ! !INTERFACE: ! FUNCTION FILE_EX_I( IUNIT ) RESULT( IT_EXISTS ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: IUNIT ! LUN of file to be tested ! ! !RETURN VALUE: ! LOGICAL :: IT_EXISTS ! =T if the file/dir exists ! ! !REMARKS: ! This routine is overloaded by public interface FILE_EXISTS. ! ! !REVISION HISTORY: ! 23 Mar 2005 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! Test whether file unit exists w/ F90 INQUIRE function INQUIRE( IUNIT, EXIST=IT_EXISTS ) END FUNCTION FILE_EX_I !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Close_Files ! ! !DESCRIPTION: Subroutine CLOSE\_FILES closes files used by GEOS-Chem. This ! should be called only from the end of the "main.f" program. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CLOSE_FILES ! ! !REVISION HISTORY: ! 04 Mar 1998 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CLOSE( IU_FILE ) END SUBROUTINE CLOSE_FILES !EOC END MODULE FILE_MOD ================================================ FILE: GeosUtil/gc_grid_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: gc_grid_mod.F90 ! ! !DESCRIPTION: Module GC\_GRID\_MOD contains variables and routines which are ! used to specify the parameters of a GEOS-Chem horizontal grid. Grid ! parameters are computed as 3D arrays, which are required for interfacing ! with a GCM. !\\ !\\ ! !INTERFACE: ! MODULE GC_Grid_Mod ! ! !USES: ! USE ErrCode_Mod USE Error_Mod USE Precision_Mod USE PhysConstants USE Registry_Mod, ONLY : MetaRegItem USE State_Grid_Mod, ONLY : GrdState IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! #if !(defined( EXTERNAL_GRID ) || defined( EXTERNAL_FORCING )) PUBLIC :: Compute_Grid PUBLIC :: Compute_Scaled_Grid #endif PUBLIC :: GET_IJ PUBLIC :: SetGridFromCtr #if defined ( MODEL_WRF ) || defined( MODEL_CESM ) PUBLIC :: SetGridFromCtrEdges #endif ! ! !REVISION HISTORY: ! 23 Feb 2012 - R. Yantosca - Initial version, based on grid_mod.F90 ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! CONTAINS !EOC #if !(defined( EXTERNAL_GRID ) || defined( EXTERNAL_FORCING )) !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Compute_Grid ! ! !DESCRIPTION: Subroutine COMPUTE\_GRID initializes the longitude, latitude, ! and surface area arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Compute_Grid( Input_Opt, State_Grid, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(GrdState), INTENT(INOUT) :: State_Grid ! Grid State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success/failure? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 22 May 2019 - M. Sulprizio- Initial version: Consolidated Compute_Grid and ! DoGridComputation into single routine that ! computes fields in State_Grid. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: is_GMAO INTEGER :: I, J, L, IG, JG REAL(fp) :: YEDGE_VAL, YSIN_VAL REAL(fp) :: SIN_N, SIN_S, SIN_DIFF ! Strings CHARACTER(LEN=255) :: ErrMsg CHARACTER(LEN=255) :: ThisLoc !====================================================================== ! Initialization !====================================================================== ! Assume success RC = GC_SUCCESS ThisLoc = 'Compute_Grid (gc_grid_mod.F90)' !====================================================================== ! Vertical Grid !====================================================================== ! Set a flag to denote if this is a GMAO met field ! and also determine the native vertical resolution SELECT CASE( TRIM( Input_Opt%MetField ) ) ! GMAO met fields CASE( 'GEOSFP', 'GEOSIT', 'MERRA2' ) is_GMAO = .TRUE. State_Grid%NativeNZ = 72 CASE( 'MODELE2.1' ) is_GMAO = .FALSE. State_Grid%NativeNZ = 102 CASE DEFAULT ErrMsg = 'Met field ' // TRIM( Input_Opt%MetField ) // ' does ' // & 'not have State_Grid%NativeNZ defined. Please add ' // & 'this definition in GeosUtil/gc_grid_mod.F90.' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN END SELECT !====================================================================== ! Global Horizontal Grid ! ! First, we need to compute the XMid and YMid values on the global ! grid at the specified resolution to that we can compute X and Y ! offsets. !====================================================================== ! Compute number of grid boxes on global grid State_Grid%GlobalNX = 360.0_fp / State_Grid%DX IF ( State_Grid%HalfPolar .or. is_GMAO ) THEN State_Grid%GlobalNY = ( 180.0_fp / State_Grid%DY ) + 1 ELSE State_Grid%GlobalNY = ( 180.0_fp / State_Grid%DY ) ENDIF !---------------------------------------------------------------------- ! Calculate grid box centers on global grid !---------------------------------------------------------------------- ! Allocate arrays ALLOCATE( State_Grid%GlobalXMid(State_Grid%GlobalNX,State_Grid%GlobalNY),& STAT=RC ) CALL GC_CheckVar( 'State_Grid%GlobalXMid', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%GlobalXMid = 0e+0_fp ALLOCATE( State_Grid%GlobalYMid(State_Grid%GlobalNX,State_Grid%GlobalNY),& STAT=RC ) CALL GC_CheckVar( 'State_Grid%GlobalYMid', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%GlobalYMid = 0e+0_fp ALLOCATE( State_Grid%GlobalXEdge(State_Grid%GlobalNX+1,State_Grid%GlobalNY),& STAT=RC ) CALL GC_CheckVar( 'State_Grid%GlobalXEdge', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%GlobalXEdge = 0e+0_fp ALLOCATE( State_Grid%GlobalYEdge(State_Grid%GlobalNX,State_Grid%GlobalNY+1),& STAT=RC ) CALL GC_CheckVar( 'State_Grid%GlobalYEdge', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%GlobalYEdge = 0e+0_fp !====================================================================== ! Global Horizontal Grid: Edges !====================================================================== DO J = 1, State_Grid%GlobalNY DO I = 1, State_Grid%GlobalNX ! Latitude edges IF ( J == 1 ) THEN ! South Pole State_Grid%GlobalYEdge(I,J) = -90.0_fp ELSE IF ( State_Grid%HalfPolar .or. is_GMAO ) THEN State_Grid%GlobalYEdge(I,J) = -90.0_fp & - ( State_Grid%DY * 0.5_fp ) & + ( State_Grid%DY * ( J - 1 ) ) ELSE State_Grid%GlobalYEdge(I,J) = -90.0_fp & + ( State_Grid%DY * ( J - 1 ) ) ENDIF IF ( J == State_Grid%GlobalNY ) THEN ! North pole State_Grid%GlobalYEdge(I,J+1) = +90.0_fp ENDIF ENDIF ! Longitude edges IF ( I == 1 ) THEN IF ( State_Grid%Center180 ) THEN State_Grid%GlobalXEdge(I,J) = -180.0_fp & - ( State_Grid%DX * 0.5_fp ) ELSE State_Grid%GlobalXEdge(I,J) = -180.0_fp ENDIF ELSE State_Grid%GlobalXEdge(I,J) = State_Grid%GlobalXEdge(1,J) & + ( State_Grid%DX * ( I - 1 ) ) IF ( I == State_Grid%GlobalNX ) THEN State_Grid%GlobalXEdge(I+1,J) = State_Grid%GlobalXEdge(1,J) & + 360.0_fp ENDIF ENDIF ENDDO ENDDO !====================================================================== ! Global Horizontal Grid: Centers !====================================================================== DO J = 1, State_Grid%GlobalNY DO I = 1, State_Grid%GlobalNX ! Latitude centers State_Grid%GlobalYMid(I,J) = 0.5_fp * & ( State_Grid%GlobalYEdge(I,J) + State_Grid%GlobalYEdge(I,J+1) ) ! Longitude centers State_Grid%GlobalXMid(I,J) = 0.5_fp * & ( State_Grid%GlobalXEdge(I,J) + State_Grid%GlobalXEdge(I+1,J) ) ENDDO ENDDO !====================================================================== ! User-defined Horizontal Grid !====================================================================== ! Determine X offsets based on global grid DO I = 1, State_Grid%GlobalNX IF ( State_Grid%GlobalXMid(I,1) >= State_Grid%XMin ) THEN State_Grid%XMinOffset = I - 1 EXIT ENDIF ENDDO DO I = State_Grid%GlobalNX, 1, -1 IF ( State_Grid%GlobalXMid(I,1) <= State_Grid%XMax ) THEN State_Grid%XMaxOffset = I - 1 EXIT ENDIF ENDDO ! Determine Y offsets based on global grid DO J = 1, State_Grid%GlobalNY IF ( State_Grid%GlobalYMid(1,J) >= State_Grid%YMin ) THEN State_Grid%YMinOffset = J - 1 EXIT ENDIF ENDDO DO J = State_Grid%GlobalNY, 1, -1 IF ( State_Grid%GlobalYMid(1,J) <= State_Grid%YMax ) THEN State_Grid%YMaxOffset = J - 1 EXIT ENDIF ENDDO !---------------------------------------------------------------------- ! Calculate grid box centers and edges on global grid !---------------------------------------------------------------------- ! Loop over horizontal grid DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Index value for user-defined grid on the global grid IG = I + State_Grid%XMinOffset JG = J + State_Grid%YMinOffset !-------------------------------- ! Longitude centers [degrees] !-------------------------------- State_Grid%XMid(I,J) = State_Grid%GlobalXMid( IG, JG ) !-------------------------------- ! Longitude edges [degrees] !-------------------------------- State_Grid%XEdge(I,J) = State_Grid%GlobalXEdge( IG, JG ) ! Compute the last longitude edge IF ( I == State_Grid%NX ) THEN State_Grid%XEdge(I+1,J) = State_Grid%GlobalXEdge(IG+1,J) ENDIF !-------------------------------- ! Latitude centers [degrees] !-------------------------------- State_Grid%YMid(I,J) = State_Grid%GlobalYMid( IG, JG ) !-------------------------------- ! Latitude centers [radians] !-------------------------------- State_Grid%YMid_R(I,J) = ( PI_180 * State_Grid%YMid(I,J) ) !----------------------------------------- ! Latitude edges [degrees; rad; sin(lat)] !----------------------------------------- State_Grid%YEdge(I,J) = State_Grid%GlobalYEdge( IG, JG ) State_Grid%YEdge_R(I,J) = ( PI_180 * State_Grid%YEdge(I,J) ) State_Grid%YSIN(I,J) = SIN( State_Grid%YEdge_R(I,J) ) ! Compute the last latitude edge IF ( J == State_Grid%NY ) THEN State_Grid%YEdge(I,J+1) = State_Grid%GlobalYEdge(I,JG+1) State_Grid%YEdge_R(I,J+1) = ( PI_180 * State_Grid%YEdge(I,J+1) ) State_Grid%YSIN(I,J+1) = SIN( State_Grid%YEdge_R(I,J+1) ) ENDIF ENDDO ENDDO !====================================================================== ! Compute grid box surface areas ! ! The surface area of a grid box is derived as follows: ! ! Area = dx * dy ! ! Where: ! ! dx is the arc length of the box in longitude ! dy is the arc length of the box in latitude ! ! Which are computed as: ! ! dx = r * delta-longitude ! = ( Re * cos[ YMID[J] ] ) * ( 2 * PI / IIIPAR ) ! ! dy = r * delta-latitude ! = Re * ( YEDGE[J+1] - YEDGE[J] ) ! ! Where: ! ! Re is the radius of the earth ! YMID[J] is the latitude at the center of box J ! YEDGE[J+1] is the latitude at the N. Edge of box J ! YEDGE[J] is the latitude at the S. Edge of box J ! ! So, the surface area is thus: ! ! Area = ( Re * cos( YMID[J] ) * ( 2 * PI / IIIPAR ) * ! Re * ( YEDGE[J+1] - YEDGE[J] ) ! ! 2*PI*Re^2 { } ! = ----------- * { cos( YMID[J] ) * ( YEDGE[J+1] - YEDGE[J] ) } ! IIIPAR { } ! ! And, by using the trigonometric identity: ! ! d sin(x) = cos x * dx ! ! The following term: ! ! cos( YMID[J] ) * ( YEDGE[J+1] - YEDGE[J] ) ! ! May also be written as a difference of sines: ! ! sin( YEDGE[J+1] ) - sin( YEDGE[J] ) ! ! So the final formula for surface area of a grid box is: ! ! 2*PI*Re^2 { } ! Area = ----------- * { sin( YEDGE[J+1] ) - sin( YEDGE[J] ) } ! IIIPAR { } ! ! ! NOTES: ! (1) The formula with sines is more numerically stable, and will ! yield identical global total surface areas for all grids. ! (2) The units are determined by the radius of the earth Re. ! if you use Re [m], then surface area will be in [m2], or ! if you use Re [cm], then surface area will be in [cm2], etc. ! (3) The grid box surface areas only depend on latitude, as they ! are symmetric in longitude. To compute the global surface ! area, multiply the surface area arrays below by the number ! of longitudes (e.g. IIIPAR). ! (4) At present, assumes that GEOS-Chem will work on a ! Cartesian grid. ! ! (bmy, 4/20/06, 2/24/12) !====================================================================== ! Loop over horizontal grid DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Sine of latitudes at N and S edges of grid box (I,J) SIN_N = SIN( State_Grid%YEdge_R(I,J+1) ) SIN_S = SIN( State_Grid%YEdge_R(I,J ) ) ! Difference of sin(latitude) at N and S edges of grid box SIN_DIFF = SIN_N - SIN_S ! Grid box surface areas [m2] State_Grid%Area_M2(I,J) = ( State_Grid%DX * PI_180 ) * & ( Re**2 ) * SIN_DIFF #ifdef LUO_WETDEP State_Grid%DXSN_M(I,J) = Re * & ACOS( SIN( State_Grid%YMid(I,J) * PI_180 ) * & SIN( State_Grid%YMid(I,J) * PI_180 ) + & COS( State_Grid%YMid(I,J) * PI_180 ) * & COS( State_Grid%YMid(I,J) * PI_180 ) * & COS( State_Grid%XEdge(I+1,J) * PI_180 - & State_Grid%XEdge(I,J) * PI_180) ) State_Grid%DYWE_M(I,J) = Re * & ACOS( SIN( State_Grid%YEdge_R(I,J ) ) * & SIN( State_Grid%YEdge_R(I,J+1) ) + & COS( State_Grid%YEdge_R(I,J ) ) * & COS( State_Grid%YEdge_R(I,J+1) ) * & COS( State_Grid%XMid(I,J) * PI_180 - & State_Grid%XMid(I,J) * PI_180 ) ) #endif ENDDO ENDDO ! Return successfully RC = GC_SUCCESS !====================================================================== ! Echo info to stdout !====================================================================== IF ( Input_Opt%amIRoot ) THEN WRITE( 6, '(a)' ) WRITE( 6, '(''%%%%%%%%%%%%%%% GLOBAL GRID %%%%%%%%%%%%%%%'')' ) WRITE( 6, '(a)' ) WRITE( 6, '(''Grid box longitude centers [degrees]: '')' ) WRITE( 6, '(7(f10.5,1x))' ) ( State_Grid%GlobalXMid(I,1), & I=1,State_Grid%GlobalNX ) WRITE( 6, '(a)' ) WRITE( 6, '(''Grid box latitude centers [degrees]: '')' ) WRITE( 6, '(7(f10.5,1x))' ) ( State_Grid%GlobalYMid(1,J), & J=1,State_Grid%GlobalNY ) WRITE( 6, '(a)' ) WRITE( 6, '(''%%%%%%%%%%%% USER-DEFINED GRID %%%%%%%%%%%%'')' ) WRITE( 6, '(a)' ) WRITE( 6, * ) ' XMinOffset : ', State_Grid%XMinOffset WRITE( 6, * ) ' XMaxOffset : ', State_Grid%XMaxOffset WRITE( 6, * ) ' YMinOffset : ', State_Grid%YMinOffset WRITE( 6, * ) ' YMaxOffset : ', State_Grid%YMaxOffset WRITE( 6, '(a)' ) WRITE( 6, '(a)' ) WRITE( 6, '(''Grid box longitude centers [degrees]: '')' ) WRITE( 6, '(7(f10.5,1x))') ( State_Grid%XMid(I,1), I=1,State_Grid%NX ) WRITE( 6, '(a)' ) WRITE( 6, '(''Grid box longitude edges [degrees]: '')' ) WRITE( 6, '(7(f10.5,1x))') ( State_Grid%XEdge(I,1), I=1,State_Grid%NX+1 ) WRITE( 6, '(a)' ) WRITE( 6, '(''Grid box latitude centers [degrees]: '')' ) WRITE( 6, '(7(f10.5,1x))') ( State_Grid%YMid(1,J), J=1,State_Grid%NY ) WRITE( 6, '(a)' ) WRITE( 6, '(''Grid box latitude edges [degrees]: '')' ) WRITE( 6, '(7(f10.5,1x))') ( State_Grid%YEdge(1,J), J=1,State_Grid%NY+1 ) WRITE( 6, '(a)' ) WRITE( 6, '(''SIN( grid box latitude edges )'')' ) WRITE( 6, '(7(f10.5,1x))') ( State_Grid%YSIN(1,J), J=1,State_Grid%NY+1 ) ENDIF END SUBROUTINE Compute_Grid !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Compute_Scaled_Grid ! ! !DESCRIPTION: Subroutine COMPUTE\_SCALED\_GRID populates a secondary Grid ! State object ("Destination") by performing a linear scaling refinement ! of the primary ("Source") Grid. e.g. a scale of 2 will yield ! 2 x 2.5 -> 1 x 1.25. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Compute_Scaled_Grid( Input_Opt, State_Grid, State_Grid_Dst, & XScale, YScale, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : Init_State_Grid, Allocate_State_Grid ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN ) :: State_Grid ! Grid State object, orig TYPE(GrdState), INTENT(INOUT) :: State_Grid_Dst ! Grid State object, scaled INTEGER, INTENT(IN ) :: XScale ! Long dim scale (>=1) INTEGER, INTENT(IN ) :: YScale ! Lat dim scale (>=1) ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success/failure? ! ! !REMARKS: ! Unlike Compute_Grid, Compute_Scaled_Grid takes care of allocating ! the State_Grid_Dst derived type object. ! Only works with rectilinear lat-lon (assumptions given) ! ! !REVISION HISTORY: ! 15 Jun 2020 - H.P. Lin - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, J, L, II, JJ REAL(fp) :: delta ! Strings CHARACTER(LEN=255) :: ErrMsg CHARACTER(LEN=255) :: ThisLoc ! Code begins here! RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Compute_Scaled_Grid (in module GeosUtil/gc_grid_mod.F90)' ! Verify the scales are correct IF ( XScale .lt. 1 .or. YScale .lt. 1 ) THEN RC = GC_FAILURE ErrMsg = 'Cannot scale Compute_Scaled_Grid to a negative factor!' CALL GC_Error( ErrMsg, RC, ThisLoc ) ENDIF ! Initialize the destination object for safety sake CALL Init_State_Grid ( Input_Opt, State_Grid_Dst, RC ) ! First, copy generic properties of the grid state information State_Grid_Dst%HalfPolar = State_Grid%HalfPolar State_Grid_Dst%NestedGrid = State_Grid%NestedGrid ! The vertical direction is NOT scaled! State_Grid_Dst%NZ = State_Grid%NZ ! Compute the scaling. First NX, NY will be x number the scaled grid boxes State_Grid_Dst%NX = State_Grid%NX * XScale State_Grid_Dst%NY = State_Grid%NY * YScale State_Grid_Dst%XMin = State_Grid%XMin State_Grid_Dst%XMax = State_Grid%XMax State_Grid_Dst%YMin = State_Grid%YMin State_Grid_Dst%YMax = State_Grid%YMax ! The delta is also divided. Note however that the polar boxes ! will also be evenly divided so you may have more than 1 1/2-sized polar box. ! ! LATITUDE EDGES example: ! [deg_Src] [deg_Dst] ! 90.0 90.0 ! 89.5* * additional polar edge ! 89.0 89.0 ! 88.0 ! 87.0 87.0 ! ... in 2x2.5 grid ... in 1xLon grid (2x scaling) State_Grid_Dst%DX = State_Grid%DX / XScale State_Grid_Dst%DY = State_Grid%DY / YScale ! Now, allocate the derived type object as we have NX, NY and NZ now! CALL Allocate_State_Grid ( Input_Opt, State_Grid_Dst, RC ) IF ( Input_Opt%amIRoot ) THEN WRITE(6,*) "GC_GRID_MOD: Scaled grid NX, NY, DX, DY", State_Grid_Dst%NX, State_Grid_Dst%NY, & State_Grid_Dst%DX, State_Grid_Dst%DY ENDIF ! Now, fill in the appropriate fields. Note that we do not fill ! all available fields in State_Grid, only the ones that are used ! by HEMCO for now. This is just to save development time (hplin, 6/15/20) <-- person to blame ! XMid, YMid, XEdge, YEdge, YSin, Area_M2 ! First, construct the edges. The end goals is that the edges ! of the destination grid will be equal as the original grid, plus the refined edges. ! So, fill in the original edges, then interpolate DO I = 1, State_Grid%NX+1 ! For each original longitude EDGE... II = 1 + XScale * (I - 1) State_Grid_Dst%XEdge(II,:) = State_Grid%XEdge(I,1) ! Fill in the gaps above, except if there isnt one IF ( II .lt. State_Grid_Dst%NX ) THEN Delta = (State_Grid%XEdge(I+1,1) - State_Grid%XEdge(I,1)) / XScale DO JJ = 1, XScale State_Grid_Dst%XEdge(II+JJ,:) = State_Grid_Dst%XEdge(II,:) + Delta * JJ ENDDO ENDIF ENDDO ! For latitude, do the same DO I = 1, State_Grid%NY+1 II = 1 + YScale * (I - 1) State_Grid_Dst%YEdge(:,II) = State_Grid%YEdge(1,I) ! Fill in the gaps above, except if there isnt one IF ( II .lt. State_Grid_Dst%NY ) THEN Delta = (State_Grid%YEdge(1,I+1) - State_Grid%YEdge(1,I)) / YScale DO JJ = 1, YScale State_Grid_Dst%YEdge(:,II+JJ) = State_Grid_Dst%YEdge(:,II) + Delta * JJ ENDDO ENDIF ENDDO DO J = 1, State_Grid_Dst%NY+1 ! Including edges! DO I = 1, State_Grid_Dst%NX State_Grid_Dst%YEdge_R(I,J) = ( PI_180 * State_Grid_Dst%YEdge(I,J) ) State_Grid_Dst%YSIN(I,J) = SIN( State_Grid_Dst%YEdge_R(I,J) ) ENDDO ENDDO ! Compute surface areas and midpoints DO J = 1, State_Grid_Dst%NY DO I = 1, State_Grid_Dst%NX State_Grid_Dst%XMid(I,J) = (State_Grid_Dst%XEdge(I,J) + State_Grid_Dst%XEdge(I+1,J)) / 2.0 State_Grid_Dst%YMid(I,J) = (State_Grid_Dst%YEdge(I,J) + State_Grid_Dst%YEdge(I,J+1)) / 2.0 ! Grid box surface areas [m2] State_Grid_Dst%Area_M2(I,J) = ( State_Grid_Dst%DX * PI_180 ) * ( Re**2 ) * & ( SIN( State_Grid_Dst%YEdge_R(I,J+1) ) - SIN( State_Grid_Dst%YEdge_R(I,J ) )) ENDDO ENDDO IF ( Input_Opt%amIRoot ) THEN WRITE( 6, '(''%%%%%%%%%%%%%%% SCALED (HEMCO) GRID %%%%%%%%%%%%%%%'')' ) WRITE( 6, '(''Grid box longitude centers [degrees]: '')' ) WRITE( 6, '(7(f10.5,1x))' ) ( State_Grid_Dst%XMid(I,1), I=1,State_Grid_Dst%NX ) WRITE( 6, '(a)' ) WRITE( 6, '(''Grid box longitude edges [degrees]: '')' ) WRITE( 6, '(7(f10.5,1x))' ) ( State_Grid_Dst%XEdge(I,1), I=1,State_Grid_Dst%NX+1 ) WRITE( 6, '(a)' ) WRITE( 6, '(''Grid box latitude centers [degrees]: '')' ) WRITE( 6, '(7(f10.5,1x))' ) ( State_Grid_Dst%YMid(1,J), J=1,State_Grid_Dst%NY ) WRITE( 6, '(a)' ) WRITE( 6, '(''Grid box latitude edges [degrees]: '')' ) WRITE( 6, '(7(f10.5,1x))' ) ( State_Grid_Dst%YEdge(1,J), J=1,State_Grid_Dst%NY+1 ) WRITE( 6, '(a)' ) WRITE( 6, '(''SIN( grid box latitude edges )'')' ) WRITE( 6, '(7(f10.5,1x))' ) ( State_Grid_Dst%YSIN(1,J), J=1,State_Grid_Dst%NY+1 ) ENDIF END SUBROUTINE Compute_Scaled_Grid !EOC #endif !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: SetGridFromCtr ! ! !DESCRIPTION: Subroutine SetGridFromCtr sets the grid based upon the passed ! mid-points. This routine is primarily intented to provide an interface to ! GEOS-5 in an ESMF-environment. !\\ !\\ ! This routine does not update the grid box areas (AREA\_M2) of grid\_mod.F90. ! These need to be updated manually. We cannot do this within this routine ! since in GEOS-5, the grid box areas are not yet available during the ! initialization phase (they are imported from superdynamics). ! !INTERFACE: ! SUBROUTINE SetGridFromCtr( Input_Opt, State_Grid, lonCtr, latCtr, RC ) ! ! USES ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE Roundoff_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object REAL(f4), INTENT(IN) :: lonCtr(:,:) ! Lon ctrs [rad] REAL(f4), INTENT(IN) :: latCtr(:,:) ! Lat ctrs [rad] TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: RC ! ! !REVISION HISTORY: ! 02 Jan 2014 - C. Keller - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, J REAL(fp) :: YEDGE_VAL, YSIN_VAL, TMP ! Strings CHARACTER(LEN=255) :: ErrMsg CHARACTER(LEN=255) :: ThisLoc !====================================================================== ! SetGridFromCtr begins here! !====================================================================== ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at SetGridFromCtr (in module GeosUtil/gc_grid_mod.F90)' ! Loop over all grid boxes DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Mid points: get directly from passed value State_Grid%XMid(I,J) = RoundOff( lonCtr(I,J) / PI_180, 4 ) State_Grid%YMid(I,J) = RoundOff( latCtr(I,J) / PI_180, 4 ) State_Grid%YMid_R(I,J) = State_Grid%YMid(I,J) * PI_180 ! Edges: approximate from neighboring mid points. #if defined( MODEL_CESM ) ! If using CESM, prevent out-of-bound errors when running with ! NX or NY equal to 1 IF ( State_Grid%NX > 1 ) THEN #endif IF ( I == 1 ) THEN TMP = RoundOff( lonCtr(I+1,J) / PI_180, 4 ) State_Grid%XEdge(I,J) = State_Grid%XMid(I,J) - & ( ( TMP - State_Grid%XMid(I,J) ) / 2.0_f4 ) ELSE State_Grid%XEdge(I,J) = ( State_Grid%XMid(I,J) + & State_Grid%XMid(I-1,J) ) / 2.0_f4 ENDIF #if defined( MODEL_CESM ) ELSE State_Grid%XEdge(I,J) = State_Grid%XMid(I,J) ENDIF IF ( State_Grid%NY > 1 ) THEN #endif IF ( J == 1 ) THEN TMP = RoundOff( latCtr(I,J+1) / PI_180, 4 ) State_Grid%YEdge(I,J) = State_Grid%YMid(I,J) - & ( ( TMP - State_Grid%YMid(I,J) ) / 2.0_f4 ) ELSE State_Grid%YEdge(I,J) = ( State_Grid%YMid(I,J) + & State_Grid%YMid(I,J-1) ) / 2.0_f4 ENDIF #if defined( MODEL_CESM ) ELSE State_Grid%YEdge(I,J) = State_Grid%YMid(I,J) ENDIF #endif ! Special treatment at uppermost edge #if defined( MODEL_CESM ) IF ( State_Grid%NX > 1 ) THEN #endif IF ( I == State_Grid%NX ) THEN State_Grid%XEdge(I+1,J) = State_Grid%XMid(I,J) + & ( ( State_Grid%XMid(I,J) - State_Grid%XMid(I-1,J) ) / 2.0_f4 ) ENDIF #if defined( MODEL_CESM ) ENDIF IF ( State_Grid%NY > 1 ) THEN #endif IF ( J == State_Grid%NY ) THEN State_Grid%YEdge(I,J+1) = State_Grid%YMid(I,J) + & ( ( State_Grid%YMid(I,J) - State_Grid%YMid(I,J-1) ) / 2.0_f4 ) ENDIF #if defined( MODEL_CESM ) ENDIF #endif ! Special quantities directly derived from State_Grid%YEdge State_Grid%YEdge_R(I,J) = State_Grid%YEdge(I,J) * PI_180 YEDGE_VAL = State_Grid%YEdge_R(I,J) ! Lat edge[radians] YSIN_VAL = SIN( YEDGE_VAL) ! SIN( lat edge ) State_Grid%YSIN(I,J) = YSIN_VAL ! Store in YSIN ENDDO ENDDO ! Return w/ success RC = GC_SUCCESS END SUBROUTINE SetGridFromCtr !EOC #if defined ( MODEL_WRF ) || defined( MODEL_CESM ) !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: SetGridFromCtrEdges ! ! !DESCRIPTION: Subroutine SetGridFromCtrEdges sets the grid based upon the ! passed mid-points and edge-points given an external grid. This interface ! is primarily used for GEOS-Chem to interface with the WRF and CESM models. !\\ !\\ ! This routine does not update the grid box areas (AREA\_M2) of grid\_mod.F90. ! These need to be updated manually from State\_Grid%AREA\_M2 to maintain ! consistency with the GEOS-Chem interface to GEOS-5. ! !INTERFACE: ! SUBROUTINE SetGridFromCtrEdges( Input_Opt, State_Grid, lonCtr, latCtr, & lonEdge, latEdge, RC ) ! ! USES ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE Roundoff_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object REAL(f4), INTENT(IN) :: lonCtr (:,:) ! Lon ctrs [rad] REAL(f4), INTENT(IN) :: latCtr (:,:) ! Lat ctrs [rad] REAL(f4), INTENT(IN) :: lonEdge(:,:) ! Lon edges [rad] REAL(f4), INTENT(IN) :: latEdge(:,:) ! Lat edges [rad] TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object !! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: RC ! ! !REVISION HISTORY: ! 11 Nov 2018 - H.P. Lin - Initial version based on SetGridFromCtr ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, J REAL(fp) :: YEDGE_VAL, YSIN_VAL, TMP ! Strings CHARACTER(LEN=255) :: ErrMsg CHARACTER(LEN=255) :: ThisLoc !====================================================================== ! SetGridFromCtrEdges begins here! !====================================================================== ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at SetGridFromCtrEdges (in module GeosUtil/gc_grid_mod.F90)' ! Loop over all grid boxes DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Mid points: get directly from passed value State_Grid%XMid(I,J) = RoundOff( lonCtr(I,J) / PI_180, 4 ) State_Grid%YMid(I,J) = RoundOff( latCtr(I,J) / PI_180, 4 ) State_Grid%YMid_R(I,J) = State_Grid%YMid(I,J) * PI_180 ! Edges: get directly from passed value State_Grid%XEdge(I,J) = RoundOff( lonEdge(I,J) / PI_180, 4 ) State_Grid%YEdge(I,J) = RoundOff( latEdge(I,J) / PI_180, 4 ) ! Special treatment at uppermost edge IF ( I == State_Grid%NX ) THEN State_Grid%XEdge(I+1,J) = RoundOff( lonEdge(I+1,J) / PI_180, 4 ) ENDIF IF ( J == State_Grid%NY ) THEN State_Grid%YEdge(I,J+1) = RoundOff( latEdge(I,J+1) / PI_180, 4 ) State_Grid%YEdge_R(I,J+1) = State_Grid%YEdge(I,J+1) * PI_180 State_Grid%YSIN(I,J+1) = SIN( State_Grid%YEdge_R(I,J+1) ) ENDIF ! Special quantities directly derived from State_Grid%YEdge State_Grid%YEdge_R(I,J) = State_Grid%YEdge(I,J) * PI_180 YEDGE_VAL = State_Grid%YEdge_R(I,J) ! Lat edge[radians] YSIN_VAL = SIN( YEDGE_VAL ) ! SIN( lat edge ) State_Grid%YSIN(I,J) = YSIN_VAL ! Store in YSIN ENDDO ENDDO ! Return w/ success RC = GC_SUCCESS END SUBROUTINE SetGridFromCtrEdges #endif !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_IJ ! ! !DESCRIPTION: Function GET\_IJ returns I and J index for a LON, LAT ! coordinate (dkh, 11/16/06). Updated to support nested domains and made much ! simpler (zhe, 1/19/11). !\\ !\\ ! !INTERFACE: ! FUNCTION GET_IJ( LON, LAT, State_Grid ) RESULT ( IIJJ ) ! ! !USES: ! USE ERROR_MOD, ONLY : ERROR_STOP USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! REAL*4, INTENT(IN) :: LAT, LON TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !RETURN VALUE: ! INTEGER :: IIJJ(2) ! ! !REVISION HISTORY: ! 16 Jun 2017 - M. Sulprizio- Initial version based on routine from adjoint ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) :: TLON, TLAT REAL(fp) :: I0, J0 !================================================================= ! GET_IJ begins here! !================================================================= I0 = State_Grid%XMinOffset J0 = State_Grid%YMinOffset TLON = INT( ( LON + 180e+0_fp ) / State_Grid%DX + 1.5e+0_fp ) TLAT = INT( ( LAT + 90e+0_fp ) / State_Grid%DY + 1.5e+0_fp ) IF ( State_Grid%NestedGrid ) THEN TLON = TLON - I0 TLAT = TLAT - J0 IF ( TLAT < 1 .or. TLAT > State_Grid%NY ) THEN CALL ERROR_STOP('Beyond the nested window', 'GET_IJ') ENDIF ELSE IF ( TLON > State_Grid%NX ) TLON = TLON - State_Grid%NX ! Check for impossible values IF ( TLON > State_Grid%NX .or. TLAT > State_Grid%NY .or. & TLON < 1 .or. TLAT < 1 ) THEN CALL ERROR_STOP('Error finding grid box', 'GET_IJ') ENDIF ENDIF IIJJ(1) = TLON IIJJ(2) = TLAT END FUNCTION GET_IJ !EOC END MODULE GC_Grid_Mod ================================================ FILE: GeosUtil/henry_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: henry_mod.F90 ! ! !DESCRIPTION: Module HENRY\_MOD contains routines to calculate ! The dimensionless liquid-over-gas Henry constant KH as well as the ! effective Henry constant HEFF, which accounts for hydrolysis. !\\ !\\ ! KH = K0 * exp ( CR * (1/T - 1/Tref) ) * R * T / 101.325 !\\ !\\ ! HEFF = KH * ( 1 + 10\^(pH-pKa) ) !\\ !\\ ! where K0 is the value of KH at standard conditions [M/atm], CR is the ! temperature dependency of KH [K], T is the temperature in Kelvin, Tref ! is the reference temperature (298.15 K), and R is the universal gas ! constant R = 8.314 JK-1mol-1. !\\ !\\ ! References: ! \begin{itemize} ! \item Sander, R: Compilation of Henry's law constant for inorganic and ! organic species of potential importance in environmental chemistry, 1999. ! \item http://www.mpch-mainz.mpg.de/~sander/res/henry.html. ! \end{itemize} ! ! !INTERFACE: ! MODULE HENRY_MOD IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: CALC_KH PUBLIC :: CALC_HEFF ! ! !REVISION HISTORY: ! 16 Apr 2013 - C. Keller - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! REAL*8, PARAMETER :: TREF = 298.15d0 ! [K ] REAL*8, PARAMETER :: R = 8.3144598d0 ! [J K-1 mol-1] REAL*8, PARAMETER :: ATM = 101.325d0 ! [mPa (!) ] CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: calc_kh ! ! !DESCRIPTION: Function CALC\_KH calculates the liquid over gas ! dimensionless Henry constant for the given tracer and temperature. ! ! Reference: http://www.mpch-mainz.mpg.de/~sander/res/henry.html !\\ !\\ ! !INTERFACE: ! SUBROUTINE CALC_KH ( thisK0, thisCR, TK, KH, RC ) ! ! !INPUT PARAMETERS: ! REAL*8, INTENT(IN) :: thisK0 ! [M/atm] REAL*8, INTENT(IN) :: thisCR ! [-d ln kH / d(1/T) ] REAL*8, INTENT(IN) :: TK ! Temperature [K] ! ! !OUTPUT PARAMETERS: ! REAL*8, INTENT(OUT) :: KH ! Henry liquid over gas constant [-] ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: RC ! Error handling ! ! !REVISION HISTORY: ! 16 Apr 2013 - C. Keller - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC !================================================================= ! CALC_KH begins here! !================================================================= ! Assume success RC = 0 ! Error if not defined IF ( thisK0 == 0d0 ) THEN RC = -999 KH = -999 RETURN ENDIF ! Calculate Henry coefficient for given temperature KH = thisK0 * exp( thisCR * (1/TK - 1/TREF) ) * R * TK / ATM END SUBROUTINE CALC_KH !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: calc_heff ! ! !DESCRIPTION: Function CALC\_HEFF calculates the effective Henry ! constant taking into account hydrolysis effects. For instance, aqueous ! HBr will dissociate to Br- (and H+), and often we are interested in the ! total Br concentration in water, i.e. Brx = HBr + Br-, with the equilibrium ! concentration of Brx and gaseous HBr being the effective Henry ! constant. This function provides the correction factor to calculate ! the effective Henry constant from the 'regular' Henry constant ! (above): !\\ !\\ ! Heff = KH * CORR !\\ !\\ ! The correction term is derived as following: !\\ !\\ ! The regular Henry constant is: H = HA(liq) / HA(g) ! The effective Henry constant is: Heff = ( HA(liq) + A(liq)) / HA(g) ! Equilibrium between HA and A is: pH = pK + log ( A/HA ) ! A(liq) hence becomes: HA(liq) * 10**(pH-pK) !\\ !\\ ! ==> Heff = ( HA(liq) * ( 1 + 10**(pH-pK) ) / HA(g) ! = HA(liq) / HA(g) * ( 1 + 10**(pH-pK) ) ! = H * ( 1 + 10**(pH-pK) ) !\\ !\\ ! ==> CORR = 1 + 10**(pH-pK) !\\ !\\ ! !INTERFACE: ! SUBROUTINE CALC_HEFF ( thispKa, PH, KH, HEFF, RC ) ! ! !INPUT PARAMETERS: ! REAL*8, INTENT(IN) :: thispKa ! pKa value [-] REAL*8, INTENT(IN) :: PH ! PH value [-] REAL*8, INTENT(IN) :: KH ! gas/aq Henry constant [-] ! ! !OUTPUT PARAMETERS: ! REAL*8, INTENT(OUT) :: HEFF ! effective gas/aq constant [-] ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: RC ! for error handling ! ! !REMARKS: ! It should be noted that the correction term calculated here is from a ! 'acid perspective', i.e. for compounds with the acid being in the ! gaseous phase. The correction term reads 1 + 10**(-pH+pK) for ! compounds with the base in the gas phase (e.g. ammonia). ! ! The correction term becomes more complicated for compounds with more ! than two equilibrium compounds that are relevant under the current ! conditions (e.g. CO2). ! ! We ignore any temperature dependencies of pKa for now. ! ! !REVISION HISTORY: ! 16 Apr 2013 - C. Keller - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC !================================================================= ! CALC_HEFF begins here! !================================================================= ! Assume success RC = 0 ! Calculate correction term. ! NOTE: Allow for negative pKa, but skip missing values (-999). ! Also remove the ELSE block for computational efficiency. ! -- Viral Shah & Bob Yantosca, 03 Dec 2020 HEFF = KH IF ( pH > 0.0d0 .and. thispKa > -100d0 ) THEN HEFF = HEFF * ( 1d0 + 10d0**( pH - thispKa ) ) ENDIF END SUBROUTINE CALC_HEFF !EOC END MODULE HENRY_MOD ================================================ FILE: GeosUtil/ifort_errmsg.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !ROUTINE: ifort_errmsg.F90 ! ! !DESCRIPTION: Function IFORT\_ERRMSG returns an error message string that ! corresponds to an I/O error number obtained via the IOSTAT or STAT ! specifiers. (This is specifically for the Intel Fortran compiler.) !\\ !\\ ! !INTERFACE: ! FUNCTION IFORT_ERRMSG( ERROR_NUM ) RESULT( MSG ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: ERROR_NUM ! Error condition from IOSTAT ! ! !RETURN VALUE: ! CHARACTER(LEN=255) :: MSG ! Descriptive error message ! ! !REVISION HISTORY: ! 30 Nov 2005 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! Select a error message based on the error codes ! for Intel Fortran Compiler v9.0. SELECT CASE( ERROR_NUM ) CASE( 0 ) MSG = '' CASE( 1 ) MSG = 'Not a Fortran-specific error' CASE( 8 ) MSG = 'Internal consistency check failure' CASE( 9 ) MSG = 'Permission to access file denied' CASE( 10 ) MSG = 'Cannot overwrite existing file' CASE( 11 ) MSG = 'Unit not connected' CASE( 17 ) MSG = 'Syntax error in NAMELIST input' CASE( 18 ) MSG = 'Too many values for NAMELIST variable' CASE( 19 ) MSG = 'Invalid reference to variable in NAMELIST input' CASE( 20 ) MSG = 'REWIND error' CASE( 21 ) MSG = 'Duplicate file specifications' CASE( 22 ) MSG = 'Input record too long' CASE( 23 ) MSG = 'Backspace error' CASE( 24 ) MSG = 'END-OF-FILE during read' CASE( 25 ) MSG = 'Record number outside range' CASE( 26 ) MSG = 'OPEN or DEFINE FILE required' CASE( 27 ) MSG = 'Too many records in I/O statement' CASE( 28 ) MSG = 'CLOSE error' CASE( 29 ) MSG = 'File not found' CASE( 30 ) MSG = 'OPEN failure' CASE( 31 ) MSG = 'Mixed file access modes' CASE( 32 ) MSG = 'Invalid logical unit number' CASE( 33 ) MSG = 'ENDFILE error' CASE( 34 ) MSG = 'Unit already open' CASE( 35 ) MSG = 'Segmented record format error' CASE( 36 ) MSG = 'Attempt to access non-existent record' CASE( 37 ) MSG = 'Inconsistent record length' CASE( 38 ) MSG = 'Error during write' CASE( 39 ) MSG = 'Error during read' CASE( 40 ) MSG = 'Recursive I/O operation' CASE( 41 ) MSG = 'Insufficient virtual memory' CASE( 42 ) MSG = 'No such device' CASE( 43 ) MSG = 'File name specification error' CASE( 44 ) MSG = 'Inconsistent record type' CASE( 45 ) MSG = 'Keyword value error in OPEN statement' CASE( 46 ) MSG = 'Inconsistent OPEN/CLOSE parameters' CASE( 47 ) MSG = 'Write to READONLY file' CASE( 48 ) MSG = 'Invalid argument to Fortran Run-Time Library' CASE( 51 ) MSG = 'Inconsistent file organization' CASE( 53 ) MSG = 'No current record' CASE( 55 ) MSG = 'DELETE error' CASE( 57 ) MSG = 'FIND error' CASE( 58 ) MSG = 'Format syntax error' CASE( 59 ) MSG = 'List-directed I/O syntax error' CASE( 60 ) MSG = 'Infinite format loop' CASE( 61 ) MSG = 'Format/variable type mismatch' CASE( 62 ) MSG = 'Syntax error in format' CASE( 63 ) MSG = 'Output conversion error' CASE( 64 ) MSG = 'Input conversion error' CASE( 65 ) MSG = 'Floating invalid' CASE( 66 ) MSG = 'Output statement overflows record' CASE( 67 ) MSG = 'Input statement requires too much data' CASE( 68 ) MSG = 'Variable format expression value error' CASE( 69 ) MSG = 'Process interrupted (SIGINT)' CASE( 70 ) MSG = 'Integer overflow' CASE( 71 ) MSG = 'Integer divide by zero' CASE( 72 ) MSG = 'Floating overflow' CASE( 73 ) MSG = 'Floating divide by zero' CASE( 74 ) MSG = 'Floating underflow' CASE( 75 ) MSG = 'Floating point exception' CASE( 76 ) MSG = 'IOT trap signal' CASE( 77 ) MSG = 'Subscript out of range' CASE( 78 ) MSG = 'Process killed (SIGTERM)' CASE( 79 ) MSG = 'Process quit (SIGQUIT)' CASE( 95 ) MSG = 'Floating-point conversion failed' CASE( 96 ) MSG = 'F_UFMTENDIAN env variable was ignored: bad syntax' CASE( 108 ) MSG = 'Cannot stat file' CASE( 120 ) MSG = 'Operation requires seek ability' CASE( 138 ) MSG = 'Array index out of bounds (SIGILL)' CASE( 139 ) MSG = 'Array index out of bounds' CASE( 140 ) MSG = 'Floating inexact' CASE( 144 ) MSG = 'Reserved operand' CASE( 145 ) MSG = 'Assertion error' CASE( 146 ) MSG = 'Null pointer error' CASE( 147 ) MSG = 'Stack overflow' CASE( 148 ) MSG = 'String length error' CASE( 149 ) MSG = 'Substring error' CASE( 150 ) MSG = 'Range error' CASE( 151 ) MSG = 'Allocatable array is already allocated' CASE( 152 ) MSG = 'Unresolved contention for RTL global resource' CASE( 153 ) MSG = 'Allocatable array or pointer is not allocated' CASE( 173 ) MSG = 'A pointer passed to DEALLOCATE points to an array' MSG = TRIM( MSG ) // ' that cannot be deallocated' CASE( 174 ) MSG = 'SIGSEGV: seg fault or program stack overflow' CASE( 175 ) MSG = 'DATE argument to DATE_AND_TIME is too short,' MSG = TRIM( MSG ) // ' required LEN=8' CASE( 176 ) MSG = 'TIME argument to DATE_AND_TIME is too short,' MSG = TRIM( MSG ) // ' required LEN=10' CASE( 177 ) MSG = 'ZONE argument to DATE_AND_TIME is too short,' MSG = TRIM( MSG ) // ' required LEN=5' CASE( 178 ) MSG = 'Divide by zero' CASE( 179 ) MSG = 'Cannot allocate array:' MSG = TRIM( MSG ) // ' overflow in array size calculation' CASE( 256 ) MSG = 'Unformatted I/O to unit open for formatted transfers' CASE( 257 ) MSG = 'Formatted I/O to unit open for unformatted transfers' CASE( 264 ) MSG = 'Operation requires file to be on disk or tape' CASE( 265 ) MSG = 'Operation requires sequential file organization' MSG = TRIM( MSG ) // ' and access' CASE( 266 ) MSG = 'Fortran abort routine called' CASE( 268 ) MSG = 'End of record during read' CASE( 269 ) MSG = 'Floating invalid traps' CASE( 298 ) MSG = 'Floating overflow traps' CASE( 299 ) MSG = 'Divide-by-zero traps' CASE( 300 ) MSG = 'Floating underflow traps' CASE DEFAULT MSG = 'Unknown error' END SELECT END FUNCTION IFORT_ERRMSG !EOC ================================================ FILE: GeosUtil/julday_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: julday_mod.F90 ! ! !DESCRIPTION: Module JULDAY\_MOD contains routines used to convert from ! month/day/year to Astronomical Julian Date and back again. !\\ !\\ ! !INTERFACE: ! MODULE JULDAY_MOD ! ! !USES: ! USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: JULDAY PUBLIC :: CALDATE ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: MINT ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: JulDay ! ! !DESCRIPTION: Function JULDAY returns the astronomical Julian day. !\\ !\\ ! !INTERFACE: ! FUNCTION JULDAY( YYYY, MM, DD ) RESULT( JULIANDAY ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: YYYY ! Year (must be in 4-digit format!) INTEGER, INTENT(IN) :: MM ! Month (1-12) REAL*8, INTENT(IN) :: DD ! Day of month (may be fractional!) ! ! !RETURN VALUE: ! REAL*8 :: JULIANDAY ! Astronomical Julian Date ! ! !REMARKS: ! (1) Algorithm taken from "Practical Astronomy With Your Calculator", ! Third Edition, by Peter Duffett-Smith, Cambridge UP, 1992. ! (2) Requires the external function MINT.F. ! (3) JulDay will compute the correct Julian day for any BC or AD date. ! (4) For BC dates, subtract 1 from the year and append a minus sign. ! For example, 1 BC is 0, 2 BC is -1, etc. This is necessary for ! the algorithm. ! ! !REVISION HISTORY: ! 26 Nov 2001 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: YEAR1, MONTH1 REAL*8 :: X1, A, B, C, D LOGICAL :: ISGREGORIAN !================================================================== ! JULDAY begins here! ! ! Follow algorithm from Peter Duffett-Smith (1992) !================================================================== ! Compute YEAR and MONTH1 IF ( ( MM == 1 ) .OR. ( MM == 2 ) ) THEN YEAR1 = YYYY - 1 MONTH1 = MM + 12 ELSE YEAR1 = YYYY MONTH1 = MM ENDIF ! Compute the "A" term. X1 = DBLE( YEAR1 ) / 100.0d0 A = MINT( X1 ) ! The Gregorian calendar begins on 10 October 1582 ! Any dates prior to this will be in the Julian calendar IF ( YYYY > 1582 ) THEN ISGREGORIAN = .TRUE. ELSE IF ( ( YYYY == 1582 ) .AND. & ( MONTH1 >= 10 ) .AND. & ( DD >= 15.0 ) ) THEN ISGREGORIAN = .TRUE. ELSE ISGREGORIAN = .FALSE. ENDIF ENDIF ! Compute the "B" term according to Gregorian or Julian calendar IF ( ISGREGORIAN ) THEN B = 2.0d0 - A + MINT( A / 4.0d0 ) ELSE B = 0.0d0 ENDIF ! Compute the "C" term for BC dates (YEAR1 <= 0 ) ! or AD dates (YEAR1 > 0) IF ( YEAR1 < 0 ) THEN X1 = ( 365.25d0 * YEAR1 ) - 0.75d0 C = MINT( X1 ) ELSE X1 = 365.25d0 * YEAR1 C = MINT( X1 ) ENDIF ! Compute the "D" term X1 = 30.6001d0 * DBLE( MONTH1 + 1 ) D = MINT( X1 ) ! Add the terms to get the Julian Day number JULIANDAY = B + C + D + DD + 1720994.5d0 END FUNCTION JULDAY !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Mint ! ! !DESCRIPTION: Function MINT is the modified integer function. !\\ !\\ ! !INTERFACE: ! FUNCTION MINT( X ) RESULT ( VALUE ) ! ! !INPUT PARAMETERS: ! REAL*8, INTENT(IN) :: X ! ! !RETURN VALUE: ! REAL*8 :: VALUE ! ! !REMARKS: ! The modified integer function is defined as follows: ! ! { -INT( ABS( X ) ) for X < 0 ! MINT = { ! { INT( ABS( X ) ) for X >= 0 ! ! !REVISION HISTORY: ! 20 Nov 2001 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC IF ( X < 0d0 ) THEN VALUE = -INT( ABS( X ) ) ELSE VALUE = INT( ABS( X ) ) ENDIF END FUNCTION MINT !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: CalDate ! ! !DESCRIPTION: Subroutine CALDATE converts an astronomical Julian day to ! the YYYYMMDD and HHMMSS format. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CALDATE( JULIANDAY, YYYYMMDD, HHMMSS ) ! ! !INPUT PARAMETERS: ! REAL*8, INTENT(IN) :: JULIANDAY ! Astronomical Julian Date ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: YYYYMMDD ! Date in YYYY/MM/DD format INTEGER, INTENT(OUT) :: HHMMSS ! Time in hh:mm:ss format ! ! !REMARKS: ! Algorithm taken from "Practical Astronomy With Your Calculator", ! Third Edition, by Peter Duffett-Smith, Cambridge UP, 1992. ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL*4 :: HH, MM, SS REAL*8 :: A, B, C, D, DAY, E, F REAL*8 :: FDAY, G, I, J, JD, M, Y !================================================================= ! CALDATE begins here! ! See "Practical astronomy with your calculator", Peter Duffett- ! Smith 1992, for an explanation of the following algorithm. !================================================================= JD = JULIANDAY + 0.5d0 I = INT( JD ) F = JD - INT( I ) IF ( I > 2299160d0 ) THEN A = INT( ( I - 1867216.25d0 ) / 36524.25d0 ) B = I + 1 + A - INT( A / 4 ) ELSE B = I ENDIF C = B + 1524d0 D = INT( ( C - 122.1d0 ) / 365.25d0 ) E = INT( 365.25d0 * D ) G = INT( ( C - E ) / 30.6001d0 ) ! DAY is the day number DAY = C - E + F - INT( 30.6001d0 * G ) ! FDAY is the fractional day number FDAY = DAY - INT( DAY ) ! M is the month number IF ( G < 13.5d0 ) THEN M = G - 1d0 ELSE M = G - 13d0 ENDIF ! Y is the year number IF ( M > 2.5d0 ) THEN Y = D - 4716d0 ELSE Y = D - 4715d0 ENDIF ! Year-month-day value YYYYMMDD = ( INT( Y ) * 10000 ) + ( INT( M ) * 100 ) + INT( DAY ) ! Hour-minute-second value ! NOTE: HH, MM, SS are REAL*4 to avoid numerical roundoff errors HH = FDAY * 24d0 MM = ( HH - INT( HH ) ) * 60d0 SS = ( MM - INT( MM ) ) * 60d0 !------------------------------------------------------------------ ! NOTE: Some times (like 40min = 0.6666 hrs) will cause a roundoff ! error that will make the minutes eg. 39.9999 instead of 40. ! For now put in a kludge to rectify this situation. IF ( INT(SS) == 59 ) THEN SS = 0.0e0 MM = NINT( MM ) ENDIF !--------------------------------------------------------------- HHMMSS = ( INT( HH ) * 10000 ) + ( INT( MM ) * 100 ) + INT( SS ) END SUBROUTINE CALDATE !EOC END MODULE JULDAY_MOD ================================================ FILE: GeosUtil/pressure_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: pressure_mod.F90 ! ! !DESCRIPTION: Module PRESSURE\_MOD contains variables and routines which ! specify the grid box pressures for both hybrid or pure-sigma models. ! This is necessary for running GEOS-Chem with the hybrid grids. !\\ !\\ ! !INTERFACE: ! MODULE PRESSURE_MOD ! ! !USES: ! USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: GET_AP PUBLIC :: GET_BP PUBLIC :: GET_PEDGE ! wet air P at lower grid edge PUBLIC :: GET_PCENTER ! wet air P at grid center PUBLIC :: GET_PEDGE_FULLGRID PUBLIC :: GET_PEDGE_DRY PUBLIC :: GET_DELP_DRY PUBLIC :: INIT_PRESSURE PUBLIC :: SET_FLOATING_PRESSURES PUBLIC :: CLEANUP_PRESSURE #if defined( ESMF_ ) || defined( MODEL_ ) PUBLIC :: Accept_External_Pedge #endif #if defined( MODEL_WRF ) || defined( MODEL_CESM ) PUBLIC :: Accept_External_ApBp #endif ! ! !REMARKS: ! ! Hybrid Grid Coordinate Definition: (dsa, bmy, 8/27/02, 2/2/12) ! ============================================================================ ! ! The pressure at the bottom edge of grid box (I,J,L) is defined as follows: ! . ! Pedge(I,J,L) = Ap(L) + [ Bp(L) * Psurface(I,J) ] ! . ! where ! . ! Psurface(I,J) is the "true" surface pressure at lon,lat (I,J) ! Ap(L) has the same units as surface pressure [hPa] ! Bp(L) is a unitless constant given at level edges ! . ! Ap(L) and Bp(L) are given to us by GMAO. ! . ! The following are true: ! ---------------------------------------------------------------------------- ! (1) Bp(NZ+1) = 0.0 (L=NZ+1 is the atmosphere top) ! (2) Bp(1) = 1.0 (L=1 is the surface ) ! (3) PTOP = Ap(NZ+1) (L=NZ+1 is the atmosphere top) ! ! !REVISION HISTORY: ! 27 Aug 2002 - D. Abbot & R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !PRIVATE TYPES: ! REAL(fp), ALLOCATABLE :: AP(:) ! "A" term for hybrid grid REAL(fp), ALLOCATABLE :: BP(:) ! "B" term for hybrid grid REAL(fp), ALLOCATABLE :: PFLT_DRY(:,:) ! "Floating" dry sfc pres REAL(fp), ALLOCATABLE :: PFLT_WET(:,:) ! "Floating" wet sfc pres REAL(fp), ALLOCATABLE :: AP_FULLGRID(:) ! "A" term for full grid REAL(fp), ALLOCATABLE :: BP_FULLGRID(:) ! "B" term for full grid #if defined( ESMF_ ) || defined( MODEL_ ) REAL(fp), ALLOCATABLE :: EXTERNAL_PEDGE(:,:,:) ! Pressure edges from ! external grid #endif CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_Ap ! ! !DESCRIPTION: Function GET\_AP returns the "A" term [hPa] for the ! hybrid ETA coordinate. !\\ !\\ ! !INTERFACE: ! FUNCTION GET_AP( L ) RESULT( AP_TEMP ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: L ! GEOS-Chem level index ! ! !RETURN VALUE: ! REAL(fp) :: AP_TEMP ! Corresponding "A" value [hPa] ! at bottom edge of level L ! ! !REVISION HISTORY: ! 20 Aug 2002 - D. Abbot & R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC AP_TEMP = AP(L) END FUNCTION GET_AP !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_Bp ! ! !DESCRIPTION: Function GET\_BP returns the "B" term [unitless] for the ! hybrid ETA coordinate. !\\ !\\ ! !INTERFACE: ! FUNCTION GET_BP( L ) RESULT( BP_TEMP ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: L ! GEOS-Chem level index ! ! !RETURN VALUE: ! REAL(fp) :: BP_TEMP ! Corresponding "B" value [unitless] ! at bottom edge of level L ! ! !REVISION HISTORY: ! 20 Aug 2002 - D. Abbot & R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC BP_TEMP = BP(L) END FUNCTION GET_BP !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Set_Floating_Pressures ! ! !DESCRIPTION: Subroutine SET\_FLOATING\_PRESSURES initializes the ! dry and wet floating pressure fields PFLT\_DRY and PFLT\_WET with the ! "true" surface pressures PSC2\_DRY and PSC2\_WET, stored in State\_Met. !\\ !\\ ! !INTERFACE: ! SUBROUTINE SET_FLOATING_PRESSURES( State_Grid, State_Met, RC ) ! ! !USES: ! USE ERROR_MOD, ONLY : CHECK_VALUE USE ErrCode_Mod USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology state object ! ! !OUTPUT ARGUMENTS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! The surface pressures PSC2_DRY and PSC2_WET represent the most recently ! interpolated values derived from GMAO instantaneous atmospheric pressure ! at the surface (including moisture). ! ! !REVISION HISTORY: ! 21 Jun 2016 - E. Lundgren- Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, J, L INTEGER :: ERR_LOC(4) CHARACTER(LEN=255) :: ERR_VAR CHARACTER(LEN=255) :: ERR_MSG REAL(fp) :: PEDGE1, PEDGE2, SPHU_KGKG !================================================================= ! SET_FLOATING_PRESSURES begins here! !================================================================= ! Assume success RC = GC_SUCCESS !! DEBUGGING (ewl) !PRINT *, " " !PRINT *, "In SET_FLOATING_PRESSURES" !PRINT *, " Old PFLT_DRY(56,20): ", PFLT_DRY(56,20) !PRINT *, " Old PFLT_WET(56,20): ", PFLT_WET(56,20) !! END DEBUGGING ! Set PFLT_DRY equal to input value PS !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, ERR_LOC, ERR_VAR, ERR_MSG ) DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Set the floating pressures to the most recently interpolated ! instantaneous pressures PFLT_DRY(I,J) = State_Met%PSC2_DRY(I,J) PFLT_WET(I,J) = State_Met%PSC2_WET(I,J) #if !defined ( MODEL_BCC ) ! Check for NaN or Infinities in PFLT_DRY and PFLT_WET ERR_LOC = (/ I, J, 0, 0 /) ERR_VAR = 'PFLT_DRY' ERR_MSG = 'set_floating_pressures:1' CALL CHECK_VALUE( PFLT_DRY(I,J), ERR_LOC, ERR_VAR, ERR_MSG ) ERR_VAR = 'PFLT_WET' ERR_MSG = 'set_floating_pressures:2' CALL CHECK_VALUE( PFLT_WET(I,J), ERR_LOC, ERR_VAR, ERR_MSG ) #endif ENDDO ENDDO !$OMP END PARALLEL DO !! DEBUGGING (ewl) !PRINT *, " New PFLT_DRY(56,20): ", PFLT_DRY(56,20) !PRINT *, " New PFLT_WET(56,20): ", PFLT_WET(56,20) !! END DEBUGGING END SUBROUTINE SET_FLOATING_PRESSURES !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_Pedge ! ! !DESCRIPTION: Function GET\_PEDGE returns the pressure at the bottom edge ! of level L. L=1 is the surface, L=State\_Grid%NZ+1 is the atm top. !\\ !\\ ! !INTERFACE: ! FUNCTION GET_PEDGE( I, J, L ) RESULT( PEDGE ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I ! GEOS-Chem lon index INTEGER, INTENT(IN) :: J ! GEOS-Chem lat index INTEGER, INTENT(IN) :: L ! GEOS-Chem level index ! ! !RETURN VALUE: ! REAL(f8) :: PEDGE ! Pressure @ bottom edge of (I,J,L) [hPa] ! ! !REVISION HISTORY: ! 20 Aug 2002 - D. Abbot & R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC #if defined( ESMF_ ) || defined( MODEL_ ) ! Pressure [hPa] at bottom edge of level L (see documentation header) ! Taken from the GCM fields PEDGE = EXTERNAL_PEDGE(I,J,L) #else ! Pressure [hPa] at bottom edge of level L (see documentation header) ! Computed for use w/in GEOS-Chem PEDGE = AP(L) + ( BP(L) * PFLT_WET(I,J) ) #endif END FUNCTION GET_PEDGE !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_Pcenter ! ! !DESCRIPTION: Function GET\_PCENTER returns the pressure at the vertical ! midpoint of level L. !\\ !\\ ! !INTERFACE: ! FUNCTION GET_PCENTER( I, J, L ) RESULT( PCENTER ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I ! GEOS-Chem lon index INTEGER, INTENT(IN) :: J ! GEOS-Chem lat index INTEGER, INTENT(IN) :: L ! GEOS-Chem level index ! ! !RETURN VALUE: ! REAL(fp) :: PCENTER ! Pressure @ center of (I,J,L) [hPa] ! ! !REVISION HISTORY: ! 20 Aug 2002 - D. Abbot & R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! The pressure at the center of a grid-box is found ! by averaging the pressures at the box's two edges PCENTER = 0.5e+0_fp * ( GET_PEDGE(I,J,L) + GET_PEDGE(I,J,L+1) ) END FUNCTION GET_PCENTER !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_Pedge_Fullgrid ! ! !DESCRIPTION: Function GET\_PEDGE\_FULLGRID returns the pressure at the ! bottom edge of level L of the unreduced vertical grid. L=1 is the surface, ! L=LState\_Grid%NZ+1 is the atm top. !\\ !\\ ! !INTERFACE: ! FUNCTION GET_PEDGE_FULLGRID( I, J, L ) RESULT( PEDGE ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I ! GEOS-Chem lon index INTEGER, INTENT(IN) :: J ! GEOS-Chem lat index INTEGER, INTENT(IN) :: L ! GEOS-Chem level index ! ! !RETURN VALUE: ! REAL(fp) :: PEDGE ! Pressure @ bottom edge of (I,J,L) [hPa] ! ! !REVISION HISTORY: ! (1 ) Modified from GET_PEDGE (cdh, 1/22/09) ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC !================================================================= ! GET_PEDGE_FULLGRID begins here! !================================================================= ! Pressure [hPa] at bottom edge of level L (see documentation header) PEDGE = AP_FULLGRID(L) + ( BP_FULLGRID(L) * PFLT_WET(I,J) ) END FUNCTION GET_PEDGE_FULLGRID !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_Pedge_Dry ! ! !DESCRIPTION: Function GET\_PEDGE\_DRY returns the pressure at the ! bottom edge of level L, reconstructed using the dry surface pressure. ! L=1 is the surface, L=State\_Grid%NZ+1 is the atm top. !\\ !\\ ! !INTERFACE: ! FUNCTION GET_PEDGE_DRY( I, J, L ) RESULT( PEDGE_DRY ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I ! GEOS-Chem lon index INTEGER, INTENT(IN) :: J ! GEOS-Chem lat index INTEGER, INTENT(IN) :: L ! GEOS-Chem level index ! ! !RETURN VALUE: ! REAL(f8) :: PEDGE_DRY ! Dry prssr @ bottom edge of (I,J,L) [hPa] ! ! !REMARKS: ! Dry pressures at the edges calculated within this routine should not ! be used as height proxies. Wet pressure edge should be used instead. ! ! !REVISION HISTORY: ! 16 Jun 2016 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC PEDGE_DRY = AP(L) + ( BP(L) * PFLT_DRY(I,J) ) END FUNCTION GET_PEDGE_DRY !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_Delp_Dry ! ! !DESCRIPTION: Function GET\_DELP\_DRY returns the delta dry pressure ! between the bottom edge of level L and top edge of level L+1, ! constructed using the dry surface pressure and A and B parameters. ! L=1 is the surface, L=State\_Grid%NZ+1 is the atm top. !\\ !\\ ! !INTERFACE: ! FUNCTION GET_DELP_DRY( I, J, L ) RESULT( DELP_DRY ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I ! GEOS-Chem lon index INTEGER, INTENT(IN) :: J ! GEOS-Chem lat index INTEGER, INTENT(IN) :: L ! GEOS-Chem level index ! ! !RETURN VALUE: ! REAL(f8) :: DELP_DRY ! Prssr difference [hPa] between ! bottom edge of (I,J,L) and ! bottom edge of (I,J,L+1) ! ! !REVISION HISTORY: ! 06 Jul 2016 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(fp) :: PEDGE_DRY_BOT, PEDGE_DRY_TOP PEDGE_DRY_BOT = AP(L) + ( BP(L) * PFLT_DRY(I,J) ) PEDGE_DRY_TOP = AP(L+1) + ( BP(L+1) * PFLT_DRY(I,J) ) DELP_DRY = PEDGE_DRY_BOT - PEDGE_DRY_TOP END FUNCTION GET_DELP_DRY !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_Pressure ! ! !DESCRIPTION: Subroutine INIT\_PRESSURE allocates and initializes the AP ! and BP arrays. It must be called in "main.f", after SIGE is defined. !\\ !\\ ! !INTERFACE: ! SUBROUTINE INIT_PRESSURE( Input_Opt, State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE ERROR_MOD, ONLY : ALLOC_ERR USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! INPUT/OUTPUT PARAMETERS: ! TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REVISION HISTORY: ! 27 Aug 2002 - D. Abbot, S. Wu, & R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: L ! Arrays REAL(fp) :: a132_loc(133), b132_loc(133) REAL(fp) :: a91_loc(92), b91_loc(92) ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc, nLev !================================================================= ! INIT_PRESSURE begins here! !================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Init_Pressure (in GeosUtil/pressure_mod.F90)' IF (.NOT. ALLOCATED( PFLT_DRY )) THEN ALLOCATE( PFLT_DRY( State_Grid%NX, State_Grid%NY ), STAT=RC ) CALL GC_CheckVar( 'pressure_mod.F90:PFLT_DRY', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN PFLT_DRY = 0e+0_fp END IF IF (.NOT. ALLOCATED( PFLT_WET )) THEN ALLOCATE( PFLT_WET( State_Grid%NX, State_Grid%NY ), STAT=RC ) CALL GC_CheckVar( 'pressure_mod.F90:PFLT_WET', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN PFLT_WET = 0e+0_fp END IF IF (.NOT. ALLOCATED( AP )) THEN ALLOCATE( AP( State_Grid%NZ+1 ), STAT=RC ) CALL GC_CheckVar( 'pressure_mod.F90:AP', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN AP = 1e+0_fp END IF IF (.NOT. ALLOCATED( BP )) THEN ALLOCATE( BP( State_Grid%NZ+1 ), STAT=RC ) CALL GC_CheckVar( 'pressure_mod.F90:BP', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN BP = 0e+0_fp END IF IF (.NOT. ALLOCATED( AP_FULLGRID )) THEN ALLOCATE( AP_FULLGRID( State_Grid%NativeNZ+1 ), STAT=RC ) CALL GC_CheckVar( 'pressure_mod.F90:AP_FULLGRID', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN AP = 1e+0_fp END IF IF (.NOT. ALLOCATED( BP_FULLGRID )) THEN ALLOCATE( BP_FULLGRID( State_Grid%NativeNZ+1 ), STAT=RC ) CALL GC_CheckVar( 'pressure_mod.F90:BP_FULLGRID', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN BP = 0e+0_fp END IF #if defined( ESMF_ ) || defined( MODEL_ ) || defined( MODEL_BCC ) IF (.NOT. ALLOCATED( EXTERNAL_PEDGE )) THEN ALLOCATE( EXTERNAL_PEDGE( State_Grid%NX, State_Grid%NY, & State_Grid%NZ+1 ), & STAT=RC ) CALL GC_CheckVar( 'pressure_mod.F90:EXTERNAL_PEDGE', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN EXTERNAL_PEDGE = 0e+0_fp END IF #endif IF ( State_Grid%NZ == 47 ) THEN !----------------------------------------------------------------- ! 47-level reduced vertical grid ! ! Bottom Bottom # levels ! edge of edge prs lumped ! level (hPa) together ! ! PTOP 0.010 ! 47 0.066 4 ! 46 0.211 4 ! 45 0.617 4 ! 44 1.651 4 ! 43 4.077 4 ! 42 9.293 4 ! 41 19.792 4 ! 40 28.368 2 ! 39 40.175 2 ! 38 56.388 2 ! 37 78.512 2 ! %%%% START LUMPING LEVELS ABOVE HERE %%%%% ! 36 92.366 ! 35 108.663 ! 34 127.837 ! 33 150.393 ! 32 176.930 ! %%%% FIXED-PRESSURE LEVELS BEGIN HERE %%%% !----------------------------------------------------------------- ! Ap [hPa] for 47 levels (48 edges) AP = (/ 0.000000d+00, 4.804826d-02, 6.593752d+00, 1.313480d+01, & 1.961311d+01, 2.609201d+01, 3.257081d+01, 3.898201d+01, & 4.533901d+01, 5.169611d+01, 5.805321d+01, 6.436264d+01, & 7.062198d+01, 7.883422d+01, 8.909992d+01, 9.936521d+01, & 1.091817d+02, 1.189586d+02, 1.286959d+02, 1.429100d+02, & 1.562600d+02, 1.696090d+02, 1.816190d+02, 1.930970d+02, & 2.032590d+02, 2.121500d+02, 2.187760d+02, 2.238980d+02, & 2.243630d+02, 2.168650d+02, 2.011920d+02, 1.769300d+02, & 1.503930d+02, 1.278370d+02, 1.086630d+02, 9.236572d+01, & 7.851231d+01, 5.638791d+01, 4.017541d+01, 2.836781d+01, & 1.979160d+01, 9.292942d+00, 4.076571d+00, 1.650790d+00, & 6.167791d-01, 2.113490d-01, 6.600001d-02, 1.000000d-02 /) ! Bp [unitless] for 47 levels (48 edges) BP = (/ 1.000000d+00, 9.849520d-01, 9.634060d-01, 9.418650d-01, & 9.203870d-01, 8.989080d-01, 8.774290d-01, 8.560180d-01, & 8.346609d-01, 8.133039d-01, 7.919469d-01, 7.706375d-01, & 7.493782d-01, 7.211660d-01, 6.858999d-01, 6.506349d-01, & 6.158184d-01, 5.810415d-01, 5.463042d-01, 4.945902d-01, & 4.437402d-01, 3.928911d-01, 3.433811d-01, 2.944031d-01, & 2.467411d-01, 2.003501d-01, 1.562241d-01, 1.136021d-01, & 6.372006d-02, 2.801004d-02, 6.960025d-03, 8.175413d-09, & 0.000000d+00, 0.000000d+00, 0.000000d+00, 0.000000d+00, & 0.000000d+00, 0.000000d+00, 0.000000d+00, 0.000000d+00, & 0.000000d+00, 0.000000d+00, 0.000000d+00, 0.000000d+00, & 0.000000d+00, 0.000000d+00, 0.000000d+00, 0.000000d+00 /) !----------------------------------------------------------------- ! 72 level grid !----------------------------------------------------------------- ! Ap [hPa] for 72 levels (73 edges) AP_FULLGRID = & (/ 0.000000d+00, 4.804826d-02, 6.593752d+00, 1.313480d+01, & 1.961311d+01, 2.609201d+01, 3.257081d+01, 3.898201d+01, & 4.533901d+01, 5.169611d+01, 5.805321d+01, 6.436264d+01, & 7.062198d+01, 7.883422d+01, 8.909992d+01, 9.936521d+01, & 1.091817d+02, 1.189586d+02, 1.286959d+02, 1.429100d+02, & 1.562600d+02, 1.696090d+02, 1.816190d+02, 1.930970d+02, & 2.032590d+02, 2.121500d+02, 2.187760d+02, 2.238980d+02, & 2.243630d+02, 2.168650d+02, 2.011920d+02, 1.769300d+02, & 1.503930d+02, 1.278370d+02, 1.086630d+02, 9.236572d+01, & 7.851231d+01, 6.660341d+01, 5.638791d+01, 4.764391d+01, & 4.017541d+01, 3.381001d+01, 2.836781d+01, 2.373041d+01, & 1.979160d+01, 1.645710d+01, 1.364340d+01, 1.127690d+01, & 9.292942d+00, 7.619842d+00, 6.216801d+00, 5.046801d+00, & 4.076571d+00, 3.276431d+00, 2.620211d+00, 2.084970d+00, & 1.650790d+00, 1.300510d+00, 1.019440d+00, 7.951341d-01, & 6.167791d-01, 4.758061d-01, 3.650411d-01, 2.785261d-01, & 2.113490d-01, 1.594950d-01, 1.197030d-01, 8.934502d-02, & 6.600001d-02, 4.758501d-02, 3.270000d-02, 2.000000d-02, & 1.000000d-02 /) ! Bp [unitless] for 72 levels (73 edges) BP_FULLGRID = & (/ 1.000000d+00, 9.849520d-01, 9.634060d-01, 9.418650d-01, & 9.203870d-01, 8.989080d-01, 8.774290d-01, 8.560180d-01, & 8.346609d-01, 8.133039d-01, 7.919469d-01, 7.706375d-01, & 7.493782d-01, 7.211660d-01, 6.858999d-01, 6.506349d-01, & 6.158184d-01, 5.810415d-01, 5.463042d-01, 4.945902d-01, & 4.437402d-01, 3.928911d-01, 3.433811d-01, 2.944031d-01, & 2.467411d-01, 2.003501d-01, 1.562241d-01, 1.136021d-01, & 6.372006d-02, 2.801004d-02, 6.960025d-03, 8.175413d-09, & 0.000000d+00, 0.000000d+00, 0.000000d+00, 0.000000d+00, & 0.000000d+00, 0.000000d+00, 0.000000d+00, 0.000000d+00, & 0.000000d+00, 0.000000d+00, 0.000000d+00, 0.000000d+00, & 0.000000d+00, 0.000000d+00, 0.000000d+00, 0.000000d+00, & 0.000000d+00, 0.000000d+00, 0.000000d+00, 0.000000d+00, & 0.000000d+00, 0.000000d+00, 0.000000d+00, 0.000000d+00, & 0.000000d+00, 0.000000d+00, 0.000000d+00, 0.000000d+00, & 0.000000d+00, 0.000000d+00, 0.000000d+00, 0.000000d+00, & 0.000000d+00, 0.000000d+00, 0.000000d+00, 0.000000d+00, & 0.000000d+00, 0.000000d+00, 0.000000d+00, 0.000000d+00, & 0.000000d+00 /) ELSE IF (State_Grid%NZ == 72 ) THEN !----------------------------------------------------------------- ! 72 level grid !----------------------------------------------------------------- ! Ap [hPa] for 72 levels (73 edges) AP = (/ 0.000000d+00, 4.804826d-02, 6.593752d+00, 1.313480d+01, & 1.961311d+01, 2.609201d+01, 3.257081d+01, 3.898201d+01, & 4.533901d+01, 5.169611d+01, 5.805321d+01, 6.436264d+01, & 7.062198d+01, 7.883422d+01, 8.909992d+01, 9.936521d+01, & 1.091817d+02, 1.189586d+02, 1.286959d+02, 1.429100d+02, & 1.562600d+02, 1.696090d+02, 1.816190d+02, 1.930970d+02, & 2.032590d+02, 2.121500d+02, 2.187760d+02, 2.238980d+02, & 2.243630d+02, 2.168650d+02, 2.011920d+02, 1.769300d+02, & 1.503930d+02, 1.278370d+02, 1.086630d+02, 9.236572d+01, & 7.851231d+01, 6.660341d+01, 5.638791d+01, 4.764391d+01, & 4.017541d+01, 3.381001d+01, 2.836781d+01, 2.373041d+01, & 1.979160d+01, 1.645710d+01, 1.364340d+01, 1.127690d+01, & 9.292942d+00, 7.619842d+00, 6.216801d+00, 5.046801d+00, & 4.076571d+00, 3.276431d+00, 2.620211d+00, 2.084970d+00, & 1.650790d+00, 1.300510d+00, 1.019440d+00, 7.951341d-01, & 6.167791d-01, 4.758061d-01, 3.650411d-01, 2.785261d-01, & 2.113490d-01, 1.594950d-01, 1.197030d-01, 8.934502d-02, & 6.600001d-02, 4.758501d-02, 3.270000d-02, 2.000000d-02, & 1.000000d-02 /) ! Bp [unitless] for 72 levels (73 edges) BP = (/ 1.000000d+00, 9.849520d-01, 9.634060d-01, 9.418650d-01, & 9.203870d-01, 8.989080d-01, 8.774290d-01, 8.560180d-01, & 8.346609d-01, 8.133039d-01, 7.919469d-01, 7.706375d-01, & 7.493782d-01, 7.211660d-01, 6.858999d-01, 6.506349d-01, & 6.158184d-01, 5.810415d-01, 5.463042d-01, 4.945902d-01, & 4.437402d-01, 3.928911d-01, 3.433811d-01, 2.944031d-01, & 2.467411d-01, 2.003501d-01, 1.562241d-01, 1.136021d-01, & 6.372006d-02, 2.801004d-02, 6.960025d-03, 8.175413d-09, & 0.000000d+00, 0.000000d+00, 0.000000d+00, 0.000000d+00, & 0.000000d+00, 0.000000d+00, 0.000000d+00, 0.000000d+00, & 0.000000d+00, 0.000000d+00, 0.000000d+00, 0.000000d+00, & 0.000000d+00, 0.000000d+00, 0.000000d+00, 0.000000d+00, & 0.000000d+00, 0.000000d+00, 0.000000d+00, 0.000000d+00, & 0.000000d+00, 0.000000d+00, 0.000000d+00, 0.000000d+00, & 0.000000d+00, 0.000000d+00, 0.000000d+00, 0.000000d+00, & 0.000000d+00, 0.000000d+00, 0.000000d+00, 0.000000d+00, & 0.000000d+00, 0.000000d+00, 0.000000d+00, 0.000000d+00, & 0.000000d+00, 0.000000d+00, 0.000000d+00, 0.000000d+00, & 0.000000d+00 /) ELSE IF ( State_Grid%NZ == 40 ) THEN !----------------------------------------------------------------- ! 40-level GISS grid !----------------------------------------------------------------- ! Ap [hPa] for 40 levels (41 edges) AP = (/ 0.000000, 3.597122, 7.553957, 12.050360, & 16.906475, 22.302158, 28.597122, 35.791367, & 43.884892, 52.517986, 61.510791, 70.683453, & 80.035971, 89.028777, 97.661871, 105.755396, & 113.309353, 120.143885, 126.258993, 131.834532, & 136.870504, 141.546763, 145.863309, 150.000000, & 128.000000, 108.000000, 90.000000, 73.000000, & 57.000000, 43.000000, 31.000000, 20.000000, & 10.000000, 5.620000, 3.160000, 1.780000, & 1.000000, 0.562000, 0.316000, 0.178000, & 0.100000 /) ! Bp [unitless] for 40 levels (41 edges) BP = (/ 1.00000000, 0.97601918, 0.94964029, 0.91966427, & 0.88729017, 0.85131894, 0.80935252, 0.76139089, & 0.70743405, 0.64988010, 0.58992806, 0.52877698, & 0.46642686, 0.40647482, 0.34892086, 0.29496403, & 0.24460432, 0.19904077, 0.15827338, 0.12110312, & 0.08752998, 0.05635492, 0.02757794, 0.00000000, & 0.00000000, 0.00000000, 0.00000000, 0.00000000, & 0.00000000, 0.00000000, 0.00000000, 0.00000000, & 0.00000000, 0.00000000, 0.00000000, 0.00000000, & 0.00000000, 0.00000000, 0.00000000, 0.00000000, & 0.00000000 /) AP_FULLGRID = AP BP_FULLGRID = BP #if defined ( MODEL_BCC ) ELSE IF ( State_Grid%NZ == 26 ) THEN !----------------------------------------------------------------- ! 26-level BCC grid !----------------------------------------------------------------- ! Ap [hPa] for 26 levels (27 edges) AP = (/ 0.000000d+00, 0.000000d+00, 2.521360d+02, 7.084990d+02, & 1.334443d+03, 2.084739d+03, 2.908949d+03, 3.752191d+03, & 4468.96, 5078.225, 5596.111, 6036.322, & 6410.509000, 6728.574000, 6998.933000, 7228.744000, & 7424.086000, 7590.131000, 7731.271000, 7851.243000, & 6160.587000, 4462.334000, 2983.724000, 1805.201000, & 988.241800, 489.520900, 219.406700 /) ! Bp [unitless] for 26 levels (27 edges) BP = (/ 1.000000d+00, 9.851120d-01, 9.534760d-01, 8.962150d-01, & 8.176770d-01, 7.235360d-01, 6.201200d-01, 5.143170d-01, & 4.243820d-01, 3.479360d-01, 2.829560d-01, 2.277220d-01, & 1.807720d-01, 1.408640d-01, 1.069410d-01, 0.781060d-01, & 0.535960d-01, 0.327620d-01, 0.150530d-01, 0.000000d+00, & 0.000000d+00, 0.000000d+00, 0.000000d+00, 0.000000d+00, & 0.000000d+00, 0.000000d+00, 0.000000d+00 /) AP_FULLGRID = AP BP_FULLGRID = BP #endif ELSE IF ( State_Grid%NZ == 74 ) THEN !----------------------------------------------------------------- ! 74-level GISS grid (condensed from 102-layer grid) ! ! Bottom Bottom # levels ! edge of edge prs lumped ! level (hPa) together ! ! PTOP 0.0020000 ! 74 0.0320000 4 ! 73 0.3168814 4 ! 72 1.0427319 4 ! 71 2.2207877 4 ! 70 4.4119297 4 ! 69 8.7353750 4 ! 68 17.1896562 4 ! 67 23.1875000 2 ! 66 30.2226562 2 ! 65 38.5546875 2 ! 64 48.2226562 2 ! 63 59.2226562 2 ! 62 71.5546875 2 ! 61 85.2265625 2 ! %%%% START LUMPING LEVELS ABOVE HERE %%%%% ! 60 92.5898438 ! 59 100.3671875 ! 58 108.5859375 ! 57 117.1914062 ! 56 126.0781250 ! 55 135.1875000 ! 54 144.5468750 ! 53 154.1875000 ! %%%% FIXED-PRESSURE LEVELS BEGIN HERE %%%% !----------------------------------------------------------------- ! Ap [hPa] for 74 levels (75 edges) AP = (/ 0.0000000, 2.7871507, 5.5743014, 8.3614521, 11.1486028, & 13.9357536, 16.7229043, 19.5100550, 22.2972057, 25.0843564, & 27.8715071, 30.6586578, 33.4458085, 36.2329593, 39.0201100, & 41.8087123, 44.6089278, 47.4534183, 50.4082336, 53.5662786, & 57.0095710, 60.7533531, 64.7323011, 68.8549615, 73.0567364, & 77.2969797, 81.5364973, 85.7346430, 89.8565776, 93.8754457, & 97.7709243, 101.5277712, 105.1350991, 108.5878272, 111.8859556, & 115.0302100, 118.0249453, 120.8854039, 123.6326345, 126.2811535, & 128.8360417, 131.2987506, 133.6736353, 135.9708571, 138.2013035, & 140.3700552, 142.4814670, 144.5457005, 146.5692881, 148.5464231, & 150.4712991, 152.3497225, & 154.1875000, 144.5468750, 135.1875000, 126.0781250, 117.1914062, & ! LS1:(LM+1) 108.5859375, 100.3671875, 92.5898438, & 85.2265625, & ! 2 71.5546875, & ! 2 59.2226562, & ! 2 48.2226562, & ! 2 38.5546875, & ! 2 30.2226562, & ! 2 23.1875000, & ! 2 17.1896562, & ! 4 8.7353750, & ! 4 4.4119297, & ! 4 2.2207877, & ! 4 1.0427319, & ! 4 0.3168814, & ! 4 0.0320000, & ! 4 0.0020000/) ! Bp [unitless] for 74 levels (75 edges) BP = (/1.00000000d0, 0.98192363d0, 0.96384725d0, 0.94577088d0, & 0.92769451d0, 0.90961814d0, 0.89154176d0, 0.87346539d0, & 0.85538902d0, 0.83731265d0, 0.81923627d0, 0.80115990d0, & 0.78308353d0, 0.76500716d0, 0.74693078d0, 0.72884500d0, & 0.71068389d0, 0.69223563d0, 0.67307185d0, 0.65259001d0, & 0.63025815d0, 0.60597744d0, 0.58017154d0, 0.55343357d0, & 0.52618250d0, 0.49868193d0, 0.47118607d0, 0.44395854d0, & 0.41722528d0, 0.39116047d0, 0.36589591d0, 0.34153047d0, & 0.31813474d0, 0.29574170d0, 0.27435132d0, 0.25395891d0, & 0.23453623d0, 0.21598441d0, 0.19816694d0, 0.18098968d0, & 0.16441967d0, 0.14844750d0, 0.13304493d0, 0.11814604d0, & 0.10368024d0, 0.08961456d0, 0.07592077d0, 0.06253295d0, & 0.04940875d0, 0.03658583d0, 0.02410183d0, 0.01191911d0, & 0.00000000d0, 0.00000000d0, 0.00000000d0, 0.00000000d0, & ! 53 0.00000000d0, 0.00000000d0, 0.00000000d0, 0.00000000d0, & 0.00000000d0, 0.00000000d0, 0.00000000d0, 0.00000000d0, & 0.00000000d0, 0.00000000d0, 0.00000000d0, 0.00000000d0, & 0.00000000d0, 0.00000000d0, 0.00000000d0, 0.00000000d0, & 0.00000000d0, 0.00000000d0, 0.00000000d0 /) AP_FULLGRID = AP BP_FULLGRID = BP ELSE IF ( State_Grid%NZ == 102 ) THEN !----------------------------------------------------------------- ! 102-level GISS grid !----------------------------------------------------------------- AP = (/ 0.0000000d0, 2.7871507d0, 5.5743014d0, 8.3614521d0, & 11.1486028d0, 13.9357536d0, 16.7229043d0, 19.5100550d0, & 22.2972057d0, 25.0843564d0, 27.8715071d0, 30.6586578d0, & 33.4458085d0, 36.2329593d0, 39.0201100d0, 41.8087123d0, & 44.6089278d0, 47.4534183d0, 50.4082336d0, 53.5662786d0, & 57.0095710d0, 60.7533531d0, 64.7323011d0, 68.8549615d0, & 73.0567364d0, 77.2969797d0, 81.5364973d0, 85.7346430d0, & 89.8565776d0, 93.8754457d0, 97.7709243d0, 101.5277712d0, & 105.1350991d0, 108.5878272d0, 111.8859556d0, 115.0302100d0, & 118.0249453d0, 120.8854039d0, 123.6326345d0, 126.2811535d0, & 128.8360417d0, 131.2987506d0, 133.6736353d0, 135.9708571d0, & 138.2013035d0, 140.3700552d0, 142.4814670d0, 144.5457005d0, & 146.5692881d0, 148.5464231d0, 150.4712991d0, 152.3497225d0, & 154.1875000d0, 144.5468750d0, 135.1875000d0, 126.0781250d0, & 117.1914062d0, 108.5859375d0, 100.3671875d0, 92.5898438d0, & 85.2265625d0, 78.2226562d0, 71.5546875d0, 65.2226562d0, & 59.2226562d0, 53.5546875d0, 48.2226562d0, 43.2226562d0, & 38.5546875d0, 34.2226562d0, 30.2226562d0, 26.5507812d0, & 23.1875000d0, 20.0781250d0, 17.1896562d0, 14.5684375d0, & 12.2865742d0, 10.3573086d0, 8.7353750d0, 7.3664922d0, & 6.2100156d0, 5.2343633d0, 4.4119297d0, 3.7186797d0, & 3.1341479d0, 2.6404328d0, 2.2207877d0, 1.8587369d0, & 1.5477125d0, 1.2782115d0, 1.0427319d0, 0.8367716d0, & 0.6514691d0, 0.4772511d0, 0.3168814d0, 0.1785988d0, & 0.1000000d0, 0.0560000d0, 0.0320000d0, 0.0180000d0, & 0.0100000d0, 0.0050000d0, 0.0020000d0 /) BP = (/1.00000000d0, 0.98192363d0, 0.96384725d0, 0.94577088d0, & 0.92769451d0, 0.90961814d0, 0.89154176d0, 0.87346539d0, & 0.85538902d0, 0.83731265d0, 0.81923627d0, 0.80115990d0, & 0.78308353d0, 0.76500716d0, 0.74693078d0, 0.72884500d0, & 0.71068389d0, 0.69223563d0, 0.67307185d0, 0.65259001d0, & 0.63025815d0, 0.60597744d0, 0.58017154d0, 0.55343357d0, & 0.52618250d0, 0.49868193d0, 0.47118607d0, 0.44395854d0, & 0.41722528d0, 0.39116047d0, 0.36589591d0, 0.34153047d0, & 0.31813474d0, 0.29574170d0, 0.27435132d0, 0.25395891d0, & 0.23453623d0, 0.21598441d0, 0.19816694d0, 0.18098968d0, & 0.16441967d0, 0.14844750d0, 0.13304493d0, 0.11814604d0, & 0.10368024d0, 0.08961456d0, 0.07592077d0, 0.06253295d0, & 0.04940875d0, 0.03658583d0, 0.02410183d0, 0.01191911d0, & 0.00000000d0, 0.00000000d0, 0.00000000d0, 0.00000000d0, & 0.00000000d0, 0.00000000d0, 0.00000000d0, 0.00000000d0, & 0.00000000d0, 0.00000000d0, 0.00000000d0, 0.00000000d0, & 0.00000000d0, 0.00000000d0, 0.00000000d0, 0.00000000d0, & 0.00000000d0, 0.00000000d0, 0.00000000d0, 0.00000000d0, & 0.00000000d0, 0.00000000d0, 0.00000000d0, 0.00000000d0, & 0.00000000d0, 0.00000000d0, 0.00000000d0, 0.00000000d0, & 0.00000000d0, 0.00000000d0, 0.00000000d0, 0.00000000d0, & 0.00000000d0, 0.00000000d0, 0.00000000d0, 0.00000000d0, & 0.00000000d0, 0.00000000d0, 0.00000000d0, 0.00000000d0, & 0.00000000d0, 0.00000000d0, 0.00000000d0, 0.00000000d0, & 0.00000000d0, 0.00000000d0, 0.00000000d0, 0.00000000d0, & 0.00000000d0, 0.00000000d0, 0.00000000d0 /) AP_FULLGRID = AP BP_FULLGRID = BP ELSE IF ( State_Grid%NZ == 91 ) THEN !----------------------------------------------------------------- ! 91 level grid !----------------------------------------------------------------- a91_loc = (/1.0000000, 1.7500000, 2.7500000, 4.1000000, 5.9895105, & 8.6293297, 12.257263, 17.151091, 23.654547, 32.162769, & 43.131092, 57.110043, 74.659576, 96.447098, 123.16977, & 155.60132, 194.59401, 241.04753, 295.87384, 360.04697, & 434.60483, 520.62872, 619.15485, 731.29602, 858.24091, & 1001.0656, 1160.9286, 1339.0399, 1536.5001, 1754.4894, & 1994.1783, 2256.6741, 2543.1714, 2854.7639, 3192.5857, & 3557.7537, 3951.3511, 4374.2866, 4827.1108, 5310.2217, & 5823.8779, 6369.0425, 6948.7524, 7566.9199, 8226.3428, & 8931.2100, 9684.4619, 10482.272, 11318.279, 12184.077, & 13065.567, 13953.221, 14830.729, 15687.262, 16508.064, & 17281.100, 17994.299, 18636.322, 19196.180, 19664.072, & 20030.191, 20285.369, 20421.525, 20430.068, 20302.873, & 20032.371, 19611.066, 19031.385, 18286.643, 17377.793, & 16322.464, 15144.403, 13872.567, 12540.479, 11183.417, & 9835.3271, 8526.3066, 7282.2451, 6123.2607, 5063.5068, & 4111.2490, 3270.0012, 2539.2273, 1915.3076, 1392.4500, & 963.13477, 620.59937, 357.98950, 169.42139, 51.031494, & 2.4841309, 0.0000000 /) b91_loc = (/0.00000, 0.00000, 0.00000, 0.00000, 0.00000, & 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, & 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, & 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, & 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, & 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, & 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, & 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, & 0.00000, 0.00000, 0.00000, 3.50124e-06,2.81484e-05,& 9.38667e-05,0.000228562,0.000512343,0.00104713, 0.00195625, & 0.00342318, 0.00558632, 0.00865429, 0.0127844, 0.0181720, & 0.0249935, 0.0334199, 0.0436249, 0.0557769, 0.0700352, & 0.0865636, 0.105520, 0.127052, 0.151320, 0.178477, & 0.208676, 0.242069, 0.278814, 0.319043, 0.362559, & 0.408596, 0.456385, 0.505112, 0.553903, 0.601903, & 0.648333, 0.692535, 0.733981, 0.772292, 0.807236, & 0.838725, 0.866775, 0.891497, 0.913065, 0.931703, & 0.947658, 0.961176, 0.972495, 0.981844, 0.989411, & 0.995342, 1.00000 /) ! Assign AP and BP as reverse of a91_loc and b91_loc, with unit change DO L=1,State_Grid%NZ+1 ! Ap [hPa] for 91 levels (91 edges) AP(L) = a91_loc(State_Grid%NZ+2-L)/100.0 ! Bp [unitless] for 91 levels (92 edges) BP(L) = b91_loc(State_Grid%NZ+2-L) ENDDO ELSE IF ( State_Grid%NZ == 132 ) THEN !----------------------------------------------------------------- ! 132 level grid !----------------------------------------------------------------- ! GEOS-5 132 levels (from /src/GMAO_Shared/GMAO_hermes/m_set_eta.F90 ! -------------- a132_loc = (/ 1.000000, 1.996276, 3.093648, 4.651099, & 6.804155, 9.711212, 13.553898, 18.536953, & 24.887674, 32.854966, 42.708057, 54.734916, & 69.240493, 86.544776, 106.980758, 130.892382, & 158.632424, 190.560538, 227.041195, 268.441904, & 315.131439, 367.478204, 425.848769, 490.606509, & 562.110455, 640.714290, 726.765342, 820.603888, & 922.562490, 1032.965616, 1152.128995, 1280.359406, & 1417.954457, 1565.202880, 1722.383803, 1889.767115, & 2067.613829, 2256.175598, 2455.695564, 2666.408361, & 2888.539866, 3122.308425, 3367.924596, 3625.591648, & 3895.506041, 4177.787642, 4472.464900, 4779.536600, & 5098.971133, 5430.705281, 5774.647623, 6130.914868, & 6500.271455, 6883.621876, 7281.985387, 7695.829790, & 8126.006088, 8573.341452, 9039.303976, 9523.598485, & 10024.837122, 10541.370406, 11071.225963, 11612.410025, & 12161.636274, 12714.691534, 13270.207397, 13824.594107, & 14373.151226, 14914.405313, 15444.869700, 15960.611311, & 16459.769620, 16939.268383, 17396.217121, 17828.450893, & 18233.600515, 18609.343488, 18953.501254, 19264.447677, & 19539.848583, 19778.217887, 19977.939176, 20137.018678, & 20254.734748, 20328.875760, 20358.523606, 20342.231101, & 20278.589963, 20166.744330, 20004.982477, 19792.792832, & 19528.424768, 19211.380327, 18840.138412, 18414.132983, & 17933.325139, 17400.426408, 16819.657745, 16195.578563, & 15532.946677, 14837.558610, 14115.393726, 13372.886551, & 12616.479397, 11852.696266, 11087.800514, 10327.790957, & 9578.207359, 8844.157660, 8129.832058, 7440.098773, & 6777.003948, 6143.217998, 5541.186971, 4972.725810, & 4438.905073, 3940.077056, 3475.984433, 3045.886238, & 2648.697264, 2283.946319, 1951.862407, 1652.526827, & 1385.902714, 1151.874101, 950.288155, 780.991556, & 643.875906, 538.919476, 466.225293, 426.071190, & 0.000000 /) b132_loc = (/ 0.000000, 0.000000, 0.000000, 0.000000, & 0.000000, 0.000000, 0.000000, 0.000000, & 0.000000, 0.000000, 0.000000, 0.000000, & 0.000000, 0.000000, 0.000000, 0.000000, & 0.000000, 0.000000, 0.000000, 0.000000, & 0.000000, 0.000000, 0.000000, 0.000000, & 0.000000, 0.000000, 0.000000, 0.000000, & 0.000000, 0.000000, 0.000000, 0.000000, & 0.000000, 0.000000, 0.000000, 0.000000, & 0.000000, 0.000000, 0.000000, 0.000000, & 0.000000, 0.000000, 0.000000, 0.000000, & 0.000000, 0.000000, 0.000000, 0.000000, & 0.000000, 0.000000, 0.000000, 0.000000, & 0.000000, 0.000000, 0.000000, 0.000007, & 0.000024, 0.000059, 0.000112, 0.000198, & 0.000339, 0.000560, 0.000886, 0.001347, & 0.001984, 0.002845, 0.003955, 0.005356, & 0.007104, 0.009223, 0.011758, 0.014755, & 0.018243, 0.022264, 0.026854, 0.032044, & 0.037871, 0.044366, 0.051561, 0.059484, & 0.068168, 0.077639, 0.087925, 0.099055, & 0.111049, 0.123939, 0.137748, 0.152499, & 0.168220, 0.184930, 0.202659, 0.221424, & 0.241254, 0.262166, 0.284188, 0.307337, & 0.331578, 0.356790, 0.382792, 0.409444, & 0.436599, 0.464098, 0.491782, 0.519487, & 0.547056, 0.574335, 0.601181, 0.627461, & 0.653056, 0.677861, 0.701765, 0.724759, & 0.746767, 0.767710, 0.787535, 0.806224, & 0.823790, 0.840276, 0.855742, 0.870260, & 0.883905, 0.896733, 0.908781, 0.920085, & 0.930681, 0.940600, 0.949868, 0.958500, & 0.966498, 0.973850, 0.980526, 0.986474, 1.000000 /) ! Assign AP and BP as reverse of a91_loc and b91_loc, with unit change DO L=1,State_Grid%NZ+1 ! Ap [hPa] for 132 levels (133 edges) AP(L) = a132_loc(State_Grid%NZ+2-L)/100.0 ! Bp [unitless] for 132 levels (133 edges) BP(L) = b132_loc(State_Grid%NZ+2-L) ENDDO #if !defined( MODEL_WRF ) && !defined( MODEL_CESM ) ELSE WRITE( nLev, * ) State_Grid%NZ ErrMSg = 'Ap and Bp not defined for ' // TRIM( nLev ) // & ' levels. Please add these defintions in pressure_mod.F90.' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN #endif ENDIF !======================================================================= ! Compute the maximum vertical level in the chemistry grid. ! This corresponds to the 1 hPa level !======================================================================= CALL Init_MaxChemLev( State_Grid, State_Met, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Init_MaxChemLev"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF #if ( !defined( ESMF_ ) && !defined( MODEL_ ) ) || defined( MODEL_GEOS ) ! Echo info to std output (skip if interfacing with external models) IF ( Input_Opt%amIRoot .and. ( .not. Input_Opt%DryRun ) ) THEN WRITE( 6, '(a)' ) REPEAT( '=', 79 ) WRITE( 6, '(a,/)' ) 'V E R T I C A L G R I D S E T U P' WRITE( 6, '(a,/)' ) 'INIT_PRESSURE: Vertical coordinates!' WRITE( 6, '( ''Ap '', /, 6(f11.6,1x) )' ) AP(1:State_Grid%NZ+1) WRITE( 6, '(a)' ) WRITE( 6, '( ''Bp '', /, 6(f11.6,1x) )' ) BP(1:State_Grid%NZ+1) WRITE( 6, '(a)' ) REPEAT( '=', 79 ) ENDIF #endif END SUBROUTINE INIT_PRESSURE !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Cleanup_Pressure ! ! !DESCRIPTION: Subroutine CLEANUP\_PRESSURE deallocates all allocated arrays ! at the end of a GEOS-Chem model run. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CLEANUP_PRESSURE ! ! !REVISION HISTORY: ! 20 Aug 2002 - D. Abbot & R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC IF ( ALLOCATED( AP ) ) DEALLOCATE( AP ) IF ( ALLOCATED( BP ) ) DEALLOCATE( BP ) IF ( ALLOCATED( AP_FULLGRID ) ) DEALLOCATE( AP_FULLGRID ) IF ( ALLOCATED( BP_FULLGRID ) ) DEALLOCATE( BP_FULLGRID ) IF ( ALLOCATED( PFLT_DRY ) ) DEALLOCATE( PFLT_DRY ) IF ( ALLOCATED( PFLT_WET ) ) DEALLOCATE( PFLT_WET ) #if defined( ESMF_ ) || defined( MODEL_ ) || defined( MODEL_BCC ) IF ( ALLOCATED( EXTERNAL_PEDGE ) ) DEALLOCATE( EXTERNAL_PEDGE ) #endif END SUBROUTINE CLEANUP_PRESSURE !EOC #if defined( ESMF_ ) || defined( MODEL_ ) !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Accept_External_Pedge ! ! !DESCRIPTION: Subroutine ACCEPT\_EXTERNAL\_PEDGE sets the GEOS-Chem ! pressure edge variable with the values obtained from an external GCM ! (such as the NASA GEOS-5 GCM). !\\ !\\ ! !INTERFACE: ! SUBROUTINE Accept_External_Pedge( State_Met, State_Grid, RC ) ! ! !USES: ! USE ErrCode_Mod USE State_Met_Mod, ONLY : MetState USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology state object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !OUTPUT ARGUMENTS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! This routine is a setter for EXTERNAL_PEDGE. It allows us to keep the ! EXTERNAL_PEDGE array PRIVATE to this module, which is good programming ! practice. ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, J, L ! Set EXTERNAL_PEDGE to the pressure edges [hPa] carried in the ! State_Met object, which were obtained from the external GCM !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J, L ) DO I = 1, State_Grid%NX DO J = 1, State_Grid%NY DO L = 1, State_Grid%NZ+1 EXTERNAL_PEDGE(I,J,L) = State_Met%PEDGE(I,J,L) ENDDO ENDDO ENDDO ! Return successfully RC = GC_SUCCESS END SUBROUTINE Accept_External_Pedge !EOC #endif #if defined ( MODEL_WRF ) || defined( MODEL_CESM ) !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Accept_External_ApBp ! ! !DESCRIPTION: Subroutine ACCEPT\_EXTERNAL\_ApBp sets the GEOS-Chem ! hybrid grid AP, BP values with values obtained from an external model, ! such as the WRF model. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Accept_External_ApBp( State_Grid, ApIn, BpIn, RC ) ! ! !USES: ! USE ErrCode_Mod USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object REAL(fp), INTENT(IN) :: ApIn(State_Grid%NZ+1) ! "A" term for hybrid grid REAL(fp), INTENT(IN) :: BpIn(State_Grid%NZ+1) ! "B" term for hybrid grid ! ! !OUTPUT ARGUMENTS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! This routine is a setter for AP, BP. It allows us to keep the ! AP, BP array PRIVATE to this module, which is good programming ! practice. ! ! For WRF-GC, you need to enable the v3.9+ hybrid-sigma vertical coordinate system ! in the WRF model. Set hybrid_opt = 2 in &dynamics, and ./configure -hyb. ! Like WRF-GC itself, hybrid-sigma grids are experimental in WRF 3.9+. ! ! !REVISION HISTORY: ! 17 Aug 2018 - H.P. Lin - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC AP = ApIn BP = BpIn ! Return successfully RC = GC_SUCCESS END SUBROUTINE Accept_External_ApBp #endif !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_MaxChemLev ! ! !DESCRIPTION: Computes the maximum level at which chemsitry will be ! performed. This corresponds to the 1 hPa level. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_MaxChemLev( State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success/failure ! ! !REVISION HISTORY: ! 07 Sep 2017 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: L ! Strings CHARACTER(LEN=255) :: thisLoc CHARACTER(LEN=512) :: errMsg !======================================================================== ! Init_MaxChemLev begins here! !======================================================================== ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = ' -> at Init_MaxChemLev (in GeosUtil/pressure_mod.F90)' SELECT CASE( State_Grid%NZ ) !--------------------------------------------------------------------- ! GMAO met fields ! ! State_Met%MaxStratLev is the 1 hPa level ! State_Met%MaxChemLev is set to State_Chm%MaxStratLev by default ! (but this could be defined differently if desired) !--------------------------------------------------------------------- CASE( 72, 47 ) DO L = State_Grid%NZ+1, 1, -1 IF ( Get_Ap(L) > 1.0 ) THEN State_Met%MaxChemLev = L State_Met%MaxStratLev = L EXIT ENDIF ENDDO !--------------------------------------------------------------------- ! GCAP / ModelE 2.1 ! ! For now, use the previous definitions to ensure ! zero-diff results w/r/t older GEOS-Chem versions. !--------------------------------------------------------------------- CASE( 102 ) State_Met%MaxChemLev = 91 State_Met%MaxStratLev = 91 CASE( 74 ) State_Met%MaxChemLev = 72 State_Met%MaxStratLev = 72 CASE( 40 ) State_Met%MaxChemLev = 40 State_Met%MaxStratLev = 40 !--------------------------------------------------------------------- ! Otherwise stop with error !--------------------------------------------------------------------- CASE DEFAULT ErrMsg = & 'State_Grid%GridRes = ' // Trim( State_Grid%GridRes ) // & ' does not have MaxTropLev and MaxStratLev defined. Please' // & ' add these definitions to the CASE statement in routine' // & ' "Init_MaxChemLev" (located in GeosUtil/pressure_mod.F90).' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN END SELECT END SUBROUTINE Init_MaxChemLev !EOC END MODULE PRESSURE_MOD ================================================ FILE: GeosUtil/print_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: print_mod.F90 ! ! !DESCRIPTION: Module PRINT\_MOD contains routines which are used as a ! general utility to print various quantities to log for debugging ! or informational purposes. !\\ !\\ ! !INTERFACE: ! MODULE Print_Mod ! ! !USES: ! USE ErrCode_Mod USE Error_Mod USE PhysConstants USE Precision_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Chm_Mod, ONLY : Ind_ USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE UnitConv_Mod IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: Print_Species_Min_Max_Sum PUBLIC :: Print_Species_Global_Mass PUBLIC :: Print_Species_Global_Mass_From_VVDry ! ! !REMARKS: ! ! ! !REVISION HISTORY: ! 15 Oct 20324 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Print_Species_Min_Max_Sum ! ! !DESCRIPTION: Subroutine Print\_Species\_Min\_Max\_Sum prints the ! minimum, maximum, and sum of species concentrations on the root thread ! to log. The default is to write all species. Arguments can be passed to ! to specify start index and stop index of State_Chm%Species array to ! limit species to one species or a consecutive sequence. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Print_Species_Min_Max_Sum( msg, Input_Opt, State_Chm, & RC, nStart, nStop ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: msg ! Message to print TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object INTEGER, INTENT(IN), OPTIONAL :: nStart ! Index of 1st species to print INTEGER, INTENT(IN), OPTIONAL :: nStop ! Index of last species to print ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 07 Oct 2024 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N, N_Start, N_Stop ! Strings CHARACTER(LEN=255) :: errMsg, errLoc, units !======================================================================== ! Print_Species_Min_Max_Sum begins here! !======================================================================== RC = GC_SUCCESS errMsg = '' errLoc = ' -> at Print_Species_Min_Max_Sum (in GeosUtil/print_mod.F90)' ! Set defaults N_START = 1 N_STOP = State_Chm%nSpecies ! Override with optional args IF ( PRESENT(nStart) ) N_START = nStart IF ( PRESENT(nStop ) ) N_STOP = nStop ! Write to log IF ( Input_Opt%amIRoot ) THEN WRITE(6,*) TRIM(msg) // ' (' // TRIM(UNIT_STR(State_Chm%Species(1)%Units)) // ')' DO N = N_START, N_STOP WRITE( 6, 120 ) N, TRIM( State_Chm%SpcData(N)%Info%Name ), & MINVAL( State_Chm%Species(N)%Conc(:,:,:) ), & MAXVAL( State_Chm%Species(N)%Conc(:,:,:) ), & SUM ( State_Chm%Species(N)%Conc(:,:,:) ) ENDDO ENDIF 120 FORMAT( ' Species ', i3, ', ', a8, ': Min = ', es15.9, & ' Max = ',es15.9, ' Sum = ',es15.9) END SUBROUTINE Print_Species_Min_Max_Sum !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Print_Species_Global_Mass ! ! !DESCRIPTION: Subroutine Print\_Species\_Global\_Mass prints the ! global sum of species mass in kg on the root thread to log. ! The default is to write all species. Arguments can be passed to ! to specify start index and stop index of State_Chm%Species array to ! limit species to one species or a consecutive sequence. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Print_Species_Global_Mass( msg, Input_Opt, State_Chm, & State_Met, State_Grid, RC, & nStart, nStop ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: msg ! Message to print TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object INTEGER, INTENT(IN), OPTIONAL :: nStart ! Index of 1st spc INTEGER, INTENT(IN), OPTIONAL :: nStop ! Index of last spc ! ! INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! You may see very small numerical differences when comparing results ! from a simulation where Print_Species_Global_Mass has been called to a ! simulation where it has not been called. This is because there is an ! additional unit conversion in Print_Species_Global_Mass, which may ! cause numerical noise in the species concentration array. ! ! !REVISION HISTORY: ! 07 Oct 2024 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N, N_Start, N_Stop, previous_units ! Strings CHARACTER(LEN=255) :: errMsg, errLoc, units !======================================================================== ! Print_Species_Global_Mass begins here! !======================================================================== RC = GC_SUCCESS errMsg = '' errLoc = ' -> at Print_Species_Global_Mass (in GeosUtil/print_mod.F90)' ! Set defaults N_START = 1 N_STOP = State_Chm%nSpecies ! Override with optional args IF ( PRESENT( nStart) ) N_START = nStart IF ( PRESENT( nStop ) ) N_STOP = nStop ! Convert species to kg if needed CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & new_units = KG_SPECIES, & previous_units = previous_units, & RC = RC ) ! Write to log IF ( Input_Opt%amIRoot ) THEN WRITE( 6, '(a)' ) 'Global mass sum of each species [kg]' IF ( LEN_TRIM ( msg ) > 0 ) WRITE( 6, '(a)' ) TRIM( msg ) DO N = N_START, N_STOP WRITE( 6, 130 ) N, TRIM( State_Chm%SpcData(N)%Info%Name ), & SUM( State_Chm%Species(N)%Conc ) ENDDO ENDIF ! Convert species to original units CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & new_units = previous_units, & RC = RC ) 130 FORMAT( ' Species ', i3, ', ', a9, ': Global mass = ', es15.9 ) END SUBROUTINE Print_Species_Global_Mass !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Print_Species_Global_Mass ! ! !DESCRIPTION: Subroutine Print\_Species\_Global\_Mass prints the ! global sum of species mass in kg on the root thread to log. ! The default is to write all species. Arguments can be passed to ! to specify start index and stop index of State_Chm%Species array to ! limit species to one species or a consecutive sequence. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Print_Species_Global_Mass_From_VVDry( msg, Input_Opt, & State_Chm, State_Met, & State_Grid, RC, & nStart, nStop ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: msg ! Message to print TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object INTEGER, OPTIONAL :: nStart ! Index of 1st species INTEGER, OPTIONAL :: nStop ! Index of last species ! ! INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! This routine prints species global masses without modifying the ! State_Chm%Species array. This should prevent very small numerical ! differences caused by roundoff. ! ! !REVISION HISTORY: ! 05 Mar 2026 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N, N_Start, N_Stop ! Arrays REAL(fp) :: conv(State_Grid%NX,State_Grid%NY,State_Grid%NZ) !======================================================================== ! Print_Species_Global_Mass_From_VVDry begins here! !======================================================================== ! Set defaults N_START = 1 N_STOP = State_Chm%nSpecies ! Override with optional args IF ( PRESENT( nStart ) ) N_START = nStart IF ( PRESENT( nStop ) ) N_STOP = nStop ! Write to log IF ( Input_Opt%amIRoot ) THEN WRITE( 6, '(a)' ) 'Global mass sum of each species [kg]' IF ( LEN_TRIM ( msg ) > 0 ) WRITE( 6, '(a)' ) TRIM( msg ) ! Loop over species DO N = N_START, N_STOP ! Conversion from [mol/mol dry] -> [kg] conv = State_Met%AD * ( State_Chm%SpcData(N)%Info%MW_g / AIRMW ) ! Print species mass in kg WRITE( 6, 10 ) N, TRIM( State_Chm%SpcData(N)%Info%Name ), & SUM( State_Chm%Species(N)%Conc * conv ) ENDDO ENDIF 10 FORMAT( ' Species ', i3, ', ', a9, ': Global mass = ', es15.9 ) END SUBROUTINE Print_Species_Global_Mass_From_VVDry !EOC END MODULE Print_Mod ================================================ FILE: GeosUtil/regrid_a2a_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: regrid_a2a_mod.F90 ! ! !DESCRIPTION: Module REGRID\_A2A\_MOD uses an algorithm adapted from ! MAP\_A2A code to regrid from one horizontal grid to another. !\\ !\\ ! !INTERFACE: ! MODULE Regrid_A2A_Mod ! ! !USES: ! USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: Map_A2A ! Map_A2A overloads these routines INTERFACE Map_A2A MODULE PROCEDURE Map_A2A_R8R8 MODULE PROCEDURE Map_A2A_R4R8 MODULE PROCEDURE Map_A2A_R4R4 MODULE PROCEDURE Map_A2A_R8R4 END INTERFACE Map_A2A ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: Map_A2A_R8R8 PRIVATE :: Map_A2A_R4R4 PRIVATE :: Map_A2A_R4R8 PRIVATE :: Map_A2A_R8R4 PRIVATE :: Ymap_R8R8 PRIVATE :: Ymap_R4R8 PRIVATE :: Ymap_R4R4 PRIVATE :: Ymap_R8R4 PRIVATE :: Xmap_R8R8 PRIVATE :: Xmap_R4R4 PRIVATE :: Xmap_R4R8 PRIVATE :: Xmap_R8R4 ! ! !REVISION HISTORY: ! 13 Mar 2012 - M. Cooper - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! !--------------------------------------------------------------------------- ! Physical constants taken from the GEOS-Chem "physconstants.F90" module, ! which uses values from NIST 2014. (ewl, bmy, 03 Mar 2022) !--------------------------------------------------------------------------- REAL(fp), PARAMETER :: PI = 3.14159265358979323_fp ! Pi REAL(fp), PARAMETER :: Re = 6.3710072e+6_fp ! Earth radius [m] !--------------------------------------------------------------------------- ! Tiny numbers for single and double precision. These are being used for ! skipping missing values. miss_r4 and miss_r8 are the default missing values ! for single and double precision, respectively. (ckeller, 4/8/2017) !--------------------------------------------------------------------------- REAL*4, PARAMETER :: tiny_r4 = 1.0e-30 !1.0e-20 REAL*4, PARAMETER :: miss_r4 = 0.0e0 REAL*8, PARAMETER :: tiny_r8 = 1.0d-40 REAL*8, PARAMETER :: miss_r8 = 0.0d0 CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Map_A2A_r8r8 ! ! !DESCRIPTION: Subroutine MAP\_A2A\_R8R8 is a horizontal arbitrary grid to ! arbitrary grid conservative high-order mapping regridding routine by S-J ! Lin. Both the input data and output data have REAL(fp) precision. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Map_A2A_r8r8( im, jm, lon1, sin1, q1, & in, jn, lon2, sin2, q2, ig, iv, missval) ! ! !INPUT PARAMETERS: ! ! Longitude and Latitude dimensions of INPUT grid INTEGER, INTENT(IN) :: im, jm ! Longitude and Latitude dimensions of OUTPUT grid INTEGER, INTENT(IN) :: in, jn ! IG=0: pole to pole; ! IG=1 J=1 is half-dy north of south pole INTEGER, INTENT(IN) :: ig ! IV=0: Regrid scalar quantity ! IV=1: Regrid vector quantity INTEGER, INTENT(IN) :: iv ! Longitude edges (degrees) of INPUT and OUTPUT grids REAL*8, INTENT(IN) :: lon1(im+1), lon2(in+1) ! Sine of Latitude Edges (radians) of INPUT and OUTPUT grids REAL*8, INTENT(IN) :: sin1(jm+1), sin2(jn+1) ! Quantity on INPUT grid REAL*8, INTENT(IN) :: q1(im,jm) ! ! !OUTPUT PARAMETERS: ! ! Regridded quantity on OUTPUT grid REAL*8, INTENT(OUT) :: q2(in,jn) ! ! !OPTIONAL ARGUMENTS ! REAL*8, INTENT(IN), OPTIONAL :: missval ! ! !REMARKS: ! This routine is overloaded by the MAP_A2A interface. ! ! !REVISION HISTORY: ! (1) Original subroutine by S-J Lin. Converted to F90 freeform format ! and inserted into "Geos3RegridModule" by Bob Yantosca (9/21/00) ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: i,j,k REAL*8 :: qtmp(in,jm) ! Init IF ( PRESENT(missval) ) THEN qtmp = missval q2 = missval ELSE qtmp = miss_r8 q2 = miss_r8 ENDIF !=================================================================== ! E-W regridding !=================================================================== IF ( im == in .and. & lon1(1) == lon2(1) .and. & lon1(im+1) == lon2(in+1) ) THEN ! Don't call XMAP if both grids have the same # of longitudes ! but save the input data in the QTMP array !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J ) DO j=1,jm-ig DO i=1,im qtmp(i,j+ig) = q1(i,j+ig) ENDDO ENDDO !$OMP END PARALLEL DO ELSE ! Otherwise, call XMAP to regrid in the E-W direction CALL xmap_r8r8(im, jm-ig, lon1, q1(1,1+ig),in, lon2, qtmp(1,1+ig), & missval=missval ) ENDIF !=================================================================== ! N-S regridding !=================================================================== IF ( jm == jn .and. & sin1(1) == sin2(1) .and. & sin1(jm+1) == sin2(jn+1) ) THEN ! Don't call XMAP if both grids have the same # of longitudes, ! but assign the value of QTMP to the output Q2 array !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J ) DO j=1,jm-ig DO i=1,in q2(i,j+ig) = qtmp(i,j+ig) ENDDO ENDDO !$OMP END PARALLEL DO ELSE ! Otherwise, call YMAP to regrid in the N-S direction CALL ymap_r8r8(in, jm, sin1, qtmp(1,1+ig), jn, sin2, q2(1,1+ig), ig, iv, & missval=missval ) ENDIF END SUBROUTINE Map_A2A_r8r8 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Map_A2A_r4r4 ! ! !DESCRIPTION: Subroutine MAP\_A2A\_R4R4 is a horizontal arbitrary grid ! to arbitrary grid conservative high-order mapping regridding routine ! by S-J Lin. Both the input and output data have REAL*4 precision. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Map_A2A_r4r4( im, jm, lon1, sin1, q1, & in, jn, lon2, sin2, q2, ig, iv, missval) ! ! !INPUT PARAMETERS: ! ! Longitude and Latitude dimensions of INPUT grid INTEGER, INTENT(IN) :: im, jm ! Longitude and Latitude dimensions of OUTPUT grid INTEGER, INTENT(IN) :: in, jn ! IG=0: pole to pole; ! IG=1 J=1 is half-dy north of south pole INTEGER, INTENT(IN) :: ig ! IV=0: Regrid scalar quantity ! IV=1: Regrid vector quantity INTEGER, INTENT(IN) :: iv ! Longitude edges (degrees) of INPUT and OUTPUT grids REAL*4, INTENT(IN) :: lon1(im+1), lon2(in+1) ! Sine of Latitude Edges (radians) of INPUT and OUTPUT grids REAL*4, INTENT(IN) :: sin1(jm+1), sin2(jn+1) ! Quantity on INPUT grid REAL*4, INTENT(IN) :: q1(im,jm) ! ! !OUTPUT PARAMETERS: ! ! Regridded quantity on OUTPUT grid REAL*4, INTENT(OUT) :: q2(in,jn) ! ! !OPTIONAL ARGUMENTS ! REAL*4, INTENT(IN), OPTIONAL :: missval ! ! !REMARKS: ! This routine is overloaded by the MAP_A2A interface. ! ! !REVISION HISTORY: ! (1) Original subroutine by S-J Lin. Converted to F90 freeform format ! and inserted into "Geos3RegridModule" by Bob Yantosca (9/21/00) ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: i,j,k REAL*4 :: qtmp(in,jm) ! Init IF ( PRESENT(missval) ) THEN qtmp = missval q2 = missval ELSE qtmp = miss_r4 q2 = miss_r4 ENDIF !=================================================================== ! E-W regridding !=================================================================== IF ( im == in .and. & lon1(1) == lon2(1) .and. & lon1(im+1) == lon2(in+1) ) THEN ! Don't call XMAP if both grids have the same # of longitudes ! but save the input data in the QTMP array !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J ) DO j=1,jm-ig DO i=1,im qtmp(i,j+ig) = q1(i,j+ig) ENDDO ENDDO !$OMP END PARALLEL DO ELSE ! Otherwise, call XMAP to regrid in the E-W direction CALL xmap_r4r4(im, jm-ig, lon1, q1(1,1+ig),in, lon2, qtmp(1,1+ig), & missval=missval ) ENDIF !=================================================================== ! N-S regridding !=================================================================== IF ( jm == jn .and. & sin1(1) == sin2(1) .and. & sin1(jm+1) == sin2(jn+1) ) THEN ! Don't call XMAP if both grids have the same # of longitudes, ! but assign the value of QTMP to the output Q2 array !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J ) DO j=1,jm-ig DO i=1,in q2(i,j+ig) = qtmp(i,j+ig) ENDDO ENDDO !$OMP END PARALLEL DO ELSE ! Otherwise, call YMAP to regrid in the N-S direction CALL ymap_r4r4(in, jm, sin1, qtmp(1,1+ig), jn, sin2, q2(1,1+ig), ig, iv, & missval=missval) ENDIF END SUBROUTINE Map_A2A_r4r4 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Map_A2A_r4r8 ! ! !DESCRIPTION: Subroutine MAP\_A2A\_R4R8 is a horizontal arbitrary grid to ! arbitrary grid conservative high-order mapping regridding routine by ! S-J Lin. The input data has REAL*4 precision, but the output argument ! has REAL(fp) precision. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Map_A2A_r4r8( im, jm, lon1, sin1, q1, & in, jn, lon2, sin2, q2, ig, iv, missval) ! ! !INPUT PARAMETERS: ! ! Longitude and Latitude dimensions of INPUT grid INTEGER, INTENT(IN) :: im, jm ! Longitude and Latitude dimensions of OUTPUT grid INTEGER, INTENT(IN) :: in, jn ! IG=0: pole to pole; ! IG=1 J=1 is half-dy north of south pole INTEGER, INTENT(IN) :: ig ! IV=0: Regrid scalar quantity ! IV=1: Regrid vector quantity INTEGER, INTENT(IN) :: iv ! Longitude edges (degrees) of INPUT and OUTPUT grids REAL*4, INTENT(IN) :: lon1(im+1), lon2(in+1) ! Sine of Latitude Edges (radians) of INPUT and OUTPUT grids REAL*4, INTENT(IN) :: sin1(jm+1), sin2(jn+1) ! Quantity on INPUT grid REAL*4, INTENT(IN) :: q1(im,jm) ! ! !OUTPUT PARAMETERS: ! ! Regridded quantity on OUTPUT grid REAL*8, INTENT(OUT) :: q2(in,jn) ! ! !OPTIONAL ARGUMENTS ! REAL*4, INTENT(IN), OPTIONAL :: missval ! ! !REMARKS: ! This routine is overloaded by the MAP_A2A interface. ! ! !REVISION HISTORY: ! (1) Original subroutine by S-J Lin. Converted to F90 freeform format ! and inserted into "Geos3RegridModule" by Bob Yantosca (9/21/00) ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: i,j,k REAL*8 :: qtmp(in,jm) ! Init IF ( PRESENT(missval) ) THEN qtmp = real(missval,8) q2 = real(missval,8) ELSE qtmp = miss_r8 q2 = miss_r8 ENDIF !=================================================================== ! E-W regridding !=================================================================== IF ( im == in .and. & lon1(1) == lon2(1) .and. & lon1(im+1) == lon2(in+1) ) THEN ! Don't call XMAP if both grids have the same # of longitudes ! but save the input data in the QTMP array !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J ) DO j=1,jm-ig DO i=1,im qtmp(i,j+ig) = q1(i,j+ig) ENDDO ENDDO !$OMP END PARALLEL DO ELSE ! Otherwise, call XMAP to regrid in the E-W direction CALL xmap_r4r8(im, jm-ig, lon1, q1(1,1+ig),in, lon2, qtmp(1,1+ig), & missval=missval ) ENDIF !=================================================================== ! N-S regridding !=================================================================== IF ( jm == jn .and. & sin1(1) == sin2(1) .and. & sin1(jm+1) == sin2(jn+1) ) THEN ! Don't call XMAP if both grids have the same # of longitudes, ! but assign the value of QTMP to the output Q2 array !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J ) DO j=1,jm-ig DO i=1,in q2(i,j+ig) = qtmp(i,j+ig) ENDDO ENDDO !$OMP END PARALLEL DO ELSE ! Otherwise, call YMAP to regrid in the N-S direction CALL ymap_r4r8(in, jm, sin1, qtmp(1,1+ig), jn, sin2, q2(1,1+ig), ig, iv, & missval=missval ) ENDIF END SUBROUTINE Map_A2A_r4r8 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Map_A2A_r8r4 ! ! !DESCRIPTION: Subroutine MAP\_A2A\_R8R4 is a horizontal arbitrary grid to ! arbitrary grid conservative high-order mapping regridding routine by ! S-J Lin. The input data has REAL*8 precision, but the output argument ! has REAL*4 precision. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Map_A2A_r8r4( im, jm, lon1, sin1, q1, & in, jn, lon2, sin2, q2, ig, iv, missval) ! ! !INPUT PARAMETERS: ! ! Longitude and Latitude dimensions of INPUT grid INTEGER, INTENT(IN) :: im, jm ! Longitude and Latitude dimensions of OUTPUT grid INTEGER, INTENT(IN) :: in, jn ! IG=0: pole to pole; ! IG=1 J=1 is half-dy north of south pole INTEGER, INTENT(IN) :: ig ! IV=0: Regrid scalar quantity ! IV=1: Regrid vector quantity INTEGER, INTENT(IN) :: iv ! Longitude edges (degrees) of INPUT and OUTPUT grids REAL*4, INTENT(IN) :: lon1(im+1), lon2(in+1) ! Sine of Latitude Edges (radians) of INPUT and OUTPUT grids REAL*4, INTENT(IN) :: sin1(jm+1), sin2(jn+1) ! Quantity on INPUT grid REAL*8, INTENT(IN) :: q1(im,jm) ! ! !OUTPUT PARAMETERS: ! ! Regridded quantity on OUTPUT grid REAL*4, INTENT(OUT) :: q2(in,jn) ! ! !OPTIONAL ARGUMENTS ! REAL*8, INTENT(IN), OPTIONAL :: missval ! ! !REMARKS: ! This routine is overloaded by the MAP_A2A interface. ! ! !REVISION HISTORY: ! (1) Original subroutine by S-J Lin. Converted to F90 freeform format ! and inserted into "Geos3RegridModule" by Bob Yantosca (9/21/00) ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: i,j,k REAL*4 :: qtmp(in,jm) ! Init IF ( PRESENT(missval) ) THEN qtmp = real(missval,4) q2 = real(missval,4) ELSE qtmp = miss_r4 q2 = miss_r4 ENDIF !=================================================================== ! E-W regridding !=================================================================== IF ( im == in .and. & lon1(1) == lon2(1) .and. & lon1(im+1) == lon2(in+1) ) THEN ! Don't call XMAP if both grids have the same # of longitudes ! but save the input data in the QTMP array !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J ) DO j=1,jm-ig DO i=1,im qtmp(i,j+ig) = q1(i,j+ig) ENDDO ENDDO !$OMP END PARALLEL DO ELSE ! Otherwise, call XMAP to regrid in the E-W direction CALL xmap_r8r4(im, jm-ig, lon1, q1(1,1+ig),in, lon2, qtmp(1,1+ig), & missval=missval ) ENDIF !=================================================================== ! N-S regridding !=================================================================== IF ( jm == jn .and. & sin1(1) == sin2(1) .and. & sin1(jm+1) == sin2(jn+1) ) THEN ! Don't call XMAP if both grids have the same # of longitudes, ! but assign the value of QTMP to the output Q2 array !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J ) DO j=1,jm-ig DO i=1,in q2(i,j+ig) = qtmp(i,j+ig) ENDDO ENDDO !$OMP END PARALLEL DO ELSE ! Otherwise, call YMAP to regrid in the N-S direction CALL ymap_r4r4(in, jm, sin1, qtmp(1,1+ig), jn, sin2, q2(1,1+ig), ig, iv, & missval=real(missval,4)) ENDIF END SUBROUTINE Map_A2A_r8r4 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ymap_r8r8 ! ! !DESCRIPTION: Routine to perform area preserving mapping in N-S from an ! arbitrary resolution to another. Both the input and output arguments ! have REAL(fp) precision. !\\ !\\ ! !INTERFACE: ! SUBROUTINE ymap_r8r8(im, jm, sin1, q1, jn, sin2, q2, ig, iv, missval ) ! ! !INPUT PARAMETERS: ! ! original E-W dimension INTEGER, INTENT(IN) :: im ! original N-S dimension INTEGER, INTENT(IN) :: jm ! Target N-S dimension INTEGER, INTENT(IN) :: jn ! IG=0: scalars from SP to NP (D-grid v-wind is also IG=0) ! IG=1: D-grid u-wind INTEGER, INTENT(IN) :: ig ! IV=0: scalar; ! IV=1: vector INTEGER, INTENT(IN) :: iv ! Original southern edge of the cell sin(lat1) REAL*8, INTENT(IN) :: sin1(jm+1-ig) ! Original data at center of the cell REAL*8, INTENT(IN) :: q1(im,jm) ! Target cell's southern edge sin(lat2) REAL*8, INTENT(IN) :: sin2(jn+1-ig) ! ! !OPTIONAL INPUT PARAMETERS: ! REAL*8, INTENT(IN), OPTIONAL :: missval ! ! !OUTPUT PARAMETERS: ! ! Mapped data at the target resolution REAL*8, INTENT(OUT) :: q2(im,jn) ! ! !REMARKS: ! ! sin1 (1) = -1 must be south pole; sin1(jm+1)=1 must be N pole. ! ! sin1(1) < sin1(2) < sin1(3) < ... < sin1(jm) < sin1(jm+1) ! sin2(1) < sin2(2) < sin2(3) < ... < sin2(jn) < sin2(jn+1)! ! ! !AUTHOR: ! Developer: Prasad Kasibhatla ! March 6, 2012 ! ! !REVISION HISTORY ! 06 Mar 2012 - P. Kasibhatla - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: i, j0, m, mm, j REAL*8 :: dy1(jm) REAL*8 :: dy REAL*8 :: qsum, sum REAL*8 :: dlat, nlon, miss ! YMAP begins here! do j=1,jm-ig dy1(j) = sin1(j+1) - sin1(j) enddo ! Missing value miss = miss_r8 if ( present(missval) ) miss=missval !=============================================================== ! Area preserving mapping !=============================================================== !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J0, J, M, QSUM, DLAT, MM, DY ) do 1000 i=1,im qsum = 0.0d0 dlat = 0.0d0 j0 = 1 do 555 j=1,jn-ig do 100 m=j0,jm-ig !========================================================= ! locate the southern edge: sin2(i) !========================================================= if(sin2(j) .ge. sin1(m) .and. sin2(j) .le. sin1(m+1)) then if(sin2(j+1) .le. sin1(m+1)) then ! entire new cell is within the original cell if( abs(q1(i,m)-miss)>tiny_r8 ) q2(i,j)=q1(i,m) j0 = m goto 555 else ! South most fractional area if( abs(q1(i,m)-miss)>tiny_r8 ) then dlat= sin1(m+1)-sin2(j) qsum=(sin1(m+1)-sin2(j))*q1(i,m) endif do mm=m+1,jm-ig ! locate the northern edge: sin2(j+1) if(sin2(j+1) .gt. sin1(mm+1) ) then ! Whole layer if( abs(q1(i,mm)-miss)>tiny_r8 ) then dlat = dlat + dy1(mm) qsum = qsum + dy1(mm)*q1(i,mm) endif else ! North most fractional area dy = sin2(j+1)-sin1(mm) if ( abs(q1(i,mm)-miss)>tiny_r8 ) then qsum=qsum+dy*q1(i,mm) dlat=dlat+dy endif j0 = mm goto 123 endif enddo goto 123 endif endif 100 continue !123 q2(i,j) = qsum / ( sin2(j+1) - sin2(j) ) 123 if ( ABS( dlat ) > 0.0d0 ) q2(i,j) = qsum / dlat 555 continue 1000 continue !$OMP END PARALLEL DO !=================================================================== ! Final processing for poles !=================================================================== if ( ig .eq. 0 .and. iv .eq. 0 ) then ! South pole if ( sin2(1) .eq. -1.0_fp ) then sum = 0.e+0_fp nlon= 0.0d0 do i=1,im if(abs(q2(i,1)-miss)>tiny_r8 ) then sum = sum + q2(i,1) nlon= nlon + 1.0d0 endif enddo if ( nlon > 0.0d0 ) sum = sum / nlon do i=1,im q2(i,1) = sum enddo endif ! North pole: if( sin2(jn+1) .eq. 1.0_fp ) then sum = 0.e+0_fp nlon= 0.0d0 do i=1,im if( abs(q2(i,jn)-miss)>tiny_r8 ) then sum = sum + q2(i,jn) nlon= nlon + 1.0d0 endif enddo if ( nlon > 0.0d0 ) sum = sum / DBLE( im ) do i=1,im q2(i,jn) = sum enddo endif endif END SUBROUTINE ymap_r8r8 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ymap_r4r8 ! ! !DESCRIPTION: Routine to perform area preserving mapping in N-S from an ! arbitrary resolution to another. The input argument has REAL*4 precision ! but the output argument has REAL(fp) precision. !\\ !\\ ! !INTERFACE: ! SUBROUTINE ymap_r4r8(im, jm, sin1, q1, jn, sin2, q2, ig, iv, missval) ! ! !INPUT PARAMETERS: ! ! original E-W dimension INTEGER, INTENT(IN) :: im ! original N-S dimension INTEGER, INTENT(IN) :: jm ! Target N-S dimension INTEGER, INTENT(IN) :: jn ! IG=0: scalars from SP to NP (D-grid v-wind is also IG=0) ! IG=1: D-grid u-wind INTEGER, INTENT(IN) :: ig ! IV=0: scalar; ! IV=1: vector INTEGER, INTENT(IN) :: iv ! Original southern edge of the cell sin(lat1) REAL*4, INTENT(IN) :: sin1(jm+1-ig) ! Original data at center of the cell REAL*8, INTENT(IN) :: q1(im,jm) ! Target cell's southern edge sin(lat2) REAL*4, INTENT(IN) :: sin2(jn+1-ig) ! ! !OPTIONAL INPUT PARAMETERS: ! REAL*4, INTENT(IN), OPTIONAL :: missval ! ! ! !OUTPUT PARAMETERS: ! ! Mapped data at the target resolution REAL*8, INTENT(OUT) :: q2(im,jn) ! ! !REMARKS: ! ! sin1 (1) = -1 must be south pole; sin1(jm+1)=1 must be N pole. ! ! sin1(1) < sin1(2) < sin1(3) < ... < sin1(jm) < sin1(jm+1) ! sin2(1) < sin2(2) < sin2(3) < ... < sin2(jn) < sin2(jn+1)! ! ! !AUTHOR: ! Developer: Prasad Kasibhatla ! March 6, 2012 ! ! !REVISION HISTORY ! 06 Mar 2012 - P. Kasibhatla - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: i, j0, m, mm, j REAL*8 :: dy1(jm) REAL*8 :: dy REAL*8 :: qsum, dlat, nlon, sum REAL*4 :: miss ! YMAP begins here! do j=1,jm-ig dy1(j) = sin1(j+1) - sin1(j) enddo ! Missing value miss = miss_r4 if ( present(missval) ) miss=missval !=============================================================== ! Area preserving mapping !=============================================================== !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J0, J, M, QSUM, DLAT, MM, DY ) do 1000 i=1,im qsum = 0.0d0 dlat = 0.0d0 j0 = 1 do 555 j=1,jn-ig do 100 m=j0,jm-ig !========================================================= ! locate the southern edge: sin2(i) !========================================================= if(sin2(j) .ge. sin1(m) .and. sin2(j) .le. sin1(m+1)) then if(sin2(j+1) .le. sin1(m+1)) then ! entire new cell is within the original cell if ( abs(q1(i,m)-miss)>tiny_r4 ) q2(i,j)=q1(i,m) j0 = m goto 555 else ! South most fractional area if( abs(q1(i,m)-miss)>tiny_r4 ) then dlat= sin1(m+1)-sin2(j) qsum=(sin1(m+1)-sin2(j))*q1(i,m) endif do mm=m+1,jm-ig ! locate the northern edge: sin2(j+1) if(sin2(j+1) .gt. sin1(mm+1) ) then ! Whole layer if( abs(q1(i,mm)-miss)>tiny_r4 ) then qsum = qsum + dy1(mm)*q1(i,mm) dlat = dlat + dy1(mm) endif else ! North most fractional area if( abs(q1(i,mm)-miss)>tiny_r4 ) then dy = sin2(j+1)-sin1(mm) qsum=qsum+dy*q1(i,mm) dlat=dlat+dy endif j0 = mm goto 123 endif enddo goto 123 endif endif 100 continue 123 if ( ABS( dlat ) > 0.0d0 ) q2(i,j) = qsum / dlat 555 continue 1000 continue !$OMP END PARALLEL DO !=================================================================== ! Final processing for poles !=================================================================== if ( ig .eq. 0 .and. iv .eq. 0 ) then ! South pole: if ( sin2(1) .eq. -1.0_fp ) then sum = 0.e+0_fp nlon= 0.0d0 do i=1,im if( abs(q2(i,1)-miss)>tiny_r4 ) then sum = sum + q2(i,1) nlon = nlon + 1.0d0 endif enddo if ( nlon > 0.0d0 ) sum = sum / nlon do i=1,im q2(i,1) = sum enddo endif ! North pole: if( sin2(jn+1) .eq. 1.0_fp ) then sum = 0.e+0_fp nlon = 0.0d0 do i=1,im if( abs(q2(i,jn)-miss)>tiny_r4 ) then sum = sum + q2(i,jn) nlon = nlon + 1.0d0 endif enddo if ( nlon > 0.0d0 ) sum = sum / nlon do i=1,im q2(i,jn) = sum enddo endif endif END SUBROUTINE ymap_r4r8 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ymap_r8r4 ! ! !DESCRIPTION: Routine to perform area preserving mapping in N-S from an ! arbitrary resolution to another. The input argument has REAL*8 precision ! but the output argument has REAL*4 precision. !\\ !\\ ! !INTERFACE: ! SUBROUTINE ymap_r8r4(im, jm, sin1, q1, jn, sin2, q2, ig, iv, missval) ! ! !INPUT PARAMETERS: ! ! original E-W dimension INTEGER, INTENT(IN) :: im ! original N-S dimension INTEGER, INTENT(IN) :: jm ! Target N-S dimension INTEGER, INTENT(IN) :: jn ! IG=0: scalars from SP to NP (D-grid v-wind is also IG=0) ! IG=1: D-grid u-wind INTEGER, INTENT(IN) :: ig ! IV=0: scalar; ! IV=1: vector INTEGER, INTENT(IN) :: iv ! Original southern edge of the cell sin(lat1) REAL*4, INTENT(IN) :: sin1(jm+1-ig) ! Original data at center of the cell REAL*8, INTENT(IN) :: q1(im,jm) ! Target cell's southern edge sin(lat2) REAL*4, INTENT(IN) :: sin2(jn+1-ig) ! ! !OPTIONAL INPUT PARAMETERS: ! REAL*8, INTENT(IN), OPTIONAL :: missval ! ! ! !OUTPUT PARAMETERS: ! ! Mapped data at the target resolution REAL*4, INTENT(OUT) :: q2(im,jn) ! ! !REMARKS: ! ! sin1 (1) = -1 must be south pole; sin1(jm+1)=1 must be N pole. ! ! sin1(1) < sin1(2) < sin1(3) < ... < sin1(jm) < sin1(jm+1) ! sin2(1) < sin2(2) < sin2(3) < ... < sin2(jn) < sin2(jn+1)! ! ! !AUTHOR: ! Developer: Prasad Kasibhatla ! March 6, 2012 ! ! !REVISION HISTORY ! 06 Mar 2012 - P. Kasibhatla - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: i, j0, m, mm, j REAL*8 :: dy1(jm) REAL*8 :: dy REAL*8 :: qsum, sum, dlat REAL*8 :: miss REAL*4 :: nlon ! YMAP begins here! do j=1,jm-ig dy1(j) = sin1(j+1) - sin1(j) enddo ! Missing value miss = miss_r8 if ( present(missval) ) miss=missval !=============================================================== ! Area preserving mapping !=============================================================== !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J0, J, M, QSUM, DLAT, MM, DY ) do 1000 i=1,im qsum = 0.0d0 dlat = 0.0d0 j0 = 1 do 555 j=1,jn-ig do 100 m=j0,jm-ig !========================================================= ! locate the southern edge: sin2(i) !========================================================= if(sin2(j) .ge. sin1(m) .and. sin2(j) .le. sin1(m+1)) then if(sin2(j+1) .le. sin1(m+1)) then ! entire new cell is within the original cell if( abs(q1(i,m)-miss)>tiny_r8 ) q2(i,j)=q1(i,m) j0 = m goto 555 else ! South most fractional area if( abs(q1(i,m)-miss)>tiny_r8 ) then dlat= sin1(m+1)-sin2(j) qsum=(sin1(m+1)-sin2(j))*q1(i,m) endif do mm=m+1,jm-ig ! locate the northern edge: sin2(j+1) if(sin2(j+1) .gt. sin1(mm+1) ) then ! Whole layer if( abs(q1(i,mm)-miss)>tiny_r8 ) then qsum = qsum + dy1(mm)*q1(i,mm) dlat = dlat + dy1(mm) endif else ! North most fractional area dy = sin2(j+1)-sin1(mm) if( abs(q1(i,mm)-miss)>tiny_r8 ) then qsum=qsum+dy*q1(i,mm) dlat=dlat+dy endif j0 = mm goto 123 endif enddo goto 123 endif endif 100 continue 123 if ( ABS( dlat ) > 0.0d0 ) q2(i,j) = qsum / dlat 555 continue 1000 continue !$OMP END PARALLEL DO !=================================================================== ! Final processing for poles !=================================================================== if ( ig .eq. 0 .and. iv .eq. 0 ) then ! South pole if ( sin2(1) .eq. -1.0_fp ) then sum = 0.0_f4 nlon= 0.0 do i=1,im if( abs(q2(i,1)-miss)>tiny_r8 ) then sum = sum + q2(i,1) nlon= nlon + 1.0 endif enddo if ( nlon > 0.0 ) sum = sum / nlon do i=1,im q2(i,1) = sum enddo endif ! North pole: if( sin2(jn+1) .eq. 1.0_fp ) then sum = 0.0_f4 nlon= 0. do i=1,im if( abs(q2(i,jn)-miss)>tiny_r8 ) then sum = sum + q2(i,jn) nlon= nlon + 1.0 endif enddo if ( nlon > 0.0 ) sum = sum / nlon do i=1,im q2(i,jn) = sum enddo endif endif END SUBROUTINE ymap_r8r4 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ymap_r4r4 ! ! !DESCRIPTION: Routine to perform area preserving mapping in N-S from an ! arbitrary resolution to another. Both the input and output arguments ! have REAL(fp) precision. !\\ !\\ ! !INTERFACE: ! SUBROUTINE ymap_r4r4(im, jm, sin1, q1, jn, sin2, q2, ig, iv, missval) ! ! !INPUT PARAMETERS: ! ! original E-W dimension INTEGER, INTENT(IN) :: im ! original N-S dimension INTEGER, INTENT(IN) :: jm ! Target N-S dimension INTEGER, INTENT(IN) :: jn ! IG=0: scalars from SP to NP (D-grid v-wind is also IG=0) ! IG=1: D-grid u-wind INTEGER, INTENT(IN) :: ig ! IV=0: scalar; ! IV=1: vector INTEGER, INTENT(IN) :: iv ! Original southern edge of the cell sin(lat1) REAL*4, INTENT(IN) :: sin1(jm+1-ig) ! Original data at center of the cell REAL*4, INTENT(IN) :: q1(im,jm) ! Target cell's southern edge sin(lat2) REAL*4, INTENT(IN) :: sin2(jn+1-ig) ! ! !OPTIONAL INPUT PARAMETERS: ! ! Missing value REAL*4, INTENT(IN), OPTIONAL :: missval ! ! !OUTPUT PARAMETERS: ! ! Mapped data at the target resolution REAL*4, INTENT(OUT) :: q2(im,jn) ! ! !REMARKS: ! ! sin1 (1) = -1 must be south pole; sin1(jm+1)=1 must be N pole. ! ! sin1(1) < sin1(2) < sin1(3) < ... < sin1(jm) < sin1(jm+1) ! sin2(1) < sin2(2) < sin2(3) < ... < sin2(jn) < sin2(jn+1)! ! ! !AUTHOR: ! Developer: Prasad Kasibhatla ! March 6, 2012 ! ! !REVISION HISTORY ! 06 Mar 2012 - P. Kasibhatla - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: i, j0, m, mm, j REAL*4 :: dy1(jm) REAL*4 :: dy REAL*4 :: qsum, sum REAL*4 :: dlat, nlon, miss ! YMAP begins here! do j=1,jm-ig dy1(j) = sin1(j+1) - sin1(j) enddo ! missing value miss = miss_r4 if ( present(missval) ) miss = missval !=============================================================== ! Area preserving mapping !=============================================================== !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( I, J0, J, M, QSUM, DLAT, MM, DY ) do 1000 i=1,im qsum = 0.0 dlat = 0.0 j0 = 1 do 555 j=1,jn-ig do 100 m=j0,jm-ig !========================================================= ! locate the southern edge: sin2(i) !========================================================= if(sin2(j) .ge. sin1(m) .and. sin2(j) .le. sin1(m+1)) then if(sin2(j+1) .le. sin1(m+1)) then ! entire new cell is within the original cell if( abs(q1(i,m)-miss)>tiny_r4 ) q2(i,j)=q1(i,m) j0 = m goto 555 else ! South most fractional area if( abs(q1(i,m)-miss)>tiny_r4 ) then dlat=sin1(m+1)-sin2(j) qsum=dlat*q1(i,m) endif do mm=m+1,jm-ig ! locate the northern edge: sin2(j+1) if(sin2(j+1) .gt. sin1(mm+1) ) then ! Whole layer if( abs(q1(i,mm)-miss)>tiny_r4 ) then qsum = qsum + dy1(mm)*q1(i,mm) dlat = dlat + dy1(mm) endif else ! North most fractional area if( abs(q1(i,mm)-miss)>tiny_r4 ) then dy = sin2(j+1)-sin1(mm) qsum=qsum+dy*q1(i,mm) dlat=dlat+dy endif j0 = mm goto 123 endif enddo goto 123 endif endif 100 continue !123 q2(i,j) = qsum / ( sin2(j+1) - sin2(j) ) 123 if ( ABS( dlat ) > 0.0e0 ) q2(i,j) = qsum / dlat 555 continue 1000 continue !$OMP END PARALLEL DO !=================================================================== ! Final processing for poles !=================================================================== if ( ig .eq. 0 .and. iv .eq. 0 ) then ! South pole if ( sin2(1) .eq. -1.0_fp ) then sum = 0.e+0_fp nlon = 0.0 do i=1,im if( abs(q2(i,1)-miss)>tiny_r4 ) then sum = sum + q2(i,1) nlon = nlon + 1.0 endif enddo if ( nlon > 0.0 ) sum = sum / nlon !sum = sum / REAL( im, 4 ) do i=1,im q2(i,1) = sum enddo endif ! North pole: if( sin2(jn+1) .eq. 1.0_fp ) then sum = 0.e+0_fp nlon= 0.0 do i=1,im if( abs(q2(i,jn)-miss)>tiny_r4 ) then sum = sum + q2(i,jn) nlon = nlon + 1.0 endif enddo !sum = sum / REAL( im, 4 ) if ( nlon > 0.0 ) sum = sum / nlon do i=1,im q2(i,jn) = sum enddo endif endif END SUBROUTINE ymap_r4r4 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Xmap_r8r8 ! ! !DESCRIPTION: Routine to perform area preserving mapping in E-W from an ! arbitrary resolution to another. Both the input and output arguments ! have REAL(fp) precision. !\\ !\\ ! Periodic domain will be assumed, i.e., the eastern wall bounding cell ! im is lon1(im+1) = lon1(1); Note the equal sign is true geographysically. !\\ !\\ ! !INTERFACE: ! SUBROUTINE xmap_r8r8(im, jm, lon1, q1, iin, ilon2, iq2, missval) ! ! !INPUT PARAMETERS: ! ! Original E-W dimension INTEGER, INTENT(IN) :: im ! Target E-W dimension INTEGER, INTENT(IN) :: iin ! Original N-S dimension INTEGER, INTENT(IN) :: jm ! Original western edge of the cell REAL*8, INTENT(IN) :: lon1(im+1) ! Original data at center of the cell REAL*8, INTENT(IN) :: q1(im,jm) ! Target cell's western edge REAL*8, INTENT(IN), TARGET :: ilon2(iin+1) ! ! !OPTIONAL INPUT PARAMETERS: ! ! Missing value REAL*8, INTENT(IN), OPTIONAL :: missval ! ! !OUTPUT PARAMETERS: ! ! Mapped data at the target resolution REAL*8, INTENT(OUT), TARGET :: iq2(iin,jm) ! ! !REMARKS: ! lon1(1) < lon1(2) < lon1(3) < ... < lon1(im) < lon1(im+1) ! lon2(1) < lon2(2) < lon2(3) < ... < lon2(in) < lon2(in+1) ! ! !AUTHOR: ! Developer: Prasad Kasibhatla ! March 6, 2012 ! ! !REVISION HISTORY ! 06 Mar 2012 - P. Kasibhatla - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: i1, i2, i, i0, m, mm, j REAL*8 :: qtmp(-im:im+im) REAL*8 :: x1(-im:im+im+1) REAL*8 :: dx1(-im:im+im) REAL*8 :: dx REAL*8 :: qsum, dlon LOGICAL :: found ! Update INTEGER :: n1, n2 INTEGER :: in REAL*8, POINTER :: lon2(:) REAL*8, POINTER :: q2(:,:) REAL*8 :: minlon, maxlon REAL*8 :: lon1s(im+1) ! Ghost correction Logical :: isGlobal Real*8 :: xSpan ! Missing value Real*8 :: miss ! Initialize pointers lon2 => NULL() q2 => NULL() ! missing value miss = miss_r8 if ( present(missval) ) miss = missval ! XMAP begins here! do i=1,im+1 x1(i) = lon1(i) enddo do i=1,im dx1(i) = x1(i+1) - x1(i) enddo !=================================================================== ! define minimum and maximum longitude on output grid ! to be used. Remapping will be restricted to this ! domain. This procedure allows remapping of nested ! domains onto larger (e.g. global) domains. ! ckeller, 2/11/15). !=================================================================== minlon = minval(lon1) maxlon = maxval(lon1) ! check for values > 180.0 if(maxlon > 180.0d0) then lon1s = lon1 do while(maxlon > 180.0d0) WHERE(lon1s > 180.0d0) lon1s = lon1s - 360.0d0 minlon = minval(lon1s) maxlon = maxval(lon1s) enddo endif ! maxlon must represent the easter edge of the grid: maxlon = maxlon + ( lon1(im+1)-lon1(im) ) ! Reduce input grid n1 = 1 n2 = iin+1 do i=1,iin+1 if ( ilon2(i) < minlon ) n1 = i if ( ilon2(iin+2-i) > maxlon ) n2 = iin+2-i enddo in = n2 - n1 lon2 => ilon2(n1:n2) q2 => iq2(n1:(n2-1),:) ! if there is no overlap between original grid and output grid ! reduced will be zero and missing values should be returned if ( in .eq. 0 ) then iq2 = missval lon2 => NULL() q2 => NULL() return endif ! Periodic BC only valid if the variable is "global" xSpan = x1(im+1)-x1(1) isGlobal = ((xSpan.ge.355.0).and.(xSpan.le.365.0)) !=================================================================== ! check to see if ghosting is necessary ! Western edge: !=================================================================== found = .false. i1 = 1 do while ( .not. found ) if( lon2(1) .ge. x1(i1) ) then found = .true. else i1 = i1 - 1 if (i1 .lt. -im) then write(6,*) 'Failed in Xmap_R8R8 (regrid_a2a_mod.F90)' stop else x1(i1) = x1(i1+1) - dx1(im+i1) dx1(i1) = dx1(im+i1) endif endif enddo !=================================================================== ! Eastern edge: !=================================================================== found = .false. i2 = im+1 do while ( .not. found ) if( lon2(in+1) .le. x1(i2) ) then found = .true. else i2 = i2 + 1 if (i2 .gt. 2*im) then write(6,*) 'Failed in Xmap_R8R8 (regrid_a2a_mod.F90)' stop else dx1(i2-1) = dx1(i2-1-im) x1(i2) = x1(i2-1) + dx1(i2-1) endif endif enddo !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( J, QTMP, I, I0, M, QSUM, DLON, MM, DX ) do 1000 j=1,jm !================================================================= ! Area preserving mapping !================================================================ qtmp(:) = 0.0d0 do i=1,im qtmp(i)=q1(i,j) enddo ! SDE 2017-01-07 ! Only have shadow regions if we are on a global grid. Otherwise, we ! should keep the zero boundary conditions. If (isGlobal) Then qtmp(0)=q1(im,j) qtmp(im+1)=q1(1,j) ! check to see if ghosting is necessary ! Western edge if ( i1 .le. 0 ) then do i=i1,0 qtmp(i) = qtmp(im+i) enddo endif ! Eastern edge: if ( i2 .gt. im+1 ) then do i=im+1,i2-1 qtmp(i) = qtmp(i-im) enddo endif End If i0 = i1 do 555 i=1,in do 100 m=i0,i2-1 !============================================================= ! locate the western edge: lon2(i) !============================================================= if(lon2(i) .ge. x1(m) .and. lon2(i) .le. x1(m+1)) then if(lon2(i+1) .le. x1(m+1)) then ! entire new grid is within the original grid if( abs(qtmp(m)-miss)>tiny_r8 ) q2(i,j)=qtmp(m) i0 = m goto 555 else ! Left most fractional area if( abs(qtmp(m)-miss)>tiny_r8 ) then qsum=(x1(m+1)-lon2(i))*qtmp(m) dlon= x1(m+1)-lon2(i) else qsum = 0.0d0 dlon = 0.0d0 endif do mm=m+1,i2-1 ! locate the eastern edge: lon2(i+1) if(lon2(i+1) .gt. x1(mm+1) ) then ! Whole layer if( abs(qtmp(mm)-miss)>tiny_r8 ) then qsum = qsum + dx1(mm)*qtmp(mm) dlon = dlon + dx1(mm) endif else ! Right most fractional area if( abs(qtmp(mm)-miss)>tiny_r8 ) then dx = lon2(i+1)-x1(mm) qsum=qsum+dx*qtmp(mm) dlon=dlon+dx endif i0 = mm goto 123 endif enddo goto 123 endif endif 100 continue 123 if ( ABS( dlon ) > 0.0d0 ) q2(i,j) = qsum / dlon 555 continue 1000 continue !$OMP END PARALLEL DO ! Cleanup lon2 => NULL() q2 => NULL() END SUBROUTINE xmap_r8r8 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Xmap_r4r4 ! ! !DESCRIPTION: Routine to perform area preserving mapping in E-W from an ! arbitrary resolution to another. Both the input and output arguments ! have REAL*4 precision. !\\ !\\ ! Periodic domain will be assumed, i.e., the eastern wall bounding cell ! im is lon1(im+1) = lon1(1); Note the equal sign is true geographysically. !\\ !\\ ! !INTERFACE: ! SUBROUTINE xmap_r4r4(im, jm, lon1, q1, iin, ilon2, iq2, missval) ! ! !INPUT PARAMETERS: ! ! Original E-W dimension INTEGER, INTENT(IN) :: im ! Target E-W dimension INTEGER, INTENT(IN) :: iin ! Original N-S dimension INTEGER, INTENT(IN) :: jm ! Original western edge of the cell REAL*4, INTENT(IN) :: lon1(im+1) ! Original data at center of the cell REAL*4, INTENT(IN) :: q1(im,jm) ! Target cell's western edge REAL*4, INTENT(IN), TARGET :: ilon2(iin+1) ! ! !OPTIONAL INPUT PARAMETERS: ! ! Missing value REAL*4, INTENT(IN), OPTIONAL :: missval ! ! !OUTPUT PARAMETERS: ! ! Mapped data at the target resolution REAL*4, INTENT(OUT), TARGET :: iq2(iin,jm) ! ! !REMARKS: ! lon1(1) < lon1(2) < lon1(3) < ... < lon1(im) < lon1(im+1) ! lon2(1) < lon2(2) < lon2(3) < ... < lon2(in) < lon2(in+1) ! ! !AUTHOR: ! Developer: Prasad Kasibhatla ! March 6, 2012 ! ! !REVISION HISTORY ! 06 Mar 2012 - P. Kasibhatla - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: i1, i2, i, i0, m, mm, j REAL*4 :: qtmp(-im:im+im) REAL*4 :: x1(-im:im+im+1) REAL*4 :: dx1(-im:im+im) REAL*4 :: dx REAL*4 :: qsum, dlon LOGICAL :: found ! Update INTEGER :: n1, n2 INTEGER :: in REAL*4, POINTER :: lon2(:) REAL*4, POINTER :: q2(:,:) REAL*4 :: minlon, maxlon REAL*4 :: lon1s(im+1) ! Ghost correction Logical :: isGlobal Real*4 :: xSpan ! Missing value REAL*4 :: miss ! Initialize lon2 => NULL() q2 => NULL() ! Missing value miss = miss_r4 if ( present(missval) ) miss = missval ! XMAP begins here! do i=1,im+1 x1(i) = lon1(i) enddo do i=1,im dx1(i) = x1(i+1) - x1(i) enddo !=================================================================== ! define minimum and maximum longitude on output grid ! to be used. Remapping will be restricted to this ! domain. This procedure allows remapping of nested ! domains onto larger (e.g. global) domains. ! ckeller, (2/11/15). !=================================================================== minlon = minval(lon1) maxlon = maxval(lon1) ! check for values > 180.0 if(maxlon > 180.0) then lon1s = lon1 do while(maxlon > 180.0) WHERE(lon1s > 180.0) lon1s = lon1s - 360.0 minlon = minval(lon1s) maxlon = maxval(lon1s) enddo endif ! maxlon must represent the easter edge of the grid: maxlon = maxlon + ( lon1(im+1)-lon1(im) ) ! Reduce output grid n1 = 1 n2 = iin+1 do i=1,iin+1 if ( ilon2(i) < minlon ) n1 = i if ( ilon2(iin+2-i) > maxlon ) n2 = iin+2-i enddo in = n2 - n1 lon2 => ilon2(n1:n2) q2 => iq2(n1:(n2-1),:) ! if there is no overlap between original grid and output grid ! reduced will be zero and missing values should be returned if ( in .eq. 0 ) then iq2 = missval lon2 => NULL() q2 => NULL() return endif ! shadow variables to selected range ! Periodic BC only valid if the variable is "global" xSpan = x1(im+1)-x1(1) isGlobal = ((xSpan.ge.355.0).and.(xSpan.le.365.0)) !=================================================================== ! check to see if ghosting is necessary ! Western edge: !=================================================================== found = .false. i1 = 1 do while ( .not. found ) if( lon2(1) .ge. x1(i1) ) then found = .true. else i1 = i1 - 1 if (i1 .lt. -im) then write(6,*) 'Failed in Xmap_R4R4 (regrid_a2a_mod.F90)' stop else x1(i1) = x1(i1+1) - dx1(im+i1) dx1(i1) = dx1(im+i1) endif endif enddo !=================================================================== ! Eastern edge: !=================================================================== found = .false. i2 = im+1 do while ( .not. found ) if( lon2(in+1) .le. x1(i2) ) then found = .true. else i2 = i2 + 1 if (i2 .gt. 2*im) then write(6,*) 'Failed in Xmap_R4R4 (regrid_a2a_mod.F90)' stop else dx1(i2-1) = dx1(i2-1-im) x1(i2) = x1(i2-1) + dx1(i2-1) endif endif enddo !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( J, QTMP, I, I0, M, QSUM, DLON, MM, DX ) do 1000 j=1,jm !================================================================= ! Area preserving mapping !================================================================ qtmp(:) = 0.0 do i=1,im qtmp(i)=q1(i,j) enddo ! SDE 2017-01-07 ! Only have shadow regions if we are on a global grid. Otherwise, we ! should keep the zero boundary conditions. If (isGlobal) Then qtmp(0)=q1(im,j) qtmp(im+1)=q1(1,j) ! check to see if ghosting is necessary ! Western edge if ( i1 .le. 0 ) then do i=i1,0 qtmp(i) = qtmp(im+i) enddo endif ! Eastern edge: if ( i2 .gt. im+1 ) then do i=im+1,i2-1 qtmp(i) = qtmp(i-im) enddo endif End If i0 = i1 do 555 i=1,in do 100 m=i0,i2-1 !============================================================= ! locate the western edge: lon2(i) !============================================================= if(lon2(i) .ge. x1(m) .and. lon2(i) .le. x1(m+1)) then if(lon2(i+1) .le. x1(m+1)) then ! entire new grid is within the original grid if ( abs(qtmp(m)-miss)>tiny_r4 ) q2(i,j)=qtmp(m) i0 = m goto 555 else ! Left most fractional area if( abs(qtmp(m)-miss)>tiny_r4 ) then dlon=x1(m+1)-lon2(i) qsum=dlon*qtmp(m) else dlon=0.0 qsum=0.0 endif do mm=m+1,i2-1 ! locate the eastern edge: lon2(i+1) if(lon2(i+1) .gt. x1(mm+1) ) then ! Whole layer if( abs(qtmp(mm)-miss)>tiny_r4 ) then qsum = qsum + dx1(mm)*qtmp(mm) dlon = dlon + dx1(mm) endif else ! Right most fractional area if( abs(qtmp(mm)-miss)>tiny_r4 ) then dx = lon2(i+1)-x1(mm) qsum=qsum+dx*qtmp(mm) dlon=dlon+dx endif i0 = mm goto 123 endif enddo goto 123 endif endif 100 continue 123 if( ABS( dlon ) > 0.0e0 ) q2(i,j) = qsum / dlon 555 continue 1000 continue !$OMP END PARALLEL DO ! Cleanup lon2 => NULL() q2 => NULL() END SUBROUTINE xmap_r4r4 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Xmap_r4r8 ! ! !DESCRIPTION: Routine to perform area preserving mapping in E-W from an ! arbitrary resolution to another. The input argument has REAL*4 precision ! but the output argument has REAL(fp) precision. !\\ !\\ ! Periodic domain will be assumed, i.e., the eastern wall bounding cell ! im is lon1(im+1) = lon1(1); Note the equal sign is true geographysically. !\\ !\\ ! !INTERFACE: ! SUBROUTINE xmap_r4r8(im, jm, lon1, q1, iin, ilon2, iq2, missval) ! ! !INPUT PARAMETERS: ! ! Original E-W dimension INTEGER, INTENT(IN) :: im ! Target E-W dimension INTEGER, INTENT(IN) :: iin ! Original N-S dimension INTEGER, INTENT(IN) :: jm ! Original western edge of the cell REAL*4, INTENT(IN) :: lon1(im+1) ! Original data at center of the cell REAL*4, INTENT(IN) :: q1(im,jm) ! Target cell's western edge REAL*4, INTENT(IN), TARGET :: ilon2(iin+1) ! ! !OPTIONAL INPUT PARAMETERS: ! REAL*4, INTENT(IN), OPTIONAL :: missval ! ! !OUTPUT PARAMETERS: ! ! Mapped data at the target resolution REAL*8, INTENT(OUT), TARGET :: iq2(iin,jm) ! ! !REMARKS: ! lon1(1) < lon1(2) < lon1(3) < ... < lon1(im) < lon1(im+1) ! lon2(1) < lon2(2) < lon2(3) < ... < lon2(in) < lon2(in+1) ! ! !AUTHOR: ! Developer: Prasad Kasibhatla ! March 6, 2012 ! ! !REVISION HISTORY ! 06 Mar 2012 - P. Kasibhatla - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: i1, i2, i, i0, m, mm, j REAL*8 :: qtmp(-im:im+im) REAL*8 :: x1(-im:im+im+1) REAL*8 :: dx1(-im:im+im) REAL*8 :: dx REAL*8 :: qsum, dlon LOGICAL :: found ! Update INTEGER :: n1, n2 INTEGER :: in REAL*4, POINTER :: lon2(:) REAL*8, POINTER :: q2(:,:) REAL*4 :: minlon, maxlon REAL*4 :: lon1s(im+1) ! Ghost correction Logical :: isGlobal Real*8 :: xSpan ! Missing value REAL*4 :: miss ! Initialize lon2 => NULL() q2 => NULL() ! Missing value miss = miss_r4 if ( present(missval) ) miss = missval ! XMAP begins here! do i=1,im+1 x1(i) = lon1(i) enddo do i=1,im dx1(i) = x1(i+1) - x1(i) enddo !=================================================================== ! define minimum and maximum longitude on output grid ! to be used. Remapping will be restricted to this ! domain. This procedure allows remapping of nested ! domains onto larger (e.g. global) domains. ! ckeller, 2/11/15). !=================================================================== minlon = minval(lon1) maxlon = maxval(lon1) ! check for values > 180.0 if(maxlon > 180.0) then lon1s = lon1 do while(maxlon > 180.0) WHERE(lon1s > 180.0) lon1s = lon1s - 360.0 minlon = minval(lon1s) maxlon = maxval(lon1s) enddo endif ! maxlon must represent the easter edge of the grid: maxlon = maxlon + ( lon1(im+1)-lon1(im) ) ! Reduce input grid n1 = 1 n2 = iin+1 do i=1,iin+1 if ( ilon2(i) < minlon ) n1 = i if ( ilon2(iin+2-i) > maxlon ) n2 = iin+2-i enddo in = n2 - n1 lon2 => ilon2(n1:n2) q2 => iq2(n1:(n2-1),:) ! Periodic BC only valid if the variable is "global" xSpan = x1(im+1)-x1(1) isGlobal = ((xSpan.ge.355.0).and.(xSpan.le.365.0)) !=================================================================== ! check to see if ghosting is necessary ! Western edge: !=================================================================== found = .false. i1 = 1 do while ( .not. found ) if( lon2(1) .ge. x1(i1) ) then found = .true. else i1 = i1 - 1 if (i1 .lt. -im) then write(6,*) 'Failed in Xmap_R4R8 (regrid_a2a_mod.F90)' stop else x1(i1) = x1(i1+1) - dx1(im+i1) dx1(i1) = dx1(im+i1) endif endif enddo !=================================================================== ! Eastern edge: !=================================================================== found = .false. i2 = im+1 do while ( .not. found ) if( lon2(in+1) .le. x1(i2) ) then found = .true. else i2 = i2 + 1 if (i2 .gt. 2*im) then write(6,*) 'Failed in Xmap_R4R8 (regrid_a2a_mod.F90)' stop else dx1(i2-1) = dx1(i2-1-im) x1(i2) = x1(i2-1) + dx1(i2-1) endif endif enddo !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( J, QTMP, I, I0, M, QSUM, DLON, MM, DX ) do 1000 j=1,jm !================================================================= ! Area preserving mapping !================================================================ qtmp(:) = 0.0d0 do i=1,im qtmp(i)=q1(i,j) enddo ! SDE 2017-01-07 ! Only have shadow regions if we are on a global grid. Otherwise, we ! should keep the zero boundary conditions. If (isGlobal) Then qtmp(0)=q1(im,j) qtmp(im+1)=q1(1,j) ! check to see if ghosting is necessary ! Western edge if ( i1 .le. 0 ) then do i=i1,0 qtmp(i) = qtmp(im+i) enddo endif ! Eastern edge: if ( i2 .gt. im+1 ) then do i=im+1,i2-1 qtmp(i) = qtmp(i-im) enddo endif End If i0 = i1 do 555 i=1,in do 100 m=i0,i2-1 !============================================================= ! locate the western edge: lon2(i) !============================================================= if(lon2(i) .ge. x1(m) .and. lon2(i) .le. x1(m+1)) then if(lon2(i+1) .le. x1(m+1)) then ! entire new grid is within the original grid if( abs(qtmp(m)-miss)>tiny_r4 ) q2(i,j)=qtmp(m) i0 = m goto 555 else ! Left most fractional area if( abs(qtmp(m)-miss)>tiny_r4 ) then qsum=(x1(m+1)-lon2(i))*qtmp(m) dlon= x1(m+1)-lon2(i) else qsum=0.0d0 dlon=0.0d0 endif do mm=m+1,i2-1 ! locate the eastern edge: lon2(i+1) if(lon2(i+1) .gt. x1(mm+1) ) then ! Whole layer if( abs(qtmp(mm)-miss)>tiny_r4 ) then qsum = qsum + dx1(mm)*qtmp(mm) dlon = dlon + dx1(mm) endif else ! Right most fractional area if( abs(qtmp(mm)-miss)>tiny_r4 ) then dx = lon2(i+1)-x1(mm) qsum=qsum+dx*qtmp(mm) dlon=dlon+dx endif i0 = mm goto 123 endif enddo goto 123 endif endif 100 continue 123 if ( ABS( dlon ) > 0.0d0 ) q2(i,j) = qsum / dlon 555 continue 1000 continue !$OMP END PARALLEL DO ! Cleanup lon2 => NULL() q2 => NULL() END SUBROUTINE xmap_r4r8 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Xmap_r8r4 ! ! !DESCRIPTION: Routine to perform area preserving mapping in E-W from an ! arbitrary resolution to another. The input argument has REAL*8 precision ! but the output argument has REAL*4 precision. !\\ !\\ ! Periodic domain will be assumed, i.e., the eastern wall bounding cell ! im is lon1(im+1) = lon1(1); Note the equal sign is true geographysically. !\\ !\\ ! !INTERFACE: ! SUBROUTINE xmap_r8r4(im, jm, lon1, q1, iin, ilon2, iq2, missval) ! ! !INPUT PARAMETERS: ! ! Original E-W dimension INTEGER, INTENT(IN) :: im ! Target E-W dimension INTEGER, INTENT(IN) :: iin ! Original N-S dimension INTEGER, INTENT(IN) :: jm ! Original western edge of the cell REAL*4, INTENT(IN) :: lon1(im+1) ! Original data at center of the cell REAL*8, INTENT(IN) :: q1(im,jm) ! Target cell's western edge REAL*4, INTENT(IN), TARGET :: ilon2(iin+1) ! ! !OPTIONAL INPUT PARAMETERS: ! REAL*8, INTENT(IN), OPTIONAL :: missval ! ! !OUTPUT PARAMETERS: ! ! Mapped data at the target resolution REAL*4, INTENT(OUT), TARGET :: iq2(iin,jm) ! ! !REMARKS: ! lon1(1) < lon1(2) < lon1(3) < ... < lon1(im) < lon1(im+1) ! lon2(1) < lon2(2) < lon2(3) < ... < lon2(in) < lon2(in+1) ! ! !AUTHOR: ! Developer: Prasad Kasibhatla ! March 6, 2012 ! ! !REVISION HISTORY ! 06 Mar 2012 - P. Kasibhatla - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: i1, i2, i, i0, m, mm, j REAL*4 :: qtmp(-im:im+im) REAL*4 :: x1(-im:im+im+1) REAL*4 :: dx1(-im:im+im) REAL*4 :: dx REAL*4 :: qsum, dlon LOGICAL :: found ! Update INTEGER :: n1, n2 INTEGER :: in REAL*4, POINTER :: lon2(:) REAL*4, POINTER :: q2(:,:) REAL*4 :: minlon, maxlon REAL*4 :: lon1s(im+1) ! Ghost correction Logical :: isGlobal Real*4 :: xSpan ! Missing value REAL*8 :: miss ! Initialize lon2 => NULL() q2 => NULL() ! Missing value miss = miss_r8 if ( present(missval) ) miss = missval ! XMAP begins here! do i=1,im+1 x1(i) = lon1(i) enddo do i=1,im dx1(i) = x1(i+1) - x1(i) enddo !=================================================================== ! define minimum and maximum longitude on output grid ! to be used. Remapping will be restricted to this ! domain. This procedure allows remapping of nested ! domains onto larger (e.g. global) domains. ! ckeller, 2/11/15). !=================================================================== minlon = minval(lon1) maxlon = maxval(lon1) ! check for values > 180.0 if(maxlon > 180.0) then lon1s = lon1 do while(maxlon > 180.0) WHERE(lon1s > 180.0) lon1s = lon1s - 360.0 minlon = minval(lon1s) maxlon = maxval(lon1s) enddo endif ! maxlon must represent the easter edge of the grid: maxlon = maxlon + ( lon1(im+1)-lon1(im) ) ! Reduce input grid n1 = 1 n2 = iin+1 do i=1,iin+1 if ( ilon2(i) < minlon ) n1 = i if ( ilon2(iin+2-i) > maxlon ) n2 = iin+2-i enddo in = n2 - n1 lon2 => ilon2(n1:n2) q2 => iq2(n1:(n2-1),:) ! Periodic BC only valid if the variable is "global" xSpan = x1(im+1)-x1(1) isGlobal = ((xSpan.ge.355.0).and.(xSpan.le.365.0)) !=================================================================== ! check to see if ghosting is necessary ! Western edge: !=================================================================== found = .false. i1 = 1 do while ( .not. found ) if( lon2(1) .ge. x1(i1) ) then found = .true. else i1 = i1 - 1 if (i1 .lt. -im) then write(6,*) 'Failed in Xmap_R4R8 (regrid_a2a_mod.F90)' stop else x1(i1) = x1(i1+1) - dx1(im+i1) dx1(i1) = dx1(im+i1) endif endif enddo !=================================================================== ! Eastern edge: !=================================================================== found = .false. i2 = im+1 do while ( .not. found ) if( lon2(in+1) .le. x1(i2) ) then found = .true. else i2 = i2 + 1 if (i2 .gt. 2*im) then write(6,*) 'Failed in Xmap_R4R8 (regrid_a2a_mod.F90)' stop else dx1(i2-1) = dx1(i2-1-im) x1(i2) = x1(i2-1) + dx1(i2-1) endif endif enddo !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( J, QTMP, I, I0, M, QSUM, DLON, MM, DX ) do 1000 j=1,jm !================================================================= ! Area preserving mapping !================================================================ qtmp(:) = 0.0 do i=1,im qtmp(i)=q1(i,j) enddo ! SDE 2017-01-07 ! Only have shadow regions if we are on a global grid. Otherwise, we ! should keep the zero boundary conditions. If (isGlobal) Then qtmp(0)=q1(im,j) qtmp(im+1)=q1(1,j) ! check to see if ghosting is necessary ! Western edge if ( i1 .le. 0 ) then do i=i1,0 qtmp(i) = qtmp(im+i) enddo endif ! Eastern edge: if ( i2 .gt. im+1 ) then do i=im+1,i2-1 qtmp(i) = qtmp(i-im) enddo endif End If i0 = i1 do 555 i=1,in do 100 m=i0,i2-1 !============================================================= ! locate the western edge: lon2(i) !============================================================= if(lon2(i) .ge. x1(m) .and. lon2(i) .le. x1(m+1)) then if(lon2(i+1) .le. x1(m+1)) then ! entire new grid is within the original grid if( abs(qtmp(m)-miss)>tiny_r8 ) q2(i,j)=qtmp(m) i0 = m goto 555 else ! Left most fractional area if( abs(qtmp(m)-miss)>tiny_r8 ) then qsum=(x1(m+1)-lon2(i))*qtmp(m) dlon= x1(m+1)-lon2(i) else qsum=0.0 dlon=0.0 endif do mm=m+1,i2-1 ! locate the eastern edge: lon2(i+1) if(lon2(i+1) .gt. x1(mm+1) ) then ! Whole layer if( abs(qtmp(mm)-miss)>tiny_r8 ) then qsum = qsum + dx1(mm)*qtmp(mm) dlon = dlon + dx1(mm) endif else ! Right most fractional area if( abs(qtmp(m)-miss)>tiny_r8 ) then dx = lon2(i+1)-x1(mm) qsum=qsum+dx*qtmp(mm) dlon=dlon+dx endif i0 = mm goto 123 endif enddo goto 123 endif endif 100 continue 123 if( ABS( dlon ) > 0.0e0 ) q2(i,j) = qsum / dlon 555 continue 1000 continue !$OMP END PARALLEL DO ! Cleanup lon2 => NULL() q2 => NULL() END SUBROUTINE xmap_r8r4 !EOC END MODULE Regrid_A2A_Mod ================================================ FILE: GeosUtil/time_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: time_mod.F90 ! ! !DESCRIPTION: Module TIME\_MOD contains GEOS-Chem date and time variables ! and timesteps, and routines for accessing them. !\\ !\\ ! !INTERFACE: ! MODULE TIME_MOD ! ! !USES: ! USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE ! ! !PRIVATE TYPES: ! PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: SET_CURRENT_TIME PUBLIC :: SET_BEGIN_TIME PUBLIC :: SET_END_TIME PUBLIC :: SET_TIMESTEPS PUBLIC :: SET_ELAPSED_SEC PUBLIC :: GET_JD PUBLIC :: GET_ELAPSED_SEC PUBLIC :: GET_NYMDb PUBLIC :: GET_NHMSb PUBLIC :: GET_NYMDe PUBLIC :: GET_NHMSe PUBLIC :: GET_NYMD PUBLIC :: GET_NHMS PUBLIC :: GET_TIME_AHEAD PUBLIC :: GET_MONTH PUBLIC :: GET_DAY PUBLIC :: GET_YEAR PUBLIC :: GET_HOUR PUBLIC :: GET_MINUTE PUBLIC :: GET_SECOND PUBLIC :: GET_DAY_OF_YEAR PUBLIC :: GET_GMT PUBLIC :: GET_TAU PUBLIC :: GET_TAUb PUBLIC :: GET_TAUe PUBLIC :: GET_LOCALTIME PUBLIC :: GET_LOCALTIME_IN_SEC PUBLIC :: GET_TS_CHEM PUBLIC :: GET_TS_CONV PUBLIC :: GET_TS_DIAG PUBLIC :: GET_TS_DYN PUBLIC :: GET_TS_EMIS PUBLIC :: GET_TS_UNIT PUBLIC :: GET_TS_RAD PUBLIC :: GET_A1_TIME PUBLIC :: GET_A3_TIME PUBLIC :: GET_I3_TIME PUBLIC :: GET_I1dyn_TIME PUBLIC :: GET_BC_TIME PUBLIC :: GET_FIRST_A1_TIME PUBLIC :: GET_FIRST_A3_TIME PUBLIC :: GET_FIRST_I3_TIME PUBLIC :: GET_FIRST_I1dyn_TIME PUBLIC :: GET_FIRST_BC_TIME PUBLIC :: ITS_TIME_FOR_CHEM PUBLIC :: ITS_TIME_FOR_CONV PUBLIC :: ITS_TIME_FOR_DYN PUBLIC :: ITS_TIME_FOR_EMIS PUBLIC :: ITS_TIME_FOR_EXCH PUBLIC :: ITS_TIME_FOR_UNIT PUBLIC :: ITS_TIME_FOR_RT PUBLIC :: ITS_TIME_FOR_SURFACE_RAD PUBLIC :: ITS_TIME_FOR_A1 PUBLIC :: ITS_TIME_FOR_A3 PUBLIC :: ITS_TIME_FOR_I3 PUBLIC :: ITS_TIME_FOR_I1dyn PUBLIC :: ITS_TIME_FOR_BC PUBLIC :: ITS_TIME_FOR_EXIT PUBLIC :: ITS_MIDMONTH PUBLIC :: ITS_A_LEAPYEAR PUBLIC :: ITS_A_NEW_YEAR PUBLIC :: ITS_A_NEW_MONTH PUBLIC :: ITS_A_NEW_DAY PUBLIC :: ITS_A_NEW_HOUR PUBLIC :: PRINT_CURRENT_TIME PUBLIC :: TIMESTAMP_STRING PUBLIC :: YMD_EXTRACT PUBLIC :: EXPAND_DATE PUBLIC :: Valid_Date PUBLIC :: Valid_Time PUBLIC :: SYSTEM_DATE_TIME PUBLIC :: SYSTEM_TIMESTAMP PUBLIC :: TIMESTAMP_DIAG #if defined( ESMF_ ) || defined( MODEL_ ) !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !%%% NOTE: THESE ROUTINES WILL BE OMITTED UNLESS GEOS-Chem %%% !%%% IS COMPILED FOR GCHP OR FOR CONNECTION TO EXTERNAL ESMs %%% !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% PUBLIC :: Accept_External_Date_Time #endif ! ! !REMARKS: ! References: ! --------------------------------------------------------------------------- ! (1) "Practical Astronomy with Your Calculator", 3rd Ed. ! Peter Duffett-Smith, Cambridge UP, 1992, p9. ! (2) Rounding algorithm from: Hultquist, P.F, "Numerical Methods for ! Engineers and Computer Scientists", Benjamin/Cummings, Menlo Park CA, ! 1988, p. 20. ! (3) Truncation algorithm from: http://en.wikipedia.org/wiki/Truncation ! ! !REVISION HISTORY: ! 21 Jun 2000 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !PRIVATE TYPES: ! !--------------------------------- ! GMT dates @ start & end of run !--------------------------------- INTEGER :: NYMDb ! YYYY/MM/DD on which to start run INTEGER :: NHMSb ! hh:mm:ss on which to start run REAL(f8) :: TAUb ! Hours since 1/1/1985 @ start of run INTEGER :: NYMDe ! YYYY/MM/DD on which to end run INTEGER :: NHMSe ! hh:mm:ss on which to end run REAL(f8) :: TAUe ! Hours since 1/1/1985 @ end of run !--------------------------------- ! Current GMT date/time values !--------------------------------- INTEGER :: NYMD ! YYYY/MM/DD date INTEGER :: NHMS ! hh:mm:ss time INTEGER :: MONTH ! Month (1-12) INTEGER :: DAY ! Day of month (1-31) INTEGER :: YEAR ! Year (YYYY format) INTEGER :: HOUR ! hour (0-23) INTEGER :: MINUTE ! Minutes (0-59) INTEGER :: SECOND ! Seconds (0-59) INTEGER :: NSEASON ! Season (1=DJF,2=MAM,3=JJA,4=SON) INTEGER :: DAY_OF_YEAR ! Day of year (0-365 or 0-366 if LY) INTEGER :: DAY_OF_WEEK ! Day of week (0=Sun,1=Mon,.., 6=Sat) REAL(f8) :: TAU ! Hours since 1/1/1985 REAL(f8) :: GMT ! Current GMT time [decimal hours] !--------------------------------- ! Elapsed time values !--------------------------------- INTEGER :: ELAPSED_SEC ! # of seconds into the run REAL(f8) :: LEAP_YEAR_DAYS ! # of leap yrs since start of run !--------------------------------- ! Diagnostic date/time values !--------------------------------- INTEGER :: NYMD_DIAG ! Diagnostic date for output REAL(f8) :: DIAGb ! Start of diag averaging interval REAL(f8) :: DIAGe ! End of diag averaging interval !--------------------------------- ! Timestep values !--------------------------------- INTEGER :: TS_CHEM ! Chemistry timestep [sec] INTEGER :: TS_CONV ! Convection timestep [sec] INTEGER :: TS_DIAG ! Diagnostic timestep [sec] INTEGER :: TS_DYN ! Dynamic timestep [sec] INTEGER :: TS_EMIS ! Emissions timestep [sec] INTEGER :: TS_UNIT ! Unit conversion timestep [sec] INTEGER :: TS_RAD ! Radiation timestep [sec] !--------------------------------- ! Counter values !--------------------------------- INTEGER :: CT_CHEM ! # of elapsed chemistry timesteps INTEGER :: CT_CONV ! # of elapsed convection timesteps INTEGER :: CT_DYN ! # of elapsed dynamic timesteps INTEGER :: CT_EMIS ! # of elapsed emission timesteps INTEGER :: CT_RAD ! # of elapsed radiation timesteps INTEGER :: CT_A3 ! # of elapsed A3 met field reads INTEGER :: CT_I3 ! # of elapsed I3 met field reads INTEGER :: CT_DIAG ! # of elapsed diagnostic timesteps INTEGER :: Hg2_DIAG ! # of elapsed Hg2 diag outputs !--------------------------------- ! For historical emissions !--------------------------------- INTEGER :: HISTYRA ! Year for historical emissions ! ! !DEFINED PARAMETERS: ! ! Astronomical Julian Date at 0 GMT, 1 Jan 1985 REAL(f8), PARAMETER :: JD85 = 2446066.5e+0_f8 CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Set_current_time ! ! !DESCRIPTION: Subroutine SET\_CURRENT\_TIME takes in the elapsed time in ! minutes since the start of a GEOS-Chem simulation and sets the GEOS-Chem ! time variables accordingly. NOTE: All time variables are returned ! w/r/t Greenwich Mean Time (aka Universal Time). !\\ !\\ ! !INTERFACE: ! SUBROUTINE SET_CURRENT_TIME ! ! !USES: ! USE JULDAY_MOD, ONLY : JULDAY, CALDATE ! ! !REMARKS: ! The GEOS met fields are assimilated data, and therefore contain data on ! the leap-year days. SET_CURRENT_TIME computes the days according to the ! Astronomical Julian Date algorithms (in "julday_mod.F90"), which contain ! leap-year days. ! ! !REVISION HISTORY: ! 05 Feb 2006 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! LOGICAL, SAVE :: FIRST = .TRUE. REAL(f4) :: TMP REAL(f8) :: A, B, JD, JD0, JD1, THISDAY !================================================================= ! SET_CURRENT_TIME begins here! !================================================================= ! Initialize LEAP_YEAR_DAYS IF ( FIRST ) THEN LEAP_YEAR_DAYS = 0e+0_f8 FIRST = .FALSE. ENDIF ! JD0: Astronomical Julian Date at start of GEOS-Chem run JD0 = GET_JD( NYMDb, NHMSb ) ! JD1: Astronomical Julian Date at current time JD1 = JD0 + ( DBLE( ELAPSED_SEC ) / 86400e+0_f8 ) ! Call CALDATE to compute the current YYYYMMDD and HHMMSS CALL CALDATE( DBLE(JD1), NYMD, NHMS ) ! Extract current year, month, day from NYMD CALL YMD_EXTRACT( NYMD, YEAR, MONTH, DAY ) ! Extract current hour, minute, second from NHMS CALL YMD_EXTRACT( NHMS, HOUR, MINUTE, SECOND ) ! Fix minutes & seconds for display purposes (esp. for 1x1) IF ( SECOND == 59 ) SECOND = 0 IF ( MOD( MINUTE+1, 10 ) == 0 ) MINUTE = MINUTE + 1 !================================================================= ! Compute other GEOS-Chem timing variables !================================================================= ! Current Greenwich Mean Time GMT = ( DBLE( HOUR ) ) + & ( DBLE( MINUTE ) / 60e+0_f8 ) + & ( DBLE( SECOND ) / 3600e+0_f8 ) ! Days elapsed in this year (0-366) DAY_OF_YEAR = JD1 - JULDAY( YEAR, 1, 0d0 ) ! has to be REAL*8 ! TAU value (# of hours since 1 Jan 1985) ! NOTE: TMP is REAL*4 to prevent precision problems TMP = ( JD1 - JD85 ) * 24e+0_f4 TAU = DBLE( TMP ) ! Season index (1=DJF, 2=MAM, 3=JJA, 4=SON) SELECT CASE ( MONTH ) CASE ( 12, 1, 2 ) NSEASON = 1 CASE ( 3, 4, 5 ) NSEASON = 2 CASE ( 6, 7, 8 ) NSEASON = 3 CASE ( 9, 10, 11 ) NSEASON = 4 END SELECT !================================================================= ! Compute day of week w/r/t the GMT date ! (moved here from routine GET_DAY_OF_WEEK) !================================================================= ! Get fractional GMT day THISDAY = DAY + ( GMT / 24e+0_f8 ) ! real*8 ! Get current Julian date JD = JULDAY( YEAR, MONTH, DBLE(THISDAY) ) ! real*8 ! Add 1.5 to JD and divide by 7 A = ( JD + 1.5e+0_f8 ) / 7e+0_f8 ! Take fractional part and multiply by 7 B = ( A - INT( A ) ) * 7e+0_f8 ! NOTE: This is not in the Duffett-Smith book, but when using ! REAL(f8), we have to round B to 4 decimal places in order ! to avoid floating-point errors. (bmy, 6/13/13) B = INT( NINT( B*1e+5_f8 + SIGN( 5e+0_f8, B ) ) & / 10e+0_f8 ) / 1e+4_f8 ! Discard the fractional part of B DAY_OF_WEEK = INT( B ) END SUBROUTINE SET_CURRENT_TIME !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Set_begin_time ! ! !DESCRIPTION: Subroutine SET\_BEGIN\_TIME initializes NYMDb, NHMSb, and TAUb, ! which are the YYYYMMDD, HHMMSS, and hours since 1/1/1985 corresponding to ! the beginning date and time of a GEOS-Chem run. !\\ !\\ ! !INTERFACE: ! SUBROUTINE SET_BEGIN_TIME( THISNYMDb, THISNHMSb, RC ) ! ! !USES: ! USE ErrCode_Mod ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: THISNYMDb ! YYYYMMDD @ start of G-C simulation INTEGER, INTENT(IN) :: THISNHMSb ! HHMMSS @ start of G-C simulation ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REVISION HISTORY: ! 20 Jul 2004 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(f4) :: TMP ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc !================================================================= ! SET_BEGIN_TIME begins here! !================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Set_Begin_Time (in module GeosUtil/time_mod.F90)' ! Error check THISNHMSb IF ( THISNHMSb > 235959 ) THEN ErrMsg = 'NHMSb cannot be greater than 23:59:59!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Error check THISNYMDb IF ( THISNYMDb < 17500101 ) THEN ErrMsg = 'NYMDb must be in the format YYYYMMDD!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Initialize NYMDb, NHMSb NYMDb = THISNYMDb NHMSb = THISNHMSb ! TAUb value (TMP is REAL*4 to prevent precision problems) TMP = ( GET_JD( NYMDb, NHMSb ) - JD85 ) * 24e+0_f4 TAUb = DBLE( TMP ) ! Also initialize ELAPSED_SEC ELAPSED_SEC = 0 END SUBROUTINE SET_BEGIN_TIME !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Set_end_time ! ! !DESCRIPTION: Subroutine SET\_END\_TIME initializes NYMDe, NHMSe, and TAUe, ! which are the YYYYMMDD, HHMMSS, and hours since 1/1/1985 corresponding to ! the ending date and time of a GEOS-Chem run. !\\ !\\ ! !INTERFACE: ! SUBROUTINE SET_END_TIME( THISNYMDe, THISNHMSe, RC ) ! ! !USES: ! USE ErrCode_Mod ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: THISNYMDe ! YYYYMMDD @ end of G-C simulation INTEGER, INTENT(IN) :: THISNHMSe ! HHMMSS @ end of G-C simulation ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REVISION HISTORY: ! 20 Jul 2004 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars REAL(f4) :: TMP ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc !================================================================= ! SET_END_TIME begins here! !================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Set_End_Time (in module GeosUtil/time_mod.F90)' ! Error check THISNHMS IF ( THISNHMSe > 235959 ) THEN ErrMsg = 'NHMSe cannot be greater than 23:59:59!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Error check THISNYMDe IF ( THISNYMDe < 17500101 ) THEN ErrMsg = 'NYMDe must be in the format YYYYMMDD!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Initialize NYMDe, NHMSe NYMDe = THISNYMDe NHMSe = THISNHMSe ! TAUe value (TMP is REAL*4 to prevent precision problems) TMP = ( GET_JD( NYMDe, NHMSe ) - JD85 ) * 24e+0_f4 TAUe = DBLE( TMP ) END SUBROUTINE SET_END_TIME !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Set_diagb ! ! !DESCRIPTION: Subroutine SET\_DIAGb initializes DIAGb, the TAU value at the ! start of the diagnostic averaging interval. !\\ !\\ ! !INTERFACE: ! SUBROUTINE SET_DIAGb( THISDIAGb ) ! ! !INPUT PARAMETERS: ! REAL(f8), INTENT(IN) :: THISDIAGb ! Initial DIAGb value [hrs from 1/1/85] ! ! !REVISION HISTORY: ! 21 Mar 2003 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC DIAGb = THISDIAGb END SUBROUTINE SET_DIAGb !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Set_timesteps ! ! !DESCRIPTION: Subroutine SET\_TIMESTEPS initializes the timesteps for ! dynamics, convection, chemistry, emissions, and diagnostics. ! Counters are also zeroed. !\\ !\\ ! !INTERFACE: ! SUBROUTINE SET_TIMESTEPS( Input_Opt, CHEMISTRY, CONVECTION, DYNAMICS, & EMISSION, UNIT_CONV, DIAGNOS, RADIATION ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input options INTEGER, INTENT(IN) :: CHEMISTRY ! Chemistry timestep [sec] INTEGER, INTENT(IN) :: CONVECTION ! Convection timestep [sec] INTEGER, INTENT(IN) :: DYNAMICS ! Dynamic timestep [sec] INTEGER, INTENT(IN) :: EMISSION ! Emission timestep [sec] INTEGER, INTENT(IN) :: UNIT_CONV ! Unit conve timestep [sec] INTEGER, INTENT(IN) :: DIAGNOS ! Diagnostic timestep [sec] INTEGER, INTENT(IN) :: RADIATION ! Radiation timestep [sec] ! ! !REVISION HISTORY: ! 05 Feb 2003 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! Initialize timesteps TS_CHEM = CHEMISTRY TS_CONV = CONVECTION TS_DYN = DYNAMICS TS_EMIS = EMISSION TS_UNIT = UNIT_CONV TS_DIAG = DIAGNOS TS_RAD = RADIATION ! Echo to stdout IF ( Input_Opt%amIRoot ) THEN WRITE( 6, '(/,a)' ) 'TIMESTEPS SETTINGS' WRITE( 6, '( a)' ) '------------------' WRITE( 6, '(''Chemistry Timestep [sec] : '', i6)' ) TS_CHEM WRITE( 6, '(''Convection Timestep [sec] : '', i6)' ) TS_CONV WRITE( 6, '(''Dynamics Timestep [sec] : '', i6)' ) TS_DYN WRITE( 6, '(''Emission Timestep [sec] : '', i6)' ) TS_EMIS WRITE( 6, '(''Unit Conv Timestep [sec] : '', i6)' ) TS_UNIT WRITE( 6, '(''Diagnostic Timestep [sec] : '', i6)' ) TS_DIAG WRITE( 6, '(''Radiation Timestep [sec] : '', i6)' ) TS_RAD ENDIF END SUBROUTINE SET_TIMESTEPS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Set_elapsed_sec ! ! !DESCRIPTION: Subroutine SET\_ELAPSED\_SEC increments the number of elapsed ! seconds by the dynamic timestep TS\_DYN. !\\ !\\ ! !INTERFACE: ! SUBROUTINE SET_ELAPSED_SEC ! ! !REVISION HISTORY: ! 05 Feb 2003 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ELAPSED_SEC = ELAPSED_SEC + TS_DYN END SUBROUTINE SET_ELAPSED_SEC !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_jd ! ! !DESCRIPTION: Function GET\_JD is a wrapper for the JULDAY routine. Given ! the current NYMD and NHMS values, GET\_JD will return the current ! astronomical Julian date. !\\ !\\ ! !INTERFACE: ! FUNCTION GET_JD( THISNYMD, THISNHMS ) RESULT( THISJD ) ! ! !USES: ! USE JULDAY_MOD, ONLY : JULDAY ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: THISNYMD ! YYYY/MM/DD value INTEGER, INTENT(IN) :: THISNHMS ! hh:mm:ss value ! ! !RETURN VALUE: ! REAL(f8) :: THISJD ! Output value ! ! !REVISION HISTORY: ! 05 Feb 2003 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: Y, M, D, H, MI, S REAL(f8) :: DAY !================================================================= ! GET_JD begins here! !================================================================= ! Extract year, month, day from NYMDb CALL YMD_EXTRACT( THISNYMD, Y, M, D ) ! Extract hour, minute, second from NHMSb CALL YMD_EXTRACT( THISNHMS, H, MI, S ) ! Decimal day (including fractional part) DAY = DBLE( D ) + ( DBLE( H ) / 24e+0_f8 ) + & ( DBLE( MI ) / 1440e+0_f8 ) + & ( DBLE( S ) / 86400e+0_f8 ) ! Compute astronomical Julian day at start of run THISJD = JULDAY( Y, M, DAY ) END FUNCTION GET_JD !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_elapsed_sec ! ! !DESCRIPTION: Function GET\_ELAPSED\_SEC returns the elapsed seconds since ! the start of a GEOS-Chem run to the calling program. !\\ !\\ ! !INTERFACE: ! FUNCTION GET_ELAPSED_SEC() RESULT( THIS_ELAPSED_SEC ) ! ! !RETURN VALUE: ! INTEGER :: THIS_ELAPSED_SEC ! ! !REVISION HISTORY: ! 05 Feb 2003 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC THIS_ELAPSED_SEC = ELAPSED_SEC END FUNCTION GET_ELAPSED_SEC !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_nymdb ! ! !DESCRIPTION: Function GET\_NYMDb returns the NYMDb value (YYYYMMDD at the ! beginning of the run). !\\ !\\ ! !INTERFACE: ! FUNCTION GET_NYMDb() RESULT( THISNYMDb ) ! ! !RETURN VALUE: ! INTEGER :: THISNYMDb ! ! !REVISION HISTORY: ! 05 Feb 2003 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC THISNYMDb = NYMDb END FUNCTION GET_NYMDb !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_nhmsb ! ! !DESCRIPTION: Function GET\_NHMSb returns the NHMSb value (HHMMSS at the ! beginning of the run) to the calling program. (bmy, 3/21/03) !\\ !\\ ! !INTERFACE: ! FUNCTION GET_NHMSb() RESULT( THISNHMSb ) ! ! !RETURN VALUE: ! INTEGER :: THISNHMSb ! ! !REVISION HISTORY: ! 05 Feb 2003 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC THISNHMSb = NHMSb END FUNCTION GET_NHMSb !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_nymde ! ! !DESCRIPTION: Function GET\_NYMDe returns the NYMDe value (YYYYMMDD at the ! end of the run) to the calling program. (bmy, 3/21/03) !\\ !\\ ! !INTERFACE: ! FUNCTION GET_NYMDe() RESULT( THISNYMDe ) ! ! !RETURN VALUE: ! INTEGER :: THISNYMDe ! ! !REVISION HISTORY: ! 05 Feb 2003 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC THISNYMDe = NYMDe END FUNCTION GET_NYMDe !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_nhmse ! ! !DESCRIPTION: Function GET\_NHMSe returns the NHMSe value (HHMMSS at the end ! of the run). !\\ !\\ ! !INTERFACE: ! FUNCTION GET_NHMSe() RESULT( THISNHMSe ) ! ! !RETURN VALUE: ! INTEGER :: THISNHMSe ! ! !REVISION HISTORY: ! 05 Feb 2003 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC THISNHMSe = NHMSe END FUNCTION GET_NHMSe !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_nymd ! ! !DESCRIPTION: Function GET\_NYMD returns the current NYMD value (YYYYMMDD). !\\ !\\ ! !INTERFACE: ! FUNCTION GET_NYMD() RESULT( THISNYMD ) ! ! !RETURN VALUE: ! INTEGER :: THISNYMD ! ! !REVISION HISTORY: ! 05 Feb 2003 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC THISNYMD = NYMD END FUNCTION GET_NYMD !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_nhms ! ! !DESCRIPTION: Function GET\_NHMS returns the current NHMS value (HHMMSS). !\\ !\\ ! !INTERFACE: ! FUNCTION GET_NHMS() RESULT( THISNHMS ) ! ! !RETURN VALUE: ! INTEGER :: THISNHMS ! ! !REVISION HISTORY: ! 05 Feb 2003 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC THISNHMS = NHMS END FUNCTION GET_NHMS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_time_ahead ! ! !DESCRIPTION: Function GET\_3h\_AHEAD returns to the calling program a ! 2-element vector containing the YYYYMMDD and HHMMSS values at the current ! time plus N\_SECS seconds. !\\ !\\ ! !INTERFACE: ! FUNCTION GET_TIME_AHEAD( N_SECS ) RESULT( DATE ) ! ! !USES: ! USE JULDAY_MOD, ONLY : CALDATE ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: N_SECS ! Seconds ahead to compute date & time ! ! !RETURN VALUE: ! INTEGER :: DATE(2) ! Date & time output ! ! !REVISION HISTORY: ! 21 Mar 2003 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: THISYEAR, THISMONTH, THISDAY, TMP REAL(f8) :: JD !================================================================= ! GET_TIME_AHEAD begins here! !================================================================= ! Astronomical Julian Date at current time + N_SECS JD = GET_JD( NYMD, NHMS ) + ( N_SECS / 86400e+0_f8 ) ! Call CALDATE to compute the current YYYYMMDD and HHMMSS CALL CALDATE( DBLE(JD), DATE(1), DATE(2) ) ! Check to see if HHMMSS is 240000. This may occur due to a ! roundoff error in CALDATE. If this is the case, then add 1 ! to the date and then set HHMMSS = 0. Use the GET_JD and ! CALDATE functions to do this computation rigorously. IF ( DATE(2) == 240000 ) THEN ! Split the date into Y/M/D variables CALL YMD_EXTRACT( DATE(1), THISYEAR, THISMONTH, THISDAY ) ! Increment the Astronomical Julian Date by 1 day TMP = THISYEAR*10000 + THISMONTH*100 + THISDAY JD = GET_JD( TMP, 000000 ) + 1 ! Convert to YYYY/MM/DD and hh:mm:ss CALL CALDATE( DBLE(JD), DATE(1), DATE(2) ) ENDIF END FUNCTION GET_TIME_AHEAD !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_month ! ! !DESCRIPTION: Function GET\_MONTH returns the current GMT month. !\\ !\\ ! !INTERFACE: ! FUNCTION GET_MONTH() RESULT( THISMONTH ) ! ! !RETURN VALUE: ! INTEGER :: THISMONTH ! ! !REVISION HISTORY: ! 05 Feb 2003 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC THISMONTH = MONTH END FUNCTION GET_MONTH !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_day ! ! !DESCRIPTION: Function GET\_DAY returns the current GMT day. !\\ !\\ ! !INTERFACE: ! FUNCTION GET_DAY() RESULT( THISDAY ) ! ! !RETURN VALUE: ! INTEGER :: THISDAY ! ! !REVISION HISTORY: ! 05 Feb 2003 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC THISDAY = DAY END FUNCTION GET_DAY !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_year ! ! !DESCRIPTION: Function GET\_YEAR returns the current GMT year. !\\ !\\ ! !INTERFACE: ! FUNCTION GET_YEAR() RESULT( THISYEAR ) ! ! !RETURN VALUE: ! INTEGER :: THISYEAR ! ! !REVISION HISTORY: ! 05 Feb 2003 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC THISYEAR = YEAR END FUNCTION GET_YEAR !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_hour ! ! !DESCRIPTION: Function GET\_HOUR returns the current GMT hour. !\\ !\\ ! !INTERFACE: ! FUNCTION GET_HOUR() RESULT( THISHOUR ) ! ! !RETURN VALUE: ! INTEGER :: THISHOUR ! ! !REVISION HISTORY: ! 05 Feb 2003 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC THISHOUR = HOUR END FUNCTION GET_HOUR !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_minute ! ! !DESCRIPTION: Function GET\_MINUTE returns the current GMT minutes. !\\ !\\ ! !INTERFACE: ! FUNCTION GET_MINUTE() RESULT( THISMINUTE ) ! ! !RETURN VALUE: ! INTEGER :: THISMINUTE ! ! !REVISION HISTORY: ! 05 Feb 2003 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC THISMINUTE = MINUTE END FUNCTION GET_MINUTE !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_second ! ! !DESCRIPTION: Function GET\_SECOND returns the current GMT seconds. ! calling program. !\\ !\\ ! !INTERFACE: ! FUNCTION GET_SECOND() RESULT( THISSECOND ) ! ! !RETURN VALUE: ! INTEGER :: THISSECOND ! ! !REVISION HISTORY: ! 05 Feb 2003 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC THISSECOND = SECOND END FUNCTION GET_SECOND !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_day_of_year ! ! !DESCRIPTION: Function GET\_DAY\_OF\_YEAR returns the current day of the ! year (0-365 or 0-366 for leap years) to the calling program. !\\ !\\ ! !INTERFACE: ! FUNCTION GET_DAY_OF_YEAR() RESULT( THISDAYOFYEAR ) ! ! !RETURN VALUE: ! INTEGER :: THISDAYOFYEAR ! Day of year ! ! !REVISION HISTORY: ! 05 Feb 2003 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC THISDAYOFYEAR = DAY_OF_YEAR END FUNCTION GET_DAY_OF_YEAR !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_gmt ! ! !DESCRIPTION: Function GET\_GMT returns the current Greenwich Mean Time ! to the calling program. !\\ !\\ ! !INTERFACE: ! FUNCTION GET_GMT() RESULT( THISGMT ) ! ! !RETURN VALUE: ! REAL(f8) :: THISGMT ! Greenwich mean time [hrs] ! ! !REVISION HISTORY: ! 05 Feb 2003 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC THISGMT = GMT END FUNCTION GET_GMT !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_tau ! ! !DESCRIPTION: Function GET\_TAU returns TAU (hours since 1 Jan ! 1985 at the start of a GEOS-Chem run) to the calling program. !\\ !\\ ! !INTERFACE: ! FUNCTION GET_TAU() RESULT( THISTAU ) ! ! !RETURN VALUE: ! REAL(f8) :: THISTAU ! TAUb [hrs since 1/1/1985] ! ! !REVISION HISTORY: ! 05 Feb 2003 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC THISTAU = TAU END FUNCTION GET_TAU !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_taub ! ! !DESCRIPTION: Function GET\_TAUb returns TAUb (hours since 1 Jan 1985 ! at the start of a GEOS-Chem run) to the calling program. !\\ !\\ ! !INTERFACE: ! FUNCTION GET_TAUb() RESULT( THISTAUb ) ! ! !RETURN VALUE: ! REAL(f8) :: THISTAUb ! TAUb [hrs since 1/1/1985] ! ! !REVISION HISTORY: ! 05 Feb 2003 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC THISTAUb = TAUb END FUNCTION GET_TAUb !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_taue ! ! !DESCRIPTION: Function GET\_TAUe returns TAUe (hours since 1 Jan 1985 ! at the end of a GEOS-Chem run) to the calling program. !\\ !\\ ! !INTERFACE: ! FUNCTION GET_TAUe() RESULT( THISTAUe ) ! ! !RETURN VALUE: ! REAL(f8) :: THISTAUe ! TAUe [hrs since 1/1/1985] ! ! !REVISION HISTORY: ! 05 Feb 2003 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC THISTAUe = TAUe END FUNCTION GET_TAUe !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_localtime ! ! !DESCRIPTION: Function GET\_LOCALTIME returns the local time of a grid ! box to the calling program. (bmy, 2/5/03) !\\ !\\ ! !INTERFACE: ! FUNCTION GET_LOCALTIME( I, J, L, State_Grid, GMT ) & RESULT( THISLOCALTIME ) ! ! !USES: ! USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I ! Longitude index INTEGER, INTENT(IN) :: J ! Latitude index INTEGER, INTENT(IN) :: L ! Level index TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object REAL(f8), INTENT(IN), OPTIONAL :: GMT ! GMT time of day [hrs] ! ! !RETURN VALUE: ! REAL(f8) :: THISLOCALTIME ! Local time [hrs] ! ! !REMARKS: ! Local Time = GMT + ( longitude / 15 ) since each hour of time ! corresponds to 15 degrees of longitude on the globe ! ! !REVISION HISTORY: ! 05 Feb 2003 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(f8) :: GMT_HRS ! Save the value of the argument GMT in a local variable ! If not passed, then use the current GMT time from time_mod.F90 IF ( PRESENT( GMT ) ) THEN GMT_HRS = GMT ELSE GMT_HRS = GET_GMT() ENDIF ! Local time = GMT time [hrs] + longitude / 15 THISLOCALTIME = GMT_HRS + ( State_Grid%XMid(I,J) / 15.0_f8 ) ! Make sure that THISLOCALTIME is in the range 0-24 hours IF ( THISLOCALTIME > 24.0_f8 ) THEN THISLOCALTIME = THISLOCALTIME - 24.0_f8 ENDIF IF ( THISLOCALTIME < 0.0_f8 ) THEN THISLOCALTIME = THISLOCALTIME + 24.0_f8 ENDIF END FUNCTION GET_LOCALTIME !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_LocalTime_In_Sec ! ! !DESCRIPTION: Function GET\_LOCALTIME returns the local time of a grid ! box to the calling program. (bmy, 2/5/03) !\\ !\\ ! !INTERFACE: ! FUNCTION Get_LocalTime_In_Sec( I, J, L, State_Grid ) & RESULT( Lt_In_Sec ) ! ! !USES: ! USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I ! Longitude index INTEGER, INTENT(IN) :: J ! Latitude index INTEGER, INTENT(IN) :: L ! Level index TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !RETURN VALUE: ! INTEGER :: Lt_In_Sec ! Local time [s] ! ! !REMARKS: ! Local Time = GMT + ( longitude / 15 ) since each hour of time ! corresponds to 15 degrees of longitude on the globe ! ! !REVISION HISTORY: ! 18 Apr 2019 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: Offset_Sec, UTC_In_Sec ! Compute UTC value in seconds UTC_In_Sec = ( Hour * 3600 ) + ( Minute * 60 ) + Second ! 15 degrees of longitude on Earth is 1 hour or 3600 sec of time ! Use NINT to avoid roundoff issues Offset_Sec = NINT(( State_Grid%XMid(I,J) / 15.0_f8 ) * 3600.0_f8 ) ! Add offset to UTC to get local time Lt_In_Sec = UTC_In_Sec + Offset_Sec ! Make sure that local time is in the range 0-86400 IF ( Lt_In_Sec > 86400 ) THEN Lt_In_Sec = Lt_In_Sec - 86400 ENDIF IF ( Lt_In_Sec < 0 ) THEN Lt_In_Sec = Lt_In_Sec + 86400 ENDIF END FUNCTION Get_LocalTime_In_Sec !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_ts_chem ! ! !DESCRIPTION: Function GET\_TS\_CHEM returns the chemistry timestep in ! seconds. !\\ !\\ ! !INTERFACE: ! FUNCTION GET_TS_CHEM() RESULT( THIS_TS_CHEM ) ! ! !RETURN VALUE: ! INTEGER :: THIS_TS_CHEM ! ! Chemistry timestep [sec] ! ! !REVISION HISTORY: ! 21 Mar 2003 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC THIS_TS_CHEM = TS_CHEM END FUNCTION GET_TS_CHEM !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_ts_rad ! ! !DESCRIPTION: Function GET\_TS\_RAD returns the radiation timestep in ! seconds. !\\ !\\ ! !INTERFACE: ! FUNCTION GET_TS_RAD() RESULT( THIS_TS_RAD ) ! ! !RETURN VALUE: ! INTEGER :: THIS_TS_RAD ! ! Radiation timestep [sec] ! ! !REVISION HISTORY: ! 06 Oct 2012 - D. Ridley - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC THIS_TS_RAD = TS_RAD END FUNCTION GET_TS_RAD !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_ts_conv ! ! !DESCRIPTION: Function GET\_TS\_CONV returns the convection timestep in ! seconds. !\\ !\\ ! !INTERFACE: ! FUNCTION GET_TS_CONV() RESULT( THIS_TS_CONV ) ! ! !RETURN VALUE: ! INTEGER :: THIS_TS_CONV ! Convective timestep [sec] ! ! !REVISION HISTORY: ! 21 Mar 2003 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC THIS_TS_CONV = TS_CONV END FUNCTION GET_TS_CONV !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_ts_diag ! ! !DESCRIPTION: Function GET\_TS\_DIAG returns the diagnostic timestep in ! seconds. !\\ !\\ ! !INTERFACE: ! FUNCTION GET_TS_DIAG() RESULT( THIS_TS_DIAG ) ! ! !RETURN VALUE: ! INTEGER :: THIS_TS_DIAG ! Diagnostic timestep [sec] ! ! !REVISION HISTORY: ! 21 Mar 2003 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC THIS_TS_DIAG = TS_DIAG END FUNCTION GET_TS_DIAG !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_ts_dyn ! ! !DESCRIPTION: Function GET\_TS\_DIAG returns the diagnostic timestep in ! seconds. !\\ !\\ ! !INTERFACE: ! FUNCTION GET_TS_DYN() RESULT( THIS_TS_DYN ) ! ! !RETURN VALUE: ! INTEGER :: THIS_TS_DYN ! Dynamic timestep [sec] ! ! !REVISION HISTORY: ! 21 Mar 2003 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC THIS_TS_DYN = TS_DYN END FUNCTION GET_TS_DYN !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_ts_emis ! ! !DESCRIPTION: Function GET\_TS\_EMIS returns the emission timestep in ! seconds. !\\ !\\ ! !INTERFACE: ! FUNCTION GET_TS_EMIS() RESULT( THIS_TS_EMIS ) ! ! !RETURN VALUE: ! INTEGER :: THIS_TS_EMIS ! Emissions timestep [sec] ! ! !REVISION HISTORY: ! 21 Mar 2003 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC THIS_TS_EMIS = TS_EMIS END FUNCTION GET_TS_EMIS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_ts_unit ! ! !DESCRIPTION: Function GET\_TS\_UNIT returns the unit-conversion timestep ! in seconds. !\\ !\\ ! !INTERFACE: ! FUNCTION GET_TS_UNIT() RESULT( THIS_TS_UNIT ) ! ! !RETURN VALUE: ! INTEGER :: THIS_TS_UNIT ! Unit conversion timestep [sec] ! ! !REVISION HISTORY: ! 21 Mar 2003 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC THIS_TS_UNIT = TS_UNIT END FUNCTION GET_TS_UNIT !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_a1_time ! ! !DESCRIPTION: Function GET\_A1\_TIME returns the correct YYYYMMDD and HHMMSS ! values that are needed to read in the next average 1-hour (A-1) fields. !\\ !\\ ! !INTERFACE: ! FUNCTION GET_A1_TIME() RESULT( DATE ) ! ! !RETURN VALUE: ! INTEGER :: DATE(2) ! YYYYMMDD and HHMMSS values ! ! !REVISION HISTORY: ! 19 Aug 2010 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! GEOS-FP and MERRA-2 met fields are 1-hour time-averages, timestamped ! at the center of the averaging periods (00:30, 01:30, 02:30 ... 23:30) DATE = GET_TIME_AHEAD( 1800 ) END FUNCTION GET_A1_TIME !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_a3_time ! ! !DESCRIPTION: Function GET\_A3\_TIME returns the correct YYYYMMDD and HHMMSS ! values that are needed to read in the next average 3-hour (A-3) fields. !\\ !\\ ! !INTERFACE: ! FUNCTION GET_A3_TIME() RESULT( DATE ) ! ! !RETURN VALUE: ! INTEGER :: DATE(2) ! YYYYMMDD and HHMMSS values ! ! !REVISION HISTORY: ! 21 Mar 2003 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! The A-3 fields are timestamped by center time. ! Therefore, the difference between the actual time when the fields ! are read and the A-3 timestamp time is 90 minutes. DATE = GET_TIME_AHEAD( 5400 ) END FUNCTION GET_A3_TIME !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_i3_time ! ! !DESCRIPTION: Function GET\_I3\_TIME returns the correct YYYYMMDD and ! HHMMSS values that are needed to read in the next instantaneous 3-hour ! (I-3) fields. !\\ !\\ ! !INTERFACE: ! FUNCTION GET_I3_TIME() RESULT( DATE ) ! ! !RETURN VALUE: ! INTEGER :: DATE(2) ! YYYYMMDD and HHMMSS values ! ! !REMARKS: ! Modified for start times other than 0 GMT. ! ! !REVISION HISTORY: ! 06 Feb 2012 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! LOGICAL, SAVE :: FIRST = .TRUE. INTEGER :: HH, MM, SS, SECS, OFFSET !================================================================= ! ALL MET FIELDS: !================================================================= IF ( FIRST ) THEN !-------------------------------------------------------------- ! FIRST-TIME ONLY! Get the proper # of hours until the next ! I3 time. Also works for start times other than 0 GMT. !-------------------------------------------------------------- ! Split NHMS into hours, mins, seconds CALL YMD_EXTRACT( NHMS, HH, MM, SS ) ! Compute seconds elapsed in the 3-hour interval SECS = MOD( HH, 3 )*3600 + MM*60 + SS ! Compute offset to next I-3 time OFFSET = 10800 - SECS ! Get YYYY/MM/DD and hh:mm:ss to next I3 time DATE = GET_TIME_AHEAD( OFFSET ) ! Reset first-time flag FIRST = .FALSE. RETURN ENDIF ! We need to read in the I-3 fields 3h (180 mins, or 10800 secs) ! ahead of time DATE = GET_TIME_AHEAD( 10800 ) END FUNCTION GET_I3_TIME !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_i1dyn_time ! ! !DESCRIPTION: Function GET\_I1dyn\_TIME returns the correct YYYYMMDD and ! HHMMSS values that are needed to read in the next instantaneous 1-hour ! (I-1) fields. !\\ !\\ ! !INTERFACE: ! FUNCTION GET_I1dyn_TIME() RESULT( DATE ) ! ! !RETURN VALUE: ! INTEGER :: DATE(2) ! YYYYMMDD and HHMMSS values ! ! !REMARKS: ! Modified for start times other than 0 GMT. ! ! !REVISION HISTORY: ! 15 Jun 2024 - X. Wang - Initial version, for 0.125x0.15625 ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! LOGICAL, SAVE :: FIRST = .TRUE. INTEGER :: HH, MM, SS, SECS, OFFSET !================================================================= ! ALL MET FIELDS: !================================================================= IF ( FIRST ) THEN !-------------------------------------------------------------- ! FIRST-TIME ONLY! Get the proper # of hours until the next ! I1dyn time. Also works for start times other than 0 GMT. !-------------------------------------------------------------- ! Split NHMS into hours, mins, seconds CALL YMD_EXTRACT( NHMS, HH, MM, SS ) ! Compute seconds elapsed in the 1-hour interval SECS = MOD( HH, 1 )*3600 + MM*60 + SS ! Compute offset to next I-1 time OFFSET = 3600 - SECS ! Get YYYY/MM/DD and hh:mm:ss to next I1dyn time DATE = GET_TIME_AHEAD( OFFSET ) ! Reset first-time flag FIRST = .FALSE. RETURN ENDIF ! We need to read in the I-1 fields 1h (60 mins, or 3600 secs) ! ahead of time DATE = GET_TIME_AHEAD( 3600 ) END FUNCTION GET_I1dyn_TIME !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_bc_time ! ! !DESCRIPTION: Function GET\_BC\_TIME returns the correct YYYYMMDD and HHMMSS ! values that are needed to read in the next 3-hour boundary condition fields. !\\ !\\ ! !INTERFACE: ! FUNCTION GET_BC_TIME() RESULT( DATE ) ! ! !RETURN VALUE: ! INTEGER :: DATE(2) ! YYYYMMDD and HHMMSS values ! ! !REVISION HISTORY: ! 24 Feb 2020 - M. Sulprizio- Initial version, based on GET_I3_TIME ! See the Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC LOGICAL, SAVE :: FIRST = .TRUE. INTEGER :: HH, MM, SS, SECS, OFFSET IF ( FIRST ) THEN !-------------------------------------------------------------- ! FIRST-TIME ONLY! Get the proper # of hours until the next ! BC time. Also works for start times other than 0 GMT. !-------------------------------------------------------------- ! Split NHMS into hours, mins, seconds CALL YMD_EXTRACT( NHMS, HH, MM, SS ) ! Compute seconds elapsed in the 3-hour interval SECS = MOD( HH, 3 )*3600 + MM*60 + SS ! Compute offset to next I-3 time OFFSET = 10800 - SECS ! Get YYYY/MM/DD and hh:mm:ss to next BC time DATE = GET_TIME_AHEAD( OFFSET ) ! Reset first-time flag FIRST = .FALSE. RETURN ENDIF ! Boundary condition time slices are set to fixed 3-hourly intervals ! starting from 00z, in units of minutes from start. i.e., ! time = 0, 180, 360, 540, 720, 900, 1080, 1260 ; ! time:units = "minutes since 2019-01-01T00:00:00+00:00" ; ! ! The GET_BC_TIME is used to retrieve HHMMSS time slices for use in ! Get_Boundary_Conditions, which performs the calculation ! t_index = ( HHMMSS / 030000 ) + 1 ! Thus, HHMMSS must not be offset from the current time. (hplin, 7/27/23) DATE = GET_TIME_AHEAD( 0 ) END FUNCTION GET_BC_TIME !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_first_a1_time ! ! !DESCRIPTION: Function GET\_FIRST\_A1\_TIME returns the correct YYYYMMDD ! and HHMMSS values the first time that A-3 fields are read in from disk. !\\ !\\ ! !INTERFACE: ! FUNCTION GET_FIRST_A1_TIME() RESULT( DATE ) ! ! !RETURN VALUE: ! INTEGER :: DATE(2) ! YYYYMMDD and HHMMSS values ! ! !REVISION HISTORY: ! 26 Jun 2003 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC DATE = GET_A1_TIME() END FUNCTION GET_FIRST_A1_TIME !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_first_a3_time ! ! !DESCRIPTION: Function GET\_FIRST\_A3\_TIME returns the correct YYYYMMDD ! and HHMMSS values the first time that A-3 fields are read in from disk. !\\ !\\ ! !INTERFACE: ! FUNCTION GET_FIRST_A3_TIME() RESULT( DATE ) ! ! !RETURN VALUE: ! INTEGER :: DATE(2) ! YYYYMMDD and HHMMSS values ! ! !REVISION HISTORY: ! 26 Jun 2003 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: HH, MM, SS, SECS, OFFSET !================================================================== ! A3 fields are indexed at the midpoint of the 3-hr interval !================================================================== ! Split NYMS into hours, mins, seconds CALL YMD_EXTRACT( NHMS, HH, MM, SS ) ! Compute seconds elapsed in the 3-hour interval SECS = MOD( HH, 3 )*3600 + MM*60 + SS ! Compute offset to midpoint of 3hr interval OFFSET = 10800 - ( SECS + 5400 ) ! Get YYYY/MM/DD and hh:mm:ss at midpoint of 3hr interval DATE = GET_TIME_AHEAD( OFFSET ) END FUNCTION GET_FIRST_A3_TIME !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_first_i3_time ! ! !DESCRIPTION: Function GET\_FIRST\_I3\_TIME returns the correct YYYYMMDD and ! HHMMSS values the first time that I-3 fields are read in from disk. !\\ !\\ ! !INTERFACE: ! FUNCTION GET_FIRST_I3_TIME() RESULT( DATE ) ! ! !RETURN VALUE: ! INTEGER :: DATE(2) ! YYYYMMDD, HHMMSS values ! ! !REVISION HISTORY: ! 03 Feb 2012 - R. Yantosca - Initial version, for GEOS-5.7.2 ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: HH, MM, SS, SECS, OFFSET !================================================================== ! Compute first I-6 time for all met field types !================================================================== ! Split NYMS into hours, mins, seconds CALL YMD_EXTRACT( NHMS, HH, MM, SS ) ! Compute seconds elapsed in the 3-hour interval SECS = MOD( HH, 3 )*3600 + MM*60 + SS ! Compute offset to nearest I-6 time OFFSET = -SECS ! Get YYYY/MM/DD and hh:mm:ss to nearest I-6 time DATE = GET_TIME_AHEAD( OFFSET ) END FUNCTION GET_FIRST_I3_TIME !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_first_i1dyn_time ! ! !DESCRIPTION: Function GET\_FIRST\_I1dyn\_TIME returns the correct YYYYMMDD and ! HHMMSS values the first time that I-1 fields are read in from disk. !\\ !\\ ! !INTERFACE: ! FUNCTION GET_FIRST_I1dyn_TIME() RESULT( DATE ) ! ! !RETURN VALUE: ! INTEGER :: DATE(2) ! YYYYMMDD, HHMMSS values ! ! !REVISION HISTORY: ! 15 Jun 2024 - X. Wang - Initial version, for 0.125x0.15625 ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: HH, MM, SS, SECS, OFFSET !================================================================== ! Compute first I-6 time for all met field types !================================================================== ! Split NYMS into hours, mins, seconds CALL YMD_EXTRACT( NHMS, HH, MM, SS ) ! Compute seconds elapsed in the 3-hour interval SECS = MOD( HH, 1 )*3600 + MM*60 + SS ! Compute offset to nearest I-6 time OFFSET = -SECS ! Get YYYY/MM/DD and hh:mm:ss to nearest I-6 time DATE = GET_TIME_AHEAD( OFFSET ) END FUNCTION GET_FIRST_I1dyn_TIME !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_first_bc_time ! ! !DESCRIPTION: Function GET\_FIRST\_BC\_TIME returns the correct YYYYMMDD and ! HHMMSS values the first time that boundary conditions are read in from disk. !\\ !\\ ! !INTERFACE: ! FUNCTION GET_FIRST_BC_TIME() RESULT( DATE ) ! ! !RETURN VALUE: ! INTEGER :: DATE(2) ! YYYYMMDD, HHMMSS values ! ! !REVISION HISTORY: ! 24 Feb 2020 - M. Sulprizio- Initial version, based on GET_FIRST_3_TIME ! See the Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: HH, MM, SS, SECS, OFFSET !================================================================== ! Compute first time for boundary conditions !================================================================== ! Split NYMS into hours, mins, seconds CALL YMD_EXTRACT( NHMS, HH, MM, SS ) ! Compute seconds elapsed in the 3-hour interval SECS = MOD( HH, 3 )*3600 + MM*60 + SS ! Compute offset to nearest I-6 time OFFSET = -SECS ! Get YYYY/MM/DD and hh:mm:ss to nearest I-6 time DATE = GET_TIME_AHEAD( OFFSET ) END FUNCTION GET_FIRST_BC_TIME !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Its_Time_For_chem ! ! !DESCRIPTION: Function ITS\_TIME\_FOR\_CHEM returns TRUE if it is time to do ! chemistry, or FALSE otherwise. !\\ !\\ ! !INTERFACE: ! FUNCTION ITS_TIME_FOR_CHEM() RESULT( FLAG ) ! ! !RETURN VALUE: ! LOGICAL :: FLAG ! ! !REVISION HISTORY: ! 21 Mar 2003 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! changes for proper chemistry time (lzh, ccc, 3/20/10) INTEGER :: M !================================================================= ! ITS_TIME_FOR_CHEM begins here! !================================================================= ! Get multiplier between transport and chemistry: M = TS_CHEM/TS_DYN ! Divide by 2 (get middle). KEEP INTEGERS!!!! M = MAX( M/2, 1 ) ! Is it time for chemistry? ! Chemistry time step is now in the center of transport time steps FLAG = ( MOD( ELAPSED_SEC, TS_CHEM ) == (M-1)*TS_DYN ) END FUNCTION ITS_TIME_FOR_CHEM !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: its_time_for_rt ! ! !DESCRIPTION: Function ITS\_TIME\_FOR\_RT returns TRUE if it is time to do ! radiative transfer calculations, or FALSE otherwise. !\\ !\\ ! !INTERFACE: ! FUNCTION ITS_TIME_FOR_RT() RESULT( FLAG ) ! ! !RETURN VALUE: ! LOGICAL :: FLAG ! ! !REVISION HISTORY: ! 04 Oct 2012 - D. Ridley - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! Is it time for radiation? FLAG = ( MOD( ELAPSED_SEC, TS_RAD ) == 0 ) END FUNCTION ITS_TIME_FOR_RT !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: its_time_for_surface_rad ! ! !DESCRIPTION: Function ITS\_TIME\_FOR\_SURFACE\_RAD returns TRUE if it is ! time to read surface albedo and emissivity fields, or FALSE otherwise. !\\ !\\ ! !INTERFACE: ! FUNCTION ITS_TIME_FOR_SURFACE_RAD() RESULT( FLAG ) ! ! !RETURN VALUE: ! LOGICAL :: FLAG ! ! !REVISION HISTORY: ! 06 Oct 2012 - D. Ridley - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: M !================================================================= ! ITS_TIME_FOR_SURFACE_RAD begins here! !================================================================= ! Get half a time step value M = GET_DAY_OF_YEAR() ! Is it time to read the 8-day file? ! files start on 1, then 9, 17... etc FLAG = ( MOD( M, 8 ) == 1 ) END FUNCTION ITS_TIME_FOR_SURFACE_RAD !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Its_Time_For_conv ! ! !DESCRIPTION: Function ITS\_TIME\_FOR\_CONV returns TRUE if it is time to do ! convection, or FALSE otherwise. !\\ !\\ ! !INTERFACE: ! FUNCTION ITS_TIME_FOR_CONV() RESULT( FLAG ) ! ! !RETURN VALUE: ! LOGICAL :: FLAG ! ! !REVISION HISTORY: ! 21 Mar 2003 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! Is it time for convection? FLAG = ( MOD( ELAPSED_SEC, TS_CONV ) == 0 ) END FUNCTION ITS_TIME_FOR_CONV !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Its_Time_For_dyn ! ! !DESCRIPTION: Function ITS\_TIME\_FOR\_DYN returns TRUE if it is time to do ! chemistry and false otherwise. !\\ !\\ ! !INTERFACE: ! FUNCTION ITS_TIME_FOR_DYN() RESULT( FLAG ) ! ! !RETURN VALUE: ! LOGICAL :: FLAG ! ! !REVISION HISTORY: ! 21 Mar 2003 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! Is it time for dynamics? FLAG = ( MOD( ELAPSED_SEC, TS_DYN ) == 0 ) END FUNCTION ITS_TIME_FOR_DYN !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Its_Time_For_emis ! ! !DESCRIPTION: Function ITS\_TIME\_FOR\_EMIS returns TRUE if it is time to do ! emissions, or FALSE otherwise. !\\ !\\ ! !INTERFACE: ! FUNCTION ITS_TIME_FOR_EMIS() RESULT( FLAG ) ! ! !RETURN VALUE: ! LOGICAL :: FLAG ! ! !REVISION HISTORY: ! 21 Mar 2003 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! changes for proper chemistry time (lzh, ccc, 3/20/10) INTEGER :: M !================================================================= ! ITS_TIME_FOR_EMIS begins here! !================================================================= ! Get multiplier between transport and chemistry: M = TS_EMIS/TS_DYN ! Divide by 2 (get middle). KEEP INTEGERS!!!! M = MAX( M/2, 1 ) ! Is it time for emissions? ! Emission time step is now in the center of transport time steps FLAG = ( MOD( ELAPSED_SEC, TS_EMIS ) == (M-1)*TS_DYN ) END FUNCTION ITS_TIME_FOR_EMIS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Its_Time_For_exch ! ! !DESCRIPTION: Function ITS\_TIME\_FOR\_EXCH returns TRUE if it is time to do ! exchange for two-way coupled simulation, or FALSE otherwise. !\\ !\\ ! !INTERFACE: ! FUNCTION ITS_TIME_FOR_EXCH() RESULT( FLAG ) ! ! !RETURN VALUE: ! LOGICAL :: FLAG ! ! !REVISION HISTORY: ! 30 Mar 2014 - Y.Y. Yan - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! changes for proper chemistry time (lzh, ccc, 3/20/10) INTEGER :: M !================================================================= ! ITS_TIME_FOR_CHEM begins here! !================================================================= ! Get multiplier between transport and chemistry: M = TS_CHEM/TS_DYN ! Divide by 2 (get middle). KEEP INTEGERS!!!! M = MAX( M/2, 1 ) ! Is it time for exchange? ! Chemistry time step is now in the center of transport time steps FLAG = ( MOD( ELAPSED_SEC, 10800 ) == 0 ) END FUNCTION ITS_TIME_FOR_EXCH !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Its_Time_For_unit ! ! !DESCRIPTION: Function ITS\_TIME\_FOR\_UNIT returns TRUE if it is time to do ! unit conversion, or FALSE otherwise. !\\ !\\ ! !INTERFACE: ! FUNCTION ITS_TIME_FOR_UNIT() RESULT( FLAG ) ! ! !RETURN VALUE: ! LOGICAL :: FLAG ! ! !REVISION HISTORY: ! 21 Mar 2003 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! Is it time for unit conversion? FLAG = ( MOD( ELAPSED_SEC, TS_DYN ) == 0 ) END FUNCTION ITS_TIME_FOR_UNIT !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Its_Time_For_a1 ! ! !DESCRIPTION: Function ITS\_TIME\_FOR\_A1 returns TRUE if it is time to read ! in A1 (average 1-hr fields) and FALSE otherwise. !\\ !\\ ! !INTERFACE: ! FUNCTION ITS_TIME_FOR_A1() RESULT( FLAG ) ! ! !RETURN VALUE: ! LOGICAL :: FLAG ! ! !REVISION HISTORY: ! 20 Aug 2010 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! We read A1 fields every 3 hours FLAG = ( MOD( NHMS, 010000 ) == 0 ) END FUNCTION ITS_TIME_FOR_A1 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Its_Time_For_a3 ! ! !DESCRIPTION: Function ITS\_TIME\_FOR\_A3 returns TRUE if it is time to read ! in A3 (average 3-hr fields) and FALSE otherwise. !\\ !\\ ! !INTERFACE: ! FUNCTION ITS_TIME_FOR_A3() RESULT( FLAG ) ! ! !RETURN VALUE: ! LOGICAL :: FLAG ! ! !REVISION HISTORY: ! 21 Mar 2003 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! We read A3 fields every 3 hours FLAG = ( MOD( NHMS, 030000 ) == 0 ) END FUNCTION ITS_TIME_FOR_A3 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Its_Time_For_i3 ! ! !DESCRIPTION: Function ITS\_TIME\_FOR\_I3 returns TRUE if it is time to read ! in I2 (instantaneous 3-hr fields) and FALSE otherwise. !\\ !\\ ! !INTERFACE: ! FUNCTION ITS_TIME_FOR_I3() RESULT( FLAG ) ! ! !RETURN VALUE: ! LOGICAL :: FLAG ! ! !REVISION HISTORY: ! 03 Feb 2012 - R. Yantosca - Initial version, for GEOS-5.7.2 ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARAIABLES: ! LOGICAL, SAVE :: FIRST = .TRUE. ! We read in I-6 fields at 00, 03, 06, 09, 12, 15, 18, 21 GMT FLAG = ( ( MOD( NHMS, 030000 ) == 0 ) .or. FIRST ) FIRST = .FALSE. END FUNCTION ITS_TIME_FOR_I3 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Its_Time_For_i1dyn ! ! !DESCRIPTION: Function ITS\_TIME\_FOR\_I1dyn returns TRUE if it is time to read ! in I1 (instantaneous 1-hr fields) and FALSE otherwise. !\\ !\\ ! !INTERFACE: ! FUNCTION ITS_TIME_FOR_I1dyn() RESULT( FLAG ) ! ! !RETURN VALUE: ! LOGICAL :: FLAG ! ! !REVISION HISTORY: ! 15 Jun 2024 - X. Wang - Initial version, for 0.125x0.15625 ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARAIABLES: ! LOGICAL, SAVE :: FIRST = .TRUE. ! We read in I1dyn fields every hours at 00, 01, 02, ... GMT FLAG = ( ( MOD( NHMS, 10000 ) == 0 ) .or. FIRST ) FIRST = .FALSE. END FUNCTION ITS_TIME_FOR_I1dyn !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Its_Time_For_bc ! ! !DESCRIPTION: Function ITS\_TIME\_FOR\_BC returns TRUE if it is time to read ! in 3-hourly boundary conditions and FALSE otherwise. !\\ !\\ ! !INTERFACE: ! FUNCTION ITS_TIME_FOR_BC() RESULT( FLAG ) ! ! !RETURN VALUE: ! LOGICAL :: FLAG ! ! !REVISION HISTORY: ! 24 Feb 2020 - M. Sulprizio- Initial version, based on ITS_TIME_FOR_I3 ! See the Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARAIABLES: ! LOGICAL, SAVE :: FIRST = .TRUE. ! We read in boundary conditions at 00, 03, 06, 09, 12, 15, 18, 21 GMT FLAG = ( ( MOD( NHMS, 030000 ) == 0 ) .or. FIRST ) FIRST = .FALSE. END FUNCTION ITS_TIME_FOR_BC !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Its_Time_For_exit ! ! !DESCRIPTION: Function ITS\_TIME\_FOR\_EXIT returns TRUE if it is the end of ! the GEOS-Chem simulation (i.e. TAU >= TAUe), or FALSE otherwise. !\\ !\\ ! !INTERFACE: ! FUNCTION ITS_TIME_FOR_EXIT() RESULT( FLAG ) ! ! !RETURN VALUE: ! LOGICAL :: FLAG ! ! !REVISION HISTORY: ! 21 Mar 2003 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! Test if it's end of run FLAG = ( TAU >= TAUe ) END FUNCTION ITS_TIME_FOR_EXIT !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Its_A_LeapYear ! ! !DESCRIPTION: Function ITS\_A\_LEAPYEAR tests to see if a year is really a ! leapyear. !\\ !\\ ! !INTERFACE: ! FUNCTION ITS_A_LEAPYEAR( YEAR_IN, FORCE ) RESULT( IS_LEAPYEAR ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN), OPTIONAL :: YEAR_IN ! Year to test if leapyear LOGICAL, INTENT(IN), OPTIONAL :: FORCE ! Do not exit if using GCAP ! ! !RETURN VALUE: ! LOGICAL :: IS_LEAPYEAR ! =T if it's a leapyear ! ! !REVISION HISTORY: ! 17 Mar 1999 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: THISYEAR LOGICAL :: THISFORCE !================================================================= ! LEAPYEAR begins here! !================================================================= ! If YEAR_IN is passed, use that value; otherwise use the value ! of the current year as stored in module variable YEAR. IF ( PRESENT( YEAR_IN ) ) THEN THISYEAR = YEAR_IN ELSE THISYEAR = YEAR ENDIF ! If FORCE is passed, use that value, otherwise default to .FALSE. IF ( PRESENT( FORCE ) ) THEN THISFORCE = FORCE ELSE THISFORCE = .FALSE. ENDIF !================================================================= ! A leap year is: ! (1) evenly divisible by 4 (if not a century year) ! (2) evenly divisible by 4, 100, and 400 (if a century year) ! ! EXAMPLES: ! (a) 1992 is a leap year since it is evenly divisible by 4, ! and is not a century year (i.e. it doesn't end in '00'). ! ! (b) 1900 is NOT a leap year, since while being evenly divisible ! by 4 and 100, it is NOT divisible by 400. ! ! (c) 2000 is a leap year, since it is divisible by ! 4, 100, and 400. !================================================================= IS_LEAPYEAR = .FALSE. IF ( MOD( THISYEAR, 4 ) == 0 ) THEN IF ( MOD( THISYEAR, 100 ) == 0 ) THEN IF ( MOD( THISYEAR, 400 ) == 0 ) THEN IS_LEAPYEAR = .TRUE. ENDIF ELSE IS_LEAPYEAR = .TRUE. ENDIF ENDIF END FUNCTION ITS_A_LEAPYEAR !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Its_A_New_Year ! ! !DESCRIPTION: Function ITS\_A\_NEW\_YEAR returns TRUE if it's the first ! timestep of the year when we have to read in annual data. !\\ !\\ ! !INTERFACE: ! FUNCTION ITS_A_NEW_YEAR( NO_CCTS ) RESULT( IS_NEW_YEAR ) ! ! !INPUT PARAMETERS: ! LOGICAL, OPTIONAL :: NO_CCTS ! =T reverts to previous behavior ! (i.e. w/o using central chem step) ! ! !RETURN VALUE: ! LOGICAL :: IS_NEW_YEAR ! =T if it's 1st data read of year ! ! !REMARKS: ! ITS_A_NEW_YEAR assumes that we are using the central chemistry timestep ! option (i.e. do chemistry & emissions & related processes at the midpoint ! of each chemistry timestep). To revert to the prior behavior, set the ! optional flag NO_CCTS = .TRUE. ! . ! If we are using the central chemistry timestep option (which is now the ! default behavior), then we must not read data at 00:00 GMT on the first day ! of the year, but at the center of the first chemistry timestep of the ! year. This is because emissions and chemistry are done at the same time. ! The proper time of day for reading emissions is determined by function ! ITS_TIME_FOR_EMIS, also within time_mod.F90. ! . ! Similarly, for simulations that start at an arbitrary midmonth date and ! time, we must not read data at the starting date and time of the simulation, ! but at the midpoint of the first chemistry timestep of the simulation. ! . ! If we are not using the central chemistry timestep option (specified by ! NO_CCTS=.TRUE.), then the first data read of the month occurs at 00:00 GMT ! on the Jan 1st. Similarly, for those simulations that start at midmonth, ! the first data read will occur the starting date and time ! of the simulation. ! ! !REVISION HISTORY: ! 01 Apr 2004 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES ! LOGICAL :: NO_CENTRAL INTEGER :: HH, MM, SS REAL(f8) :: GMTb, TS !============================================================== ! Initialization !============================================================== ! Save the optional argument NO_CCTS in a local shadow variable IF ( PRESENT( NO_CCTS ) ) THEN NO_CENTRAL = NO_CCTS ELSE NO_CENTRAL = .FALSE. ENDIF ! Emissions timestep [hours] TS = DBLE( TS_EMIS ) / 3600e+0_f8 !============================================================== ! FOR JANUARY 1st OF THE YEAR !============================================================== IF ( MONTH == 1 .and. DAY == 1 ) THEN IF ( NO_CENTRAL ) THEN ! Here, we are not using the central chemistry timestep. ! Therefore, the first data read of the year should occur ! at 00:00 GMT on Jan 1st. IS_NEW_YEAR = ( NHMS == 000000 ) ELSE ! Here, we are using the central chemistry timestep option. ! Therefore, the first data read of the year will occur not at ! 00:00 GMT on the Jan 1st, but offset by a small amount (as ! diagnosed by function ITS_TIME_FOR_EMIS). IS_NEW_YEAR = ( GMT < TS .and. ITS_TIME_FOR_EMIS() ) ENDIF ELSE IF ( NYMD == NYMDb ) THEN !============================================================== ! FOR THE FIRST DAY OF THE SIMULATION ! (i.e. for simulations that start at other times of the year) !============================================================== IF ( NO_CENTRAL ) THEN ! Here, we are not using the central chemistry timestep. ! Therefore, the first data read of this year should occur ! at the start time of the simulation. IS_NEW_YEAR = ( NHMS == NHMSb ) ELSE ! Split starting time into hour, minute, second CALL YMD_EXTRACT( NHMSb, HH, MM, SS ) ! Compute GMT at the start of the simulation GMTb = DBLE( HH ) + ( DBLE( MM ) / 60e+0_f8 ) ! Here, we are using the central chemistry timestep option. ! Therefore, the first data read of the year will occur not ! at 00:00 GMT on Jan 1st, but offset by a small amount (as ! diagnosed by function ITS_TIME_FOR_EMIS). IS_NEW_YEAR = ( GMT < GMTb+TS .and. ITS_TIME_FOR_EMIS() ) ENDIF ELSE !============================================================== ! FOR ALL OTHER DAYS !============================================================== ! It isn't time for the first data read of the year; return FALSE IS_NEW_YEAR = .FALSE. ENDIF END FUNCTION ITS_A_NEW_YEAR !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Its_A_New_Month ! ! !DESCRIPTION: Function ITS\_A\_NEW\_MONTH returns TRUE if it's the first ! timestep of the month when we have to read in monthly data. !\\ !\\ ! !INTERFACE: ! FUNCTION ITS_A_NEW_MONTH( NO_CCTS ) RESULT( IS_NEW_MONTH ) ! ! !INPUT PARAMETERS ! LOGICAL, OPTIONAL :: NO_CCTS ! =T reverts to previous behavior ! (i.e. w/o using central chem step) ! ! !RETURN VALUE: ! LOGICAL :: IS_NEW_MONTH ! =T if it's 1st data read of month ! ! !REMARKS: ! ITS_A_NEW_MONTH assumes that we are using the central chemistry timestep ! option (i.e. do chemistry & emissions & related processes at the midpoint ! of each chemistry timestep). To revert to the prior behavior, set the ! optional flag NO_CCTS = .TRUE. ! . ! If we are using the central chemistry timestep option (which is now the ! default behavior), then we must not read data at 00:00 GMT on the first day ! of the month, but at the center of the first chemistry timestep of the ! month. This is because emissions and chemistry are done at the same time. ! The proper time of day for reading emissions is determined by function ! ITS_TIME_FOR_EMIS, also within time_mod.F90. ! . ! Similarly, for simulations that start at an arbitrary midmonth date and ! time, we must not read data at the starting date and time of the simulation, ! but at the midpoint of the first chemistry timestep of the simulation. ! . ! If we are not using the central chemistry timestep option (specified by ! NO_CCTS=.TRUE.), then the first data read of the month occurs at 00:00 GMT ! on the first day of the month. Similarly, for those simulations that start ! at midmonth, the first data read will occur the starting date and time ! of the simulation. ! ! !REVISION HISTORY: ! 01 Apr 2004 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES ! LOGICAL :: NO_CENTRAL INTEGER :: HH, MM, SS REAL(f8) :: GMTb, TS !============================================================== ! Initialization !============================================================== ! Save IF ( PRESENT( NO_CCTS ) ) THEN NO_CENTRAL = NO_CCTS ELSE NO_CENTRAL = .FALSE. ENDIF ! Emissions timestep [hours] TS = DBLE( TS_EMIS ) / 3600e+0_f8 IF ( DAY == 1 .and. HOUR == 0 .and. MINUTE == 0 ) THEN !============================================================== ! FOR THE FIRST DAY OF THE MONTH !============================================================== IF ( NO_CENTRAL ) THEN ! Here, we are not using the central chemistry timestep. ! Therefore, the first data read of the month should occur ! at 00:00 GMT of the 1st day of the month. IS_NEW_MONTH = ( NHMS == 000000 ) ELSE ! Here, we are using the central chemistry timestep option. ! Therefore, the first data read of the month will occur not at ! 00:00 GMT on the 1st day of the month, but offset by a small ! amount (as diagnosed by function ITS_TIME_FOR_EMIS). IS_NEW_MONTH = ( GMT < TS .and. ITS_TIME_FOR_EMIS() ) ENDIF ELSE IF ( NYMD == NYMDb ) THEN !============================================================== ! FOR THE FIRST DAY OF THE SIMULATION ! (i.e. for simulations that start at other times of the month) !============================================================== IF ( NO_CENTRAL ) THEN ! Here, we are not using the central chemistry timestep. ! Therefore, the first data read of this month should occur ! at the start time of the simulation. IS_NEW_MONTH = ( NHMS == NHMSb ) ELSE ! Split starting time into hour, minute, second CALL YMD_EXTRACT( NHMSb, HH, MM, SS ) ! Compute GMT at the start of the simulation GMTb = DBLE( HH ) + ( DBLE( MM ) / 60e+0_f8 ) ! Here, we are using the central chemistry timestep option. ! Therefore, the first data read of the month will occur not at ! 00:00 GMT on the 1st day of the month, but offset by a small ! amount (as diagnosed by function ITS_TIME_FOR_EMIS). IS_NEW_MONTH = ( GMT < GMTb+TS .and. ITS_TIME_FOR_EMIS() ) ENDIF ELSE !============================================================== ! FOR ALL OTHER DAYS !============================================================== ! It isn't time for the first data read of the month; return FALSE IS_NEW_MONTH = .FALSE. ENDIF END FUNCTION ITS_A_NEW_MONTH !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Its_MidMonth ! ! !DESCRIPTION: Function ITS\_MIDMONTH returns TRUE if it's the middle of a ! month. !\\ !\\ ! !INTERFACE: ! FUNCTION ITS_MIDMONTH() RESULT( IS_MIDMONTH ) ! ! !RETURN VALUE: ! LOGICAL :: IS_MIDMONTH ! ! !REVISION HISTORY: ! 10 Oct 2005 - S. Strode - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! Test for the 16th of the month at 0 GMT IS_MIDMONTH = ( DAY == 16 .and. ITS_A_NEW_DAY() ) END FUNCTION ITS_MIDMONTH !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Its_A_New_Day ! ! !DESCRIPTION: Function ITS\_A\_NEW\_DAY returns TRUE if it's the first ! timestep of the day when we have to read in daily data. !\\ !\\ ! !INTERFACE: ! FUNCTION ITS_A_NEW_DAY( NO_CCTS ) RESULT( IS_NEW_DAY ) ! ! !INPUT PARAMETERS ! LOGICAL, OPTIONAL :: NO_CCTS ! =T reverts to previous behavior ! (i.e. w/o using central chem step) ! ! !RETURN VALUE: ! LOGICAL :: IS_NEW_DAY ! =T if it's 1st data read of day ! ! !REMARKS: ! ITS_A_NEW_DAY assumes that we are using the central chemistry timestep ! option (i.e. do chemistry & emissions & related processes at the midpoint ! of each chemistry timestep). To revert to the prior behavior, set the ! optional flag NO_CCTS = .TRUE. ! . ! If we are using the central chemistry timestep option (which is now the ! default behavior), then we must not read data at 00:00 GMT of each day, ! but at the center of the first chemistry timestep of the day. This is ! because emissions and chemistry are done at the same time. The proper ! time of day for reading emissions is determined by function ! ITS_TIME_FOR_EMIS, also within time_mod.F90. ! . ! Similarly, for simulations that start at an arbitrary midmonth date and ! time, we must not read data at the starting date and time of the simulation, ! but at the midpoint of the first chemistry timestep of the simulation. ! . ! If we are not using the central chemistry timestep option (specified by ! NO_CCTS=.TRUE.), then the first data read of the month occurs at 00:00 GMT ! each day. Similarly, for those simulations that start at midmonth, the ! first data read will occur the starting date and time of the simulation. ! ! !REVISION HISTORY: ! 01 Apr 2004 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES ! LOGICAL :: NO_CENTRAL INTEGER :: HH, MM, SS REAL(f8) :: GMTb, TS !============================================================== ! Initialization !============================================================== ! Save optional argument NO_CCTS in a local shadow variable IF ( PRESENT( NO_CCTS ) ) THEN NO_CENTRAL = NO_CCTS ELSE NO_CENTRAL = .FALSE. ENDIF ! Emissions timestep [hours] TS = DBLE( TS_EMIS ) / 3600e+0_f8 IF ( NYMD == NYMDb ) THEN !============================================================== ! FOR THE FIRST DAY OF THE SIMULATION ! (i.e. for simulations that start at any time of the year) !============================================================== IF ( NO_CENTRAL ) THEN ! Here, we are not using the central chemistry timestep option ! Therefore, the first data read of this day should occur at ! the start time of the simulation. IS_NEW_DAY = ( NHMS == NHMSb ) ELSE ! Split starting time into hour, minute, second CALL YMD_EXTRACT( NHMSb, HH, MM, SS ) ! Compute GMT at the start of the simulation GMTb = DBLE( HH ) + ( DBLE( MM ) / 60e+0_f8 ) ! Here, we are using the central chemistry timestep option. ! Therefore, the first data read of the day will occur not at ! 00:00 GMT, but offset by a small amount (as diagnosed by ! function ITS_TIME_FOR_EMIS). IS_NEW_DAY = ( GMT < GMTb+TS .and. ITS_TIME_FOR_EMIS() ) ENDIF ELSE !============================================================== ! FOR EACH NEW DAY !============================================================== IF ( NO_CENTRAL ) THEN ! Here, we are not using the central chemistry timestep. ! Therefore, the first data read of this day should occur ! at 00:00 GMT. IS_NEW_DAY = ( NHMS == 000000 ) ELSE ! Here, we are using the central chemistry timestep option. ! Therefore, the first data read of the day will occur not at ! 00:00 GMT, but offset by a small amount (as diagnosed by ! function ITS_TIME_FOR_EMIS). IS_NEW_DAY = ( GMT < TS .and. ITS_TIME_FOR_EMIS() ) ENDIF ENDIF END FUNCTION ITS_A_NEW_DAY !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Its_A_New_Hour ! ! !DESCRIPTION: Function ITS\_A\_NEW\_HOUR returns TRUE if it's the first ! timestep of a new hour (it also returns TRUE on the first timestep of the ! run). This is useful for setting flags for reading in data. (bmy, 4/1/04) !\\ !\\ ! !INTERFACE: ! FUNCTION ITS_A_NEW_HOUR( ) RESULT( IS_NEW_HOUR ) ! ! !RETURN VALUE: ! LOGICAL :: IS_NEW_HOUR ! ! !REVISION HISTORY: ! 01 Apr 2004 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC !================================================================= ! ITS_A_NEW_HOUR begins here! !================================================================= IF ( MOD( NHMS, 10000 ) == 0 ) THEN ! Test if it's 0 GMT IS_NEW_HOUR = .TRUE. ELSE IF ( NYMD == NYMDb .and. NHMS == NHMSb ) THEN ! Also return TRUE if it's the start of the run ! (since files will need to be read in from disk) IS_NEW_HOUR = .TRUE. ELSE ! Otherwise, it's not a new year IS_NEW_HOUR = .FALSE. ENDIF END FUNCTION ITS_A_NEW_HOUR !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Print_Current_Time ! ! !DESCRIPTION: Subroutine PRINT\_CURRENT\_TIME prints the date, and UTC time ! of a GEOS-Chem simulation. !\\ !\\ ! !INTERFACE: ! SUBROUTINE PRINT_CURRENT_TIME ! ! !REVISION HISTORY: ! 21 Mar 2003 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! Write quantities WRITE( 6, 100 ) YEAR, MONTH, DAY, HOUR, MINUTE ! Format string 100 FORMAT( '---> DATE: ', i4.4, '/', i2.2, '/', i2.2, & ' UTC: ', i2.2, ':', i2.2 ) END SUBROUTINE PRINT_CURRENT_TIME !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Timestamp_String ! ! !DESCRIPTION: Function TIMESTAMP\_STRING returns a formatted string ! "YYYY/MM/DD hh:mm" for the a date and time specified by YYYYMMDD and hhmmss. ! If YYYYMMDD and hhmmss are omitted, then TIMESTAMP\_STRING will create a ! formatted string for the current date and time. !\\ !\\ ! !INTERFACE: ! FUNCTION TIMESTAMP_STRING( YYYYMMDD, HHMMSS ) RESULT( TIME_STR ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN), OPTIONAL :: YYYYMMDD ! YYYY/MM/DD date INTEGER, INTENT(IN), OPTIONAL :: HHMMSS ! hh:mm:ss time ! ! !RETURN VALUE: ! CHARACTER(LEN=16) :: TIME_STR ! ! !REVISION HISTORY: ! 21 Mar 2003 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: THISYEAR, THISMONTH, THISDAY INTEGER :: THISHOUR, THISMINUTE, THISSECOND ! If YYYYMMDD is passed, then use that date. Otherwise use the ! current date stored in global variables YEAR, MONTH, DAY. IF ( PRESENT( YYYYMMDD ) ) THEN CALL YMD_EXTRACT( YYYYMMDD, THISYEAR, THISMONTH, THISDAY ) ELSE THISYEAR = YEAR THISMONTH = MONTH THISDAY = DAY ENDIF ! If HHMMSS is passed, then use that time. Otherwise use the ! current time stored in global variables HOUR and MINUTE. IF ( PRESENT( HHMMSS ) ) THEN CALL YMD_EXTRACT( HHMMSS, THISHOUR, THISMINUTE, THISSECOND ) ELSE THISHOUR = HOUR THISMINUTE = MINUTE ENDIF ! For other platforms, we can just use a FORTRAN internal write WRITE( TIME_STR, 100 ) THISYEAR, THISMONTH, THISDAY, THISHOUR, THISMINUTE ! Format statement 100 FORMAT( i4.4, '/', i2.2, '/', i2.2, ' ', i2.2, ':', i2.2 ) END FUNCTION TIMESTAMP_STRING !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ymd_Extract ! ! !DESCRIPTION: Subroutine YMD\_EXTRACT extracts the year, month, and date ! from an integer variable in YYYYMMDD format. It can also extract the ! hours, minutes, and seconds from a variable in HHMMSS format. !\\ !\\ ! !INTERFACE: ! SUBROUTINE YMD_EXTRACT( NYMD, Y, M, D ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: NYMD ! YYYY/MM/DD format date ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: Y, M, D ! Separated YYYY, MM, DD values ! ! !REVISION HISTORY: ! 21 Nov 2001 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(f8) :: REM ! Extract YYYY from YYYYMMDD Y = INT( DBLE( NYMD ) / 1e+4_f8 ) ! Extract MM from YYYYMMDD REM = DBLE( NYMD ) - ( DBLE( Y ) * 1e+4_f8 ) M = INT( REM / 1e+2_f8 ) ! Extract DD from YYYYMMDD REM = REM - ( DBLE( M ) * 1e+2_f8 ) D = INT( REM ) END SUBROUTINE YMD_EXTRACT !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Expand_Date ! ! !DESCRIPTION: Subroutine EXPAND\_DATE replaces "YYYYMMDD" and "hhmmss" ! tokens within a filename string with the actual values. !\\ !\\ ! !INTERFACE: ! SUBROUTINE EXPAND_DATE( FILENAME, YYYYMMDD, HHMMSS ) ! ! !USES: ! USE CHARPAK_MOD, ONLY : STRREPL ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: YYYYMMDD ! YYYY/MM/DD date INTEGER, INTENT(IN) :: HHMMSS ! hh:mm:ss time ! ! !INPUT/OUTPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(INOUT) :: FILENAME ! Filename to modify ! ! !REVISION HISTORY: ! 27 Jun 2002 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: YYYY, YY, MM, DD, HH, II, SS CHARACTER(LEN=2) :: MM_STR, DD_STR CHARACTER(LEN=2) :: HH_STR, II_STR, SS_STR CHARACTER(LEN=2) :: YY_STR CHARACTER(LEN=4) :: YYYY_STR !================================================================= ! EXPAND_DATE begins here! !================================================================= ! Extract today's date into year, month, and day sections CALL YMD_EXTRACT( YYYYMMDD, YYYY, MM, DD ) ! Extract today's time into HH, MM, and SS sections ! (rename minutes to II so as not to overwrite MM) CALL YMD_EXTRACT( HHMMSS, HH, II, SS ) ! 2-digit year number (e.g. "97" instead of "1997") YY = MODULO( YYYY, 100 ) ! For other platforms, use an F90 internal write (bmy, 9/29/03) WRITE( YYYY_STR, '(i4.4)' ) YYYY WRITE( YY_STR, '(i2.2)' ) YY WRITE( MM_STR, '(i2.2)' ) MM WRITE( DD_STR, '(i2.2)' ) DD WRITE( HH_STR, '(i2.2)' ) HH WRITE( II_STR, '(i2.2)' ) II ! Replace YYYY, MM, DD, HH tokens w/ actual values CALL STRREPL( FILENAME, 'YYYY', YYYY_STR ) CALL STRREPL( FILENAME, 'YY', YY_STR ) CALL STRREPL( FILENAME, 'MM', MM_STR ) CALL STRREPL( FILENAME, 'DD', DD_STR ) CALL STRREPL( FILENAME, 'hh', HH_STR ) CALL STRREPL( FILENAME, 'mm', II_STR ) END SUBROUTINE EXPAND_DATE !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Valid_Date ! ! !DESCRIPTION: Function VALID\_DATE returns TRUE if the input date is ! a valid calendar date, or FALSE otherwise. !\\ !\\ ! !INTERFACE: ! FUNCTION Valid_Date( YYYYMMDD ) RESULT( Is_Valid ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: YYYYMMDD ! YYYY/MM/DD date ! ! !RETURN VALUE: ! LOGICAL :: Is_Valid ! =T if YYYYMMDD is a valid date ! =F otherwise ! ! !REVISION HISTORY: ! 06 Jul 2018 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! LOGICAL :: Is_Leap INTEGER :: YYYY, MM, DD, HH, II, SS, LastDay !================================================================= ! VALID_DATE begins here! !================================================================= ! Assume success until otherwise proven Is_Valid = .TRUE. ! Extract the date value into year, month, and day sections CALL YMD_EXTRACT( YYYYMMDD, YYYY, MM, DD ) ! Exit if month is out of range IF ( MM < 1 .or. MM > 12 ) THEN Is_Valid = .FALSE. RETURN ENDIF ! Get the last day of the month SELECT CASE( MM ) ! Check for leap year day if it's Feb CASE( 2 ) IF ( ITS_A_LEAPYEAR( YYYY ) ) THEN LastDay = 29 ELSE LastDay = 28 ENDIF ! 30 days hath September, April, June, and November CASE( 4, 6, 9, 11 ) LastDay = 30 ! All the rest have 31 CASE DEFAULT LastDay = 31 END SELECT ! Exit if the day is out of range IF ( DD < 1 .or. DD > LastDay ) THEN Is_Valid = .FALSE. RETURN ENDIF END FUNCTION Valid_Date !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Valid_Time ! ! !DESCRIPTION: Function VALID\_TIME returns TRUE if the input date is ! a valid clock time, or FALSE otherwise. !\\ !\\ ! !INTERFACE: ! FUNCTION Valid_Time( HHMMSS ) RESULT( Is_Valid ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: HHMMSS ! HH:MM:SS time ! ! !RETURN VALUE: ! LOGICAL :: Is_Valid ! =T if HHMMSS is a valid time ! =F otherwise ! ! !REVISION HISTORY: ! 06 Jul 2018 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: HH, MM, SS !================================================================= ! VALID_TIME begins here! !================================================================= ! Assume success until otherwise proven Is_Valid = .TRUE. ! Extract the time value into hour, minute, and second sections CALL YMD_EXTRACT( HHMMSS, HH, MM, SS ) ! Exit if hours are out of range IF ( HH < 0 .or. HH > 23 ) THEN Is_Valid = .FALSE. RETURN ENDIF ! Exit if minutes are out of range IF ( MM < 0 .or. MM > 59 ) THEN Is_Valid = .FALSE. RETURN ENDIF ! Exit if seconds are out of range IF ( SS < 0 .or. SS > 59 ) THEN Is_Valid = .FALSE. RETURN ENDIF END FUNCTION Valid_Time !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: System_Date_Time ! ! !DESCRIPTION: Subroutine SYSTEM\_DATE\_TIME returns the actual local date ! and time (as opposed to the model date and time). !\\ !\\ ! !INTERFACE: ! SUBROUTINE SYSTEM_DATE_TIME( SYS_NYMD, SYS_NHMS ) ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: SYS_NYMD ! System date in YYYY/MM/DD format INTEGER, INTENT(OUT) :: SYS_NHMS ! System time in YYYY/MM/DD format ! ! !REMARKS: ! Uses the F90 intrinsic function DATE_AND_TIME. ! ! !REVISION HISTORY: ! 02 May 2005 - R. Yantosca - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: V(8) CHARACTER(LEN=8) :: D CHARACTER(LEN=10) :: T !================================================================= ! SYSTEM_DATE_TIME begins here! !================================================================= ! Initialize D = 'ccyymmdd' T = 'hhmmss.sss' ! Call the F90 intrinsic routine DATE_AND_TIME ! Return values are (/YYYY, MM, DD, GMT_MIN, HH, MM, SS, MSEC/) CALL DATE_AND_TIME( DATE=D, TIME=T, VALUES=V ) ! Save to YYYYMMDD and HHMMSS format SYS_NYMD = ( V(1) * 10000 ) + ( V(2) * 100 ) + V(3) SYS_NHMS = ( V(5) * 10000 ) + ( V(6) * 100 ) + V(7) END SUBROUTINE SYSTEM_DATE_TIME !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: System_Timestamp ! ! !DESCRIPTION: Function SYSTEM\_TIMESTAMP returns a 16 character string with ! the system date and time in YYYY/MM/DD HH:MM format. !\\ !\\ ! !INTERFACE: ! FUNCTION SYSTEM_TIMESTAMP() RESULT( STAMP ) ! ! !RETURN VALUE: ! CHARACTER(LEN=16) :: STAMP ! ! !REVISION HISTORY: ! 03 May 2005 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: SYS_NYMD, SYS_NHMS !================================================================= ! SYSTEM_TIMESTAMP begins here! !================================================================= ! Get system date and time CALL SYSTEM_DATE_TIME( SYS_NYMD, SYS_NHMS ) ! Create a string w/ system date & time STAMP = TIMESTAMP_STRING( SYS_NYMD, SYS_NHMS ) END FUNCTION SYSTEM_TIMESTAMP !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: timestamp_diag ! ! !DESCRIPTION: Subroutine TIMESTAMP\_DIAG save timestamps to be used in ! filenames for diagnostics. We do not want the time when the diagnostic ! is saved but the time for previous dynamic time step because midnight is ! considered as the beginning of next day (and not ending of previous day). !\\ !\\ ! !INTERFACE: ! SUBROUTINE TIMESTAMP_DIAG ! ! !REVISION HISTORY: ! 12 Aug 2009 - C. Carouge - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC NYMD_DIAG = GET_NYMD() END SUBROUTINE TIMESTAMP_DIAG !EOC #if defined( ESMF_ ) || defined( MODEL_ ) !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Accept_External_Date_Time ! ! !DESCRIPTION: Subroutine ACCEPT\_EXTERNAL\_DATE\_TIME sets the date and ! time variables in time\_mod.F90 with the values obtained from an external ! GCM (such as NASA's GEOS-5 GCM). The various date \& time values from ! the GCM are passed as arguments. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Accept_External_Date_Time( & value_NYMDb, value_NYMDe, value_NYMD, & value_NHMSb, value_NHMSe, value_NHMS, & value_YEAR, value_MONTH, value_DAY, value_DAYOFYR, & value_HOUR, value_MINUTE, value_SECOND, & value_UTC, value_HELAPSED, value_TS_CHEM, & value_TS_CONV, value_TS_DYN, value_TS_EMIS, RC ) ! ! !USES: ! USE ErrCode_Mod USE JULDAY_MOD, ONLY : JULDAY USE JULDAY_MOD, ONLY : CALDATE ! ! !INPUT PARAMETERS: ! INTEGER, OPTIONAL :: value_NYMDb ! YYYY/MM/DD @ start of run INTEGER, OPTIONAL :: value_NYMDe ! YYYY/MM/DD @ end of run INTEGER, OPTIONAL :: value_NYMD ! YYYY/MM/DD @ current time INTEGER, OPTIONAL :: value_NHMSb ! hh:mm:ss @ start of run INTEGER, OPTIONAL :: value_NHMSe ! hh:mm:ss @ end of run INTEGER, OPTIONAL :: value_NHMS ! hh:mm:ss @ current time INTEGER, OPTIONAL :: value_YEAR ! UTC year INTEGER, OPTIONAL :: value_MONTH ! UTC month INTEGER, OPTIONAL :: value_DAY ! UTC day INTEGER, OPTIONAL :: value_DAYOFYR ! UTC day of year INTEGER, OPTIONAL :: value_HOUR ! UTC hour INTEGER, OPTIONAL :: value_MINUTE ! UTC minute INTEGER, OPTIONAL :: value_SECOND ! UTC second REAL(f4), OPTIONAL :: value_UTC ! UTC time [hrs] REAL(f4), OPTIONAL :: value_HELAPSED ! Elapsed hours INTEGER, OPTIONAL :: value_TS_CHEM ! Chemistry timestep [sec] INTEGER, OPTIONAL :: value_TS_CONV ! Convection timestep [sec] INTEGER, OPTIONAL :: value_TS_DYN ! Dynamic timestep [sec] INTEGER, OPTIONAL :: value_TS_EMIS ! Emissions timestep [sec] ! ! !OUTPUT ARGUMENTS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! The date and time values are obtained via the Extract_ subroutine in ! module file GEOSCHEMchem_GridCompMod.F90. ! ! !REVISION HISTORY: ! 06 Dec 2012 - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(f8) :: A, B, JD, THISDAY, TMP !================================================================= ! Set time/date values of time_mod.F90 from the ESMF inputs !================================================================= IF ( PRESENT( value_NYMDb ) ) NYMDb = value_NYMdb IF ( PRESENT( value_NYMDe ) ) NYMDe = value_NYMDe IF ( PRESENT( value_NYMD ) ) NYMD = value_NYMD IF ( PRESENT( value_NHMSb ) ) NHMSb = value_NHMSb IF ( PRESENT( value_NHMSe ) ) NHMSe = value_NHMSe IF ( PRESENT( value_NHMS ) ) NHMS = value_NHMS IF ( PRESENT( value_YEAR ) ) YEAR = value_YEAR IF ( PRESENT( value_MONTH ) ) MONTH = value_MONTH IF ( PRESENT( value_DAY ) ) DAY = value_DAY IF ( PRESENT( value_DAYOFYR ) ) DAY_OF_YEAR = value_DAYOFYR IF ( PRESENT( value_HOUR ) ) HOUR = value_HOUR IF ( PRESENT( value_MINUTE ) ) MINUTE = value_MINUTE IF ( PRESENT( value_SECOND ) ) SECOND = value_SECOND IF ( PRESENT( value_TS_CHEM ) ) TS_CHEM = value_TS_CHEM IF ( PRESENT( value_TS_CONV ) ) TS_CONV = value_TS_CONV IF ( PRESENT( value_TS_DYN ) ) TS_DYN = value_TS_DYN IF ( PRESENT( value_TS_EMIS ) ) TS_EMIS = value_TS_EMIS ! Special handling for GMT to avoid roundoff error IF ( PRESENT( value_UTC ) ) THEN TMP = value_UTC GMT = TMP ENDIF !================================================================= ! Compute various other derived time/date values !================================================================= ! Elapsed seconds since the start of the run IF ( PRESENT( value_HELAPSED ) ) THEN ELAPSED_SEC = value_HELAPSED * 3600 ENDIF ! TAUb (hours since 0 UTC on 01 Jan 1985) @ start of simulation IF ( PRESENT( value_NYMDb ) .and. PRESENT( value_NHMSb ) ) THEN TMP = ( GET_JD( NYMDb, NHMSb ) - JD85 ) * 24e+0_f8 TAUb = DBLE( TMP ) ENDIF ! TAUe (hours since 0 UTC on 01 Jan 1985) @ end of simulation IF ( PRESENT( value_NYMDe ) .and. PRESENT( value_NHMSe ) ) THEN TMP = ( GET_JD( NYMDe, NHMSe ) - JD85 ) * 24e+0_f8 TAUe = DBLE( TMP ) ENDIF ! TAU value ( hours since 0 UTC on 01 Jan 1985) IF ( PRESENT( value_NYMD ) .and. PRESENT( value_NHMS ) ) THEN TMP = ( GET_JD( NYMD, NHMS ) - JD85 ) * 24e+0_f8 TAU = DBLE( TMP ) ENDIF ! Season index (1=DJF, 2=MAM, 3=JJA, 4=SON) SELECT CASE ( MONTH ) CASE ( 12, 1, 2 ) NSEASON = 1 CASE ( 3, 4, 5 ) NSEASON = 2 CASE ( 6, 7, 8 ) NSEASON = 3 CASE ( 9, 10, 11 ) NSEASON = 4 END SELECT ! Day of week w/r/t the GMT date ! Use same algorithm as in routine SET_CURRENT_TIME THISDAY = DAY + ( GMT / 24e+0_f8 ) JD = JULDAY( YEAR, MONTH, THISDAY ) A = ( JD + 1.5e+0_f8 ) / 7e+0_f8 B = ( A - INT( A ) ) * 7e+0_f8 B = INT( NINT( B*1e+5_f8 + SIGN( 5e+0_f8, B ) ) & / 10e+0_f8 ) / 1e+4_f8 DAY_OF_WEEK = INT( B ) ! Return successfully RC = GC_SUCCESS END SUBROUTINE Accept_External_Date_Time !EOC #endif END MODULE TIME_MOD ================================================ FILE: GeosUtil/timers_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: timers_mod.F90 ! ! !DESCRIPTION: Module TIMERS\_MOD is used to track and time how long ! specified parts of GEOS-Chem take to run. !\\ !\\ ! !INTERFACE: ! MODULE Timers_Mod ! ! !USES: ! USE Precision_Mod IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: Timer_Setup ! Setup timers PUBLIC :: Timer_Add ! Adds a timer PUBLIC :: Timer_Start ! Starts a timer ticking PUBLIC :: Timer_End ! Stops a timer ticking PUBLIC :: Timer_Sum_Loop ! Sums the timers within a loop PUBLIC :: Timer_Print ! Prints the specified timer PUBLIC :: Timer_PrintAll ! Prints all timers PUBLIC :: Timer_StopAll ! Stops all currently running timers ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: Timer_Find ! Finds the specified timer PRIVATE :: Timer_PrintNum ! Prints the timer by number PRIVATE :: Timer_PrintHeaders ! Writes headers for logfile & JSON output PRIVATE :: Timer_TheTime ! Returns the current time in milliseconds PRIVATE :: Timer_TimePrint ! Formats the seconds when printing PRIVATE :: Timer_TimePrint_JSON ! Prints the timer to JSON format ! ! !REMARKS: ! This module helps track valuable timing information. ! ! !REVISION HISTORY: ! 23 Jul 2015 - M. Yannetti - Initial version. ! See https://github.com/geoschem/geos-chem for complete history !EOP !----------------------------------------------------------------------------- !BOC ! ! !PRIVATE TYPES: ! ! What mode the timers should be in. Defaults to 1. ! 1: CPU Time ! 2: Real Time ! 3: MPI time INTEGER :: TimerMode = 1 ! Current number of timers. Starts at 0. INTEGER :: TimerCurrentSize = 0 ! Maximum Supported Timers. Increasing will increase memory footprint. INTEGER, PARAMETER :: TimerMaxSize = 35 ! Number of threads for parallel loops INTEGER :: nThreads = 1 REAL(f8) :: d_nThreads = 1.0_f8 ! The definition of the GC_Timer type. TYPE GC_Timer LOGICAL :: ENABLED CHARACTER(LEN=30) :: TIMER_NAME REAL(f8) :: TOTAL_TIME REAL(f8), ALLOCATABLE :: TOTAL_TIME_LOOP(:) REAL(f8) :: START_TIME REAL(f8), ALLOCATABLE :: START_TIME_LOOP(:) REAL(f8) :: END_TIME REAL(f8), ALLOCATABLE :: END_TIME_LOOP(:) END TYPE GC_Timer ! The array of timers. Determined by TimerMaxSize. TYPE(GC_Timer), DIMENSION(TimerMaxSize) :: SavedTimers CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Timer_Setup ! ! !DESCRIPTION: Set up the Timer for first use. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Timer_Setup( TheMode ) ! ! !USES: ! USE ErrCode_Mod ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: TheMode ! Timer mode ! 1:CPU time, 2:Real time, 3:MPI time ! ! !REMARKS: ! This currently only needs to run if you want to manually set the mode. ! ! !REVISION HISTORY: ! 24 Jul 2015 - M. Yannetti - Initial version. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: RC #ifdef MODEL_CLASSIC #ifndef NO_OMP INTEGER, EXTERNAL :: OMP_GET_NUM_THREADS #endif #endif ! Strings CHARACTER(LEN=255) :: WarnMsg, ThisLoc !======================================================================= ! Timer_Setup begins here !======================================================================= ! Initialize RC = GC_SUCCESS WarnMsg = '' ThisLoc = ' -> at Timer_Setup (in module GeosUtil/timers_mod.F90)' ! Warning if timer mode is incorrect IF ( TheMode .lt. 1 ) THEN WarnMsg = 'INVALID TIMER TYPE! ' // & 'The following timer modes are supported: ' // & '(1) CPU time, (2) Real time, or (3) MPI time.' CALL GC_Warning( WarnMsg, RC, ThisLoc ) RETURN ENDIF TimerMode = TheMode #ifdef MODEL_CLASSIC #ifndef NO_OMP ! Determine the number of threads available for parallel loops !$OMP PARALLEL nThreads = OMP_GET_NUM_THREADS() d_nThreads = DBLE( nThreads ) !$OMP END PARALLEL #endif #endif ! Debug !PRINT*, "Timer_Setup: Done setting up GEOS-Chem timers" END SUBROUTINE Timer_Setup !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Timer_Add ! ! !DESCRIPTION: Adds a new timer to the timer list. Returns status of success. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Timer_Add( TimerName, RC ) ! ! !USES: ! USE ErrCode_Mod ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: TimerName ! Name for timer ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: RC ! Success / Failure ! ! !REMARKS: ! This only fails if the timers are full. ! ! !REVISION HISTORY: ! 24 Jul 2015 - M. Yannetti - Initial version. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=255) :: ErrMsg, ThisLoc !======================================================================= ! Timer_Add begins here! !======================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Timer_Add (in module GeosUtil/timers_mod.F90)' ! Now we are sure that timers are enabled ! We need to check if the timers are full IF (TimerCurrentSize < TimerMaxSize) THEN ! There's room ! Increase the timer current size by one TimerCurrentSize = TimerCurrentSize + 1 ! Set the defaults of the new Timer SavedTimers(TimerCurrentSize)%ENABLED = .false. SavedTimers(TimerCurrentSize)%TIMER_NAME = TimerName SavedTimers(TimerCurrentSize)%TOTAL_TIME = 0.0_f8 SavedTimers(TimerCurrentSize)%START_TIME = 0.0_f8 SavedTimers(TimerCurrentSize)%END_TIME = 0.0_f8 ! Setup arrays for timers called within parallel loops ALLOCATE( SavedTimers(TimerCurrentSize)%START_TIME_LOOP(nThreads), & STAT=RC ) IF ( RC /= GC_SUCCESS ) RETURN SavedTimers(TimerCurrentSize)%START_TIME_LOOP = 0.0_f8 ALLOCATE( SavedTimers(TimerCurrentSize)%END_TIME_LOOP(nThreads), & STAT=RC ) IF ( RC /= GC_SUCCESS ) RETURN SavedTimers(TimerCurrentSize)%END_TIME_LOOP = 0.0_f8 ALLOCATE( SavedTimers(TimerCurrentSize)%TOTAL_TIME_LOOP(nThreads), & STAT=RC ) IF ( RC /= GC_SUCCESS ) RETURN SavedTimers(TimerCurrentSize)%TOTAL_TIME_LOOP = 0.0_f8 ! Debug !PRINT*, TimerName, "timer added at slot ", TimerCurrentSize ! Success. RC = GC_SUCCESS ELSE ! There's not room ! Exit with error PRINT*," TimerCurrentSize = ", TimerCurrentSize PRINT*," TimerMaxSize = ", TimerMaxSize ErrMsg = 'Maximum number of timers is reached!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF END SUBROUTINE Timer_Add !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Timer_Start ! ! !DESCRIPTION: Starts a timer ticking. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Timer_Start( TimerName, RC, InLoop, ThreadNum ) ! ! !USES: ! USE ErrCode_Mod ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: TimerName ! Name for timer LOGICAL, OPTIONAL, INTENT(IN) :: InLoop ! Called within a loop? INTEGER, OPTIONAL, INTENT(IN) :: ThreadNum ! Current thread number ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: RC ! Success / Failure ! ! !REMARKS: ! This must be called to start a timer ticking. ! ! !REVISION HISTORY: ! 24 Jul 2015 - M. Yannetti - Initial version. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: LoopTimer ! Is this a timer in a DO loop? INTEGER :: TimerLoc ! Timer number REAL(f8) :: TheTime ! Returned Time from method ! Strings CHARACTER(LEN=30) :: TempTimerName CHARACTER(LEN=255) :: ErrMsg, ThisLoc !======================================================================= ! Timer_Start begins here! !======================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Timer_Start (in module GeosUtil/timers_mod.F90)' ! Is this timer in a parallel loop? LoopTimer = .FALSE. IF ( PRESENT(InLoop) ) LoopTimer = .TRUE. ! Determine the timer index TempTimerName = TimerName TimerLoc = Timer_Find( TempTimerName ) ! Exit if timer is not found IF (TimerLoc .eq. 0) THEN ErrMsg = 'Timer not found: ' // TRIM( TimerName ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( .not. LoopTimer ) THEN ! Now we do some minor error checking IF ( SavedTimers(TimerLoc)%ENABLED ) THEN ErrMsg = 'Timer already running: ' // TRIM( TimerName ) CALL GC_Warning( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Timer isn't enabled, it's been found, so we enable it SavedTimers(TimerLoc)%ENABLED = .true. ENDIF ! And we note the current time ! 1: CPU Time ! 2: Real Time ! 3: MPI time IF ( TimerMode .eq. 1 ) THEN TheTime = Timer_TheTime() ENDIF IF ( LoopTimer ) THEN ! Debug !PRINT*, TRIM(TempTimerName), ": Thread=", ThreadNum, ", Start=", TheTime ! Get the start time SavedTimers(TimerLoc)%START_TIME_LOOP(ThreadNum) = TheTime ELSE ! Debug !PRINT*, TRIM(TempTimerName), ": Start=", TheTime ! Get the start time SavedTimers(TimerLoc)%START_TIME = TheTime ENDIF END SUBROUTINE Timer_Start !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Timer_End ! ! !DESCRIPTION: Stops a timer ticking. Adds elapsed time to total. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Timer_End( TimerName, RC, InLoop, ThreadNum ) ! ! !USES: ! USE ErrCode_Mod ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: TimerName ! Name for timer LOGICAL, OPTIONAL, INTENT(IN) :: InLoop ! Called within a loop? INTEGER, OPTIONAL, INTENT(IN) :: ThreadNum ! Current thread number ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: RC ! Success / Failure ! ! !REMARKS: ! Without this routine being called, a timer will not add to its total. ! ! !REVISION HISTORY: ! 24 Jul 2015 - M. Yannetti - Initial version. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: LoopTimer ! Is this a timer in a DO loop? INTEGER :: TimerLoc ! Timer number REAL(f8) :: TheTime ! Returned Time from method REAL(f8) :: Diff ! Difference in times ! Strings CHARACTER(LEN=30) :: TempTimerName CHARACTER(LEN=255) :: ErrMsg, ThisLoc !======================================================================= ! Timer_End begins here! !======================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Timer_End (in module GeosUtil/timers_mod.F90)' ! Is this timer in a parallel loop? LoopTimer = .FALSE. IF ( PRESENT(InLoop) ) LoopTimer = .TRUE. ! Determine timer index TempTimerName = TimerName TimerLoc = Timer_Find( TempTimerName ) ! Exit if timer is not found IF (TimerLoc .eq. 0) THEN ErrMsg = 'Timer not found: ' // TRIM( TimerName ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( .not. LoopTimer ) THEN ! Now we do some minor error checking IF ( .not. SavedTimers(TimerLoc)%ENABLED ) THEN ErrMsg = 'Timer is not running: ' // TRIM( TimerName ) CALL GC_Warning( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF ! And we note the current time ! 1: CPU Time ! 2: Real Time ! 3: MPI time IF ( TimerMode .eq. 1 ) THEN TheTime = Timer_TheTime() ENDIF IF ( LoopTimer ) THEN ! Debug !PRINT*, TRIM(TempTimerName), ": Thread=", ThreadNum, ", End =", TheTime ! Get the end time SavedTimers(TimerLoc)%END_TIME_LOOP(ThreadNum) = TheTime ! Get the difference in stard and end times for this thread Diff = SavedTimers(TimerLoc)%END_TIME_LOOP(ThreadNum) - & SavedTimers(TimerLoc)%START_TIME_LOOP(ThreadNum) ! Error check... IF ( Diff .lt. 0 ) THEN ErrMsg = 'Timer returned invalid value: ' // TRIM( TimerName ) CALL GC_Warning( ErrMsg, RC, ThisLoc ) Diff = 0 ENDIF ! Asd difference to current value of total time SavedTimers(TimerLoc)%TOTAL_TIME_LOOP(ThreadNum) = & SavedTimers(TimerLoc)%TOTAL_TIME_LOOP(ThreadNum) + Diff ! Debug !Print*, TRIM(TempTimerName), ": Thread=", ThreadNum, ", Diff=", Diff, ", TotalTime=", SavedTimers(TimerLoc)%TOTAL_TIME_LOOP(ThreadNum) ELSE ! Timer is enabled, it's been found, so we disable it SavedTimers(TimerLoc)%ENABLED = .false. ! Debug !PRINT*, TRIM(TempTimerName), ": End =", TheTime ! Get the end time SavedTimers(TimerLoc)%END_TIME = TheTime ! Get the difference in start and end times Diff = SavedTimers(TimerLoc)%END_TIME - SavedTimers(TimerLoc)%START_TIME ! Error check... IF ( Diff .lt. 0 ) THEN ErrMsg = 'Timer returned invalid value: ' // TRIM( TimerName ) CALL GC_Warning( ErrMsg, RC, ThisLoc ) Diff = 0 ENDIF ! Add difference to current value of total time SavedTimers(TimerLoc)%TOTAL_TIME = SavedTimers(TimerLoc)%TOTAL_TIME + & Diff ENDIF END SUBROUTINE Timer_End !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Timer_Sum_Loop ! ! !DESCRIPTION: Sums elapsed time across parallel threads to obtain the total. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Timer_Sum_Loop( TimerName, RC ) ! ! !USES: ! USE ErrCode_Mod ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: TimerName ! Name for timer ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: RC ! Success / Failure ! ! !REMARKS: ! Without this routine being called, a timer will not add to its total. ! ! !REVISION HISTORY: ! 30 Apr 2020 - M. Sulprizio- Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N INTEGER :: TimerLoc ! Timer number REAL(f8) :: TheTime ! Returned Time from method REAL(f8) :: Diff ! Difference in times for each thread REAL(f8) :: TotalDiff ! Total difference in times ! Strings CHARACTER(LEN=30) :: TempTimerName CHARACTER(LEN=255) :: ErrMsg, ThisLoc !======================================================================= ! Timer_Sum_Loop begins here! !======================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Timer_Sum_Loop (in module GeosUtil/timers_mod.F90)' TotalDiff= 0.0 ! Determine timer index TempTimerName = TimerName TimerLoc = Timer_Find( TempTimerName ) ! Exit if timer is not found IF (TimerLoc .eq. 0) THEN ErrMsg = 'Timer not found: ' // TRIM( TimerName ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Sum the total time across threads SavedTimers(TimerLoc)%TOTAL_TIME = & SUM(SavedTimers(TimerLoc)%TOTAL_TIME_LOOP) / d_nThreads ! Debug !Print*, 'Timer:', TRIM(TimerName) !Print*, 'Thread totals:', SavedTimers(TimerLoc)%TOTAL_TIME_LOOP !Print*, 'Total time', SavedTimers(TimerLoc)%TOTAL_TIME END SUBROUTINE Timer_Sum_Loop !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Timer_Print ! ! !DESCRIPTION: Prints the specified Timer by name. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Timer_Print( TimerName, RC, LunJson ) ! ! !USES: ! USE ErrCode_Mod ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: TimerName ! Name for timer INTEGER, OPTIONAL :: LunJson ! Logical unit for JSON ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: RC ! Success / Failure ! ! !REMARKS: ! This is useful if you only want to print a single timer. ! ! !REVISION HISTORY: ! 24 Jul 2015 - M. Yannetti - Initial version. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: TimerLoc ! Timer number ! Strings CHARACTER(LEN=30) :: TempTimerName CHARACTER(LEN=255) :: ErrMsg, ThisLoc !======================================================================= ! Timer_Print begins here! !======================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Timer_Print (in module GeosUtil/timers_mod.F90)' TempTimerName = TimerName TimerLoc = Timer_Find( TempTimerName ) ! Exit if timer is not found IF ( TimerLoc == 0 ) THEN ErrMsg = 'Timer not found: ' // TRIM( TimerName ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Print the timer output; write to JSON if LunJson is passed IF ( PRESENT( LunJson ) ) THEN CALL Timer_PrintNum( TimerLoc, LunJson ) ELSE CALL Timer_PrintNum( TimerLoc ) ENDIF END SUBROUTINE Timer_Print !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Timer_PrintAll ! ! !DESCRIPTION: Prints all Timers to log file. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Timer_PrintAll( Input_Opt, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE inquireMod, ONLY : findFreeLun ! ! !OUTPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success / Failure ! ! !REMARKS: ! This prints all timers in the order added. ! ! !REVISION HISTORY: ! 24 Jul 2015 - M. Yannetti - Initial version. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I, LunJson ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc !======================================================================= ! Timer_PrintAll begins here! !======================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Timer_PrintAll (in module GeosUtil/timers_mod.F90)' ! Exit if no timers were turned on IF ( TimerCurrentSize < 1 ) THEN ErrMsg = 'No timers are defined!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Print header info IF ( Input_Opt%amIRoot ) THEN ! Find LUN and open a file for JSON output LunJson = findFreeLun() OPEN( LunJson, FILE='gcclassic_timers.json', FORM='formatted' ) ! Print headers for both logfile and JSON output CALL Timer_PrintHeaders( LunJson ) ! Print formatted output to stdout and to a JSON file DO I = 1, TimerCurrentSize CALL Timer_PrintNum( I, LunJson ) ! Deallocate loop timer arrays IF ( ALLOCATED( SavedTimers(I)%START_TIME_LOOP ) ) THEN DEALLOCATE( SavedTimers(I)%START_TIME_LOOP, STAT=RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( SavedTimers(I)%END_TIME_LOOP ) ) THEN DEALLOCATE( SavedTimers(I)%END_TIME_LOOP, STAT=RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( SavedTimers(I)%TOTAL_TIME_LOOP ) ) THEN DEALLOCATE( SavedTimers(I)%TOTAL_TIME_LOOP, STAT=RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF ENDDO ! Close the JSON file WRITE( LunJson, '(a)' ) ' }' WRITE( LunJson, '(a)' ) '}' CLOSE( LunJson ) ENDIF END SUBROUTINE Timer_PrintAll !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Timer_StopAll ! ! !DESCRIPTION: Stops all Timers. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Timer_StopAll( RC ) ! ! !USES: ! USE ErrCode_Mod ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success / Failure ! ! !REMARKS: ! This stops all currently running timers. Used during crashes. ! ! !REVISION HISTORY: ! 11 Aug 2015 - M. Yannetti - Initial version. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc !======================================================================= ! Timer_StopAll begins here! !======================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Timer_StopAll (in module GeosUtil/timers_mod.F90)' ! Exit if no timers are defined IF ( TimerCurrentSize < 1 ) THEN ErrMsg = 'No timers are defined!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Stop all of the timers DO I = 1, TimerCurrentSize IF ( (SavedTimers(I)%ENABLED) ) THEN PRINT*, "Timer forced to stop due to error: ", & SavedTimers(I)%TIMER_NAME ! Yes, this is inefficient. Should have another function ! written eventually to replace using the normal one. CALL Timer_End( SavedTimers(I)%TIMER_NAME, RC ) ENDIF ENDDO END SUBROUTINE Timer_StopAll !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Timer_PrintNum ! ! !DESCRIPTION: Prints Timer by number. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Timer_PrintNum( SlotNumber, LunJson ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: SlotNumber ! The slot of the timer INTEGER, OPTIONAL :: LunJson ! Logical unit # for JSON file ! ! !REMARKS: ! This actually does the printing, and is called by other print ! routines. ! ! !REVISION HISTORY: ! 24 Jul 2015 - M. Yannetti - Initial version. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC IF ( TimerCurrentSize < 1 ) THEN ! Return if it's empty RETURN ENDIF IF ( (SavedTimers(SlotNumber)%ENABLED) ) THEN PRINT*, "** WARNING: Timer still enabled! " ENDIF ! Print the timer info; write to JSON if LunJson is passed IF ( PRESENT( LunJson ) ) THEN CALL Timer_TimePrint( SlotNumber, LunJson ) ELSE CALL Timer_TimePrint( SlotNumber ) ENDIF END SUBROUTINE Timer_PrintNum !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Timer_Find ! ! !DESCRIPTION: Finds the number of the specified Timer. !\\ !\\ ! !INTERFACE: ! FUNCTION Timer_Find( TimerName ) RESULT ( SlotNumber ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=30), INTENT(IN) :: TimerName ! Name for timer. ! ! !RETURN VALUE: ! INTEGER :: SlotNumber ! The slot of the timer. ! ! !REMARKS: ! This is a private routine. ! ! !REVISION HISTORY: ! 24 Jul 2015 - M. Yannetti - Initial version. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I SlotNumber = 0 IF(TimerCurrentSize .lt. 1) THEN ! Return 0 if it's empty RETURN ENDIF DO I = 1, TimerCurrentSize, 1 IF( TRIM((SavedTimers(I)%TIMER_NAME)) .eq. TRIM(TimerName)) THEN SlotNumber = I ENDIF ENDDO END FUNCTION Timer_Find !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Timer_TheTime ! ! !DESCRIPTION: Returns the current time in milliseconds. !\\ !\\ ! !INTERFACE: ! FUNCTION Timer_TheTime() RESULT ( TotalTime ) ! ! !RETURN VALUE: ! REAL(f8) :: TotalTime ! The current calculated time. ! ! !REMARKS: ! This is a private routine. ! ! !REVISION HISTORY: ! 24 Jul 2015 - M. Yannetti - Initial version. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: TIME_VALUE ! For the function INTEGER :: TIME_CLOCK ! For the function ! Let's call the intrinsic function... CALL SYSTEM_CLOCK(TIME_VALUE, TIME_CLOCK) ! Debug !PRINT*, "TIME_VALUE: ", TIME_VALUE !PRINT*, "TIME_CLOCK: ", TIME_CLOCK !CALL FLUSH(6) TotalTime = REAL(TIME_VALUE) / REAL(TIME_CLOCK) END FUNCTION Timer_TheTime !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Timer_TimePrint ! ! !DESCRIPTION: Formats the time and writes it out to the log file. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Timer_TimePrint( SlotNumber, LunJson ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: SlotNumber ! The slot of the timer INTEGER, OPTIONAL :: LunJson ! File unit for Json write ! ! !REMARKS: ! This is a private subroutine. ! ! !REVISION HISTORY: ! 24 Jul 2015 - M. Yannetti - Initial version. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(f8) :: InputSecs ! Real value of secones REAL(f8) :: SecsLeft ! How many seconds are 'left' INTEGER :: IntSecs ! Same as above, but integer INTEGER :: TotalMS ! Total Milliseconds INTEGER :: TotalSecs ! Total Seconds INTEGER :: TotalMins ! Total Minutes INTEGER :: TotalHours ! Total Hours INTEGER :: TotalDays ! Total Days ! Strings CHARACTER(LEN=100) :: OutputStr ! Combined output string CHARACTER(LEN=15) :: JsonDhms CHARACTER(LEN=14) :: JsonSecs CHARACTER(LEN=10) :: TempStr ! Needed to remove whitespace. CHARACTER(LEN=2) :: DD, HH, MM, SS CHARACTER(LEN=3) :: MS !======================================================================= ! Timer_TimePrint begins here! !======================================================================= ! Initialize InputSecs = 0.0_f8 SecsLeft = 0.0_f8 TotalMS = 0 TotalSecs = 0 TotalMins = 0 TotalHours = 0 TotalDays = 0 ! Copy the timer value InputSecs = SavedTimers(SlotNumber)%TOTAL_TIME IntSecs = INT(InputSecs) SecsLeft = InputSecs - REAL(IntSecs) IF ( InputSecs < 0 ) THEN ! Invalid time WRITE( 6, 110 ) SavedTimers(SlotNumber)%TIMER_NAME 110 FORMAT(2x,a30,': Invalid run time - negative value') RETURN ELSEIF ( InputSecs .eq. 0 ) THEN ! Zero timer WRITE( 6, 120 ) SavedTimers(SlotNumber)%TIMER_NAME 120 FORMAT(2x,a30,': >>>>> THE TIMER DID NOT RUN <<<<<') RETURN ENDIF ! Debug !PRINT*, "INT : ", IntSecs !PRINT*, "REAL : ", InputSecs !PRINT*, "REMAIN: ", SecsLeft !----------------------------------------------------------------------- ! Calculate hours !----------------------------------------------------------------------- TotalHours = FLOOR(REAL(IntSecs)/3600.0) IntSecs = IntSecs - (TotalHours*3600) !----------------------------------------------------------------------- ! Calculate days (if needed) !----------------------------------------------------------------------- IF ( TotalHours > 24 ) THEN TotalDays = FLOOR(REAL(TotalHours)/24.0) TotalHours = TotalHours - (TotalDays*24) ENDIF !----------------------------------------------------------------------- ! Calculate minutes !----------------------------------------------------------------------- TotalMins = FLOOR(REAL(IntSecs)/60.0) IntSecs = IntSecs - (TotalMins*60) !----------------------------------------------------------------------- ! Calculate seconds !----------------------------------------------------------------------- TotalSecs = IntSecs !----------------------------------------------------------------------- ! Calculate milliseconds !----------------------------------------------------------------------- SecsLeft = SecsLeft * 1000 TotalMS = INT(SecsLeft) !----------------------------------------------------------------------- ! Write timers to log file in DD-hh:mm:ss.SSS format ! and also write the total number of seconds for convenience !----------------------------------------------------------------------- WRITE( DD, '(i2.2)' ) TotalDays WRITE( HH, '(i2.2)' ) TotalHours WRITE( MM, '(i2.2)' ) TotalMins WRITE( SS, '(i2.2)' ) TotalSecs WRITE( MS, '(i3.3)' ) TotalMS WRITE( 6, 130 ) SavedTimers(SlotNumber)%TIMER_NAME, & DD, HH, MM, SS, MS, InputSecs 130 FORMAT( 2x,a30,':',2x,a2,'-',a2,':',a2,':',a2,'.',a3, 4x, f14.3 ) !----------------------------------------------------------------------- ! Also write to JSON format !----------------------------------------------------------------------- IF ( PRESENT( LunJson ) ) THEN WRITE( JsonDhms, 140 ) DD, HH, MM, SS, MS WRITE( JsonSecs, '(f14.3)') InputSecs 140 FORMAT( a2,'-',a2,':',a2,':',a2,'.',a3 ) ! Write to JSON file CALL Timer_TimePrint_JSON( & lun = LunJson, & slot = SlotNumber, & timer_name = TRIM( SavedTimers(SlotNumber)%TIMER_NAME ), & d_hms = TRIM( ADJUSTL( JsonDhms ) ), & seconds = TRIM( ADJUSTL( JsonSecs ) ) ) ENDIF END SUBROUTINE Timer_TimePrint !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Timer_TimePrint_JSON ! ! !DESCRIPTION: Writes each timer to JSON output !\\ !\\ ! !INTERFACE: ! SUBROUTINE Timer_TimePrint_JSON( lun, slot, timer_name, d_hms, seconds ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: lun INTEGER, INTENT(IN) :: slot CHARACTER(LEN=*), INTENT(IN) :: timer_name CHARACTER(LEN=*), INTENT(IN) :: d_hms CHARACTER(LEN=*), INTENT(IN) :: seconds ! ! !REMARKS: ! This is a private subroutine. !EOP !------------------------------------------------------------------------------ !BOC !======================================================================= ! Timer_TimePrint begins here! !======================================================================= ! Write timer info ! Skip trailing comma if we are on the last timer WRITE( lun, 100 ) timer_name WRITE( lun, 110 ) WRITE( lun, 120 ) d_hms WRITE( lun, 130 ) seconds IF ( slot == TimerCurrentSize ) THEN WRITE( lun, 140 ) ELSE WRITE( lun, 150 ) ENDIF ! FORMAT statements 100 FORMAT( ' "', a, '":' ) 110 FORMAT( ' {' ) 120 FORMAT( ' "d_hms":', 1x, '"', a, '",' ) 130 FORMAT( ' "seconds":', 1x, a ) 140 FORMAT( ' }' ) 150 FORMAT( ' },' ) END SUBROUTINE Timer_TimePrint_JSON !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Timer_WriteHeaders ! ! !DESCRIPTION: Writes headers for logfile output to stdout ! as well for JSON file format. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Timer_PrintHeaders( lun ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: lun ! Logical unit number for JSON !EOP !------------------------------------------------------------------------------ !BOC !======================================================================= ! Write header for log file output to stdout !======================================================================= WRITE( 6, * ) '' WRITE( 6, '(a)' ) REPEAT( '=', 79 ) WRITE( 6, '(a)' ) 'G E O S - C H E M T I M E R S' WRITE( 6, * ) '' WRITE( 6, 100 ) 'Timer name','DD-hh:mm:ss.SSS','Total Seconds' WRITE( 6, '(a)' ) REPEAT( '-', 79 ) 100 FORMAT( 2x, a10, 23x, a15, 5x, a13 ) !======================================================================= ! Write header for JSON output !======================================================================= WRITE( lun, 200 ) WRITE( lun, 210 ) WRITE( lun, 220 ) WRITE( lun, 230 ) WRITE( lun, 240 ) WRITE( lun, 250 ) WRITE( lun, 260 ) WRITE( lun, 270 ) WRITE( lun, 220 ) 200 FORMAT( '{' ) 210 FORMAT( ' "description":' ) 220 FORMAT( ' {' ) 230 FORMAT( ' "name": "GEOS-Chem Classic timers output",' ) 240 FORMAT( ' "author": "The International GEOS-Chem Community",' ) 250 FORMAT( ' "reference": "https://geos-chem.readthedocs.io"' ) 260 FORMAT( ' },' ) 270 FORMAT( ' "GEOS-Chem Classic timers":' ) END SUBROUTINE Timer_PrintHeaders !EOC END MODULE Timers_Mod ================================================ FILE: GeosUtil/transfer_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: transfer_mod.F90 ! ! !DESCRIPTION: Module TRANSFER\_MOD contains routines used to copy data ! from REAL*4 to REAL(fp) arrays after being read from disk. Also, vertical ! levels will be collapsed in the stratosphere if necessary. This will help ! us to gain computational advantage. !\\ !\\ ! !INTERFACE: ! MODULE TRANSFER_MOD #ifdef EXCHANGE ! ! !USES: ! USE ERROR_MOD, ONLY : ALLOC_ERR USE ERROR_MOD, ONLY : GEOS_CHEM_STOP USE PRECISION_MOD USE State_Grid_Mod, ONLY : GrdState IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: TRANSFER_3D_yan PUBLIC :: INIT_TRANSFER PUBLIC :: CLEANUP_TRANSFER ! ! !REMARKS: ! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! %%% NOTE: THIS MODULE WILL BE A STUB UNLESS GEOS-Chem IS COMPILED %%% ! %%% WITH THE EXCHANGE=y OPTION. (bmy, 10/4/19) %%% ! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! ! Hybrid Grid Coordinate Definition: (dsa, bmy, 8/27/02, 8/11/15) ! ============================================================================ ! . ! GEOS-4, GEOS-5, GEOS-FP, MERRA, and MERRA-2 (hybrid grids): ! ---------------------------------------------------------------------------- ! For GEOS-4 and GEOS-5, the pressure at the bottom edge of grid box (I,J,L) ! is defined as follows: ! . ! Pedge(I,J,L) = Ap(L) + [ Bp(L) * Psurface(I,J) ] ! . ! where ! . ! Psurface(I,J) is the "true" surface pressure at lon,lat (I,J) ! Ap(L) has the same units as surface pressure [hPa] ! Bp(L) is a unitless constant given at level edges ! . ! Ap(L) and Bp(L) are given to us by GMAO. ! . ! . ! GEOS-3 (pure-sigma) and GCAP (hybrid grid): ! ---------------------------------------------------------------------------- ! GEOS-3 is a pure-sigma grid. GCAP is a hybrid grid, but its grid is ! defined as if it were a pure sigma grid (i.e. PTOP=150 hPa, and negative ! sigma edges at higher levels). For these grids, can stil use the same ! formula as for GEOS-4, with one modification: ! . ! Pedge(I,J,L) = Ap(L) + [ Bp(L) * ( Psurface(I,J) - PTOP ) ] ! . ! where ! . ! Psurface(I,J) = the "true" surface pressure at lon,lat (I,J) ! Ap(L) = PTOP = model top pressure ! Bp(L) = SIGE(L) = bottom sigma edge of level L ! . ! . ! The following are true for GCAP, GEOS-3, GEOS-4: ! ---------------------------------------------------------------------------- ! (1) Bp(NZ+1) = 0.0 (L=NZ+1 is the atmosphere top) ! (2) Bp(1) = 1.0 (L=1 is the surface ) ! (3) PTOP = Ap(NZ+1) (L=NZ+1 is the atmosphere top) ! ! !REVISION HISTORY: ! 21 Sep 2010 - M. Evans - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !PRIVATE TYPES: ! ! Scalars INTEGER :: I0 INTEGER :: J0 INTEGER :: L_COPY ! Arrays REAL(fp), ALLOCATABLE :: EDGE_IN(:) CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Transfer_3d_yan ! ! !DESCRIPTION: Subroutine TRANSFER\_3D\_YAN !\\ !\\ ! !INTERFACE: ! SUBROUTINE TRANSFER_3D_yan( NI, NJ, NK, IN, OUT ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: NI, NJ, NK REAL*4, INTENT(IN) :: IN(NI,NJ,NK) ! Input data ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: OUT(NI,NJ,NK) ! Output data ! ! !REVISION HISTORY: ! 08 Feb 2007 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I,J,K !================================================================= ! TRANSFER_3D_Lp1 begins here! !================================================================= ! Copy the first L_COPY+1 levels OUT(:,:,:) = IN(:,:,:) END SUBROUTINE TRANSFER_3D_yan !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_Transfer ! ! !DESCRIPTION: Subroutine INIT\_TRANSFER initializes and zeroes ! all module variables. !\\ !\\ ! !INTERFACE: ! SUBROUTINE INIT_TRANSFER( State_Grid, THIS_I0, THIS_J0 ) ! ! !USES: ! ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object INTEGER, INTENT(IN) :: THIS_I0 ! Global X (longitude) offset INTEGER, INTENT(IN) :: THIS_J0 ! Global Y (latitude) offset ! ! !REVISION HISTORY: ! 19 Sep 2001 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! LOGICAL, SAVE :: IS_INIT = .FALSE. INTEGER :: AS, L !================================================================= ! INIT_TRANSFER begins here! !================================================================= ! Return if we have already initialized IF ( IS_INIT ) RETURN !----------------------------------------------------------------- ! Get global X and Y offsets (usually =0, even for nested grid) !----------------------------------------------------------------- I0 = THIS_I0 J0 = THIS_J0 !----------------------------------------------------------------- ! Get the # of levels to copy in the vertical !----------------------------------------------------------------- IF ( State_Grid%NZ == State_Grid%NativeNZ ) THEN ! Full vertical resolution; copy all levels! L_COPY = State_Grid%NativeNZ ELSE ! Copy up to L=36 (GEOS-FP, MERRA-2) L_COPY = 36 ENDIF !================================================================= ! Define vertical edges for collapsing stratospheric levels !================================================================= ! Allocate the EDGE_IN array ALLOCATE( EDGE_IN( State_Grid%NativeNZ + 1 ), STAT=AS ) IF ( AS /= 0 ) CALL ALLOC_ERR( 'EDGE_IN' ) EDGE_IN = 0e+0_fp !----------------------------------------------------------------- ! Levels 1-31 are "terrain-following" coordinates ! (i.e. vary with location), and levels 32-72 are ! fixed pressure levels. The transition pressure is 176.93 hPa, ! which is the edge between L=31 and L=32. ! ! Initialize EDGE_IN with the original 73 Ap values for GEOS-5. !----------------------------------------------------------------- EDGE_IN = (/ 0.000000e+00_fp, 4.804826e-02_fp, & 6.593752e+00_fp, 1.313480e+01_fp, & 1.961311e+01_fp, 2.609201e+01_fp, & 3.257081e+01_fp, 3.898201e+01_fp, & 4.533901e+01_fp, 5.169611e+01_fp, & 5.805321e+01_fp, 6.436264e+01_fp, & 7.062198e+01_fp, 7.883422e+01_fp, & 8.909992e+01_fp, 9.936521e+01_fp, & 1.091817e+02_fp, 1.189586e+02_fp, & 1.286959e+02_fp, 1.429100e+02_fp, & 1.562600e+02_fp, 1.696090e+02_fp, & 1.816190e+02_fp, 1.930970e+02_fp, & 2.032590e+02_fp, 2.121500e+02_fp, & 2.187760e+02_fp, 2.238980e+02_fp, & 2.243630e+02_fp, 2.168650e+02_fp, & 2.011920e+02_fp, !---- EDGES OF GEOS-5 FIXED PRESSURE LEVELS OCCUR BELOW THIS LINE ------ 1.769300e+02_fp, & 1.503930e+02_fp, 1.278370e+02_fp, & 1.086630e+02_fp, 9.236572e+01_fp, & 7.851231e+01_fp, 6.660341e+01_fp, & 5.638791e+01_fp, 4.764391e+01_fp, & 4.017541e+01_fp, 3.381001e+01_fp, & 2.836781e+01_fp, 2.373041e+01_fp, & 1.979160e+01_fp, 1.645710e+01_fp, & 1.364340e+01_fp, 1.127690e+01_fp, & 9.292942e+00_fp, 7.619842e+00_fp, & 6.216801e+00_fp, 5.046801e+00_fp, & 4.076571e+00_fp, 3.276431e+00_fp, & 2.620211e+00_fp, 2.084970e+00_fp, & 1.650790e+00_fp, 1.300510e+00_fp, & 1.019440e+00_fp, 7.951341e-01_fp, & 6.167791e-01_fp, 4.758061e-01_fp, & 3.650411e-01_fp, 2.785261e-01_fp, & 2.113490e-01_fp, 1.594950e-01_fp, & 1.197030e-01_fp, 8.934502e-02_fp, & 6.600001e-02_fp, 4.758501e-02_fp, & 3.270000e-02_fp, 2.000000e-02_fp, & 1.000000e-02_fp /) ! We have now initialized everything IS_INIT = .TRUE. END SUBROUTINE INIT_TRANSFER !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Cleanup_Transfer ! ! !DESCRIPTION: Subroutine CLEANUP\_TRANSFER deallocates all module variables. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CLEANUP_TRANSFER ! ! !REVISION HISTORY: ! 19 Sep 2001 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC IF ( ALLOCATED( EDGE_IN ) ) DEALLOCATE( EDGE_IN ) END SUBROUTINE CLEANUP_TRANSFER #endif !EOC END MODULE TRANSFER_MOD ================================================ FILE: GeosUtil/unitconv_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: unitconv_mod.F90 ! ! !DESCRIPTION: Module UNITCONV\_MOD contains routines which are used to ! convert the units of species concentrations between mass ! mixing ratio [kg/kg air], mass per grid box per area [kg/m2], molar ! mixing ratio [vol/vol], and molecular number density [molecules/cm3]. ! There are different conversion routines for dry air and total (wet) ! air mixing ratios. Conversions involving column area will be phased ! out for grid-independent GEOS-Chem. !\\ !\\ ! !INTERFACE: ! MODULE UnitConv_Mod ! ! !USES: ! USE ErrCode_Mod USE Error_Mod USE PhysConstants USE Precision_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Chm_Mod, ONLY : Ind_ USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState IMPLICIT NONE PRIVATE ! ! !DEFINED PARAMETERS: ! ! Unit flags (use integers; faster comparisons than strings) ! NOTE: mol/mol are equivalent units to v/v INTEGER, PARAMETER, PUBLIC :: KG_SPECIES = 1 INTEGER, PARAMETER, PUBLIC :: KG_SPECIES_PER_KG_DRY_AIR = 2 INTEGER, PARAMETER, PUBLIC :: KG_SPECIES_PER_KG_TOTAL_AIR = 3 INTEGER, PARAMETER, PUBLIC :: KG_SPECIES_PER_M2 = 4 INTEGER, PARAMETER, PUBLIC :: MOLECULES_SPECIES_PER_CM3 = 5 INTEGER, PARAMETER, PUBLIC :: MOLES_SPECIES_PER_MOLES_DRY_AIR = 6 INTEGER, PARAMETER, PUBLIC :: MOLES_SPECIES_PER_MOLES_TOTAL_AIR = 7 ! Labels corresponding to each integer unit flag defined above. ! This array is private to this module, whereas the flags are public. CHARACTER(LEN=13), PARAMETER, PUBLIC :: UNIT_STR(7) = (/ & 'kg ', 'kg/kg dry ', 'kg/kg total ', 'kg/m2 ', & 'molec/cm3 ', 'mol/mol dry ', 'mol/mol total' & /) ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: Check_Units PUBLIC :: Convert_Spc_Units PUBLIC :: Print_Global_Species_Kg PUBLIC :: Print_Species_Units ! kg/kg dry air <-> kg/grid box (single box only) ! Used for TOMAS compatibility in WASHOUT PUBLIC :: ConvertBox_KgKgDry_to_Kg PUBLIC :: ConvertBox_Kg_to_KgKgDry ! kg <-> kg/m2 (single box only) ! Used for TOMAS compatibility in WASHOUT within wetscav_mod PUBLIC :: ConvertBox_Kgm2_to_Kg PUBLIC :: ConvertBox_Kg_to_Kgm2 ! ! !PRIVATE MEMBER FUNCTIONS: ! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! KG/KG DRY <-> V/V DRY !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! kg/kg dry air <-> v/v dry air ! Used in DO_TEND in mixing PRIVATE :: ConvertSpc_KgKgDry_to_VVDry PRIVATE :: ConvertSpc_VVDry_to_KgKgDry !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! KG/KG DRY <-> KG/KG TOTAL !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! kg/kg dry air <-> kg/kg total air ! Used in DO_TEND in mixing PRIVATE :: ConvertSpc_KgKgDry_to_KgKgTotal PRIVATE :: ConvertSpc_KgKgTotal_to_KgKgDry !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! KG/KG DRY <-> KG/M2 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! kg/kg dry air <-> kg/m2 ! Used for wet deposition, DO_TEND in mixing, ! and around AIRQNT and SET_H2O_TRAC in main PRIVATE :: ConvertSpc_KgKgDry_to_Kgm2 PRIVATE :: ConvertSpc_kgm2_to_KgKgDry !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! KG/KG DRY <-> MOLEC/CM3 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% PRIVATE :: ConvertSpc_KgKgDry_to_MND PRIVATE :: ConvertSpc_MND_to_KgKgDry !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! AREA-DEPENDENT (temporary routines) !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! v/v dry air <-> kg/grid box ! Temporarily replaces legacy CONVERT_UNITS ! Used in strat_chem_mod and sulfate_mod PRIVATE :: ConvertSpc_VVDry_to_Kg PRIVATE :: ConvertSpc_Kg_to_VVDry ! kg/kg dry air <-> kg/grid box ! Used in aerosol_mod, tomas_mod, emissions_mod, ! strat_chem_mod, exchange_mod, rrtmg_rad_transfer_mod, ! chemistry_mod, sulfate_mod, and carbon_mod ! This is since RRTMG, TOMAS, exchange_mod, chemistry, ! and EMISSMERCURY are still in [kg] PRIVATE :: ConvertSpc_KgKgDry_to_Kg PRIVATE :: ConvertSpc_Kg_to_KgKgDry ! molec/cm3 dry air <-> kg/gridbox PRIVATE :: ConvertSpc_MND_to_Kg PRIVATE :: ConvertSpc_Kg_to_MND ! ! !REMARKS: ! The routines in this module are used to convert the units of ! species concentrations in various GEOS-Chem routines. ! ! !REVISION HISTORY: ! 23 Jun 2015 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Convert_Spc_Units ! ! !DESCRIPTION: Subroutine Convert\_Spc\_Units is a wrapper function to convert ! the species input array to a desired unit. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Convert_Spc_Units( Input_Opt, State_Chm, State_Grid, & State_Met, new_units, RC, & mapping, previous_units ) ! ! !USES: ! USE TIMERS_MOD ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid state object TYPE(MetState), INTENT(IN) :: State_Met ! Met State object INTEGER, INTENT(IN) :: new_units ! Units to convert to INTEGER, OPTIONAL, POINTER :: mapping(:) ! Spc ID -> modelId ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chem State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? INTEGER, OPTIONAL :: previous_units ! Previous units ! ! !CALLING SEQUENCE: ! ! ! Convert units from mol/mol dry to kg ! CALL Convert_Spc_Units( & ! Input_Opt = Input_Opt, & ! State_Chm = State_Chm, & ! State_Grid = State_Grid, & ! State_Met = State_Met, & ! mapping = State_Chm%Map_XXXXX, & ! Uses Map_All if omitted ! new_units = KG_SPECIES, & ! previous_units = previous_units, & ! RC = RC ) ! ! ...computation... ! ! ! Convert back to original units ! CALL Convert_Spc_Units( & ! Input_Opt = Input_Opt, & ! State_Chm = State_Chm, & ! State_Grid = State_Grid, & ! State_Met = State_Met, & ! mapping = State_Chm%Map_XXXXX, & ! Uses Map_All if omitted ! new_units = previous_units, & ! RC = RC ) ! ! !REVISION HISTORY: ! 14 Apr 2016 - C. Keller - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: isAdjoint INTEGER :: current_units ! Pointers INTEGER, POINTER :: theMapping(:) ! Strings CHARACTER(LEN=255) :: errNoIn, errNoOut, errMsg, errUnits, thisLoc !==================================================================== ! Convert_Spc_Units begins here! !==================================================================== IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "Unit conversions", RC ) ENDIF ! Convert units for all species unless mapping is passed ! NOTE: Avoid an ELSE statement here, which can be a bottleneck. theMapping => State_Chm%Map_All IF ( PRESENT( mapping ) ) theMapping => mapping ! Error check the mapping argument IF ( SIZE(theMapping) < 1 ) THEN errMsg = 'The "mapping" argument has zero elements!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Initialize RC = GC_SUCCESS current_units = State_Chm%Species(theMapping(1))%Units isAdjoint = .FALSE. thisLoc = ' -> at Convert_Spc_Units (in GeosUtil/unitconv_mod.F90)' ! Error messages errNoOut = 'Conversion to ' // TRIM( UNIT_STR( new_units ) ) // & ' is not defined!' errNoIn = 'Conversion from ' // TRIM( UNIT_STR( current_units ) ) // & ' is not defined!' errMsg = 'Error in conversion from ' // & TRIM( UNIT_STR( current_units ) ) // ' to ' // & TRIM( UNIT_STR( new_units ) ) // '!' errUnits = '' ! Debugging print IF ( Input_Opt%Verbose ) THEN WRITE( 6, 100 ) TRIM( UNIT_STR( current_units ) ), & TRIM( UNIT_STR( new_units ) ) 100 FORMAT( ' ### Species Unit Conversion: ', a, ' -> ', a ) ENDIF ! Exit if in and out units are the same IF ( new_units == current_units ) THEN IF ( PRESENT( previous_units ) ) previous_units = new_units IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "Unit conversions", RC ) ENDIF RETURN ENDIF ! Make sure all species have consistent starting units IF ( .not. Check_Units( State_Chm, current_units, theMapping ) ) THEN errMsg = 'All species do not have consistent starting units!' theMapping => NULL() CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF #ifdef ADJOINT ! Set a flag if we have compiled for the adjoint isAdjoint = Input_Opt%is_Adjoint #endif ! Convert based on input and output units SELECT CASE ( current_units ) !================================================================ ! Convert from kg/kg dry !================================================================ CASE ( KG_SPECIES_PER_KG_DRY_AIR ) SELECT CASE ( new_units ) CASE ( MOLES_SPECIES_PER_MOLES_DRY_AIR ) CALL ConvertSpc_KgKgDry_to_VVDry( & State_Chm, State_Grid, theMapping, & isAdjoint, RC ) CASE ( KG_SPECIES_PER_KG_TOTAL_AIR ) CALL ConvertSpc_KgKgDry_to_KgKgTotal( & State_Chm, State_Grid, State_Met, & theMapping, isAdjoint, RC ) CASE ( KG_SPECIES ) CALL ConvertSpc_KgKgDry_to_Kg( & State_Chm, State_Grid, State_Met, & theMapping, isAdjoint, RC ) CASE ( KG_SPECIES_PER_M2 ) CALL ConvertSpc_KgKgDry_to_Kgm2( & State_Chm, State_Grid, State_Met, & theMapping, isAdjoint, RC ) CASE ( MOLECULES_SPECIES_PER_CM3 ) CALL ConvertSpc_KgKgDry_to_MND( & State_Chm, State_Grid, State_Met, & theMapping, isAdjoint, RC ) CASE DEFAULT CALL GC_Error( errNoOut, RC, thisLoc ) END SELECT !================================================================ ! Convert from kg/kg total !================================================================ CASE ( KG_SPECIES_PER_KG_TOTAL_AIR ) SELECT CASE ( new_units ) CASE ( KG_SPECIES_PER_KG_DRY_AIR ) CALL ConvertSpc_KgKgTotal_to_KgKgDry( & State_Chm, State_Grid, State_Met, & theMapping, isAdjoint, RC ) CASE ( KG_SPECIES ) CALL ConvertSpc_KgKgTotal_to_KgKgDry( & State_Chm, State_Grid, State_Met, & theMapping, isAdjoint, RC ) CALL ConvertSpc_KgKgDry_to_Kg( & State_Chm, State_Grid, State_Met, & theMapping, isAdjoint, RC ) CASE ( MOLECULES_SPECIES_PER_CM3 ) CALL ConvertSpc_KgKgTotal_to_KgKgDry( & State_Chm, State_Grid, State_Met, & theMapping, isAdjoint, RC ) CALL ConvertSpc_KgKgDry_to_MND( & State_Chm, State_Grid, State_Met, & theMapping, isAdjoint, RC ) CASE DEFAULT CALL GC_Error( errNoOut, RC, thisLoc ) END SELECT !==================================================================== ! Convert from v/v dry !==================================================================== CASE ( MOLES_SPECIES_PER_MOLES_DRY_AIR ) SELECT CASE ( new_units ) CASE ( KG_SPECIES_PER_KG_DRY_AIR ) CALL ConvertSpc_VVDry_to_KgKgDry( & State_Chm, State_Grid, & theMapping, isAdjoint, RC ) CASE ( KG_SPECIES ) CALL ConvertSpc_VVDry_to_Kg( & State_Chm, State_Grid, State_Met, & theMapping, isAdjoint, RC ) CASE ( KG_SPECIES_PER_M2 ) CALL ConvertSpc_VVDry_to_KgKgDry( & State_Chm, State_Grid, & theMapping, isAdjoint, RC ) CALL ConvertSpc_KgKgDry_to_Kgm2( & State_Chm, State_Grid, State_Met, & theMapping, isAdjoint, RC ) CASE DEFAULT CALL GC_Error( errNoOut, RC, thisLoc ) END SELECT !==================================================================== ! Convert from kg !==================================================================== CASE ( KG_SPECIES ) SELECT CASE ( new_units ) CASE ( KG_SPECIES_PER_KG_DRY_AIR ) CALL ConvertSpc_Kg_to_KgKgDry( & State_Chm, State_Grid, State_Met, & theMapping, isAdjoint, RC ) CASE ( KG_SPECIES_PER_KG_TOTAL_AIR ) CALL ConvertSpc_Kg_to_KgKgDry( & State_Chm, State_Grid, State_Met, & theMapping, isAdjoint, RC ) CALL ConvertSpc_KgKgDry_to_KgKgTotal( & State_Chm, State_Grid, State_Met, & theMapping, isAdjoint, RC ) CASE ( MOLES_SPECIES_PER_MOLES_DRY_AIR ) CALL ConvertSpc_Kg_to_VVDry( & State_Chm, State_Grid, State_Met, & theMapping, isAdjoint, RC ) CASE ( MOLECULES_SPECIES_PER_CM3 ) CALL ConvertSpc_Kg_to_MND( & State_Chm, State_Grid, State_Met, & theMapping, isAdjoint, RC ) CASE DEFAULT CALL GC_Error( errNoOut, RC, thisLoc ) END SELECT !==================================================================== ! Convert from kg/m2 !==================================================================== CASE ( KG_SPECIES_PER_M2 ) SELECT CASE ( new_units ) CASE( KG_SPECIES_PER_KG_DRY_AIR ) CALL ConvertSpc_Kgm2_to_KgKgDry( & State_Chm, State_Grid, State_Met, & theMapping, isAdjoint, RC ) CASE ( MOLES_SPECIES_PER_MOLES_DRY_AIR ) CALL ConvertSpc_Kgm2_to_KgKgDry( & State_Chm, State_Grid, State_Met, & theMapping, isAdjoint, RC ) CALL ConvertSpc_KgKgDry_to_VVDry( & State_Chm, State_Grid, & theMapping, isAdjoint, RC ) CASE DEFAULT CALL GC_Error( errNoOut, RC, thisLoc ) END SELECT !==================================================================== ! Convert from molecular number density (MND) !==================================================================== CASE ( MOLECULES_SPECIES_PER_CM3 ) SELECT CASE ( new_units ) CASE ( KG_SPECIES ) CALL ConvertSpc_MND_to_Kg( & State_Chm, State_Grid, State_Met, & theMapping, isAdjoint, RC ) CASE ( KG_SPECIES_PER_KG_DRY_AIR ) CALL ConvertSpc_MND_to_KgKgDry( & State_Chm, State_Grid, State_Met, & theMapping, isAdjoint, RC ) CASE ( KG_SPECIES_PER_KG_TOTAL_AIR ) CALL ConvertSpc_MND_to_KgKgDry( & State_Chm, State_Grid, State_Met, & theMapping, isAdjoint, RC ) CALL ConvertSpc_KgKgDry_to_KgKgTotal( & State_Chm, State_Grid, State_Met, & theMapping, isAdjoint, RC ) CASE DEFAULT CALL GC_Error( errNoOut, RC, thisLoc ) END SELECT ! Error if input units not found CASE DEFAULT CALL GC_Error( errNoIn, RC, thisLoc ) END SELECT !======================================================================== ! Cleanup and quit !======================================================================== ! Return the previous units (if necessary) IF ( PRESENT( previous_units ) ) previous_units = current_units ! Free pointer theMapping => NULL() ! Error if problem within called conversion routine IF ( RC /= GC_SUCCESS ) THEN CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "Unit conversions", RC ) ENDIF END SUBROUTINE Convert_Spc_Units !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Print_Global_Species_Kg ! ! !DESCRIPTION: Subroutine Print\_Global\_Species\_Kg prints the ! global and grid box (I,J,L) mass for species N to log. Species ! units can be any unit for which conversion to kg is defined in ! the unit conversion module unitconv\_mod. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Print_Global_Species_Kg( I, J, L, & Spc, Input_Opt, State_Chm, & State_Grid, State_Met, thisLoc, & RC ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I ! Grid cell lat index INTEGER, INTENT(IN) :: J ! Grid cell lon index INTEGER, INTENT(IN) :: L ! Grid cell lev index CHARACTER(LEN=*), INTENT(IN) :: Spc ! Species abbrev string CHARACTER(LEN=*), INTENT(IN) :: thisLoc ! Call location string TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! This routine is for debugging purposes to helptrace where species ! mass is not conserved. ! ! !REVISION HISTORY: ! 22 Jun 2016 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N INTEGER :: previous_units REAL(fp) :: SpcTotal ! Arrays INTEGER, TARGET :: mapping(1) ! Pointers INTEGER, POINTER :: theMapping(:) ! Strings CHARACTER(LEN=12) :: SpcName CHARACTER(LEN=255) :: errMsg, errLoc !======================================================================== ! Print_Global_Species_Kg begins here! !======================================================================== RC = GC_SUCCESS errMsg = '' errLoc = & ' -> at Print_Global_Species_Kg (in GeosUtil/unitconv_mod.F90)' ! Get species index N = Ind_(spc) ! Create a pointer for the mapping indices mapping(1) = N theMapping => mapping ! Convert species conc units to kg CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & mapping = theMapping, & new_units = KG_SPECIES, & previous_units = previous_units, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Unit conversion error!' CALL GC_Error( errMsg, RC, errLoc ) RETURN ENDIF ! Echo info IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 100 ) TRIM( thisLoc ) ENDIF 100 FORMAT( /, '%%%%% PRINT_GLOBAL_SPECIES_KG at ', a ) ! Compute global sum SpcTotal = SUM( State_Chm%Species(N)%Conc(:,:,:) ) ! Get species name from the species database SpcName = TRIM( State_Chm%SpcData(N)%Info%Name ) ! Write formatted output IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 110 ) SpcName, SpcTotal WRITE( 6, 115 ) SpcName, State_Chm%Species(N)%Conc(I,J,L), I, J, L WRITE( 6, 115 ) 'AD', State_Met%AD(I,J,L), I, J, L WRITE( 6, 115 ) 'PREVSPHU', State_Met%SPHU_PREV(I,J,L), I, J, L WRITE( 6, 115 ) 'SPHU', State_Met%SPHU(I,J,L), I, J, L WRITE( 6, 120 ) ENDIF 110 FORMAT( 'Global sum [kg] for ', a8, ' = ', es24.16 ) 115 FORMAT( 'Grid cell [kg] for ', a8, ' = ', es24.16, ', I,J,L= ',3I4 ) 120 FORMAT( / ) ! Convert back to original units CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & mapping = theMapping, & new_units = previous_units, & RC = RC ) ! Free pointer theMapping => NULL() ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Unit conversion error!' CALL GC_Error( errMsg, RC, errLoc ) RETURN ENDIF END SUBROUTINE Print_Global_Species_Kg !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ConvertSpc_kgkgdry_to_vvdry ! ! !DESCRIPTION: Subroutine ConvertSpc\_KgKgDry\_to\_VVDry converts the ! units of species concentrations from mass mixing ratio (KGKG) [kg/kg] to ! volume ratio (VR) [vol/vol] (same as molar ratio [mol/mol]). !\\ !\\ ! !INTERFACE: ! SUBROUTINE ConvertSpc_KgKgDry_to_VVDry( State_Chm, State_Grid, & mapping, isAdjoint, RC ) ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object INTEGER, INTENT(IN) :: mapping(:) ! Species map to modelId LOGICAL, INTENT(IN) :: isAdjoint ! Is this reverse integration? ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 21 Jul 2016 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N, S REAL(fp) :: const ! Strings CHARACTER(LEN=255) :: errMsg, thisLoc !======================================================================== ! ConvertSpc_KgKgDry_to_VVDry begins here! !======================================================================== ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = & ' -> at ConvertSpc_KgKgDry_to_VVDry (in GeosUtil/unitconv_mod.F90)' !======================================================================== ! ! The conversion is as follows: ! ! kg species(N) g dry air mol species(N) ! ------------- * ---------- * ------------- ! kg air mol air g species(N) ! ! = mass mixing ratio * ratio of air to species molecular weights ! ! = molar ratio ! ! Therefore, with: ! ! AIRMW = dry air molecular wt [g/mol] ! MW_G(N) = species molecular wt [g/mol] ! ! the conversion is: ! ! Species(I,J,L,N) [vol/vol] ! ! = Species(I,J,L,N) [kg/kg] * ( AIRMW / MW_G(N) ) ! !======================================================================== ! Loop over species !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( S, N, const ) DO S = 1, SIZE( mapping ) ! Get the modelId from the mapping array N = mapping(S) ! Compute this constant term only once const = AIRMW / State_Chm%SpcData(N)%Info%MW_g ! Convert species concentration units State_Chm%Species(N)%Conc = & State_Chm%Species(N)%Conc * const #ifdef ADJOINT IF ( isAdjoint ) THEN State_Chm%SpeciesAdj(:,:,:,N) = & State_Chm%SpeciesAdj(:,:,:,N) * const ENDIF #endif ! Update units metadata State_Chm%Species(N)%Units = MOLES_SPECIES_PER_MOLES_DRY_AIR ENDDO !$OMP END PARALLEL DO END SUBROUTINE ConvertSpc_KgKgDry_to_VVDry !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ConvertSpc_vvdry_to_kgkgdry ! ! !DESCRIPTION: Subroutine ConvertSpc\_VVDry\_to\_KgKgDry converts the ! units of species concentrations from volume ratio (VR) [vol/vol] (same ! as molar mixing ratio [mol/mol]) to mass mixing ratio [kg/kg]. !\\ !\\ ! !INTERFACE: ! SUBROUTINE ConvertSpc_VVDry_to_KgKgDry( State_Chm, State_Grid, & mapping, isAdjoint, RC ) ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object INTEGER, INTENT(IN) :: mapping(:) ! Species map to modelId LOGICAL, INTENT(IN) :: isAdjoint ! Is this reverse integration? ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 21 Jul 2016 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N, S REAL(fp) :: const ! Strings CHARACTER(LEN=255) :: errMsg, thisLoc !======================================================================== ! ConvertSpc_VVDry_to_KgKgDry begins here! !======================================================================== ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = & ' -> at ConvertSpc_VVDry_to_KgKgDry (in GeosUtil/unitconv_mod.F90)' !======================================================================== ! ! The conversion is as follows: ! ! mol species(N) mol dry air g species(N) ! ----------- * ----------- * ------------- ! mol air g dry air mol species(N) ! ! = volume ratio / ratio of air to species molecular wts ! ! = mass mixing ratio ([g/g] is equivalent to [kg/kg]) ! ! Therefore, with: ! ! AIRMW = dry air molecular wt [g/mol] ! MW_G(N) = species molecular wt [g/mol] ! ! the conversion is: ! ! Species(I,J,L,N) [vol/vol] ! ! = Species(I,J,L,N) [kg/kg] / ( AIRMW / MW_G(N) ) ! !======================================================================== ! Loop over all species !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( S, N, const ) DO S = 1, SIZE( mapping ) ! Get the modelId from the mapping array N = mapping(S) ! Compute this constant only once const = AIRMW / State_Chm%SpcData(N)%Info%MW_g ! Convert species concentration units State_Chm%Species(N)%Conc = & State_Chm%Species(N)%Conc / const #ifdef ADJOINT IF ( isAdjoint ) THEN State_Chm%SpeciesAdj(:,:,:,N) = & State_Chm%SpeciesAdj(:,:,:,N) / const ENDIF #endif ! Update units metadata State_Chm%Species(N)%Units = KG_SPECIES_PER_KG_DRY_AIR ENDDO !$OMP END PARALLEL DO END SUBROUTINE ConvertSpc_VVDry_to_KgKgDry !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ConvertSpc_kgkgdry_to_kgkgtotal ! ! !DESCRIPTION: Subroutine ConvertSpc\_KgKgDry\_to\_KgKgTotal converts the ! units of species concentrations from dry mass mixing ratio (KGKG) [kg/kg] to ! total mass mixing ratio [kg/kg] including moisture. !\\ !\\ ! !INTERFACE: ! SUBROUTINE ConvertSpc_KgKgDry_to_KgKgTotal( State_Chm, State_Grid, & State_Met, mapping, & isAdjoint, RC ) ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object INTEGER, INTENT(IN) :: mapping(:) ! Species map to modelId LOGICAL, INTENT(IN) :: isAdjoint ! Is this reverse integration? ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 07 Nov 2018 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N, S ! Strings CHARACTER(LEN=255) :: errMsg, thisLoc !======================================================================== ! ConvertSpc_KgKgDry_to_KgKgTotal begins here! !======================================================================== ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = & ' -> at ConvertSpc_KgKgDry_to_KgKgTotal (in GeosUtil/unitconv_mod.F90)' !======================================================================== ! ! The conversion is as follows: ! !======================================================================== ! Loop over all species !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( S, N ) DO S = 1, SIZE( mapping ) ! Get the modelId from the mapping array N = mapping(S) ! Convert species concentration units State_Chm%Species(N)%Conc = & State_Chm%Species(N)%Conc * & ( 1.0_fp - ( State_Met%SPHU * 1e-3_fp ) ) #ifdef ADJOINT IF ( isAdjoint ) THEN State_Chm%SpeciesAdj(:,:,:,N) = & State_Chm%SpeciesAdj(:,:,:,N) * & ( 1.0_fp - ( State_Met%SPHU * 1e-3_fp ) ) ENDIF #endif ! Update units metadata State_Chm%Species(N)%Units = KG_SPECIES_PER_KG_TOTAL_AIR ENDDO !$OMP END PARALLEL DO END SUBROUTINE ConvertSpc_KgKgDry_to_KgKgTotal !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ConvertSpc_kgkgtotal_to_kgkgdry ! ! !DESCRIPTION: Subroutine ConvertSpc\_KgKgTotal\_to\_KgKgDry converts the ! units of species concentrations from total mass mixing ratio [kg/kg] ! (includes moisture) to dry mass mixing ratio [kg/kg]. !\\ !\\ ! !INTERFACE: ! SUBROUTINE ConvertSpc_KgKgTotal_to_KgKgDry( State_Chm, State_Grid, & State_Met, mapping, & isAdjoint, RC ) ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object INTEGER, INTENT(IN) :: mapping(:) ! Species map to modelId LOGICAL, INTENT(IN) :: isAdjoint ! Is this reverse integration? ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 07 Nov 2018 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N, S ! Strings CHARACTER(LEN=255) :: errMsg, thisLoc !======================================================================== ! ConvertSpc_KgKgTotal_to_KgKgDry begins here! !======================================================================== ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = & ' -> at ConvertSpc_KgKgTotal_to_KgKgDry (in GeosUtil/unitconv_mod.F90)' !======================================================================== ! ! The conversion is as follows: ! !======================================================================== ! Loop over all species !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( S, N ) DO S = 1, SIZE( mapping ) ! Get the modelId from the mapping array N = mapping(S) ! Convert species concentration units State_Chm%Species(N)%Conc = & State_Chm%Species(N)%Conc / & ( 1e0_fp - ( State_Met%SPHU * 1e-3_fp ) ) #ifdef ADJOINT IF ( isAdjoint ) THEN State_Chm%SpeciesAdj(:,:,:,N) = & State_Chm%SpeciesAdj(:,:,:,N) / & ( 1e0_fp - ( State_Met%SPHU * 1e-3_fp ) ) ENDIF #endif ! Update units metadata State_Chm%Species(N)%Units = KG_SPECIES_PER_KG_DRY_AIR ENDDO !$OMP END PARALLEL DO END SUBROUTINE ConvertSpc_KgKgTotal_to_KgKgDry !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ConvertSpc_kgkgdry_to_kgm2 ! ! !DESCRIPTION: Subroutine ConvertSpc\_kgkgdry\_to\_kgm2 converts the units of ! a 3D array from dry mass mixing ratio [kg/kg dry air] to area density ! [kg/m2]. !\\ !\\ ! !INTERFACE: ! SUBROUTINE ConvertSpc_KgKgDry_to_Kgm2( State_Chm, State_Grid, State_Met, & mapping, isAdjoint, RC ) ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology state object INTEGER, INTENT(IN) :: mapping(:) ! Species map to modelId LOGICAL, INTENT(IN) :: isAdjoint ! Is this reverse integration? ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry state object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 21 Jul 2016 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N, S ! Strings CHARACTER(LEN=255) :: errMsg, thisLoc !======================================================================== ! ConvertSpc_KgKgDry_to_Kgm2 begins here! !======================================================================== ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = & ' -> at ConvertSpc_KgKgDry_to_Kgm2 (in GeosUtil/unitconv_mod.F90)' !======================================================================== ! ! The conversion is as follows: ! ! kg species Delta dry P [hPa] 100 [Pa] ! ----------- * ----------------- * -------- ! kg dry air g [m/s2] [hPa] ! ! = kg species / m2 ! ! where: ! ! Delta dry P = dry pressure difference across level as derived ! from the dry surface pressure with A and B params ! g = acceleration due to gravity ! kg dry air / kg total air = 1 - specific humidity ! !======================================================================== !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( S, N ) DO S = 1, SIZE( mapping ) ! Get the modelId from the mapping array N = mapping(S) ! Convert species concentration units State_Chm%Species(N)%Conc = & State_Chm%Species(N)%Conc * ( g0_100 * State_Met%DELP_DRY ) #ifdef ADJOINT IF ( isAdjoint ) THEN State_Chm%SpeciesAdj(:,:,:,N) = & State_Chm%SpeciesAdj(:,:,:,N) * ( g0_100 * State_Met%DELP_DRY ) ENDIF #endif ! Update units metadata State_Chm%Species(N)%Units = KG_SPECIES_PER_M2 ENDDO !$OMP END PARALLEL DO END SUBROUTINE ConvertSpc_KgKgDry_to_Kgm2 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ConvertSpc_kgm2_to_kgkgdry ! ! !DESCRIPTION: Subroutine ConvertSpc\_Kgm2\_to\_kgkgdry converts the units of ! species concentrations from area density [kg/m2] to dry mass mixing ratio ! [kg/kg dry air]. !\\ !\\ ! !INTERFACE: ! SUBROUTINE ConvertSpc_Kgm2_to_KgKgDry( State_Chm, State_Grid, State_Met, & mapping, isAdjoint, RC ) ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology state object INTEGER, INTENT(IN) :: mapping(:) ! Species map to modelId LOGICAL, INTENT(IN) :: isAdjoint ! Is this reverse integration? ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry state object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 21 Jul 2016 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N, S ! Strings CHARACTER(LEN=255) :: errMsg, thisLoc !======================================================================== ! ConvertSpc_Kgm2_to_KgKgDry begins here! !======================================================================== ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = & ' -> at ConvertSpc_Kgm2_to_KgKgDry (in GeosUtil/unitconv_mod.F90)' !======================================================================== ! ! The conversion is as follows: ! ! kg species(N) g [m/s2] [hPa] ! ----------- * ----------------- * -------- ! m2 Delta dry P [hPa] 100 [Pa] ! ! = kg species(N) / kg dry air ! ! where: ! ! Delta dry P = dry pressure difference across level as derived ! from the dry surface pressure with A and B params ! g = acceleration due to gravity ! kg dry air / kg total air = 1 - specific humidity ! !======================================================================== !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( S, N ) DO S = 1, SIZE( mapping ) ! Get the modelId from the mapping array N = mapping(S) ! Convert species concentration units State_Chm%Species(N)%Conc = & State_Chm%Species(N)%Conc / ( g0_100 * State_Met%DELP_DRY ) #ifdef ADJOINT IF ( isAdjoint ) THEN State_Chm%SpeciesAdj(:,:,:,N) = & State_Chm%SpeciesAdj(:,:,:,N) / ( g0_100 * State_Met%DELP_DRY ) ENDIF #endif ! Update units metadata State_Chm%Species(N)%Units = KG_SPECIES_PER_KG_DRY_AIR ENDDO !$OMP END PARALLEL DO END SUBROUTINE ConvertSpc_Kgm2_to_KgKgDry !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ConvertSpc_kgkgdry_to_mnd ! ! !DESCRIPTION: Subroutine ConvertSpc\_KgKgDry\_to\_MND converts the units of ! species concentrations from dry mass mixing ratio [kg/kg dry air] to ! molecular number density (MND) [molecules/cm3]. !\\ !\\ ! !INTERFACE: ! SUBROUTINE ConvertSpc_KgKgDry_to_MND( State_Chm, State_Grid, State_Met, & mapping, isAdjoint, RC ) ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology state object INTEGER, INTENT(IN) :: mapping(:) ! Species map to modelId LOGICAL, INTENT(IN) :: isAdjoint ! Is this reverse integration? ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry state object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 21 Jul 2016 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N, S REAL(fp) :: const, MW_kg ! Strings CHARACTER(LEN=255) :: errMsg, thisLoc !======================================================================== ! ConvertSpc_KgKgDry_to_MND begins here! !======================================================================== ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = & ' -> at ConvertSpc_KgKgDry_to_MND (in GeosUtil/unitconv_mod.F90)' !======================================================================== ! ! The conversion is as follows: ! ! kg species(N) kg air molec mol species(N) m3 ! ----------- * -------- * ----- * ------------- * ------- ! kg dry air m3 mol kg 1E6 cm3 ! ! = mixing ratio * air density * Avogadro's # / MW * conversion factors ! ! = molecules per cm3 ! ! Therefore, with: ! ! AVO = Avogadro's # ! AIRDEN(I,J,L) = grid box dry air density [kg/m3] ! MW_KG = molecules species / kg species ! ! the conversion is: ! ! Spcies(I,J,L,N) [molecules/cm3] ! ! = Species(I,J,L,N) [kg/kg] * AIRDEN(I,J,L) * AVO / MW_KG / 1e6 ! ! NOTES: ! (1) Use AD/AIRVOL instead of AIRDEN to preserve legacy method !======================================================================== ! Loop over all species !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( S, N, MW_kg, const ) DO S = 1, SIZE( mapping ) ! Get the modelId from the mapping array N = mapping(S) ! Molecular weight for the species [kg] MW_kg = State_Chm%SpcData(N)%Info%MW_g * 1.e-3_fp ! Compute this constant term once const = ( AVO / MW_kg ) / 1.0e+6_fp ! Convert species concentration units State_Chm%Species(N)%Conc = & State_Chm%Species(N)%Conc * State_Met%AIRDEN * const #ifdef ADJOINT IF ( isAdjoint ) THEN State_Chm%SpeciesAdj(:,:,:,N) = & State_Chm%SpeciesAdj(:,:,:,N) * State_Met%AIRDEN * const ENDIF #endif ! Update units metadata State_Chm%Species(N)%Units = MOLECULES_SPECIES_PER_CM3 ENDDO !$OMP END PARALLEL DO END SUBROUTINE ConvertSpc_KgKgDry_to_MND !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ConvertSpc_mnd_to_kgkgdry ! ! !DESCRIPTION: Subroutine ConvertSpc\_MND\_to\_KgKgDry converts the units of ! species concentrations from molecular number density (MND) [molecules/cm3] ! to dry mass mixing ratio [kg/kg dry air]. !\\ !\\ ! !INTERFACE: ! SUBROUTINE ConvertSpc_MND_to_KgKgDry( State_Chm, State_Grid, State_Met, & mapping, isAdjoint, RC ) ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology state object INTEGER, INTENT(IN) :: mapping(:) ! Species map to modelId LOGICAL, INTENT(IN) :: isAdjoint ! Is this reverse integration? ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry state object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 21 Jul 2016 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N, S REAL(fp) :: const, MW_kg ! Strings CHARACTER(LEN=255) :: errMsg, thisLoc !======================================================================== ! ConvertSpc_MND_to_KgKgDry begins here! !======================================================================== ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = & ' -> at ConvertSpc_MND_to_KgKgDry (in GeosUtil/unitconv_mod.F90)' !==================================================================== ! ! The conversion is as follows: ! ! molec species(N) mol kg species(N) m3 1E6 cm3 ! ---------------- * ----- * -------------- * ------ * ------- ! cm3 molec mol species(N) kg air m3 ! ! ! = # density / Avogadro's # * MW / air density * conversion factors ! ! = kg species / kg dry air ! ! Therefore, with: ! ! AVO = Avogadro's # ! AIRDEN(I,J,L) = grid box dry air density [kg/m3] ! MW_KG = molecules species / kg species ! ! the conversion is: ! ! Spcies(I,J,L,N) [kg/kg dry air] ! ! = Species(I,J,L,N) [molecules/cm3] * AIRDEN(I,J,L) * AVO / MW_KG / 1e6 ! ! NOTES: ! (1) Use exact reverse of the mixing ratio -> # density conversion to ! avoid numerical noise differences ! (2) Use AD/AIRVOL instead of AIRDEN to preserve legacy method ! !======================================================================== ! Loop over species !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( S, N, MW_kg, const ) DO S = 1, SIZE( mapping ) ! Get the modelId from the mapping array N = mapping(S) ! Molecular weight for the species [kg] MW_kg = State_Chm%SpcData(N)%Info%MW_g * 1.e-3_fp ! Compute this constant term once const = 1.0e+6_fp / ( AVO / MW_kg ) ! Convert species concentration units State_Chm%Species(N)%Conc = & State_Chm%Species(N)%Conc * const / State_Met%AIRDEN #ifdef ADJOINT IF ( isAdjoint ) THEN State_Chm%SpeciesAdj(:,:,:,N) = & State_Chm%SpeciesAdj(:,:,:,N) * const / State_Met%AIRDEN ENDIF #endif ! Update units metadata State_Chm%Species(N)%Units = KG_SPECIES_PER_KG_DRY_AIR ENDDO !$OMP END PARALLEL DO END SUBROUTINE ConvertSpc_MND_to_KgKgDry !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ConvertSpc_vvdry_to_kg ! ! !DESCRIPTION: Subroutine ConvertSpc\_VVDry\_to\_Kg converts the units of ! species concentrations from dry volume mixing ratio ! [mol species/mol dry air] to species mass per grid box [kg]. !\\ !\\ ! !INTERFACE: ! SUBROUTINE ConvertSpc_VVDry_to_Kg( State_Chm, State_Grid, State_Met, & mapping, isAdjoint, RC ) ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology state object INTEGER, INTENT(IN) :: mapping(:) ! Species map to modelId LOGICAL, INTENT(IN) :: isAdjoint ! Is this reverse integration? ! ! !INPUT/OUTPUT PARAMETERS: ! ! Object containing species concentration TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry state object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! This routine replaces legacy routine CONVERT_UNITS and will be removed ! once GEOS-Chem is entirely area independent ! ! !REVISION HISTORY: ! 21 Jul 2016 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N, S REAL(fp) :: const ! Strings CHARACTER(LEN=255) :: errMsg, thisLoc !======================================================================== ! ConvertSpc_VVDry_to_Kg begins here! !======================================================================== ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = & ' -> at ConvertSpc_VVDry_to_Kg (in GeosUtil/unitconv_mod.F90)' !======================================================================== ! ! The conversion is as follows: ! ! mol species(N) g/mol species(N) ! ------------- * kg dry air * ---------------- ! mol dry air g/mol dry air ! ! = volume mixing ratio * dry air mass * MW species(N) / MW dry air ! ! = kg species(N) ! ! Therefore, with: ! ! AD(I,J,L) = grid box dry air mass [kg] ! AIRMW = dry air molecular wt [g/mol] ! MW_G(N) = species molecular wt [g/mol] ! ! the conversion is: ! ! SPECIES(I,J,L,N) [kg] ! ! = SPECIES(I,J,L,N) [v/v] * AD(I,J,L) / ( AIRMW / MW_G(N) ) ! !======================================================================== ! Loop over all species !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( S, N, const ) DO S = 1, SIZE( mapping ) ! Get the modelId from the mapping array N = mapping(S) ! Compute this constant term only once const = AIRMW / State_Chm%SpcData(N)%Info%MW_g ! Convert species concentration units State_Chm%Species(N)%Conc = & State_Chm%Species(N)%Conc * State_Met%AD / const #ifdef ADJOINT IF ( isAdjoint ) THEN State_Chm%SpeciesAdj(:,:,:,N) = & State_Chm%SpeciesAdj(:,:,:,N) * State_Met%AD / const ENDIF #endif ! Update units metadata State_Chm%Species(N)%Units = KG_SPECIES ENDDO !$OMP END PARALLEL DO END SUBROUTINE ConvertSpc_VVDry_to_Kg !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ConvertSpc_kg_to_vvdry ! ! !DESCRIPTION: Subroutine ConvertSpc\_Kg\_to\_VVDry converts the units of ! species concentrations from species mass per grid box [kg] to dry volume ! mixing ratio [mol species/mol dry air]. !\\ !\\ ! !INTERFACE: ! SUBROUTINE ConvertSpc_Kg_to_VVDry( State_Chm, State_Grid, State_Met, & mapping, isAdjoint, RC ) ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology state object INTEGER, INTENT(IN) :: mapping(:) ! Species map to modelId LOGICAL, INTENT(IN) :: isAdjoint ! Is this reverse integration? ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry state object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! This routine replaces legacy routine CONVERT_UNITS and will be removed ! once GEOS-Chem is entirely area independent ! ! !REVISION HISTORY: ! 21 Jul 2016 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N, S REAL(fp) :: const ! Strings CHARACTER(LEN=255) :: errMsg, thisLoc !======================================================================== ! ConvertSpc_Kg_to_VVDry begins here! !======================================================================== ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = & ' -> at ConvertSpc_Kg_to_VVDry (in GeosUtil/unitconv_mod.F90)' !======================================================================== ! ! The conversion is as follows: ! ! 1 g/mol dry air ! kg species(N) * -------------- * ---------------- ! kg dry air g/mol species(N) ! ! = kg species(N) / dry air mass * MW dry air / MW species(N) ! ! = volume mixing ratio ! ! Therefore, with: ! ! AD(I,J,L) = grid box dry air mass [kg] ! AIRMW = dry air molecular wt [g/mol] ! MW_G(N) = species molecular wt [g/mol] ! ! the conversion is: ! ! Species(I,J,L,N) [v/v] ! ! = Species(I,J,L,N) [kg] * ( AIRMW / MW_G(N) ) / AD(I,J,L) ! !======================================================================== ! Loop over all species !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( S, N, const ) DO S = 1, SIZE( mapping ) ! Get the modelId from the mapping array N = mapping(S) ! Compute this constant only once const = AIRMW / State_Chm%SpcData(N)%Info%MW_g ! Convert species concentration units State_Chm%Species(N)%Conc = & State_Chm%Species(N)%Conc * const / State_Met%AD #ifdef ADJOINT IF ( isAdjoint ) THEN State_Chm%SpeciesAdj(:,:,:,N) = & State_Chm%SpeciesAdj(:,:,:,N) * const / State_Met%AD ENDIF #endif ! Update units metadata State_Chm%Species(N)%Units = MOLES_SPECIES_PER_MOLES_DRY_AIR ENDDO !$OMP END PARALLEL DO END SUBROUTINE ConvertSpc_Kg_to_VVDry !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ConvertSpc_kgkgdry_to_kg ! ! !DESCRIPTION: Subroutine ConvertSpc\_KgKgDry\_to\_Kg converts the units of ! species concentrations from dry mass mixing ratio ! [kg species/kg dry air] to species mass per grid box [kg]. !\\ !\\ ! !INTERFACE: ! SUBROUTINE ConvertSpc_KgKgDry_to_Kg( State_Chm, State_Grid, State_Met, & mapping, isAdjoint, RC ) ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology state object INTEGER, INTENT(IN) :: mapping(:) ! Species map to modelId LOGICAL, INTENT(IN) :: isAdjoint ! Is this reverse integration? ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry state object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 21 Jul 2016 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N, S ! Strings CHARACTER(LEN=255) :: errMsg, thisLoc !======================================================================== ! ConvertSpc_KgKgDry_to_Kg begins here! !======================================================================== ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = & ' -> at ConvertSpc_KgKgDry_to_Kg (in GeosUtil/unitconv_mod.F90)' !======================================================================== ! ! The conversion is as follows: ! ! kg species(N) ! ----------- * kg dry air ! kg dry air ! ! = mass mixing ratio * dry air mass ! ! = kg species(N) ! ! Therefore, with: ! ! AD(I,J,L) = grid box dry air mass [kg] ! ! the conversion is: ! ! Species(I,J,L,N) [kg] ! ! = Species(I,J,L,N) [kg/kg] * AD(I,J,L) ! !======================================================================== !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( S, N ) DO S = 1, SIZE( mapping ) ! Get the modelId from the mapping array N = mapping(S) ! Convert species concentration units State_Chm%Species(N)%Conc = & State_Chm%Species(N)%Conc * State_Met%AD #ifdef ADJOINT IF ( isAdjoint ) THEN State_Chm%SpeciesAdj(:,:,:,N) = & State_Chm%SpeciesAdj(:,:,:,N) * State_Met%AD ENDIF #endif ! Update units metadata State_Chm%Species(N)%Units = KG_SPECIES ENDDO !$OMP END PARALLEL DO END SUBROUTINE ConvertSpc_KgKgDry_to_Kg !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ConvertSpc_kg_to_kgkgdry ! ! !DESCRIPTION: Subroutine ConvertSpc\_Kg\_to\_KgKgDry converts the units of ! species concentrations from species mass per grid box [kg] to dry mass ! mixing ratio [kg species/kg dry air]. !\\ !\\ ! !INTERFACE: ! SUBROUTINE ConvertSpc_Kg_to_KgKgDry( State_Chm, State_Grid, State_Met, & mapping, isAdjoint, RC ) ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology state object INTEGER, INTENT(IN) :: mapping(:) ! Species map to modelId LOGICAL, INTENT(IN) :: isAdjoint ! Is this reverse integration? ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry state object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 21 Jul 2016 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N, S ! Strings CHARACTER(LEN=255) :: errMsg, thisLoc !======================================================================== ! ConvertSpc_Kg_to_KgKgDry begins here! !======================================================================== ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = & ' -> at ConvertSpc_Kg_to_KgKgDry (in GeosUtil/unitconv_mod.F90)' !======================================================================== ! ! The conversion is as follows: ! ! 1 ! kg species(N) * -------------- ! kg dry air ! ! = kg species(N) / dry air mass ! ! = mass mixing ratio ! ! Therefore, with: ! ! AD(I,J,L) = grid box dry air mass [kg] ! ! the conversion is: ! ! Species(I,J,L,N) [kg/kg] ! ! = Species(I,J,L,N) [kg] / AD(I,J,L) ! !======================================================================== !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( S, N ) DO S = 1, SIZE( mapping ) ! Get the modelId from the mapping array N = mapping(S) ! Convert species concentration units State_Chm%Species(N)%Conc = & State_Chm%Species(N)%Conc / State_Met%AD #ifdef ADJOINT IF ( isAdjoint ) THEN State_Chm%SpeciesAdj(:,:,:,N) = & State_Chm%SpeciesAdj(:,:,:,N) / State_Met%AD ENDIF #endif ! Update units metadata State_Chm%Species(N)%Units = KG_SPECIES_PER_KG_DRY_AIR ENDDO !$OMP END PARALLEL DO END SUBROUTINE ConvertSpc_Kg_to_KgKgDry !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ConvertSpc_mnd_to_kg ! ! !DESCRIPTION: Subroutine ConvertSpc\_MND\_to\_Kg converts the units of ! species concentrations from molecular number density (MND) ! [molecules/cm3] to mass per grid box [kg]. !\\ !\\ ! !INTERFACE: ! SUBROUTINE ConvertSpc_MND_to_Kg( State_Chm, State_Grid, State_Met, & mapping, isAdjoint, RC ) ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology state object INTEGER, INTENT(IN) :: mapping(:) ! Species map to modelId LOGICAL, INTENT(IN) :: isAdjoint ! Is this reverse integration? ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry state object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 21 Jul 2016 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N, S REAL(fp) :: const, MW_kg ! Strings CHARACTER(LEN=255) :: errMsg, thisLoc !======================================================================== ! ConvertSpc_MND_to_Kg begins here! !======================================================================== ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = & ' -> at ConvertSpc_MND_to_Kg (in GeosUtil/unitconv_mod.F90)' !======================================================================== ! ! The conversion is as follows: ! ! molec species(N) mol kg species(N) box m3 1E6 cm3 ! ---------------- * ----- * -------------- * ------ * ------- ! cm3 molec mol species(N) 1 m3 ! ! ! = # density / Avogadro's # * MW / box volume * conversion factors ! ! = kg species ! ! Therefore, with: ! ! AVO = Avogadro's # ! AIRVOL(I,J,L) = grid box volume [m3] ! MW_KG = molecules species / kg species ! ! the conversion is: ! ! Species(I,J,L,N) [kg] ! ! = Species(I,J,L,N) [molec/cm3] * AIRVOL(I,J,L) / AVO * MW_KG * 1e6 ! = Species(I,J,L,N) [molec/cm3] * [1e6 / (AVO / MW_KG)] * AIRVOL(I,J,L) ! ! NOTES: ! (1) Use exact reverse of the species mass -> # density conversion to ! avoid numerical noise differences ! !======================================================================== ! Loop over all species !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( S, N, MW_kg, const ) DO S = 1, SIZE( mapping ) ! Get the modelId from the mapping array N = mapping(S) ! Molecular weight for the species [g] MW_kg = State_Chm%SpcData(N)%Info%MW_g * 1.e-3_fp ! Define this constant term only once const = 1.0e6_fp / ( AVO / MW_kg ) ! Convert species concentration units State_Chm%Species(N)%Conc = & State_Chm%Species(N)%Conc * const * State_Met%AIRVOL #ifdef ADJOINT IF ( isAdjoint ) THEN State_Chm%SpeciesAdj(:,:,:,N) = & State_Chm%SpeciesAdj(:,:,:,N) * const * State_Met%AIRVOL ENDIF #endif ! Update units metadata State_Chm%Species(N)%Units = KG_SPECIES ENDDO !$OMP END PARALLEL DO END SUBROUTINE ConvertSpc_MND_to_Kg !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ConvertSpc_kg_to_mnd ! ! !DESCRIPTION: Subroutine ConvertSpc\_Kg\_to\_MND converts the units of ! species concentrations from mass per grid box [kg] to molecular ! number density (MND) [molecules/cm3]. !\\ !\\ ! !INTERFACE: ! SUBROUTINE ConvertSpc_Kg_to_MND( State_Chm, State_Grid, State_Met, & mapping, isAdjoint, RC ) ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology state object INTEGER, INTENT(IN) :: mapping(:) ! Species map to modelId LOGICAL, INTENT(IN) :: isAdjoint ! Is this reverse integration? ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry state object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 21 Jul 2016 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N, S REAL(fp) :: const, MW_kg ! Strings CHARACTER(LEN=255) :: errMsg, thisLoc !======================================================================== ! ConvertSpc_Kg_to_MND begins here! !======================================================================== ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = & ' -> at ConvertSpc_Kg_to_MND (in GeosUtil/unitconv_mod.F90)' !======================================================================== ! ! The conversion is as follows: ! ! molec mol species(N) 1 m3 ! kg species(N) * ----- * -------------- * ------ * ------- ! mol kg species(N) box m3 1E6 cm3 ! ! = species mass * Avogadro's # / MW / box volume * conversion factors ! ! = molecules per cm3 ! ! Therefore, with: ! ! AVO = Avogadro's # ! AIRVOL(I,J,L) = grid box volume [m3] ! MW_KG = molecules species / kg species ! ! the conversion is: ! ! Spcies(I,J,L,N) [molecules/cm3] ! ! = Species(I,J,L,N) [kg] / AIRVOL(I,J,L) * AVO / MW_KG / 1e6 ! = Species(I,J,L,N) [kg] * [ AVO / MW_KG / 1e6 ] / AIRVOL(I,J,L) ! !======================================================================== ! Loop over all species !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED )& !$OMP PRIVATE( S, N, MW_kg, const ) DO N = 1, State_Chm%nSpecies ! Molecular weight for the species [kg] MW_kg = State_Chm%SpcData(N)%Info%MW_g * 1.e-3_fp ! Compute this constant term only once const = ( AVO / MW_kg ) / 1.0e6_fp ! Convert species concentration units State_Chm%Species(N)%Conc = & State_Chm%Species(N)%Conc * const / State_Met%AIRVOL #ifdef ADJOINT IF ( isAdjoint ) THEN State_Chm%SpeciesAdj(:,:,:,N) = & State_Chm%SpeciesAdj(:,:,:,N) * const / State_Met%AIRVOL ENDIF #endif ! Update units metadata State_Chm%Species(N)%Units = MOLECULES_SPECIES_PER_CM3 ENDDO !$OMP END PARALLEL DO END SUBROUTINE ConvertSpc_Kg_to_MND !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ConvertBox_kgkgdry_to_kg ! ! !DESCRIPTION: Subroutine ConvertBox\_KgKgDry\_to\_Kg converts the units of ! species concentrations from dry mass mixing ratio [kg tracer/kg dry air] ! to tracer mass per grid box [kg] for a single grid box. This routine is ! temporary during the unit transition of TOMAS to area-independence. !\\ !\\ ! !INTERFACE: ! SUBROUTINE ConvertBox_KgKgDry_to_Kg( I, J, L, & State_Met, State_Chm, isAdjoint ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I, J, L ! Grid box indices TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology state object LOGICAL, INTENT(IN) :: isAdjoint ! Reverse integration? ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry state object ! ! !REMARKS: ! This routine is temporary and is only used for local conversion of species ! concentrations for use in TOMAS within wetscav_mod routine WASHOUT. ! That routine is called within a parallel do loop and therefore units can ! only be converted per grid box to avoid excessive computation time. Also, ! State_Chm%Spc_Units cannot be changed within the parallel do loop without ! causing problems. It is therefore left out of this routine. ! ! !REVISION HISTORY: ! 16 Sep 2016 - E. Lundgren - Initial version, an adaptation of ! convertspc_kgkgdry_to_kg ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! LOCAL VARIABLES: ! INTEGER :: N !======================================================================== ! ConvertBox_KgKgDry_to_Kg begins here! !======================================================================== !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( N ) DO N = 1, State_Chm%nSpecies ! Convert species concentration units State_Chm%Species(N)%Conc(I,J,L) = & State_Chm%Species(N)%Conc(I,J,L) * State_Met%AD(I,J,L) #ifdef ADJOINT IF ( isAdjoint ) THEN State_Chm%SpeciesAdj(I,J,L,N) = & State_Chm%SpeciesAdj(I,J,L,N) * State_Met%AD(I,J,L) ENDIF #endif ENDDO !$OMP END PARALLEL DO END SUBROUTINE ConvertBox_KgKgDry_to_Kg !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ConvertBox_kg_to_kgkgdry ! ! !DESCRIPTION: Subroutine ConvertBox\_Kg\_to\_KgKgDry converts the units of ! species concentrations from species mass per grid box [kg] to mass ! mixing ratio [kg tracer/kg dry air] for a single grid box. ! This routine is temporary during the unit transition of TOMAS to ! area-independence. !\\ !\\ ! !INTERFACE: ! SUBROUTINE ConvertBox_Kg_to_KgKgDry( I, J, L, & State_Met, State_Chm, isAdjoint ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I, J, L ! Grid box indices TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology state object LOGICAL, INTENT(IN) :: isAdjoint ! Reverse integration? ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry state object ! ! !REMARKS: ! This routine is temporary and is only used for local conversion of species ! concentrations for use in TOMAS within wetscav_mod routine WASHOUT. ! That routine is called within a parallel do loop and therefore units can ! only be converted per grid box to avoid excessive computation time. Also, ! State_Chm%Spc_Units cannot be changed within the parallel do loop without ! causing problems. It is therefore left out of this routine. ! ! !REVISION HISTORY: ! 16 Sep 2016 - E. Lundgren - Initial version, an adaptation of ! convertspc_kg_to_kgkgdry ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! LOCAL VARIABLES: ! INTEGER :: N !======================================================================== ! ConvertBox_Kg_to_KgKgDry begins here! !======================================================================== !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( N ) DO N = 1, State_Chm%nSpecies ! Convert species concentration units State_Chm%Species(N)%Conc(I,J,L) = & State_Chm%Species(N)%Conc(I,J,L) / State_Met%AD(I,J,L) #ifdef ADJOINT IF ( isAdjoint ) THEN State_Chm%SpeciesAdj(I,J,L,N) = & State_Chm%SpeciesAdj(I,J,L,N) / State_Met%AD(I,J,L) ENDIF #endif ENDDO !$OMP END PARALLEL DO END SUBROUTINE ConvertBox_Kg_to_KgKgDry !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ConvertBox_kgm2_to_kg ! ! !DESCRIPTION: Subroutine ConvertBox\_Kgm2\_to\_Kg converts the units of area ! density [kg/m2] to mass [kg] for a single grid box. This routine is ! temporary during the unit transition of TOMAS to area-independence. !\\ !\\ ! !INTERFACE: ! SUBROUTINE ConvertBox_Kgm2_to_Kg( I, J, L, & State_Chm, State_Grid, isAdjoint ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I, J, L ! Grid box indices TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object LOGICAL, INTENT(IN) :: isAdjoint ! Reverse integration? ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry state object ! ! !REMARKS: ! This routine is temporary and is only used for local conversion of species ! concentrations for use in TOMAS within wetscav_mod routine WASHOUT. ! That routine is called within a parallel do loop and therefore units can ! only be converted per grid box to avoid excessive computation time. Also, ! State_Chm%Spc_Units cannot be changed within the parallel do loop without ! causing problems. It is therefore left out of this routine. ! ! !REVISION HISTORY: ! 21 Jul 2016 - E. Lundgren - Initial version - convert single grid box only ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: N !======================================================================== ! ConvertBox_Kgm2_to_Kg begins here! !======================================================================== !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( N ) DO N = 1, State_Chm%nSpecies ! Convert species concentration units State_Chm%Species(N)%Conc(I,J,L) = & State_Chm%Species(N)%Conc(I,J,L) * State_Grid%Area_M2(I,J) #ifdef ADJOINT IF ( isAdjoint ) THEN State_Chm%SpeciesAdj(I,J,L,N) = & State_Chm%SpeciesAdj(I,J,L,N) * State_Grid%Area_M2(I,J) ENDIF #endif ENDDO !$OMP END PARALLEL DO END SUBROUTINE ConvertBox_Kgm2_to_Kg !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ConvertBox_kg_to_kgm2 ! ! !DESCRIPTION: Subroutine ConvertBox\_Kg\_to\_kgm2 converts the units of ! mass [kg] to area density [kg/m2] for a single grid box. This routine is ! temporary during the unit transition of TOMAS to area-independence. !\\ !\\ ! !INTERFACE: ! SUBROUTINE ConvertBox_Kg_to_Kgm2( I, J, L, & State_Chm, State_Grid, isAdjoint ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I, J, L ! Grid box indexes TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object LOGICAL, INTENT(IN) :: isAdjoint ! Reverse integration? ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry state object ! ! !REMARKS: ! This routine is temporary and is only used for local conversion of species ! concentrations for use in TOMAS within wetscav_mod routine WASHOUT. ! That routine is called within a parallel do loop and therefore units can ! only be converted per grid box to avoid excessive computation time. Also, ! State_Chm%Spc_Units cannot be changed within the parallel do loop without ! causing problems. It is therefore left out of this routine. ! ! !REVISION HISTORY: ! 21 Jul 2016 - E. Lundgren - Initial version - convert single grid box only ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: N !======================================================================== ! ConvertBox_Kg_to_Kgm2 begins here! !======================================================================== !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( N ) DO N = 1, State_Chm%nSpecies ! Convert species concentration units State_Chm%Species(N)%Conc(I,J,L) = & State_Chm%Species(N)%Conc(I,J,L) / State_Grid%Area_M2(I,J) #ifdef ADJOINT IF ( isAdjoint ) THEN State_Chm%SpeciesAdj(I,J,L,N) = & State_Chm%SpeciesAdj(I,J,L,N) / State_Grid%Area_M2(I,J) ENDIF #endif ENDDO !$OMP END PARALLEL DO END SUBROUTINE ConvertBox_Kg_to_Kgm2 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Check_Units ! ! !DESCRIPTION: Returns .TRUE. if all species have the same units, or ! .FALSE. if not. !\\ ! !INTERFACE: ! FUNCTION Check_Units( State_Chm, units, mapping ) RESULT( same ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: units ! Input units flag INTEGER, OPTIONAL, POINTER :: mapping(:) ! Species ID -> modelId ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object ! ! !RETURN VALUE: ! LOGICAL :: same ! All species in same units? ! ! !REVISION HISTORY: ! 30 Nov 2023 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER, POINTER :: theMapping(:) !======================================================================== ! Check_Units begins here! !======================================================================== ! Point to the mapping array (or use all species if not passed) theMapping => State_Chm%Map_All IF ( PRESENT( mapping ) ) theMapping => mapping ! Are all species in the same units? same = ALL( State_Chm%Species(theMapping)%Units == units ) ! Free pointer theMapping => NULL() END FUNCTION Check_Units !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Print_Species_Units ! ! !DESCRIPTION: Prints each species name and its units. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Print_Species_Units( State_Chm, mapping ) ! ! !USES: ! USE State_Chm_Mod, ONLY : ChmState ! ! !INPUT PARAMETERS: ! TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry state object INTEGER, OPTIONAL, POINTER :: mapping(:) ! Species Id -> modelId ! ! !REVISION HISTORY: ! 23 Feb 2024 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N, S ! Pointers INTEGER, POINTER :: theMapping(:) !======================================================================== ! Print_Species_Units begins here! !======================================================================== ! Assume all species will be printed if mapping is not passed theMapping => State_Chm%Map_All IF ( PRESENT( mapping ) ) theMapping => mapping ! Loop over species DO S = 1, SIZE( theMapping ) ! Get the modelId for each species N = theMapping(S) WRITE( 6, 100 ) N, ADJUSTL( State_Chm%SpcData(N)%Info%Name ), & UNIT_STR( State_Chm%Species(N)%Units ) 100 FORMAT( i5, 1x, a20, 1x, a ) ENDDO ! Free pointer theMapping => NULL() END SUBROUTINE Print_Species_Units !EOC END MODULE UnitConv_Mod ================================================ FILE: Headers/.cvsignore ================================================ *.mod *.o *.a *.pdf *.ps *.tex geos ================================================ FILE: Headers/.gitignore ================================================ *.[oax] *.mod *.MOD *~* geos geostomas geosapm *.pp.* *.pdb *.inst.* *.continue.* *.ppk core.* ================================================ FILE: Headers/CMN_FJX_MOD.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: CMN_FJX_mod.F90 ! ! !DESCRIPTION: Module CMN\_FJX\_MOD contains parameters and global variables ! used to interface between Harvard chemistry and UC-Irvine photolysis ! programs (Fast-J/Fast-JX). Contents of this module previously were in ! Headers/CMN_FJX_MOD.F90. That module was split into this file and ! Headers/CMN_Phot_mod.F90 for the development of Cloud-J to replace ! Fast-JX. This module will be used only in Fast-JX and not in Cloud-J. !\\ !\\ ! !INTERFACE: ! MODULE CMN_FJX_MOD ! ! !USES: ! USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE PUBLIC ! ! !DEFINED PARAMETERS: ! !----------------------------------------------------------------------- ! Parameters !----------------------------------------------------------------------- INTEGER, PARAMETER :: JVN_ = 167 ! Max number of J-values INTEGER, PARAMETER :: WX_ = 18 ! # wavelengths in file FJX_spec.dat INTEGER, PARAMETER :: X_ = 123 ! Max # X-section data in FJX_spec.dat INTEGER, PARAMETER :: A_ = 56 ! # aerosol/cloud Mie sets #ifdef MODEL_GEOS !!!INTEGER, PARAMETER :: N_ = 601 !!!INTEGER, PARAMETER :: N_ = 1201 INTEGER :: N_ #else INTEGER, PARAMETER :: N_ = 601 ! # levels in Mie scattering arrays ! = 2*NC+1 = 4*(L_+1) + 1 + 2*sum(JADDLV) #endif INTEGER, PARAMETER :: M_ = 4 ! # Gauss points used (must be 4 in FJX) INTEGER, PARAMETER :: M2_ = 2*M_ ! M2_ = 2*M_ = 8, replaces MFIT ! 4 Gauss pts = 8-stream REAL(fp), DIMENSION(M_), PARAMETER :: & EMU = [.06943184420297e+0_fp, .33000947820757e+0_fp, & .66999052179243e+0_fp, .93056815579703e+0_fp] REAL(fp), DIMENSION(M_), PARAMETER :: & WT = [.17392742256873e+0_fp, .32607257743127e+0_fp, & .32607257743127e+0_fp, .17392742256873e+0_fp] ! Physical constants REAL(fp), PARAMETER :: ZZHT = 5.e+5_fp ! ZZHT: scale height (cm) REAL(fp), PARAMETER :: RAD = 6375.e+5_fp ! RAD: Radius of Earth (cm) REAL(fp), PARAMETER :: ATAU = 1.120e+0_fp ! ATAU: heating rate (factor ! increase layer to layer #ifdef MODEL_GEOS !REAL(fp), PARAMETER :: ATAU = 1.180e+0_fp #endif REAL(fp), PARAMETER :: ATAU0 = 0.010e+0_fp ! ATAU0: minimum heating rate !----------------------------------------------------------------------- ! Array dimension sizes set in Init_CMN_FJX at run-time !----------------------------------------------------------------------- INTEGER :: L_ ! Number of CTM layers INTEGER :: L1_ ! Number of CTM layer edges INTEGER :: L2_ ! Number of levels in FJX grid that ! inc. both edges and mid-points INTEGER :: JVL_ ! Vertical levels for J-values INTEGER :: AN_ ! # of separate aerosols per layer INTEGER :: JXL_ ! Vertical level for Jvals (mid) INTEGER :: JXL1_ ! Vertical level for Jvals (edge) INTEGER :: JXL2_ ! Max # levels in Fast-JX grid (mid) INTEGER :: W_ ! # wavelength bins INTEGER :: JTAUMX ! Max # divisions, i.e. < ATAUMN !----------------------------------------------------------------------- ! RD_XXX variables (file 'FJX_spec.dat') !----------------------------------------------------------------------- INTEGER :: NW1 INTEGER :: NW2 ! WL: Centres of wavelength bins - 'effective wavelength' REAL(fp) :: WL(WX_) ! FL: Solar flux incident on top of atmosphere (cm-2.s-1) REAL(fp) :: FL(WX_) ! QRAYL: Rayleigh parameters (effective cross-section) (cm2) REAL(fp) :: QRAYL(WX_+1) ! TITLEJX: Title for supplied cross sections, from 'FJX_spec.dat' CHARACTER*6 :: TITLEJX(X_) ! LQQQ = 1, 2, or 3 to determine interpolation with T or P INTEGER :: LQQ(X_) ! SQQ: Flag for supplied cross sections, from 'FJX_spec.dat' CHARACTER*1 :: SQQ(X_) ! TQQ: Temperature for supplied cross sections REAL(fp) :: TQQ(3,X_) ! QQQ: Supplied cross sections in each wavelength bin (cm2) REAL(fp) :: QQQ(WX_,3,X_) ! NJX: Number of species to calculate J-values for INTEGER :: NJX ! O2 and O3 cross-sections, and O3 => O(1D) quantum yield REAL(fp) :: QO2(WX_,3) REAL(fp) :: QO3(WX_,3) REAL(fp) :: Q1D(WX_,3) ! WBIN: Boundaries of wavelength bins REAL(fp) :: WBIN(WX_+1) !----------------------------------------------------------------------- ! RD_MIE variables (file 'jv_spec_mie.dat') !----------------------------------------------------------------------- ! NAA: Number of categories for scattering phase functions INTEGER :: NAA ! TITLAA: Title per scattering data set, e.g. "01 RAYLE = Rayleigh phase" CHARACTER*80, DIMENSION(A_) :: TITLAA ! WAA: 5 Wavelengths for the supplied phase functions. 1st col in file. REAL(fp) :: WAA(5,A_) ! QAA: Aerosol scattering phase functions. 2nd col in file. REAL(fp) :: QAA(5,A_) ! RAA: Effective radius associated with aerosol type. 3rd col in file. REAL(fp) :: RAA(5,A_) ! SAA: Single scattering albedo. 4th col in file. REAL(fp) :: SAA(5,A_) ! PAA: Phase function: first 8 terms of expansion. Cols 5:12 in file. REAL(fp) :: PAA(8,5,A_) !----------------------------------------------------------------------- ! RD_JS_JX variables (file 'FJX_j2j.dat') !----------------------------------------------------------------------- ! Label of J-value used in the main chem model CHARACTER*50 :: JLABEL(JVN_) ! Multiplication factor for fast-JX calculated J REAL(fp) :: JFACTA(JVN_) ! Mumber of Photolysis reactions in CTM chemistry, derived here NRATJ ! must be .le. JVN_ INTEGER :: NRATJ ! Names of photolysis species CHARACTER (LEN=10) :: RNAMES(JVN_) ! Branches for photolysis species INTEGER :: BRANCH(JVN_) ! Index arrays that map Jvalue(j) onto rates INTEGER :: JIND(JVN_) CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_Cmn_FJX ! ! !DESCRIPTION: Routine INIT\_CMN\_FJX initializes quantities based on ! the grid-independent size parameters. !\\ !\\ ! !INTERFACE: SUBROUTINE Init_CMN_FJX( Input_Opt, State_Grid, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC !================================================================= ! INIT_CMN_FJX begins here! !================================================================= L_ = State_Grid%NZ ! Number of CTM layers L1_ = L_+1 ! Number of CTM layer edges L2_ = L1_*2 ! Number of levels in FJX grid that ! inc. both edges and mid-points JVL_ = State_Grid%NZ ! Vertical levs for J-values JXL_ = State_Grid%NZ ! Vertical levs for J-values computed w/in Fast-JX JXL1_ = JXL_+1 ! Vertical levs edges for J-values JXL2_ = 2*JXL_+2 ! Max # levs in the basic Fast-JX grid (mid-level) #ifdef MODEL_GEOS ! N_ = no. of levels in Mie scattering arrays IF ( Input_Opt%LLFASTJX > 0 ) THEN N_ = Input_Opt%LLFASTJX ELSE N_ = 601 ENDIF #endif JTAUMX = ( N_ - 4*JXL_ ) / 2 ! Maximum number of divisions ( i.e., may ! not get to ATAUMN) AN_ = 37 ! # of separate aerosols per layer; Including PSCs W_ = 18 ! # of wavelength bins ! Initialize RNAMES to empty string (ckeller,12/29/17) RNAMES(:) = "" ! Return w/ success RC = GC_SUCCESS END SUBROUTINE Init_CMN_FJX !EOC END MODULE CMN_FJX_MOD ================================================ FILE: Headers/CMN_SIZE_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: CMN_SIZE_mod.F90 ! ! !DESCRIPTION: CMN\_SIZE contains size parameters for GEOS-Chem arrays. !\\ !\\ ! !INTERFACE: ! MODULE CMN_SIZE_MOD ! ! !USES: ! IMPLICIT NONE PUBLIC ! ! !DEFINED PARAMETERS: ! ! Model top pressure (mb) #if defined( MODEL_CESM ) REAL*8 :: PTOP #else REAL*8, PARAMETER :: PTOP = 0.01d0 #endif ! Maximum number of surface types: 73 olson INTEGER, PARAMETER :: NSURFTYPE = 73 ! Maximum number of veg types in a CTM grid box #if defined( EXTERNAL_GRID ) || defined( EXTERNAL_TYPE ) INTEGER, PARAMETER :: NTYPE = 50 #else INTEGER, PARAMETER :: NTYPE = 25 #endif !Number of coefficients for polynomial fits INTEGER, PARAMETER :: NPOLY = 20 ! Number of FAST-J aerosol size bins (rvm, bmy, 11/15/01) INTEGER, PARAMETER :: NDUST = 7 ! Number of aerosols undergoing hygroscopic growth INTEGER, PARAMETER :: NRHAER = 5 ! Number of stratospheric aerosols (SDE 04/17/13) INTEGER, PARAMETER :: NSTRATAER = 2 ! Number of other aerosol categories, include stratospheric aerosols INTEGER, PARAMETER :: NAER = NRHAER + NSTRATAER ! NRH -- number of relative humidity bins (rvm, bmy, 2/27/02) INTEGER, PARAMETER :: NRH = 5 ! Number of dust size bins for transport (tdf, bmy, 3/31/04) #if defined(TOMAS) #if defined(TOMAS40) INTEGER, PARAMETER :: NDSTBIN = 40 #elif defined(TOMAS15) INTEGER, PARAMETER :: NDSTBIN = 15 #elif defined(TOMAS12) INTEGER, PARAMETER :: NDSTBIN = 12 #else INTEGER, PARAMETER :: NDSTBIN = 30 #endif #else INTEGER, PARAMETER :: NDSTBIN = 7 ! (Extend to 7 dust bins, D. Zhang, 5 Mar 2025) #endif ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC !EOC END MODULE CMN_SIZE_MOD ================================================ FILE: Headers/CMakeLists.txt ================================================ # Headers/CMakeLists.txt #---------------------------------------------------------------------------- # Define libHeaders.a #---------------------------------------------------------------------------- add_library(Headers STATIC EXCLUDE_FROM_ALL aermass_container_mod.F90 charpak_mod.F90 CMN_FJX_MOD.F90 CMN_SIZE_mod.F90 diaglist_mod.F90 dictionary_m.F90 taggeddiaglist_mod.F90 errcode_mod.F90 input_opt_mod.F90 inquireMod.F90 phot_container_mod.F90 physconstants.F90 precision_mod.F90 qfyaml_mod.F90 registry_mod.F90 registry_params_mod.F90 roundoff_mod.F90 species_database_mod.F90 species_mod.F90 state_chm_mod.F90 state_diag_mod.F90 state_grid_mod.F90 state_met_mod.F90 ) # Define dependencies for libHeaders.a target_link_libraries(Headers PUBLIC KPP_FirstPass CloudJ_Core ) ================================================ FILE: Headers/aermass_container_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: aermass_container_mod.F90 ! ! !DESCRIPTION: Module AERMASS\_CONTAINER\_MOD contains the derived type used ! to store aerosol data used for computing optical depths and diagnostics. !\\ !\\ ! !INTERFACE: ! MODULE AerMass_Container_Mod ! ! USES: ! USE ErrCode_Mod USE Precision_Mod IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: Init_AerMass_Container PUBLIC :: Cleanup_AerMass_Container ! ! !PUBLIC DATA MEMBERS: ! !========================================================================= ! Derived type for aerosol data container !========================================================================= TYPE, PUBLIC :: AerMassContainer ! Arrays !======================================================================== ! OCFPOA : OM/OC for POA [unitless] - used in carbon_mod ! OCFOPOA : OM/OC for OPOA, OCPI, OCPO [unitless] - used in carbon_mod ! BCPI : Hydrophilic black carbon aerosol [kg/m3] ! BCPO : Hydrophobic black carbon aerosol [kg/m3] ! OCPI : Hydrophilic organic carbon aerosol [kg/m3] ! OCPO : Hydrophobic organic carbon aerosol [kg/m3] ! OCPISOA : Hydrophilic OC + SOA aerosol [kg/m3] ! SALA : Accumulation mode seasalt aerosol [kg/m3] ! ACL : Accumulation mode Cl aerosol [kg/m3] ! SALC : Coarse mode seasalt aerosol [kg/m3] ! SO4_NH4_NIT : Lumped SO4-NH4-NIT aerosol [kg/m3] ! SO4 : Sulfate aerosol [kg/m3] ! HMS : Hydroxymethane sulfonate aerosol [kg/m3] ! NH4 : Ammonium aerosol [kg/m3] ! NIT : Inorganic nitrate aerosol [kg/m3] ! SLA : Stratospheric liquid aerosol [kg/m3] ! SPA : Stratospheric particulate aerosol [kg/m3] ! TSOA : Terpene SOA [kg/m3] ! ASOA : Aromatic + IVOC SOA [kg/m3] ! OPOA : Aerosol product of SVOC oxidation [kg/m3] ! SOAGX : SOA product of GLYX [kg/m3] ! SOAIE : SOA product of IEPOX & HMML [kg/m3] ! PM25 : Particulate matter < 2.5 um [kg/m3] ! PM10 : Particulate matter < 10 um [kg/m3] ! PDER : Parameterized effective Radius for SNA and OM [nm] - used for AOD calcualtion (H. Zhu) ! ISOAAQ : Isoprene SOA (aqueous formation) [kg/m3] ! SOAS : Simple SOA [kg/m3] ! FRAC_SNA : ! DAERSL : Mass of hydrophobic aerosol (Mian Chin) ! WAERSL : Mass of hydrophilic aerosol (Mian Chin) !======================================================================== REAL(fp), POINTER :: OCFPOA (:,:) REAL(fp), POINTER :: OCFOPOA (:,:) REAL(fp), POINTER :: BCPI (:,:,:) REAL(fp), POINTER :: BCPO (:,:,:) REAL(fp), POINTER :: OCPI (:,:,:) REAL(fp), POINTER :: OCPO (:,:,:) REAL(fp), POINTER :: OCPISOA (:,:,:) REAL(fp), POINTER :: SALA (:,:,:) REAL(fp), POINTER :: ACL (:,:,:) REAL(fp), POINTER :: SALC (:,:,:) REAL(fp), POINTER :: SO4_NH4_NIT(:,:,:) REAL(fp), POINTER :: SO4 (:,:,:) REAL(fp), POINTER :: HMS (:,:,:) REAL(fp), POINTER :: NH4 (:,:,:) REAL(fp), POINTER :: NIT (:,:,:) REAL(fp), POINTER :: SLA (:,:,:) REAL(fp), POINTER :: SPA (:,:,:) REAL(fp), POINTER :: TSOA (:,:,:) REAL(fp), POINTER :: ASOA (:,:,:) REAL(fp), POINTER :: OPOA (:,:,:) REAL(fp), POINTER :: SOAGX (:,:,:) REAL(fp), POINTER :: PM25 (:,:,:) REAL(fp), POINTER :: PM10 (:,:,:) REAL(fp), POINTER :: PDER (:,:,:) !H. Zhu REAL(fp), POINTER :: SNAOM (:,:,:) !H. Zhu REAL(fp), POINTER :: R_OMSNA (:,:,:) !H. Zhu REAL(fp), POINTER :: ISOAAQ (:,:,:) REAL(fp), POINTER :: SOAS (:,:,:) REAL(fp), POINTER :: FRAC_SNA (:,:,:,:) REAL(fp), POINTER :: DAERSL (:,:,:,:) REAL(fp), POINTER :: WAERSL (:,:,:,:) END TYPE AerMassContainer ! ! !REMARKS: ! ! !REVISION HISTORY: ! 28 Mar 2023 - E. Lundgren- Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_AerMass_Container ! ! !DESCRIPTION: Subroutine INIT\_AER\_Container allocates and initializes ! the Aer container object. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_AerMass_Container( Input_Opt, State_Grid, Aer, RC ) ! ! !USES: ! USE CMN_Size_Mod, ONLY : NAER USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(AerMassContainer), POINTER :: Aer ! Aerosol data container ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 28 Mar 2023 - E. Lundgren- Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=255) :: errMsg, thisLoc INTEGER :: NX, NY, NZ !====================================================================== ! Init_AerMass_Container starts here !====================================================================== ! Initialize local variables RC = GC_SUCCESS thisLoc = ' -> at Init_AerMass_Container (in module Headers/aermass_container_mod.F90)' NX = State_Grid%NX NY = State_Grid%NY NZ = State_Grid%NZ ! Exit immediately if this is a dry-run IF ( Input_Opt%DryRun ) RETURN !====================================================================== ! Initialize arrays !====================================================================== ! OM/OC for POA ALLOCATE( Aer%OCFPOA( NX, NY ), STAT=RC ) CALL GC_CheckVar( 'OCFPOA', 0, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array OCFPOA!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Aer%OCFPOA = 0.0_fp ! OM/OC for OPOA, OCPI, OCPO ALLOCATE( Aer%OCFOPOA( NX, NY ), STAT=RC ) CALL GC_CheckVar( 'OCFOPOA', 0, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array OCFOPOA!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Aer%OCFOPOA = 0.0_fp ALLOCATE( Aer%BCPI( NX, NY, NZ ), STAT=RC ) CALL GC_CheckVar( 'BCPI', 0, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array BCPI!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Aer%BCPI = 0.0_fp ALLOCATE( Aer%BCPO( NX, NY, NZ ), STAT=RC ) CALL GC_CheckVar( 'BCPO', 0, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array BCPO!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Aer%BCPO = 0.0_fp ALLOCATE( Aer%OCPI( NX, NY, NZ ), STAT=RC ) CALL GC_CheckVar( 'OCPI', 0, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array OCPI!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Aer%OCPI = 0.0_fp ALLOCATE( Aer%OCPO( NX, NY, NZ ), STAT=RC ) CALL GC_CheckVar( 'OCPO', 0, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array OCPO!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Aer%OCPO = 0.0_fp ALLOCATE( Aer%OCPISOA( NX, NY, NZ ), STAT=RC ) CALL GC_CheckVar( 'OCPISOA', 0, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array OCPISOA!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Aer%OCPISOA = 0.0_fp ALLOCATE( Aer%SALA( NX, NY, NZ ), STAT=RC ) CALL GC_CheckVar( 'SALA', 0, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array SALA!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Aer%SALA = 0.0_fp ALLOCATE( Aer%SALC( NX, NY, NZ ), STAT=RC ) CALL GC_CheckVar( 'SALC', 0, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array SALC!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Aer%SALC = 0.0_fp ALLOCATE( Aer%ACL( NX, NY, NZ ), STAT=RC ) CALL GC_CheckVar( 'ACL', 0, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array ACL!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Aer%ACL = 0.0_fp ALLOCATE( Aer%SO4_NH4_NIT( NX, NY, NZ ), STAT=RC ) CALL GC_CheckVar( 'SO4_NH4_NIT', 0, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array SO4_NH4_NIT!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Aer%SO4_NH4_NIT = 0.0_fp ALLOCATE( Aer%SO4( NX, NY, NZ ), STAT=RC ) CALL GC_CheckVar( 'SO4', 0, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array SO4!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Aer%SO4 = 0.0_fp ! (jmm, 06/30/18) ALLOCATE( Aer%HMS( NX, NY, NZ ), STAT=RC ) CALL GC_CheckVar( 'HMS', 0, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array HMS!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Aer%HMS = 0.0_fp ALLOCATE( Aer%NH4( NX, NY, NZ ), STAT=RC ) CALL GC_CheckVar( 'NH4', 0, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array NH4!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Aer%NH4 = 0.0_fp ALLOCATE( Aer%NIT( NX, NY, NZ ), STAT=RC ) CALL GC_CheckVar( 'NIT', 0, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array NIT!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Aer%NIT = 0.0_fp ALLOCATE( Aer%SLA( NX, NY, NZ ), STAT=RC ) CALL GC_CheckVar( 'SLA', 0, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array SLA!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Aer%SLA = 0.0_fp ALLOCATE( Aer%SPA( NX, NY, NZ ), STAT=RC ) CALL GC_CheckVar( 'SPA', 0, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array SPA!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Aer%SPA = 0.0_fp ALLOCATE( Aer%TSOA( NX, NY, NZ ), STAT=RC ) CALL GC_CheckVar( 'TSOA', 0, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array TSOA!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Aer%TSOA = 0.0_fp ALLOCATE( Aer%ASOA( NX, NY, NZ ), STAT=RC ) CALL GC_CheckVar( 'ASOA', 0, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array ASOA!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Aer%ASOA = 0.0_fp ALLOCATE( Aer%OPOA( NX, NY, NZ ), STAT=RC ) CALL GC_CheckVar( 'OPOA', 0, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array OPOA!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Aer%OPOA = 0.0_fp ALLOCATE( Aer%PM25( NX, NY, NZ ), STAT=RC ) CALL GC_CheckVar( 'PM25', 0, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array PM25!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Aer%PM25 = 0.0_fp !zhaisx ALLOCATE( Aer%PM10( NX, NY, NZ ), STAT=RC ) CALL GC_CheckVar( 'PM10', 0, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array PM10!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Aer%PM10 = 0.0_fp ! H. Zhu ALLOCATE( Aer%PDER( NX, NY, NZ ), STAT=RC ) CALL GC_CheckVar( 'PDER', 0, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array PDER!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Aer%PDER = 0.0_fp ! H. Zhu ALLOCATE( Aer%SNAOM( NX, NY, NZ ), STAT=RC ) CALL GC_CheckVar( 'SNAOM', 0, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array SNAOM!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Aer%SNAOM = 0.0_fp ! H. Zhu ALLOCATE( Aer%R_OMSNA( NX, NY, NZ ), STAT=RC ) CALL GC_CheckVar( 'R_OMSNA', 0, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array R_OMSNA!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Aer%R_OMSNA = 0.0_fp ALLOCATE( Aer%SOAGX( NX, NY, NZ ), STAT=RC ) CALL GC_CheckVar( 'SOAGX', 0, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array SOAGX!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Aer%SOAGX = 0.0_fp ! Mechanistic isoprene SOA (eam, 2014): ALLOCATE( Aer%ISOAAQ( NX, NY, NZ ), STAT=RC ) CALL GC_CheckVar( 'ISOAAQ', 0, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array ISOAAQ!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Aer%ISOAAQ = 0.0_fp ! Simple SOA ALLOCATE( Aer%SOAS( NX, NY, NZ ), STAT=RC ) CALL GC_CheckVar( 'SOAS', 0, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array SOAS!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Aer%SOAS = 0.0_fp ALLOCATE( Aer%FRAC_SNA( NX, NY, NZ, 3 ), STAT=RC ) CALL GC_CheckVar( 'FRAC_SNA', 0, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array FRAC_SNA!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Aer%FRAC_SNA = 0.0_fp ! Mass of hydrophobic aerosol from Mian Chin ALLOCATE( Aer%DAERSL( NX, NY, NZ, 2 ), STAT=RC ) CALL GC_CheckVar( 'DAERSL', 0, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array DAERSL!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Aer%DAERSL = 0.0_fp ! Mass of hydrophilic aerosol from Mian Chin ALLOCATE( Aer%WAERSL( NX, NY, NZ, NAER ), STAT=RC ) CALL GC_CheckVar( 'WAERSL', 0, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array WAERSL!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Aer%WAERSL = 0.0_fp END SUBROUTINE Init_AerMass_Container !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Cleanup_AerMass_Container ! ! !DESCRIPTION: Subroutine CLEANUP\_AER\_CONTAINER deallocates all fields ! of the aer container object. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Cleanup_AerMass_Container( Aer, RC ) ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(AerMassContainer), POINTER :: Aer ! Aer data container ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Return code ! ! !REVISION HISTORY: ! 28 Mar 2023 - E. Lundgren- Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC !====================================================================== ! Cleanup_AerMass_Container starts here !====================================================================== ! Assume success RC = GC_SUCCESS ! Deallocate arrays and nullify pointer IF ( ASSOCIATED( Aer%OCFPOA ) ) THEN DEALLOCATE( Aer%OCFPOA, STAT=RC ) CALL GC_CheckVar( 'Aer%OCFPOA', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN Aer%OCFPOA => NULL() ENDIF IF ( ASSOCIATED( Aer%OCFOPOA ) ) THEN DEALLOCATE( Aer%OCFOPOA, STAT=RC ) CALL GC_CheckVar( 'Aer%OCFOPOA', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN Aer%OCFOPOA => NULL() ENDIF IF ( ASSOCIATED( Aer%BCPI ) ) THEN DEALLOCATE( Aer%BCPI, STAT=RC ) CALL GC_CheckVar( 'Aer%BCPI', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN Aer%BCPI => NULL() ENDIF IF ( ASSOCIATED( Aer%BCPO ) ) THEN DEALLOCATE( Aer%BCPO, STAT=RC ) CALL GC_CheckVar( 'Aer%BCPO', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN Aer%BCPO => NULL() ENDIF IF ( ASSOCIATED( Aer%OCPI ) ) THEN DEALLOCATE( Aer%OCPI, STAT=RC ) CALL GC_CheckVar( 'Aer%OCPI', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN Aer%OCPI => NULL() ENDIF IF ( ASSOCIATED( Aer%OCPO ) ) THEN DEALLOCATE( Aer%OCPO, STAT=RC ) CALL GC_CheckVar( 'Aer%OCPO', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN Aer%OCPO => NULL() ENDIF IF ( ASSOCIATED( Aer%OCPISOA ) ) THEN DEALLOCATE( Aer%OCPISOA, STAT=RC ) CALL GC_CheckVar( 'Aer%OCPISOA', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN Aer%OCPISOA => NULL() ENDIF IF ( ASSOCIATED( Aer%SALA ) ) THEN DEALLOCATE( Aer%SALA, STAT=RC ) CALL GC_CheckVar( 'Aer%SALA', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN Aer%SALA => NULL() ENDIF IF ( ASSOCIATED( Aer%ACL ) ) THEN DEALLOCATE( Aer%ACL, STAT=RC ) CALL GC_CheckVar( 'Aer%ACL', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN Aer%ACL => NULL() ENDIF IF ( ASSOCIATED( Aer%SALC ) ) THEN DEALLOCATE( Aer%SALC, STAT=RC ) CALL GC_CheckVar( 'Aer%SALC', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN Aer%SALC => NULL() ENDIF IF ( ASSOCIATED( Aer%SO4_NH4_NIT ) ) THEN DEALLOCATE( Aer%SO4_NH4_NIT, STAT=RC ) CALL GC_CheckVar( 'Aer%SO4_NH4_NIT', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN Aer%SO4_NH4_NIT => NULL() ENDIF IF ( ASSOCIATED( Aer%SO4 ) ) THEN DEALLOCATE( Aer%SO4, STAT=RC ) CALL GC_CheckVar( 'Aer%SO4', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN Aer%SO4 => NULL() ENDIF IF ( ASSOCIATED( Aer%HMS ) ) THEN DEALLOCATE( Aer%HMS, STAT=RC ) CALL GC_CheckVar( 'Aer%HMS', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN Aer%HMS => NULL() ENDIF IF ( ASSOCIATED( Aer%NH4 ) ) THEN DEALLOCATE( Aer%NH4, STAT=RC ) CALL GC_CheckVar( 'Aer%NH4', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN Aer%NH4 => NULL() ENDIF IF ( ASSOCIATED( Aer%NIT ) ) THEN DEALLOCATE( Aer%NIT, STAT=RC ) CALL GC_CheckVar( 'Aer%NIT', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN Aer%NIT => NULL() ENDIF IF ( ASSOCIATED( Aer%SLA ) ) THEN DEALLOCATE( Aer%SLA, STAT=RC ) CALL GC_CheckVar( 'Aer%SLA', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN Aer%SLA => NULL() ENDIF IF ( ASSOCIATED( Aer%SPA ) ) THEN DEALLOCATE( Aer%SPA, STAT=RC ) CALL GC_CheckVar( 'Aer%SPA', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN Aer%SPA => NULL() ENDIF IF ( ASSOCIATED( Aer%TSOA ) ) THEN DEALLOCATE( Aer%TSOA, STAT=RC ) CALL GC_CheckVar( 'Aer%TSOA', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN Aer%TSOA => NULL() ENDIF IF ( ASSOCIATED( Aer%ASOA ) ) THEN DEALLOCATE( Aer%ASOA, STAT=RC ) CALL GC_CheckVar( 'Aer%ASOA', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN Aer%ASOA => NULL() ENDIF IF ( ASSOCIATED( Aer%OPOA ) ) THEN DEALLOCATE( Aer%OPOA, STAT=RC ) CALL GC_CheckVar( 'Aer%OPOA', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN Aer%OPOA => NULL() ENDIF IF ( ASSOCIATED( Aer%SOAGX ) ) THEN DEALLOCATE( Aer%SOAGX, STAT=RC ) CALL GC_CheckVar( 'Aer%SOAGX', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN Aer%SOAGX => NULL() ENDIF IF ( ASSOCIATED( Aer%PM25 ) ) THEN DEALLOCATE( Aer%PM25, STAT=RC ) CALL GC_CheckVar( 'Aer%PM25', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN Aer%PM25 => NULL() ENDIF IF ( ASSOCIATED( Aer%PM10 ) ) THEN DEALLOCATE( Aer%PM10, STAT=RC ) CALL GC_CheckVar( 'Aer%PM10', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN Aer%PM10 => NULL() ENDIF ! H. Zhu IF ( ASSOCIATED( Aer%PDER ) ) THEN DEALLOCATE( Aer%PDER, STAT=RC ) CALL GC_CheckVar( 'Aer%PDER', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN Aer%PDER => NULL() ENDIF ! H. Zhu IF ( ASSOCIATED( Aer%SNAOM ) ) THEN DEALLOCATE( Aer%SNAOM, STAT=RC ) CALL GC_CheckVar( 'Aer%SNAOM', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN Aer%SNAOM => NULL() ENDIF ! H. Zhu IF ( ASSOCIATED( Aer%R_OMSNA ) ) THEN DEALLOCATE( Aer%R_OMSNA, STAT=RC ) CALL GC_CheckVar( 'Aer%R_OMSNA', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN Aer%R_OMSNA => NULL() ENDIF IF ( ASSOCIATED( Aer%ISOAAQ ) ) THEN DEALLOCATE( Aer%ISOAAQ, STAT=RC ) CALL GC_CheckVar( 'Aer%ISOAAQ', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN Aer%ISOAAQ => NULL() ENDIF IF ( ASSOCIATED( Aer%SOAS ) ) THEN DEALLOCATE( Aer%SOAS, STAT=RC ) CALL GC_CheckVar( 'Aer%SOAS', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN Aer%SOAS => NULL() ENDIF IF ( ASSOCIATED( Aer%FRAC_SNA ) ) THEN DEALLOCATE( Aer%FRAC_SNA, STAT=RC ) CALL GC_CheckVar( 'Aer%FRAC_SNA', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN Aer%FRAC_SNA => NULL() ENDIF IF ( ASSOCIATED( Aer%DAERSL ) ) THEN DEALLOCATE( Aer%DAERSL, STAT=RC ) CALL GC_CheckVar( 'Aer%DAERSL', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN Aer%DAERSL => NULL() ENDIF IF ( ASSOCIATED( Aer%WAERSL ) ) THEN DEALLOCATE( Aer%WAERSL, STAT=RC ) CALL GC_CheckVar( 'Aer%WAERSL', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN Aer%WAERSL => NULL() ENDIF END SUBROUTINE Cleanup_AerMass_Container !EOC END MODULE AerMass_Container_Mod ================================================ FILE: Headers/charpak_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: charpak_mod.F90 ! ! !DESCRIPTION: Module CHARPAK\_MOD contains routines from the CHARPAK ! string and character manipulation package used by GEOS-Chem. !\\ !\\ ! !INTERFACE: ! MODULE Charpak_Mod ! ! !USES: ! IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: CleanText PUBLIC :: CntMat PUBLIC :: CopyTxt PUBLIC :: CStrip PUBLIC :: IsDigit PUBLIC :: ReadOneLine PUBLIC :: StrRepl PUBLIC :: StrSplit PUBLIC :: StrSqueeze PUBLIC :: To_UpperCase PUBLIC :: TranLc PUBLIC :: TranUc PUBLIC :: Txtext PUBLIC :: WordWrapPrint PUBLIC :: Unique PUBLIC :: charArr2Str PUBLIC :: str2CharArr ! ! !REMARKS: ! CHARPAK routines by Robert D. Stewart, 1992. Subsequent modifications ! made for GEOS-CHEM by Bob Yantosca (1998, 2002, 2004). ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS ! ! Maximum string length INTEGER, PARAMETER, PUBLIC :: MAXSTRLEN = 500 CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: CntMat ! ! !DESCRIPTION: Counts the number of characters in str1 that match ! a character in str2. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CntMat( Str1, Str2, Imat, Locations ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: Str1 ! Text to scan CHARACTER(LEN=*), INTENT(IN) :: Str2 ! Character to match ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: imat ! Number of matches INTEGER, OPTIONAL :: Locations(255) ! Positions of matches ! ! !REVISION HISTORY: ! DATE: JAN. 6, 1995 ! AUTHOR: R.D. STEWART ! COMMENTS: Revised slightly (2-5-1996) so that trailing ! blanks in str1 are ignored. Revised again ! on 3-6-1996. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: L1, L2, i, j LOGICAL :: again ! Arrays INTEGER :: TmpLocations(255) ! Initialize TmpLocations = 0 L1 = MAX(1,LEN_TRIM(str1)) L2 = LEN(str2) imat = 0 DO i=1,L1 again = .true. j = 1 DO WHILE (again) IF (str2(j:j).EQ.str1(i:i)) THEN imat = imat+1 TmpLocations(imat) = i again = .false. ELSEIF (j.LT.L2) THEN j=j+1 ELSE again = .false. ENDIF ENDDO ENDDO ! Return positions where matches occured (OPTIONAL) IF ( PRESENT( Locations ) ) Locations = TmpLocations END SUBROUTINE CntMat !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: CopyTxt ! ! !DESCRIPTION: Write all of the characters in str1 into variable ! str2 beginning at column, col. If the length of str1 ! + col is longer than the number of characters str2 ! can store, some characters will not be transfered to ! str2. Any characters already existing in str2 will ! will be overwritten. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CopyTxt( col, str1, str2 ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: col CHARACTER(LEN=*), INTENT(IN) :: str1 ! ! !OUTPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(INOUT) :: str2 ! ! !REVISION HISTORY: ! DATE: DEC. 24, 1993 ! AUTHOR: R.D. STEWART ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: ilt1,i1,i,j,ic i1 = LEN(str2) IF (i1.GT.0) THEN ilt1 = LEN(str1) IF (ilt1.GT.0) THEN ic = MAX0(col,1) i = 1 j = ic DO WHILE ((i.LE.ilt1).and.(j.LE.i1)) str2(j:j) = str1(i:i) i = i + 1 j = ic + (i-1) ENDDO ENDIF ENDIF END SUBROUTINE CopyTxt !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Cstrip ! ! !DESCRIPTION: Strip blanks and null characters for the variable TEXT. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CStrip( text, KeepSpaces ) ! ! !INPUT PARAMETERS: ! LOGICAL, OPTIONAL :: KeepSpaces ! If =T, then keep spaces ! but skip all other ! non-printing chars ! ! !INPUT/OUTPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(INOUT) :: TEXT ! Text to be modified ! ! !REMARKS: ! The original "text" is destroyed upon exit. ! ! !REVISION HISTORY: ! AUTHOR: Robert D. Stewart ! DATE: May 19, 1992 ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: ilen, iasc, icnt, i, Start CHARACTER(LEN=1) :: ch ! Default: Skip space characters Start = 32 ! If KEEPSPACES=T then skip all non-printing characters, ! but keep space characters. (bmy, 1/30/18) IF ( PRESENT( KeepSpaces ) ) THEN IF ( KeepSpaces ) Start = 31 ENDIF ilen = LEN(text) IF (ilen.GT.1) THEN icnt = 1 DO i=1,ilen iasc = ICHAR(text(i:i)) ! Keep characters between these limits IF ( ( iasc > Start ).AND. (iasc < 255 ) ) THEN ch = text(i:i) text(icnt:icnt) = ch icnt = icnt + 1 ENDIF ENDDO ! Fill remainder of text with blanks DO i=icnt,ilen text(i:i) = ' ' ENDDO ENDIF END SUBROUTINE CStrip !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: IsDigit ! ! !DESCRIPTION: Returned as true if ch is a numeric character (i.e., one of ! the numbers from 0 to 9). !\\ !\\ ! !INTERFACE: ! FUNCTION IsDigit( ch ) RESULT( lnum ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=1), INTENT(IN) :: ch ! ! !RETURN VALUE: ! LOGICAL :: lnum ! ! !REMARKS: ! NOTE: Changed name from ISNUM to ISDIGIT (bmy, 7/15/04) ! ! !REVISION HISTORY: ! DATE: NOV. 11, 1993 ! AUTHOR: R.D. STEWART ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER iasc iasc = ICHAR(ch) lnum = .FALSE. IF ((iasc.GE.48).AND.(iasc.LE.57)) THEN lnum = .TRUE. ENDIF END FUNCTION IsDigit !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: StrRepl ! ! !DESCRIPTION: Subroutine StrRepl replaces all instances of PATTERN within ! a string STR with replacement text REPLTXT. !\\ !\\ ! !INTERFACE: ! SUBROUTINE StrRepl( Str, Pattern, ReplTxt ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: Pattern ! Pattern to search for CHARACTER(LEN=*), INTENT(IN) :: ReplTxt ! Text to replace ! ! !INPUT/OUTPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(INOUT) :: Str ! String to be manipulated ! ! !REMARKS: ! PATTERN and REPLTXT can now have a different number of characters. ! ! !REVISION HISTORY: ! 25 Jun 2002 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Local variables INTEGER :: I1, I2 !================================================================= ! StrRepl begins here! !================================================================= DO ! I1 is the first character that matches the search pattern; ! it must be 1 or larger. Otherwise exit the routine. I1 = INDEX( Str, Pattern ) IF ( I1 < 1 ) RETURN ! Replace the text. I2 is the starting position of the ! string following the point of text replacement. I2 = I1 + LEN( Pattern ) Str = Str(1:I1-1) // ReplTxt // Str(I2:) ENDDO END SUBROUTINE StrRepl !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: StrSplit ! ! !DESCRIPTION: Subroutine STRSPLIT returns substrings in a string, separated ! by a separator character (similar to IDL's StrSplit function). This is ! mainly a convenience wrapper for CHARPAK routine TxtExt. !\\ !\\ ! !INTERFACE: ! SUBROUTINE StrSplit( Str, Sep, Result, N_SubStrs ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: STR ! String to be searched CHARACTER(LEN=1), INTENT(IN) :: SEP ! Separator character ! ! !OUTPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(OUT) :: Result(255) ! Returned substrings INTEGER, OPTIONAL :: N_SubStrs ! # of substrings ! ! !REVISION HISTORY: ! 11 Jul 2002 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, IFLAG, COL CHARACTER(LEN=2047) :: WORD !======================================================================= ! STRSPLIT begins here! !======================================================================= ! Initialize I = 0 COL = 1 IFLAG = 0 RESULT(:) = '' ! Loop until all matches found, or end of string DO WHILE ( IFLAG == 0 ) ! Look for strings beteeen separator string CALL TXTEXT ( SEP, TRIM( STR ), COL, WORD, IFLAG ) ! Store substrings in RESULT array I = I + 1 RESULT(I) = TRIM( WORD ) ENDDO ! Optional argument: return # of substrings found IF ( PRESENT( N_SUBSTRS ) ) N_SUBSTRS = I END SUBROUTINE StrSplit !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: StrSqueeze ! ! !DESCRIPTION: Subroutine STRSQUEEZE strips white space from both ends of a ! string. White space in the middle of the string (i.e. between characters) ! will be preserved as-is. Somewhat similar (though not exactly) to IDL's ! STRCOMPRESS function. !\\ !\\ ! !INTERFACE: ! SUBROUTINE StrSqueeze( Str ) ! ! !INPUT/OUTPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(INOUT) :: Str ! String to be squeezed ! ! !REVISION HISTORY: ! 11 Jul 2002 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC !================================================================= ! STRSQUEEZE begins here! !================================================================= Str = ADJUSTR( TRIM( Str ) ) Str = ADJUSTL( TRIM( Str ) ) END SUBROUTINE StrSqueeze !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: TranLc ! ! !DESCRIPTION: Tranlate a character variable to all lowercase letters. ! Non-alphabetic characters are not affected. !\\ !\\ ! !INTERFACE: ! SUBROUTINE TranLc( text ) ! ! !INPUT/OUTPUT PARAMETERS: ! CHARACTER(LEN=*) :: text ! ! !REMARKS: ! The original "text" is destroyed. ! ! !REVISION HISTORY: ! AUTHOR: Robert D. Stewart ! DATE: May 19, 1992 ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: iasc,i,ilen ilen = LEN(text) DO I=1,ilen iasc = ICHAR(text(i:i)) IF ((iasc.GT.64).AND.(iasc.LT.91)) THEN text(i:i) = CHAR(iasc+32) ENDIF ENDDO END SUBROUTINE TRANLC !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: TranUc ! ! !DESCRIPTION: Tranlate a character variable to all upper case letters. ! Non-alphabetic characters are not affected. !\\ !\\ ! !INTERFACE: ! SUBROUTINE TranUc( text ) ! ! !INPUT/OUTPUT PARAMETERS: ! CHARACTER(LEN=*) :: text ! ! !REMARKS: ! The original "text" is destroyed. ! ! !REVISION HISTORY: ! AUTHOR: Robert D. Stewart ! DATE: May 19, 1992 ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: iasc,i,ilen ilen = LEN(text) DO i=1,ilen iasc = ICHAR(text(i:i)) IF ((iasc.GT.96).AND.(iasc.LT.123)) THEN text(i:i) = CHAR(iasc-32) ENDIF ENDDO END SUBROUTINE TRANUC !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: TxtExt ! ! !DESCRIPTION: TxtExt extracts a sequence of characters from ! text and transfers them to word. The extraction ! procedure uses a set of character "delimiters" ! to denote the desired sequence of characters. ! For example if ch=' ', the first character sequence ! bracketed by blank spaces will be returned in word. ! The extraction procedure begins in column, col, ! of TEXT. If text(col:col) = ch (any character in ! the character string), the text is returned beginning ! with col+1 in text (i.e., the first match with ch ! is ignored). !\\ !\\ ! After completing the extraction, col is incremented to ! the location of the first character following the ! end of the extracted text. !\\ !\\ ! A status flag is also returned with the following ! meaning(s) !\\ !\\ ! IF iflg = -1, found a text block, but no more characters ! are available in TEXT ! iflg = 0, task completed sucessfully (normal term) ! iflg = 1, ran out of text before finding a block of ! text. !\\ !\\ ! !INTERFACE: ! SUBROUTINE TxtExt(ch,text,col,word,iflg) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: ch,text ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: col ! ! !OUTPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(OUT) :: word INTEGER :: iflg ! ! !REMARKS: ! TxtExt is short for Text Extraction. This routine provides a set of ! powerful line-by-line text search and extraction capabilities in ! standard FORTRAN. ! ! !REVISION HISTORY: ! AUTHOR: Robert D. Stewart ! DATE: Jan. 1st, 1995 ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: Tmax,T1,T2,imat LOGICAL :: again,prev ! Length of text Tmax = LEN(text) ! Fill Word with blanks WORD = REPEAT( ' ', LEN( WORD ) ) IF (col.GT.Tmax) THEN ! Text does not contain any characters past Tmax. ! Reset col to one and return flag = {error condition} iflg = 1 col = 1 ELSEIF (col.EQ.Tmax) THEN ! End of TEXT reached CALL CntMat(ch,text(Tmax:Tmax),imat) IF (imat.EQ.0) THEN ! Copy character into Word and set col=1 CALL CopyTxt(1,Text(Tmax:Tmax),Word) col = 1 iflg = -1 ELSE ! Same error condition as if col.GT.Tmax iflg = 1 ENDIF ELSE ! Make sure column is not less than 1 IF (col.LT.1) col=1 CALL CntMat(ch,text(col:col),imat) IF (imat.GT.0) THEN prev=.true. ELSE prev=.false. ENDIF T1=col T2 = T1 again = .true. DO WHILE (again) ! Check for a match with a character in ch CALL CntMat(ch,text(T2:T2),imat) IF (imat.GT.0) THEN ! Current character in TEXT matches one (or more) of the ! characters in ch. IF (prev) THEN IF (T2.LT.Tmax) THEN ! Keep searching for a block of text T2=T2+1 T1=T2 ELSE ! Did not find any text blocks before running ! out of characters in TEXT. again=.false. iflg=1 ENDIF ELSE ! Previous character did not match ch, so terminate. ! NOTE: This is "NORMAL" termination of the loop again=.false. T2=T2-1 iflg = 0 ENDIF ELSEIF (T2.LT.Tmax) THEN ! Add a letter to the current block of text prev = .false. T2=T2+1 ELSE ! Reached the end of the characters in TEXT before reaching ! another delimiting character. A text block was identified ! however. again=.false. iflg=-1 ENDIF ENDDO IF (iflg.EQ.0) THEN ! Copy characters into WORD and set col for return CALL CopyTxt(1,Text(T1:T2),Word) col = T2+1 ELSE ! Copy characters into WORD and set col for return CALL CopyTxt(1,Text(T1:T2),Word) col = 1 ENDIF ENDIF END SUBROUTINE TxtExt !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: To_Uppercase ! ! !DESCRIPTION: Converts a string to uppercase, so that we can reliably ! do string matching. !\\ !\\ ! !INTERFACE: ! FUNCTION To_UpperCase( Text ) RESULT( UpCaseText ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: Text ! Input test ! ! !RETURN VALUE: ! CHARACTER(LEN=255) :: UpCaseText ! Output text, uppercase ! ! !REMARKS: ! Code originally from routine TRANUC (Author: R. D. Stewart, 19 May 1992) ! ! !REVISION HISTORY: ! 26 Jun 2017 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: C, Ascii !======================================================================= ! Convert to uppercase !======================================================================= ! Initialize UpCaseText = Text ! Loop over all characters DO C = 1, LEN_TRIM( UpCaseText ) ! Get the ASCII code for each character Ascii = ICHAR( UpCaseText(C:C) ) ! If lowercase, convert to uppercase IF ( Ascii > 96 .and. Ascii < 123 ) THEN UpCaseText(C:C) = CHAR( Ascii - 32 ) ENDIF ENDDO END FUNCTION To_UpperCase !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ReadOneLine ! ! !DESCRIPTION: Subroutine READ\_ONE\_LINE reads a line from the input file. ! If the global variable VERBOSE is set, the line will be printed to stdout. ! READ\_ONE\_LINE can trap an unexpected EOF if LOCATION is passed. ! Otherwise, it will pass a logical flag back to the calling routine, ! where the error trapping will be done. !\\ !\\ ! !INTERFACE: ! FUNCTION ReadOneLine( fId, EndOfFile, IoStatus, Squeeze ) RESULT( Line ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: fId ! File unit number LOGICAL, OPTIONAL :: Squeeze ! Call Strsqueeze? ! ! !OUTPUT PARAMETERS: ! LOGICAL, INTENT(OUT) :: EndOfFile ! Denotes EOF condition INTEGER, INTENT(OUT) :: IoStatus ! I/O status code ! ! !RETURN VALUE: ! CHARACTER(LEN=MAXSTRLEN) :: Line ! Single line from the input file ! ! !REMARKS: ! Mostly used by routines in the History/ folder. ! ! !REVISION HISTORY: ! 16 Jun 2017 - R. Yantosca - Initial version, based on GEOS-Chem ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC !================================================================= ! Initialize !================================================================= EndOfFile = .FALSE. IoStatus = 0 Line = '' !================================================================= ! Read data from the file !================================================================= ! Read a line from the file READ( fId, '(a)', IOSTAT=IoStatus ) Line ! IO Status < 0: EOF condition IF ( IoStatus < 0 ) THEN EndOfFile = .TRUE. RETURN ENDIF ! If desired, call StrSqueeze to strip leading and trailing blanks IF ( PRESENT( Squeeze ) ) THEN IF ( Squeeze ) THEN CALL StrSqueeze( Line ) ENDIF ENDIF END FUNCTION ReadOneLine !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: CleanText ! ! !DESCRIPTION: Strips commas, apostrophes, spaces, and tabs from a string. !\\ !\\ ! !INTERFACE: ! FUNCTION CleanText( Str ) RESULT( CleanStr ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: Str ! Original string ! ! !RETURN VALUE ! CHARACTER(LEN=255) :: CleanStr ! Cleaned-up string ! ! !REMARKS: ! Mostly used by routines in the History/ folder. ! ! !REVISION HISTORY: ! 06 Jan 2015 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! Initialize CleanStr = Str ! Strip out non-printing characters (e.g. tabs) CALL CStrip ( CleanStr ) ! Remove commas and quotes CALL StrRepl ( CleanStr, ",", " " ) CALL StrRepl ( CleanStr, "'", " " ) ! Remove leading and trailing spaces CALL StrSqueeze( CleanStr ) END FUNCTION CleanText !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: WordWrapPrint ! ! !DESCRIPTION: Prints a text string wrapped to a specified line width. ! Useful for displaying error and warning messages. !\\ !\\ ! !INTERFACE: ! SUBROUTINE WordWrapPrint( Text, LineWidth, Delimiter ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: Text ! Text to print INTEGER, INTENT(IN) :: LineWidth ! Width (characters) of lines CHARACTER(LEN=1), OPTIONAL :: Delimiter ! Delimiter between words ! ! !REMARKS: ! The default DELIMITER is the space (" ") character. ! ! !REVISION HISTORY: ! 20 Dec 2015 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: C, S, B, Matches, Length ! Arrays INTEGER :: BreakPts(100) INTEGER :: SpaceLoc(500) ! Strings CHARACTER(LEN=1) :: Delim !======================================================================= ! WordWrapPrint begins here! !======================================================================= ! SpaceLoc is the array of where delimiters (usually the " " ! character) occur in the text, and S is its index. S = 1 SpaceLoc = 0 ! BreakPts is the array of where line breaks occur ! and B is its index. BreakPts = 0 B = 1 BreakPts(B) = 1 ! Delimiter for separating words (will be the space character by default) IF ( PRESENT( Delimiter ) ) THEN Delim = Delimiter ELSE Delim = ' ' ENDIF ! Find the Location of spaces in the text CALL CntMat( Text, ' ', Matches, SpaceLoc ) ! Loop through the number of matches DO ! Move to the next delimiter location S = S + 1 ! Compute the length of the line Length = SpaceLoc(S) - BreakPts(B) ! If the length of this segment is greater than the requested ! line length, store the position of this line break IF ( Length > LineWidth ) THEN B = B + 1 BreakPts(B) = SpaceLoc(S-1) + 1 ENDIF ! If we have exceeded the number of delimiters in the text, then set ! the last breakpoint at the end of the text and exit the loop. IF ( S > Matches ) THEN B = B + 1 BreakPts(B) = LEN_TRIM( Text ) + 1 EXIT ENDIF ENDDO ! Print each line DO C = 1, B-1 WRITE( 6, '(a)' ) Text( BreakPts(C):BreakPts(C+1)-1 ) ENDDO END SUBROUTINE WordWrapPrint !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Unique ! ! !DESCRIPTION: Returns only the unique values in a vector of strings. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Unique( vec, vec_unique ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: vec(:) ! ! !OUTPUT PARAMETERS: ! CHARACTER(LEN=*), ALLOCATABLE, INTENT(INOUT) :: vec_unique(:) ! ! !AUTHOR: ! Jacob Williams (jacob@degenerateconic.com) ! Source code at: http://degenerateconic.com/unique/ ! Modified for string handling by Bob Yantosca ! ! !REVISION HISTORY: ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! integer :: i,num logical,dimension(size(vec)) :: mask mask = .false. !======================================================================= ! Unique begins here! !======================================================================= ! Loop over all elements do i = 1, SIZE( vec ) ! Assume that all valid array elements are located ! contiguously Exit upon the encountering the ! first null character. (bmy, 7/23/19) IF ( LEN_TRIM( vec(I) ) == 0 ) EXIT !count the number of occurrences of this element: num = count( vec(i)==vec ) if (num==1) then !there is only one, flag it: mask(i) = .true. else !flag this value only if it hasn't already been flagged: if (.not. any(vec(i)==vec .and. mask) ) mask(i) = .true. end if end do !return only flagged elements: IF ( ALLOCATED( vec_unique ) ) DEALLOCATE( vec_unique ) ALLOCATE( vec_unique(count(mask)) ) vec_unique = PACK( vec, mask ) !if you also need it sorted, then do so. ! For example, with slatec routine: !call ISORT (vec_unique, [0], size(vec_unique), 1) END SUBROUTINE Unique ! !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: charArr2Str ! ! !DESCRIPTION: Converts a character array of dimension N to a string of ! length N. Useful for writing character strings to netCDF files. !\\ !\\ ! !INTERFACE: ! FUNCTION charArr2Str( charArray, N ) RESULT( string ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: N ! Dimension of charArray CHARACTER(LEN=1), INTENT(IN) :: charArray(N) ! Character array ! ! !RETURN VALUE: ! CHARACTER(LEN=N) :: string ! Output string ! ! !REVISION HISTORY: ! 05 Mar 2024 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: C !======================================================================= ! charArray2str begins here! !======================================================================= ! Initialize the string string = "" ! Copy as much of the charArray to the string, until we hit the ! null byte (ASCII character 0), which denotes the end of characters DO C = 1, N IF ( chararray(C) == ACHAR(0) ) EXIT string(C:C) = chararray(C) ENDDO END FUNCTION charArr2Str !EOC ! !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: str2CharArr ! ! !DESCRIPTION: Converts a string of length N to a character array of ! dimension N. Useful for writing character strings to netCDF files. ! !DESCRIPTION: !\\ !\\ ! !INTERFACE: ! FUNCTION str2CharArr( string, N ) RESULT( charArray ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: N ! Length of string CHARACTER(LEN=N), INTENT(IN) :: string ! Input string ! ! !RETURN VALUE: ! CHARACTER(LEN=1) :: charArray(N) ! Output character array ! ! !REVISION HISTORY: ! 05 Mar 2024 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: C, L ! Length of the string without trailing whitespace L = LEN_TRIM( string ) ! Copy the non-whitespace characters to chararray DO C = 1, L chararray(C) = string(C:C) ENDDO ! Pad the remaining elements with the null byte charArray(L+1:) = ACHAR(0) END FUNCTION str2CharArr !EOC END MODULE CharPak_Mod ================================================ FILE: Headers/diaglist_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: diaglist_mod.F90 ! ! !DESCRIPTION: Module diaglist\_mod.F90 contains the derived types ! and subroutines used for reading and storing user-configured diagnostic ! information from the history configuration file, specifically names ! and information derived from the names. The diagnostics list is ! used to allocate diagnostics stored in container State\_Diag and to ! declare exports in GCHP. It does not store collection information. A ! module-level collection list containing names all collections that ! are declared in HISTORY.rc with names not commented out is also in ! this module. This is used to prevent adding diagnostics to the ! diagnostic list that are in collections not turned on in HISTORY.rc, ! thereby preventing their analogous State\_Diag array initialization ! in GEOS-Chem. !\\ !\\ ! !INTERFACE: ! MODULE DiagList_Mod ! ! !USES: ! USE ErrCode_Mod USE Precision_Mod IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: Init_DiagList PUBLIC :: Print_DiagList PUBLIC :: Check_DiagList PUBLIC :: Cleanup_DiagList PUBLIC :: Search_CollList ! ! !PRIVATE MEMBER FUNCTIONS ! PRIVATE :: Init_DiagItem PRIVATE :: InsertBeginning_DiagList PRIVATE :: Search_DiagList ! Private collection list in Init_DiagList ! Make public for more widespread use? PRIVATE :: Init_ColItem PRIVATE :: Set_ColItem PRIVATE :: InsertBeginning_ColList PRIVATE :: Print_ColList PRIVATE :: Cleanup_ColList ! ! !PUBLIC DATA TYPES: ! !========================================================================= ! Derived type for Diagnostics List !========================================================================= TYPE, PUBLIC :: DgnList TYPE(DgnItem), POINTER :: head END TYPE DgnList !========================================================================= ! Derived type for Diagnostics Item (unique name in HISTORY.rc) !========================================================================= TYPE, PUBLIC :: DgnItem CHARACTER(LEN=63) :: name CHARACTER(LEN=63) :: state CHARACTER(LEN=63) :: metadataID CHARACTER(LEN=63) :: registryID LOGICAL :: isWildcard CHARACTER(LEN=7) :: wildcard LOGICAL :: isTagged CHARACTER(LEN=63) :: tag ! could also add a list of collections this diagnostic is part of TYPE(DgnItem), POINTER :: next END TYPE DgnItem !========================================================================= ! Configurable Settings Used for Diagnostic Names at Run-time !========================================================================= CHARACTER(LEN=3), PUBLIC :: budgetBotLev_str ! Budget diag level range bottom CHARACTER(LEN=3), PUBLIC :: budgetTopLev_str ! Budget diag level range top CHARACTER(LEN=5), PUBLIC :: RadWL(3) ! Wavelengths in radiation menu CHARACTER(LEN=4), PUBLIC :: RadOut(17) ! Names of RRTMG outputs (tags) INTEGER, PUBLIC :: nRadOut ! # of selected RRTMG outputs LOGICAL, PUBLIC :: IsFullChem ! Is it a fullchem simulation? LOGICAL, PUBLIC :: IsHg ! Is it a Hg simulation? LOGICAL, PUBLIC :: IsCarbon ! Is it a carbon sim? CHARACTER(LEN=10), PUBLIC :: AltAboveSfc ! Alt for O3, HNO3 diagnostics !========================================================================= ! Derived type for Collections List !========================================================================= TYPE, PUBLIC :: ColList TYPE(ColItem), POINTER :: head END TYPE ColList !========================================================================= ! Derived type for Collections Item (uncommented in HISTORY.rc) !========================================================================= TYPE, PUBLIC :: ColItem CHARACTER(LEN=63) :: cname TYPE(ColItem), POINTER :: next END TYPE ColItem ! ! !PUBLIC DATA MEMBERS: ! TYPE(ColList), PUBLIC :: CollList ! Collection list object #if defined( ESMF_ ) ! ! !PUBLIC PARAMETERS ! ! Prefix of the species names in the internal state CHARACTER(LEN=4), PUBLIC, PARAMETER :: SPFX = 'SPC_' #if defined( MODEL_GEOS ) ! Non-standard diagnostics in GEOS may use GCC_. CHARACTER(LEN=4), PUBLIC, PARAMETER :: GPFX = 'GCC_' #endif #endif ! ! !REVISION HISTORY: ! 22 Sep 2017 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_DiagList ! ! !DESCRIPTION: Reads the HISTORY.rc and geoschem_config.yml input files to get ! determine which GEOS-Chem diagnostics have been requested. Then it ! uses this information to initialize the main list of diagnostics, ! aka, the DiagList object. !\\ !\\ ! NOTE: This routine has to be called before any of the GEOS-Chem objects ! Input\_Opt, State\_Chm, State\_Met, and State\_Diag are created. When using ! GCHP, we must create the ESMF/MAPL export objects for the diagnostics ! in the Set\_Services routine. Set\_Services is called before GEOS-Chem ! is initialized. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_DiagList ( am_I_Root, historyConfigFile, DiagList, RC ) ! ! !USES: ! USE Charpak_Mod USE InquireMod, ONLY : findFreeLun USE QFYAML_Mod ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: am_I_Root CHARACTER(LEN=*), INTENT(IN) :: historyConfigFile ! ! !INPUT AND OUTPUT PARAMETERS: ! TYPE(DgnList), INTENT(INOUT) :: DiagList ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! ! !REVISION HISTORY: ! 22 Sep 2017 - E. Lundgren - initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: doPrintCollList LOGICAL :: EOF, found, isWildcard, isTagged LOGICAL :: InDefSection, InFieldsSection INTEGER :: QMatch, CMatch INTEGER :: LineNum, LineLen, LineInd, LineInd2 INTEGER :: fId, IOS, N, N1, N2, N3, I, J INTEGER :: WLIndMax, WLIndMaxLoc(1), WLInd(3) INTEGER :: strIndMax, strIndMin, strInd(5) INTEGER :: numSpcWords, numIDWords INTEGER :: NFIELDS ! Strings CHARACTER(LEN=80 ) :: ErrorLine CHARACTER(LEN=255) :: errMsg, thisLoc, nameAllCaps CHARACTER(LEN=255) :: line, SubStrs(500), SubStr CHARACTER(LEN=255) :: wildcard, tag, fullname, name, state CHARACTER(LEN=255) :: metadataID, registryID, registryIDprefix CHARACTER(LEN=255) :: collname, AttName, AttValue CHARACTER(LEN=255) :: AttComp, FieldName CHARACTER(LEN=2) :: rrtmgOutputs(10) CHARACTER(LEN=3) :: topLev, botLev CHARACTER(LEN=255) :: names(100) CHARACTER(LEN=QFYAML_NamLen) :: key CHARACTER(LEN=QFYAML_StrLen) :: v_str, a_str(3) ! SAVEd variables CHARACTER(LEN=255), SAVE :: LastCollName ! Pointers & Objects TYPE(DgnItem), POINTER :: NewDiagItem TYPE(ColItem), POINTER :: NewCollItem TYPE(QFYAML_t) :: Config TYPE(QFYAML_t) :: ConfigAnchored !======================================================================= ! Init_DiagList begins here !======================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Init_DiagList (Headers/diaglist_mod.F90)' EOF = .FALSE. found = .FALSE. NewDiagItem => NULL() topLev = '' botLev = '' budgetBotLev_str= '' budgetTopLev_str= '' RadWL = '' RadOut = '' nRadOut = 0 IsFullChem = .FALSE. IsHg = .FALSE. IsCarbon = .FALSE. InDefSection = .FALSE. InFieldsSection = .FALSE. doPrintCollList = .FALSE. Name = '' LastCollName = '' ! Create DiagList object DiagList%head => NULL() ! Create ColList object CollList%head => NULL() !======================================================================= ! Read the geoschem_config.yml configuration file to find out: ! (1) Which wavelength has been selected for optical depth diag output ! (2) If this is a fullchem simulation !======================================================================= ! Open the YAML file CALL QFYAML_Init( 'geoschem_config.yml', Config, ConfigAnchored, RC ) IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error opening input_options.yml!' CALL GC_Error( errMsg, RC, thisLoc ) CALL QFYAML_CleanUp( Config ) CALL QFYAML_CleanUp( ConfigAnchored ) RETURN ENDIF ! Read the simulation name key = "simulation%name" v_str = "UNKNOWN" CALL QFYAML_Add_Get( Config, key, v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) CALL QFYAML_CleanUp( Config ) CALL QFYAML_CleanUp( ConfigAnchored ) RETURN ENDIF IsFullChem = ( To_UpperCase( v_str ) == "FULLCHEM" ) IsHg = ( To_UpperCase( v_str ) == "HG" ) IsCarbon = ( To_UpperCase( v_str ) == "CARBON" ) ! Read the altitude above the surface in meters for drydep diags key = "operations%dry_deposition%diag_alt_above_sfc_in_m" v_str = "UNKNOWN" CALL QFYAML_Add_Get( Config, key, v_str, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) CALL QFYAML_CleanUp( Config ) CALL QFYAML_CleanUp( ConfigAnchored ) RETURN ENDIF AltAboveSfc = TRIM( ADJUSTL( v_str ) ) // 'm' ! Read the AOD wavelength in nm for diagnostics key = "operations%rrtmg_rad_transfer_model%aod_wavelengths_in_nm" a_str = "UNKNOWN" CALL QFYAML_Add_Get( Config, key, a_str, "", RC, dynamic_size=.TRUE. ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) CALL QFYAML_CleanUp( Config ) CALL QFYAML_CleanUp( ConfigAnchored ) RETURN ENDIF I = 0 DO N = 1, SIZE( a_str ) IF ( TRIM( ADJUSTL( a_str(N) ) ) == "UNKNOWN" ) EXIT I = I + 1 WRITE ( RadWL(I), "(a5)" ) a_str(N) RadWL(I) = ADJUSTL( RadWL(I) ) ENDDO ! Read the simulation name key = "simulation%debug_printout" CALL QFYAML_Add_Get( Config, key, doPrintCollList, "", RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error parsing ' // TRIM( key ) // '!' CALL GC_Error( errMsg, RC, thisLoc ) CALL QFYAML_CleanUp( Config ) CALL QFYAML_CleanUp( ConfigAnchored ) RETURN ENDIF ! Clean up YAML config objects CALL QFYAML_CleanUp( Config ) CALL QFYAML_CleanUp( ConfigAnchored ) !======================================================================= ! Read data from the HISTORY.rc configuration file !======================================================================= ! Open the history config file fId = FindFreeLun() OPEN( fId, FILE=TRIM(historyConfigFile), STATUS='OLD', IOSTAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Could not open "' // TRIM(historyConfigFile) // '"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Zero the line counter LineNum = 0 !==================================================================== ! Read history config file line by line in a loop !==================================================================== DO ! Read line and strip leading/trailing spaces. Skip if commented out Line = ReadOneLine( fId, EOF, IOS, Squeeze=.TRUE. ) LineNum = LineNum + 1 IF ( EOF ) EXIT IF ( IOS > 0 ) THEN ErrMsg = 'Unexpected end-of-file in "' // & TRIM( historyConfigFile ) // '" (1)!' WRITE( ErrorLine, '(i6)' ) LineNum 250 FORMAT( ' -> ERROR occurred at (or near) line ', i6, & ' of the HISTORY.rc file' ) CALL GC_Error( ErrMsg, RC, ThisLoc, ErrorLine ) RETURN ENDIF ! Skip if there is a commment at the start of the line IF ( Line(1:1) == '#' ) CYCLE ! Skip the EXPID tag at the top of the file IF ( INDEX( Line, 'EXPID:' ) > 0 ) CYCLE !==================================================================== ! Set collection name list (uncommented names only) !==================================================================== IF ( INDEX( Line, 'COLLECTIONS:' ) .gt. 0 ) THEN ! Get the first collection name; remove commas, apost, and whitespace CALL CStrip( Line, KeepSpaces=.TRUE. ) CALL StrSplit( Line, ":", SubStrs, N ) collname = CleanText( SubStrs(2) ) ! Read through file until end of COLLECTIONS section DO WHILE ( INDEX( Line, '::' ) .le. 0 ) ! Add name to collection list if not commented out IF ( collname(1:1) /= "#" ) THEN CALL Init_ColItem( am_I_Root, NewCollItem, collname ) CALL InsertBeginning_ColList( am_I_Root, NewCollItem, & CollList, RC ) ENDIF ! Read the next line and strip leading/trailing spaces Line = ReadOneLine( fId, EOF, IOS, Squeeze=.TRUE. ) LineNum = LineNum + 1 IF ( IOS > 0 .OR. EOF ) THEN ErrMsg = 'Unexpected end-of-file in "' // & TRIM( historyConfigFile ) // '" (2)!' WRITE( ErrorLine, 250 ) LineNum CALL GC_Error( ErrMsg, RC, ThisLoc, ErrorLine ) RETURN ENDIF ! Get next collection name collname = CleanText( Line ) ENDDO IF ( doPrintCollList ) THEN CALL Print_ColList( am_I_Root, CollList, RC ) ENDIF CYCLE ENDIF !==================================================================== ! Skip collection section if not in collection name list !==================================================================== IF ( INDEX( Line, '.template' ) .gt. 0 .or. & INDEX( Line, '.filename' ) .gt. 0 ) THEN ! Check if collection was uncommented in the COLLECTIONS section CALL CStrip( Line, KeepSpaces=.TRUE. ) CALL StrSplit( Line, ".", SubStrs, N ) collname = CleanText( SubStrs(1) ) CALL Search_CollList( am_I_Root, CollList, collname, Found, RC ) ! Skip this collection if not found in list IF ( .NOT. Found ) THEN DO WHILE ( INDEX( Line, '::' ) .le. 0 ) Line = ReadOneLine( fId, EOF, IOS, Squeeze=.TRUE. ) LineNum = LineNum + 1 IF ( IOS > 0 .OR. EOF ) THEN ErrMsg = 'Unexpected end-of-file in "' // & TRIM( historyConfigFile ) // '" (4)!' WRITE( ErrorLine, 250 ) LineNum CALL GC_Error( ErrMsg, RC, ThisLoc, ErrorLine ) RETURN ENDIF ENDDO CYCLE ENDIF ENDIF #ifdef MODEL_CLASSIC !==================================================================== ! Add some extra error checks for collections that are in the ! collection name list (and therefore will be archived) !==================================================================== ! The double-colon indicates the end of a collection definition IF ( INDEX( Line, '::' ) > 0 ) THEN InDefSection = .FALSE. InFieldsSection = .FALSE. LastCollName = '' CYCLE ENDIF !-------------------------------------------------------------------- ! If the line has a "." character, then this denotes that we are ! in the section where collection attributes are defined !-------------------------------------------------------------------- IF ( INDEX( Line, '.' ) > 0 ) THEN ! Denote that we are in the definition section InDefSection = .TRUE. ! Split the line into substrings CALL StrSplit( Line, " ", SubStrs, N ) AttName = SubStrs(1) ! Attribute name AttValue = SubStrs(2) ! Attribute value AttComp = Substrs(3) ! Gridded component name (for GCHP) ! If the .fields tag is found, then denote that we are ! in the section where collection fields are defined ! we have entered into th IF ( INDEX( Line, '.fields' ) > 0 ) THEN InFieldsSection = .TRUE. LastCollName = collName ENDIF ! We expect at least 2 substrings IF ( LEN_TRIM( AttValue ) == 0 ) THEN ErrMsg = 'The value of attribute "'// TRIM( AttName ) // & '" is missing! Please check the HISTORY.rc file.' WRITE( ErrorLine, 250 ) LineNum CALL GC_Error( ErrMsg, RC, ThisLoc, ErrorLine ) RETURN ENDIF ! Each collection attribute definition needs to end with a colon LineLen = LEN_TRIM( AttName ) IF ( AttName(LineLen:LineLen) /= ':' ) THEN ErrMsg = 'The "' // TRIM( AttName ) // '" ' // & 'collection attribute did not end with a ":" ' // & 'character! Please check the HISTORY.rc file.' WRITE( ErrorLine, 250 ) LineNum CALL GC_Error( ErrMsg, RC, ThisLoc, ErrorLine ) RETURN ENDIF !----------------------------------------------------------------- ! The "template", "filename", and "format", attribute values ! must be single-quoted strings that are followed by a comma, ! or else GCHP will die with an error. !----------------------------------------------------------------- IF ( INDEX( AttName, '.template' ) > 0 .or. & INDEX( AttName, '.filename' ) > 0 .or. & INDEX( AttName, '.format' ) > 0 ) THEN ! Make sure that the value starts with a single quote IF ( AttValue(1:1) /= "'" ) THEN ErrMsg = 'The value of attribute "'// TRIM( AttName ) // & '" does not begin with a single quote ' // & 'character! Please check the HISTORY.rc file.' WRITE( ErrorLine, 250 ) LineNum CALL GC_Error( ErrMsg, RC, ThisLoc, ErrorLine ) RETURN ENDIF ! Make sure that the value ends with a single quote ! (comma is optional) LineLen = LEN_TRIM( AttValue ) IF ( AttValue(LineLen-1:LineLen) /= "'," ) THEN ErrMsg = 'The value of attribute "'// TRIM( AttName ) // & '" must end with a single quote character, ' // & 'followed by a comma. ' // & 'Please check the HISTORY.rc file.' WRITE( ErrorLine, 250 ) LineNum CALL GC_Error( ErrMsg, RC, ThisLoc, ErrorLine ) RETURN ENDIF ENDIF !----------------------------------------------------------------- ! The "mode" attribute value must be a quoted string. The comma ! is optional, or at least omitting it isn't fatal for GCHP. !----------------------------------------------------------------- IF ( INDEX( AttName, '.mode' ) > 0 ) THEN ! Make sure that the value starts with a single quote IF ( AttValue(1:1) /= "'" ) THEN ErrMsg = 'The value of attribute "'// TRIM( AttName ) // & '" does not begin with a single quote ' // & 'character! Please check the HISTORY.rc file.' WRITE( ErrorLine, 250 ) LineNum CALL GC_Error( ErrMsg, RC, ThisLoc, ErrorLine ) RETURN ENDIF ! Make sure that the value ends with a single quote ! (comma is optional) LineLen = LEN_TRIM( AttValue ) IF ( AttValue(LineLen:LineLen) == ',' ) LineLen = LineLen -1 IF ( AttValue(LineLen:LineLen) /= "'" ) THEN ErrMsg = 'The value of attribute "'// TRIM( AttName ) // & '" must end with a single quote character. ' // & 'Please check the HISTORY.rc file.' WRITE( ErrorLine, 250 ) LineNum CALL GC_Error( ErrMsg, RC, ThisLoc, ErrorLine ) RETURN ENDIF ENDIF ENDIF !----------------------------------------------------------------- ! Further error checks for the fields attribute !----------------------------------------------------------------- IF ( InFieldsSection ) THEN ! Extract the current collection name, which forms the first ! part of the attribute name (up to the "." character. If this ! does not match the expected collection name, then we have a ! missing separator ("::") somewhere. Stop with an error. LineInd = INDEX( AttName, '.' ) IF ( AttName(1:LineInd-1) /= TRIM( LastCollName ) ) THEN ErrMsg = 'Attribute "' // TRIM( AttName ) // ' specifies a ' // & 'value for collection "' // & TRIM( AttName(1:LineInd-1) ) // & '", but the expected collection name is "' // & TRIM( LastCollName ) // '". This indicates that ' // & 'the end-of-collection delimiter (i.e. "::") is ' // & 'missing. Please check the HISTORY.rc file.' WRITE( ErrorLine, 250 ) LineNum CALL GC_Error( ErrMsg, RC, ThisLoc, ErrorLine ) RETURN ENDIF ! Save into LineSq the text of the line, skipping over ! the attribute name (if we are on the first line), ! as well as the gridcomp name LineInd = INDEX( Line, ',' ) IF ( INDEX( Line, '.fields' ) > 0 ) THEN LineInd2 = INDEX( Line, ':' ) FieldName = Line(LineInd2+1:LineInd) ELSE FieldName = Line(1:LineInd) ENDIF ! Pack all whitespace in LineSq CALL StrSqueeze( FieldName ) CALL CStrip( FieldName ) ! Make sure that the value starts with a single quote IF ( FieldName(1:1) /= "'" ) THEN ErrMsg = 'The diagnostic field name "' // TRIM( FieldName ) // & '" does not begin with a single quote ' // & 'character! Please check the HISTORY.rc file.' WRITE( ErrorLine, 250 ) LineNum CALL GC_Error( ErrMsg, RC, ThisLoc, ErrorLine ) RETURN ENDIF ! Make sure that the value ends with a single quote LineLen = LEN_TRIM( FieldName ) IF ( FieldName(LineLen-1:LineLen) /= "'," ) THEN ErrMsg = 'The diagnostic field name "' // TRIM( FieldName ) // & '" must end with a single quote character ' // & 'followed by a comma, ' // & 'Please check the HISTORY.rc file.' WRITE( ErrorLine, 250 ) LineNum CALL GC_Error( ErrMsg, RC, ThisLoc, ErrorLine ) RETURN ENDIF ENDIF #endif !==================================================================== ! Add unique diagnostic names to diag list !==================================================================== ! Skip line if gridded component name not present and using GCHP or GEOS #if defined( MODEL_GCHPCTM ) IF ( INDEX( Line, 'GCHPchem' ) .le. 0 ) CYCLE #elif defined( MODEL_GEOS ) IF ( INDEX( Line, 'GEOSCHEMCHEM' ) .le. 0 ) CYCLE #endif ! Get diagnostic name CALL CStrip( Line, KeepSpaces=.TRUE. ) CALL StrSplit( Line, " ", SubStrs, N ) IF ( INDEX(Line, '.fields') > 0 .AND. N > 1 ) THEN fullname = CleanText( SubStrs(2) ) ELSE fullname = CleanText( SubStrs(1) ) ENDIF ! Skip to next line if the diagnostic name is commented out, ! missing, or contains an attribute tag. IF ( fullname(1:1) == '#' ) CYCLE IF ( LEN_TRIM( fullname ) == 0 ) CYCLE IF ( INDEX( fullname, '.template' ) > 0 ) CYCLE IF ( INDEX( fullname, '.frequency' ) > 0 ) CYCLE IF ( INDEX( fullname, '.duration' ) > 0 ) CYCLE IF ( INDEX( fullname, '.format' ) > 0 ) CYCLE IF ( INDEX( fullname, '.mode' ) > 0 ) CYCLE ! Parse full diagnostics name. ESMF/MAPL supports the combination of ! multiple fields (e.g., 'Field1+Field2') as well as math operations ! (e.g.,2*Field1). To preserve this functionality, we need to register ! each requested field individually. CALL Parse_FullName( am_I_Root, fullname, names, NFIELDS, RC ) IF ( NFIELDS == 0 ) CYCLE ! Register all fields - as identified by Parse_FullName - individually DO J=1,NFIELDS name = TRIM(names(J)) ! Skip if name is already in diag list CALL Search_DiagList( am_I_Root, DiagList, name, Found, RC ) IF ( Found ) CYCLE ! Set GC state nameAllCaps = To_Uppercase( TRIM(name) ) IF ( nameAllCaps(1:4) == 'MET_' ) THEN state = 'MET' ELSEIF ( nameAllCaps(1:5) == 'CHEM_' ) THEN state = 'CHEM' ELSEIF ( nameAllCaps(1:5) == 'GRID_' ) THEN state = 'GRID' #ifdef ESMF_ ! HEMCO diagnostics are included in HISTORY.rc in GCHP/GEOS only. ! Prefix for HEMCO diagnostics in HEMCO_Diagn.rc must be one of the ! following (case-insensitve). ELSEIF ( nameAllCaps(1:4) == 'EMIS' .OR. & nameAllCaps(1:3) == 'INV' .OR. & nameAllCaps(1:3) == 'HCO') THEN state = 'HEMCO' #ifdef ADJOINT ! Emissions scaling factor sensitivites are included in HISTORY.rc in GCHP only ELSEIF ( nameAllCaps(1:6) == 'SFEMIS' ) THEN state = 'HEMCO' #endif #ifdef MODEL_GEOS ! GEOS might have custom diagnostics outside of the standard states ELSEIF ( nameAllCaps(1:5) == 'GEOS_' .OR. & nameAllCaps(1:4) == 'GCC_' ) THEN state = 'GEOS' ! GEOS might have internal state variables that start with other prefix ELSEIF ( nameAllCaps(1:4) == GPFX ) THEN state = 'INTERNAL' #endif ELSEIF ( nameAllCaps(1:4) == SPFX ) THEN state = 'INTERNAL' #endif ELSE state = 'DIAG' ENDIF ! Get wildcard, if any ! NOTE: Must be prefaced with single underscore in HISTORY.rc! isWildcard = .FALSE. wildcard = '' IF ( INDEX( name, '?' ) > 0 ) THEN #if defined( MODEL_GCHPCTM ) || defined( MODEL_GEOS ) || defined( MODEL_CESM ) ! Exit with an error if using GCHP and wildcard is present ErrMsg = 'ERROR: HISTORY.rc wildcard handling is not ' // & 'implemented in GCHP/CESM: ' // TRIM(name) // '. Replace ' // & 'wildcard with a specific tag.' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN #endif isWildcard = .TRUE. CALL StrSplit( name, '?', SubStrs, N ) wildcard = SubStrs(N-1) ENDIF ! Get registryID - start with the full name in HISTORY.rc registryID = TRIM(nameAllCaps) ! Then strip off the state prefix, if any IF ( TRIM(state) == 'MET' ) THEN registryID = registryID(5:) ELSE IF ( TRIM(state) == 'CHEM' ) THEN registryID = registryID(6:) ENDIF ! Then strip off the wildcard, if any IF ( isWildcard ) THEN LineInd = INDEX( TRIM(registryID), '_' ) IF ( LineInd .le. 0 ) THEN ErrMsg = 'Error setting registryID. Single underscore must' & // ' precede wildcard in HISTORY.rc!' CALL GC_ERROR( ErrMsg, RC, ThisLoc ) RETURN ENDIF registryID = registryID(1:LineInd-1) ENDIF ! Get metadataID and strip off the tag suffix, if any isTagged = .FALSE. tag = '' LineInd= INDEX( TRIM(registryID), '_' ) IF ( LineInd > 0 ) THEN isTagged = .TRUE. tag = TRIM(registryID(LineInd+1:)) metadataID = registryID(1:LineInd-1) ELSE metadataID = registryID ENDIF ! For registryID and metdataID, handle special case of AOD wavelength ! Update registryID WLInd(1) = INDEX( TRIM(registryID), 'WL1' ) WLInd(2) = INDEX( TRIM(registryID), 'WL2' ) WLInd(3) = INDEX( TRIM(registryID), 'WL3' ) WLIndMax = Max(WLInd(1),WLInd(2),WLInd(3)) IF ( WLIndMax > 0 ) THEN WLIndMaxLoc = MAXLOC(WLInd) registryIDprefix = registryID(1:WLInd(WLIndMaxLoc(1))-1) // & TRIM(RadWL(WLIndMaxLoc(1))) // 'NM' LineInd = INDEX( TRIM(registryID), '_' ) IF ( LineInd > 0 ) THEN registryID = TRIM(registryIDprefix) // registryID(LineInd:) ELSE registryID = registryIDprefix ENDIF ENDIF ! Update metadataID with wavelength WLInd(1) = INDEX( TRIM(metadataID), 'WL1' ) WLInd(2) = INDEX( TRIM(metadataID), 'WL2' ) WLInd(3) = INDEX( TRIM(metadataID), 'WL3' ) WLIndMax = Max(WLInd(1),WLInd(2),WLInd(3)) IF ( WLIndMax > 0 ) THEN WLIndMaxLoc = MaxLOC(WLInd(:)) metadataID = metadataID(1:WLInd(WLIndMaxLoc(1))-1) // & TRIM(RadWL(WLIndMaxLoc(1))) // 'NM' ENDIF ! Special handling for the RRTMG diagnostic outputs ! Store the list of the requested outputs (tags) in RadOut. strInd(1) = INDEX( TRIM(metadataID), 'RADCLR' ) strInd(2) = INDEX( TRIM(metadataID), 'RADALL' ) strInd(3) = INDEX( TRIM(metadataID), 'RADAOD' ) strInd(4) = INDEX( TRIM(metadataID), 'RADSSA' ) strInd(5) = INDEX( TRIM(metadataID), 'RADASYM' ) strIndMax = MAX(strInd(1),strInd(2),strInd(3),strInd(4),strInd(5)) IF ( strIndMax == 1 .AND. nRadOut < 17 ) THEN ! If RRTMG diagnostics present, always calculate BASE, and store ! first, since used to calculate other outputs. IF ( nRadOut == 0 ) THEN nRadOut = nRadOut + 1 RadOut(nRadOut) = 'BASE' ENDIF ! Set the rest of the array to the contents of HISTORY.rc, or to ! include all except stratosphere if wildcard found. IF ( .NOT. isWildcard ) THEN ! If a tag is specified explicitly, then add to the RadOut array IF ( .not. ANY( RadOut == TRIM(Tag) ) ) THEN nRadOut = nRadOut + 1 RadOut(nRadOut) = TRIM( Tag ) ENDIF ELSE ! If the RRTMG wildcard is used then add all remaining possible ! outputs, except the stratosphere (ST) and BASE (already added). ! ST must be explicit in HISTORY.rc and is not included in the ! RRTMG wildcard since it may not be relevant to the simulation. ! CO2, CFCs, H2O, and N2O also excluded since they are somewhat ! niche (same for trop-only O3). RRTMGOutputs = (/'O3','ME','SU','NI','AM','BC','OA','SS','DU','PM'/) DO N = 1, SIZE(rrtmgOutputs,1) IF ( .not. ANY( RadOut == TRIM(rrtmgOutputs(N)) ) ) THEN nRadOut = nRadOut + 1 RadOut(nRadOut) = TRIM( rrtmgOutputs(N) ) ENDIF ENDDO ENDIF ENDIF ! Special handling for diagnostics at a specific height ! (e.g. rename O3CONCATALT --> O3CONCAT10M) strInd(1) = INDEX( TRIM(registryID), 'ALT1' ) IF ( strInd(1) > 0 ) THEN registryIDprefix = registryID(1:strInd(1)-1) // TRIM( AltAboveSfc ) LineInd = INDEX( TRIM(registryID), '_' ) IF ( LineInd > 0 ) THEN registryID = TRIM(registryIDprefix) // registryID(LineInd:) ELSE registryID = registryIDprefix ENDIF ENDIF strInd(2) = INDEX( TRIM(metadataID), 'ALT1' ) IF ( strInd(2) > 0 ) THEN metadataID = metadataID(1:strInd(2)-1) // TRIM( AltAboveSfc ) ENDIF ! Special handling for the budget fixed level range diagnostic strInd(1) = INDEX( TRIM(metadataID), 'BUDGET' ) strInd(2) = INDEX( TRIM(metadataID), 'LEVS' ) strInd(3) = INDEX( TRIM(metadataID), 'TO' ) strIndMin = MIN( strInd(1), strInd(2), strInd(3) ) ! Set budget diagnostic level range top and bottom from entry in HISTORY.rc ! All budget level diagnostics must have the same range IF ( strIndMin > 0 ) THEN botLev = TRIM( metadataID( strInd(2)+4:strInd(3)-1 ) ) topLev = TRIM( metadataID( strInd(3)+2:LEN(TRIM(metadataID)) ) ) IF ( budgetBotLev_str == '' .AND. budgetTopLev_str == '' ) THEN budgetBotLev_str = botLev budgetTopLev_str = topLev ELSE IF ( ( budgetBotLev_str == '' ) .OR. & ( budgetTopLev_str == '' ) ) THEN ErrMsg = 'Missing level in budget diagnostic name: ' // TRIM(name) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ELSE IF ( ( budgetBotLev_str /= botLev ) .OR. & ( budgetTopLev_str /= topLev ) ) THEN ErrMsg = 'Budget diagnostic level ranges do not match: ' // & TRIM(budgetBotLev_str) // ' and ' // TRIM(budgetTopLev_str) & // ' versus ' // TRIM(botLev) // ' and ' // TRIM(TopLev) // & '. Check budget diagnostic entries in HISTORY.rc' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !==================================================================== ! Create a new DiagItem object !==================================================================== CALL Init_DiagItem( am_I_Root, & NewDiagItem, & name=name, & state=state, & metadataID=metadataID, & registryID=registryID, & isWildcard=isWildcard, & wildcard=wildcard, & isTagged=isTagged, & tag=tag, & RC=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error initializing DiagItem ' // TRIM(name) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !==================================================================== ! Add new DiagItem to linked list !==================================================================== CALL InsertBeginning_DiagList( am_I_Root, NewDiagItem, DiagList, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDDO !J loop (NFIELDS) ENDDO !==================================================================== ! Close the file !==================================================================== CLOSE( fId ) END SUBROUTINE Init_DiagList !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Parse_FullName ! ! !DESCRIPTION: Parses the full field name as set in HISTORY.rc and checks ! for math expressions / field combinations, as possible in MAPL. Returns all ! individual field names as separate strings, along with the number of ! identified fields. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Parse_FullName ( am_I_Root, fullname, names, NFIELDS, RC ) ! ! !USES: ! USE Charpak_Mod, ONLY : CleanText, StrSplit ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: am_I_Root ! Root CPU? CHARACTER(LEN=*), INTENT(IN) :: fullname ! original field name, all upper-case ! ! !OUTPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(OUT) :: names(100) ! individual names (all upper-case) INTEGER, INTENT(OUT) :: NFIELDS ! number of individual fields INTEGER, OPTIONAL :: RC ! return code ! ! !REVISION HISTORY: ! 05 Jan 2021 - C. Keller - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=255) :: thisLoc, workstring, istr, SubStrs(500) CHARACTER(LEN=1) :: thischar INTEGER :: I, J, N, ilen, iasc LOGICAL :: hasChar ! ================================================================ ! Parse_FullName begins here ! ================================================================ thisLoc = 'Parse_FullName (diaglist_mod.F90)' ! Init names(:) = "" ! Replace all supported math symbols (+,-,*,/) with hash symbol workstring = CleanText(fullname) ilen = LEN_TRIM(workstring) DO I = 1,ilen thischar = workstring(I:I) IF ( thischar == "+" .OR. & thischar == "-" .OR. & thischar == "*" .OR. & thischar == "/" ) THEN workstring(I:I) = "#" ENDIF ENDDO ! Split for hashsymbol, then place each (valid) substring into ! separate slot and count them. Some entries may be invalid. I.e., if one ! uses something like '2*FieldX', the numeric entry needs to be removed. ! All fields with at least one upper-case alphanumeric character (i.e., ! ascii characters 65-90), are assumed to be valid fields. NFIELDS = 0 CALL StrSplit( workstring, "#", SubStrs, N ) DO I = 1, N istr = CleanText( SubStrs(I) ) ! Check if clean name contains at least one upper-case alphanumeric character hasChar = .FALSE. ilen = LEN_TRIM(istr) DO J = 1, ilen iasc = ICHAR(istr(J:J)) IF ((iasc.GT.64).AND.(iasc.LT.91)) THEN hasChar = .TRUE. EXIT ENDIF ENDDO IF ( hasChar ) THEN NFIELDS = NFIELDS + 1 names(NFIELDS) = istr ENDIF ENDDO ! Return RC = GC_SUCCESS END SUBROUTINE Parse_FullName !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_DiagItem ! ! !DESCRIPTION: Initializes a DiagItem object, which contains information ! about a single GEOS-Chem diagnostic. Several DiagItem objects will be ! linked together in the main diagnostics list (DiagList). !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_DiagItem ( am_I_Root, NewDiagItem, name, state, & metadataID, registryID, isWildcard, wildcard, & isTagged, tag, RC ) ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: am_I_Root CHARACTER(LEN=*), OPTIONAL :: name CHARACTER(LEN=*), OPTIONAL :: state CHARACTER(LEN=*), OPTIONAL :: metadataID CHARACTER(LEN=*), OPTIONAL :: registryID LOGICAL, OPTIONAL :: isWildcard CHARACTER(LEN=*), OPTIONAL :: wildcard LOGICAL, OPTIONAL :: isTagged CHARACTER(LEN=*), OPTIONAL :: tag ! ! !OUTPUT PARAMETERS: ! TYPE(DgnItem), POINTER :: NewDiagItem INTEGER, OPTIONAL :: RC ! ! !REVISION HISTORY: ! 21 Sep 2017 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=255) :: thisLoc ! ================================================================ ! Init_DiagList begins here ! ================================================================ thisLoc = 'Init_DiagItem (diaglist_mod.F90)' ALLOCATE(NewDiagItem) NewDiagItem%name = TRIM(name) NewDiagItem%state = TRIM(state) NewDiagItem%metadataID = TRIM(metadataID) NewDiagItem%registryID = TRIM(registryID) NewDiagItem%isWildcard = isWildcard NewDiagItem%wildcard = TRIM(wildcard) NewDiagItem%isTagged = isTagged NewDiagItem%tag = TRIM(tag) END SUBROUTINE Init_DiagItem !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_ColItem ! ! !DESCRIPTION: Initializes a ColItem object, which contains information ! about a single GEOS-Chem collection. Several ColItem objects will be ! linked together in the main collections list (ColList). !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_ColItem ( am_I_Root, NewCollItem, cname, RC ) ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: am_I_Root TYPE(ColItem), POINTER :: NewCollItem CHARACTER(LEN=*) :: cname ! ! !OUTPUT PARAMETERS: ! INTEGER, OPTIONAL :: RC ! ! !REVISION HISTORY: ! 25 Jan 2018 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=255) :: thisLoc ! ================================================================ ! Init_ColItem begins here ! ================================================================ thisLoc = 'Init_ColItem (diaglist_mod.F90)' ALLOCATE(NewCollItem) NewCollItem%cname = TRIM(cname) END SUBROUTINE Init_ColItem !EOC !!------------------------------------------------------------------------------ !! GEOS-Chem Global Chemical Transport Model ! !!------------------------------------------------------------------------------ !!BOP !! !! !IROUTINE: Get_ColItem !! !! !DESCRIPTION: Gets a pointer to a collection (ColItem) object !!\\ !!\\ !! !INTERFACE: !! ! SUBROUTINE Get_ColItem ( am_I_Root, CollName, CollList, CollItem, Found, RC ) !! !! !INPUT PARAMETERS: !! ! LOGICAL, INTENT(IN) :: am_I_Root ! CHARACTER(LEN=*), INTENT(IN) :: CollName ! TYPE(ColList), INTENT(IN) :: CollList !! !! !OUTPUT PARAMETERS: !! ! TYPE(ColItem), POINTER :: CollItem ! LOGICAL, OPTIONAL :: Found ! INTEGER, OPTIONAL :: RC !! !! !REVISION HISTORY: !! 25 Jan 2018 - E. Lundgren - Initial version !! See https://github.com/geoschem/geos-chem for complete history !!EOP !!------------------------------------------------------------------------------ !!BOC !! !! !LOCAL VARIABLES: !! ! TYPE(ColItem), POINTER :: current ! CHARACTER(LEN=255) :: thisLoc ! ! ! ================================================================ ! ! Get_ColList begins here ! ! ================================================================ ! ! ! Initialize ! thisLoc = 'Get_ColItem (diaglist_mod.F90)' ! IF ( PRESENT( Found ) ) Found = .FALSE. ! ! ! Search for name in list ! current => CollList%head ! DO WHILE ( ASSOCIATED( current ) ) ! IF ( current%cname == CollName ) THEN ! IF ( PRESENT( Found ) ) Found = .TRUE. ! CollItem = current ! EXIT ! ENDIF ! current => current%next ! ENDDO ! current => NULL() ! ! END SUBROUTINE Get_ColItem !!EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Set_ColItem ! ! !DESCRIPTION: Sets a ColItem object, which contains information ! about a single GEOS-Chem collection. Several ColItem objects will be ! linked together in the main collections list (ColList). !\\ !\\ ! !INTERFACE: ! SUBROUTINE Set_ColItem ( am_I_Root, Collname, CollList, Found, RC ) ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: am_I_Root CHARACTER(LEN=*) :: CollName TYPE(ColList) :: CollList ! ! !OUTPUT PARAMETERS: ! LOGICAL, OPTIONAL :: Found INTEGER, OPTIONAL :: RC ! ! !REVISION HISTORY: ! 25 Jan 2018 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=255) :: thisLoc TYPE(ColItem), POINTER :: current ! ================================================================ ! Set_ColList begins here ! ================================================================ ! Initialize thisLoc = 'Set_ColItem (diaglist_mod.F90)' IF ( PRESENT( Found ) ) Found = .FALSE. ! Search for name in list current => CollList%head DO WHILE ( ASSOCIATED( current ) ) IF ( current%cname == CollName ) THEN IF ( PRESENT( Found ) ) Found = .TRUE. EXIT ENDIF current => current%next ENDDO ! Exit with error if no collection matches the input name IF ( .NOT. FOUND ) THEN CALL GC_ERROR("Error setting collection item", RC, ThisLoc) RETURN ENDIF ! Null pointer current => NULL() END SUBROUTINE Set_ColItem !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: InsertBeginning_DiagList ! ! !DESCRIPTION: Inserts a new node at the beginning of the DiagList linked ! list object. !\\ !\\ ! !INTERFACE: ! SUBROUTINE InsertBeginning_DiagList ( am_I_Root, DiagItem, DiagList, RC ) ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: am_I_Root TYPE(DgnItem), POINTER :: DiagItem ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(DgnList), INTENT(INOUT) :: DiagList ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! ! !REVISION HISTORY: ! 22 Sep 2017 - E. Lundgren - initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! TYPE(DgnItem), POINTER :: NewDiagItem CHARACTER(LEN=255) :: thisLoc ! ================================================================ ! InsertBeginning_DiagList begins here ! ================================================================ thisLoc = 'InsertBeginning_DiagList (diaglist_mod.F90)' ! Add new object to the beginning of the linked list DiagItem%next => DiagList%head DiagList%head => DiagItem END SUBROUTINE InsertBeginning_DiagList !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: InsertBeginning_ColList ! ! !DESCRIPTION: Inserts a new node at the beginning of the ColList linked ! list object. !\\ !\\ ! !INTERFACE: ! SUBROUTINE InsertBeginning_ColList ( am_I_Root, CollItem, CollList, RC ) ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: am_I_Root TYPE(ColItem), POINTER :: CollItem ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ColList), INTENT(INOUT) :: CollList ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! ! !REVISION HISTORY: ! 25 Jan 2018 - E. Lundgren - initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! TYPE(ColItem), POINTER :: NewCollItem CHARACTER(LEN=255) :: thisLoc ! ================================================================ ! InsertBeginning_ColList begins here ! ================================================================ thisLoc = 'InsertBeginning_ColList (diaglist_mod.F90)' ! Add new object to the beginning of the linked list CollItem%next => CollList%head CollList%head => CollItem END SUBROUTINE InsertBeginning_ColList !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Search_DiagList ! ! !DESCRIPTION: Searches for a given diagnostic name within the DiagList ! diagnostic list object. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Search_DiagList ( am_I_Root, DiagList, name, found, RC ) ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: am_I_Root TYPE(DgnList), INTENT(IN) :: DiagList CHARACTER(LEN=*), INTENT(IN) :: name ! ! !OUTPUT PARAMETERS: ! LOGICAL, INTENT(OUT) :: found INTEGER, INTENT(OUT) :: RC ! ! !REVISION HISTORY: ! 22 Sep 2017 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! TYPE(DgnItem), POINTER :: current CHARACTER(LEN=255) :: thisLoc ! Initialize thisLoc = 'Search_DiagList (diaglist_mod.F90)' found = .FALSE. ! Search for name in list current => DiagList%head DO WHILE ( ASSOCIATED( current ) ) IF ( TRIM(current%name) == TRIM(name) ) THEN found = .TRUE. current=> NULL() EXIT ENDIF current => current%next ENDDO current => NULL() END SUBROUTINE Search_DiagList !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Search_CollList ! ! !DESCRIPTION: Searches for a given collection name within the ColList ! collection list object. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Search_CollList ( am_I_Root, CollList, name, found, RC ) ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: am_I_Root TYPE(ColList), INTENT(IN) :: CollList CHARACTER(LEN=*), INTENT(IN) :: name ! ! !OUTPUT PARAMETERS: ! LOGICAL, INTENT(OUT) :: found INTEGER, INTENT(OUT) :: RC ! ! !REVISION HISTORY: ! 25 Jan 2018 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! TYPE(ColItem), POINTER :: current CHARACTER(LEN=255) :: thisLoc ! Initialize thisLoc = 'Search_CollList (diaglist_mod.F90)' found = .FALSE. ! Search for name in list current => CollList%head DO WHILE ( ASSOCIATED( current ) ) IF ( TRIM(current%cname) == TRIM(name) ) THEN found = .TRUE. EXIT ENDIF current => current%next ENDDO current => NULL() END SUBROUTINE Search_CollList !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Check_DiagList ! ! !DESCRIPTION: Returns TRUE if a string matches the metadataID for at ! least one diagnostic in the passed DiagList object. An exact match is ! required (case-insensitive) unless optional partial logical argument ! is passed. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Check_DiagList( am_I_Root, DiagList, name, found, RC, partial ) ! ! !USES: ! USE Charpak_Mod, ONLY : To_UpperCase ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: am_I_Root ! Are we on the root CPU? TYPE(DgnList), INTENT(IN) :: DiagList ! Diagnostic list object CHARACTER(LEN=*), INTENT(IN) :: name ! Diagnostic metadata name LOGICAL, OPTIONAL :: partial ! Allow partial name match? ! ! !OUTPUT PARAMETERS: ! LOGICAL, INTENT(OUT) :: found ! Was a match found (T/F)? INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 22 Sep 2017 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: doPartialMatch INTEGER :: matchInd INTEGER :: matchLen ! Strings CHARACTER(LEN=255) :: thisLoc CHARACTER(LEN=255) :: inName_AllCaps CHARACTER(LEN=255) :: currentName_AllCaps ! Pointers TYPE(DgnItem), POINTER :: current ! Initialize RC = GC_SUCCESS thisLoc = ' -> at Check_DiagList (in module Headers/diaglist_mod.F90)' found = .FALSE. ! Get the optional exactMatch argument, which determines ! if we should force an exact name match or not (bmy, 10/29/18) IF ( PRESENT( partial ) ) THEN doPartialMatch = partial ELSE doPartialMatch = .FALSE. ENDIF ! Convert strings to uppercase for comparison inName_AllCaps = To_Uppercase( TRIM( name ) ) ! Get the length of inName_AllCaps excluding whitespace matchLen = LEN_TRIM( inName_AllCaps ) ! Search for name in list current => DiagList%head DO WHILE ( ASSOCIATED( current ) ) ! Name of the diagnostic metadata at this point in the linked list currentName_AllCaps = To_Uppercase( current%metadataID ) ! Test if the substring matches all or part of the diagnostic name matchInd = INDEX( currentName_AllCaps, TRIM( inName_AllCaps ) ) ! Determine if we need to have an exact or partial match IF ( .NOT. doPartialMatch ) THEN ! Exact match: inName_AllCaps matches a sequence of characters ! starting with the first character of currentName_AllCaps. ! AND has the same trimmed length as currentName_AllCaps IF ( ( matchInd == 1 ) .and. & ( matchLen == LEN_TRIM( currentName_AllCaps ) ) ) THEN found = .TRUE. EXIT ENDIF ELSE ! Partial match: inName_AllCaps matches a sequence of characters ! somewhere within currentName_AllCaps (but not necessarily ! starting from the beginning). IF ( matchInd > 0 ) THEN found = .TRUE. EXIT ENDIF ENDIF ! Move to next diagnostic in the linked list current => current%next ENDDO ! Free pointer current => NULL() END SUBROUTINE Check_DiagList !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Print_DiagList ! ! !DESCRIPTION: Subroutine Print\_DiagList prints information for all ! DiagItem members in a DiagList linked list. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Print_DiagList( am_I_Root, DiagList, RC ) ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: am_I_Root TYPE(DgnList), INTENT(IN) :: DiagList ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: RC ! Success? ! ! !REVISION HISTORY: ! 22 Sep 2017 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! TYPE(DgnItem), POINTER :: current CHARACTER(LEN=255) :: thisLoc ! ================================================================ ! Print_DiagList begins here (come back to replace with write instead) ! ================================================================ thisLoc = 'Print_DiagList (diaglist_mod.F90)' current => DiagList%head IF ( am_I_Root ) THEN PRINT *, " " PRINT *, "====================" PRINT *, "Contents of DiagList" PRINT *, " " ENDIF DO WHILE ( ASSOCIATED( current ) ) ! Print info IF ( am_I_Root ) THEN PRINT *, TRIM(current%name) PRINT *, " state: ", TRIM(current%state) PRINT *, " metadataID: ", TRIM(current%metadataID) PRINT *, " registryID: ", TRIM(current%registryID) IF ( current%isWildcard ) THEN PRINT *, " isWildcard: ", current%isWildcard PRINT *, " wildcard: ", TRIM(current%wildcard) ENDIF IF ( current%isTagged ) THEN PRINT *, " isTagged: ", current%isTagged PRINT *, " tag: ", TRIM(current%tag) ENDIF PRINT *, " " ENDIF ! Set up for next item current => current%next ENDDO ! cleanup current => NULL() IF ( am_I_Root ) PRINT *, " " END SUBROUTINE Print_DiagList !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Print_ColList ! ! !DESCRIPTION: Subroutine Print\_ColList prints information for all ! ColItem members in a ColList linked list. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Print_ColList( am_I_Root, CollList, RC ) ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: am_I_Root TYPE(ColList), INTENT(IN) :: CollList ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: RC ! Success? ! ! !REVISION HISTORY: ! 25 Jan 2018 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! TYPE(ColItem), POINTER :: current CHARACTER(LEN=255) :: thisLoc ! ================================================================ ! Print_ColList begins here (come back to replace with write instead) ! ================================================================ thisLoc = 'Print_ColList (diaglist_mod.F90)' current => CollList%head IF ( am_I_Root ) THEN PRINT *, " " PRINT *, "======================" PRINT *, "Contents of CollList" PRINT *, " " ENDIF DO WHILE ( ASSOCIATED( current ) ) ! Print info IF ( am_I_Root ) THEN PRINT *, TRIM(current%cname) ENDIF ! Set up for next item current => current%next ENDDO ! cleanup current => NULL() IF ( am_I_Root ) PRINT *, " " END SUBROUTINE Print_ColList !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Cleanup_DiagList ! ! !DESCRIPTION: Subroutine Cleanup\_DiagList deallocates a DiagList ! object and all of its member objects including the linked list of ! DiagItem objects. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Cleanup_DiagList( DiagList, RC ) ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(DgnList), INTENT(INOUT) :: DiagList ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success? ! ! !REVISION HISTORY: ! 21 Sep 2017 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! TYPE(DgnItem), POINTER :: current TYPE(DgnItem), POINTER :: next CHARACTER(LEN=255) :: thisLoc ! ================================================================ ! Cleanup_DiagList begins here ! ================================================================ thisLoc = 'Cleanup_DiagList (diaglist_mod.F90)' ! Deallocate each item in the linked list of DiagExport objects current => DiagList%head IF ( ASSOCIATED( current ) ) next => current%next DO WHILE ( ASSOCIATED( current ) ) DEALLOCATE( current, STAT=RC ) IF ( RC /= GC_SUCCESS ) RETURN IF ( .NOT. ASSOCIATED ( next ) ) EXIT current => next next => current%next ENDDO ! Also get rid of module-level collection list when cleanup up diaglist CALL Cleanup_ColList( CollList, RC ) ! Final cleanup current => NULL() next => NULL() END SUBROUTINE Cleanup_DiagList !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Cleanup_ColList ! ! !DESCRIPTION: Subroutine Cleanup\_ColList deallocates a ColList ! object and all of its member objects including the linked list of ! ColItem objects. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Cleanup_ColList ( CollList, RC ) ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ColList), INTENT(INOUT) :: CollList ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success? ! ! !REVISION HISTORY: ! 21 Sep 2017 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! TYPE(ColItem), POINTER :: current TYPE(ColItem), POINTER :: next CHARACTER(LEN=255) :: thisLoc ! ================================================================ ! Cleanup_ColList begins here ! ================================================================ thisLoc = 'Cleanup_ColList (diaglist_mod.F90)' ! Deallocate each item in the linked list of collection objects current => CollList%head IF ( ASSOCIATED( current ) ) next => current%next DO WHILE ( ASSOCIATED( current ) ) DEALLOCATE( current, STAT=RC ) IF ( RC /= GC_SUCCESS ) RETURN IF ( .NOT. ASSOCIATED ( next ) ) EXIT current => next next => current%next ENDDO ! Final cleanup current => NULL() next => NULL() END SUBROUTINE Cleanup_ColList !EOC END MODULE DiagList_Mod ================================================ FILE: Headers/dictionary_m.F90 ================================================ !> \file dictionary_m.f90 !! \brief Module file for dictionary_t !> Dictionary type that uses strings for the keys and values !! !! Design: !! - djb2 hash function (D. J. Bernstein, see http://www.cse.yorku.ca/~oz/hash.html) !! - The strings are all "character(len=:), allocatable" variables !! - There is no linked list nor pointers, only allocatable arrays for the dynamic data structure !! - set rewrites existing entries without complaining !! !!%%%BMY !!%%%BMY Modified to return integer values (see !!%%%BMY comments for !!%%%BMY places where the code was changed) -- Bob Yantosca (06 Dec 2019) !!%%%BMY module dictionary_m implicit none private public :: dictionary_t !> Single entry in the dictionary type entry_t character(len=:), allocatable :: key !!%%%BMY !!%%%BMY Change value type from string to integer !!%%%BMY character(len=:), allocatable :: value !!%%%BMY INTEGER :: value end type entry_t !> A bucket contains several entries type bucket_t type(entry_t), allocatable :: entries(:) integer :: current_size = 0 integer :: current_idx = 0 contains procedure :: find end type bucket_t !> The dictionary contains dict_size buckets (defined at run time) type dictionary_t type(bucket_t), allocatable :: buckets(:) integer :: dict_size = 0 contains procedure :: djb2 procedure :: set procedure :: get procedure :: init procedure :: show procedure :: destroy end type dictionary_t integer, parameter :: BUCKET_EMPTY = -2 integer, parameter :: BUCKET_ENTRY_NOT_FOUND = -4 contains !> djb2 hash function !! !! \param this the dictionary_t object !! \param s a string !! !! \return the hash value between 0 and dict_size-1 function djb2(this, s) result(r) class(dictionary_t), intent(in) :: this character(len=*), intent(in) :: s integer :: r integer :: i, l l = len(s) r = 5381 do i = 1, l r = r*33 + ichar(s(i:i)) end do r = modulo(r, this%dict_size) end function djb2 !> Add or replace an entry in the dictionary !! !! \param this the dictionary_t object !! \param k the key !! \param v the value subroutine set(this, k, v) class(dictionary_t), intent(inout) :: this character(len=*), intent(in) :: k !!%%%BMY !!%%%BMY Change value type from string to integer !!%%%BMY character(len=*), intent(in) :: v !!%%%BMY INTEGER, INTENT(IN) :: v type(bucket_t) :: tmp_bucket integer :: h, i, b_idx h = this%djb2(k) + 1 b_idx = this%buckets(h)%find(k) if (b_idx == BUCKET_EMPTY) then ! allocate bucket for 1 entry ! also, means we can take the first entry allocate(this%buckets(h)%entries(1)) this%buckets(h)%current_size = 1 this%buckets(h)%current_idx = 1 b_idx = 1 this%buckets(h)%entries(1)%key = trim(k) !!%%%BMY !!%%%BMY Change value type from string to integer !!%%%BMY this%buckets(h)%entries(1)%value = trim(v) !!%%%BMY this%buckets(h)%entries(1)%value = v ! the values are registered, exit return end if if (b_idx == BUCKET_ENTRY_NOT_FOUND) then ! copy and grow bucket entries allocate(tmp_bucket%entries(this%buckets(h)%current_size + 1)) tmp_bucket%current_size = this%buckets(h)%current_size + 1 tmp_bucket%current_idx = this%buckets(h)%current_idx + 1 do i = 1, this%buckets(h)%current_size tmp_bucket%entries(i)%key = this%buckets(h)%entries(i)%key tmp_bucket%entries(i)%value = this%buckets(h)%entries(i)%value end do deallocate(this%buckets(h)%entries) allocate(this%buckets(h)%entries, source=tmp_bucket%entries) deallocate(tmp_bucket%entries) this%buckets(h)%current_size = tmp_bucket%current_size this%buckets(h)%current_idx = tmp_bucket%current_idx b_idx = this%buckets(h)%current_idx end if if (b_idx > 0) then this%buckets(h)%entries(b_idx)%key = trim(k) this%buckets(h)%entries(b_idx)%value = v end if end subroutine set !> Initialize a dictionary object !! !! \param this the dictionary_t object !! \param dict_size the size of the hash table subroutine init(this, dict_size) class(dictionary_t), intent(out) :: this integer, intent(in) :: dict_size allocate(this%buckets(dict_size)) this%dict_size = dict_size end subroutine init !> Display the content of a dictionary !! !! \param this the dictionary_t object subroutine show(this) class(dictionary_t), intent(in) :: this integer :: i, j, s integer :: n n = 0 do i = 1, this%dict_size s = this%buckets(i)%current_idx if (s > 0) then write(*,*) 'bucket : ', i, ' size ', s do j = 1, s write(*,*) 'key : ', this%buckets(i)%entries(j)%key write(*,*) 'value : ', this%buckets(i)%entries(j)%value end do end if end do end subroutine show !> Find the "in-bucket" index for a given key !! !! Negative return values correspond to module-defined return codes. !! !! \param this the bucket_t object !! \param k the key !! !! \return the index (1-based) of the key in the bucket or a return code function find(this, k) result(r) class(bucket_t), intent(in) :: this character(len=*), intent(in) :: k integer :: r integer :: i if (this%current_size == 0) then r = BUCKET_EMPTY return end if r = BUCKET_ENTRY_NOT_FOUND do i = 1, this%current_size if (this%entries(i)%key == trim(k)) then r = i exit end if end do end function find !> Fetch an entry in the dictionary. !! !! \param this the dictionary_t object !! \param k the key !! !! \return the value if found, an empty string else function get(this, k) result(r) class(dictionary_t), intent(in) :: this character(len=*), intent(in) :: k !!%%%BMY !!%%%BMY Change result type from string to integer !!%%%BMY character(len=:), allocatable :: r !!%%%BMY INTEGER :: r integer :: h, b_idx h = this%djb2(k) + 1 b_idx = this%buckets(h)%find(k) if ( (b_idx == BUCKET_EMPTY) .or. & (b_idx == BUCKET_ENTRY_NOT_FOUND) ) then !!%%%BMY !!%%%BMY Set default return to -1, to match Ind_ function !!%%%BMY r = '' !!%%%BMY r = -1 return end if if (b_idx>0) then r = this%buckets(h)%entries(b_idx)%value end if end function get !%%%BMY !> Free a dictionary object !%%%BMY !! !%%%BMY !! \param this the dictionary_t object !%%%BMY !! \param dict_size the size of the hash table subroutine destroy(this) class(dictionary_t), intent(inout) :: this if ( allocated( this%buckets ) ) then deallocate( this%buckets ) endif end subroutine destroy end module dictionary_m ================================================ FILE: Headers/errcode_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: errcode_mod.F90 ! ! !DESCRIPTION: Module ERRCODE\_MOD contains the error codes (i.e. that ! report success or failure) returned by GEOS-Chem routines. !\\ !\\ ! !INTERFACE: ! MODULE ErrCode_Mod ! ! !USES: ! IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: GC_Error PUBLIC :: GC_Warning PUBLIC :: GC_CheckVar ! ! !DEFINED PARAMETERS: ! INTEGER, PUBLIC, PARAMETER :: GC_SUCCESS = 0 ! Routine returns success INTEGER, PUBLIC, PARAMETER :: GC_FAILURE = -1 ! Routine returns failure ! ! !REMARKS: ! The error codes are returned by routines at various levels of GEOS-Chem. ! ! !REVISION HISTORY: ! 19 Oct 2012 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: GC_Error ! ! !DESCRIPTION: Subroutine GC\_Error prints an error message and sets RC to ! GC\_FAILURE. Note that this routine does not stop a run, but it will cause ! a stop at a higher level if you add a catch for RC /= GC\_SUCCESS. !\\ !\\ ! !INTERFACE: ! SUBROUTINE GC_Error( ErrMsg, RC, ThisLoc, Instr ) ! ! !USES: ! USE Charpak_Mod, ONLY : WordWrapPrint #if defined( MODEL_CESM ) USE CAM_ABORTUTILS, ONLY : ENDRUN #endif #if defined( ESMF_ ) #include "MAPL_Generic.h" USE ESMF USE MAPL_Mod #endif ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN ) :: ErrMsg ! Message to display CHARACTER(LEN=*), INTENT(IN ), OPTIONAL :: ThisLoc ! Location of error CHARACTER(LEN=*), INTENT(IN ), OPTIONAL :: Instr ! Other instructions ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: RC ! Error code ! ! !REVISION HISTORY: ! 13 Aug 2015 - E. Lundgren - Initial version, based on C. Keller's HCO_ERROR ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CHARACTER(LEN=1000) :: Message #if defined( ESMF_) INTEGER :: localPET, STATUS CHARACTER(4) :: localPETchar CHARACTER(LEN=1023) :: MSG, MSG1, MSG2 TYPE(ESMF_VM) :: VM #endif !======================================================================= ! GC_ERROR begins here !======================================================================= ! Construct error message #if defined( ESMF_ ) ! Get current thread number CALL ESMF_VMGetCurrent(VM, RC=STATUS) CALL ESMF_VmGet( VM, localPET=localPET, __RC__ ) WRITE(localPETchar,'(I4.4)') localPET MSG1 = 'GEOS-Chem ERROR ['//TRIM(localPETchar)//']: '//TRIM(ErrMsg) MSG2 = '' IF ( PRESENT(THISLOC) ) THEN MSG2 = NEW_LINE('a') // ' --> LOCATION: ' // TRIM( THISLOC ) ENDIF MSG = NEW_LINE('a') // TRIM(MSG1) // TRIM(MSG2) ! Print error message WRITE(*,*) TRIM(MSG) #else ! Separator WRITE( 6, '(a)' ) REPEAT( '=', 79 ) ! Print error message to log Message = 'GEOS-Chem ERROR: ' // TRIM( ErrMsg ) CALL WordWrapPrint( Message, 78 ) ! Print error location to log IF ( PRESENT( ThisLoc ) ) THEN Message = 'ERROR LOCATION: ' // TRIM( ThisLoc ) WRITE( 6, '(a)' ) TRIM( ThisLoc ) ENDIF ! Print additional instructions to log IF ( PRESENT( Instr ) ) THEN WRITE( 6, '(a)' ) CALL WordWrapPrint( Instr, 78 ) ENDIF ! Separators WRITE( 6, '(a)' ) REPEAT( '=', 79 ) WRITE( 6, '(a)' ) '' #endif ! Force the message to be flushed to the log file CALL Flush( 6 ) #if defined( MODEL_CESM ) CALL ENDRUN('GEOS-Chem failure!') #endif ! Return with failure, but preserve existing error code IF ( RC == GC_SUCCESS ) THEN RC = GC_FAILURE ENDIF END SUBROUTINE GC_Error !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: GC_Warning ! ! !DESCRIPTION: Subroutine GC\_Warning prints an warning (i.e. non-fatal ! error message) and sets RC to GC\_SUCCESS. !\\ !\\ ! !INTERFACE: ! SUBROUTINE GC_Warning( WarnMsg, RC, ThisLoc, Instr ) ! ! !USES: ! USE Charpak_Mod, ONLY : WordWrapPrint !! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN ) :: WarnMsg ! Message to display CHARACTER(LEN=*), INTENT(IN ), OPTIONAL :: ThisLoc ! Location of warning CHARACTER(LEN=*), INTENT(IN ), OPTIONAL :: Instr ! Other instructions ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: RC ! ! !REVISION HISTORY: ! 13 Aug 2015 - E. Lundgren - Initial version, based on C. Keller's HCO_ERROR ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CHARACTER(LEN=1000) :: Message !======================================================================= ! GC_ERROR begins here !======================================================================= ! Separator WRITE( 6, '(a)' ) REPEAT( '=', 79 ) ! Print error message to log Message = 'GEOS-Chem WARNING: ' // TRIM( WarnMsg ) CALL WordWrapPrint( Message, 78 ) ! Print error location to log IF ( PRESENT( ThisLoc ) ) THEN Message = 'WARNING LOCATION: ' // TRIM( ThisLoc ) WRITE( 6, '(a)' ) TRIM( ThisLoc ) ENDIF ! Print additional instructions to log IF ( PRESENT( Instr ) ) THEN WRITE( 6, '(a)' ) CALL WordWrapPrint( Instr, 78 ) ENDIF ! Separators WRITE( 6, '(a)' ) REPEAT( '=', 79 ) WRITE( 6, '(a)' ) '' ! Force the message to be flushed to the log file CALL Flush( 6 ) ! Return with success, since this is only a warning message RC = GC_SUCCESS END SUBROUTINE GC_Warning !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: GC_CheckVar ! ! !DESCRIPTION: Wrapper routine for GC\_Error. Prints an error message ! if there is an allocation or registration error. This is intended to ! be called from the state initialization method (e.g. Init\_State\_Met). !\\ !\\ ! !INTERFACE: ! SUBROUTINE GC_CheckVar( Variable, Operation, RC ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: Variable ! Name of variable to check INTEGER, INTENT(IN) :: Operation ! 0=Allocate ! 1=Register ! 2=Deallocate ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: RC ! Success or failure ! ! !REMARKS: ! You also need to add an ! IF ( RC /= GC_SUCCESS ) RETURN ! from the calling routine for proper error handling. ! ! !REVISION HISTORY: ! 27 Jun 2017 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc !========================================================================= ! Initialize !========================================================================= ! Define error message SELECT CASE( Operation ) CASE( 1 ) ErrMsg = 'Could not register ' // TRIM( Variable ) // '!' CASE( 2 ) ErrMsg = 'Could not deallocate ' // TRIM( Variable ) // '!' CASE DEFAULT ErrMsg = 'Could not allocate ' // TRIM( Variable ) // '!' END SELECT ! Define location string ThisLoc = ' -> at GC_CheckVar (in Headers/errcode_mod.F90)' !========================================================================= ! Display error message if necessary !========================================================================= IF ( RC /= GC_SUCCESS ) THEN CALL GC_Error( ErrMsg, RC, ThisLoc ) ENDIF END SUBROUTINE GC_CheckVar !EOC END MODULE ErrCode_Mod ================================================ FILE: Headers/input_opt_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: input_opt_mod.F90 ! ! !DESCRIPTION: Module INPUT\_OPT\_MOD contains the derived type for GEOS-Chem ! options and logical switches. !\\ !\\ ! !INTERFACE: ! MODULE Input_Opt_Mod ! ! !USES: ! USE PRECISION_MOD ! For GEOS-Chem Precision (fp) #if defined( ESMF_ ) USE pFlogger #endif IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: Set_Input_Opt PUBLIC :: Cleanup_Input_Opt ! ! !PUBLIC DATA MEMBERS: ! !========================================================================= ! Derived type for Input Options !========================================================================= TYPE, PUBLIC :: OptInput !---------------------------------------- ! General Runtime & Distributed Comp Info !---------------------------------------- INTEGER :: numCPUs ! Number of MPI procs INTEGER :: thisCPU ! Local MPI process handle INTEGER :: MPIComm ! MPI Communicator Handle LOGICAL :: isMPI ! Is this an MPI sim? LOGICAL :: amIRoot ! Is this the root cpu? !---------------------------------------- ! Dry run info (print out file names) !---------------------------------------- LOGICAL :: DryRun ! Is this a dry run? !---------------------------------------- ! SIZE PARAMETER fields !---------------------------------------- INTEGER :: Max_Families INTEGER :: Max_AdvectSpc !---------------------------------------- ! SIMULATION MENU fields !---------------------------------------- INTEGER :: NYMDb INTEGER :: NHMSb INTEGER :: NYMDe INTEGER :: NHMSe INTEGER :: SimLengthSec CHARACTER(LEN=255) :: RUN_DIR CHARACTER(LEN=255) :: DATA_DIR CHARACTER(LEN=255) :: CHEM_INPUTS_DIR CHARACTER(LEN=255) :: MetField CHARACTER(LEN=255) :: SimulationName CHARACTER(LEN=255) :: SpcDatabaseFile CHARACTER(LEN=255) :: SpcMetaDataOutFile LOGICAL :: ITS_AN_AEROSOL_SIM LOGICAL :: ITS_A_CARBON_SIM LOGICAL :: ITS_A_FULLCHEM_SIM LOGICAL :: ITS_A_MERCURY_SIM LOGICAL :: ITS_A_POPS_SIM LOGICAL :: ITS_A_TAGO3_SIM LOGICAL :: ITS_A_TRACEMETAL_SIM LOGICAL :: ITS_A_TRACER_SIM LOGICAL :: VerboseRequested CHARACTER(LEN=10) :: VerboseOnCores LOGICAL :: Verbose LOGICAL :: useTimers LOGICAL :: read_restart_as_real8 !---------------------------------------- ! ADVECTED SPECIES MENU fields !---------------------------------------- INTEGER :: N_ADVECT CHARACTER(LEN=255), POINTER :: AdvectSpc_Name(:) LOGICAL :: LSPLIT !---------------------------------------- ! AEROSOL MENU fields !---------------------------------------- CHARACTER(LEN=255) :: AER_OPTICS_DIR LOGICAL :: LSULF LOGICAL :: LMETALCATSO2 LOGICAL :: LCARB LOGICAL :: LBRC LOGICAL :: LSOA LOGICAL :: LMPOA LOGICAL :: LSVPOA LOGICAL :: LDUST LOGICAL :: LDEAD LOGICAL :: LSSALT LOGICAL :: LDSTUP REAL(fp), POINTER :: SALA_REDGE_um(:) REAL(fp), POINTER :: SALC_REDGE_um(:) LOGICAL :: LGRAVSTRAT LOGICAL :: LSOLIDPSC LOGICAL :: LHOMNUCNAT REAL(fp) :: T_NAT_SUPERCOOL REAL(fp) :: P_ICE_SUPERSAT LOGICAL :: LPSCCHEM LOGICAL :: LSTRATOD !for BC absorption enhancement, (xnw, 8/24/15) LOGICAL :: LBCAE REAL(fp) :: BCAE_1 REAL(fp) :: BCAE_2 !---------------------------------------- ! EMISSIONS fields !---------------------------------------- LOGICAL :: DoEmissions INTEGER :: TS_EMIS LOGICAL :: LBIOFUEL LOGICAL :: LOTDLOC LOGICAL :: LSOILNOX LOGICAL :: LCH4SBC LOGICAL :: LSETH2O LOGICAL :: LStaticH2OBC LOGICAL :: LHCodedOrgHal LOGICAL :: LCMIP6OrgHal LOGICAL :: DoLightNOx ! Shadow for LightNOX extension LOGICAL :: UseSoilTemp ! For HEMCO "intermediate" grid (hplin, 6/2/20) LOGICAL :: LIMGRID ! Use different grid resolution for HEMCO? INTEGER :: IMGRID_XSCALE INTEGER :: IMGRID_YSCALE !---------------------------------------- ! CO MENU fields !---------------------------------------- LOGICAL :: LPCO_CH4 LOGICAL :: LPCO_NMVOC !---------------------------------------- ! CO2 MENU fields !---------------------------------------- LOGICAL :: LCHEMCO2 LOGICAL :: LBIOSPHTAG LOGICAL :: LFOSSILTAG !---------------------------------------- ! CHEMISTRY MENU fields !---------------------------------------- LOGICAL :: LCHEM LOGICAL :: LINEAR_CHEM LOGICAL :: LLINOZ LOGICAL :: LSYNOZ INTEGER :: TS_CHEM REAL(fp) :: GAMMA_HO2 LOGICAL :: LACTIVEH2O LOGICAL :: LINITSPEC LOGICAL :: USE_AUTOREDUCE LOGICAL :: AUTOREDUCE_IS_KEEPACTIVE LOGICAL :: AUTOREDUCE_IS_KEY_THRESHOLD LOGICAL :: AUTOREDUCE_IS_PRS_THRESHOLD LOGICAL :: AUTOREDUCE_IS_APPEND REAL(f8) :: AUTOREDUCE_THRESHOLD REAL(f8) :: AUTOREDUCE_TUNING_OH REAL(f8) :: AUTOREDUCE_TUNING_NO2 #ifdef MODEL_GEOS LOGICAL :: LGMIOZ #endif !---------------------------------------- ! PHOTOLYSIS MENU fields !---------------------------------------- LOGICAL :: Do_Photolysis CHARACTER(LEN=255) :: FAST_JX_DIR CHARACTER(LEN=255) :: CloudJ_Dir INTEGER :: Nlevs_Phot_Cloud ! Cloud-J var LWEPAR INTEGER :: Cloud_Flag ! Cloud-J var CLDFLAG REAL(fp) :: OD_Increase_Factor ! Cloud-J var ATAU REAL(fp) :: Min_Cloud_OD ! Cloud-J var ATAU0 REAL(fp) :: Cloud_Corr ! Cloud-J var CLDCOR INTEGER :: Num_Max_Overlap ! Cloud-J var LNRG INTEGER :: Sphere_Correction ! Cloud-J var ATM0 INTEGER :: Num_WV_Bins ! Cloud-J var NWBIN LOGICAL :: USE_H2O_UV_Abs ! Cloud-J var USEH2OUV LOGICAL :: USE_ONLINE_O3 LOGICAL :: USE_O3_FROM_MET LOGICAL :: USE_TOMS_O3 LOGICAL :: CloudJ_Verbose ! sets Cloud-J var LPRTJ LOGICAL :: hvAerNIT REAL(fp) :: hvAerNIT_JNIT REAL(fp) :: hvAerNIT_JNITs REAL(fp) :: JNITChanA REAL(fp) :: JNITChanB !---------------------------------------- ! RADIATION MENU fields !---------------------------------------- LOGICAL :: LRAD LOGICAL :: LLWRAD LOGICAL :: LSWRAD LOGICAL, POINTER :: LSKYRAD(:) INTEGER :: TS_RAD INTEGER :: NWVSELECT REAL(8), POINTER :: WVSELECT(:) CHARACTER(LEN=5), POINTER :: STRWVSELECT(:) INTEGER :: NSPECRADMENU INTEGER, POINTER :: LSPECRADMENU(:) REAL(8) :: RRTMG_CO2_ppmv LOGICAL :: RRTMG_FDH LOGICAL :: RRTMG_SEFDH LOGICAL :: RRTMG_SA_TOA LOGICAL :: Read_Dyn_Heating !---------------------------------------- ! TRANSPORT MENU fields !---------------------------------------- LOGICAL :: LTRAN LOGICAL :: LFILL INTEGER :: TPCORE_IORD INTEGER :: TPCORE_JORD INTEGER :: TPCORE_KORD INTEGER :: TS_DYN !---------------------------------------- ! CONVECTION MENU fields !---------------------------------------- LOGICAL :: LCONV LOGICAL :: LTURB LOGICAL :: LNLPBL LOGICAL :: Grell_Freitas_Convection INTEGER :: TS_CONV !---------------------------------------- ! DEPOSITION MENU fields !---------------------------------------- LOGICAL :: LDRYD LOGICAL :: LWETD REAL(fp) :: WETD_CONV_SCAL LOGICAL :: PBL_DRYDEP LOGICAL :: CO2_EFFECT REAL(fp) :: CO2_LEVEL REAL(fp) :: CO2_REF REAL(fp) :: RS_SCALE INTEGER :: RA_Alt_Above_Sfc !---------------------------------------- ! GAMAP MENU fields !---------------------------------------- CHARACTER(LEN=255) :: GAMAP_DIAGINFO CHARACTER(LEN=255) :: GAMAP_TRACERINFO !---------------------------------------- ! OUTPUT MENU fields !---------------------------------------- INTEGER, POINTER :: NJDAY(:) !---------------------------------------- ! DIAGNOSTIC MENU fields !---------------------------------------- CHARACTER(LEN=255) :: HistoryInputFile INTEGER :: DIAG_COLLECTION INTEGER :: GC_RST_COLLECTION ! Used only for NetCDF !---------------------------------------- ! PLANEFLIGHT MENU fields !---------------------------------------- LOGICAL :: Do_Planeflight CHARACTER(LEN=255) :: Planeflight_InFile CHARACTER(LEN=255) :: Planeflight_OutFile !---------------------------------------- ! OBSPACK MENU fields !---------------------------------------- LOGICAL :: Do_ObsPack LOGICAL :: ObsPack_Quiet CHARACTER(LEN=255) :: ObsPack_InputFile CHARACTER(LEN=255) :: ObsPack_OutputFile INTEGER :: ObsPack_nSpc CHARACTER(LEN=255), POINTER :: ObsPack_SpcName(:) !---------------------------------------- ! ND51 MENU fields !---------------------------------------- LOGICAL :: DO_ND51 INTEGER :: N_ND51 CHARACTER(LEN=255) :: ND51_FILE INTEGER, POINTER :: ND51_TRACERS(:) REAL(fp) :: ND51_HR_WRITE REAL(fp) :: ND51_HR1 REAL(fp) :: ND51_HR2 INTEGER :: ND51_IMIN INTEGER :: ND51_IMAX INTEGER :: ND51_JMIN INTEGER :: ND51_JMAX INTEGER :: ND51_LMIN INTEGER :: ND51_LMAX !---------------------------------------- ! ND51b MENU fields !---------------------------------------- LOGICAL :: DO_ND51b INTEGER :: N_ND51b CHARACTER(LEN=255) :: ND51b_FILE INTEGER, POINTER :: ND51b_TRACERS(:) REAL(fp) :: ND51b_HR_WRITE REAL(fp) :: ND51b_HR1 REAL(fp) :: ND51b_HR2 INTEGER :: ND51b_IMIN INTEGER :: ND51b_IMAX INTEGER :: ND51b_JMIN INTEGER :: ND51b_JMAX INTEGER :: ND51b_LMIN INTEGER :: ND51b_LMAX !---------------------------------------- ! PROD LOSS MENU fields !---------------------------------------- LOGICAL :: DO_SAVE_PL INTEGER :: ND65, LD65 INTEGER :: NFAM CHARACTER(LEN=255), POINTER :: FAM_NAME(:) CHARACTER(LEN=255), POINTER :: FAM_TYPE(:) !---------------------------------------- ! BENCHMARK MENU fields !---------------------------------------- LOGICAL :: LSTDRUN CHARACTER(LEN=255) :: STDRUN_INIT_FILE CHARACTER(LEN=255) :: STDRUN_FINAL_FILE !---------------------------------------- ! MERCURY MENU fields !---------------------------------------- INTEGER :: ANTHRO_Hg_YEAR CHARACTER(LEN=255) :: HG_SCENARIO LOGICAL :: USE_CHECKS LOGICAL :: LDYNOCEAN LOGICAL :: LPREINDHG LOGICAL :: LGTMM CHARACTER(LEN=255) :: GTMM_RST_FILE LOGICAL :: LARCTICRIV LOGICAL :: LKRedUV !---------------------------------------- ! CH4 MENU fields !---------------------------------------- LOGICAL :: Satellite_CH4_Columns LOGICAL :: GOSAT_CH4_OBS LOGICAL :: AIRS_CH4_OBS LOGICAL :: TCCON_CH4_OBS LOGICAL :: DoAnalyticalInv INTEGER :: StateVectorElement REAL(fp) :: EmisPerturbFactor LOGICAL :: DoPerturbCH4BoundaryConditions REAL(fp) :: CH4BoundaryConditionIncreaseNorth REAL(fp) :: CH4BoundaryConditionIncreaseSouth REAL(fp) :: CH4BoundaryConditionIncreaseEast REAL(fp) :: CH4BoundaryConditionIncreaseWest LOGICAL :: UseEmisSF LOGICAL :: UseOHSF !---------------------------------------- ! POPS MENU fields !---------------------------------------- CHARACTER(LEN=3) :: POP_TYPE LOGICAL :: CHEM_PROCESS REAL(fp) :: POP_XMW REAL(fp) :: POP_KOA REAL(fp) :: POP_KBC REAL(fp) :: POP_K_POPG_OH REAL(fp) :: POP_K_POPP_O3A REAL(fp) :: POP_K_POPP_O3B REAL(fp) :: POP_HSTAR REAL(fp) :: POP_DEL_H REAL(fp) :: POP_DEL_Hw !---------------------------------------- ! Fields for interface to GEOS-5 GCM !---------------------------------------- #ifdef MODEL_GEOS LOGICAL :: LCAPTROP = .FALSE. !REAL(fp) :: OZONOPAUSE = -999.0 LOGICAL :: haveImpRst = .FALSE. LOGICAL :: AlwaysSetH2O = .TRUE. LOGICAL :: UseOnlineVUD = .FALSE. INTEGER :: LLFASTJX = 601 INTEGER :: NN_RxnRates ! # of diagnosed reaction rates INTEGER, POINTER :: RxnRates_IDs(:) ! Reaction rate numbers to be diagnosed INTEGER :: NN_RxnRconst ! # of diagnosed reaction rates INTEGER, POINTER :: RxnRconst_IDs(:) ! Reaction rate numbers to be diagnosed INTEGER :: NN_Jvals ! # of diagnosed Jvalues INTEGER, POINTER :: Jval_IDs(:) ! J-values to be diagnosed INTEGER :: FJX_EXTRAL_ITERMAX = 5 LOGICAL :: FJX_EXTRAL_ERR = .TRUE. ! Toggle for het rates. If true, turns off three Cl producing het reactions ! in the stratosphere. In MODEL_GEOS, this flag is set in GEOSCHEMchem_GridComp.rc LOGICAL :: TurnOffHetRates = .TRUE. INTEGER :: KppCheckNegatives = -1 ! Check for negatives after KPP integration REAL(fp) :: KppTolScale = 1.0_fp ! Tolerance scale factor for 2nd KPP integration LOGICAL :: applyQtend = .FALSE. ! Apply water vapor tendency LOGICAL :: GC_VMBarrier_Run2 = .FALSE. ! Flag for a parallelization barrier after Chem #else LOGICAL :: AlwaysSetH2O LOGICAL :: TurnOffHetRates #endif #if defined( MODEL_GEOS ) || defined( MODEL_WRF ) || defined( MODEL_CESM ) LOGICAL :: KppStop = .TRUE. ! Stop KPP if integration fails twice #endif #if defined( MODEL_CESM ) ! Use albedo from land model LOGICAL :: onlineAlbedo = .TRUE. ! Apply water vapor tendency to specific humidity LOGICAL :: applyQtend = .TRUE. ! Apply photolytic correction for convective scavenging of soluble tracers? LOGICAL :: correctConvUTLS = .TRUE. #endif #ifdef ADJOINT !---------------------------------------- ! GCHP adjoint fields !--------------------------------------- LOGICAL :: IS_ADJOINT LOGICAL :: IS_FD_SPOT, IS_FD_GLOBAL INTEGER :: FD_STEP LOGICAL :: IS_FD_SPOT_THIS_PET INTEGER :: IFD, JFD, NFD, LFD, NFD_ADJ INTEGER :: CF_IMIN, CF_IMAX INTEGER :: CF_JMIN, CF_JMAX INTEGER :: CF_LMIN, CF_LMAX #endif !---------------------------------------- ! Fields for LINOZ strat chem !---------------------------------------- INTEGER :: LINOZ_NLEVELS INTEGER :: LINOZ_NLAT INTEGER :: LINOZ_NMONTHS INTEGER :: LINOZ_NFIELDS REAL(fp), POINTER :: LINOZ_TPARM(:,:,:,:) #if defined( ESMF_ ) ! ESMF logger class(Logger), pointer :: lgr Character(Len=255) :: compname #endif END TYPE OptInput ! ! !REMARKS: ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Set_Input_Opt ! ! !DESCRIPTION: Subroutine SET\_INPUT\_OPT intializes all GEOS-Chem ! options carried in Input Options derived type object. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Set_Input_Opt( am_I_Root, Input_Opt, RC ) ! ! !USES: ! USE ErrCode_Mod ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: am_I_Root ! Are we on the root CPU? ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input Options object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 01 Nov 2012 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=30) :: arrayId !---------------------------------------- ! Initialize ! Set pointers to NULL for safety's sake !---------------------------------------- RC = GC_SUCCESS Input_Opt%AdvectSpc_Name => NULL() Input_Opt%SALA_REDGE_um => NULL() Input_Opt%SALC_REDGE_um => NULL() Input_Opt%LSKYRAD => NULL() Input_Opt%LSPECRADMENU => NULL() Input_Opt%LINOZ_TPARM => NULL() !---------------------------------------- ! General Runtime & Distributed Comp Info !---------------------------------------- Input_Opt%amIRoot = am_I_Root Input_Opt%isMPI = .FALSE. Input_Opt%numCPUs = 1 Input_Opt%thisCPU = -1 Input_Opt%MPIComm = -1 !---------------------------------------- ! Dry run info (print out file names) !---------------------------------------- Input_Opt%DryRun = .FALSE. !---------------------------------------- ! SIZE PARAMETER fields ! ! Set to large placeholder values !---------------------------------------- Input_Opt%Max_Families = 250 Input_Opt%Max_AdvectSpc = 600 !---------------------------------------- ! SIMULATION MENU fields !---------------------------------------- Input_Opt%NYMDb = 0 Input_Opt%NHMSb = 0 Input_Opt%NYMDe = 0 Input_Opt%NHMSe = 0 Input_Opt%SimLengthSec = 0 Input_Opt%RUN_DIR = './' Input_Opt%DATA_DIR = './' Input_Opt%CHEM_INPUTS_DIR = './' Input_Opt%MetField = '' Input_Opt%SimulationName = '' Input_Opt%SpcDatabaseFile = '' Input_Opt%SpcMetaDataOutFile = '' Input_Opt%ITS_AN_AEROSOL_SIM = .FALSE. Input_Opt%ITS_A_CARBON_SIM = .FALSE. Input_Opt%ITS_A_FULLCHEM_SIM = .FALSE. Input_Opt%ITS_A_MERCURY_SIM = .FALSE. Input_Opt%ITS_A_POPS_SIM = .FALSE. Input_Opt%ITS_A_TAGO3_SIM = .FALSE. Input_Opt%ITS_A_TRACEMETAL_SIM = .FALSE. Input_Opt%ITS_A_TRACER_SIM = .FALSE. Input_Opt%VerboseRequested = .FALSE. Input_Opt%VerboseOnCores = '' Input_Opt%Verbose = .FALSE. Input_Opt%useTimers = .FALSE. Input_Opt%read_restart_as_real8 = .FALSE. !---------------------------------------- ! ADVECTED SPECIES MENU fields !---------------------------------------- arrayId = 'Input_Opt%AdvectSpc_Name' ALLOCATE( Input_Opt%AdvectSpc_Name( Input_Opt%Max_AdvectSpc ), STAT=RC ) CALL GC_CheckVar( arrayId, 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN Input_Opt%N_ADVECT = 0 Input_Opt%AdvectSpc_Name = '' Input_Opt%LSPLIT = .FALSE. !---------------------------------------- ! AEROSOL MENU fields !---------------------------------------- arrayId = 'Input_Opt%SALA_REDGE_um' ALLOCATE( Input_Opt%SALA_REDGE_um( 2 ), STAT=RC ) CALL GC_CheckVar( arrayId, 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN arrayId = 'Input_Opt%SALC_REDGE_um' ALLOCATE( Input_Opt%SALC_REDGE_um( 2 ), STAT=RC ) CALL GC_CheckVar( arrayId, 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN Input_Opt%AER_OPTICS_DIR = '' Input_Opt%LSULF = .FALSE. Input_Opt%LMETALCATSO2 = .FALSE. Input_Opt%LCARB = .FALSE. Input_Opt%LBRC = .FALSE. Input_Opt%LSOA = .FALSE. Input_Opt%LMPOA = .FALSE. Input_Opt%LSVPOA = .FALSE. Input_Opt%LDUST = .FALSE. Input_Opt%LDEAD = .FALSE. Input_Opt%LDSTUP = .FALSE. Input_Opt%LSSALT = .FALSE. Input_Opt%SALA_REDGE_um = 0.0_fp Input_Opt%SALC_REDGE_um = 0.0_fp Input_Opt%LGRAVSTRAT = .FALSE. Input_Opt%LSOLIDPSC = .FALSE. Input_Opt%LHOMNUCNAT = .FALSE. Input_Opt%T_NAT_SUPERCOOL = 0.0_fp Input_Opt%P_ICE_SUPERSAT = 0.0_fp Input_Opt%LPSCCHEM = .FALSE. Input_Opt%LSTRATOD = .FALSE. !---------------------------------------- ! EMISSIONS MENU fields !---------------------------------------- Input_Opt%DoEmissions = .TRUE. ! On by default Input_Opt%TS_EMIS = 0 Input_Opt%LSOILNOX = .FALSE. Input_Opt%LCH4SBC = .FALSE. Input_Opt%LSETH2O = .FALSE. Input_Opt%LStaticH2OBC = .FALSE. Input_Opt%LHCodedOrgHal = .FALSE. Input_Opt%LCMIP6OrgHal = .FALSE. Input_Opt%DoLightNOx = .FALSE. Input_Opt%UseSoilTemp = .FALSE. Input_Opt%LIMGRID = .FALSE. Input_Opt%IMGRID_XSCALE = 1 Input_Opt%IMGRID_YSCALE = 1 !---------------------------------------- ! CO MENU fields !---------------------------------------- Input_Opt%LPCO_CH4 = .FALSE. Input_Opt%LPCO_NMVOC = .FALSE. !---------------------------------------- ! CO2 MENU fields !---------------------------------------- Input_Opt%LCHEMCO2 = .FALSE. Input_Opt%LBIOSPHTAG = .FALSE. Input_Opt%LFOSSILTAG = .FALSE. !---------------------------------------- ! CHEMISTRY MENU fields !---------------------------------------- Input_Opt%LCHEM = .FALSE. Input_Opt%LINEAR_CHEM = .FALSE. Input_Opt%LLINOZ = .FALSE. Input_Opt%LSYNOZ = .FALSE. #ifdef MODEL_GEOS Input_Opt%LGMIOZ = .FALSE. #endif Input_Opt%TS_CHEM = 0 Input_Opt%GAMMA_HO2 = 0.0_fp Input_Opt%LACTIVEH2O = .FALSE. Input_Opt%LINITSPEC = .FALSE. Input_Opt%USE_AUTOREDUCE = .FALSE. Input_Opt%AUTOREDUCE_IS_KEY_THRESHOLD = .TRUE. Input_Opt%AUTOREDUCE_TUNING_OH = 5e-5_fp Input_Opt%AUTOREDUCE_TUNING_NO2 = 1e-4_fp Input_Opt%AUTOREDUCE_IS_PRS_THRESHOLD = .TRUE. Input_Opt%AUTOREDUCE_IS_KEEPACTIVE = .FALSE. Input_Opt%AUTOREDUCE_IS_APPEND = .FALSE. !---------------------------------------- ! PHOTOLYSIS MENU fields !---------------------------------------- Input_Opt%Do_Photolysis = .FALSE. Input_Opt%FAST_JX_DIR = '' Input_Opt%CloudJ_Dir = '' Input_Opt%Nlevs_Phot_Cloud = 0 Input_Opt%Cloud_Flag = 0 Input_Opt%OD_Increase_Factor = 0.0_fp Input_Opt%Min_Cloud_OD = 0.0_fp Input_Opt%Cloud_Corr = 0 Input_Opt%Num_Max_Overlap = 0 Input_Opt%Sphere_Correction = 0 Input_Opt%Num_WV_Bins = 0 Input_Opt%USE_H2O_UV_Abs = .FALSE. Input_Opt%USE_ONLINE_O3 = .FALSE. Input_Opt%USE_O3_FROM_MET = .FALSE. Input_Opt%USE_TOMS_O3 = .FALSE. Input_Opt%hvAerNIT = .FALSE. Input_Opt%CloudJ_Verbose = .FALSE. Input_Opt%hvAerNIT_JNIT = 0.0_fp Input_Opt%hvAerNIT_JNITs = 0.0_fp Input_Opt%JNITChanA = 0.0_fp Input_Opt%JNITChanB = 0.0_fp !---------------------------------------- ! RADIATION MENU fields (for RRTMG only) !---------------------------------------- arrayId = 'Input_Opt%LSKYRAD' ALLOCATE( Input_Opt%LSKYRAD( 2 ), STAT=RC ) CALL GC_CheckVar( arrayId, 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN arrayId = 'Input_Opt%WVSELECT' ALLOCATE( Input_Opt%WVSELECT( 3 ), STAT=RC ) CALL GC_CheckVar( arrayId, 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN arrayId = 'Input_Opt%STRWVSELECT' ALLOCATE( Input_Opt%STRWVSELECT( 3 ), STAT=RC ) CALL GC_CheckVar( arrayId, 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ! Number of RRTMG outputs (change as necessary) Input_Opt%NSpecRadMenu = 17 arrayId = 'Input_Opt%LSPECRADMENU' ALLOCATE( Input_Opt%LSPECRADMENU( Input_Opt%NSpecRadMenu ), STAT=RC ) CALL GC_CheckVar( arrayId, 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN Input_Opt%LSpecRadMenu = 0 Input_Opt%LRAD = .FALSE. Input_Opt%LLWRAD = .FALSE. Input_Opt%LSWRAD = .FALSE. Input_Opt%LSKYRAD = .FALSE. Input_Opt%TS_RAD = 0 Input_Opt%NWVSELECT = 0 Input_Opt%WVSELECT = 0.0_fp Input_Opt%STRWVSELECT = '' Input_Opt%RRTMG_CO2_ppmv = 3.90e-4_fp Input_Opt%RRTMG_FDH = .FALSE. Input_Opt%RRTMG_SEFDH = .FALSE. Input_Opt%RRTMG_SA_TOA = .FALSE. Input_Opt%Read_Dyn_Heating = .FALSE. !---------------------------------------- ! TRANSPORT MENU fields !---------------------------------------- Input_Opt%LTRAN = .FALSE. Input_Opt%LFILL = .FALSE. Input_Opt%TPCORE_IORD = 0 Input_Opt%TPCORE_JORD = 0 Input_Opt%TPCORE_KORD = 0 Input_Opt%TS_DYN = 0 !---------------------------------------- ! CONVECTION MENU fields !---------------------------------------- Input_Opt%LCONV = .FALSE. Input_Opt%LTURB = .FALSE. Input_Opt%LNLPBL = .FALSE. Input_Opt%Grell_Freitas_Convection = .FALSE. Input_Opt%TS_CONV = 0 !---------------------------------------- ! DEPOSITION MENU fields !---------------------------------------- Input_Opt%LDRYD = .FALSE. Input_Opt%LWETD = .FALSE. Input_Opt%WETD_CONV_SCAL = 1.0_fp Input_Opt%PBL_DRYDEP = .FALSE. Input_Opt%CO2_LEVEL = 390.0_fp Input_Opt%CO2_REF = 390.0_fp Input_Opt%CO2_EFFECT = .FALSE. Input_Opt%RS_SCALE = 1.0_fp Input_Opt%RA_Alt_Above_Sfc = 10 ! default height !---------------------------------------- ! OUTPUT MENU fields !---------------------------------------- arrayId = 'Input_Opt%NJDAY' ALLOCATE( Input_Opt%NJDAY( 366 ), STAT=RC ) CALL GC_CheckVar( arrayId, 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN Input_Opt%NJDAY = 0 !---------------------------------------- ! DIAGNOSTIC MENU fields !---------------------------------------- Input_Opt%HistoryInputFile = '' Input_Opt%DIAG_COLLECTION = -999 !---------------------------------------- ! PLANEFLIGHT MENU fields !---------------------------------------- Input_Opt%Do_Planeflight = .FALSE. Input_Opt%Planeflight_InFile = '' Input_Opt%Planeflight_OutFile = '' !---------------------------------------- ! PLANEFLIGHT MENU fields !---------------------------------------- ALLOCATE( Input_Opt%ObsPack_SpcName( 1000 ), STAT=RC ) Input_Opt%Do_ObsPack = .FALSE. Input_Opt%ObsPack_Quiet = .FALSE. Input_Opt%ObsPack_InputFile = '' Input_Opt%ObsPack_OutputFile = '' Input_Opt%ObsPack_nSpc = 0 Input_Opt%ObsPack_SpcName = '' !---------------------------------------- ! ND51 MENU fields !---------------------------------------- Input_Opt%DO_ND51 = .FALSE. Input_Opt%N_ND51 = 0 Input_Opt%ND51_FILE = '' Input_Opt%ND51_HR_WRITE = 0.0_fp Input_Opt%ND51_HR1 = 0.0_fp Input_Opt%ND51_HR2 = 0.0_fp Input_Opt%ND51_IMIN = 0 Input_Opt%ND51_IMAX = 0 Input_Opt%ND51_JMIN = 0 Input_Opt%ND51_JMAX = 0 Input_Opt%ND51_LMIN = 0 !---------------------------------------- ! ND51b MENU fields !---------------------------------------- Input_Opt%DO_ND51b = .FALSE. Input_Opt%N_ND51b = 0 Input_Opt%ND51b_FILE = '' Input_Opt%ND51b_HR_WRITE = 0.0_fp Input_Opt%ND51b_HR1 = 0.0_fp Input_Opt%ND51b_HR2 = 0.0_fp Input_Opt%ND51b_IMIN = 0 Input_Opt%ND51b_IMAX = 0 Input_Opt%ND51b_JMIN = 0 Input_Opt%ND51b_JMAX = 0 Input_Opt%ND51b_LMIN = 0 !---------------------------------------- ! PROD LOSS MENU fields !--------------------------------------- arrayId = 'Input_Opt%FAM_NAME' ALLOCATE( Input_Opt%FAM_NAME( Input_Opt%Max_Families ), STAT=RC ) CALL GC_CheckVar( arrayId, 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN arrayId = 'Input_Opt%FAM_TYPE' ALLOCATE( Input_Opt%FAM_TYPE( Input_Opt%Max_Families ), STAT=RC ) CALL GC_CheckVar( arrayId, 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN Input_Opt%DO_SAVE_PL = .FALSE. Input_Opt%ND65 = 0 Input_Opt%NFAM = 0 Input_Opt%FAM_NAME = '' Input_Opt%FAM_TYPE = '' !---------------------------------------- ! MERCURY MENU fields !---------------------------------------- Input_Opt%ANTHRO_Hg_YEAR = 0 Input_Opt%HG_SCENARIO = '' Input_Opt%USE_CHECKS = .FALSE. Input_Opt%LDYNOCEAN = .FALSE. Input_Opt%LPREINDHG = .FALSE. Input_Opt%LGTMM = .FALSE. Input_Opt%GTMM_RST_FILE = '' !---------------------------------------- ! CH4 MENU fields !---------------------------------------- Input_Opt%Satellite_CH4_Columns = .FALSE. Input_Opt%GOSAT_CH4_OBS = .FALSE. Input_Opt%AIRS_CH4_OBS = .FALSE. Input_Opt%TCCON_CH4_OBS = .FALSE. Input_Opt%DoAnalyticalInv = .FALSE. Input_Opt%StateVectorElement = 0 Input_Opt%EmisPerturbFactor = 1.0 Input_Opt%DoPerturbCH4BoundaryConditions = .FALSE. Input_Opt%CH4BoundaryConditionIncreaseNorth = 0.0_fp Input_Opt%CH4BoundaryConditionIncreaseSouth = 0.0_fp Input_Opt%CH4BoundaryConditionIncreaseEast = 0.0_fp Input_Opt%CH4BoundaryConditionIncreaseWest = 0.0_fp Input_Opt%UseEmisSF = .FALSE. Input_Opt%UseOHSF = .FALSE. !---------------------------------------- ! POPS MENU fields !---------------------------------------- Input_Opt%POP_TYPE = '' Input_Opt%CHEM_PROCESS = .FALSE. Input_Opt%POP_XMW = 0.0_fp Input_Opt%POP_KOA = 0.0_fp Input_Opt%POP_KBC = 0.0_fp Input_Opt%POP_K_POPG_OH = 0.0_fp Input_Opt%POP_K_POPP_O3A = 0.0_fp Input_Opt%POP_K_POPP_O3B = 0.0_fp Input_Opt%POP_HSTAR = 0.0_fp Input_Opt%POP_DEL_H = 0.0_fp Input_Opt%POP_DEL_Hw = 0.0_fp !---------------------------------------- ! Fields for interface to GEOS-5 GCM !---------------------------------------- #ifdef MODEL_GEOS ! Input_Opt%OZONOPAUSE = -999.0 ! Input_Opt%haveImpRst = .FALSE. ! Input_Opt%AlwaysSetH2O = .FALSE. ! Input_Opt%LLFASTJX = -999 Input_Opt%NN_RxnRates = -999 Input_Opt%RxnRates_IDs => NULL() Input_Opt%NN_RxnRconst = -999 Input_Opt%RxnRconst_IDs => NULL() Input_Opt%NN_Jvals = -999 Input_Opt%Jval_IDs => NULL() #else Input_Opt%AlwaysSetH2O = .FALSE. Input_Opt%TurnOffHetRates = .FALSE. #endif #ifdef ADJOINT !---------------------------------------- ! Fields for adoint !--------------------------------------- Input_Opt%IS_ADJOINT = .FALSE. Input_Opt%IS_FD_SPOT = .FALSE. Input_Opt%IS_FD_GLOBAL = .FALSE. Input_Opt%IS_FD_SPOT_THIS_PET = .FALSE. Input_Opt%FD_STEP = -999 Input_Opt%IFD = -999 Input_Opt%JFD = -999 Input_Opt%NFD = -999 Input_Opt%LFD = -999 #endif !---------------------------------------- ! Fields for LINOZ strat chem !---------------------------------------- Input_Opt%LINOZ_NLEVELS = 25 Input_Opt%LINOZ_NLAT = 18 Input_Opt%LINOZ_NMONTHS = 12 Input_Opt%LINOZ_NFIELDS = 7 arrayId = 'Input_Opt%LINOZ_TPARM' ALLOCATE( Input_Opt%LINOZ_TPARM( Input_Opt%LINOZ_NLEVELS, & Input_Opt%LINOZ_NLAT, & Input_Opt%LINOZ_NMONTHS, & Input_Opt%LINOZ_NFIELDS ), STAT=RC ) CALL GC_CheckVar( arrayId, 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN Input_Opt%LINOZ_TPARM = 0.0_fp #if defined( ESMF_ ) ! Logger handle is set up by Chem_GridCompMod Input_Opt%lgr => NULL() ! Component name is acquired externally - this is a placeholder Input_Opt%compname = 'GC' #endif END SUBROUTINE Set_Input_Opt !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Cleanup_Input_Opt ! ! !DESCRIPTION: Subroutine CLEANUP\_INPUT\_OPT deallocates all ! allocatable fields of the Input Options object. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Cleanup_Input_Opt( Input_Opt, RC ) ! ! !USES: ! USE ErrCode_Mod ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input Options object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REVISION HISTORY: ! 02 Nov 2012 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! Assume success RC = GC_SUCCESS !====================================================================== ! Deallocate fields of the Input Options object !====================================================================== IF ( ASSOCIATED( Input_Opt%AdvectSpc_Name ) ) THEN DEALLOCATE( Input_Opt%AdvectSpc_Name, STAT=RC ) CALL GC_CheckVar( 'Input_Opt%AdvectSpcName', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN Input_Opt%AdvectSpc_Name => NULL() ENDIF IF ( ASSOCIATED( Input_Opt%SALA_REDGE_um ) ) THEN DEALLOCATE( Input_Opt%SALA_REDGE_um, STAT=RC ) CALL GC_CheckVar( 'Input_Opt%SALA_REDGE_um', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN Input_Opt%SALA_REDGE_um => NULL() ENDIF IF ( ASSOCIATED( Input_Opt%SALC_REDGE_um ) ) THEN DEALLOCATE( Input_Opt%SALC_REDGE_um, STAT=RC ) CALL GC_CheckVar( 'Input_Opt%SALC_REDGE_um', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN Input_Opt%SALC_REDGE_um => NULL() ENDIF IF ( ASSOCIATED( Input_Opt%LINOZ_TPARM ) ) THEN DEALLOCATE( Input_Opt%LINOZ_TPARM, STAT=RC ) CALL GC_CheckVar( 'Input_Opt%LINOZ_TPARM', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN Input_Opt%LINOZ_TPARM => NULL() ENDIF IF ( ASSOCIATED( Input_Opt%LSPECRADMENU ) ) THEN DEALLOCATE( Input_Opt%LSPECRADMENU, STAT=RC ) CALL GC_CheckVar( 'Input_Opt%LSPECRADMENU', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN Input_Opt%LSPECRADMENU => NULL() ENDIF IF ( ASSOCIATED( Input_Opt%LSKYRAD ) ) THEN DEALLOCATE( Input_Opt%LSKYRAD, STAT=RC ) CALL GC_CheckVar( 'Input_Opt%LSKYRAD', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN Input_Opt%LSKYRAD => NULL() ENDIF IF ( ASSOCIATED( Input_Opt%WVSELECT ) ) THEN DEALLOCATE( Input_Opt%WVSELECT, STAT=RC ) CALL GC_CheckVar( 'Input_Opt%WVSELECT', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN Input_Opt%WVSELECT => NULL() ENDIF IF ( ASSOCIATED( Input_Opt%STRWVSELECT ) ) THEN DEALLOCATE( Input_Opt%STRWVSELECT, STAT=RC ) CALL GC_CheckVar( 'Input_Opt%STRWVSELECT', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN Input_Opt%STRWVSELECT => NULL() ENDIF IF ( ASSOCIATED( Input_Opt%ObsPack_SpcName ) ) THEN DEALLOCATE( Input_Opt%ObsPack_SpcName, STAT=RC ) CALL GC_CheckVar( 'Input_Opt%ObsPack_SpcName', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN Input_Opt%ObsPack_SpcName => NULL() ENDIF #ifdef MODEL_GEOS !======================================================================= ! These fields of Input_Opt are only finalized when ! GEOS-Chem is coupled to the online NASA/GEOS ESM !======================================================================= IF ( ASSOCIATED( Input_Opt%RxnRconst_IDs ) ) THEN DEALLOCATE( Input_Opt%RxnRconst_IDs, STAT=RC ) CALL GC_CheckVar( 'Input_Opt%RxnRconst_IDs', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN Input_Opt%RxnRconst_IDs => NULL() ENDIF IF ( ASSOCIATED( Input_Opt%RxnRates_IDs ) ) THEN DEALLOCATE( Input_Opt%RxnRates_IDs, STAT=RC ) CALL GC_CheckVar( 'Input_Opt%RxnRates_IDs', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN Input_Opt%RxnRates_IDs => NULL() ENDIF IF ( ASSOCIATED( Input_Opt%Jval_IDs ) ) THEN DEALLOCATE( Input_Opt%Jval_IDs, STAT=RC ) CALL GC_CheckVar( 'Input_Opt%Jval_Ids', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN Input_Opt%Jval_Ids => NULL() ENDIF #endif #if defined( ESMF_ ) If (Associated(Input_Opt%lgr)) Input_Opt%lgr => NULL() #endif END SUBROUTINE Cleanup_Input_Opt !EOC END MODULE Input_Opt_Mod ================================================ FILE: Headers/inquireMod.F90 ================================================ #ifdef ESMF_ ! We only need to refer to this include file if we are connecting ! to the GEOS-5 GCM via the ESMF/MAPL framework (bmy, 8/3/12) #include "MAPL_Generic.h" #endif !------------------------------------------------------------------------ ! NASA/GSFC, Global Modeling and Assimilation Office, Code 910.1 ! !------------------------------------------------------------------------ !BOP ! ! !MODULE: inquireMod ! ! !DESCRIPTION: Module inquireMod contains functions to find free and ! unopened logical file units (LUNs) for Fortran I/O. ! ! !INTERFACE: ! MODULE inquireMod ! ! !USES: ! #ifdef ESMF_ ! We only need to refer to these modules if we are connecting ! to the GEOS-5 GCM via the ESMF/MAPL framework (bmy, 8/3/12) USE ESMF USE MAPL_Mod #endif IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: findFreeLUN PUBLIC :: I_Am_UnOPENed ! ! !REVI O + O INTEGER :: RXN_O3_1 ! O3 + hv --> O2 + O INTEGER :: RXN_O3_2 ! O3 + hv --> O2 + O(1D) INTEGER :: RXN_H2SO4 ! SO4 + hv --> SO2 + 2OH INTEGER :: RXN_NO2 ! NO2 + hv --> NO + O INTEGER :: RXN_JHNO3 ! HNO3 + hv --> OH + NO2 INTEGER :: RXN_JNITSa ! NITs + hv --> HNO2 INTEGER :: RXN_JNITSb ! NITs + hv --> NO2 INTEGER :: RXN_JNITa ! NIT + hv --> HNO2 INTEGER :: RXN_JNITb ! NIT + hv --> NO2 INTEGER :: RXN_NO ! For ucx_mod INTEGER :: RXN_NO3 ! For ucx_mod INTEGER :: RXN_N2O ! For ucx_mod INTEGER :: RXN_BrO ! For Hg chem INTEGER :: RXN_ClO ! For Hg chem ! Arrays INTEGER, ALLOCATABLE :: RINDEX (:) ! GC to UCI spc name index mapping INTEGER, ALLOCATABLE :: GC_Photo_Id(:) ! GC id per photolysis species INTEGER, ALLOCATABLE :: MIEDX (:) ! Interface indices for GC/FJX spc REAL(fp), ALLOCATABLE :: UVXFACTOR(:) ! Photons/cm2s -> W/m2 conv factors REAL(fp), ALLOCATABLE :: QAA_AOD (:) ! Single scattering albedo REAL(fp), ALLOCATABLE :: WAA_AOD (:) ! Aerosol scattering phase fnctns REAL(fp), ALLOCATABLE :: PAA_AOD (:) ! WLs for supplied phase functions REAL(fp), ALLOCATABLE :: RAA_AOD (:) ! Phase fnctn (first 8 terms) REAL(fp), ALLOCATABLE :: SAA_AOD (:) ! Aerosol type effective radius REAL(fp), ALLOCATABLE :: TREF (:,:,:) ! Temp reference profile REAL(fp), ALLOCATABLE :: OREF (:,:,:) ! Ozone reference profile REAL(fp), ALLOCATABLE :: ZPJ (:,:,:,:) ! J-values ! RRTMG allocatable arrays INTEGER, ALLOCATABLE :: SPECMASK (:) ! binary switches for spc flux INTEGER, ALLOCATABLE :: IWVREQUIRED (:) ! WL indexes for interpolation INTEGER, ALLOCATABLE :: IRTWVREQUIRED(:) ! WL indexes for RT interp INTEGER, ALLOCATABLE :: IWVSELECT (:,:) ! Indexes of requested WLs INTEGER, ALLOCATABLE :: IRTWVSELECT (:,:) ! Indexes of requested RT WLs INTEGER, ALLOCATABLE :: IRHARR (:,:,:) ! Relative humidity indices REAL*8, ALLOCATABLE :: ACOEF_WV (:) ! Coeffs for WL interpolation REAL*8, ALLOCATABLE :: BCOEF_WV (:) ! Coeffs for WL interpolation REAL*8, ALLOCATABLE :: CCOEF_WV (:) ! Coeffs for WL interpolation REAL*8, ALLOCATABLE :: ACOEF_RTWV(:) ! Coeffs for RT WL interpolation REAL*8, ALLOCATABLE :: BCOEF_RTWV(:) ! Coeffs for RT WL interpolation REAL*8, ALLOCATABLE :: CCOEF_RTWV(:) ! Coeffs for RT WL interpolation REAL*8, ALLOCATABLE :: WVAA (:,:) ! Wavelength read from LUTs (so4.dat etc.) REAL*8, ALLOCATABLE :: RHAA (:,:) ! RH read from LUTs (so4.dat etc.) REAL*8, ALLOCATABLE :: RDAA (:,:,:) ! Dry aerosol Rg read from LUTs (so4.dat etc.) REAL*8, ALLOCATABLE :: RWAA (:,:,:) ! Wet aerosol Rg read from LUTs (so4.dat etc.) REAL*8, ALLOCATABLE :: SGAA (:,:) ! Aerosol size geometric std. read from LUTs (so4.dat etc.) REAL*8, ALLOCATABLE :: REAA (:,:,:) ! Effective Radius read from LUTs (so4.dat etc.) REAL*8, ALLOCATABLE :: NRLAA (:,:,:) ! RI real part read from LUTs (so4.dat etc.) REAL*8, ALLOCATABLE :: NCMAA (:,:,:) ! RI imaginary part read from LUTs (so4.dat etc.) REAL*8, ALLOCATABLE :: QQAA (:,:,:,:) ! Extinction Effciency read from LUTs (so4.dat etc.) REAL*8, ALLOCATABLE :: ALPHAA (:,:,:,:) ! Alpha read from LUTs (so4.dat etc.) REAL*8, ALLOCATABLE :: SSAA (:,:,:,:) ! ss-alb read from LUTs (so4.dat etc.) REAL*8, ALLOCATABLE :: ASYMAA (:,:,:,:) ! g-sym read from LUTs (so4.dat etc.) REAL*8, ALLOCATABLE :: PHAA (:,:,:,:,:) ! phase function read from LUTs (so4.dat etc.) ! For optical depth diagnostics REAL(fp), ALLOCATABLE :: ISOPOD (:,:,:,:) ! Isoprene optical depth REAL(fp), ALLOCATABLE :: ODMDUST (:,:,:,:,:) ! Dust optical depth REAL(fp), ALLOCATABLE :: ODAER (:,:,:,:,:) ! Aerosol optical depth #ifdef RRTMG REAL*8, ALLOCATABLE :: RTODAER (:,:,:,:,:) ! Optical dust REAL*8, ALLOCATABLE :: RTSSAER (:,:,:,:,:) ! ?? REAL*8, ALLOCATABLE :: RTASYMAER (:,:,:,:,:) ! ?? #endif END TYPE PhotContainer ! ! !REMARKS: ! ! !REVISION HISTORY: ! 28 Nov 2022 - E. Lundgren- Initial version, based on state_grid_mod.F90 ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_Phot_Container ! ! !DESCRIPTION: Subroutine INIT\_PHOT\_Container allocates and initializes ! the Phot container object. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_Phot_Container( Input_Opt, State_Grid, Phot, RC ) ! ! !USES: ! #ifdef FASTJX USE CMN_FJX_Mod, ONLY : A_, AN_, W_, WX_, JVN_, N_, L_ #else USE Cldj_Cmn_Mod, ONLY : A_, AN_, W_, WX_, JVN_, N_, L_ #endif USE CMN_Size_Mod, ONLY : NDUST, NAER USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(PhotContainer), POINTER :: Phot ! Phot data container ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 28 Nov 2022 - E. Lundgren- Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=255) :: errMsg, thisLoc !====================================================================== ! Allocate and initialize module variables !====================================================================== ! Assume success RC = GC_SUCCESS thisLoc = ' -> at Init_Phot_Container (in module Headers/phot_container_mod.F90)' ! Constants Phot%IND999 = 5 ! Index in RAA & QAA of 999 nm Phot%NWVAA = 41 ! # LUT wavelengths (RRTMG) Phot%NSPAA = 8 ! # LUT species (RRTMG) Phot%NRAA = 7 ! # LUT aerosol sizes (RRTMG) Phot%NWVAA0 = 11 ! # non-RRTMG wavelengths Phot%NALBD = 2 ! ?? Phot%NEMISS = 16 ! ?? Phot%NASPECRAD = 16 ! # RRTMG aerosol species Phot%NSPECRAD = 23 ! # RRTMG aerosol+gas species Phot%NDRg = 40 ! # LUT dry SNA and OM aerosol sizes Phot%DRg = 6 ! # identifier of the default aerosol size ! Store certain values from Fast-JX with more intuitive name Phot%nWLbins = W_ Phot%nPhotRxns = 0 ! Set during photolysis initialization Phot%nMaxPhotRxns = JVN_! Maximum # of photolysis reactions (JVN_?) ! Integer scalars Phot%JTAUMX = (N_-4*L_)/2 Phot%RXN_O2 = -1 Phot%RXN_O3_1 = -1 Phot%RXN_O3_2 = -1 Phot%RXN_H2SO4 = -1 Phot%RXN_NO2 = -1 Phot%RXN_JHNO3 = -1 Phot%RXN_JNITSa = -1 Phot%RXN_JNITSb = -1 Phot%RXN_JNITa = -1 Phot%RXN_JNITb = -1 Phot%RXN_NO = -1 Phot%RXN_NO3 = -1 Phot%RXN_N2O = -1 Phot%RXN_BrO = -1 Phot%RXN_ClO = -1 ! Allocate arrays IF ( .not. Input_Opt%DryRun ) THEN ! Integer arrays ! Phot%RINDEX (:) ALLOCATE( Phot%RINDEX( Phot%nMaxPhotRxns ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array RINDEX!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Phot%RINDEX = 0 ! Phot%GC_Photo_Id (:) ALLOCATE( Phot%GC_Photo_Id( Phot%nMaxPhotRxns ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array GC_Photo_Id!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Phot%GC_Photo_Id = 0 ! Phot%MIEDX (:) ALLOCATE( Phot%MIEDX( AN_ ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array MIEDX!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Phot%MIEDX = 0 ! Real(fp) arrays ! Phot%UVXFACTOR(:) ALLOCATE( Phot%UVXFACTOR( WX_ ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array UVXFACTOR!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Phot%UVXFACTOR = 0e+0_fp ! Phot%QAA_AOD (:) ALLOCATE( Phot%QAA_AOD( A_ ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array QAA_AOD!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Phot%QAA_AOD = 0e+0_fp ! Phot%WAA_AOD (:) ALLOCATE( Phot%WAA_AOD( A_ ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array WAA_AOD!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Phot%WAA_AOD = 0e+0_fp ! Phot%PAA_AOD (:) ALLOCATE( Phot%PAA_AOD( A_ ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array PAA_AOD!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Phot%PAA_AOD = 0e+0_fp ! Phot%RAA_AOD (:) ALLOCATE( Phot%RAA_AOD( A_ ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array RAA_AOD!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Phot%RAA_AOD = 0e+0_fp ! Phot%SAA_AOD (:) ALLOCATE( Phot%SAA_AOD( A_ ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array SAA_AOD!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Phot%SAA_AOD = 0e+0_fp ! Phot%TREF (:,:,:) ALLOCATE( Phot%TREF( 51, 18, 12 ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array TREF!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Phot%TREF = 0e+0_fp ! Phot%OREF (:,:,:) ALLOCATE( Phot%OREF( 51, 18, 12 ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array OREF!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Phot%OREF = 0e+0_fp ! Phot%ZPJ (:,:,:,:) ALLOCATE( Phot%ZPJ( State_Grid%NZ, Phot%nMaxPhotRxns, State_Grid%NX, & State_Grid%NY ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array ZPJ!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Phot%ZPJ = 0e+0_fp ENDIF !-------------------------------------------------- ! Fields for RRTMG and optical depth diagnostics !-------------------------------------------------- ! Other scalars Phot%NWVAART = Phot%NWVAA-Phot%NWVAA0 ! # RRTMG wavelengths ! Scalars set in subroutine CALC_AOD Phot%NWVREQUIRED = 0 Phot%NRTWVREQUIRED = 0 ! Scalars set in subroutine RD_AOD Phot%IWV1000 = 0 ! Allocate arrays IF ( .not. Input_Opt%DryRun ) THEN ! RRTMG integer arrays ! Phot%SPECMASK (:) ALLOCATE( Phot%SPECMASK( AN_ ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array SPECMASK!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Phot%SPECMASK = 0 ! Phot%IWVREQUIRED (:) ALLOCATE( Phot%IWVREQUIRED( AN_ ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array IWVREQUIRED!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Phot%IWVREQUIRED = 0 ! Phot%IRTWVREQUIRED(:) ALLOCATE( Phot%IRTWVREQUIRED( AN_ ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array IRTWVREQUIRED!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Phot%IRTWVREQUIRED = 0 ! Phot%IWVSELECT (:,:) ALLOCATE( Phot%IWVSELECT( 2, 3 ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array IWVSELECT!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Phot%IWVSELECT = 0 ! Phot%IRTWVSELECT (:,:) ALLOCATE( Phot%IRTWVSELECT( 2, 3 ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array IRTWVSELECT!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Phot%IRTWVSELECT = 0 ! Phot%IRHARR (:,:,:) ALLOCATE( Phot%IRHARR( State_Grid%NX, State_Grid%NY, & State_Grid%NZ ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array IRHARR!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Phot%IRHARR = 0d0 ! RRTMG real*8 arrays ! Phot%ACOEF_WV (:) ALLOCATE( Phot%ACOEF_WV( AN_ ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array ACOEF_WV!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Phot%ACOEF_WV = 0d0 ! Phot%BCOEF_WV (:) ALLOCATE( Phot%BCOEF_WV( AN_ ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array BCOEF_WV!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Phot%BCOEF_WV = 0d0 ! Phot%CCOEF_WV (:) ALLOCATE( Phot%CCOEF_WV( AN_ ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array CCOEF_WV!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Phot%CCOEF_WV = 0d0 ! Phot%ACOEF_RTWV(:) ALLOCATE( Phot%ACOEF_RTWV( AN_ ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array ACOEF_RTWV!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Phot%ACOEF_RTWV = 0d0 ! Phot%BCOEF_RTWV(:) ALLOCATE( Phot%BCOEF_RTWV( AN_ ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array BCOEF_RTWV!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Phot%BCOEF_RTWV = 0d0 ! Phot%CCOEF_RTWV(:) ALLOCATE( Phot%CCOEF_RTWV( AN_ ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array CCOEF_RTWV!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Phot%CCOEF_RTWV = 0d0 ! Phot%WVAA (:,:) ALLOCATE( Phot%WVAA( Phot%NWVAA, Phot%NSPAA ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array WVAA!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Phot%WVAA = 0d0 ! Phot%RHAA (:,:) ALLOCATE( Phot%RHAA( Phot%NRAA, Phot%NSPAA ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array RHAA!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Phot%RHAA = 0d0 ! Phot%RDAA (:,:,:) ! H. Zhu ALLOCATE( Phot%RDAA( Phot%NRAA, Phot%NSPAA, Phot%NDRg), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array RDAA!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Phot%RDAA = 0d0 ! Phot%RWAA (:,:,:) ! H. Zhu ALLOCATE( Phot%RWAA( Phot%NRAA, Phot%NSPAA, Phot%NDRg ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array RWAA!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Phot%RWAA = 0d0 ! Phot%SGAA (:,:) ALLOCATE( Phot%SGAA( Phot%NRAA, Phot%NSPAA ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array SGAA!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Phot%SGAA = 0d0 ! Phot%REAA (:,:,:) ALLOCATE( Phot%REAA( Phot%NRAA, Phot%NSPAA, Phot%NDRg ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array REAA!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Phot%REAA = 0d0 ! Phot%NRLAA (:,:,:) ALLOCATE( Phot%NRLAA( Phot%NWVAA, Phot%NRAA, Phot%NSPAA ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array NRLAA!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Phot%NRLAA = 0d0 ! Phot%NCMAA (:,:,:) ALLOCATE( Phot%NCMAA( Phot%NWVAA, Phot%NRAA, Phot%NSPAA ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array NCMAA!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Phot%NCMAA = 0d0 ! Phot%QQAA (:,:,:,:) ALLOCATE( Phot%QQAA( Phot%NWVAA, Phot%NRAA, Phot%NSPAA, Phot%NDRg ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array QQAA!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Phot%QQAA = 0d0 ! Phot%ALPHAA (:,:,:,:) ALLOCATE( Phot%ALPHAA( Phot%NWVAA, Phot%NRAA, Phot%NSPAA, Phot%NDRg ), & STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array ALPHAA!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Phot%ALPHAA = 0d0 ! Phot%SSAA (:,:,:,:) ALLOCATE( Phot%SSAA( Phot%NWVAA, Phot%NRAA, Phot%NSPAA, Phot%NDRg ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array SSAA!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Phot%SSAA = 0d0 ! Phot%ASYMAA (:,:,:,:) ALLOCATE( Phot%ASYMAA( Phot%NWVAA, Phot%NRAA, Phot%NSPAA, Phot%NDRg ), & STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array ASYMAA!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Phot%ASYMAA = 0d0 ! Phot%PHAA (:,:,:,:) ALLOCATE( Phot%PHAA( Phot%NWVAA, Phot%NRAA, Phot%NSPAA, 8, Phot%NDRg ), & STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array PHAA!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Phot%PHAA = 0d0 ! Phot%ISOPOD (:,:,:,:) ALLOCATE( Phot%ISOPOD( State_Grid%NX, State_Grid%NY, State_Grid%NZ, & Phot%NWVAA ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array ISOPOD!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Phot%ISOPOD = 0e+0_fp ! Phot%ODMDUST (:,:,:,:,:) ALLOCATE( Phot%ODMDUST( State_Grid%NX, State_Grid%NY, State_Grid%NZ, & Phot%NWVAA, NDUST ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array ODMDUST!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Phot%ODMDUST = 0e+0_fp ! Phot%ODAER (:,:,:,:,:) ALLOCATE( Phot%ODAER( State_Grid%NX, State_Grid%NY, State_Grid%NZ, & Phot%NWVAA, NAER ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array ODAER!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Phot%ODAER = 0e+0_fp #ifdef RRTMG ! Phot%RTODAER (:,:,:,:,:) ! +2 to split SNA into SU, NI and AM ALLOCATE( Phot%RTODAER( State_Grid%NX, State_Grid%NY, State_Grid%NZ, & Phot%NWVAA, NAER+2+NDUST ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array RTODAER!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Phot%RTODAER = 0d0 ! Phot%RTSSAER (:,:,:,:,:) ALLOCATE( Phot%RTSSAER( State_Grid%NX, State_Grid%NY, State_Grid%NZ, & Phot%NWVAA, NAER+2+NDUST ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array RTSSAER!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Phot%RTSSAER = 0d0 ! Phot%RTASYMAER (:,:,:,:,:) ALLOCATE( Phot%RTASYMAER( State_Grid%NX, State_Grid%NY, State_Grid%NZ, & Phot%NWVAA, NAER+2+NDUST ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating array RTASYMAER!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF Phot%RTASYMAER = 0d0 #endif ENDIF END SUBROUTINE Init_Phot_Container !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Cleanup_Phot_Container ! ! !DESCRIPTION: Subroutine CLEANUP\_PHOT\_CONTAINER deallocates all fields ! of the phot container object. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Cleanup_Phot_Container( Phot, RC ) ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(PhotContainer), POINTER :: Phot ! Phot data container ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Return code ! ! !REVISION HISTORY: ! 28 Nov 2022 - E. Lundgren- Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! Assume success RC = GC_SUCCESS !======================================================================= ! Deallocate arrays !======================================================================= ! Will need to change this to just do arrays etc IF ( ASSOCIATED( Phot ) ) THEN IF (ALLOCATED(Phot%RINDEX )) DEALLOCATE(Phot%RINDEX ) IF (ALLOCATED(Phot%GC_Photo_Id )) DEALLOCATE(Phot%GC_Photo_Id ) IF (ALLOCATED(Phot%MIEDX )) DEALLOCATE(Phot%MIEDX ) IF (ALLOCATED(Phot%UVXFACTOR )) DEALLOCATE(Phot%UVXFACTOR ) IF (ALLOCATED(Phot%QAA_AOD )) DEALLOCATE(Phot%QAA_AOD ) IF (ALLOCATED(Phot%WAA_AOD )) DEALLOCATE(Phot%WAA_AOD ) IF (ALLOCATED(Phot%PAA_AOD )) DEALLOCATE(Phot%PAA_AOD ) IF (ALLOCATED(Phot%RAA_AOD )) DEALLOCATE(Phot%RAA_AOD ) IF (ALLOCATED(Phot%SAA_AOD )) DEALLOCATE(Phot%SAA_AOD ) IF (ALLOCATED(Phot%TREF )) DEALLOCATE(Phot%TREF ) IF (ALLOCATED(Phot%OREF )) DEALLOCATE(Phot%OREF ) IF (ALLOCATED(Phot%ISOPOD )) DEALLOCATE(Phot%ISOPOD ) IF (ALLOCATED(Phot%ZPJ )) DEALLOCATE(Phot%ZPJ ) IF (ALLOCATED(Phot%ODMDUST )) DEALLOCATE(Phot%ODMDUST ) IF (ALLOCATED(Phot%ODAER )) DEALLOCATE(Phot%ODAER ) IF (ALLOCATED(Phot%SPECMASK )) DEALLOCATE(Phot%SPECMASK ) IF (ALLOCATED(Phot%IWVREQUIRED )) DEALLOCATE(Phot%IWVREQUIRED ) IF (ALLOCATED(Phot%IRTWVREQUIRED )) DEALLOCATE(Phot%IRTWVREQUIRED ) IF (ALLOCATED(Phot%IWVSELECT )) DEALLOCATE(Phot%IWVSELECT ) IF (ALLOCATED(Phot%IRTWVSELECT )) DEALLOCATE(Phot%IRTWVSELECT ) IF (ALLOCATED(Phot%IRHARR )) DEALLOCATE(Phot%IRHARR ) IF (ALLOCATED(Phot%ACOEF_WV )) DEALLOCATE(Phot%ACOEF_WV ) IF (ALLOCATED(Phot%BCOEF_WV )) DEALLOCATE(Phot%BCOEF_WV ) IF (ALLOCATED(Phot%CCOEF_WV )) DEALLOCATE(Phot%CCOEF_WV ) IF (ALLOCATED(Phot%ACOEF_RTWV )) DEALLOCATE(Phot%ACOEF_RTWV ) IF (ALLOCATED(Phot%BCOEF_RTWV )) DEALLOCATE(Phot%BCOEF_RTWV ) IF (ALLOCATED(Phot%CCOEF_RTWV )) DEALLOCATE(Phot%CCOEF_RTWV ) IF (ALLOCATED(Phot%WVAA )) DEALLOCATE(Phot%WVAA ) IF (ALLOCATED(Phot%RHAA )) DEALLOCATE(Phot%RHAA ) IF (ALLOCATED(Phot%RDAA )) DEALLOCATE(Phot%RDAA ) IF (ALLOCATED(Phot%RWAA )) DEALLOCATE(Phot%RWAA ) IF (ALLOCATED(Phot%SGAA )) DEALLOCATE(Phot%SGAA ) IF (ALLOCATED(Phot%REAA )) DEALLOCATE(Phot%REAA ) IF (ALLOCATED(Phot%NRLAA )) DEALLOCATE(Phot%NRLAA ) IF (ALLOCATED(Phot%NCMAA )) DEALLOCATE(Phot%NCMAA ) IF (ALLOCATED(Phot%QQAA )) DEALLOCATE(Phot%QQAA ) IF (ALLOCATED(Phot%ALPHAA )) DEALLOCATE(Phot%ALPHAA ) IF (ALLOCATED(Phot%SSAA )) DEALLOCATE(Phot%SSAA ) IF (ALLOCATED(Phot%ASYMAA )) DEALLOCATE(Phot%ASYMAA ) IF (ALLOCATED(Phot%PHAA )) DEALLOCATE(Phot%PHAA ) #ifdef RRTMG IF (ALLOCATED(Phot%RTODAER )) DEALLOCATE(Phot%RTODAER ) IF (ALLOCATED(Phot%RTSSAER )) DEALLOCATE(Phot%RTSSAER ) IF (ALLOCATED(Phot%RTASYMAER )) DEALLOCATE(Phot%RTASYMAER ) #endif DEALLOCATE( Phot ) Phot => NULL() ENDIF END SUBROUTINE Cleanup_Phot_Container !EOC END MODULE Phot_Container_Mod ================================================ FILE: Headers/physconstants.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: physconstants.F ! ! !DESCRIPTION: PhysConstants contains GEOS-Chem specific PHYSICAL CONSTANTS ! and DERIVED QUANTITIES. !\\ !\\ ! !INTERFACE: ! MODULE PHYSCONSTANTS ! ! !USES: ! USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE PUBLIC ! ! !DEFINED PARAMETERS: ! ! Average molecular weight of dry air [g/mol] REAL(fp), PARAMETER :: AIRMW = 28.9644_fp ! was 28.97 ! Molecular weight of water [g/mol] REAL(fp), PARAMETER :: H2OMW = 18.016_fp ! Avogadro's number [particles/mol] (Source: NIST, 2014) REAL(fp), PARAMETER :: AVO = 6.022140857e+23_fp ! Acceleration due to gravity at earth's surface [m/s^2] ! (Source: NIST, 2014) REAL(fp), PARAMETER :: g0 = 9.80665e+0_fp REAL(fp), PARAMETER :: g0_100 = 100.0_fp / g0 ! Double-Precision value of PI (and radians per degree) REAL(fp), PARAMETER :: PI = 3.14159265358979323_fp REAL(fp), PARAMETER :: PI_180 = PI / 180.0_fp ! Radius of Earth [m] REAL(fp), PARAMETER :: Re = 6.3710072e+6_fp ! was 6.375e+6_fp ! Gas Constant in Dry Air [J/K/kg] (and divided by g) REAL(fp), PARAMETER :: Rd = 287.0_fp REAL(fp), PARAMETER :: Rdg0 = Rd / g0 ! Gas Constant for water vapor [J/K/kg] REAL(fp), PARAMETER :: Rv = 461.00_fp ! Scale height of atmosphere [m] REAL(fp), PARAMETER :: SCALE_HEIGHT = 7600.0_fp ! Von Karman's constant [.] REAL(fp), PARAMETER :: VON_KARMAN = 0.4_fp ! Molar gas constant [J/K/mol] (Source: NIST, 2014) ! NOTE: Also be sure to update con_R in gckpp_Global if you update this! REAL(fp), PARAMETER :: RSTARG = 8.3144598_fp ! XNUMOLAIR : Molecules dry air per kg dry air REAL(fp), PARAMETER :: XNUMOLAIR = AVO / ( AIRMW * 1.e-3_fp ) ! BOLTZ : Boltzmann's constant [J/K] (Source: NIST, 2014) REAL(fp), PARAMETER :: BOLTZ = 1.38064852e-23_fp ! ATM : Standard atmosphere [Pa] (Source: NIST, 2014) REAL(fp), PARAMETER :: ATM = 1.01325e+5_fp ! PLANK : Plank's constant REAL(fp), PARAMETER :: PLANCK = 6.62606957e-34_fp ! CCONST : Speed of light [m/s] REAL(fp), PARAMETER :: CCONST = 2.99792458e+8_fp ! Condensation vapor pressure ! ** NEED SOURCE ** ! We think 6.1078 hPa is the saturation vapor pressure at 273.16 K, the ! triple point of water, but this needs to be confirmed (mps, 4/21/16) ! Use BOLTZ [J/K] rather than BOLTG [ergs/K] from comode_loop_mod ! (ewl, 1/4/16) REAL(fp), PARAMETER :: CONSVAP = 6.1078e+03_fp / ( BOLTZ * 1e+7_fp ) ! Gas constant in: [L.atm/K.mole] REAL(fp), PARAMETER :: RGASLATM = 8.2057e-2_fp ! Molecular weight of carbon (kg/mol) REAL(fp), PARAMETER :: MWCARB = 12.01e-3_fp ! ! !REFERENCES: ! (1) NIST, 2014. Website: http://physics.nist.gov/cuu/Constants/index.html ! ! !REVISION HISTORY: ! 25 Jun 2002 - R. Yantosca - Initial version ! 07 Jan 2016 - E. Lundgren - Updated to NIST 2014 values ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC END MODULE PHYSCONSTANTS !EOC ================================================ FILE: Headers/precision_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: precision_mod.F90 ! ! !DESCRIPTION: Module PRECISION\_MOD is used to change the precision of ! many variables throughout GEOS-Chem at compile-time. Also contains ! parameters that can be used to represent missing values. !\\ !\\ ! !INTERFACE: ! MODULE Precision_Mod ! ! !USES: ! IMPLICIT NONE PRIVATE ! ! !REMARKS: ! This module is designed to help avoid hard-coding precision. ! ! !REVISION HISTORY: ! 04 Nov 2014 - M. Yannetti - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !----------------------------------------------------------------------------- !BOC ! ! !DEFINED PARAMETERS: ! !================================================================= ! Set parameters for fixed precision ! ! Not all variables can be converted into the flexible precision. ! Some may have to be still declared as either 4-byte or 8-byte ! floating point. Use these parameters for such variables. !================================================================= ! KIND parameter for 4-byte precision INTEGER, PARAMETER, PUBLIC :: f4 = KIND( 0.0_4 ) ! KIND parameter for 8-byte precision INTEGER, PARAMETER, PUBLIC :: f8 = KIND( 0.0_8 ) !================================================================= ! Set parameters for floating precision ! ! FP will be set to either 4-byte or 8-byte precision at compile ! time. Most variables can now declared with REAL(fp). !================================================================= #ifdef USE_REAL8 ! Use 8-byte floating point precision when asked. INTEGER, PARAMETER, PUBLIC :: fp = f8 #else ! Use 4-byte floating point by default. INTEGER, PARAMETER, PUBLIC :: fp = f4 #endif !========================================================================= ! Parameters for missing values !========================================================================= LOGICAL, PARAMETER, PUBLIC :: MISSING_BOOL = .FALSE. INTEGER, PARAMETER, PUBLIC :: MISSING_INT = -999 REAL(fp), PARAMETER, PUBLIC :: MISSING = -999.0_fp REAL(f4), PARAMETER, PUBLIC :: MISSING_REAL = -999.0_f4 REAL(f8), PARAMETER, PUBLIC :: MISSING_DBLE = -999.0_f8 CHARACTER(LEN=7), PARAMETER, PUBLIC :: MISSING_STR = "UNKNOWN" !========================================================================= ! Parameters for zero !========================================================================= REAL(fp), PARAMETER, PUBLIC :: ZERO = 0.0_fp REAL(f4), PARAMETER, PUBLIC :: ZERO_REAL = 0.0_f4 REAL(f8), PARAMETER, PUBLIC :: ZERO_DBLE = 0.0_f8 !========================================================================= ! Parameters for one !========================================================================= REAL(fp), PARAMETER, PUBLIC :: ONE = 1.0_fp REAL(f4), PARAMETER, PUBLIC :: ONE_REAL = 1.0_f4 REAL(f8), PARAMETER, PUBLIC :: ONE_DBLE = 1.0_f8 END MODULE Precision_Mod !EOC ================================================ FILE: Headers/qfyaml_mod.F90 ================================================ !------------------------------------------------------------------------------ ! QFYAML: Bob Yantosca | yantosca@seas.harvard.edu | Apr 2020 ! Based on existing package https://github.com/jannisteunissen/config_fortran !------------------------------------------------------------------------------ !BOP ! ! !MODULE: qfyaml_mod.F90 ! ! !DESCRIPTION: Contains routines for reading a YAML file into Fortran, ! based off the "config_fortran" package of H. J. Teunissen. !\\ !\\ ! !INTERFACE: ! MODULE QFYAML_Mod ! ! !USES: ! IMPLICIT NONE PRIVATE ! ! !PUBLIC TYPES: ! PUBLIC :: yp PUBLIC :: QFYAML_t ! ! !PUBLIC DATA MEMBERS: ! ! Constants PUBLIC :: QFYAML_Failure PUBLIC :: QFYAML_MaxArr PUBLIC :: QFYAML_MaxStack PUBLIC :: QFYAML_NamLen PUBLIC :: QFYAML_StrLen PUBLIC :: QFYAML_Success ! Public methods PUBLIC :: QFYAML_Add PUBLIC :: QFYAML_Add_Get PUBLIC :: QFYAML_CleanUp PUBLIC :: QFYAML_Get PUBLIC :: QFYAML_Check PUBLIC :: QFYAML_FindDepth PUBLIC :: QFYAML_FindNextHigher PUBLIC :: QFYAML_Init PUBLIC :: QFYAML_Merge PUBLIC :: QFYAML_Print PUBLIC :: QFYAML_Update ! ! !REMARKS: ! QFYAML -- The Quick Fortran YAML parser! ! ! I developed this package because I needed a quick-and-dirty YAML parser ! in Fortran for reading in certain YAML files (e.g. species database) ! into the GEOS-Chem model. I found that certain Fortran YAML parsers ! either did not support mapping, or required the bleeding edge versions ! of Fortran compilers. ! ! The back end is code that was taken from the "config_fortran" package ! (https://github.com/jannisteunissen/config_fortran) by H. J. Teunissen. ! and subsequently modified by myse;lf ! ! The front end (parser) has been modified to accept YAML format instead of ! configuration file format. Not all features of YAML have been implemented. ! At present, I have only tested with YAML mappings but as time allows I ! can try to add other YAML features. ! ! At present, nested levels of variables are not supported, but ! might bein the future. ! ! I have removed some routines that are not as pertinent to YAML input ! from the original config-fortran code. ! ! -- Bob Yantosca (15 Apr 2020), yantosca@seas.harvard.edu ! ! !REVISION HISTORY: ! 15 Apr 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! The precision kind-parameter (4-byte) INTEGER, PARAMETER :: yp = KIND( 0.0e0 ) ! Success/failure return codes INTEGER, PARAMETER :: QFYAML_Success = 0 INTEGER, PARAMETER :: QFYAML_Failure = -1 ! Numeric type constants INTEGER, PARAMETER :: QFYAML_num_types = 4 INTEGER, PARAMETER :: QFYAML_integer_type = 1 INTEGER, PARAMETER :: QFYAML_real_type = 2 INTEGER, PARAMETER :: QFYAML_string_type = 3 INTEGER, PARAMETER :: QFYAML_bool_type = 4 INTEGER, PARAMETER :: QFYAML_unknown_type = 0 ! How was the YAML file set? INTEGER, PARAMETER :: QFYAML_set_by_default = 1 INTEGER, PARAMETER :: QFYAML_set_by_file = 3 ! Other constants INTEGER, PARAMETER :: QFYAML_MaxStack = 20 ! Max cat_stack size INTEGER, PARAMETER :: QFYAML_NamLen = 100 ! Max len for names INTEGER, PARAMETER :: QFYAML_StrLen = 512 ! Max len for strings INTEGER, PARAMETER :: QFYAML_MaxArr = 1000 ! Max entries per array INTEGER, PARAMETER :: QFYAML_MaxDataLen = 20000 ! Max stored data size CHARACTER(LEN=7), PARAMETER :: QFYAML_type_names(0:QFYAML_num_types) = & (/ 'storage', 'integer', 'real ', 'string ', 'bool ' /) ! The separator(s) for array-like variables (space, comma, ', ", and tab) CHARACTER, PARAMETER :: tab_char = char(9) CHARACTER(LEN=*), PARAMETER :: QFYAML_separators = " ,'"""//tab_char ! Bracket characters CHARACTER(LEN=4), PARAMETER :: QFYAML_brackets = "{}[]" ! The separator for categories (stored in var_name) CHARACTER(LEN=1), PARAMETER :: QFYAML_category_separator = "%" ! The default string for data that is not yet stored CHARACTER(LEN=21), PARAMETER :: unstored_data_string="__UNSTORED_DATA_STRING" ! Type for a single variable TYPE, PRIVATE :: QFYAML_var_t PRIVATE CHARACTER(LEN=QFYAML_NamLen) :: category CHARACTER(LEN=QFYAML_NamLen) :: var_name CHARACTER(LEN=QFYAML_StrLen) :: description INTEGER :: var_type INTEGER :: var_size LOGICAL :: dynamic_size LOGICAL :: used INTEGER :: set_by=QFYAML_set_by_default CHARACTER(LEN=QFYAML_maxDataLen) :: stored_data CHARACTER(LEN=QFYAML_NamLen) :: anchor_ptr CHARACTER(LEN=QFYAML_NamLen) :: anchor_tgt REAL(yp), ALLOCATABLE :: real_data(:) INTEGER, ALLOCATABLE :: int_data(:) CHARACTER(LEN=QFYAML_StrLen), ALLOCATABLE :: char_data(:) LOGICAL, ALLOCATABLE :: bool_data(:) END TYPE QFYAML_var_t ! Type for the list of variables TYPE :: QFYAML_t LOGICAL :: sorted = .false. INTEGER :: num_vars = 0 TYPE(QFYAML_var_t), ALLOCATABLE :: vars(:) END TYPE QFYAML_t ! Interface to add variables to the configuration INTERFACE QFYAML_Add MODULE PROCEDURE Add_Real, Add_Real_Array MODULE PROCEDURE Add_Int, Add_Int_Array MODULE PROCEDURE Add_String, Add_String_Array MODULE PROCEDURE Add_Bool, Add_Bool_Array END INTERFACE QFYAML_Add ! INTERFACE to get variables from the configuration INTERFACE QFYAML_Get MODULE PROCEDURE Get_Real, Get_Real_Array MODULE PROCEDURE Get_Int, Get_Int_Array MODULE PROCEDURE Get_Bool, Get_Bool_Array MODULE PROCEDURE Get_String, Get_String_Array END INTERFACE QFYAML_Get ! Interface to get variables from the configuration INTERFACE QFYAML_Add_Get MODULE PROCEDURE Add_Get_Real, Add_Get_Real_Array MODULE PROCEDURE Add_Get_Int, Add_Get_Int_Array MODULE PROCEDURE Add_Get_Bool, Add_Get_Bool_Array MODULE PROCEDURE Add_Get_String, Add_Get_String_Array END INTERFACE QFYAML_Add_Get ! Interface to get variables from the configuration INTERFACE QFYAML_Update MODULE PROCEDURE Update_Real, Update_Real_Array MODULE PROCEDURE Update_Int, Update_Int_Array MODULE PROCEDURE Update_Bool, Update_Bool_Array MODULE PROCEDURE Update_String, Update_String_Array END INTERFACE QFYAML_Update CONTAINS !EOC !------------------------------------------------------------------------------ ! QFYAML: Bob Yantosca | yantosca@seas.harvard.edu | Apr 2020 ! Based on existing package https://github.com/jannisteunissen/config_fortran !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Handle_Error ! ! !DESCRIPTION: This routine will be called if an error occurs in one of ! the subroutines of this module. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Handle_Error( errMsg, RC, thisLoc ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: errMsg ! Error message CHARACTER(LEN=*), OPTIONAL :: thisLoc ! ! INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Return code ! ! !REVISION HISTORY: ! 15 Apr 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC !======================================================================= ! Handle_Error begins here! !======================================================================= WRITE( 6, "(a)" ) REPEAT( "=", 79 ) WRITE( 6, "(a)" ) "QFYAML ERROR: " // TRIM( errMsg ) IF ( PRESENT( thisLoc ) ) WRITE( 6, '(a)' ) TRIM( thisLoc ) WRITE( 6, "(a)" ) REPEAT( "=", 79 ) WRITE( 6, "(a)" ) ! Return failure RC = QFYAML_FAILURE END SUBROUTINE Handle_Error !EOC !------------------------------------------------------------------------------ ! QFYAML: Bob Yantosca | yantosca@seas.harvard.edu | Apr 2020 ! Based on existing package https://github.com/jannisteunissen/config_fortran !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_Var_Index ! ! !DESCRIPTION: Return the index of the variable with name 'var_name', ! or -1 if not found. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Get_Var_Index( yml, var_name, ix ) ! ! !INPUT PARAMETERS: ! TYPE(QFYAML_t), INTENT(IN) :: yml CHARACTER(LEN=*), INTENT(IN) :: var_name ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: ix ! ! !REVISION HISTORY: ! 15 Apr 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: i !======================================================================= ! Get_Var_Index begins here! !======================================================================= ! Initialize ix = -1 IF ( yml%sorted ) THEN ! If the variable names have been sorted, use a binary search CALL Binary_Search_Variable( yml, var_name, ix ) ELSE ! Otherwise use a linear search DO i = 1, yml%num_vars IF ( TRIM( yml%vars(i)%var_name ) == TRIM( var_name ) ) THEN ix = i EXIT ENDIF ENDDO ENDIF END SUBROUTINE Get_Var_Index !EOC !------------------------------------------------------------------------------ ! QFYAML: Bob Yantosca | yantosca@seas.harvard.edu | Apr 2020 ! Based on existing package https://github.com/jannisteunissen/config_fortran !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_Anchor_Info ! ! !DESCRIPTION: Returns information about a variable containing an anchor ! target field: the index, the category name, and the variable name (minus ! the category). Missing values are returned if not found. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Get_Anchor_Info( yml, anchor_ptr, begin_ix, end_ix, anchor_cat ) ! ! !INPUT PARAMETERS: ! TYPE(QFYAML_t), INTENT(IN) :: yml ! Config object CHARACTER(LEN=*), INTENT(IN) :: anchor_ptr ! Anchor to match ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: begin_ix ! 1st var w/ anchor INTEGER, INTENT(OUT) :: end_ix ! last var w/ anchor CHARACTER(LEN=QFYAML_NamLen), INTENT(OUT) :: anchor_cat ! Anchor category ! ! !REVISION HISTORY: ! 15 Apr 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: i !======================================================================= ! Get_Anchor_Info begins here! !======================================================================= ! Initialize begin_ix = 0 end_ix = 0 anchor_cat = "UNKNOWN" ! Linear search DO i = 1, yml%num_vars IF ( TRIM( yml%vars(i)%anchor_tgt ) == TRIM( anchor_ptr ) ) THEN IF ( begin_ix == 0 ) begin_ix = i end_ix = i ENDIF ENDDO ! Also return the category for this anchor IF ( begin_ix > 0 ) THEN anchor_cat = yml%vars(begin_ix)%category ENDIF END SUBROUTINE Get_Anchor_Info !EOC !------------------------------------------------------------------------------ ! QFYAML: Bob Yantosca | yantosca@seas.harvard.edu | Apr 2020 ! Based on existing package https://github.com/jannisteunissen/config_fortran !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: QFYAML_Init ! ! !DESCRIPTION: Initializes a QFYAML_t object from a YAML file. !\\ !\\ ! !INTERFACE: ! SUBROUTINE QFYAML_Init( fileName, yml, yml_anchored, RC ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: fileName ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(QFYAML_t), INTENT(INOUT) :: yml TYPE(QFYAML_t), INTENT(INOUT) :: yml_anchored ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! ! !REVISION HISTORY: ! 15 Apr 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=QFYAML_StrLen) :: errMsg, thisLoc !======================================================================= ! QFYAML_Init begins here! !======================================================================= ! Initialize RC = QFYAML_success errMsg = '' thisLoc = ' -> at QFYAML_Init (in module qfyaml_mod.F90)' ! Read the YML file CALL QFYAML_Read_File( yml, fileName, yml_anchored, RC ) ! Trap potential errors IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "QFYAML_Read_File"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Sort the variable names in the yml object for faster search CALL QFYAML_Sort( yml ) END SUBROUTINE QFYAML_Init !EOC !------------------------------------------------------------------------------ ! QFYAML: Bob Yantosca | yantosca@seas.harvard.edu | Apr 2020 ! Based on existing package https://github.com/jannisteunissen/config_fortran !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: QFYAML_Merge ! ! !DESCRIPTION: Concatetenates two QFYAML_t objects together. !\\ !\\ ! !INTERFACE: ! SUBROUTINE QFYAML_Merge( yml1, yml2, yml, RC ) ! ! !INPUT PARAMETERS: ! TYPE(QFYAML_t), INTENT(IN) :: yml1 TYPE(QFYAML_t), INTENT(IN) :: yml2 ! ! !OUTPUT PARAMETERS: ! TYPE(QFYAML_t), INTENT(OUT) :: yml INTEGER, INTENT(OUT) :: RC ! ! !REVISION HISTORY: ! 15 Apr 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N ! Strings CHARACTER(LEN=QFYAML_StrLen) :: errMsg CHARACTER(LEN=QFYAML_StrLen) :: thisLoc !======================================================================= ! QFYAML_Init begins here! !======================================================================= ! Initialize RC = QFYAML_success N = 0 errMsg = '' thisLoc = ' -> at QFYAML_Merge (in module qfyaml_mod.F90)' ! Total number of variables yml%num_vars = yml1%num_vars + yml2%num_vars ! Allocate yml%vars ALLOCATE( yml%vars( yml%num_vars ), STAT=RC ) IF ( RC /= QFYAML_Success ) THEN errMsg = 'Could not allocate the yml%vars object!"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Add the variables from the first object DO N = 1, yml1%num_vars yml%vars(N) = yml1%vars(N) ENDDO ! Add the variables from the second object DO N = 1, yml2%num_vars yml%vars(N + yml1%num_vars) = yml2%vars(N) ENDDO ! Sort the variable names in the yml object for faster search CALL QFYAML_Sort( yml ) END SUBROUTINE QFYAML_Merge !EOC !------------------------------------------------------------------------------ ! QFYAML: Bob Yantosca | yantosca@seas.harvard.edu | Apr 2020 ! Based on existing package https://github.com/jannisteunissen/config_fortran !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: QFYAML_Read_File ! ! !DESCRIPTION: Read variables from a YAML file into a configuration object. !\\ !\\ ! !INTERFACE: ! SUBROUTINE QFYAML_Read_File( yml, fileName, yml_anchored, RC ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: fileName ! YAML file to read ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(QFYAML_t), INTENT(INOUT) :: yml ! Configuration object TYPE(QFYAML_t), INTENT(INOUT) :: yml_anchored ! "" for anchored vars ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT ) :: RC ! ! !REVISION HISTORY: ! 15 Apr 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: valid_syntax INTEGER :: anchor_ix INTEGER :: begin_ix INTEGER :: end_ix INTEGER :: I INTEGER :: io_state INTEGER :: N INTEGER :: line_number INTEGER :: my_unit ! Strings CHARACTER(LEN=QFYAML_NamLen) :: line_fmt CHARACTER(LEN=QFYAML_NamLen) :: category CHARACTER(LEN=QFYAML_NamLen) :: anchor_cat CHARACTER(LEN=QFYAML_NamLen) :: anchor_ptr CHARACTER(LEN=QFYAML_NamLen) :: anchor_tgt CHARACTER(LEN=QFYAML_NamLen) :: var_pt_to_anchor CHARACTER(LEN=QFYAML_NamLen) :: var_w_anchor CHARACTER(LEN=QFYAML_NamLen) :: var_name CHARACTER(LEN=QFYAML_StrLen) :: errMsg CHARACTER(LEN=QFYAML_StrLen) :: line CHARACTER(LEN=QFYAML_StrLen) :: thisLoc !======================================================================= ! QFYAML_READ_FILE begins here! !======================================================================= ! Initialize RC = QFYAML_Success anchor_ptr = "" anchor_tgt = "" category = "" errMsg = "" thisLoc = " -> at QFYAML_Read_File (in module qfyaml_mod.F90)" line_number = 0 my_unit = 777 !======================================================================= ! First pass: read the file !======================================================================= ! Open the file OPEN( my_unit, FILE=TRIM(filename), STATUS="old", ACTION="read", IOSTAT=RC) IF ( RC /= QFYAML_SUCCESS ) THEN errMsg = 'Could not open file: ' // TRIM( fileName ) CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Create format line WRITE( line_fmt, "(a,i0,a)") "(a", QFYAML_StrLen, ")" ! Start looping DO ! Read each line and increment the count READ( my_unit, FMT=TRIM(line_fmt), ERR=998, end=999) line line_number = line_number + 1 ! Parse each line for information. This will also add ! each found variable to the "yml" configuration object. ! YAML anchors will also be referenced. CALL Parse_Line( yml = yml, & yml_anchored = yml_anchored, & set_by = QFYAML_set_by_file, & line_arg = line, & valid_syntax = valid_syntax, & category = category, & anchor_tgt = anchor_tgt, & anchor_ptr = anchor_ptr, & RC = RC ) ! Trap potential errors IF ( .not. valid_syntax ) THEN WRITE( errMsg, *) "Cannot read line ", line_number, & " from ", TRIM(filename) CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDDO ! Error handling 998 WRITE( errMsg, "(a,i0,a,i0)" ) " IOSTAT = ", io_state, & " while reading from " // trim(filename) // " at line ", & line_number CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ! Routine ends here if the end of "filename" is reached 999 CLOSE( my_unit, iostat=io_state ) !======================================================================= ! Second pass: Create variables that point to YAML anchors ! with all of the corresponding properties. !======================================================================= DO N = 1, yml_anchored%num_vars ! Get proprties of each variable that points to an anchor anchor_ptr = yml_anchored%vars(N)%anchor_ptr category = yml_anchored%vars(N)%category var_name = yml_anchored%vars(N)%var_name ! Find all target variables with the given value of anchor_ptr, ! and return the start and ending indices in the yml config object. CALL Get_Anchor_Info( yml = yml, & anchor_ptr = anchor_ptr, & begin_ix = begin_ix, & end_ix = end_ix, & anchor_cat = anchor_cat ) ! Loop over all target variables containing the value of anchor_ptr DO anchor_ix = begin_ix, end_ix ! Variable with the anchor var_w_anchor = yml%vars(anchor_ix)%var_name ! Variable that we want to point to the anchor I = INDEX( var_w_anchor, QFYAML_category_separator ) var_pt_to_anchor = TRIM( category ) // & QFYAML_category_separator // & var_w_anchor(I+1:) ! Create a new variable for this category, ! copying the fields of the variable with the anchor. CALL Copy_Anchor_Variable( yml = yml, & anchor_ix = anchor_ix, & var_w_anchor = var_w_anchor, & var_pt_to_anchor = var_pt_to_anchor, & RC = RC ) ! Trap potential errors IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "Copy_Anchor_Variable"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDDO ENDDO END SUBROUTINE QFYAML_Read_File !EOC !------------------------------------------------------------------------------ ! QFYAML: Bob Yantosca | yantosca@seas.harvard.edu | Apr 2020 ! Based on existing package https://github.com/jannisteunissen/config_fortran !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Parse_Line ! ! !DESCRIPTION: Parses a single line of a YAML file and adds the relevant ! variables to the yml configuration object. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Parse_Line( yml, yml_anchored, set_by, & line_arg, valid_syntax, category, & anchor_ptr, anchor_tgt, RC ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: set_by CHARACTER(LEN=*), INTENT(IN) :: line_arg ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(QFYAML_t), INTENT(INOUT) :: yml TYPE(QFYAML_t), INTENT(INOUT) :: yml_anchored ! ! !OUTPUT PARAMETERS: ! LOGICAL, INTENT(OUT) :: valid_syntax CHARACTER(LEN=QFYAML_NamLen), INTENT(OUT) :: category CHARACTER(LEN=QFYAML_NamLen), INTENT(OUT) :: anchor_ptr CHARACTER(LEN=QFYAML_NamLen), INTENT(OUT) :: anchor_tgt INTEGER, INTENT(OUT) :: RC ! ! !REVISION HISTORY: ! 15 Apr 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: append INTEGER :: ix INTEGER :: ampsnd_ix INTEGER :: anchor_ix INTEGER :: colon_ix INTEGER :: star_ix INTEGER :: trim_len INTEGER :: pos INTEGER :: C INTEGER :: CC ! Strings CHARACTER(LEN=QFYAML_NamLen) :: var_name CHARACTER(LEN=QFYAML_StrLen) :: errMsg CHARACTER(LEN=QFYAML_StrLen) :: line CHARACTER(LEN=QFYAML_StrLen) :: line2 CHARACTER(LEN=QFYAML_StrLen) :: thisLoc CHARACTER(LEN=QFYAML_StrLen) :: last_cat ! SAVEd variables LOGICAL, SAVE :: is_list_var = .FALSE. INTEGER, SAVE :: last_pos = 0 INTEGER, SAVE :: indent = 0 INTEGER, SAVE :: cat_pos(QFYAML_MaxStack) = 0 INTEGER, SAVE :: cat_index = 0 CHARACTER(LEN=QFYAML_NamLen), SAVE :: cat_stack(QFYAML_MaxStack) = "" !======================================================================= ! Parse_Line begins here! !======================================================================= ! Initialize RC = QFYAML_Success colon_ix = 0 ampsnd_ix = 0 star_ix = 0 line = line_arg valid_syntax = .true. errMsg = '' thisLoc = '-> at Parse_Line (in module qfyaml_mod.F90)' ! Strip all comments from the line CALL Trim_Comment(line, '#;') ! Skip empty lines IF ( line == "" ) RETURN IF ( line == "---" ) RETURN ! Get the length of the line (excluding trailing whitespace) trim_len = LEN_TRIM( line ) ! Get the position of the first non-whitespace character in the line pos = First_Char_Pos( line ) ! Look for the positions of certain characters colon_ix = INDEX( line, ":" ) ampsnd_ix = INDEX( line, "&" ) star_ix = INDEX( line, "*" ) !======================================================================== ! Handling for categories and YAML anchors !======================================================================== !--------------------------------------------------------------------- ! Special handling for YAML sequences: ! Set is_list_var = F once we encounter a new category or variable !--------------------------------------------------------------------- IF ( is_list_var .and. line(pos:pos) /= "-" ) THEN is_list_var = .FALSE. append = .FALSE. ENDIF ! If the text is flush with the first column and has a colon ! in the line, then it's a category or a YAML anchor IF ( line(pos:pos) /= "" .and. colon_ix > 0 ) THEN !--------------------------------------------------------------------- ! Categories ! ! If there is nothing after the colon, then this indicates ! a category (without an anchor) rather than a variable !--------------------------------------------------------------------- IF ( colon_ix == trim_len ) THEN ! If this category starts further along the line than the last ! category, then increment index and add its position to the stack. IF ( pos > last_pos ) THEN indent = last_pos - pos cat_index = cat_index + 1 cat_pos(cat_index) = pos ENDIF ! If this category starts earlier along the line than the last ! category, then decrement index and add its position to the stack. ! NOTE: This algorithm will work best if we assume a constant ! indentation level. Best to use an editor such as emacs ! to enforce a consistent indentation throughout the file. IF ( pos < last_pos ) THEN indent = last_pos - pos cat_index = cat_index - ( indent / 2 ) cat_pos(cat_index) = pos ENDIF ! If the index is negative or the category begins at the first ! character of the line, then set index to 1 and store its ! starting position in the first element of the stack. IF ( cat_index <= 0 .or. pos == 1 ) THEN cat_index = 1 cat_pos(cat_index) = pos ENDIF ! Extract the category name and add it to the stack anchor_tgt = "" category = line(pos:colon_ix-1) IF ( category == "'NO'" ) category = "NO" ! Avoid clash w/ FALSE cat_stack(cat_index) = category ! Update the category starting position for the next iteration last_pos = pos RETURN !--------------------------------------------------------------------- ! YAML Anchors ! ! If there is an ampersand following the colon ! then this denotes a YAML anchor ! ! For simplicity, assume anchors are always at level 1. !--------------------------------------------------------------------- ELSE IF ( colon_ix > 0 .and. ampsnd_ix > 0 ) THEN ! Return anchor target and category name ! Also save the category start position for next time anchor_tgt = line(ampsnd_ix+1:trim_len) category = line(pos:colon_ix-1) cat_stack(1) = category IF ( category == "'NO'" ) category = "NO" ! Avoid clash w/ FALSE last_pos = pos RETURN ENDIF ENDIF !======================================================================== ! Handling for variables !======================================================================== ! define the variable name append = .FALSE. !----------------------------------------------------------------------- ! Special handling for YAML sequences ! (i.e. free lists where each element starts with -) !----------------------------------------------------------------------- ! If the line begins with -, then it denotes an element of a sequence IF ( line(pos:pos) == "-" ) THEN ! Set flag to denote that we are in a YAML sequence is_list_var = .TRUE. ! Compute the variable name for the sequence ! NOTE: The variable name has the category prefixed to it! CALL Get_Sequence_VarName( cat_index, cat_stack, & category, var_name, append ) ! Add the YAML sequence variable to the YML object CALL Add_Variable( yml = yml, & append = append, & set_by = set_by, & line_arg = line(pos+1:), & anchor_ptr_arg = anchor_ptr, & anchor_tgt_arg = anchor_tgt, & category_arg = category, & var_name_arg = var_name, & RC = RC ) ! Return so that we can get the next line RETURN ENDIF !----------------------------------------------------------------------- ! Regular handling for all other variables !----------------------------------------------------------------------- append = .FALSE. ! Get the variable name var_name = line(pos:colon_ix-1) ! Replace leading tabs by spaces ix = VERIFY(var_name, tab_char) ! Find first non-tab character var_name(1:ix-1) = "" ! Remove leading blanks var_name = ADJUSTL(var_name) category = "" DO C = cat_index, 1, -1 ! If the variable starts at position 1, then it has no category. IF ( pos == 1 ) THEN category = "" last_cat = "" EXIT ENDIF ! If the variable starts beyond the highest category's ! starting position, then it belongs to that category. ! Also reference the category from the start. IF ( pos > cat_pos(C) ) THEN category = cat_stack(C) IF ( C > 1 ) THEN DO CC = C-1, 1, -1 category = TRIM( cat_stack(CC) ) // & QFYAML_Category_Separator // & TRIM( category ) ENDDO ENDIF EXIT ENDIF ! If the variable starts at the same position as the highest ! category, then it belongs to the previous category IF ( pos == cat_pos(C) ) THEN category = cat_stack( MAX( C-1, 1 ) ) IF ( C-1 > 1 ) THEN DO CC = C-2, 1, -1 category = TRIM( cat_stack(CC) ) // & QFYAML_Category_Separator // & TRIM( category ) ENDDO ENDIF EXIT ENDIF ENDDO ! Test if the variable is a YAML anchor IF ( var_name == "<<" ) THEN !-------------------------------------------------------------------- ! Variable points to a YAML anchor !-------------------------------------------------------------------- ! Add category if it is defined IF ( category /= "" ) THEN var_name = TRIM( category ) // QFYAML_category_separator // var_name ENDIF ! Get the name of the anchor we want to point to anchor_ptr = line(star_ix+1:) ! Add the variable to the extra configuration object ! which we will pass back to routine QFYAML_Read_File. ! There we will create a new variable with all of the ! properties of the anchor target. CALL Add_Variable( yml = yml_anchored, & append = .FALSE., & set_by = set_by, & line_arg = line, & anchor_ptr_arg = anchor_ptr, & anchor_tgt_arg = anchor_tgt, & category_arg = category, & var_name_arg = var_name, & RC = RC ) ! Trap potential errors IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "Add_Variable" (points to anchor)!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF ELSE !-------------------------------------------------------------------- ! Variable does NOT point to a YAML anchor !-------------------------------------------------------------------- ! Add category if it is defined IF ( category /= "" ) THEN var_name = TRIM( category ) // QFYAML_category_separator // var_name ENDIF ! Set line to the values behind the '=' sign line = line(colon_ix+1:) ! Add the variable to the config object CALL Add_Variable( yml = yml, & append = .FALSE., & set_by = set_by, & line_arg = line, & anchor_ptr_arg = anchor_ptr, & anchor_tgt_arg = anchor_tgt, & category_arg = category, & var_name_arg = var_name, & RC = RC ) ! Trap potential errors IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "Add_Variable"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF END SUBROUTINE Parse_Line !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Add_Variable ! ! !DESCRIPTION: Adds a new variable to the config object. Either it creates ! the variable as "stored" (aka deferred) or actual. This was split off ! from the routine Parse\_Line above. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Add_Variable( yml, line_arg, anchor_ptr_arg, & anchor_tgt_arg, category_arg, var_name_arg, & set_by, append, RC ) ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: append INTEGER, INTENT(IN) :: set_by CHARACTER(LEN=*), INTENT(IN) :: line_arg CHARACTER(LEN=QFYAML_NamLen), INTENT(IN) :: anchor_ptr_arg CHARACTER(LEN=QFYAML_NamLen), INTENT(IN) :: anchor_tgt_arg CHARACTER(LEN=QFYAML_NamLen), INTENT(IN) :: category_arg CHARACTER(LEN=QFYAML_NamLen), INTENT(IN) :: var_name_arg ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(QFYAML_t), INTENT(INOUT) :: yml ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! ! !REVISION HISTORY: ! 15 Apr 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: ix ! Strings CHARACTER(LEN=255) :: errMsg, thisLoc !======================================================================= ! Add_Variable_Var begins here! !======================================================================= ! Initialize RC = QFYAML_success errMsg = '' thisLoc = ' -> at Add_Variable (in module qfyaml_mod.F90)' ! Find variable corresponding to name in file CALL Get_Var_Index( yml, var_name_arg, ix ) IF ( ix <= 0 ) then !-------------------------------------------------------------------- ! Variable is not already present in the yml object !-------------------------------------------------------------------- ! Prepare to store the data as a string CALL Prepare_Store_Var( yml = yml, & var_name = TRIM( var_name_arg ), & var_type = QFYAML_unknown_type, & var_size = 1, & description = "Not yet created", & ix = ix, & dynamic_size = .FALSE., & RC = RC ) IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "Prepare_Store_Var"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Store the value of the mapping in the "stored_data" field yml%vars(ix)%stored_data = TRIM( line_arg ) ELSE !-------------------------------------------------------------------- ! Variable is already present in the yml object !-------------------------------------------------------------------- IF ( append ) THEN ! Append data to data that is already present yml%vars(ix)%stored_data = TRIM( yml%vars(ix)%stored_data ) // & TRIM( line_arg ) ELSE ! Or store overwrite existing data yml%vars(ix)%stored_data = line_arg ENDIF ! If type is known, read in values IF ( yml%vars(ix)%var_type /= QFYAML_unknown_type ) THEN CALL Read_Variable( yml%vars(ix), RC ) IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "Read_Variable"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF ENDIF ! Store other fields of this variable yml%vars(ix)%anchor_tgt = anchor_tgt_arg yml%vars(ix)%anchor_ptr = anchor_ptr_arg yml%vars(ix)%category = category_arg yml%vars(ix)%set_by = set_by END SUBROUTINE Add_Variable !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Copy_Anchor_Variable ! ! !DESCRIPTION: Adds a new variable that is a copy of a variable with a ! YAML anchor. The new variable will contain all of the field values of ! the old variable. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Copy_Anchor_Variable( yml, anchor_ix, & var_w_anchor, var_pt_to_anchor, & RC ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: anchor_ix CHARACTER(LEN=QFYAML_NamLen), INTENT(IN) :: var_w_anchor CHARACTER(LEN=QFYAML_NamLen), INTENT(IN) :: var_pt_to_anchor ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(QFYAML_t), INTENT(INOUT) :: yml ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! ! !REVISION HISTORY: ! 15 Apr 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: ix ! Strings CHARACTER(LEN=QFYAML_StrLen) :: errMsg CHARACTER(LEN=QFYAML_StrLen) :: thisLoc !======================================================================= ! Copy_Anchor_Variable begins here! !======================================================================= ! Initialize RC = QFYAML_Success errMsg = '' thisLoc = ' -> at Copy_Anchor_Variable (in module qfyaml_mod.F90)' ! Prepare to store the data as a string CALL Prepare_Store_Var( yml = yml, & var_name = TRIM( var_pt_to_anchor ), & var_type = QFYAML_unknown_type, & var_size = 1, & description = "Not yet created", & ix = ix, & dynamic_size = .FALSE., & RC = RC ) ! Trap potential errors IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered at "Prepare_Store_Var"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Copy each field of the "anchor" variable to the new variable yml%vars(ix)%category = yml%vars(anchor_ix)%category yml%vars(ix)%description = yml%vars(anchor_ix)%description yml%vars(ix)%set_by = yml%vars(anchor_ix)%set_by yml%vars(ix)%stored_data = yml%vars(anchor_ix)%stored_data yml%vars(ix)%anchor_ptr = yml%vars(anchor_ix)%anchor_tgt yml%vars(ix)%anchor_tgt = "" END SUBROUTINE Copy_Anchor_Variable !EOC !------------------------------------------------------------------------------ ! QFYAML: Bob Yantosca | yantosca@seas.harvard.edu | Apr 2020 ! Based on existing package https://github.com/jannisteunissen/config_fortran !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Read_Variable ! ! !DESCRIPTION: Get the start and end positions of the line content, ! and the number of entries. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Read_Variable( var, RC ) ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(QFYAML_var_t), INTENT(INOUT) :: var ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! ! !REVISION HISTORY: ! 15 Apr 2020 - R. Yantosca - Initial version ! See the subsequent Git history wi th the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: n INTEGER :: n_entries INTEGER :: stat ! Arrays INTEGER :: ix_start(QFYAML_MaxArr) INTEGER :: ix_end(QFYAML_MaxArr) ! Strings CHARACTER(LEN=QFYAML_StrLen) :: errMsg CHARACTER(LEN=QFYAML_StrLen) :: thisLoc CHARACTER(LEN=QFYAML_StrLen) :: s1 CHARACTER(LEN=QFYAML_StrLen) :: s2 CHARACTER(LEN=QFYAML_StrLen) :: s3 CHARACTER(LEN=QFYAML_StrLen) :: s4 !======================================================================= ! Read_Variable begins here! !======================================================================= ! Initialize RC = QFYAML_Success ix_start = 0 ix_end = 0 n = 0 n_entries = 0 errMsg = '' thisLoc = ' -> at Read_Variable (in module qfyaml_mod.F90)' ! Read the stored data field CALL Get_Fields_String( var%stored_data, QFYAML_separators, & QFYAML_brackets, QFYAML_MaxArr, & n_entries, ix_start, & ix_end ) IF ( var%var_size /= n_entries ) THEN IF ( .not. var%dynamic_size ) THEN ! Allow strings of length 1 to be automatically concatenated IF ( var%var_type == QFYAML_string_type .and. & var%var_size == 1 ) THEN var%char_data(1) = & TRIM(var%stored_data(ix_start(1):ix_end(n_entries))) RETURN ELSE ! Return with error errMsg = "Variable " // TRIM( var%var_name ) // & " has the wrong size" CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF ELSE var%var_size = n_entries CALL Resize_Storage(var) ENDIF ENDIF DO n = 1, n_entries stat = 0 SELECT CASE ( var%var_type ) CASE( QFYAML_INTEGER_type ) READ( var%stored_data(ix_start(n):ix_end(n)), *, iostat=stat ) & var%int_data(n) CASE( QFYAML_real_type ) READ( var%stored_data(ix_start(n):ix_end(n)), *, iostat=stat ) & var%real_data(n) CASE( QFYAML_string_type ) var%char_data(n) = TRIM( var%stored_data(ix_start(n):ix_end(n)) ) CASE( QFYAML_bool_type ) READ( var%stored_data(ix_start(n):ix_end(n)), *, iostat=stat ) & var%bool_data(n) END SELECT ! Exit with error if the variable can't be read properly IF ( stat /= 0 ) THEN s1 = "Error parsing YAML file!" s2 = "Reading variable : " // var%var_name s3 = "Variable type : " // QFYAML_type_names(var%var_type) s4 = "Parsing value : " // var%stored_data(ix_start(n):ix_end(n)) errMsg = TRIM( s1 ) // NEW_LINE( 'a' ) // & TRIM( s2 ) // NEW_LINE( 'a' ) // & TRIM( s3 ) // NEW_LINE( 'a' ) // & TRIM( s4 ) CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDDO END SUBROUTINE Read_Variable !EOC !------------------------------------------------------------------------------ ! QFYAML: Bob Yantosca | yantosca@seas.harvard.edu | Apr 2020 ! Based on existing package https://github.com/jannisteunissen/config_fortran !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Trim_Comment ! ! !DESCRIPTION: Strip comments, but only outside quoted strings ! (so that var = '#yolo' is valid when # is a comment char) !\\ !\\ ! !INTERFACE: ! SUBROUTINE Trim_Comment(line, comment_chars) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: comment_chars ! ! !INPUT/OUTPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(INOUT) :: line ! ! !REVISION HISTORY: ! 15 Apr 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: n ! Strings CHARACTER(LEN=1) :: current_char CHARACTER(LEN=1) :: need_char !======================================================================= ! Trim_Comment begins here! !======================================================================= need_char = "" DO n = 1, LEN(line) current_char = line(n:n) IF (need_char == "") THEN IF (current_char == "'") THEN need_char = "'" ! Open string ELSE IF (current_char == '"') THEN need_char = '"' ! Open string ELSE IF (INDEX(comment_chars, current_char) /= 0) THEN line = line(1:n-1) ! Trim line up to comment character EXIT ENDIF ELSE IF (current_char == need_char) THEN need_char = "" ! Close string ENDIF ENDDO END SUBROUTINE Trim_Comment !EOC !------------------------------------------------------------------------------ ! QFYAML: Bob Yantosca | yantosca@seas.harvard.edu | Apr 2020 ! Based on existing package https://github.com/jannisteunissen/config_fortran !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: QFYAML_Check ! ! !DESCRIPTION: Checks a QFYAML configuration variable. !\\ !\\ ! !INTERFACE: ! SUBROUTINE QFYAML_Check( yml, RC ) ! ! !INPUT PARAMETERS: ! TYPE(QFYAML_t), INTENT(IN) :: yml ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! ! !REVISION HISTORY: ! 15 Apr 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: n ! Strings CHARACTER(LEN=QFYAML_StrLen) :: errMsg CHARACTER(LEN=QFYAML_StrLen) :: thisLoc !======================================================================= ! QFYAML_Check begins here! !======================================================================= ! Initialize RC = QFYAML_success errMsg = '' thisLoc = ' -> at QFYAML_Check (in module qfyaml_mod.F90)' DO n = 1, yml%num_vars IF ( yml%vars(n)%var_type == QFYAML_unknown_type) THEN errMsg = "Unknown variable " // TRIM( yml%vars(n)%var_name ) // & " specified" CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDDO END SUBROUTINE QFYAML_check !EOC !------------------------------------------------------------------------------ ! QFYAML: Bob Yantosca | yantosca@seas.harvard.edu | Apr 2020 ! Based on existing package https://github.com/jannisteunissen/config_fortran !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: QFYAML_FindNextHigher ! ! !DESCRIPTION: For a given category or variable name, returns its depth ! (i.e. indentation level). This is equal to the number of separator ! strings. !\\ !\\ ! !INTERFACE: ! FUNCTION QFYAML_FindDepth( name ) RESULT( depth ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: name ! ! RETURN VALUE: ! INTEGER :: depth !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: ix, c ! Keep searching for all category separators ! until there aren't any more. depth = 1 c = LEN_TRIM( name ) DO ix = INDEX( name(1:c), QFYAML_Category_Separator, back=.TRUE. ) IF ( ix <= 1 ) EXIT depth = depth + 1 c = ix - 1 ENDDO END FUNCTION QFYAML_FindDepth !EOC !------------------------------------------------------------------------------ ! QFYAML: Bob Yantosca | yantosca@seas.harvard.edu | Apr 2020 ! Based on existing package https://github.com/jannisteunissen/config_fortran !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: QFYAML_FindNextHigher ! ! !DESCRIPTION: Finds variables that are one category depth higher than ! a given target string (trg_str). Returns the number of variables that ! match this criteria (n_matches), as well as the variables themselves ! (match_vars). !\\ !\\ ! !INTERFACE: ! SUBROUTINE QFYAML_FindNextHigher( yml, trg_str, match_ct, match_vars ) ! ! !INPUT PARAMETERS: ! TYPE(QFYAML_t), INTENT(IN) :: yml CHARACTER(LEN=*), INTENT(IN) :: trg_str ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: match_ct CHARACTER(LEN=QFYAML_NamLen), INTENT(OUT) :: match_vars(:) !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: c, ix, len_t CHARACTER(QFYAML_NamLen) :: last_match !======================================================================= ! QFYAML_FindNextHigher begins here! !======================================================================= ! Initialize len_t = LEN_TRIM( trg_str ) match_ct = 0 match_vars = 'UNKNOWN' last_match = 'UNKNOWN' ! Loop over # of stored variables DO ix = 1, yml%num_vars ! Reset for safety's sake c = 0 ! Skip to next variable if the string is shorter than the prefix IF ( LEN_TRIM( yml%vars(ix)%var_name ) < len_t ) CYCLE ! Test if the prefix is in the variable name IF ( INDEX( TRIM( yml%vars(ix)%var_name ), trg_str ) > 0 ) THEN ! ... then test if the variable contains another separator. c = INDEX( yml%vars(ix)%var_name(len_t+1:), & QFYAML_Category_Separator ) IF ( c == 0 ) THEN ! If no other separator is found, the var_name specifies ! a category and a YAML variable (e.g. weather%pressure). ! This qualifies as a match, so match_ct and match_vars. match_ct = match_ct + 1 match_vars(match_ct) = TRIM( yml%vars(ix)%var_name ) last_match = TRIM( match_vars(match_ct) ) ELSE ! If another separator is found, then the var_name contains ! possibly several more categories and a variable (e.g. ! weather%temperature%daily, weather%temperature%weekly). ! In this case, we will only consider the first match ! as a true match (i.e. returns "weather%temperature"). IF ( INDEX( TRIM( yml%vars(ix)%var_name ), & TRIM( last_match ) ) /= 1 ) THEN match_ct = match_ct + 1 match_vars(match_ct) = TRIM( yml%vars(ix)%var_name(1:len_t+c-1)) last_match = TRIM( match_vars(match_ct) ) ENDIF ENDIF ENDIF ENDDO END SUBROUTINE QFYAML_FindNextHigher !EOC !------------------------------------------------------------------------------ ! QFYAML: Bob Yantosca | yantosca@seas.harvard.edu | Apr 2020 ! Based on existing package https://github.com/jannisteunissen/config_fortran !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Split_Category ! ! !DESCRIPTION: splits the category and the var name !\\ !\\ ! !INTERFACE: ! SUBROUTINE Split_Category( variable, category, var_name ) ! ! !INPUT PARAMETERS: ! TYPE(QFYAML_var_t), INTENT(IN) :: variable ! ! !INPUT/OUTPUT PARAMETERS: ! CHARACTER(QFYAML_NamLen), INTENT(OUT) :: category CHARACTER(QFYAML_NamLen), INTENT(OUT) :: var_name ! ! !REMARKS: ! TO DO: Support nested categories ! ! !REVISION HISTORY: ! 15 Apr 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: ix !======================================================================= ! Split_Category begins here! !======================================================================= ix = INDEX( variable%var_name, QFYAML_category_separator ) IF ( ix == 0 ) THEN category = "" var_name = variable%var_name ELSE category = variable%var_name(1:ix-1) var_name = variable%var_name(ix+1:) ENDIF END SUBROUTINE Split_Category !EOC !------------------------------------------------------------------------------ ! QFYAML: Bob Yantosca | yantosca@seas.harvard.edu | Apr 2020 ! Based on existing package https://github.com/jannisteunissen/config_fortran !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Resize_Storage ! ! !DESCRIPTION: Resize the storage size of variable, which can be of type ! INTEGER, LOGICAL, REAL, or CHARACTER !\\ !\\ ! !INTERFACE: ! SUBROUTINE Resize_Storage( variable ) ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(QFYAML_var_t), INTENT(INOUT) :: variable ! ! !REVISION HISTORY: ! 15 Apr 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC !======================================================================= ! Resize_Storage begins here! !======================================================================= SELECT CASE ( variable%var_type ) CASE( QFYAML_INTEGER_type ) DEALLOCATE( variable%int_data ) ALLOCATE( variable%int_data(variable%var_size) ) CASE( QFYAML_bool_type ) DEALLOCATE( variable%bool_data ) ALLOCATE( variable%bool_data(variable%var_size) ) CASE( QFYAML_real_type ) DEALLOCATE( variable%real_data ) ALLOCATE( variable%real_data(variable%var_size) ) CASE( QFYAML_string_type ) DEALLOCATE( variable%char_data ) ALLOCATE( variable%char_data(variable%var_size) ) END SELECT END SUBROUTINE Resize_Storage !EOC !------------------------------------------------------------------------------ ! QFYAML: Bob Yantosca | yantosca@seas.harvard.edu | APR 2020 ! Based on existing package https://github.com/jannisteunissen/config_fortran !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Prepare_Store_Var ! ! !DESCRIPTION: Helper routine to store variables. This is useful because ! a lot of the same code is executed for the different types of variables. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Prepare_Store_Var( yml, var_name, var_type, & var_size, description, ix, & RC, dynamic_size ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: var_name INTEGER, INTENT(IN) :: var_type INTEGER, INTENT(IN) :: var_size CHARACTER(LEN=*), INTENT(IN) :: description LOGICAL, OPTIONAL :: dynamic_size ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(QFYAML_t), INTENT(INOUT) :: yml ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: ix ! Index of variable INTEGER, INTENT(OUT) :: RC ! ! !REVISION HISTORY: ! 15 Apr 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! Strings CHARACTER(LEN=QFYAML_StrLen) :: errMsg CHARACTER(LEN=QFYAML_StrLen) :: thisLoc !======================================================================= ! Prepare_Store_Var begins here! !======================================================================= ! Initialize RC = QFYAML_Success errMsg = '' thisLoc = ' -> at Prepare_Store_Var (in module qfyaml_mod.F90)' ! Check if variable already exists CALL get_var_index(yml, var_name, ix) IF (ix == -1) THEN ! Create a new variable CALL ensure_free_storage(yml) yml%sorted = .false. ix = yml%num_vars + 1 yml%num_vars = yml%num_vars + 1 yml%vars(ix)%used = .false. yml%vars(ix)%stored_data = unstored_data_string ELSE ! Only allowed when the variable is not yet created IF (yml%vars(ix)%var_type /= QFYAML_unknown_type) then errMsg = "Variable " // trim(var_name) // " already exists" CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF yml%vars(ix)%var_name = var_name yml%vars(ix)%description = description yml%vars(ix)%var_type = var_type yml%vars(ix)%var_size = var_size IF ( PRESENT( dynamic_size ) ) THEN yml%vars(ix)%dynamic_size = dynamic_size ELSE yml%vars(ix)%dynamic_size = .false. ENDIF SELECT CASE ( var_type ) CASE( QFYAML_INTEGER_type ) ALLOCATE( yml%vars(ix)%int_data(var_size) ) CASE( QFYAML_real_type ) ALLOCATE( yml%vars(ix)%real_data(var_size) ) CASE( QFYAML_string_type ) ALLOCATE( yml%vars(ix)%char_data(var_size) ) CASE( QFYAML_bool_type ) ALLOCATE( yml%vars(ix)%bool_data(var_size) ) END SELECT END SUBROUTINE Prepare_Store_Var !EOC !------------------------------------------------------------------------------ ! QFYAML: Bob Yantosca | yantosca@seas.harvard.edu | Apr 2020 ! Based on existing package https://github.com/jannisteunissen/config_fortran !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Prepare_Get_Var ! ! !DESCRIPTION: Helper routine to get variables. This is useful because a ! lot of the same code is executed for the different types of variables. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Prepare_Get_Var( yml, var_name, var_type, var_size, ix, RC ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: var_name INTEGER, INTENT(IN) :: var_type INTEGER, INTENT(IN) :: var_size ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(QFYAML_t), INTENT(INOUT) :: yml ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: ix INTEGER, INTENT(OUT) :: RC ! ! !REVISION HISTORY: ! 15 Apr 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=QFYAML_StrLen) :: errMsg CHARACTER(LEN=QFYAML_StrLen) :: thisLoc !======================================================================= ! Prepare_Get_Var begins here! !======================================================================= ! Initialize RC = QFYAML_success errMsg = "" thisLoc = " -> at Prepare_Get_Var (in module qfyaml_mod.F90)" ! Get the variable index from the name CALL Get_Var_Index( yml, var_name, ix ) IF ( ix == QFYAML_Failure ) THEN ! Couldn't find variable, exit with error errMsg = "QFYAML_get: variable " // TRIM( var_name) // " not found!" CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ELSE IF ( yml%vars(ix)%var_type /= var_type ) THEN ! Variable is different type than expected: exit wit error WRITE( errMsg, "(a)" ) & "Variable " // TRIM( var_name ) // " has different type (" // & TRIM( QFYAML_type_names( yml%vars(ix)%var_type ) ) // & ") than requested (" // & TRIM( QFYAML_type_names(var_type ) ) // ")" CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ELSE IF ( var_size < yml%vars(ix)%var_size ) THEN ! Variable has different size than requested: exit w/ error WRITE( errMsg, "(a,i0,a,i0,a)" ) & "Variable " // TRIM( var_name ) // " has different size (", & yml%vars(ix)%var_size, ") than requested (", var_size, ")" CALL Handle_Error( errMsg, RC, thisLoc ) ELSE ! All good, variable will be used yml%vars(ix)%used = .true. ENDIF END SUBROUTINE Prepare_Get_Var !EOC !------------------------------------------------------------------------------ ! QFYAML: Bob Yantosca | yantosca@seas.harvard.edu | Apr 2020 ! Based on existing package https://github.com/jannisteunissen/config_fortran !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ensure_free_storage ! ! !DESCRIPTION: Routine to ensure that enough storage is allocated for the ! configuration type. If not the new size will be twice as much as the ! current size. If no storage is allocated yet a minumum amount of storage ! is allocated. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Ensure_Free_Storage( yml ) ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(QFYAML_t), INTENT(INOUT) :: yml ! ! !REVISION HISTORY: ! 15 Apr 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! TYPE(QFYAML_var_t), ALLOCATABLE :: yml_copy(:) INTEGER :: cur_size, new_size ! ! !DEFINED PARAMETERS: ! INTEGER, PARAMETER :: min_dyn_size = 100 !======================================================================= ! Ensure_Free_storage begins here! !======================================================================= IF ( ALLOCATED( yml%vars ) ) THEN cur_size = SIZE( yml%vars ) IF ( cur_size < yml%num_vars + 1 ) THEN new_size = 2 * cur_size ALLOCATE( yml_copy( cur_size ) ) yml_copy = yml%vars DEALLOCATE( yml%vars ) ALLOCATE( yml%vars( new_size ) ) yml%vars(1:cur_size) = yml_copy ENDIF ELSE ALLOCATE( yml%vars( min_dyn_size ) ) ENDIF END SUBROUTINE Ensure_Free_Storage !EOC !------------------------------------------------------------------------------ ! QFYAML: Bob Yantosca | yantosca@seas.harvard.edu | Apr 2020 ! Based on existing package https://github.com/jannisteunissen/config_fortran !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_Fields_String ! ! !DESCRIPTION: Routine to find the indices of entries in a string. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Get_Fields_String( line_arg, delims, brackets, & n_max, n_found, ixs_start, ixs_end ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: line_arg ! Line to read CHARACTER(LEN=*), INTENT(IN) :: delims ! Accepted delimiters CHARACTER(LEN=*), INTENT(IN) :: brackets ! brackets INTEGER, INTENT(IN) :: n_max ! Max entries to read ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: n_found ! # of entries found INTEGER, INTENT(INOUT) :: ixs_start(n_max) ! start pt. of ith entry INTEGER, INTENT(INOUT) :: ixs_end(n_max) ! end pt. of ith entry ! ! !REVISION HISTORY: ! 15 Apr 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: B, ix, ix_prev ! Strings CHARACTER(LEN=1 ) :: bkt CHARACTER(LEN=QFYAML_MaxDataLen) :: line !======================================================================= ! Get_Fields_String begins here! !======================================================================= ! Initialize ix = 0 ix_prev = 0 n_found = 0 line = line_arg !======================================================================= ! Get_Fields_String begins here! !======================================================================= ! Strip out brackets from the line DO B = 1, LEN( QFYAML_brackets ) bkt = QFYAML_brackets(B:B) ix = INDEX( line, bkt ) IF ( ix > 0 ) line(ix:ix) = " " ENDDO ! Parse the values ix = 0 DO WHILE (n_found < n_max) ! Find the starting point of the next entry (a non-delimiter value) ix = VERIFY(line(ix_prev+1:), delims) IF (ix == 0) EXIT n_found = n_found + 1 ixs_start(n_found) = ix_prev + ix ! the absolute position in 'line2' ! Get the end point of the current entry (next delimiter index minus one) ix = SCAN( line(ixs_start(n_found)+1:), delims) - 1 IF (ix == -1) THEN ! If there is no last delimiter, ixs_end(n_found) = LEN(line) ! the end of the line is the endpoint ELSE ixs_end(n_found) = ixs_start(n_found) + ix ENDIF ix_prev = ixs_end(n_found) ! We continue to search from here ENDDO END SUBROUTINE get_fields_string !EOC !------------------------------------------------------------------------------ ! QFYAML: Bob Yantosca | yantosca@seas.harvard.edu | Apr 2020 ! Based on existing package https://github.com/jannisteunissen/config_fortran !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Binary_Search_Variable ! ! !DESCRIPTION: Performs a binary search for a given variable. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Binary_Search_Variable( yml, var_name, ix ) ! ! !INPUT PARAMETERS: ! TYPE(QFYAML_t), INTENT(IN) :: yml CHARACTER(LEN=*), INTENT(IN) :: var_name ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: ix ! ! !REVISION HISTORY: ! 15 Apr 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: i_min, i_max, i_mid i_min = 1 i_max = yml%num_vars ix = - 1 !======================================================================= ! Binary_Search_Variable begins here! !======================================================================= DO WHILE (i_min < i_max) i_mid = i_min + (i_max - i_min) / 2 IF ( LLT( yml%vars(i_mid)%var_name, var_name ) ) THEN i_min = i_mid + 1 ELSE i_max = i_mid ENDIF ENDDO ! If not found, binary_search_variable is not set here, and stays -1 IF ( i_max == i_min .and. yml%vars(i_min)%var_name == var_name ) THEN ix = i_min ELSE ix = -1 ENDIF END SUBROUTINE Binary_Search_Variable !EOC !------------------------------------------------------------------------------ ! QFYAML: Bob Yantosca | yantosca@seas.harvard.edu | Apr 2020 ! Based on existing package https://github.com/jannisteunissen/config_fortran !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: QFYAML_Sort ! ! !DESCRIPTION: Sorts the variables list for faster lookup !\\ !\\ ! !INTERFACE: ! SUBROUTINE QFYAML_Sort( yml ) ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(QFYAML_t), INTENT(INOUT) :: yml ! ! !REVISION HISTORY: ! 15 Apr 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC !======================================================================= ! QFYAML_Sort begins here! !======================================================================= ! Sort the list CALL Qsort( yml%vars(1:yml%num_vars) ) ! Indicate that we have sorted yml%sorted = .TRUE. END SUBROUTINE QFYAML_sort !EOC !------------------------------------------------------------------------------ ! QFYAML: Bob Yantosca | yantosca@seas.harvard.edu ! Based on existing package https://github.com/jannisteunissen/config_fortran !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Qsort ! ! !DESCRIPTION: Simple implementation of quicksort algorithm to sort ! the variable list alphabetically. !\\ !\\ ! !INTERFACE: ! RECURSIVE SUBROUTINE Qsort( list ) ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(QFYAML_var_t), INTENT(INOUT) :: list(:) ! ! !REVISION HISTORY: ! 15 Apr 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: split_pos !======================================================================= ! Qsort begins here! !======================================================================= IF ( SIZE(list) > 1 ) then CALL Partition_Var_List( list, split_pos ) CALL Qsort( list(:split_pos-1) ) CALL Qsort( list(split_pos:) ) ENDIF END SUBROUTINE qsort !EOC !------------------------------------------------------------------------------ ! QFYAML: Bob Yantosca | yantosca@seas.harvard.edu | Apr 2020 ! Based on existing package https://github.com/jannisteunissen/config_fortran !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Partition_Var_List ! ! !DESCRIPTION: Helper routine for quicksort, to perform partitioning !\\ !\\ ! !INTERFACE: ! SUBROUTINE Partition_Var_List(list, marker) ! ! !INPUT PARAMETERS: ! TYPE(QFYAML_var_t), INTENT(INOUT) :: list(:) ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: marker ! ! !REVISION HISTORY: ! 15 Apr2015 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: left INTEGER :: right INTEGER :: pivot_ix ! Strings CHARACTER(LEN=QFYAML_NamLen) :: pivot_value ! Objects TYPE(QFYAML_var_t) :: temp !======================================================================= ! Partition_Var_List begins here! !======================================================================= left = 0 right = SIZE( list ) + 1 ! Take the middle element as pivot pivot_ix = SIZE( list ) / 2 temp = list(pivot_ix) pivot_value = temp%var_name DO WHILE ( left < right ) right = right - 1 DO WHILE ( LGT( list(right)%var_name, pivot_value ) ) right = right - 1 ENDDO left = left + 1 DO WHILE (LGT( pivot_value, list(left)%var_name ) ) left = left + 1 ENDDO IF ( left < right ) THEN temp = list(left) list(left) = list(right) list(right) = temp ENDIF ENDDO IF ( left == right ) THEN marker = left + 1 ELSE marker = left ENDIF END SUBROUTINE partition_var_list !EOC !------------------------------------------------------------------------------ ! QFYAML: Bob Yantosca | yantosca@seas.harvard.edu | Apr 2020 ! Based on existing package https://github.com/jannisteunissen/config_fortran !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: QFYAML_Print ! ! !DESCRIPTION: Prints the contents of a yml object. !\\ !\\ ! !INTERFACE: ! SUBROUTINE QFYAML_Print( yml, RC, fileName, searchKeys ) ! ! !USES: ! IMPLICIT NONE ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), OPTIONAL :: fileName CHARACTER(LEN=*), OPTIONAL :: searchKeys(:) ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(QFYAML_t), INTENT(INOUT) :: yml ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! ! !REVISION HISTORY: ! 22 Jul 2022 ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: isFileName, isSearchKeys, printVar INTEGER :: c, c0, d INTEGER :: i, lun, varDepth ! Strings CHARACTER(LEN=3) :: crlf CHARACTER(LEN=QFYAML_NamLen) :: display CHARACTER(LEN=QFYAML_NamLen) :: varName CHARACTER(LEN=QFYAML_StrLen) :: errMsg CHARACTER(LEN=QFYAML_StrLen) :: thisLoc ! String arrays CHARACTER(LEN=QFYAML_NamLen) :: stack(QFYAML_MaxStack) CHARACTER(LEN=QFYAML_NamLen) :: lastStack(QFYAML_MaxStack) ! ! !DEFINED PARAMETERS: ! CHARACTER(LEN=2), PARAMETER :: QFYAML_indent = " " !======================================================================== ! QFYAML_Print begins here! !======================================================================== ! Initialize RC = QFYAML_Success lun = 6 crlf = ACHAR(13) // ACHAR(10) ! Carriage Return + Line Feed (CRLF) isFileName = PRESENT( fileName ) isSearchKeys = PRESENT( searchKeys ) lastStack = '' errMsg = '' thisLoc = ' -> at QFYAML_Print (in qfyaml_mod.F90)' !======================================================================== ! Open YAML file for output if a filename has been specified !======================================================================== IF ( isFileName ) THEN ! If fileName = "*", then we'll print to stdout, ! Otherwise we'll send output to the file name that is specified. IF ( TRIM( fileName ) /= '*' ) THEN ! Open file lun = 700 OPEN( lun, FILE=TRIM( fileName ), STATUS='UNKNOWN', & FORM='FORMATTED', IOSTAT=RC ) ! Trap errors IF ( RC /= QFYAML_SUCCESS ) THEN errMsg = 'Could not open YAML file for output!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF ! Write YAML header WRITE( lun, '(a)') '---' ENDIF !======================================================================== ! Step through YAML variables and write output to file !======================================================================== DO i = 1, yml%num_vars ! Initialize loop variables c = 0 c0 = 0 display = '' stack = '' varName = yml%vars(i)%var_name !--------------------------------------------------------------------- ! If searchKeys has been provided, then test if the first part of ! the variable name matches any of the search keys. If so, then ! set a logical flag to denote we will print out the variable. ! Or if searchKeys is not passed, then print out all variables. !--------------------------------------------------------------------- printVar = .TRUE. IF ( isSearchKeys ) THEN c = INDEX( varName, QFYAML_category_separator ) printVar = ( ANY( searchKeys == yml%vars(i)%var_name(1:c-1) ) ) ENDIF ! Skip this variable if it isn't to be printed IF ( .not. printVar ) CYCLE ! Also skip this variable if it has undefined data IF ( ADJUSTL(yml%vars(i)%stored_data) == unstored_data_string ) CYCLE !--------------------------------------------------------------------- ! Store each level of the YAML variable in a stack for use below !--------------------------------------------------------------------- ! Find how many level this variable goes down varDepth = QFYAML_FindDepth( varName ) ! Split the variable into substrings and store in stack DO d = 1, varDepth-1 c = INDEX( varName(c0+1:), QFYAML_category_separator ) stack(d) = varName(c0+1:c0+c-1) // ':' c0 = c0 + c ENDDO stack(d) = & TRIM( varName(c0+1:) ) // ':' // TRIM( yml%vars(i)%stored_data ) !--------------------------------------------------------------------- ! Print out to a YAML file ! ! Only print levels that haven't been printed in prior variables ! ! For example, if two variables are: ! author%age ! author%fav_reals ! then only print out "author:" !--------------------------------------------------------------------- DO d = 1, varDepth IF ( TRIM( stack(d) ) /= TRIM( lastStack(d) ) ) THEN ! Place quotes around "NO" or "no", as this is a ! synonym for "false" (bmy, 09 Aug 2022) display = stack(d) IF ( d == 1 ) THEN IF ( display(1:3) == "NO:" ) display = "'NO':" IF ( display(1:3) == "no:" ) display = "'no':" ENDIF ! Print YAML to screen or file WRITE( lun, '(a,a)' ) REPEAT( QFYAML_indent, d-1 ), & TRIM( display ) ENDIF ENDDO ! Save a copy of stack for next iteration lastStack = stack ENDDO !======================================================================== ! Open YAML file for output if a filename has been specified !======================================================================== IF ( isFileName ) THEN ! Close the file (but not if we print to stdout) IF ( lun == 700 ) THEN CLOSE( lun, IOSTAT=RC ) ! Trap errors IF ( RC /= QFYAML_SUCCESS ) THEN errMsg = 'Error encountered when closing YAML output file!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF ENDIF END SUBROUTINE QFYAML_Print !EOC !------------------------------------------------------------------------------ ! QFYAML: Bob Yantosca | yantosca@seas.harvard.edu | Apr 2020 ! Based on existing package https://github.com/jannisteunissen/config_fortran !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: QFYAML_CleanUp ! ! !DESCRIPTION: Clear all data from a QFYAML_t object, so that it can be reused. ! Note that this also happens automatically when such an object goes out ! of scope. !\\ !\\ ! !INTERFACE: ! SUBROUTINE QFYAML_CleanUp( yml ) ! ! !USES: ! IMPLICIT NONE ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(QFYAML_t), INTENT(INOUT) :: yml ! ! !REVISION HISTORY: ! 15 Apr 2020 ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC !======================================================================= ! QFYAML_CleanUp begins here! !======================================================================= ! Reset scalars yml%sorted = .false. yml%num_vars = 0 ! Deallocate variables array IF ( ALLOCATED( yml%vars ) ) DEALLOCATE( yml%vars ) END SUBROUTINE QFYAML_CleanUp !EOC !------------------------------------------------------------------------------ ! QFYAML: Bob Yantosca | yantosca@seas.harvard.edu | Apr 2020 ! Based on existing package https://github.com/jannisteunissen/config_fortran !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: QFYAML_Get_Size ! ! !DESCRIPTION: Get the size of a variable. !\\ !\\ ! !INTERFACE: ! SUBROUTINE QFYAML_Get_Size( yml, var_name, res, RC ) ! ! !INPUT PARAMETERS: ! TYPE(QFYAML_t), INTENT(IN) :: yml CHARACTER(LEN=*), INTENT(IN) :: var_name ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: res INTEGER, INTENT(OUT) :: RC ! ! !REVISION HISTORY: ! 15 Apr 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: ix ! Strings CHARACTER(LEN=QFYAML_StrLen) :: errMsg CHARACTER(LEN=QFYAML_StrLen) :: thisLoc !======================================================================= ! Prepare_Store_Var begins here! !======================================================================= ! Initialize RC = QFYAML_success errMsg = '' thisLoc = ' -> at QFYAML_Get_Size (in module qfyaml_mod.F90)' ! Get variable index CALL Get_Var_Index( yml, var_name, ix ) ! Return var_size or exit w/ error IF ( ix /= QFYAML_Failure ) THEN res = yml%vars(ix)%var_size ELSE res = QFYAML_Failure errMsg = "Variable [" // TRIM( var_name ) // "] not found" CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF END SUBROUTINE QFYAML_Get_Size !EOC !------------------------------------------------------------------------------ ! QFYAML: Bob Yantosca | yantosca@seas.harvard.edu | Apr 2020 ! Based on existing package https://github.com/jannisteunissen/config_fortran !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: QFYAML_get_type ! ! !DESCRIPTION: Get the type of a given variable of a configuration type !\\ !\\ ! !INTERFACE: ! SUBROUTINE QFYAML_Get_Type( yml, var_name, res, RC ) ! ! !INPUT PARAMETERS: ! TYPE(QFYAML_t), INTENT(IN) :: yml CHARACTER(LEN=*), INTENT(IN) :: var_name ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: res INTEGER, INTENT(OUT) :: RC ! ! !REVISION HISTORY: ! 15 Apr 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ ! ! Scalars INTEGER :: ix ! Strings CHARACTER(LEN=QFYAML_StrLen) :: errMsg CHARACTER(LEN=QFYAML_StrLen) :: thisLoc !======================================================================= ! Prepare_Store_Var begins here! !======================================================================= ! Initialize RC = QFYAML_success errMsg = '' thisLoc = ' -> QFYAML_Get_Type (in module qfyaml_mod.F90)' ! Find the variable index CALL Get_Var_Index( yml, var_name, ix ) ! Retrurn var_type or exit w/ error IF ( ix /= QFYAML_Failure ) THEN res = yml%vars(ix)%var_type ELSE res = QFYAML_Failure errMsg = "Variable [" // TRIM( var_name ) // "] not found" CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF END SUBROUTINE QFYAML_get_type !EOC !------------------------------------------------------------------------------ ! QFYAML: Bob Yantosca | yantosca@seas.harvard.edu | Apr 2020 ! Based on existing package https://github.com/jannisteunissen/config_fortran !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: First_Char_Pos ! ! !DESCRIPTION:Returns the position of the first non-whitespace ! character in a string !\\ !\\ ! !INTERFACE: ! FUNCTION First_Char_Pos( str ) RESULT( pos ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: str ! ! !RETURN VALUE: ! INTEGER :: pos ! ! !REVISION HISTORY: ! 09 Feb 2022- R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=QFYAML_StrLen) :: temp ! Remove leading whitespace and store in str temp = ADJUSTL( str ) ! Return the location of the first non-whitespace character pos = INDEX( str, temp(1:1) ) END FUNCTION First_Char_Pos !EOC !------------------------------------------------------------------------------ ! QFYAML: Bob Yantosca | yantosca@seas.harvard.edu | Apr 2020 ! Based on existing package https://github.com/jannisteunissen/config_fortran !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_Sequence_VarName ! ! !DESCRIPTION: Computes the category and varname from the category stack. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Get_Sequence_VarName( cat_index, cat_stack, & category, var_name, append ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: cat_index CHARACTER(LEN=QFYAML_NamLen), INTENT(IN) :: cat_stack(QFYAML_MaxStack) ! ! !OUTPUT PARAMETERS: ! CHARACTER(LEN=QFYAML_NamLen), INTENT(OUT) :: category CHARACTER(LEN=QFYAML_NamLen), INTENT(OUT) :: var_name LOGICAL, INTENT(OUT) :: append ! ! !REVISION HISTORY: ! 09 Feb 2022- R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ ! ! !LOCAL VARIABLES: ! INTEGER :: C CHARACTER(LEN=QFYAML_NamLen), SAVE :: last_var = "" ! Get the variable name for YAML sequences, which includes ! the category prefixed to it. category = "" var_name = "" IF ( cat_index == 1 ) THEN category = "" var_name = cat_stack(1) ELSE DO C = 1, cat_index-1 category = TRIM( category ) // TRIM( cat_stack(C) ) IF ( C < cat_index-1 ) THEN category = TRIM( category ) // QFYAML_category_separator ENDIF ENDDO var_name = TRIM( category ) // & QFYAML_category_separator // & TRIM( cat_stack(cat_index) ) ENDIF ! If this variable name is the same as on the last call, then set ! append=T. This will tell Add_Variable to append the value into the ! same variable in the YAML object rather than saving it into a new ! variable. append = .FALSE. IF ( TRIM( var_name ) == TRIM( last_var ) ) append = .TRUE. ! Save for next iteration last_var = var_name END SUBROUTINE Get_Sequence_VarName !EOC !############################################################################ !### HERE FOLLOWS OVERLOADED MODULE PROCEDURES. !### THESE ARE SIMPLE ROUTINES, SO WE WILL OMIT ADDING SUBROUTINE HEADERS !############################################################################ SUBROUTINE Add_Real( yml, var_name, real_data, comment, RC ) ! ! Add a YAML variable with a REAL value ! TYPE(QFYAML_t), INTENT(INOUT) :: yml CHARACTER(LEN=*), INTENT(IN ) :: var_name REAL(yp), INTENT(IN ) :: real_data CHARACTER(LEN=*), INTENT(IN ) :: comment INTEGER, INTENT(OUT ) :: RC INTEGER :: ix CHARACTER(LEN=QFYAML_StrLen) :: errMsg CHARACTER(LEN=QFYAML_StrLen) :: thisLoc ! Initialize RC = QFYAML_success errMsg = '' thisLoc = '-> at Add_Real (in module qfyaml_mod.F90)' CALL Prepare_Store_Var( yml, var_name, QFYAML_real_type, & 1, comment, ix, RC ) IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "Prepare_Store_Var"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF IF ( yml%vars(ix)%stored_data /= unstored_data_string ) THEN CALL Read_Variable( yml%vars(ix), RC ) IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "Read_Variable"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF ELSE yml%vars(ix)%real_data(1) = real_data ENDIF END SUBROUTINE Add_Real SUBROUTINE Add_Real_Array( yml, var_name, real_data, & comment, RC, dynamic_size ) ! ! Add a YAML variable with an array of type REAL ! TYPE(QFYAML_t), INTENT(INOUT) :: yml CHARACTER(LEN=*), INTENT(IN ) :: var_name REAL(yp), INTENT(IN ) :: real_data(:) CHARACTER(LEN=*), INTENT(IN ) :: comment INTEGER, INTENT(OUT ) :: RC LOGICAL, OPTIONAL :: dynamic_size INTEGER :: ix CHARACTER(LEN=QFYAML_StrLen) :: errMsg CHARACTER(LEN=QFYAML_StrLen) :: thisLoc ! Initialize RC = QFYAML_success errMsg = '' thisLoc = ' -> at Add_Real_Array (in module qfyaml_mod.F90)' CALL Prepare_Store_Var( yml, var_name, QFYAML_real_type, & SIZE(real_data), comment, ix, & RC, dynamic_size ) IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "Prepare_Store_Var"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF IF ( yml%vars(ix)%stored_data /= unstored_data_string ) THEN CALL Read_Variable( yml%vars(ix), RC ) IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "Read_Variable"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF ELSE yml%vars(ix)%real_data = real_data ENDIF END SUBROUTINE Add_Real_Array SUBROUTINE Add_Int( yml, var_name, int_data, comment, RC ) ! ! Add a YAML variable with an INTEGER value ! TYPE(QFYAML_t), INTENT(INOUT) :: yml CHARACTER(LEN=*), INTENT(IN ) :: var_name INTEGER, INTENT(IN ) :: int_data CHARACTER(LEN=*), INTENT(IN ) :: comment INTEGER, INTENT(OUT ) :: RC INTEGER :: ix CHARACTER(LEN=QFYAML_StrLen) :: errMsg CHARACTER(LEN=QFYAML_StrLen) :: thisLoc ! Initialize RC = QFYAML_success errMsg = '' thisLoc = ' -> at Add_Int (in module qfyaml_mod.F90)' CALL Prepare_Store_Var( yml, var_name, QFYAML_INTEGER_type, & 1, comment, ix, RC ) IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "Prepare_Store_Var"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF IF ( yml%vars(ix)%stored_data /= unstored_data_string ) THEN CALL Read_Variable( yml%vars(ix), RC ) IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "Read_Variable"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF ELSE yml%vars(ix)%int_data(1) = int_data ENDIF END SUBROUTINE Add_Int SUBROUTINE Add_Int_Array( yml, var_name, int_data, & comment, RC, dynamic_size ) ! ! Add a YAML variable with an array of type INTEGER ! TYPE(QFYAML_t), INTENT(INOUT) :: yml CHARACTER(LEN=*), INTENT(IN ) :: var_name INTEGER, INTENT(IN ) :: int_data(:) CHARACTER(LEN=*), INTENT(IN ) :: comment LOGICAL, OPTIONAL :: dynamic_size INTEGER, INTENT(OUT ) :: RC INTEGER :: ix CHARACTER(LEN=QFYAML_StrLen) :: errMsg CHARACTER(LEN=QFYAML_StrLen) :: thisLoc ! Initialize RC = QFYAML_success errMsg = '' thisLoc = ' -> at Add_Int_Array (in module qfyaml_mod.F90)' CALL Prepare_Store_Var( yml, var_name, QFYAML_INTEGER_type, & SIZE(int_data), comment, ix, & RC, dynamic_size ) IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "Prepare_Store_Var"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF IF ( yml%vars(ix)%stored_data /= unstored_data_string ) THEN CALL Read_Variable( yml%vars(ix), RC ) IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "Read_Variable"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF ELSE yml%vars(ix)%int_data = int_data ENDIF END SUBROUTINE Add_Int_Array SUBROUTINE Add_String( yml, var_name, char_data, comment, RC ) ! ! Add a YAML variable with an CHARACTER value ! TYPE(QFYAML_t), INTENT(INOUT) :: yml CHARACTER(LEN=*), INTENT(IN ) :: var_name CHARACTER(LEN=*), INTENT(IN ) :: comment CHARACTER(LEN=*), INTENT(IN ) :: char_data INTEGER, INTENT(OUT ) :: RC INTEGER :: ix CHARACTER(LEN=QFYAML_StrLen) :: errMsg CHARACTER(LEN=QFYAML_StrLen) :: thisLoc ! Initialize RC = QFYAML_success errMsg = '' thisLoc = ' -> at Add_String (in module qfyaml_mod.F90)' CALL Prepare_Store_Var( yml, var_name, QFYAML_string_type, & 1, comment, ix, RC ) IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "Prepare_Store_Var"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF IF ( yml%vars(ix)%stored_data /= unstored_data_string ) THEN CALL Read_Variable( yml%vars(ix), RC ) IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "Read_Variable"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF ELSE yml%vars(ix)%char_data(1) = char_data ENDIF END SUBROUTINE Add_String SUBROUTINE Add_String_Array( yml, var_name, char_data, & comment, RC, dynamic_size ) ! ! Add a YAML variable with an array of type character ! TYPE(QFYAML_t), INTENT(INOUT) :: yml CHARACTER(LEN=*), INTENT(IN ) :: var_name CHARACTER(LEN=*), INTENT(IN ) :: comment CHARACTER(LEN=*), INTENT(IN ) :: char_data(:) INTEGER, INTENT(OUT ) :: RC LOGICAL, OPTIONAL :: dynamic_size INTEGER :: ix CHARACTER(LEN=QFYAML_StrLen) :: errMsg CHARACTER(LEN=QFYAML_StrLen) :: thisLoc ! Initialize RC = QFYAML_success errMsg = '' thisLoc = ' -> at Add_String_Array (in module qfyaml_mod.F90)' CALL Prepare_Store_Var( yml, var_name, QFYAML_string_type, & SIZE(char_data), comment, ix, & RC, dynamic_size ) IF ( yml%vars(ix)%stored_data /= unstored_data_string ) THEN CALL Read_Variable( yml%vars(ix), RC ) IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "Read_Variable"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF ELSE yml%vars(ix)%char_data = char_data ENDIF END SUBROUTINE Add_String_Array SUBROUTINE Add_Bool( yml, var_name, bool_data, comment, RC ) ! ! Add a YAML variable with an logical value ! TYPE(QFYAML_t), INTENT(INOUT) :: yml CHARACTER(LEN=*), INTENT(IN ) :: var_name LOGICAL, INTENT(IN ) :: bool_data CHARACTER(LEN=*), INTENT(IN ) :: comment INTEGER, INTENT(OUT ) :: RC INTEGER :: ix CHARACTER(LEN=QFYAML_StrLen) :: errMsg CHARACTER(LEN=QFYAML_StrLen) :: thisLoc ! Initialize RC = QFYAML_success errMsg = '' thisLoc = ' -> at Add_Bool (in module qfyaml_mod.F90)' CALL Prepare_Store_Var( yml, var_name, QFYAML_bool_type, & 1, comment, ix, RC ) IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "Prepare_Store_Var"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF IF ( yml%vars(ix)%stored_data /= unstored_data_string ) THEN CALL Read_Variable( yml%vars(ix), RC ) IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "Read_Variable"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF ELSE yml%vars(ix)%bool_data(1) = bool_data ENDIF END SUBROUTINE Add_Bool SUBROUTINE Add_Bool_Array(yml, var_name, bool_data, & comment, RC, dynamic_size ) ! ! Add a YAML variable with an array of type LOGICAL ! TYPE(QFYAML_t), INTENT(INOUT) :: yml CHARACTER(LEN=*), INTENT(IN ) :: var_name LOGICAL, INTENT(IN ) :: bool_data(:) CHARACTER(LEN=*), INTENT(IN ) :: comment INTEGER, INTENT(OUT ) :: RC LOGICAL, OPTIONAL :: dynamic_size INTEGER :: ix CHARACTER(LEN=QFYAML_StrLen) :: errMsg CHARACTER(LEN=QFYAML_StrLen) :: thisLoc ! Initialize RC = QFYAML_success errMsg = '' thisLoc = ' -> at Add_Bool_Array (in module qfyaml_mod.F90)' CALL Prepare_Store_Var( yml, var_name, QFYAML_bool_type, & SIZE(bool_data), comment, ix, & RC, dynamic_size ) IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "Prepare_Store_Var"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF IF ( yml%vars(ix)%stored_data /= unstored_data_string ) then CALL Read_Variable( yml%vars(ix), RC ) IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "Read_Variable"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF ELSE yml%vars(ix)%bool_data = bool_data ENDIF END SUBROUTINE Add_Bool_Array SUBROUTINE Get_Real_Array( yml, var_name, real_data, RC ) ! ! Get a real array of a given name ! TYPE(QFYAML_t), INTENT(INOUT) :: yml CHARACTER(LEN=*), INTENT(IN ) :: var_name REAL(yp), INTENT(INOUT) :: real_data(:) INTEGER, INTENT(OUT ) :: RC INTEGER :: ix INTEGER :: sz_data INTEGER :: sz_stored CHARACTER(LEN=QFYAML_StrLen) :: errMsg CHARACTER(LEN=QFYAML_StrLen) :: thisLoc ! Initialize RC = QFYAML_success errMsg = '' thisLoc = ' -> at Get_Real_Array (in module qfyaml_mod.F90)' ! Make sure the real_data array has at last 1 element sz_data = SIZE( real_data ) IF ( sz_data < 1 ) THEN errMsg = 'Argument "real_data" must be an array!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Look up the stored data CALL Prepare_Get_Var( yml, var_name, QFYAML_real_type, & sz_data, ix, RC ) IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "Prepare_Get_Var"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Number of elements of stored data in this variable sz_stored = SIZE( yml%vars(ix)%real_data ) ! Make sure the data array has enough elements IF ( sz_data < sz_stored ) THEN errMsg = 'Argument "real_data" does not have enough elements!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Only copy over as many elements as are stored real_data(1:sz_stored) = yml%vars(ix)%real_data(1:sz_stored) END SUBROUTINE Get_Real_Array SUBROUTINE Get_Int_Array( yml, var_name, int_data, RC ) ! ! Get a INTEGER array of a given name ! TYPE(QFYAML_t), INTENT(INOUT) :: yml CHARACTER(LEN=*), INTENT(IN ) :: var_name INTEGER, INTENT(INOUT) :: int_data(:) INTEGER, INTENT(OUT ) :: RC INTEGER :: ix INTEGER :: sz_data INTEGER :: sz_stored CHARACTER(LEN=QFYAML_StrLen) :: errMsg CHARACTER(LEN=QFYAML_StrLen) :: thisLoc ! Initialize RC = QFYAML_success errMsg = '' thisLoc = ' -> at Get_Int_Array (in module qfyaml_mod.F90)' ! Make sure the real_data array has at last 1 element sz_data = SIZE( int_data ) IF ( sz_data < 1 ) THEN errMsg = 'Argument "int_data" must be an array!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Look up the stored data CALL Prepare_Get_Var( yml, var_name, QFYAML_integer_type, & sz_data, ix, RC ) IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "Prepare_Get_Var"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Number of elements of stored data in this variable sz_stored = SIZE( yml%vars(ix)%int_data ) ! Make sure the data array has enough elements IF ( sz_data < sz_stored ) THEN errMsg = 'Argument "real_data" does not have enough elements!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Only copy over as many elements as are stored int_data(1:sz_stored) = yml%vars(ix)%int_data(1:sz_stored) END SUBROUTINE Get_Int_Array SUBROUTINE Get_String_Array( yml, var_name, char_data, RC ) ! ! Get a character array of a given name ! TYPE(QFYAML_t), INTENT(INOUT) :: yml CHARACTER(LEN=*), INTENT(IN ) :: var_name CHARACTER(LEN=*), INTENT(INOUT) :: char_data(:) INTEGER, INTENT(OUT ) :: RC INTEGER :: ix INTEGER :: sz_data INTEGER :: sz_stored CHARACTER(LEN=QFYAML_StrLen) :: errMsg CHARACTER(LEN=QFYAML_StrLen) :: thisLoc ! Initialize RC = QFYAML_success errMsg = '' thisLoc = ' -> at Get_String_Array (in module qfyaml_mod.F90)' ! Make sure the char_data array has at last 1 element sz_data = SIZE( char_data ) IF ( sz_data < 1 ) THEN errMsg = 'Argument "char_data" must be an array!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Look up the stored data CALL Prepare_Get_Var( yml, var_name, QFYAML_string_type, & sz_data, ix, RC ) IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "Prepare_Get_Var"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Number of elements of stored data in this variable sz_stored = SIZE( yml%vars(ix)%char_data ) ! Make sure the data array has enough elements IF ( sz_data < sz_stored ) THEN errMsg = 'Argument "char_data" does not have enough elements!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Copy over only the number of elements that are stored char_data(1:sz_stored) = yml%vars(ix)%char_data(1:sz_stored) END SUBROUTINE Get_String_Array SUBROUTINE Get_Bool_Array( yml, var_name, bool_data, RC ) ! ! Get a LOGICAL array of a given name ! TYPE(QFYAML_t), INTENT(INOUT) :: yml CHARACTER(LEN=*), INTENT(IN ) :: var_name LOGICAL, INTENT(INOUT) :: bool_data(:) INTEGER, INTENT(OUT ) :: RC INTEGER :: ix INTEGER :: sz_data INTEGER :: sz_stored CHARACTER(LEN=QFYAML_StrLen) :: errMsg CHARACTER(LEN=QFYAML_StrLen) :: thisLoc ! Initialize RC = QFYAML_success errMsg = '' thisLoc = ' -> at Get_Bool_Array (in module qfyaml_mod.F90)' ! Make sure the char_data array has at last 1 element sz_data = SIZE( bool_data ) IF ( sz_data < 1 ) THEN errMsg = 'Argument "char_data" must be an array!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Look up the stored data CALL Prepare_Get_Var( yml, var_name, QFYAML_bool_type, & SIZE(bool_data), ix, RC ) IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "Prepare_Get_Var"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Number of elements of stored data in this variable sz_stored = SIZE( yml%vars(ix)%bool_data ) ! Make sure the data array has enough elements IF ( sz_data < sz_stored ) THEN errMsg = 'Argument "bool_data`" does not have enough elements!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Copy over only the number of elements that are stored bool_data(1:sz_stored) = yml%vars(ix)%bool_data(1:sz_stored) END SUBROUTINE Get_Bool_Array SUBROUTINE Get_Real( yml, var_name, res, RC ) ! ! Get a real value of a given name ! TYPE(QFYAML_t), INTENT(INOUT) :: yml CHARACTER(LEN=*), INTENT(IN ) :: var_name REAL(yp), INTENT(OUT ) :: res INTEGER, INTENT(OUT ) :: RC INTEGER :: ix CHARACTER(LEN=QFYAML_StrLen) :: errMsg CHARACTER(LEN=QFYAML_StrLen) :: thisLoc ! Initialize RC = QFYAML_success errMsg = '' thisLoc = ' -> at Get_Real (in module qfyaml_mod.F90)' CALL Prepare_Get_Var( yml, var_name, QFYAML_real_type, 1, ix, RC ) IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "Prepare_Get_Var"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF res = yml%vars(ix)%real_data(1) END SUBROUTINE Get_Real SUBROUTINE Get_Int( yml, var_name, res, RC ) ! ! Get a INTEGER value of a given name ! TYPE(QFYAML_t), INTENT(INOUT) :: yml CHARACTER(LEN=*), INTENT(IN ) :: var_name INTEGER, INTENT(INOUT) :: res INTEGER, INTENT(OUT ) :: RC INTEGER :: ix CHARACTER(LEN=QFYAML_StrLen) :: errMsg CHARACTER(LEN=QFYAML_StrLen) :: thisLoc ! Initialize RC = QFYAML_success errMsg = '' thisLoc = ' -> at Get_Int (in module qfyaml_mod.F90)' CALL Prepare_Get_Var( yml, var_name, QFYAML_integer_type, 1, ix, RC ) IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "Prepare_Get_Var"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF res = yml%vars(ix)%int_data(1) END SUBROUTINE Get_Int SUBROUTINE Get_Bool( yml, var_name, res, RC ) ! ! Get a LOGICAL value of a given name ! TYPE(QFYAML_t), INTENT(INOUT) :: yml CHARACTER(LEN=*), INTENT(IN ) :: var_name LOGICAL, INTENT(OUT ) :: res INTEGER, INTENT(OUT ) :: RC INTEGER :: ix CHARACTER(LEN=QFYAML_StrLen) :: errMsg CHARACTER(LEN=QFYAML_StrLen) :: thisLoc ! Initialize RC = QFYAML_success errMsg = '' thisLoc = ' -> at Get_Bool (in module qfyaml_mod.F90)' CALL Prepare_Get_Var( yml, var_name, QFYAML_bool_type, 1, ix, RC ) IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "Prepare_Get_Var"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF res = yml%vars(ix)%bool_data(1) END SUBROUTINE Get_Bool SUBROUTINE Get_String( yml, var_name, res, RC ) ! ! Get a character value of a given name ! TYPE(QFYAML_t), INTENT(INOUT) :: yml CHARACTER(LEN=*), INTENT(IN ) :: var_name CHARACTER(LEN=*), INTENT(OUT ) :: res INTEGER, INTENT(OUT ) :: RC INTEGER :: ix CHARACTER(LEN=QFYAML_StrLen) :: errMsg CHARACTER(LEN=QFYAML_StrLen) :: thisLoc ! Initialize RC = QFYAML_success errMsg = '' thisLoc = ' -> at Get_String (in module qfyaml_mod.F90)' CALL Prepare_Get_Var( yml, var_name, QFYAML_string_type, 1, ix, RC ) IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "Prepare_Get_Var"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF res = yml%vars(ix)%char_data(1) END SUBROUTINE Get_String SUBROUTINE Add_Get_Real_Array( yml, var_name, real_data, & comment, RC, dynamic_size ) ! ! Get or add a real array of a given name ! TYPE(QFYAML_t), INTENT(INOUT) :: yml CHARACTER(LEN=*), INTENT(IN ) :: var_name REAL(yp), INTENT(INOUT) :: real_data(:) CHARACTER(LEN=*), INTENT(IN ) :: comment INTEGER, INTENT(OUT ) :: RC LOGICAL, OPTIONAL :: dynamic_size CHARACTER(LEN=QFYAML_StrLen) :: errMsg CHARACTER(LEN=QFYAML_StrLen) :: thisLoc ! Initialize RC = QFYAML_success errMsg = '' thisLoc = ' -> at Add_Get_Real_Array (in module qfyaml_mod.F90)' CALL Add_Real_Array( yml, var_name, real_data, comment, RC, dynamic_size ) IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "Add_Real_Array"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF CALL Get_Real_Array( yml, var_name, real_data, RC ) IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "Add_Real_Array"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF END SUBROUTINE Add_Get_Real_Array SUBROUTINE Add_Get_Int_Array( yml, var_name, int_data, & comment, RC, dynamic_size ) ! ! Get or add a INTEGER array of a given name ! TYPE(QFYAML_t), INTENT(INOUT) :: yml CHARACTER(LEN=*), INTENT(IN ) :: var_name INTEGER, INTENT(INOUT) :: int_data(:) CHARACTER(LEN=*), INTENT(IN ) :: comment LOGICAL, OPTIONAL :: dynamic_size INTEGER, INTENT(OUT ) :: RC CHARACTER(LEN=QFYAML_StrLen) :: errMsg CHARACTER(LEN=QFYAML_StrLen) :: thisLoc ! Initialize RC = QFYAML_success errMsg = '' thisLoc = ' -> at Add_Get_Int_Array (in module qfyaml_mod.F90)' CALL Add_Int_Array( yml, var_name, int_data, comment, RC, dynamic_size ) IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "Add_Int_Array"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF CALL Get_Int_Array( yml, var_name, int_data, RC ) IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "Get_Int_Array"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF END SUBROUTINE Add_Get_Int_Array SUBROUTINE Add_Get_String_Array( yml, var_name, char_data, & comment, RC, dynamic_size ) ! ! Get or add a character array of a given name ! TYPE(QFYAML_t), INTENT(INOUT) :: yml CHARACTER(LEN=*), INTENT(IN ) :: var_name CHARACTER(LEN=*), INTENT(INOUT) :: char_data(:) CHARACTER(LEN=*), INTENT(IN ) :: comment LOGICAL, OPTIONAL :: dynamic_size INTEGER, INTENT(OUT ) :: RC CHARACTER(LEN=QFYAML_StrLen) :: errMsg CHARACTER(LEN=QFYAML_StrLen) :: thisLoc ! Initialize RC = QFYAML_success errMsg = '' thisLoc = ' -> at Add_Get_String_Array (in module qfyaml_mod.F90)' CALL Add_String_Array(yml, var_name, char_data, comment, RC, dynamic_size ) IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "Add_String_Array"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF CALL Get_String_Array( yml, var_name, char_data, RC ) IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "Get_String_Array"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF END SUBROUTINE Add_Get_String_Array SUBROUTINE Add_Get_Bool_Array(yml, var_name, bool_data, & comment, RC, dynamic_size ) ! ! Get or add a LOGICAL array of a given name ! TYPE(QFYAML_t), INTENT(INOUT) :: yml CHARACTER(LEN=*), INTENT(IN ) :: var_name LOGICAL, INTENT(INOUT) :: bool_data(:) CHARACTER(LEN=*), INTENT(IN ) :: comment LOGICAL, OPTIONAL :: dynamic_size INTEGER, INTENT(OUT ) :: RC CHARACTER(LEN=QFYAML_StrLen) :: errMsg CHARACTER(LEN=QFYAML_StrLen) :: thisLoc ! Initialize RC = QFYAML_success errMsg = '' thisLoc = ' -> at Add_Get_Bool_Array (in module qfyaml_mod.F90)' CALL Add_Bool_Array( yml, var_name, bool_data, comment, RC, dynamic_size ) IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "Add_Bool_Array"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF CALL Get_Bool_Array( yml, var_name, bool_data, RC ) IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "Get_Bool_Array"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF END SUBROUTINE Add_Get_Bool_Array SUBROUTINE Add_Get_Real( yml, var_name, real_data, comment, RC ) ! ! Get or add a real value of a given name ! TYPE(QFYAML_t), INTENT(INOUT) :: yml CHARACTER(LEN=*), INTENT(IN ) :: var_name REAL(yp), INTENT(INOUT) :: real_data CHARACTER(LEN=*), INTENT(IN ) :: comment INTEGER, INTENT(OUT ) :: RC CHARACTER(LEN=QFYAML_StrLen) :: errMsg CHARACTER(LEN=QFYAML_StrLen) :: thisLoc ! Initialize RC = QFYAML_success errMsg = '' thisLoc = ' -> at Add_Get_Real (in module qfyaml_mod.F90)' CALL Add_Real( yml, var_name, real_data, comment, RC ) IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "Add_Real"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF CALL Get_Real( yml, var_name, real_data, RC ) IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "Get_Real"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF END SUBROUTINE Add_Get_Real SUBROUTINE Add_Get_Int( yml, var_name, int_data, comment, RC ) ! ! Get or add a INTEGER value of a given name ! TYPE(QFYAML_t), INTENT(INOUT) :: yml CHARACTER(LEN=*), INTENT(IN ) :: var_name INTEGER, INTENT(INOUT) :: int_data CHARACTER(LEN=*), INTENT(IN ) :: comment INTEGER, INTENT(OUT ) :: RC CHARACTER(LEN=QFYAML_StrLen) :: errMsg CHARACTER(LEN=QFYAML_StrLen) :: thisLoc ! Initialize RC = QFYAML_success errMsg = '' thisLoc = ' -> at Add_Get_Int (in module qfyaml_mod.F90)' CALL Add_Int( yml, var_name, int_data, comment, RC ) IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "Add_Int"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF CALL Get_Int( yml, var_name, int_data, RC ) IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "Get_Int"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF END SUBROUTINE Add_Get_Int SUBROUTINE Add_Get_Bool( yml, var_name, bool_data, comment, RC) ! ! Get or add a LOGICAL value of a given name ! TYPE(QFYAML_t), INTENT(INOUT) :: yml CHARACTER(LEN=*), INTENT(IN ) :: var_name LOGICAL, INTENT(INOUT) :: bool_data CHARACTER(LEN=*), INTENT(IN ) :: comment INTEGER, INTENT(OUT ) :: RC CHARACTER(LEN=QFYAML_StrLen) :: errMsg CHARACTER(LEN=QFYAML_StrLen) :: thisLoc ! Initialize RC = QFYAML_success errMsg = '' thisLoc = ' -> at Add_Get_Bool (in module qfyaml_mod.F90)' CALL Add_Bool( yml, var_name, bool_data, comment, RC ) IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "Add_"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF CALL Get_Bool( yml, var_name, bool_data, RC ) IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "Add_"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF END SUBROUTINE Add_Get_Bool SUBROUTINE Add_Get_String( yml, var_name, string_data, comment, RC ) ! Get a character value of a given name TYPE(QFYAML_t), INTENT(INOUT) :: yml CHARACTER(LEN=*), INTENT(IN ) :: var_name CHARACTER(LEN=*), INTENT(INOUT) :: string_data CHARACTER(LEN=*), INTENT(IN ) :: comment INTEGER, INTENT(OUT ) :: RC CHARACTER(LEN=QFYAML_StrLen) :: errMsg CHARACTER(LEN=QFYAML_StrLen) :: thisLoc ! Initialize RC = QFYAML_success errMsg = '' thisLoc = ' -> at Add_Int (in module qfyaml_mod.F90)' CALL Add_string( yml, var_name, string_data, comment, RC ) IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "Add_String"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF CALL Get_String( yml, var_name, string_data, RC ) IF ( RC /= QFYAML_Success ) THEN errMsg = 'Error encountered in "Get_String"!' CALL Handle_Error( errMsg, RC, thisLoc ) RETURN ENDIF END SUBROUTINE Add_Get_String SUBROUTINE Update_Real_Array( yml, var_name, real_data ) ! ! Get or add a real array of a given name ! TYPE(QFYAML_t), INTENT(INOUT) :: yml CHARACTER(LEN=*), INTENT(IN ) :: var_name REAL(yp), INTENT(INOUT) :: real_data(:) INTEGER :: ix CALL Get_Var_Index( yml, var_name, ix ) IF ( ix > 0 ) THEN yml%vars(ix)%real_data = real_data real_data = yml%vars(ix)%real_data ENDIF END SUBROUTINE Update_Real_Array SUBROUTINE Update_Int_Array(yml, var_name, int_data) ! ! Get or add a INTEGER array of a given name ! TYPE(QFYAML_t), INTENT(INOUT) :: yml CHARACTER(LEN=*), INTENT(IN ) :: var_name INTEGER, INTENT(INOUT) :: int_data(:) INTEGER :: ix CALL Get_Var_Index(yml, var_name, ix) IF ( ix > 0 ) THEN yml%vars(ix)%int_data = int_data int_data = yml%vars(ix)%int_data ENDIF END SUBROUTINE Update_Int_Array SUBROUTINE Update_String_Array( yml, var_name, char_data ) ! ! Get or add a character array of a given name ! TYPE(QFYAML_t), INTENT(INOUT) :: yml CHARACTER(LEN=*), INTENT(IN ) :: var_name CHARACTER(LEN=*), INTENT(INOUT) :: char_data(:) INTEGER :: ix CALL Get_Var_Index( yml, var_name, ix ) IF ( ix > 0 ) THEN yml%vars(ix)%char_data = char_data char_data = yml%vars(ix)%char_data ENDIF END SUBROUTINE Update_String_Array SUBROUTINE Update_Bool_Array( yml, var_name, bool_data ) ! ! Get or add a LOGICAL array of a given name ! TYPE(QFYAML_t), INTENT(INOUT) :: yml CHARACTER(LEN=*), INTENT(IN ) :: var_name LOGICAL, INTENT(INOUT) :: bool_data(:) INTEGER :: ix CALL Get_Var_Index( yml, var_name, ix ) IF ( ix > 0 ) THEN yml%vars(ix)%bool_data = bool_data bool_data = yml%vars(ix)%bool_data ENDIF END SUBROUTINE Update_Bool_Array SUBROUTINE Update_Real( yml, var_name, real_data ) ! ! Get or add a real value of a given name ! TYPE(QFYAML_t), INTENT(INOUT) :: yml CHARACTER(LEN=*), INTENT(IN ) :: var_name REAL(yp), INTENT(INOUT) :: real_data INTEGER :: ix CALL Get_Var_Index(yml, var_name, ix) IF ( ix > 0 ) THEN yml%vars(ix)%real_data(1) = real_data real_data = yml%vars(ix)%real_data(1) ENDIF END SUBROUTINE Update_Real SUBROUTINE Update_Int(yml, var_name, int_data) ! ! Get or add a INTEGER value of a given name ! TYPE(QFYAML_t), INTENT(INOUT) :: yml CHARACTER(LEN=*), INTENT(IN ) :: var_name INTEGER, INTENT(INOUT) :: int_data INTEGER :: ix CALL Get_Var_Index( yml, var_name, ix ) IF ( ix > 0 ) THEN yml%vars(ix)%int_data(1) = int_data int_data = yml%vars(ix)%int_data(1) ENDIF END SUBROUTINE Update_Int SUBROUTINE Update_Bool( yml, var_name, bool_data ) ! ! Get or add a LOGICAL value of a given name ! TYPE(QFYAML_t), INTENT(INOUT) :: yml CHARACTER(LEN=*), INTENT(IN ) :: var_name LOGICAL, INTENT(INOUT) :: bool_data INTEGER :: ix CALL Get_Var_Index( yml, var_name, ix ) IF ( ix > 0 ) THEN yml%vars(ix)%bool_data(1) = bool_data bool_data = yml%vars(ix)%bool_data(1) ENDIF END SUBROUTINE Update_Bool SUBROUTINE Update_String(yml, var_name, string_data) ! ! Get a character value of a given name ! TYPE(QFYAML_t), INTENT(INOUT) :: yml CHARACTER(LEN=*), INTENT(IN ) :: var_name CHARACTER(LEN=*), INTENT(INOUT) :: string_data INTEGER :: ix CALL Get_Var_Index( yml, var_name, ix ) IF ( ix > 0 ) THEN yml%vars(ix)%char_data(1) = string_data string_data = yml%vars(ix)%char_data(1) ENDIF END SUBROUTINE Update_String END MODULE QFYAML_Mod ================================================ FILE: Headers/registry_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: registry_mod.F90 ! ! !DESCRIPTION: Contains derived types and methods to create a registry ! of each variable contained within a given module. This will allow the ! user to obtain a pointer to each module variable by searching for its name. !\\ !\\ ! !INTERFACE: ! MODULE Registry_Mod ! ! !USES: ! USE Precision_Mod USE Registry_Params_Mod IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: Registry_AddField PUBLIC :: Registry_Lookup PUBLIC :: Registry_Print PUBLIC :: Registry_Destroy PUBLIC :: Registry_Set_LookupTable ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: MetaRegItem_AddNew PRIVATE :: MetaRegItem_Create PRIVATE :: MetaRegItem_Insert PRIVATE :: MetaRegItem_Destroy ! ! ! PUBLIC TYPES:: ! !========================================================================= ! Derived type for a REGISTRY ITEM (a single registry entry). ! This represents a single module variable, plus some metadata. !========================================================================= TYPE, PUBLIC :: RegItem !---------------------------------------------------------------------- ! Identifying info !---------------------------------------------------------------------- CHARACTER(LEN=67) :: FullName ! e.g. "STATE_VARIABLE" CHARACTER(LEN=4 ) :: State ! Name of state CHARACTER(LEN=63) :: Variable ! Name of variable !---------------------------------------------------------------------- ! Metadata !---------------------------------------------------------------------- CHARACTER(LEN=255) :: Description ! Longer description REAL(fp) :: MemoryInKb ! Memory use in Kb INTEGER :: Source_KindVal ! Numerical KIND value of data INTEGER :: Output_KindVal ! Numerical KIND value for output INTEGER :: Rank ! Dimensions of data CHARACTER(LEN=255) :: Units ! Units of data CHARACTER(LEN=3) :: DimNames ! e.g. "xyz", "yz", "y", "t" LOGICAL :: OnLevelEdges ! Is data on level edges (T/F)? !---------------------------------------------------------------------- ! Pointers to floating point data (8-byte precision) !---------------------------------------------------------------------- REAL(f8), POINTER :: Ptr0d_8 ! For 0D 8-byte data REAL(f8), POINTER :: Ptr1d_8(: ) ! For 1D 8-byte data REAL(f8), POINTER :: Ptr2d_8(:,: ) ! For 2D 8-byte data REAL(f8), POINTER :: Ptr3d_8(:,:,:) ! For 3D 8-byte data !---------------------------------------------------------------------- ! Pointers to floating point data (4-byte precision) !---------------------------------------------------------------------- REAL(f4), POINTER :: Ptr0d_4 ! For 0D 4-byte data REAL(f4), POINTER :: Ptr1d_4(: ) ! For 1D 4-byte data REAL(f4), POINTER :: Ptr2d_4(:,: ) ! For 2D 4-byte data REAL(f4), POINTER :: Ptr3d_4(:,:,:) ! For 3D 4-byte data !---------------------------------------------------------------------- ! Pointers to integer data !---------------------------------------------------------------------- INTEGER, POINTER :: Ptr0d_I ! For 0D int data INTEGER, POINTER :: Ptr1d_I(: ) ! For 1D int data INTEGER, POINTER :: Ptr2d_I(:,: ) ! For 2D int data INTEGER, POINTER :: Ptr3d_I(:,:,:) ! For 3D int data END TYPE RegItem !========================================================================= ! Derived type for a METAREGISTRY ITEM (a linked-list of REGISTRY ITEMS) !========================================================================= TYPE, PUBLIC :: MetaRegItem TYPE(MetaRegItem), POINTER :: Next => NULL() ! Pointer to next node TYPE(RegItem ), POINTER :: Item => NULL() ! Registry item within END TYPE MetaRegItem ! ! !DEFINED PARAMETERS: ! ! ! !REMARKS: ! In Fortran 2003, the maximum variable name length is 63 characers, so we ! have declared the various character name fields of RegItem accordingly. ! ! !REVISION HISTORY: ! 23 Jun 2017 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Registry_AddField ! ! !DESCRIPTION: Creates a REGISTRY ITEM, which contains information (i.e. ! metadata plus a pointer to the data) about a variable within a module. ! The REGISTRY ITEM will then be added to the METAREGISTRY ITEM, which is ! the master list of all variables in the module. This will allow the user ! to obtain a pointer to any variable by searching for its name. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Registry_AddField( Input_Opt, Registry, State, & Variable, RC, Description, & Units, DimNames, OnLevelEdges, & Output_KindVal, Data0d_8, Data1d_8, & Data2d_8, Data3d_8, Data0d_4, & Data1d_4, Data2d_4, Data3d_4, & Data0d_I, Data1d_I, Data2d_I, & Data3d_I ) ! ! !USES: ! USE CharPak_Mod, ONLY : To_Uppercase USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT PARAMETERS: ! ! General identifying information TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input options CHARACTER(LEN=*), INTENT(IN) :: State ! State name CHARACTER(LEN=*), INTENT(IN) :: Variable ! variable CHARACTER(LEN=*), OPTIONAL :: Description ! Long description CHARACTER(LEN=*), OPTIONAL :: Units ! Units of data CHARACTER(LEN=*), OPTIONAL :: DimNames ! "xyz", "xy", "t" LOGICAL, OPTIONAL :: OnLevelEdges ! Set =T if data ! is on level edges INTEGER, OPTIONAL :: Output_KindVal ! Type of data ! to be saved out ! Floating-point data targets (8-byte precision) REAL(f8), OPTIONAL, TARGET :: Data0d_8 ! 0D flex-prec data REAL(f8), OPTIONAL, TARGET :: Data1d_8(: ) ! 1D flex_prec data REAL(f8), OPTIONAL, TARGET :: Data2d_8(:,: ) ! 2D flex-prec data REAL(f8), OPTIONAL, TARGET :: Data3d_8(:,:,:) ! 3D flex-prec data ! Floating-point data targets (4-byte precision) REAL(f4), OPTIONAL, TARGET :: Data0d_4 ! 0D 4-byte data REAL(f4), OPTIONAL, TARGET :: Data1d_4(: ) ! 1D 4-byte data REAL(f4), OPTIONAL, TARGET :: Data2d_4(:,: ) ! 2D 4-byte data REAL(f4), OPTIONAL, TARGET :: Data3d_4(:,:,:) ! 3D 4-byte data ! Integer data targets INTEGER, OPTIONAL, TARGET :: Data0d_I ! 1D int data INTEGER, OPTIONAL, TARGET :: Data1d_I(: ) ! 1D int data INTEGER, OPTIONAL, TARGET :: Data2d_I(:,: ) ! 2D int data INTEGER, OPTIONAL, TARGET :: Data3d_I(:,:,:) ! 3D int data ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetaRegItem), POINTER :: Registry ! Registry object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success/failure ! ! !REMARKS: ! Internally, the REGISTRY ITEM will be refered to by its fullname field, ! which is "STATE_VARIABLE". Fullname will be defined automatically from ! the STATE and VARIABLE inputs as STATE_VARIABLE, unless variable is in ! State_Diag, in which case STATE_ is not appended as a prefix. ! ! !REVISION HISTORY: ! 23 Jun 2017 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: IsOnLevelEdges LOGICAL :: IsOutputKindVal REAL(fp) :: KbPerElement ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc, TmpFullName CHARACTER(LEN=255) :: TmpState, TmpUnits, TmpVariable, TmpDescription ! Objects TYPE(RegItem), POINTER :: Item !======================================================================= ! Initialize !======================================================================= RC = GC_SUCCESS IsOnLevelEdges = .FALSE. KbPerElement = DBLE( fp ) / 1024.0_fp ErrMsg = '' ThisLoc = ' -> at Registry_AddField (in Headers/registry_mod.F90)' TmpState = To_UpperCase( State ) TmpVariable = To_UpperCase( Variable ) IF ( TRIM( TmpState ) /= 'DIAG' ) THEN TmpFullname = TRIM( TmpState ) // '_' // TRIM( TmpVariable ) ELSE TmpFullname = TRIM( TmpVariable ) ENDIF TmpDescription = '' TmpUnits = '' ! Save optional arguments in shadow variables, if passed IF ( PRESENT( Description ) ) TmpDescription = Description IF ( PRESENT( Units ) ) TmpUnits = Units IF ( PRESENT( OnLevelEdges ) ) IsOnLevelEdges = OnLevelEdges ! Set a logical to indicate if Output_Kindval is passed IF ( PRESENT( Output_KindVal ) ) THEN IsOutputKindVal = .TRUE. ELSE isOutputKindVal = .FALSE. ENDIF !======================================================================= ! Allocate the REGISTRY ITEM object, which will hold metadata about ! this field, as well as a pointer to the data source, in the registry. !======================================================================= ALLOCATE( Item, STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not allocate "Item" for variable: ' // TRIM( Variable ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Save identifying info Item%FullName = TmpFullName Item%State = TmpState Item%Variable = TmpVariable Item%Description = TmpDescription Item%Units = TmpUnits Item%MemoryInKb = 0.0_fp Item%OnLevelEdges = IsOnLevelEdges ! Nullify pointers to data etc. Item%Ptr0d_8 => NULL() Item%Ptr1d_8 => NULL() Item%Ptr2d_8 => NULL() Item%Ptr3d_8 => NULL() Item%Ptr0d_4 => NULL() Item%Ptr1d_4 => NULL() Item%Ptr2d_4 => NULL() Item%Ptr3d_4 => NULL() Item%Ptr0d_I => NULL() Item%Ptr1d_I => NULL() Item%Ptr2d_I => NULL() Item%Ptr3d_I => NULL() !----------------------------------------------------------------------- ! Depending on the size of the data being passed, ! set the rank appropriately and point to the data. ! Also compute the size of the array in bytes. ! ! Assign pointers to 8-byte real data targets !----------------------------------------------------------------------- IF ( PRESENT( Data3d_8 ) ) THEN Item%Rank = 3 Item%Ptr3d_8 => Data3d_8 Item%MemoryInKb = KbPerElement * SIZE( Data3d_8 ) Item%Source_KindVal = KINDVAL_F8 ELSE IF ( PRESENT( Data2d_8 ) ) THEN Item%Rank = 2 Item%Ptr2d_8 => Data2d_8 Item%MemoryInKb = KbPerElement * SIZE( Data2d_8 ) Item%Source_KindVal = KINDVAL_F8 ELSE IF ( PRESENT( Data1d_8 ) ) THEN Item%Rank = 1 Item%Ptr1d_8 => Data1d_8 Item%MemoryInKb = KbPerElement * SIZE( Data1d_8 ) Item%Source_KindVal = KINDVAL_F8 ELSE IF ( PRESENT( Data0d_8 ) ) THEN Item%Rank = 0 Item%Ptr0d_8 => Data0d_8 Item%MemoryInKb = KbPerElement Item%Source_KindVal = KINDVAL_F8 !----------------------------------------------------------------------- ! Assign pointers to 4-byte real data targets !----------------------------------------------------------------------- ELSE IF ( PRESENT( Data3d_4 ) ) THEN Item%Rank = 3 Item%Ptr3d_4 => Data3d_4 Item%MemoryInKb = KbPerElement * SIZE( Data3d_4 ) Item%Source_KindVal = KINDVAL_F4 ELSE IF ( PRESENT( Data2d_4 ) ) THEN Item%Rank = 2 Item%Ptr2d_4 => Data2d_4 Item%MemoryInKb = KbPerElement * SIZE( Data2d_4 ) Item%Source_KindVal = KINDVAL_F4 ELSE IF ( PRESENT( Data1d_4 ) ) THEN Item%Rank = 1 Item%Ptr1d_4 => Data1d_4 Item%MemoryInKb = KbPerElement * SIZE( Data1d_4 ) Item%Source_KindVal = KINDVAL_F4 ELSE IF ( PRESENT( Data0d_4 ) ) THEN Item%Rank = 0 Item%Ptr0d_4 => Data0d_4 Item%MemoryInKb = KbPerElement Item%Source_KindVal = KINDVAL_F4 !----------------------------------------------------------------------- ! Assign pointers to integer data targets !----------------------------------------------------------------------- ELSE IF ( PRESENT( Data3d_I ) ) THEN Item%Rank = 3 Item%Ptr3d_I => Data3d_I Item%MemoryInKb = KbPerElement * SIZE( Data3d_I ) Item%Source_KindVal = KINDVAL_I4 ELSE IF ( PRESENT( Data2d_I ) ) THEN Item%Rank = 2 Item%Ptr2d_I => Data2d_I Item%MemoryInKb = KbPerElement * SIZE( Data2d_I ) Item%Source_KindVal = KINDVAL_I4 ELSE IF ( PRESENT( Data1d_I ) ) THEN Item%Rank = 1 Item%Ptr1d_I => Data1d_I Item%MemoryInKb = KbPerElement * SIZE( Data1d_I ) Item%Source_KindVal = KINDVAL_I4 ELSE IF ( PRESENT( Data0d_I ) ) THEN Item%Rank = 0 Item%Ptr0d_I => Data0d_I Item%MemoryInKb = KbPerElement Item%Source_KindVal = KINDVAL_I4 !----------------------------------------------------------------------- ! Exit with error message if no data target is passed !----------------------------------------------------------------------- ELSE ErrMsg = 'Need to specify a data source!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !----------------------------------------------------------------------- ! Set Output_Kindval, which will determine the KIND of data that this ! ITEM will be saved to disk with (e.g, INTEGER, REAL*4 or REAL*8). ! If not passed, assume we will save data to netCDF as REAL*4. !----------------------------------------------------------------------- IF ( isOutputKindVal ) THEN Item%Output_KindVal = Output_KindVal ELSE Item%Output_Kindval = KINDVAL_F4 ENDIF !======================================================================= ! Define the "dimnames" field !======================================================================= IF ( PRESENT( DimNames ) ) THEN ! If the DimNames argument is passed, then use it Item%DimNames = TRIM( DimNames ) ELSE ! Otherwise, set default DimNames based on the rank SELECT CASE( Item%Rank ) CASE( 3 ) Item%DimNames = 'xyz' CASE( 2 ) Item%DimNames = 'xy ' CASE( 1 ) Item%DimNames = 'x ' CASE( 0 ) Item%DimNames = '- ' END SELECT ENDIF !======================================================================= ! Add the REGISTRY ITEM to the METAREGISTRY ITEM, which represents ! the list of all data fields contained in a module. !======================================================================= CALL MetaRegItem_AddNew( Input_Opt, Registry, Item, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not add ' // TRIM( TmpVariable ) // ' to the registry!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Free Item once we have attached it to the Registry linked list DEALLOCATE( Item ) Item => NULL() END SUBROUTINE Registry_AddField !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Registry_Lookup ! ! !DESCRIPTION: Get a pointer to any variable in a module (aka "state") by ! searching for its name. Also returns associated metadata. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Registry_Lookup( am_I_Root, Registry, RegDict, & State, Variable, RC, & Description, Dimensions, Source_KindVal, & Output_KindVal, MemoryInKb, OnLevelEdges, & Rank, Units, DimNames, & Ptr0d_8, Ptr1d_8, Ptr2d_8, & Ptr3d_8, Ptr0d_4, Ptr1d_4, & Ptr2d_4, Ptr3d_4, Ptr0d_I, & Ptr1d_I, Ptr2d_I, Ptr3d_I ) ! ! !USES: ! USE Charpak_Mod, ONLY : To_UpperCase USE Dictionary_M, ONLY : dictionary_t USE ErrCode_Mod ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: am_I_Root ! Root CPU? TYPE(MetaRegItem), POINTER :: Registry ! Registry obj TYPE(dictionary_t) :: RegDict ! Registry lookup table CHARACTER(LEN=*), INTENT(IN) :: State ! State name CHARACTER(LEN=*), INTENT(IN) :: Variable ! Variable name ! ! !OUTPUT PARAMETERS: ! ! Required outputs INTEGER, INTENT(OUT) :: RC ! Success or failure ! Optional outputs CHARACTER(LEN=255), OPTIONAL :: Description ! Description of data INTEGER, OPTIONAL :: Source_KindVal ! KIND value of data INTEGER, OPTIONAL :: Output_KindVal ! KIND value for output REAL(fp), OPTIONAL :: MemoryInKb ! Memory usage INTEGER, OPTIONAL :: Rank ! Size of data INTEGER, OPTIONAL :: Dimensions(3) ! Dimensions of data CHARACTER(LEN=255), OPTIONAL :: Units ! Units of data CHARACTER(LEN=3), OPTIONAL :: DimNames ! "xyz", "xz", "t" etc. LOGICAL, OPTIONAL :: OnLevelEdges ! Is the data defined ! on level edges (T/F) ! Floating-point data pointers (4-byte precision) REAL(f8), POINTER, OPTIONAL :: Ptr0d_8 ! 0D 8-byte data REAL(f8), POINTER, OPTIONAL :: Ptr1d_8(: ) ! 1D 8-byte data REAL(f8), POINTER, OPTIONAL :: Ptr2d_8(:,: ) ! 2D 8-byte data REAL(f8), POINTER, OPTIONAL :: Ptr3d_8(:,:,:) ! 3D 8-byte data ! Floating-point data pointers (4-byte precision) REAL(f4), POINTER, OPTIONAL :: Ptr0d_4 ! 0D 4-byte data REAL(f4), POINTER, OPTIONAL :: Ptr1d_4(: ) ! 1D 4-byte data REAL(f4), POINTER, OPTIONAL :: Ptr2d_4(:,: ) ! 2D 4-byte data REAL(f4), POINTER, OPTIONAL :: Ptr3d_4(:,:,:) ! 3D 4-byte data ! Integer data pointers INTEGER, POINTER, OPTIONAL :: Ptr0d_I ! 0D integer data INTEGER, POINTER, OPTIONAL :: Ptr1d_I(: ) ! 1D integer data INTEGER, POINTER, OPTIONAL :: Ptr2d_I(:,: ) ! 2D integer data INTEGER, POINTER, OPTIONAL :: Ptr3d_I(:,:,:) ! 3D integer data ! ! !REMARKS: ! Internally, the REGISTRY ITEM will be refered to by its fullname field, ! which is "STATE_VARIABLE". Fullname will be defined automatically from ! the STATE and VARIABLE inputs as STATE_VARIABLE, unless variable is in ! State_Diag, in which case STATE_ is not appended as a prefix. ! ! !REVISION HISTORY: ! 23 Jun 2017 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: Found, Is_OnLevelEdges LOGICAL :: Is_Description, Is_Dimensions LOGICAL :: Is_SrcKindVal, Is_OutKindVal LOGICAL :: Is_MemoryInKb, Is_Rank LOGICAL :: Is_Units LOGICAL :: Is_0d_8, Is_0d_4, Is_0d_I LOGICAL :: Is_1d_8, Is_1d_4, Is_1d_I LOGICAL :: Is_2d_8, Is_2d_4, Is_2d_I LOGICAL :: Is_3d_8, Is_3d_4, Is_3d_I INTEGER :: FullHash, ItemHash INTEGER :: N ! Strings CHARACTER(LEN=5) :: TmpState CHARACTER(LEN=67) :: FullName, ItemName CHARACTER(LEN=255) :: ErrMsg, ThisLoc CHARACTER(LEN=255) :: VariableUC ! Objects TYPE(MetaRegItem), POINTER :: Current !======================================================================= ! Initialize !======================================================================= RC = GC_SUCCESS Current => NULL() ErrMsg = '' ThisLoc = ' -> at Registry_Lookup (in Headers/registry_mod.F90)' TmpState = TRIM( State ) // '_' VariableUC = To_UpperCase( Variable ) ! Prefix the the state name (always uppercase) to the variable, unless: ! (1) The state name is already part of the variable ! (2) If it's a field from State_Diag, which requires no prefix IF ( ( TRIM( State ) == 'DIAG' ) .OR. & ( INDEX( VariableUC, TRIM( TmpState ) ) > 0 ) ) THEN FullName = VariableUC ELSE FullName = TRIM( TmpState ) // TRIM( VariableUC ) ENDIF ! Construct a hash for the full name (i.e. "State_Variable") FullHash = RegDict%Get( TRIM( FullName ) ) ! Return with an error if fullname is not found in this registry IF ( FullHash == -1 ) THEN errMsg = TRIM( fullName ) // ' is not found in the registry for ' // & 'the ' // TRIM( State ) // ' object!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Set a flag to denote that we've found the field Found = .FALSE. !======================================================================= ! Test if the optional variables are present outside of the main loop. !======================================================================= ! Floating-point (8-byte) data pointers Is_0d_8 = PRESENT( Ptr0d_8 ) Is_1d_8 = PRESENT( Ptr1d_8 ) Is_2d_8 = PRESENT( Ptr2d_8 ) Is_3d_8 = PRESENT( Ptr3d_8 ) ! Floating-point (4-byte) data pointers Is_0d_4 = PRESENT( Ptr0d_4 ) Is_1d_4 = PRESENT( Ptr1d_4 ) Is_2d_4 = PRESENT( Ptr2d_4 ) Is_3d_4 = PRESENT( Ptr3d_4 ) ! Integer data pointers Is_0d_I = PRESENT( Ptr0d_I ) Is_1d_I = PRESENT( Ptr1d_I ) Is_2d_I = PRESENT( Ptr2d_I ) Is_3d_I = PRESENT( Ptr3d_I ) ! Metadata Is_Description = PRESENT( Description ) Is_Dimensions = PRESENT( Dimensions ) Is_SrcKindVal = PRESENT( Source_KindVal ) Is_OutKindVal = PRESENT( Output_KindVal ) Is_MemoryInKb = PRESENT( MemoryInKb ) Is_Rank = PRESENT( Rank ) Is_Units = PRESENT( Units ) Is_OnLevelEdges = PRESENT( OnLevelEdges ) !======================================================================= ! Nullify all optional pointer arguments that are passed !======================================================================= IF ( Is_0d_8 ) Ptr0d_8 => NULL() IF ( Is_0d_4 ) Ptr0d_4 => NULL() IF ( Is_0d_I ) Ptr0d_I => NULL() IF ( Is_1d_8 ) Ptr1d_8 => NULL() IF ( Is_1d_4 ) Ptr1d_4 => NULL() IF ( Is_1d_I ) Ptr1d_I => NULL() IF ( Is_2d_8 ) Ptr2d_8 => NULL() IF ( Is_2d_4 ) Ptr2d_4 => NULL() IF ( Is_2d_I ) Ptr2d_I => NULL() IF ( Is_3d_8 ) Ptr3d_8 => NULL() IF ( Is_3d_4 ) Ptr3d_4 => NULL() IF ( Is_3d_I ) Ptr3d_I => NULL() !======================================================================= ! Search for the specified field in the Registry !======================================================================= ! Point to head of linked list Current => Registry if (.not. ASSOCIATED( Current ) .and. am_I_Root) & WRITE(*,*) ' Registry head not associated.' ! As long as this entry of the linked list isn't NULL DO WHILE( ASSOCIATED( Current ) ) ! Construct a hash for the full name of this REGISTRY ITEM ItemHash = RegDict%Get( TRIM( Current%Item%FullName ) ) ! If the name-hashes match (and are not missing data "-1") IF ( FullHash == ItemHash .and. ItemHash > 0 ) THEN ! Return rank, units and memory usage, etc. if found IF ( Is_Description ) Description = Current%Item%Description IF ( Is_SrcKindVal ) Source_KindVal = Current%Item%Source_KindVal IF ( Is_OutKindVal ) Output_KindVal = Current%Item%Output_KindVal IF ( Is_MemoryInKb ) MemoryInKb = Current%Item%MemoryInKb IF ( Is_Rank ) Rank = Current%Item%Rank IF ( Is_Units ) Units = Current%Item%Units If ( Is_OnLevelEdges ) OnLevelEdges = Current%Item%OnLevelEdges ! Then return a pointer to the field SELECT CASE( Current%Item%Rank ) ! Return the appropriate 3D DATA POINTER (and dimensions) CASE( 3 ) IF ( Current%Item%Source_KindVal == KINDVAL_F8 ) THEN IF ( Is_3d_8 ) THEN Ptr3d_8 => Current%Item%Ptr3d_8 Found = .TRUE. IF ( Is_Dimensions ) THEN DO N = 1, Current%Item%Rank Dimensions(N) = SIZE( Ptr3d_8, N ) ENDDO ENDIF ENDIF EXIT ELSE IF ( Current%Item%Source_KindVal == KINDVAL_F4 ) THEN IF ( Is_3d_4 ) THEN Ptr3d_4 => Current%Item%Ptr3d_4 Found = .TRUE. IF ( Is_Dimensions ) THEN DO N = 1, Current%Item%Rank Dimensions(N) = SIZE( Ptr3d_4, N ) ENDDO ENDIF ENDIF EXIT ELSE IF ( Current%Item%Source_KindVal == KINDVAL_I4 ) THEN IF ( Is_3d_I ) THEN Ptr3d_I => Current%Item%Ptr3d_I Found = .TRUE. IF ( Is_Dimensions ) THEN DO N = 1, Current%Item%Rank Dimensions(N) = SIZE( Ptr3d_I, N ) ENDDO ENDIF ENDIF EXIT ENDIF ! Return the appropriate 2D DATA POINTER (and dimensions) CASE( 2 ) IF ( Current%Item%Source_KindVal == KINDVAL_F8 ) THEN IF ( Is_2d_8 ) THEN Ptr2d_8 => Current%Item%Ptr2d_8 Found = .TRUE. IF ( Is_Dimensions ) THEN DO N = 1, Current%Item%Rank Dimensions(N) = SIZE( Ptr2d_8, N ) ENDDO ENDIF ENDIF EXIT ELSE IF ( Current%Item%Source_KindVal == KINDVAL_F4 ) THEN IF ( Is_2d_4 ) THEN Ptr2d_4 => Current%Item%Ptr2d_4 Found = .TRUE. IF ( Is_Dimensions ) THEN DO N = 1, Current%Item%Rank Dimensions(N) = SIZE( Ptr2d_4, N ) ENDDO ENDIF ENDIF EXIT ELSE IF ( Current%Item%Source_KindVal == KINDVAL_I4 ) THEN IF ( Is_2d_I ) THEN Ptr2d_I => Current%Item%Ptr2d_I Found = .TRUE. IF ( Is_Dimensions ) THEN DO N = 1, Current%Item%Rank Dimensions(N) = SIZE( Ptr2d_I, N ) ENDDO ENDIF ENDIF EXIT ENDIF ! Return the appropriate 1D DATA POINTER (and dimensions) CASE( 1 ) IF ( Current%Item%Source_KindVal == KINDVAL_F8 ) THEN IF ( Is_1d_8 ) THEN Ptr1d_8 => Current%Item%Ptr1d_8 Found = .TRUE. IF ( Is_Dimensions ) THEN DO N = 1, Current%Item%Rank Dimensions(N) = SIZE( Ptr1d_8, N ) ENDDO ENDIF ENDIF EXIT ELSE IF ( Current%Item%Source_KindVal == KINDVAL_F4 ) THEN IF ( Is_1d_4 ) THEN Ptr1d_4 => Current%Item%Ptr1d_4 Found = .TRUE. IF ( Is_Dimensions ) THEN DO N = 1, Current%Item%Rank Dimensions(N) = SIZE( Ptr1d_4, N ) ENDDO ENDIF ENDIF EXIT ELSE IF ( Current%Item%Source_KindVal == KINDVAL_I4 ) THEN IF ( Is_1d_I ) THEN Ptr1d_I => Current%Item%Ptr1d_I Found = .TRUE. IF ( Is_Dimensions ) THEN DO N = 1, Current%Item%Rank Dimensions(N) = SIZE( Ptr1d_I, N ) ENDDO ENDIF ENDIF EXIT ENDIF ! Return the appropriate 0D DATA POINTER (and dimensions) CASE( 0 ) IF ( Current%Item%Source_KindVal == KINDVAL_F8 ) THEN IF ( Is_0d_8 ) THEN Ptr0d_8 => Current%Item%Ptr0d_8 Found = .TRUE. IF ( Is_Dimensions ) Dimensions = 0 ENDIF EXIT ELSE IF ( Current%Item%Source_KindVal == KINDVAL_F4 ) THEN IF ( Is_0d_4 ) THEN Ptr0d_4 => Current%Item%Ptr0d_4 Found = .TRUE. IF ( Is_Dimensions ) Dimensions = 0 ENDIF EXIT ELSE IF ( Current%Item%Source_KindVal == KINDVAL_I4 ) THEN IF ( Is_0d_I ) THEN Ptr0d_I => Current%Item%Ptr0d_I Found = .TRUE. IF ( Is_Dimensions ) Dimensions = 0 ENDIF EXIT ENDIF ! Error message CASE DEFAULT ErrMsg = 'Pointer to data was not passed from calling routine!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN END SELECT ENDIF ! Point to next node for next iteration Current => Current%Next ENDDO !======================================================================= ! Cleanup and quit !======================================================================= 999 CONTINUE ! Free pointer Current => NULL() ! Throw an error if not found IF ( .not. Found ) RC = GC_FAILURE END SUBROUTINE Registry_Lookup !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Registry_Print ! ! !DESCRIPTION: Prints each REGISTRY ITEM belonging to a METAREGISTRY ITEM. ! In other words, this prints information about each field contained within ! a module. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Registry_Print( Input_Opt, Registry, RC, ShortFormat ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE ErrCode_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object LOGICAL, OPTIONAL :: ShortFormat ! Print less information ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetaRegItem), POINTER :: Registry ! Registry of state fields ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 23 Jun 2017 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: Use_ShortFormat ! Strings CHARACTER(LEN=1) :: CellPos CHARACTER(LEN=255) :: ErrMsg, ThisLoc ! Objects TYPE(MetaRegItem), POINTER :: Current TYPE(RegItem ), POINTER :: Item !======================================================================= ! Initialize !======================================================================= ! Only print information if (1) we are on the root CPU; ! and (2) if debug printout has been selected. IF ( .not. ( Input_Opt%amIRoot .and. Input_Opt%Verbose ) ) RETURN ! Initialize fields RC = GC_SUCCESS CellPos = '' ErrMsg = '' ThisLoc = ' -> at Registry_Print (in Headers/registry_mod.F90)' Current => NULL() Item => NULL() ! Save the value of ShortFormat (if passed) in a shadow variable IF ( PRESENT( ShortFormat ) ) THEN Use_ShortFormat = ShortFormat ELSE Use_ShortFormat = .FALSE. ENDIF !======================================================================= ! Print information about each state field stored in the Registry !======================================================================= ! Point to the head node of the Registry Current => Registry ! As long as the current node isn't NULL DO WHILE( ASSOCIATED( Current ) ) ! Get the REGISTRY ITEM belonging to this node of the Registry Item => Current%Item ! Only print on the root CPU IF ( ASSOCIATED( Item ) ) THEN IF ( Use_ShortFormat ) THEN !-------------------------------------------------------------- ! Just print the name, description, dimension, and units !-------------------------------------------------------------- ! Denote if 3-D data is defined on level edges (E) or centers (C) IF ( Item%Rank == 3 ) THEN IF ( Item%OnLevelEdges ) THEN CellPos = 'E' ELSE CellPos = 'C' ENDIF ELSE CellPos = '' ENDIF ! Print information WRITE( 6, 100 ) Item%FullName, Item%Description, & Item%DimNames, CellPos, & TRIM( Item%Units ) 100 FORMAT( 1x, a30, ' | ', a20, ' | ', a3, ' ', a1, ' | ', a ) ELSE !-------------------------------------------------------------- ! Print full information about this REGISTRY ITEM !-------------------------------------------------------------- ! Print identifying information PRINT*, REPEAT( '-', 70 ) PRINT*, 'FullName : ', TRIM( Item%FullName ) PRINT*, 'State : ', TRIM( Item%State ) PRINT*, 'Variable : ', TRIM( Item%Variable ) PRINT*, 'Description : ', TRIM( Item%Description ) PRINT*, 'Units : ', TRIM( Item%Units ) PRINT*, 'Dim Names : ', TRIM( Item%DimNames ) PRINT*, 'Source KIND : ', Item%Source_KindVal PRINT*, 'Output KIND : ', Item%Output_KindVal PRINT*, 'Memory (Kb) : ', Item%MemoryInKb PRINT*, 'Rank of data : ', Item%Rank, '(', Item%DimNames, ')' PRINT*, 'On Edges? : ', Item%OnLevelEdges !-------------- ! 3D data !-------------- ! 8-byte IF ( ASSOCIATED( Item%Ptr3d_8 ) ) THEN PRINT*, 'Min value : ', MINVAL( Item%Ptr3d_8 ) PRINT*, 'Max value : ', MAXVAL( Item%Ptr3d_8 ) PRINT*, 'Total : ', SUM ( Item%Ptr3d_8 ) PRINT*, 'Dimensions : ', SIZE ( Item%Ptr3d_8, 1 ), & SIZE ( Item%Ptr3d_8, 2 ), & SIZE ( Item%Ptr3d_8, 3 ) ! 4-byte ELSE IF ( ASSOCIATED( Item%Ptr3d_4 ) ) THEN PRINT*, 'Min value : ', MINVAL( Item%Ptr3d_4 ) PRINT*, 'Max value : ', MAXVAL( Item%Ptr3d_4 ) PRINT*, 'Total : ', SUM ( Item%Ptr3d_4 ) PRINT*, 'Dimensions : ', SIZE ( Item%Ptr3d_4, 1 ), & SIZE ( Item%Ptr3d_4, 2 ), & SIZE ( Item%Ptr3d_4, 3 ) ! Integer ELSE IF ( ASSOCIATED( Item%Ptr3d_I ) ) THEN PRINT*, 'Min value : ', MINVAL( Item%Ptr3d_I ) PRINT*, 'Max value : ', MAXVAL( Item%Ptr3d_I ) PRINT*, 'Total : ', SUM ( Item%Ptr3d_I ) PRINT*, 'Dimensions : ', SIZE ( Item%Ptr3d_I, 1 ), & SIZE ( Item%Ptr3d_I, 2 ), & SIZE ( Item%Ptr3d_I, 3 ) !-------------- ! 2D data !-------------- ! 8-byte ELSE IF ( ASSOCIATED( Item%Ptr2d_8 ) ) THEN PRINT*, 'Min value : ', MINVAL( Item%Ptr2d_8 ) PRINT*, 'Max value : ', MAXVAL( Item%Ptr2d_8 ) PRINT*, 'Total : ', SUM ( Item%Ptr2d_8 ) PRINT*, 'Dimensions : ', SIZE ( Item%Ptr2d_8, 1 ), & SIZE ( Item%Ptr2d_8, 2 ) ! 4-byte ELSE IF ( ASSOCIATED( Item%Ptr2d_4 ) ) THEN PRINT*, 'Min value : ', MINVAL( Item%Ptr2d_4 ) PRINT*, 'Max value : ', MAXVAL( Item%Ptr2d_4 ) PRINT*, 'Total : ', SUM ( Item%Ptr2d_4 ) PRINT*, 'Dimensions : ', SIZE ( Item%Ptr2d_4, 1 ), & SIZE ( Item%Ptr2d_4, 2 ) ! Integer ELSE IF ( ASSOCIATED( Item%Ptr2d_I ) ) THEN PRINT*, 'Min value : ', MINVAL( Item%Ptr2d_I ) PRINT*, 'Max value : ', MAXVAL( Item%Ptr2d_I ) PRINT*, 'Total : ', SUM ( Item%Ptr2d_I ) PRINT*, 'Dimensions : ', SIZE ( Item%Ptr2d_I, 1 ), & SIZE ( Item%Ptr2d_I, 2 ) !-------------- ! 1D data !-------------- ! 8-byte ELSE IF ( ASSOCIATED( Item%Ptr1d_8 ) ) THEN PRINT*, 'Min value : ', MINVAL( Item%Ptr1d_8 ) PRINT*, 'Max value : ', MAXVAL( Item%Ptr1d_8 ) PRINT*, 'Total : ', SUM ( Item%Ptr1d_8 ) PRINT*, 'Dimensions : ', SIZE ( Item%Ptr1d_8 ) ! 4-byte ELSE IF ( ASSOCIATED( Item%Ptr1d_4 ) ) THEN PRINT*, 'Min value : ', MINVAL( Item%Ptr1d_4 ) PRINT*, 'Max value : ', MAXVAL( Item%Ptr1d_4 ) PRINT*, 'Total : ', SUM ( Item%Ptr1d_4 ) PRINT*, 'Dimensions : ', SIZE ( Item%Ptr1d_4 ) ! Integer ELSE IF ( ASSOCIATED( Item%Ptr1d_I ) ) THEN PRINT*, 'Min value : ', MINVAL( Item%Ptr1d_I ) PRINT*, 'Max value : ', MAXVAL( Item%Ptr1d_I ) PRINT*, 'Total : ', SUM ( Item%Ptr1d_I ) PRINT*, 'Dimensions : ', SIZE ( Item%Ptr1d_I ) !-------------- ! 0D data !-------------- ! 8-byte precision ELSE IF ( ASSOCIATED( Item%Ptr0d_8 ) ) THEN PRINT*, 'Value : ', Item%Ptr0d_8 ! 4-byte ELSE IF ( ASSOCIATED( Item%Ptr0d_4 ) ) THEN PRINT*, 'Value : ', Item%Ptr0d_4 ! Integer ELSE IF ( ASSOCIATED( Item%Ptr0d_I ) ) THEN PRINT*, 'Value : ', Item%Ptr0d_I ENDIF ENDIF ENDIF ! Point to next node of the Registry Current => Current%Next ENDDO !======================================================================= ! Cleanup and quit !======================================================================= Current => NULL() Item => NULL() END SUBROUTINE Registry_Print !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Registry_Set_LookupTable ! ! !DESCRIPTION: Defines the lookup table for registry items, using the ! dictionary_m algorithm. This will avoid hash collisions. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Registry_Set_LookupTable( Registry, RegDict, RC ) ! ! !USES: ! USE Dictionary_M USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT PARAMETERS: ! TYPE(MetaRegItem), POINTER :: Registry ! Registry of state fields ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(dictionary_t), INTENT(INOUT) :: RegDict ! Registry lookup table ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure?! ! ! !REVISION HISTORY: ! 07 Apr 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: index INTEGER :: nDiags ! Strings CHARACTER(LEN=255) :: errMsg CHARACTER(LEN=255) :: thisLoc ! Objects TYPE(MetaRegItem), POINTER :: current !======================================================================= ! Registry_Set_LookupTable begins here! !======================================================================= ! Initialize RC = GC_SUCCESS index = 0 nDiags = 0 errMsg = '' thisLoc = & ' -> at Registry_Set_LookupTable (in module Headers/registry_mod.F90)' !----------------------------------------------------------------------- ! First find out how many diagnostics have been registered ! so that we can initialize the lookup table accordingly. !----------------------------------------------------------------------- current => Registry DO WHILE( ASSOCIATED( current ) ) IF ( ASSOCIATED( current%Item ) ) THEN nDiags = nDiags + 1 ENDIF current => current%next ENDDO current => NULL() ! Initialize the lookup table CALL RegDict%Init( nDiags ) !----------------------------------------------------------------------- ! Then populate the lookup table with the index with which each ! diagnostic is found in the list. NOTE: Registry names are ! already uppercase, so no need to convert again. !----------------------------------------------------------------------- current => Registry DO WHILE( ASSOCIATED( current ) ) IF ( ASSOCIATED( current%Item ) ) THEN index = index + 1 CALL RegDict%Set( TRIM( current%Item%fullName ), index ) ENDIF current => current%next ENDDO current => NULL() END SUBROUTINE Registry_Set_LookupTable !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Registry_Destroy ! ! !DESCRIPTION: Destroys a METAREGISTRY ITEM (i.e. a linked list of REGISTRY ! ITEMS), each of which contains information (i.e. metadata, plus a pointer ! to the data source) for a field contained within a module. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Registry_Destroy( Registry, RegDict, RC ) ! ! !USES: ! USE Dictionary_M USE ErrCode_Mod ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetaRegItem), POINTER :: Registry ! Registry of state fields TYPE(dictionary_t) :: RegDict ! Registry lookup table ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 23 Jun 2017 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc !======================================================================= ! Initialize !======================================================================= RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Registry_Destroy (in Headers/registry_mod.F90)' !======================================================================= ! Destroy each REGISTRY ITEM contained in the registry, ! then destroy the registry itself. !======================================================================= CALL MetaRegItem_Destroy( Registry, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not destroy the registry object!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !======================================================================= ! Destroy the lookup table for this registry !======================================================================= CALL RegDict%Destroy() END SUBROUTINE Registry_Destroy !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: MetaRegItem_AddNew ! ! !DESCRIPTION: Wrapper for methods MetaRegItem\_Create and ! MetaRegItem\_Insert. Will create a METAREGISTRY ITEM (containing a ! REGISTRY ITEM) and (1) set it as the head node of a new linked list, or ! (2) append it to an existing linked list. !\\ !\\ ! !INTERFACE: ! SUBROUTINE MetaRegItem_AddNew( Input_Opt, Node, Item, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(RegItem), POINTER :: Item ! REGISTRY ITEM object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetaRegItem), POINTER :: Node ! METAREGISTRY ITEM object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REVISION HISTORY: ! 23 Jun 2017 - R. Yantosca - Initial version, based on code by Arjen Markus ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc !======================================================================= ! Initialize !======================================================================= RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at MetaRegItem_AddNew (in Headers/registry_mod.F90)' !======================================================================= ! Test if the METAREGISTRY ITEM (aka "Node") has been allocated memory ! and is therefore part of an existing linked list !======================================================================= IF ( .not. ASSOCIATED( Node ) ) THEN !-------------------------------------------------------------------- ! If not, then create a new METAREGISTRY ITEM (named "Node"), ! and set it at the head of a new linked list !-------------------------------------------------------------------- CALL MetaRegItem_Create( Input_Opt, Node, Item, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not create "Node" as the head node of a list!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ELSE !-------------------------------------------------------------------- ! Otherwise, create a new METAREGISTRY ITEM (named "Node"), ! and append it to the list, immediately following the head node !-------------------------------------------------------------------- CALL MetaRegItem_Insert( Input_Opt, Node, Item, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not insert "Node" into an existing linked list!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF END SUBROUTINE MetaRegItem_AddNew !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: MetaRegItem_Create ! ! !DESCRIPTION: This method creates a new METAREGISTRY ITEM (to contain the ! supplied REGISTRY ITEM) and sets it as the head node of a linked list. !\\ !\\ ! !INTERFACE: ! SUBROUTINE MetaRegItem_Create( Input_Opt, Node, Item, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(RegItem), POINTER :: Item ! REGISTRY ITEM object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetaRegItem), POINTER :: Node ! METAREGISTRY ITEM object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REMARKS: ! This method is not intended to be called directly, but is rather ! wrapped by the MetaRegItem_AddNew method. ! ! !REVISION HISTORY: ! 23 Jun 2017 - R. Yantosca - Initial version, based on code by Arjen Markus ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc !======================================================================= ! Initialize !======================================================================= RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at MetaRegItem_Create (in Headers/registry_mod.F90)' !======================================================================= ! Initialize the METAREGISTRY ITEM itself !======================================================================= ! Allocate memory ALLOCATE( Node, STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not allocate "Node"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Nullify the pointer to the next node (it doesn't exist yet) Node%Next => NULL() !======================================================================= ! Initialize the field that will store the REGISTRY ITEM !======================================================================= ! Because this is the first METAREGISTRY ITEM that is being created, ! we can consider this to be the head node of a linked list. IF ( .not. ASSOCIATED( Node%Item ) ) THEN ALLOCATE( Node%Item, STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not allocate "Node%Item"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF ! Attach the given REGISTRY ITEM to the METAREGISTRY ITEM ! (i.e. place it into the head node of a linked list) Node%Item = Item END SUBROUTINE MetaRegItem_Create !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: MetaRegItem_Insert ! ! !DESCRIPTION: Creates a new METAREGISTRY ITEM (to contain the supplied ! REGISTRY ITEM), and pops it into an existing linked list, immediately ! following the head node. !\\ !\\ ! !INTERFACE: ! SUBROUTINE MetaRegItem_Insert( Input_Opt, Node, Item, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(RegItem), POINTER :: Item ! REGISTRY ITEM object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetaRegItem), POINTER :: Node ! METAREGISTRY ITEM object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REMARKS: ! This method is not intended to be called directly, but is rather ! wrapped by the MetaRegItem_AddNew method. ! ! !REVISION HISTORY: ! 23 Jun 2017 - R. Yantosca - Initial version, based on code by Arjen Markus ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc ! Objects TYPE(MetaRegItem), POINTER :: Head !======================================================================= ! Initialize !======================================================================= RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at MetaRegItem_Insert (in Headers/registry_mod.F90)' !======================================================================= ! Initialize a METAREGISTRY ITEM named "Next", which will be inserted ! into the existing list. "Next" will contain a new REGISTRY ITEM. !======================================================================= ! Allocate the "Head" object ALLOCATE( Head, STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not allocate "Next"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Allocate the "Head%Item" field, which will hold the REGISTRY ITEM ALLOCATE( Head%Item, STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not allocate "Head%Item"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !======================================================================= ! Insert "Head" at the start of the existing linked list !======================================================================= ! Save the REGISTRY ITEM argument in the "Item" field of "Head" Head%Item = Item ! The "Next" field of "Head" points to the current head of the list Head%Next => Node ! Set "Head" as the new head of the linked list Node => Head END SUBROUTINE MetaRegItem_Insert !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: MetaRegItem_Destroy ! ! !DESCRIPTION: This method will destroy the REGISTRY ITEM belonging to ! each METAREGISTRY ITEM (aka node) of a linked list. It will then destroy ! each METAREGISTRY ITEM itself. !\\ !\\ ! !INTERFACE: ! SUBROUTINE MetaRegItem_Destroy( List, RC ) ! ! !USES: ! USE ErrCode_Mod ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetaRegItem), POINTER :: List ! List of METAREGISTRY ITEMS ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 23 Jun 2017 - R. Yantosca - Initial version, based on code by Arjen Markus ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc ! Objects TYPE(MetaRegItem), POINTER :: Current, Node !======================================================================= ! Initialize !======================================================================= RC = GC_SUCCESS Current => NULL() Node => NULL() ErrMsg = '' ThisLoc = ' -> at MetaRegItem_Destroy (in Headers/registry_mod.F90)' !======================================================================= ! Destroy each METAREGISTRY ITEM in the linked list !======================================================================= ! Point to the first METAREGISTRY ITEM (aka node) in the list Node => List ! As long as it doesn't point to NULL() DO WHILE ( ASSOCIATED( Node ) ) ! Set the CURRENT pointer to the current METAREGISTRY ITEM Current => Node ! Free 8-byte data pointers in this REGISTRY ITEM Current%Item%Ptr0d_8 => NULL() Current%Item%Ptr1d_8 => NULL() Current%Item%Ptr2d_8 => NULL() Current%Item%Ptr3d_8 => NULL() ! Free 4-byte data pointers in this REGISTRY ITEM Current%Item%Ptr0d_4 => NULL() Current%Item%Ptr1d_4 => NULL() Current%Item%Ptr2d_4 => NULL() Current%Item%Ptr3d_4 => NULL() ! Free integer data pointers in this REGISTRY ITEM Current%Item%Ptr0d_I => NULL() Current%Item%Ptr1d_I => NULL() Current%Item%Ptr2d_I => NULL() Current%Item%Ptr3d_I => NULL() ! Destroy the REGISTRY ITEM itself #if defined( ESMF_ ) IF ( ASSOCIATED( Current%Item ) ) NULLIFY( Current%Item ) #else IF ( ASSOCIATED( Current%Item ) ) DEALLOCATE( Current%Item ) #endif ! Point to the next METAREGISTRY ITEM for the next iteration Node => Current%Next ! And destroy the current METAREGISTRY ITEM in the list DEALLOCATE( Current, STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot deallocate the "Current" METAREGISTRY ITEM!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDDO !======================================================================= ! Cleanup and quit !======================================================================= Current => NULL() Node => NULL() END SUBROUTINE MetaRegItem_Destroy !EOC END MODULE Registry_Mod ================================================ FILE: Headers/registry_params_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: registry_params_mod.F90 ! ! !DESCRIPTION: Contains parameters that are used to denote the types ! of pointers arrays (e.g. REAL(fp), REAL(f4), INTEGER) used in the ! GEOS-Chem Registry and History routines, as well as the vertical ! location. !\\ !\\ ! !INTERFACE: ! MODULE Registry_Params_Mod ! ! !USES: ! USE Precision_Mod IMPLICIT NONE ! ! !DEFINED PARAMETERS: ! !========================================================================== ! Numerical type parameters used in registering & comparing variables !========================================================================== INTEGER, PUBLIC, PARAMETER :: KINDVAL_I4 = 0 ! 4-byte integer INTEGER, PUBLIC, PARAMETER :: KINDVAL_F4 = 1 ! 4-byte real INTEGER, PUBLIC, PARAMETER :: KINDVAL_F8 = 2 ! 8-byte real #ifdef USE_REAL8 INTEGER, PUBLIC, PARAMETER :: KINDVAL_FP = KINDVAL_F8 ! Flex = 8-byte real #else INTEGER, PUBLIC, PARAMETER :: KINDVAL_FP = KINDVAL_F4 ! Flex = 4-byte real #endif !========================================================================== ! Vertical location parameters !========================================================================== INTEGER, PUBLIC, PARAMETER :: VLocationNone = 0 INTEGER, PUBLIC, PARAMETER :: VLocationEdge = 1 INTEGER, PUBLIC, PARAMETER :: VLocationCenter = 2 ! ! !REVISION HISTORY: ! 14 Jul 2017 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC END MODULE Registry_Params_Mod !EOC ================================================ FILE: Headers/roundoff_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: roundoff_mod.F90 ! ! !DESCRIPTION: Contains routines to round floating point values to a ! given number of decimal places. !\\ !\\ ! !INTERFACE: ! MODULE Roundoff_Mod ! ! !USES: ! USE Precision_Mod IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: Cast_and_RoundOff INTERFACE Cast_and_RoundOff MODULE PROCEDURE Cast_and_RoundOff_Real2Dble MODULE PROCEDURE Cast_and_RoundOff_Str2Flex END INTERFACE PUBLIC :: Roundoff INTERFACE RoundOff MODULE PROCEDURE RoundOff_Real MODULE PROCEDURE RoundOff_Dble END INTERFACE ! !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! NASA/GSFC, Global Modeling and Assimilation Office, Code 910.1 and ! ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: RoundOff_Real ! ! !DESCRIPTION: Rounds a number X to N decimal places of precision. !\\ !\\ ! !INTERFACE: ! FUNCTION RoundOff_Real( X, N ) RESULT( Y ) ! ! !INPUT PARAMETERS: ! REAL(f4), INTENT(IN) :: X ! Number to be rounded INTEGER, INTENT(IN) :: N ! Number of decimal places to keep ! ! !RETURN VALUE: ! REAL(f4) :: Y ! Number rounded to N decimal places ! ! !REMARKS: ! The algorithm to round X to N decimal places is as follows: ! (1) Multiply X by 10**(N+1) ! (2) If X < 0, then add -5 to X; otherwise add 5 to X ! (3) Round X to nearest integer ! (4) Divide X by 10**(N+1) ! (5) Truncate X to N decimal places: INT( X * 10**N ) / 10**N ! . ! Rounding algorithm from: Hultquist, P.F, "Numerical Methods for Engineers ! and Computer Scientists", Benjamin/Cummings, Menlo Park CA, 1988, p. 20. ! . ! Truncation algorithm from: http://en.wikipedia.org/wiki/Truncation ! . ! The two algorithms have been merged together for efficiency. !EOP !------------------------------------------------------------------------------ !BOC ! Round and truncate X to N decimal places Y = INT( NINT( X*(10.0_f4**(N+1)) + SIGN( 5.0_f4, X ) ) / 10.0_f4 ) / (10.0_f4**N) END FUNCTION RoundOff_Real !EOC !------------------------------------------------------------------------------ ! NASA/GSFC, Global Modeling and Assimilation Office, Code 910.1 and ! ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: RoundOff_Dble ! ! !DESCRIPTION: Rounds a number X to N decimal places of precision. !\\ !\\ ! !INTERFACE: ! FUNCTION RoundOff_Dble( X, N ) RESULT( Y ) ! ! !INPUT PARAMETERS: ! REAL(f8), INTENT(IN) :: X ! Number to be rounded INTEGER, INTENT(IN) :: N ! Number of decimal places to keep ! ! !RETURN VALUE: ! REAL(f8) :: Y ! Number rounded to N decimal places ! ! !REMARKS: ! The algorithm to round X to N decimal places is as follows: ! (1) Multiply X by 10**(N+1) ! (2) If X < 0, then add -5 to X; otherwise add 5 to X ! (3) Round X to nearest integer ! (4) Divide X by 10**(N+1) ! (5) Truncate X to N decimal places: INT( X * 10**N ) / 10**N ! . ! Rounding algorithm from: Hultquist, P.F, "Numerical Methods for Engineers ! and Computer Scientists", Benjamin/Cummings, Menlo Park CA, 1988, p. 20. ! . ! Truncation algorithm from: http://en.wikipedia.org/wiki/Truncation ! . ! The two algorithms have been merged together for efficiency. !EOP !------------------------------------------------------------------------------ !BOC ! Round and truncate X to N decimal places Y = INT( NINT( X*(10.0_f8**(N+1)) + SIGN( 5.0_f8, X ) ) / 10.0_f8 ) / (10.0_f8**N) END FUNCTION RoundOff_Dble !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: cast_and_roundoff_real2dble ! ! !DESCRIPTION: Casts a 4-byte variable to 8-byte, and then rounds off ! to a specified number of decimal places. !\\ !\\ ! !INTERFACE: ! FUNCTION Cast_and_RoundOff_Real2Dble( v_real, places ) RESULT( v_dble ) ! ! !INPUT PARAMETERS: ! REAL(f4), INTENT(IN) :: v_real ! Input, 4-byte real INTEGER, INTENT(IN) :: places ! Keep this many decimal places ! ! !RETURN VALUE: ! REAL(f8) :: v_dble ! Output, 8-byte real !EOP !------------------------------------------------------------------------------ !BOC ! If v_real is a missing value, return with 8-byte missing value IF ( v_real == MISSING_REAL ) THEN v_dble = MISSING_DBLE RETURN ENDIF ! Cast to real*8 and roundoff (if the number isn't too large) v_dble = DBLE( v_real ) IF ( places > 0 ) THEN v_dble = RoundOff( v_dble, places ) ENDIF END FUNCTION Cast_And_RoundOff_Real2Dble !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: cast_and_roundoff_str2flex ! ! !DESCRIPTION: Converts a string value to a flexible precision value and ! rounds off to a specified number of places. If the string value indicates ! missing data, set the flex-precision value to missing data. !\\ !\\ ! !INTERFACE: ! FUNCTION Cast_and_RoundOff_Str2Flex( v_str, places ) RESULT( v_flex ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: v_str ! String value INTEGER, INTENT(IN) :: places ! Keep this many decimal places ! -1 skips rounding off ! ! !RETURN VALUE: ! REAL(fp) :: v_flex ! Flex precision value !EOP !------------------------------------------------------------------------------ !BOC ! If v_str is the missing data value, then assign ! the missing data value to v_real and return IF ( TRIM( v_str ) == MISSING_STR ) THEN v_flex = MISSING RETURN ENDIF ! Convert str to real, and roundoff if places > 0 READ( v_str, * ) v_flex IF ( places > 0 ) THEN v_flex = RoundOff( v_flex, places ) ENDIF END FUNCTION Cast_and_RoundOff_Str2Flex !EOC END MODULE Roundoff_Mod ================================================ FILE: Headers/species_database_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: species_database_mod.F90 ! ! !DESCRIPTION: Module SPECIES\_DATABASE\_MOD contains routines to set up ! a database object containing physical properties for each GEOS-Chem ! species. This allows us to consolidate all species properties into a ! single data structure, for convenience. !\\ !\\ ! !INTERFACE: ! MODULE Species_Database_Mod ! ! !USES: ! USE Precision_Mod IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: Init_Species_Database PUBLIC :: Cleanup_Species_Database #if defined ( EXTERNAL_GRID ) || defined( EXTERNAL_FORCING ) !----------------------------------------------------------------- ! %%%%%%% GEOS-Chem HP (with ESMF & MPI) %%%%%%% ! ! Cleanup routines for restoring the internal state of this ! module are exposed, so the DB can be reset from an external ! interface to perform multiple initializations of ! chemistry states. (hplin, 6/4/18) !----------------------------------------------------------------- PUBLIC :: Cleanup_Work_Arrays #endif ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: TranUc ! ! !REVISION HISTORY: ! 28 Aug 2015 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! Work array to hold the list of species names, which combines the advected ! species from geoschem_config.yml with the KPP species names (and removes ! duplicates) CHARACTER(LEN=31), ALLOCATABLE :: Species_Names(:) ! Work array to hold the list of all KPP species indices ! (Non-KPP species are given missing values) INTEGER, ALLOCATABLE :: KppSpcId(:) ! Work array to hold the list of KPP fixed species indices ! (Non-KPP species are given missing values) INTEGER, ALLOCATABLE :: KppFixId(:) ! Work array to hold the unique list of KPP variable species indices ! (Non-KPP species are given missing values) INTEGER, ALLOCATABLE :: KppVarId(:) CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_Species_Database ! ! !DESCRIPTION: Initializes the GEOS-Chem Species database from ! YAML file format input. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_Species_Database( Input_Opt, SpcData, SpcCount, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE QFYAML_Mod USE RoundOff_Mod, ONLY : Cast_and_Roundoff USE Species_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(SpcPtr), POINTER :: SpcData(:) ! Species database object TYPE(SpcIndCt), INTENT(INOUT) :: SpcCount ! Species index counters ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success/failure ! ! !REMARKS: ! Uses the QFYAML parser, see: https://github.com/yantosca/qfyaml ! ! !REVISION HISTORY: ! 23 Apr 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: found_dd_dvzaersnow_luo LOGICAL :: found_dd_dvzminval_luo LOGICAL :: found_henry_cr_luo LOGICAL :: found_henry_k0_luo LOGICAL :: found_wd_convfaci2g_luo LOGICAL :: found_wd_kcscalefac_luo LOGICAL :: found_wd_liqandgas_luo LOGICAL :: found_wd_rainouteff_luo LOGICAL :: found_wd_retfactor_luo LOGICAL :: no_luo LOGICAL :: v_bool LOGICAL :: wd_liqandgas_luo LOGICAL :: addSpc #ifdef JACOBIAN LOGICAL :: isJacobian #endif INTEGER :: v_int INTEGER :: nSpecies INTEGER :: I, N, S REAL(f4) :: v_real REAL(f4) :: dd_dvzaersnow_luo REAL(f4) :: henry_cr_luo REAL(f4) :: henry_k0_luo REAL(f4) :: wd_convfaci2g_luo REAL(f4) :: wd_retfactor_luo ! Strings CHARACTER(LEN=17) :: tag CHARACTER(LEN=31) :: modelSpcName CHARACTER(LEN=31) :: dbSpcName CHARACTER(LEN=255) :: v_str CHARACTER(LEN=255) :: key CHARACTER(LEN=255) :: thisLoc CHARACTER(LEN=512) :: errMsg ! Arrays REAL(f4) :: a_real_2(2) REAL(f4) :: a_real_3(3) REAL(f4) :: dd_dvzminval_luo(2) REAL(f4) :: wd_kcscalefac_luo(3) REAL(f4) :: wd_rainouteff_luo(3) ! String arrays CHARACTER(LEN=18) :: tags(67) CHARACTER(LEN=QFYAML_StrLen):: a_str(2) ! Objects TYPE(QFYAML_t) :: yml TYPE(Species), POINTER :: ThisSpc !======================================================================= ! Init_Species_Database begins here! !======================================================================= ! Initialize RC = GC_SUCCESS errMsg = "" thisLoc = & " -> at Init_Species_Database (in module Headers/species_database_mod.F90" ! Zero counters SpcCount%nAdvect = 0 SpcCount%nAeroSpc = 0 SpcCount%nDryAlt = 0 SpcCount%nDryDep = 0 SpcCount%nGasSpc = 0 SpcCount%nHygGrth = 0 SpcCount%nKppVar = 0 SpcCount%nKppFix = 0 SpcCount%nKppSpc = 0 SpcCount%nOmitted = 0 SpcCount%nPhotol = 0 SpcCount%nRadNucl = 0 SpcCount%nRealSpc = 0 SpcCount%nTracer = 0 SpcCount%nWetDep = 0 SpcCount%nHg0 = 0 SpcCount%nHg2 = 0 SpcCount%nHgP = 0 tags = (/"Background_VV ", & "DD_AeroDryDep ", & "DD_DustDryDep ", & "DD_DvzAerSnow ", & "DD_DvzAerSnow_Luo ", & "DD_DvzMinVal ", & "DD_DvzMinVal_Luo ", & "DD_F0 ", & "DD_Hstar ", & "DD_KOA ", & "Density ", & "Formula ", & "FullName ", & "Is_Aerosol ", & "Is_DryAlt ", & "Is_DryDep ", & "Is_Gas ", & "Is_HygroGrowth ", & "Is_Hg0 ", & "Is_Hg2 ", & "Is_HgP ", & "Is_Photolysis ", & "Is_RadioNuclide ", & "Is_Tracer ", & "Is_WetDep ", & "Henry_CR ", & "Henry_CR_Luo ", & "Henry_K0 ", & "Henry_K0_Luo ", & "Henry_pKa ", & "MP_SizeResAer ", & "MP_SizeResNum ", & "MW_g ", & "Radius ", & "Snk_Horiz ", & "Snk_Lats ", & "Snk_Mode ", & "Snk_Period ", & "Snk_Value ", & "Snk_Vert ", & "Src_Add ", & "Src_Horiz ", & "Src_Lats ", & "Src_Mode ", & "Src_Pressures ", & "Src_Units ", & "Src_Value ", & "Src_Vert ", & "Units ", & "WD_AerScavEff ", & "WD_CoarseAer ", & "WD_ConvFacI2G ", & "WD_ConvFacI2G_Luo ", & "WD_KcScaleFac ", & "WD_KcScaleFac_Luo ", & "WD_Is_H2SO4 ", & "WD_Is_HNO3 ", & "WD_Is_SO2 ", & "WD_Is_DSTbin ", & "WD_LiqAndGas ", & "WD_LiqAndGas_Luo ", & "WD_RainoutEff ", & "WD_RainoutEff_Luo ", & "WD_WashoutRainPara", & "WD_WashoutSnowPara", & "WD_RetFactor ", & "WD_RetFactor_Luo " /) !======================================================================= ! Store the list unique GEOS-Chem species names in work arrays for use ! below. This is the combined list of advected species (from ! geoschem_config.yml) plus KPP species (from SPC_NAMES in ! gckpp_Monitor.F90), with all duplicates removed. Also stores the ! corresponding indices in the KPP VAR and FIX arrays. For simulations ! that do not use KPP, the unique species list is the list of advected ! species from geoschem_config.yml. !======================================================================= CALL Unique_Species_Names( Input_Opt, nSpecies, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = "Could not determine species names!" CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Initialize the species database vector and ! set all tags for each species to missing values CALL SpcData_Init( Input_Opt, nSpecies, SpcData, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = "Could not initialize the species database object!" CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !======================================================================= ! Read the species metadata from YAML files into a QFYAML object !======================================================================= CALL Read_Species_Database( Input_Opt, yml, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in routine "Read_Species_Database"!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !======================================================================= ! Extract species metadata and store in the Species Database object !======================================================================= ! Loop over the number of species DO S = 1, nSpecies ! Species name. Name in model and name of species in specied database ! are allowed to differ if mapping is added below. modelSpcName = species_names(S) dbSpcName = species_names(S) #ifdef JACOBIAN ! Special name handling for Jacobian tracers. Assume format is ! {SPC}_jac0001, {SPC}_jac0002, etc. (8 character suffix) isJacobian = .FALSE. IF ( INDEX( modelSpcName,'_jac' ) > 0 ) THEN dbSpcName = modelSpcName(1:LEN(trim(modelSpcName))-8) IF ( Input_Opt%amIRoot ) & WRITE(*,*) "WARNING: Species ", TRIM(modelSpcName), & " will use species database properties for entry ", & TRIM(dbSpcName) isJacobian = .TRUE. ENDIF #endif ! Determine whether this species has already been read from the ! species database. If yes, then get the values rather than ! add and get. This enables reusing species database entries ! for other species. addSpc = .TRUE. N = S - SpcCount%nOmitted IF ( N > 1 ) THEN DO I = 1, N - 1 IF ( TRIM(SpcData(I)%Info%Name) == TRIM(dbSpcName) ) THEN AddSpc = .FALSE. EXIT ENDIF ENDDO ENDIF !-------------------------------------------------------------------- ! If the species is a "dummy" species (i.e. used for bookkeeping in ! KPP rxns), then flag it as such and skip to the next species !-------------------------------------------------------------------- v_bool = MISSING_BOOL key = TRIM( dbSpcName) // "%Is_Omitted" IF ( TRIM(dbSpcName) == TRIM(modelSpcName) ) THEN CALL QFYAML_Add_Get( yml, key, v_bool, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_bool, RC ) ENDIF IF ( v_bool ) THEN SpcCount%nOmitted = SpcCount%nOmitted + 1 CYCLE ENDIF !-------------------------------------------------------------------- ! Get pointer to species info and prepare to fill with species ! database info. Update number of species by subtracting updated ! SpcCount%nOmitted and use that as current species modelID. !-------------------------------------------------------------------- N = S - SpcCount%nOmitted ThisSpc => SpcData(N)%Info ThisSpc%ModelId = N ThisSpc%Name = TRIM( modelSpcName ) SpcCount%nRealSpc = SpcCount%nRealSpc + 1 !-------------------------------------------------------------------- ! Set the Is_Advected tag (check against Input_Opt%AdvecSpc list) !------------------------------------------------------------------- v_bool = ANY( Input_Opt%AdvectSpc_Name == modelSpcName ) IF ( v_bool ) THEN SpcCount%nAdvect = SpcCount%nAdvect + 1 ThisSpc%AdvectId = SpcCount%nAdvect ThisSpc%Is_Advected = v_bool ENDIF !-------------------------------------------------------------------- ! Set tags for species in the KPP mechanism !------------------------------------------------------------------- ! Is this species in the KPP mechanism? IF ( KppSpcId(S) > 0 ) THEN SpcCount%nKppSpc = SpcCount%nKppSpc + 1 ThisSpc%KppSpcId = KppSpcId(S) ENDIF ! Is this species an active KPP species? IF ( KppVarId(S) > 0 ) THEN SpcCount%nKppVar = SpcCount%nKppVar + 1 ThisSpc%KppVarId = KppVarId(S) ENDIF ! Is this species a fixed KPP species? IF ( KppFixId(S) > 0 ) THEN SpcCount%nKppFix = SpcCount%nKppFix + 1 ThisSpc%KppFixId = KppFixId(S) ENDIF ! Is the species part of the KPP chemical mechanism? ThisSpc%Is_Kpp = ( ThisSpc%KppVarId > 0 .or. ThisSpc%KppFixId > 0 ) ! Is the species an active or fixed species in the chemical mechanism? ThisSpc%Is_ActiveChem = ( ThisSpc%KppVarId > 0 .and. & ThisSpc%KppFixId <= 0 ) ThisSpc%Is_FixedChem = ( ThisSpc%KppFixId > 0 ) #ifdef JACOBIAN ! Is this a Jacobian species? ThisSpc%Is_JacobianTracer = isJacobian #endif !-------------------------------------------------------------------- ! Initialize found flags !------------------------------------------------------------------- found_dd_dvzaersnow_luo = .FALSE. found_dd_dvzminval_luo = .FALSE. found_henry_cr_luo = .FALSE. found_henry_k0_luo = .FALSE. found_wd_convfaci2g_luo = .FALSE. found_wd_kcscalefac_luo = .FALSE. found_wd_liqandgas_luo = .FALSE. found_wd_rainouteff_luo = .FALSE. found_wd_retfactor_luo = .FALSE. !-------------------------------------------------------------------- ! Loop over the remaining tags in the species database and ! copy values from the QFYAML object to the SpcData object !-------------------------------------------------------------------- DO N = 1, SIZE( tags ) ! Set intial values to default "missing" values ! If the tag isn't found for a given species, then ! it will be given the appropriate missing value. a_real_2 = MISSING_REAL a_real_3 = MISSING_REAL v_bool = MISSING_BOOL v_int = MISSING_INT v_real = MISSING_REAL v_str = MISSING_STR ! Create search key for each variable key = TRIM( dbSpcName) // '%' // TRIM( tags(N) ) ! Set a flag if "Luo" is not found in the key no_luo = ( INDEX( key, "Luo" ) <= 0 ) ! Save into the proper field of the species database ! NOTE: Attempt to round off values to 2 decimal places, ! unless the values can be either too large or too small ! for the roundoff algorithm. IF ( INDEX( key, "%Background_VV" ) > 0 ) THEN v_real = MISSING_VV IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_real, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_real, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%BackgroundVV = DBLE( v_real ) ! Don't round off ELSE IF ( INDEX( key, "%DD_AeroDryDep" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_bool, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_bool, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%DD_AeroDryDep = v_bool ELSE IF ( INDEX( key, "%DD_DustDryDep" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_bool, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_bool, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%DD_DustDryDep = v_bool ELSE IF ( INDEX( key, "%DD_DvzAerSnow" ) > 0 .and. no_luo ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_real, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_real, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%DD_DvzAerSnow = Cast_and_RoundOff( v_real, 2 ) ELSE IF ( INDEX( key, "%DD_DvzAerSnow_Luo" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_real, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_real, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 dd_dvzaersnow_luo = Cast_and_RoundOff( v_real, 2 ) IF ( dd_dvzaersnow_luo /= MISSING_REAL ) THEN found_dd_dvzaersnow_luo = .TRUE. ENDIF ELSE IF ( INDEX( key, "%DD_DvzMinVal" ) > 0 .and. no_luo ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, a_real_2, "", RC ) ELSE CALL QFYAML_Get( yml, key, a_real_2, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%DD_DvzMinVal(1) = Cast_and_RoundOff( a_real_2(1), 2 ) ThisSpc%DD_DvzMinVal(2) = Cast_and_RoundOff( a_real_2(2), 2 ) ELSE IF ( INDEX( key, "%DD_DvzMinVal_Luo" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, a_real_2, "", RC ) ELSE CALL QFYAML_Get( yml, key, a_real_2, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 dd_dvzminval_luo(1) = Cast_and_RoundOff( a_real_2(1), 2 ) dd_dvzminval_luo(2) = Cast_and_RoundOff( a_real_2(2), 2 ) IF ( dd_dvzminval_luo(1) /= MISSING_REAL ) THEN found_dd_dvzminval_luo = .TRUE. ENDIF ELSE IF ( INDEX( key, "%DD_F0" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_real, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_real, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%DD_F0 = DBLE( v_real ) ! Don't round off ELSE IF ( INDEX( key, "%DD_Hstar" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_real, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_real, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%DD_Hstar = DBLE( v_real ) ! Don't round off ELSE IF ( INDEX( key, "%DD_KOA" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_real, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_real, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%DD_KOA = DBLE( v_real ) ! Don't round off ELSE IF ( INDEX( key, "%Density" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_real, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_real, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%Density = Cast_and_RoundOff( v_real, 2 ) ELSE IF ( INDEX( key, "%Formula" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_str, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_str, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%Formula = TRIM( v_str ) ELSE IF ( INDEX( key, "%FullName" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_str, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_str, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%FullName = TRIM( v_str ) ELSE IF ( INDEX( key, "%Henry_CR" ) > 0 .and. no_luo ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_real, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_real, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%Henry_CR = DBLE( v_real ) ! Don't round off ELSE IF ( INDEX( key, "%Henry_CR_Luo" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_real, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_real, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 henry_cr_luo = DBLE( v_real ) ! Don't round off IF ( henry_cr_luo /= MISSING_REAL ) THEN found_henry_cr_luo = .TRUE. ENDIF ELSE IF ( INDEX( key, "%Henry_K0" ) > 0 .and. no_luo ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_real, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_real, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%Henry_K0 = DBLE( v_real ) ! Don't round off ELSE IF ( INDEX( key, "%Henry_K0_Luo" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_real, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_real, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 henry_k0_luo = DBLE( v_real ) ! Don't round off IF ( henry_k0_luo /= MISSING_REAL ) THEN found_henry_k0_luo = .TRUE. ENDIF ELSE IF ( INDEX( key, "%Is_Aerosol" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_bool, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_bool, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 IF ( v_bool ) THEN SpcCount%nAeroSpc = SpcCount%nAeroSpc + 1 ThisSpc%AerosolId = SpcCount%nAeroSpc ThisSpc%Is_Aerosol = v_bool ENDIF ELSE IF ( INDEX( key, "%Is_DryAlt" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_bool, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_bool, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 IF ( v_bool ) THEN SpcCount%nDryAlt = SpcCount%nDryAlt + 1 ThisSpc%DryAltId = SpcCount%nDryAlt ThisSpc%Is_DryAlt = v_bool ENDIF ELSE IF ( INDEX( key, "%Is_DryDep" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_bool, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_bool, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 IF ( v_bool .AND. ThisSpc%Is_Advected ) THEN SpcCount%nDryDep = SpcCount%nDryDep + 1 ThisSpc%DryDepId = SpcCount%nDryDep ThisSpc%Is_DryDep = v_bool ENDIF ELSE IF ( INDEX( key, "%Is_HygroGrowth" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_bool, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_bool, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 IF ( v_bool ) THEN SpcCount%nHygGrth = SpcCount%nHygGrth + 1 ThisSpc%HygGrthId = SpcCount%nHygGrth ThisSpc%Is_HygroGrowth = v_bool ENDIF ELSE IF ( INDEX( key, "%Is_Gas" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_bool, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_bool, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 IF ( v_bool ) THEN SpcCount%nGasSpc = SpcCount%nGasSpc + 1 ThisSpc%GasSpcId = SpcCount%nGasSpc ThisSpc%Is_Gas = v_bool ENDIF ELSE IF ( INDEX( key, "%Is_Hg0" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_bool, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_bool, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 IF ( v_bool ) THEN SpcCount%nHg0 = SpcCount%nHg0 + 1 ThisSpc%Is_Hg0 = v_bool ENDIF ELSE IF ( INDEX( key, "%Is_Hg2" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_bool, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_bool, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 IF ( v_bool ) THEN SpcCount%nHg2 = SpcCount%nHg2 + 1 ThisSpc%Is_Hg2 = v_bool ENDIF ELSE IF ( INDEX( key, "%Is_HgP" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_bool, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_bool, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 IF ( v_bool ) THEN SpcCount%nHgP = SpcCount%nHgP + 1 ThisSpc%Is_HgP = v_bool ENDIF ELSE IF ( INDEX( key, "%Is_Photolysis" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_bool, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_bool, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 IF ( v_bool ) THEN SpcCount%nPhotol = SpcCount%nPhotol + 1 ThisSpc%PhotolId = SpcCount%nPhotol ThisSpc%Is_Photolysis = v_bool ENDIF ELSE IF ( INDEX( key, "%Is_RadioNuclide" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_bool, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_bool, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 IF ( v_bool ) THEN SpcCount%nRadNucl = SpcCount%nRadNucl + 1 ThisSpc%RadNuclId = SpcCount%nRadNucl ThisSpc%Is_RadioNuclide = v_bool ENDIF ELSE IF ( INDEX( key, "%Is_Tracer" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_bool, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_bool, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 IF ( v_bool ) THEN SpcCount%nTracer = SpcCount%nTracer + 1 ThisSpc%TracerId = SpcCount%nTracer ThisSpc%Is_Tracer = v_bool ENDIF ELSE IF ( INDEX( key, "%Is_WetDep" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_bool, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_bool, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 IF ( v_bool ) THEN SpcCount%nWetDep = SpcCount%nWetDep + 1 ThisSpc%WetDepID = SpcCount%nWetDep ThisSpc%Is_WetDep = v_bool ENDIF ELSE IF ( INDEX( key, "%KPP_AbsTol" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_str, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_str, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%KPP_AbsTol = Cast_and_RoundOff( v_str, -1 ) ELSE IF ( INDEX( key, "%KPP_RelTol" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_real, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_real, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%KPP_RelTol = Cast_and_RoundOff( v_str, -1 ) ELSE IF ( INDEX( key, "%MP_SizeResAer" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_bool, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_bool, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%MP_SizeResAer = v_bool ELSE IF ( INDEX( key, "%MP_SizeResNum" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_bool, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_bool, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%MP_SizeResNum = v_bool ELSE IF ( INDEX( key, "%MW_g" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_real, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_real, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%MW_g = Cast_and_RoundOff( v_real, 2 ) ELSE IF ( INDEX( key, "%Radius" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_real, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_real, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%Radius = DBLE( v_real ) ! Don't round off ELSE IF ( INDEX( key, "%Snk_Horiz" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_str, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_str, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%Snk_Horiz = TRIM( v_str ) ELSE IF ( INDEX( key, "%Snk_Lats" ) > 0 ) THEN a_str = MISSING_STR IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, TRIM( key ), a_str, "", RC ) ELSE CALL QFYAML_Get( yml, TRIM( key ), a_str, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%Snk_LatMin = Cast_and_RoundOff( a_str(1), 4 ) ThisSpc%Snk_LatMax = Cast_and_RoundOff( a_str(2), 4 ) ELSE IF ( INDEX( key, "%Snk_Mode" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_str, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_str, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%Snk_Mode = TRIM( v_str ) ELSE IF ( INDEX( key, "%Snk_Period" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_real, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_real, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%Snk_Period = DBLE( v_real ) ELSE IF ( INDEX( key, "%Snk_Value" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_real, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_real, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%Snk_Value = DBLE( v_real ) ELSE IF ( INDEX( key, "%Snk_Vert" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_str, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_str, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%Snk_Vert = TRIM( v_str ) ELSE IF ( INDEX( key, "%Src_Add" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_bool, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_bool, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%Src_Add = v_bool ELSE IF ( INDEX( key, "%Src_Horiz" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_str, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_str, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%Src_Horiz = TRIM( v_str ) ELSE IF ( INDEX( key, "%Src_Lats" ) > 0 ) THEN a_str = MISSING_STR IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, TRIM( key ), a_str, "", RC ) ELSE CALL QFYAML_Get( yml, TRIM( key ), a_str, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%Src_LatMin = Cast_and_RoundOff( a_str(1), 4 ) ThisSpc%Src_LatMax = Cast_and_RoundOff( a_str(2), 4 ) ELSE IF ( INDEX( key, "%Src_Mode" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_str, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_str, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%Src_Mode = TRIM( v_str ) ELSE IF ( INDEX( key, "%Src_Pressures" ) > 0 ) THEN a_str = MISSING_STR IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, TRIM( key ), a_str, "", RC ) ELSE CALL QFYAML_Get( yml, TRIM( key ), a_str, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%Src_PresMin = Cast_and_RoundOff( a_str(1), 4 ) ThisSpc%Src_PresMax = Cast_and_RoundOff( a_str(2), 4 ) ELSE IF ( INDEX( key, "%Src_Units" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_str, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_str, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%Src_Units = TRIM( v_str ) ELSE IF ( INDEX( key, "%Src_Value" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_real, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_real, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%Src_Value = DBLE( v_real ) ELSE IF ( INDEX( key, "%Src_Vert" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_str, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_str, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%Src_Vert = TRIM( v_str ) ELSE IF ( INDEX( key, "%Units" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_str, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_str, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%Units = TRIM( v_str ) ELSE IF ( INDEX( key, "%WD_AerScavEff" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_real, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_real, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%WD_AerScavEff = Cast_and_RoundOff( v_real, 2 ) ELSE IF ( INDEX( key, "%WD_CoarseAer" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_bool, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_bool, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%WD_CoarseAer = v_bool ELSE IF ( INDEX( key, "%WD_ConvFacI2G" ) > 0 .and. no_luo ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_real, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_real, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%WD_ConvFacI2G = DBLE( v_real ) ! Don't round off ELSE IF ( INDEX( key, "%WD_ConvFacI2G_Luo" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_real, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_real, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 wd_convfaci2g_luo = DBLE( v_real ) ! Don't round off IF ( wd_convfaci2g_luo /= MISSING_REAL ) THEN found_wd_convfaci2g_luo = .TRUE. ENDIF ELSE IF ( INDEX( key, "%WD_KcScaleFac" ) > 0 .and. no_luo ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, a_real_3, "", RC ) ELSE CALL QFYAML_Get( yml, key, a_real_3, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%WD_KcScaleFac(1) = Cast_and_RoundOff( a_real_3(1), 2 ) ThisSpc%WD_KcScaleFac(2) = Cast_and_RoundOff( a_real_3(2), 2 ) ThisSpc%WD_KcScaleFac(3) = Cast_and_RoundOff( a_real_3(3), 2 ) ELSE IF ( INDEX( key, "%WD_KcScaleFac_Luo" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, a_real_3, "", RC ) ELSE CALL QFYAML_Get( yml, key, a_real_3, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 wd_kcscalefac_luo(1) = Cast_and_RoundOff( a_real_3(1), 2 ) wd_kcscalefac_luo(2) = Cast_and_RoundOff( a_real_3(2), 2 ) wd_kcscalefac_luo(3) = Cast_and_RoundOff( a_real_3(3), 2 ) IF ( wd_kcscalefac_luo(1) /= MISSING_REAL ) THEN found_wd_kcscalefac_luo = .TRUE. ENDIF ELSE IF ( INDEX( key, "%WD_Is_H2SO4" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_bool, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_bool, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%WD_Is_H2SO4 = v_bool ELSE IF ( INDEX( key, "%WD_Is_HNO3" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_bool, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_bool, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%WD_Is_HNO3 = v_bool ELSE IF ( INDEX( key, "%WD_Is_SO2" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_bool, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_bool, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%WD_Is_SO2 = v_bool ELSE IF ( INDEX( key, "%WD_Is_DSTbin" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_bool, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_bool, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%WD_Is_DSTbin = v_bool ELSE IF ( INDEX( key, "%WD_LiqAndGas" ) > 0 .and. no_luo ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_bool, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_bool, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%WD_LiqAndGas = v_bool ELSE IF ( INDEX( key, "%WD_LiqAndGas_Luo" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_bool, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_bool, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 wd_liqandgas_luo = v_bool found_wd_liqandgas_luo = wd_liqandgas_luo ELSE IF ( INDEX( key, "%WD_RainoutEff" ) > 0 .and. no_luo ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, a_real_3, "", RC ) ELSE CALL QFYAML_Get( yml, key, a_real_3, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%WD_RainoutEff(1) = Cast_and_RoundOff( a_real_3(1), 2 ) ThisSpc%WD_RainoutEff(2) = Cast_and_RoundOff( a_real_3(2), 2 ) ThisSpc%WD_RainoutEff(3) = Cast_and_RoundOff( a_real_3(3), 2 ) ELSE IF ( INDEX( key, "%WD_RainoutEff_Luo" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, a_real_3, "", RC ) ELSE CALL QFYAML_Get( yml, key, a_real_3, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 wd_rainouteff_luo(1) = Cast_and_RoundOff( a_real_3(1), 2 ) wd_rainouteff_luo(2) = Cast_and_RoundOff( a_real_3(2), 2 ) wd_rainouteff_luo(3) = Cast_and_RoundOff( a_real_3(3), 2 ) IF ( wd_rainouteff_luo(1) /= MISSING_REAL ) THEN found_wd_rainouteff_luo = .TRUE. ENDIF ! add washout parameters for dust species (D. Zhang, 28 Jun, 2024) ELSE IF ( INDEX( key, "%WD_WashoutRainPara" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, a_real_2, "", RC ) ELSE CALL QFYAML_Get( yml, key, a_real_2, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%WD_WashoutRainPara(1) = DBLE( a_real_2(1) ) ! Do not roundoff ThisSpc%WD_WashoutRainPara(2) = DBLE( a_real_2(2) ) ELSE IF ( INDEX( key, "%WD_WashoutSnowPara" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, a_real_2, "", RC ) ELSE CALL QFYAML_Get( yml, key, a_real_2, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%WD_WashoutSnowPara(1) = DBLE( a_real_2(1) ) ThisSpc%WD_WashoutSnowPara(2) = DBLE( a_real_2(2) ) ELSE IF ( INDEX( key, "%WD_RetFactor" ) > 0 .and. no_luo ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_real, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_real, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 ThisSpc%WD_RetFactor = Cast_and_RoundOff( v_real, 2 ) ELSE IF ( INDEX( key, "%WD_RetFactor_Luo" ) > 0 ) THEN IF ( addSpc ) THEN CALL QFYAML_Add_Get( yml, key, v_real, "", RC ) ELSE CALL QFYAML_Get( yml, key, v_real, RC ) ENDIF IF ( RC /= GC_SUCCESS ) GOTO 999 wd_retfactor_luo = Cast_and_RoundOff( v_real, 2 ) IF ( wd_retfactor_luo /= MISSING_REAL ) THEN found_wd_retfactor_luo = .TRUE. ENDIF ELSE ! Pass ENDIF ENDDO !-------------------------------------------------------------------- ! SANITY CHECKS !-------------------------------------------------------------------- ! Is_Gas and Is_Aero tags cannot both be TRUE at the same time IF ( ThisSpc%Is_Gas .and. ThisSpc%Is_Aerosol ) THEN errMsg = "Is_Gas and Is_Aerosol are both TRUE for species " // & TRIM( dbSpcName) // "!" CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Is_Gas and Is_Aero tags cannot both be FALSE at the same time IF ( ( .not. ThisSpc%Is_Gas ) .and. & ( .not. ThisSpc%Is_Aerosol ) .and. & ( .not. ThisSpc%Is_Omitted ) ) THEN ! Check if this is a KPP species, is so set Is_Gas to TRUE, otherwise ! return with an error. This will account for P/L families not ! defined in the species database. IF ( ThisSpc%Is_Kpp ) THEN ThisSpc%Is_Gas = .TRUE. ELSE errMsg = "Is_Gas and Is_Aerosol are both FALSE for species " // & TRIM( dbSpcName) // "!This species may not be included " // & "in species_database.yml. Please check that file." CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF ! Make sure the molecular weight is not a missing value IF ( ThisSpc%MW_g == MISSING_REAL ) THEN errMsg = 'MW_g for species ' // TRIM( dbSpcName) // ' is undefined!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! If the species is a gas, set all aerosol fields to missing values IF ( ThisSpc%Is_Gas ) THEN SELECT CASE( TRIM( dbSpcName) ) CASE( 'H2SO4' ) ! H2SO4 are gases that wetdep like aerosols, ! so keep both all gas and aerosol properties. CASE( 'HNO3', 'SO2' ) ! HNO3 and SO2 drydep like gases but wetdep like fine ! aerosols, so set certain fields to missing values. ThisSpc%DD_DvzAerSnow = MISSING ThisSpc%MP_SizeResAer = MISSING_BOOL ThisSpc%MP_SizeResNum = MISSING_BOOL ThisSpc%WD_CoarseAer = MISSING_BOOL CASE DEFAULT ! For all other gas-phase species, set all ! aerosol fields to missing values ThisSpc%DD_DvzAerSnow = MISSING ThisSpc%MP_SizeResAer = MISSING_BOOL ThisSpc%MP_SizeResNum = MISSING_BOOL ThisSpc%WD_CoarseAer = MISSING_BOOL ThisSpc%WD_AerScavEff = MISSING ThisSpc%WD_KcScaleFac = MISSING ThisSpc%WD_RainoutEff = MISSING ThisSpc%WD_Is_DSTbin = MISSING_BOOL ThisSpc%WD_WashoutRainPara = MISSING ThisSpc%WD_WashoutSnowPara = MISSING END SELECT ENDIF ! If the species is an aerosol, set all gas fields to missing values IF ( ThisSpc%Is_Aerosol ) THEN ThisSpc%WD_ConvFacI2G = MISSING ThisSpc%WD_RetFactor = MISSING ThisSpc%WD_LiqAndGas = MISSING_BOOL ENDIF #ifdef LUO_WETDEP !-------------------------------------------------------------------- ! For Luo et al 2020 wetdep ! Overwrite with special values if present in file !-------------------------------------------------------------------- IF ( found_dd_dvzaersnow_luo ) THEN ThisSpc%DD_DvzAerSnow = dd_dvzaersnow_luo ENDIF IF ( found_dd_dvzminval_luo ) THEN ThisSpc%DD_DvzMinVal(1) = dd_dvzminval_luo(1) ThisSpc%DD_DvzMinVal(2) = dd_dvzminval_luo(2) ENDIF IF ( found_henry_cr_luo ) THEN ThisSpc%Henry_CR = henry_cr_luo ENDIF IF ( found_henry_k0_luo ) THEN ThisSpc%Henry_K0 = henry_k0_luo ENDIF IF ( found_wd_convfaci2g_luo ) THEN ThisSpc%WD_ConvFacI2G = wd_convfaci2g_luo ENDIF IF ( found_wd_liqandgas_luo ) THEN ThisSpc%WD_LiqAndGas = wd_liqandgas_luo ENDIF IF ( found_wd_kcscalefac_luo ) THEN ThisSpc%WD_KcScaleFac(1) = wd_kcscalefac_luo(1) ThisSpc%WD_KcScaleFac(2) = wd_kcscalefac_luo(2) ThisSpc%WD_KcScaleFac(3) = wd_kcscalefac_luo(3) ENDIF IF ( found_wd_rainouteff_luo ) THEN ThisSpc%WD_RainoutEff(1) = wd_rainouteff_luo(1) ThisSpc%WD_RainoutEff(2) = wd_rainouteff_luo(2) ThisSpc%WD_RainoutEff(3) = wd_rainouteff_luo(3) ENDIF IF ( found_wd_retfactor_luo ) THEN ThisSpc%WD_RetFactor = wd_retfactor_luo ENDIF #endif ! Debug printout IF ( Input_Opt%Verbose ) THEN CALL Spc_Print( Input_Opt, ThisSpc, RC ) ENDIF ! Free pointer ThisSpc => NULL() ENDDO ! FORMAT statements 10 FORMAT( a30, " | ", a ) 20 FORMAT( a30, " | ", L10 ) 30 FORMAT( a30, " | ", f10.2 ) 31 FORMAT( a30, " | ", 2f10.2 ) 32 FORMAT( a30, " | ", 3f10.2 ) 40 FORMAT( a30, " | ", i10 ) !======================================================================= ! Print metadata for only the species that are defined in this ! simulation (but not the entire species database) to a YAML file. ! This file may be used for pre-processing files in other models ! when updating GEOS-Chem versions, such as in WRF and CESM. It ! should not be generated when running those models. Output file is ! set in simulation%species_metadata_output_file in geoschem_config.yml. !======================================================================= IF ( LEN(TRIM( Input_Opt%SpcMetaDataOutFile )) > 0 ) THEN IF ( Input_Opt%amIRoot ) THEN CALL QFYAML_Print( yml = yml, & fileName = Input_Opt%SpcMetaDataOutFile, & searchKeys = species_names, & RC = RC ) ENDIF ENDIF !======================================================================= ! Normal exit !======================================================================= ! Free objects and arrays, then return ThisSpc => NULL() CALL QFYAML_CleanUp( yml ) CALL Cleanup_Work_Arrays() !### Uncomment this to stop here when debugging species info !STOP RETURN !======================================================================= ! Abnormal exit !======================================================================= 999 CONTINUE ! Free objects and arrays ThisSpc => NULL() CALL QFYAML_CleanUp( yml ) CALL Cleanup_Work_Arrays() ! Exit with error errMsg = 'Could not read species database variable: ' // TRIM( key ) CALL GC_Error( errMsg, RC, thisLoc ) END SUBROUTINE Init_Species_Database !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Read_Species_Database ! ! !DESCRIPTION: Reads the metadata for each species into a QFYAML object. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Read_Species_Database( Input_Opt, yml, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE QFYAML_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input options ! ! !OUTPUT PARAMETERS: ! TYPE(QFYAML_t), INTENT(OUT) :: yml INTEGER, INTENT(OUT) :: RC ! ! !REVISION HISTORY: ! 28 Apr 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: fileName CHARACTER(LEN=255) :: thisLoc CHARACTER(LEN=512) :: errMsg ! Objects TYPE(QFYAML_t) :: yml_1 TYPE(QFYAML_t) :: yml_2 TYPE(QFYAML_t) :: yml_anchored !========================================================================= ! Read_Species_Database begins here! !========================================================================= ! Initialize RC = GC_SUCCESS errMsg = "" thisLoc = & " -> at Read Species Database (in module Headers/species_database_mod.F90)" !======================================================================= ! Read metadata for GEOS-Chem species !======================================================================== fileName = TRIM( Input_Opt%SpcDatabaseFile ) CALL QFYAML_Init( fileName, yml, yml_anchored, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = "Error reading " // TRIM( fileName ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF CALL QFYAML_CleanUp( yml_anchored ) END SUBROUTINE Read_Species_Database !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Cleanup_Species_Database ! ! !DESCRIPTION: Finalizes the vector with species information. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Cleanup_Species_Database( SpcData, RC ) ! ! !USES: ! USE ErrCode_Mod USE Species_Mod ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(SpcPtr), POINTER :: SpcData(:) ! Species database object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 22 Jul 2015 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Assume success RC = GC_SUCCESS ! Deallocate the species database object CALL SpcData_Cleanup( SpcData ) END SUBROUTINE Cleanup_Species_Database !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: TranUc ! ! !DESCRIPTION: Tranlate a character variable to all upper case letters. ! Non-alphabetic characters are not affected. The original "text" is ! destroyed. !\\ !\\ ! !INTERFACE: ! SUBROUTINE TranUc( text ) ! ! !INPUT/OUTPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(INOUT) :: text ! ! !AUTHOR: ! Robert D. Stewart, May 19, 1992 (part of CHARPAK) ! ! !REMARKS: ! Keep a private shadow copy of this routine here so as not to ! incur a dependency with GeosUtil/charpak_mod.F90. This lets us ! keep species_datbase_mod.F90 in the Headers/ folder together ! with state_chm_mod.F90 and species_mod.F90. ! ! !REVISION HISTORY: ! 06 Jan 2015 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: iasc, i, ilen ilen = LEN(text) DO i=1,ilen iasc = ICHAR(text(i:i)) IF ((iasc.GT.96).AND.(iasc.LT.123)) THEN text(i:i) = CHAR(iasc-32) ENDIF ENDDO END SUBROUTINE TranUc !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Unique_Species_Names ! ! !DESCRIPTION: Stores the list of unique species names (i.e. removing ! duplicates from the list of advected species and the the list of KPP ! species) for later use. Also computes the corresponding indices for ! the KPP variable and fixed species arrays (VAR and FIX, respectively). !\\ !\\ ! !INTERFACE: ! SUBROUTINE Unique_Species_Names( Input_Opt, nSpecies, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE GcKpp_Monitor, ONLY : Spc_Names USE GcKpp_Parameters, ONLY : NFIX, NSPEC, NVAR ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: nSpecies ! Number of unique species INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REMARKS: ! This may not be the fastest search algorithm (because it relies on string ! comparisons). But it is only executed at startup so we can live with it. ! We could make it faster by hashing but that seems like overkill. ! ! !REVISION HISTORY: ! 09 May 2016 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: nAdvect, K, S ! Strings CHARACTER(LEN=255) :: errMsg CHARACTER(LEN=255) :: thisLoc ! Arrays CHARACTER(LEN=31), ALLOCATABLE :: Tmp(:) CHARACTER(LEN=31) :: SpcName !======================================================================= ! UNIQUE_SPECIES_NAMES begins here! !======================================================================= ! Assume success RC = GC_SUCCESS errMsg = '' thisLoc = & ' -> at Unique_Species_Names (in module Headers/species_database_mod.F90)' ! Number of advected species listed in geoschem_config.yml nAdvect = Input_Opt%N_Advect ! First set the # of species to the # of advected species nSpecies = nAdvect !======================================================================= ! For KPP-based simulations, get the list of all of ! species names in the KPP mechanism, and their indices !======================================================================= IF ( Input_Opt%ITS_A_FULLCHEM_SIM .or. & Input_Opt%ITS_A_MERCURY_SIM .or. & Input_Opt%ITS_A_CARBON_SIM ) THEN ! Allocate a temporary array large enough to hold all of the ! advected species listed in geoschem_config.yml as well as all of the ! KPP species names (listed in SPC_NAMES of gckpp_Monitor.F90) ALLOCATE( Tmp( nAdvect + NSPEC ), STAT=RC ) CALL GC_CheckVar( 'species_database_mod.F90:Tmp', 0 , RC ) IF ( RC /= GC_SUCCESS ) RETURN Tmp = '' !-------------------------------------------------------------------- ! First determine the unique list of species in the KPP mechanism ! (so that we don't duplicate storage for advected & chemical species) !-------------------------------------------------------------------- ! First, store advected species (from geoschem_config.yml) in the ! TMP array DO S = 1, nSpecies Tmp(S) = Input_Opt%AdvectSpc_Name(S) ENDDO ! Loop over KPP species DO K = 1, NSPEC ! Skip dummy RR species for prod/loss diagnostic (mps, 8/23/16) SpcName = ADJUSTL( Spc_Names(K) ) IF ( SpcName(1:2) == 'RR' ) CYCLE ! Next, add to the TMP array those KPP species that aren't already ! listed as advected species. nSpecies is the # of unique species. IF ( .not. ANY( Input_Opt%AdvectSpc_Name == Spc_Names(K) ) ) THEN nSpecies = nSpecies + 1 Tmp(nSpecies) = Spc_Names(K) ENDIF ENDDO ! Allocate the species names array precisely of length nSpecies ALLOCATE( Species_Names( nSpecies ), STAT=RC ) CALL GC_CheckVar( 'species_database_mod.F90:Species_Names', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN Species_Names = Tmp(1:nSpecies ) ! Free temporary array IF ( ALLOCATED( Tmp ) ) DEALLOCATE( Tmp ) !-------------------------------------------------------------------- ! Now determine the KPP indices for each unique species name !-------------------------------------------------------------------- ! Work array to hold the list of all KPP species indices ALLOCATE( KppSpcId( nSpecies ), STAT=RC ) CALL GC_CheckVar( 'species_database_mod.F90:KppSpcId', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN KppSpcId = MISSING_INT ! Work array to hold the list of KPP fixed species indices ALLOCATE( KppFixId( nSpecies ), STAT=RC ) CALL GC_CheckVar( 'species_database_mod.F90:KppFixId', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN KppFixId = MISSING_INT ! Work array to hold the list of KPP variable species indices ALLOCATE( KppVarId( nSpecies ), STAT=RC ) CALL GC_CheckVar( 'species_database_mod.F90:KppVarId', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN KppVarId = MISSING_INT ! Loop through the list of unique species names DO S = 1, nSpecies ! Loop through the list of KPP species (stored in SPC_NAMES) DO K = 1, NSPEC ! Skip dummy RR species for prod/loss diagnostic (mps, 8/23/16) SpcName = ADJUSTL( Spc_Names(K) ) IF ( SpcName(1:2) == 'RR' ) CYCLE ! Test the unique species names (stored in SPECIES_NAMES) ! against the list of KPP species (in SPC_NAMES). The K ! index corresponds to the location of the species in the ! KPP chemical mechanism: 1..NSPEC = [ 1..NVAR, 1..NFIX]. IF ( Species_Names(S) == Spc_Names(K) ) THEN ! KPP species index (1..NSPEC). These ! are used to index species in the KPP "C" array. ! These include both variable and fixed species. KppSpcId(S) = K IF ( K <= NVAR ) THEN ! KPP variable species index (1..NVAR). These ! are used to index species in the KPP "C" array ! (as well as the "VAR" array). KppVarId(S) = K ELSE ! KPP fixed species also have entries (1..NFIX). These ! are used to index species in the KPP "FIX" array. KppFixId(S) = K - NVAR ENDIF ! Skip to next species EXIT ENDIF ENDDO ENDDO !======================================================================= ! For speciality simulations that do not use KPP-built mechanisms, ! we can just use the advected species list from geoschem_config.yml !======================================================================= ELSE ! Initialize the species names array from Input_Opt ALLOCATE( Species_Names( nSpecies ), STAT=RC ) CALL GC_CheckVar( 'species_database_mod.F90:Species_Names', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN Species_Names = Input_Opt%AdvectSpc_Name(1:nSpecies) ! Set KppSpcId to missing value ALLOCATE( KppSpcId( nSpecies ), STAT=RC ) CALL GC_CheckVar( 'species_database_mod.F90:KppSpcId', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN KppSpcId = MISSING_INT ! Set KppFixId to missing value ALLOCATE( KppFixId( nSpecies ), STAT=RC ) CALL GC_CheckVar( 'species_database_mod.F90:KppFixId', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN KppFixId = MISSING_INT ! Set KppVarId to missing value ALLOCATE( KppVarId( nSpecies ), STAT=RC ) CALL GC_CheckVar( 'species_database_mod.F90:KppVarId', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN KppVarId = MISSING_INT ENDIF END SUBROUTINE Unique_Species_Names !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Cleanup_Work_Arrays ! ! !DESCRIPTION: Cleans working (temporary) arrays used by this module, ! restoring them to an unused state. It is called at the end of ! Init\_Species\_Database or by an external module when needed to ! reinitialize the species DB. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Cleanup_Work_Arrays() ! ! !REMARKS: ! This routine allows Species_Database_Mod to be initialized more than once ! in the same CPU, if called externally before re-initializing a State_Chm ! derived type object. ! ! !REVISION HISTORY: ! 06 May 2016 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Deallocate arrays IF ( ALLOCATED( Species_Names ) ) DEALLOCATE( Species_Names ) IF ( ALLOCATED( KppFixId ) ) DEALLOCATE( KppFixId ) IF ( ALLOCATED( KppVarId ) ) DEALLOCATE( KppVarId ) IF ( ALLOCATED( KppSpcId ) ) DEALLOCATE( KppSpcId ) END SUBROUTINE Cleanup_Work_Arrays !EOC END MODULE Species_Database_Mod ================================================ FILE: Headers/species_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: species_mod.F90 ! ! !DESCRIPTION: Module SPECIES\_MOD contains types and routines to define ! the GEOS-Chem species object. !\\ !\\ ! !INTERFACE: ! MODULE Species_Mod ! ! USES: ! #if defined( MODEL_GCHPCTM) USE ESMF #endif USE Precision_Mod IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: SpcData_Init PUBLIC :: SpcData_Cleanup PUBLIC :: Spc_Print ! ! !PUBLIC TYPES: ! !========================================================================= ! Type for species index counters !========================================================================= TYPE, PUBLIC :: SpcIndCt INTEGER :: nAdvect ! # of advected species INTEGER :: nAeroSpc ! # of aerosol species INTEGER :: nDryAlt ! # of dry-dep species to save @ user-defined altitude INTEGER :: nDryDep ! # of dry-deposited species INTEGER :: nGasSpc ! # of gas-phase species INTEGER :: nHygGrth ! # of hygroscopic growth spc INTEGER :: nKppVar ! # of variable KPP species INTEGER :: nKppFix ! # of fixed KPP species INTEGER :: nKppSpc ! # of species in KPP matrix INTEGER :: nPhotol ! # of photolysis species INTEGER :: nOmitted ! # of omitted species INTEGER :: nRadNucl ! # of radionuclide species INTEGER :: nTracer ! # of transport tracers INTEGER :: nRealSpc ! # of total species (w/ omitted species removed) INTEGER :: nWetDep ! # of wet-deposited species INTEGER :: nHg0 ! # of Hg0 tracers INTEGER :: nHg2 ! # of Hg2 tracers INTEGER :: nHgP ! # of HgP tracers END TYPE SpcIndCt !========================================================================= ! Type for the Species Database object (vector of type Species) !========================================================================= TYPE, PUBLIC :: SpcPtr TYPE(Species), POINTER :: Info ! Single entry of Species Database END TYPE SpcPtr !========================================================================= ! Type for single species concentrations !========================================================================= TYPE, PUBLIC :: SpcConc #if defined( MODEL_GCHPCTM ) REAL(ESMF_KIND_R8), POINTER :: Conc(:,:,:) ! Concentration array #else REAL(fp), POINTER :: Conc(:,:,:) ! Concentration array #endif INTEGER :: Units ! Species units INTEGER :: Previous_Units ! Previous species units END TYPE SpcConc !========================================================================= ! Type for individual species information ! (i.e. this is a single entry in the Species Database) !========================================================================= TYPE, PUBLIC :: Species ! Indices INTEGER :: ModelId ! Model species Id INTEGER :: AdvectId ! Advection index INTEGER :: AerosolId ! Aerosol species index INTEGER :: DryAltId ! Dry dep species at altitude Id INTEGER :: DryDepId ! Dry deposition index INTEGER :: GasSpcId ! Gas-phase species index INTEGER :: HygGrthId ! Hygroscopic growth species index INTEGER :: KppVarId ! KPP variable species index INTEGER :: KppFixId ! KPP fixed spcecies index INTEGER :: KppSpcId ! KPP species index INTEGER :: OmittedId ! Omitted species index INTEGER :: PhotolId ! Photolysis index INTEGER :: RadNuclId ! Radionuclide index INTEGER :: TracerId ! Transport tracer index INTEGER :: WetDepId ! Wet deposition index ! Names CHARACTER(LEN=31) :: Name ! Short name CHARACTER(LEN=80) :: FullName ! Long name CHARACTER(LEN=80) :: Formula ! Chemical formula ! Logical switches LOGICAL :: Is_Advected ! Is it advected? LOGICAL :: Is_Aerosol ! Is it an aerosol species? LOGICAL :: Is_DryAlt ! Is it a dry-dep species that we ! want to save at a given altitude? LOGICAL :: Is_DryDep ! Is it dry-deposited? LOGICAL :: Is_Gas ! Is it a gas? If not, aerosol. LOGICAL :: Is_HygroGrowth ! Does it have hygroscropic growth? LOGICAL :: Is_ActiveChem ! Is it an active chemical species? LOGICAL :: Is_FixedChem ! Is it a fixed chemical species? LOGICAL :: Is_Kpp ! Is it in the KPP mechanism? LOGICAL :: Is_Omitted ! Is it omitted from the database? LOGICAL :: Is_Photolysis ! Is it an photolysis species? LOGICAL :: Is_RadioNuclide ! Is it a radionuclide species? LOGICAL :: Is_Tracer ! Is it a transport tracer? LOGICAL :: Is_WetDep ! Is it wet-deposited? LOGICAL :: Is_InRestart ! Is it in the restart file? #ifdef JACOBIAN LOGICAL :: Is_JacobianTracer ! Is it a Jacobian tracer? #endif ! Molecular weights REAL(fp) :: MW_g ! Species molecular weight [g/mol] ! Default background concentration REAL(fp) :: BackgroundVV ! Background conc [v/v] ! Species units CHARACTER(LEN=80) :: Units ! Species units (e.g. v/v, days) ! Density and radius REAL(fp) :: Density ! Density [kg/m3] REAL(fp) :: Radius ! Radius [m] ! Henry's law parameters REAL(f8) :: Henry_K0 ! Liq./gas Henry const [M/atm ] REAL(f8) :: Henry_CR ! d(ln K0) / d(1/T) [K ] REAL(f8) :: Henry_PKA ! pKa for Henry const. correction ! Drydep parameters LOGICAL :: DD_AeroDryDep ! Use AERO_SFCRSII for drydep? LOGICAL :: DD_DustDryDep ! Use DUST_SFCRSII for drydep? REAL(fp) :: DD_DvzAerSnow ! Vd for aerosols on snow [cm/s] REAL(fp) :: DD_DvzMinVal(2) ! Min Vd for aerosols [cm/s] REAL(fp) :: DD_F0 ! F0 (reactivity) factor [1] REAL(fp) :: DD_KOA ! KOA factor for POPG REAL(fp) :: DD_Hstar ! HSTAR value in drydep_mod [M/atm] ! Wetdep parameters, gas-phase species LOGICAL :: WD_LiqAndGas ! Consider liquid and gas phases? REAL(fp) :: WD_ConvFacI2G ! Conv. factor for ice/gas ratio REAL(fp) :: WD_RetFactor ! Retention factor [1] ! Wetdep parameters, aerosol-phase species LOGICAL :: WD_Is_H2SO4 ! Flag to denote H2SO4 wetdep LOGICAL :: WD_Is_HNO3 ! Flag to denote HNO3 wetdep LOGICAL :: WD_Is_SO2 ! Flag to denote SO2 wetdep LOGICAL :: WD_Is_DSTbin ! Flag to denote dust wetdep (D. Zhang 28 Jun, 2024) LOGICAL :: WD_CoarseAer ! T=coarse aerosol; F=fine aerosol REAL(fp) :: WD_AerScavEff ! Aerosol scavenging efficiency REAL(fp) :: WD_KcScaleFac(3) ! Temperature-dependent scale ! factors to multiply Kc rate ! (conv of condensate -> precip) ! in F_AEROSOL (wetscav_mod.F90) REAL(fp) :: WD_RainoutEff(3) ! Temperature-dependent scale ! factors for rainout efficiency REAL(fp) :: WD_WashoutRainPara(2) ! Parameters for washout efficiency of dust species due to rain precipitation REAL(fp) :: WD_WashoutSnowPara(2) ! Parameters for washout efficiency of dust species due to snow precipitation ! TransportTracers parameters CHARACTER(LEN=80) :: Snk_Horiz ! Where to apply sink horizontally? REAL(fp) :: Snk_LatMin ! Minimum latitude for applying sink REAL(fp) :: Snk_LatMax ! Maximum latitude for applying sink CHARACTER(LEN=80) :: Snk_Mode ! Sink mode of tracer REAL(fp) :: Snk_Period ! Sink period in days REAL(fp) :: Snk_Value ! Sink value CHARACTER(LEN=80) :: Snk_Vert ! Where to apply sink vertically? LOGICAL :: Src_Add ! T- add values; F- replace values CHARACTER(LEN=80) :: Src_Horiz ! Where to apply source horizontally REAL(fp) :: Src_LatMin ! Minimum latitude for applying src REAL(fp) :: Src_LatMax ! Maximum latitude for applying src CHARACTER(LEN=80) :: Src_Mode ! Source mode of tracer REAL(fp) :: Src_PresMin ! Minimum pressure for applying src REAL(fp) :: Src_PresMax ! Maximum pressure for applying src CHARACTER(LEN=80) :: Src_Units ! Source units REAL(fp) :: Src_Value ! Source value in Src_Units CHARACTER(LEN=80) :: Src_Vert ! Where to apply source vertically? ! Microphysics parameters LOGICAL :: MP_SizeResAer ! T=size-resolved aerosol (TOMAS) LOGICAL :: MP_SizeResNum ! T=size-resolved aerosol number ! Tagged mercury parameters LOGICAL :: Is_Hg0 ! Is a Hg0 species? LOGICAL :: Is_Hg2 ! Is a Hg2 species? LOGICAL :: Is_HgP ! Is a HgP species? ! KPP solver parameters REAL(f8) :: KPP_AbsTol ! Absolute tolerance REAL(f8) :: KPP_RelTol ! Relative tolerance END TYPE Species ! ! !DEFINED PARAMETERS: ! !========================================================================= ! Missing species concentration value if not in restart file and special ! background value not defined !========================================================================= REAL(fp), PARAMETER, PUBLIC :: MISSING_VV = 1.0e-20_fp ! Missing spc conc ! ! !REVISION HISTORY: ! 28 Feb 2014 - C. Keller - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: SpcData_Init ! ! !DESCRIPTION: Routine SpcData\_Init initializes species database object. ! This is an array where each element is of type Species. This object holds ! the metadata for each species (name, molecular weight, Henry's law ! constants, drydep info, wetdep info, etc. !\\ !\\ ! !INTERFACE: ! SUBROUTINE SpcData_Init( Input_Opt, nSpecies, SpcData, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object INTEGER, INTENT(IN) :: nSpecies ! # of species ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(SpcPtr), POINTER :: SpcData(:) ! Species database INTEGER, INTENT(INOUT) :: RC ! Return code ! ! !REVISION HISTORY: ! 20 Aug 2013 - C. Keller - Adapted from gigc_state_chm_mod.F90 ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N ! strings CHARACTER(LEN=255) :: varId !===================================================================== ! SpcData_Init begins here! !===================================================================== ! Assume success RC = GC_SUCCESS ! Check if already allocated IF ( ASSOCIATED( SpcData ) ) THEN CALL SpcData_Cleanup( SpcData ) ENDIF ! Allocate the species database object varId = "State_Chm%SpcData" ALLOCATE( SpcData( nSpecies ), STAT=RC ) CALL GC_CheckVar( varId, 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ! Initialize each entry in the species database object DO N = 1, nSpecies ! Allocate WRITE( varId, 100 ) N 100 FORMAT( 'State_Chm%SpcData(', i6, ')%Info' ) ALLOCATE( SpcData(N)%Info, STAT=RC ) CALL GC_CheckVar( varId, 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ! Set all fields to missing values CALL Spc_Zero( SpcData(N)%Info ) ENDDO END SUBROUTINE SpcData_Init !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: SpcData_Cleanup ! ! !DESCRIPTION: Routine SpcData\_Cleanup cleans up the passed species ! collection object !\\ !\\ ! !INTERFACE: ! SUBROUTINE SpcData_Cleanup( SpcData ) ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(SpcPtr), POINTER :: SpcData(:) ! Species database object ! ! !REVISION HISTORY: ! 20 Aug 2013 - C. Keller - Adapted from gigc_state_chm_mod.F90 ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: N, nSpecies !===================================================================== ! SpcData_Cleanup begins here! !===================================================================== ! Check if already allocated IF ( ASSOCIATED( SpcData ) ) THEN ! First get the size of the SpecDb object nSpecies = SIZE( SpcData ) ! If there are more than 0 elements ... IF ( nSpecies > 0 ) THEN ! Nullify each entry in the species database DO N = 1, nSpecies IF( ASSOCIATED( SpcData(N)%Info ) ) THEN DEALLOCATE( SpcData(N)%Info ) ENDIF ENDDO ! And free the object's memory DEALLOCATE( SpcData ) ENDIF ENDIF END SUBROUTINE SpcData_Cleanup !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Spc_Zero ! ! !DESCRIPTION: Sets all fields of an object of type Species ! to missing values. Called at initialization. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Spc_Zero( Spc ) ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(Species), INTENT(INOUT) :: Spc ! ! !REVISION HISTORY: ! 28 Apr 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Boolean/Logical Spc%DD_AeroDryDep = MISSING_BOOL Spc%DD_DustDryDep = MISSING_BOOL Spc%Is_ActiveChem = MISSING_BOOL Spc%Is_Advected = MISSING_BOOL Spc%Is_Aerosol = MISSING_BOOL Spc%Is_DryAlt = MISSING_BOOL Spc%Is_DryDep = MISSING_BOOL Spc%Is_FixedChem = MISSING_BOOL Spc%Is_Gas = MISSING_BOOL Spc%Is_Hg0 = MISSING_BOOL Spc%Is_Hg2 = MISSING_BOOL Spc%Is_HgP = MISSING_BOOL Spc%Is_HygroGrowth = MISSING_BOOL Spc%Is_InRestart = MISSING_BOOL Spc%Is_Kpp = MISSING_BOOL Spc%Is_Omitted = MISSING_BOOL Spc%Is_Photolysis = MISSING_BOOL Spc%Is_RadioNuclide = MISSING_BOOL Spc%Is_Tracer = MISSING_BOOL Spc%Is_WetDep = MISSING_BOOL Spc%Src_Add = MISSING_BOOL Spc%MP_SizeResAer = MISSING_BOOL Spc%MP_SizeResNum = MISSING_BOOL Spc%WD_CoarseAer = MISSING_BOOL Spc%WD_Is_H2SO4 = MISSING_BOOL Spc%WD_Is_HNO3 = MISSING_BOOL Spc%WD_Is_SO2 = MISSING_BOOL Spc%WD_LiqAndGas = MISSING_BOOL #ifdef JACOBIAN Spc%Is_JacobianTracer = MISSING_BOOL #endif ! Integers Spc%AdvectId = MISSING_INT Spc%AerosolId = MISSING_INT Spc%DryAltId = MISSING_INT Spc%DryDepId = MISSING_INT Spc%GasSpcId = MISSING_INT Spc%HygGrthId = MISSING_INT Spc%KppFixId = MISSING_INT Spc%KppSpcId = MISSING_INT Spc%KppVarId = MISSING_INT Spc%ModelId = MISSING_INT Spc%OmittedId = MISSING_INT Spc%PhotolId = MISSING_INT Spc%RadNuclId = MISSING_INT Spc%TracerId = MISSING_INT Spc%WetDepId = MISSING_INT ! Reals (floating precision) Spc%BackgroundVV = MISSING Spc%DD_DvzAerSnow = MISSING Spc%DD_DvzMinVal = MISSING Spc%DD_F0 = MISSING Spc%DD_KOA = MISSING Spc%DD_Hstar = MISSING Spc%Density = MISSING Spc%MW_g = MISSING Spc%Radius = MISSING Spc%Snk_LatMin = MISSING Spc%Snk_LatMax = MISSING Spc%Snk_Period = MISSING Spc%Snk_Value = MISSING Spc%Src_LatMin = MISSING Spc%Src_LatMax = MISSING Spc%Src_PresMin = MISSING Spc%Src_PresMax = MISSING Spc%Src_Value = MISSING Spc%WD_AerScavEff = MISSING Spc%WD_ConvFacI2G = MISSING Spc%WD_KcScaleFac = MISSING Spc%WD_RainoutEff = MISSING Spc%WD_RetFactor = MISSING ! Reals (8-byte precision) Spc%Henry_CR = MISSING_DBLE Spc%Henry_K0 = MISSING_DBLE Spc%Henry_PKA = MISSING_DBLE Spc%KPP_AbsTol = MISSING_DBLE Spc%KPP_RelTol = MISSING_DBLE ! Strings Spc%Formula = MISSING_STR Spc%FullName = MISSING_STR Spc%Name = MISSING_STR Spc%Units = MISSING_STR Spc%Snk_Horiz = MISSING_STR Spc%Snk_Mode = MISSING_STR Spc%Snk_Vert = MISSING_STR Spc%Src_Horiz = MISSING_STR Spc%Src_Mode = MISSING_STR Spc%Src_Units = MISSING_STR Spc%Src_Vert = MISSING_STR END SUBROUTINE Spc_Zero !BOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Spc_Print ! ! !DESCRIPTION: Routine Spc\_Create prints the fields of the species object. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Spc_Print( Input_Opt, ThisSpc, RC ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(Species), POINTER :: ThisSpc ! Object w/ species info ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: RC ! Return code ! ! !REMARKS: ! Optional fields are not printed out if they are not defined (i.e. if they ! have a "missing data value" of -999). ! ! !REVISION HISTORY: ! 27 Jul 2015 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC !======================================================================== ! Spc_Create begins here! !======================================================================== IF ( Input_Opt%amIRoot .and. ( .not. ThisSpc%Is_Omitted ) ) THEN !--------------------------------------------------------------------- ! Print general species info !--------------------------------------------------------------------- WRITE( 6, "(a)" ) REPEAT( "=", 79 ) WRITE( 6, 100 ) "ModelId ", ThisSpc%ModelId WRITE( 6, 110 ) "Name ", TRIM( ThisSpc%Name ) WRITE( 6, 110 ) "FullName ", TRIM( ThisSpc%FullName ) WRITE( 6, 110 ) "Formula ", TRIM( ThisSpc%Formula ) WRITE( 6, 121 ) "MW_g ", ThisSpc%MW_g IF ( ThisSpc%Is_Gas ) THEN WRITE( 6, "(a)" ) "Gas or aerosol : GAS" ELSE IF ( ThisSpc%Is_Aerosol ) THEN WRITE( 6, "(a)" ) "Gas or aerosol : AEROSOL" ENDIF IF ( ThisSpc%Is_RadioNuclide ) THEN WRITE( 6, "(a)" ) "Radionuclide? : YES" ENDIF IF ( ThisSpc%Is_Tracer ) THEN WRITE( 6, "(a)" ) "Transport tracer: YES" ENDIF !-------------------------------------------------------------------- ! Print Henry"s Law info (only applicable to gas-phase species) !-------------------------------------------------------------------- IF ( ThisSpc%Is_Gas ) THEN IF ( ThisSpc%Henry_K0 > ZERO_DBLE ) THEN WRITE( 6, 120 ) "Henry_K0 ", ThisSpc%Henry_K0 ENDIF IF ( ThisSpc%Henry_CR > ZERO_DBLE ) THEN WRITE( 6, 120 ) "Henry_CR ", ThisSpc%Henry_CR ENDIF ENDIF !-------------------------------------------------------------------- ! Print aerosol-specific properties !-------------------------------------------------------------------- IF ( ThisSpc%Is_Aerosol ) THEN IF ( ThisSpc%Density > ZERO ) THEN WRITE( 6, 121 ) "Density ", ThisSpc%Density ENDIF IF ( ThisSpc%Radius > ZERO ) THEN WRITE( 6, 120 ) "Radius ", ThisSpc%Radius ENDIF IF ( ThisSpc%Is_HygroGrowth ) THEN WRITE( 6, 130 ) "Is_HygroGrowth ", ThisSpc%Is_HygroGrowth WRITE( 6, 100 ) "HygGrthId ", ThisSpc%HygGrthId ENDIF ! Microphysics properties IF ( ThisSpc%MP_SizeResAer ) THEN WRITE( 6, 130 ) "MP_SizeResAer ", ThisSpc%MP_SizeResAer ENDIF IF ( ThisSpc%MP_SizeResNum ) THEN WRITE( 6, 130 ) "MP_SizeResNum ", ThisSpc%MP_SizeResNum ENDIF ENDIF !-------------------------------------------------------------------- ! Is the species advected? !-------------------------------------------------------------------- IF ( ThisSpc%Is_Advected ) THEN WRITE( 6, 130 ) "Is_Advected ", ThisSpc%Is_Advected WRITE( 6, 100 ) "AdvectId ", ThisSpc%AdvectId ENDIF !-------------------------------------------------------------------- ! Is the species in the KPP mechanism and is it photolyzed? !-------------------------------------------------------------------- IF ( ThisSpc%Is_Kpp ) THEN WRITE( 6, 130 ) "Is_Kpp ", ThisSpc%Is_Kpp WRITE( 6, 100 ) "KppSpcId ", ThisSpc%KppSpcId IF ( ThisSpc%Is_ActiveChem ) THEN WRITE( 6, 130 ) "Is_ActiveChem ", ThisSpc%Is_ActiveChem WRITE( 6, 100 ) "KppVarId ", ThisSpc%KppVarId ENDIF IF ( ThisSpc%Is_FixedChem ) THEN WRITE( 6, 130 ) "Is_FixedChem ", ThisSpc%Is_FixedChem WRITE( 6, 100 ) "KppFixId ", ThisSpc%KppFixId ENDIF WRITE( 6, 120 ) "KPP_AbsTol ", ThisSpc%KPP_AbsTol WRITE( 6, 120 ) "KPP_RelTol ", ThisSpc%KPP_RelTol ENDIF !-------------------------------------------------------------------- ! Is the species photolyzed !-------------------------------------------------------------------- IF ( ThisSpc%Is_Photolysis ) THEN WRITE( 6, 130 ) "Is_Photolysis ", ThisSpc%Is_Photolysis WRITE( 6, 100 ) "PhotolId ", ThisSpc%PhotolId ENDIF !-------------------------------------------------------------------- ! Is the species dry-deposited? !-------------------------------------------------------------------- IF ( ThisSpc%Is_DryDep ) THEN WRITE( 6, 130 ) "Is_DryDep ", ThisSpc%Is_DryDep WRITE( 6, 100 ) "DryDepID ", ThisSpc%DryDepId IF ( ThisSpc%DD_AeroDryDep ) THEN WRITE( 6, 130 ) "DD_AeroDryDep ", ThisSpc%DD_AeroDryDep ENDIF IF ( ThisSpc%DD_DustDryDep ) THEN WRITE( 6, 130 ) "DD_DustDryDep ", ThisSpc%DD_DustDryDep ENDIF IF ( ThisSpc%DD_DvzAerSnow > ZERO ) THEN WRITE( 6, 121 ) "DD_DvzAerSnow ", ThisSpc%DD_DvzAerSnow ENDIF IF ( SUM( ThisSpc%DD_DvzMinVal ) > ZERO ) THEN WRITE( 6, 140 ) "DD_DvzMinVal ", ThisSpc%DD_DvzMinVal ENDIF IF ( ThisSpc%DD_F0 > ZERO ) THEN WRITE( 6, 120 ) "DD_F0 ", ThisSpc%DD_F0 ENDIF IF ( ThisSpc%DD_KOA > ZERO ) THEN WRITE( 6, 120 ) "DD_KOA ", ThisSpc%DD_KOA ENDIF IF ( ThisSpc%DD_Hstar > ZERO ) THEN WRITE( 6, 120 ) "DD_Hstar ", ThisSpc%DD_Hstar ENDIF IF ( ThisSpc%Is_DryAlt ) THEN WRITE( 6, 130 ) "Is_DryAlt ", ThisSpc%Is_DryAlt ENDIF ENDIF !-------------------------------------------------------------------- ! Is the species wet-deposited? !-------------------------------------------------------------------- IF ( ThisSpc%Is_WetDep ) THEN WRITE( 6, 130 ) "Is_WetDep ", ThisSpc%Is_WetDep WRITE( 6, 100 ) "WetDepID ", ThisSpc%WetDepId IF ( ThisSpc%WD_LiqAndGas ) THEN WRITE( 6, 130 ) "WD_LiqAndGas ", ThisSpc%WD_LiqAndGas WRITE( 6, 120 ) "WD_ConvFacI2G ", ThisSpc%WD_ConvFacI2G ENDIF IF ( ThisSpc%WD_CoarseAer ) THEN WRITE( 6, 130 ) "WD_CoarseAer ", ThisSpc%WD_CoarseAer ENDIF IF ( ThisSpc%WD_AerScavEff > ZERO ) THEN WRITE( 6, 120 ) "WD_AerScavEff ", ThisSpc%WD_AerScavEff ENDIF IF ( SUM( ThisSpc%WD_KcScaleFac ) > ZERO ) THEN WRITE( 6, 140 ) "WD_KcScaleFac ", ThisSpc%WD_KcScaleFac ENDIF IF ( SUM( ThisSpc%WD_RainoutEff ) > ZERO ) THEN WRITE( 6, 140 ) "WD_RainoutEff ", ThisSpc%WD_RainoutEff ENDIF IF ( ThisSpc%WD_RetFactor > ZERO ) THEN WRITE( 6, 121 ) "WD_RetFactor ", ThisSpc%WD_RetFactor ENDIF IF ( ThisSpc%WD_Is_H2SO4 ) THEN WRITE( 6, 130 ) "WD_Is_H2SO4 ", ThisSpc%WD_Is_H2SO4 ENDIF IF ( ThisSpc%WD_Is_HNO3 ) THEN WRITE( 6, 130 ) "WD_Is_HNO3 ", ThisSpc%WD_Is_HNO3 ENDIF IF ( ThisSpc%WD_Is_SO2 ) THEN WRITE( 6, 130 ) "WD_Is_SO2 ", ThisSpc%WD_Is_SO2 ENDIF ENDIF !-------------------------------------------------------------------- ! Is the species a TransportTracer species? !-------------------------------------------------------------------- IF ( ThisSpc%Is_Tracer ) THEN WRITE( 6, 130 ) "Src_Add ", ThisSpc%Src_Add WRITE( 6, 110 ) "Src_Horiz ", TRIM(ThisSpc%Src_Horiz) IF ( TRIM(ThisSpc%Src_Horiz) == 'lat_zone' ) THEN WRITE( 6, 121 ) "Src_LatMin ", ThisSpc%Src_LatMin WRITE( 6, 121 ) "Src_LatMax ", ThisSpc%Src_LatMax ENDIF WRITE( 6, 110 ) "Src_Mode ", TRIM(ThisSpc%Src_Mode) WRITE( 6, 110 ) "Src_Vert ", TRIM(ThisSpc%Src_Vert) IF ( TRIM(ThisSpc%Src_Vert) == 'pressures' ) THEN WRITE( 6, 121 ) "Src_PresMin ", ThisSpc%Src_PresMin WRITE( 6, 121 ) "Src_PresMax ", ThisSpc%Src_PresMax ENDIF WRITE( 6, 110 ) "Src_Units ", TRIM(ThisSpc%Src_Units) WRITE( 6, 121 ) "Src_Value ", ThisSpc%Src_Value WRITE( 6, 110 ) "Snk_Horiz ", TRIM(ThisSpc%Snk_Horiz) IF ( TRIM(ThisSpc%Snk_Horiz) == 'lat_zone' ) THEN WRITE( 6, 121 ) "Snk_LatMin ", ThisSpc%Snk_LatMin WRITE( 6, 121 ) "Snk_LatMax ", ThisSpc%Snk_LatMax ENDIF WRITE( 6, 110 ) "Snk_Mode ", TRIM(ThisSpc%Snk_Mode) WRITE( 6, 121 ) "Snk_Period ", ThisSpc%Snk_Period WRITE( 6, 121 ) "Snk_Value ", ThisSpc%Snk_Value WRITE( 6, 110 ) "Snk_Vert ", TRIM(ThisSpc%Snk_Vert) ENDIF #ifdef JACOBIAN !-------------------------------------------------------------------- ! Is the species a Jacobian Tracer (for IMI)? !-------------------------------------------------------------------- IF ( ThisSpc%Is_JacobianTracer ) THEN WRITE( 6, 130 ) "Is_JacobianTracer ", ThisSpc%Is_JacobianTracer ENDIF #endif !-------------------------------------------------------------------- ! Is the species a mercury species? !-------------------------------------------------------------------- IF ( ThisSpc%Is_Hg0 ) THEN WRITE( 6, 130 ) "Is_Hg0 ", ThisSpc%Is_Hg0 ENDIF IF ( ThisSpc%Is_Hg2 ) THEN WRITE( 6, 130 ) "Is_Hg2 ", ThisSpc%Is_Hg2 ENDIF IF ( ThisSpc%Is_HgP ) THEN WRITE( 6, 130 ) "Is_HgP ", ThisSpc%Is_HgP ENDIF !-------------------------------------------------------------------- ! Print default background concentration !-------------------------------------------------------------------- IF ( ThisSpc%BackgroundVV > ZERO ) THEN WRITE( 6, 120 ) "BackgroundVV ", ThisSpc%BackgroundVV ENDIF !-------------------------------------------------------------------- ! Format statements !-------------------------------------------------------------------- 100 FORMAT( a, " : ", i8 ) 110 FORMAT( a, " : ", a ) 120 FORMAT( a, " : ", es13.6 ) 121 FORMAT( a, " : ", f8.2 ) 130 FORMAT( a, " : ", L1 ) 140 FORMAT( a, " : ", 3(f8.2, 1x) ) ENDIF END SUBROUTINE Spc_Print !EOC END MODULE Species_Mod ================================================ FILE: Headers/state_chm_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: state_chm_mod.F90 ! ! !DESCRIPTION: Module STATE\_CHM\_MOD contains the derived type ! used to define the Chemistry State object for GEOS-Chem. !\\ !\\ ! This module also contains the routines that allocate and deallocate memory ! to the Chemistry State object. The chemistry state object is not defined ! in this module. It must be be declared as variable in the top-level ! driver routine, and then passed to lower-level routines as an argument. !\\ !\\ ! !INTERFACE: ! MODULE State_Chm_Mod ! ! USES: ! USE AerMass_Container_Mod ! Aerosol mass object USE Dictionary_M, ONLY : dictionary_t ! Fortran hash table type USE ErrCode_Mod ! Error handling USE Phot_Container_Mod ! For photolysis state object USE PhysConstants ! Physical constants USE Precision_Mod ! GEOS-Chem precision types USE Registry_Mod ! Registry module USE Species_Mod ! For species database and conc objects IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: Init_State_Chm PUBLIC :: Cleanup_State_Chm PUBLIC :: Get_Metadata_State_Chm PUBLIC :: Ind_ ! ! !PRIVATE MEMBER FUNCTIONS ! PRIVATE :: Init_and_Register PRIVATE :: Init_Mapping_Vectors PRIVATE :: Register_ChmField PRIVATE :: Zero_State_Chm ! ! !PRIVATE DATA MEMBERS: ! TYPE(SpcPtr), PRIVATE, POINTER :: SpcDataLocal(:) ! Local pointer to ! StateChm%SpcData for ! availability to IND_ TYPE(SpcIndCt) :: SpcCount TYPE(dictionary_t), PRIVATE :: SpcDictLocal ! Private copy of the ! Fortran Hash table for ! availability to IND_ INTEGER, PRIVATE :: nChmState = 0 ! # chemistry states, !========================================================================== ! Derived type for Chemistry State !========================================================================== TYPE, PUBLIC :: ChmState !----------------------------------------------------------------------- ! Count of each type of species !----------------------------------------------------------------------- INTEGER :: nSpecies ! # species (all) INTEGER :: nAdvect ! # advected species INTEGER :: nAeroSpc ! # of Aerosol Species INTEGER :: nAeroType ! # of Aerosol Types INTEGER :: nDryAlt ! # dryalt species INTEGER :: nDryDep ! # drydep species INTEGER :: nGasSpc ! # gas phase species INTEGER :: nHygGrth ! # hygroscopic growth INTEGER :: nKppVar ! # KPP variable species INTEGER :: nKppFix ! # KPP fixed species INTEGER :: nKppSpc ! # KPP chem species INTEGER :: nLoss ! # of loss species INTEGER :: nOmitted ! # of omitted species INTEGER :: nPhotol ! # photolysis species INTEGER :: nProd ! # of prod species INTEGER :: nRadNucl ! # of radionuclides INTEGER :: nTomasBins ! # of bins for TOMAS INTEGER :: nTracer ! # of transport tracers INTEGER :: nWetDep ! # wetdep species !----------------------------------------------------------------------- ! Mapping vectors to subset types of species !----------------------------------------------------------------------- REAL(f8), POINTER :: KPP_AbsTol (: ) ! KPP absolute tolerance REAL(f8), POINTER :: KPP_RelTol (: ) ! KPP relative tolerance INTEGER, POINTER :: Map_Advect (: ) ! Advected species IDs INTEGER, POINTER :: Map_Aero (: ) ! Aerosol species IDs INTEGER, POINTER :: Map_All (: ) ! All species IDs INTEGER, POINTER :: Map_DryAlt (: ) ! Dryalt species IDs INTEGER, POINTER :: Map_DryDep (: ) ! Drydep species IDs INTEGER, POINTER :: Map_GasSpc (: ) ! Gas species IDs INTEGER, POINTER :: Map_HygGrth(: ) ! HygGrth species IDs INTEGER, POINTER :: Map_KppVar (: ) ! Kpp variable spc IDs INTEGER, POINTER :: Map_KppFix (: ) ! KPP fixed species IDs INTEGER, POINTER :: Map_KppSpc (: ) ! KPP chem species IDs INTEGER, POINTER :: Map_Loss (: ) ! Loss diag species CHARACTER(LEN=36), POINTER :: Name_Loss (: ) ! ID's and names INTEGER, POINTER :: Map_Photol (: ) ! Photolysis species IDs INTEGER, POINTER :: Map_Prod (: ) ! Prod diag species CHARACTER(LEN=36), POINTER :: Name_Prod (: ) ! ID and names INTEGER, POINTER :: Map_RadNucl(: ) ! Radionuclide IDs INTEGER, POINTER :: Map_Tracer (: ) ! Transport tracer IDs INTEGER, POINTER :: Map_WetDep (: ) ! Wetdep species IDs INTEGER, POINTER :: Map_WL (: ) ! Wavelength bins in fjx !----------------------------------------------------------------------- ! Physical properties & indices for each species !----------------------------------------------------------------------- TYPE(SpcPtr), POINTER :: SpcData (: ) ! GC Species database TYPE(dictionary_t) :: SpcDict ! Species dictionary !----------------------------------------------------------------------- ! Chemical species !----------------------------------------------------------------------- TYPE(SpcConc), POINTER :: Species (: ) ! Vector for species ! concentrations ! [kg/kg dry air] #ifdef ADJOINT REAL(fp), POINTER :: SpeciesAdj (:,:,:,:) ! Species adjoint variables REAL(fp), POINTER :: CostFuncMask(:,:,:) ! cost function volume mask #endif !---------------------------------------------------------------------- ! Boundary conditions !----------------------------------------------------------------------- REAL(fp), POINTER :: BoundaryCond(:,:,:,:)! Boundary conditions ! [kg/kg dry air] !----------------------------------------------------------------------- ! RRTMG state variables !----------------------------------------------------------------------- INTEGER :: RRTMG_iSeed INTEGER :: RRTMG_iCld !----------------------------------------------------------------------- ! Aerosol quantities !----------------------------------------------------------------------- TYPE(AerMassContainer), POINTER :: AerMass ! Aerosol mass data object REAL(fp), POINTER :: AeroArea (:,:,:,:) ! Aerosol Area [cm2/cm3] REAL(fp), POINTER :: AeroRadi (:,:,:,:) ! Aerosol Radius [cm] REAL(fp), POINTER :: WetAeroArea(:,:,:,:) ! Aerosol Area [cm2/cm3] REAL(fp), POINTER :: WetAeroRadi(:,:,:,:) ! Aerosol Radius [cm] REAL(fp), POINTER :: AeroH2O (:,:,:,:) ! Aerosol water [cm3/cm3] REAL(fp), POINTER :: GammaN2O5 (:,:,:,:) ! N2O5 aerosol uptake [unitless] REAL(fp), POINTER :: SSAlk (:,:,:,:) ! Sea-salt alkalinity[-] REAL(fp), POINTER :: H2O2AfterChem(:,:,:) ! H2O2, SO2 [v/v] REAL(fp), POINTER :: SO2AfterChem (:,:,:) ! after sulfate chem REAL(fp), POINTER :: OMOC (:,:) ! OM:OC Ratio [unitless] REAL(fp), POINTER :: OMOC_POA (:,:) ! OM:OC Ratio (OCFPOA) [unitless] REAL(fp), POINTER :: OMOC_OPOA (:,:) ! OM:OC Ratio (OCFOPOA) [unitless] REAL(fp), POINTER :: ACLArea (:,:,:) ! Fine Cl- Area [cm2/cm3] REAL(fp), POINTER :: ACLRadi (:,:,:) ! Fine Cl- Radius [cm] REAL(fp), POINTER :: QLxpHCloud (:,:,:) ! REAL(fp), POINTER :: SoilDust (:,:,:,:) ! Soil dust [kg/m3] REAL(fp), POINTER :: ORVCsesq (:,:,:) ! Sesquiterpenes mass [kg/box] !----------------------------------------------------------------------- ! Fields for nitrogen deposition !----------------------------------------------------------------------- REAL(fp), POINTER :: DryDepNitrogen (:,:) ! Dry deposited N REAL(fp), POINTER :: WetDepNitrogen (:,:) ! Wet deposited N !----------------------------------------------------------------------- ! Cloud quantities !----------------------------------------------------------------------- REAL(fp), POINTER :: pHCloud (:,:,: ) ! Cloud pH [-] REAL(fp), POINTER :: isCloud (:,:,: ) ! Cloud presence [-] !----------------------------------------------------------------------- ! Fields for KPP solver !----------------------------------------------------------------------- REAL(fp), POINTER :: KPPHvalue (:,:,: ) ! H-value for Rosenbrock ! solver !----------------------------------------------------------------------- ! Fields for UCX mechanism !----------------------------------------------------------------------- REAL(f4), POINTER :: STATE_PSC (:,:,: ) ! PSC type (see Kirner ! et al. 2011, GMD) REAL(fp), POINTER :: KHETI_SLA (:,:,:,:) ! Strat. liquid aerosol ! reaction cofactors !----------------------------------------------------------------------- ! For isoprene SOA via ISORROPIA/HETP !----------------------------------------------------------------------- REAL(fp), POINTER :: IsorropAeropH (:,:,:,:) ! ISORROPIA aero pH REAL(fp), POINTER :: IsorropHplus (:,:,:,:) ! H+ conc [M] REAL(fp), POINTER :: IsorropAeroH2O (:,:,:,:) ! ISORROPIA aero H2O REAL(fp), POINTER :: IsorropSulfate (:,:,: ) ! Sulfate conc [M] REAL(fp), POINTER :: IsorropNitrate (:,:,:,:) ! Nitrate conc [M] REAL(fp), POINTER :: IsorropChloride(:,:,:,:) ! Chloride conc [M] REAL(fp), POINTER :: IsorropBisulfate(:,:,: )! Bisulfate conc [M] !----------------------------------------------------------------------- ! For the tagged Hg simulation !----------------------------------------------------------------------- REAL(fp), POINTER :: OceanHg0(:,:) ! Hg(0) ocean mass [kg] REAL(fp), POINTER :: OceanHg2(:,:) ! Hg(II) ocean mass [kg] REAL(fp), POINTER :: OceanHgP(:,:) ! HgP ocean mass [kg] REAL(fp), POINTER :: SnowHgOcean(:,:) ! Reducible Hg snowpack ! on ocean [kg] REAL(fp), POINTER :: SnowHgLand(:,:) ! Reducible Hg snowpack ! on land [kg] REAL(fp), POINTER :: SnowHgOceanStored(:,:) ! Non-reducible Hg ! snowpack on ocean REAL(fp), POINTER :: SnowHgLandStored(:,:) ! Non-reducible Hg ! snowpack on land !---------------------------------------------------------------------- ! For HOBr + S(IV) heterogeneous chemistry !---------------------------------------------------------------------- REAL(fp), POINTER :: HSO3_AQ (:,:,: ) ! Cloud bisulfite/SO2 ratio REAL(fp), POINTER :: SO3_AQ (:,:,: ) ! Cloud sulfite/SO2 ratio REAL(fp), POINTER :: fupdateHOBr(:,:,: ) ! Correction factor for ! HOBr removal by SO2 ! [unitless] REAL(fp), POINTER :: fupdateHOCl(:,:,: ) ! Correction factor for ! HOCl removal by SO2 ! [unitless] !----------------------------------------------------------------------- ! Fields for photolysis !----------------------------------------------------------------------- TYPE(PhotContainer), POINTER :: phot ! Photolysis/optics container !----------------------------------------------------------------------- ! Fields for dry deposition !----------------------------------------------------------------------- REAL(fp), POINTER :: Iodide (:,: ) ! Ocn surf iodide [nM] REAL(fp), POINTER :: Salinity (:,: ) ! Ocn surf salinity [PSU] REAL(fp), POINTER :: DryDepFreq (:,:,: ) ! Drydep freq [s-1] REAL(f8), POINTER :: DryDepVel (:,:,: ) ! Dry deposition velocities ! [m/s] - use REAL8 in drydep #if defined( MODEL_GEOS ) REAL(fp), POINTER :: DryDepRa2m (:,: ) ! 2m aerodynamic resistance REAL(fp), POINTER :: DryDepRa10m(:,: ) ! 10m aerodynamic resistance #endif REAL(fp), POINTER :: JOH (:,: ) ! OH J-value REAL(fp), POINTER :: JNO2 (:,: ) ! NO2 J-value !----------------------------------------------------------------------- ! Fields for non-local PBL mixing !----------------------------------------------------------------------- REAL(fp), POINTER :: SurfaceFlux(:,:,: ) !----------------------------------------------------------------------- ! Fields for Linoz stratospheric ozone algorithm !---------------------------------------------------------------------- REAL(fp), POINTER :: TLSTT (:,:,:,:) ! TLSTT (I,J,L,LINOZ_NFIELDS) !------------------------------------------------------------------------ ! Fields for Gan Luo et al Wetdep scheme (GMD-12-3439-2019) !---------------------------------------------------------------------- REAL(fp), POINTER :: KRATE (:,:,: ) REAL(fp), POINTER :: QQ3D (:,:,: ) REAL(fp), POINTER :: pHRain (:,:,: ) ! Rain pH [-] REAL(fp), POINTER :: QQpHRain (:,:,: ) ! Rain pH*QQ3D [-] REAL(fp), POINTER :: QQRain (:,:,: ) ! Rain QQ3D [-] !----------------------------------------------------------------------- ! Fields for setting mean surface CH4 from HEMCO !----------------------------------------------------------------------- REAL(fp), POINTER :: SFC_CH4 (:,: ) !----------------------------------------------------------------------- ! Fields for TOMS overhead ozone column data !----------------------------------------------------------------------- REAL(fp), POINTER :: TO3_DAILY (:,: ) ! Daily overhead ozone REAL(fp), POINTER :: TOMS1 (:,: ) REAL(fp), POINTER :: TOMS2 (:,: ) !----------------------------------------------------------------------- ! Fields for UCX (moved from module) ! Many of these fields are not sized NX x NY, and thus cannot be allocated ! by Init_and_Register. They will be handled by Init_UCX as appropriate, ! and only stored in State_Chm so they can be separated per chemistry state. ! (hplin, 1/5/23) !----------------------------------------------------------------------- REAL(fp), POINTER :: UCX_REGRID (:,: ) REAL(fp), POINTER :: UCX_PLEVS (: ) ! Pressure levels of 2D data (hPa) REAL(fp), POINTER :: UCX_LATS (: ) ! Latitude edges of 2D data (deg) REAL(fp), POINTER :: RAD_AER (:,:,:,:) ! Strat. aerosol radius (cm) REAL(fp), POINTER :: KG_AER (:,:,:,:) ! Aerosol mass (kg/box) REAL(fp), POINTER :: SAD_AER (:,:,:,:) ! Aerosol surface area density (cm2/cm3) REAL(fp), POINTER :: NDENS_AER (:,:,:,:) ! Aerosol number density (#/m3) REAL(fp), POINTER :: RHO_AER (:,:,:,:) ! Aerosol mass density (kg/m3 aerosol) REAL(fp), POINTER :: AERFRAC (:,:,:,:) ! Mass fraction of species in liquid aerosols INTEGER, POINTER :: AERFRACIND (: ) ! Indices of liquid aerosol species REAL(fp), POINTER :: NOX_O (:,:,:,:) ! Monthly mean noontime O3P/O1D for NOx calcs REAL(fp), POINTER :: NOX_J (:,:,:,:) ! Monthly mean noontime J-rates for NOx calcs REAL(fp), POINTER :: SO4_TOPPHOT(:,: ) ! Photolysis rate at the top of the chemgrid (1/s) !================================================================= ! Variables to use NOx coefficients in ESMF / grid-independent ! envionment. The NOx coefficients are climatological 2D ! (lat/lev/12 months) data that are currently available for ! horizontal (latitude) resolutions of 2 and 4 degrees. For other ! resolutions, the horizontal data becomes mapped onto the ! simulation grid (see GET_JJNOX). ! Similar to the surface mixing ratio boundary conditions, we now ! read all the NOx coefficients during initialization to avoid ! additional I/O calls during run time (ckeller, 05/12/2014). !================================================================= REAL(fp), POINTER :: NOXCOEFF (:,:,:,:) REAL(fp), POINTER :: NOXLAT (: ) INTEGER :: JJNOXCOEFF !----------------------------------------------------------------------- ! Switches to enable SO2 cloud chemistry and seasalt chemistry in ! sulfate_mod (TRUE) or in the KPP mechanism (FALSE). !----------------------------------------------------------------------- LOGICAL :: Do_SulfateMod_Cld LOGICAL :: Do_SulfateMod_SeaSalt #if defined(MODEL_CESM) !----------------------------------------------------------------------- ! Fields for CESM interface to GEOS-Chem !----------------------------------------------------------------------- REAL(fp), POINTER :: H2SO4_PRDR (:,:,: ) ! H2SO4 prod rate [mol/mol] #endif !----------------------------------------------------------------------- ! Fields for CH4 in the carbon simulation !----------------------------------------------------------------------- LOGICAL :: IsCH4BCPerturbed ! Is CH4 BC perturbed? #ifdef APM !----------------------------------------------------------------------- ! Fields for APM aerosol microphysics !----------------------------------------------------------------------- REAL(fp), POINTER :: PSO4_SO2APM2(:,:,: ) #endif !----------------------------------------------------------------------- ! Fields for RRTMG !----------------------------------------------------------------------- REAL(fp), POINTER :: TStrat_Adj (:,:,: ) ! Accumulated strat adjustment !----------------------------------------------------------------------- ! Registry of variables contained within State_Chm !----------------------------------------------------------------------- CHARACTER(LEN=4) :: State = 'CHEM' ! Name of this state TYPE(MetaRegItem), POINTER :: Registry => NULL() ! Registry object TYPE(dictionary_t) :: RegDict ! Registry lookup table !----------------------------------------------------------------------- ! GEOS specific fields !----------------------------------------------------------------------- #if defined( MODEL_GEOS ) ! CO mesosphere boundary INTEGER :: COmesosphere CHARACTER(LEN=255) :: impCOmeso ! CO2 photolysis INTEGER :: CO2fromGOCART CHARACTER(LEN=255) :: impCO2name INTEGER :: numphoto INTEGER :: nxdo INTEGER :: nlam INTEGER :: nsza INTEGER :: numo3 INTEGER :: nts INTEGER :: aqsize REAL, POINTER :: sdat(:,:,:,:) REAL, POINTER :: o2jdat(:,:,:) REAL, POINTER :: sza_tab(:) REAL, POINTER :: o3_tab(:,:) REAL, POINTER :: xtab(:,:,:) REAL, POINTER :: CH2O_aq(:) REAL, POINTER :: rlam(:) #endif END TYPE ChmState ! ! !REMARKS: ! ! !REVISION HISTORY: ! 19 Oct 2012 - R. Yantosca - Initial version, based on "gc_type2_mod.F90" ! See https://github.com/geoschem/geos-chem for complete history !------------------------------------------------------------------------------ !BOC ! ! !MODULE INTERFACES: ! INTERFACE Init_and_Register MODULE PROCEDURE Init_and_Register_R4_2D MODULE PROCEDURE Init_and_Register_R4_3D MODULE PROCEDURE Init_and_Register_R4_4D MODULE PROCEDURE Init_and_Register_R8_2D MODULE PROCEDURE Init_and_Register_R8_3D MODULE PROCEDURE Init_and_Register_R8_4D END INTERFACE Init_and_Register INTERFACE Register_ChmField MODULE PROCEDURE Register_ChmField_R4_2D MODULE PROCEDURE Register_ChmField_R4_3D MODULE PROCEDURE Register_ChmField_R4_4D MODULE PROCEDURE Register_ChmField_R8_2D MODULE PROCEDURE Register_ChmField_R8_3D MODULE PROCEDURE Register_ChmField_R8_4D END INTERFACE Register_ChmField CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Zero_State_Chm ! ! !DESCRIPTION: Nullifies and/or zeroes all fields of State\_Chm. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Zero_State_Chm( State_Chm, RC ) ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! ! !REVISION HISTORY: ! 21 Sep 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! !======================================================================== ! Assume success !======================================================================== RC = GC_SUCCESS !======================================================================== ! Initialize or nullify each member of State_Chm ! This will prevent potential deallocation errors !======================================================================== ! Counters State_Chm%nAdvect = 0 State_Chm%nAeroSpc = 0 State_Chm%nAeroType = 0 State_Chm%nDryAlt = 0 State_Chm%nDryDep = 0 State_Chm%nGasSpc = 0 State_Chm%nHygGrth = 0 State_Chm%nKppVar = 0 State_Chm%nKppFix = 0 State_Chm%nKppSpc = 0 State_Chm%nLoss = 0 State_Chm%nPhotol = 0 State_Chm%nProd = 0 State_Chm%nOmitted = 0 State_Chm%nSpecies = 0 State_Chm%nWetDep = 0 ! Mapping vectors State_Chm%Map_Advect => NULL() State_Chm%Map_Aero => NULL() State_Chm%Map_All => NULL() State_Chm%Map_DryAlt => NULL() State_Chm%Map_DryDep => NULL() State_Chm%Map_GasSpc => NULL() State_Chm%Map_HygGrth => NULL() State_Chm%Map_KppVar => NULL() State_Chm%Map_KppFix => NULL() State_Chm%Map_KppSpc => NULL() State_Chm%Map_Loss => NULL() State_Chm%Name_Loss => NULL() State_Chm%Map_Photol => NULL() State_Chm%Map_Prod => NULL() State_Chm%Name_Prod => NULL() State_Chm%Map_RadNucl => NULL() State_Chm%Map_Tracer => NULL() State_Chm%Map_WetDep => NULL() State_Chm%Map_WL => NULL() ! Species-based quantities State_Chm%SpcData => NULL() State_Chm%Species => NULL() State_Chm%BoundaryCond => NULL() #ifdef ADJOINT ! Chemical species adjoint variables State_Chm%SpeciesAdj => NULL() State_Chm%CostFuncMask => NULL() #endif ! Photolysis state State_Chm%Phot => NULL() ! RRTMG state State_Chm%RRTMG_iSeed = 0 State_Chm%RRTMG_iCld = 0 ! Aerosol and chemistry quantities State_Chm%AerMass => NULL() State_Chm%AeroArea => NULL() State_Chm%AeroRadi => NULL() State_Chm%WetAeroArea => NULL() State_Chm%WetAeroRadi => NULL() State_Chm%AeroH2O => NULL() State_Chm%GammaN2O5 => NULL() State_Chm%SSAlk => NULL() State_Chm%OMOC => NULL() State_Chm%OMOC_POA => NULL() State_Chm%OMOC_OPOA => NULL() State_Chm%DryDepNitrogen => NULL() State_Chm%WetDepNitrogen => NULL() State_Chm%pHCloud => NULL() State_Chm%isCloud => NULL() State_Chm%QLxpHCloud => NULL() State_Chm%ORVCsesq => NULL() State_Chm%KPPHvalue => NULL() State_Chm%STATE_PSC => NULL() State_Chm%KHETI_SLA => NULL() State_Chm%ACLArea => NULL() State_Chm%ACLRadi => NULL() State_Chm%SoilDust => NULL() State_Chm%HSO3_AQ => NULL() State_Chm%SO3_AQ => NULL() State_Chm%fupdateHOBr => NULL() State_Chm%fupdateHOCl => NULL() State_Chm%TLSTT => NULL() State_Chm%TO3_DAILY => NULL() State_Chm%TOMS1 => NULL() State_Chm%TOMS2 => NULL() State_Chm%SFC_CH4 => NULL() State_Chm%UCX_REGRID => NULL() State_Chm%UCX_PLEVS => NULL() State_Chm%UCX_LATS => NULL() State_Chm%RAD_AER => NULL() State_Chm%KG_AER => NULL() State_Chm%SAD_AER => NULL() State_Chm%NDENS_AER => NULL() State_Chm%RHO_AER => NULL() State_Chm%AERFRAC => NULL() State_Chm%AERFRACIND => NULL() State_Chm%NOX_O => NULL() State_Chm%NOX_J => NULL() State_Chm%NOXCOEFF => NULL() State_Chm%NOXLAT => NULL() ! Emissions and drydep quantities State_Chm%Iodide => NULL() State_Chm%Salinity => NULL() State_Chm%DryDepFreq => NULL() State_Chm%DryDepVel => NULL() #ifdef MODEL_GEOS State_Chm%DryDepRa2m => NULL() State_Chm%DryDepRa10m => NULL() #endif State_Chm%JOH => NULL() State_Chm%JNO2 => NULL() ! Non-local PBL mixing quantities State_Chm%SurfaceFlux => NULL() ! Wetdep quantities State_Chm%H2O2AfterChem => NULL() State_Chm%SO2AfterChem => NULL() State_Chm%QQ3D => NULL() State_Chm%KRATE => NULL() State_Chm%QQ3D => NULL() State_Chm%pHRain => NULL() State_Chm%QQpHRain => NULL() State_Chm%QQRain => NULL() ! Isoprene SOA State_Chm%IsorropAeropH => NULL() State_Chm%IsorropHplus => NULL() State_Chm%IsorropAeroH2O => NULL() State_Chm%IsorropSulfate => NULL() State_Chm%IsorropNitrate => NULL() State_Chm%IsorropChloride => NULL() State_Chm%IsorropBisulfate => NULL() ! Hg simulation quantities State_Chm%OceanHg0 => NULL() State_Chm%OceanHg2 => NULL() State_Chm%OceanHgP => NULL() State_Chm%SnowHgOcean => NULL() State_Chm%SnowHgLand => NULL() State_Chm%SnowHgOceanStored => NULL() State_Chm%SnowHgLandStored => NULL() ! RRTMG quantities State_Chm%TStrat_Adj => NULL() ! Flags to toggle sulfate-mod computations or KPP computations ! TRUE = use sulfate_mod ! FALSE = use KPP computations State_Chm%Do_SulfateMod_Cld = .FALSE. State_Chm%Do_SulfateMod_SeaSalt = .FALSE. ! Flag if CH4 BC has been perturbed or not State_Chm%IsCH4BCPerturbed = .FALSE. #if defined( MODEL_GEOS ) State_Chm%COmesosphere = .FALSE. State_Chm%impCOmeso = "unknown" State_Chm%CO2fromGOCART = .FALSE. State_Chm%impCO2name = "unknown" State_Chm%numphoto = 0 State_Chm%nxdo = 0 State_Chm%nlam = 0 State_Chm%nsza = 0 State_Chm%numo3 = 0 State_Chm%nts = 0 State_Chm%aqsize = 0 State_Chm%sdat => NULL() State_Chm%o2jdat => NULL() State_Chm%sza_tab => NULL() State_Chm%o3_tab => NULL() State_Chm%xtab => NULL() State_Chm%CH2O_aq => NULL() State_Chm%rlam => NULL() #endif #ifdef MODEL_CESM ! Add quantities for coupling to CESM State_Chm%H2SO4_PRDR => NULL() #endif #ifdef APM ! Add fields for APM microphysics State_Chm%PSO4_SO2APM2 => NULL() #endif ! KPP integrator quantities State_Chm%KPP_AbsTol => NULL() State_Chm%KPP_RelTol => NULL() END SUBROUTINE Zero_State_Chm !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_State_Chm ! ! !DESCRIPTION: Routine INIT\_STATE\_CHM allocates and initializes the ! pointer fields of the chemistry state object. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_State_Chm( Input_Opt, State_Chm, State_Grid, & TaggedDiag_List, RC ) ! ! !USES: ! USE ErrCode_Mod USE CharPak_Mod, ONLY : To_UpperCase USE CMN_Size_Mod, ONLY : NAER USE CMN_Size_Mod, ONLY : NDUST USE GcKpp_Parameters, ONLY : NSPEC USE Input_Opt_Mod, ONLY : OptInput USE Species_Database_Mod, ONLY : Init_Species_Database USE State_Grid_Mod, ONLY : GrdState USE TaggedDiagList_Mod, ONLY : TaggedDgnList ! ! !INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(TaggedDgnList), INTENT(IN) :: TaggedDiag_List ! Tagged Diag List ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input Options TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Return code ! ! !REMARKS: ! In the near future we will put some error trapping on the allocations ! so that we can stop the simulation if the allocations cannot be made. ! ! !REVISION HISTORY: ! 19 Oct 2012 - R. Yantosca - Renamed from gc_type2_mod.F90 ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: C, N INTEGER :: nKHLSA, nAerosol, nMatches ! Strings CHARACTER(LEN=255) :: errMsg_ir, errMsg CHARACTER(LEN=255) :: chmId, thisLoc ! String arrays CHARACTER(LEN=31) :: fieldId(14) ! Objects TYPE(Species), POINTER :: ThisSpc INTEGER, POINTER :: CheckIds(:) REAL(fp), POINTER :: Ptr2data(:,:,:) !======================================================================== ! Init_State_Chm begins here! !======================================================================== ! Initialize RC = GC_SUCCESS nAerosol = NDUST + NAER Ptr2data => NULL() ThisSpc => NULL() errMsg = '' errMsg_ir = 'Error encountered in "Init_and_Register", chmId = ' thisLoc = & ' -> at Init_State_Chm (in module Headers/state_chm_mod.F90)' ! Nullify or zero all State_Chm variables CALL Zero_State_Chm( State_Chm, RC ) ! Count the # of chemistry states we have initialized, so SpcData(Local) ! is not deallocated until the last ChmState is cleaned up. ! This avoids dangling pointers with detrimental effects. (hplin, 8/3/18) nChmState = nChmState + 1 ! Nullify SpcDataLocal upon the first allocation of the Chemistry ! State object. This will avoid undefined pointer errors. IF ( nChmState == 1 ) THEN SpcDataLocal => NULL() ENDIF !======================================================================== ! Do sulfur sea-salt and in-cloud chemistry as part of the KPP-generated ! chemical mechanism for all full-chemistry simulations. For aerosol- ! only simulations, do the sulfur chemistry rxns in sulfate_mod. !======================================================================== ! IF ( Input_Opt%ITS_A_FULLCHEM_SIM ) THEN ! State_Chm%Do_SulfateMod_Seasalt = .FALSE. ! State_Chm%Do_SulfateMod_Cld = .FALSE. ! ENDIF !======================================================================== ! Populate the species database object field ! (assumes Input_Opt has already been initialized) !======================================================================== IF ( ASSOCIATED( SpcDataLocal ) ) THEN ! If the species database has already been initialized on this core, ! State_Chm%SpcDataLocal in already contains a copy of the species ! metadata. It can be directly associated to this new chemistry state. ! (assumes one core will run one copy of G-C with the same species DB) State_Chm%SpcData => SpcDataLocal ELSE ! Otherwise, initialize the species database by reading the YAML file. CALL Init_Species_Database( Input_Opt = Input_Opt, & SpcData = State_Chm%SpcData, & SpcCount = SpcCount, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in routine "Init_Species_Database"!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Point to a private module copy of the species database ! which will be used by the Ind_ indexing function SpcDataLocal => State_Chm%SpcData ENDIF !======================================================================== ! Before proceeding, make sure none of the species has a blank name, ! because this has the potential to halt the run inadvertently. !======================================================================== ! Total number of "real" species (excluding "dummy" placeholder species) State_Chm%nSpecies = SpcCount%nRealSpc ! Exit if any species name is blank DO N = 1, State_Chm%nSpecies IF ( LEN_TRIM( State_Chm%SpcData(N)%Info%Name ) == 0 ) THEN WRITE( ErrMsg, '("Species number ", i6, " has a blank name!")' ) N CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDDO !======================================================================== ! Allocate and initialize the photolysis object !======================================================================== ALLOCATE( State_Chm%Phot, STAT=RC ) CALL Init_Phot_Container( Input_Opt, State_Grid, State_Chm%Phot, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "Init_Phot_Container" routine!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !======================================================================== ! Determine the number of advected, drydep, wetdep, and total species !======================================================================== ! Get the number of advected, dry-deposited, KPP chemical species, ! and and wet-deposited species. Also return the # of Hg0, Hg2, and ! HgP species (these are zero unless the Hg simulation is used). State_Chm%nAdvect = SpcCount%nAdvect State_Chm%nAeroSpc = SpcCount%nAeroSpc State_Chm%nDryAlt = SpcCount%nDryAlt State_Chm%nDryDep = SpcCount%nDryDep State_Chm%nGasSpc = SpcCount%nGasSpc State_Chm%nHygGrth = SpcCount%nHygGrth State_Chm%nKppVar = SpcCount%nKppVar State_Chm%nKppFix = SpcCount%nKppFix State_Chm%nKppSpc = SpcCount%nKppSpc State_Chm%nOmitted = SpcCount%nOmitted State_Chm%nPhotol = SpcCount%nPhotol State_Chm%nRadNucl = SpcCount%nRadNucl State_Chm%nTracer = SpcCount%nTracer State_Chm%nWetDep = SpcCount%nWetDep #if defined (TOMAS12) State_Chm%nTomasBins = 12 #elif defined(TOMAS15) State_Chm%nTomasBins = 15 #elif defined(TOMAS40) State_Chm%nTomasBins = 40 #else State_Chm%nTomasBins = 30 #endif ! Also get the number of the prod/loss species. For fullchem simulations, ! the prod/loss species are listed in FAM_NAMES in gckpp_Monitor.F90, ! but for certain other simulations (tagO3, carbon), advected species ! can have prod and loss diagnostic entries. CALL GetNumProdLossSpecies( Input_Opt, State_Chm, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "GetNumProdLossSpecies"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !######################################################################## !### Save species database info to a HEMCO_sa_Spec.rc file for use with !### the HEMCO standalone simulation. Uncomment this if you need it. !### (bmy, 9/26/18) !### ! !! Open file !OPEN( 700, FILE = 'HEMCO_sa_Spec.rc', STATUS = 'UNKNOWN', IOSTAT=RC ) ! !! Write data !DO N = 1, State_Chm%nAdvect ! WRITE( 700, 700 ) N, State_Chm%SpcData(N)%Info%Name, & ! State_Chm%SpcData(N)%Info%Mw_g, & ! MAX(State_Chm%SpcData(N)%Info%Henry_K0, 0.0_fp), & ! MAX(State_Chm%SpcData(N)%Info%Henry_CR, 0.0_fp), & ! MAX(State_Chm%SpcData(N)%Info%Henry_pKa,0.0_fp) ! ! 700 FORMAT( i4, 1x, a10, 1x, 2f9.2, f5.1, 2x, es13.6, 2f10.2 ) !ENDDO ! !! Close file !CLOSE( 700 ) !STOP !######################################################################## !======================================================================== ! Populate the species lookup table, for quick index lookup via Ind_ !======================================================================== ! Initialize the species lookup table CALL State_Chm%SpcDict%Init( State_Chm%nSpecies ) ! Populate the species lookup table DO N = 1, State_Chm%nSpecies ThisSpc => SpcDataLocal(N)%Info CALL State_Chm%SpcDict%Set( To_UpperCase( TRIM( ThisSpc%Name ) ), & ThisSpc%ModelId ) ThisSpc => NULL() ENDDO ! Error check: make sure we have no hash collisions that would ! assign more than one species to the same ModelId value ALLOCATE( CheckIds( State_Chm%nSpecies ), STAT=RC ) DO N = 1, State_Chm%nSpecies CheckIds(N) = SpcDataLocal(N)%Info%ModelId ENDDO DO N = 1, State_Chm%nSpecies nMatches = COUNT( CheckIds(N) == CheckIds ) IF ( nMatches > 1 ) THEN ErrMsg = 'Species: ' // TRIM( SpcDataLocal(N)%Info%Name ) // & 'maps to more than one ModelID value!' CALL GC_Error( ErrMsg, RC, ThisLoc ) CheckIds => NULL() RETURN ENDIF ENDDO IF ( ASSOCIATED( CheckIds ) ) DEALLOCATE( CheckIds ) ! If there are no hash collisions, then species lookup table ! to a local shadow variable for use with the Ind_ function. SpcDictLocal = State_Chm%SpcDict !### Debug: Show the values in the lookup table !CALL State_Chm%SpcDict%Show() !======================================================================== ! Exit if this is a dry-run simulation !======================================================================== IF ( Input_Opt%DryRun ) THEN RC = GC_SUCCESS RETURN ENDIF !======================================================================== ! Initialize the 1-D mapping vectors (e.g. State_Chm%Map_DryDep) !======================================================================== CALL Init_Mapping_Vectors( Input_Opt, State_Chm, TaggedDiag_List, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "Init_Mapping_Vectors" routine!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !======================================================================== ! Allocate and initialize chemical species fields !======================================================================== ALLOCATE( State_Chm%Species( State_Chm%nSpecies ), STAT=RC ) DO N = 1, State_Chm%nSpecies #if defined ( MODEL_GCHPCTM ) ! Species concentration array pointers will be set to point ! to MAPL internal state every timestep when internal state level ! values are flipped to match GEOS-Chem standard State_Chm%Species(N)%Conc => NULL() #else ALLOCATE( State_Chm%Species(N)%Conc( State_Grid%NX, & State_Grid%NY, & State_Grid%NZ ), STAT=RC ) State_Chm%Species(N)%Conc = 0.0_f8 #endif State_Chm%Species(N)%Units = 0 ENDDO #ifdef ADJOINT !======================================================================== ! Allocate and initialize chemical species fields !======================================================================== chmID = 'SpeciesAdj' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%SpeciesAdj, & nSlots = State_Chm%nSpecies, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !======================================================================== ! Allocate and initialize chemical species fields !======================================================================== chmID = 'CostFuncMask' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%CostFuncMask, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF #endif !======================================================================== ! Boundary conditions (only needed for nested grid simulations) !======================================================================== IF ( State_Grid%NestedGrid ) THEN chmID = 'BoundaryCond' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%BoundaryCond, & nSlots = State_Chm%nAdvect, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF !======================================================================== ! Allocate and initialize quantities that are only relevant for the ! the various FULLCHEM simulations or the AEROSOL-ONLY simulation !======================================================================== IF ( Input_Opt%ITS_A_FULLCHEM_SIM .or. Input_Opt%ITS_AN_AEROSOL_SIM ) THEN ! Save nAerosol to State_Chm State_Chm%nAeroType = nAerosol !--------------------------------------------------------------------- ! Aerosol object ! NOTE: content is currently not registered !--------------------------------------------------------------------- ALLOCATE( State_Chm%AerMass, STAT=RC ) CALL Init_AerMass_Container( Input_Opt, State_Grid, State_Chm%AerMass, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "Init_AerMass_Container" routine!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !--------------------------------------------------------------------- ! AeroArea !--------------------------------------------------------------------- fieldId = (/ 'AeroAreaMDUST1 ', 'AeroAreaMDUST2 ', & 'AeroAreaMDUST3 ', 'AeroAreaMDUST4 ', & 'AeroAreaMDUST5 ', 'AeroAreaMDUST6 ', & 'AeroAreaMDUST7 ', 'AeroAreaSULF ', & 'AeroAreaBC ', 'AeroAreaOC ', & 'AeroAreaSSA ', 'AeroAreaSSC ', & 'AeroAreaBGSULF ', 'AeroAreaICEI ' /) ! Allocate and register each field individually DO N = 1, State_Chm%nAeroType CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = TRIM( fieldId(N) ), & Ptr2Data = State_Chm%AeroArea, & nSlots = State_Chm%nAeroType, & nCat = N, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDDO !--------------------------------------------------------------------- ! AeroRadi !--------------------------------------------------------------------- fieldId = (/ 'AeroRadiMDUST1 ', 'AeroRadiMDUST2 ', & 'AeroRadiMDUST3 ', 'AeroRadiMDUST4 ', & 'AeroRadiMDUST5 ', 'AeroRadiMDUST6 ', & 'AeroRadiMDUST7 ', 'AeroRadiSULF ', & 'AeroRadiBC ', 'AeroRadiOC ', & 'AeroRadiSSA ', 'AeroRadiSSC ', & 'AeroRadiBGSULF ', 'AeroRadiICEI ' /) ! Allocate and register each field individually DO N = 1, State_Chm%nAeroType CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = TRIM( fieldId(N) ), & Ptr2Data = State_Chm%AeroRadi, & nSlots = State_Chm%nAeroType, & nCat = N, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDDO !--------------------------------------------------------------------- ! WetAeroArea !--------------------------------------------------------------------- fieldId = (/ 'WetAeroAreaMDUST1', 'WetAeroAreaMDUST2', & 'WetAeroAreaMDUST3', 'WetAeroAreaMDUST4', & 'WetAeroAreaMDUST5', 'WetAeroAreaMDUST6', & 'WetAeroAreaMDUST7', 'WetAeroAreaSULF ', & 'WetAeroAreaBC ', 'WetAeroAreaOC ', & 'WetAeroAreaSSA ', 'WetAeroAreaSSC ', & 'WetAeroAreaBGSULF', 'WetAeroAreaICEI ' /) ! Allocate and register each field individually DO N = 1, State_Chm%nAeroType CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = TRIM( fieldId(N) ), & Ptr2Data = State_Chm%WetAeroArea, & nSlots = State_Chm%nAeroType, & nCat = N, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDDO !--------------------------------------------------------------------- ! WetAeroRadi !--------------------------------------------------------------------- fieldId = (/ 'WetAeroRadiMDUST1', 'WetAeroRadiMDUST2', & 'WetAeroRadiMDUST3', 'WetAeroRadiMDUST4', & 'WetAeroRadiMDUST5', 'WetAeroRadiMDUST6', & 'WetAeroRadiMDUST7', 'WetAeroRadiSULF ', & 'WetAeroRadiBC ', 'WetAeroRadiOC ', & 'WetAeroRadiSSA ', 'WetAeroRadiSSC ', & 'WetAeroRadiBGSULF', 'WetAeroRadiICEI ' /) ! Allocate and register each field individually DO N = 1, State_Chm%nAeroType CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = TRIM( fieldId(N) ), & Ptr2Data = State_Chm%WetAeroRadi, & nSlots = State_Chm%nAeroType, & nCat = N, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDDO !--------------------------------------------------------------------- ! AeroH2O !--------------------------------------------------------------------- fieldId = (/ 'AeroH2OMDUST1 ', 'AeroH2OMDUST2 ', & 'AeroH2OMDUST3 ', 'AeroH2OMDUST4 ', & 'AeroH2OMDUST5 ', 'AeroH2OMDUST6 ', & 'AeroH2OMDUST7 ', 'AeroH2OSNA ', & 'AeroH2OBC ', 'AeroH2OOC ', & 'AeroH2OSSA ', 'AeroH2OSSC ', & 'AeroH2OBGSULF ', 'AeroH2OICEI ' /) ! Allocate and register each field individually DO N = 1, State_Chm%nAeroType CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = TRIM( fieldId(N) ), & Ptr2Data = State_Chm%AeroH2O, & nSlots = State_Chm%nAeroType, & nCat = N, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDDO !--------------------------------------------------------------------- ! SoilDust, tmf 10/26/21 !--------------------------------------------------------------------- fieldId(1) = 'SoilDUST1' fieldId(2) = 'SoilDUST2' fieldId(3) = 'SoilDUST3' fieldId(4) = 'SoilDUST4' fieldId(5) = 'SoilDUST5' fieldId(6) = 'SoilDUST6' fieldId(7) = 'SoilDUST7' ! Allocate and register each field individually DO N = 1, NDUST CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = TRIM( fieldId(N) ), & Ptr2Data = State_Chm%SoilDust, & nSlots = NDUST, & nCat = N, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDDO !--------------------------------------------------------------------- ! AClArea, xnw 1/20/18 !--------------------------------------------------------------------- chmID = 'AClArea' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%AClArea, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !--------------------------------------------------------------------- ! AClRadi, xnw 1/20/18 !--------------------------------------------------------------------- chmID = 'AClRadi' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%AClRadi, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !--------------------------------------------------------------------- ! GammaN2O5 !--------------------------------------------------------------------- fieldId(1) = 'GammaN2O5overall ' fieldId(2) = 'GammaN2O5fine ' fieldId(3) = 'YieldClNO2fine ' ! Allocate and register each field individually DO N = 1, 3 CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = TRIM( fieldId(N) ), & Ptr2Data = State_Chm%GammaN2O5, & nSlots = 3, & nCat = N, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDDO !--------------------------------------------------------------------- ! OM:OC Ratios !--------------------------------------------------------------------- chmId = 'OMOC' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%OMOC, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF chmId = 'OMOCpoa' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%OMOC_POA, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF chmId = 'OMOCopoa' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%OMOC_OPOA, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !--------------------------------------------------------------------- ! IsorropAeropH !--------------------------------------------------------------------- fieldId(1) = 'IsorropAeropHAccum' fieldId(2) = 'IsorropAeropHCoarse' ! Allocate and register each field individually DO N = 1, 2 CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = TRIM( fieldId(N) ), & Ptr2Data = State_Chm%IsorropAeropH, & nSlots = 2, & nCat = N, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDDO !--------------------------------------------------------------------- ! IsorropHplus !--------------------------------------------------------------------- fieldId(1) = 'IsorropHplusAccum' fieldId(2) = 'IsorropHplusCoarse' ! Allocate and register each field individually DO N = 1, 2 CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = TRIM( fieldId(N) ), & Ptr2Data = State_Chm%IsorropHplus, & nSlots = 2, & nCat = N, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDDO !--------------------------------------------------------------------- ! IsorropAeroH2O !--------------------------------------------------------------------- fieldId(1) = 'IsorropAeroH2OAccum' fieldId(2) = 'IsorropAeroH2OCoarse' ! Allocate and register each field individually DO N = 1, 2 CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = TRIM( fieldId(N) ), & Ptr2Data = State_Chm%IsorropAeroH2O, & nSlots = 2, & nCat = N, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDDO !--------------------------------------------------------------------- ! IsorropSulfate !--------------------------------------------------------------------- chmId = 'IsorropSulfate' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%IsorropSulfate, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !--------------------------------------------------------------------- ! IsorropNitrate !--------------------------------------------------------------------- fieldId(1) = 'IsorropNitrateAccum' fieldId(2) = 'IsorropNitrateCoarse' ! Allocate and register each field individually DO N = 1, 2 CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = TRIM( fieldId(N) ), & Ptr2Data = State_Chm%IsorropNitrate, & nSlots = 2, & nCat = N, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDDO !--------------------------------------------------------------------- ! IsorropChloride !--------------------------------------------------------------------- fieldId(1) = 'IsorropChlorideAccum' fieldId(2) = 'IsorropChlorideCoarse' ! Allocate and register each field individually DO N = 1, 2 CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = TRIM( fieldId(N) ), & Ptr2Data = State_Chm%IsorropChloride, & nSlots = 2, & nCat = N, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDDO !--------------------------------------------------------------------- ! IsorropBisulfate !--------------------------------------------------------------------- chmId = 'IsorropBisulfate' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%IsorropBisulfate, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !--------------------------------------------------------------------- ! QLxphCloud !--------------------------------------------------------------------- chmId = 'QLxpHCloud' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%QLxpHCloud, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !--------------------------------------------------------------------- ! ORVCsesq !--------------------------------------------------------------------- chmId = 'ORVCsesq' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%ORVCsesq, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !--------------------------------------------------------------------- ! isCloud (jmm 3/1/19) !--------------------------------------------------------------------- chmId = 'isCloud' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%isCloud, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !--------------------------------------------------------------------- ! SSAlk !--------------------------------------------------------------------- fieldId(1) = 'SSAlkAccumMode' fieldId(2) = 'SSAlkCoarseMode' ! Allocate and register each field individually DO N = 1, 2 CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = TRIM( fieldId(N) ), & Ptr2Data = State_Chm%SSAlk, & nSlots = 2, & nCat = N, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDDO !--------------------------------------------------------------------- ! HSO3_AQ !--------------------------------------------------------------------- chmId = 'HSO3AQ' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%HSO3_AQ, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !--------------------------------------------------------------------- ! SO3_AQ !--------------------------------------------------------------------- chmId = 'SO3AQ' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%SO3_AQ, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !--------------------------------------------------------------------- ! fupdateHOBr !--------------------------------------------------------------------- chmId = 'fupdateHOBr' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%fupdateHOBr, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !--------------------------------------------------------------------- ! fupdateHOCl !--------------------------------------------------------------------- chmId = 'fupdateHOCl' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%fupdateHOCl, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !--------------------------------------------------------------------- ! DryDepNitrogen !--------------------------------------------------------------------- chmId = 'DryDepNitrogen' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%DryDepNitrogen, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !--------------------------------------------------------------------- ! WetDepNitrogen !--------------------------------------------------------------------- chmId = 'WetDepNitrogen' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%WetDepNitrogen, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! TOMS_MOD ! Not registered to the registry as these are fields internal to the ! toms_mod module state. !------------------------------------------------------------------------ chmId = 'TO3_DAILY' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%TO3_DAILY, & noRegister = .TRUE., & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF chmId = 'TOMS1' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%TOMS1, & noRegister = .TRUE., & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF chmId = 'TOMS2' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%TOMS2, & noRegister = .TRUE., & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF ! ITS_A_FULLCHEM_SUM or ITS_AN_AEROSOL_SIM !======================================================================== ! Allocate and initialize KPPHvalue (used by KPP-based simulations) !======================================================================== IF ( Input_Opt%ITS_A_FULLCHEM_SIM .or. & Input_Opt%ITS_A_MERCURY_SIM ) THEN chmId = 'KPPHvalue' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%KPPHvalue, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF !======================================================================== ! Allocate and initialize fields for FULLCHEM or MERCURY simulations !======================================================================== IF ( Input_Opt%ITS_A_FULLCHEM_SIM .or. Input_Opt%ITS_A_MERCURY_SIM ) THEN !--------------------------------------------------------------------- ! STATE_PSC (polar stratospheric clouds) !--------------------------------------------------------------------- chmId = 'StatePSC' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%STATE_PSC, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !--------------------------------------------------------------------- ! KHETI_SLA !--------------------------------------------------------------------- fieldId = (/ 'KhetiSLAN2O5H2O ', 'KhetiSLAN2O5HCl ', & 'KhetiSLAClNO3H2O ', 'KhetiSLAClNO3HCl ', & 'KhetiSLAClNO3HBr ', 'KhetiSLABrNO3H2O ', & 'KhetiSLABrNO3HCl ', 'KhetiSLAHOClHCl ', & 'KhetiSLAHOClHBr ', 'KhetiSLAHOBrHCl ', & 'KhetiSLAHOBrHBr ', ' ', & ' ', ' ' /) ! Allocate and register each field individually nKHLSA = 11 DO N = 1, nKHLSA CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = TRIM( fieldId(N) ), & Ptr2Data = State_Chm%KHETI_SLA, & nSlots = nKHLSA, & nCat = N, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDDO !------------------------------------------------------------------------ ! TOMS_MOD ! Not registered to the registry as these are fields internal to the ! toms_mod module state. !------------------------------------------------------------------------ chmId = 'TO3_DAILY' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%TO3_DAILY, & noRegister = .TRUE., & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF chmId = 'TOMS1' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%TOMS1, & noRegister = .TRUE., & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF chmId = 'TOMS2' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%TOMS2, & noRegister = .TRUE., & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF !======================================================================== ! Allocate and initialize quantities for wet deposition routines !======================================================================== !------------------------------------------------------------------------ ! H2O2AfterChem !------------------------------------------------------------------------ chmId = 'H2O2AfterChem' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%H2O2AfterChem, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! SO2AfterChem !------------------------------------------------------------------------ chmId = 'SO2AfterChem' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%SO2AfterChem, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! phCloud !------------------------------------------------------------------------ chmId = 'pHCloud' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%pHcloud, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Set default pHcloud value to 5.6, which is typical values of cloud ! water pH in the atmosphere. This pH value reflects dissolved CO2 ! in cloud water. See geoschem/geos-chem Pull Request #779. State_Chm%pHCloud = 5.6_fp #ifdef LUO_WETDEP !------------------------------------------------------------------------ ! Gan Luo et al 2020 wetdep fields !------------------------------------------------------------------------ IF ( Input_Opt%LWETD .or. Input_Opt%LCONV ) THEN ! %%% QQ3D %%% chmId = 'QQ3D' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%QQ3D, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! %%% KRATE %%% chmId = 'KRATE' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%KRATE, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! %%% phRain %%% chmId = 'pHrain' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%pHrain, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! %%% QQpHrain %%% chmId = 'QQpHrain' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%QQpHrain, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! %%% QQrain %%% chmId = 'QQrain' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%QQrain, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF #endif !======================================================================== ! Allocate fields for various GeosCore modules !======================================================================== !------------------------------------------------------------------------ ! Ocean surface iodide !------------------------------------------------------------------------ IF ( State_Chm%nDryDep > 0 ) THEN chmId = 'Iodide' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%Iodide, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF !------------------------------------------------------------------------ ! Ocean surface salinity !------------------------------------------------------------------------ IF ( State_Chm%nDryDep > 0 ) THEN chmId = 'Salinity' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%Salinity, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF !------------------------------------------------------------------------ ! DryDepFreq !------------------------------------------------------------------------ IF ( State_Chm%nDryDep > 0 ) THEN chmId = 'DryDepFreq' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%DryDepFreq, & nSlots = State_Chm%nDryDep, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF !------------------------------------------------------------------ ! DryDepVel !------------------------------------------------------------------ chmID = 'DryDepVel' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%DryDepVel, & nSlots = State_Chm%nDryDep, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF #ifdef MODEL_GEOS !======================================================================== ! Allocate and initialize aerodynamic resistance fields (GEOS-5 only) !======================================================================== chmID = 'DryDepRa2m' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%DryDepRa2m, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF chmID = 'DryDepRa10m' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%DryDepRa10m, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF #endif ! J(OH) and J(NO2) are only used in fullchem simulations IF ( Input_Opt%ITS_A_FULLCHEM_SIM ) THEN !--------------------------------------------------------------------- ! J(OH); needed for restart file input to HEMCO PARANOx extension !--------------------------------------------------------------------- chmId = 'JOH' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%JOH, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !--------------------------------------------------------------------- ! J(NO2); needed for restart file input to HEMCO PARANOx extension !--------------------------------------------------------------------- chmId = 'JNO2' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%JNO2, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF !------------------------------------------------------------------ ! Surface flux for non-local PBL mixing !------------------------------------------------------------------ IF ( Input_Opt%LTURB .and. Input_Opt%LNLPBL ) THEN chmId = 'SurfaceFlux' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%SurfaceFlux, & nSlots = State_Chm%nAdvect, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF !------------------------------------------------------------------ ! TLSTT (Linoz) !------------------------------------------------------------------ IF ( Input_Opt%LINOZ_NFIELDS > 0 ) THEN chmId = 'TLSTT' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%TLSTT, & nSlots = Input_Opt%LINOZ_NFIELDS, & noRegister = .TRUE., & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF !------------------------------------------------------------------------ ! SFC_CH4 ! Not registered to the registry as these are fields internal to the ! set_global_ch4_mod module state. !------------------------------------------------------------------------ chmId = 'SFC_CH4' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%SFC_CH4, & noRegister = .TRUE., & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF #if defined(MODEL_CESM) IF ( Input_Opt%ITS_A_FULLCHEM_SIM ) THEN !--------------------------------------------------------------------- ! H2SO4_PRDR: H2SO4 production rate [mol/mol] for MAM4 interface !--------------------------------------------------------------------- chmId = 'H2SO4_PRDR' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%H2SO4_PRDR, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF #endif !======================================================================= ! Initialize State_Chm quantities pertinent to Hg simulations !======================================================================= IF ( Input_Opt%ITS_A_MERCURY_SIM ) THEN CALL Init_Hg_Simulation_Fields( Input_Opt, State_Chm, State_Grid, & SpcCount, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in routine "Init_Hg_Simulation_Fields"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !======================================================================= ! Initialize State_Chm quantities pertinent to RRTMG simulations !======================================================================= If (Input_Opt%LRAD) Then ! %%% TStrat_Adj %%% chmId = 'TStrat_Adj' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%TStrat_Adj, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF #ifdef APM !======================================================================= ! Initialize State_Chm quantities for APM microphysics simulations !======================================================================= chmId = 'PSO4SO2APM2' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%PSO4_SO2APM2, & noRegister = .TRUE., & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF #endif !======================================================================== ! Once we are done registering all fields, we need to define the ! registry lookup table. This algorithm will avoid hash collisions. !======================================================================== CALL Registry_Set_LookupTable( Registry = State_Chm%Registry, & RegDict = State_Chm%RegDict, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in routine "Registry_Set_LookupTable"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !======================================================================== ! Print out the list of registered fields !======================================================================== IF ( Input_Opt%amIRoot .and. Input_Opt%Verbose ) THEN WRITE( 6, 10 ) 10 FORMAT( /, 'Registered variables contained within the State_Chm object:') WRITE( 6, '(a)' ) REPEAT( '=', 79 ) ! Print registered fields CALL Registry_Print( Input_Opt = Input_Opt, & Registry = State_Chm%Registry, & ShortFormat = .TRUE., & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in routine "Registry Print"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !======================================================================= ! Cleanup and quit !======================================================================= ! Free pointer for safety's sake ThisSpc => NULL() ! Format statement 100 FORMAT( I3, 2x, A31 ) 110 FORMAT( 5x, '===> ', f4.1, 1x, A6 ) 120 FORMAT( 5x, '---> ', f4.1, 1x, A4 ) END SUBROUTINE Init_State_Chm !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_Mapping_Vectors ! ! !DESCRIPTION: Initializes the 1-D mapping vectors in the State_Chm object. ! This was split off from Init_State_Chm. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_Mapping_Vectors( Input_Opt, State_Chm, TaggedDiag_List, RC ) ! ! !USES: ! USE GcKpp_Parameters, ONLY : NSPEC USE Input_Opt_Mod, ONLY : OptInput USE TaggedDiagList_Mod, ONLY : TaggedDgnList ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(TaggedDgnList), INTENT(IN) :: TaggedDiag_List ! Tagged Diag List ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input Options TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REVISION HISTORY: ! 06 Jan 2015 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: C, N ! Strings CHARACTER(LEN=10 ) :: inds(6) CHARACTER(LEN=255) :: errMsg, thisLoc ! Objects TYPE(Species), POINTER :: ThisSpc !======================================================================== ! Init_Mapping_Vectors begins here! !======================================================================== ! Initialize RC = GC_SUCCESS ThisSpc => NULL() errMsg = '' thisLoc = & ' -> at Init_Mapping_Vectors (in module Headers/state_chm_mod.F90)' !======================================================================== ! Allocate and initialize mapping vectors to subset species !======================================================================== IF ( State_Chm%nAdvect > 0 ) THEN ALLOCATE( State_Chm%Map_Advect( State_Chm%nAdvect ), STAT=RC ) CALL GC_CheckVar( 'State_Chm%Map_Advect', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%Map_Advect = 0 ELSE ErrMsg = 'No advected species specified!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF IF ( State_Chm%nAeroSpc > 0 ) THEN ALLOCATE( State_Chm%Map_Aero( State_Chm%nAeroSpc ), STAT=RC ) CALL GC_CheckVar( 'State_Chm%Map_Aero', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%Map_Aero = 0 ENDIF IF ( State_Chm%nSpecies > 0 ) THEN ALLOCATE( State_Chm%Map_All( State_Chm%nSpecies ), STAT=RC ) CALL GC_CheckVar( 'State_Chm%Map_All', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%Map_All = 0 ENDIF IF ( State_Chm%nDryAlt > 0 ) THEN ALLOCATE( State_Chm%Map_DryAlt( State_Chm%nDryAlt ), STAT=RC ) CALL GC_CheckVar( 'State_Chm%Map_DryAlt', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%Map_DryAlt = 0 ENDIF IF ( State_Chm%nDryDep > 0 ) THEN ALLOCATE( State_Chm%Map_Drydep( State_Chm%nDryDep ), STAT=RC ) CALL GC_CheckVar( 'State_Chm%Map_Drydep', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%Map_DryDep = 0 ENDIF IF ( State_Chm%nGasSpc > 0 ) THEN ALLOCATE( State_Chm%Map_GasSpc( State_Chm%nGasSpc ), STAT=RC ) CALL GC_CheckVar( 'State_Chm%Map_GasSpc', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%Map_GasSpc = 0 ENDIF IF ( State_Chm%nHygGrth > 0 ) THEN ALLOCATE( State_Chm%Map_HygGrth( State_Chm%nHygGrth ), STAT=RC ) CALL GC_CheckVar( 'State_Chm%Map_HygGrth', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%Map_HygGrth = 0 ENDIF !--------------------------------------------------------------------------- ! NOTE: Need to also leave room for the omitted "dummy" KPP species in ! the mapping arrays so that the rest of the KPP indices will line up! ! -- Bob Yantosca (04 Jun 2021) N = State_Chm%nKppVar + State_Chm%nOmitted IF ( N > 0 ) THEN ALLOCATE( State_Chm%Map_KppVar( N ), STAT=RC ) CALL GC_CheckVar( 'State_Chm%Map_KppVar', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%Map_KppVar = 0 ! ALLOCATE( State_Chm%KPP_AbsTol( N ), STAT=RC ) CALL GC_CheckVar( 'State_Chm%Kpp_AbsTol', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%KPP_AbsTol = 0.0_f8 ALLOCATE( State_Chm%KPP_RelTol( N ), STAT=RC ) CALL GC_CheckVar( 'State_Chm%Kpp_RelTol', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%KPP_RelTol = 0.0_f8 ENDIF N = State_Chm%nKppFix + State_Chm%nOmitted IF ( N > 0 ) THEN ALLOCATE( State_Chm%Map_KppFix( N ), STAT=RC ) CALL GC_CheckVar( 'State_Chm%Map_KppFix', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%Map_KppFix = 0 ENDIF N = State_Chm%nKppSpc + State_Chm%nOmitted IF ( N > 0 ) THEN ALLOCATE( State_Chm%Map_KppSpc( N ), STAT=RC ) CALL GC_CheckVar( 'State_Chm%Map_KppSpc', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%Map_KppSpc = 0 ENDIF !--------------------------------------------------------------------------- IF ( State_Chm%nLoss > 0 ) THEN ALLOCATE( State_Chm%Name_Loss( State_Chm%nLoss ), STAT=RC ) CALL GC_CheckVar( 'State_Chm%Name_Loss', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%Name_Loss = '' ALLOCATE( State_Chm%Map_Loss( State_Chm%nLoss ), STAT=RC ) CALL GC_CheckVar( 'State_Chm%Map_Loss', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%Map_Loss = 0 ENDIF IF ( State_Chm%nPhotol > 0 ) THEN ALLOCATE( State_Chm%Map_Photol( State_Chm%nPhotol ), STAT=RC ) CALL GC_CheckVar( 'State_Chm%Map_Photol', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%Map_Photol = 0 ENDIF IF ( State_Chm%nProd >0 ) THEN ALLOCATE( State_Chm%Name_Prod( State_Chm%nProd ), STAT=RC ) CALL GC_CheckVar( 'State_Chm%Name_Prod', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%Name_Prod = '' ALLOCATE( State_Chm%Map_Prod( State_Chm%nProd ), STAT=RC ) CALL GC_CheckVar( 'State_Chm%Map_Prod', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%Map_Prod = 0 ENDIF IF ( State_Chm%nRadNucl > 0 ) THEN ALLOCATE( State_Chm%Map_RadNucl( State_Chm%nRadNucl ), STAT=RC ) CALL GC_CheckVar( 'State_Chm%Map_RadNucl', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%Map_RadNucl = 0 ENDIF IF ( State_Chm%nTracer > 0 ) THEN ALLOCATE( State_Chm%Map_Tracer( State_Chm%nTracer ), STAT=RC ) CALL GC_CheckVar( 'State_Chm%Map_Tracer', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%Map_Tracer = 0 ENDIF IF ( State_Chm%nWetDep > 0 ) THEN ALLOCATE( State_Chm%Map_WetDep( State_Chm%nWetDep ), STAT=RC ) CALL GC_CheckVar( 'State_Chm%Map_WetDep', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%Map_WetDep = 0 ENDIF IF ( State_Chm%Phot%nWLbins > 0 ) THEN ALLOCATE( State_Chm%Map_WL( State_Chm%Phot%nWLbins ), STAT=RC ) CALL GC_CheckVar( 'State_Chm%Map_WL', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%Map_WL = 0 ENDIF !======================================================================== ! Set up the species mapping vectors !======================================================================== IF ( Input_Opt%amIRoot ) THEN WRITE( 6,'( a)' ) REPEAT( '=', 79 ) WRITE( 6,'(a,/)' ) 'SPECIES NAMES AND INDICES' WRITE( 6,'( a)' ) & 'Name ModelId DryDepId WetDepId PhotolId HygGrthId KppSpcId' WRITE( 6,'( a)' ) REPEAT( '-', 79 ) ENDIF ! Loop over all species DO N = 1, State_Chm%nSpecies ! GEOS-Chem Species Database entry for species # N ThisSpc => State_Chm%SpcData(N)%Info !--------------------------------------------------------------------- ! Set up the mapping for ALL SPECIES !--------------------------------------------------------------------- State_Chm%Map_All(N) = ThisSpc%ModelID !--------------------------------------------------------------------- ! Set up the mapping for ADVECTED SPECIES !--------------------------------------------------------------------- IF ( ThisSpc%Is_Advected ) THEN C = ThisSpc%AdvectId State_Chm%Map_Advect(C) = ThisSpc%ModelId ENDIF !--------------------------------------------------------------------- ! Set up the mapping for AEROSOL SPECIES !--------------------------------------------------------------------- IF ( ThisSpc%Is_Aerosol ) THEN C = ThisSpc%AerosolId State_Chm%Map_Aero(C) = ThisSpc%ModelId ENDIF !--------------------------------------------------------------------- ! Set up the mapping for DRYDEP SPECIES TO SAVE AT A GIVEN ALTITUDE !--------------------------------------------------------------------- IF ( ThisSpc%Is_DryAlt ) THEN C = ThisSpc%DryAltId State_Chm%Map_DryAlt(C) = ThisSpc%ModelId ENDIF !--------------------------------------------------------------------- ! Set up the mapping for DRYDEP SPECIES !--------------------------------------------------------------------- IF ( ThisSpc%Is_DryDep ) THEN C = ThisSpc%DryDepId State_Chm%Map_Drydep(C) = ThisSpc%ModelId ENDIF !--------------------------------------------------------------------- ! Set up the mapping for GAS SPECIES !--------------------------------------------------------------------- IF ( ThisSpc%Is_Gas ) THEN C = ThisSpc%GasSpcId !### !### Uncomment for debug print if Map_GasSpc goes out-of-bounds !### print*, '===> ', ThisSpc%Name, C, ThisSpc%ModelId !### State_Chm%Map_GasSpc(C) = ThisSpc%ModelId ENDIF !--------------------------------------------------------------------- ! Set up the mapping for HYGROSCOPIC GROWTH SPECIES !--------------------------------------------------------------------- IF ( ThisSpc%Is_HygroGrowth ) THEN C = ThisSpc%HygGrthId State_Chm%Map_HygGrth(C) = ThisSpc%ModelId ENDIF !--------------------------------------------------------------------- ! Set up the mapping for KPP ACTIVE (VARIABLE) SPECIES !--------------------------------------------------------------------- IF ( ThisSpc%Is_ActiveChem ) THEN C = ThisSpc%KppVarId State_Chm%Map_KppVar(C) = ThisSpc%ModelId State_Chm%KPP_AbsTol(C) = ThisSpc%KPP_AbsTol State_Chm%KPP_RelTol(C) = ThisSpc%KPP_RelTol ENDIF !--------------------------------------------------------------------- ! Set up the mapping for KPP FIXED SPECIES !--------------------------------------------------------------------- IF ( ThisSpc%Is_FixedChem ) THEN C = ThisSpc%KppFixId State_Chm%Map_KppFix(C) = ThisSpc%ModelId ENDIF !--------------------------------------------------------------------- ! Set up the mapping for SPECIES IN THE KPP MECHANISM !--------------------------------------------------------------------- IF ( ThisSpc%Is_Kpp ) THEN C = ThisSpc%KppSpcId State_Chm%Map_KppSpc(C) = ThisSpc%ModelId ENDIF !--------------------------------------------------------------------- ! Set up the mapping for PHOTOLYSIS SPECIES !--------------------------------------------------------------------- IF ( ThisSpc%Is_Photolysis ) THEN C = ThisSpc%PhotolId State_Chm%Map_Photol(C) = ThisSpc%ModelId ENDIF !--------------------------------------------------------------------- ! Set up the mapping for RADIONUCLIDE SPECIES !--------------------------------------------------------------------- IF ( ThisSpc%Is_RadioNuclide ) THEN C = ThisSpc%RadNuclId State_Chm%Map_RadNucl(C) = ThisSpc%ModelId ENDIF !--------------------------------------------------------------------- ! Set up the mapping for TRANSPORT TRACER SPECIES !--------------------------------------------------------------------- IF ( ThisSpc%Is_Tracer ) THEN C = ThisSpc%TracerId State_Chm%Map_Tracer(C) = ThisSpc%ModelId ENDIF !--------------------------------------------------------------------- ! Set up the mapping for WETDEP SPECIES !--------------------------------------------------------------------- IF ( ThisSpc%Is_WetDep ) THEN C = ThisSpc%WetDepId State_Chm%Map_WetDep(C) = ThisSpc%ModelId ENDIF !--------------------------------------------------------------------- ! Write out species names and IDs !--------------------------------------------------------------------- IF ( Input_Opt%amIRoot ) THEN inds = ' -' IF ( ThisSpc%ModelId > 0 ) WRITE( inds(1), 100 ) ThisSpc%ModelId IF ( ThisSpc%DryDepId > 0 ) WRITE( inds(2), 100 ) ThisSpc%DryDepId IF ( ThisSpc%WetDepId > 0 ) WRITE( inds(3), 100 ) ThisSpc%WetDepId IF ( ThisSpc%PhotolId > 0 ) WRITE( inds(4), 100 ) ThisSpc%PhotolId IF ( ThisSpc%HygGrthId > 0 ) WRITE( inds(5), 100 ) ThisSpc%HygGrthId IF ( ThisSpc%KppSpcId > 0 ) WRITE( inds(6), 100 ) ThisSpc%KppSpcId WRITE( 6, 110 ) ThisSpc%Name(1:14), ( inds(C), C=1,6 ) 100 FORMAT( i10 ) 110 FORMAT( a14, 2x, 6a10 ) ENDIF ! Free pointer ThisSpc => NULL() ENDDO ! Write closing line IF ( Input_Opt%amIRoot ) WRITE( 6,'( a)' ) REPEAT( '=', 79) !------------------------------------------------------------------------ ! Set up the mapping for UVFlux Diagnostics ! placeholder for now since couldn't figure out how to read in WL from file !------------------------------------------------------------------------ IF ( State_Chm%Phot%nWLbins > 0 ) THEN ! Define identifying string DO N = 1, State_Chm%Phot%nWLbins State_Chm%Map_WL(N) = 0 ENDDO ENDIF !------------------------------------------------------------------------ ! Set up the mapping for PRODUCTION AND LOSS DIAGNOSTIC SPECIES !------------------------------------------------------------------------ IF ( State_Chm%nProd > 0 .or. State_Chm%nLoss > 0 ) THEN CALL MapProdLossSpecies( Input_Opt, State_Chm, TaggedDiag_List, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in routine "MapProdLossSpecies"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF END SUBROUTINE Init_Mapping_Vectors !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_Hg_Simulation_Fields ! ! !DESCRIPTION: Initializes State_Chm quantities that pertain to the ! Hg or tagged Hg simulations. This was split off from Init_State_Chm. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_Hg_Simulation_Fields( Input_Opt, State_Chm, State_Grid, & SpcCount, RC ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState ! ! INPUT PARAMETERS: ! TYPE(GrdState), INTENT(IN) :: State_Grid TYPE(SpcIndCt), INTENT(IN) :: SpcCount ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(OptInput), INTENT(INOUT) :: Input_Opt TYPE(ChmState), INTENT(INOUT) :: State_Chm ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! ! !REVISION HISTORY: ! 23 Jan 2015 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: C INTEGER :: N ! Strings CHARACTER(LEN=255) :: chmId CHARACTER(LEN=255) :: errMsg CHARACTER(LEN=255) :: errMsg_ir CHARACTER(LEN=255) :: thisLoc ! Objects TYPE(Species), POINTER :: ThisSpc !======================================================================== ! Init_Hg_Simulation_Fields begins here! !======================================================================== ! Initialize RC = GC_SUCCESS errMsg = '' errMsg_ir = 'Error encountered in "Init_and_Register", chmId = ' thisLoc = & ' -> at Init_Hg_Simulation_Fields (in module Headers/state_chm_mod.F90)' !------------------------------------------------------------------------ ! Hg(0) ocean mass !------------------------------------------------------------------------ chmId = 'OceanHg0' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%OceanHg0, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Hg(II) ocean mass !------------------------------------------------------------------------ chmId = 'OceanHg2' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%OceanHg2, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! HgP ocean mass !------------------------------------------------------------------------ chmId = 'OceanHgP' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%OceanHgP, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Reducible Hg snowpack on ocean !------------------------------------------------------------------------ chmId = 'SnowHgOcean' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%SnowHgOcean, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Reducible Hg snowpack on land !------------------------------------------------------------------------ chmId = 'SnowHgLand' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%SnowHgLand, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Non-reducible Hg snowpack on ocean !------------------------------------------------------------------------ chmId = 'SnowHgOceanStored' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%SnowHgOceanStored, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Non-reducible Hg snowpack on land !------------------------------------------------------------------------ chmId = 'SnowHgLandStored' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%SnowHgLandStored, & RC = RC ) !------------------------------------------------------------------------ ! TOMS_MOD ! Not registered to the registry as these are fields internal to the ! toms_mod module state. !------------------------------------------------------------------------ chmId = 'TO3_DAILY' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%TO3_DAILY, & noRegister = .TRUE., & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF chmId = 'TOMS1' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%TOMS1, & noRegister = .TRUE., & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF chmId = 'TOMS2' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & chmId = chmId, & Ptr2Data = State_Chm%TOMS2, & noRegister = .TRUE., & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( chmId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF END SUBROUTINE Init_Hg_Simulation_Fields !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Cleanup_State_Chm ! ! !DESCRIPTION: Routine CLEANUP\_STATE\_CHM deallocates all fields ! of the chemistry state object. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Cleanup_State_Chm( State_Chm, RC ) ! ! !USES: ! USE Species_Database_Mod, ONLY : Cleanup_Species_Database ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Return code ! ! !REMARKS: ! ! !REVISION HISTORY: ! 15 Oct 2012 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARAIBLES ! INTEGER :: N CHARACTER(LEN=255) :: ErrMsg, ThisLoc !======================================================================= ! Initialize !======================================================================= RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Cleanup_State_Chm (in Headers/state_chm_mod.F90)' !======================================================================= ! Deallocate and nullify pointer fields of State_Chm !======================================================================= IF ( ASSOCIATED( State_Chm%Phot ) ) THEN CALL Cleanup_Phot_Container( State_Chm%Phot, RC ) State_Chm%Phot => NULL() ENDIF IF ( ASSOCIATED( State_Chm%KPP_AbsTol ) ) THEN DEALLOCATE( State_Chm%KPP_AbsTol, STAT=RC ) CALL GC_CheckVar( 'State_Chm%KPP_AbsTol', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%KPP_AbsTol => NULL() ENDIF IF ( ASSOCIATED( State_Chm%KPP_RelTol ) ) THEN DEALLOCATE( State_Chm%KPP_RelTol, STAT=RC ) CALL GC_CheckVar( 'State_Chm%KPP_RelTol', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%KPP_RelTol => NULL() ENDIF IF ( ASSOCIATED( State_Chm%Map_Advect ) ) THEN DEALLOCATE( State_Chm%Map_Advect, STAT=RC ) CALL GC_CheckVar( 'State_Chm%Map_Advect', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%Map_Advect => NULL() ENDIF IF ( ASSOCIATED( State_Chm%Map_Aero ) ) THEN DEALLOCATE( State_Chm%Map_Aero, STAT=RC ) CALL GC_CheckVar( 'State_Chm%Map_Aero', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%Map_Aero => NULL() ENDIF IF ( ASSOCIATED( State_Chm%Map_All ) ) THEN DEALLOCATE( State_Chm%Map_All, STAT=RC ) CALL GC_CheckVar( 'State_Chm%Map_All', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%Map_All => NULL() ENDIF IF ( ASSOCIATED( State_Chm%Map_DryDep ) ) THEN DEALLOCATE( State_Chm%Map_DryDep, STAT=RC ) CALL GC_CheckVar( 'State_Chm%Map_Drydep', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%Map_DryDep => NULL() ENDIF IF ( ASSOCIATED( State_Chm%Map_GasSpc ) ) THEN DEALLOCATE( State_Chm%Map_GasSpc, STAT=RC ) CALL GC_CheckVar( 'State_Chm%Map_GasSpc', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%Map_GasSpc => NULL() ENDIF IF ( ASSOCIATED( State_Chm%Map_HygGrth ) ) THEN DEALLOCATE( State_Chm%Map_HygGrth, STAT=RC ) CALL GC_CheckVar( 'State_Chm%Map_HygGrth', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%Map_HygGrth => NULL() ENDIF IF ( ASSOCIATED( State_Chm%Map_KppVar ) ) THEN DEALLOCATE( State_Chm%Map_KppVar, STAT=RC ) CALL GC_CheckVar( 'State_Chm%Map_KppVar', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%Map_KppVar => NULL() ENDIF IF ( ASSOCIATED( State_Chm%Map_KppFix ) ) THEN DEALLOCATE( State_Chm%Map_KppFix, STAT=RC ) CALL GC_CheckVar( 'State_Chm%Map_KppFix', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%Map_KppFix => NULL() ENDIF IF ( ASSOCIATED( State_Chm%Map_KppSpc ) ) THEN DEALLOCATE( State_Chm%Map_KppSpc, STAT=RC ) CALL GC_CheckVar( 'State_Chm%Map_KppSpc', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%Map_KppSpc => NULL() ENDIF IF ( ASSOCIATED( State_Chm%Name_Loss ) ) THEN DEALLOCATE( State_Chm%Name_Loss, STAT=RC ) CALL GC_CheckVar( 'State_Chm%Name_Loss', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%Name_Loss => NULL() ENDIF IF ( ASSOCIATED( State_Chm%Map_Loss ) ) THEN DEALLOCATE( State_Chm%Map_Loss, STAT=RC ) CALL GC_CheckVar( 'State_Chm%Map_Loss', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%Map_Loss => NULL() ENDIF IF ( ASSOCIATED( State_Chm%Map_Photol ) ) THEN DEALLOCATE( State_Chm%Map_Photol, STAT=RC ) CALL GC_CheckVar( 'State_Chm%Map_Photol', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%Map_Photol => NULL() ENDIF IF ( ASSOCIATED( State_Chm%Name_Prod ) ) THEN DEALLOCATE( State_Chm%Name_Prod, STAT=RC ) CALL GC_CheckVar( 'State_Chm%Name_Prod', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%Name_Prod => NULL() ENDIF IF ( ASSOCIATED( State_Chm%Map_Prod ) ) THEN DEALLOCATE( State_Chm%Map_Prod, STAT=RC ) CALL GC_CheckVar( 'State_Chm%Map_Prod', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%Map_Prod => NULL() ENDIF IF ( ASSOCIATED( State_Chm%Map_RadNucl ) ) THEN DEALLOCATE( State_Chm%Map_RadNucl, STAT=RC ) CALL GC_CheckVar( 'State_Chm%Map_RadNucl', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%Map_RadNucl => NULL() ENDIF IF ( ASSOCIATED( State_Chm%Map_Tracer ) ) THEN DEALLOCATE( State_Chm%Map_Tracer, STAT=RC ) CALL GC_CheckVar( 'State_Chm%Map_Tracer', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%Map_Tracer => NULL() ENDIF IF ( ASSOCIATED( State_Chm%Map_WetDep ) ) THEN DEALLOCATE( State_Chm%Map_WetDep, STAT=RC ) CALL GC_CheckVar( 'State_Chm%Map_WetDep', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%Map_WetDep => NULL() ENDIF IF ( ASSOCIATED( State_Chm%Map_WL ) ) THEN DEALLOCATE( State_Chm%Map_WL, STAT=RC ) CALL GC_CheckVar( 'State_Chm%Map_WL', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%Map_WL => NULL() ENDIF IF ( ASSOCIATED ( State_Chm%Species ) ) THEN DO N = 1, State_Chm%nSpecies IF ( ASSOCIATED( State_Chm%Species(N)%Conc ) ) THEN #if !defined( MODEL_GCHPCTM ) DEALLOCATE( State_Chm%Species(N)%Conc, STAT=RC ) IF ( RC /= GC_SUCCESS ) RETURN #endif State_Chm%Species(N)%Conc => NULL() ENDIF ENDDO DEALLOCATE( State_Chm%Species ) CALL GC_CheckVar( 'State_Chm%Species', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%Species => NULL() ENDIF IF ( ASSOCIATED( State_Chm%BoundaryCond ) ) THEN DEALLOCATE( State_Chm%BoundaryCond, STAT=RC ) CALL GC_CheckVar( 'State_Chm%BoundaryCond', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%BoundaryCond => NULL() ENDIF IF ( ASSOCIATED( State_Chm%AerMass ) ) THEN CALL Cleanup_AerMass_Container(State_Chm%AerMass, RC ) DEALLOCATE( State_Chm%AerMass ) State_Chm%AerMass => NULL() ENDIF IF ( ASSOCIATED( State_Chm%AeroArea ) ) THEN DEALLOCATE( State_Chm%AeroArea, STAT=RC ) CALL GC_CheckVar( 'State_Chm%AeroArea', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%AeroArea => NULL() ENDIF IF ( ASSOCIATED( State_Chm%AeroRadi ) ) THEN DEALLOCATE( State_Chm%AeroRadi, STAT=RC ) CALL GC_CheckVar( 'State_Chm%AeroRadi', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%AeroRadi => NULL() ENDIF IF ( ASSOCIATED( State_Chm%AClArea ) ) THEN DEALLOCATE( State_Chm%AClArea, STAT=RC ) CALL GC_CheckVar( 'State_Chm%AClArea', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%AClArea => NULL() ENDIF IF ( ASSOCIATED( State_Chm%AClRadi ) ) THEN DEALLOCATE( State_Chm%AClRadi, STAT=RC ) CALL GC_CheckVar( 'State_Chm%AClRadi', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%AClRadi => NULL() ENDIF IF ( ASSOCIATED( State_Chm%SoilDust ) ) THEN DEALLOCATE( State_Chm%SoilDust, STAT=RC ) CALL GC_CheckVar( 'State_Chm%SoilDust', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%SoilDust => NULL() ENDIF IF ( ASSOCIATED( State_Chm%WetAeroArea ) ) THEN DEALLOCATE( State_Chm%WetAeroArea, STAT=RC ) CALL GC_CheckVar( 'State_Chm%WetAeroArea', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%WetAeroArea => NULL() ENDIF IF ( ASSOCIATED( State_Chm%WetAeroRadi ) ) THEN DEALLOCATE( State_Chm%WetAeroRadi, STAT=RC ) CALL GC_CheckVar( 'State_Chm%WetAeroRadi', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%WetAeroRadi => NULL() ENDIF IF ( ASSOCIATED( State_Chm%AeroH2O ) ) THEN DEALLOCATE( State_Chm%AeroH2O, STAT=RC ) CALL GC_CheckVar( 'State_Chm%AeroH2O', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%AeroH2O => NULL() ENDIF IF ( ASSOCIATED( State_Chm%GammaN2O5 ) ) THEN DEALLOCATE( State_Chm%GammaN2O5, STAT=RC ) CALL GC_CheckVar( 'State_Chm%GammaN2O5', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%GammaN2O5 => NULL() ENDIF IF ( ASSOCIATED( State_Chm%OMOC ) ) THEN DEALLOCATE( State_Chm%OMOC, STAT=RC ) CALL GC_CheckVar( 'State_Chm%OMOC', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%OMOC => NULL() ENDIF IF ( ASSOCIATED( State_Chm%OMOC_POA ) ) THEN DEALLOCATE( State_Chm%OMOC_POA, STAT=RC ) CALL GC_CheckVar( 'State_Chm%OMOC_POA', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%OMOC_POA => NULL() ENDIF IF ( ASSOCIATED( State_Chm%OMOC_OPOA ) ) THEN DEALLOCATE( State_Chm%OMOC_OPOA, STAT=RC ) CALL GC_CheckVar( 'State_Chm%OMOC_OPOA', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%OMOC_OPOA => NULL() ENDIF IF ( ASSOCIATED( State_Chm%IsorropAeropH ) ) THEN DEALLOCATE( State_Chm%IsorropAeropH, STAT=RC ) CALL GC_CheckVar( 'State_Chm%IsorropAeropH', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%IsorropAeropH => NULL() ENDIF IF ( ASSOCIATED( State_Chm%IsorropHplus ) ) THEN DEALLOCATE( State_Chm%IsorropHplus, STAT=RC ) CALL GC_CheckVar( 'State_Chm%IsorropHplus', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%IsorropHplus => NULL() ENDIF IF ( ASSOCIATED( State_Chm%IsorropAeroH2O ) ) THEN DEALLOCATE( State_Chm%IsorropAeroH2O, STAT=RC ) CALL GC_CheckVar( 'State_Chm%IsorropAeroH2O', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%IsorropAeroH2O => NULL() ENDIF IF ( ASSOCIATED( State_Chm%IsorropSulfate ) ) THEN DEALLOCATE( State_Chm%IsorropSulfate, STAT=RC ) CALL GC_CheckVar( 'State_Chm%IsorropSulfate', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%IsorropSulfate => NULL() ENDIF IF ( ASSOCIATED( State_Chm%IsorropNitrate ) ) THEN DEALLOCATE( State_Chm%IsorropNitrate, STAT=RC ) CALL GC_CheckVar( 'State_Chm%IsorropNitrate', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%IsorropNitrate => NULL() ENDIF IF ( ASSOCIATED( State_Chm%IsorropChloride ) ) THEN DEALLOCATE( State_Chm%IsorropChloride, STAT=RC ) CALL GC_CheckVar( 'State_Chm%IsorropChloride', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%IsorropChloride => NULL() ENDIF IF ( ASSOCIATED( State_Chm%IsorropBisulfate ) ) THEN DEALLOCATE( State_Chm%IsorropBisulfate, STAT=RC ) CALL GC_CheckVar( 'State_Chm%IsorropBisulfate', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%IsorropBisulfate => NULL() ENDIF IF ( ASSOCIATED( State_Chm%pHCloud ) ) THEN DEALLOCATE( State_Chm%pHCloud, STAT=RC ) CALL GC_CheckVar( 'State_Chm%pHCloud', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%pHCloud => NULL() ENDIF IF ( ASSOCIATED( State_Chm%QLxpHCloud ) ) THEN DEALLOCATE( State_Chm%QLxpHCloud, STAT=RC ) CALL GC_CheckVar( 'State_Chm%QLxpHCloud', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%QLxpHCloud => NULL() ENDIF IF ( ASSOCIATED( State_Chm%ORVCsesq ) ) THEN DEALLOCATE( State_Chm%ORVCsesq, STAT=RC ) CALL GC_CheckVar( 'State_Chm%ORVCsesq', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%ORVCsesq => NULL() ENDIF IF ( ASSOCIATED( State_Chm%isCloud ) ) THEN DEALLOCATE( State_Chm%isCloud, STAT=RC ) CALL GC_CheckVar( 'State_Chm%isCloud', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%isCloud => NULL() ENDIF IF ( ASSOCIATED( State_Chm%SSAlk ) ) THEN DEALLOCATE( State_Chm%SSAlk, STAT=RC ) CALL GC_CheckVar( 'State_Chm%SSAlk', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%SSAlk => NULL() ENDIF IF ( ASSOCIATED( State_Chm%H2O2AfterChem ) ) THEN DEALLOCATE( State_Chm%H2O2AfterChem, STAT=RC ) CALL GC_CheckVar( 'State_Chm%H2O2AfterChem', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ASSOCIATED( State_Chm%SO2AfterChem ) ) THEN DEALLOCATE( State_Chm%SO2AfterChem, STAT=RC ) CALL GC_CheckVar( 'State_Chm%SO2AfterChem', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ASSOCIATED( State_Chm%DryDepNitrogen ) ) THEN DEALLOCATE( State_Chm%DryDepNitrogen, STAT=RC ) CALL GC_CheckVar( 'State_Chm%DryDepNitrogen', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ASSOCIATED( State_Chm%WetDepNitrogen ) ) THEN DEALLOCATE( State_Chm%WetDepNitrogen, STAT=RC ) CALL GC_CheckVar( 'State_Chm%WetDepNitrogen', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%WetDepNitrogen => NULL() ENDIF IF ( ASSOCIATED( State_Chm%KPPHvalue ) ) THEN DEALLOCATE( State_Chm%KPPHvalue, STAT=RC ) CALL GC_CheckVar( 'State_Chm%KPPHvalue', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%KPPHvalue => NULL() ENDIF IF ( ASSOCIATED( State_Chm%STATE_PSC ) ) THEN DEALLOCATE( State_Chm%STATE_PSC, STAT=RC ) CALL GC_CheckVar( 'State_Chm%State_PSC', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%STATE_PSC => NULL() ENDIF IF ( ASSOCIATED( State_Chm%KHETI_SLA ) ) THEN DEALLOCATE( State_Chm%KHETI_SLA, STAT=RC ) CALL GC_CheckVar( 'State_Chm%KHETI_SLA', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%KHETI_SLA => NULL() ENDIF IF ( ASSOCIATED( State_Chm%HSO3_AQ ) ) THEN DEALLOCATE( State_Chm%HSO3_AQ, STAT=RC ) CALL GC_CheckVar( 'State_Chm%HSO3_AQ', 3, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%HSO3_AQ => NULL() ENDIF IF ( ASSOCIATED( State_Chm%SO3_AQ ) ) THEN DEALLOCATE( State_Chm%SO3_AQ, STAT=RC ) CALL GC_CheckVar( 'State_Chm%SO3_AQ', 3, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%SO3_AQ => NULL() ENDIF IF ( ASSOCIATED( State_Chm%fupdateHOBr ) ) THEN DEALLOCATE( State_Chm%fupdateHOBr, STAT=RC ) CALL GC_CheckVar( 'State_Chm%fupdateHOBr', 3, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%fupdateHOBr => NULL() ENDIF IF ( ASSOCIATED( State_Chm%fupdateHOCl ) ) THEN DEALLOCATE( State_Chm%fupdateHOCl, STAT=RC ) CALL GC_CheckVar( 'State_Chm%fupdateHOCl', 3, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%fupdateHOCl => NULL() ENDIF IF ( ASSOCIATED( State_Chm%OceanHg0 ) ) THEN DEALLOCATE( State_Chm%OceanHg0, STAT=RC ) CALL GC_CheckVar( 'State_Chm%OceanHg0', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ASSOCIATED( State_Chm%OceanHg2 ) ) THEN DEALLOCATE( State_Chm%OceanHg2, STAT=RC ) CALL GC_CheckVar( 'State_Chm%OceanHg2', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ASSOCIATED( State_Chm%OceanHgP ) ) THEN DEALLOCATE( State_Chm%OceanHgP, STAT=RC ) CALL GC_CheckVar( 'State_Chm%OceanHgP', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ASSOCIATED( State_Chm%SnowHgOcean ) ) THEN DEALLOCATE( State_Chm%SnowHgOcean, STAT=RC ) CALL GC_CheckVar( 'State_Chm%SnowHgOcean', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ASSOCIATED( State_Chm%SnowHgLand ) ) THEN DEALLOCATE( State_Chm%SnowHgLand, STAT=RC ) CALL GC_CheckVar( 'State_Chm%SnowHgLand', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ASSOCIATED( State_Chm%SnowHgOceanStored ) ) THEN DEALLOCATE( State_Chm%SnowHgOceanStored, STAT=RC ) CALL GC_CheckVar( 'State_Chm%SnowHgOceanStored', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ASSOCIATED( State_Chm%SnowHgLandStored ) ) THEN DEALLOCATE( State_Chm%SnowHgLandStored, STAT=RC ) CALL GC_CheckVar( 'State_Chm%SnowHgLandStored', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ASSOCIATED( State_Chm%DryDepVel ) ) THEN DEALLOCATE( State_Chm%DryDepVel, STAT=RC ) CALL GC_CheckVar( 'State_Chm%DryDepVel', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%DryDepVel => NULL() ENDIF IF ( ASSOCIATED( State_Chm%DryDepFreq ) ) THEN DEALLOCATE( State_Chm%DryDepFreq, STAT=RC ) CALL GC_CheckVar( 'State_Chm%DryDepFreq', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%DryDepFreq => NULL() ENDIF IF ( ASSOCIATED( State_Chm%Iodide ) ) THEN DEALLOCATE( State_Chm%Iodide, STAT=RC ) CALL GC_CheckVar( 'State_Chm%Iodide', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%Iodide => NULL() ENDIF IF ( ASSOCIATED( State_Chm%Salinity ) ) THEN DEALLOCATE( State_Chm%Salinity, STAT=RC ) CALL GC_CheckVar( 'State_Chm%Salinity', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%Salinity => NULL() ENDIF #ifdef MODEL_GEOS IF ( ASSOCIATED( State_Chm%DryDepRa2m ) ) THEN DEALLOCATE( State_Chm%DryDepRa2m, STAT=RC ) CALL GC_CheckVar( 'State_Chm%DryDepRa2m', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%DryDepRa2m => NULL() ENDIF IF ( ASSOCIATED( State_Chm%DryDepRa10m ) ) THEN DEALLOCATE( State_Chm%DryDepRa10m, STAT=RC ) CALL GC_CheckVar( 'State_Chm%DryDepRa10m', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%DryDepRa10m => NULL() ENDIF ! CO2 photolysis stuff IF ( ASSOCIATED( State_Chm%sdat ) ) THEN DEALLOCATE( State_Chm%sdat, STAT=RC ) CALL GC_CheckVar( 'State_Chm%sdat', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%sdat => NULL() ENDIF IF ( ASSOCIATED( State_Chm%o2jdat ) ) THEN DEALLOCATE( State_Chm%o2jdat, STAT=RC ) CALL GC_CheckVar( 'State_Chm%o2jdat', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%o2jdat => NULL() ENDIF IF ( ASSOCIATED( State_Chm%sza_tab ) ) THEN DEALLOCATE( State_Chm%sza_tab, STAT=RC ) CALL GC_CheckVar( 'State_Chm%sza_tab', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%sza_tab => NULL() ENDIF IF ( ASSOCIATED( State_Chm%o3_tab ) ) THEN DEALLOCATE( State_Chm%o3_tab, STAT=RC ) CALL GC_CheckVar( 'State_Chm%o3_tab', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%o3_tab => NULL() ENDIF IF ( ASSOCIATED( State_Chm%xtab ) ) THEN DEALLOCATE( State_Chm%xtab, STAT=RC ) CALL GC_CheckVar( 'State_Chm%xtab', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%xtab => NULL() ENDIF IF ( ASSOCIATED( State_Chm%CH2O_aq ) ) THEN DEALLOCATE( State_Chm%CH2O_aq, STAT=RC ) CALL GC_CheckVar( 'State_Chm%CH2O_aq', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%CH2O_aq => NULL() ENDIF IF ( ASSOCIATED( State_Chm%rlam ) ) THEN DEALLOCATE( State_Chm%rlam, STAT=RC ) CALL GC_CheckVar( 'State_Chm%rlam', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%rlam => NULL() ENDIF #endif IF ( ASSOCIATED( State_Chm%JOH ) ) THEN DEALLOCATE( State_Chm%JOH, STAT=RC ) CALL GC_CheckVar( 'State_Chm%JOH', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%JOH => NULL() ENDIF IF ( ASSOCIATED( State_Chm%JNO2 ) ) THEN DEALLOCATE( State_Chm%JNO2, STAT=RC ) CALL GC_CheckVar( 'State_Chm%JNO2', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%JNO2 => NULL() ENDIF IF ( ASSOCIATED( State_Chm%SurfaceFlux ) ) THEN DEALLOCATE( State_Chm%SurfaceFlux, STAT=RC ) CALL GC_CheckVar( 'State_Chm%SurfaceFlux', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%SurfaceFlux => NULL() ENDIF IF ( ASSOCIATED( State_Chm%TLSTT ) ) THEN DEALLOCATE( State_Chm%TLSTT, STAT=RC ) CALL GC_CheckVar( 'State_Chm%TLSTT', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%TLSTT => NULL() ENDIF #ifdef LUO_WETDEP IF ( ASSOCIATED( State_Chm%QQ3D ) ) THEN DEALLOCATE( State_Chm%QQ3D, STAT=RC ) CALL GC_CheckVar( 'State_Chm%QQ3D', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%QQ3D => NULL() ENDIF IF ( ASSOCIATED( State_Chm%KRATE ) ) THEN DEALLOCATE( State_Chm%KRATE, STAT=RC ) CALL GC_CheckVar( 'State_Chm%KRATE', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%KRATE => NULL() ENDIF IF ( ASSOCIATED( State_Chm%pHrain ) ) THEN DEALLOCATE( State_Chm%pHrain, STAT=RC ) CALL GC_CheckVar( 'State_Chm%pHrain', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%pHrain => NULL() ENDIF IF ( ASSOCIATED( State_Chm%QQpHrain ) ) THEN DEALLOCATE( State_Chm%QQpHrain, STAT=RC ) CALL GC_CheckVar( 'State_Chm%QQpHrain', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%QQpHrain => NULL() ENDIF IF ( ASSOCIATED( State_Chm%QQrain ) ) THEN DEALLOCATE( State_Chm%QQrain, STAT=RC ) CALL GC_CheckVar( 'State_Chm%QQrain', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%QQrain => NULL() ENDIF #endif IF ( ASSOCIATED( State_Chm%SFC_CH4 ) ) THEN DEALLOCATE( State_Chm%SFC_CH4, STAT=RC ) CALL GC_CheckVar( 'State_Chm%SFC_CH4', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%SFC_CH4 => NULL() ENDIF IF ( ASSOCIATED( State_Chm%TO3_DAILY ) ) THEN DEALLOCATE( State_Chm%TO3_DAILY, STAT=RC ) CALL GC_CheckVar( 'State_Chm%TO3_DAILY', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%TO3_DAILY => NULL() ENDIF IF ( ASSOCIATED( State_Chm%TOMS1 ) ) THEN DEALLOCATE( State_Chm%TOMS1, STAT=RC ) CALL GC_CheckVar( 'State_Chm%TOMS1', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%TOMS1 => NULL() ENDIF IF ( ASSOCIATED( State_Chm%TOMS2 ) ) THEN DEALLOCATE( State_Chm%TOMS2, STAT=RC ) CALL GC_CheckVar( 'State_Chm%TOMS2', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%TOMS2 => NULL() ENDIF #if defined(MODEL_CESM) IF ( ASSOCIATED( State_Chm%H2SO4_PRDR ) ) THEN DEALLOCATE( State_Chm%H2SO4_PRDR, STAT=RC ) CALL GC_CheckVar( 'State_Chm%H2SO4_PRDR', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%H2SO4_PRDR => NULL() ENDIF #endif IF ( ASSOCIATED( State_Chm%RAD_AER ) ) THEN DEALLOCATE( State_Chm%RAD_AER, STAT=RC ) CALL GC_CheckVar( 'State_Chm%RAD_AER', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%RAD_AER => NULL() ENDIF IF ( ASSOCIATED( State_Chm%SAD_AER ) ) THEN DEALLOCATE( State_Chm%SAD_AER, STAT=RC ) CALL GC_CheckVar( 'State_Chm%SAD_AER', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%SAD_AER => NULL() ENDIF IF ( ASSOCIATED( State_Chm%KG_AER ) ) THEN DEALLOCATE( State_Chm%KG_AER, STAT=RC ) CALL GC_CheckVar( 'State_Chm%KG_AER', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%KG_AER => NULL() ENDIF IF ( ASSOCIATED( State_Chm%RHO_AER ) ) THEN DEALLOCATE( State_Chm%RHO_AER, STAT=RC ) CALL GC_CheckVar( 'State_Chm%RHO_AER', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%RHO_AER => NULL() ENDIF IF ( ASSOCIATED( State_Chm%NDENS_AER ) ) THEN DEALLOCATE( State_Chm%NDENS_AER, STAT=RC ) CALL GC_CheckVar( 'State_Chm%NDENS_AER', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%NDENS_AER => NULL() ENDIF IF ( ASSOCIATED( State_Chm%AERFRAC ) ) THEN DEALLOCATE( State_Chm%AERFRAC, STAT=RC ) CALL GC_CheckVar( 'State_Chm%AERFRAC', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%AERFRAC => NULL() ENDIF IF ( ASSOCIATED( State_Chm%AERFRACIND ) ) THEN DEALLOCATE( State_Chm%AERFRACIND, STAT=RC ) CALL GC_CheckVar( 'State_Chm%AERFRACIND', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%AERFRACIND => NULL() ENDIF IF ( ASSOCIATED( State_Chm%UCX_REGRID ) ) THEN DEALLOCATE( State_Chm%UCX_REGRID, STAT=RC ) CALL GC_CheckVar( 'State_Chm%UCX_REGRID', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%UCX_REGRID => NULL() ENDIF IF ( ASSOCIATED( State_Chm%UCX_PLEVS ) ) THEN DEALLOCATE( State_Chm%UCX_PLEVS, STAT=RC ) CALL GC_CheckVar( 'State_Chm%UCX_PLEVS', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%UCX_PLEVS => NULL() ENDIF IF ( ASSOCIATED( State_Chm%UCX_LATS ) ) THEN DEALLOCATE( State_Chm%UCX_LATS, STAT=RC ) CALL GC_CheckVar( 'State_Chm%UCX_LATS', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%UCX_LATS => NULL() ENDIF IF ( ASSOCIATED( State_Chm%NOX_O ) ) THEN DEALLOCATE( State_Chm%NOX_O, STAT=RC ) CALL GC_CheckVar( 'State_Chm%NOX_O', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%NOX_O => NULL() ENDIF IF ( ASSOCIATED( State_Chm%NOX_J ) ) THEN DEALLOCATE( State_Chm%NOX_J, STAT=RC ) CALL GC_CheckVar( 'State_Chm%NOX_J', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%NOX_J => NULL() ENDIF IF ( ASSOCIATED( State_Chm%SO4_TOPPHOT ) ) THEN DEALLOCATE( State_Chm%SO4_TOPPHOT, STAT=RC ) CALL GC_CheckVar( 'State_Chm%SO4_TOPPHOT', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%SO4_TOPPHOT => NULL() ENDIF IF ( ASSOCIATED( State_Chm%NOXCOEFF ) ) THEN DEALLOCATE( State_Chm%NOXCOEFF, STAT=RC ) CALL GC_CheckVar( 'State_Chm%NOXCOEFF', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%NOXCOEFF => NULL() ENDIF IF ( ASSOCIATED( State_Chm%NOXLAT ) ) THEN DEALLOCATE( State_Chm%NOXLAT, STAT=RC ) CALL GC_CheckVar( 'State_Chm%NOXLAT', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%NOXLAT => NULL() ENDIF #ifdef APM IF ( ASSOCIATED( State_Chm%PSO4_SO2APM2 ) ) THEN DEALLOCATE( State_Chm%PSO4_SO2APM2, STAT=RC ) CALL GC_CheckVar( 'State_Chm%PSO4_SO2APM2', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%PSO4_SO2APM2 => NULL() ENDIF #endif IF ( ASSOCIATED( State_Chm%TStrat_Adj ) ) THEN DEALLOCATE( State_Chm%TStrat_Adj, STAT=RC ) CALL GC_CheckVar( 'State_Chm%TStrat_Adj', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Chm%KRATE => NULL() ENDIF !----------------------------------------------------------------------- ! Template for deallocating more arrays, replace xxx with field name !----------------------------------------------------------------------- !IF ( ASSOCIATED( State_Chm%xxx ) ) THEN ! DEALLOCATE( State_Chm%xxx, STAT=RC ) ! CALL GC_CheckVar( 'State_Chm%xxx', 2, RC ) ! IF ( RC /= GC_SUCCESS ) RETURN ! State_Chm%xxx => NULL() !ENDIF !======================================================================= ! Deallocate the species database object field !======================================================================= ! This operation should ONLY be done if there are no remaining chemistry ! states in the system, as destroying this State_Chm%SpcData will destroy ! all %SpcDatas, incl. state_chm_mod.F90's SpcDataLocal, in this CPU. ! ! The variable state_chm_mod.F90 nChmState keeps track of the # of chemistry ! states initialized in the system. (hplin, 8/3/18) IF ( nChmState == 1 ) THEN CALL Cleanup_Species_Database( State_Chm%SpcData, RC ) CALL GC_CheckVar( 'State_Chm%SpcData', 3, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF ! Nullify the State_Chm%SpcData object State_Chm%SpcData => NULL() !======================================================================= ! Destroy the registry of fields for this module !======================================================================= CALL Registry_Destroy( State_Chm%Registry, State_Chm%RegDict, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not destroy registry object State_Chm%Registry!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Nullify the registry object State_Chm%Registry => NULL() !======================================================================= ! Decrease the counter of chemistry states in this CPU !======================================================================= nChmState = nChmState - 1 END SUBROUTINE Cleanup_State_Chm !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_Metadata_State_Chm ! ! !DESCRIPTION: Subroutine GET\_METADATA\_STATE\_CHM retrieves basic ! information about each State\_Chm field. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Get_Metadata_State_Chm( am_I_Root, metadataID, Found, & RC, Desc, Units, & PerSpc, Rank, Type, & VLoc ) ! ! !USES: ! USE Charpak_Mod, ONLY : To_UpperCase USE Registry_Params_Mod ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: am_I_Root CHARACTER(LEN=*), INTENT(IN) :: metadataID ! State_Chm field name ! ! !OUTPUT PARAMETERS: ! LOGICAL, INTENT(OUT) :: Found ! Item found? INTEGER, INTENT(OUT) :: RC ! Return code CHARACTER(LEN=255), INTENT(OUT), OPTIONAL :: Desc ! Long name string CHARACTER(LEN=255), INTENT(OUT), OPTIONAL :: Units ! Units string CHARACTER(LEN=255), INTENT(OUT), OPTIONAL :: PerSpc ! Max spc wildcard INTEGER, INTENT(OUT), OPTIONAL :: Rank ! # of dimensions INTEGER, INTENT(OUT), OPTIONAL :: Type ! Desc of data type INTEGER, INTENT(OUT), OPTIONAL :: VLoc ! Vert placement ! ! !REMARKS: ! ! !REVISION HISTORY: ! 02 Oct 2017 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=255) :: ErrMsg, ThisLoc, Name_AllCaps LOGICAL :: isDesc, isUnits, isRank, isType, isVLoc, isSpc !======================================================================= ! Initialize !======================================================================= ! Assume success RC = GC_SUCCESS ThisLoc = ' -> at Get_Metadata_State_Chm (in Headers/state_chm_mod.F90)' Found = .TRUE. ! Optional arguments present? isDesc = PRESENT( Desc ) isUnits = PRESENT( Units ) isRank = PRESENT( Rank ) isType = PRESENT( Type ) isVLoc = PRESENT( VLoc ) isSpc = PRESENT( PerSpc ) ! Set defaults for optional arguments. Assume type and vertical ! location are real (flexible precision) and center unless specified ! otherwise IF ( isUnits ) Units = '' IF ( isDesc ) Desc = '' IF ( isRank ) Rank = -1 ! Init # dims as bad value IF ( isType ) Type = KINDVAL_FP ! Assume flexible precision IF ( isVLoc ) VLoc = VLocationCenter ! Assume vertically centered IF ( isSpc ) PerSpc = '' ! Assume not per species ! Convert name to uppercase Name_AllCaps = To_Uppercase( TRIM( metadataID ) ) !======================================================================= ! Values for Retrieval (string comparison slow but happens only once) !======================================================================= SELECT CASE ( TRIM( Name_AllCaps ) ) CASE ( 'SPECIES' ) IF ( isDesc ) Desc = 'Concentration for species' IF ( isUnits ) Units = 'varies' IF ( isRank ) Rank = 3 IF ( isSpc ) PerSpc = 'ALL' #ifdef ADJOINT CASE ( 'SPECIESADJ' ) IF ( isDesc ) Desc = 'Adjoint variables for species' IF ( isUnits ) Units = 'varies' IF ( isRank ) Rank = 3 IF ( isSpc ) PerSpc = 'ALL' CASE ( 'COSTFUNCMASK' ) IF ( isDesc ) Desc = 'Cost function volume mask' IF ( isUnits ) Units = 'none' IF ( isRank ) Rank = 3 #endif CASE( 'BOUNDARYCOND' ) IF ( isDesc ) Desc = 'Transport boundary conditions for species' IF ( isUnits ) Units = 'kg kg-1 dry' IF ( isRank ) Rank = 3 IF ( isSpc ) PerSpc = 'ADV' CASE ( 'AEROAREAMDUST1' ) IF ( isDesc ) Desc = 'Dry aerosol area for mineral dust (0.15 um)' IF ( isUnits ) Units = 'cm2 cm-3' IF ( isRank ) Rank = 3 CASE ( 'AEROAREAMDUST2' ) IF ( isDesc ) Desc = 'Dry aerosol area for mineral dust (0.25 um)' IF ( isUnits ) Units = 'cm2 cm-3' IF ( isRank ) Rank = 3 CASE ( 'AEROAREAMDUST3' ) IF ( isDesc ) Desc = 'Dry aerosol area for mineral dust (0.4 um)' IF ( isUnits ) Units = 'cm2 cm-3' IF ( isRank ) Rank = 3 CASE ( 'AEROAREAMDUST4' ) IF ( isDesc ) Desc = 'Dry aerosol area for mineral dust (0.8 um)' IF ( isUnits ) Units = 'cm2 cm-3' IF ( isRank ) Rank = 3 CASE ( 'AEROAREAMDUST5' ) IF ( isDesc ) Desc = 'Dry aerosol area for mineral dust (1.5 um)' IF ( isUnits ) Units = 'cm2 cm-3' IF ( isRank ) Rank = 3 CASE ( 'AEROAREAMDUST6' ) IF ( isDesc ) Desc = 'Dry aerosol area for mineral dust (2.5 um)' IF ( isUnits ) Units = 'cm2 cm-3' IF ( isRank ) Rank = 3 CASE ( 'AEROAREAMDUST7' ) IF ( isDesc ) Desc = 'Dry aerosol area for mineral dust (4.0 um)' IF ( isUnits ) Units = 'cm2 cm-3' IF ( isRank ) Rank = 3 CASE ( 'AEROAREASULF' ) IF ( isDesc ) Desc = 'Dry aerosol area for black carbon' IF ( isUnits ) Units = 'cm2 cm-3' IF ( isRank ) Rank = 3 CASE ( 'AEROAREABC' ) IF ( isDesc ) Desc = 'Dry aerosol area for black carbon' IF ( isUnits ) Units = 'cm2 cm-3' IF ( isRank ) Rank = 3 CASE ( 'AEROAREAOC' ) IF ( isDesc ) Desc = 'Dry aerosol area for organic carbon' IF ( isUnits ) Units = 'cm2 cm-3' IF ( isRank ) Rank = 3 CASE ( 'AEROAREASSA' ) IF ( isDesc ) Desc = 'Dry aerosol area for sea salt,' & // ' accumulation mode' IF ( isUnits ) Units = 'cm2 cm-3' IF ( isRank ) Rank = 3 CASE ( 'AEROAREASSC' ) IF ( isDesc ) Desc = 'Dry aerosol area for sea salt, coarse mode' IF ( isUnits ) Units = 'cm2 cm-3' IF ( isRank ) Rank = 3 CASE ( 'AEROAREABGSULF' ) IF ( isDesc ) Desc = 'Dry aerosol area for background' & // ' stratospheric sulfate' IF ( isUnits ) Units = 'cm2 cm-3' IF ( isRank ) Rank = 3 CASE ( 'AEROAREAICEI' ) IF ( isDesc ) Desc = 'Dry aerosol area for irregular ice cloud' & // ' (Mischenko)' IF ( isUnits ) Units = 'cm2 cm-3' IF ( isRank ) Rank = 3 CASE ( 'AERORADIMDUST1' ) IF ( isDesc ) Desc = & 'Dry aerosol radius for mineral dust (0.15 um)' IF ( isUnits ) Units = 'cm' IF ( isRank ) Rank = 3 CASE ( 'AERORADIMDUST2' ) IF ( isDesc ) Desc = & 'Dry aerosol radius for mineral dust (0.25 um)' IF ( isUnits ) Units = 'cm' IF ( isRank ) Rank = 3 CASE ( 'AERORADIMDUST3' ) IF ( isDesc ) Desc = & 'Dry aerosol radius for mineral dust (0.4 um)' IF ( isUnits ) Units = 'cm' IF ( isRank ) Rank = 3 CASE ( 'AERORADIMDUST4' ) IF ( isDesc ) Desc = 'Dry aerosol radius for mineral dust (0.8 um)' IF ( isUnits ) Units = 'cm' IF ( isRank ) Rank = 3 CASE ( 'AERORADIMDUST5' ) IF ( isDesc ) Desc = 'Dry aerosol radius for mineral dust (1.5 um)' IF ( isUnits ) Units = 'cm' IF ( isRank ) Rank = 3 CASE ( 'AERORADIMDUST6' ) IF ( isDesc ) Desc = 'Dry aerosol radius for mineral dust (2.5 um)' IF ( isUnits ) Units = 'cm' IF ( isRank ) Rank = 3 CASE ( 'AERORADIMDUST7' ) IF ( isDesc ) Desc = 'Dry aerosol radius for mineral dust (4.0 um)' IF ( isUnits ) Units = 'cm' IF ( isRank ) Rank = 3 CASE ( 'AERORADISULF' ) IF ( isDesc ) Desc = 'Dry aerosol radius for tropospheric sulfate' IF ( isUnits ) Units = 'cm' IF ( isRank ) Rank = 3 CASE ( 'AERORADIBC' ) IF ( isDesc ) Desc = 'Dry aerosol radius for black carbon' IF ( isUnits ) Units = 'cm' IF ( isRank ) Rank = 3 CASE ( 'AERORADIOC' ) IF ( isDesc ) Desc = 'Dry aerosol radius for organic carbon' IF ( isUnits ) Units = 'cm' IF ( isRank ) Rank = 3 CASE ( 'AERORADISSA' ) IF ( isDesc ) Desc = 'Dry aerosol radius for sea salt,' & // ' accumulation mode' IF ( isUnits ) Units = 'cm' IF ( isRank ) Rank = 3 CASE ( 'AERORADISSC' ) IF ( isDesc ) Desc = 'Dry aerosol radius for sea salt, coarse mode' IF ( isUnits ) Units = 'cm' IF ( isRank ) Rank = 3 CASE ( 'AERORADIBGSULF' ) IF ( isDesc ) Desc = 'Dry aerosol radius for background' & // ' stratospheric sulfate' IF ( isUnits ) Units = 'cm' IF ( isRank ) Rank = 3 CASE ( 'AERORADIICEI' ) IF ( isDesc ) Desc = 'Dry aerosol radius for irregular ice' & // ' cloud (Mischenko)' IF ( isUnits ) Units = 'cm' IF ( isRank ) Rank = 3 CASE ( 'WETAEROAREAMDUST1' ) IF ( isDesc ) Desc = 'Wet aerosol area for mineral dust (0.15 um)' IF ( isUnits ) Units = 'cm2 cm-3' IF ( isRank ) Rank = 3 CASE ( 'WETAEROAREAMDUST2' ) IF ( isDesc ) Desc = 'Wet aerosol area for mineral dust (0.25 um)' IF ( isUnits ) Units = 'cm2 cm-3' IF ( isRank ) Rank = 3 CASE ( 'WETAEROAREAMDUST3' ) IF ( isDesc ) Desc = 'Wet aerosol area for mineral dust (0.4 um)' IF ( isUnits ) Units = 'cm2 cm-3' IF ( isRank ) Rank = 3 CASE ( 'WETAEROAREAMDUST4' ) IF ( isDesc ) Desc = 'Wet aerosol area for mineral dust (0.8 um)' IF ( isUnits ) Units = 'cm2 cm-3' IF ( isRank ) Rank = 3 CASE ( 'WETAEROAREAMDUST5' ) IF ( isDesc ) Desc = 'Wet aerosol area for mineral dust (1.5 um)' IF ( isUnits ) Units = 'cm2 cm-3' IF ( isRank ) Rank = 3 CASE ( 'WETAEROAREAMDUST6' ) IF ( isDesc ) Desc = 'Wet aerosol area for mineral dust (2.5 um)' IF ( isUnits ) Units = 'cm2 cm-3' IF ( isRank ) Rank = 3 CASE ( 'WETAEROAREAMDUST7' ) IF ( isDesc ) Desc = 'Wet aerosol area for mineral dust (4.0 um)' IF ( isUnits ) Units = 'cm2 cm-3' IF ( isRank ) Rank = 3 CASE ( 'WETAEROAREASULF' ) IF ( isDesc ) Desc = 'Wet aerosol area for tropospheric sulfate' IF ( isUnits ) Units = 'cm2 cm-3' IF ( isRank ) Rank = 3 CASE ( 'WETAEROAREABC' ) IF ( isDesc ) Desc = 'Wet aerosol area for black carbon' IF ( isUnits ) Units = 'cm2 cm-3' IF ( isRank ) Rank = 3 CASE ( 'WETAEROAREAOC' ) IF ( isDesc ) Desc = 'Wet aerosol area for organic carbon' IF ( isUnits ) Units = 'cm2 cm-3' IF ( isRank ) Rank = 3 CASE ( 'WETAEROAREASSA' ) IF ( isDesc ) Desc = 'Wet aerosol area for sea salt,' & // ' accumulation mode' IF ( isUnits ) Units = 'cm2 cm-3' IF ( isRank ) Rank = 3 CASE ( 'WETAEROAREASSC' ) IF ( isDesc ) Desc = 'Wet aerosol area for sea salt, coarse mode' IF ( isUnits ) Units = 'cm2 cm-3' IF ( isRank ) Rank = 3 CASE ( 'WETAEROAREABGSULF' ) IF ( isDesc ) Desc = 'Wet aerosol area for background' & // ' stratospheric sulfate' IF ( isUnits ) Units = 'cm2 cm-3' IF ( isRank ) Rank = 3 CASE ( 'WETAEROAREAICEI' ) IF ( isDesc ) Desc = 'Wet aerosol area for irregular ice cloud' & // ' (Mischenko)' IF ( isUnits ) Units = 'cm2 cm-3' IF ( isRank ) Rank = 3 CASE ( 'WETAERORADIMDUST1' ) IF ( isDesc ) Desc = 'Wet aerosol radius for mineral dust (0.15 um)' IF ( isUnits ) Units = 'cm' IF ( isRank ) Rank = 3 CASE ( 'WETAERORADIMDUST2' ) IF ( isDesc ) Desc = 'Wet aerosol radius for mineral dust (0.25 um)' IF ( isUnits ) Units = 'cm' IF ( isRank ) Rank = 3 CASE ( 'WETAERORADIMDUST3' ) IF ( isDesc ) Desc = 'Wet aerosol radius for mineral dust (0.4 um)' IF ( isUnits ) Units = 'cm' IF ( isRank ) Rank = 3 CASE ( 'WETAERORADIMDUST4' ) IF ( isDesc ) Desc = 'Wet aerosol radius for mineral dust (0.8 um)' IF ( isUnits ) Units = 'cm' IF ( isRank ) Rank = 3 CASE ( 'WETAERORADIMDUST5' ) IF ( isDesc ) Desc = 'Wet aerosol radius for mineral dust (1.5 um)' IF ( isUnits ) Units = 'cm' IF ( isRank ) Rank = 3 CASE ( 'WETAERORADIMDUST6' ) IF ( isDesc ) Desc = 'Wet aerosol radius for mineral dust (2.5 um)' IF ( isUnits ) Units = 'cm' IF ( isRank ) Rank = 3 CASE ( 'WETAERORADIMDUST7' ) IF ( isDesc ) Desc = 'Wet aerosol radius for mineral dust (4.0 um)' IF ( isUnits ) Units = 'cm' IF ( isRank ) Rank = 3 CASE ( 'WETAERORADISULF' ) IF ( isDesc ) Desc = 'Wet aerosol radius for tropospheric sulfate' IF ( isUnits ) Units = 'cm' IF ( isRank ) Rank = 3 CASE ( 'WETAERORADIBC' ) IF ( isDesc ) Desc = 'Wet aerosol radius for black carbon' IF ( isUnits ) Units = 'cm' IF ( isRank ) Rank = 3 CASE ( 'WETAERORADIOC' ) IF ( isDesc ) Desc = 'Wet aerosol radius for organic carbon' IF ( isUnits ) Units = 'cm' IF ( isRank ) Rank = 3 CASE ( 'WETAERORADISSA' ) IF ( isDesc ) Desc= 'Wet aerosol radius for sea salt,' & // ' accumulation mode' IF ( isUnits ) Units = 'cm' IF ( isRank ) Rank = 3 CASE ( 'WETAERORADISSC' ) IF ( isDesc ) Desc = 'Wet aerosol radius for sea salt, coarse mode' IF ( isUnits ) Units = 'cm' IF ( isRank ) Rank = 3 ! CASE ( 'WETAERORADINITS' ) ! IF ( isDesc ) Desc = 'Wet aerosol radius for inorganic nitrates on' & ! // 'surface of seasalt aerosol' ! IF ( isUnits ) Units = 'cm' ! IF ( isRank ) Rank = 3 ! ! CASE ( 'WETAERORADISALACL' ) ! IF ( isDesc ) Desc = 'Wet aerosol radius for chloride in Accumulation' & ! // 'mode seasalt aerosol' ! IF ( isUnits ) Units = 'cm' ! IF ( isRank ) Rank = 3 ! ! CASE ( 'WETAERORADISALCCL' ) ! IF ( isDesc ) Desc = 'Wet aerosol radius for chloride in coarse' & ! // 'mode seasalt aerosol' ! IF ( isUnits ) Units = 'cm' ! IF ( isRank ) Rank = 3 ! ! CASE ( 'WETAERORADISO4S' ) ! IF ( isDesc ) Desc = 'Wet aerosol radius for sulfate on' & ! // 'surface of seasalt aerosol' ! IF ( isUnits ) Units = 'cm' ! IF ( isRank ) Rank = 3 CASE ( 'WETAERORADIBGSULF' ) IF ( isDesc ) Desc = 'Wet aerosol radius for background' & // ' stratospheric sulfate' IF ( isUnits ) Units = 'cm' IF ( isRank ) Rank = 3 CASE ( 'WETAERORADIICEI' ) IF ( isDesc ) Desc = 'Wet aerosol radius for irregular ice cloud' & // ' (Mischenko)' IF ( isUnits ) Units = 'cm' IF ( isRank ) Rank = 3 CASE ( 'AEROH2OMDUST1' ) IF ( isDesc ) Desc = 'Aerosol H2O content for mineral dust (0.15 um)' IF ( isUnits ) Units = 'cm3(H2O) cm-3(air)' IF ( isRank ) Rank = 3 CASE ( 'AEROH2OMDUST2' ) IF ( isDesc ) Desc = 'Aerosol H2O content for mineral dust (0.25 um)' IF ( isUnits ) Units = 'cm3(H2O) cm-3(air)' IF ( isRank ) Rank = 3 CASE ( 'AEROH2OMDUST3' ) IF ( isDesc ) Desc = 'Aerosol H2O content for mineral dust (0.4 um)' IF ( isUnits ) Units = 'cm3(H2O) cm-3(air)' IF ( isRank ) Rank = 3 CASE ( 'AEROH2OMDUST4' ) IF ( isDesc ) Desc = 'Aerosol H2O content for mineral dust (0.8 um)' IF ( isUnits ) Units = 'cm3(H2O) cm-3(air)' IF ( isRank ) Rank = 3 CASE ( 'AEROH2OMDUST5' ) IF ( isDesc ) Desc = 'Aerosol H2O content for mineral dust (1.5 um)' IF ( isUnits ) Units = 'cm3(H2O) cm-3(air)' IF ( isRank ) Rank = 3 CASE ( 'AEROH2OMDUST6' ) IF ( isDesc ) Desc = 'Aerosol H2O content for mineral dust (2.5 um)' IF ( isUnits ) Units = 'cm3(H2O) cm-3(air)' IF ( isRank ) Rank = 3 CASE ( 'AEROH2OMDUST7' ) IF ( isDesc ) Desc = 'Aerosol H2O content for mineral dust (4.0 um)' IF ( isUnits ) Units = 'cm3(H2O) cm-3(air)' IF ( isRank ) Rank = 3 CASE ( 'AEROH2OSNA' ) IF ( isDesc ) Desc = 'Sulfur-nitrogen-ammonia aerosol water content' IF ( isUnits ) Units = 'cm3(H2O) cm-3(air)' IF ( isRank ) Rank = 3 CASE ( 'AEROH2OBC' ) IF ( isDesc ) Desc = 'Aerosol H2O content for black carbon' IF ( isUnits ) Units = 'cm3(H2O) cm-3(air)' IF ( isRank ) Rank = 3 CASE ( 'AEROH2OOC' ) IF ( isDesc ) Desc = 'Aerosol H2O content for organic carbon' IF ( isUnits ) Units = 'cm3(H2O) cm-3(air)' IF ( isRank ) Rank = 3 CASE ( 'AEROH2OSSA' ) IF ( isDesc ) Desc= 'Aerosol H2O content for sea salt,' & // ' accumulation mode' IF ( isUnits ) Units = 'cm3(H2O) cm-3(air)' IF ( isRank ) Rank = 3 CASE ( 'AEROH2OSSC' ) IF ( isDesc ) Desc = 'Aerosol H2O content for sea salt, coarse mode' IF ( isUnits ) Units = 'cm3(H2O) cm-3(air)' IF ( isRank ) Rank = 3 CASE ( 'AEROH2OBGSULF' ) IF ( isDesc ) Desc = 'Aerosol H2O content for background' & // ' stratospheric sulfate' IF ( isUnits ) Units = 'cm3(H2O) cm-3(air)' IF ( isRank ) Rank = 3 CASE ( 'AEROH2OICEI' ) IF ( isDesc ) Desc = 'Aerosol H2O content for irregular ice cloud' & // ' (Mischenko)' IF ( isUnits ) Units = 'cm3(H2O) cm-3(air)' IF ( isRank ) Rank = 3 CASE ( 'SOILDUST1' ) IF ( isDesc ) Desc = 'Dust aerosol concentration in bin 1' IF ( isUnits ) Units = 'kg/m3' IF ( isRank ) Rank = 3 CASE ( 'SOILDUST2' ) IF ( isDesc ) Desc = 'Dust aerosol concentration in bin 2' IF ( isUnits ) Units = 'kg/m3' IF ( isRank ) Rank = 3 CASE ( 'SOILDUST3' ) IF ( isDesc ) Desc = 'Dust aerosol concentration in bin 3' IF ( isUnits ) Units = 'kg/m3' IF ( isRank ) Rank = 3 CASE ( 'SOILDUST4' ) IF ( isDesc ) Desc = 'Dust aerosol concentration in bin 4' IF ( isUnits ) Units = 'kg/m3' IF ( isRank ) Rank = 3 CASE ( 'SOILDUST5' ) IF ( isDesc ) Desc = 'Dust aerosol concentration in bin 5' IF ( isUnits ) Units = 'kg/m3' IF ( isRank ) Rank = 3 CASE ( 'SOILDUST6' ) IF ( isDesc ) Desc = 'Dust aerosol concentration in bin 6' IF ( isUnits ) Units = 'kg/m3' IF ( isRank ) Rank = 3 CASE ( 'SOILDUST7' ) IF ( isDesc ) Desc = 'Dust aerosol concentration in bin 7' IF ( isUnits ) Units = 'kg/m3' IF ( isRank ) Rank = 3 CASE ( 'GAMMAN2O5OVERALL' ) IF ( isDesc ) Desc = 'Sticking coefficient for Gamma N2O5 overall' IF ( isUnits ) Units = 'l' IF ( isRank ) Rank = 3 CASE ( 'GAMMAN2O5FINE' ) IF ( isDesc ) Desc = 'Sticking coefficient for Gamma N2O5 and fine aerosol' IF ( isUnits ) Units = 'l' IF ( isRank ) Rank = 3 CASE ( 'YIELDCLNO2FINE' ) IF ( isDesc ) Desc = 'Production yield coefficient for ClNO2 ' & // ' from N2O5 fine aerosol uptake' IF ( isUnits ) Units = 'l' IF ( isRank ) Rank = 3 CASE ( 'KPPHVALUE' ) IF ( isDesc ) Desc = 'H-value for Rosenbrock solver' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 CASE ( 'OMOC' ) IF ( isDesc ) Desc = 'OM:OC ratio as read by HEMCO (from /aerosol_mod.F90)' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 CASE ( 'OMOCPOA' ) IF ( isDesc ) Desc = 'OM:OC ratio for POA (from /aerosol_mod.F90)' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 CASE ( 'OMOCOPOA' ) IF ( isDesc ) Desc = 'OM:OC ratio for OPOA (from /aerosol_mod.F90)' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 CASE ( 'STATEPSC' ) IF ( isDesc ) Desc = 'Polar stratospheric cloud type (cf Kirner' & // ' et al 2011, GMD)' IF ( isUnits ) Units = 'count' IF ( isRank ) Rank = 3 IF ( isType ) Type = KINDVAL_F4 CASE ( 'KHETISLAN2O5H2O' ) IF ( isDesc ) Desc = 'Sticking coefficient for N2O5 + H2O reaction' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 CASE ( 'KHETISLAN2O5HCL' ) IF ( isDesc ) Desc = 'Sticking coefficient for N2O5 + H2O reaction' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 CASE ( 'KHETISLACLNO3H2O' ) IF ( isDesc ) Desc = 'Sticking coefficient for ClNO3 + H2O reaction' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 CASE ( 'KHETISLACLNO3HCL' ) IF ( isDesc ) Desc = 'Sticking coefficient for ClNO3 + HCl reaction' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 CASE ( 'KHETISLACLNO3HBR' ) IF ( isDesc ) Desc = 'Sticking coefficient for ClNO3 + HBr reaction' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 CASE ( 'KHETISLABRNO3H2O' ) IF ( isDesc ) Desc = 'Sticking coefficient for BrNO3 + H2O reaction' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 CASE ( 'KHETISLABRNO3HCL' ) IF ( isDesc ) Desc = 'Sticking coefficient for BrNO3 + HCl reaction' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 CASE ( 'KHETISLAHOCLHCL' ) IF ( isDesc ) Desc = 'Sticking coefficient for HOCl + HCl reaction' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 CASE ( 'KHETISLAHOCLHBR' ) IF ( isDesc ) Desc = 'Sticking coefficient for HClr + HBr reaction' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 CASE ( 'KHETISLAHOBRHCL' ) IF ( isDesc ) Desc = 'Sticking coefficient for HOBr + HCl reaction' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 CASE ( 'KHETISLAHOBRHBR' ) IF ( isDesc ) Desc = 'Sticking coefficient for HOBr + HBr reaction' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 CASE( 'ISORROPAEROPHACCUM' ) IF ( isDesc ) Desc = 'ISORROPIA aerosol pH, accumulation mode' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 CASE( 'ISORROPAEROPHCOARSE' ) IF ( isDesc ) Desc = 'ISORROPIA aerosol pH, accumulation mode' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 CASE( 'ISORROPHPLUSACCUM' ) IF ( isDesc ) Desc = & 'ISORROPIA H+ concentration, accumulation mode' IF ( isUnits ) Units = 'mol L-1' IF ( isRank ) Rank = 3 CASE( 'ISORROPHPLUSCOARSE' ) IF ( isDesc ) Desc = 'ISORROPIA H+ concentration, coarse mode' IF ( isUnits ) Units = 'mol L-1' IF ( isRank ) Rank = 3 CASE( 'ISORROPAEROH2OACCUM' ) IF ( isDesc ) Desc = & 'ISORROPIA aerosol water concentration, accumulation mode' IF ( isUnits ) Units = 'ug m-3' IF ( isRank ) Rank = 3 CASE( 'ISORROPAEROH2OCOARSE' ) IF ( isDesc ) Desc = & 'ISORROPIA aerosol water concentration, coarse mode' IF ( isUnits ) Units = 'ug m-3' IF ( isRank ) Rank = 3 CASE( 'ISORROPSULFATE' ) IF ( isDesc ) Desc = 'ISORROPIA sulfate concentration' IF ( isUnits ) Units = 'mol L-1' IF ( isRank ) Rank = 3 CASE( 'ISORROPNITRATEACCUM' ) IF ( isDesc ) Desc = & 'ISORROPIA nitrate concentration, accumulation mode' IF ( isUnits ) Units = 'mol L-1' IF ( isRank ) Rank = 3 CASE( 'ISORROPNITRATECOARSE' ) IF ( isDesc ) Desc = & 'ISORROPIA nitrate concentration, coarse mode' IF ( isUnits ) Units = 'mol L-1' IF ( isRank ) Rank = 3 CASE( 'ISORROPCHLORIDEACCUM' ) IF ( isDesc ) Desc = & 'ISORROPIA chloride concentration, accumulation mode' IF ( isUnits ) Units = 'mol/L' IF ( isRank ) Rank = 3 CASE( 'ISORROPCHLORIDECOARSE' ) IF ( isDesc ) Desc = & 'ISORROPIA chloride concentration, coarse mode' IF ( isUnits ) Units = 'mol/L' IF ( isRank ) Rank = 3 CASE( 'ISORROPBISULFATE' ) IF ( isDesc ) Desc = 'ISORROPIA Bisulfate (general acid)' & // ' concentration' IF ( isUnits ) Units = 'mol L-1' IF ( isRank ) Rank = 3 CASE( 'PHCLOUD' ) IF ( isDesc ) Desc = 'Cloud pH' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 CASE( 'QLXPHCLOUD' ) IF ( isDesc ) Desc = 'Cloud pH * Met_QL' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 CASE( 'ORVCSESQ' ) IF ( isDesc ) Desc = 'Sesquiterpenes mass' IF ( isUnits ) Units = 'kg' IF ( isRank ) Rank = 3 CASE( 'ISCLOUD' ) IF ( isDesc ) Desc = 'Cloud presence' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 CASE( 'SSALKACCUMMODE' ) IF ( isDesc ) Desc = 'Sea salt alkalinity, accumulation mode' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 CASE( 'SSALKCOARSEMODE' ) IF ( isDesc ) Desc = 'Sea salt alkalinity, coarse mode' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 CASE ( 'HSO3AQ' ) IF ( isDesc ) Desc = 'Cloud bisulfite concentration' IF ( isUnits ) Units = 'mol L-1' IF ( isRank ) Rank = 3 CASE ( 'SO3AQ' ) IF ( isDesc ) Desc = 'Cloud sulfite concentration' IF ( isUnits ) Units = 'mol L-1' IF ( isRank ) Rank = 3 CASE ( 'FUPDATEHOBR' ) IF ( isDesc ) Desc = 'Correction factor for HOBr removal by SO2' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 CASE ( 'FUPDATEHOCL' ) IF ( isDesc ) Desc = 'Correction factor for HOCl removal by SO2' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 CASE ( 'ACLAREA' ) IF ( isDesc ) Desc = 'Dry aerosol area for fine mode Cl-' IF ( isUnits ) Units = 'cm2 cm-3' IF ( isRank ) Rank = 3 CASE ( 'ACLRADI' ) IF ( isDesc ) Desc = 'Dry aerosol radius for fine mode Cl-' IF ( isUnits ) Units = 'cm' IF ( isRank ) Rank = 3 CASE ( 'H2O2AFTERCHEM' ) IF ( isDesc ) Desc = 'H2O2 after sulfate chemistry' IF ( isUnits ) Units = 'mol mol-1' IF ( isRank ) Rank = 3 CASE ( 'SO2AFTERCHEM' ) IF ( isDesc ) Desc = 'SO2 after sulfate chemistry' IF ( isUnits ) Units = 'mol mol-1' IF ( isRank ) Rank = 3 CASE ( 'DRYDEPNITROGEN' ) IF ( isDesc ) Desc = 'Dry deposited nitrogen' IF ( isUnits ) Units = 'molec cm-2 s-1' IF ( isRank ) Rank = 2 CASE ( 'WETDEPNITROGEN' ) IF ( isDesc ) Desc = 'Wet deposited nitrogen' IF ( isUnits ) Units = 'molec cm-2 s-1' IF ( isRank ) Rank = 2 CASE( 'OCEANHG0' ) IF ( isDesc ) Desc = 'Hg(0) ocean mass' IF ( isUnits ) Units = 'kg' IF ( isRank ) Rank = 2 CASE( 'OCEANHG2' ) IF ( isDesc ) Desc = 'Hg(II) ocean mass' IF ( isUnits ) Units = 'kg' IF ( isRank ) Rank = 2 CASE( 'OCEANHGP' ) IF ( isDesc ) Desc = 'HgP ocean mass' IF ( isUnits ) Units = 'kg' IF ( isRank ) Rank = 2 CASE( 'SNOWHGOCEAN' ) IF ( isDesc ) Desc = 'Reducible Hg snowpack on ocean' IF ( isUnits ) Units = 'kg' IF ( isRank ) Rank = 2 CASE( 'SNOWHGLAND' ) IF ( isDesc ) Desc = 'Reducible Hg snowpack on land' IF ( isUnits ) Units = 'kg' IF ( isRank ) Rank = 2 CASE( 'SNOWHGOCEANSTORED' ) IF ( isDesc ) Desc = 'Non-reducible Hg snowpack on ocean' IF ( isUnits ) Units = 'kg' IF ( isRank ) Rank = 2 CASE( 'SNOWHGLANDSTORED' ) IF ( isDesc ) Desc = 'Non-reducible Hg snowpack on land' IF ( isUnits ) Units = 'kg' IF ( isRank ) Rank = 2 CASE ( 'IODIDE' ) IF ( isDesc ) Desc = 'Surface iodide concentration' IF ( isUnits ) Units = 'nM' IF ( isRank ) Rank = 2 CASE ( 'SALINITY' ) IF ( isDesc ) Desc = 'Salinity' IF ( isUnits ) Units = 'PSU' IF ( isRank ) Rank = 2 CASE( 'DRYDEPFREQ' ) IF ( isDesc ) Desc = 'Dry deposition frequencies' IF ( isUnits ) Units = 's-1' IF ( isRank ) Rank = 2 IF ( isSpc ) perSpc = 'DRY' CASE( 'DRYDEPVEL' ) IF ( isDesc ) Desc = 'Dry deposition velocities' IF ( isUnits ) Units = 'm s-1' IF ( isRank ) Rank = 2 IF ( isSpc ) perSpc = 'DRY' IF ( isType ) type = KINDVAL_F8 #ifdef MODEL_GEOS CASE( 'DRYDEPRA2M' ) IF ( isDesc ) Desc = '2 meter aerodynamic resistance' IF ( isUnits ) Units = 's cm-1' IF ( isRank ) Rank = 2 CASE( 'DRYDEPRA10M' ) IF ( isDesc ) Desc = '10 meter aerodynamic resistance' IF ( isUnits ) Units = 's cm-1' IF ( isRank ) Rank = 2 #endif CASE( 'JOH' ) IF ( isDesc ) Desc = 'Surface J-values for reaction O3 + hv --> O2 + O' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 CASE( 'JNO2' ) IF ( isDesc ) Desc = 'Surface J-values for reaction NO2 + hv --> NO + O' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 CASE( 'SURFACEFLUX' ) IF ( isDesc ) Desc = 'Surface flux (E-D) for non-local PBL mixing' IF ( isUnits ) Units = 'kg m-2 s-1' IF ( isRank ) Rank = 2 IF ( isSpc ) perSpc = 'ADV' CASE( 'TLSTT' ) IF ( isDesc ) Desc = 'TLSTT' IF ( isUnits ) Units = '' IF ( isRank ) Rank = 4 CASE( 'QQ3D' ) IF ( isDesc ) Desc = 'Rate of new precipitation formation' IF ( isUnits ) Units = 'cm3 H2O cm-3 air' IF ( isRank ) Rank = 3 CASE( 'KRATE' ) IF ( isDesc ) Desc = 'KRATE' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 CASE( 'PHRAIN' ) IF ( isDesc ) Desc = 'Rain pH' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 CASE( 'QQPHRAIN' ) IF ( isDesc ) Desc = 'QQRain pH' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 CASE( 'QQRAIN' ) IF ( isDesc ) Desc = 'QQRain' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 #if defined(MODEL_CESM) CASE( 'H2SO4_PRDR' ) IF ( isDesc ) Desc = 'H2SO4 production rate in timestep' IF ( isUnits ) Units = 'mol mol-1' IF ( isRank ) Rank = 3 #endif CASE( 'TSTRAT_ADJ' ) IF ( isDesc ) Desc = 'Strat T adjustment' IF ( isUnits ) Units = 'K' IF ( isRank ) Rank = 3 CASE DEFAULT Found = .False. ErrMsg = 'Metadata not found for State_Chm field ' // & TRIM( metadataID ) // ' when search for all caps name ' & // TRIM( Name_AllCaps ) CALL GC_Error( ErrMsg, RC, ThisLoc ) IF ( RC /= GC_SUCCESS ) RETURN END SELECT END SUBROUTINE Get_Metadata_State_Chm !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_and_Register_R4_2D ! ! !DESCRIPTION: Allocates the data array for a State_Chm field, ! and also adds the field into the State_Chm registry. ! This particular routine is for 4-byte, 2-dimensional array fields. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_and_Register_R4_2D( Input_Opt, State_Chm, State_Grid, & Ptr2Data, chmId, RC, & noRegister ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State CHARACTER(LEN=*), INTENT(IN) :: chmId ! Field name LOGICAL, OPTIONAL :: noRegister ! Exit after init ! ! !INPUT/OUTPUT PARAMETERS: ! REAL(f4), POINTER :: Ptr2Data(:,:) ! Pointer to data ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 21 Sep 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: NX, NY LOGICAL :: doRegister ! Strings CHARACTER(LEN=255) :: arrayId !======================================================================== ! Init_and_Register_R4_2D begins here! !======================================================================== ! Initialize RC = GC_SUCCESS arrayId = 'State_Chm%' // TRIM( chmId ) IF ( PRESENT( noRegister ) ) THEN doRegister = ( .not. noRegister ) ELSE doRegister = .TRUE. ENDIF !======================================================================== ! Allocate the field array (if it hasn't already been allocated) !======================================================================== IF ( .not. ASSOCIATED( Ptr2Data ) ) THEN ! Get array dimensions NX = State_Grid%NX NY = State_Grid%NY ! Allocate the array ALLOCATE( Ptr2Data( NX, NY ), STAT=RC ) CALL GC_CheckVar( arrayId, 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN Ptr2Data = 0.0_f4 ENDIF !======================================================================== ! Register the field (unless we explicitly say not to) !======================================================================== IF ( doRegister ) THEN CALL Register_ChmField( Input_Opt, chmId, Ptr2Data, State_Chm, RC ) CALL GC_CheckVar( arrayId, 1, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF END SUBROUTINE Init_and_Register_R4_2D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_and_Register_R4_3D ! ! !DESCRIPTION: Allocates the data array for a State_Chm field, ! and also adds the field into the State_Chm registry. ! This particular routine is for 4-byte, 3-dimensional array fields. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_and_Register_R4_3D( Input_Opt, State_Chm, State_Grid, & Ptr2Data, chmId, RC, & nSlots, nCat, noRegister ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State CHARACTER(LEN=*), INTENT(IN) :: chmId ! Field name INTEGER, OPTIONAL :: nSlots ! # slots, 3rd dim INTEGER, OPTIONAL :: nCat ! Category index LOGICAL, OPTIONAL :: noRegister ! Exit after init ! ! !INPUT/OUTPUT PARAMETERS: ! REAL(f4), POINTER :: Ptr2Data(:,:,:) ! Pointer to data ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 21 Sep 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: NX, NY, NZ, NW LOGICAL :: doRegister ! Strings CHARACTER(LEN=255) :: arrayId !======================================================================== ! Init_and_Register_R4_3D begins here! !======================================================================== ! Initialize RC = GC_SUCCESS arrayId = 'State_Chm%' // TRIM( chmId ) IF ( PRESENT( noRegister ) ) THEN doRegister = ( .not. noRegister ) ELSE doRegister = .TRUE. ENDIF !======================================================================== ! Allocate the field array (if it hasn't already been allocated) !======================================================================== IF ( .not. ASSOCIATED( Ptr2Data ) ) THEN ! Get array ID and dimensions ! If optional nSlots is passed, use it for the 3rd dimension NX = State_Grid%NX NY = State_Grid%NY IF ( PRESENT( nSlots ) ) THEN NW = nSlots ELSE NW = State_Grid%NZ ENDIF ! Allocate the array ALLOCATE( Ptr2Data( NX, NY, NW ), STAT=RC ) CALL GC_CheckVar( arrayId, 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN Ptr2Data = 0.0_f4 ENDIF !======================================================================== ! Register the field (unless we explicitly say not to) !======================================================================== IF ( doRegister ) THEN CALL Register_ChmField( Input_Opt, chmId, Ptr2Data, & State_Chm, RC, nCat=nCat ) CALL GC_CheckVar( arrayId, 1, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF END SUBROUTINE Init_and_Register_R4_3D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_and_Register_R4_4D ! ! !DESCRIPTION: Allocates the data array for a State_Chm field, ! and also adds the field into the State_Chm registry. ! This particular routine is for 4-byte, 4-dimensional arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_and_Register_R4_4D( Input_Opt, State_Chm, State_Grid, & Ptr2Data, chmId, nSlots, & RC, nCat, noRegister ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State CHARACTER(LEN=*), INTENT(IN) :: chmId ! Field name INTEGER, INTENT(IN) :: nSlots ! # of slots, 4th dim INTEGER, OPTIONAL :: nCat ! Optional category LOGICAL, OPTIONAL :: noRegister ! Exit after init ! ! !INPUT/OUTPUT PARAMETERS: ! REAL(f4), POINTER :: Ptr2Data(:,:,:,:) ! Pointer to data ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 21 Sep 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: NX, NY, NZ LOGICAL :: doRegister ! Strings CHARACTER(LEN=255) :: arrayId !======================================================================== ! Init_and_Register_R4_4D begins here! !======================================================================== ! Initialize RC = GC_SUCCESS arrayId = 'State_Chm%' // TRIM( chmId ) IF ( PRESENT( noRegister ) ) THEN doRegister = ( .not. noRegister ) ELSE doRegister = .TRUE. ENDIF !======================================================================== ! Allocate the field array !======================================================================== IF ( .not. ASSOCIATED( Ptr2Data ) ) THEN ! Get array dimensions NX = State_Grid%NX NY = State_Grid%NY NZ = State_Grid%NZ ALLOCATE( Ptr2Data( NX, NY, NZ, nSlots ), STAT=RC ) CALL GC_CheckVar( arrayId, 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN Ptr2Data = 0.0_f4 ENDIF !======================================================================== ! Register the field !======================================================================== IF ( doRegister ) THEN CALL Register_ChmField( Input_Opt, chmId, Ptr2Data, & State_Chm, RC, nCat=nCat ) CALL GC_CheckVar( arrayId, 1, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF END SUBROUTINE Init_and_Register_R4_4D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_and_Register_R8_2D ! ! !DESCRIPTION: Allocates the data array for a State_Chm field, ! and also adds the field into the State_Chm registry. ! This particular routine is for 8-byte, 2-dimensional fields. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_and_Register_R8_2D( Input_Opt, State_Chm, State_Grid, & Ptr2Data, chmId, RC, & noRegister ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State CHARACTER(LEN=*), INTENT(IN) :: chmId ! Field name LOGICAL, OPTIONAL :: noRegister ! Exit after init ! ! !INPUT/OUTPUT PARAMETERS: ! REAL(f8), POINTER :: Ptr2Data(:,:) ! Pointer to data ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 21 Sep 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: NX, NY LOGICAL :: doRegister ! Strings CHARACTER(LEN=255) :: arrayId !======================================================================= ! Init_and_Register_R8_2D begins here! !======================================================================= ! Initialize RC = GC_SUCCESS arrayId = 'State_Chm%' // TRIM( chmId ) IF ( PRESENT( noRegister ) ) THEN doRegister = ( .not. noRegister ) ELSE doRegister = .TRUE. ENDIF !======================================================================= ! Allocate the field array (if it hasn't already been allocated) !======================================================================= IF ( .not. ASSOCIATED( Ptr2Data ) ) THEN ! Get array dimensions NX = State_Grid%NX NY = State_Grid%NY ! Allocate the data ALLOCATE( Ptr2Data( NX, NY ), STAT=RC ) CALL GC_CheckVar( arrayId, 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN Ptr2Data = 0.0_f8 ENDIF !======================================================================= ! Register the field !======================================================================= IF ( doRegister ) THEN CALL Register_ChmField( Input_Opt, chmId, Ptr2Data, State_Chm, RC ) CALL GC_CheckVar( arrayId, 1, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF END SUBROUTINE Init_and_Register_R8_2D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_and_Register_R8_3D ! ! !DESCRIPTION: Allocates the data array for a State_Chm field, ! and also adds the field into the State_Chm registry. ! This particular routine is for 4-byte, 2-dimensional arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_and_Register_R8_3D( Input_Opt, State_Chm, State_Grid, & Ptr2Data, chmId, RC, & nSlots, nCat, noRegister ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State CHARACTER(LEN=*), INTENT(IN) :: chmId ! Field name INTEGER, OPTIONAL :: nSlots ! # slots, 3rd dim INTEGER, OPTIONAL :: nCat ! Category index LOGICAL, OPTIONAL :: noRegister ! Exit after init ! ! !INPUT/OUTPUT PARAMETERS: ! REAL(f8), POINTER :: Ptr2Data(:,:,:) ! Pointer to data ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 21 Sep 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: NX, NY, NZ, NW LOGICAL :: doRegister ! Strings CHARACTER(LEN=255) :: arrayId !======================================================================== ! Init_and_Register_R8_3D begins here! !======================================================================== ! Initialize RC = GC_SUCCESS arrayId = 'State_Chm%' // TRIM( chmId ) IF ( PRESENT( noRegister ) ) THEN doRegister = ( .not. noRegister ) ELSE doRegister = .TRUE. ENDIF !======================================================================== ! Allocate the field array (if it hasn't already been allocated) !======================================================================== IF ( .not. ASSOCIATED( Ptr2Data ) ) THEN ! Get array dimensions NX = State_Grid%NX NY = State_Grid%NY IF ( PRESENT( nSlots ) ) THEN NW = nSlots ELSE NW = State_Grid%NZ ENDIF ! Allocate the array ALLOCATE( Ptr2Data( NX, NY, NW ), STAT=RC ) CALL GC_CheckVar( arrayId, 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN Ptr2Data = 0.0_f8 ENDIF !======================================================================== ! Register the field (unless we explicitly say not to) !======================================================================== IF ( doRegister ) THEN CALL Register_ChmField( Input_Opt, chmId, Ptr2Data, & State_Chm, RC, nCat=nCat ) CALL GC_CheckVar( arrayId, 1, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF END SUBROUTINE Init_and_Register_R8_3D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_and_Register_R8_4D ! ! !DESCRIPTION: Allocates the data array for a State_Chm field, ! and also adds the field into the State_Chm registry. ! This particular routine is for 4-byte, 2-dimensional arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_and_Register_R8_4D( Input_Opt, State_Chm, State_Grid, & Ptr2Data, chmId, nSlots, & RC, nCat, noRegister ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State CHARACTER(LEN=*), INTENT(IN) :: chmId ! Field name INTEGER, INTENT(IN) :: nSlots ! # of slots, 4th dim INTEGER, OPTIONAL :: nCat ! Optional category LOGICAL, OPTIONAL :: noRegister ! Exit after init ! ! !INPUT/OUTPUT PARAMETERS: ! REAL(f8), POINTER :: Ptr2Data(:,:,:,:) ! Pointer to data ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success/failure! ! ! !REVISION HISTORY: ! 21 Sep 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: NX, NY, NZ LOGICAL :: doRegister ! Strings CHARACTER(LEN=255) :: arrayId !======================================================================== ! Init_and_Register_R8_4D begins here! !======================================================================== ! Initialize RC = GC_SUCCESS arrayId = 'State_Chm%' // TRIM( chmId ) IF ( PRESENT( noRegister ) ) THEN doRegister = ( .not. noRegister ) ELSE doRegister = .TRUE. ENDIF !======================================================================== ! Allocate the field array (if it hasn't already been allocated) !======================================================================== IF ( .not. ASSOCIATED( Ptr2Data ) ) THEN ! Get array dimensions NX = State_Grid%NX NY = State_Grid%NY NZ = State_Grid%NZ ! Allocate the array ALLOCATE( Ptr2Data( NX, NY, NZ, nSlots ), STAT=RC ) CALL GC_CheckVar( arrayId, 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN Ptr2Data = 0.0_f8 ENDIF !======================================================================== ! Register the field (unless we explicitly say not to) !======================================================================== IF ( doRegister ) THEN CALL Register_ChmField( Input_Opt, chmId, Ptr2Data, & State_Chm, RC, nCat=nCat ) CALL GC_CheckVar( arrayId, 1, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF END SUBROUTINE Init_and_Register_R8_4D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Test_for_Species_Dim ! ! !DESCRIPTION: Returns true if a State_Chm quantity has a species dimension. !\\ !\\ ! !INTERFACE: ! FUNCTION Test_for_Species_Dim( perSpc ) RESULT( returnCode ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: perSpc ! PerSpc value from metadata ! ! !RETURN VALUE: ! INTEGER :: returnCode ! 1 = has species dimension ! 0 = no species dimension ! -1 = unknown perSpc value ! ! !REVISION HISTORY: ! 06 Jan 2015 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC SELECT CASE( TRIM( perSpc ) ) CASE( 'ADV', 'ALL', 'DRY', 'WET' ) returnCode = 1 CASE( '' ) returnCode = 0 CASE DEFAULT returnCode = -1 END SELECT END FUNCTION Test_For_Species_Dim !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_NumSlots ! ! !DESCRIPTION: Returns the number of slots with which to define a ! species-based array of State_Chm. !\\ !\\ ! !INTERFACE: ! FUNCTION Get_NumSlots( perSpc, State_Chm ) RESULT( nSlots ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: perSpc ! PerSpc value from metadata TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object ! ! !RETURN VALUE: ! INTEGER :: nSlots ! Number of slots ! !REVISION HISTORY: ! 23 Sep 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC SELECT CASE( TRIM( perSpc ) ) CASE( 'ADV' ) nSlots = State_Chm%nAdvect CASE( 'ALL' ) nSlots = State_Chm%nSpecies CASE( 'DRY' ) nSlots = State_Chm%nDryDep CASE( 'WET' ) nSlots = State_Chm%nWetDep CASE DEFAULT nSlots = -1 END SELECT END FUNCTION Get_NumSlots !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_Diagnostic_Name ! ! !DESCRIPTION: Returns the diagnostic name and description of a species-based ! quantity (appending the species to the base name if necessary). !\\ !\\ ! !INTERFACE: ! SUBROUTINE Get_Diagnostic_Name( State_Chm, perSpc, N, name, & desc, diagName, diagDesc ) ! ! !INPUT PARAMETERS: ! TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State CHARACTER(LEN=*), INTENT(IN) :: perSpc ! PerSpc value from metadata INTEGER, INTENT(IN) :: N ! Diagnostic index CHARACTER(LEN=*), INTENT(IN) :: name ! Name from metadata CHARACTER(LEN=*), INTENT(IN) :: desc ! Description from metadata ! ! !OUTPUT PARAMETERS: ! CHARACTER(LEN=255), INTENT(OUT) :: diagName ! Name + species name CHARACTER(LEN=255), INTENT(OUT) :: diagDesc ! Description + species name ! ! !REVISION HISTORY: ! 20 Jan 2015 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: modelId ! Objects TYPE(Species), POINTER :: ThisSpc !--------------------------------------------------------------------- ! All other species-bound quantities !--------------------------------------------------------------------- ! Get the species index from the diagnostic index ! depending on the value of PerSpc (bmy, 05 Oct 2021) modelId = N IF ( PerSpc == 'DRY' ) modelId = State_Chm%Map_DryDep(N) IF ( PerSpc == 'WET' ) modelId = State_Chm%Map_WetDep(N) ! Point to the proper species, by modelId ThisSpc => State_Chm%SpcData(modelId)%Info ! Append the species name to the diagnostic name with an underscore diagName = TRIM( name ) // '_' // TRIM( ThisSpc%Name ) ! Append the species name to the diagnostic description diagDesc = TRIM( desc ) // ' ' // TRIM( ThisSpc%Name ) ! Free pointer ThisSpc => NULL() END SUBROUTINE Get_Diagnostic_Name !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Register_ChmField_R4_2D ! ! !DESCRIPTION: Registers a 2-dimensional, 4-byte real array field ! of the State\_Chm object. This allows the diagnostic modules get ! a pointer to the field by searching on the field name. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Register_ChmField_R4_2D( Input_Opt, metadataID, Ptr2Data, & State_Chm, RC ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE Registry_Params_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options CHARACTER(LEN=*), INTENT(IN) :: metadataID ! State_Chm field ID REAL(f4), POINTER :: Ptr2Data(:,:) ! Pointer to data TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 21 Sep 2020 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: found, onEdges INTEGER :: N, rank, hasSpeciesDim INTEGER :: type, vloc ! Strings CHARACTER(LEN=255) :: errMsg_reg, thisLoc, desc CHARACTER(LEN=255) :: thisSpcName, thisSpcDesc, perSpc CHARACTER(LEN=255) :: units CHARACTER(LEN=512) :: errMsg !======================================================================== ! Initialize !======================================================================== RC = GC_SUCCESS errMsg = '' errMsg_reg = 'Error encountered while registering State_Chm%' thisLoc = & ' -> at Register_ChmField_R4_2D (in Headers/state_chm_mod.F90)' !======================================================================== ! Get metadata !======================================================================== CALL Get_MetaData_State_Chm( & am_I_Root = Input_Opt%amIRoot, & metadataId = metadataId, & found = found, & desc = desc, & units = units, & rank = rank, & type = type, & vloc = vloc, & perSpc = perSpc, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( MetadataID ) // & '; Abnormal exit from routine "Get_Metadata_State_Chm"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Is the data placed on vertical edges? onEdges = ( vLoc == VLocationEdge ) ! Test if the data has a species dimension hasSpeciesDim = Test_For_Species_Dim( perSpc ) !------------------------------------------------------------------------ ! If not tied to species then simply register the single field !------------------------------------------------------------------------ IF ( hasSpeciesDim == 0 ) THEN ! Check that metadata consistent with data size IF ( rank /= 2 ) THEN ErrMsg = 'Data dims and metadata rank do not match for ' & // TRIM(metadataID) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Add field to registry CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Chm%Registry, & State = State_Chm%State, & Variable = TRIM( metadataID ), & Description = TRIM( desc ), & Units = TRIM( units ), & Data2d_4 = Ptr2Data, & Output_KindVal = type, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( MetadataID ) // & '; Abnormal exit from routine "Registry_AddField"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Otherwise exit with error !------------------------------------------------------------------------ ELSE ! Error msg ErrMsg = 'Handling of PerSpc metadata ' // TRIM(perSpc) // & ' is not implemented for this combo of data type and size' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF END SUBROUTINE Register_ChmField_R4_2D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Register_ChmField_R4_3D ! ! !DESCRIPTION: Registers a 3-dimensional, 4-byte floating point array field ! of the State\_Chm object. This allows the diagnostic modules get a pointer ! to the field by searching on the field name. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Register_ChmField_R4_3D( Input_Opt, metadataID, Ptr2Data, & State_Chm, RC, nCat ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE Registry_Params_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options CHARACTER(LEN=*), INTENT(IN) :: metadataID ! State_Chm field ID REAL(f4), POINTER :: Ptr2Data(:,:,:) ! pointer to data TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State INTEGER, OPTIONAL :: nCat ! Category index ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 20 Sep 2017 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: found, onEdges INTEGER :: N, rank, type INTEGER :: vloc, nSlots, hasSpeciesDim ! Strings CHARACTER(LEN=255) :: errMsg_reg, thisLoc, desc CHARACTER(LEN=255) :: thisSpcName, thisSpcDesc, perSpc CHARACTER(LEN=255) :: units CHARACTER(LEN=512) :: errMsg !========================================================================= ! Initialize !========================================================================= RC = GC_SUCCESS errMsg = '' errMsg_reg = 'Error encountered while registering State_Chm%' thisLoc = & ' -> at Register_ChmField_R4_3D (in Headers/state_chm_mod.F90)' !========================================================================= ! Get metadata !========================================================================= CALL Get_MetaData_State_Chm( & am_I_Root = Input_Opt%amIRoot, & metadataId = metadataId, & found = found, & desc = desc, & units = units, & rank = rank, & type = type, & vloc = vloc, & perSpc = perSpc, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( MetadataID ) // & '; Abnormal exit from routine "Get_Metadata_State_Chm"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Test if the quantity has a species dimension hasSpeciesDim = Test_for_Species_Dim( perSpc ) !------------------------------------------------------------------------ ! If tied to a given category, only register that one !------------------------------------------------------------------------ IF ( PRESENT( nCat ) ) THEN ! Check that metadata consistent with data size IF ( rank /= 2 ) THEN ErrMsg = 'Data dims and metadata rank do not match for ' & // TRIM(metadataID) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Add field to registry CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Chm%Registry, & State = State_Chm%State, & Variable = TRIM( metadataID ), & Description = TRIM( desc ), & Units = TRIM( units ), & OnLevelEdges = onEdges, & Data2d_4 = Ptr2Data(:,:,nCat), & Output_KindVal = type, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( MetadataID ) // & '; Abnormal exit from Registry_AddField!' CALL GC_Error( ErrMsg_reg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! If tied to a particular species, register each species individually !------------------------------------------------------------------------ ELSE IF ( hasSpeciesDim == 1 ) THEN ! Check that metadata consistent with data size IF ( rank /= 2 ) THEN ErrMsg = 'Data dims and metadata rank do not match for ' & // TRIM(metadataID) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Get the length of the species-based dimension nSlots = Get_NumSlots( perSpc, State_Chm ) ! Loop over all species DO N = 1, nSlots ! Append the species name to the diagnostic name & description CALL Get_Diagnostic_Name( & State_Chm = State_Chm, & perSpc = perSpc, & N = N, & name = metaDataId, & desc = desc, & diagName = thisSpcName, & diagDesc = thisSpcDesc ) ! Add field to registry CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Chm%Registry, & State = State_Chm%State, & Variable = TRIM( thisSpcName ), & Description = TRIM( thisSpcDesc ), & Units = TRIM( units ), & OnLevelEdges = onEdges, & Data2d_4 = Ptr2Data(:,:,N), & Output_KindVal = type, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( MetadataID ) // & '; Abnormal exit from routine "Registry_AddField"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDDO !------------------------------------------------------------------------ ! If not tied to species then simply register the single field !------------------------------------------------------------------------ ELSE IF ( hasSpeciesDim == 0 ) THEN ! Check that metadata consistent with data size IF ( rank /= 3 ) THEN ErrMsg = 'Data dims and metadata rank do not match for ' & // TRIM(metadataID) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Is the data placed on vertical edges? onEdges = ( vLoc == VLocationEdge ) ! Add field to registry CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Chm%Registry, & State = State_Chm%State, & Variable = TRIM( metadataID ), & Description = TRIM( desc ), & Units = TRIM( units ), & Data3d_4 = Ptr2Data, & OnLevelEdges = onEdges, & Output_KindVal = type, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( MetadataID ) // & '; Abnormal exit from routine "Registry_AddField"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !----------------------------------------------------------------------- ! Otherwise exit with error !----------------------------------------------------------------------- ELSE ! Error msg ErrMsg = 'Handling of PerSpc metadata ' // TRIM(perSpc) // & ' is not implemented for this combo of data type and size' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF END SUBROUTINE Register_ChmField_R4_3D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Register_ChmField_R4_4D ! ! !DESCRIPTION: Registers a 4-dimensional, 4-byte real array field ! of the State\_Chm object. This allows the diagnostic modules get ! a pointer to the field by searching on the field name. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Register_ChmField_R4_4D( Input_Opt, metadataID, Ptr2Data, & State_Chm, RC, Ncat ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE Registry_Params_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options CHARACTER(LEN=*), INTENT(IN) :: metadataID ! State_Chm field Id REAL(f4), POINTER :: Ptr2Data(:,:,:,:) ! Pointer to data TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State INTEGER, OPTIONAL :: Ncat ! Category index ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 20 Sep 2017 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: found, onEdges INTEGER :: N, rank, hasSpeciesDim INTEGER :: type, vloc, nSlots ! Strings CHARACTER(LEN=255) :: errMsg_reg, thisLoc, desc CHARACTER(LEN=255) :: thisSpcName, thisSpcDesc, perSpc CHARACTER(LEN=255) :: units CHARACTER(LEN=512) :: errMsg !======================================================================== ! Initialize !======================================================================== RC = GC_SUCCESS errMsg = '' errMsg_reg = 'Error encountered while registering State_Chm%' thisLoc = & ' -> at Register_ChmField_R4_4D (in Headers/state_chm_mod.F90)' !======================================================================== ! Get metadata !======================================================================== CALL Get_MetaData_State_Chm( & am_I_Root = Input_Opt%amIRoot, & metadataId = metadataId, & found = found, & desc = desc, & units = units, & rank = rank, & type = type, & vloc = vloc, & perSpc = perSpc, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( MetadataID ) // & '; Abnormal exit from routine "Get_Metadata_State_Chm"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Test if the quantity has a species dimension hasSpeciesDim = Test_For_Species_Dim( perSpc ) !------------------------------------------------------------------------ ! Check that metadata consistent with data size !------------------------------------------------------------------------ IF ( rank /= 3 ) THEN ErrMsg = 'Data dims and metadata rank do not match for ' & // TRIM(metadataID) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Is the data placed on level edges? onEdges = ( VLoc == VLocationEdge ) !------------------------------------------------------------------------ ! If tied to a given category, only registry that one !------------------------------------------------------------------------ IF ( PRESENT( Ncat ) ) THEN ! Add field to registry CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Chm%Registry, & State = State_Chm%State, & Variable = TRIM( metadataID ), & Description = TRIM( desc ), & Units = TRIM( units ), & OnLevelEdges = onEdges, & Data3d_4 = Ptr2Data(:,:,:,Ncat), & Output_KindVal = type, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( MetadataID ) // & '; Abnormal exit from Registry_AddField!' CALL GC_Error( ErrMsg_reg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! If tied to a particular species, register each species individually !------------------------------------------------------------------------ ELSE IF ( hasSpeciesDim == 1 ) THEN ! Check that metadata consistent with data size IF ( rank /= 3 ) THEN ErrMsg = 'Data dims and metadata rank do not match for ' & // TRIM(metadataID) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Get the length of the species-based dimension nSlots = Get_NumSlots( perSpc, State_Chm ) ! Loop over all species DO N = 1, nSlots ! Append the species name to the diagnostic name & description CALL Get_Diagnostic_Name( & State_Chm = State_Chm, & perSpc = perSpc, & N = N, & name = TRIM( metaDataId ), & desc = TRIM( desc ), & diagName = thisSpcName, & diagDesc = thisSpcDesc ) ! Add field to registry CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Chm%Registry, & State = State_Chm%State, & Variable = TRIM( thisSpcName ), & Description = TRIM( thisSpcDesc ), & Units = TRIM( units ), & OnLevelEdges = onEdges, & Data3d_4 = Ptr2Data(:,:,:,N), & Output_KindVal = type, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( MetadataID ) // & '; Abnormal exit from routine "Registry_AddField"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDDO !------------------------------------------------------------------------ ! Otherwise, exit with error !------------------------------------------------------------------------ ELSE ! Error msg ErrMsg = 'Handling of PerSpc metadata ' // TRIM(perSpc) // & ' is not implemented for this combo of data type and size!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF END SUBROUTINE Register_ChmField_R4_4D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Register_ChmField_R8_2D ! ! !DESCRIPTION: Registers a 2-dimensional, 8-byte real array field ! of the State\_Chm object. This allows the diagnostic modules get ! a pointer to the field by searching on the field name. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Register_ChmField_R8_2D( Input_Opt, metadataID, Ptr2Data, & State_Chm, RC ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE Registry_Params_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options CHARACTER(LEN=*), INTENT(IN) :: metadataID ! State_Chm field ID REAL(f8), POINTER :: Ptr2Data(:,:) ! Pointer to data TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 21 Sep 2020 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: found, onEdges INTEGER :: N, rank, hasSpeciesDim INTEGER :: type, vloc ! Strings CHARACTER(LEN=255) :: errMsg_reg, thisLoc, desc CHARACTER(LEN=255) :: thisSpcName, thisSpcDesc, perSpc CHARACTER(LEN=255) :: units CHARACTER(LEN=512) :: errMsg !======================================================================== ! Initialize !======================================================================== RC = GC_SUCCESS errMsg = '' errMsg_reg = 'Error encountered while registering State_Chm%' thisLoc = & ' -> at Register_ChmField_R8_2D (in Headers/state_chm_mod.F90)' !======================================================================== ! Get metadata !======================================================================== CALL Get_MetaData_State_Chm( & am_I_Root = Input_Opt%amIRoot, & metadataId = metadataId, & found = found, & desc = desc, & units = units, & rank = rank, & type = type, & vloc = vloc, & perSpc = perSpc, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( MetadataID ) // & '; Abnormal exit from routine "Get_Metadata_State_Chm"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Is the data placed on vertical edges? onEdges = ( vLoc == VLocationEdge ) ! Test if the quantity has a species dimension hasSpeciesDim = Test_for_Species_Dim( perSpc ) !------------------------------------------------------------------------ ! If not tied to species then simply register the single field !------------------------------------------------------------------------ IF ( hasSpeciesDim == 0 ) THEN ! Check that metadata consistent with data size IF ( rank /= 2 ) THEN ErrMsg = 'Data dims and metadata rank do not match for ' & // TRIM(metadataID) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Add field to registry CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Chm%Registry, & State = State_Chm%State, & Variable = TRIM( metadataID ), & Description = TRIM( desc ), & Units = TRIM( units ), & Data2d_8 = Ptr2Data, & Output_KindVal = type, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( MetadataID ) // & '; Abnormal exit from routine "Registry_AddField"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Otherwise exit with error !------------------------------------------------------------------------ ELSE ! Error msg ErrMsg = 'Handling of PerSpc metadata ' // TRIM(perSpc) // & ' is not implemented for this combo of data type and size' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF END SUBROUTINE Register_ChmField_R8_2D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Register_ChmField_R8_3D ! ! !DESCRIPTION: Registers a 3-dimensional, 8-byte floating point array field ! of the State\_Chm object. This allows the diagnostic modules get a pointer ! to the field by searching on the field name. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Register_ChmField_R8_3D( Input_Opt, metadataID, Ptr2Data, & State_Chm, RC, nCat ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE Registry_Params_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object CHARACTER(LEN=*), INTENT(IN) :: metadataID ! State_Chm field ID REAL(f8), POINTER :: Ptr2Data(:,:,:) ! Pointer to data TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State INTEGER, OPTIONAL :: nCat ! Category index ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 20 Sep 2017 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: found, onEdges INTEGER :: N, rank, hasSpeciesDim INTEGER :: type, vloc, nSlots ! Strings CHARACTER(LEN=255) :: errMsg_reg, thisLoc, desc CHARACTER(LEN=255) :: thisSpcName, thisSpcDesc, perSpc CHARACTER(LEN=255) :: units CHARACTER(LEN=512) :: errMsg !======================================================================== ! Initialize !======================================================================== RC = GC_SUCCESS ErrMsg = '' ErrMsg_reg = 'Error encountered while registering State_Chm%' ThisLoc = & ' -> at Register_ChmField_R8_3D (in Headers/state_chm_mod.F90)' !======================================================================== ! Get metadata !======================================================================== CALL Get_MetaData_State_Chm( & am_I_Root = Input_Opt%amIRoot, & metadataId = metadataId, & found = found, & desc = desc, & units = units, & rank = rank, & type = type, & vloc = vloc, & perSpc = perSpc, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( MetadataID ) // & '; Abnormal exit from routine "Get_Metadata_State_Chm"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Is the data placed on vertical edges? onEdges = ( vLoc == VLocationEdge ) ! Test if the data has a species dimension hasSpeciesDim = Test_for_Species_Dim( perSpc ) !------------------------------------------------------------------------ ! If tied to a given category, only registry that one !------------------------------------------------------------------------ IF ( PRESENT( nCat ) ) THEN ! Check that metadata consistent with data size IF ( rank /= 2 ) THEN ErrMsg = 'Data dims and metadata rank do not match for ' & // TRIM(metadataID) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Add field to registry CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Chm%Registry, & State = State_Chm%State, & Variable = TRIM( metadataID ), & Description = TRIM( desc ), & Units = TRIM( units ), & OnLevelEdges = onEdges, & Data2d_8 = Ptr2Data(:,:,nCat), & Output_KindVal = type, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( MetadataID ) // & '; Abnormal exit from Registry_AddField!' CALL GC_Error( ErrMsg_reg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! If tied to a particular species, register each species individually !------------------------------------------------------------------------ ELSE IF ( hasSpeciesDim == 1 ) THEN ! Check that metadata consistent with data size IF ( rank /= 2 ) THEN ErrMsg = 'Data dims and metadata rank do not match for ' & // TRIM(metadataID) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Get the length of the species-based dimension nSlots = Get_NumSlots( perSpc, State_Chm ) ! Loop over all species DO N = 1, nSlots ! Append the species name to the diagnostic name & description CALL Get_Diagnostic_Name( & State_Chm = State_Chm, & perSpc = perSpc, & N = N, & name = TRIM( metaDataId ), & desc = TRIM( desc ), & diagName = thisSpcName, & diagDesc = thisSpcDesc ) ! Add field to registry CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Chm%Registry, & State = State_Chm%State, & Variable = TRIM( thisSpcName ), & Description = TRIM( thisSpcDesc ), & Units = TRIM( units ), & OnLevelEdges = onEdges, & Data2d_8 = Ptr2Data(:,:,N), & Output_KindVal = type, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( MetadataID ) // & '; Abnormal exit from routine "Registry_AddField"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDDO !------------------------------------------------------------------------ ! If not tied to species then simply register the single field !------------------------------------------------------------------------ ELSE IF ( hasSpeciesDim == 0 ) THEN ! Check that metadata consistent with data size IF ( rank /= 3 ) THEN ErrMsg = 'Data dims and metadata rank do not match for ' & // TRIM(metadataID) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Is the data placed on vertical edges? onEdges = ( vLoc == VLocationEdge ) ! Add field to registry CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Chm%Registry, & State = State_Chm%State, & Variable = TRIM( metadataID ), & Description = TRIM( desc ), & Units = TRIM( units ), & Data3d_8 = Ptr2Data, & OnLevelEdges = onEdges, & Output_KindVal = type, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( MetadataID ) // & '; Abnormal exit from routine "Registry_AddField"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !----------------------------------------------------------------------- ! Otherwise exit with error !----------------------------------------------------------------------- ELSE ! Error msg ErrMsg = 'Handling of PerSpc metadata ' // TRIM(perSpc) // & ' is not implemented for this combo of data type and size' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF END SUBROUTINE Register_ChmField_R8_3D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Register_ChmField_R8_4D ! ! !DESCRIPTION: Registers a 4-dimensional, 8-byte real array field ! of the State\_Chm object. This allows the diagnostic modules get ! a pointer to the field by searching on the field name. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Register_ChmField_R8_4D( Input_Opt, metadataID, Ptr2Data, & State_Chm, RC, Ncat ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE Registry_Params_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options CHARACTER(LEN=*), INTENT(IN) :: metadataID ! State_Chm field ID REAL(f8), POINTER :: Ptr2Data(:,:,:,:) ! Pointer to data TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State INTEGER, OPTIONAL :: Ncat ! Category index ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 20 Sep 2017 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: found, onEdges INTEGER :: N, rank, hasSpeciesDim INTEGER :: type, vloc, nSlots ! Strings CHARACTER(LEN=255) :: errMsg_reg, thisLoc, desc CHARACTER(LEN=255) :: thisSpcName, thisSpcDesc, perSpc CHARACTER(LEN=255) :: units CHARACTER(LEN=512) :: errMsg !======================================================================== ! Initialize !======================================================================== RC = GC_SUCCESS errMsg = '' errMsg_reg = 'Error encountered while registering State_Chm%' thisLoc = & ' -> at Register_ChmField_R8_4D (in Headers/state_chm_mod.F90)' !======================================================================== ! Get metadata !======================================================================== CALL Get_MetaData_State_Chm( & am_I_Root = Input_Opt%amIRoot, & metadataId = metadataId, & found = found, & desc = desc, & units = units, & rank = rank, & type = type, & vloc = vloc, & perSpc = perSpc, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( MetadataID ) // & '; Abnormal exit from routine "Get_Metadata_State_Chm"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Check that metadata consistent with data size !------------------------------------------------------------------------ IF ( rank /= 3 ) THEN ErrMsg = 'Data dims and metadata rank do not match for ' & // TRIM(metadataID) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Is the data placed on level edges? onEdges = ( VLoc == VLocationEdge ) ! Test if the quantity has a species dimension hasSpeciesDim = Test_for_Species_Dim( perSpc ) !------------------------------------------------------------------------ ! If tied to a given category, only registry that one !------------------------------------------------------------------------ IF ( PRESENT( Ncat ) ) THEN ! Add field to registry CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Chm%Registry, & State = State_Chm%State, & Variable = TRIM( metadataID ), & Description = TRIM( desc ), & Units = TRIM( units ), & OnLevelEdges = onEdges, & Data3d_8 = Ptr2Data(:,:,:,Ncat), & Output_KindVal = type, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( MetadataID ) // & '; Abnormal exit from Registry_AddField!' CALL GC_Error( ErrMsg_reg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! If tied to a particular species, register each species individually !------------------------------------------------------------------------ ELSE IF ( hasSpeciesDim == 1 ) THEN ! Get the length of the species-based dimension nSlots = Get_NumSlots( perSpc, State_Chm ) ! Loop over all species DO N = 1, nSlots ! Append the species name to the diagnostic name & description CALL Get_Diagnostic_Name( & State_Chm = State_Chm, & perSpc = perSpc, & N = N, & name = TRIM( metaDataId ), & desc = TRIM( desc ), & diagName = thisSpcName, & diagDesc = thisSpcDesc ) ! Add field to registry CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Chm%Registry, & State = State_Chm%State, & Variable = TRIM( thisSpcName ), & Description = TRIM( thisSpcDesc ), & Units = TRIM( units ), & OnLevelEdges = onEdges, & Data3d_8 = Ptr2Data(:,:,:,N), & Output_KindVal = type, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( MetadataID ) // & '; Abnormal exit from routine "Registry_AddField"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDDO !------------------------------------------------------------------------ ! Otherwise, exit with error !------------------------------------------------------------------------ ELSE ! Error msg ErrMsg = 'Handling of PerSpc metadata ' // TRIM(perSpc ) // & ' is not implemented for this combo of data type and size!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF END SUBROUTINE Register_ChmField_R8_4D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ind_ ! ! !DESCRIPTION: Function IND\_ returns the index of an advected species or ! chemical species contained in the chemistry state object by name. !\\ !\\ ! !INTERFACE: ! FUNCTION Ind_( name, flag ) RESULT( Indx ) ! ! !USES: ! USE CharPak_Mod, ONLY : To_UpperCase ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: name ! Species name CHARACTER(LEN=*), OPTIONAL, INTENT(IN) :: flag ! Species type ! ! !RETURN VALUE: ! INTEGER :: Indx ! Index of this species ! ! !REMARKS: ! Values of FLAG (case-insensitive): ! 'A' or 'a' : Returns advected species index ! 'D' or 'd' : Returns dry-deposition species index ! 'F' or 'f' : Returns KPP fixed species index ! 'G' or 'g' : Returns gas-phase species index ! 'H' or 'h' : Returns hygroscopic-growth species index ! 'K' or 'k' : Returns KPP main species index ! 'N' or 'n' : Returns radionuclide species index ! 'P' or 'p' : Returns photolysis species index ! 'S' or 's' : Returns main species index (aka "ModelId") ! 'T' or 't' : Returns transport tracer index ! 'V' or 'v' : Returns KPP variable species index ! 'W' or 'w' : Returns wet-deposition species index ! ! !REVISION HISTORY: ! 07 Oct 2016 - M. Long - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: N !===================================================================== ! Ind_ begins here! !===================================================================== ! Get the ModelId value from the lookup table ! NOTE: -1 is used to denote missing species. N = SpcDictLocal%Get( To_UpperCase( TRIM( Name ) ) ) Indx = N ! If N is negative then return -1 to denote the species was not found. ! If FLAG is not passed, RETURN the ModelId (regardless of whether the ! species was found or missing). IF ( ( N < 0 ).or. ( .not. PRESENT( Flag ) ) ) RETURN ! For species that were found, return the index specified by FLAG SELECT CASE( Flag(1:1) ) ! Advected species flag CASE( 'A', 'a' ) Indx = SpcDataLocal(N)%Info%AdvectID RETURN ! Dry-deposited species ID CASE( 'D', 'd' ) Indx = SpcDataLocal(N)%Info%DryDepId RETURN ! KPP fixed species ID CASE( 'F', 'f' ) Indx = SpcDataLocal(N)%Info%KppFixId RETURN ! Gas-phase species ID CASE( 'G', 'g' ) Indx = SpcDataLocal(N)%Info%GasSpcId RETURN ! Hygroscopic growth species ID CASE( 'H', 'h' ) Indx = SpcDataLocal(N)%Info%HygGrthId RETURN ! KPP chemical species ID CASE( 'K', 'k' ) Indx = SpcDataLocal(N)%Info%KppSpcId RETURN ! Radionuclide chemical species ID CASE( 'N', 'n' ) Indx = SpcDataLocal(N)%Info%RadNuclId RETURN ! Photolysis species ID CASE( 'P', 'p' ) Indx = SpcDataLocal(N)%Info%PhotolId RETURN ! Species/ModelID CASE ( 'S', 's' ) Indx = SpcDataLocal(N)%Info%ModelID RETURN ! Transport tracer ID CASE( 'T', 't' ) Indx = SpcDataLocal(N)%Info%TracerId RETURN ! KPP variable species ID CASE( 'V', 'v' ) Indx = SpcDataLocal(N)%Info%KppVarId RETURN ! WetDep ID CASE( 'W', 'w' ) Indx = SpcDataLocal(N)%Info%WetDepId RETURN CASE DEFAULT ! Pass END SELECT END FUNCTION Ind_ !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: GetNumProdLossSpecies ! ! !DESCRIPTION: Saves the number of production and loss diagnostic species ! in the State\_Chm\%nProdLoss variable. This will be used to set up the ! State\_Chm\%Map\_ProdLoss species index vector. !\\ !\\ ! !INTERFACE: ! SUBROUTINE GetNumProdLossSpecies( Input_Opt, State_Chm, RC ) ! ! !USES: ! USE GcKpp_Monitor, ONLY : Fam_Names USE GcKpp_Parameters, ONLY : nFam USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Return code ! ! !REMARKS: ! ! !REVISION HISTORY: ! 06 Jan 2015 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc !======================================================================= ! GetProdLossSpecies begins here! !======================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = & ' -> at GetNumProdLossSpecies (in module Headers/state_chm_mod.F90)' !======================================================================= ! Get the number of prod and loss species depending on the simulation !======================================================================= IF ( Input_Opt%ITS_A_FULLCHEM_SIM .or. Input_Opt%ITS_A_MERCURY_SIM ) THEN !------------------------------ ! Full-chemistry simulations !------------------------------ ! Get the # of prod/loss species by querying the first leter of ! the species in the Fam_Names array (in gckpp_Monitor.F90) DO N = 1, nFam IF ( Fam_Names(N)(1:1) == 'L' ) State_Chm%nLoss = State_Chm%nLoss + 1 IF ( Fam_Names(N)(1:1) == 'P' ) State_Chm%nProd = State_Chm%nProd + 1 ENDDO ELSE IF ( Input_Opt%ITS_A_TAGO3_SIM .or. & Input_Opt%ITS_A_CARBON_SIM ) THEN !------------------------------ ! Tagged O3 or carbon simulation !----------------------------- ! Each advected species can have a prod and loss diagnostic attached State_Chm%nLoss = State_Chm%nAdvect State_Chm%nProd = State_Chm%nAdvect ELSE ! Other simulations do not have a prod/loss functionality ! but this can be added in if necessary State_Chm%nLoss = 0 State_Chm%nProd = 0 ENDIF END SUBROUTINE GetNumProdLossSpecies !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: MapProdLossSpecies ! ! !DESCRIPTION: Stores the ModelId (from the GEOS-Chem Species Database) of ! each prod/loss diagnostic species in the State\_Chm\%Map\_ProdLoss vector. !\\ !\\ ! !INTERFACE: ! SUBROUTINE MapProdLossSpecies( Input_Opt, State_Chm, TaggedDiag_List, RC ) ! ! !USES: ! USE CharPak_Mod, ONLY : To_UpperCase USE GcKpp_Monitor, ONLY : Fam_Names USE GcKpp_Parameters, ONLY : nFam USE Input_Opt_Mod, ONLY : OptInput USE TaggedDiagList_Mod, ONLY : DgnTagList USE TaggedDiagList_Mod, ONLY : TaggedDgnList USE TaggedDiagList_Mod, ONLY : Query_Tag_in_TagList USE TaggedDiagList_Mod, ONLY : Query_TaggedDiagList ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(TaggedDgnList), INTENT(IN) :: TaggedDiag_List ! Tag Diag. List ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input Options TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Return code ! ! !REMARKS: ! ! !REVISION HISTORY: ! 06 Jan 2015 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: found INTEGER :: Id, N, numTags, numWildCards, P, L ! Strings CHARACTER(LEN=36) :: name CHARACTER(LEN=255) :: diagName CHARACTER(LEN=255) :: errMsg CHARACTER(LEN=255) :: thisLoc ! Objects TYPE(DgnTagList) :: TagList TYPE(DgnTagList) :: WildCardList !======================================================================= ! GetProdLossSpecies begins here! !======================================================================= ! Initialize RC = GC_SUCCESS P = 0 L = 0 ErrMsg = '' ThisLoc = & ' -> at MapProdLossSpecies (in module Headers/state_chm_mod.F90)' !======================================================================= ! Get the number of prod and loss species depending on the simulation !======================================================================= IF ( Input_Opt%ITS_A_FULLCHEM_SIM .or. Input_Opt%ITS_A_MERCURY_SIM ) THEN !-------------------------------------------------------------------- ! Full-chemistry simulations !-------------------------------------------------------------------- ! Loop over the number of prod/loss species DO N = 1, nFam ! Initialize name = '' diagName = '' found = .FALSE. ! Get the KPP prod/loss species from the FAM_NAMES ! array in the gckpp_Parameters.F90 module. ! NOTE: This is the KPP ID number (index of "VAR" array) ! and not the GEOS-Chem "main" species index!!! Id = Ind_( TRIM( Fam_Names(N) ), 'K' ) ! Try to add the species if it is valid IF ( Id > 0 ) THEN ! KPP prod/loss species name Name = TRIM( Fam_Names(N) ) !--------------------------------------------------------------- ! Loss species !--------------------------------------------------------------- IF ( Name(1:1) == 'L' ) THEN ! The diagnostic name will be `Loss_' + the KPP family name diagName = 'Loss_' // TRIM( Name(2:) ) ! Check if the TaggedDiag_List exists for "Loss" CALL Query_TaggedDiagList( & TaggedDiagList = TaggedDiag_List, & diagName = 'Loss', & found = found, & numTags = numTags, & TagList = TagList, & numWildCards = numWildCards, & WildCardList = WildCardList, & RC = RC ) ! Check if the given loss species or wildcard has been ! requested for diagnostic archival before updating ! mapping vectors. IF ( found ) THEN IF ( numTags > 0 ) THEN CALL Query_Tag_in_TagList( TagList, name(2:), & found, RC ) ELSE IF ( numWildCards > 0 ) THEN CALL Query_Tag_in_TagList( WildCardList, 'LOS', & found, RC ) ENDIF IF ( found ) THEN L = L + 1 State_Chm%Map_Loss(L) = Id State_Chm%Name_Loss(L) = TRIM( diagName ) ENDIF ENDIF !--------------------------------------------------------------- ! Prod species !--------------------------------------------------------------- ELSE IF ( Name(1:1) == 'P' ) THEN ! The diagnostic name will be `Prod_' + the KPP family name diagName = 'Prod_' // TRIM( Name(2:) ) ! Check if the TaggedDiag_List exists for "Prod" CALL Query_TaggedDiagList( & TaggedDiagList = TaggedDiag_List, & diagName = 'Prod', & found = found, & numTags = numTags, & TagList = TagList, & numWildCards = numWildCards, & WildCardList = WildCardList, & RC = RC ) ! Check if the given prod species or wildcard has been ! requested for diagnostic archival before updating ! mapping vectors. IF ( found ) THEN IF ( numTags > 0 ) THEN CALL Query_Tag_in_TagList( TagList, name(2:), & found, RC ) ELSE IF ( numWildCards > 0 ) THEN CALL Query_Tag_in_TagList( WildCardList, 'PRD', & found, RC ) ENDIF IF ( found ) THEN P = P + 1 State_Chm%Map_Prod(P) = Id State_Chm%Name_Prod(P) = TRIM( diagName ) ENDIF ENDIF !--------------------------------------------------------------- ! Invalid prod/loss species !--------------------------------------------------------------- ELSE ErrMsg = 'Invalid prod/loss species name!' // & TRIM( Fam_Names(N) ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------ ! Could not find KPP species !------------------------------------------------------------------ ELSE ! Invalid species, exit with error! ErrMsg = 'Could not locate KPP prod/loss species: ' // & TRIM( Fam_Names(N) ) // '!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDDO ELSE IF ( Input_Opt%ITS_A_TAGO3_SIM .or. & Input_Opt%ITS_A_CARBON_SIM ) THEN !-------------------------------------------------------------------- ! Tagged O3 simulations !-------------------------------------------------------------------- ! Each advected species can have an attached loss diagnostic ... DO Id = 1, State_Chm%nLoss Name = 'Loss_' // TRIM( State_Chm%SpcData(Id)%Info%Name ) State_Chm%Name_Loss(Id) = TRIM( Name ) State_Chm%Map_Loss(Id) = Id ENDDO ! ... as well as an attached production diagnostic DO Id = 1, State_Chm%nProd Name = 'Prod_' // TRIM( State_Chm%SpcData(Id)%Info%Name ) State_Chm%Name_Prod(Id) = TRIM( Name ) State_Chm%Map_Prod(Id) = Id ENDDO ELSE !-------------------------------------------------------------------- ! Other simulations do not have prod/loss capability !-------------------------------------------------------------------- State_Chm%Name_Prod => NULL() State_Chm%Map_Prod => NULL() ENDIF END SUBROUTINE MapProdLossSpecies !EOC END MODULE State_Chm_Mod ================================================ FILE: Headers/state_diag_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: state_diag_mod.F90 ! ! !DESCRIPTION: Module STATE\_DIAG\_MOD contains the derived type ! used to define the Diagnostics State object for GEOS-Chem. !\\ !\\ ! This module also contains the routines that allocate and deallocate memory ! to the Diagnostics State object. The Diagnostics State object is not ! defined in this module. It must be be declared as variable in the top-level ! driver routine, and then passed to lower-level routines as an argument. !\\ !\\ ! !INTERFACE: ! MODULE State_Diag_Mod ! ! USES: ! USE CMN_Size_Mod, ONLY : NDUST USE DiagList_Mod USE Dictionary_M, ONLY : dictionary_t USE ErrCode_Mod USE gckpp_Parameters, ONLY : NREACT USE Precision_Mod USE Registry_Mod USE Species_Mod, ONLY : Species USE State_Chm_Mod, ONLY : ChmState USE TaggedDiagList_Mod IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: Cleanup_State_Diag PUBLIC :: Get_Metadata_State_Diag PUBLIC :: Get_NameInfo PUBLIC :: Get_NumTags PUBLIC :: Get_TagInfo PUBLIC :: Init_State_Diag ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: Finalize PRIVATE :: Finalize_MapData PRIVATE :: Finalize_R4_2D PRIVATE :: Finalize_R4_3D PRIVATE :: Finalize_R4_4D PRIVATE :: Finalize_R8_2D PRIVATE :: Finalize_R8_3D PRIVATE :: Finalize_R8_4D PRIVATE :: Get_DiagNameDesc PRIVATE :: Get_MapData_and_NumSlots PRIVATE :: Get_Mapping PRIVATE :: Init_and_Register PRIVATE :: Init_and_Register_R4_2D PRIVATE :: Init_and_Register_R4_3D PRIVATE :: Init_and_Register_R4_4D PRIVATE :: Init_and_Register_R8_2D PRIVATE :: Init_and_Register_R8_3D PRIVATE :: Init_and_Register_R8_4D PRIVATE :: Init_RRTMG_Indices PRIVATE :: Register_DiagField PRIVATE :: Register_DiagField_R4_2D PRIVATE :: Register_DiagField_R4_3D PRIVATE :: Register_DiagField_R4_4D PRIVATE :: Register_DiagField_R8_2D PRIVATE :: Register_DiagField_R8_3D PRIVATE :: Register_DiagField_R8_4D ! ! !PUBLIC DATA MEMBERS: ! !========================================================================= ! Type for mapping objects !========================================================================= TYPE, PUBLIC :: DgnMap INTEGER :: nSlots INTEGER, POINTER :: slot2id(:) INTEGER :: nIds INTEGER, POINTER :: id2slot(:) CHARACTER(LEN=1) :: indFlag END TYPE DgnMap !========================================================================= ! Derived type for Diagnostics State !========================================================================= TYPE, PUBLIC :: DgnState !---------------------------------------------------------------------- ! Standard Simulation Diagnostic Arrays !---------------------------------------------------------------------- !%%%%% Restart file fields %%%%% REAL(f8), POINTER :: SpeciesRst(:,:,:,:) LOGICAL :: Archive_SpeciesRst !%%%%% Boundary condition fields %%%%% REAL(f8), POINTER :: SpeciesBC(:,:,:,:) TYPE(DgnMap), POINTER :: Map_SpeciesBC LOGICAL :: Archive_SpeciesBC !%%%%% Concentrations %%%%% REAL(f8), POINTER :: SpeciesConcVV(:,:,:,:) TYPE(DgnMap), POINTER :: Map_SpeciesConcVV LOGICAL :: Archive_SpeciesConcVV REAL(f8), POINTER :: SpeciesConcMND(:,:,:,:) TYPE(DgnMap), POINTER :: Map_SpeciesConcMND LOGICAL :: Archive_SpeciesConcMND !%%%%% ML diagnostics %%%%% REAL(f8), POINTER :: ConcBeforeChem(:,:,:,:) TYPE(DgnMap), POINTER :: Map_ConcBeforeChem LOGICAL :: Archive_ConcBeforeChem REAL(f8), POINTER :: ConcAfterChem(:,:,:,:) TYPE(DgnMap), POINTER :: Map_ConcAfterChem LOGICAL :: Archive_ConcAfterChem #ifdef ADJOINT ! Adjoint variables for diagnostic output REAL(f8), POINTER :: SpeciesAdj(:,:,:,:) TYPE(DgnMap), POINTER :: Map_SpeciesAdj LOGICAL :: Archive_SpeciesAdj ! Concentrations REAL(f8), POINTER :: ScaleICsAdj(:,:,:,:) TYPE(DgnMap), POINTER :: Map_ScaleICsAdj LOGICAL :: Archive_ScaleICsAdj #endif !%%%%% Budget diagnostics %%%%% REAL(f8), POINTER :: BudgetEmisDryDepFull(:,:,:) TYPE(DgnMap), POINTER :: Map_BudgetEmisDryDepFull LOGICAL :: Archive_BudgetEmisDryDepFull REAL(f8), POINTER :: BudgetEmisDryDepTrop(:,:,:) TYPE(DgnMap), POINTER :: Map_BudgetEmisDryDepTrop LOGICAL :: Archive_BudgetEmisDryDepTrop REAL(f8), POINTER :: BudgetEmisDryDepPBL(:,:,:) TYPE(DgnMap), POINTER :: Map_BudgetEmisDryDepPBL LOGICAL :: Archive_BudgetEmisDryDepPBL REAL(f8), POINTER :: BudgetEmisDryDepLevs(:,:,:) TYPE(DgnMap), POINTER :: Map_BudgetEmisDryDepLevs LOGICAL :: Archive_BudgetEmisDryDepLevs REAL(f8), POINTER :: BudgetTransportFull(:,:,:) TYPE(DgnMap), POINTER :: Map_BudgetTransportFull LOGICAL :: Archive_BudgetTransportFull REAL(f8), POINTER :: BudgetTransportTrop(:,:,:) TYPE(DgnMap), POINTER :: Map_BudgetTransportTrop LOGICAL :: Archive_BudgetTransportTrop REAL(f8), POINTER :: BudgetTransportPBL(:,:,:) TYPE(DgnMap), POINTER :: Map_BudgetTransportPBL LOGICAL :: Archive_BudgetTransportPBL REAL(f8), POINTER :: BudgetTransportLevs(:,:,:) TYPE(DgnMap), POINTER :: Map_BudgetTransportLevs LOGICAL :: Archive_BudgetTransportLevs REAL(f8), POINTER :: BudgetMixingFull(:,:,:) TYPE(DgnMap), POINTER :: Map_BudgetMixingFull LOGICAL :: Archive_BudgetMixingFull REAL(f8), POINTER :: BudgetMixingTrop(:,:,:) TYPE(DgnMap), POINTER :: Map_BudgetMixingTrop LOGICAL :: Archive_BudgetMixingTrop REAL(f8), POINTER :: BudgetMixingPBL(:,:,:) TYPE(DgnMap), POINTER :: Map_BudgetMixingPBL LOGICAL :: Archive_BudgetMixingPBL REAL(f8), POINTER :: BudgetMixingLevs(:,:,:) TYPE(DgnMap), POINTER :: Map_BudgetMixingLevs LOGICAL :: Archive_BudgetMixingLevs REAL(f8), POINTER :: BudgetConvectionFull(:,:,:) TYPE(DgnMap), POINTER :: Map_BudgetConvectionFull LOGICAL :: Archive_BudgetConvectionFull REAL(f8), POINTER :: BudgetConvectionTrop(:,:,:) TYPE(DgnMap), POINTER :: Map_BudgetConvectionTrop LOGICAL :: Archive_BudgetConvectionTrop REAL(f8), POINTER :: BudgetConvectionPBL(:,:,:) TYPE(DgnMap), POINTER :: Map_BudgetConvectionPBL LOGICAL :: Archive_BudgetConvectionPBL REAL(f8), POINTER :: BudgetConvectionLevs(:,:,:) TYPE(DgnMap), POINTER :: Map_BudgetConvectionLevs LOGICAL :: Archive_BudgetConvectionLevs REAL(f8), POINTER :: BudgetChemistryFull(:,:,:) TYPE(DgnMap), POINTER :: Map_BudgetChemistryFull LOGICAL :: Archive_BudgetChemistryFull REAL(f8), POINTER :: BudgetChemistryTrop(:,:,:) TYPE(DgnMap), POINTER :: Map_BudgetChemistryTrop LOGICAL :: Archive_BudgetChemistryTrop REAL(f8), POINTER :: BudgetChemistryPBL(:,:,:) TYPE(DgnMap), POINTER :: Map_BudgetChemistryPBL LOGICAL :: Archive_BudgetChemistryPBL REAL(f8), POINTER :: BudgetChemistryLevs(:,:,:) TYPE(DgnMap), POINTER :: Map_BudgetChemistryLevs LOGICAL :: Archive_BudgetChemistryLevs REAL(f8), POINTER :: BudgetWetDepFull(:,:,:) TYPE(DgnMap), POINTER :: Map_BudgetWetDepFull LOGICAL :: Archive_BudgetWetDepFull REAL(f8), POINTER :: BudgetWetDepTrop(:,:,:) TYPE(DgnMap), POINTER :: Map_BudgetWetDepTrop LOGICAL :: Archive_BudgetWetDepTrop REAL(f8), POINTER :: BudgetWetDepPBL(:,:,:) TYPE(DgnMap), POINTER :: Map_BudgetWetDepPBL LOGICAL :: Archive_BudgetWetDepPBL REAL(f8), POINTER :: BudgetWetDepLevs(:,:,:) TYPE(DgnMap), POINTER :: Map_BudgetWetDepLevs LOGICAL :: Archive_BudgetWetDepLevs REAL(f8), POINTER :: BudgetColumnMass(:,:,:,:) INTEGER :: BudgetBotLev_int INTEGER :: BudgetTopLev_int LOGICAL :: Archive_BudgetEmisDryDep LOGICAL :: Archive_BudgetTransport LOGICAL :: Archive_BudgetMixing LOGICAL :: Archive_BudgetConvection LOGICAL :: Archive_BudgetChemistry LOGICAL :: Archive_BudgetWetDep LOGICAL :: Archive_Budget !%%%%% Dry deposition %%%%% REAL(f4), POINTER :: DryDepChm(:,:,:) TYPE(DgnMap), POINTER :: Map_DryDepChm LOGICAL :: Archive_DryDepChm REAL(f4), POINTER :: DryDepMix(:,:,:) TYPE(DgnMap), POINTER :: Map_DryDepMix LOGICAL :: Archive_DryDepMix REAL(f4), POINTER :: DryDep(:,:,:) TYPE(DgnMap), POINTER :: Map_DryDep LOGICAL :: Archive_DryDep REAL(f4), POINTER :: DryDepVel(:,:,:) TYPE(DgnMap), POINTER :: Map_DryDepVel LOGICAL :: Archive_DryDepVel REAL(f4), POINTER :: SatDiagnDryDep(:,:,:) TYPE(DgnMap), POINTER :: Map_SatDiagnDryDep LOGICAL :: Archive_SatDiagnDryDep LOGICAL :: Archive_SatDiagn LOGICAL :: Archive_SatDiagnEdge REAL(f4), POINTER :: SatDiagnDryDepVel(:,:,:) TYPE(DgnMap), POINTER :: Map_SatDiagnDryDepVel LOGICAL :: Archive_SatDiagnDryDepVel !%%%%% Photolysis %%%%% REAL(f4), POINTER :: Jval(:,:,:,:) TYPE(DgnMap), POINTER :: Map_Jval LOGICAL :: Archive_Jval REAL(f4), POINTER :: JvalO3O1D(:,:,:) LOGICAL :: Archive_JvalO3O1D REAL(f4), POINTER :: JvalO3O3P(:,:,:) LOGICAL :: Archive_JvalO3O3P REAL(f4), POINTER :: SatDiagnJval(:,:,:,:) TYPE(DgnMap), POINTER :: Map_SatDiagnJval LOGICAL :: Archive_SatDiagnJval REAL(f4), POINTER :: SatDiagnJvalO3O1D(:,:,:) LOGICAL :: Archive_SatDiagnJvalO3O1D REAL(f4), POINTER :: SatDiagnJvalO3O3P(:,:,:) LOGICAL :: Archive_SatDiagnJvalO3O3P REAL(f4), POINTER :: JNoon(:,:,:,:) TYPE(DgnMap), POINTER :: Map_JNoon LOGICAL :: Archive_JNoon REAL(f4), POINTER :: JNoonFrac(:,:) LOGICAL :: Archive_JNoonFrac REAL(f4), POINTER :: UVFluxDiffuse(:,:,:,:) TYPE(DgnMap), POINTER :: Map_UvFluxDiffuse LOGICAL :: Archive_UVFluxDiffuse REAL(f4), POINTER :: UVFluxDirect(:,:,:,:) TYPE(DgnMap), POINTER :: Map_UvFluxDirect LOGICAL :: Archive_UVFluxDirect REAL(f4), POINTER :: UVFluxNet(:,:,:,:) TYPE(DgnMap), POINTER :: Map_UvFluxNet LOGICAL :: Archive_UVFluxNet REAL(f4), POINTER :: OD600(:,:,:) LOGICAL :: Archive_OD600 REAL(f4), POINTER :: TCOD600(:,:) LOGICAL :: Archive_TCOD600 !%%%%% Chemistry %%%%% REAL(f4), POINTER :: RxnRate(:,:,:,:) TYPE(DgnMap), POINTER :: Map_RxnRate LOGICAL :: Archive_RxnRate REAL(f4), POINTER :: SatDiagnRxnRate(:,:,:,:) TYPE(DgnMap), POINTER :: Map_SatDiagnRxnRate LOGICAL :: Archive_SatDiagnRxnRate REAL(f4), POINTER :: RxnConst(:,:,:,:) TYPE(DgnMap), POINTER :: Map_RxnConst LOGICAL :: Archive_RxnConst REAL(f4), POINTER :: OHreactivity(:,:,:) LOGICAL :: Archive_OHreactivity REAL(f4), POINTER :: SatDiagnOHreactivity(:,:,:) LOGICAL :: Archive_SatDiagnOHreactivity REAL(f4), POINTER :: OHconcAfterChem(:,:,:) LOGICAL :: Archive_OHconcAfterChem REAL(f4), POINTER :: HO2concAfterChem(:,:,:) LOGICAL :: Archive_HO2concAfterChem REAL(f4), POINTER :: O1DconcAfterChem(:,:,:) LOGICAL :: Archive_O1DconcAfterChem REAL(f4), POINTER :: O3PconcAfterChem(:,:,:) LOGICAL :: Archive_O3PconcAfterChem REAL(f4), POINTER :: CH4pseudoFlux(:,:) LOGICAL :: Archive_CH4pseudoFlux REAL(f4), POINTER :: SatDiagnLoss(:,:,:,:) TYPE(DgnMap), POINTER :: Map_SatDiagnLoss LOGICAL :: Archive_SatDiagnLoss REAL(f4), POINTER :: Loss(:,:,:,:) TYPE(DgnMap), POINTER :: Map_Loss LOGICAL :: Archive_Loss REAL(f4), POINTER :: SatDiagnProd(:,:,:,:) TYPE(DgnMap), POINTER :: Map_SatDiagnProd LOGICAL :: Archive_SatDiagnProd REAL(f4), POINTER :: Prod(:,:,:,:) TYPE(DgnMap), POINTER :: Map_Prod LOGICAL :: Archive_Prod #ifdef MODEL_GEOS REAL(f4), POINTER :: NOxTau(:,:,:) LOGICAL :: Archive_NOxTau REAL(f4), POINTER :: TropNOxTau(:,:) LOGICAL :: Archive_TropNOxTau #endif !%%%%% Aerosol characteristics %%%%% REAL(f4), POINTER :: AerHygGrowth(:,:,:,:) TYPE(DgnMap), POINTER :: Map_AerHygGrowth LOGICAL :: Archive_AerHygGrowth REAL(f4), POINTER :: AerAqVol(:,:,:) LOGICAL :: Archive_AerAqVol REAL(f4), POINTER :: AerSurfAreaHyg(:,:,:,:) TYPE(DgnMap), POINTER :: Map_AerSurfAreaHyg LOGICAL :: Archive_AerSurfAreaHyg REAL(f4), POINTER :: AerSurfAreaDust(:,:,:) LOGICAL :: Archive_AerSurfAreaDust REAL(f4), POINTER :: AerSurfAreaSLA(:,:,:) LOGICAL :: Archive_AerSurfAreaSLA REAL(f4), POINTER :: AerSurfAreaPSC(:,:,:) LOGICAL :: Archive_AerSurfAreaPSC REAL(f4), POINTER :: AerNumDenSLA(:,:,:) LOGICAL :: Archive_AerNumDenSLA REAL(f4), POINTER :: AerNumDenPSC(:,:,:) LOGICAL :: Archive_AerNumDenPSC #ifdef TOMAS !%%%%% TOMAS microphysics rates %%%%% LOGICAL :: Archive_Tomas REAL(f4), POINTER :: TomasH2SO4mass(:,:,:,:) TYPE(DgnMap), POINTER :: Map_TomasH2SO4mass LOGICAL :: Archive_TomasH2SO4mass REAL(f4), POINTER :: TomasH2SO4number(:,:,:,:) TYPE(DgnMap), POINTER :: Map_TomasH2SO4number LOGICAL :: Archive_TomasH2SO4number REAL(f4), POINTER :: TomasCOAGmass(:,:,:,:) TYPE(DgnMap), POINTER :: Map_TomasCOAGmass LOGICAL :: Archive_TomasCOAGmass REAL(f4), POINTER :: TomasCOAGnumber(:,:,:,:) TYPE(DgnMap), POINTER :: Map_TomasCOAGnumber LOGICAL :: Archive_TomasCOAGnumber REAL(f4), POINTER :: TomasNUCRATEFN(:,:,:) LOGICAL :: Archive_TomasNUCRATEFN REAL(f4), POINTER :: TomasNUCLmass(:,:,:,:) TYPE(DgnMap), POINTER :: Map_TomasNUCLmass LOGICAL :: Archive_TomasNUCLmass REAL(f4), POINTER :: TomasNUCLnumber(:,:,:,:) TYPE(DgnMap), POINTER :: Map_TomasNUCLnumber LOGICAL :: Archive_TomasNUCLnumber REAL(f4), POINTER :: TomasNUCRATEnumber(:,:,:,:) TYPE(DgnMap), POINTER :: Map_TomasNUCRATEnumber LOGICAL :: Archive_TomasNUCRATEnumber REAL(f4), POINTER :: TomasAQOXmass(:,:,:,:) TYPE(DgnMap), POINTER :: Map_TomasAQOXmass LOGICAL :: Archive_TomasAQOXmass REAL(f4), POINTER :: TomasAQOXnumber(:,:,:,:) TYPE(DgnMap), POINTER :: Map_TomasAQOXnumber LOGICAL :: Archive_TomasAQOXnumber REAL(f4), POINTER :: TomasMNFIXmass(:,:,:,:) TYPE(DgnMap), POINTER :: Map_TomasMNFIXmass LOGICAL :: Archive_TomasMNFIXmass REAL(f4), POINTER :: TomasMNFIXnumber(:,:,:,:) TYPE(DgnMap), POINTER :: Map_TomasMNFIXnumber LOGICAL :: Archive_TomasMNFIXnumber REAL(f4), POINTER :: TomasMNFIXh2so4mass(:,:,:,:) TYPE(DgnMap), POINTER :: Map_TomasMNFIXh2so4mass LOGICAL :: Archive_TomasMNFIXh2so4mass REAL(f4), POINTER :: TomasMNFIXh2so4number(:,:,:,:) TYPE(DgnMap), POINTER :: Map_TomasMNFIXh2so4number LOGICAL :: Archive_TomasMNFIXh2so4number REAL(f4), POINTER :: TomasMNFIXcoagmass(:,:,:,:) TYPE(DgnMap), POINTER :: Map_TomasMNFIXcoagmass LOGICAL :: Archive_TomasMNFIXcoagmass REAL(f4), POINTER :: TomasMNFIXcoagnumber(:,:,:,:) TYPE(DgnMap), POINTER :: Map_TomasMNFIXcoagnumber LOGICAL :: Archive_TomasMNFIXcoagnumber REAL(f4), POINTER :: TomasMNFIXaqoxmass(:,:,:,:) TYPE(DgnMap), POINTER :: Map_TomasMNFIXaqoxmass LOGICAL :: Archive_TomasMNFIXaqoxmass REAL(f4), POINTER :: TomasMNFIXaqoxnumber(:,:,:,:) TYPE(DgnMap), POINTER :: Map_TomasMNFIXaqoxnumber LOGICAL :: Archive_TomasMNFIXaqoxnumber REAL(f4), POINTER :: TomasMNFIXezwat1mass(:,:,:,:) TYPE(DgnMap), POINTER :: Map_TomasMNFIXezwat1mass LOGICAL :: Archive_TomasMNFIXezwat1mass REAL(f4), POINTER :: TomasMNFIXezwat1number(:,:,:,:) TYPE(DgnMap), POINTER :: Map_TomasMNFIXezwat1number LOGICAL :: Archive_TomasMNFIXezwat1number REAL(f4), POINTER :: TomasMNFIXezwat2mass(:,:,:,:) TYPE(DgnMap), POINTER :: Map_TomasMNFIXezwat2mass LOGICAL :: Archive_TomasMNFIXezwat2mass REAL(f4), POINTER :: TomasMNFIXezwat2number(:,:,:,:) TYPE(DgnMap), POINTER :: Map_TomasMNFIXezwat2number LOGICAL :: Archive_TomasMNFIXezwat2number REAL(f4), POINTER :: TomasMNFIXezwat3mass(:,:,:,:) TYPE(DgnMap), POINTER :: Map_TomasMNFIXezwat3mass LOGICAL :: Archive_TomasMNFIXezwat3mass REAL(f4), POINTER :: TomasMNFIXezwat3number(:,:,:,:) TYPE(DgnMap), POINTER :: Map_TomasMNFIXezwat3number LOGICAL :: Archive_TomasMNFIXezwat3number REAL(f4), POINTER :: TomasMNFIXcheck1mass(:,:,:,:) TYPE(DgnMap), POINTER :: Map_TomasMNFIXcheck1mass LOGICAL :: Archive_TomasMNFIXcheck1mass REAL(f4), POINTER :: TomasMNFIXcheck1number(:,:,:,:) TYPE(DgnMap), POINTER :: Map_TomasMNFIXcheck1number LOGICAL :: Archive_TomasMNFIXcheck1number REAL(f4), POINTER :: TomasMNFIXcheck2mass(:,:,:,:) TYPE(DgnMap), POINTER :: Map_TomasMNFIXcheck2mass LOGICAL :: Archive_TomasMNFIXcheck2mass REAL(f4), POINTER :: TomasMNFIXcheck2number(:,:,:,:) TYPE(DgnMap), POINTER :: Map_TomasMNFIXcheck2number LOGICAL :: Archive_TomasMNFIXcheck2number REAL(f4), POINTER :: TomasMNFIXcheck3mass(:,:,:,:) TYPE(DgnMap), POINTER :: Map_TomasMNFIXcheck3mass LOGICAL :: Archive_TomasMNFIXcheck3mass REAL(f4), POINTER :: TomasMNFIXcheck3number(:,:,:,:) TYPE(DgnMap), POINTER :: Map_TomasMNFIXcheck3number LOGICAL :: Archive_TomasMNFIXcheck3number REAL(f4), POINTER :: TomasSOAmass(:,:,:,:) TYPE(DgnMap), POINTER :: Map_TomasSOAmass LOGICAL :: Archive_TomasSOAmass REAL(f4), POINTER :: TomasSOAnumber(:,:,:,:) TYPE(DgnMap), POINTER :: Map_TomasSOAnumber LOGICAL :: Archive_TomasSOAnumber #endif !%%%%% Aerosol optical depths %%%%% REAL(f4), POINTER :: AODDust(:,:,:) LOGICAL :: Archive_AODDust LOGICAL :: Archive_AOD REAL(f4), POINTER :: AODDustWL1(:,:,:,:) TYPE(DgnMap), POINTER :: Map_AODDustWL1 LOGICAL :: Archive_AODDustWL1 REAL(f4), POINTER :: AODDustWL2(:,:,:,:) TYPE(DgnMap), POINTER :: Map_AODDustWL2 LOGICAL :: Archive_AODDustWL2 REAL(f4), POINTER :: AODDustWL3(:,:,:,:) TYPE(DgnMap), POINTER :: Map_AODDustWL3 LOGICAL :: Archive_AODDustWL3 REAL(f4), POINTER :: AODHygWL1(:,:,:,:) TYPE(DgnMap), POINTER :: Map_AODHygWL1 LOGICAL :: Archive_AODHygWL1 REAL(f4), POINTER :: AODHygWL2(:,:,:,:) TYPE(DgnMap), POINTER :: Map_AODHygWL2 LOGICAL :: Archive_AODHygWL2 REAL(f4), POINTER :: AODHygWL3(:,:,:,:) TYPE(DgnMap), POINTER :: Map_AODHygWL3 LOGICAL :: Archive_AODHygWL3 REAL(f4), POINTER :: AODSOAfromAqIsopWL1(:,:,:) LOGICAL :: Archive_AODSOAfromAqIsopWL1 REAL(f4), POINTER :: AODSOAfromAqIsopWL2(:,:,:) LOGICAL :: Archive_AODSOAfromAqIsopWL2 REAL(f4), POINTER :: AODSOAfromAqIsopWL3(:,:,:) LOGICAL :: Archive_AODSOAfromAqIsopWL3 REAL(f4), POINTER :: AODSLAWL1(:,:,:) LOGICAL :: Archive_AODSLAWL1 LOGICAL :: Archive_AODStrat REAL(f4), POINTER :: AODSLAWL2(:,:,:) LOGICAL :: Archive_AODSLAWL2 REAL(f4), POINTER :: AODSLAWL3(:,:,:) LOGICAL :: Archive_AODSLAWL3 REAL(f4), POINTER :: AODPSCWL1(:,:,:) LOGICAL :: Archive_AODPSCWL1 REAL(f4), POINTER :: AODPSCWL2(:,:,:) LOGICAL :: Archive_AODPSCWL2 REAL(f4), POINTER :: AODPSCWL3(:,:,:) LOGICAL :: Archive_AODPSCWL3 !%%%%% Aerosol mass and PM2.5 %%%%% REAL(f4), POINTER :: AerMassASOA(:,:,:) LOGICAL :: Archive_AerMassASOA LOGICAL :: Archive_AerMass REAL(f4), POINTER :: AerMassBC(:,:,:) LOGICAL :: Archive_AerMassBC REAL(f4), POINTER :: AerMassHMS(:,:,:) LOGICAL :: Archive_AerMassHMS REAL(f4), POINTER :: AerMassINDIOL(:,:,:) LOGICAL :: Archive_AerMassINDIOL REAL(f4), POINTER :: AerMassISN1OA(:,:,: ) LOGICAL :: Archive_AerMassLVOCOA REAL(f4), POINTER :: AerMassLVOCOA(:,:,:) LOGICAL :: Archive_AerMassISN1OA REAL(f4), POINTER :: AerMassNH4(:,:,:) LOGICAL :: Archive_AerMassNH4 REAL(f4), POINTER :: AerMassNIT(:,:,:) LOGICAL :: Archive_AerMassNIT REAL(f4), POINTER :: AerMassOPOA(:,:,:) LOGICAL :: Archive_AerMassOPOA REAL(f4), POINTER :: AerMassPOA(:,:,:) LOGICAL :: Archive_AerMassPOA REAL(f4), POINTER :: AerMassSAL(:,:,:) LOGICAL :: Archive_AerMassSAL REAL(f4), POINTER :: AerMassSO4(:,:,:) LOGICAL :: Archive_AerMassSO4 REAL(f4), POINTER :: AerMassSOAGX(:,:,:) LOGICAL :: Archive_AerMassSOAGX REAL(f4), POINTER :: AerMassSOAIE(:,:,:) LOGICAL :: Archive_AerMassSOAIE REAL(f4), POINTER :: AerMassTSOA(:,:,:) LOGICAL :: Archive_AerMassTSOA REAL(f4), POINTER :: BetaNO(:,:,:) LOGICAL :: Archive_BetaNO REAL(f4), POINTER :: PM25(:,:,:) LOGICAL :: Archive_PM25 !zhaisx REAL(f4), POINTER :: PM10(:,:,:) LOGICAL :: Archive_PM10 ! H. Zhu REAL(f4), POINTER :: PDER(:,:,:) LOGICAL :: Archive_PDER REAL(f4), POINTER :: TotalOA(:,:,:) LOGICAL :: Archive_TotalOA REAL(f4), POINTER :: TotalOC(:,:,:) LOGICAL :: Archive_TotalOC REAL(f4), POINTER :: TotalBiogenicOA(:,:,:) LOGICAL :: Archive_TotalBiogenicOA !%%%%% Advection %%%%% REAL(f4), POINTER :: AdvFluxZonal(:,:,:,:) TYPE(DgnMap), POINTER :: Map_AdvFluxZonal LOGICAL :: Archive_AdvFluxZonal REAL(f4), POINTER :: AdvFluxMerid(:,:,:,:) TYPE(DgnMap), POINTER :: Map_AdvFluxMerid LOGICAL :: Archive_AdvFluxMerid REAL(f4), POINTER :: AdvFluxVert(:,:,:,:) TYPE(DgnMap), POINTER :: Map_AdvFluxVert LOGICAL :: Archive_AdvFluxVert !%%%%% Mixing %%%%% REAL(f4), POINTER :: PBLMixFrac(:,:,:) LOGICAL :: Archive_PBLMixFrac REAL(f4), POINTER :: PBLFlux(:,:,:,:) TYPE(DgnMap), POINTER :: Map_PblFlux LOGICAL :: Archive_PBLFlux !%%%%% Convection and WetDep %%%%% REAL(f4), POINTER :: CloudConvFlux(:,:,:,:) TYPE(DgnMap), POINTER :: Map_CloudConvFlux LOGICAL :: Archive_CloudConvFlux REAL(f4), POINTER :: WetLossConvFrac(:,:,:,:) TYPE(DgnMap), POINTER :: Map_WetLossConvFrac LOGICAL :: Archive_WetLossConvFrac REAL(f4), POINTER :: WetLossConv(:,:,:,:) TYPE(DgnMap), POINTER :: Map_WetLossConv LOGICAL :: Archive_WetLossConv REAL(f4), POINTER :: SatDiagnWetLossConv(:,:,:,:) TYPE(DgnMap), POINTER :: Map_SatDiagnWetLossConv LOGICAL :: Archive_SatDiagnWetLossConv REAL(f4), POINTER :: WetLossLS(:,:,:,:) TYPE(DgnMap), POINTER :: Map_WetLossLS LOGICAL :: Archive_WetLossLS REAL(f4), POINTER :: SatDiagnWetLossLS(:,:,:,:) TYPE(DgnMap), POINTER :: Map_SatDiagnWetLossLS LOGICAL :: Archive_SatDiagnWetLossLS ! These are obsolete diagnostics !REAL(f4), POINTER :: PrecipFracLS (:,:,: ) !REAL(f4), POINTER :: RainFracLS (:,:,:,:) !REAL(f4), POINTER :: WashFracLS (:,:,:,:) !LOGICAL :: Archive_PrecipFracLS !LOGICAL :: Archive_RainFracLS !LOGICAL :: Archive_WashFracLS !%%%%% Carbon aerosols %%%%% REAL(f4), POINTER :: ProdBCPIfromBCPO(:,:,:) LOGICAL :: Archive_ProdBCPIfromBCPO REAL(f4), POINTER :: ProdOCPIfromOCPO(:,:,:) LOGICAL :: Archive_ProdOCPIfromOCPO !%%%%% Sulfur aerosols prod & loss %%%%% REAL(f4), POINTER :: ProdSO2fromDMSandOH(:,:,:) LOGICAL :: Archive_ProdSO2fromDMSandOH REAL(f4), POINTER :: ProdSO2fromDMSandNO3(:,:,:) LOGICAL :: Archive_ProdSO2fromDMSandNO3 REAL(f4), POINTER :: ProdSO2fromDMS (:,:,:) LOGICAL :: Archive_ProdSO2fromDMS REAL(f4), POINTER :: ProdMSAfromDMS(:,:,:) LOGICAL :: Archive_ProdMSAfromDMS REAL(f4), POINTER :: ProdNITfromHNO3uptakeOnDust(:,:,:) LOGICAL :: Archive_ProdNITfromHNO3uptakeOnDust REAL(f4), POINTER :: ProdSO4fromGasPhase(:,:,:) LOGICAL :: Archive_ProdSO4fromGasPhase REAL(f4), POINTER :: ProdSO4fromH2O2inCloud(:,:,:) LOGICAL :: Archive_ProdSO4fromH2O2inCloud REAL(f4), POINTER :: ProdSO4fromO3inCloud(:,:,:) LOGICAL :: Archive_ProdSO4fromO3inCloud REAL(f4), POINTER :: ProdSO4fromO2inCloudMetal(:,:,:) LOGICAL :: Archive_ProdSO4fromO2inCloudMetal REAL(f4), POINTER :: ProdSO4fromO3inSeaSalt(:,:,:) LOGICAL :: Archive_ProdSO4fromO3inSeaSalt REAL(f4), POINTER :: ProdSO4fromOxidationOnDust(:,:,:) LOGICAL :: Archive_ProdSO4fromOxidationOnDust REAL(f4), POINTER :: ProdSO4fromUptakeOfH2SO4g(:,:,:) LOGICAL :: Archive_ProdSO4fromUptakeOfH2SO4g REAL(f4), POINTER :: ProdSO4fromHOBrInCloud(:,:,:) LOGICAL :: Archive_ProdSO4fromHOBrInCloud REAL(f4), POINTER :: ProdSO4fromSRO3(:,:,:) LOGICAL :: Archive_ProdSO4fromSRO3 REAL(f4), POINTER :: ProdSO4fromSRHOBr(:,:,:) LOGICAL :: Archive_ProdSO4fromSRHOBr REAL(f4), POINTER :: ProdSO4fromO3s(:,:,:) LOGICAL :: Archive_ProdSO4fromO3s REAL(f4), POINTER :: LossHNO3onSeaSalt(:,:,:) LOGICAL :: Archive_LossHNO3onSeaSalt REAL(f4), POINTER :: ProdHMSfromSO2andHCHOinCloud(:,:,:) LOGICAL :: Archive_ProdHMSfromSO2andHCHOinCloud REAL(f4), POINTER :: ProdSO2andHCHOfromHMSinCloud(:,:,:) LOGICAL :: Archive_ProdSO2andHCHOfromHMSinCloud REAL(f4), POINTER :: ProdSO4fromHMSinCloud(:,:,:) LOGICAL :: Archive_ProdSO4fromHMSinCloud !%%%%% O3 and HNO3 at a given height above the surface %%%%% REAL(f4), POINTER :: DryDepRaALT1(:,:) LOGICAL :: Archive_DryDepRaALT1 REAL(f4), POINTER :: DryDepVelForALT1(:,:,:) LOGICAL :: Archive_DryDepVelForALT1 REAL(f8), POINTER :: SpeciesConcALT1(:,:,:) LOGICAL :: Archive_SpeciesConcALT1 LOGICAL :: Archive_ConcAboveSfc !%%%%% Time spent in the troposphere %%%%% REAL(f4), POINTER :: FracOfTimeInTrop(:,:,:) LOGICAL :: Archive_FracOfTimeInTrop !%%%%% KPP solver diagnostics %%%%% REAL(f4), POINTER :: KppIntCounts(:,:,:) LOGICAL :: Archive_KppIntCounts REAL(f4), POINTER :: KppJacCounts(:,:,:) LOGICAL :: Archive_KppJacCounts REAL(f4), POINTER :: KppTotSteps (:,:,:) LOGICAL :: Archive_KppTotSteps REAL(f4), POINTER :: KppAccSteps (:,:,:) LOGICAL :: Archive_KppAccSteps REAL(f4), POINTER :: KppRejSteps (:,:,:) LOGICAL :: Archive_KppRejSteps REAL(f4), POINTER :: KppLuDecomps(:,:,:) LOGICAL :: Archive_KppLuDecomps REAL(f4), POINTER :: KppSubsts(:,:,:) LOGICAL :: Archive_KppSubsts REAL(f4), POINTER :: KppSmDecomps(:,:,:) LOGICAL :: Archive_KppSmDecomps REAL(f4), POINTER :: KppNegatives(:,:,:) LOGICAL :: Archive_KppNegatives REAL(f4), POINTER :: KppNegatives0(:,:,:) LOGICAL :: Archive_KppNegatives0 !%%%%% KPP auto-reduce solver diagnostics %%%%% REAL(f4), POINTER :: KppAutoReducerNVAR(:,:,:) LOGICAL :: Archive_KppAutoReducerNVAR REAL(f4), POINTER :: KppAutoReduceThres(:,:,:) LOGICAL :: Archive_KppAutoReduceThres REAL(f4), POINTER :: KppTime(:,:,:) LOGICAL :: Archive_KppTime REAL(f4), POINTER :: KppcNONZERO(:,:,:) LOGICAL :: Archive_KppcNONZERO LOGICAL :: Archive_KppDiags !%%%%% Chemistry metrics (e.g. mean OH, MCF lifetime, CH4 lifetime) %%%%% REAL(f8), POINTER :: AirMassColumnFull(:,:) LOGICAL :: Archive_AirMassColumnFull LOGICAL :: Archive_Metrics REAL(f8), POINTER :: AirMassColumnTrop(:,:) LOGICAL :: Archive_AirMassColumnTrop REAL(f8), POINTER :: CH4emission(:,:) LOGICAL :: Archive_CH4emission REAL(f8), POINTER :: CH4massColumnFull(:,:) LOGICAL :: Archive_CH4massColumnFull REAL(f8), POINTER :: CH4massColumnTrop(:,:) LOGICAL :: Archive_CH4massColumnTrop REAL(f8), POINTER :: LossOHbyCH4columnTrop(:,:) LOGICAL :: Archive_LossOHbyCH4columnTrop REAL(f8), POINTER :: LossOHbyMCFcolumnTrop(:,:) LOGICAL :: Archive_LossOHbyMCFcolumnTrop REAL(f8), POINTER :: OHwgtByAirMassColumnFull(:,:) LOGICAL :: Archive_OHwgtByAirMassColumnFull REAL(f8), POINTER :: OHwgtByAirMassColumnTrop(:,:) LOGICAL :: Archive_OHwgtByAirMassColumnTrop !%%%%% Satellite diagnostic %%%%% REAL(fp) :: SatDiagn_StartHr REAL(fp) :: SatDiagn_EndHr REAL(fp) :: SatDiagn_Count REAL(f8), POINTER :: SatDiagnCount(:,:,:) LOGICAL :: Archive_SatDiagnCount REAL(f8), POINTER :: SatDiagnEdgeCount(:,:,:) LOGICAL :: Archive_SatDiagnEdgeCount REAL(f8), POINTER :: SatDiagnConc(:,:,:,:) TYPE(DgnMap), POINTER :: Map_SatDiagnConc LOGICAL :: Archive_SatDiagnConc REAL(f8), POINTER :: SatDiagnColEmis(:,:,:) TYPE(DgnMap), POINTER :: Map_SatDiagnColEmis LOGICAL :: Archive_SatDiagnColEmis REAL(f8), POINTER :: SatDiagnSurfFlux(:,:,:) TYPE(DgnMap), POINTER :: Map_SatDiagnSurfFlux LOGICAL :: Archive_SatDiagnSurfFlux REAL(f8), POINTER :: SatDiagnOH(:,:,:) LOGICAL :: Archive_SatDiagnOH REAL(f8), POINTER :: SatDiagnRH(:,:,:) LOGICAL :: Archive_SatDiagnRH REAL(f8), POINTER :: SatDiagnAirDen(:,:,:) LOGICAL :: Archive_SatDiagnAirDen REAL(f8), POINTER :: SatDiagnBoxHeight(:,:,:) LOGICAL :: Archive_SatDiagnBoxHeight REAL(f8), POINTER :: SatDiagnPEdge(:,:,:) LOGICAL :: Archive_SatDiagnPEdge REAL(f8), POINTER :: SatDiagnPMid(:,:,:) LOGICAL :: Archive_SatDiagnPMid REAL(f8), POINTER :: SatDiagnTROPP(:,:) LOGICAL :: Archive_SatDiagnTROPP REAL(f8), POINTER :: SatDiagnTropLev(:,:) LOGICAL :: Archive_SatDiagnTropLev REAL(f8), POINTER :: SatDiagnPBLHeight(:,:) LOGICAL :: Archive_SatDiagnPBLHeight REAL(f8), POINTER :: SatDiagnPBLTop(:,:) LOGICAL :: Archive_SatDiagnPBLTop REAL(f8), POINTER :: SatDiagnTAir(:,:,:) LOGICAL :: Archive_SatDiagnTAir REAL(f8), POINTER :: SatDiagnCldFrac(:,:,:) LOGICAL :: Archive_SatDiagnCldFrac REAL(f8), POINTER :: SatDiagnCldTopP(:,:) LOGICAL :: Archive_SatDiagnCldTopP REAL(f8), POINTER :: SatDiagnGWETROOT(:,:) LOGICAL :: Archive_SatDiagnGWETROOT REAL(f8), POINTER :: SatDiagnGWETTOP(:,:) LOGICAL :: Archive_SatDiagnGWETTOP REAL(f8), POINTER :: SatDiagnPARDR(:,:) LOGICAL :: Archive_SatDiagnPARDR REAL(f8), POINTER :: SatDiagnPARDF(:,:) LOGICAL :: Archive_SatDiagnPARDF REAL(f8), POINTER :: SatDiagnPRECTOT(:,:) LOGICAL :: Archive_SatDiagnPRECTOT REAL(f8), POINTER :: SatDiagnSLP(:,:) LOGICAL :: Archive_SatDiagnSLP REAL(f8), POINTER :: SatDiagnSPHU(:,:,:) LOGICAL :: Archive_SatDiagnSPHU REAL(f8), POINTER :: SatDiagnTS(:,:) LOGICAL :: Archive_SatDiagnTS REAL(f8), POINTER :: SatDiagnPBLTOPL(:,:) LOGICAL :: Archive_SatDiagnPBLTOPL REAL(f8), POINTER :: SatDiagnMODISLAI(:,:) LOGICAL :: Archive_SatDiagnMODISLAI !---------------------------------------------------------------------- ! Specialty Simulation Diagnostic Arrays !---------------------------------------------------------------------- !%%%%% TransportTracers simulation %%%%% REAL(f4), POINTER :: PbFromRnDecay(:,:,:) LOGICAL :: Archive_PbFromRnDecay REAL(f4), POINTER :: RadDecay(:,:,:,:) TYPE(DgnMap), POINTER :: Map_RadDecay LOGICAL :: Archive_RadDecay !%%%%% Carbon simulation %%%%% REAL(f4), POINTER :: ProdCO2fromCO(:,:,:) LOGICAL :: Archive_ProdCO2fromCO REAL(f4), POINTER :: LossCH4byClinTrop(:,:,:) LOGICAL :: Archive_LossCH4byClinTrop REAL(f4), POINTER :: LossCH4byOHinTrop(:,:,:) LOGICAL :: Archive_LossCH4byOHinTrop REAL(f4), POINTER :: LossCH4inStrat(:,:,:) LOGICAL :: Archive_LossCH4inStrat REAL(f4), POINTER :: ProdCOfromCH4(:,:,:) LOGICAL :: Archive_ProdCOfromCH4 REAL(f4), POINTER :: ProdCOfromNMVOC(:,:,:) LOGICAL :: Archive_ProdCOfromNMVOC !%%%%% Persistent Organic Pollutants (POPS) simulation %%%%% REAL(f4), POINTER :: LossPOPPOCPObyGasPhase(:,:,:) LOGICAL :: Archive_LossPOPPOCPObyGasPhase REAL(f4), POINTER :: ProdPOPPOCPOfromGasPhase(:,:,:) LOGICAL :: Archive_ProdPOPPOCPOfromGasPhase REAL(f4), POINTER :: LossPOPPBCPObyGasPhase(:,:,:) LOGICAL :: Archive_LossPOPPBCPObyGasPhase REAL(f4), POINTER :: ProdPOPPBCPOfromGasPhase(:,:,:) LOGICAL :: Archive_ProdPOPPBCPOfromGasPhase REAL(f4), POINTER :: ProdPOPGfromOH(:,:,:) LOGICAL :: Archive_ProdPOPGfromOH REAL(f4), POINTER :: ProdPOPPOCPOfromO3(:,:,:) LOGICAL :: Archive_ProdPOPPOCPOfromO3 REAL(f4), POINTER :: ProdPOPPOCPIfromO3(:,:,:) LOGICAL :: Archive_ProdPOPPOCPIfromO3 REAL(f4), POINTER :: ProdPOPPBCPIfromO3(:,:,:) LOGICAL :: Archive_ProdPOPPBCPIfromO3 REAL(f4), POINTER :: ProdPOPPBCPOfromO3(:,:,:) LOGICAL :: Archive_ProdPOPPBCPOfromO3 REAL(f4), POINTER :: ProdPOPPOCPOfromNO3(:,:,:) LOGICAL :: Archive_ProdPOPPOCPOfromNO3 REAL(f4), POINTER :: ProdPOPPOCPIfromNO3(:,:,:) LOGICAL :: Archive_ProdPOPPOCPIfromNO3 REAL(f4), POINTER :: ProdPOPPBCPIfromNO3(:,:,:) LOGICAL :: Archive_ProdPOPPBCPIfromNO3 REAL(f4), POINTER :: ProdPOPPBCPOfromNO3(:,:,:) LOGICAL :: Archive_ProdPOPPBCPOfromNO3 ! Hg specialty simulation ! -- emissions quantities (e.g. for HEMCO manual diagnostics) REAL(f4), POINTER :: EmisHg0anthro(:,:) LOGICAL :: Archive_EmisHg0anthro REAL(f4), POINTER :: EmisHg0biomass(:,:) LOGICAL :: Archive_EmisHg0biomass REAL(f4), POINTER :: EmisHg0geogenic(:,:) LOGICAL :: Archive_EmisHg0geogenic REAL(f4), POINTER :: EmisHg0land(:,:) LOGICAL :: Archive_EmisHg0land REAL(f4), POINTER :: EmisHg0ocean(:,:) LOGICAL :: Archive_EmisHg0ocean REAL(f4), POINTER :: EmisHg0snow(:,:) LOGICAL :: Archive_EmisHg0snow REAL(f4), POINTER :: EmisHg0soil(:,:) LOGICAL :: Archive_EmisHg0soil REAL(f4), POINTER :: EmisHg2HgPanthro(:,:) LOGICAL :: Archive_EmisHg0vegetation REAL(f4), POINTER :: EmisHg0vegetation(:,:) LOGICAL :: Archive_EmisHg2HgPanthro REAL(f4), POINTER :: EmisHg2snowToOcean(:,:) LOGICAL :: Archive_EmisHg2snowToOcean REAL(f4), POINTER :: EmisHg2rivers(:,:) LOGICAL :: Archive_EmisHg2rivers REAL(f4), POINTER :: FluxHg2HgPfromAirToSnow(:,:) LOGICAL :: Archive_FluxHg2HgPfromAirToSnow ! ! -- oceanic quantities REAL(f4), POINTER :: FluxHg0fromOceanToAir(:,:) LOGICAL :: Archive_FluxHg0fromAirToOcean REAL(f4), POINTER :: FluxHg0fromAirToOcean(:,:) LOGICAL :: Archive_FluxHg0fromOceanToAir REAL(f4), POINTER :: FluxHg2HgPfromAirToOcean(:,:) LOGICAL :: Archive_FluxHg2HgPfromAirToOcean REAL(f4), POINTER :: FluxHg2toDeepOcean(:,:) LOGICAL :: Archive_FluxHg2toDeepOcean REAL(f4), POINTER :: FluxOCtoDeepOcean(:,:) LOGICAL :: Archive_FluxOCtoDeepOcean REAL(f4), POINTER :: MassHg0inOcean(:,:) LOGICAL :: Archive_MassHg0inOcean REAL(f4), POINTER :: MassHg2inOcean(:,:) LOGICAL :: Archive_MassHg2inOcean REAL(f4), POINTER :: MassHgPinOcean(:,:) LOGICAL :: Archive_MassHgPinOcean REAL(f4), POINTER :: MassHgTotalInOcean(:,:) LOGICAL :: Archive_MassHgTotalInOcean ! ! -- chemistry quantities REAL(f4), POINTER :: ConcBr(:,:,:) LOGICAL :: Archive_ConcBr REAL(f4), POINTER :: ConcBrO(:,:,:) LOGICAL :: Archive_ConcBrO REAL(f4), POINTER :: LossHg2bySeaSalt(:,:,:) LOGICAL :: Archive_LossHg2bySeaSalt REAL(f4), POINTER :: LossRateHg2bySeaSalt(:,: ) LOGICAL :: Archive_LossRateHg2bySeaSalt REAL(f4), POINTER :: PolarConcBr(:,:,:) LOGICAL :: Archive_PolarConcBr REAL(f4), POINTER :: PolarConcBrO(:,:,:) LOGICAL :: Archive_PolarConcBrO REAL(f4), POINTER :: PolarConcO3(:,:,:) LOGICAL :: Archive_PolarConcO3 REAL(f4), POINTER :: ProdHg2fromBr(:,:,:) LOGICAL :: Archive_ProdHg2fromBr REAL(f4), POINTER :: ProdHg2fromBrY(:,:,:) LOGICAL :: Archive_ProdHg2fromBrY REAL(f4), POINTER :: ProdHg2fromClY(:,:,:) LOGICAL :: Archive_ProdHg2fromClY REAL(f4), POINTER :: ProdHg2fromHg0(:,:,:) LOGICAL :: Archive_ProdHg2fromHg0 REAL(f4), POINTER :: ProdHg2fromHgBrPlusBr2(:,:,:) LOGICAL :: Archive_ProdHg2fromHgBrPlusBr2 REAL(f4), POINTER :: ProdHg2fromHgBrPlusBrBrO(:,:,:) LOGICAL :: Archive_ProdHg2fromHgBrPlusBrBrO REAL(f4), POINTER :: ProdHg2fromHgBrPlusBrClO(:,:,:) LOGICAL :: Archive_ProdHg2fromHgBrPlusBrClO REAL(f4), POINTER :: ProdHg2fromHgBrPlusBrHO2(:,:,:) LOGICAL :: Archive_ProdHg2fromHgBrPlusBrHO2 REAL(f4), POINTER :: ProdHg2fromHgBrPlusBrNO2(:,:,:) LOGICAL :: Archive_ProdHg2fromHgBrPlusBrNO2 REAL(f4), POINTER :: ProdHg2fromHgBrPlusBrOH(:,:,:) LOGICAL :: Archive_ProdHg2fromHgBrPlusBrOH REAL(f4), POINTER :: ProdHg2fromOH(:,:,:) LOGICAL :: Archive_ProdHg2fromOH REAL(f4), POINTER :: ProdHg2fromO3(:,:,:) LOGICAL :: Archive_ProdHg2fromO3 REAL(f4), POINTER :: ParticulateBoundHg(:,:,:) LOGICAL :: Archive_ParticulateBoundHg REAL(f4), POINTER :: ReactiveGaseousHg(:,:,:) LOGICAL :: Archive_ReactiveGaseousHg ! From Viral Shah (MSL, 7.1.21) REAL(f4), POINTER :: HgBrAfterChem (:,:,:) LOGICAL :: Archive_HgBrAfterChem REAL(f4), POINTER :: HgClAfterChem (:,:,:) LOGICAL :: Archive_HgClAfterChem REAL(f4), POINTER :: HgOHAfterChem (:,:,:) LOGICAL :: Archive_HgOHAfterChem REAL(f4), POINTER :: HgBrOAfterChem (:,:,:) LOGICAL :: Archive_HgBrOAfterChem REAL(f4), POINTER :: HgClOAfterChem (:,:,:) LOGICAL :: Archive_HgClOAfterChem REAL(f4), POINTER :: HgOHOAfterChem (:,:,:) LOGICAL :: Archive_HgOHOAfterChem REAL(f4), POINTER :: Hg2GToHg2P (:,:,:) LOGICAL :: Archive_Hg2GToHg2P REAL(f4), POINTER :: Hg2PToHg2G (:,:,:) LOGICAL :: Archive_Hg2PToHg2G REAL(f4), POINTER :: Hg2GasToHg2StrP (:,:,:) LOGICAL :: Archive_Hg2GasToHg2StrP REAL(f4), POINTER :: Hg2GasToSSA (:,:,:) LOGICAL :: Archive_Hg2GasToSSA !%%%%% Simulation with RRTMG %%%%% INTEGER :: nRadOut INTEGER, POINTER :: RadOutInd(:) CHARACTER(LEN=4), POINTER :: RadOutName(:) REAL(f4), POINTER :: RadAllSkyLWSurf(:,:,:) LOGICAL :: Archive_RadAllSkyLWSurf REAL(f4), POINTER :: RadAllSkyLWTOA(:,:,:) LOGICAL :: Archive_RadAllSkyLWTOA REAL(f4), POINTER :: RadAllSkySWSurf(:,:,:) LOGICAL :: Archive_RadAllSkySWSurf REAL(f4), POINTER :: RadAllSkySWTOA(:,:,:) LOGICAL :: Archive_RadAllSkySWTOA REAL(f4), POINTER :: RadClrSkyLWSurf(:,:,:) LOGICAL :: Archive_RadClrSkyLWSurf REAL(f4), POINTER :: RadClrSkyLWTOA(:,:,:) LOGICAL :: Archive_RadClrSkyLWTOA REAL(f4), POINTER :: RadClrSkySWSurf(:,:,:) LOGICAL :: Archive_RadClrSkySWSurf REAL(f4), POINTER :: RadClrSkySWTOA(:,:,:) LOGICAL :: Archive_RadClrSkySWTOA REAL(f4), POINTER :: RadAllSkyLWTrop(:,:,:) LOGICAL :: Archive_RadAllSkyLWTrop REAL(f4), POINTER :: RadAllSkySWTrop(:,:,:) LOGICAL :: Archive_RadAllSkySWTrop REAL(f4), POINTER :: RadClrSkyLWTrop(:,:,:) LOGICAL :: Archive_RadClrSkyLWTrop REAL(f4), POINTER :: RadClrSkySWTrop(:,:,:) LOGICAL :: Archive_RadClrSkySWTrop REAL(f4), POINTER :: RadAODWL1(:,:,:) LOGICAL :: Archive_RadAODWL1 REAL(f4), POINTER :: RadAODWL2(:,:,:) LOGICAL :: Archive_RadAODWL2 REAL(f4), POINTER :: RadAODWL3(:,:,:) LOGICAL :: Archive_RadAODWL3 REAL(f4), POINTER :: RadSSAWL1(:,:,:) LOGICAL :: Archive_RadSSAWL1 REAL(f4), POINTER :: RadSSAWL2(:,:,:) LOGICAL :: Archive_RadSSAWL2 REAL(f4), POINTER :: RadSSAWL3(:,:,:) LOGICAL :: Archive_RadSSAWL3 REAL(f4), POINTER :: RadAsymWL1(:,:,:) LOGICAL :: Archive_RadAsymWL1 REAL(f4), POINTER :: RadAsymWL2(:,:,:) LOGICAL :: Archive_RadAsymWL2 REAL(f4), POINTER :: RadAsymWL3(:,:,:) LOGICAL :: Archive_RadAsymWL3 LOGICAL :: Archive_RadOptics REAL(f8), POINTER :: DynHeating(:,:,:) LOGICAL :: Archive_DynHeating REAL(f4), POINTER :: DTRad(:,:,:) LOGICAL :: Archive_DTRad REAL(f4), POINTER :: IsWater(:,:) REAL(f4), POINTER :: IsLand(:,:) REAL(f4), POINTER :: IsIce(:,:) REAL(f4), POINTER :: IsSnow(:,:) LOGICAL :: Archive_sfcType !---------------------------------------------------------------------- ! Variables for the ObsPack diagnostic ! NOTE: ObsPack archives point data, so don't register these ! as the ObsPack file format won't be COARDS-compliant! !---------------------------------------------------------------------- ! ObsPack File variables LOGICAL :: Do_ObsPack INTEGER :: ObsPack_fId CHARACTER(LEN=1024) :: ObsPack_InFile CHARACTER(LEN=1024) :: ObsPack_OutFile ! ObsPack Inputs INTEGER :: ObsPack_nObs CHARACTER(LEN=1), POINTER :: ObsPack_CharArray (:,:) CHARACTER(LEN=200), POINTER :: ObsPack_Id (: ) INTEGER, POINTER :: ObsPack_nSamples (: ) INTEGER, POINTER :: ObsPack_Strategy (: ) REAL(f4), POINTER :: ObsPack_Latitude (: ) REAL(f4), POINTER :: ObsPack_Longitude (: ) REAL(f4), POINTER :: ObsPack_Altitude (: ) ! ObsPack time and averaging interval variables REAL(f8) :: ObsPack_Ival_Length REAL(f8), POINTER :: ObsPack_Ival_Start (: ) REAL(f8), POINTER :: ObsPack_Ival_Center (: ) REAL(f8), POINTER :: ObsPack_Ival_End (: ) ! ObsPack outputs (add more if necessary) REAL(f4), POINTER :: ObsPack_P (: ) REAL(f4), POINTER :: ObsPack_U (: ) REAL(f4), POINTER :: ObsPack_V (: ) REAL(f4), POINTER :: ObsPack_BLH (: ) REAL(f4), POINTER :: ObsPack_Q (: ) REAL(f4), POINTER :: ObsPack_T (: ) ! ObsPack species and metadata variables INTEGER :: ObsPack_nSpecies REAL(f4), POINTER :: ObsPack_Species (:,:) INTEGER, POINTER :: ObsPack_Species_Ind (: ) CHARACTER(LEN=31 ), POINTER :: ObsPack_Species_Name (: ) CHARACTER(LEN=80 ), POINTER :: ObsPack_Species_LName(: ) #ifdef MODEL_GEOS !---------------------------------------------------------------------- ! The following diagnostics are only used when ! GEOS-Chem is interfaced into the NASA-GEOS ESM !---------------------------------------------------------------------- REAL(f4), POINTER :: MoninObukhov(:,:) LOGICAL :: Archive_MoninObukhov REAL(f4), POINTER :: Bry(:,:,:) LOGICAL :: Archive_Bry REAL(f4), POINTER :: NOy(:,:,:) LOGICAL :: Archive_NOy REAL(f4), POINTER :: Cly(:,:,:) LOGICAL :: Archive_Cly REAL(f4), POINTER :: OrganicCl(:,:,:) LOGICAL :: Archive_OrganicCl REAL(f4), POINTER :: O3_MASS(:,:,:) LOGICAL :: Archive_O3_MASS REAL(f4), POINTER :: GCCTO3(:,:) LOGICAL :: Archive_GCCTO3 REAL(f4), POINTER :: GCCTTO3(:,:) LOGICAL :: Archive_GCCTTO3 REAL(f4), POINTER :: O3MASS(:,:,:) LOGICAL :: Archive_O3MASS REAL(f4), POINTER :: CHEMTOP(:,:) LOGICAL :: Archive_CHEMTOP REAL(f4), POINTER :: CHEMTROPP(:,:) LOGICAL :: Archive_CHEMTROPP REAL(f4), POINTER :: CONVCLDTOP(:,:) LOGICAL :: Archive_CONVCLDTOP REAL(f4), POINTER :: EXTRALNLEVS(:,:) LOGICAL :: Archive_EXTRALNLEVS REAL(f4), POINTER :: EXTRALNITER(:,:) LOGICAL :: Archive_EXTRALNITER REAL(f4), POINTER :: LIGHTNINGPOTENTIAL(:,:) LOGICAL :: Archive_LGHTPOTENTIAL !%%%%% Chemistry diagnostics %%%%% REAL(f4), POINTER :: O3concAfterChem(:,:,:) LOGICAL :: Archive_O3concAfterChem REAL(f4), POINTER :: RO2concAfterChem(:,:,:) LOGICAL :: Archive_RO2concAfterChem !%%%%% PM2.5 diagnostics %%%%% REAL(f4), POINTER :: PM25ni(:,:,:) ! PM25 nitrate+ammonium LOGICAL :: Archive_PM25ni REAL(f4), POINTER :: PM25nit(:,:,:) ! PM25 nitrates LOGICAL :: Archive_PM25nit REAL(f4), POINTER :: PM25nh4(:,:,:) ! PM25 ammonium LOGICAL :: Archive_PM25nh4 REAL(f4), POINTER :: PM25su(:,:,:) ! PM25 sulfates LOGICAL :: Archive_PM25su REAL(f4), POINTER :: PM25oc(:,:,:) ! PM25 OC LOGICAL :: Archive_PM25oc REAL(f4), POINTER :: PM25bc(:,:,:) ! PM25 BC LOGICAL :: Archive_PM25bc REAL(f4), POINTER :: PM25du(:,:,:) ! PM25 dust LOGICAL :: Archive_PM25du REAL(f4), POINTER :: PM25ss(:,:,:) ! PM25 sea salt LOGICAL :: Archive_PM25ss REAL(f4), POINTER :: PM25soa(:,:,:) ! PM25 SOA LOGICAL :: Archive_PM25soa !%%%%% Species diagnostics %%%%% REAL(f4), POINTER :: PblCol(:,:,:) TYPE(DgnMap), POINTER :: Map_PblCol LOGICAL :: Archive_PblCol REAL(f4), POINTER :: TropCol(:,:,:) TYPE(DgnMap), POINTER :: Map_TropCol LOGICAL :: Archive_TropCol REAL(f4), POINTER :: TotCol(:,:,:) TYPE(DgnMap), POINTER :: Map_TotCol LOGICAL :: Archive_TotCol ! Carbon stuff REAL(f4), POINTER :: COincCO2phot(:,:,:) LOGICAL :: Archive_COincCO2phot REAL(f4), POINTER :: CO2photrate(:,:,:) LOGICAL :: Archive_CO2photrate #endif #if defined( MODEL_GEOS ) || defined( MODEL_WRF ) || defined( MODEL_CESM ) !---------------------------------------------------------------------- ! The following diagnostics are only used when ! GEOS-Chem is interfaced into WRF (as WRF-GC) or CESM !---------------------------------------------------------------------- REAL(f4), POINTER :: KppError(:,:,:) LOGICAL :: Archive_KppError #endif !---------------------------------------------------------------------- ! Registry of variables contained within State_Diag !---------------------------------------------------------------------- CHARACTER(LEN=4) :: State = 'DIAG' ! Name of this state TYPE(MetaRegItem), POINTER :: Registry => NULL() ! Registry object TYPE(dictionary_t) :: RegDict ! Lookup table END TYPE DgnState ! ! !REVISION HISTORY: ! 05 Jul 2017 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOC !------------------------------------------------------------------------------ !BOC ! ! !MODULE INTERFACES: ! INTERFACE Finalize MODULE PROCEDURE Finalize_R4_2D MODULE PROCEDURE Finalize_R4_3D MODULE PROCEDURE Finalize_R4_4D MODULE PROCEDURE Finalize_R8_2D MODULE PROCEDURE Finalize_R8_3D MODULE PROCEDURE Finalize_R8_4D END INTERFACE Finalize INTERFACE Init_and_Register MODULE PROCEDURE Init_and_Register_R4_2D MODULE PROCEDURE Init_and_Register_R4_3D MODULE PROCEDURE Init_and_Register_R4_4D MODULE PROCEDURE Init_and_Register_R8_2D MODULE PROCEDURE Init_and_Register_R8_3D MODULE PROCEDURE Init_and_Register_R8_4D END INTERFACE Init_and_Register INTERFACE Register_DiagField MODULE PROCEDURE Register_DiagField_R4_2D MODULE PROCEDURE Register_DiagField_R4_3D MODULE PROCEDURE Register_DiagField_R4_4D MODULE PROCEDURE Register_DiagField_R8_2D MODULE PROCEDURE Register_DiagField_R8_3D MODULE PROCEDURE Register_DiagField_R8_4D END INTERFACE Register_DiagField ! ! !DEFINED PARAMETERS: ! CHARACTER(LEN=5), PARAMETER :: UVFlux_Tag_Names(18) = (/& '187nm', '191nm', '193nm', '196nm', '202nm', '208nm', & '211nm', '214nm', '261nm', '267nm', '277nm', '295nm', & '303nm', '310nm', '316nm', '333nm', '380nm', '574nm' /) CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Zero_State_Diag ! ! !DESCRIPTION: Nullifies all fields of State_Diag. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Zero_State_Diag( State_Diag, RC ) ! ! !USES ! USE ErrCode_Mod ! ! !INPUT PARAMETERS: ! TYPE(DgnState), INTENT(INOUT) :: State_Diag ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! ! !REVISION HISTORY: ! 06 Jan 2015 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! Assume success RC = GC_SUCCESS ! %%% Free pointers and set logicals %%% State_Diag%SpeciesRst => NULL() State_Diag%Archive_SpeciesRst = .FALSE. State_Diag%SpeciesBC => NULL() State_Diag%Map_SpeciesBC => NULL() State_Diag%Archive_SpeciesBC = .FALSE. ! v/v dry VMR of species array State_Diag%SpeciesConcVV => NULL() State_Diag%Map_SpeciesConcVV => NULL() State_Diag%Archive_SpeciesConcVV = .FALSE. ! molec/cm3 diagnostic State_Diag%SpeciesConcMND => NULL() State_Diag%Map_SpeciesConcMND => NULL() State_Diag%Archive_SpeciesConcMND = .FALSE. State_Diag%ConcBeforeChem => NULL() State_Diag%Map_ConcBeforeChem => NULL() State_Diag%Archive_ConcBeforeChem = .FALSE. State_Diag%ConcAfterChem => NULL() State_Diag%Map_ConcAfterChem => NULL() State_Diag%Archive_ConcAfterChem = .FALSE. #ifdef ADJOINT State_Diag%SpeciesAdj => NULL() State_Diag%Map_SpeciesAdj => NULL() State_Diag%Archive_SpeciesAdj = .FALSE. State_Diag%ScaleICsAdj => NULL() State_Diag%Map_ScaleICSAdj => NULL() State_Diag%Archive_ScaleICsAdj = .FALSE. #endif State_Diag%FracOfTimeInTrop => NULL() State_Diag%Archive_FracOfTimeInTrop = .FALSE. !%%%%% Budget diagnostics %%%%% State_Diag%BudgetEmisDryDepFull => NULL() State_Diag%Map_BudgetEmisDryDepFull => NULL() State_Diag%Archive_BudgetEmisDryDepFull = .FALSE. State_Diag%Archive_BudgetEmisDryDep = .FALSE. State_Diag%BudgetEmisDryDepTrop => NULL() State_Diag%Map_BudgetEmisDryDepTrop => NULL() State_Diag%Archive_BudgetEmisDryDepTrop = .FALSE. State_Diag%BudgetEmisDryDepPBL => NULL() State_Diag%Map_BudgetEmisDryDepPBL => NULL() State_Diag%Archive_BudgetEmisDryDepPBL = .FALSE. State_Diag%BudgetEmisDryDepLevs => NULL() State_Diag%Map_BudgetEmisDryDepLevs => NULL() State_Diag%Archive_BudgetEmisDryDepLevs = .FALSE. State_Diag%BudgetTransportFull => NULL() State_Diag%Map_BudgetTransportFull => NULL() State_Diag%Archive_BudgetTransportFull = .FALSE. State_Diag%Archive_BudgetTransport = .FALSE. State_Diag%BudgetTransportTrop => NULL() State_Diag%Map_BudgetTransportTrop => NULL() State_Diag%Archive_BudgetTransportTrop = .FALSE. State_Diag%BudgetTransportPBL => NULL() State_Diag%Map_BudgetTransportPBL => NULL() State_Diag%Archive_BudgetTransportPBL = .FALSE. State_Diag%BudgetTransportLevs => NULL() State_Diag%Map_BudgetTransportLevs => NULL() State_Diag%Archive_BudgetTransportLevs = .FALSE. State_Diag%BudgetMixingFull => NULL() State_Diag%Map_BudgetMixingFull => NULL() State_Diag%Archive_BudgetMixingFull = .FALSE. State_Diag%Archive_BudgetMixing = .FALSE. State_Diag%BudgetMixingTrop => NULL() State_Diag%Map_BudgetMixingTrop => NULL() State_Diag%Archive_BudgetMixingTrop = .FALSE. State_Diag%BudgetMixingPBL => NULL() State_Diag%Map_BudgetMixingPBL => NULL() State_Diag%Archive_BudgetMixingPBL = .FALSE. State_Diag%BudgetMixingLevs => NULL() State_Diag%Map_BudgetMixingLevs => NULL() State_Diag%Archive_BudgetMixingLevs = .FALSE. State_Diag%BudgetConvectionFull => NULL() State_Diag%Map_BudgetConvectionFull => NULL() State_Diag%Archive_BudgetConvectionFull = .FALSE. State_Diag%Archive_BudgetConvection = .FALSE. State_Diag%BudgetConvectionTrop => NULL() State_Diag%Map_BudgetConvectionTrop => NULL() State_Diag%Archive_BudgetConvectionTrop = .FALSE. State_Diag%BudgetConvectionPBL => NULL() State_Diag%Map_BudgetConvectionPBL => NULL() State_Diag%Archive_BudgetConvectionPBL = .FALSE. State_Diag%BudgetConvectionLevs => NULL() State_Diag%Map_BudgetConvectionLevs => NULL() State_Diag%Archive_BudgetConvectionLevs = .FALSE. State_Diag%BudgetChemistryFull => NULL() State_Diag%Map_BudgetChemistryFull => NULL() State_Diag%Archive_BudgetChemistryFull = .FALSE. State_Diag%Archive_BudgetChemistry = .FALSE. State_Diag%BudgetChemistryTrop => NULL() State_Diag%Map_BudgetChemistryTrop => NULL() State_Diag%Archive_BudgetChemistryTrop = .FALSE. State_Diag%BudgetChemistryPBL => NULL() State_Diag%Map_BudgetChemistryPBL => NULL() State_Diag%Archive_BudgetChemistryPBL = .FALSE. State_Diag%BudgetChemistryLevs => NULL() State_Diag%Map_BudgetChemistryLevs => NULL() State_Diag%Archive_BudgetChemistryLevs = .FALSE. State_Diag%BudgetWetDepFull => NULL() State_Diag%Map_BudgetWetDepFull => NULL() State_Diag%Archive_BudgetWetDepFull = .FALSE. State_Diag%Archive_BudgetWetDep = .FALSE. State_Diag%BudgetWetDepTrop => NULL() State_Diag%Map_BudgetWetDepTrop => NULL() State_Diag%Archive_BudgetWetDepTrop = .FALSE. State_Diag%BudgetWetDepPBL => NULL() State_Diag%Map_BudgetWetDepPBL => NULL() State_Diag%Archive_BudgetWetDepPBL = .FALSE. State_Diag%BudgetWetDepLevs => NULL() State_Diag%Map_BudgetWetDepLevs => NULL() State_Diag%Archive_BudgetWetDepLevs = .FALSE. State_Diag%BudgetColumnMass => NULL() State_Diag%Archive_Budget = .FALSE. State_Diag%BudgetTopLev_int = -999 State_Diag%BudgetBotLev_int = -999 !%%%%% Drydep diagnostics %%%%% State_Diag%DryDepChm => NULL() State_Diag%Map_DryDepChm => NULL() State_Diag%Archive_DryDepChm = .FALSE. State_Diag%DryDepMix => NULL() State_Diag%Map_DryDepMix => NULL() State_Diag%Archive_DryDepMix = .FALSE. State_Diag%DryDep => NULL() State_Diag%Map_DryDep => NULL() State_Diag%Archive_DryDep = .FALSE. State_Diag%DryDepVel => NULL() State_Diag%Map_DryDepVel => NULL() State_Diag%Archive_DryDepVel = .FALSE. State_Diag%SatDiagnDryDep => NULL() State_Diag%Map_SatDiagnDryDep => NULL() State_Diag%Archive_SatDiagnDryDep = .FALSE. State_Diag%Archive_SatDiagn = .FALSE. State_Diag%SatDiagnDryDepVel => NULL() State_Diag%Map_SatDiagnDryDepVel => NULL() State_Diag%Archive_SatDiagnDryDepVel = .FALSE. !%%%%% Chemistry, J-value, Prod/Loss diagnostics %%%%% State_Diag%Jval => NULL() State_Diag%Map_Jval => NULL() State_Diag%Archive_Jval = .FALSE. State_Diag%JvalO3O1D => NULL() State_Diag%Archive_JvalO3O1D = .FALSE. State_Diag%JvalO3O3P => NULL() State_Diag%Archive_JvalO3O3P = .FALSE. State_Diag%SatDiagnJval => NULL() State_Diag%Map_SatDiagnJval => NULL() State_Diag%Archive_SatDiagnJval = .FALSE. State_Diag%SatDiagnJvalO3O1D => NULL() State_Diag%Archive_SatDiagnJvalO3O1D = .FALSE. State_Diag%SatDiagnJvalO3O3P => NULL() State_Diag%Archive_SatDiagnJvalO3O3P = .FALSE. State_Diag%JNoon => NULL() State_Diag%Map_JNoon => NULL() State_Diag%Archive_JNoon = .FALSE. State_Diag%JNoonFrac => NULL() State_Diag%Archive_JNoonFrac = .FALSE. State_Diag%RxnRate => NULL() State_Diag%Map_RxnRate => NULL() State_Diag%Archive_RxnRate = .FALSE. State_Diag%SatDiagnRxnRate => NULL() State_Diag%Map_SatDiagnRxnRate => NULL() State_Diag%Archive_SatDiagnRxnRate = .FALSE. State_Diag%RxnConst => NULL() State_Diag%Map_RxnConst => NULL() State_Diag%Archive_RxnConst = .FALSE. State_Diag%OHreactivity => NULL() State_Diag%Archive_OHreactivity = .FALSE. State_Diag%SatDiagnOHreactivity => NULL() State_Diag%Archive_SatDiagnOHreactivity = .FALSE. State_Diag%UVFluxDiffuse => NULL() State_Diag%Map_UvFluxDiffuse => NULL() State_Diag%Archive_UVFluxDiffuse = .FALSE. State_Diag%UVFluxDirect => NULL() State_Diag%Map_UvFluxDirect => NULL() State_Diag%Archive_UVFluxDirect = .FALSE. State_Diag%UVFluxNet => NULL() State_Diag%Map_UvFluxNet => NULL() State_Diag%Archive_UVFluxNet = .FALSE. State_Diag%OD600 => NULL() State_Diag%Archive_OD600 = .FALSE. State_Diag%TCOD600 => NULL() State_Diag%Archive_TCOD600 = .FALSE. State_Diag%OHconcAfterChem => NULL() State_Diag%Archive_OHconcAfterChem = .FALSE. State_Diag%HO2concAfterChem => NULL() State_Diag%Archive_HO2concAfterChem = .FALSE. State_Diag%O1DconcAfterChem => NULL() State_Diag%Archive_O1DconcAfterChem = .FALSE. State_Diag%O3PconcAfterChem => NULL() State_Diag%Archive_O3PconcAfterChem = .FALSE. State_Diag%CH4pseudoflux => NULL() State_Diag%Archive_CH4pseudoflux = .FALSE. State_Diag%SatDiagnLoss => NULL() State_Diag%Map_SatDiagnLoss => NULL() State_Diag%Archive_SatDiagnLoss = .FALSE. State_Diag%Loss => NULL() State_Diag%Map_Loss => NULL() State_Diag%Archive_Loss = .FALSE. State_Diag%SatDiagnProd => NULL() State_Diag%Map_SatDiagnProd => NULL() State_Diag%Archive_SatDiagnProd = .FALSE. State_Diag%Prod => NULL() State_Diag%Map_Prod => NULL() State_Diag%Archive_Prod = .FALSE. #ifdef MODEL_GEOS State_Diag%NOxTau => NULL() State_Diag%Archive_NOxTau = .FALSE. State_Diag%TropNOxTau => NULL() State_Diag%Archive_TropNOxTau = .FALSE. #endif !%%%%% Aerosol hygroscopic growth diagnostics %%%%% State_Diag%AerHygGrowth => NULL() State_Diag%Map_AerHygGrowth => NULL() State_Diag%Archive_AerHygGrowth = .FALSE. State_Diag%AerAqVol => NULL() State_Diag%Archive_AerAqVol = .FALSE. State_Diag%AerSurfAreaHyg => NULL() State_Diag%Map_AerSurfAreaHyg => NULL() State_Diag%Archive_AerSurfAreaHyg = .FALSE. State_Diag%AerSurfAreaDust => NULL() State_Diag%Archive_AerSurfAreaDust = .FALSE. State_Diag%AerSurfAreaSLA => NULL() State_Diag%Archive_AerSurfAreaSLA = .FALSE. State_Diag%AerSurfAreaPSC => NULL() State_Diag%Archive_AerSurfAreaPSC = .FALSE. State_Diag%AerNumDenSLA => NULL() State_Diag%Archive_AerNumDenSLA = .FALSE. State_Diag%AerNumDenPSC => NULL() State_Diag%Archive_AerNumDenPSC = .FALSE. #ifdef TOMAS !%%%%% Tomas microphysical rate diagnostics %%%%% State_Diag%Archive_Tomas = .FALSE. State_Diag%TomasH2SO4mass => NULL() State_Diag%Map_TomasH2SO4mass => NULL() State_Diag%Archive_TomasH2SO4mass = .FALSE. State_Diag%Archive_Tomas = .FALSE. State_Diag%TomasH2SO4number => NULL() State_Diag%Map_TomasH2SO4number => NULL() State_Diag%Archive_TomasH2SO4number = .FALSE. State_Diag%TomasCOAGmass => NULL() State_Diag%Map_TomasCOAGmass => NULL() State_Diag%Archive_TomasCOAGmass = .FALSE. State_Diag%TomasCOAGnumber => NULL() State_Diag%Map_TomasCOAGnumber => NULL() State_Diag%Archive_TomasCOAGnumber = .FALSE. State_Diag%TomasNUCRATEFN => NULL() State_Diag%Archive_TomasNUCRATEFN = .FALSE. State_Diag%TomasNUCLmass => NULL() State_Diag%Map_TomasNUCLmass => NULL() State_Diag%Archive_TomasNUCLmass = .FALSE. State_Diag%TomasNUCLnumber => NULL() State_Diag%Map_TomasNUCLnumber => NULL() State_Diag%Archive_TomasNUCLnumber = .FALSE. State_Diag%TomasNUCRATEnumber => NULL() State_Diag%Map_TomasNUCRATEnumber => NULL() State_Diag%Archive_TomasNUCRATEnumber = .FALSE. State_Diag%TomasAQOXmass => NULL() State_Diag%Map_TomasAQOXmass => NULL() State_Diag%Archive_TomasAQOXmass = .FALSE. State_Diag%TomasAQOXnumber => NULL() State_Diag%Map_TomasAQOXnumber => NULL() State_Diag%Archive_TomasAQOXnumber = .FALSE. State_Diag%TomasMNFIXmass => NULL() State_Diag%Map_TomasMNFIXmass => NULL() State_Diag%Archive_TomasMNFIXmass = .FALSE. State_Diag%TomasMNFIXnumber => NULL() State_Diag%Map_TomasMNFIXnumber => NULL() State_Diag%Archive_TomasMNFIXnumber = .FALSE. State_Diag%TomasMNFIXh2so4mass => NULL() State_Diag%Map_TomasMNFIXh2so4mass => NULL() State_Diag%Archive_TomasMNFIXh2so4mass = .FALSE. State_Diag%TomasMNFIXh2so4number => NULL() State_Diag%Map_TomasMNFIXh2so4number => NULL() State_Diag%Archive_TomasMNFIXh2so4number = .FALSE. State_Diag%TomasMNFIXcoagmass => NULL() State_Diag%Map_TomasMNFIXcoagmass => NULL() State_Diag%Archive_TomasMNFIXcoagmass = .FALSE. State_Diag%TomasMNFIXcoagnumber => NULL() State_Diag%Map_TomasMNFIXcoagnumber => NULL() State_Diag%Archive_TomasMNFIXcoagnumber = .FALSE. State_Diag%TomasMNFIXaqoxmass => NULL() State_Diag%Map_TomasMNFIXaqoxmass => NULL() State_Diag%Archive_TomasMNFIXaqoxmass = .FALSE. State_Diag%TomasMNFIXaqoxnumber => NULL() State_Diag%Map_TomasMNFIXaqoxnumber => NULL() State_Diag%Archive_TomasMNFIXaqoxnumber = .FALSE. State_Diag%TomasMNFIXezwat1mass => NULL() State_Diag%Map_TomasMNFIXezwat1mass => NULL() State_Diag%Archive_TomasMNFIXezwat1mass = .FALSE. State_Diag%TomasMNFIXezwat1number => NULL() State_Diag%Map_TomasMNFIXezwat1number => NULL() State_Diag%Archive_TomasMNFIXezwat1number = .FALSE. State_Diag%TomasMNFIXezwat2mass => NULL() State_Diag%Map_TomasMNFIXezwat2mass => NULL() State_Diag%Archive_TomasMNFIXezwat2mass = .FALSE. State_Diag%TomasMNFIXezwat2number => NULL() State_Diag%Map_TomasMNFIXezwat2number => NULL() State_Diag%Archive_TomasMNFIXezwat2number = .FALSE. State_Diag%TomasMNFIXezwat3mass => NULL() State_Diag%Map_TomasMNFIXezwat3mass => NULL() State_Diag%Archive_TomasMNFIXezwat3mass = .FALSE. State_Diag%TomasMNFIXezwat3number => NULL() State_Diag%Map_TomasMNFIXezwat3number => NULL() State_Diag%Archive_TomasMNFIXezwat3number = .FALSE. State_Diag%TomasMNFIXcheck1mass => NULL() State_Diag%Map_TomasMNFIXcheck1mass => NULL() State_Diag%Archive_TomasMNFIXcheck1mass = .FALSE. State_Diag%TomasMNFIXcheck1number => NULL() State_Diag%Map_TomasMNFIXcheck1number => NULL() State_Diag%Archive_TomasMNFIXcheck1number = .FALSE. State_Diag%TomasMNFIXcheck2mass => NULL() State_Diag%Map_TomasMNFIXcheck2mass => NULL() State_Diag%Archive_TomasMNFIXcheck2mass = .FALSE. State_Diag%TomasMNFIXcheck2number => NULL() State_Diag%Map_TomasMNFIXcheck2number => NULL() State_Diag%Archive_TomasMNFIXcheck2number = .FALSE. State_Diag%TomasMNFIXcheck3mass => NULL() State_Diag%Map_TomasMNFIXcheck3mass => NULL() State_Diag%Archive_TomasMNFIXcheck3mass = .FALSE. State_Diag%TomasMNFIXcheck3number => NULL() State_Diag%Map_TomasMNFIXcheck3number => NULL() State_Diag%Archive_TomasMNFIXcheck3number = .FALSE. State_Diag%TomasSOAmass => NULL() State_Diag%Map_TomasSOAmass => NULL() State_Diag%Archive_TomasSOAmass = .FALSE. State_Diag%TomasSOAnumber => NULL() State_Diag%Map_TomasSOAnumber => NULL() State_Diag%Archive_TomasSOAnumber = .FALSE. #endif !%%%%% Aerosol optical depth diagnostics %%%%% State_Diag%AODDust => NULL() State_Diag%Archive_AODDust = .FALSE. State_Diag%Archive_AOD = .FALSE. State_Diag%Archive_AODStrat = .FALSE. State_Diag%AODDustWL1 => NULL() State_Diag%Map_AODDustWL1 => NULL() State_Diag%Archive_AODDustWL1 = .FALSE. State_Diag%AODDustWL2 => NULL() State_Diag%Map_AODDustWL2 => NULL() State_Diag%Archive_AODDustWL2 = .FALSE. State_Diag%AODDustWL3 => NULL() State_Diag%Map_AODDustWL3 => NULL() State_Diag%Archive_AODDustWL3 = .FALSE. State_Diag%AODHygWL1 => NULL() State_Diag%Map_AODHygWL1 => NULL() State_Diag%Archive_AODHygWL1 = .FALSE. State_Diag%AODHygWL2 => NULL() State_Diag%Map_AODHygWL2 => NULL() State_Diag%Archive_AODHygWL2 = .FALSE. State_Diag%AODHygWL3 => NULL() State_Diag%Map_AODHygWL3 => NULL() State_Diag%Archive_AODHygWL3 = .FALSE. State_Diag%AODSOAfromAqIsopWL1 => NULL() State_Diag%Archive_AODSOAfromAqIsopWL1 = .FALSE. State_Diag%AODSOAfromAqIsopWL2 => NULL() State_Diag%Archive_AODSOAfromAqIsopWL2 = .FALSE. State_Diag%AODSOAfromAqIsopWL3 => NULL() State_Diag%Archive_AODSOAfromAqIsopWL3 = .FALSE. State_Diag%AODSLAWL1 => NULL() State_Diag%Archive_AODSLAWL1 = .FALSE. State_Diag%AODSLAWL2 => NULL() State_Diag%Archive_AODSLAWL2 = .FALSE. State_Diag%AODSLAWL3 => NULL() State_Diag%Archive_AODSLAWL3 = .FALSE. State_Diag%AODPSCWL1 => NULL() State_Diag%Archive_AODPSCWL1 = .FALSE. State_Diag%AODPSCWL2 => NULL() State_Diag%Archive_AODPSCWL2 = .FALSE. State_Diag%AODPSCWL3 => NULL() State_Diag%Archive_AODPSCWL3 = .FALSE. !%%%%% Aerosol mass diagnostics %%%%% State_Diag%AerMassASOA => NULL() State_Diag%Archive_AerMassASOA = .FALSE. State_Diag%Archive_AerMass = .FALSE. State_Diag%AerMassBC => NULL() State_Diag%Archive_AerMassBC = .FALSE. State_Diag%AerMassHMS => NULL() State_Diag%Archive_AerMassHMS = .FALSE. State_Diag%AerMassINDIOL => NULL() State_Diag%Archive_AerMassINDIOL = .FALSE. State_Diag%AerMassISN1OA => NULL() State_Diag%Archive_AerMassISN1OA = .FALSE. State_Diag%AerMassLVOCOA => NULL() State_Diag%Archive_AerMassLVOCOA = .FALSE. State_Diag%AerMassNH4 => NULL() State_Diag%Archive_AerMassNH4 = .FALSE. State_Diag%AerMassNIT => NULL() State_Diag%Archive_AerMassNIT = .FALSE. State_Diag%AerMassOPOA => NULL() State_Diag%Archive_AerMassOPOA = .FALSE. State_Diag%AerMassPOA => NULL() State_Diag%Archive_AerMassPOA = .FALSE. State_Diag%AerMassSAL => NULL() State_Diag%Archive_AerMassSAL = .FALSE. State_Diag%AerMassSO4 => NULL() State_Diag%Archive_AerMassSO4 = .FALSE. State_Diag%AerMassSOAGX => NULL() State_Diag%Archive_AerMassSOAGX = .FALSE. State_Diag%AerMassSOAIE => NULL() State_Diag%Archive_AerMassSOAIE = .FALSE. State_Diag%AerMassTSOA => NULL() State_Diag%Archive_AerMassTSOA = .FALSE. State_Diag%BetaNO => NULL() State_Diag%Archive_BetaNO = .FALSE. State_Diag%PM25 => NULL() State_Diag%Archive_PM25 = .FALSE. !zhaisx State_Diag%PM10 => NULL() State_Diag%Archive_PM10 = .FALSE. ! Paremeterized Dry Effective radius (H. Zhu, April 05 2024) State_Diag%PDER => NULL() State_Diag%Archive_PDER = .FALSE. State_Diag%TotalOA => NULL() State_Diag%Archive_TotalOA = .FALSE. State_Diag%TotalOC => NULL() State_Diag%Archive_TotalOC = .FALSE. State_Diag%TotalBiogenicOA => NULL() State_Diag%Archive_TotalBiogenicOA = .FALSE. !%%%%% Transport diagnostics %%%%% State_Diag%AdvFluxZonal => NULL() State_Diag%Map_AdvFluxZonal => NULL() State_Diag%Archive_AdvFluxZonal = .FALSE. State_Diag%AdvFluxMerid => NULL() State_Diag%Map_AdvFluxMerid => NULL() State_Diag%Archive_AdvFluxMerid = .FALSE. State_Diag%AdvFluxVert => NULL() State_Diag%Map_AdvFluxVert => NULL() State_Diag%Archive_AdvFluxVert = .FALSE. !%%%%% PBL mixing diagnostics %%%%% State_Diag%PBLMixFrac => NULL() State_Diag%Archive_PBLMixFrac = .FALSE. State_Diag%PBLFlux => NULL() State_Diag%Map_PBLFlux => NULL() State_Diag%Archive_PBLFlux = .FALSE. !%%%%% Convection and WetDep diagnostics %%%%% State_Diag%CloudConvFlux => NULL() State_Diag%Map_CloudConvFlux => NULL() State_Diag%Archive_CloudConvFlux = .FALSE. State_Diag%WetLossConv => NULL() State_Diag%Map_WetLossConv => NULL() State_Diag%Archive_WetLossConv = .FALSE. State_Diag%SatDiagnWetLossConv => NULL() State_Diag%Map_SatDiagnWetLossConv => NULL() State_Diag%Archive_SatDiagnWetLossConv = .FALSE. State_Diag%WetLossConvFrac => NULL() State_Diag%Map_WetLossConvFrac => NULL() State_Diag%Archive_WetLossConvFrac = .FALSE. State_Diag%WetLossLS => NULL() State_Diag%Map_WetLossLS => NULL() State_Diag%Archive_WetLossLS = .FALSE. State_Diag%SatDiagnWetLossLS => NULL() State_Diag%Map_SatDiagnWetLossLS => NULL() State_Diag%Archive_SatDiagnWetLossLS = .FALSE. !### Comment out these diagnostics for now (bmy, 6/2/20) !### State_Diag%PrecipFracLS => NULL() !### State_Diag%RainFracLS => NULL() !### State_Diag%WashFracLS => NULL() !### State_Diag%Archive_PrecipFracLS = .FALSE. !### State_Diag%Archive_RainFracLS = .FALSE. !### State_Diag%Archive_WashFracLS = .FALSE. !%%%%% Carbon aerosol diagnostics %%%%% State_Diag%ProdBCPIfromBCPO => NULL() State_Diag%Archive_ProdBCPIfromBCPO = .FALSE. State_Diag%ProdOCPIfromOCPO => NULL() State_Diag%Archive_ProdOCPIfromOCPO = .FALSE. !%%%%% Aerosol prod and loss diagnostics %%%%% State_Diag%ProdSO2fromDMSandOH => NULL() State_Diag%Archive_ProdSO2fromDMSandOH = .FALSE. State_Diag%ProdSO2fromDMSandNO3 => NULL() State_Diag%Archive_ProdSO2fromDMSandNO3 = .FALSE. State_Diag%ProdSO2fromDMS => NULL() State_Diag%Archive_ProdSO2fromDMS = .FALSE. State_Diag%ProdMSAfromDMS => NULL() State_Diag%Archive_ProdMSAfromDMS = .FALSE. State_Diag%ProdNITfromHNO3uptakeOnDust => NULL() State_Diag%Archive_ProdNITfromHNO3uptakeOnDust = .FALSE. State_Diag%ProdSO4fromGasPhase => NULL() State_Diag%Archive_ProdSO4fromGasPhase = .FALSE. State_Diag%ProdSO4fromH2O2inCloud => NULL() State_Diag%Archive_ProdSO4fromH2O2inCloud = .FALSE. State_Diag%ProdSO4fromO3inCloud => NULL() State_Diag%Archive_ProdSO4fromO3inCloud = .FALSE. State_Diag%ProdSO4fromO2inCloudMetal => NULL() State_Diag%Archive_ProdSO4fromO2inCloudMetal = .FALSE. State_Diag%ProdSO4fromO3inSeaSalt => NULL() State_Diag%Archive_ProdSO4fromO3inSeaSalt = .FALSE. State_Diag%ProdSO4fromOxidationOnDust => NULL() State_Diag%Archive_ProdSO4fromOxidationOnDust = .FALSE. State_Diag%ProdSO4fromUptakeOfH2SO4g => NULL() State_Diag%Archive_ProdSO4fromUptakeOfH2SO4g = .FALSE. State_Diag%ProdSO4fromHOBrInCloud => NULL() State_Diag%Archive_ProdSO4fromHOBrInCloud = .FALSE. State_Diag%ProdSO4fromSRO3 => NULL() State_Diag%Archive_ProdSO4fromSRO3 = .FALSE. State_Diag%ProdSO4fromSRHOBr => NULL() State_Diag%Archive_ProdSO4fromSRHOBr = .FALSE. State_Diag%ProdSO4fromO3s => NULL() State_Diag%Archive_ProdSO4fromO3s = .FALSE. State_Diag%LossHNO3onSeaSalt => NULL() State_Diag%Archive_LossHNO3onSeaSalt = .FALSE. State_Diag%ProdSO4fromHMSinCloud => NULL() State_Diag%Archive_ProdSO4fromHMSinCloud = .FALSE. State_Diag%ProdHMSfromSO2andHCHOinCloud => NULL() State_Diag%Archive_ProdHMSfromSO2andHCHOinCloud= .FALSE. State_Diag%ProdSO2andHCHOfromHMSinCloud => NULL() State_Diag%Archive_ProdSO2andHCHOfromHMSinCloud= .FALSE. !%%%%% O3 and HNO3 at a given height above the surface %%%%% State_Diag%DryDepRaALT1 => NULL() State_Diag%Archive_DryDepRaALT1 = .FALSE. State_Diag%DryDepVelForALT1 => NULL() State_Diag%Archive_DryDepVelForALT1 = .FALSE. State_Diag%SpeciesConcALT1 => NULL() State_Diag%Archive_SpeciesConcALT1 = .FALSE. !%%%%% KPP solver diagnostics %%%%% State_Diag%KppIntCounts => NULL() State_Diag%Archive_KppIntCounts = .FALSE. State_Diag%KppJacCounts => NULL() State_Diag%Archive_KppJacCounts = .FALSE. State_Diag%KppTotSteps => NULL() State_Diag%Archive_KppTotSteps = .FALSE. State_Diag%KppAccSteps => NULL() State_Diag%Archive_KppAccSteps = .FALSE. State_Diag%KppRejSteps => NULL() State_Diag%Archive_KppRejSteps = .FALSE. State_Diag%KppLuDecomps => NULL() State_Diag%Archive_KppLuDecomps = .FALSE. State_Diag%KppSubsts => NULL() State_Diag%Archive_KppSubsts = .FALSE. State_Diag%KppSmDecomps => NULL() State_Diag%Archive_KppSmDecomps = .FALSE. State_Diag%KppNegatives => NULL() State_Diag%Archive_KppNegatives = .FALSE. State_Diag%KppNegatives0 => NULL() State_Diag%Archive_KppNegatives0 = .FALSE. State_Diag%KppAutoReducerNVAR => NULL() State_Diag%Archive_KppAutoReducerNVAR = .FALSE. State_Diag%KppAutoReduceThres => NULL() State_Diag%Archive_KppAutoReduceThres = .FALSE. State_Diag%KppcNONZERO => NULL() State_Diag%Archive_KppcNONZERO = .FALSE. State_Diag%KppTime => NULL() State_Diag%Archive_KppTime = .FALSE. State_Diag%Archive_KppDiags = .FALSE. !%%%%% Time in troposphere diagnostic %%%%% State_Diag%FracOfTimeInTrop => NULL() State_Diag%Archive_FracOfTimeInTrop = .FALSE. !%%%%% Chemistry metrics (e.g. mean OH, CH3CCl3 lifetime etc.) %%%%% State_Diag%AirMassColumnFull => NULL() State_Diag%Archive_AirMassColumnFull = .FALSE. State_Diag%Archive_Metrics = .FALSE. State_Diag%AirMassColumnTrop => NULL() State_Diag%Archive_AirMassColumnTrop = .FALSE. State_Diag%CH4emission => NULL() State_Diag%Archive_CH4emission = .FALSE. State_Diag%CH4massColumnFull => NULL() State_Diag%Archive_CH4massColumnFull = .FALSE. State_Diag%CH4massColumnTrop => NULL() State_Diag%Archive_CH4massColumnTrop = .FALSE. State_Diag%OHwgtByAirMassColumnFull => NULL() State_Diag%Archive_OHwgtByAirMassColumnFull = .FALSE. State_Diag%OHwgtByAirMassColumnTrop => NULL() State_Diag%Archive_OHwgtByAirMassColumnTrop = .FALSE. State_Diag%LossOHbyCH4columnTrop => NULL() State_Diag%Archive_LossOHbyCH4columnTrop = .FALSE. State_Diag%LossOHbyMCFcolumnTrop => NULL() State_Diag%Archive_LossOHbyMCFcolumnTrop = .FALSE. !%%%%% TransportTracers diagnostics %%%%% State_Diag%PbFromRnDecay => NULL() State_Diag%Archive_PbFromRnDecay = .FALSE. State_Diag%RadDecay => NULL() State_Diag%Map_RadDecay => NULL() State_Diag%Archive_RadDecay = .FALSE. !%%%%% Satellite diagnostic %%%%% State_Diag%SatDiagn_StartHr = 0.0 State_Diag%SatDiagn_EndHr = 0.0 State_Diag%SatDiagn_Count = 0.0 State_Diag%SatDiagnCount => NULL() State_Diag%Archive_SatDiagnCount = .FALSE. State_Diag%SatDiagnEdgeCount => NULL() State_Diag%Archive_SatDiagnEdgeCount = .FALSE. State_Diag%SatDiagnConc => NULL() State_Diag%Map_SatDiagnConc => NULL() State_Diag%Archive_SatDiagnConc = .FALSE. State_Diag%SatDiagnColEmis => NULL() State_Diag%Map_SatDiagnColEmis => NULL() State_Diag%Archive_SatDiagnColEmis = .FALSE. State_Diag%SatDiagnSurfFlux => NULL() State_Diag%Map_SatDiagnSurfFlux => NULL() State_Diag%Archive_SatDiagnSurfFlux = .FALSE. State_Diag%SatDiagnOH => NULL() State_Diag%Archive_SatDiagnOH = .FALSE. State_Diag%SatDiagnRH => NULL() State_Diag%Archive_SatDiagnRH = .FALSE. State_Diag%SatDiagnAirDen => NULL() State_Diag%Archive_SatDiagnAirDen = .FALSE. State_Diag%SatDiagnBoxHeight => NULL() State_Diag%Archive_SatDiagnBoxHeight = .FALSE. State_Diag%SatDiagnPEdge => NULL() State_Diag%Archive_SatDiagnPEdge = .FALSE. State_Diag%SatDiagnPMid => NULL() State_Diag%Archive_SatDiagnPMid = .FALSE. State_Diag%SatDiagnTROPP => NULL() State_Diag%Archive_SatDiagnTROPP = .FALSE. State_Diag%SatDiagnTropLev => NULL() State_Diag%Archive_SatDiagnTropLev = .FALSE. State_Diag%SatDiagnPBLHeight => NULL() State_Diag%Archive_SatDiagnPBLHeight = .FALSE. State_Diag%SatDiagnPBLTop => NULL() State_Diag%Archive_SatDiagnPBLTop = .FALSE. State_Diag%SatDiagnTAir => NULL() State_Diag%Archive_SatDiagnTAir = .FALSE. State_Diag%SatDiagnCldFrac => NULL() State_Diag%Archive_SatDiagnCldFrac = .FALSE. State_Diag%SatDiagnCldTopP => NULL() State_Diag%Archive_SatDiagnCldTopP = .FALSE. State_Diag%SatDiagnGWETROOT => NULL() State_Diag%Archive_SatDiagnGWETROOT = .FALSE. State_Diag%SatDiagnGWETTOP => NULL() State_Diag%Archive_SatDiagnGWETTOP = .FALSE. State_Diag%SatDiagnPARDR => NULL() State_Diag%Archive_SatDiagnPARDR = .FALSE. State_Diag%SatDiagnPARDF => NULL() State_Diag%Archive_SatDiagnPARDF = .FALSE. State_Diag%SatDiagnPRECTOT => NULL() State_Diag%Archive_SatDiagnPRECTOT = .FALSE. State_Diag%SatDiagnSLP => NULL() State_Diag%Archive_SatDiagnSLP = .FALSE. State_Diag%SatDiagnSPHU => NULL() State_Diag%Archive_SatDiagnSPHU = .FALSE. State_Diag%SatDiagnTS => NULL() State_Diag%Archive_SatDiagnTS = .FALSE. State_Diag%SatDiagnPBLTOPL => NULL() State_Diag%Archive_SatDiagnPBLTOPL = .FALSE. State_Diag%SatDiagnMODISLAI => NULL() State_Diag%Archive_SatDiagnMODISLAI = .FALSE. ! RRTMG simulation diagnostics State_Diag%nRadOut = 0 State_Diag%RadOutInd => NULL() State_Diag%RadOutName => NULL() State_Diag%RadAllSkyLWSurf => NULL() State_Diag%Archive_RadAllSkyLWSurf = .FALSE. State_Diag%RadAllSkyLWTOA => NULL() State_Diag%Archive_RadAllSkyLWTOA = .FALSE. State_Diag%RadAllSkySWSurf => NULL() State_Diag%Archive_RadAllSkySWSurf = .FALSE. State_Diag%RadAllSkySWTOA => NULL() State_Diag%Archive_RadAllSkySWTOA = .FALSE. State_Diag%RadClrSkyLWSurf => NULL() State_Diag%Archive_RadClrSkyLWSurf = .FALSE. State_Diag%RadClrSkyLWTOA => NULL() State_Diag%Archive_RadClrSkyLWTOA = .FALSE. State_Diag%RadClrSkySWSurf => NULL() State_Diag%Archive_RadClrSkySWSurf = .FALSE. State_Diag%RadClrSkySWTOA => NULL() State_Diag%Archive_RadClrSkySWTOA = .FALSE. State_Diag%RadAllSkyLWTrop => NULL() State_Diag%Archive_RadAllSkyLWTrop = .FALSE. State_Diag%RadAllSkySWTrop => NULL() State_Diag%Archive_RadAllSkySWTrop = .FALSE. State_Diag%RadClrSkyLWTrop => NULL() State_Diag%Archive_RadClrSkyLWTrop = .FALSE. State_Diag%RadClrSkySWTrop => NULL() State_Diag%Archive_RadClrSkySWTrop = .FALSE. State_Diag%RadAODWL1 => NULL() State_Diag%Archive_RadAODWL1 = .FALSE. State_Diag%RadAODWL2 => NULL() State_Diag%Archive_RadAODWL2 = .FALSE. State_Diag%RadAODWL3 => NULL() State_Diag%Archive_RadAODWL3 = .FALSE. State_Diag%RadSSAWL1 => NULL() State_Diag%Archive_RadSSAWL1 = .FALSE. State_Diag%RadSSAWL2 => NULL() State_Diag%Archive_RadSSAWL2 = .FALSE. State_Diag%RadSSAWL3 => NULL() State_Diag%Archive_RadSSAWL3 = .FALSE. State_Diag%RadAsymWL1 => NULL() State_Diag%Archive_RadAsymWL1 = .FALSE. State_Diag%RadAsymWL2 => NULL() State_Diag%Archive_RadAsymWL2 = .FALSE. State_Diag%RadAsymWL3 => NULL() State_Diag%Archive_RadAsymWL3 = .FALSE. State_Diag%DynHeating => NULL() State_Diag%Archive_DynHeating = .FALSE. State_Diag%DTRad => NULL() State_Diag%Archive_DTRad = .FALSE. State_Diag%IsWater => NULL() State_Diag%IsLand => NULL() State_Diag%IsIce => NULL() State_Diag%IsSnow => NULL() State_Diag%Archive_SfcType = .FALSE. State_Diag%Archive_RadOptics = .FALSE. !%%%%% POPs simulation diagnostics %%%%% State_Diag%LossPOPPOCPObyGasPhase => NULL() State_Diag%Archive_LossPOPPOCPObyGasPhase = .FALSE. State_Diag%ProdPOPPOCPOfromGasPhase => NULL() State_Diag%Archive_ProdPOPPOCPOfromGasPhase = .FALSE. State_Diag%LossPOPPBCPObyGasPhase => NULL() State_Diag%Archive_LossPOPPBCPObyGasPhase = .FALSE. State_Diag%ProdPOPPBCPOfromGasPhase => NULL() State_Diag%Archive_ProdPOPPBCPOfromGasPhase = .FALSE. State_Diag%ProdPOPGfromOH => NULL() State_Diag%Archive_ProdPOPGfromOH = .FALSE. State_Diag%ProdPOPPOCPOfromO3 => NULL() State_Diag%Archive_ProdPOPPOCPOfromO3 = .FALSE. State_Diag%ProdPOPPOCPIfromO3 => NULL() State_Diag%Archive_ProdPOPPOCPIfromO3 = .FALSE. State_Diag%ProdPOPPBCPIfromO3 => NULL() State_Diag%Archive_ProdPOPPBCPIfromO3 = .FALSE. State_Diag%ProdPOPPBCPOfromO3 => NULL() State_Diag%Archive_ProdPOPPBCPOfromO3 = .FALSE. State_Diag%ProdPOPPOCPOfromNO3 => NULL() State_Diag%Archive_ProdPOPPOCPOfromNO3 = .FALSE. State_Diag%ProdPOPPOCPIfromNO3 => NULL() State_Diag%Archive_ProdPOPPOCPIfromNO3 = .FALSE. State_Diag%ProdPOPPBCPIfromNO3 => NULL() State_Diag%Archive_ProdPOPPBCPIfromNO3 = .FALSE. State_Diag%ProdPOPPBCPOfromNO3 => NULL() State_Diag%Archive_ProdPOPPBCPOfromNO3 = .FALSE. !%%%%% Carbon simulation diagnostics %%%%% State_Diag%ProdCO2fromCO => NULL() State_Diag%Archive_ProdCO2fromCO = .FALSE. State_Diag%LossCH4byClinTrop => NULL() State_Diag%Archive_LossCH4byClinTrop = .FALSE. State_Diag%LossCH4byOHinTrop => NULL() State_Diag%Archive_LossCH4byOHinTrop = .FALSE. State_Diag%LossCH4inStrat => NULL() State_Diag%Archive_LossCH4inStrat = .FALSE. State_Diag%ProdCOfromCH4 => NULL() State_Diag%Archive_ProdCOfromCH4 = .FALSE. State_Diag%ProdCOfromNMVOC => NULL() State_Diag%Archive_ProdCOfromNMVOC = .FALSE. ! Hg specialty simulation diagnostics ! -- emissions quantities (e.g. for HEMCO manual diagnostics) State_Diag%EmisHg0anthro => NULL() State_Diag%EmisHg0biomass => NULL() State_Diag%EmisHg0geogenic => NULL() State_Diag%EmisHg0land => NULL() State_Diag%EmisHg0ocean => NULL() State_Diag%EmisHg0soil => NULL() State_Diag%EmisHg0snow => NULL() State_Diag%EmisHg0vegetation => NULL() State_Diag%EmisHg2HgPanthro => NULL() State_Diag%EmisHg2snowToOcean => NULL() State_Diag%EmisHg2rivers => NULL() State_Diag%FluxHg2HgPfromAirToSnow => NULL() State_Diag%Archive_EmisHg0anthro = .FALSE. State_Diag%Archive_EmisHg0biomass = .FALSE. State_Diag%Archive_EmisHg0geogenic = .FALSE. State_Diag%Archive_EmisHg0land = .FALSE. State_Diag%Archive_EmisHg0ocean = .FALSE. State_Diag%Archive_EmisHg0snow = .FALSE. State_Diag%Archive_EmisHg0soil = .FALSE. State_Diag%Archive_EmisHg0vegetation = .FALSE. State_Diag%Archive_EmisHg2HgPanthro = .FALSE. State_Diag%Archive_EmisHg2snowToOcean = .FALSE. State_Diag%Archive_EmisHg2rivers = .FALSE. State_Diag%Archive_FluxHg2HgPfromAirToSnow = .FALSE. ! ! -- oceanic quantities State_Diag%FluxHg0fromAirToOcean => NULL() State_Diag%FluxHg0fromOceanToAir => NULL() State_Diag%FluxHg2toDeepOcean => NULL() State_Diag%FluxHg2HgPfromAirToOcean => NULL() State_Diag%FluxOCtoDeepOcean => NULL() State_Diag%MassHg0inOcean => NULL() State_Diag%MassHg2inOcean => NULL() State_Diag%MassHgPinOcean => NULL() State_Diag%MassHgTotalInOcean => NULL() State_Diag%Archive_FluxHg0fromOceanToAir = .FALSE. State_Diag%Archive_FluxHg0fromAirToOcean = .FALSE. State_Diag%Archive_FluxHg2toDeepOcean = .FALSE. State_Diag%Archive_FluxHg2HgPfromAirToOcean = .FALSE. State_Diag%Archive_FluxOCtoDeepOcean = .FALSE. State_Diag%Archive_MassHg0inOcean = .FALSE. State_Diag%Archive_MassHg2inOcean = .FALSE. State_Diag%Archive_MassHgPinOcean = .FALSE. State_Diag%Archive_MassHgTotalInOcean = .FALSE. ! ! -- chemistry quantities State_Diag%ConcBr => NULL() State_Diag%ConcBrO => NULL() State_Diag%LossHg2bySeaSalt => NULL() State_Diag%LossRateHg2bySeaSalt => NULL() State_Diag%PolarConcBr => NULL() State_Diag%PolarConcBrO => NULL() State_Diag%PolarConcO3 => NULL() State_Diag%ProdHg2fromBr => NULL() State_Diag%ProdHg2fromBrY => NULL() State_Diag%ProdHg2fromClY => NULL() State_Diag%ProdHg2fromHg0 => NULL() State_Diag%ProdHg2fromHgBrPlusBr2 => NULL() State_Diag%ProdHg2fromHgBrPlusBrBrO => NULL() State_Diag%ProdHg2fromHgBrPlusBrClO => NULL() State_Diag%ProdHg2fromHgBrPlusBrHO2 => NULL() State_Diag%ProdHg2fromHgBrPlusBrNO2 => NULL() State_Diag%ProdHg2fromHgBrPlusBrOH => NULL() State_Diag%ProdHg2fromOH => NULL() State_Diag%ProdHg2fromO3 => NULL() State_Diag%ParticulateBoundHg => NULL() State_Diag%ReactiveGaseousHg => NULL() State_Diag%Archive_ConcBr = .FALSE. State_Diag%Archive_ConcBrO = .FALSE. State_Diag%Archive_LossHg2bySeaSalt = .FALSE. State_Diag%Archive_LossRateHg2bySeaSalt = .FALSE. State_Diag%Archive_PolarConcBr = .FALSE. State_Diag%Archive_PolarConcBrO = .FALSE. State_Diag%Archive_PolarConcO3 = .FALSE. State_Diag%Archive_ProdHg2fromBr = .FALSE. State_Diag%Archive_ProdHg2fromBrY = .FALSE. State_Diag%Archive_ProdHg2fromClY = .FALSE. State_Diag%Archive_ProdHg2fromHg0 = .FALSE. State_Diag%Archive_ProdHg2fromHgBrPlusBr2 = .FALSE. State_Diag%Archive_ProdHg2fromHgBrPlusBrBrO = .FALSE. State_Diag%Archive_ProdHg2fromHgBrPlusBrClO = .FALSE. State_Diag%Archive_ProdHg2fromHgBrPlusBrHO2 = .FALSE. State_Diag%Archive_ProdHg2fromHgBrPlusBrNO2 = .FALSE. State_Diag%Archive_ProdHg2fromHgBrPlusBrOH = .FALSE. State_Diag%Archive_ProdHg2fromOH = .FALSE. State_Diag%Archive_ProdHg2fromO3 = .FALSE. State_Diag%Archive_ParticulateBoundHg = .FALSE. State_Diag%Archive_ReactiveGaseousHg = .FALSE. ! From Viral Shah (MSL, 7.1.21) State_Diag%HgBrAfterChem => NULL() State_Diag%HgClAfterChem => NULL() State_Diag%HgOHAfterChem => NULL() State_Diag%HgBrOAfterChem => NULL() State_Diag%HgClOAfterChem => NULL() State_Diag%HgOHOAfterChem => NULL() State_Diag%Hg2GToHg2P => NULL() State_Diag%Hg2PToHg2G => NULL() State_Diag%Hg2GasToHg2StrP => NULL() State_Diag%Hg2GasToSSA => NULL() State_Diag%Archive_HgBrAfterChem = .FALSE. State_Diag%Archive_HgClAfterChem = .FALSE. State_Diag%Archive_HgOHAfterChem = .FALSE. State_Diag%Archive_HgBrOAfterChem = .FALSE. State_Diag%Archive_HgClOAfterChem = .FALSE. State_Diag%Archive_HgOHOAfterChem = .FALSE. State_Diag%Archive_Hg2GToHg2P = .FALSE. State_Diag%Archive_Hg2PToHg2G = .FALSE. State_Diag%Archive_Hg2GasToHg2StrP = .FALSE. State_Diag%Archive_Hg2GasToSSA = .FALSE. ! ObsPack diagnostic quantities State_Diag%Do_ObsPack = .FALSE. State_Diag%ObsPack_fId = 0 State_Diag%ObsPack_InFile = '' State_Diag%ObsPack_OutFile = '' State_Diag%ObsPack_nObs = 0 State_Diag%ObsPack_Id => NULL() State_Diag%ObsPack_nSamples => NULL() State_Diag%ObsPack_Strategy => NULL() State_Diag%ObsPack_Latitude => NULL() State_Diag%ObsPack_Longitude => NULL() State_Diag%ObsPack_Altitude => NULL() State_Diag%ObsPack_Ival_Start => NULL() State_Diag%ObsPack_Ival_Center => NULL() State_Diag%ObsPack_Ival_End => NULL() State_Diag%ObsPack_P => NULL() State_Diag%ObsPack_U => NULL() State_Diag%ObsPack_V => NULL() State_Diag%ObsPack_BLH => NULL() State_Diag%ObsPack_Q => NULL() State_Diag%ObsPack_T => NULL() State_Diag%ObsPack_nSpecies = 0 State_Diag%ObsPack_Species => NULL() State_Diag%ObsPack_Species_Ind => NULL() State_Diag%ObsPack_Species_Name => NULL() State_Diag%ObsPack_Species_LName => NULL() #ifdef MODEL_GEOS !======================================================================= ! These diagnostics are only activated when running GC in NASA/GEOS !======================================================================= State_Diag%MoninObukhov => NULL() State_Diag%Archive_MoninObukhov = .FALSE. State_Diag%Bry => NULL() State_Diag%Archive_Bry = .FALSE. State_Diag%NOy => NULL() State_Diag%Archive_NOy = .FALSE. State_Diag%Cly => NULL() State_Diag%Archive_Cly = .FALSE. State_Diag%OrganicCl => NULL() State_Diag%Archive_OrganicCl = .FALSE. State_Diag%O3_MASS => NULL() State_Diag%Archive_O3_MASS = .FALSE. State_Diag%GCCTO3 => NULL() State_Diag%Archive_GCCTO3 = .FALSE. State_Diag%GCCTTO3 => NULL() State_Diag%Archive_GCCTTO3 = .FALSE. State_Diag%CHEMTOP => NULL() State_Diag%Archive_CHEMTOP = .FALSE. State_Diag%CHEMTROPP => NULL() State_Diag%Archive_CHEMTROPP = .FALSE. State_Diag%CONVCLDTOP => NULL() State_Diag%Archive_CONVCLDTOP = .FALSE. State_Diag%EXTRALNLEVS => NULL() State_Diag%Archive_EXTRALNLEVS = .FALSE. State_Diag%EXTRALNITER => NULL() State_Diag%Archive_EXTRALNITER = .FALSE. State_Diag%LIGHTNINGPOTENTIAL => NULL() State_Diag%Archive_LGHTPOTENTIAL = .FALSE. State_Diag%O3concAfterChem => NULL() State_Diag%Archive_O3concAfterChem = .FALSE. State_Diag%RO2concAfterChem => NULL() State_Diag%Archive_RO2concAfterChem = .FALSE. State_Diag%PM25ni => NULL() State_Diag%Archive_PM25ni = .FALSE. State_Diag%PM25nit => NULL() State_Diag%Archive_PM25nit = .FALSE. State_Diag%PM25nh4 => NULL() State_Diag%Archive_PM25nh4 = .FALSE. State_Diag%PM25su => NULL() State_Diag%Archive_PM25su = .FALSE. State_Diag%PM25oc => NULL() State_Diag%Archive_PM25oc = .FALSE. State_Diag%PM25bc => NULL() State_Diag%Archive_PM25bc = .FALSE. State_Diag%PM25du => NULL() State_Diag%Archive_PM25du = .FALSE. State_Diag%PM25ss => NULL() State_Diag%Archive_PM25ss = .FALSE. State_Diag%PM25soa => NULL() State_Diag%Archive_PM25soa = .FALSE. State_Diag%PblCol => NULL() State_Diag%Map_PblCol => NULL() State_Diag%Archive_PblCol = .FALSE. State_Diag%TropCol => NULL() State_Diag%Map_TropCol => NULL() State_Diag%Archive_TropCol = .FALSE. State_Diag%TotCol => NULL() State_Diag%Map_TotCol => NULL() State_Diag%Archive_TotCol = .FALSE. State_Diag%COincCO2phot => NULL() State_Diag%Archive_COincCO2phot = .FALSE. State_Diag%CO2photrate => NULL() State_Diag%Archive_CO2photrate = .FALSE. #endif #if defined( MODEL_GEOS ) || defined( MODEL_WRF ) || defined( MODEL_CESM ) !======================================================================= ! These diagnostics are only activated when running GC ! either in NASA/GEOS, WRF, or CESM !======================================================================= State_Diag%KppError => NULL() State_Diag%Archive_KppError = .FALSE. #endif END SUBROUTINE Zero_State_Diag !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_State_Diag ! ! !DESCRIPTION: Subroutine INIT\_STATE\_DIAG allocates all fields of ! the diagnostics state object. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_State_Diag( Input_Opt, State_Chm, State_Grid, & Diag_List, TaggedDiag_List, State_Diag, RC ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input otions object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry state TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid state object TYPE(DgnList), INTENT(IN) :: Diag_List ! Diagnostics list TYPE(TaggedDgnList), INTENT(IN) :: TaggedDiag_List ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostic State ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Return code ! ! !REMARKS: ! For consistency, maybe this should be moved to a different module. ! ! !REVISION HISTORY: ! 05 Jul 2017 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=5 ) :: TmpWL CHARACTER(LEN=10 ) :: TmpHt CHARACTER(LEN=255) :: arrayID, diagID CHARACTER(LEN=255) :: errMsg, errMsg_ir, thisLoc ! Scalars INTEGER :: C, N INTEGER :: NX, NY, NW LOGICAL :: am_I_Root, EOF LOGICAL :: found, forceDefine LOGICAL :: foundMix, foundChm !======================================================================= ! Initialize !======================================================================= RC = GC_SUCCESS arrayID = '' diagID = '' errMsg = '' errMsg_ir = 'Error encountered in "Init_and_Register", diagID = ' thisLoc = ' -> at Init_State_Diag (in Headers/state_diag_mod.F90)' Found = .FALSE. TmpWL = '' TmpHt = AltAboveSfc am_I_Root = Input_Opt%amIRoot ! Nullify pointer fields and set logical fields to false CALL Zero_State_Diag( State_Diag, RC ) !------------------------------------------------------------------------ ! Exit if this is a dry-run simulation !------------------------------------------------------------------------ IF ( Input_Opt%DryRun ) THEN RC = GC_SUCCESS RETURN ENDIF !------------------------------------------------------------------------ ! Write header !------------------------------------------------------------------------ IF ( Input_Opt%amIRoot .and. Input_Opt%Verbose ) THEN WRITE( 6, 10 ) 10 FORMAT(/, 'Allocating the following fields of the State_Diag object:') WRITE( 6, '(a)' ) REPEAT( '=', 79 ) ENDIF !------------------------------------------------------------------------ ! Restart file -- species concentrations !------------------------------------------------------------------------ diagID = 'SpeciesRst' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%SpeciesRst, & archiveData = State_Diag%Archive_SpeciesRst, & diagId = diagId, & diagFlag = 'S', & RC = RC ) IF( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Transport boundary conditions diagnostic !------------------------------------------------------------------------ diagID = 'SpeciesBC' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%SpeciesBC, & archiveData = State_Diag%Archive_SpeciesBC, & mapData = State_Diag%Map_SpeciesBC, & diagId = diagId, & diagFlag = 'A', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Species concentration diagnostic (v/v dry) !------------------------------------------------------------------------ diagId = 'SpeciesConcVV' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%SpeciesConcVV, & archiveData = State_Diag%Archive_SpeciesConcVV, & mapData = State_Diag%Map_SpeciesConcVV, & diagId = diagId, & diagFlag = 'S', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Species concentration diagnostic (MND) !------------------------------------------------------------------------ diagId = 'SpeciesConcMND' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%SpeciesConcMND, & archiveData = State_Diag%Archive_SpeciesConcMND, & mapData = State_Diag%Map_SpeciesConcMND, & diagId = diagId, & diagFlag = 'S', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF diagId = 'ConcBeforeChem' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ConcBeforeChem, & archiveData = State_Diag%Archive_ConcBeforeChem, & mapData = State_Diag%Map_ConcBeforeChem, & diagId = diagId, & diagFlag = 'S', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF diagId = 'ConcAfterChem' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ConcAfterChem, & archiveData = State_Diag%Archive_ConcAfterChem, & mapData = State_Diag%Map_ConcAfterChem, & diagId = diagId, & diagFlag = 'S', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF #ifdef ADJOINT !------------------------------------------------------------------------ ! Species adjoint diagnostic !------------------------------------------------------------------------ diagId = 'SpeciesAdj' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%SpeciesAdj, & archiveData = State_Diag%Archive_SpeciesAdj, & mapData = State_Diag%Map_SpeciesAdj, & diagId = diagId, & diagFlag = 'S', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Species adjoint diagnostic !------------------------------------------------------------------------ diagId = 'ScaleICsAdj' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ScaleICsAdj, & archiveData = State_Diag%Archive_ScaleICsAdj, & mapData = State_Diag%Map_ScaleICsAdj, & diagId = diagId, & diagFlag = 'S', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF #endif !------------------------------------------------------------------------ ! Fraction of total time each grid box spent in the troposphere !------------------------------------------------------------------------ diagID = 'FracOfTimeInTrop' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%FracOfTimeInTrop, & archiveData = State_Diag%Archive_FracOfTimeInTrop, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !----------------------------------------------------------------------- ! Budget for emissions (average kg/m2/s across single timestep) !----------------------------------------------------------------------- diagID = 'BudgetEmisDryDepFull' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%BudgetEmisDryDepFull, & archiveData = State_Diag%Archive_BudgetEmisDryDepFull, & mapData = State_Diag%Map_BudgetEmisDryDepFull, & diagId = diagId, & diagFlag = 'A', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Trop-only emissions diagID = 'BudgetEmisDryDepTrop' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%BudgetEmisDryDepTrop, & archiveData = State_Diag%Archive_BudgetEmisDryDepTrop, & mapData = State_Diag%Map_BudgetEmisDryDepTrop, & diagId = diagId, & diagFlag = 'A', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! PBL-only emissions diagID = 'BudgetEmisDryDepPBL' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%BudgetEmisDryDepPBL, & archiveData = State_Diag%Archive_BudgetEmisDryDepPBL, & mapData = State_Diag%Map_BudgetEmisDryDepPBL, & diagId = diagId, & diagFlag = 'A', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Fixed level range emissions diagID = 'BudgetEmisDryDepLevs' // & TRIM( budgetBotLev_str ) // 'to' // TRIM( budgetTopLev_str ) CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%BudgetEmisDryDepLevs, & archiveData = State_Diag%Archive_BudgetEmisDryDepLevs, & mapData = State_Diag%Map_BudgetEmisDryDepLevs, & diagId = diagId, & diagFlag = 'A', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! High-level logical for emissions budget IF ( State_Diag%Archive_BudgetEmisDryDepFull .OR. & State_Diag%Archive_BudgetEmisDryDepTrop .OR. & State_Diag%Archive_BudgetEmisDryDepLevs .OR. & State_Diag%Archive_BudgetEmisDryDepLevs ) THEN State_Diag%Archive_BudgetEmisDryDep = .TRUE. ENDIF !----------------------------------------------------------------------- ! Budget for transport (average kg/m2/s across single timestep) !----------------------------------------------------------------------- diagId = 'BudgetTransportFull' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%BudgetTransportFull, & archiveData = State_Diag%Archive_BudgetTransportFull, & mapData = State_Diag%Map_BudgetTransportFull, & diagId = diagId, & diagFlag = 'A', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Trop-only transport diagID = 'BudgetTransportTrop' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%BudgetTransportTrop, & archiveData = State_Diag%Archive_BudgetTransportTrop, & mapData = State_Diag%Map_BudgetTransportTrop, & diagId = diagId, & diagFlag = 'A', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! PBL-only transport diagID = 'BudgetTransportPBL' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%BudgetTransportPBL, & archiveData = State_Diag%Archive_BudgetTransportPBL, & mapData = State_Diag%Map_BudgetTransportPBL, & diagId = diagId, & diagFlag = 'A', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Fixed level range transport diagID = 'BudgetTransportLevs' // & TRIM( budgetBotLev_str ) // 'to' // TRIM( budgetTopLev_str ) CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%BudgetTransportLevs, & archiveData = State_Diag%Archive_BudgetTransportLevs, & mapData = State_Diag%Map_BudgetTransportLevs, & diagId = diagId, & diagFlag = 'A', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! High-level logical for transport budget IF ( State_Diag%Archive_BudgetTransportFull .OR. & State_Diag%Archive_BudgetTransportTrop .OR. & State_Diag%Archive_BudgetTransportPBL .OR. & State_Diag%Archive_BudgetTransportLevs ) THEN State_Diag%Archive_BudgetTransport = .TRUE. ENDIF !----------------------------------------------------------------------- ! Budget for mixing (average kg/m2/s across single timestep) !----------------------------------------------------------------------- diagID = 'BudgetMixingFull' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%BudgetMixingFull, & archiveData = State_Diag%Archive_BudgetMixingFull, & mapData = State_Diag%Map_BudgetMixingFull, & diagId = diagId, & diagFlag = 'A', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Trop-only mixing diagID = 'BudgetMixingTrop' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%BudgetMixingTrop, & archiveData = State_Diag%Archive_BudgetMixingTrop, & mapData = State_Diag%Map_BudgetMixingTrop, & diagId = diagId, & diagFlag = 'A', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! PBL-only mixing diagID = 'BudgetMixingPBL' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%BudgetMixingPBL, & archiveData = State_Diag%Archive_BudgetMixingPBL, & mapData = State_Diag%Map_BudgetMixingPBL, & diagId = diagId, & diagFlag = 'A', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Fixed level range mixing diagID = 'BudgetMixingLevs' // & TRIM( budgetBotLev_str ) // 'to' // TRIM( budgetTopLev_str ) CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%BudgetMixingLevs, & archiveData = State_Diag%Archive_BudgetMixingLevs, & mapData = State_Diag%Map_BudgetMixingLevs, & diagId = diagId, & diagFlag = 'A', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! High-level logical for mixing budget IF ( State_Diag%Archive_BudgetMixingFull .OR. & State_Diag%Archive_BudgetMixingTrop .OR. & State_Diag%Archive_BudgetMixingPBL .OR. & State_Diag%Archive_BudgetMixingLevs ) THEN State_Diag%Archive_BudgetMixing = .TRUE. ENDIF !----------------------------------------------------------------------- ! Budget for convection (average kg/m2/s across single timestep) !----------------------------------------------------------------------- diagID = 'BudgetConvectionFull' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%BudgetConvectionFull, & archiveData = State_Diag%Archive_BudgetConvectionFull, & mapData = State_Diag%Map_BudgetConvectionFull, & diagId = diagId, & diagFlag = 'A', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Trop-only convection diagID = 'BudgetConvectionTrop' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%BudgetConvectionTrop, & archiveData = State_Diag%Archive_BudgetConvectionTrop, & mapData = State_Diag%Map_BudgetConvectionTrop, & diagId = diagId, & diagFlag = 'A', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! PBL-only convection diagID = 'BudgetConvectionPBL' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%BudgetConvectionPBL, & archiveData = State_Diag%Archive_BudgetConvectionPBL, & mapData = State_Diag%Map_BudgetConvectionPBL, & diagId = diagId, & diagFlag = 'A', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Fixed level range convection diagID = 'BudgetConvectionLevs' // & TRIM( budgetBotLev_str ) // 'to' // TRIM( budgetTopLev_str ) CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%BudgetConvectionLevs, & archiveData = State_Diag%Archive_BudgetConvectionLevs, & mapData = State_Diag%Map_BudgetConvectionLevs, & diagId = diagId, & diagFlag = 'A', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! High-level logical for convection budget IF ( State_Diag%Archive_BudgetConvectionFull .OR. & State_Diag%Archive_BudgetConvectionTrop .OR. & State_Diag%Archive_BudgetConvectionPBL .OR. & State_Diag%Archive_BudgetConvectionLevs ) THEN State_Diag%Archive_BudgetConvection = .TRUE. ENDIF !----------------------------------------------------------------------- ! Budget for chemistry (average kg/m2/s across single timestep) !----------------------------------------------------------------------- diagID = 'BudgetChemistryFull' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%BudgetChemistryFull, & archiveData = State_Diag%Archive_BudgetChemistryFull, & mapData = State_Diag%Map_BudgetChemistryFull, & diagId = diagId, & diagFlag = 'A', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Trop-only chemistry diagID = 'BudgetChemistryTrop' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%BudgetChemistryTrop, & archiveData = State_Diag%Archive_BudgetChemistryTrop, & mapData = State_Diag%Map_BudgetChemistryTrop, & diagId = diagId, & diagFlag = 'A', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! PBL-only chemistry diagID = 'BudgetChemistryPBL' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%BudgetChemistryPBL, & archiveData = State_Diag%Archive_BudgetChemistryPBL, & mapData = State_Diag%Map_BudgetChemistryPBL, & diagId = diagId, & diagFlag = 'A', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Fixed level range chemistry diagID = 'BudgetChemistryLevs' // & TRIM( budgetBotLev_str ) // 'to' // TRIM( budgetTopLev_str ) CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%BudgetChemistryLevs, & archiveData = State_Diag%Archive_BudgetChemistryLevs, & mapData = State_Diag%Map_BudgetChemistryLevs, & diagId = diagId, & diagFlag = 'A', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Set high-level logical for archiving chemistry budget IF ( State_Diag%Archive_BudgetChemistryFull .OR. & State_Diag%Archive_BudgetChemistryTrop .OR. & State_Diag%Archive_BudgetChemistryPBL .OR. & State_Diag%Archive_BudgetChemistryLevs ) THEN State_Diag%Archive_BudgetChemistry = .TRUE. ENDIF !----------------------------------------------------------------------- ! Budget for wet deposition (average kg/m2/s across single timestep) !----------------------------------------------------------------------- diagID = 'BudgetWetDepFull' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%BudgetWetDepFull, & archiveData = State_Diag%Archive_BudgetWetDepFull, & mapData = State_Diag%Map_BudgetWetDepFull, & diagId = diagId, & diagFlag = 'W', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Trop-only wet deposition diagID = 'BudgetWetDepTrop' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%BudgetWetDepTrop, & archiveData = State_Diag%Archive_BudgetWetDepTrop, & mapData = State_Diag%Map_BudgetWetDepTrop, & diagId = diagId, & diagFlag = 'W', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! PBL-only wet deposition diagID = 'BudgetWetDepPBL' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%BudgetWetDepPBL, & archiveData = State_Diag%Archive_BudgetWetDepPBL, & mapData = State_Diag%Map_BudgetWetDepPBL, & diagId = diagId, & diagFlag = 'W', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Fixed level range wet deposition diagID = 'BudgetWetDepLevs' // & TRIM( budgetBotLev_str ) // 'to' // TRIM( budgetTopLev_str ) CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%BudgetWetDepLevs, & archiveData = State_Diag%Archive_BudgetWetDepLevs, & mapData = State_Diag%Map_BudgetWetDepLevs, & diagId = diagId, & diagFlag = 'W', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! High-level logical for wet deposition budget IF ( State_Diag%Archive_BudgetWetDepFull .OR. & State_Diag%Archive_BudgetWetDepTrop .OR. & State_Diag%Archive_BudgetWetDepPBL .OR. & State_Diag%Archive_BudgetWetDepLevs ) THEN State_Diag%Archive_BudgetWetDep = .TRUE. ENDIF !------------------------------------------------------------------------ ! Top and bottom levels for budget level range diagnostics !------------------------------------------------------------------------ IF (State_Diag%Archive_BudgetEmisDryDepLevs .or. & State_Diag%Archive_BudgetTransportLevs .or. & State_Diag%Archive_BudgetMixingLevs .or. & State_Diag%Archive_BudgetConvectionLevs .or. & State_Diag%Archive_BudgetChemistryLevs .or. & State_Diag%Archive_BudgetWetDepLevs ) THEN READ( BudgetTopLev_str, '(i3)') State_Diag%BudgetTopLev_int READ( BudgetBotLev_str, '(i3)') State_Diag%BudgetBotLev_int IF ( ( State_Diag%BudgetBotLev_int <= 0 ) .OR. & ( State_Diag%BudgetBotLev_int > State_Diag%BudgetTopLev_int ) .OR. & ( State_Diag%BudgetTopLev_int > State_Grid%NZ ) ) THEN errMsg = 'Budget diagnostic level range is not valid: ' // & TRIM(BudgetBotLev_str) // ' to ' // & TRIM(BudgetTopLev_str) // '. Check HISTORY.rc.' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF !------------------------------------------------------------------------ ! Total dry deposition flux !------------------------------------------------------------------------ diagID = 'DryDep' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%DryDep, & archiveData = State_Diag%Archive_DryDep, & mapData = State_Diag%Map_DryDep, & diagId = diagId, & diagFlag = 'D', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Satellite Diagnostic: Total dry deposition flux !------------------------------------------------------------------------ diagID = 'SatDiagnDryDep' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%SatDiagnDryDep, & archiveData = State_Diag%Archive_SatDiagnDryDep, & mapData = State_Diag%Map_SatDiagnDryDep, & diagId = diagId, & diagFlag = 'D', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Dry deposition flux from chemistry ! NOTE: Turn on this diagnostic if we are saving total drydep, ! but do not register individual fields unless they are in HISTORY.rc !------------------------------------------------------------------------ ! Check if "DryDep" or "SatDiagnDryDep" diagnostics are in the DiagList CALL Check_DiagList( am_I_Root, Diag_List, 'DryDep', forceDefine, RC ) CALL Check_DiagList( am_I_Root, Diag_List, 'SatDiagnDryDep', found, RC ) forceDefine = ( forceDefine .or. found ) ! Check if the "DryDepChm" diagnostic is also in the DiagList CALL Check_DiagList( am_I_Root, Diag_List, 'DryDepChm', found, RC ) IF ( found ) THEN ! If DryDepMix is in the DiagList, then allocate all corresponding ! State_Diag fields and register the DryDepMix diagnostic diagID = 'DryDepChm' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%DryDepChm, & archiveData = State_Diag%Archive_DryDepChm, & mapData = State_Diag%Map_DryDepChm, & diagId = diagId, & forceDefine = forceDefine, & diagFlag = 'D', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ELSE ! If "DryDep" is registered but "DryDepChm" is not, then initialize ! the State_Diag%DryDepChm fields but do not register the diagnostic. IF ( forceDefine ) THEN CALL Init_NoRegister_DryDepChmMix( State_Diag, RC, Chm=.TRUE. ) ENDIF ENDIF !------------------------------------------------------------------------ ! Dry deposition flux from mixing ! NOTE: Turn on this diagnostic if we are saving total drydep, ! but do not register individual fields unless they are in HISTORY.rc !------------------------------------------------------------------------ ! Check if the "DryDepMix" diagnostic is also in the DiagList CALL Check_DiagList( am_I_Root, Diag_List, 'DryDepMix', found, RC ) IF ( found ) THEN ! If DryDepMix is in the DiagList, then allocate all ! corresponding State_Diag fields and register the diagnostic diagID = 'DryDepMix' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%DryDepMix, & archiveData = State_Diag%Archive_DryDepMix, & mapData = State_Diag%Map_DryDepMix, & forceDefine = forceDefine, & diagId = diagId, & diagFlag = 'D', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ELSE ! If "DryDep" is registered but "DryDepMix" is not, then initialize ! the State_Diag%DryDepMix fields but do not register the diagnostic. IF ( forceDefine ) THEN CALL Init_NoRegister_DryDepChmMix( State_Diag, RC, Mix=.TRUE. ) ENDIF ENDIF !----------------------------------------------------------------------- ! Dry deposition velocity !----------------------------------------------------------------------- diagID = 'DryDepVel' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%DryDepVel, & archiveData = State_Diag%Archive_DryDepVel, & mapData = State_Diag%Map_DryDepVel, & diagId = diagId, & diagFlag = 'D', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !----------------------------------------------------------------------- ! Satellite Diagnostic: Dry deposition velocity !----------------------------------------------------------------------- diagID = 'SatDiagnDryDepVel' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%SatDiagnDryDepVel, & archiveData = State_Diag%Archive_SatDiagnDryDepVel, & mapData = State_Diag%Map_SatDiagnDryDepVel, & diagId = diagId, & diagFlag = 'D', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !----------------------------------------------------------------------- ! Surface types !----------------------------------------------------------------------- diagID = 'IsWater' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%IsWater, & archiveData = State_Diag%Archive_SfcType, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF diagID = 'IsLand' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%IsLand, & archiveData = State_Diag%Archive_SfcType, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF diagID = 'IsIce' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%IsIce, & archiveData = State_Diag%Archive_SfcType, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF diagID = 'IsSnow' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%IsSnow, & archiveData = State_Diag%Archive_SfcType, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF #ifdef MODEL_GEOS !----------------------------------------------------------------------- ! Monin-Obukhov length !----------------------------------------------------------------------- diagID = 'MoninObukhov' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%MoninObukhov, & archiveData = State_Diag%Archive_MoninObukhov, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !----------------------------------------------------------------------- ! Bry !----------------------------------------------------------------------- diagID = 'Bry' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%Bry, & archiveData = State_Diag%Archive_Bry, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !----------------------------------------------------------------------- ! NOy !----------------------------------------------------------------------- diagID = 'NOy' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%NOy, & archiveData = State_Diag%Archive_NOy, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !----------------------------------------------------------------------- ! Cly !----------------------------------------------------------------------- diagID = 'Cly' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%Cly, & archiveData = State_Diag%Archive_Cly, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !----------------------------------------------------------------------- ! OrganicCl !----------------------------------------------------------------------- diagID = 'OrganicCl' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%OrganicCl, & archiveData = State_Diag%Archive_OrganicCl, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !----------------------------------------------------------------------- ! O3_MASS !----------------------------------------------------------------------- diagID = 'O3_MASS' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%O3_MASS, & archiveData = State_Diag%Archive_O3_MASS, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !----------------------------------------------------------------------- ! GCCTO3 !----------------------------------------------------------------------- diagID = 'GCCTO3' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%GCCTO3, & archiveData = State_Diag%Archive_GCCTO3, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !----------------------------------------------------------------------- ! GCCTTO3 !----------------------------------------------------------------------- diagID = 'GCCTTO3' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%GCCTTO3, & archiveData = State_Diag%Archive_GCCTTO3, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !----------------------------------------------------------------------- ! CHEMTOP !----------------------------------------------------------------------- diagID = 'CHEMTOP' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%CHEMTOP, & archiveData = State_Diag%Archive_CHEMTOP, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !----------------------------------------------------------------------- ! CHEMTROPP !----------------------------------------------------------------------- diagID = 'CHEMTROPP' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%CHEMTROPP, & archiveData = State_Diag%Archive_CHEMTROPP, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !----------------------------------------------------------------------- ! CONVCLDTOP !----------------------------------------------------------------------- diagID = 'CONVCLDTOP' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%CONVCLDTOP, & archiveData = State_Diag%Archive_CONVCLDTOP, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF #endif !----------------------------------------------------------------------- ! Zonal Advective Flux (east positive) !----------------------------------------------------------------------- diagID = 'AdvFluxZonal' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%AdvFluxZonal, & archiveData = State_Diag%Archive_AdvFluxZonal, & mapData = State_Diag%Map_AdvFluxZonal, & diagId = diagId, & diagFlag = 'A', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !----------------------------------------------------------------------- ! Meridional Advective Flux (south positive) !----------------------------------------------------------------------- diagID = 'AdvFluxMerid' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%AdvFluxMerid, & archiveData = State_Diag%Archive_AdvFluxMerid, & mapData = State_Diag%Map_AdvFluxMerid, & diagId = diagId, & diagFlag = 'A', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !----------------------------------------------------------------------- ! Vertical Advective Flux (downwards positive) !----------------------------------------------------------------------- diagID = 'AdvFluxVert' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%AdvFluxVert, & archiveData = State_Diag%Archive_AdvFluxVert, & mapData = State_Diag%Map_AdvFluxVert, & diagId = diagId, & diagFlag = 'A', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !----------------------------------------------------------------------- ! Fraction of BL occupied by level L !----------------------------------------------------------------------- diagID = 'PBLMixFrac' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%PBLMixFrac, & archiveData = State_Diag%Archive_PBLMixFrac, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !----------------------------------------------------------------------- ! Mass change due to boundary layer mixing !----------------------------------------------------------------------- diagID = 'PBLFlux' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%PBLFlux, & archiveData = State_Diag%Archive_PBLFlux, & mapData = State_Diag%Map_PblFlux, & diagId = diagId, & diagFlag = 'A', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !----------------------------------------------------------------------- ! Mass change due to cloud convection !----------------------------------------------------------------------- diagID = 'CloudConvFlux' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%CloudConvFlux, & archiveData = State_Diag%Archive_CloudConvFlux, & mapData = State_Diag%Map_CloudConvFlux, & diagId = diagId, & diagFlag = 'A', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !----------------------------------------------------------------------- ! Fraction of soluble species lost in convective updrafts !----------------------------------------------------------------------- diagID = 'WetLossConvFrac' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%WetLossConvFrac, & archiveData = State_Diag%Archive_WetLossConvFrac, & mapData = State_Diag%Map_WetLossConvFrac, & diagId = diagId, & diagFlag = 'W', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !----------------------------------------------------------------------- ! Loss of soluble species in convective updrafts !----------------------------------------------------------------------- diagID = 'WetLossConv' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%WetLossConv, & archiveData = State_Diag%Archive_WetLossConv, & mapData = State_Diag%Map_WetLossConv, & diagId = diagId, & diagFlag = 'W', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !----------------------------------------------------------------------- ! Satellite Diagnostics: Loss of soluble species in convective updrafts !----------------------------------------------------------------------- diagID = 'SatDiagnWetLossConv' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%SatDiagnWetLossConv, & archiveData = State_Diag%Archive_SatDiagnWetLossConv, & mapData = State_Diag%Map_SatDiagnWetLossConv, & diagId = diagId, & diagFlag = 'W', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !----------------------------------------------------------------------- ! Loss of solutble species in large-scale rainout/washout !----------------------------------------------------------------------- diagID = 'WetLossLS' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%WetLossLS, & archiveData = State_Diag%Archive_WetLossLS, & mapData = State_Diag%Map_WetLossLS, & diagId = diagId, & diagFlag = 'W', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !----------------------------------------------------------------------- ! SatDiagn: Loss of soluble species in large-scale rainout/washout !----------------------------------------------------------------------- diagID = 'SatDiagnWetLossLS' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%SatDiagnWetLossLS, & archiveData = State_Diag%Archive_SatDiagnWetLossLS, & mapData = State_Diag%Map_SatDiagnWetLossLS, & diagId = diagId, & diagFlag = 'W', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !### Comment out these diagnostics for now (bmy, 6/2/20) !### !----------------------------------------------------------------------- !### ! Fraction of grid box undergoing large-scale precipitation !### !----------------------------------------------------------------------- !### arrayID = 'State_Diag%PrecipFracLS' !### diagID = 'PrecipFracLS' !### CALL Check_DiagList( am_I_Root, Diag_List, diagID, Found, RC ) !### IF ( Found ) THEN !### IF ( am_I_Root ) WRITE(6,20) ADJUSTL( arrayID ), TRIM( diagID ) !### ALLOCATE( State_Diag%PrecipFracLS( IM, JM, LM ), STAT=RC ) !### CALL GC_CheckVar( arrayID, 0, RC ) !### IF ( RC /= GC_SUCCESS ) RETURN !### State_Diag%PrecipFracLS = 0.0_f4 !### State_Diag%Archive_PrecipFracLS = .TRUE. !### CALL Register_DiagField( Input_Opt, diagID, State_Diag%PrecipFracLS, & !### State_Chm, State_Diag, RC ) !### IF ( RC /= GC_SUCCESS ) RETURN !### ENDIF !### !### !----------------------------------------------------------------------- !### ! Fraction of soluble species lost to rainout in large-scale precip !### !----------------------------------------------------------------------- !### arrayID = 'State_Diag%RainFracLS' !### diagID = 'RainFracLS' !### CALL Check_DiagList( am_I_Root, Diag_List, diagID, Found, RC ) !### IF ( Found ) THEN !### IF ( am_I_Root ) WRITE(6,20) ADJUSTL( arrayID ), TRIM( diagID ) !### ALLOCATE( State_Diag%RainFracLS( IM, JM, LM, nWetDep ), STAT=RC ) !### CALL GC_CheckVar( arrayID, 0, RC ) !### IF ( RC /= GC_SUCCESS ) RETURN !### State_Diag%RainFracLS = 0.0_f4 !### State_Diag%Archive_RainFracLS = .TRUE. !### CALL Register_DiagField( Input_Opt, diagID, State_Diag%RainFracLS, & !### State_Chm, State_Diag, RC ) !### IF ( RC /= GC_SUCCESS ) RETURN !### ENDIF !### !### !----------------------------------------------------------------------- !### ! Fraction of soluble species lost to washout in large-scale precip !### !----------------------------------------------------------------------- !### arrayID = 'State_Diag%WashFracLS' !### diagID = 'WashFracLS' !### CALL Check_DiagList( am_I_Root, Diag_List, diagID, Found, RC ) !### IF ( Found ) THEN !### IF ( am_I_Root ) WRITE(6,20) ADJUSTL( arrayID ), TRIM( diagID ) !### ALLOCATE( State_Diag%WashFracLS( IM, JM, LM, nWetDep ), STAT=RC ) !### CALL GC_CheckVar( arrayID, 0, RC ) !### IF ( RC /= GC_SUCCESS ) RETURN !### State_Diag%WashFracLS = 0.0_f4 !### State_Diag%Archive_WashFracLS = .TRUE. !### CALL Register_DiagField( Input_Opt, diagID, State_Diag%WashFracLS, & !### State_Chm, State_Diag, RC ) !### IF ( RC /= GC_SUCCESS ) RETURN !### ENDIF !======================================================================= ! The following diagnostic quantities are only relevant for: ! ! THE TransportTracers SPECIALTY SIMULATION !======================================================================= IF ( Input_Opt%ITS_A_TRACER_SIM ) THEN !-------------------------------------------------------------------- ! Emission of Pb210 from Rn222 decay !-------------------------------------------------------------------- diagID = 'PbFromRnDecay' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%PbFromRnDecay, & archiveData = State_Diag%Archive_PbFromRnDecay, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Radioactive decay of Rn, Pb, Be7, and Be10 !-------------------------------------------------------------------- diagID = 'RadDecay' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%RadDecay, & archiveData = State_Diag%Archive_RadDecay, & mapData = State_Diag%Map_RadDecay, & diagId = diagId, & diagFlag = 'N', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ELSE !------------------------------------------------------------------- ! Halt with an error message if any of the following quantities ! have been requested as diagnostics in simulations other than ! the TransportTracers simulation. ! ! This will prevent potential errors caused by the quantities ! being requested as diagnostic output when the corresponding ! array has not been allocated. !------------------------------------------------------------------- DO N = 1, 2 ! Select the diagnostic ID SELECT CASE( N ) CASE( 1 ) diagID = 'PbFromRnDecay' CASE( 2 ) diagID = 'RadDecay' END SELECT ! Exit if any of the above are in the diagnostic list CALL Check_DiagList( am_I_Root, Diag_List, diagID, Found, RC ) IF ( Found ) THEN ErrMsg = TRIM( diagId ) // ' is a requested diagnostic, ' // & 'but this is only appropriate for TransportTracers '// & 'simulations.' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDDO ENDIF !------------------------------------------------------------------------ ! Satellite diagnostic: Advected species concentrations !------------------------------------------------------------------------ diagId = 'SatDiagnConc' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%SatDiagnConc, & archiveData = State_Diag%Archive_SatDiagnConc, & mapData = State_Diag%Map_SatDiagnConc, & diagId = diagId, & diagFlag = 'S', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Satellite diagnostic: Column Emissions [kg/m2/s] for Advected Species ! From Surface to Maximum Vertical Level !------------------------------------------------------------------------ diagId = 'SatDiagnColEmis' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%SatDiagnColEmis, & archiveData = State_Diag%Archive_SatDiagnColEmis, & mapData = State_Diag%Map_SatDiagnColEmis, & diagId = diagId, & diagFlag = 'A', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Satellite diagnostic: Total Surface Fluxes [kg/m2/s] ! [eflx (emis)- dflx (drydep)] ! From Surface to Top of the PBL; For Advected Species !------------------------------------------------------------------------ diagId = 'SatDiagnSurfFlux' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%SatDiagnSurfFlux, & archiveData = State_Diag%Archive_SatDiagnSurfFlux, & mapData = State_Diag%Map_SatDiagnSurfFlux, & diagId = diagId, & diagFlag = 'A', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Satellite diagnostic: OH number density !------------------------------------------------------------------------ diagId = 'SatDiagnOH' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%SatDiagnOH, & archiveData = State_Diag%Archive_SatDiagnOH, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Satellite diagnostic: Relative humidity (RH) !------------------------------------------------------------------------ diagId = 'SatDiagnRH' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%SatDiagnRH, & archiveData = State_Diag%Archive_SatDiagnRH, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Satellite diagnostic: Air density (AirDen) !------------------------------------------------------------------------ diagId = 'SatDiagnAirDen' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%SatDiagnAirDen, & archiveData = State_Diag%Archive_SatDiagnAirDen, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Satellite diagnostic: Box height (BoxHeight) !------------------------------------------------------------------------ diagId = 'SatDiagnBoxHeight' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%SatDiagnBoxHeight, & archiveData = State_Diag%Archive_SatDiagnBoxHeight, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Satellite diagnostic: Pressure edges (PEDGE) !------------------------------------------------------------------------ diagId = 'SatDiagnPEdge' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%SatDiagnPEdge, & archiveData = State_Diag%Archive_SatDiagnPEdge, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Satellite diagnostic: Pressure @ midpoint of layer (PMID) !------------------------------------------------------------------------ diagId = 'SatDiagnPMid' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%SatDiagnPMid, & archiveData = State_Diag%Archive_SatDiagnPMid, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Satellite diagnostic: Tropopause pressure (TROPP) !------------------------------------------------------------------------ diagId = 'SatDiagnTROPP' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%SatDiagnTROPP, & archiveData = State_Diag%Archive_SatDiagnTROPP, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Satellite diagnostic: Tropopause level (TropLev) !------------------------------------------------------------------------ diagId = 'SatDiagnTropLev' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%SatDiagnTropLev, & archiveData = State_Diag%Archive_SatDiagnTropLev, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Satellite diagnostic: PBL Height (m) !------------------------------------------------------------------------ diagId = 'SatDiagnPBLHeight' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%SatDiagnPBLHeight, & archiveData = State_Diag%Archive_SatDiagnPBLHeight, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Satellite diagnostic: PBL Height (m) !------------------------------------------------------------------------ diagId = 'SatDiagnPBLTop' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%SatDiagnPBLTop, & archiveData = State_Diag%Archive_SatDiagnPBLTop, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Satellite diagnostic: Air temperature (K) !------------------------------------------------------------------------ diagId = 'SatDiagnTAir' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%SatDiagnTAir, & archiveData = State_Diag%Archive_SatDiagnTAir, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Satellite diagnostic: Cloud top fraction (unitless) !------------------------------------------------------------------------ diagId = 'SatDiagnCldFrac' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%SatDiagnCldFrac, & archiveData = State_Diag%Archive_SatDiagnCldFrac, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Satellite diagnostic: Cloud top pressure (hPa) !------------------------------------------------------------------------ diagId = 'SatDiagnCldTopP' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%SatDiagnCldTopP, & archiveData = State_Diag%Archive_SatDiagnCldTopP, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Satellite diagnostic: Root Zone Soil Moisture (or Wetness): GWETROOT !------------------------------------------------------------------------ diagId = 'SatDiagnGWETROOT' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%SatDiagnGWETROOT, & archiveData = State_Diag%Archive_SatDiagnGWETROOT, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Satellite diagnostic: Topsoil Moisture (or Wetness): GWETTOP !------------------------------------------------------------------------ diagId = 'SatDiagnGWETTOP' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%SatDiagnGWETTOP, & archiveData = State_Diag%Archive_SatDiagnGWETTOP, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Satellite diagnostic: Direct Photosynthetically Active Radiation [W/m2] !------------------------------------------------------------------------ diagId = 'SatDiagnPARDR' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%SatDiagnPARDR, & archiveData = State_Diag%Archive_SatDiagnPARDR, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Satellite diagnostic: Diffuse Photosynthetically Active Radiation [W/m2] !------------------------------------------------------------------------ diagId = 'SatDiagnPARDF' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%SatDiagnPARDF, & archiveData = State_Diag%Archive_SatDiagnPARDF, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Satellite diagnostic: Total Precipitation (at surface) [mm/day]: PRECTOT !------------------------------------------------------------------------ diagId = 'SatDiagnPRECTOT' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%SatDiagnPRECTOT, & archiveData = State_Diag%Archive_SatDiagnPRECTOT, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Satellite diagnostic: Sea Level Pressure [hPa] !------------------------------------------------------------------------ diagId = 'SatDiagnSLP' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%SatDiagnSLP, & archiveData = State_Diag%Archive_SatDiagnSLP, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Satellite diagnostic: Specific Humidity Interpolated to Current Time [g H2O/kg air] !------------------------------------------------------------------------ diagId = 'SatDiagnSPHU' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%SatDiagnSPHU, & archiveData = State_Diag%Archive_SatDiagnSPHU, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Satellite diagnostic: Surface Temperature at 2m [K] !------------------------------------------------------------------------ diagId = 'SatDiagnTS' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%SatDiagnTS, & archiveData = State_Diag%Archive_SatDiagnTS, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Satellite diagnostic: PBL Top Height [Levels] !------------------------------------------------------------------------ diagId = 'SatDiagnPBLTOPL' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%SatDiagnPBLTOPL, & archiveData = State_Diag%Archive_SatDiagnPBLTOPL, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Satellite diagnostic: MODIS Daily LAI [m2/m2] !------------------------------------------------------------------------ diagId = 'SatDiagnMODISLAI' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%SatDiagnMODISLAI, & archiveData = State_Diag%Archive_SatDiagnMODISLAI, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Set logicals for SatDiagn and/or SatDiagnEdge output ! For ease of comparison, place fields in alphabetical order !------------------------------------------------------------------------ State_Diag%Archive_SatDiagn = ( & State_Diag%Archive_SatDiagnAirDen .or. & State_Diag%Archive_SatDiagnBoxHeight .or. & State_Diag%Archive_SatDiagnColEmis .or. & State_Diag%Archive_SatDiagnConc .or. & State_Diag%Archive_SatDiagnDryDep .or. & State_Diag%Archive_SatDiagnDryDepVel .or. & State_Diag%Archive_SatDiagnTROPP .or. & State_Diag%Archive_SatDiagnTropLev .or. & State_Diag%Archive_SatDiagnPBLHeight .or. & State_Diag%Archive_SatDiagnPBLTop .or. & State_Diag%Archive_SatDiagnTAir .or. & State_Diag%Archive_SatDiagnCldFrac .or. & State_Diag%Archive_SatDiagnCldTopP .or. & State_Diag%Archive_SatDiagnGWETROOT .or. & State_Diag%Archive_SatDiagnGWETTOP .or. & State_Diag%Archive_SatDiagnJval .or. & State_Diag%Archive_SatDiagnJvalO3O1D .or. & State_Diag%Archive_SatDiagnJvalO3O3P .or. & State_Diag%Archive_SatDiagnLoss .or. & State_Diag%Archive_SatDiagnMODISLAI .or. & State_Diag%Archive_SatDiagnOH .or. & State_Diag%Archive_SatDiagnOHreactivity .or. & State_Diag%Archive_SatDiagnPARDF .or. & State_Diag%Archive_SatDiagnPARDR .or. & State_Diag%Archive_SatDiagnPBLHeight .or. & State_Diag%Archive_SatDiagnPBLTop .or. & State_Diag%Archive_SatDiagnPBLTopL .or. & State_Diag%Archive_SatDiagnPMID .or. & State_Diag%Archive_SatDiagnPRECTOT .or. & State_Diag%Archive_SatDiagnProd .or. & State_Diag%Archive_SatDiagnRH .or. & State_Diag%Archive_SatDiagnRxnRate .or. & State_Diag%Archive_SatDiagnSLP .or. & State_Diag%Archive_SatDiagnSPHU .or. & State_Diag%Archive_SatDiagnSurfFlux .or. & State_Diag%Archive_SatDiagnTROPP .or. & State_Diag%Archive_SatDiagnTS .or. & State_Diag%Archive_SatDiagnWetLossLS .or. & State_Diag%Archive_SatDiagnWetLossConv ) State_Diag%Archive_SatDiagnEdge = ( & State_Diag%Archive_SatDiagnPEdge ) !------------------------------------------------------------------------ ! Satellite diagnostic: Counters !------------------------------------------------------------------------ IF ( State_Diag%Archive_SatDiagn ) THEN ALLOCATE( State_Diag%SatDiagnCount( State_Grid%NX, & State_Grid%NY, & State_Grid%NZ ), STAT=RC ) CALL GC_CheckVar( 'State_Diag%SatDiagnCount', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Diag%SatDiagnCount = 0.0_f4 State_Diag%Archive_SatDiagnCount = .TRUE. ENDIF IF ( State_Diag%Archive_SatDiagnEdge ) THEN ALLOCATE( State_Diag%SatDiagnEdgeCount( State_Grid%NX, & State_Grid%NY, & State_Grid%NZ+1 ), STAT=RC ) CALL GC_CheckVar( 'State_Diag%SatDiagnEdgeCount', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Diag%SatDiagnEdgeCount = 0.0_f4 State_Diag%Archive_SatDiagnEdgeCount = .TRUE. ENDIF !======================================================================= ! The following diagnostic quantities are only relevant for: ! ! THE RRTMG RADIATIVE TRANSFER SPECIALTY SIMULATION !======================================================================= IF ( Input_Opt%LRAD ) THEN !-------------------------------------------------------------------- ! RRTMG: Define index arrays !-------------------------------------------------------------------- ! Number of requested RRTMG outputs (tags) State_Diag%nRadOut = nRadOut ! Exit if no outputs have been selected IF ( State_Diag%nRadOut == 0 ) THEN ErrMsg = 'No RRTMG diagnostic outputs have been requested!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Array to contain the RRTMG indices for each requested output ALLOCATE( State_Diag%RadOutInd( State_Diag%nRadOut ), STAT=RC ) CALL GC_CheckVar( 'State_Diag%RadOutInd', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ! Array to contain the names of each requested output ALLOCATE( State_Diag%RadOutName( State_Diag%nRadOut ), STAT=RC ) CALL GC_CheckVar( 'State_Diag%RadOutName', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ! Populate the index arrays for RRTMG CALL Init_RRTMG_Indices( Input_Opt, State_Diag, RC ) IF ( RC /= GC_SUCCESS ) RETURN !-------------------------------------------------------------------- ! RRTMG: All-sky LW rad @ surface !-------------------------------------------------------------------- diagID = 'RadAllSkyLWSurf' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%RadAllSkyLWSurf, & archiveData = State_Diag%Archive_RadAllSkyLWSurf, & diagId = diagId, & diagFlag = 'Z', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! RRTMG: All-sky LW rad @ atm top !-------------------------------------------------------------------- diagID = 'RadAllSkyLWTOA' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%RadAllSkyLWTOA, & archiveData = State_Diag%Archive_RadAllSkyLWTOA, & diagId = diagId, & diagFlag = 'Z', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! RRTMG: All-sky LW rad @ tropopause !-------------------------------------------------------------------- diagID = 'RadAllSkyLWTrop' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%RadAllSkyLWTrop, & archiveData = State_Diag%Archive_RadAllSkyLWTrop, & diagId = diagId, & diagFlag = 'Z', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! RRTMG: All-sky SW rad @ surface !-------------------------------------------------------------------- diagID = 'RadAllSkySWSurf' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%RadAllSkySWSurf, & archiveData = State_Diag%Archive_RadAllSkySWSurf, & diagId = diagId, & diagFlag = 'Z', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! RRTMG: All-sky SW rad @ atm top !-------------------------------------------------------------------- diagID = 'RadAllSkySWTOA' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%RadAllSkySWTOA, & archiveData = State_Diag%Archive_RadAllSkySWTOA, & diagId = diagId, & diagFlag = 'Z', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! RRTMG: All-sky SW rad @ tropopause !-------------------------------------------------------------------- diagID = 'RadAllSkySWTrop' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%RadAllSkySWTrop, & archiveData = State_Diag%Archive_RadAllSkySWTrop, & diagId = diagId, & diagFlag = 'Z', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! RRTMG: Clear-sky SW rad @ surface !-------------------------------------------------------------------- diagID = 'RadClrSkyLWSurf' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%RadClrSkyLWSurf, & archiveData = State_Diag%Archive_RadClrSkyLWSurf, & diagId = diagId, & diagFlag = 'Z', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! RRTMG: Clear-sky LW rad @ atm top !-------------------------------------------------------------------- diagID = 'RadClrSkyLWTOA' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%RadClrSkyLWTOA, & archiveData = State_Diag%Archive_RadClrSkyLWTOA, & diagId = diagId, & diagFlag = 'Z', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! RRTMG: Clear-sky LW rad @ tropopause !-------------------------------------------------------------------- diagID = 'RadClrSkyLWTrop' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%RadClrSkyLWTrop, & archiveData = State_Diag%Archive_RadClrSkyLWTrop, & diagId = diagId, & diagFlag = 'Z', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! RRTMG: Clear-sky SW rad @ surface !-------------------------------------------------------------------- diagID = 'RadClrSkySWSurf' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%RadClrSkySWSurf, & archiveData = State_Diag%Archive_RadClrSkySWSurf, & diagId = diagId, & diagFlag = 'Z', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! RRTMG: Clear-sky SW rad @ atm top !-------------------------------------------------------------------- diagID = 'RadClrSkySWTOA' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%RadClrSkySWTOA, & archiveData = State_Diag%Archive_RadClrSkySWTOA, & diagId = diagId, & diagFlag = 'Z', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! RRTMG: Clear-sky SW rad @ tropopause !-------------------------------------------------------------------- diagID = 'RadClrSkySWTrop' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%RadClrSkySWTrop, & archiveData = State_Diag%Archive_RadClrSkySWTrop, & diagId = diagId, & diagFlag = 'Z', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! RRTMG: Aerosol optical depth per wavelength !-------------------------------------------------------------------- TmpWL = RadWL(1) ! Workaround for ifort 17 diagID = 'RadAOD' // TRIM( TmpWL ) // 'nm' ! to avoid seg faults CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%RadAODWL1, & archiveData = State_Diag%Archive_RadAODWL1, & diagId = diagId, & diagFlag = 'Z', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF TmpWL = RadWL(2) ! Workaround for ifort 17 diagID = 'RadAOD' // TRIM( TmpWL ) // 'nm' ! to avoid seg faults CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%RadAODWL2, & archiveData = State_Diag%Archive_RadAODWL2, & diagId = diagId, & diagFlag = 'Z', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF TmpWL = RadWL(3) ! Workaround for ifort 17 diagID = 'RadAOD' // TRIM( TmpWL ) // 'nm' ! to avoid seg faults CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%RadAODWL3, & archiveData = State_Diag%Archive_RadAODWL3, & diagId = diagId, & diagFlag = 'Z', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! RRTMG: Single scattering albedo per wavelength !-------------------------------------------------------------------- TmpWL = RadWL(1) ! Workaround for ifort 17 diagID = 'RadSSA' // TRIM( TmpWL ) // 'nm' ! to avoid seg faults CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%RadSSAWL1, & archiveData = State_Diag%Archive_RadSSAWL1, & diagId = diagId, & diagFlag = 'Z', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF TmpWL = RadWL(2) ! Workaround for ifort 17 diagID = 'RadSSA' // TRIM( TmpWL ) // 'nm' ! to avoid seg faults CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%RadSSAWL2, & archiveData = State_Diag%Archive_RadSSAWL2, & diagId = diagId, & diagFlag = 'Z', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF TmpWL = RadWL(3) ! Workaround for ifort 17 diagID = 'RadSSA' // TRIM( TmpWL ) // 'nm' ! to avoid seg faults CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%RadSSAWL3, & archiveData = State_Diag%Archive_RadSSAWL3, & diagId = diagId, & diagFlag = 'Z', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! RRTMG: Asymmetry parameter per wavelength !-------------------------------------------------------------------- TmpWL = RadWL(1) ! Workaround for ifort 17 diagID = 'RadAsym' // TRIM( TmpWL ) // 'nm' ! to avoid seg faults CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%RadAsymWL1, & archiveData = State_Diag%Archive_RadAsymWL1, & diagId = diagId, & diagFlag = 'Z', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF TmpWL = RadWL(2) ! Workaround for ifort 17 diagID = 'RadAsym' // TRIM( TmpWL ) // 'nm' ! to avoid seg faults CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%RadAsymWL2, & archiveData = State_Diag%Archive_RadAsymWL2, & diagId = diagId, & diagFlag = 'Z', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF TmpWL = RadWL(3) ! Workaround for ifort 17 diagID = 'RadAsym' // TRIM( TmpWL ) // 'nm' ! to avoid seg faults CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%RadAsymWL3, & archiveData = State_Diag%Archive_RadAsymWL3, & diagId = diagId, & diagFlag = 'Z', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF diagID = 'DynHeating' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%DynHeating, & archiveData = State_Diag%Archive_DynHeating, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF diagID = 'DTRad' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%DTRad, & archiveData = State_Diag%Archive_DTRad, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ELSE !------------------------------------------------------------------- ! Halt with an error message if any of the following quantities ! have been requested as diagnostics in simulations other than ! the RRTMG radiatve transfer model. ! ! This will prevent potential errors caused by the quantities ! being requested as diagnostic output when the corresponding ! array has not been allocated. !------------------------------------------------------------------- DO N = 1, 23 ! Select the diagnostic ID SELECT CASE( N ) CASE( 1 ) diagID = 'RadAllSkyLWSurf' CASE( 2 ) diagID = 'RadAllSkyLWTOA' CASE( 3 ) diagID = 'RadAllSkyLWTrop' CASE( 4 ) diagID = 'RadAllSkySWSurf' CASE( 5 ) diagID = 'RadAllSkySWTOA' CASE( 6 ) diagID = 'RadAllSkySWTrop' CASE( 7 ) diagID = 'RadClrSkyLWSurf' CASE( 8 ) diagID = 'RadClrSkyLWTOA' CASE( 9 ) diagID = 'RadClrSkyLWTrop' CASE( 10 ) diagID = 'RadClrSkySWSurf' CASE( 11 ) diagID = 'RadClrSkySWTOA' CASE( 12 ) diagID = 'RadClrSkySWTrop' CASE( 13 ) TmpWL = RadWL(1) diagID = 'RadAOD' // TRIM( TmpWL ) // 'nm' CASE( 14 ) TmpWL = RadWL(2) diagID = 'RadAOD' // TRIM( TmpWL ) // 'nm' CASE( 15 ) TmpWL = RadWL(3) diagID = 'RadAOD' // TRIM( TmpWL ) // 'nm' CASE( 16 ) TmpWL = RadWL(1) diagID = 'RadSSA' // TRIM( TmpWL ) // 'nm' CASE( 17 ) TmpWL = RadWL(2) diagID = 'RadSSA' // TRIM( TmpWL ) // 'nm' CASE( 18 ) TmpWL = RadWL(3) diagID = 'RadSSA' // TRIM( TmpWL ) // 'nm' CASE( 19 ) TmpWL = RadWL(1) diagID = 'RadAsym' // TRIM( TmpWL ) // 'nm' CASE( 20 ) TmpWL = RadWL(2) diagID = 'RadAsym' // TRIM( TmpWL ) // 'nm' CASE( 21 ) TmpWL = RadWL(3) diagID = 'RadAsym' // TRIM( TmpWL ) // 'nm' CASE( 22 ) diagID = 'DynHeating' CASE( 23 ) diagID = 'DTRad' END SELECT ! Exit if any of the above are in the diagnostic list CALL Check_DiagList( am_I_Root, Diag_List, diagID, Found, RC ) IF ( Found ) THEN ErrMsg = TRIM( diagId ) // ' is a requested diagnostic, ' // & 'but this is only appropriate for simulations ' // & 'with the RRTMG radiative transfer model.' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDDO ENDIF !======================================================================= ! The following diagnostic quantities are only relevant for ! simulations using KPP-generated mechanism code, that is: ! ! ALL FULL-CHEMISTRY SIMULATIONS ! MERCURY SIMULATION ! CARBON GASES SIMULATION !======================================================================= IF ( Input_Opt%ITS_A_FULLCHEM_SIM .or. & Input_Opt%ITS_A_MERCURY_SIM .or. & Input_Opt%ITS_A_CARBON_SIM ) THEN !-------------------------------------------------------------------- ! KPP Reaction Rates !-------------------------------------------------------------------- diagID = 'RxnRate' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%RxnRate, & archiveData = State_Diag%Archive_RxnRate, & mapData = State_Diag%Map_RxnRate, & diagId = diagId, & diagFlag = 'R', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Satellite Diagnostic: KPP Reaction Rates !-------------------------------------------------------------------- diagID = 'SatDiagnRxnRate' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%SatDiagnRxnRate, & archiveData = State_Diag%Archive_SatDiagnRxnRate, & mapData = State_Diag%Map_SatDiagnRxnRate, & diagId = diagId, & diagFlag = 'R', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! KPP Reaction Rate Constants !-------------------------------------------------------------------- diagID = 'RxnConst' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%RxnConst, & archiveData = State_Diag%Archive_RxnConst, & mapData = State_Diag%Map_RxnConst, & diagId = diagId, & diagFlag = 'R', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Number of KPP Integrations per grid box !------------------------------------------------------------------- diagID = 'KppIntCounts' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%KppIntCounts, & archiveData = State_Diag%Archive_KppIntCounts, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Number of times KPP updated the Jacobian per grid box !------------------------------------------------------------------- diagID = 'KppJacCounts' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%KppJacCounts, & archiveData = State_Diag%Archive_KppJacCounts, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Number of KPP total internal integration time steps !------------------------------------------------------------------- diagID = 'KppTotSteps' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%KppTotSteps, & archiveData = State_Diag%Archive_KppTotSteps, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Number of KPP accepted internal integration time steps !------------------------------------------------------------------- diagID = 'KppAccSteps' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%KppAccSteps, & archiveData = State_Diag%Archive_KppAccSteps, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Number of KPP rejected internal integration time steps !------------------------------------------------------------------- diagID = 'KppRejSteps' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%KppRejSteps, & archiveData = State_Diag%Archive_KppRejSteps, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Number of KPP LU Decompositions !------------------------------------------------------------------- diagID = 'KppLuDecomps' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%KppLuDecomps, & archiveData = State_Diag%Archive_KppLuDecomps, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Number of KPP substitutions (forward and backward) !------------------------------------------------------------------- diagID = 'KppSubsts' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%KppSubsts, & archiveData = State_Diag%Archive_KppSubsts, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Number of KPP singular matrix decompositions !------------------------------------------------------------------- diagID = 'KppSmDecomps' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%KppSmDecomps, & archiveData = State_Diag%Archive_KppsmDecomps, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Number of negative concentrations after KPP integration !------------------------------------------------------------------- diagID = 'KppNegatives' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%KppNegatives, & archiveData = State_Diag%Archive_KppNegatives, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Number of negative concentrations after first KPP integration try !------------------------------------------------------------------- diagID = 'KppNegatives0' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%KppNegatives0, & archiveData = State_Diag%Archive_KppNegatives0, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! AR only -- Number of species in reduced mechanism (NVAR - NRMV) !------------------------------------------------------------------- diagID = 'KppAutoReducerNVAR' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%KppAutoReducerNVAR, & archiveData = State_Diag%Archive_KppAutoReducerNVAR, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! AR only -- Computed reduction threshold (molec cm-3 s-1) !------------------------------------------------------------------- diagID = 'KppAutoReduceThres' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%KppAutoReduceThres, & archiveData = State_Diag%Archive_KppAutoReduceThres, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! AR only -- Number of nonzero entries in LU decomp (cNONZERO) !------------------------------------------------------------------- diagID = 'KppcNONZERO' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%KppcNONZERO, & archiveData = State_Diag%Archive_KppcNONZERO, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! CPU time spent in grid box for KPP !------------------------------------------------------------------- diagID = 'KppTime' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%KppTime, & archiveData = State_Diag%Archive_KppTime, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ELSE !------------------------------------------------------------------- ! Halt with an error message if any of the following quantities ! have been requested as diagnostics in simulations other than ! full-chemistry simulations. ! ! This will prevent potential errors caused by the quantities ! being requested as diagnostic output when the corresponding ! array has not been allocated. !------------------------------------------------------------------- DO N = 1, 17 ! Select the diagnostic ID SELECT CASE( N ) CASE( 1 ) diagID = 'RxnRate' CASE( 2 ) diagID = 'SatDiagnRxnRate' CASE( 3 ) diagID = 'RxnConst' CASE( 4 ) diagID = 'KppIntCounts' CASE( 5 ) diagID = 'KppJacCounts' CASE( 6 ) diagID = 'KppTotSteps' CASE( 7 ) diagID = 'KppAccSteps' CASE( 8 ) diagID = 'KppRejSteps' CASE( 9 ) diagID = 'KppLuDecomps' CASE( 10 ) diagID = 'KppSubsts' CASE( 11 ) diagID = 'KppSmDecomps' CASE( 12 ) diagID = 'KppNegatives' CASE( 13 ) diagID = 'KppNegatives0' CASE( 14 ) diagID = 'KppAutoReducerNVAR' CASE( 15 ) diagID = 'KppAutoReduceThres' CASE( 16 ) diagID = 'KppcNONZERO' CASE( 17 ) diagID = 'KppTime' END SELECT ! Exit if any of the above are in the diagnostic list CALL Check_DiagList( am_I_Root, Diag_List, diagID, Found, RC ) IF ( Found ) THEN ErrMsg = TRIM( diagId ) // ' is a requested diagnostic, ' // & 'but this is only appropriate for full-chemistry, ' // & 'Hg, or carbon gases simulations.' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDDO ENDIF !======================================================================= ! The following diagnostic quantities are only relevant for: ! ! ALL FULL-CHEMISTRY SIMULATIONS ! MERCURY SIMULATION !======================================================================= IF ( Input_Opt%ITS_A_FULLCHEM_SIM .or. Input_Opt%ITS_A_MERCURY_SIM ) THEN !-------------------------------------------------------------------- ! OH reactivity !-------------------------------------------------------------------- diagID = 'OHreactivity' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%OHreactivity, & archiveData = State_Diag%Archive_OHreactivity, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Satellite Diagnostic: OH reactivity !-------------------------------------------------------------------- diagID = 'SatDiagnOHreactivity' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%SatDiagnOHreactivity, & archiveData = State_Diag%Archive_SatDiagnOHreactivity, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF #ifdef MODEL_GEOS !-------------------------------------------------------------------- ! NOx lifetime !-------------------------------------------------------------------- diagID = 'NOxTau' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%NOxTau, & archiveData = State_Diag%Archive_NOxTau, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Trop. NOx lifetime !-------------------------------------------------------------------- diagID = 'TropNOxTau' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%TropNOxTau, & archiveData = State_Diag%Archive_TropNOxTau, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF #endif !-------------------------------------------------------------------- ! J-Values (instantaneous values) !-------------------------------------------------------------------- diagID = 'Jval' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%Jval, & archiveData = State_Diag%Archive_Jval, & mapData = State_Diag%Map_Jval, & diagId = diagId, & diagFlag = 'P', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! J-Values for O3_O1D (instantaneous values) !-------------------------------------------------------------------- diagID = 'JvalO3O1D' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%JvalO3O1D, & archiveData = State_Diag%Archive_JvalO3O1D, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! J-Values for O3_O3P (instantaneous values) !-------------------------------------------------------------------- diagID = 'JvalO3O3P' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%JvalO3O3P, & archiveData = State_Diag%Archive_JvalO3O3P, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Satellite Diagnostics J-Values (instantaneous values) !-------------------------------------------------------------------- diagID = 'SatDiagnJval' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%SatDiagnJval, & archiveData = State_Diag%Archive_SatDiagnJval, & mapData = State_Diag%Map_SatDiagnJval, & diagId = diagId, & diagFlag = 'P', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Satellite Diagnostics J-Values for O3_O1D (instantaneous values) !-------------------------------------------------------------------- diagID = 'SatDiagnJvalO3O1D' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%SatDiagnJvalO3O1D, & archiveData = State_Diag%Archive_SatDiagnJvalO3O1D, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Satellite Diagnostics J-Values for O3_O3P (instantaneous values) !-------------------------------------------------------------------- diagID = 'SatDiagnJvalO3O3P' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%SatDiagnJvalO3O3P, & archiveData = State_Diag%Archive_SatDiagnJvalO3O3P, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Noontime J-values ! ! NOTE: Dimension array nPhotol+2 to archive special photolysis ! reactions for O3_O1D and O3_O3P !-------------------------------------------------------------------- diagID = 'JNoon' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%JNoon, & archiveData = State_Diag%Archive_JNoon, & mapData = State_Diag%Map_JNoon, & diagId = diagId, & diagFlag = 'P', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF diagID = 'JNoonFrac' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%JNoonFrac, & archiveData = State_Diag%Archive_JNoonFrac, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Diffuse UV flux per wavelength bin !-------------------------------------------------------------------- diagID = 'UvFluxDiffuse' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%UvFluxDiffuse, & archiveData = State_Diag%Archive_UvFluxDiffuse, & mapData = State_Diag%Map_UvFluxDiffuse, & diagId = diagId, & diagFlag = 'U', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Direct UV flux per wavelength bin !-------------------------------------------------------------------- diagID = 'UVFluxDirect' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%UvFluxDirect, & archiveData = State_Diag%Archive_UvFluxDirect, & mapData = State_Diag%Map_UvFluxDirect, & diagId = diagId, & diagFlag = 'U', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Net UV flux per wavelength bin !-------------------------------------------------------------------- diagID = 'UVFluxNet' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%UvFluxNet, & archiveData = State_Diag%Archive_UvFluxNet, & mapData = State_Diag%Map_UvFluxNet, & diagId = diagId, & diagFlag = 'U', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Optical depth (3D) used to compute photolysis rates (600 nm) !-------------------------------------------------------------------- diagID = 'OD600' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%OD600, & archiveData = State_Diag%Archive_OD600, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Total column optical depth used to compute photolysis rates (600 nm) !-------------------------------------------------------------------- diagID = 'TCOD600' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%TCOD600, & archiveData = State_Diag%Archive_TCOD600, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ELSE !------------------------------------------------------------------- ! Halt with an error message if any of the following quantities ! have been requested as diagnostics in simulations other than ! full-chemistry simulations. ! ! This will prevent potential errors caused by the quantities ! being requested as diagnostic output when the corresponding ! array has not been allocated. !------------------------------------------------------------------- DO N = 1, 17 ! Select the diagnostic ID SELECT CASE( N ) CASE( 1 ) diagID = 'OHreactivity' CASE( 2 ) diagID = 'SatDiagnOHreactivity' CASE( 3 ) diagID = 'NOxTau' CASE( 4 ) diagID = 'TropNOxTau' CASE( 5 ) diagID = 'Jval' CASE( 6 ) diagID = 'JvalO3O1D' CASE( 7 ) diagID = 'JvalO3O3P' CASE( 8 ) diagID = 'SatDiagnJval' CASE( 9 ) diagID = 'SatDiagnJvalO3O1D' CASE( 10 ) diagID = 'SatDiagnJvalO3O3P' CASE( 11 ) diagID = 'JNoon' CASE( 12 ) diagID = 'JNoonFrac' CASE( 13 ) diagID = 'UvFluxDiffuse' CASE( 14 ) diagID = 'UVFluxDirect' CASE( 15 ) diagID = 'UVFluxNet' CASE( 16 ) diagID = 'OD600' CASE( 17 ) diagID = 'TCOD600' END SELECT ! Exit if any of the above are in the diagnostic list CALL Check_DiagList( am_I_Root, Diag_List, diagID, Found, RC ) IF ( Found ) THEN ErrMsg = TRIM( diagId ) // ' is a requested diagnostic, ' // & 'but this is only appropriate for full-chemistry ' // & 'simulations.' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDDO ENDIF !======================================================================= ! The following diagnostic quantities are only relevant for: ! ! ALL FULL-CHEMISTRY SIMULATIONS !======================================================================= IF ( Input_Opt%ITS_A_FULLCHEM_SIM ) THEN !-------------------------------------------------------------------- ! HO2 concentration upon exiting the FlexChem solver !-------------------------------------------------------------------- diagID = 'HO2concAfterChem' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%HO2concAfterChem, & archiveData = State_Diag%Archive_HO2concAfterChem, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! O1D concentration upon exiting the FlexChem solver !-------------------------------------------------------------------- diagID = 'O1DconcAfterChem' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%O1DconcAfterChem, & archiveData = State_Diag%Archive_O1DconcAfterChem, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! O3P concentration upon exiting the FlexChem solver !-------------------------------------------------------------------- diagID = 'O3PconcAfterChem' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%O3PconcAfterChem, & archiveData = State_Diag%Archive_O3PconcAfterChem, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! CH4 pseudo-flux !-------------------------------------------------------------------- diagID = 'CH4pseudoFlux' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%CH4pseudoFlux, & archiveData = State_Diag%Archive_CH4pseudoFlux, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Production of SO4 by aqueous oxidation of HOBr in cloud !-------------------------------------------------------------------- diagID = 'ProdSO4fromHOBrInCloud' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdSO4fromHOBrInCloud, & archiveData = State_Diag%Archive_ProdSO4fromHOBrInCloud, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Production of SO4 by SRHOBr !-------------------------------------------------------------------- diagID = 'ProdSO4fromSRHOBr' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdSO4fromSRHOBr, & archiveData = State_Diag%Archive_ProdSO4fromSRHOBr, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Aerosol mass of ASOA (Aromatic SOA) [ug/m3] !------------------------------------------------------------------- diagID = 'AerMassASOA' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%AerMassASOA, & archiveData = State_Diag%Archive_AerMassASOA, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Aerosol mass of INDIOL (Isoprene SOA) [ug/m3] !------------------------------------------------------------------- diagID = 'AerMassINDIOL' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%AerMassINDIOL, & archiveData = State_Diag%Archive_AerMassINDIOL, & diagId = diagId, & diagFlag = 'S', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Aerosol mass of ISN1OA [ug/m3] !------------------------------------------------------------------- diagID = 'AerMassISN1OA' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%AerMassISN1OA, & archiveData = State_Diag%Archive_AerMassISN1OA, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Aerosol mass of LVOCOA [kg/m3] !------------------------------------------------------------------- diagID = 'AerMassLVOCOA' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%AerMassLVOCOA, & archiveData = State_Diag%Archive_AerMassLVOCOA, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Aerosol mass of OPOA !------------------------------------------------------------------- diagID = 'AerMassOPOA' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%AerMassOPOA, & archiveData = State_Diag%Archive_AerMassOPOA, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Aerosol mass of POA !------------------------------------------------------------------- diagID = 'AerMassPOA' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%AerMassPOA, & archiveData = State_Diag%Archive_AerMassPOA, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Aerosol mass of SOAGX [ug/m3] !------------------------------------------------------------------- diagID = 'AerMassSOAGX' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%AerMassSOAGX, & archiveData = State_Diag%Archive_AerMassSOAGX, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Aerosol mass of SOAIE [ug/m3] !------------------------------------------------------------------- diagID = 'AerMassSOAIE' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%AerMassSOAIE, & archiveData = State_Diag%Archive_AerMassSOAIE, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Aerosol mass of TSOA (Terpene SOA) [ug/m3] !------------------------------------------------------------------- diagID = 'AerMassTSOA' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%AerMassTSOA, & archiveData = State_Diag%Archive_AerMassTSOA, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Beta NO (branching ratio) [ug C/m3] !------------------------------------------------------------------- diagID = 'BetaNO' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%BetaNO, & archiveData = State_Diag%Archive_BetaNO, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Total biogenic organic aerosol mass [ug/m3] !------------------------------------------------------------------- diagID = 'TotalBiogenicOA' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%TotalBiogenicOA, & archiveData = State_Diag%Archive_TotalBiogenicOA, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF #if defined( MODEL_GEOS ) || defined( MODEL_WRF ) || defined( MODEL_CESM ) !-------------------------------------------------------------------- ! KPP error flag !-------------------------------------------------------------------- diagID = 'KppError' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%KppError, & archiveData = State_Diag%Archive_KppError, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF #endif ELSE !------------------------------------------------------------------- ! Halt with an error message if any of the following quantities ! have been requested as diagnostics in simulations other than ! full-chemistry simulations. ! ! This will prevent potential errors caused by the quantities ! being requested as diagnostic output when the corresponding ! array has not been allocated. !------------------------------------------------------------------- DO N = 1, 18 ! Select the diagnostic ID SELECT CASE( N ) CASE( 1 ) diagID = 'HO2concAfterChem' CASE( 2 ) diagID = 'O1DconcAfterChem' CASE( 3 ) diagID = 'O3PconcAfterChem' CASE( 4 ) diagID = 'CH4pseudoFlux' CASE( 5 ) diagID = 'ProdSO4fromHOBrInCloud' CASE( 6 ) diagID = 'ProdSO4fromSRHOBr' CASE( 7 ) diagID = 'AerMassASOA' CASE( 8 ) diagID = 'AerMassINDIOL' CASE( 9 ) diagID = 'AerMassISN1OA' CASE( 10 ) diagID = 'AerMassLVOCOA' CASE( 11 ) diagID = 'AerMassOPOA' CASE( 12 ) diagID = 'AerMassPOA' CASE( 13 ) diagID = 'AerMassSOAGX' CASE( 14 ) diagID = 'AerMassSOAIE' CASE( 15 ) diagID = 'AerMassTSOA' CASE( 16 ) diagID = 'BetaNO' CASE( 17 ) diagID = 'TotalBiogenicOA' CASE( 18 ) diagID = 'KppError' END SELECT ! Exit if any of the above are in the diagnostic list CALL Check_DiagList( am_I_Root, Diag_List, diagID, Found, RC ) IF ( Found ) THEN ErrMsg = TRIM( diagId ) // ' is a requested diagnostic, ' // & 'but this is only appropriate for full-chemistry ' // & 'simulations.' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDDO ENDIF !======================================================================= ! The following diagnostic quantities are only relevant for: ! ! ALL FULL-CHEMISTRY SIMULATIONS ! (benchmark, standard, tropchem, *SOA*, aciduptake, marinePOA) ! ! and THE TAGGED O3 SPECIALTY SIMULATION !======================================================================= IF ( Input_Opt%LDRYD .and. & ( Input_Opt%ITS_A_FULLCHEM_SIM .or. & Input_Opt%ITS_A_TAGO3_SIM ) ) THEN !-------------------------------------------------------------------- ! Dry deposition resistance RA at user-defined altitude above sfc !-------------------------------------------------------------------- diagID = 'DryDepRa' // TRIM( TmpHT ) CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%DryDepRaALT1, & archiveData = State_Diag%Archive_DryDepRaALT1, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Dry deposition velocity for species that are requested ! at a user-defined altitude above the surface !-------------------------------------------------------------------- diagID = 'DryDepVelFor' // TRIM( TmpHt ) CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%DryDepVelForALT1, & archiveData = State_Diag%Archive_DryDepVelForALT1, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Species concentration at user-defined height above surface !-------------------------------------------------------------------- diagID = 'SpeciesConc' // TRIM( TmpHt ) CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%SpeciesConcALT1, & archiveData = State_Diag%Archive_SpeciesConcALT1, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ELSE !------------------------------------------------------------------- ! Halt with an error message if any of the following quantities ! have been requested as diagnostics in full-chemistry or ! tagged O3 simulations with dry-deposition turned off. ! ! This will prevent potential errors caused by the quantities ! being requested as diagnostic output when the corresponding ! array has not been allocated. !------------------------------------------------------------------- DO N = 1, 3 ! Select the diagnostic ID SELECT CASE( N ) CASE( 1 ) diagID = 'DryDepRaALT1' CASE( 2 ) diagID = 'DryDepVelForALT1' CASE( 3 ) diagID = 'SpeciesConcALT1' END SELECT ! Exit if any of the above are in the diagnostic list CALL Check_DiagList( am_I_Root, Diag_List, diagID, Found, RC ) ! Halt with an error message if any of the following quantities ! have been requested as diagnostics in simulations other than ! full-chemistry simulations or the tagged O3 simulation. IF ( Found ) THEN ErrMsg = TRIM( diagId ) // ' is a requested diagnostic, but '// & 'this is only appropriate for the full-chemistry ' // & 'simulations or the tagged O3 simulation.' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDDO ENDIF !======================================================================= ! The following diagnostic quantities are only relevant for: ! ! ALL FULL-CHEMISTRY SIMULATIONS ! (benchmark, standard, tropchem, *SOA*, aciduptake, marinePOA) ! ! THE CARBON SIMULATION !======================================================================= IF ( Input_Opt%ITS_A_FULLCHEM_SIM .or. & Input_Opt%ITS_A_CARBON_SIM ) THEN !-------------------------------------------------------------------- ! OH concentration upon exiting the FlexChem solver !-------------------------------------------------------------------- diagID = 'OHconcAfterChem' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%OHconcAfterChem, & archiveData = State_Diag%Archive_OHconcAfterChem, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF #ifdef MODEL_GEOS diagID = 'O3concAfterChem' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%O3concAfterChem, & archiveData = State_Diag%Archive_O3concAfterChem, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF diagID = 'RO2concAfterChem' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%RO2concAfterChem, & archiveData = State_Diag%Archive_RO2concAfterChem, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF #endif !-------------------------------------------------------------------- ! Air mass -- full column and trop column !-------------------------------------------------------------------- diagId = 'AirMassColumnFull' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%AirMassColumnFull, & archiveData = State_Diag%Archive_AirMassColumnFull, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF diagId = 'AirMassColumnTrop' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%AirMassColumnTrop, & archiveData = State_Diag%Archive_AirMassColumnTrop, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! CH4 emission -- needed to compute lifetime metrics for CH4 sims !-------------------------------------------------------------------- diagId = 'CH4emission' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%CH4emission, & archiveData = State_Diag%Archive_CH4emission, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Airmass-weighted CH4 -- full column and trop-only column !-------------------------------------------------------------------- diagId = 'CH4massColumnFull' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%CH4massColumnFull, & archiveData = State_Diag%Archive_CH4massColumnFull, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF diagId = 'CH4massColumnTrop' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%CH4massColumnTrop, & archiveData = State_Diag%Archive_CH4massColumnTrop, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Airmass-weighted OH -- full column and trop-only column !-------------------------------------------------------------------- diagId = 'OHwgtByAirMassColumnFull' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%OHwgtByAirMassColumnFull, & archiveData = State_Diag%Archive_OHwgtByAirMassColumnFull, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF diagId = 'OHwgtByAirMassColumnTrop' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%OHwgtByAirMassColumnTrop, & archiveData = State_Diag%Archive_OHwgtByAirMassColumnTrop, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! CH4 loss in the troposphere !-------------------------------------------------------------------- diagId = 'LossOHbyCH4columnTrop' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%LossOHbyCH4columnTrop, & archiveData = State_Diag%Archive_LossOHbyCH4columnTrop, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Methyl chloroform (aka MCF) loss in the troposphere !-------------------------------------------------------------------- diagId = 'LossOHbyMCFcolumnTrop' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%LossOHbyMCFcolumnTrop, & archiveData = State_Diag%Archive_LossOHbyMCFcolumnTrop, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ELSE !------------------------------------------------------------------- ! Halt with an error message if any of the following quantities ! have been requested as diagnostics in simulations other than ! full-chemistry or carbon simulations. ! ! This will prevent potential errors caused by the quantities ! being requested as diagnostic output when the corresponding ! array has not been allocated. !------------------------------------------------------------------- DO N = 1, 10 ! Select the diagnostic ID SELECT CASE( N ) CASE( 1 ) diagID = 'AirMassColumnFull' CASE( 2 ) diagID = 'AirMassColumnTrop' CASE( 3 ) diagID = 'CH4emission' CASE( 4 ) diagID = 'CH4massColumnFull' CASE( 5 ) diagID = 'CH4massColumnTrop' CASE( 6 ) diagID = 'OHwgtByAirMassColumnFull' CASE( 7 ) diagID = 'OHwgtByAirMassColumnTrop' CASE( 8 ) diagID = 'LossOHbyCH4columnTrop' CASE( 9 ) diagID = 'LossOHbyMCFcolumnTrop' CASE( 10 ) diagID = 'OHconcAfterChem' END SELECT ! Exit if any of the above are in the diagnostic list CALL Check_DiagList( am_I_Root, Diag_List, diagID, Found, RC ) IF ( Found ) THEN ErrMsg = TRIM( diagId ) // ' is a requested diagnostic, ' // & 'but this is only appropriate for full-chemistry ' // & 'or CH4 simulations.' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDDO ENDIF !======================================================================= ! The following diagnostic quantities are only relevant for: ! ! ALL FULL-CHEMISTRY SIMULATIONS ! (benchmark, standard, tropchem, *SOA*, aciduptake, marinePOA) ! ! and THE AEROSOL-ONLY SPECIALTY SIMULATION !======================================================================= IF ( Input_Opt%ITS_A_FULLCHEM_SIM .or. Input_Opt%ITS_AN_AEROSOL_SIM ) THEN #ifdef TOMAS !-------------------------------------------------------------------- ! Tomas Microphysics Rate - Condensation rate per bin !-------------------------------------------------------------------- diagID = 'TomasH2SO4mass' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%TomasH2SO4mass, & archiveData = State_Diag%Archive_TomasH2SO4mass, & mapData = State_Diag%Map_TomasH2SO4mass, & diagId = diagId, & diagFlag = 'T', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Tomas Microphysics Rate - Condensation rate per bin !-------------------------------------------------------------------- diagID = 'TomasH2SO4number' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%TomasH2SO4number, & archiveData = State_Diag%Archive_TomasH2SO4number, & mapData = State_Diag%Map_TomasH2SO4number, & diagId = diagId, & diagFlag = 'T', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Tomas Microphysics Rate - Coagulation rate per bin !-------------------------------------------------------------------- diagID = 'TomasCOAGmass' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%TomasCOAGmass, & archiveData = State_Diag%Archive_TomasCOAGmass, & mapData = State_Diag%Map_TomasCOAGmass, & diagId = diagId, & diagFlag = 'T', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Tomas Microphysics Rate - Coagulation rate per bin !-------------------------------------------------------------------- diagID = 'TomasCOAGnumber' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%TomasCOAGnumber, & archiveData = State_Diag%Archive_TomasCOAGnumber, & mapData = State_Diag%Map_TomasCOAGnumber, & diagId = diagId, & diagFlag = 'T', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Tomas Microphysics Rate - Nucleation !-------------------------------------------------------------------- diagID = 'TomasNUCRATEFN' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%TomasNUCRATEFN, & archiveData = State_Diag%Archive_TomasNUCRATEFN, & !mapData = State_Diag%Map_TomasNUCRATEfn, & diagId = diagId, & !diagFlag = 'B', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Tomas Microphysics Rate - Nucleation rate per bin !-------------------------------------------------------------------- diagID = 'TomasNUCLmass' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%TomasNUCLmass, & archiveData = State_Diag%Archive_TomasNUCLmass, & mapData = State_Diag%Map_TomasNUCLmass, & diagId = diagId, & diagFlag = 'T', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Tomas Microphysics Rate - Nucleation rate per bin !-------------------------------------------------------------------- diagID = 'TomasNUCLnumber' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%TomasNUCLnumber, & archiveData = State_Diag%Archive_TomasNUCLnumber, & mapData = State_Diag%Map_TomasNUCLnumber, & diagId = diagId, & diagFlag = 'T', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Tomas Microphysics Rate - Nucleation rate per bin !-------------------------------------------------------------------- diagID = 'TomasNUCRATEnumber' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%TomasNUCRATEnumber, & archiveData = State_Diag%Archive_TomasNUCRATEnumber, & mapData = State_Diag%Map_TomasNUCRATEnumber, & diagId = diagId, & diagFlag = 'T', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Tomas Microphysics Rate - Aqueous oxidation rate per bin !-------------------------------------------------------------------- diagID = 'TomasAQOXmass' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%TomasAQOXmass, & archiveData = State_Diag%Archive_TomasAQOXmass, & mapData = State_Diag%Map_TomasAQOXmass, & diagId = diagId, & diagFlag = 'T', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Tomas Microphysics Rate - Aqueous oxidation rate per bin !-------------------------------------------------------------------- diagID = 'TomasAQOXnumber' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%TomasAQOXnumber, & archiveData = State_Diag%Archive_TomasAQOXnumber, & mapData = State_Diag%Map_TomasAQOXnumber, & diagId = diagId, & diagFlag = 'T', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Tomas Microphysics Rate - ERROR per bin !-------------------------------------------------------------------- diagID = 'TomasMNFIXmass' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%TomasMNFIXmass, & archiveData = State_Diag%Archive_TomasMNFIXmass, & mapData = State_Diag%Map_TomasMNFIXmass, & diagId = diagId, & diagFlag = 'T', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Tomas Microphysics Rate - ERROR per bin !-------------------------------------------------------------------- diagID = 'TomasMNFIXnumber' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%TomasMNFIXnumber, & archiveData = State_Diag%Archive_TomasMNFIXnumber, & mapData = State_Diag%Map_TomasMNFIXnumber, & diagId = diagId, & diagFlag = 'T', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Tomas Microphysics Rate - ERROR per bin !-------------------------------------------------------------------- diagID = 'TomasMNFIXh2so4mass' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%TomasMNFIXh2so4mass, & archiveData = State_Diag%Archive_TomasMNFIXh2so4mass, & mapData = State_Diag%Map_TomasMNFIXh2so4mass, & diagId = diagId, & diagFlag = 'T', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Tomas Microphysics Rate - ERROR per bin !-------------------------------------------------------------------- diagID = 'TomasMNFIXh2so4number' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%TomasMNFIXh2so4number, & archiveData = State_Diag%Archive_TomasMNFIXh2so4number, & mapData = State_Diag%Map_TomasMNFIXh2so4number, & diagId = diagId, & diagFlag = 'T', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Tomas Microphysics Rate - ERROR per bin !-------------------------------------------------------------------- diagID = 'TomasMNFIXcoagmass' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%TomasMNFIXcoagmass, & archiveData = State_Diag%Archive_TomasMNFIXcoagmass, & mapData = State_Diag%Map_TomasMNFIXcoagmass, & diagId = diagId, & diagFlag = 'T', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Tomas Microphysics Rate - ERROR per bin !-------------------------------------------------------------------- diagID = 'TomasMNFIXcoagnumber' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%TomasMNFIXcoagnumber, & archiveData = State_Diag%Archive_TomasMNFIXcoagnumber, & mapData = State_Diag%Map_TomasMNFIXcoagnumber, & diagId = diagId, & diagFlag = 'T', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Tomas Microphysics Rate - ERROR per bin !-------------------------------------------------------------------- diagID = 'TomasMNFIXaqoxmass' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%TomasMNFIXaqoxmass, & archiveData = State_Diag%Archive_TomasMNFIXaqoxmass, & mapData = State_Diag%Map_TomasMNFIXaqoxmass, & diagId = diagId, & diagFlag = 'T', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Tomas Microphysics Rate - ERROR per bin !-------------------------------------------------------------------- diagID = 'TomasMNFIXaqoxnumber' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%TomasMNFIXaqoxnumber, & archiveData = State_Diag%Archive_TomasMNFIXaqoxnumber, & mapData = State_Diag%Map_TomasMNFIXaqoxnumber, & diagId = diagId, & diagFlag = 'T', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Tomas Microphysics Rate - ERROR per bin !-------------------------------------------------------------------- diagID = 'TomasMNFIXezwat1mass' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%TomasMNFIXezwat1mass, & archiveData = State_Diag%Archive_TomasMNFIXezwat1mass, & mapData = State_Diag%Map_TomasMNFIXezwat1mass, & diagId = diagId, & diagFlag = 'T', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Tomas Microphysics Rate - ERROR per bin !-------------------------------------------------------------------- diagID = 'TomasMNFIXezwat1number' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%TomasMNFIXezwat1number, & archiveData = State_Diag%Archive_TomasMNFIXezwat1number, & mapData = State_Diag%Map_TomasMNFIXezwat1number, & diagId = diagId, & diagFlag = 'T', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Tomas Microphysics Rate - ERROR per bin !-------------------------------------------------------------------- diagID = 'TomasMNFIXezwat2mass' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%TomasMNFIXezwat2mass, & archiveData = State_Diag%Archive_TomasMNFIXezwat2mass, & mapData = State_Diag%Map_TomasMNFIXezwat2mass, & diagId = diagId, & diagFlag = 'T', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Tomas Microphysics Rate - ERROR per bin !-------------------------------------------------------------------- diagID = 'TomasMNFIXezwat2number' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%TomasMNFIXezwat2number, & archiveData = State_Diag%Archive_TomasMNFIXezwat2number, & mapData = State_Diag%Map_TomasMNFIXezwat2number, & diagId = diagId, & diagFlag = 'T', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Tomas Microphysics Rate - ERROR per bin !-------------------------------------------------------------------- diagID = 'TomasMNFIXezwat3mass' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%TomasMNFIXezwat3mass, & archiveData = State_Diag%Archive_TomasMNFIXezwat3mass, & mapData = State_Diag%Map_TomasMNFIXezwat3mass, & diagId = diagId, & diagFlag = 'T', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Tomas Microphysics Rate - ERROR per bin !-------------------------------------------------------------------- diagID = 'TomasMNFIXezwat3number' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%TomasMNFIXezwat3number, & archiveData = State_Diag%Archive_TomasMNFIXezwat3number, & mapData = State_Diag%Map_TomasMNFIXezwat3number, & diagId = diagId, & diagFlag = 'T', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Tomas Microphysics Rate - ERROR per bin !-------------------------------------------------------------------- diagID = 'TomasMNFIXcheck1mass' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%TomasMNFIXcheck1mass, & archiveData = State_Diag%Archive_TomasMNFIXcheck1mass, & mapData = State_Diag%Map_TomasMNFIXcheck1mass, & diagId = diagId, & diagFlag = 'T', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Tomas Microphysics Rate - ERROR per bin !-------------------------------------------------------------------- diagID = 'TomasMNFIXcheck1number' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%TomasMNFIXcheck1number, & archiveData = State_Diag%Archive_TomasMNFIXcheck1number, & mapData = State_Diag%Map_TomasMNFIXcheck1number, & diagId = diagId, & diagFlag = 'T', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Tomas Microphysics Rate - ERROR per bin !-------------------------------------------------------------------- diagID = 'TomasMNFIXcheck2mass' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%TomasMNFIXcheck2mass, & archiveData = State_Diag%Archive_TomasMNFIXcheck2mass, & mapData = State_Diag%Map_TomasMNFIXcheck2mass, & diagId = diagId, & diagFlag = 'T', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Tomas Microphysics Rate - ERROR per bin !-------------------------------------------------------------------- diagID = 'TomasMNFIXcheck2number' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%TomasMNFIXcheck2number, & archiveData = State_Diag%Archive_TomasMNFIXcheck2number, & mapData = State_Diag%Map_TomasMNFIXcheck2number, & diagId = diagId, & diagFlag = 'T', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Tomas Microphysics Rate - ERROR per bin !-------------------------------------------------------------------- diagID = 'TomasMNFIXcheck3mass' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%TomasMNFIXcheck3mass, & archiveData = State_Diag%Archive_TomasMNFIXcheck3mass, & mapData = State_Diag%Map_TomasMNFIXcheck3mass, & diagId = diagId, & diagFlag = 'T', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Tomas Microphysics Rate - ERROR per bin !-------------------------------------------------------------------- diagID = 'TomasMNFIXcheck3number' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%TomasMNFIXcheck3number, & archiveData = State_Diag%Archive_TomasMNFIXcheck3number, & mapData = State_Diag%Map_TomasMNFIXcheck3number, & diagId = diagId, & diagFlag = 'T', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Tomas Microphysics Rate - SOA Cond per bin !-------------------------------------------------------------------- diagID = 'TomasSOAmass' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%TomasSOAmass, & archiveData = State_Diag%Archive_TomasSOAmass, & mapData = State_Diag%Map_TomasSOAmass, & diagId = diagId, & diagFlag = 'T', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Tomas Microphysics Rate - SOA Cond per bin !-------------------------------------------------------------------- diagID = 'TomasSOAnumber' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%TomasSOAnumber, & archiveData = State_Diag%Archive_TomasSOAnumber, & mapData = State_Diag%Map_TomasSOAnumber, & diagId = diagId, & diagFlag = 'T', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF #endif !-------------------------------------------------------------------- ! Dust Optical Depth !-------------------------------------------------------------------- diagID = 'AODDust' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%AODDust, & archiveData = State_Diag%Archive_AODDust, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Dust Optical Depth per bin at 1st wavelength !-------------------------------------------------------------------- TmpWL = RadWL(1) ! Workaround for ifort 17 diagID = 'AODDust' // TRIM( TmpWL ) // 'nm' ! to avoid seg faults CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%AODDustWL1, & archiveData = State_Diag%Archive_AODDustWL1, & mapData = State_Diag%Map_AODDustWL1, & diagId = diagId, & diagFlag = 'B', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Dust Optical Depth per bin at 2nd wavelength !-------------------------------------------------------------------- TmpWL = RadWL(2) diagID = 'AODDust' // TRIM( TmpWL ) // 'nm' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%AODDustWL2, & archiveData = State_Diag%Archive_AODDustWL2, & mapData = State_Diag%Map_AODDustWL2, & diagId = diagId, & diagFlag = 'B', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Dust Optical Depth per bin at 3rd wavelength !-------------------------------------------------------------------- TmpWL = RadWL(3) diagID = 'AODDust' // TRIM( TmpWL ) // 'nm' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%AODDustWL3, & archiveData = State_Diag%Archive_AODDustWL3, & mapData = State_Diag%Map_AODDustWL3, & diagId = diagId, & diagFlag = 'B', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Optical Depth per Hygroscopic Aerosol Species at 1st Wavelength !------------------------------------------------------------------- TmpWL = RadWL(1) diagID = 'AODHyg' // TRIM( TmpWL ) // 'nm' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%AODHygWL1, & archiveData = State_Diag%Archive_AODHygWL1, & mapData = State_Diag%Map_AODHygWL1, & diagId = diagId, & diagFlag = 'H', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Optical Depth per Hygroscopic Aerosol Species at 2nd Wavelength !------------------------------------------------------------------- TmpWL = RadWL(2) diagID = 'AODHyg' // TRIM( TmpWL ) // 'nm' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%AODHygWL2, & archiveData = State_Diag%Archive_AODHygWL2, & mapData = State_Diag%Map_AODHygWL2, & diagId = diagId, & diagFlag = 'H', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Optical Depth per Hygroscopic Aerosol Species at 3rd Wavelength !------------------------------------------------------------------- TmpWL = RadWL(3) diagID = 'AODHyg' // TRIM( TmpWL ) // 'nm' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%AODHygWL3, & archiveData = State_Diag%Archive_AODHygWL3, & mapData = State_Diag%Map_AODHygWL3, & diagId = diagId, & diagFlag = 'H', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Isoprene SOA Optical Depth at 1st Wavelength !------------------------------------------------------------------- TmpWL = RadWL(1) diagID = 'AODSOAfromAqIsoprene' // TRIM( TmpWL ) // 'nm' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%AODSOAfromAqIsopWL1, & archiveData = State_Diag%Archive_AODSOAfromAqIsopWL1, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Isoprene SOA Optical Depth at 2nd Wavelength !------------------------------------------------------------------- TmpWl = RadWL(2) diagID = 'AODSOAfromAqIsoprene' // TRIM( TmpWL ) // 'nm' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%AODSOAfromAqIsopWL2, & archiveData = State_Diag%Archive_AODSOAfromAqIsopWL2, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Isoprene SOA Optical Depth at 3rd Wavelength !------------------------------------------------------------------- TmpWl = RadWL(3) diagID = 'AODSOAfromAqIsoprene' // TRIM( TmpWL ) // 'nm' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%AODSOAfromAqIsopWL3, & archiveData = State_Diag%Archive_AODSOAfromAqIsopWL3, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Stratospheric Liquid Aerosol Optical Depth at 1st Wavelength !------------------------------------------------------------------- TmpWL = RadWL(1) diagID = 'AODStratLiquidAer' // TRIM( TmpWL ) // 'nm' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%AODSLAWL1, & archiveData = State_Diag%Archive_AODSLAWL1, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Stratospheric Liquid Aerosol Optical Depth at 2nd Wavelength !------------------------------------------------------------------- TmpWL = RadWL(2) diagID = 'AODStratLiquidAer' // TRIM( TmpWL ) // 'nm' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%AODSLAWL2, & archiveData = State_Diag%Archive_AODSLAWL2, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Stratospheric Liquid Aerosol Optical Depth at 3rd Wavelength !------------------------------------------------------------------- TmpWL = RadWL(3) diagID = 'AODStratLiquidAer' // TRIM( TmpWL ) // 'nm' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%AODSLAWL3, & archiveData = State_Diag%Archive_AODSLAWL3, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Polar Stratospheric Cloud Type 1a/2 Optical Depth at 1st Wavelength !------------------------------------------------------------------- TmpWL = RadWL(1) diagID = 'AODPolarStratCloud' // TRIM( TmpWL ) // 'nm' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%AODPSCWL1, & archiveData = State_Diag%Archive_AODPSCWL1, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Polar Stratospheric Cloud Type 1a/2 Optical Depth at 1st Wavelength !------------------------------------------------------------------- TmpWL = RadWL(2) diagID = 'AODPolarStratCloud' // TRIM( TmpWL ) // 'nm' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%AODPSCWL2, & archiveData = State_Diag%Archive_AODPSCWL2, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Polar Stratospheric Cloud Type 1a/2 Optical Depth at 1st Wavelength !------------------------------------------------------------------- TmpWL = RadWL(3) diagID = 'AODPolarStratCloud' // TRIM( TmpWL ) // 'nm' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%AODPSCWL3, & archiveData = State_Diag%Archive_AODPSCWL3, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Hygroscopic Growth per Aerosol Species !------------------------------------------------------------------- diagID = 'AerHygroscopicGrowth' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%AerHygGrowth, & archiveData = State_Diag%Archive_AerHygGrowth, & mapData = State_Diag%Map_AerHygGrowth, & diagId = diagId, & diagFlag = 'H', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Surface Area of Mineral Dust !------------------------------------------------------------------- diagID = 'AerSurfAreaDust' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%AerSurfAreaDust, & archiveData = State_Diag%Archive_AerSurfAreaDust, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Surface Area of Hygroscopic Aerosol Species !------------------------------------------------------------------- diagID = 'AerSurfAreaHyg' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%AerSurfAreaHyg, & archiveData = State_Diag%Archive_AerSurfAreaHyg, & mapData = State_Diag%Map_AerSurfAreaHyg, & diagId = diagId, & diagFlag = 'H', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Stratospheric Liquid Aerosol Number Density !------------------------------------------------------------------- diagID = 'AerNumDensityStratLiquid' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%AerNumDenSLA, & archiveData = State_Diag%Archive_AerNumDenSLA, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Strospheric Particulate Aerosol Number Density !------------------------------------------------------------------- diagID = 'AerNumDensityStratParticulate' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%AerNumDenPSC, & archiveData = State_Diag%Archive_AerNumDenPSC, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Aqueous Aerosol Volume !------------------------------------------------------------------- diagID = 'AerAqueousVolume' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%AerAqVol, & archiveData = State_Diag%Archive_AerAqVol, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Stratospheric Liquid Aerosol Surface Area !------------------------------------------------------------------- diagID = 'AerSurfAreaStratLiquid' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%AerSurfAreaSLA, & archiveData = State_Diag%Archive_AerSurfAreaSLA, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Polar Stratospheric Cloud Type 1a/2 Surface Area !------------------------------------------------------------------- diagID = 'AerSurfAreaPolarStratCloud' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%AerSurfAreaPSC, & archiveData = State_Diag%Archive_AerSurfAreaPSC, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Production of Hydrophilic BC (aka BCPI) ! from Hydrophobic BC (aka BCPO) !-------------------------------------------------------------------- diagID = 'ProdBCPIfromBCPO' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdBCPIfromBCPO, & archiveData = State_Diag%Archive_ProdBCPIfromBCPO, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Production of Hydrophilic OC (aka OCPI) ! from Hydrophobic OC (aka OCPO) !-------------------------------------------------------------------- diagID = 'ProdOCPIfromOCPO' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdOCPIfromOCPO, & archiveData = State_Diag%Archive_ProdOCPIfromOCPO, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Production of SO4 from aqueous oxidation of H2O2 in cloud !-------------------------------------------------------------------- diagID = 'ProdSO4fromH2O2inCloud' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdSO4fromH2O2inCloud, & archiveData = State_Diag%Archive_ProdSO4fromH2O2inCloud, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Production of SO4 from aqueous oxidation of O3 in cloud !-------------------------------------------------------------------- diagID = 'ProdSO4fromO3inCloud' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdSO4fromO3inCloud, & archiveData = State_Diag%Archive_ProdSO4fromO3inCloud, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Production of SO4 from aqueous oxidation of O2 metal-catalyzed !-------------------------------------------------------------------- diagID = 'ProdSO4fromO2inCloudMetal' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdSO4fromO2inCloudMetal, & archiveData = State_Diag%Archive_ProdSO4fromO2inCloudMetal, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Production of SO4 from O3 in sea salt aerosols !-------------------------------------------------------------------- diagID = 'ProdSO4fromO3inSeaSalt' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdSO4fromO3inSeaSalt, & archiveData = State_Diag%Archive_ProdSO4fromO3inSeaSalt, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Production of SO4 by SRO3 !-------------------------------------------------------------------- diagID = 'ProdSO4fromSRO3' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdSO4fromSRO3, & archiveData = State_Diag%Archive_ProdSO4fromSRO3, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Production of SO4 by O3s !-------------------------------------------------------------------- diagID = 'ProdSO4fromO3s' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdSO4fromO3s, & archiveData = State_Diag%Archive_ProdSO4fromO3s, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Production of HMS from aqueous reaction of SO2 in cloud ! (jmm, 06/29/18) !-------------------------------------------------------------------- diagID = 'ProdHMSfromSO2andHCHOinCloud' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdHMSfromSO2andHCHOinCloud, & archiveData = State_Diag%Archive_ProdHMSfromSO2andHCHOinCloud,& diagId = diagId, & RC = RC ) IF( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Production of SO2 and HCHO from aqueous reaction of HMS in cloud ! (jmm, 06/29/18) !-------------------------------------------------------------------- diagID = 'ProdSO2andHCHOfromHMSinCloud' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdSO2andHCHOfromHMSinCloud, & archiveData = State_Diag%Archive_ProdSO2andHCHOfromHMSinCloud,& diagId = diagId, & RC = RC ) IF( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Production of SO4 from aqueous oxidation of HMS in cloud ! (jmm, 06/29/18) !-------------------------------------------------------------------- diagID = 'ProdSO4fromHMSinCloud' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdSO4fromHMSinCloud, & archiveData = State_Diag%Archive_ProdSO4fromHMSinCloud, & diagId = diagId, & RC = RC ) IF( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Loss of HNO3 on sea salt !-------------------------------------------------------------------- diagID = 'LossHNO3onSeaSalt' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%LossHNO3onSeaSalt, & archiveData = State_Diag%Archive_LossHNO3onSeaSalt, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Aerosol mass of black carbon [ug/m3] !------------------------------------------------------------------- diagID = 'AerMassBC' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%AerMassBC, & archiveData = State_Diag%Archive_AerMassBC, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Aerosol mass of NH4 [ug/m3] !------------------------------------------------------------------- diagID = 'AerMassNH4' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%AerMassNH4, & archiveData = State_Diag%Archive_AerMassNH4, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Aerosol mass of NIT [kg/m3] !------------------------------------------------------------------- diagID = 'AerMassNIT' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%AerMassNIT, & archiveData = State_Diag%Archive_AerMassNIT, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Aerosol mass of total seasalt (SALA + SALC) [ug/m3] !------------------------------------------------------------------- diagID = 'AerMassSAL' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%AerMassSAL, & archiveData = State_Diag%Archive_AerMassSAL, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Aerosol mass of SO4 [ug/m3] !------------------------------------------------------------------- diagID = 'AerMassSO4' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%AerMassSO4, & archiveData = State_Diag%Archive_AerMassSO4, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Aerosol mass of HMS [ug/m3] ! (jmm, 06/29/18) !------------------------------------------------------------------- diagID = 'AerMassHMS' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%AerMassHMS, & archiveData = State_Diag%Archive_AerMassHMS, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! PM2.5, aka prticulate matter with (r < 2.5 um) [ug/m3] !------------------------------------------------------------------- diagID = 'PM25' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%PM25, & archiveData = State_Diag%Archive_PM25, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !zhaisx !------------------------------------------------------------------- ! PM10, aka prticulate matter with (r < 10 um) [ug/m3] !------------------------------------------------------------------- diagID = 'PM10' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%PM10, & archiveData = State_Diag%Archive_PM10, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! PDER, aka parameterized dry effective radius for SNA and OM [nm] ! H. Zhu, April 05, 2024 !------------------------------------------------------------------- diagID = 'PDER' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%PDER, & archiveData = State_Diag%Archive_PDER, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF #ifdef MODEL_GEOS !-------------------------------------------------------------------- ! PM25 nitrates+ammonium !-------------------------------------------------------------------- diagID = 'PM25ni' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%PM25ni, & archiveData = State_Diag%Archive_PM25ni, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! PM25 nitrates !-------------------------------------------------------------------- diagID = 'PM25nit' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%PM25nit, & archiveData = State_Diag%Archive_PM25nit, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! PM25 ammonium !-------------------------------------------------------------------- diagID = 'PM25nh4' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%PM25nh4, & archiveData = State_Diag%Archive_PM25nh4, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! PM25 sulfates !-------------------------------------------------------------------- diagID = 'PM25su' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%PM25su, & archiveData = State_Diag%Archive_PM25su, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! PM25 OC !-------------------------------------------------------------------- diagID = 'PM25oc' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%PM25oc, & archiveData = State_Diag%Archive_PM25oc, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! PM25 BC !-------------------------------------------------------------------- diagID = 'PM25bc' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%PM25bc, & archiveData = State_Diag%Archive_PM25bc, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! PM25 dust !-------------------------------------------------------------------- diagID = 'PM25du' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%PM25du, & archiveData = State_Diag%Archive_PM25du, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! PM25 sea salt !-------------------------------------------------------------------- diagID = 'PM25ss' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%PM25ss, & archiveData = State_Diag%Archive_PM25ss, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! PM25 SOA !-------------------------------------------------------------------- diagID = 'PM25soa' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%PM25soa, & archiveData = State_Diag%Archive_PM25soa, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF diagID = 'TotCol' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%TotCol, & archiveData = State_Diag%Archive_TotCol, & mapData = State_Diag%Map_TotCol, & diagId = diagId, & diagFlag = 'S', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF diagID = 'PblCol' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%PblCol, & archiveData = State_Diag%Archive_PblCol, & mapData = State_Diag%Map_PblCol, & diagId = diagId, & diagFlag = 'S', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF diagID = 'TropCol' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%TropCol, & archiveData = State_Diag%Archive_TropCol, & mapData = State_Diag%Map_TropCol, & diagId = diagId, & diagFlag = 'S', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! CO2 photolysis rate !-------------------------------------------------------------------- diagID = 'CO2photrate' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%CO2photrate, & archiveData = State_Diag%Archive_CO2photrate, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! CO relative increase due to CO2 photolysis !-------------------------------------------------------------------- diagID = 'COincCO2phot' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%COincCO2phot, & archiveData = State_Diag%Archive_COincCO2phot, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF #endif !------------------------------------------------------------------- ! Total organic aerosol mass [ug/m3] !------------------------------------------------------------------- diagID = 'TotalOA' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%TotalOA, & archiveData = State_Diag%Archive_TotalOA, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Total organic carbon mass [ug/m3] !------------------------------------------------------------------- diagID = 'TotalOC' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%TotalOC, & archiveData = State_Diag%Archive_TotalOC, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ELSE !------------------------------------------------------------------- ! Halt with an error message if any of the following quantities ! have been requested as diagnostics in simulations other than ! full-chemistry simulations or aerosol-only simulations. ! ! This will prevent potential errors caused by the quantities ! being requested as diagnostic output when the corresponding ! array has not been allocated. !------------------------------------------------------------------- DO N = 1, 25 ! Select the diagnostic ID SELECT CASE( N ) CASE( 1 ) diagID = 'ProdBCPIfromBCPO' CASE( 2 ) diagID = 'ProdOCPIfromOCPO' CASE( 3 ) diagID = 'AODDust' CASE( 4 ) TmpWL = RadWL(1) diagID = 'AODDust' // TRIM( TmpWL ) // 'nm' CASE( 5 ) TmpWL = RadWL(2) diagID = 'AODDust' // TRIM( TmpWL ) // 'nm' CASE( 6 ) TmpWL = RadWL(3) diagID = 'AODDust' // TRIM( TmpWL ) // 'nm' CASE( 7 ) diagID = 'ProdSO4fromH2O2inCloud' CASE( 8 ) diagID = 'ProdSO4fromO3inCloud' CASE( 9 ) diagID = 'ProdSO4fromO2inCloudMetal' CASE( 10 ) diagID = 'ProdSO4fromO3inSeaSalt' CASE( 11 ) diagID = 'ProdSO4fromSRO3' CASE( 12 ) diagID = 'ProdSO4fromO3s' CASE( 13 ) diagID = 'LossHNO3onSeaSalt' CASE( 14 ) diagID = 'PM25' CASE( 15 ) diagID = 'AerMassBC' CASE( 16 ) diagID = 'AerMassNH4' CASE( 17 ) diagID = 'AerMassNIT' CASE( 18 ) diagID = 'AerMassSAL' CASE( 19 ) diagID = 'AerMassSO4' CASE( 20 ) diagID = 'TotalOA' CASE( 21 ) diagID = 'TotalOC' CASE( 22 ) ! (jmm, 06/29/18) diagID = 'ProdSO4fromHMSinCloud' CASE( 23 ) ! (jmm, 06/29/18) diagID = 'ProdHMSfromSO2andHCHOinCloud' CASE( 24 ) ! (jmm, 06/29/18) diagID = 'AerMassHMS' CASE( 25 ) ! (jmm, 06/29/18) diagID = 'ProdSO2andHCHOfromHMSinCloud' END SELECT ! Exit if any of the above are in the diagnostic list CALL Check_DiagList( am_I_Root, Diag_List, diagID, Found, RC ) IF ( Found ) THEN ErrMsg = TRIM( diagId ) // ' is a requested diagnostic, ' // & 'but this is only appropriate for full-chemistry ' // & 'simulations or aerosol-only simulations.' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDDO ENDIF !======================================================================= ! The following diagnostic quantities are only relevant for: ! ! THE AEROSOL-ONLY SPECIALTY SIMULATION !======================================================================= IF ( Input_Opt%ITS_AN_AEROSOL_SIM ) THEN !-------------------------------------------------------------------- ! Production of SO4 in gas phase !-------------------------------------------------------------------- diagID = 'ProdSO4fromGasPhase' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdSO4fromGasPhase, & archiveData = State_Diag%Archive_ProdSO4fromGasPhase, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Production of MSA from DMS !-------------------------------------------------------------------- diagID = 'ProdMSAfromDMS' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdMSAfromDMS, & archiveData = State_Diag%Archive_ProdMSAfromDMS, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Total production of SO2 from DMS !-------------------------------------------------------------------- diagID = 'ProdSO2fromDMS' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdSO2fromDMS, & archiveData = State_Diag%Archive_ProdSO2fromDMS, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Production of SO2 from DMS and NO3 !-------------------------------------------------------------------- diagID = 'ProdSO2fromDMSandNO3' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdSO2fromDMSandNO3, & archiveData = State_Diag%Archive_ProdSO2fromDMSandNO3, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Production of SO2 from DMS and OH !-------------------------------------------------------------------- diagID = 'ProdSO2fromDMSandOH' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdSO2fromDMSandOH, & archiveData = State_Diag%Archive_ProdSO2fromDMSandOH, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ELSE !------------------------------------------------------------------- ! Halt with an error message if any of the following quantities ! have been requested as diagnostics in simulations other than ! aerosol-only. ! ! This will prevent potential errors caused by the quantities ! being requested as diagnostic output when the corresponding ! array has not been allocated. !------------------------------------------------------------------- DO N = 1, 5 ! Select the diagnostic ID SELECT CASE( N ) CASE( 1 ) diagID = 'ProdMSAfromDMS' CASE( 2 ) diagID = 'ProdSO2fromDMS' CASE( 3 ) diagID = 'ProdSO2fromDMSandNO3' CASE( 4 ) diagID = 'ProdSO2fromDMSandOH' CASE( 5 ) diagID = 'ProdSO4fromGasPhase' END SELECT ! Exit if any of the above are in the diagnostic list CALL Check_DiagList( am_I_Root, Diag_List, diagID, Found, RC ) IF ( Found ) THEN ErrMsg = TRIM( diagId ) // ' is a requested diagnostic, ' // & 'but this is only appropriate for aerosol-only ' // & 'simulations.' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDDO ENDIF !======================================================================= ! The production and loss diagnostics are only relevant for: ! ! (1) All simulations implemented as KPP chemical mechanisms ! - fullchem (including extra options like benchmark, *SOA*, etc.) ! - carbon ! - Hg ! (2) The Tagged CO specialty simulation ! (3) The Tagged O3 specialty simulation !======================================================================= IF ( Input_Opt%ITS_A_FULLCHEM_SIM .or. & Input_Opt%ITS_A_CARBON_SIM .or. & Input_Opt%ITS_A_MERCURY_SIM .or. & Input_Opt%ITS_A_TAGO3_SIM ) THEN !-------------------------------------------------------------------- ! Satellite Diagnostic: Chemical loss for selected species or families !-------------------------------------------------------------------- diagID = 'SatDiagnLoss' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%SatDiagnLoss, & archiveData = State_Diag%Archive_SatDiagnLoss, & mapData = State_Diag%Map_SatDiagnLoss, & diagId = diagId, & diagFlag = 'X', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Chemical loss for selected species or families !-------------------------------------------------------------------- diagID = 'Loss' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%Loss, & archiveData = State_Diag%Archive_Loss, & mapData = State_Diag%Map_Loss, & diagId = diagId, & diagFlag = 'X', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Satellite Diagnostic: Chemical production for selected species or families !-------------------------------------------------------------------- diagID = 'SatDiagnProd' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%SatDiagnProd, & archiveData = State_Diag%Archive_SatDiagnProd, & mapData = State_Diag%Map_SatDiagnProd, & diagId = diagId, & diagFlag = 'Y', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Chemical production for selected species or families !-------------------------------------------------------------------- diagID = 'Prod' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%Prod, & archiveData = State_Diag%Archive_Prod, & mapData = State_Diag%Map_Prod, & diagId = diagId, & diagFlag = 'Y', & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ELSE !------------------------------------------------------------------- ! Halt with an error message if any of the following quantities ! have been requested as diagnostics in simulations other than ! full-chemistry, tagged CO, or tagged O3 simulations. ! ! This will prevent potential errors caused by the quantities ! being requested as diagnostic output when the corresponding ! array has not been allocated. !------------------------------------------------------------------- DO N = 1, 2 ! Select the diagnostic ID SELECT CASE( N ) CASE( 1 ) diagID = 'Loss' CASE( 2 ) diagID = 'Prod' END SELECT ! Exit if any of the above are in the diagnostic list CALL Check_DiagList( am_I_Root, Diag_List, diagID, Found, RC ) IF ( Found ) THEN ErrMsg = TRIM( diagId ) // ' is a requested diagnostic, ' // & 'but this is only appropriate for full-chemistry, '// & 'tagged CO, or tagged O3 simulations.' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDDO ENDIF !======================================================================= ! These diagnostics are only relevant for: ! ! THE FULL-CHEMISTRY SIMULATION WITH ACID UPTAKE ON DUST SPECIES ! (aka "aciduptake") !======================================================================= IF ( Input_Opt%ITS_A_FULLCHEM_SIM .and. Input_Opt%LDSTUP ) THEN !-------------------------------------------------------------------- ! Production of SO4 from oxidation on dust !-------------------------------------------------------------------- diagID = 'ProdSO4fromOxidationOnDust' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdSO4fromOxidationOnDust, & archiveData = State_Diag%Archive_ProdSO4fromOxidationOnDust, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Production of NIT from HNO3 uptake on dust !-------------------------------------------------------------------- diagID = 'ProdNITfromHNO3uptakeOnDust' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdNITfromHNO3uptakeOnDust, & archiveData = State_Diag%Archive_ProdNITfromHNO3uptakeOnDust, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Production of SO4 from uptake of H2SO4(g) !-------------------------------------------------------------------- diagID = 'ProdSO4fromUptakeOfH2SO4g' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdSO4fromUptakeOfH2SO4g, & archiveData = State_Diag%Archive_ProdSO4fromUptakeOfH2SO4g, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ELSE !------------------------------------------------------------------- ! Halt with an error message if any of the following quantities ! have been requested as diagnostics in simulations other than ! acid uptake on dust aerosols. ! ! This will prevent potential errors caused by the quantities ! being requested as diagnostic output when the corresponding ! array has not been allocated. !------------------------------------------------------------------- DO N = 1, 3 ! Select the diagnostic ID SELECT CASE( N ) CASE( 1 ) diagID = 'ProdSO4fromOxidationOnDust' CASE( 2 ) diagID = 'ProdNITfromHNO3uptakeOnDust' CASE( 3 ) diagID = 'ProdSO4fromUptakeOfH2SO4g' END SELECT ! Exit if any of the above are in the diagnostic list CALL Check_DiagList( am_I_Root, Diag_List, diagID, Found, RC ) IF ( Found ) THEN ErrMsg = TRIM( diagId ) // ' is a requested diagnostic, ' // & 'but this is only appropriate for acid uptake ' // & 'on dust aerosol simulations (aka "aciduptake").' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDDO ENDIF !======================================================================= ! These diagnostics are only relevant for: ! ! THE PERSISTENT ORGANIC POLLUTANTS (POPS) SPECIALTY SIMULATION !======================================================================= IF ( Input_Opt%ITS_A_POPS_SIM ) THEN !-------------------------------------------------------------------- ! Loss of POPPOC by gas phase !-------------------------------------------------------------------- diagID = 'LossPOPPOCPObyGasPhase' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%LossPOPPOCPObyGasPhase, & archiveData = State_Diag%Archive_LossPOPPOCPObyGasPhase, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Prod of POPPOC from gas phase !-------------------------------------------------------------------- diagID = 'ProdPOPPOCPOfromGasPhase' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdPOPPOCPOfromGasPhase, & archiveData = State_Diag%Archive_ProdPOPPOCPOfromGasPhase, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Loss of POPPBC by gas phase !-------------------------------------------------------------------- diagID = 'LossPOPPBCPObyGasPhase' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%LossPOPPBCPObyGasPhase, & archiveData = State_Diag%Archive_LossPOPPBCPObyGasPhase, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Prod of POPPBC by gas phase !-------------------------------------------------------------------- diagID = 'ProdPOPPBCPObyGasPhase' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdPOPPBCPOfromGasPhase, & archiveData = State_Diag%Archive_ProdPOPPBCPOfromGasPhase, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Prod of POPG from OH !-------------------------------------------------------------------- diagID = 'ProdPOPGfromOH' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdPOPGfromOH, & archiveData = State_Diag%Archive_ProdPOPGfromOH, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Prod of POPPOCPO from O3 !-------------------------------------------------------------------- diagID = 'ProdPOPPOCPOfromO3' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdPOPPOCPOfromO3, & archiveData = State_Diag%Archive_ProdPOPPOCPOfromO3, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Prod of POPPOCPI from O3 !-------------------------------------------------------------------- diagID = 'ProdPOPPOCPIfromO3' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdPOPPOCPIfromO3, & archiveData = State_Diag%Archive_ProdPOPPOCPIfromO3, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Prod of POPPBCPO from O3 !-------------------------------------------------------------------- diagID = 'ProdPOPPBCPOfromO3' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdPOPPBCPOfromO3, & archiveData = State_Diag%Archive_ProdPOPPBCPOfromO3, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Prod of POPPBCPI from O3 !-------------------------------------------------------------------- diagID = 'ProdPOPPBCPIfromO3' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdPOPPBCPIfromO3, & archiveData = State_Diag%Archive_ProdPOPPBCPIfromO3, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Prod of POPPOCPO from NO3 !-------------------------------------------------------------------- diagID = 'ProdPOPPOCPOfromNO3' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdPOPPOCPOfromNO3, & archiveData = State_Diag%Archive_ProdPOPPOCPOfromNO3, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Prod of POPPOCPI from NO3 !-------------------------------------------------------------------- diagID = 'ProdPOPPOCPIfromNO3' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdPOPPOCPIfromNO3, & archiveData = State_Diag%Archive_ProdPOPPOCPIfromNO3, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Prod of POPPBCPO from NO3 !-------------------------------------------------------------------- diagID = 'ProdPOPPBCPOfromNO3' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdPOPPBCPOfromNO3, & archiveData = State_Diag%Archive_ProdPOPPBCPOfromNO3, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Prod of POPPBCPI from NO3 !-------------------------------------------------------------------- diagID = 'ProdPOPPBCPIfromNO3' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdPOPPBCPIfromNO3, & archiveData = State_Diag%Archive_ProdPOPPBCPIfromNO3, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ELSE !------------------------------------------------------------------- ! Halt with an error message if any of the following quantities ! have been requested as diagnostics in simulations other than ! Persistent Organic Pollutants (POPS). ! ! This will prevent potential errors caused by the quantities ! being requested as diagnostic output when the corresponding ! array has not been allocated. !------------------------------------------------------------------- DO N = 1, 12 SELECT CASE( N ) CASE( 1 ) diagId = 'LossPOPPOCPObyGasPhase' CASE( 2 ) diagId = 'ProdPOPPOCPOfromGasPhase' CASE( 3 ) diagId = 'LossPOPPBPOCbyGasPhase' CASE( 4 ) diagId = 'ProdPOPPBCPOfromGasPhase' CASE( 5 ) diagId = 'ProdPOPGfromOH' CASE( 6 ) diagId = 'ProdPOPPOCPOfromO3' CASE( 7 ) diagId = 'ProdPOPPOCPIfromO3' CASE( 8 ) diagId = 'ProdPOPPBCPIfromO3' CASE( 9 ) diagId = 'ProdPOPPBCPOfromO3' CASE( 10 ) diagId = 'ProdPOPPOCPOfromNO3' CASE( 11 ) diagId = 'ProdPOPPOCPIfromNO3' CASE( 12 ) diagId = 'ProdPOPPBCPIfromNO3' END SELECT ! Exit if any of the above are in the diagnostic list CALL Check_DiagList( am_I_Root, Diag_List, diagID, Found, RC ) IF ( Found ) THEN ErrMsg = TRIM( diagId ) // ' is a requested diagnostic, ' // & 'but this is only appropriate for Persistent ' // & 'Organic Pollutants (POPs) specialty simulations.' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDDO ENDIF !======================================================================= ! The production and loss diagnostics are only relevant for: ! ! CO2 IN THE CARBON SIMULATION !======================================================================= IF ( Input_Opt%ITS_A_CARBON_SIM ) THEN !-------------------------------------------------------------------- ! Prod of CO2 from CO oxidation !-------------------------------------------------------------------- diagID = 'ProdCO2fromCO' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdCO2fromCO, & archiveData = State_Diag%Archive_ProdCO2fromCO, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ELSE !------------------------------------------------------------------- ! Halt with an error message if any of the following quantities ! have been requested as diagnostics in simulations other than CO2. ! ! This will prevent potential errors caused by the quantities ! being requested as diagnostic output when the corresponding ! array has not been allocated. !------------------------------------------------------------------- diagId = 'ProdCO2fromCO' ! Exit if any of the above are in the diagnostic list CALL Check_DiagList( am_I_Root, Diag_List, diagID, Found, RC ) IF ( Found ) THEN ErrMsg = TRIM( diagId ) // ' is a requested diagnostic, ' // & 'but this is only appropriate for the CO2 ' // & 'specialty simulation.' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !======================================================================= ! These diagnostics are only relevant for: ! ! CH4 IN THE CARBON SIMULATION !======================================================================= IF ( Input_Opt%ITS_A_CARBON_SIM ) THEN !-------------------------------------------------------------------- ! Loss of CH4 by Cl in troposphere !-------------------------------------------------------------------- diagID = 'LossCH4byClinTrop' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%LossCH4byClinTrop, & archiveData = State_Diag%Archive_LossCH4byClinTrop, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Loss of CH4 by OH in troposphere !-------------------------------------------------------------------- diagID = 'LossCH4byOHinTrop' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%LossCH4byOHinTrop, & archiveData = State_Diag%Archive_LossCH4byOHinTrop, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Loss of CH4 in the stratosphere !-------------------------------------------------------------------- diagID = 'LossCH4inStrat' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%LossCH4inStrat, & archiveData = State_Diag%Archive_LossCH4inStrat, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ELSE !------------------------------------------------------------------- ! Halt with an error message if any of the following quantities ! have been requested as diagnostics in simulations other than ! Persistent Organic Pollutants (POPS). ! ! This will prevent potential errors caused by the quantities ! being requested as diagnostic output when the corresponding ! array has not been allocated. !------------------------------------------------------------------- DO N = 1, 3 SELECT CASE( N ) CASE( 1 ) diagID = 'LossCH4byClinTrop' CASE( 2 ) diagID = 'LossCH4byOHinTrop' CASE( 3 ) diagID = 'LossCH4inStrat' END SELECT ! Exit if any of the above are in the diagnostic list CALL Check_DiagList( am_I_Root, Diag_List, diagID, Found, RC ) IF ( Found ) THEN ErrMsg = TRIM( diagId ) // ' is a requested diagnostic, ' // & 'but this is only appropriate for the CH4 ' // & 'and carbon specialty simulations.' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDDO ENDIF !======================================================================= ! These diagnostics are only relevant for: ! ! THE CARBON SIMULATION and ! THE FULL-CHEMISTRY SIMULATIONS (for archiving output for CO in carbon sim) !======================================================================= IF ( Input_Opt%ITS_A_FULLCHEM_SIM .or. & Input_Opt%ITS_A_CARBON_SIM ) THEN !-------------------------------------------------------------------- ! Production of CO from CH4 !-------------------------------------------------------------------- diagID = 'ProdCOfromCH4' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdCOfromCH4, & archiveData = State_Diag%Archive_ProdCOfromCH4, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! Production of CO from NMVOC !-------------------------------------------------------------------- diagID = 'ProdCOfromNMVOC' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdCOfromNMVOC, & archiveData = State_Diag%Archive_ProdCOfromNMVOC, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ELSE !------------------------------------------------------------------- ! Halt with an error message if any of the following quantities ! have been requested as diagnostics in simulations other than ! Persistent Organic Pollutants (POPS). ! ! This will prevent potential errors caused by the quantities ! being requested as diagnostic output when the corresponding ! array has not been allocated. !------------------------------------------------------------------- DO N = 1, 2 SELECT CASE( N ) CASE( 1 ) diagID = 'ProdCOfromCH4' CASE( 2 ) diagID = 'ProdCOfromNMVOC' END SELECT ! Exit if any of the above are in the diagnostic list CALL Check_DiagList( am_I_Root, Diag_List, diagID, Found, RC ) IF ( Found ) THEN ErrMsg = TRIM( diagId ) // ' is a requested diagnostic, ' // & 'but this is only appropriate for the ' // & 'tagged CO or full-chemistry simulations.' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDDO ENDIF !======================================================================= ! The production and loss diagnostics are only relevant for: ! ! THE Hg and TAGGED Hg SPECIALTY SIMULATIONS !======================================================================= IF ( Input_Opt%ITS_A_MERCURY_SIM ) THEN !------------------------------------------------------------------- ! Anthropogenic Hg0 emissions !------------------------------------------------------------------- diagID = 'EmisHg0anthro' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%EmisHg0anthro, & archiveData = State_Diag%Archive_EmisHg0anthro, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Biomass Hg0 emissions !------------------------------------------------------------------- diagID = 'EmisHg0biomass' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%EmisHg0biomass, & archiveData = State_Diag%Archive_EmisHg0biomass, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Geogenic Hg0 emissions !------------------------------------------------------------------- diagID = 'EmisHg0geogenic' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%EmisHg0geogenic, & archiveData = State_Diag%Archive_EmisHg0geogenic, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Land Hg0 re-emissions !------------------------------------------------------------------- diagID = 'EmisHg0land' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%EmisHg0land, & archiveData = State_Diag%Archive_EmisHg0land, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Oceanic Hg0 emissions !------------------------------------------------------------------- diagID = 'EmisHg0ocean' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%EmisHg0ocean, & archiveData = State_Diag%Archive_EmisHg0ocean, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Snow Hg0 emissions !------------------------------------------------------------------- diagID = 'EmisHg0snow' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%EmisHg0snow, & archiveData = State_Diag%Archive_EmisHg0snow, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Soil Hg0 emissions !------------------------------------------------------------------- diagID = 'EmisHg0soil' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%EmisHg0soil, & archiveData = State_Diag%Archive_EmisHg0soil, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Vegetation Hg0 emissions !------------------------------------------------------------------- diagID = 'EmisHg0vegetation' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%EmisHg0vegetation, & archiveData = State_Diag%Archive_EmisHg0vegetation, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Hg2 and HgP anthropogenic emissions ! (note: HgP is emitted into Hg2 in the current Hg simulation) !------------------------------------------------------------------- diagID = 'EmisHg2HgPanthro' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%EmisHg2HgPanthro, & archiveData = State_Diag%Archive_EmisHg2HgPanthro, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Emission of Hg2 from snowmelt into the ocean !------------------------------------------------------------------- diagID = 'EmisHg2snowToOcean' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%EmisHg2snowToOcean, & archiveData = State_Diag%Archive_EmisHg2snowToOcean, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Emission of Hg2 from snowmelt into the ocean !------------------------------------------------------------------- diagID = 'EmisHg2rivers' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%EmisHg2rivers, & archiveData = State_Diag%Archive_EmisHg2rivers, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Flux of Hg2 and HgP from air to snow/ice !------------------------------------------------------------------- diagID = 'FluxHg2HgPfromAirToSnow' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%FluxHg2HgPfromAirToSnow, & archiveData = State_Diag%Archive_FluxHg2HgPfromAirToSnow, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Flux of Hg0 from air to ocean !------------------------------------------------------------------- diagID = 'FluxHg0fromAirToOcean' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%FluxHg0fromAirToOcean, & archiveData = State_Diag%Archive_FluxHg0fromAirToOcean, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Flux of Hg0 from ocean to air !------------------------------------------------------------------- diagID = 'FluxHg0fromOceanToair' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%FluxHg0fromOceanToAir, & archiveData = State_Diag%Archive_FluxHg0fromOceanToAir, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Flux of Hg2 to the deep ocean !------------------------------------------------------------------- diagID = 'FluxHg2toDeepOcean' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%FluxHg2toDeepOcean, & archiveData = State_Diag%Archive_FluxHg2toDeepOcean, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Flux of organic carbon to the deep ocean !------------------------------------------------------------------- diagID = 'FluxOCtoDeepOcean' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%FluxOCtoDeepOcean, & archiveData = State_Diag%Archive_FluxOCtoDeepOcean, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Flux of Hg2 and HgP deposited to the ocean !------------------------------------------------------------------- diagID = 'FluxHg2HgPfromAirToOcean' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%FluxHg2HgPfromAirToOcean, & archiveData = State_Diag%Archive_FluxHg2HgPfromAirToOcean, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Mass of Hg0 in the ocean !------------------------------------------------------------------- diagID = 'MassHg0inOcean' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%MassHg0inOcean, & archiveData = State_Diag%Archive_MassHg0inOcean, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Mass of Hg2 in the ocean !------------------------------------------------------------------- diagID = 'MassHg2inOcean' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%MassHg2inOcean, & archiveData = State_Diag%Archive_MassHg2inOcean, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Mass of HgP in the ocean !------------------------------------------------------------------- diagID = 'MassHgPinOcean' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%MassHgPinOcean, & archiveData = State_Diag%Archive_MassHgPinOcean, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Mass of total Hg in the ocean !------------------------------------------------------------------- diagID = 'MassHgTotalInOcean' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%MassHgTotalInOcean, & archiveData = State_Diag%Archive_MassHgTotalInOcean, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! From Viral Shah (MSL, 7.1.21) !------------------------------------------------------------------- ! HgBr concentration after chemistry !------------------------------------------------------------------- diagID = 'HgBrAfterChem' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%HgBrAfterChem, & archiveData = State_Diag%Archive_HgBrAfterChem, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! HgCl concentration after chemistry !------------------------------------------------------------------- diagID = 'HgClAfterChem' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%HgClAfterChem, & archiveData = State_Diag%Archive_HgClAfterChem, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! HgOH concentration after chemistry !------------------------------------------------------------------- diagID = 'HgOHAfterChem' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%HgOHAfterChem, & archiveData = State_Diag%Archive_HgOHAfterChem, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! HgBrO concentration after chemistry !------------------------------------------------------------------- diagID = 'HgBrOAfterChem' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%HgBrOAfterChem, & archiveData = State_Diag%Archive_HgBrOAfterChem, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! HgClO concentration after chemistry !------------------------------------------------------------------- diagID = 'HgClOAfterChem' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%HgClOAfterChem, & archiveData = State_Diag%Archive_HgClOAfterChem, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! HgOHO concentration after chemistry !------------------------------------------------------------------- diagID = 'HgOHOAfterChem' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%HgOHOAfterChem, & archiveData = State_Diag%Archive_HgOHOAfterChem, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Hg2Gas transferred to Hg2P !------------------------------------------------------------------- diagID = 'Hg2GToHg2P' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%Hg2GToHg2P, & archiveData = State_Diag%Archive_Hg2GToHg2P, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Hg2P transferred to Hg2Gas !------------------------------------------------------------------- diagID = 'Hg2PToHg2G' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%Hg2PToHg2G, & archiveData = State_Diag%Archive_Hg2PToHg2G, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Hg2Gas transferred to Hg2StrP !------------------------------------------------------------------- diagID = 'Hg2GasToHg2StrP' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%Hg2GasToHg2StrP, & archiveData = State_Diag%Archive_Hg2GasToHg2StrP, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Hg2Gas taken up by sea salt aerosols !------------------------------------------------------------------- diagID = 'Hg2GasToSSA' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%Hg2GasToSSA, & archiveData = State_Diag%Archive_Hg2GasToSSA, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !---------------------------------------------------------------- ! Br concentration !---------------------------------------------------------------- diagID = 'ConcBr' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ConcBr, & archiveData = State_Diag%Archive_ConcBr, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------------- ! BrO concentration !-------------------------------------------------------------------- diagID = 'ConcBrO' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ConcBrO, & archiveData = State_Diag%Archive_ConcBrO, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !---------------------------------------------------------------- ! Br concentration in polar regions !---------------------------------------------------------------- diagID = 'PolarConcBr' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%PolarConcBr, & archiveData = State_Diag%Archive_PolarConcBr, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !---------------------------------------------------------------- ! BrO concentration in polar regions !---------------------------------------------------------------- diagID = 'PolarConcBrO' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%PolarConcBrO, & archiveData = State_Diag%Archive_PolarConcBrO, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !---------------------------------------------------------------- ! O3 concentration in polar regions !---------------------------------------------------------------- diagID = 'PolarConcO3' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%PolarConcO3, & archiveData = State_Diag%Archive_PolarConcO3, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !---------------------------------------------------------------- ! Loss of Hg2 by sea salt !---------------------------------------------------------------- diagID = 'LossHg2bySeaSalt' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%LossHg2bySeaSalt, & archiveData = State_Diag%Archive_LossHg2bySeaSalt, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !---------------------------------------------------------------- ! Loss rate of Hg2 by sea salt !---------------------------------------------------------------- diagID = 'LossRateHg2bySeaSalt' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%LossRateHg2bySeaSalt, & archiveData = State_Diag%Archive_LossRateHg2bySeaSalt, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !--------------------------------------------------------------------- ! Production of Hg2 from Br !--------------------------------------------------------------------- diagID = 'ProdHg2fromBr' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdHg2fromBr, & archiveData = State_Diag%Archive_ProdHg2fromBr, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !--------------------------------------------------------------------- ! Production of Hg2 from BrY !--------------------------------------------------------------------- diagID = 'ProdHg2fromBrY' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdHg2fromBrY, & archiveData = State_Diag%Archive_ProdHg2fromBrY, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !--------------------------------------------------------------------- ! Production of Hg2 from ClY !--------------------------------------------------------------------- diagID = 'ProdHg2fromClY' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdHg2fromClY, & archiveData = State_Diag%Archive_ProdHg2fromClY, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !--------------------------------------------------------------------- ! Production of Hg2 from Hg0 !--------------------------------------------------------------------- diagID = 'ProdHg2fromHg0' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdHg2fromHg0, & archiveData = State_Diag%Archive_ProdHg2fromHg0, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !--------------------------------------------------------------------- ! Production of Hg2 from HgBr + Br2 !--------------------------------------------------------------------- diagID = 'ProdHg2fromHgBrPlusBr2' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdHg2fromHgBrPlusBr2, & archiveData = State_Diag%Archive_ProdHg2fromHgBrPlusBr2, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !--------------------------------------------------------------------- ! Production of Hg2 from HgBr + BrBrO !--------------------------------------------------------------------- diagID = 'ProdHg2fromHgBrPlusBrBrO' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdHg2fromHgBrPlusBrBrO, & archiveData = State_Diag%Archive_ProdHg2fromHgBrPlusBrBrO, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !--------------------------------------------------------------------- ! Production of Hg2 from HgBr + BrClO !--------------------------------------------------------------------- diagID = 'ProdHg2fromHgBrPlusBrClO' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdHg2fromHgBrPlusBrClO, & archiveData = State_Diag%Archive_ProdHg2fromHgBrPlusBrClO, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !--------------------------------------------------------------------- ! Production of Hg2 from HgBr + BrHO2 !--------------------------------------------------------------------- diagID = 'ProdHg2fromHgBrPlusBrHO2' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdHg2fromHgBrPlusBrHO2, & archiveData = State_Diag%Archive_ProdHg2fromHgBrPlusBrHO2, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !--------------------------------------------------------------------- ! Production of Hg2 from HgBr + BrNO2 !--------------------------------------------------------------------- diagID = 'ProdHg2fromHgBrPlusBrNO2' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdHg2fromHgBrPlusBrNO2, & archiveData = State_Diag%Archive_ProdHg2fromHgBrPlusBrNO2, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !--------------------------------------------------------------------- ! Production of Hg2 from HgBr + BrOH !--------------------------------------------------------------------- diagID = 'ProdHg2fromHgBrPlusBrOH' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdHg2fromHgBrPlusBrOH, & archiveData = State_Diag%Archive_ProdHg2fromHgBrPlusBrOH, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !--------------------------------------------------------------------- ! Production of Hg2 from O3 !--------------------------------------------------------------------- diagID = 'ProdHg2fromO3' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdHg2fromO3, & archiveData = State_Diag%Archive_ProdHg2fromO3, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !--------------------------------------------------------------------- ! Production of Hg2 from OH !--------------------------------------------------------------------- diagID = 'ProdHg2fromOH' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ProdHg2fromOH, & archiveData = State_Diag%Archive_ProdHg2fromOH, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Particulate Bound Hg (PBM) !------------------------------------------------------------------- diagID = 'ParticulateBoundHg' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ParticulateBoundHg, & archiveData = State_Diag%Archive_ParticulateBoundHg, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------- ! Reactive Gaseous Hg (RGM) !------------------------------------------------------------------- diagID = 'ReactiveGaseousHg' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & DiagList = Diag_List, & TaggedDiagList = TaggedDiag_List, & Ptr2Data = State_Diag%ReactiveGaseousHg, & archiveData = State_Diag%Archive_ReactiveGaseousHg, & diagId = diagId, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ELSE !------------------------------------------------------------------- ! Halt with an error message if any of the following quantities ! have been requested as diagnostics in simulations other than ! Hg and/or tagged Hg. ! ! This will prevent potential errors caused by the quantities ! being requested as diagnostic output when the corresponding ! array has not been allocated. !------------------------------------------------------------------- DO N = 1, 41 SELECT CASE( N ) CASE( 1 ) diagId = 'ConcBr' CASE( 2 ) diagId = 'ConcBro' CASE( 3 ) diagId = 'LossHg2bySeaSalt' CASE( 4 ) diagId = 'LossRateHg2bySeaSalt' CASE( 5 ) diagId = 'PolarConcBr' CASE( 6 ) diagId = 'PolarConcBrO' CASE( 7 ) diagId = 'PolarConcO3' CASE( 8 ) diagId = 'ProdHg2fromBr' CASE( 9 ) diagId = 'ProdHg2fromBrY' CASE( 10 ) diagId = 'ProdHg2fromClY' CASE( 11 ) diagId = 'ProdHg2fromHg0' CASE( 12 ) diagId = 'ProdHg2fromHgBrPlusBr2' CASE( 13 ) diagId = 'ProdHg2fromHgBrPlusBrBrO' CASE( 14 ) diagId = 'ProdHg2fromHgBrPlusBrClO' CASE( 15 ) diagId = 'ProdHg2fromHgBrPlusBrHO2' CASE( 16 ) diagId = 'ProdHg2fromHgBrPlusBrNO2' CASE( 17 ) diagId = 'ProdHg2fromHgBrPlusBrOH' CASE( 18 ) diagId = 'ProdHg2fromO3' CASE( 19 ) diagId = 'ProdHg2fromOH' CASE( 20 ) diagId = 'ParticulateBoundHg' CASE( 21 ) diagId = 'ReactiveGaseousHg' CASE( 22 ) diagId = 'EmisHg0anthro' CASE( 23 ) diagId = 'EmisHg0biomass' CASE( 24 ) diagId = 'EmisHg0geogenic' CASE( 25 ) diagId = 'EmisHg0land' CASE( 26 ) diagId = 'EmisHg0ocean' CASE( 27 ) diagId = 'EmisHg0soil' CASE( 28 ) diagId = 'EmisHg0snow' CASE( 29 ) diagId = 'EmisHg0vegetation' CASE( 30 ) diagId = 'EmisHg2HgPanthro' CASE( 31 ) diagId = 'EmisHg2snowToOcean' CASE( 32 ) diagId = 'EmisHg2rivers' CASE( 33 ) diagId = 'FluxHg2HgPfromAirToSnow' CASE( 34 ) diagId = 'FluxHg0froimAirToOcean' CASE( 35 ) diagId = 'FluxHg0fromOceanToAir' CASE( 36 ) diagId = 'FluxHg2HgPfromAirToOcean' CASE( 37 ) diagId = 'FluxOCtoDeepOcean' CASE( 38 ) diagId = 'MassHg0inOcean' CASE( 39 ) diagId = 'MassHg2inOcean' CASE( 40 ) diagId = 'MassHgPinOcean' CASE( 41 ) diagId = 'MassHgTotalInOcean' END SELECT ! Exit if any of the above are in the diagnostic list CALL Check_DiagList( am_I_Root, Diag_List, diagID, Found, RC ) IF ( Found ) THEN ErrMsg = TRIM( diagId ) // ' is a requested diagnostic, ' // & 'but this is only appropriate for the mercury ' // & 'specialty simulation.' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDDO ENDIF ! Format statement 20 FORMAT( 1x, a32, ' is registered as: ', a ) !!------------------------------------------------------------------- !! Template for adding more diagnostics arrays !! Search and replace 'xxx' with array name !!------------------------------------------------------------------- !diagID = 'xxx' !CALL Init_and_Register( & ! Input_Opt = Input_Opt, & ! State_Chm = State_Chm, & ! State_Diag = State_Diag, & ! State_Grid = State_Grid, & ! DiagList = Diag_List, & ! TaggedDiagList = TaggedDiag_List, & ! Ptr2Data = State_Diag%xxx, & ! archiveData = State_Diag%Archive_xxx, & ! mapData = State_Diag%Map_xxx, & ! diagId = diagId, & ! RC = RC ) ! !IF( RC /= GC_SUCCESS ) THEN ! errMsg = TRIM( errMsg_ir ) // TRIM( diagId ) ! CALL GC_Error( errMsg, RC, thisLoc ) ! RETURN !ENDIF !======================================================================== ! Once we are done registering all fields, we need to define the ! registry lookup table. This algorithm will avoid hash collisions. !======================================================================== CALL Registry_Set_LookupTable( Registry = State_Diag%Registry, & RegDict = State_Diag%RegDict, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in routine "Registry_Set_LookupTable"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !======================================================================== ! Print information about the registered fields (short format) !======================================================================== IF ( Input_Opt%amIRoot .and. Input_Opt%Verbose ) THEN WRITE( 6, 30 ) 30 FORMAT( /, & 'Registered variables contained within the State_Diag object:' ) WRITE( 6, '(a)' ) REPEAT( '=', 79 ) ! Print registered fields CALL Registry_Print( Input_Opt = Input_Opt, & Registry = State_Diag%Registry, & ShortFormat = .TRUE., & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Registry_Print"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !======================================================================== ! Set high-level logicals for diagnostics !======================================================================= State_Diag%Archive_Budget = & ( State_Diag%Archive_BudgetEmisDryDepFull .or. & State_Diag%Archive_BudgetEmisDryDepTrop .or. & State_Diag%Archive_BudgetEmisDryDepPBL .or. & State_Diag%Archive_BudgetEmisDryDepLevs .or. & State_Diag%Archive_BudgetTransportFull .or. & State_Diag%Archive_BudgetTransportTrop .or. & State_Diag%Archive_BudgetTransportPBL .or. & State_Diag%Archive_BudgetTransportLevs .or. & State_Diag%Archive_BudgetMixingFull .or. & State_Diag%Archive_BudgetMixingTrop .or. & State_Diag%Archive_BudgetMixingPBL .or. & State_Diag%Archive_BudgetMixingLevs .or. & State_Diag%Archive_BudgetConvectionFull .or. & State_Diag%Archive_BudgetConvectionTrop .or. & State_Diag%Archive_BudgetConvectionPBL .or. & State_Diag%Archive_BudgetConvectionLevs .or. & State_Diag%Archive_BudgetChemistryFull .or. & State_Diag%Archive_BudgetChemistryTrop .or. & State_Diag%Archive_BudgetChemistryPBL .or. & State_Diag%Archive_BudgetChemistryLevs .or. & State_Diag%Archive_BudgetWetDepFull .or. & State_Diag%Archive_BudgetWetDepTrop .or. & State_Diag%Archive_BudgetWetDepPBL .or. & State_Diag%Archive_BudgetWetDepLevs ) State_Diag%Archive_AerMass = ( State_Diag%Archive_AerMassASOA .or. & State_Diag%Archive_AerMassBC .or. & State_Diag%Archive_AerMassINDIOL .or. & State_Diag%Archive_AerMassISN1OA .or. & State_Diag%Archive_AerMassLVOCOA .or. & State_Diag%Archive_AerMassNH4 .or. & State_Diag%Archive_AerMassNIT .or. & State_Diag%Archive_AerMassOPOA .or. & State_Diag%Archive_AerMassPOA .or. & State_Diag%Archive_AerMassSAL .or. & State_Diag%Archive_AerMassSO4 .or. & State_Diag%Archive_AerMassHMS .or. & !(jmm, 06/29/18) State_Diag%Archive_AerMassSOAGX .or. & State_Diag%Archive_AerMassSOAIE .or. & State_Diag%Archive_AerMassTSOA .or. & State_Diag%Archive_BetaNO .or. & State_Diag%Archive_PM25 .or. & State_Diag%Archive_PM10 .or. & State_Diag%Archive_TotalOA .or. & State_Diag%Archive_TotalOC .or. & State_Diag%Archive_TotalBiogenicOA ) #ifdef TOMAS State_Diag%Archive_Tomas = ( State_Diag%Archive_TomasH2SO4mass .or. & State_Diag%Archive_TomasH2SO4number .or. & State_Diag%Archive_TomasCOAGmass .or. & State_Diag%Archive_TomasCOAGnumber .or. & State_Diag%Archive_TomasNUCRATEFN .or. & State_Diag%Archive_TomasNUCLmass .or. & State_Diag%Archive_TomasNUCLnumber .or. & State_Diag%Archive_TomasNUCRATEnumber .or. & State_Diag%Archive_TomasAQOXmass .or. & State_Diag%Archive_TomasAQOXnumber .or. & State_Diag%Archive_TomasMNFIXmass .or. & State_Diag%Archive_TomasMNFIXnumber .or. & State_Diag%Archive_TomasMNFIXh2so4mass .or. & State_Diag%Archive_TomasMNFIXh2so4number .or. & State_Diag%Archive_TomasMNFIXcoagmass .or. & State_Diag%Archive_TomasMNFIXcoagnumber .or. & State_Diag%Archive_TomasMNFIXaqoxmass .or. & State_Diag%Archive_TomasMNFIXaqoxnumber .or. & State_Diag%Archive_TomasMNFIXezwat1mass .or. & State_Diag%Archive_TomasMNFIXezwat1number .or. & State_Diag%Archive_TomasMNFIXezwat2mass .or. & State_Diag%Archive_TomasMNFIXezwat2number .or. & State_Diag%Archive_TomasMNFIXezwat3mass .or. & State_Diag%Archive_TomasMNFIXezwat3number .or. & State_Diag%Archive_TomasMNFIXcheck1mass .or. & State_Diag%Archive_TomasMNFIXcheck1number .or. & State_Diag%Archive_TomasMNFIXcheck2mass .or. & State_Diag%Archive_TomasMNFIXcheck2number .or. & State_Diag%Archive_TomasMNFIXcheck3mass .or. & State_Diag%Archive_TomasMNFIXcheck3number .or. & State_Diag%Archive_TomasSOAmass .or. & State_Diag%Archive_TomasSOAnumber ) #endif State_Diag%Archive_AOD = ( State_Diag%Archive_AODHygWL1 .or. & State_Diag%Archive_AODHygWL2 .or. & State_Diag%Archive_AODHygWL3 .or. & State_Diag%Archive_PDER .or. & ! H. Zhu, April 05, 2024 State_Diag%Archive_AODSOAfromAqIsopWL1 .or. & State_Diag%Archive_AODSOAfromAqIsopWL2 .or. & State_Diag%Archive_AODSOAfromAqIsopWL3 .or. & State_Diag%Archive_AODDust .or. & State_Diag%Archive_AODDustWL1 .or. & State_Diag%Archive_AODDustWL2 .or. & State_Diag%Archive_AODDustWL3 ) State_Diag%Archive_AODStrat = ( State_Diag%Archive_AODSLAWL1 .or. & State_Diag%Archive_AODSLAWL2 .or. & State_Diag%Archive_AODSLAWL3 .or. & State_Diag%Archive_AODPSCWL1 .or. & State_Diag%Archive_AODPSCWL2 .or. & State_Diag%Archive_AODPSCWL3 .or. & State_Diag%Archive_AerNumDenSLA .or. & State_Diag%Archive_AerNumDenPSC ) State_Diag%Archive_ConcAboveSfc = & ( State_Diag%Archive_SpeciesConcALT1 .and. & State_Diag%Archive_DryDepRaALT1 .and. & State_Diag%Archive_DryDepVelForALT1 ) State_Diag%Archive_KppDiags = ( State_Diag%Archive_KppIntCounts .or. & State_Diag%Archive_KppJacCounts .or. & State_Diag%Archive_KppTotSteps .or. & State_Diag%Archive_KppAccSteps .or. & State_Diag%Archive_KppRejSteps .or. & State_Diag%Archive_KppLuDecomps .or. & State_Diag%Archive_KppSubsts .or. & State_Diag%Archive_KppSmDecomps .or. & State_Diag%Archive_KppNegatives .or. & State_Diag%Archive_KppNegatives0 .or. & State_Diag%Archive_KppAutoReducerNVAR .or. & State_Diag%Archive_KppAutoReduceThres .or. & State_Diag%Archive_KppcNONZERO .or. & State_Diag%Archive_KppTime .or. & State_Diag%Archive_KppDiags ) State_Diag%Archive_RadOptics = ( State_Diag%Archive_RadAODWL1 .or. & State_Diag%Archive_RadAODWL2 .or. & State_Diag%Archive_RadAODWL3 .or. & State_Diag%Archive_RadSSAWL1 .or. & State_Diag%Archive_RadSSAWL2 .or. & State_Diag%Archive_RadSSAWL3 .or. & State_Diag%Archive_RadAsymWL1 .or. & State_Diag%Archive_RadAsymWL2 .or. & State_Diag%Archive_RadAsymWL3 ) State_Diag%Archive_Metrics = ( & State_Diag%Archive_AirMassColumnFull .or. & State_Diag%Archive_AirMassColumnTrop .or. & State_Diag%Archive_CH4emission .or. & State_Diag%Archive_CH4massColumnFull .or. & State_Diag%Archive_CH4massColumnTrop .or. & State_Diag%Archive_LossOHbyCH4columnTrop .or. & State_Diag%Archive_LossOHbyMCFcolumnTrop .or. & State_Diag%Archive_OHwgtByAirMassColumnFull .or. & State_Diag%Archive_OHwgtByAirMassColumnTrop ) !======================================================================== ! Work array used to to calculate budget diagnostics, if needed ! 4th dimension is column region: Full, Trop, PBL respectively !======================================================================== IF ( State_Diag%Archive_Budget ) THEN ALLOCATE( State_Diag%BudgetColumnMass( State_Grid%NX, & State_Grid%NY, & State_Chm%nAdvect, & 4 ), STAT=RC ) CALL GC_CheckVar( 'State_Diag%BudgetColumnMass', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF END SUBROUTINE Init_State_Diag !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Cleanup_State_Diag ! ! !DESCRIPTION: Subroutine CLEANUP\_STATE\_DIAG deallocates all fields ! of the meteorology state object. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Cleanup_State_Diag( State_Diag, RC ) ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Return code ! ! !REVISION HISTORY: ! 05 Jul 2017 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc !======================================================================== ! Initialize !======================================================================== RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> Cleanup_State_Diag (in Headers/state_diag_mod.F90)' !======================================================================== ! Deallocate module variables !======================================================================== CALL Finalize( diagId = 'SpeciesRst', & Ptr2Data = State_Diag%SpeciesRst, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'SpeciesBC', & Ptr2Data = State_Diag%SpeciesBC, & mapData = State_Diag%Map_SpeciesBC, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'SpeciesConcVV', & Ptr2Data = State_Diag%SpeciesConcVV, & mapData = State_Diag%Map_SpeciesConcVV, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'SpeciesConcMND', & Ptr2Data = State_Diag%SpeciesConcMND, & mapData = State_Diag%Map_SpeciesConcMND, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ConcBeforeChem', & Ptr2Data = State_Diag%ConcBeforeChem, & mapData = State_Diag%Map_ConcBeforeChem, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ConcAfterChem', & Ptr2Data = State_Diag%ConcAfterChem, & mapData = State_Diag%Map_ConcAfterChem, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN #ifdef ADJOINT CALL Finalize( diagId = 'SpeciesAdj', & Ptr2Data = State_Diag%SpeciesAdj, & mapData = State_Diag%Map_SpeciesAdj, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ScaleICsAdj', & Ptr2Data = State_Diag%ScaleICsAdj, & mapData = State_Diag%Map_ScaleICsAdj, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN #endif CALL Finalize( diagId = 'FracOfTimeInTrop', & Ptr2Data = State_Diag%FracOfTimeInTrop, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'BudgetColumnMass', & Ptr2Data = State_Diag%BudgetColumnMass, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'BudgetEmisDryDepFull', & Ptr2Data = State_Diag%BudgetEmisDryDepFull, & mapData = State_Diag%Map_BudgetEmisDryDepFull, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'BudgetEmisDryDepTrop', & Ptr2Data = State_Diag%BudgetEmisDryDepTrop, & mapData = State_Diag%Map_BudgetEmisDryDepTrop, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'BudgetEmisDryDepPBL', & Ptr2Data = State_Diag%BudgetEmisDryDepPBL, & mapData = State_Diag%Map_BudgetEmisDryDepPBL, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'BudgetEmisDryDepLevs', & Ptr2Data = State_Diag%BudgetEmisDryDepLevs, & mapData = State_Diag%Map_BudgetEmisDryDepLevs, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'BudgetTransportFull', & Ptr2Data = State_Diag%BudgetTransportFull, & mapData = State_Diag%Map_BudgetTransportFull, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'BudgetTransportTrop', & Ptr2Data = State_Diag%BudgetTransportTrop, & mapData = State_Diag%Map_BudgetTransportTrop, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'BudgetTransportPBL', & Ptr2Data = State_Diag%BudgetTransportPBL, & mapData = State_Diag%Map_BudgetTransportPBL, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'BudgetTransportLevs', & Ptr2Data = State_Diag%BudgetTransportLevs, & mapData = State_Diag%Map_BudgetTransportLevs, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'BudgetMixingFull', & Ptr2Data = State_Diag%BudgetMixingFull, & mapData = State_Diag%Map_BudgetMixingFull, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'BudgetMixingTrop', & Ptr2Data = State_Diag%BudgetMixingTrop, & mapData = State_Diag%Map_BudgetMixingTrop, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'BudgetMixingPBL', & Ptr2Data = State_Diag%BudgetMixingPBL, & mapData = State_Diag%Map_BudgetMixingPBL, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'BudgetMixingLevs', & Ptr2Data = State_Diag%BudgetMixingLevs, & mapData = State_Diag%Map_BudgetMixingLevs, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'BudgetConvectionFull', & Ptr2Data = State_Diag%BudgetConvectionFull, & mapData = State_Diag%Map_BudgetConvectionFull, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'BudgetConvectionTrop', & Ptr2Data = State_Diag%BudgetConvectionTrop, & mapData = State_Diag%Map_BudgetConvectionTrop, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'BudgetConvectionPBL', & Ptr2Data = State_Diag%BudgetConvectionPBL, & mapData = State_Diag%Map_BudgetConvectionPBL, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'BudgetConvectionLevs', & Ptr2Data = State_Diag%BudgetConvectionLevs, & mapData = State_Diag%Map_BudgetConvectionLevs, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'BudgetChemistryFull', & Ptr2Data = State_Diag%BudgetChemistryFull, & mapData = State_Diag%Map_BudgetChemistryFull, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'BudgetChemistryTrop', & Ptr2Data = State_Diag%BudgetChemistryTrop, & mapData = State_Diag%Map_BudgetChemistryTrop, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'BudgetChemistryPBL', & Ptr2Data = State_Diag%BudgetChemistryPBL, & mapData = State_Diag%Map_BudgetChemistryPBL, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'BudgetChemistryLevs', & Ptr2Data = State_Diag%BudgetChemistryLevs, & mapData = State_Diag%Map_BudgetChemistryLevs, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'BudgetWetDepFull', & Ptr2Data = State_Diag%BudgetWetDepFull, & mapData = State_Diag%Map_BudgetWetDepFull, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'BudgetWetDepTrop', & Ptr2Data = State_Diag%BudgetWetDepTrop, & mapData = State_Diag%Map_BudgetWetDepTrop, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'BudgetWetDepPBL', & Ptr2Data = State_Diag%BudgetWetDepPBL, & mapData = State_Diag%Map_BudgetWetDepPBL, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'BudgetWetDepLevs', & Ptr2Data = State_Diag%BudgetWetDepLevs, & mapData = State_Diag%Map_BudgetWetDepLevs, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'DryDepChm', & Ptr2Data = State_Diag%DryDepChm, & mapData = State_Diag%Map_DryDepChm, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'DryDepMix', & Ptr2Data = State_Diag%DryDepMix, & mapData = State_Diag%Map_DryDepMix, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'DryDep', & Ptr2Data = State_Diag%DryDep, & mapData = State_Diag%Map_DryDep, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'DryDepVel', & Ptr2Data = State_Diag%DryDepVel, & mapData = State_Diag%Map_DryDepVel, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'IsWater', & Ptr2Data = State_Diag%IsWater, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'IsLand', & Ptr2Data = State_Diag%IsLand, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'IsIce', & Ptr2Data = State_Diag%IsIce, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'IsSnow', & Ptr2Data = State_Diag%IsSnow, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'SatDiagnDryDep', & Ptr2Data = State_Diag%SatDiagnDryDep, & mapData = State_Diag%Map_SatDiagnDryDep, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'SatDiagnDryDepVel', & Ptr2Data = State_Diag%SatDiagnDryDepVel, & mapData = State_Diag%Map_SatDiagnDryDepVel, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'Jval', & Ptr2Data = State_Diag%Jval, & mapData = State_Diag%Map_Jval, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'JvalO3O1D', & Ptr2Data = State_Diag%Jval, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'JvalO3O3P', & Ptr2Data = State_Diag%Jval, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'SatDiagnJval', & Ptr2Data = State_Diag%SatDiagnJval, & mapData = State_Diag%Map_SatDiagnJval, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'SatDiagnJvalO3O1D', & Ptr2Data = State_Diag%SatDiagnJval, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'SatDiagnJvalO3O3P', & Ptr2Data = State_Diag%SatDiagnJval, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'JNoon', & Ptr2Data = State_Diag%JNoon, & mapData = State_Diag%Map_JNoon, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'JNoonFrac', & Ptr2Data = State_Diag%JNoonFrac, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'RxnRate', & Ptr2Data = State_Diag%RxnRate, & mapData = State_Diag%Map_RxnRate, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'SatDiagnRxnRate', & Ptr2Data = State_Diag%SatDiagnRxnRate, & mapData = State_Diag%Map_SatDiagnRxnRate, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'RxnConst', & Ptr2Data = State_Diag%RxnConst, & mapData = State_Diag%Map_RxnConst, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'OHreactivity', & Ptr2Data = State_Diag%OHreactivity, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN #ifdef MODEL_GEOS CALL Finalize( diagId = 'NOxTau', & Ptr2Data = State_Diag%NOxTau, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'TropNOxTau', & Ptr2Data = State_Diag%NOxTau, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN #endif CALL Finalize( diagId = 'SatDiagnOHreactivity', & Ptr2Data = State_Diag%SatDiagnOHreactivity, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'UvFluxDiffuse', & Ptr2Data = State_Diag%UvFluxDiffuse, & mapData = State_Diag%Map_UvFluxDiffuse, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'UvFluxDirect', & Ptr2Data = State_Diag%UvFluxDirect, & mapData = State_Diag%Map_UvFluxDirect, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'UvFluxNet', & Ptr2Data = State_Diag%UvFluxNet, & mapData = State_Diag%Map_UvFluxNet, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'OD600', & Ptr2Data = State_Diag%OD600, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'TCOD600', & Ptr2Data = State_Diag%TCOD600, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'AdvFluxZonal', & Ptr2Data = State_Diag%AdvFluxZonal, & mapData = State_Diag%Map_AdvFluxZonal, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'AdvFluxMerid', & Ptr2Data = State_Diag%AdvFluxMerid, & mapData = State_Diag%Map_AdvFluxMerid, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'AdvFluxVert', & Ptr2Data = State_Diag%AdvFluxVert, & mapData = State_Diag%Map_AdvFluxVert, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'PBLMixFrac', & Ptr2Data = State_Diag%PBLMixFrac, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'PBLFlux', & Ptr2Data = State_Diag%PBLFlux, & mapData = State_Diag%Map_PBLFlux, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'CloudConvFlux', & Ptr2Data = State_Diag%CloudConvFlux, & mapData = State_Diag%Map_CloudConvFlux, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'WetLossConv', & Ptr2Data = State_Diag%WetLossConv, & mapData = State_Diag%Map_WetLossConv, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'SatDiagnWetLossConv', & Ptr2Data = State_Diag%SatDiagnWetLossConv, & mapData = State_Diag%Map_SatDiagnWetLossConv, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'WetLossConvFrac', & Ptr2Data = State_Diag%WetLossConvFrac, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'WetLossLS', & Ptr2Data = State_Diag%WetLossLS, & mapData = State_Diag%Map_WetLossLS, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'SatDiagnWetLossLS', & Ptr2Data = State_Diag%SatDiagnWetLossLS, & mapData = State_Diag%Map_SatDiagnWetLossLS, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN ! IF ( ASSOCIATED( State_Diag%PrecipFracLS ) ) THEN ! DEALLOCATE( State_Diag%PrecipFracLS, STAT=RC ) ! CALL GC_CheckVar( 'State_Diag%PrecipFracLS', 2, RC ) ! IF ( RC /= GC_SUCCESS ) RETURN ! State_Diag%PrecipFracLS => NULL() ! ENDIF ! ! IF ( ASSOCIATED( State_Diag%RainFracLS ) ) THEN ! DEALLOCATE( State_Diag%RainFracLS, STAT=RC ) ! CALL GC_CheckVar( 'State_Diag%RainFracLS', 2, RC ) ! IF ( RC /= GC_SUCCESS ) RETURN ! State_Diag%RainFracLS => NULL() ! ENDIF ! ! IF ( ASSOCIATED( State_Diag%WashFracLS ) ) THEN ! DEALLOCATE( State_Diag%WashFracLS, STAT=RC ) ! CALL GC_CheckVar( 'State_Diag%WashFracLS', 2, RC ) ! IF ( RC /= GC_SUCCESS ) RETURN ! State_Diag%WashFracLS => NULL() ! ENDIF CALL Finalize( diagId = 'SatDiagnCount', & Ptr2Data = State_Diag%SatDiagnCount, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'SatDiagnEdgeCount', & Ptr2Data = State_Diag%SatDiagnEdgeCount, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'SatDiagnConc', & Ptr2Data = State_Diag%SatDiagnConc, & mapData = State_Diag%Map_SatDiagnConc, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'SatDiagnColEmis', & Ptr2Data = State_Diag%SatDiagnColEmis, & mapData = State_Diag%Map_SatDiagnColEmis, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'SatDiagnSurfFlux', & Ptr2Data = State_Diag%SatDiagnSurfFlux, & mapData = State_Diag%Map_SatDiagnSurfFlux, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'SatDiagnOH', & Ptr2Data = State_Diag%SatDiagnOH, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'SatDiagnRH', & Ptr2Data = State_Diag%SatDiagnRH, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'SatDiagnAirDen', & Ptr2Data = State_Diag%SatDiagnAirDen, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'SatDiagnBoxHeight', & Ptr2Data = State_Diag%SatDiagnBoxHeight, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'SatDiagnPEdge', & Ptr2Data = State_Diag%SatDiagnPEdge, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'SatDiagnPMid', & Ptr2Data = State_Diag%SatDiagnPMid, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'SatDiagnTROPP', & Ptr2Data = State_Diag%SatDiagnTROPP, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'SatDiagnTropLev', & Ptr2Data = State_Diag%SatDiagnTropLev, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'SatDiagnPBLHeight', & Ptr2Data = State_Diag%SatDiagnPBLHeight, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'SatDiagnPBLTop', & Ptr2Data = State_Diag%SatDiagnPBLTop, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'SatDiagnTAir', & Ptr2Data = State_Diag%SatDiagnTAir, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'SatDiagnCldFrac', & Ptr2Data = State_Diag%SatDiagnCldFrac, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'SatDiagnCldTopP', & Ptr2Data = State_Diag%SatDiagnCldTopP, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'SatDiagnGWETROOT', & Ptr2Data = State_Diag%SatDiagnGWETROOT, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'SatDiagnGWETTOP', & Ptr2Data = State_Diag%SatDiagnGWETTOP, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'SatDiagnPARDR', & Ptr2Data = State_Diag%SatDiagnPARDR, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'SatDiagnPARDF', & Ptr2Data = State_Diag%SatDiagnPARDF, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'SatDiagnPRECTOT', & Ptr2Data = State_Diag%SatDiagnPRECTOT, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'SatDiagnSLP', & Ptr2Data = State_Diag%SatDiagnSLP, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'SatDiagnSPHU', & Ptr2Data = State_Diag%SatDiagnSPHU, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'SatDiagnTS', & Ptr2Data = State_Diag%SatDiagnTS, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'SatDiagnPBLTOPL', & Ptr2Data = State_Diag%SatDiagnPBLTOPL, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'SatDiagnMODISLAI', & Ptr2Data = State_Diag%SatDiagnMODISLAI, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'PbFromRnDecay', & Ptr2Data = State_Diag%PbFromRnDecay, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'RadDecay', & Ptr2Data = State_Diag%RadDecay, & mapData = State_Diag%Map_RadDecay, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'RadAllSkyLWSurf', & Ptr2Data = State_Diag%RadAllSkyLWSurf, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'RadAllSkyLWTOA', & Ptr2Data = State_Diag%RadAllSkyLWTOA, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'RadAllSkySWSurf', & Ptr2Data = State_Diag%RadAllSkySWSurf, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'RadAllSkySWTOA', & Ptr2Data = State_Diag%RadAllSkySWTOA, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'RadClrSkyLWSurf', & Ptr2Data = State_Diag%RadClrSkyLWSurf, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'RadClrSkyLWTOA', & Ptr2Data = State_Diag%RadClrSkyLWTOA, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'RadAllSkySWSurf', & Ptr2Data = State_Diag%RadAllSkySWSurf, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'RadAllSkySWTOA', & Ptr2Data = State_Diag%RadAllSkySWTOA, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'RadAllSkyLWTrop', & Ptr2Data = State_Diag%RadAllSkyLWTrop, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'RadAllSkySWTrop', & Ptr2Data = State_Diag%RadAllSkySWTrop, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'RadClrSkyLWTrop', & Ptr2Data = State_Diag%RadClrSkyLWTrop, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'RadAllSkySWTrop', & Ptr2Data = State_Diag%RadAllSkySWTrop, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'RadAODWL1', & Ptr2Data = State_Diag%RadAODWL1, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'RadAODWL2', & Ptr2Data = State_Diag%RadAODWL2, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'RadAODWL3', & Ptr2Data = State_Diag%RadAODWL3, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'RadSSAWL1', & Ptr2Data = State_Diag%RadSSAWL1, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'RadSSAWL2', & Ptr2Data = State_Diag%RadSSAWL2, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'RadSSAWL3', & Ptr2Data = State_Diag%RadSSAWL3, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'RadAsymWL1', & Ptr2Data = State_Diag%RadAsymWL1, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'RadAsymWL2', & Ptr2Data = State_Diag%RadAsymWL2, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'RadAsymWL3', & Ptr2Data = State_Diag%RadAsymWL3, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdBCPIfromBCPO', & Ptr2Data = State_Diag%ProdBCPIfromBCPO, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdOCPIfromOCPO', & Ptr2Data = State_Diag%ProdOCPIfromOCPO, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'OHconcAfterChem', & Ptr2Data = State_Diag%OHconcAfterChem, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'O1DconcAfterChem', & Ptr2Data = State_Diag%O1DconcAfterChem, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'O3PconcAfterChem', & Ptr2Data = State_Diag%O3PconcAfterChem, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'CH4pseudoFlux', & Ptr2Data = State_Diag%CH4pseudoFlux, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN #ifdef TOMAS CALL Finalize( diagId = 'TomasH2SO4mass', & Ptr2Data = State_Diag%TomasH2SO4mass, & mapData = State_Diag%Map_TomasH2SO4mass, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'TomasH2SO4number', & Ptr2Data = State_Diag%TomasH2SO4number, & mapData = State_Diag%Map_TomasH2SO4number, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'TomasCOAGmass', & Ptr2Data = State_Diag%TomasCOAGmass, & mapData = State_Diag%Map_TomasCOAGmass, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'TomasCOAGnumber', & Ptr2Data = State_Diag%TomasCOAGnumber, & mapData = State_Diag%Map_TomasCOAGnumber, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'TomasNUCRATEfn', & Ptr2Data = State_Diag%TomasNUCRATEfn, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'TomasNUCLmass', & Ptr2Data = State_Diag%TomasNUCLmass, & mapData = State_Diag%Map_TomasNUCLmass, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'TomasNUCLnumber', & Ptr2Data = State_Diag%TomasNUCLnumber, & mapData = State_Diag%Map_TomasNUCLnumber, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'TomasNUCRATEnumber', & Ptr2Data = State_Diag%TomasNUCRATEnumber, & mapData = State_Diag%Map_TomasNUCRATEnumber, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'TomasAQOXmass', & Ptr2Data = State_Diag%TomasAQOXmass, & mapData = State_Diag%Map_TomasAQOXmass, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'TomasAQOXnumber', & Ptr2Data = State_Diag%TomasAQOXnumber, & mapData = State_Diag%Map_TomasAQOXnumber, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'TomasMNFIXmass', & Ptr2Data = State_Diag%TomasMNFIXmass, & mapData = State_Diag%Map_TomasMNFIXmass, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'TomasMNFIXnumber', & Ptr2Data = State_Diag%TomasMNFIXnumber, & mapData = State_Diag%Map_TomasMNFIXnumber, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'TomasMNFIXh2so4mass', & Ptr2Data = State_Diag%TomasMNFIXh2so4mass, & mapData = State_Diag%Map_TomasMNFIXh2so4mass, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'TomasMNFIXh2so4number', & Ptr2Data = State_Diag%TomasMNFIXh2so4number, & mapData = State_Diag%Map_TomasMNFIXh2so4number, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'TomasMNFIXcoagmass', & Ptr2Data = State_Diag%TomasMNFIXcoagmass, & mapData = State_Diag%Map_TomasMNFIXcoagmass, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'TomasMNFIXcoagnumber', & Ptr2Data = State_Diag%TomasMNFIXcoagnumber, & mapData = State_Diag%Map_TomasMNFIXcoagnumber, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'TomasMNFIXaqoxmass', & Ptr2Data = State_Diag%TomasMNFIXaqoxmass, & mapData = State_Diag%Map_TomasMNFIXaqoxmass, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'TomasMNFIXaqoxnumber', & Ptr2Data = State_Diag%TomasMNFIXaqoxnumber, & mapData = State_Diag%Map_TomasMNFIXaqoxnumber, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'TomasMNFIXezwat1mass', & Ptr2Data = State_Diag%TomasMNFIXezwat1mass, & mapData = State_Diag%Map_TomasMNFIXezwat1mass, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'TomasMNFIXezwat1number', & Ptr2Data = State_Diag%TomasMNFIXezwat1number, & mapData = State_Diag%Map_TomasMNFIXezwat1number, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'TomasMNFIXezwat2mass', & Ptr2Data = State_Diag%TomasMNFIXezwat2mass, & mapData = State_Diag%Map_TomasMNFIXezwat2mass, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'TomasMNFIXezwat2number', & Ptr2Data = State_Diag%TomasMNFIXezwat2number, & mapData = State_Diag%Map_TomasMNFIXezwat2number, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'TomasMNFIXezwat3mass', & Ptr2Data = State_Diag%TomasMNFIXezwat3mass, & mapData = State_Diag%Map_TomasMNFIXezwat3mass, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'TomasMNFIXezwat3number', & Ptr2Data = State_Diag%TomasMNFIXezwat3number, & mapData = State_Diag%Map_TomasMNFIXezwat3number, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'TomasMNFIXcheck1mass', & Ptr2Data = State_Diag%TomasMNFIXcheck1mass, & mapData = State_Diag%Map_TomasMNFIXcheck1mass, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'TomasMNFIXcheck1number', & Ptr2Data = State_Diag%TomasMNFIXcheck1number, & mapData = State_Diag%Map_TomasMNFIXcheck1number, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'TomasMNFIXcheck2mass', & Ptr2Data = State_Diag%TomasMNFIXcheck2mass, & mapData = State_Diag%Map_TomasMNFIXcheck2mass, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'TomasMNFIXcheck2number', & Ptr2Data = State_Diag%TomasMNFIXcheck2number, & mapData = State_Diag%Map_TomasMNFIXcheck2number, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'TomasMNFIXcheck3mass', & Ptr2Data = State_Diag%TomasMNFIXcheck3mass, & mapData = State_Diag%Map_TomasMNFIXcheck3mass, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'TomasMNFIXcheck3number', & Ptr2Data = State_Diag%TomasMNFIXcheck3number, & mapData = State_Diag%Map_TomasMNFIXcheck3number, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'TomasSOAmass', & Ptr2Data = State_Diag%TomasSOAmass, & mapData = State_Diag%Map_TomasSOAmass, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'TomasSOAnumber', & Ptr2Data = State_Diag%TomasSOAnumber, & mapData = State_Diag%Map_TomasSOAnumber, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN #endif CALL Finalize( diagId = 'AODdust', & Ptr2Data = State_Diag%AODdust, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'AODDustWL1', & Ptr2Data = State_Diag%AODDustWL1, & mapData = State_Diag%Map_AODDustWL1, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'AODDustWL2', & Ptr2Data = State_Diag%AODDustWL2, & mapData = State_Diag%Map_AODDustWL2, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'AODDustWL3', & Ptr2Data = State_Diag%AODDustWL3, & mapData = State_Diag%Map_AODDustWL3, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'AODHygWL1', & Ptr2Data = State_Diag%AODHygWL1, & mapData = State_Diag%Map_AODHygWL1, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'AODHygWL2', & Ptr2Data = State_Diag%AODHygWL2, & mapData = State_Diag%Map_AODHygWL2, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'AODHygWL3', & Ptr2Data = State_Diag%AODHygWL3, & mapData = State_Diag%Map_AODHygWL3, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'AODSOAfromAqIsopWL1', & Ptr2Data = State_Diag%AODSOAfromAqIsopWL1, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'AODSOAfromAqIsopWL2', & Ptr2Data = State_Diag%AODSOAfromAqIsopWL2, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'AODSOAfromAqIsopWL3', & Ptr2Data = State_Diag%AODSOAfromAqIsopWL3, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'AerHygGrowth', & Ptr2Data = State_Diag%AerHygGrowth, & mapData = State_Diag%Map_AerHygGrowth, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'AerSurfAreaDust', & Ptr2Data = State_Diag%AerSurfAreaDust, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'AerSurfAreaHyg', & Ptr2Data = State_Diag%AerSurfAreaHyg, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'AerNumDenSLA', & Ptr2Data = State_Diag%AerNumDenSLA, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'AerNumDenPSC', & Ptr2Data = State_Diag%AerNumDenPSC, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'AerAqVol', & Ptr2Data = State_Diag%AerAqVol, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'AerSurfAreaSLA', & Ptr2Data = State_Diag%AerSurfAreaSLA, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'AerSurfAreaPSC', & Ptr2Data = State_Diag%AerSurfAreaPSC, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'AODSLAWL1', & Ptr2Data = State_Diag%AODSLAWL1, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'AODSLAWL2', & Ptr2Data = State_Diag%AODSLAWL2, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'AODSLAWL3', & Ptr2Data = State_Diag%AODSLAWL3, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'AODPSCWL1', & Ptr2Data = State_Diag%AODPSCWL1, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'AODPSCWL2', & Ptr2Data = State_Diag%AODPSCWL2, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'AODPSCWL3', & Ptr2Data = State_Diag%AODPSCWL3, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'SatDiagnLoss', & Ptr2Data = State_Diag%SatDiagnLoss, & mapData = State_Diag%Map_SatDiagnLoss, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'Loss', & Ptr2Data = State_Diag%Loss, & mapData = State_Diag%Map_Loss, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'SatDiagnProd', & Ptr2Data = State_Diag%SatDiagnProd, & mapData = State_Diag%Map_SatDiagnProd, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'Prod', & Ptr2Data = State_Diag%Prod, & mapData = State_Diag%Map_Prod, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdHMSfromSO2andHCHOinCloud', & Ptr2Data = State_Diag%ProdHMSfromSO2andHCHOinCloud, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdSO2fromDMSandOH', & Ptr2Data = State_Diag%ProdSO2fromDMSandOH, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdSO2fromDMSandNO3', & Ptr2Data = State_Diag%ProdSO2fromDMSandNO3, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdSO2fromDMS', & Ptr2Data = State_Diag%ProdSO2fromDMS, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdMSAfromDMS', & Ptr2Data = State_Diag%ProdMSAfromDMS, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdNITfromHNO3uptakeOnDust', & Ptr2Data = State_Diag%ProdNITfromHNO3uptakeOnDust, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdSO4fromGasPhase', & Ptr2Data = State_Diag%ProdSO4fromGasPhase, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdSO4fromH2O2inCloud', & Ptr2Data = State_Diag%ProdSO4fromH2O2inCloud, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdSO4fromO3inCloud', & Ptr2Data = State_Diag%ProdSO4fromO3inCloud, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdSO4fromHOBrInCloud', & Ptr2Data = State_Diag%ProdSO4fromHOBrInCloud, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdSO4fromO2inCloudMetal', & Ptr2Data = State_Diag%ProdSO4fromO2inCloudMetal, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdSO4fromO3inSeaSalt', & Ptr2Data = State_Diag%ProdSO4fromO3inSeaSalt, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdSO4fromOxidationOnDust', & Ptr2Data = State_Diag%ProdSO4fromOxidationOnDust, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdSO4fromUptakeOfH2SO4g', & Ptr2Data = State_Diag%ProdSO4fromUptakeOfH2SO4g, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdSO4fromSRO3', & Ptr2Data = State_Diag%ProdSO4fromSRO3, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdSO4fromSRHOBr', & Ptr2Data = State_Diag%ProdSO4fromSRHOBr, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdSO4fromO3s', & Ptr2Data = State_Diag%ProdSO4fromO3s, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdSO4fromHMSinCloud', & Ptr2Data = State_Diag%ProdSO4fromHMSinCloud, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdSO2andHCHOfromHMSinCloud', & Ptr2Data = State_Diag%ProdSO2andHCHOfromHMSinCloud, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'LossHNO3onSeaSalt', & Ptr2Data = State_Diag%LossHNO3onSeaSalt, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'AerMassASOA', & Ptr2Data = State_Diag%AerMassASOA, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'AerMassHMS', & Ptr2Data = State_Diag%AerMassHMS, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'AerMassBC', & Ptr2Data = State_Diag%AerMassBC, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'AerMassINDIOL', & Ptr2Data = State_Diag%AerMassINDIOL, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'AerMassISN1OA', & Ptr2Data = State_Diag%AerMassISN1OA, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'AerMassLVOCOA', & Ptr2Data = State_Diag%AerMassLVOCOA, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'AerMassNH4', & Ptr2Data = State_Diag%AerMassNH4, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'AerMassNIT', & Ptr2Data = State_Diag%AerMassNIT, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'AerMassOPOA', & Ptr2Data = State_Diag%AerMassOPOA, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'AerMassPOA', & Ptr2Data = State_Diag%AerMassPOA, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'AerMassSAL', & Ptr2Data = State_Diag%AerMassSAL, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'AerMassSO4', & Ptr2Data = State_Diag%AerMassSO4, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'AerMassSOAGX', & Ptr2Data = State_Diag%AerMassSOAGX, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'AerMassSOAIE', & Ptr2Data = State_Diag%AerMassSOAIE, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'AerMassTSOA', & Ptr2Data = State_Diag%AerMassTSOA, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'BetaNO', & Ptr2Data = State_Diag%BetaNO, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'PM25', & Ptr2Data = State_Diag%PM25, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN !zhaisx CALL Finalize( diagId = 'PM10', & Ptr2Data = State_Diag%PM10, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN ! H. Zhu CALL Finalize( diagId = 'PDER', & Ptr2Data = State_Diag%PDER, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'TotalOA', & Ptr2Data = State_Diag%TotalOA, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'TotalBiogenicOA', & Ptr2Data = State_Diag%TotalBiogenicOA, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'TotalOC', & Ptr2Data = State_Diag%TotalOC, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'LossPOPPOCPObyGasPhase', & Ptr2Data = State_Diag%LossPOPPOCPObyGasPhase, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdPOPPOCPOfromGasPhase', & Ptr2Data = State_Diag%ProdPOPPOCPOfromGasPhase, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'LossPOPPBCPObyGasPhase', & Ptr2Data = State_Diag%LossPOPPBCPObyGasPhase, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdPOPPBCPOfromGasPhase', & Ptr2Data = State_Diag%ProdPOPPBCPOfromGasPhase, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdPOPGfromOH', & Ptr2Data = State_Diag%ProdPOPGfromOH, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdPOPPOCPOfromO3', & Ptr2Data = State_Diag%ProdPOPPOCPOfromO3, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdPOPPOCPIfromO3', & Ptr2Data = State_Diag%ProdPOPPOCPIfromO3, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdPOPPBCPOfromO3', & Ptr2Data = State_Diag%ProdPOPPBCPOfromO3, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdPOPPBCPIfromO3', & Ptr2Data = State_Diag%ProdPOPPBCPIfromO3, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdPOPPOCPOfromNO3', & Ptr2Data = State_Diag%ProdPOPPOCPOfromNO3, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdPOPPOCPIfromNO3', & Ptr2Data = State_Diag%ProdPOPPOCPIfromNO3, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdPOPPBCPOfromNO3', & Ptr2Data = State_Diag%ProdPOPPBCPOfromNO3, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdPOPPBCPIfromNO3', & Ptr2Data = State_Diag%ProdPOPPBCPIfromNO3, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdCO2fromCO', & Ptr2Data = State_Diag%ProdCO2fromCO, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'LossCH4byClinTrop', & Ptr2Data = State_Diag%LossCH4byClinTrop, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'LossCH4byOHinTrop', & Ptr2Data = State_Diag%LossCH4byOHinTrop, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'LossCH4inStrat', & Ptr2Data = State_Diag%LossCH4inStrat, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdCOfromCH4', & Ptr2Data = State_Diag%ProdCOfromCH4, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdCOfromNMVOC', & Ptr2Data = State_Diag%ProdCOfromNMVOC, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'EmisHg0anthro', & Ptr2Data = State_Diag%EmisHg0anthro, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'EmisHg0biomass', & Ptr2Data = State_Diag%EmisHg0biomass, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'EmisHg0geogenic', & Ptr2Data = State_Diag%EmisHg0geogenic, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'EmisHg0land', & Ptr2Data = State_Diag%EmisHg0land, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'EmisHg0ocean', & Ptr2Data = State_Diag%EmisHg0ocean, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'EmisHg0soil', & Ptr2Data = State_Diag%EmisHg0soil, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'EmisHg0snow', & Ptr2Data = State_Diag%EmisHg0snow, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'EmisHg0vegetation', & Ptr2Data = State_Diag%EmisHg0vegetation, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'EmisHg2HgPanthro', & Ptr2Data = State_Diag%EmisHg2HgPanthro, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'EmisHg2snowToOcean', & Ptr2Data = State_Diag%EmisHg2snowToOcean, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'EmisHg2rivers', & Ptr2Data = State_Diag%EmisHg2rivers, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'FluxHg2HgPfromAirToSnow', & Ptr2Data = State_Diag%FluxHg2HgPfromAirToSnow, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'FluxHg0fromAirToOcean', & Ptr2Data = State_Diag%FluxHg0fromAirToOcean, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'FluxHg0fromOceanToAir', & Ptr2Data = State_Diag%FluxHg0fromOceanToAir, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'FluxHg2toDeepOcean', & Ptr2Data = State_Diag%FluxHg2toDeepOcean, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'FluxHg2HgPfromAirToOcean', & Ptr2Data = State_Diag%FluxHg2HgPfromAirToOcean, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'FluxOCtoDeepOcean', & Ptr2Data = State_Diag%FluxOCtoDeepOcean, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'MassHg0inOcean', & Ptr2Data = State_Diag%MassHg0inOcean, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'MassHg2inOcean', & Ptr2Data = State_Diag%MassHg2inOcean, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'MassHgPinOcean', & Ptr2Data = State_Diag%MassHgPinOcean, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'MassHgTotalInOcean', & Ptr2Data = State_Diag%MassHgTotalInOcean, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ConcBr', & Ptr2Data = State_Diag%ConcBr, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ConcBrO', & Ptr2Data = State_Diag%ConcBrO, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'LossHg2bySeaSalt', & Ptr2Data = State_Diag%LossHg2bySeaSalt, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'LossRateHg2bySeaSalt', & Ptr2Data = State_Diag%LossRateHg2bySeaSalt, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'PolarConcBr', & Ptr2Data = State_Diag%PolarConcBr, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'PolarConcBrO', & Ptr2Data = State_Diag%PolarConcBrO, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'PolarConcO3', & Ptr2Data = State_Diag%PolarConcO3, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdHg2fromBr', & Ptr2Data = State_Diag%ProdHg2fromBr, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdHg2fromBrY', & Ptr2Data = State_Diag%ProdHg2fromBrY, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdHg2fromClY', & Ptr2Data = State_Diag%ProdHg2fromClY, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdHg2fromHg0', & Ptr2Data = State_Diag%ProdHg2fromHg0, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdHg2fromHgBrPlusBr2', & Ptr2Data = State_Diag%ProdHg2fromHgBrPlusBr2, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdHg2fromHgBrPlusBrBrO', & Ptr2Data = State_Diag%ProdHg2fromHgBrPlusBrBrO, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdHg2fromHgBrPlusBrClO', & Ptr2Data = State_Diag%ProdHg2fromHgBrPlusBrClO, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdHg2fromHgBrplusBrHO2', & Ptr2Data = State_Diag%ProdHg2fromHgBrPlusBrHO2, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdHg2fromHgBrplusBrNO2', & Ptr2Data = State_Diag%ProdHg2fromHgBrPlusBrNO2, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdHg2fromHgBrPlusBrOH', & Ptr2Data = State_Diag%ProdHg2fromHgBrPlusBrOH, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdHg2fromOH', & Ptr2Data = State_Diag%ProdHg2fromOH, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ProdHg2fromO3', & Ptr2Data = State_Diag%ProdHg2fromO3, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ParticulateBoundHg', & Ptr2Data = State_Diag%ParticulateBoundHg, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'ReactiveGaseousHg', & Ptr2Data = State_Diag%ReactiveGaseousHg, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'DryDepRaALT1', & Ptr2Data = State_Diag%DryDepRaALT1, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'DryDepVelForALT1', & Ptr2Data = State_Diag%DryDepVelForALT1, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'SpeciesConcALT1', & Ptr2Data = State_Diag%SpeciesConcALT1, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'KppIntCounts', & Ptr2Data = State_Diag%KppIntCounts, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'KppJacCounts', & Ptr2Data = State_Diag%KppJacCounts, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'KppTotSteps', & Ptr2Data = State_Diag%KppTotSteps, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'KppAccSteps', & Ptr2Data = State_Diag%KppAccSteps, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'KppRejSteps', & Ptr2Data = State_Diag%KppRejSteps, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'KppLuDecomps', & Ptr2Data = State_Diag%KppLuDecomps, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'KppSubsts', & Ptr2Data = State_Diag%KppSubsts, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'KppSmDecomps', & Ptr2Data = State_Diag%KppSmDecomps, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'KppNegatives', & Ptr2Data = State_Diag%KppNegatives, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'KppNegatives0', & Ptr2Data = State_Diag%KppNegatives0, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'AirMassColumnFull', & Ptr2Data = State_Diag%AirMassColumnFull, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'AirMassColumnTrop', & Ptr2Data = State_Diag%AirMassColumnTrop, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'CH4emission', & Ptr2Data = State_Diag%CH4emission, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'CH4massColumnFull', & Ptr2Data = State_Diag%CH4massColumnFull, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'CH4massColumnTrop', & Ptr2Data = State_Diag%CH4massColumnTrop, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'OHwgtByAirMassColumnFull', & Ptr2Data = State_Diag%OHwgtByAirMassColumnFull, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'OHwgtByAirMassColumnTrop', & Ptr2Data = State_Diag%OHwgtByAirMassColumnTrop, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'LossOHbyCH4columnTrop', & Ptr2Data = State_Diag%LossOHbyCH4columnTrop, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'LossOHbyMCFcolumnTrop', & Ptr2Data = State_Diag%LossOHbyMCFcolumnTrop, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN #ifdef MODEL_GEOS !======================================================================= ! These fields are only used when GC is interfaced to NASA/GEOS !======================================================================= CALL Finalize( diagId = 'MoninObukhov', & Ptr2Data = State_Diag%MoninObukhov, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'Bry', & Ptr2Data = State_Diag%Bry, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'NOy', & Ptr2Data = State_Diag%NOy, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'Cly', & Ptr2Data = State_Diag%Cly, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'OrganicCl', & Ptr2Data = State_Diag%OrganicCl, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'O3_MASS', & Ptr2Data = State_Diag%O3_MASS, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'GCCTO3', & Ptr2Data = State_Diag%GCCTO3, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'GCCTTO3', & Ptr2Data = State_Diag%GCCTTO3, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'CHEMTOP', & Ptr2Data = State_Diag%CHEMTOP, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'CHEMTROPP', & Ptr2Data = State_Diag%CHEMTROPP, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'CONVCLDTOP', & Ptr2Data = State_Diag%CONVCLDTOP, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'EXTRALNLEVS', & Ptr2Data = State_Diag%EXTRALNLEVS, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'EXTRALNITER', & Ptr2Data = State_Diag%EXTRALNITER, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'LightningPotential', & Ptr2Data = State_Diag%LIGHTNINGPOTENTIAL, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'O3concAfterChem', & Ptr2Data = State_Diag%O3concAfterChem, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'RO2concAfterChem', & Ptr2Data = State_Diag%RO2concAfterChem, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'PM25ni', & Ptr2Data = State_Diag%PM25ni, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'PM25nit', & Ptr2Data = State_Diag%PM25nit, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'PM25nh4', & Ptr2Data = State_Diag%PM25nh4, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'PM25su', & Ptr2Data = State_Diag%PM25su, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'PM25oc', & Ptr2Data = State_Diag%PM25oc, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'PM25bc', & Ptr2Data = State_Diag%PM25bc, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'PM25ss', & Ptr2Data = State_Diag%PM25ss, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'PM25du', & Ptr2Data = State_Diag%PM25du, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'PM25soa', & Ptr2Data = State_Diag%PM25soa, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'TotCol', & Ptr2Data = State_Diag%TotCol, & mapData = State_Diag%Map_TotCol, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'TropCol', & Ptr2Data = State_Diag%TropCol, & mapData = State_Diag%Map_TropCol, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'PblCol', & Ptr2Data = State_Diag%PblCol, & mapData = State_Diag%Map_PblCol, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'CO2photrate', & Ptr2Data = State_Diag%CO2photrate, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN CALL Finalize( diagId = 'COincCO2phot', & Ptr2Data = State_Diag%COincCO2phot, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN #endif #if defined( MODEL_GEOS ) || defined( MODEL_WRF ) || defined( MODEL_CESM ) !======================================================================= ! These fields are only used when GEOS-Chem ! is interfaced to NASA/GEOS, WRF (as WRF-GC), or CESM !======================================================================= CALL Finalize( diagId = 'KppError', & Ptr2Data = State_Diag%KppError, & RC = RC ) IF ( RC /= GC_SUCCESS ) RETURN #endif !----------------------------------------------------------------------- ! Template for deallocating more arrays, replace xxx with field name !----------------------------------------------------------------------- !IF ( ASSOCIATED( State_Diag%xxx ) ) THEN ! DEALLOCATE( State_Diag%xxx, STAT=RC ) ! CALL GC_CheckVar( 'State_Diag%xxx', 2, RC ) ! IF ( RC /= GC_SUCCESS ) RETURN ! State_Diag%xxx => NULL() !ENDIF !======================================================================= ! Destroy the registry of fields for this module !======================================================================= CALL Registry_Destroy( State_Diag%Registry, State_Diag%RegDict, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not destroy registry object State_Diag%Registry!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Nullify the registry object State_Diag%Registry => NULL() END SUBROUTINE Cleanup_State_Diag !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_Metadata_State_Diag ! ! !DESCRIPTION: Subroutine GET\_METADATA\_STATE\_DIAG retrieves basic ! information about each State\_Diag field. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Get_Metadata_State_Diag( am_I_Root, metadataID, Found, & RC, Desc, Units, & TagId, Rank, SrcType, & OutType, VLoc ) ! ! !USES: ! USE Charpak_Mod, ONLY : StrSplit, To_UpperCase USE DiagList_Mod, ONLY : IsFullChem, IsCarbon, IsHg USE DiagList_Mod, ONLY : budgetTopLev_str, budgetBotLev_str USE Registry_Params_Mod ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: am_I_Root CHARACTER(LEN=*), INTENT(IN) :: metadataID ! field ID ! ! !OUTPUT PARAMETERS: ! LOGICAL, INTENT(OUT) :: Found ! Item found? INTEGER, INTENT(OUT) :: RC ! Return code CHARACTER(LEN=255), INTENT(OUT), OPTIONAL :: Desc ! Long name string CHARACTER(LEN=255), INTENT(OUT), OPTIONAL :: Units ! Units string CHARACTER(LEN=255), INTENT(OUT), OPTIONAL :: TagId ! Tag wildcard (wc) INTEGER, INTENT(OUT), OPTIONAL :: Rank ! # of dimensions INTEGER, INTENT(OUT), OPTIONAL :: SrcType ! Source type INTEGER, INTENT(OUT), OPTIONAL :: OutType ! Output type INTEGER, INTENT(OUT), OPTIONAL :: VLoc ! Vert placement ! ! !REMARKS: ! If a diagnostic cannot use a wildcard, then set Tag=''. ! ! !REVISION HISTORY: ! 20 Sep 2017 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: isDesc, isUnits, isRank LOGICAL :: isVLoc, isTagged, isSrcType, isOutType ! Strings CHARACTER(LEN=5 ) :: TmpWL CHARACTER(LEN=10 ) :: TmpHt, TmpHt_AllCaps CHARACTER(LEN=255) :: ThisLoc, Name_AllCaps CHARACTER(LEN=512) :: ErrMsg !======================================================================= ! Initialize !======================================================================= ! Assume success RC = GC_SUCCESS Found = .TRUE. ErrMsg = '' TmpHt = AltAboveSfc ThisLoc = & ' -> at Get_Metadata_State_Diag (in Headers/state_diag_mod.F90)' ! Optional arguments present? isDesc = PRESENT( Desc ) isUnits = PRESENT( Units ) isRank = PRESENT( Rank ) isSrcType = PRESENT( SrcType ) isOutType = PRESENT( OutType ) isVLoc = PRESENT( VLoc ) isTagged = PRESENT( TagID ) ! Set defaults for optional arguments. Assume type and vertical ! location are real (flexible precision) and center unless specified ! otherwise IF ( isUnits ) Units = '' IF ( isDesc ) Desc = '' IF ( isRank ) Rank = -1 IF ( isSrcType ) SrcType = KINDVAL_F4 ! Assume real*4 IF ( isOutType ) OutType = KINDVAL_F4 ! Assume real*4 IF ( isVLoc ) VLoc = VLocationCenter ! Assume vertically centered IF ( isTagged ) TagID = '' ! Convert to uppercase Name_AllCaps = To_Uppercase( TRIM( metadataID ) ) TmpHt_AllCaps = To_Uppercase( TRIM( TmpHt ) ) !======================================================================= ! Values for Retrieval (string comparison slow but happens only once) !======================================================================= IF ( TRIM( Name_AllCaps ) == 'SPECIESRST' ) THEN IF ( isDesc ) Desc = 'Dry mixing ratio of species' IF ( isUnits ) Units = 'mol mol-1 dry' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'ALL' IF ( isSrcType ) SrcType = KINDVAL_F8 IF ( isOutType ) OutType = KINDVAL_F8 ELSE IF ( TRIM( Name_AllCaps ) == 'SPECIESBC' ) THEN IF ( isDesc ) Desc = 'Dry mixing ratio of species' IF ( isUnits ) Units = 'mol mol-1 dry' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'ALL' IF ( isSrcType ) SrcType = KINDVAL_F8 ELSE IF ( TRIM( Name_AllCaps ) == 'SPECIESCONCVV' ) THEN IF ( isDesc ) Desc = 'Concentration of species' IF ( isUnits ) Units = 'mol mol-1 dry' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'ALL' IF ( isSrcType ) SrcType = KINDVAL_F8 ELSE IF ( TRIM( Name_AllCaps ) == 'SPECIESCONCMND' ) THEN IF ( isDesc ) Desc = 'Concentration of species' IF ( isUnits ) Units = 'molec cm-3' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'ALL' IF ( isSrcType ) SrcType = KINDVAL_F8 #ifdef ADJOINT ELSE IF ( TRIM( Name_AllCaps ) == 'SPECIESADJ' ) THEN IF ( isDesc ) Desc = 'Adjoint variable of species' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'ALL' IF ( isSrcType ) SrcType = KINDVAL_F8 #endif ELSE IF ( TRIM( Name_AllCaps ) == 'CONCBEFORECHEM' ) THEN IF ( isDesc ) Desc = 'Concentration before chemistry of species' IF ( isUnits ) Units = 'molec cm-3' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'ALL' IF ( isSrcType ) SrcType = KINDVAL_F8 ELSE IF ( TRIM( Name_AllCaps ) == 'CONCAFTERCHEM' ) THEN IF ( isDesc ) Desc = 'Concentration after chemistry of species' IF ( isUnits ) Units = 'molec cm-3' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'ALL' IF ( isSrcType ) SrcType = KINDVAL_F8 ELSE IF ( TRIM( Name_AllCaps ) == 'FRACOFTIMEINTROP' ) THEN IF ( isDesc ) Desc = 'Fraction of time spent in the troposphere' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 ELSE IF ( INDEX( Name_AllCaps, 'BUDGET' ) == 1 ) THEN ! All budget diagnostics have common units, rank, and tag #ifdef MODEL_GEOS IF ( isUnits ) Units = 'kg m-2 s-1' #else IF ( isUnits ) Units = 'kg s-1' #endif IF ( isRank ) Rank = 2 IF ( isTagged ) TagId = 'ADV' ! Set description based on diagnostic name IF ( TRIM( Name_AllCaps ) == 'BUDGETEMISDRYDEPFULL' ) THEN IF ( isDesc ) Desc = 'Total mass rate of change in column ' // & 'for emissions and dry deposition' ELSE IF ( TRIM( Name_AllCaps ) == 'BUDGETEMISDRYDEPTROP' ) THEN IF ( isDesc ) Desc = 'Troposphere-only total mass rate of ' // & 'change in column for emissions and ' // & 'dry deposition' ELSE IF ( TRIM( Name_AllCaps ) == 'BUDGETEMISDRYDEPPBL' ) THEN IF ( isDesc ) Desc = 'PBL-only total mass rate of change ' // & 'in column for emissions and dry ' // & 'deposition' ELSE IF ( TRIM( Name_AllCaps ) == 'BUDGETEMISDRYDEPLEVS' & // TRIM(budgetBotLev_str) // 'TO' & // TRIM(budgetTopLev_str) ) THEN IF ( isDesc ) Desc = 'Total mass rate of change in column levels ' & // TRIM(budgetBotLev_str) // ' to ' & // TRIM(budgetTopLev_str) & // ' for emissions and dry deposition' ELSE IF ( TRIM( Name_AllCaps ) == 'BUDGETTRANSPORTFULL' ) THEN IF ( isDesc ) Desc = 'Total mass rate of change in column ' // & 'for transport' ELSE IF ( TRIM( Name_AllCaps ) == 'BUDGETTRANSPORTTROP' ) THEN IF ( isDesc ) Desc = 'Troposphere-only total mass rate of ' // & 'change in column for transport' ELSE IF ( TRIM( Name_AllCaps ) == 'BUDGETTRANSPORTPBL' ) THEN IF ( isDesc ) Desc = 'PBL-only total mass rate of change ' // & ' in column for transport' ELSE IF ( TRIM( Name_AllCaps ) == 'BUDGETTRANSPORTLEVS' & // TRIM(budgetBotLev_str) // 'TO' & // TRIM(budgetTopLev_str) ) THEN IF ( isDesc ) Desc = 'Total mass rate of change in column levels ' & // TRIM(budgetBotLev_str) // ' to ' & // TRIM(budgetTopLev_str) // ' for transport' ELSE IF ( TRIM( Name_AllCaps ) == 'BUDGETDRYDEPFULL' ) THEN IF ( isDesc ) Desc = 'Total mass rate of change in column ' // & 'for dry deposition' ELSE IF ( TRIM( Name_AllCaps ) == 'BUDGETDRYDEPTROP' ) THEN IF ( isDesc ) Desc = 'Troposphere-only total mass rate of ' // & 'change in column for dry deposition' ELSE IF ( TRIM( Name_AllCaps ) == 'BUDGETDRYDEPPBL' ) THEN IF ( isDesc ) Desc = 'PBL-only total mass rate of change ' // & ' in column for dry deposition' ELSE IF ( TRIM( Name_AllCaps ) == 'BUDGETDRYDEPLEVS' & // TRIM(budgetBotLev_str) // 'TO' & // TRIM(budgetTopLev_str) ) THEN IF ( isDesc ) Desc = 'Total mass rate of change in column levels ' & // TRIM(budgetBotLev_str) // ' to ' & // TRIM(budgetTopLev_str) // ' for dry deposition' ELSE IF ( TRIM( Name_AllCaps ) == 'BUDGETMIXINGFULL' ) THEN IF ( isDesc ) Desc = 'Total mass rate of change in column ' // & 'for mixing' ELSE IF ( TRIM( Name_AllCaps ) == 'BUDGETMIXINGTROP' ) THEN IF ( isDesc ) Desc = 'Troposphere-only total mass rate of ' // & 'change in column for mixing' ELSE IF ( TRIM( Name_AllCaps ) == 'BUDGETMIXINGPBL' ) THEN IF ( isDesc ) Desc = 'PBL-only total mass rate of change ' // & ' in column for mixing' ELSE IF ( TRIM( Name_AllCaps ) == 'BUDGETMIXINGLEVS' & // TRIM(budgetBotLev_str) // 'TO' & // TRIM(budgetTopLev_str) ) THEN IF ( isDesc ) Desc = 'Total mass rate of change in column levels ' & // TRIM(budgetBotLev_str) // ' to ' & // TRIM(budgetTopLev_str) // ' for mixing' ELSE IF ( TRIM( Name_AllCaps ) == 'BUDGETCONVECTIONFULL' ) THEN IF ( isDesc ) Desc = 'Total mass rate of change in column ' // & 'for convection' ELSE IF ( TRIM( Name_AllCaps ) == 'BUDGETCONVECTIONTROP' ) THEN IF ( isDesc ) Desc = 'Troposphere-only total mass rate of ' // & 'change in column for convection' ELSE IF ( TRIM( Name_AllCaps ) == 'BUDGETCONVECTIONPBL' ) THEN IF ( isDesc ) Desc = 'PBL-only total mass rate of change ' // & ' in column for convection' ELSE IF ( TRIM( Name_AllCaps ) == 'BUDGETCONVECTIONLEVS' & // TRIM(budgetBotLev_str) // 'TO' & // TRIM(budgetTopLev_str) ) THEN IF ( isDesc ) Desc = 'Total mass rate of change in column levels ' & // TRIM(budgetBotLev_str) // ' to ' & // TRIM(budgetTopLev_str) // ' for convection' ELSE IF ( TRIM( Name_AllCaps ) == 'BUDGETCHEMISTRYFULL' ) THEN IF ( isDesc ) Desc = 'Total mass rate of change in column ' // & ' for chemistry' ELSE IF ( TRIM( Name_AllCaps ) == 'BUDGETCHEMISTRYTROP' ) THEN IF ( isDesc ) Desc = 'Troposphere-only total mass rate of ' // & 'change in column for chemistry' ELSE IF ( TRIM( Name_AllCaps ) == 'BUDGETCHEMISTRYPBL' ) THEN IF ( isDesc ) Desc = 'PBL-only total mass rate of change ' // & ' in column for chemistry' ELSE IF ( TRIM( Name_AllCaps ) == 'BUDGETCHEMISTRYLEVS' & // TRIM(budgetBotLev_str) // 'TO' & // TRIM(budgetTopLev_str) ) THEN IF ( isDesc ) Desc = 'Total mass rate of change in column levels ' & // TRIM(budgetBotLev_str) // ' to ' & // TRIM(budgetTopLev_str) // ' for chemistry' ELSE IF ( TRIM( Name_AllCaps ) == 'BUDGETWETDEPFULL' ) THEN IF ( isDesc ) Desc = 'Total mass rate of change in column ' // & 'for wet deposition' ELSE IF ( TRIM( Name_AllCaps ) == 'BUDGETWETDEPTROP' ) THEN IF ( isDesc ) Desc = 'Troposphere-only total mass rate of ' // & 'change in column for wet deposition' ELSE IF ( TRIM( Name_AllCaps ) == 'BUDGETWETDEPPBL' ) THEN IF ( isDesc ) Desc = 'PBL-only total mass rate of change ' // & ' in column for wet deposition ' ELSE IF ( TRIM( Name_AllCaps ) == 'BUDGETWETDEPLEVS' & // TRIM(budgetBotLev_str) // 'TO' & // TRIM(budgetTopLev_str) ) THEN IF ( isDesc ) Desc = 'Total mass rate of change in column levels ' & // TRIM(budgetBotLev_str) // ' to ' & // TRIM(budgetTopLev_str) // ' for wet deposition' ENDIF ELSE IF ( TRIM( Name_AllCaps ) == 'DRYDEPCHM' ) THEN IF ( isDesc ) Desc = 'Dry deposition flux of species, from chemistry' IF ( isUnits ) Units = 'molec cm-2 s-1' IF ( isRank ) Rank = 2 IF ( isTagged ) TagId = 'DRY' ELSE IF ( TRIM( Name_AllCaps ) == 'DRYDEPMIX' ) THEN IF ( isDesc ) Desc = 'Dry deposition flux of species, from mixing' IF ( isUnits ) Units = 'molec cm-2 s-1' IF ( isRank ) Rank = 2 IF ( isTagged ) TagId = 'DRY' ELSE IF ( TRIM( Name_AllCaps ) == 'DRYDEP' ) THEN IF ( isDesc ) Desc = 'Dry deposition flux of species' IF ( isUnits ) Units = 'molec cm-2 s-1' IF ( isRank ) Rank = 2 IF ( isTagged ) TagId = 'DRY' ELSE IF ( TRIM( Name_AllCaps ) == 'DRYDEPVEL' ) THEN IF ( isDesc ) Desc = 'Dry deposition velocity of species' IF ( isUnits ) Units = 'cm s-1' IF ( isRank ) Rank = 2 IF ( isTagged ) TagId = 'DRY' ELSE IF ( TRIM( Name_AllCaps ) == 'ISWATER' ) THEN IF ( isDesc ) Desc = 'Water mask including lakes and oceans' IF ( isUnits ) Units = '.' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'ISLAND' ) THEN IF ( isDesc ) Desc = 'Land mask excluding ice and snow' IF ( isUnits ) Units = '.' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'ISICE' ) THEN IF ( isDesc ) Desc = 'Ice mask including over land and ocean' IF ( isUnits ) Units = '.' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'ISSNOW' ) THEN IF ( isDesc ) Desc = 'Snow mask over land only' IF ( isUnits ) Units = '.' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'SATDIAGNDRYDEP' ) THEN IF ( isDesc ) Desc = 'Dry deposition flux of species' IF ( isUnits ) Units = 'molec cm-2 s-1' IF ( isRank ) Rank = 2 IF ( isTagged ) TagId = 'DRY' ELSE IF ( TRIM( Name_AllCaps ) == 'SATDIAGNDRYDEPVEL' ) THEN IF ( isDesc ) Desc = 'Dry deposition velocity of species' IF ( isUnits ) Units = 'cm s-1' IF ( isRank ) Rank = 2 IF ( isTagged ) TagId = 'DRY' #ifdef MODEL_GEOS ELSE IF ( TRIM( Name_AllCaps ) == 'MONINOBUKHOV' ) THEN IF ( isDesc ) Desc = 'Monin-Obukhov length' IF ( isUnits ) Units = 'm' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'BRY' ) THEN IF ( isDesc ) Desc = & 'inorganic_bromine_=_2xBr2_Br_BrO_HOBr_HBr_BrNO2_BrNO3_BrCl_IBr' IF ( isUnits ) Units = 'mol mol-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'NOY' ) THEN IF ( isDesc ) Desc = & 'Reactive_nitrogen_=_NO_NO2_HNO3_HNO4_HONO_2xN2O5_PAN_OrganicNitrates_AerosolNitrates' IF ( isUnits ) Units = 'mol mol-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'CLY' ) THEN IF ( isDesc ) Desc = & 'Inorganic_chlorine_=_Cl_ClO_OClO_ClOO_HOCl_HCl_ClNO2_ClNO3_BrCl_ICl_2xCl2_2xCl2O2' IF ( isUnits ) Units = 'mol mol-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'ORGANICCL' ) THEN IF ( isDesc ) Desc = & '4CCl4_H1211_3CFC11_3CFC113_2CFC114_CFC115_2CFC12_3CH3CCl3_CH3Cl_2HCFC141b_HCFC142b_HCFC22_2HCFC123_3CHCl3_2CH2Cl2_CH2ICl' IF ( isUnits ) Units = 'mol mol-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'O3_MASS' ) THEN IF ( isDesc ) Desc = 'O3_grid_cell_mass_per_area' IF ( isUnits ) Units = 'kg m-2' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'GCCTO3' ) THEN IF ( isDesc ) Desc = 'Ozone_(O3,_MW_=_48.00_g_mol-1)_total_column_density' IF ( isUnits ) Units = 'dobsons' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'GCCTTO3' ) THEN IF ( isDesc ) Desc = 'Ozone_(O3,_MW_=_48.00_g_mol-1)_tropospheric_column_density' IF ( isUnits ) Units = 'dobsons' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'CHEMTOP' ) THEN IF ( isDesc ) Desc = 'chemistry_grid_top_level' IF ( isUnits ) Units = 'unitless' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'CHEMTROPP' ) THEN IF ( isDesc ) Desc = 'Tropopause_used_by_GEOS-Chem_chemistry' IF ( isUnits ) Units = 'Pa' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'CONVCLDTOP' ) THEN IF ( isDesc ) Desc = 'Convective_cloud_top_level_as_seen_by_GEOS-Chem' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'EXTRALNLEVS' ) THEN IF ( isDesc ) Desc = 'FAST-JX_EXTRAL_layers' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'EXTRALNITER' ) THEN IF ( isDesc ) Desc = 'FAST-JX_EXTRAL_iterations' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'LIGHTNINGPOTENTIAL' ) THEN IF ( isDesc ) Desc = 'Lightning_potential' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 #endif ELSE IF ( TRIM( Name_AllCaps ) == 'JVAL' ) THEN IF ( isDesc ) Desc = 'Photolysis rate for species' IF ( isUnits ) Units = 's-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'PHO' ELSE IF ( TRIM( Name_AllCaps ) == 'JVALO3O1D' ) THEN IF ( isDesc ) Desc = 'Photolysis rate for O3 -> O1D' IF ( isUnits ) Units = 's-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'JVALO3O3P' ) THEN IF ( isDesc ) Desc = 'Photolysis rate for O3 -> O3P' IF ( isUnits ) Units = 's-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'SATDIAGNJVAL' ) THEN IF ( isDesc ) Desc = 'Photolysis rate for species' IF ( isUnits ) Units = 's-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'PHO' ELSE IF ( TRIM( Name_AllCaps ) == 'SATDIAGNJVALO3O1D' ) THEN IF ( isDesc ) Desc = 'Photolysis rate for O3 -> O1D' IF ( isUnits ) Units = 's-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'SATDIAGNJVALO3O3P' ) THEN IF ( isDesc ) Desc = 'Photolysis rate for O3 -> O3P' IF ( isUnits ) Units = 's-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'JNOON' ) THEN IF ( isDesc ) Desc = 'Noontime photolysis rate for species' IF ( isUnits ) Units = 's-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'PHO' ELSE IF ( TRIM( Name_AllCaps ) == 'JNOONFRAC' ) THEN IF ( isDesc ) Desc = & 'Fraction of the time when local noon occurred at each surface location' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'RXNRATE' ) THEN IF ( isDesc ) Desc = 'KPP equation reaction rates' IF ( isUnits ) Units = 'molec cm-3 s-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'RXN' ELSE IF ( TRIM( Name_AllCaps ) == 'SATDIAGNRXNRATE' ) THEN IF ( isDesc ) Desc = 'KPP equation reaction rates' IF ( isUnits ) Units = 'molec cm-3 s-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'RXN' ELSE IF ( TRIM( Name_AllCaps ) == 'RXNCONST' ) THEN IF ( isDesc ) Desc = 'KPP equation reaction rate constants' IF ( isUnits ) Units = '(cm3 molec-1)**(nreactants - 1) s-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'RXN' ELSE IF ( TRIM( Name_AllCaps ) == 'OHREACTIVITY' ) THEN IF ( isDesc ) Desc = 'OH reactivity' IF ( isUnits ) Units = 's-1' IF ( isRank ) Rank = 3 #ifdef MODEL_GEOS ELSE IF ( TRIM( Name_AllCaps ) == 'NOXTAU' ) THEN IF ( isDesc ) Desc = 'NOx (NO+NO2+NO3+2xN2O5+ClNO2+HNO2+HNO4) chemical lifetime' IF ( isUnits ) Units = 'h' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'TROPNOXTAU' ) THEN IF ( isDesc ) Desc = 'Tropospheric NOx (NO+NO2+NO3+2xN2O5+ClNO2+HNO2+HNO4) chemical lifetime' IF ( isUnits ) Units = 'h' IF ( isRank ) Rank = 2 #endif ELSE IF ( TRIM( Name_AllCaps ) == 'SATDIAGNOHREACTIVITY' ) THEN IF ( isDesc ) Desc = 'OH reactivity' IF ( isUnits ) Units = 's-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'UVFLUXDIFFUSE' ) THEN IF ( isDesc ) Desc = 'Diffuse UV flux in bin' IF ( isUnits ) Units = 'W m-2' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'UVFLX' ELSE IF ( TRIM( Name_AllCaps ) == 'UVFLUXDIRECT' ) THEN IF ( isDesc ) Desc = 'Direct UV flux in bin' IF ( isUnits ) Units = 'W m-2' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'UVFLX' ELSEIF ( TRIM( Name_AllCaps ) == 'UVFLUXNET' ) THEN IF ( isDesc ) Desc = 'Net UV flux in bin' IF ( isUnits ) Units = 'W m-2' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'UVFLX' ELSEIF ( TRIM( Name_AllCaps ) == 'OD600' ) THEN IF ( isDesc ) Desc = 'Optical depth at 600 nm used for photolysis rates' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 ELSEIF ( TRIM( Name_AllCaps ) == 'TCOD600' ) THEN IF ( isDesc ) Desc = 'Total column optical depth at 600 nm used for photolysis rates' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'ADVFLUXZONAL' ) THEN IF ( isDesc ) Desc = 'Advection of species in zonal direction' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'ADV' ELSE IF ( TRIM( Name_AllCaps ) == 'ADVFLUXMERID' ) THEN IF ( isDesc ) Desc = 'Advection of species in meridional direction' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'ADV' ELSE IF ( TRIM( Name_AllCaps ) == 'ADVFLUXVERT' ) THEN IF ( isDesc ) Desc = 'Advection of species in vertical direction' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'ADV' ELSE IF ( TRIM( Name_AllCaps ) == 'PBLMIXFRAC' ) THEN IF ( isDesc ) Desc = & 'Fraction of boundary layer occupied by each level' IF ( isUnits ) Units = 'placeholder' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PBLFLUX' ) THEN IF ( isDesc ) Desc = & 'Species mass change due to boundary-layer mixing' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'ADV' ELSE IF ( TRIM( Name_AllCaps ) == 'CLOUDCONVFLUX' ) THEN IF ( isDesc ) Desc = 'Mass change due to cloud convection' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'ADV' ELSE IF ( TRIM( Name_AllCaps ) == 'WETLOSSCONVFRAC' ) THEN IF ( isDesc ) Desc = & 'Fraction of soluble species lost in convective updrafts' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'WET' ELSE IF ( TRIM( Name_AllCaps ) == 'WETLOSSCONV' ) THEN IF ( isDesc ) Desc = & 'Loss of soluble species in convective updrafts' #ifdef MODEL_GEOS IF ( isUnits ) Units = 'kg m-2 s-1' #else IF ( isUnits ) Units = 'kg s-1' #endif IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'WET' ELSE IF ( TRIM( Name_AllCaps ) == 'SATDIAGNWETLOSSCONV' ) THEN IF ( isDesc ) Desc = & 'Loss of soluble species in convective updrafts' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'WET' ELSE IF ( TRIM( Name_AllCaps ) == 'PRECIPFRACCONV' ) THEN IF ( isDesc ) Desc = 'Fraction of grid box undergoing ' // & 'convective precipitation' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'RAINFRACCONV' ) THEN IF ( isDesc ) Desc = 'Fraction of soluble species lost to ' // & 'rainout in convective precipitation' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'WET' ELSE IF ( TRIM( Name_AllCaps ) == 'WASHFRACCONV' ) THEN IF ( isDesc ) Desc = 'Fraction of soluble species lost to ' // & 'washout in convective precipitation' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'WET' ELSE IF ( TRIM( Name_AllCaps ) == 'WETLOSSLS' ) THEN IF ( isDesc ) Desc = 'Loss of soluble species in large-scale ' // & 'precipitation' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'WET' ELSE IF ( TRIM( Name_AllCaps ) == 'SATDIAGNWETLOSSLS' ) THEN IF ( isDesc ) Desc = 'Loss of soluble species in large-scale ' // & 'precipitation' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'WET' ELSE IF ( TRIM( Name_AllCaps ) == 'PRECIPFRACLS' ) THEN IF ( isDesc ) Desc = 'Fraction of grid box undergoing ' // & 'large-scale precipitation' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'RAINFRACLS' ) THEN IF ( isDesc ) Desc = 'Fraction of soluble species lost to ' // & 'rainout in large-scale precipitation' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'WET' ELSE IF ( TRIM( Name_AllCaps ) == 'WASHFRACLS' ) THEN IF ( isDesc ) Desc = 'Fraction of soluble species lost to ' // & 'washout in large-scale precipitation' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'WET' ELSE IF ( TRIM( Name_AllCaps ) == 'PBFROMRNDECAY' ) THEN IF ( isDesc ) Desc = 'Pb210 created from radioactive decay ' // & 'of Rn222' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'RADDECAY' ) THEN IF ( isDesc ) Desc = 'Radioactive decay of radionuclide species' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'ADV' ELSE IF ( TRIM( Name_AllCaps ) == 'SATDIAGNCONC' ) THEN IF ( isDesc ) Desc = 'Dry mixing ratio of species' IF ( isUnits ) Units = 'mol mol-1 dry' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'ALL' IF ( isSrcType ) SrcType = KINDVAL_F8 ELSE IF ( TRIM( Name_AllCaps ) == 'SATDIAGNCOLEMIS' ) THEN IF ( isDesc ) Desc = 'Column Emissions for Advected Species' IF ( isUnits ) Units = 'kg m-2 s-1' IF ( isRank ) Rank = 2 IF ( isTagged ) TagId = 'ADV' ELSE IF ( TRIM( Name_AllCaps ) == 'SATDIAGNSURFFLUX' ) THEN IF ( isDesc ) Desc = 'Total Surface Fluxes (EFLX (emis) - DFLX (drydep)); from Surface to Top of PBL) for Advected Species' IF ( isUnits ) Units = 'kg m-2 s-1' IF ( isRank ) Rank = 2 IF ( isTagged ) TagId = 'ADV' ELSE IF ( TRIM( Name_AllCaps ) == 'SATDIAGNOH' ) THEN IF ( isDesc ) Desc = 'OH number density' IF ( isUnits ) Units = 'molec cm-3' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'SATDIAGNRH' ) THEN IF ( isDesc ) Desc = 'Relative humidity' IF ( isUnits ) Units = '%' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'SATDIAGNAIRDEN' ) THEN IF ( isDesc ) Desc = 'Air density' IF ( isUnits ) Units = 'molec/cm3' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'SATDIAGNBOXHEIGHT' ) THEN IF ( isDesc ) Desc = 'Box height' IF ( isUnits ) Units = 'm' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'SATDIAGNPEDGE' ) THEN IF ( isDesc ) Desc = 'Pressure edges' IF ( isUnits ) Units = 'hPa' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationEdge ELSE IF ( TRIM( Name_AllCaps ) == 'SATDIAGNPMID' ) THEN IF ( isDesc ) Desc = 'Pressure at level midpoints' IF ( isUnits ) Units = 'hPa' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'SATDIAGNTROPP' ) THEN IF ( isDesc ) Desc = 'Tropopause pressure' IF ( isUnits ) Units = 'hPa' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'SATDIAGNTROPLEV' ) THEN IF ( isDesc ) Desc = 'Tropopause level' IF ( isUnits ) Units = 'unitless' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'SATDIAGNPBLHEIGHT' ) THEN IF ( isDesc ) Desc = 'PBL Height' IF ( isUnits ) Units = 'm' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'SATDIAGNPBLTOP' ) THEN IF ( isDesc ) Desc = 'PBL Top' IF ( isUnits ) Units = 'm' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'SATDIAGNTAIR' ) THEN IF ( isDesc ) Desc = 'Air temperature' IF ( isUnits ) Units = 'K' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'SATDIAGNCLDFRAC' ) THEN IF ( isDesc ) Desc = '3D cloud fractions' IF ( isUnits ) Units = 'unitless' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'SATDIAGNCLDTOPP' ) THEN IF ( isDesc ) Desc = 'Cloud top pressure' IF ( isUnits ) Units = 'hPa' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'SATDIAGNGWETROOT' ) THEN IF ( isDesc ) Desc = 'Root Zone Soil Moisture (or Wetness)' IF ( isUnits ) Units = 'Fraction' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'SATDIAGNGWETTOP' ) THEN IF ( isDesc ) Desc = 'Topsoil Moisture (or Wetness)' IF ( isUnits ) Units = 'Fraction' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'SATDIAGNPARDR' ) THEN IF ( isDesc ) Desc = 'Direct Photosynthetically Active Radiation' IF ( isUnits ) Units = 'W/m2' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'SATDIAGNPARDF' ) THEN IF ( isDesc ) Desc = 'Diffuse Photosynthetically Active Radiation' IF ( isUnits ) Units = 'W/m2' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'SATDIAGNPRECTOT' ) THEN IF ( isDesc ) Desc = 'Total Precipitation (at surface)' IF ( isUnits ) Units = 'mm/day' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'SATDIAGNSLP' ) THEN IF ( isDesc ) Desc = 'Sea Level Pressure' IF ( isUnits ) Units = 'hPa' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'SATDIAGNSPHU' ) THEN IF ( isDesc ) Desc = 'Specific Humidity Interpolated to Current Time' IF ( isUnits ) Units = 'g H2O/kg air' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'SATDIAGNTS' ) THEN IF ( isDesc ) Desc = 'Surface Temperature at 2m' IF ( isUnits ) Units = 'K' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'SATDIAGNPBLTOPL' ) THEN IF ( isDesc ) Desc = 'PBL Top Height' IF ( isUnits ) Units = 'Levels' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'SATDIAGNMODISLAI' ) THEN IF ( isDesc ) Desc = 'MODIS Daily LAI' IF ( isUnits ) Units = 'm2/m2' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'RADALLSKYLWSURF' ) THEN IF ( isDesc ) Desc = 'All-sky long-wave radiation at surface' IF ( isUnits ) Units = 'W m-2' IF ( isRank ) Rank = 2 IF ( isTagged ) TagId = 'RRTMG' ELSE IF ( TRIM( Name_AllCaps ) == 'RADALLSKYLWTOA' ) THEN IF ( isDesc ) Desc = 'All-sky long-wave radiation at top of ' // & 'atmosphere' IF ( isUnits ) Units = 'W m-2' IF ( isRank ) Rank = 2 IF ( isTagged ) TagId = 'RRTMG' ELSEIF ( TRIM( Name_AllCaps ) == 'RADALLSKYSWSURF' ) THEN IF ( isDesc ) Desc = 'All-sky short-wave radiation at surface' IF ( isUnits ) Units = 'W m-2' IF ( isRank ) Rank = 2 IF ( isTagged ) TagId = 'RRTMG' ELSE IF ( TRIM( Name_AllCaps ) == 'RADALLSKYSWTOA ' ) THEN IF ( isDesc ) Desc = 'All-sky short-wave radiation at top of ' // & 'atmosphere' IF ( isUnits ) Units = 'W m-2' IF ( isRank ) Rank = 2 IF ( isTagged ) TagId = 'RRTMG' ELSE IF ( TRIM( Name_AllCaps ) == 'RADCLRSKYLWSURF' ) THEN IF ( isDesc ) Desc = 'Clear-sky long-wave radiation at surface' IF ( isUnits ) Units = 'W m-2' IF ( isRank ) Rank = 2 IF ( isTagged ) TagId = 'RRTMG' ELSE IF ( TRIM( Name_AllCaps ) == 'RADCLRSKYLWTOA ' ) THEN IF ( isDesc ) Desc = 'Clear-sky long-wave radiation at top of ' // & 'atmosphere' IF ( isUnits ) Units = 'W m-2' IF ( isRank ) Rank = 2 IF ( isTagged ) TagId = 'RRTMG' ELSE IF ( TRIM( Name_AllCaps ) == 'RADCLRSKYSWSURF' ) THEN IF ( isDesc ) Desc = 'Clear-sky short-wave radiation at surface' IF ( isUnits ) Units = 'W m-2' IF ( isRank ) Rank = 2 IF ( isTagged ) TagId = 'RRTMG' ELSE IF ( TRIM( Name_AllCaps ) == 'RADCLRSKYSWTOA' ) THEN IF ( isDesc ) Desc = 'Clear-sky short-wave radiation at top ' // & 'of atmosphere' IF ( isUnits ) Units = 'W m-2' IF ( isRank ) Rank = 2 IF ( isTagged ) TagId = 'RRTMG' ELSE IF ( TRIM( Name_AllCaps ) == 'RADALLSKYLWTROP' ) THEN IF ( isDesc ) Desc = 'All-sky long-wave radiation at the ' // & 'tropopause' IF ( isUnits ) Units = 'W m-2' IF ( isRank ) Rank = 2 IF ( isTagged ) TagId = 'RRTMG' ELSE IF ( TRIM( Name_AllCaps ) == 'RADALLSKYSWTROP' ) THEN IF ( isDesc ) Desc = 'All-sky short-wave radiation at the ' // & 'tropopause' IF ( isUnits ) Units = 'W m-2' IF ( isRank ) Rank = 2 IF ( isTagged ) TagId = 'RRTMG' ELSE IF ( TRIM( Name_AllCaps ) == 'RADCLRSKYLWTROP' ) THEN IF ( isDesc ) Desc = 'Clear-sky long-wave radiation at the ' // & 'tropopause' IF ( isUnits ) Units = 'W m-2' IF ( isRank ) Rank = 2 IF ( isTagged ) TagId = 'RRTMG' ELSE IF ( TRIM( Name_AllCaps ) == 'RADCLRSKYSWTROP' ) THEN IF ( isDesc ) Desc = 'Clear-sky short-wave radiation at the ' // & 'tropopause' IF ( isUnits ) Units = 'W m-2' IF ( isRank ) Rank = 2 IF ( isTagged ) TagId = 'RRTMG' ELSE IF ( TRIM( Name_AllCaps ) == 'RADAOD' // TRIM(RadWL(1)) // 'NM' ) THEN IF ( isDesc ) Desc = 'Aerosol optical depth at ' // & TRIM(RadWL(1)) // ' nm' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 IF ( isTagged ) TagId = 'RRTMG' ELSE IF ( TRIM( Name_AllCaps ) == 'RADAOD' // TRIM(RadWL(2)) // 'NM' ) THEN IF ( isDesc ) Desc = 'Aerosol optical depth at ' // & TRIM(RadWL(2)) // ' nm' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 IF ( isTagged ) TagId = 'RRTMG' ELSE IF ( TRIM( Name_AllCaps ) == 'RADAOD' // TRIM(RadWL(3)) // 'NM' ) THEN IF ( isDesc ) Desc = 'Aerosol optical depth at ' // & TRIM(RadWL(3)) // ' nm' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 IF ( isTagged ) TagId = 'RRTMG' ELSE IF ( TRIM( Name_AllCaps ) == 'RADSSA' // TRIM(RadWL(1)) // 'NM' ) THEN IF ( isDesc ) Desc = 'Single scattering albedo at ' // & TRIM(RadWL(1)) // ' nm' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 IF ( isTagged ) TagId = 'RRTMG' ELSE IF ( TRIM( Name_AllCaps ) == 'RADSSA' // TRIM(RadWL(2)) // 'NM' ) THEN IF ( isDesc ) Desc = 'Single scattering albedo at ' // & TRIM(RadWL(2)) // ' nm' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 IF ( isTagged ) TagId = 'RRTMG' ELSE IF ( TRIM( Name_AllCaps ) == 'RADSSA' // TRIM(RadWL(3)) // 'NM' ) THEN IF ( isDesc ) Desc = 'Single scattering albedo at ' // & TRIM(RadWL(3)) // ' nm' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 IF ( isTagged ) TagId = 'RRTMG' ELSE IF ( TRIM( Name_AllCaps ) == 'RADASYM' // TRIM(RadWL(1)) // 'NM' ) THEN IF ( isDesc ) Desc = 'Asymmetry parameter at ' // & TRIM(RadWL(1)) // ' nm' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 IF ( isTagged ) TagId = 'RRTMG' ELSE IF ( TRIM( Name_AllCaps ) == 'RADASYM' // TRIM(RadWL(2)) // 'NM' ) THEN IF ( isDesc ) Desc = 'Asymmetry parameter at ' // & TRIM(RadWL(2)) // ' nm' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 IF ( isTagged ) TagId = 'RRTMG' ELSE IF ( TRIM( Name_AllCaps ) == 'RADASYM' // TRIM(RadWL(3)) // 'NM' ) THEN IF ( isDesc ) Desc = 'Asymmetry parameter at ' // & TRIM(RadWL(3)) // ' nm' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 IF ( isTagged ) TagId = 'RRTMG' ELSE IF ( TRIM( Name_AllCaps ) == 'DYNHEATING' ) THEN IF ( isDesc ) Desc = 'Dynamical heating rate ' // & 'in baseline simulation' IF ( isUnits ) Units = 'K day-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'DTRAD' ) THEN IF ( isDesc ) Desc = 'Temperature change due ' // & 'to radiative heating' IF ( isUnits ) Units = 'K' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODBCPIFROMBCPO' ) THEN IF ( isDesc ) Desc = 'Production of hydrophilic black carbon ' // & 'from hydrophobic black carbon' IF ( isUnits ) Units = 'kg' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODOCPIFROMOCPO' ) THEN IF ( isDesc ) Desc = 'Production of hydrophilic organic ' // & 'carbon from hydrophobic organic carbon' IF ( isUnits ) Units = 'kg' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'OHCONCAFTERCHEM' ) THEN IF ( isDesc ) Desc = 'OH concentration immediately after chemistry' IF ( isUnits ) Units = 'molec cm-3' IF ( isRank ) Rank = 3 #ifdef MODEL_GEOS ELSE IF ( TRIM( Name_AllCaps ) == 'O3CONCAFTERCHEM' ) THEN IF ( isDesc ) Desc = 'O3 concentration immediately after chemistry' IF ( isUnits ) Units = 'molec cm-3' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'RO2CONCAFTERCHEM' ) THEN IF ( isDesc ) Desc = 'Peroxy radical concentration immediately after chemistry' IF ( isUnits ) Units = 'molec cm-3' IF ( isRank ) Rank = 3 #endif ELSE IF ( TRIM( Name_AllCaps ) == 'HO2CONCAFTERCHEM' ) THEN IF ( isDesc ) Desc = 'HO2 concentration immediately after chemistry' IF ( isUnits ) Units = 'mol mol-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'O1DCONCAFTERCHEM' ) THEN IF ( isDesc ) Desc = 'O1D concentration immediately after chemistry' IF ( isUnits ) Units = 'molec cm-3' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'O3PCONCAFTERCHEM' ) THEN IF ( isDesc ) Desc = 'O3P concentration immediately after chemistry' IF ( isUnits ) Units = 'molec cm-3' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'CH4PSEUDOFLUX' ) THEN IF ( isDesc ) Desc = 'CH4 pseudo-flux balancing chemistry' IF ( isUnits ) Units = 'kg m-2 s-1' IF ( isRank ) Rank = 2 #if defined( MODEL_GEOS ) || defined( MODEL_WRF ) || defined( MODEL_CESM ) ELSE IF ( TRIM( Name_AllCaps ) == 'KPPERROR' ) THEN IF ( isDesc ) Desc = 'KppError' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 #endif #ifdef TOMAS ELSE IF ( TRIM(Name_AllCaps) == 'TOMASH2SO4MASS' ) THEN IF ( isDesc ) Desc = 'TOMASH2SO4 Rate' IF ( isUnits ) Units = 'kg kg-1 s-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'TOMASBIN' ELSE IF ( TRIM(Name_AllCaps) == 'TOMASH2SO4NUMBER' ) THEN IF ( isDesc ) Desc = 'TOMASH2SO4 Rate' IF ( isUnits ) Units = 'number kg-1 s-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'TOMASBIN' ELSE IF ( TRIM(Name_AllCaps) == 'TOMASCOAGMASS' ) THEN IF ( isDesc ) Desc = 'TOMASCOAG Rate' IF ( isUnits ) Units = 'kg kg-1 s-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'TOMASBIN' ELSE IF ( TRIM(Name_AllCaps) == 'TOMASCOAGNUMBER' ) THEN IF ( isDesc ) Desc = 'TOMASCOAG Rate' IF ( isUnits ) Units = 'number kg-1 s-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'TOMASBIN' ELSE IF ( TRIM(Name_AllCaps) == 'TOMASNUCRATEFN' ) THEN IF ( isDesc ) Desc = 'TOMAS Nucleation Rate' IF ( isUnits ) Units = 'number cm-3 s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM(Name_AllCaps) == 'TOMASNUCLMASS' ) THEN IF ( isDesc ) Desc = 'TOMASNUCL Rate' IF ( isUnits ) Units = 'kg kg-1 s-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'TOMASBIN' ELSE IF ( TRIM(Name_AllCaps) == 'TOMASNUCLNUMBER' ) THEN IF ( isDesc ) Desc = 'TOMASNUCL Rate' IF ( isUnits ) Units = 'number kg-1 s-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'TOMASBIN' ELSE IF ( TRIM(Name_AllCaps) == 'TOMASNUCRATENUMBER' ) THEN IF ( isDesc ) Desc = 'TOMASNUCL Rate' IF ( isUnits ) Units = 'number kg-1 s-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'TOMASBIN' ELSE IF ( TRIM(Name_AllCaps) == 'TOMASAQOXMASS' ) THEN IF ( isDesc ) Desc = 'TOMASAQOX Rate' IF ( isUnits ) Units = 'kg kg-1 s-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'TOMASBIN' ELSE IF ( TRIM(Name_AllCaps) == 'TOMASAQOXNUMBER' ) THEN IF ( isDesc ) Desc = 'TOMASAQOX Rate' IF ( isUnits ) Units = 'number kg-1 s-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'TOMASBIN' ELSE IF ( TRIM(Name_AllCaps) == 'TOMASMNFIXMASS' ) THEN IF ( isDesc ) Desc = 'TOMASMNFIX Rate' IF ( isUnits ) Units = 'kg kg-1 s-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'TOMASBIN' ELSE IF ( TRIM(Name_AllCaps) == 'TOMASMNFIXNUMBER' ) THEN IF ( isDesc ) Desc = 'TOMASMNFIX Rate' IF ( isUnits ) Units = 'number kg-1 s-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'TOMASBIN' ELSE IF ( TRIM(Name_AllCaps) == 'TOMASMNFIXH2SO4MASS' ) THEN IF ( isDesc ) Desc = 'TOMASMNFIXH2SO4 Rate' IF ( isUnits ) Units = 'kg kg-1 s-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'TOMASBIN' ELSE IF ( TRIM(Name_AllCaps) == 'TOMASMNFIXH2SO4NUMBER' ) THEN IF ( isDesc ) Desc = 'TOMASMNFIXH2SO4 Rate' IF ( isUnits ) Units = 'number kg-1 s-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'TOMASBIN' ELSE IF ( TRIM(Name_AllCaps) == 'TOMASMNFIXCOAGMASS' ) THEN IF ( isDesc ) Desc = 'TOMASMNFIXCOAG Rate' IF ( isUnits ) Units = 'kg kg-1 s-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'TOMASBIN' ELSE IF ( TRIM(Name_AllCaps) == 'TOMASMNFIXCOAGNUMBER' ) THEN IF ( isDesc ) Desc = 'TOMASMNFIXAQOX Rate' IF ( isUnits ) Units = 'number kg-1 s-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'TOMASBIN' ELSE IF ( TRIM(Name_AllCaps) == 'TOMASMNFIXAQOXMASS' ) THEN IF ( isDesc ) Desc = 'TOMASMNFIXAQOX Rate' IF ( isUnits ) Units = 'kg kg-1 s-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'TOMASBIN' ELSE IF ( TRIM(Name_AllCaps) == 'TOMASMNFIXAQOXNUMBER' ) THEN IF ( isDesc ) Desc = 'TOMASMNFIXCOND Rate' IF ( isUnits ) Units = 'number kg-1 s-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'TOMASBIN' ELSE IF ( TRIM(Name_AllCaps) == 'TOMASMNFIXEZWAT1MASS' ) THEN IF ( isDesc ) Desc = 'TOMASMNFIXEZWAT1 Rate' IF ( isUnits ) Units = 'kg kg-1 s-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'TOMASBIN' ELSE IF ( TRIM(Name_AllCaps) == 'TOMASMNFIXEZWAT1NUMBER' ) THEN IF ( isDesc ) Desc = 'TOMASMNFIXEZWAT1 Rate' IF ( isUnits ) Units = 'number kg-1 s-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'TOMASBIN' ELSE IF ( TRIM(Name_AllCaps) == 'TOMASMNFIXEZWAT2MASS' ) THEN IF ( isDesc ) Desc = 'TOMASMNFIXEZWAT2 Rate' IF ( isUnits ) Units = 'kg kg-1 s-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'TOMASBIN' ELSE IF ( TRIM(Name_AllCaps) == 'TOMASMNFIXEZWAT2NUMBER' ) THEN IF ( isDesc ) Desc = 'TOMASMNFIXEZWAT2 Rate' IF ( isUnits ) Units = 'number kg-1 s-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'TOMASBIN' ELSE IF ( TRIM(Name_AllCaps) == 'TOMASMNFIXEZWAT3MASS' ) THEN IF ( isDesc ) Desc = 'TOMASMNFIXEZWAT3 Rate' IF ( isUnits ) Units = 'kg kg-1 s-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'TOMASBIN' ELSE IF ( TRIM(Name_AllCaps) == 'TOMASMNFIXEZWAT3NUMBER' ) THEN IF ( isDesc ) Desc = 'TOMASMNFIXEZWAT3 Rate' IF ( isUnits ) Units = 'number kg-1 s-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'TOMASBIN' ELSE IF ( TRIM(Name_AllCaps) == 'TOMASMNFIXCHECK1MASS' ) THEN IF ( isDesc ) Desc = 'TOMASMNFIXCHECK1 Rate' IF ( isUnits ) Units = 'kg kg-1 s-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'TOMASBIN' ELSE IF ( TRIM(Name_AllCaps) == 'TOMASMNFIXCHECK1NUMBER' ) THEN IF ( isDesc ) Desc = 'TOMASMNFIXCHECK1 Rate' IF ( isUnits ) Units = 'number kg-1 s-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'TOMASBIN' ELSE IF ( TRIM(Name_AllCaps) == 'TOMASMNFIXCHECK2MASS' ) THEN IF ( isDesc ) Desc = 'TOMASMNFIXCHECK2 Rate' IF ( isUnits ) Units = 'kg kg-1 s-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'TOMASBIN' ELSE IF ( TRIM(Name_AllCaps) == 'TOMASMNFIXCHECK2NUMBER' ) THEN IF ( isDesc ) Desc = 'TOMASMNFIXCHECK2 Rate' IF ( isUnits ) Units = 'number kg-1 s-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'TOMASBIN' ELSE IF ( TRIM(Name_AllCaps) == 'TOMASMNFIXCHECK3MASS' ) THEN IF ( isDesc ) Desc = 'TOMASMNFIXCHECK3 Rate' IF ( isUnits ) Units = 'kg kg-1 s-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'TOMASBIN' ELSE IF ( TRIM(Name_AllCaps) == 'TOMASMNFIXCHECK3NUMBER' ) THEN IF ( isDesc ) Desc = 'TOMASMNFIXCHECK3 Rate' IF ( isUnits ) Units = 'number kg-1 s-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'TOMASBIN' ELSE IF ( TRIM(Name_AllCaps) == 'TOMASSOAMASS' ) THEN IF ( isDesc ) Desc = 'TOMASSOA Rate' IF ( isUnits ) Units = 'kg kg-1 s-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'TOMASBIN' ELSE IF ( TRIM(Name_AllCaps) == 'TOMASSOANUMBER' ) THEN IF ( isDesc ) Desc = 'TOMASSOA Rate' IF ( isUnits ) Units = 'number kg-1 s-1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'TOMASBIN' #endif ELSE IF ( TRIM(Name_AllCaps) == 'AODDUST' ) THEN IF ( isDesc ) Desc = 'Optical depth for mineral dust' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM(Name_AllCaps) == 'AODDUST' // TRIM(RadWL(1)) // 'NM' ) THEN IF ( isDesc ) Desc = 'Optical depth for dust at ' // & TRIM(RadWL(1)) // ' nm' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'DUSTBIN' ELSE IF ( TRIM(Name_AllCaps) == 'AODDUST' // TRIM(RadWL(2)) // 'NM' ) THEN IF ( isDesc ) Desc = 'Optical depth for dust at ' // & TRIM(RadWL(2)) // ' nm' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'DUSTBIN' ELSE IF ( TRIM(Name_AllCaps) == 'AODDUST' // TRIM(RadWL(3)) // 'NM' ) THEN IF ( isDesc ) Desc = 'Optical depth for dust at ' // & TRIM(RadWL(3)) // ' nm' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'DUSTBIN' ELSE IF ( TRIM(Name_AllCaps) == 'AODHYG' // TRIM(RadWL(1)) // 'NM' ) THEN IF ( isDesc ) Desc = 'Optical depth for hygroscopic aerosol ' // & 'at ' // TRIM(RadWL(1)) // ' nm' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'HYG' ELSE IF ( TRIM(Name_AllCaps) == 'AODHYG' // TRIM(RadWL(2)) // 'NM' ) THEN IF ( isDesc ) Desc = 'Optical depth for hygroscopic aerosol ' // & 'at ' // TRIM(RadWL(2)) // ' nm' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'HYG' ELSE IF ( TRIM(Name_AllCaps) == 'AODHYG' // TRIM(RadWL(3)) // 'NM' ) THEN IF ( isDesc ) Desc = 'Optical depth for hygroscopic aerosol ' // & 'at ' // TRIM(RadWL(3)) // ' nm' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'HYG' ELSE IF ( TRIM(Name_AllCaps) == 'AODSOAFROMAQISOPRENE' // & TRIM(RadWL(1)) // 'NM' ) THEN IF ( isDesc ) Desc = 'Optical depth for SOA from aqueous ' // & 'isoprene at ' // TRIM(RadWL(1)) // ' nm' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM(Name_AllCaps) == 'AODSOAFROMAQISOPRENE' // & TRIM(RadWL(2)) // 'NM' ) THEN IF ( isDesc ) Desc = 'Optical depth for SOA from aqueous ' // & 'isoprene at ' // TRIM(RadWL(2)) // ' nm' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM(Name_AllCaps) == 'AODSOAFROMAQISOPRENE' // & TRIM(RadWL(3)) // 'NM' ) THEN IF ( isDesc ) Desc = 'Optical depth for SOA from aqueous ' // & 'isoprene at ' // TRIM(RadWL(3)) // ' nm' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM(Name_AllCaps) == 'AODSTRATLIQUIDAER'// & TRIM(RadWL(1)) // 'NM' ) THEN IF ( isDesc ) Desc = 'Stratospheric liquid aerosol optical ' // & 'depth at ' // TRIM(RadWL(1)) // ' nm' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM(Name_AllCaps) == 'AODSTRATLIQUIDAER'// & TRIM(RadWL(2)) // 'NM' ) THEN IF ( isDesc ) Desc = 'Stratospheric liquid aerosol optical ' // & 'depth at ' // TRIM(RadWL(2)) // ' nm' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM(Name_AllCaps) == 'AODSTRATLIQUIDAER'// & TRIM(RadWL(3)) // 'NM' ) THEN IF ( isDesc ) Desc = 'Stratospheric liquid aerosol optical ' // & 'depth at ' // TRIM(RadWL(3)) // ' nm' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM(Name_AllCaps) == 'AODPOLARSTRATCLOUD'// & TRIM(RadWL(1)) // 'NM' ) THEN IF ( isDesc ) Desc = 'Polar stratospheric cloud type 1a/2 ' // & 'optical depth at ' // TRIM(RadWL(1)) // ' nm' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM(Name_AllCaps) == 'AODPOLARSTRATCLOUD'// & TRIM(RadWL(2)) // 'NM' ) THEN IF ( isDesc ) Desc = 'Polar stratospheric cloud type 1a/2 ' // & 'optical depth at ' // TRIM(RadWL(2)) // ' nm' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM(Name_AllCaps) == 'AODPOLARSTRATCLOUD'// & TRIM(RadWL(3)) // 'NM' ) THEN IF ( isDesc ) Desc = 'Polar stratospheric cloud type 1a/2 ' // & 'optical depth at ' // TRIM(RadWL(3)) // ' nm' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM(Name_AllCaps) == 'AERHYGROSCOPICGROWTH' ) THEN IF ( isDesc ) Desc = 'Hygroscopic growth of aerosol species' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'HYG' ELSE IF ( TRIM(Name_AllCaps) == 'AERAQUEOUSVOLUME' ) THEN IF ( isDesc ) Desc = 'Aqueous aerosol volume' IF ( isUnits ) Units = 'cm3 cm-3' IF ( isRank ) Rank = 3 ELSE IF ( TRIM(Name_AllCaps) == 'AERSURFAREADUST' ) THEN IF ( isDesc ) Desc = 'Surface area of mineral dust' IF ( isUnits ) Units = 'cm2 cm-3' IF ( isRank ) Rank = 3 ELSE IF ( TRIM(Name_AllCaps) == 'AERSURFAREAHYG' ) THEN IF ( isDesc ) Desc = 'Surface area of aerosol species' IF ( isUnits ) Units = 'cm2 cm-3' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'HYG' ELSE IF ( TRIM(Name_AllCaps) == 'AERSURFAREASTRATLIQUID' ) THEN IF ( isDesc ) Desc = 'Stratospheric liquid surface area' IF ( isUnits ) Units = 'cm2 cm-3' IF ( isRank ) Rank = 3 ELSE IF ( TRIM(Name_AllCaps) == 'AERSURFAREAPOLARSTRATCLOUD' ) THEN IF ( isDesc ) Desc = 'Polar stratospheric cloud type 1a/2 ' // & 'surface area' IF ( isUnits ) Units = 'cm2 cm-3' IF ( isRank ) Rank = 3 ELSE IF ( TRIM(Name_AllCaps) == 'AERNUMDENSITYSTRATLIQUID' ) THEN IF ( isDesc ) Desc = 'Stratospheric liquid aerosol number density' IF ( isUnits ) Units = '# cm-3' IF ( isRank ) Rank = 3 ELSE IF ( TRIM(Name_AllCaps) == 'AERNUMDENSITYSTRATPARTICULATE' ) THEN IF ( isDesc ) Desc = 'Stratospheric particulate aerosol ' // & 'number density' IF ( isUnits ) Units = '# cm-3' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PM25' ) THEN IF ( isDesc ) Desc = 'Particulate matter with radii < 2.5 um' IF ( isUnits ) Units = 'ug m-3' IF ( isRank ) Rank = 3 !zhaisx ELSE IF ( TRIM( Name_AllCaps ) == 'PM10' ) THEN IF ( isDesc ) Desc = 'Particulate matter with radii < 10 um' IF ( isUnits ) Units = 'ug m-3' IF ( isRank ) Rank = 3 ! H. Zhu ELSE IF ( TRIM( Name_AllCaps ) == 'PDER' ) THEN IF ( isDesc ) Desc = 'Paremeterized Effective Radius for SNA and OM' IF ( isUnits ) Units = 'um' IF ( isRank ) Rank = 3 #ifdef MODEL_GEOS ELSE IF ( TRIM( Name_AllCaps ) == 'PM25NI' ) THEN IF ( isDesc ) Desc = & 'Particulate matter with radii < 2.5 um, nitrates and ammonium' IF ( isUnits ) Units = 'ug m-3' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PM25NIT' ) THEN IF ( isDesc ) Desc = & 'Particulate matter with radii < 2.5 um, nitrate' IF ( isUnits ) Units = 'ug m-3' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PM25NH4' ) THEN IF ( isDesc ) Desc = & 'Particulate matter with radii < 2.5 um, ammonium' IF ( isUnits ) Units = 'ug m-3' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PM25SU' ) THEN IF ( isDesc ) Desc = & 'Particulate matter with radii < 2.5 um, sulfates' IF ( isUnits ) Units = 'ug m-3' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PM25OC' ) THEN IF ( isDesc ) Desc = & 'Particulate matter with radii < 2.5 um, organic carbon' IF ( isUnits ) Units = 'ug m-3' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PM25BC' ) THEN IF ( isDesc ) Desc = & 'Particulate matter with radii < 2.5 um, black carbon' IF ( isUnits ) Units = 'ug m-3' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PM25DU' ) THEN IF ( isDesc ) Desc = & 'Particulate matter with radii < 2.5 um, dust' IF ( isUnits ) Units = 'ug m-3' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PM25SS' ) THEN IF ( isDesc ) Desc = & 'Particulate matter with radii < 2.5 um, sea salt' IF ( isUnits ) Units = 'ug m-3' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PM25SOA' ) THEN IF ( isDesc ) Desc = & 'Particulate matter with radii < 2.5 um, SOA' IF ( isUnits ) Units = 'ug m-3' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'TOTCOL' ) THEN IF ( isDesc ) Desc = 'total column density of species' IF ( isUnits ) Units = '1.0e15 molec cm-2' IF ( isRank ) Rank = 2 IF ( isTagged ) TagId = 'ALL' ELSE IF ( TRIM( Name_AllCaps ) == 'TROPCOL' ) THEN IF ( isDesc ) Desc = 'tropospheric column density of species' IF ( isUnits ) Units = '1.0e15 molec cm-2' IF ( isRank ) Rank = 2 IF ( isTagged ) TagId = 'ALL' ELSE IF ( TRIM( Name_AllCaps ) == 'PBLCOL' ) THEN IF ( isDesc ) Desc = 'boundary layer column density of species' IF ( isUnits ) Units = '1.0e15 molec cm-2' IF ( isRank ) Rank = 2 IF ( isTagged ) TagId = 'ALL' ELSE IF ( TRIM( Name_AllCaps ) == 'COINCCO2PHOT' ) THEN IF ( isDesc ) Desc = 'Relative change of CO due to CO2 photolysis' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'CO2PHOTRATE' ) THEN IF ( isDesc ) Desc = 'CO2 photolysis rate' IF ( isUnits ) Units = 's-1' IF ( isRank ) Rank = 3 #endif ELSE IF ( TRIM( Name_AllCaps ) == 'TERPENESOA' ) THEN IF ( isDesc ) Desc = 'Monoterpene and sesqiterpene SOA' IF ( isUnits ) Units = 'ug m-3' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'ISOPRENESOA' ) THEN IF ( isDesc ) Desc = 'Isoprene (biogenic) SOA from either ' // & 'semivolatile partitioning or ' // & 'irreversible uptake' IF ( isUnits ) Units = 'ug m-3' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'AROMATICSOA' ) THEN IF ( isDesc ) Desc = 'Aromatic and intermediate volatility ' // & '(anthropogenic) SOA' IF ( isUnits ) Units = 'ug m-3' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'SATDIAGNLOSS' ) THEN IF ( IsDesc ) Desc = 'Chemical loss of' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'LOS' ! NOTE: Units are different depending on simulation, due to historical ! baggage. Maybe clean this up at a later point to use the same units ! regardless of simulation type. (bmy, 12/4/17) IF ( isUnits ) THEN IF ( IsFullChem ) THEN Units = 'molec cm-3 s-1' ELSE Units = 'kg s-1' ENDIF ENDIF ELSE IF ( TRIM( Name_AllCaps ) == 'LOSS' ) THEN IF ( IsDesc ) Desc = 'Chemical loss of' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'LOS' ! NOTE: Prod/Loss units for simulations with KPP are molec/cm3/s, ! and are currently kg/s for other specialty simulations. ! This will need to be cleaned up later (Bob Yantosca, 22 Aug 2020). IF ( isUnits ) THEN IF ( IsFullChem .or. IsHg .or. IsCarbon ) THEN Units = 'molec cm-3 s-1' ELSE Units = 'kg s-1' ENDIF ENDIF ELSE IF ( TRIM( Name_AllCaps ) == 'SATDIAGNPROD' ) THEN IF ( isDesc ) Desc = 'Chemical production of' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'PRD' ! NOTE: Units are different depending on simulation, due to historical ! baggage. Maybe clean this up at a later point to use the same units ! regardless of simulation type. (bmy, 12/4/17) IF ( isUnits ) THEN IF ( IsFullChem ) THEN Units = 'molec cm-3 s-1' ELSE Units = 'kg s-1' ENDIF ENDIF ELSE IF ( TRIM( Name_AllCaps ) == 'PROD' ) THEN IF ( isDesc ) Desc = 'Chemical production of' IF ( isRank ) Rank = 3 IF ( isTagged ) TagId = 'PRD' ! NOTE: Prod/Loss units for simulations with KPP are molec/cm3/s, ! and are currently kg/s for other specialty simulations. ! This will need to be cleaned up later (Bob Yantosca, 22 Aug 2020). IF ( isUnits ) THEN IF ( IsFullChem .or. IsHg .or. IsCarbon ) THEN Units = 'molec cm-3 s-1' ELSE Units = 'kg s-1' ENDIF ENDIF ELSE IF ( TRIM( Name_AllCaps ) == 'PRODSO2FROMDMSANDOH' ) THEN IF ( isDesc ) Desc = 'Production of SO2 from DMS+OH reaction' IF ( isUnits ) Units = 'kg S s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODSO2FROMDMSANDNO3' ) THEN IF ( isDesc ) Desc = 'Production of SO2 from DMS+NO3 reaction' IF ( isUnits ) Units = 'kg S s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODSO2FROMDMS' ) THEN IF ( isDesc ) Desc = 'Total production of SO2 from DMS' IF ( isUnits ) Units = 'kg S s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODMSAFROMDMS' ) THEN IF ( isDesc ) Desc = 'Production of MSA from DMS' IF ( isUnits ) Units = 'kg S s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODSO4FROMGASPHASE' ) THEN IF ( isDesc ) Desc = 'Production of SO4 from gas phase reactions' IF ( isUnits ) Units = 'kg S s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODSO4FROMH2O2INCLOUD' ) THEN IF ( isDesc ) Desc = 'Production of SO4 from aqueous ' // & 'oxidation of H2O2 in clouds' IF ( isUnits ) Units = 'kg S s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODSO4FROMO3INCLOUD' ) THEN IF ( isDesc ) Desc = 'Production of SO4 from aqueous ' // & 'oxidation of O3 in clouds' IF ( isUnits ) Units = 'kg S s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODSO4FROMHOBRINCLOUD' ) THEN IF ( isDesc ) Desc = 'Production of SO4 from aqueous ' // & 'oxidation of HOBr in clouds' IF ( isUnits ) Units = 'kg S s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODSO4FROMO2INCLOUDMETAL' ) THEN IF ( isDesc ) Desc = & 'Production of SO4 from aqueous oxidation of O2 metal-catalyzed' IF ( isUnits ) Units = 'kg S' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODSO4FROMO3INSEASALT' ) THEN IF ( isDesc ) Desc = 'Production of SO4 from O3 in sea ' // & 'salt aerosols' IF ( isUnits ) Units = 'kg S s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODSO4FROMOXIDATIONONDUST' ) THEN IF ( isDesc ) Desc = 'Production of SO4 from oxidation on ' // & 'dust aerosols' IF ( isUnits ) Units = 'kg S s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODNITFROMHNO3UPTAKEONDUST' ) THEN IF ( isDesc ) Desc = 'Production of NIT from HNO3 uptake ' // & 'on dust aerosols' IF ( isUnits ) Units = 'kg N s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODSO4FROMUPTAKEOFH2SO4G' ) THEN IF ( isDesc ) Desc = 'Production of SO4 from uptake of H2SO4(g)' IF ( isUnits ) Units = 'kg S s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODSO4FROMSRO3' ) THEN IF ( isDesc ) Desc = 'Production of SO4 by SRO3' IF ( isUnits ) Units = 'kg S s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODSO4FROMSRHOBR' ) THEN IF ( isDesc ) Desc = 'Production of SO4 from SRHOBr' IF ( isUnits ) Units = 'kg S s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODSO4FROMO3S' ) THEN IF ( isDesc ) Desc = 'Production of SO4 from O3s' IF ( isUnits ) Units = 'kg S s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'LOSSHNO3ONSEASALT' ) THEN IF ( isDesc ) Desc = 'Loss of HNO3 on sea salt aerosols' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'AERMASSASOA' ) THEN IF ( isDesc ) Desc = & 'Mass of aerosol products of light aromatics + IVOC oxidation' IF ( isUnits ) Units = 'ug m-3' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'AERMASSBC' ) THEN IF ( isDesc ) Desc = 'Mass of black carbon aerosol (OA:OC=2.1)' IF ( isUnits ) Units = 'ug C m-3' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'AERMASSINDIOL' ) THEN IF ( isDesc ) Desc = & 'Aerosol mass of generic aerosol-phase organonitrate hydrolysis product' IF ( isUnits ) Units = 'ug m-3' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'AERMASSISN1OA' ) THEN IF ( isDesc ) Desc = 'Mass of aerosol-phase 2nd generation hydroxynitrates formed from ISOP+NO3 reaction pathway' IF ( isUnits ) Units = 'ug m-3' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'AERMASSLVOCOA' ) THEN IF ( isDesc ) Desc = 'Mass of aerosol-phase low-volatility non-IEPOX product of ISOPOOH (RIP) oxidation ' IF ( isUnits ) Units = 'ug m-3' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'AERMASSNH4' ) THEN IF ( isDesc ) Desc = 'Mass of NH4 aerosol' IF ( isUnits ) Units = 'ug m-3' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'AERMASSNIT' ) THEN IF ( isDesc ) Desc = 'Mass of inorganic nitrate aerosols' IF ( isUnits ) Units = 'ug m-3' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'AERMASSOPOA' ) THEN IF ( isDesc ) Desc = & 'Mass of lumped aerosol primary SVOCs (OA:OC=2.1)' IF ( isUnits ) Units = 'ug m-3' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'AERMASSPOA' ) THEN IF ( isDesc ) Desc = & 'Mass of lumped aerosol primary SVOCs (OA:OC=2.1)' IF ( isUnits ) Units = 'ug m-3' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'AERMASSSAL' ) THEN IF ( isDesc ) Desc = & 'Mass of total seasalt aerosol (accumulation + coarse)' IF ( isUnits ) Units = 'ug m-3' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'AERMASSSO4' ) THEN IF ( isDesc ) Desc = 'Mass of sulfate aerosol' IF ( isUnits ) Units = 'ug m-3' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'AERMASSSOAGX' ) THEN IF ( isDesc ) Desc = 'Mass of aerosol-phase glyoxal' IF ( isUnits ) Units = 'ug m-3' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'AERMASSSOAIE' ) THEN IF ( isDesc ) Desc = 'Mass of aerosol-phase IEPOX (isoprene epoxide)' IF ( isUnits ) Units = 'ug m-3' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'AERMASSTSOA' ) THEN IF ( isDesc ) Desc = 'Mass of aerosol products of terpene oxidation' IF ( isUnits ) Units = 'ug m-3' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'BETANO' ) THEN IF ( isDesc ) Desc = 'Beta NO branching ratio' IF ( isUnits ) Units = 'ug C m-3' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'TOTALBIOGENICOA' ) THEN IF ( isDesc ) Desc = & 'Sum of all biogenic organic aerosol (OA:OC=2.1)' IF ( isUnits ) Units = 'ug m-3' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'TOTALOA' ) THEN IF ( isDesc ) Desc = 'Sum of all organic aerosol (OA:OC=2.1)' IF ( isUnits ) Units = 'ug m-3' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'TOTALOC' ) THEN IF ( isDesc ) Desc = 'Sum of all organic carbon (OA:OC=2.1)' IF ( isUnits ) Units = 'ug m-3' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'KPPINTCOUNTS' ) THEN IF ( isDesc ) Desc = 'Number of calls to KPP integrator' IF ( isUnits ) Units = 'count' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'KPPJACCOUNTS' ) THEN IF ( isDesc ) Desc = 'Number of times KPP updated the Jacobian' IF ( isUnits ) Units = 'count' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'KPPTOTSTEPS' ) THEN IF ( isDesc ) Desc = 'Total number of KPP internal timesteps' IF ( isUnits ) Units = 'count' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'KPPACCSTEPS' ) THEN IF ( isDesc ) Desc = 'Number of accepted KPP internal timesteps' IF ( isUnits ) Units = 'count' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'KPPREJSTEPS' ) THEN IF ( isDesc ) Desc = 'Number of rejected KPP internal timesteps' IF ( isUnits ) Units = 'count' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'KPPLUDECOMPS' ) THEN IF ( isDesc ) Desc = 'Number of KPP LU-decompositions' IF ( isUnits ) Units = 'count' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'KPPSUBSTS' ) THEN IF ( isDesc ) Desc = & 'Number of KPP forward and backward matrix substitutions' IF ( isUnits ) Units = 'count' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'KPPSMDECOMPS' ) THEN IF ( isDesc ) Desc = 'Number of KPP singular matrix decompositions' IF ( isUnits ) Units = 'count' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'KPPNEGATIVES' ) THEN IF ( isDesc ) Desc = 'Number of negative concentrations after KPP integration' IF ( isUnits ) Units = 'count' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'KPPNEGATIVES0' ) THEN IF ( isDesc ) Desc = 'Number of negative concentrations after first KPP integration attempt' IF ( isUnits ) Units = 'count' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'KPPAUTOREDUCERNVAR' ) THEN IF ( isDesc ) Desc = 'Number of species in auto-reduced mechanism' IF ( isUnits ) Units = 'count' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'KPPAUTOREDUCETHRES' ) THEN IF ( isDesc ) Desc = 'Auto-reduction threshold' IF ( isUnits ) Units = 'molecules cm-3 s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'KPPCNONZERO' ) THEN IF ( isDesc ) Desc = 'Number of nonzero elements in LU decomposition AR only' IF ( isUnits ) Units = 'count' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'KPPTIME' ) THEN IF ( isDesc ) Desc = 'Time KPP spent in grid box' IF ( isUnits ) Units = 's' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'LOSSPOPPOCPOBYGASPHASE' ) THEN IF ( isDesc ) Desc = & 'Loss of POPPOCPO species by gas-phase reactions' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODPOPPOCPOFROMGASPHASE' ) THEN IF ( isDesc ) Desc = & 'Prod of POPPOCPO species by gas-phase reactions' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'LOSSPOPPBCPOBYGASPHASE' ) THEN IF ( isDesc ) Desc = & 'Loss of POPPBCPO species by gas-phase reactions' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODPOPPBCPOFROMGASPHASE' ) THEN IF ( isDesc ) Desc = & 'Prod of POPPBCPO species by gas-phase reactions' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODPOPGFROMOH' ) THEN IF ( isDesc ) Desc = 'Prod of POPG species from reaction with OH' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODPOPPOCPOFROMO3' ) THEN IF ( isDesc ) Desc = & 'Prod of POPPOCPO species from reaction with O3' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODPOPPOCPIFROMO3' ) THEN IF ( isDesc ) Desc = & 'Prod of POPPOCPI species from reaction with O3' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODPOPPBCPOFROMO3' ) THEN IF ( isDesc ) Desc = & 'Prod of POPPBCPO species from reaction with O3' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODPOPPBCPIFROMO3' ) THEN IF ( isDesc ) Desc = & 'Prod of POPPBCPI species from reaction with O3' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODPOPPOCPOFROMNO3' ) THEN IF ( isDesc ) Desc = '& Prod of POPPOCPO species from reaction with NO3' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODPOPPOCPIFROMNO3' ) THEN IF ( isDesc ) Desc = '& Prod of POPPOCPI species from reaction with NO3' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODPOPPBCPOFROMNO3' ) THEN IF ( isDesc ) Desc = & 'Prod of POPPBCPO species from reaction with NO3' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODPOPPBCPIFROMNO3' ) THEN IF ( isDesc ) Desc = & 'Prod of POPPBCPI species from reaction with NO3' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODCO2FROMCO' ) THEN IF ( isDesc ) Desc = 'Prod of CO2 from CO oxidation' IF ( isRank ) Rank = 3 IF ( isUnits ) THEN IF ( isCarbon ) THEN Units = 'molec cm-3 s-1' ELSE Units = 'kg m-2 s-1' ENDIF ENDIF ELSE IF ( TRIM( Name_AllCaps ) == 'LOSSCH4BYCLINTROP' ) THEN IF ( isDesc ) Desc = & 'Loss of CH4 by reaction with Cl in troposphere' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'LOSSCH4BYOHINTROP' ) THEN IF ( isDesc ) Desc = & 'Loss of CH4 by reaction with OH in troposphere' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'LOSSCH4INSTRAT' ) THEN IF ( isDesc ) Desc = 'Loss of CH4 in the stratosphere' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODCOFROMCH4' ) THEN IF ( isDesc ) Desc = 'Production of CO by CH4' IF ( isRank ) Rank = 3 IF ( isUnits ) THEN IF ( isFullChem .or. isCarbon ) THEN Units = 'molec cm-3 s-1' ELSE Units = 'kg s-1' ENDIF ENDIF ELSE IF ( TRIM( Name_AllCaps ) == 'PRODCOFROMNMVOC' ) THEN IF ( isDesc ) Desc = 'Porduction of CO by NMVOC' IF ( isRank ) Rank = 3 IF ( isUnits ) THEN IF ( isFullChem .or. isCarbon ) THEN Units = 'molec cm-3 s-1' ELSE Units = 'kg s-1' ENDIF ENDIF ELSE IF ( TRIM( Name_AllCaps ) == 'EMISHG0ANTHRO' ) THEN IF ( isDesc ) Desc = 'Anthropogenic emissions of Hg0' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'EMISHG0SOIL' ) THEN IF ( isDesc ) Desc = 'Soil emissions of Hg0' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'EMISHG0OCEAN' ) THEN IF ( isDesc ) Desc = 'Oceanic emissions of Hg0' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'EMISHG0LAND' ) THEN IF ( isDesc ) Desc = 'Land re-emissions of Hg0' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'EMISHG0GEOGENIC' ) THEN IF ( isDesc ) Desc = 'Geogenic emissions of Hg0' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'EMISHG0BIOMASS' ) THEN IF ( isDesc ) Desc = 'Biomass burning emissions of Hg0' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'EMISHG0VEGETATION' ) THEN IF ( isDesc ) Desc = 'Vegetation emissions of Hg0' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'EMISHG0SNOW' ) THEN IF ( isDesc ) Desc = 'Snowpack emissions of Hg0' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'EMISHG2HGPANTHRO' ) THEN IF ( isDesc ) Desc = 'Anthropogenic emissions of Hg2 + HgP' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'EMISHG2SNOWTOOCEAN' ) THEN IF ( isDesc ) Desc = 'Emissions of Hg2 to the ocean from snowmelt' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'EMISHG2RIVERS' ) THEN IF ( isDesc ) Desc = 'Emissions of Hg2 to the ocean from rivers' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'FLUXHG2HGPFROMAIRTOSNOW' ) THEN IF ( isDesc ) Desc = & 'Deposition flux of Hg2 and HgP to snow and ice' IF ( isUnits ) Units = 'kg' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'FLUXHG0FROMAIRTOOCEAN' ) THEN IF ( isDesc ) Desc = & 'Volatization flux of Hg0 from the atmosphere to the ocean' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'FLUXHG0FROMOCEANTOAIR' ) THEN IF ( isDesc ) Desc = & 'Deposition flux of Hg0 from the ocean to the atmosphere' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'FLUXHG2TODEEPOCEAN' ) THEN IF ( isDesc ) Desc = 'Flux of Hg2 sunk to the deep ocean' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'FLUXHG2HGPFROMAIRTOOCEAN' ) THEN IF ( isDesc ) Desc = & 'Deposition flux of Hg2 and HgP from the atmosphere to the ocean' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'FLUXOCTODEEPOCEAN' ) THEN IF ( isDesc ) Desc = 'Flux of organic carbon sunk to the deep ocean' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'MASSHG0INOCEAN' ) THEN IF ( isDesc ) Desc = 'Total oceanic mass of Hg0' IF ( isUnits ) Units = 'kg' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'MASSHG2INOCEAN' ) THEN IF ( isDesc ) Desc = 'Total oceanic mass of Hg2' IF ( isUnits ) Units = 'kg' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'MASSHGPINOCEAN' ) THEN IF ( isDesc ) Desc = 'Total oceanic mass of HgP' IF ( isUnits ) Units = 'kg' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'MASSHGTOTALINOCEAN' ) THEN IF ( isDesc ) Desc = 'Total ocean mass of all mercury' IF ( isUnits ) Units = 'kg' IF ( isRank ) Rank = 2 ! From Viral Shah (MSL - 7.1.21) ELSE IF ( TRIM( Name_AllCaps ) == 'HGBRAFTERCHEM' ) THEN IF ( isDesc ) Desc = 'HgBr concentration immediately after chemistry' IF ( isUnits ) Units = 'mol mol-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'HGCLAFTERCHEM' ) THEN IF ( isDesc ) Desc = 'HgCl concentration immediately after chemistry' IF ( isUnits ) Units = 'mol mol-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'HGOHAFTERCHEM' ) THEN IF ( isDesc ) Desc = 'HgOH concentration immediately after chemistry' IF ( isUnits ) Units = 'mol mol-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'HGBROAFTERCHEM' ) THEN IF ( isDesc ) Desc = 'HgBrO concentration immediately after chemistry' IF ( isUnits ) Units = 'mol mol-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'HGCLOAFTERCHEM' ) THEN IF ( isDesc ) Desc = 'HgClO concentration immediately after chemistry' IF ( isUnits ) Units = 'mol mol-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'HGOHOAFTERCHEM' ) THEN IF ( isDesc ) Desc = 'HgOHO concentration immediately after chemistry' IF ( isUnits ) Units = 'mol mol-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'HG2GTOHG2P' ) THEN IF ( isDesc ) Desc = 'Hg2 gas transferred to Hg2P' IF ( isUnits ) Units = 'molec cm-3 s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'HG2PTOHG2G' ) THEN IF ( isDesc ) Desc = 'Hg2P transferred to Hg2 gas' IF ( isUnits ) Units = 'molec cm-3 s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'HG2GASTOHG2STRP' ) THEN IF ( isDesc ) Desc = 'Hg2 gas transferred to Hg2StrP' IF ( isUnits ) Units = 'molec cm-3 s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'HG2GASTOSSA ' ) THEN IF ( isDesc ) Desc = 'Hg2 gas transferred to SSA' IF ( isUnits ) Units = 'molec cm-3 s-1' IF ( isRank ) Rank = 3 ! MSL ELSE IF ( TRIM( Name_AllCaps ) == 'CONCBR' ) THEN IF ( isDesc ) Desc = 'Br concentration' IF ( isUnits ) Units = 'molec cm-3' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'CONCBRO' ) THEN IF ( isDesc ) Desc = 'BrO concentration' IF ( isUnits ) Units = 'molec cm-3' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'LOSSHG2BYSEASALT' ) THEN IF ( isDesc ) Desc = & 'Loss of Hg2 by reaction with sea salt aerosols' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'LOSSRATEHG2BYSEASALT' ) THEN IF ( isDesc ) Desc = & 'Loss rate of Hg2 by reaction with sea salt aerosols' IF ( isUnits ) Units = 's-1' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'POLARCONCBR' ) THEN IF ( isDesc ) Desc = 'Br concentration in polar regions' IF ( isUnits ) Units = 'pptv' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'POLARCONCBRO' ) THEN IF ( isDesc ) Desc = 'BrO concentration in polar regions' IF ( isUnits ) Units = 'pptv' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'POLARCONCO3' ) THEN IF ( isDesc ) Desc = 'O3 concentration in polar regions' IF ( isUnits ) Units = 'ppbv' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODHG2FROMBR' ) THEN IF ( isDesc ) Desc = 'Production of Hg2 from Br' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODHG2FROMBRY' ) THEN IF ( isDesc ) Desc = 'Production of Hg2 from BrY' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODHG2FROMCLY' ) THEN IF ( isDesc ) Desc = 'Production of Hg2 from ClY' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODHG2FROMHG0' ) THEN IF ( isDesc ) Desc = 'Production of Hg2 from Hg0' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODHG2FROMHGBRPLUSBR2' ) THEN IF ( isDesc ) Desc = 'Production of Hg2 from HgBr + Br2 reaction' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODHG2FROMHGBRPLUSBRBRO' ) THEN IF ( isDesc ) Desc = 'Production of Hg2 from HgBr + BrBrO reaction' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODHG2FROMHGBRPLUSBRCLO' ) THEN IF ( isDesc ) Desc = 'Production of Hg2 from HgBr + ClO reaction' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODHG2FROMHGBRPLUSBROH' ) THEN IF ( isDesc ) Desc = 'Production of Hg2 from HgBr + BrOH reaction' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODHG2FROMHGBRPLUSBRHO2' ) THEN IF ( isDesc ) Desc = 'Production of Hg2 from HgBr + BrHO2 reaction' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODHG2FROMHGBRPLUSBRNO2' ) THEN IF ( isDesc ) Desc = 'Production of Hg2 from HgBr + BrNO2 reaction' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODHG2FROMO3' ) THEN IF ( isDesc ) Desc = 'Production of Hg2 from O3' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODHG2FROMOH' ) THEN IF ( isDesc ) Desc = 'Production of Hg2 from OH' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PARTICULATEBOUNDHG' ) THEN IF ( isDesc ) Desc = 'Particulate bound mercury' IF ( isUnits ) Units = 'pptv' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'REACTIVEGASEOUSHG' ) THEN IF ( isDesc ) Desc = 'Reactive gaseous mercury' IF ( isUnits ) Units = 'pptv' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'DRYDEPRA' // & TRIM( TmpHt_AllCaps ) ) THEN IF ( isDesc ) Desc = 'Dry deposition aerodynamic resistance ' // & 'at ' // TRIM( TmpHt ) // & ' above the surface' IF ( isUnits ) Units = 's cm-1' IF ( isRank ) Rank = 2 ELSE IF ( TRIM( Name_AllCaps ) == 'DRYDEPVELFOR' // & TRIM( TmpHt_AllCaps ) ) THEN IF ( isDesc ) Desc = 'Dry deposition velocity for speecies ' // & 'are requested at ' // TRIM( TmpHt ) // & ' above the surface' IF ( isUnits ) Units = 'cm s-1' IF ( isRank ) Rank = 2 IF ( isTagged ) TagId = 'DRYALT' ELSE IF ( TRIM( Name_AllCaps ) == 'SPECIESCONC' // & TRIM( TmpHt_AllCaps ) ) THEN IF ( isDesc ) Desc = TRIM( TmpHt_AllCaps ) // ' above the ' // & 'surface, dry mixing ratio of species' IF ( isUnits ) Units = 'mol mol-1 dry' IF ( isRank ) Rank = 2 IF ( isTagged ) TagId = 'DRYALT' IF ( isSrcType ) SrcType = KINDVAL_F8 ELSE IF ( TRIM( Name_AllCaps ) == 'AIRMASSCOLUMNFULL' ) THEN IF ( isDesc ) Desc = 'Air mass, full-atmosphere column sum' IF ( isUnits ) Units = 'kg' IF ( isRank ) Rank = 2 IF ( isSrcType ) SrcType = KINDVAL_F8 IF ( isOutType ) OutType = KINDVAL_F8 ELSE IF ( TRIM( Name_AllCaps ) == 'AIRMASSCOLUMNTROP' ) THEN IF ( isDesc ) Desc = 'Air mass, tropospheric column sum' IF ( isUnits ) Units = 'kg' IF ( isRank ) Rank = 2 IF ( isSrcType ) SrcType = KINDVAL_F8 IF ( isOutType ) OutType = KINDVAL_F8 ELSE IF ( TRIM( Name_AllCaps ) == 'OHWGTBYAIRMASSCOLUMNFULL' ) THEN IF ( isDesc ) Desc = & 'Airmass-weighted OH concentration, full-atmosphere column sum' IF ( isUnits ) Units = 'kg air kg OH m-3' IF ( isRank ) Rank = 2 IF ( isSrcType ) SrcType = KINDVAL_F8 IF ( isOutType ) OutType = KINDVAL_F8 ELSE IF ( TRIM( Name_AllCaps ) == 'OHWGTBYAIRMASSCOLUMNTROP' ) THEN IF ( isDesc ) Desc = & 'Airmass-weighted mean OH concentration, troposheric column sum' IF ( isUnits ) Units = 'kg air kg OH m-3' IF ( isRank ) Rank = 2 IF ( isSrcType ) SrcType = KINDVAL_F8 IF ( isOutType ) OutType = KINDVAL_F8 ELSE IF ( TRIM( Name_AllCaps ) == 'CH4EMISSION' ) THEN IF ( isDesc ) Desc = & 'CH4 emission, used for computing lifetime metrics' IF ( isUnits ) Units = 'kg s-1' IF ( isRank ) Rank = 2 IF ( isSrcType ) SrcType = KINDVAL_F8 IF ( isOutType ) OutType = KINDVAL_F8 ELSE IF ( TRIM( Name_AllCaps ) == 'CH4MASSCOLUMNFULL' ) THEN IF ( isDesc ) Desc = & 'Airmass-weighted CH4 concentration, full-atmosphere column sum' IF ( isUnits ) Units = 'kg air kg CH4 m-3' IF ( isRank ) Rank = 2 IF ( isSrcType ) SrcType = KINDVAL_F8 IF ( isOutType ) OutType = KINDVAL_F8 ELSE IF ( TRIM( Name_AllCaps ) == 'CH4MASSCOLUMNTROP' ) THEN IF ( isDesc ) Desc = & 'Airmass-weighted CH4 concentration, tropospheric column sum' IF ( isUnits ) Units = 'kg air kg CH4 m-3' IF ( isRank ) Rank = 2 IF ( isSrcType ) SrcType = KINDVAL_F8 IF ( isOutType ) OutType = KINDVAL_F8 ELSE IF ( TRIM( Name_AllCaps ) == 'LOSSOHBYCH4COLUMNTROP' ) THEN IF ( isDesc ) Desc = & 'Loss rate of methane (CH4), tropopsheric column sum' IF ( isUnits ) Units = 'molec cm-3' IF ( isRank ) Rank = 2 IF ( isSrcType ) SrcType = KINDVAL_F8 IF ( isOutType ) OutType = KINDVAL_F8 ELSE IF ( TRIM( Name_AllCaps ) == 'LOSSOHBYMCFCOLUMNTROP' ) THEN IF ( isDesc ) Desc = & 'Loss rate of methyl chloroform (CH3CCl3), tropopsheric column sum' IF ( isUnits ) Units = 'molec cm-3' IF ( isRank ) Rank = 2 IF ( isSrcType ) SrcType = KINDVAL_F8 IF ( isOutType ) OutType = KINDVAL_F8 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODSO4FROMHMSINCLOUD' ) THEN IF ( isDesc ) Desc = 'Production of SO4 from aqueous ' // & 'oxidation of HMS in clouds' IF ( isUnits ) Units = 'kg S s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODHMSFROMSO2ANDHCHOINCLOUD' ) THEN IF ( isDesc ) Desc = 'Production of HMS from aqueous ' // & 'reaction of SO2 and HCHO in clouds' IF ( isUnits ) Units = 'kg S s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODSO2ANDHCHOFROMHMSINCLOUD' ) THEN IF ( isDesc ) Desc = 'Production of SO2 and HCHO from ' // & 'aqueous reaction of HS and OH- in clouds' IF ( isUnits ) Units = 'kg S s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'PRODSO4FROMO3INCLOUD' ) THEN IF ( isDesc ) Desc = 'Production of SO4 from aqueous ' // & 'oxidation of O3 in clouds' IF ( isUnits ) Units = 'kg S s-1' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'AERMASSHMS' ) THEN IF ( isDesc ) Desc = 'Mass of hydroxymethanesulfonate aerosol' IF ( isUnits ) Units = 'ug m-3' IF ( isRank ) Rank = 3 ELSE IF ( TRIM( Name_AllCaps ) == 'AERMASSSOAGX' ) THEN IF ( isDesc ) Desc = 'Mass of aerosol-phase glyoxal' IF ( isUnits ) Units = 'ug m-3' IF ( isRank ) Rank = 3 ELSE !-------------------------------------------------------------------- ! Could not find metadata, so exit with error message !-------------------------------------------------------------------- Found = .False. ErrMsg = 'Metadata not found for State_Diag field ID: ' // & TRIM( metadataID ) // '. If the name in HISTORY.rc ' // & 'has species appended, make sure the species name ' // & 'is preceded by a single underscore. Otherwise, ' // & 'check that the name is listed with all capitals in ' // & 'subroutine Get_Metadata_State_Diag ' // & '(Headers/state_diag_mod.F90).' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF END SUBROUTINE Get_Metadata_State_Diag !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_NumTags ! ! !DESCRIPTION: Returns the number of tags (i.e. individual species or ! other quantities) per GEOS-Chem wildcard. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Get_NumTags( tagId, State_Chm, numTags, RC ) ! ! !USES: ! USE ErrCode_Mod USE State_Chm_Mod, ONLY : ChmState ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: tagId ! Wildcard name TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry state object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: numTags ! Number of tags per wildcard INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! Split off from routine Get_TagInfo. ! ! !REVISION HISTORY: ! 27 Mar 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=255) :: errMsg, thisLoc !======================================================================= ! Get_NumTags begins here! !======================================================================= ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = ' -> at Get_NumTags (in module "Headers/state_diag_mod.F90)' ! Get the number of tags per wildcard name SELECT CASE( TRIM( tagId ) ) CASE( '' ) numTags = 0 CASE( 'ALL', 'S' ) numTags = State_Chm%nSpecies CASE( 'ADV', 'A' ) numTags = State_Chm%nAdvect CASE( 'AER' ) numTags = State_Chm%nAeroSpc CASE( 'DRY', 'D' ) numTags = State_Chm%nDryDep CASE( 'DRYALT' ) numTags = State_Chm%nDryAlt CASE( 'TOMASBIN', 'T' ) numTags = State_Chm%nTomasBins CASE( 'DUSTBIN', 'B' ) numTags = NDUST CASE( 'FIX', 'F' ) numTags = State_Chm%nKppFix CASE( 'GAS', 'G' ) numTags = State_Chm%nGasSpc CASE( 'HYG', 'H' ) numTags = State_Chm%nHygGrth CASE( 'KPP', 'K' ) numTags = State_Chm%nKppSpc CASE( 'LOS', 'X' ) numTags = State_Chm%nLoss CASE( 'NUC', 'N' ) numTags = State_Chm%nRadNucl CASE( 'PHO', 'P' ) numTags = State_Chm%nPhotol CASE( 'UVFLX', 'U' ) numTags = State_Chm%Phot%nWLbins CASE( 'PRD', 'Y' ) numTags = State_Chm%nProd CASE( 'RRTMG', 'Z' ) numTags = nRadOut CASE( 'RXN', 'R' ) numTags = NREACT CASE( 'VAR', 'V' ) numTags = State_Chm%nKppVar CASE( 'WET', 'W' ) numTags = State_Chm%nWetDep CASE DEFAULT ErrMsg = 'Handling of wildCard ' // TRIM( tagId ) // & ' is not implemented for getting number of tags' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN END SELECT END SUBROUTINE Get_NumTags !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_TagInfo ! ! !DESCRIPTION: Subroutine GET\_TAGINFO retrieves basic information about ! tags given a wildcard string. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Get_TagInfo( Input_Opt, tagID, State_Chm, Found, & RC, N, tagName, nTags ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object CHARACTER(LEN=*), INTENT(IN) :: tagID ! ID of tag (e.g. wildcard) TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object INTEGER, OPTIONAL :: N ! index (1 to # tags) ! ! !OUTPUT PARAMETERS: ! LOGICAL, INTENT(OUT) :: Found ! Item found? INTEGER, INTENT(OUT) :: RC ! Return code CHARACTER(LEN=255), OPTIONAL :: tagName ! tag name for index N INTEGER, OPTIONAL :: nTags ! # tags ! ! !REMARKS: ! ! !REVISION HISTORY: ! 16 Nov 2017 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: D, numTags LOGICAL :: isNumTags, isTagName, isN ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc, Nstr !======================================================================= ! Get_TagInfo begins here !======================================================================= ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = ' -> at Get_TagInfo (in Headers/state_diag_mod.F90)' found = .TRUE. numTags = 0 ! Optional arguments present? isN = PRESENT( N ) isTagName = PRESENT( TagName ) isNumTags = PRESENT( nTags ) ! Exit with error if getting tag name but index not specified IF ( isTagName .AND. .NOT. isN ) THEN errMsg = 'Index must be specified if retrieving an individual tag name' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !======================================================================= ! Get number of tags !======================================================================= CALL Get_NumTags( tagId, State_Chm, numTags, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in routine "Get_NumTags"!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !======================================================================= ! Sanity checks -- exit under certain conditions !======================================================================= ! If not getting tag name then set nTags and exit IF ( .NOT. isTagName ) THEN nTags = numTags RETURN ENDIF ! Exit with error if index exceeds number of tags for this wildcard IF ( isTagName .AND. .NOT. isN ) THEN errMsg = 'Index must be greater than total number of tags for wildcard' & // TRIM(tagId) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !======================================================================= ! Get mapping index !======================================================================= SELECT CASE( TRIM( tagID ) ) CASE( 'ALL', 'ADV', 'DUSTBIN', 'TOMASBIN', 'PRD', & 'LOS', 'RRTMG', 'UVFLX', 'RXN' ) D = N CASE( 'AER' ) D = State_Chm%Map_Aero(N) CASE( 'DRYALT' ) D = State_Chm%Map_DryAlt(N) CASE( 'DRY' ) D = State_Chm%Map_DryDep(N) CASE( 'GAS' ) D = State_Chm%Map_GasSpc(N) CASE( 'HYG' ) D = State_Chm%Map_HygGrth(N) CASE( 'VAR' ) D = State_Chm%Map_KppVar(N) CASE( 'FIX' ) D = State_Chm%Map_KppFix(N) CASE( 'KPP' ) D = State_Chm%Map_KppSpc(N) CASE( 'PHO' ) D = State_Chm%Map_Photol(N) CASE( 'WET' ) D = State_Chm%Map_WetDep(N) CASE( 'NUC' ) D = State_Chm%Map_RadNucl(N) CASE DEFAULT found= .FALSE. errMsg = 'Handling of tagId ' // TRIM( tagId ) // & ' is not implemented for getting tag name' CALL GC_Error( errMsg, RC, thisLoc ) RETURN END SELECT !======================================================================= ! Return the tag name !======================================================================= ! Initialize tagName = '' ! Special handling for certain tagID's SELECT CASE( TRIM( tagID ) ) ! TOMAS bins CASE( 'TOMASBIN' ) WRITE ( Nstr, "(I2.2)" ) D tagName = 'bin' // TRIM(Nstr) ! Dust bins CASE( 'DUSTBIN' ) WRITE ( Nstr, "(I1)" ) D tagName = 'bin' // TRIM(Nstr) ! Loss species CASE( 'LOS' ) tagName = State_Chm%Name_Loss(N) D = INDEX( tagName, '_' ) tagName = tagName(D+1:) ! Prod species CASE( 'PRD' ) tagName = State_Chm%Name_Prod(N) D = INDEX( tagName, '_' ) tagName = tagName(D+1:) ! RRTMG requested outputs CASE( 'RRTMG' ) tagName = RadOut(D) ! KPP equation reaction rates CASE( 'RXN' ) WRITE ( Nstr, "(I4.4)" ) D tagName = 'EQ' // TRIM(Nstr) ! UVFlux requested output fluxes ! These are at the FAST-JX wavelength bins CASE( 'UVFLX' ) IF ( D >= 1 .and. D <= 18 ) THEN tagName = UVFlux_Tag_Names(D) ELSE WRITE( errMsg, '(i2.2)' ) D errMsg = 'FAST-JX UV Flux bin ' // TRIM( errMsg ) // & 'is out of bounds! It must be in the range 1..18!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Default tag name is the name in the species database CASE DEFAULT tagName = State_Chm%SpcData(D)%Info%Name END SELECT END SUBROUTINE Get_TagInfo !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_UVFlux_Bin ! ! !DESCRIPTION: Returns the FAST_JX wavelength bin corresponding to ! a UVFLUX tag name. ! !\\ !\\ ! !INTERFACE: ! SUBROUTINE Get_UVFlux_Bin( tagName, bin, RC ) ! ! !USES: ! USE ErrCode_Mod USE CharPak_Mod, ONLY : To_UpperCase ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: tagName ! Tag Name ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: bin ! Corresponding bin index INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REVISION HISTORY: ! 01 Jul 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N ! Strings CHARACTER(LEN=255) :: errMsg CHARACTER(LEN=255) :: thisLoc !======================================================================== ! Get_UVFLux_Bin begins here! !======================================================================== ! Initialize RC = GC_SUCCESS bin = -1 errMsg = '' thisLoc = ' -> at Get_UVFlux_Bin (in module Headers/state_diag_mod.F90)' ! Get the index for the tagname DO N = 1, 18 IF ( TRIM( tagName ) == To_UpperCase( TRIM( UVFlux_Tag_Names(N))) ) THEN bin = N EXIT ENDIF ENDDO ! Trap potential errros IF ( bin < 0 ) THEN errMsg = 'Could not find bin index for tag name: ' // TRIM( tagName ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF END SUBROUTINE Get_UVFlux_Bin !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_NameInfo ! ! !DESCRIPTION: Subroutine GET\_NAMEINFO retrieves a diagnostic name ! given a string in HISTORY.rc. This enables outputting a diagnostic ! name different from the input, useful for names that are ! set at run-time given information in one or more input files. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Get_NameInfo( Input_Opt, InName, OutName, RC ) ! ! !USES: ! USE Charpak_Mod, ONLY : To_Uppercase USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object CHARACTER(LEN=*), INTENT(IN) :: InName ! Name in HISTORY.rc ! ! !OUTPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(OUT) :: OutName ! Diagnostic output name INTEGER, INTENT(OUT) :: RC ! Return code ! ! !REMARKS: ! ! !REVISION HISTORY: ! 24 Jan 2018 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I, IWL(3), IWLMAX, IWLMAXLOC(1) ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc, OutNamePrefix !======================================================================= ! Get_TagName begins here !======================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Get_NameInfo (in Headers/state_diag_mod.F90)' OutName = InName ! For now, quick'n'dirty approach for AOD diagnostics IWL(1) = INDEX( TRIM(InName), 'WL1' ) IWL(2) = INDEX( TRIM(InName), 'WL2' ) IWL(3) = INDEX( TRIM(InName), 'WL3' ) IWLMAX = MAX(IWL(1),IWL(2),IWL(3)) IF ( IWLMAX > 0 ) THEN IWLMAXLOC = MAXLOC(IWL) OutNamePrefix = InName(1:IWL(IWLMAXLOC(1))-1) // & TRIM(RadWL(IWLMAXLOC(1))) // 'nm' I = INDEX( TRIM(InName), '_' ) IF ( I > 0 ) THEN OutName = TRIM(OutNamePrefix) // InName(I:) ELSE OutName = OutNamePrefix ENDIF ENDIF ! For now, quick'n'dirty approach for species at altitude above surface IWL(1) = INDEX( To_Uppercase(TRIM(InName)), 'ALT1' ) IF ( IWL(1) > 0 ) THEN OutNamePrefix = InName(1:IWL(1)-1) // TRIM( AltAboveSfc ) I = INDEX( TRIM(InName), '_' ) IF ( I > 0 ) THEN OutName = TRIM(OutNamePrefix) // InName(I:) ELSE OutName = OutNamePrefix ENDIF ENDIF ! No other instances yet of names set from input parameters END SUBROUTINE Get_NameInfo !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_DiagNameDesc returns the diagnostic name plus any tags, as well ! as the diagnostic description plus any tags. This is a convenience routine ! that was abstracted out of the Register_DiagField* routines. ! ! !DESCRIPTION: !\\ !\\ ! !INTERFACE: ! SUBROUTINE Get_DiagNameDesc( Input_Opt, State_Chm, metadataId, & desc, N, tagId, & diagName, diagDesc, RC, & mapData ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry state object CHARACTER(LEN=*), INTENT(IN) :: metadataId ! Diagnostic name CHARACTER(LEN=*), INTENT(IN) :: desc ! Description metadata INTEGER, INTENT(IN) :: N ! Current tag number CHARACTER(LEN=*), INTENT(IN) :: tagId ! Tag name (e.g. wildcard) TYPE(DgnMap), POINTER, OPTIONAL :: mapData ! Mapping object ! ! !OUTPUT PARAMETERS: ! CHARACTER(LEN=255), INTENT(OUT) :: diagName ! Diagnostic name + tag CHARACTER(LEN=255), INTENT(OUT) :: diagDesc ! Diagnostic desc + tag INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 31 Mar 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: found INTEGER :: index ! Strings CHARACTER(LEN=255) :: errMsg CHARACTER(LEN=255) :: errMsg_reg CHARACTER(LEN=255) :: tagName CHARACTER(LEN=255) :: thisLoc !======================================================================= ! Get_DiagNameDesc begins here! !======================================================================= RC = GC_SUCCESS found = .FALSE. index = -1 diagName = '' diagDesc = '' tagName = '' errMsg = '' errMsg_reg = 'Error encountered while registering State_Diag%' thisLoc = ' -> at Get_TagName (in module Headers/state_diag_mod.F90)' IF ( PRESENT( mapData ) ) THEN !-------------------------------------------------------------------- ! If the mapping object is passed, get the name of each species ! from the modelId as specified in the mapData array !-------------------------------------------------------------------- ! If indFlag="S", then mapData%slot2id is already the modelId, ! but e.g. if indFlag="D", then mapData%Id is the drydep Id. ! (etc. for other flag values) index = mapData%slot2id(N) ! If necessary, convert index to be the modelId so that we use it to ! look up the species name. NOTE: For some wild cards, there is no ! corresponding species in the species database. For these, call ! routine Get_TagInfo to look up the tag name. (bmy, 6/3/20) SELECT CASE( mapData%indFlag ) CASE( 'A' ) index = State_Chm%Map_Advect(index) tagName = State_Chm%SpcData(index)%info%name CASE( 'D' ) index = State_Chm%Map_DryDep(index) tagName = State_Chm%SpcData(index)%info%name CASE( 'F' ) index = State_Chm%Map_KppFix(index) tagName = State_Chm%SpcData(index)%info%name CASE( 'H' ) index = State_Chm%Map_HygGrth(index) tagName = State_Chm%SpcData(index)%info%name CASE( 'K' ) index = State_Chm%Map_KppSpc(index) tagName = State_Chm%SpcData(index)%info%name CASE( 'N' ) index = State_Chm%Map_RadNucl(index) tagName = State_Chm%SpcData(index)%info%name CASE( 'P' ) index = State_Chm%Map_Photol(index) tagName = State_Chm%SpcData(index)%info%name CASE( 'S' ) tagName = State_Chm%SpcData(index)%info%name CASE( 'V' ) index = State_Chm%Map_KppVar(index) tagName = State_Chm%SpcData(index)%info%name CASE( 'W' ) index = State_Chm%Map_WetDep(index) tagName = State_Chm%SpcData(index)%info%name CASE DEFAULT ! Special handling for Loss & Prod SELECT CASE( mapData%indFlag ) CASE( 'X', 'Y' ) index = N CASE DEFAULT ! Pass END SELECT ! We need to call Get_TagInfo for diagnostics that ! aren't chemical species (e.g. DUSTBIN, UVFLX, RRTMG, RXN, etc.) CALL Get_TagInfo( Input_Opt = Input_Opt, & State_Chm = State_Chm, & tagID = tagId, & N = index, & tagName = tagName, & found = found, & RC = RC ) END SELECT ! Make sure there was no error above IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_reg ) // TRIM( metaDataId ) // & ' where tagID is ' // TRIM( tagID ) // & '; Abnormal exit from routine "Get_TagInfo"!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ELSE !-------------------------------------------------------------------- ! If the mapping object was not passed, then ! call routine Get_TagInfo to get the tagName !-------------------------------------------------------------------- CALL Get_TagInfo( Input_Opt = Input_Opt, & State_Chm = State_Chm, & tagID = tagId, & N = N, & tagName = tagName, & found = found, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_reg ) // TRIM( metaDataId ) // & ' where tagID is ' // TRIM( tagID ) // & '; Abnormal exit from routine "Get_TagInfo"!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF ! Add the tag name to the diagnostic name and description diagName = TRIM( metadataID ) // '_' // TRIM( tagName ) diagDesc = TRIM( Desc ) // ' ' // TRIM( tagName ) END SUBROUTINE Get_DiagNameDesc !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Register_DiagField_R4_2D ! ! !DESCRIPTION: Registers a 2-dimensional, 4-byte real field of State\_Diag, ! so that we can include it in the netCDF diagnostic output archive. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Register_DiagField_R4_2D( Input_Opt, metadataID, Ptr2Data, & State_Chm, State_Diag, RC, & mapData, nSlots ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE Registry_Params_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options CHARACTER(LEN=*), INTENT(IN) :: metadataID ! Diagnostic name REAL(f4), POINTER, INTENT(IN) :: Ptr2Data(:,:) ! pointer to data TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State TYPE(DgnMap), POINTER, OPTIONAL :: mapData ! Mapping object INTEGER, OPTIONAL :: nSlots ! # of slots to ! ! size Ptr2Data ! !INPUT/OUTPUT PARAMETERS: ! TYPE(DgnState), INTENT(INOUT) :: State_Diag ! JDiag State ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success/failure ! ! !REVISION HISTORY: ! 20 Sep 2017 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: found, hasMapData, hasNSlots INTEGER :: N, nTags, rank INTEGER :: srcType, outType, vloc ! Strings CHARACTER(LEN=512) :: errMsg CHARACTER(LEN=255) :: errMsg_reg, thisLoc, desc CHARACTER(LEN=255) :: units, tagId, tagName CHARACTER(LEN=255) :: diagName, diagDesc !----------------------------------------------------------------------- ! Initialize !----------------------------------------------------------------------- RC = GC_SUCCESS hasMapData = PRESENT( mapData ) hasNSlots = PRESENT( nSlots ) errMsg = '' errMsg_reg = 'Error encountered while registering State_Diag%' thisLoc = & ' -> at Register_DiagField_R4_2D (in Headers/state_diag_mod.F90)' !----------------------------------------------------------------------- ! Get metadata for this diagnostic !----------------------------------------------------------------------- CALL Get_Metadata_State_Diag( am_I_root = Input_Opt%amIRoot, & found = found, & metadataId = metadataID, & desc = desc, & outType = outType, & units = units, & rank = rank, & srcType = srcType, & tagId = tagId, & vloc = vloc, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( MetadataID ) // & '; Abnormal exit from routine "Get_Metadata_State_Diag"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !----------------------------------------------------------------------- ! Check that metadata dimensions consistent with data pointer !----------------------------------------------------------------------- IF ( ( ( tagId == '' ) .AND. ( rank /= 2 ) ) & .OR. ( ( tagId /= '' ) .AND. ( rank /= 1 ) ) ) THEN ErrMsg = 'Data dims and metadata rank do not match for ' // & TRIM( metadataID ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !----------------------------------------------------------------------- ! Special handling if there are tags (wildcard) !----------------------------------------------------------------------- IF ( tagId /= '' ) THEN ! Make sure one of mapData or nSlots is passed! IF ( ( .not. hasMapData ) .and. ( .not. hasNSlots ) ) THEN errMsg = 'One of mapData or nSlots must be passed ' // & 'for tagged diagnostic : ' // TRIM( metadataId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Get number of tags for this wildcard. If the mapData object is ! present, then we have already gotten this and saved this ! into mapData%nSlots. Otherwise, call Get_NumTags. IF ( hasMapData ) THEN nTags = mapData%nSlots ELSE IF ( hasNSlots ) THEN nTags = nSlots ENDIF ! Check that number of tags is consistent with array size IF ( nTags /= SIZE(Ptr2Data,2) ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( MetadataID ) // & '; number of tags is inconsistent with array size' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Register each tagged name as a separate diagnostic DO N = 1, nTags ! Get the diagnostic name and description ! plus tag (e.g. "SpeciesConcVV_O3". etc.) CALL Get_DiagNameDesc( Input_Opt = Input_Opt, & State_Chm = State_Chm, & metadataId = metadataId, & desc = desc, & N = N, & tagId = tagId, & mapData = mapData, & diagName = diagName, & diagDesc = diagDesc, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( metaDataId ) // & ' where tagID is ' // TRIM( tagID ) // & '; Abnormal exit from routine "Get_DiagNameDesc!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Add field to registry CALL Registry_AddField( Input_Opt = Input_Opt, & Registry = State_Diag%Registry, & State = State_Diag%State, & Variable = diagName, & Description = diagDesc, & Units = units, & Data1d_4 = Ptr2Data(:,N), & Output_KindVal = outType, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( metaDataId ) // & ' where tagID is ' // TRIM( tagID ) // & '; Abnormal exit from routine "Registry_AddField"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDDO !----------------------------------------------------------------------- ! If not tied to species then simply add the single field !----------------------------------------------------------------------- ELSE ! Add field to registry CALL Registry_AddField( Input_Opt = Input_Opt, & Registry = State_Diag%Registry, & State = State_Diag%State, & Variable = MetadataID, & Description = desc, & Units = units, & Data2d_4 = Ptr2Data, & Output_KindVal = outType, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( MetadataID ) // & ' where diagnostics is not tied to species; ' // & '; Abnormal exit from routine "Registry_AddField"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF END SUBROUTINE Register_DiagField_R4_2D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Register_DiagField_R4_3D ! ! !DESCRIPTION: Registers a 3-dimensional, 4-byte real field of State\_Diag, ! so that we can include it in the netCDF diagnostic output archive. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Register_DiagField_R4_3D( Input_Opt, metadataID, Ptr2Data, & State_Chm, State_Diag, RC, & mapData, nSlots ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE Registry_Params_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options CHARACTER(LEN=*), INTENT(IN) :: metadataID ! Name REAL(f4), POINTER, INTENT(IN) :: Ptr2Data(:,:,:) ! pointer to data TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State TYPE(DgnMap), POINTER, OPTIONAL :: mapData ! Mapping object INTEGER, OPTIONAL :: nSlots ! Size for Ptr2Data ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diag State ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success/failure ! ! !REVISION HISTORY: ! 20 Sep 2017 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: found, hasMapData LOGICAL :: hasNSlots, onEdges INTEGER :: N, nTags, rank INTEGER :: srcType, outType, vloc ! Strings CHARACTER(LEN=512) :: errMsg CHARACTER(LEN=255) :: errMsg_reg, thisLoc, desc CHARACTER(LEN=255) :: units, tagId, tagName CHARACTER(LEN=255) :: diagName, diagDesc !----------------------------------------------------------------------- ! Initialize !----------------------------------------------------------------------- RC = GC_SUCCESS hasMapData = PRESENT( mapData ) errMsg = '' errMsg_reg = 'Error encountered while registering State_Diag%' thisLoc = & ' -> at Register_DiagField_R4_3D (in Headers/state_diag_mod.F90)' !----------------------------------------------------------------------- ! Get metadata for this diagnostic !----------------------------------------------------------------------- CALL Get_Metadata_State_Diag( am_I_root = Input_Opt%amIRoot, & found = found, & metadataId = metadataID, & desc = desc, & outType = outType, & units = units, & rank = rank, & srcType = srcType, & tagId = tagId, & vloc = vloc, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( MetadataID ) // & '; Abnormal exit from routine "Get_Metadata_State_Diag"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Is the data placed on vertical edges? onEdges = ( VLoc == VLocationEdge ) !----------------------------------------------------------------------- ! Check that metadata dimensions consistent with data pointer !----------------------------------------------------------------------- IF ( ( ( tagID == '' ) .AND. ( rank /= 3 ) ) & .OR. ( ( tagID /= '' ) .AND. ( rank /= 2 ) ) ) THEN ErrMsg = 'Data dims and metadata rank do not match for ' // & TRIM(metadataID) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !----------------------------------------------------------------------- ! Special handling if there are tags !----------------------------------------------------------------------- IF ( tagID /= '' ) THEN ! Get the total number of tags IF ( hasMapData ) THEN nTags = mapData%nSlots ELSE nTags = nSlots ENDIF ! Check that number of tags is consistent with array size IF ( nTags /= SIZE( Ptr2Data, 3 ) ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( MetadataID ) // & '; number of tags is inconsistent with array size' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Register each tagged name as a separate diagnostic DO N = 1, nTags ! Get the diagnostic name and description ! plus tag (e.g. "SpeciesConcVV_O3". etc.) CALL Get_DiagNameDesc( Input_Opt = Input_Opt, & State_Chm = State_Chm, & metadataId = metadataId, & desc = desc, & N = N, & tagId = tagId, & mapData = mapData, & diagName = diagName, & diagDesc = diagDesc, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( metaDataId ) // & ' where tagID is ' // TRIM( tagID ) // & '; Abnormal exit from routine "Get_DiagNameDesc"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Add field to registry CALL Registry_AddField( Input_Opt = Input_Opt, & Registry = State_Diag%Registry, & State = State_Diag%State, & Variable = diagName, & Description = diagDesc, & Units = units, & OnLevelEdges = onEdges, & Output_KindVal = outType, & Data2d_4 = Ptr2Data(:,:,N), & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( metaDataId ) // & ' where tagID is ' // TRIM( tagID ) // & '; Abnormal exit from routine "Registry_AddField"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDDO !----------------------------------------------------------------------- ! If not tied to species then simply add the single field !----------------------------------------------------------------------- ELSE ! Add field to registry CALL Registry_AddField( Input_Opt = Input_Opt, & Registry = State_Diag%Registry, & State = State_Diag%State, & Variable = metadataID, & Description = desc, & Units = units, & OnLevelEdges = onEdges, & Output_KindVal = outType, & Data3d_4 = Ptr2Data, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( MetadataID ) // & ' where diagnostics is not tied to species; ' // & '; Abnormal exit from routine "Registry_AddField"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF END SUBROUTINE Register_DiagField_R4_3D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Register_DiagField_R4_4D ! ! !DESCRIPTION: Registers a 4-dimensional, 4-byte real field of State\_Diag, ! so that we can include it in the netCDF diagnostic output archive. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Register_DiagField_R4_4D( Input_Opt, metadataID, Ptr2Data, & State_Chm, State_Diag, RC, & mapData, nSlots ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE Registry_Params_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options CHARACTER(LEN=*), INTENT(IN) :: metadataID ! Name REAL(f4), POINTER, INTENT(IN) :: Ptr2Data(:,:,:,:)! pointer to data TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State TYPE(DgnMap), POINTER, OPTIONAL :: mapData ! Mapping object INTEGER, OPTIONAL :: nSlots ! # of slots to ! ! size Ptr2Data ! !INPUT/OUTPUT PARAMETERS: ! TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diag State ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success/failure ! ! !REVISION HISTORY: ! 20 Sep 2017 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: found, hasMapData LOGICAL :: hasNSlots, onEdges INTEGER :: N, nTags, rank INTEGER :: srcType, outType, vloc ! Strings CHARACTER(LEN=512) :: errMsg CHARACTER(LEN=255) :: errMsg_reg, thisLoc, desc CHARACTER(LEN=255) :: units, tagId, tagName CHARACTER(LEN=255) :: diagName, diagDesc !----------------------------------------------------------------------- ! Initialize !----------------------------------------------------------------------- RC = GC_SUCCESS hasMapData = PRESENT( mapData ) hasNSlots = PRESENT( nSlots ) errMsg = '' errMsg_reg = 'Error encountered while registering State_Diag%' thisLoc = & ' -> at Register_DiagField_R4_4D (in Headers/state_diag_mod.F90)' !----------------------------------------------------------------------- ! Get metadata for this diagnostic !----------------------------------------------------------------------- CALL Get_Metadata_State_Diag( am_I_root = Input_Opt%amIRoot, & found = found, & metadataId = metadataID, & desc = desc, & outType = outType, & units = units, & rank = rank, & srcType = srcType, & tagId = tagId, & vloc = vloc, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( MetadataID ) // & '; Abnormal exit from routine "Get_Metadata_State_Diag"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Is the data placed on vertical edges? onEdges = ( VLoc == VLocationEdge ) !----------------------------------------------------------------------- ! Check that metadata dimensions consistent with data pointer !----------------------------------------------------------------------- IF ( rank /= 3 ) THEN ErrMsg = 'Data dims and metadata rank do not match for ' // & TRIM(metadataID) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !----------------------------------------------------------------------- ! Assume always tagged if 4D, get number of tags !----------------------------------------------------------------------- ! Make sure one of mapData or nSlots is passed! IF ( ( .not. hasMapData ) .and. ( .not. hasNSlots ) ) THEN errMsg = 'One of mapData or nSlots must be passed ' // & 'for tagged diagnostic : ' // TRIM( metadataId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Number of tags IF ( hasMapData ) THEN nTags = mapData%nSlots ELSE IF ( hasNSlots ) THEN nTags = nSlots ENDIF ! Check that number of tags is consistent with array size IF ( nTags /= SIZE(Ptr2Data,4) ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( MetadataID ) // & '; number of tags is inconsistent with array size' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !----------------------------------------------------------------------- ! Register each tagged name as a separate diagnostic !----------------------------------------------------------------------- DO N = 1, nTags ! Get the diagnostic name and description ! plus tag (e.g. "SpeciesConcVV_O3". etc.) CALL Get_DiagNameDesc( Input_Opt = Input_Opt, & State_Chm = State_Chm, & metadataId = metadataId, & desc = desc, & N = N, & tagId = tagId, & mapData = mapData, & diagName = diagName, & diagDesc = diagDesc, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( metaDataId ) // & ' where tagID is ' // TRIM( tagID ) // & '; Abnormal exit from routine "Get_DiagNameDesc"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Add field to registry CALL Registry_AddField( Input_Opt = Input_Opt, & Registry = State_Diag%Registry, & State = State_Diag%State, & Variable = diagName, & Description = diagDesc, & Units = units, & OnLevelEdges = onEdges, & Output_KindVal = outType, & Data3d_4 = Ptr2Data(:,:,:,N), & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( metaDataId ) // & ' where tagID is ' // TRIM( tagID ) // & '; Abnormal exit from routine "Registry_AddField"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDDO END SUBROUTINE Register_DiagField_R4_4D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Register_DiagField_R8_2D ! ! !DESCRIPTION: Registers a 2-dimensional, 4-byte real field of State\_Diag, ! so that we can include it in the netCDF diagnostic output archive. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Register_DiagField_R8_2D( Input_Opt, metadataID, Ptr2Data, & State_Chm, State_Diag, RC, & mapData, nSlots ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE Registry_Params_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options CHARACTER(LEN=*), INTENT(IN) :: metadataID ! Diagnostic name REAL(f8), POINTER, INTENT(IN) :: Ptr2Data(:,:) ! pointer to data TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State TYPE(DgnMap), POINTER, OPTIONAL :: mapData ! Mapping object INTEGER, OPTIONAL :: nSlots ! # of slots to ! ! size Ptr2Data ! !INPUT/OUTPUT PARAMETERS: ! TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diag State ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success/failure ! ! !REVISION HISTORY: ! 20 Sep 2017 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: found, hasMapData, hasNSlots INTEGER :: N, nTags, rank INTEGER :: srcType, outType, vloc ! Strings CHARACTER(LEN=512) :: errMsg CHARACTER(LEN=255) :: errMsg_reg, thisLoc, desc CHARACTER(LEN=255) :: units, tagId, tagName CHARACTER(LEN=255) :: diagName, diagDesc !----------------------------------------------------------------------- ! Initialize !----------------------------------------------------------------------- RC = GC_SUCCESS found = .FALSE. hasMapData = PRESENT( mapData ) hasNSlots = PRESENT( nSlots ) errMsg = '' errMsg_reg = 'Error encountered while registering State_Diag%' thisLoc = & ' -> at Register_DiagField_R8_2D (in Headers/state_diag_mod.F90)' !----------------------------------------------------------------------- ! Get metadata for this diagnostic !----------------------------------------------------------------------- CALL Get_Metadata_State_Diag( am_I_root = Input_Opt%amIRoot, & found = found, & metadataId = metadataID, & desc = desc, & outType = outType, & units = units, & rank = rank, & srcType = srcType, & tagId = tagId, & vloc = vloc, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( MetadataID ) // & '; Abnormal exit from routine "Get_Metadata_State_Diag"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !----------------------------------------------------------------------- ! Check that metadata dimensions consistent with data pointer !----------------------------------------------------------------------- IF ( ( ( tagId == '' ) .AND. ( rank /= 2 ) ) & .OR. ( ( tagId /= '' ) .AND. ( rank /= 1 ) ) ) THEN ErrMsg = 'Data dims and metadata rank do not match for ' // & TRIM( metadataID ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !----------------------------------------------------------------------- ! Special handling if there are tags (wildcard) !----------------------------------------------------------------------- IF ( tagId /= '' ) THEN ! Make sure one of mapData or nSlots is passed! IF ( ( .not. hasMapData ) .and. ( .not. hasNSlots ) ) THEN errMsg = 'One of mapData or nSlots must be passed ' // & 'for tagged diagnostic : ' // TRIM( metadataId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Get number of tags IF ( hasMapData ) THEN nTags = mapData%nSlots ELSE IF ( hasNSlots ) THEN nTags = nSlots ENDIF ! Check that number of tags is consistent with array size IF ( nTags /= SIZE(Ptr2Data,2) ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( MetadataID ) // & '; number of tags is inconsistent with array size' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Register each tagged name as a separate diagnostic DO N = 1, nTags ! Get the diagnostic name and description ! plus tag (e.g. "SpeciesConcVV_O3". etc.) CALL Get_DiagNameDesc( Input_Opt = Input_Opt, & State_Chm = State_Chm, & metadataId = metadataId, & desc = desc, & N = N, & tagId = tagId, & mapData = mapData, & diagName = diagName, & diagDesc = diagDesc, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( metaDataId ) // & ' where tagID is ' // TRIM( tagID ) // & '; Abnormal exit from routine "Get_DiagNameDesc"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Add field to registry CALL Registry_AddField( Input_Opt = Input_Opt, & Registry = State_Diag%Registry, & State = State_Diag%State, & Variable = diagName, & Description = diagDesc, & Units = units, & Output_KindVal = outType, & Data1d_8 = Ptr2Data(:,N), & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( metaDataId ) // & ' where tagID is ' // TRIM( tagID ) // & '; Abnormal exit from routine "Registry_AddField"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDDO !----------------------------------------------------------------------- ! If not tied to species then simply add the single field !----------------------------------------------------------------------- ELSE ! Add field to registry CALL Registry_AddField( Input_Opt = Input_Opt, & Registry = State_Diag%Registry, & State = State_Diag%State, & Variable = MetadataID, & Description = desc, & Units = units, & Output_KindVal = outType, & Data2d_8 = Ptr2Data, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( MetadataID ) // & ' where diagnostics is not tied to species; ' // & '; Abnormal exit from routine "Registry_AddField"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF END SUBROUTINE Register_DiagField_R8_2D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Register_DiagField_R8_3D ! ! !DESCRIPTION: Registers a 3-dimensional, 8-byte real field of State\_Diag, ! so that we can include it in the netCDF diagnostic output archive. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Register_DiagField_R8_3D( Input_Opt, metadataID, Ptr2Data, & State_Chm, State_Diag, RC, & mapData, nSlots ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE Registry_Params_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options CHARACTER(LEN=*), INTENT(IN) :: metadataID ! Diagnostic name REAL(f8), POINTER, INTENT(IN) :: Ptr2Data(:,:,:) ! pointer to data TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State TYPE(DgnMap), POINTER, OPTIONAL :: mapData ! Mapping object INTEGER, OPTIONAL :: nSlots ! # of slots to ! ! size Ptr2Data ! !INPUT/OUTPUT PARAMETERS: ! TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diag State ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success/failure ! ! !REVISION HISTORY: ! 20 Sep 2017 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: found, hasMapData LOGICAL :: hasNSlots, onEdges INTEGER :: N, nTags, rank INTEGER :: srcType, outType, vloc ! Strings CHARACTER(LEN=512) :: errMsg CHARACTER(LEN=255) :: errMsg_reg, thisLoc, desc CHARACTER(LEN=255) :: units, tagId, tagName CHARACTER(LEN=255) :: diagName, diagDesc !----------------------------------------------------------------------- ! Initialize !----------------------------------------------------------------------- RC = GC_SUCCESS hasMapData = PRESENT( mapData ) hasNSlots = PRESENT( nSlots ) errMsg = '' errMsg_reg = 'Error encountered while registering State_Diag%' thisLoc = & ' -> at Register_DiagField_R8_3D (in Headers/state_diag_mod.F90)' !----------------------------------------------------------------------- ! Get metadata for this diagnostic !----------------------------------------------------------------------- CALL Get_Metadata_State_Diag( am_I_root = Input_Opt%amIRoot, & found = found, & metadataId = metadataID, & desc = desc, & outType = outType, & units = units, & rank = rank, & srcType = srcType, & tagId = tagId, & vloc = vloc, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( MetadataID ) // & '; Abnormal exit from routine "Get_Metadata_State_Diag"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Is the data placed on vertical edges? onEdges = ( VLoc == VLocationEdge ) !----------------------------------------------------------------------- ! Check that metadata dimensions consistent with data pointer !----------------------------------------------------------------------- IF ( ( ( tagID == '' ) .AND. ( rank /= 3 ) ) & .OR. ( ( tagID /= '' ) .AND. ( rank /= 2 ) ) ) THEN ErrMsg = 'Data dims and metadata rank do not match for ' // & TRIM(metadataID) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !----------------------------------------------------------------------- ! Special handling if there are tags !----------------------------------------------------------------------- IF ( tagID /= '' ) THEN ! Make sure one of mapData or nSlots is passed! IF ( ( .not. hasMapData ) .and. ( .not. hasNSlots ) ) THEN errMsg = 'One of mapData or nSlots must be passed ' // & 'for tagged diagnostic : ' // TRIM( metadataId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Get the number of tags IF ( hasMapData ) THEN nTags = mapData%nSlots ELSE IF ( hasNSlots ) THEN nTags = nSlots ENDIF ! Check that number of tags is consistent with array size IF ( nTags /= SIZE(Ptr2Data,3) ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( MetadataID ) // & '; number of tags is inconsistent with array size' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Register each tagged name as a separate diagnostic DO N = 1, nTags ! Get the diagnostic name and description ! plus tag (e.g. "SpeciesConcVV_O3". etc.) CALL Get_DiagNameDesc( Input_Opt = Input_Opt, & State_Chm = State_Chm, & metadataId = metadataId, & desc = desc, & N = N, & tagId = tagId, & mapData = mapData, & diagName = diagName, & diagDesc = diagDesc, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( metaDataId ) // & ' where tagID is ' // TRIM( tagID ) // & '; Abnormal exit from routine "Get_DiagNameDesc"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Add field to registry CALL Registry_AddField( Input_Opt = Input_Opt, & Registry = State_Diag%Registry, & State = State_Diag%State, & Variable = diagName, & Description = diagDesc, & Units = units, & OnLevelEdges = onEdges, & Output_KindVal = outType, & Data2d_8 = Ptr2Data(:,:,N), & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( metaDataId ) // & ' where tagID is ' // TRIM( tagID ) // & '; Abnormal exit from routine "Registry_AddField"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDDO !----------------------------------------------------------------------- ! If not tied to species, then simply add the single field !----------------------------------------------------------------------- ELSE ! Add field to registry CALL Registry_AddField( Input_Opt = Input_Opt, & Registry = State_Diag%Registry, & State = State_Diag%State, & Variable = metadataID, & Description = desc, & Units = units, & OnLevelEdges = onEdges, & Output_KindVal = outType, & Data3d_8 = Ptr2Data, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( MetadataID ) // & ' where diagnostics is not tied to species; ' // & '; Abnormal exit from routine "Registry_AddField"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF END SUBROUTINE Register_DiagField_R8_3D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Register_DiagField_R8_4D ! ! !DESCRIPTION: Registers a 4-dimensional, 8-byte real field of State\_Diag, ! so that we can include it in the netCDF diagnostic output archive. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Register_DiagField_R8_4D( Input_Opt, metadataID, Ptr2Data, & State_Chm, State_Diag, RC, & mapData , nSlots ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE Registry_Params_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options CHARACTER(LEN=*), INTENT(IN) :: metadataID ! Diagnostic name REAL(f8), POINTER, INTENT(IN) :: Ptr2Data(:,:,:,:)! pointer to data TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State TYPE(DgnMap), POINTER, OPTIONAL :: mapData ! Mapping object INTEGER, OPTIONAL :: nSlots ! # of slots to ! ! size Ptr2Data ! !INPUT/OUTPUT PARAMETERS: ! TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diag State ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success/failure ! ! !REVISION HISTORY: ! 20 Sep 2017 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: found, hasMapData LOGICAL :: hasNSlots, onEdges INTEGER :: N, nTags, rank INTEGER :: srcType, outType, vloc ! Strings CHARACTER(LEN=512) :: errMsg CHARACTER(LEN=255) :: errMsg_reg, thisLoc, desc CHARACTER(LEN=255) :: units, tagId, tagName CHARACTER(LEN=255) :: diagName, diagDesc !----------------------------------------------------------------------- ! Initialize !----------------------------------------------------------------------- RC = GC_SUCCESS hasMapData = PRESENT( mapData ) hasNSlots = PRESENT( nSlots ) errMsg = '' errMsg_reg = 'Error encountered while registering State_Diag%' thisLoc = & ' -> at Register_DiagField_R8_4D (in Headers/state_diag_mod.F90)' !----------------------------------------------------------------------- ! Get metadata for this diagnostic !----------------------------------------------------------------------- CALL Get_Metadata_State_Diag( am_I_root = Input_Opt%amIRoot, & found = found, & metadataId = metadataID, & desc = desc, & outType = outType, & units = units, & rank = rank, & srcType = srcType, & tagId = tagId, & vloc = vloc, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( MetadataID ) // & '; Abnormal exit from routine "Get_Metadata_State_Diag"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Is the data placed on vertical edges? onEdges = ( VLoc == VLocationEdge ) !----------------------------------------------------------------------- ! Check that metadata dimensions consistent with data pointer !----------------------------------------------------------------------- IF ( rank /= 3 ) THEN ErrMsg = 'Data dims and metadata rank do not match for ' // & TRIM(metadataID) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !----------------------------------------------------------------------- ! Assume always tagged -- get number of tags. ! If the mapData object is passed, then we have already gotten the ! number of tags in routine Get_Mapping. !----------------------------------------------------------------------- ! Make sure one of mapData or nSlots is passed! IF ( ( .not. hasMapData ) .and. ( .not. hasNSlots ) ) THEN errMsg = 'One of mapData or nSlots must be passed ' // & 'for tagged diagnostic : ' // TRIM( metadataId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Get number of tags IF ( hasMapData ) THEN nTags = mapData%nSlots ELSE IF ( hasNSlots ) THEN nTags = nSlots ENDIF ! Check that number of tags is consistent with array size IF ( nTags /= SIZE(Ptr2Data,4) ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( MetadataID ) // & '; number of tags is inconsistent with array size' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !----------------------------------------------------------------------- ! Register each tagged name as a separate diagnostic !----------------------------------------------------------------------- DO N = 1, nTags ! Get the diagnostic name and description ! plus tag (e.g. "SpeciesConcVV_O3". etc.) CALL Get_DiagNameDesc( Input_Opt = Input_Opt, & State_Chm = State_Chm, & metadataId = metadataId, & desc = desc, & N = N, & tagId = tagId, & mapData = mapData, & diagName = diagName, & diagDesc = diagDesc, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( metaDataId ) // & ' where tagID is ' // TRIM( tagID ) // & '; Abnormal exit from routine "Get_DiagNameDesc"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Add field to registry CALL Registry_AddField( Input_Opt = Input_Opt, & Registry = State_Diag%Registry, & State = State_Diag%State, & Variable = diagName, & Description = diagDesc, & Units = units, & OnLevelEdges = onEdges, & Output_KindVal = outType, & Data3d_8 = Ptr2Data(:,:,:,N), & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( metaDataId ) // & ' where tagID is ' // TRIM( tagID ) // & '; Abnormal exit from routine "Registry_AddField"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDDO END SUBROUTINE Register_DiagField_R8_4D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_RRTMG_Indices ! ! !DESCRIPTION: Populates fields of State\_Diag that are used to keep track ! of the requested RRTMG flux outputs and their indices. These are needed ! to be able to pass the proper flux output (and corresponding index for ! the appropriate netCDF diagnostic arrays) to DO\_RRTMG\_RAD\_TRANSFER. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_RRTMG_Indices( Input_Opt, State_Diag, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE DiagList_Mod, ONLY : RadOut, nRadOut ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REMARKS: ! The index fields State_Diag%nRadOut, State_Diag%RadOutName, and ! State_Diag%RadOutInd are populated from information obtained in ! Headers/diaglist_mod.F90. ! ! !REVISION HISTORY: ! 08 Nov 2018 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc, FluxStr, TmpStr !======================================================================= ! Init_RRTMG_Indices begins here !======================================================================= ! Assume success ) RC = GC_SUCCESS ! Return if RRTMG isn't turned on IF ( .not. Input_Opt%LRAD ) RETURN ! Initialze FluxStr = '' TmpStr = '' ErrMsg = '' ThisLoc = ' -> at Init_RRTMG_Indices (in module Headers/state_diag_mod.F90)' !======================================================================= ! Loop over all possible types of RRTMG outputs and store the name ! of each output in State_Diag%RadOutName and its expected index ! value in State_Diag%RadOutInd. ! ! RRTMG outputs are requested in HISTORY.rc. The expected ! index corresponding to each flux output type is: ! ! 0=BASE and then... ! 1=O3 2=O3T 3=ME 4=H2O 5=CO2 6=CFC 7=N2O ! 8=SU 9=NI 10=AM 11=BC 12=OA 13=SS 14=DU ! 15=PM 16=ST ! ! See wiki.geos-chem.org/Coupling_GEOS-Chem_with_RRTMG. ! ! This is a bit convoluted but we need to do this in order to keep ! track of the slot of the netCDF diagnostic arrays in State_Diag in ! which to archive the various outputs. This also lets us keep ! backwards compatibility with the existing code to the greatest extent. !======================================================================= ! Loop over all of the flux outputs requested in HISTORY.rc DO N = 1, State_Diag%nRadOut ! Save the name of the requested flux output State_Diag%RadOutName(N) = RadOut(N) ! Determine the RRTMG-expected index ! corresponding to each flux output name SELECT CASE( State_Diag%RadOutName(N) ) CASE( 'BASE' ) State_Diag%RadOutInd(N) = 0 CASE( 'O3' ) State_Diag%RadOutInd(N) = 1 CASE( 'O3T' ) State_Diag%RadOutInd(N) = 2 CASE( 'ME' ) State_Diag%RadOutInd(N) = 3 CASE( 'H2O' ) State_Diag%RadOutInd(N) = 4 CASE( 'CO2' ) State_Diag%RadOutInd(N) = 5 CASE( 'CFC' ) State_Diag%RadOutInd(N) = 6 CASE( 'N2O' ) State_Diag%RadOutInd(N) = 7 CASE( 'SU' ) State_Diag%RadOutInd(N) = 8 CASE( 'NI' ) State_Diag%RadOutInd(N) = 9 CASE( 'AM' ) State_Diag%RadOutInd(N) = 10 CASE( 'BC' ) State_Diag%RadOutInd(N) = 11 CASE( 'OA' ) State_Diag%RadOutInd(N) = 12 CASE( 'SS' ) State_Diag%RadOutInd(N) = 13 CASE( 'DU' ) State_Diag%RadOutInd(N) = 14 CASE( 'PM' ) State_Diag%RadOutInd(N) = 15 CASE( 'ST' ) State_Diag%RadOutInd(N) = 16 CASE DEFAULT ! Nothing END SELECT ! Create a string with the requested outputs WRITE( TmpStr, 100 ) State_Diag%RadOutName(N), & State_Diag%RadOutInd(N) ! Append to the resultant string IF ( N == 1 ) THEN FluxStr = TRIM( TmpStr ) ELSE FluxStr = TRIM( FluxStr ) // ' ' // TRIM( TmpStr ) ENDIF ENDDO ! Print to screen IF ( Input_Opt%amIRoot ) THEN WRITE( 6, '(/,a)' ) 'INIT_RRTMG_INDICES' WRITE( 6, '( a)' ) '------------------' WRITE( 6, 110 ) 'Requested RRTMG outputs : ', TRIM( FluxStr ) ENDIF ! FORMAT statements 100 FORMAT( a, ' (=', i2.2, ')' ) 110 FORMAT( a, a ) END SUBROUTINE Init_RRTMG_Indices !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_Mapping ! ! !DESCRIPTION: Computes a mapping array which contains the index of each ! species in its State_Diag array. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Get_Mapping( Input_Opt, State_Chm, TaggedDiagList, & metadataID, mapData, indFlag, & RC ) ! ! !USES: ! USE CharPak_Mod, ONLY : CntMat USE CharPak_Mod, ONLY : Unique USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : Ind_ ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Root CPU? TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State TYPE(TaggedDgnList), INTENT(IN) :: TaggedDiagList ! Tags or wildcards CHARACTER(LEN=*), INTENT(IN) :: metadataId ! Diagnostic name CHARACTER(LEN=*), INTENT(IN) :: indFlag ! Flag for Ind_ ! ! !OUTPUT PARAMETERS: ! TYPE(DgnMap), POINTER, INTENT(OUT) :: mapData ! Mapping object INTEGER, INTENT(OUT) :: RC ! Success/failure? ! ! !REVISION HISTORY: ! 31 Mar 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC !LOCAL VARIABLES: ! Scalars LOGICAL :: found LOGICAL :: isDustBin LOGICAL :: isTomasBin LOGICAL :: isLoss LOGICAL :: isProd LOGICAL :: isRxnRate LOGICAL :: isUvFlx LOGICAL :: isWildCard LOGICAL :: skipInd INTEGER :: index INTEGER :: numTags INTEGER :: numWildCards INTEGER :: nTags INTEGER :: S ! Strings CHARACTER(LEN=4 ) :: rxnStr CHARACTER(LEN=255) :: mapName CHARACTER(LEN=255) :: mapName2 CHARACTER(LEN=255) :: tagName CHARACTER(LEN=255) :: thisLoc CHARACTER(LEN=255) :: spcName CHARACTER(LEN=255) :: wcName CHARACTER(LEN=512) :: errMsg ! Objects TYPE(DgnTagItem), POINTER :: TagItem TYPE(DgnTagList) :: TagList TYPE(DgnTagList) :: WildCardList !======================================================================= ! Get_Mapping begins here! !======================================================================= ! Initialize RC = GC_SUCCESS mapName = 'Map_ ' // TRIM( metadataId ) mapName2 = TRIM( mapName ) // '%id' isTomasBin = ( indFlag == 'T' ) isDustBin = ( indFlag == 'B' ) isRxnRate = ( indFlag == 'R' ) isUvFlx = ( indFlag == 'U' ) isLoss = ( indFlag == 'X' ) isProd = ( indFlag == 'Y' ) skipInd = ( isRxnRate .or. isUvFlx .or. isDustBin .or. isTomasBin ) spcName = '' wcName = '' errMsg = '' thisLoc = ' -> at Get_Mapping (in module Headers/state_diag_mod.F90)' !======================================================================= ! Get info about the TaggedDiagList attached to this diagnostic !======================================================================= CALL Query_TaggedDiagList( TaggedDiagList = TaggedDiagList, & diagName = metadataId, & Found = Found, & isWildCard = isWildCard, & numWildCards = numWildCards, & WildCardList = WildCardList, & numTags = numTags, & TagList = TagList, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "Query_TaggedDiagList"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !======================================================================= ! Allocate and populate the mapData object !======================================================================= ! Allocate mapData (because it is a pointer, we have to ! allocate the main object before any of the subfields) IF ( ASSOCIATED( mapData ) ) DEALLOCATE( mapData ) ALLOCATE( mapData, STAT=RC ) CALL GC_CheckVar( mapName, 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ! Initialize fields of mapData (mostly to missing values) mapData%nSlots = -1 mapData%slot2id => NULL() mapData%nIds = -1 mapData%id2slot => NULL() mapData%indFlag = indFlag IF ( isWildCard ) THEN !-------------------------------------------------------------------- ! Diagnostic has a wildcard !-------------------------------------------------------------------- ! Find the number of tags for this wildcard TagItem => WildCardList%head DO WHILE ( ASSOCIATED( TagItem ) ) wcName = TagItem%name CALL Get_NumTags( wcName, State_Chm, mapData%nSlots, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "Get_NumTags"!' CALL GC_Error( errMsg, RC, thisLoc ) TagItem => NULL() RETURN ENDIF ! Advance to next wildcard in list ! NOTE: Most diagnostics will only have one wildcard! TagItem => TagItem%next ENDDO TagItem => NULL() ! Allocate the mapData%slot2id field IF ( ASSOCIATED( mapData%slot2id ) ) DEALLOCATE( mapData%slot2id ) ALLOCATE( mapData%slot2id( mapData%nSlots ), STAT=RC ) CALL GC_CheckVar( mapName2, 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN mapData%slot2id = -1 ! Get the id for each species indicated by wildcard ! For diagnostics that are not defined species in the ! species database, skip calling the Ind_ function. DO index = 1, mapData%nSlots CALL Get_TagInfo( Input_Opt = Input_Opt, & State_Chm = State_Chm, & tagId = wcName, & N = index, & tagName = spcName, & found = found, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "Get_Mapping!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Save the in the mapping object IF ( skipInd ) THEN mapData%slot2id(index) = index ELSE IF ( isLoss ) THEN mapData%slot2id(index) = State_Chm%Map_Loss(index) ELSE IF ( isProd ) THEN mapData%slot2id(index) = State_Chm%Map_Prod(index) ELSE mapData%slot2id(index) = Ind_( spcName, indFlag ) ENDIF ENDDO ELSE !-------------------------------------------------------------------- ! Diagnostic has tags (i.e. individual non-wildcard species) !-------------------------------------------------------------------- ! Set the number of tags mapData%nSlots = numTags ! Allocate the mapData%id field IF ( ASSOCIATED( mapData%slot2id ) ) DEALLOCATE( mapData%slot2id ) ALLOCATE( mapData%slot2id( mapData%nSlots ), STAT=RC ) CALL GC_CheckVar( mapName2, 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN mapData%slot2id = -1 ! Loop thru the list of tags and find the relevant ID ! For diagnostics that are not defined species in the ! species database, skip calling the Ind_ function. TagItem => TagList%head DO WHILE ( ASSOCIATED( TagItem ) ) IF ( isDustBin ) THEN ! Dustbin: Tag names are "bin1" .. "bin7", so the ! bin number is the last character of the tag name S = LEN_TRIM( TagItem%Name ) READ( TagItem%Name(S:S), '(I1)' ) index mapData%slot2id(TagItem%index) = index ELSEIF ( isTomasBin ) THEN ! TomasSbin: Tag names are "bin01" .. "bin15", so the ! bin number is the last 2 characters of the tag name S = LEN_TRIM( TagItem%Name ) READ( TagItem%Name(S-1:S), '(I2.2)' ) index mapData%slot2id(TagItem%index) = index ELSE IF ( isLoss ) THEN ! Loss: get the index from State_Chm%Map_Loss mapData%slot2id(TagItem%index) = State_Chm%Map_Loss(TagItem%index) ELSE IF ( isProd ) THEN ! Prod get the index from State_Chm%Map_Prod mapData%slot2id(TagItem%index) = State_Chm%Map_Prod(TagItem%index) ELSE IF ( isRxnRate ) THEN ! RxnRate: the last 4 characters is the index # S = LEN_TRIM( TagItem%name ) rxnStr = TagItem%name(S-3:S) READ( rxnstr, '(I4.4) ' ) index mapData%slot2id(TagItem%index) = index ELSE IF ( isUvFlx ) THEN ! Get the proper UVFLux bin index, which is pegged ! to the corresponding FAST-JX wavelength bin CALL Get_UVFlux_Bin( TagItem%name, index, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in routine "Get_UVFlux_Bin"!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Store wavelength bin index in the slot2Id field mapData%slot2id(TagItem%index) = index ELSE ! Otherwise, this is a defined species. ! Call Ind_() to get the proper index mapData%slot2id(TagItem%index) = Ind_( TagItem%name, indFlag ) ENDIF ! Go to next tag TagItem => TagItem%next ENDDO TagItem => NULL() ENDIF !-------------------------------------------------------------------- ! Create an index array with the max number of possible Id's !-------------------------------------------------------------------- ! Before proceeding, make sure that slot2Id contains valid values IF ( ANY( mapData%slot2id < 0 ) ) THEN errMsg = 'The mapData%slot2Id array corresponding to collection "' // & TRIM( metadataId ) // '" contains missing values! ' // & 'This can indicate that this collection is either ' // & 'undefined or turned off. Please check the HISTORY.rc ' // & 'configuration file in your run directory.' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Skip computing id2slot for Prod and Loss diagnostics IF ( .not. isLoss .and. .not. isProd ) THEN ! Get max number of species for this indFlag CALL Get_NumTags( indFlag, State_Chm, mapData%nIds, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "Get_NumTags" (tagId=indFlag)!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Allocate the mapData%id2slot field IF ( ASSOCIATED( mapData%id2slot ) ) DEALLOCATE( mapData%id2slot ) ALLOCATE( mapData%id2slot( mapData%nIds ), STAT=RC ) CALL GC_CheckVar( mapName2, 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN mapData%id2slot = -1 ! Populate the mapData%id2slot field DO S = 1, mapData%nSlots index = mapData%slot2Id(S) mapData%id2slot(index) = S ENDDO ENDIF END SUBROUTINE Get_Mapping !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_MapData_and_NumSlots ! ! !DESCRIPTION: Returns the mapping object (if passed) for a given ! diagnostic, as well as the number of slots to size the last dimension ! of the diagnostic array. This is a convenience routine that was ! abstracted from the various Init_and_Register_* routines in order ! to reduce repetition of code. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Get_MapData_and_NumSlots( Input_Opt, State_Chm, & TaggedDiagList, metadataId, & numSlots, RC, & indFlag, mapData ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State TYPE(TaggedDgnList), INTENT(IN) :: TaggedDiagList ! Tags/WCs per diag CHARACTER(LEN=*), INTENT(IN) :: metadataId ! Diagnostic name CHARACTER(LEN=*), INTENT(IN) :: indFlag ! ! ! !OUTPUT PARAMETERS: ! TYPE(DgnMap), POINTER, OPTIONAL :: mapData ! Mapping object INTEGER, INTENT(OUT) :: numSlots ! # of slots to ! size data array INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 31 Mar 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: found ! Strings CHARACTER(LEN=512) :: errMsg CHARACTER(LEN=255) :: tagId CHARACTER(LEN=255) :: thisLoc !======================================================================= ! Initialize !======================================================================= RC = GC_SUCCESS found = .FALSE. numSlots = 1 errMsg = '' tagId = '' thisLoc = & ' -> at Get_MapData_and_NumSlots (in module Headers/state_diag_mod.F90)' !======================================================================= ! Determine the number of slots to allocate the 4th dim of the array !======================================================================= IF ( PRESENT( mapData ) ) THEN ! If the mapping array is passed, then get the vector which contains ! the list of ModelID's from the species database for each ! quantity in the diagnostic, as well as the number of slots ! to allocate for the 4th dimension of Ptr2Data. CALL Get_Mapping( Input_Opt = Input_Opt, & State_Chm = State_Chm, & TaggedDiagList = TaggedDiagList, & metadataId = metadataId, & indFlag = indFlag, & mapData = mapData, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "Get_Mapping": '// TRIM( metadataId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Number of slots to size the 4th dim of Ptr2Data numSlots = mapData%nSlots ELSE ! If the mapping array is not passed, then find the wildcard ! that is attached to this diagnostic ... CALL Get_Metadata_State_Diag( am_I_Root = Input_Opt%amIRoot, & metadataId = metadataId, & Found = Found, & tagId = tagID, & RC = RC ) IF ( RC /= GC_SUCCESS .or. .not. found ) THEN ErrMsg = 'Error encountered in "Get_MetaData_State_Diag", ' // & 'could not get tagId for ' // TRIM( metadataId ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! ... and then find the number of "tags" corresponding to ! this wilcard. This will be the number of slots for ! allocating the 4th dimension of Ptr2Data. IF ( found ) THEN CALL Get_NumTags( tagId, State_Chm, numSlots, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Abnormal exit from routine "Get_NumTags", could ' // & 'not get nTags for !' // TRIM( metadataId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF ENDIF END SUBROUTINE Get_MapData_and_NumSlots !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_and_Register_R4_2D ! ! !DESCRIPTION: Allocates a State_Diag array and registers each diagnostic ! quantity archived by that array. This particular routine is for ! 4-byte, 2-dimensional arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_and_Register_R4_2D( Input_Opt, State_Chm, & State_Diag, State_Grid, & DiagList, TaggedDiagList, & Ptr2Data, diagId, & archiveData, RC, & mapData, forceDefine, & dim1d, diagFlag ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State TYPE(DgnList), INTENT(IN) :: DiagList ! Diags specified TYPE(TaggedDgnList), INTENT(IN) :: TaggedDiagList ! Tags and WCs CHARACTER(LEN=*), INTENT(IN) :: diagId ! Diagnostic name INTEGER, OPTIONAL :: dim1d ! Dim for 1-D data LOGICAL, OPTIONAL :: forceDefine ! Don't skip diag CHARACTER(LEN=*), OPTIONAL :: diagFlag ! Flag for Ind_ ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostic State LOGICAL, INTENT(INOUT) :: archiveData ! Save this diag? REAL(f4), POINTER, INTENT(INOUT) :: Ptr2Data(:,:) ! Pointer to data TYPE(DgnMap), POINTER, OPTIONAL :: mapData ! Mapping object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success/failure! ! ! !REVISION HISTORY: ! 31 Mar 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: alwaysDefine, found INTEGER :: NX, NY INTEGER :: NW, numSlots ! Strings CHARACTER(LEN=1) :: indFlag CHARACTER(LEN=512) :: errMsg CHARACTER(LEN=255) :: arrayId CHARACTER(LEN=255) :: tagId CHARACTER(LEN=255) :: thisLoc !======================================================================= ! Init_and_Register_R4_2D begins here! !======================================================================= ! Initialize RC = GC_SUCCESS numSlots = -1 found = .FALSE. arrayID = 'State_Diag%' // TRIM( diagId ) errMsg = '' thisLoc = & ' -> at Init_and_Register_R4_2D (in module Headers/state_diag_mod.F90)' ! Test if this diagnostic will always be defined ! (e.g. this might be needed for coupling with GEOS) IF ( PRESENT( forceDefine ) ) THEN alwaysDefine = forceDefine ELSE alwaysDefine = .FALSE. ENDIF ! If diagFlag is not passed, then we will get the id for all ! species (instead of restricting to advected, drydep, wetdep, etc.) IF ( PRESENT( diagFlag ) ) THEN indFlag = diagFlag ELSE indFlag = 'S' ENDIF ! Zero/nullify the data and mapping variables IF ( ASSOCIATED( Ptr2Data ) ) DEALLOCATE( Ptr2Data ) Ptr2Data => NULL() archiveData = .FALSE. IF ( PRESENT( mapData ) ) THEN IF ( ASSOCIATED( mapData ) ) DEALLOCATE( mapData ) mapData => NULL() ENDIF !======================================================================= ! First determine if the diagnostic is turned on ! Return if it isn't (unless forceDefine = .TRUE.) !======================================================================= CALL Check_DiagList( Input_Opt%amIRoot, DiagList, diagID, found, RC ) IF ( ( .not. found ) .and. ( .not. alwaysDefine ) ) RETURN !======================================================================= ! Determine the number of slots to allocate the 4th dim of the array; ! also get the mapping object for memory reduction (if passed) !======================================================================= CALL Get_MapData_and_NumSlots( Input_Opt = Input_Opt, & State_Chm = State_Chm, & TaggedDiagList = TaggedDiagList, & metadataId = diagId, & indFlag = indFlag, & numSlots = numSlots, & mapData = mapData, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "Get_MapData_and_NumSlots"!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !======================================================================= ! Allocate diagnostic array !======================================================================= ! Dimensions of the grid NX = State_Grid%NX NY = State_Grid%NY ! Get dimension if this is 1-D tagged data IF ( PRESENT( dim1d ) ) THEN NW = dim1d ELSE NW = -1 ENDIF ! Allocate the data array IF ( numSlots > 0 .and. NW > 0 ) THEN ALLOCATE( Ptr2Data( NW, numSlots ), STAT=RC ) ELSE ALLOCATE( Ptr2Data( NX, NY ), STAT=RC ) ENDIF CALL GC_CheckVar( arrayId, 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ! Initialize diagnostic array and set its archival flag to TRUE Ptr2Data = 0.0_f4 archiveData = .TRUE. !======================================================================= ! Register the diagnostic !======================================================================= CALL Register_DiagField( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & metadataId = diagId, & Ptr2Data = Ptr2Data, & mapData = mapData, & nSlots = numSlots, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "Register_DiagField" (hasMapData=T)!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Print info about diagnostic IF ( Input_Opt%amIRoot .and. Input_Opt%Verbose ) THEN WRITE( 6, 100 ) ADJUSTL( arrayID ), TRIM( diagID ) 100 FORMAT( 1x, a32, ' is registered as: ', a ) ENDIF END SUBROUTINE Init_and_Register_R4_2D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_and_Register_R4_3D ! ! !DESCRIPTION: Allocates a State_Diag array and registers each diagnostic ! quantity archived by that array. This particular routine is for ! 4-byte, 3-dimensional arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_and_Register_R4_3D( Input_Opt, State_Chm, & State_Diag, State_Grid, & DiagList, TaggedDiagList, & Ptr2Data, diagId, & archiveData, RC, & mapData, forceDefine, & diagFlag ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State TYPE(DgnList), INTENT(IN) :: DiagList ! Diags specified TYPE(TaggedDgnList), INTENT(IN) :: TaggedDiagList ! Tags and WCs CHARACTER(LEN=*), INTENT(IN) :: diagId ! Diagnostic name LOGICAL, OPTIONAL :: forceDefine ! Don't skip diag CHARACTER(LEN=*), OPTIONAL :: diagFlag ! Flag for Ind_ ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostic State LOGICAL, INTENT(INOUT) :: archiveData ! Save this diag? REAL(f4), POINTER, INTENT(INOUT) :: Ptr2Data(:,:,:) ! Pointer to data TYPE(DgnMap), POINTER, OPTIONAL :: mapData ! Mapping object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success/failure! ! ! !REVISION HISTORY: ! 31 Mar 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: alwaysDefine, found INTEGER :: NX, NY, NZ INTEGER :: NW, numSlots ! Strings CHARACTER(LEN=1) :: indFlag CHARACTER(LEN=512) :: errMsg CHARACTER(LEN=255) :: arrayId CHARACTER(LEN=255) :: tagId CHARACTER(LEN=255) :: thisLoc !======================================================================= ! Init_and_Register_R4_3D begins here! !======================================================================= ! Initialize RC = GC_SUCCESS numSlots = -1 found = .FALSE. arrayID = 'State_Diag%' // TRIM( diagId ) errMsg = '' thisLoc = & ' -> at Init_and_Register_R4_3D (in module Headers/state_diag_mod.F90)' ! Test if this diagnostic will always be defined ! (e.g. this might be needed for coupling with GEOS) IF ( PRESENT( forceDefine ) ) THEN alwaysDefine = forceDefine ELSE alwaysDefine = .FALSE. ENDIF ! If diagFlag is not passed, then we will get the modelId for all ! species (instead of restricting to advected, drydep, wetdep, etc.) IF ( PRESENT( diagFlag ) ) THEN indFlag = diagFlag ELSE indFlag = 'S' ENDIF ! Zero/nullify the data and mapping variables IF ( ASSOCIATED( Ptr2Data ) ) DEALLOCATE( Ptr2Data ) Ptr2Data => NULL() archiveData = .FALSE. IF ( PRESENT( mapData ) ) THEN IF ( ASSOCIATED( mapData ) ) DEALLOCATE( mapData ) mapData => NULL() ENDIF !======================================================================= ! First determine if the diagnostic is turned on ! Return if it isn't (unless forceDefine = .TRUE.) !======================================================================= CALL Check_DiagList( Input_Opt%amIRoot, DiagList, diagID, found, RC ) IF ( ( .not. found ) .and. ( .not. alwaysDefine ) ) RETURN !======================================================================= ! Determine the number of slots to allocate the 4th dim of the array; ! also get the mapping object for memory reduction (if passed) !======================================================================= CALL Get_MapData_and_NumSlots( Input_Opt = Input_Opt, & State_Chm = State_Chm, & TaggedDiagList = TaggedDiagList, & metadataId = diagId, & indFlag = indFlag, & numSlots = numSlots, & mapData = mapData, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "Get_MapData_and_NumSlots"!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !======================================================================= ! Allocate diagnostic array !======================================================================= ! Dimensions of the grid NX = State_Grid%NX NY = State_Grid%NY NZ = State_Grid%NZ ! Allocate array IF ( numSlots > 0 ) THEN ALLOCATE( Ptr2Data( NX, NY, numSlots ), STAT=RC ) ELSE ALLOCATE( Ptr2Data( NX, NY, NZ ), STAT=RC ) ENDIF CALL GC_CheckVar( arrayId, 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ! Initialize diagnostic array and set its archival flag to TRUE Ptr2Data = 0.0_f4 archiveData = .TRUE. !======================================================================= ! Register the diagnostic !======================================================================= CALL Register_DiagField( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & metadataId = diagId, & Ptr2Data = Ptr2Data, & mapData = mapData, & nSlots = numSlots, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "Register_DiagField"!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Print info about diagnostic IF ( Input_Opt%amIRoot .and. Input_Opt%Verbose ) THEN WRITE( 6, 100 ) ADJUSTL( arrayID ), TRIM( diagID ) 100 FORMAT( 1x, a32, ' is registered as: ', a ) ENDIF END SUBROUTINE Init_and_Register_R4_3D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_and_Register_R4_4D ! ! !DESCRIPTION: Allocates a State_Diag array and registers each diagnostic ! quantity archived by that array. This particular routine is for ! 4-byte, 4-dimensional arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_and_Register_R4_4D( Input_Opt, State_Chm, & State_Diag, State_Grid, & DiagList, TaggedDiagList, & Ptr2Data, diagId, & archiveData, RC, & mapData, forceDefine, & diagFlag ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State TYPE(DgnList), INTENT(IN) :: DiagList ! Diags specified TYPE(TaggedDgnList), INTENT(IN) :: TaggedDiagList ! Tags and WCs CHARACTER(LEN=*), INTENT(IN) :: diagId ! Diagnostic name LOGICAL, OPTIONAL :: forceDefine ! Don't skip diag CHARACTER(LEN=*), OPTIONAL :: diagFlag ! Flag for Ind_ ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostic State LOGICAL, INTENT(INOUT) :: archiveData ! Save this diag? REAL(f4), POINTER, INTENT(INOUT) :: Ptr2Data(:,:,:,:)! Pointer to data TYPE(DgnMap), POINTER, OPTIONAL :: mapData ! Mapping object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success/failure! ! ! !REVISION HISTORY: ! 31 Mar 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: alwaysDefine, found INTEGER :: NX, NY, NZ INTEGER :: NW, numSlots ! Strings CHARACTER(LEN=1) :: indFlag CHARACTER(LEN=512) :: errMsg CHARACTER(LEN=255) :: arrayId CHARACTER(LEN=255) :: tagId CHARACTER(LEN=255) :: thisLoc !======================================================================= ! Init_and_Register_R4_4D begins here! !======================================================================= ! Initialzie RC = GC_SUCCESS numSlots = -1 found = .FALSE. arrayID = 'State_Diag%' // TRIM( diagId ) errMsg = '' thisLoc = & ' -> at Init_and_Register_R4_4D (in module Headers/state_diag_mod.F90)' ! Test if this diagnostic will always be defined ! (e.g. this might be needed for coupling with GEOS) IF ( PRESENT( forceDefine ) ) THEN alwaysDefine = forceDefine ELSE alwaysDefine = .FALSE. ENDIF ! If diagFlag is not passed, then we will get the modelId for all ! species (instead of restricting to advected, drydep, wetdep, etc.) IF ( PRESENT( diagFlag ) ) THEN indFlag = diagFlag ELSE indFlag = 'S' ENDIF ! Zero/nullify the data and mapping variables IF ( ASSOCIATED( Ptr2Data ) ) DEALLOCATE( Ptr2Data ) Ptr2Data => NULL() archiveData = .FALSE. IF ( PRESENT( mapData ) ) THEN IF ( ASSOCIATED( mapData ) ) DEALLOCATE( mapData ) mapData => NULL() ENDIF !======================================================================= ! First determine if the diagnostic is turned on ! Return if it isn't (unless forceDefine = .TRUE.) !======================================================================= CALL Check_DiagList( Input_Opt%amIRoot, DiagList, diagID, found, RC ) IF ( ( .not. found ) .and. ( .not. alwaysDefine ) ) RETURN !======================================================================= ! Determine the number of slots to allocate the 4th dim of the array; ! also get the mapping object for memory reduction (if passed) !======================================================================= CALL Get_MapData_and_NumSlots( Input_Opt = Input_Opt, & State_Chm = State_Chm, & TaggedDiagList = TaggedDiagList, & metadataId = diagId, & indFlag = indFlag, & numSlots = numSlots, & mapData = mapData, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "Get_MapData_and_NumSlots"!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !======================================================================= ! Allocate diagnostic array !======================================================================= ! Dimensions of the grid NX = State_Grid%NX NY = State_Grid%NY NZ = State_Grid%NZ ! Allocate array ALLOCATE( Ptr2Data( NX, NY, NZ, numSlots ), STAT=RC ) CALL GC_CheckVar( arrayId, 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ! Initialize diagnostic array and set its archival flag to TRUE Ptr2Data = 0.0_f4 archiveData = .TRUE. !======================================================================= ! Register the diagnostic !======================================================================= CALL Register_DiagField( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & metadataId = diagId, & Ptr2Data = Ptr2Data, & mapData = mapData, & nSlots = numSlots, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "Register_DiagField": '// TRIM(diagID) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Print info about diagnostic IF ( Input_Opt%amIRoot .and. Input_Opt%Verbose ) THEN WRITE( 6, 100 ) ADJUSTL( arrayID ), TRIM( diagID ) 100 FORMAT( 1x, a32, ' is registered as: ', a ) ENDIF END SUBROUTINE Init_and_Register_R4_4D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_and_Register_R8_2D ! ! !DESCRIPTION: Allocates a State_Diag array and registers each diagnostic ! quantity archived by that array. This particular routine is for ! 8-byte, 2-dimensional arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_and_Register_R8_2D( Input_Opt, State_Chm, & State_Diag, State_Grid, & DiagList, TaggedDiagList, & Ptr2Data, diagId, & archiveData, RC, & mapData, forceDefine, & dim1d, diagFlag ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State TYPE(DgnList), INTENT(IN) :: DiagList ! Diags specified TYPE(TaggedDgnList), INTENT(IN) :: TaggedDiagList ! Tags and WCs CHARACTER(LEN=*), INTENT(IN) :: diagId ! Diagnostic name LOGICAL, OPTIONAL :: forceDefine ! Don't skip diag INTEGER, OPTIONAL :: dim1d ! Dim for 1d data CHARACTER(LEN=*), OPTIONAL :: diagFlag ! Flag for Ind_ ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostic State LOGICAL, INTENT(INOUT) :: archiveData ! Save this diag? REAL(f8), POINTER, INTENT(INOUT) :: Ptr2Data(:,:) ! Pointer to data TYPE(DgnMap), POINTER, OPTIONAL :: mapData ! Mapping object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success/failure! ! ! !REVISION HISTORY: ! 31 Mar 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: alwaysDefine, found INTEGER :: NX, NY INTEGER :: NW, numSlots ! Strings CHARACTER(LEN=1) :: indFlag CHARACTER(LEN=512) :: errMsg CHARACTER(LEN=255) :: arrayId CHARACTER(LEN=255) :: tagId CHARACTER(LEN=255) :: thisLoc !======================================================================= ! Init_and_Register_R8_4D begins here! !======================================================================= ! Initialize RC = GC_SUCCESS found = .FALSE. numSlots = -1 arrayID = 'State_Diag%' // TRIM( diagId ) errMsg = '' thisLoc = & ' -> at Init_and_Register_R8_2D (in module Headers/state_diag_mod.F90)' ! Test if this diagnostic will always be defined ! (e.g. this might be needed for coupling with GEOS) IF ( PRESENT( forceDefine ) ) THEN alwaysDefine = forceDefine ELSE alwaysDefine = .FALSE. ENDIF ! If diagFlag is not passed, then we will get the modelId for all ! species (instead of restricting to advected, drydep, wetdep, etc.) IF ( PRESENT( diagFlag ) ) THEN indFlag = diagFlag ELSE indFlag = 'S' ENDIF ! Zero/nullify the data and mapping variables IF ( ASSOCIATED( Ptr2Data ) ) DEALLOCATE( Ptr2Data ) Ptr2Data => NULL() archiveData = .FALSE. IF ( PRESENT( mapData ) ) THEN IF ( ASSOCIATED( mapData ) ) DEALLOCATE( mapData ) mapData => NULL() ENDIF !======================================================================= ! First determine if the diagnostic is turned on ! Return if it isn't (unless forceDefine = .TRUE.) !======================================================================= CALL Check_DiagList( Input_Opt%amIRoot, DiagList, diagID, found, RC ) IF ( ( .not. found ) .and. ( .not. alwaysDefine ) ) RETURN !======================================================================= ! Determine the number of slots to allocate the 4th dim of the array; ! also get the mapping object for memory reduction (if passed) !======================================================================= CALL Get_MapData_and_NumSlots( Input_Opt = Input_Opt, & State_Chm = State_Chm, & TaggedDiagList = TaggedDiagList, & metadataId = diagId, & indFlag = indFlag, & numSlots = numSlots, & mapData = mapData, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "Get_MapData_and_NumSlots"!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !======================================================================= ! Allocate diagnostic array !======================================================================= ! Dimensions of the grid NX = State_Grid%NX NY = State_Grid%NY IF ( PRESENT( dim1d ) ) THEN NW = State_Grid%NZ ELSE NW = -1 ENDIF ! Allocate array IF ( numSlots > 0 .and. NW > 0 ) THEN ALLOCATE( Ptr2Data( NW, numSlots ), STAT=RC ) ELSE ALLOCATE( Ptr2Data( NX, NY ), STAT=RC ) ENDIF CALL GC_CheckVar( arrayId, 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ! Initialize diagnostic array and set its archival flag to TRUE Ptr2Data = 0.0_f8 archiveData = .TRUE. !======================================================================= ! Register the diagnostic !======================================================================= CALL Register_DiagField( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & metadataId = diagId, & Ptr2Data = Ptr2Data, & mapData = mapData, & nSlots = numSlots, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "Register_DiagField"!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Print info about diagnostic IF ( Input_Opt%amIRoot .and. Input_Opt%Verbose ) THEN WRITE( 6, 100 ) ADJUSTL( arrayID ), TRIM( diagID ) 100 FORMAT( 1x, a32, ' is registered as: ', a ) ENDIF END SUBROUTINE Init_and_Register_R8_2D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_and_Register_R8_3D ! ! !DESCRIPTION: Allocates a State_Diag array and registers each diagnostic ! quantity archived by that array. This particular routine is for ! 8-byte, 3-dimensional arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_and_Register_R8_3D( Input_Opt, State_Chm, & State_Diag, State_Grid, & DiagList, TaggedDiagList, & Ptr2Data, diagId, & archiveData, RC, & mapData, forceDefine, & diagFlag ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE Registry_Params_Mod, ONLY : VLocationEdge ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State TYPE(DgnList), INTENT(IN) :: DiagList ! Diags specified TYPE(TaggedDgnList), INTENT(IN) :: TaggedDiagList ! Tags and WCs CHARACTER(LEN=*), INTENT(IN) :: diagId ! Diagnostic name LOGICAL, OPTIONAL :: forceDefine ! Don't skip diag CHARACTER(LEN=*), OPTIONAL :: diagFlag ! Flag for Ind_ ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostic State LOGICAL, INTENT(INOUT) :: archiveData ! Save this diag? REAL(f8), POINTER, INTENT(INOUT) :: Ptr2Data(:,:,:) ! Pointer to data TYPE(DgnMap), POINTER, OPTIONAL :: mapData ! Mapping object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success/failure! ! ! !REVISION HISTORY: ! 31 Mar 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: alwaysDefine, found INTEGER :: NX, NY, NZ INTEGER :: NW, numSlots, vLoc ! Strings CHARACTER(LEN=1) :: indFlag CHARACTER(LEN=512) :: errMsg CHARACTER(LEN=255) :: arrayId CHARACTER(LEN=255) :: tagId CHARACTER(LEN=255) :: thisLoc !======================================================================= ! Init_and_Register_R8_3D begins here! !======================================================================= ! Initialzie RC = GC_SUCCESS numSlots = -1 found = .FALSE. vLoc = .FALSE. arrayID = 'State_Diag%' // TRIM( diagId ) errMsg = '' thisLoc = & ' -> at Init_and_Register_R8_3D (in module Headers/state_diag_mod.F90)' ! Test if this diagnostic will always be defined ! (e.g. this might be needed for coupling with GEOS) IF ( PRESENT( forceDefine ) ) THEN alwaysDefine = forceDefine ELSE alwaysDefine = .FALSE. ENDIF ! If diagFlag is not passed, then we will get the modelId for all ! species (instead of restricting to advected, drydep, wetdep, etc.) IF ( PRESENT( diagFlag ) ) THEN indFlag = diagFlag ELSE indFlag = 'S' ENDIF ! Zero/nullify the data and mapping variables IF ( ASSOCIATED( Ptr2Data ) ) DEALLOCATE( Ptr2Data ) Ptr2Data => NULL() archiveData = .FALSE. IF ( PRESENT( mapData ) ) THEN IF ( ASSOCIATED( mapData ) ) DEALLOCATE( mapData ) mapData => NULL() ENDIF !======================================================================= ! First determine if the diagnostic is turned on ! Return if it isn't (unless forceDefine = .TRUE.) !======================================================================= CALL Check_DiagList( Input_Opt%amIRoot, DiagList, diagID, found, RC ) IF ( ( .not. found ) .and. ( .not. alwaysDefine ) ) RETURN !======================================================================= ! Determine the number of slots to allocate the 4th dim of the array; ! also get the mapping object for memory reduction (if passed) !======================================================================= CALL Get_MapData_and_NumSlots( Input_Opt = Input_Opt, & State_Chm = State_Chm, & TaggedDiagList = TaggedDiagList, & metadataId = diagId, & indFlag = indFlag, & numSlots = numSlots, & mapData = mapData, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "Get_MapData_and_NumSlots"!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !======================================================================= ! Allocate diagnostic array !======================================================================= ! Dimensions of the grid NX = State_Grid%NX NY = State_Grid%NY NZ = State_Grid%NZ ! Determine if the array is defined on level edges ! NOTE: This is only needed for the SatDiagnPEDGE field CALL Get_Metadata_State_Diag( am_I_Root = Input_Opt%amIRoot, & metadataId = diagId, & found = found, & vLoc = vLoc, & RC = RC ) IF ( vLoc == vLocationEdge ) NZ = NZ + 1 ! Allocate array IF ( numSlots > 0 ) THEN ALLOCATE( Ptr2Data( NX, NY, numSlots ), STAT=RC ) ELSE ALLOCATE( Ptr2Data( NX, NY, NZ ), STAT=RC ) ENDIF CALL GC_CheckVar( arrayId, 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ! Initialize diagnostic array and set its archival flag to TRUE Ptr2Data = 0.0_f8 archiveData = .TRUE. !======================================================================= ! Register the diagnostic !======================================================================= CALL Register_DiagField( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & metadataId = diagId, & Ptr2Data = Ptr2Data, & mapData = mapData, & nSlots = numSlots, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "Register_DiagField": '// TRIM(diagID) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Print info about diagnostic IF ( Input_Opt%amIRoot .and. Input_Opt%Verbose ) THEN WRITE( 6, 100 ) ADJUSTL( arrayID ), TRIM( diagID ) 100 FORMAT( 1x, a32, ' is registered as: ', a ) ENDIF END SUBROUTINE Init_and_Register_R8_3D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_and_Register_R8_4D ! ! !DESCRIPTION: Allocates a State_Diag array and registers each diagnostic ! quantity archived by that array. This particular routine is for ! 8-byte, 4-dimensional arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_and_Register_R8_4D( Input_Opt, State_Chm, & State_Diag, State_Grid, & DiagList, TaggedDiagList, & Ptr2Data, diagId, & archiveData, RC, & mapData, forceDefine, & diagFlag ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State TYPE(DgnList), INTENT(IN) :: DiagList ! Diags specified TYPE(TaggedDgnList), INTENT(IN) :: TaggedDiagList ! Tags and WCs CHARACTER(LEN=*), INTENT(IN) :: diagId ! Diagnostic name LOGICAL, OPTIONAL :: forceDefine ! Don't skip diag CHARACTER(LEN=*), OPTIONAL :: diagFlag ! Flag for Ind_ ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostic State LOGICAL, INTENT(INOUT) :: archiveData ! Save this diag? REAL(f8), POINTER, INTENT(INOUT) :: Ptr2Data(:,:,:,:)! Pointer to data TYPE(DgnMap), POINTER, OPTIONAL :: mapData ! Mapping object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success/failure! ! ! !REVISION HISTORY: ! 31 Mar 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: alwaysDefine, found INTEGER :: NX, NY, NZ INTEGER :: NW, numSlots ! Strings CHARACTER(LEN=1) :: indFlag CHARACTER(LEN=512) :: errMsg CHARACTER(LEN=255) :: arrayId CHARACTER(LEN=255) :: tagId CHARACTER(LEN=255) :: thisLoc !======================================================================= ! Init_and_Register_R8_4D begins here! !======================================================================= ! Initialize RC = GC_SUCCESS numSlots = -1 found = .FALSE. arrayID = 'State_Diag%' // TRIM( diagId ) errMsg = '' thisLoc = & ' -> at Init_and_Register_R8_4D (in module Headers/state_diag_mod.F90)' ! Test if this diagnostic will always be defined ! (e.g. this might be needed for coupling with GEOS) IF ( PRESENT( forceDefine ) ) THEN alwaysDefine = forceDefine ELSE alwaysDefine = .FALSE. ENDIF ! If diagFlag is not passed, then we will get the modelId for all ! species (instead of restricting to advected, drydep, wetdep, etc.) IF ( PRESENT( diagFlag ) ) THEN indFlag = diagFlag ELSE indFlag = 'S' ENDIF ! Zero/nullify the data and mapping variables !IF ( ASSOCIATED( Ptr2Data ) ) DEALLOCATE( Ptr2Data ) Ptr2Data => NULL() archiveData = .FALSE. IF ( PRESENT( mapData ) ) mapData => NULL() !======================================================================= ! First determine if the diagnostic is turned on ! Return if it isn't (unless forceDefine = .TRUE.) !======================================================================= CALL Check_DiagList( Input_Opt%amIRoot, DiagList, diagID, found, RC ) IF ( ( .not. found ) .and. ( .not. alwaysDefine ) ) RETURN !======================================================================= ! Determine the number of slots to allocate the 4th dim of the array; ! also get the mapping object for memory reduction (if passed) !======================================================================= CALL Get_MapData_and_NumSlots( Input_Opt = Input_Opt, & State_Chm = State_Chm, & TaggedDiagList = TaggedDiagList, & metadataId = diagId, & indFlag = indFlag, & numSlots = numSlots, & mapData = mapData, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "Get_MapData_and_NumSlots"!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !======================================================================= ! Allocate diagnostic array !======================================================================= ! Dimensions of the grid NX = State_Grid%NX NY = State_Grid%NY NZ = State_Grid%NZ ! Allocate array ALLOCATE( Ptr2Data( NX, NY, NZ, numSlots ), STAT=RC ) CALL GC_CheckVar( arrayId, 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ! Initialize diagnostic array and set its archival flag to TRUE Ptr2Data = 0.0_f8 archiveData = .TRUE. !======================================================================= ! Register the diagnostic !======================================================================= CALL Register_DiagField( Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & metadataId = diagId, & Ptr2Data = Ptr2Data, & mapData = mapData, & nSlots = numSlots, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "Register_DiagField": '// TRIM(diagID) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Print info about diagnostic IF ( Input_Opt%amIRoot .and. Input_Opt%Verbose ) THEN WRITE( 6, 100 ) ADJUSTL( arrayID ), TRIM( diagID ) 100 FORMAT( 1x, a32, ' is registered as: ', a ) ENDIF END SUBROUTINE Init_and_Register_R8_4D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Finalize_MapData ! ! !DESCRIPTION: Finalizes a mapping data object !\\ !\\ ! !INTERFACE: ! SUBROUTINE Finalize_MapData( diagId, mapData, RC ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: diagId ! Diagnostic name ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(DgnMap), POINTER, INTENT(INOUT) :: mapData ! Mapping object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success ?! ! ! !REVISION HISTORY: ! 01 Apr 2015 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: mapId !======================================================================= ! Finalize the mapping object !======================================================================= ! Initialize RC = GC_SUCCESS ! Finalize MapData if it's has been allocated IF ( ASSOCIATED( mapData ) ) THEN ! Deallocate and nullify the allId mapId = 'State_Diag%Map_' // TRIM( diagId ) // '%id2slot' IF ( ASSOCIATED( mapData%id2slot ) ) THEN DEALLOCATE( mapData%id2slot, STAT=RC ) CALL GC_CheckVar( mapId, 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF mapdata%id2slot => NULL() ! Deallocate and nullify the id field mapId = 'State_Diag%Map_' // TRIM( diagId ) // '%slot2id' IF ( ASSOCIATED( mapData%slot2id ) ) THEN DEALLOCATE( mapData%slot2id, STAT=RC ) CALL GC_CheckVar( mapId, 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF mapdata%slot2id => NULL() ! Then finalize the mapData object itself mapId = 'State_Diag%Map_' // TRIM( diagId ) DEALLOCATE( mapData, STAT=RC ) CALL GC_CheckVar( mapId, 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF ! Nullify mapData mapData => NULL() END SUBROUTINE Finalize_MapData !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Finalize_R4_2D ! ! !DESCRIPTION: Deallocates and nullifies a 4-byte, 2-dimensional ! data array and its associated mapping object (if present). !\\ !\\ ! !INTERFACE: ! SUBROUTINE Finalize_R4_2D( diagId, Ptr2Data, RC, mapData ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: diagId ! Diag name ! ! !INPUT/OUTPUT PARAMETERS: ! REAL(f4), POINTER, INTENT(INOUT) :: Ptr2Data(:,:) ! Data aray TYPE(DgnMap), POINTER, OPTIONAL :: mapData ! Mapping object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success ? ! ! !REVISION HISTORY: ! 01 Apr 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: arrayId, mapId !======================================================================= ! Finalize the data array !======================================================================= arrayId = 'State_Diag%' // TRIM( diagId ) IF ( ASSOCIATED( Ptr2Data ) ) THEN DEALLOCATE( Ptr2Data, STAT=RC ) CALL GC_CheckVar( arrayId, 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF Ptr2Data => NULL() !======================================================================= ! Finalize the mapping object !======================================================================= IF ( PRESENT( mapData ) ) THEN CALL Finalize_MapData( diagId, mapData, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF END SUBROUTINE Finalize_R4_2D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Finalize_R4_3D ! ! !DESCRIPTION: Deallocates and nullifies a 4-byte, 3-dimensional ! data array and its associated mapping object (if present). !\\ !\\ ! !INTERFACE: ! SUBROUTINE Finalize_R4_3D( diagId, Ptr2Data, RC, mapData ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: diagId ! Diag name ! ! !INPUT/OUTPUT PARAMETERS: ! REAL(f4), POINTER, INTENT(INOUT) :: Ptr2Data(:,:,:) ! Data aray TYPE(DgnMap), POINTER, OPTIONAL :: mapData ! Mapping object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success ? ! ! !REVISION HISTORY: ! 01 Apr 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: arrayId, mapId !======================================================================= ! Finalize the data array !======================================================================= arrayId = 'State_Diag%' // TRIM( diagId ) IF ( ASSOCIATED( Ptr2Data ) ) THEN DEALLOCATE( Ptr2Data, STAT=RC ) CALL GC_CheckVar( arrayId, 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF Ptr2Data => NULL() !======================================================================= ! Finalize the mapping object !======================================================================= IF ( PRESENT( mapData ) ) THEN CALL Finalize_MapData( diagId, mapData, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF END SUBROUTINE Finalize_R4_3D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Finalize_R4_4D ! ! !DESCRIPTION: Deallocates and nullifies a 4-byte, 4-dimensional ! data array and its associated mapping object (if present). !\\ !\\ ! !INTERFACE: ! SUBROUTINE Finalize_R4_4D( diagId, Ptr2Data, RC, mapData ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: diagId ! Diag name ! ! !INPUT/OUTPUT PARAMETERS: ! REAL(f4), POINTER, INTENT(INOUT) :: Ptr2Data(:,:,:,:) ! Data aray TYPE(DgnMap), POINTER, OPTIONAL :: mapData ! Mapping object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success ? ! ! !REVISION HISTORY: ! 01 Apr 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: arrayId, mapId !======================================================================= ! Finalize the data array !======================================================================= arrayId = 'State_Diag%' // TRIM( diagId ) IF ( ASSOCIATED( Ptr2Data ) ) THEN DEALLOCATE( Ptr2Data, STAT=RC ) CALL GC_CheckVar( arrayId, 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF Ptr2Data => NULL() !======================================================================= ! Finalize the mapping object !======================================================================= IF ( PRESENT( mapData ) ) THEN CALL Finalize_MapData( diagId, mapData, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF END SUBROUTINE Finalize_R4_4D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Finalize_R8_2D ! ! !DESCRIPTION: Deallocates and nullifies an 8-byte, 2-dimensional ! data array and its associated mapping object (if present). !\\ !\\ ! !INTERFACE: ! SUBROUTINE Finalize_R8_2D( diagId, Ptr2Data, RC, mapData ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: diagId ! Diag name ! ! !INPUT/OUTPUT PARAMETERS: ! REAL(f8), POINTER, INTENT(INOUT) :: Ptr2Data(:,:) ! Data aray TYPE(DgnMap), POINTER, OPTIONAL :: mapData ! Mapping object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success ? ! ! !REVISION HISTORY: ! 01 Apr 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: arrayId, mapId !======================================================================= ! Finalize the data array !======================================================================= arrayId = 'State_Diag%' // TRIM( diagId ) IF ( ASSOCIATED( Ptr2Data ) ) THEN DEALLOCATE( Ptr2Data, STAT=RC ) CALL GC_CheckVar( arrayId, 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF Ptr2Data => NULL() !======================================================================= ! Finalize the mapping object !======================================================================= IF ( PRESENT( mapData ) ) THEN CALL Finalize_MapData( diagId, mapData, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF END SUBROUTINE Finalize_R8_2D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Finalize_R8_3D ! ! !DESCRIPTION: Deallocates and nullifies an 8-byte, 3-dimensional ! data array and its associated mapping object (if present). !\\ !\\ ! !INTERFACE: ! SUBROUTINE Finalize_R8_3D( diagId, Ptr2Data, RC, mapData ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: diagId ! Diag name ! ! !INPUT/OUTPUT PARAMETERS: ! REAL(f8), POINTER, INTENT(INOUT) :: Ptr2Data(:,:,:) ! Data aray TYPE(DgnMap), POINTER, OPTIONAL :: mapData ! Mapping object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success ? ! ! !REVISION HISTORY: ! 01 Apr 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: arrayId, mapId !======================================================================= ! Finalize the data array !======================================================================= arrayId = 'State_Diag%' // TRIM( diagId ) IF ( ASSOCIATED( Ptr2Data ) ) THEN DEALLOCATE( Ptr2Data, STAT=RC ) CALL GC_CheckVar( arrayId, 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF Ptr2Data => NULL() !======================================================================= ! Finalize the mapping object !======================================================================= IF ( PRESENT( mapData ) ) THEN CALL Finalize_MapData( diagId, mapData, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF END SUBROUTINE Finalize_R8_3D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Finalize_R8_4D ! ! !DESCRIPTION: Deallocates and nullifies a 4-byte, 2-dimensional ! data array and its associated mapping object (if present). !\\ !\\ ! !INTERFACE: ! SUBROUTINE Finalize_R8_4D( diagId, Ptr2Data, RC, mapData ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: diagId ! Diag name ! ! !INPUT/OUTPUT PARAMETERS: ! REAL(f8), POINTER, INTENT(INOUT) :: Ptr2Data(:,:,:,:) ! Data aray TYPE(DgnMap), POINTER, OPTIONAL :: mapData ! Mapping object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success ? ! ! !REVISION HISTORY: ! 01 Apr 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: arrayId, mapId !======================================================================= ! Finalize the data array !======================================================================= arrayId = 'State_Diag%' // TRIM( diagId ) IF ( ASSOCIATED( Ptr2Data ) ) THEN DEALLOCATE( Ptr2Data, STAT=RC ) CALL GC_CheckVar( arrayId, 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF Ptr2Data => NULL() !======================================================================= ! Finalize the mapping object !======================================================================= IF ( PRESENT( mapData ) ) THEN CALL Finalize_MapData( diagId, mapData, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF END SUBROUTINE Finalize_R8_4D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_NoRegister_DryDepChemMix ! ! !DESCRIPTION: Initializes but does not register the DryDepChm and DryDepMix ! arrays. These are needed for the DryDep or SatDiagnDryDep diagnostics. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_NoRegister_DryDepChmMix( State_Diag, RC, Chm, Mix ) ! ! !USES: ! USE ErrCode_Mod ! ! !INPUT PARAMETERS: ! LOGICAL, OPTIONAL :: Chm ! Init DryDepChm arrays LOGICAL, OPTIONAL :: Mix ! Init DryDepMix arrays ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(DgnState), INTENT(INOUT) :: State_Diag ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! ! !RETURN VALUE: ! ! ! !REMARKS: ! ! !REVISION HISTORY: ! 06 Jan 2015 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Pointers LOGICAL :: initChm, initMix LOGICAL :: isDryDep, isSatDgn INTEGER :: NX, NY, NW INTEGER :: nSlots, nIds !======================================================================== ! Init_NoRegister_DryDepChmMix begins here! !======================================================================== ! Initialize RC = GC_SUCCESS initChm = .FALSE. initMix = .FALSE. isDryDep = State_Diag%Archive_DryDep isSatDgn = State_Diag%Archive_SatDiagnDryDep ! Get array sizes IF ( isDryDep ) THEN NX = SIZE( State_Diag%DryDep, 1 ) NY = SIZE( State_Diag%DryDep, 2 ) NW = SIZE( State_Diag%DryDep, 3 ) nSlots = State_Diag%Map_DryDep%nSlots nIds = State_Diag%Map_DryDep%nIds ELSE IF ( isSatDgn ) THEN NX = SIZE( State_Diag%SatDiagnDryDep, 1 ) NY = SIZE( State_Diag%SatDiagnDryDep, 2 ) NW = SIZE( State_Diag%SatDiagnDryDep, 3 ) nSlots = State_Diag%Map_SatDiagnDryDep%nSlots nIds = State_Diag%Map_SatDiagnDryDep%nIds ENDIF ! Which array to initialize? IF ( PRESENT( Chm ) ) initChm = Chm IF ( PRESENT( Mix ) ) initMix = Mix !======================================================================== ! Initialize the DryDepChm array !======================================================================== IF ( initChm ) THEN ! Initialize the logical State_Diag%Archive_DryDepChm = ( isDryDep .or. isSatDgn ) ! Only allocate the DryDepChm array if necessary IF ( State_Diag%Archive_DryDepChm ) THEN ! Initialize ALLOCATE( State_Diag%DryDepChm( NX, NY, NW ), STAT=RC ) CALL GC_CheckVar( 'State_Diag%DryDepChm', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_diag%DryDepChm = 0.0_f4 ! Initialize the mapping object ALLOCATE( State_Diag%Map_DryDepChm, STAT=RC ) CALL GC_CheckVar( 'State_Diag%Map_DryDepChm', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ! Initialize slot2Id vector State_Diag%Map_DryDepChm%nSlots = nSlots ALLOCATE( State_Diag%Map_DryDepChm%slot2Id(nSlots), STAT=RC ) CALL GC_CheckVar( 'State_Diag%Map_DryDepChm%slot2Id', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN IF ( isDryDep ) THEN State_Diag%Map_DryDepChm%slot2Id = & State_Diag%Map_DryDep%slot2Id ELSE IF ( isSatDgn ) THEN State_Diag%Map_DryDepChm%slot2Id = & State_Diag%Map_SatDiagnDryDep%slot2Id ENDIF ! Initialize id2slot vector State_Diag%Map_DryDepChm%nIds = nIds ALLOCATE( State_Diag%Map_DryDepChm%id2slot(nIds), STAT=RC ) CALL GC_CheckVar( 'State_Diag%Map_DryDepChm%id2slot', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN IF ( isDryDep ) THEN State_Diag%Map_DryDepChm%id2slot = & State_Diag%Map_DryDep%id2slot ELSE IF ( isSatDgn ) THEN State_Diag%Map_DryDepChm%id2slot = & State_Diag%Map_SatDiagnDryDep%id2slot ENDIF ENDIF ENDIF !======================================================================== ! Initialize the DryDepMix array !======================================================================== IF ( initMix ) THEN ! Only allocate the DryDepMix array if necessary State_Diag%Archive_DryDepMix = ( isDryDep .or. isSatDgn ) ! Allocate IF ( State_Diag%Archive_DryDepMix ) THEN ! Initialize ALLOCATE( State_Diag%DryDepMix( NX, NY, NW ), STAT=RC ) CALL GC_CheckVar( 'State_Diag%DryDepMix', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_diag%DryDepMix = 0.0_f4 ! Initialize the mapping object ALLOCATE( State_Diag%Map_DryDepMix, STAT=RC ) CALL GC_CheckVar( 'State_Diag%Map_DryDepMix', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ! Initialize slot2Id vector State_Diag%Map_DryDepMix%nSlots = nSlots ALLOCATE( State_Diag%Map_DryDepMix%slot2Id(nSlots), STAT=RC ) CALL GC_CheckVar( 'State_Diag%Map_DryDepMix%slot2Id', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN IF ( isDryDep ) THEN State_Diag%Map_DryDepMix%slot2Id = & State_Diag%Map_DryDep%slot2Id ELSE IF ( isSatDgn ) THEN State_Diag%Map_DryDepMix%slot2Id = & State_Diag%Map_SatDiagnDryDep%slot2Id ENDIF ! Initialize id2slot vector State_Diag%Map_DryDepMix%nIds = nIds ALLOCATE( State_Diag%Map_DryDepMix%id2slot(nIds), STAT=RC ) CALL GC_CheckVar( 'State_Diag%Map_DryDepMix%id2slot', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN IF ( isDryDep ) THEN State_Diag%Map_DryDepMix%id2slot = & State_Diag%Map_DryDep%id2slot ELSE IF ( isSatDgn ) THEN State_Diag%Map_DryDepMix%id2slot = & State_Diag%Map_SatDiagnDryDep%id2slot ENDIF ENDIF ENDIF END SUBROUTINE Init_NoRegister_DryDepChmMix !EOC END MODULE State_Diag_Mod ================================================ FILE: Headers/state_grid_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: state_grid_mod.F90 ! ! !DESCRIPTION: Module STATE\_GRID\_MOD contains the derived type ! used to define the Grid State object for GEOS-Chem. !\\ !\\ ! !INTERFACE: ! MODULE State_Grid_Mod ! ! USES: ! USE Dictionary_M, ONLY : dictionary_t USE ErrCode_Mod USE Precision_Mod USE Registry_Mod, ONLY : MetaRegItem IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: Init_State_Grid PUBLIC :: Allocate_State_Grid PUBLIC :: Register_State_Grid PUBLIC :: Cleanup_State_Grid PUBLIC :: Lookup_Grid ! ! !PUBLIC DATA MEMBERS: ! !========================================================================= ! Derived type for Grid State !========================================================================= TYPE, PUBLIC :: GrdState !---------------------------------------------------------------------- ! General grid fields !---------------------------------------------------------------------- CHARACTER(LEN=255) :: GridRes ! Grid resolution REAL(fp) :: DX ! Delta X [deg longitude] REAL(fp) :: DY ! Delta Y [degs latitude] REAL(fp) :: XMin ! Minimum X value [deg longitude] REAL(fp) :: XMax ! Maximum X value [deg longitude] REAL(fp) :: YMin ! Minimum Y value [degs latitude] REAL(fp) :: YMax ! Maximum Y value [degs latitude] INTEGER :: NX ! # of grid boxes in X-direction INTEGER :: NY ! # of grid boxes in Y-direction INTEGER :: NZ ! # of grid boxes in Z-direction LOGICAL :: HalfPolar ! Use half-sized polar boxes? LOGICAL :: Center180 ! Is the Int'l Date Line a model ! midpoint (T) or edge (F)? LOGICAL :: NestedGrid ! Is it a nested grid sim? INTEGER :: NorthBuffer ! # buffer grid boxes on N edge INTEGER :: SouthBuffer ! # buffer grid boxes on S edge INTEGER :: EastBuffer ! # buffer grid boxes on E edge INTEGER :: WestBuffer ! # buffer grid boxes on W edge INTEGER :: GlobalNX ! NX on the global grid INTEGER :: GlobalNY ! NY on the global grid INTEGER :: NativeNZ ! NZ on the native-resolution grid INTEGER :: XMinOffset ! Min X offset from global grid INTEGER :: XMaxOffset ! Max X offset from global grid INTEGER :: YMinOffset ! Min Y offset from global grid INTEGER :: YMaxOffset ! Max Y offset from global grid REAL(f8), POINTER :: GlobalXMid (:,:) ! Lon centers on global grid [deg] REAL(f8), POINTER :: GlobalYMid (:,:) ! Lat centers on global grid [deg] REAL(f8), POINTER :: GlobalXEdge(:,:) ! Lon centers on global grid [deg] REAL(f8), POINTER :: GlobalYEdge(:,:) ! Lat centers on global grid [deg] REAL(f8), POINTER :: XMid (:,:) ! Lon centers [degrees] REAL(f8), POINTER :: XEdge (:,:) ! Lon edges [degrees] REAL(f8), POINTER :: YMid (:,:) ! Lat centers [degrees] REAL(f8), POINTER :: YEdge (:,:) ! Lat edges [degrees] REAL(f8), POINTER :: YMid_R (:,:) ! Lat centers [radians] REAL(f8), POINTER :: YEdge_R (:,:) ! Lat edges [radians] REAL(f8), POINTER :: YSIN (:,:) ! SIN( lat edges ) REAL(f8), POINTER :: Area_M2 (:,:) ! Grid box area [m2] !---------------------------------------------------------------------- ! Coordinate variables for GC-Classic History netCDF files !---------------------------------------------------------------------- REAL(f4), POINTER :: Area (:,:) ! Surface area (REAL*4) REAL(f8), POINTER :: HyAi (: ) ! Hybrid Ap at level interface REAL(f8), POINTER :: HyAm (: ) ! Hybrid Ap at level midpoint REAL(f8), POINTER :: HyBi (: ) ! Hybrid B at level interface REAL(f8), POINTER :: HyBm (: ) ! Hybrid B at level midpoint REAL(f8), POINTER :: ILev (: ) ! Level interface coordinate REAL(f8), POINTER :: Lat (: ) ! Latitude centers REAL(f8), POINTER :: LatBnd (:,:) ! CF-compliant lat bounds REAL(f8), POINTER :: LatE (: ) ! Latitude edges REAL(f8), POINTER :: Lev (: ) ! Level midpoint coordinate REAL(f8), POINTER :: Lon (: ) ! Longitude centers REAL(f8), POINTER :: LonBnd (:,:) ! Cf-compliant lon bounds REAL(f8), POINTER :: LonE (: ) ! Longitude edges REAL(f8) :: P0 ! Reference pressure (hPa) REAL(f8), POINTER :: Time (: ) ! Time #ifdef LUO_WETDEP !---------------------------------------------------------------------- ! Fields needed for the Luo et al wet deposition scheme !---------------------------------------------------------------------- REAL(fp), POINTER :: DXSN_M (:,:) ! Averange grid box width [m] ! at the S and N edges REAL(fp), POINTER :: DYWE_M (:,:) ! Averange grid box width [m] ! at the W and E edges #endif #if defined( MODEL_WRF ) || defined( MODEL_CESM ) !---------------------------------------------------------------------- ! Grid numbers for WRF and CESM, for each CPU to run multiple ! instances of GEOS-Chem. These numbers are unique-per-core (local). ! A pair of (Input_Opt%thisCPU, State_Grid%CPU_Subdomain_ID) is needed ! to uniquely identify a geographical region. !---------------------------------------------------------------------- ! Grid identifier number (local) ! WRF : domain number ! CESM : chunk number/lchnk INTEGER :: CPU_Subdomain_ID ! First grid identifier number (local) in this CPU INTEGER :: CPU_Subdomain_FirstID #endif #ifdef MODEL_GEOS !---------------------------------------------------------------------- ! NASA GEOS ESM-specific fields !---------------------------------------------------------------------- LOGICAL :: PredictorIsActive ! Are we in the predictor step? #endif !----------------------------------------------------------------------- ! Registry of variables contained within thje State_Grid object !----------------------------------------------------------------------- CHARACTER(LEN=4) :: State = 'GRID' ! Name of this state TYPE(MetaRegItem), POINTER :: Registry => NULL() ! Registry object TYPE(dictionary_t) :: RegDict ! Lookup table END TYPE GrdState ! ! !REMARKS: ! ! !REVISION HISTORY: ! 11 Nov 2018 - M. Sulprizio- Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_State_Grid ! ! !DESCRIPTION: Subroutine INIT\_STATE\_GRID initializes all fields of ! the Grid State derived type object. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_State_Grid( Input_Opt, State_Grid, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE Registry_Mod, ONLY : Registry_AddField USE Registry_Params_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(GrdState), INTENT(INOUT) :: State_Grid ! Obj for grid state ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Return code ! ! !REMARKS: ! ! !REVISION HISTORY: ! 11 Nov 2018 - M. Sulprizio- Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! Scalars INTEGER :: I, J, L ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc, Variable, Desc, Units !======================================================================== ! Init State_Grid begins here! !======================================================================== ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = & " -> at Init_State_Grid (located in Headers/state_grid_mod.F90)" !======================================================================== ! Zero scalar fields !======================================================================== State_Grid%GridRes = '' State_Grid%DX = 0e+0_fp State_Grid%DY = 0e+0_fp State_Grid%XMin = 0e+0_fp State_Grid%XMax = 0e+0_fp State_Grid%YMin = 0e+0_fp State_Grid%YMax = 0e+0_fp State_Grid%NX = 0 State_Grid%NY = 0 State_Grid%NZ = 0 State_Grid%HalfPolar = .FALSE. State_Grid%Center180 = .FALSE. State_Grid%NestedGrid = .FALSE. State_Grid%NorthBuffer = 0 State_Grid%SouthBuffer = 0 State_Grid%EastBuffer = 0 State_Grid%WestBuffer = 0 State_Grid%GlobalNX = 0 State_Grid%GlobalNY = 0 State_Grid%NativeNZ = 0 State_Grid%XMinOffset = 0 State_Grid%XMaxOffset = 0 State_Grid%YMinOffset = 0 State_Grid%YMaxOffset = 0 State_Grid%P0 = 1000.0_f8 ! reference pressure, hPa #if defined( MODEL_WRF ) || defined( MODEL_CESM ) State_Grid%CPU_Subdomain_ID = -1 State_Grid%CPU_Subdomain_FirstID = -1 #endif State_Grid%GridRes = '' State_Grid%DX = 0e+0_fp State_Grid%DY = 0e+0_fp State_Grid%XMin = 0e+0_fp State_Grid%XMax = 0e+0_fp State_Grid%YMin = 0e+0_fp State_Grid%YMax = 0e+0_fp State_Grid%NX = 0 State_Grid%NY = 0 State_Grid%NZ = 0 State_Grid%HalfPolar = .FALSE. State_Grid%Center180 = .FALSE. State_Grid%NestedGrid = .FALSE. State_Grid%NorthBuffer = 0 State_Grid%SouthBuffer = 0 State_Grid%EastBuffer = 0 State_Grid%WestBuffer = 0 !---------------------------------------- ! Grid fields computed in gc_grid_mod.F90 !---------------------------------------- State_Grid%GlobalNX = 0 State_Grid%GlobalNY = 0 State_Grid%NativeNZ = 0 State_Grid%XMinOffset = 0 State_Grid%XMaxOffset = 0 State_Grid%YMinOffset = 0 State_Grid%YMaxOffset = 0 !--------------------------------------------------------------- ! Nullify all fields for safety's sake before allocating them !--------------------------------------------------------------- State_Grid%GlobalXMid => NULL() State_Grid%GlobalYMid => NULL() State_Grid%GlobalXEdge => NULL() State_Grid%GlobalYEdge => NULL() State_Grid%XMid => NULL() State_Grid%XEdge => NULL() State_Grid%YMid => NULL() State_Grid%YEdge => NULL() State_Grid%YMid_R => NULL() State_Grid%YEdge_R => NULL() State_Grid%YSIN => NULL() State_Grid%Area_M2 => NULL() #ifdef LUO_WETDEP State_Grid%DXSN_M => NULL() State_Grid%DYWE_M => NULL() #endif #if defined( MODEL_GEOS ) State_Grid%PredictorIsActive = .FALSE. #endif !======================================================================== ! Nullify pointer array fields !======================================================================== State_Grid%GlobalXMid => NULL() State_Grid%GlobalYMid => NULL() State_Grid%GlobalXEdge => NULL() State_Grid%GlobalYEdge => NULL() State_Grid%XMid => NULL() State_Grid%XEdge => NULL() State_Grid%YMid => NULL() State_Grid%YEdge => NULL() State_Grid%YMid_R => NULL() State_Grid%YEdge_R => NULL() State_Grid%YSIN => NULL() State_Grid%Area_M2 => NULL() State_Grid%Area => NULL() State_Grid%Time => NULL() State_Grid%HyAm => NULL() State_Grid%HyBm => NULL() State_Grid%Lev => NULL() State_Grid%HyAi => NULL() State_Grid%HyBi => NULL() State_Grid%ILev => NULL() State_Grid%Lat => NULL() State_Grid%LatE => NULL() State_Grid%LatBnd => NULL() State_Grid%Lon => NULL() State_Grid%LonE => NULL() State_Grid%LonBnd => NULL() #ifdef LUO_WETDEP State_Grid%DXSN_M => NULL() State_Grid%DYWE_M => NULL() #endif END SUBROUTINE Init_State_Grid !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Allocate_State_Grid ! ! !DESCRIPTION: Subroutine ALLOCATE\_STATE\_GRID initializes variables and ! allocates module arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Allocate_State_Grid( Input_Opt, State_Grid, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(GrdState), INTENT(INOUT) :: State_Grid ! Grid State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! State_Grid fields are allocated here. They will be registered ! separately after the call to COMPUTE_GRID. ! ! !REVISION HISTORY: ! 10 Mar 2019 - M. Sulprizio- Initial version, based on Init_Grid formerly in ! gc_grid_mod.F90 ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: AS !====================================================================== ! Allocate_State_Grid begins here! !====================================================================== ! Assume success RC = GC_SUCCESS !====================================================================== ! Allocate general grid fields ! ! NOTE: State_Grid%GlobalXMid and State_Grid%GlobalYMid are allocated ! in gc_grid_mod.F90 after computing State_Grid%GlobalNX and ! State_Grid%GlobalNY !====================================================================== ALLOCATE( State_Grid%Area_M2( State_Grid%NX, State_Grid%NY ), STAT=RC ) CALL GC_CheckVar( 'State_Grid%Area_M2', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%Area_M2 = 0.0_f8 ALLOCATE( State_Grid%XEdge( State_Grid%NX+1, State_Grid%NY ), STAT=RC ) CALL GC_CheckVar( 'State_Grid%XEdge', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%XEdge = 0.0_f8 ALLOCATE( State_Grid%XMid( State_Grid%NX, State_Grid%NY ), STAT=RC ) CALL GC_CheckVar( 'State_Grid%XMid', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%XMid = 0.0_f8 ALLOCATE( State_Grid%YEdge( State_Grid%NX, State_Grid%NY+1 ), STAT=RC ) CALL GC_CheckVar( 'State_Grid%YEdge', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%YEdge = 0.0_f8 ALLOCATE( State_Grid%YEdge_R( State_Grid%NX, State_Grid%NY+1 ), STAT=RC ) CALL GC_CheckVar( 'State_Grid%YEdge_R', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%YEdge_R = 0.0_f8 ALLOCATE( State_Grid%YMid( State_Grid%NX, State_Grid%NY ), STAT=RC ) CALL GC_CheckVar( 'State_Grid%YMid', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%YMid = 0.0_f8 ALLOCATE( State_Grid%YMid_R( State_Grid%NX, State_Grid%NY ), STAT=RC ) CALL GC_CheckVar( 'State_Grid%YMid_R', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%YMid_R = 0.0_f8 ALLOCATE( State_Grid%YSIN( State_Grid%NX, State_Grid%NY+1 ), STAT=RC ) CALL GC_CheckVar( 'State_Grid%YSIN', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%YSIN = 0.0_f8 #if !defined( MODEL_GCHPCTM ) && !defined( MODEL_GEOS ) !======================================================================== ! Allocate coordinate variables for GC-Classic History diagnostics !======================================================================== ALLOCATE( State_Grid%Area( State_Grid%NX, State_Grid%NY ), STAT=RC ) CALL GC_CheckVar( 'State_Grid%Area_M2', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%Area_M2 = 0.0_f4 ALLOCATE( State_Grid%HyAi( State_Grid%NZ+1 ), STAT=RC ) CALL GC_CheckVar( 'State_Grid%HyAi', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%HyAi = 0.0_f8 ALLOCATE( State_Grid%HyAm( State_Grid%NZ ), STAT=RC ) CALL GC_CheckVar( 'State_Grid%HyAm', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%HyAm = 0.0_f8 ALLOCATE( State_Grid%HyBi( State_Grid%NZ+1 ), STAT=RC ) CALL GC_CheckVar( 'State_Grid%HyBi', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%HyBi = 0.0_f8 ALLOCATE( State_Grid%HyBm( State_Grid%NZ ), STAT=RC ) CALL GC_CheckVar( 'State_Grid%HyBm', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%HyBm = 0.0_f8 ALLOCATE( State_Grid%ILev( State_Grid%NZ+1 ), STAT=RC ) CALL GC_CheckVar( 'State_Grid%ILev', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%ILev = 0.0_f8 ALLOCATE( State_Grid%Lat( State_Grid%NY ), STAT=RC ) CALL GC_CheckVar( 'State_Grid%Lat', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%Lat = 0.0_f8 ALLOCATE( State_Grid%LatBnd( 2, State_Grid%NY ), STAT=RC ) CALL GC_CheckVar( 'State_Grid%LatBnd', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%LatBnd = 0.0_f8 ALLOCATE( State_Grid%LatE( State_Grid%NY+1 ), STAT=RC ) CALL GC_CheckVar( 'State_Grid%LatE', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%LatE = 0.0_f8 ALLOCATE( State_Grid%Lev( State_Grid%NZ ), STAT=RC ) CALL GC_CheckVar( 'State_Grid%Lev', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%Lev = 0.0_f8 ALLOCATE( State_Grid%Lon( State_Grid%NX ), STAT=RC ) CALL GC_CheckVar( 'State_Grid%Lon', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%Lon = 0.0_f8 ALLOCATE( State_Grid%LonBnd( 2, State_Grid%NX ), STAT=RC ) CALL GC_CheckVar( 'State_Grid%LonBnd', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%LonBnd = 0.0_f8 ALLOCATE( State_Grid%LonE( State_Grid%NX+1 ), STAT=RC ) CALL GC_CheckVar( 'State_Grid%LonE', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%LonE = 0.0_f8 ALLOCATE( State_Grid%Time( 1 ), STAT=RC ) CALL GC_CheckVar( 'State_Grid%Time', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%Area_M2 = 0.0_f4 #endif #ifdef LUO_WETDEP !======================================================================== ! Allocate grid arrays for Luo et al wetdep !======================================================================== ALLOCATE( State_Grid%DXSN_M( State_Grid%NX, State_Grid%NY ), STAT=RC ) CALL GC_CheckVar( 'State_Grid%DXSN_M', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%DXSN_M = 0e+0_fp ALLOCATE( State_Grid%DYWE_M( State_Grid%NX, State_Grid%NY ), STAT=RC ) CALL GC_CheckVar( 'State_Grid%DYWE_M', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%DYWE_M = 0e+0_fp #endif END SUBROUTINE Allocate_State_Grid !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Register_State_Grid ! ! !DESCRIPTION: Allocates and registers all module variables, which hold ! horizontal and vertical grid information. This will be used for netCDF ! metadata in the History component !\\ !\\ ! !INTERFACE: ! SUBROUTINE Register_State_Grid( Input_Opt, State_Grid, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE Registry_Mod USE Registry_Params_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object ! ! INPUT/OUTPUT PARAMETERS: ! TYPE(GrdState), INTENT(INOUT) :: State_Grid ! Grid State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: errMsg, thisLoc !======================================================================== ! Register_State_Grid begins here! !======================================================================== ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = & ' -> at Register_State_Grid (located in Headers/state_grid_mod.F90)' !======================================================================== ! Register general grid fields ! ! NOTE The GlobalXEdge, GlobalXMid, GlobalYEdge, and GlobalYGrid fields ! are allocated in GC_Grid_Mod, which only gets called for GC-CLassic. !======================================================================== !--------------------------- ! State_Grid%Area_M2 !--------------------------- CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Grid%Registry, & State = State_Grid%State, & Variable = 'AREAM2', & Description = 'Surface area', & Units = 'm2', & Output_KindVal = KINDVAL_F8, & DimNames = 'xy', & Data2d_8 = State_Grid%Area_M2, & RC = RC ) CALL GC_CheckVar( 'State_Grid%Area_M2', 1, RC ) IF ( RC /= GC_SUCCESS ) RETURN #if !defined( MODEL_GCHPCTM ) && !defined( MODEL_GEOS ) !--------------------------- ! State_Grid%GlobalXEdge !--------------------------- CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Grid%Registry, & State = State_Grid%State, & Variable = 'GLOBALXEDGE', & Description = 'Global longitude edges', & Units = 'degrees_east', & Output_KindVal = KINDVAL_F8, & DimNames = 'xy', & Data2d_8 = State_Grid%GlobalXEdge, & RC = RC ) CALL GC_CheckVar( 'State_Grid%GlobalXEdge', 1, RC ) IF ( RC /= GC_SUCCESS ) RETURN !--------------------------- ! State_Grid%GlobalXMid !--------------------------- CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Grid%Registry, & State = State_Grid%State, & Variable = 'GLOBALXMID', & Description = 'Global longitude centers', & Units = 'degrees_east', & Output_KindVal = KINDVAL_F8, & DimNames = 'xy', & Data2d_8 = State_Grid%GlobalXMid, & RC = RC ) CALL GC_CheckVar( 'State_Grid%GlobalXMid', 1, RC ) IF ( RC /= GC_SUCCESS ) RETURN !--------------------------- ! State_Grid%GlobalYEdge !--------------------------- CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Grid%Registry, & State = State_Grid%State, & Variable = 'GLOBALYEDGE', & Description = 'Global latitude edges', & Units = 'degrees_north', & Output_KindVal = KINDVAL_F8, & DimNames = 'xy', & Data2d_8 = State_Grid%GlobalYEdge, & RC = RC ) CALL GC_CheckVar( 'State_Grid%GlobalYEdge', 1, RC ) IF ( RC /= GC_SUCCESS ) RETURN !--------------------------- ! State_Grid%GlobalYMid !--------------------------- CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Grid%Registry, & State = State_Grid%State, & Variable = 'GLOBALYMID', & Description = 'Global latitude centers', & Units = 'degrees_north', & Output_KindVal = KINDVAL_F8, & DimNames = 'xy', & Data2d_8 = State_Grid%GlobalYMid, & RC = RC ) CALL GC_CheckVar( 'State_Grid%GlobalYMid', 1, RC ) IF ( RC /= GC_SUCCESS ) RETURN #endif !--------------------------- ! State_Grid%XEdge !--------------------------- CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Grid%Registry, & State = State_Grid%State, & Variable = 'XEDGE', & Description = 'Longitude edges', & Units = 'degrees_east', & Output_KindVal = KINDVAL_F8, & DimNames = 'xy', & Data2d_8 = State_Grid%XEdge, & RC = RC ) CALL GC_CheckVar( 'State_Grid%XEdge', 1, RC ) IF ( RC /= GC_SUCCESS ) RETURN !--------------------------- ! State_Grid%XMid !--------------------------- CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Grid%Registry, & State = State_Grid%State, & Variable = 'XMID', & Description = 'Longitude centers', & Units = 'degrees_east', & Output_KindVal = KINDVAL_F8, & DimNames = 'xy', & Data2d_8 = State_Grid%XMid, & RC = RC ) CALL GC_CheckVar( 'State_Grid%XMid', 1, RC ) IF ( RC /= GC_SUCCESS ) RETURN !--------------------------- ! State_Grid%YEdge !--------------------------- CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Grid%Registry, & State = State_Grid%State, & Variable = 'YEDGE', & Description = 'Latitude edges', & Units = 'degrees_north', & Output_KindVal = KINDVAL_F8, & DimNames = 'xy', & Data2d_8 = State_Grid%YEdge, & RC = RC ) CALL GC_CheckVar( 'State_Grid%YEdge', 1, RC ) IF ( RC /= GC_SUCCESS ) RETURN !--------------------------- ! State_Grid%YEdge_R !--------------------------- CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Grid%Registry, & State = State_Grid%State, & Variable = 'YEDGER', & Description = 'Latitude edges', & Units = 'radians', & Output_KindVal = KINDVAL_F8, & DimNames = 'xy', & Data2d_8 = State_Grid%YEdge_R, & RC = RC ) CALL GC_CheckVar( 'State_Grid%YEdge_R', 1, RC ) IF ( RC /= GC_SUCCESS ) RETURN !--------------------------- ! State_Grid%YMid !--------------------------- CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Grid%Registry, & State = State_Grid%State, & Variable = 'YMID', & Description = 'Latitude centers', & Units = 'degrees_north', & Output_KindVal = KINDVAL_F8, & DimNames = 'xy', & Data2d_8 = State_Grid%YMid, & RC = RC ) CALL GC_CheckVar( 'State_Grid%YMid', 1, RC ) IF ( RC /= GC_SUCCESS ) RETURN !--------------------------- ! State_Grid%YMid_R !--------------------------- CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Grid%Registry, & State = State_Grid%State, & Variable = 'YMIDR', & Description = 'Latitude centers', & Units = 'radians', & Output_KindVal = KINDVAL_F8, & DimNames = 'xy', & Data2d_8 = State_Grid%YMid_R, & RC = RC ) CALL GC_CheckVar( 'State_Grid%YMid_R', 1, RC ) IF ( RC /= GC_SUCCESS ) RETURN !--------------------------- ! State_Grid%YSIN !--------------------------- CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Grid%Registry, & State = State_Grid%State, & Variable = 'YSIN', & Description = 'Sine of latitude edges', & Units = '1', & Output_KindVal = KINDVAL_F8, & DimNames = 'xy', & Data2d_8 = State_Grid%YSin, & RC = RC ) CALL GC_CheckVar( 'State_Grid%YSIN', 1, RC ) IF ( RC /= GC_SUCCESS ) RETURN #if !defined( MODEL_GCHPCTM ) && !defined( MODEL_GEOS ) !======================================================================== ! Register coordinate variables for GC-Classic History diagnostics ! (these may also be needed for WRF-GC) !======================================================================== !--------------------------- ! State_Grid%Area !--------------------------- CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Grid%Registry, & State = State_Grid%State, & Variable = 'AREA', & Description = 'Surface area', & Units = 'm2', & Output_KindVal = KINDVAL_F4, & DimNames = 'xy', & Data2d_4 = State_Grid%Area, & RC = RC ) CALL GC_CheckVar( 'State_Grid%Area', 1, RC ) IF ( RC /= GC_SUCCESS ) RETURN !--------------------------- ! State_Grid%HyAi !--------------------------- CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Grid%Registry, & State = State_Grid%State, & Variable = 'HYAI', & Description = 'hybrid A coefficient at layer interfaces', & Units = 'hPa', & Output_KindVal = KINDVAL_F8, & DimNames = 'z', & Data1d_8 = State_Grid%HyAi, & OnLevelEdges = .TRUE., & RC = RC ) CALL GC_CheckVar( 'State_Grid%HyAi', 1, RC ) IF ( RC /= GC_SUCCESS ) RETURN !--------------------------- ! State_Grid%HyAm !--------------------------- CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Grid%Registry, & State = State_Grid%State, & Variable = 'HYAM', & Description = 'hybrid A coefficient at layer midpoints', & Units = 'hPa', & Output_KindVal = KINDVAL_F8, & DimNames = 'z', & Data1d_8 = State_Grid%HyAm, & RC = RC ) CALL GC_CheckVar( 'State_Grid%HyAm', 1, RC ) IF ( RC /= GC_SUCCESS ) RETURN !--------------------------- ! State_Grid%HyBi !--------------------------- CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Grid%Registry, & State = State_Grid%State, & Variable = 'HYBI', & Description = 'hybrid B coefficient at layer interfaces', & Units = '1', & Output_KindVal = KINDVAL_F8, & DimNames = 'z', & Data1d_8 = State_Grid%HyBi, & OnLevelEdges = .TRUE., & RC = RC ) CALL GC_CheckVar( 'State_Grid%HyBi', 1, RC ) IF ( RC /= GC_SUCCESS ) RETURN !--------------------------- ! State_Grid%HyBm !--------------------------- CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Grid%Registry, & State = State_Grid%State, & Variable = 'HYBM', & Description = 'hybrid B coefficient at layer midpoints', & Units = '1', & Output_KindVal = KINDVAL_F8, & DimNames = 'z', & Data1d_8 = State_Grid%HyBm, & RC = RC ) CALL GC_CheckVar( 'State_Grid%HyBm', 1, RC ) IF ( RC /= GC_SUCCESS ) RETURN !--------------------------- ! State_Grid%ILev !--------------------------- CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Grid%Registry, & State = State_Grid%State, & Variable = 'ILEV', & Description = 'hybrid level at interfaces ((A/P0)+B)', & Units = 'level', & Output_KindVal = KINDVAL_F8, & DimNames = 'z', & OnLevelEdges = .TRUE., & Data1d_8 = State_Grid%ILev, & RC = RC ) CALL GC_CheckVar( 'State_Grid%ILev', 1, RC ) IF ( RC /= GC_SUCCESS ) RETURN !--------------------------- ! State_Grid%Lat !--------------------------- CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Grid%Registry, & State = State_Grid%State, & Variable = 'LAT', & Description = 'Latitude', & Units = 'degrees_north', & Output_KindVal = KINDVAL_F8, & DimNames = 'y', & Data1d_8 = State_Grid%Lat, & RC = RC ) CALL GC_CheckVar( 'State_Grid%Lat', 1, RC ) IF ( RC /= GC_SUCCESS ) RETURN !--------------------------- ! State_Grid%LatBnd !--------------------------- CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Grid%Registry, & State = State_Grid%State, & Variable = 'LATBND', & Description = 'Latitude bounds (CF-compliant)', & Units = 'degrees_north', & Output_KindVal = KINDVAL_F8, & DimNames = 'by', & Data2d_8 = State_Grid%LatBnd, & RC = RC ) CALL GC_CheckVar( 'State_Grid%LatBnd', 1, RC ) IF ( RC /= GC_SUCCESS ) RETURN !--------------------------- ! State_Grid%LatE !--------------------------- CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Grid%Registry, & State = State_Grid%State, & Variable = 'LATE', & Description = 'Latitude edges', & Units = 'degrees_north', & Output_KindVal = KINDVAL_F8, & DimNames = 'y', & Data1d_8 = State_Grid%LatE, & RC = RC ) CALL GC_CheckVar( 'State_Grid%LatE', 1, RC ) IF ( RC /= GC_SUCCESS ) RETURN !--------------------------- ! State_Grid%Lev !--------------------------- CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Grid%Registry, & State = State_Grid%State, & Variable = 'LEV', & Description = 'hybrid level at midpoints ((A/P0)+B)', & Units = 'level', & Output_KindVal = KINDVAL_F8, & DimNames = 'z', & Data1d_8 = State_Grid%Lev, & RC = RC ) CALL GC_CheckVar( 'State_Grid%Lev', 1, RC ) IF ( RC /= GC_SUCCESS ) RETURN !--------------------------- ! State_Grid%Lon !--------------------------- CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Grid%Registry, & State = State_Grid%State, & Variable = 'LON', & Description = 'Longitude', & Units = 'degrees_east', & Output_KindVal = KINDVAL_F8, & DimNames = 'x', & Data1d_8 = State_Grid%Lon, & RC = RC ) CALL GC_CheckVar( 'State_Grid%Lat', 1, RC ) IF ( RC /= GC_SUCCESS ) RETURN !--------------------------- ! State_Grid%LonBnd !--------------------------- CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Grid%Registry, & State = State_Grid%State, & Variable = 'LONBND', & Description = 'Longitude bounds (CF-compliant)', & Units = 'degrees_east', & Output_KindVal = KINDVAL_F8, & DimNames = 'bx', & Data2d_8 = State_Grid%LonBnd, & RC = RC ) CALL GC_CheckVar( 'State_Grid%LonBnd', 1, RC ) IF ( RC /= GC_SUCCESS ) RETURN !--------------------------- ! State_Grid%LonE !--------------------------- CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Grid%Registry, & State = State_Grid%State, & Variable = 'LONE', & Description = 'Longitude edges', & Units = 'degrees_east', & Output_KindVal = KINDVAL_F8, & DimNames = 'x', & Data1d_8 = State_Grid%Lon, & RC = RC ) CALL GC_CheckVar( 'State_Grid%LatE', 1, RC ) IF ( RC /= GC_SUCCESS ) RETURN !--------------------------- ! State_Grid%P0 !--------------------------- CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Grid%Registry, & State = State_Grid%State, & Variable = 'P0', & Description = 'reference pressure', & Units = 'hPa', & Output_KindVal = KINDVAL_F8, & Data0d_8 = State_Grid%P0, & RC = RC ) CALL GC_CheckVar( 'State_Grid%P0', 1, RC ) IF ( RC /= GC_SUCCESS ) RETURN !--------------------------- ! State_Grid%Time !--------------------------- CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Grid%Registry, & State = State_Grid%State, & Variable = 'TIME', & Description = 'Time', & Units = 'minutes since YYYY-MM-DD hh:mm:ss', & Output_KindVal = KINDVAL_F8, & DimNames = 't', & Data1d_8 = State_Grid%Time, & RC = RC ) ! Allocate CALL GC_CheckVar( 'State_Grid%Time', 1, RC ) IF ( RC /= GC_SUCCESS ) RETURN #endif !======================================================================== ! Once we are done registering all fields, we need to define the ! registry lookup table. This algorithm will avoid hash collisions. !======================================================================== CALL Registry_Set_LookupTable( & Registry = State_Grid%Registry, & RegDict = State_Grid%RegDict, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in routine "Registry_Set_LookupTable"!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !======================================================================== ! Print list of fields !======================================================================== CALL Print_Grid( Input_Opt, State_Grid, RC, ShortFormat=.TRUE. ) ! Write spacer line for log file WRITE( 6, '(a)' ) END SUBROUTINE Register_State_Grid !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Cleanup_State_Grid ! ! !DESCRIPTION: Subroutine CLEANUP\_STATE\_GRID deallocates all fields ! of the grid state object. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Cleanup_State_Grid( State_Grid, RC ) ! ! USES: ! USE Registry_Mod, ONLY : Registry_Destroy ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(GrdState), INTENT(INOUT) :: State_Grid ! Obj for grid state ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Return code ! ! !REVISION HISTORY: ! 11 Nov 2018 - M. Sulprizio- Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: errMsg, thisLoc !======================================================================== ! Cleanup_State_Grid begins here! !======================================================================== ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = & ' -> at Cleanup_State_Grid (located in Headers/state_grid_mod.F90)' !======================================================================== ! Deallocate general grid fields !======================================================================== IF ( ASSOCIATED( State_Grid%GlobalXMid ) ) THEN DEALLOCATE( State_Grid%GlobalXMid, STAT=RC ) CALL GC_CheckVar( 'State_Grid%GlobalXMid', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%GlobalXMid => NULL() ENDIF IF ( ASSOCIATED( State_Grid%GlobalYMid ) ) THEN DEALLOCATE( State_Grid%GlobalYMid, STAT=RC ) CALL GC_CheckVar( 'State_Grid%GlobalYMid', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%GlobalYMid => NULL() ENDIF IF ( ASSOCIATED( State_Grid%GlobalXEdge ) ) THEN DEALLOCATE( State_Grid%GlobalXEdge, STAT=RC ) CALL GC_CheckVar( 'State_Grid%GlobalXEdge', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%GlobalXEdge => NULL() ENDIF IF ( ASSOCIATED( State_Grid%GlobalYEdge ) ) THEN DEALLOCATE( State_Grid%GlobalYEdge, STAT=RC ) CALL GC_CheckVar( 'State_Grid%GlobalYEdge', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%GlobalYEdge => NULL() ENDIF IF ( ASSOCIATED( State_Grid%XMid ) ) THEN DEALLOCATE( State_Grid%XMid, STAT=RC ) CALL GC_CheckVar( 'State_Grid%XMid', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%XMid => NULL() ENDIF IF ( ASSOCIATED( State_Grid%XEdge ) ) THEN DEALLOCATE( State_Grid%XEdge, STAT=RC ) CALL GC_CheckVar( 'State_Grid%XEdge', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%XEdge => NULL() ENDIF IF ( ASSOCIATED( State_Grid%YMid ) ) THEN DEALLOCATE( State_Grid%YMid, STAT=RC ) CALL GC_CheckVar( 'State_Grid%XMid', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%XMid => NULL() ENDIF IF ( ASSOCIATED( State_Grid%YEdge ) ) THEN DEALLOCATE( State_Grid%YEdge, STAT=RC ) CALL GC_CheckVar( 'State_Grid%YEdge', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%YEdge => NULL() ENDIF IF ( ASSOCIATED( State_Grid%YMid_R ) ) THEN DEALLOCATE( State_Grid%Ymid_R, STAT=RC ) CALL GC_CheckVar( 'State_Grid%YMid_R', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%YMid_R => NULL() ENDIF IF ( ASSOCIATED( State_Grid%YEdge_R ) ) THEN DEALLOCATE( State_Grid%YEdge_R, STAT=RC ) CALL GC_CheckVar( 'State_Grid%YEdge_R', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%YEdge_R => NULL() ENDIF IF ( ASSOCIATED( State_Grid%YSIN ) ) THEN DEALLOCATE( State_Grid%YSIN, STAT=RC ) CALL GC_CheckVar( 'State_Grid%YSIN', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%YSIN => NULL() ENDIF IF ( ASSOCIATED( State_Grid%Area_M2 ) ) THEN DEALLOCATE( State_Grid%Area_M2, STAT=RC ) CALL GC_CheckVar( 'State_Grid %Area_M2', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%Area_M2 => NULL() ENDIF #if !defined( MODEL_GCHPCTM ) && !defined( MODEL_GEOS ) !======================================================================== ! Deallocate coordinate variables for GC-Classic History diagnostics ! (These fields may also be needed for WRF-GC) !======================================================================== IF ( ASSOCIATED( State_Grid%Area ) ) THEN DEALLOCATE( State_Grid%Area, STAT=RC ) CALL GC_CheckVar( 'State_Grid%Area_M2', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%Area_M2 => NULL() ENDIF IF ( ASSOCIATED( State_Grid%HyAi ) ) THEN DEALLOCATE( State_Grid%HyAi, STAT=RC ) CALL GC_CheckVar( 'State_Grid%HyAi', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%HyAi => NULL() ENDIF IF ( ASSOCIATED( State_Grid%HyAm ) ) THEN DEALLOCATE( State_Grid%HyAm, STAT=RC ) CALL GC_CheckVar( 'State_Grid%HyAm', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%HyAm => NULL() ENDIF IF ( ASSOCIATED( State_Grid%HyBi ) ) THEN DEALLOCATE( State_Grid%HyBi, STAT=RC ) CALL GC_CheckVar( 'State_Grid%HyBi', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%HyBi => NULL() ENDIF IF ( ASSOCIATED( State_Grid%HyBm ) ) THEN DEALLOCATE( State_Grid%HyBm, STAT=RC ) CALL GC_CheckVar( 'State_Grid%HyBm', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%HyBm => NULL() ENDIF IF ( ASSOCIATED( State_Grid%ILev ) ) THEN DEALLOCATE( State_Grid%ILev, STAT=RC ) CALL GC_CheckVar( 'State_Grid%ILev', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%ILev => NULL() ENDIF IF ( ASSOCIATED( State_Grid%Lat ) ) THEN DEALLOCATE( State_Grid%Lat, STAT=RC ) CALL GC_CheckVar( 'State_Grid%Lat', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%Lat => NULL() ENDIF IF ( ASSOCIATED( State_Grid%LatBnd ) ) THEN DEALLOCATE( State_Grid%LatBnd, STAT=RC ) CALL GC_CheckVar( 'State_Grid%LatBnd', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%LatBnd => NULL() ENDIF IF ( ASSOCIATED( State_Grid%LatE ) ) THEN DEALLOCATE( State_Grid%LatE, STAT=RC ) CALL GC_CheckVar( 'State_Grid%LatE', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%LatE => NULL() ENDIF IF ( ASSOCIATED( State_Grid%Lev ) ) THEN DEALLOCATE( State_Grid%Lev, STAT=RC ) CALL GC_CheckVar( 'State_Grid%Lev', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%Lev => NULL() ENDIF IF ( ASSOCIATED( State_Grid%Lon ) ) THEN DEALLOCATE( State_Grid%Lon, STAT=RC ) CALL GC_CheckVar( 'State_Grid%Lon', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%Lon => NULL() ENDIF IF ( ASSOCIATED( State_Grid%LonBnd ) ) THEN DEALLOCATE( State_Grid%LonBnd, STAT=RC ) CALL GC_CheckVar( 'State_Grid%LonBnd', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%LonBnd => NULL() ENDIF IF ( ASSOCIATED( State_Grid%LonE ) ) THEN DEALLOCATE( State_Grid%LonE, STAT=RC ) CALL GC_CheckVar( 'State_Grid%LonE', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%LonE => NULL() ENDIF IF ( ASSOCIATED( State_Grid%Time ) ) THEN DEALLOCATE( State_Grid%Time, STAT=RC ) CALL GC_CheckVar( 'State_Grid%Time', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%Area_M2 => NULL() ENDIF #endif #ifdef LUO_WETDEP !======================================================================== ! Deallocate grid fields for Luo et al wetdep !======================================================================== IF ( ASSOCIATED( State_Grid%DXSN_M ) ) THEN DEALLOCATE( State_Grid%DXSN_M, STAT=RC ) CALL GC_CheckVar( 'State_Grid%DXSN_M', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%DXSN_M => NULL() ENDIF IF ( ASSOCIATED( State_Grid%DYWE_M ) ) THEN DEALLOCATE( State_Grid%DYWE_M, STAT=RC ) CALL GC_CheckVar( 'State_Grid%DYWE_M', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Grid%DYWE_M => NULL() ENDIF #endif !======================================================================== ! Destroy the registry of fields for this module !======================================================================== CALL Registry_Destroy( State_Grid%Registry, State_Grid%RegDict, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not destroy registry object "Registry"!' CALL GC_Error( errMsg, RC, thisLoc ) State_Grid%Registry => NULL() RETURN ENDIF END SUBROUTINE Cleanup_State_Grid !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Print_Grid ! ! !DESCRIPTION: Print information about all the registered variables ! contained within the gc\_grid\_mod.F90 module. This is basically a wrapper ! for routine REGISTRY\_PRINT in registry\_mod.F90. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Print_Grid( Input_Opt, State_Grid, RC, ShortFormat ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE Registry_Mod, ONLY : Registry_Print ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object LOGICAL, OPTIONAL :: ShortFormat ! Print truncated info ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success/failure? ! ! !REVISION HISTORY: ! 23 Aug 2017 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES ! CHARACTER(LEN=255) :: ErrMsg, ThisLoc !======================================================================== ! Initialize !======================================================================== RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Print_GC_Grid (in GeosUtil/grid_registry_mod.F90)' ! Only print information on the root CPU IF ( .not. Input_Opt%amIRoot ) RETURN !======================================================================== ! Print info about registered variables !======================================================================== IF ( Input_Opt%amIRoot .and. Input_Opt%Verbose ) THEN ! Header line WRITE( 6, 10 ) 10 FORMAT( /, & 'Registered variables contained within the State_Grid object:' ) WRITE( 6, '(a)' ) REPEAT( '=', 79 ) ! Print registry info in truncated format CALL Registry_Print( Input_Opt = Input_Opt, & Registry = State_Grid%Registry, & ShortFormat = ShortFormat, & RC = RC ) ! Trap error IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in routine "Registry_Print"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF END SUBROUTINE Print_Grid !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Lookup_Grid ! ! !DESCRIPTION: Return metadata and/or a pointer to the data for any ! variable contained within the GRID registry by searching for its name. ! This is basically a wrapper for routine REGISTRY\_LOOKUP in ! registry\_mod.F90. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Lookup_Grid( Input_Opt, State_Grid, Variable, & RC, Description, Dimensions, & Source_KindVal, Output_KindVal, MemoryInKb, & Rank, Units, OnLevelEdges, & Ptr0d_8, Ptr1d_8, Ptr2d_4, & Ptr2d_8 ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE Registry_Mod, ONLY : Registry_Lookup ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object CHARACTER(LEN=*), INTENT(IN) :: Variable ! Variable name ! ! !OUTPUT PARAMETERS: ! ! Required outputs INTEGER, INTENT(OUT) :: RC ! Success or failure? ! Optional outputs CHARACTER(LEN=255), OPTIONAL :: Description ! Description of data INTEGER, OPTIONAL :: Dimensions(3) ! Dimensions of data INTEGER, OPTIONAL :: Source_KindVal ! KIND value of data INTEGER, OPTIONAL :: Output_KindVal ! KIND value of data REAL(fp), OPTIONAL :: MemoryInKb ! Memory usage INTEGER, OPTIONAL :: Rank ! Size of data CHARACTER(LEN=255), OPTIONAL :: Units ! Units of data LOGICAL, OPTIONAL :: OnLevelEdges ! =T if data is defined ! on vertical grid ! edges; =F if center ! Pointers to data REAL(f8), POINTER, OPTIONAL :: Ptr0d_8 ! 0D 8-byte data REAL(f8), POINTER, OPTIONAL :: Ptr1d_8(: ) ! 1D 8-byte data REAL(f4), POINTER, OPTIONAL :: Ptr2d_4(:,:) ! 2D 4-byte data REAL(f8), POINTER, OPTIONAL :: Ptr2d_8(:,:) ! 2D 8-byte data ! ! !REMARKS: ! We keep the StateName variable private to this module. Users only have ! to supply the name of each module variable. ! ! !REVISION HISTORY: ! 23 Aug 2017 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES ! ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc !======================================================================== ! Initialize !======================================================================== RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at Lookup_Grid (in GeosUtil/grid_registry_mod.F90)' !======================================================================== ! Look up a variable; Return metadata and/or a pointer to the data !======================================================================== CALL Registry_Lookup( am_I_Root = Input_Opt%amIRoot, & Registry = State_Grid%Registry, & RegDict = State_Grid%RegDict, & State = State_Grid%State, & Variable = Variable, & Description = Description, & Dimensions = Dimensions, & Source_KindVal = Source_KindVal, & Output_KindVal = Output_KindVal, & MemoryInKb = MemoryInKb, & Rank = Rank, & Units = Units, & OnLevelEdges = OnLevelEdges, & Ptr0d_8 = Ptr0d_8, & Ptr1d_8 = Ptr1d_8, & Ptr2d_8 = Ptr2d_8, & Ptr2d_4 = Ptr2d_4, & RC = RC ) ! Trap error IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not find variable "' // TRIM( Variable ) // & '" in the State_Grid registry!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF END SUBROUTINE Lookup_Grid !EOC END MODULE State_Grid_Mod ================================================ FILE: Headers/state_met_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: state_met_mod.F90 ! ! !DESCRIPTION: Module STATE\_MET\_MOD contains the derived type ! used to define the Meteorology State object for GEOS-Chem. !\\ !\\ ! This module also contains the routines that allocate and deallocate memory ! to the Meteorology State object. The Meteorology State object is not ! defined in this module. It must be be declared as variable in the top-level ! driver routine, and then passed to lower-level routines as an argument. !\\ !\\ ! !INTERFACE: ! MODULE State_Met_Mod ! ! USES: ! USE Cmn_Size_Mod, ONLY : NSURFTYPE USE Dictionary_M, ONLY : dictionary_t USE ErrCode_Mod USE Precision_Mod USE Registry_Mod IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: Init_State_Met PUBLIC :: Cleanup_State_Met PUBLIC :: Get_Metadata_State_Met ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: Init_and_Register PRIVATE :: Register_MetField PRIVATE :: Zero_State_Met ! ! !PUBLIC DATA MEMBERS: ! !========================================================================= ! Derived type for Meteorology State !========================================================================= TYPE, PUBLIC :: MetState !---------------------------------------------------------------------- ! Surface fields !---------------------------------------------------------------------- REAL(fp), POINTER :: ALBD (:,: ) ! Visible surface albedo [1] REAL(fp), POINTER :: AREA_M2 (:,: ) ! Grid box surface area [m2] INTEGER, POINTER :: ChemGridLev (:,: ) ! Chemistry grid level REAL(fp), POINTER :: CLDFRC (:,: ) ! Column cloud fraction [1] INTEGER, POINTER :: CLDTOPS (:,: ) ! Max cloud top height [levels] REAL(fp), POINTER :: CONV_DEPTH (:,: ) ! Convective cloud depth [m] REAL(fp), POINTER :: EFLUX (:,: ) ! Latent heat flux [W/m2] REAL(fp), POINTER :: FLASH_DENS (:,: ) ! Lightning flash density [#/km2/s] REAL(fp), POINTER :: FRCLND (:,: ) ! Olson land fraction [1] REAL(fp), POINTER :: FRLAKE (:,: ) ! Fraction of lake in grid box [1] REAL(fp), POINTER :: FRLAND (:,: ) ! Fraction of land without lake or ! ice in grid box [1] REAL(fp), POINTER :: FRLANDICE (:,: ) ! Fraction of land ice in grid box [1] REAL(fp), POINTER :: FROCEAN (:,: ) ! Fraction of ocean in grid box [1] REAL(fp), POINTER :: FRSEAICE (:,: ) ! Fraction of ocean covered by sea ! ice [1] REAL(fp), POINTER :: FRSNOW (:,: ) ! Fraction of snow over land in ! grid box [1] REAL(fp), POINTER :: GWETROOT (:,: ) ! Root soil wetness [1] REAL(fp), POINTER :: GWETTOP (:,: ) ! Top soil moisture [1] REAL(fp), POINTER :: HFLUX (:,: ) ! Sensible heat flux [W/m2] LOGICAL, POINTER :: IsLand (:,: ) ! True if majority surface type is land, ! without snow or ice LOGICAL, POINTER :: IsWater (:,: ) ! True if majority surface type is water, ! including lake or ocean LOGICAL, POINTER :: IsIce (:,: ) ! True if majority surface type is ice, ! including over land or ocean LOGICAL, POINTER :: IsSnow (:,: ) ! True if majority surface type is snow, ! over land only REAL(fp), POINTER :: LAI (:,: ) ! Leaf area index [m2/m2] ! (online) REAL(fp), POINTER :: PARDR (:,: ) ! Direct photsynthetically ! active radiation [W/m2] REAL(fp), POINTER :: PARDF (:,: ) ! Diffuse photsynthetically ! active radiation [W/m2] REAL(fp), POINTER :: PBLH (:,: ) ! PBL height [m] REAL(fp), POINTER :: PBL_TOP_hPa (:,: ) ! PBL top [hPa] REAL(fp), POINTER :: PBL_TOP_L (:,: ) ! PBL top [level] REAL(fp), POINTER :: PBL_TOP_m (:,: ) ! PBL top [m] REAL(fp), POINTER :: PBL_THICK (:,: ) ! PBL thickness [hPa] REAL(fp), POINTER :: PHIS (:,: ) ! Surface geopotential height ! [m2/s2] REAL(fp), POINTER :: PRECANV (:,: ) ! Anvil previp @ ground ! [kg/m2/s] -> [mm/day] REAL(fp), POINTER :: PRECCON (:,: ) ! Conv precip @ ground ! [kg/m2/s] -> [mm/day] REAL(fp), POINTER :: PRECLSC (:,: ) ! Large-scale precip @ ground ! [kg/m2/s] -> [mm/day] REAL(fp), POINTER :: PRECTOT (:,: ) ! Total precip @ ground ! [kg/m2/s] -> [mm/day] REAL(fp), POINTER :: PS1_WET (:,: ) ! Wet surface pressure at ! start of timestep [hPa] REAL(fp), POINTER :: PS2_WET (:,: ) ! Wet surface pressure at ! end of timestep [hPa] REAL(fp), POINTER :: PSC2_WET (:,: ) ! Wet interpolated surface ! pressure [hPa] REAL(fp), POINTER :: PS1_DRY (:,: ) ! Dry surface pressure at ! start of timestep [hPa] REAL(fp), POINTER :: PS2_DRY (:,: ) ! Dry surface pressure at ! end of timestep [hPa] REAL(fp), POINTER :: PSC2_DRY (:,: ) ! Dry interpolated surface ! pressure [hPa] REAL(fp), POINTER :: QV2M (:,: ) ! Specific Humidity at 2m [kg/kg] REAL(fp), POINTER :: SEAICE00 (:,: ) ! Sea ice coverage 00-10% REAL(fp), POINTER :: SEAICE10 (:,: ) ! Sea ice coverage 10-20% REAL(fp), POINTER :: SEAICE20 (:,: ) ! Sea ice coverage 20-30% REAL(fp), POINTER :: SEAICE30 (:,: ) ! Sea ice coverage 30-40% REAL(fp), POINTER :: SEAICE40 (:,: ) ! Sea ice coverage 40-50% REAL(fp), POINTER :: SEAICE50 (:,: ) ! Sea ice coverage 50-60% REAL(fp), POINTER :: SEAICE60 (:,: ) ! Sea ice coverage 60-70% REAL(fp), POINTER :: SEAICE70 (:,: ) ! Sea ice coverage 70-80% REAL(fp), POINTER :: SEAICE80 (:,: ) ! Sea ice coverage 80-90% REAL(fp), POINTER :: SEAICE90 (:,: ) ! Sea ice coverage 90-100% REAL(fp), POINTER :: SLP (:,: ) ! Sea level pressure [hPa] REAL(fp), POINTER :: SNODP (:,: ) ! Snow depth [m] REAL(fp), POINTER :: SNOMAS (:,: ) ! Snow mass [kg/m2] REAL(fp), POINTER :: SUNCOS (:,: ) ! COS(solar zenith angle) at ! current time REAL(fp), POINTER :: SUNCOSmid (:,: ) ! COS(solar zenith angle) at ! midpoint of chem timestep REAL(fp), POINTER :: SUNCOSsum (:,: ) ! Sum of COS(SZA) for HEMCO OH ! diurnal variability REAL(fp), POINTER :: SZAFACT (:,: ) ! Diurnal scale factor for HEMCO OH ! diurnal variability (computed) [1] REAL(fp), POINTER :: SWGDN (:,: ) ! Incident radiation @ ground ! [W/m2] REAL(fp), POINTER :: TO3 (:,: ) ! Total overhead O3 column [DU] REAL(fp), POINTER :: TROPP (:,: ) ! Tropopause pressure [hPa] INTEGER, POINTER :: TropLev (:,: ) ! Tropopause level [1] REAL(fp), POINTER :: TropHt (:,: ) ! Tropopause height [km] REAL(fp), POINTER :: TS (:,: ) ! Surface temperature [K] REAL(fp), POINTER :: TSKIN (:,: ) ! Surface skin temperature [K] REAL(fp), POINTER :: TSOIL1 (:,: ) ! Soil temperature [K] REAL(fp), POINTER :: U10M (:,: ) ! E/W wind speed @ 10m ht [m/s] REAL(fp), POINTER :: USTAR (:,: ) ! Friction velocity [m/s] REAL(fp), POINTER :: UVALBEDO (:,: ) ! UV surface albedo [1] REAL(fp), POINTER :: V10M (:,: ) ! N/S wind speed @ 10m ht [m/s] REAL(fp), POINTER :: Z0 (:,: ) ! Surface roughness height [m] REAL(fp), POINTER :: CNV_FRC (:,: ) ! Convective fraction [1] !---------------------------------------------------------------------- ! 3-D Fields !---------------------------------------------------------------------- #ifdef LUO_WETDEP REAL(fp), POINTER :: KINC (:,:,:) ! Air refreshing rate [s-1] REAL(fp), POINTER :: WUP (:,:,:) ! TKE wind speed [m/s] REAL(fp), POINTER :: TKICE (:,:,:) ! Ice uptake rate [s-1] REAL(fp), POINTER :: NUMCD (:,:,:) ! Cloud Ice Number [cm-3] REAL(fp), POINTER :: ICESF (:,:,:) ! Cloud Ice Surface Area [cm2] REAL(fp), POINTER :: RADCD (:,:,:) ! Cloud Ice Radius [cm] #endif REAL(fp), POINTER :: CLDF (:,:,:) ! 3-D cloud fraction [1] REAL(fp), POINTER :: CMFMC (:,:,:) ! Cloud mass flux [kg/m2/s] REAL(fp), POINTER :: DQRCU (:,:,:) ! Conv precip production rate ! [kg/kg/s] (assume per ! dry air) REAL(fp), POINTER :: DQRLSAN (:,:,:) ! LS precip prod rate [kg/kg/s] ! (assume per dry air) REAL(fp), POINTER :: DTRAIN (:,:,:) ! Detrainment flux [kg/m2/s] REAL(fp), POINTER :: F_OF_PBL (:,:,:) ! Fraction of box within PBL [1] REAL(fp), POINTER :: F_UNDER_PBLTOP(:,:,:) ! Fraction of box under PBL top REAL(fp), POINTER :: OMEGA (:,:,:) ! Updraft velocity [Pa/s] REAL(fp), POINTER :: OPTD (:,:,:) ! Visible optical depth [1] REAL(fp), POINTER :: PEDGE (:,:,:) ! Wet air press @ level ! edges [hPa] REAL(fp), POINTER :: PFICU (:,:,:) ! Dwn flux ice prec:conv ! [kg/m2/s] REAL(fp), POINTER :: PFILSAN (:,:,:) ! Dwn flux ice prec:LS+anv ! [kg/m2/s] REAL(fp), POINTER :: PFLCU (:,:,:) ! Dwn flux liq prec:conv ! [kg/m2/s] REAL(fp), POINTER :: PFLLSAN (:,:,:) ! Dwn flux ice prec:LS+anv ! [kg/m2/s] REAL(fp), POINTER :: QI (:,:,:) ! Mass fraction of cloud ice water ! [kg/kg dry air] REAL(fp), POINTER :: QL (:,:,:) ! Mass fraction of cloud liquid water ! [kg/kg dry air] REAL(fp), POINTER :: REEVAPCN (:,:,:) ! Evap of precip conv [kg/kg/s] ! (assume per dry air) REAL(fp), POINTER :: REEVAPLS (:,:,:) ! Evap of precip LS+anvil ! [kg/kg/s] (assume per ! dry air) REAL(fp), POINTER :: RH (:,:,:) ! Relative humidity [%] REAL(fp), POINTER :: SPHU (:,:,:) ! Specific humidity ! [g H2O/kg tot air] REAL(fp), POINTER :: SPHU1 (:,:,:) ! Specific humidity at start ! of timestep [g/kg] REAL(fp), POINTER :: SPHU2 (:,:,:) ! Specific humidity at end ! of timestep [g/kg] REAL(fp), POINTER :: T (:,:,:) ! Temperature [K] REAL(fp), POINTER :: TAUCLI (:,:,:) ! Opt depth of ice clouds [1] REAL(fp), POINTER :: TAUCLW (:,:,:) ! Opt depth of H2O clouds [1] REAL(fp), POINTER :: TMPU1 (:,:,:) ! Temperature at start of ! timestep [K] REAL(fp), POINTER :: TMPU2 (:,:,:) ! Temperature at end of ! timestep [K] REAL(fp), POINTER :: U (:,:,:) ! E/W component of wind [m s-1] REAL(fp), POINTER :: UPDVVEL (:,:,:) ! Updraft vertical velocity ! [hPa/s] REAL(fp), POINTER :: V (:,:,:) ! N/S component of wind [m s-1] !---------------------------------------------------------------------- ! Air quantities assigned in AIRQNT !---------------------------------------------------------------------- ! Note on pressures: PMID is calculated from PEDGE, ! and dry air pressures assume constant RH and T across grid box REAL(fp), POINTER :: PEDGE_DRY (:,:,:) ! Dry air partial pressure ! @ level edges [hPa] REAL(fp), POINTER :: PMID (:,:,:) ! Average wet air pressure [hPa] ! defined as arithmetic ! average of edge pressures REAL(fp), POINTER :: PMID_DRY (:,:,:) ! Dry air partial pressure [hPa] ! defined as arithmetic avg ! of edge pressures REAL(fp), POINTER :: THETA (:,:,:) ! Potential temperature [K] REAL(fp), POINTER :: TV (:,:,:) ! Virtual temperature [K] REAL(fp), POINTER :: MAIRDEN (:,:,:) ! Moist air density [kg/m3] REAL(fp), POINTER :: AIRDEN (:,:,:) ! Dry air density [kg/m3] REAL(fp), POINTER :: AIRNUMDEN (:,:,:) ! Dry air density [molec/cm3] REAL(fp), POINTER :: AVGW (:,:,:) ! Water vapor volume mixing ! ratio [vol H2O/vol dry air] REAL(fp), POINTER :: BXHEIGHT (:,:,:) ! Grid box height [m] (dry air) REAL(fp), POINTER :: DELP (:,:,:) ! Delta-P (wet) across box [hPa] REAL(fp), POINTER :: DELP_DRY (:,:,:) ! Delta-P (dry) across box [hPa] REAL(fp), POINTER :: AD (:,:,:) ! Dry air mass [kg] in grid box REAL(fp), POINTER :: AIRVOL (:,:,:) ! Grid box volume [m3] (dry air) REAL(fp), POINTER :: DP_DRY_PREV (:,:,:) ! Previous State_Met%DELP_DRY REAL(fp), POINTER :: SPHU_PREV (:,:,:) ! Previous State_Met%SPHU !---------------------------------------------------------------------- ! Fields read in from a previous GC run !---------------------------------------------------------------------- REAL(fp), POINTER :: DynHeating (:,:,:) ! Dynamical heating (K/day) !---------------------------------------------------------------------- ! Offline land type, leaf area index, and chlorophyll fields !---------------------------------------------------------------------- INTEGER, POINTER :: IREG (:,: ) ! # of landtypes in box (I,J) INTEGER, POINTER :: ILAND (:,:,:) ! Land type at (I,J); ! 1..IREG(I,J) INTEGER, POINTER :: IUSE (:,:,:) ! Fraction (per mil) of box ! (I,J) occupied by each land ! type REAL(fp), POINTER :: MODISLAI (:,: ) ! Daily LAI computed from ! monthly offline MODIS [m2/m2] REAL(fp), POINTER :: XLAI (:,:,:) ! MODIS LAI per land type, ! for this month REAL(fp), POINTER :: LandTypeFrac (:,:,:) ! Olson frac per type (I,J,type) REAL(fp), POINTER :: XLAI_NATIVE (:,:,:) ! avg LAI per type (I,J,type) REAL(fp), POINTER :: XLAI2 (:,:,:) ! MODIS LAI per land type, ! for next month !---------------------------------------------------------------------- ! Fields for querying in which vertical regime a grid box is in ! or if a grid box is near local noon solar time !---------------------------------------------------------------------- LOGICAL, POINTER :: InChemGrid (:,:,:) ! Are we in the chemistry grid? LOGICAL, POINTER :: InPbl (:,:,:) ! Are we in the PBL? LOGICAL, POINTER :: InStratMeso (:,:,:) ! Are we in the stratosphere ! or mesosphere? LOGICAL, POINTER :: InStratosphere(:,:,:) ! Are we in the stratosphere? LOGICAL, POINTER :: InTroposphere (:,:,:) ! Are we in the troposphere? REAL(fp), POINTER :: LocalSolarTime(:,: ) ! Local solar time LOGICAL, POINTER :: IsLocalNoon (:,: ) ! Is it local noon (between 11 ! and 13 local solar time? INTEGER :: MaxStratLev ! Maximum extent of the strat INTEGER :: MaxChemLev ! Level at the top of the ! chemistry grid (1 hPa) !---------------------------------------------------------------------- ! Fields for wet scavenging module !---------------------------------------------------------------------- REAL(fp), POINTER :: C_H2O (:,:,:) ! Mix ratio of H2O [v/v] REAL(fp), POINTER :: CLDICE (:,:,:) ! Precipitable cloud ice mixing ! ratio [cm3 ice/cm3 air] REAL(fp), POINTER :: CLDLIQ (:,:,:) ! Precipitable cloud liquid H2O ! mixing ratio [cm3 H2O/cm3 air] REAL(fp), POINTER :: PDOWN (:,:,:) ! Precipitation thru the bottom ! of the grid box ! [cm3 H2O/cm2 area/s] REAL(fp), POINTER :: QQ (:,:,:) ! Rate of new precip formation ! [cm3 H2O/cm3 air/s] REAL(fp), POINTER :: REEVAP (:,:,:) ! Rate of precip reevaporation !---------------------------------------------------------------------- ! Fields for boundary layer mixing !---------------------------------------------------------------------- INTEGER :: PBL_MAX_L ! Max level where PBL top occurs !---------------------------------------------------------------------- ! Registry of variables contained within State_Met !---------------------------------------------------------------------- CHARACTER(LEN=3) :: State = 'MET' ! Name of this state TYPE(MetaRegItem), POINTER :: Registry => NULL() ! Registry object TYPE(dictionary_t) :: RegDict ! Reg. lookup table END TYPE MetState ! ! !REMARKS: ! In MERRA2, PS and SLP are kept in Pa (not converted to hPa). ! ! !REVISION HISTORY: ! 19 Oct 2012 - R. Yantosca - Initial version, split off from gc_type_mod.F90 ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !MODULE INTERFACES: ! INTERFACE Init_and_Register MODULE PROCEDURE Init_and_Register_R4_2D MODULE PROCEDURE Init_and_Register_R4_3D MODULE PROCEDURE Init_and_Register_R8_2D MODULE PROCEDURE Init_and_Register_R8_3D MODULE PROCEDURE Init_and_Register_Log_2D MODULE PROCEDURE Init_and_Register_Log_3D MODULE PROCEDURE Init_and_Register_Int_2D MODULE PROCEDURE Init_and_Register_Int_3D END INTERFACE Init_and_Register INTERFACE Register_MetField MODULE PROCEDURE Register_MetField_R4_2D MODULE PROCEDURE Register_MetField_R4_3D MODULE PROCEDURE Register_MetField_R8_2D MODULE PROCEDURE Register_MetField_R8_3D MODULE PROCEDURE Register_MetField_Int_2D MODULE PROCEDURE Register_MetField_Int_3D END INTERFACE Register_MetField CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Zero_State_Met ! ! !DESCRIPTION: Nullifies and/or zeroes all fields of State\_Met. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Zero_State_Met( State_Met, RC ) ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetState), INTENT(INOUT) :: State_Met ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! ! !REVISION HISTORY: ! 21 Sep 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! Initialize RC = GC_SUCCESS !======================================================================= ! Nullify all fields for safety's sake before allocating them ! This can prevent compilation errors caused by uninitialized values !======================================================================= State_Met%ALBD => NULL() State_Met%AREA_M2 => NULL() State_Met%ChemGridLev => NULL() State_Met%CLDFRC => NULL() State_Met%CLDTOPS => NULL() State_Met%CONV_DEPTH => NULL() State_Met%EFLUX => NULL() State_Met%FLASH_DENS => NULL() State_Met%FRCLND => NULL() State_Met%FRLAKE => NULL() State_Met%FRLAND => NULL() State_Met%FRLANDICE => NULL() State_Met%FROCEAN => NULL() State_Met%FRSEAICE => NULL() State_Met%FRSNOW => NULL() State_Met%GWETROOT => NULL() State_Met%GWETTOP => NULL() State_Met%HFLUX => NULL() State_Met%IsLand => NULL() State_Met%IsWater => NULL() State_Met%IsIce => NULL() State_Met%IsSnow => NULL() State_Met%LAI => NULL() State_Met%PARDR => NULL() State_Met%PARDF => NULL() State_Met%PBLH => NULL() State_Met%PBL_TOP_hPa => NULL() State_Met%PBL_TOP_L => NULL() State_Met%PBL_TOP_m => NULL() State_Met%PBL_THICK => NULL() State_Met%PHIS => NULL() State_Met%PRECANV => NULL() State_Met%PRECCON => NULL() State_Met%PRECLSC => NULL() State_Met%PRECTOT => NULL() State_Met%PS1_WET => NULL() State_Met%PS2_WET => NULL() State_Met%PSC2_WET => NULL() State_Met%PS1_DRY => NULL() State_Met%PS2_DRY => NULL() State_Met%PSC2_DRY => NULL() State_Met%QV2M => NULL() State_Met%SEAICE00 => NULL() State_Met%SEAICE10 => NULL() State_Met%SEAICE20 => NULL() State_Met%SEAICE30 => NULL() State_Met%SEAICE40 => NULL() State_Met%SEAICE50 => NULL() State_Met%SEAICE60 => NULL() State_Met%SEAICE70 => NULL() State_Met%SEAICE80 => NULL() State_Met%SEAICE90 => NULL() State_Met%SLP => NULL() State_Met%SNODP => NULL() State_Met%SNOMAS => NULL() State_Met%SUNCOS => NULL() State_Met%SUNCOSmid => NULL() State_Met%SUNCOSsum => NULL() State_Met%SZAFACT => NULL() State_Met%SWGDN => NULL() State_Met%TO3 => NULL() State_Met%TROPP => NULL() State_Met%TropLev => NULL() State_Met%TropHt => NULL() State_Met%TS => NULL() State_Met%TSKIN => NULL() State_Met%TSOIL1 => NULL() State_Met%U10M => NULL() State_Met%USTAR => NULL() State_Met%UVALBEDO => NULL() State_Met%V10M => NULL() State_Met%Z0 => NULL() State_Met%CNV_FRC => NULL() State_Met%CLDF => NULL() State_Met%CMFMC => NULL() State_Met%DQRCU => NULL() State_Met%DQRLSAN => NULL() State_Met%DTRAIN => NULL() State_Met%F_OF_PBL => NULL() State_Met%F_UNDER_PBLTOP => NULL() State_Met%OMEGA => NULL() State_Met%OPTD => NULL() State_Met%PEDGE => NULL() State_Met%PFICU => NULL() State_Met%PFILSAN => NULL() State_Met%PFLCU => NULL() State_Met%PFLLSAN => NULL() State_Met%QI => NULL() State_Met%QL => NULL() State_Met%REEVAPCN => NULL() State_Met%REEVAPLS => NULL() State_Met%RH => NULL() State_Met%SPHU => NULL() State_Met%SPHU1 => NULL() State_Met%SPHU2 => NULL() State_Met%T => NULL() State_Met%TAUCLI => NULL() State_Met%TAUCLW => NULL() State_Met%TMPU1 => NULL() State_Met%TMPU2 => NULL() State_Met%U => NULL() State_Met%UPDVVEL => NULL() State_Met%V => NULL() State_Met%PEDGE_DRY => NULL() State_Met%PMID => NULL() State_Met%PMID_DRY => NULL() State_Met%THETA => NULL() State_Met%TV => NULL() State_Met%MAIRDEN => NULL() State_Met%AIRDEN => NULL() State_Met%AIRNUMDEN => NULL() State_Met%AVGW => NULL() State_Met%BXHEIGHT => NULL() State_Met%DELP => NULL() State_Met%DELP_DRY => NULL() State_Met%AD => NULL() State_Met%AIRVOL => NULL() State_Met%DP_DRY_PREV => NULL() State_Met%SPHU_PREV => NULL() State_Met%DynHeating => NULL() State_Met%IREG => NULL() State_Met%ILAND => NULL() State_Met%IUSE => NULL() State_Met%MODISLAI => NULL() State_Met%XLAI => NULL() State_Met%LandTypeFrac => NULL() State_Met%XLAI_NATIVE => NULL() State_Met%XLAI2 => NULL() State_Met%InChemGrid => NULL() State_Met%InPbl => NULL() State_Met%InStratMeso => NULL() State_Met%InStratosphere => NULL() State_Met%InTroposphere => NULL() State_Met%LocalSolarTime => NULL() State_Met%IsLocalNoon => NULL() State_Met%C_H2O => NULL() State_Met%CLDICE => NULL() State_Met%CLDLIQ => NULL() State_Met%PDOWN => NULL() State_Met%QQ => NULL() State_Met%REEVAP => NULL() State_Met%REEVAP => NULL() State_Met%PBL_MAX_L = 0 #ifdef LUO_WETDEP State_Met%KINC => NULL() State_Met%WUP => NULL() State_Met%TKICE => NULL() State_Met%NUMCD => NULL() State_Met%ICESF => NULL() State_Met%RADCD => NULL() #endif State_Met%MaxChemLev = 0 State_Met%MaxStratLev = 0 END SUBROUTINE Zero_State_Met !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_State_Met ! ! !DESCRIPTION: Subroutine INIT\_STATE\_MET allocates all fields of ! the meteorology state object. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_State_Met( Input_Opt, State_Grid, State_Met, RC ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetState), INTENT(INOUT) :: State_Met ! Obj for meteorology state ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Return code ! ! !REMARKS: ! For consistency, maybe this should be moved to a different module. ! ! !REVISION HISTORY: ! 19 Oct 2012 - R. Yantosca - Initial version, based on gc_environment_mod.F90 ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: errMsg_ir, thisLoc, metId CHARACTER(LEN=512) :: errMsg !======================================================================= ! Initialize !======================================================================= RC = GC_SUCCESS errMsg = '' errMsg_ir = 'Error encountered in "Init_and_Register", metId = ' thisLoc = & ' -> at Init_State_Met (in module Headers/state_met_mod.F90)' ! Nullify or zero all State_Met variables CALL Zero_State_Met( State_Met, RC ) !======================================================================== ! Exit if this is a dry-run simulation !======================================================================== IF ( Input_Opt%DryRun ) THEN RC = GC_SUCCESS RETURN ENDIF !======================================================================== ! Allocate 2-D Fields !======================================================================== !------------------------------------------------------------------------ ! ALBD [1] !------------------------------------------------------------------------ metId = 'ALBD' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%ALBD, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! AREA_M2 [m2] !------------------------------------------------------------------------ metId = 'AREAM2' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%AREA_M2, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! ChemGridLev [1] !------------------------------------------------------------------------ metId = 'ChemGridLev' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%ChemGridLev, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! CLDFRC [1] !------------------------------------------------------------------------ metId = 'CLDFRC' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%CLDFRC, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! CLDTOPS [level] !------------------------------------------------------------------------ metId = 'CLDTOPS' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%CLDTOPS, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF #ifdef MODEL_GEOS !------------------------------------------------------------------------ ! CNV_FRC [1] ! Convective fractions are not yet a standard GEOS-FP ! field. Only available to online model (ckeller, 3/4/16) !------------------------------------------------------------------------ metId = 'CNVFRC' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%CNV_FRC, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF #endif !------------------------------------------------------------------------ ! Convective Depth [m] !------------------------------------------------------------------------ metId = 'CONVDEPTH' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%CONV_DEPTH, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! EFLUX [W m-2] !------------------------------------------------------------------------ metId = 'EFLUX' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%EFLUX, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !--------------------------------------------------------------------- ! Lightning density [#/km2/s] !--------------------------------------------------------------------- metId = 'FLASHDENS' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%FLASH_DENS, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! FRCLND [1] !------------------------------------------------------------------------ metId = 'FRCLND' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%FRCLND, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! FRLAKE [1] !------------------------------------------------------------------------ metId = 'FRLAKE' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%FRLAKE, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! FRLAND [1] !------------------------------------------------------------------------ metId = 'FRLAND' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%FRLAND, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! FRLANDICE [1] !------------------------------------------------------------------------ metId = 'FRLANDICE' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%FRLANDICE, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! FROCEAN [1] !------------------------------------------------------------------------ metId = 'FROCEAN' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%FROCEAN, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! FRESEAICE [1] !------------------------------------------------------------------------ metId = 'FRSEAICE' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%FRSEAICE, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! FRSNOW [1] !------------------------------------------------------------------------ metId = 'FRSNOW' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%FRSNOW, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! GWETROOT [1] !------------------------------------------------------------------------ metId = 'GWETROOT' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%GWETROOT, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! GWETTOP [1] !------------------------------------------------------------------------ metId = 'GWETTOP' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%GWETTOP, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! HFLUX [W m-2] !------------------------------------------------------------------------ metId = 'HFLUX' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%HFLUX, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! IREG [1] !------------------------------------------------------------------------ metId = 'IREG' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%IREG, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! IsWater (do not register for diagnostics) !------------------------------------------------------------------------ metId = 'IsWater' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%IsWater, & noRegister = .TRUE., & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! IsWater (do not register for diagnostics) !------------------------------------------------------------------------ metId = 'IsLand' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%IsLand, & noRegister = .TRUE., & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! IsIce (do not register for diagnostics) !------------------------------------------------------------------------ metId = 'IsIce' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%IsIce, & noRegister = .TRUE., & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! IsSnow (do not register for diagnostics) !------------------------------------------------------------------------ metId = 'IsSnow' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%IsSnow, & noRegister = .TRUE., & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! LAI [1] !------------------------------------------------------------------------ metId = 'LAI' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%LAI, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! MODISLAI [1] !------------------------------------------------------------------------ metId = 'MODISLAI' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%MODISLAI, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! PARDR [W m-2] !------------------------------------------------------------------------ metId = 'PARDR' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%PARDR, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! PARDF [W m-2] !------------------------------------------------------------------------ metId = 'PARDF' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%PARDF, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! PBLH [m] !------------------------------------------------------------------------ metId = 'PBLH' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%PBLH, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! PBL top [hPa] !------------------------------------------------------------------------ metId = 'PBLTOPhPa' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%PBL_TOP_hPa, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! PBL top [level] !------------------------------------------------------------------------ metId = 'PBLTOPL' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%PBL_TOP_L, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! PBL top [m] !------------------------------------------------------------------------ metId = 'PBLTOPM' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%PBL_TOP_m, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! PBL thickness [hPa] !------------------------------------------------------------------------ metId = 'PBLTHICK' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%PBL_THICK, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! PHIS [m2 s-2], converted to [m] after data read !------------------------------------------------------------------------ metId = 'PHIS' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%PHIS, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! PRECANV [kg m-2 s-1], converted to [mm day-1] !------------------------------------------------------------------------ metId = 'PRECANV' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%PRECANV, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! PRECCON [kg m-2 s-1], converted to [mm day-1] !------------------------------------------------------------------------ metId = 'PRECCON' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%PRECCON, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! PRECLSC [kg m-2 s-1], converted to [mm day-1] !------------------------------------------------------------------------ metId = 'PRECLSC' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%PRECLSC, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! PRECTOT [kg m-2 s-1], converted to [mm day-1] !------------------------------------------------------------------------ metId = 'PRECTOT' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%PRECTOT, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! PS1_WET [hPa] !------------------------------------------------------------------------ metId = 'PS1WET' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%PS1_WET, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! PS2_WET [hPa] !------------------------------------------------------------------------ metId = 'PS2WET' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%PS2_WET, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! PSC2_WET [hPa] !------------------------------------------------------------------------ metId = 'PSC2WET' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%PSC2_WET, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! PS1_DRY [hPa] !------------------------------------------------------------------------ metId = 'PS1DRY' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%PS1_DRY, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! PS2_DRY [hPa] !------------------------------------------------------------------------ metId = 'PS2DRY' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%PS2_DRY, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! PSC2_DRY [hPa] !------------------------------------------------------------------------ metId = 'PSC2DRY' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%PSC2_DRY, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------- ! QV2M [kg/kg] !------------------------- metId = 'QV2M' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%QV2M, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! SEAICE00 [1] !------------------------------------------------------------------------ metId = 'SEAICE00' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%SEAICE00, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! SEAICE10 [1] !------------------------------------------------------------------------ metId = 'SEAICE10' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%SEAICE10, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! SEAICE20 [1] !------------------------------------------------------------------------ metId = 'SEAICE20' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%SEAICE20, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! SEAICE30 [1] !------------------------------------------------------------------------ metId = 'SEAICE30' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%SEAICE30, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! SEAICE40 [1] !------------------------------------------------------------------------ metId = 'SEAICE40' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%SEAICE40, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! SEAICE50 [1] !------------------------------------------------------------------------ metId = 'SEAICE50' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%SEAICE50, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! SEAICE60 [1] !------------------------------------------------------------------------ metId = 'SEAICE60' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%SEAICE60, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! SEAICE70 [1] !------------------------------------------------------------------------ metId = 'SEAICE70' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%SEAICE70, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! SEAICE80 [1] !------------------------------------------------------------------------ metId = 'SEAICE80' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%SEAICE80, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! SEAICE90 [1] !------------------------------------------------------------------------ metId = 'SEAICE90' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%SEAICE90, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! SLP [hPa] !------------------------------------------------------------------------ metId = 'SLP' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%SLP, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! SNODP [m] !------------------------------------------------------------------------ metId = 'SNODP' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%SNODP, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! SNOMAS [kg m-2] !------------------------------------------------------------------------ metId = 'SNOMAS' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%SNOMAS, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! SUNCOS [1] !------------------------------------------------------------------------ metId = 'SUNCOS' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%SUNCOS, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! SUNCOSmid [1] !------------------------------------------------------------------------ metId = 'SUNCOSmid' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%SUNCOSmid, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! SUNCOSsum [1] (for HEMCO) !------------------------------------------------------------------------ metId = 'SUNCOSsum' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%SUNCOSsum, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! SZAFACT [1] (for HEMCO) !------------------------------------------------------------------------ metId = 'SZAFACT' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%SZAFACT, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! SWGDN [W m-2] !------------------------------------------------------------------------ metId = 'SWGDN' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%SWGDN, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! TO3 [dobsons] !------------------------------------------------------------------------ metId = 'TO3' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%TO3, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! TropLev [1] !------------------------------------------------------------------------ metId = 'TropLev' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%TropLev, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! TropHt [m] !------------------------------------------------------------------------ metId = 'TropHt' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%TropHt, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! TropP [hPa] !------------------------------------------------------------------------ metId = 'TropP ' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%TropP, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! TS [K] !------------------------------------------------------------------------ metId = 'TS' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%TS, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! TSKIN [K] !------------------------------------------------------------------------ metId = 'TSKIN' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%TSKIN, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! TSOIL1 [K] !------------------------------------------------------------------------ metId = 'TSOIL1' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%TSOIL1, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! U10M [m s-1] !------------------------------------------------------------------------ metId = 'U10M' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%U10M, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! USTAR [m -s] !------------------------------------------------------------------------ metId = 'USTAR' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%USTAR, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! UVALBEDO [1] !------------------------------------------------------------------------ metId = 'UVALBEDO' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%UVALBEDO, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! V10M [m s-1] !------------------------------------------------------------------------ metId = 'V10M' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%V10M, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Z0 [m] !------------------------------------------------------------------------ metId = 'Z0' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%Z0, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !======================================================================= ! Allocate 3-D Arrays !======================================================================= !------------------------------------------------------------------------ ! AD [kg] !------------------------------------------------------------------------ metId = 'AD' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%AD, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! AIRDEN [kg m-3] !------------------------------------------------------------------------ metId = 'AIRDEN' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%AIRDEN, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! AIRNUMDEN [1] !------------------------------------------------------------------------ metId = 'AIRNUMDEN' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%AIRNUMDEN, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! AIRVOL [m3] !------------------------------------------------------------------------ metId = 'AIRVOL' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%AIRVOL, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! AVGW [v/v] !------------------------------------------------------------------------ metId = 'AVGW' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%AVGW, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! BXHEIGHT [m] !------------------------------------------------------------------------ metId = 'BXHEIGHT' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%BXHEIGHT, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF #ifdef LUO_WETDEP !------------------------------------------------------------------------ ! KINC [s-1]: Air refreshing rate !------------------------------------------------------------------------ metId = 'KINC' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%KINC, & RC = RC ) !------------------------------------------------------------------------ ! WUP [m/s]: TKE wind speed !------------------------------------------------------------------------ metId = 'WUP' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%WUP, & RC = RC ) !------------------------------------------------------------------------ ! TKICE [s]: Ice uptake rate !------------------------------------------------------------------------ metId = 'TKICE' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%TKICE, & RC = RC ) !------------------------------------------------------------------------ ! NUMCD [cm-3]: Cloud Ice Number !------------------------------------------------------------------------ metId = 'NUMCD' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%NUMCD, & RC = RC ) !------------------------------------------------------------------------ ! ICESF [cm2]: Cloud Ice Surface Area !------------------------------------------------------------------------ metId = 'ICESF' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%ICESF, & RC = RC ) !------------------------------------------------------------------------ ! RADCD [cm]: Cloud Ice Radius !------------------------------------------------------------------------ metId = 'RADCD' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%RADCD, & RC = RC ) #endif !------------------------------------------------------------------------ ! CLDF [1] !------------------------------------------------------------------------ metId = 'CLDF' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%CLDF, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! CMFMC [kg m-2 s-1] !------------------------------------------------------------------------ metId = 'CMFMC' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%CMFMC, & onEdges = .TRUE., & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! DELP [hPa] !------------------------------------------------------------------------ metId = 'DELP' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%DELP, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! DELP_DRY [hPa] !------------------------------------------------------------------------ metId = 'DELPDRY' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%DELP_DRY, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! DP_DRY_PREV [hPa] !------------------------------------------------------------------------ metId = 'DPDRYPREV' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%DP_DRY_PREV, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Fraction of PBL !------------------------------------------------------------------------ metId = 'FOFPBL' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%F_OF_PBL, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! Fraction of box under PBL top !------------------------------------------------------------------------ metId = 'FUNDERPBLTOP' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%F_UNDER_PBLTOP, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! DQRCU [kg kg-1 s-1] !------------------------------------------------------------------------ metId = 'DQRCU' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%DQRCU, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! DQRLSAN [kg kg-1 s-1] !------------------------------------------------------------------------ metId = 'DQRLSAN ' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%DQRLSAN, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! DTRAIN [kg m-2 s-1] !------------------------------------------------------------------------ metId = 'DTRAIN' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%DTRAIN, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! ILAND [1] !------------------------------------------------------------------------ metId = 'ILAND' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%ILAND, & nSlots = NSURFTYPE, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! IUSE [1] !------------------------------------------------------------------------ metId = 'IUSE' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%IUSE, & nSlots = NSURFTYPE, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! LANDTYPEFRAC [1] !------------------------------------------------------------------------ metId = 'LANDTYPEFRAC' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%LANDTYPEFRAC, & nSlots = NSURFTYPE, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! MAIRDEN [kg m-3] !------------------------------------------------------------------------ metId = 'MAIRDEN' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%MAIRDEN, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! OMEGA [Pa s-1] !------------------------------------------------------------------------ metId = 'OMEGA' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%OMEGA, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! OPTD [1] !------------------------------------------------------------------------ metId = 'OPTD' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%OPTD, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! PEDGE [hPa] !------------------------------------------------------------------------ metId = 'PEDGE' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%PEDGE, & onEdges = .TRUE., & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! PEDGE_DRY [hPa] !------------------------------------------------------------------------ metId = 'PEDGEDRY' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%PEDGE_DRY, & onEdges = .TRUE., & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! PFICU [kg m-2 s-1] !------------------------------------------------------------------------ metId = 'PFICU' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%PFICU, & onEdges = .TRUE., & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! PFILSAN [kg m-2 s-1] !------------------------------------------------------------------------ metId = 'PFILSAN' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%PFILSAN, & onEdges = .TRUE., & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! PFLCU [kg m-2 s-1] !------------------------------------------------------------------------ metId = 'PFLCU' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%PFLCU, & onEdges = .TRUE., & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! PFLLSAN [kg m-2 s-1] !------------------------------------------------------------------------ metId = 'PFLLSAN' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%PFLLSAN, & onEdges = .TRUE., & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! PMID [1] !------------------------------------------------------------------------ metId = 'PMID' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%PMID, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! PMID_DRY [hPa] !------------------------------------------------------------------------ metId = 'PMIDDRY' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%PMID_DRY, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! QI [kg kg-1] !------------------------------------------------------------------------ metId = 'QI' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%QI, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! QL [kg kg-1] !------------------------------------------------------------------------ metId = 'QL' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%QL, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! REEVAPCN [kg kg-1 s-1] !------------------------------------------------------------------------ metId = 'REEVAPCN' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%REEVAPCN, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! REEVAPLS [kg kg-1 s-1] !------------------------------------------------------------------------ metId = 'REEVAPLS' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%REEVAPLS, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! RH [%] !------------------------------------------------------------------------ metId = 'RH' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%RH, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! SPHU [g kg-1] !------------------------------------------------------------------------ metId = 'SPHU' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%SPHU, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! SPHU1 [g kg-1] !------------------------------------------------------------------------ metId = 'SPHU1' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%SPHU1, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! SPHU2 [g kg-1] !------------------------------------------------------------------------ metId = 'SPHU2' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%SPHU2, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! SPHU_PREV [g/kg] !------------------------------------------------------------------------ metId = 'SPHUPREV' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%SPHU_PREV, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! DYNHEATING [K/day] !------------------------------------------------------------------------ metId = 'DynHeating' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%DynHeating, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! T [K] !------------------------------------------------------------------------ metId = 'T' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%T, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! TAUCLI [1] !------------------------------------------------------------------------ metId = 'TAUCLI' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%TAUCLI, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! TAUCLW [1] !------------------------------------------------------------------------ metId = 'TAUCLW' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%TAUCLW, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! THETA [K] !------------------------------------------------------------------------ metId = 'THETA' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%THETA, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! TMPU1 [K] !------------------------------------------------------------------------ metId = 'TMPU1' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%TMPU1, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! TMPU2 [K] !------------------------------------------------------------------------ metId = 'TMPU2' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%TMPU2, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! TV [K] !------------------------------------------------------------------------ metId = 'TV' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%TV, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! U [m s-1] !------------------------------------------------------------------------ metId = 'U' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%U, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF #ifdef MODEL_GEOS !------------------------------------------------------------------------ ! UPDVVEL [hPa s-1] ! Updraft vertical velocity is not yet a standard GEOS-FP ! field. Only available to online model (ckeller, 3/4/16) !------------------------------------------------------------------------ metId = 'UPDVVEL' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%UPDVVEL, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF #endif !------------------------------------------------------------------------ ! V [m s-1] !------------------------------------------------------------------------ metId = 'V' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%V, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! XLAI [1] !------------------------------------------------------------------------ metId = 'XLAI' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%XLAI, & nSlots = NSURFTYPE, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! XLAI2 [1] !------------------------------------------------------------------------ metId = 'XLAI2' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%XLAI2, & nSlots = NSURFTYPE, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! XLAI_NATIVE [1] !------------------------------------------------------------------------ metId = 'XLAINATIVE' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%XLAI_NATIVE, & nSlots = NSURFTYPE, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !======================================================================== ! Allocate fields used by wet scavenging and other GeosCore modules. ! Note some are memory-order ZXY and some are regular XYZ. ! Only allocate arrays if wetdep or convection is turned on !======================================================================== IF ( Input_Opt%LWETD .or. Input_Opt%LCONV ) THEN !--------------------------------------------------------------------- ! C_H2O !--------------------------------------------------------------------- metId = 'C_H2O' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%C_H2O, & noRegister = .TRUE., & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !----------------------------------------------------------------- ! CLDICE !----------------------------------------------------------------- metId = 'CLDICE' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%CLDICE, & noRegister = .TRUE., & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !----------------------------------------------------------------- ! CLDLIQ !----------------------------------------------------------------- metId = 'CLDLIQ' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%CLDLIQ, & noRegister = .TRUE., & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !--------------------------------------------------------------------- ! PDOWN (ZXY order) !--------------------------------------------------------------------- metId = 'PDOWN' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%PDOWN, & noRegister = .TRUE., & zxyOrder = .TRUE., & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !--------------------------------------------------------------------- ! QQ (ZXY order) !--------------------------------------------------------------------- metId = 'QQ' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%QQ, & noRegister = .TRUE., & zxyOrder = .TRUE., & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !--------------------------------------------------------------------- ! REEVAP (ZXY order) !--------------------------------------------------------------------- metId = 'REEVAP' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%REEVAP, & noRegister = .TRUE., & zxyOrder = .TRUE., & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF !======================================================================= ! Allocate fields for querying which vertical regime a grid box is in ! or if a grid box is near local solar noontime. ! ! %%%%% NOTE: Most of these are logical fields and thus %%%%% ! %%%%% cannot be archived to HISTORY diagnostics. %%%%% !======================================================================= !------------------------------------------------------------------------ ! InChemGrid !------------------------------------------------------------------------ metId = 'InChemGrid' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%InChemGrid, & noRegister = .TRUE., & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! InPBL !------------------------------------------------------------------------ metId = 'InPbl' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%InPbl, & noRegister = .TRUE., & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! InStratosphere !------------------------------------------------------------------------ metId = 'InStratosphere' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%InStratosphere, & noRegister = .TRUE., & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! InStratMeso !------------------------------------------------------------------------ metId = 'InStratMeso' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%InStratMeso, & noRegister = .TRUE., & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! InTroposphere !------------------------------------------------------------------------ metId = 'InTroposphere' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%InTroposphere, & noRegister = .TRUE., & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! IsLocalNoon !------------------------------------------------------------------------ metId = 'IsLocalNoon' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%IsLocalNoon, & noRegister = .TRUE., & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! LocalSolarTime (register this for diagnostics) !------------------------------------------------------------------------ metId = 'LocalSolarTime' CALL Init_and_Register( & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Grid = State_Grid, & metId = metId, & Ptr2Data = State_Met%LocalSolarTime, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_ir ) // TRIM( metId ) CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !======================================================================== ! Once we are done registering all fields, we need to define the ! registry lookup table. This algorithm will avoid hash collisions. !======================================================================== CALL Registry_Set_LookupTable( Registry = State_Met%Registry, & RegDict = State_Met%RegDict, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in routine "Registry_Set_LookupTable"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !======================================================================== ! Print information about the registered fields (short format) ! Only written if debug printout is requested !======================================================================== IF ( Input_Opt%amIRoot .and. Input_Opt%Verbose ) THEN WRITE( 6, 10 ) 10 FORMAT(/, 'Registered variables contained within the State_Met object:') WRITE( 6, '(a)' ) REPEAT( '=', 79 ) ! Print registered fields CALL Registry_Print( Input_Opt = Input_Opt, & Registry = State_Met%Registry, & ShortFormat = .TRUE., & RC = RC ) ! Trap error IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Registry_Print"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF END SUBROUTINE Init_State_Met !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Cleanup_State_Met ! ! !DESCRIPTION: Subroutine CLEANUP\_STATE\_MET deallocates all fields ! of the meteorology state object. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Cleanup_State_Met( State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetState), INTENT(INOUT) :: State_Met ! Obj for meteorology state ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Return code ! ! !REVISION HISTORY: ! 19 Oct 2012 - R. Yantosca - Initial version, based on gc_environment_mod.F90 ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc !======================================================================== ! Initialize !======================================================================== RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> Cleanup_State_Met (in Headers/state_met_mod.F90)' !======================================================================== ! Deallocate 2-D fields !======================================================================== IF ( ASSOCIATED( State_Met%ALBD ) ) THEN DEALLOCATE( State_Met%ALBD, STAT=RC ) CALL GC_CheckVar( 'State_Met%ALBD', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%ALBD => NULL() ENDIF IF ( ASSOCIATED( State_Met%AREA_M2 ) ) THEN DEALLOCATE( State_Met%AREA_M2, STAT=RC ) CALL GC_CheckVar( 'State_Met%AREA_M2', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%AREA_M2 => NULL() ENDIF IF ( ASSOCIATED( State_Met%ChemGridLev ) ) THEN DEALLOCATE( State_Met%ChemGridLev, STAT=RC ) CALL GC_CheckVar( 'State_Met%ChemGridLev', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%ChemGridLev => NULL() ENDIF IF ( ASSOCIATED( State_Met%CLDFRC ) ) THEN DEALLOCATE( State_Met%CLDFRC, STAT=RC ) CALL GC_CheckVar( 'State_Met%CLDFRC', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%CLDFRC => NULL() ENDIF IF ( ASSOCIATED( State_Met%CLDTOPS ) ) THEN DEALLOCATE( State_Met%CLDTOPS, STAT=RC ) CALL GC_CheckVar( 'State_Met%CLDTOPS', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%CLDTOPS => NULL() ENDIF IF ( ASSOCIATED( State_Met%CONV_DEPTH ) ) THEN DEALLOCATE( State_Met%CONV_DEPTH, STAT=RC ) CALL GC_CheckVar( 'State_Met%CONV_DEPTH', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%CONV_DEPTH => NULL() ENDIF IF ( ASSOCIATED( State_Met%EFLUX ) ) THEN DEALLOCATE( State_Met%EFLUX, STAT=RC ) CALL GC_CheckVar( 'State_Met%EFLUX', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%EFLUX => NULL() ENDIF IF ( ASSOCIATED( State_Met%FLASH_DENS ) ) THEN DEALLOCATE( State_Met%FLASH_DENS, STAT=RC ) CALL GC_CheckVar( 'State_Met%FLASH_DENS', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%FLASH_DENS => NULL() ENDIF IF ( ASSOCIATED( State_Met%FRCLND ) ) THEN DEALLOCATE( State_Met%FRCLND, STAT=RC ) CALL GC_CheckVar( 'State_Met%FRCLND', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%FRCLND => NULL() ENDIF IF ( ASSOCIATED( State_Met%FRLAKE ) ) THEN DEALLOCATE( State_Met%FRLAKE, STAT=RC ) CALL GC_CheckVar( 'State_Met%FRLAKE', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%FRLAKE => NULL() ENDIF IF ( ASSOCIATED( State_Met%FRLAND ) ) THEN DEALLOCATE( State_Met%FRLAND, STAT=RC ) CALL GC_CheckVar( 'State_Met%FRLAND', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%FRLAND => NULL() ENDIF IF ( ASSOCIATED( State_Met%FRLANDICE ) ) THEN DEALLOCATE( State_Met%FRLANDICE, STAT=RC ) CALL GC_CheckVar( 'State_Met%FRLANDICE', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%FRLANDICE => NULL() ENDIF IF ( ASSOCIATED( State_Met%FROCEAN ) ) THEN DEALLOCATE( State_Met%FROCEAN, STAT=RC ) CALL GC_CheckVar( 'State_Met%FROCEAN', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%FROCEAN => NULL() ENDIF IF ( ASSOCIATED( State_Met%FRSEAICE ) ) THEN DEALLOCATE( State_Met%FRSEAICE, STAT=RC ) CALL GC_CheckVar( 'State_Met%FRSEAICE', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%FRSEAICE => NULL() ENDIF IF ( ASSOCIATED( State_Met%FRSNOW ) ) THEN DEALLOCATE( State_Met%FRSNOW, STAT=RC ) CALL GC_CheckVar( 'State_Met%FRSNOW', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%FRSNOW => NULL() ENDIF IF ( ASSOCIATED( State_Met%GWETROOT ) ) THEN DEALLOCATE( State_Met%GWETROOT, STAT=RC ) CALL GC_CheckVar( 'State_Met%GWETROOT', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%GWETROOT => NULL() ENDIF IF ( ASSOCIATED( State_Met%GWETTOP ) ) THEN DEALLOCATE( State_Met%GWETTOP, STAT=RC ) CALL GC_CheckVar( 'State_Met%GWETTOP', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%GWETTOP => NULL() ENDIF IF ( ASSOCIATED( State_Met%HFLUX ) ) THEN DEALLOCATE( State_Met%HFLUX, STAT=RC ) CALL GC_CheckVar( 'State_Met%HFLUX', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%HFLUX => NULL() ENDIF IF ( ASSOCIATED( State_Met%IsWater ) ) THEN DEALLOCATE( State_Met%IsWater, STAT=RC ) CALL GC_CheckVar( 'State_Met%IsWater', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%IsWater => NULL() ENDIF IF ( ASSOCIATED( State_Met%IsLand ) ) THEN DEALLOCATE( State_Met%IsLand, STAT=RC ) CALL GC_CheckVar( 'State_Met%IsLand', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%IsLand => NULL() ENDIF IF ( ASSOCIATED( State_Met%IsIce ) ) THEN DEALLOCATE( State_Met%IsIce, STAT=RC ) CALL GC_CheckVar( 'State_Met%IsIce', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%IsIce => NULL() ENDIF IF ( ASSOCIATED( State_Met%IsSnow ) ) THEN DEALLOCATE( State_Met%IsSnow, STAT=RC ) CALL GC_CheckVar( 'State_Met%IsSnow', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%IsSnow => NULL() ENDIF IF ( ASSOCIATED( State_Met%LAI ) ) THEN DEALLOCATE( State_Met%LAI, STAT=RC ) CALL GC_CheckVar( 'State_Met%LAI', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%LAI => NULL() ENDIF IF ( ASSOCIATED( State_Met%PARDR ) ) THEN DEALLOCATE( State_Met%PARDR, STAT=RC ) CALL GC_CheckVar( 'State_Met%PARDR', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%PARDR => NULL() ENDIF IF ( ASSOCIATED( State_Met%PARDF ) ) THEN DEALLOCATE( State_Met%PARDF, STAT=RC ) CALL GC_CheckVar( 'State_Met%PARDF', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%PARDF => NULL() ENDIF IF ( ASSOCIATED( State_Met%PBLH ) ) THEN DEALLOCATE( State_Met%PBLH, STAT=RC ) CALL GC_CheckVar( 'State_Met%PBLH', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%PBLH => NULL() ENDIF IF ( ASSOCIATED( State_Met%PBL_TOP_hPa ) ) THEN DEALLOCATE( State_Met%PBL_TOP_hPa, STAT=RC ) CALL GC_CheckVar( 'State_Met%PBL_TOP_hPa', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%PBL_TOP_hPa => NULL() ENDIF IF ( ASSOCIATED( State_Met%PBL_TOP_L ) ) THEN DEALLOCATE( State_Met%PBL_TOP_L, STAT=RC ) CALL GC_CheckVar( 'State_Met%PBL_TOP_L', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%PBL_TOP_L => NULL() ENDIF IF ( ASSOCIATED( State_Met%PBL_TOP_m ) ) THEN DEALLOCATE( State_Met%PBL_TOP_m, STAT=RC ) CALL GC_CheckVar( 'State_Met%PBL_TOP_m', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%PBL_TOP_m => NULL() ENDIF IF ( ASSOCIATED( State_Met%PBL_THICK ) ) THEN DEALLOCATE( State_Met%PBL_THICK, STAT=RC ) CALL GC_CheckVar( 'State_Met%PBL_THICK', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%PBL_THICK => NULL() ENDIF IF ( ASSOCIATED( State_Met%PHIS ) ) THEN DEALLOCATE( State_Met%PHIS, STAT=RC ) CALL GC_CheckVar( 'State_Met%PHIS', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%PHIS => NULL() ENDIF IF ( ASSOCIATED( State_Met%PRECANV ) ) THEN DEALLOCATE( State_Met%PRECANV, STAT=RC ) CALL GC_CheckVar( 'State_Met%PRECANV', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%PRECANV => NULL() ENDIF IF ( ASSOCIATED( State_Met%PRECCON ) ) THEN DEALLOCATE( State_Met%PRECCON, STAT=RC ) CALL GC_CheckVar( 'State_Met%PRECCON', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%PRECCON => NULL() ENDIF IF ( ASSOCIATED( State_Met%PRECLSC ) ) THEN DEALLOCATE( State_Met%PRECLSC, STAT=RC ) CALL GC_CheckVar( 'State_Met%PRECLSC', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%PRECLSC => NULL() ENDIF IF ( ASSOCIATED( State_Met%PRECTOT ) ) THEN DEALLOCATE( State_Met%PRECTOT, STAT=RC ) CALL GC_CheckVar( 'State_Met%PRECTOT', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%PRECTOT => NULL() ENDIF IF ( ASSOCIATED( State_Met%PS1_WET ) ) THEN DEALLOCATE( State_Met%PS1_WET, STAT=RC ) CALL GC_CheckVar( 'State_Met%PS1_WET', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%PS1_WET => NULL() ENDIF IF ( ASSOCIATED( State_Met%PS1_DRY ) ) THEN DEALLOCATE( State_Met%PS1_DRY, STAT=RC ) CALL GC_CheckVar( 'State_Met%PS1_DRY', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%PS1_DRY => NULL() ENDIF IF ( ASSOCIATED( State_Met%PS2_WET ) ) THEN DEALLOCATE( State_Met%PS2_WET, STAT=RC ) CALL GC_CheckVar( 'State_Met%PS2_WET', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%PS2_WET => NULL() ENDIF IF ( ASSOCIATED( State_Met%PS2_DRY ) ) THEN DEALLOCATE( State_Met%PS2_DRY, STAT=RC ) CALL GC_CheckVar( 'State_Met%PS2_DRY', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%PS2_DRY => NULL() ENDIF IF ( ASSOCIATED( State_Met%PSC2_WET ) ) THEN DEALLOCATE( State_Met%PSC2_WET, STAT=RC ) CALL GC_CheckVar( 'State_Met%PSC2_WET', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%PSC2_WET => NULL() ENDIF IF ( ASSOCIATED( State_Met%PSC2_DRY ) ) THEN DEALLOCATE( State_Met%PSC2_DRY, STAT=RC ) CALL GC_CheckVar( 'State_Met%PSC2_DRY', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%PSC2_DRY => NULL() ENDIF IF ( ASSOCIATED( State_Met%QV2M ) ) THEN DEALLOCATE( State_Met%QV2M, STAT=RC ) CALL GC_CheckVar( 'State_Met%QV2M', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%QV2M => NULL() ENDIF IF ( ASSOCIATED( State_Met%SEAICE00 ) ) THEN DEALLOCATE( State_Met%SEAICE00, STAT=RC ) CALL GC_CheckVar( 'State_Met%SEAICE00', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%SEAICE00 => NULL() ENDIF IF ( ASSOCIATED( State_Met%SEAICE10 ) ) THEN DEALLOCATE( State_Met%SEAICE10, STAT=RC ) CALL GC_CheckVar( 'State_Met%SEAICE10', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%SEAICE10 => NULL() ENDIF IF ( ASSOCIATED( State_Met%SEAICE20 ) ) THEN DEALLOCATE( State_Met%SEAICE20, STAT=RC ) CALL GC_CheckVar( 'State_Met%SEAICE20', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%SEAICE20 => NULL() ENDIF IF ( ASSOCIATED( State_Met%SEAICE30 ) ) THEN DEALLOCATE( State_Met%SEAICE30, STAT=RC ) CALL GC_CheckVar( 'State_Met%SEAICE30', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%SEAICE30 => NULL() ENDIF IF ( ASSOCIATED( State_Met%SEAICE40 ) ) THEN DEALLOCATE( State_Met%SEAICE40, STAT=RC ) CALL GC_CheckVar( 'State_Met%SEAICE40', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%SEAICE40 => NULL() ENDIF IF ( ASSOCIATED( State_Met%SEAICE50 ) ) THEN DEALLOCATE( State_Met%SEAICE50, STAT=RC ) CALL GC_CheckVar( 'State_Met%SEAICE50', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%SEAICE50 => NULL() ENDIF IF ( ASSOCIATED( State_Met%SEAICE60 ) ) THEN DEALLOCATE( State_Met%SEAICE60, STAT=RC ) CALL GC_CheckVar( 'State_Met%SEAICE60', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%SEAICE60 => NULL() ENDIF IF ( ASSOCIATED( State_Met%SEAICE70 ) ) THEN DEALLOCATE( State_Met%SEAICE70, STAT=RC ) CALL GC_CheckVar( 'State_Met%SEAICE70', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%SEAICE70 => NULL() ENDIF IF ( ASSOCIATED( State_Met%SEAICE80 ) ) THEN DEALLOCATE( State_Met%SEAICE80, STAT=RC ) CALL GC_CheckVar( 'State_Met%SEAICE80', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%SEAICE80 => NULL() ENDIF IF ( ASSOCIATED( State_Met%SEAICE90 ) ) THEN DEALLOCATE( State_Met%SEAICE90, STAT=RC ) CALL GC_CheckVar( 'State_Met%SEAICE90', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%SEAICE90 => NULL() ENDIF IF ( ASSOCIATED( State_Met%SLP ) ) THEN DEALLOCATE( State_Met%SLP, STAT=RC ) CALL GC_CheckVar( 'State_Met%SLP', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%SLP => NULL() ENDIF IF ( ASSOCIATED( State_Met%SNODP ) ) THEN DEALLOCATE( State_Met%SNODP, STAT=RC ) CALL GC_CheckVar( 'State_Met%SNODP', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%SNODP => NULL() ENDIF IF ( ASSOCIATED( State_Met%SNOMAS ) ) THEN DEALLOCATE( State_Met%SNOMAS, STAT=RC ) CALL GC_CheckVar( 'State_Met%SNOMAS', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%SNOMAS => NULL() ENDIF IF ( ASSOCIATED( State_Met%SUNCOS ) ) THEN DEALLOCATE( State_Met%SUNCOS, STAT=RC ) CALL GC_CheckVar( 'State_Met%SUNCOS', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%SUNCOS => NULL() ENDIF IF ( ASSOCIATED( State_Met%SUNCOSmid ) ) THEN DEALLOCATE( State_Met%SUNCOSmid, STAT=RC ) CALL GC_CheckVar( 'State_Met%SUNCOSmid', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%SUNCOSmid => NULL() ENDIF IF ( ASSOCIATED( State_Met%SWGDN ) ) THEN DEALLOCATE( State_Met%SWGDN, STAT=RC ) CALL GC_CheckVar( 'State_Met%SWGDN', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%SWGDN => NULL() ENDIF IF ( ASSOCIATED( State_Met%TropLev ) ) THEN DEALLOCATE( State_Met%TropLev, STAT=RC ) CALL GC_CheckVar( 'State_Met%TropLev', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%TropLev => NULL() ENDIF IF ( ASSOCIATED( State_Met%TropHt ) ) THEN DEALLOCATE( State_Met%TropHt, STAT=RC ) CALL GC_CheckVar( 'State_Met%TropHt', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%TropHt => NULL() ENDIF IF ( ASSOCIATED( State_Met%TROPP ) ) THEN DEALLOCATE( State_Met%TROPP, STAT=RC ) CALL GC_CheckVar( 'State_Met%TROPP', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%TROPP => NULL() ENDIF IF ( ASSOCIATED( State_Met%TS ) ) THEN DEALLOCATE( State_Met%TS, STAT=RC ) CALL GC_CheckVar( 'State_Met%TS', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%TS => NULL() ENDIF IF ( ASSOCIATED( State_Met%TSKIN ) ) THEN DEALLOCATE( State_Met%TSKIN, STAT=RC ) CALL GC_CheckVar( 'State_Met%TSKIN', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%TSKIN => NULL() ENDIF IF ( ASSOCIATED( State_Met%TSOIL1 ) ) THEN DEALLOCATE( State_Met%TSOIL1, STAT=RC ) CALL GC_CheckVar( 'State_Met%TSOIL1', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%TSOIL1 => NULL() ENDIF IF ( ASSOCIATED( State_Met%TO3 ) ) THEN DEALLOCATE( State_Met%TO3, STAT=RC ) CALL GC_CheckVar( 'State_Met%TO3', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%TO3 => NULL() ENDIF IF ( ASSOCIATED( State_Met%U10M ) ) THEN DEALLOCATE( State_Met%U10M, STAT=RC ) CALL GC_CheckVar( 'State_Met%U10M', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%U10M => NULL() ENDIF IF ( ASSOCIATED( State_Met%USTAR ) ) THEN DEALLOCATE( State_Met%USTAR, STAT=RC ) CALL GC_CheckVar( 'State_Met%USTAR', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%USTAR => NULL() ENDIF IF ( ASSOCIATED( State_Met%UVALBEDO ) ) THEN DEALLOCATE( State_Met%UVALBEDO, STAT=RC ) CALL GC_CheckVar( 'State_Met%UVALBEDO', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%UVALBEDO => NULL() ENDIF IF ( ASSOCIATED( State_Met%V10M ) ) THEN DEALLOCATE( State_Met%V10M, STAT=RC ) CALL GC_CheckVar( 'State_Met%V10M', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%V10M => NULL() ENDIF IF ( ASSOCIATED( State_Met%Z0 ) ) THEN DEALLOCATE( State_Met%Z0, STAT=RC ) CALL GC_CheckVar( 'State_Met%Z0', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%Z0 => NULL() ENDIF IF ( ASSOCIATED( State_Met%CNV_FRC ) ) THEN DEALLOCATE( State_Met%CNV_FRC, STAT=RC ) CALL GC_CheckVar( 'State_Met%CNV_FRC', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%CNV_FRC => NULL() ENDIF IF ( ASSOCIATED( State_Met%ILAND ) ) THEN DEALLOCATE( State_Met%ILAND, STAT=RC ) CALL GC_CheckVar( 'State_Met%ILAND', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%ILAND => NULL() ENDIF IF ( ASSOCIATED( State_Met%IREG ) ) THEN DEALLOCATE( State_Met%IREG, STAT=RC ) CALL GC_CheckVar( 'State_Met%IREG', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%IREG => NULL() ENDIF !======================================================================== ! Deallocate 3-D fields ! ! NOTE: If using GEOS-Chem as GCHP, or coupled to GMAO/GEOS, then just ! nullify the fields without deallocating. This will prevent abnormal ! exits in MAPL. This is probably due to the fact that the State_Met ! fields point to ESMF/MAPL Imports, and cannot be deallocated ! before the Import itself is finalized. ! ! ALSO NOTE: If using GEOS-Chem coupled to WRF, then do the same ! as for GCHP or GEOS, as WRF does its own separate deallocation. ! ! -- Lizzie Lundgren and Bob Yantosca, 05 Nov 2018 !======================================================================== IF ( ASSOCIATED( State_Met%IUSE ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%IUSE => NULL() #else DEALLOCATE( State_Met%IUSE, STAT=RC ) CALL GC_CheckVar( 'State_Met%IUSE', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%IUSE => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%LANDTYPEFRAC ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%LANDTYPEFRAC => NULL() #else DEALLOCATE( State_Met%LANDTYPEFRAC, STAT=RC ) CALL GC_CheckVar( 'State_Met%LANDTYPEFRAC', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%LANDTYPEFRAC => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%MODISLAI ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%MODISLAI => NULL() #else DEALLOCATE( State_Met%MODISLAI, STAT=RC ) CALL GC_CheckVar( 'State_Met%MODISLAI', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%MODISLAI => NULL() #endif ENDIF !------------------------------------------------------------------------ ! 3-D fields !------------------------------------------------------------------------ IF ( ASSOCIATED( State_Met%AD ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%AD => NULL() #else DEALLOCATE( State_Met%AD, STAT=RC ) CALL GC_CheckVar( 'State_Met%AD', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%AD => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%AIRDEN ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%AIRDEN => NULL() #else DEALLOCATE( State_Met%AIRDEN, STAT=RC ) CALL GC_CheckVar( 'State_Met%AIRDEN', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%AIRDEN => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%MAIRDEN ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%MAIRDEN => NULL() #else DEALLOCATE( State_Met%MAIRDEN, STAT=RC ) CALL GC_CheckVar( 'State_Met%MAIRDEN', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%MAIRDEN => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%AIRVOL ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%AIRVOL => NULL() #else DEALLOCATE( State_Met%AIRVOL, STAT=RC ) CALL GC_CheckVar( 'State_Met%AIRVOL', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%AIRVOL => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%BXHEIGHT ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%BXHEIGHT => NULL() #else DEALLOCATE( State_Met%BXHEIGHT, STAT=RC ) CALL GC_CheckVar( 'State_Met%BXHEIGHT', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%BXHEIGHT => NULL() #endif ENDIF #ifdef LUO_WETDEP IF ( ASSOCIATED( State_Met%KINC ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%KINC => NULL() #else DEALLOCATE( State_Met%KINC, STAT=RC ) CALL GC_CheckVar( 'State_Met%KINC', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%KINC => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%WUP ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%WUP => NULL() #else DEALLOCATE( State_Met%WUP, STAT=RC ) CALL GC_CheckVar( 'State_Met%WUP', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%WUP => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%TKICE ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%TKICE => NULL() #else DEALLOCATE( State_Met%TKICE, STAT=RC ) CALL GC_CheckVar( 'State_Met%TKICE', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%TKICE => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%NUMCD ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%NUMCD => NULL() #else DEALLOCATE( State_Met%NUMCD, STAT=RC ) CALL GC_CheckVar( 'State_Met%NUMCD', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%NUMCD => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%ICESF ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%ICESF => NULL() #else DEALLOCATE( State_Met%ICESF, STAT=RC ) CALL GC_CheckVar( 'State_Met%ICESF', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%ICESF => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%RADCD ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%RADCD => NULL() #else DEALLOCATE( State_Met%RADCD, STAT=RC ) CALL GC_CheckVar( 'State_Met%RADCD', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%RADCD => NULL() #endif ENDIF #endif IF ( ASSOCIATED( State_Met%CLDF ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%CLDF => NULL() #else DEALLOCATE( State_Met%CLDF, STAT=RC ) CALL GC_CheckVar( 'State_Met%CLDF', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%CLDF => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%CMFMC ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%CMFMC => NULL() #else DEALLOCATE( State_Met%CMFMC, STAT=RC ) CALL GC_CheckVar( 'State_Met%CMFMC', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%CMFMC => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%DELP ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%DELP => NULL() #else DEALLOCATE( State_Met%DELP, STAT=RC ) CALL GC_CheckVar( 'State_Met%DELP', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%DELP => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%DELP_DRY ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%DELP_DRY => NULL() #else DEALLOCATE( State_Met%DELP_DRY, STAT=RC ) CALL GC_CheckVar( 'State_Met%DELP_DRY', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%DELP_DRY => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%DP_DRY_PREV ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%DP_DRY_PREV => NULL() #else DEALLOCATE( State_Met%DP_DRY_PREV, STAT=RC ) CALL GC_CheckVar( 'State_Met%DP_DRY_PREV', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%DP_DRY_PREV => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%DQRCU ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%DQRCU => NULL() #else DEALLOCATE( State_Met%DQRCU, STAT=RC ) CALL GC_CheckVar( 'State_Met%DQRCU', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%DQRCU => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%DQRLSAN ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%DQRLSAN => NULL() #else DEALLOCATE( State_Met%DQRLSAN, STAT=RC ) CALL GC_CheckVar( 'State_Met%DQRLSAN', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%DQRLSAN => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%DTRAIN ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%DTRAIN => NULL() #else DEALLOCATE( State_Met%DTRAIN, STAT=RC ) CALL GC_CheckVar( 'State_Met%DTRAIN', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%DTRAIN => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%F_OF_PBL ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%F_OF_PBL => NULL() #else DEALLOCATE( State_Met%F_OF_PBL, STAT=RC ) CALL GC_CheckVar( 'State_Met%F_OF_PBL', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%F_OF_PBL => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%F_UNDER_PBLTOP ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%F_UNDER_PBLTOP => NULL() #else DEALLOCATE( State_Met%F_UNDER_PBLTOP, STAT=RC ) CALL GC_CheckVar( 'State_Met%F_UNDER_PBLTOP', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%F_UNDER_PBLTOP => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%OMEGA ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%OMEGA => NULL() #else DEALLOCATE( State_Met%OMEGA, STAT=RC ) CALL GC_CheckVar( 'State_Met%OMEGA', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%OMEGA => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%OPTD ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%OPTD => NULL() #else DEALLOCATE( State_Met%OPTD, STAT=RC ) CALL GC_CheckVar( 'State_Met%OPTD', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%OPTD => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%PEDGE ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%PEDGE => NULL() #else DEALLOCATE( State_Met%PEDGE, STAT=RC ) CALL GC_CheckVar( 'State_Met%PEDGE', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%PEDGE => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%PEDGE_DRY ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%PEDGE_DRY => NULL() #else DEALLOCATE( State_Met%PEDGE_DRY, STAT=RC ) CALL GC_CheckVar( 'State_Met%PEDGE_DRY', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%PEDGE_DRY => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%PFICU ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%PFICU => NULL() #else DEALLOCATE( State_Met%PFICU, STAT=RC ) CALL GC_CheckVar( 'State_Met%PFICU', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%PFICU => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%PFILSAN ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%PFILSAN => NULL() #else DEALLOCATE( State_Met%PFILSAN, STAT=RC ) CALL GC_CheckVar( 'State_Met%PFILSAN', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%PFILSAN => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%PFLCU ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%PFLCU => NULL() #else DEALLOCATE( State_Met%PFLCU, STAT=RC ) CALL GC_CheckVar( 'State_Met%PFLCU', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%PFLCU => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%PFLLSAN ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%PFLLSAN => NULL() #else DEALLOCATE( State_Met%PFLLSAN, STAT=RC ) CALL GC_CheckVar( 'State_Met%PFLLSAN', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%PFLLSAN => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%PMID ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%PMID => NULL() #else DEALLOCATE( State_Met%PMID, STAT=RC ) CALL GC_CheckVar( 'State_Met%PMID', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%PMID => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%PMID_DRY ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%PMID_DRY => NULL() #else DEALLOCATE( State_Met%PMID_DRY, STAT=RC ) CALL GC_CheckVar( 'State_Met%PMID_DRY', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%PMID_DRY => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%QI ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%QI => NULL() #else DEALLOCATE( State_Met%QI, STAT=RC ) CALL GC_CheckVar( 'State_Met%QI', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%QI => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%QL ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%QL => NULL() #else DEALLOCATE( State_Met%QL, STAT=RC ) CALL GC_CheckVar( 'State_Met%QL', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%QL => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%REEVAPCN ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%REEVAPCN => NULL() #else DEALLOCATE( State_Met%REEVAPCN, STAT=RC ) CALL GC_CheckVar( 'State_Met%REEVAPCN', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%REEVAPCN => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%REEVAPLS ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%REEVAPLS => NULL() #else DEALLOCATE( State_Met%REEVAPLS, STAT=RC ) CALL GC_CheckVar( 'State_Met%REEVAPLS', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%REEVAPLS => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%RH ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%RH => NULL() #else DEALLOCATE( State_Met%RH, STAT=RC ) CALL GC_CheckVar( 'State_Met%RH', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%RH => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%SPHU ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%SPHU => NULL() #else DEALLOCATE( State_Met%SPHU, STAT=RC ) CALL GC_CheckVar( 'State_Met%SPHU', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%SPHU => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%SPHU1 ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%SPHU1 => NULL() #else DEALLOCATE( State_Met%SPHU1, STAT=RC ) CALL GC_CheckVar( 'State_Met%SPHU1', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%SPHU1 => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%SPHU2 ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%SPHU2 => NULL() #else DEALLOCATE( State_Met%SPHU2, STAT=RC ) CALL GC_CheckVar( 'State_Met%SPHU2', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%SPHU2 => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%T ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%T => NULL() #else DEALLOCATE( State_Met%T, STAT=RC ) CALL GC_CheckVar( 'State_Met%T', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%T => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%TMPU1 ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%TMPU1 => NULL() #else DEALLOCATE( State_Met%TMPU1, STAT=RC ) CALL GC_CheckVar( 'State_Met%TMPU1', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%TMPU1 => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%TMPU2 ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%TMPU2 => NULL() #else DEALLOCATE( State_Met%TMPU2, STAT=RC ) CALL GC_CheckVar( 'State_Met%TMPU2', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%TMPU2 => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%TV ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%TV => NULL() #else DEALLOCATE( State_Met%TV, STAT=RC ) CALL GC_CheckVar( 'State_Met%TV', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%TV => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%TAUCLI ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%TAUCLI => NULL() #else DEALLOCATE( State_Met%TAUCLI, STAT=RC ) CALL GC_CheckVar( 'State_Met%TAUCLI', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%TAUCLI => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%TAUCLW ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%TAUCLW => NULL() #else DEALLOCATE( State_Met%TAUCLW, STAT=RC ) CALL GC_CheckVar( 'State_Met%TAUCLW', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%TAUCLW => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%U ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%U => NULL() #else DEALLOCATE( State_Met%U, STAT=RC ) CALL GC_CheckVar( 'State_Met%U', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%U => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%UPDVVEL ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%UPDVVEL => NULL() #else DEALLOCATE( State_Met%UPDVVEL, STAT=RC ) CALL GC_CheckVar( 'State_Met%UPDVVEL', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%UPDVVEL => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%V ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%V => NULL() #else DEALLOCATE( State_Met%V, STAT=RC ) CALL GC_CheckVar( 'State_Met%V', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%V => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%XLAI ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%XLAI => NULL() #else DEALLOCATE( State_Met%XLAI, STAT=RC ) CALL GC_CheckVar( 'State_Met%XLAI', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%XLAI => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%XLAI2 ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%XLAI2 => NULL() #else DEALLOCATE( State_Met%XLAI2, STAT=RC ) CALL GC_CheckVar( 'State_Met%XLAI2', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%XLAI2 => NULL() #endif ENDIF IF ( ASSOCIATED( State_Met%XLAI_NATIVE ) ) THEN #if defined( ESMF_ ) || defined( MODEL_WRF ) State_Met%XLAI_NATIVE => NULL() #else DEALLOCATE( State_Met%XLAI_NATIVE, STAT=RC ) CALL GC_CheckVar( 'State_Met%XLAI_NATIVE', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%XLAI_NATIVE => NULL() #endif ENDIF !======================================================================= ! Fields for querying which vertical regime a grid box is in ! or if it is near local solar noon at a grid box !======================================================================= IF ( ASSOCIATED( State_Met%InChemGrid ) ) THEN DEALLOCATE( State_Met%InChemGrid, STAT=RC ) CALL GC_CheckVar( 'State_Met%InChemGrid', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%InChemGrid => NULL() ENDIF IF ( ASSOCIATED( State_Met%InPbl ) ) THEN DEALLOCATE( State_Met%InPbl, STAT=RC ) CALL GC_CheckVar( 'State_Met%InPbl', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%InPbl => NULL() ENDIF IF ( ASSOCIATED( State_Met%InStratMeso ) ) THEN DEALLOCATE( State_Met%InStratMeso, STAT=RC ) CALL GC_CheckVar( 'State_Met%InStratMeso', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%InStratMeso => NULL() ENDIF IF ( ASSOCIATED( State_Met%InStratosphere ) ) THEN DEALLOCATE( State_Met%InStratosphere, STAT=RC ) CALL GC_CheckVar( 'State_Met%InStratosphere', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%InStratosphere => NULL() ENDIF IF ( ASSOCIATED( State_Met%InTroposphere ) ) THEN DEALLOCATE( State_Met%InTroposphere, STAT=RC ) CALL GC_CheckVar( 'State_Met%InTroposphere', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%InTroposphere => NULL() ENDIF IF ( ASSOCIATED( State_Met%IsLocalNoon ) ) THEN DEALLOCATE( State_Met%IsLocalNoon, STAT=RC ) CALL GC_CheckVar( 'State_Met%IsLocalNoon', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%IsLocalNoon => NULL() ENDIF IF ( ASSOCIATED( State_Met%LocalSolarTime ) ) THEN DEALLOCATE( State_Met%LocalSolarTime, STAT=RC ) CALL GC_CheckVar( 'State_Met%LocalSolarTime', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%LocalSolarTime => NULL() ENDIF !======================================================================== ! Fields temporaries used in other modules !======================================================================== IF ( ASSOCIATED( State_Met%C_H2O ) ) THEN DEALLOCATE( State_Met%C_H2O, STAT=RC ) CALL GC_CheckVar( 'State_Met%C_H2O', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%C_H2O => NULL() ENDIF IF ( ASSOCIATED( State_Met%CLDICE ) ) THEN DEALLOCATE( State_Met%CLDICE, STAT=RC ) CALL GC_CheckVar( 'State_Met%CLDICE', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%CLDICE => NULL() ENDIF IF ( ASSOCIATED( State_Met%CLDLIQ ) ) THEN DEALLOCATE( State_Met%CLDLIQ, STAT=RC ) CALL GC_CheckVar( 'State_Met%CLDLIQ', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%CLDLIQ => NULL() ENDIF IF ( ASSOCIATED( State_Met%PDOWN ) ) THEN DEALLOCATE( State_Met%PDOWN, STAT=RC ) CALL GC_CheckVar( 'State_Met%PDOWN', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%PDOWN => NULL() ENDIF IF ( ASSOCIATED( State_Met%QQ ) ) THEN DEALLOCATE( State_Met%QQ, STAT=RC ) CALL GC_CheckVar( 'State_Met%QQ', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%QQ => NULL() ENDIF IF ( ASSOCIATED( State_Met%REEVAP ) ) THEN DEALLOCATE( State_Met%REEVAP, STAT=RC ) CALL GC_CheckVar( 'State_Met%REEVAP', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Met%REEVAP => NULL() ENDIF !------------------------------------------------------------------------- ! Template for deallocating more arrays, replace xxx with field name !------------------------------------------------------------------------- !IF ( ASSOCIATED( State_Met%xxx ) ) THEN ! DEALLOCATE( State_Met%xxx, STAT=RC ) ! CALL GC_CheckVar( 'State_Met%xxx', 2, RC ) ! IF ( RC /= GC_SUCCESS ) RETURN ! State_Met%xxx => NULL() !ENDIF !======================================================================== ! Destroy the registry of fields for this module !======================================================================== CALL Registry_Destroy( State_Met%Registry, State_Met%RegDict, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not destroy registry object State_Met%Registry!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Nullify the registry object State_Met%Registry => NULL() END SUBROUTINE Cleanup_State_Met !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_Metadata_State_Met ! ! !DESCRIPTION: Subroutine GET\_METDATA\_STATE\_MET retrieves basic ! information about each State\_Met field. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Get_Metadata_State_Met( am_I_Root, metadataID, Found, RC, & Desc, Units, Rank, Type, & VLoc, perQnt ) ! ! !USES: ! USE Charpak_Mod, ONLY: To_UpperCase USE Registry_Params_Mod ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: am_I_Root CHARACTER(LEN=*), INTENT(IN) :: metadataID ! State_Met field ID ! ! !OUTPUT PARAMETERS: ! LOGICAL, INTENT(OUT) :: Found ! Item found? INTEGER, INTENT(OUT) :: RC ! Return code CHARACTER(LEN=255), OPTIONAL :: Desc ! Long name string CHARACTER(LEN=255), OPTIONAL :: Units ! Units string INTEGER, OPTIONAL :: Rank ! # of dimensions INTEGER, OPTIONAL :: Type ! Desc of data type INTEGER, OPTIONAL :: VLoc ! Vertical placement CHARACTER(LEN=255), OPTIONAL :: perQnt ! "Quantity" dimension? ! ! !REVISION HISTORY: ! 28 Aug 2017 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=255) :: ErrMsg, ThisLoc, Name_AllCaps LOGICAL :: isDesc, isUnits, isRank, isType, isVLoc, isQnt !======================================================================== ! Initialize !======================================================================== ! Assume success RC = GC_SUCCESS ThisLoc = ' -> at Get_Metadata_State_Met (in Headers/state_met_mod.F90)' Found = .TRUE. ! Optional arguments present? isDesc = PRESENT( Desc ) isUnits = PRESENT( Units ) isRank = PRESENT( Rank ) isType = PRESENT( Type ) isVLoc = PRESENT( VLoc ) isQnt = PRESENT( perQnt ) ! Set defaults for optional arguments. Assume type and vertical ! location are real (flexible precision) and center unless specified ! otherwise IF ( isUnits ) Units = '' IF ( isDesc ) Desc = '' IF ( isRank ) Rank = -1 ! initialize as bad value IF ( isType ) Type = KINDVAL_FP ! Assume real with flex precision IF ( isVLoc ) VLoc = VLocationNone ! Assume no vertical location IF ( isQnt ) perQnt = '' ! Assume no "species" dimension ! Convert name to uppercase Name_AllCaps = To_Uppercase( TRIM( metadataID ) ) !======================================================================== ! Values for Retrieval (string comparison slow but happens only once) !======================================================================== SELECT CASE ( TRIM( Name_AllCaps) ) !--------------------------------------------------------------------- ! 2-D Fields !--------------------------------------------------------------------- CASE ( 'ALBD' ) IF ( isDesc ) Desc = 'Visible surface albedo' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 CASE ( 'AREAM2' ) IF ( isDesc ) Desc = 'Surface area of grid box' IF ( isUnits ) Units = 'm2' IF ( isRank ) Rank = 2 CASE ( 'CHEMGRIDLEV' ) IF ( isDesc ) Desc = 'Highest level of the chemistry grid' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 CASE ( 'CLDFRC' ) IF ( isDesc ) Desc = 'Column cloud fraction' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 CASE ( 'CLDTOPS' ) IF ( isDesc ) Desc = 'Maximum cloud top height' IF ( isUnits ) Units = 'level' IF ( isRank ) Rank = 2 IF ( isType ) Type = KINDVAL_I4 #ifdef MODEL_GEOS CASE ( 'CNVFRC' ) IF ( isDesc ) Desc = 'Convective fraction' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 #endif CASE ( 'CONVDEPTH' ) IF ( isDesc ) Desc = 'Convective cloud depth' IF ( isUnits ) Units = 'm' IF ( isRank ) Rank = 2 CASE ( 'EFLUX' ) IF ( isDesc ) Desc = 'Latent heat flux' IF ( isUnits ) Units = 'W m-2' IF ( isRank ) Rank = 2 CASE ( 'FLASHDENS' ) IF ( isDesc ) Desc = 'Lightning flash density' IF ( isUnits ) Units = 'km-2 s-1' IF ( isRank ) Rank = 2 CASE ( 'FRCLND' ) IF ( isDesc ) Desc = 'Olson land fraction' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 CASE ( 'FRLAKE' ) IF ( isDesc ) Desc = 'Fraction of lake in grid box' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 CASE ( 'FRLAND' ) IF ( isDesc ) Desc = 'Fraction of land in grid box, excluding lake and ice' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 CASE ( 'FRLANDICE' ) IF ( isDesc ) Desc = 'Fraction of land ice in grid box' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 CASE ( 'FROCEAN' ) IF ( isUnits ) Units = '1' IF ( isDesc ) Desc = 'Fraction of ocean in grid box' IF ( isRank ) Rank = 2 CASE ( 'FRSEAICE' ) IF ( isDesc ) Desc = 'Fraction of sea ice in grid box' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 CASE ( 'FRSNOW' ) IF ( isDesc ) Desc = 'Fraction of snow in grid box, excluding snow on ice' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 CASE ( 'GWETROOT' ) IF ( isDesc ) Desc = 'Root soil wetness' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 CASE ( 'GWETTOP' ) IF ( isDesc ) Desc = 'Top soil moisture' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 CASE ( 'HFLUX' ) IF ( isDesc ) Desc = 'Sensible heat flux' IF ( isUnits ) Units = 'W m-2' IF ( isRank ) Rank = 2 CASE ( 'LAI' ) IF ( isDesc ) Desc = 'Leaf area index from GMAO' IF ( isUnits ) Units = 'm2 m-2' IF ( isRank ) Rank = 2 CASE ( 'PARDR' ) IF ( isDesc ) Desc = 'Direct photosynthetically-active radiation' IF ( isUnits ) Units = 'W m-2' IF ( isRank ) Rank = 2 CASE ( 'PARDF' ) IF ( isDesc ) Desc = 'Diffuse photosynthetically-active radiation' IF ( isUnits ) Units = 'W m-2' IF ( isRank ) Rank = 2 CASE ( 'PBLH' ) IF ( isDesc ) Desc = 'Planetary boundary layer height' IF ( isUnits ) Units = 'm' IF ( isRank ) Rank = 2 CASE ( 'PBLTOPHPA' ) IF ( isDesc ) Desc = 'Planetary boundary layer top' IF ( isUnits ) Units = 'hPa' IF ( isRank ) Rank = 2 CASE ( 'PBLTOPL' ) IF ( isDesc ) Desc = 'Planetary boundary layer top' IF ( isUnits ) Units = 'layer' IF ( isRank ) Rank = 2 IF ( isType ) Type = KINDVAL_I4 CASE ( 'PBLTOPM' ) IF ( isDesc ) Desc = 'Planetary boundary layer top' IF ( isUnits ) Units = 'm' IF ( isRank ) Rank = 2 CASE ( 'PBLTHICK' ) IF ( isDesc ) Desc = 'Planetary boundary layer thickness' IF ( isUnits ) Units = 'hPa' IF ( isRank ) Rank = 2 CASE ( 'PHIS' ) IF ( isDesc ) Desc = 'Surface geopotential height' IF ( isUnits ) Units = 'm' IF ( isRank ) Rank = 2 CASE ( 'PRECANV' ) IF ( isDesc ) Desc = 'Anvil precipitation at the ground' IF ( isUnits ) Units = 'kg m-2 s-1' IF ( isRank ) Rank = 2 CASE ( 'PRECCON' ) IF ( isDesc ) Desc = 'Convective precipitation at the ground' IF ( isUnits ) Units = 'mm day-1' IF ( isRank ) Rank = 2 CASE ( 'PRECLSC' ) IF ( isDesc ) Desc = 'Large-scale precipitation at the ground' IF ( isUnits ) Units = 'kg m-2 s-1' IF ( isRank ) Rank = 2 CASE ( 'PRECTOT' ) IF ( isDesc ) Desc = 'Total precipitation at the ground' IF ( isUnits ) Units = 'mm day-1' IF ( isRank ) Rank = 2 CASE ( 'PS1WET' ) IF ( isDesc ) Desc = 'Wet surface pressure at dt start' IF ( isUnits ) Units = 'hPa' IF ( isRank ) Rank = 2 CASE ( 'PS2WET' ) IF ( isDesc ) Desc = 'Wet surface pressure at dt end' IF ( isUnits ) Units = 'hPa' IF ( isRank ) Rank = 2 CASE ( 'PSC2WET' ) IF ( isDesc ) Desc = 'Wet interpolated surface pressure' IF ( isUnits ) Units = 'hPa' IF ( isRank ) Rank = 2 CASE ( 'PS1DRY' ) IF ( isDesc ) Desc = 'Dry surface pressure at dt start' IF ( isUnits ) Units = 'hPa' IF ( isRank ) Rank = 2 CASE ( 'PS2DRY' ) IF ( isDesc ) Desc = 'Dry surface pressure at dt end' IF ( isUnits ) Units = 'hPa' IF ( isRank ) Rank = 2 CASE ( 'PSC2DRY' ) IF ( isDesc ) Desc = 'Dry interpolated surface pressure' IF ( isUnits ) Units = 'hPa' IF ( isRank ) Rank = 2 CASE ( 'SEAICE00' ) IF ( isDesc ) Desc = 'Sea ice coverage 00-10%' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 CASE ( 'QV2M' ) IF ( isDesc ) Desc = 'Specific humidity at 2 m' IF ( isUnits ) Units = 'kg kg-1' IF ( isRank ) Rank = 2 CASE ( 'SEAICE10' ) IF ( isDesc ) Desc = 'Sea ice coverage 10-20%' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 CASE ( 'SEAICE20' ) IF ( isDesc ) Desc = 'Sea ice coverage 20-30%' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 CASE ( 'SEAICE30' ) IF ( isDesc ) Desc = 'Sea ice coverage 30-40%' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 CASE ( 'SEAICE40' ) IF ( isDesc ) Desc = 'Sea ice coverage 40-50%' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 CASE ( 'SEAICE50' ) IF ( isDesc ) Desc = 'Sea ice coverage 50-60%' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 CASE ( 'SEAICE60' ) IF ( isDesc ) Desc = 'Sea ice coverage 60-70%' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 CASE ( 'SEAICE70' ) IF ( isDesc ) Desc = 'Sea ice coverage 70-80%' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 CASE ( 'SEAICE80' ) IF ( isDesc ) Desc = 'Sea ice coverage 80-90%' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 CASE ( 'SEAICE90' ) IF ( isDesc ) Desc = 'Sea ice coverage 90-100%' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 CASE ( 'SLP' ) IF ( isDesc ) Desc = 'Sea level pressure' IF ( isUnits ) Units = 'hPa' IF ( isRank ) Rank = 2 CASE ( 'SNODP' ) IF ( isDesc ) Desc = 'Snow depth' IF ( isUnits ) Units = 'm' IF ( isRank ) Rank = 2 CASE ( 'SNOMAS' ) IF ( isDesc ) Desc = 'Snow mass' IF ( isUnits ) Units = 'kg m-2' IF ( isRank ) Rank = 2 CASE ( 'SST' ) IF ( isDesc ) Desc = 'Sea surface temperature' IF ( isUnits ) Units = 'K' IF ( isRank ) Rank = 2 CASE ( 'SUNCOS' ) IF ( isDesc ) Desc = 'Cosine of solar zenith angle, current time' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 CASE ( 'SUNCOSMID' ) IF ( isDesc ) Desc = 'Cosine of solar zenith angle, at ' // & 'midpoint of chemistry timestep' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 CASE ( 'SUNCOSSUM' ) IF ( isDesc ) Desc = 'Sum of Cosine of solar zenith angle, current time (HEMCO)' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 CASE ( 'SZAFACT' ) IF ( isDesc ) Desc = 'Diurnal scale factor from dividing the sza by the sum of the total sza per day (HEMCO)' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 CASE ( 'SWGDN' ) IF ( isDesc ) Desc = 'Incident shortwave radiation at ground' IF ( isUnits ) Units = 'W m-2' IF ( isRank ) Rank = 2 CASE ( 'TO3' ) IF ( isDesc ) Desc = 'Total overhead ozone column' IF ( isUnits ) Units = 'dobsons' IF ( isRank ) Rank = 2 CASE ( 'TROPLEV' ) IF ( isDesc ) Desc = 'GEOS-Chem level where the tropopause occurs' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 CASE ( 'TROPHT' ) IF ( isDesc ) Desc = 'Tropopause height' IF ( isUnits ) Units = 'km' IF ( isRank ) Rank = 2 CASE ( 'TROPP' ) IF ( isDesc ) Desc = 'Tropopause pressure' IF ( isUnits ) Units = 'hPa' IF ( isRank ) Rank = 2 CASE ( 'TS' ) IF ( isDesc ) Desc = 'Surface temperature' IF ( isUnits ) Units = 'K' IF ( isRank ) Rank = 2 CASE ( 'TSKIN' ) IF ( isDesc ) Desc = 'Surface skin temperature' IF ( isUnits ) Units = 'K' IF ( isRank ) Rank = 2 CASE ( 'TSOIL1' ) IF ( isDesc ) Desc = 'Soil temperature' IF ( isUnits ) Units = 'K' IF ( isRank ) Rank = 2 CASE ( 'U10M' ) IF ( isDesc ) Desc = 'East-west wind at 10 meter height' IF ( isUnits ) Units = 'm s-1' IF ( isRank ) Rank = 2 CASE ( 'USTAR' ) IF ( isDesc ) Desc = 'Friction velocity' IF ( isUnits ) Units = 'm s-1' IF ( isRank ) Rank = 2 CASE ( 'UVALBEDO' ) IF ( isDesc ) Desc = 'Ultraviolet surface albedo' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 CASE ( 'V10M' ) IF ( isDesc ) Desc = 'North-south wind at 10 meter height' IF ( isUnits ) Units = 'm s-1' IF ( isRank ) Rank = 2 CASE ( 'Z0' ) IF ( isDesc ) Desc = 'Surface roughness height' IF ( isUnits ) Units = 'm' IF ( isRank ) Rank = 2 CASE ( 'LOCALSOLARTIME' ) IF ( isDesc ) Desc = 'Local solar time' IF ( isUnits ) Units = 'hours' IF ( isRank ) Rank = 2 !--------------------------------------------------------------------- ! 3-D Fields !--------------------------------------------------------------------- CASE ( 'AD' ) IF ( isDesc ) Desc = 'Dry air mass' IF ( isUnits ) Units = 'kg' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationCenter CASE ( 'AIRDEN' ) IF ( isDesc ) Desc = 'Dry air density' IF ( isUnits ) Units = 'kg m-3' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationCenter CASE ( 'MAIRDEN' ) IF ( isDesc ) Desc = 'Moist air density' IF ( isUnits ) Units = 'kg m-3' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationCenter CASE ( 'AIRNUMDEN' ) IF ( isDesc ) Desc = 'Dry air density' IF ( isUnits ) Units = 'molec cm-3' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationCenter CASE ( 'AIRVOL' ) IF ( isDesc ) Desc = 'Volume of grid box' IF ( isUnits ) Units = 'm3' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationCenter CASE ( 'AVGW' ) IF ( isDesc ) Desc = 'Water vapor mixing ratio (w/r/t dry air)' IF ( isUnits ) Units = 'vol vol-1' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationCenter CASE ( 'BXHEIGHT' ) IF ( isDesc ) Desc = 'Grid box height' IF ( isUnits ) Units = 'm' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationCenter #ifdef LUO_WETDEP CASE ( 'KINC' ) IF ( isDesc ) Desc = 'air refreshing rate' IF ( isUnits ) Units = 's-1' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationCenter CASE ( 'WUP' ) IF ( isDesc ) Desc = 'TKE wind speed' IF ( isUnits ) Units = 'm s-1' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationCenter CASE ( 'TKICE' ) IF ( isDesc ) Desc = 'ice uptake rate' IF ( isUnits ) Units = 's-1' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationCenter CASE ( 'NUMCD' ) IF ( isDesc ) Desc = 'cloud ice number' IF ( isUnits ) Units = 'cm-3' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationCenter CASE ( 'ICESF' ) IF ( isDesc ) Desc = 'cloud ice surface area' IF ( isUnits ) Units = 'cm2' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationCenter CASE ( 'RADCD' ) IF ( isDesc ) Desc = 'cloud ice radius' IF ( isUnits ) Units = 'cm' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationCenter #endif CASE ( 'CLDF' ) IF ( isDesc ) Desc = '3-D cloud fraction' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationCenter CASE ( 'CMFMC' ) IF ( isDesc ) Desc = 'Cloud mass flux' IF ( isUnits ) Units = 'kg m-2 s-1' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationEdge CASE ( 'DELP' ) IF ( isDesc ) Desc = 'Delta-pressure across grid box(wet air)' IF ( isUnits ) Units = 'hPa' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationCenter CASE ( 'DELPDRY' ) IF ( isDesc ) Desc = 'Delta-pressure across grid box (dry air)' IF ( isUnits ) Units = 'hPa' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationCenter CASE ( 'DPDRYPREV' ) IF ( isDesc ) Desc = 'Previous State_Met%DELP_DRY' IF ( isUnits ) Units = 'hPa' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationCenter CASE ( 'SPHUPREV' ) IF ( isDesc ) Desc = 'Previous State_Met%SPHU_PREV' IF ( isUnits ) Units = 'g kg-1' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationCenter CASE ( 'DYNHEATING' ) IF ( isDesc ) Desc = 'Dynamical heating rate' IF ( isUnits ) Units = 'K day-1' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationCenter CASE ( 'DQRCU' ) IF ( isDesc ) Desc = 'Production rate of convective ' // & 'precipitation (per dry air)' IF ( isUnits ) Units = 'kg kg-1 s-1' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationCenter CASE ( 'DQRLSAN' ) IF ( isDesc ) Desc = 'Production rate of large-scale ' // & 'precipitation (per dry air)' IF ( isUnits ) Units = 'kg kg-1 s-1' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationCenter CASE ( 'DTRAIN' ) IF ( isDesc ) Desc = 'Detrainment flux' IF ( isUnits ) Units = 'kg m-2 s-1' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationCenter CASE ( 'FOFPBL' ) IF ( isDesc ) Desc = 'Fraction of PBL' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 CASE ( 'FUNDERPBLTOP' ) IF ( isDesc ) Desc = 'Fraction of box under PBL top' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 CASE ( 'OMEGA' ) IF ( isDesc ) Desc = 'Updraft velocity' IF ( isUnits ) Units = 'Pa s-1' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationCenter CASE ( 'OPTD' ) IF ( isDesc ) Desc = 'Visible optical depth' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationCenter CASE ( 'PEDGE' ) IF ( isDesc ) Desc = 'Pressure (w/r/t moist air) at level edges' IF ( isUnits ) Units = 'hPa' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationEdge CASE ( 'PEDGEDRY' ) IF ( isDesc ) Desc = 'Pressure (w/r/t dry air) at level edges' IF ( isUnits ) Units = 'hPa' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationEdge CASE ( 'PFICU' ) IF ( isDesc ) Desc = 'Downward flux of ice precipitation ' // & '(convective)' IF ( isUnits ) Units = 'kg m-2 s-1' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationEdge CASE ( 'PFILSAN' ) IF ( isDesc ) Desc = 'Downwared flux of ice precipitation ' // & '(large-scale + anvil)' IF ( isRank ) Rank = 3 IF ( isUnits ) Units = 'kg m-2 s-1' IF ( isVLoc ) VLoc = VLocationEdge CASE ( 'PFLCU' ) IF ( isDesc ) Desc = 'Downward flux of liquid precipitation ' // & '(convective)' IF ( isUnits ) Units = 'kg m-2 s-1' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationEdge CASE ( 'PFLLSAN' ) IF ( isDesc ) Desc = 'Downward flux of liquid precipitation ' // & '(large-scale + anvil)' IF ( isUnits ) Units = 'kg m-2 s-1' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationEdge CASE ( 'PMID' ) IF ( isDesc ) Desc = 'Pressure (w/r/t moist air) at level centers' IF ( isUnits ) Units = 'hPa' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationCenter CASE ( 'PMIDDRY' ) IF ( isDesc ) Desc = 'Pressure (w/r/t dry air) at level centers' IF ( isUnits ) Units = 'hPa' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationCenter CASE ( 'QI' ) IF ( isDesc ) Desc = 'Ice mixing ratio (w/r/t dry air)' IF ( isUnits ) Units = 'kg kg-1' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationCenter CASE ( 'QL' ) IF ( isDesc ) Desc = 'Water mixing ratio (w/r/t dry air)' IF ( isUnits ) Units = 'kg kg-1' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationCenter CASE ( 'REEVAPCN' ) IF ( isDesc ) Desc = 'Evaporation of convective ' // & 'precipitation (w/r/t dry air)' IF ( isUnits ) Units = 'kg kg-1 s-1' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationCenter CASE ( 'REEVAPLS' ) IF ( isDesc ) Desc = 'Evaporation of large-scale + anvil ' // & 'precipitation (w/r/t dry air)' IF ( isUnits ) Units = 'kg ' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationCenter CASE ( 'RH' ) IF ( isDesc ) Desc = 'Relative humidity' IF ( isUnits ) Units = '%' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationCenter CASE ( 'SPHU' ) IF ( isDesc ) Desc = 'Specific humidity (w/r/t moist air)' IF ( isUnits ) Units = 'g kg-1' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationCenter CASE ( 'SPHU1' ) IF ( isDesc ) Desc = 'Instantaneous specific humidity at time=T' IF ( isUnits ) Units = 'g kg-1' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationCenter CASE ( 'SPHU2' ) IF ( isDesc ) Desc = 'Instantaneous specific humidity at time=T+dt' IF ( isUnits ) Units = 'g kg-1' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationCenter CASE ( 'T' ) IF ( isDesc ) Desc = 'Temperature' IF ( isUnits ) Units = 'K' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationCenter CASE ( 'THETA' ) IF ( isDesc ) Desc = 'Potential temperature' IF ( isUnits ) Units = 'K' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationCenter CASE ( 'TV' ) IF ( isDesc ) Desc = 'Virtual temperature' IF ( isUnits ) Units = 'K' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationCenter CASE ( 'TAUCLI' ) IF ( isDesc ) Desc = 'Optical depth of ice clouds' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationCenter CASE ( 'TAUCLW' ) IF ( isDesc ) Desc = 'Optical depth of H2O clouds' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationCenter CASE ( 'TMPU1' ) IF ( isDesc ) Desc = 'Instantaneous temperature at time=T' IF ( isUnits ) Units = 'K' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationCenter CASE ( 'TMPU2' ) IF ( isDesc ) Desc = 'Instantaneous temperature at time T+dt' IF ( isUnits ) Units = 'K' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationCenter CASE ( 'U' ) IF ( isDesc ) Desc = 'East-west component of wind' IF ( isUnits ) Units = 'm s-1' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationCenter #ifdef MODEL_GEOS CASE ( 'UPDVVEL' ) IF ( isDesc ) Desc = 'Updraft vertical velocity' IF ( isUnits ) Units = 'hPa s-1' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationCenter #endif CASE ( 'V' ) IF ( isDesc ) Desc = 'North-south component of wind' IF ( isUnits ) Units = 'm s-1' IF ( isRank ) Rank = 3 IF ( isVLoc ) VLoc = VLocationCenter !--------------------------------------------------------------------- ! Offline land type, leaf area index, and chlorophyll fields !--------------------------------------------------------------------- CASE ( 'IREG' ) IF ( isDesc ) Desc = 'Number of Olson land types in each grid box' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 IF ( isType ) Type = KINDVAL_I4 CASE ( 'ILAND' ) IF ( isDesc ) Desc = 'Olson land type indices in each grid box' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 IF ( isType ) Type = KINDVAL_I4 IF ( isQnt ) perQnt = 'OLSON' CASE ( 'IUSE' ) IF ( isDesc ) Desc = 'Fraction (per mil) occupied by each ' // & 'Olson land type in the grid box' IF ( isUnits ) Units = 'o/oo' IF ( isRank ) Rank = 2 IF ( isType ) Type = KINDVAL_I4 IF ( isQnt ) perQnt = 'OLSON' CASE ( 'XLAI' ) IF ( isDesc ) Desc = 'MODIS LAI for each Olson land type, ' // & 'current month' IF ( isUnits ) Units = 'm2 m-2' IF ( isRank ) Rank = 2 IF ( isQnt ) perQnt = 'OLSON' CASE ( 'XLAI2' ) IF ( isDesc ) Desc = 'MODIS LAI for each Olson land type, ' // & 'next month' IF ( isUnits ) Units = 'm2 m-2' IF ( isRank ) Rank = 2 IF ( isQnt ) perQnt = 'OLSON' CASE ( 'MODISLAI' ) IF ( isDesc ) Desc = 'Daily LAI computed from monthly ' // & 'offline MODIS values' IF ( isUnits ) Units = 'm2 m-2' IF ( isRank ) Rank = 2 CASE ( 'LANDTYPEFRAC' ) IF ( isDesc ) Desc = 'Olson fraction per land type' IF ( isUnits ) Units = '1' IF ( isRank ) Rank = 2 IF ( isQnt ) perQnt = 'OLSON' CASE ( 'XLAINATIVE' ) IF ( isDesc ) Desc = 'Average LAI per Olson land type' IF ( isUnits ) Units = 'm2 m-2' IF ( isRank ) Rank = 2 IF ( isQnt ) perQnt = 'OLSON' ! CASE ( 'INCHEMGRID' ) ! IF ( isDesc ) Desc = 'Is each grid box in the chemistry grid?' ! IF ( isUnits ) Units = 'boolean' ! IF ( isRank ) Rank = 3 ! ! CASE ( 'INTROPOSPHERE' ) ! IF ( isDesc ) Desc = 'Is each grid box in the troposphere?' ! IF ( isUnits ) Units = 'boolean' ! IF ( isRank ) Rank = 3 ! ! CASE ( 'INPBL' ) ! IF ( isDesc ) Desc = 'Is each grid box in the planetary boundary layer?' ! IF ( isUnits ) Units = 'boolean' ! IF ( isRank ) Rank = 3 CASE DEFAULT Found = .False. ErrMsg = 'Metadata not found for State_Met field ID: ' & // TRIM( metadataID ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN END SELECT ! Set VLoc to undefined if variable is 2d IF ( isVLoc .AND. Rank == 2 ) THEN VLoc = VLocationNone ENDIF END SUBROUTINE Get_Metadata_State_Met !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_and_Register_R4_2D ! ! !DESCRIPTION: Allocates the data array for a State_Met field, ! and also adds the field into the State_Chm registry. ! This particular routine is for 4-byte, 2-dimensional array fields. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_and_Register_R4_2D( Input_Opt, State_Met, State_Grid, & Ptr2Data, metId, RC, & noRegister ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State CHARACTER(LEN=*), INTENT(IN) :: metId ! Field name LOGICAL, OPTIONAL :: noRegister ! Exit after init ! ! !INPUT/OUTPUT PARAMETERS: ! REAL(f4), POINTER :: Ptr2Data(:,:) ! Pointer to data ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 21 Sep 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: doRegister ! Arrays INTEGER :: dims(2) ! Strings CHARACTER(LEN=255) :: arrayId !======================================================================== ! Init_and_Register_R4_2D begins here! !======================================================================== ! Initialize RC = GC_SUCCESS arrayId = 'State_Met%' // TRIM( metId ) IF ( PRESENT( noRegister ) ) THEN doRegister = ( .not. noRegister ) ELSE doRegister = .TRUE. ENDIF !======================================================================== ! Allocate the field array (if it hasn't already been allocated) !======================================================================== IF ( .not. ASSOCIATED( Ptr2Data ) ) THEN ! Get array dimensions dims(1) = State_Grid%NX dims(2) = State_Grid%NY ! Allocate the array ALLOCATE( Ptr2Data( dims(1), dims(2) ), STAT=RC ) CALL GC_CheckVar( arrayId, 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN Ptr2Data = 0.0_f4 ENDIF !======================================================================== ! Register the field (unless we explicitly say not to) !======================================================================== IF ( doRegister ) THEN CALL Register_MetField( Input_Opt, metId, Ptr2Data, State_Met, RC ) CALL GC_CheckVar( arrayId, 1, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF END SUBROUTINE Init_and_Register_R4_2D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_and_Register_R4_3D ! ! !DESCRIPTION: Allocates the data array for a State_Met field, ! and also adds the field into the State_Chm registry. ! This particular routine is for 4-byte, 3-dimensional array fields. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_and_Register_R4_3D( Input_Opt, State_Met, State_Grid, & Ptr2Data, metId, RC, & noRegister, onEdges, zxyOrder, & nSlots ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State CHARACTER(LEN=*), INTENT(IN) :: metId ! Field name LOGICAL, OPTIONAL :: noRegister ! Exit after init LOGICAL, OPTIONAL :: onEdges ! Data on vert edges? LOGICAL, OPTIONAL :: zxyOrder ! Data array (Z,X,Y)? INTEGER, OPTIONAL :: nSlots ! # slots for Z dim ! ! !INPUT/OUTPUT PARAMETERS: ! REAL(f4), POINTER :: Ptr2Data(:,:,:) ! Pointer to data ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 21 Sep 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: doEdges, doRegister, doSlots, doZxy ! Arrays INTEGER :: dims(3) ! Strings CHARACTER(LEN=255) :: arrayId !======================================================================== ! Init_and_Register_R4_3D begins here! !======================================================================== ! Initialize RC = GC_SUCCESS arrayId = 'State_Met%' // TRIM( metId ) IF ( PRESENT( onEdges ) ) THEN doEdges = onEdges ELSE doEdges = .FALSE. ENDIF IF ( PRESENT( noRegister ) ) THEN doRegister = ( .not. noRegister ) ELSE doRegister = .TRUE. ENDIF doSlots = PRESENT( nSlots ) IF ( PRESENT( zxyOrder ) ) THEN doZxy = zxyOrder ELSE doZxy = .FALSE. ENDIF !======================================================================== ! Allocate the field array (if it hasn't already been allocated) !======================================================================== IF ( .not. ASSOCIATED( Ptr2Data ) ) THEN ! Get array ID and dimensions IF ( doZxy ) THEN ! ZXY order dims(1) = State_Grid%NZ dims(2) = State_Grid%NX dims(3) = State_Grid%NY ! If we have specified nSlots, use that for 1st dimension ! Otherwise, if data is on vertical edges, increment 1st dimension IF ( doSlots ) THEN dims(1) = nSlots ELSE IF ( doEdges ) dims(1) = dims(1) + 1 ENDIF ELSE ! XYZ order dims(1) = State_Grid%NX dims(2) = State_Grid%NY dims(3) = State_Grid%NZ ! If we have specified nSlots, use that for 3rd dimension ! Otherwise, if data is on vertical edges, increment 3rd dimension IF ( doSlots ) THEN dims(3) = nSlots ELSE IF ( doEdges ) dims(3) = dims(3) + 1 ENDIF ENDIF ! Allocate the array ALLOCATE( Ptr2Data( dims(1), dims(2), dims(3) ), STAT=RC ) CALL GC_CheckVar( arrayId, 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN Ptr2Data = 0.0_f4 ENDIF !======================================================================== ! Register the field (unless we explicitly say not to) !======================================================================== IF ( doRegister ) THEN CALL Register_MetField( Input_Opt, metId, Ptr2Data, State_Met, RC ) CALL GC_CheckVar( arrayId, 1, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF END SUBROUTINE Init_and_Register_R4_3D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_and_Register_R8_2D ! ! !DESCRIPTION: Allocates the data array for a State_Chm field, ! and also adds the field into the State_Chm registry. ! This particular routine is for 8-byte, 2-dimensional fields. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_and_Register_R8_2D( Input_Opt, State_Met, State_Grid, & Ptr2Data, metId, RC, & noRegister ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State CHARACTER(LEN=*), INTENT(IN) :: metId ! Field name LOGICAL, OPTIONAL :: noRegister ! Exit after init ! ! !INPUT/OUTPUT PARAMETERS: ! REAL(f8), POINTER :: Ptr2Data(:,:) ! Pointer to data ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 21 Sep 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: doRegister ! Arrays INTEGER :: dims(2) ! Strings CHARACTER(LEN=255) :: arrayId !======================================================================= ! Init_and_Register_R8_2D begins here! !======================================================================= ! Initialize RC = GC_SUCCESS arrayId = 'State_Met%' // TRIM( metId ) IF ( PRESENT( noRegister ) ) THEN doRegister = ( .not. noRegister ) ELSE doRegister = .TRUE. ENDIF !======================================================================= ! Allocate the field array (if it hasn't already been allocated) !======================================================================= IF ( .not. ASSOCIATED( Ptr2Data ) ) THEN ! Get array dimensions dims(1) = State_Grid%NX dims(2) = State_Grid%NY ! Allocate the data ALLOCATE( Ptr2Data( dims(1), dims(2) ), STAT=RC ) CALL GC_CheckVar( arrayId, 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN Ptr2Data = 0.0_f8 ENDIF !======================================================================= ! Register the field !======================================================================= IF ( doRegister ) THEN CALL Register_MetField( Input_Opt, metId, Ptr2Data, State_Met, RC ) CALL GC_CheckVar( arrayId, 1, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF END SUBROUTINE Init_and_Register_R8_2D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_and_Register_R8_3D ! ! !DESCRIPTION: Allocates the data array for a State_Chm field, ! and also adds the field into the State_Chm registry. ! This particular routine is for 8-byte, 2-dimensional arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_and_Register_R8_3D( Input_Opt, State_Met, State_Grid, & Ptr2Data, metId, RC, & noRegister, onEdges, zxyOrder, & nSlots ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State CHARACTER(LEN=*), INTENT(IN) :: metId ! Field name LOGICAL, OPTIONAL :: noRegister ! Exit after init LOGICAL, OPTIONAL :: onEdges ! Data on vert edges? LOGICAL, OPTIONAL :: zxyOrder ! Data array (Z,X,Y)? INTEGER, OPTIONAL :: nSlots ! # slots, Z dim ! ! !INPUT/OUTPUT PARAMETERS: ! REAL(f8), POINTER :: Ptr2Data(:,:,:) ! Pointer to data ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 21 Sep 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: doEdges, doRegister, doSlots, doZxy ! Arrays INTEGER :: dims(3) ! Strings CHARACTER(LEN=255) :: arrayId !======================================================================== ! Init_and_Register_R4_2D begins here! !======================================================================== ! Initialize RC = GC_SUCCESS arrayId = 'State_Met%' // TRIM( metId ) IF ( PRESENT( onEdges ) ) THEN doEdges = onEdges ELSE doEdges = .FALSE. ENDIF IF ( PRESENT( noRegister ) ) THEN doRegister = ( .not. noRegister ) ELSE doRegister = .TRUE. ENDIF doSlots = PRESENT( nSlots ) IF ( PRESENT( zxyOrder ) ) THEN doZxy = zxyOrder ELSE doZxy = .FALSE. ENDIF !======================================================================== ! Allocate the field array (if it hasn't already been allocated) !======================================================================== IF ( .not. ASSOCIATED( Ptr2Data ) ) THEN ! Get array ID and dimensions IF ( doZxy ) THEN ! ZXY order dims(1) = State_Grid%NZ dims(2) = State_Grid%NX dims(3) = State_Grid%NY ! If we have specified nSlots, use that for 1st dimension ! Otherwise, if data is on vertical edges, increment 1st dimension IF ( doSlots ) THEN dims(1) = nSlots ELSE IF ( doEdges ) dims(1) = dims(1) + 1 ENDIF ELSE ! XYZ order dims(1) = State_Grid%NX dims(2) = State_Grid%NY dims(3) = State_Grid%NZ ! If we have specified nSlots, use that for 3rd dimension ! Otherwise, if data is on vertical edges, increment 3rd dimension IF ( doSlots ) THEN dims(3) = nSlots ELSE IF ( doEdges ) dims(3) = dims(3) + 1 ENDIF ENDIF ! Allocate the array ALLOCATE( Ptr2Data( dims(1), dims(2), dims(3) ), STAT=RC ) CALL GC_CheckVar( arrayId, 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN Ptr2Data = 0.0_f8 ENDIF !======================================================================== ! Register the field (unless we explicitly say not to) !======================================================================== IF ( doRegister ) THEN CALL Register_MetField( Input_Opt, metId, Ptr2Data, State_Met, RC ) CALL GC_CheckVar( arrayId, 1, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF END SUBROUTINE Init_and_Register_R8_3D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_and_Register_Log_2D ! ! !DESCRIPTION: Allocates the data array for a State_Chm field. ! This particular routine is for logical, 2-dimensional arrays. ! NOTE: At present, it is not possible to archive logical fields ! to HISTORY diagnostics, so we will skip registering logical fields. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_and_Register_Log_2D( Input_Opt, State_Met, State_Grid, & Ptr2Data, metId, RC, & noRegister ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State CHARACTER(LEN=*), INTENT(IN) :: metId ! Field name LOGICAL, OPTIONAL :: noRegister ! Exit after init ! ! !INPUT/OUTPUT PARAMETERS: ! LOGICAL, POINTER :: Ptr2Data(:,:) ! Pointer to data ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 21 Sep 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: NX, NY LOGICAL :: doRegister ! Strings CHARACTER(LEN=255) :: arrayId !======================================================================== ! Init_and_Register_Log_2D begins here! !======================================================================== ! Initialize RC = GC_SUCCESS arrayId = 'State_Met%' // TRIM( metId ) !======================================================================== ! Allocate the field array !======================================================================== IF ( .not. ASSOCIATED( Ptr2Data ) ) THEN ! Get array dimensions NX = State_Grid%NX NY = State_Grid%NY ALLOCATE( Ptr2Data( NX, NY ), STAT=RC ) CALL GC_CheckVar( arrayId, 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN Ptr2Data = .FALSE. ENDIF END SUBROUTINE Init_and_Register_Log_2D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_and_Register_Log_3D ! ! !DESCRIPTION: Allocates the data array for a State_Chm field. ! This particular routine is for logical, 2-dimensional arrays. ! NOTE: At present, it is not possible to archive logical fields ! to HISTORY diagnostics, so we will skip registering logical fields. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_and_Register_Log_3D( Input_Opt, State_Met, State_Grid, & Ptr2Data, metId, RC, & noRegister, onEdges, zxyOrder, & nSlots ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State CHARACTER(LEN=*), INTENT(IN) :: metId ! Field name LOGICAL, OPTIONAL :: noRegister ! Exit after init LOGICAL, OPTIONAL :: onEdges ! Data on vert edges? LOGICAL, OPTIONAL :: zxyOrder ! Data array (Z,X,Y)? INTEGER, OPTIONAL :: nSlots ! # slots for Z dim ! ! !INPUT/OUTPUT PARAMETERS: ! LOGICAL, POINTER :: Ptr2Data(:,:,:) ! Pointer to data ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success/failure! ! ! !REVISION HISTORY: ! 21 Sep 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: doEdges, doRegister, doSlots, doZxy ! Arrays INTEGER :: dims(3) ! Strings CHARACTER(LEN=255) :: arrayId !======================================================================== ! Init_and_Register_Log_2D begins here! !======================================================================== ! Initialize RC = GC_SUCCESS arrayId = 'State_Met%' // TRIM( metId ) IF ( PRESENT( onEdges ) ) THEN doEdges = onEdges ELSE doEdges = .FALSE. ENDIF IF ( PRESENT( noRegister ) ) THEN doRegister = ( .not. noRegister ) ELSE doRegister = .TRUE. ENDIF doSlots = PRESENT( nSlots ) IF ( PRESENT( zxyOrder ) ) THEN doZxy = zxyOrder ELSE doZxy = .FALSE. ENDIF !======================================================================== ! Allocate the field array (if it hasn't already been allocated) !======================================================================== IF ( .not. ASSOCIATED( Ptr2Data ) ) THEN ! Get array ID and dimensions IF ( doZxy ) THEN ! ZXY order dims(1) = State_Grid%NZ dims(2) = State_Grid%NX dims(3) = State_Grid%NY ! If we have specified nSlots, use that for 1st dimension ! Otherwise, if data is on vertical edges, increment 1st dimension IF ( doSlots ) THEN dims(1) = nSlots ELSE IF ( doEdges ) dims(1) = dims(1) + 1 ENDIF ELSE ! XYZ order dims(1) = State_Grid%NX dims(2) = State_Grid%NY dims(3) = State_Grid%NZ ! If we have specified nSlots, use that for 3rd dimension ! Otherwise, if data is on vertical edges, increment 3rd dimension IF ( doSlots ) THEN dims(3) = nSlots ELSE IF ( doEdges ) dims(3) = dims(3) + 1 ENDIF ENDIF ! Allocate the array ALLOCATE( Ptr2Data( dims(1), dims(2), dims(3) ), STAT=RC ) CALL GC_CheckVar( arrayId, 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN Ptr2Data = .FALSE. ENDIF END SUBROUTINE Init_and_Register_Log_3D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_and_Register_Int_2D ! ! !DESCRIPTION: Allocates the data array for a State_Chm field, ! and also adds the field into the State_Chm registry. ! This particular routine is for integer, 2-dimensional arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_and_Register_Int_2D( Input_Opt, State_Met, State_Grid, & Ptr2Data, metId, RC, & noRegister ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State CHARACTER(LEN=*), INTENT(IN) :: metId ! Field name LOGICAL, OPTIONAL :: noRegister ! Exit after init ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, POINTER :: Ptr2Data(:,:) ! Pointer to data ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 21 Sep 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: doRegister ! Arrays INTEGER :: dims(2) ! Strings CHARACTER(LEN=255) :: arrayId !======================================================================== ! Init_and_Register_Int_2D begins here! !======================================================================== ! Initialize RC = GC_SUCCESS arrayId = 'State_Met%' // TRIM( metId ) IF ( PRESENT( noRegister ) ) THEN doRegister = ( .not. noRegister ) ELSE doRegister = .TRUE. ENDIF !======================================================================== ! Allocate the field array !======================================================================== IF ( .not. ASSOCIATED( Ptr2Data ) ) THEN ! Get array dimensions dims(1) = State_Grid%NX dims(2) = State_Grid%NY ALLOCATE( Ptr2Data( dims(1), dims(2) ), STAT=RC ) CALL GC_CheckVar( arrayId, 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN Ptr2Data = 0 ENDIF !======================================================================== ! Register the field !======================================================================== IF ( doRegister ) THEN CALL Register_MetField( Input_Opt, metId, Ptr2Data, State_Met, RC ) CALL GC_CheckVar( arrayId, 1, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF END SUBROUTINE Init_and_Register_Int_2D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_and_Register_Int_3D ! ! !DESCRIPTION: Allocates the data array for a State_Met field, ! and also adds the field into the State_Met registry. ! This particular routine is for integer, 3-dimensional arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_and_Register_Int_3D( Input_Opt, State_Met, State_Grid, & Ptr2Data, metId, RC, & noRegister, onEdges, zxyOrder, & nSlots ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State CHARACTER(LEN=*), INTENT(IN) :: metId ! Field name LOGICAL, OPTIONAL :: noRegister ! Exit after init LOGICAL, OPTIONAL :: onEdges ! Data on vert edges? LOGICAL, OPTIONAL :: zxyOrder ! Data array (Z,X,Y)? INTEGER, OPTIONAL :: nSlots ! # slots for Z dim ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, POINTER :: Ptr2Data(:,:,:) ! Pointer to data ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success/failure! ! ! !REVISION HISTORY: ! 21 Sep 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: doEdges, doRegister, doSlots, doZxy ! Arrays INTEGER :: dims(3) ! Strings CHARACTER(LEN=255) :: arrayId !======================================================================== ! Init_and_Register_Int_2D begins here! !======================================================================== ! Initialize RC = GC_SUCCESS arrayId = 'State_Met%' // TRIM( metId ) IF ( PRESENT( onEdges ) ) THEN doEdges = onEdges ELSE doEdges = .FALSE. ENDIF doSlots = PRESENT( nSlots ) IF ( PRESENT( noRegister ) ) THEN doRegister = ( .not. noRegister ) ELSE doRegister = .TRUE. ENDIF doSlots = PRESENT( nSlots ) IF ( PRESENT( zxyOrder ) ) THEN doZxy = zxyOrder ELSE doZxy = .FALSE. ENDIF !======================================================================== ! Allocate the field array (if it hasn't already been allocated) !======================================================================== IF ( .not. ASSOCIATED( Ptr2Data ) ) THEN ! Get array ID and dimensions IF ( doZxy ) THEN ! ZXY order dims(1) = State_Grid%NZ dims(2) = State_Grid%NX dims(3) = State_Grid%NY ! If we have specified nSlots, use that for 1st dimension ! Otherwise, if data is on vertical edges, increment 1st dimension IF ( doSlots ) THEN dims(1) = nSlots ELSE IF ( doEdges ) dims(1) = dims(1) + 1 ENDIF ELSE ! XYZ order dims(1) = State_Grid%NX dims(2) = State_Grid%NY dims(3) = State_Grid%NZ ! If we have specified nSlots, use that for 3rd dimension ! Otherwise, if data is on vertical edges, increment 3rd dimension IF ( doSlots ) THEN dims(3) = nSlots ELSE IF ( doEdges ) dims(3) = dims(3) + 1 ENDIF ENDIF ! Allocate the array ALLOCATE( Ptr2Data( dims(1), dims(2), dims(3) ), STAT=RC ) CALL GC_CheckVar( arrayId, 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN Ptr2Data = 0 ENDIF !======================================================================== ! Register the field (unless we explicitly say not to) !======================================================================== IF ( doRegister ) THEN CALL Register_MetField( Input_Opt, metId, Ptr2Data, State_Met, RC ) CALL GC_CheckVar( arrayId, 1, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF END SUBROUTINE Init_and_Register_Int_3D ! !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Register_MetField_R4_2D ! ! !DESCRIPTION: Registers a 2-D State\_Met field (4-byte real). !\\ !\\ ! !INTERFACE: ! SUBROUTINE Register_MetField_R4_2D( Input_Opt, metadataID, Ptr2Data, & State_Met, RC ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE Registry_Params_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options CHARACTER(LEN=*), INTENT(IN) :: metadataID ! Field name REAL(f4), POINTER :: Ptr2Data(:,:) ! Pointer to array TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 07 Sep 2017 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: rank, type, vloc LOGICAL :: found ! Strings CHARACTER(LEN=255) :: desc, ErrMsg_reg, units, ThisLoc CHARACTER(LEN=512) :: ErrMsg !======================================================================== ! Register_MetField_R4_2D begins here! !======================================================================== ! Initialize RC = GC_SUCCESS ErrMsg = '' ErrMsg_reg = 'Error encountered while registering State_Met%' ThisLoc = & ' -> at Register_MetField_R4_2D (in Headers/state_met_mod.F90)' !======================================================================== ! Get metadata !======================================================================== CALL Get_MetaData_State_Met( & am_I_Root = Input_Opt%amIRoot, & metadataId = metadataId, & found = found, & desc = desc, & units = units, & rank = rank, & type = type, & vloc = vloc, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( MetadataID ) // & '; Abnormal exit from routine "Get_Metadata_State_Met"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !======================================================================== ! Check dimensions !======================================================================== IF ( rank /= 2 ) THEN ErrMsg = 'Data and metadata rank do not match for ' // TRIM(metadataID) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !======================================================================== ! Register the entire 2-D field !======================================================================== CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Met%Registry, & State = State_Met%State, & Variable = TRIM( MetadataID ), & Units = TRIM( Units ), & Description = TRIM( Desc ), & Data2d_4 = Ptr2Data, & Output_KindVal = type, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( MetadataID ) // & '; Abnormal exit from routine "Registry_AddField"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF END SUBROUTINE Register_MetField_R4_2D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Register_MetField_R4_3D ! ! !DESCRIPTION: Registers a 3-D State\_Met field (4-byte real). !\\ !\\ ! !INTERFACE: ! SUBROUTINE Register_MetField_R4_3D( Input_Opt, metadataID, Ptr2Data, & State_Met, RC ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE Registry_Params_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options CHARACTER(LEN=*), INTENT(IN) :: metadataID ! Field name REAL(f4), POINTER :: Ptr2Data(:,:,:) ! Pointer to data TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success/failure ! ! !REVISION HISTORY: ! 07 Sep 2017 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: rank, type, vloc, N LOGICAL :: found, onEdges ! Strings CHARACTER(LEN=2 ) :: numStr CHARACTER(LEN=512) :: errMsg CHARACTER(LEN=255) :: desc, units, errMsg_reg CHARACTER(LEN=255) :: thisDesc, thisName, ThisLoc, perQnt !======================================================================== ! Register_MetField_R4_3D begins here! !======================================================================== ! Initialize RC = GC_SUCCESS thisName = '' thisDesc = '' ErrMsg = '' ErrMsg_reg = 'Error encountered while registering State_Met%' ThisLoc = & ' -> at Register_MetField_R4_3D (in Headers/state_met_mod.F90)' !======================================================================== ! Get metadata !======================================================================== CALL Get_MetaData_State_Met( & am_I_Root = Input_Opt%amIRoot, & metadataId = metadataId, & found = found, & desc = desc, & units = units, & rank = rank, & type = type, & vloc = vloc, & perQnt = perQnt, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( MetadataID ) // & '; Abnormal exit from routine "Get_Metadata_State_Met"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Is the data placed on vertical edges? onEdges = ( vLoc == vLocationEdge ) !======================================================================== ! If there is an Olson landtype dimension, ! then register each land type as a 2-D field !======================================================================== IF ( TRIM( perQnt ) == 'OLSON' ) THEN ! Check dimensions IF ( rank /= 2 ) THEN ErrMsg = & 'Data and metadata rank do not match for ' // TRIM(metadataID) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Loop over # of Olson types DO N = 1, NSURFTYPE ! Append the Olson land type index (zero based) ! to the name & description from the metadata WRITE( numStr, '(I2.2)') N - 1 thisName = TRIM( metaDataId ) // numStr thisDesc = TRIM( desc ) // " " // numStr ! Register each 2-D field per Olson landtype separately CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Met%Registry, & State = State_Met%State, & Variable = TRIM( thisName ), & Description = TRIM( thisDesc ), & Units = TRIM( Units ), & Data2d_4 = Ptr2Data(:,:,N), & Output_KindVal = type, & RC = RC ) ENDDO !======================================================================== ! Otherwise, register as a single 3-D field !======================================================================== ELSE ! Check dimensions IF ( rank /= 3 ) THEN ErrMsg = & 'Data and metadata rank do not match for ' // TRIM(metadataID) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Register the entire field CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Met%Registry, & State = State_Met%State, & Variable = TRIM( MetadataID ), & Description = TRIM( Desc ), & Units = TRIM( Units ), & OnLevelEdges = onEdges, & Data3d_4 = Ptr2Data, & Output_KindVal = type, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( MetadataID ) // & '; Abnormal exit from routine "Registry_AddField"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF END SUBROUTINE Register_MetField_R4_3D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Register_MetField_R8_2D ! ! !DESCRIPTION: Registers a 2-D State\_Met field (8-byte real). !\\ !\\ ! !INTERFACE: ! SUBROUTINE Register_MetField_R8_2D( Input_Opt, metadataID, Ptr2Data, & State_Met, RC ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE Registry_Params_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options CHARACTER(LEN=*), INTENT(IN) :: metadataID ! Field name REAL(f8), POINTER :: Ptr2Data(:,:) ! Pointer to array TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 07 Sep 2017 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: rank, type, vloc LOGICAL :: found ! Strings CHARACTER(LEN=255) :: desc, ErrMsg_reg, units, ThisLoc CHARACTER(LEN=512) :: ErrMsg !======================================================================== ! Register_MetField_R8_2D begins here! !======================================================================== ! Initialize RC = GC_SUCCESS ErrMsg = '' ErrMsg_reg = 'Error encountered while registering State_Met%' ThisLoc = & ' -> at Register_MetField_R8_2D (in Headers/state_met_mod.F90)' !======================================================================== ! Get metadata !======================================================================== CALL Get_MetaData_State_Met( & am_I_Root = Input_Opt%amIRoot, & metadataId = metadataId, & found = found, & desc = desc, & units = units, & rank = rank, & type = type, & vloc = vloc, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( MetadataID ) // & '; Abnormal exit from routine "Get_Metadata_State_Met"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !======================================================================== ! Check dimensions !======================================================================== IF ( rank /= 2 ) THEN ErrMsg = 'Data and metadata rank do not match for ' // TRIM(metadataID) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !======================================================================== ! Register the 2-D field !======================================================================== CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Met%Registry, & State = State_Met%State, & Variable = TRIM( MetadataID ), & Description = TRIM( Desc ), & Units = TRIM( Units ), & Data2d_8 = Ptr2Data, & Output_KindVal = type, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( MetadataID ) // & '; Abnormal exit from routine "Registry_AddField"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF END SUBROUTINE Register_MetField_R8_2D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Register_MetField_R8_3D ! ! !DESCRIPTION: Registers a 3-D State\_Met field (8-byte real). !\\ !\\ ! !INTERFACE: ! SUBROUTINE Register_MetField_R8_3D( Input_Opt, metadataID, Ptr2Data, & State_Met, RC ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE Registry_Params_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options CHARACTER(LEN=*), INTENT(IN) :: metadataID ! Field name REAL(f8), POINTER :: Ptr2Data(:,:,:) ! Pointer to data TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success/failure ! ! !REVISION HISTORY: ! 07 Sep 2017 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: rank, type, vloc, N LOGICAL :: found, onEdges ! Strings CHARACTER(LEN=2 ) :: numStr CHARACTER(LEN=512) :: errMsg CHARACTER(LEN=255) :: desc, units, errMsg_reg CHARACTER(LEN=255) :: thisDesc, thisName, ThisLoc, perQnt !======================================================================== ! Register_MetField_R8_3D begins here! !======================================================================== ! Initialize RC = GC_SUCCESS thisDesc = '' thisName = '' errMsg = '' errMsg_reg = 'Error encountered while registering State_Met%' thisLoc = & ' -> at Register_MetField_R8_3D (in Headers/state_met_mod.F90)' !======================================================================== ! Get metadata !======================================================================== CALL Get_MetaData_State_Met( & am_I_Root = Input_Opt%amIRoot, & metadataId = metadataId, & found = found, & desc = desc, & units = units, & rank = rank, & type = type, & vloc = vloc, & perQnt = perQnt, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( MetadataID ) // & '; Abnormal exit from routine "Get_Metadata_State_Met"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Is the data placed on vertical edges? onEdges = ( vLoc == vLocationEdge ) !======================================================================== ! If there is an Olson landtype dimension, ! then register each land type as a 2-D field !======================================================================== IF ( TRIM( perQnt ) == 'OLSON' ) THEN ! Check dimensions IF ( rank /= 2 ) THEN ErrMsg = & 'Data and metadata rank do not match for ' // TRIM(metadataID) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Loop over # of Olson types DO N = 1, NSURFTYPE ! Append the Olson land type index (zero-based) ! to the name & description from the metadata WRITE( numStr, '(I2.2)') N - 1 thisName = TRIM( metaDataId ) // numStr thisDesc = TRIM( desc ) // " " // numStr ! Register each 2-D field per Olson landtype separately CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Met%Registry, & State = State_Met%State, & Variable = TRIM( thisName ), & Description = TRIM( thisDesc ), & Units = TRIM( units ), & Data2d_8 = Ptr2Data(:,:,N), & Output_KindVal = type, & RC = RC ) ENDDO !======================================================================== ! Otherwise, register as a single 3-D field !======================================================================== ELSE ! Check dimensions IF ( rank /= 3 ) THEN ErrMsg = & 'Data and metadata rank do not match for ' // TRIM(metadataID) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Register the entire 3-D field CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Met%Registry, & State = State_Met%State, & Variable = TRIM( MetadataID ), & Description = TRIM( Desc ), & Units = TRIM( Units ), & OnLevelEdges = onEdges, & Data3d_8 = Ptr2Data, & Output_KindVal = type, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( MetadataID ) // & '; Abnormal exit from routine "Registry_AddField"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF END SUBROUTINE Register_MetField_R8_3D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Register_MetField_Int_2D ! ! !DESCRIPTION: Registers a 2-D State\_Met field (4-byte integer). !\\ !\\ ! !INTERFACE: ! SUBROUTINE Register_MetField_Int_2D( Input_Opt, metadataID, Ptr2Data, & State_Met, RC ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE Registry_Params_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options CHARACTER(LEN=*), INTENT(IN) :: metadataID ! Field name INTEGER, POINTER :: Ptr2Data(:,:) ! Pointer to array TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 07 Sep 2017 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: rank, type, vloc LOGICAL :: found, doRegister ! Strings CHARACTER(LEN=255) :: desc, errMsg_reg, units, thisLoc CHARACTER(LEN=512) :: errMsg !======================================================================== ! Register_MetField_Int_2D begins here! !======================================================================== ! Initialize RC = GC_SUCCESS errMsg = '' errMsg_reg = 'Error encountered while registering State_Met%' thisLoc = & ' -> at Register_MetField_Int_2D (in Headers/state_met_mod.F90)' !======================================================================== ! Get metadata !======================================================================== CALL Get_MetaData_State_Met( & am_I_Root = Input_Opt%amIRoot, & metadataId = metadataId, & found = found, & desc = desc, & units = units, & rank = rank, & type = type, & vloc = vloc, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( MetadataID ) // & '; Abnormal exit from routine "Get_Metadata_State_Met"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !======================================================================== ! Check dimensions !======================================================================== IF ( rank /= 2 ) THEN ErrMsg = 'Data and metadata rank do not match for ' // TRIM(metadataID) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !======================================================================== ! Register the 2-D field !======================================================================== CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Met%Registry, & State = State_Met%State, & Variable = TRIM( MetadataID ), & Description = TRIM( Desc ), & Units = TRIM( Units ), & Data2d_I = Ptr2Data, & Output_KindVal = type, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_reg ) // TRIM( metadataID ) // & '; Abnormal exit from routine "Registry_AddField"!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF END SUBROUTINE Register_MetField_Int_2D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Register_MetField_Int_3D ! ! !DESCRIPTION: Registers a 3-D State\_Met field (4-byte integer). !\\ !\\ ! !INTERFACE: ! SUBROUTINE Register_MetField_Int_3D( Input_Opt, metadataID, Ptr2Data, & State_Met, RC ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE Registry_Params_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options CHARACTER(LEN=*), INTENT(IN) :: metadataID ! Field name INTEGER, POINTER :: Ptr2Data(:,:,:) ! Pointer to data TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success/failure ! ! !REVISION HISTORY: ! 07 Sep 2017 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: rank, type, vloc, N LOGICAL :: found, onEdges ! Strings CHARACTER(LEN=2 ) :: numStr CHARACTER(LEN=512) :: errMsg CHARACTER(LEN=255) :: desc, units, errMsg_reg CHARACTER(LEN=255) :: thisDesc, thisName, thisLoc, perQnt !======================================================================== ! Register_MetField_Int_3D begins here! !======================================================================== ! Initialize RC = GC_SUCCESS thisDesc = '' thisName = '' errMsg = '' errMsg_reg = 'Error encountered while registering State_Met%' thisLoc = & ' -> at Register_MetField_Int_3D (in Headers/state_met_mod.F90)' !======================================================================== ! Get metadata !======================================================================== CALL Get_MetaData_State_Met( & am_I_Root = Input_Opt%amIRoot, & metadataId = metadataId, & found = found, & desc = desc, & units = units, & rank = rank, & type = type, & vloc = vloc, & perQnt = perQnt, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = TRIM( ErrMsg_reg ) // TRIM( MetadataID ) // & '; Abnormal exit from routine "Get_Metadata_State_Met"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !======================================================================== ! If there is an Olson landtype dimension, ! then register each land type as a 2-D field !======================================================================== IF ( TRIM( perQnt ) == 'OLSON' ) THEN ! Check dimensions IF ( rank /= 2 ) THEN ErrMsg = & 'Data and metadata rank do not match for ' // TRIM(metadataID) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Loop over # of Olson types DO N = 1, NSURFTYPE ! Append the Olson land type index to the name & description WRITE( numStr, '(I2.2)') N - 1 thisName = TRIM( metaDataId ) // numStr thisDesc = TRIM( desc ) // " " // numStr ! Register each 2-D array per Olson landtype individually CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Met%Registry, & State = State_Met%State, & Variable = TRIM( thisName ), & Description = TRIM( thisDesc ), & Units = TRIM( Units ), & Data2d_I = Ptr2Data(:,:,N), & Output_KindVal = type, & RC = RC ) ENDDO !======================================================================== ! Otherwise, register as a single 3-D field !======================================================================== ELSE ! Check dimensions IF ( rank /= 3 ) THEN ErrMsg = & 'Data and metadata rank do not match for ' // TRIM(metadataID) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Register the entire 3-D field CALL Registry_AddField( & Input_Opt = Input_Opt, & Registry = State_Met%Registry, & State = State_Met%State, & Variable = TRIM( MetadataID ), & Description = TRIM( Desc ), & Units = TRIM( Units ), & OnLevelEdges = onEdges, & Data3d_I = Ptr2Data, & Output_KindVal = type, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = TRIM( errMsg_reg ) // TRIM( metadataID ) // & '; Abnormal exit from routine "Registry_AddField"!' CALL GC_Error( errMsg, RC, ThisLoc ) RETURN ENDIF ENDIF END SUBROUTINE Register_MetField_Int_3D !EOC END MODULE State_Met_Mod ================================================ FILE: Headers/taggeddiaglist_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: taggeddiaglist_mod.F90 ! ! !DESCRIPTION: Module taggeddiaglist\_mod contains type definitions and ! routines to define link list with detailed diagnostic information for each ! State_Diag diagnostic contained in the DiagList object. !\\ !\\ ! !INTERFACE: ! MODULE TaggedDiagList_Mod ! ! !USES: ! USE DiagList_Mod USE ErrCode_Mod USE Precision_Mod IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: Cleanup_TaggedDiagList PUBLIC :: Init_TaggedDiagList PUBLIC :: Print_TaggedDiagItem PUBLIC :: Print_TaggedDiagList PUBLIC :: Print_TagList PUBLIC :: Query_Tag_in_TagList PUBLIC :: Query_TaggedDiagList ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: Cleanup_TagList PRIVATE :: Init_TagItem PRIVATE :: Init_TaggedDiagItem PRIVATE :: InsertBeginning_TagList PRIVATE :: InsertBeginning_TaggedDiagList PRIVATE :: Update_TaggedDiagList ! ! !PUBLIC DATA TYPES: ! !========================================================================= ! Derived type for tag items (can be used for any linked list of strings) !========================================================================= TYPE, PUBLIC :: DgnTagItem CHARACTER(LEN=63) :: name ! Tag or wildcard name INTEGER :: index ! Position in the list TYPE(DgnTagItem), POINTER :: next ! Points to next tag/WC END TYPE DgnTagItem !========================================================================= ! Derived type for tag list (can be used for any linked list of strings) !========================================================================= TYPE, PUBLIC :: DgnTagList INTEGER :: count ! # of tags/WCs in list TYPE(DgnTagItem), POINTER :: head ! The start of the list END TYPE DgnTagList !========================================================================= ! Derived type for tagged diagnostic items, e.g. DryDep !========================================================================= TYPE, PUBLIC :: TaggedDgnItem CHARACTER(LEN=63) :: metadataID ! Diagnostic name LOGICAL :: isWildcard ! Is it a wildcard? TYPE(DgnTagList) :: tagList ! Tags for this diagnostic TYPE(DgnTagList) :: wildcardList ! WCs for this diagnostic TYPE(TaggedDgnItem), POINTER :: next ! Points to next diagnostic END TYPE TaggedDgnItem !========================================================================= ! Derived type for tagged diagnostic list, e.g. DryDep, SpeciesConc, etc !========================================================================= TYPE, PUBLIC :: TaggedDgnList TYPE(TaggedDgnItem), POINTER :: head ! Start of the list END TYPE TaggedDgnList ! ! !REVISION HISTORY: ! 18 Nov 2019 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_TaggedDiagList ! ! !DESCRIPTION: Subroutine Init\_TaggedDiagList initializes the TaggedDiagList ! corresponding to each diagnostic collection. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_TaggedDiagList( am_I_Root, DiagList, TaggedDiagList, RC ) ! ! !USES: ! USE Charpak_Mod, ONLY : To_UpperCase ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: am_I_Root ! On root thread? TYPE(DgnList), INTENT(IN) :: DiagList ! Diagnostics List ! ! !INPUT AND OUTPUT PARAMETERS: ! TYPE(TaggedDgnList), INTENT(INOUT) :: TaggedDiagList ! Tagged Diag List ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success/failure? ! ! !REVISION HISTORY: ! 18 Nov 2019 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: isWildCard LOGICAL :: taggedDiagListExists INTEGER :: listIndex INTEGER :: numTags INTEGER :: numWildCards ! Strings CHARACTER(LEN=63) :: tagName CHARACTER(LEN=255) :: errMsg CHARACTER(LEN=255) :: thisLoc ! Objects TYPE(DgnItem), POINTER :: diagnostic TYPE(DgnTagItem), POINTER :: current TYPE(TaggedDgnItem), POINTER :: TaggedDiagItem TYPE(TaggedDgnItem), POINTER :: NewTaggedDiagItem !======================================================================= ! Init_TaggedDiagList begins here! !======================================================================= ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = & '-> at Init_TaggedDiagList (in module Headers/taggeddiaglist_mod.F90)' ! Initialize pointers diagnostic => DiagList%head current => NULL() TaggedDiagList%head => NULL() !======================================================================= ! For each State_Diag diagnostic containd in DiagList, ! initialize the corresponding TaggedDiagList. !======================================================================= DO WHILE ( ASSOCIATED( diagnostic ) ) ! Only proceed for State_Diag diagnostics IF ( diagnostic%state == 'DIAG' .AND. & ( diagnostic%isTagged .OR. diagnostic%isWildcard ) ) THEN !-------------------------------------------------------------- ! First check if the the TaggedDiagList corresponding ! to this diagnostic exists or not !-------------------------------------------------------------- CALL Query_TaggedDiagList( & TaggedDiagList = TaggedDiagList, & diagName = diagnostic%metadataID, & Found = taggedDiagListExists, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "Query_TaggedDiagList" (#1)!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Name of each tag or wildcard in the current State_Diag diagnostic IF ( diagnostic%isTagged ) THEN tagName = diagnostic%tag ELSE tagName = diagnostic%wildcard ENDIF ! Check if the list exists IF ( taggedDiagListExists ) THEN !-------------------------------------------------------------- ! If the TaggedDiagList (of wildcards or tags) already exists: ! (1) Add a new TaggedDiagItem into it ! (2) Set the index to a placeholder. ! Indices will be updated in the following section. !-------------------------------------------------------------- CALL Update_TaggedDiagList( & metadataID = diagnostic%metadataID, & isWildCard = diagnostic%isWildCard, & tagName = tagName, & index = 0, & TaggedDiagList = TaggedDiagList, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "Update_TaggedDiagList"!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ELSE !-------------------------------------------------------------- ! If the TaggedDiagList does not exist: ! (1) Create a new TaggedDiagItem ! (2) Set the index to a placeholder. ! Indices will be updated in the following section. !-------------------------------------------------------------- CALL Init_TaggedDiagItem( & NewTaggedDiagItem = NewTaggedDiagItem, & metadataID = diagnostic%metadataID, & isWildcard = diagnostic%isWildCard, & tagName = tagName, & index = 0, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "Init_TaggedDiagItem"!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF !-------------------------------------------------------------- ! (3) Create the TaggedDiagList ! (4) Add the TaggedDiagItem to the head of the TaggedDiagList !-------------------------------------------------------------- CALL InsertBeginning_TaggedDiagList( & TaggedDiagItem = NewTaggedDiagItem, & TaggedDiagList = TaggedDiagList, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = & 'Error encountered in "InsertBeginning_TaggedDiagList"!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF ENDIF ! Advance to next item in DiagList diagnostic => diagnostic%next ENDDO !======================================================================= ! Now cycle through each diagnostic in DiagList again and reverse ! the indices of the tags or wildcards into proper order. We have to ! do this as a second pass because in the first loop over diagnostics ! above, we didn't yet know the total number of tags or wildcards. !======================================================================= ! Re-initialize pointers diagnostic => DiagList%head DO WHILE ( ASSOCIATED( diagnostic ) ) ! Initialize TaggedDiagItem => NULL() current => NULL() numTags = 0 numWildCards = 0 ! Only proceed for State_Diag diagnostics IF ( diagnostic%state == 'DIAG' .AND. & ( diagnostic%isTagged .OR. diagnostic%isWildcard ) ) THEN !----------------------------------------------------------------- ! Get the number of tags and wildcards in the TaggedDiagList ! that corresponds to this State_Diag diagnostic !----------------------------------------------------------------- CALL Query_TaggedDiagList( & TaggedDiagList = TaggedDiagList, & diagName = diagnostic%metadataID, & Found = taggedDiagListExists, & isWildCard = isWildCard, & numTags = numTags, & numWildCards = numWildCards, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "Query_TaggedDiagList" (#2)!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Skip if the TaggedDiagList for this diagnostic does not exist ! (but this should never happen since we created a TaggedDiagList ! for each diagnostic in the above section!) IF ( .not. taggedDiagListExists ) CYCLE !----------------------------------------------------------------- ! Loop over all tags of wildcards belonging to this diagnostic !----------------------------------------------------------------- TaggedDiagItem => TaggedDiagList%head DO WHILE ( ASSOCIATED( TaggedDiagItem ) ) ! Make sure we the diagnostic field name (metadataId) in the ! TaggedDiagItem matches that of the current diagnostic IF ( TRIM( TaggedDiagItem%metaDataId ) == & TRIM( diagnostic%metaDataId ) ) THEN !----------------------------------------------------------- ! Reset the indices of entries in WildCardList !----------------------------------------------------------- IF ( isWildCard ) THEN current => TaggedDiagItem%wildCardList%head listIndex = 0 DO WHILE ( ASSOCIATED( current ) ) listIndex = listIndex + 1 current%index = listIndex current => current%next ENDDO current => NULL() !----------------------------------------------------------- ! Reset the indices of entries in TagList !----------------------------------------------------------- ELSE current => TaggedDiagItem%tagList%head listIndex = 0 DO WHILE ( ASSOCIATED( current ) ) listIndex = listIndex + 1 current%index = listIndex current => current%next ENDDO current => NULL() ENDIF ENDIF ! Advance to the next item in TaggedDiagList TaggedDiagItem => TaggedDiagItem%next ENDDO ! Free pointers TaggedDiagItem => NULL() ENDIF ! Advance to next diagnostic in DiagList diagnostic => diagnostic%next ENDDO !----------------------------------------------------------------------- ! Cleanup and quit !----------------------------------------------------------------------- diagnostic => NULL() current => NULL() END SUBROUTINE Init_TaggedDiagList !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Print_TaggedDiagItem ! ! !DESCRIPTION: Prints information contained in a single TaggedDiagItem object. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Print_TaggedDiagItem( am_I_Root, TaggedDiagItem, RC ) ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: am_I_Root TYPE(TaggedDgnItem), INTENT(IN) :: TaggedDiagItem ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! ! !REVISION HISTORY: ! 24 Mar 2020 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Return success RC = GC_SUCCESS ! Proceed to print info if we are on the root CPU IF ( am_I_Root ) THEN ! Print name of diagnostic to which this TaggedDataItem belongs WRITE( 6, 120 ) TRIM( TaggedDiagItem%metadataID ) IF ( TaggedDiagItem%isWildCard ) THEN !--------------------------------- ! Print info about wildcards ... !--------------------------------- WRITE( 6, 130 ) ADJUSTL( 'numWildCards:' ), & TaggedDiagItem%WildCardList%count CALL Print_TagList( am_I_Root, TaggedDiagItem%WildCardList, RC ) ELSE !---------------------------------- ! ... or print info about tags !---------------------------------- WRITE( 6, 130 ) ADJUSTL( 'numTags:' ), & TaggedDiagItem%TagList%count CALL Print_TagList( am_I_Root, TaggedDiagItem%TagList, RC ) ENDIF ! Print spacer WRITE( 6, 120 ) "" ! FORMAT statemetns 120 FORMAT( A ) 130 FORMAT( A15, I5 ) ENDIF END SUBROUTINE Print_TaggedDiagItem !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Print_TaggedDiagList ! ! !DESCRIPTION: Prints information for all TaggedDiagItem members within ! a TaggedDiagList linked list. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Print_TaggedDiagList( am_I_Root, TaggedDiagList, RC ) ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: am_I_Root TYPE(TaggedDgnList), INTENT(IN) :: TaggedDiagList ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! ! !REVISION HISTORY: ! 18 Nov 2019 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! TYPE(TaggedDgnItem), POINTER :: current ! ================================================================ ! Print_TaggedDiagList begins here ! ================================================================ ! Initialize RC = GC_SUCCESS current => NULL() ! Print tagged diagnostic list only if we are on the root core IF ( am_I_Root ) THEN WRITE( 6, 100 ) REPEAT( '=', 30 ) WRITE( 6, 110 ) 'Summary of tagged diagnostics' ! Point to the first item in the TaggedDiagList current => TaggedDiagList%head ! Keep looping over all items in TaggedDiagList DO WHILE ( ASSOCIATED( current ) ) ! Print wildcard or tag info CALL Print_TaggedDiagItem( am_I_Root, current, RC ) ! Advance to next item in TaggedDiagList current => current%next ENDDO ! Spacer WRITE( 6, 120 ) "" ! Free pointer current => NULL() ! FORMAT statements 100 FORMAT( /, A ) 110 FORMAT( A, / ) 120 FORMAT( A ) 130 FORMAT( A15, I5 ) ENDIF END SUBROUTINE Print_TaggedDiagList !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Query_TaggedDiagList ! ! !DESCRIPTION: Returns information about a TaggedDiagItem within a ! TaggedDiagList option linked list, given the name of the corresponding ! diagnostic. The information that is returned can include if the ! diagnostic is a wildcard, a list of wildcards, number of wildcards, a ! list of non-wildcard tags, or number of non-wildcard tags. The entire ! TaggedDiagItem itself may also be returned if so desired. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Query_TaggedDiagList( TaggedDiagList, & diagName, RC, & found, isWildcard, & numWildcards, numTags, & WildCardList, TagList, & TaggedDiagItem ) ! ! !USES: ! USE Charpak_Mod, ONLY : To_UpperCase ! ! !INPUT PARAMETERS: ! TYPE(TaggedDgnList), INTENT(IN) :: TaggedDiagList ! Tagged diag list CHARACTER(LEN=*), INTENT(IN) :: diagName ! Name of diagnostic ! ! !OUTPUT PARAMETERS: ! LOGICAL, INTENT(OUT) :: found ! Was name in list? INTEGER, INTENT(OUT) :: RC ! Success or failure? LOGICAL, OPTIONAL :: isWildcard ! Is diag a wildcard? INTEGER, OPTIONAL :: numWildcards ! # of wildcards (WCs) TYPE(DgnTagList), OPTIONAL :: WildCardList ! List of wildcards INTEGER, OPTIONAL :: numTags ! # of non-WC tags TYPE(DgnTagList), OPTIONAL :: TagList ! List of non-WC tags TYPE(TaggedDgnItem), OPTIONAL :: TaggedDiagItem ! Item in linked list ! ! !REVISION HISTORY: ! 18 Nov 2019 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: P_isWildCard LOGICAL :: P_numWildCards LOGICAL :: P_numTags LOGICAL :: P_WildCardList LOGICAL :: P_TagList LOGICAL :: P_TagDiagItem ! Strings CHARACTER(LEN=255) :: thisDiagName ! Objects TYPE(TaggedDgnItem), POINTER :: current !======================================================================= ! Query_TaggedDiagList begins here! !======================================================================= ! Initialize RC = GC_SUCCESS found = .FALSE. ! Test if each optional arguments is present outside of the loop P_isWildCard = PRESENT( isWildcard ) P_numWildCards = PRESENT( numWildcards ) P_numTags = PRESENT( numTags ) P_WildCardList = PRESENT( WildCardList ) P_TagList = PRESENT( TagList ) P_TagDiagItem = PRESENT( TaggedDiagItem ) ! Search for name in list and return optional arguments current => TaggedDiagList%head DO WHILE ( ASSOCIATED( current ) ) thisDiagName = To_Uppercase( current%metadataID ) IF ( TRIM( ThisDiagName ) == TRIM( To_Uppercase( diagName ) ) ) THEN found = .TRUE. IF ( P_isWildcard ) isWildcard = current%isWildcard IF ( P_numWildcards ) numWildcards = current%WildCardList%count IF ( P_numTags ) numTags = current%TagList%count IF ( P_WildCardList ) WildCardList = current%WildCardList IF ( P_TagList ) TagList = current%TagList IF ( P_TagDiagItem ) TaggedDiagItem = current EXIT ENDIF current => current%next ENDDO current => NULL() END SUBROUTINE Query_TaggedDiagList !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Cleanup_TaggedDiagList ! ! !DESCRIPTION: Subroutine Cleanup\_TaggedDiagList deallocates a TaggedDiagList ! object and all of its member objects including the linked list of ! TaggedDiagItem objects. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Cleanup_TaggedDiagList( TaggedDiagList, RC ) ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(TaggedDgnList), INTENT(INOUT) :: TaggedDiagList ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! ! !REVISION HISTORY: ! 18 Nov 2019 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: errMsg CHARACTER(LEN=255) :: thisLoc ! Pointers TYPE(TaggedDgnItem), POINTER :: current TYPE(TaggedDgnItem), POINTER :: next !======================================================================= ! Cleanup_TaggedDiagList begins here !======================================================================= ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = & ' -> at Cleanup_TaggedDiagList (in module Headers/taggeddiaglist_mod.F90)' ! Deallocate each item in the linked list of DiagExport objects current => TaggedDiagList%head IF ( ASSOCIATED( current ) ) next => current%next DO WHILE ( ASSOCIATED( current ) ) ! First, free the list of tags CALL Cleanup_TagList( current%taglist, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "Cleanup_TagList" (for tags)!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Then free the list of wildcards CALL Cleanup_TagList( current%wildcardlist, RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "Cleanup_TagList" (for wildcards)!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Next, free the current TaggedDgnItem DEALLOCATE( current, STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Could not deallocate the "current" TaggedDgnItem object!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ! Exit if we are at the end of the TaggedDiagList ... IF ( .NOT. ASSOCIATED ( next ) ) EXIT ! ...or if not, advance to next item in list current => next next => current%next ENDDO ! Free pointers current => NULL() next => NULL() END SUBROUTINE Cleanup_TaggedDiagList !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_TaggedDiagItem ! ! !DESCRIPTION: Initializes a TaggedDiagItem object, which contains metadata ! as well as the lists of tags and wildcards for each State_Diag diagnostic. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_TaggedDiagItem( NewTaggedDiagItem, metadataID, isWildcard, & tagName, index, RC ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: metadataID ! Collection name LOGICAL, INTENT(IN) :: isWildcard ! Is it a wildcard? CHARACTER(LEN=*), INTENT(IN) :: tagName ! Name of each tag INTEGER, INTENT(IN) :: index ! Position of each tag ! ! !OUTPUT PARAMETERS: ! TYPE(TaggedDgnItem), POINTER :: NewTaggedDiagItem ! New TagItem INTEGER, INTENT(OUT) :: RC ! Success/failure? ! ! !REVISION HISTORY: ! 18 Nov 2019 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: diagID CHARACTER(LEN=255) :: errMsg CHARACTER(LEN=255) :: thisLoc ! Objects TYPE(DgnTagItem), POINTER :: NewTagItem !======================================================================= ! Init_TaggedDiagItem begins here !======================================================================= ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = & ' -> at Init_TaggedDiagItem (in module Headers/taggeddiaglist_mod.F90)' ! Create a new entry for TaggedDiagList ALLOCATE( NewTaggedDiagItem, STAT=RC ) diagId = 'taggeddiaglist_mod.F90:NewTaggedDiagItem' CALL GC_CheckVar( diagId, 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN !----------------------------------------------------------------------- ! Initialize fields of the TaggedDiagItem !----------------------------------------------------------------------- NewTaggedDiagItem%metadataID = TRIM(metadataID) NewTaggedDiagItem%isWildcard = isWildcard NewTaggedDiagItem%wildcardList%head => NULL() NewTaggedDiagItem%wildcardList%count = 0 NewTaggedDiagItem%tagList%head => NULL() NewTaggedDiagItem%tagList%count = 0 !----------------------------------------------------------------------- ! Create a new DgnTagItem object, which represents an individual ! tag or wildcard for a given State_Diag diagnostic. !----------------------------------------------------------------------- CALL Init_TagItem( & NewTagItem = NewTagItem, & name = tagName, & index = index, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "Init_TagItem"!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF IF ( isWildcard ) THEN !-------------------------------------------------------------------- ! Add the DgnTagItem object to the list of wildcards ! belonging to the NewTaggedDiagItem ... !-------------------------------------------------------------------- CALL InsertBeginning_TagList( & TagItem = NewTagItem, & TagList = NewTaggedDiagItem%wildcardList, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "InsertBeginning_TagList" (wildcard)!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ELSE !-------------------------------------------------------------------- ! ...or, if it is a tag and not a wildcard, add it to the list of ! tags belonging to the NewTaggedDiagItem object. !-------------------------------------------------------------------- CALL InsertBeginning_TagList( & TagItem = NewTagItem, & TagList = NewTaggedDiagItem%tagList, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "InsertBeginning_TagList" (wildcard)!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF END SUBROUTINE Init_TaggedDiagItem !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_TagItem ! ! !DESCRIPTION: Initializes a TagItem object, which represents a single tag ! or wildcard belonging to a State_Diag diagnostic. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_TagItem( NewTagItem, name, index, RC ) ! ! !INPUT PARAMETERS: ! TYPE(DgnTagItem), POINTER :: NewTagItem ! TagItem object CHARACTER(LEN=*), INTENT(IN) :: name ! Name of quantity INTEGER, INTENT(IN) :: index ! Position of quantity ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 18 Nov 2019 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strigns CHARACTER(LEN=255) :: diagId !================================================================= ! Init_TagItem begins here !================================================================= ! Initialize RC = GC_SUCCESS ! Allocate the NewTagItem Object ALLOCATE( NewTagItem, STAT=RC ) diagId = 'taggeddiaglist_mod.F90:NewTagItem' CALL GC_CheckVar( diagId, 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ! Define fields NewTagItem%name = TRIM(name) NewTagItem%index = index END SUBROUTINE Init_TagItem !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: InsertBeginning_TaggedDiagList ! ! !DESCRIPTION: Inserts a new TaggedDiagItem (containing metadata and ! lists of tags or wildcards for a single State_Diag diagnostic) to the ! beginning of the TaggedDiagList linked list object. !\\ !\\ ! !INTERFACE: ! SUBROUTINE InsertBeginning_TaggedDiagList( TaggedDiagItem, & TaggedDiagList, RC ) ! ! !INPUT PARAMETERS: ! TYPE(TaggedDgnItem), POINTER :: TaggedDiagItem ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(TaggedDgnList), INTENT(INOUT) :: TaggedDiagList ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! ! !REVISION HISTORY: ! 18 Nov 2019 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Objects TYPE(TaggedDgnItem), POINTER :: NewTaggedDiagItem ! ================================================================ ! InsertBeginning_TaggedDiagList begins here ! ================================================================ ! Initialize RC = GC_SUCCESS ! Add new object to the beginning of the linked list TaggedDiagItem%next => TaggedDiagList%head TaggedDiagList%head => TaggedDiagItem END SUBROUTINE InsertBeginning_TaggedDiagList !EOC !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: InsertBeginning_TagList ! ! !DESCRIPTION: Inserts a new node at the beginning of the TagList linked ! list object. !\\ !\\ ! !INTERFACE: ! SUBROUTINE InsertBeginning_TagList( TagItem, TagList, RC ) ! ! !INPUT PARAMETERS: ! TYPE(DgnTagItem), POINTER :: TagItem ! Tag or wildcard ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(DgnTagList), INTENT(INOUT) :: TagList ! Tag list or wildcard list ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REVISION HISTORY: ! 18 Nov 2019 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Objects TYPE(DgnTagItem), POINTER :: NewTagItem ! ================================================================ ! InsertBeginning_TagList begins here ! ================================================================ ! Initialize RC = GC_SUCCESS ! Add new object to the beginning of the linked list TagItem%next => TagList%head TagList%head => TagItem TagList%count = TagList%count + 1 END SUBROUTINE InsertBeginning_TagList !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Query_Tag_in_TagList ! ! !DESCRIPTION: Searches for a given tag within a list of tags, or ! a wildcard within a list of wildcards. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Query_Tag_in_TagList( TagList, name, found, RC ) ! ! !USES: ! USE Charpak_Mod, ONLY : To_UpperCase ! ! !INPUT PARAMETERS: ! TYPE(DgnTagList), INTENT(IN) :: TagList ! List of tags or wildcards CHARACTER(LEN=*), INTENT(IN) :: name ! Search string ! ! !OUTPUT PARAMETERS: ! LOGICAL, INTENT(OUT) :: found ! Is the tag/WC? in the list? INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REVISION HISTORY: ! 18 Nov 2019 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Pointers TYPE(DgnTagItem), POINTER :: current ! Strings CHARACTER(LEN=255) :: thisTagName !======================================================================= ! Query_Tag_in_Taglist begins here! !======================================================================= ! Initialize RC = GC_SUCCESS found = .FALSE. ! Search for name in list current => TagList%head DO WHILE ( ASSOCIATED( current ) ) thisTagName = To_Uppercase(current%name) IF ( TRIM(thisTagName) == TRIM(To_Uppercase(name)) ) THEN found = .TRUE. EXIT ENDIF current => current%next ENDDO ! Free pointer current => NULL() END SUBROUTINE Query_Tag_in_TagList !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Print_TagList ! ! !DESCRIPTION: Subroutine Print\_TagList prints information for all ! TagItem members in a TagList linked list. This represents a list of ! tags or wildcards for a single State_Diag diagnostic. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Print_TagList( am_I_Root, TagList, RC ) ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: am_I_Root TYPE(DgnTagList), INTENT(IN) :: TagList ! List of tags or wildcards ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 18 Nov 2019 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! TYPE(DgnTagItem), POINTER :: current CHARACTER(LEN=255) :: thisLoc ! ================================================================ ! Print_TagList begins here ! ================================================================ ! Initialize RC = GC_SUCCESS current => TagList%head ! Only print taglist if we are on the root core IF ( am_I_Root ) THEN DO WHILE ( ASSOCIATED( current ) ) WRITE( 6, 100 ) ADJUSTL( TRIM( current%name ) ), current%index 100 FORMAT( 21x, A, I5 ) current => current%next ENDDO ENDIF current => NULL() END SUBROUTINE Print_TagList !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Update_TaggedDiagList ! ! !DESCRIPTION: Updates a TaggedDiagList object with a new TaggedDiagItem. ! This represents adding a new tag or wildcard to an existing tag list or ! wildcard list for a State_Diag diagnostic quantity. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Update_TaggedDiagList( metadataID, isWildcard, tagName, & index, TaggedDiagList, RC ) ! ! !USES: ! USE Charpak_Mod, ONLY : To_UpperCase ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: metadataID ! Diagnostic name LOGICAL, INTENT(IN) :: isWildcard ! Does this diagnostic ! use a wildcard? CHARACTER(LEN=*), INTENT(IN) :: tagName ! Tag or WC name INTEGER, INTENT(IN) :: index ! Position of the ! tag or WC in ! the taglist/WClist ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(TaggedDgnList), INTENT(INOUT) :: TaggedDiagList ! List containing ! metadata and ! list of tags and ! WCs per diagnostic ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 18 Nov 2019 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Objects TYPE(TaggedDgnItem), POINTER :: current TYPE(DgnTagItem), POINTER :: NewTagItem ! Strings CHARACTER(LEN=255) :: errMsg CHARACTER(LEN=255) :: thisLoc CHARACTER(LEN=255) :: thisDiagName !======================================================================= ! Update_TaggedDiagList begins here !======================================================================= ! Initialize RC = GC_SUCCESS errMsg = '' thisLoc = ' -> at Update_TaggedDiagItem (in module taggeddiaglist_mod.F90)' ! Search for item in list and update if found current => TaggedDiagList%head DO WHILE ( ASSOCIATED( current ) ) thisDiagName = To_Uppercase(current%metadataID) ! If the diagnostic (collection) name matches IF ( TRIM(thisDiagName) == TRIM(To_Uppercase(metadataID)) ) THEN !----------------------------------------------------------------- ! Create a new DgnTagList item. This represents a single ! tag or wildcard belonging to a State_Diag diagnostic. !----------------------------------------------------------------- CALL Init_TagItem( & NewTagItem = NewTagItem, & name = tagName, & index = index, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error encountered in "Init_TagItem!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF IF ( isWildcard ) THEN !-------------------------------------------------------------- ! Add the the DgnTagItem to the list of wildcards ... !-------------------------------------------------------------- current%isWildcard = .TRUE. CALL InsertBeginning_TagList( & TagItem = NewTagItem, & TagList = current%wildcardList, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = & 'Error encountered in "InsertBeginning_tagList" (wildcard)!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ELSE !-------------------------------------------------------------- ! ... or to the list of tags for the State_Diag diagnostic. !-------------------------------------------------------------- current%isWildCard = .FALSE. CALL InsertBeginning_TagList( & TagItem = NewTagItem, & TagList = current%tagList, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN errMsg = & 'Error encountered in "InsertBeginning_tagList" (tag)!' CALL GC_Error( errMsg, RC, thisLoc ) RETURN ENDIF ENDIF ENDIF ! Go to the next item in DiagList current => current%next ENDDO ! Free pointers current => NULL() END SUBROUTINE Update_TaggedDiagList !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Cleanup_TagList ! ! !DESCRIPTION: Subroutine Cleanup\_TagList deallocates a TagList object ! and all of its member objects including the linked list of TagItem objects. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Cleanup_TagList( TagList, RC ) ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(DgnTagList), INTENT(INOUT) :: TagList ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! ! !REVISION HISTORY: ! 18 Sep 2019 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Objects TYPE(DgnTagItem), POINTER :: current TYPE(DgnTagItem), POINTER :: next ! Strings CHARACTER(LEN=255) :: diagId ! ================================================================ ! Cleanup_TagList begins here ! ================================================================ ! Initialize RC = GC_SUCCESS diagId = 'taggeddiaglist_mod.F90:DgnTagItem' ! Deallocate each DgnTagItem in the DgnTagList, which is ! a list of tags or wildcards for each diagnostic current => TagList%head IF ( ASSOCIATED( current ) ) next => current%next DO WHILE ( ASSOCIATED( current ) ) ! Free the DgnTagItem DEALLOCATE( current, STAT=RC ) CALL GC_CheckVar( diagId, 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ! Exit if we are at the end of the DgnTagList ... IF ( .NOT. ASSOCIATED ( next ) ) EXIT ! ...or if not, advance to the next DgnTagItem in the DgnTagList current => next next => current%next ENDDO ! Free pointers current => NULL() next => NULL() END SUBROUTINE Cleanup_TagList !EOC END MODULE TaggedDiagList_Mod ================================================ FILE: History/.gitignore ================================================ *.[oax] *.mod *.MOD *~* geos geostomas geosapm *.pp.* *.pdb *.inst.* *.continue.* *.ppk core.* ================================================ FILE: History/CMakeLists.txt ================================================ add_library(History STATIC EXCLUDE_FROM_ALL histcontainer_mod.F90 histitem_mod.F90 history_mod.F90 history_netcdf_mod.F90 history_util_mod.F90 metahistcontainer_mod.F90 metahistitem_mod.F90 ) target_link_libraries(History PUBLIC GeosUtil ) ================================================ FILE: History/histcontainer_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: histcontainer_mod.F90 ! ! !DESCRIPTION: Contains methods to create a HISTORY CONTAINER object. ! A HISTORY CONTAINER represents a collection of HISTORY ITEMS that will ! be archived to a netCDF file at a specific temporal frequencly (e.g. ! instantaneous, hourly, daily, monthly, end-of-run, etc.) !\\ !\\ ! In other words, the HISTORY CONTAINER provides metadata for the ! netCDF file, and the HISTORY ITEMS belonging to the HISTORY CONTAINER ! contains the data and attributes for each variable that will be ! saved to the netCDF file. ! ! !INTERFACE: ! MODULE HistContainer_Mod ! ! !USES: ! USE MetaHistItem_Mod, ONLY: MetaHistItem USE Precision_Mod IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: HistContainer_Create PUBLIC :: HistContainer_Print PUBLIC :: HistContainer_Destroy PUBLIC :: HistContainer_SetTime PUBLIC :: HistContainer_UpdateIvalSet PUBLIC :: HistContainer_FileCloseIvalSet PUBLIC :: HistContainer_FileWriteIvalSet ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: AlarmIncrementMonths PRIVATE :: AlarmIncrementYears ! ! !PUBLIC TYPES: ! !========================================================================= ! This is the derived type for a single HISTORY CONTAINER OBJECT, which ! contains several HISTORY ITEMS that will be archived at a specified ! frequency (e.g. instantaneous, hourly, daily, etc) to netCDF output. !========================================================================= TYPE, PUBLIC :: HistContainer !---------------------------------------------------------------------- ! Identifying information !---------------------------------------------------------------------- CHARACTER(LEN=255) :: Name ! Container name INTEGER :: Id ! and ID number INTEGER :: nX ! X (or lon ) dim size INTEGER :: nY ! Y (or lat ) dim size INTEGER :: nZ ! Z (or lev ) dim size INTEGER :: nB ! B (or bnds) dim size INTEGER :: X0, X1 ! X (or lon ) indices INTEGER :: Y0, Y1 ! Y (or lon ) indices INTEGER :: Z0 ! Z (or lev ) indices LOGICAL :: OnLevelEdges ! =T if data is defined ! on level edges; ! =F if on centers !---------------------------------------------------------------------- ! List of history items in this collection !---------------------------------------------------------------------- TYPE(MetaHistItem), POINTER :: HistItems => NULL() ! List and # of INTEGER :: nHistItems ! HISTORY ITEMS ! in this container !---------------------------------------------------------------------- ! Time quantities measured since start of simulation !---------------------------------------------------------------------- REAL(f8) :: EpochJd ! Astronomical Julian ! date @ start of sim REAL(f8) :: EpochJsec ! Astronomical Julian ! secs @ start of sim INTEGER :: CurrentYmd ! Current YMD date INTEGER :: CurrentHms ! Current hms time REAL(f8) :: CurrentJd ! Astronomical Julian ! date @ current time REAL(f8) :: CurrentJsec ! Astronomical Julian ! secs @ current time REAL(f8) :: ElapsedSec ! Elapsed seconds ! since start of sim REAL(f8) :: UpdateAlarm ! Alarm (elapsed sec) ! for data updating REAL(f8) :: FileCloseAlarm ! Alarm (elapsed sec) ! for file close/open REAL(f8) :: FileWriteAlarm ! Alarm (elapsed sec) ! for file write !---------------------------------------------------------------------- ! Time quantities measured since the time of netCDF file creation !---------------------------------------------------------------------- INTEGER :: ReferenceYmd ! Reference YMD & hms INTEGER :: ReferenceHms ! for the "time" dim REAL(f8) :: ReferenceJd ! Julian Date at the ! reference YMD & hms REAL(f8) :: ReferenceJsec ! Julian Seconds @ the ! reference YMD & hms INTEGER :: CurrTimeSlice ! Current time slice ! for the "time" dim REAL(f8) :: TimeStamp ! Elapsed minutes w/r/t ! reference YMD & hms !---------------------------------------------------------------------- ! Quantities that govern the updating/time averaging of data !---------------------------------------------------------------------- CHARACTER(LEN=255) :: UpdateMode ! e.g. inst or time-avg INTEGER :: UpdateYmd ! Update frequency INTEGER :: UpdateHms ! in YMD and hms REAL(f8) :: UpdateIvalSec ! Update interval [sec] INTEGER :: Operation ! Operation code ! 0=copy from source ! 1=accum from source REAL(f8) :: HeartBeatDtSec ! The "heartbeat" ! timestep [sec] !---------------------------------------------------------------------- ! Quantities for file creation, writing, and I/O status !---------------------------------------------------------------------- INTEGER :: FileWriteYmd ! File write frequency INTEGER :: FileWriteHms ! in YMD and hms REAL(f8) :: FileWriteIvalSec ! File write interval ! in seconds INTEGER :: FileCloseYmd ! File closing time INTEGER :: FileCloseHms ! in YMD and hms REAL(f8) :: FileCloseIvalSec ! File close interval ! in seconds LOGICAL :: IsFileDefined ! Have we done netCDF ! define mode yet? LOGICAL :: IsFileOpen ! Is the netCDF file ! currently open? !---------------------------------------------------------------------- ! netCDF file identifiers and attributes !---------------------------------------------------------------------- INTEGER :: FileId ! netCDF file ID INTEGER :: xDimId ! X (or lon ) dim ID INTEGER :: yDimId ! Y (or lat ) dim ID INTEGER :: zDimId ! Z (or lev ) dim ID INTEGER :: iDimId ! I (or ilev) dim ID INTEGER :: tDimId ! T (or time) dim ID INTEGER :: bDimId ! B (or bnds) dim ID CHARACTER(LEN=20) :: StartTimeStamp ! Timestamps at start CHARACTER(LEN=20) :: EndTimeStamp ! and end of sim CHARACTER(LEN=20) :: Spc_Units ! Units of SC%Species CHARACTER(LEN=255) :: FileExpId ! Filename ExpId CHARACTER(LEN=255) :: FilePrefix ! Filename prefix CHARACTER(LEN=255) :: FileTemplate ! YMDhms template CHARACTER(LEN=255) :: FileName ! Name of nc file CHARACTER(LEN=255) :: Conventions ! e.g. "COARDS" CHARACTER(LEN=255) :: NcFormat ! e.g. "netCDF-4" CHARACTER(LEN=255) :: History ! History CHARACTER(LEN=255) :: ProdDateTime ! When produced CHARACTER(LEN=255) :: Reference ! Reference string CHARACTER(LEN=255) :: Contact ! Contact string CHARACTER(LEN=255) :: Title ! Title string END TYPE HistContainer ! ! !REMARKS: ! Linked list routines taken from original code (linkedlist.f90) ! by Arjen Markus; http://flibs.sourceforge.net/linked_list.html ! ! !REVISION HISTORY: ! 12 Jun 2017 - R. Yantosca - Initial version, based on history_list_mod.F90 ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: HistContainer_Create ! ! !DESCRIPTION: Initializes a single HISTORY CONTAINER object, which ! will hold a METAHISTORY ITEM (which is a list of HISTORY ITEMS), to ! archive to netCDF output. !\\ !\\ ! !INTERFACE: ! SUBROUTINE HistContainer_Create( Input_Opt, Container, & Id, Name, & RC, EpochJd, & CurrentYmd, CurrentHms, & UpdateMode, UpdateYmd, & UpdateHms, UpdateAlarm, & Operation, HeartBeatDtSec, & FileWriteYmd, FileWriteHms, & FileWriteAlarm, FileCloseYmd, & FileCloseHms, FileCloseAlarm, & FileId, FileExpId, & FilePrefix, FileName, & FileTemplate, Conventions, & NcFormat, History, & ProdDateTime, Reference, & Title, Contact, & StartTimeStamp, EndTimeStamp ) ! ! !USES: ! USE ErrCode_Mod USE History_Util_Mod USE Input_Opt_Mod, ONLY : OptInput USE MetaHistItem_Mod, ONLY : MetaHistItem ! ! !INPUT PARAMETERS: ! !----------------------------------------------------------------------- ! REQUIRED INPUTS !----------------------------------------------------------------------- TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object INTEGER, INTENT(IN) :: Id ! Container Id # CHARACTER(LEN=*), INTENT(IN) :: Name ! Container name !----------------------------------------------------------------------- ! OPTIONAL INPUTS: Time and date quantities !----------------------------------------------------------------------- REAL(f8), OPTIONAL :: EpochJd ! Astronomical Julian ! date @ start of sim INTEGER, OPTIONAL :: CurrentYmd ! Current YMD date INTEGER, OPTIONAL :: CurrentHms ! Current hms time !----------------------------------------------------------------------- ! OPTIONAL INPUTS: quantities controlling data updates !----------------------------------------------------------------------- CHARACTER(LEN=*), OPTIONAL :: UpdateMode ! e.g. inst or time-avg INTEGER, OPTIONAL :: UpdateYmd ! Update frequency INTEGER, OPTIONAL :: UpdateHms ! in both YMD and hms REAL(f8), OPTIONAL :: UpdateAlarm ! JD for data update INTEGER, OPTIONAL :: Operation ! Operation code: ! 0=copy from source ! 1=accum from source REAL(f8), OPTIONAL :: HeartBeatDtSec ! Model "heartbeat" ! timestep [sec] !----------------------------------------------------------------------- ! OPTIONAL INPUTS: quantities controlling file write and close/reopen !----------------------------------------------------------------------- INTEGER, OPTIONAL :: FileWriteYmd ! File write frequency INTEGER, OPTIONAL :: FileWriteHms ! in both YMD and hms REAL(f8), OPTIONAL :: FileWriteAlarm ! JD for file write INTEGER, OPTIONAL :: FileCloseYmd ! File close/open freq INTEGER, OPTIONAL :: FileCloseHms ! in both YMD and hm REAL(f8), OPTIONAL :: FileCloseAlarm ! JD for file close !----------------------------------------------------------------------- ! OPTIONAL INPUTS: netCDF file identifiers and metadata !----------------------------------------------------------------------- INTEGER, OPTIONAL :: FileId ! netCDF file ID CHARACTER(LEN=*), OPTIONAL :: FileExpId ! Dir name + file string CHARACTER(LEN=*), OPTIONAL :: FilePrefix ! Filename prefix CHARACTER(LEN=*), OPTIONAL :: FileTemplate ! YMDhms template CHARACTER(LEN=*), OPTIONAL :: Conventions ! e.g. "COARDS" CHARACTER(LEN=*), OPTIONAL :: Filename ! Name of nc file CHARACTER(LEN=*), OPTIONAL :: NcFormat ! e.g. "netCDF-4" CHARACTER(LEN=*), OPTIONAL :: History ! History CHARACTER(LEN=*), OPTIONAL :: ProdDateTime ! When produced CHARACTER(LEN=*), OPTIONAL :: Reference ! Reference string CHARACTER(LEN=*), OPTIONAL :: Title ! Title string CHARACTER(LEN=*), OPTIONAL :: Contact ! Contact string CHARACTER(LEN=*), OPTIONAL :: StartTimeStamp ! Timestamps at start CHARACTER(LEN=*), OPTIONAL :: EndTimeStamp ! & end of simulation ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(HistContainer), POINTER :: Container ! Collection object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REMARKS: ! (1) We need to copy string data to a temporary string of length 255 ! characters, or else Gfortran will choke. ! ! !REVISION HISTORY: ! 16 Jun 2017 - R. Yantosca - Initial version, based on history_list_mod.F90 ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: ThisId, C ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc, TempStr !======================================================================== ! Initialize !======================================================================== ! Set initial values RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at HistContainer_Create (in History/histcontainer_mod.F90)' ! Allocate the Container object ALLOCATE( Container, STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot allocate the "Container" object!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Local value for ID ThisId = 0 !======================================================================== ! Required inputs, handle these first !======================================================================== !--------------------------------- ! Container ID !--------------------------------- IF ( Id >= 0 ) THEN Container%Id = Id ELSE ErrMsg = 'History Container ID # cannot be negative!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !----------------------- ! Name !----------------------- IF ( LEN_TRIM( Name ) > 0 ) THEN TempStr = Name Container%Name = TempStr ELSE ErrMsg = 'Must specify a name for this collection!!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !======================================================================== ! Optional inputs, handle these next !======================================================================== !---------------------------------- ! EpochJd (Julian date @ start) !---------------------------------- IF ( PRESENT( EpochJd ) ) THEN Container%EpochJd = EpochJd ELSE Container%EpochJd = UNDEFINED_DBL ENDIF !---------------------------------- ! Current date in YYYMMDD !---------------------------------- IF ( PRESENT( CurrentYmd ) ) THEN Container%CurrentYmd = CurrentYmd ELSE Container%CurrentYmd = 0 ENDIF !---------------------------------- ! Current time in hh:mm:ss !---------------------------------- IF ( PRESENT( CurrentHms ) ) THEN Container%CurrentHms = CurrentHms ELSE Container%CurrentHms = 0 ENDIF !---------------------------------- ! Update mode !---------------------------------- IF ( PRESENT( UpdateMode ) ) THEN Container%UpdateMode = UpdateMode ELSE Container%UpdateMode = '' ENDIF !---------------------------------- ! Update frequency in YYYYMMDD !---------------------------------- IF ( PRESENT( UpdateYmd ) ) THEN Container%UpdateYmd = UpdateYmd ELSE Container%UpdateYmd = 0 ENDIF !---------------------------------- ! Update frequency in hhmmss !---------------------------------- IF ( PRESENT( UpdateHms ) ) THEN Container%UpdateHms = UpdateHms ELSE Container%UpdateHms = 0 ENDIF !---------------------------------- ! Update alarm (Julian date) !---------------------------------- IF ( PRESENT( UpdateAlarm ) ) THEN Container%UpdateAlarm = UpdateAlarm ELSE Container%UpdateAlarm = UNDEFINED_DBL ENDIF !---------------------------------- ! Operation code !---------------------------------- IF ( PRESENT( Operation ) ) THEN Container%Operation = Operation ELSE Container%Operation = COPY_FROM_SOURCE ENDIF !---------------------------------- ! Heartbeat timestep [min] !---------------------------------- IF ( PRESENT( HeartBeatDtSec ) ) THEN Container%HeartBeatDtSec = HeartBeatDtSec ELSE Container%HeartBeatDtSec = UNDEFINED_DBL ENDIF !---------------------------------- ! File write frequency in YYYYMMDD !---------------------------------- IF ( PRESENT( FileWriteYmd ) ) THEN Container%FileWriteYmd = FileWriteYmd ELSE Container%FileWriteYmd = 0 ENDIF !---------------------------------- ! File write frequency in hhmmss !---------------------------------- IF ( PRESENT( FileWriteHms ) ) THEN Container%FileWriteHms = FileWriteHms ELSE Container%FileWriteHms = 0 ENDIF !---------------------------------- ! File write alarm (Julian date) !---------------------------------- IF ( PRESENT( FileWriteAlarm ) ) THEN Container%FileWriteAlarm = FileWriteAlarm ELSE Container%FileWriteAlarm = UNDEFINED_DBL ENDIF !---------------------------------- ! File close frequency in YYYYMMDD !---------------------------------- IF ( PRESENT( FileCloseYmd ) ) THEN Container%FileCloseYmd = FileCloseYmd ELSE Container%FileCloseYmd = 0 ENDIF !---------------------------------- ! File close frequency in hhmmss !---------------------------------- IF ( PRESENT( FileCloseHms ) ) THEN Container%FileCloseHms = FileCloseHms ELSE Container%FileCloseHms = 0 ENDIF !---------------------------------- ! File close alarm (Julian date) !---------------------------------- IF ( PRESENT( FileCloseAlarm ) ) THEN Container%FileCloseAlarm = FileCloseAlarm ELSE Container%FileCloseAlarm = UNDEFINED_DBL ENDIF !---------------------------------- ! File ExpId (the dir name plus ! beginning of file name) !---------------------------------- IF ( LEN_TRIM( FileExpId ) > 0 ) THEN TempStr = FileExpId Container%FileExpId = TempStr ELSE Container%FileExpId = 'GEOSChem' ENDIF ! Add an error check. The netCDF routines apparently cannot write ! files with "./" in the file path. Strip out such occurrences. C = INDEX( Container%FileExpId, './' ) IF ( C > 0 ) THEN Container%FileExpId = Container%FileExpId(C+2:) ENDIF !---------------------------------- ! File Prefix !---------------------------------- IF ( LEN_TRIM( FilePrefix ) > 0 ) THEN TempStr = FilePrefix Container%FilePrefix = TempStr ELSE Container%FilePrefix = TRIM( Container%FileExpId ) // '.' // & TRIM( Name ) // '.' ENDIF !---------------------------------- ! File Template !---------------------------------- IF ( LEN_TRIM( FileTemplate ) > 0 ) THEN ! If the FILETEMPLATE argument is passed (and not the undefined ! string) then use it. Otherwise, construct a default template. IF ( TRIM( FileTemplate ) /= UNDEFINED_STR ) THEN TempStr = FileTemplate Container%FileTemplate = TempStr ELSE Container%FileTemplate = '%y4%m2%d2_%h2%n2z.nc4' ENDIF ELSE ! If the FILETEMPLATE argument isn't passed, ! then construct a default template Container%FileTemplate = '%y4%m2%d2_%h2%n2z.nc4' ENDIF !---------------------------------- ! File Name !---------------------------------- IF ( LEN_TRIM( FileName ) > 0 ) THEN ! If the FILENAME argument is passed, then use it, ! otherwise, construct a default file name IF ( TRIM( FileName ) /= UNDEFINED_STR ) THEN TempStr = FileName Container%FileName = TempStr Container%FilePrefix = UNDEFINED_STR Container%FileTemplate = UNDEFINED_STR ELSE Container%FileName = TRIM( Container%FilePrefix ) // & TRIM( Container%FileTemplate ) ENDIF ELSE ! If the FILENAME argument isn't passed, ! construct a default file name Container%FileName = TRIM( Container%FilePrefix ) // & TRIM( Container%FileTemplate ) ENDIF !---------------------------------- ! Conventions !---------------------------------- IF ( PRESENT( Conventions ) ) THEN TempStr = Conventions Container%Conventions = TempStr ELSE Container%Conventions = '' ENDIF !---------------------------------- ! NcFormat !---------------------------------- IF ( PRESENT( NcFormat ) ) THEN TempStr = NcFormat Container%NcFormat = TempStr ELSE Container%NcFormat = '' ENDIF #if !defined( ESMF_ ) && !defined( NC_HAS_COMPRESSION ) ! For GEOS-Chem Classic simulations compiled with either DEBUG=y or ! NC_NODEFLATE=y, set NcFormat to "NetCDF-3 with large file support", ! in order to denote that compression and chunking are disabled. Container%NcFormat = 'NetCDF-3 with large file support' #endif !---------------------------------- ! History !---------------------------------- IF ( PRESENT( History ) ) THEN TempStr = History Container%History = TempStr ELSE Container%History = '' ENDIF !---------------------------------- ! ProdDateTime !---------------------------------- IF ( PRESENT( ProdDateTime ) ) THEN TempStr = ProdDateTime Container%ProdDateTime = TempStr ELSE Container%ProdDateTime = '' ENDIF !---------------------------------- ! Reference !---------------------------------- IF ( PRESENT( Reference ) ) THEN TempStr = Reference Container%Reference = TempStr ELSE Container%Reference = '' ENDIF !---------------------------------- ! Title !---------------------------------- IF ( PRESENT( Title ) ) THEN TempStr = Title Container%Title = TempStr ELSE Container%Title = '' ENDIF !---------------------------------- ! Contact !---------------------------------- IF ( PRESENT( Contact ) ) THEN TempStr = Contact Container%Contact = TempStr ELSE Container%Contact = '' ENDIF !---------------------------------- ! StartTimeStamp !---------------------------------- IF ( PRESENT( StartTimeStamp ) ) THEN TempStr = StartTimeStamp Container%StartTimeStamp = TempStr ELSE Container%StartTimeStamp = '' ENDIF !---------------------------------- ! EndTimeStamp !---------------------------------- IF ( PRESENT( EndTimeStamp ) ) THEN TempStr = EndTimeStamp Container%EndTimeStamp = TempStr ELSE Container%EndTimeStamp = '' ENDIF !======================================================================= ! Set other fields to initial or undefined values !======================================================================= ! These fields won't get defined until we open/write the netCDF file Container%IsFileDefined = .FALSE. Container%IsFileOpen = .FALSE. Container%FileId = UNDEFINED_INT Container%xDimId = UNDEFINED_INT Container%yDimId = UNDEFINED_INT Container%zDimId = UNDEFINED_INT Container%iDimId = UNDEFINED_INT Container%tDimId = UNDEFINED_INT Container%bDimId = UNDEFINED_INT Container%Spc_Units = '' ! Set the other time/date fields from EpochJd, CurrentYmd, CurrentHms, etc. Container%EpochJsec = Container%EpochJd * SECONDS_PER_DAY Container%CurrentJsec = Container%EpochJSec Container%CurrentJd = Container%EpochJd Container%ReferenceJsec = Container%EpochJsec Container%ReferenceJd = Container%EpochJd Container%ReferenceYmd = Container%CurrentYmd Container%ReferenceHms = Container%CurrentHms ! These other time fields will be defined later Container%ElapsedSec = 0.0_f8 Container%CurrTimeSlice = UNDEFINED_INT Container%TimeStamp = 0.0_f8 ! Spatial information fields will be defined according to the ! dimensions of the HISTORY ITEMS belonging to the collection Container%NX = UNDEFINED_INT Container%NY = UNDEFINED_INT Container%NZ = UNDEFINED_INT Container%NB = UNDEFINED_INT Container%X0 = UNDEFINED_INT Container%X1 = UNDEFINED_INT Container%Y0 = UNDEFINED_INT Container%Y1 = UNDEFINED_INT Container%Z0 = UNDEFINED_INT Container%OnLevelEdges = .FALSE. !======================================================================= ! Initialize the alarms (elapsed seconds since start of run) !======================================================================= !---------------------------------- ! Initial UpdateAlarm interval !---------------------------------- CALL HistContainer_UpdateIvalSet( Input_Opt, Container, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "HistContainer_UpdateIvalSet"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !---------------------------------- ! Initial FileCloseAlarm interval !---------------------------------- CALL HistContainer_FileCloseIvalSet( Input_Opt, Container, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "HistContainer_FileCloseIvalSet"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !---------------------------------- ! Initial FileWriteAlarm interval !---------------------------------- CALL HistContainer_FileWriteIvalSet( Input_Opt, Container, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "HistContainer_FileWriteIvalSet"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !-------------------------------------- ! Initial "UpdateAlarm" setting !-------------------------------------- !------------------------------------------------------------------------- ! Prior to 3/5/19: ! Subtract the "heartbeat" timestep in seconds from UpdateAlarm. ! This will ensure that (1) Instantaneous file collections will be ! updated just before the file write, (2) Time-averaged collections ! will be averaged on the same timestep as the "historical" GEOS-Chem ! diagnostics, thus allowing for a direct comparison. !Container%UpdateAlarm = Container%UpdateIvalSec - Container%HeartBeatDtSec !------------------------------------------------------------------------- ! Set the initial UpdateAlarm value to the update interval in seconds ! NOTE: We no longer have to subtract the heartbeat timestep, because ! in the main program, we now call History_SetTime to advance the ! clock before calling History_Update to update the diagnostics. ! This will now allow us to recompute monthly or yearly intervals ! that span leap year days properly. (bmy, 3/5/19) Container%UpdateAlarm = Container%UpdateIvalSec ! Trap error if negative IF ( Container%UpdateAlarm < 0 ) THEN ErrMsg = 'UpdateAlarm for collection ' // & TRIM( Container%Name ) // ' is negative!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !-------------------------------------- ! Initial "FileWriteAlarm" setting !-------------------------------------- ! Set the file write alarm to its computed interval Container%FileWriteAlarm = Container%FileWriteIvalSec ! Trap error if negative IF ( Container%FileWriteAlarm < 0 ) THEN ErrMsg = 'FileWriteAlarm for collection ' // & TRIM( Container%Name ) // ' is negative!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !-------------------------------------- ! Initial "FileCloseAlarm" setting !-------------------------------------- IF ( Container%Operation == COPY_FROM_SOURCE ) THEN ! %%% INSTANTANEOUS %%% ! Create a new file ASAP so that we can start writing data to it Container%FileCloseAlarm = 0.0_f8 ELSE ! %%% TIME-AVERAGED %%% ! Set the initial file close/reopen time to the first write time. ! (We will subtract this off later, when computing the reference ! date and time for the netCDF file.) Container%FileCloseAlarm = Container%FileWriteIvalSec ENDIF ! Trap error if negative IF ( Container%FileCloseAlarm < 0 ) THEN ErrMsg = 'FileCloseAlarm for collection ' // & TRIM( Container%Name ) // ' is negative!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF END SUBROUTINE HistContainer_Create !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: HistContainer_Print ! ! !DESCRIPTION: Prints information stored in a single HISTORY CONTAINER object. !\\ !\\ ! !INTERFACE: ! SUBROUTINE HistContainer_Print( Input_Opt, Container, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(HistContainer), POINTER :: Container ! HISTORY CONTAINER object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REVISION HISTORY: ! 16 Jun 2017 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOcAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: DimStr ! String arrays CHARACTER(LEN=22) :: OpCode(0:1) = & (/ 'Copy from source ', & 'Accumulate from source' /) ! Objects TYPE(MetaHistItem), POINTER :: Current !======================================================================= ! Initialize !======================================================================= ! Assume success RC = GC_SUCCESS ! Free pointers Current => NULL() !======================================================================= ! Print information about this HISTORY CONTAINER ! only if we are on the root CPU !======================================================================= IF ( ASSOCIATED( Container ) .and. Input_Opt%amIRoot ) THEN WRITE( 6, 110 ) REPEAT( '-', 78 ) WRITE( 6, 110 ) REPEAT( '-', 78 ) WRITE( 6, 120 ) 'Container Name : ', TRIM( Container%Name ) WRITE( 6, 130 ) 'Container Id # : ', Container%Id WRITE( 6, 130 ) 'nX : ', Container%nX WRITE( 6, 130 ) 'nY : ', Container%nY WRITE( 6, 130 ) 'nZ : ', Container%nZ WRITE( 6, 130 ) 'nB : ', Container%nB WRITE( 6, 160 ) 'EpochJsec : ', Container%EpochJsec WRITE( 6, 160 ) 'EpochJd : ', Container%EpochJd WRITE( 6, 160 ) 'CurrentJSec : ', Container%CurrentJSec WRITE( 6, 160 ) 'CurrentJd : ', Container%CurrentJd WRITE( 6, 135 ) 'CurrentYmd : ', Container%CurrentYmd WRITE( 6, 145 ) 'CurrentHms : ', Container%CurrentHms WRITE( 6, 160 ) 'ElapsedSec : ', Container%ElapsedSec WRITE( 6, 120 ) 'UpdateMode : ', TRIM( Container%UpdateMode ) WRITE( 6, 135 ) 'UpdateYmd : ', Container%UpdateYmd WRITE( 6, 145 ) 'UpdateHms : ', Container%UpdateHms WRITE( 6, 160 ) 'UpdateIvalSec : ', Container%UpdateIvalSec WRITE( 6, 160 ) 'UpdateAlarm : ', Container%UpdateAlarm WRITE( 6, 120 ) 'Operation : ', OpCode( Container%Operation ) WRITE( 6, 160 ) 'HeartBeatDtSec : ', Container%HeartBeatDtSec WRITE( 6, 135 ) 'ReferenceYmd : ', Container%ReferenceYmd WRITE( 6, 145 ) 'ReferenceHms : ', Container%ReferenceHms WRITE( 6, 160 ) 'ReferenceJsec : ', Container%ReferenceJd WRITE( 6, 160 ) 'ReferenceJd : ', Container%ReferenceJd WRITE( 6, 135 ) 'FileWriteYmd : ', Container%FileWriteYmd WRITE( 6, 145 ) 'FileWriteHms : ', Container%FileWriteHms WRITE( 6, 160 ) 'FileWriteIvalSec : ', Container%FileWriteIvalSec WRITE( 6, 160 ) 'FileWriteAlarm : ', Container%FileWriteAlarm WRITE( 6, 135 ) 'FileCloseYmd : ', Container%FileCloseYmd WRITE( 6, 145 ) 'FileCloseHms : ', Container%FileCloseHms WRITE( 6, 160 ) 'FileCloseIvalSec : ', Container%FileCloseIvalSec WRITE( 6, 160 ) 'FileCloseAlarm : ', Container%FileCloseAlarm WRITE( 6, 130 ) 'CurrTimeSlice : ', Container%CurrTimeSlice WRITE( 6, 150 ) 'IsFileOpen : ', Container%IsFileOpen WRITE( 6, 150 ) 'IsFileDefined : ', Container%IsFileDefined WRITE( 6, 130 ) 'FileId : ', Container%FileId WRITE( 6, 130 ) 'xDimId : ', Container%xDimId WRITE( 6, 130 ) 'yDimId : ', Container%yDimId WRITE( 6, 130 ) 'zDimId : ', Container%zDimId WRITE( 6, 130 ) 'tDimId : ', Container%tDimId WRITE( 6, 130 ) 'bDimId : ', Container%bDimId WRITE( 6, 120 ) 'FileExpId : ', TRIM( Container%FileExpId ) WRITE( 6, 120 ) 'FilePrefix : ', TRIM( Container%FilePrefix ) WRITE( 6, 120 ) 'FileTemplate : ', TRIM( Container%FileTemplate ) WRITE( 6, 120 ) 'Filename : ', TRIM( Container%FileName ) WRITE( 6, 120 ) 'Conventions : ', TRIM( Container%Conventions ) WRITE( 6, 120 ) 'NcFormat : ', TRIM( Container%NcFormat ) WRITE( 6, 120 ) 'History : ', TRIM( Container%History ) WRITE( 6, 120 ) 'ProdDateTime : ', TRIM( Container%ProdDateTime ) WRITE( 6, 120 ) 'Reference : ', TRIM( Container%Reference ) WRITE( 6, 120 ) 'Title : ', TRIM( Container%Title ) WRITE( 6, 120 ) 'Contact : ', TRIM( Container%Contact ) WRITE( 6, 120 ) 'StartTimeStamp : ', Container%StartTimeStamp WRITE( 6, 120 ) 'EndTimeStamp : ', Container%EndTimeStamp WRITE( 6, 110 ) '' WRITE( 6, 110 ) 'Items archived in this collection:' ! FORMAT statements 110 FORMAT( 1x, a ) 120 FORMAT( 1x, a, a ) 130 FORMAT( 1x, a, 7x, i8 ) 135 FORMAT( 1x, a, 7x, i8.8 ) 140 FORMAT( 1x, a, i6 ) 145 FORMAT( 1x, a, 9x, i6.6 ) 150 FORMAT( 1x, a, L15 ) 160 FORMAT( 1x, a, f17.1 ) ! If there are HISTORY ITEMS belonging to this container ... IF ( ASSOCIATED( Container%HistItems ) ) THEN ! Point to the start of the list of HISTORY ITEMS Current => Container%HistItems ! As long as this HISTORY ITEM is valid ... DO WHILE ( ASSOCIATED( Current ) ) ! Print the name, long-name, and units of each HISTORY ITEM ! that is stored in the METAHISTORY ITEM belonging to this ! HISTORY CONTAINER. In other words, these are the diagnostic ! quantities that will get archived to the netCDF file. WRITE( 6, 100 ) Current%Item%Name, & Current%Item%LongName, & Current%Item%DimNames, & TRIM( Current%Item%Units ) 100 FORMAT( 2x, a20, ' | ', a35, ' | ', a3, ' | ', a ) ! Skip to net item Current => Current%Next ENDDO ! Free pointers Current => NULL() ENDIF ENDIF END SUBROUTINE HistContainer_Print !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: HistContainer_Destroy ! ! !DESCRIPTION: This method will destroy the METAHISTORY ITEM belonging to ! a HISTORY CONTAINER. It will then destroy the HISTORY CONTAINER itself. !\\ !\\ ! !INTERFACE: ! SUBROUTINE HistContainer_Destroy( Container, RC ) ! ! !USES: ! USE ErrCode_Mod USE MetaHistItem_Mod, ONLY : MetaHistItem_Destroy ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(HistContainer), POINTER :: Container ! HISTORY CONTAINER object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REVISION HISTORY: ! 16 Jun 2017 - R. Yantosca - Initial version, based on code by Arjen Markus ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc !======================================================================= ! Initialize !======================================================================= RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at HistContainer_Destroy (in History/histcontainer_mod.F90)' !======================================================================= ! Destroy the METAHISTORY ITEM belonging to this HISTORY CONTAINER !======================================================================= IF ( ASSOCIATED( Container%HistItems ) ) THEN CALL MetaHistItem_Destroy( Container%HistItems, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'MetaHistItem_Destroy returned with error!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !======================================================================= ! Then destroy the HISTORY CONTAINER itself !======================================================================= IF ( ASSOCIATED( Container ) ) THEN DEALLOCATE( Container, STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not destroy the "Container" HISTORY CONTAINER!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF END SUBROUTINE HistContainer_Destroy !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: HistContainer_UpdateIvalSet ! ! !DESCRIPTION: Defines the alarm interval for the UPDATE operation. !\\ !\\ ! !INTERFACE: ! SUBROUTINE HistContainer_UpdateIvalSet( Input_Opt, Container, RC ) ! ! !USES: ! USE ErrCode_Mod USE History_Util_Mod USE Input_Opt_Mod, ONLY : OptInput USE Time_Mod, ONLY : Its_A_Leapyear, Ymd_Extract ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(HistContainer), POINTER :: Container ! HISTORY CONTAINER object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! ! !REMARKS: ! Assume that we will always update data more frequently than 1 month. ! This means that we only have to compute this interval at initialization. ! ! !REVISION HISTORY: ! 06 Sep 2017 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars ! Scalars INTEGER :: IncYear, IncMonth, IncDay, newYmd INTEGER :: Year, Month, Day INTEGER :: Hour, Minute, Second REAL(f8) :: extraIval ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc !======================================================================= ! Initialize !======================================================================= RC = GC_SUCCESS newYmd = 0 extraIval = 0.0_f8 ErrMsg = '' ThisLoc = & ' -> at HistContainer_UpdateIvalSet (in History/histcontainer_mod.F90)' ! Split the FileCloseYmd interval into constituent fields CALL Ymd_Extract( Container%UpdateYmd, IncYear, IncMonth, IncDay ) !======================================================================= ! Compute the interval for the "UpdateAlarm" !======================================================================= IF ( Container%UpdateYmd >= 010000 ) THEN !-------------------------------------------------------------------- ! Update interval is one year or greater !-------------------------------------------------------------------- ! Split the current date & time into its constituent values CALL Ymd_Extract( Container%CurrentYmd, Year, Month, Day ) ! Update the alarm increment CALL AlarmIncrementYears( IntervalYmd = Container%UpdateYmd, & Year = Year, & Month = Month, & Increment = Container%UpdateIvalSec ) ! Update the alarm increment for additional months & days IF ( IncMonth > 0 .or. IncDay > 0 ) THEN newYmd = ( IncMonth * 100 ) + IncDay CALL AlarmIncrementMonths( IntervalYmd = newYmd, & Year = Year, & Month = Month, & Increment = extraIval ) Container%UpdateIvalSec = Container%UpdateIvalSec + extraIval ENDIF ELSE IF ( Container%UpdateYmd < 001200 .and. & Container%UpdateYmd >= 000100 ) THEN !-------------------------------------------------------------------- ! Update interval is between 1 month and 1 year !-------------------------------------------------------------------- ! Split the current date & time into its constituent values CALL Ymd_Extract( Container%CurrentYmd, Year, Month, Day ) ! Update the alarm increment CALL AlarmIncrementMonths( IntervalYmd = Container%UpdateYmd, & Year = Year, & Month = Month, & Increment = Container%UpdateIvalSec ) ELSE !-------------------------------------------------------------------- ! Update interval is less than 1 month !-------------------------------------------------------------------- ! Split the file close interval date/time into its constituent values CALL Ymd_Extract( Container%UpdateYmd, Year, Month, Day ) CALL Ymd_Extract( Container%UpdateHms, Hour, Minute, Second ) ! "Update" interval in seconds Container%UpdateIvalSec = ( DBLE( Day ) * SECONDS_PER_DAY ) + & ( DBLE( Hour ) * SECONDS_PER_HOUR ) + & ( DBLE( Minute ) * SECONDS_PER_MINUTE ) + & ( DBLE( Second ) ) ENDIF END SUBROUTINE HistContainer_UpdateIvalSet !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: HistContainer_FileCloseIvalSet ! ! !DESCRIPTION: Defines the alarm interval for the FILE CLOSE/REOPEN operation. !\\ !\\ ! !INTERFACE: ! SUBROUTINE HistContainer_FileCloseIvalSet( Input_Opt, Container, RC ) ! ! !USES: ! USE ErrCode_Mod USE History_Util_Mod USE Input_Opt_Mod, ONLY : OptInput USE Time_Mod, ONLY : Its_A_Leapyear, Ymd_Extract ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(HistContainer), POINTER :: Container ! HISTORY CONTAINER object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! ! !REMARKS: ! The algorithm may not be as robust when straddling leap-year months, so we ! would recommend selecting an interval of 1 month or 1 year at a time. ! ! !REVISION HISTORY: ! 06 Sep 2017 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: IncYear, IncMonth, IncDay, newYmd INTEGER :: Year, Month, Day INTEGER :: Hour, Minute, Second REAL(f8) :: extraIval ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc !======================================================================= ! Initialize !======================================================================= RC = GC_SUCCESS newYmd = 0 extraIval = 0.0_f8 ErrMsg = '' ThisLoc = & ' -> at HistContainer_FileCloseIvalSet (in History/histcontainer_mod.F90)' ! Split the FileCloseYmd interval into constituent fields CALL Ymd_Extract( Container%FileCloseYmd, IncYear, IncMonth, IncDay ) !======================================================================= ! Compute the interval for the "FileCloseAlarm" !======================================================================= IF ( Container%FileCloseYmd >= 010000 ) THEN !-------------------------------------------------------------------- ! File close interval is 1 year or greater !-------------------------------------------------------------------- ! Split the current date & time into its constituent values CALL Ymd_Extract( Container%CurrentYmd, Year, Month, Day ) ! Update the alarm increment CALL AlarmIncrementYears( IntervalYmd = Container%FileCloseYmd, & Year = Year, & Month = Month, & Increment = Container%FileCloseIvalSec ) ! Update the alarm increment for additional months & days IF ( IncMonth > 0 .or. IncDay > 0 ) THEN newYmd = ( IncMonth * 100 ) + IncDay CALL AlarmIncrementMonths( IntervalYmd = newYmd, & Year = Year, & Month = Month, & Increment = extraIval ) Container%FileCloseIvalSec = Container%FileCloseIvalSec + extraIval ENDIF ELSE IF ( Container%FileCloseYmd < 001200 .and. & Container%FileCloseYmd >= 000100 ) THEN !-------------------------------------------------------------------- ! File close interval is between 1 month and 1 year !-------------------------------------------------------------------- ! Split the current date & time into its constituent values CALL Ymd_Extract( Container%CurrentYmd, Year, Month, Day ) ! Update the alarm increment CALL AlarmIncrementMonths( IntervalYmd = Container%FileCloseYmd, & Year = Year, & Month = Month, & Increment = Container%FileCloseIvalSec ) ELSE !-------------------------------------------------------------------- ! File close interval is less than 1 month !-------------------------------------------------------------------- ! Split the file close interval date/time into its constituent values CALL Ymd_Extract( Container%FileCloseYmd, Year, Month, Day ) CALL Ymd_Extract( Container%FileCloseHms, Hour, Minute, Second ) ! "FileClose" interval in seconds Container%FileCloseIvalSec = ( DBLE(Day ) * SECONDS_PER_DAY ) + & ( DBLE(Hour ) * SECONDS_PER_HOUR ) + & ( DBLE(Minute) * SECONDS_PER_MINUTE ) + & ( DBLE(Second) ) ENDIF END SUBROUTINE HistContainer_FileCloseIvalSet !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: HistContainer_FileWriteIvalSet ! ! !DESCRIPTION: Defines the alarm intervals for the FILE WRITE operation. !\\ !\\ ! !INTERFACE: ! SUBROUTINE HistContainer_FileWriteIvalSet( Input_Opt, Container, RC ) ! ! !USES: ! USE ErrCode_Mod USE History_Util_Mod USE Input_Opt_Mod, ONLY : OptInput USE Time_Mod, ONLY : Its_A_Leapyear, Ymd_Extract ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(HistContainer), POINTER :: Container ! HISTORY CONTAINER object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! ! !REMARKS: ! The algorithm may not be as robust when straddling leap-year months, so we ! would recommend selecting an interval of 1 month or 1 year at a time. ! ! !REVISION HISTORY: ! 06 Jan 2015 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: IncYear, IncMonth, IncDay, newYmd INTEGER :: Year, Month, Day INTEGER :: Hour, Minute, Second REAL(f8) :: extraIval ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc !======================================================================= ! Initialize !======================================================================= RC = GC_SUCCESS newYmd = 0 extraIval = 0.0_f8 ErrMsg = '' ThisLoc = & ' -> at HistContainer_FileWriteIvalSet (in History/histcontainer_mod.F90)' ! Split the FileCloseYmd interval into constituent fields CALL Ymd_Extract( Container%FileWriteYmd, IncYear, IncMonth, IncDay ) !======================================================================= ! Compute the interval for the "FileWriteAlarm" !======================================================================= IF ( Container%FileWriteYmd >= 010000 ) THEN !-------------------------------------------------------------------- ! File write interval is one year or greater !-------------------------------------------------------------------- ! Split the current date & time into its constituent values CALL Ymd_Extract( Container%CurrentYmd, Year, Month, Day ) ! Update the alarm increment CALL AlarmIncrementYears( IntervalYmd = Container%FileWriteYmd, & Year = Year, & Month = Month, & Increment = Container%FileWriteIvalSec ) ! Update the alarm increment for additional months & days IF ( IncMonth > 0 .or. IncDay > 0 ) THEN newYmd = ( IncMonth * 100 ) + IncDay CALL AlarmIncrementMonths( IntervalYmd = newYmd, & Year = Year, & Month = Month, & Increment = extraIval ) Container%FileWriteIvalSec = Container%FileWriteIvalSec + extraIval ENDIF ELSE IF ( Container%FileWriteYmd < 001200 .and. & Container%FileWriteYmd >= 000100 ) THEN !-------------------------------------------------------------------- ! File write interval is one or more months but less than a year ! ! This will probably be the most common option. ! Now accounts properly for leap year days. (bmy, 2/26/19) !-------------------------------------------------------------------- ! Split the current date & time into its constituent values CALL Ymd_Extract( Container%CurrentYmd, Year, Month, Day ) ! Update the alarm increment CALL AlarmIncrementMonths( IntervalYmd = Container%FileWriteYmd, & Year = Year, & Month = Month, & Increment = Container%FileWriteIvalSec ) ELSE !-------------------------------------------------------------------- ! File write interval is less than a month !-------------------------------------------------------------------- ! Split the file write interval date/time into its constituent values CALL Ymd_Extract( Container%FileWriteYmd, Year, Month, Day ) CALL Ymd_Extract( Container%FileWriteHms, Hour, Minute, Second ) ! "FileWrite" interval in seconds Container%FileWriteIvalSec = ( DBLE(Day ) * SECONDS_PER_DAY ) + & ( DBLE(Hour ) * SECONDS_PER_HOUR ) + & ( DBLE(Minute) * SECONDS_PER_MINUTE ) + & ( DBLE(Second) ) ENDIF END SUBROUTINE HistContainer_FileWriteIvalSet !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: HistContainer_SetTime ! ! !DESCRIPTION: Increments the current astronomical Julian Date of a HISTORY ! CONTAINER object by the HeartBeat interval (in fractional days). Then it ! recomputes the corresponding date/time and elapsed minutes. !\\ !\\ ! !INTERFACE: ! SUBROUTINE HistContainer_SetTime( Input_Opt, Container, HeartBeatDt, RC ) ! ! !USES: ! USE ErrCode_Mod USE History_Util_Mod USE Input_Opt_Mod, ONLY : OptInput USE Julday_Mod, ONLY :CALDATE ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(HistContainer), POINTER :: Container ! HISTORY CONTAINER object REAL(f8), OPTIONAL :: HeartBeatDt ! Heartbeat increment for ! for timestepping [days] ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REMARKS: ! This routine is called after the initial creation of the HISTORY ! CONTAINER object. It is also called from History_SetTime, which is ! placed after the call to History_Update but before History_Write. ! ! !REVISION HISTORY: ! 21 Aug 2017 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc !======================================================================= ! Initialize !======================================================================= RC = GC_SUCCESS ErrMsg = '' ThisLoc = & ' -> at HistContainer_SetTime (in History/history_mod.F90)' !======================================================================== ! Update the current time by the heartbeat time (in seconds) !======================================================================== ! Update the Astronomical Julian seconds value by the heartbeat interval. ! Increment in seconds instead of days to avoid roundoff errors. IF ( PRESENT( HeartBeatDt ) ) THEN Container%CurrentJsec = Container%CurrentJsec + & HeartBeatDt ELSE Container%CurrentJsec = Container%CurrentJsec + & Container%HeartBeatDtSec ENDIF ! Convert Astronomical Julian Seconds to Astronomical Julian Date, ! for the conversion to calendar date and time. (bmy, 7/11/18) Container%CurrentJd = Container%CurrentJsec / SECONDS_PER_DAY ! Convert the Astronomical Julian Date to calendar date and time CALL CalDate( JulianDay = Container%CurrentJd, & yyyymmdd = Container%CurrentYmd, & hhmmss = Container%CurrentHms ) !======================================================================== ! Compute elapsed time quantities !======================================================================== ! Compute the elapsed time in seconds since the start of the run CALL Compute_Elapsed_Time( CurrentJsec = Container%CurrentJsec, & TimeBaseJsec = Container%EpochJsec, & ElapsedSec = Container%ElapsedSec ) END SUBROUTINE HistContainer_SetTime !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ComputeAlarmIncrementYears ! ! !DESCRIPTION: Given an interval, computes the number of seconds to add ! to an alarm, properly accounting for leap years. This is for the case ! when the update frequency is 1 year or greater. !\\ !\\ ! !INTERFACE: ! SUBROUTINE AlarmIncrementYears( IntervalYmd, Year, Month, Increment ) ! ! !USES: ! USE History_Util_Mod, ONLY : SECONDS_PER_DAY USE Time_Mod, ONLY : Its_A_Leapyear, Ymd_Extract ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: IntervalYmd ! Update frequency in YYYYMMDD format INTEGER, INTENT(IN) :: Year ! Current year INTEGER, INTENT(IN) :: Month ! Current Month ! ! !OUTPUT PARAMETERS: ! REAL(f8), INTENT(OUT) :: Increment ! Number of seconds to add to alarm ! ! !REVISION HISTORY: ! 26 Feb 2019 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! SAVEd scalars LOGICAL :: FirstLeap ! Scalars INTEGER :: ivalYears, ivalMonths, ivalDays, nYears, T, M, YYYY !======================================================================= ! AlarmIncrementYears begins here! !======================================================================= ! Initialize FirstLeap = .TRUE. Increment = 0.0_fp nYears = IntervalYmd / 10000 ! Break the interval YYYYMMDD into its constituent values CALL Ymd_Extract( IntervalYmd, ivalYears, ivalMonths, ivalDays ) ! Loop over the requested # of years DO T = 0, nYears-1 ! Increment the year from the starting year YYYY = Year + T ! Compute the increment, accounting for leap years IF ( Its_A_LeapYear( YYYY ) ) THEN ! It's the first leap year IF ( FirstLeap ) THEN ! If we start after March 1st, the interval is 365 days ! Otherwise, the interval is 366 days. IF ( Month > 2 ) THEN Increment = Increment + ( 365.0_f8 * SECONDS_PER_DAY ) ELSE Increment = Increment + ( 366.0_f8 * SECONDS_PER_DAY ) ENDIF ! Reset first leap year flag FirstLeap = .FALSE. ELSE ! For each successive leap year, the interval is 366 days. Increment = Increment + ( 366.0_f8 * SECONDS_PER_DAY ) ENDIF ELSE ! If it's not a leap year, the interval is 365 days. Increment = Increment + ( 365.0_f8 * SECONDS_PER_DAY ) ENDIF ENDDO END SUBROUTINE AlarmIncrementYears !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: AlarmIncremenmtMonths ! ! !DESCRIPTION: Given an interval, computes the number of seconds to add ! to an alarm, properly accounting for leap years. This is for the case ! when the update frequency is between 1 month and 1 year. !\\ !\\ ! !INTERFACE: ! SUBROUTINE AlarmIncrementMonths( IntervalYmd, Year, Month, Increment ) ! ! !USES: ! USE History_Util_Mod, ONLY : SECONDS_PER_DAY USE Time_Mod, ONLY : Its_A_Leapyear, Ymd_Extract ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: IntervalYmd ! Update frequency in YYYYMMDD format INTEGER, INTENT(IN) :: Year ! Current year INTEGER, INTENT(IN) :: Month ! Current month ! ! !OUTPUT PARAMETERS: ! REAL(f8), INTENT(OUT) :: Increment ! Number of seconds to add to alarm ! ! !REVISION HISTORY: ! 26 Feb 2019 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: ivalYears, ivalMonths, ivalDays INTEGER :: MM, nDays, nMonths INTEGER :: T, YYYY ! ! !DEFINED PARAMETERS: ! ! Days in non-leap-year months: J F M A M J J A S O N D INTEGER, PARAMETER :: DpM(12) = (/ 31,28,31,30,31,30,31,31,30,31,30,31 /) !======================================================================= ! AlarmIncrememntMonths begins here! !======================================================================= ! Initialize Increment = 0.0_fp MM = Month nDays = 0 nMonths = IntervalYmd / 100 YYYY = Year ! Break the interval YYYMMDD into constituent values CALL Ymd_Extract( IntervalYmd, ivalYears, ivalMonths, ivalDays ) ! Loop over the requested # of months DO T = 0, nMonths-1 ! Keep a running total of the number of days in the interval ! (i.e. days corresponding to whole months) nDays = nDays + DpM(MM) ! Add the leap year day if necessary IF ( Its_A_LeapYear( YYYY ) .and. MM == 2 ) THEN nDays = nDays + 1 ENDIF ! Increment the month for next iteration MM = MM + 1 ! Also increment the year if we straddle New Year's Day IF ( MM > 12 ) THEN MM = 1 YYYY = YYYY + 1 ENDIF ENDDO ! Convert from days to seconds. Also add the number of ! days in the increment not corresponding to whole months ! (e.g. for intervals of a month & a day, etc.) Increment = DBLE( nDays + ivalDays ) * SECONDS_PER_DAY END SUBROUTINE AlarmIncrementMonths !EOC END MODULE HistContainer_Mod ================================================ FILE: History/histitem_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: histitem_mod.F90 ! ! !DESCRIPTION: Contains types and methods to create a HISTORY ITEM object. ! A HISTORY ITEM represents a single GEOS-Chem diagnostic quantity that ! will be archived to netCDF file output. !\\ !\\ ! !INTERFACE: ! MODULE HistItem_Mod ! ! !USES: ! USE Precision_Mod IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: HistItem_Create PUBLIC :: HistItem_Print PUBLIC :: HistItem_Destroy ! ! !PUBLIC TYPES: ! !========================================================================= ! This is the derived type for a SINGLE HISTORY ITEM OBJECT, which will ! hold a quantity from GEOS-Chem that we want to save to netCDF output. !========================================================================= TYPE, PUBLIC :: HistItem !---------------------------------------------------------------------- ! Identifying information !---------------------------------------------------------------------- CHARACTER(LEN=255) :: Name ! Item name INTEGER :: Id ! Item Id INTEGER :: ContainerId ! Container Id !---------------------------------------------------------------------- ! netCDF variable attributes (for COARDS-compliance) !---------------------------------------------------------------------- INTEGER :: NcXDimId ! Id of netCDF X (lon ) dim INTEGER :: NcYDimId ! Id of netCDF Y (lat ) dim INTEGER :: NcZDimId ! Id of netCDF Z (lev C ) dim INTEGER :: NcIDimId ! ID of netCDF I (lev E ) dim INTEGER :: NcTDimId ! Id of netCDF T (time ) dim INTEGER :: NcBdimId ! Id of netCDF B (bounds) dim INTEGER :: NcVarId ! netCDF variable ID CHARACTER(LEN=255) :: LongName ! Item description CHARACTER(LEN=255) :: Units ! Units of data REAL(f4) :: AddOffset4 ! Offset and scale factor REAL(f4) :: ScaleFactor4 ! for packed data (4-byte) REAL(f4) :: MissingValue4 ! Missing value (4-byte) REAL(f8) :: AddOffset8 ! Offset and scale factor REAL(f8) :: ScaleFactor8 ! for packed data (8-byte) REAL(f8) :: MissingValue8 ! Missing value (8-byte) CHARACTER(LEN=255) :: AvgMethod ! Averaging method !---------------------------------------------------------------------- ! Pointers to the data in State_Chm, State_Diag, or State_Met !---------------------------------------------------------------------- INTEGER :: Source_KindVal ! Identifies the source type INTEGER :: Output_KindVal ! Identifies the output type REAL(f8), POINTER :: Source_0d_8 ! Ptr to 0D 8-byte data REAL(f8), POINTER :: Source_1d_8(: ) ! Ptr to 1D 8-byte data REAL(f4), POINTER :: Source_1d_4(: ) ! Ptr to 1D 4-byte data INTEGER, POINTER :: Source_1d_I(: ) ! Ptr to 1D integer data REAL(f8), POINTER :: Source_2d_8(:,: ) ! Ptr to 2D 8-byte data REAL(f4), POINTER :: Source_2d_4(:,: ) ! Ptr to 2D 4-byte data INTEGER, POINTER :: Source_2d_I(:,: ) ! Ptr to 2D integer data REAL(f8), POINTER :: Source_3d_8(:,:,:) ! Ptr to 3D 8-byte data REAL(f4), POINTER :: Source_3d_4(:,:,:) ! Ptr to 3D 4-byte data INTEGER, POINTER :: Source_3d_I(:,:,:) ! Ptr to 3D integer data !---------------------------------------------------------------------- ! Data arrays !---------------------------------------------------------------------- INTEGER :: SpaceDim ! # of dims (0-3) REAL(f8), POINTER :: Data_0d ! 0D scalar REAL(f8), POINTER :: Data_1d(: ) ! 1D vector REAL(f8), POINTER :: Data_2d(:,: ) ! 2D array REAL(f8), POINTER :: Data_3d(:,:,:) ! 3D array CHARACTER(LEN=3) :: DimNames ! Used to specify if data is ! "xyz", "yz", "x", "y" etc. INTEGER, POINTER :: NcChunkSizes(:) ! Chunk sizes for netCDF LOGICAL :: OnLevelEdges ! =T if data is defined on ! vertical level edges; ! =F if on level centers !---------------------------------------------------------------------- ! Data archival !---------------------------------------------------------------------- REAL(f8) :: nUpdates ! # of times updated INTEGER :: Operation ! Operation code ! 0=copy from source ! 1=accumulate from source END TYPE HistItem ! ! !REMARKS: ! Linked list routines taken from original code (linkedlist.f90) ! by Arjen Markus; http://flibs.sourceforge.net/linked_list.html ! ! !REVISION HISTORY: ! 13 Jun 2017 - R. Yantosca - Initial version, based on code by Arjen Markus ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: HistItem_Create ! ! !DESCRIPTION: Initializes a single history item that will be archived ! via History (and eventually sent to netCDF output). !\\ !\\ ! !INTERFACE: ! SUBROUTINE HistItem_Create( Input_Opt, Item, Id, & ContainerId, Name, RC, & LongName, Units, SpaceDim, & OnLevelEdges, AddOffset4, MissingValue4, & ScaleFactor4, AddOffset8, ScaleFactor8, & MissingValue8, Source_KindVal, Output_KindVal, & Operation, DimNames, Dimensions, & Subset_X, Subset_Y, Subset_Z, & Source_0d_8, Source_1d_8, Source_1d_4, & Source_1d_I, Source_2d_8, Source_2d_4, & Source_2d_I, Source_3d_8, Source_3d_4, & Source_3d_I ) ! ! !USES: ! USE CharPak_Mod, ONLY : TranLc USE ErrCode_Mod USE History_Util_Mod USE Input_Opt_Mod, ONLY : OptInput USE Registry_Params_Mod ! ! !INPUT PARAMETERS: ! ! Required arguments TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object INTEGER, INTENT(IN) :: Id ! History item Id # INTEGER, INTENT(IN) :: ContainerId ! Container Id # CHARACTER(LEN=*), INTENT(IN) :: Name ! Item's short name CHARACTER(LEN=*), INTENT(IN) :: LongName ! Item's long name CHARACTER(LEN=*), INTENT(IN) :: Units ! Units of the data INTEGER, INTENT(IN) :: SpaceDim ! Dimension of data INTEGER, INTENT(IN) :: Subset_X(2) ! X0, X1 indices INTEGER, INTENT(IN) :: Subset_Y(2) ! Y0, Y1 indices INTEGER, INTENT(IN) :: Subset_Z(2) ! Z0, Z1 indices ! Optional arguments LOGICAL, OPTIONAL :: OnLevelEdges ! =T if data defined ! on level edges; ! =F if on centers REAL(f4), OPTIONAL :: AddOffset4 ! COARDS-compliant REAL(f4), OPTIONAL :: MissingValue4 ! attributes for REAL(f4), OPTIONAL :: ScaleFactor4 ! netCDF output REAL(f4), OPTIONAL :: AddOffset8 ! COARDS-compliant REAL(f4), OPTIONAL :: MissingValue8 ! attributes for REAL(f4), OPTIONAL :: ScaleFactor8 ! netCDF output INTEGER, OPTIONAL :: Operation ! Operation code ! 0=copy from source ! 1=accum from source CHARACTER(LEN=*), OPTIONAL :: DimNames ! Use this to specify ! dimensions of data ! ("yz", "z", etc.) ! Optional pointers to data targets INTEGER, OPTIONAL :: Source_KindVal ! Kind of source data INTEGER, OPTIONAL :: Output_KindVal ! Type of output data REAL(f8), POINTER, OPTIONAL :: Source_0d_8 ! 0D 8-byte data REAL(f8), POINTER, OPTIONAL :: Source_1d_8(: ) ! 1D 8-byte data REAL(f4), POINTER, OPTIONAL :: Source_1d_4(: ) ! 1D 4-byte data INTEGER, POINTER, OPTIONAL :: Source_1d_I(: ) ! 1D integer data REAL(f8), POINTER, OPTIONAL :: Source_2d_8(:,: ) ! 2D 8-byte data REAL(f4), POINTER, OPTIONAL :: Source_2d_4(:,: ) ! 2D 4-byte data INTEGER, POINTER, OPTIONAL :: Source_2d_I(:,: ) ! 2D integer data REAL(f8), POINTER, OPTIONAL :: Source_3d_8(:,:,:) ! 3D 8-byte data REAL(f4), POINTER, OPTIONAL :: Source_3d_4(:,:,:) ! 3D 4-byte data INTEGER, POINTER, OPTIONAL :: Source_3d_I(:,:,:) ! 3D integer data ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(HistItem), POINTER :: Item ! HISTORY ITEM object ! ! !OUTPUT PARAMETERS: ! INTEGER, OPTIONAL :: Dimensions(3) ! Spatial dims of data INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REMARKS: ! (1) We need to copy string data to a temporary string of length 255 ! characters, or else Gfortran will choke. ! ! !REVISION HISTORY: ! 13 Jun 2017 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: Is_DimNames LOGICAL :: Is_0d_8 LOGICAL :: Is_1d_8, Is_1d_4, Is_1d_I LOGICAL :: Is_2d_8, Is_2d_4, Is_2d_I LOGICAL :: Is_3d_8, Is_3d_4, Is_3d_I INTEGER :: X0, X1, Y0, Y1 INTEGER :: Z0, Z1, N ! Arrays INTEGER :: Dims(3) ! Strings CHARACTER(LEN=3 ) :: TmpDimNames CHARACTER(LEN=255) :: ErrMsg, ThisLoc, TempStr !======================================================================== ! Initialize !======================================================================== RC = GC_SUCCESS Dims = UNDEFINED_INT ErrMsg = '' ThisLoc = ' -> at HistItem_Create (in History/histitem_mod.F90)' ! Allocate the Item object ALLOCATE( Item, STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot allocate the "Item" object!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Zero the data fields Item%Data_0d => NULL() Item%Data_1d => NULL() Item%Data_2d => NULL() Item%Data_3d => NULL() ! Determine if the optional source pointers are passed Is_0d_8 = PRESENT( Source_0d_8 ) Is_1d_8 = PRESENT( Source_1d_8 ) Is_1d_4 = PRESENT( Source_1d_4 ) Is_1d_I = PRESENT( Source_1d_I ) Is_2d_8 = PRESENT( Source_2d_8 ) Is_2d_4 = PRESENT( Source_2d_4 ) Is_2d_I = PRESENT( Source_2d_I ) Is_3d_8 = PRESENT( Source_3d_8 ) Is_3d_4 = PRESENT( Source_3d_4 ) Is_3d_I = PRESENT( Source_3d_I ) ! Zero optional source pointers IF ( Is_0d_8 ) Item%Source_0d_8 => NULL() IF ( Is_1d_8 ) Item%Source_1d_8 => NULL() IF ( Is_1d_4 ) Item%Source_1d_4 => NULL() IF ( Is_1d_I ) Item%Source_1d_I => NULL() IF ( Is_2d_8 ) Item%Source_2d_8 => NULL() IF ( Is_2d_4 ) Item%Source_2d_4 => NULL() IF ( Is_2d_I ) Item%Source_2d_I => NULL() IF ( Is_3d_8 ) Item%Source_3d_8 => NULL() IF ( Is_3d_4 ) Item%Source_3d_4 => NULL() IF ( Is_3d_I ) Item%Source_3d_I => NULL() ! Initialize indices X0 = UNDEFINED_INT X1 = UNDEFINED_INT X1 = UNDEFINED_INT Y1 = UNDEFINED_INT Z1 = UNDEFINED_INT Z1 = UNDEFINED_INT ! Zero the number of updates (won't get set until History_Update) ! in order to prevent uninitialized values from causing side-effects. Item%nUpdates = 0.0_f8 !======================================================================== ! Required inputs, handle these first !======================================================================== !-------------------------------------------- ! ID of this Item !-------------------------------------------- IF ( Id >= 0 ) THEN Item%Id = Id ELSE ErrMsg = '"Id" cannot be negative!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !-------------------------------------------- ! Id of the container this item belongs to !-------------------------------------------- IF ( ContainerId >= 0 ) THEN Item%ContainerId = ContainerId ELSE ErrMsg = '"ContainerId" cannot be negative!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !-------------------------------------------- ! Name (aka "short name") !-------------------------------------------- IF ( LEN_TRIM( Name ) > 0 ) THEN TempStr = Name Item%Name = TempStr ELSE ErrMsg = 'You must specify a value for "Name"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !-------------------------------------------- ! LongName !-------------------------------------------- IF ( LEN_TRIM( LongName ) > 0 ) THEN TempStr = LongName Item%LongName = TempStr ELSE ErrMsg = 'You must specify a value for "LongName"' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !-------------------------------------------- ! Units !-------------------------------------------- IF ( LEN_TRIM( Units ) > 0 ) THEN TempStr = Units Item%Units = TempStr ELSE ErrMsg = 'You must specify a value for "Units"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !-------------------------------------------- ! These won't be defined until we enter ! netCDF define mode, so set them undefined !-------------------------------------------- Item%NcXDimId = UNDEFINED_INT Item%NcYDimId = UNDEFINED_INT Item%NcZDimId = UNDEFINED_INT Item%NcIDimId = UNDEFINED_INT Item%NcTDimId = UNDEFINED_INT Item%NcBDimId = UNDEFINED_INT Item%NcVarId = UNDEFINED_INT !======================================================================== ! Optional inputs, handle these next !======================================================================== !-------------------------------------------- ! OnLevelEdges !-------------------------------------------- IF ( PRESENT( OnLevelEdges ) ) THEN Item%OnLevelEdges = OnLevelEdges ELSE Item%OnLevelEdges = .FALSE. ENDIF !-------------------------------------------- ! Add_Offset - 4 bytes !-------------------------------------------- IF ( PRESENT( AddOffset4 ) ) THEN Item%AddOffset4 = AddOffset4 ELSE Item%AddOffset4 = 0.0_f4 ENDIF !-------------------------------------------- ! Add_Offset - 8 bytes !-------------------------------------------- IF ( PRESENT( AddOffset8 ) ) THEN Item%AddOffset8 = AddOffset8 ELSE Item%AddOffset8 = 0.0_f8 ENDIF !-------------------------------------------- ! MissingValue - 4 bytes !-------------------------------------------- IF ( PRESENT( MissingValue4 ) ) THEN Item%MissingValue4 = MissingValue4 ELSE Item%MissingValue4 = UNDEFINED ENDIF !-------------------------------------------- ! MissingValue - 8 bytes !-------------------------------------------- IF ( PRESENT( MissingValue8 ) ) THEN Item%MissingValue8 = MissingValue8 ELSE Item%MissingValue8 = UNDEFINED_DBL ENDIF !-------------------------------------------- ! Scale_Factor - 4 bytes !-------------------------------------------- IF ( PRESENT( ScaleFactor4 ) ) THEN Item%ScaleFactor4 = ScaleFactor4 ELSE Item%ScaleFactor4 = 1.0_f4 ENDIF !-------------------------------------------- ! Scale_Factor - 8 bytes !-------------------------------------------- IF ( PRESENT( ScaleFactor4 ) ) THEN Item%ScaleFactor8 = ScaleFactor8 ELSE Item%ScaleFactor8 = 1.0_f8 ENDIF !-------------------------------------------- ! Source_KindVal !-------------------------------------------- IF ( PRESENT( Source_KindVal ) ) THEN Item%Source_KindVal = Source_KindVal ELSE Item%Source_KindVal = KINDVAL_FP ENDIF !-------------------------------------------- ! Output_KindVal (assume 4-byte output ! if not otherwise explicitly stated) !-------------------------------------------- IF ( PRESENT( Output_KindVal ) ) THEN Item%Output_KindVal = Output_KindVal ELSE Item%Output_KindVal = KINDVAL_F4 ENDIF !-------------------------------------------- ! Operation !-------------------------------------------- IF ( PRESENT( Operation ) ) THEN Item%Operation = Operation ELSE Item%Operation = COPY_FROM_SOURCE ENDIF !-------------------------------------------- ! DimNames !-------------------------------------------- IF ( PRESENT( DimNames ) ) THEN TmpDimNames = DimNames CALL TranLc( TmpDimNames ) ELSE TmpDimNames = ' ' ENDIF !-------------------------------------------- ! Averaging method (define from Operation) !-------------------------------------------- IF ( Item%Operation == COPY_FROM_SOURCE ) THEN TempStr = 'instantaneous' Item%AvgMethod = TempStr ELSE TempStr = 'time-averaged' Item%AvgMethod = TempStr ENDIF !======================================================================== ! Make sure the spatial dimension is in the range 0-3 !======================================================================== IF ( SpaceDim < 0 .or. SpaceDim > 3 ) THEN ErrMsg = 'SpaceDim must be in the range 0-3!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ELSE Item%SpaceDim = SpaceDim ENDIF !======================================================================= ! Set the DimNames field of the HISTORY ITEM !======================================================================= IF ( PRESENT( DimNames ) ) THEN ! If the DimNames argument was passed, use it Item%DimNames = DimNames ELSE ! Set default values if the DimNames argument isn't passed ! Most of the time we deal with either xy or xyz spatial data SELECT CASE( Item%SpaceDim ) CASE( 3 ) Item%DimNames = 'xyz' CASE( 2 ) Item%DimNames = 'xy ' CASE( 1 ) Item%DimNames = 'x ' CASE( 0 ) Item%DimNames = '- ' END SELECT ENDIF !======================================================================== ! Attach pointers to the data source. Also get the values of NX, NY, ! and NZ from the relevant source pointer if they were not passed. !======================================================================== SELECT CASE( Item%SpaceDim ) ! Attach pointer to 3D data source, depending on its type CASE( 3 ) ! Subsets: assume all 3d are xyz X0 = Subset_X(1); X1 = Subset_X(2) Y0 = Subset_Y(1); Y1 = Subset_Y(2) Z0 = Subset_Z(1); Z1 = Subset_Z(2) IF ( Item%Source_KindVal == KINDVAL_F8 ) THEN IF ( Is_3d_8 ) THEN Item%Source_3d_8 => Source_3d_8(X0:X1, Y0:Y1, Z0:Z1) DO N = 1, Item%SpaceDim Dims(N) = SIZE( Source_3d_8(X0:X1, Y0:Y1, Z0:Z1), N ) ENDDO GOTO 99 ENDIF ELSE IF ( Item%Source_KindVal == KINDVAL_F4 ) THEN IF ( Is_3d_4 ) THEN Item%Source_3d_4 => Source_3d_4(X0:X1, Y0:Y1, Z0:Z1) DO N = 1, Item%SpaceDim Dims(N) = SIZE( Source_3d_4(X0:X1, Y0:Y1, Z0:Z1), N ) ENDDO GOTO 99 ENDIF ELSE IF ( Item%Source_KindVal == KINDVAL_I4 ) THEN IF ( Is_3d_I ) THEN Item%Source_3d_I => Source_3d_I(X0:X1, Y0:Y1, Z0:Z1) DO N = 1, Item%SpaceDim Dims(N) = SIZE( Source_3d_I(X0:X1, Y0:Y1, Z0:Z1), N ) ENDDO GOTO 99 ENDIF ENDIF ! Attach pointer to 2D data source, depending on its type CASE( 2 ) ! Subsets: These will be xy, bx, or by X0 = Subset_X(1); X1 = Subset_X(2) Y0 = Subset_Y(1); Y1 = Subset_Y(2) IF ( Item%Source_KindVal == KINDVAL_F8 ) THEN IF ( Is_2d_8 ) THEN Item%Source_2d_8 => Source_2d_8(X0:X1, Y0:Y1) DO N = 1, Item%SpaceDim Dims(N) = SIZE( Source_2d_8(X0:X1, Y0:Y1), N ) ENDDO GOTO 99 ENDIF ELSE IF ( Item%Source_KindVal == KINDVAL_F4 ) THEN IF ( Is_2d_4 ) THEN Item%Source_2d_4 => Source_2d_4(X0:X1, Y0:Y1) DO N = 1, Item%SpaceDim Dims(N) = SIZE( Source_2d_4(X0:X1, Y0:Y1), N ) ENDDO GOTO 99 ENDIF ELSE IF ( Item%Source_KindVal == KINDVAL_I4 ) THEN IF ( Is_2d_I ) THEN Item%Source_2d_I => Source_2d_I(X0:X1, Y0:Y1) DO N = 1, Item%SpaceDim Dims(N) = SIZE( Source_2d_I(X0:X1, Y0:Y1), N ) ENDDO GOTO 99 ENDIF ENDIF ! Attach pointer to 1D data source, depending on its type CASE( 1 ) ! Subsets SELECT CASE( TRIM( Item%DimNames ) ) CASE( 'x' ) X0 = Subset_X(1); X1 = Subset_X(2) CASE( 'y' ) X0 = Subset_Y(1); X1 = Subset_Y(2) CASE( 'z' ) X0 = Subset_Z(1); X1 = Subset_Z(2) CASE DEFAULT X0 = 1; X1 = 1 END SELECT IF ( Item%Source_KindVal == KINDVAL_F8 ) THEN IF ( Is_1d_8 ) THEN Item%Source_1d_8 => Source_1d_8(X0:X1) DO N = 1, Item%SpaceDim Dims(N) = SIZE( Source_1d_8(X0:X1), N ) ENDDO GOTO 99 ENDIF ELSE IF ( Item%Source_KindVal == KINDVAL_F4 ) THEN IF ( Is_1d_4 ) THEN Item%Source_1d_4 => Source_1d_4(X0:X1) DO N = 1, Item%SpaceDim Dims(N) = SIZE( Source_1d_4(X0:X1), N ) ENDDO GOTO 99 ENDIF ELSE IF ( Item%Source_KindVal == KINDVAL_I4 ) THEN IF ( Is_1d_I ) THEN Item%Source_1d_I => Source_1d_I(X0:X1) DO N = 1, Item%SpaceDim Dims(N) = SIZE( Source_1d_I(X0:X1), N ) ENDDO GOTO 99 ENDIF ENDIF ! Attach pointer to 0D data source, depending on its type CASE( 0 ) IF ( Item%Source_KindVal == KINDVAL_F8 ) THEN IF ( Is_0d_8 ) THEN Item%Source_0d_8 => Source_0d_8 Dims = 0 ENDIF ENDIF END SELECT !======================================================================= ! Data fields: Allocate data fields (0-3 dimensions) !======================================================================= 99 CONTINUE ! Allocate data field, based on SpaceDim SELECT CASE( Item%SpaceDim ) !------------ ! 3-D data !------------ CASE( 3 ) ! Allocate the data array ALLOCATE( Item%Data_3d( Dims(1), Dims(2), Dims(3) ), STAT=RC ) IF ( RC == GC_SUCCESS ) THEN Item%Data_3d = 0.0_f8 ELSE ErrMsg = 'Could not allocate "Item%Data_3d" array!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Allocate the NcChunkSizes array ALLOCATE( Item%NcChunkSizes( 4 ), STAT=rC ) IF ( RC == GC_SUCCESS ) THEN Item%NcChunkSizes = (/ Dims(1), Dims(2), 1, 1 /) ELSE ErrMsg = 'Could not allocate "Item%NcChunkSizes" array (3d)!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------ ! 2-D data !------------ CASE( 2 ) ALLOCATE( Item%Data_2d( Dims(1), Dims(2) ), STAT=RC ) IF ( RC == GC_SUCCESS ) THEN Item%Data_2d = 0.0_f8 ELSE ErrMsg = 'Could not allocate "Item%Data_2d" array!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Allocate the NcChunkSizes array ALLOCATE( Item%NcChunkSizes( 3 ), STAT=rC ) IF ( RC == GC_SUCCESS ) THEN SELECT CASE( TRIM( Item%DimNames ) ) CASE( 'xy' ) Item%NcChunkSizes = (/ Dims(1), Dims(2), 1 /) ! xy CASE( 'bx', 'by' ) Item%NcChunkSizes = (/ Dims(1), 1, 1 /) ! bx, by CASE DEFAULT Item%NcChunkSizes = (/ Dims(1), 1, 1 /) ! xz or yz END SELECT ELSE ErrMsg = 'Could not allocate "Item%NcChunkSizes" array (2d)!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------ ! 1-D data !------------ CASE( 1 ) ALLOCATE( Item%Data_1d( Dims(1) ), STAT=RC ) IF ( RC == GC_SUCCESS ) THEN Item%Data_1d = 0.0_f8 ELSE ErrMsg = 'Could not allocate "Item%Data_1d" array!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Allocate the NcChunkSizes array ALLOCATE( Item%NcChunkSizes( 2 ), STAT=rC ) IF ( RC == GC_SUCCESS ) THEN IF ( TRIM( Item%DimNames ) == 'z' ) THEN Item%NcChunkSizes = (/ 1, 1 /) ! z ELSE Item%NcChunkSizes = (/ Dims(1), 1 /) ! x or y ENDIF ELSE ErrMsg = 'Could not allocate "Item%NcChunkSizes" array (1d)!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !------------ ! 0-D data !------------ CASE( 0 ) ALLOCATE( Item%Data_0d, STAT=RC ) IF ( RC == GC_SUCCESS ) THEN Item%Data_0d = 0.0_f8 ELSE ErrMsg = 'Could not allocate "Item%Data_0d" variable!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Allocate the NcChunkSizes array ALLOCATE( Item%NcChunkSizes( 1 ), STAT=RC ) IF ( RC == GC_SUCCESS ) THEN Item%NcChunkSizes = (/ 1 /) ELSE ErrMsg = 'Could not allocate "Item%NcChunkSizes" array (0d)!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF END SELECT !======================================================================= ! Return to the calling program the spatial dimensions of the data ! if the optional DIMENSIONS argument has been passed !======================================================================= IF ( PRESENT( Dimensions ) ) Dimensions = Dims END SUBROUTINE HistItem_Create !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: HistItem_Print ! ! !DESCRIPTION: Prints information contained within a single history item. !\\ !\\ ! !INTERFACE: ! SUBROUTINE HistItem_Print( Input_Opt, Item, RC, ShortFormat ) ! ! !USES: ! USE ErrCode_Mod USE History_Util_Mod USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(HistItem), POINTER :: Item ! History Item LOGICAL, OPTIONAL :: ShortFormat ! Print truncated format ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 13 Jun 2017 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARAIBLES ! ! Scalars LOGICAL :: Use_ShortFormat ! Strings CHARACTER(LEN=1) :: CellPos !======================================================================= ! Initialize !======================================================================= ! Assume success RC = GC_SUCCESS CellPos = '' ! Define IF ( PRESENT( ShortFormat ) ) THEN Use_ShortFormat = ShortFormat ELSE Use_ShortFormat = .FALSE. ENDIF !======================================================================= ! Print information about this HISTORY ITEM (only on the root CPU) !======================================================================= IF ( ASSOCIATED( Item ) .and. Input_Opt%amIRoot ) THEN IF ( Use_ShortFormat ) THEN !----------------------------------------------------------------- ! Use truncated output format !----------------------------------------------------------------- ! Denote if the data is defined on ! level edges (E) or centers (C) IF ( Item%SpaceDim == 3 ) THEN IF ( Item%OnLevelEdges ) THEN CellPos = 'E' ELSE CellPos = 'C' ENDIF ENDIF ! Print information WRITE( 6, 100 ) Item%Name, Item%LongName, & Item%DimNames, CellPos, TRIM( Item%Units ) 100 FORMAT( 2x, a20, ' | ', a38, ' | ', a3, ' ', a1, ' | ', a ) ELSE !----------------------------------------------------------------- ! Use expanded output format !----------------------------------------------------------------- PRINT*, REPEAT( '-', 70 ) PRINT*, 'Name : ', TRIM( Item%Name ) PRINT*, 'Long_Name : ', TRIM( Item%LongName ) PRINT*, 'Units : ', TRIM( Item%Units ) PRINT*, 'OnLevelEdges : ', Item%OnLevelEdges PRINT*, 'AddOffset4 : ', Item%AddOffset4 PRINT*, 'AddOffset8 : ', Item%AddOffset8 PRINT*, 'MissingValue4 : ', Item%MissingValue4 PRINT*, 'MissingValue8 : ', Item%MissingValue8 PRINT*, 'ScaleFactor4 : ', Item%ScaleFactor4 PRINT*, 'ScaleFactor8 : ', Item%ScaleFactor8 PRINT*, '' PRINT*, 'Id : ', Item%ID PRINT*, 'CollectionId : ', Item%ContainerId PRINT*, 'NetCDF var ID : ', Item%NcVarId PRINT*, 'NetCDF xDim Id : ', Item%NcXDimId PRINT*, 'NetCDF yDim Id : ', Item%NcYDimId PRINT*, 'NetCDF zDim Id : ', Item%NcZDimId PRINT*, 'NetCDF iDim Id : ', Item%NcIDimId PRINT*, 'NetCDF tDim Id : ', Item%NcTDimId PRINT*, '' PRINT*, 'nUpdates : ', Item%nUpdates PRINT*, 'Operation : ', Item%Operation PRINT*, '' PRINT*, 'SpaceDim : ', Item%SpaceDim, ' (', Item%DimNames, ')' PRINT*, 'NcChunkSizes : ', Item%NcChunkSizes IF ( ASSOCIATED( Item%Data_0d ) ) THEN PRINT*, 'Value Data_0d : ', Item%Data_0d ENDIF IF ( ASSOCIATED( Item%Data_1d ) ) THEN PRINT*, 'Min Data_1d : ', MINVAL( Item%Data_1d ) PRINT*, 'Max Data_1d : ', MAXVAL( Item%Data_1d ) PRINT*, 'Total Data_1d : ', SUM ( Item%Data_1d ) PRINT*, 'Size Data_1d : ', SIZE ( Item%Data_1d ) ENDIF IF ( ASSOCIATED( Item%Data_2d ) ) THEN PRINT*, 'Min Data_2d : ', MINVAL( Item%Data_2d ) PRINT*, 'Max Data_2d : ', MAXVAL( Item%Data_2d ) PRINT*, 'Total Data_2d : ', SUM ( Item%Data_2d ) PRINT*, 'Size Data_2d : ', SIZE ( Item%Data_2d, 1 ), & SIZE ( Item%Data_2d, 2 ) ENDIF IF ( ASSOCIATED( Item%Data_3d ) ) THEN PRINT*, 'Min Data_3d : ', MINVAL( Item%Data_3d ) PRINT*, 'Max Data_3d : ', MAXVAL( Item%Data_3d ) PRINT*, 'Total Data_3d : ', SUM ( Item%Data_3d ) PRINT*, 'Size Data_3d : ', SIZE ( Item%Data_3d, 1 ), & SIZE ( Item%Data_3d, 2 ), & SIZE ( Item%Data_3d, 3 ) ENDIF ENDIF ENDIF END SUBROUTINE HistItem_Print !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! !IROUTINE: HistItem_Destroy( Item ) ! ! !DESCRIPTION: Deallocates all pointer-based array fields of the history ! item, then destroys the history item itself. !\\ !\\ ! !INTERFACE: ! SUBROUTINE HistItem_Destroy( Item, RC ) ! ! !USES: ! USE ErrCode_Mod USE History_Util_Mod ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(HistItem), POINTER :: Item ! History item ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REMARKS: ! ! !REVISION HISTORY: ! 13 Jun 2017 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc !======================================================================= ! Initialize !======================================================================= ErrMsg = '' ThisLoc = ' -> at HistItem_Destroy (in History/histitem_mod.F90)' !======================================================================= ! Nullify fields that are just pointing to other objects !====================================================================== Item%Source_0d_8 => NULL() Item%Source_1d_8 => NULL() Item%Source_1d_4 => NULL() Item%Source_1d_I => NULL() Item%Source_2d_8 => NULL() Item%Source_2d_4 => NULL() Item%Source_2d_I => NULL() Item%Source_3d_8 => NULL() Item%Source_3d_4 => NULL() Item%Source_3d_I => NULL() !======================================================================= ! Free allocated pointer-based fields !======================================================================= IF ( ASSOCIATED( Item%Data_3d ) ) THEN DEALLOCATE( Item%Data_3d, STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not deallocate "Item%Data_3d" array!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF IF ( ASSOCIATED( Item%Data_2d ) ) THEN DEALLOCATE( Item%Data_2d, STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not deallocate "Item%Data_2d" array!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF IF ( ASSOCIATED( Item%Data_1d ) ) THEN DEALLOCATE( Item%Data_1d, STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not deallocate "Item%Data_1d" array!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF IF ( ASSOCIATED( Item%Data_0d ) ) THEN DEALLOCATE( Item%Data_0d, STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not deallocate "Item%Data_0d" variable!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF IF ( ASSOCIATED( Item%NcChunkSizes ) ) THEN DEALLOCATE( Item%NcChunkSizes, STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not deallocate "Item%NcChunkSizes" array!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !======================================================================= ! Free the History Item itself !======================================================================= IF ( ASSOCIATED( Item ) ) THEN DEALLOCATE( Item, STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not deallocate "Item"' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF END SUBROUTINE HistItem_Destroy !EOC END MODULE HistItem_Mod ================================================ FILE: History/history_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: history_mod.F90 ! ! !DESCRIPTION: Driver module for GEOS-Chem's netCDF diagnostics package, aka ! the "History Component". !\\ !\\ ! !INTERFACE: ! MODULE History_Mod ! ! !USES: ! USE Precision_Mod USE HistContainer_Mod, ONLY : HistContainer USE MetaHistContainer_Mod, ONLY : MetaHistContainer IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: History_Init PUBLIC :: History_SetTime PUBLIC :: History_Update PUBLIC :: History_Write PUBLIC :: History_Cleanup ! ! PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: History_ReadCollectionNames PRIVATE :: History_ReadCollectionData PRIVATE :: History_AddItemToCollection PRIVATE :: History_Close_AllFiles ! ! !REMARKS: ! ! ! !REVISION HISTORY: ! 06 Jan 2015 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: CollectionCount ! Strings CHARACTER(LEN=255), ALLOCATABLE :: CollectionName (: ) CHARACTER(LEN=255), ALLOCATABLE :: CollectionFileName (: ) CHARACTER(LEN=255), ALLOCATABLE :: CollectionTemplate (: ) CHARACTER(LEN=255), ALLOCATABLE :: CollectionFrequency (: ) CHARACTER(LEN=255), ALLOCATABLE :: CollectionAccInterval(: ) CHARACTER(LEN=255), ALLOCATABLE :: CollectionDuration (: ) CHARACTER(LEN=255), ALLOCATABLE :: CollectionMode (: ) CHARACTER(LEN=255), ALLOCATABLE :: CollectionLonRange (: ) CHARACTER(LEN=255), ALLOCATABLE :: CollectionLatRange (: ) INTEGER, ALLOCATABLE :: CollectionSubsetInd (:,:) CHARACTER(LEN=255), ALLOCATABLE :: CollectionLevels (: ) INTEGER, ALLOCATABLE :: CollectionLevelInd (:,:) CHARACTER(LEN=255), ALLOCATABLE :: CollectionHrRange (: ) ! Objects TYPE(MetaHistContainer), POINTER :: CollectionList ! ! !DEFINED PARAMETERS: ! ! Maximum number of collections (set to a ridiculously big number) INTEGER, PARAMETER :: MAX_COLLECTIONS = 500 CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: History_Init ! ! !DESCRIPTION: Reads the HISTORY.rc file and creates the linked list of ! collections (i.e. netCDF diagnostic files containing several data fields ! with a specified update frequency). The list of fields belonging to ! each collection is also determined. !\\ !\\ ! Each collection is described by a HISTORY CONTAINER object, which also ! contains a linked list of diagnostic quantities (i.e. a METAHISTORY ITEM) ! that will be archived to netCDF format. The list of diagnostic quantities ! is determined here by parsing the HISTORY.rc file. !\\ !\\ ! NOTE: The HISTORY.rc file is read twice. The first (done by method ! History\_ReadCollectionNames) reads the list of all collections. Then, ! for each defined collection, the list of diagnostic quantities belonging ! to that collection is determined by routine History\_ReadCollectionData. !\\ !\\ ! !INTERFACE: ! SUBROUTINE History_Init( Input_Opt, State_Met, State_Chm, & State_Diag, State_Grid, RC ) ! ! !USES: ! USE ErrCode_Mod USE History_Util_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod , ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Option object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(GrdState), INTENT(INOUT) :: State_Grid ! Grid State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REMARKS: ! Calls internal routines History_ReadCollectionNames, ! History_ReadCollectionData, and History_InitCoordVars ! ! !REVISION HISTORY: ! 06 Jan 2015 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc !======================================================================= ! Initialize !======================================================================= RC = GC_SUCCESS ErrMsg = '' ThisLoc = & ' -> at History_Init (in module History/history_mod.F90)' !======================================================================= ! First initialize the list of collections ! ("collection" = a netCDF file with a specific update frequency) !======================================================================= IF ( .not. Input_Opt%DryRun ) THEN CALL History_ReadCollectionNames( Input_Opt, State_Chm, & State_Diag, State_Met, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "History_ReadCollectionNames"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !======================================================================= ! Then determine the fields that will be saved to each collection ! NOTE: For dry-run, enter to print out file name & status !======================================================================= CALL History_ReadCollectionData( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "History_ReadCollectionData"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !======================================================================= ! Finally, initialize the netCDF coordinate variables, ! which are stored as fields of the State_Grid object. !======================================================================= CALL History_InitCoordVars( State_Grid ) END SUBROUTINE History_Init !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: History_InitCoordVars ! ! !DESCRIPTION: Initializes coordinate variables that will be written to ! netCDF files. These are contained as fields in the State_Grid object. !\\ !\\ ! !INTERFACE: ! SUBROUTINE History_InitCoordVars( State_Grid ) ! ! !USES: ! USE ErrCode_Mod USE Pressure_Mod, ONLY : Get_Ap, Get_Bp USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(GrdState), INTENT(INOUT) :: State_Grid ! Grid State object ! ! !REMARKS: ! These fields are allocated, registered, and deallocated in ! Headers/state_grid_mod.F90, but need to be populated with values here. ! This is because these fields rely on the Ap and Bp hybrid grid ! parameters (from GeosUtil/pressure_mod.F90), which aren't allocated ! until after state_grid_mod.F90 is initialized. !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I, J, L ! Strings CHARACTER(LEN=255) :: errMsg CHARACTER(LEN=255) :: thisLoc !====================================================================== ! Compute the coordinate arrays for GC-Classic History diagnostics ! (These are also used for WRF-GC) !====================================================================== ! Area, reference pressure, time State_Grid%Area = State_Grid%Area_M2 ! m2 State_Grid%P0 = 1000.0_f8 ! hPa State_Grid%Time = 0.0 ! Latitude coordinates DO J = 1, State_Grid%NY+1 State_Grid%LatE(J) = State_Grid%YEdge(1,J) ENDDO DO J = 1, State_Grid%NY State_Grid%Lat(J) = State_Grid%YMid(1,J) State_Grid%LatBnd(1,J) = State_Grid%LatE(J) State_Grid%LatBnd(2,J) = State_Grid%LatE(J+1) ENDDO ! Longitude coordinates DO I = 1, State_Grid%NX+1 State_Grid%LonE(I) = State_Grid%XEdge(I,1) ENDDO DO I = 1, State_Grid%NX State_Grid%Lon(I) = State_Grid%XMid(I,1) State_Grid%LonBnd(1,I) = State_Grid%LonE(I) State_Grid%LonBnd(2,I) = State_Grid%LonE(I+1) ENDDO ! Level coordinates DO L = 1, State_Grid%NZ+1 State_Grid%HyAi(L) = Get_Ap(L) State_Grid%HyBi(L) = Get_Bp(L) State_Grid%ILev(L) = ( State_Grid%HyAi(L) / State_Grid%P0 ) & + State_Grid%HyBi(L) ENDDO DO L = 1, State_Grid%NZ State_Grid%HyAm(L) = ( Get_Ap( L ) + Get_Ap( L+1 ) ) * 0.5_f8 State_Grid%HyBm(L) = ( Get_Bp( L ) + Get_Bp( L+1 ) ) * 0.5_f8 State_Grid%Lev(L) = ( State_Grid%HyAm(L) / State_Grid%P0 ) & + State_Grid%HyBm(L) ENDDO END SUBROUTINE History_InitCoordVars !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: History_Read_Collection_Names ! ! !DESCRIPTION: Reads the History input file (e.g. HISTORY.rc) and determines ! the names of each individual diagnostic collection. It stores this ! information in module variables for use in the next step. !\\ !\\ ! !INTERFACE: ! SUBROUTINE History_ReadCollectionNames( Input_Opt, State_Chm, & State_Diag, State_Met, RC ) ! ! !USES: ! USE Charpak_Mod USe DiagList_Mod, ONLY : CollList, ColItem USE ErrCode_Mod USE History_Util_Mod USE Input_Opt_Mod, ONLY : OptInput USE InquireMod, ONLY : FindFreeLun USE State_Chm_Mod , ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(IN) :: State_Diag ! Diagnostic State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! Private routine, called from routine History_Init. ! ! !REVISION HISTORY: ! 16 Jun 2017 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: EOF INTEGER :: fId, IOS INTEGER :: N, nSubs1, nSubs2 ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc, Line, Line2 ! String arrays CHARACTER(LEN=255) :: Subs1(255) CHARACTER(LEN=255) :: Subs2(255) CHARACTER(LEN=255) :: TmpCollectionName(MAX_COLLECTIONS) ! Objects TYPE(ColItem), POINTER :: Current !======================================================================= ! Initialize !======================================================================= ! Zero local variables EOF = .FALSE. IOS = 0 RC = GC_SUCCESS ErrMsg = '' ThisLoc = & ' -> at History_ReadCollectionNames (in module History/history_mod.F90)' ! Zero global variables CollectionCount = 0 TmpCollectionName = '' !======================================================================= ! Get the number of collections and list of collection names by ! querying the collection list object (CollList, from diaglist_mod.F90). ! ! NOTE: We are importing CollList from diaglist_mod.F90 via a USE ! association. This might not be the best way to share data (it ! violates data encapsulation). But it works for now. Maybe figure ! out a more elegant method later. (bmy, 2/28/18) !======================================================================= ! Initialize CollectionCount = 0 ! Point to head of collection list Current => CollList%Head ! While we are not at the end of the collection list DO WHILE ( ASSOCIATED( Current ) ) ! Increment the collection count CollectionCount = CollectionCount + 1 ! Save the collection name in a temporary arrayu TmpCollectionName(CollectionCount) = TRIM( Current%CName ) ! Point to next collection Current => Current%Next ENDDO ! Free pointer Current => NULL() !======================================================================= ! Now that we now the number of diagnostic collections, we can ! allocate the arrays that will hold various collection attributes !======================================================================= ! Allocate CollectionName IF ( .not. ALLOCATED( CollectionName ) ) THEN ALLOCATE( CollectionName( CollectionCount ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not allocate "CollectionName"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF ! Copy the collection names from the temporary array ! NOTE: The linked-list stors in reverse order, so revert here DO N = 1, CollectionCount CollectionName(N) = TmpCollectionName(CollectionCount-N+1) ENDDO ! Allocate CollectionFileName IF ( .not. ALLOCATED( CollectionFileName ) ) THEN ALLOCATE( CollectionFileName( CollectionCount ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not allocate "CollectionFileName"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF CollectionFileName = UNDEFINED_STR ENDIF ! Allocate CollectionTemplate IF ( .not. ALLOCATED( CollectionTemplate ) ) THEN ALLOCATE( CollectionTemplate( CollectionCount ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not allocate "CollectionTemplate"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF CollectionTemplate = UNDEFINED_STR ENDIF ! Allocate CollectionFrequency IF ( .not. ALLOCATED( CollectionFrequency ) ) THEN ALLOCATE( CollectionFrequency( CollectionCount ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not allocate "CollectionFrequency"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF CollectionFrequency = UNDEFINED_STR ENDIF ! Allocate CollectionAccInterval IF ( .not. ALLOCATED( CollectionAccInterval ) ) THEN ALLOCATE( CollectionAccInterval( CollectionCount ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not allocate "CollectionAccInterval"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF CollectionAccInterval = UNDEFINED_STR ENDIF ! Allocate CollectionDuration IF ( .not. ALLOCATED( CollectionDuration ) ) THEN ALLOCATE( CollectionDuration( CollectionCount ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not allocate "CollectionDuration"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF CollectionDuration = UNDEFINED_STR ENDIF ! Allocate CollectionMode IF ( .not. ALLOCATED( CollectionMode ) ) THEN ALLOCATE( CollectionMode( CollectionCount ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not allocate "CollectionMode"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF CollectionMode = UNDEFINED_STR ENDIF ! Allocate CollectionLonRange IF ( .not. ALLOCATED( CollectionLonRange ) ) THEN ALLOCATE( CollectionLonRange( CollectionCount ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not allocate "CollectionLonRange"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF CollectionLonRange = UNDEFINED_STR ENDIF ! Allocate CollectionLatRange IF ( .not. ALLOCATED( CollectionLatRange ) ) THEN ALLOCATE( CollectionLatRange( CollectionCount ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not allocate "CollectionLatRange"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF CollectionLatRange = UNDEFINED_STR ENDIF ! Allocate CollectionSubsetInd IF ( .not. ALLOCATED( CollectionSubsetInd ) ) THEN ALLOCATE( CollectionSubsetInd( 4, CollectionCount ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not allocate "CollectionSubsetInd"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF CollectionSubsetInd = UNDEFINED_INT ENDIF ! Allocate CollectionLevels IF ( .not. ALLOCATED( CollectionLevels ) ) THEN ALLOCATE( CollectionLevels( CollectionCount ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not allocate "CollectionLevels"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF CollectionLevels = UNDEFINED_STR ENDIF ! Allocate CollectionLevelInd IF ( .not. ALLOCATED( CollectionLevelInd ) ) THEN ALLOCATE( CollectionLevelInd( 2, CollectionCount ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not allocate "CollectionLevelInt"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF CollectionLevelInd = UNDEFINED_INT ENDIF ! Allocate CollectionHrRange IF ( .not. ALLOCATED( CollectionHrRange ) ) THEN ALLOCATE( CollectionHrRange( CollectionCount ), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not allocate "CollectionHrRange"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF CollectionHrRange = UNDEFINED_STR ENDIF END SUBROUTINE History_ReadCollectionNames !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: History_Read_Collection_Data ! ! !DESCRIPTION: Parses the History input file (e.g. HISTORY.rc) and compiles ! the list of diagnostic quantities belonging to each collection. In other ! words, this is the list of individual fields that will be archived to a ! particular netCDF file with a given update frequency. !\\ !\\ ! !INTERFACE: ! SUBROUTINE History_ReadCollectionData( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! ! !USES: ! USE Charpak_Mod USE DiagList_Mod, ONLY : CollList, Search_CollList USE ErrCode_Mod USE HistContainer_Mod USE HistItem_Mod USE History_Util_Mod USE Input_Opt_Mod, ONLY : OptInput USE InquireMod, ONLY : FindFreeLun USE MetaHistContainer_Mod USE MetaHistItem_Mod USE Species_Mod, ONLY : Species USE State_Chm_Mod USE State_Diag_Mod USE State_Grid_Mod, ONLY : GrdState, Lookup_Grid USE State_Met_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostic State object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State Object object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! Private routine, called from History_Init. ! ! !REVISION HISTORY: ! 16 Jun 2017 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: EOF, Found LOGICAL :: FileExists INTEGER :: yyyymmdd, hhmmss INTEGER :: yyyymmdd_end, hhmmss_end INTEGER :: DeltaYMD, DeltaHMS INTEGER :: X, Y INTEGER :: C, N, W INTEGER :: nX, nY, nZ INTEGER :: fId, IOS, LineNum INTEGER :: nSubs1, nSubs2 INTEGER :: Ind1, Ind2 INTEGER :: UpdateYmd, UpdateHms INTEGER :: FileCloseYmd, FileCloseHms INTEGER :: FileWriteYmd, FileWriteHms INTEGER :: ItemCount, SpaceDim, Operation INTEGER :: Ind_All, Ind_Adv, Ind_Aer INTEGER :: Ind_Dry, Ind_Fix, Ind_Gas INTEGER :: Ind_Kpp, Ind_Pho, Ind_Rst INTEGER :: Ind_Var, Ind_Wet, Ind INTEGER :: HbHrs, HbMin, HbSec INTEGER :: HeartBeatHms, nTags REAL(f8) :: UpdateAlarm, HeartBeatDtSec REAL(f8) :: FileWriteAlarm, FileCloseAlarm REAL(f8) :: JulianDate, JulianDateEnd REAL(f8) :: UpdateCheck, FileWriteCheck REAL(f8) :: SimLengthSec ! Strings CHARACTER(LEN=6 ) :: TStr CHARACTER(LEN=8 ) :: DStr CHARACTER(LEN=20 ) :: StartTimeStamp, EndTimeStamp CHARACTER(LEN=63 ) :: CName CHARACTER(LEN=80 ) :: ErrorLine CHARACTER(LEN=255) :: FileExpId CHARACTER(LEN=255) :: Line, FileName CHARACTER(LEN=255) :: OutputName, ThisLoc CHARACTER(LEN=255) :: MetaData, Reference CHARACTER(LEN=255) :: Title, Units CHARACTER(LEN=255) :: ItemTemplate, ItemTemplateUC CHARACTER(LEN=255) :: ItemName, Description CHARACTER(LEN=255) :: TmpMode, Contact CHARACTER(LEN=255) :: Pattern, ItemPrefix CHARACTER(LEN=255) :: tagId, tagName CHARACTER(LEN=512) :: ErrMsg, FileMsg ! Arrays REAL(f8) :: Subset(2) INTEGER :: Levels(200) CHARACTER(LEN=255) :: Subs1(255) CHARACTER(LEN=255) :: Subs2(255) CHARACTER(LEN=255) :: SubStrs(255) ! Objects TYPE(HistContainer), POINTER :: Container TYPE(HistItem), POINTER :: Item TYPE(Species), POINTER :: ThisSpc ! Pointer arrays REAL(f8), POINTER :: Grid_Lat (: ) REAL(f8), POINTER :: Grid_LatE(: ) REAL(f8), POINTER :: Grid_Lon (: ) REAL(f8), POINTER :: Grid_LonE(: ) REAL(fp), POINTER :: Ptr3d (:,:,:) REAL(f4), POINTER :: Ptr3d_4 (:,:,:) !======================================================================= ! Initialize !======================================================================= ! Assume success RC = GC_SUCCESS ! Skip for GEOS-Chem dry-run simulations IF ( .not. Input_Opt%DryRun ) THEN ! Initialize variables EOF = .FALSE. IOS = 0 UpdateYmd = 0 UpdateHms = 0 FileCloseYmd = 0 FileCloseHms = 0 FileWriteYmd = 0 FileWriteHms = 0 LineNum = 0 SpaceDim = 0 HeartBeatDtSec = DBLE( Input_Opt%TS_DYN ) yyyymmdd = Input_Opt%NymdB hhmmss = Input_Opt%NhmsB yyyymmdd_end = Input_Opt%NymdE hhmmss_end = Input_Opt%NhmsE Subset = UNDEFINED_DBL Levels = UNDEFINED_INT ! Compute the YMD and HMS intervals for collections specified with "End", ! such as for restart files. NOTE: This algorithm should work with most ! common model simulation intervals, but there might be some edge cases ! that will cause it to fail. It is still an improvement. (bmy, 2/26/19) CALL Compute_DeltaYmdHms_For_End( yyyymmdd, hhmmss, & yyyymmdd_end, hhmmss_end, & deltaYMD, deltaHMS ) ! Convert the HeartBeatDtSec into hours:minutes:seconds ! for defining the Update interval for time-averaged collections HbMin = HeartBeatDtSec / 60 HbHrs = HbMin / 60 HbSec = HeartBeatDtSec - ( HbMin * 60 ) - ( HbHrs * 3600 ) HeartBeatHms = ( HbHrs * 10000 ) + ( HbMin * 100 ) + HbSec ! Initialize objects and pointers Container => NULL() Item => NULL() Ptr3d => NULL() Ptr3d_4 => NULL() ThisSpc => NULL() Grid_Lat => NULL() Grid_LatE => NULL() Grid_Lon => NULL() Grid_LonE => NULL() ! Initialize Strings Description = '' ErrMsg = '' Contact = & 'GEOS-Chem Support Team (geos-chem-support@g.harvard.edu)' Reference = 'www.geos-chem.org; wiki.geos-chem.org' ThisLoc = & ' -> at History_ReadCollectionData (in module History/history_mod.F90)' Units = '' FileExpId = '' ! Create the timestamp at the start of the simulation WRITE( DStr, '(i8.8)' ) yyyymmdd WRITE( TStr, '(i6.6)' ) hhmmss WRITE( StartTimeStamp, 300 ) DStr(1:4), DStr(5:6), DStr(7:8), & TStr(1:2), TStr(3:4), TStr(5:6) ! Create the timestamp at the end of the simulation WRITE( DStr, '(i8.8)' ) yyyymmdd_end WRITE( TStr, '(i6.6)' ) hhmmss_end WRITE( EndTimeStamp, 300 ) DStr(1:4), DStr(5:6), DStr(7:8), & TStr(1:2), TStr(3:4), TStr(5:6) ! Format string 300 FORMAT( a4, '-', a2, '-', a2, ' ', a2, ':', a2, ':', a2, 'z' ) ! Compute the Astronomical Julian Date corresponding to the yyyymmdd ! and hhmmss values at the start and end of the simulation, which are ! needed below. This can be done outside of the DO loop below. CALL Compute_Julian_Date( yyyymmdd, hhmmss, JulianDate ) CALL Compute_Julian_Date( yyyymmdd_end, hhmmss_end, JulianDateEnd ) ! Compute the length of the simulation, in elapsed seconds SimLengthSec = NINT( ( JulianDateEnd - JulianDate ) * SECONDS_PER_DAY ) !==================================================================== ! Get pointers to the grid longitudes and latitudes !==================================================================== ! Lookup latitude centers CALL Lookup_Grid( Input_Opt = Input_Opt, & State_Grid = State_Grid, & Variable = 'GRID_LAT', & Ptr1d_8 = Grid_Lat, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not get pointer to latitudes (aka GRID_LAT)!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Lookup latitude edges CALL Lookup_Grid( Input_Opt = Input_Opt, & State_Grid = State_Grid, & Variable = 'GRID_LATE', & Ptr1d_8 = Grid_LatE, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not get pointer to latitude edges (aka GRID_LATE)!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Lookup longitude centers CALL Lookup_Grid( Input_Opt = Input_Opt, & State_Grid = State_Grid, & Variable = 'GRID_LON', & Ptr1d_8 = Grid_Lon, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not get pointer to longitudes (aka GRID_LON)!' CALL GC_Error( ErrMsg, RC, ThisLoc) RETURN ENDIF ! Lookup longitude edges CALL Lookup_Grid( Input_Opt = Input_Opt, & State_Grid = State_Grid, & Variable = 'GRID_LONE', & Ptr1d_8 = Grid_LonE, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not get pointer to longitude edges (aka GRID_LONE)!' CALL GC_Error( ErrMsg, RC, ThisLoc) RETURN ENDIF ENDIF !======================================================================= ! Open the file containing the list of requested diagnostics !======================================================================= ! Test if the file exists INQUIRE( FILE=TRIM( Input_Opt%HistoryInputFile ), EXIST=FileExists ) ! Test if the file exists and define an output string IF ( FileExists ) THEN FileMsg = 'HISTORY (INIT): Opening' ELSE FileMsg = 'HISTORY (INIT): REQUIRED FILE NOT FOUND' ENDIF ! Write message to stdout for both regular and dry-run simulations IF ( Input_Opt%AmIRoot ) THEN WRITE( 6, 350 ) TRIM( FileMsg ), TRIM( Input_Opt%HistoryInputFile ) 350 FORMAT( a, ' ', a ) ENDIF ! For dry-run simulations, return to calling program. ! For regular simulations, throw an error if we can't find the file. IF ( Input_Opt%DryRun ) THEN RETURN ELSE IF ( .not. FileExists ) THEN WRITE( ErrMsg, 350 ) TRIM( FileMsg ), & TRIM( Input_Opt%HistoryInputFile ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF ! Find a free file unit fId = FindFreeLun() ! Open the file OPEN( fId, FILE=TRIM(Input_Opt%HistoryInputFile), STATUS='OLD', IOSTAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error opening "' //TRIM(Input_Opt%HistoryInputFile) // '"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !======================================================================= ! Read data from the file !======================================================================= DO ! Read a single line, strip leading/trailing spaces, ! and keep track of the line number for error output 500 CONTINUE Line = ReadOneLine( fId, EOF, IOS, Squeeze=.TRUE. ) LineNum = LineNum + 1 ! Exit the loop if it's the end of the file IF ( EOF ) GOTO 999 ! If it's a real I/O error, quit w/ error message IF ( IOS > 0 ) THEN ErrMsg = 'Unexpected end-of-file in "' // & TRIM( Input_Opt%HistoryInputFile ) WRITE( ErrorLine, 250 ) LineNum 250 FORMAT( ' -> ERROR occurred at (or near) line ', i6, & ' of the HISTORY.rc file' ) CALL GC_Error( ErrMsg, RC, ThisLoc, ErrorLine ) RETURN ENDIF ! Skip if the line is commented out IF ( Line(1:1) == "#" ) CYCLE ! Zero variables FileCloseYmd = 0 FileCloseHms = 0 FileWriteYmd = 0 FileWriteHms = 0 FileWriteCheck = 0.0_f8 UpdateYmd = 0 UpdateHms = 0 UpdateCheck = 0.0_f8 !==================================================================== ! Get the EXPID string. This is the "front part" of the netCDF ! file path for each collection. In other words, if EXPID is ! "OutputDir/GEOSChem", then the default SpeciesConc collection file ! names will be "OutputDir/GEOSChem.SpeciesConc_YYYYMMDD_hhmmz.nc4" !==================================================================== IF ( INDEX( Line, 'EXPID' ) > 0 ) THEN ! Split the line on the colon CALL StrSplit( Line, ":", Subs1, nSubs1 ) ! Stop with error if there are more than 2 substrings IF ( nSubs1 /= 2 ) THEN ErrMsg = 'Error in extracting the EXPID value from the ' // & 'HISTORY.rc file. This forms the start of the ' // & 'netCDF file name for each collection. Please ' // & 'check the HISTORY.rc file for typos.' WRITE( ErrorLine, 250 ) LineNum CALL GC_Error( ErrMsg, RC, ThisLoc, ErrorLine ) ENDIF ! Save the EXPID parameter FileExpId = Subs1(2) CALL CStrip( FileExpId ) ENDIF !==================================================================== ! The HISTORY.rc file specifies collection metadata as: ! ! SpeciesConc.filename: './output/GEOSChem.inst.%y4%m2%d2.nc4' ! SpeciesConc.template: '%y4%m2%d2_%h2%n2.nc4', ! SpeciesConc.format: 'CFIO', ! SpeciesConc.frequency: 010000, ! SpeciesConc.duration: 240000 ! etc. ! ! where in this example, "instantaneous" is the collection name ! and "filename', "template", "format", "frequency", "duration" ! are the metadata fields. ! ! Get the metadata belonging to each collection and store them ! in the proper arrays for later use. NOTE: this method does not ! assume that the collections are in the same order as they ! are listed under the COLLECTIONS section. !==================================================================== ! "filename": Specifies the full filename path ! Can be omitted if "template" is specified Pattern = 'filename' IF ( INDEX( TRIM( Line ), TRIM( Pattern ) ) > 0 ) THEN CALL GetCollectionMetaData( Input_Opt, Line, Pattern, MetaData, C ) IF ( C > 0 ) CollectionFileName(C) = Metadata ENDIF ! "template": Specifies the year/month/day/hr/min/sec in filenames ! Can be omitted if "filename" is specified Pattern = 'template' IF ( INDEX( TRIM( Line ), TRIM( Pattern ) ) > 0 ) THEN CALL GetCollectionMetaData( Input_Opt, Line, Pattern, MetaData, C ) IF ( C > 0 ) CollectionTemplate(C) = Metadata ENDIF ! "frequency": Specifies how often diagnostics are updated, ! Must be either in "YYYYMMDD hhmmss" or "hhmmss" format. Pattern = 'frequency' IF ( INDEX( TRIM( Line ), TRIM( Pattern ) ) > 0 ) THEN CALL GetCollectionMetaData( Input_Opt, Line, Pattern, MetaData, C ) IF ( C > 0 ) THEN IF ( LEN_TRIM( MetaData ) == 6 .or. & LEN_TRIM( MetaData ) == 14 .or. & TRIM( MetaData ) == 'End' .or. & TRIM( MetaData ) == 'end' ) THEN CollectionFrequency(C) = Metadata ELSE ErrMsg = 'Error in defining "frequency" for collection "' // & TRIM( CollectionName(C) ) // '"! This field ' // & 'must either be of the format "YYYYMMDD ' // & 'hhmmss", "hhmmss", or "End". Please check the '// & '"frequency" setting in the HISTORY.rc file.' WRITE( ErrorLine, 250 ) LineNum CALL GC_Error( ErrMsg, RC, ThisLoc, ErrorLine ) RETURN ENDIF ENDIF ENDIF ! "acc_interval": Specifies how often time-averaged diagnostics ! are updated. ! Must be either in "YYYYMMDD hhmmss" or "hhmmss" ! format. If omitted, "acc_interval" will be set from "frequency" !%%%%% NOTE: The "acc_interval" attribute is not really needed; !%%%%% we only really need "frequency" and "duration". We will !%%%%% leave this as an "undocumented feature". (bmy, 3/26/18) Pattern = 'acc_interval' IF ( INDEX( TRIM( Line ), TRIM( Pattern ) ) > 0 ) THEN CALL GetCollectionMetaData( Input_Opt, Line, Pattern, MetaData, C ) IF ( C > 0 ) THEN IF ( LEN_TRIM( MetaData ) == 6 .or. & LEN_TRIM( MetaData ) == 14 ) THEN CollectionAccInterval(C) = Metadata ELSE ErrMsg = 'Error in defining "acc_interval" for ' // & 'collection "'// TRIM( CollectionName(C) ) // & '"! This field must either be of the format ' // & '"YYYYMMDD hhmmss" or "hhmmss". Please check ' // & 'the "acc_interval" setting in the HISTORY.rc ' // & 'file.' WRITE( ErrorLine, 250 ) LineNum CALL GC_Error( ErrMsg, RC, ThisLoc, ErrorLine ) RETURN ENDIF ENDIF ENDIF ! "duration:: Specifies how often files will be written. ! Must be either in "YYYYMMDD hhmmss" or "hhmmss" format. ! If omitted, "duration" will be set from "frequency" Pattern = 'duration' IF ( INDEX( TRIM( Line ), TRIM( Pattern ) ) > 0 ) THEN CALL GetCollectionMetaData( Input_Opt, Line, Pattern, MetaData, C ) IF ( C > 0 ) THEN IF ( LEN_TRIM( MetaData ) == 6 .or. & LEN_TRIM( MetaData ) == 14 .or. & TRIM( MetaData ) == 'End' .or. & TRIM( MetaData ) == 'end' ) THEN CollectionDuration(C) = Metadata ELSE ErrMsg = 'Error in defining "duration" for collection "' // & TRIM( CollectionName(C) ) // '"! This field ' // & 'must either be of the format "YYYYMMDD ' // & 'hhmmss", "hhmmss", or "End". Please check the '// & '"duration" setting in the HISTORY.rc file.' WRITE( ErrorLine, 250 ) LineNum CALL GC_Error( ErrMsg, RC, ThisLoc, ErrorLine ) RETURN ENDIF ENDIF ENDIF ! "mode": Specifies instantaneous or time-averaged archiving. ! Throw an error if anything else is specified Pattern = 'mode' IF ( INDEX( TRIM( Line ), TRIM( Pattern ) ) > 0 ) THEN CALL GetCollectionMetaData( Input_Opt, Line, Pattern, MetaData, C ) IF ( C > 0 ) THEN TmpMode = Metadata CALL TranUc( TmpMode ) SELECT CASE( TmpMode ) CASE( 'INSTANTANEOUS', 'TIME-AVERAGED', 'TIMEAVERAGED' ) CollectionMode(C) = Metadata CASE DEFAULT ErrMsg = 'Error in defining "mode" for collection "' // & TRIM( CollectionName(C) ) // '"! The mode ' // & 'value can either be "instantaneous" or ' // & '"time-averaged". Please check the "mode" ' // & 'setting in the HISTORY.rc file.' WRITE( ErrorLine, 250 ) LineNum CALL GC_Error( ErrMsg, RC, ThisLoc, ErrorLine ) RETURN END SELECT ENDIF ENDIF ! "LON_RANGE": Specifies a longitude range for subsetting ! the data grid. The required order is: lonMin, lonMax Pattern = 'LON_RANGE' Subset = UNDEFINED_DBL IF ( INDEX( TRIM( Line ), TRIM( Pattern ) ) > 0 ) THEN ! First split the line by colon CALL StrSplit( Line, ":", Subs1, nSubs1 ) IF ( C > 0 ) THEN ! Replace any commas with spaces CALL StrRepl( Subs1(2), ",", " " ) CollectionLonRange(C) = Subs1(2) ! Then split by spaces and convert to INTEGER CALL StrSplit( CollectionLonRange(C), " ", Subs2, nSubs2 ) IF ( nSubs2 == 2 ) THEN DO N = 1, nSubs2 READ( Subs2(N), '(f13.6)' ) Subset(N) ENDDO ELSE ErrMsg = 'Subsets must be specified as: lonmin, lonmax!' WRITE( ErrorLine, 250 ) LineNum CALL GC_Error( ErrMsg, RC, ThisLoc, ErrorLine ) RETURN ENDIF ! Find the longitude indices for lonMin and lonMax values DO X = 1, SIZE( Grid_LonE )-1 IF ( Grid_LonE(X ) <= Subset(1) .and. & Grid_LonE(X+1) > Subset(1) ) THEN CollectionSubsetInd(1,C) = X ENDIF IF ( Grid_LonE(X ) <= Subset(2) .and. & Grid_LonE(X+1) > Subset(2) ) THEN CollectionSubsetInd(2,C) = X ENDIF ENDDO ! Error check longitudes DO N = 1, 2 IF ( CollectionSubsetInd(N,C) < 1 .or. & CollectionSubsetInd(N,C) > State_Grid%NX ) THEN ErrMsg = 'Invalid longitude subset values for ' // & 'collection "'// TRIM(CollectionName(C)) // '"!' WRITE( ErrorLine, 250 ) LineNum CALL GC_Error( ErrMsg, RC, ThisLoc, ErrorLine ) RETURN ENDIF ENDDO ENDIF ENDIF ! "LON_RANGE": Specifies a latitude range for subsetting ! the data grid. The required order is: latMin, latMax Pattern = 'LAT_RANGE' Subset = UNDEFINED_DBL IF ( INDEX( TRIM( Line ), TRIM( Pattern ) ) > 0 ) THEN ! First split the line by colon CALL StrSplit( Line, ":", Subs1, nSubs1 ) IF ( C > 0 ) THEN ! Replace any commas with spaces CALL StrRepl( Subs1(2), ",", " " ) CollectionLatRange(C) = Subs1(2) ! Then split by spaces and convert to INTEGER CALL StrSplit( CollectionLatRange(C), " ", Subs2, nSubs2 ) IF ( nSubs2 == 2 ) THEN DO N = 1, nSubs2 READ( Subs2(N), '(f13.6)' ) Subset(N) ENDDO ELSE ErrMsg = 'Subsets must be specified as: latMin, latMax!' WRITE( ErrorLine, 250 ) LineNum CALL GC_Error( ErrMsg, RC, ThisLoc, ErrorLine ) RETURN ENDIF ! Find the latitude indices for latMin and latMax values DO Y = 1, SIZE( Grid_LatE )-1 IF ( Grid_LatE(Y ) <= Subset(1) .and. & Grid_LatE(Y+1) > Subset(1) ) THEN CollectionSubsetInd(3,C) = Y ENDIF IF ( Grid_LatE(Y ) <= Subset(2) .and. & Grid_LatE(Y+1) > Subset(2) ) THEN CollectionSubsetInd(4,C) = Y ENDIF ENDDO ! Error check latitudes DO N = 3, 4 IF ( CollectionSubsetInd(N,C) < 1 .or. & CollectionSubsetInd(N,C) > State_Grid%NY ) THEN ErrMsg = 'Invalid latitude subset values for ' // & 'collection " '// TRIM(CollectionName(C)) // '"!' WRITE( ErrorLine, 250 ) LineNum CALL GC_Error( ErrMsg, RC, ThisLoc, ErrorLine ) RETURN ENDIF ENDDO ENDIF ENDIF ! "levels: Specifies a vertical subset of the data grid Pattern = 'levels' IF ( INDEX( TRIM( Line ), TRIM( Pattern ) ) > 0 ) THEN ! First split the line by colon CALL StrSplit( Line, ":", Subs1, nSubs1 ) IF ( C > 0 ) THEN ! Replace any commas with spaces CALL StrRepl( Subs1(2), ",", " " ) CollectionLevels(C) = Subs1(2) ! Then split by spaces and convert to INTEGER ! Also compute the min and max level CALL StrSplit( CollectionLevels(C), " ", Subs2, nSubs2 ) IF ( nSubs2 <= SIZE( Levels ) ) THEN DO N = 1, nSubs2 READ( Subs2(N), '(i10)' ) Levels(N) IF ( Levels(N) < 0 ) THEN ErrMsg = TRIM( CollectionName(C) ) // '.levels ' // & 'must not have any negative values!' WRITE( ErrorLine, 250 ) LineNum CALL GC_Error( ErrMsg, RC, ThisLoc, ErrorLine ) RETURN ENDIF ENDDO ELSE ErrMsg = 'Too many levels specified for collection "' // & TRIM( CollectionName(C) ) // '" Must be <= 200.' WRITE( ErrorLine, 250 ) LineNum CALL GC_Error( ErrMsg, RC, ThisLoc, ErrorLine ) RETURN ENDIF ! Of all the levels that are specified, store the min and max ! in the CollectionLevelInd array. We will save out all of ! the levels between the min and max. ! NOTE: GCHP HISTORY can archive out individual levels, but ! this is trickier to implement in GC "Classic". It is easier ! to point to a contiguous array subslice, so we will just ! archive everything between the min and max level for the ! time being. (bmy, 7/18/19) CollectionLevelInd(1,C) = MINVAL( Levels(1:nSubs2) ) CollectionLevelInd(2,C) = MAXVAL( Levels(1:nSubs2) ) ENDIF ENDIF ! "hrrange": Specifies an hour range for the satellite ! diagnostic. The required order is: hrMin, hrMax Pattern = 'hrrange' Subset = UNDEFINED_DBL IF ( INDEX( TRIM( Line ), TRIM( Pattern ) ) > 0 ) THEN ! First split the line by colon CALL StrSplit( Line, ":", Subs1, nSubs1 ) ! Split by spaces and convert to FLOAT: CALL StrSplit( Subs1(2), " ", Subs2, nSubs2 ) IF ( nSubs2 == 2 ) THEN DO N = 1, nSubs2 READ( Subs2(N), '(f6.0)' ) Subset(N) ENDDO ELSE ErrMsg = 'Subsets must be specified as: hrmin, hrmax!' WRITE( ErrorLine, 250 ) LineNum CALL GC_Error( ErrMsg, RC, ThisLoc, ErrorLine ) RETURN ENDIF ! Assign hour range to State_Diag: State_Diag%SatDiagn_StartHr = Subset(1) State_Diag%SatDiagn_EndHr = Subset(2) ENDIF !==================================================================== ! NOTE: We assume FIELDS is the last metadata tag for the ! collection. We need to create the collection object and ! an object for each history item stored in the collection. !==================================================================== IF ( INDEX( TRIM( Line ), 'fields' ) > 0 ) THEN !----------------------------------------------------------------- ! If we can't find the metadata for the collection in HISTORY.rc, ! then this might point to a mismatch between names under the ! "COLLECTIONS:" list and the corresponding metadata section. ! Do some further error checking. !----------------------------------------------------------------- IF ( C == UNDEFINED_INT ) THEN !-------------------------------------------------------------- ! If the collection corresponding to this ".fields" tag is ! not active, then keep reading lines from HISTORY.rc ! until we reach the next collection definition section. ! then cycle back to the top of the loop. !-------------------------------------------------------------- ! Get the collection name (its to the left of the first ".") N = INDEX( TRIM( Line ), '.' ) CName = Line(1:N-1) ! This means skipping over all of the fields listed under ! this collection until we get to the :: separator CALL Search_CollList( Input_Opt%amIRoot, CollList, & CName, Found, RC ) IF ( .not. Found ) THEN DO ! Read a single line, strip leading/trailing spaces, ! and keep track of the line number for error output Line = ReadOneLine( fId, EOF, IOS, Squeeze=.TRUE. ) LineNum = LineNum + 1 ! Exit the loop if it's the end of the file IF ( EOF ) GOTO 999 ! If it's a real I/O error, quit w/ error message IF ( IOS > 0 ) THEN ErrMsg = 'Unexpected end-of-file in "' // & TRIM( Input_Opt%HistoryInputFile ) WRITE( ErrorLine, 250 ) LineNum CALL GC_Error( ErrMsg, RC, ThisLoc, ErrorLine ) RETURN ENDIF ! If it's the end of the collection, cycle to next line IF ( TRIM( Line ) == '::' ) GOTO 500 ENDDO ENDIF !-------------------------------------------------------------- ! If we get to this point, then there is a true error ! condition. Print an error message asking the user to ! check the HISTORY.rc file for inconsistencies. !-------------------------------------------------------------- ! List the defined collections WRITE( 6, '(/,a)' ) REPEAT( '=', 79 ) WRITE( 6, 200 ) 200 FORMAT( 'GEOS-Chem ERROR: One or more collection ', & 'attributes do not correspond', / & 'to any of these defined collection names ' & 'in the "HISTORY.rc" input file:', / ) DO N = 1, CollectionCount WRITE( 6, 210 ) N, TRIM( CollectionName(N) ) 210 FORMAT( i3, ') ', a ) ENDDO WRITE( 6, 220 ) 220 FORMAT( /, 'Please check the HISTORY.rc file for any ', & 'missing ":" or "," characters', /, & 'in the collection attributes.' ) WRITE( 6, '(a,/)' ) REPEAT( '=', 79 ) ! Write error message and then return ErrMsg = 'Inconsistency in collection names and attributes!' // & ' Please check "HISTORY.rc" for typos.' WRITE( ErrorLine, 250 ) LineNum CALL GC_Error( ErrMsg, RC, ThisLoc, ErrorLine ) RETURN ENDIF !================================================================= ! At this point We can assume that the collection is defined, ! and that everything following are diagnostic fields. !================================================================= !----------------------------------------------------------------- ! ERROR CHECK: Make sure that the length of the simulation is ! not shorter than the requested "File Write" interval. This ! will prevent simulations without diagnostic output. !----------------------------------------------------------------- IF ( CollectionDuration(C) < CollectionFrequency(C) ) THEN ! Construct error message ErrMsg = & 'No diagnostic output will be created for collection: "' // & TRIM( CollectionName(C) ) // '"! Make sure that the ' // & 'collection duration setting is not shorter than the ' // & 'collection frequency setting in HISTORY.rc! For ' // & 'example, if the frequency is "00000001 000000" (1 day) ' // & 'but the duration is "00000000 010000" (1 hour), then ' // & 'this error will occur.' ! Return error WRITE( ErrorLine, 250 ) LineNum CALL GC_Error( ErrMsg, RC, ThisLoc, ErrorLine ) RETURN ENDIF !----------------------------------------------------------------- ! Continue populating the collection with fields !----------------------------------------------------------------- ! Zero the counter of items ItemCount = 0 ! Create title string for collection Title = 'GEOS-Chem diagnostic collection: ' // & TRIM( CollectionName(C) ) !----------------------------------------------------------------- ! Determine the operation code (i.e. copy or accumulate from the ! source pointer to Item's data array for further analysis), ! based on the value of CollectionMode. !----------------------------------------------------------------- TmpMode = CollectionMode(C) CALL TranUc( TmpMode ) SELECT CASE( TmpMode ) CASE( 'TIME-AVERAGED', 'TIMEAVERAGED' ) Operation = ACCUM_FROM_SOURCE CASE DEFAULT Operation = COPY_FROM_SOURCE ! Throw an error if the "acc_interval" is defined, ! but the collection is instantaneous. IF ( .not. TRIM( CollectionAccInterval(C) ) == & UNDEFINED_STR ) THEN ErrMsg = 'Acc_interval cannot be defined for ' // & 'instantaneous collection: "' // & TRIM( CollectionName(C) ) // & '"!' WRITE( ErrorLine, 250 ) LineNum CALL GC_Error( ErrMsg, RC, ThisLoc, ErrorLine ) RETURN ENDIF END SELECT !----------------------------------------------------------------- ! %%%%% INSTANTANEOUS AND TIME-AVERAGED COLLECTIONS %%%%% ! ! Define the "File Write" interval ! ! The ".frequency" tag in HISTORY.rc specifies the interval at ! which data will be written to the netCDF file. Thus, we can ! set FileWriteYmd and FileWriteHms from CollectionFrequency. ! ! NOTE: If CollectionFrequency is 6 digits long, then assume ! that to be FileWriteHms. If longer, then assume that it is ! both FileWriteYmd and FileWriteHms. This is a hack that we ! introduced for GEOS-Chem "Classic" only, as this feature is ! not yet supported in MAPL. (sde, bmy, 8/4/17, 10/26/17) ! ! Add capability to set frequency to 'End'. In that case, the ! data will be written to the netCDF file at the end of the ! simulation. This is especially useful for the Restart collection ! for saving fields needed for subsequent GEOS-Chem runs. ! FileCloseYmd and FileCloseHms will be computed as the amount ! of time between the start and end of the simulation. ! (mps, 10/12/18) !----------------------------------------------------------------- IF ( LEN_TRIM( CollectionFrequency(C) ) == 6 ) THEN READ( CollectionFrequency(C), '(i6.6)' ) FileWriteHms ELSE IF ( LEN_TRIM( CollectionFrequency(C) ) == 14 ) THEN READ( CollectionFrequency(C), '(i8,i6)' ) FileWriteYmd, & FileWriteHms ELSE IF ( TRIM( CollectionFrequency(C) ) == 'End' .or. & TRIM( CollectionFrequency(C) ) == 'end' ) THEN FileWriteYmd = DeltaYMD FileWriteHms = DeltaHMS ENDIF ! SPECIAL CASE: If FileWriteHms is 240000, set ! FileWriteYmd=000001 and FileWriteHms=000000 IF ( FileWriteHms == 240000 ) THEN FileWriteYmd = 00000001 FileWriteHms = 000000 ENDIF !----------------------------------------------------------------- ! %%%%% INSTANTANEOUS AND TIME-AVERAGED COLLECTIONS %%%%% ! ! Define the "File Close" interval ! ! The ".duration" tag in HISTORY.rc denotes the interval when ! each new netCDF file will be produced. Thus, we can set ! FileCloseYmd and FileCloseHms from CollectionDuration. ! ! If ".duration" is not specified in HISTORY.rc, then both ! FileCloseYmd and FileCloseHms will both be defined from ! the ".frequency" tag (stored in CollectionFrequency). ! ! NOTE: If CollectionDuration is 6 digits long, then assume ! that to be FileCloseHms. If longer, then assume that it is ! both FileCloseYmd and FileCloseHms. This is a hack that we ! introduced for GEOS-Chem "Classic" only, as this feature is ! not yet supported in MAPL. (sde, bmy, 8/4/17, 10/26/17) ! ! Add capability to set duration to 'End'. In that case, the ! netCDF file will be closed at the end of the simulation. ! This is especially useful for the Restart collection ! for saving fields needed for subsequent GEOS-Chem runs. ! FileCloseYmd and FileCloseHms will be computed as the amount ! of time between the start and end of the simulation. ! (mps, 10/12/18) !----------------------------------------------------------------- IF ( TRIM( CollectionDuration(C) ) == UNDEFINED_STR ) THEN FileCloseYmd = FileWriteYmd FileCloseHms = FileWriteHms ELSE IF ( LEN_TRIM( CollectionDuration(C) ) == 6 ) THEN READ( CollectionDuration(C), '(i6.6)' ) FileCloseHms ELSE IF ( LEN_TRIM( CollectionDuration(C) ) == 14 ) THEN READ( CollectionDuration(C), '(i8,i6)' ) FileCloseYmd, & FileCloseHms ELSE IF ( TRIM( CollectionDuration(C) ) == 'End' .or. & TRIM( CollectionDuration(C) ) == 'end' ) THEN FileCloseYmd = DeltaYMD FileCloseHms = DeltaHMS ENDIF ! SPECIAL CASE: If FileCloseHms is 240000, set ! FileCloseYmd=000001 and FileCloseYmd=000000 IF ( FileCloseHms == 240000 ) THEN FileCloseYmd = 00000001 FileCloseHms = 000000 ENDIF IF ( Operation == COPY_FROM_SOURCE ) THEN !-------------------------------------------------------------- ! %%%%% INSTANTANEOUS COLLECTION %%%%% ! ! Define the "Update" interval ! ! Because there is no time-averaging, each field is written to ! the netCDF file as soon as it is updated. Thus, we can set ! UpdateYmd and UpdateHms from the ".frequency" tag in ! HISTORY.rc (stored in CollectionFrequency). !-------------------------------------------------------------- UpdateYmd = FileWriteYmd UpdateHms = FileWriteHms ELSE !-------------------------------------------------------------- ! %%%% TIME-AVERAGED COLLECTION %%%% ! ! Define the "Update" interval ! ! Normally, we will set UpdateYmd and UpdateHms directly from ! the "heartbeat" timestep of the simulation in seconds. ! ! If the ".acc_interval" tag is specified in HISTORY.rc, ! then we will set UpdateYmd and UpdateHms from ! CollectionAccInterval. But if using this option, note ! that the ".acc_interval" tag must not specify an interval ! that is longer than the interval specified by ".frequency". ! ! NOTE: If CollectionAccInterval is 6 digits long, then assume ! that to be UpdateHms. If longer, then assume that it is ! both UpdateYmd and UpdateHms. This is a hack that we ! introduced for GEOS-Chem "Classic" only, as this feature is ! not supported in MAPL. (sde, bmy, 8/4/17, 10/26/17) !-------------------------------------------------------------- IF ( TRIM( CollectionAccInterval(C) ) == UNDEFINED_STR ) THEN ! Set UpdateYmd and UpdateHms from the HeartBeat timestep UpdateYmd = 00000000 UpdateHms = HeartBeatHms ! SPECIAL CASE: If FileWriteYmd is 240000 then set ! and set FileWriteYmd=000001 and FileWriteHms=000000 IF ( UpdateHms == 240000 ) THEN UpdateYmd = 00000001 UpdateHms = 000000 ENDIF ELSE ! Set UpdateYmd and UpdateHms from the ".acc_interval" tag IF ( LEN_TRIM( CollectionAccInterval(C) ) == 6 ) THEN READ( CollectionAccInterval(C), '(i6.6)' ) UpdateHms ELSE IF ( LEN_TRIM( CollectionAccInterval(C) ) == 14 ) THEN READ( CollectionAccInterval(C), '(i8,i6)' ) UpdateYmd, & UpdateHms ENDIF ! SPECIAL CASE: If FileWriteYmd is 240000 then set ! and set FileWriteYmd=000001 and FileWriteHms=000000 IF ( UpdateHms == 240000 ) THEN UpdateYmd = 00000001 UpdateHms = 000000 ENDIF ! Combine UpdateYmd and UpdateHms UpdateCheck = ( DBLE( UpdateYmd ) * 1.0e6_f8 ) & + ( DBLE( UpdateHms ) ) ! Combine FileWriteYmd and FileWriteHms FileWriteCheck = ( DBLE( FileWriteYmd ) * 1.0e6_f8 ) & + ( DBLE( FileWriteHMs ) ) ! Error check: If using acc_interval, then the Update interval ! has to be smaller or equal to the File Write interval IF ( UpdateCheck > FileWriteCheck ) THEN ErrMsg = 'Update interval is greater than File Write ' // & 'interval for collection: ' // & TRIM( CollectionName(C) ) WRITE( ErrorLine, 250 ) LineNum CALL GC_Error( ErrMsg, RC, ThisLoc, ErrorLine ) RETURN ENDIF ENDIF ENDIF !================================================================= ! Sanity check for the Restart collection ! Make sure that frequency and duration are the same !================================================================= CName = To_UpperCase( CollectionName(C) ) IF ( TRIM( CName ) == 'RESTART' ) THEN IF ( FileWriteYmd /= FileCloseYmd .and. & FileWriteHms /= FileCloseHms ) THEN WRITE( ErrMsg, 260 ) & 'Incompatible Restart collection metadata! ', & 'Restart.frequency = ', FileWriteYmd, FileWriteHms, & 'but Restart.duration = ', FileCloseYmd, FileCloseHms 260 FORMAT( a, a, i8.8, 1x, i6.6, 1x, a, i8.8, 1x, i6.6 ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !================================================================= ! Create a HISTORY CONTAINER object for this collection !================================================================= ! Create the HISTORY CONTAINER object itself. ! This will also define the alarm intervals and initial alarm times CALL HistContainer_Create( Input_Opt = Input_Opt, & Container = Container, & Id = C, & Name = CollectionName(C), & EpochJd = JulianDate, & CurrentYmd = yyyymmdd, & CurrentHms = hhmmss, & UpdateMode = CollectionMode(C), & UpdateYmd = UpdateYmd, & UpdateHms = UpdateHms, & Operation = Operation, & HeartBeatDtSec = HeartBeatDtSec, & FileExpId = FileExpId, & FileWriteYmd = FileWriteYmd, & FileWriteHms = FileWriteHms, & FileCloseYmd = FileCloseYmd, & FileCloseHms = FileCloseHms, & Conventions = 'COARDS', & FileName = CollectionFileName(C), & FileTemplate = CollectionTemplate(C), & NcFormat = 'NetCDF-4', & Reference = Reference, & Title = Title, & Contact = Contact, & StartTimeStamp = StartTimeStamp, & EndTimeStamp = EndTimeStamp, & RC = RC ) ! Update CollectionFileName CollectionFileName(C) = TRIM( Container%FileName ) ! Trap potential error IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not create Collection: ' // & TRIM( CollectionName(C) ) WRITE( ErrorLine, 250 ) LineNum CALL GC_Error( ErrMsg, RC, ThisLoc, ErrorLine ) RETURN ENDIF ! Set elapsed time quantities in the HISTORY CONTAINER object CALL HistContainer_SetTime( Input_Opt = Input_Opt, & Container = Container, & HeartBeatDt = 0.0_f8, & RC = RC ) ! Trap potential error IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "HistContainer_SetTime"' // & ' for collection: ' // TRIM( CollectionName(C) ) WRITE( ErrorLine, 250 ) LineNum CALL GC_Error( ErrMsg, RC, ThisLoc, ErrorLine ) RETURN ENDIF !----------------------------------------------------------------- ! ERROR CHECK: Make sure that the length of the simulation is ! not shorter than the requested "File Write" interval. This ! will prevent simulations without diagnostic output. !----------------------------------------------------------------- IF ( SimLengthSec < Container%FileWriteAlarm ) THEN ! Construct error message ErrMsg = & 'No diagnostic output will be created for collection: "' // & TRIM( CollectionName(C) ) // '"! Make sure that the ' // & 'length of the simulation as specified in ' // & 'geoschem_config.yml (check the start and end dates) is ' // & 'not shorter than the frequency setting in HISTORY.rc! ' // & 'For example, if the frequency is "00000000 010000" ' // & '(1 hour) but the simulation is set up to run for only ' // & '20 minutes, then this error will occur.' ! Return error WRITE( ErrorLine, 250 ) LineNum CALL GC_Error( ErrMsg, RC, ThisLoc, ErrorLine ) RETURN ENDIF !================================================================= ! Create a list of HISTORY ITEMS that will be contained in this ! collection, for each entry under the "fields" tag. !================================================================= DO IF ( ItemCount == 0 ) THEN !---------------------------------------------------------- ! If we are on the same line as the "fields" tag, then ! the name of the HISTORY ITEM will be the first substring ! of MetaData (split on spaces). !---------------------------------------------------------- CALL GetCollectionMetaData( Input_Opt, Line, 'fields', & MetaData, C ) CALL StrSplit( MetaData, " ", Subs1, nSubs1 ) ItemName = Subs1(1) ELSE !---------------------------------------------------------- ! Otherwise, read the next line to get the name for ! each subsequent HISTORY ITEM. The name will be the ! first substring of the line. !---------------------------------------------------------- ! Read a single line, strip leading/trailing spaces, ! and keep track of the line number for error output Line = ReadOneLine( fId, EOF, IOS, Squeeze=.TRUE. ) LineNum = LineNum + 1 ! Exit the loop if it's the end of the file iF ( EOF ) GOTO 999 ! If it's a real I/O error, quit w/ error message IF ( IOS > 0 ) THEN ErrMsg = 'Unexpected end-of-file in ' // & TRIM( Input_Opt%HistoryInputFile ) //'!' WRITE( ErrorLine, 250 ) LineNum CALL GC_Error( ErrMsg, RC, ThisLoc, ErrorLine ) RETURN ENDIF ! Remove commas, spaces, and tabs Line = CleanText( Line ) ! Skip if the line is commented out IF ( Line(1:1) == "#" ) CYCLE ! 2 colons denotes the end of the "fields" list IF ( Line(1:2) == '::' ) EXIT ! The HISTORY ITEM name will be the 1st substring of Line CALL StrSplit( Line, " ", Subs1, nSubs1 ) ItemName = Subs1(1) ENDIF !-------------------------------------------------------------- ! Create the a HISTORY ITEM object for each diagnostic ! entry read from HISTORY.rc and add to the given COLLECTION !-------------------------------------------------------------- ! Save the item name in temporary variables ! so that we can parse for wildcards ItemTemplate = ItemName ItemTemplateUC = To_UpperCase( ItemTemplate ) ! Test if there are wildcards present, otherwise skip IF ( INDEX( ItemTemplate, '?' ) > 0 ) THEN ! Split the name to get wildcard and string prior to wildcard CALL StrSplit( ItemTemplate, '?', SubStrs, N ) tagId = SubStrs(N-1) ItemPrefix = SubStrs(1) ! Get number of tags for this wildcard CALL Get_TagInfo( Input_Opt, tagId, State_Chm, Found, RC, & nTags=nTags ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error retrieving # of tags for' // & ' wildcard ' // TRIM(tagId) WRITE( ErrorLine, 250 ) LineNum CALL GC_Error( ErrMsg, RC, ThisLoc, ErrorLine ) RETURN ENDIF ! Add each tagged name as a separate item in the collection DO N = 1, nTags ! Construct the item name ! Get tag, if any CALL Get_TagInfo( Input_Opt, tagId, State_Chm, Found, RC, & N=N, tagName=tagName ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error retrieving tag name for' // & ' wildcard ' // TRIM(tagId) WRITE( ErrorLine, 250 ) LineNum CALL GC_Error( ErrMsg, RC, ThisLoc, ErrorLine ) RETURN ENDIF ! Append the tag name to the output name ItemName = TRIM( ItemPrefix ) // TRIM( tagName ) ! Update the ItemName if dependent on input parameters CALL Get_NameInfo( Input_Opt, ItemName, OutputName, RC ) ! Increment the item count ItemCount = ItemCount + 1 ! Create the a HISTORY ITEM object for this diagnostic ! and add it to the given DIAGNOSTIC COLLECTION CALL History_AddItemToCollection( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & Collection = Container, & CollectionId = C, & SubsetInd = CollectionSubsetInd(:,C), & LevelInd = CollectionLevelInd(:,C), & ItemName = OutputName, & ItemCount = ItemCount, & RC = RC ) ! Error checking IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not add diagnostic "' // & TRIM( OutputName ) // '" to collection: ' // & TRIM( CollectionName(C) ) WRITE( ErrorLine, 250 ) LineNum CALL GC_Error( ErrMsg, RC, ThisLoc, ErrorLine ) RETURN ENDIF ENDDO ELSE !----------------------------------------------------------- ! Item name does not have wildcards; no special handling !----------------------------------------------------------- ! Update the ItemName if dependent on input parameters CALL Get_NameInfo( Input_Opt, ItemName, OutputName, RC ) ! Increment the number of HISTORY items ItemCount = ItemCount + 1 ! Create the a HISTORY ITEM object for this diagnostic ! and add it to the given DIAGNOSTIC COLLECTION CALL History_AddItemToCollection( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Diag = State_Diag, & State_Met = State_Met, & Collection = Container, & CollectionId = C, & SubsetInd = CollectionSubsetInd(:,C), & LevelInd = CollectionLevelInd(:,C), & ItemName = OutputName, & ItemCount = ItemCount, & RC = RC ) ! Trap potential error IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not add diagnostic "' // TRIM(OutputName) & // '" to collection: ' // TRIM( CollectionName(C) ) WRITE( ErrorLine, 250 ) LineNum CALL GC_Error( ErrMsg, RC, ThisLoc, ErrorLine ) RETURN ENDIF ENDIF ENDDO !================================================================= ! Add this HISTORY CONTAINER object (i.e. this collection) into ! the METAHISTORY OBJECT (i.e. the main list of collections). !================================================================= CALL MetaHistContainer_AddNew( Input_Opt = Input_Opt, & Node = CollectionList, & Container = Container, & RC = RC ) ! Trap potential error IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not add Container' // & TRIM( CollectionName(C) ) // & ' to the list of collections!' WRITE( ErrorLine, 250 ) LineNum CALL GC_Error( ErrMsg, RC, ThisLoc, ErrorLine ) RETURN ENDIF ELSE !================================================================= ! If the we have gotten this far tthrough a collection definition ! section, but still haven't found the ".fields" tag, then we ! need to do some further error checking. !================================================================= IF ( C == UNDEFINED_INT ) THEN !-------------------------------------------------------------- ! First, check if the collection isn't activated. If that ! is the case, then skip over all of the lines in the ! collection definition section until we hit the "::" ! termination character. Then cycle up to the top of the ! loop to read the next collection definition section. !-------------------------------------------------------------- ! Get the collection name (its to the left of the first ".") N = INDEX( TRIM( Line ), '.' ) CName = Line(1:N-1) ! Search for this collection in the list of active collections ! and skip to the next collection if not found CALL Search_CollList( Input_Opt%amIRoot, CollList, & CName, Found, RC ) IF ( .not. Found ) THEN DO ! Read a single line, strip leading/trailing spaces, ! and keep track of the line number for error output Line = ReadOneLine( fId, EOF, IOS, Squeeze=.TRUE. ) LineNum = LineNum + 1 ! Exit the loop if it's the end of the file IF ( EOF ) GOTO 999 ! If it's a real I/O error, quit w/ error message IF ( IOS > 0 ) THEN ErrMsg = 'Unexpected end-of-file in "' // & TRIM( Input_Opt%HistoryInputFile ) WRITE( ErrorLine, 250 ) LineNum CALL GC_Error( ErrMsg, RC, ThisLoc, ErrorLine ) RETURN ENDIF ! If it's the end of the collection, cycle to next line IF ( TRIM( Line ) == '::' ) GOTO 500 ENDDO ENDIF !-------------------------------------------------------------- ! If we have gotten down to this point, then a true error ! condition exists. Print an error message asking the user ! to check the HISTORY.rc file for inconsistencies. !-------------------------------------------------------------- ! List the defined collections WRITE( 6, '(/,a)' ) REPEAT( '=', 79 ) WRITE( 6, 200 ) DO N = 1, CollectionCount WRITE( 6, 210 ) N, TRIM( CollectionName(N) ) ENDDO WRITE( 6, 220 ) WRITE( 6, '(a,/)' ) REPEAT( '=', 79 ) ! Write error message and then return ErrMsg = 'Inconsistency in collection names and attributes!' // & ' Please check "HISTORY.rc" for typos.' WRITE( ErrorLine, 250 ) LineNum CALL GC_Error( ErrMsg, RC, ThisLoc, ErrorLine ) RETURN ENDIF ENDIF ENDDO !======================================================================= ! Cleanup and quit !======================================================================= 999 CONTINUE ! Free pointers Grid_Lat => NULL() Grid_LatE => NULL() Grid_Lon => NULL() Grid_LonE => NULL() ! Close the file CLOSE( fId ) ! Write output IF ( Input_Opt%amIRoot ) THEN WRITE( 6, '(/,a)' ) REPEAT( '=', 79 ) WRITE( 6, '(a )' ) 'DEFINED DIAGNOSTIC COLLECTIONS:' WRITE( 6, '(a )' ) REPEAT( '=', 79 ) DO C = 1, CollectionCount print*, 'Collection ', TRIM( CollectionName (C) ) print*, ' -> FileName ', TRIM( CollectionFileName (C) ) print*, ' -> Frequency ', TRIM( CollectionFrequency (C) ) IF ( CollectionAccInterval(C) /= UNDEFINED_STR ) THEN print*, ' -> Acc_Interval ', TRIM( CollectionAccInterval(C) ) ENDIF IF ( CollectionDuration(C) /= UNDEFINED_STR ) THEN print*, ' -> Duration ', TRIM( CollectionDuration (C) ) ENDIF print*, ' -> Mode ', TRIM( CollectionMode (C) ) IF ( CollectionLonRange(C) /= UNDEFINED_STR ) THEN print*, ' -> LON_RANGE ', & TRIM(ADJUSTL(ADJUSTR( CollectionLonRange(C) ))) print*, ' -> X0 X1 ', ((CollectionSubsetInd(N,C)), N=1,2) ENDIF IF ( CollectionLatRange(C) /= UNDEFINED_STR ) THEN print*, ' -> LAT_RANGE ', & TRIM(ADJUSTL(ADJUSTR( CollectionLatRange(C) ))) print*, ' -> Y0 Y1 ', ((CollectionSubsetInd(N,C)), N=3,4) ENDIF IF ( CollectionLevels(C) /= UNDEFINED_STR ) THEN print*, ' -> Levels ' , TRIM( CollectionLevels(C) ) print*, ' -> Z0 Z1 ', ((CollectionLevelInd(N,C)), N=1,2) ENDIF IF ( CollectionHrRange(C) /= UNDEFINED_STR ) THEN print*, ' -> hrrange ' , TRIM( CollectionHrRange(C) ) ENDIF ! Trap error if the collection frequency is undefined ! This indicates an error in parsing the file IF ( TRIM( CollectionFrequency(C) ) == UNDEFINED_STR ) THEN ErrMsg = 'Collection: ' // TRIM( CollectionName(C) ) // & ' is undefined!' WRITE( ErrorLine, 250 ) LineNum CALL GC_Error( ErrMsg, RC, ThisLoc, ErrorLine ) RETURN ENDIF ENDDO ENDIF IF ( Input_Opt%Verbose ) THEN ! Print information about each diagnostic collection CALL MetaHistContainer_Print( Input_Opt, CollectionList, RC ) ENDIF ! Write spacer WRITE( 6, '(a,/)' ) REPEAT( '=', 79 ) END SUBROUTINE History_ReadCollectionData !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: History_AddItemToCollection ! ! !DESCRIPTION: Creates a HISTORY ITEM object for a given diagnostic quantity, ! and then attaches it to a given diagnostic collection. Given the name ! of the diagnostic quantity, it will obtain metadata (and pointers to the ! data array) via the appropriate state registry. !\\ !\\ ! !INTERFACE: ! SUBROUTINE History_AddItemToCollection( Input_Opt, State_Chm, & State_Diag, State_Grid, & State_Met, Collection, & CollectionId, ItemName, & ItemCount, SubsetInd, & LevelInd, RC ) ! ! !USES: ! USE Charpak_Mod, ONLY : To_UpperCase USE ErrCode_Mod USE HistContainer_Mod USE HistItem_Mod USE History_Util_Mod, ONLY : UNDEFINED_INT USE Input_Opt_Mod, ONLY : OptInput USE MetaHistContainer_Mod USE MetaHistItem_Mod USE Registry_Mod, ONLY : Registry_Lookup USE State_Chm_Mod USE State_Diag_Mod USE State_Grid_Mod USE State_Met_Mod ! ! !INPUT PARAMETERS: ! ! Required arguments TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options State TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State TYPE(DgnState), INTENT(IN) :: State_Diag ! Diagnostic State TYPE(GrdState), INTENT(IN) :: State_Grid ! Diagnostic State TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State INTEGER, INTENT(IN) :: CollectionID ! Collection ID number CHARACTER(LEN=255), INTENT(IN) :: ItemName ! Name of HISTORY ITEM INTEGER, INTENT(IN) :: ItemCount ! Index of HISTORY ITEM ! Optional arguments INTEGER, OPTIONAL :: SubsetInd(4) ! X0,X1,Y0,Y1 indices INTEGER, OPTIONAL :: LevelInd(2) ! Z0,Z1 indices ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(HistContainer), POINTER :: Collection ! Diagnostic Collection ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! Private routine, called from History_Init. ! ! !REVISION HISTORY: ! 06 Jan 2015 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: OnLevelEdges INTEGER :: Source_KindVal INTEGER :: Output_KindVal INTEGER :: Rank INTEGER :: NX, X0, X1 INTEGER :: NY, Y0, Y1 INTEGER :: NZ, Z0, Z1 ! Arrays INTEGER :: Dimensions(3) INTEGER :: ItemDims(3) INTEGER :: Subset_X(2) INTEGER :: Subset_Y(2) INTEGER :: Subset_Z(2) ! Strings CHARACTER(LEN=4 ) :: StateMetUC CHARACTER(LEN=5 ) :: StateChmUC CHARACTER(LEN=5 ) :: StateGrdUC CHARACTER(LEN=255) :: ItemNameUC CHARACTER(LEN=255) :: Description CHARACTER(LEN=255) :: ThisLoc CHARACTER(LEN=255) :: Units CHARACTER(LEN=512) :: ErrMsg ! Objects TYPE(HistItem), POINTER :: Item ! Pointer arrays REAL(fp), POINTER :: Ptr0d REAL(f8), POINTER :: Ptr0d_8 REAL(f4), POINTER :: Ptr0d_4 INTEGER, POINTER :: Ptr0d_I REAL(fp), POINTER :: Ptr1d (: ) REAL(f8), POINTER :: Ptr1d_8(: ) REAL(f4), POINTER :: Ptr1d_4(: ) INTEGER, POINTER :: Ptr1d_I(: ) REAL(fp), POINTER :: Ptr2d (:,: ) REAL(f8), POINTER :: Ptr2d_8(:,: ) REAL(f4), POINTER :: Ptr2d_4(:,: ) INTEGER, POINTER :: Ptr2d_I(:,: ) REAL(fp), POINTER :: Ptr3d (:,:,:) REAL(f8), POINTER :: Ptr3d_8(:,:,:) REAL(f4), POINTER :: Ptr3d_4(:,:,:) INTEGER, POINTER :: Ptr3d_I(:,:,:) !======================================================================= ! Initialize !======================================================================= RC = GC_SUCCESS Description = '' Dimensions = 0 Source_KindVal = 0 Output_KindVal = 0 Rank = 0 Units = '' ErrMsg = '' ThisLoc = & ' -> History_AddItemToCollection (in History/history_mod.F90)' ItemNameUC = To_UpperCase( ItemName ) StateChmUC = State_Chm%State // '_' ! State_Chm%State is uppercase StateGrdUC = State_Grid%State // '_' ! State_Grd%State is uppercase StateMetUC = State_Met%State // '_' ! State_Met%State is uppercase ! Free pointers Ptr0d => NULL() Ptr0d_8 => NULL() Ptr0d_4 => NULL() Ptr0d_I => NULL() Ptr1d => NULL() Ptr1d_8 => NULL() Ptr1d_4 => NULL() Ptr1d_I => NULL() Ptr2d => NULL() Ptr2d_8 => NULL() Ptr2d_4 => NULL() Ptr2d_I => NULL() Ptr3d => NULL() Ptr3d_8 => NULL() Ptr3d_4 => NULL() Ptr3d_I => NULL() !======================================================================= ! For each HISTORY ITEM, find the matching entry in the relevant ! registry (in State_Chm, State_Diag, State_Met) and get a pointer ! to the data source !======================================================================= IF ( ItemNameUC(1:5) == StateChmUC ) THEN !-------------------------------------------------------------------- ! Chemistry State !-------------------------------------------------------------------- CALL Registry_Lookup( am_I_Root = Input_Opt%amIRoot, & Registry = State_Chm%Registry, & RegDict = State_Chm%RegDict, & State = State_Chm%State, & Variable = ItemName, & Description = Description, & Dimensions = Dimensions, & Source_KindVal = Source_KindVal, & Output_KindVal = Output_KindVal, & Rank = Rank, & Units = Units, & OnLevelEdges = OnLevelEdges, & Ptr0d_8 = Ptr0d_8, & Ptr1d_8 = Ptr1d_8, & Ptr2d_8 = Ptr2d_8, & Ptr3d_8 = Ptr3d_8, & Ptr0d_4 = Ptr0d_4, & Ptr1d_4 = Ptr1d_4, & Ptr2d_4 = Ptr2d_4, & Ptr3d_4 = Ptr3d_4, & Ptr0d_I = Ptr0d_I, & Ptr1d_I = Ptr1d_I, & Ptr2d_I = Ptr2d_I, & Ptr3d_I = Ptr3d_I, & RC = RC ) ! Trap potential not found error IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not locate ' // TRIM( ItemName ) // & ' chemistry state registry.' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ELSE IF ( ItemNameUC(1:5) == StateGrdUC ) THEN !-------------------------------------------------------------------- ! Grid State !-------------------------------------------------------------------- CALL Registry_Lookup( am_I_Root = Input_Opt%amIRoot, & Registry = State_Grid%Registry, & RegDict = State_Grid%RegDict, & State = State_Grid%State, & Variable = ItemName, & Description = Description, & Dimensions = Dimensions, & Source_KindVal = Source_KindVal, & Output_KindVal = Output_KindVal, & Rank = Rank, & Units = Units, & OnLevelEdges = OnLevelEdges, & Ptr0d_8 = Ptr0d_8, & Ptr1d_8 = Ptr1d_8, & Ptr2d_8 = Ptr2d_8, & Ptr2d_4 = Ptr2d_4, & RC = RC ) ! Trap potential not found error IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not locate ' // TRIM( ItemName ) // & ' meteorology state registry.' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ELSE IF ( ItemNameUC(1:4) == StateMetUC ) THEN !-------------------------------------------------------------------- ! Meteorology State !-------------------------------------------------------------------- CALL Registry_Lookup( am_I_Root = Input_Opt%amIRoot, & Registry = State_Met%Registry, & RegDict = State_Met%RegDict, & State = State_Met%State, & Variable = ItemName, & Description = Description, & Dimensions = Dimensions, & Source_KindVal = Source_KindVal, & Output_KindVal = Output_KindVal, & Rank = Rank, & Units = Units, & OnLevelEdges = OnLevelEdges, & Ptr0d_8 = Ptr0d_8, & Ptr1d_8 = Ptr1d_8, & Ptr2d_8 = Ptr2d_8, & Ptr3d_8 = Ptr3d_8, & Ptr0d_4 = Ptr0d_4, & Ptr1d_4 = Ptr1d_4, & Ptr2d_4 = Ptr2d_4, & Ptr3d_4 = Ptr3d_4, & Ptr0d_I = Ptr0d_I, & Ptr1d_I = Ptr1d_I, & Ptr2d_I = Ptr2d_I, & Ptr3d_I = Ptr3d_I, & RC = RC ) ! Trap potential not found error IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not locate ' // TRIM( ItemName ) // & ' meteorology state registry.' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ELSE !-------------------------------------------------------------------- ! Diagnostic State !-------------------------------------------------------------------- CALL Registry_Lookup( am_I_Root = Input_Opt%amIRoot, & Registry = State_Diag%Registry, & RegDict = State_Diag%RegDict, & State = State_Diag%State, & Variable = ItemName, & Description = Description, & Dimensions = Dimensions, & Source_KindVal = Source_KindVal, & Output_KindVal = Output_KindVal, & Rank = Rank, & Units = Units, & OnLevelEdges = OnLevelEdges, & Ptr0d_8 = Ptr0d_8, & Ptr1d_8 = Ptr1d_8, & Ptr2d_8 = Ptr2d_8, & Ptr3d_8 = Ptr3d_8, & Ptr0d_4 = Ptr0d_4, & Ptr1d_4 = Ptr1d_4, & Ptr2d_4 = Ptr2d_4, & Ptr3d_4 = Ptr3d_4, & Ptr0d_I = Ptr0d_I, & Ptr1d_I = Ptr1d_I, & Ptr2d_I = Ptr2d_I, & Ptr3d_I = Ptr3d_I, & RC = RC ) ! Trap potential not found error IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not locate ' // TRIM( ItemName ) // & ' diagnostics state registry.' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !======================================================================= ! If the optional SUBSETS and/or LEVELS arguments are passed, then use ! these to size the data arrays. Otherwise assume the data arrays will ! be the same size as the pointer to the data source (as will be true ! in most cases.) !======================================================================= !------------------------- ! Default values !------------------------- ! By default, use the size of the data array to define the ! X0, Y0, X1, Y1, Z0, and Z1 indices for the subset region. X0 = 1 X1 = MAX( Dimensions(1), 1 ) Y0 = 1 Y1 = MAX( Dimensions(2), 1 ) Z0 = 1 Z1 = MAX( Dimensions(3), 1 ) !------------------------- ! Horizontal subsetting !------------------------- ! If SubsetInd has valid values, use them to redefine X0, Y0, X1, and Y1. IF ( PRESENT( SubsetInd ) ) THEN IF ( SubsetInd(1) /= UNDEFINED_INT ) X0 = SubsetInd(1) IF ( SubsetInd(2) /= UNDEFINED_INT ) X1 = SubsetInd(2) IF ( SubsetInd(3) /= UNDEFINED_INT ) Y0 = SubsetInd(3) IF ( SubsetInd(4) /= UNDEFINED_INT ) Y1 = SubsetInd(4) ENDIF !------------------------- ! Vertical subsetting !------------------------- ! If LevelInd has valid values, use them to redefine Z0 and Z1. IF ( PRESENT( LevelInd ) ) THEN IF ( LevelInd(1) /= UNDEFINED_INT ) Z0 = LevelInd(1) IF ( LevelInd(2) /= UNDEFINED_INT ) Z1 = LevelInd(2) ENDIF ! Error check X-dimension indices IF ( X1 < X0 ) THEN WRITE( ErrMsg, 100 ) X0, X1, TRIM( Collection%Name ) 100 FORMAT( 'Invalid X-dimension indices: ', 2i6, ' for collection', a ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Error-check Y-dimension indices IF ( Y1 < Y0 ) THEN WRITE( ErrMsg, 110 ) Y0, Y1, TRIM( Collection%Name ) 110 FORMAT( 'Invalid Y-dimension indices: ', 2i6, ' for collection', a ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Error-check Z-dimension indices IF ( Z1 < Z0 ) THEN WRITE( ErrMsg, 120 ) Z0, Z1, TRIM( Collection%Name ) 120 FORMAT( 'Invalid Y-dimension indices: ', 2i6, ' for collection', a ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Compute dimension extent NX = X1 - X0 + 1 NY = Y1 - Y0 + 1 NZ = Z1 - Z0 + 1 ! Indices for subsetting the data Subset_X = (/ X0, X1 /) Subset_Y = (/ Y0, Y1 /) Subset_Z = (/ Z0, Z1 /) ! Save the subsets to the collection Collection%X0 = X0 Collection%X1 = X1 Collection%Y0 = Y0 Collection%Y1 = Y1 Collection%Z0 = Z0 !NOTE: Z1 is not needed, we compute that later! !======================================================================= ! Now that we have obtained information (and pointers to the data) ! corresponding to the given diagnostic quantity, use that to create ! a HISTORY ITEM object for that diagnostic quantity. !======================================================================= CALL HistItem_Create( Input_Opt = Input_Opt, & Item = Item, & Id = ItemCount, & ContainerId = CollectionId, & Name = ItemName, & LongName = Description, & Units = Units, & OnLevelEdges = OnLevelEdges, & SpaceDim = Rank, & Operation = Collection%Operation, & Subset_X = Subset_X, & Subset_Y = Subset_Y, & Subset_Z = Subset_Z, & Source_KindVal = Source_KindVal, & Output_KindVal = Output_KindVal, & Source_0d_8 = Ptr0d_8, & Source_1d_8 = Ptr1d_8, & Source_1d_4 = Ptr1d_4, & Source_1d_I = Ptr1d_I, & Source_2d_8 = Ptr2d_8, & Source_2d_4 = Ptr2d_4, & Source_2d_I = Ptr2d_I, & Source_3d_8 = Ptr3d_8, & Source_3d_4 = Ptr3d_4, & Source_3d_I = Ptr3d_I, & Dimensions = ItemDims, & RC = RC ) ! Trap potential error IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not create Item: "' // TRIM( ItemName ) // '"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !======================================================================= ! Attach this HISTORY ITEM to the METAHISTORY ITEM (aka list of HISTORY ! ITEMS) belonging to the HISTORY CONTAINER object for the given ! diagnostic collection. ! ! In other words, we are adding this diagnostic quantity to the list ! of diagnostic quantities that belong to this diagnostic collection. ! These quantities will be written to the netCDF file described by ! the collection, with the specified update frequency. !======================================================================= CALL MetaHistItem_AddNew( Input_Opt = Input_Opt, & Node = Collection%HistItems, & Item = Item, & RC = RC ) ! Trap potential error IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not add Item "' // & TRIM( ItemName ) // '" to ' // & TRIM( CollectionName(CollectionId) ) // '%HistItems!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !======================================================================= ! Define the dimensions of the collection from the HISTORY ITEMS, ! and also whether vertical data is on the level centers or edges !======================================================================= ! Define the X dimension of the collection from the ! first HISTORY ITEM that has an X dimension IF ( Collection%NX == UNDEFINED_INT ) THEN SELECT CASE( Item%DimNames ) CASE( 'xyz', 'xz', 'xy', 'x' ) Collection%NX = ItemDims(1) CASE DEFAULT ! Nothing END SELECT ENDIF ! Define the Y dimension of the collection from the ! first HISTORY ITEM that has a Y dimension IF ( Collection%NY == UNDEFINED_INT ) THEN SELECT CASE( Item%DimNames ) CASE( 'xyz', 'xy' ) Collection%NY = ItemDims(2) CASE( 'yz', 'y' ) Collection%NY = ItemDims(1) CASE DEFAULT ! Nothing END SELECT ENDIF ! Define the Z dimension of the collection from the first HISTORY ITEM ! that has a Z dimension. Also define whether the collection will ! contain data that is centered or edged on vertical levels. IF ( Collection%NZ == UNDEFINED_INT ) THEN SELECT CASE( Item%DimNames ) CASE( 'xyz' ) Collection%NZ = ItemDims(3) CASE( 'xz', 'yz' ) Collection%NZ = ItemDims(2) CASE( 'z' ) Collection%NZ = ItemDims(1) CASE DEFAULT ! Nothing END SELECT Collection%OnLevelEdges = Item%OnLevelEdges ENDIF ! NB is always two (lon0, lon1) or (lat0, lat1) IF ( Collection%NB == UNDEFINED_INT ) THEN Collection%NB = 2 ENDIF !======================================================================= ! Make sure that all the HISTORY ITEMS in this collection are ! placed on the level centers or edges, but not both. The netCDF ! COARDS/CF conventions do not allow for data on more than one ! vertical dimension per file. !======================================================================= IF ( Item%SpaceDim == 3 ) THEN IF ( Collection%OnLevelEdges .neqv. Item%OnLevelEdges ) THEN ErrMsg = TRIM( Item%Name ) // & ' has the wrong vertical alignment for collection: "' // & TRIM( Collection%Name ) // '". Please check your ' // & 'HISTORY.rc file to make sure that this collection ' // & 'only contains 3-D diagnostics with the same vertical '// & 'alignment. You cannot add diagnostics that are ' // & 'defined on level centers and diagnostics that are ' // & 'defined on level edges in the same collection, as ' // & 'per netCDF conventions.' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !======================================================================= ! Cleanup and quit !======================================================================= ! Increment number of HISTORY ITEMS in this collection Collection%nHistItems = Collection%nHistItems + 1 ! Free Item (we have added it to the container and don't need it anymore) DEALLOCATE( Item ) Item => NULL() ! Free pointers Ptr0d => NULL() Ptr0d_8 => NULL() Ptr0d_4 => NULL() Ptr0d_I => NULL() Ptr1d => NULL() Ptr1d_8 => NULL() Ptr1d_4 => NULL() Ptr1d_I => NULL() Ptr2d => NULL() Ptr2d_8 => NULL() Ptr2d_4 => NULL() Ptr2d_I => NULL() Ptr3d => NULL() Ptr3d_8 => NULL() Ptr3d_4 => NULL() Ptr3d_I => NULL() END SUBROUTINE History_AddItemToCollection !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: History_SetTime ! ! !DESCRIPTION: Sets the time values for each HISTORY CONTAINER object ! that specifies a diagnostic collection. !\\ !\\ ! !INTERFACE: ! SUBROUTINE History_SetTime( Input_Opt, RC ) ! ! !USES: ! USE ErrCode_Mod USE HistContainer_Mod, ONLY : HistContainer_SetTime USE History_Util_Mod USE Input_Opt_Mod, ONLY : OptInput USE MetaHistContainer_Mod, ONLY : MetaHistContainer ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REMARKS: ! This routine is meant to be called after History_Update() but before ! History_Write(). ! ! !REVISION HISTORY: ! 18 Aug 2017 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: ErrMsg CHARACTER(LEN=255) :: ThisLoc ! Objects TYPE(MetaHistContainer), POINTER :: Collection !======================================================================= ! Initialize !======================================================================= RC = GC_SUCCESS Collection => NULL() ErrMsg = '' ThisLoc = ' -> at History_SetTime (in History/history_mod.F90)' !======================================================================= ! Loop through each DIAGNOSTIC COLLECTION in the main list !======================================================================= ! Point to the first COLLECTION in the main collection list Collection => CollectionList ! As long as this current COLLECTION is valid ... DO WHILE( ASSOCIATED( Collection ) ) ! Update the time settings for the next timestep CALL HistContainer_SetTime( Input_Opt = Input_Opt, & Container = Collection%Container, & RC = RC ) ! Trap error IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "HistContainer_SetTime" ' // & ' for container : ' // TRIM( Collection%Container%Name ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Go to next collection Collection => Collection%Next ENDDO !======================================================================= ! Cleanup and quit !======================================================================= ! Free pointers Collection => NULL() END SUBROUTINE History_SetTime !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: History_Update ! ! !DESCRIPTION: For each HISTORY ITEM belonging to a diagnostic COLLECTION, ! the data from the target variable is copied or accumulated into the ! HISTORY ITEM's data field for further analysis. !\\ !\\ ! !INTERFACE: ! SUBROUTINE History_Update( Input_Opt, State_Diag, RC ) ! ! !USES: ! USE ErrCode_Mod USE HistItem_Mod, ONLY : HistItem USE HistContainer_Mod, ONLY : HistContainer USE HistContainer_Mod, ONLY : HistContainer_UpdateIvalSet USE History_Util_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Diag_Mod, ONLY : DgnState USE MetaHistContainer_Mod, ONLY : MetaHistContainer USE MetaHistItem_Mod, ONLY : MetaHistItem USE Registry_Params_Mod ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(DgnState), INTENT(IN) :: State_Diag ! Diagnostics state obj ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REMARKS: ! This routine is called from the main program at the end of each ! "heartbeat" timestep. ! ! !REVISION HISTORY: ! 03 Aug 2017 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: DoUpdate ! Strings CHARACTER(LEN=255) :: ErrMsg CHARACTER(LEN=255) :: ThisLoc ! Objects TYPE(MetaHistContainer), POINTER :: Collection TYPE(HistContainer), POINTER :: Container TYPE(MetaHistItem), POINTER :: Current TYPE(HistItem), POINTER :: Item !======================================================================= ! Initialize !======================================================================= RC = GC_SUCCESS DoUpdate = .FALSE. Collection => NULL() Container => NULL() Current => NULL() Item => NULL() ErrMsg = '' ThisLoc = ' -> at History_Update (in History/history_mod.F90)' !======================================================================= ! Loop through each DIAGNOSTIC COLLECTION in the main list, and ! then loop through the HISTORY ITEMS belonnging to each COLLECTION. ! Update each HISTORY ITEM if it is the proper time. !======================================================================= ! Point to the first COLLECTION in the main collection list Collection => CollectionList ! As long as this current COLLECTION is valid ... DO WHILE( ASSOCIATED( Collection ) ) ! Point to the HISTORY CONTAINER object in this COLLECTION Container => Collection%Container !-------------------------------------------------------------------- ! Test if it is time to update this collection !-------------------------------------------------------------------- ! Test if the "UpdateAlarm" is ringing DoUpdate = ( ( Container%UpdateAlarm - Container%ElapsedSec ) < EPS ) IF ( TRIM(Container%Name) .eq. 'BoundaryConditions' .and. & Container%ElapsedSec .eq. 0.0 ) THEN Container%UpdateAlarm = 0.0 DoUpdate = .TRUE. ENDIF ! Skip to next collection if it isn't IF ( .not. DoUpdate ) THEN Container => NULL() Collection => Collection%Next CYCLE ENDIF ! Debug output IF ( Input_Opt%Verbose ) THEN WRITE( 6, 100 ) Container%Name 100 FORMAT( ' - Updating collection: ', a20 ) ENDIF !-------------------------------------------------------------------- ! If it is time to update the collection, then loop through all of ! the associated HISTORY ITEMS and either copy or accumulate the ! data from the source pointer into the HISTORY ITEM's data array. !-------------------------------------------------------------------- ! Point to the first HISTORY ITEM belonging to the ! HISTORY CONTAINER object for the current COLLECTION Current => Container%HistItems ! As long as this HISTORY ITEM is valid ... DO WHILE ( ASSOCIATED( Current ) ) ! Get the HISTORY ITEM object contained in this node ! of the linked list of HISTORY ITEMS for this COLLECTION Item => Current%Item ! Test the rank of the data SELECT CASE( Item%SpaceDim ) !-------------------------------------------------------------- ! Update 3-D data field !-------------------------------------------------------------- CASE( 3 ) ! 8-byte floating point IF ( Item%Source_KindVal == KINDVAL_F8 ) THEN IF ( Item%Operation == COPY_FROM_SOURCE ) THEN Item%Data_3d = Item%Source_3d_8 Item%nUpdates = 1.0_f8 ELSE Item%Data_3d = Item%Data_3d + Item%Source_3d_8 Item%nUpdates = Item%nUpdates + 1.0_f8 ENDIF ! 4-byte floating point ELSE IF ( Item%Source_KindVal == KINDVAL_F4 ) THEN IF ( Item%Operation == COPY_FROM_SOURCE ) THEN Item%Data_3d = Item%Source_3d_4 Item%nUpdates = 1.0_f8 ELSE Item%Data_3d = Item%Data_3d + Item%Source_3d_4 Item%nUpdates = Item%nUpdates + 1.0_f8 ENDIF ! Integer ELSE IF ( Item%Source_KindVal == KINDVAL_I4 ) THEN IF ( Item%Operation == COPY_FROM_SOURCE ) THEN Item%Data_3d = Item%Source_3d_I Item%nUpdates = 1.0_f8 ELSE Item%Data_3d = Item%Data_3d + Item%Source_3d_I Item%nUpdates = Item%nUpdates + 1.0_f8 ENDIF ENDIF !-------------------------------------------------------------- ! Update 2-D data field !-------------------------------------------------------------- CASE( 2 ) ! 8-byte floating point IF ( Item%Source_KindVal == KINDVAL_F8 ) THEN IF ( Item%Operation == COPY_FROM_SOURCE ) THEN Item%Data_2d = Item%Source_2d_8 Item%nUpdates = 1.0_f8 ELSE Item%Data_2d = Item%Data_2d + Item%Source_2d_8 Item%nUpdates = Item%nUpdates + 1.0_f8 ENDIF ! 4-byte floating point ELSE IF ( Item%Source_KindVal == KINDVAL_F4 ) THEN IF ( Item%Operation == COPY_FROM_SOURCE ) THEN Item%Data_2d = Item%Source_2d_4 Item%nUpdates = 1.0_f8 ELSE Item%Data_2d = Item%Data_2d + Item%Source_2d_4 Item%nUpdates = Item%nUpdates + 1.0_f8 ENDIF ! Integer ELSE IF ( Item%Source_KindVal == KINDVAL_I4 ) THEN IF ( Item%Operation == COPY_FROM_SOURCE ) THEN Item%Data_2d = Item%Source_2d_I Item%nUpdates = 1.0_f8 ELSE Item%Data_2d = Item%Data_2d + Item%Source_2d_I Item%nUpdates = Item%nUpdates + 1.0_f8 ENDIF ENDIF !-------------------------------------------------------------- ! Update 1-D data field !-------------------------------------------------------------- CASE( 1 ) ! 8-byte floating point IF ( Item%Source_KindVal == KINDVAL_F8 ) THEN IF ( Item%Operation == COPY_FROM_SOURCE ) THEN Item%Data_1d = Item%Source_1d_8 Item%nUpdates = 1.0_f8 ELSE Item%Data_1d = Item%Data_1d + Item%Source_1d_8 Item%nUpdates = Item%nUpdates + 1.0_f8 ENDIF ! 4-byte floating point ELSE IF ( Item%Source_KindVal == KINDVAL_F4 ) THEN IF ( Item%Operation == COPY_FROM_SOURCE ) THEN Item%Data_1d = Item%Source_1d_4 Item%nUpdates = 1.0_f8 ELSE Item%Data_1d = Item%Data_1d + Item%Source_1d_4 Item%nUpdates = Item%nUpdates + 1.0_f8 ENDIF ! Integer ELSE IF ( Item%Source_KindVal == KINDVAL_I4 ) THEN IF ( Item%Operation == COPY_FROM_SOURCE ) THEN Item%Data_1d = Item%Source_1d_I Item%nUpdates = 1.0_f8 ELSE Item%Data_1d = Item%Data_1d + Item%Source_1d_I Item%nUpdates = Item%nUpdates + 1.0_f8 ENDIF ENDIF !-------------------------------------------------------------- ! Update 0D data field !-------------------------------------------------------------- CASE( 0 ) ! Flex-precision floating point IF ( Item%Source_KindVal == KINDVAL_F8 ) THEN IF ( Item%Operation == COPY_FROM_SOURCE ) THEN Item%Data_0d = Item%Source_0d_8 Item%nUpdates = 1.0_f8 ELSE Item%Data_0d = Item%Data_0d + Item%Source_0d_8 Item%nUpdates = Item%nUpdates + 1.0_f8 ENDIF ENDIF END SELECT ! Uncomment more detailed debug output if you need it! ! ! Debug output ! IF ( Input_Opt%Verbose ) THEN ! WRITE( 6, 110 ) TRIM(Container%Name), & ! TRIM(Item%Name), Item%nUpdates ! 110 FORMAT( a20, 1x, a20, 1x, f7.1 ) ! ENDIF !#endif ! Free pointer Item => NULL() ! Go to the next HISTORY item Current => Current%Next ENDDO !------------------------------------------------------------------ ! Prepare to go to the next collection !------------------------------------------------------------------ ! Recompute the update alarm interval if it is 1 month or longer, ! as we will have to take into account leap years, etc. IF ( Container%UpdateYmd >= 000100 ) THEN CALL HistContainer_UpdateIvalSet( Input_Opt, Container, RC ) ENDIF ! Update the "UpdateAlarm" time for the next updating interval. Container%UpdateAlarm = Container%UpdateAlarm + & Container%UpdateIvalSec ! Free pointers Current => NULL() Container => NULL() ! Go to the next entry in the list of collections Collection => Collection%Next ENDDO !======================================================================= ! Cleanup and quit !======================================================================= ! Free pointers Collection => NULL() Container => NULL() Current => NULL() Item => NULL() END SUBROUTINE History_Update !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: History_Write ! ! !DESCRIPTION: For each HISTORY ITEM belonging to a diagnostic COLLECTION, ! the data from the target variable is copied or accumulated into the ! HISTORY ITEM's data field for further analysis. !\\ !\\ ! !INTERFACE: ! SUBROUTINE History_Write( Input_Opt, State_Chm, State_Diag, State_Grid, RC ) ! ! !USES: ! USE Charpak_Mod, ONLY : To_UpperCase USE ErrCode_Mod USE HistContainer_Mod USE HistItem_Mod, ONLY : HistItem USE History_Netcdf_Mod USE History_Util_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Diag_Mod, ONLY : DgnState USE MetaHistContainer_Mod, ONLY : MetaHistContainer USE MetaHistItem_Mod, ONLY : MetaHistItem USE PhysConstants, ONLY : AIRMW USE Registry_Params_Mod USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnMap, DgnState USE State_Grid_Mod, ONLY : GrdState USE UnitConv_Mod, ONLY : UNIT_STR, Check_Units USE UnitConv_Mod, ONLY : MOLES_SPECIES_PER_MOLES_DRY_AIR ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(IN) :: State_Diag ! Diagnostics State object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REMARKS: ! This routine is called from the main program at the end of each ! "heartbeat" timestep. ! ! !REVISION HISTORY: ! 03 Aug 2017 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: DoClose LOGICAL :: DoWrite LOGICAL :: isBndCond LOGICAL :: isRestart LOGICAL :: isSatDiagn LOGICAL :: isSatDiagnEdge INTEGER :: S, N ! Strings CHARACTER(LEN=20 ) :: TmpUnits CHARACTER(LEN=255) :: ErrMsg CHARACTER(LEN=255) :: ThisLoc CHARACTER(LEN=255) :: cName ! Objects TYPE(MetaHistContainer), POINTER :: Collection TYPE(HistContainer), POINTER :: Container TYPE(MetaHistItem), POINTER :: Current TYPE(DgnMap), POINTER :: mapData !======================================================================= ! Initialize !======================================================================= RC = GC_SUCCESS DoClose = .FALSE. DoWrite = .FALSE. Collection => NULL() Current => NULL() ErrMsg = '' ThisLoc = ' -> at History_Write (in History/history_mod.F90)' !======================================================================= ! Loop through each DIAGNOSTIC COLLECTION in the main list, and ! then loop through the HISTORY ITEMS belonnging to each COLLECTION. !======================================================================= ! Point to the first COLLECTION in the main collection list Collection => CollectionList ! As long as this current COLLECTION is valid ... DO WHILE( ASSOCIATED( Collection ) ) ! Point to the HISTORY CONTAINER object in this COLLECTION Container => Collection%Container ! Identify the BoundaryConditions and Restart collectiond cName = To_UpperCase( TRIM( Container%Name ) ) isBndCond = ( TRIM( cName ) == 'BOUNDARYCONDITIONS' ) isRestart = ( TRIM( cName ) == 'RESTART' ) ! Force define write alarm for creating and saving boundary ! conditions to ensure first file of the simulation has the ! correct file name and number of entries. IF ( Container%ElapsedSec < EPS ) THEN IF ( isBndCond ) THEN Container%FileWriteAlarm = 0.0_fp ELSE RETURN ENDIF ENDIF !==================================================================== ! Test if it is time to close/repopen the file or to write data !==================================================================== ! Test if the "FileCloseAlarm" is ringing DoClose = ( ( Container%FileCloseAlarm - Container%ElapsedSec ) < EPS ) ! Test if the "FileWriteAlarm" is ringing DoWrite = ( ( Container%FileWriteAlarm - Container%ElapsedSec ) < EPS ) ! If it's the first timestep of the simulation, map SpeciesConc ! values to BC diagnostic values to output instantaneous values ! at start of simulation [v/v dry]. IF ( Container%ElapsedSec .eq. 0.0 .and. & TRIM(Container%Name) .eq. 'BoundaryConditions' ) THEN ! Verify that incoming State_Chm%Species units are mol/mol dry air. IF ( .not. Check_Units( State_Chm, MOLES_SPECIES_PER_MOLES_DRY_AIR ) ) THEN ErrMsg = 'Not all species are in "mol/mol dry" units!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Point to mapping obj specific to species boundary conditions mapData => State_Diag%Map_SpeciesBC !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( N, S ) DO S = 1, mapData%nSlots N = mapData%slot2id(S) State_Diag%SpeciesBC(:,:,:,S) = State_Chm%Species(N)%Conc(:,:,:) ENDDO !$OMP END PARALLEL DO ! Free pointer mapData => NULL() ! Update each HISTORY ITEM from its data source CALL History_Update( Input_Opt, State_Diag, RC ) ENDIF !==================================================================== ! %%% GEOS-Chem "Classic" %%% ! ! It is time to create a new netCDF file (closing the old one) !==================================================================== IF ( DoClose ) THEN ! Save the units of State_Chm%Species(:)%Conc in the container, ! so that we can redefine the unit string from "TBD". ! Copy into a temp variable so that Gfortran won't choke. TmpUnits = UNIT_STR(State_Chm%Species(1)%Units) Container%Spc_Units = TmpUnits !----------------------------------------------------------------- ! If the netCDF file specified by this collection is open, ! then close it and undefine all relevant object fields. !----------------------------------------------------------------- CALL History_Netcdf_Close( Container = Container, & RC = RC ) ! Trap error IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error returned from "History_Netcdf_Close"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !----------------------------------------------------------------- ! Create the netCDF file for this HISTORY CONTAINER object, ! Defines each variable, saves global attributes, and writes ! the index variable data to the file. !----------------------------------------------------------------- CALL History_Netcdf_Define( Input_Opt = Input_Opt, & State_Grid = State_Grid, & Container = Container, & RC = RC ) ! Trap error IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error returend from "History_Netcdf_Define"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !----------------------------------------------------------------- ! Update "FileClose" alarm for next interval !----------------------------------------------------------------- ! Recompute the file close alarm interval if it is 1 month or longer, ! as we will have to take into account leap years, etc. IF ( Container%FileCloseYmd >= 000100 ) THEN CALL HistContainer_FileCloseIvalSet( Input_Opt, Container, RC ) ENDIF ! Update the alarm Container%FileCloseAlarm = Container%FileCloseAlarm & + Container%FileCloseIvalSec ENDIF !================================================================= ! %%% GEOS-Chem "Classic" %%% ! ! It is time to write data to the netCDF file !================================================================= IF ( DoWrite ) THEN !----------------------------------------------------------------- ! Write the HISTORY ITEMS for this collection to the netCDF file. !----------------------------------------------------------------- CALL History_Netcdf_Write( Input_Opt = Input_Opt, & State_Diag = State_Diag, & Container = Container, & RC = RC ) ! Trap error IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error returned from "History_Netcdf_Write"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !----------------------------------------------------------------- ! Update "FileWrite" alarm for next interval !----------------------------------------------------------------- ! Recompute the file write alarm interval if it's 1 month or longer, ! as we will have to take into account leap years, etc. IF ( Container%FileWriteYmd >= 000100 ) THEN CALL HistContainer_FileWriteIvalSet( Input_Opt, Container, RC ) ENDIF ! Update the alarm Container%FileWriteAlarm = Container%FileWriteAlarm & + Container%FileWriteIvalSec !----------------------------------------------------------------- ! SPECIAL HANDLING FOR RESTART COLLECTION ! Make sure to close the restart file after writing, to avoid ! incompletly-flushed files. Need to implement a more general ! way of doing this for other types of collections later. ! -- Bob Yantosca (17 Nov 2022) !----------------------------------------------------------------- IF ( isRestart ) THEN CALL History_Netcdf_Close( Container = Container, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error returned from "History_Netcdf_Close"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !----------------------------------------------------------------- ! SPECIAL HANDLING FOR SATELLITE DIAGNOSTIC COLLECTIONS ! ! If we have called History_Netcdf_Write (i.e. DoWrite == T), ! then reset the satellite diagnostics counters, as we have now ! entered the next diagnostic interval. We need to do this here ! instead of in History_Netcdf_Write as there are multiple ! satellite diagnostic collections (SatDiagn, SatDiagnEdge). !----------------------------------------------------------------- ! Test container name CALL SatDiagn_or_SatDiagnEdge( cName, isSatDiagn, isSatDiagnEdge ) ! Zero SatDiagn counter IF ( isSatDiagn .and. State_Diag%Archive_SatDiagnCount ) THEN State_Diag%SatDiagnCount = 0.0_f8 ENDIF ! Zero SatDiagnEdge counter IF ( isSatDiagnEdge .and. State_Diag%Archive_SatDiagnEdgeCount ) THEN State_Diag%SatDiagnEdgeCount = 0.0_f8 ENDIF ENDIF ! Skip to the next collection Container => NULL() Collection => Collection%Next ENDDO !======================================================================= ! Cleanup & quit !======================================================================= ! Free pointers Container => NULL() Collection => NULL() END SUBROUTINE History_Write !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: GetCollectionMetaData ! ! !DESCRIPTION: Parses a line of the HISTORY.rc file and returns metadata ! for a given attribute (e.g. "frequency", "template", etc.) !\\ !\\ ! !INTERFACE: ! SUBROUTINE GetCollectionMetaData( Input_Opt, Line, Pattern, MetaData, & nCollection ) ! ! !USES: ! USE Charpak_Mod, ONLY : CleanText, StrSplit USE DiagList_Mod, ONLY : CollList, Search_CollList USE History_Util_Mod USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object CHARACTER(LEN=*), INTENT(IN) :: Line ! Line to be searched CHARACTER(LEN=*), INTENT(IN) :: Pattern ! Search pattern ! ! !OUTPUT PARAMETERS: ! CHARACTER(LEN=255), INTENT(OUT) :: MetaData ! Metadata value INTEGER, INTENT(OUT) :: nCollection ! Collection Id ! ! !REVISION HISTORY: ! 16 Aug 2017 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: Found INTEGER :: C, Ind, nSubStr, N, P, RC ! Strings CHARACTER(LEN=255) :: Name CHARACTER(LEN=255) :: SubStr(255) !======================================================================= ! Initialize !======================================================================= nCollection = UNDEFINED_INT MetaData = UNDEFINED_STR !======================================================================= ! Find the metadata for the given collection !======================================================================= ! The collection name is between column 1 and the first "." character Ind = INDEX( TRIM( Line ), '.' ) Name = Line(1:Ind-1) ! Exit if the collection name is not in the list of active collections CALL Search_CollList( Input_Opt%amIRoot, CollList, Name, Found, RC ) IF ( .not. Found ) RETURN ! Non-white-space lengths of the collection cname and search pattern N = LEN_TRIM( Name ) P = LEN_TRIM( Pattern ) ! Loop over all collection names ! NOTE: This algorithm may not be the most efficient, as it will ! not skip collections that we have already encountered. But it ! only gets done during the init phase, so it might not be a huge ! expenditure of time anyway. Worry about this later. (bmy, 1/18/18) DO C = 1, CollectionCount ! Check to see if the current line matches the collection name ! Then check to see which collection this is in IF ( Name(1:30) == CollectionName(C)(1:30) ) THEN Ind = 1 ELSE Ind = 0 ENDIF ! If the we match the current collection, then ... IF ( Ind > 0 ) THEN ! Split the line on the the colon CALL StrSplit( Line, ':', SubStr, nSubStr ) ! If there are 2 substrings ... IF ( nSubStr == 2 ) THEN ! Make sure the first substring matches the name ! of the metadata field we would like to obtain. ! if it does, then we have found a match, and so return IF ( SubStr(1)(N+2:P+N+1) == Pattern(1:P) ) THEN nCollection = C MetaData = CleanText( SubStr(2) ) EXIT ENDIF ENDIF ENDIF ENDDO END SUBROUTINE GetCollectionMetaData !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: History_Close_AllFiles ! ! !DESCRIPTION: Closes the netCDF file described by each HISTORY CONTAINER ! object in the main list of diagnostic collections. !\\ !\\ ! !INTERFACE: ! SUBROUTINE History_Close_AllFiles( RC ) ! ! !USES: ! USE ErrCode_Mod USE History_Netcdf_Mod, ONLY : History_Netcdf_Close USE MetaHistContainer_Mod, ONLY : MetaHistContainer ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REMARKS: ! This is called from History_Cleanup, but may also be called in other ! locations (e.g. when processing abnormal exits) ! ! !REVISION HISTORY: ! 16 Aug 2017 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc ! Objects TYPE(MetaHistContainer), POINTER :: Current !======================================================================= ! Initialize !======================================================================= RC = GC_SUCCESS Current => NULL() ErrMsg = '' ThisLoc = & ' -> at History_Close_AllFiles (in module History/history_mod.F90)' !======================================================================= ! Close the netCDF file for each diagnostic collection !======================================================================= ! Set CURRENT to the first entry in the list of HISTORY CONTAINERS Current => CollectionList ! If this entry is not null ... DO WHILE ( ASSOCIATED( Current ) ) ! Close the file (if it's open) and reset all relevant fields ! in the HISTORY CONTAINER object CALL History_Netcdf_Close( Container = Current%Container, & RC = RC ) ! Trap error IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error returned from "History_Netcdf_Close"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) Current => NULL() RETURN ENDIF ! Go to the next entry in the list of HISTORY CONTAINERS Current => Current%Next ENDDO !======================================================================= ! Cleanup and quit !======================================================================= ! Free pointer Current => NULL() END SUBROUTINE History_Close_AllFiles !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: History_Cleanup ! ! !DESCRIPTION: Deallocates all module variables and objects. Also closes ! any remaining open netCDF files. !\\ !\\ ! !INTERFACE: ! SUBROUTINE History_Cleanup( RC ) ! ! !USES: ! USE ErrCode_Mod USE MetaHistContainer_Mod, ONLY : MetaHistContainer_Destroy ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! ! !REVISION HISTORY: ! 16 Jun 2017 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc ! Objects TYPE(MetaHistContainer), POINTER :: Current !====================================================================== ! Initialize !====================================================================== RC = GC_SUCCESS Current => NULL() ErrMsg = '' ThisLoc = ' -> at History_Cleanup (in module History/history_mod.F90)' !====================================================================== ! Close all remanining netCDF files !====================================================================== CALL History_Close_AllFiles( RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error returned from "History_Close_AllFiles"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !====================================================================== ! And deallocate variables belonging to history_mod.F90 !====================================================================== IF ( ASSOCIATED( CollectionList ) ) THEN CALL MetaHistContainer_Destroy( CollectionList, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not destroy "CollectionList"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF IF ( ALLOCATED( CollectionName ) ) THEN DEALLOCATE( CollectionName, STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not deallocate "CollectionName"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF IF ( ALLOCATED( CollectionFileName ) ) THEN DEALLOCATE( CollectionFileName, STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not deallocate "CollectionFileName"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF IF ( ALLOCATED( CollectionTemplate ) ) THEN DEALLOCATE( CollectionTemplate, STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not deallocate "CollectionTemplate"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF IF ( ALLOCATED( CollectionFrequency ) ) THEN DEALLOCATE( CollectionFrequency, STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not deallocate "CollectionFrequency"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF IF ( ALLOCATED( CollectionAccInterval ) ) THEN DEALLOCATE( CollectionAccInterval, STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not deallocate "CollectionAccInterval"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF IF ( ALLOCATED( CollectionDuration ) ) THEN DEALLOCATE( CollectionDuration, STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not deallocate "CollectionDuration"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF IF ( ALLOCATED( CollectionMode ) ) THEN DEALLOCATE( CollectionMode, STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not deallocate "CollectionMode"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF IF ( ALLOCATED( CollectionLonRange ) ) THEN DEALLOCATE( CollectionLonRange, STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not deallocate "CollectionLonRange"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF IF ( ALLOCATED( CollectionLatRange ) ) THEN DEALLOCATE( CollectionLatRange, STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not deallocate "CollectionLatRange"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF IF ( ALLOCATED( CollectionSubsetInd ) ) THEN DEALLOCATE( CollectionSubsetInd, STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not deallocate "CollectionSubsetInd"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF IF ( ALLOCATED( CollectionLevels ) ) THEN DEALLOCATE( CollectionLevels, STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not deallocate "CollectionLevels"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF IF ( ALLOCATED( CollectionLevelInd ) ) THEN DEALLOCATE( CollectionLevelInd, STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not deallocate "CollectionLevelInd"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF IF ( ALLOCATED( CollectionHrRange ) ) THEN DEALLOCATE( CollectionHrRange, STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not deallocate "CollectionHrRange"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF END SUBROUTINE History_Cleanup !EOC END MODULE History_Mod ================================================ FILE: History/history_netcdf_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: history_netcdf_mod.F90 ! ! !DESCRIPTION: Contains routines to create a netCDF file for each GEOS-Chem ! diagnostic collection (as specified by each HISTORY CONTAINER in the ! main collection list located within in history_mod.F90). !\\ !\\ ! !INTERFACE: ! MODULE History_Netcdf_Mod ! ! !USES: ! USE Precision_Mod USE MetaHistItem_Mod, ONLY : MetaHistItem IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS ! PUBLIC :: History_Netcdf_Close PUBLIC :: History_Netcdf_Define PUBLIC :: History_Netcdf_Write ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: Expand_Date_Time PRIVATE :: Get_Number_Of_Levels PRIVATE :: Get_Var_DimIds PRIVATE :: IndexVarList_Create PRIVATE :: IndexVarList_Destroy ! ! !REMARKS: ! ! !REVISION HISTORY: ! 10 Aug 2017 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: History_Netcdf_Close ! ! !DESCRIPTION: Closes the netCDF file specified by the the given HISTORY ! CONTAINER object. Also resets the relevant fields of the HISTORY CONTAINER ! object (as well as the fields in each HISTORY ITEM contained within the ! HISTORY CONTAINER) to undefined values. !\\ !\\ ! !INTERFACE: ! SUBROUTINE History_Netcdf_Close( Container, RC ) ! ! !USES: ! USE ErrCode_Mod USE HistContainer_Mod, ONLY : HistContainer USE History_Util_Mod USE MetaHistContainer_Mod, ONLY : MetaHistContainer USE Ncdf_Mod ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(HistContainer), POINTER :: Container ! HISTORY CONTAINER obj ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! This had been part of History_Netcdf_Define, but is now its own routine. ! ! !REVISION HISTORY: ! 14 Aug 2017 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! TYPE(MetaHistItem), POINTER :: Current !======================================================================= ! Initialize !======================================================================= RC = GC_SUCCESS Current => NULL() !======================================================================= ! Close the previous file in this collection if it is still open !======================================================================= IF ( Container%IsFileOpen .or. Container%IsFileDefined ) THEN !-------------------------------------------------------------------- ! Close file and undefine fields of the HISTORY CONTAINER object !-------------------------------------------------------------------- ! Close the netCDF file CALL Nc_Close( Container%FileId ) ! Undefine fields Container%IsFileOpen = .FALSE. Container%IsFileDefined = .FALSE. Container%ReferenceYmd = UNDEFINED_INT Container%ReferenceHms = UNDEFINED_INT !Container%ReferenceJd = UNDEFINED_DBL Container%ReferenceJsec = UNDEFINED_DBL Container%CurrTimeSlice = UNDEFINED_INT !-------------------------------------------------------------------- ! Undefine relevant fields of each HISTORY ITEM object ! belonging to this HISTORY CONTAINER object !-------------------------------------------------------------------- ! Set CURRENT to the first entry in the list of ! HISTORY ITEMS belonging to this collection Current => Container%HistItems ! As long as this node of the list is valid ... DO WHILE( ASSOCIATED( Current ) ) ! Undefine quantities for the file we just closed Current%Item%NcXDimId = UNDEFINED_INT Current%Item%NcYDimId = UNDEFINED_INT Current%Item%NcZDimId = UNDEFINED_INT Current%Item%NcTDimId = UNDEFINED_INT Current%Item%NcBDimId = UNDEFINED_INT Current%Item%NcVarId = UNDEFINED_INT ! Go to the next entry in the list of HISTORY ITEMS Current => Current%Next ENDDO ! Free pointer Current => NULL() ENDIF END SUBROUTINE History_Netcdf_Close !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: History_Netcdf_Define ! ! !DESCRIPTION: Creates the netCDF file specified by each HISTORY CONTAINER ! object, and defines the variables specified by the HISTORY ITEMS beloinging ! to the HISTORY CONTAINER. Index variables lon, lat, lev, time, as well ! as the AREA variable, are written to the netCDF file with the proper ! metadata. !\\ !\\ ! !INTERFACE: ! SUBROUTINE History_Netcdf_Define( Input_Opt, State_Grid, Container, RC ) ! ! !USES: ! USE CharPak_Mod, ONLY : To_UpperCase USE ErrCode_Mod USE HistContainer_Mod, ONLY : HistContainer, HistContainer_Print USE HistItem_Mod, ONLY : HistItem, HistItem_Print USE History_Util_Mod USE Input_Opt_Mod, ONLY : OptInput USE JulDay_Mod, ONLY : CalDate USE MetaHistItem_Mod, ONLY : MetaHistItem USE Ncdf_Mod USE netCDF, ONLY : NF90_UNLIMITED USE Registry_Params_Mod, ONLY : KINDVAL_F4 USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(HistContainer), POINTER :: Container ! Diagnostic collection obj ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REMARKS: ! For instantaneous file collections, if a file already exists (e.g. at 0h ! on the day when a run ended), then we will append into that file instead ! of opening a new file. This will prevent clobbering of existing data. ! ! !REVISION HISTORY: ! 03 Aug 2017 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: appendToFile, isRestart INTEGER :: N, VarCt INTEGER :: VarXDimId, VarYDimId INTEGER :: VarZDimId, VarTDimId INTEGER :: yyyymmdd, hhmmss INTEGER :: nLev, nILev INTEGER :: DataType, RC2 REAL(f8) :: offset ! Strings CHARACTER(LEN=5) :: Z CHARACTER(LEN=8) :: D CHARACTER(LEN=10) :: T CHARACTER(LEN=255) :: FileName CHARACTER(LEN=255) :: ErrMsg, ThisLoc, VarUnits CHARACTER(LEN=255) :: VarAxis, VarPositive, VarCalendar CHARACTER(LEN=255) :: VarStdName, VarFormula, VarBounds ! Arrays INTEGER :: V(8) ! Pointers REAL(fp), POINTER :: Data1d(:) REAL(fp), POINTER :: Data2d(:) ! Objects TYPE(MetaHistItem), POINTER :: Current TYPE(MetaHistItem), POINTER :: IndexVarList !======================================================================== ! Initialize !======================================================================== RC = GC_SUCCESS RC2 = GC_SUCCESS Current => NULL() IndexVarList => NULL() ErrMsg = '' ThisLoc = ' -> at History_Netcdf_Define (in History/history_mod.F90)' FileName = '' VarAxis = '' VarCalendar = '' VarPositive = '' VarUnits = '' appendToFile = .FALSE. yyyymmdd = Container%CurrentYmd hhmmss = Container%CurrentHms ! Test if this collection is a restart file (for which we will always ! want to create a new file instead of appending to an open file). isRestart = ( INDEX( To_UpperCase(TRIM(Container%Name)), 'RESTART' ) > 0 ) !======================================================================== ! Create the netCDF file with global attributes (or append) ! Do not exit netCDF define mode just yet !======================================================================== IF ( .not. Container%IsFileOpen ) THEN !--------------------------------------------------------------------- ! Compute reference date and time fields in the HISTORY CONTAINER ! These are needed to compute the time stamps for each data field ! that is written to the netCDF file. Also resets the current ! time slice index. !--------------------------------------------------------------------- ! Reset the current time slice index Container%CurrTimeSlice = 0 IF ( Container%Operation == ACCUM_FROM_SOURCE ) THEN !------------------------------------------------------------------ ! %%% TIME-AVERAGED COLLECTIONS %%% !------------------------------------------------------------------ ! REFERENCE TIMESTAMP: ! Subtract the file write alarm interval that we added to ! the current date/time (CurrentJd) field at initialization Container%ReferenceJsec = Container%CurrentJsec & - Container%FileWriteIvalSec ELSE !------------------------------------------------------------------ ! %%% INSTANTANEOUS COLLECTIONS %%% !------------------------------------------------------------------ ! REFERENCE TIMESTAMP: Use the date/time when the file is created. Container%ReferenceJsec = Container%CurrentJsec ENDIF ! Convert reference time from Astronomical Julian Seconds to date/time Container%ReferenceJd = Container%ReferenceJsec / SECONDS_PER_DAY CALL CalDate( JulianDay = Container%ReferenceJd, & yyyymmdd = Container%ReferenceYmd, & hhmmss = Container%ReferenceHms ) ! Replace time and date tokens in the netCDF file name ! (Save the collection's file name in a temporary variable) FileName = TRIM( Container%FileName ) CALL Expand_Date_Time( DateStr = FileName, & yyyymmdd = Container%ReferenceYmd, & hhmmss = Container%ReferenceHms, & MAPL_Style = .TRUE. ) !------------------------------------------------------------------------------ ! TEMPORARY FIX (bmy, 9/20/17) ! NOTE: The different timestamps will cause the binary diff in the unit ! tests and difference tests to fail, so comment these out for now. ! We will look into a better way to check netCDF files soon. ! !-------------------------------------------------------------------- ! ! Create the timestamp for the History and ProdDateTime attributes ! !-------------------------------------------------------------------- ! ! ! Call F90 intrinsic DATE_AND_TIME Function ! D = 'ccyymmdd' ! T = 'hhmmss.sss' ! CALL Date_And_Time( Date=D, Time=T, Zone=Z, Values=V ) ! GMT time ! ! ! Create timestamp strings ! WRITE( Container%History, 10 ) V(1),V(2),V(3),V(5),V(6),V(7),Z ! WRITE( Container%ProdDateTime, 10 ) V(1),V(2),V(3),V(5),V(6),V(7),Z ! 10 FORMAT( 'Produced on ', i4.4, '/', i2.2, '/', i2.2, 1x, & ! i2.2, ':', i2.2, ':', i2.2, ' UTC', a ) ! ! For now, just set History and ProdDateTime to blanks ! to get binary file diffs to pass. Container%History = '' Container%ProdDateTime = '' !------------------------------------------------------------------------------ ! Get the number of levels (nLev) and level interfaces (nIlev) CALL Get_Number_Of_Levels( Container, nLev, nIlev ) !--------------------------------------------------------------------- ! Do not create netCDF file on first timestep if instantaneous ! collection and frequency = duration. This will avoid creating ! of a netCDF file containing all missing values. !--------------------------------------------------------------------- IF ( Container%Operation == COPY_FROM_SOURCE .and. & Container%UpdateIvalSec == Container%FileCloseIvalSec .and. & Container%FileCloseAlarm == 0.0 .and. & TRIM(Container%Name) .ne. 'BoundaryConditions' ) THEN RETURN ELSE !------------------------------------------------------------------ ! Create the file and add global attributes ! Remain in netCDF define mode upon exiting this routine ! ! NOTE: Container%Reference is a global attribute lists the ! GEOS-Chem web and wiki page. It has nothing to do with the ! reference data/time computed by History_Set_RefDateTime. !------------------------------------------------------------------ ! Echo info about the file we are creating IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 100 ) TRIM( Container%Name ), & Container%ReferenceYmd, & Container%ReferenceHms WRITE( 6, 110 ) TRIM( FileName ) ENDIF ! Create the file CALL Nc_Create( Create_Nc4 = .TRUE., & NcFile = fileName, & nLon = Container%nX, & nLat = Container%nY, & nLev = nLev, & nIlev = nILev, & nTime = NF90_UNLIMITED, & nBounds = 2, & NcFormat = Container%NcFormat, & Conventions = Container%Conventions, & History = Container%History, & ProdDateTime = Container%ProdDateTime, & Reference = Container%Reference, & Title = Container%Title, & Contact = Container%Contact, & StartTimeStamp = Container%StartTimeStamp, & EndTimeStamp = Container%EndTimeStamp, & fId = Container%FileId, & TimeId = Container%tDimId, & LevId = Container%zDimId, & ILevId = Container%iDimId, & LatId = Container%yDimId, & LonId = Container%xDimId, & boundsId = Container%bDimId, & KeepDefMode = .TRUE., & Varct = VarCt ) ENDIF !--------------------------------------------------------------------- ! Denote that the file has been created and is open !--------------------------------------------------------------------- Container%IsFileOpen = .TRUE. ENDIF ! Format strings for use above 100 FORMAT( ' - Creating file for ', a, '; reference = ',i8.8,1x,i6.6 ) 110 FORMAT( ' with filename = ', a ) !======================================================================== ! Define all of the Create the netCDF file with global attributes ! Skip if we are appending to an existing file !======================================================================== IF ( .not. Container%IsFileDefined ) THEN !--------------------------------------------------------------------- ! Define the index variables !--------------------------------------------------------------------- ! Define the linked list of index variables (IndexVarList) that ! have the same dimension subsets as the current container CALL IndexVarList_Create( & Input_Opt = Input_Opt, & State_Grid = State_Grid, & Container = Container, & IndexVarList = IndexVarList, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "IndexVarList_Create"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Set CURRENT to the first node in the list of HISTORY ITEMS Current => IndexVarList ! As long as this node of the list is valid ... DO WHILE( ASSOCIATED( Current ) ) ! Get the dimension ID's that are relevant to each HISTORY ITEM ! Also get Axis, Calendar, and Positive attributes for index vars, ! and replace time & date tokens in the units string for "time". CALL Get_Var_DimIds( xDimId = Container%xDimId, & yDimId = Container%yDimId, & zDimId = Container%zDimId, & iDimId = Container%iDimId, & tDimId = Container%tDimId, & bDimId = Container%bDimId, & RefDate = Container%ReferenceYmd, & RefTime = Container%ReferenceHms, & OnLevelEdges = Container%OnLevelEdges, & Item = Current%Item, & VarAxis = VarAxis, & VarPositive = VarPositive, & VarCalendar = VarCalendar, & VarUnits = VarUnits, & VarStdName = VarStdName, & VarFormula = VarFormula, & VarBounds = VarBounds ) ! Set a flag for the precision of the data IF ( Current%Item%Output_KindVal == KINDVAL_F4 ) THEN DataType = 4 ELSE DataType = 8 ENDIF ! Define each HISTORY ITEM in this collection to the netCDF file CALL Nc_Var_Def( DefMode = .TRUE., & Compress = .TRUE., & fId = Container%FileId, & DataType = DataType, & VarName = Current%Item%Name, & VarCt = Current%Item%NcVarId, & timeId = Current%Item%NcTDimId, & levId = Current%Item%NcZDimId, & iLevId = Current%Item%NcIDimId, & latId = Current%Item%NcYDimId, & lonId = Current%Item%NcXDimId, & boundsId = Current%Item%NcBDimId, & VarLongName = Current%Item%LongName, & VarUnit = VarUnits, & Axis = VarAxis, & Calendar = VarCalendar, & Positive = VarPositive, & StandardName = VarStdName, & FormulaTerms = VarFormula, & Bounds = VarBounds ) ! Debug print !CALL HistItem_Print( Current%Item, RC ) ! Go to next entry in the list of HISTORY ITEMS Current => Current%Next ENDDO ! Free pointers Current => NULL() !--------------------------------------------------------------------- ! Then define each HISTORY ITEM belonging to this collection !--------------------------------------------------------------------- ! Set CURRENT to the first node in the list of HISTORY ITEMS Current => Container%HistItems ! As long as this node of the list is valid ... DO WHILE( ASSOCIATED( Current ) ) ! Get the dimension ID's that are relevant to each HISTORY ITEM ! and save them in fields of the HISTORY ITEM CALL Get_Var_DimIds( xDimId = Container%xDimId, & yDimId = Container%yDimId, & zDimId = Container%zDimId, & iDimId = Container%iDimId, & tDimId = Container%tDimId, & bDimId = Container%bDimId, & Item = Current%Item, & VarUnits = VarUnits ) ! Replace "TBD" with the current units of State_Chm%Species(:)%Conc IF ( TRIM( VarUnits ) == 'TBD' ) THEN VarUnits = Container%Spc_Units ENDIF ! Set a flag for the precision of the data IF ( Current%Item%Output_KindVal == KINDVAL_F4 ) THEN DataType = 4 ELSE DataType = 8 ENDIF !--------------------------------------------------------------- ! Define a HISTORY ITEM in this collection as a 4-byte real ! or 8-byte real data variable for the netCDF file output !--------------------------------------------------------------- CALL Nc_Var_Def( DefMode = .TRUE., & Compress = .TRUE., & fId = Container%FileId, & DataType = DataType, & VarName = Current%Item%Name, & VarCt = Current%Item%NcVarId, & timeId = Current%Item%NcTDimId, & levId = Current%Item%NcZDimId, & iLevId = Current%Item%NcIDimId, & latId = Current%Item%NcYDimId, & lonId = Current%Item%NcXDimId, & boundsId = Current%Item%NcBDimId, & varLongName = Current%Item%LongName, & varUnit = VarUnits, & !missingValue = Current%Item%MissingValue, & avgMethod = Current%Item%AvgMethod, & bounds = VarBounds ) #if defined( NC_HAS_COMPRESSION ) ! Turn on netCDF chunking for this HISTORY ITEM ! NOTE: This will only work if the netCDF library supports netCDF-4 ! files with compression. Also note: file compression is turned off ! by default when using DEBUG=y, because otherwise the compression ! makes it difficult to compare files generated by difference tests. IF ( ASSOCIATED( Current%Item%NcChunkSizes ) ) THEN ! Apply the chunk sizes to this variable CALL Nc_Var_Chunk( fId = Container%FileId, & vId = Current%Item%NcVarId, & ChunkSizes = Current%Item%NcChunkSizes, & RC = RC ) ! Trap potential error IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Nc_Var_Chunk"!' // & ' Try DEBUG=n and/or check if your netCDF-4 ' // & ' library supports compression' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF #endif ! Go to next entry in the list of HISTORY ITEMS Current => Current%Next ENDDO ! Free pointers Current => NULL() !--------------------------------------------------------------------- ! Write the index variable data !--------------------------------------------------------------------- ! Close definition section CALL Nc_Set_DefMode( Container%FileId, Off=.TRUE. ) ! Set CURRENT to the first node in the list of HISTORY ITEMS Current => IndexVarList ! As long as this node of the list is valid ... DO WHILE( ASSOCIATED( Current ) ) ! Write data for index variables to the netCDF file IF ( Current%Item%SpaceDim == 2 ) THEN ! Check the dimension names SELECT CASE( Current%Item%DimNames ) ! lon_bnds or lat_bnds CASE( 'bx', 'by' ) CALL Nc_Var_Write( fId = Container%FileId, & VarName = Current%Item%Name, & Arr2d = Current%Item%Source_2d_8 ) ! AREA CASE DEFAULT CALL Nc_Var_Write( fId = Container%FileId, & VarName = Current%Item%Name, & Arr2d = Current%Item%Source_2d_4 ) END SELECT ELSE IF ( Current%Item%SpaceDim == 1 ) THEN ! All other index fields are 1-D (8-byte precision) ... CALL Nc_Var_Write( fId = Container%FileId, & VarName = Current%Item%Name, & Arr1d = Current%Item%Source_1d_8 ) ELSE ! ... except P0, which is a scalar (8-byte precision) CALL Nc_Var_Write( fId = Container%FileId, & VarName = Current%Item%Name, & Var = Current%Item%Source_0d_8 ) ENDIF ! Go to next entry in the list of HISTORY ITEMS Current => Current%Next ENDDO ! Free pointers Current => NULL() !--------------------------------------------------------------------- ! We can now consider this collection to have been "defined" !--------------------------------------------------------------------- Container%IsFileDefined = .TRUE. CALL IndexVarList_Destroy( IndexVarList, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error returned from "History_Netcdf_Cleanup"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF END SUBROUTINE History_Netcdf_Define !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: History_Netcdf_Write ! ! !DESCRIPTION: Writes the data contained in each HISTORY ITEM to the netCDF ! file specified by a given HISTORY CONTAINER object. !\\ !\\ ! !INTERFACE: ! SUBROUTINE History_Netcdf_Write( Input_Opt, State_Diag, Container, RC ) ! ! !USES: ! USE CharPak_Mod, ONLY : To_Uppercase USE ErrCode_Mod USE HistItem_Mod, ONLY : HistItem USE HistContainer_Mod, ONLY : HistContainer USE History_Util_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Diag_Mod, ONLY : DgnState USE M_Netcdf_Io_Write, ONLY : NcWr USE MetaHistItem_Mod, ONLY : MetaHistItem USE Registry_Params_Mod, ONLY : KINDVAL_F4 ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(DgnState), INTENT(IN) :: State_Diag ! Diagnostics state obj ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(HistContainer), POINTER :: Container ! Diagnostic collection obj ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REMARKS: ! Use routine NcWr from NcdfUtil/m_netcdf_io_write.F90 instead of the ! NC_VAR_WRITE routine from NcdfUtil/netcdf_mod.F90, because this gives us ! better control of the start and count values. ! ! !REVISION HISTORY: ! 03 Aug 2017 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: output4Bytes LOGICAL :: isSatDiagnEdge, isSatDiagn INTEGER :: NcFileId, NcVarId INTEGER :: Dim1, Dim2, Dim3 ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc ! Arrays INTEGER :: St1d(1), Ct1d(1) INTEGER :: St2d(2), Ct2d(2) INTEGER :: St3d(3), Ct3d(3) INTEGER :: St4d(4), Ct4d(4) REAL(f4), ALLOCATABLE :: NcData_2d4(:,: ) REAL(f4), ALLOCATABLE :: NcData_3d4(:,:,: ) REAL(f4), ALLOCATABLE :: NcData_4d4(:,:,:,:) REAL(f8), ALLOCATABLE :: NcData_2d8(:,: ) REAL(f8), ALLOCATABLE :: NcData_3d8(:,:,: ) REAL(f8), ALLOCATABLE :: NcData_4d8(:,:,:,:) REAL(f8) :: NcTimeVal (1 ) ! Objects TYPE(MetaHistItem), POINTER :: Current TYPE(HistItem), POINTER :: Item !======================================================================== ! Make sure the netCDF file is open and defined !======================================================================== IF ( ( .not. Container%IsFileOpen ) .and. & ( .not. Container%IsFileDefined ) ) THEN RC = GC_FAILURE ErrMsg = 'NetCDF file is not open or defined for collection: ' // & TRIM( Container%Name ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !======================================================================== ! Initialize !======================================================================== RC = GC_SUCCESS Dim1 = UNDEFINED_INT Dim2 = UNDEFINED_INT Dim3 = UNDEFINED_INT NcFileId = Container%FileId Current => NULL() Item => NULL() ErrMsg = '' ThisLoc = & ' -> at History_Netcdf_Write (in History/history_netcdf_mod.F90)' ! Test if this is the SatDiagn or SatDiagnEdge collection CALL SatDiagn_or_SatDiagnEdge( Container%Name, isSatDiagn, isSatDiagnEdge ) !======================================================================== ! Compute time elapsed since the reference time !======================================================================== ! Increment the time index for the netCDF file Container%CurrTimeSlice = Container%CurrTimeSlice + 1 !======================================================================== ! Compute the time stamp value for the current time slice !======================================================================== ! Compute the elapsed time in seconds since the file creation CALL Compute_Elapsed_Time( CurrentJsec = Container%CurrentJsec, & TimeBaseJsec = Container%ReferenceJsec, & ElapsedSec = Container%TimeStamp ) ! For time-averaged collections, we need to subtract the file write ! interval from the current time. This will make sure that time[0] = 0, ! or in other words, that the first time slice matches up to the ! reference datetime. -- Bob Yantosca (13 Jan 2023) IF ( Container%Operation == ACCUM_FROM_SOURCE ) THEN Container%TimeStamp = Container%TimeStamp - Container%FileWriteIvalSec ENDIF ! Convert to minutes since the reference time Container%TimeStamp = Container%TimeStamp / SECONDS_PER_MINUTE ! Debug output IF ( Input_Opt%Verbose ) THEN WRITE( 6, 110 ) TRIM( Container%name ), Container%TimeStamp 110 FORMAT( ' - Writing data to ', a, '; timestamp = ', f13.4 ) ENDIF !======================================================================== ! Write the time stamp to the netCDF File !======================================================================== ! netCDF start and count arrays St1d = (/ Container%CurrTimeSlice /) Ct1d = (/ 1 /) ! Time stamp value NcTimeVal = (/ Container%TimeStamp /) ! Write the time stamp to the file CALL NcWr( NcTimeVal, NcFileId, 'time', St1d, Ct1d ) !======================================================================== ! Loop over all of the HISTORY ITEMS belonging to this collection !======================================================================== ! Set CURRENT to the first entry in the list of HISTORY ITEMS Current => Container%HistItems ! As long as this entry of the list is valid ... DO WHILE( ASSOCIATED( Current ) ) ! Point to the HISTORY ITEM object in this entry Item => Current%Item ! Does this HISTORY ITEM request output as 4-byte reals? ! If not, we will assume output will be 8-byte reals. output4Bytes = ( Item%Output_KindVal == KINDVAL_F4 ) !--------------------------------------------------------------------- ! For instantaneous diagnostic quantities: ! (1) Copy the Item's data array to the 4-byte or 8-byte local array ! (2) Zero the Item's data array ! (3) Zero the Item's update counter ! ! For time-averaged diagnostic quantities: ! (1) Divide the Item's data array by the number diagnostic updates ! (2) Copy the Item's data array to the 4-byte or 8-byte local array ! (3) Zero the Item's data array ! (4) Zero the Item's update counter !--------------------------------------------------------------------- SELECT CASE( Item%SpaceDim ) !------------------------------------------------------------------ ! 3-D data !------------------------------------------------------------------ CASE( 3 ) ! Get dimensions of data Dim1 = SIZE( Item%Data_3d, 1 ) Dim2 = SIZE( Item%Data_3d, 2 ) Dim3 = SIZE( Item%Data_3d, 3 ) ! Get average for satellite diagnostic (vertical centers) IF ( isSatDiagn ) THEN WHERE ( State_Diag%SatDiagnCount > 0.0_f8 ) Item%Data_3d = Item%Data_3d / State_Diag%SatDiagnCount ELSEWHERE Item%Data_3d = MISSING_DBLE ENDWHERE Item%nUpdates = 1.0_f8 ENDIF ! Get average for satellite diagnostic (vertical edges) IF ( isSatDiagnEdge ) THEN WHERE ( State_Diag%SatDiagnEdgeCount > 0.0_f8 ) Item%Data_3d = Item%Data_3d / State_Diag%SatDiagnEdgeCount ELSEWHERE Item%Data_3d = MISSING_DBLE ENDWHERE Item%nUpdates = 1.0_f8 ENDIF ! Allocate the 4-byte or 8-byte output array ! Need a singleton 4th dimension for netCDF-F90 IF ( output4bytes ) THEN ALLOCATE( NcData_4d4( Dim1, Dim2, Dim3, 1 ), STAT=RC ) ELSE ALLOCATE( NcData_4d8( Dim1, Dim2, Dim3, 1 ), STAT=RC ) ENDIF ! Copy or average the data and store in a 4-byte or 8-byte array IF ( Item%Operation == COPY_FROM_SOURCE ) THEN !%%% Instantaneous output %%% IF ( output4Bytes ) THEN NcData_4d4(:,:,:,1) = Item%Data_3d ELSE NcData_4d8(:,:,:,1) = Item%Data_3d ENDIF Item%Data_3d = 0.0_f8 Item%nUpdates = 0.0_f8 ELSE !%%% Time-averaged output %%% Item%Data_3d = Item%Data_3d / Item%nUpdates IF ( output4Bytes ) THEN NcData_4d4(:,:,:,1) = Item%Data_3d ELSE NcData_4d8(:,:,:,1) = Item%Data_3d ENDIF Item%Data_3d = 0.0_f8 Item%nUpdates = 0.0_f8 ENDIF ! Compute start and count fields St4d = (/ 1, 1, 1, Container%CurrTimeSlice /) Ct4d = (/ Dim1, Dim2, Dim3, 1 /) ! Write data to disk and deallocate output array IF ( output4bytes ) THEN CALL NcWr( NcData_4d4, NcFileId, Item%Name, St4d, Ct4d ) DEALLOCATE( NcData_4d4, STAT=RC ) ELSE CALL NcWr( NcData_4d8, NcFileId, Item%Name, St4d, Ct4d ) DEALLOCATE( NcData_4d8, STAT=RC ) ENDIF !------------------------------------------------------------------ ! 2-D data !------------------------------------------------------------------ CASE( 2 ) ! Get dimensions of data Dim1 = SIZE( Item%Data_2d, 1 ) Dim2 = SIZE( Item%Data_2d, 2 ) ! Get average for satellite diagnostic: IF ( isSatDiagn ) THEN WHERE ( State_Diag%SatDiagnCount(:,:,1) > 0.0_f8 ) Item%Data_2d = Item%Data_2d / State_Diag%SatDiagnCount(:,:,1) ELSEWHERE Item%Data_2d = MISSING_DBLE ENDWHERE Item%nUpdates = 1.0_f8 ENDIF ! Allocate the 4-byte or 8-byte output array ! Need a singleton 3rd dimension for netCDF-F90 IF ( output4bytes ) THEN ALLOCATE( NcData_3d4( Dim1, Dim2, 1 ), STAT=RC ) ELSE ALLOCATE( NcData_3d8( Dim1, Dim2, 1 ), STAT=RC ) ENDIF ! Copy or average the data and store in a 4-byte or 8-byte array IF ( Item%Operation == COPY_FROM_SOURCE ) THEN !%%% Instantaneous output %%% IF ( output4bytes ) THEN NcData_3d4(:,:,1) = Item%Data_2d ELSE NcData_3d8(:,:,1) = Item%Data_2d ENDIF Item%Data_2d = 0.0_f8 Item%nUpdates = 0.0_f8 ELSE !%%% Time-averaged output %%% Item%Data_2d = Item%Data_2d / Item%nUpdates IF ( output4bytes ) THEN NcData_3d4(:,:,1) = Item%Data_2d ELSE NcData_3d8(:,:,1) = Item%Data_2d ENDIF Item%Data_2d = 0.0_f8 Item%nUpdates = 0.0_f8 ENDIF ! Compute start and count fields St3d = (/ 1, 1, Container%CurrTimeSlice /) Ct3d = (/ Dim1, Dim2, 1 /) ! Write data to disk IF ( output4bytes ) THEN CALL NcWr( NcData_3d4, NcFileId, Item%Name, St3d, Ct3d ) DEALLOCATE( NcData_3d4, STAT=RC ) ELSE CALL NcWr( NcData_3d8, NcFileId, Item%Name, St3d, Ct3d ) DEALLOCATE( NcData_3d8, STAT=RC ) ENDIF !------------------------------------------------------------------ ! 1-D data !------------------------------------------------------------------ CASE( 1 ) ! Get dimensions of data Dim1 = SIZE( Item%Data_1d, 1 ) ! Allocate the 4-byte or 8-byte output array ! Need a singleton 2nd dimension for netCDF-F90 IF ( output4bytes ) THEN ALLOCATE( NcData_2d4( Dim1, 1 ), STAT=RC ) ELSE ALLOCATE( NcData_2d8( Dim1, 1 ), STAT=RC ) ENDIF ! Copy or average the data and store in a 4-byte or 8-byte array IF ( Item%Operation == COPY_FROM_SOURCE ) THEN !%%% Instantaneous output %%% IF ( output4bytes ) THEN NcData_2d4(:,1) = Item%Data_1d ELSE NcData_2d8(:,1) = Item%Data_1d ENDIF Item%Data_1d = 0.0_f8 Item%nUpdates = 0.0_f8 ELSE ! %%% Time-averaged output %%% Item%Data_1d = Item%Data_1d / Item%nUpdates IF ( output4bytes ) THEN NcData_2d4(:,1) = Item%Data_1d ELSE NcData_2d8(:,1) = Item%Data_1d ENDIF Item%Data_1d = 0.0_f8 Item%nUpdates = 0.0_f8 ENDIF ! Compute start and count fields St2d = (/ 1, Container%CurrTimeSlice /) Ct2d = (/ Dim1, 1 /) ! Write data to disk IF ( output4bytes ) THEN CALL NcWr( NcData_2d4, NcFileId, Item%Name, St2d, Ct2d ) DEALLOCATE( NcData_2d4, STAT=RC ) ELSE CALL NcWr( NcData_2d8, NcFileId, Item%Name, St2d, Ct2d ) DEALLOCATE( NcData_2d8, STAT=RC ) ENDIF END SELECT !--------------------------------------------------------------------- ! Go to next entry in the list of HISTORY ITEMS !--------------------------------------------------------------------- Current => Current%Next Item => NULL() ENDDO !======================================================================== ! Cleanup and quit !======================================================================== ! Free pointers Current => NULL() Item => NULL() END SUBROUTINE History_NetCdf_Write !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Expand_Date_Time ! ! !DESCRIPTION: Replaces date and time tokens in a string with actual ! date and time values. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Expand_Date_Time( DateStr, yyyymmdd, hhmmss, MAPL_Style ) ! ! !USES: ! USE Charpak_Mod, ONLY : StrRepl USE Time_Mod, ONLY : Ymd_Extract ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: yyyymmdd ! Date in YYYYMMDD format INTEGER, INTENT(IN) :: hhmmss ! Time in hhmmss format LOGICAL, OPTIONAL :: MAPL_Style ! Use MAPL-style tokens ! ! !INPUT/OUTPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(INOUT) :: DateStr ! String with date tokens ! ! !REMARKS: ! Based on EXPAND_DATE from GeosUtil/time_mod.F. ! ! !REVISION HISTORY: ! 06 Jan 2015 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: Is_Mapl_Style INTEGER :: Year, Month, Day INTEGER :: Hour, Minute, Second ! Strings CHARACTER(LEN=2) :: MonthStr, DayStr CHARACTER(LEN=2) :: HourStr, MinuteStr, SecondStr CHARACTER(LEN=4) :: YearStr !======================================================================== ! Initialize !======================================================================== IF ( PRESENT( MAPL_Style ) ) THEN Is_Mapl_Style = MAPL_Style ELSE Is_Mapl_Style = .FALSE. ENDIF !======================================================================== ! Split the date and time into individal variables !======================================================================== ! Extract year/month/day and hour/minute/seconds from the time CALL Ymd_Extract( yyyymmdd, Year, Month, Day ) CALL Ymd_Extract( hhmmss, Hour, Minute, Second ) ! Convert to strings WRITE( YearStr, '(i4.4)' ) Year WRITE( MonthStr, '(i2.2)' ) Month WRITE( DayStr, '(i2.2)' ) Day WRITE( HourStr, '(i2.2)' ) Hour WRITE( MinuteStr, '(i2.2)' ) Minute WRITE( SecondStr, '(i2.2)' ) Second !======================================================================== ! Replace the date and time tokens in the string !======================================================================== IF ( Is_Mapl_Style ) THEN ! Use MAPL-style tokens CALL StrRepl( DateStr, '%y4', YearStr ) CALL StrRepl( DateStr, '%m2', MonthStr ) CALL StrRepl( DateStr, '%d2', DayStr ) CALL StrRepl( DateStr, '%h2', HourStr ) CALL StrRepl( DateStr, '%n2', MinuteStr ) CALL StrRepl( DateStr, '%s2', SecondStr ) ELSE ! Use GEOS-Chem style tokens CALL StrRepl( DateStr, 'YYYY', YearStr ) CALL StrRepl( DateStr, 'MM', MonthStr ) CALL StrRepl( DateStr, 'DD', DayStr ) CALL StrRepl( DateStr, 'hh', HourStr ) CALL StrRepl( DateStr, 'mm', MinuteStr ) CALL StrRepl( DateStr, 'ss', SecondStr ) ENDIF END SUBROUTINE Expand_Date_Time !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_Var_DimIds ! ! !DESCRIPTION: For a given HISTORY ITEM, returns the name and the netCDF ! dimension ID's pertaining to the data array. Dimension ID's that do not ! pertain to the data will be set to UNDEFINED_INT. Certain metadata for ! netCDF index variables will also be returned. In particular, the unit ! string for the "time" index variable will be updated with the reference ! date and time. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Get_Var_DimIds( Item, xDimId, yDimId, & zDimId, iDimId, tDimID, & bDimId, RefDate, RefTime, & OnLevelEdges, VarAxis, VarCalendar, & VarPositive, VarUnits, VarStdName, & VarFormula, VarBounds ) ! ! !USES: ! USE History_Util_Mod USE HistItem_Mod, ONLY : HistItem ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: xDimId ! Id # of X (lon ) dim INTEGER, INTENT(IN) :: yDimId ! Id # of Y (lat ) dim INTEGER, INTENT(IN) :: zDimId ! Id # of Z (lev cntr) dim INTEGER, INTENT(IN) :: iDimId ! Id # of I (lev edge) dim INTEGER, INTENT(IN) :: tDimId ! Id # of T (time ) dim INTEGER, INTENT(IN) :: bDimId ! Id # of B (bounds ) dim INTEGER, OPTIONAL :: RefDate ! Ref YMD for "time" var INTEGER, OPTIONAL :: RefTime ! Ref hms for "time" var LOGICAL, OPTIONAL :: OnLevelEdges ! Is 3D data on lvl edges? ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(HistItem), POINTER :: Item ! HISTORY ITEM object ! ! !OUTPUT PARAMETERS ! CHARACTER(LEN=255), OPTIONAL :: VarAxis ! Axis attr for index vars CHARACTER(LEN=255), OPTIONAL :: VarCalendar ! Calendar attr for "time" CHARACTER(LEN=255), OPTIONAL :: VarPositive ! Positive attr for "lev" CHARACTER(LEN=255), OPTIONAL :: VarUnits ! Unit string CHARACTER(LEN=255), OPTIONAL :: VarStdName ! Standard name CHARACTER(LEN=255), OPTIONAL :: VarFormula ! Formula terms CHARACTER(LEN=255), OPTIONAL :: VarBounds ! X or Y bounds var name ! ! !REMARKS: ! Call this routine before calling NC_VAR_DEF. ! ! !REVISION HISTORY: ! 10 Aug 2017 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: IsOnLevelEdges INTEGER :: ReferenceYmd, ReferenceHms INTEGER :: Year, Month, Day INTEGER :: Hour, Minute, Second ! Strings CHARACTER(LEN=2) :: MonthStr, DayStr CHARACTER(LEN=2) :: HourStr, MinuteStr, SecondStr CHARACTER(LEN=4) :: YearStr CHARACTER(LEN=255) :: TmpAxis, TmpCalendar, TmpStdName CHARACTER(LEN=255) :: TmpPositive, TmpUnits, TmpFormula CHARACTER(LEN=255) :: TmpBounds !======================================================================== ! Initialize !======================================================================== TmpAxis = '' TmpCalendar = '' TmpPositive = '' TmpUnits = Item%Units TmpStdName = '' TmpFormula = '' TmpBounds = '' Item%NcXDimId = UNDEFINED_INT Item%NcYDimId = UNDEFINED_INT Item%NcZDimId = UNDEFINED_INT Item%NcIDimId = UNDEFINED_INT Item%NcTDimId = UNDEFINED_INT Item%NcBDimId = UNDEFINED_INT IF ( PRESENT( RefDate ) ) THEN ReferenceYmd = RefDate ELSE ReferenceYmd = UNDEFINED_INT ENDIF IF ( PRESENT( RefTime ) ) THEN ReferenceHms = RefTime ELSE ReferenceHms = UNDEFINED_INT ENDIF IF ( PRESENT( OnLevelEdges ) ) THEN IsOnLevelEdges = OnLevelEdges ELSE IsOnLevelEdges = .FALSE. ENDIF !======================================================================== ! Return relevant dim ID's and metadata for the HISTORY ITEM !======================================================================== SELECT CASE( TRIM( Item%Name ) ) ! lon CASE( 'lon' ) Item%NcXDimId = xDimId TmpAxis = 'X' TmpBounds = 'lon_bnds' ! lat CASE( 'lat' ) Item%NcYDimId = yDimId TmpAxis = 'Y' TmpBounds = 'lat_bnds' ! lev CASE( 'lev' ) Item%NcZDimId = zDimId TmpAxis = '' TmpPositive = 'up' TmpStdName = 'atmosphere_hybrid_sigma_pressure_coordinate' TmpFormula = 'a: hyam b: hybm p0: P0 ps: PS' ! If the collection contains is level-centered data ! then "lev" (and not "ilev") is the "Z" axis IF ( .not. IsOnLevelEdges ) THEN TmpAxis = 'Z' ENDIF ! ilev CASE( 'ilev' ) Item%NcZDimId = iDimId TmpAxis = '' TmpPositive = 'up' TmpStdName = 'atmosphere_hybrid_sigma_pressure_coordinate' TmpFormula = 'a: hyai b: hybi p0: P0 ps: PS' ! If the collection contains is level-centered data ! then "ilev" (and not "lev") is the "Z" axis IF ( IsOnLevelEdges ) THEN TmpAxis = 'Z' ENDIF ! hybrid coordinates, level centers CASE( 'hyam', 'hybm' ) Item%NcZDimId = zDimId ! hybrid coordinates, level edges CASE( 'hyai', 'hybi' ) Item%NcZDimId = iDimId ! time CASE( 'time' ) Item%NcTDimId = tDimId TmpAxis = 'T' TmpCalendar = 'gregorian' ! Replace date and time tokens in the unit string ! with the netCDF file's reference date and time IF ( ReferenceYmd > 0 ) THEN CALL Expand_Date_Time( TmpUnits, ReferenceYmd, ReferenceHms ) ENDIF ! area CASE( 'AREA' ) Item%NcXDimId = xDimId Item%NcYDimId = yDimId ! All other variable names CASE DEFAULT ! Set the various netCDF dimension variables that will be passed ! to NC_CREATE. If the data is defined on vertical level edges ! (aka "interfaces), then use iDimId instead of zDimId. SELECT CASE( TRIM( Item%DimNames ) ) CASE( 'xyz' ) Item%NcXDimId = xDimId Item%NcYDimId = yDimId Item%NcTDimId = tDimId IF ( Item%OnLevelEdges ) THEN Item%NcIDimId = iDimId ELSE Item%NcZDimId = zDimId ENDIF CASE( 'xy' ) Item%NcXDimId = xDimId Item%NcYDimId = yDimId Item%NcTDimId = tDimId CASE( 'yz' ) Item%NcYDimId = yDimId Item%NcTDimId = tDimId IF ( Item%OnLevelEdges ) THEN Item%NcIDimId = iDimId ELSE Item%NcZDimId = zDimId ENDIF CASE( 'xz' ) Item%NcXDimId = xDimId Item%NcTDimId = tDimId IF ( Item%OnLevelEdges ) THEN Item%NcIDimId = iDimId ELSE Item%NcZDimId = zDimId ENDIF CASE( 'x' ) Item%NcXDimId = xDimId Item%NcTDimId = tDimId CASE( 'y' ) Item%NcYDimId = yDimId Item%NcTDimId = tDimId CASE( 'z' ) Item%NcTDimId = tDimId IF ( Item%OnLevelEdges ) THEN Item%NcIDimId = iDimId ELSE Item%NcZDimId = zDimId ENDIF ! For longitude bounds CASE( 'bx' ) Item%NcBDimId = bDimId Item%NcXDimId = xDimId ! For latitude bounds CASE( 'by' ) Item%NcBDimId = bDimId Item%NcYDimId = yDimId CASE DEFAULT ! Nothing END SELECT END SELECT ! Return optional attributes for index variables: axis and calendar IF ( PRESENT( VarAxis ) ) VarAxis = TmpAxis IF ( PRESENT( VarCalendar ) ) VarCalendar = TmpCalendar IF ( PRESENT( VarPositive ) ) VarPositive = TmpPositive IF ( PRESENT( VarUnits ) ) VarUnits = TmpUnits IF ( PRESENT( VarStdName ) ) VarStdName = TmpStdName IF ( PRESENT( VarFormula ) ) VarFormula = TmpFormula IF ( PRESENT( VarBounds ) ) VarBounds = TmpBounds END SUBROUTINE Get_Var_DimIds !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: IndexVarList_Create ! ! !DESCRIPTION: Creates a HISTORY ITEM for each netCDF index variable (e.g. ! lon, lat, lev, time, area) and adds it to the METAHISTORY ITEM IndexVarList. ! Subsets each index variable according to the subset indices from the ! given collection (passed via the Container argument). !\\ !\\ ! !INTERFACE: ! SUBROUTINE IndexVarList_Create( Input_Opt, State_Grid, & Container, IndexVarList, RC ) ! ! !USES: ! USE ErrCode_Mod USE HistContainer_Mod, ONLY : HistContainer USE HistItem_Mod USE Input_Opt_Mod, ONLY : OptInput USE MetaHistItem_Mod Use State_Grid_Mod, ONLY : GrdState, Lookup_Grid ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid state object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(HistContainer), POINTER :: Container ! Collection object ! ! !OUTPUT PARAMETERS: ! TYPE(MetaHistItem), POINTER :: IndexVarList ! Linked list of index ! variables for netCDF INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 10 Aug 2017 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: OnLevelEdges INTEGER :: N INTEGER :: Output_KindVal INTEGER :: Source_KindVal INTEGER :: Rank INTEGER :: nILev INTEGER :: nLev ! Arrays INTEGER :: Dimensions(3) INTEGER :: Subset_X(2), Subset_Xc(2) INTEGER :: Subset_Y(2), Subset_Yc(2) INTEGER :: Subset_Z(2), Subset_Zc(2), Subset_Ze(2) ! Strings CHARACTER(LEN=20) :: ItemDimName(13) CHARACTER(LEN=20) :: ItemName(13) CHARACTER(LEN=20) :: RegistryName(13) CHARACTER(LEN=255) :: Description CHARACTER(LEN=255) :: ErrMsg CHARACTER(LEN=255) :: ThisLoc CHARACTER(LEN=255) :: Units ! Pointer arrays REAL(f8), POINTER :: Ptr0d_8 REAL(f8), POINTER :: Ptr1d_8(: ) REAL(f8), POINTER :: Ptr2d_8(:,:) REAL(f4), POINTER :: Ptr2d_4(:,:) ! Objects TYPE(HistItem), POINTER :: Item !======================================================================== ! Initialize !======================================================================== RC = GC_SUCCESS Description = '' Dimensions = 0 Source_KindVal = 0 Output_KindVal = 0 Rank = 0 Units = '' ErrMsg = '' ThisLoc = & ' -> at History_Netcdf_Init (in History/history_mod.F90)' Ptr0d_8 => NULL() Ptr1d_8 => NULL() Ptr2d_4 => NULL() !======================================================================== ! Define the names that will be used to create the HISTORY ITEMS ! for fields to be used as netCDF metadata !======================================================================== ! Fields saved in the Registry object in GeosUtil/grid_registry_mod.F90 RegistryName(1 ) = 'GRID_AREA' RegistryName(2 ) = 'GRID_P0' RegistryName(3 ) = 'GRID_HYBI' RegistryName(4 ) = 'GRID_HYAI' RegistryName(5 ) = 'GRID_HYBM' RegistryName(6 ) = 'GRID_HYAM' RegistryName(7 ) = 'GRID_LON' RegistryName(8 ) = 'GRID_LONBND' RegistryName(9 ) = 'GRID_LAT' RegistryName(10) = 'GRID_LATBND' RegistryName(11) = 'GRID_ILEV' RegistryName(12) = 'GRID_LEV' RegistryName(13) = 'GRID_TIME' ! Name for each HISTORY ITEM ItemName(1 ) = 'AREA' ItemName(2 ) = 'P0' ItemName(3 ) = 'hybi' ItemName(4 ) = 'hyai' ItemName(5 ) = 'hybm' ItemName(6 ) = 'hyam' ItemName(7 ) = 'lon' ItemName(8 ) = 'lon_bnds' ItemName(9 ) = 'lat' ItemName(10) = 'lat_bnds' ItemName(11) = 'ilev' ItemName(12) = 'lev' ItemName(13) = 'time' ! Dimensions for each HISTORY ITEM ItemDimName(1 ) = 'xy' ItemDimName(2 ) = '-' ItemDimName(3 ) = 'z' ItemDimName(4 ) = 'z' ItemDimName(5 ) = 'z' ItemDimName(6 ) = 'z' ItemDimName(7 ) = 'x' ItemDimName(8 ) = 'bx' ItemDimName(9 ) = 'y' ItemDimName(10) = 'by' ItemDimName(11) = 'z' ItemDimName(12) = 'z' ItemDimName(13) = 't' !======================================================================== ! Pick the dimensions of the lev and ilev variables properly !======================================================================== ! Get the number of levels (nLev) and level interfaces (nIlev) CALL Get_Number_Of_Levels( Container, nLev, nIlev ) ! Subset indices Subset_Xc = (/ Container%X0, Container%X1 /) Subset_Yc = (/ Container%Y0, Container%Y1 /) Subset_Zc = (/ Container%Z0, nLev /) Subset_Ze = (/ Container%Z0, nILev /) !======================================================================== ! Create a HISTORY ITEM for each of the index fields (lon, lat, area) ! of grid_registry_mod.F90 and add them to a METAHISTORY ITEM list !======================================================================== DO N = 1, SIZE( RegistryName ) !--------------------------------------------------------------------- ! Look up one of the index fields from grid_registry_mod.F90 !--------------------------------------------------------------------- CALL Lookup_Grid( Input_Opt = Input_Opt, & State_Grid = State_Grid, & Variable = RegistryName(N), & Description = Description, & Dimensions = Dimensions, & Source_KindVal = Source_KindVal, & Output_KindVal = Output_KindVal, & Rank = Rank, & Units = Units, & OnLevelEdges = OnLevelEdges, & Ptr0d_8 = Ptr0d_8, & Ptr1d_8 = Ptr1d_8, & Ptr2d_8 = Ptr2d_8, & Ptr2d_4 = Ptr2d_4, & RC = RC ) ! Trap potential error IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error in "Lookup_Grid" for diagnostic ' // & TRIM( RegistryName(N) ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Pick proper subset indices for index variables placed on ! edges (hyai, hybi, ilev) or centers (everything else) ! NOTE: special handling for lat_bnds (12) and lon_bnds (13) SELECT CASE( N ) CASE( 2 ) ! P0 Subset_X = (/ 0, 0 /) Subset_Y = (/ 0, 0 /) Subset_Z = (/ 0, 0 /) CASE( 3, 4, 11 ) ! hybi, hyai, ilev Subset_X = Subset_Xc Subset_Y = Subset_Yc Subset_Z = Subset_Ze CASE( 8 ) ! lon_bnds Subset_X = (/ 1, 2 /) Subset_Y = Subset_Xc Subset_Z = (/ 0, 0 /) CASE( 10 ) ! lat_bnds Subset_X = (/ 1, 2 /) Subset_Y = Subset_Yc Subset_Z = (/ 0, 0 /) CASE DEFAULT ! everything else Subset_X = Subset_Xc Subset_Y = Subset_Yc Subset_Z = Subset_Zc END SELECT !--------------------------------------------------------------------- ! Create a HISTORY ITEM for this index field !--------------------------------------------------------------------- CALL HistItem_Create( Input_Opt = Input_Opt, & Item = Item, & Id = N, & ContainerId = 0, & Name = ItemName(N), & LongName = Description, & Units = Units, & SpaceDim = Rank, & OnLevelEdges = OnLevelEdges, & DimNames = ItemDimName(N), & Operation = 0, & Subset_X = Subset_X, & Subset_Y = Subset_Y, & Subset_Z = Subset_Z, & Source_KindVal = Source_KindVal, & Output_KindVal = Output_KindVal, & Source_0d_8 = Ptr0d_8, & Source_1d_8 = Ptr1d_8, & Source_2d_4 = Ptr2d_4, & Source_2d_8 = Ptr2d_8, & RC = RC ) ! Trap potential error IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not create Item: "' // TRIM( ItemName(N) ) // '"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !### Debug: Print full info about this HISTORY ITEM !### You can leave this commented out unless you are debugging !CALL HistItem_Print( Item, RC ) !--------------------------------------------------------------------- ! Add this item to the Dimension list !--------------------------------------------------------------------- CALL MetaHistItem_AddNew( Input_Opt = Input_Opt, & Node = IndexVarList, & Item = Item, & RC = RC ) ! Trap potential error IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not add Item "' // TRIM( ItemName(N) ) // & '" to Dimensionlist!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Free Item now that we have added it to IndexVarList DEALLOCATE( Item ) Item => NULL() ENDDO END SUBROUTINE IndexVarList_Create !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: IndexVarList_Destroy ! ! !DESCRIPTION: Finalizes the IndexVarList linked list of netCDF ! index variables. !\\ !\\ ! !INTERFACE: ! SUBROUTINE IndexVarList_Destroy( IndexVarList, RC ) ! ! !USES: ! USE ErrCode_Mod USE MetaHistItem_Mod, ONLY : MetaHistItem_Destroy ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetaHistItem), POINTER :: IndexVarList ! Linked list of index ! variables for netCDF ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REVISION HISTORY: ! 10 Aug 2017 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc !======================================================================== ! Initialize !======================================================================== RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at MetaHistItem_Destroy (in History/metahistitem_mod.F90)' !======================================================================== ! Destroy the METAHISTORY ITEM list of index variables for netCDF !======================================================================== CALL MetaHistItem_Destroy( IndexVarList, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot deallocate the "IndexVarList" META HISTORY ITEM!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF END SUBROUTINE IndexVarList_Destroy !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_Number_Of_Levels ! ! !DESCRIPTION: Given the vertical dimension of the container, returns the ! values NLEV (number of levels) and NILEV (number of level interfaces). !\\ !\\ ! !INTERFACE: ! SUBROUTINE Get_Number_Of_Levels( Container, nLev, nILev ) ! ! !USES: ! USE HistContainer_Mod, ONLY : HistContainer ! ! !INPUT PARAMETERS: ! TYPE(HistContainer), POINTER :: Container ! Diagnostic collection obj ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: nLev ! Number of levels INTEGER, INTENT(OUT) :: nIlev ! Number of level interfaces ! ! !REVISION HISTORY: ! 05 Jun 2019 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC !======================================================================== ! Pick the dimensions of the lev and ilev variables properly ! so that we can use that for writing to then netCDF files. ! ! If the vertical dimension (Container%NZ) is undefined, then ! this indicates that there is only 2-D data in the collection. ! Thus, there will be 1 level (the surface) and 2 level edges. !======================================================================== IF ( Container%OnLevelEdges ) THEN nILev = MAX( Container%NZ, 2 ) nLev = nILev - 1 ELSE nLev = MAX( Container%NZ, 1 ) nILev = nLev + 1 ENDIF END SUBROUTINE Get_Number_Of_Levels !EOC END MODULE History_Netcdf_Mod ================================================ FILE: History/history_util_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: history_util_mod.F90 ! ! !DESCRIPTION: Contains defined parameters and utility routines for ! the GEOS-Chem History Component. !\\ !\\ ! !INTERFACE: ! MODULE History_Util_Mod ! ! !USES: ! USE Precision_Mod IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: Compute_Julian_Date PUBLIC :: Compute_Elapsed_Time PUBLIC :: Compute_DeltaYmdHms_For_End PUBLIC :: SatDiagn_or_SatDiagnEdge ! ! !DEFINED PARAMETERS: ! !------------------------------------------------------------------------- ! MISSING DATA VALUES: ! ! Specify missing data values for various numeric types. !------------------------------------------------------------------------- INTEGER, PARAMETER, PUBLIC :: UNDEFINED_INT = -999 REAL(f4), PARAMETER, PUBLIC :: UNDEFINED = -1.0e+31_f4 REAL(f8), PARAMETER, PUBLIC :: UNDEFINED_DBL = -1.0e+31_f8 CHARACTER(LEN=9), PARAMETER, PUBLIC :: UNDEFINED_STR = 'not found' !------------------------------------------------------------------------- ! OPERATION CODES: ! ! 0 = Copy data from source pointer to the HISTORY ITEM data array ! 1 = Accumulate data from source pointer to the HISTORY ITEM data array !------------------------------------------------------------------------- INTEGER, PARAMETER, PUBLIC :: COPY_FROM_SOURCE = 0 INTEGER, PARAMETER, PUBLIC :: ACCUM_FROM_SOURCE = 1 !------------------------------------------------------------------------- ! ROUNDING AND NUMERICAL TESTING PARAMETRS ! Specifies the number of decimal digits for rounding, as well as an ! epsilon value that can be used for floating point equality testing. !------------------------------------------------------------------------- INTEGER, PARAMETER, PUBLIC :: ROUNDOFF_DECIMALS = 4 REAL(f8), PARAMETER, PUBLIC :: EPS = 1e-5_f8 !------------------------------------------------------------------------- ! TIME CONVERSION PARAMETERS ! Specifies the number of minutes and seconds per day, etc. !------------------------------------------------------------------------- REAL(f8), PARAMETER, PUBLIC :: HOURS_PER_DAY = 24.0_f8 REAL(f8), PARAMETER, PUBLIC :: MINUTES_PER_DAY = 1440.0_f8 REAL(f8), PARAMETER, PUBLIC :: MINUTES_PER_HOUR = 60.0_f8 REAL(f8), PARAMETER, PUBLIC :: SECONDS_PER_DAY = 86400.0_f8 REAL(f8), PARAMETER, PUBLIC :: SECONDS_PER_HOUR = 3600.0_f8 REAL(f8), PARAMETER, PUBLIC :: SECONDS_PER_MINUTE = 60.0_f8 ! ! !REVISION HISTORY: ! 16 Jun 2017 - R. Yantosca - Initial version ! 03 Aug 2017 - R. Yantosca - Add operation code parameters ! 04 Aug 2017 - R. Yantosca - Rename operation code parameters ! 09 Aug 2017 - R. Yantosca - Add UNDEFINED_INT ! 15 Aug 2017 - R. Yantosca - Add UNDEFINED_STR ! 16 Aug 2017 - R. Yantosca - Added ACTION_* parameters ! 17 Aug 2017 - R. Yantosca - Renamed to history_util_mod.F90; added routine ! Compute_Julian_Date ! 21 Aug 2017 - R. Yantosca - Removed some parameters that weren't needed !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Compute_Julian_Date ! ! !DESCRIPTION: Computes the Astronomical Julian Date corresponding to a ! given date and time. This is useful for computing elapsed times. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Compute_Julian_Date( yyyymmdd, hhmmss, Jd ) ! ! !USES: ! USE Julday_Mod, ONLY : Julday USE Time_Mod, ONLY : Ymd_Extract ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: yyyymmdd ! Current Year/month/day INTEGER, INTENT(IN) :: hhmmss ! Current hour/minute/second ! ! !OUTPUT PARAMETERS: ! REAL(f8), INTENT(OUT) :: Jd ! Astronomical Julian date ! ! !REMARKS: ! This is a convenience wrapper for the JULDAY routine, which is located ! in GeosUtil/julday_mod.F. ! ! !REVISION HISTORY: ! 06 Jan 2015 - R. Yantosca - Initial version !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: Year, Month, Day, Hour, Minute, Second REAL(f8) :: FracDay ! Extract year/month/day and hour/minute/seconds from the time CALL Ymd_Extract( yyyymmdd, Year, Month, Day ) CALL Ymd_Extract( hhmmss, Hour, Minute, Second ) ! Compute the fractional day FracDay = DBLE( Day ) + ( DBLE( Hour ) / HOURS_PER_DAY ) + & ( DBLE( Minute ) / MINUTES_PER_DAY ) + & ( DBLE( Second ) / SECONDS_PER_DAY ) ! Return the Astronomical Julian Date Jd = JulDay( Year, Month, FracDay ) END SUBROUTINE Compute_Julian_Date !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Compute_Elapsed_Time ! ! !DESCRIPTION: Computes elapsed time in minutes, given the current ! Astronomical Julian Date value, plus a reference Julian Date. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Compute_Elapsed_Time( CurrentJsec, TimeBaseJsec, ElapsedSec ) ! ! !INPUT PARAMETERS: ! REAL(f8), INTENT(IN) :: CurrentJsec ! Current astronomical Julian date REAL(f8), INTENT(IN) :: TimeBaseJsec ! Reference astronomical Julian date ! ! !OUTPUT PARAMETERS: ! REAL(f8), INTENT(OUT) :: ElapsedSec ! Elapsed time [seconds] ! ! !REMARKS: ! The netCDF file reference date and time are given by the ReferenceYmd, ! ReferenceHms, and ReferenceJd fields of the Container object. This ! denotes the simulation date & time when the netCDF file was created. ! ! !REVISION HISTORY: ! 18 Aug 2017 - R. Yantosca - Initial version ! 13 Sep 2017 - R. Yantosca - Avoid roundoff error; return integral minutes ! 18 Sep 2017 - R. Yantosca - Now return elapsed seconds to avoid roundoff ! 29 Sep 2017 - R. Yantosca - Use NINT instead of INT to avoid roundoff ! 11 Jul 2018 - R. Yantosca - Now accept input arguments in seconds !EOP !------------------------------------------------------------------------------ !BOC !======================================================================= ! Compute elapsed time in minutes !======================================================================= ! Compute elapsed minutes since start of simulation ElapsedSec = ( CurrentJsec - TimeBaseJsec ) ! Just keep the integer part, since we are dealing in integral seconds ! NINT ensures that we round up in case there is underflow ElapsedSec = NINT( ElapsedSec ) END SUBROUTINE Compute_Elapsed_Time !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Compute_DeltaYmdHms_For_End ! ! !DESCRIPTION: Returns the DeltaYMD and DeltaHMS parameters for collections ! that are specified with "End". !\\ !\\ ! !INTERFACE: ! SUBROUTINE Compute_DeltaYmdHms_For_End( yyyymmdd, hhmmss, & yyyymmdd_end, hhmmss_end, & deltaYmd, deltaHms ) ! ! !USES: ! USE Time_Mod, ONLY : Ymd_Extract ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: yyyymmdd ! Simulation start date INTEGER, INTENT(IN) :: hhmmss ! Simulation start time INTEGER, INTENT(IN) :: yyyymmdd_end ! Simulation end date INTEGER, INTENT(IN) :: hhmmss_end ! Simulation end time ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: deltaYmd ! YMD interval for the collection INTEGER, INTENT(OUT) :: deltaHms ! HMS interval for the collection ! ! !REMARKS: ! NOTE: This algorithm should work for most typical model start and end dates ! (which are usually integral intervals of months, days, hours, or minutes. ! There may be some edge cases that will cause this to fail. But it is an ! improvement over the prior situation. (bmy, 2/26/19) ! ! !REVISION HISTORY: ! 26 Feb 2019 - R. Yantosca - Initial version !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: Year0, Month0, Day0, Hour0, Minute0, Second0 INTEGER :: Year1, Month1, Day1, Hour1, Minute1, Second1 INTEGER :: dYear, dMonth, dDay, dHour, dMinute, dSecond !======================================================================= ! GetRestartDeltaYmdHms begins here! !======================================================================= ! Split starting date CALL Ymd_Extract( yyyymmdd, Year0, Month0, Day0 ) CALL Ymd_Extract( hhmmss, Hour0, Minute0, Second0 ) ! Split ending date CALL Ymd_Extract( yyyymmdd_end, Year1, Month1, Day1 ) CALL Ymd_Extract( hhmmss_end, Hour1, Minute1, Second1 ) ! Compute intervals dYear = Year1 - Year0 dMonth = Month1 - Month0 dDay = Day1 - Day0 dHour = Hour1 - Hour0 dMinute = Minute1 - Minute0 dSecond = Second1 - Second0 ! Adjust intervals (NOTE: Might not be as robust, more testing needed) IF ( dSecond < 0 ) THEN dSecond = dSecond + 60 dMinute = MAX( dMinute - 1, 0 ) ENDIF IF ( dMinute < 0 ) THEN dMinute = dMinute + 60 dHour = MAX( dHour - 1, 0 ) ENDIF IF ( dHour < 0 ) THEN dHour = dHour + 24 dDay = MAX( dDay - 1, 0 ) ENDIF IF ( dDay < 0 ) THEN dDay = dDay + Day0 dMonth = MAX( dMonth - 1, 0 ) ENDIF IF ( dMonth < 0 ) THEN dMonth = dMonth + 12 dYear = MAX( dYear - 1, 0 ) ENDIF IF ( month1 < month0 ) THEN dYear = MAX( dyear - 1, 0 ) ENDIF ! Construct the YMD and HMS intervals deltaYmd = ( dYear * 10000 ) + ( dMonth * 100 ) + dDay deltaHms = ( dHour * 10000 ) + ( dMinute * 100 ) + dSecond END SUBROUTINE Compute_DeltaYmdHms_For_End !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Is_SatDiagn_or_SatDiagnEdge ! ! !DESCRIPTION: Tests a container name to determine if it is one of the ! satellite diagnostic collections (SatDiagn, SatDiagnEdge) !\\ !\\ ! !INTERFACE: ! SUBROUTINE SatDiagn_or_SatDiagnEdge( cName, isSatDiagn, isSatDiagnEdge ) ! ! !USES: ! USE CharPak_Mod, ONLY : To_Uppercase ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: cName ! Container name ! ! !OUTPUT PARAMETERS: ! LOGICAL, INTENT(OUT) :: isSatDiagn LOGICAL, INTENT(OUT) :: isSatDiagnEdge ! ! !REVISION HISTORY: ! 31 Oct 2024 - R. Yantosca - Initial version ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! Test if this is the SatDiagnEdge container isSatDiagnEdge = ( & INDEX( To_UpperCase( TRIM( cName) ), 'SATDIAGNEDGE' ) > 0 ) ! Test if this is the SatDiagn container isSatDiagn = ( & .not. isSatDiagnEdge .and. & INDEX( To_UpperCase( TRIM( cName ) ), 'SATDIAGN' ) > 0 ) END SUBROUTINE SatDiagn_or_SatDiagnEdge !EOC END MODULE History_Util_Mod ================================================ FILE: History/metahistcontainer_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: metahistcontainer_mod.F90 ! ! !DESCRIPTION: Contains types and methods to create a METAHISTORY CONTAINER ! object, which is a container for a HISTORY CONTAINER. In other words, ! a METAHISTORY CONTAINER represents a single node of a linked list that is ! used to contain HISTORY CONTAINERS. !\\ !\\ ! In practice, we can think of a METAHISTORY CONTAINER as a list of ! diagnostic collections, each of which contains a list of HISTORY ITEMS ! to be archived to netCDF output at a specified frequency (e.g. ! instantaneous, daily, hourly, etc.) !!\\ !\\ ! !INTERFACE: ! MODULE MetaHistContainer_Mod ! ! !USES: ! USE HistContainer_Mod, ONLY : HistContainer USE Precision_Mod IMPLICIT NONE PRIVATE ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: MetaHistContainer_Create PRIVATE :: MetaHistContainer_Insert ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: MetaHistContainer_AddNew PUBLIC :: MetaHistContainer_Count PUBLIC :: MetaHistContainer_Destroy PUBLIC :: MetaHistContainer_Print ! ! !PUBLIC TYPES: ! !========================================================================= ! This is the derived type for a METAHISTORY CONTAINER object, which ! represents a SINGLE NODE OF A LINKED LIST consisting of HISTORY ! CONTAINERS. ! ! As such, the METAHISTORY CONTAINER does not contain any data itself, ! but is a wrapper for a single HISTORY CONTAINER object, plus a pointer ! to another METAHISTORY CONTAINER (i.e. the next node in the list). !========================================================================= TYPE, PUBLIC :: MetaHistContainer ! Pointer to the next METAHISTORY CONTAINER object ! (i.e. the next node in the linked list) TYPE(MetaHistContainer), POINTER :: Next => NULL() ! The HISTORY CONTAINER object (which represents a diagnostic ! quantity that will be archived to netCDF file format) TYPE(HistContainer), POINTER :: Container => NULL() END TYPE MetaHistContainer ! ! !REMARKS: ! As described above, a METAHISTORY CONTAINER can be thought of as a SINGLE ! NODE OF A LINKED LIST INTENDED TO HOLD HISTORY CONTAINERS. It looks like ! this: ! ! +----------------------------+ +----------------------------+ ! | METAHISTORY CONTAINER n | | METAHISTORY CONTAINER n+1 | ! | (aka NODE n of list) | | (aka NODE n+1 of list) | ! | | | | ! | Contains: | | Contains: | ! | | | | ! | HISTORY CONTAINER n | | HISTORY CONTAINER n+1 | ! | | | | ! =======> Pointer to next ============> Pointer to next =========> etc ! | METAHISTORY CONTAINER | | METAHISTORY CONTAINER | ! +----------------------------+ +----------------------------+ ! ! Linked list routines taken from original code (linkedlist.f90) ! by Arjen Markus; http://flibs.sourceforge.net/linked_list.html ! !REVISION HISTORY: ! 16 Jun 2017 - R. Yantosca - Initial version, based on code by Arjen Markus ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: MetaHistContainer_AddNew ! ! !DESCRIPTION: Wrapper for methods MetaHistContainer\_Create and ! MetaHistContainer\_Insert. Will create a METAHISTORY CONTAINER (containing ! a HISTORY CONTAINER) and (1) set it as the head node of a new linked list, ! or (2) append it to an existing linked list. !\\ !\\ ! !INTERFACE: ! SUBROUTINE MetaHistContainer_AddNew( Input_Opt, Node, Container, RC ) ! ! !USES: ! USE ErrCode_Mod USE HistContainer_Mod, ONLY : HistContainer USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(HistContainer), POINTER :: Container ! HISTORY CONTAINER ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetaHistContainer), POINTER :: Node ! METAHISTORY CONTAINER ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REVISION HISTORY: ! 16 Jun 2017 - R. Yantosca - Initial version, based on code by Arjen Markus ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc !======================================================================= ! Initialize !======================================================================= RC = GC_SUCCESS ErrMsg = '' ThisLoc = & ' -> at MetaHistContainer_Add (in History/metahistcontainer_mod.F90)' !======================================================================= ! Test if the METAHISTORY CONTAINER (aka "Node") has been allocated ! memory and is therefore part of an existing linked list !======================================================================= IF ( .not. ASSOCIATED( Node ) ) THEN !-------------------------------------------------------------------- ! If not, then create a new METAHISTORY CONTAINER (named "Node"), ! and set it at the head of a new linked list !-------------------------------------------------------------------- CALL MetaHistContainer_Create( Input_Opt, Node, Container, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not create "Node" as the head node of a list!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ELSE !-------------------------------------------------------------------- ! Otherwise, create a new METAHISTORY CONTAINER (named "Node"), ! and append it to the list, immediately following the head node !-------------------------------------------------------------------- CALL MetaHistContainer_Insert( Input_Opt, Node, Container, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not insert "Node" into an existing linked list!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF END SUBROUTINE MetaHistContainer_AddNew !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: MetaHistContainer_Create ! ! !DESCRIPTION: This method creates a new METAHISTORY CONTAINER (to contain the ! supplied HISTORY CONTAINER) and sets it as the head node of a linked list. !\\ !\\ ! !INTERFACE: ! SUBROUTINE MetaHistContainer_Create( Input_Opt, Node, Container, RC ) ! ! !USES: ! USE ErrCode_Mod USE HistContainer_Mod, ONLY : HistContainer USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(HistContainer), POINTER :: Container ! HISTORY CONTAINER ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetaHistContainer), POINTER :: Node ! METAHISTORY CONTAINER ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REMARKS: ! This method is not intended to be called directly, but is rather ! wrapped by the MetaHistContainer_AddNew method. ! ! !REVISION HISTORY: ! 16 Jun 2017 - R. Yantosca - Initial version, based on code by Arjen Markus ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc !======================================================================= ! Initialize !======================================================================= RC = GC_SUCCESS ErrMsg = '' ThisLoc = & ' -> at MetaHistContainer_Create (in History/metahistcontainer_mod.F90)' !======================================================================= ! Initialize the METAHISTORY CONTAINER itself !======================================================================= ! Allocate memory ALLOCATE( Node, STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not allocate "Node"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Nullify the pointer to the next node (it doesn't exist yet) Node%Next => NULL() !======================================================================= ! Initialize the field that will store the HISTORY CONTAINER !======================================================================= ! Because this is the first METAHISTORY CONTAINER that is being created, ! we can consider this to be the head node of a linked list. IF ( .not. ASSOCIATED( Node%Container ) ) THEN ALLOCATE( Node%Container, STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not allocate "Node%Container"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF ! Attach the given HISTORY CONTAINER to the METAHISTORY CONTAINER ! (i.e. place it into the head node of a linked list) Node%Container = Container END SUBROUTINE MetaHistContainer_Create !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: MetaHistContainer_Insert ! ! !DESCRIPTION: Creates a new METAHISTORY CONTAINER (to contain the supplied ! HISTORY CONTAINER), and pops it into an existing linked list, immediately ! following the head node. !\\ !\\ ! !INTERFACE: ! SUBROUTINE MetaHistContainer_Insert( Input_Opt, Node, Container, RC ) ! ! !USES: ! USE ErrCode_Mod USE HistContainer_Mod, ONLY : HistContainer USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(HistContainer), POINTER :: Container ! HISTORY CONTAINER ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetaHistContainer), POINTER :: Node ! METAHISTORY CONTAINER ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REMARKS: ! This method is not intended to be called directly, but is rather ! wrapped by the MetaHistContainer_AddNew method. ! ! !REVISION HISTORY: ! 16 Jun 2017 - R. Yantosca - Initial version, based on code by Arjen Markus ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc ! Objects TYPE(MetaHistContainer), POINTER :: Head !======================================================================= ! Initialize !======================================================================= RC = GC_SUCCESS ErrMsg = '' ThisLoc = & ' -> at MetaHistContainer_Insert (in History/metahistcontainer_mod.F90)' !======================================================================= ! Initialize a METAHISTORY CONTAINER named "Head", which will ! become the head of the existing list. "Head" will contain ! a new HISTORY CONTAINER. !======================================================================= ! Allocate the "Head" object ALLOCATE( Head, STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not allocate "Head"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Allocate the "HeadContainer" field, ! which will hold the HISTORY CONTAINER ALLOCATE( Head%Container, STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not allocate "Head%Container"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !======================================================================= ! Insert "Head" at the start of the existing linked list !======================================================================= ! Save the HISTORY CONTAINER argument in the "Container" field of "Head" Head%Container = Container ! The "Next" field of "Head" points to the current head of the list Head%Next => Node ! Set "Head" as the new head of the linked list Node => Head END SUBROUTINE MetaHistContainer_Insert !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: MetaHistContainer_Count ! ! !DESCRIPTION: Counts the number of METAHISTORY CONTAINERS stored in a linked ! list. By extension, this is also the number of HISTORY CONTAINERS stored in ! the list, because each METAHISTORY CONTAINER contains only one HISTORY ! ! CONTAINER. !\\ !\\ ! !INTERFACE: ! FUNCTION MetaHistContainer_Count( List ) RESULT( nNodes ) ! ! !INPUT PARAMETERS: ! TYPE(MetaHistContainer), POINTER :: List ! List of METAHISTORY CONTAINERS ! ! !RETURN VALUE: ! INTEGER :: nNodes ! # of METAHISTORY CONTAINERS ! (aka nodes) in the list ! ! !REVISION HISTORY: ! 16 Jun 2017 - R. Yantosca - Initial version, based on code by Arjen Markus ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Objects TYPE(MetaHistContainer), POINTER :: Current !======================================================================= ! Initialize !======================================================================= nNodes = 0 Current => NULL() !======================================================================= ! Count the number of METAHISTORY CONTAINERS in the list !======================================================================= ! If the list does not point to NULL() ... IF ( ASSOCIATED( List ) ) THEN ! ... then there is at least 1 node (the head node) nNodes = 1 ! Set the CURRENT pointer to the head node Current => List ! As long as the following node doesn't point to NULL() DO WHILE ( ASSOCIATED( Current%Next ) ) ! Set CURRENT to the following node Current => Current%Next ! Increment the node count nNodes = nNodes + 1 ENDDO ! Free pointers Current => NULL() ENDIF END FUNCTION MetaHistContainer_Count !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: MetaHistContainer_Print ! ! !DESCRIPTION: This method will print information about the HISTORY CONTAINER ! belonging to each METAHISTORY CONTAINER (aka node) of a linked list. !\\ !\\ ! !INTERFACE: ! SUBROUTINE MetaHistContainer_Print( Input_Opt, List, RC ) ! ! !USES: ! USE ErrCode_Mod USE HistContainer_Mod, ONLY : HistContainer, HistContainer_Print USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetaHistContainer), POINTER :: List ! List of METAHISTORY ! CONTAINERS ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REMARKS: ! ! !REVISION HISTORY: ! 16 Jun 2017 - R. Yantosca - Initial version, based on code by Arjen Markus ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc ! Objects TYPE(MetaHistcontainer), POINTER :: Current !======================================================================= ! Initialize !======================================================================= RC = GC_SUCCESS Current => NULL() ErrMsg = '' ThisLoc = & ' -> at MetaHistContainer_Print (in History/metahistcontainer_mod.F90)' !======================================================================= ! Print information about each METAHISTORY CONTAINER (aka node) ! of the linked list, only if we are on the root CPU. !======================================================================= IF ( Input_Opt%amIRoot ) THEN ! Point CURRENT to the head node of the list Current => List ! As long as the current node is valid DO WHILE( ASSOCIATED( Current ) ) ! Print info about the history container corresponding to this node CALL HistContainer_Print( Input_Opt, Current%Container, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not print info for "Current%Container"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Point to the next node for the next iteration Current => Current%Next ENDDO ! Free pointers Current => NULL() ENDIF END SUBROUTINE MetaHistContainer_Print !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: MetaHistContainer_Destroy ! ! !DESCRIPTION: This method will destroy the HISTORY CONTAINER belonging to ! each METAHISTORY CONTAINER (aka node) of a linked list. It will then ! destroy each METAHISTORY CONTAINER in the list. !\\ !\\ ! !INTERFACE: ! SUBROUTINE MetaHistContainer_Destroy( List, RC ) ! ! !USES: ! USE ErrCode_Mod USE HistContainer_Mod, ONLY : HistContainer, HistContainer_Destroy ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetaHistContainer), POINTER :: List ! List of METAHISTORY ! CONTAINERS ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 16 Jun 2017 - R. Yantosca - Initial version, based on code by Arjen Markus ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc ! Objects TYPE(MetaHistContainer), POINTER :: Current, Node !======================================================================= ! Initialize !======================================================================= RC = GC_SUCCESS Current => NULL() Node => NULL() ErrMsg = '' ThisLoc = & ' -> at MetaHistContainer_Destroy (in History/metahistcontainer_mod.F90)' !======================================================================= ! Destroy each METAHISTORY CONTAINER in the linked list !======================================================================= ! Point to the first METAHISTORY CONTAINER (aka node) in the list Node => List ! As long as it doesn't point to NULL() DO WHILE ( ASSOCIATED( Node ) ) ! Set the CURRENT pointer to the current METAHISTORY CONTAINER Current => Node ! Destroy the HISTORY CONTAINER contained within ! this METAHISTORY CONTAINER CALL HistContainer_Destroy( Current%Container, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = & 'Cannot deallocate the "Current%Container" HISTORY CONTAINER!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Point to the next METAHISTORY CONTAINER for the next iteration Node => Current%Next ! And destroy the current METAHISTORY CONTAINER in the list DEALLOCATE( Current, STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot deallocate the "Current" METAHISTORY CONTAINER!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDDO ! Free pointers Current => NULL() Node => NULL() END SUBROUTINE MetaHistContainer_Destroy !EOC END MODULE MetaHistContainer_Mod ================================================ FILE: History/metahistitem_mod.F90 ================================================ !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: metahistitem_mod.F90 ! ! !DESCRIPTION: Contains types and methods to create a METAHISTORY ITEM ! object, which is a container for a HISTORY ITEM. In other words, ! a METAHISTORY ITEM represents a single node of a linked list that is ! used to contain HISTORY ITEMS. !\\ !\\ ! In practice, we can think of a METAHISTORY ITEM as a list of HISTORY ITEMS ! that will be archived to netCDF output at a specified frequency (e.g. ! instantaneous, daily, hourly, etc.) !\\ !\\ ! !INTERFACE: ! MODULE MetaHistItem_Mod ! ! !USES: ! USE HistItem_Mod, ONLY : HistItem USE Precision_Mod IMPLICIT NONE PRIVATE ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: MetaHistItem_Create PRIVATE :: MetaHistItem_Insert ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: MetaHistItem_AddNew PUBLIC :: MetaHistItem_Count PUBLIC :: MetaHistItem_Destroy PUBLIC :: MetaHistItem_Print ! ! !PUBLIC TYPES: ! !========================================================================= ! This is the derived type for a METAHISTORY ITEM object, which represents ! a SINGLE NODE OF A LINKED LIST consisting of HISTORY ITEMS. ! ! As such, the METAHISTORY ITEM does not contain any data itself, ! but is a wrapper for a single HISTORY ITEM object, plus a pointer ! to another METAHISTORY ITEM (i.e. the next node in the list). !========================================================================= TYPE, PUBLIC :: MetaHistItem ! Pointer to the next METAHISTORY ITEM object ! (i.e. the next node in the linked list) TYPE(MetaHistItem), POINTER :: Next => NULL() ! The HISTORY ITEM object (which represents a diagnostic ! quantity that will be archived to netCDF file format) TYPE(HistItem), POINTER :: Item => NULL() END TYPE MetaHistItem ! ! !REMARKS: ! As described above, a METAHISTORY ITEM can be thought of as a SINGLE NODE ! OF A LINKED LIST INTENDED TO HOLD HISTORY ITEMS. It looks like this: ! ! +-------------------------+ +-------------------------+ ! | METAHISTORY ITEM n | | METAHISTORY ITEM n+1 | ! | (aka NODE n of list) | | (aka NODE n+1 of list) | ! | | | | ! | Contains: | | Contains: | ! | | | | ! | HISTORY ITEM n | | HISTORY ITEM n+1 | ! | | | | ! =======> Pointer to next =========> Pointer to next ========> etc ... ! | METAHISTORY ITEM | | METAHISTORY ITEM | ! +-------------------------+ +-------------------------+ ! ! Linked list routines taken from original code (linkedlist.f90) ! by Arjen Markus; http://flibs.sourceforge.net/linked_list.html ! !REVISION HISTORY: ! 14 Jun 2017 - R. Yantosca - Initial version, based on code by Arjen Markus ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: MetaHistItem_AddNew ! ! !DESCRIPTION: Wrapper for methods MetaHistItem\_Create and ! MetaHistItem\_Insert. Will create a METAHISTORY ITEM (containing a ! HISTORY ITEM) and (1) set it as the head node of a new linked list, or ! (2) append it to an existing linked list. !\\ !\\ ! !INTERFACE: ! SUBROUTINE MetaHistItem_AddNew( Input_Opt, Node, Item, RC ) ! ! !USES: ! USE ErrCode_Mod USE HistItem_Mod, ONLY : HistItem USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(HistItem), POINTER :: Item ! HISTORY ITEM object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetaHistItem), POINTER :: Node ! METAHISTORY ITEM object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REVISION HISTORY: ! 13 Jun 2017 - R. Yantosca - Initial version, based on code by Arjen Markus ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc !======================================================================= ! Initialize !======================================================================= ! Assume success RC = GC_SUCCESS ! For error output ErrMsg = '' ThisLoc = ' -> at MetaHistItem_Add (in History/metahistitem_mod.F90)' !======================================================================= ! Test if the METAHISTORY ITEM (aka "Node") has been allocated memory ! and is therefore part of an existing linked list !======================================================================= IF ( .not. ASSOCIATED( Node ) ) THEN !-------------------------------------------------------------------- ! If not, then create a new METAHISTORY ITEM (named "Node"), ! and set it at the head of a new linked list !-------------------------------------------------------------------- CALL MetaHistItem_Create( Input_Opt, Node, Item, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not create "Node" as the head node of a list!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ELSE !-------------------------------------------------------------------- ! Otherwise, create a new METAHISTORY ITEM (named "Node"), ! and append it to the list, immediately following the head node !-------------------------------------------------------------------- CALL MetaHistItem_Insert( Input_Opt, Node, Item, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not insert "Node" into an existing linked list!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF END SUBROUTINE MetaHistItem_AddNew !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: MetaHistItem_Create ! ! !DESCRIPTION: This method creates a new METAHISTORY ITEM (to contain the ! supplied HISTORY ITEM) and sets it as the head node of a linked list. !\\ !\\ ! !INTERFACE: ! SUBROUTINE MetaHistItem_Create( Input_Opt, Node, Item, RC ) ! ! !USES: ! USE ErrCode_Mod USE HistItem_Mod, ONLY : HistItem USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(HistItem), POINTER :: Item ! HISTORY ITEM object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetaHistItem), POINTER :: Node ! METAHISTORY ITEM object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REMARKS: ! This method is not intended to be called directly, but is rather ! wrapped by the MetaHistItem_AddNew method. ! ! !REVISION HISTORY: ! 13 Jun 2017 - R. Yantosca - Initial version, based on code by Arjen Markus ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc !======================================================================= ! Initialize !======================================================================= ! Assume success RC = GC_SUCCESS ! For error output ErrMsg = '' ThisLoc = ' -> at MetaHistItem_Create (in History/metahistitem_mod.F90)' !======================================================================= ! Initialize the METAHISTORY ITEM itself !======================================================================= ! Allocate memory ALLOCATE( Node, STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not allocate "Node"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Nullify the pointer to the next node (it doesn't exist yet) Node%Next => NULL() !======================================================================= ! Initialize the field that will store the HISTORY ITEM !======================================================================= ! Because this is the first METAHISTORY ITEM that is being created, ! we can consider this to be the head node of a linked list. IF ( .not. ASSOCIATED( Node%Item ) ) THEN ALLOCATE( Node%Item, STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not allocate "Node%Item"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF ! Attach the given HISTORY ITEM to the METAHISTORY ITEM ! (i.e. place it into the head node of a linked list) Node%Item = Item END SUBROUTINE MetaHistItem_Create !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: MetaHistItem_Insert ! ! !DESCRIPTION: Creates a new METAHISTORY ITEM (to contain the supplied ! HISTORY ITEM), and pops it into an existing linked list, immediately ! following the head node. !\\ !\\ ! !INTERFACE: ! SUBROUTINE MetaHistItem_Insert( Input_Opt, Node, Item, RC ) ! ! !USES: ! USE ErrCode_Mod USE HistItem_Mod, ONLY : HistItem USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(HistItem), POINTER :: Item ! HISTORY ITEM object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetaHistItem), POINTER :: Node ! METAHISTORY ITEM object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REMARKS: ! This method is not intended to be called directly, but is rather ! wrapped by the MetaHistItem_AddNew method. ! ! !REVISION HISTORY: ! 13 Jun 2017 - R. Yantosca - Initial version, based on code by Arjen Markus ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc ! Objects TYPE(MetaHistItem), POINTER :: Head !======================================================================= ! Initialize !======================================================================= ! Assume success RC = GC_SUCCESS ! For error output ErrMsg = '' ThisLoc = ' -> at MetaHistItem_Insert (in History/metahistitem_mod.F90)' !======================================================================= ! Initialize a METAHISTORY ITEM named "Head", which will become the ! head of the existing list. "Head" will contain a new HISTORY ITEM. !======================================================================= ! Allocate the "Head" object ALLOCATE( Head, STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not allocate "Head"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Allocate the "Head%Item" field, which will hold the HISTORY ITEM ALLOCATE( Head%Item, STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not allocate "Head%Item"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !======================================================================= ! Insert "Head" at the start of the existing linked list !======================================================================= ! Save the HISTORY ITEM argument in the "Item" field of "Head" Head%Item = Item ! The "Next" field of "Head" points to the current head of the list Head%Next => Node ! Set "Head" as the new head of the linked list Node => Head END SUBROUTINE MetaHistItem_Insert !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: MetaHistItem_Count ! ! !DESCRIPTION: Counts the number of METAHISTORY ITEMS stored in a linked ! list. By extension, this is also the number of HISTORY ITEMS stored in ! the list, because each METAHISTORY ITEM contains only one HISTORY ITEM. !\\ !\\ ! !INTERFACE: ! FUNCTION MetaHistItem_Count( List ) RESULT( nNodes ) ! ! !INPUT PARAMETERS: ! TYPE(MetaHistItem), POINTER :: List ! Linked list of METAHISTORY ITEMS ! ! !RETURN VALUE: ! INTEGER :: nNodes ! Number of METAHISTORY ITEMS ! ! !REVISION HISTORY: ! 14 Jun 2017 - R. Yantosca - Initial version, based on code by Arjen Markus ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Objects TYPE(MetaHistItem), POINTER :: Current !======================================================================= ! Initialize !======================================================================= ! Initialize nNodes = 0 Current => NULL() !======================================================================= ! Count the number of METAHISTORY ITEMS in the list !======================================================================= ! If the list does not point to NULL() ... IF ( ASSOCIATED( List ) ) THEN ! ... then there is at least 1 node (the head node) nNodes = 1 ! Set the CURRENT pointer to the head node Current => List ! As long as the following node doesn't point to NULL() DO WHILE ( ASSOCIATED( Current%Next ) ) ! Set CURRENT to the following node Current => Current%Next ! Increment the node count nNodes = nNodes + 1 ENDDO ! Free pointers Current => NULL() ENDIF END FUNCTION MetaHistItem_Count !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: MetaHistItem_Print ! ! !DESCRIPTION: This method will print information about the HISTORY ITEM ! belonging to each METAHISTORY ITEM (aka node) of a linked list. !\\ !\\ ! !INTERFACE: ! SUBROUTINE MetaHistItem_Print( Input_Opt, List, RC ) ! ! !USES: ! USE ErrCode_Mod USE HistItem_Mod, ONLY : HistItem, HistItem_Print USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetaHistItem), POINTER :: List ! List of history items ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REMARKS: ! ! !REVISION HISTORY: ! 14 Jun 2017 - R. Yantosca - Initial version, based on code by Arjen Markus ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc ! Objects TYPE(MetaHistitem), POINTER :: Current !======================================================================= ! Initialize !======================================================================= ! Assume success RC = GC_SUCCESS ! Free pointers Current => NULL() ! For error output ErrMsg = '' ThisLoc = ' -> at MetaHistItem_Print (in History/metahistitem_mod.F90)' !======================================================================= ! Print information about each METAHISTORY ITEM (aka node) ! of the linked list, only if we are on the root CPU !======================================================================= IF ( Input_Opt%amIRoot ) THEN ! Point CURRENT to the head node of the list Current => List ! As long as the current node is valid DO WHILE( ASSOCIATED( Current ) ) ! Print info about the history item corresponding to this node CALL HistItem_Print( Input_Opt, Current%Item, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Could not print info for "Current%Item"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Point to the next node for the next iteration Current => Current%Next ENDDO ! Free pointers Current => NULL() ENDIF END SUBROUTINE MetaHistItem_Print !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: MetaHistItem_Destroy ! ! !DESCRIPTION: This method will destroy the HISTORY ITEM belonging to ! each METAHISTORY ITEM (aka node) of a linked list. It will then destroy ! each METAHISTORY ITEM itself. !\\ !\\ ! !INTERFACE: ! SUBROUTINE MetaHistItem_Destroy( List, RC ) ! ! !USES: ! USE ErrCode_Mod USE HistItem_Mod, ONLY : HistItem, HistItem_Destroy ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(MetaHistItem), POINTER :: List ! List of METAHISTORY ITEMS ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 14 Jun 2017 - R. Yantosca - Initial version, based on code by Arjen Markus ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc ! Objects TYPE(MetaHistItem), POINTER :: Current, Node !======================================================================= ! Initialize !======================================================================= ! Assume success RC = GC_SUCCESS ! Free pointers Current => NULL() Node => NULL() ! For error output ErrMsg = '' ThisLoc = ' -> at MetaHistItem_Destroy (in History/metahistitem_mod.F90)' !======================================================================= ! Destroy each METAHISTORY ITEM in the linked list !======================================================================= ! Point to the first METAHISTORY ITEM (aka node) in the list Node => List ! As long as it doesn't point to NULL() DO WHILE ( ASSOCIATED( Node ) ) ! Set the CURRENT pointer to the current METAHISTORY ITEM Current => Node ! Destroy the HISTORY ITEM contained within this METAHISTORY ITEM CALL HistItem_Destroy( Current%Item, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot deallocate the "Current%Item" HISTORY ITEM!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Point to the next METAHISTORY ITEM for the next iteration Node => Current%Next ! And destroy the current METAHISTORY ITEM in the list DEALLOCATE( Current, STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Cannot deallocate the "Current" META HISTORY ITEM!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDDO ! Free pointers Current => NULL() Node => NULL() END SUBROUTINE MetaHistItem_Destroy !EOC END MODULE MetaHistItem_Mod ================================================ FILE: Interfaces/GCClassic/.gitignore ================================================ *.[oax] *.mod *.MOD *~* geos geostomas geosapm *.pp.* *.pdb *.inst.* *.continue.* *.ppk core.* gc_classic_version.H ================================================ FILE: Interfaces/GCClassic/CMakeLists.txt ================================================ # Interfaces/GCClassic/CMakeLists.txt #----------------------------------------------------------------------------- # Copy the CMake project version to the gc_classic_version.H file #----------------------------------------------------------------------------- message("Creating ${CMAKE_CURRENT_SOURCE_DIR}/gc_classic_version.H") configure_file(${CMAKE_CURRENT_SOURCE_DIR}/gc_classic_version.H.in ${CMAKE_CURRENT_SOURCE_DIR}/gc_classic_version.H @ONLY) #----------------------------------------------------------------------------- # Define libGCClassic.a and specify its dependencies #----------------------------------------------------------------------------- add_library(GCClassic STATIC EXCLUDE_FROM_ALL main.F90 ) target_link_libraries(GCClassic PUBLIC GeosCore ) ================================================ FILE: Interfaces/GCClassic/gc_classic_version.H.in ================================================ ! Get the GEOS-Chem Classic version number from CMake CHARACTER(LEN=30) :: GC_CLASSIC_VERSION GC_CLASSIC_VERSION = '@PROJECT_VERSION@' ================================================ FILE: Interfaces/GCClassic/main.F90 ================================================ !BOC #if defined( ESMF_ ) || defined( EXTERNAL_GRID ) || defined( MODEL_ ) !---------------------------------------------------------------------------- ! %%%%%%% GEOS-Chem HP (with ESMF & MPI) %%%%%%% ! %%%% GEOS-Chem Coupled with External Models %%%% ! ! When GEOS-Chem is connected to an external model or in GCHP, ! the GEOS-Chem classic main.F90 should not be built. !---------------------------------------------------------------------------- #else !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: main.F90 ! ! !DESCRIPTION: Program GEOS\_CHEM is the main level driver program for the ! GEOS-Chem model of atmospheric chemistry and composition. !\\ !\\ ! !INTERFACE: ! PROGRAM GEOS_Chem ! ! !USES: ! !-------------------------------------------------------------------------- ! Parameters to define floating-point variables !-------------------------------------------------------------------------- USE PRECISION_MOD, ONLY : fpp => fp ! Flexible precision USE PRECISION_MOD, ONLY : f4 ! 4-byte floating point USE PRECISION_MOD, ONLY : f8 ! 8-byte floating point !-------------------------------------------------------------------------- ! Basic GEOS-Chem modules !-------------------------------------------------------------------------- USE DiagList_Mod ! Derived type for diagnostics list USE TaggedDiagList_Mod ! Derived type for tagged diagnostics list USE Diagnostics_Mod ! Set select netcdf diagnostics USE ErrCode_Mod ! Error codes for success or failure USE ERROR_MOD ! For error checking USE FILE_MOD ! For file I/O USE GC_Environment_Mod ! For allocating derived type objects USE GC_GRID_MOD ! For defining the lons/lats/areas of the grid USE Input_Opt_Mod ! Derived type for Input Options USE INPUT_MOD ! For reading settings from geoschem_config.yml USE OLSON_LANDMAP_MOD ! Computes IREG, ILAND, IUSE from Olson map USE PhysConstants ! Physical constants USE PRESSURE_MOD ! For computing pressure at grid boxes USE Print_Mod ! For verbose printing USE State_Chm_Mod ! Derived type for Chemistry State object USE State_Diag_Mod ! Derived type for Diagnostics State object USE State_Grid_Mod ! Derived type for Grid State object USE State_Met_Mod ! Derived type for Meteorology State object USE TIME_MOD ! For computing date & time USE TIMERS_MOD ! For GEOS-Chem timers (optional) USE UnitConv_Mod ! For species conc unit conversions !-------------------------------------------------------------------------- ! GEOS-Chem chemistry modules !-------------------------------------------------------------------------- USE CARBON_MOD ! For SOA simulation USE CHEMISTRY_MOD ! Driver routines for chemistry USE LINEAR_CHEM_MOD ! For linearized chemistry above chem grid USE MERCURY_MOD ! For offline Hg simulation (driver) USE OCEAN_MERCURY_MOD ! For offline Hg simulation (ocean model) USE Photolysis_Mod, ONLY : Init_Photolysis USE TOMS_MOD ! For overhead O3 columns (for FAST-J) USE UCX_MOD ! For unified trop-strat chemistry USE UVALBEDO_MOD ! For reading UV albedoes (for FAST-J) USE SET_GLOBAL_CH4_MOD ! For setting global CH4 concentrations !-------------------------------------------------------------------------- ! GEOS-Chem deposition modules !-------------------------------------------------------------------------- USE DEPO_MERCURY_MOD ! Deposition for offline Hg simulation USE DRYDEP_MOD ! For dry deposition USE WETSCAV_MOD ! For wet deposition (rainout & washout) !-------------------------------------------------------------------------- ! GEOS-Chem diagnostics modules !-------------------------------------------------------------------------- USE PLANEFLIGHT_MOD ! For planeflight track diag USE HISTORY_MOD ! Updated netCDF diagnostics USE OBSPACK_MOD ! For ObsPack diagnostics USE GOSAT_CH4_MOD ! For GOSAT observation operator USE AIRS_CH4_MOD ! For AIRS observation operator USE TCCON_CH4_MOD ! For TCCON observation operator USE HCO_Interface_GC_Mod ! Writes out HEMCO diagnostics (C. Keller) USE HCO_Utilities_GC_Mod ! Utility routines for GC-HEMCO interface !-------------------------------------------------------------------------- ! GEOS-Chem convection modules !-------------------------------------------------------------------------- USE CONVECTION_MOD ! For deep cloud convection USE LINOZ_MOD ! For LINOX linear strat chemistry USE PBL_MIX_MOD ! To compute PBL height USE TRANSPORT_MOD ! Driver routines for advection USE VDIFF_MOD ! For non-local PBL mixing (J. Lin) !-------------------------------------------------------------------------- ! GEOS-Chem emissions modules !-------------------------------------------------------------------------- USE EMISSIONS_MOD ! For interfacing with HEMCO emissions USE MIXING_MOD ! performs tracer mixing USE MODIS_LAI_MOD ! For MODIS leaf area indices (replacement) !-------------------------------------------------------------------------- ! GEOS-Chem meteorology field modules !-------------------------------------------------------------------------- USE Calc_Met_Mod ! Met field calculations USE FLEXGRID_READ_MOD ! For reading FLEXGRID data USE Set_Boundary_Conditions_Mod ! For setting nested-grid boundary conditions #ifdef EXCHANGE USE EXCHANGE_MOD ! For two-way coupled simulations #endif #ifdef RRTMG !-------------------------------------------------------------------------- ! Radiation modules (RRTMG) !-------------------------------------------------------------------------- USE RRTMG_RAD_TRANSFER_MOD, ONLY : Do_RRTMG_Rad_Transfer USE RRTMG_RAD_TRANSFER_MOD, ONLY : Init_RRTMG_Rad_Transfer USE RRTMG_RAD_TRANSFER_MOD, ONLY : Set_SpecMask USE RRTMG_LW_Init, ONLY : RRTMG_LW_Ini USE RRTMG_SW_Init, ONLY : RRTMG_SW_Ini #endif #ifdef APM !-------------------------------------------------------------------------- ! For APM aerosol microphysics simulation, ! see apm_driv_mod.f for more information !-------------------------------------------------------------------------- USE APM_INIT_MOD, ONLY : APM_NTRACERS USE APM_INIT_MOD, ONLY : APM_INIT USE APM_INIT_MOD, ONLY : CLEANUP_APMARRAYS USE APM_DRIV_MOD, ONLY : INIT_APM3D USE APM_DRIV_MOD, ONLY : CLEANUP_APM3D #endif IMPLICIT NONE ! ! !REMARKS: ! . ! GGGGGG EEEEEEE OOOOO SSSSSSS CCCCCC H H EEEEEEE M M ! G E O O S C H H E M M M M ! G GGG EEEEEE O O SSSSSSS C HHHHHHH EEEEEE M M M ! G G E O O S C H H E M M ! GGGGGG EEEEEEE OOOOO SSSSSSS CCCCCC H H EEEEEEE M M ! . ! . ! (formerly known as the Harvard-GEOS model) ! for 4 x 5, 2 x 2.5 global grids and hi-res nested grids ! . ! Contact: GEOS-Chem Support Team (geos-chem-support@g.harvard.edu) ! ! . ! See the GEOS-Chem Web Site: ! . ! http://acmg.seas.harvard.edu/geos/ ! . ! and the GEOS-Chem User's Guide: ! . ! http://acmg.seas.harvard.edu/geos/doc/man/ ! . ! and the GEOS-Chem wiki: ! . ! http://wiki.seas.harvard.edu/geos-chem/ ! . ! for the most up-to-date GEOS-Chem documentation on the following topics: ! . ! - installation, compilation, and execution ! - coding practice and style ! - input files and met field data files ! - horizontal and vertical resolution ! - modification history ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! !----------------------------- ! Scalars !----------------------------- ! Logicals LOGICAL :: TimeForEmis LOGICAL :: notDryRun LOGICAL :: VerboseAndRoot ! Integers INTEGER :: I, IOS, J INTEGER :: K, L, N INTEGER :: JDAY, N_DYN INTEGER :: NNN, N_DYN_STEPS, NSECb INTEGER :: N_STEP, YEAR, MONTH INTEGER :: DAY, DAY_OF_YEAR INTEGER :: NYMD, NYMDb, NHMS INTEGER :: ELAPSED_SEC, NHMSb, RC INTEGER :: ELAPSED_TODAY, HOUR, MINUTE, SECOND INTEGER :: id_H2O, id_CH4, id_CLOCK INTEGER :: previous_units ! Reals REAL(f8) :: TAU, TAUb ! Strings CHARACTER(LEN=255) :: ThisLoc, ZTYPE CHARACTER(LEN=255) :: historyConfigFile CHARACTER(LEN=512) :: ErrMsg CHARACTER(LEN=512) :: Instr CHARACTER(LEN=255) :: Argv #ifdef RRTMG LOGICAL, SAVE :: FIRST_RT = .TRUE. #endif !----------------------------- ! Derived type objects !----------------------------- TYPE(OptInput) :: Input_Opt ! Input Options object TYPE(ChmState) :: State_Chm ! Chemistry State object TYPE(DgnState) :: State_Diag ! Diagnostics State object TYPE(GrdState) :: State_Grid ! Grid State object TYPE(MetState) :: State_Met ! Meteorology State object TYPE(DgnList ) :: Diag_List ! Diagnostics list object TYPE(TaggedDgnList ) :: TaggedDiag_List ! Tagged diagnostics list object ! ! !DEFINED PARAMETERS: ! ! When connecting G-C to an external GCM, we need to only write ! to stdout if we are on the root CPU. Otherwise this will slow ! down the code. This is why we introduced the am_I_Root logical ! variable. ! ! However, if we are using the "traditional" G-C, then we don't ! need to restrict I/O to the root CPU. (This is because each ! GEOS-Chem simulation starts out on a single CPU, with other ! CPUs joining only within parallel DO loops). Therefore, we ! can just set am_I_Root = .true. here and then have it propagate ! down to all of the lower-level routines. The main.F routine ! is not called when connecting G-C to an external GCM. ! (mlong, bmy, 7/30/12) LOGICAL, PARAMETER :: am_I_Root = .TRUE. #ifdef RRTMG ! For stratospheric adjustment REAL(f8), ALLOCATABLE :: DT_3D(:,:,:) REAL(f8), ALLOCATABLE :: HR_3D(:,:,:) #endif !========================================================================== ! GEOS-CHEM starts here! !========================================================================== #ifdef TOMAS !(sfarina, 6/19/2013) It may seem strange, but this welcome message ! fixes an issue where geoschem crashes with a ! sigsegv immediately after starting. ! This happens on ace-net's glooscap cluster with ! ifort (IFORT) 11.1 20101201 ! this issue does not appear when running inside ! a debugger, and is probably related to ! some initialization garbage in memory ! when using -O2 optimization !(bmy, 1/27/2014) - Need to "CALL FLUSH(6). FLUSH needs ! an argument. Unit 6 is Unix stdout. PRINT*, '%%%%% USING TOMAS MICROPHYSICS PACKAGE %%%%%' CALL FLUSH(6) #endif ! Assume a successful return until otherwise RC = GC_SUCCESS ! For error trapping ErrMsg = '' ThisLoc = ' -> at GEOS-Chem (in GeosCore/main.F90)' ! Display model information CALL Display_Model_Info() !========================================================================== ! ***** I N I T I A L I Z A T I O N ***** !========================================================================== !-------------------------------------------------------------------------- ! Read the user-defined options for the simulation, etc. !-------------------------------------------------------------------------- ! Initialize fields of the Input Options object (including amIRoot) CALL Set_Input_Opt( am_I_Root, Input_Opt, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered within call to "Set_Input_Opt"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF ! Initialize fields of the Grid State object CALL Init_State_Grid( Input_Opt, State_Grid, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered within call to "Set_Grid_State"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF ! Read GEOS-Chem input file at very beginning of simulation CALL Read_Input_File( Input_Opt, State_Grid, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Read_Input_File"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF !-------------------------------------------------------------------------- ! Initialize GEOS-Chem timers !-------------------------------------------------------------------------- IF ( Input_Opt%useTimers ) THEN ! Call timer initilization CALL Timer_Setup( 1 ) ! Add timers for various operations CALL Timer_Add( "GEOS-Chem", RC ) CALL Timer_Add( "HEMCO", RC ) CALL Timer_Add( "All chemistry", RC ) CALL Timer_Add( "=> Gas-phase chem", RC ) CALL Timer_Add( "=> Photolysis", RC ) CALL Timer_Add( "=> Aerosol chem", RC ) CALL Timer_Add( "=> Linearized chem", RC ) CALL Timer_Add( "Transport", RC ) CALL Timer_Add( "Convection", RC ) CALL Timer_Add( "Boundary layer mixing", RC ) CALL Timer_Add( "Dry deposition", RC ) CALL Timer_Add( "Wet deposition", RC ) #ifdef RRTMG CALL Timer_Add( "RRTMG", RC ) #endif CALL Timer_Add( "Diagnostics", RC ) CALL Timer_Add( "Unit conversions", RC ) ! Start running the main and initialization timer CALL Timer_Start( "GEOS-Chem", RC ) ENDIF !-------------------------------------------------------------------------- ! Prepare the GEOS-Chem "dry run" option ! If in a "dry-run" mode, GEOS-Chem will simply check whether files ! are present (and possibly in the correct format) and go through ! time-steps to check met fields and other IO issues. ! No actual "compute" is performed. ! ! The "dry-run" option is initialized using the command line extra ! argument ./gcclassic --dry-run ! ! A log file can be specified with --log FILENAME. ! If no log file is specified, the default logfile will be ! "GEOSChem.DryRun.log". ! ! This option is currently only supported in GEOS-Chem Classic. ! ! Additionally, this flag must be set after reading input file, or ! its value will be overwritten by READ_INPUT_FILE. ! (hplin, 11/1/19) !-------------------------------------------------------------------------- CALL Init_Dry_Run( Input_Opt, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Init_Dry_Run"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF ! Define a local convenience variable for negating Input_Opt%DryRun notDryRun = ( .not. Input_Opt%DryRun ) !-------------------------------------------------------------------------- ! Continue initializzation !-------------------------------------------------------------------------- ! Make sure all directories are valid CALL Validate_Directories( Input_Opt, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Validate_Directories"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF ! Initialize GEOS-Chem horizontal grid structure CALL GC_Init_Grid( Input_Opt, State_Grid, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error in "GC_Init_Grid"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF ! Call the routine GC_Allocate_All (located in module file ! GeosCore/gc_environment_mod.F90) to allocate all lat/lon ! allocatable arrays used by GEOS-Chem. CALL GC_Allocate_All( Input_Opt, State_Grid, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "GC_Allocate_All"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF ! Store shadow copies of am_I_Root, Input_Opt in error_mod.F CALL Init_Error(Input_Opt, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Init_Error"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF ! Turn off verbose output for the dry-run simulation VerboseAndRoot = ( Input_Opt%Verbose .and. notDryRun ) ! Debug output IF ( VerboseAndRoot ) CALL Debug_Msg( '### MAIN: a READ_INPUT_FILE' ) !-------------------------------------------------------------------------- ! %%%% REPLICATING GCHP FUNCTIONALITY IN EXISTING GEOS-CHEM %%%% ! ! Initialize the diagnostic list object which contains the ! unique entires in the history config file. Note that this is ! done in GCHP Set_Services and therefore must be done prior to ! initialization of the state objects. Also note that the diag_list ! obj may be stored in the HistoryConfig object in GCHP and we may ! want to replicate that behavior in GCC in the future. ! (ewl, 9/26/17) !-------------------------------------------------------------------------- IF ( notDryRun ) THEN IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "Diagnostics", RC ) ENDIF ! Initialize the Diag_List (list of all diagnostics) historyConfigFile = 'HISTORY.rc' CALL Init_DiagList( Input_Opt%amIroot, historyConfigFile, Diag_List, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Init_DiagList"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF ! Initialize the TaggedDiag_List (list of wildcards/tags per diagnostic) CALL Init_TaggedDiagList( Input_Opt%amIroot, Diag_List, & TaggedDiag_List, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Init_TaggedDiagList"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF IF ( VerboseAndRoot ) THEN CALL Print_DiagList( Input_Opt%amIRoot, Diag_List, RC ) CALL Print_TaggedDiagList( Input_Opt%amIRoot, TaggedDiag_List, RC ) ENDIF IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "Diagnostics", RC ) ENDIF ENDIF !-------------------------------------------------------------------------- ! %%%% REPLICATING GCHP FUNCTIONALITY IN EXISTING GEOS-CHEM %%%% ! ! To replicate the functionality of the ESMF interface, we must ! initialize the Meteorology State (i.e. State_Met) and the ! Chemistry State (i.e. State_Chm) objects. These objects hold ! several individual data fields that need to be passed as ! inputs to the chemistry routines. ! ! The Meteorology State has replaced all of the individual ! met field arrays contained in module dao_mod.F. Likewise, ! the Chemistry State has replaced the STT tracer array ! and CSPEC chemical species array. ! ! The Chemistry and Meteorology State objects facilitate using ! GEOS-Chem directly from the ESMF interface. This is the main ! reason we are migrating towards used of these objects instead ! of the existing ALLOCATABLE module arrays. (bmy, 10/25/12) !-------------------------------------------------------------------------- ! Initialize State_Met, State_Chm, and State_Diag objects CALL GC_Init_StateObj( Diag_List = Diag_List, & TaggedDiag_List = TaggedDiag_List, & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "GC_Init_StateObj!"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF !-------------------------------------------------------------------------- ! Skip these operations when in dry-run mode !-------------------------------------------------------------------------- IF ( notDryRun ) THEN ! Copy to State_Met%AREA_M2 to avoid breaking GCHP benchmarks, ! which require the AREA_M2 field saved out to the StateMet ! diagnostic collection for computing emission totals. State_Met%Area_M2 = State_Grid%Area_M2 ENDIF !-------------------------------------------------------------------------- ! For dry-run simulations, call GC_Init_Extra, which will print ! out the Olson_drydep_inputs file name and exit. ! ! For regular simulations, initialize various module arrays etc. ! This removes the init calls from the run-stage, which cannot ! happen when connecting GEOS-Chem to external ESMs. !-------------------------------------------------------------------------- CALL GC_Init_Extra( Diag_List, Input_Opt, State_Chm, & State_Diag, State_Grid, State_Met, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "GC_Init_Extra"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF !-------------------------------------------------------------------------- ! Skip these operations when in dry-run mode !-------------------------------------------------------------------------- IF ( notDryRun ) THEN ! Define advected species ID flags for use below id_H2O = Ind_('H2O', 'A') id_CH4 = Ind_('CH4', 'A') id_CLOCK = Ind_('CLOCK', 'A') !----------------------------------------------------------------------- ! OBSPACK Diagnostics: Get information from the species ! database for all requested ObsPack output species !----------------------------------------------------------------------- IF ( Input_Opt%Do_ObsPack ) THEN CALL ObsPack_SpeciesMap_Init( Input_Opt, State_Chm, State_Diag, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "ObsPack_SpeciesMap_Init"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF ENDIF ENDIF #ifdef RRTMG !-------------------------------------------------------------------------- ! Initializations for the RRTMG radiative transfer model !-------------------------------------------------------------------------- IF ( notDryRun ) THEN ! Initialize module variables CALL Init_RRTMG_Rad_Transfer( Input_Opt, State_Diag, State_Grid, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Init_RRTMG_Rad_Transfer"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF ! Initialize RRTMG code in the GeosRad folder CALL Rrtmg_Lw_Ini() CALL Rrtmg_Sw_Ini() ! Settings State_Chm%RRTMG_iCld = 0 State_Chm%RRTMG_iSeed = 10 ENDIF #endif #ifdef APM !-------------------------------------------------------------------------- ! Initializations for the APM aerosol microphysics package !-------------------------------------------------------------------------- IF ( notDryRun ) THEN ! Initialize APM related variables, arrays CALL APM_NTRACERS( State_Chm ) CALL APM_INIT(Input_Opt%CHEM_INPUTS_DIR) CALL Init_APM3D( Input_Opt, State_Grid, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in routine "Init_APM3D"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF ENDIF #endif !-------------------------------------------------------------------------- ! Added to read input file for Linoz O3 !-------------------------------------------------------------------------- IF ( Input_Opt%LLINOZ ) THEN CALL Linoz_Read( Input_Opt, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Linoz_Read"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF ENDIF ! Define time variables for use below NHMS = GET_NHMS() NHMSb = GET_NHMSb() NYMD = GET_NYMD() NYMDb = GET_NYMDb() TAU = GET_TAU() TAUb = GET_TAUb() !-------------------------------------------------------------------------- ! ***** H I S T O R Y I N I T I A L I Z A T I O N ***** !-------------------------------------------------------------------------- IF ( Input_Opt%useTimers .and. notDryRun ) THEN CALL Timer_Start( "Diagnostics", RC ) ENDIF ! For now, just hardwire the input file for the History component Input_Opt%HistoryInputFile = './HISTORY.rc' ! Initialize the GEOS-Chem history component ! (for dry-run, enter routine to print out HISTORY.rc status) CALL History_Init( Input_Opt, State_Met, State_Chm, & State_Diag, State_Grid, RC ) ! Trap error IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "History_Init"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF IF ( Input_Opt%useTimers .and. notDryRun ) THEN CALL Timer_End( "Diagnostics", RC ) ENDIF !-------------------------------------------------------------------------- ! ***** I N I T I A L I Z A T I O N continued ***** !-------------------------------------------------------------------------- ! To enable FlexGrid, need to initialize HEMCO and run phase 1 ! before reading initial metfields. ! (Jiawei Zhuang 2017/6) ! Initialize HEMCO. This reads the HEMCO configuration file ! and creates entries for all data files needed for emission ! calculation. IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "HEMCO", RC ) ENDIF CALL Emissions_Init( Input_Opt, State_Chm, State_Grid, State_Met, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Emissions_Init"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF ! Run HEMCO phase 0 as simplfied phase 1 to get initial met fields ! and restart file fields. State_Chm%Species fields are populated in ! this step and set to either values from file or background values ! in mol/mol dry air. TimeForEmis = .FALSE. CALL Emissions_Run( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, TimeForEmis, 0, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Emissions_Run", Phase 0' Instr = 'This error can indicate a missing file. Please check '// & 'the HEMCO log file for additional error messages! ' CALL Error_Stop( ErrMsg, ThisLoc, Instr ) ENDIF IF ( Input_Opt%useTimers ) THEN CALL Timer_End ( "HEMCO", RC ) ENDIF ! Skip certain initializations IF ( notDryRun ) THEN ! Populate the State_Met%LandTypeFrac field with data from HEMCO CALL Init_LandTypeFrac( Input_Opt, State_Grid, State_Met, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Init_LandTypeFrac"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF ! Compute the Olson landmap fields of State_Met ! (e.g. State_Met%IREG, State_Met%ILAND, etc.) CALL Compute_Olson_Landmap( Input_Opt, State_Grid, State_Met, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Compute_Olson_Landmap"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF ! Initialize PBL quantities from the initial met fields CALL Compute_Pbl_Height( Input_Opt, State_Grid, State_Met, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "COMPUTE_PBL_HEIGHT" at initialization!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF ! Once the initial met fields have been read in, we need to find ! the maximum PBL level for the non-local mixing algorithm. CALL Max_PblHt_For_Vdiff( Input_Opt, State_Grid, State_Met, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Max_PblHt_for_Vdiff"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF ENDIF ! Initialize photolysis, including reading files for optical properties IF ( Input_Opt%ITS_A_FULLCHEM_SIM .or. & Input_Opt%ITS_AN_AEROSOL_SIM .or. & Input_Opt%ITS_A_MERCURY_SIM ) THEN CALL Init_Photolysis( Input_Opt, State_Grid, State_Chm, & State_Diag, State_Met, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Init_Photolysis"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF ENDIF !========================================================================== ! ***** I N I T I A L C O N D I T I O N S ***** !========================================================================== ! Initialize the UCX routines CALL INIT_UCX( Input_Opt, State_Chm, State_Diag, State_Grid ) IF ( VerboseAndRoot ) CALL DEBUG_MSG( '### MAIN: a INIT_UCX' ) ! Capture initial state of atmosphere for STE flux calc (ltm, 06/10/12) IF ( Input_Opt%LINEAR_CHEM .and. notDryRun ) THEN CALL Init_Linear_Chem( Input_Opt, State_Chm, State_Met, State_Grid, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Init_Linear_Chem"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF ENDIF !----------------------------------------------------------------------------- ! TWO-WAY NESTING OPTION ! This is only invoked when compiling GEOS-Chem with COUPLE=y ! ! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! %%%%% NOTE: THIS OPTION WAS PROBABLY BROKEN WITH THE ADDITION OF HEMCO %%%%% ! %%%%% (v10-01), FLEXCHEM (v11-01), AND FLEXGRID (12.5.0). BUYER BEWARE.%%%%% ! %%%%% -- Bob Yantosca (22 Jan 2018) %%%%% ! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! #if defined( EXCHANGE ) ! Initialize the two-way nesting. This will only get done if you ! compile GEOS-Chem with EXCHANGE=yes. (yanyy, 03/28/14) CALL INIT_EXCHANGE( State_Grid ) IF ( State_Grid%NestedGrid ) THEN ! Initialize exchange of nested boundary conditions CALL EXCHANGE_NESTED_INIT() ELSE ! Initialize exchange of global boundary conditions CALL EXCHANGE_GLOBAL_INIT() ENDIF #endif !----------------------------------------------------------------------------- !=========================================================================== ! ***** O U T E R T I M E S T E P L O O P ***** !=========================================================================== ! Echo message before first timestep IF ( notDryRun ) THEN WRITE( 6, '(a)' ) WRITE( 6, '(a)' ) REPEAT( '*', 44 ) WRITE( 6, '(a)' ) '* B e g i n T i m e S t e p p i n g !! *' WRITE( 6, '(a)' ) REPEAT( '*', 44 ) WRITE( 6, '(a)' ) ENDIF ! NSTEP is the number of dynamic timesteps w/in the outer loop ! Timesteps are now retrieved in seconds (ewl, 2/6/2018) N_DYN_STEPS = 10800 / GET_TS_DYN() ! 3hr interval ! Start a new outer loop DO ! Compute time parameters at start of 6-h loop CALL Set_Current_Time() ! NSECb is # of seconds (measured from 00 GMT today) ! at the start of this 6-hr timestepping loop. ! NOTE: Assume we start at the head of each minute (i.e. SECONDS=0) HOUR = GET_HOUR() HOUR = ( HOUR / 6 ) * 6 MINUTE = GET_MINUTE() SECOND = GET_SECOND() NSECb = ( HOUR * 3600 ) + ( MINUTE * 60 ) + SECOND ! Get dynamic timestep in seconds N_DYN = GET_TS_DYN() !--------------------------------------------------------------------- ! %%%%% HISTORY (netCDF diagnostics) %%%%% ! ! Write HISTORY ITEMS in each diagnostic collection to disk ! Appears at start of run to output instantaneous boundary conditions ! at the start of the simulation with the correct time: !--------------------------------------------------------------------- IF ( notDryRun ) THEN IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "Diagnostics", RC ) ENDIF ! Write collections (such as BoundaryConditions) that need ! to be defined at the start of the run CALL History_Write( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered before timestepping in "History_Write"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "Diagnostics", RC ) ENDIF ENDIF !======================================================================== ! ***** D Y N A M I C T I M E S T E P L O O P ***** ! ***** a k a H E A R T B E A T L O O P ***** !======================================================================== DO N_STEP = 1, N_DYN_STEPS ! Compute & print time quantities at start of dyn step CALL Set_Current_Time() IF ( notDryRun ) CALL Print_Current_Time() ! Set time variables for dynamic loop DAY_OF_YEAR = GET_DAY_OF_YEAR() DAY = GET_DAY() ELAPSED_SEC = GET_ELAPSED_SEC() MONTH = GET_MONTH() NHMS = GET_NHMS() NYMD = GET_NYMD() HOUR = GET_HOUR() MINUTE = GET_MINUTE() SECOND = GET_SECOND() TAU = GET_TAU() YEAR = GET_YEAR() ELAPSED_TODAY = ( HOUR * 3600 ) + ( MINUTE * 60 ) + SECOND IF ( VerboseAndRoot ) THEN CALL Debug_Msg( '### MAIN: a SET_CURRENT_TIME' ) ENDIF ! Skip diagnostics & unit conversions for dry-run simulations IF ( notDryRun ) THEN ! If verbose, print global mass per species at start of timestep IF ( VerboseAndRoot ) THEN CALL Print_Species_Global_Mass_from_VVDry( & '', Input_Opt, State_Chm, & State_Met, State_Grid, RC ) ENDIF !------------------------------------------------------------------ ! %%%%% HISTORY (netCDF diagnostics) %%%%% ! ! Certain diagnostics need to be zeroed out at the start ! each timestep, before operations like drydep, wetdep, and ! convection are executed. !------------------------------------------------------------------ IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "Diagnostics", RC ) ENDIF CALL Zero_Diagnostics_StartOfTimestep( Input_Opt, State_Diag, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Zero_Diagnostics_StartOfTimestep!"' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "Diagnostics", RC ) ENDIF !------------------------------------------------------------------ ! Convert species concentrations from v/v dry to kg/kg dry so that ! the State_Chm%Species(:)%Conc unit is the same for most of the ! dynamic timestep as the unit used in GCHP/GEOS GEOS-Chem Run ! method. Skip this for dry-run simulations. !------------------------------------------------------------------ CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & new_units = KG_SPECIES_PER_KG_DRY_AIR, & previous_units = previous_units, & RC = RC ) ENDIF !===================================================================== ! ***** R U N H E M C O P H A S E 1 ***** ! ! Phase 1 updates the HEMCO clock and the content of the ! HEMCO data list. This should be done before writing the ! diagnostics organized in the HEMCO diagnostics structure, ! and before using any of the HEMCO data list fields. ! (ckeller, 4/1/15) !===================================================================== IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "HEMCO", RC ) ENDIF ! Is it time for emissions? TimeForEmis = ITS_TIME_FOR_EMIS() ! Run HEMCO Phase 1 CALL Emissions_Run( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, TimeForEmis, 1, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Emissions_Run"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "HEMCO", RC ) ENDIF IF ( VerboseAndRoot ) THEN CALL Debug_Msg( '### MAIN: a HEMCO PHASE 1' ) ENDIf !===================================================================== ! ***** W R I T E H E M C O D I A G N O S T I C S ***** !===================================================================== IF ( notDryRun ) THEN IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "Diagnostics", RC ) ENDIF ! Do not do actual output for dry-run ! Write HEMCO diagnostics (ckeller, 4/1/15) CALL HCOI_GC_WriteDiagn( Input_Opt, .FALSE., RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "HCOI_GC_WriteDiagn" ' // & '(writing HEMCO diagnostics)!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "Diagnostics", RC ) ENDIF ENDIF !===================================================================== ! ***** O B S P A C K D I A G N O S T I C S ***** !===================================================================== IF ( Input_Opt%Do_ObsPack .and. & ( ELAPSED_TODAY == 0 ) .and. notDryRun ) THEN IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "Diagnostics", RC ) ENDIF ! Initialize Obspack for the new day CALL ObsPack_Init( NYMD, NHMS, Input_Opt, State_Diag, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "ObsPack_Init"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "Diagnostics", RC ) ENDIF ENDIF !===================================================================== ! ***** T E S T F O R E N D O F R U N ***** !===================================================================== IF ( ITS_TIME_FOR_EXIT() ) GOTO 9999 !===================================================================== ! ***** L E A F A R E A I N D I C E S ***** !===================================================================== IF ( ITS_A_NEW_DAY() .and. notDryRun ) THEN ! Initialize the State_Met%XLAI_NATIVE field from HEMCO CALL Get_XlaiNative_from_HEMCO( Input_Opt, State_Grid, State_Met, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Get_XlaiNative_from_HEMCO"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF ! Compute State_Met%XLAI (for drydep) and State_Met%MODISLAI, ! which is the average LAI per grid box (for soil NOx emissions) CALL Compute_Xlai( Input_Opt, State_Grid, State_Met, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Compute_Xlai"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF ENDIF !===================================================================== ! ***** I N T E R P O L A T E Q U A N T I T I E S ***** !===================================================================== ! Do not compute any data in dry-run mode IF ( notDryRun ) THEN ! Interpolate I-3 fields to current dynamic timestep, ! based on their values at NSEC and NSEC+N_DYN CALL Interp( NSECb, ELAPSED_TODAY, N_DYN, & Input_Opt, State_Grid, State_Met ) ! Compute updated airmass quantities at each grid box. IF ( Input_Opt%LTRAN ) THEN ! No need to update mixing ratios if advection is on ! since floating pressure will not change until advection CALL AirQnt( Input_Opt, State_Chm, State_Grid, State_Met, RC ) ELSE ! If advection is off then (1) update the floating pressures now ! (PFLT_DRY/WET) to the time-interpolated met pressures computed ! in INTERP (PSC2_DRY/WET), and (2) update species mixing ratios ! for new floating pressures to conserve species mass. CALL Set_Floating_Pressures( State_Grid, State_Met, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Set_Floating_Pressures"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF CALL AirQnt( Input_Opt, State_Chm, State_Grid, State_Met, & RC, Update_Mixing_Ratio=.TRUE. ) ENDIF IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "AirQnt"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF ! SDE 05/28/13: Set H2O to State_Chm tracer if relevant and, ! if LSETH2O=F and LACTIVEH2O=T, update specific humidity ! in the stratosphere ! ! NOTE: Specific humidity may change in SET_H2O_TRAC and ! therefore this routine may call AIRQNT again to update ! air quantities and tracer concentrations (ewl, 10/28/15) IF ( Input_Opt%ITS_A_FULLCHEM_SIM .and. id_H2O > 0 ) THEN CALL Set_H2O_Trac( Input_Opt%LSETH2O, & Input_Opt, State_Chm, State_Grid, & State_Met, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Set_H2O_Trac" #1!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF ! Only force strat once IF ( Input_Opt%LSETH2O ) Input_Opt%LSETH2O = .FALSE. ENDIF ! Compute the cosine of the solar zenith angle array ! State_Met%SUNCOS = at the current time ! State_Met%SUNCOSmid = at the midpt of the chem timestep CALL Get_Cosine_SZA( Input_Opt, State_Grid, State_Met, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Get_Cosine_SZA"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF ENDIF IF ( VerboseAndRoot ) CALL Debug_Msg( '### MAIN: a INTERP, etc' ) !--------------------------------------------------------------------- ! %%% GET SOME NON-EMISSIONS DATA FIELDS VIA HEMCO %%% ! ! HEMCO can track non-emission data fields for chemistry ! simulations. Put these subroutine calls after the ! call to EMISSIONS_RUN, so that the HEMCO data structure ! will be initialized. (bmy, 3/20/15) ! ! HEMCO data list is now updated further above, so can ! take these calls out of the emissions sequence. ! (ckeller, 4/01/15) !--------------------------------------------------------------------- IF ( Input_Opt%LCHEM .and. ITS_A_NEW_MONTH() .and. notDryRun ) THEN ! The following only apply when photolysis is used, ! that is for fullchem or aerosol simulations. IF ( Input_Opt%ITS_A_FULLCHEM_SIM .or. & Input_Opt%ITS_AN_AEROSOL_SIM ) THEN ! Copy UV Albedo data (for photolysis) into the ! State_Met%UVALBEDO field. (bmy, 3/20/15) CALL Get_UvAlbedo( Input_Opt, State_Grid, State_Met, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Get_UvAlbedo"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF ENDIF ENDIF !===================================================================== ! ***** T R A N S P O R T ***** !===================================================================== IF ( ITS_TIME_FOR_DYN() .and. notDryRun ) THEN IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "Transport", RC ) ENDIF !-------------------------------------------------------------------- ! TWO-WAY NESTING OPTION ! This is only invoked when compiling GEOS-Chem with COUPLE=y ! ! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! %%%%% NOTE: THIS OPTION WAS PROBABLY BROKEN WITH THE ADDITION OF ! %%%%% HEMCO (v10-01), FLEXCHEM (v11-01), and FLEXGRID (12.5.0). ! %%%%% BUYER BEWARE. -- Bob Yantosca (22 Jan 2018) ! %%%%% ! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #if defined( EXCHANGE ) IF ( State_Grid%NestedGrid ) THEN ! Exchange the position of POST (nested-grid simulations) IF ( ITS_TIME_FOR_EXCHANGE() ) THEN CALL EXCHANGE_NESTED_POST( Input_Opt, State_Chm, State_Grid, & State_Met, RC ) ENDIF ELSE ! Exchange the position of POST (global simulations) IF ( ITS_TIME_FOR_EXCHANGE() ) THEN CALL EXCHANGE_GLOBAL_POST( Input_Opt, State_Chm, State_Grid, & State_Met, RC ) ENDIF ENDIF #endif !-------------------------------------------------------------------- ! Call the appropriate version of TPCORE IF ( Input_Opt%LTRAN ) THEN CALL Do_Transport( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! Trap potential error IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Do_Transport"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF IF ( VerboseAndRoot ) THEN CALL Debug_Msg( '### MAIN: a DO_TRANSPORT' ) ENDIF ENDIF ! Initialize wet scavenging and wetdep fields after ! the airmass quantities are reset after transport #ifdef TOMAS ! ... TOMAS microphysics: Always call SETUP_WETSCAV ... CALL Setup_WetScav( Input_Opt, State_Chm, State_Grid, & State_Met, RC ) ! Trap potential error IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Setup_WetScav" (TOMAS)!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF #else ! ... Standard GEOS-Chem: Call INIT_WETSCAV if ... ! ... convection or wet scavenging or chemistry are turned on ... IF ( Input_Opt%LCONV .or. & Input_Opt%LWETD .or. & Input_Opt%LCHEM ) THEN CALL Setup_WetScav( Input_Opt, State_Chm, State_Grid, & State_Met, RC ) ! Trap potential error IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Setup_WetScav"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF IF ( VerboseAndRoot ) THEN CALL Debug_Msg( '### MAIN: a SETUP_WETSCAV' ) ENDIF ENDIF #endif IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "Transport", RC ) ENDIF ENDIF ! Update clock tracer (skip if running in dry-run mode) IF ( notDryRun .and. id_CLOCK > 0 ) THEN CALL Set_Clock_Tracer( State_Chm, State_Grid ) ENDIF !===================================================================== ! ***** B O U N D A R Y C O N D I T I O N S ***** !===================================================================== ! Applied in nested-grid simulations only. ! ! Even if boundary conditions are only READ via HEMCO at every 3-hours, ! it has to be imposed on the simulation grid at every time step start ! to prevent transport in the buffer region from distorting the boundary ! conditions. ! ! Has to be after all HEMCO operations as State_Chm%BoundaryCond needs ! to be populated. ! ! Whether or not this is done after transport is the ! same since other operations do not change the species concentrations ! in the buffer zone, but putting it after transport allows for outputs ! to better reflect the buffer zone's underlying BCs. (hplin, 7/28/23) IF ( State_Grid%NestedGrid .and. notDryRun ) THEN CALL Set_Boundary_Conditions( Input_Opt, State_Chm, State_Grid, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in call to "Set_Boundary_Conditions"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF ENDIF !===================================================================== ! ***** C O M P U T E P B L H E I G H T etc. ***** !===================================================================== IF ( notDryRun ) THEN IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "Boundary layer mixing", RC ) ENDIF ! Move this call from the PBL mixing routines because the PBL ! height is used by drydep and some of the emissions routines. ! (ckeller, 3/5/15) CALL Compute_PBL_Height( Input_Opt, State_Grid, State_Met, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Compute_PBL_Height"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "Boundary layer mixing", RC ) ENDIF IF ( VerboseAndRoot ) THEN CALL Debug_Msg( '### MAIN: a COMPUTE_PBL_HEIGHT' ) ENDIF ENDIF !--------------------------------------------------------------------- ! Test for emission timestep ! Now always do emissions here, even for full-mixing ! (ckeller, 3/5/15) ! ! Emissions are ALWAYS done, even in dry-run mode. This is ! raison d'etre for --dry-run (hplin, 11/1/19) !--------------------------------------------------------------------- IF ( ITS_TIME_FOR_EMIS() ) THEN !================================================================== ! ***** D R Y D E P O S I T I O N ***** !================================================================== IF ( Input_Opt%LDRYD .and. notDryRun ) THEN IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "Dry deposition", RC ) ENDIF ! Compute drydep velocities CALL Do_Drydep( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Do_Drydep!"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF IF ( Input_Opt%useTimers ) THEN CALL Timer_End ( "Dry deposition", RC ) ENDIF IF ( VerboseAndRoot ) THEN CALL Debug_Msg( '### MAIN: a DO_DRYDEP' ) ENDIF ENDIF !================================================================== ! ***** E M I S S I O N S ***** ! ! NOTE: For a complete description of how emissions from ! HEMCO are added into GEOS-Chem (and how they are mixed ! into the boundary layer), please see the wiki page: ! ! http://wiki-geos-chem.org/Distributing_emissions_in_the_PBL !================================================================== IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "HEMCO", RC ) ENDIF ! Is it time for emissions? TimeForEmis = ITS_TIME_FOR_EMIS() ! EMISSIONS_RUN will call HEMCO run phase 2. HEMCO run phase ! only calculates emissions. All data has been read to disk ! in phase 1 at the beginning of the time step. ! (ckeller, 4/1/15) CALL Emissions_Run( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, TimeForEmis, 2, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Emissions_Run"! after drydep!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF IF ( VerboseAndRoot ) THEN CALL Debug_Msg( '### MAIN: a HEMCO PHASE 2' ) ENDIF IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "HEMCO", RC ) ENDIF ENDIF ! Also prescribe methane surface concentrations throughout PBL ! (currently done outside emissions) IF ( Input_Opt%ITS_A_FULLCHEM_SIM .and. & id_CH4 > 0 .and. & notDryRun ) THEN IF ( VerboseAndRoot ) THEN CALL DEBUG_MSG( '### MAIN: Setting PBL CH4 conc') ENDIF ! Set CH4 concentrations CALL SET_CH4( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in call to "SET_CH4"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF ENDIF !--------------------------------------------------------------------- ! Test for convection timestep !--------------------------------------------------------------------- IF ( ITS_TIME_FOR_CONV() .and. notDryRun ) THEN !================================================================== ! ***** M I X E D L A Y E R M I X I N G ***** !================================================================== IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "Boundary layer mixing", RC ) ENDIF IF ( Input_Opt%LTURB ) THEN IF ( Input_Opt%LNLPBL ) THEN !------------------------------------------------------------ ! %%%%% VDIFF (non-local PBL mixing) %%%%% ! Compute the surface flux for the non-local mixing, ! (which means getting emissions & drydep from HEMCO) ! and store it in State_Chm%Surface_Flux !------------------------------------------------------------ CALL Compute_Sflx_For_Vdiff( Input_Opt, State_Chm, & State_Diag, State_Grid, & State_Met, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Compute_Sflx_for_Vdiff"!' CALL Error_Stop( errMsg, thisLoc ) ENDIF IF ( VerboseAndRoot ) THEN CALL Debug_Msg( '### MAIN: a Compute_Sflx_For_Vdiff' ) ENDIF ENDIF !------------------------------------------------------------ ! Update drydep velocities by adding the sea-air deposition ! velocity computed by the HEMCO SeaFlux extension !------------------------------------------------------------ CALL Set_DryDepVel_Diagnostics( Input_Opt, State_Chm, & State_Diag, State_Grid, & State_Met, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = & 'Error encountered in "Update_DryDepVel_for_Turbday"!' CALL Error_Stop( errMsg, thisLoc ) ENDIF IF ( VerboseAndRoot ) THEN CALL Debug_Msg( '### MAIN: a Set_DryDepVel_Diagnostics' ) ENDIF ENDIF ! Note: mixing routine expects tracers in v/v ! DO_MIXING applies the tracer tendencies (dry deposition, ! emission rates) to the tracer arrays and performs PBL ! mixing. ! In the non-local PBL scheme, dry deposition and emission ! fluxes below the PBL are handled within the PBL mixing ! routine. Otherwise, tracer concentrations are first updated ! and the full-mixing is then applied. ! (ckeller, 3/5/15) CALL Do_Mixing( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Do_Mixing"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "Boundary layer mixing", RC ) ENDIF IF ( VerboseAndRoot ) CALL Debug_Msg( '### MAIN: a TURBDAY:2' ) !================================================================== ! ***** C L O U D C O N V E C T I O N ***** !================================================================== IF ( Input_Opt%LCONV ) THEN IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "Convection", RC ) ENDIF ! Call the appropriate convection routine CALL Do_Convection( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Do_Convection"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF IF ( VerboseAndRoot ) THEN CALL Debug_Msg( '### MAIN: a CONVECTION' ) ENDIF IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "Convection", RC ) ENDIF ENDIF ENDIF !===================================================================== ! ***** C H E M I S T R Y ***** !===================================================================== IF ( notDryRun ) THEN IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "All chemistry", RC ) ENDIF ! Get the overhead column O3 for use with FAST-J ! NOTE: Move to CHEMISTRY section. This now has to come after ! the call to HEMCO emissions driver EMISSIONS_RUN. (bmy, 3/20/15) CALL Get_Overhead_O3_For_FastJ( Input_Opt, State_Chm, & State_Grid, State_Met, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Get_Overhead_O3_for_FastJ"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF ! Every chemistry timestep... IF ( ITS_TIME_FOR_CHEM() ) THEN ! SDE 05/28/13: Set H2O to State_Chm tracer if relevant IF ( Input_Opt%ITS_A_FULLCHEM_SIM .and. id_H2O > 0 ) THEN CALL Set_H2O_Trac( .FALSE., & Input_Opt , State_Chm, & State_Grid, State_Met, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Set_H2O_Trac" #2!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF ENDIF ! Do GEOS-Chem chemistry CALL Do_Chemistry( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Do_Chemistry"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF ENDIF IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "All chemistry", RC ) ENDIF ENDIF !===================================================================== ! ***** W E T D E P O S I T I O N (rainout + washout) ***** !===================================================================== IF ( Input_Opt%LWETD .and. ITS_TIME_FOR_DYN() .and. notDryRun ) THEN IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "Wet deposition", RC ) ENDIF ! Do wet deposition CALL Do_WetDep( Input_Opt, State_Chm, State_Diag, State_Grid, & State_Met, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Do_WetDep"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "Wet deposition", RC ) ENDIF ENDIF !===================================================================== ! ***** U P D A T E O P T I C A L D E P T H ***** !===================================================================== IF ( ITS_TIME_FOR_CHEM() .and. notDryRun ) THEN IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "All chemistry", RC ) CALL Timer_Start( "=> Aerosol chem", RC ) ENDIF ! Recalculate the optical depth at the wavelength(s) specified ! in the Radiation Menu. This must be done before the call to any ! diagnostic and only on a chemistry timestep. ! (skim, 02/05/11) CALL Recompute_OD( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Recompute_OD"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "All chemistry", RC ) CALL Timer_End( "=> Aerosol chem", RC ) ENDIF ENDIF #ifdef RRTMG !===================================================================== ! ***** R R T M G R A D I A T I V E T R A N S F E R ***** !===================================================================== IF ( Input_opt%LRAD .and. ITS_TIME_FOR_RT() .and. notDryRun ) THEN IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "RRTMG", RC ) ENDIF ! Splash page IF ( am_I_Root .and. FIRST_RT ) THEN WRITE( 6, '(a)' ) REPEAT( '#', 79 ) WRITE( 6, 500 ) 'R R T M G : Radiative Transfer Model (by AER)' 500 FORMAT( '#####', 12x, a, 12x, '#####' ) WRITE( 6, '(a)' ) REPEAT( '#', 79 ) ENDIF State_Chm%RRTMG_iSeed = State_Chm%RRTMG_iSeed + 15 !------------------------------------------------------------------ ! Determine if we are doing clear-sky or all-sky. ! Clear-sky is output with all-sky, so we just need ! to run once regardless of whether both are required ! or just one. !------------------------------------------------------------------ IF ( Input_Opt%LSKYRAD(2) ) THEN State_Chm%RRTMG_iCld = 1 ELSE State_Chm%RRTMG_iCld = 0 !clouds are on ENDIF !------------------------------------------------------------------ ! Calculation for each of the potential output types ! See: wiki.geos-chem.org/Coupling_GEOS-Chem_with_RRTMG ! ! RRTMG outputs (scheduled in HISTORY.rc): ! 0-BA 1=O3 2=ME 3=SU 4=NI 5=AM ! 6=BC 7=OA 8=SS 9=DU 10=PM 11=ST ! ! State_Diag%RadOutInd(1) will ALWAYS correspond to BASE due ! to how it is populated from HISTORY.rc diaglist_mod.F90. ! BASE is always calculated first since its flux is used to ! calculate other RRTMG flux diagnostics. !------------------------------------------------------------------ ! Calculate BASE first N = 1 ! Echo info WRITE( 6, 520 ) State_Diag%RadOutName(N), State_Diag%RadOutInd(N) ! Generate mask for species in RT CALL Set_SpecMask( State_Diag%RadOutInd(N), State_Chm ) ! Dummy values (FDH not available in GC-Classic) Allocate(DT_3D(0,0,0),Stat=RC) IF ( RC /= 0 ) Call Error_Stop( 'Error allocating DT_3D', ThisLoc ) Allocate(HR_3D(0,0,0),Stat=RC) IF ( RC /= 0 ) Call Error_Stop( 'Error allocating HR_3D', ThisLoc ) ! Compute radiative transfer for the given output CALL Do_RRTMG_Rad_Transfer( ThisDay = Day, & ThisMonth = Month, & iCld = State_Chm%RRTMG_iCld, & iSpecMenu = State_Diag%RadOutInd(N),& iNcDiag = N, & iSeed = State_Chm%RRTMG_iSeed, & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & DT_3D = DT_3D, & HR_3D = HR_3D, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Do_RRTMG_Rad_Transfer", ' // & 'for RRTMG output = ' // & TRIM( State_Diag%RadOutName(N) ) CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF ! Calculate for rest of outputs, if any DO N = 2, State_Diag%nRadOut WRITE( 6, 520 ) State_Diag%RadOutName(N), State_Diag%RadOutInd(N) CALL Set_SpecMask( State_Diag%RadOutInd(N), State_Chm ) CALL Do_RRTMG_Rad_Transfer( ThisDay = Day, & ThisMonth = Month, & iCld = State_Chm%RRTMG_iCld, & iSpecMenu = State_Diag%RadOutInd(N),& iNcDiag = N, & iSeed = State_Chm%RRTMG_iSeed, & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & DT_3D = DT_3D, & HR_3D = HR_3D, & RC = RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Do_RRTMG_Rad_Transfer", ' // & 'for RRTMG output = ' // & TRIM( State_Diag%RadOutName(N) ) CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF ENDDO 520 FORMAT( 5x, '- Calling RRTMG to compute fluxes and optics: ', & a4, ' (Index = ', i4.4, ')' ) IF ( VerboseAndRoot ) THEN CALL Debug_Msg( '### MAIN: a DO_RRTMG_RAD_TRANSFER' ) ENDIF If (Allocated(DT_3D)) Deallocate(DT_3D) If (Allocated(HR_3D)) Deallocate(HR_3D) IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "RRTMG", RC ) ENDIF IF ( FIRST_RT ) THEN FIRST_RT = .FALSE. ENDIF ENDIF #endif !===================================================================== ! ***** D I A G N O S T I C S A R C H I V A L ***** !===================================================================== IF ( notDryRun ) THEN !------------------------------------------------------------------ ! ***** H I S T O R Y U P D A T E ***** !------------------------------------------------------------------ IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "Diagnostics", RC ) ENDIF ! Set State_Diag arrays that rely on state at end of timestep CALL Set_Diagnostics_EndofTimestep( Input_Opt, State_Chm, & State_Diag, State_Grid, & State_Met, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Set_Diagnostics_EndOfTimestep"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF ! Archive aerosol mass and PM2.5 diagnostics IF ( State_Diag%Archive_AerMass ) THEN CALL Set_AerMass_Diagnostic( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ENDIF ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Set_AerMass_Diagnostic"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF ! Turn off diagnostics timer IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "Diagnostics", RC ) ENDIF !------------------------------------------------------------------ ! Set species concentration back to v/v dry air (mol/mol dry air) ! prior to setting restart file arrays. Doing this conversion ! every timestep is required for bit-for-bit reproducibility when ! breaking up runs in time. !------------------------------------------------------------------ CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & new_units = previous_units, & RC = RC ) ! Turn diagnostics timer back on IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "Diagnostics", RC ) ENDIF ! Set diagnostics arrays in State_Diag that are in mol/mol CALL Set_SpcConc_Diags_VVDry( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! Increment the timestep values by the heartbeat time ! This is because we need to write out data with the timestamp ! at the end of the heartbeat timestep (i.e. at end of run) ! ! NOTE: This should now go before HISTORY_UPDATE, so that we ! can recompute the update alarm interval properly for monthly ! or yearly intervals spanning leap years. (bmy, 3/5/19) CALL History_SetTime( Input_Opt, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "History_SetTime"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF ! Update each HISTORY ITEM from its data source CALL History_Update( Input_Opt, State_Diag, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "History_Update"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "Diagnostics", RC ) ENDIF !------------------------------------------------------------------ ! ***** O B S P A C K D I A G N O S T I C S ***** !------------------------------------------------------------------ IF ( Input_Opt%Do_ObsPack ) THEN IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "Diagnostics", RC ) ENDIF ! Sample the observations in today's ObsPack file CALL ObsPack_Sample( NYMD, NHMS, Input_Opt, & State_Chm, State_Diag, State_Grid, & State_Met, RC ) IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "Diagnostics", RC ) ENDIF ENDIF !------------------------------------------------------------------ ! ***** P L A N E F L I G H T D I A G S E T U P ***** !------------------------------------------------------------------ IF ( Input_Opt%Do_Planeflight .and. ITS_A_NEW_DAY() ) THEN IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "Diagnostics", RC) ENDIF ! Initialize planeflight diagnostic CALL Setup_PlaneFlight( Input_Opt, State_Chm, State_Grid, & State_Met, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Setup_Planeflight"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "Diagnostics", RC ) ENDIF ENDIF !------------------------------------------------------------------ ! ***** C H 4 S I M U L A T I O N D I A G N O S I C S ***** ! ! Get CH4 columns by applying satellite observational operators !------------------------------------------------------------------ IF ( Input_Opt%Satellite_CH4_Columns ) THEN IF ( ITS_A_NEW_HOUR() ) THEN IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "Diagnostics", RC) ENDIF ! CH4 columns from the GOSAT instrument IF ( Input_Opt%GOSAT_CH4_OBS ) THEN CALL CALC_GOSAT_CH4_FORCE( Input_Opt, State_Chm, & State_Grid, State_Met ) ENDIF ! CH4 columns from the AIRS instrument IF ( Input_Opt%AIRS_CH4_OBS ) THEN CALL CALC_AIRS_CH4_FORCE( Input_Opt, State_Chm, & State_Grid, State_Met ) ENDIF ! CH4 columns from the TCCON instrument IF ( Input_Opt%TCCON_CH4_OBS ) THEN CALL CALC_TCCON_CH4_FORCE( Input_Opt, State_Chm, & State_Grid, State_Met ) ENDIF IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "Diagnostics", RC ) ENDIF ENDIF ENDIF ENDIF !===================================================================== ! ***** I N C R E M E N T E L A P S E D T I M E ***** ! ! Moved before diagnostics to count the last timestep as done. ! Need to save timestamps for filenames. (ccc, 5/13/09) !===================================================================== CALL Timestamp_Diag() CALL Set_Elapsed_Sec() CALL Set_Current_Time() IF ( VerboseAndRoot ) THEN CALL Debug_Msg( '### MAIN: after SET_ELAPSED_SEC' ) ENDIF IF ( notDryRun ) THEN !================================================================== ! ***** D I A G N O S T I C S A R C H I V A L ***** ! ! ***** C O N T I N U E D ***** !================================================================== IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "Diagnostics", RC ) ENDIF !------------------------------------------------------------------ ! ***** P L A N E F L I G H T D I A G N O S T I C ***** !------------------------------------------------------------------ IF ( Input_Opt%Do_Planeflight ) THEN ! Archive data along the flight track CALL PLANEFLIGHT( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Planeflight"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF ENDIF IF ( VerboseAndRoot ) CALL Debug_Msg( '### MAIN: after Planeflight' ) IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "Diagnostics", RC ) ENDIF ENDIF !===================================================================== ! ***** C O P Y I - 3 F I E L D S ***** ! ! The I-3 fields at the end of an outer timestep (every 3 hours) ! become the fields at the beginning of the next timestep. ! This update must occur before writing History. (wbd1 12/03/19) !===================================================================== IF ( notDryRun ) THEN IF ((mod(get_hour(), 3) .eq. 0) .AND. (get_minute() .eq. 0)) THEN CALL Copy_I3_Fields( State_Met, State_Grid ) IF ( VerboseAndRoot ) THEN CALL Debug_Msg( '### MAIN: after COPY_I3_FIELDS' ) ENDIF ENDIF ENDIF !===================================================================== ! ***** C O P Y I - 1 d y n F I E L D S ***** ! ! The I-1 fields at the end of an outer timestep (every 1 hours) ! become the fields at the beginning of the next timestep. ! This update must occur before writing History. !===================================================================== IF ( notDryRun .and. TRIM(State_Grid%GridRes) == '0.125x0.15625' ) THEN IF ((mod(get_hour(), 1) .eq. 0) .AND. (get_minute() .eq. 0)) THEN CALL Copy_I1dyn_Fields( State_Met ) IF ( VerboseAndRoot ) THEN CALL Debug_Msg( '### MAIN: after COPY_I1dyn_FIELDS' ) ENDIF ENDIF ENDIF !--------------------------------------------------------------------- ! ***** H I S T O R Y W R I T E ***** !--------------------------------------------------------------------- IF ( notDryRun ) THEN IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "Diagnostics", RC ) ENDIF ! Write HISTORY ITEMS in each diagnostic collection to disk ! (or skip writing if it is not the proper output time. CALL History_Write( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "History_Write"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "Diagnostics", RC ) ENDIF ENDIF !===================================================================== ! ***** E N D O F D Y N A M I C T I M E S T E P ***** !===================================================================== ENDDO ENDDO !========================================================================== ! ***** C L E A N U P A N D Q U I T ***** !========================================================================== 9999 CONTINUE ! Skip operations when running in dry-run mode IF ( notDryRun ) THEN !------------------------------------------------------------------------ ! ***** W R I T E H E M C O R E S T A R T S ***** !------------------------------------------------------------------------ IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "HEMCO", RC ) ENDIF ! Force the output of a HEMCO restart file (ckeller, 4/1/15) CALL HCOI_GC_WriteDiagn( Input_Opt, .TRUE., RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "HCOI_GC_WriteDiagn"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "HEMCO", RC ) ENDIF !------------------------------------------------------------------------ ! ***** O B S P A C K D I A G N O S T I C S ***** ! ! Flush any unwritten ObsPack data to disk and finalize !------------------------------------------------------------------------ IF ( Input_Opt%Do_ObsPack ) THEN IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "Diagnostics", RC ) ENDIF ! Write any remaining ObsPack data to disk, and immediately ! thereafter free the ObsPack pointer fields of State_Diag IF ( ASSOCIATED( State_Diag%ObsPack_id ) ) THEN CALL ObsPack_Write_Output( Input_Opt, State_Diag, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "ObsPack_Write_Output"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF ENDIF ! Free the ObsPack species mapping fields of State_Diag CALL ObsPack_SpeciesMap_Cleanup( Input_Opt, State_Diag, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "ObsPack_SpeciesMap_Cleanup"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "Diagnostics", RC ) ENDIF ENDIF ENDIF !-------------------------------------------------------------------------- ! Finalize GEOS-Chem !-------------------------------------------------------------------------- ! Cleanup the dry-run simulation (if necessary) CALL Cleanup_Dry_Run( Input_Opt, RC ) ! Close all files CALL CLOSE_FILES() IF ( VerboseAndRoot ) CALL Debug_Msg( '### MAIN: a CLOSE_FILES' ) !%%% NOTE: Call HISTORY_CLEANUP from cleanup.F. This will !%%% close all netCDF files upon both normal or abnormal exits. ! Deallocate fields of the Chemistry State object CALL Cleanup_State_Chm( State_Chm, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Cleanup_State_Chm"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF IF ( VerboseAndRoot ) CALL Debug_Msg( '### MAIN: a cleanup State_Chm' ) ! Deallocate fields of the Diagnostics State object CALL Cleanup_State_Diag( State_Diag, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Cleanup_State_Diag"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF IF ( VerboseAndRoot ) CALL Debug_Msg( '### MAIN: a cleanup State_Diag' ) ! Deallocate fields of the Meteorology State object CALL Cleanup_State_Met( State_Met, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Cleanup_State_Met"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF IF ( VerboseAndRoot ) CALL Debug_Msg( '### MAIN: a cleanup State_Met' ) ! Deallocate dynamic module arrays CALL CleanUp( Input_Opt, State_Grid, .FALSE., RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Cleanup"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF IF ( VerboseAndRoot ) CALL Debug_Msg( '### MAIN: a cleanup modules' ) ! Deallocate fields of the Input Options object CALL Cleanup_Input_Opt( Input_Opt, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Cleanup_Input_Opt"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF IF ( VerboseAndRoot ) CALL Debug_Msg( '### MAIN: a cleanup Input_Opt' ) ! Deallocate fields of the Grid State object CALL Cleanup_State_Grid( State_Grid, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Cleanup_State_grid"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF IF ( VerboseAndRoot ) CALL Debug_Msg( '### MAIN: a cleanup State_Grid' ) ! Deallocate fields of the diagnostics list object IF ( notDryRun ) THEN CALL Cleanup_DiagList( Diag_List, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Cleanup_DiagList"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF CALL Cleanup_TaggedDiagList( TaggedDiag_List, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "Cleanup_TaggedDiagList"!' CALL Error_Stop( ErrMsg, ThisLoc ) ENDIF IF ( VerboseAndRoot ) THEN CALL Debug_Msg( '### MAIN: a cleanup diag lists' ) ENDIF ENDIF #ifdef APM ! Clean up arrays for APM microphysics, etc. CALL CLEANUP_APMARRAYS() CALL CLEANUP_APM3D( Input_Opt, RC ) #endif !----------------------------------------------------------------------------- ! TWO-WAY NESTING OPTION ! This is only invoked when compiling GEOS-Chem with COUPLE=y ! ! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! %%%%% NOTE: THIS OPTION WAS PROBABLY BROKEN WITH THE ADDITION OF HEMCO %%%%% ! %%%%% AND FLEXCHEM INTO GEOS-CHEM V10-01 AND v11-01. BUYER BEWARE. %%%%% ! %%%%% -- Bob Yantosca (22 Jan 2018) %%%%% ! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #ifdef EXCHANGE ! Finalize the two-way nesting CALL Cleanup_Exchange( Input_Opt ) #endif !----------------------------------------------------------------------------- ! Free the shadow variables in error_mod.F CALL Cleanup_Error() #ifdef GTMM_Hg ! Deallocate arrays from GTMM model for mercury simulation IF ( Input_Opt%LGTMM ) CALL CleanupCASAarrays() #endif IF ( VerboseAndRoot ) CALL Debug_Msg( '### MAIN: a CLEANUP' ) IF ( Input_Opt%useTimers ) THEN ! Stop remaining timers CALL Timer_End( "GEOS-Chem", RC ) ! Print timer output (skip if a dry-run) IF ( notDryRun ) THEN CALL Timer_PrintAll( Input_Opt, RC ) ENDIF ENDIF !-------------------------------------------------------------------------- ! Remind users to run the ./metrics.py script to obtain OH metrics !-------------------------------------------------------------------------- IF ( Input_Opt%ITS_A_FULLCHEM_SIM ) THEN WRITE( 6, '(/,a)' ) REPEAT( '%', 65 ) WRITE( 6, 300 ) 'To compute the OH metrics, execute the Python' WRITE( 6, 300 ) ' script "metrics.py" in this run directory. ' WRITE( 6, '(a)' ) REPEAT( '%', 65 ) 300 FORMAT( '%%%%%', 5x, a, 5x, '%%%%%' ) ENDIF ! Print ending time of simulation CALL Display_End_Time() ! Flush the buffer to get output CALL Flush( 6 ) CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: display_model_info ! ! !DESCRIPTION: Internal Subroutine DISPLAY\_MODEL\_INFO displays the ! appropriate messages for the given model and machine type. It also ! prints the starting time and date (local time) of the GEOS-Chem simulation. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Display_Model_Info() ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! For system time stamp CHARACTER(LEN=16) :: STAMP ! Version number from CMake #include "gc_classic_version.H" !----------------------------------------------------------------- ! Write header !----------------------------------------------------------------- WRITE( 6, '(a)' ) & REPEAT( '*', 13 ) // & ' S T A R T I N G G E O S - C H E M ' // & REPEAT( '*', 13 ) !----------------------------------------------------------------- ! Mode of simulation !----------------------------------------------------------------- WRITE( 6, 100 ) 'GEOS-Chem "Classic"' !----------------------------------------------------------------- ! Print model version !----------------------------------------------------------------- WRITE( 6, 110 ) TRIM( GC_CLASSIC_VERSION ) !----------------------------------------------------------------- ! Print compiler !----------------------------------------------------------------- #if defined( LINUX_IFORT ) WRITE( 6, 120 ) 'Intel Fortran Compiler (aka ifort)' #elif defined( LINUX_GFORTRAN ) WRITE( 6, 120 ) 'GNU Fortran compiler (aka gfortran)' #endif !----------------------------------------------------------------- ! Print default floating-point precision !----------------------------------------------------------------- #ifdef USE_REAL8 WRITE( 6, 130 ) '8-byte real (aka REAL*8)' #else WRITE( 6, 130 ) '4-byte real (aka REAL*4)' #endif !----------------------------------------------------------------- ! Print status of OpenMP !----------------------------------------------------------------- #ifdef NO_OMP WRITE( 6, 150 ) 'OFF' #else WRITE( 6, 150 ) 'ON' #endif !----------------------------------------------------------------- ! Print status of netCDF diagnostics (aka History) - always on !----------------------------------------------------------------- WRITE( 6, 170 ) 'ON' !----------------------------------------------------------------- ! Print msg if netCDF compression is supported !----------------------------------------------------------------- #ifdef NC_HAS_COMPRESSION WRITE( 6, 180 ) 'SUPPORTED' #else WRITE( 6, 180 ) 'NOT SUPPORTED (or shut off w/ NC_NODEFLATE=y)' #endif !----------------------------------------------------------------- ! Print msg if Luo et al wetdep scheme is supported !----------------------------------------------------------------- #ifdef LUO_WETDEP WRITE( 6, 185 ) 'ON' #else WRITE( 6, 185 ) 'OFF' #endif !----------------------------------------------------------------- ! System time stamp !----------------------------------------------------------------- STAMP = SYSTEM_TIMESTAMP() WRITE( 6, 190 ) STAMP !----------------------------------------------------------------- ! Format strings !----------------------------------------------------------------- 100 FORMAT( /, '===> Mode of operation : ', a ) 110 FORMAT( '===> GEOS-Chem version : ', a ) 120 FORMAT( '===> Compiler : ', a ) 130 FORMAT( '===> Flexible precision set to : ', a ) 150 FORMAT( '===> Parallelization w/ OpenMP : ', a ) 160 FORMAT( '===> Binary punch diagnostics : ', a ) 170 FORMAT( '===> netCDF diagnostics : ', a ) 180 FORMAT( '===> netCDF file compression : ', a ) 185 FORMAT( '===> Luo et al (2019) wetdep? : ', a ) 190 FORMAT( /, '===> SIMULATION START TIME: ', a, ' <===', / ) END SUBROUTINE Display_Model_Info !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: display_end_time ! ! !DESCRIPTION: Internal subroutine DISPLAY\_END\_TIME prints the ending ! time of the GEOS-Chem simulation. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Display_End_Time() ! ! !REVISION HISTORY: ! 03 May 2005 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=16) :: STAMP ! Print system time stamp STAMP = SYSTEM_TIMESTAMP() WRITE( 6, 100 ) STAMP 100 FORMAT( /, '===> SIMULATION END TIME: ', a, ' <===', / ) ! Echo info WRITE ( 6, 3000 ) 3000 FORMAT( /, '************** E N D O F G E O S -- C H E M ', & '**************' ) END SUBROUTINE Display_End_Time !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: get_overhead_o3_for_fastj ! ! !DESCRIPTION: Internal subroutine GET\_OVERHEAD\_O3\_FOR\_FASTJ !\\ !\\ ! !INTERFACE: ! SUBROUTINE Get_Overhead_O3_For_FastJ( Input_Opt, State_Chm, & State_Grid, State_Met, RC ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt TYPE(GrdState), INTENT(IN) :: State_Grid TYPE(MetState), INTENT(IN) :: State_Met ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! ! OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! ! !REMARKS: ! This routine makes use of variables declared in above in the main program ! (which are visible in all sub-programs below the CONTAINS statement). ! . ! The original code was done in FAST-J routine "set_prof.F", but has been ! split off to facilitate development of the grid-independent model. ! ! !REVISION HISTORY: ! 07 Mar 2012 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! FAST-J is only used for fullchem and offline aerosol, skip otherwise IF ( Input_Opt%ITS_A_FULLCHEM_SIM .or. & Input_Opt%ITS_AN_AEROSOL_SIM .or. & Input_Opt%ITS_A_MERCURY_SIM ) THEN ! Only execute this if we are doing chemistry ! and if it we are at a chemistry timestep IF ( Input_Opt%LCHEM .and. ITS_TIME_FOR_CHEM() ) THEN ! Get the overhead O3 column for FAST-J. Take either the ! TOMS O3 data or the column O3 directly from the met fields CALL Compute_Overhead_O3( Input_Opt, State_Grid, State_Chm, DAY, & Input_Opt%USE_O3_FROM_MET, & State_Met%TO3, RC ) ENDIF ENDIF END SUBROUTINE Get_Overhead_O3_For_FastJ !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_Dry_Run ! ! !DESCRIPTION: Looks at the input arguments to determine if the user ! has selected to do a GEOS-Chem dry-run. If so, then the proper ! fields of Input\_Opt will be populated accordingly, and the dry-run ! log file will be opened. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_Dry_Run( Input_Opt, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input Options Object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! If in a "dry-run" mode, GEOS-Chem will simply check whether files ! are present (and possibly in the correct format) and go through ! time-steps to check met fields and other IO issues. ! No actual "compute" is performed. ! ! !REVISION HISTORY: ! 13 Nov 2019 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: nArg, ArgLen ! Strings CHARACTER(LEN=255) :: ArgVal, ErrMsg, ThisLoc !================================================================= ! Init_Dry_Run begins here! !================================================================= ! Initialize RC = GC_SUCCESS nArg = 0 ErrMsg = '' ThisLoc = ' -> at Init_Dry_Run (in GeosCore/main.F90)' !================================================================= ! Parse arguments to determine if the dry-run has been selected !================================================================= DO ! Initialize for next argument ArgLen = 0 ArgVal = '' ! Get the next argument CALL Get_Command_Argument( nArg, ArgVal, ArgLen ) IF ( ArgLen == 0 ) EXIT ! Parse the arguments SELECT CASE( TRIM( ArgVal ) ) ! Test for the dry-run switch CASE( '--dryrun' ) Input_Opt%DryRun = .TRUE. ! Otherwise pass through CASE DEFAULT ! pass END SELECT ! Increment the argument counter nArg = nArg + 1 ENDDO !================================================================= ! If GEOS-Chem is running in dry-run mode ! then print a warning to both to stdout and the HEMCO log !================================================================= IF ( Input_Opt%DryRun ) THEN CALL Print_Dry_Run_Warning( 6 ) ENDIF END SUBROUTINE Init_Dry_Run !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Cleanup_Dry_Run ! ! !DESCRIPTION: Looks at the input arguments to determine if the user ! has selected to do a GEOS-Chem dry-run. If so, then the proper ! fields of Input\_Opt will be populated accordingly. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Cleanup_Dry_Run( Input_Opt, RC ) ! ! !USES: ! USE ErrCode_Mod USE HCO_State_GC_Mod, ONLY : HcoState USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options Object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! Uses the intrinsic F2003 function Get_Command_Argument. ! ! !REVISION HISTORY: ! 13 Nov 2019 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! Initialize RC = GC_SUCCESS ! Skip if not a dry-run simulation IF ( Input_Opt%DryRun ) THEN ! Print dry-run header to stdout ! (which is usually redirected to the dryrun log file) CALL Print_Dry_Run_Warning( 6 ) ! Print dry-run header to HEMCO.log file ! (if HEMCO output is not already being sent to stdout) IF ( HcoState%Config%Err%LUN > 0 ) THEN CALL Print_Dry_Run_Warning( HcoState%Config%Err%LUN ) ENDIF ENDIF END SUBROUTINE Cleanup_Dry_Run !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Print_Dry_Run_Warning ! ! !DESCRIPTION: Prints the warning for the GEOS-Chem dry run to either ! stdout (aka the GC log file) and the dry-run log file. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Print_Dry_Run_Warning( U ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: U ! Logical unit number ! ! !REVISION HISTORY: ! 06 Jan 2015 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC !================================================================= ! Print warning info to the desired file !================================================================= WRITE( U, 100 ) WRITE( U, 100 ) REPEAT( '!', 79 ) WRITE( U, 100 ) '!!! GEOS-CHEM IS IN DRY-RUN MODE!' WRITE( U, 100 ) '!!!' WRITE( U, 100 ) '!!! You will NOT get output for this run!' WRITE( U, 100 ) '!!! Use this command to validate a ' // & 'GEOS-Chem run configuration:' WRITE( U, 100 ) '!!! ./gcclassic --dryrun > log' WRITE( U, 100 ) '!!!' WRITE( U, 100 ) '!!! REMOVE THE --dryrun ARGUMENT FROM THE ' // & 'COMMAND LINE' WRITE( U, 100 ) '!!! BEFORE RUNNING A GEOS-Chem PRODUCTION ' // & 'SIMULATION!' WRITE( U, 100 ) REPEAT( '!', 79 ) WRITE( U, 120 ) '!!! Start Date : ', & Input_Opt%NYMDb, Input_Opt%NHMSb WRITE( U, 120 ) '!!! End Date : ', & Input_Opt%NYMDe, Input_Opt%NHMSe WRITE( U, 110 ) '!!! Simulation : ', & TRIM(Input_Opt%SimulationName) WRITE( U, 110 ) '!!! Meteorology : ', & TRIM(Input_Opt%MetField ) WRITE( U, 110 ) '!!! Grid Resolution : ', & TRIM(State_Grid%GridRes ) WRITE( U, 100 ) REPEAT( '!', 79 ) WRITE( U, 100 ) ! Format statements 100 FORMAT( a ) 110 FORMAT( a, a ) 120 FORMAT( a, i8.8, 1x, i6.6 ) END SUBROUTINE Print_Dry_Run_Warning !EOC END PROGRAM GEOS_Chem #endif ================================================ FILE: Interfaces/GCHP/CMakeLists.txt ================================================ add_subdirectory(Registry) add_library(GCHP STATIC Chem_GridCompMod.F90 gchp_chunk_mod.F90 gchp_historyexports_mod.F90 ) target_link_libraries(GCHP PUBLIC GeosCore ) add_dependencies(GCHP registry) target_include_directories(GCHP PUBLIC ${CMAKE_CURRENT_BINARY_DIR}/Registry) ================================================ FILE: Interfaces/GCHP/Chem_GridCompMod.F90 ================================================ #include "MAPL_Generic.h" !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: GEOSCHEMchem_GridCompMod ! ! !DESCRIPTION: GEOSCHEMchem_GridComp is an ESMF5 gridded component ! implementing the GEOS-Chem chemistry and related processes, including ! dry deposition, emissions, and wet deposition. In addition, the ! parameterizations for PBL mixing and convection as used in GEOS-Chem ! can be invoked by enabling the corresponding option in the GEOS-Chem ! input file (geoschem_config.yml). In this case, the corresponding GEOS-5 ! process must NOT be applied to the GC tracers, i.e. the tracers must ! not be friendly to turbulence (if PBL mixing is used) and/or moist ! (for convection). !\\ !\\ ! This gridded component contains three run phases: ! ! -1: Phase -1 is the standard setting in GCHP. It executes all components. ! Phase is -1 if number of phases is set to 1 in config file GCHP.rc. ! ! 1: Phase 1 is used in GEOS-5. It executes convection, dry deposition, ! and emissions and should be called before surface processes/turbulence. ! ! 2: Phase 2 is used in GEOS-5. It performs chemistry, and wet deposition, ! and should be called after turbulence. ! ! GEOS-5 only: ! All GEOS-Chem species are stored in the GEOSCHEMchem internal state object ! in units of kg/kg total. !\\ !\\ ! !INTERFACE: ! #ifdef MODEL_GEOS MODULE GEOSCHEMchem_GridCompMod #else MODULE Chem_GridCompMod #endif ! ! !USES: ! USE CMN_Size_Mod USE ESMF ! ESMF library USE MAPL_Mod ! MAPL library USE MAPL_IOMod use pFlogger, only: logging, Logger USE Charpak_Mod ! String functions USE DiagList_Mod ! Internal state prefixes USE Hco_Types_Mod, ONLY : ConfigObj USE Input_Opt_Mod ! Input Options obj USE GCHP_Chunk_Mod ! GCHP IRF methods USE GCHP_HistoryExports_Mod USE ErrCode_Mod ! Error numbers USE State_Chm_Mod ! Chemistry State obj USE State_Diag_Mod ! Diagnostics State obj USE State_Grid_Mod ! Grid State obj USE State_Met_Mod ! Meteorology State obj USE Species_Mod, ONLY : Species #if defined( MODEL_GEOS ) USE Chem_Mod ! Chemistry Base Class (chem_mie?) USE Chem_GroupMod ! For family transport USE PHYSCONSTANTS #endif IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: SetServices ! Sets ESMF entry points ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: Initialize_ ! Init method PRIVATE :: Run1 ! Run wrapper phase 1 PRIVATE :: Run2 ! Run wrapper phase 2 PRIVATE :: Run_ ! Run method PRIVATE :: Finalize_ ! Finalize method PRIVATE :: Extract_ ! Get values from ESMF ! ! !PRIVATE TYPES: ! ! Legacy state TYPE GEOSCHEM_State PRIVATE TYPE(ESMF_Config) :: myCF ! Private ESMF Config obj END TYPE GEOSCHEM_State ! Hook for the ESMF TYPE GEOSCHEM_Wrap TYPE(GEOSCHEM_State), POINTER :: PTR => null() ! Ptr to GEOSCHEM_State END TYPE GEOSCHEM_Wrap ! For passing from internal state to Chm_State and vice versa TYPE Int2SpcMap CHARACTER(LEN=255) :: Name INTEGER :: ID #if defined( MODEL_GEOS ) REAL, POINTER :: Internal(:,:,:) => NULL() #else REAL(ESMF_KIND_R8), POINTER :: Internal(:,:,:) => NULL() #endif END TYPE Int2SpcMap ! Internal run alarms TYPE GC_run_alarms private ! Add alarms here type(ESMF_Alarm) :: RRTMG_Alarm END TYPE GC_run_alarms TYPE GCRA_wrap type(GC_run_alarms), pointer :: ptr END TYPE GCRA_wrap ! For mapping State_Chm%Tracers/Species arrays onto the internal state. TYPE(Int2SpcMap), POINTER :: Int2Spc(:) => NULL() #ifdef ADJOINT ! For mapping State_Chm%Tracers/Species arrays onto the internal state. TYPE(Int2SpcMap), POINTER :: Int2Adj(:) => NULL() #endif ! Objects for GEOS-Chem TYPE(OptInput) :: Input_Opt ! Input Options TYPE(ChmState) :: State_Chm ! Chemistry state TYPE(DgnState) :: State_Diag ! Diagnostics state TYPE(GrdState) :: State_Grid ! Grid state TYPE(MetState) :: State_Met ! Meteorology state TYPE(Species), POINTER :: ThisSpc => NULL() TYPE(HistoryConfigObj), POINTER :: HistoryConfig TYPE(ConfigObj), POINTER :: HcoConfig CLASS(Logger), POINTER :: lgr => null() LOGICAL :: met_wind_is_top_down LOGICAL :: met_humidity_is_top_down LOGICAL :: met_nonadv_is_top_down LOGICAL :: use_extdata2g #if defined( MODEL_GEOS ) ! Is GEOS-Chem the provider for AERO, RATS, and/or Analysis OX? LOGICAL :: DoAERO ! When to do the analysis INTEGER :: ANAPHASE INTEGER, PARAMETER :: CHEMPHASE = 2 INTEGER, PARAMETER :: RATSPHASE = 2 #endif ! Number of run phases, 1 or 2. Set in the rc file; else default is 2. INTEGER :: NPHASE ! Is this being run as a CTM? INTEGER :: IsCTM ! Are we reading in dynamical heating? LOGICAL :: Read_Dyn_Heating ! Memory debug level INTEGER :: MemDebugLevel #if defined( MODEL_GEOS ) ! GEOS-5 only ! Flag to initialize species concentrations from external fields. Read ! through GEOSCHEMchem_GridComp.rc. If true, initial species concentrations ! are read from an external file instead of taken from the internal state. ! The field names in the external file are expected to be 'SPC_'. ! This option can be used to initialize a simulation using a restart file ! from a 'GEOS-Chem classic' CTM simulation. LOGICAL :: InitFromFile LOGICAL :: SkipReplayGCC #endif ! Pointers to import, export and internal state data. Declare them as ! module variables so that we have to assign them only on first call. #if defined( MODEL_GEOS ) # include "GEOSCHEMCHEM_DeclarePointer___.h" #else # include "GCHPchem_DeclarePointer___.h" #endif #if defined( MODEL_GEOS ) ! Mie table ! TYPE(Chem_Mie) :: geoschemMieTable(2) ! INTEGER, PARAMETER :: instanceComputational = 1 ! INTEGER, PARAMETER :: instanceData = 2 #endif ! ! !REMARKS: ! Developed for GEOS-5 release Fortuna 2.0 and later. ! . ! NOTES: ! - The abbreviation "PET" stands for "Persistent Execution Thread". ! It is a synomym for CPU. ! ! !REVISION HISTORY: ! 06 Dec 2009 - A. da Silva - Initial version ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: SetServices ! ! !DESCRIPTION: The SetServices routine does the following: ! ! \begin{itemize} ! \item Defines the Initialize method for the GEOSCHEMchem gridded component ! \item Defines the Run methods for the GEOSCHEMchem gridded component ! (phase 1 and phase 2). ! \item Defines the Finalize method for the GEOSCHEMchem gridded component ! \item Attaches an internal state (which holds a private ESMF Config object) ! to the GEOSCHEMchem gridded component. ! \end{itemize} ! ! !INTERFACE: ! SUBROUTINE SetServices( GC, RC ) ! ! !USES: ! USE HCOI_ESMF_MOD, ONLY : HCO_SetServices USE GCKPP_Model USE CHARPAK_MOD, ONLY : STRSPLIT, CSTRIP USE inquireMod, ONLY : findFreeLUN USE FILE_MOD, ONLY : IOERROR #if defined( MODEL_GEOS ) USE GCKPP_Monitor USE GCKPP_Parameters USE Precision_Mod USE GEOS_Analysis, ONLY : GEOS_AnaInit USE GEOS_Interface, ONLY : MetVars_For_Lightning_Init, & GEOS_CheckRATSandOx USE GEOS_AeroCoupler, ONLY : GEOS_AeroSetServices USE GEOS_CarbonInterface, ONLY : GEOS_CarbonSetServices #endif ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ESMF_GridComp), INTENT(INOUT) :: GC ! Ref to this GridComp ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REMARKS: ! ESMF can only attach one Config object per Gridded Component. The ! Config object that is defined from the "MAPL.rc" resource file is ! directly attached to the GEOSCHEMchem gridded component. ! . ! To attach the Config object defined from the "GEOSCHEMchem_GridComp.rc" ! resource file, we must first create a derived type with a pointer to ! the Config object, then attach that to the gridded component as an ! "internal state" (also called "legacy state"). ! ! !REVISION HISTORY: ! 06 Dec 2009 - A. da Silva - Initial version ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! TYPE(GEOSCHEM_State), POINTER :: myState ! Legacy state TYPE(GEOSCHEM_Wrap) :: wrap ! Wrapper for myState CHARACTER(LEN=ESMF_MAXSTR) :: compName ! Gridded Component name CHARACTER(LEN=ESMF_MAXSTR) :: COMP_NAME ! This syntax for mapl_acg.pl CHARACTER(LEN=ESMF_MAXSTR) :: HcoConfigFile ! HEMCO configuration file CHARACTER(LEN=ESMF_MAXSTR) :: SpcName ! Registered species name CHARACTER(LEN=40) :: AdvSpc(500) CHARACTER(LEN=255) :: LINE, MSG, SUBSTRS(500) INTEGER :: N, I, J, IU_GEOS, IOS INTEGER :: Nadv, landTypeInt LOGICAL :: FOUND LOGICAL :: EOF CHARACTER(LEN=60) :: landTypeStr, importName, simType CHARACTER(LEN=ESMF_MAXPATHLEN):: rstFile INTEGER :: SpcRestartAttr CHARACTER(LEN=ESMF_MAXSTR) :: HistoryConfigFile ! HISTORY config file INTEGER :: T #if !defined( MODEL_GEOS ) TYPE(MAPL_MetaComp), POINTER :: STATE => NULL() #endif INTEGER :: DoIt #if defined( MODEL_GEOS ) CHARACTER(LEN=ESMF_MAXSTR) :: LongName ! Long name for diagnostics CHARACTER(LEN=ESMF_MAXSTR) :: ShortName CHARACTER(LEN=255) :: MYFRIENDLIES CHARACTER(LEN=127) :: FullName LOGICAL :: FriendMoist, FriendGAAS LOGICAL :: SpcInRestart, ReduceSpc CHARACTER(LEN=40) :: SpcsBlacklist(255) INTEGER :: nBlacklist CHARACTER(LEN=ESMF_MAXSTR) :: Blacklist #endif #ifdef ADJOINT LOGICAL :: useCFMaskFile #endif #ifdef RRTMG INTEGER :: Read_Dyn_Heating_Int #endif ! Manual internal state entries LOGICAL :: am_I_Root INTEGER :: II CHARACTER(LEN=2) :: intStr CHARACTER(LEN=ESMF_MAXSTR) :: myName __Iam__('SetServices') lgr => logging%get_logger('GCHPchem') !======================================================================= ! Set services begins here !======================================================================= ! Set up traceback info CALL ESMF_GridCompGet( GC, name=compName, __RC__ ) ! NOTE: We need to use COMP_NAME for mapl_acg.pl script COMP_NAME = TRIM( compName ) ! Identify this routine to MAPL Iam = TRIM(compName)//'::SetServices' ! Root CPU? am_I_Root = MAPL_am_I_Root() !======================================================================= ! Wrap internal state for storing in this gridded component ! Rename this to a "legacy state" !======================================================================= ALLOCATE( myState, stat=STATUS ) _VERIFY(STATUS) wrap%ptr => myState !======================================================================= ! Define an ESMF Config object from the Resource file and set it ! as an "internal state" of the GEOSCHEMchem gridded component !======================================================================= myState%myCF = ESMF_ConfigCreate(__RC__) #if defined( MODEL_GEOS ) call ESMF_ConfigLoadFile( myState%myCF, 'GEOSCHEMchem_GridComp.rc', __RC__) #else call ESMF_ConfigLoadFile( myState%myCF, 'GCHP.rc', __RC__) #endif #if !defined( MODEL_GEOS ) ! Get generic state object CALL MAPL_GetObjectFromGC( GC, STATE, __RC__ ) call MAPL_GetResource( STATE, IsCTM, label='GEOSChem_CTM:', & default=1, rc=status ) _VERIFY(STATUS) #ifdef RRTMG call MAPL_GetResource( STATE, Read_Dyn_Heating_Int, label='IMPORT_DYN_HEATING:', & default=0, rc=status ) _VERIFY(STATUS) Read_Dyn_Heating = (Read_Dyn_Heating_Int .gt. 0) #else Read_Dyn_Heating = .False. #endif #endif !======================================================================= ! %%% ESMF Functional Services %%% !======================================================================= ! Set the Initialize, Run, Finalize entry points CALL MAPL_GridCompSetEntryPoint( GC, ESMF_METHOD_INITIALIZE, & Initialize_, __RC__ ) #if defined( MODEL_GEOS ) CALL MAPL_GridCompSetEntryPoint( GC, ESMF_METHOD_RUN, Run1, __RC__ ) #endif CALL MAPL_GridCompSetEntryPoint( GC, ESMF_METHOD_RUN, Run2, __RC__ ) CALL MAPL_GridCompSetEntryPoint( GC, ESMF_METHOD_FINALIZE, & Finalize_, __RC__ ) ! Store internal state with Config object in the gridded component CALL ESMF_UserCompSetInternalState( GC, 'GEOSCHEM_State', wrap, STATUS ) _VERIFY(STATUS) #if defined(MODEL_GEOS) CALL GEOS_AeroSetServices ( GC, DoAERO, __RC__ ) CALL GEOS_CarbonSetServices( GC, myState%myCF, __RC__ ) #endif !======================================================================= ! %%% MAPL Data Services %%% !======================================================================= !EOC !BOP ! ! !IMPORT STATE: ! #if defined( MODEL_GEOS ) # include "GEOSCHEMCHEM_ImportSpec___.h" #else # include "GCHPchem_ImportSpec___.h" #endif #if !defined( MODEL_GEOS ) call MAPL_AddImportSpec(GC, & SHORT_NAME = 'PLE', & LONG_NAME = 'pressure_level_edges', & UNITS = 'Pa', & PRECISION = ESMF_KIND_R8, & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationEdge, & RC=STATUS ) _VERIFY(STATUS) call MAPL_AddImportSpec(GC, & SHORT_NAME = 'DryPLE', & LONG_NAME = 'dry_pressure_level_edges', & UNITS = 'Pa', & PRECISION = ESMF_KIND_R8, & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationEdge, & RC=STATUS ) _VERIFY(STATUS) call MAPL_AddImportSpec(GC, & SHORT_NAME = 'AREA', & LONG_NAME = 'Grid horizontal area', & UNITS = 'm2', & DIMS = MAPL_DimsHorzOnly, & PRECISION = ESMF_KIND_R8, & RC=STATUS ) _VERIFY(STATUS) #ifdef RRTMG If (Read_Dyn_Heating) Then call MAPL_AddImportSpec(GC, & SHORT_NAME = 'DynHeating', & LONG_NAME = 'dynamical_heating', & UNITS = 'K_day-1', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & RC=STATUS ) _VERIFY(STATUS) End If #endif #endif !======================================================================= ! Get meteorology vertical index orientation and ExtData version. ! Whether met will be flipped to be bottom-up is dependent on ExtData ! version (1G requires flipping here, while 2G already flipped by MAPL) !======================================================================= call ESMF_ConfigGetAttribute(myState%myCF,value=use_extdata2g, & label='USE_EXTDATA2G:', Default=.false., __RC__ ) call ESMF_ConfigGetAttribute(myState%myCF,value=met_wind_is_top_down, & label='MET_WIND_IS_TOP_DOWN:', Default=.false., __RC__ ) call ESMF_ConfigGetAttribute(myState%myCF,value=met_humidity_is_top_down, & label='MET_HUMIDITY_IS_TOP_DOWN:', Default=.false., __RC__ ) call ESMF_ConfigGetAttribute(myState%myCF,value=met_nonadv_is_top_down, & label='MET_NONADVECTION_IS_TOP_DOWN:', Default=.false., __RC__ ) ! Print information to log about expectation of vertical direction of met-fields if ( use_extdata2g ) then call lgr%info('Using MAPL ExtData2G; all ''top-down'' meteorological data is automatically flipped to ''bottom-up'' within MAPL') else if (met_wind_is_top_down) then call lgr%info('Configured to expect ''top-down'' wind met-field imports in Chem_GridCompMod') else call lgr%info('Configured to expect ''bottom-up'' wind met-field imports in Chem_GridCompMod') end if if (met_humidity_is_top_down) then call lgr%info('Configured to expect ''top-down'' for humidity met-field imports in Chem_GridCompMod') else call lgr%info('Configured to expect ''bottom-up'' for humidity met-field imports in Chem_GridCompMod') end if if (met_nonadv_is_top_down) then call lgr%info('Configured to expect ''top-down'' for non-advection met-field imports in Chem_GridCompMod') else call lgr%info('Configured to expect ''bottom-up'' for non-advection met-field imports in Chem_GridCompMod') end if endif #if defined( MODEL_GEOS ) ! Define imports to fill met fields needed for lightning CALL MetVars_For_Lightning_Init( GC, MyState%myCF, __RC__ ) #endif #ifdef ADJOINT CALL ESMF_ConfigGetAttribute( myState%myCF, useCFMaskFile, & Label="USE_CF_MASK_FILE:", Default=.false., __RC__ ) IF (useCFMaskFile) THEN call MAPL_AddImportSpec(GC, & SHORT_NAME = 'CFN_MASK', & LONG_NAME = 'cost_function_Mask', & UNITS = '1', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & RC=STATUS ) _VERIFY(STATUS) Endif #endif ! ! !EXPORT STATE: ! ! Export delta pressure from internal state for first timestep ! pressure scaling before advection, to conserve mass in ! restart file. Use name DELPDRY to not conflict with name ! DELP_DRY used in restart file and internal state. call MAPL_AddExportSpec(GC, & SHORT_NAME = 'DELPDRY', & LONG_NAME = 'Delta dry pressure across box', & UNITS = 'hPa', & PRECISION = ESMF_KIND_R8, & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & RC=STATUS ) _VERIFY(STATUS) ! ! !INTERNAL STATE: ! #if defined( MODEL_GEOS ) # include "GEOSCHEMCHEM_InternalSpec___.h" #else # include "GCHPchem_InternalSpec___.h" #endif !------ Species in restart file ------ #if defined( MODEL_GEOS ) ! Determine if non-advected species shall be included in restart file CALL ESMF_ConfigGetAttribute( myState%myCF, DoIt, & Label = "Shortlived_species_in_restart:", & Default = 1, __RC__ ) IF ( DoIt==1 ) THEN SpcRestartAttr = MAPL_RestartOptional SpcInRestart = .TRUE. ELSE SpcRestartAttr = MAPL_RestartSkip SpcInRestart = .FALSE. ENDIF #else ! Determine if all species (SPC_*) are required in initial restart file CALL ESMF_ConfigGetAttribute( myState%myCF, DoIt, & Label = "INITIAL_RESTART_SPECIES_REQUIRED:", & Default = 1, __RC__ ) IF ( DoIt == 1 ) THEN SpcRestartAttr = MAPL_RestartRequired ELSE SpcRestartAttr = MAPL_RestartOptional ENDIF #endif !-- Read in species from geoschem_config.yml and set FRIENDLYTO #if defined( MODEL_GEOS ) ! Check if species are friendly to moist CALL ESMF_ConfigGetAttribute( myState%myCF, DoIt, & Label = "Species_friendly_to_moist:",& Default = 0, & __RC__ ) FriendMoist = (DoIt==1) IF ( MAPL_am_I_Root() ) THEN WRITE(*,*) 'GCC species friendly to MOIST: ',FriendMoist ENDIF ! Check if species are friendly to GAAS CALL ESMF_ConfigGetAttribute( myState%myCF, DoIt, & Label = "Species_friendly_to_GAAS:",& Default = 0, & __RC__ ) FriendGAAS = (DoIt==1) IF ( MAPL_am_I_Root() ) THEN WRITE(*,*) 'GCC species friendly to GAAS: ',FriendGAAS ENDIF ! Determine if non-advected species shall be included in restart file CALL ESMF_ConfigGetAttribute( myState%myCF, DoIt, & Label = "Shortlived_species_in_restart:", & Default = 1, __RC__ ) IF ( DoIt==1 ) THEN SpcRestartAttr = MAPL_RestartOptional SpcInRestart = .TRUE. ELSE SpcRestartAttr = MAPL_RestartSkip SpcInRestart = .FALSE. ENDIF ! Check if we want to use a reduced set of species for transport SpcsBlacklist(:) = '' nBlacklist = 0 CALL ESMF_ConfigGetAttribute( myState%myCF, DoIt, & Label = "Reduce_transport_species:", & Default = 0, __RC__ ) ReduceSpc = ( DoIt==1 ) ! Get list of blacklisted species IF ( ReduceSpc ) THEN CALL ESMF_ConfigGetAttribute( myState%myCF, Blacklist, & Label = "Transport_blacklist:", & Default = 'CFC11,CFC12', __RC__ ) IF ( TRIM(ADJUSTL(Blacklist)) /= '' ) THEN CALL STRSPLIT( Blacklist, ',', SpcsBlacklist, nBlacklist ) ENDIF ENDIF ! Sulfur-nitrogen-ammonia water content computed in Isorropia/HETP ! after needed in RDAER call MAPL_AddInternalSpec(GC, & SHORT_NAME = 'AeroH2O_SNA', & LONG_NAME = 'Sulfur-nitrogen-ammonia water content', & UNITS = 'g/m3', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & ! PRECISION = ESMF_KIND_R8, & FRIENDLYTO = 'GEOSCHEMCHEM', __RC__ ) #endif ! Open geoschem_config.yml to find the sim name and transported species IU_GEOS = findFreeLun() OPEN( IU_GEOS, FILE='geoschem_config.yml', STATUS='OLD', IOSTAT=IOS ) IF ( IOS /= 0 ) CALL IOERROR( IOS, IU_GEOS, 'READ_SPECIES_FROM_FILE:1' ) DO READ( IU_GEOS, '(a)', IOSTAT=IOS ) LINE IF ( IOS /= 0 ) CALL IOERROR( IOS, IU_GEOS, 'READ_SPECIES_FROM_FILE:2' ) LINE = ADJUSTL( ADJUSTR( LINE ) ) IF ( INDEX( LINE, 'name' ) > 0 ) THEN CALL STRSPLIT( line, ':', SUBSTRS, N ) SimType = ADJUSTL( ADJUSTR( SUBSTRS(2) ) ) ENDIF IF ( INDEX( LINE, 'transported_species' ) > 0 ) EXIT ENDDO ! Read in all advected species names and add them to internal state NADV = 0 DO WHILE ( LEN_TRIM( line ) > 0 ) READ( IU_GEOS, '(a)', IOSTAT=IOS ) LINE EOF = IOS < 0 IF ( EOF ) EXIT !Simply exit when the file ends (bmy, 12 Jan 2023) IF ( IOS > 0 ) CALL IOERROR( IOS, IU_GEOS, 'READ_SPECIES_FROM_FILE:3' ) LINE = ADJUSTL( ADJUSTR( LINE ) ) IF ( INDEX( LINE, 'passive_species' ) > 0 ) EXIT CALL STRSPLIT( LINE, '-', SUBSTRS, N ) IF ( INDEX( LINE, '-' ) > 0 ) THEN substrs(1) = ADJUSTL( ADJUSTR( substrs(1) ) ) ! Remove quotes (i.e. 'NO' -> NO) J = INDEX( substrs(1), "'" ) IF ( J > 0 ) THEN substrs(1) = substrs(1)(J+1:) J = INDEX( substrs(1), "'" ) IF ( J > 0 ) substrs(1) = substrs(1)(1:J-1) ENDIF #if defined( MODEL_GEOS ) ! %%% GEOS-Chem in GEOS %%% ! Define friendliness to dynamics / turbulence MYFRIENDLIES = 'DYNAMICS:TURBULENCE' IF ( FriendMoist ) THEN MYFRIENDLIES = TRIM(MYFRIENDLIES)//':MOIST' ENDIF FullName = TRIM(SUBSTRS(1)) ! Check if this species is blacklisted IF ( nBlacklist > 0 ) THEN DO I=1,nBlacklist IF ( TRIM(SpcsBlacklist(I))==TRIM(FullName) ) THEN MYFRIENDLIES = TRIM(COMP_NAME) EXIT ENDIF ENDDO ENDIF ! Make some species also friendly to GAAS IF ( FriendGAAS ) THEN IF ( TRIM(FullName)== 'DST1' .OR. & TRIM(FullName)== 'DST2' .OR. & TRIM(FullName)== 'DST3' .OR. & TRIM(FullName)== 'DST4' .OR. & TRIM(FullName)== 'SALA' .OR. & TRIM(FullName)== 'SALC' .OR. & TRIM(FullName)== 'OCPI' .OR. & TRIM(FullName)== 'SOAS' .OR. & TRIM(FullName)== 'OCPO' .OR. & TRIM(FullName)== 'BCPI' .OR. & TRIM(FullName)== 'BCPO' .OR. & TRIM(FullName)== 'NH4' .OR. & TRIM(FullName)== 'NIT' .OR. & TRIM(FullName)== 'NITs' .OR. & TRIM(FullName)== 'HMS' .OR. & TRIM(FullName)== 'SO4' ) THEN MYFRIENDLIES = TRIM(MYFRIENDLIES)//':GAAS' ENDIF ENDIF ! Now add to internal state CALL MAPL_AddInternalSpec(GC, & SHORT_NAME = TRIM(SPFX)//TRIM(SUBSTRS(1)), & LONG_NAME = TRIM(FullName)// & ' mass mixing ratio total air', & UNITS = 'kg kg-1', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & !!!PRECISION = ESMF_KIND_R8, & FRIENDLYTO = TRIM(MYFRIENDLIES), & RC = RC ) ! Update count of advected species Nadv = Nadv + 1 AdvSpc(Nadv) = TRIM(SUBSTRS(1)) ! verbose if(MAPL_am_I_Root()) write(*,*) & 'GCC added to internal: '//TRIM(SPFX)//TRIM(SUBSTRS(1)), & '; Friends: ', TRIM(MYFRIENDLIES) #else !%%% GEOS-Chem in GCHP ### CALL MAPL_AddInternalSpec(GC, & SHORT_NAME = TRIM(SPFX) // TRIM(SUBSTRS(1)), & LONG_NAME = TRIM(SUBSTRS(1)), & UNITS = 'mol mol-1', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & PRECISION = ESMF_KIND_R8, & FRIENDLYTO = 'DYNAMICS:TURBULENCE:MOIST', & RESTART = SpcRestartAttr, & RC = RC ) ! Add to list of transported speces NADV = NADV + 1 AdvSpc(NADV) = TRIM(SUBSTRS(1)) #endif #ifdef ADJOINT !%%%% GEOS-Chem in GCHP Adjoint %%%% if (MAPL_am_I_Root()) & WRITE(*,*) ' Adding internal spec for '''//TRIM(SPFX) // & TRIM(SUBSTRS(1)) // '_ADJ''' call MAPL_AddInternalSpec(GC, & SHORT_NAME = TRIM(SPFX) // TRIM(SUBSTRS(1)) // '_ADJ', & LONG_NAME = TRIM(SUBSTRS(1)) // ' adjoint variable', & UNITS = 'mol mol-1', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & PRECISION = ESMF_KIND_R8, & FRIENDLYTO = 'DYNAMICS:TURBULENCE:MOIST', & RESTART = MAPL_RestartSkip, & RC = RC ) #endif ENDIF ENDDO CLOSE( IU_GEOS ) !-- Add all non-advected species from KPP-based simulations !-- (but don't add dummy species). KPP-based simulations now !-- include fullchem, Hg, and carbon. IF ( TRIM( simType ) == 'fullchem' .or. & TRIM( simType ) == 'Hg' .or. & TRIM( simType ) == 'carbon' ) THEN DO I=1,NSPEC FOUND = .false. #if defined( MODEL_GEOS ) ! Don't need to do anything if short-lived species are not in ! restart file IF ( .NOT. SpcInRestart ) CYCLE #endif ! Skip dummy RR species for prod/loss diagnostic (mps, 8/23/16) SpcName = ADJUSTL( Spc_Names(I) ) IF ( SpcName(1:2) == 'RR' ) CYCLE DO J=1,Nadv !Size of AdvSpc IF (trim(AdvSpc(J)) .eq. trim(SpcName)) THEN FOUND = .true. EXIT ENDIF END DO ! Add non-advected species to internal state IF ( .NOT. Found ) THEN #if defined( MODEL_GEOS ) !%%%% GEOS-Chem in GEOS %%%% FullName = TRIM(SpcName) ! Error trap for POx and LOx. Their species names in the internal ! state must be all caps ! (ckeller, 3/11/19) !IF ( TRIM(SpcName) == 'POx' ) SpcName = 'POX' !IF ( TRIM(SpcName) == 'LOx' ) SpcName = 'LOX' ! Set some long names manually ... SELECT CASE ( TRIM(SpcName) ) CASE ('OH') FullName = 'Hydroxyl radical (OH, MW = 17.01 g mol-1)' CASE ('HO2') FullName = 'Hydroperoxyl radical (HO2, MW = 33.01 g mol-1)' CASE ('O') FullName = 'Molecular oxygen (O, MW = 16.01 g mol-1)' END SELECT CALL MAPL_AddInternalSpec(GC, & SHORT_NAME = TRIM(SPFX)//TRIM(SpcName), & LONG_NAME = TRIM(FullName)// & ' mass mixing ratio total air', & UNITS = 'kg kg-1', & !!!PRECISION = ESMF_KIND_R8, & DIMS = MAPL_DimsHorzVert, & FRIENDLYTO = COMP_NAME, & RESTART = SpcRestartAttr, & VLOCATION = MAPL_VLocationCenter, & __RC__ ) ! verbose if(MAPL_am_I_Root()) write(*,*) & 'GCC added to internal: '//TRIM(SPFX)//TRIM(SpcName) #else !%%%% GEOS-Chem in GCHP %%%% call MAPL_AddInternalSpec(GC, & SHORT_NAME = TRIM(SPFX) // SpcName, & LONG_NAME = SpcName, & UNITS = 'mol mol-1', & PRECISION = ESMF_KIND_R8, & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & RESTART = SpcRestartAttr, & RC = STATUS ) #ifdef ADJOINT !%%%% GEOS-Chem in GCHP ADJOINT %%%% if (MAPL_am_I_Root()) & WRITE(*,*) ' Adding internal spec for '''//TRIM(SPFX) // & TRIM(SpcName) // '_ADJ''' call MAPL_AddInternalSpec(GC, & SHORT_NAME = TRIM(SPFX) // TRIM(SpcName) // '_ADJ', & LONG_NAME = SpcName // ' adjoint variable', & UNITS = 'mol mol-1', & PRECISION = ESMF_KIND_R8, & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & RESTART = MAPL_RestartSkip, & RC = STATUS ) #endif #endif ENDIF ENDDO ENDIF #if !defined( MODEL_GEOS ) ! Add other internal state variables as real8 for GCHP call MAPL_AddInternalSpec(GC, & SHORT_NAME = 'DryDepNitrogen', & LONG_NAME = 'Dry deposited nitrogen', & UNITS = 'cm-2s-1', & DIMS = MAPL_DimsHorzOnly, & VLOCATION = MAPL_VLocationCenter, & PRECISION = ESMF_KIND_R8, & FRIENDLYTO = trim(COMP_NAME), & RC=STATUS ) _VERIFY(STATUS) call MAPL_AddInternalSpec(GC, & SHORT_NAME = 'WetDepNitrogen', & LONG_NAME = 'Wet deposited nitrogen', & UNITS = 'cm-2s-1', & DIMS = MAPL_DimsHorzOnly, & VLOCATION = MAPL_VLocationCenter, & PRECISION = ESMF_KIND_R8, & FRIENDLYTO = trim(COMP_NAME), & RC=STATUS ) _VERIFY(STATUS) call MAPL_AddInternalSpec(GC, & SHORT_NAME = 'H2O2AfterChem', & LONG_NAME = 'Soluble fraction H2O2', & UNITS = 'vv-1', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & PRECISION = ESMF_KIND_R8, & FRIENDLYTO = trim(COMP_NAME), & RC=STATUS ) _VERIFY(STATUS) call MAPL_AddInternalSpec(GC, & SHORT_NAME = 'SO2AfterChem', & LONG_NAME = 'Soluble fraction SO2', & UNITS = 'vv-1', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & PRECISION = ESMF_KIND_R8, & FRIENDLYTO = trim(COMP_NAME), & RC=STATUS ) _VERIFY(STATUS) call MAPL_AddInternalSpec(GC, & SHORT_NAME = 'KPPHvalue', & LONG_NAME = 'HSAVE for KPP', & UNITS = '1', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & PRECISION = ESMF_KIND_R8, & FRIENDLYTO = trim(COMP_NAME), & RC=STATUS ) _VERIFY(STATUS) ! Sulfur-nitrogen-ammonia water content computed in Isorropia/HETP ! after needed in RDAER call MAPL_AddInternalSpec(GC, & SHORT_NAME = 'AeroH2O_SNA', & LONG_NAME = 'Sulfur-nitrogen-ammonia water content', & UNITS = 'g/m3', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & PRECISION = ESMF_KIND_R8, & FRIENDLYTO = trim(COMP_NAME), & RC=STATUS ) _VERIFY(STATUS) ! Sesquiterpene mass per grid box call MAPL_AddInternalSpec(GC, & SHORT_NAME = 'ORVCSESQ', & LONG_NAME = 'Sesquiterpenes mass', & UNITS = 'kg', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & PRECISION = ESMF_KIND_R8, & FRIENDLYTO = trim(COMP_NAME), & RC=STATUS ) _VERIFY(STATUS) ! Surface J-values for HEMCO call MAPL_AddInternalSpec(GC, & SHORT_NAME = 'JOH', & LONG_NAME = 'Surface J-values for reaction O3 + hv --> O2 + O', & UNITS = '1', & DIMS = MAPL_DimsHorzOnly, & PRECISION = ESMF_KIND_R8, & FRIENDLYTO = trim(COMP_NAME), & RC=STATUS ) _VERIFY(STATUS) call MAPL_AddInternalSpec(GC, & SHORT_NAME = 'JNO2', & LONG_NAME = 'Surface J-values for reaction NO2 + hv --> NO + O', & UNITS = '1', & DIMS = MAPL_DimsHorzOnly, & PRECISION = ESMF_KIND_R8, & FRIENDLYTO = trim(COMP_NAME), & RC=STATUS ) _VERIFY(STATUS) ! delta dry pressure used to conserve mass across consecutive runs call MAPL_AddInternalSpec(GC, & SHORT_NAME = 'DELP_DRY', & LONG_NAME = 'Delta dry pressure across box', & UNITS = 'hPa', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & PRECISION = ESMF_KIND_R8, & FRIENDLYTO = trim(COMP_NAME), & RC=STATUS ) _VERIFY(STATUS) #if defined( RRTMG ) ! Stratospheric temperature adjustment accumulated when using RRTMG call MAPL_AddInternalSpec(GC, & SHORT_NAME = 'TSTRAT_ADJ',& LONG_NAME = 'Stratospheric T adjustment', & UNITS = 'K', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & PRECISION = ESMF_KIND_R8, & FRIENDLYTO = trim(COMP_NAME), & RC=STATUS ) _VERIFY(STATUS) #endif ! Additional outputs useful for unit conversions and post-processing analysis call MAPL_AddInternalSpec(GC, & SHORT_NAME = 'AREA', & LONG_NAME = 'Grid horizontal area', & UNITS = 'm2', & DIMS = MAPL_DimsHorzOnly, & PRECISION = ESMF_KIND_R8, & FRIENDLYTO = trim(COMP_NAME), & RC=STATUS ) _VERIFY(STATUS) call MAPL_AddInternalSpec(GC, & SHORT_NAME = 'BXHEIGHT', & LONG_NAME = 'Grid box height (w/r/t dry air)', & UNITS = 'm', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & PRECISION = ESMF_KIND_R8, & FRIENDLYTO = trim(COMP_NAME), & RC=STATUS ) _VERIFY(STATUS) call MAPL_AddInternalSpec(GC, & SHORT_NAME = 'TropLev', & LONG_NAME = 'GEOS-Chem level where the tropopause occurs', & UNITS = '1', & DIMS = MAPL_DimsHorzOnly, & VLOCATION = MAPL_VLocationCenter, & PRECISION = ESMF_KIND_R8, & FRIENDLYTO = trim(COMP_NAME), & RC=STATUS ) _VERIFY(STATUS) #endif #if defined( MODEL_GEOS ) IF ( SimType == 'fullchem' ) THEN !-- Add two exra advected species for use in family transport (Manyin) CALL MAPL_AddInternalSpec(GC, & SHORT_NAME = 'SPC_Bry', & LONG_NAME = 'Bromine group for use in transport', & UNITS = 'kg kg-1', & !!! PRECISION = ESMF_KIND_R8, & DIMS = MAPL_DimsHorzVert, & FRIENDLYTO = 'DYNAMICS', & RESTART = MAPL_RestartSkip, & VLOCATION = MAPL_VLocationCenter, & __RC__ ) if(MAPL_am_I_Root()) write(*,*) 'GCC added to internal: SPC_Bry; Friendly to: DYNAMICS' CALL MAPL_AddInternalSpec(GC, & SHORT_NAME = 'SPC_Cly', & LONG_NAME = 'Chlorine group for use in transport', & UNITS = 'kg kg-1', & !!! PRECISION = ESMF_KIND_R8, & DIMS = MAPL_DimsHorzVert, & FRIENDLYTO = 'DYNAMICS', & RESTART = MAPL_RestartSkip, & VLOCATION = MAPL_VLocationCenter, & __RC__ ) if(MAPL_am_I_Root()) write(*,*) 'GCC added to internal: SPC_Cly; Friendly to: DYNAMICS' ENDIF ! Include specific humidity in transport tracers simulation checkpoints for ! post-processing unit conversions IF ( SimType == 'TransportTracers' ) THEN CALL MAPL_AddInternalSpec(GC, & SHORT_NAME = 'SpecificHumidity', & LONG_NAME = 'specific_humidity', & UNITS = 'kg kg-1', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & __RC__ ) ENDIF #endif ! ! !EXTERNAL STATE: ! #if defined( MODEL_GEOS ) # include "GEOSCHEMCHEM_ExportSpec___.h" #else # include "GCHPchem_ExportSpec___.h" #endif ! Read HISTORY config file and add exports for unique items CALL ESMF_ConfigGetAttribute( myState%myCF, HistoryConfigFile, & Label="HISTORY_CONFIG:", & Default="HISTORY.rc", __RC__ ) CALL HistoryExports_SetServices( MAPL_am_I_Root(), HistoryConfigFile, & GC, HistoryConfig, __RC__ ) !EOP !BOC #if defined( MODEL_GEOS ) ! Add provider services, if any (AERO, RATS, Analysis Ox) CALL GEOS_CheckRATSandOx( am_I_Root, GC, __RC__ ) ! Analysis options CALL GEOS_AnaInit( am_I_Root, GC, myState%myCF, ANAPHASE, __RC__ ) #endif ! OLSON DO T = 1, NSURFTYPE landTypeInt = T-1 WRITE ( landTypeStr, '(I2.2)' ) landTypeInt importName = 'OLSON' // TRIM(landTypeStr) CALL MAPL_AddImportSpec(GC, & SHORT_NAME = importName, & LONG_NAME = 'OLSON_land_by_type', & UNITS = 'unitless', & DIMS = MAPL_DimsHorzOnly, & RESTART = MAPL_RestartSkip, & __RC__ ) ENDDO ! Set HEMCO services ! -------------------- CALL ESMF_ConfigGetAttribute( myState%myCF, HcoConfigFile, & Label="HEMCO_CONFIG:", & Default="HEMCO_Config.rc", __RC__ ) CALL HCO_SetServices( MAPL_am_I_Root(), GC, HcoConfig, & TRIM(HcoConfigFile), __RC__ ) ! Set the Profiling timers ! ------------------------ CALL MAPL_TimerAdd(GC, NAME="INITIALIZE", RC=status) _VERIFY(status) CALL MAPL_TimerAdd(GC, NAME="RUN", RC=status) _VERIFY(status) CALL MAPL_TimerAdd(GC, NAME="FINALIZE", RC=status) _VERIFY(status) CALL MAPL_TimerAdd(GC, NAME="DO_CHEM", RC=status) _VERIFY(status) CALL MAPL_TimerAdd(GC, NAME="CP_BFRE", RC=status) _VERIFY(status) CALL MAPL_TimerAdd(GC, NAME="CP_AFTR", RC=status) _VERIFY(status) ! More timers to be called in gchp_chunk_run CALL MAPL_TimerAdd(GC, NAME="GC_CONV" , __RC__) CALL MAPL_TimerAdd(GC, NAME="GC_EMIS" , __RC__) CALL MAPL_TimerAdd(GC, NAME="GC_DRYDEP", __RC__) CALL MAPL_TimerAdd(GC, NAME="GC_FLUXES", __RC__) CALL MAPL_TimerAdd(GC, NAME="GC_TURB" , __RC__) CALL MAPL_TimerAdd(GC, NAME="GC_CHEM" , __RC__) CALL MAPL_TimerAdd(GC, NAME="GC_WETDEP", __RC__) CALL MAPL_TimerAdd(GC, NAME="GC_DIAGN" , __RC__) CALL MAPL_TimerAdd(GC, NAME="GC_RAD" , __RC__) #if defined( MODEL_GEOS ) IF (Input_Opt%GC_VMBarrier_Run2) THEN CALL MAPL_TimerAdd(GC, NAME="GC_VMBarrier_Run2" , __RC__) ENDIF #endif ! Generic Set Services ! -------------------- CALL MAPL_GenericSetServices( GC, RC=status ) _VERIFY(status) !======================================================================= ! All done !======================================================================= _RETURN(ESMF_SUCCESS) END SUBROUTINE SetServices !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Initialize_ ! ! !DESCRIPTION: Initialize_ is the initialize method of the GEOSCHEMchem ! gridded component. This is a simple ESMF/MAPL wrapper which calls down ! to the Initialize method of the GEOS-Chem column chemistry code. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Initialize_( GC, Import, Export, Clock, RC ) ! ! !USES: ! USE TIME_MOD, ONLY : GET_TS_CHEM, GET_TS_EMIS USE TIME_MOD, ONLY : GET_TS_DYN, GET_TS_CONV USE TIME_MOD, ONLY : GET_TS_RAD Use pfLogger, ONLY : Logger #if defined( MODEL_GEOS ) USE GEOS_INTERFACE, ONLY : GEOS_AddSpecInfoForMoist USE GEOS_AeroCoupler, ONLY : GEOS_AeroInit USE GEOS_CarbonInterface, ONLY : GEOS_CarbonInit ! USE TENDENCIES_MOD, ONLY : Tend_CreateClass ! USE TENDENCIES_MOD, ONLY : Tend_Add #endif ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ESMF_GridComp), INTENT(INOUT) :: GC ! Ref to GridComp TYPE(ESMF_State), INTENT(INOUT), TARGET :: Import ! Import State object TYPE(ESMF_State), INTENT(INOUT), TARGET :: Export ! Export State object TYPE(ESMF_Clock), INTENT(INOUT) :: Clock ! ESMF clock object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! We call routine Extract_ to return various values (i.e. grid parameters, ! start & end dates, PET information, etc.) from the ESMF/MAPL environment. ! We then pass those to GEOS-Chem via routine GCHP_CHUNK_INIT, which is ! located in GEOS-Chem module ./GEOS-Chem/ESMF/gchp_chunk_mod.F90. ! ! !REVISION HISTORY: ! 06 Dec 2009 - A. da Silva - Initial version ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! LOCAL VARIABLES: ! ! Objects TYPE(ESMF_Grid) :: Grid ! ESMF Grid object TYPE(ESMF_Config) :: MaplCF ! ESMF Config obj (MAPL.rc) TYPE(ESMF_Config) :: GeosCF ! ESMF Config obj (GEOSCHEM*.rc) ! Scalars LOGICAL :: am_I_Root ! Are we on the root PET? INTEGER :: myPet ! # of the PET we are on INTEGER :: NPES ! # of total PETs in MPI world INTEGER :: nymdB ! GMT date @ start of simulation INTEGER :: nymdE ! GMT date @ end of simulation INTEGER :: nymd ! GMT date @ current time INTEGER :: nhmsB ! GMT time @ start of simulation INTEGER :: nhmsE ! GMT time @ end of simulation INTEGER :: nhms ! GMT time @ current time INTEGER :: IM ! # of longitudes on this PET INTEGER :: JM ! # of latitudes on this PET INTEGER :: LM ! # of levels on this PET INTEGER :: value_LLSTRAT ! # of strat. levels INTEGER :: IM_WORLD ! # of longitudes in global grid INTEGER :: JM_WORLD ! # of latitudes in global grid INTEGER :: LM_WORLD ! # of levels in global grid REAL :: tsChem ! Chemistry timestep [s] REAL :: tsDyn ! Dynamic timestep [s] REAL :: tsRad ! RRTMG timestep [s] CHARACTER(LEN=5) :: petStr ! String for PET # CHARACTER(LEN=ESMF_MAXSTR) :: compName ! Name of gridded component ! time step error checks REAL :: ChemTS, EmisTS, RadTS ! Pointer arrays REAL(ESMF_KIND_R4), POINTER :: lonCtr(:,:) ! Lon centers on this PET [rad] REAL(ESMF_KIND_R4), POINTER :: latCtr(:,:) ! Lat centers on this PET [rad] INTEGER :: I, J, nFlds, mpiComm TYPE(ESMF_STATE) :: INTSTATE TYPE(ESMF_Field) :: GcFld ! Species information TYPE(Species), POINTER :: SpcInfo CHARACTER(LEN=ESMF_MAXSTR) :: fieldName #if defined( MODEL_GEOS ) ! Does GEOS-Chem restart file exist? ! Before broadcasting, we check if there is an import restart file for ! GEOS-Chem. This variable is then passed to Input_Opt after ! initialization (and CPU broadcasting) of all GEOS-Chem variables. LOGICAL :: haveImpRst TYPE(MAPL_MetaComp), POINTER :: STATE ! To read various options INTEGER :: DoIt REAL :: Val, OzPause LOGICAL :: DynFriend, IsPresent, FRIENDLY REAL, POINTER :: Ptr3D(:,:,:) => NULL() #else INTEGER :: N, trcID TYPE(MAPL_MetaComp), POINTER :: STATE => NULL() REAL(ESMF_KIND_R8), POINTER :: Ptr3D(:,:,:) => NULL() REAL(ESMF_KIND_R8), POINTER :: Ptr3D_int(:,:,:) => NULL() REAL(ESMF_KIND_R8), POINTER :: Ptr3D_exp(:,:,:) => NULL() #endif ! Internal run alarms type(GC_run_alarms), pointer :: GC_alarms type(GCRA_wrap) :: GC_alarm_wrapper TYPE(ESMF_Time) :: currTime ! Current (start) time TYPE(ESMF_Time) :: ringTime type(ESMF_TimeInterval) :: tsRad_TI type(ESMF_TimeInterval) :: tsChem_TI type (ESMF_Calendar) :: CAL INTEGER :: yyyy, mm, dd ! Year, month, day INTEGER :: h, m, s ! Hour, minute, seconds INTEGER :: doy INTEGER :: IL_WORLD, JL_WORLD ! # lower indices in global grid INTEGER :: IU_WORLD, JU_WORLD ! # upper indices in global grid __Iam__('Initialize_') !======================================================================= ! Initialization !======================================================================= ! Get my name and set-up traceback handle CALL ESMF_GridCompGet( GC, name=compName, __RC__ ) ! Identify this routine to MAPL Iam = TRIM(compName)//'::Initialize_' ! Get my MAPL_Generic state ! ------------------------- CALL MAPL_GetObjectFromGC(GC, STATE, RC=STATUS) _VERIFY(STATUS) ! Start timers ! ------------ CALL MAPL_TimerOn( STATE, "TOTAL") CALL MAPL_TimerOn( STATE, "INITIALIZE") ! Initialize MAPL Generic CALL MAPL_GenericInitialize( GC, Import, Export, Clock, __RC__ ) ! AdjointChekpoint is not defined !#ifdef ADJOINT ! CALL MAPL_GenericStateClockAdd( GC, name='--AdjointCheckpoint', __RC__ ) !#endif ! Get Internal state. CALL MAPL_Get ( STATE, INTERNAL_ESMF_STATE=INTSTATE, __RC__ ) ! Initialize GEOS-Chem Input_Opt fields to zeros or equivalent CALL Set_Input_Opt( MAPL_am_I_Root(), Input_Opt, RC ) _ASSERT(RC==GC_SUCCESS, 'Error calling Set_Input_Opt') ! Grab the logger for this component call MAPL_GetLogger(GC, Input_Opt%lgr, __RC__) Input_Opt%compname = Trim(compname) ! Root CPU? am_I_Root = MAPL_am_I_Root() ! Get various parameters from the ESMF/MAPL framework #if defined( MODEL_GEOS ) ! Note: variable haveImpRst must not yet be written into Input_Opt yet ! since the variables of Input_Opt may be 'erased' during initialization ! of GEOS-Chem. #endif CALL Extract_( GC, & ! Ref to this Gridded Comp Clock, & ! ESMF Clock object Grid = Grid, & ! ESMF Grid object MaplCF = MaplCF, & ! AGCM.rc/GCHP.rc config object GeosCF = GeosCF, & ! GEOSCHEM*.rc Config object IM = IM, & ! # of longitudes on this PET JM = JM, & ! # of latitudes on this PET LM = LM, & ! # of levels on this PET IM_WORLD = IM_WORLD, & ! # of lons in global grid JM_WORLD = JM_WORLD, & ! # of lats in global grid LM_WORLD = LM_WORLD, & ! # of levels in global grid IL_WORLD = IL_WORLD, & ! start index of lons in global grid on this PET IU_WORLD = IU_WORLD, & ! end index of lons in global grid on this PET JL_WORLD = JL_WORLD, & ! start index of lats in global grid on this PET JU_WORLD = JU_WORLD, & ! end index of lats in global grid on this PET nymdB = nymdB, & ! YYYYMMDD @ start of sim nhmsB = nhmsB, & ! hhmmss @ end of sim nymdE = nymdE, & ! YYYMMDD @ start of sim nhmsE = nhmsE, & ! hhmmss @ end of sim tsChem = tsChem, & ! Chemistry timestep [seconds] tsRad = tsRad, & ! RRTMG timestep [seconds] tsDyn = tsDyn, & ! Dynamics timestep [seconds] localPet = myPet, & ! PET # that we are on now petCount = NPES, & ! Number of PETs in MPI World mpiComm = mpiComm, & ! MPI Communicator Handle lonCtr = lonCtr, & ! This PET's lon ctrs [radians] latCtr = latCtr, & ! This PET's lat ctrs [radians] #if defined( MODEL_GEOS ) haveImpRst = haveImpRst, & ! Does import restart exist? #endif __RC__ ) ! Set MPI values in Input_Opt Input_Opt%thisCPU = myPet Input_Opt%MPIComm = mpiComm Input_Opt%numCPUs = NPES Input_Opt%isMPI = .true. if ( MAPL_am_I_Root() ) Input_Opt%amIRoot = .true. #if defined( MODEL_GEOS ) Input_Opt%haveImpRst = haveImpRst #endif ! MSL - shift from 0 - 360 to -180 - 180 degree grid where (lonCtr .gt. MAPL_PI ) lonCtr = lonCtr - 2*MAPL_PI #if !defined( MODEL_GEOS ) ! Get the memory debug level call ESMF_ConfigGetAttribute(GeosCF, MemDebugLevel, & Label="MEMORY_DEBUG_LEVEL:" , RC=STATUS) _VERIFY(STATUS) #endif !======================================================================= ! Save values from the resource file (GCHP.rc for GCHP) !======================================================================= ! # of run phases CALL ESMF_ConfigGetAttribute( GeosCF, NPHASE, & Default = 2, & Label = "RUN_PHASES:", & __RC__ ) _ASSERT(NPHASE==1.OR.NPHASE==2,'Error calling ESMF_ConfigGetAttribute on RUN_PHASES') #if defined( MODEL_GEOS ) ! Top stratospheric level CALL ESMF_ConfigGetAttribute( GeosCF, value_LLSTRAT, & Default = LM, & Label = "LLSTRAT:", & __RC__ ) IF ( Input_Opt%AmIRoot ) THEN WRITE(*,*) 'GCC: top strat. level (LLSTRAT) is set to ', & value_LLSTRAT ENDIF ! FAST-JX settings: number of levels, number of EXTRAL iterations, ! print error if EXTRAL fails? ! LLFASTJX: default is 1201 for LM=132, 601 otherwise IF ( LM == 132 ) THEN I = 1201 ELSE I = 601 ENDIF CALL ESMF_ConfigGetAttribute( GeosCF, Input_Opt%LLFASTJX, & Default = I, & Label = "LLFASTJX:", & __RC__ ) ! FJX_EXTRAL_ITERMAX: default is 5 for LM=132, 1 otherwise IF ( LM == 132 ) THEN I = 5 ELSE I = 1 ENDIF CALL ESMF_ConfigGetAttribute( GeosCF, Input_Opt%FJX_EXTRAL_ITERMAX, & Default = I, & Label = "FJX_EXTRAL_ITERMAX:", & __RC__ ) ! FJX_EXTRAL_ERR: default is 1 I = 1 CALL ESMF_ConfigGetAttribute( GeosCF, DoIt, & Default = I, & Label = "FJX_EXTRAL_ERR:", & __RC__ ) Input_Opt%FJX_EXTRAL_ERR = ( DoIt == 1 ) IF ( Input_Opt%AmIRoot ) THEN WRITE(*,*) 'GCC: Fast-JX settings:' WRITE(*,*) 'Number of FAST-JX levels : ',Input_Opt%LLFASTJX WRITE(*,*) 'Max. no. of EXTRAL iterations : ',Input_Opt%FJX_EXTRAL_ITERMAX WRITE(*,*) 'Show EXTRAL overflow error : ',Input_Opt%FJX_EXTRAL_ERR ENDIF ! Stop KPP if integration fails twice CALL ESMF_ConfigGetAttribute( GeosCF, DoIt, & Default = 1, & Label = "KPP_STOP_IF_FAIL:", & __RC__ ) Input_Opt%KppStop = ( DoIt == 1 ) IF ( Input_Opt%AmIRoot ) THEN WRITE(*,*) 'Stop KPP if integration fails: ',Input_Opt%KppStop ENDIF ! Turn off three heterogenous reactions in stratosphere CALL ESMF_ConfigGetAttribute( GeosCF, DoIt, Default = 1, & Label = "TurnOffHetRates:", __RC__ ) Input_Opt%TurnOffHetRates = ( DoIt == 1 ) IF ( Input_Opt%AmIRoot ) THEN WRITE(*,*) 'Disable selected het. reactions in stratosphere: ', & Input_Opt%TurnOffHetRates ENDIF ! Check for negatives after KPP integration CALL ESMF_ConfigGetAttribute( GeosCF, DoIt, Default = -1, & Label = "KppCheckNegatives:", __RC__ ) Input_Opt%KppCheckNegatives = DoIt IF ( Input_Opt%AmIRoot ) THEN WRITE(*,*) 'Check for negative concentrations after KPP integration: ', & Input_Opt%KppCheckNegatives ENDIF ! KPP tolerance inflation factor for second attempt CALL ESMF_ConfigGetAttribute( GeosCF, Val, Default = 1.0, & Label = "KppTolScale:", __RC__ ) Input_Opt%KppTolScale = Val IF ( Input_Opt%AmIRoot ) THEN WRITE(*,*) 'Scale KPP tolerances in second integration attempt: ', & Input_Opt%KppTolScale ENDIF ! Parallelization barrier for chemistry in GEOS (VMBarrier after Run2) CALL ESMF_ConfigGetAttribute( GeosCF, DoIt, Default = -1, & Label = "GC_VMBarrier_Run2:", & __RC__ ) Input_Opt%GC_VMBarrier_Run2 = ( DoIt == 1 ) IF ( Input_Opt%AmIRoot ) THEN WRITE(*,*) 'VMBarrier and timing after Run2: ', & Input_Opt%GC_VMBarrier_Run2 ENDIF #endif !======================================================================= ! Initialize GEOS-Chem (will also initialize HEMCO) !======================================================================= ! Initialize fields of the Grid State object CALL Init_State_Grid( Input_Opt, State_Grid, RC ) _ASSERT(RC==GC_SUCCESS,'Error calling Init_State_Grid') ! Pass grid information obtained from Extract_ to State_Grid State_Grid%NX = IM ! # lons on this PET State_Grid%NY = JM ! # lats on this PET State_Grid%NZ = LM ! # levels on this PET State_Grid%GlobalNX = IM_WORLD ! # lons in global grid State_Grid%GlobalNY = JM_WORLD ! # lats in global grid State_Grid%NativeNZ = LM_WORLD ! # levels in global grid State_Grid%XMinOffset = 1 ! X offset from global grid State_Grid%XMaxOffset = State_Grid%NX ! X offset from global grid State_Grid%YMinOffset = 1 ! Y offset from global grid State_Grid%YMaxOffset = State_Grid%NY ! Y offset from global grid ! Call the GCHP initialize routine CALL GCHP_Chunk_Init( nymdB = nymdB, & ! YYYYMMDD @ start of run nhmsB = nhmsB, & ! hhmmss @ start of run nymdE = nymdE, & ! YYYYMMDD @ end of run nhmsE = nhmsE, & ! hhmmss @ end of run tsChem = tsChem, & ! Chemical timestep [s] tsDyn = tsDyn, & ! Dynamic timestep [s] tsRad = tsRad, & ! RRTMG timestep [s] lonCtr = lonCtr, & ! Lon centers [radians] latCtr = latCtr, & ! Lat centers [radians] #if !defined( MODEL_GEOS ) GC = GC, & ! Ref to this gridded comp EXPORT = EXPORT, & ! Export state object #endif Input_Opt = Input_Opt, & ! Input Options obj State_Chm = State_Chm, & ! Chemistry State obj State_Diag= State_Diag, & ! Diagnostics State obj State_Grid= State_Grid, & ! Grid State obj State_Met = State_Met, & ! Meteorology State obj HcoConfig = HcoConfig, & ! HEMCO config obj HistoryConfig = HistoryConfig, & ! History Config Obj __RC__ ) #if defined( MODEL_GEOS ) !======================================================================= ! If GEOS-Chem is the AERO provider, initialize the AERO bundle here. ! All GEOS-Chem tracers possibly being added to the AERO bundle are ! listed at the beginning of the module. Here, we see which ones of ! those are effectively defined and create a field in the bundle for ! them. The AERO names are given the names listed at the beginning of ! the module. ! GEOS-Chem tracers are in mol/mol, whereas the AERO bundle holds ! data in kg/kg. We therefore need to copy the data so that we can ! change units independently. !======================================================================= IF ( DoAERO ) THEN CALL GEOS_AeroInit( GC, MaplCF, INTSTATE, EXPORT, Grid, __RC__ ) ENDIF #endif !======================================================================= ! Initialize the Int2Spc object. This is used to copy the tracer arrays ! from the internal state to State_Chm%Tracers, and vice versa. ! In this step, we also check for the friendlieness of the tracers. If ! the GEOS-Chem internal convection/turbulence schemes shall be used ! (as specified in geoschem_config.yml), the tracers must not be friendly ! to the GEOS-5 moist / turbulence components! !======================================================================= nFlds = State_Chm%nSpecies ALLOCATE( Int2Spc(nFlds), STAT=STATUS ) _ASSERT(STATUS==0,'Int2Spc could not be allocated') ! Do for every tracer in State_Chm DO I = 1, nFlds SpcInfo => State_Chm%SpcData(I)%Info ! Pass tracer name Int2Spc(I)%Name = TRIM(SpcInfo%Name) #if defined( MODEL_GEOS ) IF ( TRIM(Int2Spc(I)%Name) == 'POX' ) Int2Spc(I)%Name = 'POx' IF ( TRIM(Int2Spc(I)%Name) == 'LOX' ) Int2Spc(I)%Name = 'LOx' #endif ! Get tracer ID Int2Spc(I)%ID = IND_( TRIM(Int2Spc(I)%Name) ) ! If tracer ID is not valid, make sure all vars are at least defined. IF ( Int2Spc(I)%ID <= 0 ) THEN Int2Spc(I)%Internal => NULL() CYCLE ENDIF ! Get internal state field fieldName = TRIM(SPFX)//TRIM(Int2Spc(I)%Name) CALL ESMF_StateGet( INTSTATE, TRIM(fieldName), GcFld, RC=STATUS ) ! This is mostly for testing IF ( STATUS /= ESMF_SUCCESS ) THEN IF( am_I_Root ) THEN WRITE(*,*) 'Cannot find in internal state: ', TRIM(SPFX) & //TRIM(Int2Spc(I)%Name),I ENDIF Int2Spc(I)%Internal => NULL() #if defined( MODEL_GEOS ) CYCLE _ASSERT(.FALSE.,'Error finding internal state variable') #endif ENDIF #if defined( MODEL_GEOS ) ! Check friendliness of field: the field must not be friendly to ! moist and/or turbulence if the corresponding GEOS-Chem switches ! are turned on! DynFriend=.FALSE. CALL ESMF_AttributeGet( GcFld, NAME="FriendlyToDYNAMICS", & isPresent=isPresent, RC=STATUS ) IF ( isPresent ) THEN CALL ESMF_AttributeGet( GcFld, NAME="FriendlyToDYNAMICS", & VALUE=DynFriend, RC=STATUS ) ENDIF IF ( DynFriend ) THEN ! Check for friendliness to convection: only if GEOS-Chem convection ! is enabled FRIENDLY=.FALSE. CALL ESMF_AttributeGet( GcFld, NAME="FriendlyToMOIST", & isPresent=isPresent, RC=STATUS ) IF ( isPresent ) THEN CALL ESMF_AttributeGet( GcFld, NAME="FriendlyToMOIST", & VALUE=FRIENDLY, RC=STATUS ) ENDIF IF ( FRIENDLY .eqv. Input_Opt%LCONV ) THEN WRITE(*,*) '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!' WRITE(*,*) 'GEOS-Chem convection and MOIST friendly on/off ', & 'at the same time', FRIENDLY, Input_Opt%LCONV, & TRIM(Int2Spc(I)%Name) WRITE(*,*) '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!' _ASSERT(.FALSE.,'MOIST friendly error') ENDIF ! Check for friendliness to turbulence: only if GEOS-Chem turbulence ! is enabled IF ( Input_Opt%LTURB ) THEN FRIENDLY=.FALSE. CALL ESMF_AttributeGet( GcFld, NAME="FriendlyToTURBULENCE", & isPresent=isPresent, RC=STATUS ) IF ( isPresent ) THEN CALL ESMF_AttributeGet( GcFld, NAME="FriendlyToTURBULENCE", & VALUE=FRIENDLY, RC=STATUS ) ENDIF IF ( FRIENDLY ) THEN WRITE(*,*) '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!' WRITE(*,*) 'GEOS-Chem turbulence is turned on, but tracer is ',& 'also friendly to TURBULENCE. Cannot do both: ', & TRIM(Int2Spc(I)%Name) WRITE(*,*) '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!' _ASSERT(.FALSE.,'Error in Friendly settings') ENDIF ENDIF ENDIF #endif ! Get pointer to field CALL ESMF_FieldGet( GcFld, 0, Ptr3D, __RC__ ) Int2Spc(I)%Internal => Ptr3D Ptr3D => NULL() SpcInfo => NULL() ENDDO #ifdef ADJOINT if (Input_Opt%is_Adjoint) THEN ! Now do the same for adjoint variables ALLOCATE( Int2Adj(nFlds), STAT=STATUS ) _ASSERT(STATUS==0,'informative message here') ! Do for every tracer in State_Chm DO I = 1, nFlds ! Get info about this species from the species database N = State_Chm%Map_Advect(I) ThisSpc => State_Chm%SpcData(N)%Info ! Pass tracer name Int2Adj(I)%Name = TRIM(ThisSpc%Name) ! Get tracer ID Int2Adj(I)%ID = IND_( TRIM(Int2Spc(I)%Name) ) ! If tracer ID is not valid, make sure all vars are at least defined. IF ( Int2Spc(I)%ID <= 0 ) THEN Int2Spc(I)%Internal => NULL() CYCLE ENDIF ! Get internal state field CALL ESMF_StateGet( INTSTATE, TRIM(SPFX) // TRIM(Int2Spc(I)%Name) // '_ADJ', & GcFld, RC=STATUS ) ! This is mostly for testing IF ( STATUS /= ESMF_SUCCESS ) THEN IF( am_I_Root ) THEN WRITE(*,*) 'Cannot find in internal state: ', TRIM(SPFX) & //TRIM(Int2Spc(I)%Name)//'_ADJ',I ENDIF _ASSERT(.FALSE.,'informative message here') ENDIF ! Get pointer to field CALL ESMF_FieldGet( GcFld, 0, Ptr3D, __RC__ ) Int2Adj(I)%Internal => Ptr3D ! Free pointers Ptr3D => NULL() ThisSpc => NULL() ENDDO ENDIF #endif #ifdef MODEL_GCHPCTM ! Set delta pressure export to interal state variable DELP_DRY. ! This is used in the first timestep in FV3, before advection, to ! adjust species v/v for conservation of restart file mass, if ! delta pressure present in the restart file. call MAPL_GetPointer ( Export, Ptr3d_exp, 'DELPDRY', ALLOC=.TRUE., __RC__ ) CALL ESMF_StateGet( INTSTATE, 'DELP_DRY', GcFld, RC=STATUS ) CALL ESMF_FieldGet( GcFld, 0, Ptr3D, __RC__ ) Ptr3d_exp = Ptr3d * 100.d0 Ptr3d => NULL() #endif !======================================================================= ! Error trap: make sure that chemistry / emission time step are same and ! correspond to the chemistry step set in GEOSCHEMchem_GridComp.rc. !======================================================================= ChemTS = GET_TS_CHEM() EmisTS = GET_TS_EMIS() IF ( ChemTS /= tsChem .OR. EmisTS /= tsChem ) THEN WRITE(*,*) 'GEOS-Chem chemistry and/or emission time step do not' WRITE(*,*) 'agree with time step set in GEOSCHEMchem_GridComp.rc' WRITE(*,*) 'GEOS-Chem chemistry time step : ', ChemTS WRITE(*,*) 'GEOS-Chem emission time step : ', EmisTS WRITE(*,*) 'CHEMISTRY_TIMESTEP in GCHP.rc : ', tsChem _ASSERT(.FALSE.,'Error in timesteps') ENDIF ! Also check for convection and dynamics time step. ChemTS = GET_TS_CONV() EmisTS = GET_TS_DYN() IF ( ChemTS /= tsDyn .OR. EmisTS /= tsDyn ) THEN WRITE(*,*) 'GEOS-Chem transport and/or convection time step do not' WRITE(*,*) 'agree with time step set in GEOSCHEMchem_GridComp.rc' WRITE(*,*) 'GEOS-Chem convection time step : ', ChemTS WRITE(*,*) 'GEOS-Chem dynamics time step : ', EmisTS WRITE(*,*) 'RUN_DT in CAP.rc : ', tsDyn _ASSERT(.FALSE.,'Error in timesteps') ENDIF If (Input_Opt%LRAD) Then RadTS = GET_TS_RAD() IF ( RadTS /= tsRad ) THEN WRITE(*,*) 'GEOS-Chem radiation time step (for RRTMG) does not' WRITE(*,*) 'agree with time step set in GCHP.rc' WRITE(*,*) 'GEOS-Chem RRTMG time step : ', RadTS WRITE(*,*) 'RRTMG_DT in GCHP.rc : ', tsRad _ASSERT(.FALSE.,'Error in timesteps') ENDIF ! Redundantly, check that tsRad is a multiple of tsChem _ASSERT(MOD(tsRad,tsChem)==0,'Radiation time step must be a multiple of chemistry time step') Else ! Use chemistry step; this alarm will be ignored, but must be present RadTS = ChemTS End If !======================================================================= ! Establish the internal alarms for GEOS-Chem !======================================================================= allocate(GC_alarms,stat=status) _ASSERT(rc==0,'Could not allocate GC alarms') GC_alarm_wrapper%ptr => GC_alarms call ESMF_UserCompSetInternalState(GC,'gcchem_internal_alarms',GC_alarm_wrapper,status) _ASSERT(status==0,'Could not get GEOS-Chem internal alarms') ! Get information about/from the clock CALL ESMF_ClockGet( Clock, & currTime = currTime, & calendar = cal, & __RC__ ) ! Set up the radiation alarm ! Must ring once per tsRad call ESMF_TimeIntervalSet(tsRad_TI, S=nint(tsRad), calendar=cal, RC=STATUS) _ASSERT(STATUS==0,'Could not set radiation alarm time interval') ! Initialize the ring time to midnight on the starting (current) day call ESMF_TimeGet( currTime, YY=yyyy, MM=mm, DD=dd, H=h, M=m, S=s, rc=STATUS ) _ASSERT(STATUS==0,'Could not extract ESMF clock current time information') call ESMF_TimeSet( ringTime, YY=yyyy, MM=mm, DD=dd, H=0, M=0, S=0, rc=STATUS ) _ASSERT(STATUS==0,'Could not set initial radiation alarm ring time') ! Adjust the alarm to go off on the chemistry timestep immediately before the ! target output time. This is because RRTMG is run after chemistry. call ESMF_TimeIntervalSet(tsChem_TI, S=nint(tsChem), calendar=cal, RC=STATUS) _ASSERT(STATUS==0,'Could not set chemistry alarm time interval') ringTime = ringTime - tsChem_TI ! Advance ring time until it is at or after current time do while (ringTime < currTime) ringTime = ringTime + tsRad_TI end do ! Make the alarm 'sticky'. This means it will ring until ! the ringer is turned off. GC_alarms%RRTMG_alarm = ESMF_AlarmCreate(CLOCK = Clock, & name = "GC_RRTMG_alarm" , & RingInterval = tsRad_TI, & RingTime = ringTime, & ! Enabled = .true. , & sticky = .true., & RC = STATUS ) _VERIFY(STATUS) ! Start alarm ringing if already reached first alarm time if(ringTime == currTime) then call ESMF_AlarmRingerOn(GC_alarms%RRTMG_alarm, rc=status) _VERIFY(STATUS) end if #ifdef RRTMG ! Verify that the GCHP.rc and input.geos settings match _ASSERT(Read_Dyn_Heating.eqv.Input_Opt%Read_Dyn_Heating,'Mismatch between input.geos and GCHP.rc options for RRTMG dynamical heating') #endif #if defined( MODEL_GEOS ) !======================================================================= ! Read GEOSCHEMchem settings !======================================================================= IF ( am_I_Root ) THEN WRITE(*,*) TRIM(Iam), ': options from GEOSCHEMchem_GridComp.rc:' ENDIF ! Apply correction term to large-scale precipitation that should be ! convective? CALL ESMF_ConfigGetAttribute( GeosCF, Input_Opt%WETD_CONV_SCAL, & Label = "Convective_precip_correction:", & Default = 1.0d0, & __RC__ ) IF ( Input_Opt%WETD_CONV_SCAL < 0d0 ) Input_Opt%WETD_CONV_SCAL = 1.0d0 Input_Opt%WETD_CONV_SCAL = MAX(MIN(1.0d0,Input_Opt%WETD_CONV_SCAL),0.0d0) IF ( am_I_Root ) THEN WRITE(*,*) & '- Convective precip correction (0=no washout, 1=no correction): ', & Input_Opt%WETD_CONV_SCAL ENDIF ! Use GMI O3 P/L CALL ESMF_ConfigGetAttribute( GeosCF, DoIt, Label = "Use_GMI_O3_PL:", & Default = 0, __RC__ ) Input_Opt%LSYNOZ = .FALSE. IF ( DoIt == 1 ) THEN Input_Opt%LGMIOZ = .TRUE. Input_Opt%LLINOZ = .FALSE. ELSE Input_Opt%LGMIOZ = .FALSE. !!!Input_Opt%LSYNOZ = .NOT. Input_Opt%LLINOZ ENDIF IF ( am_I_Root ) THEN WRITE(*,*) '- Use GMIOZ: ', Input_Opt%LGMIOZ WRITE(*,*) '- Use LINOZ: ', Input_Opt%LLINOZ WRITE(*,*) '- Use SYNOZ: ', Input_Opt%LSYNOZ ENDIF ! Tropopause options CALL ESMF_ConfigGetAttribute( GeosCF, DoIt, & Label = "Cap_polar_tropopause:", & Default = 1, __RC__ ) Input_Opt%LCAPTROP = ( DoIt == 1 ) IF ( am_I_Root ) THEN WRITE(*,*) '- Cap polar tropopause: ', Input_Opt%LCAPTROP ENDIF !CALL ESMF_ConfigGetAttribute( GeosCF, Input_Opt%NOx_sensitivity, & ! Label = "NOx_sensitivity_factor:", & ! Default = -999.0d0, & ! __RC__ ) !IF ( am_I_Root ) THEN ! WRITE(*,*) '- Use NOx sensitivity factor: ', Input_Opt%NOx_sensitivity !ENDIF ! Get internal state from external data CALL ESMF_ConfigGetAttribute( GeosCF, DoIt, Label = "INIT_SPC_FROM_FILE:", & Default = 0, __RC__ ) InitFromFile = ( DoIt == 1 ) ! Skip GCC during replay predictor step CALL ESMF_ConfigGetAttribute( GeosCF, DoIt, Label = "SkipReplayGCC:", & Default = 0, __RC__ ) SkipReplayGCC = ( DoIt == 1 ) ! Always set stratospheric H2O CALL ESMF_ConfigGetAttribute( GeosCF, DoIt, & Label="Prescribe_strat_H2O:", Default=0, __RC__ ) Input_Opt%AlwaysSetH2O = ( DoIt == 1 ) IF ( am_I_Root ) THEN WRITE(*,*) '- Prescribe H2O in stratosphere: ', Input_Opt%AlwaysSetH2O ENDIF ! Compute vertical updraft velocity from online values CALL ESMF_ConfigGetAttribute( GeosCF, DoIt, & Label="Online_VUD:", Default=0, __RC__ ) Input_Opt%UseOnlineVUD = ( DoIt == 1 ) IF ( am_I_Root ) THEN WRITE(*,*) '- Compute VUD online: ', Input_Opt%UseOnlineVUD ENDIF ! Turn on Family Transport CALL ESMF_ConfigGetAttribute( GeosCF, DoIt, & Label="Bry_Cly_Family_Transport:", Default=1, __RC__ ) SELECT CASE ( DoIt ) CASE ( 1 ) CALL Init_GCC_Chem_Groups() IF ( am_I_Root ) WRITE(*,*) 'GCC: Bry and Cly family transport enabled' CASE DEFAULT IF ( am_I_Root ) WRITE(*,*) 'GCC: Bry and Cly family transport disabled' END SELECT ! Apply H2O tendency to Q? ! Options: -1=never do it; 0=only if GCC is RATS provider; 1=always do it Input_Opt%applyQtend = .FALSE. CALL ESMF_ConfigGetAttribute( GeosCF, DoIt, Label="ApplyQtend:", Default=0, __RC__ ) IF ( DoIt == 1 ) THEN Input_Opt%applyQtend = .TRUE. ELSEIF ( DoIt == 0 ) THEN CALL ESMF_ConfigGetAttribute( MaplCF, FieldName, Label="RATS_PROVIDER:", Default="PCHEM", __RC__ ) IF ( TRIM(FieldName) == "GEOSCHEMCHEM" ) Input_Opt%applyQtend = .TRUE. ENDIF IF ( am_I_Root ) WRITE(*,*) '- Apply H2O tendency to Q (SPHU): ', Input_Opt%applyQtend ! Add Henry law constants and scavenging coefficients to internal state. ! These are needed by MOIST for wet scavenging (if this is enabled). CALL GEOS_AddSpecInfoForMoist ( am_I_Root, GC, GeosCF, Input_Opt, State_Chm, __RC__ ) ! Initialize carbon coupling / CO production from CO2 photolysis (if used) CALL GEOS_CarbonInit( GC, GeosCF, State_Chm, State_Grid, __RC__ ) ! All done !======================================================================= #endif ! Stop timers ! ----------- CALL MAPL_TimerOff( STATE, "INITIALIZE") CALL MAPL_TimerOff( STATE, "TOTAL") ! Successful return _RETURN(ESMF_SUCCESS) ! Formats 100 FORMAT( '### ', / & '### ', a , / & '### ', a, ' | Initialization on PET # ', i5.5, / & '### ' ) 200 FORMAT( '### ', / & '### ', a, ' | Execution on PET # ', i5.5, / & '###' ) END SUBROUTINE Initialize_ !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Run1 ! ! !DESCRIPTION: Run1 is a wrapper method for the phase 1 run phase of the ! GEOSCHEMchem gridded component. It calls down to the Run method of the ! GEOS-Chem column chemistry code. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Run1 ( GC, Import, Export, Clock, RC ) ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ESMF_GridComp), INTENT(INOUT) :: GC ! Ref to this GridComp TYPE(ESMF_State), INTENT(INOUT) :: Import ! Import State TYPE(ESMF_State), INTENT(INOUT) :: Export ! Export State TYPE(ESMF_Clock), INTENT(INOUT) :: Clock ! ESMF Clock object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Error return code ! ! !REMARKS: ! ! !REVISION HISTORY: ! 22 Sep 2014 - C. Keller - Initial version. ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=ESMF_MAXSTR) :: compName ! Name of gridded component CHARACTER(LEN=ESMF_MAXSTR) :: Iam INTEGER :: STATUS INTEGER :: PHASE !======================================================================= ! Run1 starts here !======================================================================= ! Set up traceback info CALL ESMF_GridCompGet( GC, name=compName, __RC__ ) ! Identify this routine to MAPL Iam = TRIM(compName)//'::Run1' ! Call run routine stage 1 if more than one phase. If not 2 phases, ! such as in GCHP, then we do all chemistry related processes from ! Run2 instead. IF ( NPHASE == 2 ) THEN PHASE = 1 CALL Run_ ( GC, IMPORT, EXPORT, CLOCK, PHASE, __RC__ ) ENDIF ! Return w/ success _RETURN(ESMF_SUCCESS) END SUBROUTINE Run1 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Run2 ! ! !DESCRIPTION: Run2 is a wrapper method for the phase 2 run phase of the ! GEOSCHEMchem gridded component. It calls down to the Run method of the ! GEOS-Chem column chemistry code. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Run2 ( GC, Import, Export, Clock, RC ) ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ESMF_GridComp), INTENT(INOUT) :: GC ! Ref to this GridComp TYPE(ESMF_State), INTENT(INOUT) :: Import ! Import State TYPE(ESMF_State), INTENT(INOUT) :: Export ! Export State TYPE(ESMF_Clock), INTENT(INOUT) :: Clock ! ESMF Clock object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Error return code ! ! !REMARKS: ! ! !REVISION HISTORY: ! 22 Sep 2014 - C. Keller - Initial version. ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=ESMF_MAXSTR) :: compName ! Name of gridded component CHARACTER(LEN=ESMF_MAXSTR) :: Iam INTEGER :: PHASE INTEGER :: STATUS #if defined( MODEL_GEOS ) ! Optional VM Barrier for improved timing estimates ! This can be set from RC (psturm, April 2024) TYPE(ESMF_VM) :: VM ! ESMF VM object TYPE(MAPL_MetaComp), POINTER :: STATE #endif !======================================================================= ! Run2 starts here !======================================================================= ! Set up traceback info CALL ESMF_GridCompGet( GC, name=compName, __RC__ ) ! Identify this routine to MAPL Iam = TRIM(compName)//'::Run2' ! Set phase number: this is 2 for multi-phase runs (e.g. GEOS-5), and ! is -1 for single-phase runs (e.g. GCHP). If set to -1, all processes ! are called (drydep, emissions, chemistry, etc.) IF ( NPHASE == 1 ) THEN PHASE = -1 ELSE PHASE = 2 ENDIF ! Call run routine stage 2 CALL Run_ ( GC, IMPORT, EXPORT, CLOCK, PHASE, __RC__ ) ! Optional timer for run 2 (psturm, April 2024) ! More realistic timing estimates can detect load imbalances in chemistry ! Rather than attributing this to transport operations ! This can be set from GEOSCHEMchem_GridComp.rc #if defined( MODEL_GEOS ) IF (Input_Opt%GC_VMBarrier_Run2) THEN call MAPL_GetObjectFromGC(GC, STATE, __RC__) call ESMF_VmGetCurrent(VM, RC=STATUS) _VERIFY(STATUS) call MAPL_TimerOn(STATE,"GC_VMBarrier_Run2") call ESMF_VMBarrier(vm, RC=STATUS) call MAPL_TimerOff(STATE,"GC_VMBarrier_Run2") ENDIF #endif ! Return w/ success _RETURN(ESMF_SUCCESS) END SUBROUTINE Run2 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Run_ ! ! !DESCRIPTION: Run_ is the run method of the GEOSCHEMchem gridded component. ! GC is a simple ESMF/MAPL wrapper which calls down to the Run method of ! the GEOS-Chem column chemistry code. ! Note: this routine currently skips the call down to GEOS-Chem on the very ! first time it is invoked. The reason is that a number of met-variables seem ! to be undefined still (e.g. BXHEIGHT, T, etc), yielding to seg-faults and/or ! crazy results. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Run_( GC, Import, Export, Clock, Phase, RC ) ! ! !USES: ! USE CMN_Size_Mod, ONLY : NDUST USE HCO_State_GC_Mod, ONLY : HcoState USE MAPL_MemUtilsMod USE Olson_Landmap_Mod, ONLY : Compute_Olson_Landmap USE Precision_Mod #if defined( MODEL_GEOS ) USE GEOS_Analysis, ONLY : GEOS_AnaRun USE GEOS_Interface, ONLY : MetVars_For_Lightning_Run, & GEOS_Diagnostics, & GEOS_CalcTotOzone, & GEOS_InitFromFile, & GEOS_RATSandOxDiags, & GEOS_PreRunChecks, & GEOS_SetH2O USE GEOS_AeroCoupler, ONLY : GEOS_FillAeroBundle USE GEOS_CarbonInterface, ONLY : GEOS_CarbonSetConc, & GEOS_CarbonRunPhoto USE UnitConv_Mod, ONLY : KG_SPECIES_PER_KG_TOTAL_AIR #endif ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ESMF_GridComp), INTENT(INOUT), TARGET :: GC ! Ref to this GridComp TYPE(ESMF_State), INTENT(INOUT), TARGET :: Import ! Import State TYPE(ESMF_State), INTENT(INOUT), TARGET :: Export ! Export State TYPE(ESMF_Clock), INTENT(INOUT) :: Clock ! ESMF Clock object INTEGER, INTENT(IN ) :: Phase ! Run phase (-1/1/2) ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT( OUT) :: RC ! Error return code ! ! !REMARKS: ! We call routine Extract_ to return various values (i.e. grid parameters, ! start & end dates, PET information, etc.) from the ESMF/MAPL environment. ! We then pass those to GEOS-Chem via routine GCHP_CHUNK_RUN, which is ! located in GEOS-Chem module ./GEOS-Chem/ESMF/gchp_chunk_mod.F90. ! !REVISION HISTORY: ! 06 Dec 2009 - A. da Silva - Initial version ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! LOCAL VARIABLES: ! ! Objects TYPE(ESMF_Grid) :: Grid ! ESMF Grid object TYPE(ESMF_Config) :: MaplCF ! Config (MAPL.rc) TYPE(ESMF_Config) :: GeosCF ! Config (GEOSCHEM*.rc) TYPE(ESMF_Alarm) :: ALARM TYPE(ESMF_VM) :: VM ! ESMF VM object TYPE(ESMF_STATE) :: INTSTATE ! Scalars LOGICAL :: am_I_Root ! Are we on the root PET? LOGICAL :: IsChemTime ! Chemistry alarm proxy LOGICAL :: IsRadTime ! Radiation alarm proxy LOGICAL :: IsRunTime ! Time to call GEOS-Chem LOGICAL :: IsTendTime ! Time to calculate tendencies INTEGER :: IND ! Species or tracer index INTEGER :: error ! G-C error return code INTEGER(ESMF_KIND_I8) :: advCount ! # of clock advances INTEGER :: nymd ! YYYY/MM/DD date INTEGER :: nhms ! hh:mm:ss time INTEGER :: myPet ! PET # we are on now INTEGER :: nPets ! Total # of PETs INTEGER :: I, J, L ! Loop indices INTEGER :: IM,JM,LM ! Grid dimensions INTEGER :: LR, N ! Loop indices INTEGER :: N_TRC ! Shadow var: # of tracers INTEGER :: year ! Current year INTEGER :: month ! Current month INTEGER :: day ! Current day INTEGER :: dayOfYr ! Current day of year INTEGER :: hour ! Current hour INTEGER :: minute ! Current minute INTEGER :: second ! Current second REAL :: UTC ! Universal time REAL :: tsChem ! Chem timestep [sec] REAL :: tsRad ! RRTMG timestep [sec] REAL :: tsDyn ! Dynamic timestep [sec] REAL :: hElapsed ! Elapsed time [hours] REAL*8 :: lonDeg ! Longitude [degrees] REAL*8 :: latDeg ! Latitude [degrees] REAL*8 :: P1, P2 ! Pressure variables CHARACTER(LEN=4) :: petStr ! String for PET # CHARACTER(LEN=ESMF_MAXSTR) :: compName ! Gridded Component name ! Allocatable local arrays REAL, ALLOCATABLE, TARGET :: zenith(:,:) ! Solar zenith angle REAL, ALLOCATABLE, TARGET :: solar(:,:) ! Solar insolation ! Pointer arrays needed to initialize from imports CHARACTER(LEN=2) :: intStr REAL, POINTER :: Ptr2d (:,:) => NULL() REAL, POINTER :: Ptr3d (:,:,:) => NULL() REAL(ESMF_KIND_R8), POINTER :: Ptr2d_R8(:,:) => NULL() REAL(ESMF_KIND_R8), POINTER :: Ptr3d_R8(:,:,:) => NULL() ! Other pointer arrays REAL(ESMF_KIND_R4), POINTER :: lonCtr (:,:) ! Lon centers, this PET [rad] REAL(ESMF_KIND_R4), POINTER :: latCtr (:,:) ! Lat centers, this PET [rad TYPE(MAPL_MetaComp), POINTER :: STATE ! For CTM Mode ! ckeller, 8/22/19: In GEOS, PLE and AIRDENS are from the IMPORT state #if !defined( MODEL_GEOS ) REAL(ESMF_KIND_R8), POINTER :: PLE(:,:,:) => NULL() ! INTERNAL: PEDGE #endif ! RRTMG FDH needs to be able to read in dynamical heating #ifdef RRTMG REAL, POINTER :: DynHeating(:,:,:) => NULL() #endif ! Initialize variables used for reading Olson and MODIS LAI imports INTEGER :: TT, VV, landTypeInt CHARACTER(len=64) :: landTypeStr, varName, importName #if defined( MODEL_GEOS ) ! GEOS-5 only local variables INTEGER :: LB ! Loop indices ! Some checks for replay runs LOGICAL :: FIRSTREWIND LOGICAL :: AFTERREWIND LOGICAL :: IsFirst INTEGER, SAVE :: pymd = 0 ! previous date INTEGER, SAVE :: phms = 0 ! previous time INTEGER, SAVE :: nnRewind = 0 ! For skipping GCC during predictor step TYPE(ESMF_Alarm) :: PredictorAlarm ! skip GCC during replay LOGICAL :: PredictorActive ! skip GCC during replay #else ! GCHP only local variables INTEGER :: trcID, RST REAL :: COEFF CHARACTER(LEN=ESMF_MAXSTR) :: trcNAME,hcoNAME TYPE(ESMF_Field ) :: trcFIELD TYPE(ESMF_FieldBundle) :: trcBUNDLE REAL , POINTER :: fPtrArray(:,:,:) REAL(ESMF_KIND_R8), POINTER :: fPtrVal, fPtr1D(:) INTEGER :: z_lb, z_ub #endif ! Alarms type(GC_run_alarms), pointer :: GC_alarms type(GCRA_wrap) :: GC_alarm_wrapper ! First call? LOGICAL, SAVE :: FIRST = .TRUE. INTEGER :: NFD, K LOGICAL :: LAST TYPE(ESMF_Time ) :: currTime, stopTime TYPE(ESMF_TimeInterval) :: tsChemInt CHARACTER(len=ESMF_MAXSTR) :: timestring1, timestring2 #ifdef ADJOINT LOGICAL :: isStartTime REAL(ESMF_KIND_r8), POINTER :: CostFuncMask(:,:,:) => NULL() #endif #ifdef JACOBIAN INTEGER :: primarySpcId CHARACTER(len=ESMF_MAXSTR) :: primarySpcName #endif __Iam__('Run_') !======================================================================= ! Run starts here !======================================================================= ! Are we on the root PET? am_I_Root = MAPL_Am_I_Root() ! Set up traceback info CALL ESMF_GridCompGet( GC, name=compName, __RC__ ) ! Identify this routine to MAPL Iam = TRIM(compName)//'::Run_' #if !defined( MODEL_GEOS ) ! Get the VM for optional memory prints (level >= 2) !----------------------------------- if ( MemDebugLevel > 0 ) THEN call ESMF_VmGetCurrent(VM, RC=STATUS) _VERIFY(STATUS) endif #endif ! Get my MAPL_Generic state ! ------------------------- CALL MAPL_GetObjectFromGC(GC, STATE, __RC__) ! Query the chemistry alarm. ! This checks if it's time to do chemistry, based on the time step ! set in AGCM.rc (GEOSCHEMCHEM_DT:). If the GEOS-Chem time step is not ! specified in AGCM.rc, the heartbeat will be taken (set in MAPL.rc). ! ---------------------------------------------------------------------- CALL MAPL_Get(STATE, RUNALARM=ALARM, __RC__) IsChemTime = ESMF_AlarmIsRinging(ALARM, __RC__) ! if (am_I_Root) WRITE(*,*) ' Chem clock is reverse? ', ESMF_ClockIsReverse(CLOCK) ! Turn off alarm: only if it was on and this is phase 2 (don't turn off ! after phase 1 since this would prevent phase 2 from being executed). IF ( IsChemTime .AND. PHASE /= 1 .and. .not. ESMF_ClockIsReverse(CLOCK)) THEN CALL ESMF_AlarmRingerOff(ALARM, __RC__ ) ENDIF ! Retrieve GEOS-Chem's internal alarms call ESMF_UserCompGetInternalState(GC,'gcchem_internal_alarms',GC_alarm_wrapper,status) _ASSERT(rc==0,'Could not retrieve radiation alarm') GC_alarms => GC_alarm_wrapper%ptr ! Query the radiation alarm IsRadTime = ESMF_AlarmIsRinging(GC_alarms%RRTMG_alarm,__RC__) ! Turn off alarm: only if it was on, chemistry will run, and this is phase 2 If ( IsRadTime .and. IsChemTime .and. PHASE /= 1 ) Then CALL ESMF_AlarmRingerOff(GC_alarms%RRTMG_alarm, __RC__ ) End If ! Get Internal state CALL MAPL_Get ( STATE, INTERNAL_ESMF_STATE=INTSTATE, __RC__ ) ! ---------------------------------------------------------------------- ! Check if we need to call the GEOS-Chem driver. The GEOS-Chem driver ! contains routines for the following processes: ! ! Phase 1: ! (1) Convection: --> Dynamics time step (optional) ! (2) Dry deposition --> Chemistry time step ! (3) Emissions --> Chemistry time step ! ! Phase 2: ! (4) Turbulence --> Dynamics time step (optional) ! (5) Chemistry --> Chemistry time step ! (6) Wet deposition --> Dynamics time step ! ! Phase -1: ! Includes all of the above ! ! Convection and turbulence are only called if the corresponding ! switches are turned on in the GEOS-Chem input file (geoschem_config.yml). ! ! To avoid unnecessary calls to the GEOS-Chem driver routine, we ! check here if it's time for any of the processes listed above. ! The IsChemTime variable will be passed down to the GEOS-Chem driver ! to ensure that chemistry is only executed if it's time to do so. ! ! The O3 and H2O tendencies will only be calculated when doing chemistry ! (set to zero otherwise). All other export variables are updated every ! time GEOS-Chem is called. ! ---------------------------------------------------------------------- IsRunTime = IsChemTime IF ( Input_Opt%LCONV .AND. Phase /= 2 ) IsRunTime = .TRUE. IF ( Input_Opt%LTURB .AND. Phase /= 1 ) IsRunTime = .TRUE. IF ( Input_Opt%LWETD .AND. Phase /= 1 ) IsRunTime = .TRUE. !======================================================================= ! Skip GCC during replay, predictor step (posturm and cakelle2) !======================================================================= #if defined( MODEL_GEOS ) IF ( SkipReplayGCC ) THEN CALL ESMF_ClockGetAlarm(CLOCK, "PredictorActive", PredictorAlarm, RC=STATUS) VERIFY_(STATUS) PredictorActive = ESMF_AlarmIsRinging( PredictorAlarm, RC=STATUS ) VERIFY_(STATUS) IF ( PredictorActive ) THEN IsRunTime = .FALSE. IF ( am_I_root ) write(*,*) ' --- Skipping GCC during Predictor Step ' END IF END IF #endif #ifdef ADJOINT if (Input_Opt%is_adjoint .and. first) THEN ! the forward model doesn't actually trigger on the final ! timestep, so we should skip the first one IsRunTime = .false. end if #endif ! Is it time to update tendencies? ! Tendencies shall only be updated when chemistry is done, which is ! Phase -1 or 2. IsTendTime = ( IsChemTime .AND. Phase /= 1 ) ! Start timers ! ------------ CALL MAPL_TimerOn(STATE, "TOTAL") ! Get pointers to fields in import, internal, and export states defined ! in the registry file. This has to be done on the first call only. IF ( FIRST ) THEN #if defined( MODEL_GEOS ) # include "GEOSCHEMCHEM_GetPointer___.h" #else # include "GCHPchem_GetPointer___.h" !IF ( IsCTM ) THEN call MAPL_GetPointer ( IMPORT, PLE, 'PLE', __RC__ ) #ifdef RRTMG ! Read in dynamical heating rates If ( Read_Dyn_Heating ) Then call MAPL_GetPointer ( IMPORT, DynHeating, 'DynHeating', __RC__ ) End If #endif !ENDIF ! Pass IMPORT/EXPORT object to HEMCO state object !CALL GetHcoState( HcoState ) _ASSERT(ASSOCIATED(HcoState),'HcoState is not associated') HcoState%GRIDCOMP => GC HcoState%IMPORT => IMPORT HcoState%EXPORT => EXPORT !HcoState => NULL() #endif ENDIF #if defined( MODEL_GEOS ) ! GCHP ends the (if FIRST) block and then links HEMCO state to GC objects: ! ENDIF ! Link HEMCO state to gridcomp objects ASSERT_(ASSOCIATED(HcoState)) HcoState%GRIDCOMP => GC HcoState%IMPORT => IMPORT HcoState%EXPORT => EXPORT #endif #ifdef ADJOINT call MAPL_GetPointer( IMPORT, CostFuncMask, & 'CFN_MASK', notFoundOK=.TRUE., & __RC__ ) if (MAPL_Am_I_Root() .and. .not. ASSOCIATED(CostFuncMask)) & WRITE(*,*) ' No CFN_MASK import variable found' #endif ! Run when it's time to do so ! Always run on first call to make sure that all variables become ! properly specified and initialized. ! ------------------------------------------------------------------ RunningGEOSChem: IF(IsRunTime .OR. FIRST) THEN CALL MAPL_TimerOn(STATE, "RUN" ) ! Get various parameters from the ESMF/MAPL framework CALL Extract_( GC, & ! Ref to this Gridded Component Clock, & ! ESMF Clock object Grid = Grid, & ! ESMF Grid object MaplCf = MaplCF, & ! ESMF Config obj (MAPL*.rc) GeosCf = GeosCF, & ! ESMF Config obj (GEOSCHEM*.rc) tsChem = tsChem, & ! Chemistry timestep [sec] tsRad = tsRad, & ! Radiation timestep [sec] tsDyn = tsDyn, & ! Dynamic timestep [sec] nymd = nymd, & ! Current YYYY/MM/DD date nhms = nhms, & ! Current hh:mm:ss time year = year, & ! Current year month = month, & ! Current month day = day, & ! Current day dayOfYr = dayOfYr, & ! Current day of year hour = hour, & ! Current hour minute = minute, & ! Current minute helapsed = hElapsed, & ! Elapsed hours advCount = advCount, & ! # of times clock has advanced utc = utc, & ! Universal time [hours] localpet = myPet, & ! # of the PET we are on now petCount = nPets, & ! Total # of PETs __RC__ ) ! For convenience, set grid dimension variables. These are being ! used in Includes_Before_Run.H (ckeller, 8/22/19) IM = State_Grid%NX JM = State_Grid%NY LM = State_Grid%NZ ! Allocate GMAO_ZTH (declared at top of module) IF ( .not. ALLOCATED( zenith ) ) THEN ALLOCATE( zenith(State_Grid%NX,State_Grid%NY), STAT=STATUS) _VERIFY(STATUS) ENDIF ! Allocate GMAO_SLR (declared @ top of module) IF ( .not. ALLOCATED( solar ) ) THEN ALLOCATE( solar(State_Grid%NX,State_Grid%NY), STAT=STATUS) _VERIFY(STATUS) ENDIF ! Call EXTRACT a second time to get the solar zenith ! angle and solar insolation fields CALL Extract_( GC, & ! Ref to this Gridded Component Clock, & ! ESMF Clock object Grid = Grid, & ! ESMF Grid object MaplCf = MaplCF, & ! ESMF Config obj (MAPL*.rc) GeosCf = GeosCF, & ! ESMF Config obj (GEOSCHEM*.rc) lonCtr = lonCtr, & ! Lon centers on this PET [rad] latCtr = latCtr, & ! Lat centers on this PET [rad] ZTH = zenith, & ! Solar zenith angle SLR = solar, & ! Solar insolation __RC__ ) #if !defined( MODEL_GEOS ) ! MSL - shift from 0 - 360 to -180 - 180 degree grid where (lonCtr .gt. MAPL_PI ) lonCtr = lonCtr - 2*MAPL_PI #endif #if defined( MODEL_GEOS ) ! Check if this time is before the datetime of the prev timestep, e.g. ! if this is after a clock rewind AFTERREWIND = .FALSE. FIRSTREWIND = .FALSE. IF ( nymd < pymd ) THEN AFTERREWIND = .TRUE. ELSEIF ( (nymd == pymd) .AND. (nhms < phms) ) THEN AFTERREWIND = .TRUE. ENDIF ! If this is after a rewind, check if it's the first rewind. In this ! case, we need to re-do some first-time assignments to make sure that ! we reset all variables to the initial state! IF ( AFTERREWIND ) THEN nnRewind = nnRewind + 1 IF ( nnRewind == 1 ) FIRSTREWIND = .TRUE. ENDIF #endif ! Pass grid area [m2] obtained from dynamics component to State_Grid CALL MAPL_GetPointer( IMPORT, Ptr2d_R8, 'AREA', __RC__ ) State_Grid%Area_M2 = Ptr2d_R8 Ptr2d_R8 => NULL() !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! KLUDGE (mps, 5/23/19): ! Copy to State_Met%AREA_M2 to avoid breaking GCHP benchmarks, which ! require the AREA_M2 field saved out to the StateMet diagnostic ! collection for things like computing emission totals. ! State_Met%Area_M2 = State_Grid%Area_M2 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !======================================================================= ! Prevent use of (occasional) MAPL_UNDEF tropopause pressures !======================================================================= ! GCCTROPP contains the last valid tropopause pressure WHERE ( TROPP /= MAPL_UNDEF ) GCCTROPP = TROPP ! If any values in GCCTROPP are undefined, stop the run IF ( ANY( GCCTROPP == MAPL_UNDEF ) ) THEN PRINT *,TRIM(Iam)//": At least one invalid tropopause pressure." STATUS = GC_FAILURE _VERIFY(STATUS) ENDIF #ifdef ADJOINT IF (IsRunTime) THEN IF (Input_opt%IS_ADJOINT) THEN call WRITE_PARALLEL(' Resetting state from checkpoint file') ! call MAPL_GenericRefresh(GC, Import, Export, Clock, RC) call Adjoint_StateRefresh( GC, IMPORT, EXPORT, CLOCK, RC ) ! Loop over all species and get info from spc db DO N = 1, State_Chm%nSpecies ThisSpc => State_Chm%SpcData(N)%Info !IF (ThisSpc%Is_Advected) CYCLE IF ( TRIM(ThisSpc%Name) == '' ) CYCLE IND = IND_( TRIM(ThisSpc%Name ) ) IF ( IND < 0 ) CYCLE ! Get data from internal state and copy to species array CALL MAPL_GetPointer( INTERNAL, Ptr3D_R8, TRIM(SPFX) // & TRIM(ThisSpc%Name), notFoundOK=.TRUE., & __RC__ ) State_Chm%Species(IND)%Conc(:,:,:) = & Ptr3D_R8(:,:,State_Grid%NZ:1:-1) if ( MAPL_am_I_Root()) WRITE(*,*) & 'Initialized species from INTERNAL state: ', TRIM(ThisSpc%Name) enddo ELSE call WRITE_PARALLEL(' Recording state to checkpoint file') call Adjoint_StateRecord( GC, IMPORT, EXPORT, CLOCK, RC ) ! call WRITE_PARALLEL(' Done recording state to checkpoint files') ENDIF ENDIF #endif ! !======================================================================= ! ! pre-Run method array assignments. This passes the tracer arrays from ! ! the internal state to State_Chm. On the first call, it also fills the ! ! internal species arrays in State_Chm with the values read from the ! ! restart file (and stored in the internal state). ! !======================================================================= CALL MAPL_TimerOn(STATE, "CP_BFRE") #include "Includes_Before_Run.H" CALL MAPL_TimerOff(STATE, "CP_BFRE") #if defined( MODEL_GCHPCTM ) !======================================================================= ! Point GEOS-Chem species concentration arrays to internal state !======================================================================= DO I = 1, SIZE(Int2Spc,1) IF ( Int2Spc(I)%ID <= 0 ) CYCLE State_Chm%Species(Int2Spc(I)%ID)%Conc => Int2Spc(I)%Internal(:,:,State_Grid%NZ:1:-1) ENDDO #ifdef ADJOINT IF (Input_Opt%Is_Adjoint) THEN DO I = 1, SIZE(Int2Adj,1) IF ( Int2Adj(I)%ID <= 0 ) CYCLE State_Chm%SpeciesAdj(:,:,:,Int2Adj(I)%ID) = Int2Adj(I)%Internal ENDDO ! Flip in the vertical State_Chm%SpeciesAdj = State_Chm%SpeciesAdj( :, :, State_Grid%NZ:1:-1, : ) ENDIF #endif !======================================================================= ! On first call, populate State_Chm%Species(N)%Conc with background ! values if the species is missing from the restart file and missing ! species are allowed. !======================================================================= #ifdef ADJOINT IF ( FIRST .or. Input_Opt%IS_ADJOINT) THEN #else IF ( FIRST ) THEN #endif ! Get Generic State call MAPL_GetObjectFromGC ( GC, STATE, RC=STATUS) _VERIFY(STATUS) ! Get Internal state CALL MAPL_Get ( STATE, INTERNAL_ESMF_STATE=INTERNAL, __RC__ ) ! Loop over all species and get info from spc db DO N = 1, State_Chm%nSpecies ThisSpc => State_Chm%SpcData(N)%Info IF ( TRIM(ThisSpc%Name) == '' ) CYCLE IND = IND_( TRIM(ThisSpc%Name ) ) IF ( IND < 0 ) CYCLE ! Determine if species in restart file CALL ESMF_StateGet( INTERNAL, TRIM(SPFX) // TRIM(ThisSpc%Name), & trcFIELD, RC=RC ) CALL ESMF_AttributeGet( trcFIELD, NAME="RESTART", & VALUE=RST, RC=STATUS ) ! Set spc conc to background value if rst skipped or var not there IF ( ( RC /= ESMF_SUCCESS .OR. & RST == MAPL_RestartBootstrap .OR. & RST == MAPL_RestartSkipInitial ) & #ifdef JACOBIAN .AND. .NOT. ThisSpc%Is_JacobianTracer & #endif ) THEN DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX IF ( L > State_Met%MaxChemLev .AND. & ( .NOT. ThisSpc%Is_Advected ) ) THEN ! For non-advected spc at L > MaxChemLev, use small number State_Chm%Species(IND)%Conc(I,J,L) = 1.0E-30_FP ELSE ! For all other cases, use the background value in spc db State_Chm%Species(IND)%Conc(I,J,L) = ThisSpc%BackgroundVV ENDIF ENDDO ENDDO ENDDO IF ( MAPL_am_I_Root()) THEN WRITE(*,*) & ' WARNING: using background values from species database'& //' for species '//trim(ThisSpc%Name) ENDIF ENDIF #ifdef JACOBIAN ! Do special handling if this is a Jacobian tracer IF ( ThisSpc%Is_JacobianTracer ) THEN primarySpcName = ThisSpc%Name(1:LEN(trim(ThisSpc%Name))-8) primarySpcId = IND_(trim(primarySpcName)) State_Chm%Species(IND)%Conc = State_Chm%Species(primarySpcId)%Conc IF ( MAPL_am_I_Root()) THEN WRITE(*,*) ' INFO: using the initial concentration of ' & // trim(primarySpcName) //' for the Jacobian tracer ' & // trim(ThisSpc%Name) ENDIF ENDIF #endif ThisSpc => NULL() ENDDO ENDIF !======================================================================= ! On first call, initialize certain State_Chm arrays from ! internal state (restart file) if they are found. Do not initialize ! from met-fields in restart file that were added for post-processing. ! Do not add delta pressure since used for mass conservation scaling ! in FV3 prior advection which comes before GEOS-Chem. !======================================================================= IF ( FIRST ) THEN CALL MAPL_GetPointer( INTSTATE, Ptr3d_R8, 'H2O2AfterChem', notFoundOK=.TRUE., __RC__ ) IF ( ASSOCIATED(Ptr3d_R8) .AND. ASSOCIATED(State_Chm%H2O2AfterChem) ) THEN State_Chm%H2O2AfterChem = Ptr3d_R8(:,:,State_Grid%NZ:1:-1) ENDIF Ptr3d_R8 => NULL() CALL MAPL_GetPointer( INTSTATE, Ptr3d_R8, 'SO2AfterChem', notFoundOK=.TRUE., __RC__ ) IF ( ASSOCIATED(Ptr3d_R8) .AND. ASSOCIATED(State_Chm%SO2AfterChem) ) THEN State_Chm%SO2AfterChem = Ptr3d_R8(:,:,State_Grid%NZ:1:-1) ENDIF Ptr3d_R8 => NULL() CALL MAPL_GetPointer( INTSTATE, Ptr2d_R8, 'DryDepNitrogen', notFoundOK=.TRUE., __RC__ ) IF ( ASSOCIATED(Ptr2d_R8) .AND. ASSOCIATED(State_Chm%DryDepNitrogen) ) THEN State_Chm%DryDepNitrogen = Ptr2d_R8 ENDIF Ptr2d_R8 => NULL() CALL MAPL_GetPointer( INTSTATE, Ptr2d_R8, 'WetDepNitrogen', notFoundOK=.TRUE., __RC__ ) IF ( ASSOCIATED(Ptr2d_R8) .AND. ASSOCIATED(State_Chm%WetDepNitrogen) ) THEN State_Chm%WetDepNitrogen = Ptr2d_R8 ENDIF Ptr2d_R8 => NULL() CALL MAPL_GetPointer( INTSTATE, Ptr3d_R8, 'KPPHvalue', notFoundOK=.TRUE., __RC__ ) IF ( ASSOCIATED(Ptr3d_R8) .AND. ASSOCIATED(State_Chm%KPPHvalue) ) THEN State_Chm%KPPHvalue(:,:,1:State_Met%MaxChemLev) = & Ptr3d_R8(:,:,State_Grid%NZ:State_Grid%NZ-State_Met%MaxChemLev+1:-1) ENDIF Ptr3d_R8 => NULL() CALL MAPL_GetPointer( INTSTATE, Ptr3D, 'STATE_PSC', notFoundOK=.TRUE., __RC__ ) IF ( ASSOCIATED(Ptr3D) .AND. ASSOCIATED(State_Chm%State_PSC) ) THEN State_Chm%State_PSC(:,:,:) = Ptr3D(:,:,LM:1:-1) ENDIF Ptr3D => NULL() CALL MAPL_GetPointer( INTSTATE, Ptr3d_R8, 'AeroH2O_SNA', notFoundOK=.TRUE., __RC__ ) IF ( ASSOCIATED(Ptr3d_R8) .AND. ASSOCIATED(State_Chm%AeroH2O) ) THEN State_Chm%AeroH2O(:,:,1:State_Grid%NZ,NDUST+1) = & Ptr3d_R8(:,:,State_Grid%NZ:1:-1) ENDIF Ptr3d_R8 => NULL() CALL MAPL_GetPointer( INTSTATE, Ptr3d_R8, 'ORVCSESQ', notFoundOK=.TRUE., __RC__ ) IF ( ASSOCIATED(Ptr3d_R8) .AND. ASSOCIATED(State_Chm%ORVCsesq) ) THEN State_Chm%ORVCsesq(:,:,1:State_Grid%NZ) = & Ptr3d_R8(:,:,State_Grid%NZ:1:-1) ENDIF Ptr3d_R8 => NULL() CALL MAPL_GetPointer( INTSTATE, Ptr2D_R8, 'JOH', notFoundOK=.TRUE., __RC__ ) IF ( ASSOCIATED(Ptr2D_R8) .AND. ASSOCIATED(State_Chm%JOH) ) THEN State_Chm%JOH(:,:) = Ptr2D_R8(:,:) ENDIF Ptr2D_R8 => NULL() CALL MAPL_GetPointer( INTSTATE, Ptr2D_R8, 'JNO2', notFoundOK=.TRUE., __RC__ ) IF ( ASSOCIATED(Ptr2D_R8) .AND. ASSOCIATED(State_Chm%JNO2) ) THEN State_Chm%JNO2(:,:) = Ptr2D_R8(:,:) ENDIF Ptr2D_R8 => NULL() CALL MAPL_GetPointer( INTSTATE, Ptr3d_R8, 'TSTRAT_ADJ', notFoundOK=.TRUE., __RC__ ) IF ( ASSOCIATED(Ptr3d_R8) .AND. ASSOCIATED(State_Chm%TStrat_Adj) ) THEN State_Chm%TStrat_Adj(:,:,1:State_Grid%NZ) = & Ptr3d_R8(:,:,State_Grid%NZ:1:-1) ENDIF Ptr3d_R8 => NULL() ENDIF #endif #if defined( MODEL_GEOS ) ! Set H2O from Q (=SPHU) CALL GEOS_SetH2O( GC, Input_Opt, State_Met, State_Chm, State_Grid, Q, 1, __RC__ ) ! Set appropriate met fields for lightning CALL MetVars_For_Lightning_Run( GC, Import=IMPORT, Export=EXPORT, & State_Met=State_Met, State_Grid=State_Grid, __RC__ ) ! Set CO2 / mesosphere CO concentrations from external field (e.g., GOCART) ! Note: comment out for now and call this below immediately before doing ! CO2 photolysis. Reason for this is that CO2 is currently hardcoded to ! 0.0 in fullchem to match the old SMVGEAR code (??) ! CALL GEOS_CarbonSetConc( Import, Input_Opt, State_Chm, & ! State_Met, State_Diag, State_Grid, __RC__ ) ! Eventually initialize species concentrations from external field. IsFirst = ( FIRST .OR. FIRSTREWIND ) IF ( InitFromFile ) THEN CALL GEOS_InitFromFile( GC, Import, INTSTATE, Export, GeosCF, & Input_Opt, State_Met, State_Chm, Q, & PLE, GCCTROPP, IsFirst, __RC__ ) ENDIF ! Initialize RATS and OX tendency diagnostics IF ( PHASE == RATSPHASE ) THEN CALL GEOS_RATSandOxDiags( GC, INTSTATE, Export, Input_Opt, State_Met, & State_Chm, State_Grid, Q, 1, tsChem, __RC__ ) ENDIF ! Perform GEOS pre-run checks CALL GEOS_PreRunChecks( am_I_Root, Input_Opt, State_Met, State_Chm, & GeosCF, IsFirst, __RC__ ) #endif !======================================================================= ! Set Olson land map types from import of Olson file. !======================================================================= ! We are currently using land type fractions derived from the 2001 ! Olson land map instead of GEOS5 vegetation type fractions. Fractions ! are calculated by ExtData using conservate fractional regridding of ! the native 0.25x0.25 resolution file. (ewl, 11/29/16) ! ! Previous: ! Set land types in State_Met from GEOS5 vegetation type fractions or ! OLSON land type fractions. For now, the land types are treated as ! static and obtained from offline fields. The routine below thus needs ! to be called only once. ! Once the GEOS-5 land types are dynamic, we should import those from ! the surface component (field ITY, or better: vegetation type fractions ! per grid box). (ckeller, 01/06/2015) ! !======================================================================= #if defined( MODEL_GEOS ) IF ( FIRST .OR. FIRSTREWIND ) THEN #else IF ( FIRST ) THEN #endif ! Set Olson fractional land type from import (ewl) If (am_I_Root) Write(*,'(a)') 'Initializing land type ' // & 'fractions from Olson imports' Ptr2d => NULL() DO TT = 1, NSURFTYPE ! Create two-char string for land type landTypeInt = TT-1 WRITE ( landTypeStr, '(I2.2)' ) landTypeInt importName = 'OLSON' // TRIM(landTypeStr) ! Get pointer and populate State_Met variable CALL MAPL_GetPointer ( IMPORT, Ptr2D, TRIM(importName), & notFoundOK=.TRUE., __RC__ ) If ( Associated(Ptr2D) ) Then State_Met%LandTypeFrac(:,:,TT) = Ptr2D(:,:) ELSE WRITE(6,*) TRIM(importName) // ' pointer is not associated' ENDIF Ptr2D => NULL() ENDDO ! Compute State_Met variables IREG, ILAND, IUSE, and FRCLND CALL Compute_Olson_Landmap( Input_Opt, State_Grid, State_Met, RC ) _ASSERT(RC==GC_SUCCESS,'Error calling Compute_Olson_Landmap') ENDIF #if defined( MODEL_GEOS ) !======================================================================= ! Get total ozone column from GEOS-Chem export variable. ! Need to calculate from restart variables on first call! !======================================================================= IF ( PHASE /= 1 ) THEN CALL GEOS_CalcTotOzone( am_I_Root, State_Met, State_Chm, State_Diag, PLE, TROPP, __RC__ ) ENDIF #endif !======================================================================= ! Execute GEOS-Chem on multiple PETs !======================================================================= ! Fix negatives! ! These can be brought in as an artifact of convection. #ifndef ADJOINT DO N = 1, State_Chm%nSpecies WHERE ( State_Chm%Species(N)%Conc < 0.0e0 ) State_Chm%Species(N)%Conc = 1.0e-36 END WHERE ENDDO #endif ! Execute GEOS-Chem if it's time to run it IF ( IsRunTime ) THEN ! This is mostly for testing #if defined( MODEL_GEOS ) IF ( FIRST .AND. Input_Opt%haveImpRst ) THEN #else IF ( FIRST ) THEN #endif IF ( am_I_Root ) THEN WRITE(*,*) '' WRITE(*,*) 'Doing warm GEOS-Chem restart' WRITE(*,*) '' ENDIF ENDIF #if defined( MODEL_GEOS ) ! Only if restart file exists... IF ( Input_Opt%haveImpRst ) THEN #endif #if !defined( MODEL_GEOS ) ! Optional memory prints (level >= 2) if ( MemDebugLevel > 0 ) THEN call ESMF_VMBarrier(vm, RC=STATUS) _VERIFY(STATUS) call MAPL_MemUtilsWrite(VM, & 'Chem_GridCompMod, before chunk_run', RC=STATUS ) _VERIFY(STATUS) endif #endif CALL MAPL_TimerOn(STATE, "DO_CHEM") #if !defined( MODEL_GEOS ) ! NOTE: Second was not extracted previously; set to 0 for now second = 0 #endif #ifdef ADJOINT !======================================================================= ! If this is an adjoint run, we need to check for the final (first) ! timestep and multiply the scaling factor adjoint by the initial concs !======================================================================= isStartTime = .false. IF (Input_Opt%IS_ADJOINT) THEN call ESMF_ClockGet(clock, currTime=currTime, startTime=stopTime, __RC__ ) else call ESMF_ClockGet(clock, currTime=currTime, stopTime=stopTime, __RC__ ) Endif ! call ESMF_TimeIntervalSet(tsChemInt, s_r8=real(-tsChem, 8), __RC__ ) ! this variable is set to zero but I'm leaving it in case I need this code later call ESMF_TimeIntervalSet(tsChemInt, s_r8=real(0, 8), __RC__ ) call ESMF_TimeGet(currTime + tsChemInt, timeString=timestring1, __RC__ ) call ESMF_TimeGet(stopTime, timeString=timestring2, __RC__ ) if (memdebuglevel > 0 .and. am_I_Root) & WRITE(*,*) ' Adjoint checking if ' // trim(timestring1) // ' == ' // trim(timestring2) if (currTime + tsChemInt == stopTime) THEN isStartTime = .TRUE. ENDIF #endif ! Run the GEOS-Chem column chemistry code for the given phase CALL GCHP_Chunk_Run( GC = GC, & ! Grid comp ref. nymd = nymd, & ! Current YYYYMMDD nhms = nhms, & ! Current hhmmss year = year, & ! Current year month = month, & ! Current month day = day, & ! Current day dayOfYr = dayOfYr, & ! Current doy hour = hour, & ! Current hour minute = minute, & ! Current minute second = second, & ! Current second utc = utc, & ! Current UTC [hrs] hElapsed = hElapsed, & ! Elapsed hours Input_Opt = Input_Opt, & ! Input Options State_Chm = State_Chm, & ! Chemistry State State_Diag = State_Diag, & ! Diagnostics State State_Grid = State_Grid, & ! Grid State State_Met = State_Met, & ! Meteorology State Phase = Phase, & ! Run phase IsChemTime = IsChemTime, & ! Time for chem? IsRadTime = IsRadTime, & ! Time for RRTMG? #if defined( MODEL_GEOS ) FrstRewind = FirstRewind,& ! First rewind? #endif #ifdef ADJOINT isStartTime = isStartTime, & !back to the first timestep in the reverse run? #endif __RC__ ) ! Success or fail? CALL MAPL_TimerOff(STATE, "DO_CHEM") #if !defined( MODEL_GEOS ) ! Optional memory prints (level >= 2) if ( MemDebugLevel > 0 ) THEN call ESMF_VMBarrier(vm, RC=STATUS) _VERIFY(STATUS) call MAPL_MemUtilsWrite(VM, & 'Chem_GridCompMod, after chunk_run', RC=STATUS ) _VERIFY(STATUS) endif #endif #if !defined( MODEL_GEOS ) where( State_Met%HFLUX .eq. 0.) State_Met%HFLUX = 1e-5 #endif #if defined( MODEL_GEOS ) ! Restart file does not exist: ELSE IF ( am_I_Root ) THEN WRITE(*,*) '' WRITE(*,*) ' SKIP GEOS-CHEM PHASE ', Phase, & ' BECAUSE IMPORT RESTART FILE IS MISSING' WRITE(*,*) '' ENDIF ENDIF #endif ENDIF !IsRunTime !======================================================================= ! post-Run method array assignments. This copies the values back from ! the State_Chm tracer arrays to the internal state, so that they can ! be seen by other components (moist, turbulence, ...) !======================================================================= #if defined( MODEL_GCHPCTM ) CALL MAPL_TimerOn(STATE, "CP_AFTR") #endif #if defined( MODEL_GEOS ) !======================================================================= ! GEOS post-run procedures !======================================================================= ! Import CO2 concentrations from external field (e.g., GOCART) ! Note: this call should be moved to the beginning of the routine once ! CO2 is not hardcoded to 0.0 anymore (in fullchem) CALL GEOS_CarbonSetConc( Import, Input_Opt, State_Chm, & State_Met, State_Diag, State_Grid, __RC__ ) IF ( PHASE == CHEMPHASE ) THEN ! CO production from CO2 photolysis, using StratChem code CALL GEOS_CarbonRunPhoto( Input_Opt, State_Chm, State_Met, & State_Diag, State_Grid, __RC__ ) ENDIF IF ( PHASE == ANAPHASE ) THEN ! Call GEOS analysis routine CALL GEOS_AnaRun( GC, Import, INTSTATE, Export, Clock, & Input_Opt, State_Met, State_Chm, Q, PLE, TROPP, __RC__ ) ! GEOS Diagnostics. This includes the 'default' GEOS-Chem diagnostics. CALL GEOS_Diagnostics( GC, IMPORT, EXPORT, Clock, Phase, Input_Opt, & State_Met, State_Chm, State_Diag, State_Grid, __RC__ ) ENDIF ! Fill RATS and OX diagnostics IF ( PHASE == RATSPHASE ) THEN CALL GEOS_RATSandOxDiags( GC, INTSTATE, Export, Input_Opt, State_Met, & State_Chm, State_Grid, Q, 2, tsChem, __RC__ ) ENDIF ! Set H2O from Q (=SPHU) IF ( Input_Opt%applyQtend ) THEN CALL GEOS_SetH2O( GC, Input_Opt, State_Met, State_Chm, State_Grid, Q, -1, __RC__ ) ENDIF ! Update internal state fields CALL MAPL_TimerOn(STATE, "CP_AFTR") # include "Includes_After_Run.H" CALL MAPL_TimerOff(STATE, "CP_AFTR") ! Connect to aerosols - experimental IF ( DoAERO ) THEN CALL GEOS_FillAeroBundle ( GC, EXPORT, State_Chm, State_Grid, Input_Opt, __RC__ ) ENDIF ! Archive last active time steps pymd = nymd phms = nhms #endif #if defined( MODEL_GCHPCTM ) #ifdef ADJOINT IF (Input_Opt%Is_Adjoint) THEN State_Chm%SpeciesAdj = State_Chm%SpeciesAdj(:,:,State_Grid%NZ:1:-1,:) DO I = 1, SIZE(Int2Adj,1) WRITE(*,*) 'Copying adjoint ', Int2Adj(I)%ID, ' to ', I IF ( Int2Adj(I)%ID <= 0 ) CYCLE Int2Adj(I)%Internal = State_Chm%SpeciesAdj(:,:,:,Int2Adj(I)%ID) ENDDO ENDIF #endif CALL MAPL_TimerOff(STATE, "CP_AFTR") ! Update non-species dynamic internal state arrays post-run ! every timestep, except for area which can be set first run only. ! Some of the fields are for post-processing but need to be updated ! mid-run for inclusion in mid-run checkpoint files. CALL MAPL_GetPointer( INTSTATE, Ptr2d_R8, 'DryDepNitrogen', & notFoundOK=.TRUE., __RC__ ) IF (ASSOCIATED(Ptr2d_R8) .AND. ASSOCIATED(State_Chm%DryDepNitrogen)) THEN Ptr2d_R8 = State_Chm%DryDepNitrogen ENDIF Ptr2d_R8 => NULL() CALL MAPL_GetPointer( INTSTATE, Ptr2d_R8, 'WetDepNitrogen', & notFoundOK=.TRUE., __RC__ ) IF (ASSOCIATED(Ptr2d_R8) .AND. ASSOCIATED(State_Chm%WetDepNitrogen)) THEN Ptr2d_R8 = State_Chm%WetDepNitrogen ENDIF Ptr2d_R8 => NULL() CALL MAPL_GetPointer( INTSTATE, Ptr3d_R8, 'H2O2AfterChem', & notFoundOK=.TRUE., __RC__ ) IF (ASSOCIATED(Ptr3d_R8) .AND. ASSOCIATED(State_Chm%H2O2AfterChem)) THEN Ptr3d_R8(:,:,State_Grid%NZ:1:-1) = State_Chm%H2O2AfterChem ENDIF Ptr3d_R8 => NULL() CALL MAPL_GetPointer( INTSTATE, Ptr3d_R8, 'SO2AfterChem', & notFoundOK=.TRUE., __RC__ ) IF (ASSOCIATED(Ptr3d_R8) .AND. ASSOCIATED(State_Chm%SO2AfterChem)) THEN Ptr3d_R8(:,:,State_Grid%NZ:1:-1) = State_Chm%SO2AfterChem ENDIF Ptr3d_R8 => NULL() CALL MAPL_GetPointer( INTSTATE, Ptr3d_R8, 'KPPHvalue', & notFoundOK=.TRUE., __RC__ ) IF (ASSOCIATED(Ptr3d_R8) .AND. ASSOCIATED(State_Chm%KPPHvalue)) THEN Ptr3d_R8(:,:,1:State_Grid%NZ-State_Met%MaxChemLev) = 0.0 Ptr3d_R8(:,:,State_Grid%NZ:State_Grid%NZ-State_Met%MaxChemLev+1:-1)=& State_Chm%KPPHvalue(:,:,1:State_Met%MaxChemLev) ENDIF Ptr3d_R8 => NULL() CALL MAPL_GetPointer( INTSTATE, Ptr3d_R8, 'AeroH2O_SNA', & notFoundOK=.TRUE., __RC__ ) IF (ASSOCIATED(Ptr3d_R8) .AND. ASSOCIATED(State_Chm%AeroH2O)) THEN Ptr3d_R8(:,:,State_Grid%NZ:1:-1) = & State_Chm%AeroH2O(:,:,1:State_Grid%NZ,NDUST+1) ENDIF Ptr3d_R8 => NULL() CALL MAPL_GetPointer( INTSTATE, Ptr3d_R8, 'ORVCSESQ', & notFoundOK=.TRUE., __RC__ ) IF (ASSOCIATED(Ptr3d_R8) .AND. ASSOCIATED(State_Chm%ORVCsesq)) THEN Ptr3d_R8(:,:,State_Grid%NZ:1:-1) = & State_Chm%ORVCsesq(:,:,1:State_Grid%NZ) ENDIF Ptr3d_R8 => NULL() CALL MAPL_GetPointer( INTSTATE, Ptr2D_R8, 'JOH', & notFoundOK=.TRUE., __RC__ ) IF (ASSOCIATED(Ptr2D_R8) .AND. ASSOCIATED(State_Chm%JOH)) THEN Ptr2d_R8(:,:) = State_Chm%JOH(:,:) ENDIF Ptr2D_R8 => NULL() CALL MAPL_GetPointer( INTSTATE, Ptr2D_R8, 'JNO2', & notFoundOK=.TRUE., __RC__ ) IF (ASSOCIATED(Ptr2D_R8) .AND. ASSOCIATED(State_Chm%JNO2)) THEN Ptr2d_R8(:,:) = State_Chm%JNO2(:,:) ENDIF Ptr2D_R8 => NULL() CALL MAPL_GetPointer( INTSTATE, Ptr3D, 'STATE_PSC', & notFoundOK=.TRUE., __RC__ ) IF (ASSOCIATED(Ptr3D) .AND. ASSOCIATED(State_Chm%State_PSC)) THEN Ptr3d(:,:,LM:1:-1) = State_Chm%State_PSC(:,:,:) ENDIF Ptr3D => NULL() CALL MAPL_GetPointer( INTSTATE, Ptr3d_R8, 'DELP_DRY', & notFoundOK=.TRUE., __RC__ ) IF (ASSOCIATED(Ptr3d_R8) .AND. ASSOCIATED(State_Met%DELP_DRY)) THEN Ptr3d_R8(:,:,State_Grid%NZ:1:-1) = & State_Met%DELP_DRY(:,:,1:State_Grid%NZ) ENDIF Ptr3d_R8 => NULL() CALL MAPL_GetPointer( INTSTATE, Ptr3d_R8, 'TSTRAT_ADJ', & notFoundOK=.TRUE., __RC__ ) IF (ASSOCIATED(Ptr3d_R8) .AND. ASSOCIATED(State_Met%DELP_DRY) & .AND. ASSOCIATED(State_Chm%TStrat_Adj) ) THEN Ptr3d_R8(:,:,State_Grid%NZ:1:-1) = & State_Chm%TStrat_Adj(:,:,1:State_Grid%NZ) ENDIF Ptr3d_R8 => NULL() CALL MAPL_GetPointer( INTSTATE, Ptr3d_R8, 'BXHEIGHT' ,& notFoundOK=.TRUE., __RC__ ) IF (ASSOCIATED(Ptr3d_R8) .AND. ASSOCIATED(State_Met%BXHEIGHT)) THEN Ptr3d_R8(:,:,State_Grid%NZ:1:-1) = & State_Met%BXHEIGHT(:,:,1:State_Grid%NZ) ENDIF Ptr3d_R8 => NULL() CALL MAPL_GetPointer( INTSTATE, Ptr2d_R8, 'TropLev', & notFoundOK=.TRUE., __RC__ ) IF (ASSOCIATED(Ptr2d_R8) .AND. ASSOCIATED(State_Met%TropLev)) THEN Ptr2d_R8 = State_Met%TropLev ENDIF Ptr2d_R8 => NULL() ! Only update area the first timestep IF ( FIRST ) THEN CALL MAPL_GetPointer( INTSTATE, Ptr2d_R8, 'AREA', & notFoundOK=.TRUE., __RC__ ) IF ( ASSOCIATED(Ptr2d_R8) .AND. ASSOCIATED(State_Met%AREA_M2) ) THEN Ptr2d_R8 = State_Met%AREA_M2 ENDIF Ptr2d_R8 => NULL() ENDIF #else ! For GEOS, update specific humidity internal state variable if using. CALL MAPL_GetPointer( INTSTATE, Ptr3d, 'SpecificHumidity', & notFoundOK=.TRUE., __RC__ ) IF ( ASSOCIATED(Ptr3d) ) THEN Ptr3d(:,:,State_Grid%NZ:1:-1) = & State_Met%SPHU(:,:,1:State_Grid%NZ) * 1e-3_fp ENDIF Ptr3d => NULL() #endif ! Stop timer ! ---------- CALL MAPL_TimerOff(STATE, "RUN" ) ENDIF RunningGEOSChem !======================================================================= ! Copy HISTORY.rc diagnostic data to exports. Includes HEMCO emissions ! diagnostics but excludes internal state and exports created explicitly ! in Chem_GridCompMod. NOTE: Exports created explicitly in Chem_GridCompMod ! will eventually be moved elsewhere as diagnostics for use with GEOS-5. ! (ewl, 11/2/17) !======================================================================= IF ( FIRST ) THEN CALL HistoryExports_SetDataPointers( am_I_Root, EXPORT, & HistoryConfig, State_Chm, & State_Diag, State_Met, & STATUS ) _VERIFY(STATUS) ENDIF CALL CopyGCStates2Exports( am_I_Root, Input_Opt, HistoryConfig, STATUS ) _VERIFY(STATUS) #if defined( MODEL_GCHPCTM ) !======================================================================= ! Nullify GEOS-Chem species concentration pointers !======================================================================= DO I = 1, SIZE(Int2Spc,1) IF ( Int2Spc(I)%ID <= 0 ) CYCLE IF ( ASSOCIATED( State_Chm%Species(Int2Spc(I)%ID)%Conc ) ) THEN State_Chm%Species(Int2Spc(I)%ID)%Conc => NULL() ENDIF ENDDO #endif !======================================================================= ! All done !======================================================================= IF ( ALLOCATED( zenith ) ) DEALLOCATE( zenith ) IF ( ALLOCATED( solar ) ) DEALLOCATE( solar ) ! Stop timer ! ---------- CALL MAPL_TimerOff(STATE, "TOTAL") #if defined( MODEL_GEOS ) ! The restart file should exist at least after the first full cycle, ! e.g. after phase 1 and phase 2 has been called once. IF ( FIRST .AND. Phase == 1 ) THEN Input_Opt%haveImpRst = Input_Opt%haveImpRst ELSE Input_Opt%haveImpRst = .TRUE. ENDIF #endif ! Update first flags FIRST = .FALSE. #if defined( MODEL_GEOS ) ! Unlink HEMCO state from gridcomp objects HcoState%GRIDCOMP => NULL() HcoState%IMPORT => NULL() HcoState%EXPORT => NULL() #endif ! Successful return _RETURN(ESMF_SUCCESS) ! Formats 100 FORMAT( '---> DATE: ', i4.4, '/', i2.2, '/', i2.2, & ' GMT: ', i2.2, ':', i2.2, ' X-HRS: ', f11.3 ) 110 FORMAT( 'Box (',i3,',',i3,') on PET ', i3, ' has coords: ', 2f7.2, & ' LocT = ', f9.4 ) 200 FORMAT( '### ', / & '### ', a, ' | Execution on PET # ', i5.5, / & '###' ) END SUBROUTINE Run_ !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Finalize_ ! ! !DESCRIPTION: Finalize_ is the finalize method of the GEOSCHEMchem gridded ! component. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Finalize_( GC, Import, Export, Clock, RC ) ! ! !USES: ! USE CMN_Size_Mod, ONLY : NDUST USE Input_Opt_Mod, ONLY : OptInput #if !defined( MODEL_GEOS ) USE Input_Opt_Mod, ONLY : Cleanup_Input_Opt #endif USE State_Chm_Mod, ONLY : ChmState, Cleanup_State_Chm USE State_Diag_Mod, ONLY : DgnState, Cleanup_State_Diag USE State_Grid_Mod, ONLY : GrdState, Cleanup_State_Grid USE State_Met_Mod, ONLY : MetState, Cleanup_State_Met USE HCO_Interface_GC_Mod, ONLY : HCOI_GC_FINAL #if defined( MODEL_GEOS ) USE HCO_State_GC_Mod, ONLY : HcoState USE GEOS_Analysis, ONLY : GEOS_AnaFinal #endif ! ! !INPUT/OUTPUT PARAMETERS: ! #if defined( MODEL_GEOS ) TYPE(ESMF_GridComp), INTENT(INOUT), TARGET :: GC ! Ref. to this GC TYPE(ESMF_State), INTENT(INOUT), TARGET :: Import ! Import State TYPE(ESMF_State), INTENT(INOUT), TARGET :: Export ! Export State #else TYPE(ESMF_GridComp), INTENT(INOUT) :: GC ! Ref. to this GC TYPE(ESMF_State), INTENT(INOUT) :: Import ! Import State TYPE(ESMF_State), INTENT(INOUT) :: Export ! Export State #endif TYPE(ESMF_Clock), INTENT(INOUT) :: Clock ! ESMF Clock object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! We call routine Extract_ to return various values (i.e. grid parameters, ! start & end dates, PET information, etc.) from the ESMF/MAPL environment. ! We then pass those to GEOS-Chem via routine GCHP_CHUNK_FINAL, which is ! located in GEOS-Chem module ./GEOS-Chem/ESMF/gchp_chunk_mod.F90. ! ! !REVISION HISTORY: ! 01 Dec 2009 - A. Da Silva - Initial version ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! LOCAL VARIABLES: ! ! Objects TYPE(ESMF_Grid) :: Grid ! ESMF Grid object TYPE(ESMF_Config) :: MaplCF ! Config (MAPL.rc) TYPE(ESMF_Config) :: GeosCF ! Config (GEOSCHEM*.rc) type(GC_run_alarms), pointer :: GC_alarms type(GCRA_wrap) :: GC_alarm_wrapper ! Scalars LOGICAL :: am_I_Root ! Are we on the root PET? CHARACTER(LEN=ESMF_MAXSTR) :: compName ! Gridded component name INTEGER :: error ! GEOS-Chem error code INTEGER :: myPet ! # of PET we are on now INTEGER :: I, J, L ! Loop indices REAL :: UTC ! UTC time [hours] ! ewl: added for new internal state vars CHARACTER(LEN=ESMF_MAXSTR) :: importName, intStr INTEGER :: LM ! Pointers TYPE(MAPL_MetaComp), POINTER :: STATE #if !defined( MODEL_GEOS ) TYPE(Species), POINTER :: ThisSpc ! For species copying INTEGER :: IND TYPE(ESMF_STATE) :: INTSTATE REAL, POINTER :: Ptr2D(:,:) => NULL() REAL, POINTER :: Ptr3D(:,:,:) => NULL() REAL(ESMF_KIND_R8), POINTER :: Ptr2D_R8(:,:) => NULL() REAL(ESMF_KIND_R8), POINTER :: Ptr3D_R8(:,:,:) => NULL() INTEGER :: N, K, NFD CHARACTER(LEN=ESMF_MAXSTR) :: TrcName #endif #ifdef ADJOINT ! Finite difference test variables INTEGER :: IFD, JFD, LFD REAL*8 :: CFN CHARACTER(len=ESMF_MAXSTR) :: FD_SPEC #endif __Iam__('Finalize_') !======================================================================= ! Initialization !======================================================================= ! Are we on the root PET am_I_Root = MAPL_Am_I_Root() ! Set number of levels LM = State_Grid%NZ ! Set up traceback info CALL ESMF_GridCompGet( GC, name=compName, __RC__ ) ! Identify this routine to MAPL Iam = TRIM(compName)//'::Finalize_' ! Get my MAPL_Generic state ! ------------------------- CALL MAPL_GetObjectFromGC(GC, STATE, RC=STATUS) _VERIFY(STATUS) ! Start timers ! ------------ ! CALL MAPL_TimerOn(STATE, "TOTAL") ! CALL MAPL_TimerOn(STATE, "FINALIZE") ! Get various parameters from the ESMF/MAPL framework CALL Extract_( GC, & ! Ref to this Gridded Component Clock, & ! ESMF Clock object Grid = Grid, & ! ESMF Grid object MaplCF = MaplCF, & ! ESMF Config obj (MAPL.rc) GeosCF = GeosCF, & ! ESMF Config obj (GEOSCHEM*.rc) utc = utc, & ! Universal time [hours] localPET = myPet, & ! PET # we are on now __RC__ ) ! Destroy the internal alarms call ESMF_UserCompGetInternalState(GC,'gcchem_internal_alarms',GC_alarm_wrapper,status) _ASSERT(status==0,'Could not find GC alarms for destruction') GC_alarms => GC_alarm_wrapper%ptr call ESMF_AlarmDestroy(GC_alarms%RRTMG_alarm,rc=status) _ASSERT(status==0,'Could not destroy radiation alarm') deallocate(GC_alarms,stat=status) _ASSERT(status==0,'Could not deallocate GC alarms') !======================================================================= ! Finalize the Gridded Component !======================================================================= #if defined( MODEL_GEOS ) ! Link HEMCO state to gridcomp objects _ASSERT(ASSOCIATED(HcoState),'HcoState is not associated') HcoState%GRIDCOMP => GC HcoState%IMPORT => IMPORT HcoState%EXPORT => EXPORT #endif #ifdef ADJOINT IF (Input_Opt%IS_FD_SPOT_THIS_PET .and. .not. Input_Opt%IS_FD_GLOBAL) THEN FD_SPEC = transfer(state_chm%SpcData(Input_Opt%NFD)%Info%Name, FD_SPEC) IFD = Input_Opt%IFD JFD = Input_Opt%JFD LFD = Input_Opt%LFD NFD = Input_Opt%NFD ! print out the cost function WRITE(*,*) ' Computing final cost function' CFN = 0d0 DO L = 1, State_Grid%NZ DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX if (State_Chm%CostFuncMask(I,J,L) > 0d0) THEN WRITE (*, 1047) I, J, L, State_Chm%Species(NFD)%conc(I,J,L) CFN = CFN + State_Chm%Species(NFD)%Conc(I,J,L) endif ENDDO ENDDO ENDDO WRITE(*,'(a7, e22.10)') ' CFN = ', CFN 1047 FORMAT(' SPC(', i2, ', ', i2, ', ', i2, ') = ', e22.10) ENDIF #endif ! Finalize HEMCO CALL HCOI_GC_FINAL( .FALSE., RC ) IF ( Input_Opt%AmIRoot ) THEN IF ( RC == GC_SUCCESS ) THEN write(*,'(a)') 'HEMCO::Finalize... OK.' ELSE write(*,'(a)') 'HEMCO::Finalize... FAILURE.' ENDIF ENDIF ! Deallocate fields of the Chemistry State object CALL Cleanup_State_Chm( State_Chm, RC ) IF ( Input_Opt%AmIRoot ) THEN IF ( RC == GC_SUCCESS ) THEN write(*,'(a)') 'Chem::State_Chm Finalize... OK.' ELSE write(*,'(a)') 'Chem::State_Chm Finalize... FAILURE.' ENDIF ENDIF ! Deallocate fields of the Diagnostics State object CALL Cleanup_State_Diag( State_Diag, RC ) IF ( Input_Opt%AmIRoot ) THEN IF ( RC == GC_SUCCESS ) THEN write(*,'(a)') 'Chem::State_Diag Finalize... OK.' ELSE write(*,'(a)') 'Chem::State_Diag Finalize... FAILURE.' ENDIF ENDIF ! Deallocate fields of the Grid State object CALL Cleanup_State_Grid( State_Grid, RC ) IF ( Input_Opt%AmIRoot ) THEN IF ( RC == GC_SUCCESS ) THEN write(*,'(a)') 'Chem::State_Grid Finalize... OK.' ELSE write(*,'(a)') 'Chem::State_Grid Finalize... FAILURE.' ENDIF ENDIF ! Deallocate fields of the Meteorology State object CALL Cleanup_State_Met( State_Met, RC ) IF ( Input_Opt%AmIRoot ) THEN IF ( RC == GC_SUCCESS ) THEN write(*,'(a)') 'Chem::State_Met Finalize... OK.' ELSE write(*,'(a)') 'Chem::State_Met Finalize... FAILURE.' ENDIF ENDIF #if !defined( MODEL_GEOS ) ! Deallocate fields of the Input Options object ! The call to Cleanup_Input_Opt causes a memory leak error. Comment ! for now (ckeller, 11/29/16). ! Does this still cause a memory leak? (ewl, 12/14/18) CALL Cleanup_Input_Opt( Input_Opt, RC ) IF ( Input_Opt%AmIRoot ) THEN IF ( RC == GC_SUCCESS ) THEN write(*,'(a)') 'Chem::Input_Opt Finalize... OK.' ELSE write(*,'(a)') 'Chem::Input_Opt Finalize... FAILURE.' ENDIF ENDIF #endif ! Free Int2Spc pointer IF ( ASSOCIATED(Int2Spc) ) THEN DO I=1,SIZE(Int2Spc,1) Int2Spc(I)%Internal => NULL() ENDDO DEALLOCATE(Int2Spc) ENDIF #ifdef ADJOINT ! Free Int2Adj pointer IF ( ASSOCIATED(Int2Adj) ) THEN DO I=1,SIZE(Int2Adj,1) Int2Adj(I)%Internal => NULL() ENDDO DEALLOCATE(Int2Adj) ENDIF #endif ! Deallocate the history interface between GC States and ESMF Exports CALL Destroy_HistoryConfig( am_I_Root, HistoryConfig, RC ) #if defined( MODEL_GEOS ) ! Cleanup GEOS analysis module CALL GEOS_AnaFinal( __RC__ ) #endif ! Finalize MAPL Generic CALL MAPL_GenericFinalize( GC, Import, Export, Clock, __RC__ ) !======================================================================= ! All done !======================================================================= ! Stop timers ! ----------- ! CALL MAPL_TimerOff(STATE, "FINALIZE") ! CALL MAPL_TimerOff(STATE, "TOTAL") ! Successful return _RETURN(ESMF_SUCCESS) END SUBROUTINE Finalize_ !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Extract_ ! ! !DESCRIPTION: GC routine extracts several common quantities from the ! ESMF/MAPL environment so that they can be later passed down to the ! grid-independent GEOS-Chem code. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Extract_( GC, Clock, Grid, MaplCF, GeosCF, & localPet, petCount, & IM, JM, LM, & IM_WORLD, JM_WORLD, LM_WORLD, & IL_WORLD, IU_WORLD, JL_WORLD, JU_WORLD, & lonCtr, latCtr, advCount, & nymdB, nymdE, nymd, nhmsB, nhmsE, & nhms, year, month, day, dayOfYr, & hour, minute, second, utc, hElapsed, & tsChem, tsDyn, mpiComm, ZTH, SLR, & tsRad, & #if defined( MODEL_GEOS ) haveImpRst, & #endif RC ) ! ! !INPUT PARAMETERS: ! TYPE(ESMF_Clock), INTENT(IN) :: Clock ! ESMF clock obj ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ESMF_GridComp), INTENT(INOUT) :: GC ! GC grid comp ! ! !OUTPUT PARAMETERS: ! !---------------------------------- ! ESMF and/or MAPL quantities !---------------------------------- TYPE(ESMF_Grid), INTENT(OUT), OPTIONAL :: Grid ! ESMF Grid obj TYPE(ESMF_Config), INTENT(OUT), OPTIONAL :: MaplCF ! AGCM.rc TYPE(ESMF_Config), INTENT(OUT), OPTIONAL :: GeosCF ! GEOSCHEM*.rc INTEGER, INTENT(OUT), OPTIONAL :: localPet ! This PET INTEGER, INTENT(OUT), OPTIONAL :: petCount ! Total # of PETs INTEGER, INTENT(OUT), OPTIONAL :: mpiComm ! MPI Comm Handle !---------------------------------- ! Local grid coordinates ! (defined on the current CPU) !---------------------------------- INTEGER, INTENT(OUT), OPTIONAL :: IM ! Total # lons INTEGER, INTENT(OUT), OPTIONAL :: JM ! Total # lats INTEGER, INTENT(OUT), OPTIONAL :: LM ! Total # levs REAL(ESMF_KIND_R4), POINTER, OPTIONAL :: lonCtr(:,:) ! Lon ctrs [rad] REAL(ESMF_KIND_R4), POINTER, OPTIONAL :: latCtr(:,:) ! Lat ctrs [rad] !---------------------------------- ! Global grid coordinates !---------------------------------- INTEGER, INTENT(OUT), OPTIONAL :: IM_WORLD ! Global # lons INTEGER, INTENT(OUT), OPTIONAL :: JM_WORLD ! Global # lats INTEGER, INTENT(OUT), OPTIONAL :: LM_WORLD ! Global # levs INTEGER, INTENT(OUT), OPTIONAL :: IL_WORLD ! Global start lon index on this PET INTEGER, INTENT(OUT), OPTIONAL :: IU_WORLD ! Global end lon index on this PET INTEGER, INTENT(OUT), OPTIONAL :: JL_WORLD ! Global start lat index on this PET INTEGER, INTENT(OUT), OPTIONAL :: JU_WORLD ! Global end lat index on this PET !---------------------------------- ! Date and time variables !---------------------------------- INTEGER(ESMF_KIND_I8),INTENT(OUT), OPTIONAL :: advCount ! # of clock advs INTEGER, INTENT(OUT), OPTIONAL :: nymdB ! YYYYMMDD @ start INTEGER, INTENT(OUT), OPTIONAL :: nymdE ! YYYYMMDD @ end INTEGER, INTENT(OUT), OPTIONAL :: nymd ! YYYYMMDD now INTEGER, INTENT(OUT), OPTIONAL :: nhmsB ! hhmmss @ start INTEGER, INTENT(OUT), OPTIONAL :: nhmsE ! hhmmss @ end INTEGER, INTENT(OUT), OPTIONAL :: nhms ! hhmmss now INTEGER, INTENT(OUT), OPTIONAL :: year ! UTC year INTEGER, INTENT(OUT), OPTIONAL :: month ! UTC month INTEGER, INTENT(OUT), OPTIONAL :: day ! UTC day INTEGER, INTENT(OUT), OPTIONAL :: dayOfYr ! UTC day of year INTEGER, INTENT(OUT), OPTIONAL :: hour ! UTC hour INTEGER, INTENT(OUT), OPTIONAL :: minute ! UTC minute INTEGER, INTENT(OUT), OPTIONAL :: second ! UTC second REAL, INTENT(OUT), OPTIONAL :: utc ! UTC time [hrs] REAL, INTENT(OUT), OPTIONAL :: hElapsed ! Elapsed hours !----------------------------------- ! Timestep variables [seconds] !----------------------------------- REAL, INTENT(OUT), OPTIONAL :: tsChem ! Chemistry REAL, INTENT(OUT), OPTIONAL :: tsRad ! RRTMG REAL, INTENT(OUT), OPTIONAL :: tsDyn ! Dynamics !----------------------------------- ! Solar parameters !----------------------------------- REAL, INTENT(OUT), OPTIONAL :: ZTH(:,:) ! Solar zth angle REAL, INTENT(OUT), OPTIONAL :: SLR(:,:) ! Insolation #if defined( MODEL_GEOS ) !----------------------------------------------- ! Optional import restart file existence inquiry !----------------------------------------------- LOGICAL, INTENT(OUT), OPTIONAL :: haveImpRst ! Import rst exist? #endif !----------------------------------- ! Return code !----------------------------------- INTEGER, INTENT(OUT), OPTIONAL :: RC ! 0 = all is well ! ! !REMARKS: ! If you need to obtain a quantity not returned by this routine, you can ! manually extract it from the MaplCF or GeosCF configuration objects. ! ! !REVISION HISTORY: ! 01 Dec 2009 - A. Da Silva - Initial version ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! LOCAL VARIABLES: ! ! Objects TYPE(ESMF_Time) :: stopTime ! ESMF stop time obj TYPE(ESMF_Time) :: currTime ! ESMF current time obj TYPE(ESMF_TimeInterval) :: elapsedTime ! ESMF elapsed time obj TYPE(ESMF_TimeInterval) :: chemInterval ! chemistry interval TYPE(ESMF_ALARM) :: ALARM ! Run alarm TYPE(ESMF_VM) :: VM ! ESMF VM object TYPE(GEOSCHEM_State), POINTER :: myState ! Legacy state TYPE(GEOSCHEM_Wrap) :: wrap ! Wrapper for myState TYPE(MAPL_MetaComp), POINTER :: STATE ! MAPL MetaComp object TYPE(MAPL_SunOrbit) :: sunOrbit ! Scalars CHARACTER(len=ESMF_MAXSTR) :: compName ! Gridded component name CHARACTER(len=ESMF_MAXSTR) :: importRstFN ! Import restart file name INTEGER(ESMF_KIND_I8) :: count ! # of clock advances INTEGER :: locDims(3) ! Array for local dims INTEGER :: globDims(3) ! Array for global dims INTEGER :: doy ! Day of year (0-365/366) INTEGER :: yyyy, mm, dd ! Year, month, day INTEGER :: h, m, s ! Hour, minute, seconds INTEGER :: IL, IU ! Min/max local lon indices INTEGER :: JL, JU ! Min/max local lat indices REAL :: elapsedHours ! Elapsed hours of run REAL(ESMF_KIND_R8) :: dt_r8 ! chemistry timestep CHARACTER(len=ESMF_MAXSTR) :: OUTSTR ! Parallel write nonsense ! Saved variables LOGICAL, SAVE :: FIRST = .TRUE. TYPE(ESMF_Time), SAVE :: startTime __Iam__('Extract_') !======================================================================= ! Initialization !======================================================================= ! Get my name and set-up traceback handle CALL ESMF_GridCompGet( GC, name=compName, vm=VM, __RC__ ) Iam = TRIM(compName)//'::Extract_' ! Get the internal state which holds the private Config object CALL ESMF_UserCompGetInternalState( GC, 'GEOSCHEM_State', wrap, STATUS ) _VERIFY(STATUS) myState => wrap%ptr ! Get generic state object CALL MAPL_GetObjectFromGC( GC, STATE, __RC__ ) ! Assume successful return IF ( PRESENT( RC ) ) RC = ESMF_SUCCESS ! Zero variables locDims = 0 globDims = 0 IL = 0 JL = 0 IU = 0 JU = 0 !======================================================================= ! Extract information from ESMF VM object !======================================================================= ! Index of the PET we are on now IF ( PRESENT( localPet ) ) THEN CALL ESMF_VmGet( VM, localPet=localPet, __RC__ ) ENDIF ! Total # of PETs used by this gridded component IF ( PRESENT( petCount ) ) THEN CALL ESMF_VmGet( VM, petCount=petCount, __RC__ ) ENDIF ! Global MPI Communicator Handle IF ( PRESENT( mpiComm ) ) THEN CALL ESMF_VmGet( VM, mpicommunicator=mpiComm, __RC__ ) ENDIF !======================================================================= ! Extract information from ESMF Config objects !======================================================================= ! Get the Config object CALL ESMF_GridCompGet( GC, Config=MaplCF, __RC__ ) ! Get the Config object based on "GEOSCHEMchem_GridComp.rc" GeosCF = myState%myCF ! Dynamic timestep (in seconds) IF ( PRESENT( tsDyn ) ) THEN CALL ESMF_ConfigGetAttribute( MaplCF, tsDyn, Default=1800., & Label="RUN_DT:", __RC__ ) ENDIF ! Radiation timestep (in seconds) IF ( PRESENT( tsRad ) ) THEN CALL ESMF_ConfigGetAttribute( MaplCF, tsRad, Default=10800., & Label="RRTMG_DT:", __RC__ ) ENDIF ! Chemistry timestep (in seconds) IF ( PRESENT( tsChem ) ) THEN CALL MAPL_Get( STATE, RUNALARM=ALARM, __RC__ ) CALL ESMF_AlarmGet( ALARM, RingInterval=chemInterval, __RC__ ) CALL ESMF_TimeIntervalGet( chemInterval, s_r8=dt_r8, __RC__ ) tsChem = real(dt_r8) IF(abs(tsChem) < abs(tsDyn)) THEN IF( MAPL_AM_I_ROOT() ) THEN #if defined( MODEL_GEOS ) WRITE(6,*) 'GEOSCHEMCHEM_DT cannot be less than RUN_DT' #else WRITE(6,*) 'Chem_DT cannot be less than RUN_DT' #endif ENDIF STATUS = 1 _VERIFY(STATUS) ENDIF ENDIF If ( PRESENT( tsRad ) .and. PRESENT( tsChem ) ) Then _ASSERT(MOD(nint(tsRad),nint(tsChem)) == 0,'RRTMG_DT is not a multiple of GCHPCHEM_DT') End If #if defined( MODEL_GEOS ) ! Simulation dates. Legacy stuff, not used. ! Set to dummy values (ckeller, 1/18/18) !IF ( PRESENT( nymdB ) ) nymdB = 20130701 !IF ( PRESENT( nhmsB ) ) nhmsB = 000000 !IF ( PRESENT( nymdE ) ) nymdE = 20130701 !IF ( PRESENT( nhmsE ) ) nhmsE = 000000 !======================================================================= ! Does the import restart file exist? !======================================================================= ! Import restart file name IF ( PRESENT ( haveImpRst ) ) THEN CALL ESMF_ConfigGetAttribute( MaplCF, importRstFN, & DEFAULT = "geoschemchem_import_rst.nc4", & LABEL = "GEOSCHEMCHEM_IMPORT_RESTART_FILE:", & __RC__ ) ! remove bootstrap parameter IF( importRstFN(1:1) == '-' .OR. & importRstFN(1:1) == '+' ) THEN importRstFN = importRstFN(2:LEN(TRIM(importRstFN))) ENDIF INQUIRE( FILE=TRIM( importRstFN ), EXIST=haveImpRst ) IF( MAPL_AM_I_ROOT() ) THEN PRINT *," ",TRIM( importRstFN )," exists: ", haveImpRst PRINT *," " END IF ENDIF #endif !======================================================================= ! Extract time/date information !======================================================================= ! Get the ESMF time object CALL ESMF_ClockGet( Clock, & stopTime = stopTime, & currTime = currTime, & advanceCount = count, & __RC__ ) !======================================================================= ! Current, start, and end times !======================================================================= ! Get current-time fields from the time object. Set start/end if first. CALL ESMF_TimeGet( currTime, yy=yyyy, mm=mm, dd=dd, dayOfYear=doy, & h=h, m=m, s=s, __RC__ ) IF ( PRESENT( nymd ) ) CALL MAPL_PackTime( nymd, yyyy, mm, dd ) IF ( PRESENT( nhms ) ) CALL MAPL_PackTime( nhms, h, m, s ) IF ( PRESENT( year ) ) year = yyyy IF ( PRESENT( month ) ) month = mm IF ( PRESENT( day ) ) day = dd IF ( PRESENT( dayOfYr ) ) dayOfYr = doy IF ( PRESENT( hour ) ) hour = h IF ( PRESENT( minute ) ) minute = m IF ( PRESENT( second ) ) second = s IF ( PRESENT( utc ) ) utc = ( DBLE( h ) ) + & ( DBLE( m )/60d0 ) + & ( DBLE( s )/3600d0 ) ! Simulation start IF ( FIRST ) THEN startTime = currTime ENDIF CALL ESMF_TimeGet( startTime, yy=yyyy, mm=mm, dd=dd, dayOfYear=doy, & h=h, m=m, s=s, __RC__ ) IF ( PRESENT ( nymdB ) ) CALL MAPL_PackTime( nymdB, yyyy, mm, dd ) IF ( PRESENT ( nhmsB ) ) CALL MAPL_PackTime( nhmsB, h, m, s ) ! Simulation end CALL ESMF_TimeGet( stopTime, yy=yyyy, mm=mm, dd=dd, dayOfYear=doy, & h=h, m=m, s=s, __RC__ ) IF ( PRESENT( nymdE ) ) CALL MAPL_PackTime( nymdE, yyyy, mm, dd ) IF ( PRESENT( nhmsE ) ) CALL MAPL_PackTime( nhmsE, h, m, s ) ! # clock steps IF ( PRESENT( advCount ) ) advCount = count ! Compute elapsed time since start of simulation elapsedTime = currTime - startTime ! Get time fields from the elapsedTime object CALL ESMF_TimeIntervalGet( elapsedTime, h=h, m=m, s=s, __RC__ ) ! Convert to decimal hours elapsedHours = DBLE( h ) + ( DBLE( m )/60d0 ) + ( DBLE( s )/3600d0 ) ! Save fields for return IF ( PRESENT( hElapsed ) ) hElapsed = elapsedHours !======================================================================= ! Extract grid information !======================================================================= IF ( PRESENT( Grid ) ) THEN ! Get the ESMF grid attached to this gridded component CALL ESMF_GridCompGet( GC, grid=Grid, __RC__ ) ! Get # of dimensions on this pet, and globally CALL MAPL_GridGet( Grid, & localCellCountPerDim = locDims, & globalCellCountPerDim = globDims, & __RC__ ) ! Get the upper and lower bounds of on each PET using MAPL CALL MAPL_GridGetInterior( Grid, IL, IU, JL, JU ) ! if (PRESENT(localPet)) THEN ! WRITE (*,1141) localPet, IL, IU, JL, JU ! endif 1141 FORMAT(' Process ', i5, ' goes from I = ', i3, ':', i3, ' J = ', i3, ':', i3) ENDIF ! Save fields for return IF ( PRESENT( IM ) ) IM = locDims(1) IF ( PRESENT( JM ) ) JM = locDims(2) IF ( PRESENT( LM ) ) LM = locDims(3) IF ( PRESENT( IM_WORLD ) ) IM_WORLD = globDims(1) IF ( PRESENT( JM_WORLD ) ) JM_WORLD = globDims(2) IF ( PRESENT( LM_WORLD ) ) LM_WORLD = globDims(3) IF ( PRESENT( IL_WORLD ) ) IL_WORLD = IL IF ( PRESENT( IU_WORLD ) ) IU_WORLD = IU IF ( PRESENT( JL_WORLD ) ) JL_WORLD = JL IF ( PRESENT( JU_WORLD ) ) JU_WORLD = JU ! Longitude values on this PET IF ( PRESENT( lonCtr ) ) THEN CALL MAPL_Get( STATE, lons=lonCtr, __RC__ ) ENDIF ! Latitude values on this PET IF ( PRESENT( latCtr ) ) THEN CALL MAPL_Get( STATE, lats=latCtr, __RC__ ) ENDIF !======================================================================= ! Get solar zenith angle enformation !======================================================================= IF ( PRESENT( ZTH ) .and. PRESENT( SLR ) .and. & PRESENT( lonCtr ) .and. PRESENT( latCtr ) ) THEN ! Get the Orbit object (of type MAPL_SunOrbit), ! which is used in the call to MAPL_SunGetInsolation CALL MAPL_Get( STATE, & LONS = lonCtr, & LATS = latCtr, & ORBIT = sunOrbit, & __RC__ ) ! Get the solar zenith angle and solar insolation ! NOTE: ZTH, SLR are allocated outside of this routine CALL MAPL_SunGetInsolation( LONS = lonCtr, & LATS = latCtr, & ORBIT = sunOrbit, & ZTH = ZTH, & SLR = SLR, & CLOCK = Clock, & __RC__ ) ENDIF !======================================================================= ! All done !======================================================================= FIRST = .FALSE. _RETURN(ESMF_SUCCESS) END SUBROUTINE Extract_ !EOC #ifdef ADJOINT subroutine Adjoint_StateRecord( GC, IMPORT, EXPORT, CLOCK, RC ) ! !ARGUMENTS: type(ESMF_GridComp), intent(inout) :: GC ! composite gridded component type(ESMF_State), intent(inout) :: IMPORT ! import state type(ESMF_State), intent(inout) :: EXPORT ! export state type(ESMF_Clock), intent(inout) :: CLOCK ! the clock integer, optional, intent( out) :: RC ! Error code: ! = 0 all is well ! otherwise, error !EOPI ! LOCAL VARIABLES character(len=ESMF_MAXSTR) :: IAm character(len=ESMF_MAXSTR) :: COMP_NAME integer :: STATUS type (MAPL_MetaComp), pointer :: STATE type (ESMF_State) :: INTERNAL integer :: hdr character(len=ESMF_MAXSTR) :: FILETYPE character(len=ESMF_MAXSTR) :: FNAME, DATESTAMP !============================================================================= ! Begin... _UNUSED_DUMMY(EXPORT) Iam = "Adjoint_StateRecord" call ESMF_GridCompGet(GC, name=COMP_NAME, RC=STATUS ) _VERIFY(STATUS) Iam = trim(COMP_NAME) // Iam ! Get my MAPL_Generic state ! ------------------------- CALL MAPL_GetObjectFromGC(GC, STATE, RC=STATUS) _VERIFY(STATUS) ! Get Internal State call MAPL_Get( STATE, INTERNAL_ESMF_STATE=INTERNAL, __RC__ ) hdr = 0 ! call MAPL_GetResource( STATE , hdr, & ! default=0, & ! LABEL="INTERNAL_HEADER:", & ! RC=STATUS) ! _VERIFY(STATUS) call MAPL_DateStampGet(clock, datestamp, __RC__ ) FILETYPE = 'pnc4' FNAME = 'gcadj_import_checkpoint.' // trim(datestamp) // '.nc4' call MAPL_CheckpointState(IMPORT, CLOCK, & FNAME, & FILETYPE, STATE, hdr/=0, & RC=STATUS) _VERIFY(STATUS) FNAME = 'gcadj_internal_checkpoint.' // trim(datestamp) // '.nc4' call MAPL_CheckpointState(INTERNAL, CLOCK, & FNAME, & FILETYPE, STATE, hdr/=0, & RC=STATUS) _VERIFY(STATUS) _RETURN(ESMF_SUCCESS) end subroutine Adjoint_StateRecord subroutine Adjoint_StateRefresh( GC, IMPORT, EXPORT, CLOCK, RC ) ! !ARGUMENTS: type(ESMF_GridComp), intent(inout) :: GC ! composite gridded component type(ESMF_State), intent(inout) :: IMPORT ! import state type(ESMF_State), intent(inout) :: EXPORT ! export state type(ESMF_Clock), intent(inout) :: CLOCK ! the clock integer, optional, intent( out) :: RC ! Error code: ! = 0 all is well ! otherwise, error !EOPI ! LOCAL VARIABLES character(len=ESMF_MAXSTR) :: IAm character(len=ESMF_MAXSTR) :: COMP_NAME integer :: STATUS type (MAPL_MetaComp), pointer :: STATE type (ESMF_State) :: INTERNAL integer :: hdr integer :: unit character(len=ESMF_MAXSTR) :: FNAME, datestamp !============================================================================= _UNUSED_DUMMY(EXPORT) ! Begin... Iam = "Adjoint_StateRefresh" call ESMF_GridCompGet(GC, name=COMP_NAME, RC=STATUS ) _VERIFY(STATUS) Iam = trim(COMP_NAME) // Iam ! Get my MAPL_Generic state ! ------------------------- CALL MAPL_GetObjectFromGC(GC, STATE, RC=STATUS) _VERIFY(STATUS) ! Get Internal state CALL MAPL_Get ( STATE, INTERNAL_ESMF_STATE=INTERNAL, __RC__ ) call MAPL_DateStampGet(clock, datestamp, rc=status) _VERIFY(STATUS) HDR = 0 FNAME = 'gcadj_import_checkpoint.' // trim(datestamp) // '.nc4' call MAPL_ESMFStateReadFromFile(IMPORT, CLOCK, & FNAME, & STATE, .FALSE., RC=STATUS) _VERIFY(STATUS) UNIT = GETFILE(FNAME, RC=STATUS) _VERIFY(STATUS) call MAPL_DestroyFile(unit = UNIT, rc=STATUS) _VERIFY(STATUS) CALL FREE_FILE(UNIT, RC=STATUS) _VERIFY(STATUS) FNAME = 'gcadj_internal_checkpoint.' // trim(datestamp) // '.nc4' call MAPL_ESMFStateReadFromFile(INTERNAL, CLOCK, & FNAME, & STATE, hdr/=0, RC=STATUS) _VERIFY(STATUS) IF (FNAME(1:1) .eq. '-' .or. & FNAME(1:1) .eq. '+') THEN UNIT = GETFILE(FNAME(2:), RC=STATUS) else UNIT = GETFILE(FNAME, RC=STATUS) endif _VERIFY(STATUS) call MAPL_DestroyFile(unit = UNIT, rc=STATUS) _VERIFY(STATUS) CALL FREE_FILE(UNIT, RC=STATUS) _VERIFY(STATUS) _RETURN(ESMF_SUCCESS) end subroutine Adjoint_StateRefresh #endif #ifdef MODEL_GEOS END MODULE GEOSCHEMchem_GridCompMod #else END MODULE Chem_GridCompMod #endif ================================================ FILE: Interfaces/GCHP/Includes_Before_Run.H ================================================ !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !INCLUDE: Includes_Before_Run.H ! ! !DESCRIPTION: This include file contains the array assignments that need ! to be made BEFORE the call to the Run method of the ! GEOSCHEMchem\_GridCompMod.F90 code. These array assignments take data out ! of the import and internal states and saves them into derived-type objects ! that are used to pass information between GEOS-Chem and the ESMF interface. !\\ !\\ ! These assignments were placed into this separate include file to avoid ! bogging down the GEOSCHEMchem\_GridCompMod.F90 module. !\\ !\\ ! !REVISION HISTORY: ! 10 Oct 2012 - M. Long - Initial version, for grid-independent model ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC !========================================================================= ! Two-dimensional fields !========================================================================= State_Met%ALBD = ALBD ! 1 State_Met%CLDFRC = CLDFRC ! 1 State_Met%EFLUX = EFLUX ! W m-2 State_Met%HFLUX = HFLUX ! W/m2 State_Met%FRLAND = FRLAND ! 1, excludes lake and ice State_Met%FROCEAN = FROCEAN ! 1 State_Met%FRLAKE = FRLAKE ! 1 State_Met%FRLANDICE = FRLANDIC ! 1 State_Met%FRSEAICE = FRSEAICE ! 1 State_Met%QV2M = QV2M ! 1 State_Met%PHIS = PHIS / 9.80665d0 ! m State_Met%GWETROOT = GWETROOT ! 1 State_Met%GWETTOP = GWETTOP ! 1 State_Met%LAI = LAI ! 1 State_Met%PARDR = PARDR ! W/m2 State_Met%PARDF = PARDF ! W/m2 State_Met%PBLH = PBLH ! m State_Met%TROPP = TROPP ! hPa State_Met%PS1_WET = PS1 ! hPa State_Met%PS2_WET = PS2 ! hPa State_Met%SLP = SLP ! hPa State_Met%TS = TS ! K State_Met%TSKIN = TSKIN ! K State_Met%SWGDN = RADSWG ! W/m2 State_Met%TO3 = TO3 ! dobson State_Met%SNODP = SNODP ! m State_Met%SNOMAS = SNOMAS ! kg/m2 State_Met%SUNCOS = zenith ! unitless State_Met%SUNCOSmid = zenith ! 1 State_Met%U10M = U10M ! m/s State_Met%USTAR = USTAR ! m/s State_Met%V10M = V10M ! m/s State_Met%Z0 = Z0 ! m ! The import FRSNO is fraction of land with snow cover. Convert to ! fraction of grid box with snow cover for storage in State_Met DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX State_Met%FRSNOW(I,J) = FRSNO(I,J) * State_Met%FRLAND(I,J) ENDDO ENDDO ! Get UV albedo for photolysis Ptr2d => NULL() CALL MAPL_GetPointer ( IMPORT, Ptr2D, 'UV_ALBEDO', & notFoundOK=.TRUE., __RC__ ) If ( ASSOCIATED(Ptr2D) ) Then State_Met%UVALBEDO(:,:) = Ptr2D(:,:) Ptr2D => NULL() ENDIF !========================================================================= ! Three-dimensional fields on level edges !========================================================================= ! kg/m2/s State_Met%CMFMC (:,:,1:State_Grid%NZ+1) = CMFMC (:,:,0:State_Grid%NZ) State_Met%PFICU (:,:,1:State_Grid%NZ+1) = PFICU (:,:,0:State_Grid%NZ) State_Met%PFILSAN(:,:,1:State_Grid%NZ+1) = PFILSAN(:,:,0:State_Grid%NZ) State_Met%PFLCU (:,:,1:State_Grid%NZ+1) = PFLCU (:,:,0:State_Grid%NZ) State_Met%PFLLSAN(:,:,1:State_Grid%NZ+1) = PFLLSAN(:,:,0:State_Grid%NZ) if (met_nonadv_is_top_down) then z_lb = lbound(State_Met%CMFMC,3) z_ub = ubound(State_Met%CMFMC,3) State_Met%CMFMC(:,:,:) = State_Met%CMFMC(:,:,z_ub:z_lb:-1) State_Met%PFICU(:,:,:) = State_Met%PFICU(:,:,z_ub:z_lb:-1) State_Met%PFILSAN(:,:,:) = State_Met%PFILSAN(:,:,z_ub:z_lb:-1) State_Met%PFLCU(:,:,:) = State_Met%PFLCU(:,:,z_ub:z_lb:-1) State_Met%PFLLSAN(:,:,:) = State_Met%PFLLSAN(:,:,z_ub:z_lb:-1) end if ! NOTE: PLE (imported from advection) is reversed in the vertical! ! Note that this will end up affecting DELP and therefore ! State_Met%PEDGE_DRY, but that the major dry pressure variables are ! derived from PS1_DRY and PS2_DRY. ! These will, in turn, be determined from PS1_WET and PS2_WET, which ! are set in the block above. ! Convert Pa -> hPa State_Met%PEDGE (:,:,1:State_Grid%NZ+1) = PLE(:,:,State_Grid%NZ:0:-1) / 1d2 ! These will be set based on PS1_WET and PS2_WET in gchp_chunk_mod.F90 State_Met%PS1_DRY(:,:) = 0.0d0 State_Met%PS2_DRY(:,:) = 0.0d0 ! Calculate CLDTOPS (highest location of CMFMC in the column) Do J=1,State_Grid%NY Do I=1,State_Grid%NX State_Met%CldTops(I,J) = 1 Do L = State_Grid%NZ, 1, -1 If ( State_Met%CMFMC(I,J,L) > 0d0 ) Then State_Met%CldTops(I,J) = L + 1 Exit End If End Do End Do End Do ! Read MODIS leaf area index (LAI) from imports of post-processed MODIS files. ! The third dimension is land type and not level, possible to do with MAPL ! only because the # of land types is the same as # of level edges. State_Met%XLAI_NATIVE(:,:,:) = XLAIMULTI !========================================================================= ! Three-dimensional fields on level centers !========================================================================= State_Met%CLDF = CLDF ! 1 State_Met%DTRAIN = DTRAIN ! kg/m2/s State_Met%DQRCU = DQRCU ! kg/kg/s State_Met%DQRLSAN = DQRLSAN ! kg/kg/s State_Met%QI = QI ! kg/kg State_Met%QL = QL ! kg/kg State_Met%RH = RH * 1d2 ! 1 -> % State_Met%TAUCLI = TAUCLI ! 1 State_Met%TAUCLW = TAUCLW ! 1 State_Met%REEVAPCN = REEVAPCN ! kg/kg/s State_Met%REEVAPLS = REEVAPLS ! kg/kg/s State_Met%TMPU1 = TMPU1 ! K State_Met%TMPU2 = TMPU2 ! K State_Met%OMEGA = OMEGA ! Pa s-1 State_Met%U = UA ! m/s State_Met%V = VA ! m/s ! These fields are set to match the GCC conventions and to ensure that ! transport is correctly implemented. State_Met%SPHU1 = SPHU1 *1.0d3 ! kg/kg -> g/kg State_Met%SPHU2 = SPHU2 *1.0d3 ! kg/kg -> g/kg State_Met%PRECCON = PRECCON * 86400d0 ! kg/m2/s to mm/day State_Met%PRECLSC = PRECLSC * 86400d0 ! kg/m2/s to mm/day State_Met%PRECANV = PRECANV * 86400d0 ! kg/m2/s to mm/day State_Met%PRECTOT = PRECTOT * 86400d0 ! kg/m2/s to mm/day ! If meteorology vertical direction is down then flip the StateMet array if (met_nonadv_is_top_down .or. & met_wind_is_top_down .or. & met_humidity_is_top_down ) then z_lb = lbound(State_Met%CLDF,3) z_ub = ubound(State_Met%CLDF,3) if (met_wind_is_top_down) then State_Met%U(:,:,:) = State_Met%U(:,:,z_ub:z_lb:-1) State_Met%V(:,:,:) = State_Met%V(:,:,z_ub:z_lb:-1) endif if (met_humidity_is_top_down) then State_Met%SPHU1(:,:,:) = State_Met%SPHU1(:,:,z_ub:z_lb:-1) State_Met%SPHU2(:,:,:) = State_Met%SPHU2(:,:,z_ub:z_lb:-1) endif if (met_nonadv_is_top_down) then State_Met%CLDF(:,:,:) = State_Met%CLDF(:,:,z_ub:z_lb:-1) State_Met%DTRAIN(:,:,:) = State_Met%DTRAIN(:,:,z_ub:z_lb:-1) State_Met%DQRCU(:,:,:) = State_Met%DQRCU(:,:,z_ub:z_lb:-1) State_Met%DQRLSAN(:,:,:) = State_Met%DQRLSAN(:,:,z_ub:z_lb:-1) State_Met%QI(:,:,:) = State_Met%QI(:,:,z_ub:z_lb:-1) State_Met%QL(:,:,:) = State_Met%QL(:,:,z_ub:z_lb:-1) State_Met%RH(:,:,:) = State_Met%RH(:,:,z_ub:z_lb:-1) State_Met%TAUCLI(:,:,:) = State_Met%TAUCLI(:,:,z_ub:z_lb:-1) State_Met%TAUCLW(:,:,:) = State_Met%TAUCLW(:,:,z_ub:z_lb:-1) State_Met%REEVAPCN(:,:,:) = State_Met%REEVAPCN(:,:,z_ub:z_lb:-1) State_Met%REEVAPLS(:,:,:) = State_Met%REEVAPLS(:,:,z_ub:z_lb:-1) State_Met%TMPU1(:,:,:) = State_Met%TMPU1(:,:,z_ub:z_lb:-1) State_Met%TMPU2(:,:,:) = State_Met%TMPU2(:,:,z_ub:z_lb:-1) State_Met%OMEGA(:,:,:) = State_Met%OMEGA(:,:,z_ub:z_lb:-1) endif endif State_Met%SPHU =(State_Met%SPHU1+State_Met%SPHU2)*0.5d0 State_Met%T =(State_Met%TMPU1+State_Met%TMPU2)*0.5d0 ! Create total optical depth field ! 1 State_Met%OPTD = State_Met%TAUCLI + State_Met%TAUCLW !========================================================================= ! Offline lightning fields !========================================================================= State_Met%FLASH_DENS = FLASH_DENS ! #/km2/s State_Met%CONV_DEPTH = CONV_DEPTH ! m #ifdef RRTMG If (Input_Opt%Read_Dyn_Heating.and.Associated(DynHeating)) Then ! No longer need to flip the data !State_Met%DynHeating(:,:,1:State_Grid%NZ) = DynHeating(:,:,State_Grid%NZ:1:-1) ! K/day State_Met%DynHeating = DynHeating ! K/day End If #endif #ifdef ADJOINT IF (ASSOCIATED(CostFuncMask)) THEN if (MAPL_Am_I_Root()) & WRITE(*,*) ' Loading adjoint cost function mask' ! cost function mask State_Chm%CostFuncMask = CostFuncMask ELSEIF (Input_Opt%CF_IMIN > 0 .and. Input_Opt%CF_JMIN > 0) THEN IF (FIRST) THEN if (MAPL_Am_I_Root()) & WRITE(*,*) ' Cost function range supplied.' WRITE(*,1027) Input_Opt%thisCPU, & Input_Opt%CF_IMIN, Input_Opt%CF_IMAX, & Input_Opt%CF_JMIN, Input_Opt%CF_JMAX, & Input_Opt%CF_LMIN, Input_Opt%CF_LMAX 1027 FORMAT('CF on Pet ', i3, ' I = (', i3, ', ', i3, ') & J = ( ', i3, ', ', i3, ') & L = (', i3, ', ', i3, ')') State_Chm%CostFuncMask = 0d0 DO L=Input_Opt%CF_LMIN,Input_Opt%CF_LMAX DO J=Input_Opt%CF_JMIN,Input_opt%CF_JMAX DO I=Input_opt%CF_IMIN, Input_Opt%CF_IMAX State_Chm%CostFuncMask(I,J,L) = 1d0 ENDDO ENDDO ENDDO ENDIF ENDIF #endif ================================================ FILE: Interfaces/GCHP/Registry/CMakeLists.txt ================================================ # Build registry add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/HEMCO_DeclarePointer___.h ${CMAKE_CURRENT_BINARY_DIR}/HEMCO_GetPointer___.h ${CMAKE_CURRENT_BINARY_DIR}/HEMCO_ImportSpec___.h hemco_registry.stamp COMMAND ${MAPL_ACG} -v ${CMAKE_CURRENT_SOURCE_DIR}/HEMCO_Registry.rc COMMAND cmake -E touch hemco_registry.stamp COMMENT "Building HEMCO registry..." MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/HEMCO_Registry.rc WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} ) add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/GCHPchem_ExportSpec___.h ${CMAKE_CURRENT_BINARY_DIR}/GCHPchem_History___.rc ${CMAKE_CURRENT_BINARY_DIR}/GCHPchem_InternalSpec___.h ${CMAKE_CURRENT_BINARY_DIR}/GCHPchem_DeclarePointer___.h ${CMAKE_CURRENT_BINARY_DIR}/GCHPchem_GetPointer___.h ${CMAKE_CURRENT_BINARY_DIR}/GCHPchem_ImportSpec___.h chem_registry.stamp COMMAND ${MAPL_ACG} -v ${CMAKE_CURRENT_SOURCE_DIR}/Chem_Registry.rc COMMAND cmake -E touch chem_registry.stamp COMMENT "Building Chem registry..." MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/Chem_Registry.rc WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} ) add_custom_target(registry DEPENDS hemco_registry.stamp chem_registry.stamp) ================================================ FILE: Interfaces/GCHP/Registry/Chem_Registry.rc ================================================ # # This the GEOS-CHEM Grid Component Registry. It defines Import, # Internal and Export states for this component as well as # any # # !REVISION HISTORY: # 16Aug2006 da Silva First Version # See https://github.com/geoschem/geos-chem for complete history # ----------------------------------------------------------------- COMP_NAME: GCHPchem # Only change the Registry version when major structural changes # occurs, not changes in content # -------------------------------------------------------------- MAPL_REGISTRY_VERSION: 1.00 # ------------ # Import State # ------------ # -------------------|-------------|-----|---|----|---|---|-----|------|-------------------------- # Short | | | V |Item|Intervl| Sub | Def | Long # Name | Units | Dim |Loc|Type| R | A |Tiles| ault | Name # -------------------|-------------|-----|---|----|---|---|-----|------|-------------------------- FRLAKE | 1 | xy | | | | | | | FRLAND | 1 | xy | | | | | | | FRLANDIC | 1 | xy | | | | | | | FROCEAN | 1 | xy | | | | | | | PHIS | 1 | xy | | | | | | | ALBD | 1 | xy | | | | | | | surface_albedo_for_visible_diffuse CLDFRC | 1 | xy | | | | | | | EFLUX | 1 | xy | | | | | | | EVAP | 1 | xy | | | | | | | FRSEAICE | 1 | xy | | | | | | | FRSNO | 1 | xy | | | | | | | GRN | 1 | xy | | | | | | | GWETROOT | 1 | xy | | | | | | | GWETTOP | 1 | xy | | | | | | | HFLUX | 1 | xy | | | | | | | LAI | 1 | xy | | | | | | | QV2M | 1 | xy | | | | | | | PARDF | 1 | xy | | | | | | | PARDR | 1 | xy | | | | | | | PBLH | 1 | xy | | | | | | | SEAICE00 | 1 | xy | | | | | | | SEAICE10 | 1 | xy | | | | | | | SEAICE20 | 1 | xy | | | | | | | SEAICE30 | 1 | xy | | | | | | | SEAICE40 | 1 | xy | | | | | | | SEAICE50 | 1 | xy | | | | | | | SEAICE60 | 1 | xy | | | | | | | SEAICE70 | 1 | xy | | | | | | | SEAICE80 | 1 | xy | | | | | | | SEAICE90 | 1 | xy | | | | | | | SLP | 1 | xy | | | | | | | SNODP | 1 | xy | | | | | | | SNOMAS | 1 | xy | | | | | | | RADSWG | 1 | xy | | | | | | | TO3 | 1 | xy | | | | | | | TROPP | 1 | xy | | | | | | | TSKIN | 1 | xy | | | | | | | TS | 1 | xy | | | | | | | U10M | 1 | xy | | | | | | | USTAR | 1 | xy | | | | | | | V10M | 1 | xy | | | | | | | Z0 | 1 | xy | | | | | | | PS1 | 1 | xy | E | | | | | | PS2 | 1 | xy | E | | | | | | OPTDEP | 1 | xyz | C | | | | | | CLDF | 1 | xyz | C | | | | | | QI | 1 | xyz | C | | | | | | QL | 1 | xyz | C | | | | | | TAUCLI | 1 | xyz | C | | | | | | TAUCLW | 1 | xyz | C | | | | | | CMFMC | 1 | xyz | E | | | | | | DTRAIN | 1 | xyz | C | | | | | | OMEGA | 1 | xyz | C | | | | | | RH | 1 | xyz | C | | | | | | UA | 1 | xyz | C | | | | | | VA | 1 | xyz | C | | | | | | DQRCU | 1 | xyz | C | | | | | | DQRLSAN | 1 | xyz | C | | | | | | REEVAPCN | 1 | xyz | C | | | | | | REEVAPLS | 1 | xyz | C | | | | | | PFICU | 1 | xyz | E | | | | | | PFILSAN | 1 | xyz | E | | | | | | PFLCU | 1 | xyz | E | | | | | | PFLLSAN | 1 | xyz | E | | | | | | SPHU1 | 1 | xyz | C | | | | | | TMPU1 | 1 | xyz | C | | | | | | SPHU2 | 1 | xyz | C | | | | | | TMPU2 | 1 | xyz | C | | | | | | FLASH_DENS | 1 | xy | | | | | | | lightning_flash_density CONV_DEPTH | 1 | xy | | | | | | | convective_cloud_depth XLAIMULTI | cm2_cm-2 | xyz | E | | | | | | LAI_by_type PRECCON | 1 | xy | | | | | | | surface convective precipitation flux PRECLSC | 1 | xy | | | | | | | surface large-scale precipitation flux PRECANV | 1 | xy | | | | | | | surface anvil precipitation flux PRECTOT | 1 | xy | | | | | | | surface total precipitation flux # -------------------|-------------|-----|---|----|---|---|-----|------|-------------------------- # ------------ # Export State # ------------ # ------------------|----------------|-----|---|----|---|---|-----|--------------------------------- # Short | | | V |Item|Intervl| Sub | Long # Name | Units | Dim |Loc|Type| R | A |Tiles| Name # ------------------|----------------|-----|---|----|---|---|-----|--------------------------------- # OX | mol mol-1 | xyz | C | | | | | ozone_volume_mixing_ratio O3_EXP | kg kg-1 | xyz | C | | | | | ozone_mass_mixing_ratio O3PPMV | ppmv | xyz | C | | | | | ozone_volume_mixing_ratio_in_ppm OX_TEND | kg kg-1 s-1 | xyz | C | | | | | tendency_of_odd_oxygen_mixing_ratio_due_to_chemistry H2O_TEND | kg kg-1 s-1 | xyz | C | | | | | tendency_of_water_vapor_mixing_ratio_due_to_chemistry GCCTO3 | dobsons | xy | | | | | | total_ozone GCCTTO3 | dobsons | xy | | | | | | total_tropospheric_ozone DEPVEL_O3 | | xy | | | | | | DEPFLUX_O3 | | xy | | | | | | WETDEP_LOSS_H2O2 | | xy | | | | | | # ------------------|----------------|-----|---|----|---|---|-----|--------------------------------- # -------------- # Internal State # -------------- # # Note: 1) For friendlies, use "D" for dynamics, "T" for turbulence, "C" for convection, S=self (adds to export); leave blank otherwise # 2) If quantity requires no restart, put an 'x' in the No Rst column # 3) RO = Alkoxy radical, RO2 = Organic peroxy radical # ----------------|------------|-----|---|----|---|---|-----|------|----|----|---------|--------------------------------- # Short | | | V |Item|Intervl| Sub | Def | No | Ha | Friends | Long # Name | Units | Dim |Loc|Type| R | A |Tiles| ault | Rst| lo | | Name # ----------------|------------|-----|---|----|---|---|-----|------|----|----|---------|--------------------------------- GCCTROPP | Pa | xy | | | | | | | | | S | tropopause_pressure_used_in_GEOS-Chem STATE_PSC | 1 | xyz | C | | | | |0.0 | | | S | polar_stratospheric_clouds ARCHV_DRY_TOTN | cm-2s-1 | xy | | | | | |0.0 | | | S | dry_deposited_nitrogen ARCHV_WET_TOTN | cm-2s-1 | xy | | | | | |0.0 | | | S | wet_deposited_nitrogen PFACTOR | 1 | xy | | | | | |1.0 | | | S | soilnox_pfactor_restart DRYPERIOD | 1 | xy | | | | | |0.0 | | | S | soilnox_dryperiod_restart GWET_PREV | 1 | xy | | | | | |0.0 | | | S | soilnox_gwet_prev_restart DEP_RESERVOIR | kg m-3 | xy | | | | | |1e-4 | | | S | soilnox_dep_reservoir_restart T_DAVG | 1 | xy | | | | | |273.1 | | | S | megan_t_davg_restart T_PREVDAY | 1 | xy | | | | | |273.1 | | | S | megan_t_prevday_restart LAI_PREVDAY | 1 | xy | | | | | |0.0 | | | S | megan_lai_prevday_restart PARDR_DAVG | W/m2 | xy | | | | | |0.0 | | | S | megan_pardr_davg_restart PARDF_DAVG | W/m2 | xy | | | | | |0.0 | | | S | megan_pardf_davg_restart # --------------|------------|-----|---|----|---|---|-----|------|----|----|---------|--------------------------------- ================================================ FILE: Interfaces/GCHP/Registry/HEMCO_Registry.rc ================================================ # # This the HEMCO Grid Component Registry. It defines Import, # Internal and Export states for this component. # # !REVISION HISTORY: # 16Aug2006 da Silva First Version # 30Jun2012 Nielsen For Ganymed # 03Jan2013 Keller For HEMCO # # ----------------------------------------------------------------- COMP_NAME: HEMCO # Only change the Registry version when major structural changes # occurs, not changes in content # -------------------------------------------------------------- MAPL_REGISTRY_VERSION: 1.00 # ------------ # Import State # ------------ # -------------------|-------------|-----|---|----|---|---|-----|------|-------------------------- # Short | | | V |Item|Intervl| Sub | Def | Long # Name | Units | Dim |Loc|Type| R | A |Tiles| ault | Name # -------------------|-------------|-----|---|----|---|---|-----|------|-------------------------- ALBD | 1 | xy | | | | | | | surface_albedo_for_visible_diffuse TSKIN | 1 | xy | | | | | | | U10M | 1 | xy | | | | | | | V10M | 1 | xy | | | | | | | AREA | m2 | xy | | | | | | | PEDGE | hPa | xyz | E | | | | | | PCENTER | hPa | xyz | C | | | | | | BOXHEIGHT | m | xyz | C | | | | | | # -------------------|-------------|-----|---|----|---|---|-----|------|-------------------------- # ------------ # Export State # ------------ # ------------------|----------------|-----|---|----|---|---|-----|--------------------------------- # Short | | | V |Item|Intervl| Sub | Long # Name | Units | Dim |Loc|Type| R | A |Tiles| Name # ------------------|----------------|-----|---|----|---|---|-----|--------------------------------- # ------------------|----------------|-----|---|----|---|---|-----|--------------------------------- # -------------- # Internal State # -------------- # # Note: 1) For friendlies, use "D" for dynamics, "T" for turbulence and "C" for convection; leave blank otherwise # 2) If quantity requires no restart, put an 'x' in the No Rst column # 3) RO = Alkoxy radical, RO2 = Organic peroxy radical # --------------|------------|-----|---|----|---|---|-----|------|----|----|---------|--------------------------------- # Short | | | V |Item|Intervl| Sub | Def | No | Ha | Friends | Long # Name | Units | Dim |Loc|Type| R | A |Tiles| ault | Rst| lo | | Name # --------------|------------|-----|---|----|---|---|-----|------|----|----|---------|--------------------------------- # --------------|------------|-----|---|----|---|---|-----|------|----|----|---------|--------------------------------- ================================================ FILE: Interfaces/GCHP/gchp_chunk_mod.F90 ================================================ #include "MAPL_Generic.h" !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: gchp_chunk_mod ! ! !DESCRIPTION: Module GC\_CHUNK\_MOD is the module that contains the init, ! and run methods for the ESMF interface to GEOS-Chem. !\\ !\\ ! !INTERFACE: ! MODULE GCHP_Chunk_Mod ! ! !USES: ! USE MAPL_MOD USE ESMF USE ErrCode_Mod USE Precision_Mod IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: GCHP_Chunk_Init PUBLIC :: GCHP_Chunk_Run ! ! !PRIVATE MEMBER FUNCTIONS: ! INTEGER :: MemDebugLevel ! ! !REVISION HISTORY: ! 22 Jun 2009 - R. Yantosca & P. Le Sager - Chunkized & cleaned up. ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: gchp_chunk_init ! ! !DESCRIPTION: Subroutine GCHP\_CHUNK\_INIT is the ESMF init method for ! GEOS-Chem. This routine calls routines within core GEOS-Chem to allocate ! arrays and read input files. !\\ !\\ ! !INTERFACE: ! SUBROUTINE GCHP_Chunk_Init( nymdB, nhmsB, nymdE, & nhmsE, tsChem, tsDyn, & tsRad, lonCtr, latCtr, & #if !defined( MODEL_GEOS ) GC, EXPORT, & #endif Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, HcoConfig, & HistoryConfig, RC ) ! ! !USES: ! USE Emissions_Mod, ONLY : Emissions_Init USE GC_Environment_Mod USE GC_Grid_Mod, ONLY : SetGridFromCtr USE GCHP_HistoryExports_Mod, ONLY : HistoryConfigObj USE HCO_Types_Mod, ONLY : ConfigObj USE Input_Mod, ONLY : Read_Input_File USE Input_Opt_Mod, ONLY : OptInput, Set_Input_Opt USE Linear_Chem_Mod, ONLY : Init_Linear_Chem USE Linoz_Mod, ONLY : Linoz_Read USE Photolysis_Mod, ONLY : Init_Photolysis USE PhysConstants, ONLY : PI_180 USE Pressure_Mod, ONLY : Init_Pressure USE Roundoff_Mod, ONLY : RoundOff USE State_Chm_Mod, ONLY : ChmState, Ind_ USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState, Init_State_Grid USE State_Met_Mod, ONLY : MetState !#if defined( MODEL_GEOS ) ! USE Tendencies_Mod, ONLY : TEND_INIT !#endif USE Time_Mod, ONLY : Set_Timesteps USE UCX_MOD, ONLY : INIT_UCX USE UnitConv_Mod Use Error_Mod, ONLY : Init_Error #ifdef ADJOINT USE Charpak_Mod, ONLY : To_UpperCase #endif #if defined( RRTMG ) USE RRTMG_RAD_TRANSFER_MOD, ONLY : Init_RRTMG_Rad_Transfer USE RRTMG_LW_Init, ONLY : RRTMG_LW_Ini USE RRTMG_SW_Init, ONLY : RRTMG_SW_Ini #endif ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: nymdB ! YYYYMMDD @ start of run INTEGER, INTENT(IN) :: nhmsB ! hhmmss @ start of run INTEGER, INTENT(IN) :: nymdE ! YYYYMMDD @ end of run INTEGER, INTENT(IN) :: nhmsE ! hhmmss @ end of run REAL, INTENT(IN) :: tsChem ! Chemistry timestep [s] REAL, INTENT(IN) :: tsDyn ! Chemistry timestep [s] REAL, INTENT(IN) :: tsRad ! Chemistry timestep [s] REAL(ESMF_KIND_R4), INTENT(IN) :: lonCtr(:,:) ! Lon centers [radians] REAL(ESMF_KIND_R4), INTENT(IN) :: latCtr(:,:) ! Lat centers [radians] ! ! !INPUT/OUTPUT PARAMETERS: ! #if !defined( MODEL_GEOS ) TYPE(ESMF_State), INTENT(INOUT), TARGET :: EXPORT ! Export state object TYPE(ESMF_GridComp), INTENT(INOUT) :: GC ! Ref to this GridComp #endif TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chem State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diag State object TYPE(GrdState), INTENT(INOUT) :: State_Grid ! Grid State object TYPE(MetState), INTENT(INOUT) :: State_Met ! Met State object TYPE(ConfigObj), POINTER :: HcoConfig ! HEMCO config obj TYPE(HistoryConfigObj), POINTER :: HistoryConfig ! History config obj ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! Need to add better error checking ! ! !REVISION HISTORY: ! 18 Jul 2011 - M. Long - Initial Version ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, J, L, N, STATUS CHARACTER(LEN=ESMF_MAXSTR) :: Iam TYPE(ESMF_Config) :: CF ! Grid comp config object #ifdef ADJOINT ! Adoint variables ! Local Finite Difference variables REAL(fp) :: FD_LAT, FD_LON INTEGER :: FD_STEP CHARACTER(LEN=ESMF_MAXSTR) :: FD_SPEC REAL(fp) :: d, dmin INTEGER :: imin, jmin, NFD, LFD INTEGER :: IFD, JFD CHARACTER(LEN=ESMF_MAXSTR) :: FD_TYPE ! At present, we are unable to load cube-sphere files through ExtData ! so we will define the cost function region thusly in GCHP.rc INTEGER :: CF_IMIN, CF_IMAX INTEGER :: CF_JMIN, CF_JMAX INTEGER :: CF_LMIN, CF_LMAX ! Need to get gloabl grid information for some FD spot tests TYPE(ESMF_Grid) :: grid ! ESMF Grid object INTEGER :: IL_PET, IU_PET ! Global lon bounds on this PET INTEGER :: JL_PET, JU_PET ! Global lat bounds on this PET ! Model phase: fwd, TLM, ADJOINT CHARACTER(LEN=ESMF_MAXSTR) :: ModelPhase #endif !======================================================================= ! GCHP_CHUNK_INIT begins here !======================================================================= ! Error trap Iam = 'GCHP_CHUNK_INIT (gchp_chunk_mod.F90)' ! Assume success RC = GC_SUCCESS #if !defined( MODEL_GEOS ) ! Get memory debug level call ESMF_GridCompGet ( GC, config=CF, RC=STATUS ) _VERIFY(STATUS) call ESMF_ConfigGetAttribute(CF, MemDebugLevel, & Label="MEMORY_DEBUG_LEVEL:" , RC=STATUS) _VERIFY(STATUS) #endif ! Update Input_Opt with timing fields ! We will skip defining these in READ_INPUT_FILE Input_Opt%NYMDb = nymdB ! YYYYMMDD @ start of simulation Input_Opt%NHMSb = nhmsB ! hhmmss @ end of simulation Input_Opt%NYMDe = nymdE ! YYYYMMDD @ start of simulation Input_Opt%NHMSe = nhmsE ! hhmmss @ end of simulation Input_Opt%TS_CHEM = INT( tsChem ) ! Chemistry timestep [sec] Input_Opt%TS_EMIS = INT( tsChem ) ! Chemistry timestep [sec] Input_Opt%TS_DYN = INT( tsDyn ) ! Dynamic timestep [sec] Input_Opt%TS_CONV = INT( tsDyn ) ! Dynamic timestep [sec] Input_Opt%TS_RAD = INT( tsRad ) ! RRTMG timestep [sec] ! Read geoschem_config.yml at very beginning of simulation on every CPU CALL Read_Input_File( Input_Opt, State_Grid, RC ) _ASSERT(RC==GC_SUCCESS, 'Error calling Read_Input_File') ! Initialize GEOS-Chem horizontal grid structure CALL GC_Init_Grid( Input_Opt, State_Grid, RC ) _ASSERT(RC==GC_SUCCESS, 'Error calling GC_Init_Grid') ! In the ESMF/MPI environment, we can get the total overhead ozone ! either from the met fields (GCHPsa) or from the Import State (GEOS-5) Input_Opt%USE_O3_FROM_MET = .TRUE. ! Read LINOZ climatology IF ( Input_Opt%LLINOZ ) THEN CALL Linoz_Read( Input_Opt, RC ) _ASSERT(RC==GC_SUCCESS, 'Error calling Linoz_Read') ENDIF ! Allocate all lat/lon arrays CALL GC_Allocate_All( Input_Opt, State_Grid, RC ) _ASSERT(RC==GC_SUCCESS, 'Error calling GC_Allocate_All') ! Set grid based on passed mid-points CALL SetGridFromCtr( Input_Opt, State_Grid, lonCtr, latCtr, RC ) _ASSERT(RC==GC_SUCCESS, 'Error calling "SetGridFromCtr"') ! Set GEOS-Chem timesteps on all CPUs ! NOTE: Diagnos is only used for GCClassic, so set to TS_CHEM here ! for the sake of completeness (Bob Yantosca, 28 Feb 2024) CALL Set_Timesteps( Input_Opt = Input_Opt, & Chemistry = Input_Opt%TS_CHEM, & Convection = Input_Opt%TS_CONV, & Dynamics = Input_Opt%TS_DYN, & Emission = Input_Opt%TS_EMIS, & Radiation = Input_Opt%TS_RAD, & Unit_Conv = MAX( Input_Opt%TS_DYN, & Input_Opt%TS_CONV ), & Diagnos = Input_Opt%TS_CHEM ) ! Initialize derived-type objects for met, chem, and diag CALL GC_Init_StateObj( HistoryConfig%DiagList, & HistoryConfig%TaggedDiagList, Input_Opt, & State_Chm, State_Diag, State_Grid, State_Met, RC ) _ASSERT(RC==GC_SUCCESS, 'Error calling GC_Init_StateObj') #ifdef ADJOINT ! Are we running the adjoint? call ESMF_ConfigGetAttribute(CF, ModelPhase, & Label="MODEL_PHASE:" , & Default="FORWARD", RC=STATUS) _VERIFY(STATUS) call WRITE_PARALLEL('Checking if this is adjoint. Model phase = "' // trim(ModelPhase) // '"') input_opt%IS_ADJOINT = .FALSE. if (TRIM(ModelPhase) .eq. 'ADJOINT') THEN call WRITE_PARALLEL('Yes! Setting IS_ADJOINT to true.') input_opt%IS_ADJOINT = .TRUE. endif call ESMF_ConfigGetAttribute(CF, FD_TYPE, & Label="FD_TYPE:" , Default='NONE', RC=STATUS) _VERIFY(STATUS) Input_Opt%IS_FD_GLOBAL = TRIM(To_UpperCase(FD_TYPE(1:4))) == 'GLOB' Input_Opt%IS_FD_SPOT = TRIM(To_UpperCase(FD_TYPE(1:4))) == 'SPOT' IF (MAPL_Am_I_Root()) THEN WRITE(*,1091) TRIM(FD_TYPE), Input_Opt%IS_FD_GLOBAL, Input_Opt%IS_FD_SPOT ENDIF 1091 FORMAT('FD_TYPE = ', a6, ', FD_GLOB = ', L1, ', FD_SPOT = ', L1) call ESMF_ConfigGetAttribute(CF, FD_STEP, & Label="FD_STEP:" , Default=-1, RC=STATUS) _VERIFY(STATUS) IF (Input_Opt%IS_FD_GLOBAL .or. Input_Opt%IS_FD_SPOT) THEN _ASSERT(FD_STEP /= -1, 'FD_GLOB or FD_SPOT require FD_STEP') ENDIF if (.not. FD_STEP == -1 .or. input_opt%IS_ADJOINT) THEN Input_Opt%FD_STEP = FD_STEP call ESMF_ConfigGetAttribute(CF, FD_SPEC, & Label="FD_SPEC:", default="", RC=STATUS) _VERIFY(STATUS) IF (TRIM(FD_SPEC ) == "") THEN NFD = -1 ELSE NFD = Ind_(FD_SPEC) ENDIF call ESMF_ConfigGetAttribute(CF, IFD, & Label="IFD:", default=-1, RC=STATUS) _VERIFY(STATUS) call ESMF_ConfigGetAttribute(CF, JFD, & Label="JFD:", default=-1, RC=STATUS) _VERIFY(STATUS) ! Get the ESMF grid attached to this gridded component CALL ESMF_GridCompGet( GC, grid=Grid, __RC__ ) ! Get the upper and lower bounds of on each PET using MAPL CALL MAPL_GridGetInterior( Grid, IL_PET, IU_PET, JL_PET, JU_PET ) ! See if we specified IFD and JFD in GCHP.rc IF ( IFD > 0 .and. JFD > 0 ) THEN if (IL_PET .le. IFD .and. IFD .le. IU_PET .and. & JL_PET .le. JFD .and. JFD .le. JU_PET) THEN Input_Opt%IS_FD_SPOT_THIS_PET = .true. Input_opt%IFD = IFD - IL_PET + 1 Input_Opt%JFD = JFD - JL_PET + 1 ! set these for debug printing DMIN = 0.0 IMIN = Input_Opt%IFD JMIN = Input_Opt%JFD ENDIF ELSE call ESMF_ConfigGetAttribute(CF, FD_LAT, & Label="FD_LAT:", default=-999.0d0, RC=STATUS) _VERIFY(STATUS) call ESMF_ConfigGetAttribute(CF, FD_LON, & Label="FD_LON:", default=-999.0d0, RC=STATUS) _VERIFY(STATUS) _ASSERT( FD_LAT .ne. -999.0d0 .and. FD_LON .ne. -999.0d0, 'FD_SPOT requires either IFD and JFD or FD_LAT and FD_LON be set in GCHP.rc') dmin = 99999.9 imin = -1 jmin = -1 ! try to find lat lon grid cell closest to 44.65, -63.58 (Halifax, NS) DO I = 1, state_grid%nx DO J = 1, state_grid%ny d = sqrt((state_grid%XMID(I,J) - FD_LON)**2 + & (state_grid%YMID(I,J) - FD_LAT)**2) if (d < dmin) then dmin = d imin = i jmin = j endif enddo enddo ! this is terrible. We need a better way to figure out if we're really in ! a grid cell, bbut I don't know how to do that. For now we're just hardcoding ! to the value for C24 and hoping for no points near cubed-sphere face ! boundaries if (dmin < 3.2) then ! getting the global grid offset is possible, see Chem_GridCompMod.F90:Extract_ Input_Opt%IS_FD_SPOT_THIS_PET = .true. Input_Opt%IFD = IMIN Input_Opt%JFD = JMIN end if ENDIF Input_Opt%NFD = NFD call ESMF_ConfigGetAttribute(CF, LFD, & Label="LFD:", RC=STATUS) _VERIFY(STATUS) Input_Opt%LFD = LFD ! Read in cost function region call ESMF_ConfigGetAttribute(CF, CF_IMIN, & Label="CF_IMIN:", default=-1, RC=STATUS) _VERIFY(STATUS) CF_IMIN = CF_IMIN - IL_PET + 1 call ESMF_ConfigGetAttribute(CF, CF_IMAX, & Label="CF_IMAX:", default=-1, RC=STATUS) _VERIFY(STATUS) CF_IMAX = CF_IMAX - IL_PET + 1 call ESMF_ConfigGetAttribute(CF, CF_JMIN, & Label="CF_JMIN:", default=-1, RC=STATUS) _VERIFY(STATUS) CF_JMIN = CF_JMIN - JL_PET + 1 call ESMF_ConfigGetAttribute(CF, CF_JMAX, & Label="CF_JMAX:", default=-1, RC=STATUS) _VERIFY(STATUS) CF_JMAX = CF_JMAX - JL_PET + 1 call ESMF_ConfigGetAttribute(CF, CF_LMIN, & Label="CF_LMIN:", default=-1, RC=STATUS) _VERIFY(STATUS) call ESMF_ConfigGetAttribute(CF, CF_LMAX, & Label="CF_LMAX:", default=-1, RC=STATUS) _VERIFY(STATUS) IF (CF_IMIN < 1 .OR. CF_IMIN > State_Grid%NX .OR. & CF_IMAX < 1 .OR. CF_IMAX > State_Grid%NX .OR. & CF_JMIN < 1 .OR. CF_JMIN > State_Grid%NY .OR. & CF_JMAX < 1 .OR. CF_JMAX > State_Grid%NY) THEN WRITE(*,1028) Input_Opt%thisCPU, & Input_Opt%CF_IMIN, Input_Opt%CF_IMAX, & Input_Opt%CF_JMIN, Input_Opt%CF_JMAX, & Input_Opt%CF_LMIN, Input_Opt%CF_LMAX 1028 FORMAT('Pre-CF on Pet ', i3, ' I = (', i3, ', ', i3, ') & J = ( ', i3, ', ', i3, ') & L = (', i3, ', ', i3, ')') CF_IMIN = -1 CF_IMAX = -1 CF_JMIN = -1 CF_JMAX = -1 CF_LMIN = -1 CF_LMAX = -1 ENDIF _ASSERT(CF_IMIN * CF_IMAX > 0, 'Please define both max and min for CF_I') _ASSERT(CF_JMIN * CF_JMAX > 0, 'Please define both max and min for CF_J') _ASSERT(CF_LMIN * CF_LMAX > 0, 'Please define both max and min for CF_L') _ASSERT(CF_LMIN * CF_IMIN > 0, 'If CF_I: is defined, please define CF_L') _ASSERT(CF_JMIN * CF_IMIN > 0, 'If CF_I: is defined, please define CF_J') ! At this point, they should all be set or all be negative (probably -1) IF (CF_IMIN > 0) THEN Input_Opt%CF_IMIN = CF_IMIN Input_Opt%CF_IMAX = CF_IMAX Input_Opt%CF_JMIN = CF_JMIN Input_Opt%CF_JMAX = CF_JMAX Input_Opt%CF_LMIN = CF_LMIN Input_Opt%CF_LMAX = CF_LMAX ELSEIF (Input_Opt%IS_FD_SPOT_THIS_PET) THEN Input_Opt%CF_IMIN = Input_Opt%IFD Input_Opt%CF_IMAX = Input_Opt%IFD Input_Opt%CF_JMIN = Input_Opt%JFD Input_Opt%CF_JMAX = Input_Opt%JFD Input_Opt%CF_LMIN = Input_Opt%LFD Input_Opt%CF_LMAX = Input_Opt%LFD WRITE(*,1027) Input_Opt%thisCPU, & Input_Opt%CF_IMIN, Input_Opt%CF_IMAX, & Input_Opt%CF_JMIN, Input_Opt%CF_JMAX, & Input_Opt%CF_LMIN, Input_Opt%CF_LMAX 1027 FORMAT('CF on Pet ', i3, ' I = (', i3, ', ', i3, ') & J = ( ', i3, ', ', i3, ') & L = (', i3, ', ', i3, ')') ELSE Input_Opt%CF_IMIN = -1 Input_Opt%CF_IMAX = -1 Input_Opt%CF_JMIN = -1 Input_Opt%CF_JMAX = -1 Input_Opt%CF_LMIN = -1 Input_Opt%CF_LMAX = -1 ENDIF IF ( Input_Opt%IS_FD_SPOT_THIS_PET ) THEN write (*,1011) Input_Opt%thisCPU, dmin, imin, jmin, & state_grid%YMID(IMIN,JMIN), state_grid%XMID(IMIN,JMIN) #ifdef DEBUG ! Get the ESMF grid attached to this gridded component CALL ESMF_GridCompGet( GC, grid=Grid, __RC__ ) ! Get the upper and lower bounds of on each PET using MAPL CALL MAPL_GridGetInterior( Grid, IL_PET, IU_PET, JL_PET, JU_PET ) WRITE(*,1013) IL_PET, IU_PET WRITE(*,1014) JL_PET, JU_PET #endif ENDIF 1011 FORMAT('Found FD_SPOT on PET ', i5, ' ', f7.2, & ' degrees from cell ', i3, ', ', i3, ' (', f7.2, ', ', f7.2, ')') 1012 FORMAT('Did not find FD_SPOT on PET ', i5, ' ', f7.2,& ' degrees from cell ', i3, ', ', i3, ' (', f7.2, ', ', f7.2, ')') 1013 FORMAT(' XminOffset = ', i3, ' XmaxOffset = ', i3) 1014 FORMAT(' YminOffset = ', i3, ' YmaxOffset = ', i3) 1015 FORMAT(' GlobalXMid(', i3, ', ', i3, ') = (', f7.2, ', ' f7.2, ')') 1016 FORMAT(' SPC(', a10, ', FD_SPOT) = ', e22.10) 1019 FORMAT(' SPC_ADJ(', a10, ', FD_SPOT) = ', e22.10) ENDIF #endif ! Initialize other GEOS-Chem modules CALL GC_Init_Extra( HistoryConfig%DiagList, Input_Opt, State_Chm, & State_Diag, State_Grid, State_Met, RC ) _ASSERT(RC==GC_SUCCESS, 'Error calling GC_Init_Extra') ! Set initial species units to internal state units, the same ! units as the restart file values. Note that species concentrations ! are all still zero at this point since internal state values are not ! copied to State_Chm%Species%Conc until Run (post-initialization). DO N = 1, State_Chm%nSpecies #if defined( MODEL_GEOS ) State_Chm%Species(N)%Units = KG_SPECIES_PER_KG_TOTAL_AIR #else State_Chm%Species(N)%Units = MOLES_SPECIES_PER_MOLES_DRY_AIR #endif ENDDO ! Initialize photolysis, including reading files for optical properties IF ( Input_Opt%ITS_A_FULLCHEM_SIM .or. & Input_Opt%ITS_AN_AEROSOL_SIM .or. & Input_Opt%ITS_A_MERCURY_SIM ) THEN CALL Init_Photolysis( Input_Opt, State_Grid, State_Chm, & State_Diag, State_Met, RC ) _ASSERT(RC==GC_SUCCESS, 'Error calling Init_Photolysis') ENDIF #if defined( RRTMG ) ! RRTMG initialization IF ( Input_Opt%LRAD ) THEN CALL Init_RRTMG_Rad_Transfer( Input_Opt, State_Diag, State_Grid, RC ) _ASSERT(RC==GC_SUCCESS, 'Error calling "Init_RRTMG_Rad_Transfer"!') CALL Rrtmg_Lw_Ini() CALL Rrtmg_Sw_Ini() State_Chm%RRTMG_iCld = 0 State_Chm%RRTMG_iSeed = 10 ENDIF #endif ! Initialize HEMCO CALL EMISSIONS_INIT( Input_Opt, State_Chm, State_Grid, State_Met, RC, & HcoConfig=HcoConfig ) _ASSERT(RC==GC_SUCCESS, 'Error calling EMISSIONS_INIT') ! Initialize UCX routines CALL INIT_UCX( Input_Opt, State_Chm, State_Diag, State_Grid ) #if defined( MODEL_GEOS ) ! Keep commented out line as a GEOS-5 option reminder !IF ( Input_Opt%LINEAR_CHEM .AND. Input_Opt%LLSTRAT < value_LM ) THEN #endif IF ( Input_Opt%LINEAR_CHEM ) THEN CALL INIT_LINEAR_CHEM( Input_Opt, State_Chm, State_Met, State_Grid, RC ) _ASSERT(RC==GC_SUCCESS, 'Error calling INIT_LINEAR_CHEM') ENDIF ! Error handling and logging CALL Init_Error(Input_Opt, RC ) _ASSERT(RC==GC_SUCCESS, 'Error calling INIT_ERROR') !------------------------------------------------------------------------- ! Diagnostics and tendencies !------------------------------------------------------------------------- !#if defined( MODEL_GEOS ) ! ! The GEOS-Chem diagnostics list, stored in HistoryConfig, is initialized ! ! during GCHP_INIT_SIMULATION, and corresponding arrays in State_Diag are ! ! allocated accordingly when initializing State_Diag. Here, we thus ! ! only need to initialize the tendencies, which have not been initialized ! ! yet (ckeller, 11/29/17). ! CALL Tend_Init ( Input_Opt, State_Chm, State_Grid, State_Met, RC ) ! _ASSERT(RC==GC_SUCCESS, 'Error calling Tend_Init') !#endif ! Return success RC = GC_Success END SUBROUTINE GCHP_Chunk_Init !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: gchp_chunk_run ! ! !DESCRIPTION: Subroutine GCHP\_CHUNK\_RUN is the ESMF run method for ! GEOS-Chem. ! ! !INTERFACE: ! SUBROUTINE GCHP_Chunk_Run( GC, & nymd, nhms, year, month, & day, dayOfYr, hour, minute, & second, utc, hElapsed, Input_Opt, & State_Chm, State_Diag, State_Grid, State_Met, & Phase, IsChemTime, IsRadTime, & #if defined( MODEL_GEOS ) FrstRewind, & #endif #if defined( ADJOINT ) IsStarttime, & #endif RC ) ! ! !USES: ! ! GEOS-Chem state objects USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! GEOS-Chem components USE Chemistry_Mod, ONLY : Do_Chemistry, Recompute_OD USE Convection_Mod, ONLY : Do_Convection USE DryDep_Mod, ONLY : Do_DryDep USE Emissions_Mod, ONLY : Emissions_Run USE Mixing_Mod, ONLY : Do_Tend, Do_Mixing USE WetScav_Mod, ONLY : Setup_WetScav, Do_WetDep ! HEMCO components (eventually moved to a separate GridComp?) USE HCO_State_GC_Mod, ONLY : HcoState, ExtState USE HCO_Interface_Common, ONLY : SetHcoTime USE HCO_Interface_GC_Mod, ONLY : Compute_Sflx_For_Vdiff USE HCO_Interface_GC_Mod, ONLY : Set_DryDepVel_Diagnostics ! Specialized subroutines USE Calc_Met_Mod, ONLY : AirQnt USE Calc_Met_Mod, ONLY : Set_Dry_Surface_Pressure USE Calc_Met_Mod, ONLY : Set_Clock_Tracer USE Calc_Met_Mod, ONLY : GCHP_Cap_Tropopause_Prs USE Set_Global_CH4_Mod, ONLY : Set_CH4 USE MODIS_LAI_Mod, ONLY : Compute_XLAI USE PBL_Mix_Mod, ONLY : Compute_PBL_Height USE Pressure_Mod, ONLY : Set_Floating_Pressures USE TOMS_Mod, ONLY : Compute_Overhead_O3 USE UCX_Mod, ONLY : Set_H2O_Trac USE Vdiff_Mod, ONLY : Max_PblHt_for_Vdiff ! Utilities USE ErrCode_Mod USE Error_Mod USE HCO_Error_Mod USE MAPL_MemUtilsMod USE Pressure_Mod, ONLY : Accept_External_Pedge USE State_Chm_Mod, ONLY : IND_ USE Time_Mod, ONLY : Accept_External_Date_Time USE UnitConv_Mod ! Diagnostics USE Diagnostics_Mod, ONLY : Zero_Diagnostics_StartofTimestep USE Diagnostics_Mod, ONLY : Set_Diagnostics_EndofTimestep USE Diagnostics_Mod, ONLY : Set_AerMass_Diagnostic USE Diagnostics_Mod, ONLY : Set_SpcConc_Diags_VVDry #ifdef ADJOINT USE PhysConstants, ONLY : AIRMW USE Diagnostics_Mod, ONLY : Set_SpcAdj_Diagnostic #endif #if defined( RRTMG ) USE RRTMG_RAD_TRANSFER_MOD, ONLY : Do_RRTMG_Rad_Transfer USE RRTMG_RAD_TRANSFER_MOD, ONLY : Set_SpecMask #endif USE Calc_Met_Mod, ONLY : GET_COSINE_SZA #if defined( MODEL_GEOS ) USE HCO_Interface_GC_Mod, ONLY : HCOI_GC_WriteDiagn #endif USE Species_Mod, ONLY : Species ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: nymd ! YYYY/MM/DD @ current time INTEGER, INTENT(IN) :: nhms ! hh:mm:ss @ current time INTEGER, INTENT(IN) :: year ! UTC year INTEGER, INTENT(IN) :: month ! UTC month INTEGER, INTENT(IN) :: day ! UTC day INTEGER, INTENT(IN) :: dayOfYr ! UTC day of year INTEGER, INTENT(IN) :: hour ! UTC hour INTEGER, INTENT(IN) :: minute ! UTC minute INTEGER, INTENT(IN) :: second ! UTC second REAL*4, INTENT(IN) :: utc ! UTC time [hrs] REAL*4, INTENT(IN) :: hElapsed ! Elapsed hours INTEGER, INTENT(IN) :: Phase ! Run phase (-1, 1 or 2) LOGICAL, INTENT(IN) :: IsChemTime ! Time for chemistry? LOGICAL, INTENT(IN) :: IsRadTime ! Time for RRTMG? #if defined( MODEL_GEOS ) LOGICAL, INTENT(IN) :: FrstRewind ! Is it the first rewind? #endif #if defined ( ADJOINT ) LOGICAL, INTENT(IN) :: IsStarttime ! Have we reached the start time ! in an adjoint run #endif ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ESMF_GridComp), INTENT(INOUT) :: GC ! Ref to this GridComp TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input Options obj TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State obj TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State obj TYPE(GrdState), INTENT(INOUT) :: State_Grid ! Grid State obj TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State obj ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Return code ! ! !REMARKS: ! ! !REVISION HISTORY: ! 18 Jul 2011 - M. Long - Initial Version ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC TYPE(ESMF_STATE) :: INTSTATE TYPE(MAPL_MetaComp), POINTER :: STATE TYPE(ESMF_VM) :: VM ! ESMF VM object TYPE(ESMF_Field) :: IntField REAL*8 :: DT CHARACTER(LEN=ESMF_MAXSTR) :: Iam INTEGER :: STATUS, HCO_PHASE, RST INTEGER :: previous_units #if defined( MODEL_GEOS ) INTEGER :: I, J, L #endif ! Local logicals to turn on/off individual components ! The parts to be executed are based on the input options, ! the time step and the phase. LOGICAL :: DoConv LOGICAL :: DoDryDep LOGICAL :: DoEmis LOGICAL :: DoTend LOGICAL :: DoTurb LOGICAL :: DoChem LOGICAL :: DoWetDep LOGICAL :: DoRad ! First call? LOGICAL, SAVE :: FIRST = .TRUE. LOGICAL, SAVE :: FIRST_RT = .TRUE. ! RRTMG ! # of times this routine has been called. Only temporary for printing ! processes on the first 10 calls. INTEGER, SAVE :: NCALLS = 0 ! Strat. H2O settings LOGICAL :: SetStratH2O #if defined( MODEL_GEOS ) LOGICAL, SAVE :: LSETH2O_orig #endif ! For RRTMG INTEGER :: N ! Whether to scale mixing ratio with meteorology update in AirQnt LOGICAL, SAVE :: scaleMR = .FALSE. ! Debug variables INTEGER, parameter :: I_DBG = 6, J_DBG = 5, L_DBG=1 #ifdef ADJOINT ! Adjoint Finitie Difference Variables INTEGER :: IFD, JFD, LFD, NFD INTEGER :: I, J, L REAL*8 :: CFN CHARACTER(len=ESMF_MAXSTR) :: FD_SPEC, TRACNAME TYPE(Species), POINTER :: ThisSpc #endif ! For stratospheric adjustment REAL(f8), ALLOCATABLE :: DT_3D(:,:,:) REAL(f8), ALLOCATABLE :: DT_3D_UPDATE(:,:,:) REAL(f8), ALLOCATABLE :: HR_3D(:,:,:) ! For logging CHARACTER(len=ESMF_MAXSTR) :: MSG !======================================================================= ! GCHP_CHUNK_RUN begins here !======================================================================= ! Error trap Iam = 'GCHP_CHUNK_RUN (gchp_chunk_mod.F90)' ! Assume success RC = GC_SUCCESS ! Get state object (needed for timers) CALL MAPL_GetObjectFromGC(GC, STATE, __RC__) ! Get the VM for optional memory prints (level >= 2) !----------------------------------- if ( MemDebugLevel > 0 ) THEN call ESMF_VmGetCurrent(VM, RC=STATUS) _VERIFY(STATUS) endif !======================================================================= ! Define processes to be covered in this phase ! ! In the standard GEOS-Chem, the following operator sequence is used: ! 1. DryDep (kg) ! 2. Emissions (kg) ! 3. Turbulence (v/v) ! 4. Convection (v/v) ! 5. Chemistry (kg) ! 6. Wetdep (kg) ! ! The GEOS-5 operator sequence is: ! 1. Gravity wave drag ! 2. Moist (convection) ! 3. Chemistry 1 (drydep and emissions) ! 4. Surface 1 ! 5. Turbulence 1 ! 6. Surface 2 ! 7. Turbulence 2 ! 8. Chemistry 2 (chemistry and wet deposition) ! 9. Radiation ! ! Here, we use the following operator sequence: ! ! 1. Convection (v/v) --> Phase 1 ! 2. DryDep (kg) --> Phase 1 ! 3. Emissions (kg) --> Phase 1 ! 4a. Tendencies (v/v) --> Phase 1 ! ------------------------------- ! 4b. Turbulence (v/v) --> Phase 2 ! 5. Chemistry (kg) --> Phase 2 ! 6. WetDep (kg) --> Phase 2 ! ! Any of the listed processes is only executed if the corresponding switch ! in the geoschem_config.yml file is enabled. If the physics component ! already covers convection or turbulence, they should not be applied here! ! The tendencies are only applied if turbulence is not done within ! GEOS-Chem (ckeller, 10/14/14). ! ! The standard number of phases in GCHP is 1, set in GCHP.rc, which ! results in Phase -1 in gchp_chunk_run. This results in executing ! all GEOS-Chem components in a single run rather than splitting up ! across two runs as is done in GEOS-5. (ewl, 10/26/18) !======================================================================= ! By default, do processes as defined in geoschem_config.yml. DoTend ! defined below. DoConv = Input_Opt%LCONV ! dynamic time step DoDryDep = Input_Opt%LDRYD .AND. IsChemTime ! chemistry time step DoEmis = IsChemTime ! chemistry time step #if defined( MODEL_GEOS ) DoTurb = Input_Opt%LTURB .AND. IsChemTime ! dynamic time step #else DoTurb = Input_Opt%LTURB ! dynamic time step #endif DoChem = Input_Opt%LCHEM .AND. IsChemTime ! chemistry time step DoWetDep = Input_Opt%LWETD ! dynamic time step DoRad = Input_Opt%LRAD .AND. IsRadTime ! radiation time step ! If Phase is not -1, only do selected processes for given phases: ! Phase 1: disable turbulence, chemistry and wet deposition. IF ( Phase == 1 ) THEN DoTurb = .FALSE. DoChem = .FALSE. DoWetDep = .FALSE. ! Phase 2: disable convection, drydep and emissions. ELSEIF ( Phase == 2 ) THEN DoConv = .FALSE. DoDryDep = .FALSE. DoEmis = .FALSE. ENDIF ! Check if tendencies need be applied. The drydep and emission calls ! only calculates the emission / drydep rates, but do not apply the ! tendencies to the tracer array yet. If turbulence is done as part of ! GEOS-5, we need to make sure that these tendencies are applied to the ! tracer array. If turbulence is explicitly covered by GEOS-Chem, ! however, the tendencies become automatically applied within the PBL ! mixing routines (DO_MIXING), so we should never apply the tendencies ! in this case. DoTend = ( DoEmis .OR. DoDryDep ) .AND. .NOT. Input_Opt%LTURB ! testing only IF ( NCALLS < 10 ) THEN ! Use pfLogger Call Input_Opt%lgr%info('GEOS-Chem phase %i2~:', Phase) Call Input_Opt%lgr%info('DoConv : %l1', DoConv) Call Input_Opt%lgr%info('DoDryDep : %l1', DoDryDep) Call Input_Opt%lgr%info('DoEmis : %l1', DoEmis) Call Input_Opt%lgr%info('DoTend : %l1', DoTend) Call Input_Opt%lgr%info('DoTurb : %l1', DoTurb) Call Input_Opt%lgr%info('DoChem : %l1', DoChem) Call Input_Opt%lgr%info('DoWetDep : %l1', DoWetDep) ENDIF !------------------------------------------------------------------------- ! Pre-Run assignments !------------------------------------------------------------------------- ! Zero out certain State_Diag arrays. This should not be done in a phase 2 ! call since this can erase diagnostics filled during phase 1 (e.g., drydep) ! (ckeller, 1/21/2022). IF ( Phase /= 2 ) THEN CALL Zero_Diagnostics_StartOfTimestep( Input_Opt, State_Diag, RC ) ENDIF ! Pass time values obtained from the ESMF environment to GEOS-Chem CALL Accept_External_Date_Time( value_NYMD = nymd, & value_NHMS = nhms, & value_YEAR = year, & value_MONTH = month, & value_DAY = day, & value_DAYOFYR = dayOfYr, & value_HOUR = hour, & value_MINUTE = minute, & value_SECOND = second, & value_HELAPSED = hElapsed, & value_UTC = utc, & RC = RC ) ! Pass time values obtained from the ESMF environment to HEMCO #if !defined( MODEL_GEOS ) CALL SetHcoTime ( HcoState, ExtState, year, month, day, & dayOfYr, hour, minute, second, DoEmis, RC ) #endif ! Calculate MODIS leaf area indexes needed for dry deposition CALL Compute_XLAI( Input_Opt, State_Grid, State_Met, RC ) ! Set the pressure at level edges [hPa] from the ESMF environment CALL Accept_External_Pedge( State_Met = State_Met, & State_Grid = State_Grid, & RC = RC ) ! Set dry surface pressure (PS1_DRY) from State_Met%PS1_WET CALL SET_DRY_SURFACE_PRESSURE( State_Grid, State_Met, 1 ) ! Set dry surface pressure (PS2_DRY) from State_Met%PS2_WET CALL SET_DRY_SURFACE_PRESSURE( State_Grid, State_Met, 2 ) ! Initialize surface pressures to match the post-advection pressures State_Met%PSC2_WET = State_Met%PS1_WET State_Met%PSC2_DRY = State_Met%PS1_DRY CALL SET_FLOATING_PRESSURES( State_Grid, State_Met, RC ) IF ( RC /= GC_SUCCESS ) RETURN ! Define airmass and related quantities #if defined( MODEL_GEOS ) CALL AirQnt( Input_Opt, State_Chm, State_Grid, State_Met, RC, .FALSE. ) #else ! Scale mixing ratio with changing met only if FV advection is off. ! Only do this the first timestep if DELP_DRY found in restart. IF ( FIRST .and. .not. Input_Opt%LTRAN ) THEN CALL MAPL_Get ( STATE, INTERNAL_ESMF_STATE=INTSTATE, __RC__ ) CALL ESMF_StateGet( INTSTATE, 'DELP_DRY', IntField, RC=STATUS ) _VERIFY(STATUS) CALL ESMF_AttributeGet( IntField, NAME="RESTART", VALUE=RST, RC=STATUS ) _VERIFY(STATUS) IF ( .not. ( RST == MAPL_RestartBootstrap .OR. & RST == MAPL_RestartSkipInitial ) ) scaleMR = .TRUE. CALL AirQnt( Input_Opt, State_Chm, State_Grid, State_Met, RC, scaleMR ) scaleMR = .TRUE. ELSE CALL AirQnt( Input_Opt, State_Chm, State_Grid, State_Met, RC, scaleMR ) ENDIF #endif ! Initialize/reset wetdep after air quantities computed IF ( DoConv .OR. DoChem .OR. DoWetDep ) THEN CALL SETUP_WETSCAV( Input_Opt, State_Chm, State_Grid, State_Met, RC ) ENDIF ! Cap the polar tropopause pressures at 200 hPa, in order to avoid ! tropospheric chemistry from happening too high up (cf. J. Logan) CALL GCHP_Cap_Tropopause_Prs( Input_Opt = Input_Opt, & State_Grid = State_Grid, & State_Met = State_Met, & RC = RC ) ! Update clock tracer if relevant IF ( IND_('CLOCK','A') > 0 ) THEN CALL Set_Clock_Tracer( State_Chm, State_Grid ) ENDIF ! Call PBL quantities. Those are always needed CALL Compute_Pbl_Height( Input_Opt, State_Grid, State_Met, RC ) _ASSERT(RC==GC_SUCCESS, 'Error calling COMPUTE_PBL_HEIGHT') ! Convert to dry mixing ratio CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & new_units = KG_SPECIES_PER_KG_DRY_AIR, & previous_units = previous_units, & RC = RC ) _ASSERT(RC==GC_SUCCESS, 'Error calling CONVERT_SPC_UNITS') !======================================================================= ! Always prescribe H2O in both the stratosphere and troposhere in GEOS. ! This is now done right after passing the species from the internal ! state to State_Chm (in Chem_GridCompMod.F90). It is important to do it ! there to make sure that any H2O tendencies are properly calculated ! cakelle2, 2023/10/14 !======================================================================= #if !defined( MODEL_GEOS ) ! SDE 05/28/13: Set H2O to STT if relevant IF ( IND_('H2O','A') > 0 ) THEN SetStratH2O = .FALSE. IF ( Input_Opt%LSETH2O ) THEN SetStratH2O = .TRUE. ENDIF CALL SET_H2O_TRAC( SetStratH2O, Input_Opt, State_Chm, & State_Grid, State_Met, RC ) _ASSERT(RC==GC_SUCCESS, 'Error calling SET_H2O_TRAC') ! Only force strat once IF ( Input_Opt%LSETH2O ) Input_Opt%LSETH2O = .FALSE. ENDIF #endif ! Compute the cosine of the solar zenith angle array: ! State_Met%SUNCOS => COS(SZA) at the current time ! State_Met%SUNCOSmid => COS(SZA) at the midpt of the chem timestep ! COS(SZA) at the midpt of the chem timestep 5hrs ago is now ! calculated elsewhere, in the HEMCO PARANOx extension CALL GET_COSINE_SZA( Input_Opt, State_Grid, State_Met, RC ) _ASSERT(RC==GC_SUCCESS, 'Error calling GET_COSINE_SZA') #ifdef ADJOINT if (.not. first) & CALL Print_Global_Species_Kg( I_DBG, J_DBG, L_DBG, & 'CO2', Input_Opt, State_Chm, & State_Grid, State_Met, trim(Iam) // & ' before first unit conversion', RC) CALL GCHP_PRINT_MET( I_DBG, J_DBG, L_DBG, Input_Opt,& State_Grid, State_Met, trim(Iam) // ' before first unit conversion.', RC) IF (first .and. Input_Opt%IS_FD_SPOT_THIS_PET .and. Input_Opt%IS_FD_SPOT) THEN FD_SPEC = transfer(state_chm%SpcData(Input_Opt%NFD)%Info%Name, FD_SPEC) IFD = Input_Opt%IFD JFD = Input_Opt%JFD LFD = Input_Opt%LFD NFD = Input_Opt%NFD WRITE (*, 1017) TRIM(FD_SPEC), state_chm%Species(NFD)%Conc(IFD,JFD,LFD) IF (Input_Opt%IS_ADJOINT) THEN WRITE(*,*) ' Computing final cost function' CFN = 0d0 state_chm%SpeciesAdj(:,:,:,NFD) = 0d0 DO L = 1,State_Grid%NZ DO J = 1,State_Grid%NY DO I = 1,State_Grid%NX if (State_chm%CostFuncMask(I,J,L) > 0d0) THEN WRITE (*, 1047) I, J, L, State_Chm%Species(NFD)%Conc(I,J,L) state_chm%SpeciesAdj(I,J,L, NFD) = 1.0d0 CFN = CFN + State_Chm%Species(NFD)%Conc(I,J,L) endif ENDDO ENDDO ENDDO WRITE(*,'(a7, e22.10)') ' CFN = ', CFN 1047 FORMAT(' SPC(', i2, ', ', i2, ', ', i2, ') = ', e22.10) ELSE IF (Input_Opt%FD_STEP .eq. 0) THEN WRITE(*, *) ' Not perturbing' ELSEIF (Input_Opt%FD_STEP .eq. 1) THEN WRITE(*, *) ' Perturbing +0.1' State_Chm%Species(NFD)%Conc(IFD,JFD,LFD) = State_Chm%Species(NFD)%Conc(IFD,JFD,LFD) * 1.1d0 ELSEIF (Input_Opt%FD_STEP .eq. 2) THEN WRITE(*, *) ' Perturbing -0.1' State_Chm%Species(NFD)%Conc(IFD,JFD,LFD) = State_Chm%Species(NFD)%Conc(IFD,JFD,LFD) * 0.9d0 ELSE WRITE(*, *) ' FD_STEP = ', Input_Opt%FD_STEP, ' NOT SUPPORTED!' ENDIF WRITE (*, 1017) TRIM(FD_SPEC), State_Chm%Species(NFD)%Conc(IFD,JFD,LFD) ENDIF ENDIF IF (first .and. Input_Opt%IS_FD_GLOBAL) THEN FD_SPEC = transfer(state_chm%SpcData(Input_Opt%NFD)%Info%Name, FD_SPEC) NFD = Input_Opt%NFD LFD = Input_Opt%LFD IF (Input_Opt%IS_FD_SPOT_THIS_PET) THEN IFD = Input_Opt%IFD JFD = Input_Opt%JFD WRITE (*, 1017) TRIM(FD_SPEC), State_Chm%Species(NFD)%Conc(IFD,JFD,LFD) IF (Input_Opt%Is_Adjoint) & WRITE (*, 1018) TRIM(FD_SPEC), state_chm%SpeciesAdj(IFD, JFD, LFD, NFD) ENDIF IF (.not. Input_Opt%IS_ADJOINT) THEN IF (Input_Opt%FD_STEP .eq. 0) THEN WRITE(*, *) ' Not perturbing' ELSEIF (Input_Opt%FD_STEP .eq. 1) THEN WRITE(*, *) ' Perturbing +0.1' State_Chm%Species(NFD)%Conc = State_Chm%Species(NFD)%Conc(:,:,:) * 1.1d0 ELSEIF (Input_Opt%FD_STEP .eq. 2) THEN WRITE(*, *) ' Perturbing -0.1' State_Chm%Species(NFD)%Conc = State_Chm%Species(NFD)%Conc(:,:,:) * 0.9d0 ELSE WRITE(*, *) ' FD_STEP = ', Input_Opt%FD_STEP, ' NOT SUPPORTED!' ENDIF IF (Input_Opt%IS_FD_SPOT_THIS_PET) & WRITE (*, 1017) TRIM(FD_SPEC), State_Chm%Species(NFD)%Conc(IFD,JFD,LFD) ELSE state_chm%SpeciesAdj(:,:,:,:) = 0d0 IF (NFD > 0) THEN IF (LFD > 0) THEN IF (Input_opt%amIRoot) THEN WRITE(*,*) ' Setting Level ', LFD, ' forcing to 1' ENDIF state_chm%SpeciesAdj(:,:,LFD,NFD) = 1d0 ELSE IF (Input_opt%amIRoot) THEN WRITE(*,*) ' Setting all forcing to 1' ENDIF state_chm%SpeciesAdj(:,:,:,NFD) = 1d0 ENDIF ENDIF ENDIF ENDIF 1017 FORMAT(' SPC(', a10, ', FD_SPOT) = ', e22.10) 1018 FORMAT(' SPC_ADJ(', a10, ', FD_SPOT) = ', e22.10) IF (Input_Opt%IS_FD_SPOT_THIS_PET ) THEN FD_SPEC = transfer(state_chm%SpcData(Input_Opt%NFD)%Info%Name, FD_SPEC) NFD = Input_Opt%NFD IFD = Input_Opt%IFD JFD = Input_Opt%JFD LFD = Input_Opt%LFD WRITE(*,1017) TRIM(FD_SPEC), State_Chm%Species(NFD)%Conc(IFD,JFD,LFD) IF (Input_Opt%Is_Adjoint) & WRITE (*, 1018) TRIM(FD_SPEC), state_chm%SpeciesAdj(IFD, JFD, LFD, NFD) ENDIF #endif !======================================================================= ! EMISSIONS. Pass HEMCO Phase 1 which only updates the HEMCO clock ! and the HEMCO data list. Should be called every time to make sure ! that the HEMCO clock and the HEMCO data list are up to date. !======================================================================= HCO_PHASE = 1 CALL EMISSIONS_RUN( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, DoEmis, HCO_PHASE, RC ) _ASSERT(RC==GC_SUCCESS, 'Error calling EMISSIONS_RUN') !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !!! PHASE 1 or -1 !!! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !======================================================================= ! 1. Convection ! ! Call GEOS-Chem internal convection routines if convection is enabled ! in geoschem_config.yml. This should only be done if convection is not ! covered by another gridded component and/or the GC species are not made ! friendly to this component!! !======================================================================= IF ( DoConv ) THEN if(Input_Opt%AmIRoot.and.NCALLS<10) write(*,*) ' --- Do convection now' CALL MAPL_TimerOn( STATE, 'GC_CONV' ) CALL DO_CONVECTION ( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) _ASSERT(RC==GC_SUCCESS, 'Error calling DO_CONVECTION') CALL MAPL_TimerOff( STATE, 'GC_CONV' ) if(Input_Opt%AmIRoot.and.NCALLS<10) write(*,*) ' --- Convection done!' ENDIF !======================================================================= ! 2. Dry deposition ! ! Calculates the deposition rates in [s-1]. !======================================================================= IF ( DoDryDep ) THEN if(Input_Opt%AmIRoot.and.NCALLS<10) THEN write(*,*) ' --- Do drydep now' write(*,*) ' Use FULL PBL: ', Input_Opt%PBL_DRYDEP endif CALL MAPL_TimerOn( STATE, 'GC_DRYDEP' ) ! Do dry deposition CALL Do_DryDep ( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) _ASSERT(RC==GC_SUCCESS, 'Error calling Do_DryDep') CALL MAPL_TimerOff( STATE, 'GC_DRYDEP' ) if(Input_Opt%AmIRoot.and.NCALLS<10) write(*,*) ' --- Drydep done!' ENDIF !======================================================================= ! 3. Emissions (HEMCO) ! ! HEMCO must be called on first time step to make sure that the HEMCO ! data lists are all properly set up. !======================================================================= IF ( DoEmis ) THEN #if !defined( MODEL_GEOS ) ! Optional memory prints (level >= 3) if ( MemDebugLevel > 0 ) THEN call ESMF_VMBarrier(VM, RC=STATUS) _VERIFY(STATUS) call MAPL_MemUtilsWrite(VM, & 'gchp_chunk_run, before Emissions_Run', RC=STATUS ) _VERIFY(STATUS) endif #endif if(Input_Opt%AmIRoot.and.NCALLS<10) write(*,*) ' --- Do emissions now' CALL MAPL_TimerOn( STATE, 'GC_EMIS' ) ! Do emissions. Pass HEMCO Phase 2 which performs the emissions ! calculations. HCO_PHASE = 2 CALL EMISSIONS_RUN( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, DoEmis, HCO_PHASE, RC ) _ASSERT(RC==GC_SUCCESS, 'Error calling EMISSIONS_RUN') CALL MAPL_TimerOff( STATE, 'GC_EMIS' ) if(Input_Opt%AmIRoot.and.NCALLS<10) write(*,*) ' --- Emissions done!' ! Optional memory prints (level >= 3) if ( MemDebugLevel > 0 ) THEN call ESMF_VMBarrier(VM, RC=STATUS) _VERIFY(STATUS) call MAPL_MemUtilsWrite(VM,& 'gchp_chunk_run, after Emissions_Run', RC=STATUS ) _VERIFY(STATUS) endif ENDIF !======================================================================= ! If physics covers turbulence, simply add the emission and dry ! deposition fluxes calculated above to the tracer array, without caring ! about the vertical distribution. The tracer tendencies are only added ! to the tracers array after emissions, drydep. So we need to use the ! emissions time step here. !======================================================================= IF ( DoTend ) THEN if(Input_Opt%AmIRoot.and.NCALLS<10) write(*,*) & ' --- Add emissions and drydep to tracers' CALL MAPL_TimerOn( STATE, 'GC_FLUXES' ) ! Get emission time step [s]. _ASSERT(ASSOCIATED(HcoState), 'Error: HcoState not associated') DT = HcoState%TS_EMIS ! Apply tendencies over entire PBL. Use emission time step. CALL DO_TEND( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, .FALSE., RC, DT=DT ) _ASSERT(RC==GC_SUCCESS, 'Error calling DO_TEND') ! testing only if(Input_Opt%AmIRoot.and.NCALLS<10) write(*,*) & ' Tendency time step [s]: ', DT CALL MAPL_TimerOff( STATE, 'GC_FLUXES' ) if(Input_Opt%AmIRoot.and.NCALLS<10) write(*,*) & ' --- Fluxes applied to tracers!' ENDIF ! Tendencies !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !!! PHASE 2 or -1 !!! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !======================================================================= ! 4. Turbulence ! ! Call GEOS-Chem internal turbulence routines if turbulence is enabled ! in geoschem_config.yml. This should only be done if turbulence is not ! covered by another gridded component and/or the GC species are not made ! friendly to this component!! !======================================================================= IF ( DoTurb ) THEN if(Input_Opt%AmIRoot.and.NCALLS<10) write(*,*) ' --- Do turbulence now' CALL MAPL_TimerOn( STATE, 'GC_TURB' ) ! Only do the following for the non-local PBL mixing (VDIFF) IF ( Input_Opt%LNLPBL ) THEN ! Once the initial met fields have been read in, we need to find ! the maximum PBL level for the non-local mixing algorithm. ! This only has to be done once. (bmy, 5/28/20) IF ( FIRST ) THEN CALL Max_PblHt_For_Vdiff( Input_Opt, State_Grid, State_Met, RC ) _ASSERT(RC==GC_SUCCESS, 'Error calling MAX_PBLHT_FOR_VDIFF') ENDIF ! Compute the surface flux for the non-local mixing, ! (which means getting emissions & drydep from HEMCO) ! and store it in State_Chm%Surface_Flux CALL Compute_Sflx_For_Vdiff( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) _ASSERT(RC==GC_SUCCESS, 'Error calling COMPUTE_SFLX_FOR_VDIFF') ENDIF ! Update dry-deposition velocities for full PBL mixing ! by adding the sea-air deposition velocity from HEMCO CALL Set_DryDepVel_Diagnostics( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) _ASSERT(RC==GC_SUCCESS, 'Error calling SET_DRYDEPVEL_DIAGNOSTICS') ! Do mixing and apply tendencies. This will use the dynamic time step, ! which is fine since this call will be executed on every time step. CALL DO_MIXING ( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) _ASSERT(RC==GC_SUCCESS, 'Error calling DO_MIXING') CALL MAPL_TimerOff( STATE, 'GC_TURB' ) if(Input_Opt%AmIRoot.and.NCALLS<10) write(*,*) ' --- Turbulence done!' ENDIF ! Set tropospheric CH4 concentrations and fill species array with ! current values. #if defined( MODEL_GEOS ) IF ( DoTurb .OR. DoTend ) THEN #else IF ( Phase /= 2 .AND. Input_Opt%ITS_A_FULLCHEM_SIM & .AND. IND_('CH4','A') > 0 ) THEN #endif CALL SET_CH4 ( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) _ASSERT(RC==GC_SUCCESS, 'Error calling SET_CH4') ENDIF !======================================================================= ! 5. Chemistry !======================================================================= IF ( DoChem ) THEN if(Input_Opt%AmIRoot.and.NCALLS<10) write(*,*) ' --- Do chemistry now' CALL MAPL_TimerOn( STATE, 'GC_CHEM' ) IF ( Input_Opt%ITS_A_FULLCHEM_SIM ) THEN ! Calculate TOMS O3 overhead. For now, always use it from the ! Met field. State_Met%TO3 is imported from PCHEM (ckeller, 10/21/2014). CALL COMPUTE_OVERHEAD_O3( Input_Opt, State_Grid, State_Chm, DAY, & .TRUE., State_Met%TO3, RC ) ENDIF #if !defined( MODEL_GEOS ) ! Set H2O to species value if H2O is advected IF ( IND_('H2O','A') > 0 ) THEN CALL SET_H2O_TRAC( .FALSE., Input_Opt, & State_Chm, State_Grid, State_Met, RC ) ENDIF #endif ! Optional memory prints (level >= 3) if ( MemDebugLevel > 0 ) THEN call ESMF_VMBarrier(VM, RC=STATUS) _VERIFY(STATUS) call MAPL_MemUtilsWrite(VM, & 'gchp_chunk_run:, before Do_Chemistry', RC=STATUS ) _VERIFY(STATUS) endif ! Do chemistry CALL Do_Chemistry( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) _ASSERT(RC==GC_SUCCESS, 'Error calling Do_Chemistr') CALL MAPL_TimerOff( STATE, 'GC_CHEM' ) if(Input_Opt%AmIRoot.and.NCALLS<10) write(*,*) ' --- Chemistry done!' ! Optional memory prints (level >= 3) if ( MemDebugLevel > 0 ) THEN call ESMF_VMBarrier(VM, RC=STATUS) _VERIFY(STATUS) call MAPL_MemUtilsWrite(VM, & 'gchp_chunk_run, after Do_Chemistry', RC=STATUS ) _VERIFY(STATUS) endif ENDIF !======================================================================= ! 6. Wet deposition !======================================================================= IF ( DoWetDep ) THEN if(Input_Opt%AmIRoot.and.NCALLS<10) write(*,*) ' --- Do wetdep now' CALL MAPL_TimerOn( STATE, 'GC_WETDEP' ) ! Do wet deposition CALL DO_WETDEP( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) _ASSERT(RC==GC_SUCCESS, 'Error calling DO_WETDEP') CALL MAPL_TimerOff( STATE, 'GC_WETDEP' ) if(Input_Opt%AmIRoot.and.NCALLS<10) write(*,*) ' --- Wetdep done!' ENDIF !======================================================================= ! Diagnostics !======================================================================= !============================================================== ! ***** U P D A T E O P T I C A L D E P T H ***** !============================================================== ! Recalculate the optical depth at the wavelength(s) specified ! in the Radiation Menu. This must be done before the call to any ! diagnostic and only on a chemistry timestep. ! (skim, 02/05/11) IF ( DoChem ) THEN CALL RECOMPUTE_OD ( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) _ASSERT(RC==GC_SUCCESS, 'Error calling RECOMPUTE_OD') ENDIF #if defined( RRTMG ) ! RRTMG diagnostics IF ( DoRad ) THEN CALL MAPL_TimerOn( STATE, 'GC_RAD' ) If (First_RT) Call Log_Msg('First RRTMG run starting','Info','GCHP_Chunk') ! IF ( Input_Opt%amIRoot .AND. FIRST_RT ) THEN ! WRITE( 6, '(a)' ) REPEAT( '#', 79 ) ! WRITE( 6, 500 ) 'R R T M G : Radiative Transfer Model (by AER)' !500 FORMAT( '#####', 12x, a, 12x, '#####' ) ! WRITE( 6, '(a)' ) REPEAT( '#', 79 ) ! ENDIF ! Allocate temperature difference arrays If ( Input_Opt%RRTMG_FDH ) Then Allocate(DT_3D(State_Grid%NX,State_Grid%NY,State_Grid%NZ),Stat=RC) _ASSERT(RC==0, 'Error allocating DT_3D') ! If using seasonally evolving FDH, need to grab the internal ! state temperature adjustment array If (Input_Opt%RRTMG_SEFDH) Then ! DT_3D will be updated by the first call to RRTMG; also need to ! store the "current" value Allocate(DT_3D_UPDATE(State_Grid%NX,State_Grid%NY,State_Grid%NZ),Stat=RC) _ASSERT(RC==0, 'Error allocating DT_3D_UPDATE') ! Store the adjustment as previously projected to this time point DT_3D(:,:,:) = State_Chm%TStrat_Adj(:,:,:) ! This will just hold the end-of-step value DT_3D_UPDATE(:,:,:) = 0.0e+0_fp Else DT_3D(:,:,:) = 0.0e+0_fp End If Allocate(HR_3D(State_Grid%NX,State_Grid%NY,State_Grid%NZ),Stat=RC) _ASSERT(RC==0, 'Error allocating HR_3D') HR_3D(:,:,:) = 0.0e+0_fp ! Read in dynamical heating rates if necessary If (Input_Opt%Read_Dyn_Heating) Then HR_3D(:,:,:) = State_Met%DynHeating(:,:,:) End If Else ! Safer Allocate(DT_3D(0,0,0),Stat=RC) _ASSERT(RC==0, 'Error deallocating DT_3D') Allocate(HR_3D(0,0,0),Stat=RC) _ASSERT(RC==0, 'Error deallocating HR_3D') End If State_Chm%RRTMG_iSeed = State_Chm%RRTMG_iSeed + 15 !----------------------------------------------------------- ! Determine if we are doing clear-sky or all-sky. ! Clear-sky is output with all-sky, so we just need ! to run once regardless of whether both are required ! or just one. !----------------------------------------------------------- IF (Input_Opt%LSKYRAD(2) ) Then State_Chm%RRTMG_iCld = 1 ELSE State_Chm%RRTMG_iCld = 0 !clouds are on ENDIF !----------------------------------------------------------- ! Calculation for each of the potential output types ! See: wiki.geos-chem.org/Coupling_GEOS-Chem_with_RRTMG ! ! RRTMG outputs (scheduled in HISTORY.rc): ! 0=BASE and then... ! 1=O3 2=O3T 3=ME 4=H2O 5=CO2 6=CFC 7=N2O ! 8=SU 9=NI 10=AM 11=BC 12=OA 13=SS 14=DU ! 15=PM 16=ST ! ! State_Diag%RadOutInd(1) will ALWAYS correspond to BASE due ! to how it is populated from HISTORY.rc diaglist_mod.F90. ! BASE is always calculated first since its flux is used to calculate ! other RRTMG flux diagnostics. !----------------------------------------------------------- ! Calculate BASE first N = 1 ! Echo info If (First_RT) Then Write(Msg,520) State_Diag%RadOutName(N), State_Diag%RadOutInd(N) Call Log_Msg(Trim(Msg),'Info','GCHP_Chunk') End If ! Generate mask for species in RT CALL Set_SpecMask( State_Diag%RadOutInd(N), State_Chm ) ! Compute radiative fluxes for the given output ! If FDH is used, this step will be used to calculate DT and ! fill out DT_3D. The same will be true for HR_3D CALL Do_RRTMG_Rad_Transfer( ThisDay = Day, & ThisMonth = Month, & iCld = State_Chm%RRTMG_iCld, & iSpecMenu = State_Diag%RadOutInd(N), & iNcDiag = N, & iSeed = State_Chm%RRTMG_iSeed, & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & DT_3D = DT_3D, & HR_3D = HR_3D, & RC = RC ) ! Trap potential errors _ASSERT(RC==GC_SUCCESS, 'Error encounted in Do_RRTMG_Rad_Transfer' ) If (Input_Opt%RRTMG_SEFDH) Then ! Store the calculated update to DT DT_3D_UPDATE(:,:,:) = DT_3D(:,:,:) ! Reset the adjustment to the start of the time step DT_3D(:,:,:) = State_Chm%TStrat_Adj(:,:,:) End If ! Calculate for rest of outputs, if any DO N = 2, State_Diag%nRadOut ! This time around, DT_3D is read in but not overwritten If (First_RT) Then Write(Msg,520) State_Diag%RadOutName(N), State_Diag%RadOutInd(N) Call Log_Msg(Trim(Msg),'Info','GCHP_Chunk') End If CALL Set_SpecMask( State_Diag%RadOutInd(N), State_Chm ) ! This call will NOT update DT_3D, so we can just reuse the array CALL Do_RRTMG_Rad_Transfer( ThisDay = Day, & ThisMonth = Month, & iCld = State_Chm%RRTMG_iCld, & iSpecMenu = State_Diag%RadOutInd(N),& iNcDiag = N, & iSeed = State_Chm%RRTMG_iSeed, & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & DT_3D = DT_3D, & HR_3D = HR_3D, & RC = RC ) _ASSERT(RC==GC_SUCCESS, 'Error encounted in Do_RRTMG_Rad_Transfer') ENDDO 520 FORMAT( 5x, '- ', & a4, ' (Index = ', i2.2, ')' ) ! Copy the adjustment back to DT_3D as calculated in the baseline calculation If (Input_Opt%RRTMG_SEFDH) Then DT_3D(:,:,:) = DT_3D_UPDATE(:,:,:) End If ! Store temperature change and heating rate from RRTMG in diagnostics If (Input_Opt%RRTMG_FDH) Then If (State_Diag%Archive_DynHeating) State_Diag%DynHeating(:,:,:) = HR_3D(:,:,:) ! NB: DT_3D is the temperature adjustment either after equilibration (pure FDH) ! or at the start of the NEXT radiation time step (SEFDH) If (State_Diag%Archive_DTRad ) State_Diag%DTRad(:,:,:) = DT_3D(:,:,:) If (Input_Opt%RRTMG_SEFDH) Then State_Chm%TStrat_Adj(:,:,:) = DT_3D(:,:,:) End If RC = 0 If (Allocated(DT_3D)) Deallocate(DT_3D, STAT=RC) _ASSERT(RC==0, 'Error deallocating DT_3D') If (Allocated(HR_3D)) Deallocate(HR_3D, STAT=RC) _ASSERT(RC==0, 'Error deallocating HR_3D') If (Allocated(DT_3D_UPDATE)) Deallocate(DT_3D_UPDATE, STAT=RC) _ASSERT(RC==0, 'Error deallocating DT_3D_UPDATE') End If IF ( FIRST_RT ) THEN FIRST_RT = .FALSE. ENDIF CALL MAPL_TimerOff( STATE, 'GC_RAD' ) ELSE ! Set diagnostics to be undefined If (State_Diag%Archive_DTRad ) State_Diag%DTRad(:,:,:) = MAPL_UNDEF If (State_Diag%Archive_DynHeating ) State_Diag%DynHeating(:,:,:) = MAPL_UNDEF If (State_Diag%Archive_RadAllSkySWTOA ) State_Diag%RadAllSkySWTOA(:,:,:) = MAPL_UNDEF If (State_Diag%Archive_RadAllSkySWSurf ) State_Diag%RadAllSkySWSurf(:,:,:) = MAPL_UNDEF If (State_Diag%Archive_RadAllSkySWTrop ) State_Diag%RadAllSkySWTrop(:,:,:) = MAPL_UNDEF If (State_Diag%Archive_RadAllSkyLWTOA ) State_Diag%RadAllSkyLWTOA(:,:,:) = MAPL_UNDEF If (State_Diag%Archive_RadAllSkyLWSurf ) State_Diag%RadAllSkyLWSurf(:,:,:) = MAPL_UNDEF If (State_Diag%Archive_RadAllSkyLWTrop ) State_Diag%RadAllSkyLWTrop(:,:,:) = MAPL_UNDEF If (State_Diag%Archive_RadClrSkySWTOA ) State_Diag%RadClrSkySWTOA(:,:,:) = MAPL_UNDEF If (State_Diag%Archive_RadClrSkySWSurf ) State_Diag%RadClrSkySWSurf(:,:,:) = MAPL_UNDEF If (State_Diag%Archive_RadClrSkySWTrop ) State_Diag%RadClrSkySWTrop(:,:,:) = MAPL_UNDEF If (State_Diag%Archive_RadClrSkyLWTOA ) State_Diag%RadClrSkyLWTOA(:,:,:) = MAPL_UNDEF If (State_Diag%Archive_RadClrSkyLWSurf ) State_Diag%RadClrSkyLWSurf(:,:,:) = MAPL_UNDEF If (State_Diag%Archive_RadClrSkyLWTrop ) State_Diag%RadClrSkyLWTrop(:,:,:) = MAPL_UNDEF If (State_Diag%Archive_RadAODWL1 ) State_Diag%RadAODWL1(:,:,:) = MAPL_UNDEF If (State_Diag%Archive_RadSSAWL1 ) State_Diag%RadSSAWL1(:,:,:) = MAPL_UNDEF If (State_Diag%Archive_RadAsymWL1 ) State_Diag%RadAsymWL1(:,:,:) = MAPL_UNDEF If (State_Diag%Archive_RadAODWL2 ) State_Diag%RadAODWL2(:,:,:) = MAPL_UNDEF If (State_Diag%Archive_RadSSAWL2 ) State_Diag%RadSSAWL2(:,:,:) = MAPL_UNDEF If (State_Diag%Archive_RadAsymWL2 ) State_Diag%RadAsymWL2(:,:,:) = MAPL_UNDEF If (State_Diag%Archive_RadAODWL3 ) State_Diag%RadAODWL3(:,:,:) = MAPL_UNDEF If (State_Diag%Archive_RadSSAWL3 ) State_Diag%RadSSAWL3(:,:,:) = MAPL_UNDEF If (State_Diag%Archive_RadAsymWL3 ) State_Diag%RadAsymWL3(:,:,:) = MAPL_UNDEF ENDIF #endif if(Input_Opt%AmIRoot.and.NCALLS<10) write(*,*) ' --- Do diagnostics now' CALL MAPL_TimerOn( STATE, 'GC_DIAGN' ) ! Set certain diagnostics dependent on state at end of step. This ! includes species concentration and dry deposition flux. ! For GEOS, this is now done in Chem_GridCompMod.F90. This makes sure ! that the diagnostics include any post-run updates (e.g., if assimilation ! increments are being applied (ckeller, 2/7/22). #if !defined( MODEL_GEOS ) CALL Set_Diagnostics_EndofTimestep( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) _ASSERT(RC==GC_SUCCESS, 'Error calling Set_Diagnostics_EndofTimestep') #endif ! Archive aerosol mass and PM2.5 diagnostics IF ( State_Diag%Archive_AerMass ) THEN CALL Set_AerMass_Diagnostic( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) _ASSERT(RC==GC_SUCCESS, 'Error calling Set_AerMass_Diagnostic') ENDIF #if defined( MODEL_GEOS ) ! Save specific humidity and dry air mass for total mixing ratio ! adjustment in next timestep, if needed (ewl, 11/8/18) State_Met%SPHU_PREV = State_Met%SPHU #endif #ifdef ADJOINT if (Input_Opt%IS_FD_SPOT_THIS_PET .and. Input_opt%IFD > 0) THEN DO N = 1, State_Chm%nSpecies ThisSpc => State_Chm%SpcData(N)%Info write(*,*) 'SpcAdj(', TRIM(thisSpc%Name), ') = ', & State_Chm%SpeciesAdj(Input_Opt%IFD,Input_Opt%JFD,Input_Opt%LFD,N) ENDDO ENDIF !======================================================================= ! If this is an adjoint run, we need to check for the final (first) ! timestep and multiply the scaling factor adjoint by the initial concs !======================================================================= IF (Input_Opt%IS_ADJOINT .and. IsStarttime) THEN if (Input_opt%amIRoot) WRITE(*,*) ' Adjoint multiplying SF_ADJ by ICS' DO N = 1, State_Chm%nSpecies ThisSpc => State_Chm%SpcData(N)%Info ! Find the non-adjoint variable or this TRACNAME = ThisSpc%Name State_Chm%SpeciesAdj(:,:,:,N) = State_Chm%SpeciesAdj(:,:,:,N) * State_Chm%Species(N)%Conc(:,:,:) * & ( AIRMW / State_Chm%SpcData(N)%Info%MW_g ) if (Input_Opt%IS_FD_SPOT_THIS_PET .and. Input_Opt%IFD > 0) THEN write(*,*) 'After conversion ', & State_Chm%SpeciesAdj(Input_Opt%IFD,Input_Opt%JFD,Input_Opt%LFD,N) ENDIF ENDDO CALL Set_SpcAdj_Diagnostic( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) ENDIF #endif CALL MAPL_TimerOff( STATE, 'GC_DIAGN' ) if(Input_Opt%AmIRoot.and.NCALLS<10) write(*,*) ' --- Diagnostics done!' !======================================================================= ! Convert State_Chm%Species units back to original units !======================================================================= CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & new_units = previous_units, & RC = RC ) _ASSERT(RC==GC_SUCCESS, 'Error calling CONVERT_SPC_UNITS') #ifndef MODEL_GEOS ! Set diagnostics arrays in State_Diag that are in mol/mol CALL Set_SpcConc_Diags_VVDry( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) _ASSERT(RC==GC_SUCCESS, 'Error calling Set_SpcConc_Diags_VVDry') #endif !======================================================================= ! Clean up !======================================================================= ! testing only IF ( PHASE /= 1 .AND. NCALLS < 10 ) NCALLS = NCALLS + 1 ! First call is done FIRST = .FALSE. ! Return success RC = GC_SUCCESS END SUBROUTINE GCHP_Chunk_Run !EOC !BOP SUBROUTINE GCHP_PRINT_MET(I, J, L, & Input_Opt, State_Grid, State_Met, LOC, RC ) ! ! !USES: ! USE State_Met_Mod, ONLY : MetState USE Input_Opt_Mod, ONLY : OptInput USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I ! Grid cell lat index INTEGER, INTENT(IN) :: J ! Grid cell lon index INTEGER, INTENT(IN) :: L ! Grid cell lev index CHARACTER(LEN=*), INTENT(IN) :: LOC ! Call location string TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure?! ! !REMARKS: ! ! !REVISION HISTORY: !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=255) :: ErrorMsg, ThisLoc !========================================================================= ! GCHP_PRINT_MET begins here! !========================================================================= ErrorMsg = '' ThisLoc = ' -> at GCHP_Print_Met (in module ' // & 'Interfaces/GCHP/gchp_chunk_mod.F)' ! Assume success RC = GC_SUCCESS ! Echo info IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 100 ) TRIM( LOC ) WRITE( 6, 113 ) State_Grid%YMid(I,J), State_Grid%XMid(I,J) ENDIF 100 FORMAT( /, '%%%%% GCHP_PRINT_MET at ', a ) 113 FORMAT( 'Lat: ', f5.1, ' Lon: ', f5.1 ) ! Write formatted output IF ( Input_Opt%amIRoot ) THEN ! 2-D Fields WRITE( 6, 114 ) 'PBLH', State_Met%PBLH(I,J), I, J WRITE( 6, 114 ) 'PSC2_WET', State_Met%PSC2_WET(I,J), I, J WRITE( 6, 114 ) 'PSC2_DRY', State_Met%PSC2_DRY(I,J), I, J WRITE( 6, 114 ) 'PS1_WET', State_Met%PS1_WET(I,J), I, J WRITE( 6, 114 ) 'PS1_DRY', State_Met%PS1_DRY(I,J), I, J WRITE( 6, 114 ) 'PS2_WET', State_Met%PS2_WET(I,J), I, J WRITE( 6, 114 ) 'PS2_DRY', State_Met%PS2_DRY(I,J), I, J WRITE( 6, 114 ) 'TS', State_Met%TS(I,J), I, J WRITE( 6, 114 ) 'U10M', State_Met%U10M(I,J), I, J ! 3-D Fields WRITE( 6, 115 ) 'CLDF', State_Met%CLDF(I,J,L), I, J, L WRITE( 6, 115 ) 'OMEGA', State_Met%OMEGA(I,J,L), I, J, L WRITE( 6, 115 ) 'PEDGE', State_Met%PEDGE(I,J,L), I, J, L WRITE( 6, 115 ) 'T', State_Met%T(I,J,L), I, J, L WRITE( 6, 115 ) 'U', State_Met%U(I,J,L), I, J, L WRITE( 6, 115 ) 'V', State_Met%V(I,J,L), I, J, L WRITE( 6, 115 ) 'AD', State_Met%AD(I,J,L), I, J, L WRITE( 6, 115 ) 'PREVSPHU', State_Met%SPHU_PREV(I,J,L), I, J, L WRITE( 6, 115 ) 'SPHU', State_Met%SPHU(I,J,L), I, J, L ! terminator WRITE( 6, 120 ) ENDIF 114 FORMAT( 'Grid cell for ', a8, ' = ', es24.16, ', I,J = ',2I4 ) 115 FORMAT( 'Grid cell for ', a8, ' = ', es24.16, ', I,J,L= ',3I4 ) 120 FORMAT( / ) END SUBROUTINE GCHP_PRINT_MET !EOC END MODULE GCHP_Chunk_Mod ================================================ FILE: Interfaces/GCHP/gchp_historyexports_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: gchp_historyexports_mod.F90 ! ! !DESCRIPTION: Module GCHP\_HistoryExports\_Mod serves as the interface ! between the HISTORY configuration file, the GEOS-Chem State registry, ! and the ESMF Export State. !\\ !\\ ! !INTERFACE: ! MODULE GCHP_HistoryExports_Mod ! ! !USES: ! #include "MAPL_Generic.h" USE DiagList_Mod USE TaggedDiagList_Mod USE ErrCode_Mod USE Precision_Mod USE MAPL_Mod IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: HistoryExports_SetServices PUBLIC :: HistoryExports_SetDataPointers PUBLIC :: CopyGCStates2Exports PUBLIC :: Destroy_HistoryConfig ! ! !PRIVATE: ! PRIVATE :: Init_HistoryConfig PRIVATE :: Init_HistoryExport PRIVATE :: Init_HistoryExportsList PRIVATE :: Append_HistoryExportsList PRIVATE :: Check_HistoryExportsList PRIVATE :: Print_HistoryExportsList ! ! !PUBLIC TYPES ! ! History Configuration Object TYPE, PUBLIC :: HistoryConfigObj CHARACTER(LEN=255) :: ROOT ! TODO: needed? CHARACTER(LEN=255) :: ConfigFileName LOGICAL :: ConfigFileRead TYPE(HistoryExportsListObj), POINTER :: HistoryExportsList TYPE(DgnList) :: DiagList TYPE(TaggedDgnList) :: TaggedDiagList END TYPE HistoryConfigObj ! ! !PRIVATE TYPES ! ! History Exports Linked List TYPE :: HistoryExportsListObj TYPE(HistoryExportObj), POINTER :: head INTEGER :: numExports END TYPE HistoryExportsListObj ! History Export Object TYPE :: HistoryExportObj CHARACTER(LEN=255) :: name CHARACTER(LEN=255) :: metadataID CHARACTER(LEN=255) :: registryID CHARACTER(LEN=255) :: long_name CHARACTER(LEN=255) :: units INTEGER :: vloc INTEGER :: rank INTEGER :: type LOGICAL :: isMet LOGICAL :: isChem LOGICAL :: isDiag TYPE(HistoryExportObj), POINTER :: next ! Pointers to ESMF Export and GEOS-Chem State ! TODO: for now, include all possible data types in the registry. REAL, POINTER :: ExportData2d(:,:) REAL, POINTER :: ExportData3d(:,:,:) REAL(fp), POINTER :: GCStateData0d REAL(fp), POINTER :: GCStateData1d(:) REAL(fp), POINTER :: GCStateData2d(:,:) REAL(fp), POINTER :: GCStateData3d(:,:,:) REAL(f4), POINTER :: GCStateData0d_4 REAL(f4), POINTER :: GCStateData1d_4(:) REAL(f4), POINTER :: GCStateData2d_4(:,:) REAL(f4), POINTER :: GCStateData3d_4(:,:,:) REAL(f8), POINTER :: GCStateData0d_8 REAL(f8), POINTER :: GCStateData1d_8(:) REAL(f8), POINTER :: GCStateData2d_8(:,:) REAL(f8), POINTER :: GCStateData3d_8(:,:,:) INTEGER, POINTER :: GCStateData0d_I INTEGER, POINTER :: GCStateData1d_I(:) INTEGER, POINTER :: GCStateData2d_I(:,:) INTEGER, POINTER :: GCStateData3d_I(:,:,:) END TYPE HistoryExportObj ! ! !REVISION HISTORY: ! 01 Sep 2017 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_HistoryConfig ! ! !DESCRIPTION: !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_HistoryConfig ( am_I_Root, HistoryConfig, configFile, RC ) ! ! !USES: ! ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: am_I_Root CHARACTER(LEN=*), INTENT(IN) :: configFile ! ! !OUTPUT PARAMETERS: ! TYPE(HistoryConfigObj), POINTER :: HistoryConfig INTEGER, INTENT(OUT) :: RC ! ! !REVISION HISTORY: ! 01 Sep 2017 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC __Iam__('Init_HistoryConfig (gchp_historyexports_mod.F90)') RC = GC_SUCCESS ALLOCATE(HistoryConfig) HistoryConfig%ROOT = '' HistoryConfig%ConfigFileName = TRIM(configFile) HistoryConfig%ConfigFileRead = .FALSE. CALL Init_DiagList( am_I_Root, configFile, HistoryConfig%DiagList, RC ) IF ( RC == GC_FAILURE ) THEN _ASSERT(.FALSE., 'informative message here') RETURN ENDIF ! Optional debugging ! CALL Print_DiagList( am_I_Root, HistoryConfig%DiagList, RC ) CALL Init_TaggedDiagList( am_I_Root, HistoryConfig%DiagList, & HistoryConfig%TaggedDiagList, RC ) IF ( RC == GC_FAILURE ) THEN _ASSERT(.FALSE., 'informative message here') RETURN ENDIF ! Optional debugging !CALL Print_TaggedDiagList( am_I_Root, HistoryConfig%TaggedDiagList, RC ) CALL Init_HistoryExportsList( am_I_Root, HistoryConfig, RC ) IF ( RC == GC_FAILURE ) THEN _ASSERT(.FALSE., 'informative message here') RETURN ENDIF ! Optional debugging !CALL Print_HistoryExportsList( am_I_Root, HistoryConfig, RC ) END SUBROUTINE Init_HistoryConfig !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_HistoryExportsList ! ! !DESCRIPTION: !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_HistoryExportsList ( am_I_Root, HistoryConfig, RC ) ! ! !USES: ! USE State_Chm_Mod, ONLY: Get_Metadata_State_Chm USE State_Diag_Mod, ONLY: Get_Metadata_State_Diag USE State_Met_Mod, ONLY: Get_Metadata_State_Met ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: am_I_Root ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(HistoryConfigObj), POINTER :: HistoryConfig ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! ! !REVISION HISTORY: ! 01 Sep 2017 - E. Lundgren - initial version ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: N, rank, vloc, type CHARACTER(LEN=255) :: ErrMsg, desc, units, tag LOGICAL :: isMet, isChem, isDiag, found TYPE(HistoryExportObj), POINTER :: NewHistExp TYPE(DgnItem), POINTER :: current ! ================================================================ ! Init_HistoryExportsList begins here ! ================================================================ __Iam__('Init_HistoryExportsList (gchp_historyexports_mod.F90)') RC = GC_SUCCESS ! Init NewHistExp => NULL() ! Create HistoryExportsList object ALLOCATE(HistoryConfig%HistoryExportsList) HistoryConfig%HistoryExportsList%numExports = 0 HistoryConfig%HistoryExportsList%head => NULL() ! Loop over entries in DiagList current => HistoryConfig%DiagList%head DO WHILE ( ASSOCIATED( current ) ) ! Skip diagnostics handled by HEMCO, non-standard for GEOS, ! or species in the GCHP/GEOS internal state. ! See diaglist_mod.F90 for criteria for assigning diagnostic state. IF ( INDEX( current%state, 'HEMCO' ) == 1 .OR. & INDEX( current%state, 'GEOS' ) == 1 .OR. & INDEX( current%state, 'INTERNAL' ) == 1 ) THEN current => current%next CYCLE ENDIF ! Check history exports list to see if already added (unless wildcard) IF ( .NOT. current%isWildcard ) THEN CALL Check_HistoryExportsList( am_I_Root, current%name, & HistoryConfig%HistoryExportsList, & found, RC ) IF ( found ) THEN current => current%next CYCLE ENDIF ENDIF ! Get metadata using metadataID and state ! If isTagged, then append to description ! If isWildcard, shouldn't get here ! The name of the export is simply name Found = .TRUE. isMet = .FALSE. isChem = .FALSE. isDiag = .FALSE. IF ( TRIM(current%state) == 'MET' ) THEN isMet = .TRUE. CALL Get_Metadata_State_Met( am_I_Root, current%metadataID, & Found, RC, desc=desc, units=units, & rank=rank, type=type, vloc=vloc ) ! TODO: need to add found to outputs of get_metadata_state_met ELSEIF ( TRIM(current%state) == 'CHEM' ) THEN isCHEM = .TRUE. CALL Get_Metadata_State_Chm( am_I_Root, current%metadataID, & Found, RC, desc=desc, units=units, & rank=rank, type=type, vloc=vloc ) ELSEIF ( TRIM(current%state) == 'DIAG' ) THEN isDIAG = .TRUE. CALL Get_Metadata_State_Diag( am_I_Root, current%metadataID, & Found, RC, desc=desc, units=units, & rank=rank, srcType=type, vloc=vloc ) ELSE RC = GC_FAILURE ErrMsg = "Unknown state of item " // TRIM(current%name) // & " in DiagList: " // TRIM(current%state) EXIT ENDIF IF ( .NOT. Found ) THEN RC = GC_FAILURE ErrMsg = "Metadata not found for " // TRIM(current%name) // & " in state " // TRIM(current%state) EXIT ENDIF ! If wildcard is present IF ( current%isWildcard ) THEN ! Do nothing. This should never happen at this point since ! Init_DiagList will exit with an error if wildcard is ! encountered in HISTORY.rc while compiling with ESMF_. ! When it comes time to implement, create exports in a loop, ! either for all species or for advected species only. Include ! a check that the export was not already created. Loop over ! AdvNames if wildcard is ADV. Loop over SpecNames for all other ! cases, passing not found = OK so that not all are necessarily ! output. Later on, after species database is initialized, exports ! for only species in the specific wildcard will be associated ! with data and thus included in the output file. ! If the meantime, skip wildcards if it gets here. current => current%next CYCLE ENDIF ! If this item is for a specific tag, append description. ! This will need revisiting since there may be tag-dependent ! strings to append to long names IF ( current%isTagged ) THEN desc = TRIM(desc) // " for " // TRIM(current%tag) ENDIF ! Create a new HistoryExportObj object CALL Init_HistoryExport( am_I_Root, NewHistExp, & name=current%name, & metadataID=current%metadataID, & registryID=current%registryID, & long_name=desc, & units=units, & vloc=vloc, & rank=rank, & type=type, & isMet=isMet, & isChem=isChem, & isDiag=isDiag, & RC=RC ) IF ( RC == GC_FAILURE ) THEN RC = GC_FAILURE ErrMsg = "History export init fail for " // TRIM(current%name) EXIT ENDIF ! Add new HistoryExportObj to linked list CALL Append_HistoryExportsList( am_I_Root, NewHistExp, & HistoryConfig, RC ) IF ( RC == GC_FAILURE ) THEN RC = GC_FAILURE ErrMsg = "History export append fail for " // TRIM(current%name) EXIT ENDIF ! Set up for next item in DiagList current => current%next ENDDO current => NULL() IF ( RC == GC_SUCCESS ) THEN HistoryConfig%ConfigFileRead = .TRUE. ELSE CALL GC_ERROR( ErrMsg, RC, Iam ) _ASSERT(.FALSE., 'Error in routine Init_HistoryExport! This could indicate an error or typo in HISTORY.rc.') RETURN ENDIF END SUBROUTINE Init_HistoryExportsList !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_HistoryExport ! ! !DESCRIPTION: !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_HistoryExport ( am_I_Root, NewHistExp, name, & metadataID, registryID, long_name, & units, vloc, rank, & type, isMet, isChem, & isDiag, RC ) ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: am_I_Root ! ! !OUTPUT PARAMETERS: ! TYPE(HistoryExportObj), POINTER :: NewHistExp CHARACTER(LEN=*), OPTIONAL :: name CHARACTER(LEN=*), OPTIONAL :: metadataID CHARACTER(LEN=*), OPTIONAL :: registryID CHARACTER(LEN=*), OPTIONAL :: long_name CHARACTER(LEN=*), OPTIONAL :: units INTEGER, OPTIONAL :: vloc INTEGER, OPTIONAL :: rank INTEGER, OPTIONAL :: type LOGICAL, OPTIONAL :: isMet LOGICAL, OPTIONAL :: isChem LOGICAL, OPTIONAL :: isDiag INTEGER, OPTIONAL :: RC ! ! !REVISION HISTORY: ! 01 Sep 2017 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC __Iam__('Init_HistoryExport (gchp_historyexports_mod.F90)') RC = GC_SUCCESS ALLOCATE(NewHistExp) IF ( PRESENT( name ) ) THEN NewHistExp%name = TRIM(name) ELSE NewHistExp%name = '' ENDIF IF ( PRESENT( metaDataId ) ) THEN NewHistExp%metadataID = TRIM(metadataID) ELSE NewHistExp%metadataID = '' ENDIF IF ( PRESENT( registryId ) ) THEN NewHistExp%registryID = TRIM(registryID) ELSE NewHistExp%registryId = '' ENDIF IF ( PRESENT( long_name ) ) THEN NewHistExp%long_name = TRIM(long_name) ELSE NewHistExp%long_name = '' ENDIF IF ( PRESENT( units ) ) THEN NewHistExp%units = TRIM(units) ELSE NewHistExp%units = '' ENDIF IF ( PRESENT( vloc ) ) THEN NewHistExp%vloc = vloc ELSE NewHistExp%vloc = -1 ENDIF IF ( PRESENT( rank ) ) THEN NewHistExp%rank = rank ELSE NewHistExp%rank = -1 ENDIF IF ( PRESENT( type ) ) THEN NewHistExp%type = type ELSE NewHistExp%type = -1 ENDIF IF ( PRESENT( isMet ) ) THEN NewHistExp%isMet = isMet ELSE NewHistExp%isMet = .FALSE. ENDIF IF ( PRESENT( isChem ) ) THEN NewHistExp%isChem = isChem ELSE NewHistExp%isChem = .FALSE. ENDIF IF ( PRESENT( isDiag ) ) THEN NewHistExp%isDiag = isDiag ELSE NewHistExp%isDiag = .FALSE. ENDIF NewHistExp%next => NULL() NewHistExp%ExportData2d => NULL() NewHistExp%ExportData3d => NULL() NewHistExp%GCStateData0d => NULL() NewHistExp%GCStateData1d => NULL() NewHistExp%GCStateData2d => NULL() NewHistExp%GCStateData3d => NULL() NewHistExp%GCStateData0d_4 => NULL() NewHistExp%GCStateData1d_4 => NULL() NewHistExp%GCStateData2d_4 => NULL() NewHistExp%GCStateData3d_4 => NULL() NewHistExp%GCStateData0d_8 => NULL() NewHistExp%GCStateData1d_8 => NULL() NewHistExp%GCStateData2d_8 => NULL() NewHistExp%GCStateData3d_8 => NULL() NewHistExp%GCStateData0d_I => NULL() NewHistExp%GCStateData1d_I => NULL() NewHistExp%GCStateData2d_I => NULL() NewHistExp%GCStateData3d_I => NULL() END SUBROUTINE Init_HistoryExport !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Append_HistoryExportsList ! ! !DESCRIPTION: !\\ !\\ ! !INTERFACE: ! SUBROUTINE Append_HistoryExportsList ( am_I_Root, HistoryExport, & HistoryConfig, RC ) ! ! !USES: ! ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: am_I_Root TYPE(HistoryExportObj), POINTER :: HistoryExport ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(HistoryConfigObj), POINTER :: HistoryConfig ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! ! !REVISION HISTORY: ! 01 Sep 2017 - E. Lundgren - initial version ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! TYPE(HistoryExportObj), POINTER :: NewHistExp ! ================================================================ ! Append_HistoryExportsList begins here ! ================================================================ __Iam__('Append_HistoryExportsList (gchp_historyexports_mod.F90)') RC = GC_SUCCESS ! Add new object to the beginning of the linked list HistoryExport%next => HistoryConfig%HistoryExportsList%head HistoryConfig%HistoryExportsList%head => HistoryExport ! Update # of list items HistoryConfig%HistoryExportsList%numExports = & HistoryConfig%HistoryExportsList%numExports + 1 END SUBROUTINE Append_HistoryExportsList !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Check_HistoryExportsList ! ! !DESCRIPTION: !\\ !\\ ! !INTERFACE: ! SUBROUTINE Check_HistoryExportsList ( am_I_Root, name, & ExportsList, found, RC ) ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: am_I_Root CHARACTER(LEN=*), INTENT(IN) :: name TYPE(HistoryExportsListObj), POINTER :: ExportsList ! ! !OUTPUT PARAMETERS: ! LOGICAL, INTENT(OUT) :: found INTEGER, INTENT(OUT) :: RC ! ! !REVISION HISTORY: ! 12 Sep 2017 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! TYPE(HistoryExportObj), POINTER :: current __Iam__('Check_HistoryExportsList (gchp_historyexports_mod.F90)') RC = GC_SUCCESS ! Assume not found found = .False. current => ExportsList%head DO WHILE ( ASSOCIATED( current ) ) IF ( current%name == name ) THEN found = .TRUE. RETURN ENDIF current => current%next ENDDO current => NULL() END SUBROUTINE Check_HistoryExportsList !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model !! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: HistoryExports_SetServices ! ! !DESCRIPTION: !\\ !\\ ! !INTERFACE: ! SUBROUTINE HistoryExports_SetServices( am_I_Root, config_file, GC, & HistoryConfig, RC ) ! ! !USES: ! USE ESMF, ONLY : ESMF_GridComp USE Registry_Params_Mod ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: am_I_Root CHARACTER(LEN=*), INTENT(IN) :: config_file ! ! !INPUT AND OUTPUT PARAMETERS: ! TYPE(ESMF_GridComp), INTENT(INOUT) :: GC ! Gridded Component ! ! !OUTPUT PARAMETERS: ! TYPE(HistoryConfigObj), POINTER :: HistoryConfig ! History config object INTEGER, INTENT(OUT) :: RC ! ! !REMARKS: ! ! ! !REVISION HISTORY: ! 01 Sep 2017 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=255) :: ErrMsg TYPE(HistoryExportObj), POINTER :: current ! ================================================================ ! HistoryExports_SetServices begins here ! ================================================================ ! For MAPL/ESMF error handling (defines Iam and STATUS) __Iam__('HistoryExports_SetServices (gchp_historyexports_mod.F90)') RC = GC_SUCCESS ! Create a config object if it does not already exist IF ( .NOT. ASSOCIATED(HistoryConfig) ) THEN CALL Init_HistoryConfig( am_I_Root, HistoryConfig, config_file, RC ) IF ( RC == GC_FAILURE ) THEN _ASSERT(.FALSE., 'informative message here') RETURN ENDIF ENDIF ! Loop over the History Exports list to add one export per item IF ( am_I_Root ) THEN WRITE(6,*) " " WRITE(6,*) "Adding history variables to GCHP Export State:" ENDIF current => HistoryConfig%HistoryExportsList%head DO WHILE ( ASSOCIATED( current ) ) IF ( am_I_Root ) PRINT *, "adding export: ", TRIM(current%name) ! Create an export for this item IF ( current%rank == 3 ) THEN IF ( current%vloc == VLocationCenter ) THEN CALL MAPL_AddExportSpec(GC, & SHORT_NAME = TRIM(current%name), & LONG_NAME = TRIM(current%long_name), & UNITS = TRIM(current%units), & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & RC = RC ) IF ( RC == GC_FAILURE ) THEN ErrMsg = "Problem adding 3D export for " // TRIM(current%name) EXIT ENDIF ELSEIF ( current%vloc == VLocationEdge ) THEN CALL MAPL_AddExportSpec(GC, & SHORT_NAME = TRIM(current%name), & LONG_NAME = TRIM(current%long_name), & UNITS = TRIM(current%units), & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationEdge, & RC = STATUS ) ELSE IF ( am_I_Root ) THEN PRINT *, "Unknown vertical location for ", & TRIM(current%name) ENDIF ENDIF ELSEIF ( current%rank == 2 ) THEN CALL MAPL_AddExportSpec(GC, & SHORT_NAME = TRIM(current%name), & LONG_NAME = TRIM(current%long_name), & UNITS = TRIM(current%units), & DIMS = MAPL_DimsHorzOnly, & RC = RC ) IF ( RC == GC_FAILURE ) THEN ErrMsg = "Problem adding 2D export for " // TRIM(current%name) EXIT ENDIF ELSE RC = GC_FAILURE ErrMsg = "Problem adding export for " // TRIM(current%name) // & ". Rank is only implemented for 2 or 3!" EXIT ENDIF current => current%next ENDDO current => NULL() IF ( RC == GC_FAILURE ) THEN CALL GC_ERROR( ErrMsg, RC, Iam ) _ASSERT(.FALSE., 'informative message here') RETURN ENDIF END SUBROUTINE HistoryExports_SetServices !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: CopyGCStates2Exports ! ! !DESCRIPTION: !\\ !\\ ! !INTERFACE: ! SUBROUTINE CopyGCStates2Exports( am_I_Root, Input_Opt, HistoryConfig, RC ) ! ! !USES: ! USE HCO_Interface_GC_Mod, ONLY : HCOI_GC_WriteDiagn USE Input_Opt_Mod, ONLY : OptInput ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: am_I_Root TYPE(OptInput), INTENT(IN) :: Input_Opt ! ! !INPUT AND OUTPUT PARAMETERS: ! TYPE(HistoryConfigObj), POINTER :: HistoryConfig ! History config object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! ! !REMARKS: ! ! ! !REVISION HISTORY: ! 01 Sep 2017 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: LMAX CHARACTER(LEN=255) :: ErrMsg TYPE(HistoryExportObj), POINTER :: current ! ================================================================ ! CopyGCStates2Exports begins here ! ================================================================ __Iam__('CopyGCStates2Exports (gchp_historyexports_mod.F90)') RC = GC_SUCCESS ! Loop over the History Exports list current => HistoryConfig%HistoryExportsList%head DO WHILE ( ASSOCIATED( current ) ) ! if (MAPL_Am_I_Root()) THEN ! print *, ' Copying ' // TRIM(current%name) ! endif IF ( current%rank == 2 ) THEN IF ( ASSOCIATED( current%GCStateData2d ) ) THEN current%ExportData2d = current%GCStateData2d ELSE IF ( ASSOCIATED( current%GCStateData2d_4 ) ) THEN current%ExportData2d = current%GCStateData2d_4 ELSE IF ( ASSOCIATED( current%GCStateData2d_8 ) ) THEN current%ExportData2d = current%GCStateData2d_8 ELSE IF ( ASSOCIATED( current%GCStateData2d_I ) ) THEN ! Convert integer to float (integers not allowed in MAPL exports) current%ExportData2d = FLOAT(current%GCStateData2d_I) ELSE RC = GC_FAILURE ErrMsg = "No GC 2D pointer found for " // TRIM(current%name) EXIT ENDIF ELSEIF ( current%rank == 3 ) THEN IF ( ASSOCIATED( current%GCStateData3d ) ) THEN current%ExportData3d = current%GCStateData3d ELSE IF ( ASSOCIATED( current%GCStateData3d_4 ) ) THEN current%ExportData3d = current%GCStateData3d_4 ELSE IF ( ASSOCIATED( current%GCStateData3d_8 ) ) THEN current%ExportData3d = current%GCStateData3d_8 ELSE IF ( ASSOCIATED( current%GCStateData3d_I ) ) THEN current%ExportData3d = FLOAT(current%GCStateData3d_I) ELSE RC = GC_FAILURE ErrMsg = "No GC 3D pointer found for " // TRIM(current%name) EXIT ENDIF #if defined( MODEL_GEOS ) ! Flip the data vertically to match model convention LMAX = SIZE(current%ExportData3d, 3) current%ExportData3d(:,:,1:LMAX) = & current%ExportData3d(:,:,LMAX:1:-1) #endif ENDIF current => current%next ENDDO current => NULL() ! Error handling IF ( RC == GC_FAILURE ) THEN CALL GC_ERROR( ErrMsg, RC, Iam ) _ASSERT(.FALSE., 'informative message here') RETURN ENDIF ! Copy emissions data to MAPL exports via HEMCO CALL HCOI_GC_WriteDiagn( Input_Opt, .FALSE., RC ) ! IF ( MAPL_Am_I_Root() ) WRITE(*,*) "Back from HCOI_GC_WriteDiagn, RC = ", RC IF ( RC == GC_FAILURE ) THEN ErrMsg = "Error copying emissions data to MAPL via HEMCO" CALL GC_ERROR( ErrMsg, RC, Iam ) _ASSERT(.FALSE., 'informative message here') RETURN ENDIF END SUBROUTINE CopyGCStates2Exports !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Print_HistoryExportsList ! ! !DESCRIPTION: !\\ !\\ ! !INTERFACE: ! SUBROUTINE Print_HistoryExportsList( am_I_Root, HistoryConfig, RC ) ! ! !USES: ! ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: am_I_Root ! ! !INPUT AND OUTPUT PARAMETERS: ! TYPE(HistoryConfigObj), POINTER :: HistoryConfig ! History config object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! ! !REMARKS: ! ! ! !REVISION HISTORY: ! 01 Sep 2017 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! TYPE(HistoryExportObj), POINTER :: current ! ================================================================ ! Print_HistoryExportsList begins here ! ================================================================ __Iam__('Print_HistoryExportsList (gchp_historyexports_mod.F90)') RC = GC_SUCCESS ! Loop over the History Exports list current => HistoryConfig%HistoryExportsList%head IF ( am_I_Root ) PRINT *, '===========================' IF ( am_I_Root ) PRINT *, 'History Exports List:' IF ( am_I_Root ) PRINT *, ' ' DO WHILE ( ASSOCIATED( current ) ) IF ( am_I_Root ) THEN PRINT *, "Name: ", TRIM(current%name) PRINT *, " MetadataID: ", TRIM(current%metadataID) PRINT *, " RegistryID: ", TRIM(current%registryID) PRINT *, " Long name: ", TRIM(current%long_name) PRINT *, " Units: ", TRIM(current%units) PRINT *, " Vert loc: ", current%vloc PRINT *, " Rank: ", current%rank PRINT *, " Type: ", current%type PRINT *, " isMet: ", current%isMet PRINT *, " isChem: ", current%isChem PRINT *, " isDiag: ", current%isDiag PRINT *, " " ENDIF current => current%next ENDDO IF ( am_I_Root ) PRINT *, '===========================' current => NULL() END SUBROUTINE Print_HistoryExportsList !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: HistoryExports_SetDataPointers ! ! !DESCRIPTION: !\\ !\\ ! !INTERFACE: ! SUBROUTINE HistoryExports_SetDataPointers( am_I_Root, EXPORT, & HistoryConfig, State_Chm, & State_Diag, State_Met, & RC ) ! ! !USES: ! USE ESMF, ONLY : ESMF_State USE Registry_Mod, ONLY : Registry_Lookup USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: am_I_Root ! ! !INPUT AND OUTPUT PARAMETERS: ! TYPE(ESMF_State), INTENT(INOUT), TARGET :: EXPORT ! Export state obj TYPE(HistoryConfigObj), POINTER :: HistoryConfig ! History config obj TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State obj TYPE(MetState), INTENT(INOUT) :: State_Met ! Meteorology State obj TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State obj ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! ! !REMARKS: ! ! ! !REVISION HISTORY: ! 01 Sep 2017 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=255) :: ErrMsg TYPE(HistoryExportObj), POINTER :: current ! ================================================================ ! HistoryExports_SetDataPointers begins here ! ================================================================ __Iam__('HistoryExports_SetDataPointers') RC = GC_SUCCESS IF ( am_I_Root ) THEN WRITE(6,*) " " WRITE(6,*) "Setting history variable pointers to GC and Export States" ENDIF ! Loop over the History Exports list current => HistoryConfig%HistoryExportsList%head DO WHILE ( ASSOCIATED( current ) ) ! Get pointer to GC state data !IF ( am_I_Root ) WRITE(6,*) current%name IF ( current%isMET ) THEN CALL Registry_Lookup( am_I_Root = am_I_Root, & Registry = State_Met%Registry, & RegDict = State_Met%RegDict, & State = State_Met%State, & Variable = current%registryID, & Ptr2d_4 = current%GCStateData2d_4, & Ptr2d_8 = current%GCStateData2d_8, & Ptr2d_I = current%GCStateData2d_I, & Ptr3d_4 = current%GCStateData3d_4, & Ptr3d_8 = current%GCStateData3d_8, & Ptr3d_I = current%GCStateData3d_I, & RC = RC ) ELSEIF ( current%isChem ) THEN CALL Registry_Lookup( am_I_Root = am_I_Root, & Registry = State_Chm%Registry, & RegDict = State_Chm%RegDict, & State = State_Chm%State, & Variable = current%registryID, & Ptr2d_4 = current%GCStateData2d_4, & Ptr2d_8 = current%GCStateData2d_8, & Ptr2d_I = current%GCStateData2d_I, & Ptr3d_4 = current%GCStateData3d_4, & Ptr3d_8 = current%GCStateData3d_8, & Ptr3d_I = current%GCStateData3d_I, & RC = RC ) ELSEIF ( current%isDiag ) THEN CALL Registry_Lookup( am_I_Root = am_I_Root, & Registry = State_Diag%Registry, & RegDict = State_Diag%RegDict, & State = State_Diag%State, & Variable = current%registryID, & Ptr2d_4 = current%GCStateData2d_4, & Ptr2d_8 = current%GCStateData2d_8, & Ptr2d_I = current%GCStateData2d_I, & Ptr3d_4 = current%GCStateData3d_4, & Ptr3d_8 = current%GCStateData3d_8, & Ptr3d_I = current%GCStateData3d_I, & RC = RC ) ENDIF IF ( RC == GC_FAILURE ) THEN ErrMsg = "Registry pointer not found for " // TRIM(current%name) // & ". Check that the tag (e.g. species) is valid " // & "for this diagnostic." EXIT ENDIF ! For MAPL export, need to pass a pointer of the right dimension IF ( current%rank == 2 ) THEN CALL MAPL_GetPointer ( EXPORT, current%ExportData2d, & current%name, __RC__ ) ELSEIF ( current%rank == 3 ) THEN CALL MAPL_GetPointer ( EXPORT, current%ExportData3d, & current%name, __RC__ ) ENDIF !! debugging !IF ( Am_I_Root) THEN ! WRITE(6,*) TRIM(current%name) !ENDIF current => current%next ENDDO current => NULL() IF ( RC == GC_FAILURE ) THEN CALL GC_ERROR( ErrMsg, RC, Iam ) _ASSERT(.FALSE., 'informative message here') RETURN ENDIF END SUBROUTINE HistoryExports_SetDataPointers !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Destroy_HistoryConfig ! ! !DESCRIPTION: Subroutine Destroy_HistoryConfig deallocates a HistoryConfig ! object and all of its member objects including the linked list of ! HistoryExport objects. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Destroy_HistoryConfig ( am_I_Root, HistoryConfig, RC ) ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: am_I_Root ! root CPU? TYPE(HistoryConfigObj), POINTER :: HistoryConfig ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: RC ! Success? ! ! !REVISION HISTORY: ! 01 Sep 2017 - E. Lundgren - Initial version ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! TYPE(HistoryExportObj), POINTER :: current TYPE(HistoryExportObj), POINTER :: next ! ================================================================ ! Destroy_HistoryConfig begins here ! ================================================================ __Iam__('Destroy_HistoryConfig (gchp_historyexports_mod.F90)') current => NULL() next => NULL() ! Destroy each item in the linked list of HistoryExport objects current => HistoryConfig%HistoryExportsList%head IF ( ASSOCIATED( current ) ) next => current%next DO WHILE ( ASSOCIATED( current ) ) DEALLOCATE( current, STAT=RC ) _ASSERT( RC == GC_SUCCESS, 'informative message here' ) IF ( .NOT. ASSOCIATED ( next ) ) EXIT current => next next => current%next ENDDO ! Deallocate the HistoryExportsList object DEALLOCATE( HistoryConfig%HistoryExportsList, STAT=RC ) _ASSERT( RC == GC_SUCCESS, 'informative message here' ) ! Deallocate the HistoryConfig object DEALLOCATE( HistoryConfig, STAT=RC ) _ASSERT( RC == GC_SUCCESS, 'informative message here' ) ! Final cleanup current => NULL() next => NULL() END SUBROUTINE Destroy_HistoryConfig !EOC END MODULE GCHP_HistoryExports_Mod ================================================ FILE: Interfaces/GEOS/GEOSCHEMchem_Registry.rc ================================================ # # This the GEOS-CHEM Grid Component Registry. It defines Import, # Internal and Export states for this component as well as # any # # !REVISION HISTORY: # 16Aug2006 da Silva First Version # 30Jun2012 Nielsen For Ganymed # 10Oct2012 Yantosca Updated for GEOS-Chem v9-01-03, which has new # Bromine compounds as advected tracers & species # 25Sep2013 Keller Updated for GEOS-Chem v9-02l (NOx and Ox not lumped anymore, Isoprene update) # See git history for rest of revision history # # ----------------------------------------------------------------- # GCHP only: # COMP_NAME: GCHPchem # GEOS-5 has different grid comp name: COMP_NAME: GEOSCHEMCHEM #--- # Only change the Registry version when major structural changes # occurs, not changes in content # -------------------------------------------------------------- MAPL_REGISTRY_VERSION: 1.00 # ------------ # Import State # ------------ # -------------------|-------------|-----|---|----|---|---|-----|------|----| -------------------------- # Short | | | V |Item|Intervl| Sub | Def | No | Long # Name | Units | Dim |Loc|Type| R | A |Tiles| ault | Rst| Name # -------------------|-------------|-----|---|----|---|---|-----|------|----| -------------------------- # NOTE: GCHP does not have column No Rst #====================== # Both GCHP and GEOS-5 (but needed to add No Rst column to GCHP entries) #====================== AIRDENS | kg/m3 | xyz | C | | | | | | | air_density AREA | m2 | xy | | | | | | | | agrid_cell_area FRLAKE | 1 | xy | | | | | | | | fraction_of_lake FRLAND | 1 | xy | | | | | | | | fraction_of_land FRLANDICE | 1 | xy | | | | | | | | fraction_of_land_ice FROCEAN | 1 | xy | | | | | | | | fraction_of_ocean LAI | 1 | xy | | | | | | | | leaf area index SNOMAS | kg/m2 | xy | | | | | | | | snow_mass TAUCLI | 1 | xyz | C | | | | | | | optical_thickness_for_ice_clouds TAUCLW | 1 | xyz | C | | | | | | | optical_thickness_for_liquid_clouds TROPP | hPa | xy | | | | | | | | tropopause_pressure_based_on_blended_estimate TS | K | xy | | | | | | | | surface_skin_temperature U10M | m/s | xy | | | | | | | | 10-meter_eastward_wind USTAR | m/s | xy | | | | | | | | surface_velocity_scale V10M | m/s | xy | | | | | | | | 10-meter_northward_wind OMEGA | Pas-1 | xyz | C | | | | | | | vertical_pressure_velocity #============== # GEOS-5 only: #============== ALBVF | 1 | xy | | | | | | | | surface_albedo_for_visible_diffuse CLDTT | 1 | xy | | | | | | | | total_cloud_area_fraction ASNOW | 1 | xy | | | | | | | | fractional_area_of_land_snowcover WET1 | 1 | xy | | | | | | | | surface_soil_wetness WET2 | 1 | xy | | | | | | | | root_soil_wetness SH | W/m2 | xy | | | | | | | | sensible_heat_flux_from_turbulence LHFX | W/m2 | xy | | | | | | | | latent_heat_flux_from_turbulence ITY | 1 | xy | | | | | | | | land type index DRPAR | W/m2 | xy | | | | | | | | surface_downwelling_par_beam_flux DFPAR | W/m2 | xy | | | | | | | | surface_downwelling_par_diffuse_flux ZPBL | m | xy | | | | | | | | planetary_boundary_layer_height PPBL | Pa | xy | | | | | | | | pbltop_pressure PS | Pa | xy | | | | | | | | surface_ressure SWNDSRF | W/m2 | xy | | | | | | | | surface_net_downward_shortwave_flux SNOWDP | m | xy | | | | | | | | snow_depth T2M | K | xy | | | | | | | | 2-meter-air_temperature T10M | K | xy | | | | | | | | 10-meter-air_temperature Z0H | m | xy | | | | | | | | surface_roughness_for_heat ZLE | m | xyz | E | | | | | | | geopotential_height FCLD | 1 | xyz | C | | | | | | | cloud_fraction_for_radiation CNV_MFC | kg/m2/s | xyz | E | | | | | | | cumulative_mass_flux CNV_CVW | hPa/s | xyz | C | | | | | | | updraft_vertical_velocity DQIDT | kg/kg/s | xyz | C | | | | | | | total_ice_water_tendency_due_to_moist DQLDT | kg/kg/s | xyz | C | | | | | | | total_liq_water_tendency_due_to_moist DQDT | kg/kg/s | xyz | C | | | | | | | specific_humidity_tendency_due_to_moist DQRL | kg/kg/s | xyz | C | | | | | | | large_scale_rainwater_source PFL_LSAN | kg/m2/s | xyz | E | | | | | | | 3D_flux_of_liquid_nonconvective_precipitation PFI_LSAN | kg/m2/s | xyz | E | | | | | | | 3D_flux_of_ice_nonconvective_precipitation CNV_MFD | kg/m2/s | xyz | C | | | | | | | detraining_mass_flux PLE | Pa | xyz | E | | | | | | | air_pressure_layer_interfaces DELP | Pa | xyz | C | | | | | | | pressure_thickness RH2 | 1 | xyz | C | | | | | | | Rel_Hum_after_moist Q | kg/kg | xyz | C | | | | | | | specific_humidity QITOT | kg/kg | xyz | C | | | | | | | ice mixing ratio QLTOT | kg/kg | xyz | C | | | | | | | water mixing ratio T | K | xyz | C | | | | | | | air_temperature REV_CN | kg/kg/s | xyz | C | | | | | | | evaporation_of_convective_precipitation REV_LS | kg/kg/s | xyz | C | | | | | | | evaporation_of_nonanvil_large_scale_precipitation REV_AN | kg/kg/s | xyz | C | | | | | | | evaporation_of_anvil_precipitation DQRC | kg/kg/s | xyz | C | | | | | | | convective_rainwater_source PFI_CN | kg/m2/s | xyz | E | | | | | | | 3D_flux_of_ice_convective_precipitation PFL_CN | kg/m2/s | xyz | E | | | | | | | 3D_flux_of_liquid_convective_precipitation U | ms-1 | xyz | C | | | | | | | eastward_wind V | ms-1 | xyz | C | | | | | | | northward_wind CNV_FRC | 1 | xy | | | | | | | x | convective_fraction Q10M | kg/kg | xy | | | | | | | | 10m_specific_humidity Q2M | kg/kg | xy | | | | | | | | 2m_specific_humidity XLAIMULTI | cm2_cm-2 | xyz | E | | | | | | x ! LAI_by_ #=========== # GCHP only: #=========== # ALBD | 1 | xy | | | | | | | surface_albedo_for_visible_diffuse # CLDF | 1 | xyz | C | | | | | | # CLDFRC | 1 | xy | | | | | | | # CMFMC | 1 | xyz | E | | | | | | # DQRCU | 1 | xyz | C | | | | | | # DQRLSAN | 1 | xyz | C | | | | | | ## DryPLE | 1 | xyz | E | | | | | | # DTRAIN | 1 | xyz | C | | | | | | # EFLUX | 1 | xy | | | | | | | # EVAP | 1 | xy | | | | | | | # FRSEAICE | 1 | xy | | | | | | | # FRSNO | 1 | xy | | | | | | | # GRN | 1 | xy | | | | | | | # GWETROOT | 1 | xy | | | | | | | # GWETTOP | 1 | xy | | | | | | | # HFLUX | 1 | xy | | | | | | | # OPTDEP | 1 | xyz | C | | | | | | # PARDF | 1 | xy | | | | | | | # PARDR | 1 | xy | | | | | | | # PBLH | 1 | xy | | | | | | | # PFICU | 1 | xyz | E | | | | | | # PFILSAN | 1 | xyz | E | | | | | | # PFLCU | 1 | xyz | E | | | | | | # PFLLSAN | 1 | xyz | E | | | | | | # PHIS | 1 | xy | | | | | | | ## PLE | 1 | xyz | E | | | | | | # PS1 | 1 | xy | E | | | | | | # PS2 | 1 | xy | E | | | | | | # QI | 1 | xyz | C | | | | | | # QL | 1 | xyz | C | | | | | | # RADSWG | 1 | xy | | | | | | | # REEVAPCN | 1 | xyz | C | | | | | | # REEVAPLS | 1 | xyz | C | | | | | | # RH | 1 | xyz | C | | | | | | # SEAICE00 | 1 | xy | | | | | | | # SEAICE10 | 1 | xy | | | | | | | # SEAICE20 | 1 | xy | | | | | | | # SEAICE30 | 1 | xy | | | | | | | # SEAICE40 | 1 | xy | | | | | | | # SEAICE50 | 1 | xy | | | | | | | # SEAICE60 | 1 | xy | | | | | | | # SEAICE70 | 1 | xy | | | | | | | # SEAICE80 | 1 | xy | | | | | | | # SEAICE90 | 1 | xy | | | | | | | # SLP | 1 | xy | | | | | | | # SNODP | 1 | xy | | | | | | | # SPHU1 | 1 | xyz | C | | | | | | # SPHU2 | 1 | xyz | C | | | | | | # TMPU1 | 1 | xyz | C | | | | | | # TMPU2 | 1 | xyz | C | | | | | | # TO3 | 1 | xy | | | | | | | # TSKIN | 1 | xy | | | | | | | # ULL | 1 | xyz | C | | | | | | # VLL | 1 | xyz | C | | | | | | # Z0 | 1 | xy | | | | | | | # -------------------|-------------|-----|---|----|---|---|-----|------|-------------------------- # ------------ # Export State # ------------ # --------------------------------|----------------|-----|---|----|---|---|-----|--------------------------------- # Short | | | V |Item|Intervl| Sub | Long # Name | Units | Dim |Loc|Type| R | A |Tiles| Name # --------------------------------|----------------|-----|---|----|---|---|-----|--------------------------------- #====================== # Both GCHP and GEOS-5: #====================== # O3PPMV | ppmv | xyz | C | | | | | ozone_volume_mixing_ratio_in_ppm # OX_TEND | kg kg-1 s-1 | xyz | C | | | | | tendency_of_odd_oxygen_mixing_ratio_due_to_chemistry # H2O_TEND | kg kg-1 s-1 | xyz | C | | | | | Tendency_of_water_vapor_mixing_ratio_due_to_chemistry #=========== # GCHP only: #=========== ## OX | mol mol-1 | xyz | C | | | | | ozone_volume_mixing_ratio # O3_EXP | kg kg-1 | xyz | C | | | | | ozone_mass_mixing_ratio # DEPVEL_O3 | | xy | | | | | | # DEPFLUX_O3 | | xy | | | | | | # WETDEP_LOSS_H2O2 | | xy | | | | | | #============= # GEOS-5 only: #============= SOILNO_PULSE | 1 | xy | | | | | | Soilnox_pulse LIGHTNING_TOTAL_FLASHRATE | 1 min-1 km-2 | xy | | | | | | Lightning_flashrate LIGHTNING_INTRACLOUD_FLASHRATE | 1 min-1 km-2 | xy | | | | | | Lightning_intracloud_flashrate LIGHTNING_CLOUDGROUND_FLASHRATE | 1 min-1 km-2 | xy | | | | | | Lightning_cloudground_flashrate LIGHTNING_CLOUD_TOP | 1 | xy | | | | | | Lightning_convective_cloud_top_level CH4_EMIS_RICE | kg m-2 s-1 | xy | | | | | | CH4_emis_rice CH4_EMIS_WETLAND | kg m-2 s-1 | xy | | | | | | CH4_emis_wetland # --------------------------------|----------------|-----|---|----|---|---|-----|--------------------------------- # -------------- # Internal State # -------------- # # Note: 1) For friendlies, use "D" for dynamics, "T" for turbulence, "C" for convection, S=self (adds to export); leave blank otherwise # 2) If quantity requires no restart, put an 'x' in the No Rst column # 3) RO = Alkoxy radical, RO2 = Organic peroxy radical # ----------------|------------|-----|---|----|---|---|-----|------|----|----|---------|--------------------------------- # Short | | | V |Item|Intervl| Sub | Def | No | Ha | Friends | Long # Name | Units | Dim |Loc|Type| R | A |Tiles| ault | Rst| lo | | Name # ----------------|------------|-----|---|----|---|---|-----|------|----|----|---------|--------------------------------- #====================== # Both GCHP and GEOS-5: #====================== GCCTROPP | Pa | xy | | | | | | | | | S | tropopause_pressure_used_in_GEOS-Chem #================================================================================================ # Both GCHP and GEOS-5, but GEOS-5 does not have default values specified so commenting out GCHP: #================================================================================================ #STATE_PSC | 1 | xyz | C | | | | |0.0 | | | S | polar_stratospheric_clouds STATE_PSC | 1 | xyz | C | | | | | | | | S | polar_stratospheric_clouds DryDepNitrogen | cm-2s-1 | xy | | | | | | | | | S | dry_deposited_nitrogen WetDepNitrogen | cm-2s-1 | xy | | | | | | | | | S | wet_deposited_nitrogen #PFACTOR | 1 | xy | | | | | |1.0 | | | S | soilnox_pfactor_restart PFACTOR | 1 | xy | | | | | | | | | S | soilnox_pfactor_restart #DRYPERIOD | 1 | xy | | | | | |0.0 | | | S | soilnox_dryperiod_restart DRYPERIOD | 1 | xy | | | | | | | | | S | soilnox_dryperiod_restart #GWET_PREV | 1 | xy | | | | | |0.0 | | | S | soilnox_gwet_prev_restart GWET_PREV | 1 | xy | | | | | | | | | S | soilnox_gwet_prev_restart #DEP_RESERVOIR | kg m-3 | xy | | | | | |1e-4 | | | S | soilnox_dep_reservoir_restart DEP_RESERVOIR | kg m-3 | xy | | | | | | | | | S | soilnox_dep_reservoir_restart #T_DAVG | 1 | xy | | | | | |273.1 | | | S | megan_t_davg_restart T_DAVG | K | xy | | | | | | | | | S | megan_t_davg_restart #T_PREVDAY | 1 | xy | | | | | |273.1 | | | S | megan_t_prevday_restart T_PREVDAY | K | xy | | | | | | | | | S | megan_t_prevday_restart #LAI_PREVDAY | 1 | xy | | | | | | | | | S | megan_lai_prevday_restart LAI_PREVDAY | 1 | xy | | | | | |0.0 | | | S | megan_lai_prevday_restart #PARDR_DAVG | Wm-2 | xy | | | | | | | | | S | megan_pardr_davg_restart PARDR_DAVG | W/m2 | xy | | | | | |0.0 | | | S | megan_pardr_davg_restart #PARDF_DAVG | Wm-2 | xy | | | | | | | | | S | megan_pardf_davg_restart PARDF_DAVG | W/m2 | xy | | | | | |0.0 | | | S | megan_pardf_davg_restart #================ # GEOS-5 only: #================ H2O2AfterChem | vv-1 | xyz | C | | | | | | | | S | soluble_fraction_H2O2 SO2AfterChem | vv-1 | xyz | C | | | | | | | | S | soluble_fraction_SO2 KPPHvalue | 1 | xyz | C | | | | | | | | S | HSAVE_for_KPP SESQ_CARBDENS | kgCm-3 | xyz | C | | | | | | | | S | sesquiterpene_conc_restart # Iso_Hplus_coarse | molL-1 | xyz | C | | | | |0.0 | | | S | Isorropia_H+_concentration_coarse # Iso_Hplus_fine | molL-1 | xyz | C | | | | |0.0 | | | S | Isorropia_H+_concentration_fine # Iso_sulfate | molL-1 | xyz | C | | | | |0.0 | | | S | Isorropia_sulfate_concentratio # Iso_nitrate_coarse | molL-1 | xyz | C | | | | |0.0 | | | S | Isorropia_Na+_concentration_coarse # Iso_nitrate_fine | molL-1 | xyz | C | | | | |0.0 | | | S | Isorropia_Na+_concentration_fine # Iso_bisulfate | molL-1 | xyz | C | | | | |0.0 | | | S | Isorropia_bisulfate_concentration ### the following are not needed # Iso_acidpur | molL-1 | xyz | C | | | | |0.0 | | | S | Isorropia_acid # Iso_pH | 1 | xyz | C | | | | |0.0 | | | S | Isorropia_aerosol_pH # Iso_water | ugm-3 | xyz | C | | | | |0.0 | | | S | Isorropia_aerosol_water_concentration # ----------------|------------|-----|---|----|---|---|-----|------|----|----|---------|--------------------------------- ================================================ FILE: Interfaces/GEOS/Includes_After_Run.H ================================================ !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !INCLUDE: Includes_After_Run.H ! ! !DESCRIPTION: This include file contains the array assignments that need ! to be made BEFORE the call to the Run method of the ! GEOSCHEMchem\_GridCompMod.F90 code. These array assignments take data out ! of the import and internal states and saves them into derived-type objects ! that are used to pass information between GEOS-Chem and the ESMF interface. !\\ !\\ ! These assignments were placed into this separate include file to avoid ! bogging down the GEOSCHEMchem\_GridCompMod.F90 module. !\\ !\\ ! !REVISION HISTORY: ! 10 Oct 2012 - M. Long - Initial version, for grid-independent model ! 10 Oct 2012 - R. Yantosca - Added ProTeX headers, updated comments ! 10 Oct 2012 - R. Yantosca - Converted to F90 free-format ! 10 Oct 2012 - R. Yantosca - Added Bromine species for v9-01-03 ! 16 Oct 2012 - R. Yantosca - Changed GC_MET to State_Met ! 16 Oct 2012 - R. Yantosca - Changed GC_STATE to State_Chm ! 16 Oct 2012 - R. Yantosca - Changed GC_STATE%CSPEC to State_Chm%Species ! 16 Oct 2012 - R. Yantosca - Renamed to Includes_After_Run.H (freeform) ! 07 Mar 2013 - R. Yantosca - Now add error checks to prevent OOB errors ! 27 Oct 2014 - C. Keller - Removed species copying into internal state. ! This is only required upon finalization. ! 08 May 2015 - C. Keller - Now fill species on every (chemistry) time ! step. This is critical for checkpointing. ! 11 Dec 2018 - E. Lundgren - Change names now that stored in State_Chm ! (old -> new) ! ARCHV_H2O2s/SO2s -> H2O2/SO2AfterChem, ! ARCHV_DRY/WET_TOTN -> DryDep/WetNitrogent, ! HSAVE_FOR_KPP -> KPPHvalue ! See git history for additional changes. !EOP !------------------------------------------------------------------------------ !BOC !========================================================================= ! Pass tracers from GEOS-Chem tracers array to internal state !========================================================================= DO I = 1, SIZE(Int2Spc,1) IF ( Int2Spc(I)%ID <= 0 ) CYCLE IF ( .NOT. ASSOCIATED(Int2Spc(I)%Internal) ) THEN CYCLE ELSE Int2Spc(I)%Internal(:,:,:) = & State_Chm%Species(Int2Spc(I)%ID)%Conc(:,:,LM:1:-1) ENDIF ! testing only !if(MAPL_am_I_Root()) write(*,*) 'Copied to internal: ',I,Int2Spc(I)%ID,trim(Int2Spc(I)%Name),MINVAL(State_Chm%Species(Int2Spc(I)%ID)%Conc(:,:,LM:1:-1)),MAXVAL(State_Chm%Species(Int2Spc(I)%ID)%Conc(:,:,LM:1:-1)),SUM(State_Chm%Species(Int2Spc(I)%ID)%Conc(:,:,LM:1:-1))/IM/JM/LM State_Chm%Species(I)%Units = KG_SPECIES_PER_KG_TOTAL_AIR ENDDO !========================================================================= ! Various other archived variables needed in internal state. !========================================================================= CALL MAPL_GetPointer( INTSTATE, Ptr3D, 'H2O2AfterChem', notFoundOK=.TRUE., __RC__ ) IF ( ASSOCIATED(Ptr3D) .AND. ASSOCIATED(State_Chm%H2O2AfterChem) ) THEN Ptr3D(:,:,LM:1:-1) = State_Chm%H2O2AfterChem ENDIF Ptr3D => NULL() CALL MAPL_GetPointer( INTSTATE, Ptr3D, 'SO2AfterChem', notFoundOK=.TRUE., __RC__ ) IF ( ASSOCIATED(Ptr3D) .AND. ASSOCIATED(State_Chm%SO2AfterChem) ) THEN Ptr3D(:,:,LM:1:-1) = State_Chm%SO2AfterChem ENDIF Ptr3D => NULL() CALL MAPL_GetPointer( INTSTATE, Ptr2D, 'DryDepNitrogen', notFoundOK=.TRUE., __RC__ ) IF ( ASSOCIATED(Ptr2D) .AND. ASSOCIATED(State_Chm%DryDepNitrogen) ) THEN Ptr2D = State_Chm%DryDepNitrogen ENDIF Ptr2D => NULL() CALL MAPL_GetPointer( INTSTATE, Ptr2D, 'WetDepNitrogen', notFoundOK=.TRUE., __RC__ ) IF ( ASSOCIATED(Ptr2D) .AND. ASSOCIATED(State_Chm%WetDepNitrogen) ) THEN Ptr2D = State_Chm%WetDepNitrogen ENDIF Ptr2D => NULL() CALL MAPL_GetPointer( INTSTATE, Ptr3D, 'KPPHvalue' , notFoundOK=.TRUE., __RC__ ) IF ( ASSOCIATED(Ptr3D) .AND. ASSOCIATED(State_Chm%KPPHvalue) ) THEN Ptr3D(:,:,:) = 0.0 Ptr3D(:,:,LM:1:-1) = REAL(State_Chm%KPPHvalue(:,:,1:LM),KIND=ESMF_KIND_R4) ENDIF Ptr3D => NULL() ! Sesquiterpene concentrations. Archive internally in kgC/m3 (convert from kgC/box). CALL MAPL_GetPointer( INTSTATE, Ptr3D, 'SESQ_CARBDENS', notFoundOK=.TRUE., __RC__ ) IF ( ASSOCIATED(Ptr3D) .AND. ASSOCIATED(State_Chm%ORVCsesq) ) THEN Ptr3D(:,:,LM:1:-1) = State_Chm%ORVCsesq(:,:,1:LM) / State_Met%AIRVOL(:,:,1:LM) ENDIF Ptr3D => NULL() ! Saved field from ISORROPIA needed for computing optical properties CALL MAPL_GetPointer( INTSTATE, Ptr3D, 'AeroH2O_SNA', notFoundOK=.TRUE., __RC__ ) IF ( ASSOCIATED(Ptr3D) .AND. ASSOCIATED(State_Chm%AeroH2O) ) THEN Ptr3D(:,:,LM:1:-1) = State_Chm%AeroH2O(:,:,:,NDUST+1) ENDIF Ptr3D => NULL() CALL MAPL_GetPointer( INTSTATE, Ptr3D, 'STATE_PSC', notFoundOK=.TRUE., __RC__ ) IF ( ASSOCIATED(Ptr3D) .AND. ASSOCIATED(State_Chm%STATE_PSC) ) THEN Ptr3d(:,:,LM:1:-1) = State_Chm%STATE_PSC(:,:,:) ENDIF Ptr3D => NULL() !EOF ================================================ FILE: Interfaces/GEOS/Includes_Before_Run.H ================================================ !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !INCLUDE: Includes_After_Run.H ! ! !DESCRIPTION: This include file contains the array assignments that need ! to be made BEFORE the call to the Run method of the ! GEOSCHEMchem\_GridCompMod.F90 code. These array assignments take data out ! of the import and internal states and saves them into derived-type objects ! that are used to pass information between GEOS-Chem and the ESMF interface. !\\ !\\ ! These assignments were placed into this separate include file to avoid ! bogging down the GEOSCHEMchem\_GridCompMod.F90 module. !\\ !\\ ! !REVISION HISTORY: ! 10 Oct 2012 - M. Long - Initial version, for grid-independent model ! 10 Oct 2012 - R. Yantosca - Added ProTeX headers, updated comments ! 10 Oct 2012 - R. Yantosca - Converted to F90 free-format ! 10 Oct 2012 - R. Yantosca - Added Bromine species for v9-01-03 ! 16 Oct 2012 - R. Yantosca - Changed GC_MET to State_Met ! 16 Oct 2012 - R. Yantosca - Changed GC_STATE to State_Chm ! 16 Oct 2012 - R. Yantosca - Changed GC_STATE%CSPEC to State_Chm%Species ! 16 Oct 2012 - R. Yantosca - Renamed to Includes_After_Run.H (freeform) ! 07 Mar 2013 - R. Yantosca - Now add error checks to prevent OOB errors ! 27 Oct 2014 - C. Keller - Removed species copying into internal state. ! This is only required upon finalization. ! 08 May 2015 - C. Keller - Now fill species on every (chemistry) time ! step. This is critical for checkpointing. ! 11 Dec 2018 - E. Lundgren - Change names now that stored in State_Chm ! (old -> new) ! ARCHV_H2O2s/SO2s -> H2O2/SO2AfterChem, ! ARCHV_DRY/WET_TOTN -> DryDep/WetNitrogent, ! HSAVE_FOR_KPP -> KPPHvalue ! See git history for additional changes. !EOP !------------------------------------------------------------------------------ !BOC !========================================================================= State_Met%ALBD = ALBVF ! unitless State_Met%CLDFRC = CLDTT ! unitless State_Met%HFLUX = SH ! W/m2 State_Met%EFLUX = LHFX ! W/m2 State_Met%FRCLND = FRLAND ! unitless State_Met%FRLAND = FRLAND ! unitless State_Met%FRLANDICE = FRLANDICE ! unitless State_Met%FROCEAN = FROCEAN ! unitless State_Met%FRLAKE = FRLAKE ! unitless ! State_Met%FRSEAICE = not used State_Met%FRSNOW = ASNOW ! unitless State_Met%GWETTOP = WET1 ! unitless State_Met%GWETROOT = WET2 ! unitless ! State_Met%ITY = ITY ! unitless ! WHERE ( LAI /= MAPL_UNDEF ) ! State_Met%LAI = LAI ! unitless ! ELSEWHERE ! State_Met%LAI = 0.0e0 ! unitless ! ENDWHERE State_Met%PARDR = DRPAR ! W/m2 State_Met%PARDF = DFPAR ! W/m2 State_Met%PBLH = ZPBL ! m State_Met%TROPP = GCCTROPP / 100d0 ! Pa -> hPa ! State_Met%TO3 = TO3 ! DU ! State_Met%TO3 = GCCTO3 ! DU State_Met%TS = T2M ! K State_Met%TSKIN = TS ! K ! State_Met%SST = TS ! K ! State_Met%RADSWG = SWNDSRF ! W/m2 State_Met%SWGDN = SWNDSRF ! W/m2 State_Met%SNOMAS = SNOMAS ! kg/m2 State_Met%SNODP = SNOWDP ! m State_Met%SUNCOS = zenith ! unitless State_Met%SUNCOSmid = zenith ! unitless ! State_Met%SUNCOSmid5 = zenith ! unitless State_Met%U10M = U10M ! m/s State_Met%USTAR = USTAR ! m/s State_Met%UVALBEDO = ALBVF ! - State_Met%V10M = V10M ! m/s State_Met%Z0 = Z0H ! m State_Met%CNV_FRC = CNV_FRC ! 1 ! Calculate the Monin-Obukhov Length ! WHERE(ABS(SH) > 1.00E-32) ! State_Met%MOLENGTH(:,:) = -AIRDENS(:,:,LM) * MAPL_CP * TS * ustar**3. / (MAPL_KARMAN * MAPL_GRAV * SH) ! ELSEWHERE ! State_Met%MOLENGTH(:,:) = 1.00E+05 ! END WHERE ! Same LAI for all 50 biomes?!?? ! DO I = 1, 50 ! State_Met%XLAI (:,:,I) = State_Met%LAI ! unitless ! State_Met%XLAI2(:,:,I) = State_Met%LAI ! unitless ! ENDDO ! Treat area as 1D !State_Met%AREA_M2(:,:) = AREA ! Surface geopotential height [m] State_Met%PHIS(:,:) = ZLE(:,:,LM) ! Surface pressure State_Met%PS1_WET(:,:) = PS(:,:) * 1.0e-2 ! Pa -> hPa State_Met%PS2_WET(:,:) = PS(:,:) * 1.0e-2 ! Pa -> hPa ! ! MODIS LAI (GEOS-only. GCHP uses 3D XLAIMULTI rather than 2D input fields) ! Ptr2d => NULL() ! DO TT = 1, NSURFTYPE ! landTypeInt = TT-1 ! WRITE ( landTypeStr, '(I2.2)' ) landTypeInt ! importName = 'XLAI' // TRIM(landTypeStr) ! CALL MAPL_GetPointer ( IMPORT, Ptr2D, TRIM(importName), __RC__ ) ! State_Met%XLAI_NATIVE(:,:,TT) = Ptr2D(:,:) ! Ptr2D => NULL() ! END DO ! GCHP uses 3D field on level edges (one level per land type): ! Read MODIS leaf area index (LAI) from imports of post-processed MODIS files. ! The third dimension is land type and not level, possible to do with MAPL ! only because the # of land types is the same as # of level edges. State_Met%XLAI_NATIVE(:,:,:) = XLAIMULTI ! Get UV albedo for photolysis CALL MAPL_GetPointer ( IMPORT, Ptr2D, 'UV_ALBEDO', & notFoundOK=.TRUE., __RC__ ) If ( ASSOCIATED(Ptr2D) ) Then State_Met%UVALBEDO(:,:) = Ptr2D(:,:) Ptr2D => NULL() ENDIF !========================================================================= ! Three-dimensional fields on level edges !========================================================================= DO L = 1, LM+1 ! Reversed level index LR = LM - L + 1 DO J = 1, JM DO I = 1, IM State_Met%PEDGE(I,J,L) = PLE(I,J,LR) / 1d2 ! Pa -> hPa State_Met%PFLLSAN(I,J,L) = PFL_LSAN(I,J,LR) ! kg/m2/s State_Met%PFILSAN(I,J,L) = PFI_LSAN(I,J,LR) ! kg/m2/s State_Met%CMFMC(I,J,L) = CNV_MFC(I,J,LR) ! kg/m2/s State_Met%PFICU(I,J,L) = PFI_CN (I,J,LR) ! kg/m2/s State_Met%PFLCU(I,J,L) = PFL_CN (I,J,LR) ! kg/m2/s ENDDO ENDDO ENDDO !========================================================================= ! Three-dimensional fields on level centers !========================================================================= DO L = 1, LM ! Reversed level index LR = LM - L + 1 DO J = 1, JM DO I = 1, IM !------------------------------------------------------------------- ! "True" met fields (i.e. passed from GCM) !------------------------------------------------------------------- State_Met%AIRDEN (I,J,L) = AIRDENS(I,J,LR) ! kg/m3 State_Met%CLDF (I,J,L) = FCLD (I,J,LR) ! unitless ! State_Met%DQIDTMST(I,J,L) = DQIDT (I,J,LR) ! kg/kg/s ! State_Met%DQLDTMST(I,J,L) = DQLDT (I,J,LR) ! kg/kg/s State_Met%DQRLSAN (I,J,L) = DQRL (I,J,LR) ! kg/kg/s State_Met%DTRAIN (I,J,L) = CNV_MFD(I,J,LR) ! kg/m2/s State_Met%DQRCU (I,J,L) = DQRC (I,J,LR) ! kg/kg/s State_Met%REEVAPCN(I,J,L) = REV_CN (I,J,LR) ! kg/kg/s State_Met%REEVAPLS(I,J,L) = REV_LS (I,J,LR) & + REV_AN (I,J,LR) ! kg/kg/s State_Met%T (I,J,L) = T (I,J,LR) ! K State_Met%TMPU1 (I,J,L) = T (I,J,LR) ! K State_Met%TMPU2 (I,J,L) = T (I,J,LR) ! K IF ( ASSOCIATED( State_Met%UPDVVEL ) ) THEN IF ( ASSOCIATED(CNV_CVW) ) THEN State_Met%UPDVVEL (I,J,L) = CNV_CVW(I,J,LR) ! hPa/s ELSE State_Met%UPDVVEL (I,J,L) = -999.0d0 ENDIF ENDIF ! State_Met%MOISTQ (I,J,L) = DQDT (I,J,LR) ! State_Met%QI (I,J,L) = QITOT (I,J,LR) ! kg/kg State_Met%QL (I,J,L) = QLTOT (I,J,LR) ! kg/kg State_Met%RH (I,J,L) = RH2 (I,J,LR) * 1d2 ! unitless->[%] State_Met%SPHU (I,J,L) = Q (I,J,LR) * 1d3 ! kg/kg -> g/kg State_Met%SPHU1 (I,J,L) = Q (I,J,LR) * 1d3 ! kg/kg -> g/kg State_Met%SPHU2 (I,J,L) = Q (I,J,LR) * 1d3 ! kg/kg -> g/kg State_Met%TAUCLI (I,J,L) = TAUCLI (I,J,LR) ! unitless State_Met%TAUCLW (I,J,L) = TAUCLW (I,J,LR) ! unitless State_Met%U (I,J,L) = U (I,J,LR) ! m s-1 State_Met%V (I,J,L) = V (I,J,LR) ! m s-1 State_Met%OMEGA (I,J,L) = OMEGA (I,J,LR) ! Pa s-1 !------------------------------------------------------------------- ! Quantities derived from met fields ! NOTE: Need to populate MOISTQ eventually !------------------------------------------------------------------- ! Grid box height [m] State_Met%BXHEIGHT(I,J,L) = ZLE (I,J,LR-1) & - ZLE (I,J,LR ) ! Pressure thickness [hPa] State_Met%DELP (I,J,L) = State_Met%PEDGE (I,J,L ) & - State_Met%PEDGE (I,J,L+1 ) ! Total optical depth [unitless] State_Met%OPTD (I,J,L) = ( State_Met%TAUCLI (I,J,L ) & + State_Met%TAUCLW (I,J,L ) ) !!! * State_Met%CLDF (I,J,L ) ! Air mass in grid box [kg] State_Met%AD (I,J,L) = State_Met%AIRDEN (I,J,L ) & * State_Met%AREA_M2 (I,J ) & * State_Met%BXHEIGHT(I,J,L ) ! Grid box volume [m3] State_Met%AIRVOL (I,J,L) = State_Met%AREA_M2 (I,J ) & * State_Met%BXHEIGHT(I,J,L ) ENDDO ENDDO ENDDO !========================================================================= ! Pass all tracers from internal state to GEOS-Chem tracers array ! Species in internal state are in kg/kg total. GEOS-Chem will convert ! them to kg/kg dry internally. !========================================================================= DO I = 1, SIZE(Int2Spc,1) !if(MAPL_am_I_Root()) write(*,*) 'Copying from internal: ',I,Int2Spc(I)%ID,trim(Int2Spc(I)%Name) IF ( Int2Spc(I)%ID <= 0 ) CYCLE IF ( .NOT. ASSOCIATED(Int2Spc(I)%Internal) ) THEN CYCLE ELSE State_Chm%Species(Int2Spc(I)%ID)%Conc(:,:,LM:1:-1) = Int2Spc(I)%Internal(:,:,:) ENDIF !IF ( MAPL_am_I_Root() ) WRITE(*,*) 'Copying from internal: ',I,Int2Spc(I)%ID,MINVAL(Int2Spc(I)%Internal(:,:,:)),MAXVAL(Int2Spc(I)%Internal(:,:,:)),SUM(Int2Spc(I)%Internal(:,:,:))/IM/JM/LM State_Chm%Species(I)%Units = KG_SPECIES_PER_KG_TOTAL_AIR ENDDO !========================================================================= ! Various other archived variables needed in internal state. Eventually, ! we may copy those only on the first time step but for now do it every ! time. (ckeller, 9/16/15) !========================================================================= CALL MAPL_GetPointer( INTSTATE, Ptr3D, 'H2O2AfterChem', notFoundOK=.TRUE., __RC__ ) IF ( ASSOCIATED(Ptr3D) .AND. ASSOCIATED(State_Chm%H2O2AfterChem) ) THEN State_Chm%H2O2AfterChem = Ptr3D(:,:,LM:1:-1) ENDIF Ptr3D => NULL() CALL MAPL_GetPointer( INTSTATE, Ptr3D, 'SO2AfterChem', notFoundOK=.TRUE., __RC__ ) IF ( ASSOCIATED(Ptr3D) .AND. ASSOCIATED(State_Chm%SO2AfterChem) ) THEN State_Chm%SO2AfterChem = Ptr3D(:,:,LM:1:-1) ENDIF Ptr3D => NULL() CALL MAPL_GetPointer( INTSTATE, Ptr2D, 'DryDepNitrogen', notFoundOK=.TRUE., __RC__ ) IF ( ASSOCIATED(Ptr2D) .AND. ASSOCIATED(State_Chm%DryDepNitrogen) ) THEN State_Chm%DryDepNitrogen = Ptr2D ENDIF Ptr2D => NULL() CALL MAPL_GetPointer( INTSTATE, Ptr2D, 'WetDepNitrogen', notFoundOK=.TRUE., __RC__ ) IF ( ASSOCIATED(Ptr2D) .AND. ASSOCIATED(State_Chm%WetDepNitrogen) ) THEN State_Chm%WetDepNitrogen = Ptr2D ENDIF Ptr2D => NULL() CALL MAPL_GetPointer( INTSTATE, Ptr3D, 'KPPHvalue' , notFoundOK=.TRUE., __RC__ ) IF ( ASSOCIATED(Ptr3D) .AND. ASSOCIATED(State_Chm%KPPHvalue) ) THEN State_Chm%KPPHvalue(:,:,1:LM) = REAL(Ptr3D(:,:,LM:1:-1),KIND=ESMF_KIND_R8) ENDIF Ptr3D => NULL() ! Sesquiterpene concentrations. Convert from kgC/m3 to kgC/box. CALL MAPL_GetPointer( INTSTATE, Ptr3D, 'SESQ_CARBDENS', notFoundOK=.TRUE., __RC__ ) IF ( ASSOCIATED(Ptr3D) ) THEN State_Chm%ORVCsesq(:,:,1:LM) = Ptr3D(:,:,LM:1:-1) * State_Met%AIRVOL(:,:,1:LM) ENDIF Ptr3D => NULL() ! Saved field from ISORROPIA used for computing optical properties CALL MAPL_GetPointer( INTSTATE, Ptr3D, 'AeroH2O_SNA', notFoundOK=.TRUE., __RC__ ) IF ( ASSOCIATED(Ptr3D) ) THEN State_Chm%AeroH2O(:,:,:,NDUST+1) = Ptr3D(:,:,LM:1:-1) ENDIF Ptr3D => NULL() CALL MAPL_GetPointer( INTSTATE, Ptr3D, 'STATE_PSC', notFoundOK=.TRUE., __RC__ ) IF ( ASSOCIATED(Ptr3D) ) THEN State_Chm%STATE_PSC(:,:,:) = Ptr3D(:,:,LM:1:-1) ENDIF Ptr3D => NULL() !EOF ================================================ FILE: Interfaces/GEOS/geos_CarbonInterface.F90 ================================================ #include "MAPL_Generic.h" !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: geos_CarbonInterface ! ! !DESCRIPTION: Module to handle carbon procedures specific to GEOS, such as ! importing CO2 from GOCART or producing CO from CO2 photolysis. !\\ !\\ ! !INTERFACE: ! MODULE GEOS_CarbonInterface ! ! !USES: ! ! MAPL/ESMF USE ESMF USE MAPL_Mod USE PHYSCONSTANTS USE ESMF_CFIOFileMOD USE MAPL_CFIOMOD ! GEOS-Chem USE Precision_Mod USE ErrCode_Mod ! Error numbers USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState ! Chemistry State obj USE State_Met_Mod, ONLY : MetState ! Meteorology State obj USE State_Diag_Mod, ONLY : DgnState ! Diagnostics State obj USE State_Grid_Mod, ONLY : GrdState ! Grid State obj IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: GEOS_CarbonSetServices PUBLIC :: GEOS_CarbonInit PUBLIC :: GEOS_CarbonRunPhoto PUBLIC :: GEOS_CarbonSetConc ! !REVISION HISTORY: ! 12 Jan 2023 - C. Keller - initial version (from StratChem/Carbon_GridComp) ! See https://github.com/geoschem/geos-chem for full history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: GEOS_CarbonSetServices ! ! !DESCRIPTION: Set the necessary services !\\ !\\ ! !INTERFACE: ! SUBROUTINE GEOS_CarbonSetServices( GC, CF, RC ) ! ! !USES: ! ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ESMF_GridComp), INTENT(INOUT), TARGET :: GC ! Ref to this GridComp TYPE(ESMF_Config), INTENT(INOUT) :: CF ! GEOSCHEM*.rc ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 12 Jan 2023 - C. Keller - Initial version (refactored Chem_GridCompMod) ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! LOCAL VARIABLES: ! CHARACTER(LEN=*), PARAMETER :: myname = 'GEOS_CarbonSetServices' CHARACTER(LEN=*), PARAMETER :: Iam = myname CHARACTER(LEN=ESMF_MAXSTR) :: ImpCO2name INTEGER :: DoIt INTEGER :: STATUS ! Methane field from GEOS. ! This is not yet fully implemented. Need corresponding connectivity in Chem_GridComp. ! CALL ESMF_ConfigGetAttribute( CF, DoIt, Label="CH4_from_GEOS:", Default=0, __RC__ ) ! IF ( DoIt == 1 ) THEN ! call MAPL_AddImportSpec(GC, & ! SHORT_NAME = 'GEOS_CH4', & ! LONG_NAME = 'GEOS_CH4_dry_mixing_ratio', & ! UNITS = 'v/v', & ! DIMS = MAPL_DimsHorzVert, & ! VLOCATION = MAPL_VLocationCenter, & ! RC=STATUS ) ! _VERIFY(STATUS) ! ENDIF ! If enabled, create import field CALL ESMF_ConfigGetAttribute( CF, DoIt, Label="Import_CO2_from_GOCART:", Default=0, __RC__ ) IF ( DoIt == 1 ) THEN CALL ESMF_ConfigGetAttribute( CF, ImpCO2name, Label="GOCART_CO2_FieldName:", Default="GOCART_CO2", __RC__ ) call MAPL_AddImportSpec(GC, & SHORT_NAME = TRIM(ImpCO2name), & LONG_NAME = 'CO2_mixing_ratio', & UNITS = 'v/v_total_air', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & RC=STATUS ) _VERIFY(STATUS) ENDIF ! Set CO upper boundary condition? CALL ESMF_ConfigGetAttribute( CF, DoIt, Label="Set_CO_Mesosphere:", Default=0, __RC__ ) IF ( DoIt == 1 ) THEN CALL ESMF_ConfigGetAttribute( CF, ImpCO2name, Label="CO_Mesosphere_FieldName:", Default="CO_CMAM", __RC__ ) call MAPL_AddImportSpec(GC, & SHORT_NAME = TRIM(ImpCO2name), & LONG_NAME = 'CO', & UNITS = 'volume_mixing_ratio', & DIMS = MAPL_DimsHorzOnly, & RC=STATUS ) _VERIFY(STATUS) ENDIF _RETURN(ESMF_SUCCESS) END SUBROUTINE GEOS_CarbonSetServices !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: GEOS_CarbonInit ! ! !DESCRIPTION: Initialization routine !\\ !\\ ! !INTERFACE: ! SUBROUTINE GEOS_CarbonInit( GC, CF, State_Chm, State_Grid, RC ) ! ! !USES: ! ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ESMF_GridComp), INTENT(INOUT), TARGET :: GC ! Ref to this GridComp TYPE(ESMF_Config), INTENT(INOUT) :: CF ! GEOSCHEM*.rc TYPE(ChmState), INTENT(INOUT) :: State_Chm TYPE(GrdState), INTENT(INOUT) :: State_Grid ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 12 Jan 2023 - C. Keller - Initial version (refactored Chem_GridCompMod) ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! LOCAL VARIABLES: ! CHARACTER(LEN=*), PARAMETER :: myname = 'GEOS_CarbonInit' CHARACTER(LEN=*), PARAMETER :: Iam = myname INTEGER :: DoIt, km INTEGER :: STATUS CHARACTER(LEN=ESMF_MAXSTR) :: fnphoto CHARACTER(LEN=ESMF_MAXSTR) :: ImpCO2name, ImpCOmeso !======================================================================= ! GEOS_CarbonInit starts here !======================================================================= ! Set CO upper boundary ! ---------------------- CALL ESMF_ConfigGetAttribute( CF, DoIt, Label="Set_CO_Mesosphere:", Default=0, __RC__ ) State_Chm%COmesosphere = ( DoIt == 1 ) IF ( State_Chm%COmesosphere ) THEN CALL ESMF_ConfigGetAttribute( CF, ImpCOmeso, Label="CO_Mesosphere_FieldName:", Default="CO_CMAM", __RC__ ) State_Chm%ImpCOmeso = TRIM(ImpCOmeso) IF ( MAPL_am_I_Root() ) WRITE(*,*) 'Will get CO mesospheric upper boundary from import field '//TRIM(ImpCOmeso) ENDIF ! Import CO2 from GOCART ! ---------------------- CALL ESMF_ConfigGetAttribute( CF, DoIt, Label="Import_CO2_from_GOCART:", Default=0, __RC__ ) State_Chm%CO2fromGOCART = ( DoIt == 1 ) IF ( State_Chm%CO2fromGOCART ) THEN CALL ESMF_ConfigGetAttribute( CF, ImpCO2name, Label="GOCART_CO2_FieldName:", Default="GOCART_CO2", __RC__ ) State_Chm%ImpCO2name = TRIM(ImpCO2name) IF ( MAPL_am_I_Root() ) WRITE(*,*) 'Will get CO2 from import field '//TRIM(ImpCO2name) ENDIF ! CO2 photolysis ! -------------- ! Initialize State_Chm%numphoto = 0 km = State_Grid%NZ ! Check if we want to do this CALL ESMF_ConfigGetAttribute( CF, DoIt, Label="CO_production_from_CO2_photolysis:", Default=0, __RC__ ) IF ( DoIt == 1 ) THEN CALL ESMF_ConfigGetAttribute( CF, fnphoto, Label="CO2photolysisFile:", Default="please/provide//file.nc", __RC__ ) IF ( MAPL_am_I_Root() ) WRITE(*,*) 'CO2 photolysis enabled, read photolysis tables: '//TRIM(fnphoto) CALL readPhotTables(trim(fnphoto), RC) VERIFY_(RC) State_Chm%numphoto = 55 ENDIF _RETURN(ESMF_SUCCESS) CONTAINS SUBROUTINE readPhotTables(fileName, rc) IMPLICIT NONE ! Read tables for photolysis in GOCART ... from a NetCDF file ! ! Input parameters: ! CHARACTER(LEN=*), INTENT(IN) :: fileName ! ! Output parameters: ! INTEGER, INTENT(OUT) :: rc ! ! Restrictions: ! ASSERT that the number of pressure layers in the dataset equals km. ! ! REVISION HISTORY: ! Nielsen 11 May 2012: First crack. ! Weir 29 Jan 2021: Pilferd from StratChem ! Keller 12 Jan 2023: Making it worse by also putting it into GCC !----------------------------------------------------------------------- CHARACTER(LEN=ESMF_MAXSTR) :: Iam = "GCC::readPhotTables" TYPE(ESMF_VM) :: vm INTEGER :: comm, info, unit, status INTEGER :: dimid, i, n INTEGER :: length INTEGER, PARAMETER :: nD = 7 CHARACTER(LEN=ESMF_MAXSTR) :: dimName(nD)= (/"nsza ", "numO3 ", "layers", & "nlam ", "nts ", "nxdo ", "aqsize" /) INTEGER, PARAMETER :: nV = 7 CHARACTER(LEN=ESMF_MAXSTR) :: varName(nV)= (/"sza ", & "lambda ", "O3TAB ", "SDAT ", & "O2JDAT ", "XTAB ", "CH2O_AQ" /) rc = 0 ! Grab the virtual machine ! ------------------------ CALL ESMF_VMGetCurrent(vm, RC=status) VERIFY_(status) CALL ESMF_VMGet(vm, MPICOMMUNICATOR=comm, rc=status) VERIFY_(status) #ifdef H5_HAVE_PARALLEL CALL MPI_Info_create(info, status) VERIFY_(status) CALL MPI_Info_set(info, "romio_cb_read", "automatic", status) VERIFY_(status) #ifdef NETCDF_NEED_NF_MPIIO status = NF_OPEN_PAR(TRIM(fileName), IOR(NF_NOWRITE,NF_MPIIO), comm, info, unit) #else status = NF_OPEN_PAR(TRIM(fileName), NF_NOWRITE, comm, info, unit) #endif #else IF(MAPL_AM_I_ROOT(vm)) THEN status = NF_OPEN(TRIM(fileName), NF_NOWRITE, unit) #endif IF(status /= NF_NOERR) THEN PRINT *,'Error opening file ',TRIM(fileName), status PRINT *, NF_STRERROR(status) VERIFY_(status) END IF DO i = 1,nD status = NF_INQ_DIMID(unit, TRIM(dimName(i)), dimid) IF(status /= NF_NOERR) THEN PRINT *,"Error inquiring dimension ID for ", TRIM(dimName(i)), status PRINT *, NF_STRERROR(status) VERIFY_(status) END IF status = NF_INQ_DIMLEN(unit, dimid, n) IF(status /= NF_NOERR) THEN PRINT *,"Error inquiring dimension length for ", TRIM(dimName(i)), status PRINT *, NF_STRERROR(status) END IF SELECT CASE (i) CASE (1) State_Chm%nsza = n CASE (2) State_Chm%numO3 = n CASE (3) ASSERT_(n == km) CASE (4) State_Chm%nlam = n CASE (5) State_Chm%nts = n CASE (6) State_Chm%nxdo = n CASE (7) State_Chm%aqsize = n CASE DEFAULT END SELECT END DO #ifndef H5_HAVE_PARALLEL END IF ! MAPL_AM_I_ROOT CALL MAPL_CommsBcast(vm, State_Chm%nsza, 1, 0, RC=status) VERIFY_(status) CALL MAPL_CommsBcast(vm, State_Chm%numO3, 1, 0, RC=status) VERIFY_(status) CALL MAPL_CommsBcast(vm, State_Chm%nlam, 1, 0, RC=status) VERIFY_(status) CALL MAPL_CommsBcast(vm, State_Chm%nts, 1, 0, RC=status) VERIFY_(status) CALL MAPL_CommsBcast(vm, State_Chm%nxdo, 1, 0, RC=status) VERIFY_(status) CALL MAPL_CommsBcast(vm, State_Chm%aqSize, 1, 0, RC=status) VERIFY_(status) #endif ALLOCATE(State_Chm%sdat(State_Chm%nsza,State_Chm%numo3,km,State_Chm%nlam), STAT=status) VERIFY_(status) ALLOCATE(State_Chm%o2jdat(State_Chm%nsza,State_Chm%numo3,km), STAT=status) VERIFY_(status) ALLOCATE(State_Chm%o3_tab(State_Chm%numo3,km), STAT=status) VERIFY_(status) ALLOCATE(State_Chm%xtab(State_Chm%nlam,State_Chm%nxdo,State_Chm%nts), STAT=status) VERIFY_(status) ALLOCATE(State_Chm%sza_tab(State_Chm%nsza), STAT=status) VERIFY_(status) ALLOCATE(State_Chm%CH2O_aq(State_Chm%aqSize), STAT=status) VERIFY_(status) ALLOCATE(State_Chm%rlam(State_Chm%nlam), STAT=status) VERIFY_(status) #ifndef H5_HAVE_PARALLEL IF(MAPL_AM_I_ROOT()) THEN #endif DO i = 1,nV status = NF_INQ_VARID(unit, TRIM(varName(i)), n) IF(status /= NF_NOERR) THEN PRINT *,"Error getting varid for ", TRIM(varName(i)), status PRINT *, NF_STRERROR(status) VERIFY_(status) END IF SELECT CASE (i) CASE (1) status = NF_GET_VAR_REAL(unit, n, State_Chm%sza_tab) CASE (2) status = NF_GET_VAR_REAL(unit, n, State_Chm%rlam) CASE (3) status = NF_GET_VAR_REAL(unit, n, State_Chm%o3_tab) CASE (4) status = NF_GET_VAR_REAL(unit, n, State_Chm%sdat) CASE (5) status = NF_GET_VAR_REAL(unit, n, State_Chm%o2jdat) CASE (6) status = NF_GET_VAR_REAL(unit, n, State_Chm%xtab) CASE (7) status = NF_GET_VAR_REAL(unit, n, State_Chm%CH2O_aq) CASE DEFAULT END SELECT IF(status /= NF_NOERR) THEN PRINT *,"Error getting values for ", TRIM(varName(i)), status PRINT *, NF_STRERROR(status) VERIFY_(status) END IF END DO #ifdef H5_HAVE_PARALLEL CALL MPI_Info_free(info, status) VERIFY_(status) #else END IF ! MAPL_AM_I_ROOT length = SIZE(State_Chm%sza_tab) CALL MPI_Bcast(State_Chm%sza_tab, length, MPI_REAL, 0, comm, status) VERIFY_(status) length = SIZE(State_Chm%rlam) CALL MPI_Bcast(State_Chm%rlam, length, MPI_REAL, 0, comm, status) VERIFY_(status) length = SIZE(State_Chm%o3_tab) CALL MPI_Bcast(State_Chm%o3_tab, length, MPI_REAL, 0, comm, status) VERIFY_(status) length = SIZE(State_Chm%sdat) CALL MPI_Bcast(State_Chm%sdat, length, MPI_REAL, 0, comm, status) VERIFY_(status) length = SIZE(State_Chm%o2jdat) CALL MPI_Bcast(State_Chm%o2jdat, length, MPI_REAL, 0, comm, status) VERIFY_(status) length = SIZE(State_Chm%xtab) CALL MPI_Bcast(State_Chm%xtab, length, MPI_REAL, 0, comm, status) VERIFY_(status) CALL MAPL_CommsBcast(vm, State_Chm%CH2O_aq, State_Chm%aqsize, 0, RC=status) VERIFY_(status) #endif status = NF_CLOSE(unit) VERIFY_(status) RETURN END SUBROUTINE readPhotTables END SUBROUTINE GEOS_CarbonInit !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: GEOS_CarbonSetConc ! ! !DESCRIPTION: Sets the concentrations of CO2 and/or top-level CO based on ! values obtained via the import state !\\ !\\ ! !INTERFACE: ! SUBROUTINE GEOS_CarbonSetConc( Import, Input_Opt, State_Chm, & State_Met, State_Diag, State_Grid, RC ) ! ! !USES: ! USE UnitConv_Mod ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ESMF_State), INTENT(INOUT) :: Import ! Import State TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry object TYPE(MetState), INTENT(INOUT) :: State_Met ! Met object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics object TYPE(GrdState), INTENT(INOUT) :: State_Grid ! Grid object INTEGER, INTENT(INOUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 12 Jan 2023 - C. Keller - Initial version (refactored Chem_GridCompMod) ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! LOCAL VARIABLES: ! CHARACTER(LEN=*), PARAMETER :: myname = 'GEOS_CarbonSetConc' CHARACTER(LEN=*), PARAMETER :: Iam = myname INTEGER :: previous_units INTEGER :: I, LM, indCO2, indCO, STATUS REAL, POINTER :: CO2(:,:,:) => null() REAL, POINTER :: COmeso(:,:) => null() REAL, PARAMETER :: MWCO2 = 44.01 ! everybody knows this REAL, PARAMETER :: MWCO = 28.01 ! CO2 - 16 !======================================================================= ! GEOS_CarbonSetConc starts here !======================================================================= IF ( State_Chm%CO2fromGOCART .OR. State_Chm%COmesosphere ) THEN ! Make sure concentrations are in kg/kg total ! (this should already be the case) CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & new_units = KG_SPECIES_PER_KG_TOTAL_AIR, & previous_units = previous_units, & RC = RC ) ASSERT_(RC==GC_SUCCESS) ! Get index indCO2 = -1 indCO = -1 DO I = 1, State_Chm%nSpecies IF ( TRIM(State_Chm%SpcData(I)%Info%Name) == "CO2" ) THEN indCO2 = I ENDIF IF ( TRIM(State_Chm%SpcData(I)%Info%Name) == "CO" ) THEN indCO = I ENDIF ENDDO ! # of vertical levels LM = State_Grid%NZ ! Set CO2 concentrations IF ( State_Chm%CO2fromGOCART ) THEN ASSERT_(indCO2 > 0 ) ! Get CO2 field via import. This is expected in v/v total!! CALL MAPL_GetPointer ( Import, CO2, TRIM(State_Chm%ImpCO2name), __RC__ ) ! Pass to GEOS-Chem. Flip in vertical and convert v/v to kg/kg State_Chm%Species(indCO2)%Conc(:,:,:) = CO2(:,:,LM:1:-1) * ( MWCO2 / MAPL_AIRMW ) ENDIF IF ( State_Chm%COmesosphere ) THEN ASSERT_(indCO > 0 ) ! Get CO field via import. This is expected in v/v total CALL MAPL_GetPointer ( Import, COmeso, TRIM(State_Chm%ImpCOmeso), __RC__ ) ! Pass to GEOS-Chem. Convert v/v to kg/kg State_Chm%Species(indCO)%Conc(:,:,LM) = COmeso(:,:) * ( MWCO / MAPL_AIRMW ) ENDIF ! Convert species back to original units CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & new_units = previous_units, & RC = RC ) ASSERT_( RC == GC_SUCCESS ) ENDIF _RETURN(ESMF_SUCCESS) END SUBROUTINE GEOS_CarbonSetConc !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: GEOS_CarbonRunPhoto ! ! !DESCRIPTION: Calculates the photolysis rates (following StratChem) !\\ !\\ ! !INTERFACE: ! SUBROUTINE GEOS_CarbonRunPhoto( Input_Opt, State_Chm, State_Met, & State_Diag, State_Grid, RC ) ! ! !USES: ! USE TIME_MOD, ONLY : GET_TS_CHEM USE UnitConv_Mod USE ERROR_MOD, ONLY : SAFE_DIV ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry object TYPE(MetState), INTENT(INOUT) :: State_Met ! Met object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics object TYPE(GrdState), INTENT(INOUT) :: State_Grid ! Grid object INTEGER, INTENT(INOUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 12 Jan 2023 - C. Keller - Initial version (refactored Chem_GridCompMod) ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! LOCAL VARIABLES: ! CHARACTER(LEN=*), PARAMETER :: myname = 'GEOS_CarbonRunPhoto' CHARACTER(LEN=*), PARAMETER :: Iam = myname INTEGER :: previous_units REAL, ALLOCATABLE :: aj(:) INTEGER :: I, J, L, LM, STATUS INTEGER :: indCO, indCO2, indO3 REAL :: sza, o3col, press, temp REAL :: photj, dCOphot, tsChem REAL(fp) :: COinit, COpost, CO2conc !======================================================================= ! GEOS_CarbonRunPhoto starts here !======================================================================= ! Only do this if active IF ( State_Chm%numphoto > 0) THEN ! Convert to molec/cm3 units are molec/cm3 CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & new_units = MOLECULES_SPECIES_PER_CM3, & previous_units = previous_units, & RC = RC ) ASSERT_(RC==GC_SUCCESS) ! Chemistry time step in secods tsChem = GET_TS_CHEM() ! Get index for species: need CO, O3, and CO2 indCO = -1 indO3 = -1 indCO2 = -1 DO I = 1, State_Chm%nSpecies IF ( TRIM(State_Chm%SpcData(I)%Info%Name) == "CO" ) indCO = I IF ( TRIM(State_Chm%SpcData(I)%Info%Name) == "O3" ) indO3 = I IF ( TRIM(State_Chm%SpcData(I)%Info%Name) == "CO2" ) indCO2 = I ENDDO ASSERT_(indCO > 0 ) ASSERT_(indO3 > 0 ) ASSERT_(indCO2 > 0 ) ! Allocate local arrays allocate(aj(State_Chm%numphoto), STAT=RC) VERIFY_(RC) ! Loop over entire atmosphere LM = State_Grid%NZ DO L = 1, LM DO J = 1, State_Grid%NY DO I = 1, State_Grid%NX ! Solar Zenith Angle (radians) SZA = 0. IF ( State_Met%SUNCOSmid(I,J)<=1.0 ) SZA = ACOS(State_Met%SUNCOSmid(I,J)) ! Overhead ozone (molec cm-2) O3col = SUM( State_Chm%Species(indO3)%Conc(I,J,L:LM) & * State_Met%BXHEIGHT(I,J,L:LM)*100.0 ) ! Pressure (hPa) and Temperature (K) Press = State_Met%PMID_DRY(I,J,L) Temp = State_Met%T(I,J,L) ! Calculate photolysis rates (s-1) a la StratChem call jcalc4(L, SZA, O3col, Press, Temp, aj, State_Chm) photJ = aj(12) ! Get CO species concentration (molec cm-3) COinit = State_Chm%Species(indCO)%Conc(I,J,L) ! Get CO2 (molec cm-3) CO2conc = State_Chm%Species(indCO2)%Conc(I,J,L) ! production rate dCOphot = photJ*CO2conc ! Update CO concentration COpost = COinit + tsChem*dCOphot ! Add back to concentration array State_Chm%Species(indCO)%Conc(I,J,L) = COpost ! Add to diagnostics if requested IF ( State_Diag%Archive_CO2photrate ) THEN State_Diag%CO2photrate(I,J,L) = photJ ENDIF IF ( State_Diag%Archive_COincCO2phot ) THEN State_Diag%COincCO2phot(I,J,L) = SAFE_DIV( COpost, COinit, 1.0_fp, 1.0_fp ) - 1.0_fp ENDIF ENDDO ENDDO ENDDO ! Convert species back to original units CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & new_units = previous_units, & RC = RC ) ASSERT_( RC == GC_SUCCESS ) ! Cleanup IF ( ALLOCATED(aj) ) DEALLOCATE(aj) ENDIF _RETURN(ESMF_SUCCESS) CONTAINS SUBROUTINE interp_s(k,sza,o3column,s,jo2,State_Chm) ! ---------------------------------------------------------------------------- ! NAME: ! interp_s ! ! PURPOSE: ! Interpolate S values for each wavelength in table to specified O3 ! column and zenith angle ! ! INPUTS: ! k Current layer number ! szaRad Solar zenith angle [radians] ! o3column Overhead o3 column value [cm^{-2}] ! State_Chm The GOCART::CO grid component, which contains ! sza_tab Solar zenith angle table ! o3_tab Overhead O3 values table ! sdat Radiative source function ! o2jdat Table of J(O2) values ! ! OUTPUTS: ! s S value for each wavelength at current k, interpolated to ! the given o3column and sza ! jo2 J(O2) values interpolated as above ! ! ! PROCEDURE: ! Bi-linear interpolation, for sza > 94 s=0, for O3 out of range use min/max ! ! MODIFICATION HISTORY: ! 25 Aug 1993 Kawa ! 10 Jul 1996 Kawa For 28 levels and to handle J(O2) separately ! 11 May 2012 Nielsen Accomodation for GEOS-5 FV cubed release ! 30 Jan 2021 Weir Copied from StratChem ! ---------------------------------------------------------------------------- IMPLICIT NONE TYPE(ChmState), INTENT(IN) :: State_Chm ! Grid Component INTEGER, INTENT(IN) :: k REAL, INTENT(IN) :: sza, o3column REAL, INTENT(OUT) :: s(State_Chm%nlam), jo2 INTEGER :: ijj, ik, ikk, ikkm, il, is REAL :: omt, omu, t, u REAL, PARAMETER :: PI = 3.14159265 ! For each input solar zenith angle, find the first element of State_Chm%sza_tab that ! is greater. Use this element and previous one to determine the interpolated value. ! ----------------------------------------------------------------------------------- DO is = 1,State_Chm%nsza ijj = is IF(State_Chm%sza_tab(is) > sza) EXIT ENDDO ! Zenith angle test ! ----------------- IF(sza > State_Chm%sza_tab(State_Chm%nsza)) THEN ! Cell is dark, set s and jo2=0 ! ----------------------------- s(1:State_Chm%nlam) = 0. jo2 = 0. ELSE ! Cell is illuminated ! ------------------- t = (sza-State_Chm%sza_tab(ijj-1))/(State_Chm%sza_tab(ijj)-State_Chm%sza_tab(ijj-1)) omt = 1.-t ! For each overhead O3 column, find the first element in State_Chm%o3_tab that is ! greater. Use this element and previous one to determine the interpolated value. ! ------------------------------------------------------------------------------- DO is = 1,State_Chm%numo3 ikk = is IF(State_Chm%o3_tab(is,k) > o3column) EXIT ENDDO ikkm = ikk-1 IF(ikk > 1 .AND. o3column <= State_Chm%o3_tab(State_Chm%numo3,k)) THEN u = (o3column-State_Chm%o3_tab(ikkm,k))/(State_Chm%o3_tab(ikk,k)-State_Chm%o3_tab(ikkm,k)) omu = 1.-u ! Do bilinear interpolation for each wavelength. ! ---------------------------------------------- DO il = 1,State_Chm%nlam s(il) = omt*omu*State_Chm%sdat(ijj-1,ikkm,k,il)+t*omu*State_Chm%sdat(ijj,ikkm,k,il)+ & t*u*State_Chm%sdat(ijj,ikk,k,il)+omt*u*State_Chm%sdat(ijj-1,ikk,k,il) ENDDO jo2 = omt*omu*State_Chm%o2jdat(ijj-1,ikkm,k)+t*omu*State_Chm%o2jdat(ijj,ikkm,k)+ & t*u*State_Chm%o2jdat(ijj,ikk,k)+omt*u*State_Chm%o2jdat(ijj-1,ikk,k) ! Extrapolate ahead of table ! -------------------------- ELSE IF (ikk == 1) THEN DO il = 1,State_Chm%nlam s(il) = omt*State_Chm%sdat(ijj-1,1,k,il)+t*State_Chm%sdat(ijj,1,k,il) ENDDO jo2 = omt*State_Chm%o2jdat(ijj-1,1,k)+t*State_Chm%o2jdat(ijj,1,k) ! Extrapolate beyond table ! ------------------------ ELSE DO il = 1,State_Chm%nlam s(il) = omt*State_Chm%sdat(ijj-1,State_Chm%numo3,k,il)+t*State_Chm%sdat(ijj,State_Chm%numo3,k,il) END DO jo2 = omt*State_Chm%o2jdat(ijj-1,State_Chm%numo3,k)+t*State_Chm%o2jdat(ijj,State_Chm%numo3,k) ENDIF ENDIF RETURN END SUBROUTINE interp_s SUBROUTINE jcalc4(k,szan,o3column,press,kel,aj,State_Chm) ! --------------------------------------------------------------------------------- ! NAME: jcalc4 ! PURPOSE: ! Calculate photolysis rates ! INPUT: ! k Current layer number ! levels Number of layers ! szan Solar zenith angle (radians) ! o3column Overhead O3 values ! press Mid-layer pressure (hPa) ! kel Mid-layer temperature (K) ! OUTPUT: ! aj Array of photolysis rates ! RESTRICTIONS: ! Currently set up for 23-J set (see var State_Chm%nxdo) ! REQUIRED ROUTINES: ! interp_s ! MODIFICATION HISTORY: ! 26 Aug 1993 Kawa Created ! 23 Nov 1993 Kawa Remade xtab to do multiplication by solar flux beforehand ! and removed inputs. ! 25 Feb 1994 Add 3 additional Js, incl N2O ! 18 Sep 1995 Add 2 additional Js, up to 22, and do CH2O special ! 13 May 1996 Crum Removed fossils, move toward Fortran 90 ! 10 Jul 1996 Modified to handle J(O2) separately and use 28 levels ! 1 Apr 2009 Nielsen GEOS-5 form with standardized SC_GridComp interface. ! 1 Jun 2009 Nielsen Updated to JPL 2006 ! 12 Dec 2010 Nielsen Updated to JPL 2010 following Luke Oman's testing. ! 11 May 2012 Nielsen Accomodation for GEOS-5 FV cubed release ! 3 Jun 2015 Liang Updated to the new 50-slot table with addition of halons, ! HCFCs, and 5 VSLSs ! numphoto is now updated to 52 ! 30 Jan 2021 Weir Copied from StratChem ! ! WARNING: Photolysis reaction rate numbers 38-42 are calculated in MESO_PHOT. ! --------------------------------------------------------------------------------- IMPLICIT NONE INTEGER, PARAMETER :: DBL = KIND(0.00D+00) TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Grid Component INTEGER, INTENT(IN) :: k REAL, INTENT(IN) :: szan, o3column, press, kel ! REAL(KIND=DBL), INTENT(OUT) :: aj(State_Chm%numphoto) ! bweir: demoted to single REAL, INTENT(OUT) :: aj(State_Chm%numphoto) INTEGER :: ilam,indt,ix REAL :: alpha300, alphat, jo2, rjs(State_Chm%nxdo), q1, q2, r1mq1 REAL :: s(State_Chm%nlam), sx(2,State_Chm%nlam), tfac, wvl ! Start with a clean slate ! ------------------------ aj(1:State_Chm%numphoto) = 0. ! Interpolate radiative flux function values to model conditions ! -------------------------------------------------------------- CALL interp_s(k,szan,o3column,s,jo2,State_Chm) indt = kel-148.5 indt = MAX(1,indt) indt = MIN(indt,200) ! cakelle2: comment stuff not needed for CO2 photolysis... !!!! Preliminaries for CH2O quantum yield dependence on m, T, wavelength !!!! ------------------------------------------------------------------- !!! tfac = (kel-80.0)/80.0 !!! !!! DO ilam=1,State_Chm%nlam !!! ZeroS: IF(s(ilam) == 0.) THEN !!! sx(1,ilam) = 0.00 !!! sx(2,ilam) = 0.00 !!! ELSE !!! !!! wvl = State_Chm%rlam(ilam)*0.10 !!! !!! IF(wvl < 250.00) THEN !!! q1 = 0.24 !!! ELSE IF(wvl >= 339.00) THEN !!! q1 = 0.00 !!! ELSE !!! q1 = State_Chm%CH2O_aq(1) + State_Chm%CH2O_aq(2)*wvl + & !!! State_Chm%CH2O_aq(3)*wvl*wvl + & !!! State_Chm%CH2O_aq(4)*wvl*wvl*wvl + & !!! State_Chm%CH2O_aq(5)*wvl*wvl*wvl*wvl !!! ENDIF !!! !!! r1mq1 = 1./(1.-q1) !!! !!! IF(wvl < 330.00) THEN !!! q2 = State_Chm%xtab(ilam,22,indt) !!! ELSE IF(wvl > 360.00) THEN !!! q2 = 0.00 !!! ELSE !!! alpha300 = 1.00E-03*(1./State_Chm%xtab(ilam,22,1)-r1mq1) !!! alphat = alpha300*(1.+0.05*(wvl-329.)*((300.-kel)/80.)) !!! q2 = 1.00/(r1mq1+alphat*press) !!! ENDIF !!! !!! IF(wvl .LT. 250.00) q2=0.5 !!! !!! sx(2,ilam) = s(ilam)*State_Chm%xtab(ilam,21,indt)*q2 !!! sx(1,ilam) = s(ilam)*State_Chm%xtab(ilam,21,indt)*q1 !!! ENDIF ZeroS !!! ENDDO !!! !!!! J(BrONO2) through J(OCLO) !!!! ------------------------- !!! DO ix=1,14 !!! rjs(ix) = 0. !!! !!! DO ilam=1,State_Chm%nlam !!! rjs(ix) = rjs(ix)+s(ilam)*State_Chm%xtab(ilam,ix,indt) !!! ENDDO !!! ENDDO !!! !!!! J(O2) !!!! ----- !!! rjs(15) = jo2 !!! !!!! J(O3_O1D) through J(N2O) !!!! ------------------------ !!! DO ix=16,20 !!! rjs(ix) = 0. !!! !!! DO ilam=1,State_Chm%nlam !!! rjs(ix) = rjs(ix)+s(ilam)*State_Chm%xtab(ilam,ix,indt) !!! ENDDO !!! ENDDO !!! !!!! J(CH2O) !!!! ------- !!! rjs(21) = 0. !!! rjs(22) = 0. !!! DO ilam=1,State_Chm%nlam !!! rjs(21) = rjs(21)+sx(1,ilam) !!! rjs(22) = rjs(22)+sx(2,ilam) !!! ENDDO ! J(CO2 -> CO + O) through xH1211 ! ------------------------------- !!! DO ix=23,State_Chm%nxdo ix=23 rjs(ix) = 0. DO ilam=1,State_Chm%nlam rjs(ix) = rjs(ix)+s(ilam)*State_Chm%xtab(ilam,ix,indt) ENDDO !!! ENDDO ! --------------------------------------------------------------- ! Order photolysis rates to match order in full chemistry model. ! Sort rjs into CTM photolysis rate array, aj. Order of rjs: ! ! 1-J(BrONO2) ! 2-J(BrO) ! 3-J(Cl2O2) ! 4-J(ClONO2) ! 5-J(H2O2) ! 6-J(HCl) ! 7-J(HNO3) ! 8-J(HO2NO2) ! 9-J(HOCl) ! 10-J(N2O5) ! 11-J(NO2) ! 12-J(NO3_NO) ! 13-J(NO3_NO2) ! 14-J(OClO) ! 15-J(O2) ! 16-J(O3_O1D) ! 17-J(O3_3P) ! 18-J(HOBr) ! 19-J(CH3OOH) ! 20-J(N2O) ! 21-J(CH2O_HCO) ! 22-J(CH2O_CO) ! 23-J(CO2 -> CO + O) ! 24-xCFC-11 ! 25-xCFC-12 ! 26-xCCl4 ! 27-xCH3CCl3 ! 28-xHCFC-22 ! 29-xCFC-113 ! 30-xCH3Cl ! 31-xCH3Br ! 32-xH1301 ! 33-xH1211 ! 34-xH1202 ! 35-xH2402 ! 36-xCHBr3 ! 37-xCH2Br2 ! 38-xCH2ClBr ! 39-xCHClBr2 ! 40-xCHCl2Br ! 41-xHCFC-141b ! 42-xHCFC-142b ! 43-xCFC-114 ! 44-xCFC-115 ! 45-xOCS ! 46- ! 47- ! 48- ! 49- ! 50- ! --------------------------------------------------------------- ! --------------------------------------------------------------- ! Solar cycle goes here when ready ! aj( 1) = rjs(15)*State_Chm%s_cycle(3,State_Chm%iscyr) ! ---------------------------------------------------------------- !!! aj( 1) = rjs(15) !!! aj( 2) = rjs(16) !!! aj( 3) = rjs(17) !!!! H2O !!!! --- !!! aj( 4) = 0. !!! aj( 5) = rjs(13) !!! aj( 6) = rjs(7) !!! aj( 7) = rjs(11) !!! aj( 8) = rjs(5) !!! aj( 9) = rjs(10) !!! aj(10) = rjs(21) !!! aj(11) = rjs(22) aj(12) = rjs(23) !!! aj(13) = rjs(19) !!! aj(14) = rjs(20) !!! aj(15) = rjs(4) !!! aj(16) = 0. !!! aj(17) = rjs(12) !!! aj(18) = rjs(6) !!! aj(19) = 0. !!! !!!! CH3Br(20) H1301(21) H12_24(22) !!!! ------------------------------ !!! aj(20) = rjs(31) !!! aj(21) = rjs(32) !!! aj(22) = rjs(33) !!! aj(23) = rjs(9) !!! aj(24) = rjs(8) !!! aj(25) = rjs(18) !!! aj(26) = 0. !!! aj(27) = rjs(2) !!! aj(28) = rjs(1) !!! !!!! F11(29) F12(30) CCl4(31) CHCCl3(32) HCFC(33) F113(34) CH3Cl(35) !!!! --------------------------------------------------------------- !!! aj(29) = rjs(24) !!! aj(30) = rjs(25) !!! aj(31) = rjs(26) !!! aj(32) = rjs(27) !!! aj(33) = rjs(28) !!! aj(34) = rjs(29) !!! aj(35) = rjs(30) !!! aj(36) = rjs(3) !!! aj(37) = rjs(14) !!! !!!! ------------------------------------------ !!!! WARNING: Photolysis reaction rate !!!! numbers 38-42 are calculated in MESO_PHOT. !!!! ------------------------------------------ !!!! Add aj(43) which is J(Cl2O2) for partitioning but not Ox loss !!!! which is aj(36). In lookup table J(Cl2O2) is J*qy where qy is 0.8 !!!! so multiply by 1.25 to equal J and used in part.F and partest.F !!! !!! aj(43) = rjs(3)*1.25 !!! !!!! QingLiang -- 06/03/2015 !!!! CHBr3(44) CH2Br2(45) CH2BrCl(46) CHBrCl2(47) CHBr2Cl(48) !!! aj(44) = rjs(36) !!! aj(45) = rjs(37) !!! aj(46) = rjs(38) !!! aj(47) = rjs(39) !!! aj(48) = rjs(40) !!! !!!! QingLiang -- 06/03/2015 !!!! Add two new halons: H-1202 (49) H2402 (50) !!!! and two new HCFCs: HCFC-141b (51) HCFC-142b (52) !!! aj(49) = rjs(34) !!! aj(50) = rjs(35) !!! aj(51) = rjs(41) !!! aj(52) = rjs(42) !!! !!!! QingLiang -- 02/05/2016 !!!! Add CFC-114 and CFC-115 !!!! Add OCS for GOCART module !!! aj(53) = rjs(43) !!! aj(54) = rjs(44) !!! aj(55) = rjs(45) !!!! aj(53) = rjs(34) !!!! aj(54) = rjs(34) !!!! aj(55) = rjs(34) RETURN END SUBROUTINE jcalc4 END SUBROUTINE GEOS_CarbonRunPhoto !EOC END MODULE GEOS_CarbonInterface ================================================ FILE: Interfaces/GEOS/geos_TaggedSpecies.F90 ================================================ #include "MAPL_Generic.h" !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: geos_TaggedSpecies ! ! !DESCRIPTION: Module with routines and variables to handle tagged species. ! For now, this module only covers tagged NO(x). It can handle up to 100 ! individual tagged NO species. The number of tagged species is specified ! in the input file 'GEOSChem_TaggedNOx.rc'. If partner_tag is enabled, a ! tagged NO2 species is also used and tagging will be done as NOx (NO+NO2). ! The tagged species names are hardcoded to 'NOTAG' and NO2TAG', ! respectively. To run with the tagged species, they need to be added to ! the list of advected species in geoschem_config.yaml. Also, for each ! tagged species, there needs to be corresponding entry in the species ! database file (species_database.yml), e.g.: ! !NOTAG1: ! Background_VV: 1.0e-30 ! Formula: 'NO' ! FullName: Nitrogen oxide tag 1 ! Is_Advected: true ! Is_Gas: true ! Is_Photolysis: false ! MW_g: 30.01 ! !NO2TAG1: ! Background_VV: 1.0e-30 ! DD_F0: 0.1 ! DD_Hstar: 1.0e-2 ! Formula: NO2 ! FullName: Nitrogen dioxide tag 1 ! Is_Advected: true ! Is_DryDep: true ! Is_Gas: true ! Is_Photolysis: false ! MW_g: 46.01 ! ! Chemistry prod/loss rates are inherited from the parent species (NO/NO2), ! all other processes are performed at the tagged species level. Emissions ! for each tagged species need to be assigned in the HEMCO configuration ! file. For example, to assign NO biomass burning emissions to tagged species ! #1 (NOTAG1): !0 QFED_NO_TF_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_no.006.$YYYY$MM$DD.nc4 biomass_tf 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s NO 75/311/545/592 8 1 !0 QFED_NOT1_TF_SFC - - - - - - NOTAG1 75/311/545/592 8 1 ! !\\ !\\ ! !INTERFACE: ! MODULE GEOS_TaggedSpecies ! ! !USES: ! ! MAPL/ESMF USE ESMF USE MAPL_Mod ! GEOS-Chem stuff USE Precision_Mod USE ErrCode_Mod ! Error numbers USE PHYSCONSTANTS USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState, Ind_ ! Chemistry State obj USE State_Diag_Mod, ONLY : DgnState ! Diagnostics State obj IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: Init_TaggedSpecies PUBLIC :: Run_TaggedSpecies PUBLIC :: Finalize_TaggedSpecies ! ! !PRIVATE MEMBER FUNCTIONS: ! ! ! !PRIVATE TYPES: ! ! Tagged tracers: CHARACTER(LEN=128), PARAMETER :: TaggedConfigFile = 'GEOSChem_TaggedNOx.rc' INTEGER, PARAMETER :: MaxTag = 100 INTEGER :: nTagged INTEGER, ALLOCATABLE :: TagID(:) ! For Tagged NO INTEGER, ALLOCATABLE :: ParentID_GCC(:) INTEGER, ALLOCATABLE :: ParentID_KPP(:) INTEGER, ALLOCATABLE :: TagIDb(:) ! For Tagged NO2 INTEGER, ALLOCATABLE :: ParentIDb_GCC(:) INTEGER, ALLOCATABLE :: ParentIDb_KPP(:) ! ! !REVISION HISTORY: ! 19 Mar 2024 - C. Keller / P. Wales - brought into GCv14 from v12 ! See https://github.com/geoschem/geos-chem for full history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init_TaggedSpecies ! ! !DESCRIPTION: Initialize tagged species chemistry by reading the information ! from GEOSChem_TaggedNOx.rc !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init_TaggedSpecies( Input_Opt, State_Chm, State_Diag, RC ) ! ! !USE: ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(OptInput) :: Input_Opt TYPE(ChmState) :: State_Chm TYPE(DgnState) :: State_Diag INTEGER, INTENT(INOUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 19 Mar 2024 - C. Keller / P. Wales - brought into GCv14 from v12 ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! LOCAL VARIABLES: ! TYPE(ESMF_Config) :: tagCF ! ESMF Config obj LOGICAL :: FileExists CHARACTER(LEN=255) :: ParentName, ParentNameb CHARACTER(LEN=64) :: TagName, TagNameb INTEGER :: KppId, TagInd, N, PartnerTag __Iam__('Init_TaggedSpecies') !-------------------------------------------------------------------- ! Initialize tagged tracer chemistry !-------------------------------------------------------------------- ! Initialize nTagged = 0 TagName = 'NaN' ParentName = 'NO' ! eventually allow this to be read in as a list TagNameb = 'NaN' ParentNameb = 'NO2' ! chem that cycles with ParentName ! Check if file exists INQUIRE( FILE=TRIM(TaggedConfigFile), EXIST=FileExists ) ! Do the following only if file exits IF ( FileExists ) THEN ! Verbose IF ( Input_Opt%amIRoot ) THEN WRITE(*,*) 'Reading tagged NOx tracer information from '//TRIM(TaggedConfigFile) ENDIF tagCF = ESMF_ConfigCreate( __RC__ ) Call ESMF_ConfigLoadFile(tagCF, TRIM(TaggedConfigFile), __RC__ ) Call ESMF_ConfigGetAttribute(tagCF, PartnerTag, Label = 'partner_tag:', & Default = 0, __RC__ ) Call ESMF_ConfigGetAttribute(tagCF, nTagged, Label ='nchem_tag:', & Default = 0, __RC__ ) ASSERT_( nTagged <= MaxTag ) IF ( nTagged > 0) THEN ! Now that we know ntagged, can allocate vector arrays ALLOCATE(TagID(nTagged), ParentID_GCC(nTagged), ParentID_KPP(nTagged), & TagIDb(nTagged), ParentIDb_GCC(nTagged), ParentIDb_KPP(nTagged)) ! Get GEOS-Chem and KPP index of the parent species. This is currently hardcoded ! to be NO everywhere, so can do it outside of the nTagged loop below ParentID_GCC(:) = Ind_(TRIM(ParentName)) ASSERT_(ParentID_GCC(1)>0) DO KppID = 1, State_Chm%nKppSpc IF ( State_Chm%Map_KppSpc(KppId) == ParentID_GCC(1) ) THEN ParentID_KPP(:) = KppID EXIT ENDIF ENDDO ! Make sure that KPP parent ID is valid ASSERT_(ParentID_KPP(1)>0) ! Get GEOS-Chem and KPP index of the parent species for the partner tag. ! This is currently hardcoded to be NO2 everywhere, so can do it outside ! of the nTagged loop below IF ( PartnerTag > 0) THEN ParentIDb_GCC(:) = Ind_(TRIM(ParentNameb)) ASSERT_(ParentIDb_GCC(1)>0) DO KppID = 1, State_Chm%nKppSpc IF ( State_Chm%Map_KppSpc(KppId) == ParentIDb_GCC(1) ) THEN ParentIDb_KPP(:) = KppID EXIT ENDIF ENDDO ASSERT_(ParentIDb_KPP(1)>0) ENDIF ! Loop over all tagged species and assign species IDs DO TagInd = 1, nTagged ! Species names are currently hardcoded to NO_TAG1, NO_TAG2, etc. WRITE(TagName,"(A5,I0)") "NOTAG", TagInd N = Ind_(TRIM(TagName)) IF ( N > 0 ) THEN TagID(TagInd) = N IF ( Input_Opt%amIRoot ) THEN WRITE(*,*) 'Tagged species: will apply chem P/L rates of '//TRIM(ParentName)//' to '//TRIM(TagName) ENDIF ! Check for partner tag, hardcoded to NO2_TAG1, NO2_TAG2, etc. IF (PartnerTag > 0) THEN WRITE(TagNameb,"(A6,I0)") "NO2TAG", TagInd TagIDb(TagInd) = Ind_(TRIM(TagNameb)) IF ( Input_Opt%amIRoot ) THEN WRITE(*,*) 'Tagged species: will use partner species '//TRIM(TagNameb)//' for '//TRIM(TagName) ENDIF ENDIF ENDIF ENDDO ENDIF ! nTagged>0 ENDIF ! FileExists ! All done RETURN_(ESMF_SUCCESS) END SUBROUTINE Init_TaggedSpecies !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Run_TaggedSpecies ! ! !DESCRIPTION: Run tagged species chemistry. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Run_TaggedSpecies( I, J, L, C, PRESS, TEMP, State_Chm, RC ) ! ! !USE: ! USE GcKpp_Parameters USE ERROR_MOD ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I,J,L REAL(dp), INTENT(IN) :: C(NSPEC) REAL(dp), INTENT(IN) :: PRESS REAL(dp), INTENT(IN) :: TEMP TYPE(ChmState) :: State_Chm INTEGER, INTENT(INOUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 19 Mar 2024 - C. Keller / P. Wales - brought into GCv14 from v12 ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! LOCAL VARIABLES: ! INTEGER :: N, itagID, SpcID, KppID, iTagIDb, SpcIDb, KppIDb REAL(fp) :: Tag0, Tag1, Parent0, Parent1, Prat, TagThres, NOxrat __Iam__('Run_TaggedSpecies') !-------------------------------------------------------------------- ! Run tagged tracer chemistry !-------------------------------------------------------------------- !===================================================================== ! Check for tagged tracers and adjust those before updating the ! Species arrays !===================================================================== IF ( nTagged > 0 ) THEN ! Threshold is 1.E-14 mol/mol, convert to molecular density ! density at STP * 298 K / 1013 hPa = 7.24E4 TagThres = 7.24e4_fp * PRESS / TEMP DO N = 1, nTagged iTagID = TagID(N) SpcID = ParentID_GCC(N) KppID = ParentID_KPP(N) iTagIDb = TagIDb(N) SpcIDb = ParentIDb_GCC(N) KppIDb = ParentIDb_KPP(N) !!! If there is a partner compound for iTagID IF ( iTagIDb > 0) THEN Tag0 = State_Chm%Species(iTagID)%Conc(I,J,L) + & State_Chm%Species(iTagIDb)%Conc(I,J,L) Parent0 = State_Chm%Species(SpcID)%Conc(I,J,L) + & State_Chm%Species(SpcIDb)%Conc(I,J,L) IF ( Tag0 > TagThres .and. Parent0 > TagThres) THEN Prat = SAFE_DIV( Tag0, Parent0, 1.0_fp, 1.0_fp, 0.0_fp ) Prat = MAX(MIN(Prat,1.0),0.0) Parent1 = REAL(MAX(C(KppID),0.0_dp) + MAX(C(KppIDb),0.0_dp),kind=fp) NOxrat = SAFE_DIV(MAX(C(KppID),0.0_dp), Parent1, 1.0_fp, & 1.0_fp, 0.0_fp ) NOxrat = MAX(MIN(NOxrat,1.0),0.0) Tag1 = REAL(Tag0 + ( Parent1 - Parent0 ) * Prat, kind=fp) State_Chm%Species(iTagID)%Conc(I,J,L) = MAX(Tag1 * NOxrat, 0.0_fp) State_Chm%Species(iTagIDb)%Conc(I,J,L) = MAX(Tag1 * (1.0_fp - NOxrat), & 0.0_fp) ELSE State_Chm%Species(iTagID)%Conc(I,J,L) = 0.0_fp State_Chm%Species(iTagIDb)%Conc(I,J,L) = 0.0_fp ENDIF ! only scale iTagID ELSE Tag0 = State_Chm%Species(iTagID)%Conc(I,J,L) Parent0 = State_Chm%Species(SpcID)%Conc(I,J,L) IF ( Tag0 > TagThres .and. Parent0 > TagThres) THEN Prat = SAFE_DIV( Tag0, Parent0, 1.0_fp, 1.0_fp, 0.0_fp ) Prat = MAX(MIN(Prat,1.0),0.0) Parent1 = REAL(MAX(C(KppID),0.0_dp),kind=fp) State_Chm%Species(iTagID)%Conc(I,J,L) = Tag0 + ( Parent1 - Parent0 ) * Prat State_Chm%Species(iTagID)%Conc(I,J,L) = MAX(State_Chm%Species(iTagID)%Conc(I,J,L), & 0.0_fp) ELSE State_Chm%Species(iTagID)%Conc(I,J,L) = 0.0_fp ENDIF ENDIF ENDDO ENDIF ! All done RETURN_(ESMF_SUCCESS) END SUBROUTINE Run_TaggedSpecies !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Finalize_TaggedSpecies ! ! !DESCRIPTION: Finalize tagged species arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Finalize_TaggedSpecies( RC ) ! ! !USE: ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 19 Mar 2024 - C. Keller / P. Wales - brought into GCv14 from v12 ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! LOCAL VARIABLES: ! __Iam__('Finalize_TaggedSpecies') IF ( ALLOCATED(TagID ) ) DEALLOCATE(TagID) IF ( ALLOCATED(ParentID_GCC ) ) DEALLOCATE(ParentID_GCC) IF ( ALLOCATED(ParentID_KPP ) ) DEALLOCATE(ParentID_KPP) IF ( ALLOCATED(TagIDb ) ) DEALLOCATE(TagIDb) IF ( ALLOCATED(ParentIDb_GCC) ) DEALLOCATE(ParentIDb_GCC) IF ( ALLOCATED(ParentIDb_KPP) ) DEALLOCATE(ParentIDb_KPP) ! All done RETURN_(ESMF_SUCCESS) END SUBROUTINE Finalize_TaggedSpecies !EOC END MODULE GEOS_TaggedSpecies ================================================ FILE: Interfaces/GEOS/geos_aerocoupler.F90 ================================================ #include "MAPL_Generic.h" !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: geos_aerocupler ! ! !DESCRIPTION: Module with routines and variables to couple GEOS-Chem aerosols ! with GEOS !\\ !\\ ! !INTERFACE: ! MODULE GEOS_AeroCoupler ! ! !USES: ! ! MAPL/ESMF USE ESMF USE MAPL_Mod USE Chem_Mod ! GEOS-Chem USE Precision_Mod USE ErrCode_Mod ! Error numbers USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState, Ind_ ! Chemistry State obj USE State_Met_Mod, ONLY : MetState ! Meteorology State obj USE State_Diag_Mod, ONLY : DgnState ! Diagnostics State obj USE State_Grid_Mod, ONLY : GrdState ! Grid State obj IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: GEOS_FillAeroBundle PUBLIC :: GEOS_AeroSetServices PUBLIC :: GEOS_AeroInit PUBLIC :: GEOS_AerosolOptics ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: FillAeroDP_ ! ! !PUBLIC TYPES ! ! ! !PRIVATE TYPES: ! ! Mie table TYPE(Chem_Mie) :: geoschemMieTable(2) INTEGER, PARAMETER :: instanceComputational = 1 ! GEOS-5 only (also in gchp_providerservices_mod but don't use that yet): ! List here GEOS-Chem tracer names and corresponding names to be assigned ! to the AERO bundle (if GC is the AERO provider). The names in the AERO ! bundle must be the names that are expected by the irradiation component: ! - OCphobic, OCphilic, BCphobic, and BCphilic for hydrophobic and hydrophilic ! organic and black carbon, respectively ! - SO4 for SO4 ! - du001 - du005 for the following five dust bins (see DU_GridComp.rc in ! GOCART): ! radius_lower: 0.1 1.0 1.8 3.0 6.0 ! radius_upper: 1.0 1.8 3.0 6.0 10.0 ! ! The GEOS-Chem dust bins are: ! Reff: 0.7 1.4 2.4 4.5 ! Those become simply mapped onto the GOCART dust bins 1-4 ! (du001 ... du004). ! ! - ss001-ss005 for the following five sea salt aerosol bins ! (see SS_GridComp.rc ! in GOCART): ! radius_lower: 0.03 0.1 0.5 1.5 5.0 ! radius_upper: 0.1 0.5 1.5 5.0 10.0 ! ! The GEOS-Chem sea salt aerosols are (SALA and SALC): ! radius_lower: 0.01 0.5 ! radius_upper: 0.5 8.0 ! SALA becomes mapped onto ss001 and ss002, and SALC onto ss003, ss004, ! ss005. For now, we assume uniform size distribution within the ! GEOS-Chem bins, i.e. the GEOS-Chem size bins are evenly split into the ! GOCART bins. The fractions can be specified below. ! At some point, we may revisit these fractions (at least take into ! account the log-normal behavior of the aerosol distribution) INTEGER, PARAMETER :: NumAERO = 11 CHARACTER(LEN=ESMF_MAXSTR) :: GcNames(NumAero) = & (/ 'DST1', 'DST2', 'DST3', 'DST4', & 'SALA', 'SALC', 'BCPO', 'BCPI', & 'OCPO', 'OCPI', 'SO4 ' /) CHARACTER(LEN=ESMF_MAXSTR) :: AeroNames(NumAero) = & (/ 'du001 ', 'du002 ', 'du003 ', 'du004 ', & 'ss001 ', 'ss003 ', 'BCphobic', 'BCphilic', & 'OCphobic', 'OCphilic', 'SO4 ' /) ! Fraction of SALA in ss001 and ss002, respectively CHARACTER(LEN=ESMF_MAXSTR) :: SALAnames(2) = (/ 'ss001', 'ss002' /) REAL, PARAMETER :: SALAsplit(2) = (/ 0.2, 0.8 /) ! Fraction of SALC in ss003, ss004, and ss005. CHARACTER(LEN=ESMF_MAXSTR) :: SALCnames(3) = (/ 'ss003', 'ss004' , 'ss005' /) REAL, PARAMETER :: SALCsplit(3) = (/ 0.13, 0.47, 0.4 /) CHARACTER(LEN=ESMF_MAXSTR) :: DST4names(2) = (/ 'du004', 'du005' /) REAL, PARAMETER :: DST4split(2) = (/ 1.00, 0.0 /) ! Molecular weights (g/mol) used by GOCART REAL :: GocartMW(NumAero) = & (/ 100.0, 100.0, 100.0, 100.0 , & 58.0, 58.0, 180.0, 180.0 , & 180.0, 180.0, 132.0 /) ! !REVISION HISTORY: ! 05 Jul 2022 - C. Keller - initial version (refactored Chem_GridCompMod) ! See https://github.com/geoschem/geos-chem for full history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: GEOS_AeroSetServices ! ! !DESCRIPTION: Set services for aerosol coupling (if requested) !\\ !\\ ! !INTERFACE: ! SUBROUTINE GEOS_AeroSetServices( GC, DoAERO, RC ) ! ! !USES: ! ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ESMF_GridComp), INTENT(INOUT), TARGET :: GC ! Ref to this GridComp LOGICAL, INTENT(INOUT) :: DoAERO ! Is GCC the aerosol provider? INTEGER, INTENT(INOUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! ! !REMARKS: ! ! !REVISION HISTORY: ! 12 Jul 2022 - C. Keller - Initial version (refactored Chem_GridCompMod) ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! LOCAL VARIABLES: ! TYPE(ESMF_CONFIG) :: CF CHARACTER(LEN=ESMF_MAXSTR) :: ProviderName __Iam__('GEOS_AeroSetServices') !======================================================================= ! GEOS_AeroSetServices starts here !======================================================================= ! Get configuration CALL ESMF_GridCompGet( GC, CONFIG = CF, __RC__ ) ! See if GC is the AERO provider DoAERO = .FALSE. CALL ESMF_ConfigGetAttribute( CF, ProviderName, & Label="AERO_PROVIDER:", & Default="PCHEM", & __RC__ ) IF ( ProviderName == "GEOSCHEMCHEM" ) DoAERO = .TRUE. ! Add AERO and AERO_DP bundles to export state if GEOS-Chem is the ! AERO provider ! ---------------------------------------------------------------- IF ( DoAERO ) THEN ! The AERO bundle contains DUST, SALT, SO4, BC, and OC. ! These quantities will be obtained from the respective ! GEOS-Chem internal state quantities. ! Fields are added to bundle in the initialize routine. call MAPL_AddExportSpec(GC, & SHORT_NAME = 'AERO', & LONG_NAME = 'aerosol_mass_mixing_ratios', & UNITS = 'kg kg-1', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & DATATYPE = MAPL_StateItem, & __RC__ ) ! This bundle is needed by surface for snow albedo modification. ! At the moment, it is not filled by GEOS-Chem. call MAPL_AddExportSpec(GC, & SHORT_NAME = 'AERO_DP', & LONG_NAME = 'aerosol_deposition', & UNITS = 'kg m-2 s-1', & DIMS = MAPL_DimsHorzOnly, & DATATYPE = MAPL_BundleItem, & __RC__ ) ! Fields of AERO_DP bundle: call MAPL_AddExportSpec(GC, & SHORT_NAME = 'DUDP_DST1', & LONG_NAME = 'dust1_dry_depostion', & UNITS = 'kg m-2 s-1', & DIMS = MAPL_DimsHorzOnly, & VLOCATION = MAPL_VLocationNone, & __RC__ ) call MAPL_AddExportSpec(GC, & SHORT_NAME = 'DUDP_DST2', & LONG_NAME = 'dust2_dry_depostion', & UNITS = 'kg m-2 s-1', & DIMS = MAPL_DimsHorzOnly, & VLOCATION = MAPL_VLocationNone, & __RC__ ) call MAPL_AddExportSpec(GC, & SHORT_NAME = 'DUDP_DST3', & LONG_NAME = 'dust3_dry_depostion', & UNITS = 'kg m-2 s-1', & DIMS = MAPL_DimsHorzOnly, & VLOCATION = MAPL_VLocationNone, & __RC__ ) call MAPL_AddExportSpec(GC, & SHORT_NAME = 'DUDP_DST4', & LONG_NAME = 'dust4_dry_depostion', & UNITS = 'kg m-2 s-1', & DIMS = MAPL_DimsHorzOnly, & VLOCATION = MAPL_VLocationNone, & __RC__ ) call MAPL_AddExportSpec(GC, & SHORT_NAME = 'DUWT_DST1', & LONG_NAME = 'dust1_wet_depostion', & UNITS = 'kg m-2 s-1', & DIMS = MAPL_DimsHorzOnly, & VLOCATION = MAPL_VLocationNone, & __RC__ ) call MAPL_AddExportSpec(GC, & SHORT_NAME = 'DUWT_DST2', & LONG_NAME = 'dust2_wet_depostion', & UNITS = 'kg m-2 s-1', & DIMS = MAPL_DimsHorzOnly, & VLOCATION = MAPL_VLocationNone, & __RC__ ) call MAPL_AddExportSpec(GC, & SHORT_NAME = 'DUWT_DST3', & LONG_NAME = 'dust3_wet_depostion', & UNITS = 'kg m-2 s-1', & DIMS = MAPL_DimsHorzOnly, & VLOCATION = MAPL_VLocationNone, & __RC__ ) call MAPL_AddExportSpec(GC, & SHORT_NAME = 'DUWT_DST4', & LONG_NAME = 'dust4_wet_depostion', & UNITS = 'kg m-2 s-1', & DIMS = MAPL_DimsHorzOnly, & VLOCATION = MAPL_VLocationNone, & __RC__ ) call MAPL_AddExportSpec(GC, & SHORT_NAME = 'BCDP_BCPI', & LONG_NAME = 'BCPI_dry_depostion', & UNITS = 'kg m-2 s-1', & DIMS = MAPL_DimsHorzOnly, & VLOCATION = MAPL_VLocationNone, & __RC__ ) call MAPL_AddExportSpec(GC, & SHORT_NAME = 'BCDP_BCPO', & LONG_NAME = 'BCPO_dry_depostion', & UNITS = 'kg m-2 s-1', & DIMS = MAPL_DimsHorzOnly, & VLOCATION = MAPL_VLocationNone, & __RC__ ) call MAPL_AddExportSpec(GC, & SHORT_NAME = 'BCWT_BCPI', & LONG_NAME = 'BCPI_wet_depostion', & UNITS = 'kg m-2 s-1', & DIMS = MAPL_DimsHorzOnly, & VLOCATION = MAPL_VLocationNone, & __RC__ ) call MAPL_AddExportSpec(GC, & SHORT_NAME = 'BCWT_BCPO', & LONG_NAME = 'BCPO_wet_depostion', & UNITS = 'kg m-2 s-1', & DIMS = MAPL_DimsHorzOnly, & VLOCATION = MAPL_VLocationNone, & __RC__ ) call MAPL_AddExportSpec(GC, & SHORT_NAME = 'OCDP_OCPI', & LONG_NAME = 'OCPI_dry_depostion', & UNITS = 'kg m-2 s-1', & DIMS = MAPL_DimsHorzOnly, & VLOCATION = MAPL_VLocationNone, & __RC__ ) call MAPL_AddExportSpec(GC, & SHORT_NAME = 'OCDP_OCPO', & LONG_NAME = 'OCPO_dry_depostion', & UNITS = 'kg m-2 s-1', & DIMS = MAPL_DimsHorzOnly, & VLOCATION = MAPL_VLocationNone, & __RC__ ) call MAPL_AddExportSpec(GC, & SHORT_NAME = 'OCWT_OCPI', & LONG_NAME = 'OCPI_wet_depostion', & UNITS = 'kg m-2 s-1', & DIMS = MAPL_DimsHorzOnly, & VLOCATION = MAPL_VLocationNone, & __RC__ ) call MAPL_AddExportSpec(GC, & SHORT_NAME = 'OCWT_OCPO', & LONG_NAME = 'OCPO_wet_depostion', & UNITS = 'kg m-2 s-1', & DIMS = MAPL_DimsHorzOnly, & VLOCATION = MAPL_VLocationNone, & __RC__ ) !!! to diagnose fields in AERO bundle call MAPL_AddExportSpec(GC, & SHORT_NAME = 'AERO_OCphobic', & LONG_NAME = 'AERO_OCphobic', & UNITS = 'kg kg-1', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & __RC__ ) call MAPL_AddExportSpec(GC, & SHORT_NAME = 'AERO_OCphilic', & LONG_NAME = 'AERO_OCphilic', & UNITS = 'kg kg-1', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & __RC__ ) call MAPL_AddExportSpec(GC, & SHORT_NAME = 'AERO_BCphobic', & LONG_NAME = 'AERO_BCphobic', & UNITS = 'kg kg-1', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & __RC__ ) call MAPL_AddExportSpec(GC, & SHORT_NAME = 'AERO_BCphilic', & LONG_NAME = 'AERO_BCphilic', & UNITS = 'kg kg-1', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & __RC__ ) call MAPL_AddExportSpec(GC, & SHORT_NAME = 'AERO_SO4', & LONG_NAME = 'AERO_SO4', & UNITS = 'kg kg-1', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & __RC__ ) call MAPL_AddExportSpec(GC, & SHORT_NAME = 'AERO_du001', & LONG_NAME = 'AERO_du001', & UNITS = 'kg kg-1', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & __RC__ ) call MAPL_AddExportSpec(GC, & SHORT_NAME = 'AERO_du002', & LONG_NAME = 'AERO_du002', & UNITS = 'kg kg-1', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & __RC__ ) call MAPL_AddExportSpec(GC, & SHORT_NAME = 'AERO_du003', & LONG_NAME = 'AERO_du003', & UNITS = 'kg kg-1', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & __RC__ ) call MAPL_AddExportSpec(GC, & SHORT_NAME = 'AERO_du004', & LONG_NAME = 'AERO_du004', & UNITS = 'kg kg-1', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & __RC__ ) call MAPL_AddExportSpec(GC, & SHORT_NAME = 'AERO_du005', & LONG_NAME = 'AERO_du005', & UNITS = 'kg kg-1', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & __RC__ ) call MAPL_AddExportSpec(GC, & SHORT_NAME = 'AERO_ss001', & LONG_NAME = 'AERO_ss001', & UNITS = 'kg kg-1', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & __RC__ ) call MAPL_AddExportSpec(GC, & SHORT_NAME = 'AERO_ss002', & LONG_NAME = 'AERO_ss002', & UNITS = 'kg kg-1', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & __RC__ ) call MAPL_AddExportSpec(GC, & SHORT_NAME = 'AERO_ss003', & LONG_NAME = 'AERO_ss003', & UNITS = 'kg kg-1', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & __RC__ ) call MAPL_AddExportSpec(GC, & SHORT_NAME = 'AERO_ss004', & LONG_NAME = 'AERO_ss004', & UNITS = 'kg kg-1', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & __RC__ ) call MAPL_AddExportSpec(GC, & SHORT_NAME = 'AERO_ss005', & LONG_NAME = 'AERO_ss005', & UNITS = 'kg kg-1', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & __RC__ ) ENDIF ! DoAERO _RETURN(ESMF_SUCCESS) END SUBROUTINE GEOS_AeroSetServices !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: GEOS_AeroInit ! ! !DESCRIPTION: Routine to initialize the aerosol bundle. !\\ !\\ ! !INTERFACE: ! SUBROUTINE GEOS_AeroInit( GC, MaplCF, INTERNAL, EXPORT, Grid, RC ) ! ! !USES: ! USE DiagList_Mod, ONLY : SPFX ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ESMF_GridComp), INTENT(INOUT), TARGET :: GC ! Ref to this GridComp TYPE(ESMF_Config), INTENT(INOUT) :: MaplCF ! MAPL.rc TYPE(ESMF_State), INTENT(INOUT) :: INTERNAL ! Internal State TYPE(ESMF_State), INTENT(INOUT) :: Export ! Export State TYPE(ESMF_Grid), INTENT(INOUT) :: Grid ! Grid object INTEGER, INTENT(INOUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! ! !REMARKS: ! ! !REVISION HISTORY: ! 12 Jul 2022 - C. Keller - Initial version (refactored Chem_GridCompMod) ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! LOCAL VARIABLES: ! ! Aerosol bundle REAL :: GCMW, FRAC INTEGER :: instance INTEGER :: I, J, NFLDS INTEGER :: GCID TYPE(ESMF_STATE) :: Aero TYPE(ESMF_FieldBundle) :: AeroBdl TYPE(ESMF_Field) :: AeroFld, GcFld LOGICAL :: DynFriend, FRIENDLY LOGICAL :: IsPresent CHARACTER(LEN=ESMF_MAXSTR) :: GCName, AeroName, fieldName REAL, POINTER :: Ptr3D(:,:,:) => NULL() __Iam__('GEOS_AeroInit') !======================================================================= ! GEOS_AeroInit starts here !======================================================================= ! Get AERO bundle CALL ESMF_StateGet( EXPORT, 'AERO', Aero, __RC__ ) ! This attribute indicates if the aerosol optics method is implemented ! or not. Radiation will not call the aerosol optics method unless this ! attribute is explicitly set to true. call ESMF_AttributeSet(Aero, name='implements_aerosol_optics_method', & value=.true., __RC__) AeroBdl = ESMF_FieldBundleCreate(name='AEROSOLS', __RC__) call MAPL_StateAdd(Aero, AeroBdl, __RC__) ! Loop over all GC tracers that we may want to add to the AERO ! bundle DO I = 1, NumAERO ! Get GEOS-Chem tracer ID GCID = Ind_( TRIM(GcNames(I)) ) ! If species is defined, copy field and add to AERO bundle IF ( GCID > 0 ) THEN ! This is the name in the internal state GCName = TRIM(SPFX) // TRIM(GcNames(I)) ! Get field from internal state CALL ESMF_StateGet( INTERNAL, TRIM(GCName), GcFld, RC=RC ) ! Try TRC_ if SPC_ not found IF ( RC /= ESMF_SUCCESS ) THEN GCName = 'TRC_'//TRIM(GcNames(I)) CALL ESMF_StateGet( INTERNAL, TRIM(GCName), GcFld, RC=RC ) ENDIF ! Error if none of the above found IF ( RC /= ESMF_SUCCESS ) THEN WRITE(*,*) 'Cannot fill AERO bundle - field not found in ' // & 'internal state: ' // TRIM(GCName) _ASSERT(.FALSE.,'Error filling AERO bundle') ENDIF ! Set number of fields to be created. This is only different from ! 1 for sea salt aerosols, which are mapped onto multiple AERO ! fields. NFLDS = 1 IF ( TRIM(GcNames(I)) == 'SALA' ) NFLDS = 2 IF ( TRIM(GcNames(I)) == 'SALC' ) NFLDS = 3 IF ( TRIM(GcNames(I)) == 'DST4' ) NFLDS = 2 ! Now create all fields DO J = 1, NFLDS ! AERO field name AeroName = TRIM(AeroNames(I)) IF ( TRIM(GcNames(I)) == 'SALA' ) AeroName = SALAnames(J) IF ( TRIM(GcNames(I)) == 'SALC' ) AeroName = SALCnames(J) IF ( TRIM(GcNames(I)) == 'DST4' ) AeroName = DST4names(J) ! Create new field AeroFld = MAPL_FieldCreate( GcFld, name=AeroName, & DoCopy=.TRUE., __RC__ ) ! Get molecular weight (g/mol) GCMW = GocartMW(I) ! Fraction of the GC field to be used in the AERO field FRAC = 1.0 IF ( TRIM(GcNames(I)) == 'SALA' ) FRAC = SALAsplit(J) IF ( TRIM(GcNames(I)) == 'SALC' ) FRAC = SALCsplit(J) IF ( TRIM(GcNames(I)) == 'DST4' ) FRAC = DST4split(J) ! Pass GEOS-Chem field name, molecular weight and fraction ! to be used to bundle for easier handling lateron CALL ESMF_AttributeSet ( AeroFld, NAME='GCNAME', & VALUE=GCName, __RC__ ) CALL ESMF_AttributeSet ( AeroFld, NAME='GCMW', & VALUE=GCMW, __RC__ ) CALL ESMF_AttributeSet ( AeroFld, NAME='FRAC', & VALUE=FRAC, __RC__ ) ! Before adding to the bundle, convert data from mol/mol to ! kg/kg. Data is now stored in kg/kg total. (ckeller, 3/7/17) CALL ESMF_FieldGet( AeroFld, farrayPtr=Ptr3D, __RC__ ) !Ptr3D = Ptr3D * GCMW / MAPL_AIRMW * FRAC Ptr3D = Ptr3D * FRAC Ptr3D => NULL() ! Add to bundle CALL MAPL_FieldBundleAdd ( AeroBdl, AeroFld, __RC__ ) ENDDO !J ENDIF ENDDO ! Mie table instance = instanceComputational geoschemMieTable(instance) = Chem_MieCreate(MaplCF, __RC__) call ESMF_AttributeSet(aero, name='mie_table_instance', & value=instance, __RC__) ! state of the atmosphere call ESMF_AttributeSet(aero, name='air_pressure_for_aerosol_optics', value='PLE', __RC__) call ESMF_AttributeSet(aero, & name='relative_humidity_for_aerosol_optics', & value='RH', __RC__) ! 'cloud_area_fraction_in_atmosphere_layer_for_aerosol_optics' call ESMF_AttributeSet(aero, & name='cloud_area_fraction_for_aerosol_optics', & value='', __RC__) ! aerosol optics call ESMF_AttributeSet(aero, name='band_for_aerosol_optics', value=0, __RC__) call ESMF_AttributeSet(aero, & name='extinction_in_air_due_to_ambient_aerosol', & value='EXT', __RC__) call ESMF_AttributeSet(aero, & name='single_scattering_albedo_of_ambient_aerosol', & value='SSA', __RC__) call ESMF_AttributeSet(aero, & name='asymmetry_parameter_of_ambient_aerosol', & value='ASY', __RC__) ! add PLE to Aero state call ESMF_AttributeGet(aero, & name='air_pressure_for_aerosol_optics', & value=fieldName, __RC__) if (fieldName /= '') then aeroFld = MAPL_FieldCreateEmpty(trim(fieldName), grid, __RC__) call MAPL_FieldAllocCommit(aeroFld, dims=MAPL_DimsHorzVert, & location=MAPL_VLocationEdge, & typekind=MAPL_R4, hw=0, __RC__) call MAPL_StateAdd(aero, aeroFld, __RC__) end if ! add RH to Aero state call ESMF_AttributeGet(aero, & name='relative_humidity_for_aerosol_optics', & value=fieldName, __RC__) if (fieldName /= '') then aeroFld = MAPL_FieldCreateEmpty(trim(fieldName), grid, __RC__) call MAPL_FieldAllocCommit(aeroFld, dims=MAPL_DimsHorzVert, & location=MAPL_VLocationCenter, & typekind=MAPL_R4, hw=0, __RC__) call MAPL_StateAdd(aero, aeroFld, __RC__) end if ! add EXT to Aero state call ESMF_AttributeGet(aero, & name='extinction_in_air_due_to_ambient_aerosol', & value=fieldName, __RC__) if (fieldName /= '') then aeroFld = MAPL_FieldCreateEmpty(trim(fieldName), grid, __RC__) call MAPL_FieldAllocCommit(aeroFld, dims=MAPL_DimsHorzVert, & location=MAPL_VLocationCenter, & typekind=MAPL_R4, hw=0, __RC__) call MAPL_StateAdd(aero, aeroFld, __RC__) end if ! add SSA to aero state call ESMF_AttributeGet(aero, & name='single_scattering_albedo_of_ambient_aerosol', & value=fieldName, __RC__) if (fieldName /= '') then aeroFld = MAPL_FieldCreateEmpty(trim(fieldName), grid, __RC__) call MAPL_FieldAllocCommit(aeroFld, dims=MAPL_DimsHorzVert, & location=MAPL_VLocationCenter, & typekind=MAPL_R4, hw=0, __RC__) call MAPL_StateAdd(aero, aeroFld, __RC__) end if ! add ASY to aero state call ESMF_AttributeGet(aero, & name='asymmetry_parameter_of_ambient_aerosol', & value=fieldName, __RC__) if (fieldName /= '') then aeroFld = MAPL_FieldCreateEmpty(trim(fieldName), grid, __RC__) call MAPL_FieldAllocCommit(aeroFld, dims=MAPL_DimsHorzVert, & location=MAPL_VLocationCenter, & typekind=MAPL_R4, hw=0, __RC__) call MAPL_StateAdd(aero, aeroFld, __RC__) end if ! attach the aerosol optics method call ESMF_MethodAdd(aero, label='aerosol_optics', & userRoutine=GEOS_AerosolOptics, __RC__) ! --------------------------------------------------------------------- ! Initialize the AERO_DP bundle ! --------------------------------------------------------------------- CALL ESMF_StateGet( EXPORT, 'AERO_DP', AeroBdl, __RC__ ) ! Dust dry and wet deposition CALL ESMF_StateGet( EXPORT, 'DUDP_DST1', AeroFld, __RC__ ) CALL MAPL_FieldBundleAdd( AeroBdl, AeroFld, __RC__ ) CALL ESMF_StateGet( EXPORT, 'DUDP_DST2', AeroFld, __RC__ ) CALL MAPL_FieldBundleAdd( AeroBdl, AeroFld, __RC__ ) CALL ESMF_StateGet( EXPORT, 'DUDP_DST3', AeroFld, __RC__ ) CALL MAPL_FieldBundleAdd( AeroBdl, AeroFld, __RC__ ) CALL ESMF_StateGet( EXPORT, 'DUDP_DST4', AeroFld, __RC__ ) CALL MAPL_FieldBundleAdd( AeroBdl, AeroFld, __RC__ ) CALL ESMF_StateGet( EXPORT, 'DUWT_DST1', AeroFld, __RC__ ) CALL MAPL_FieldBundleAdd( AeroBdl, AeroFld, __RC__ ) CALL ESMF_StateGet( EXPORT, 'DUWT_DST2', AeroFld, __RC__ ) CALL MAPL_FieldBundleAdd( AeroBdl, AeroFld, __RC__ ) CALL ESMF_StateGet( EXPORT, 'DUWT_DST3', AeroFld, __RC__ ) CALL MAPL_FieldBundleAdd( AeroBdl, AeroFld, __RC__ ) CALL ESMF_StateGet( EXPORT, 'DUWT_DST4', AeroFld, __RC__ ) CALL MAPL_FieldBundleAdd( AeroBdl, AeroFld, __RC__ ) ! Black carbon dry and wet depostion CALL ESMF_StateGet( EXPORT, 'BCDP_BCPI', AeroFld, __RC__ ) CALL MAPL_FieldBundleAdd( AeroBdl, AeroFld, __RC__ ) CALL ESMF_StateGet( EXPORT, 'BCDP_BCPO', AeroFld, __RC__ ) CALL MAPL_FieldBundleAdd( AeroBdl, AeroFld, __RC__ ) CALL ESMF_StateGet( EXPORT, 'BCWT_BCPI', AeroFld, __RC__ ) CALL MAPL_FieldBundleAdd( AeroBdl, AeroFld, __RC__ ) CALL ESMF_StateGet( EXPORT, 'BCWT_BCPO', AeroFld, __RC__ ) CALL MAPL_FieldBundleAdd( AeroBdl, AeroFld, __RC__ ) ! Organic carbon dry and wet depostion CALL ESMF_StateGet( EXPORT, 'OCDP_OCPI', AeroFld, __RC__ ) CALL MAPL_FieldBundleAdd( AeroBdl, AeroFld, __RC__ ) CALL ESMF_StateGet( EXPORT, 'OCDP_OCPO', AeroFld, __RC__ ) CALL MAPL_FieldBundleAdd( AeroBdl, AeroFld, __RC__ ) CALL ESMF_StateGet( EXPORT, 'OCWT_OCPI', AeroFld, __RC__ ) CALL MAPL_FieldBundleAdd( AeroBdl, AeroFld, __RC__ ) CALL ESMF_StateGet( EXPORT, 'OCWT_OCPO', AeroFld, __RC__ ) CALL MAPL_FieldBundleAdd( AeroBdl, AeroFld, __RC__ ) ! Return _RETURN(ESMF_SUCCESS) END SUBROUTINE GEOS_AeroInit !EOC !------------------------------------------------------------------------------ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: GEOS_FillAeroBundle ! ! !DESCRIPTION: Routine to fill the aerosol bundle. !\\ !\\ ! !INTERFACE: ! SUBROUTINE GEOS_FillAeroBundle( GC, EXPORT, State_Chm, State_Grid, Input_Opt, RC ) ! ! !USES: ! ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ESMF_GridComp), INTENT(INOUT), TARGET :: GC ! Ref to this GridComp TYPE(ESMF_State), INTENT(INOUT) :: Export ! Export State TYPE(ChmState), INTENT(INOUT) :: State_Chm TYPE(GrdState), INTENT(INOUT) :: State_Grid TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 05 Jul 2022 - C. Keller - Initial version (refactored Chem_GridCompMod) ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! LOCAL VARIABLES: ! LOGICAL :: am_I_Root REAL :: GCMW, FRAC INTEGER :: N, IndSpc INTEGER :: nAero, nLen, GCID TYPE(ESMF_STATE) :: Aero TYPE(ESMF_FieldBundle) :: AeroBdl TYPE(ESMF_Field) :: AeroFld CHARACTER(LEN=ESMF_MAXSTR) :: GCName, AeroName REAL(fp), POINTER :: GcPtr3d (:,:,:) => NULL() REAL, POINTER :: AeroPtr3d(:,:,:) => NULL() INTEGER, PARAMETER :: NRATS = 5 CHARACTER(LEN=15), PARAMETER :: RatsNames(NRATS) = (/ 'CH4', 'N2O', 'CFC11', 'CFC12', 'HCFC22' /) __Iam__('GEOS_FillAeroBundle') !======================================================================= ! GEOS_FillAeroBundle starts here !======================================================================= ! Are we on the root PET? am_I_Root = MAPL_Am_I_Root() ! For every field of the AERO bundle, we will copy the corresponding ! GEOS-Chem tracer field, converting units from mol mol-1 to kg kg-1. ! Get AERO bundle CALL ESMF_StateGet( EXPORT, 'AERO', Aero, __RC__ ) CALL ESMF_StateGet( Aero, 'AEROSOLS', AeroBdl, __RC__ ) ! Number of fields in the AERO Bundle CALL ESMF_FieldBundleGet ( AeroBdl, FieldCount=nAero, __RC__ ) ! Update every field DO N = 1, nAero ! Get field CALL ESMF_FieldBundleGet( AeroBdl, N, AeroFld, __RC__ ) ! Extract GC tracer name, molecular weight and fraction to be used CALL ESMF_AttributeGet( AeroFld, NAME='GCNAME', VALUE=GcName, __RC__ ) CALL ESMF_AttributeGet( AeroFld, NAME='GCMW' , VALUE=GCMW, __RC__ ) CALL ESMF_AttributeGet( AeroFld, NAME='FRAC', VALUE=FRAC, __RC__ ) ! Get pointer to Aero data CALL ESMF_FieldGet( AeroFld, farrayPtr=AeroPtr3D, __RC__ ) ! Get pointer to GC data nlen = LEN(TRIM(GcName)) IndSpc = Ind_(TRIM(GcName(5:nlen))) ASSERT_(IndSpc>0) GcPtr3D => State_Chm%Species(IndSpc)%Conc(:,:,State_Grid%NZ:1:-1) !CALL MAPL_GetPointer ( INTSTATE, GcPtr3D, TRIM(GcName), __RC__ ) ! Pass GC to AERO. Convert from mol/mol to kg/kg. Only use the ! fraction specified during initialization (different from 1 for ! sea salt aerosols only) !AeroPtr3D = GcPtr3D * FRAC * GCMW / MAPL_AIRMW AeroPtr3D = GcPtr3D * FRAC !!! writing to diagnostics GcPtr3D => NULL() CALL ESMF_FieldGet( AeroFld, NAME=GcName, __RC__ ) CALL MAPL_GetPointer ( EXPORT, GcPtr3D, 'AERO_'//TRIM(GcName), & NotFoundOk=.TRUE., __RC__ ) IF ( ASSOCIATED(GcPtr3D) ) GcPtr3D = AeroPtr3D ! Free pointers GcPtr3D => NULL() AeroPtr3D => NULL() ENDDO ! Fill AERO_DP bundle CALL FillAeroDP_ ( am_I_Root, GC, EXPORT, Input_Opt, __RC__ ) _RETURN(ESMF_SUCCESS) END SUBROUTINE GEOS_FillAeroBundle !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: GEOS_AerosolOptics ! ! !DESCRIPTION: Aerosol optics routine, adapted from GOCART !\\ !\\ ! !INTERFACE: ! ! Adapted from the GOCART interface subroutine GEOS_AerosolOptics(state, rc) ! ! !USES: ! ! ! !PARAMETERS: ! type(ESMF_State) :: state integer, intent(out) :: rc ! ! !REVISION HISTORY: ! 06 Jul 2022 - C. Keller - Initial version (from Chem_GridCompMod) ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! LOCAL VARIABLES: ! integer :: n_aerosols character(len=ESMF_MAXSTR), allocatable :: aerosol_names(:) type(ESMF_FieldBundle) :: aerosols real, dimension(:,:,:), pointer :: ple real, dimension(:,:,:), pointer :: rh real, dimension(:,:,:), pointer :: var real, dimension(:,:,:), pointer :: q real, dimension(:,:,:,:), pointer :: q_4d real, dimension(:,:,:), allocatable :: dp, f_p character(len=ESMF_MAXSTR) :: fld_name type(ESMF_Field) :: fld real, dimension(:,:,:,:), allocatable :: ext, ssa, asy ! (lon:,lat:,lev:,band:) integer :: n integer :: i1, j1, i2, j2, km integer :: band, offset integer :: instance integer :: STATUS character(len=ESMF_MAXSTR) :: Iam integer, parameter :: n_bands = 1 real :: x integer :: i, j, k Iam = 'GEOSCHEMCHEM::GEOS_AerosolOptics()' ! Mie Table instance/index ! ------------------------ call ESMF_AttributeGet(state, name='mie_table_instance', & value=instance, __RC__) ! Radiation band ! -------------- band = 0 call ESMF_AttributeGet(state, name='band_for_aerosol_optics', & value=band, __RC__) offset = band - n_bands ! Pressure at layer edges ! ------------------------ call ESMF_AttributeGet(state, name='air_pressure_for_aerosol_optics', & value=fld_name, __RC__) call MAPL_GetPointer(state, ple, trim(fld_name), __RC__) i1 = lbound(ple, 1); i2 = ubound(ple, 1) j1 = lbound(ple, 2); j2 = ubound(ple, 2) km = ubound(ple, 3) ! Relative humidity ! ----------------- call ESMF_AttributeGet(state, name='relative_humidity_for_aerosol_optics', & value=fld_name, __RC__) call MAPL_GetPointer(state, rh, trim(fld_name), __RC__) i1 = lbound(rh, 1); i2 = ubound(rh, 1) j1 = lbound(rh, 2); j2 = ubound(rh, 2) km = ubound(rh, 3) call ESMF_StateGet(state, 'AEROSOLS', aerosols, __RC__) call ESMF_FieldBundleGet(aerosols, fieldCount=n_aerosols, __RC__) allocate(aerosol_names(n_aerosols), __STAT__) call ESMF_FieldBundleGet(aerosols, FieldNameList=aerosol_names, __RC__) allocate(ext(i1:i2,j1:j2,km,n_bands), & ssa(i1:i2,j1:j2,km,n_bands), & asy(i1:i2,j1:j2,km,n_bands), __STAT__) allocate(q_4d(i1:i2,j1:j2,km,n_aerosols), __STAT__) #if (0) allocate(dp(i1:i2,j1:j2,km), f_p(i1:i2,j1:j2,km), __STAT__) dp = ple(:,:,1:km) - ple(:,:,0:km-1) f_p = dp / MAPL_GRAV do n = 1, n_aerosols call ESMF_FieldBundleGet(aerosols, trim(aerosol_names(n)), & field=fld, __RC__) call ESMF_FieldGet(fld, farrayPtr=q, __RC__) q_4d(:,:,:,n) = f_p * q end do call ESMF_AttributeGet(state, name='mie_table_instance', & value=instance, __RC__) call mie_(geoschemMieTable(instance), aerosol_names, n_bands, & offset, q_4d, rh, ext, ssa, asy, __RC__) deallocate(dp, f_p, __STAT__) #else do n = 1, n_aerosols call ESMF_FieldBundleGet(aerosols, trim(aerosol_names(n)), & field=fld, __RC__) call ESMF_FieldGet(fld, farrayPtr=q, __RC__) do k = 1, km do j = j1, j2 do i = i1, i2 x = ((PLE(i,j,k) - PLE(i,j,k-1))*0.01)*(100./MAPL_GRAV) q_4d(i,j,k,n) = x * q(i,j,k) end do end do end do end do call mie_(geoschemMieTable(instance), aerosol_names, n_bands, & offset, q_4d, rh, ext, ssa, asy, __RC__) #endif call ESMF_AttributeGet(state, & name='extinction_in_air_due_to_ambient_aerosol', & value=fld_name, __RC__) if (fld_name /= '') then call MAPL_GetPointer(state, var, trim(fld_name), __RC__) var = ext(:,:,:,1) end if call ESMF_AttributeGet(state, & name='single_scattering_albedo_of_ambient_aerosol',& value=fld_name, __RC__) if (fld_name /= '') then call MAPL_GetPointer(state, var, trim(fld_name), __RC__) var = ssa(:,:,:,1) end if call ESMF_AttributeGet(state, & name='asymmetry_parameter_of_ambient_aerosol', & value=fld_name, __RC__) if (fld_name /= '') then call MAPL_GetPointer(state, var, trim(fld_name), __RC__) var = asy(:,:,:,1) end if deallocate(aerosol_names, ext, ssa, asy, q_4d, __STAT__) _RETURN(ESMF_SUCCESS) contains subroutine mie_(mie_table, aerosol, nb, offset, q, rh, ext, ssa, asy, rc) implicit none type(Chem_Mie), intent(inout):: mie_table ! mie table character(len=*), intent(in ) :: aerosol(:) ! list of aerosols integer, intent(in ) :: nb ! number of bands integer, intent(in ) :: offset ! bands offset real, intent(in ) :: q(:,:,:,:) ! aerosol mass mixing ! ratio, kg kg-1 real, intent(in ) :: rh(:,:,:) ! relative humidity real, intent(out) :: ext(:,:,:,:) ! extinction real, intent(out) :: ssa(:,:,:,:) ! SSA real, intent(out) :: asy(:,:,:,:) ! asymmetry parameter integer, intent(out) :: rc ! local integer :: STATUS character(len=ESMF_MAXSTR) :: Iam='aerosol_optics::mie_' integer :: l, idx, na real(kind=8) :: ext_(size(ext,1),size(ext,2),size(ext,3),size(ext,4)) real(kind=8) :: ssa_(size(ext,1),size(ext,2),size(ext,3),size(ext,4)) real(kind=8) :: asy_(size(ext,1),size(ext,2),size(ext,3),size(ext,4)) na = size(aerosol) _ASSERT (na == size(q,4),'Error in number of aerosols') ext_ = 0.0d0 ssa_ = 0.0d0 asy_ = 0.0d0 do l = 1, na idx = Chem_MieQueryIdx(mie_table, trim(aerosol(l)), __RC__) call Chem_MieQueryAllBand4D(mie_table, idx, nb, offset, & q(:,:,:,l), rh, ext, ssa, asy, __RC__) ext_ = ext_ + ext ! total extinction ssa_ = ssa_ + (ssa*ext) ! total scattering asy_ = asy_ + asy*(ssa*ext) ! sum of (asy * sca) end do ext = ext_ ssa = ssa_ asy = asy_ _RETURN(ESMF_SUCCESS) end subroutine mie_ end subroutine GEOS_AerosolOptics !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: FillAeroDP_ ! ! !DESCRIPTION: FillAeroDP_ fills the AERO_DP bundle !\\ !\\ ! !INTERFACE: ! SUBROUTINE FillAeroDP_ ( am_I_Root, GC, EXPORT, Input_Opt, RC ) ! ! !USES: ! USE HCO_ERROR_MOD USE HCO_TYPES_MOD, ONLY : DiagnCont USE HCO_DIAGN_MOD, ONLY : Diagn_Get USE HCO_State_GC_Mod, ONLY : HcoState ! ! !INPUT PARAMETERS: ! LOGICAL :: am_I_Root ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ESMF_GridComp), INTENT(INOUT) :: GC ! Ref to this GridComp TYPE(ESMF_State), INTENT(INOUT) :: Export ! Export State TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT), OPTIONAL :: RC ! ! !REVISION HISTORY: ! 30 Mar 2015 - C. Keller - Initial version ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! LOCAL VARIABLES: ! REAL, POINTER :: Ptr2d(:,:) => NULL() INTEGER :: I, J, N, TrcID CHARACTER(LEN= 2) :: Prfx CHARACTER(LEN=15) :: TrcName CHARACTER(LEN=ESMF_MAXSTR) :: ExpName ! Hemco diagnostics INTEGER :: DgnID INTEGER :: FLAG, ERR TYPE(DiagnCont), POINTER :: DgnCont => NULL() ! Error handling INTEGER :: STATUS CHARACTER(LEN=ESMF_MAXSTR) :: Iam !======================================================================= ! FillAeroDP_ begins here !======================================================================= ! Traceback handle Iam = 'FillAeroDP_' ! There are 8 species in total DO N = 1, 8 ! Get species ID SELECT CASE ( N ) CASE ( 1 ) TrcName = 'DST1' Prfx = 'DU' CASE ( 2 ) TrcName = 'DST2' Prfx = 'DU' CASE ( 3 ) TrcName = 'DST3' Prfx = 'DU' CASE ( 4 ) TrcName = 'DST4' Prfx = 'DU' CASE ( 5 ) TrcName = 'BCPI' Prfx = 'BC' CASE ( 6 ) TrcName = 'BCPO' Prfx = 'BC' CASE ( 7 ) TrcName = 'OCPI' Prfx = 'OC' CASE ( 8 ) TrcName = 'OCPO' Prfx = 'OC' CASE DEFAULT TrcName = 'YeahYeahYeah' END SELECT ! Get GEOS-Chem tracer ID TrcID = Ind_( TRIM(TrcName) ) ! Only if tracer is defined... IF ( TrcID <= 0 ) CYCLE ! Dry dep and wet dep DO I = 1, 2 IF ( I == 1 ) THEN ExpName = TRIM(Prfx)//'DP_'//TRIM(TrcName) ELSEIF ( I == 2 ) THEN ExpName = TRIM(Prfx)//'WT_'//TRIM(TrcName) ENDIF ! Get pointer CALL MAPL_GetPointer( EXPORT, Ptr2D, TRIM(ExpName), & notFoundOk=.TRUE., __RC__ ) ! Skip if not defined IF ( .NOT. ASSOCIATED(Ptr2D) ) CYCLE ! Reset Ptr2D = 0.0 ! ------------------ ! Dry deposition ! ------------------ IF ( I == 1 ) THEN ! Get diagnostics DgnID = 44500 + TrcID CALL Diagn_Get( HcoState, .FALSE., DgnCont, & FLAG, ERR, cID=DgnID, AutoFill=-1, & COL=Input_Opt%DIAG_COLLECTION ) ! Error check _ASSERT( ERR == HCO_SUCCESS,'Error calling Diagn_Get' ) ! Add to array if diagnostics is defined ! GEOS-Chem diagnostics is in kg m-2 s-1. IF ( FLAG == HCO_SUCCESS ) THEN IF ( ASSOCIATED(DgnCont%Arr2D%Val) ) THEN Ptr2D = Ptr2D + DgnCont%Arr2D%Val ENDIF ENDIF ! ------------------ ! Wet depostion ! ------------------ ELSEIF ( I == 2 ) THEN ! Convective and wet scavenging DO J = 1, 2 SELECT CASE ( J ) ! Convection: CASE ( 1 ) DgnID = 38000 + TrcID ! Wet deposition CASE ( 2 ) DgnID = 39000 + TrcID CASE DEFAULT DgnID = -1 END SELECT ! Get diagnostics CALL Diagn_Get( HcoState, .FALSE., DgnCont, & FLAG, ERR, cID=DgnID, AutoFill=-1, & COL=Input_Opt%DIAG_COLLECTION ) ! Error check _ASSERT( ERR == HCO_SUCCESS,'Error calling Diagn_Get' ) ! Add to array if diagnostics is defined. GEOS-Chem ! diagnostics is already in kg m-2 s-1. IF ( FLAG == HCO_SUCCESS ) THEN IF ( ASSOCIATED(DgnCont%Arr2D%Val) ) THEN Ptr2D = Ptr2D + DgnCont%Arr2D%Val ELSEIF ( ASSOCIATED(DgnCont%Arr3D%Val) ) THEN Ptr2D = Ptr2D + SUM(DgnCont%Arr3D%Val,DIM=3) ENDIF ENDIF ENDDO !J ENDIF ENDDO !I ENDDO !N ! Successful return RC = ESMF_SUCCESS END SUBROUTINE FillAeroDP_ !EOC END MODULE GEOS_AeroCoupler ================================================ FILE: Interfaces/GEOS/geos_analysis.F90 ================================================ #include "MAPL_Generic.h" !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: GEOS_Analysis ! ! !DESCRIPTION: Module to apply analysis fields to GEOS-Chem tracers. !\\ !\\ ! !INTERFACE: ! MODULE GEOS_Analysis ! ! !USES: ! USE ESMF USE MAPL_Mod IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: GEOS_AnaInit PUBLIC :: GEOS_AnaRun PUBLIC :: GEOS_AnaFinal ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: ReadSettings_ PRIVATE :: DoAnalysis_ PRIVATE :: GetAnaTime_ PRIVATE :: GetAnaBundle_ PRIVATE :: ReplaceChar_ ! ! !PRIVATE TYPES: ! ! Number of species with analysis on INTEGER :: nAnaSpec ! Options for dependent species TYPE Spec2Opt CHARACTER(LEN=ESMF_MAXSTR) :: Spec2Name LOGICAL :: Spec2Strat LOGICAL :: Spec2Trop REAL :: Spec2MinRatio REAL :: Spec2MaxRatio END TYPE ! Analysis options object. A separate object will be created for each analysed species/family TYPE AnaOptions CHARACTER(LEN=ESMF_MAXSTR) :: SpecName LOGICAL :: Active INTEGER :: AnalysisFreq INTEGER :: AnalysisHour INTEGER :: AnalysisMinute LOGICAL :: ForwardLooking LOGICAL :: ReadAnaTime LOGICAL :: SkipPredictor CHARACTER(LEN=ESMF_MAXSTR) :: FileTemplate CHARACTER(LEN=ESMF_MAXSTR) :: FileVarName CHARACTER(LEN=ESMF_MAXSTR) :: FileVarUnit INTEGER :: FileVarDry LOGICAL :: ApplyIncrement INTEGER :: IAU INTEGER :: AnalysisWindow LOGICAL :: NonZeroIncOnly CHARACTER(LEN=ESMF_MAXSTR) :: FileVarNameInc LOGICAL :: InStrat LOGICAL :: InTrop INTEGER :: AnaL1 INTEGER :: AnaL2 INTEGER :: AnaL3 INTEGER :: AnaL4 REAL :: AnaFraction INTEGER :: StratSponge REAL :: MaxChangeStrat REAL :: MaxChangeTrop REAL :: MaxRatioStrat REAL :: MaxRatioTrop REAL :: MinRatioStrat REAL :: MinRatioTrop REAL :: MinConc LOGICAL :: UseObsHour CHARACTER(LEN=ESMF_MAXSTR) :: ObsHourName INTEGER :: nSpec2 TYPE(Spec2Opt), POINTER :: Spec2(:) => NULL() INTEGER :: ErrorMode INTEGER :: PrintNeg END TYPE AnaOptions ! List holding all analysis information TYPE(AnaOptions), POINTER :: AnaConfig(:) => NULL() ! ! !REVISION HISTORY: ! 25 May 2022 - C. Keller - initial version (refactored Chem_GridCompMod) ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: GEOS_AnaInit ! ! !DESCRIPTION: Initialize the GEOS analysis module by reading all analysis ! settings from configuration files. ! ! !INTERFACE: ! SUBROUTINE GEOS_AnaInit( am_I_Root, GC, GEOSCF, AnaPhase, RC ) ! ! !USES: ! ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: am_I_Root ! Root PET? ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ESMF_GridComp), INTENT(INOUT) :: GC ! GridComp TYPE(ESMF_Config), INTENT(INOUT) :: GEOSCF ! GEOSCHEMchem_GridComp.rc ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: AnaPhase ! Do analysis after run phase 1 or 2? INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REMARKS: ! ! !REVISION HISTORY: ! 25 May 2022 - C. Keller - initial version (refactored Chem_GridCompMod) ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! TYPE(ESMF_Config) :: AnaSpecCF CHARACTER(LEN=ESMF_MAXSTR) :: compName CHARACTER(LEN=ESMF_MAXSTR) :: Iam CHARACTER(LEN=ESMF_MAXSTR) :: ConfigName CHARACTER(LEN=ESMF_MAXSTR) :: SpecName INTEGER :: I, N, NDIAG, ThisInt INTEGER :: STATUS !======================================================================= ! GEOS_AnaInit begins here !======================================================================= ! Get configuration CALL ESMF_GridCompGet( GC, name=compName, __RC__ ) ! callback name Iam = TRIM(compName)//'::GEOS_AnaInit' ! Run phase after which to apply analysis CALL ESMF_ConfigGetAttribute( GEOSCF, ThisInt, Label="ANAPHASE:", Default=2, __RC__ ) ANAPHASE = ThisInt ! Get number of analysis species CALL ESMF_ConfigGetAttribute( GEOSCF, nAnaSpec, Label="Analysis_nSpecies:", Default=0, __RC__ ) IF ( am_I_Root ) THEN WRITE(*,*) 'Number of analysis species: ',nAnaSpec WRITE(*,*) 'Analysis phase set to ',ANAPHASE ENDIF ! Read settings for all species from config file IF ( nAnaSpec > 0 ) THEN ALLOCATE( AnaConfig(nAnaSpec), STAT=STATUS ) _ASSERT( STATUS==0, 'AnaConfig could not be allocated' ) DO N=1,nAnaSpec CALL ReadSettings_( am_I_Root, GEOSCF, N, __RC__ ) ENDDO ENDIF ! Initialize diagnostics IF ( nAnaSpec > 0 ) THEN DO N=1,nAnaSpec NDIAG = 1 + AnaConfig(N)%nSpec2 DO I=1,NDIAG IF ( I==1 ) THEN SpecName = AnaConfig(N)%SpecName ELSE SpecName = AnaConfig(N)%Spec2(I-1)%Spec2Name ENDIF CALL MAPL_AddExportSpec(GC, & SHORT_NAME = 'GCC_ANA_INC_'//TRIM(SpecName), & LONG_NAME = TRIM(SpecName)//'_analysis_increment_volume_mixing_ratio_dry_air', & UNITS = 'mol mol-1', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & __RC__ ) CALL MAPL_AddExportSpec(GC, & SHORT_NAME = 'GCC_ANA_INC_FRAC_'//TRIM(SpecName), & LONG_NAME = TRIM(SpecName)//'_analysis_increment_ratio_volume_mixing_ratio_dry_air', & UNITS = '1', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & __RC__ ) IF ( I==1 ) THEN CALL MAPL_AddExportSpec(GC, & SHORT_NAME = 'GCC_ANA_MASK_VSUM_'//TRIM(SpecName), & LONG_NAME = TRIM(SpecName)//'_analysis_counts', & UNITS = '1', & DIMS = MAPL_DimsHorzOnly, & VLOCATION = MAPL_VLocationNone, & __RC__ ) CALL MAPL_AddExportSpec(GC, & SHORT_NAME = 'GCC_ANA_MASK_'//TRIM(SpecName), & LONG_NAME = TRIM(SpecName)//'_analysis_mask', & UNITS = '1', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & __RC__ ) ENDIF IF ( I>1 ) THEN CALL MAPL_AddExportSpec(GC, & SHORT_NAME = 'GCC_ANA_RATIO_'//TRIM(SpecName)//'_TO_'//TRIM(AnaConfig(N)%SpecName), & LONG_NAME = TRIM(SpecName)//'_to_'//TRIM(AnaConfig(N)%SpecName)//'_species_ratio_after_analysis', & UNITS = '1', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & __RC__ ) ENDIF ENDDO ENDDO ENDIF ! Successful return RETURN_(ESMF_SUCCESS) END SUBROUTINE GEOS_AnaInit !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: GEOS_AnaRun ! ! !DESCRIPTION: Driver routine to run the GEOS analysis module. ! ! !INTERFACE: ! SUBROUTINE GEOS_AnaRun( GC, Import, Internal, Export, Clock, & Input_Opt, State_Met, State_Chm, Q, PLE, TROPP, RC ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState ! Chemistry State obj USE State_Met_Mod, ONLY : MetState ! Meteorology State obj ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ESMF_GridComp), INTENT(INOUT) :: GC ! Ref. to this GridComp TYPE(ESMF_State), INTENT(INOUT) :: Import ! Import State TYPE(ESMF_STATE), INTENT(INOUT) :: Internal ! Internal state TYPE(ESMF_State), INTENT(INOUT) :: Export ! Export State TYPE(ESMF_Clock), INTENT(INOUT) :: Clock ! ESMF Clock object TYPE(OptInput) :: Input_Opt TYPE(MetState) :: State_Met TYPE(ChmState) :: State_Chm REAL, INTENT(INOUT) :: Q(:,:,:) REAL, POINTER :: PLE(:,:,:) REAL, POINTER :: TROPP(:,:) ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REMARKS: ! ! !REVISION HISTORY: ! 25 May 2022 - C. Keller - initial version (refactored Chem_GridCompMod) ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: ispec CHARACTER(LEN=ESMF_MAXSTR) :: compName CHARACTER(LEN=ESMF_MAXSTR) :: Iam INTEGER :: STATUS !======================================================================= ! GEOS_AnaRun begins here !======================================================================= ! Do nothing if ! Get configuration CALL ESMF_GridCompGet( GC, name=compName, __RC__ ) ! callback name Iam = TRIM(compName)//'::GEOS_AnaRun' ! Do analysis for all analysis species IF ( nAnaSpec > 0 .AND. ASSOCIATED(AnaConfig) ) THEN DO ispec=1,nAnaSpec IF ( AnaConfig(ispec)%Active ) THEN CALL DoAnalysis_( GC, Import, Internal, Export, Clock, ispec, & Input_Opt, State_Met, State_Chm, Q, PLE, TROPP, __RC__ ) ENDIF ENDDO ENDIF ! Successful return RETURN_(ESMF_SUCCESS) END SUBROUTINE GEOS_AnaRun !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: GEOS_AnaFinal ! ! !DESCRIPTION: Finalize the GEOS analysis module ! ! !INTERFACE: ! SUBROUTINE GEOS_AnaFinal( RC ) ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REMARKS: ! ! !REVISION HISTORY: ! 25 May 2022 - C. Keller - initial version (refactored Chem_GridCompMod) ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC CHARACTER(LEN=ESMF_MAXSTR) :: Iam INTEGER :: N, STATUS !======================================================================= ! GEOS_AnaInit begins here !======================================================================= ! callback name Iam = 'GEOS_AnaFinal' ! Clean up IF ( ASSOCIATED(AnaConfig) ) THEN DO N=1,nAnaSpec IF ( ASSOCIATED(AnaConfig(N)%Spec2) ) DEALLOCATE(AnaConfig(N)%Spec2) ENDDO DEALLOCATE( AnaConfig ) ENDIF AnaConfig => NULL() nAnaSpec = 0 ! Successful return RETURN_(ESMF_SUCCESS) END SUBROUTINE GEOS_AnaFinal !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: DoAnalysis_ ! ! !DESCRIPTION: Routine to perform the analysis for a given species. ! ! !INTERFACE: ! SUBROUTINE DoAnalysis_( GC, Import, Internal, Export, Clock, ispec, & Input_Opt, State_Met, State_Chm, Q, PLE, TROPP, RC ) ! ! !USES: ! USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState ! Chemistry State obj USE State_Met_Mod, ONLY : MetState ! Meteorology State obj USE TIME_MOD, ONLY : GET_TS_CHEM ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ESMF_GridComp), INTENT(INOUT) :: GC ! Ref. to this GridComp TYPE(ESMF_State), INTENT(INOUT) :: Import ! Import State TYPE(ESMF_State), INTENT(INOUT) :: Internal ! Internal state TYPE(ESMF_State), INTENT(INOUT) :: Export ! Export State TYPE(ESMF_Clock), INTENT(INOUT) :: Clock ! ESMF Clock object INTEGER, INTENT(IN) :: ispec ! analysis species index TYPE(OptInput) :: Input_Opt TYPE(MetState) :: State_Met TYPE(ChmState) :: State_Chm REAL, INTENT(INOUT) :: Q(:,:,:) REAL, POINTER :: PLE(:,:,:) REAL, POINTER :: TROPP(:,:) ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REMARKS: ! ! !REVISION HISTORY: ! 25 May 2022 - C. Keller - initial version (refactored Chem_GridCompMod) ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=ESMF_MAXSTR) :: compName TYPE(ESMF_Grid) :: grid LOGICAL :: am_I_Root TYPE(AnaOptions), POINTER :: iopt => NULL() LOGICAL :: TimeForAna, HasBundle INTEGER :: yy, mm, dd, h, m, s INTEGER :: VarID INTEGER :: StratCount REAL :: ThisHour CHARACTER(LEN=ESMF_MAXSTR) :: SpecName, Spec2Name, FldName REAL, POINTER :: DiagInc(:,:,:), DiagIncFrac(:,:,:) REAL, ALLOCATABLE :: DiagInc2(:,:,:,:), DiagIncFrac2(:,:,:,:), DiagSpcRatio(:,:,:,:) REAL, POINTER :: DiagMsk2d(:,:), DiagMsk3d(:,:,:) REAL, POINTER :: AnaPtr(:,:,:), IncPtr(:,:,:), ObsHour(:,:) REAL, POINTER :: Ptr2D(:,:), Ptr3D(:,:,:) REAL, ALLOCATABLE :: SpcBkg(:,:,:), SpcAsm(:,:,:) REAL, ALLOCATABLE :: Spc2Bkg(:,:,:,:), Spc2Asm(:,:,:,:) TYPE(MAPL_SimpleBundle) :: VarBundle, VarBundleH CHARACTER(LEN=ESMF_MAXSTR) :: ifile, only_vars TYPE(ESMF_TIME) :: fileTime INTEGER :: I, J, L, N, IM, JM, LM, LB, indSpc INTEGER, ALLOCATABLE :: indSpc2(:) INTEGER :: UnitFlag, DryFlag, NNEG REAL :: OldRatio, NewRatio REAL :: wgt, tropwgt, stratwgt REAL :: DilFact, tsChem REAL :: frac, diff, maxChange, maxRatio, minRatio REAL :: mwSpc REAL, ALLOCATABLE :: mwSpc2(:) REAL :: SpcAna, SpcNew REAL :: MinConc LOGICAL :: UpdateSpec2 TYPE(ESMF_Alarm) :: PredictorAlarm LOGICAL :: PredictorActive CHARACTER(LEN=ESMF_MAXSTR) :: Iam INTEGER :: STATUS !======================================================================= ! DoAnalysis_ begins here !======================================================================= Iam = 'GEOS_Analysis::DoAnalysis_' ! Get configuration CALL ESMF_GridCompGet( GC, name=compName, grid=grid, __RC__ ) ! Root CPU? am_I_Root = MAPL_am_I_Root() ! Get settings iopt => AnaConfig(ispec) SpecName = iopt%SpecName MinConc = iopt%MinConc ! Check if it's time to do the analysis TimeForAna = .FALSE. CALL GetAnaTime_( Clock, iopt%ForwardLooking, yy, mm, dd, h, m, s, __RC__ ) ThisHour = real(h) DilFact = 1.0 ! Always do analysis if spreading increment evenly IF ( iopt%IAU ) THEN TimeForAna = .TRUE. ! Calculate dilution factor, to be applied to analysis/increment weight tsChem = GET_TS_CHEM() DilFact = real(iopt%AnalysisWindow)*(3600./tsChem) ! If using observation hours, apply analysis every (full) hour ELSEIF ( iopt%UseObsHour .AND. m==0 ) THEN TimeForAna = .TRUE. ! Otherwise, use specified analysis frequency and hour/minute offsets ELSE IF ( m==iopt%AnalysisMinute .AND. MOD(h,iopt%AnalysisFreq)==iopt%AnalysisHour ) TimeForAna = .TRUE. ENDIF ! Eventually skip during predictor step IF ( iopt%SkipPredictor ) THEN CALL ESMF_ClockGetAlarm(Clock, "PredictorActive", PredictorAlarm, __RC__) PredictorActive = ESMF_AlarmIsRinging( PredictorAlarm, __RC__ ) IF ( PredictorActive ) TimeForAna = .FALSE. ENDIF ! Initialize/reset diagnostics ! ---------------------- FldName = 'GCC_ANA_INC_'//TRIM(SpecName) CALL MAPL_GetPointer ( Export, DiagInc, TRIM(FldName), NotFoundOk=.TRUE., __RC__ ) IF ( ASSOCIATED(DiagInc) ) DiagInc = 0.0 FldName = 'GCC_ANA_INC_FRAC_'//TRIM(SpecName) CALL MAPL_GetPointer ( Export, DiagIncFrac, TRIM(FldName), NotFoundOk=.TRUE., __RC__ ) IF ( ASSOCIATED(DiagIncFrac) ) DiagIncFrac = 1.0 FldName = 'GCC_ANA_MASK_VSUM_'//TRIM(SpecName) CALL MAPL_GetPointer ( Export, DiagMsk2d, TRIM(FldName), NotFoundOk=.TRUE., __RC__ ) IF ( ASSOCIATED(DiagMsk2d) ) DiagMsk2d = 0.0 FldName = 'GCC_ANA_MASK_'//TRIM(SpecName) CALL MAPL_GetPointer ( Export, DiagMsk3d, TRIM(FldName), NotFoundOk=.TRUE., __RC__ ) IF ( ASSOCIATED(DiagMsk3d) ) DiagMsk3d = 0.0 ! Fill species 2 diagnostics IF ( iopt%nSpec2 > 0 ) THEN DO N=1,iopt%nSpec2 Spec2Name = TRIM(iopt%Spec2(N)%Spec2Name) FldName = 'GCC_ANA_INC_'//TRIM(Spec2Name) CALL MAPL_GetPointer ( Export, Ptr3D, TRIM(FldName), NotFoundOk=.TRUE., __RC__ ) IF ( ASSOCIATED(Ptr3D) .AND. .NOT. ALLOCATED(DiagInc2) ) THEN ALLOCATE(DiagInc2(SIZE(Ptr3D,1),SIZE(Ptr3D,2),SIZE(Ptr3D,3),iopt%nSpec2)) DiagInc2 = 0.0 ENDIF FldName = 'GCC_ANA_INC_FRAC_'//TRIM(Spec2Name) CALL MAPL_GetPointer ( Export, Ptr3D, TRIM(FldName), NotFoundOk=.TRUE., __RC__ ) IF ( ASSOCIATED(Ptr3D) .AND. .NOT. ALLOCATED(DiagIncFrac2) ) THEN ALLOCATE(DiagIncFrac2(SIZE(Ptr3D,1),SIZE(Ptr3D,2),SIZE(Ptr3D,3),iopt%nSpec2)) DiagIncFrac2 = 1.0 ENDIF FldName = 'GCC_ANA_RATIO_'//TRIM(Spec2Name)//'_TO_'//TRIM(SpecName) CALL MAPL_GetPointer ( Export, Ptr3D, TRIM(FldName), NotFoundOk=.TRUE., __RC__ ) IF ( ASSOCIATED(Ptr3D) .AND. .NOT. ALLOCATED(DiagSpcRatio) ) THEN ALLOCATE(DiagSpcRatio(SIZE(Ptr3D,1),SIZE(Ptr3D,2),SIZE(Ptr3D,3),iopt%nSpec2)) DiagSpcRatio = -999.0 ENDIF ENDDO ENDIF ! Check if file exists (only if it's time to do the analysis HasBundle = .FALSE. IF ( TimeForAna ) THEN only_vars = TRIM(iopt%FileVarName) IF ( iopt%NonZeroIncOnly ) only_vars = TRIM(only_vars)//','//TRIM(iopt%FileVarNameInc) CALL GetAnaBundle_( am_I_Root, iopt%FileTemplate, 'AnaFld', yy, mm, dd, h, m, grid, & VarBundle, HasBundle, ifile=ifile, fileTime=fileTime, & only_vars=only_vars, err_mode=iopt%ErrorMode, anatime=iopt%ReadAnaTime, __RC__ ) ! Read obs time using voting regridding method IF ( HasBundle .AND. iopt%UseObsHour ) THEN VarBundleH = MAPL_SimpleBundleRead ( TRIM(ifile), 'AnaHour', grid, fileTime, & ONLY_VARS=TRIM(iopt%ObsHourName), voting=.TRUE., __RC__ ) ! ONLY_VARS=TRIM(iopt%ObsHourName), regrid_method=REGRID_METHOD_VOTE, __RC__ ) ENDIF ENDIF ! Apply increments if it's time to do so and if file exists ! --------------------------------------------------------- IF ( HasBundle ) THEN ! Verbose IF ( am_I_Root ) THEN WRITE(*,100) SpecName,yy,mm,dd,h,m 100 FORMAT( "GEOS-Chem: apply analysis for species ",A5," for ",I4.4,"-",I2.2,"-",I2.2," ",I2.2,":",I2.2) ENDIF ! Get analysis field VarID = MAPL_SimpleBundleGetIndex ( VarBundle, TRIM(iopt%FileVarName), 3, RC=STATUS, QUIET=.TRUE. ) ASSERT_(RC==ESMF_SUCCESS .AND. VarID > 0) AnaPtr => VarBundle%r3(VarID)%q IF ( iopt%nonZeroIncOnly ) THEN VarID = MAPL_SimpleBundleGetIndex ( VarBundle, TRIM(iopt%FileVarNameInc), 3, RC=STATUS, QUIET=.TRUE. ) ASSERT_(RC==ESMF_SUCCESS .AND. VarID > 0) IncPtr => VarBundle%r3(VarID)%q ENDIF ! Observation hour ObsHour => NULL() IF ( iopt%UseObsHour ) THEN VarID = MAPL_SimpleBundleGetIndex ( VarBundleH, TRIM(iopt%ObsHourName), 2, RC=STATUS, QUIET=.TRUE. ) ASSERT_(RC==ESMF_SUCCESS .AND. VarID > 0) ObsHour => VarBundleH%r2(VarID)%q ENDIF ! Select GEOS-Chem index and molecular weight for analysis species. Also get the same for 2nd species (if used) indSpc = -1 IF ( iopt%nSpec2 > 0 ) THEN ALLOCATE(indSpc2(iopt%nSpec2)) ALLOCATE(mwSpc2(iopt%nSpec2)) ENDIF DO I = 1, State_Chm%nSpecies IF ( TRIM(State_Chm%SpcData(I)%Info%Name) == TRIM(SpecName) ) THEN indSpc = I mwSpc = State_Chm%SpcData(I)%Info%MW_g ENDIF IF ( iopt%nSpec2 > 0 ) THEN DO N=1,iopt%nSpec2 IF ( TRIM(State_Chm%SpcData(I)%Info%Name) == TRIM(iopt%Spec2(N)%Spec2Name) ) THEN indSpc2(N) = I mwSpc2(N) = State_Chm%SpcData(I)%Info%MW_g ENDIF ENDDO ENDIF ENDDO ASSERT_(indSpc > 0 ) ASSERT_( mwSpc > 0.0) IF ( iopt%nSpec2 > 0 ) THEN DO N=1,iopt%nSpec2 ASSERT_(indSpc2(N) > 0 ) ASSERT_( mwSpc2(N) > 0.0) ENDDO ENDIF ! array dimensions IM = SIZE(AnaPtr,1) JM = SIZE(AnaPtr,2) LM = SIZE(AnaPtr,3) ! Get lower bound of PLE array LB = LBOUND(PLE,3) ! Set dry flag DryFlag = iopt%FileVarDry ! Set unit flag. This is to prevent parsing the unit string within the loop below SELECT CASE ( TRIM(iopt%FileVarUnit) ) CASE ( 'kg/kg' ) UnitFlag = 1 IF ( DryFlag < 0 ) DryFlag = 0 ! assume kg/kg is total, not dry CASE ( 'mol/mol', 'v/v' ) UnitFlag = 2 IF ( DryFlag < 0 ) DryFlag = 1 ! assume is dry CASE ( 'ppmv', 'ppm', 'PPMV', 'PPM' ) UnitFlag = 3 IF ( DryFlag < 0 ) DryFlag = 1 ! assume dry CASE ( 'ppbv', 'ppb', 'PPBV', 'PPB' ) UnitFlag = 4 IF ( DryFlag < 0 ) DryFlag = 1 ! assume dry CASE DEFAULT UnitFlag = 1 IF ( DryFlag < 0 ) DryFlag = 0 ! assume kg/kg is total, not dry END SELECT ! State_Chm%Species are in kg/kg total. Make local copy in v/v dry before applying increments. ! Also flip vertical axis to be consistent with GEOS ALLOCATE(SpcBkg(IM,JM,LM),SpcAsm(IM,JM,LM)) SpcBkg(:,:,:) = State_Chm%Species(indSpc)%Conc(:,:,LM:1:-1) / (1.-Q) * MAPL_AIRMW / mwSpc SpcAsm(:,:,:) = SpcBkg(:,:,:) IF ( iopt%nSpec2 > 0 ) THEN ALLOCATE(Spc2Bkg(IM,JM,LM,iopt%nSpec2),Spc2Asm(IM,JM,LM,iopt%nSpec2)) DO N=1,iopt%nSpec2 Spc2Bkg(:,:,:,N) = State_Chm%Species(indSpc2(N))%Conc(:,:,LM:1:-1) / (1.-Q) * MAPL_AIRMW / mwSpc2(N) Spc2Asm(:,:,:,N) = Spc2Bkg(:,:,:,N) IF ( ALLOCATED(DiagSpcRatio) ) THEN WHERE ( SpcBkg > MinConc ) DiagSpcRatio(:,:,:,N) = Spc2Bkg(:,:,:,N) / SpcBkg(:,:,:) ELSEWHERE DiagSpcRatio(:,:,:,N) = Spc2Bkg(:,:,:,N) / MinConc ENDWHERE ENDIF ENDDO ENDIF ! Number of negative cells NNEG = 0 DO J=1,JM DO I=1,IM ! Move to next grid box if there was no observation in this cell for the given hour and the obshour flag is on IF ( iopt%UseObsHour ) THEN IF ( ObsHour(I,J) /= ThisHour ) CYCLE ENDIF ! Loop over vertical StratCount = 0 DO L=LM,1,-1 ! Fraction of cell in troposphere / stratosphere tropwgt = MAX(0.0,MIN(1.0,(PLE(I,J,L+LB)-TROPP(I,J))/(PLE(I,J,L+LB)-PLE(I,J,L+LB-1)))) stratwgt = 1.0 - tropwgt ! Count number of cells since vertical loop start that have been (at least partly) in stratosphere IF ( stratwgt > 0.1 ) StratCount = StratCount + 1 ! Skip cell if concentration change is too small IF ( iopt%ApplyIncrement .AND. ABS(AnaPtr(I,J,L)) < MinConc ) CYCLE IF ( iopt%NonZeroIncOnly ) THEN IF ( ABS(IncPtr(I,J,L)) < MinConc ) CYCLE ENDIF ! Default weight to be given to analysis. wgt = iopt%AnaFraction ! Adjust weight based on stratosphere / troposphere flag IF ( .NOT. iopt%InStrat ) wgt = wgt * tropwgt IF ( .NOT. iopt%InTrop ) wgt = wgt * stratwgt ! Adjust weight based on the specified analysis levels, with gradual transition from L1 to L2 and L3 to L4 IF ( L < iopt%AnaL2 ) wgt = wgt * ( (L-iopt%AnaL1) / (iopt%AnaL2-iopt%AnaL1) ) IF ( L > iopt%AnaL3 ) wgt = wgt * ( (iopt%AnaL4-L) / (iopt%AnaL4-iopt%AnaL4) ) ! Check for tropopause sponge layer when applying increments in strat IF ( iopt%InStrat .AND. .NOT. iopt%InTrop .AND. iopt%StratSponge > 0 ) THEN IF ( stratwgt > 0.0 .AND. StratCount <= iopt%StratSponge ) wgt = 0.0 ENDIF ! Adjust weight by # of time steps if spreading evenly using IAU. IF ( iopt%IAU ) wgt = wgt / DilFact ! Fraction must be between 0 and 1 wgt = max(0.0,min(1.0,wgt)) IF ( wgt == 0.0 ) CYCLE ! Get target concentration in v/v dry SpcAna = AnaPtr(I,J,L) IF ( UnitFlag == 1 ) SpcAna = SpcAna * ( MAPL_AIRMW / mwSpc ) IF ( UnitFlag == 3 ) SpcAna = SpcAna * 1.0e-6 IF ( UnitFlag == 4 ) SpcAna = SpcAna * 1.0e-9 IF ( DryFlag == 0 ) SpcAna = SpcAna / ( 1. - Q(I,J,L) ) ! Update field SpcNew = SpcBkg(I,J,L) IF ( iopt%ApplyIncrement ) THEN SpcNew = SpcBkg(I,J,L) + wgt*SpcAna IF ( SpcNew <= MinConc ) THEN SpcNew = MinConc NNEG = NNEG + 1 ENDIF ELSE IF ( SpcAna >= MinConc ) THEN SpcNew = wgt*SpcAna + (1.0-wgt)*SpcBkg(I,J,L) ELSE SpcNew = MinConc NNEG = NNEG + 1 ENDIF ENDIF ! Check for absolute change limit IF ( stratwgt >= 0.5 ) THEN maxChange = iopt%MaxChangeStrat maxRatio = iopt%MaxRatioStrat minRatio = iopt%MinRatioStrat ELSE maxChange = iopt%MaxChangeTrop maxRatio = iopt%MaxRatioTrop minRatio = iopt%MinRatioTrop ENDIF IF ( maxChange >= 0.0 ) THEN diff = SpcNew - SpcBkg(I,J,L) IF ( ABS(diff) > maxChange ) THEN IF ( diff > 0.0 ) SpcNew = SpcBkg(I,J,L) + maxChange IF ( diff < 0.0 ) SpcNew = SpcBkg(I,J,L) - maxChange ENDIF ENDIF ! Check for relative change limit IF ( maxRatio > 0.0 .AND. minRatio > 0.0 ) THEN frac = SpcNew / MAX(SpcBkg(I,J,L),MinConc) ! If change is greater than maximum allowed fraction, restrict to max. fraction IF ( frac > maxRatio ) THEN SpcNew = MAX(SpcBkg(I,J,L),MinConc) * maxRatio ! If change is smaller than maximum allowed fraction, restrict to min. fraction ELSEIF ( frac < minRatio ) THEN SpcNew = MAX(SpcBkg(I,J,L),MinConc) * minRatio ENDIF ENDIF ! Update assimilated field SpcAsm(I,J,L) = MAX(SpcNew,MinConc) ! Update diagnostics IF ( ASSOCIATED(DiagInc ) ) DiagInc(I,J,L) = SpcAsm(I,J,L) - SpcBkg(I,J,L) IF ( ASSOCIATED(DiagIncFrac ) ) DiagIncFrac(I,J,L) = SpcAsm(I,J,L) / MAX(SpcBkg(I,J,L),MinConc) IF ( ASSOCIATED(DiagMsk2d ) ) DiagMsk2d(I,J) = DiagMsk2d(I,J) + 1.0 IF ( ASSOCIATED(DiagMsk3d ) ) DiagMsk3d(I,J,L) = 1.0 ! Eventually update dependent species to maintain concentration ratio of species 2 / species 1 IF ( iopt%nSpec2>0 ) THEN DO N=1,iopt%nSpec2 UpdateSpec2 = .FALSE. ! Default is to use background field Spc2Asm(I,J,L,N) = Spc2Bkg(I,J,L,N) ! Use background field if in stratosphere and no adjustment to be done in stratosphere IF ( stratwgt >= 0.5 .AND. .NOT. iopt%Spec2(N)%Spec2Strat ) THEN CYCLE ! Use background field if in troposphere and no adjustment to be done in troposphere ELSEIF ( tropwgt >= 0.5 .AND. .NOT. iopt%Spec2(N)%Spec2Trop ) THEN CYCLE ! Calculate Spc2/Spc1 ratio before update and maintain that ratio in assimilation field ELSE OldRatio = Spc2Bkg(I,J,L,N) / MAX(SpcBkg(I,J,L),MinConc) NewRatio = Spc2Bkg(I,J,L,N) / SpcAsm(I,J,L) ! Update species only if the ratio is within the specified limits. Otherwise, we assume ! that species 2 is so abundant or missing that updating it is not meaningful. IF ( ( OldRatioiopt%Spec2(N)%Spec2MinRatio ) .OR. & ( NewRatioiopt%Spec2(N)%Spec2MinRatio ) ) THEN Spc2Asm(I,J,L,N) = SpcAsm(I,J,L) * OldRatio UpdateSpec2 = .TRUE. ENDIF ENDIF ! Diagnostics IF( UpdateSpec2 ) THEN IF ( ALLOCATED(DiagInc2 ) ) DiagInc2(I,J,L,N) = Spc2Asm(I,J,L,N) - Spc2Bkg(I,J,L,N) IF ( ALLOCATED(DiagIncFrac2) ) DiagIncFrac2(I,J,L,N) = Spc2Asm(I,J,L,N) / MAX(Spc2Bkg(I,J,L,N),MinConc) IF ( ALLOCATED(DiagSpcRatio) ) DiagSpcRatio(I,J,L,N) = Spc2Asm(I,J,L,N) / SpcAsm(I,J,L) ENDIF ENDDO ENDIF ENDDO ENDDO ENDDO ! Print warning if at least one negative cell IF ( NNEG > 0 .and. iopt%PrintNeg==1 ) THEN WRITE(*,*) '*** DoAnalysis_ warning: encountered concentration below threshold, set to minimum: ',TRIM(SpecName),NNEG,MinConc,' ***' ENDIF ! Pass back to State_Chm%Species array: flip vertical axis and convert v/v dry to kg/kg total ! ------------------------------------------------------------------------------------------- State_Chm%Species(indSpc)%Conc(:,:,LM:1:-1) = SpcAsm(:,:,:) * (1.-Q) / MAPL_AIRMW * mwSpc IF ( iopt%nSpec2 > 0 ) THEN DO N=1,iopt%nSpec2 State_Chm%Species(indSpc2(N))%Conc(:,:,LM:1:-1) = Spc2Asm(:,:,:,N) * (1.-Q) / MAPL_AIRMW * mwSpc2(N) ENDDO ENDIF ENDIF ! HasBundle ! Fill species 2 diagnostics IF ( iopt%nSpec2 > 0 ) THEN DO N=1,iopt%nSpec2 Spec2Name = TRIM(iopt%Spec2(N)%Spec2Name) FldName = 'GCC_ANA_INC_'//TRIM(Spec2Name) CALL MAPL_GetPointer ( Export, Ptr3D, TRIM(FldName), NotFoundOk=.TRUE., __RC__ ) IF ( ASSOCIATED(Ptr3D) ) Ptr3D(:,:,:) = DiagInc2(:,:,:,N) FldName = 'GCC_ANA_INC_FRAC_'//TRIM(Spec2Name) CALL MAPL_GetPointer ( Export, Ptr3D, TRIM(FldName), NotFoundOk=.TRUE., __RC__ ) IF ( ASSOCIATED(Ptr3D) ) Ptr3D(:,:,:) = DiagIncFrac2(:,:,:,N) FldName = 'GCC_ANA_RATIO_'//TRIM(Spec2Name)//'_TO_'//TRIM(SpecName) CALL MAPL_GetPointer ( Export, Ptr3D, TRIM(FldName), NotFoundOk=.TRUE., __RC__ ) IF ( ASSOCIATED(Ptr3D) ) Ptr3D(:,:,:) = DiagSpcRatio(:,:,:,N) ENDDO ENDIF ! Cleanup ! ------- IF ( ALLOCATED(SpcBkg ) ) DEALLOCATE(SpcBkg) IF ( ALLOCATED(SpcAsm ) ) DEALLOCATE(SpcAsm) IF ( ALLOCATED(Spc2Bkg ) ) DEALLOCATE(Spc2Bkg) IF ( ALLOCATED(Spc2Asm ) ) DEALLOCATE(Spc2Asm) IF ( ALLOCATED(DiagInc2 ) ) DEALLOCATE(DiagInc2) IF ( ALLOCATED(DiagIncFrac2) ) DEALLOCATE(DiagIncFrac2) IF ( ALLOCATED(DiagSpcRatio) ) DEALLOCATE(DiagSpcRatio) IF ( ALLOCATED(indSpc2 ) ) DEALLOCATE(indSpc2) IF ( ALLOCATED(mwSpc2 ) ) DEALLOCATE(mwSpc2) IF ( ASSOCIATED(DiagInc ) ) DiagInc => NULL() IF ( ASSOCIATED(DiagIncFrac ) ) DiagIncFrac => NULL() IF ( ASSOCIATED(DiagMsk2d ) ) DiagMsk2d => NULL() IF ( ASSOCIATED(DiagMsk3d ) ) DiagMsk3d => NULL() IF ( HasBundle ) THEN CALL MAPL_SimpleBundleDestroy ( VarBundle, __RC__ ) IF ( iopt%UseObsHour ) CALL MAPL_SimpleBundleDestroy ( VarBundleH, __RC__ ) ENDIF iopt => NULL() ! Successful return RETURN_(ESMF_SUCCESS) END SUBROUTINE DoAnalysis_ !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: GetAnaTime_ ! ! !DESCRIPTION: Get analysis time. This is either the current date/time or one ! GEOS-Chem time step ahead, depending on the Fwd input argument. !\\ !\\ ! !INTERFACE: ! SUBROUTINE GetAnaTime_( Clock, Fwd, yy, mm, dd, h, m, s, RC ) ! ! !USES: ! USE TIME_MOD, ONLY : GET_TS_CHEM ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ESMF_Clock), INTENT(INOUT) :: Clock ! ESMF Clock object LOGICAL, INTENT(IN) :: Fwd ! Adjust time one time step forward? INTEGER, INTENT(OUT) :: yy, mm, dd ! year, month, day INTEGER, INTENT(OUT) :: h, m, s ! hour, minute, second INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 01 Mar 2022 - C. Keller - Initial version ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! LOCAL VARIABLES: ! TYPE(ESMF_TIME) :: currTime TYPE(ESMF_TimeInterval) :: tsChemInt REAL :: tsChem ! Begins here __Iam__('GetAnaTime_') ! Get current time CALL ESMF_ClockGet( Clock, currTime = currTime, __RC__ ) ! Eventually adjust time IF ( Fwd ) THEN tsChem = GET_TS_CHEM() ELSE tsChem = 0.0 ENDIF CALL ESMF_TimeIntervalSet(tsChemInt, s_r8=real(tsChem,8), __RC__ ) CALL ESMF_TimeGet( currTime+tsChemInt, yy=yy, mm=mm, dd=dd, h=h, m=m, s=s, __RC__ ) ! All done RETURN_(ESMF_SUCCESS) END SUBROUTINE GetAnaTime_ !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: GetAnaBundle_ ! ! !DESCRIPTION: Get analysis data bundle. !\\ !\\ ! !INTERFACE: ! SUBROUTINE GetAnaBundle_( am_I_Root, FileTmpl, bName, yy, mm, dd, h, m, grid, & VarBundle, HasBundle, ifile, fileTime, only_vars, & err_mode, anatime, RC ) ! ! !USES: ! ! ! !INPUT/OUTPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: am_I_Root ! Root CPU? CHARACTER(LEN=*), INTENT(IN) :: FileTmpl ! file template CHARACTER(LEN=*), INTENT(IN) :: bName ! bundle name INTEGER, INTENT(IN) :: yy, mm, dd ! year, month, day INTEGER, INTENT(IN) :: h, m ! hour, minute, second TYPE(ESMF_Grid), INTENT(INOUT) :: grid ! output grid TYPE(MAPL_SimpleBundle) :: VarBundle ! Bundle LOGICAL, INTENT(INOUT) :: HasBundle ! Was bundle found? CHARACTER(LEN=*), INTENT(OUT), OPTIONAL :: ifile ! file name TYPE(ESMF_TIME), INTENT(OUT), OPTIONAL :: fileTime ! file time CHARACTER(LEN=*), INTENT(IN), OPTIONAL :: only_vars ! variables to read INTEGER, INTENT(IN), OPTIONAL :: err_mode ! error mode LOGICAL, INTENT(IN), OPTIONAL :: anatime ! round time to analysis time? INTEGER, INTENT(OUT), OPTIONAL :: RC ! Success or failure? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 01 Mar 2022 - C. Keller - Initial version ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! LOCAL VARIABLES: ! CHARACTER(LEN=ESMF_MAXSTR) :: ifile_ CHARACTER(LEN=4) :: syy CHARACTER(LEN=2) :: smm, sdd, sh, sm INTEGER :: nymd, nhms, incSecs INTEGER :: yy_, mm_, dd_, h_, m_, s_, fid TYPE(ESMF_TIME) :: currTime, fileTime_ TYPE(ESMF_TimeInterval) :: tsInt LOGICAL :: HasFile, anatime_ INTEGER :: errmode_ ! Begins here __Iam__('GetAnaBundle_') ! Initialize HasBundle = .FALSE. errmode_ = 2 anatime_ = .FALSE. if ( present(err_mode) ) errmode_ = err_mode if ( present(anatime ) ) anatime_ = anatime ! Get date & time of file. These are the passed values by default yy_ = yy mm_ = mm dd_ = dd h_ = h m_ = m ! If anatime is true, set time to closest analysis hour (0z, 6z, 12z, 18z) IF ( anatime_ ) THEN m_ = 0 IF ( h < 3 ) THEN h_ = 0 ELSEIF ( h < 9 ) THEN h_ = 6 ELSEIF ( h < 15 ) THEN h_ = 12 ELSEIF ( h < 21 ) THEN h_ = 18 ! If 21z, get next day (but keep minutes) ELSE call ESMF_TimeSet(currTime, yy=yy_, mm=mm_, dd=dd_, h=23, m=m_, s=0) call ESMF_TimeIntervalSet(tsInt, s_r8=real(7200.0,8), __RC__ ) call ESMF_TimeGet( currTime+tsInt, yy=yy_, mm=mm_, dd=dd_) h_ = 0 ENDIF ENDIF ! Parse file name ifile_ = FileTmpl write(syy,'(I4.4)') yy_ CALL ReplaceChar_ ( ifile_, '%y4', syy ) write(smm,'(I2.2)') mm_ CALL ReplaceChar_ ( ifile_, '%m2', smm ) write(sdd,'(I2.2)') dd_ CALL ReplaceChar_ ( ifile_, '%d2', sdd ) write(sh,'(I2.2)') h_ CALL ReplaceChar_ ( ifile_, '%h2', sh ) write(sm,'(I2.2)') m_ CALL ReplaceChar_ ( ifile_, '%n2', sm ) ! set default file time s_ = 0 call ESMF_TimeSet(fileTime_, yy=yy_, mm=mm_, dd=dd_, h=h_, m=m_, s=s_) ! Check if file exists INQUIRE( FILE=TRIM(ifile_), EXIST=HasFile ) IF ( HasFile ) THEN IF ( am_I_Root ) WRITE(*,*) 'GCC GetAnaBundle_: Reading '//TRIM(ifile_) ! Try reading current time stamp on file VarBundle = MAPL_SimpleBundleRead ( TRIM(ifile_), TRIM(bname), grid, fileTime_, ONLY_VARS=only_vars, RC=STATUS ) IF ( STATUS == ESMF_SUCCESS ) HasBundle = .TRUE. ! If current time stamp not found in file, just read the first entry (dangerous!) IF ( .NOT. HasBundle ) THEN ! If error mode is 0 or 1, stop with error IF ( errmode_ <= 1 ) THEN IF ( am_I_Root ) THEN WRITE(*,*) 'Error: current time not found in file: ',TRIM(ifile_),yy_,mm_,dd_,h_,m_ WRITE(*,*) 'You can get past this error by setting the error mode to > 1' ENDIF ASSERT_(.FALSE.) ELSE IF ( am_I_Root ) THEN WRITE(*,*) 'Warning: current time not found in file - will read first time slice on file!! ',yy_,mm_,dd_,h_,m_ ENDIF ! Get time stamp on file call GFIO_Open( ifile_, 1, fid, STATUS ) ASSERT_(STATUS==0) call GetBegDateTime ( fid, nymd, nhms, incSecs, STATUS ) ASSERT_(STATUS==0) caLL GFIO_Close( fid, STATUS ) ASSERT_(STATUS==0) yy_ = nymd/10000 mm_ = (nymd-yy_*10000) / 100 dd_ = nymd - (10000*yy_ + mm_*100) h_ = nhms/10000 m_ = (nhms- h_*10000) / 100 s_ = nhms - (10000*h_ + m_*100) call ESMF_TimeSet(fileTime_, yy=yy_, mm=mm_, dd=dd_, h=h_, m=m_, s=s_) VarBundle = MAPL_SimpleBundleRead ( TRIM(ifile_), TRIM(bname), grid, fileTime_, ONLY_VARS=only_vars, RC=STATUS ) IF ( STATUS==ESMF_SUCCESS ) HasBundle = .TRUE. ENDIF ENDIF ! error handling if file not found ELSE ! If file not found and error mode is zero, stop with error IF ( errmode_ == 0 ) THEN IF ( am_I_Root ) THEN WRITE(*,*) 'ERROR: file not found: '//TRIM(ifile_) WRITE(*,*) 'You can get past this error setting the error mode to > 0' ENDIF ASSERT_(.FALSE.) ! If file not found and error mode is not zero, just skip nudging ELSE IF ( am_I_Root ) WRITE(*,*) '*** GCC warning in GetAnaBundle_, file not found: '//TRIM(ifile_) ENDIF ENDIF ! Return IF ( present(ifile ) ) ifile = ifile_ IF ( present(fileTime) ) fileTime = fileTime_ RETURN_(ESMF_SUCCESS) END SUBROUTINE GetAnaBundle_ !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ReadSettings_ ! ! !DESCRIPTION: Reads the analysis settings from a given configuration file ! ! ! !INTERFACE: ! SUBROUTINE ReadSettings_( am_I_Root, GEOSCF, ispec, RC ) ! ! !USES: ! ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: am_I_Root ! Root PET? INTEGER, INTENT(IN) :: ispec ! species number ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ESMF_CONFIG), INTENT(INOUT) :: GEOSCF ! GCC RC file ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REMARKS: ! ! !REVISION HISTORY: ! 25 May 2022 - C. Keller - initial version (refactored Chem_GridCompMod) ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! TYPE(ESMF_Config) :: CF CHARACTER(LEN=ESMF_MAXSTR) :: ConfigNameLabel, ConfigName, ThisStr CHARACTER(LEN=ESMF_MAXSTR) :: Spec2Name, Spec2Strat, Spec2Trop CHARACTER(LEN=ESMF_MAXSTR) :: Spec2MinRatio, Spec2MaxRatio CHARACTER(LEN=3) :: intStr INTEGER :: N, IDX, nSpec2, ThisInt CHARACTER(LEN=ESMF_MAXSTR) :: Iam INTEGER :: STATUS !======================================================================= ! ReadSettings_ begins here !======================================================================= Iam = 'ReadSettings_' ! Get name of configuration file with settings WRITE( intStr, '(I3.3)' ) ispec ConfigNameLabel = 'Analysis_Settings_Spec'//TRIM(intStr)//':' CALL ESMF_ConfigGetAttribute( GEOSCF, ConfigName, Label=TRIM(ConfigNameLabel), __RC__ ) ! Load configuration file CF = ESMF_ConfigCreate (__RC__) IF ( am_I_Root ) write(*,*) 'Reading analysis settings from file '//TRIM(ConfigName) call ESMF_ConfigLoadFile (CF, TRIM(ConfigName), __RC__ ) ! Read settings and write to configuration list CALL ESMF_ConfigGetAttribute( CF, AnaConfig(ispec)%SpecName, Label='SpeciesName:' , __RC__ ) CALL ESMF_ConfigGetAttribute( CF, ThisInt, Label='Active:' , Default=1, __RC__ ) AnaConfig(ispec)%Active = ( ThisInt == 1 ) CALL ESMF_ConfigGetAttribute( CF, AnaConfig(ispec)%AnalysisFreq, Label='AnalysisFreq:' , Default=6, __RC__ ) CALL ESMF_ConfigGetAttribute( CF, AnaConfig(ispec)%AnalysisHour, Label='AnalysisHour:' , Default=0, __RC__ ) CALL ESMF_ConfigGetAttribute( CF, AnaConfig(ispec)%AnalysisMinute, Label='AnalysisMinute:', Default=0, __RC__ ) CALL ESMF_ConfigGetAttribute( CF, ThisInt, Label='ForwardLooking:', Default=1, __RC__ ) AnaConfig(ispec)%ForwardLooking = ( ThisInt == 1 ) CALL ESMF_ConfigGetAttribute( CF, ThisInt, Label='ReadAnaTime:' , Default=0, __RC__ ) AnaConfig(ispec)%ReadAnaTime = ( ThisInt == 1 ) CALL ESMF_ConfigGetAttribute( CF, ThisInt, Label='SkipPredictor:' , Default=0, __RC__ ) AnaConfig(ispec)%SkipPredictor = ( ThisInt == 1 ) CALL ESMF_ConfigGetAttribute( CF, AnaConfig(ispec)%FileTemplate, Label='FileTemplate:' , __RC__ ) CALL ESMF_ConfigGetAttribute( CF, AnaConfig(ispec)%FileVarName, Label='FileVarName:' , __RC__ ) CALL ESMF_ConfigGetAttribute( CF, AnaConfig(ispec)%FileVarUnit, Label='FileVarUnit:' , Default='v/v', __RC__ ) CALL ESMF_ConfigGetAttribute( CF, AnaConfig(ispec)%FileVarDry, Label='FileVarDry:' , Default=-1, __RC__ ) CALL ESMF_ConfigGetAttribute( CF, ThisInt, Label='ApplyIncrement:', Default=0, __RC__ ) AnaConfig(ispec)%ApplyIncrement = ( ThisInt == 1 ) CALL ESMF_ConfigGetAttribute( CF, ThisInt, Label='IAU:' , Default=0, __RC__ ) AnaConfig(ispec)%IAU = ( ThisInt == 1 ) CALL ESMF_ConfigGetAttribute( CF, AnaConfig(ispec)%AnalysisWindow, Label='AnalysisWindow:', Default=6, __RC__ ) CALL ESMF_ConfigGetAttribute( CF, ThisInt, Label='InStrat:' , Default=1, __RC__ ) AnaConfig(ispec)%InStrat = ( ThisInt == 1 ) CALL ESMF_ConfigGetAttribute( CF, ThisInt, Label='InTrop:' , Default=1, __RC__ ) AnaConfig(ispec)%InTrop = ( ThisInt == 1 ) CALL ESMF_ConfigGetAttribute( CF, ThisInt, Label='NonZeroIncOnly:', Default=1, __RC__ ) AnaConfig(ispec)%NonZeroIncOnly = ( ThisInt == 1 ) CALL ESMF_ConfigGetAttribute( CF, AnaConfig(ispec)%FileVarNameInc, Label='FileVarNameInc:', Default='N/A', __RC__ ) CALL ESMF_ConfigGetAttribute( CF, AnaConfig(ispec)%AnaL1, Label='AnaL1:' , Default=1, __RC__ ) CALL ESMF_ConfigGetAttribute( CF, AnaConfig(ispec)%AnaL2, Label='AnaL2:' , Default=1, __RC__ ) CALL ESMF_ConfigGetAttribute( CF, AnaConfig(ispec)%AnaL3, Label='AnaL3:' , Default=72, __RC__ ) CALL ESMF_ConfigGetAttribute( CF, AnaConfig(ispec)%AnaL4, Label='AnaL4:' , Default=72, __RC__ ) CALL ESMF_ConfigGetAttribute( CF, AnaConfig(ispec)%AnaFraction, Label='AnaFraction:' , Default=1.0, __RC__ ) CALL ESMF_ConfigGetAttribute( CF, AnaConfig(ispec)%StratSponge, Label='StratSponge:' , Default=0, __RC__ ) CALL ESMF_ConfigGetAttribute( CF, AnaConfig(ispec)%MaxChangeStrat, Label='MaxChangeStrat:', Default=-1.0, __RC__ ) CALL ESMF_ConfigGetAttribute( CF, AnaConfig(ispec)%MaxChangeTrop , Label='MaxChangeTrop:' , Default=-1.0, __RC__ ) CALL ESMF_ConfigGetAttribute( CF, AnaConfig(ispec)%MaxRatioStrat , Label='MaxRatioStrat:' , Default=-1.0, __RC__ ) CALL ESMF_ConfigGetAttribute( CF, AnaConfig(ispec)%MaxRatioTrop , Label='MaxRatioTrop:' , Default=-1.0, __RC__ ) CALL ESMF_ConfigGetAttribute( CF, AnaConfig(ispec)%MinRatioStrat , Label='MinRatioStrat:' , Default=-1.0, __RC__ ) CALL ESMF_ConfigGetAttribute( CF, AnaConfig(ispec)%MinRatioTrop , Label='MinRatioTrop:' , Default=-1.0, __RC__ ) CALL ESMF_ConfigGetAttribute( CF, ThisInt, Label='UseObsHour:' , Default=0, __RC__ ) AnaConfig(ispec)%UseObsHour = ( ThisInt == 1 ) CALL ESMF_ConfigGetAttribute( CF, AnaConfig(ispec)%ObsHourName, Label='ObsHourName:' , Default='ana_hour', __RC__ ) CALL ESMF_ConfigGetAttribute( CF, AnaConfig(ispec)%MinConc, Label='MinConc:' , Default=1.0e-20, __RC__ ) CALL ESMF_ConfigGetAttribute( CF, AnaConfig(ispec)%ErrorMode, Label='ErrorMode:' , Default=1 , __RC__ ) CALL ESMF_ConfigGetAttribute( CF, AnaConfig(ispec)%PrintNeg, Label='PrintNeg:' , Default=1 , __RC__ ) ! Check for "dependent" species CALL ESMF_ConfigGetAttribute( CF, nSpec2, Label='HasSpec2:' , Default=0, __RC__ ) AnaConfig(ispec)%nSpec2 = nSpec2 IF ( nSpec2 > 0 ) THEN ALLOCATE(AnaConfig(ispec)%Spec2(nSpec2)) ! Read parameter as string (can be different for multiple dependent species, separated by comma') CALL ESMF_ConfigGetAttribute( CF, Spec2Name, Label='Spec2Name:' , Default='N/A', __RC__ ) CALL ESMF_ConfigGetAttribute( CF, Spec2Strat, Label='Spec2Strat:' , Default='1', __RC__ ) CALL ESMF_ConfigGetAttribute( CF, Spec2Trop, Label='Spec2Trop:' , Default='1', __RC__ ) CALL ESMF_ConfigGetAttribute( CF, Spec2MinRatio, Label='Spec2MinRatio:' , Default='-1.0', __RC__ ) CALL ESMF_ConfigGetAttribute( CF, Spec2MaxRatio, Label='Spec2MaxRatio:' , Default='-1.0', __RC__ ) ! Assign parameter to various slots DO N = 1, nSpec2 ! Species name CALL Spec2Parse_( Spec2Name, N, ThisStr ) AnaConfig(ispec)%Spec2(N)%Spec2Name = ThisStr ! Use in troposphere/stratosphere? CALL Spec2Parse_( Spec2Strat, N, ThisStr ) AnaConfig(ispec)%Spec2(N)%Spec2Strat = ( TRIM(ThisStr)=='1' ) CALL Spec2Parse_( Spec2Trop, N, ThisStr ) AnaConfig(ispec)%Spec2(N)%Spec2Trop = ( TRIM(ThisStr)=='1' ) ! Minimum / maximum ratios CALL Spec2Parse_( Spec2MinRatio, N, ThisStr ) READ(ThisStr,*) AnaConfig(ispec)%Spec2(N)%Spec2MinRatio CALL Spec2Parse_( Spec2MaxRatio, N, ThisStr ) READ(ThisStr,*) AnaConfig(ispec)%Spec2(N)%Spec2MaxRatio ENDDO ELSE AnaConfig(ispec)%Spec2 => NULL() ENDIF ! Some logical checks IF ( AnaConfig(ispec)%ApplyIncrement ) AnaConfig(ispec)%NonZeroIncOnly = .FALSE. ! Force some flags if spreading increments across observation window IF ( AnaConfig(ispec)%IAU ) THEN AnaConfig(ispec)%UseObsHour = .FALSE. AnaConfig(ispec)%ReadAnaTime = .TRUE. !AnaConfig(ispec)%AnaFraction = AnaConfig(ispec)%AnaFraction ENDIF ! Verbose IF ( am_I_Root ) THEN WRITE(*,*) '----------------------------------------' WRITE(*,*) 'Analysis settings for GEOS-Chem species ',TRIM(AnaConfig(ispec)%SpecName),':' WRITE(*,*) 'Active: ',AnaConfig(ispec)%Active IF ( AnaConfig(ispec)%Active ) THEN WRITE(*,*) '- Analysis frequency : ',AnaConfig(ispec)%AnalysisFreq WRITE(*,*) '- Analysis hour : ',AnaConfig(ispec)%AnalysisHour WRITE(*,*) '- Analysis minute : ',AnaConfig(ispec)%AnalysisMinute WRITE(*,*) '- Forward looking file read : ', AnaConfig(ispec)%ForwardLooking WRITE(*,*) '- Read file analysis time stamp : ', AnaConfig(ispec)%ReadAnaTime WRITE(*,*) '- Ignore during predictor step : ', AnaConfig(ispec)%SkipPredictor WRITE(*,*) '- Use observation hour : ', AnaConfig(ispec)%UseObsHour WRITE(*,*) '- File template : ', TRIM(AnaConfig(ispec)%FileTemplate) WRITE(*,*) '- Variable name on file : ', TRIM(AnaConfig(ispec)%FileVarName) WRITE(*,*) '- Variable unit on file : ', TRIM(AnaConfig(ispec)%FileVarUnit) WRITE(*,*) '- Dry air flag (0=dry, 1=total) : ', AnaConfig(ispec)%FileVarDry IF ( AnaConfig(ispec)%UseObsHour ) THEN WRITE(*,*) '- Observation hour name on file : ', TRIM(AnaConfig(ispec)%ObsHourName) ENDIF WRITE(*,*) '- Apply increments : ', AnaConfig(ispec)%ApplyIncrement WRITE(*,*) '- Spread increments (IAU) : ', AnaConfig(ispec)%IAU WRITE(*,*) '- Analysis window length [h] : ', AnaConfig(ispec)%AnalysisWindow WRITE(*,*) '- Analysis where inc is not zero: ', AnaConfig(ispec)%NonZeroIncOnly IF ( AnaConfig(ispec)%NonZeroIncOnly ) THEN WRITE(*,*) '- Analysis inc variable name : ', TRIM(AnaConfig(ispec)%FileVarNameInc) ENDIF WRITE(*,*) '- Apply analysis in stratosphere: ', AnaConfig(ispec)%InStrat WRITE(*,*) '- Apply analysis in troposphere : ', AnaConfig(ispec)%InTrop WRITE(*,*) '- Tropopause sponge layer : ', AnaConfig(ispec)%StratSponge WRITE(*,*) '- Analysis level 1 : ', AnaConfig(ispec)%AnaL1 WRITE(*,*) '- Analysis level 2 : ', AnaConfig(ispec)%AnaL2 WRITE(*,*) '- Analysis level 3 : ', AnaConfig(ispec)%AnaL3 WRITE(*,*) '- Analysis level 4 : ', AnaConfig(ispec)%AnaL4 WRITE(*,*) '- Analysis fraction : ', AnaConfig(ispec)%AnaFraction WRITE(*,*) '- Max. absolute change in strat : ', AnaConfig(ispec)%MaxChangeStrat WRITE(*,*) '- Max. absolute change in trop : ', AnaConfig(ispec)%MaxChangeTrop WRITE(*,*) '- Max. relative change in strat : ', AnaConfig(ispec)%MaxRatioStrat WRITE(*,*) '- Max. relative change in trop : ', AnaConfig(ispec)%MaxRatioTrop WRITE(*,*) '- Min. relative change in strat : ', AnaConfig(ispec)%MinRatioStrat WRITE(*,*) '- Min. relative change in trop : ', AnaConfig(ispec)%MinRatioTrop WRITE(*,*) '- Min. concentration (for ratio): ', AnaConfig(ispec)%MinConc WRITE(*,*) '- # of dependent species : ', AnaConfig(ispec)%nSpec2 IF ( AnaConfig(ispec)%nSpec2 > 0 ) THEN DO N = 1, AnaConfig(ispec)%nSpec2 WRITE(*,*) '- Name of dependent species : ', TRIM(AnaConfig(ispec)%Spec2(N)%Spec2Name) WRITE(*,*) '- Update in stratosphere : ', AnaConfig(ispec)%Spec2(N)%Spec2Strat WRITE(*,*) '- Update in troposphere : ', AnaConfig(ispec)%Spec2(N)%Spec2Trop WRITE(*,*) '- Minimum ratio (x/parent) : ', AnaConfig(ispec)%Spec2(N)%Spec2MinRatio WRITE(*,*) '- Maximum ratio (x/parent) : ', AnaConfig(ispec)%Spec2(N)%Spec2MaxRatio ENDDO ENDIF WRITE(*,*) '- Error mode : ', AnaConfig(ispec)%ErrorMode WRITE(*,*) '- Print # negative cocentrations: ', AnaConfig(ispec)%PrintNeg ENDIF ! Active ENDIF ! Successful return RETURN_(ESMF_SUCCESS) END SUBROUTINE ReadSettings_ !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Spec2Parse_ ! ! !DESCRIPTION: Helper routine to get the Nth index of a string (separated ! by comma). !\\ !\\ ! !INTERFACE: ! SUBROUTINE Spec2Parse_( instr, N, outstr ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: instr INTEGER, INTENT(IN) :: N ! ! !INPUT/OUTPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(INOUT) :: outstr ! ! !REVISION HISTORY: ! 07 Jul 2022 - C. Keller - Initial version ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! LOCAL VARIABLES: ! INTEGER :: lenstr INTEGER :: I, LPOS, RPOS CHARACTER(LEN=ESMF_MAXSTR) :: tmpstr ! Local copy of original string tmpstr = TRIM(instr) lenstr = LEN(instr) ! Check for first separator in string LPOS = 0 RPOS = INDEX(TRIM(tmpstr),',') ! Use full string if no separator in string IF ( RPOS>0 .AND. N>1 ) THEN DO I = 2, N IF(RPOS<=0) CYCLE LPOS = RPOS tmpstr(LPOS:LPOS) = '.' RPOS = INDEX(TRIM(tmpstr),',') ENDDO ENDIF IF ( RPOS <= 0 ) RPOS = lenstr+1 outstr = TRIM(instr(LPOS+1:RPOS-1)) END SUBROUTINE Spec2Parse_ !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ReplaceChar_ ! ! !DESCRIPTION: Replaces all characters in a string. !\\ !\\ ! !INTERFACE: ! SUBROUTINE ReplaceChar_ ( str, pattern, replace ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: pattern CHARACTER(LEN=*), INTENT(IN) :: replace ! ! !INPUT/OUTPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(INOUT) :: str ! ! !REVISION HISTORY: ! 20 Dec 2018 - C. Keller - Initial version ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! LOCAL VARIABLES: ! INTEGER :: I, LP, LS LP = LEN(TRIM(pattern)) LS = LEN(TRIM(str))+1 I = INDEX(TRIM(str),TRIM(pattern)) DO WHILE ( I > 0 ) str = TRIM(str(1:I-1))//TRIM(replace)//TRIM(str(I+LP:LS)) I = INDEX(TRIM(str),TRIM(pattern)) ENDDO END SUBROUTINE ReplaceChar_ !EOC END MODULE GEOS_Analysis ================================================ FILE: Interfaces/GEOS/geos_interface.F90 ================================================ #include "MAPL_Generic.h" !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: geos_interface ! ! !DESCRIPTION: Module with routines and variables to interface GEOS-Chem with ! GEOS !\\ !\\ ! !INTERFACE: ! MODULE GEOS_Interface ! ! !USES: ! ! MAPL/ESMF USE ESMF USE MAPL_Mod ! GEOS-Chem stuff USE Precision_Mod USE ErrCode_Mod ! Error numbers USE PHYSCONSTANTS USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState, Ind_ ! Chemistry State obj USE State_Met_Mod, ONLY : MetState ! Meteorology State obj USE State_Diag_Mod, ONLY : DgnState ! Diagnostics State obj USE State_Grid_Mod, ONLY : GrdState ! Grid State obj IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: MetVars_For_Lightning_Init PUBLIC :: MetVars_For_Lightning_Run PUBLIC :: GEOS_CheckRATSandOx PUBLIC :: GEOS_RATSandOxDiags PUBLIC :: GEOS_SetH2O PUBLIC :: GEOS_Diagnostics PUBLIC :: GEOS_CalcTotOzone PUBLIC :: GEOS_InitFromFile PUBLIC :: GEOS_AddSpecInfoForMoist PUBLIC :: GEOS_PreRunChecks ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: CalcColumns_ PRIVATE :: CalcSpeciesDiagnostics_ PRIVATE :: Init3D_ PRIVATE :: Init2D_ ! ! !PRIVATE TYPES: ! ! !REVISION HISTORY: ! 01 Jul 2022 - C. Keller - initial version (refactored Chem_GridCompMod) ! See https://github.com/geoschem/geos-chem for full history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: GEOS_CheckRATSandOx ! ! !DESCRIPTION: Check if GEOS-Chem is the RATS/Ox provider and set services ! accordingly. !\\ !\\ ! !INTERFACE: ! SUBROUTINE GEOS_CheckRATSandOx( am_I_Root, GC, RC ) ! ! !USE: ! ! !INPUT/OUTPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: am_I_Root ! Root CPU? TYPE(ESMF_GridComp), INTENT(INOUT) :: GC ! Ref. to this GridComp INTEGER, INTENT(INOUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 13 Jul 2022 - C. Keller - Initial version (from Chem_GridCompMod) ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! LOCAL VARIABLES: ! TYPE(ESMF_CONFIG) :: CF CHARACTER(LEN=ESMF_MAXSTR) :: ProviderName __Iam__('GEOS_CheckRATSandOx') ! Get configuration CALL ESMF_GridCompGet( GC, CONFIG = CF, __RC__ ) ! If GEOS-Chem is the RATS provider, we need to make sure that all ! RATS quantities are available to irradiation. We will get these ! quantities directly from the GEOS-Chem internal state, except for ! H2O_TEND that is calculated explicitly. ! Since those fields are just copies of the GEOS-Chem internal ! species, we add them as export specs, i.e. no physics is applied ! to those fields. ! ---------------------------------------------------------------- ! See if GC is the RATS provider CALL ESMF_ConfigGetAttribute( CF, ProviderName, & Label="RATS_PROVIDER:", & Default="PCHEM", & __RC__ ) IF ( ProviderName == "GEOSCHEMCHEM" ) THEN ! verbose IF ( am_I_Root ) WRITE(*,*) 'GEOS-Chem is RATS provider, set exports...' call MAPL_AddExportSpec(GC, & SHORT_NAME = 'N2O', & LONG_NAME = 'nitrous_oxide_volume_mixing_ratio', & UNITS = 'mol mol-1', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & __RC__ ) call MAPL_AddExportSpec(GC, & SHORT_NAME = 'CFC11', & LONG_NAME = 'CFC11_(CCl3F)_volume_mixing_ratio', & UNITS = 'mol mol-1', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & __RC__ ) call MAPL_AddExportSpec(GC, & SHORT_NAME = 'CFC12', & LONG_NAME = 'CFC12_(CCl2F2)_volume_mixing_ratio',& UNITS = 'mol mol-1', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & __RC__ ) call MAPL_AddExportSpec(GC, & SHORT_NAME = 'HCFC22', & LONG_NAME = 'HCFC22_(CHClF2)_volume_mixing_ratio', & UNITS = 'mol mol-1', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & __RC__ ) call MAPL_AddExportSpec(GC, & SHORT_NAME = 'CH4', & LONG_NAME = 'methane_volume_mixing_ratio', & UNITS = 'mol mol-1', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & __RC__ ) call MAPL_AddExportSpec(GC, & SHORT_NAME = 'H2O_TEND', & LONG_NAME = 'tendency_of_water_vapor_mixing_ratio_due_to_chemistry',& UNITS = 'kg kg-1 s-1', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & __RC__ ) ENDIF ! DoRATS !================================ ! If Analysis OX provider !================================ CALL ESMF_ConfigGetAttribute( CF, ProviderName, & Label="ANALYSIS_OX_PROVIDER:", & Default="PCHEM", & __RC__ ) IF ( ProviderName == "GEOSCHEMCHEM" ) THEN ! verbose IF ( am_I_Root ) WRITE(*,*) 'GEOS-Chem is OX provider!' !-- Add OX to the internal state if GEOS-Chem is the analysis OX provider CALL MAPL_AddInternalSpec(GC, & SHORT_NAME = 'OX', & LONG_NAME = 'odd_oxygen_volume_mixing_ratio_total_air', & UNITS = 'mol mol-1', & DIMS = MAPL_DimsHorzVert, & FRIENDLYTO = 'ANALYSIS:DYNAMICS:TURBULENCE:MOIST', & RESTART = MAPL_RestartSkip, & VLOCATION = MAPL_VLocationCenter, & __RC__ ) if(am_I_Root) write(*,*) 'OX added to internal: Friendly to: ANALYSIS, DYNAMICS, TURBULENCE, MOIST' call MAPL_AddExportSpec(GC, & SHORT_NAME = 'O3', & LONG_NAME = 'ozone_mass_mixing_ratio', & UNITS = 'kg kg-1', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & __RC__ ) call MAPL_AddExportSpec(GC, & SHORT_NAME = 'O3PPMV', & LONG_NAME = 'ozone_volume_mixing_ratio_in_ppm', & UNITS = 'ppmv', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & __RC__ ) call MAPL_AddExportSpec(GC, & SHORT_NAME = 'OX_TEND', & LONG_NAME = 'tendency_of_odd_oxygen_mixing_ratio_due_to_chemistry',& UNITS = 'mol mol-1 s-1', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & __RC__ ) ENDIF !DoANOX !============================================ ! General diagnostics that can always be used !============================================ call MAPL_AddExportSpec(GC, & SHORT_NAME = 'GCC_H2O_TEND', & LONG_NAME = 'GEOSCHEMCHEM_tendency_of_water_vapor_mixing_ratio',& UNITS = 'kg kg-1 s-1', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & __RC__ ) call MAPL_AddExportSpec(GC, & SHORT_NAME = 'GCC_O3', & LONG_NAME = 'GEOSCHEMCHEM_ozone_mass_mixing_ratio_total_air', & UNITS = 'kg kg-1', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & __RC__ ) call MAPL_AddExportSpec(GC, & SHORT_NAME = 'GCC_O3PPMV', & LONG_NAME = 'GEOSCHEMCHEM_ozone_volume_mixing_ratio_total_air', & UNITS = 'ppmv', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & __RC__ ) call MAPL_AddExportSpec(GC, & SHORT_NAME = 'GCC_OX_TEND', & LONG_NAME = 'GEOSCHEMCHEM_tendency_of_odd_oxygen_mixing_ratio',& UNITS = 'mol mol-1 s-1', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & __RC__ ) ! All done RETURN_(ESMF_SUCCESS) END SUBROUTINE GEOS_CheckRATSandOx !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: GEOS_RATSandOxDiags ! ! !DESCRIPTION: GEOS_RATSandOxDiags manages the diagnostics for RATS and Ox. !\\ !\\ ! !INTERFACE: ! SUBROUTINE GEOS_RATSandOxDiags( GC, Internal, Export, Input_Opt, State_Met, & State_Chm, State_Grid, Q, Stage, tsChem, RC ) ! ! !USES: ! USE UnitConv_Mod ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ESMF_GridComp), INTENT(INOUT) :: GC ! Ref. to this GridComp TYPE(ESMF_STATE), INTENT(INOUT) :: Internal ! Internal state TYPE(ESMF_State), INTENT(INOUT) :: Export ! Export State TYPE(OptInput) :: Input_Opt TYPE(MetState) :: State_Met TYPE(ChmState) :: State_Chm TYPE(GrdState) :: State_Grid REAL, INTENT(IN) :: Q(:,:,:) INTEGER, INTENT(IN) :: Stage REAL, INTENT(IN) :: tsChem ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 13 Jul 2022 - C. Keller - Initial version (from Chem_GridCompMod) ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! LOCAL VARIABLES: ! INTEGER, PARAMETER :: NRATS = 5 CHARACTER(LEN=15), PARAMETER :: RatsNames(NRATS) = (/ 'CH4', 'N2O', 'CFC11', 'CFC12', 'HCFC22' /) REAL, PARAMETER :: OMW = 16.0 ! INTEGER :: I, LM, IndSpc, IndO3 REAL, POINTER :: Ptr3D(:,:,:) => NULL() REAL(fp), POINTER :: PTR_O3(:,:,:) => NULL() REAL, POINTER :: OX_TEND(:,:,:) => NULL() REAL, POINTER :: GCC_OX_TEND(:,:,:) => NULL() REAL, POINTER :: OX(:,:,:) => NULL() REAL, POINTER :: O3(:,:,:) => NULL() REAL, POINTER :: O3PPMV(:,:,:) => NULL() REAL, POINTER :: GCO3(:,:,:) => NULL() REAL, POINTER :: GCO3PPMV(:,:,:) => NULL() REAL, POINTER :: PTR_O3P(:,:,:) => NULL() REAL, POINTER :: PTR_O1D(:,:,:) => NULL() REAL, ALLOCATABLE :: OXLOCAL(:,:,:) LOGICAL :: NeedO3 INTEGER :: previous_units __Iam__('GEOS_RATSandOxDiags') ! Start here LM = State_Grid%NZ ! Make sure that species are in kg/kg total. This should be the case already, ! but better be safe! CALL Convert_Spc_Units ( Input_Opt, State_Chm, State_Grid, State_Met, & new_units=KG_SPECIES_PER_KG_TOTAL_AIR, & previous_units=previous_units, RC=RC ) !======================================================================= ! Fill RATS export states if GC is the RATS provider ! The tracer concentrations of the RATS export states are in mol mol-1. ! These fields are required for coupling with other components. Don't ! do this via the State_Diag object but use the EXPORT state directly. !======================================================================= ! Get pointers to RATS exports IF ( Stage == 2 ) THEN DO I=1,NRATS CALL MAPL_GetPointer ( EXPORT, Ptr3D, TRIM(RatsNames(I)), NotFoundOK=.TRUE., __RC__ ) IF ( ASSOCIATED(Ptr3D) ) THEN IndSpc = Ind_(TRIM(RatsNames(I))) ASSERT_(IndSpc>0) Ptr3D = State_Chm%Species(IndSpc)%Conc(:,:,LM:1:-1) & * ( MAPL_AIRMW / State_Chm%SpcData(IndSpc)%Info%MW_g ) ENDIF ENDDO ENDIF ! Check for H2O tendency CALL MAPL_GetPointer ( EXPORT, Ptr3D, 'H2O_TEND', NotFoundOK=.TRUE., __RC__ ) IF ( ASSOCIATED(Ptr3D) ) THEN IndSpc = Ind_('H2O') ASSERT_(IndSpc>0) IF ( Stage == 1 ) Ptr3D = State_Chm%Species(IndSpc)%Conc(:,:,LM:1:-1) IF ( Stage == 2 ) Ptr3D = ( State_Chm%Species(IndSpc)%Conc(:,:,LM:1:-1)-Ptr3D ) / tsChem ENDIF ! Check for H2O tendency CALL MAPL_GetPointer ( EXPORT, Ptr3D, 'GCC_H2O_TEND', NotFoundOK=.TRUE., __RC__ ) IF ( ASSOCIATED(Ptr3D) ) THEN IndSpc = Ind_('H2O') ASSERT_(IndSpc>0) IF ( Stage == 1 ) Ptr3D = State_Chm%Species(IndSpc)%Conc(:,:,LM:1:-1) IF ( Stage == 2 ) Ptr3D = ( State_Chm%Species(IndSpc)%Conc(:,:,LM:1:-1)-Ptr3D ) / tsChem ENDIF !======================================================================= ! Ozone diagnostics for GEOS coupling with other components. Do these ! via the export state directly, rather than using the State_Diag obj. !======================================================================= ! PTR_O3: kg kg-1 total air !CALL MAPL_GetPointer( INTSTATE, PTR_O3, 'SPC_O3', NotFoundOk=.TRUE., __RC__ ) ! Fill ozone export states if GC is the analysis OX provider: ! OX: volume mixing ratio ! O3: mass mixing ratio ! O3PPMV: volume mixing ratio in ppm ! Get pointers to analysis OX exports CALL MAPL_GetPointer ( EXPORT, OX_TEND, 'OX_TEND' , NotFoundOK=.TRUE., __RC__ ) CALL MAPL_GetPointer ( EXPORT, GCC_OX_TEND, 'GCC_OX_TEND' , NotFoundOK=.TRUE., __RC__ ) IF ( Stage == 2 ) THEN CALL MAPL_GetPointer ( INTERNAL, OX, 'OX' , NotFoundOK=.TRUE., __RC__ ) CALL MAPL_GetPointer ( EXPORT, O3, 'O3' , NotFoundOK=.TRUE., __RC__ ) CALL MAPL_GetPointer ( EXPORT, O3PPMV, 'O3PPMV' , NotFoundOK=.TRUE., __RC__ ) CALL MAPL_GetPointer ( EXPORT, GCO3, 'GCC_O3' , NotFoundOK=.TRUE., __RC__ ) CALL MAPL_GetPointer ( EXPORT, GCO3PPMV, 'GCC_O3PPMV' , NotFoundOK=.TRUE., __RC__ ) ENDIF NeedO3 = .FALSE. IF ( ASSOCIATED(OX )) NeedO3 = .TRUE. IF ( ASSOCIATED(OX_TEND )) NeedO3 = .TRUE. IF ( ASSOCIATED(GCC_OX_TEND )) NeedO3 = .TRUE. IF ( ASSOCIATED(O3 )) NeedO3 = .TRUE. IF ( ASSOCIATED(O3PPMV )) NeedO3 = .TRUE. IF ( ASSOCIATED(GCO3 )) NeedO3 = .TRUE. IF ( ASSOCIATED(GCO3PPMV )) NeedO3 = .TRUE. IF ( NeedO3 ) THEN IndO3 = Ind_('O3') ASSERT_(IndO3>0) PTR_O3 => State_Chm%Species(IndO3)%Conc(:,:,LM:1:-1) ENDIF IF ( ASSOCIATED(O3) ) O3 = PTR_O3 IF ( ASSOCIATED(GCO3) ) GCO3 = PTR_O3 IF ( ASSOCIATED(O3PPMV ) ) O3PPMV = PTR_O3 * MAPL_AIRMW / MAPL_O3MW * 1.00E+06 IF ( ASSOCIATED(GCO3PPMV) ) GCO3PPMV = PTR_O3 * MAPL_AIRMW / MAPL_O3MW * 1.00E+06 IF ( ASSOCIATED(OX) .OR. ASSOCIATED(OX_TEND) .OR. ASSOCIATED(GCC_OX_TEND) ) THEN ALLOCATE(OXLOCAL(State_Grid%NX,State_Grid%NY,State_Grid%NZ)) OXLOCAL = PTR_O3 * MAPL_AIRMW / MAPL_O3MW IndSpc = Ind_('O') ASSERT_(IndSpc>0) OXLOCAL = OXLOCAL + ( State_Chm%Species(indSpc)%Conc(:,:,LM:1:-1)*MAPL_AIRMW/State_Chm%SpcData(IndSpc)%Info%MW_g ) IndSpc = Ind_('O1D') ASSERT_(IndSpc>0) OXLOCAL = OXLOCAL + ( State_Chm%Species(indSpc)%Conc(:,:,LM:1:-1)*MAPL_AIRMW/State_Chm%SpcData(IndSpc)%Info%MW_g ) IF ( ASSOCIATED(OX) ) OX = OXLOCAL IF ( ASSOCIATED(OX_TEND) ) THEN IF ( Stage==1 ) OX_TEND = OXLOCAL IF ( Stage==2 ) OX_TEND = ( OXLOCAL - OX_TEND ) / tsChem ENDIF IF ( ASSOCIATED(GCC_OX_TEND) ) THEN IF ( Stage==1 ) GCC_OX_TEND = OXLOCAL IF ( Stage==2 ) GCC_OX_TEND = ( OXLOCAL - GCC_OX_TEND ) / tsChem ENDIF DEALLOCATE(OXLOCAL) ENDIF ! Convert back to original unit CALL Convert_Spc_Units ( Input_Opt, State_Chm, State_Grid, State_Met, & new_units=previous_units, RC=RC ) ! All done RETURN_(ESMF_SUCCESS) END SUBROUTINE GEOS_RATSandOxDiags !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: GEOS_SetH2O ! ! !DESCRIPTION: GEOS_SetH2O sets the GEOS-Chem H2O species to Q or vice versa. !\\ !\\ ! !INTERFACE: ! SUBROUTINE GEOS_SetH2O( GC, Input_Opt, State_Met, & State_Chm, State_Grid, Q, Direction, RC ) ! ! !USES: ! USE UnitConv_Mod ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ESMF_GridComp), INTENT(INOUT) :: GC ! Ref. to this GridComp TYPE(OptInput) :: Input_Opt TYPE(MetState) :: State_Met TYPE(ChmState) :: State_Chm TYPE(GrdState) :: State_Grid REAL, INTENT(INOUT) :: Q(:,:,:) INTEGER, INTENT(IN) :: Direction ! 1:Q-->H2O; -1:H2O-->Q ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 13 Jul 2022 - C. Keller - Initial version (from Chem_GridCompMod) ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! LOCAL VARIABLES: ! INTEGER :: IndH2O, LM INTEGER :: previous_units __Iam__('GEOS_SetH2O') ! Only do if H2O is a species IndH2O = Ind_('H2O') IF ( IndH2O > 0 ) THEN ! Make sure that species are in kg/kg total. This should be the case already, ! but better be safe! CALL Convert_Spc_Units ( Input_Opt, State_Chm, State_Grid, State_Met, & new_units=KG_SPECIES_PER_KG_TOTAL_AIR, & previous_units=previous_units, RC=RC ) ! Sync Q and H2O concentration array. Q is in kg/kg total, so is H2O. LM = State_Grid%NZ ! Set GEOS-Chem H2O from Q IF ( Direction == 1 ) THEN State_Chm%Species(IndH2O)%Conc(:,:,LM:1:-1) = Q(:,:,1:LM) ! Set Q to GEOS-Chem H2O. This is possible because Q is friendly to ! CHEMISTRY ELSEIF ( Direction == -1 ) THEN Q(:,:,1:LM) = State_Chm%Species(IndH2O)%Conc(:,:,LM:1:-1) ENDIF ! Convert back to original unit CALL Convert_Spc_Units ( Input_Opt, State_Chm, State_Grid, State_Met, & new_units=previous_units, RC=RC ) ENDIF ! All done RETURN_(ESMF_SUCCESS) END SUBROUTINE GEOS_SetH2O !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: GEOS_AddSpecInfoForMoist ! ! !DESCRIPTION: Add species info to internal state for moist !\\ !\\ ! !INTERFACE: ! SUBROUTINE GEOS_AddSpecInfoForMoist ( am_I_Root, GC, CF, Input_Opt, State_Chm, RC ) ! ! !USE: ! USE Precision_Mod, ONLY : MISSING, MISSING_DBLE USE Species_Mod, ONLY : Species USE DiagList_Mod, ONLY : SPFX ! Internal state prefixes ! ! !INPUT/OUTPUT PARAMETERS: ! LOGICAL, INTENT(IN ) :: am_I_Root ! Root CPU? TYPE(ESMF_GridComp), INTENT(INOUT) :: GC ! Ref. to this GridComp TYPE(ESMF_Config), INTENT(INOUT) :: CF ! GEOSCHEM*.rc TYPE(OptInput), INTENT(INOUT) :: Input_Opt ! Input Options TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry state ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 21 Oct 2020 - C. Keller - Initial version ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! ! LOCAL VARIABLES: ! TYPE(MAPL_MetaComp), POINTER :: STATE => NULL() TYPE(ESMF_STATE) :: Internal TYPE(ESMF_Field) :: Field CHARACTER(LEN=ESMF_MAXSTR) :: FieldName real(ESMF_KIND_R4), dimension(4) :: HenryCoeffs real(ESMF_KIND_R4), dimension(3) :: kcs REAL :: fscav REAL(ESMF_KIND_R4) :: hstar,dhr,ak0,dak REAL :: liq_and_gas, retfactor, convfaci2g INTEGER :: N INTEGER :: TurnOffSO2 INTEGER :: online_cldliq, online_vud TYPE(Species), POINTER :: SpcInfo __Iam__('AddSpecInfoForMoist') ! Starts here CALL MAPL_GetObjectFromGC(GC, STATE, __RC__ ) CALL MAPL_Get ( STATE, INTERNAL_ESMF_STATE=Internal, __RC__ ) ! Turn off SO2 washout? Defaults to yes. ! SO2 washout occurs via reaction with H2O2. This reaction ! seems to be explicitly capture in the sulfur chemistry code so make sure that ! SO2 is not being washed out. CALL ESMF_ConfigGetAttribute( CF, TurnOffSO2, Label="TurnOff_SO2_washout:", Default=1, __RC__ ) ! Use online or offline calculation of cloud liquid water? CALL ESMF_ConfigGetAttribute( CF, online_cldliq, Label="Online_CLDLIQ:", Default=1, __RC__ ) ! Use online or offline calculation of vertical updraft velocity? CALL ESMF_ConfigGetAttribute( CF, online_vud, Label="Online_VUD:", Default=1, __RC__ ) ! Verbose IF ( am_I_Root ) THEN WRITE(*,*) 'Update wet scavenging parameter for MOIST:' WRITE(*,*) 'Turn off SO2 washout: ',TurnOffSO2 WRITE(*,*) 'Calculate CLDLIQ online: ',online_cldliq WRITE(*,*) 'Calculate VUD online: ',online_vud WRITE(*,*) 'ID, Name: Hstar, dHstar, Ka, dKa, AerScavEff, KcScal1, KcScal2, KcScal3, liq/gas, i2g, retention' ENDIF ! Loop over all species !DO N_WD = 1, State_Chm%nWetDep DO N = 1, State_Chm%nSpecies !N = State_Chm%Map_WetDep(N_WD) SpcInfo => State_Chm%SpcData(N)%Info ! Get field FieldName = TRIM(SPFX)//TRIM(SpcInfo%name) CALL ESMF_StateGet(Internal, TRIM(FieldName), Field, RC=RC ) ! Skip to next species if not found. This can happen if not all species are in the internal state IF ( RC /= ESMF_SUCCESS ) CYCLE ! Scavenging efficiency fscav = MIN(MAX(SpcInfo%WD_AerScavEff,0.0),1.0) ! Don't washout SO2 if specified so IF ( (TRIM(FieldName)==TRIM(SPFX)//'SO2') .AND. (TurnOffSO2==1) ) fscav = 0.0 CALL ESMF_AttributeSet(Field, NAME='ScavengingFractionPerKm', VALUE=fscav, __RC__ ) ! Henry coefficients. All values default to -1.0 hstar = -99.0 dhr = 0.0 !mkelp 20210114 ak0 = 0.0 !mkelp ! Henry law coefficient [mol/atm] IF ( SpcInfo%Henry_K0 /= MISSING_DBLE ) hstar = SpcInfo%Henry_K0 ! Temperature correction factor [K] IF ( SpcInfo%Henry_CR /= MISSING_DBLE ) dhr = SpcInfo%Henry_CR ! Acid dissociation constant Ka, compute from pKa IF ( SpcInfo%Henry_pKa /= MISSING_DBLE ) ak0 = SpcInfo%Henry_pKa ! Temperature correction for Ka, currently ignored by GEOS-Chem dak = 0.0 !mkelp ! Don't washout SO2 if specified so IF ( (TRIM(FieldName)==TRIM(SPFX)//'SO2') .AND. (TurnOffSO2==1) ) THEN hstar = -99.0 dhr = 0.0 !mkelp ak0 = 0.0 !mkelp ENDIF ! Pass to array HenryCoeffs(1) = hstar HenryCoeffs(2) = dhr HenryCoeffs(3) = ak0 HenryCoeffs(4) = dak CALL ESMF_AttributeSet(Field, 'SetofHenryLawCts', HenryCoeffs, __RC__ ) ! KC scale factors kcs(:) = 1.0 IF ( SpcInfo%WD_KcScaleFac(1) /= MISSING ) kcs(1) = SpcInfo%WD_KcScaleFac(1) IF ( SpcInfo%WD_KcScaleFac(2) /= MISSING ) kcs(2) = SpcInfo%WD_KcScaleFac(2) IF ( SpcInfo%WD_KcScaleFac(3) /= MISSING ) kcs(3) = SpcInfo%WD_KcScaleFac(3) CALL ESMF_AttributeSet(Field, 'SetofKcScalFactors', kcs, __RC__ ) ! Gas-phase washout parameter ! Liquid and gas washout? liq_and_gas = 0.0 IF ( SpcInfo%WD_LiqAndGas ) liq_and_gas = 1.0 CALL ESMF_AttributeSet(Field, 'LiqAndGas', liq_and_gas, __RC__ ) ! ice to gas ratio IF ( SpcInfo%WD_ConvFacI2G == MISSING ) THEN convfaci2g = 0.0 ELSE convfaci2g = SpcInfo%WD_ConvFacI2G ENDIF CALL ESMF_AttributeSet(Field, 'ConvFacI2G', convfaci2g, __RC__ ) ! Retention factor IF ( SpcInfo%WD_RetFactor == MISSING ) THEN retfactor = 1.0 ELSE retfactor = SpcInfo%WD_RetFactor ENDIF CALL ESMF_AttributeSet(Field, 'RetentionFactor', retfactor, __RC__ ) ! Use online or offline CLDLIQ? This is the same for all species CALL ESMF_AttributeSet(Field, 'OnlineCLDLIQ', real(online_cldliq), __RC__ ) ! Use online or offline VUD? This is the same for all species CALL ESMF_AttributeSet(Field, 'OnlineVUD', real(online_vud), __RC__ ) ! Verbose IF ( am_I_Root ) THEN WRITE(*,100) N, TRIM(SpcInfo%Name), hstar, dhr, ak0, dak, fscav, kcs(1), kcs(2), kcs(3), liq_and_gas, convfaci2g, retfactor 100 FORMAT( i3,1x,a14,': ',4(1x,es9.2),7(1x,f3.1) ) ENDIF ENDDO ! All done RETURN_(ESMF_SUCCESS) END SUBROUTINE GEOS_AddSpecInfoForMoist !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: GEOS_PreRunChecks ! ! !DESCRIPTION: GEOS_PreRunChecks makes some pre-run checks specific for GEOS simulations !\\ !\\ ! !INTERFACE: ! SUBROUTINE GEOS_PreRunChecks( am_I_Root, Input_Opt, State_Met, State_Chm, & GeosCF, First, RC ) ! ! !USES: ! ! ! !INPUT/OUTPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: am_I_Root TYPE(OptInput) :: Input_Opt TYPE(MetState) :: State_Met TYPE(ChmState) :: State_Chm TYPE(ESMF_Config), INTENT(INOUT) :: GeosCF ! ESMF Config obj (GEOSCHEM*.rc) LOGICAL, INTENT(IN) :: First ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 13 Jul 2022 - C. Keller - Initial version (from Chem_GridCompMod) ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! LOCAL VARIABLES: ! INTEGER :: N, InitZero, InitSpecs __Iam__('GEOS_PreRunChecks') !======================================================================= ! Error trap: make sure that PBL height is defined. ! Some fields needed by GEOS-Chem are only filled after the first ! GEOS-Chem run. We need to avoid that GEOS-Chem is called in these ! cases, since those fields are still zero and would cause seg-faults. ! The PBL height is a good proxy variable, and if those values are ok ! all others seem to be fine as well. ! We do this error check on every time step (not only on the first ! one) to also catch the case where the time is reset to the initial ! conditions (replay mode). ! (ckeller, 4/24/2015). !======================================================================= IF ( ANY(State_Met%PBLH <= 0.0_fp) ) THEN Input_Opt%haveImpRst = .FALSE. ! Warning message IF ( am_I_Root ) THEN write(*,*) ' ' write(*,*) & 'At least one PBLH value in GEOS-Chem is zero - skip time step' write(*,*) ' ' ENDIF ENDIF !======================================================================= ! Handling of species/tracer initialization. Default practice is to take ! whatever values are in the restarts. However, it is possible to ! initialize everything to zero and/or to set species' concentration to ! the values set in globchem.dat.rc. These options can be set in the ! GEOSCHEMchem GridComp registry. (ckeller, 2/4/16) !======================================================================= IF ( First ) THEN ! Check if zero initialization option is selected. If so, make sure ! all concentrations are initialized to zero! CALL ESMF_ConfigGetAttribute( GeosCF, InitZero, Default=0, & Label = "INIT_ZERO:", __RC__ ) IF ( InitZero == 1 ) THEN DO N = 1, State_Chm%nSpecies State_Chm%Species(N)%Conc = 0.0d0 ENDDO IF ( am_I_Root ) THEN write(*,*) ' ' write(*,*) ' ' write(*,*) & '### ALL GEOS-CHEM CONCENTRATIONS INITIALIZED TO ZERO !!! ###' write(*,*) ' ' write(*,*) ' ' ENDIF ENDIF ! Check if species shall be initialized to values set in globchem.dat CALL ESMF_ConfigGetAttribute( GeosCF, InitSpecs, Default=0, & Label = "INIT_SPECS:", __RC__ ) IF ( InitSpecs == 1 ) Input_Opt%LINITSPEC = .TRUE. ENDIF ! All done RETURN_(ESMF_SUCCESS) END SUBROUTINE GEOS_PreRunChecks !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: GEOS_InitFromFile ! ! !DESCRIPTION: GEOS_InitFromFile initializes the GEOS-Chem species values from ! external data. !\\ !\\ ! !INTERFACE: ! SUBROUTINE GEOS_InitFromFile( GC, Import, Internal, Export, GeosCF, Input_Opt, & State_Met, State_Chm, Q, PLE, TROPP, First, RC ) ! ! !USES: ! ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ESMF_GridComp), INTENT(INOUT) :: GC ! Ref. to this GridComp TYPE(ESMF_State), INTENT(INOUT) :: Import ! Import State TYPE(ESMF_STATE), INTENT(INOUT) :: Internal ! Internal state TYPE(ESMF_State), INTENT(INOUT) :: Export ! Export State TYPE(ESMF_Config), INTENT(INOUT) :: GeosCF ! ESMF Config obj (GEOSCHEM*.rc) TYPE(OptInput) :: Input_Opt TYPE(MetState) :: State_Met TYPE(ChmState) :: State_Chm TYPE(ESMF_Time) :: currTime REAL, INTENT(IN) :: Q(:,:,:) REAL, POINTER :: PLE(:,:,:) REAL, POINTER :: TROPP(:,:) LOGICAL, INTENT(IN) :: First ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 18 Mar 2017 - C. Keller - Initial version ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! LOCAL VARIABLES: ! ! Objects ! Scalars LOGICAL :: am_I_Root ! Are we on the root PET? CHARACTER(LEN=ESMF_MAXSTR) :: Iam, compName ! Gridded component name CHARACTER(LEN=ESMF_MAXSTR) :: FldName CHARACTER(LEN=ESMF_MAXSTR) :: SpcName CHARACTER(LEN=255) :: ifile CHARACTER(LEN=255) :: VarPrefix TYPE(MAPL_SimpleBundle) :: VarBundle TYPE(ESMF_Grid) :: grid TYPE(ESMF_TIME) :: time TYPE(ESMF_Field) :: iFld REAL, POINTER :: Ptr3D(:,:,:) => NULL() REAL, ALLOCATABLE :: Scal(:,:), Temp(:,:), wgt1(:,:), wgt2(:,:) INTEGER :: varID, fid, N, L, LM2 INTEGER :: L1, L2, INC INTEGER :: IM, JM, LM, LB INTEGER :: STATUS INTEGER :: nymd, nhms, yy, mm, dd, h, m, s, incSecs REAL :: MW REAL :: UniformIfMissing LOGICAL :: ShortlivedOnly LOGICAL :: FileExists INTEGER :: DoIt, idx, x1, x2 LOGICAL :: ReadGMI LOGICAL :: OnGeosLev LOGICAL :: AboveTroppOnly LOGICAL :: IsInPPBV LOGICAL :: DoUpdate INTEGER :: TopLev CHARACTER(LEN=ESMF_MAXSTR) :: GmiTmpl REAL(fp), POINTER :: EmptyPtr2D(:,:) => NULL() REAL(fp), POINTER :: Tmp3D(:,:,:) => NULL() ! Read GMI file CHARACTER(LEN=ESMF_MAXSTR) :: GmiFldName CHARACTER(LEN=255) :: Gmiifile TYPE(MAPL_SimpleBundle) :: GmiVarBundle TYPE(ESMF_TIME) :: Gmitime LOGICAL :: GmiFileExists INTEGER, SAVE :: OnlyOnFirst = -999 ! Parameter REAL, PARAMETER :: MISSVAL = 1.0e-15 !======================================================================= ! GEOS_InitFromFile starts here !======================================================================= ! Are we on the root PET am_I_Root = MAPL_Am_I_Root() ! Set up traceback info CALL ESMF_GridCompGet( GC, name=compName, grid=grid, __RC__ ) ! Identify this routine to MAPL Iam = TRIM(compName)//'::GEOS_InitFromFile' ! Check if we need to do update IF ( OnlyOnFirst < 0 ) THEN CALL ESMF_ConfigGetAttribute( GeosCF, DoIt, Label = 'ONLY_ON_FIRST_STEP:', Default=1, __RC__ ) IF ( DoIt == 1 ) THEN OnlyOnFirst = 1 ELSE OnlyOnFirst = 0 ENDIF ENDIF DoUpdate = .FALSE. IF ( OnlyOnFirst == 0 ) DoUpdate = .TRUE. IF ( OnlyOnFirst == 1 .AND. First ) DoUpdate = .TRUE. ! Do the following only if we need to... IF ( DoUpdate ) THEN ! Array size IM = SIZE(Q,1) JM = SIZE(Q,2) LM = SIZE(Q,3) ! Lower bound of PLE 3rd dim LB = LBOUND(PLE,3) ! Name of file to read internal state fields from CALL ESMF_ConfigGetAttribute( GeosCF, ifile, Label = "INIT_SPC_FILE:", __RC__ ) IF ( am_I_Root ) WRITE(*,*) TRIM(Iam)//': reading species from '//TRIM(ifile) ! Check if file exists INQUIRE( FILE=TRIM(ifile), EXIST=FileExists ) IF ( .NOT. FileExists ) THEN IF ( am_I_Root ) WRITE(*,*) 'File does not exist: ',TRIM(ifile) ASSERT_(.FALSE.) ENDIF ! Check for other flags CALL ESMF_ConfigGetAttribute( GeosCF, DoIt, Label = 'ONLY_SHORTLIVED_SPECIES:', Default=0, __RC__ ) ShortlivedOnly = ( DoIt == 1 ) CALL ESMF_ConfigGetAttribute( GeosCF, DoIt, Label = 'DATA_ON_GEOS_LEVELS:', Default=0, __RC__ ) OnGeosLev = ( DoIt == 1 ) CALL ESMF_ConfigGetAttribute( GeosCF, DoIt, Label = 'ONLY_ABOVE_TROPOPAUSE:', Default=0, __RC__ ) AboveTroppOnly = ( DoIt == 1 ) CALL ESMF_ConfigGetAttribute( GeosCF, DoIt, Label = 'DATA_IS_IN_PPBV:', Default=1, __RC__ ) IsInPPBV = ( DoIt == 1 ) CALL ESMF_ConfigGetAttribute( GeosCF, TopLev, Label = 'DO_NOT_OVERWRITE_ABOVE_LEVEL:', Default=LM, __RC__ ) IF ( TopLev < 0 ) TopLev = LM CALL ESMF_ConfigGetAttribute( GeosCF, VarPrefix, Label = 'VAR_PREFIX:', Default='SpeciesRst_', __RC__ ) CALL ESMF_ConfigGetAttribute( GeosCF, UniformIfMissing, Label = 'UNIFORM_IF_MISSING:', Default=-999.0, __RC__ ) ! Verbose IF ( am_I_Root ) THEN WRITE(*,*) 'Will use the following settings to overwrite restart variables:' WRITE(*,*) 'Only overwrite short-lived species: ',ShortlivedOnly WRITE(*,*) 'Variable prefix: ',TRIM(VarPrefix) WRITE(*,*) 'External data is in ppbv: ',IsInPPBV WRITE(*,*) 'External data is on GEOS levels: ',OnGeosLev WRITE(*,*) 'Only overwrite above tropopause: ',AboveTroppOnly WRITE(*,*) 'Maximum valid level (will be used above that level): ',TopLev WRITE(*,*) 'Maximum valid level (will be used above that level): ',TopLev ENDIF ! Initialize array to missing values IF ( UniformIfMissing >= 0.0 ) THEN DO N = 1, State_Chm%nSpecies State_Chm%Species(N)%Conc(:,:,:) = UniformIfMissing ENDDO IF ( am_I_Root ) WRITE(*,*) 'All species initialized to ',UniformIfMissing ENDIF ! Initialize array to missing values IF ( UniformIfMissing >= 0.0 ) THEN DO N = 1, State_Chm%nSpecies State_Chm%Species(N)%Conc(:,:,:) = UniformIfMissing ENDDO IF ( am_I_Root ) WRITE(*,*) 'All species initialized to ',UniformIfMissing ENDIF ! Check for GMI flags CALL ESMF_ConfigGetAttribute( GeosCF, DoIt, Label = "USE_GMI_MESO:", Default = 0, __RC__ ) ReadGMI = ( DoIt == 1 ) IF ( ReadGMI ) THEN CALL ESMF_ConfigGetAttribute( GeosCF, GmiTmpl, Label = "GMI_TEMPLATE:", __RC__ ) ENDIF ! Get time stamp on file call GFIO_Open( TRIM(ifile), 1, fid, STATUS ) ASSERT_(STATUS==0) call GetBegDateTime ( fid, nymd, nhms, incSecs, STATUS ) ASSERT_(STATUS==0) caLL GFIO_Close( fid, STATUS ) ASSERT_(STATUS==0) yy = nymd/10000 mm = (nymd-yy*10000) / 100 dd = nymd - (10000*yy + mm*100) h = nhms/10000 m = (nhms- h*10000) / 100 s = nhms - (10000*h + m*100) call ESMF_TimeSet(time, yy=yy, mm=mm, dd=dd, h=h, m=m, s=s) ! Read file VarBundle = MAPL_SimpleBundleRead ( TRIM(iFile), 'GCCinit', grid, time, __RC__ ) ! Scal is the array with scale factors ALLOCATE(Scal(IM,JM),Temp(IM,JM),wgt1(IM,JM),wgt2(IM,JM)) Scal(:,:) = 1.0 Temp(:,:) = 0.0 wgt1(:,:) = 0.0 wgt2(:,:) = 1.0 ! Loop over all species DO N = 1, State_Chm%nSpecies ! Get species name SpcName = TRIM(State_Chm%SpcData(N)%Info%Name) ! Check for short-lived species only IF ( ShortlivedOnly ) THEN IF ( State_Chm%SpcData(N)%Info%Is_Advected ) THEN IF ( am_I_Root ) WRITE(*,*) 'Do not initialize species from external field because it is not short-lived: ',TRIM(SpcName) CYCLE ENDIF ENDIF ! Molecular weight MW = State_Chm%SpcData(N)%Info%MW_g IF ( MW < 0.0 ) MW = 1.0 ! Check if variable is in file FldName = TRIM(VarPrefix)//TRIM(SpcName) !FldName = 'SPC_'//TRIM(SpcName) VarID = MAPL_SimpleBundleGetIndex ( VarBundle, trim(FldName), 3, RC=STATUS, QUIET=.TRUE. ) ! Check other fieldname if default one is not found !IF ( VarID <= 0 ) THEN ! FldName = 'TRC_'//TRIM(SpcName) ! VarID = MAPL_SimpleBundleGetIndex ( VarBundle, trim(FldName), 3, RC=STATUS, QUIET=.TRUE. ) !ENDIF IF ( VarID <= 0 ) THEN FldName = TRIM(SpcName) VarID = MAPL_SimpleBundleGetIndex ( VarBundle, trim(FldName), 3, RC=STATUS, QUIET=.TRUE. ) ENDIF IF ( VarID > 0 ) THEN ! Make sure vertical dimensions match LM2 = SIZE(VarBundle%r3(VarID)%q,3) ! Error if vertical dimensions do not agree IF ( LM2 /= LM ) THEN IF ( am_I_Root ) THEN WRITE(*,*) 'Wrong # of vert. levels for variable ',TRIM(FldName), ' ',LM2,' vs. ',LM ENDIF ASSERT_( LM==LM2 ) ENDIF ! Loop over all vertical levels DO L = 1, LM ! Scale factor for unit conversion IF ( IsInPPBV ) THEN Scal(:,:) = MW / MAPL_AIRMW * ( 1 - Q(:,:,L) ) IF(L==1 .and. am_I_Root ) WRITE(*,*) 'Convert units from ppbv to kg/kg: ',TRIM(FldName), MW ENDIF ! Pass to temporary array IF ( OnGeosLev ) THEN Temp(:,:) = VarBundle%r3(VarID)%q(:,:,L) * Scal ELSE Temp(:,:) = VarBundle%r3(VarID)%q(:,:,LM-L+1) * Scal ENDIF ! Flag for stratosphere only IF ( AboveTroppOnly ) THEN wgt1 = MAX(0.0,MIN(1.0,(PLE(:,:,L+LB)-TROPP(:,:))/(PLE(:,:,L+LB)-PLE(:,:,L+LB-1)))) wgt2 = 1.0 - wgt1 ENDIF ! Pass to State_Chm State_Chm%Species(N)%Conc(:,:,LM-L+1) = & State_Chm%Species(N)%Conc(:,:,LM-L+1)*wgt1 + Temp(:,:)*wgt2 ENDDO ! Check for cap at given level IF ( TopLev < LM ) THEN DO L = TopLev+1,LM State_Chm%Species(N)%Conc(:,:,L) = & State_Chm%Species(N)%Conc(:,:,TopLev) ENDDO IF ( am_I_Root ) WRITE(*,*) 'Extend values from level ',TopLev,' to top of atmosphere: ',TRIM(FldName) ENDIF ! Verbose IF ( am_I_Root ) WRITE(*,*) 'Species initialized from external field: ',TRIM(FldName),N,MINVAL(State_Chm%Species(N)%Conc(:,:,:)),MAXVAL(State_Chm%Species(N)%Conc(:,:,:)),SUM(State_Chm%Species(N)%Conc(:,:,:))/IM/JM/LM ELSE IF ( UniformIfMissing >= 0.0 ) THEN State_Chm%Species(N)%Conc(:,:,:) = UniformIfMissing IF ( am_I_Root ) WRITE(*,*) 'Field not found for species ',TRIM(SpcName),', set to uniform value of ',UniformIfMissing ELSE IF ( am_I_Root ) WRITE(*,*) 'Species unchanged, field not found for species ',TRIM(SpcName) ENDIF ENDIF ! --------------------------- ! Try to read GMI data ! --------------------------- IF ( ReadGMI ) THEN ! Get file name Gmiifile = GmiTmpl idx = INDEX(Gmiifile,'%spc') IF ( idx > 0 ) THEN x1 = idx + 4 x2 = LEN(TRIM(Gmiifile)) Gmiifile = TRIM(Gmiifile(1:idx-1))//TRIM(SpcName)//TRIM(Gmiifile(x1:x2)) ENDIF INQUIRE( FILE=TRIM(Gmiifile), EXIST=GmiFileExists ) IF ( GmiFileExists ) THEN ! Get time stamp on file call GFIO_Open( Gmiifile, 1, fid, STATUS ) ASSERT_(STATUS==0) call GetBegDateTime ( fid, nymd, nhms, incSecs, STATUS ) ASSERT_(STATUS==0) caLL GFIO_Close( fid, STATUS ) ASSERT_(STATUS==0) yy = nymd/10000 mm = (nymd-yy*10000) / 100 dd = nymd - (10000*yy + mm*100) h = nhms/10000 m = (nhms- h*10000) / 100 s = nhms - (10000*h + m*100) call ESMF_TimeSet(Gmitime, yy=yy, mm=7, dd=6, h=h, m=m, s=s) ! Read data GmiVarBundle = MAPL_SimpleBundleRead ( TRIM(GmiiFile), 'GCCinitGMI', grid, Gmitime, __RC__ ) ! Check if variable is in file VarID = MAPL_SimpleBundleGetIndex ( GmiVarBundle, 'species', 3, RC=STATUS, QUIET=.TRUE. ) IF ( VarID > 0 ) THEN ! Pass to State_Chm, convert v/v to kg/kg. State_Chm%Species(N)%Conc(:,:,60:72) = VarBundle%r3(VarID)%q(:,:,13:1:-1) * MW / MAPL_AIRMW * ( 1 - Q(:,:,13:1:-1) ) IF ( am_I_Root ) WRITE(*,*) 'Use GMI concentrations in mesosphere: ',TRIM(SpcName) ENDIF ELSE IF ( am_I_Root ) WRITE(*,*) 'No GMI file found: ',TRIM(Gmiifile) ENDIF ENDIF ENDDO ! Additional 3D restart variables related to chemistry/emissions CALL Init3D_ ( am_I_Root, IM, JM, LM, OnGeosLev, Internal, VarBundle, 'Chem_H2O2AfterChem', 'H2O2AfterChem', State_Chm%H2O2AfterChem, __RC__ ) CALL Init3D_ ( am_I_Root, IM, JM, LM, OnGeosLev, Internal, VarBundle, 'Chem_SO2AfterChem', 'SO2AfterChem', State_Chm%SO2AfterChem, __RC__ ) CALL Init3D_ ( am_I_Root, IM, JM, LM, OnGeosLev, Internal, VarBundle, 'Chem_KPPHvalue', 'KPPHvalue', State_Chm%KPPHvalue, __RC__ ) ALLOCATE(Tmp3D(IM,JM,LM)) Tmp3D = 0.0 CALL Init3D_ ( am_I_Root, IM, JM, LM, OnGeosLev, Internal, VarBundle, 'Chem_StatePSC', 'StatePSC', Tmp3D, __RC__ ) State_Chm%State_PSC = Tmp3D DEALLOCATE(Tmp3d) ! Look for additional 2D restart variables related to chemistry / emissions. Add to State_Chm and internal state CALL Init2D_ ( am_I_Root, IM, JM, Internal, VarBundle, 'Chem_DryDepNitrogen', 'DryDepNitrogen', State_Chm%DryDepNitrogen, __RC__ ) CALL Init2D_ ( am_I_Root, IM, JM, Internal, VarBundle, 'Chem_WetDepNitrogen', 'WetDepNitrogen', State_Chm%WetDepNitrogen, __RC__ ) CALL Init2D_ ( am_I_Root, IM, JM, Internal, VarBundle, 'PARDF_DAVG', 'PARDF_DAVG', EmptyPtr2D, __RC__ ) CALL Init2D_ ( am_I_Root, IM, JM, Internal, VarBundle, 'PARDR_DAVG', 'PARDR_DAVG', EmptyPtr2D, __RC__ ) CALL Init2D_ ( am_I_Root, IM, JM, Internal, VarBundle, 'T_DAVG', 'T_DAVG', EmptyPtr2D, __RC__ ) CALL Init2D_ ( am_I_Root, IM, JM, Internal, VarBundle, 'T_PREVDAY', 'T_PREVDAY', EmptyPtr2D, __RC__ ) CALL Init2D_ ( am_I_Root, IM, JM, Internal, VarBundle, 'LAI_PREVDAY', 'LAI_PREVDAY', EmptyPtr2D, __RC__ ) CALL Init2D_ ( am_I_Root, IM, JM, Internal, VarBundle, 'DEP_RESERVOIR', 'DEP_RESERVOIR', EmptyPtr2D, __RC__ ) CALL Init2D_ ( am_I_Root, IM, JM, Internal, VarBundle, 'DRYPERIOD', 'DRYPERIOD', EmptyPtr2D, __RC__ ) CALL Init2D_ ( am_I_Root, IM, JM, Internal, VarBundle, 'PFACTOR', 'PFACTOR', EmptyPtr2D, __RC__ ) ! Deallocate helper array IF ( ALLOCATED(Scal) ) DEALLOCATE(Scal) IF ( ALLOCATED(Temp) ) DEALLOCATE(Temp) IF ( ALLOCATED(wgt1) ) DEALLOCATE(wgt1) IF ( ALLOCATED(wgt2) ) DEALLOCATE(wgt2) ! All done CALL MAPL_SimpleBundleDestroy ( VarBundle, __RC__ ) ! Make sure that values are not zero DO N = 1, State_Chm%nSpecies WHERE ( State_Chm%Species(N)%Conc <= 0.0 ) & State_Chm%Species(N)%Conc = MISSVAL ENDDO ENDIF ! DoUpdate ! Return RETURN_(ESMF_SUCCESS) END SUBROUTINE GEOS_InitFromFile !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: GEOS_Diagnostics ! ! !DESCRIPTION: Wrapper routine to handle all GEOS-specific diagnostics. !\\ !\\ ! !INTERFACE: ! SUBROUTINE GEOS_Diagnostics( GC, IMPORT, EXPORT, Clock, Phase, & Input_Opt, State_Met, State_Chm, & State_Diag, State_Grid, RC ) ! ! !USES: ! USE Diagnostics_Mod, ONLY : Set_Diagnostics_EndofTimestep USE UnitConv_Mod ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ESMF_GridComp), INTENT(INOUT), TARGET :: GC ! Ref to this GridComp TYPE(ESMF_State), INTENT(INOUT) :: Import ! Import State TYPE(ESMF_State), INTENT(INOUT) :: Export ! Export State TYPE(ESMF_Clock), INTENT(INOUT) :: Clock ! ESMF Clock object INTEGER, INTENT(IN ) :: Phase ! Run phase (-1/1/2) TYPE(OptInput), INTENT(INOUT) :: Input_Opt TYPE(MetState), INTENT(INOUT) :: State_Met TYPE(ChmState), INTENT(INOUT) :: State_Chm TYPE(DgnState), INTENT(INOUT) :: State_Diag TYPE(GrdState), INTENT(INOUT) :: State_Grid ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 08 Oct 2020 - C. Keller - Initial version ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! LOCAL VARIABLES: ! TYPE(MAPL_MetaComp), POINTER :: STATE => NULL() TYPE(ESMF_Alarm) :: ALARM TYPE(ESMF_STATE) :: IntState LOGICAL :: am_I_Root LOGICAL :: IsChemTime ! Chemistry alarm proxy LOGICAL :: IsTendTime ! Time to calculate tendencies INTEGER :: indSpc INTEGER :: I, J, L, N, LB INTEGER :: IM, JM, LM INTEGER :: SfcTypeIndex REAL, POINTER :: Q(:,:,:) => NULL() REAL, POINTER :: PLE(:,:,:) => NULL() REAL, POINTER :: TROPP(:,:) => NULL() REAL, POINTER :: Ptr2D(:,:) => NULL() REAL, POINTER :: Ptr3D(:,:,:) => NULL() REAL(fp), POINTER :: PTR_O3(:,:,:) => NULL() REAL(f4), POINTER :: O3_MASS(:,:,:) => NULL() ! LFR diag REAL :: lp1, lp2 ! lightning potentials REAL, POINTER :: PtrEmis(:,:) => NULL() REAL, POINTER :: LFR(:,:) => NULL() REAL, POINTER :: CNV_FRC(:,:) => NULL() INTEGER :: previous_units __Iam__('GEOS_Diagnostics') !======================================================================= ! GEOS_Diagnostics starts here !======================================================================= ! Are we on the root PET? am_I_Root = MAPL_Am_I_Root() ! Get MAPL Generic State CALL MAPL_GetObjectFromGC(GC, STATE, __RC__) ! Start timers CALL MAPL_TimerOn(STATE, "GC_DIAGN") ! Get Internal state CALL MAPL_Get ( STATE, INTERNAL_ESMF_STATE=IntState, __RC__ ) ! Timers CALL MAPL_Get(STATE, RUNALARM=ALARM, __RC__) IsChemTime = ESMF_AlarmIsRinging(ALARM, __RC__) IsTendTime = ( IsChemTime .AND. Phase /= 1 ) CALL MAPL_GetPointer( IMPORT, Q, 'Q', __RC__ ) CALL MAPL_GetPointer( IMPORT, PLE, 'PLE', __RC__ ) CALL MAPL_GetPointer( IMPORT, TROPP, 'TROPP', __RC__ ) ! Grid size IM = SIZE(Q,1); JM = SIZE(Q,2); LM = SIZE(Q,3) ! Move 'regular' GEOS-Chem diagnostics from gchp_chunk_mod.F90 to here to ! make sure that these diagnostics see any post-run updates. ! Diagnostics routine expects units of kg/kg dry. CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & new_units = KG_SPECIES_PER_KG_DRY_AIR, & previous_units = previous_units, & RC = RC ) _ASSERT(RC==GC_SUCCESS, 'Error calling CONVERT_SPC_UNITS') CALL Set_Diagnostics_EndofTimestep( Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, RC ) _ASSERT(RC==GC_SUCCESS, 'Error calling Set_Diagnostics_EndofTimestep') CALL Convert_Spc_Units( & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Grid = State_Grid, & State_Met = State_Met, & new_units = previous_units, & RC = RC ) _ASSERT(RC==GC_SUCCESS, 'Error calling CONVERT_SPC_UNITS') !======================================================================= ! Dry volume mixing ratios and PM2.5 diagnostics !======================================================================= CALL CalcSpeciesDiagnostics_ ( am_I_Root, Input_Opt, State_Met, State_Chm, & State_Diag, IMPORT, EXPORT, Q, __RC__ ) !======================================================================= ! Ozone diagnostics handled through State_Diag object !======================================================================= ! Total ozone and total tropospheric ozone for export [dobsons]. 2.69E+20 per dobson. CALL GEOS_CalcTotOzone( am_I_Root, State_Met, State_Chm, State_Diag, & PLE, TROPP, __RC__ ) ! O3 mass in kg/m2 IF ( State_Diag%Archive_O3_MASS .AND. ASSOCIATED(State_Diag%O3_MASS) ) THEN O3_MASS => State_Diag%O3_MASS(:,:,LM:1:-1) LB = LBOUND(PLE,3) IndSpc = Ind_('O3') ASSERT_(IndSpc>0) PTR_O3 => State_Chm%Species(IndSpc)%Conc(:,:,LM:1:-1) DO L=1,LM O3_MASS(:,:,L)=PTR_O3(:,:,L)*(g0_100*(PLE(:,:,L+LB)-PLE(:,:,L+LB-1))) ENDDO PTR_O3 => NULL() ENDIF O3_MASS => NULL() !======================================================================= ! Total and tropospheric columns !======================================================================= CALL CalcColumns_( am_I_Root, Input_Opt, State_Met, State_Chm, State_Diag, PLE, TROPP, __RC__ ) !======================================================================= ! Derived met. diagnostics relevant to chemistry processes !======================================================================= IF ( Phase /= 1 ) THEN ! chemistry top level IF ( State_Diag%Archive_CHEMTOP .AND. & ASSOCIATED(State_Diag%CHEMTOP) ) THEN DO J = 1, JM DO I = 1, IM State_Diag%CHEMTOP(I,J) = LM - State_Met%ChemGridLev(I,J) + 1 ENDDO ENDDO ENDIF ! chemistry tropopause IF ( State_Diag%Archive_CHEMTROPP .AND. & ASSOCIATED(State_Diag%CHEMTOP) ) THEN State_Diag%CHEMTOP(:,:) = State_Met%TROPP(:,:) * 100.0 ! hPa -> Pa ENDIF ENDIF ! convective cloud top height IF ( Phase /= 2 ) THEN IF ( State_Diag%Archive_CONVCLDTOP .AND. & ASSOCIATED(State_Diag%CONVCLDTOP) ) THEN State_Diag%CONVCLDTOP(:,:) = 0.0 DO J = 1, JM DO I = 1, IM DO L = 1, LM IF ( State_Met%CMFMC(I,J,L) > 0.0d0 ) THEN State_Diag%CONVCLDTOP(I,J) = REAL(LM-L+1,f4) EXIT ENDIF ENDDO ENDDO ENDDO ENDIF ENDIF !======================================================================= ! Lightning potential (from GEOS lightning flash rates and convective ! fraction) !======================================================================= IF ( Phase /= 2 ) THEN ! convective cloud top height CALL MAPL_GetPointer( EXPORT, Ptr2D, 'LightningPotential', & NotFoundOk=.TRUE., __RC__ ) IF ( State_Diag%Archive_LGHTPOTENTIAL .AND. & ASSOCIATED(State_Diag%LightningPotential) ) THEN CALL MAPL_GetPointer( IMPORT, LFR, 'LFR_GCC', __RC__ ) CALL MAPL_GetPointer( IMPORT, CNV_FRC, 'CNV_FRC', __RC__ ) CALL MAPL_GetPointer( EXPORT, PtrEmis, 'EMIS_NO_LGHT', NotFoundOk=.TRUE., __RC__ ) State_Diag%LightningPotential(:,:) = 0.0 DO J = 1, JM DO I = 1, IM lp1 = 0.0 lp2 = 0.0 ! Locally compute if over continuous land (formerly used LWI) SfcTypeIndex = MAXLOC( (/ & State_Met%FRLAND(I,J) + State_Met%FRLANDICE(I,J) & + State_Met%FRLAKE(I,J), & State_Met%FRSEAICE(I,J), & State_Met%FROCEAN(I,J) - State_Met%FRSEAICE(I,J) & /), 1 ) ! If there are HEMCO lightning emissions in current grid box set ! lightning potential accordingly IF ( ASSOCIATED(PtrEmis) ) THEN IF ( SfcTypeIndex == 1 ) THEN lp1 = PtrEmis(I,J) / 1.0e-11 ! Land ELSE lp1 = PtrEmis(I,J) / 1.0e-13 ! Water/Ice ENDIF lp1 = MIN(MAX(0.25,lp1),1.00) ENDIF ! Lightning flash rate IF ( LFR(I,J) > 0.0 ) THEN IF ( SfcTypeIndex == 1 ) THEN lp2 = LFR(I,J) / 5.0e-07 ! Land ELSE lp2 = LFR(I,J) / 1.0e-08 ! Water/Ice ENDIF lp2 = MIN(MAX(0.25,lp2),1.00) ! Convective fraction ELSE lp2 = CNV_FRC(I,J) ENDIF ! Take highest value State_Diag%LightningPotential(I,J) = MAX(lp1,lp2) ENDDO ENDDO ENDIF PtrEmis => NULL() ENDIF ! Start timers CALL MAPL_TimerOff(STATE, "GC_DIAGN") _RETURN(ESMF_SUCCESS) END SUBROUTINE GEOS_Diagnostics !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: GEOS_CalcTotOzone ! ! !DESCRIPTION: GEOS_CalcTotOzone calculates total ozone for the entire ! atmosphere and troposphere only (in dobsons) and writes them into ! the export variables GCCTO3 and GCCTTO3, respectively. Expects O3 in the ! internal state in kg/kg total. !\\ !\\ ! !INTERFACE: ! SUBROUTINE GEOS_CalcTotOzone ( am_I_Root, State_Met, State_Chm, State_Diag, PLE, TROPP, RC ) ! ! !USES: ! USE Precision_Mod ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: am_I_Root TYPE(MetState), INTENT(INOUT) :: State_Met TYPE(ChmState), INTENT(INOUT) :: State_Chm TYPE(DgnState), INTENT(INOUT) :: State_Diag REAL, POINTER :: PLE (:,:,:) REAL, POINTER :: TROPP(:,:) ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT), OPTIONAL :: RC ! ! !REVISION HISTORY: ! 25 Oct 2014 - C. Keller - Initial version ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! LOCAL VARIABLES: ! REAL(fp), POINTER :: O3 (:,:,:) => NULL() REAL(fp), POINTER :: TO3fp(:,:) => NULL() REAL(f4), POINTER :: TO3 (:,:) => NULL() REAL(f4), POINTER :: TTO3(:,:) => NULL() REAL, ALLOCATABLE :: DUsLayerL(:,:)! Dobsons in a layer, ! for total ozone REAL, ALLOCATABLE :: wgt(:,:) ! Layer thickness weighting ! for total ozone REAL :: const INTEGER :: indO3 INTEGER :: IM, JM, LM, LB, L, STATUS CHARACTER(LEN=ESMF_MAXSTR) :: Iam !======================================================================= ! GEOS_CalcTotOzone begins here !======================================================================= ! Traceback handle Iam = 'GEOS_CalcTotOzone' ! Check if we need to compute this IF ( ASSOCIATED( State_Met%TO3 ) ) TO3fp => State_Met%TO3 IF ( State_Diag%Archive_GCCTO3 .AND. & ASSOCIATED(State_Diag%GCCTO3) ) TO3 => State_Diag%GCCTO3 IF ( State_Diag%Archive_GCCTTO3 .AND. & ASSOCIATED(State_Diag%GCCTTO3) ) TTO3 => State_Diag%GCCTTO3 ! Nothing to do if none of the arrays are associated IF ( .NOT. ASSOCIATED(TO3) .AND. .NOT. ASSOCIATED(TTO3) .AND. .NOT. ASSOCIATED(TO3fp) ) THEN RC = ESMF_SUCCESS RETURN ENDIF ! Get O3 from species array (kg/kg total). Do nothing if ozone is not a species. indO3 = Ind_('O3') IF ( indO3 < 0 ) THEN RC = ESMF_SUCCESS RETURN ENDIF O3 => State_Chm%Species(indO3)%Conc(:,:,:) ! Grid size IM = SIZE(O3,1) JM = SIZE(O3,2) LM = SIZE(O3,3) ! Pressure edges LB = LBOUND(PLE,3) ! Reset values IF ( ASSOCIATED(TO3fp ) ) TO3fp = 0.0 IF ( ASSOCIATED(TO3 ) ) TO3 = 0.0 IF ( ASSOCIATED(TTO3 ) ) TTO3 = 0.0 ! Allocate local variables ALLOCATE(DUsLayerL(IM,JM), STAT=STATUS) _VERIFY(STATUS) ALLOCATE(wgt(IM,JM), STAT=STATUS) _VERIFY(STATUS) ! constant const = 0.01 * MAPL_AVOGAD / ( MAPL_GRAV * (MAPL_AIRMW/1000.0) ) const = const * MAPL_AIRMW / MAPL_O3MW ! convert kg/kg total to v/v total ! Calculate total ozone DO L = 1,LM DUsLayerL(:,:) = O3(:,:,LM-L+1) * ((PLE(:,:,L+LB)-PLE(:,:,L+LB-1))/100.0) & * const / 2.69e16 / 1000.0 IF ( ASSOCIATED(TO3fp) ) TO3fp = TO3fp+DUsLayerL IF ( ASSOCIATED(TO3 ) ) TO3 = TO3 +DUsLayerL IF ( ASSOCIATED(TTO3) ) THEN wgt = MAX(0.0,MIN(1.0,(PLE(:,:,L+LB)-TROPP(:,:)) & /(PLE(:,:,L+LB)-PLE(:,:,L+LB-1)))) TTO3 = TTO3+DUsLayerL*wgt END IF END DO ! Cleanup IF ( ASSOCIATED(TO3fp) ) TO3fp => NULL() IF ( ASSOCIATED(TO3 ) ) TO3 => NULL() IF ( ASSOCIATED(TTO3 ) ) TTO3 => NULL() DEALLOCATE(DUsLayerL, STAT=STATUS) _VERIFY(STATUS) DEALLOCATE(wgt, STAT=STATUS) _VERIFY(STATUS) ! Successful return RC = ESMF_SUCCESS END SUBROUTINE GEOS_CalcTotOzone !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: MetVars_For_Lightning_Init ! ! !DESCRIPTION: Initialize the imports to fill the met variables needed for ! lightning NOx computation !\\ !\\ ! !INTERFACE: ! SUBROUTINE MetVars_For_Lightning_Init( GC, CF, RC ) ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ESMF_GridComp), INTENT(INOUT) :: GC ! Ref. to this GridComp TYPE(ESMF_Config), INTENT(INOUT) :: CF ! GEOSCHEM*.rc ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 20 Jan 2020 - C. Keller - Initial version ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! LOCAL VARIABLES: ! CHARACTER(LEN=31) :: LfrSrc, CnvSrc __Iam__('MetVars_For_Lightning_Init') ! Get source for lightning fields CALL MetVars_For_Lightning_Run( GC, DryRun=.TRUE., CF=CF, & LfrSrc=LfrSrc, CnvSrc=CnvSrc, __RC__ ) ! LFR import - always pass LFR and LFR_GCC. Depending on specification, ! also provide import from external file call MAPL_AddImportSpec(GC, & SHORT_NAME='LFR', & LONG_NAME ='lightning_flash_rate', & UNITS ='km-2 s-1', & DIMS = MAPL_DimsHorzOnly, & VLOCATION = MAPL_VLocationNone, & __RC__ ) call MAPL_AddImportSpec(GC, & SHORT_NAME='LFR_GCC', & LONG_NAME ='lightning_flash_rate', & UNITS ='km-2 s-1', & DIMS = MAPL_DimsHorzOnly, & VLOCATION = MAPL_VLocationNone, & __RC__ ) IF ( (TRIM(LfrSrc)/='LFR') .AND. & (TRIM(LfrSrc)/='LFR_GCC') ) THEN call MAPL_AddImportSpec(GC, & SHORT_NAME=TRIM(LfrSrc), & LONG_NAME ='lightning_flash_rate', & UNITS ='km-2 s-1', & DIMS = MAPL_DimsHorzOnly, & VLOCATION = MAPL_VLocationNone, & __RC__ ) ENDIF ! Import fields needed to compute convective height, depending on specification SELECT CASE ( TRIM(CnvSrc) ) CASE ( 'CNV_MFC' ) ! CNV_MFC is always imported, nothing to do here !CONTINUE CASE ( 'BYNCY' ) call MAPL_AddImportSpec(GC, & SHORT_NAME = 'BYNCY', & LONG_NAME ='buoyancy_of surface_parcel', & UNITS ='m s-2', & DIMS = MAPL_DimsHorzVert, & VLOCATION = MAPL_VLocationCenter, & __RC__ ) CASE DEFAULT call MAPL_AddImportSpec(GC, & SHORT_NAME=TRIM(CnvSrc), & LONG_NAME ='convective_cloud_top_from_file', & UNITS ='m', & DIMS = MAPL_DimsHorzOnly, & VLOCATION = MAPL_VLocationNone, & __RC__ ) END SELECT ! Also add export for CONV_DEPTH_GCC & LFR diagnostics call MAPL_AddExportSpec(GC, & SHORT_NAME='GCC_CONV_DEPTH', & LONG_NAME ='Convective_depth_seen_by_GEOSCHEMchem', & UNITS ='m', & DIMS = MAPL_DimsHorzOnly, & VLOCATION = MAPL_VLocationNone, & __RC__ ) call MAPL_AddExportSpec(GC, & SHORT_NAME='GCC_LFR', & LONG_NAME ='Lightning_flash_rate_seen_GEOSCHEMchem', & UNITS ='km-2 s-1', & DIMS = MAPL_DimsHorzOnly, & VLOCATION = MAPL_VLocationNone, & __RC__ ) ! All done RETURN_(ESMF_SUCCESS) END SUBROUTINE MetVars_For_Lightning_Init !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: MetVars_For_Lightning_Run ! ! !DESCRIPTION: Fill the State_Met variables needed for lightning NOx calculation !\\ !\\ ! !INTERFACE: ! SUBROUTINE MetVars_For_Lightning_Run( GC, Import, Export, State_Met, State_Grid, & DryRun, CF, LfrSrc, CnvSrc, RC ) ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ESMF_GridComp), INTENT(INOUT) :: GC ! Ref. to this GridComp TYPE(ESMF_State), INTENT(INOUT), OPTIONAL :: Import ! Import State TYPE(ESMF_State), INTENT(INOUT), OPTIONAL :: Export ! Export State TYPE(MetState), INTENT(INOUT), OPTIONAL :: State_Met ! Met. state object TYPE(GrdState), INTENT(IN), OPTIONAL :: State_Grid ! Grid state LOGICAL, INTENT(IN), OPTIONAL :: DryRun ! Don't fill fields TYPE(ESMF_Config), INTENT(INOUT), OPTIONAL :: CF ! GEOSCHEM*.rc ! ! !OUTPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(OUT), OPTIONAL :: LfrSrc ! Lightning flash rate source ID CHARACTER(LEN=*), INTENT(OUT), OPTIONAL :: CnvSrc ! Convective height source ID INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 20 Jan 2020 - C. Keller - Initial version ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! LOCAL VARIABLES: ! INTEGER :: I,J,L INTEGER :: LTOP LOGICAL :: am_I_Root LOGICAL :: Skip CHARACTER(LEN=31), SAVE :: LFR_SOURCE = "" CHARACTER(LEN=31), SAVE :: CNV_SOURCE = "" INTEGER, SAVE :: CNV_ID = -1 REAL, SAVE :: SCAL_STRP = 1.0 REAL, SAVE :: SCAL_TROP = 1.0 REAL, SAVE :: SCAL_NTRP = 1.0 REAL, SAVE :: SCAL_LFR = 1.0 REAL, POINTER :: Ptr2d(:,:) REAL, POINTER :: BYNCY(:,:,:) REAL, POINTER :: CNV_FRC(:,:) __Iam__('MetVars_For_Lightning_Run') am_I_Root = MAPL_Am_I_Root() !-LFR source IF ( TRIM(LFR_SOURCE)=="" .OR. CNV_ID<0 ) THEN ASSERT_(PRESENT(CF)) CALL ESMF_ConfigGetAttribute( CF, LFR_SOURCE, & Label="LIGHTNING_FLASH_RATE_SOURCE:", & Default="LFR_GCC", & __RC__ ) CALL ESMF_ConfigGetAttribute( CF, SCAL_STRP, & Label="LFR_SCALING_SOUTHERN_TROP:", & Default=1.0, & __RC__ ) CALL ESMF_ConfigGetAttribute( CF, SCAL_TROP, & Label="LFR_SCALING_TROPICS:", & Default=1.0, & __RC__ ) CALL ESMF_ConfigGetAttribute( CF, SCAL_NTRP, & Label="LFR_SCALING_NORTHERN_TROP:", & Default=1.0, & __RC__ ) CALL ESMF_ConfigGetAttribute( CF, SCAL_LFR, & Label="LFR_SCALING_GLOBAL:", & Default=1.0, & __RC__ ) ! Verbose IF (am_I_Root) THEN WRITE(*,*) 'GEOSCHEMchem lightning flash rate source: ',TRIM(LFR_SOURCE) WRITE(*,*) '--> LFR scaling southern trop (<23S) : ',SCAL_STRP WRITE(*,*) '--> LFR scaling tropics (23S-23N) : ',SCAL_TROP WRITE(*,*) '--> LFR scaling northern trop (>23N) : ',SCAL_NTRP WRITE(*,*) '--> LFR scaling global : ',SCAL_LFR ENDIF !----Convective height source CALL ESMF_ConfigGetAttribute( CF, CNV_SOURCE, & Label="LIGHTNING_CONVECTIVE_TOP_SOURCE:", & Default="CNV_MFC", & __RC__ ) SELECT CASE ( TRIM(CNV_SOURCE) ) CASE ( "CNV_MFC" ) CNV_ID = 0 CASE ( "BYNCY" ) CNV_ID = 1 CASE DEFAULT CNV_ID = 2 END SELECT ! Verbose IF (am_I_Root) THEN WRITE(*,*) 'GEOSCHEMchem lightning convective height source: ',TRIM(CNV_SOURCE) ENDIF ENDIF !-Fill state met IF ( PRESENT(DryRun) ) THEN Skip = DryRun ELSE Skip = .FALSE. ENDIF IF ( .NOT. Skip ) THEN !----Lightning flash rate density [km-2 s-1] call MAPL_GetPointer ( IMPORT, Ptr2D, TRIM(LFR_SOURCE), __RC__ ) State_Met%FLASH_DENS = Ptr2D ! Rescale flash rates as specified in GEOSCHEMchem_GridComp.rc ! southern extratropics IF ( SCAL_STRP /= 1.0 ) THEN WHERE ( State_Grid%YMID < -23.0 ) State_Met%FLASH_DENS = State_Met%FLASH_DENS * SCAL_STRP END WHERE ENDIF ! tropics IF ( SCAL_TROP /= 1.0 ) THEN WHERE ( State_Grid%YMID >= -23.0 .AND. State_Grid%YMID <= 23.0 ) State_Met%FLASH_DENS = State_Met%FLASH_DENS * SCAL_TROP END WHERE ENDIF ! northern extratropics IF ( SCAL_NTRP /= 1.0 ) THEN WHERE ( State_Grid%YMID > 23.0 ) State_Met%FLASH_DENS = State_Met%FLASH_DENS * SCAL_NTRP END WHERE ENDIF ! overall LFR scaling IF ( SCAL_LFR /= 1.0 ) THEN State_Met%FLASH_DENS = State_Met%FLASH_DENS * SCAL_LFR ENDIF ! Eventually add to Export Ptr2D => NULL() call MAPL_GetPointer ( EXPORT, Ptr2D, 'GCC_LFR', NotFoundOk=.TRUE., __RC__ ) IF ( ASSOCIATED(Ptr2D) ) Ptr2D = State_Met%FLASH_DENS !----Convective depth [m] SELECT CASE ( CNV_ID ) ! Convective mass flux ! Get highest level with positive convective mass flux. CMFMC is ! on level edges. CASE ( 0 ) DO J=1,State_Grid%NY DO I=1,State_Grid%NX LTOP = 0 DO L = State_Grid%NZ+1,2,-1 IF ( State_Met%CMFMC(I,J,L) > 0.0 ) THEN LTOP = L-1 EXIT ENDIF ENDDO IF ( LTOP > 0 ) THEN State_Met%CONV_DEPTH(I,J) = SUM(State_Met%BXHEIGHT(I,J,1:LTOP)) ELSE State_Met%CONV_DEPTH(I,J) = 0.0 ENDIF ENDDO ENDDO ! Buoyancy and convective fraction ! Get highest level with positive buoyancy and where convective fraction ! is non-zero. BYNCY is on GEOS coordinates (--> 1=top of atmosphere) and ! on level mid-points. LM captures the dimension of CNV_MFC, which is on ! level edges. CASE ( 1 ) call MAPL_GetPointer ( IMPORT, BYNCY, 'BYNCY' , __RC__ ) call MAPL_GetPointer ( IMPORT, CNV_FRC, 'CNV_FRC', __RC__ ) DO J=1,State_Grid%NY DO I=1,State_Grid%NX LTOP = 0 IF ( CNV_FRC(I,J) > 0.0 ) THEN DO L = 1,State_Grid%NZ IF ( BYNCY(I,J,L) > 0.0 ) THEN LTOP = State_Grid%NZ - L + 1 EXIT ENDIF ENDDO ENDIF IF ( LTOP > 0 ) THEN State_Met%CONV_DEPTH(I,J) = SUM(State_Met%BXHEIGHT(I,J,1:LTOP)) ELSE State_Met%CONV_DEPTH(I,J) = 0.0 ENDIF ENDDO ENDDO BYNCY => NULL() CNV_FRC => NULL() ! Offline file CASE ( 2 ) call MAPL_GetPointer ( IMPORT, Ptr2D, TRIM(CNV_SOURCE), __RC__ ) State_Met%CONV_DEPTH = Ptr2D END SELECT ! Eventually add to Export Ptr2D => NULL() call MAPL_GetPointer ( EXPORT, Ptr2D, 'GCC_CONV_DEPTH', NotFoundOk=.TRUE., __RC__ ) IF ( ASSOCIATED(Ptr2D) ) Ptr2D = State_Met%CONV_DEPTH ENDIF ! Skip !-Cleanup IF ( PRESENT(LfrSrc) ) LfrSrc = LFR_SOURCE IF ( PRESENT(CnvSrc) ) CnvSrc = CNV_SOURCE RETURN_(ESMF_SUCCESS) END SUBROUTINE MetVars_For_Lightning_Run !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: CalcColumns_ ! ! !DESCRIPTION: CalcColumns_ calculates total and tropospheric columns for a ! number of species. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CalcColumns_ ( am_I_Root, Input_Opt, State_Met, State_Chm, State_Diag, PLE, TROPP, RC ) ! ! !USES: ! USE State_Diag_Mod, ONLY : DgnMap ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: am_I_Root TYPE(OptInput), INTENT(INOUT) :: Input_Opt TYPE(MetState), INTENT(INOUT) :: State_Met TYPE(ChmState), INTENT(INOUT) :: State_Chm TYPE(DgnState), INTENT(INOUT) :: State_Diag REAL, POINTER :: PLE (:,:,:) REAL, POINTER :: TROPP(:,: ) INTEGER, INTENT(OUT) :: RC ! ! !REVISION HISTORY: ! 25 Oct 2014 - C. Keller - Initial version ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! LOCAL VARIABLES: ! REAL, POINTER :: ExpTOTCOL(:,:) REAL, POINTER :: ExpTRPCOL(:,:) REAL, POINTER :: ExpPBLCOL(:,:) REAL(fp), POINTER :: Spc3D (:,:,:) REAL, ALLOCATABLE :: DUsLayerL(:,:)! Dobsons in a layer, ! for total ozone REAL, ALLOCATABLE :: wgt(:,:) ! Layer thickness weighting ! for total ozone REAL :: MW, const INTEGER :: I, J, IM, JM, LM, LB, L, STATUS INTEGER :: ID, TotID, TropID, PblID CHARACTER(LEN=ESMF_MAXSTR) :: Iam CHARACTER(LEN=15) :: ISPEC ! Objects TYPE(DgnMap), POINTER :: mapTotCol => NULL() TYPE(DgnMap), POINTER :: mapTropCol => NULL() TYPE(DgnMap), POINTER :: mapPblCol => NULL() !======================================================================= ! CalcColumns_ begins here !======================================================================= ! Traceback handle Iam = 'CalcColumns_' ! Nothing to do if not active IF ( .NOT. State_Diag%Archive_TotCol .AND. & .NOT. State_Diag%Archive_TropCol .AND. & .NOT. State_Diag%Archive_PblCol ) THEN RC = ESMF_SUCCESS RETURN ENDIF ! Grid size IM = SIZE(PLE,1) JM = SIZE(PLE,2) LM = SIZE(PLE,3)-1 LB = LBOUND(PLE,3) ! mapping objects IF ( State_Diag%Archive_TotCol ) THEN mapTotCol => State_Diag%Map_TotCol State_Diag%TotCol(:,:,:) = 0.0 ENDIF IF ( State_Diag%Archive_TropCol ) THEN mapTropCol => State_Diag%Map_TropCol State_Diag%TropCol(:,:,:) = 0.0 ENDIF IF ( State_Diag%Archive_PblCol ) THEN mapPblCol => State_Diag%Map_PblCol State_Diag%PblCol(:,:,:) = 0.0 ENDIF ! Allocate local variables ALLOCATE(DUsLayerL(IM,JM), STAT=STATUS) _VERIFY(STATUS) ALLOCATE(wgt(IM,JM), STAT=STATUS) _VERIFY(STATUS) ! Check all species DO I = 1, State_Chm%nSpecies ! Check if total column and/or trop. column requested for this species TotID = -1 IF ( State_Diag%Archive_TotCol ) THEN DO J = 1,mapTotCol%nSlots IF ( mapTotCol%slot2id(J)==I ) THEN TotID = J EXIT ENDIF ENDDO ENDIF TropID = -1 IF ( State_Diag%Archive_TropCol ) THEN DO J = 1,mapTropCol%nSlots IF ( mapTropCol%slot2id(J)==I ) THEN TropID = J EXIT ENDIF ENDDO ENDIF PblID = -1 IF ( State_Diag%Archive_PblCol ) THEN DO J = 1,mapPblCol%nSlots IF ( mapPblCol%slot2id(J)==I ) THEN PblID = J EXIT ENDIF ENDDO ENDIF IF ( (TotID<0) .AND. (TropID<0) .AND. (PblID<0) ) CYCLE ! Species info ISPEC = State_Chm%SpcData(I)%Info%Name ID = IND_(TRIM(ISPEC)) MW = State_Chm%SpcData(ID)%Info%MW_g ! Get species from internal state Spc3D => State_Chm%Species(ID)%Conc(:,:,LM:1:-1) ! constant const = MAPL_AVOGAD / ( MAPL_GRAV * MW ) ! Calculate total and trop. column DO L = 1,LM DUsLayerL(:,:) = Spc3D(:,:,L) * ( PLE(:,:,L+LB) & - PLE(:,:,L+LB-1) ) * const ! rescale: molec/m2 --> molec/cm2 ! rescale: molec/cm2 ==> 1.0e15 molec/cm2 DUsLayerL(:,:) = DUsLayerL(:,:) / 1.0e4 / 1.0e15 ! Add to total column IF ( TotID > 0 ) THEN State_Diag%TotCol(:,:,TotID) = State_Diag%TotCol(:,:,TotID) & + DUsLayerL(:,:) ENDIF ! Add to tropospheric column IF ( TropID > 0 ) THEN wgt = MAX(0.0,MIN(1.0,(PLE(:,:,L+LB)-TROPP(:,:)) & / (PLE(:,:,L+LB)-PLE(:,:,L+LB-1)))) State_Diag%TropCol(:,:,TropID) = State_Diag%TropCol(:,:,TropID) & + DUsLayerL(:,:)*wgt(:,:) END IF ! Add to PBL column IF ( PblID > 0 ) THEN wgt = MAX(0.0,MIN(1.0,(PLE(:,:,L+LB)-(State_Met%PBL_TOP_hPa(:,:)*100.0)) & / (PLE(:,:,L+LB)-PLE(:,:,L+LB-1)))) State_Diag%PblCol(:,:,PblID) = State_Diag%PblCol(:,:,PblID) & + DUsLayerL(:,:)*wgt(:,:) END IF END DO ENDDO ! Cleanup DEALLOCATE(DUsLayerL, STAT=STATUS) _VERIFY(STATUS) DEALLOCATE(wgt, STAT=STATUS) _VERIFY(STATUS) ! Successful return RC = ESMF_SUCCESS END SUBROUTINE CalcColumns_ !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: CalcSpeciesDiagnostics_ ! ! !DESCRIPTION: CalcSpeciesDiagnostics_ computes species' diagnostics !\\ !\\ ! !INTERFACE: ! SUBROUTINE CalcSpeciesDiagnostics_( am_I_Root, Input_Opt, State_Met, & State_Chm, State_Diag, IMPORT, EXPORT, & Q, RC ) ! ! !USES: ! ! USE TENDENCIES_MOD, ONLY : Tend_Get USE Species_Mod, ONLY : Species ! ! !INPUT/OUTPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: am_I_Root TYPE(OptInput), INTENT(INOUT) :: Input_Opt TYPE(MetState), INTENT(INOUT) :: State_Met TYPE(ChmState), INTENT(INOUT) :: State_Chm TYPE(DgnState), INTENT(INOUT) :: State_Diag TYPE(ESMF_State), INTENT(INOUT) :: Import ! Import State TYPE(ESMF_State), INTENT(INOUT) :: Export ! Export State REAL, POINTER :: Q(:,:,:) ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 05 Dec 2017 - C. Keller - Initial version ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! LOCAL VARIABLES: ! ! Objects ! Scalars INTEGER :: STATUS INTEGER :: I, J, N, IM, JM, LM, DryID INTEGER :: IndSpc LOGICAL :: IsBry, IsNOy, IsCly, IsOrgCl LOGICAL :: RunMe CHARACTER(LEN=ESMF_MAXSTR) :: Iam ! Gridded component name CHARACTER(LEN=ESMF_MAXSTR) :: FieldName, SpcName REAL :: MW REAL :: BrCoeff, ClCoeff, OrgClCoeff REAL(fp), POINTER :: PtrTmp(:,:,:) TYPE(Species), POINTER :: SpcInfo REAL(f4), POINTER :: NOy(:,:,:) => NULL() REAL(f4), POINTER :: Bry(:,:,:) => NULL() REAL(f4), POINTER :: Cly(:,:,:) => NULL() REAL(f4), POINTER :: OrgCl(:,:,:) => NULL() LOGICAL, SAVE :: FIRST = .TRUE. !======================================================================= ! Routine starts here !======================================================================= ! Identify this routine to MAPL Iam = 'GCC::CalcSpeciesDiagnostics_' ! Grid size IM = SIZE(Q,1) JM = SIZE(Q,2) LM = SIZE(Q,3) !======================================================================= ! Exports in dry vol mixing ratio (v/v dry). Includes NOy. Convert from ! kg/kg total. !======================================================================= IF ( State_Diag%Archive_NOy .AND. & ASSOCIATED(State_Diag%NOy) ) NOy => State_Diag%NOy(:,:,LM:1:-1) IF ( State_Diag%Archive_Bry .AND. & ASSOCIATED(State_Diag%Bry) ) Bry => State_Diag%Bry(:,:,LM:1:-1) IF ( State_Diag%Archive_Cly .AND. & ASSOCIATED(State_Diag%Cly) ) Cly => State_Diag%Cly(:,:,LM:1:-1) IF ( State_Diag%Archive_OrganicCl .AND. & ASSOCIATED(State_Diag%OrganicCl) ) OrgCl => State_Diag%OrganicCl(:,:,LM:1:-1) IF ( ASSOCIATED(NOy) ) NOy(:,:,:) = 0.0 IF ( ASSOCIATED(Bry) ) Bry(:,:,:) = 0.0 IF ( ASSOCIATED(Cly) ) Cly(:,:,:) = 0.0 IF ( ASSOCIATED(OrgCl) ) OrgCl(:,:,:) = 0.0 DO N=1,State_Chm%nSpecies SpcInfo => State_Chm%SpcData(N)%Info ! Species database SpcName = TRIM(SpcInfo%Name) ! Need to fill at least one export? RunMe = .FALSE. ! Is this a NOy species? IF ( ASSOCIATED(NOy) ) THEN SELECT CASE ( TRIM(SpcName) ) CASE ( 'BrNO3', 'ClNO3', 'DHDN', 'ETHLN', 'HNO2', & 'HNO3', 'HNO4', 'HONIT' ) IsNOy = .TRUE. CASE ( 'IONITA', 'IPMN', 'ISN1', 'ISNIOA', 'ISNIOG' ) IsNOy = .TRUE. CASE ( 'ISOPNB', 'ISOPND', 'MACRN', 'MPN', 'MVKN', & 'N2O5', 'NIT', 'NO', 'NO2', 'NO3' ) IsNOy = .TRUE. CASE ( 'NPMN', 'ONIT', 'PAN', 'PROPNN', 'R4N2' ) IsNOy = .TRUE. CASE DEFAULT IsNOy = .FALSE. END SELECT ELSE IsNOy = .FALSE. ENDIF IF ( IsNOy ) RunMe = .TRUE. ! Is this a Bry species? BrCoeff = 0.0 IF ( ASSOCIATED(Bry) ) THEN SELECT CASE ( TRIM(SpcName) ) CASE ( 'Br', 'BrO', 'HOBr', 'HBr', 'BrNO2', 'BrNO3', 'BrCl', 'IBr' ) BrCoeff = 1.0 IsBry = .TRUE. CASE ( 'Br2' ) BrCoeff = 2.0 IsBry = .TRUE. CASE DEFAULT IsBry = .FALSE. END SELECT ELSE IsBry = .FALSE. ENDIF IF ( IsBry ) RunMe = .TRUE. ! Is this a Cly species? ClCoeff = 0.0 IF ( ASSOCIATED(Cly) ) THEN SELECT CASE ( TRIM(SpcName) ) CASE ( 'Cl', 'ClO', 'OClO', 'ClOO', 'HOCl', 'HCl', 'ClNO2', 'ClNO3', 'BrCl', 'ICl' ) ClCoeff = 1.0 IsCly = .TRUE. CASE ( 'Cl2', 'Cl2O2' ) ClCoeff = 2.0 IsCly = .TRUE. CASE DEFAULT IsCly = .FALSE. END SELECT ELSE IsCly = .FALSE. ENDIF IF ( IsCly ) RunMe = .TRUE. ! Is this an OrgCl species? OrgClCoeff = 0.0 IF ( ASSOCIATED(Cly) ) THEN SELECT CASE ( TRIM(SpcName) ) CASE ( 'H1211', 'CFC115', 'CH3Cl', 'HCFC142b', 'HCFC22', 'CH2ICl' ) OrgClCoeff = 1.0 IsOrgCl = .TRUE. CASE ( 'CFC114', 'CFC12', 'HCFC141b', 'HCFC123', 'CH2Cl2' ) OrgClCoeff = 2.0 IsOrgCl = .TRUE. CASE ( 'CFC11', 'CFC113', 'CH3CCl3', 'CHCl3' ) OrgClCoeff = 3.0 IsOrgCl = .TRUE. CASE ( 'CCl4' ) OrgClCoeff = 4.0 IsOrgCl = .TRUE. CASE DEFAULT IsOrgCl = .FALSE. END SELECT ELSE IsOrgCl = .FALSE. ENDIF IF ( IsOrgCl ) RunMe = .TRUE. ! Fill exports IF ( RunMe ) THEN !FieldName = 'SPC_'//TRIM(SpcName) MW = SpcInfo%MW_g IF ( MW < 0.0 ) THEN ! Get species and set MW to 1.0. This is ok because the internal ! state uses a MW of 1.0 for all species MW = 1.0 ! Cannot add to NOy if MW is unknown because it would screw up ! unit conversion IF ( IsNOy ) THEN IsNOy = .FALSE. IF ( am_I_Root .AND. FIRST ) THEN write(*,*) 'WARNING: Ignore species for NOy computation' //& ' because MW is unknown: ', TRIM(SpcName) ENDIF ENDIF ENDIF PtrTmp => State_Chm%Species(N)%Conc(:,:,LM:1:-1) ! uncomment below to output more family species information ! IF ( am_I_Root .AND. FIRST ) THEN ! write(*,*) 'First GCC species diagnostics: ', TRIM(SpcName), MW ! IF ( IsNOy ) write(*,*) '--> Is part of NOy' ! IF ( IsBry ) write(*,*) '--> Is part of Bry: ', BrCoeff ! IF ( IsCly ) write(*,*) '--> Is part of Cly: ', ClCoeff ! IF ( IsOrgCl ) write(*,*) '--> Is part of OrgCl: ', OrgClCoeff ! ENDIF ! NOy concentration IF ( IsNOy ) NOy = NOy + PtrTmp * ( MAPL_AIRMW / MW ) / ( 1.0 - Q ) ! Bry concentration IF ( IsBry ) Bry = Bry + BrCoeff * PtrTmp * ( MAPL_AIRMW / MW ) / ( 1.0 - Q ) ! Cly concentration IF ( IsCly ) Cly = Cly + ClCoeff * PtrTmp * ( MAPL_AIRMW / MW ) / ( 1.0 - Q ) ! OrgCl concentration IF ( IsOrgCl ) OrgCl = OrgCl + OrgClCoeff * PtrTmp * ( MAPL_AIRMW / MW ) / ( 1.0 - Q ) ENDIF ENDDO !======================================================================= ! All done !======================================================================= ! Cleanup IF ( ASSOCIATED(NOy) ) NOy => NULL() IF ( ASSOCIATED(Bry) ) Bry => NULL() IF ( ASSOCIATED(Cly) ) Cly => NULL() IF ( ASSOCIATED(OrgCl) ) OrgCl => NULL() ! Successful return FIRST = .FALSE. RETURN_(ESMF_SUCCESS) END SUBROUTINE CalcSpeciesDiagnostics_ !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init3D_ ! ! !DESCRIPTION: Helper routine to initialize 3D fields !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init3D_ ( am_I_Root, IM, JM, LM, OnGeosLev, Internal, VarBundle, VarName, IntName, State3D, RC ) ! ! !INPUT/OUTPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: am_I_Root INTEGER, INTENT(IN) :: IM, JM, LM LOGICAL, INTENT(IN) :: OnGeosLev TYPE(ESMF_STATE), INTENT(INOUT) :: Internal ! Internal state TYPE(MAPL_SimpleBundle), INTENT(INOUT) :: VarBundle CHARACTER(LEN=*), INTENT(IN) :: VarName CHARACTER(LEN=*), INTENT(IN) :: IntName REAL(fp), POINTER :: State3D(:,:,:) INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 06 Jul 2022 - C. Keller - Initial version (from Chem_GridCompMod) ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! LOCAL VARIABLES: ! CHARACTER(LEN=ESMF_MAXSTR) :: Iam INTEGER :: VarID INTEGER :: LM2 INTEGER :: STATUS REAL, POINTER :: Ptr3D(:,:,:) => NULL() ! Begin here Iam = 'Init3D_' ! Get variable on internal array VarID = MAPL_SimpleBundleGetIndex ( VarBundle, trim(VarName), 3, RC=STATUS, QUIET=.TRUE. ) IF ( VarID > 0 ) THEN LM2 = SIZE(VarBundle%r3(VarID)%q,3) ASSERT_( LM==LM2 ) IF ( am_I_Root ) WRITE(*,*) 'Field initialized from external field: ',TRIM(VarName),TRIM(IntName) ELSE IF ( am_I_Root ) WRITE(*,*) 'Field not found in external file - no updates: ',TRIM(VarName) ENDIF ! Pass field to internal state CALL MAPL_GetPointer( Internal, Ptr3D, TRIM(IntName) , notFoundOK=.TRUE., __RC__ ) IF ( ASSOCIATED(Ptr3D) ) THEN IF ( OnGeosLev ) THEN Ptr3D(:,:,:) = VarBundle%r3(VarID)%q(:,:,:) ELSE Ptr3D(:,:,:) = VarBundle%r3(VarID)%q(:,:,LM:1:-1) ENDIF ELSE IF ( am_I_Root ) WRITE(*,*) 'Field not found in internal state - no update: ',TRIM(IntName) ENDIF ! Pass field to state object (if provided) IF ( ASSOCIATED(State3D) ) THEN IF ( OnGeosLev ) THEN State3D(:,:,:) = VarBundle%r3(VarID)%q(:,:,LM:1:-1) ELSE State3D(:,:,:) = VarBundle%r3(VarID)%q(:,:,:) ENDIF ELSE IF ( am_I_Root ) WRITE(*,*) 'No state obj field provided - no update: ',TRIM(VarName) ENDIF RETURN_(ESMF_SUCCESS) END SUBROUTINE Init3D_ ! !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Init3D_ ! ! !DESCRIPTION: Helper routine to initialize 3D fields !\\ !\\ ! !INTERFACE: ! SUBROUTINE Init2D_ ( am_I_Root, IM, JM, Internal, VarBundle, VarName, IntName, State2D, RC ) ! ! !INPUT/OUTPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: am_I_Root INTEGER, INTENT(IN) :: IM, JM TYPE(ESMF_STATE), INTENT(INOUT) :: Internal ! Internal state TYPE(MAPL_SimpleBundle), INTENT(INOUT) :: VarBundle CHARACTER(LEN=*), INTENT(IN) :: VarName CHARACTER(LEN=*), INTENT(IN) :: IntName REAL(fp), POINTER :: State2D(:,:) INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 06 Jul 2022 - C. Keller - Initial version (from Chem_GridCompMod) ! See https://github.com/geoschem/geos-chem for history !EOP !------------------------------------------------------------------------------ !BOC ! ! LOCAL VARIABLES: ! CHARACTER(LEN=ESMF_MAXSTR) :: Iam INTEGER :: VarID INTEGER :: STATUS REAL, POINTER :: Ptr2D(:,:) => NULL() ! Begin here Iam = 'Init2D_' ! Get variable on internal array VarID = MAPL_SimpleBundleGetIndex ( VarBundle, trim(VarName), 2, RC=STATUS, QUIET=.TRUE. ) IF ( VarID > 0 ) THEN IF ( am_I_Root ) WRITE(*,*) 'Field initialized from external field: ',TRIM(VarName),' ',TRIM(IntName) ELSE IF ( am_I_Root ) WRITE(*,*) 'Field not found in external file - no updates: ',TRIM(VarName) ENDIF ! Pass field to internal state CALL MAPL_GetPointer( Internal, Ptr2D, TRIM(IntName) , notFoundOK=.TRUE., __RC__ ) IF ( ASSOCIATED(Ptr2D) ) THEN Ptr2D(:,:) = VarBundle%r2(VarID)%q(:,:) ELSE IF ( am_I_Root ) WRITE(*,*) 'Field not found in internal state - no update: ',TRIM(IntName) ENDIF ! Pass field to state object (if provided) IF ( ASSOCIATED(State2D) ) THEN State2D(:,:) = VarBundle%r2(VarID)%q(:,:) ELSE IF ( am_I_Root ) WRITE(*,*) 'No state obj field provided - no update: ',TRIM(VarName) ENDIF RETURN_(ESMF_SUCCESS) END SUBROUTINE Init2D_ !EOC END MODULE GEOS_Interface ================================================ FILE: KPP/.cvsignore ================================================ *.mod *.o *.a *.pdf *.ps *.tex geos ================================================ FILE: KPP/.gitignore ================================================ *.[oax] *.mod *.MOD *~* geos geostomas geosapm *.pp.* *.pdb *.inst.* *.continue.* *.ppk core.* ================================================ FILE: KPP/CMakeLists.txt ================================================ # KPP/CMakeLists.txt #----------------------------------------------------------------------------- # Build the fullchem mechanism if configured with -DMECH=fullchem # Also build the KPP-Standalone if configured with -DKPPSA=y #----------------------------------------------------------------------------- if("${MECH}" STREQUAL fullchem) add_subdirectory(fullchem) if(KPPSA) add_subdirectory(standalone) endif() endif() #----------------------------------------------------------------------------- # Build the carbon mechanism if configured with -DMECH=carbon #----------------------------------------------------------------------------- if("${MECH}" STREQUAL carbon) add_subdirectory(carbon) endif() #----------------------------------------------------------------------------- # Build the custom mechanism if configured with -DMECH=custom # Also build the KPP-Standalone if configured with -DKPPSA=y #----------------------------------------------------------------------------- if("${MECH}" STREQUAL custom) add_subdirectory(custom) if(KPPSA) add_subdirectory(standalone) endif() endif() #----------------------------------------------------------------------------- # Build the Hg mechanism if configured with -DMECH=Hg #----------------------------------------------------------------------------- if("${MECH}" STREQUAL Hg) add_subdirectory(Hg) endif() # Comment out this option for now (bmy, 9/16/21) ## Build the aciduptake mechanism if configured with -DMECH=aciduptake #if("${MECH}" STREQUAL aciduptake) # add_subdirectory(aciduptake) #endif() ================================================ FILE: KPP/Hg/CMakeLists.txt ================================================ # KPP/Hg/CMakeLists.txt #---------------------------------------------------------------------------- # Determine the KPP integrator name and set corresponding variables. # This is for informational purposes only. #---------------------------------------------------------------------------- # Get integrator name EXECUTE_PROCESS( COMMAND grep \#INTEGRATOR ${CMAKE_CURRENT_SOURCE_DIR}/Hg.kpp OUTPUT_VARIABLE RESULT ) separate_arguments(SUBSTRINGS UNIX_COMMAND "${RESULT}") list(GET SUBSTRINGS 1 KPP_INTEGRATOR_NAME) string(TOLOWER "${KPP_INTEGRATOR_NAME}" KPP_INTEGRATOR_NAME) # Print result gc_pretty_print(SECTION "KPP integrator (read from Hg.kpp)") gc_pretty_print(VARIABLE KPP_INTEGRATOR_NAME) #----------------------------------------------------------------------------- # Add libKPP_FirstPass.a #----------------------------------------------------------------------------- add_library(KPP_FirstPass STATIC EXCLUDE_FROM_ALL gckpp_Precision.F90 gckpp_Parameters.F90 gckpp_Monitor.F90 ) # Dependencies target_link_libraries(KPP_FirstPass PUBLIC GEOSChemBuildProperties ) #----------------------------------------------------------------------------- # Add libKPP.a #----------------------------------------------------------------------------- add_library(KPP STATIC EXCLUDE_FROM_ALL commonIncludeVars.H gckpp_Function.F90 gckpp_Global.F90 gckpp_Initialize.F90 gckpp_Integrator.F90 gckpp_Jacobian.F90 gckpp_JacobianSP.F90 gckpp_LinearAlgebra.F90 gckpp_Model.F90 gckpp_Monitor.F90 gckpp_Parameters.F90 gckpp_Precision.F90 gckpp_Rates.F90 gckpp_Util.F90 Hg_RateLawFuncs.F90 Hg_HetStateFuncs.F90 rateLawUtilFuncs.F90 # # Build these stub modules to avoid compilation errors. # These are symbolic links to files in the ../stubs folder. # stub_aciduptake_DustChemFuncs.F90 stub_carbon_Funcs.F90 stub_fullchem_AutoReduceFuncs.F90 stub_fullchem_HetStateFuncs.F90 stub_fullchem_SulfurChemFuncs.F90 ) # Dependencies target_link_libraries(KPP PUBLIC GeosUtil ) # Treat REAL as if it were REAL*8 target_compile_options(KPP PRIVATE "" $<$:-r8> $<$:-fdefault-real-8 -fdefault-double-8> ) ================================================ FILE: KPP/Hg/Hg.eqn ================================================ { Hg.eqn ------------------------------------------------------------------------------- DESCRIPTION ------------------------------------------------------------------------------- GEOS-Chem KPP Hg chemistry file containing species and equations. =============================================================================== NOTES =============================================================================== Comment format is Species - Molecular formula; full name Equations - Date modified; Reference; Developer initials } #include atoms.kpp #DEFVAR Hg0 = IGNORE; HgBr = IGNORE; HgBrNO2 = IGNORE; HgBrHO2 = IGNORE; HgBrClO = IGNORE; HgBrBrO = IGNORE; HgBr2 = IGNORE; HgBrOH = IGNORE; HgBrO = IGNORE; HgClNO2 = IGNORE; HgClHO2 = IGNORE; HgClClO = IGNORE; HgClBrO = IGNORE; HgClBr = IGNORE; HgClOH = IGNORE; HgCl = IGNORE; HgClO = IGNORE; HgOHNO2 = IGNORE; HgOHHO2 = IGNORE; HgOHClO = IGNORE; HgOHBrO = IGNORE; HgOHOH = IGNORE; HgOH = IGNORE; HgOHO = IGNORE; HgCl2 = IGNORE; Hg2ClP = IGNORE; Hg2ORGP = IGNORE; #DEFFIX {PRESCRIBED CONCS FROM HEMCO} Br = IGNORE; Cl = IGNORE; OH = IGNORE; NO2 = IGNORE; NO = IGNORE; O3 = IGNORE; HO2 = IGNORE; BrO = IGNORE; ClO = IGNORE; CO = IGNORE; CH4 = IGNORE; #EQUATIONS // // Gas-phase reactions // {OXIDATION BY Br} Hg0 + Br = HgBr : GCARR_ab(1.46d-32, 1.86d0) * NUMDEN; HgBr = Hg0 : GCARR_abc(1.6d-9, 1.86d0, -7801.0d0) * NUMDEN; HgBr + Br = Hg0 : 3.9d-11; HgBr + NO2 = Hg0 : 3.0d-12; HgBr + NO2 = HgBrNO2 : GCJPLPR_abab(4.3d-30, 5.9d0, 1.2d-10, 1.90d0, 0.6d0); HgBr + HO2 = HgBrHO2 : GCJPLPR_abab(4.3d-30, 5.9d0, 6.9d-11, 2.40d0, 0.6d0); HgBr + ClO = HgBrClO : GCJPLPR_abab(4.3d-30, 5.9d0, 6.9d-11, 2.40d0, 0.6d0); HgBr + BrO = HgBrBrO : GCJPLPR_abab(4.3d-30, 5.9d0, 6.9d-11, 2.40d0, 0.6d0); HgBr + OH = HgBrOH : GCJPLPR_abab(4.3d-30, 5.9d0, 6.9d-11, 2.40d0, 0.6d0); HgBr + Br = HgBr2 : 3.0d-11; HgBrO + CH4 = HgBrOH : GCARR_ac(4.1d-12, -856.0d0); HgBrO + CO = HgBr : GCARR_ac(6.0d-11, -550.0d0); HgBr + O3 = HgBrO : 3.0d-11; {OXIDATION BY Cl} Hg0 + Cl = HgCl : GCARR_ac(2.25d-33, 680.0d0) * NUMDEN; HgCl + Cl = Hg0 : 3.9d-11; HgCl + NO2 = Hg0 : 3.0d-12; HgCl + NO2 = HgClNO2 : GCJPLPR_abab(4.3d-30, 5.9d0, 1.2d-10, 1.90d0, 0.6d0); HgCl + HO2 = HgClHO2 : GCJPLPR_abab(4.3d-30, 5.9d0, 6.9d-11, 2.40d0, 0.6d0); HgCl + ClO = HgClClO : GCJPLPR_abab(4.3d-30, 5.9d0, 6.9d-11, 2.40d0, 0.6d0); HgCl + BrO = HgClBrO : GCJPLPR_abab(4.3d-30, 5.9d0, 6.9d-11, 2.40d0, 0.6d0); HgCl + Br = HgClBr : 3.0d-11; HgCl + OH = HgClOH : 3.0d-11; HgCl + O3 = HgClO : 3.0d-11; HgClO + CH4 = HgClOH : GCARR_ac(4.1d-12, -856.0d0); HgClO + CO = HgCl : GCARR_ac(6.0d-11, -550.0d0); {OXIDATION BY OH} Hg0 + OH = HgOH : GCARR_ac(3.34d-33, 43.0d0) * NUMDEN; HgOH = Hg0 : GCARR_ac(1.22d-9, -5720.0d0) * NUMDEN; HgOH + NO2 = HgOHNO2 : GCJPLPR_abab(4.1d-30, 5.9d0, 1.2E-10, 1.90d0, 0.6d0); HgOH + HO2 = HgOHHO2 : GCJPLPR_abab(4.1d-30, 5.9d0, 6.9d-11, 2.40d0, 0.6d0); HgOH + ClO = HgOHClO : GCJPLPR_abab(4.1d-30, 5.9d0, 6.9d-11, 2.40d0, 0.6d0); HgOH + BrO = HgOHBrO : GCJPLPR_abab(4.1d-30, 5.9d0, 6.9d-11, 2.40d0, 0.6d0); HgOH + Br = HgBrOH : GCJPLPR_abab(4.1d-30, 5.9d0, 6.9d-11, 2.40d0, 0.6d0); HgOH + OH = HgOHOH : GCJPLPR_abab(4.1d-30, 5.9d0, 6.9d-11, 2.40d0, 0.6d0); HgOH + O3 = HgOHO : 3.0d-11; HgOHO + CH4 = HgOHOH : GCARR_ac(4.1d-12, -856.0d0); HgOHO + CO = HgOH : GCARR_ac(6.0d-11, -550.0d0); // // Heterogeneous reactions // {In liquid clouds} HgBrNO2 = Hg2ORGP : Het_HgIIP_Org( State_Het, 0.1d0, SR_MW(ind_HgBrNO2) ); HgBrHO2 = Hg2ORGP : Het_HgIIP_Org( State_Het, 0.1d0, SR_MW(ind_HgBrHO2) ); HgBrOH = Hg2ORGP : Het_HgIIP_Org( State_Het, 0.1d0, SR_MW(ind_HgBrOH ) ); HgBrBrO = Hg2ORGP : Het_HgIIP_Org( State_Het, 0.1d0, SR_MW(ind_HgBrBrO) ); HgBrClO = Hg2ORGP : Het_HgIIP_Org( State_Het, 0.1d0, SR_MW(ind_HgBrClO) ); HgBr2 = Hg2ORGP : Het_HgIIP_Org( State_Het, 0.1d0, SR_MW(ind_HgBr2 ) ); HgClNO2 = Hg2ORGP : Het_HgIIP_Org( State_Het, 0.1d0, SR_MW(ind_HgClNO2) ); HgClHO2 = Hg2ORGP : Het_HgIIP_Org( State_Het, 0.1d0, SR_MW(ind_HgClHO2) ); HgClOH = Hg2ORGP : Het_HgIIP_Org( State_Het, 0.1d0, SR_MW(ind_HgClOH ) ); HgClBrO = Hg2ORGP : Het_HgIIP_Org( State_Het, 0.1d0, SR_MW(ind_HgClBrO) ); HgClClO = Hg2ORGP : Het_HgIIP_Org( State_Het, 0.1d0, SR_MW(ind_HgClClO) ); HgClBr = Hg2ORGP : Het_HgIIP_Org( State_Het, 0.1d0, SR_MW(ind_HgClBr ) ); HgCl2 = Hg2ORGP : Het_HgIIP_Org( State_Het, 0.1d0, SR_MW(ind_HgCl2 ) ); HgOHNO2 = Hg2ORGP : Het_HgIIP_Org( State_Het, 0.1d0, SR_MW(ind_HgOHNO2) ); HgOHHO2 = Hg2ORGP : Het_HgIIP_Org( State_Het, 0.1d0, SR_MW(ind_HgOHHO2) ); HgOHOH = Hg2ORGP : Het_HgIIP_Org( State_Het, 0.1d0, SR_MW(ind_HgOHOH ) ); HgOHBrO = Hg2ORGP : Het_HgIIP_Org( State_Het, 0.1d0, SR_MW(ind_HgOHBrO) ); HgOHClO = Hg2ORGP : Het_HgIIP_Org( State_Het, 0.1d0, SR_MW(ind_HgOHClO) ); HgBrNO2 = Hg2ClP : Het_HgIIP_Inorg( State_Het, 0.1d0, SR_MW(ind_HgBrNO2) ); HgBrHO2 = Hg2ClP : Het_HgIIP_Inorg( State_Het, 0.1d0, SR_MW(ind_HgBrHO2) ); HgBrOH = Hg2ClP : Het_HgIIP_Inorg( State_Het, 0.1d0, SR_MW(ind_HgBrOH ) ); HgBrBrO = Hg2ClP : Het_HgIIP_Inorg( State_Het, 0.1d0, SR_MW(ind_HgBrBrO) ); HgBrClO = Hg2ClP : Het_HgIIP_Inorg( State_Het, 0.1d0, SR_MW(ind_HgBrClO) ); HgBr2 = Hg2ClP : Het_HgIIP_Inorg( State_Het, 0.1d0, SR_MW(ind_HgBr2 ) ); HgClNO2 = Hg2ClP : Het_HgIIP_Inorg( State_Het, 0.1d0, SR_MW(ind_HgClNO2) ); HgClHO2 = Hg2ClP : Het_HgIIP_Inorg( State_Het, 0.1d0, SR_MW(ind_HgClHO2) ); HgClOH = Hg2ClP : Het_HgIIP_Inorg( State_Het, 0.1d0, SR_MW(ind_HgClOH ) ); HgClBrO = Hg2ClP : Het_HgIIP_Inorg( State_Het, 0.1d0, SR_MW(ind_HgClBrO) ); HgClClO = Hg2ClP : Het_HgIIP_Inorg( State_Het, 0.1d0, SR_MW(ind_HgClClO) ); HgClBr = Hg2ClP : Het_HgIIP_Inorg( State_Het, 0.1d0, SR_MW(ind_HgClBr ) ); HgOHNO2 = Hg2ClP : Het_HgIIP_Inorg( State_Het, 0.1d0, SR_MW(ind_HgOHNO2) ); HgOHHO2 = Hg2ClP : Het_HgIIP_Inorg( State_Het, 0.1d0, SR_MW(ind_HgOHHO2) ); HgOHOH = Hg2ClP : Het_HgIIP_Inorg( State_Het, 0.1d0, SR_MW(ind_HgOHOH ) ); HgOHBrO = Hg2ClP : Het_HgIIP_Inorg( State_Het, 0.1d0, SR_MW(ind_HgOHBrO) ); HgOHClO = Hg2ClP : Het_HgIIP_Inorg( State_Het, 0.1d0, SR_MW(ind_HgOHClO) ); // // Photolysis reactions // NO2 + hv = NO + O3 : PHOTOL(25); BrO + hv = Br + O3 : PHOTOL(26); ClO + hv = Cl + O3 : PHOTOL(27); {Br} HgBr + hv = Hg0 + Br : PHOTOL(4); HgBrNO2 + hv = 0.9HgBrO + 0.1HgBr + 0.9NO + 0.1NO2 : PHOTOL(7); HgBrHO2 + hv = 0.25HgBrO + 0.67Hg0 + 0.07HgBr + 0.01HgBrOH + 0.67Br + 0.74HO2 + 0.26OH : PHOTOL(8); HgBrOH + hv = 0.49Hg0 + 0.35HgOH + 0.15HgBr + 0.01HgBrOH + 0.85Br + 0.65OH : PHOTOL(9); HgBr2 + hv = 0.4Hg0 + 0.6HgBr + 1.4Br : PHOTOL(10); HgBrBrO + hv = Hg0 + BrO : PHOTOL(11); HgBrClO + hv = Hg0 + Cl + Br : PHOTOL(12); {Cl} {HgCl2 + hv = Hg0 + 2Cl : PHOTOL(5);} HgClNO2 + hv = 0.9HgClO + 0.1HgCl + 0.9NO + 0.1NO2 : PHOTOL(14); HgClHO2 + hv = 0.25HgClO + 0.67Hg0 + 0.07HgCl + 0.01HgClOH + 0.67Cl + 0.74HO2 + 0.26OH : PHOTOL(15); HgClOH + hv = 0.49Hg0 + 0.35HgOH + 0.15HgCl + 0.01HgClOH + 0.85Cl + 0.65OH : PHOTOL(16); HgClBr + hv = HgCl + Br : PHOTOL(17); HgClBrO + hv = HgCl + BrO : PHOTOL(18); HgClClO + hv = HgCl + ClO : PHOTOL(19); {OH} HgOH + hv = Hg0 + OH : PHOTOL(6); HgOHNO2 + hv = 0.9HgOHO + 0.1HgOH + 0.9NO + 0.1NO2 : PHOTOL(20); HgOHHO2 + hv = 0.25HgOHO + 0.67Hg0 + 0.07HgOH + 0.01HgOHOH + 0.67Cl + 0.74HO2 + 0.26OH : PHOTOL(21); HgOHOH + hv = Hg0 + 2OH : PHOTOL(5); HgOHBrO + hv = HgOH + BrO : PHOTOL(23); HgOHClO + hv = HgOH + ClO : PHOTOL(24); {ORG} Hg2ORGP + hv = Hg0 : PHOTOL(13); ================================================ FILE: KPP/Hg/Hg.kpp ================================================ #MINVERSION 3.2.0 { Need this version of KPP or later } #INTEGRATOR rosenbrock { Use Rosenbrock integration method } #LANGUAGE Fortran90 { Generate solver code in Fortran90 ... } #UPPERCASEF90 on { ... with .F90 suffix (instead of .f90) } #DRIVER none { Do not create gckpp_Main.F90 } #HESSIAN off { Do not create the Hessian matrix } #MEX off { MEX is for Matlab, so skip it } #STOICMAT off { Do not create stoichiometric matrix } #INCLUDE Hg.eqn { Chemical reactions for Hg mechanism } #FAMILIES { Chemical families for prod/loss diagnostic } PHg2 : HgBrNO2 + HgBrHO2 + HgBrClO + HgBrBrO + HgBr2 + HgBrOH + HgBrO + HgOHNO2 + HgOHHO2 + HgOHClO + HgOHBrO + HgOHOH + HgOHO + HgClNO2 + HgClHO2 + HgClClO + HgClBrO + HgClBr + HgClOH + HgClO + HgCl2 + Hg2ClP + Hg2ORGP + HgBr + HgOH + HgCl; {gross GOM production} PHg0 : Hg0; {gross Hg0 production} PHg2Br : HgBrNO2 + HgBrHO2 + HgBrClO + HgBrBrO + HgBr2 + HgBrOH + HgBrO + HgBr; {GOM production from Br} PHg2OH : HgOHNO2 + HgOHHO2 + HgOHClO + HgOHBrO + HgOHOH + HgOHO + HgOH; {GOM production from OH} PHg2Cl : HgClNO2 + HgClHO2 + HgClClO + HgClBrO + HgClBr + HgClOH + HgClO + HgCl2 + HgCl; {GOM production from Cl} #INLINE F90_RATES ! All rates are included in Hg_RateLawFuncs.F90, which ! gets referenced directly from subroutine Update_Rconst. #ENDINLINE #INLINE F90_RCONST_USE ! Inline an include file containing rate law definitions, which ! will be inserted directly into subroutine Update_Rconst(). ! This is necessary as a workaround for KPP not being able to ! include very large files ( > 200000 chars) directly. ! -- Bob Yantosca (09 Dec 2021) USE Hg_RateLawFuncs #ENDINLINE #INLINE F90_GLOBAL ! Inline common variables into gckpp_Global.F90 #include "commonIncludeVars.H" #ENDINLINE ================================================ FILE: KPP/Hg/Hg_HetStateFuncs.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: Hg_HetStateFuncs.F90 ! ! !DESCRIPTION: Module for initializing the HetState object, which passes ! arguments from GEOS-Chem to the heterogeneous chemistry routines. !\\ !\\ ! !INTERFACE: MODULE Hg_HetStateFuncs ! ! !USES: ! USE GcKpp_Precision IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: Hg_SetStateHet ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Hg_SetStateHet ! ! !DESCRIPTION: Initializes the State_Het object with gridbox values passed ! from Hg_mod. These values are used in the heterogenous chemistry ! reaction rate computations. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Hg_SetStateHet( I, J, L, & Input_Opt, State_Chm, State_Met, & fracOrgAer, H, RC ) ! ! !USES: ! USE ErrCode_Mod USE GcKpp_Global USE Input_Opt_Mod, ONLY : OptInput USE rateLawUtilFuncs, ONLY : Cld_Params USE State_Chm_Mod, ONLY : ChmState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I ! Lon index INTEGER, INTENT(IN) :: J ! Lat index INTEGER, INTENT(IN) :: L ! Level index TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object REAL(sp), INTENT(IN) :: fracOrgAer ! Frac forming organic HgIIP ! ! INPUT/OUTPUT PARAMETERS: ! TYPE(HetState), INTENT(INOUT) :: H ! Hetchem State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? !EOP !------------------------------------------------------------------------------ !BOC ! Initialization RC = GC_SUCCESS !======================================================================== ! Populate fields of the HetState object in gckpp_Global !======================================================================== ! Identify a box for debug printout within rate-law functions debugBox = .FALSE. ! Identify if this grid box is cloudy H%cloudBox = ( ( State_Met%InTroposphere(I,J,L) ) .or. & ( State_Met%T(I,J,L) >= 258.0_dp ) .or. & ( State_Met%CLDF(I,J,L) >= 1.0e-3_dp ) ) ! Meteorology-related quantities H%CldFr = MIN( MAX( State_Met%CLDF(I,J,L), 0.0_dp ), 1.0_dp ) H%ClearFr = 1.0_dp - State_Het%CldFr H%QICE = State_Met%QI(I,J,L) H%QLIQ = State_Met%QL(I,J,L) H%vAir = State_Met%AIRVOL(I,J,L) * 1.0e6_dp ! Fraction of species forming organic or inorganic HgII aerosol H%fracOrgAer = fracOrgAer H%fracInorgAer = 1.0_dp - fracOrgAer ! Cloud fields CALL Cld_Params( & AD = State_Met%AD(I,J,L), & CLDF = State_Met%CLDF(I,J,L), & FRLAND = State_Met%FRLAND(I,J), & FROCEAN = State_Met%FROCEAN(I,J), & QI = State_Met%QI(I,J,L), & QL = State_Met%QL(I,J,L), & T = State_Met%T(I,J,L), & H = H ) END SUBROUTINE Hg_SetStateHet !EOC END MODULE Hg_HetStateFuncs ================================================ FILE: KPP/Hg/Hg_RateLawFuncs.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: fullchem_RateLawFuncs ! ! !DESCRIPTION: Provides rate-law functions used by the "fullchem" chemical ! mechanism. This will be referenced from within subroutine Update_RCONST. !\\ !\\ ! !INTERFACE: ! MODULE Hg_RateLawFuncs ! ! !USES: ! USE gckpp_Global USE gckpp_Parameters USE gckpp_Precision USE rateLawUtilFuncs IMPLICIT NONE PUBLIC !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !######################################################################### !##### RATE-LAW FUNCTIONS FOR GAS-PHASE REACTIONS ##### !##### Some common functions are defined in rateLawUtilFuncs.F90 ##### !######################################################################### FUNCTION GCJPLPR_abab( a1, b1, a2, b2, fv ) RESULT( k ) ! ! Third body effect for pressure dependence of rate coefficients. ! a1, b1 are the Arrhenius parameters for the lower-limit rate. ! a2, b2 are the Arrhenius parameters for the upper-limit rate. ! fv is the falloff curve paramter, (see ATKINSON ET. AL (1992) ! J. Phys. Chem. Ref. Data 21, P. 1145). Usually fv = 0.6. ! ! For these reactions, these Arrhenius law terms evaluate to 1: ! EXP(c1/T) ! EXP(c2/T) ! because c1 = c2 = 0. Therefore we can skip computing these ! terms. Also, fct1 = fct2 = 0, so we will skip computing these ! terms as well. This is more computationally efficient. ! (bmy, 06 Jan 2022) ! REAL(dp), INTENT(IN) :: a1, b1, a2, b2, fv REAL(dp) :: rlow, rhigh, xyrat, blog, fexp, k ! rlow = a1 * ( K300_OVER_TEMP**b1 ) * NUMDEN rhigh = a2 * ( K300_OVER_TEMP**b2 ) xyrat = rlow / rhigh blog = LOG10( xyrat ) fexp = 1.0_dp / ( 1.0_dp + ( blog * blog ) ) k = rlow * ( fv**fexp ) / ( 1.0_dp + xyrat ) END FUNCTION GCJPLPR_abab !######################################################################### !##### RATE-LAW FUNCTIONS FOR HETEROGENEOUS REACTIONS ##### !##### Some common functions are defined in rateLawUtilFuncs.F90 ##### !######################################################################### FUNCTION CloudHet_Hg( H, srMw, gamma ) RESULT( k ) ! ! Calculates the loss frequency (1/s) of gas species due to ! heterogeneous chemistry on liquid clouds in a partially cloudy ! grid cell. The function uses the "entrainment limited uptake" ! equations of Holmes et al. (2019). Modified from C.Holmes's ! CloudHet routine by Viral Shah (Oct 2020). ! ! Reference: ! Holmes, C.D., Bertram, T. H., Confer, K. L., Ronan, A. C., Wirks, ! C. K., Graham, K. A., Shah, V. (2019) The role of clouds in the ! tropospheric NOx cycle: a new modeling approach for cloud chemistry ! and its global implications, Geophys. Res. Lett. 46, 4980-4990, ! https://doi.org/10.1029/2019GL081990 ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State object REAL(dp), INTENT(IN) :: gamma ! Reaction probability [1] REAL(dp), INTENT(IN) :: srMw ! SQRT( mol wt in g/mol ) REAL(dp) :: K ! Reaction rate [1/s] ! REAL(dp) :: kic, kIinv, kEinv ! ! If cloud fraction < 0.0001 (0.01%) or there is zero cloud surface ! area, then return zero uptake IF ( ( H%CldFr < 0.0001_dp ) .or. ( H%aLiq + H%aIce <= 0.0_dp ) ) THEN k = 0.0_dp RETURN ENDIF !----------------------------------------------------------------------- ! In-cloud loss frequency, 1/s !----------------------------------------------------------------------- kic = Ars_L1K( H%aLiq, H%rLiq, gamma, srMw ) !------------------------------------------------------------------------ ! Grid-average loss frequency; ! Add in-cloud and entrainment rates in series ! ! APPROXIMATE expression for entrainment-limited uptake ! Approximation error in loss frequency is typically <2% and always <50%. !------------------------------------------------------------------------ ! Entrainment rate, inverse [s] ! (Residence time of air in clouds, = 3600 s) kEinv = SafeDiv( ( 3600.0_dp * H%ClearFr ) , H%CldFr, 1e+30_dp ) ! In-cloud loss rate, inverse [s] kIinv = SafeDiv( 1.0_dp, ( H%CldFr * kic ), 1e+30_dp ) ! Overall heterogeneous loss rate, grid average, 1/s k = SafeDiv( 1.0_dp, ( kEinv + kIinv ), 0.0_dp ) END FUNCTION CloudHet_Hg FUNCTION Het_HgIIP_Org( H, gamma, srMw ) RESULT( k ) ! ! Computes the heterogeneous chemistry reaction rate [1/s] ! for species forming organic HgIIP aerosol in liquid clouds. ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State object REAL(dp), INTENT(IN) :: gamma ! Reaction probability [1] REAL(dp), INTENT(IN) :: srMw ! SQRT( mol wt in g/mol ) REAL(dp) :: K ! Reaction rate [1/s] ! k = 0.0_dp ! ! Reaction only takes place in cloudy grid boxes IF ( H%cloudBox ) THEN k = CloudHet_Hg( H, gamma, srMw ) * H%fracOrgAer ENDIF END FUNCTION Het_HgIIP_Org FUNCTION Het_HgIIP_Inorg( H, gamma, srMw ) RESULT( k ) ! ! Computes the heterogeneous chemistry reaction rate [1/s] ! for species forming inorganic HgIIP aerosol in liquid clouds ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State object REAL(dp), INTENT(IN) :: gamma ! Reaction probability [1] REAL(dp), INTENT(IN) :: srMw ! SQRT( mol wt in g/mol ) REAL(dp) :: K ! Reaction rate [1/s] ! k = 0.0_dp ! ! Reaction only takes place in cloudy grid boxes IF ( H%cloudBox ) THEN k = CloudHet_Hg( H, gamma, srMw ) * H%fracInorgAer ENDIF END FUNCTION Het_HgIIP_Inorg END MODULE Hg_RateLawFuncs !EOC ================================================ FILE: KPP/Hg/Makefile ================================================ # CMAKE generated file: DO NOT EDIT! # Generated by "Unix Makefiles" Generator, CMake Version 3.18 # Default target executed when no arguments are given to make. default_target: all .PHONY : default_target # Allow only one "make -f Makefile2" at a time, but pass parallelism. .NOTPARALLEL: #============================================================================= # Special targets provided by cmake. # Disable implicit rules so canonical targets will work. .SUFFIXES: # Disable VCS-based implicit rules. % : %,v # Disable VCS-based implicit rules. % : RCS/% # Disable VCS-based implicit rules. % : RCS/%,v # Disable VCS-based implicit rules. % : SCCS/s.% # Disable VCS-based implicit rules. % : s.% .SUFFIXES: .hpux_make_needs_suffix_list # Command-line flag to silence nested $(MAKE). $(VERBOSE)MAKESILENT = -s #Suppress display of executed commands. $(VERBOSE).SILENT: # A target that is always out of date. cmake_force: .PHONY : cmake_force #============================================================================= # Set environment variables for the build. # The shell in which to execute make rules. SHELL = /bin/sh # The CMake executable. CMAKE_COMMAND = /usr/bin/cmake # The command to remove a file. RM = /usr/bin/cmake -E rm -f # Escaping for special characters. EQUALS = = # The top-level source directory on which CMake was run. CMAKE_SOURCE_DIR = /home/ilcentro/Work/Harvard/GC/v13 # The top-level build directory on which CMake was run. CMAKE_BINARY_DIR = /home/ilcentro/Work/Harvard/GC/v13 #============================================================================= # Targets provided globally by CMake. # Special rule for the target rebuild_cache rebuild_cache: @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." /usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) .PHONY : rebuild_cache # Special rule for the target rebuild_cache rebuild_cache/fast: rebuild_cache .PHONY : rebuild_cache/fast # Special rule for the target edit_cache edit_cache: @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake cache editor..." /usr/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) .PHONY : edit_cache # Special rule for the target edit_cache edit_cache/fast: edit_cache .PHONY : edit_cache/fast # The main all target all: cmake_check_build_system cd /home/ilcentro/Work/Harvard/GC/v13 && $(CMAKE_COMMAND) -E cmake_progress_start /home/ilcentro/Work/Harvard/GC/v13/CMakeFiles /home/ilcentro/Work/Harvard/GC/v13/KPP/fullchem//CMakeFiles/progress.marks cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 KPP/fullchem/all $(CMAKE_COMMAND) -E cmake_progress_start /home/ilcentro/Work/Harvard/GC/v13/CMakeFiles 0 .PHONY : all # The main clean target clean: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 KPP/fullchem/clean .PHONY : clean # The main clean target clean/fast: clean .PHONY : clean/fast # Prepare targets for installation. preinstall: all cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 KPP/fullchem/preinstall .PHONY : preinstall # Prepare targets for installation. preinstall/fast: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 KPP/fullchem/preinstall .PHONY : preinstall/fast # clear depends depend: cd /home/ilcentro/Work/Harvard/GC/v13 && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 .PHONY : depend # Convenience name for target. KPP/fullchem/CMakeFiles/KPP_fullchem.dir/rule: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 KPP/fullchem/CMakeFiles/KPP_fullchem.dir/rule .PHONY : KPP/fullchem/CMakeFiles/KPP_fullchem.dir/rule # Convenience name for target. KPP_fullchem: KPP/fullchem/CMakeFiles/KPP_fullchem.dir/rule .PHONY : KPP_fullchem # fast build rule for target. KPP_fullchem/fast: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPP_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPP_fullchem.dir/build .PHONY : KPP_fullchem/fast # Convenience name for target. KPP/fullchem/CMakeFiles/KPPFirstPass_fullchem.dir/rule: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 KPP/fullchem/CMakeFiles/KPPFirstPass_fullchem.dir/rule .PHONY : KPP/fullchem/CMakeFiles/KPPFirstPass_fullchem.dir/rule # Convenience name for target. KPPFirstPass_fullchem: KPP/fullchem/CMakeFiles/KPPFirstPass_fullchem.dir/rule .PHONY : KPPFirstPass_fullchem # fast build rule for target. KPPFirstPass_fullchem/fast: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPPFirstPass_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPPFirstPass_fullchem.dir/build .PHONY : KPPFirstPass_fullchem/fast gckpp_Function.o: gckpp_Function.F90.o .PHONY : gckpp_Function.o # target to build an object file gckpp_Function.F90.o: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPP_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPP_fullchem.dir/gckpp_Function.F90.o .PHONY : gckpp_Function.F90.o gckpp_Function.i: gckpp_Function.F90.i .PHONY : gckpp_Function.i # target to preprocess a source file gckpp_Function.F90.i: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPP_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPP_fullchem.dir/gckpp_Function.F90.i .PHONY : gckpp_Function.F90.i gckpp_Function.s: gckpp_Function.F90.s .PHONY : gckpp_Function.s # target to generate assembly for a file gckpp_Function.F90.s: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPP_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPP_fullchem.dir/gckpp_Function.F90.s .PHONY : gckpp_Function.F90.s gckpp_Global.o: gckpp_Global.F90.o .PHONY : gckpp_Global.o # target to build an object file gckpp_Global.F90.o: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPP_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPP_fullchem.dir/gckpp_Global.F90.o .PHONY : gckpp_Global.F90.o gckpp_Global.i: gckpp_Global.F90.i .PHONY : gckpp_Global.i # target to preprocess a source file gckpp_Global.F90.i: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPP_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPP_fullchem.dir/gckpp_Global.F90.i .PHONY : gckpp_Global.F90.i gckpp_Global.s: gckpp_Global.F90.s .PHONY : gckpp_Global.s # target to generate assembly for a file gckpp_Global.F90.s: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPP_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPP_fullchem.dir/gckpp_Global.F90.s .PHONY : gckpp_Global.F90.s gckpp_HetRates.o: gckpp_HetRates.F90.o .PHONY : gckpp_HetRates.o # target to build an object file gckpp_HetRates.F90.o: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPP_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPP_fullchem.dir/gckpp_HetRates.F90.o .PHONY : gckpp_HetRates.F90.o gckpp_HetRates.i: gckpp_HetRates.F90.i .PHONY : gckpp_HetRates.i # target to preprocess a source file gckpp_HetRates.F90.i: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPP_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPP_fullchem.dir/gckpp_HetRates.F90.i .PHONY : gckpp_HetRates.F90.i gckpp_HetRates.s: gckpp_HetRates.F90.s .PHONY : gckpp_HetRates.s # target to generate assembly for a file gckpp_HetRates.F90.s: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPP_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPP_fullchem.dir/gckpp_HetRates.F90.s .PHONY : gckpp_HetRates.F90.s gckpp_Initialize.o: gckpp_Initialize.F90.o .PHONY : gckpp_Initialize.o # target to build an object file gckpp_Initialize.F90.o: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPP_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPP_fullchem.dir/gckpp_Initialize.F90.o .PHONY : gckpp_Initialize.F90.o gckpp_Initialize.i: gckpp_Initialize.F90.i .PHONY : gckpp_Initialize.i # target to preprocess a source file gckpp_Initialize.F90.i: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPP_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPP_fullchem.dir/gckpp_Initialize.F90.i .PHONY : gckpp_Initialize.F90.i gckpp_Initialize.s: gckpp_Initialize.F90.s .PHONY : gckpp_Initialize.s # target to generate assembly for a file gckpp_Initialize.F90.s: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPP_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPP_fullchem.dir/gckpp_Initialize.F90.s .PHONY : gckpp_Initialize.F90.s gckpp_Integrator.o: gckpp_Integrator.F90.o .PHONY : gckpp_Integrator.o # target to build an object file gckpp_Integrator.F90.o: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPP_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPP_fullchem.dir/gckpp_Integrator.F90.o .PHONY : gckpp_Integrator.F90.o gckpp_Integrator.i: gckpp_Integrator.F90.i .PHONY : gckpp_Integrator.i # target to preprocess a source file gckpp_Integrator.F90.i: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPP_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPP_fullchem.dir/gckpp_Integrator.F90.i .PHONY : gckpp_Integrator.F90.i gckpp_Integrator.s: gckpp_Integrator.F90.s .PHONY : gckpp_Integrator.s # target to generate assembly for a file gckpp_Integrator.F90.s: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPP_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPP_fullchem.dir/gckpp_Integrator.F90.s .PHONY : gckpp_Integrator.F90.s gckpp_Jacobian.o: gckpp_Jacobian.F90.o .PHONY : gckpp_Jacobian.o # target to build an object file gckpp_Jacobian.F90.o: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPP_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPP_fullchem.dir/gckpp_Jacobian.F90.o .PHONY : gckpp_Jacobian.F90.o gckpp_Jacobian.i: gckpp_Jacobian.F90.i .PHONY : gckpp_Jacobian.i # target to preprocess a source file gckpp_Jacobian.F90.i: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPP_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPP_fullchem.dir/gckpp_Jacobian.F90.i .PHONY : gckpp_Jacobian.F90.i gckpp_Jacobian.s: gckpp_Jacobian.F90.s .PHONY : gckpp_Jacobian.s # target to generate assembly for a file gckpp_Jacobian.F90.s: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPP_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPP_fullchem.dir/gckpp_Jacobian.F90.s .PHONY : gckpp_Jacobian.F90.s gckpp_JacobianSP.o: gckpp_JacobianSP.F90.o .PHONY : gckpp_JacobianSP.o # target to build an object file gckpp_JacobianSP.F90.o: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPP_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPP_fullchem.dir/gckpp_JacobianSP.F90.o .PHONY : gckpp_JacobianSP.F90.o gckpp_JacobianSP.i: gckpp_JacobianSP.F90.i .PHONY : gckpp_JacobianSP.i # target to preprocess a source file gckpp_JacobianSP.F90.i: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPP_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPP_fullchem.dir/gckpp_JacobianSP.F90.i .PHONY : gckpp_JacobianSP.F90.i gckpp_JacobianSP.s: gckpp_JacobianSP.F90.s .PHONY : gckpp_JacobianSP.s # target to generate assembly for a file gckpp_JacobianSP.F90.s: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPP_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPP_fullchem.dir/gckpp_JacobianSP.F90.s .PHONY : gckpp_JacobianSP.F90.s gckpp_LinearAlgebra.o: gckpp_LinearAlgebra.F90.o .PHONY : gckpp_LinearAlgebra.o # target to build an object file gckpp_LinearAlgebra.F90.o: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPP_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPP_fullchem.dir/gckpp_LinearAlgebra.F90.o .PHONY : gckpp_LinearAlgebra.F90.o gckpp_LinearAlgebra.i: gckpp_LinearAlgebra.F90.i .PHONY : gckpp_LinearAlgebra.i # target to preprocess a source file gckpp_LinearAlgebra.F90.i: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPP_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPP_fullchem.dir/gckpp_LinearAlgebra.F90.i .PHONY : gckpp_LinearAlgebra.F90.i gckpp_LinearAlgebra.s: gckpp_LinearAlgebra.F90.s .PHONY : gckpp_LinearAlgebra.s # target to generate assembly for a file gckpp_LinearAlgebra.F90.s: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPP_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPP_fullchem.dir/gckpp_LinearAlgebra.F90.s .PHONY : gckpp_LinearAlgebra.F90.s gckpp_Model.o: gckpp_Model.F90.o .PHONY : gckpp_Model.o # target to build an object file gckpp_Model.F90.o: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPP_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPP_fullchem.dir/gckpp_Model.F90.o .PHONY : gckpp_Model.F90.o gckpp_Model.i: gckpp_Model.F90.i .PHONY : gckpp_Model.i # target to preprocess a source file gckpp_Model.F90.i: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPP_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPP_fullchem.dir/gckpp_Model.F90.i .PHONY : gckpp_Model.F90.i gckpp_Model.s: gckpp_Model.F90.s .PHONY : gckpp_Model.s # target to generate assembly for a file gckpp_Model.F90.s: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPP_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPP_fullchem.dir/gckpp_Model.F90.s .PHONY : gckpp_Model.F90.s gckpp_Monitor.o: gckpp_Monitor.F90.o .PHONY : gckpp_Monitor.o # target to build an object file gckpp_Monitor.F90.o: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPP_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPP_fullchem.dir/gckpp_Monitor.F90.o cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPPFirstPass_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPPFirstPass_fullchem.dir/gckpp_Monitor.F90.o .PHONY : gckpp_Monitor.F90.o gckpp_Monitor.i: gckpp_Monitor.F90.i .PHONY : gckpp_Monitor.i # target to preprocess a source file gckpp_Monitor.F90.i: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPP_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPP_fullchem.dir/gckpp_Monitor.F90.i cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPPFirstPass_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPPFirstPass_fullchem.dir/gckpp_Monitor.F90.i .PHONY : gckpp_Monitor.F90.i gckpp_Monitor.s: gckpp_Monitor.F90.s .PHONY : gckpp_Monitor.s # target to generate assembly for a file gckpp_Monitor.F90.s: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPP_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPP_fullchem.dir/gckpp_Monitor.F90.s cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPPFirstPass_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPPFirstPass_fullchem.dir/gckpp_Monitor.F90.s .PHONY : gckpp_Monitor.F90.s gckpp_Parameters.o: gckpp_Parameters.F90.o .PHONY : gckpp_Parameters.o # target to build an object file gckpp_Parameters.F90.o: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPP_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPP_fullchem.dir/gckpp_Parameters.F90.o cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPPFirstPass_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPPFirstPass_fullchem.dir/gckpp_Parameters.F90.o .PHONY : gckpp_Parameters.F90.o gckpp_Parameters.i: gckpp_Parameters.F90.i .PHONY : gckpp_Parameters.i # target to preprocess a source file gckpp_Parameters.F90.i: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPP_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPP_fullchem.dir/gckpp_Parameters.F90.i cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPPFirstPass_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPPFirstPass_fullchem.dir/gckpp_Parameters.F90.i .PHONY : gckpp_Parameters.F90.i gckpp_Parameters.s: gckpp_Parameters.F90.s .PHONY : gckpp_Parameters.s # target to generate assembly for a file gckpp_Parameters.F90.s: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPP_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPP_fullchem.dir/gckpp_Parameters.F90.s cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPPFirstPass_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPPFirstPass_fullchem.dir/gckpp_Parameters.F90.s .PHONY : gckpp_Parameters.F90.s gckpp_Precision.o: gckpp_Precision.F90.o .PHONY : gckpp_Precision.o # target to build an object file gckpp_Precision.F90.o: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPP_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPP_fullchem.dir/gckpp_Precision.F90.o cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPPFirstPass_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPPFirstPass_fullchem.dir/gckpp_Precision.F90.o .PHONY : gckpp_Precision.F90.o gckpp_Precision.i: gckpp_Precision.F90.i .PHONY : gckpp_Precision.i # target to preprocess a source file gckpp_Precision.F90.i: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPP_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPP_fullchem.dir/gckpp_Precision.F90.i cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPPFirstPass_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPPFirstPass_fullchem.dir/gckpp_Precision.F90.i .PHONY : gckpp_Precision.F90.i gckpp_Precision.s: gckpp_Precision.F90.s .PHONY : gckpp_Precision.s # target to generate assembly for a file gckpp_Precision.F90.s: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPP_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPP_fullchem.dir/gckpp_Precision.F90.s cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPPFirstPass_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPPFirstPass_fullchem.dir/gckpp_Precision.F90.s .PHONY : gckpp_Precision.F90.s gckpp_Rates.o: gckpp_Rates.F90.o .PHONY : gckpp_Rates.o # target to build an object file gckpp_Rates.F90.o: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPP_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPP_fullchem.dir/gckpp_Rates.F90.o .PHONY : gckpp_Rates.F90.o gckpp_Rates.i: gckpp_Rates.F90.i .PHONY : gckpp_Rates.i # target to preprocess a source file gckpp_Rates.F90.i: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPP_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPP_fullchem.dir/gckpp_Rates.F90.i .PHONY : gckpp_Rates.F90.i gckpp_Rates.s: gckpp_Rates.F90.s .PHONY : gckpp_Rates.s # target to generate assembly for a file gckpp_Rates.F90.s: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPP_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPP_fullchem.dir/gckpp_Rates.F90.s .PHONY : gckpp_Rates.F90.s gckpp_Util.o: gckpp_Util.F90.o .PHONY : gckpp_Util.o # target to build an object file gckpp_Util.F90.o: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPP_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPP_fullchem.dir/gckpp_Util.F90.o .PHONY : gckpp_Util.F90.o gckpp_Util.i: gckpp_Util.F90.i .PHONY : gckpp_Util.i # target to preprocess a source file gckpp_Util.F90.i: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPP_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPP_fullchem.dir/gckpp_Util.F90.i .PHONY : gckpp_Util.F90.i gckpp_Util.s: gckpp_Util.F90.s .PHONY : gckpp_Util.s # target to generate assembly for a file gckpp_Util.F90.s: cd /home/ilcentro/Work/Harvard/GC/v13 && $(MAKE) $(MAKESILENT) -f KPP/fullchem/CMakeFiles/KPP_fullchem.dir/build.make KPP/fullchem/CMakeFiles/KPP_fullchem.dir/gckpp_Util.F90.s .PHONY : gckpp_Util.F90.s # Help Target help: @echo "The following are some of the valid targets for this Makefile:" @echo "... all (the default if no target is provided)" @echo "... clean" @echo "... depend" @echo "... edit_cache" @echo "... rebuild_cache" @echo "... KPPFirstPass_fullchem" @echo "... KPP_fullchem" @echo "... gckpp_Function.o" @echo "... gckpp_Function.i" @echo "... gckpp_Function.s" @echo "... gckpp_Global.o" @echo "... gckpp_Global.i" @echo "... gckpp_Global.s" @echo "... gckpp_HetRates.o" @echo "... gckpp_HetRates.i" @echo "... gckpp_HetRates.s" @echo "... gckpp_Initialize.o" @echo "... gckpp_Initialize.i" @echo "... gckpp_Initialize.s" @echo "... gckpp_Integrator.o" @echo "... gckpp_Integrator.i" @echo "... gckpp_Integrator.s" @echo "... gckpp_Jacobian.o" @echo "... gckpp_Jacobian.i" @echo "... gckpp_Jacobian.s" @echo "... gckpp_JacobianSP.o" @echo "... gckpp_JacobianSP.i" @echo "... gckpp_JacobianSP.s" @echo "... gckpp_LinearAlgebra.o" @echo "... gckpp_LinearAlgebra.i" @echo "... gckpp_LinearAlgebra.s" @echo "... gckpp_Model.o" @echo "... gckpp_Model.i" @echo "... gckpp_Model.s" @echo "... gckpp_Monitor.o" @echo "... gckpp_Monitor.i" @echo "... gckpp_Monitor.s" @echo "... gckpp_Parameters.o" @echo "... gckpp_Parameters.i" @echo "... gckpp_Parameters.s" @echo "... gckpp_Precision.o" @echo "... gckpp_Precision.i" @echo "... gckpp_Precision.s" @echo "... gckpp_Rates.o" @echo "... gckpp_Rates.i" @echo "... gckpp_Rates.s" @echo "... gckpp_Util.o" @echo "... gckpp_Util.i" @echo "... gckpp_Util.s" .PHONY : help #============================================================================= # Special targets to cleanup operation of make. # Special rule to run CMake to check the build system integrity. # No rule that depends on this can have commands that come from listfiles # because they might be regenerated. cmake_check_build_system: cd /home/ilcentro/Work/Harvard/GC/v13 && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 .PHONY : cmake_check_build_system ================================================ FILE: KPP/Hg/README.md ================================================ # KPP/Hg -- folder for the GEOS-Chem mercury chemistry mechanism This folder contains the files that define the mercury chemistry mechanism for GEOS-Chem. ## User-modifiable configuration files 1. **Hg.kpp**: Master KPP specification file. 2. **Hg.eqn**: KPP equation file, contains reaction definitoins. 3. **Hg_HetStateFuncs.F90**: This module contains functions that initialize the HetChem state object. 5. **Hg_RateLawFuncs.F90**: This module contains functions that compute rates for heterogenous chemistry reactions. This is the so-called "rate law library" for the fullchem mechanism. 6. **rateLawUtilFuncs.F90**: This module contains several utility functions for heterogeneous chemistry reactions. (Symbolic link to ../fullchem/rateLawUtilfuncs. 7, **commonIncludeVars.H**: Global variables that are used for all KPP mechanisms. These will be inlined into the KPP-generated **gckpp_Global.F90** file. The following files link to the KPP/stubs folder. These include stub subroutines that are used by other chemical mechanisms. The stubs are needed in order to avoid compilation errors. 1. **stub_aciduptake_DustChemFuncs.F90** Stub routines corresponding to the KPP/aciduptake/aciduptake_DustChemFuncs.F90 module, 2. **stub_fullchem_HetStateFuncs.F90**: Stub routines corresponding to the KPP/fullchem/Hg_HetStateFuncs.F90 module. 3. **stub_fullchem_SulfurChemFuncs.F90**: Stub routines corresponding to the KPP/fullchem/fullchem_SulfurChemFuncs.F90 module. ### Files generated by KPP With the exception of the symbolic link **gckpp.kpp**, and the map file **gckpp.map**, all files starting with the prefix **gckpp_** are generated by KPP. These contain the specifications of the chemical mechanism in efficient source code. FFor more information, please see: 1. KPP documentation at: https://kpp.readthedocs.io 2. [Guide to Using KPP with GEOS-Chem](https://geos-chem.readthedocs.io/en/latest/geos-chem-shared-docs/supplemental-guides/using-kpp-with-gc.html) ================================================ FILE: KPP/Hg/gckpp_Function.F90 ================================================ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! The ODE Function of Chemical Model File ! ! Generated by KPP-3.2.0 symbolic chemistry Kinetics PreProcessor ! (https:/github.com/KineticPreProcessor/KPP ! KPP is distributed under GPL, the general public licence ! (http://www.gnu.org/copyleft/gpl.html) ! (C) 1995-1997, V. Damian & A. Sandu, CGRER, Univ. Iowa ! (C) 1997-2022, A. Sandu, Michigan Tech, Virginia Tech ! With important contributions from: ! M. Damian, Villanova University, Philadelphia, PA, USA ! R. Sander, Max-Planck Institute for Chemistry, Mainz, Germany ! M. Long, Renaissance Fiber, LLC, North Carolina, USA ! H. Lin, Harvard University, Cambridge, MA, USA ! R. Yantosca, Harvard University, Cambridge, MA, USA ! ! File : gckpp_Function.F90 ! Equation file : gckpp.kpp ! Output root filename : gckpp ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MODULE gckpp_Function USE gckpp_Parameters IMPLICIT NONE ! A - Rate for each equation REAL(kind=dp) :: A(NREACT) !$OMP THREADPRIVATE( A ) CONTAINS ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Fun - time derivatives of variables - Aggregate form ! Arguments : ! V - Concentrations of variable species (local) ! F - Concentrations of fixed species (local) ! RCT - Rate constants (local) ! Vdot - Time derivative of variable species concentrations ! Aout - Optional argument to return equation rate constants ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Fun ( V, F, RCT, Vdot, Aout ) ! V - Concentrations of variable species (local) REAL(kind=dp) :: V(NVAR) ! F - Concentrations of fixed species (local) REAL(kind=dp) :: F(NFIX) ! RCT - Rate constants (local) REAL(kind=dp) :: RCT(NREACT) ! Vdot - Time derivative of variable species concentrations REAL(kind=dp) :: Vdot(NVAR) ! Aout - Optional argument to return equation rate constants REAL(kind=dp), OPTIONAL :: Aout(NREACT) ! Computation of equation rates A(1) = RCT(1)*V(30)*F(1) A(2) = RCT(2)*V(32) A(3) = RCT(3)*V(32)*F(1) A(4) = RCT(4)*V(32)*F(4) A(5) = RCT(5)*V(32)*F(4) A(6) = RCT(6)*V(32)*F(7) A(7) = RCT(7)*V(32)*F(9) A(8) = RCT(8)*V(32)*F(8) A(9) = RCT(9)*V(32)*F(3) A(10) = RCT(10)*V(32)*F(1) A(11) = RCT(11)*V(22)*F(11) A(12) = RCT(12)*V(22)*F(10) A(13) = RCT(13)*V(32)*F(6) A(14) = RCT(14)*V(30)*F(2) A(15) = RCT(15)*V(27)*F(2) A(16) = RCT(16)*V(27)*F(4) A(17) = RCT(17)*V(27)*F(4) A(18) = RCT(18)*V(27)*F(7) A(19) = RCT(19)*V(27)*F(9) A(20) = RCT(20)*V(27)*F(8) A(21) = RCT(21)*V(27)*F(1) A(22) = RCT(22)*V(27)*F(3) A(23) = RCT(23)*V(27)*F(6) A(24) = RCT(24)*V(24)*F(11) A(25) = RCT(25)*V(24)*F(10) A(26) = RCT(26)*V(30)*F(3) A(27) = RCT(27)*V(29) A(28) = RCT(28)*V(29)*F(4) A(29) = RCT(29)*V(29)*F(7) A(30) = RCT(30)*V(29)*F(9) A(31) = RCT(31)*V(29)*F(8) A(32) = RCT(32)*V(29)*F(1) A(33) = RCT(33)*V(29)*F(3) A(34) = RCT(34)*V(29)*F(6) A(35) = RCT(35)*V(19)*F(11) A(36) = RCT(36)*V(19)*F(10) A(37) = RCT(37)*V(16) A(38) = RCT(38)*V(23) A(39) = RCT(39)*V(31) A(40) = RCT(40)*V(14) A(41) = RCT(41)*V(13) A(42) = RCT(42)*V(18) A(43) = RCT(43)*V(17) A(44) = RCT(44)*V(25) A(45) = RCT(45)*V(26) A(46) = RCT(46)*V(9) A(47) = RCT(47)*V(8) A(48) = RCT(48)*V(10) A(49) = RCT(49)*V(1) A(50) = RCT(50)*V(15) A(51) = RCT(51)*V(21) A(52) = RCT(52)*V(20) A(53) = RCT(53)*V(12) A(54) = RCT(54)*V(11) A(55) = RCT(55)*V(16) A(56) = RCT(56)*V(23) A(57) = RCT(57)*V(31) A(58) = RCT(58)*V(14) A(59) = RCT(59)*V(13) A(60) = RCT(60)*V(18) A(61) = RCT(61)*V(17) A(62) = RCT(62)*V(25) A(63) = RCT(63)*V(26) A(64) = RCT(64)*V(9) A(65) = RCT(65)*V(8) A(66) = RCT(66)*V(10) A(67) = RCT(67)*V(15) A(68) = RCT(68)*V(21) A(69) = RCT(69)*V(20) A(70) = RCT(70)*V(12) A(71) = RCT(71)*V(11) A(75) = RCT(75)*V(32) A(76) = RCT(76)*V(16) A(77) = RCT(77)*V(23) A(78) = RCT(78)*V(31) A(79) = RCT(79)*V(18) A(80) = RCT(80)*V(14) A(81) = RCT(81)*V(13) A(82) = RCT(82)*V(17) A(83) = RCT(83)*V(25) A(84) = RCT(84)*V(26) A(85) = RCT(85)*V(10) A(86) = RCT(86)*V(9) A(87) = RCT(87)*V(8) A(88) = RCT(88)*V(29) A(89) = RCT(89)*V(15) A(90) = RCT(90)*V(21) A(91) = RCT(91)*V(20) A(92) = RCT(92)*V(12) A(93) = RCT(93)*V(11) A(94) = RCT(94)*V(28) !### Use Aout to return equation rates IF ( PRESENT( Aout ) ) Aout = A ! Aggregate function Vdot(1) = -A(49) Vdot(2) = A(55)+A(56)+A(57)+A(58)+A(59)+A(60)+A(61)+A(62)+A(63)+A(64)+A(65)+A(66)+A(67)+A(68)+A(69)+A(70)+A(71) Vdot(3) = A(1)+A(14)+A(26) Vdot(4) = A(2)+A(3)+A(4)+A(15)+A(16)+A(27)+A(75)+0.67*A(77)+0.49*A(78)+0.4*A(79)+A(80)+A(81)+0.67*A(83)+0.49*A(84)& &+A(88)+0.67*A(90)+A(91)+A(94) Vdot(5) = A(1)+A(32) Vdot(6) = A(26)+0.35*A(78)+0.35*A(84) Vdot(7) = A(14) Vdot(8) = A(19)-A(47)-A(65)-A(87) Vdot(9) = A(20)-A(46)-A(64)-A(86) Vdot(10) = A(21)-A(48)-A(66)-A(85) Vdot(11) = A(30)-A(54)-A(71)-A(93) Vdot(12) = A(31)-A(53)-A(70)-A(92) Vdot(13) = A(7)-A(41)-A(59)-A(81) Vdot(14) = A(8)-A(40)-A(58)-A(80) Vdot(15) = A(28)-A(50)-A(67)-A(89) Vdot(16) = A(5)-A(37)-A(55)-A(76) Vdot(17) = A(17)-A(43)-A(61)-A(82) Vdot(18) = A(10)-A(42)-A(60)-A(79) Vdot(19) = A(34)-A(35)-A(36)+0.9*A(89)+0.25*A(90) Vdot(20) = A(33)+A(35)-A(52)-A(69)+0.01*A(90)-A(91) Vdot(21) = A(29)-A(51)-A(68)-A(90) Vdot(22) = -A(11)-A(12)+A(13)+0.9*A(76)+0.25*A(77) Vdot(23) = A(6)-A(38)-A(56)-A(77) Vdot(24) = A(23)-A(24)-A(25)+0.9*A(82)+0.25*A(83) Vdot(25) = A(18)-A(44)-A(62)-A(83) Vdot(26) = A(22)+A(24)-A(45)-A(63)+0.01*A(83)-0.99*A(84) Vdot(27) = A(14)-A(15)-A(16)-A(17)-A(18)-A(19)-A(20)-A(21)-A(22)-A(23)+A(25)+0.1*A(82)+0.07*A(83)+0.15*A(84)+A(85)& &+A(86)+A(87) Vdot(28) = A(37)+A(38)+A(39)+A(40)+A(41)+A(42)+A(43)+A(44)+A(45)+A(46)+A(47)+A(48)+A(49)+A(50)+A(51)+A(52)+A(53)+A(54)& &-A(94) Vdot(29) = A(26)-A(27)-A(28)-A(29)-A(30)-A(31)-A(32)-A(33)-A(34)+A(36)+0.35*A(78)+0.35*A(84)-A(88)+0.1*A(89)+0.07& &*A(90)+A(92)+A(93) Vdot(30) = -A(1)+A(2)+A(3)+A(4)-A(14)+A(15)+A(16)-A(26)+A(27)+A(75)+0.67*A(77)+0.49*A(78)+0.4*A(79)+A(80)+A(81)+0.67& &*A(83)+0.49*A(84)+A(88)+0.67*A(90)+A(91)+A(94) Vdot(31) = A(9)+A(11)+A(32)-A(39)-A(57)+0.01*A(77)-0.99*A(78) Vdot(32) = A(1)-A(2)-A(3)-A(4)-A(5)-A(6)-A(7)-A(8)-A(9)-A(10)+A(12)-A(13)-A(75)+0.1*A(76)+0.07*A(77)+0.15*A(78)+0.6& &*A(79) END SUBROUTINE Fun ! End of Fun function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Fun_SPLIT - time derivatives of variables - Split form ! Arguments : ! V - Concentrations of variable species (local) ! F - Concentrations of fixed species (local) ! RCT - Rate constants (local) ! Vdot - Time derivative of variable species concentrations ! P_VAR - Production term ! D_VAR - Destruction term ! Aout - Optional argument to return equation rate constants ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Fun_SPLIT ( V, F, RCT, Vdot, P_VAR, D_VAR, Aout ) ! V - Concentrations of variable species (local) REAL(kind=dp) :: V(NVAR) ! F - Concentrations of fixed species (local) REAL(kind=dp) :: F(NFIX) ! RCT - Rate constants (local) REAL(kind=dp) :: RCT(NREACT) ! Vdot - Time derivative of variable species concentrations REAL(kind=dp) :: Vdot(NVAR) ! P_VAR - Production term REAL(kind=dp) :: P_VAR(NVAR) ! D_VAR - Destruction term REAL(kind=dp) :: D_VAR(NVAR) ! Aout - Optional argument to return equation rate constants REAL(kind=dp), OPTIONAL :: Aout(NREACT) ! Computation of equation rates A(1) = RCT(1)*V(30)*F(1) A(2) = RCT(2)*V(32) A(3) = RCT(3)*V(32)*F(1) A(4) = RCT(4)*V(32)*F(4) A(5) = RCT(5)*V(32)*F(4) A(6) = RCT(6)*V(32)*F(7) A(7) = RCT(7)*V(32)*F(9) A(8) = RCT(8)*V(32)*F(8) A(9) = RCT(9)*V(32)*F(3) A(10) = RCT(10)*V(32)*F(1) A(11) = RCT(11)*V(22)*F(11) A(12) = RCT(12)*V(22)*F(10) A(13) = RCT(13)*V(32)*F(6) A(14) = RCT(14)*V(30)*F(2) A(15) = RCT(15)*V(27)*F(2) A(16) = RCT(16)*V(27)*F(4) A(17) = RCT(17)*V(27)*F(4) A(18) = RCT(18)*V(27)*F(7) A(19) = RCT(19)*V(27)*F(9) A(20) = RCT(20)*V(27)*F(8) A(21) = RCT(21)*V(27)*F(1) A(22) = RCT(22)*V(27)*F(3) A(23) = RCT(23)*V(27)*F(6) A(24) = RCT(24)*V(24)*F(11) A(25) = RCT(25)*V(24)*F(10) A(26) = RCT(26)*V(30)*F(3) A(27) = RCT(27)*V(29) A(28) = RCT(28)*V(29)*F(4) A(29) = RCT(29)*V(29)*F(7) A(30) = RCT(30)*V(29)*F(9) A(31) = RCT(31)*V(29)*F(8) A(32) = RCT(32)*V(29)*F(1) A(33) = RCT(33)*V(29)*F(3) A(34) = RCT(34)*V(29)*F(6) A(35) = RCT(35)*V(19)*F(11) A(36) = RCT(36)*V(19)*F(10) A(37) = RCT(37)*V(16) A(38) = RCT(38)*V(23) A(39) = RCT(39)*V(31) A(40) = RCT(40)*V(14) A(41) = RCT(41)*V(13) A(42) = RCT(42)*V(18) A(43) = RCT(43)*V(17) A(44) = RCT(44)*V(25) A(45) = RCT(45)*V(26) A(46) = RCT(46)*V(9) A(47) = RCT(47)*V(8) A(48) = RCT(48)*V(10) A(49) = RCT(49)*V(1) A(50) = RCT(50)*V(15) A(51) = RCT(51)*V(21) A(52) = RCT(52)*V(20) A(53) = RCT(53)*V(12) A(54) = RCT(54)*V(11) A(55) = RCT(55)*V(16) A(56) = RCT(56)*V(23) A(57) = RCT(57)*V(31) A(58) = RCT(58)*V(14) A(59) = RCT(59)*V(13) A(60) = RCT(60)*V(18) A(61) = RCT(61)*V(17) A(62) = RCT(62)*V(25) A(63) = RCT(63)*V(26) A(64) = RCT(64)*V(9) A(65) = RCT(65)*V(8) A(66) = RCT(66)*V(10) A(67) = RCT(67)*V(15) A(68) = RCT(68)*V(21) A(69) = RCT(69)*V(20) A(70) = RCT(70)*V(12) A(71) = RCT(71)*V(11) A(75) = RCT(75)*V(32) A(76) = RCT(76)*V(16) A(77) = RCT(77)*V(23) A(78) = RCT(78)*V(31) A(79) = RCT(79)*V(18) A(80) = RCT(80)*V(14) A(81) = RCT(81)*V(13) A(82) = RCT(82)*V(17) A(83) = RCT(83)*V(25) A(84) = RCT(84)*V(26) A(85) = RCT(85)*V(10) A(86) = RCT(86)*V(9) A(87) = RCT(87)*V(8) A(88) = RCT(88)*V(29) A(89) = RCT(89)*V(15) A(90) = RCT(90)*V(21) A(91) = RCT(91)*V(20) A(92) = RCT(92)*V(12) A(93) = RCT(93)*V(11) A(94) = RCT(94)*V(28) !### Use Aout to return equation rates IF ( PRESENT( Aout ) ) Aout = A ! Production function P_VAR(1) = 0 P_VAR(2) = A(55)+A(56)+A(57)+A(58)+A(59)+A(60)+A(61)+A(62)+A(63)+A(64)+A(65)+A(66)+A(67)+A(68)+A(69)+A(70)+A(71) P_VAR(3) = A(1)+A(14)+A(26) P_VAR(4) = A(2)+A(3)+A(4)+A(15)+A(16)+A(27)+A(75)+0.67*A(77)+0.49*A(78)+0.4*A(79)+A(80)+A(81)+0.67*A(83)+0.49*A(84)& &+A(88)+0.67*A(90)+A(91)+A(94) P_VAR(5) = A(1)+A(32) P_VAR(6) = A(26)+0.35*A(78)+0.35*A(84) P_VAR(7) = A(14) P_VAR(8) = A(19) P_VAR(9) = A(20) P_VAR(10) = A(21) P_VAR(11) = A(30) P_VAR(12) = A(31) P_VAR(13) = A(7) P_VAR(14) = A(8) P_VAR(15) = A(28) P_VAR(16) = A(5) P_VAR(17) = A(17) P_VAR(18) = A(10) P_VAR(19) = A(34)+0.9*A(89)+0.25*A(90) P_VAR(20) = A(33)+A(35)+0.01*A(90) P_VAR(21) = A(29) P_VAR(22) = A(13)+0.9*A(76)+0.25*A(77) P_VAR(23) = A(6) P_VAR(24) = A(23)+0.9*A(82)+0.25*A(83) P_VAR(25) = A(18) P_VAR(26) = A(22)+A(24)+0.01*A(83)+0.01*A(84) P_VAR(27) = A(14)+A(25)+0.1*A(82)+0.07*A(83)+0.15*A(84)+A(85)+A(86)+A(87) P_VAR(28) = A(37)+A(38)+A(39)+A(40)+A(41)+A(42)+A(43)+A(44)+A(45)+A(46)+A(47)+A(48)+A(49)+A(50)+A(51)+A(52)+A(53)& &+A(54) P_VAR(29) = A(26)+A(36)+0.35*A(78)+0.35*A(84)+0.1*A(89)+0.07*A(90)+A(92)+A(93) P_VAR(30) = A(2)+A(3)+A(4)+A(15)+A(16)+A(27)+A(75)+0.67*A(77)+0.49*A(78)+0.4*A(79)+A(80)+A(81)+0.67*A(83)+0.49*A(84)& &+A(88)+0.67*A(90)+A(91)+A(94) P_VAR(31) = A(9)+A(11)+A(32)+0.01*A(77)+0.01*A(78) P_VAR(32) = A(1)+A(12)+0.1*A(76)+0.07*A(77)+0.15*A(78)+0.6*A(79) ! Destruction function D_VAR(1) = RCT(49) D_VAR(2) = 0 D_VAR(3) = 0 D_VAR(4) = 0 D_VAR(5) = 0 D_VAR(6) = 0 D_VAR(7) = 0 D_VAR(8) = RCT(47)+RCT(65)+RCT(87) D_VAR(9) = RCT(46)+RCT(64)+RCT(86) D_VAR(10) = RCT(48)+RCT(66)+RCT(85) D_VAR(11) = RCT(54)+RCT(71)+RCT(93) D_VAR(12) = RCT(53)+RCT(70)+RCT(92) D_VAR(13) = RCT(41)+RCT(59)+RCT(81) D_VAR(14) = RCT(40)+RCT(58)+RCT(80) D_VAR(15) = RCT(50)+RCT(67)+RCT(89) D_VAR(16) = RCT(37)+RCT(55)+RCT(76) D_VAR(17) = RCT(43)+RCT(61)+RCT(82) D_VAR(18) = RCT(42)+RCT(60)+RCT(79) D_VAR(19) = RCT(35)*F(11)+RCT(36)*F(10) D_VAR(20) = RCT(52)+RCT(69)+RCT(91) D_VAR(21) = RCT(51)+RCT(68)+RCT(90) D_VAR(22) = RCT(11)*F(11)+RCT(12)*F(10) D_VAR(23) = RCT(38)+RCT(56)+RCT(77) D_VAR(24) = RCT(24)*F(11)+RCT(25)*F(10) D_VAR(25) = RCT(44)+RCT(62)+RCT(83) D_VAR(26) = RCT(45)+RCT(63)+RCT(84) D_VAR(27) = RCT(15)*F(2)+RCT(16)*F(4)+RCT(17)*F(4)+RCT(18)*F(7)+RCT(19)*F(9)+RCT(20)*F(8)+RCT(21)*F(1)+RCT(22)*F(3)& &+RCT(23)*F(6) D_VAR(28) = RCT(94) D_VAR(29) = RCT(27)+RCT(28)*F(4)+RCT(29)*F(7)+RCT(30)*F(9)+RCT(31)*F(8)+RCT(32)*F(1)+RCT(33)*F(3)+RCT(34)*F(6)+RCT(88) D_VAR(30) = RCT(1)*F(1)+RCT(14)*F(2)+RCT(26)*F(3) D_VAR(31) = RCT(39)+RCT(57)+RCT(78) D_VAR(32) = RCT(2)+RCT(3)*F(1)+RCT(4)*F(4)+RCT(5)*F(4)+RCT(6)*F(7)+RCT(7)*F(9)+RCT(8)*F(8)+RCT(9)*F(3)+RCT(10)*F(1)& &+RCT(13)*F(6)+RCT(75) Vdot = P_VAR - D_VAR*V END SUBROUTINE Fun_SPLIT ! End of Fun_SPLIT function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! CalcStoichNum - calculate stoichiometric numbers ! Arguments : ! StoichNum - Stoichiometric numbers ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE CalcStoichNum ( StoichNum ) ! StoichNum - Stoichiometric numbers REAL(kind=dp) :: StoichNum(NVAR,NREACT) StoichNum(:,:) = 0. StoichNum(1,49) = -1 StoichNum(2,55) = 1 StoichNum(2,56) = 1 StoichNum(2,57) = 1 StoichNum(2,58) = 1 StoichNum(2,59) = 1 StoichNum(2,60) = 1 StoichNum(2,61) = 1 StoichNum(2,62) = 1 StoichNum(2,63) = 1 StoichNum(2,64) = 1 StoichNum(2,65) = 1 StoichNum(2,66) = 1 StoichNum(2,67) = 1 StoichNum(2,68) = 1 StoichNum(2,69) = 1 StoichNum(2,70) = 1 StoichNum(2,71) = 1 StoichNum(3,1) = 1 StoichNum(3,14) = 1 StoichNum(3,26) = 1 StoichNum(4,2) = 1 StoichNum(4,3) = 1 StoichNum(4,4) = 1 StoichNum(4,15) = 1 StoichNum(4,16) = 1 StoichNum(4,27) = 1 StoichNum(4,75) = 1 StoichNum(4,77) = 0.67 StoichNum(4,78) = 0.49 StoichNum(4,79) = 0.4 StoichNum(4,80) = 1 StoichNum(4,81) = 1 StoichNum(4,83) = 0.67 StoichNum(4,84) = 0.49 StoichNum(4,88) = 1 StoichNum(4,90) = 0.67 StoichNum(4,91) = 1 StoichNum(4,94) = 1 StoichNum(5,1) = 1 StoichNum(5,32) = 1 StoichNum(6,26) = 1 StoichNum(6,78) = 0.35 StoichNum(6,84) = 0.35 StoichNum(7,14) = 1 StoichNum(8,19) = 1 StoichNum(8,47) = -1 StoichNum(8,65) = -1 StoichNum(8,87) = -1 StoichNum(9,20) = 1 StoichNum(9,46) = -1 StoichNum(9,64) = -1 StoichNum(9,86) = -1 StoichNum(10,21) = 1 StoichNum(10,48) = -1 StoichNum(10,66) = -1 StoichNum(10,85) = -1 StoichNum(11,30) = 1 StoichNum(11,54) = -1 StoichNum(11,71) = -1 StoichNum(11,93) = -1 StoichNum(12,31) = 1 StoichNum(12,53) = -1 StoichNum(12,70) = -1 StoichNum(12,92) = -1 StoichNum(13,7) = 1 StoichNum(13,41) = -1 StoichNum(13,59) = -1 StoichNum(13,81) = -1 StoichNum(14,8) = 1 StoichNum(14,40) = -1 StoichNum(14,58) = -1 StoichNum(14,80) = -1 StoichNum(15,28) = 1 StoichNum(15,50) = -1 StoichNum(15,67) = -1 StoichNum(15,89) = -1 StoichNum(16,5) = 1 StoichNum(16,37) = -1 StoichNum(16,55) = -1 StoichNum(16,76) = -1 StoichNum(17,17) = 1 StoichNum(17,43) = -1 StoichNum(17,61) = -1 StoichNum(17,82) = -1 StoichNum(18,10) = 1 StoichNum(18,42) = -1 StoichNum(18,60) = -1 StoichNum(18,79) = -1 StoichNum(19,34) = 1 StoichNum(19,35) = -1 StoichNum(19,36) = -1 StoichNum(19,89) = 0.9 StoichNum(19,90) = 0.25 StoichNum(20,33) = 1 StoichNum(20,35) = 1 StoichNum(20,52) = -1 StoichNum(20,69) = -1 StoichNum(20,90) = 0.01 StoichNum(20,91) = -1 StoichNum(21,29) = 1 StoichNum(21,51) = -1 StoichNum(21,68) = -1 StoichNum(21,90) = -1 StoichNum(22,11) = -1 StoichNum(22,12) = -1 StoichNum(22,13) = 1 StoichNum(22,76) = 0.9 StoichNum(22,77) = 0.25 StoichNum(23,6) = 1 StoichNum(23,38) = -1 StoichNum(23,56) = -1 StoichNum(23,77) = -1 StoichNum(24,23) = 1 StoichNum(24,24) = -1 StoichNum(24,25) = -1 StoichNum(24,82) = 0.9 StoichNum(24,83) = 0.25 StoichNum(25,18) = 1 StoichNum(25,44) = -1 StoichNum(25,62) = -1 StoichNum(25,83) = -1 StoichNum(26,22) = 1 StoichNum(26,24) = 1 StoichNum(26,45) = -1 StoichNum(26,63) = -1 StoichNum(26,83) = 0.01 StoichNum(26,84) = -0.99 StoichNum(27,14) = 1 StoichNum(27,15) = -1 StoichNum(27,16) = -1 StoichNum(27,17) = -1 StoichNum(27,18) = -1 StoichNum(27,19) = -1 StoichNum(27,20) = -1 StoichNum(27,21) = -1 StoichNum(27,22) = -1 StoichNum(27,23) = -1 StoichNum(27,25) = 1 StoichNum(27,82) = 0.1 StoichNum(27,83) = 0.07 StoichNum(27,84) = 0.15 StoichNum(27,85) = 1 StoichNum(27,86) = 1 StoichNum(27,87) = 1 StoichNum(28,37) = 1 StoichNum(28,38) = 1 StoichNum(28,39) = 1 StoichNum(28,40) = 1 StoichNum(28,41) = 1 StoichNum(28,42) = 1 StoichNum(28,43) = 1 StoichNum(28,44) = 1 StoichNum(28,45) = 1 StoichNum(28,46) = 1 StoichNum(28,47) = 1 StoichNum(28,48) = 1 StoichNum(28,49) = 1 StoichNum(28,50) = 1 StoichNum(28,51) = 1 StoichNum(28,52) = 1 StoichNum(28,53) = 1 StoichNum(28,54) = 1 StoichNum(28,94) = -1 StoichNum(29,26) = 1 StoichNum(29,27) = -1 StoichNum(29,28) = -1 StoichNum(29,29) = -1 StoichNum(29,30) = -1 StoichNum(29,31) = -1 StoichNum(29,32) = -1 StoichNum(29,33) = -1 StoichNum(29,34) = -1 StoichNum(29,36) = 1 StoichNum(29,78) = 0.35 StoichNum(29,84) = 0.35 StoichNum(29,88) = -1 StoichNum(29,89) = 0.1 StoichNum(29,90) = 0.07 StoichNum(29,92) = 1 StoichNum(29,93) = 1 StoichNum(30,1) = -1 StoichNum(30,2) = 1 StoichNum(30,3) = 1 StoichNum(30,4) = 1 StoichNum(30,14) = -1 StoichNum(30,15) = 1 StoichNum(30,16) = 1 StoichNum(30,26) = -1 StoichNum(30,27) = 1 StoichNum(30,75) = 1 StoichNum(30,77) = 0.67 StoichNum(30,78) = 0.49 StoichNum(30,79) = 0.4 StoichNum(30,80) = 1 StoichNum(30,81) = 1 StoichNum(30,83) = 0.67 StoichNum(30,84) = 0.49 StoichNum(30,88) = 1 StoichNum(30,90) = 0.67 StoichNum(30,91) = 1 StoichNum(30,94) = 1 StoichNum(31,9) = 1 StoichNum(31,11) = 1 StoichNum(31,32) = 1 StoichNum(31,39) = -1 StoichNum(31,57) = -1 StoichNum(31,77) = 0.01 StoichNum(31,78) = -0.99 StoichNum(32,1) = 1 StoichNum(32,2) = -1 StoichNum(32,3) = -1 StoichNum(32,4) = -1 StoichNum(32,5) = -1 StoichNum(32,6) = -1 StoichNum(32,7) = -1 StoichNum(32,8) = -1 StoichNum(32,9) = -1 StoichNum(32,10) = -1 StoichNum(32,12) = 1 StoichNum(32,13) = -1 StoichNum(32,75) = -1 StoichNum(32,76) = 0.1 StoichNum(32,77) = 0.07 StoichNum(32,78) = 0.15 StoichNum(32,79) = 0.6 END SUBROUTINE CalcStoichNum ! End of CalcStoichNum function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ END MODULE gckpp_Function ================================================ FILE: KPP/Hg/gckpp_Global.F90 ================================================ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Global Data Module File ! ! Generated by KPP-3.2.0 symbolic chemistry Kinetics PreProcessor ! (https:/github.com/KineticPreProcessor/KPP ! KPP is distributed under GPL, the general public licence ! (http://www.gnu.org/copyleft/gpl.html) ! (C) 1995-1997, V. Damian & A. Sandu, CGRER, Univ. Iowa ! (C) 1997-2022, A. Sandu, Michigan Tech, Virginia Tech ! With important contributions from: ! M. Damian, Villanova University, Philadelphia, PA, USA ! R. Sander, Max-Planck Institute for Chemistry, Mainz, Germany ! M. Long, Renaissance Fiber, LLC, North Carolina, USA ! H. Lin, Harvard University, Cambridge, MA, USA ! R. Yantosca, Harvard University, Cambridge, MA, USA ! ! File : gckpp_Global.F90 ! Equation file : gckpp.kpp ! Output root filename : gckpp ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MODULE gckpp_Global USE gckpp_Parameters, ONLY: dp, NSPEC, NVAR, NFIX, NREACT, LU_NONZERO PUBLIC SAVE ! Declaration of global variables ! ~~~ If you are using KPP within an OpenMP parallel environment, ! ~~~ then these variables must be declared THREADPRIVATE. This means ! ~~~ that the compiler will make a private copy of these variables ! ~~~ (in stack memory) for each execution thread. At the end of ! ~~~ the OpenMP parallel loop, these variables will be finalized, ! ~~~ and their memory deallocated. ! ~~~ ! ~~~ NOTE: Because the OpenMP commands all begin with a comment ! ~~~ character, they will be ignored unless the code is compiled ! ~~~ with OpenMP parallelization turned on. ! C - Concentration of all species REAL(kind=dp), TARGET :: C(NSPEC) !$OMP THREADPRIVATE( C ) ! VAR - Concentrations of variable species (global) REAL(kind=dp), POINTER :: VAR(:) !$OMP THREADPRIVATE( VAR ) ! FIX - Concentrations of fixed species (global) REAL(kind=dp), POINTER :: FIX(:) !$OMP THREADPRIVATE( FIX ) ! RCONST - Rate constants (global) REAL(kind=dp) :: RCONST(NREACT) !$OMP THREADPRIVATE( RCONST ) ! TIME - Current integration time REAL(kind=dp) :: TIME !$OMP THREADPRIVATE( TIME ) ! SUN - Sunlight intensity between [0,1] REAL(kind=dp) :: SUN !$OMP THREADPRIVATE( SUN ) ! TEMP - Temperature REAL(kind=dp) :: TEMP !$OMP THREADPRIVATE( TEMP ) ! ~~~ If you are using KPP within an OpenMP parallel environment, ! ~~~ these variables DO NOT need to be declared THREADPRIVATE. ! TSTART - Integration start time REAL(kind=dp) :: TSTART ! TEND - Integration end time REAL(kind=dp) :: TEND ! DT - Integration step REAL(kind=dp) :: DT ! ATOL - Absolute tolerance REAL(kind=dp) :: ATOL(NVAR) ! RTOL - Relative tolerance REAL(kind=dp) :: RTOL(NVAR) ! STEPMIN - Lower bound for integration step REAL(kind=dp) :: STEPMIN ! STEPMAX - Upper bound for integration step REAL(kind=dp) :: STEPMAX ! CFACTOR - Conversion factor for concentration units REAL(kind=dp) :: CFACTOR ! Begin inlined code from F90_GLOBAL ! Inline common variables into gckpp_Global.F90 #include "commonIncludeVars.H" ! End inlined code from F90_GLOBAL END MODULE gckpp_Global ================================================ FILE: KPP/Hg/gckpp_Initialize.F90 ================================================ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Initialization File ! ! Generated by KPP-3.2.0 symbolic chemistry Kinetics PreProcessor ! (https:/github.com/KineticPreProcessor/KPP ! KPP is distributed under GPL, the general public licence ! (http://www.gnu.org/copyleft/gpl.html) ! (C) 1995-1997, V. Damian & A. Sandu, CGRER, Univ. Iowa ! (C) 1997-2022, A. Sandu, Michigan Tech, Virginia Tech ! With important contributions from: ! M. Damian, Villanova University, Philadelphia, PA, USA ! R. Sander, Max-Planck Institute for Chemistry, Mainz, Germany ! M. Long, Renaissance Fiber, LLC, North Carolina, USA ! H. Lin, Harvard University, Cambridge, MA, USA ! R. Yantosca, Harvard University, Cambridge, MA, USA ! ! File : gckpp_Initialize.F90 ! Equation file : gckpp.kpp ! Output root filename : gckpp ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MODULE gckpp_Initialize USE gckpp_Parameters, ONLY: dp, NVAR, NFIX IMPLICIT NONE CONTAINS ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Initialize - function to initialize concentrations ! Arguments : ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Initialize ( ) USE gckpp_Global USE gckpp_Parameters INTEGER :: i REAL(kind=dp) :: x ! ~~~ Define scale factor for units CFACTOR = 1.000000e+00_dp ! ~~~ Zero C array C = 0.0_dp ! ~~~ Set initial species concentrations ! Begin constant rate coefficients ! End constant rate coefficients ! Begin inlined code from F90_INIT ! End inlined code from F90_INIT END SUBROUTINE Initialize ! End of Initialize function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ END MODULE gckpp_Initialize ================================================ FILE: KPP/Hg/gckpp_Integrator.F90 ================================================ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Numerical Integrator (Time-Stepping) File ! ! Generated by KPP-3.2.0 symbolic chemistry Kinetics PreProcessor ! (https:/github.com/KineticPreProcessor/KPP ! KPP is distributed under GPL, the general public licence ! (http://www.gnu.org/copyleft/gpl.html) ! (C) 1995-1997, V. Damian & A. Sandu, CGRER, Univ. Iowa ! (C) 1997-2022, A. Sandu, Michigan Tech, Virginia Tech ! With important contributions from: ! M. Damian, Villanova University, Philadelphia, PA, USA ! R. Sander, Max-Planck Institute for Chemistry, Mainz, Germany ! M. Long, Renaissance Fiber, LLC, North Carolina, USA ! H. Lin, Harvard University, Cambridge, MA, USA ! R. Yantosca, Harvard University, Cambridge, MA, USA ! ! File : gckpp_Integrator.F90 ! Equation file : gckpp.kpp ! Output root filename : gckpp ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! INTEGRATE - Integrator routine ! Arguments : ! TIN - Start Time for Integration ! TOUT - End Time for Integration ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~! ! Rosenbrock - Implementation of several Rosenbrock methods: ! ! * Ros2 ! ! * Ros3 ! ! * Ros4 ! ! * Rodas3 ! ! * Rodas4 ! ! By default the code employs the KPP sparse linear algebra routines ! ! Compile with -DFULL_ALGEBRA to use full linear algebra (LAPACK) ! ! ! ! (C) Adrian Sandu, August 2004 ! ! Virginia Polytechnic Institute and State University ! ! Contact: sandu@cs.vt.edu ! ! Revised by Philipp Miehe and Adrian Sandu, May 2006 ! ! ! ! This implementation is part of KPP - the Kinetic PreProcessor ! !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~! MODULE gckpp_Integrator USE gckpp_Parameters USE gckpp_Global IMPLICIT NONE PUBLIC SAVE !~~~> Flags to determine if we should call the UPDATE_* routines from within !~~~> the integrator. If using KPP in an external model, you might want to !~~~> disable these calls (via ICNTRL(15)) to avoid excess computations. LOGICAL, PRIVATE :: Do_Update_RCONST LOGICAL, PRIVATE :: Do_Update_PHOTO LOGICAL, PRIVATE :: Do_Update_SUN !~~~> Statistics on the work performed by the Rosenbrock method INTEGER, PARAMETER :: Nfun=1, Njac=2, Nstp=3, Nacc=4, & Nrej=5, Ndec=6, Nsol=7, Nsng=8, & Ntexit=1, Nhexit=2, Nhnew = 3 CONTAINS SUBROUTINE INTEGRATE( TIN, TOUT, ICNTRL_U, RCNTRL_U, & ISTATUS_U, RSTATUS_U, IERR_U ) USE gckpp_Util, ONLY : Integrator_Update_Options IMPLICIT NONE REAL(kind=dp), INTENT(IN) :: TIN ! Start Time REAL(kind=dp), INTENT(IN) :: TOUT ! End Time !~~~> Optional input parameters and statistics INTEGER, INTENT(IN), OPTIONAL :: ICNTRL_U(20) REAL(kind=dp), INTENT(IN), OPTIONAL :: RCNTRL_U(20) INTEGER, INTENT(OUT), OPTIONAL :: ISTATUS_U(20) REAL(kind=dp), INTENT(OUT), OPTIONAL :: RSTATUS_U(20) INTEGER, INTENT(OUT), OPTIONAL :: IERR_U REAL(kind=dp) :: RCNTRL(20), RSTATUS(20) INTEGER :: ICNTRL(20), ISTATUS(20), IERR INTEGER, SAVE :: Ntotal = 0 !~~~> Zero input and output arrays for safety's sake ICNTRL = 0 RCNTRL = 0.0_dp ISTATUS = 0 RSTATUS = 0.0_dp !~~~> fine-tune the integrator: ICNTRL(15) = 5 ! Call Update_SUN and Update_RCONST from w/in the int. !~~~> if optional parameters are given, and if they are /= 0, ! then use them to overwrite default settings IF ( PRESENT( ICNTRL_U ) ) THEN WHERE( ICNTRL_U /= 0 ) ICNTRL = ICNTRL_U ENDIF IF ( PRESENT( RCNTRL_U ) ) THEN WHERE( RCNTRL_U > 0 ) RCNTRL = RCNTRL_U ENDIF !~~~> Determine the settings of the Do_Update_* flags, which determine !~~~> whether or not we need to call Update_* routines in the integrator !~~~> (or not, if we are calling them from a higher-level) ! ICNTRL(15) = -1 ! Do not call Update_* functions within the integrator ! = 0 ! Status quo ! = 1 ! Call Update_RCONST from within the integrator ! = 2 ! Call Update_PHOTO from within the integrator ! = 3 ! Call Update_RCONST and Update_PHOTO from w/in the int. ! = 4 ! Call Update_SUN from within the integrator ! = 5 ! Call Update_SUN and Update_RCONST from within the int. ! = 6 ! Call Update_SUN and Update_PHOTO from within the int. ! = 7 ! Call Update_SUN, Update_PHOTO, Update_RCONST w/in int. CALL Integrator_Update_Options( ICNTRL(15), & Do_Update_RCONST, & Do_Update_PHOTO, & Do_Update_Sun ) !~~~> In order to remove the prior EQUIVALENCE statements (which !~~~> are not thread-safe), we now have declared VAR and FIX as !~~~> threadprivate pointer variables that can point to C. VAR => C(1:NVAR ) FIX => C(NVAR+1:NSPEC) !~~~> Call the integrator CALL Rosenbrock( NVAR, VAR, TIN, TOUT, ATOL, RTOL, & RCNTRL, ICNTRL, RSTATUS, ISTATUS, IERR ) !~~~> Free pointers VAR => NULL() FIX => NULL() !~~~> Debug option: show number of steps !Ntotal = Ntotal + ISTATUS(Nstp) !PRINT*,'NSTEPS=',ISTATUS(Nstp),' (',Ntotal,')',' O3=', VAR(ind_O3) STEPMIN = RSTATUS(Nhexit) !~~~> if optional parameters are given for output !~~~> use them to store information in them IF ( PRESENT( ISTATUS_U ) ) ISTATUS_U = ISTATUS IF ( PRESENT( RSTATUS_U ) ) RSTATUS_U = RSTATUS IF ( PRESENT( IERR_U ) ) IERR_U = IERR END SUBROUTINE INTEGRATE !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Rosenbrock(N,Y,Tstart,Tend, & AbsTol,RelTol, & RCNTRL,ICNTRL,RSTATUS,ISTATUS,IERR) !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Solves the system y'=F(t,y) using a Rosenbrock method defined by: ! ! G = 1/(H*gamma(1)) - Jac(t0,Y0) ! T_i = t0 + Alpha(i)*H ! Y_i = Y0 + \sum_{j=1}^{i-1} A(i,j)*K_j ! G * K_i = Fun( T_i, Y_i ) + \sum_{j=1}^S C(i,j)/H * K_j + ! gamma(i)*dF/dT(t0, Y0) ! Y1 = Y0 + \sum_{j=1}^S M(j)*K_j ! ! For details on Rosenbrock methods and their implementation consult: ! E. Hairer and G. Wanner ! "Solving ODEs II. Stiff and differential-algebraic problems". ! Springer series in computational mathematics, Springer-Verlag, 1996. ! The codes contained in the book inspired this implementation. ! ! (C) Adrian Sandu, August 2004 ! Virginia Polytechnic Institute and State University ! Contact: sandu@cs.vt.edu ! Revised by Philipp Miehe and Adrian Sandu, May 2006 ! This implementation is part of KPP - the Kinetic PreProcessor !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! !~~~> INPUT ARGUMENTS: ! !- Y(N) = vector of initial conditions (at T=Tstart) !- [Tstart,Tend] = time range of integration ! (if Tstart>Tend the integration is performed backwards in time) !- RelTol, AbsTol = user precribed accuracy !- SUBROUTINE Fun( T, Y, Ydot ) = ODE function, ! returns Ydot = Y' = F(T,Y) !- SUBROUTINE Jac( T, Y, Jcb ) = Jacobian of the ODE function, ! returns Jcb = dFun/dY !- ICNTRL(1:20) = integer inputs parameters !- RCNTRL(1:20) = real inputs parameters !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! !~~~> OUTPUT ARGUMENTS: ! !- Y(N) -> vector of final states (at T->Tend) !- ISTATUS(1:20) -> integer output parameters !- RSTATUS(1:20) -> real output parameters !- IERR -> job status upon return ! success (positive value) or ! failure (negative value) !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! !~~~> INPUT PARAMETERS: ! ! Note: For input parameters equal to zero the default values of the ! corresponding variables are used. ! ! ICNTRL(1) = 1: F = F(y) Independent of T (AUTONOMOUS) ! = 0: F = F(t,y) Depends on T (NON-AUTONOMOUS) ! ! ICNTRL(2) = 0: AbsTol, RelTol are N-dimensional vectors ! = 1: AbsTol, RelTol are scalars ! ! ICNTRL(3) -> selection of a particular Rosenbrock method ! = 0 : Rodas3 (default) ! = 1 : Ros2 ! = 2 : Ros3 ! = 3 : Ros4 ! = 4 : Rodas3 ! = 5 : Rodas4 ! ! ICNTRL(4) -> maximum number of integration steps ! For ICNTRL(4)=0) the default value of 200000 is used ! ! ICNTRL(15) -> Toggles calling of Update_* functions w/in the integrator ! = -1 : Do not call Update_* functions within the integrator ! = 0 : Status quo ! = 1 : Call Update_RCONST from within the integrator ! = 2 : Call Update_PHOTO from within the integrator ! = 3 : Call Update_RCONST and Update_PHOTO from w/in the int. ! = 4 : Call Update_SUN from within the integrator ! = 5 : Call Update_SUN and Update_RCONST from within the int. ! = 6 : Call Update_SUN and Update_PHOTO from within the int. ! = 7 : Call Update_SUN, Update_PHOTO, Update_RCONST w/in the int. ! ! ICNTRL(16) -> ! = 0 : allow negative concentrations (default) ! = 1 : set negative concentrations to zero ! ! RCNTRL(1) -> Hmin, lower bound for the integration step size ! It is strongly recommended to keep Hmin = ZERO ! RCNTRL(2) -> Hmax, upper bound for the integration step size ! RCNTRL(3) -> Hstart, starting value for the integration step size ! ! RCNTRL(4) -> FacMin, lower bound on step decrease factor (default=0.2) ! RCNTRL(5) -> FacMax, upper bound on step increase factor (default=6) ! RCNTRL(6) -> FacRej, step decrease factor after multiple rejections ! (default=0.1) ! RCNTRL(7) -> FacSafe, by which the new step is slightly smaller ! than the predicted value (default=0.9) !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! ! OUTPUT ARGUMENTS: ! ----------------- ! ! T -> T value for which the solution has been computed ! (after successful return T=Tend). ! ! Y(N) -> Numerical solution at T ! ! IDID -> Reports on successfulness upon return: ! = 1 for success ! < 0 for error (value equals error code) ! ! ISTATUS(1) -> No. of function calls ! ISTATUS(2) -> No. of jacobian calls ! ISTATUS(3) -> No. of steps ! ISTATUS(4) -> No. of accepted steps ! ISTATUS(5) -> No. of rejected steps (except at very beginning) ! ISTATUS(6) -> No. of LU decompositions ! ISTATUS(7) -> No. of forward/backward substitutions ! ISTATUS(8) -> No. of singular matrix decompositions ! ! RSTATUS(1) -> Texit, the time corresponding to the ! computed Y upon return ! RSTATUS(2) -> Hexit, last accepted step before exit ! RSTATUS(3) -> Hnew, last predicted step (not yet taken) ! For multiple restarts, use Hnew as Hstart ! in the subsequent run ! !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ USE gckpp_Parameters USE gckpp_LinearAlgebra IMPLICIT NONE !~~~> Arguments INTEGER, INTENT(IN) :: N REAL(kind=dp), INTENT(INOUT) :: Y(N) REAL(kind=dp), INTENT(IN) :: Tstart,Tend REAL(kind=dp), INTENT(IN) :: AbsTol(N),RelTol(N) INTEGER, INTENT(IN) :: ICNTRL(20) REAL(kind=dp), INTENT(IN) :: RCNTRL(20) INTEGER, INTENT(INOUT) :: ISTATUS(20) REAL(kind=dp), INTENT(INOUT) :: RSTATUS(20) INTEGER, INTENT(OUT) :: IERR !~~~> Parameters of the Rosenbrock method, up to 6 stages INTEGER :: ros_S, rosMethod INTEGER, PARAMETER :: RS2=1, RS3=2, RS4=3, RD3=4, RD4=5, RG3=6 REAL(kind=dp) :: ros_A(15), ros_C(15), ros_M(6), ros_E(6), & ros_Alpha(6), ros_Gamma(6), ros_ELO LOGICAL :: ros_NewF(6) CHARACTER(LEN=12) :: ros_Name !~~~> Local variables REAL(kind=dp) :: Roundoff, FacMin, FacMax, FacRej, FacSafe REAL(kind=dp) :: Hmin, Hmax, Hstart REAL(kind=dp) :: Texit INTEGER :: i, UplimTol, Max_no_steps LOGICAL :: Autonomous, VectorTol !~~~> Parameters REAL(kind=dp), PARAMETER :: ZERO = 0.0_dp, ONE = 1.0_dp REAL(kind=dp), PARAMETER :: DeltaMin = 1.0E-5_dp !~~~> Initialize statistics ISTATUS(1:8) = 0 RSTATUS(1:3) = ZERO !~~~> Autonomous or time dependent ODE. Default is time dependent. Autonomous = .NOT.(ICNTRL(1) == 0) !~~~> For Scalar tolerances (ICNTRL(2).NE.0) the code uses AbsTol(1) and RelTol(1) ! For Vector tolerances (ICNTRL(2) == 0) the code uses AbsTol(1:N) and RelTol(1:N) IF (ICNTRL(2) == 0) THEN VectorTol = .TRUE. UplimTol = N ELSE VectorTol = .FALSE. UplimTol = 1 END IF !~~~> Initialize the particular Rosenbrock method selected SELECT CASE (ICNTRL(3)) CASE (1) CALL Ros2 CASE (2) CALL Ros3 CASE (3) CALL Ros4 CASE (0,4) CALL Rodas3 CASE (5) CALL Rodas4 CASE (6) CALL Rang3 CASE DEFAULT PRINT * , 'Unknown Rosenbrock method: ICNTRL(3)=',ICNTRL(3) CALL ros_ErrorMsg(-2,Tstart,ZERO,IERR) RETURN END SELECT !~~~> The maximum number of steps admitted IF (ICNTRL(4) == 0) THEN Max_no_steps = 200000 ELSEIF (ICNTRL(4) > 0) THEN Max_no_steps=ICNTRL(4) ELSE PRINT * ,'User-selected max no. of steps: ICNTRL(4)=',ICNTRL(4) CALL ros_ErrorMsg(-1,Tstart,ZERO,IERR) RETURN END IF !~~~> Unit roundoff (1+Roundoff>1) Roundoff = WLAMCH('E') !~~~> Lower bound on the step size: (positive value) IF (RCNTRL(1) == ZERO) THEN Hmin = ZERO ELSEIF (RCNTRL(1) > ZERO) THEN Hmin = RCNTRL(1) ELSE PRINT * , 'User-selected Hmin: RCNTRL(1)=', RCNTRL(1) CALL ros_ErrorMsg(-3,Tstart,ZERO,IERR) RETURN END IF !~~~> Upper bound on the step size: (positive value) IF (RCNTRL(2) == ZERO) THEN Hmax = ABS(Tend-Tstart) ELSEIF (RCNTRL(2) > ZERO) THEN Hmax = MIN(ABS(RCNTRL(2)),ABS(Tend-Tstart)) ELSE PRINT * , 'User-selected Hmax: RCNTRL(2)=', RCNTRL(2) CALL ros_ErrorMsg(-3,Tstart,ZERO,IERR) RETURN END IF !~~~> Starting step size: (positive value) IF (RCNTRL(3) == ZERO) THEN Hstart = MAX(Hmin,DeltaMin) ELSEIF (RCNTRL(3) > ZERO) THEN Hstart = MIN(ABS(RCNTRL(3)),ABS(Tend-Tstart)) ELSE PRINT * , 'User-selected Hstart: RCNTRL(3)=', RCNTRL(3) CALL ros_ErrorMsg(-3,Tstart,ZERO,IERR) RETURN END IF !~~~> Step size can be changed s.t. FacMin < Hnew/Hold < FacMax IF (RCNTRL(4) == ZERO) THEN FacMin = 0.2_dp ELSEIF (RCNTRL(4) > ZERO) THEN FacMin = RCNTRL(4) ELSE PRINT * , 'User-selected FacMin: RCNTRL(4)=', RCNTRL(4) CALL ros_ErrorMsg(-4,Tstart,ZERO,IERR) RETURN END IF IF (RCNTRL(5) == ZERO) THEN FacMax = 6.0_dp ELSEIF (RCNTRL(5) > ZERO) THEN FacMax = RCNTRL(5) ELSE PRINT * , 'User-selected FacMax: RCNTRL(5)=', RCNTRL(5) CALL ros_ErrorMsg(-4,Tstart,ZERO,IERR) RETURN END IF !~~~> FacRej: Factor to decrease step after 2 succesive rejections IF (RCNTRL(6) == ZERO) THEN FacRej = 0.1_dp ELSEIF (RCNTRL(6) > ZERO) THEN FacRej = RCNTRL(6) ELSE PRINT * , 'User-selected FacRej: RCNTRL(6)=', RCNTRL(6) CALL ros_ErrorMsg(-4,Tstart,ZERO,IERR) RETURN END IF !~~~> FacSafe: Safety Factor in the computation of new step size IF (RCNTRL(7) == ZERO) THEN FacSafe = 0.9_dp ELSEIF (RCNTRL(7) > ZERO) THEN FacSafe = RCNTRL(7) ELSE PRINT * , 'User-selected FacSafe: RCNTRL(7)=', RCNTRL(7) CALL ros_ErrorMsg(-4,Tstart,ZERO,IERR) RETURN END IF !~~~> Check if tolerances are reasonable DO i=1,UplimTol IF ( (AbsTol(i) <= ZERO) .OR. (RelTol(i) <= 10.0_dp*Roundoff) & .OR. (RelTol(i) >= 1.0_dp) ) THEN PRINT * , ' AbsTol(',i,') = ',AbsTol(i) PRINT * , ' RelTol(',i,') = ',RelTol(i) CALL ros_ErrorMsg(-5,Tstart,ZERO,IERR) RETURN END IF END DO !~~~> CALL Rosenbrock method CALL ros_Integrator(Y, Tstart, Tend, Texit, & AbsTol, RelTol, & ! Integration parameters Autonomous, VectorTol, Max_no_steps, & Roundoff, Hmin, Hmax, Hstart, & FacMin, FacMax, FacRej, FacSafe, & ! Error indicator IERR) !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CONTAINS ! SUBROUTINES internal to Rosenbrock !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE ros_ErrorMsg(Code,T,H,IERR) !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Handles all error messages !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ REAL(kind=dp), INTENT(IN) :: T, H INTEGER, INTENT(IN) :: Code INTEGER, INTENT(OUT) :: IERR IERR = Code PRINT * , & 'Forced exit from Rosenbrock due to the following error:' SELECT CASE (Code) CASE (-1) PRINT * , '--> Improper value for maximal no of steps' CASE (-2) PRINT * , '--> Selected Rosenbrock method not implemented' CASE (-3) PRINT * , '--> Hmin/Hmax/Hstart must be positive' CASE (-4) PRINT * , '--> FacMin/FacMax/FacRej must be positive' CASE (-5) PRINT * , '--> Improper tolerance values' CASE (-6) PRINT * , '--> No of steps exceeds maximum bound' CASE (-7) PRINT * , '--> Step size too small: T + 0.1*H = T', & ' or H < Roundoff' CASE (-8) PRINT * , '--> Matrix is repeatedly singular' CASE DEFAULT PRINT *, 'Unknown Error code: ', Code END SELECT PRINT *, "T=", T, "and H=", H END SUBROUTINE ros_ErrorMsg !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE ros_Integrator (Y, Tstart, Tend, T, & AbsTol, RelTol, & !~~~> Integration parameters Autonomous, VectorTol, Max_no_steps, & Roundoff, Hmin, Hmax, Hstart, & FacMin, FacMax, FacRej, FacSafe, & !~~~> Error indicator IERR ) !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Template for the implementation of a generic Rosenbrock method ! defined by ros_S (no of stages) ! and its coefficients ros_{A,C,M,E,Alpha,Gamma} !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ IMPLICIT NONE !~~~> Input: the initial condition at Tstart; Output: the solution at T REAL(kind=dp), INTENT(INOUT) :: Y(N) !~~~> Input: integration interval REAL(kind=dp), INTENT(IN) :: Tstart,Tend !~~~> Output: time at which the solution is returned (T=Tend if success) REAL(kind=dp), INTENT(OUT) :: T !~~~> Input: tolerances REAL(kind=dp), INTENT(IN) :: AbsTol(N), RelTol(N) !~~~> Input: integration parameters LOGICAL, INTENT(IN) :: Autonomous, VectorTol REAL(kind=dp), INTENT(IN) :: Hstart, Hmin, Hmax INTEGER, INTENT(IN) :: Max_no_steps REAL(kind=dp), INTENT(IN) :: Roundoff, FacMin, FacMax, FacRej, FacSafe !~~~> Output: Error indicator INTEGER, INTENT(OUT) :: IERR ! ~~~~ Local variables REAL(kind=dp) :: Ynew(N), Fcn0(N), Fcn(N) REAL(kind=dp) :: K(N*ros_S), dFdT(N) #ifdef FULL_ALGEBRA REAL(kind=dp) :: Jac0(N,N), Ghimj(N,N) #else REAL(kind=dp) :: Jac0(LU_NONZERO), Ghimj(LU_NONZERO) #endif REAL(kind=dp) :: H, Hnew, HC, HG, Fac, Tau REAL(kind=dp) :: Err, Yerr(N) INTEGER :: Pivot(N), Direction, ioffset, j, istage LOGICAL :: RejectLastH, RejectMoreH, Singular !~~~> Local parameters REAL(kind=dp), PARAMETER :: ZERO = 0.0_dp, ONE = 1.0_dp REAL(kind=dp), PARAMETER :: DeltaMin = 1.0E-5_dp !~~~> Locally called functions ! REAL(kind=dp) WLAMCH ! EXTERNAL WLAMCH !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !~~~> Initial preparations T = Tstart RSTATUS(Nhexit) = ZERO H = MIN( MAX(ABS(Hmin),ABS(Hstart)) , ABS(Hmax) ) IF (ABS(H) <= 10.0_dp*Roundoff) H = DeltaMin IF (Tend >= Tstart) THEN Direction = +1 ELSE Direction = -1 END IF H = Direction*H RejectLastH=.FALSE. RejectMoreH=.FALSE. !~~~> Time loop begins below TimeLoop: DO WHILE ( (Direction > 0).AND.((T-Tend)+Roundoff <= ZERO) & .OR. (Direction < 0).AND.((Tend-T)+Roundoff <= ZERO) ) IF ( ISTATUS(Nstp) > Max_no_steps ) THEN ! Too many steps CALL ros_ErrorMsg(-6,T,H,IERR) RETURN END IF IF ( ((T+0.1_dp*H) == T).OR.(H <= Roundoff) ) THEN ! Step size too small CALL ros_ErrorMsg(-7,T,H,IERR) RETURN END IF !~~~> Limit H if necessary to avoid going beyond Tend H = MIN(H,ABS(Tend-T)) !~~~> Compute the function at current time CALL FunTemplate( T, Y, Fcn0 ) ISTATUS(Nfun) = ISTATUS(Nfun) + 1 !~~~> Compute the function derivative with respect to T IF (.NOT.Autonomous) THEN CALL ros_FunTimeDerivative ( T, Roundoff, Y, Fcn0, dFdT ) END IF !~~~> Compute the Jacobian at current time CALL JacTemplate( T, Y, Jac0 ) ISTATUS(Njac) = ISTATUS(Njac) + 1 !~~~> Repeat step calculation until current step accepted UntilAccepted: DO CALL ros_PrepareMatrix(H,Direction,ros_Gamma(1), & Jac0,Ghimj,Pivot,Singular) IF (Singular) THEN ! More than 5 consecutive failed decompositions CALL ros_ErrorMsg(-8,T,H,IERR) RETURN END IF !~~~> Compute the stages Stage: DO istage = 1, ros_S ! Current istage offset. Current istage vector is K(ioffset+1:ioffset+N) ioffset = N*(istage-1) ! For the 1st istage the function has been computed previously IF ( istage == 1 ) THEN !slim: CALL WCOPY(N,Fcn0,1,Fcn,1) Fcn(1:N) = Fcn0(1:N) ! istage>1 and a new function evaluation is needed at the current istage ELSEIF ( ros_NewF(istage) ) THEN !slim: CALL WCOPY(N,Y,1,Ynew,1) Ynew(1:N) = Y(1:N) DO j = 1, istage-1 CALL WAXPY(N,ros_A((istage-1)*(istage-2)/2+j), & K(N*(j-1)+1),1,Ynew,1) END DO Tau = T + ros_Alpha(istage)*Direction*H CALL FunTemplate( Tau, Ynew, Fcn ) ISTATUS(Nfun) = ISTATUS(Nfun) + 1 END IF ! if istage == 1 elseif ros_NewF(istage) !slim: CALL WCOPY(N,Fcn,1,K(ioffset+1),1) K(ioffset+1:ioffset+N) = Fcn(1:N) DO j = 1, istage-1 HC = ros_C((istage-1)*(istage-2)/2+j)/(Direction*H) CALL WAXPY(N,HC,K(N*(j-1)+1),1,K(ioffset+1),1) END DO IF ((.NOT. Autonomous).AND.(ros_Gamma(istage).NE.ZERO)) THEN HG = Direction*H*ros_Gamma(istage) CALL WAXPY(N,HG,dFdT,1,K(ioffset+1),1) END IF CALL ros_Solve(Ghimj, Pivot, K(ioffset+1)) END DO Stage !~~~> Compute the new solution !slim: CALL WCOPY(N,Y,1,Ynew,1) Ynew(1:N) = Y(1:N) DO j=1,ros_S CALL WAXPY(N,ros_M(j),K(N*(j-1)+1),1,Ynew,1) END DO !~~~> Compute the error estimation !slim: CALL WSCAL(N,ZERO,Yerr,1) Yerr(1:N) = ZERO DO j=1,ros_S CALL WAXPY(N,ros_E(j),K(N*(j-1)+1),1,Yerr,1) END DO Err = ros_ErrorNorm ( Y, Ynew, Yerr, AbsTol, RelTol, VectorTol ) !~~~> New step size is bounded by FacMin <= Hnew/H <= FacMax Fac = MIN(FacMax,MAX(FacMin,FacSafe/Err**(ONE/ros_ELO))) Hnew = H*Fac !~~~> Check the error magnitude and adjust step size ISTATUS(Nstp) = ISTATUS(Nstp) + 1 IF ( (Err <= ONE).OR.(H <= Hmin) ) THEN !~~~> Accept step ISTATUS(Nacc) = ISTATUS(Nacc) + 1 IF (ICNTRL(16) == 1) THEN ! new value is non-negative: Y = MAX(Ynew,ZERO) ELSE !slim: CALL WCOPY(N,Ynew,1,Y,1) Y(1:N) = Ynew(1:N) ENDIF T = T + Direction*H Hnew = MAX(Hmin,MIN(Hnew,Hmax)) IF (RejectLastH) THEN ! No step size increase after a rejected step Hnew = MIN(Hnew,H) END IF RSTATUS(Nhexit) = H RSTATUS(Nhnew) = Hnew RSTATUS(Ntexit) = T RejectLastH = .FALSE. RejectMoreH = .FALSE. H = Hnew EXIT UntilAccepted ! EXIT THE LOOP: WHILE STEP NOT ACCEPTED ELSE !~~~> Reject step IF (RejectMoreH) THEN Hnew = H*FacRej END IF RejectMoreH = RejectLastH RejectLastH = .TRUE. H = Hnew IF (ISTATUS(Nacc) >= 1) ISTATUS(Nrej) = ISTATUS(Nrej) + 1 END IF ! Err <= 1 END DO UntilAccepted END DO TimeLoop !~~~> Succesful exit IERR = 1 !~~~> The integration was successful END SUBROUTINE ros_Integrator !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ REAL(kind=dp) FUNCTION ros_ErrorNorm ( Y, Ynew, Yerr, & AbsTol, RelTol, VectorTol ) !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !~~~> Computes the "scaled norm" of the error vector Yerr !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ IMPLICIT NONE ! Input arguments REAL(kind=dp), INTENT(IN) :: Y(N), Ynew(N), & Yerr(N), AbsTol(N), RelTol(N) LOGICAL, INTENT(IN) :: VectorTol ! Local variables REAL(kind=dp) :: Err, Scale, Ymax INTEGER :: i REAL(kind=dp), PARAMETER :: ZERO = 0.0_dp Err = ZERO DO i=1,N Ymax = MAX(ABS(Y(i)),ABS(Ynew(i))) IF (VectorTol) THEN Scale = AbsTol(i)+RelTol(i)*Ymax ELSE Scale = AbsTol(1)+RelTol(1)*Ymax END IF Err = Err+(Yerr(i)/Scale)**2 END DO Err = SQRT(Err/N) ros_ErrorNorm = MAX(Err,1.0d-10) END FUNCTION ros_ErrorNorm !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE ros_FunTimeDerivative ( T, Roundoff, Y, Fcn0, dFdT ) !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !~~~> The time partial derivative of the function by finite differences !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ IMPLICIT NONE !~~~> Input arguments REAL(kind=dp), INTENT(IN) :: T, Roundoff, Y(N), Fcn0(N) !~~~> Output arguments REAL(kind=dp), INTENT(OUT) :: dFdT(N) !~~~> Local variables REAL(kind=dp) :: Delta REAL(kind=dp), PARAMETER :: ONE = 1.0_dp, DeltaMin = 1.0E-6_dp Delta = SQRT(Roundoff)*MAX(DeltaMin,ABS(T)) CALL FunTemplate( T+Delta, Y, dFdT ) ISTATUS(Nfun) = ISTATUS(Nfun) + 1 CALL WAXPY(N,(-ONE),Fcn0,1,dFdT,1) CALL WSCAL(N,(ONE/Delta),dFdT,1) END SUBROUTINE ros_FunTimeDerivative !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE ros_PrepareMatrix ( H, Direction, gam, & Jac0, Ghimj, Pivot, Singular ) ! --- --- --- --- --- --- --- --- --- --- --- --- --- ! Prepares the LHS matrix for stage calculations ! 1. Construct Ghimj = 1/(H*ham) - Jac0 ! "(Gamma H) Inverse Minus Jacobian" ! 2. Repeat LU decomposition of Ghimj until successful. ! -half the step size if LU decomposition fails and retry ! -exit after 5 consecutive fails ! --- --- --- --- --- --- --- --- --- --- --- --- --- IMPLICIT NONE !~~~> Input arguments #ifdef FULL_ALGEBRA REAL(kind=dp), INTENT(IN) :: Jac0(N,N) #else REAL(kind=dp), INTENT(IN) :: Jac0(LU_NONZERO) #endif REAL(kind=dp), INTENT(IN) :: gam INTEGER, INTENT(IN) :: Direction !~~~> Output arguments #ifdef FULL_ALGEBRA REAL(kind=dp), INTENT(OUT) :: Ghimj(N,N) #else REAL(kind=dp), INTENT(OUT) :: Ghimj(LU_NONZERO) #endif LOGICAL, INTENT(OUT) :: Singular INTEGER, INTENT(OUT) :: Pivot(N) !~~~> Inout arguments REAL(kind=dp), INTENT(INOUT) :: H ! step size is decreased when LU fails !~~~> Local variables INTEGER :: i, ising, Nconsecutive REAL(kind=dp) :: ghinv REAL(kind=dp), PARAMETER :: ONE = 1.0_dp, HALF = 0.5_dp Nconsecutive = 0 Singular = .TRUE. DO WHILE (Singular) !~~~> Construct Ghimj = 1/(H*gam) - Jac0 #ifdef FULL_ALGEBRA !slim: CALL WCOPY(N*N,Jac0,1,Ghimj,1) !slim: CALL WSCAL(N*N,(-ONE),Ghimj,1) Ghimj = -Jac0 ghinv = ONE/(Direction*H*gam) DO i=1,N Ghimj(i,i) = Ghimj(i,i)+ghinv END DO #else !slim: CALL WCOPY(LU_NONZERO,Jac0,1,Ghimj,1) !slim: CALL WSCAL(LU_NONZERO,(-ONE),Ghimj,1) Ghimj(1:LU_NONZERO) = -Jac0(1:LU_NONZERO) ghinv = ONE/(Direction*H*gam) DO i=1,N Ghimj(LU_DIAG(i)) = Ghimj(LU_DIAG(i))+ghinv END DO #endif !~~~> Compute LU decomposition CALL ros_Decomp( Ghimj, Pivot, ising ) IF (ising == 0) THEN !~~~> If successful done Singular = .FALSE. ELSE ! ising .ne. 0 !~~~> If unsuccessful half the step size; if 5 consecutive fails then return ISTATUS(Nsng) = ISTATUS(Nsng) + 1 Nconsecutive = Nconsecutive+1 Singular = .TRUE. PRINT*,'Warning: LU Decomposition returned ising = ',ising IF (Nconsecutive <= 5) THEN ! Less than 5 consecutive failed decompositions H = H*HALF ELSE ! More than 5 consecutive failed decompositions RETURN END IF ! Nconsecutive END IF ! ising END DO ! WHILE Singular END SUBROUTINE ros_PrepareMatrix !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE ros_Decomp( A, Pivot, ising ) !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Template for the LU decomposition !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ IMPLICIT NONE !~~~> Inout variables #ifdef FULL_ALGEBRA REAL(kind=dp), INTENT(INOUT) :: A(N,N) #else REAL(kind=dp), INTENT(INOUT) :: A(LU_NONZERO) #endif !~~~> Output variables INTEGER, INTENT(OUT) :: Pivot(N), ising #ifdef FULL_ALGEBRA CALL DGETRF( N, N, A, N, Pivot, ising ) #else CALL KppDecomp ( A, ising ) Pivot(1) = 1 #endif ISTATUS(Ndec) = ISTATUS(Ndec) + 1 END SUBROUTINE ros_Decomp !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE ros_Solve( A, Pivot, b ) !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Template for the forward/backward substitution ! (using pre-computed LU decomposition) !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ IMPLICIT NONE !~~~> Input variables #ifdef FULL_ALGEBRA REAL(kind=dp), INTENT(IN) :: A(N,N) INTEGER :: ising #else REAL(kind=dp), INTENT(IN) :: A(LU_NONZERO) #endif INTEGER, INTENT(IN) :: Pivot(N) !~~~> InOut variables REAL(kind=dp), INTENT(INOUT) :: b(N) #ifdef FULL_ALGEBRA CALL DGETRS( 'N', N , 1, A, N, Pivot, b, N, ising ) IF ( Info < 0 ) THEN PRINT*,"Error in DGETRS. ising=",ising END IF #else CALL KppSolve( A, b ) #endif ISTATUS(Nsol) = ISTATUS(Nsol) + 1 END SUBROUTINE ros_Solve !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Ros2 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! --- AN L-STABLE METHOD, 2 stages, order 2 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ IMPLICIT NONE DOUBLE PRECISION g g = 1.0_dp + 1.0_dp/SQRT(2.0_dp) rosMethod = RS2 !~~~> Name of the method ros_Name = 'ROS-2' !~~~> Number of stages ros_S = 2 !~~~> The coefficient matrices A and C are strictly lower triangular. ! The lower triangular (subdiagonal) elements are stored in row-wise order: ! A(2,1) = ros_A(1), A(3,1)=ros_A(2), A(3,2)=ros_A(3), etc. ! The general mapping formula is: ! A(i,j) = ros_A( (i-1)*(i-2)/2 + j ) ! C(i,j) = ros_C( (i-1)*(i-2)/2 + j ) ros_A(1) = (1.0_dp)/g ros_C(1) = (-2.0_dp)/g !~~~> Does the stage i require a new function evaluation (ros_NewF(i)=TRUE) ! or does it re-use the function evaluation from stage i-1 (ros_NewF(i)=FALSE) ros_NewF(1) = .TRUE. ros_NewF(2) = .TRUE. !~~~> M_i = Coefficients for new step solution ros_M(1)= (3.0_dp)/(2.0_dp*g) ros_M(2)= (1.0_dp)/(2.0_dp*g) ! E_i = Coefficients for error estimator ros_E(1) = 1.0_dp/(2.0_dp*g) ros_E(2) = 1.0_dp/(2.0_dp*g) !~~~> ros_ELO = estimator of local order - the minimum between the ! main and the embedded scheme orders plus one ros_ELO = 2.0_dp !~~~> Y_stage_i ~ Y( T + H*Alpha_i ) ros_Alpha(1) = 0.0_dp ros_Alpha(2) = 1.0_dp !~~~> Gamma_i = \sum_j gamma_{i,j} ros_Gamma(1) = g ros_Gamma(2) =-g END SUBROUTINE Ros2 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Ros3 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! --- AN L-STABLE METHOD, 3 stages, order 3, 2 function evaluations !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ IMPLICIT NONE rosMethod = RS3 !~~~> Name of the method ros_Name = 'ROS-3' !~~~> Number of stages ros_S = 3 !~~~> The coefficient matrices A and C are strictly lower triangular. ! The lower triangular (subdiagonal) elements are stored in row-wise order: ! A(2,1) = ros_A(1), A(3,1)=ros_A(2), A(3,2)=ros_A(3), etc. ! The general mapping formula is: ! A(i,j) = ros_A( (i-1)*(i-2)/2 + j ) ! C(i,j) = ros_C( (i-1)*(i-2)/2 + j ) ros_A(1)= 1.0_dp ros_A(2)= 1.0_dp ros_A(3)= 0.0_dp ros_C(1) = -0.10156171083877702091975600115545E+01_dp ros_C(2) = 0.40759956452537699824805835358067E+01_dp ros_C(3) = 0.92076794298330791242156818474003E+01_dp !~~~> Does the stage i require a new function evaluation (ros_NewF(i)=TRUE) ! or does it re-use the function evaluation from stage i-1 (ros_NewF(i)=FALSE) ros_NewF(1) = .TRUE. ros_NewF(2) = .TRUE. ros_NewF(3) = .FALSE. !~~~> M_i = Coefficients for new step solution ros_M(1) = 0.1E+01_dp ros_M(2) = 0.61697947043828245592553615689730E+01_dp ros_M(3) = -0.42772256543218573326238373806514_dp ! E_i = Coefficients for error estimator ros_E(1) = 0.5_dp ros_E(2) = -0.29079558716805469821718236208017E+01_dp ros_E(3) = 0.22354069897811569627360909276199_dp !~~~> ros_ELO = estimator of local order - the minimum between the ! main and the embedded scheme orders plus 1 ros_ELO = 3.0_dp !~~~> Y_stage_i ~ Y( T + H*Alpha_i ) ros_Alpha(1)= 0.0_dp ros_Alpha(2)= 0.43586652150845899941601945119356_dp ros_Alpha(3)= 0.43586652150845899941601945119356_dp !~~~> Gamma_i = \sum_j gamma_{i,j} ros_Gamma(1)= 0.43586652150845899941601945119356_dp ros_Gamma(2)= 0.24291996454816804366592249683314_dp ros_Gamma(3)= 0.21851380027664058511513169485832E+01_dp END SUBROUTINE Ros3 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Ros4 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! L-STABLE ROSENBROCK METHOD OF ORDER 4, WITH 4 STAGES ! L-STABLE EMBEDDED ROSENBROCK METHOD OF ORDER 3 ! ! E. HAIRER AND G. WANNER, SOLVING ORDINARY DIFFERENTIAL ! EQUATIONS II. STIFF AND DIFFERENTIAL-ALGEBRAIC PROBLEMS. ! SPRINGER SERIES IN COMPUTATIONAL MATHEMATICS, ! SPRINGER-VERLAG (1990) !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ IMPLICIT NONE rosMethod = RS4 !~~~> Name of the method ros_Name = 'ROS-4' !~~~> Number of stages ros_S = 4 !~~~> The coefficient matrices A and C are strictly lower triangular. ! The lower triangular (subdiagonal) elements are stored in row-wise order: ! A(2,1) = ros_A(1), A(3,1)=ros_A(2), A(3,2)=ros_A(3), etc. ! The general mapping formula is: ! A(i,j) = ros_A( (i-1)*(i-2)/2 + j ) ! C(i,j) = ros_C( (i-1)*(i-2)/2 + j ) ros_A(1) = 0.2000000000000000E+01_dp ros_A(2) = 0.1867943637803922E+01_dp ros_A(3) = 0.2344449711399156_dp ros_A(4) = ros_A(2) ros_A(5) = ros_A(3) ros_A(6) = 0.0_dp ros_C(1) =-0.7137615036412310E+01_dp ros_C(2) = 0.2580708087951457E+01_dp ros_C(3) = 0.6515950076447975_dp ros_C(4) =-0.2137148994382534E+01_dp ros_C(5) =-0.3214669691237626_dp ros_C(6) =-0.6949742501781779_dp !~~~> Does the stage i require a new function evaluation (ros_NewF(i)=TRUE) ! or does it re-use the function evaluation from stage i-1 (ros_NewF(i)=FALSE) ros_NewF(1) = .TRUE. ros_NewF(2) = .TRUE. ros_NewF(3) = .TRUE. ros_NewF(4) = .FALSE. !~~~> M_i = Coefficients for new step solution ros_M(1) = 0.2255570073418735E+01_dp ros_M(2) = 0.2870493262186792_dp ros_M(3) = 0.4353179431840180_dp ros_M(4) = 0.1093502252409163E+01_dp !~~~> E_i = Coefficients for error estimator ros_E(1) =-0.2815431932141155_dp ros_E(2) =-0.7276199124938920E-01_dp ros_E(3) =-0.1082196201495311_dp ros_E(4) =-0.1093502252409163E+01_dp !~~~> ros_ELO = estimator of local order - the minimum between the ! main and the embedded scheme orders plus 1 ros_ELO = 4.0_dp !~~~> Y_stage_i ~ Y( T + H*Alpha_i ) ros_Alpha(1) = 0.0_dp ros_Alpha(2) = 0.1145640000000000E+01_dp ros_Alpha(3) = 0.6552168638155900_dp ros_Alpha(4) = ros_Alpha(3) !~~~> Gamma_i = \sum_j gamma_{i,j} ros_Gamma(1) = 0.5728200000000000_dp ros_Gamma(2) =-0.1769193891319233E+01_dp ros_Gamma(3) = 0.7592633437920482_dp ros_Gamma(4) =-0.1049021087100450_dp END SUBROUTINE Ros4 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Rodas3 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! --- A STIFFLY-STABLE METHOD, 4 stages, order 3 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ IMPLICIT NONE rosMethod = RD3 !~~~> Name of the method ros_Name = 'RODAS-3' !~~~> Number of stages ros_S = 4 !~~~> The coefficient matrices A and C are strictly lower triangular. ! The lower triangular (subdiagonal) elements are stored in row-wise order: ! A(2,1) = ros_A(1), A(3,1)=ros_A(2), A(3,2)=ros_A(3), etc. ! The general mapping formula is: ! A(i,j) = ros_A( (i-1)*(i-2)/2 + j ) ! C(i,j) = ros_C( (i-1)*(i-2)/2 + j ) ros_A(1) = 0.0_dp ros_A(2) = 2.0_dp ros_A(3) = 0.0_dp ros_A(4) = 2.0_dp ros_A(5) = 0.0_dp ros_A(6) = 1.0_dp ros_C(1) = 4.0_dp ros_C(2) = 1.0_dp ros_C(3) =-1.0_dp ros_C(4) = 1.0_dp ros_C(5) =-1.0_dp ros_C(6) =-(8.0_dp/3.0_dp) !~~~> Does the stage i require a new function evaluation (ros_NewF(i)=TRUE) ! or does it re-use the function evaluation from stage i-1 (ros_NewF(i)=FALSE) ros_NewF(1) = .TRUE. ros_NewF(2) = .FALSE. ros_NewF(3) = .TRUE. ros_NewF(4) = .TRUE. !~~~> M_i = Coefficients for new step solution ros_M(1) = 2.0_dp ros_M(2) = 0.0_dp ros_M(3) = 1.0_dp ros_M(4) = 1.0_dp !~~~> E_i = Coefficients for error estimator ros_E(1) = 0.0_dp ros_E(2) = 0.0_dp ros_E(3) = 0.0_dp ros_E(4) = 1.0_dp !~~~> ros_ELO = estimator of local order - the minimum between the ! main and the embedded scheme orders plus 1 ros_ELO = 3.0_dp !~~~> Y_stage_i ~ Y( T + H*Alpha_i ) ros_Alpha(1) = 0.0_dp ros_Alpha(2) = 0.0_dp ros_Alpha(3) = 1.0_dp ros_Alpha(4) = 1.0_dp !~~~> Gamma_i = \sum_j gamma_{i,j} ros_Gamma(1) = 0.5_dp ros_Gamma(2) = 1.5_dp ros_Gamma(3) = 0.0_dp ros_Gamma(4) = 0.0_dp END SUBROUTINE Rodas3 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Rodas4 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! STIFFLY-STABLE ROSENBROCK METHOD OF ORDER 4, WITH 6 STAGES ! ! E. HAIRER AND G. WANNER, SOLVING ORDINARY DIFFERENTIAL ! EQUATIONS II. STIFF AND DIFFERENTIAL-ALGEBRAIC PROBLEMS. ! SPRINGER SERIES IN COMPUTATIONAL MATHEMATICS, ! SPRINGER-VERLAG (1996) !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ IMPLICIT NONE rosMethod = RD4 !~~~> Name of the method ros_Name = 'RODAS-4' !~~~> Number of stages ros_S = 6 !~~~> Y_stage_i ~ Y( T + H*Alpha_i ) ros_Alpha(1) = 0.000_dp ros_Alpha(2) = 0.386_dp ros_Alpha(3) = 0.210_dp ros_Alpha(4) = 0.630_dp ros_Alpha(5) = 1.000_dp ros_Alpha(6) = 1.000_dp !~~~> Gamma_i = \sum_j gamma_{i,j} ros_Gamma(1) = 0.2500000000000000_dp ros_Gamma(2) =-0.1043000000000000_dp ros_Gamma(3) = 0.1035000000000000_dp ros_Gamma(4) =-0.3620000000000023E-01_dp ros_Gamma(5) = 0.0_dp ros_Gamma(6) = 0.0_dp !~~~> The coefficient matrices A and C are strictly lower triangular. ! The lower triangular (subdiagonal) elements are stored in row-wise order: ! A(2,1) = ros_A(1), A(3,1)=ros_A(2), A(3,2)=ros_A(3), etc. ! The general mapping formula is: A(i,j) = ros_A( (i-1)*(i-2)/2 + j ) ! C(i,j) = ros_C( (i-1)*(i-2)/2 + j ) ros_A(1) = 0.1544000000000000E+01_dp ros_A(2) = 0.9466785280815826_dp ros_A(3) = 0.2557011698983284_dp ros_A(4) = 0.3314825187068521E+01_dp ros_A(5) = 0.2896124015972201E+01_dp ros_A(6) = 0.9986419139977817_dp ros_A(7) = 0.1221224509226641E+01_dp ros_A(8) = 0.6019134481288629E+01_dp ros_A(9) = 0.1253708332932087E+02_dp ros_A(10) =-0.6878860361058950_dp ros_A(11) = ros_A(7) ros_A(12) = ros_A(8) ros_A(13) = ros_A(9) ros_A(14) = ros_A(10) ros_A(15) = 1.0_dp ros_C(1) =-0.5668800000000000E+01_dp ros_C(2) =-0.2430093356833875E+01_dp ros_C(3) =-0.2063599157091915_dp ros_C(4) =-0.1073529058151375_dp ros_C(5) =-0.9594562251023355E+01_dp ros_C(6) =-0.2047028614809616E+02_dp ros_C(7) = 0.7496443313967647E+01_dp ros_C(8) =-0.1024680431464352E+02_dp ros_C(9) =-0.3399990352819905E+02_dp ros_C(10) = 0.1170890893206160E+02_dp ros_C(11) = 0.8083246795921522E+01_dp ros_C(12) =-0.7981132988064893E+01_dp ros_C(13) =-0.3152159432874371E+02_dp ros_C(14) = 0.1631930543123136E+02_dp ros_C(15) =-0.6058818238834054E+01_dp !~~~> M_i = Coefficients for new step solution ros_M(1) = ros_A(7) ros_M(2) = ros_A(8) ros_M(3) = ros_A(9) ros_M(4) = ros_A(10) ros_M(5) = 1.0_dp ros_M(6) = 1.0_dp !~~~> E_i = Coefficients for error estimator ros_E(1) = 0.0_dp ros_E(2) = 0.0_dp ros_E(3) = 0.0_dp ros_E(4) = 0.0_dp ros_E(5) = 0.0_dp ros_E(6) = 1.0_dp !~~~> Does the stage i require a new function evaluation (ros_NewF(i)=TRUE) ! or does it re-use the function evaluation from stage i-1 (ros_NewF(i)=FALSE) ros_NewF(1) = .TRUE. ros_NewF(2) = .TRUE. ros_NewF(3) = .TRUE. ros_NewF(4) = .TRUE. ros_NewF(5) = .TRUE. ros_NewF(6) = .TRUE. !~~~> ros_ELO = estimator of local order - the minimum between the ! main and the embedded scheme orders plus 1 ros_ELO = 4.0_dp END SUBROUTINE Rodas4 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Rang3 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! STIFFLY-STABLE W METHOD OF ORDER 3, WITH 4 STAGES ! ! J. RANG and L. ANGERMANN ! NEW ROSENBROCK W-METHODS OF ORDER 3 ! FOR PARTIAL DIFFERENTIAL ALGEBRAIC ! EQUATIONS OF INDEX 1 ! BIT Numerical Mathematics (2005) 45: 761-787 ! DOI: 10.1007/s10543-005-0035-y ! Table 4.1-4.2 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ IMPLICIT NONE rosMethod = RG3 !~~~> Name of the method ros_Name = 'RANG-3' !~~~> Number of stages ros_S = 4 ros_A(1) = 5.09052051067020d+00; ros_A(2) = 5.09052051067020d+00; ros_A(3) = 0.0d0; ros_A(4) = 4.97628111010787d+00; ros_A(5) = 2.77268164715849d-02; ros_A(6) = 2.29428036027904d-01; ros_C(1) = -1.16790812312283d+01; ros_C(2) = -1.64057326467367d+01; ros_C(3) = -2.77268164715850d-01; ros_C(4) = -8.38103960500476d+00; ros_C(5) = -8.48328409199343d-01; ros_C(6) = 2.87009860433106d-01; ros_M(1) = 5.22582761233094d+00; ros_M(2) = -5.56971148154165d-01; ros_M(3) = 3.57979469353645d-01; ros_M(4) = 1.72337398521064d+00; ros_E(1) = -5.16845212784040d+00; ros_E(2) = -1.26351942603842d+00; ros_E(3) = -1.11022302462516d-16; ros_E(4) = 2.22044604925031d-16; ros_Alpha(1) = 0.0d00; ros_Alpha(2) = 2.21878746765329d+00; ros_Alpha(3) = 2.21878746765329d+00; ros_Alpha(4) = 1.55392337535788d+00; ros_Gamma(1) = 4.35866521508459d-01; ros_Gamma(2) = -1.78292094614483d+00; ros_Gamma(3) = -2.46541900496934d+00; ros_Gamma(4) = -8.05529997906370d-01; !~~~> Does the stage i require a new function evaluation (ros_NewF(i)=TRUE) ! or does it re-use the function evaluation from stage i-1 (ros_NewF(i)=FALSE) ros_NewF(1) = .TRUE. ros_NewF(2) = .TRUE. ros_NewF(3) = .TRUE. ros_NewF(4) = .TRUE. !~~~> ros_ELO = estimator of local order - the minimum between the ! main and the embedded scheme orders plus 1 ros_ELO = 3.0_dp END SUBROUTINE Rang3 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! End of the set of internal Rosenbrock subroutines !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ END SUBROUTINE Rosenbrock !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE FunTemplate( T, Y, Ydot, P_VAR, D_VAR ) !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Template for the ODE function call. ! Updates the rate coefficients (and possibly the fixed species) at each call !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ USE gckpp_Parameters, ONLY : NVAR, LU_NONZERO USE gckpp_Global, ONLY : FIX, RCONST, TIME USE gckpp_Function, ONLY : Fun, Fun_SPLIT USE gckpp_Rates, ONLY : Update_SUN, Update_RCONST !~~~> Input variables REAL(kind=dp) :: T, Y(NVAR) !~~~> Output variables REAL(kind=dp) :: Ydot(NVAR) REAL(kind=dp), OPTIONAL :: P_VAR(NVAR), D_VAR(NVAR) !~~~> Local variables REAL(kind=dp) :: Told, P(NVAR), D(NVAR) Told = TIME TIME = T IF ( Do_Update_SUN ) CALL Update_SUN() IF ( Do_Update_RCONST ) CALL Update_RCONST(Y) CALL FUN( Y, FIX, RCONST, Ydot ) TIME = Told IF (Present(P_VAR)) P_VAR=P IF (Present(D_VAR)) D_VAR=D END SUBROUTINE FunTemplate !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE JacTemplate( T, Y, Jcb ) !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Template for the ODE Jacobian call. ! Updates the rate coefficients (and possibly the fixed species) at each call !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ USE gckpp_Parameters, ONLY : NVAR, LU_NONZERO USE gckpp_Global, ONLY : FIX, RCONST, TIME USE gckpp_Jacobian, ONLY : Jac_SP, LU_IROW, LU_ICOL USE gckpp_LinearAlgebra USE gckpp_Rates, ONLY : Update_SUN, Update_RCONST !~~~> Input variables REAL(kind=dp) :: T, Y(NVAR) !~~~> Output variables #ifdef FULL_ALGEBRA REAL(kind=dp) :: JV(LU_NONZERO), Jcb(NVAR,NVAR) #else REAL(kind=dp) :: Jcb(LU_NONZERO) #endif !~~~> Local variables REAL(kind=dp) :: Told #ifdef FULL_ALGEBRA INTEGER :: i, j #endif Told = TIME TIME = T IF ( Do_Update_SUN ) CALL Update_SUN() IF ( Do_Update_RCONST ) CALL Update_RCONST(Y) #ifdef FULL_ALGEBRA CALL Jac_SP(Y, FIX, RCONST, JV) DO j=1,NVAR DO i=1,NVAR Jcb(i,j) = 0.0_dp END DO END DO DO i=1,LU_NONZERO Jcb(LU_IROW(i),LU_ICOL(i)) = JV(i) END DO #else CALL Jac_SP( Y, FIX, RCONST, Jcb ) #endif TIME = Told END SUBROUTINE JacTemplate END MODULE gckpp_Integrator ! End of INTEGRATE function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ================================================ FILE: KPP/Hg/gckpp_Jacobian.F90 ================================================ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! The ODE Jacobian of Chemical Model File ! ! Generated by KPP-3.2.0 symbolic chemistry Kinetics PreProcessor ! (https:/github.com/KineticPreProcessor/KPP ! KPP is distributed under GPL, the general public licence ! (http://www.gnu.org/copyleft/gpl.html) ! (C) 1995-1997, V. Damian & A. Sandu, CGRER, Univ. Iowa ! (C) 1997-2022, A. Sandu, Michigan Tech, Virginia Tech ! With important contributions from: ! M. Damian, Villanova University, Philadelphia, PA, USA ! R. Sander, Max-Planck Institute for Chemistry, Mainz, Germany ! M. Long, Renaissance Fiber, LLC, North Carolina, USA ! H. Lin, Harvard University, Cambridge, MA, USA ! R. Yantosca, Harvard University, Cambridge, MA, USA ! ! File : gckpp_Jacobian.F90 ! Equation file : gckpp.kpp ! Output root filename : gckpp ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MODULE gckpp_Jacobian USE gckpp_Parameters USE gckpp_JacobianSP IMPLICIT NONE CONTAINS ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Jac_SP - the Jacobian of Variables in sparse matrix representation ! Arguments : ! V - Concentrations of variable species (local) ! F - Concentrations of fixed species (local) ! RCT - Rate constants (local) ! JVS - sparse Jacobian of variables ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Jac_SP ( V, F, RCT, JVS ) ! V - Concentrations of variable species (local) REAL(kind=dp) :: V(NVAR) ! F - Concentrations of fixed species (local) REAL(kind=dp) :: F(NFIX) ! RCT - Rate constants (local) REAL(kind=dp) :: RCT(NREACT) ! JVS - sparse Jacobian of variables REAL(kind=dp) :: JVS(LU_NONZERO) ! Local variables ! B - Temporary array REAL(kind=dp) :: B(128) ! B(1) = dA(1)/dV(30) B(1) = RCT(1)*F(1) ! B(3) = dA(2)/dV(32) B(3) = RCT(2) ! B(4) = dA(3)/dV(32) B(4) = RCT(3)*F(1) ! B(6) = dA(4)/dV(32) B(6) = RCT(4)*F(4) ! B(8) = dA(5)/dV(32) B(8) = RCT(5)*F(4) ! B(10) = dA(6)/dV(32) B(10) = RCT(6)*F(7) ! B(12) = dA(7)/dV(32) B(12) = RCT(7)*F(9) ! B(14) = dA(8)/dV(32) B(14) = RCT(8)*F(8) ! B(16) = dA(9)/dV(32) B(16) = RCT(9)*F(3) ! B(18) = dA(10)/dV(32) B(18) = RCT(10)*F(1) ! B(20) = dA(11)/dV(22) B(20) = RCT(11)*F(11) ! B(22) = dA(12)/dV(22) B(22) = RCT(12)*F(10) ! B(24) = dA(13)/dV(32) B(24) = RCT(13)*F(6) ! B(26) = dA(14)/dV(30) B(26) = RCT(14)*F(2) ! B(28) = dA(15)/dV(27) B(28) = RCT(15)*F(2) ! B(30) = dA(16)/dV(27) B(30) = RCT(16)*F(4) ! B(32) = dA(17)/dV(27) B(32) = RCT(17)*F(4) ! B(34) = dA(18)/dV(27) B(34) = RCT(18)*F(7) ! B(36) = dA(19)/dV(27) B(36) = RCT(19)*F(9) ! B(38) = dA(20)/dV(27) B(38) = RCT(20)*F(8) ! B(40) = dA(21)/dV(27) B(40) = RCT(21)*F(1) ! B(42) = dA(22)/dV(27) B(42) = RCT(22)*F(3) ! B(44) = dA(23)/dV(27) B(44) = RCT(23)*F(6) ! B(46) = dA(24)/dV(24) B(46) = RCT(24)*F(11) ! B(48) = dA(25)/dV(24) B(48) = RCT(25)*F(10) ! B(50) = dA(26)/dV(30) B(50) = RCT(26)*F(3) ! B(52) = dA(27)/dV(29) B(52) = RCT(27) ! B(53) = dA(28)/dV(29) B(53) = RCT(28)*F(4) ! B(55) = dA(29)/dV(29) B(55) = RCT(29)*F(7) ! B(57) = dA(30)/dV(29) B(57) = RCT(30)*F(9) ! B(59) = dA(31)/dV(29) B(59) = RCT(31)*F(8) ! B(61) = dA(32)/dV(29) B(61) = RCT(32)*F(1) ! B(63) = dA(33)/dV(29) B(63) = RCT(33)*F(3) ! B(65) = dA(34)/dV(29) B(65) = RCT(34)*F(6) ! B(67) = dA(35)/dV(19) B(67) = RCT(35)*F(11) ! B(69) = dA(36)/dV(19) B(69) = RCT(36)*F(10) ! B(71) = dA(37)/dV(16) B(71) = RCT(37) ! B(72) = dA(38)/dV(23) B(72) = RCT(38) ! B(73) = dA(39)/dV(31) B(73) = RCT(39) ! B(74) = dA(40)/dV(14) B(74) = RCT(40) ! B(75) = dA(41)/dV(13) B(75) = RCT(41) ! B(76) = dA(42)/dV(18) B(76) = RCT(42) ! B(77) = dA(43)/dV(17) B(77) = RCT(43) ! B(78) = dA(44)/dV(25) B(78) = RCT(44) ! B(79) = dA(45)/dV(26) B(79) = RCT(45) ! B(80) = dA(46)/dV(9) B(80) = RCT(46) ! B(81) = dA(47)/dV(8) B(81) = RCT(47) ! B(82) = dA(48)/dV(10) B(82) = RCT(48) ! B(83) = dA(49)/dV(1) B(83) = RCT(49) ! B(84) = dA(50)/dV(15) B(84) = RCT(50) ! B(85) = dA(51)/dV(21) B(85) = RCT(51) ! B(86) = dA(52)/dV(20) B(86) = RCT(52) ! B(87) = dA(53)/dV(12) B(87) = RCT(53) ! B(88) = dA(54)/dV(11) B(88) = RCT(54) ! B(89) = dA(55)/dV(16) B(89) = RCT(55) ! B(90) = dA(56)/dV(23) B(90) = RCT(56) ! B(91) = dA(57)/dV(31) B(91) = RCT(57) ! B(92) = dA(58)/dV(14) B(92) = RCT(58) ! B(93) = dA(59)/dV(13) B(93) = RCT(59) ! B(94) = dA(60)/dV(18) B(94) = RCT(60) ! B(95) = dA(61)/dV(17) B(95) = RCT(61) ! B(96) = dA(62)/dV(25) B(96) = RCT(62) ! B(97) = dA(63)/dV(26) B(97) = RCT(63) ! B(98) = dA(64)/dV(9) B(98) = RCT(64) ! B(99) = dA(65)/dV(8) B(99) = RCT(65) ! B(100) = dA(66)/dV(10) B(100) = RCT(66) ! B(101) = dA(67)/dV(15) B(101) = RCT(67) ! B(102) = dA(68)/dV(21) B(102) = RCT(68) ! B(103) = dA(69)/dV(20) B(103) = RCT(69) ! B(104) = dA(70)/dV(12) B(104) = RCT(70) ! B(105) = dA(71)/dV(11) B(105) = RCT(71) ! B(109) = dA(75)/dV(32) B(109) = RCT(75) ! B(110) = dA(76)/dV(16) B(110) = RCT(76) ! B(111) = dA(77)/dV(23) B(111) = RCT(77) ! B(112) = dA(78)/dV(31) B(112) = RCT(78) ! B(113) = dA(79)/dV(18) B(113) = RCT(79) ! B(114) = dA(80)/dV(14) B(114) = RCT(80) ! B(115) = dA(81)/dV(13) B(115) = RCT(81) ! B(116) = dA(82)/dV(17) B(116) = RCT(82) ! B(117) = dA(83)/dV(25) B(117) = RCT(83) ! B(118) = dA(84)/dV(26) B(118) = RCT(84) ! B(119) = dA(85)/dV(10) B(119) = RCT(85) ! B(120) = dA(86)/dV(9) B(120) = RCT(86) ! B(121) = dA(87)/dV(8) B(121) = RCT(87) ! B(122) = dA(88)/dV(29) B(122) = RCT(88) ! B(123) = dA(89)/dV(15) B(123) = RCT(89) ! B(124) = dA(90)/dV(21) B(124) = RCT(90) ! B(125) = dA(91)/dV(20) B(125) = RCT(91) ! B(126) = dA(92)/dV(12) B(126) = RCT(92) ! B(127) = dA(93)/dV(11) B(127) = RCT(93) ! B(128) = dA(94)/dV(28) B(128) = RCT(94) ! Construct the Jacobian terms from B's ! JVS(1) = Jac_FULL(1,1) JVS(1) = -B(83) ! JVS(2) = Jac_FULL(2,2) JVS(2) = 0 ! JVS(3) = Jac_FULL(2,8) JVS(3) = B(99) ! JVS(4) = Jac_FULL(2,9) JVS(4) = B(98) ! JVS(5) = Jac_FULL(2,10) JVS(5) = B(100) ! JVS(6) = Jac_FULL(2,11) JVS(6) = B(105) ! JVS(7) = Jac_FULL(2,12) JVS(7) = B(104) ! JVS(8) = Jac_FULL(2,13) JVS(8) = B(93) ! JVS(9) = Jac_FULL(2,14) JVS(9) = B(92) ! JVS(10) = Jac_FULL(2,15) JVS(10) = B(101) ! JVS(11) = Jac_FULL(2,16) JVS(11) = B(89) ! JVS(12) = Jac_FULL(2,17) JVS(12) = B(95) ! JVS(13) = Jac_FULL(2,18) JVS(13) = B(94) ! JVS(14) = Jac_FULL(2,20) JVS(14) = B(103) ! JVS(15) = Jac_FULL(2,21) JVS(15) = B(102) ! JVS(16) = Jac_FULL(2,23) JVS(16) = B(90) ! JVS(17) = Jac_FULL(2,25) JVS(17) = B(96) ! JVS(18) = Jac_FULL(2,26) JVS(18) = B(97) ! JVS(19) = Jac_FULL(2,31) JVS(19) = B(91) ! JVS(20) = Jac_FULL(3,3) JVS(20) = 0 ! JVS(21) = Jac_FULL(3,30) JVS(21) = B(1)+B(26)+B(50) ! JVS(22) = Jac_FULL(4,4) JVS(22) = 0 ! JVS(23) = Jac_FULL(4,13) JVS(23) = B(115) ! JVS(24) = Jac_FULL(4,14) JVS(24) = B(114) ! JVS(25) = Jac_FULL(4,18) JVS(25) = 0.4*B(113) ! JVS(26) = Jac_FULL(4,20) JVS(26) = B(125) ! JVS(27) = Jac_FULL(4,21) JVS(27) = 0.67*B(124) ! JVS(28) = Jac_FULL(4,23) JVS(28) = 0.67*B(111) ! JVS(29) = Jac_FULL(4,25) JVS(29) = 0.67*B(117) ! JVS(30) = Jac_FULL(4,26) JVS(30) = 0.49*B(118) ! JVS(31) = Jac_FULL(4,27) JVS(31) = B(28)+B(30) ! JVS(32) = Jac_FULL(4,28) JVS(32) = B(128) ! JVS(33) = Jac_FULL(4,29) JVS(33) = B(52)+B(122) ! JVS(34) = Jac_FULL(4,31) JVS(34) = 0.49*B(112) ! JVS(35) = Jac_FULL(4,32) JVS(35) = B(3)+B(4)+B(6)+B(109) ! JVS(36) = Jac_FULL(5,5) JVS(36) = 0 ! JVS(37) = Jac_FULL(5,29) JVS(37) = B(61) ! JVS(38) = Jac_FULL(5,30) JVS(38) = B(1) ! JVS(39) = Jac_FULL(6,6) JVS(39) = 0 ! JVS(40) = Jac_FULL(6,26) JVS(40) = 0.35*B(118) ! JVS(41) = Jac_FULL(6,30) JVS(41) = B(50) ! JVS(42) = Jac_FULL(6,31) JVS(42) = 0.35*B(112) ! JVS(43) = Jac_FULL(7,7) JVS(43) = 0 ! JVS(44) = Jac_FULL(7,30) JVS(44) = B(26) ! JVS(45) = Jac_FULL(8,8) JVS(45) = -B(81)-B(99)-B(121) ! JVS(46) = Jac_FULL(8,27) JVS(46) = B(36) ! JVS(47) = Jac_FULL(9,9) JVS(47) = -B(80)-B(98)-B(120) ! JVS(48) = Jac_FULL(9,27) JVS(48) = B(38) ! JVS(49) = Jac_FULL(10,10) JVS(49) = -B(82)-B(100)-B(119) ! JVS(50) = Jac_FULL(10,27) JVS(50) = B(40) ! JVS(51) = Jac_FULL(11,11) JVS(51) = -B(88)-B(105)-B(127) ! JVS(52) = Jac_FULL(11,29) JVS(52) = B(57) ! JVS(53) = Jac_FULL(12,12) JVS(53) = -B(87)-B(104)-B(126) ! JVS(54) = Jac_FULL(12,29) JVS(54) = B(59) ! JVS(55) = Jac_FULL(13,13) JVS(55) = -B(75)-B(93)-B(115) ! JVS(56) = Jac_FULL(13,32) JVS(56) = B(12) ! JVS(57) = Jac_FULL(14,14) JVS(57) = -B(74)-B(92)-B(114) ! JVS(58) = Jac_FULL(14,32) JVS(58) = B(14) ! JVS(59) = Jac_FULL(15,15) JVS(59) = -B(84)-B(101)-B(123) ! JVS(60) = Jac_FULL(15,29) JVS(60) = B(53) ! JVS(61) = Jac_FULL(16,16) JVS(61) = -B(71)-B(89)-B(110) ! JVS(62) = Jac_FULL(16,32) JVS(62) = B(8) ! JVS(63) = Jac_FULL(17,17) JVS(63) = -B(77)-B(95)-B(116) ! JVS(64) = Jac_FULL(17,27) JVS(64) = B(32) ! JVS(65) = Jac_FULL(18,18) JVS(65) = -B(76)-B(94)-B(113) ! JVS(66) = Jac_FULL(18,32) JVS(66) = B(18) ! JVS(67) = Jac_FULL(19,15) JVS(67) = 0.9*B(123) ! JVS(68) = Jac_FULL(19,19) JVS(68) = -B(67)-B(69) ! JVS(69) = Jac_FULL(19,21) JVS(69) = 0.25*B(124) ! JVS(70) = Jac_FULL(19,29) JVS(70) = B(65) ! JVS(71) = Jac_FULL(20,19) JVS(71) = B(67) ! JVS(72) = Jac_FULL(20,20) JVS(72) = -B(86)-B(103)-B(125) ! JVS(73) = Jac_FULL(20,21) JVS(73) = 0.01*B(124) ! JVS(74) = Jac_FULL(20,29) JVS(74) = B(63) ! JVS(75) = Jac_FULL(21,21) JVS(75) = -B(85)-B(102)-B(124) ! JVS(76) = Jac_FULL(21,29) JVS(76) = B(55) ! JVS(77) = Jac_FULL(22,16) JVS(77) = 0.9*B(110) ! JVS(78) = Jac_FULL(22,22) JVS(78) = -B(20)-B(22) ! JVS(79) = Jac_FULL(22,23) JVS(79) = 0.25*B(111) ! JVS(80) = Jac_FULL(22,32) JVS(80) = B(24) ! JVS(81) = Jac_FULL(23,23) JVS(81) = -B(72)-B(90)-B(111) ! JVS(82) = Jac_FULL(23,32) JVS(82) = B(10) ! JVS(83) = Jac_FULL(24,17) JVS(83) = 0.9*B(116) ! JVS(84) = Jac_FULL(24,24) JVS(84) = -B(46)-B(48) ! JVS(85) = Jac_FULL(24,25) JVS(85) = 0.25*B(117) ! JVS(86) = Jac_FULL(24,27) JVS(86) = B(44) ! JVS(87) = Jac_FULL(25,25) JVS(87) = -B(78)-B(96)-B(117) ! JVS(88) = Jac_FULL(25,27) JVS(88) = B(34) ! JVS(89) = Jac_FULL(26,24) JVS(89) = B(46) ! JVS(90) = Jac_FULL(26,25) JVS(90) = 0.01*B(117) ! JVS(91) = Jac_FULL(26,26) JVS(91) = -B(79)-B(97)-0.99*B(118) ! JVS(92) = Jac_FULL(26,27) JVS(92) = B(42) ! JVS(93) = Jac_FULL(27,8) JVS(93) = B(121) ! JVS(94) = Jac_FULL(27,9) JVS(94) = B(120) ! JVS(95) = Jac_FULL(27,10) JVS(95) = B(119) ! JVS(96) = Jac_FULL(27,17) JVS(96) = 0.1*B(116) ! JVS(97) = Jac_FULL(27,24) JVS(97) = B(48) ! JVS(98) = Jac_FULL(27,25) JVS(98) = 0.07*B(117) ! JVS(99) = Jac_FULL(27,26) JVS(99) = 0.15*B(118) ! JVS(100) = Jac_FULL(27,27) JVS(100) = -B(28)-B(30)-B(32)-B(34)-B(36)-B(38)-B(40)-B(42)-B(44) ! JVS(101) = Jac_FULL(27,30) JVS(101) = B(26) ! JVS(102) = Jac_FULL(28,1) JVS(102) = B(83) ! JVS(103) = Jac_FULL(28,8) JVS(103) = B(81) ! JVS(104) = Jac_FULL(28,9) JVS(104) = B(80) ! JVS(105) = Jac_FULL(28,10) JVS(105) = B(82) ! JVS(106) = Jac_FULL(28,11) JVS(106) = B(88) ! JVS(107) = Jac_FULL(28,12) JVS(107) = B(87) ! JVS(108) = Jac_FULL(28,13) JVS(108) = B(75) ! JVS(109) = Jac_FULL(28,14) JVS(109) = B(74) ! JVS(110) = Jac_FULL(28,15) JVS(110) = B(84) ! JVS(111) = Jac_FULL(28,16) JVS(111) = B(71) ! JVS(112) = Jac_FULL(28,17) JVS(112) = B(77) ! JVS(113) = Jac_FULL(28,18) JVS(113) = B(76) ! JVS(114) = Jac_FULL(28,20) JVS(114) = B(86) ! JVS(115) = Jac_FULL(28,21) JVS(115) = B(85) ! JVS(116) = Jac_FULL(28,23) JVS(116) = B(72) ! JVS(117) = Jac_FULL(28,25) JVS(117) = B(78) ! JVS(118) = Jac_FULL(28,26) JVS(118) = B(79) ! JVS(119) = Jac_FULL(28,27) JVS(119) = 0 ! JVS(120) = Jac_FULL(28,28) JVS(120) = -B(128) ! JVS(121) = Jac_FULL(28,29) JVS(121) = 0 ! JVS(122) = Jac_FULL(28,30) JVS(122) = 0 ! JVS(123) = Jac_FULL(28,31) JVS(123) = B(73) ! JVS(124) = Jac_FULL(28,32) JVS(124) = 0 ! JVS(125) = Jac_FULL(29,11) JVS(125) = B(127) ! JVS(126) = Jac_FULL(29,12) JVS(126) = B(126) ! JVS(127) = Jac_FULL(29,15) JVS(127) = 0.1*B(123) ! JVS(128) = Jac_FULL(29,19) JVS(128) = B(69) ! JVS(129) = Jac_FULL(29,21) JVS(129) = 0.07*B(124) ! JVS(130) = Jac_FULL(29,26) JVS(130) = 0.35*B(118) ! JVS(131) = Jac_FULL(29,27) JVS(131) = 0 ! JVS(132) = Jac_FULL(29,29) JVS(132) = -B(52)-B(53)-B(55)-B(57)-B(59)-B(61)-B(63)-B(65)-B(122) ! JVS(133) = Jac_FULL(29,30) JVS(133) = B(50) ! JVS(134) = Jac_FULL(29,31) JVS(134) = 0.35*B(112) ! JVS(135) = Jac_FULL(30,13) JVS(135) = B(115) ! JVS(136) = Jac_FULL(30,14) JVS(136) = B(114) ! JVS(137) = Jac_FULL(30,18) JVS(137) = 0.4*B(113) ! JVS(138) = Jac_FULL(30,20) JVS(138) = B(125) ! JVS(139) = Jac_FULL(30,21) JVS(139) = 0.67*B(124) ! JVS(140) = Jac_FULL(30,23) JVS(140) = 0.67*B(111) ! JVS(141) = Jac_FULL(30,25) JVS(141) = 0.67*B(117) ! JVS(142) = Jac_FULL(30,26) JVS(142) = 0.49*B(118) ! JVS(143) = Jac_FULL(30,27) JVS(143) = B(28)+B(30) ! JVS(144) = Jac_FULL(30,28) JVS(144) = B(128) ! JVS(145) = Jac_FULL(30,29) JVS(145) = B(52)+B(122) ! JVS(146) = Jac_FULL(30,30) JVS(146) = -B(1)-B(26)-B(50) ! JVS(147) = Jac_FULL(30,31) JVS(147) = 0.49*B(112) ! JVS(148) = Jac_FULL(30,32) JVS(148) = B(3)+B(4)+B(6)+B(109) ! JVS(149) = Jac_FULL(31,22) JVS(149) = B(20) ! JVS(150) = Jac_FULL(31,23) JVS(150) = 0.01*B(111) ! JVS(151) = Jac_FULL(31,29) JVS(151) = B(61) ! JVS(152) = Jac_FULL(31,30) JVS(152) = 0 ! JVS(153) = Jac_FULL(31,31) JVS(153) = -B(73)-B(91)-0.99*B(112) ! JVS(154) = Jac_FULL(31,32) JVS(154) = B(16) ! JVS(155) = Jac_FULL(32,16) JVS(155) = 0.1*B(110) ! JVS(156) = Jac_FULL(32,18) JVS(156) = 0.6*B(113) ! JVS(157) = Jac_FULL(32,22) JVS(157) = B(22) ! JVS(158) = Jac_FULL(32,23) JVS(158) = 0.07*B(111) ! JVS(159) = Jac_FULL(32,30) JVS(159) = B(1) ! JVS(160) = Jac_FULL(32,31) JVS(160) = 0.15*B(112) ! JVS(161) = Jac_FULL(32,32) JVS(161) = -B(3)-B(4)-B(6)-B(8)-B(10)-B(12)-B(14)-B(16)-B(18)-B(24)-B(109) END SUBROUTINE Jac_SP ! End of Jac_SP function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Jac_SP_Vec - function for sparse multiplication: sparse Jacobian times vector ! Arguments : ! JVS - sparse Jacobian of variables ! UV - User vector for variables ! JUV - Jacobian times user vector ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Jac_SP_Vec ( JVS, UV, JUV ) ! JVS - sparse Jacobian of variables REAL(kind=dp) :: JVS(LU_NONZERO) ! UV - User vector for variables REAL(kind=dp) :: UV(NVAR) ! JUV - Jacobian times user vector REAL(kind=dp) :: JUV(NVAR) JUV(1) = JVS(1)*UV(1) JUV(2) = JVS(2)*UV(2)+JVS(3)*UV(8)+JVS(4)*UV(9)+JVS(5)*UV(10)+JVS(6)*UV(11)+JVS(7)*UV(12)+JVS(8)*UV(13)+JVS(9)*UV(14)& &+JVS(10)*UV(15)+JVS(11)*UV(16)+JVS(12)*UV(17)+JVS(13)*UV(18)+JVS(14)*UV(20)+JVS(15)*UV(21)+JVS(16)*UV(23)& &+JVS(17)*UV(25)+JVS(18)*UV(26)+JVS(19)*UV(31) JUV(3) = JVS(20)*UV(3)+JVS(21)*UV(30) JUV(4) = JVS(22)*UV(4)+JVS(23)*UV(13)+JVS(24)*UV(14)+JVS(25)*UV(18)+JVS(26)*UV(20)+JVS(27)*UV(21)+JVS(28)*UV(23)& &+JVS(29)*UV(25)+JVS(30)*UV(26)+JVS(31)*UV(27)+JVS(32)*UV(28)+JVS(33)*UV(29)+JVS(34)*UV(31)+JVS(35)*UV(32) JUV(5) = JVS(36)*UV(5)+JVS(37)*UV(29)+JVS(38)*UV(30) JUV(6) = JVS(39)*UV(6)+JVS(40)*UV(26)+JVS(41)*UV(30)+JVS(42)*UV(31) JUV(7) = JVS(43)*UV(7)+JVS(44)*UV(30) JUV(8) = JVS(45)*UV(8)+JVS(46)*UV(27) JUV(9) = JVS(47)*UV(9)+JVS(48)*UV(27) JUV(10) = JVS(49)*UV(10)+JVS(50)*UV(27) JUV(11) = JVS(51)*UV(11)+JVS(52)*UV(29) JUV(12) = JVS(53)*UV(12)+JVS(54)*UV(29) JUV(13) = JVS(55)*UV(13)+JVS(56)*UV(32) JUV(14) = JVS(57)*UV(14)+JVS(58)*UV(32) JUV(15) = JVS(59)*UV(15)+JVS(60)*UV(29) JUV(16) = JVS(61)*UV(16)+JVS(62)*UV(32) JUV(17) = JVS(63)*UV(17)+JVS(64)*UV(27) JUV(18) = JVS(65)*UV(18)+JVS(66)*UV(32) JUV(19) = JVS(67)*UV(15)+JVS(68)*UV(19)+JVS(69)*UV(21)+JVS(70)*UV(29) JUV(20) = JVS(71)*UV(19)+JVS(72)*UV(20)+JVS(73)*UV(21)+JVS(74)*UV(29) JUV(21) = JVS(75)*UV(21)+JVS(76)*UV(29) JUV(22) = JVS(77)*UV(16)+JVS(78)*UV(22)+JVS(79)*UV(23)+JVS(80)*UV(32) JUV(23) = JVS(81)*UV(23)+JVS(82)*UV(32) JUV(24) = JVS(83)*UV(17)+JVS(84)*UV(24)+JVS(85)*UV(25)+JVS(86)*UV(27) JUV(25) = JVS(87)*UV(25)+JVS(88)*UV(27) JUV(26) = JVS(89)*UV(24)+JVS(90)*UV(25)+JVS(91)*UV(26)+JVS(92)*UV(27) JUV(27) = JVS(93)*UV(8)+JVS(94)*UV(9)+JVS(95)*UV(10)+JVS(96)*UV(17)+JVS(97)*UV(24)+JVS(98)*UV(25)+JVS(99)*UV(26)& &+JVS(100)*UV(27)+JVS(101)*UV(30) JUV(28) = JVS(102)*UV(1)+JVS(103)*UV(8)+JVS(104)*UV(9)+JVS(105)*UV(10)+JVS(106)*UV(11)+JVS(107)*UV(12)+JVS(108)*UV(13)& &+JVS(109)*UV(14)+JVS(110)*UV(15)+JVS(111)*UV(16)+JVS(112)*UV(17)+JVS(113)*UV(18)+JVS(114)*UV(20)+JVS(115)& &*UV(21)+JVS(116)*UV(23)+JVS(117)*UV(25)+JVS(118)*UV(26)+JVS(120)*UV(28)+JVS(123)*UV(31) JUV(29) = JVS(125)*UV(11)+JVS(126)*UV(12)+JVS(127)*UV(15)+JVS(128)*UV(19)+JVS(129)*UV(21)+JVS(130)*UV(26)+JVS(132)& &*UV(29)+JVS(133)*UV(30)+JVS(134)*UV(31) JUV(30) = JVS(135)*UV(13)+JVS(136)*UV(14)+JVS(137)*UV(18)+JVS(138)*UV(20)+JVS(139)*UV(21)+JVS(140)*UV(23)+JVS(141)& &*UV(25)+JVS(142)*UV(26)+JVS(143)*UV(27)+JVS(144)*UV(28)+JVS(145)*UV(29)+JVS(146)*UV(30)+JVS(147)*UV(31)& &+JVS(148)*UV(32) JUV(31) = JVS(149)*UV(22)+JVS(150)*UV(23)+JVS(151)*UV(29)+JVS(153)*UV(31)+JVS(154)*UV(32) JUV(32) = JVS(155)*UV(16)+JVS(156)*UV(18)+JVS(157)*UV(22)+JVS(158)*UV(23)+JVS(159)*UV(30)+JVS(160)*UV(31)+JVS(161)& &*UV(32) END SUBROUTINE Jac_SP_Vec ! End of Jac_SP_Vec function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! JacTR_SP_Vec - sparse multiplication: sparse Jacobian transposed times vector ! Arguments : ! JVS - sparse Jacobian of variables ! UV - User vector for variables ! JTUV - Jacobian transposed times user vector ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE JacTR_SP_Vec ( JVS, UV, JTUV ) ! JVS - sparse Jacobian of variables REAL(kind=dp) :: JVS(LU_NONZERO) ! UV - User vector for variables REAL(kind=dp) :: UV(NVAR) ! JTUV - Jacobian transposed times user vector REAL(kind=dp) :: JTUV(NVAR) JTUV(1) = JVS(1)*UV(1)+JVS(102)*UV(28) JTUV(2) = JVS(2)*UV(2) JTUV(3) = JVS(20)*UV(3) JTUV(4) = JVS(22)*UV(4) JTUV(5) = JVS(36)*UV(5) JTUV(6) = JVS(39)*UV(6) JTUV(7) = JVS(43)*UV(7) JTUV(8) = JVS(3)*UV(2)+JVS(45)*UV(8)+JVS(93)*UV(27)+JVS(103)*UV(28) JTUV(9) = JVS(4)*UV(2)+JVS(47)*UV(9)+JVS(94)*UV(27)+JVS(104)*UV(28) JTUV(10) = JVS(5)*UV(2)+JVS(49)*UV(10)+JVS(95)*UV(27)+JVS(105)*UV(28) JTUV(11) = JVS(6)*UV(2)+JVS(51)*UV(11)+JVS(106)*UV(28)+JVS(125)*UV(29) JTUV(12) = JVS(7)*UV(2)+JVS(53)*UV(12)+JVS(107)*UV(28)+JVS(126)*UV(29) JTUV(13) = JVS(8)*UV(2)+JVS(23)*UV(4)+JVS(55)*UV(13)+JVS(108)*UV(28)+JVS(135)*UV(30) JTUV(14) = JVS(9)*UV(2)+JVS(24)*UV(4)+JVS(57)*UV(14)+JVS(109)*UV(28)+JVS(136)*UV(30) JTUV(15) = JVS(10)*UV(2)+JVS(59)*UV(15)+JVS(67)*UV(19)+JVS(110)*UV(28)+JVS(127)*UV(29) JTUV(16) = JVS(11)*UV(2)+JVS(61)*UV(16)+JVS(77)*UV(22)+JVS(111)*UV(28)+JVS(155)*UV(32) JTUV(17) = JVS(12)*UV(2)+JVS(63)*UV(17)+JVS(83)*UV(24)+JVS(96)*UV(27)+JVS(112)*UV(28) JTUV(18) = JVS(13)*UV(2)+JVS(25)*UV(4)+JVS(65)*UV(18)+JVS(113)*UV(28)+JVS(137)*UV(30)+JVS(156)*UV(32) JTUV(19) = JVS(68)*UV(19)+JVS(71)*UV(20)+JVS(128)*UV(29) JTUV(20) = JVS(14)*UV(2)+JVS(26)*UV(4)+JVS(72)*UV(20)+JVS(114)*UV(28)+JVS(138)*UV(30) JTUV(21) = JVS(15)*UV(2)+JVS(27)*UV(4)+JVS(69)*UV(19)+JVS(73)*UV(20)+JVS(75)*UV(21)+JVS(115)*UV(28)+JVS(129)*UV(29)& &+JVS(139)*UV(30) JTUV(22) = JVS(78)*UV(22)+JVS(149)*UV(31)+JVS(157)*UV(32) JTUV(23) = JVS(16)*UV(2)+JVS(28)*UV(4)+JVS(79)*UV(22)+JVS(81)*UV(23)+JVS(116)*UV(28)+JVS(140)*UV(30)+JVS(150)*UV(31)& &+JVS(158)*UV(32) JTUV(24) = JVS(84)*UV(24)+JVS(89)*UV(26)+JVS(97)*UV(27) JTUV(25) = JVS(17)*UV(2)+JVS(29)*UV(4)+JVS(85)*UV(24)+JVS(87)*UV(25)+JVS(90)*UV(26)+JVS(98)*UV(27)+JVS(117)*UV(28)& &+JVS(141)*UV(30) JTUV(26) = JVS(18)*UV(2)+JVS(30)*UV(4)+JVS(40)*UV(6)+JVS(91)*UV(26)+JVS(99)*UV(27)+JVS(118)*UV(28)+JVS(130)*UV(29)& &+JVS(142)*UV(30) JTUV(27) = JVS(31)*UV(4)+JVS(46)*UV(8)+JVS(48)*UV(9)+JVS(50)*UV(10)+JVS(64)*UV(17)+JVS(86)*UV(24)+JVS(88)*UV(25)& &+JVS(92)*UV(26)+JVS(100)*UV(27)+JVS(143)*UV(30) JTUV(28) = JVS(32)*UV(4)+JVS(120)*UV(28)+JVS(144)*UV(30) JTUV(29) = JVS(33)*UV(4)+JVS(37)*UV(5)+JVS(52)*UV(11)+JVS(54)*UV(12)+JVS(60)*UV(15)+JVS(70)*UV(19)+JVS(74)*UV(20)& &+JVS(76)*UV(21)+JVS(132)*UV(29)+JVS(145)*UV(30)+JVS(151)*UV(31) JTUV(30) = JVS(21)*UV(3)+JVS(38)*UV(5)+JVS(41)*UV(6)+JVS(44)*UV(7)+JVS(101)*UV(27)+JVS(133)*UV(29)+JVS(146)*UV(30)& &+JVS(159)*UV(32) JTUV(31) = JVS(19)*UV(2)+JVS(34)*UV(4)+JVS(42)*UV(6)+JVS(123)*UV(28)+JVS(134)*UV(29)+JVS(147)*UV(30)+JVS(153)*UV(31)& &+JVS(160)*UV(32) JTUV(32) = JVS(35)*UV(4)+JVS(56)*UV(13)+JVS(58)*UV(14)+JVS(62)*UV(16)+JVS(66)*UV(18)+JVS(80)*UV(22)+JVS(82)*UV(23)& &+JVS(148)*UV(30)+JVS(154)*UV(31)+JVS(161)*UV(32) END SUBROUTINE JacTR_SP_Vec ! End of JacTR_SP_Vec function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ END MODULE gckpp_Jacobian ================================================ FILE: KPP/Hg/gckpp_JacobianSP.F90 ================================================ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Sparse Jacobian Data Structures File ! ! Generated by KPP-3.2.0 symbolic chemistry Kinetics PreProcessor ! (https:/github.com/KineticPreProcessor/KPP ! KPP is distributed under GPL, the general public licence ! (http://www.gnu.org/copyleft/gpl.html) ! (C) 1995-1997, V. Damian & A. Sandu, CGRER, Univ. Iowa ! (C) 1997-2022, A. Sandu, Michigan Tech, Virginia Tech ! With important contributions from: ! M. Damian, Villanova University, Philadelphia, PA, USA ! R. Sander, Max-Planck Institute for Chemistry, Mainz, Germany ! M. Long, Renaissance Fiber, LLC, North Carolina, USA ! H. Lin, Harvard University, Cambridge, MA, USA ! R. Yantosca, Harvard University, Cambridge, MA, USA ! ! File : gckpp_JacobianSP.F90 ! Equation file : gckpp.kpp ! Output root filename : gckpp ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MODULE gckpp_JacobianSP PUBLIC SAVE ! Sparse Jacobian Data INTEGER, PARAMETER, DIMENSION(161) :: LU_IROW = (/ & 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, & ! index 1 - 12 2, 2, 2, 2, 2, 2, 2, 3, 3, 4, 4, 4, & ! index 13 - 24 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, & ! index 25 - 36 5, 5, 6, 6, 6, 6, 7, 7, 8, 8, 9, 9, & ! index 37 - 48 10, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15, & ! index 49 - 60 16, 16, 17, 17, 18, 18, 19, 19, 19, 19, 20, 20, & ! index 61 - 72 20, 20, 21, 21, 22, 22, 22, 22, 23, 23, 24, 24, & ! index 73 - 84 24, 24, 25, 25, 26, 26, 26, 26, 27, 27, 27, 27, & ! index 85 - 96 27, 27, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28, & ! index 97 - 108 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, & ! index 109 - 120 28, 28, 28, 28, 29, 29, 29, 29, 29, 29, 29, 29, & ! index 121 - 132 29, 29, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, & ! index 133 - 144 30, 30, 30, 30, 31, 31, 31, 31, 31, 31, 32, 32, & ! index 145 - 156 32, 32, 32, 32, 32 /) ! index up to 161 INTEGER, PARAMETER, DIMENSION(161) :: LU_ICOL = (/ & 1, 2, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, & ! index 1 - 12 18, 20, 21, 23, 25, 26, 31, 3, 30, 4, 13, 14, & ! index 13 - 24 18, 20, 21, 23, 25, 26, 27, 28, 29, 31, 32, 5, & ! index 25 - 36 29, 30, 6, 26, 30, 31, 7, 30, 8, 27, 9, 27, & ! index 37 - 48 10, 27, 11, 29, 12, 29, 13, 32, 14, 32, 15, 29, & ! index 49 - 60 16, 32, 17, 27, 18, 32, 15, 19, 21, 29, 19, 20, & ! index 61 - 72 21, 29, 21, 29, 16, 22, 23, 32, 23, 32, 17, 24, & ! index 73 - 84 25, 27, 25, 27, 24, 25, 26, 27, 8, 9, 10, 17, & ! index 85 - 96 24, 25, 26, 27, 30, 1, 8, 9, 10, 11, 12, 13, & ! index 97 - 108 14, 15, 16, 17, 18, 20, 21, 23, 25, 26, 27, 28, & ! index 109 - 120 29, 30, 31, 32, 11, 12, 15, 19, 21, 26, 27, 29, & ! index 121 - 132 30, 31, 13, 14, 18, 20, 21, 23, 25, 26, 27, 28, & ! index 133 - 144 29, 30, 31, 32, 22, 23, 29, 30, 31, 32, 16, 18, & ! index 145 - 156 22, 23, 30, 31, 32 /) ! index up to 161 INTEGER, PARAMETER, DIMENSION(33) :: LU_CROW = (/ & 1, 2, 20, 22, 36, 39, 43, 45, 47, 49, 51, 53, & ! index 1 - 12 55, 57, 59, 61, 63, 65, 67, 71, 75, 77, 81, 83, & ! index 13 - 24 87, 89, 93,102,125,135,149,155,162 /) ! index up to 33 INTEGER, PARAMETER, DIMENSION(33) :: LU_DIAG = (/ & 1, 2, 20, 22, 36, 39, 43, 45, 47, 49, 51, 53, & ! index 1 - 12 55, 57, 59, 61, 63, 65, 68, 72, 75, 78, 81, 84, & ! index 13 - 24 87, 91,100,120,132,146,153,161,162 /) ! index up to 33 END MODULE gckpp_JacobianSP ================================================ FILE: KPP/Hg/gckpp_LinearAlgebra.F90 ================================================ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Linear Algebra Data and Routines File ! ! Generated by KPP-3.2.0 symbolic chemistry Kinetics PreProcessor ! (https:/github.com/KineticPreProcessor/KPP ! KPP is distributed under GPL, the general public licence ! (http://www.gnu.org/copyleft/gpl.html) ! (C) 1995-1997, V. Damian & A. Sandu, CGRER, Univ. Iowa ! (C) 1997-2022, A. Sandu, Michigan Tech, Virginia Tech ! With important contributions from: ! M. Damian, Villanova University, Philadelphia, PA, USA ! R. Sander, Max-Planck Institute for Chemistry, Mainz, Germany ! M. Long, Renaissance Fiber, LLC, North Carolina, USA ! H. Lin, Harvard University, Cambridge, MA, USA ! R. Yantosca, Harvard University, Cambridge, MA, USA ! ! File : gckpp_LinearAlgebra.F90 ! Equation file : gckpp.kpp ! Output root filename : gckpp ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MODULE gckpp_LinearAlgebra USE gckpp_Parameters USE gckpp_JacobianSP IMPLICIT NONE CONTAINS ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! SPARSE_UTIL - SPARSE utility functions ! Arguments : ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE KppDecomp( JVS, IER ) ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Sparse LU factorization ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ USE gckpp_Parameters USE gckpp_JacobianSP INTEGER :: IER REAL(kind=dp) :: JVS(LU_NONZERO), W(NVAR), a INTEGER :: k, kk, j, jj a = 0. ! mz_rs_20050606 IER = 0 DO k=1,NVAR ! mz_rs_20050606: don't check if real value == 0 ! IF ( JVS( LU_DIAG(k) ) .EQ. 0. ) THEN IF ( ABS(JVS(LU_DIAG(k))) < TINY(a) ) THEN IER = k RETURN END IF DO kk = LU_CROW(k), LU_CROW(k+1)-1 W( LU_ICOL(kk) ) = JVS(kk) END DO DO kk = LU_CROW(k), LU_DIAG(k)-1 j = LU_ICOL(kk) a = -W(j) / JVS( LU_DIAG(j) ) W(j) = -a DO jj = LU_DIAG(j)+1, LU_CROW(j+1)-1 W( LU_ICOL(jj) ) = W( LU_ICOL(jj) ) + a*JVS(jj) END DO END DO DO kk = LU_CROW(k), LU_CROW(k+1)-1 JVS(kk) = W( LU_ICOL(kk) ) END DO END DO END SUBROUTINE KppDecomp ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE KppDecompCmplx( JVS, IER ) ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Sparse LU factorization, complex ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ USE gckpp_Parameters USE gckpp_JacobianSP INTEGER :: IER COMPLEX(kind=dp) :: JVS(LU_NONZERO), W(NVAR), a REAL(kind=dp) :: b = 0.0 INTEGER :: k, kk, j, jj IER = 0 DO k=1,NVAR IF ( ABS(JVS(LU_DIAG(k))) < TINY(b) ) THEN IER = k RETURN END IF DO kk = LU_CROW(k), LU_CROW(k+1)-1 W( LU_ICOL(kk) ) = JVS(kk) END DO DO kk = LU_CROW(k), LU_DIAG(k)-1 j = LU_ICOL(kk) a = -W(j) / JVS( LU_DIAG(j) ) W(j) = -a DO jj = LU_DIAG(j)+1, LU_CROW(j+1)-1 W( LU_ICOL(jj) ) = W( LU_ICOL(jj) ) + a*JVS(jj) END DO END DO DO kk = LU_CROW(k), LU_CROW(k+1)-1 JVS(kk) = W( LU_ICOL(kk) ) END DO END DO END SUBROUTINE KppDecompCmplx ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE KppDecompCmplxR( JVSR, JVSI, IER ) ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Sparse LU factorization, complex ! (Real and Imaginary parts are used instead of complex data type) ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ USE gckpp_Parameters USE gckpp_JacobianSP INTEGER :: IER REAL(kind=dp) :: JVSR(LU_NONZERO), JVSI(LU_NONZERO) REAL(kind=dp) :: WR(NVAR), WI(NVAR), ar, ai, den INTEGER :: k, kk, j, jj IER = 0 ar = 0.0 DO k=1,NVAR IF ( ( ABS(JVSR(LU_DIAG(k))) < TINY(ar) ) .AND. & ( ABS(JVSI(LU_DIAG(k))) < TINY(ar) ) ) THEN IER = k RETURN END IF DO kk = LU_CROW(k), LU_CROW(k+1)-1 WR( LU_ICOL(kk) ) = JVSR(kk) WI( LU_ICOL(kk) ) = JVSI(kk) END DO DO kk = LU_CROW(k), LU_DIAG(k)-1 j = LU_ICOL(kk) den = JVSR(LU_DIAG(j))**2 + JVSI(LU_DIAG(j))**2 ar = -(WR(j)*JVSR(LU_DIAG(j)) + WI(j)*JVSI(LU_DIAG(j)))/den ai = -(WI(j)*JVSR(LU_DIAG(j)) - WR(j)*JVSI(LU_DIAG(j)))/den WR(j) = -ar WI(j) = -ai DO jj = LU_DIAG(j)+1, LU_CROW(j+1)-1 WR( LU_ICOL(jj) ) = WR( LU_ICOL(jj) ) + ar*JVSR(jj) - ai*JVSI(jj) WI( LU_ICOL(jj) ) = WI( LU_ICOL(jj) ) + ar*JVSI(jj) + ai*JVSR(jj) END DO END DO DO kk = LU_CROW(k), LU_CROW(k+1)-1 JVSR(kk) = WR( LU_ICOL(kk) ) JVSI(kk) = WI( LU_ICOL(kk) ) END DO END DO END SUBROUTINE KppDecompCmplxR ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE KppSolveIndirect( JVS, X ) ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Sparse solve subroutine using indirect addressing ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ USE gckpp_Parameters USE gckpp_JacobianSP INTEGER :: i, j REAL(kind=dp) :: JVS(LU_NONZERO), X(NVAR), sum DO i=1,NVAR DO j = LU_CROW(i), LU_DIAG(i)-1 X(i) = X(i) - JVS(j)*X(LU_ICOL(j)); END DO END DO DO i=NVAR,1,-1 sum = X(i); DO j = LU_DIAG(i)+1, LU_CROW(i+1)-1 sum = sum - JVS(j)*X(LU_ICOL(j)); END DO X(i) = sum/JVS(LU_DIAG(i)); END DO END SUBROUTINE KppSolveIndirect ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE KppSolveTRIndirect( JVS, X ) ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Complex sparse solve transpose subroutine using indirect addressing ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ USE gckpp_Parameters USE gckpp_JacobianSP INTEGER :: i, j REAL(kind=dp) :: JVS(LU_NONZERO), X(NVAR) DO i=1,NVAR X(i) = X(i)/JVS(LU_DIAG(i)) ! subtract all nonzero elements in row i of JVS from X DO j=LU_DIAG(i)+1,LU_CROW(i+1)-1 X(LU_ICOL(j)) = X(LU_ICOL(j))-JVS(j)*X(i) END DO END DO DO i=NVAR, 1, -1 ! subtract all nonzero elements in row i of JVS from X DO j=LU_CROW(i),LU_DIAG(i)-1 X(LU_ICOL(j)) = X(LU_ICOL(j))-JVS(j)*X(i) END DO END DO END SUBROUTINE KppSolveTRIndirect ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE KppSolveCmplx( JVS, X ) ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Complex sparse solve subroutine using indirect addressing ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ USE gckpp_Parameters USE gckpp_JacobianSP INTEGER :: i, j COMPLEX(kind=dp) :: JVS(LU_NONZERO), X(NVAR), sum DO i=1,NVAR DO j = LU_CROW(i), LU_DIAG(i)-1 X(i) = X(i) - JVS(j)*X(LU_ICOL(j)); END DO END DO DO i=NVAR,1,-1 sum = X(i); DO j = LU_DIAG(i)+1, LU_CROW(i+1)-1 sum = sum - JVS(j)*X(LU_ICOL(j)); END DO X(i) = sum/JVS(LU_DIAG(i)); END DO END SUBROUTINE KppSolveCmplx ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE KppSolveCmplxR( JVSR, JVSI, XR, XI ) ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Complex sparse solve subroutine using indirect addressing ! (Real and Imaginary parts are used instead of complex data type) ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ USE gckpp_Parameters USE gckpp_JacobianSP INTEGER :: i, j REAL(kind=dp) :: JVSR(LU_NONZERO), JVSI(LU_NONZERO), XR(NVAR), XI(NVAR), sumr, sumi, den DO i=1,NVAR DO j = LU_CROW(i), LU_DIAG(i)-1 XR(i) = XR(i) - (JVSR(j)*XR(LU_ICOL(j)) - JVSI(j)*XI(LU_ICOL(j))) XI(i) = XI(i) - (JVSR(j)*XI(LU_ICOL(j)) + JVSI(j)*XR(LU_ICOL(j))) END DO END DO DO i=NVAR,1,-1 sumr = XR(i); sumi = XI(i) DO j = LU_DIAG(i)+1, LU_CROW(i+1)-1 sumr = sumr - (JVSR(j)*XR(LU_ICOL(j)) - JVSI(j)*XI(LU_ICOL(j))) sumi = sumi - (JVSR(j)*XI(LU_ICOL(j)) + JVSI(j)*XR(LU_ICOL(j))) END DO den = JVSR(LU_DIAG(i))**2 + JVSI(LU_DIAG(i))**2 XR(i) = (sumr*JVSR(LU_DIAG(i)) + sumi*JVSI(LU_DIAG(i)))/den XI(i) = (sumi*JVSR(LU_DIAG(i)) - sumr*JVSI(LU_DIAG(i)))/den END DO END SUBROUTINE KppSolveCmplxR ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE KppSolveTRCmplx( JVS, X ) ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Complex sparse solve transpose subroutine using indirect addressing ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ USE gckpp_Parameters USE gckpp_JacobianSP INTEGER :: i, j COMPLEX(kind=dp) :: JVS(LU_NONZERO), X(NVAR) DO i=1,NVAR X(i) = X(i)/JVS(LU_DIAG(i)) ! subtract all nonzero elements in row i of JVS from X DO j=LU_DIAG(i)+1,LU_CROW(i+1)-1 X(LU_ICOL(j)) = X(LU_ICOL(j))-JVS(j)*X(i) END DO END DO DO i=NVAR, 1, -1 ! subtract all nonzero elements in row i of JVS from X DO j=LU_CROW(i),LU_DIAG(i)-1 X(LU_ICOL(j)) = X(LU_ICOL(j))-JVS(j)*X(i) END DO END DO END SUBROUTINE KppSolveTRCmplx ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE KppSolveTRCmplxR( JVSR, JVSI, XR, XI ) ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Complex sparse solve transpose subroutine using indirect addressing ! (Real and Imaginary parts are used instead of complex data type) ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ USE gckpp_Parameters USE gckpp_JacobianSP INTEGER :: i, j REAL(kind=dp) :: JVSR(LU_NONZERO), JVSI(LU_NONZERO), XR(NVAR), XI(NVAR), den DO i=1,NVAR den = JVSR(LU_DIAG(i))**2 + JVSI(LU_DIAG(i))**2 XR(i) = (XR(i)*JVSR(LU_DIAG(i)) + XI(i)*JVSI(LU_DIAG(i)))/den XI(i) = (XI(i)*JVSR(LU_DIAG(i)) - XR(i)*JVSI(LU_DIAG(i)))/den ! subtract all nonzero elements in row i of JVS from X DO j=LU_DIAG(i)+1,LU_CROW(i+1)-1 XR(LU_ICOL(j)) = XR(LU_ICOL(j))-(JVSR(j)*XR(i) - JVSI(j)*XI(i)) XI(LU_ICOL(j)) = XI(LU_ICOL(j))-(JVSI(j)*XR(i) + JVSR(j)*XI(i)) END DO END DO DO i=NVAR, 1, -1 ! subtract all nonzero elements in row i of JVS from X DO j=LU_CROW(i),LU_DIAG(i)-1 XR(LU_ICOL(j)) = XR(LU_ICOL(j))-(JVSR(j)*XR(i) - JVSI(j)*XI(i)) XI(LU_ICOL(j)) = XI(LU_ICOL(j))-(JVSI(j)*XR(i) + JVSR(j)*XI(i)) END DO END DO END SUBROUTINE KppSolveTRCmplxR ! ! Next few commented subroutines perform sparse big linear algebra ! !! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !SUBROUTINE KppDecompBig( JVS, IP, IER ) !! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !! Sparse LU factorization !! for the Runge Kutta (3n)x(3n) linear system !! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! USE gckpp_Parameters ! USE gckpp_JacobianSP ! ! INTEGER :: IP3(3), IER, IP(3,NVAR) ! REAL(kind=dp) :: JVS(3,3,LU_NONZERO), W(3,3,NVAR), a(3,3), E(3,3) ! INTEGER :: k, kk, j, jj ! ! a = 0.0d0 ! IER = 0 ! DO k=1,NVAR ! DO kk = LU_CROW(k), LU_CROW(k+1)-1 ! W( 1:3,1:3,LU_ICOL(kk) ) = JVS(1:3,1:3,kk) ! END DO ! DO kk = LU_CROW(k), LU_DIAG(k)-1 ! j = LU_ICOL(kk) ! E(1:3,1:3) = JVS( 1:3,1:3,LU_DIAG(j) ) ! ! CALL DGETRF(3,3,E,3,IP3,IER) ! CALL FAC3(E,IP3,IER) ! IF ( IER /= 0 ) RETURN ! ! a = W(j) / JVS( LU_DIAG(j) ) ! a(1:3,1:3) = W( 1:3,1:3,j ) ! ! CALL DGETRS ('N',3,3,E,3,IP3,a,3,IER) ! CALL SOL3('N',E,IP3,a(1,1)) ! CALL SOL3('N',E,IP3,a(1,2)) ! CALL SOL3('N',E,IP3,a(1,3)) ! W(1:3,1:3,j) = a(1:3,1:3) ! DO jj = LU_DIAG(j)+1, LU_CROW(j+1)-1 ! W( 1:3,1:3,LU_ICOL(jj) ) = W( 1:3,1:3,LU_ICOL(jj) ) & ! - MATMUL( a(1:3,1:3) , JVS(1:3,1:3,jj) ) ! END DO ! END DO ! DO kk = LU_CROW(k), LU_CROW(k+1)-1 ! JVS(1:3,1:3,kk) = W( 1:3,1:3,LU_ICOL(kk) ) ! END DO ! END DO ! ! DO k=1,NVAR ! ! CALL WGEFA(JVS(1,1,LU_DIAG(k)),3,3,IP(1,k),IER) ! ! CALL DGETRF(3,3,JVS(1,1,LU_DIAG(k)),3,IP(1,k),IER) ! CALL FAC3(JVS(1,1,LU_DIAG(k)),IP(1,k),IER) ! IF ( IER /= 0 ) RETURN ! END DO ! !END SUBROUTINE KppDecompBig ! ! !! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !SUBROUTINE KppSolveBig( JVS, IP, X ) !! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !! Sparse solve subroutine using indirect addressing !! for the Runge Kutta (3n)x(3n) linear system !! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! USE gckpp_Parameters ! USE gckpp_JacobianSP ! ! INTEGER :: i, j, k, m, IP3(3), IP(3,NVAR), IER ! REAL(kind=dp) :: JVS(3,3,LU_NONZERO), X(3,NVAR), sum(3) ! ! DO i=1,NVAR ! DO j = LU_CROW(i), LU_DIAG(i)-1 ! !X(1:3,i) = X(1:3,i) - MATMUL(JVS(1:3,1:3,j),X(1:3,LU_ICOL(j))); ! DO k=1,3 ! DO m=1,3 ! X(k,i) = X(k,i) - JVS(k,m,j)*X(m,LU_ICOL(j)) ! END DO ! END DO ! END DO ! END DO ! ! DO i=NVAR,1,-1 ! sum(1:3) = X(1:3,i); ! DO j = LU_DIAG(i)+1, LU_CROW(i+1)-1 ! !sum(1:3) = sum(1:3) - MATMUL(JVS(1:3,1:3,j),X(1:3,LU_ICOL(j))); ! DO k=1,3 ! DO m=1,3 ! sum(k) = sum(k) - JVS(k,m,j)*X(m,LU_ICOL(j)) ! END DO ! END DO ! END DO ! ! X(i) = sum/JVS(LU_DIAG(i)); ! ! CALL DGETRS ('N',3,1,JVS(1:3,1:3,LU_DIAG(i)),3,IP(1,i),sum,3,0) ! ! CALL WGESL('N',JVS(1,1,LU_DIAG(i)),3,3,IP(1,i),sum) ! CALL SOL3('N',JVS(1,1,LU_DIAG(i)),IP(1,i),sum) ! X(1:3,i) = sum(1:3) ! END DO ! !END SUBROUTINE KppSolveBig ! ! !! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !SUBROUTINE KppSolveBigTR( JVS, IP, X ) !! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !! Big sparse transpose solve using indirect addressing !! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! USE gckpp_Parameters ! USE gckpp_JacobianSP ! ! INTEGER :: i, j, k, m, IP(3,NVAR) ! REAL(kind=dp) :: JVS(3,3,LU_NONZERO), X(3,NVAR) ! ! DO i=1,NVAR ! ! X(i) = X(i)/JVS(LU_DIAG(i)) ! CALL SOL3('T',JVS(1,1,LU_DIAG(i)),IP(1,i),X(1,i)) ! DO j=LU_DIAG(i)+1,LU_CROW(i+1)-1 ! !X(1:3,LU_ICOL(j)) = X(1:3,LU_ICOL(j)) & ! ! - MATMUL( TRANSPOSE(JVS(1:3,1:3,j)), X(1:3,i) ) ! DO k=1,3 ! DO m=1,3 ! X(k,LU_ICOL(j)) = X(k,LU_ICOL(j)) - JVS(m,k,j)*X(m,i) ! END DO ! END DO ! END DO ! END DO ! ! DO i=NVAR, 1, -1 ! DO j=LU_CROW(i),LU_DIAG(i)-1 ! !X(1:3,LU_ICOL(j)) = X(1:3,LU_ICOL(j)) & ! ! - MATMUL( TRANSPOSE(JVS(1:3,1:3,j)), X(1:3,i) ) ! DO k=1,3 ! DO m=1,3 ! X(k,LU_ICOL(j)) = X(k,LU_ICOL(j)) - JVS(m,k,j)*X(m,i) ! END DO ! END DO ! END DO ! END DO ! !END SUBROUTINE KppSolveBigTR ! ! ! !! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !SUBROUTINE FAC3(A,IPVT,INFO) !! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !! FAC3 FACTORS THE MATRIX A (3,3) BY !! GAUSS ELIMINATION WITH PARTIAL PIVOTING !! LINPACK - LIKE !! !! Remove comments to perform pivoting !! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !! ! REAL(kind=dp) :: A(3,3) ! INTEGER :: IPVT(3),INFO !! INTEGER :: L !! REAL(kind=dp) :: t, dmax, da, TMP(3) ! REAL(kind=dp), PARAMETER :: ZERO = 0.0, ONE = 1.0 ! ! info = 0 !! t = TINY(da) !! !! da = ABS(A(1,1)); L = 1 !! IF ( ABS(A(2,1))>da ) THEN !! da = ABS(A(2,1)); L = 2 !! IF ( ABS(A(3,1))>da ) THEN !! L = 3 !! END IF !! END IF !! IPVT(1) = L !! IF (L /=1 ) THEN !! TMP(1:3) = A(L,1:3) !! A(L,1:3) = A(1,1:3) !! A(1,1:3) = TMP(1:3) !! END IF !! IF (ABS(A(1,1)) < t) THEN !! info = 1 !! return !! END IF !! ! A(2,1) = A(2,1)/A(1,1) ! A(2,2) = A(2,2) - A(2,1)*A(1,2) ! A(2,3) = A(2,3) - A(2,1)*A(1,3) ! A(3,1) = A(3,1)/A(1,1) ! A(3,2) = A(3,2) - A(3,1)*A(1,2) ! A(3,3) = A(3,3) - A(3,1)*A(1,3) ! !! IPVT(2) = 2 !! IF (ABS(A(3,2))>ABS(A(2,2))) THEN !! IPVT(2) = 3 !! TMP(2:3) = A(3,2:3) !! A(3,2:3) = A(2,2:3) !! A(2,2:3) = TMP(2:3) !! END IF !! IF (ABS(A(2,2)) < t) THEN !! info = 1 !! return !! END IF !! ! A(3,2) = A(3,2)/A(2,2) ! A(3,3) = A(3,3) - A(3,2)*A(2,3) ! IPVT(3) = 3 ! !END SUBROUTINE FAC3 ! ! !! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !SUBROUTINE SOL3(Trans,A,IPVT,b) !! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !! SOL3 solves the system 3x3 !! A * x = b or trans(a) * x = b !! using the factors computed by WGEFA. !! !! Trans = 'N' to solve A*x = b , !! = 'T' to solve transpose(A)*x = b !! LINPACK - LIKE !! !! Remove comments to use pivoting !! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! CHARACTER :: Trans ! REAL(kind=dp) :: a(3,3),b(3) ! INTEGER :: IPVT(3) !! INTEGER :: L !! REAL(kind=dp) :: TMP ! ! SELECT CASE (Trans) ! ! CASE ('n','N') ! Solve A * x = b ! !! Solve L*y = b !! L = IPVT(1) !! IF (L /= 1) THEN !! TMP = B(1); B(1) = B(L); B(L) = TMP !! END IF ! b(2) = b(2)-A(2,1)*b(1) ! b(3) = b(3)-A(3,1)*b(1) ! !! L = IPVT(2) !! IF (L /= 2) THEN !! TMP = B(2); B(2) = B(L); B(L) = TMP !! END IF ! b(3) = b(3)-A(3,2)*b(2) ! !! Solve U*x = y ! b(3) = b(3)/A(3,3) ! b(2) = (b(2)-A(2,3)*b(3))/A(2,2) ! b(1) = (b(1)-A(1,3)*b(3)-A(1,2)*b(2))/A(1,1) ! ! ! CASE ('t','T') ! Solve transpose(A) * x = b ! !! Solve transpose(U)*y = b ! b(1) = b(1)/A(1,1) ! b(2) = (b(2)-A(1,2)*b(1))/A(2,2) ! b(3) = (b(3)-A(1,3)*b(1)-A(2,3)*b(2))/A(3,3) ! !! Solve transpose(L)*x = y ! b(2) = b(2)-A(3,2)*b(3) !! L = ipvt(2) !! IF (L /= 2) THEN !! TMP = B(2); B(2) = B(L); B(L) = TMP !! END IF ! b(1) = b(1)-A(3,1)*b(3)-A(2,1)*b(2) !! L = ipvt(1) !! IF (L /= 1) THEN !! TMP = B(1); B(1) = B(L); B(L) = TMP !! END IF ! ! END SELECT ! !END SUBROUTINE SOL3 ! End of SPARSE_UTIL function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! KppSolve - sparse back substitution ! Arguments : ! JVS - sparse Jacobian of variables ! X - Vector for variables ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE KppSolve ( JVS, X ) ! JVS - sparse Jacobian of variables REAL(kind=dp) :: JVS(LU_NONZERO) ! X - Vector for variables REAL(kind=dp) :: X(NVAR) X(19) = X(19)-JVS(67)*X(15) X(20) = X(20)-JVS(71)*X(19) X(22) = X(22)-JVS(77)*X(16) X(24) = X(24)-JVS(83)*X(17) X(26) = X(26)-JVS(89)*X(24)-JVS(90)*X(25) X(27) = X(27)-JVS(93)*X(8)-JVS(94)*X(9)-JVS(95)*X(10)-JVS(96)*X(17)-JVS(97)*X(24)-JVS(98)*X(25)-JVS(99)*X(26) X(28) = X(28)-JVS(102)*X(1)-JVS(103)*X(8)-JVS(104)*X(9)-JVS(105)*X(10)-JVS(106)*X(11)-JVS(107)*X(12)-JVS(108)*X(13)& &-JVS(109)*X(14)-JVS(110)*X(15)-JVS(111)*X(16)-JVS(112)*X(17)-JVS(113)*X(18)-JVS(114)*X(20)-JVS(115)*X(21)& &-JVS(116)*X(23)-JVS(117)*X(25)-JVS(118)*X(26)-JVS(119)*X(27) X(29) = X(29)-JVS(125)*X(11)-JVS(126)*X(12)-JVS(127)*X(15)-JVS(128)*X(19)-JVS(129)*X(21)-JVS(130)*X(26)-JVS(131)*X(27) X(30) = X(30)-JVS(135)*X(13)-JVS(136)*X(14)-JVS(137)*X(18)-JVS(138)*X(20)-JVS(139)*X(21)-JVS(140)*X(23)-JVS(141)*X(25)& &-JVS(142)*X(26)-JVS(143)*X(27)-JVS(144)*X(28)-JVS(145)*X(29) X(31) = X(31)-JVS(149)*X(22)-JVS(150)*X(23)-JVS(151)*X(29)-JVS(152)*X(30) X(32) = X(32)-JVS(155)*X(16)-JVS(156)*X(18)-JVS(157)*X(22)-JVS(158)*X(23)-JVS(159)*X(30)-JVS(160)*X(31) X(32) = X(32)/JVS(161) X(31) = (X(31)-JVS(154)*X(32))/(JVS(153)) X(30) = (X(30)-JVS(147)*X(31)-JVS(148)*X(32))/(JVS(146)) X(29) = (X(29)-JVS(133)*X(30)-JVS(134)*X(31))/(JVS(132)) X(28) = (X(28)-JVS(121)*X(29)-JVS(122)*X(30)-JVS(123)*X(31)-JVS(124)*X(32))/(JVS(120)) X(27) = (X(27)-JVS(101)*X(30))/(JVS(100)) X(26) = (X(26)-JVS(92)*X(27))/(JVS(91)) X(25) = (X(25)-JVS(88)*X(27))/(JVS(87)) X(24) = (X(24)-JVS(85)*X(25)-JVS(86)*X(27))/(JVS(84)) X(23) = (X(23)-JVS(82)*X(32))/(JVS(81)) X(22) = (X(22)-JVS(79)*X(23)-JVS(80)*X(32))/(JVS(78)) X(21) = (X(21)-JVS(76)*X(29))/(JVS(75)) X(20) = (X(20)-JVS(73)*X(21)-JVS(74)*X(29))/(JVS(72)) X(19) = (X(19)-JVS(69)*X(21)-JVS(70)*X(29))/(JVS(68)) X(18) = (X(18)-JVS(66)*X(32))/(JVS(65)) X(17) = (X(17)-JVS(64)*X(27))/(JVS(63)) X(16) = (X(16)-JVS(62)*X(32))/(JVS(61)) X(15) = (X(15)-JVS(60)*X(29))/(JVS(59)) X(14) = (X(14)-JVS(58)*X(32))/(JVS(57)) X(13) = (X(13)-JVS(56)*X(32))/(JVS(55)) X(12) = (X(12)-JVS(54)*X(29))/(JVS(53)) X(11) = (X(11)-JVS(52)*X(29))/(JVS(51)) X(10) = (X(10)-JVS(50)*X(27))/(JVS(49)) X(9) = (X(9)-JVS(48)*X(27))/(JVS(47)) X(8) = (X(8)-JVS(46)*X(27))/(JVS(45)) X(7) = (X(7)-JVS(44)*X(30))/(JVS(43)) X(6) = (X(6)-JVS(40)*X(26)-JVS(41)*X(30)-JVS(42)*X(31))/(JVS(39)) X(5) = (X(5)-JVS(37)*X(29)-JVS(38)*X(30))/(JVS(36)) X(4) = (X(4)-JVS(23)*X(13)-JVS(24)*X(14)-JVS(25)*X(18)-JVS(26)*X(20)-JVS(27)*X(21)-JVS(28)*X(23)-JVS(29)*X(25)-JVS(30)& &*X(26)-JVS(31)*X(27)-JVS(32)*X(28)-JVS(33)*X(29)-JVS(34)*X(31)-JVS(35)*X(32))/(JVS(22)) X(3) = (X(3)-JVS(21)*X(30))/(JVS(20)) X(2) = (X(2)-JVS(3)*X(8)-JVS(4)*X(9)-JVS(5)*X(10)-JVS(6)*X(11)-JVS(7)*X(12)-JVS(8)*X(13)-JVS(9)*X(14)-JVS(10)*X(15)& &-JVS(11)*X(16)-JVS(12)*X(17)-JVS(13)*X(18)-JVS(14)*X(20)-JVS(15)*X(21)-JVS(16)*X(23)-JVS(17)*X(25)-JVS(18)*X(26)& &-JVS(19)*X(31))/(JVS(2)) X(1) = X(1)/JVS(1) END SUBROUTINE KppSolve ! End of KppSolve function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! KppSolveTR - sparse, transposed back substitution ! Arguments : ! JVS - sparse Jacobian of variables ! X - Vector for variables ! XX - Vector for output variables ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE KppSolveTR ( JVS, X, XX ) ! JVS - sparse Jacobian of variables REAL(kind=dp) :: JVS(LU_NONZERO) ! X - Vector for variables REAL(kind=dp) :: X(NVAR) ! XX - Vector for output variables REAL(kind=dp) :: XX(NVAR) XX(1) = X(1)/JVS(1) XX(2) = X(2)/JVS(2) XX(3) = X(3)/JVS(20) XX(4) = X(4)/JVS(22) XX(5) = X(5)/JVS(36) XX(6) = X(6)/JVS(39) XX(7) = X(7)/JVS(43) XX(8) = (X(8)-JVS(3)*XX(2))/(JVS(45)) XX(9) = (X(9)-JVS(4)*XX(2))/(JVS(47)) XX(10) = (X(10)-JVS(5)*XX(2))/(JVS(49)) XX(11) = (X(11)-JVS(6)*XX(2))/(JVS(51)) XX(12) = (X(12)-JVS(7)*XX(2))/(JVS(53)) XX(13) = (X(13)-JVS(8)*XX(2)-JVS(23)*XX(4))/(JVS(55)) XX(14) = (X(14)-JVS(9)*XX(2)-JVS(24)*XX(4))/(JVS(57)) XX(15) = (X(15)-JVS(10)*XX(2))/(JVS(59)) XX(16) = (X(16)-JVS(11)*XX(2))/(JVS(61)) XX(17) = (X(17)-JVS(12)*XX(2))/(JVS(63)) XX(18) = (X(18)-JVS(13)*XX(2)-JVS(25)*XX(4))/(JVS(65)) XX(19) = X(19)/JVS(68) XX(20) = (X(20)-JVS(14)*XX(2)-JVS(26)*XX(4))/(JVS(72)) XX(21) = (X(21)-JVS(15)*XX(2)-JVS(27)*XX(4)-JVS(69)*XX(19)-JVS(73)*XX(20))/(JVS(75)) XX(22) = X(22)/JVS(78) XX(23) = (X(23)-JVS(16)*XX(2)-JVS(28)*XX(4)-JVS(79)*XX(22))/(JVS(81)) XX(24) = X(24)/JVS(84) XX(25) = (X(25)-JVS(17)*XX(2)-JVS(29)*XX(4)-JVS(85)*XX(24))/(JVS(87)) XX(26) = (X(26)-JVS(18)*XX(2)-JVS(30)*XX(4)-JVS(40)*XX(6))/(JVS(91)) XX(27) = (X(27)-JVS(31)*XX(4)-JVS(46)*XX(8)-JVS(48)*XX(9)-JVS(50)*XX(10)-JVS(64)*XX(17)-JVS(86)*XX(24)-JVS(88)*XX(25)& &-JVS(92)*XX(26))/(JVS(100)) XX(28) = (X(28)-JVS(32)*XX(4))/(JVS(120)) XX(29) = (X(29)-JVS(33)*XX(4)-JVS(37)*XX(5)-JVS(52)*XX(11)-JVS(54)*XX(12)-JVS(60)*XX(15)-JVS(70)*XX(19)-JVS(74)*XX(20)& &-JVS(76)*XX(21)-JVS(121)*XX(28))/(JVS(132)) XX(30) = (X(30)-JVS(21)*XX(3)-JVS(38)*XX(5)-JVS(41)*XX(6)-JVS(44)*XX(7)-JVS(101)*XX(27)-JVS(122)*XX(28)-JVS(133)& &*XX(29))/(JVS(146)) XX(31) = (X(31)-JVS(19)*XX(2)-JVS(34)*XX(4)-JVS(42)*XX(6)-JVS(123)*XX(28)-JVS(134)*XX(29)-JVS(147)*XX(30))/(JVS(153)) XX(32) = (X(32)-JVS(35)*XX(4)-JVS(56)*XX(13)-JVS(58)*XX(14)-JVS(62)*XX(16)-JVS(66)*XX(18)-JVS(80)*XX(22)-JVS(82)& &*XX(23)-JVS(124)*XX(28)-JVS(148)*XX(30)-JVS(154)*XX(31))/(JVS(161)) XX(32) = XX(32) XX(31) = XX(31)-JVS(160)*XX(32) XX(30) = XX(30)-JVS(152)*XX(31)-JVS(159)*XX(32) XX(29) = XX(29)-JVS(145)*XX(30)-JVS(151)*XX(31) XX(28) = XX(28)-JVS(144)*XX(30) XX(27) = XX(27)-JVS(119)*XX(28)-JVS(131)*XX(29)-JVS(143)*XX(30) XX(26) = XX(26)-JVS(99)*XX(27)-JVS(118)*XX(28)-JVS(130)*XX(29)-JVS(142)*XX(30) XX(25) = XX(25)-JVS(90)*XX(26)-JVS(98)*XX(27)-JVS(117)*XX(28)-JVS(141)*XX(30) XX(24) = XX(24)-JVS(89)*XX(26)-JVS(97)*XX(27) XX(23) = XX(23)-JVS(116)*XX(28)-JVS(140)*XX(30)-JVS(150)*XX(31)-JVS(158)*XX(32) XX(22) = XX(22)-JVS(149)*XX(31)-JVS(157)*XX(32) XX(21) = XX(21)-JVS(115)*XX(28)-JVS(129)*XX(29)-JVS(139)*XX(30) XX(20) = XX(20)-JVS(114)*XX(28)-JVS(138)*XX(30) XX(19) = XX(19)-JVS(71)*XX(20)-JVS(128)*XX(29) XX(18) = XX(18)-JVS(113)*XX(28)-JVS(137)*XX(30)-JVS(156)*XX(32) XX(17) = XX(17)-JVS(83)*XX(24)-JVS(96)*XX(27)-JVS(112)*XX(28) XX(16) = XX(16)-JVS(77)*XX(22)-JVS(111)*XX(28)-JVS(155)*XX(32) XX(15) = XX(15)-JVS(67)*XX(19)-JVS(110)*XX(28)-JVS(127)*XX(29) XX(14) = XX(14)-JVS(109)*XX(28)-JVS(136)*XX(30) XX(13) = XX(13)-JVS(108)*XX(28)-JVS(135)*XX(30) XX(12) = XX(12)-JVS(107)*XX(28)-JVS(126)*XX(29) XX(11) = XX(11)-JVS(106)*XX(28)-JVS(125)*XX(29) XX(10) = XX(10)-JVS(95)*XX(27)-JVS(105)*XX(28) XX(9) = XX(9)-JVS(94)*XX(27)-JVS(104)*XX(28) XX(8) = XX(8)-JVS(93)*XX(27)-JVS(103)*XX(28) XX(7) = XX(7) XX(6) = XX(6) XX(5) = XX(5) XX(4) = XX(4) XX(3) = XX(3) XX(2) = XX(2) XX(1) = XX(1)-JVS(102)*XX(28) END SUBROUTINE KppSolveTR ! End of KppSolveTR function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! BLAS_UTIL - BLAS-LIKE utility functions ! Arguments : ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !-------------------------------------------------------------- ! ! BLAS/LAPACK-like subroutines used by the integration algorithms ! It is recommended to replace them by calls to the optimized ! BLAS/LAPACK library for your machine ! ! (C) Adrian Sandu, Aug. 2004 ! Virginia Polytechnic Institute and State University !-------------------------------------------------------------- !-------------------------------------------------------------- SUBROUTINE WCOPY(N,X,incX,Y,incY) !-------------------------------------------------------------- ! copies a vector, x, to a vector, y: y <- x ! only for incX=incY=1 ! after BLAS ! replace this by the function from the optimized BLAS implementation: ! CALL SCOPY(N,X,1,Y,1) or CALL DCOPY(N,X,1,Y,1) !-------------------------------------------------------------- ! USE gckpp_Precision INTEGER :: i,incX,incY,M,MP1,N REAL(kind=dp) :: X(N),Y(N) IF (N.LE.0) RETURN M = MOD(N,8) IF( M .NE. 0 ) THEN DO i = 1,M Y(i) = X(i) END DO IF( N .LT. 8 ) RETURN END IF MP1 = M+1 DO i = MP1,N,8 Y(i) = X(i) Y(i + 1) = X(i + 1) Y(i + 2) = X(i + 2) Y(i + 3) = X(i + 3) Y(i + 4) = X(i + 4) Y(i + 5) = X(i + 5) Y(i + 6) = X(i + 6) Y(i + 7) = X(i + 7) END DO END SUBROUTINE WCOPY !-------------------------------------------------------------- SUBROUTINE WAXPY(N,Alpha,X,incX,Y,incY) !-------------------------------------------------------------- ! constant times a vector plus a vector: y <- y + Alpha*x ! only for incX=incY=1 ! after BLAS ! replace this by the function from the optimized BLAS implementation: ! CALL SAXPY(N,Alpha,X,1,Y,1) or CALL DAXPY(N,Alpha,X,1,Y,1) !-------------------------------------------------------------- INTEGER :: i,incX,incY,M,MP1,N REAL(kind=dp) :: X(N),Y(N),Alpha REAL(kind=dp), PARAMETER :: ZERO = 0.0_dp IF (Alpha .EQ. ZERO) RETURN IF (N .LE. 0) RETURN M = MOD(N,4) IF( M .NE. 0 ) THEN DO i = 1,M Y(i) = Y(i) + Alpha*X(i) END DO IF( N .LT. 4 ) RETURN END IF MP1 = M + 1 DO i = MP1,N,4 Y(i) = Y(i) + Alpha*X(i) Y(i + 1) = Y(i + 1) + Alpha*X(i + 1) Y(i + 2) = Y(i + 2) + Alpha*X(i + 2) Y(i + 3) = Y(i + 3) + Alpha*X(i + 3) END DO END SUBROUTINE WAXPY !-------------------------------------------------------------- SUBROUTINE WSCAL(N,Alpha,X,incX) !-------------------------------------------------------------- ! constant times a vector: x(1:N) <- Alpha*x(1:N) ! only for incX=incY=1 ! after BLAS ! replace this by the function from the optimized BLAS implementation: ! CALL SSCAL(N,Alpha,X,1) or CALL DSCAL(N,Alpha,X,1) !-------------------------------------------------------------- INTEGER :: i,incX,M,MP1,N REAL(kind=dp) :: X(N),Alpha REAL(kind=dp), PARAMETER :: ZERO=0.0_dp, ONE=1.0_dp IF (Alpha .EQ. ONE) RETURN IF (N .LE. 0) RETURN M = MOD(N,5) IF( M .NE. 0 ) THEN IF (Alpha .EQ. (-ONE)) THEN DO i = 1,M X(i) = -X(i) END DO ELSEIF (Alpha .EQ. ZERO) THEN DO i = 1,M X(i) = ZERO END DO ELSE DO i = 1,M X(i) = Alpha*X(i) END DO END IF IF( N .LT. 5 ) RETURN END IF MP1 = M + 1 IF (Alpha .EQ. (-ONE)) THEN DO i = MP1,N,5 X(i) = -X(i) X(i + 1) = -X(i + 1) X(i + 2) = -X(i + 2) X(i + 3) = -X(i + 3) X(i + 4) = -X(i + 4) END DO ELSEIF (Alpha .EQ. ZERO) THEN DO i = MP1,N,5 X(i) = ZERO X(i + 1) = ZERO X(i + 2) = ZERO X(i + 3) = ZERO X(i + 4) = ZERO END DO ELSE DO i = MP1,N,5 X(i) = Alpha*X(i) X(i + 1) = Alpha*X(i + 1) X(i + 2) = Alpha*X(i + 2) X(i + 3) = Alpha*X(i + 3) X(i + 4) = Alpha*X(i + 4) END DO END IF END SUBROUTINE WSCAL !-------------------------------------------------------------- REAL(kind=dp) FUNCTION WLAMCH( C ) !-------------------------------------------------------------- ! returns epsilon machine ! after LAPACK ! replace this by the function from the optimized LAPACK implementation: ! CALL SLAMCH('E') or CALL DLAMCH('E') !-------------------------------------------------------------- ! USE gckpp_Precision CHARACTER :: C INTEGER :: i REAL(kind=dp), SAVE :: Eps REAL(kind=dp) :: Suma REAL(kind=dp), PARAMETER :: ONE=1.0_dp, HALF=0.5_dp LOGICAL, SAVE :: First=.TRUE. !$OMP THREADPRIVATE( Eps, First ) IF (First) THEN First = .FALSE. Eps = HALF**(16) DO i = 17, 80 Eps = Eps*HALF CALL WLAMCH_ADD(ONE,Eps,Suma) IF (Suma.LE.ONE) GOTO 10 END DO PRINT*,'ERROR IN WLAMCH. EPS < ',Eps RETURN 10 Eps = Eps*2 i = i-1 END IF WLAMCH = Eps END FUNCTION WLAMCH SUBROUTINE WLAMCH_ADD( A, B, Suma ) ! USE gckpp_Precision REAL(kind=dp) A, B, Suma Suma = A + B END SUBROUTINE WLAMCH_ADD !-------------------------------------------------------------- !-------------------------------------------------------------- SUBROUTINE SET2ZERO(N,Y) !-------------------------------------------------------------- ! copies zeros into the vector y: y <- 0 ! after BLAS !-------------------------------------------------------------- INTEGER :: i,M,MP1,N REAL(kind=dp) :: Y(N) REAL(kind=dp), PARAMETER :: ZERO = 0.0d0 IF (N.LE.0) RETURN M = MOD(N,8) IF( M .NE. 0 ) THEN DO i = 1,M Y(i) = ZERO END DO IF( N .LT. 8 ) RETURN END IF MP1 = M+1 DO i = MP1,N,8 Y(i) = ZERO Y(i + 1) = ZERO Y(i + 2) = ZERO Y(i + 3) = ZERO Y(i + 4) = ZERO Y(i + 5) = ZERO Y(i + 6) = ZERO Y(i + 7) = ZERO END DO END SUBROUTINE SET2ZERO !-------------------------------------------------------------- REAL(kind=dp) FUNCTION WDOT (N, DX, incX, DY, incY) !-------------------------------------------------------------- ! dot produce: wdot = x(1:N)*y(1:N) ! only for incX=incY=1 ! after BLAS ! replace this by the function from the optimized BLAS implementation: ! CALL SDOT(N,X,1,Y,1) or CALL DDOT(N,X,1,Y,1) !-------------------------------------------------------------- ! USE messy_mecca_kpp_Precision !-------------------------------------------------------------- IMPLICIT NONE INTEGER :: N, incX, incY REAL(kind=dp) :: DX(N), DY(N) INTEGER :: i, IX, IY, M, MP1, NS WDOT = 0.0D0 IF (N .LE. 0) RETURN IF (incX .EQ. incY) IF (incX-1) 5,20,60 ! ! Code for unequal or nonpositive increments. ! 5 IX = 1 IY = 1 IF (incX .LT. 0) IX = (-N+1)*incX + 1 IF (incY .LT. 0) IY = (-N+1)*incY + 1 DO i = 1,N WDOT = WDOT + DX(IX)*DY(IY) IX = IX + incX IY = IY + incY END DO RETURN ! ! Code for both increments equal to 1. ! ! Clean-up loop so remaining vector length is a multiple of 5. ! 20 M = MOD(N,5) IF (M .EQ. 0) GO TO 40 DO i = 1,M WDOT = WDOT + DX(i)*DY(i) END DO IF (N .LT. 5) RETURN 40 MP1 = M + 1 DO i = MP1,N,5 WDOT = WDOT + DX(i)*DY(i) + DX(i+1)*DY(i+1) + DX(i+2)*DY(i+2) + & DX(i+3)*DY(i+3) + DX(i+4)*DY(i+4) END DO RETURN ! ! Code for equal, positive, non-unit increments. ! 60 NS = N*incX DO i = 1,NS,incX WDOT = WDOT + DX(i)*DY(i) END DO END FUNCTION WDOT !-------------------------------------------------------------- SUBROUTINE WADD(N,X,Y,Z) !-------------------------------------------------------------- ! adds two vectors: z <- x + y ! BLAS - like !-------------------------------------------------------------- ! USE gckpp_Precision INTEGER :: i, M, MP1, N REAL(kind=dp) :: X(N),Y(N),Z(N) IF (N.LE.0) RETURN M = MOD(N,5) IF( M /= 0 ) THEN DO i = 1,M Z(i) = X(i) + Y(i) END DO IF( N < 5 ) RETURN END IF MP1 = M+1 DO i = MP1,N,5 Z(i) = X(i) + Y(i) Z(i + 1) = X(i + 1) + Y(i + 1) Z(i + 2) = X(i + 2) + Y(i + 2) Z(i + 3) = X(i + 3) + Y(i + 3) Z(i + 4) = X(i + 4) + Y(i + 4) END DO END SUBROUTINE WADD !-------------------------------------------------------------- SUBROUTINE WGEFA(N,A,Ipvt,info) !-------------------------------------------------------------- ! WGEFA FACTORS THE MATRIX A (N,N) BY ! GAUSS ELIMINATION WITH PARTIAL PIVOTING ! LINPACK - LIKE !-------------------------------------------------------------- ! INTEGER :: N,Ipvt(N),info REAL(kind=dp) :: A(N,N) REAL(kind=dp) :: t, dmax, da INTEGER :: j,k,l REAL(kind=dp), PARAMETER :: ZERO = 0.0, ONE = 1.0 info = 0 size: IF (n > 1) THEN col: DO k = 1, n-1 ! find l = pivot index ! l = idamax(n-k+1,A(k,k),1) + k - 1 l = k; dmax = abs(A(k,k)) DO j = k+1,n da = ABS(A(j,k)) IF (da > dmax) THEN l = j; dmax = da END IF END DO Ipvt(k) = l ! zero pivot implies this column already triangularized IF (ABS(A(l,k)) < TINY(ZERO)) THEN info = k return ELSE IF (l /= k) THEN t = A(l,k); A(l,k) = A(k,k); A(k,k) = t END IF t = -ONE/A(k,k) CALL WSCAL(n-k,t,A(k+1,k),1) DO j = k+1, n t = A(l,j) IF (l /= k) THEN A(l,j) = A(k,j); A(k,j) = t END IF CALL WAXPY(n-k,t,A(k+1,k),1,A(k+1,j),1) END DO END IF END DO col END IF size Ipvt(N) = N IF (ABS(A(N,N)) == ZERO) info = N END SUBROUTINE WGEFA !-------------------------------------------------------------- SUBROUTINE WGESL(Trans,N,A,Ipvt,b) !-------------------------------------------------------------- ! WGESL solves the system ! a * x = b or trans(a) * x = b ! using the factors computed by WGEFA. ! ! Trans = 'N' to solve A*x = b , ! = 'T' to solve transpose(A)*x = b ! LINPACK - LIKE !-------------------------------------------------------------- INTEGER :: N,Ipvt(N) CHARACTER :: trans REAL(kind=dp) :: A(N,N),b(N) REAL(kind=dp) :: t INTEGER :: k,kb,l SELECT CASE (Trans) CASE ('n','N') ! Solve A * x = b ! first solve L*y = b IF (n >= 2) THEN DO k = 1, n-1 l = Ipvt(k) t = b(l) IF (l /= k) THEN b(l) = b(k) b(k) = t END IF CALL WAXPY(n-k,t,a(k+1,k),1,b(k+1),1) END DO END IF ! now solve U*x = y DO kb = 1, n k = n + 1 - kb b(k) = b(k)/a(k,k) t = -b(k) CALL WAXPY(k-1,t,a(1,k),1,b(1),1) END DO CASE ('t','T') ! Solve transpose(A) * x = b ! first solve trans(U)*y = b DO k = 1, n t = WDOT(k-1,a(1,k),1,b(1),1) b(k) = (b(k) - t)/a(k,k) END DO ! now solve trans(L)*x = y IF (n >= 2) THEN DO kb = 1, n-1 k = n - kb b(k) = b(k) + WDOT(n-k,a(k+1,k),1,b(k+1),1) l = Ipvt(k) IF (l /= k) THEN t = b(l); b(l) = b(k); b(k) = t END IF END DO END IF END SELECT END SUBROUTINE WGESL ! End of BLAS_UTIL function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ END MODULE gckpp_LinearAlgebra ================================================ FILE: KPP/Hg/gckpp_Model.F90 ================================================ MODULE gckpp_Model !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Completely defines the model gckpp ! by using all the associated modules !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ USE gckpp_Precision USE gckpp_Parameters USE gckpp_Global USE gckpp_Function USE gckpp_Integrator USE gckpp_Rates USE gckpp_Jacobian USE gckpp_LinearAlgebra USE gckpp_Monitor USE gckpp_Util END MODULE gckpp_Model ================================================ FILE: KPP/Hg/gckpp_Monitor.F90 ================================================ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Utility Data Module File ! ! Generated by KPP-3.2.0 symbolic chemistry Kinetics PreProcessor ! (https:/github.com/KineticPreProcessor/KPP ! KPP is distributed under GPL, the general public licence ! (http://www.gnu.org/copyleft/gpl.html) ! (C) 1995-1997, V. Damian & A. Sandu, CGRER, Univ. Iowa ! (C) 1997-2022, A. Sandu, Michigan Tech, Virginia Tech ! With important contributions from: ! M. Damian, Villanova University, Philadelphia, PA, USA ! R. Sander, Max-Planck Institute for Chemistry, Mainz, Germany ! M. Long, Renaissance Fiber, LLC, North Carolina, USA ! H. Lin, Harvard University, Cambridge, MA, USA ! R. Yantosca, Harvard University, Cambridge, MA, USA ! ! File : gckpp_Monitor.F90 ! Equation file : gckpp.kpp ! Output root filename : gckpp ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MODULE gckpp_Monitor CHARACTER(LEN=32), PARAMETER, DIMENSION(43) :: SPC_NAMES = (/ & 'HgCl2 ','Hg2ClP ','PHg2 ', & ! index 1 - 3 'PHg0 ','PHg2Br ','PHg2OH ', & ! index 4 - 6 'PHg2Cl ','HgClClO ','HgClBrO ', & ! index 7 - 9 'HgClBr ','HgOHClO ','HgOHBrO ', & ! index 10 - 12 'HgBrClO ','HgBrBrO ','HgOHNO2 ', & ! index 13 - 15 'HgBrNO2 ','HgClNO2 ','HgBr2 ', & ! index 16 - 18 'HgOHO ','HgOHOH ','HgOHHO2 ', & ! index 19 - 21 'HgBrO ','HgBrHO2 ','HgClO ', & ! index 22 - 24 'HgClHO2 ','HgClOH ','HgCl ', & ! index 25 - 27 'Hg2ORGP ','HgOH ','Hg0 ', & ! index 28 - 30 'HgBrOH ','HgBr ','Br ', & ! index 31 - 33 'Cl ','OH ','NO2 ', & ! index 34 - 36 'NO ','O3 ','HO2 ', & ! index 37 - 39 'BrO ','ClO ','CO ', & ! index 40 - 42 'CH4 ' /) ! index up to 43 INTEGER, DIMENSION(1) :: LOOKAT INTEGER, DIMENSION(1) :: MONITOR CHARACTER(LEN=32), DIMENSION(1) :: SMASS CHARACTER(LEN=100), PARAMETER, DIMENSION(30) :: EQN_NAMES_0 = (/ & ' Hg0 + Br --> PHg2 + PHg2Br + HgBr ', & ! index 1 ' HgBr --> PHg0 + Hg0 ', & ! index 2 ' HgBr + Br --> PHg0 + Hg0 ', & ! index 3 ' HgBr + NO2 --> PHg0 + Hg0 ', & ! index 4 ' HgBr + NO2 --> HgBrNO2 ', & ! index 5 ' HgBr + HO2 --> HgBrHO2 ', & ! index 6 ' HgBr + ClO --> HgBrClO ', & ! index 7 ' HgBr + BrO --> HgBrBrO ', & ! index 8 ' HgBr + OH --> HgBrOH ', & ! index 9 ' HgBr + Br --> HgBr2 ', & ! index 10 'HgBrO + CH4 --> HgBrOH ', & ! index 11 ' HgBrO + CO --> HgBr ', & ! index 12 ' HgBr + O3 --> HgBrO ', & ! index 13 ' Hg0 + Cl --> PHg2 + PHg2Cl + HgCl ', & ! index 14 ' HgCl + Cl --> PHg0 + Hg0 ', & ! index 15 ' HgCl + NO2 --> PHg0 + Hg0 ', & ! index 16 ' HgCl + NO2 --> HgClNO2 ', & ! index 17 ' HgCl + HO2 --> HgClHO2 ', & ! index 18 ' HgCl + ClO --> HgClClO ', & ! index 19 ' HgCl + BrO --> HgClBrO ', & ! index 20 ' HgCl + Br --> HgClBr ', & ! index 21 ' HgCl + OH --> HgClOH ', & ! index 22 ' HgCl + O3 --> HgClO ', & ! index 23 'HgClO + CH4 --> HgClOH ', & ! index 24 ' HgClO + CO --> HgCl ', & ! index 25 ' Hg0 + OH --> PHg2 + PHg2OH + HgOH ', & ! index 26 ' HgOH --> PHg0 + Hg0 ', & ! index 27 ' HgOH + NO2 --> HgOHNO2 ', & ! index 28 ' HgOH + HO2 --> HgOHHO2 ', & ! index 29 ' HgOH + ClO --> HgOHClO ' /) ! index up to 30 CHARACTER(LEN=100), PARAMETER, DIMENSION(30) :: EQN_NAMES_1 = (/ & ' HgOH + BrO --> HgOHBrO ', & ! index 31 ' HgOH + Br --> PHg2Br + HgBrOH ', & ! index 32 ' HgOH + OH --> HgOHOH ', & ! index 33 ' HgOH + O3 --> HgOHO ', & ! index 34 'HgOHO + CH4 --> HgOHOH ', & ! index 35 ' HgOHO + CO --> HgOH ', & ! index 36 ' HgBrNO2 --> Hg2ORGP ', & ! index 37 ' HgBrHO2 --> Hg2ORGP ', & ! index 38 ' HgBrOH --> Hg2ORGP ', & ! index 39 ' HgBrBrO --> Hg2ORGP ', & ! index 40 ' HgBrClO --> Hg2ORGP ', & ! index 41 ' HgBr2 --> Hg2ORGP ', & ! index 42 ' HgClNO2 --> Hg2ORGP ', & ! index 43 ' HgClHO2 --> Hg2ORGP ', & ! index 44 ' HgClOH --> Hg2ORGP ', & ! index 45 ' HgClBrO --> Hg2ORGP ', & ! index 46 ' HgClClO --> Hg2ORGP ', & ! index 47 ' HgClBr --> Hg2ORGP ', & ! index 48 ' HgCl2 --> Hg2ORGP ', & ! index 49 ' HgOHNO2 --> Hg2ORGP ', & ! index 50 ' HgOHHO2 --> Hg2ORGP ', & ! index 51 ' HgOHOH --> Hg2ORGP ', & ! index 52 ' HgOHBrO --> Hg2ORGP ', & ! index 53 ' HgOHClO --> Hg2ORGP ', & ! index 54 ' HgBrNO2 --> Hg2ClP ', & ! index 55 ' HgBrHO2 --> Hg2ClP ', & ! index 56 ' HgBrOH --> Hg2ClP ', & ! index 57 ' HgBrBrO --> Hg2ClP ', & ! index 58 ' HgBrClO --> Hg2ClP ', & ! index 59 ' HgBr2 --> Hg2ClP ' /) ! index up to 60 CHARACTER(LEN=100), PARAMETER, DIMENSION(30) :: EQN_NAMES_2 = (/ & ' HgClNO2 --> Hg2ClP ', & ! index 61 ' HgClHO2 --> Hg2ClP ', & ! index 62 ' HgClOH --> Hg2ClP ', & ! index 63 ' HgClBrO --> Hg2ClP ', & ! index 64 ' HgClClO --> Hg2ClP ', & ! index 65 ' HgClBr --> Hg2ClP ', & ! index 66 ' HgOHNO2 --> Hg2ClP ', & ! index 67 ' HgOHHO2 --> Hg2ClP ', & ! index 68 ' HgOHOH --> Hg2ClP ', & ! index 69 ' HgOHBrO --> Hg2ClP ', & ! index 70 ' HgOHClO --> Hg2ClP ', & ! index 71 ' NO2 --> NO + O3 ', & ! index 72 ' BrO --> Br + O3 ', & ! index 73 ' ClO --> Cl + O3 ', & ! index 74 ' HgBr --> PHg0 + Hg0 + Br ', & ! index 75 ' HgBrNO2 --> 0.9 HgBrO + 0.1 HgBr + 0.1 NO2 + 0.9 NO ', & ! index 76 ' HgBrHO2 --> 0.67 PHg0 + 0.25 HgBrO + 0.67 Hg0 + 0.01 HgBrOH + 0.07 HgBr + 0.67 Br + 0.26... etc.', & ! index 77 ' HgBrOH --> 0.49 PHg0 + 0.35 PHg2OH + 0.35 HgOH + 0.49 Hg0 + 0.01 HgBrOH + 0.15 HgBr + 0... etc.', & ! index 78 ' HgBr2 --> 0.4 PHg0 + 0.4 Hg0 + 0.6 HgBr + 1.4 Br ', & ! index 79 ' HgBrBrO --> PHg0 + Hg0 + BrO ', & ! index 80 ' HgBrClO --> PHg0 + Hg0 + Br + Cl ', & ! index 81 ' HgClNO2 --> 0.9 HgClO + 0.1 HgCl + 0.1 NO2 + 0.9 NO ', & ! index 82 ' HgClHO2 --> 0.67 PHg0 + 0.25 HgClO + 0.01 HgClOH + 0.07 HgCl + 0.67 Hg0 + 0.67 Cl + 0.26... etc.', & ! index 83 ' HgClOH --> 0.49 PHg0 + 0.35 PHg2OH + 0.01 HgClOH + 0.15 HgCl + 0.35 HgOH + 0.49 Hg0 + 0... etc.', & ! index 84 ' HgClBr --> HgCl + Br ', & ! index 85 ' HgClBrO --> HgCl + BrO ', & ! index 86 ' HgClClO --> HgCl + ClO ', & ! index 87 ' HgOH --> PHg0 + Hg0 + OH ', & ! index 88 ' HgOHNO2 --> 0.9 HgOHO + 0.1 HgOH + 0.1 NO2 + 0.9 NO ', & ! index 89 ' HgOHHO2 --> 0.67 PHg0 + 0.25 HgOHO + 0.01 HgOHOH + 0.07 HgOH + 0.67 Hg0 + 0.67 Cl + 0.26... etc.' /) ! index up to 90 CHARACTER(LEN=100), PARAMETER, DIMENSION(4) :: EQN_NAMES_3 = (/ & ' HgOHOH --> PHg0 + Hg0 + 2 OH ', & ! index 91 ' HgOHBrO --> HgOH + BrO ', & ! index 92 ' HgOHClO --> HgOH + ClO ', & ! index 93 ' Hg2ORGP --> PHg0 + Hg0 ' /) ! index up to 94 CHARACTER(LEN=100), PARAMETER, DIMENSION(94) :: EQN_NAMES = (/& EQN_NAMES_0, EQN_NAMES_1, EQN_NAMES_2, EQN_NAMES_3 /) CHARACTER(LEN=32), PARAMETER, DIMENSION(5) :: FAM_NAMES = (/ & 'PHg2 ','PHg0 ','PHg2Br ', & ! index 1 - 3 'PHg2OH ','PHg2Cl ' /) ! index up to 5 ! Begin inlined code from F90_DATA ! End inlined code from F90_DATA END MODULE gckpp_Monitor ================================================ FILE: KPP/Hg/gckpp_Parameters.F90 ================================================ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Parameter Module File ! ! Generated by KPP-3.2.0 symbolic chemistry Kinetics PreProcessor ! (https:/github.com/KineticPreProcessor/KPP ! KPP is distributed under GPL, the general public licence ! (http://www.gnu.org/copyleft/gpl.html) ! (C) 1995-1997, V. Damian & A. Sandu, CGRER, Univ. Iowa ! (C) 1997-2022, A. Sandu, Michigan Tech, Virginia Tech ! With important contributions from: ! M. Damian, Villanova University, Philadelphia, PA, USA ! R. Sander, Max-Planck Institute for Chemistry, Mainz, Germany ! M. Long, Renaissance Fiber, LLC, North Carolina, USA ! H. Lin, Harvard University, Cambridge, MA, USA ! R. Yantosca, Harvard University, Cambridge, MA, USA ! ! File : gckpp_Parameters.F90 ! Equation file : gckpp.kpp ! Output root filename : gckpp ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MODULE gckpp_Parameters USE gckpp_Precision PUBLIC SAVE ! NSPEC - Number of chemical species INTEGER, PARAMETER :: NSPEC = 43 ! NVAR - Number of Variable species INTEGER, PARAMETER :: NVAR = 32 ! NFAM - Number of Prod/Loss Families INTEGER, PARAMETER :: NFAM = 5 ! NVARACT - Number of Active species INTEGER, PARAMETER :: NVARACT = 26 ! NFIX - Number of Fixed species INTEGER, PARAMETER :: NFIX = 11 ! NREACT - Number of reactions INTEGER, PARAMETER :: NREACT = 94 ! NVARST - Starting of variables in conc. vect. INTEGER, PARAMETER :: NVARST = 1 ! NFIXST - Starting of fixed in conc. vect. INTEGER, PARAMETER :: NFIXST = 33 ! NONZERO - Number of nonzero entries in Jacobian INTEGER, PARAMETER :: NONZERO = 155 ! LU_NONZERO - Number of nonzero entries in LU factoriz. of Jacobian INTEGER, PARAMETER :: LU_NONZERO = 161 ! CNVAR - (NVAR+1) Number of elements in compressed row format INTEGER, PARAMETER :: CNVAR = 33 ! NLOOKAT - Number of species to look at INTEGER, PARAMETER :: NLOOKAT = 0 ! NMONITOR - Number of species to monitor INTEGER, PARAMETER :: NMONITOR = 0 ! NMASS - Number of atoms to check mass balance INTEGER, PARAMETER :: NMASS = 1 ! Index declaration for variable species in C and VAR ! VAR(ind_spc) = C(ind_spc) INTEGER, PARAMETER :: ind_HgCl2 = 1 INTEGER, PARAMETER :: ind_Hg2ClP = 2 INTEGER, PARAMETER :: ind_PHg2 = 3 INTEGER, PARAMETER :: ind_PHg0 = 4 INTEGER, PARAMETER :: ind_PHg2Br = 5 INTEGER, PARAMETER :: ind_PHg2OH = 6 INTEGER, PARAMETER :: ind_PHg2Cl = 7 INTEGER, PARAMETER :: ind_HgClClO = 8 INTEGER, PARAMETER :: ind_HgClBrO = 9 INTEGER, PARAMETER :: ind_HgClBr = 10 INTEGER, PARAMETER :: ind_HgOHClO = 11 INTEGER, PARAMETER :: ind_HgOHBrO = 12 INTEGER, PARAMETER :: ind_HgBrClO = 13 INTEGER, PARAMETER :: ind_HgBrBrO = 14 INTEGER, PARAMETER :: ind_HgOHNO2 = 15 INTEGER, PARAMETER :: ind_HgBrNO2 = 16 INTEGER, PARAMETER :: ind_HgClNO2 = 17 INTEGER, PARAMETER :: ind_HgBr2 = 18 INTEGER, PARAMETER :: ind_HgOHO = 19 INTEGER, PARAMETER :: ind_HgOHOH = 20 INTEGER, PARAMETER :: ind_HgOHHO2 = 21 INTEGER, PARAMETER :: ind_HgBrO = 22 INTEGER, PARAMETER :: ind_HgBrHO2 = 23 INTEGER, PARAMETER :: ind_HgClO = 24 INTEGER, PARAMETER :: ind_HgClHO2 = 25 INTEGER, PARAMETER :: ind_HgClOH = 26 INTEGER, PARAMETER :: ind_HgCl = 27 INTEGER, PARAMETER :: ind_Hg2ORGP = 28 INTEGER, PARAMETER :: ind_HgOH = 29 INTEGER, PARAMETER :: ind_Hg0 = 30 INTEGER, PARAMETER :: ind_HgBrOH = 31 INTEGER, PARAMETER :: ind_HgBr = 32 ! Index declaration for fixed species in C ! C(ind_spc) INTEGER, PARAMETER :: ind_Br = 33 INTEGER, PARAMETER :: ind_Cl = 34 INTEGER, PARAMETER :: ind_OH = 35 INTEGER, PARAMETER :: ind_NO2 = 36 INTEGER, PARAMETER :: ind_NO = 37 INTEGER, PARAMETER :: ind_O3 = 38 INTEGER, PARAMETER :: ind_HO2 = 39 INTEGER, PARAMETER :: ind_BrO = 40 INTEGER, PARAMETER :: ind_ClO = 41 INTEGER, PARAMETER :: ind_CO = 42 INTEGER, PARAMETER :: ind_CH4 = 43 ! Index declaration for fixed species in FIX ! FIX(indf_spc) = C(ind_spc) = C(NVAR+indf_spc) INTEGER, PARAMETER :: indf_Br = 1 INTEGER, PARAMETER :: indf_Cl = 2 INTEGER, PARAMETER :: indf_OH = 3 INTEGER, PARAMETER :: indf_NO2 = 4 INTEGER, PARAMETER :: indf_NO = 5 INTEGER, PARAMETER :: indf_O3 = 6 INTEGER, PARAMETER :: indf_HO2 = 7 INTEGER, PARAMETER :: indf_BrO = 8 INTEGER, PARAMETER :: indf_ClO = 9 INTEGER, PARAMETER :: indf_CO = 10 INTEGER, PARAMETER :: indf_CH4 = 11 END MODULE gckpp_Parameters ================================================ FILE: KPP/Hg/gckpp_Precision.F90 ================================================ MODULE gckpp_Precision ! ! Definition of different levels of accuracy ! for REAL variables using KIND parameterization ! ! KPP SP - Single precision kind INTEGER, PARAMETER :: sp = SELECTED_REAL_KIND(6,30) ! KPP DP - Double precision kind INTEGER, PARAMETER :: dp = SELECTED_REAL_KIND(14,300) ! KPP QP - Quadruple precision kind INTEGER, PARAMETER :: qp = SELECTED_REAL_KIND(18,400) END MODULE gckpp_Precision ================================================ FILE: KPP/Hg/gckpp_Rates.F90 ================================================ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! The Reaction Rates File ! ! Generated by KPP-3.2.0 symbolic chemistry Kinetics PreProcessor ! (https:/github.com/KineticPreProcessor/KPP ! KPP is distributed under GPL, the general public licence ! (http://www.gnu.org/copyleft/gpl.html) ! (C) 1995-1997, V. Damian & A. Sandu, CGRER, Univ. Iowa ! (C) 1997-2022, A. Sandu, Michigan Tech, Virginia Tech ! With important contributions from: ! M. Damian, Villanova University, Philadelphia, PA, USA ! R. Sander, Max-Planck Institute for Chemistry, Mainz, Germany ! M. Long, Renaissance Fiber, LLC, North Carolina, USA ! H. Lin, Harvard University, Cambridge, MA, USA ! R. Yantosca, Harvard University, Cambridge, MA, USA ! ! File : gckpp_Rates.F90 ! Equation file : gckpp.kpp ! Output root filename : gckpp ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MODULE gckpp_Rates USE gckpp_Parameters USE gckpp_Global IMPLICIT NONE INTEGER, PARAMETER :: ASSOC = 1, DISSOC = 2 PRIVATE :: ARR_abc_dp, ARR_abc_sp INTERFACE ARR_abc MODULE PROCEDURE ARR_abc_dp MODULE PROCEDURE ARR_abc_sp END INTERFACE ARR_abc PRIVATE :: ARR_ab_dp, ARR_ab_sp INTERFACE ARR_ab MODULE PROCEDURE ARR_ab_dp MODULE PROCEDURE ARR_ab_sp END INTERFACE ARR_ab PRIVATE :: ARR_ac_dp, ARR_ac_sp INTERFACE ARR_ac MODULE PROCEDURE ARR_ac_dp MODULE PROCEDURE ARR_ac_sp END INTERFACE ARR_ac PRIVATE :: EP2_dp, EP2_sp INTERFACE EP2 MODULE PROCEDURE EP2_dp MODULE PROCEDURE EP2_sp END INTERFACE EP2 PRIVATE :: EP3_dp, EP3_sp INTERFACE EP3 MODULE PROCEDURE EP3_dp MODULE PROCEDURE EP3_sp END INTERFACE EP3 PRIVATE :: FALL_dp, FALL_sp INTERFACE FALL MODULE PROCEDURE FALL_dp MODULE PROCEDURE FALL_sp END INTERFACE FALL PRIVATE :: k3rd_jpl_dp, k3rd_jpl_sp INTERFACE k3rd_jpl MODULE PROCEDURE k3rd_jpl_dp MODULE PROCEDURE k3rd_jpl_sp END INTERFACE k3rd_jpl PRIVATE :: k3rd_jpl_activation_dp, k3rd_jpl_activation_sp INTERFACE k3rd_jpl_activation MODULE PROCEDURE k3rd_jpl_activation_dp MODULE PROCEDURE k3rd_jpl_activation_sp END INTERFACE k3rd_jpl_activation PRIVATE :: k3rd_iupac_dp, k3rd_iupac_sp INTERFACE k3rd_iupac MODULE PROCEDURE k3rd_iupac_dp MODULE PROCEDURE k3rd_iupac_sp END INTERFACE k3rd_iupac CONTAINS ! Begin Rate Law Functions from KPP_HOME/util/UserRateLaws !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! User-defined Rate Law functions ! ! NOTE: For computational efficiency, we have created duplicate rate law ! routines here that take either all single precision or all double precision ! arguments. Explicit casts to DBLE are skipped in the functions that take ! all double precision arguments (as this removes unneeded computations). ! ! These functions are overloaded by INTERFACE statements, which are located ! in file UserRateLawsInterfaces.f90. The UserRateLawsInterfaces.f90 file ! will be in-lined into the top of the gckpp_Rates module. !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ FUNCTION ARR_abc_dp( a0, b0, c0 ) RESULT( k ) ! Arrhenius function, for nonzero a0, b0, c0 (dp args) REAL(dp), INTENT(IN) :: a0, b0, c0 REAL(kind=dp) :: k k = a0 * EXP(-b0/TEMP) * (TEMP/300.0_dp)**C0 END FUNCTION ARR_abc_dp FUNCTION ARR_abc_sp( a0, b0, c0 ) RESULT( k ) ! Arrhenius function, for nonzero a0, b0, c0 (sp args) REAL(sp), INTENT(IN) :: a0, b0, c0 REAL(kind=dp) :: k k = DBLE(a0) * EXP(-DBLE(b0)/TEMP) * (TEMP/300.0_dp)**DBLE(c0) END FUNCTION ARR_abc_sp !--------------------------------------------------------------------------- FUNCTION ARR_ab_dp( a0, b0 ) RESULT( k ) ! Arrhenius function, for nonzero a0, b0 (dp args) REAL(dp), INTENT(IN) :: a0, b0 REAL(kind=dp) :: k k = a0 * EXP(-b0/TEMP) END FUNCTION ARR_ab_dp FUNCTION ARR_ab_sp( a0, b0 ) RESULT( k ) ! Arrhenius function, for nonzero a0, b0 (sp args) REAL(sp), INTENT(IN) :: a0, b0 REAL(kind=dp) :: k k = DBLE(a0) * EXP(-DBLE(b0)/TEMP) END FUNCTION ARR_ab_sp !--------------------------------------------------------------------------- FUNCTION ARR_ac_dp( a0, c0 ) RESULT( k ) ! Arrhenius function, for nonzero a0, c0 (dp args) REAL(dp), INTENT(IN) :: a0, c0 REAL(kind=dp) :: k k = a0 * (TEMP/300.0_dp)**C0 END FUNCTION ARR_ac_dp FUNCTION ARR_ac_sp( a0, c0 ) RESULT( k ) ! Arrhenius function, for nonzero a0, c0 (sp args) REAL(sp), INTENT(IN) :: a0, c0 REAL(kind=dp) :: k k = DBLE(a0) * (TEMP/300.0_dp)**DBLE(c0) END FUNCTION ARR_ac_sp !--------------------------------------------------------------------------- FUNCTION EP2_dp( a0, c0, a2, c2, a3, c3 ) RESULT( k ) ! EP2 function, for saprc99 and saprcnov (dp args) REAL(dp), INTENT(IN) :: a0, c0, a2, c2, a3, c3 REAL(dp) :: k0, k2, k3 REAL(kind=dp) :: k k0 = a0 * EXP(-c0/temp) k2 = a2 * EXP(-c2/temp) k3 = a3 * EXP(-c3/temp) k3 = k3 * CFACTOR * 1.0E6_dp k = k0 + k3/(1.0_dp + k3/k2) END FUNCTION EP2_dp FUNCTION EP2_sp( a0, c0, a2, c2, a3, c3 ) RESULT( k ) ! EP2 function, for saprc99 and saprcnov (sp args) REAL(sp), INTENT(IN) :: a0, c0, a2, c2, a3, c3 REAL(dp) :: k0, k2, k3 REAL(kind=dp) :: k k0 = DBLE(a0) * EXP(-DBLE(c0)/TEMP) k2 = DBLE(a2) * EXP(-DBLE(c2)/TEMP) k3 = DBLE(a3) * EXP(-DBLE(c3)/TEMP) k3 = k3 * CFACTOR * 1.0E6_dp k = k0 + K3/(1.0_dp + k3/k2) END FUNCTION EP2_sp !--------------------------------------------------------------------------- FUNCTION EP3_dp( a1, c1, a2, c2) RESULT( k ) ! EP3 function, for saprc99 and saprcnov (dp args) REAL(dp), INTENT(IN) :: a1, c1, a2, c2 REAL(dp) :: k1, k2 REAL(kind=dp) :: k k1 = a1 * EXP(-c1/TEMP) k2 = a2 * EXP(-c2/TEMP) k = k1 + k2*(1.0E6_dp * CFACTOR) END FUNCTION EP3_dp FUNCTION EP3_sp( a1, c1, a2, c2 ) RESULT( k ) ! EP3 function, for saprc99 and saprcnov (sp args) REAL(sp), INTENT(IN) :: a1, c1, a2, c2 REAL(dp) :: k1, k2 REAL(kind=dp) :: k k1 = DBLE(a1) * EXP(-DBLE(c1)/TEMP) k2 = DBLE(a2) * EXP(-DBLE(c2)/TEMP) k = k1 + k2*(1.0E6_dp * CFACTOR) END FUNCTION EP3_sp !--------------------------------------------------------------------------- FUNCTION FALL_dp( a0, b0, c0, a1, b1, c1, cf ) RESULT( k ) ! FALL function, for saprc99 and saprcnov (dp args) REAL(dp), INTENT(IN) :: a0, b0, c0, a1, b1, c1, cf REAL(dp) :: k0, k1 REAL(kind=dp) :: k k0 = a0 * EXP(-b0/TEMP) * (TEMP/300.0_dp)**c0 k1 = a1 * EXP(-b1/TEMP) * (TEMP/300.0_dp)**c1 k0 = k0 * CFACTOR * 1.0E6_dp k1 = k0 / k1 k = (k0/(1.0_dp+k1)) * cf**(1.0_dp/(1.0_dp+(LOG10(k1))**2)) END FUNCTION FALL_dp FUNCTION FALL_sp( a0, b0, c0, a1, b1, c1, cf ) RESULT( k ) ! FALL function, for saprc99 and saprcnov (sp args) REAL(sp), INTENT(IN) :: a0, b0, c0, a1, b1, c1, cf REAL(dp) :: k0, k1 REAL(kind=dp) :: k k0 = DBLE(A0) * EXP(-DBLE(B0)/TEMP)* (TEMP/300.0_dp)**DBLE(C0) k1 = DBLE(A1) * EXP(-DBLE(B1)/TEMP)* (TEMP/300.0_dp)**DBLE(C1) k0 = k0 * CFACTOR * 1.0E6_dp k1 = k0 / k1 k = (k0/(1.0_dp+k1)) * DBLE(cf)**(1.0_dp/(1.0_dp+(LOG10(k1))**2)) END FUNCTION FALL_sp !--------------------------------------------------------------------------- ! JPL (jpldataeval.jpl.nasa.gov) three-body reaction formula: REAL(dp) FUNCTION k3rd_jpl_dp(cair,k0_300K,n,kinf_300K,m,fc) ! dp args INTRINSIC LOG10 REAL(dp), INTENT(IN) :: cair ! air concentration [molecules/cm3] REAL(dp), INTENT(IN) :: k0_300K ! low pressure limit at 300 K REAL(dp), INTENT(IN) :: n ! exponent for low pressure limit REAL(dp), INTENT(IN) :: kinf_300K ! high pressure limit at 300 K REAL(dp), INTENT(IN) :: m ! exponent for high pressure limit REAL(dp), INTENT(IN) :: fc ! broadening factor (usually fc=0.6) REAL(dp) :: zt_help, k0_T, kinf_T, k_ratio zt_help = 300._dp/temp k0_T = k0_300K * zt_help**(n) * cair ! k_0 at current T kinf_T = kinf_300K * zt_help**(m) ! k_inf at current T k_ratio = k0_T/kinf_T k3rd_jpl_dp = k0_T/(1._dp+k_ratio)*fc**(1._dp/(1._dp+LOG10(k_ratio)**2)) END FUNCTION k3rd_jpl_dp REAL(kind=dp) FUNCTION k3rd_jpl_sp(cair,k0_300K,n,kinf_300K,m,fc) ! sp args INTRINSIC LOG10 REAL(sp), INTENT(IN) :: cair ! air concentration [molecules/cm3] REAL(sp), INTENT(IN) :: k0_300K ! low pressure limit at 300 K REAL(sp), INTENT(IN) :: n ! exponent for low pressure limit REAL(sp), INTENT(IN) :: kinf_300K ! high pressure limit at 300 K REAL(sp), INTENT(IN) :: m ! exponent for high pressure limit REAL(sp), INTENT(IN) :: fc ! broadening factor (usually fc=0.6) REAL(sp) :: zt_help, k0_T, kinf_T, k_ratio zt_help = 300._dp/temp k0_T = k0_300K * zt_help**(n) * cair ! k_0 at current T kinf_T = kinf_300K * zt_help**(m) ! k_inf at current T k_ratio = k0_T/kinf_T k3rd_jpl_sp = k0_T/(1._dp+k_ratio)*fc**(1._dp/(1._dp+LOG10(k_ratio)**2)) END FUNCTION k3rd_jpl_sp ! -------------------------------------------------------------------------- ! JPL (jpldataeval.jpl.nasa.gov) termolecular chemical activation reaction: FUNCTION k3rd_jpl_activation_dp(cair,k0_298K,n,kinf_298K,m,A,B) ! dp args INTRINSIC :: LOG10 REAL(dp), DIMENSION(2) :: k3rd_jpl_activation_dp REAL(dp), INTENT(IN) :: cair ! air concentration [molecules/cm3] REAL(dp), INTENT(IN) :: k0_298K ! low pressure limit at 300 K REAL(dp), INTENT(IN) :: n ! exponent for low pressure limit REAL(dp), INTENT(IN) :: kinf_298K ! high pressure limit at 300 K REAL(dp), INTENT(IN) :: m ! exponent for high pressure limit REAL(dp), INTENT(IN) :: A ! for k_int REAL(dp), INTENT(IN) :: B ! for k_int REAL(dp) :: zt_help, k0_TM, kinf_T, k_ratio, k_f, k_int, k_fCA zt_help = 298./temp k0_TM = k0_298K * zt_help**n * cair ! k_0 at current T * M kinf_T = kinf_298K * zt_help**m ! k_inf at current T k_ratio = k0_TM/kinf_T k_f = k0_TM/(1.+k_ratio)*0.6**(1./(1.+LOG10(k_ratio)**2)) k_int = A * exp(-B/temp) k_fCA = k_int * (1. - k_f/kinf_T) k3rd_jpl_activation_dp(ASSOC) = k_f k3rd_jpl_activation_dp(DISSOC) = k_fCA END FUNCTION k3rd_jpl_activation_dp FUNCTION k3rd_jpl_activation_sp(cair,k0_298K,n,kinf_298K,m,A,B) ! sp args INTRINSIC :: LOG10 REAL(kind=dp), DIMENSION(2) :: k3rd_jpl_activation_sp REAL(sp), INTENT(IN) :: cair ! air concentration [molecules/cm3] REAL(sp), INTENT(IN) :: k0_298K ! low pressure limit at 300 K REAL(sp), INTENT(IN) :: n ! exponent for low pressure limit REAL(sp), INTENT(IN) :: kinf_298K ! high pressure limit at 300 K REAL(sp), INTENT(IN) :: m ! exponent for high pressure limit REAL(sp), INTENT(IN) :: A ! for k_int REAL(sp), INTENT(IN) :: B ! for k_int REAL(sp) :: zt_help, k0_TM, kinf_T, k_ratio, k_f, k_int, k_fCA zt_help = 298./temp k0_TM = k0_298K * zt_help**n * cair ! k_0 at current T * M kinf_T = kinf_298K * zt_help**m ! k_inf at current T k_ratio = k0_TM/kinf_T k_f = k0_TM/(1.+k_ratio)*0.6**(1./(1.+LOG10(k_ratio)**2)) k_int = A * exp(-B/temp) k_fCA = k_int * (1. - k_f/kinf_T) k3rd_jpl_activation_sp(ASSOC) = k_f k3rd_jpl_activation_sp(DISSOC) = k_fCA END FUNCTION k3rd_jpl_activation_sp ! -------------------------------------------------------------------------- ! IUPAC (iupac.pole-ether.fr) three-body reaction formula: REAL(dp) FUNCTION k3rd_iupac_dp(cair,k0_300K,n,kinf_300K,m,fc) ! dp args INTRINSIC :: LOG10 REAL(dp), INTENT(IN) :: cair ! air concentration [molecules/cm3] REAL(dp), INTENT(IN) :: k0_300K ! low pressure limit at 300 K REAL(dp), INTENT(IN) :: n ! exponent for low pressure limit REAL(dp), INTENT(IN) :: kinf_300K ! high pressure limit at 300 K REAL(dp), INTENT(IN) :: m ! exponent for high pressure limit REAL(dp), INTENT(IN) :: fc ! broadening factor (e.g. 0.45 or 0.6...) REAL(dp) :: nu ! N REAL(dp) :: zt_help, k0_T, kinf_T, k_ratio zt_help = 300._dp/temp k0_T = k0_300K * zt_help**(n) * cair ! k_0 at current T kinf_T = kinf_300K * zt_help**(m) ! k_inf at current T k_ratio = k0_T/kinf_T nu = 0.75-1.27*LOG10(fc) k3rd_iupac_dp = k0_T/(1._dp+k_ratio)* & fc**(1._dp/(1._dp+(LOG10(k_ratio)/nu)**2)) END FUNCTION k3rd_iupac_dp REAL(kind=dp) FUNCTION k3rd_iupac_sp(cair,k0_300K,n,kinf_300K,m,fc) ! sp args INTRINSIC :: LOG10 REAL(sp), INTENT(IN) :: cair ! air concentration [molecules/cm3] REAL(sp), INTENT(IN) :: k0_300K ! low pressure limit at 300 K REAL(sp), INTENT(IN) :: n ! exponent for low pressure limit REAL(sp), INTENT(IN) :: kinf_300K ! high pressure limit at 300 K REAL(sp), INTENT(IN) :: m ! exponent for high pressure limit REAL(sp), INTENT(IN) :: fc ! broadening factor (e.g. 0.45 or 0.6...) REAL(sp) :: nu ! N REAL(sp) :: zt_help, k0_T, kinf_T, k_ratio zt_help = 300._dp/temp k0_T = k0_300K * zt_help**(n) * cair ! k_0 at current T kinf_T = kinf_300K * zt_help**(m) ! k_inf at current T k_ratio = k0_T/kinf_T nu = 0.75-1.27*LOG10(fc) k3rd_iupac_sp = k0_T/(1._dp+k_ratio)* & fc**(1._dp/(1._dp+(LOG10(k_ratio)/nu)**2)) END FUNCTION k3rd_iupac_sp !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! End of User-defined Rate Law functions !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! End Rate Law Functions from KPP_HOME/util/UserRateLaws ! Begin inlined code from F90_RATES ! All rates are included in Hg_RateLawFuncs.F90, which ! gets referenced directly from subroutine Update_Rconst. ! End inlined code from F90_RATES ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Update_SUN - update SUN light using TIME ! Arguments : ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Update_SUN() USE gckpp_Parameters USE gckpp_Global IMPLICIT NONE REAL(kind=dp) :: SunRise, SunSet REAL(kind=dp) :: Thour, Tlocal, Ttmp ! PI - Value of pi REAL(kind=dp), PARAMETER :: PI = 3.14159265358979d0 SunRise = 4.5_dp SunSet = 19.5_dp Thour = TIME/3600.0_dp Tlocal = Thour - (INT(Thour)/24)*24 IF ((Tlocal>=SunRise).AND.(Tlocal<=SunSet)) THEN Ttmp = (2.0*Tlocal-SunRise-SunSet)/(SunSet-SunRise) IF (Ttmp.GT.0) THEN Ttmp = Ttmp*Ttmp ELSE Ttmp = -Ttmp*Ttmp END IF SUN = ( 1.0_dp + COS(PI*Ttmp) )/2.0_dp ELSE SUN = 0.0_dp END IF END SUBROUTINE Update_SUN ! End of Update_SUN function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Update_RCONST ( YIN ) ! Begin inlined code from F90_RCONST_USE ! Inline an include file containing rate law definitions, which ! will be inserted directly into subroutine Update_Rconst(). ! This is necessary as a workaround for KPP not being able to ! include very large files ( > 200000 chars) directly. ! -- Bob Yantosca (09 Dec 2021) USE Hg_RateLawFuncs ! End inlined code from F90_RCONST_USE ! YIN - Optional input concentrations of variable species REAL(kind=dp), OPTIONAL :: YIN(NVAR) ! Y - Concentrations of species (local) REAL(kind=dp) :: Y(NSPEC) ! Ensure local Y array is filled with variable and constant concentrations Y(1:NSPEC) = C(1:NSPEC) ! Update local Y array if variable concentrations are provided if (present(YIN)) Y(1:NVAR) = YIN(1:NVAR) ! Begin inlined code from F90_RCONST ! End inlined code from F90_RCONST RCONST(1) = (GCARR_ab(1.46d-32,1.86d0)*NUMDEN) RCONST(2) = (GCARR_abc(1.6d-9,1.86d0,-7801.0d0)*NUMDEN) RCONST(3) = (3.9d-11) RCONST(4) = (3.0d-12) RCONST(5) = (GCJPLPR_abab(4.3d-30,5.9d0,1.2d-10,1.90d0,0.6d0)) RCONST(6) = (GCJPLPR_abab(4.3d-30,5.9d0,6.9d-11,2.40d0,0.6d0)) RCONST(7) = (GCJPLPR_abab(4.3d-30,5.9d0,6.9d-11,2.40d0,0.6d0)) RCONST(8) = (GCJPLPR_abab(4.3d-30,5.9d0,6.9d-11,2.40d0,0.6d0)) RCONST(9) = (GCJPLPR_abab(4.3d-30,5.9d0,6.9d-11,2.40d0,0.6d0)) RCONST(10) = (3.0d-11) RCONST(11) = (GCARR_ac(4.1d-12,-856.0d0)) RCONST(12) = (GCARR_ac(6.0d-11,-550.0d0)) RCONST(13) = (3.0d-11) RCONST(14) = (GCARR_ac(2.25d-33,680.0d0)*NUMDEN) RCONST(15) = (3.9d-11) RCONST(16) = (3.0d-12) RCONST(17) = (GCJPLPR_abab(4.3d-30,5.9d0,1.2d-10,1.90d0,0.6d0)) RCONST(18) = (GCJPLPR_abab(4.3d-30,5.9d0,6.9d-11,2.40d0,0.6d0)) RCONST(19) = (GCJPLPR_abab(4.3d-30,5.9d0,6.9d-11,2.40d0,0.6d0)) RCONST(20) = (GCJPLPR_abab(4.3d-30,5.9d0,6.9d-11,2.40d0,0.6d0)) RCONST(21) = (3.0d-11) RCONST(22) = (3.0d-11) RCONST(23) = (3.0d-11) RCONST(24) = (GCARR_ac(4.1d-12,-856.0d0)) RCONST(25) = (GCARR_ac(6.0d-11,-550.0d0)) RCONST(26) = (GCARR_ac(3.34d-33,43.0d0)*NUMDEN) RCONST(27) = (GCARR_ac(1.22d-9,-5720.0d0)*NUMDEN) RCONST(28) = (GCJPLPR_abab(4.1d-30,5.9d0,1.2E-10,1.90d0,0.6d0)) RCONST(29) = (GCJPLPR_abab(4.1d-30,5.9d0,6.9d-11,2.40d0,0.6d0)) RCONST(30) = (GCJPLPR_abab(4.1d-30,5.9d0,6.9d-11,2.40d0,0.6d0)) RCONST(31) = (GCJPLPR_abab(4.1d-30,5.9d0,6.9d-11,2.40d0,0.6d0)) RCONST(32) = (GCJPLPR_abab(4.1d-30,5.9d0,6.9d-11,2.40d0,0.6d0)) RCONST(33) = (GCJPLPR_abab(4.1d-30,5.9d0,6.9d-11,2.40d0,0.6d0)) RCONST(34) = (3.0d-11) RCONST(35) = (GCARR_ac(4.1d-12,-856.0d0)) RCONST(36) = (GCARR_ac(6.0d-11,-550.0d0)) RCONST(37) = (Het_HgIIP_Org(State_Het,0.1d0,SR_MW(ind_HgBrNO2))) RCONST(38) = (Het_HgIIP_Org(State_Het,0.1d0,SR_MW(ind_HgBrHO2))) RCONST(39) = (Het_HgIIP_Org(State_Het,0.1d0,SR_MW(ind_HgBrOH))) RCONST(40) = (Het_HgIIP_Org(State_Het,0.1d0,SR_MW(ind_HgBrBrO))) RCONST(41) = (Het_HgIIP_Org(State_Het,0.1d0,SR_MW(ind_HgBrClO))) RCONST(42) = (Het_HgIIP_Org(State_Het,0.1d0,SR_MW(ind_HgBr2))) RCONST(43) = (Het_HgIIP_Org(State_Het,0.1d0,SR_MW(ind_HgClNO2))) RCONST(44) = (Het_HgIIP_Org(State_Het,0.1d0,SR_MW(ind_HgClHO2))) RCONST(45) = (Het_HgIIP_Org(State_Het,0.1d0,SR_MW(ind_HgClOH))) RCONST(46) = (Het_HgIIP_Org(State_Het,0.1d0,SR_MW(ind_HgClBrO))) RCONST(47) = (Het_HgIIP_Org(State_Het,0.1d0,SR_MW(ind_HgClClO))) RCONST(48) = (Het_HgIIP_Org(State_Het,0.1d0,SR_MW(ind_HgClBr))) RCONST(49) = (Het_HgIIP_Org(State_Het,0.1d0,SR_MW(ind_HgCl2))) RCONST(50) = (Het_HgIIP_Org(State_Het,0.1d0,SR_MW(ind_HgOHNO2))) RCONST(51) = (Het_HgIIP_Org(State_Het,0.1d0,SR_MW(ind_HgOHHO2))) RCONST(52) = (Het_HgIIP_Org(State_Het,0.1d0,SR_MW(ind_HgOHOH))) RCONST(53) = (Het_HgIIP_Org(State_Het,0.1d0,SR_MW(ind_HgOHBrO))) RCONST(54) = (Het_HgIIP_Org(State_Het,0.1d0,SR_MW(ind_HgOHClO))) RCONST(55) = (Het_HgIIP_Inorg(State_Het,0.1d0,SR_MW(ind_HgBrNO2))) RCONST(56) = (Het_HgIIP_Inorg(State_Het,0.1d0,SR_MW(ind_HgBrHO2))) RCONST(57) = (Het_HgIIP_Inorg(State_Het,0.1d0,SR_MW(ind_HgBrOH))) RCONST(58) = (Het_HgIIP_Inorg(State_Het,0.1d0,SR_MW(ind_HgBrBrO))) RCONST(59) = (Het_HgIIP_Inorg(State_Het,0.1d0,SR_MW(ind_HgBrClO))) RCONST(60) = (Het_HgIIP_Inorg(State_Het,0.1d0,SR_MW(ind_HgBr2))) RCONST(61) = (Het_HgIIP_Inorg(State_Het,0.1d0,SR_MW(ind_HgClNO2))) RCONST(62) = (Het_HgIIP_Inorg(State_Het,0.1d0,SR_MW(ind_HgClHO2))) RCONST(63) = (Het_HgIIP_Inorg(State_Het,0.1d0,SR_MW(ind_HgClOH))) RCONST(64) = (Het_HgIIP_Inorg(State_Het,0.1d0,SR_MW(ind_HgClBrO))) RCONST(65) = (Het_HgIIP_Inorg(State_Het,0.1d0,SR_MW(ind_HgClClO))) RCONST(66) = (Het_HgIIP_Inorg(State_Het,0.1d0,SR_MW(ind_HgClBr))) RCONST(67) = (Het_HgIIP_Inorg(State_Het,0.1d0,SR_MW(ind_HgOHNO2))) RCONST(68) = (Het_HgIIP_Inorg(State_Het,0.1d0,SR_MW(ind_HgOHHO2))) RCONST(69) = (Het_HgIIP_Inorg(State_Het,0.1d0,SR_MW(ind_HgOHOH))) RCONST(70) = (Het_HgIIP_Inorg(State_Het,0.1d0,SR_MW(ind_HgOHBrO))) RCONST(71) = (Het_HgIIP_Inorg(State_Het,0.1d0,SR_MW(ind_HgOHClO))) RCONST(72) = (PHOTOL(25)) RCONST(73) = (PHOTOL(26)) RCONST(74) = (PHOTOL(27)) RCONST(75) = (PHOTOL(4)) RCONST(76) = (PHOTOL(7)) RCONST(77) = (PHOTOL(8)) RCONST(78) = (PHOTOL(9)) RCONST(79) = (PHOTOL(10)) RCONST(80) = (PHOTOL(11)) RCONST(81) = (PHOTOL(12)) RCONST(82) = (PHOTOL(14)) RCONST(83) = (PHOTOL(15)) RCONST(84) = (PHOTOL(16)) RCONST(85) = (PHOTOL(17)) RCONST(86) = (PHOTOL(18)) RCONST(87) = (PHOTOL(19)) RCONST(88) = (PHOTOL(6)) RCONST(89) = (PHOTOL(20)) RCONST(90) = (PHOTOL(21)) RCONST(91) = (PHOTOL(5)) RCONST(92) = (PHOTOL(23)) RCONST(93) = (PHOTOL(24)) RCONST(94) = (PHOTOL(13)) END SUBROUTINE UPDATE_RCONST ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Update_PHOTO - function to update photolytical rate constants ! Arguments : ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Update_PHOTO ( ) ! Begin inlined code from F90_RCONST_USE ! Inline an include file containing rate law definitions, which ! will be inserted directly into subroutine Update_Rconst(). ! This is necessary as a workaround for KPP not being able to ! include very large files ( > 200000 chars) directly. ! -- Bob Yantosca (09 Dec 2021) USE Hg_RateLawFuncs ! End inlined code from F90_RCONST_USE ! Begin inlined code from F90_RCONST ! End inlined code from F90_RCONST RCONST(72) = (PHOTOL(25)) RCONST(73) = (PHOTOL(26)) RCONST(74) = (PHOTOL(27)) RCONST(75) = (PHOTOL(4)) RCONST(76) = (PHOTOL(7)) RCONST(77) = (PHOTOL(8)) RCONST(78) = (PHOTOL(9)) RCONST(79) = (PHOTOL(10)) RCONST(80) = (PHOTOL(11)) RCONST(81) = (PHOTOL(12)) RCONST(82) = (PHOTOL(14)) RCONST(83) = (PHOTOL(15)) RCONST(84) = (PHOTOL(16)) RCONST(85) = (PHOTOL(17)) RCONST(86) = (PHOTOL(18)) RCONST(87) = (PHOTOL(19)) RCONST(88) = (PHOTOL(6)) RCONST(89) = (PHOTOL(20)) RCONST(90) = (PHOTOL(21)) RCONST(91) = (PHOTOL(5)) RCONST(92) = (PHOTOL(23)) RCONST(93) = (PHOTOL(24)) RCONST(94) = (PHOTOL(13)) END SUBROUTINE Update_PHOTO ! End of Update_PHOTO function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ END MODULE gckpp_Rates ================================================ FILE: KPP/Hg/gckpp_Util.F90 ================================================ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Auxiliary Routines File ! ! Generated by KPP-3.2.0 symbolic chemistry Kinetics PreProcessor ! (https:/github.com/KineticPreProcessor/KPP ! KPP is distributed under GPL, the general public licence ! (http://www.gnu.org/copyleft/gpl.html) ! (C) 1995-1997, V. Damian & A. Sandu, CGRER, Univ. Iowa ! (C) 1997-2022, A. Sandu, Michigan Tech, Virginia Tech ! With important contributions from: ! M. Damian, Villanova University, Philadelphia, PA, USA ! R. Sander, Max-Planck Institute for Chemistry, Mainz, Germany ! M. Long, Renaissance Fiber, LLC, North Carolina, USA ! H. Lin, Harvard University, Cambridge, MA, USA ! R. Yantosca, Harvard University, Cambridge, MA, USA ! ! File : gckpp_Util.F90 ! Equation file : gckpp.kpp ! Output root filename : gckpp ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MODULE gckpp_Util USE gckpp_Parameters IMPLICIT NONE CONTAINS ! Begin inlined code from F90_UTIL ! End inlined code from F90_UTIL ! Begin Utility Functions from KPP_HOME/util/util ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! UTIL - Utility functions ! Arguments : ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! **************************************************************** ! ! InitSaveData - Opens the data file for writing ! Parameters : ! ! **************************************************************** SUBROUTINE InitSaveData () USE gckpp_Parameters open(10, file='gckpp.dat') END SUBROUTINE InitSaveData ! End of InitSaveData function ! **************************************************************** ! **************************************************************** ! ! SaveData - Write LOOKAT species in the data file ! Parameters : ! ! **************************************************************** SUBROUTINE SaveData () USE gckpp_Global USE gckpp_Monitor INTEGER i WRITE(10,999) (TIME-TSTART)/3600.D0, & (C(LOOKAT(i))/CFACTOR, i=1,NLOOKAT) 999 FORMAT(E24.16,100(1X,E24.16)) END SUBROUTINE SaveData ! End of SaveData function ! **************************************************************** ! **************************************************************** ! ! CloseSaveData - Close the data file ! Parameters : ! ! **************************************************************** SUBROUTINE CloseSaveData () USE gckpp_Parameters CLOSE(10) END SUBROUTINE CloseSaveData ! End of CloseSaveData function ! **************************************************************** ! **************************************************************** ! ! GenerateMatlab - Generates MATLAB file to load the data file ! Parameters : ! It will have a character string to prefix each ! species name with. ! ! **************************************************************** SUBROUTINE GenerateMatlab ( PREFIX ) USE gckpp_Parameters USE gckpp_Global USE gckpp_Monitor CHARACTER(LEN=8) PREFIX INTEGER i open(20, file='gckpp.m') write(20,*) 'load gckpp.dat;' write(20,990) PREFIX 990 FORMAT(A1,'c = gckpp;') write(20,*) 'clear gckpp;' write(20,991) PREFIX, PREFIX 991 FORMAT(A1,'t=',A1,'c(:,1);') write(20,992) PREFIX 992 FORMAT(A1,'c(:,1)=[];') do i=1,NLOOKAT write(20,993) PREFIX, SPC_NAMES(LOOKAT(i)), PREFIX, i 993 FORMAT(A1,A6,' = ',A1,'c(:,',I2,');') end do CLOSE(20) END SUBROUTINE GenerateMatlab ! End of GenerateMatlab function ! **************************************************************** ! **************************************************************** ! ! Integrator_Update_Options - determine whether to call Update_RCONST, ! Update_PHOTO, and Update_SUN from within the integrator ! ! Parameters: ! option (input) ! = -1 : Do not call Update_* functions within the integrator ! = 0 : Status quo: Call whichever functions are normally called ! = 1 : Call Update_RCONST from within the integrator ! = 2 : Call Update_PHOTO from within the integrator ! = 3 : Call Update_RCONST and Update_PHOTO from within the int. ! = 4 : Call Update_SUN from within the integrator ! = 5 : Call Update_SUN and Update_RCONST from within the int. ! = 6 : not implemented ! = 7 : not implemented ! ! Do_Update_RCONST (output): ! =T : Calls Update_RCONST from within the integrator ! =F : Does not call UPDATE_RCONST from w/in the int. ! ! Do_Update_PHOTO (output): ! =T : Calls Update_PHOTO from within the integrator ! =F : Does not call UPDATE_PHOTO from w/in the int. ! ! Do_Update_SUN (output): ! =T : Calls Update_SUN from within the integrator ! =F : Does not call UPDATE_SUN from w/in the int. ! ! **************************************************************** SUBROUTINE Integrator_Update_Options( option, & Do_Update_RConst, & Do_Update_Photo, & Do_Update_Sun ) !~~~> Input variables INTEGER, INTENT(IN) :: option !~~~> Output variables LOGICAL, INTENT(OUT) :: Do_Update_RCONST LOGICAL, INTENT(OUT) :: Do_Update_PHOTO LOGICAL, INTENT(OUT) :: Do_Update_SUN ! Option -1: turn off all Update_* calls within the integrator IF ( option == -1 ) THEN Do_Update_RCONST = .FALSE. Do_Update_PHOTO = .FALSE. Do_Update_SUN = .FALSE. RETURN ENDIF ! Otherwise determine from the value passed Do_Update_RCONST = ( IAND( option, 1 ) > 0 ) Do_Update_PHOTO = ( IAND( option, 2 ) > 0 ) Do_Update_SUN = ( IAND( option, 4 ) > 0 ) END SUBROUTINE Integrator_Update_Options ! End of Integrator_Update_Options function ! **************************************************************** ! End Utility Functions from KPP_HOME/util/util ! End of UTIL function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Shuffle_user2kpp - function to copy concentrations from USER to KPP ! Arguments : ! V_USER - Concentration of variable species in USER's order ! V - Concentrations of variable species (local) ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Shuffle_user2kpp ( V_USER, V ) ! V_USER - Concentration of variable species in USER's order REAL(kind=dp) :: V_USER(NVAR) ! V - Concentrations of variable species (local) REAL(kind=dp) :: V(NVAR) V(30) = V_USER(1) V(32) = V_USER(2) V(16) = V_USER(3) V(23) = V_USER(4) V(13) = V_USER(5) V(14) = V_USER(6) V(18) = V_USER(7) V(31) = V_USER(8) V(22) = V_USER(9) V(17) = V_USER(10) V(25) = V_USER(11) V(8) = V_USER(12) V(9) = V_USER(13) V(10) = V_USER(14) V(26) = V_USER(15) V(27) = V_USER(16) V(24) = V_USER(17) V(15) = V_USER(18) V(21) = V_USER(19) V(11) = V_USER(20) V(12) = V_USER(21) V(20) = V_USER(22) V(29) = V_USER(23) V(19) = V_USER(24) V(1) = V_USER(25) V(2) = V_USER(26) V(28) = V_USER(27) V(3) = V_USER(28) V(4) = V_USER(29) V(5) = V_USER(30) V(6) = V_USER(31) END SUBROUTINE Shuffle_user2kpp ! End of Shuffle_user2kpp function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Shuffle_kpp2user - function to restore concentrations from KPP to USER ! Arguments : ! V - Concentrations of variable species (local) ! V_USER - Concentration of variable species in USER's order ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Shuffle_kpp2user ( V, V_USER ) ! V - Concentrations of variable species (local) REAL(kind=dp) :: V(NVAR) ! V_USER - Concentration of variable species in USER's order REAL(kind=dp) :: V_USER(NVAR) V_USER(1) = V(30) V_USER(2) = V(32) V_USER(3) = V(16) V_USER(4) = V(23) V_USER(5) = V(13) V_USER(6) = V(14) V_USER(7) = V(18) V_USER(8) = V(31) V_USER(9) = V(22) V_USER(10) = V(17) V_USER(11) = V(25) V_USER(12) = V(8) V_USER(13) = V(9) V_USER(14) = V(10) V_USER(15) = V(26) V_USER(16) = V(27) V_USER(17) = V(24) V_USER(18) = V(15) V_USER(19) = V(21) V_USER(20) = V(11) V_USER(21) = V(12) V_USER(22) = V(20) V_USER(23) = V(29) V_USER(24) = V(19) V_USER(25) = V(1) V_USER(26) = V(2) V_USER(27) = V(28) V_USER(28) = V(3) V_USER(29) = V(4) V_USER(30) = V(5) V_USER(31) = V(6) END SUBROUTINE Shuffle_kpp2user ! End of Shuffle_kpp2user function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! GetMass - compute total mass of selected atoms ! Arguments : ! CL - Concentration of all species (local) ! Mass - value of mass balance ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE GetMass ( CL, Mass ) ! CL - Concentration of all species (local) REAL(kind=dp) :: CL(NSPEC) ! Mass - value of mass balance REAL(kind=dp) :: Mass(1) END SUBROUTINE GetMass ! End of GetMass function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Get_OHreactivity - returns the OH reactivity ! The OH reactivity is defined as the inverse of its lifetime. ! This routine was auto-generated using script OHreact_parser.py. ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Get_OHreactivity ( CC, RR, OHreact ) ! CC - Concentrations of species (local) REAL(kind=dp) :: CC(NSPEC) ! RR - reaction rates (local) REAL(kind=dp) :: RR(NREACT) ! OHreact - OH reactivity [s-1] REAL(kind=dp) :: OHreact OHreact = RR(9)*CC(32) + RR(22)*CC(27) + RR(26)*CC(30) + RR(33)*CC(29) END SUBROUTINE Get_OHreactivity ! End of Get_OHreactivity subroutine ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ END MODULE gckpp_Util ================================================ FILE: KPP/OHreact_parser.py ================================================ #!/usr/bin/env python """ Helper routine to generate a Fortran code snipped that computes the OH reactivity based on the reactions listed in gckpp_Monitor.F90. The OH reactivity is defined as the inverse of its lifetime and is determined using the reaction rates of all reactions that consume OH. The generated code snipped can then be inserted into one of the Fortran modules, e.g. gckpp_Util.F90. Usage: python OHreact_parser.py Revision History: 2018-06-18 - christoph.a.keller@nasa.gov - initial version See git history for subsequent updates """ import sys import datetime def writeHeader(fo, mechName): """ Writes the header of the Get_OHreactivity subroutine. Args: ----- fo (_io.TextIOWrapper) : File handle for write command """ fo.write('! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n') fo.write('\n') fo.write('! Get_OHreactivity - returns the OH reactivity\n') fo.write('! The OH reactivity is defined as the inverse of its lifetime.\n') fo.write('! This routine was auto-generated using script OHreact_parser.py.\n') fo.write('! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n') fo.write('\n') fo.write('SUBROUTINE Get_OHreactivity ( CC, RR, OHreact )\n') fo.write('\n') fo.write('! CC - Concentrations of species (local)\n') fo.write(' REAL(kind=dp) :: CC(NSPEC)\n') fo.write('! RR - reaction rates (local)\n') fo.write(' REAL(kind=dp) :: RR(NREACT)\n') fo.write('! OHreact - OH reactivity [s-1]\n') fo.write(' REAL(kind=dp) :: OHreact\n') fo.write('\n') if "carbon" in mechName: fo.write(' OHreact = 0.0_dp') # carbon mech has no OH reactivity else: fo.write(' OHreact = ') def writeFooter(fo): """ Writes the footer of the Get_OHreactivity subroutine. Args: ----- fo (_io.TextIOWrapper) : File handle for write command """ fo.write('\n\nEND SUBROUTINE Get_OHreactivity\n') fo.write('! End of Get_OHreactivity subroutine\n') fo.write('! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n') def writeReactivity(mechName): """ Writes the Get_OHreactivity routine in the gckpp_Util.F90 module. Args: ----- mechName (str) : Name of the chemical mechanism """ # Filenames file_reactions = 'gckpp_Monitor.F90' file_species = 'gckpp_Parameters.F90' file_updated = 'gckpp_Util.F90' # Rread file with reactions with open(file_reactions, 'r') as f: lines = f.readlines() # Read files with species with open(file_species, 'r') as f: params = f.readlines() # Read gckpp_Util.F90 and write back out, minus END MODULE line. # Save # that line to write out later. EndModuleStr = '' with open(file_updated, 'r') as f: utillines = f.readlines() with open(file_updated, 'w') as f: for line in utillines: if 'END MODULE' in line: EndModuleStr = line break else: f.write(line.rstrip()+'\n') # Open gckpp_Util.F90 fo = open(file_updated,"a") # Write header to the Get_OHreactivity routine writeHeader(fo, mechName) nn = 0 ntot = 0 # get all lines with a reaction rxt = [i for i in lines if '-->' in i] # walk through all reactions irct = 0 for irxt in rxt: irct += 1 irxt = irxt.replace("\n", "") irxt = irxt.replace("'", "") #--------------------------------------------------- # Also remove extra text for safety's sake # -- Bob Yantosca (03 May 2022) irxt = irxt.replace("/)", "") irxt = irxt.replace(",", "") irxt = irxt.replace("&", "") irxt = irxt.replace("!", "") irxt = irxt.replace("up to ", "") #--------------------------------------------------- spl = irxt.split('-->') # get reaction number and reactant if OH is on left-hand side of reaction if ' OH ' in spl[0]: # Go to next line after writing 5 reaction terms if nn == 5: fo.write(' &\n') nn = 0 # reaction number if 'index ' in spl[1]: rn = int(spl[1].split('index ')[1]) if irct != rn: print('Warning: reaction number mismatch') else: rn = irct # species name if ' + ' in spl[0]: # there is one OH nOH = 1 newspl = spl[0].split('+') if ' OH ' in newspl[0]: spc = newspl[1] else: spc = newspl[0] else: if '2 OH' in spl[0]: nOH = 2 spc = 'NotAvail' else: print('unexpected entry: '+spl) continue spc = spc.replace("'","") spc = spc.strip() # get species index if nOH == 1: istr = 'ind_'+spc+' =' iln = [i for i in params if istr in i] if len(iln) != 1: print('cannot match species '+istr) continue else: iln = iln[0].replace("\n","") id = int(iln.split('=')[1]) # now we have the reaction number, species id and number of OH. # Can construct string entry if nOH == 2: istr = '2*RR('+str(rn)+')' else: istr = 'RR('+str(rn)+')*CC('+str(id)+')' if ntot > 0: istr = ' + '+istr if nn == 0 : istr = ' '+istr # write to file nn += 1 ntot += 1 fo.write(istr) # Close the subroutine and the module writeFooter(fo) fo.write(EndModuleStr) # all done print('Reactivity consists of '+str(ntot)+' reactions') print('Written to '+file_updated) fo.close() def main(): """ Main program. Gets number of arguments and calls writeReactivity """ # Get the name of the mechansim nArgs = len( sys.argv ) mechName = "" if ( nArgs == 2 ): mechName = sys.argv[1] # Write the OH reactivity routine in gckpp_Util.F90 writeReactivity(mechName) if __name__ == '__main__': main() ================================================ FILE: KPP/aciduptake/CMakeLists.txt ================================================ # KPP/aciduptake/CMakeLists.txt #---------------------------------------------------------------------------- # Add libKPPFirstPass.a -- aciduptake mechanism #---------------------------------------------------------------------------- add_library(KPP_FirstPass STATIC EXCLUDE_FROM_ALL gckpp_Precision.F90 gckpp_Parameters.F90 gckpp_Monitor.F90 ) # Define dependencies for libKPP_FirstPass.a target_link_libraries(KPP_FirstPass PUBLIC GEOSChemBuildProperties) #---------------------------------------------------------------------------- # Add libKPP.a -- aciduptake mechanism #---------------------------------------------------------------------------- add_library(KPP STATIC EXCLUDE_FROM_ALL aciduptake_DustChemFuncs.F90 fullchem_HetStateFuncs.F90 fullchem_RateLawFuncs.F90 fullchem_SulfurChemFuncs.F90 gckpp_Function.F90 gckpp_Global.F90 gckpp_Initialize.F90 gckpp_Integrator.F90 gckpp_Jacobian.F90 gckpp_JacobianSP.F90 gckpp_LinearAlgebra.F90 gckpp_Model.F90 gckpp_Monitor.F90 gckpp_Parameters.F90 gckpp_Precision.F90 gckpp_Rates.F90 gckpp_Util.F90 rateLawUtilFuncs.F90 ) # Define dependencies for libKPP.a target_link_libraries(KPP PUBLIC GeosUtil) # When building libKPP.a, treat REAL as if it were REAL*8 target_compile_options(KPP PRIVATE "" $<$:-r8> $<$:-fdefault-real-8 -fdefault-double-8> ) ================================================ FILE: KPP/aciduptake/README.md ================================================ # README -- KPP/aciduptake folder NOTE: This folder contains files that will be used in future GEOS-Chem development. These will be ignored for now. -- Bob Yantosca (20 Sep 2021) ================================================ FILE: KPP/aciduptake/aciduptake.eqn ================================================ { aciduptake.eqn ------------------------------------------------------------------------------- DESCRIPTION ------------------------------------------------------------------------------- GEOS-Chem KPP file containing species and equations for the full chemistry (NOx-Ox-HC-Aer-Br-Cl-I) mechanism with acid uptake on dust. =============================================================================== FILE HISTORY =============================================================================== Version: 14.2.0 Please see "CHANGELOG_fullchem.md" in this folder for the revision history of the fullchem mechanism, which the "aciduptake" mechanism is based on. You may list updates specific to the "aciduptake" mechanism below: =============================================================================== DEVELOPERS (initials and email/GitHub) =============================================================================== * BA : Becky Alexander : @beckyalexander * BHH : Barron Henderson : @barronh * BMY : Bob Yantosca : @yantosca * CCM : Christopher Chan Miller : cmiller@fas.harvard.edu * CDH : Christopher Holmes : @cdholmes * DBM : Dylan Millet : @dylanbm * EAM : Eloise Marais : @eamarais * ECB : Ellie Browne : eleanor.browne@colorado.edu * EVF : Emily Fischer : evf@rams.colostate.edu * EWL : Lizzie Lundgren : @lizziel * FP : Fabien Paulot : fabien.paulot@noaa.gov * HOTP : Havala Pye : pye.havala@epa.gov * JAF : Jenny Fisher : @jennyfisher * JAS : Johan Schmidt : johanalbrechtschmidt@gmail.com * JMAO : Jingqiu Mao : @jingqiumao * JMM : Jonathan Moch : jmoch@g.harvard.edu * JPP : Justin Parrella : justin.parrella@gmail.com * KHB : Kelvin Bates : @kelvinhb * KRT : Katie Travis : @ktravis213 * LZHU : Lei Zhu : leizhu@fas.harvard.edu * MJE : Mat Evans : @msl3v * MPS : Melissa Sulprizio : @msulprizio * MSL : Michael Long : @msl3v * PK : Prasad Kasibhatla : @pkasibhatla * QJC : Qianjie Chen : chenqjie@uw.edu * RHS : Rebecca Schwantes : rschwant@caltech.edu * SAS : Sarah Safieddine : sarahsaf@mit.edu * SDE : Sebastian Eastham : @sdeastham * TMS : Tomas Sherwen : @tsherwen * TSC : Therese Carter : @tscarter * XC : Xin Chen : @xin-chen-github * XW : Xuan Wang : @xuanw0316 =============================================================================== REFERENCES (alphabetical order) =============================================================================== * Atkinson2003 : https://doi.org/10.1021/cr0206420 * Atkinson2006 : https://doi.org/10.5194/acp-6-3625-2006 * Bates2014 : https://doi.org/10.1021/jp4107958 * Bates2019 : https://doi.org/10.5194/acp-19-9613-2019 * Bates2021a : https://doi.org/10.1029/2020JD033439 * Bates2021b : https://doi.org/10.5194/acp-2021-605 * Browne2011 : https://doi.org/10.5194/acp-11-4209-2011 * Browne2014 : https://doi.org/10.5194/acp-14-1225-2014 * Carter2022 : https://doi.org/10.5194/acp-22-12093-2022 * Chen2017 : https://doi.org/10.1002/2017GL073812 * Crounse2012 : https://doi.org/10.1021/jp211560u * Eastham2014 : https://doi.org/10.1016/j.atmosenv.2014.02.001 * Fischer2014 : https://doi.org/10.5194/acp-14-2679-2014 * Fisher2016 : https://doi.org/10.5194/acp-16-5969-2016 * Fisher2018 : https://doi.org/10.1029/2018JD029046 * Fry2014 : https://doi.org/10.1021/es502204x * Gill2002 : https://doi.org/10.1021/jp013532, 2002. * Goliff2013 : https://doi.org/10.1016/j.atmosenv.2012.11.038 * Jacobs2014 : https://doi.org/10.5194/acp-14-8933-2014 * Jenkin2015 : https://doi.org/10.5194/acp-15-11433-2015 * Kasibhatla2018 : https://doi.org/10.5194/acp-18-11185-2018 * IUPAC ROO_19 : https://iupac-aeris.ipsl.fr/htdocs/datasheets/pdf/ROO_19_CH3O2_NO3.pdf * JPL 10-6 : https://jpldataeval.jpl.nasa.gov/previous_evaluations.html * JPL 15-10 : https://jpldataeval.jpl.nasa.gov/previous_evaluations.html * JPL 19-5 : https://jpldataeval.jpl.nasa.gov * Kwon2020 : https://doi.org/10.1525/elementa.2021.00109 * Lee2014 : https://doi.org/10.1021/jp4107603 * Marais2016 : https://doi.org/10.5194/acp-16-1603-2016 * Miller2017 : https://doi.org/10.5194/acp-2016-1042 * Millet2015 : https://doi.org/10.5194/acp-15-6283-2015 * Moch2020 : https;//doi.org/10.1029/2020JD032706, 2020. * Muller2014 : https://doi.org/10.5194/acp-14-2497-2014 * Parrella2012 : https://doi.org/10.5194/acp-12-6723-2012 * Paulot2009 : https://doi.org/10.5194/acp-9-1479-2009 and https://doi.org/10.1126/science.1172910 * Peeters2010 : https://doi.org/10.1039/C0CP00811G * Peeters2014 : https://doi.org/10.1021/jp5033146. * Pye2010 : https://doi.org/10.5194/acp-10-11261-2010 * Roberts1992 : https://doi.org/10.1002/kin.550240307 * Sherwen2016b : https://doi.org/10.5194/acp-16-12239-2016 * Sherwen2017 : https://doi.org/10.1039/C7FD00026J * StClair2016 : https://doi.org/10.1021/acs.jpca.5b065322016 * Travis2016 : https://doi.org/10.5194/acp-16-13561-2016 * Wolfe2012 : https://doi.org/ 10.1039/C2CP40388A, 2012 * Xie2013 : https://doi.org/10.5194/acp-13-8439-2013 =============================================================================== NOTES =============================================================================== Comment format is Species - Molecular formula; full name Equations - Date modified; Reference; Developer initials } #include atoms.kpp #DEFVAR A3O2 = IGNORE; {CH3CH2CH2OO; Primary RO2 from C3H8} ACET = IGNORE; {CH3C(O)CH3; Acetone} ACTA = IGNORE; {CH3C(O)OH; Acetic acid} AERI = IGNORE; {I; Dissolved iodine} ALD2 = IGNORE; {CH3CHO; Acetaldehyde} ALK4 = IGNORE; {>= C4 alkanes} AONITA = IGNORE; {Aerosol-phase organic nitrate from aromatic precursors} AROMRO2 = IGNORE; {generic peroxy radical from aromatic oxidation} AROMP4 = IGNORE; {Generic C4 product from aromatic oxidation} AROMP5 = IGNORE; {Generic C5 product from aromatic oxidation} ATO2 = IGNORE; {CH3C(O)CH2O2; RO2 from acetone} ATOOH = IGNORE; {CH3C(O)CH2OOH; ATO2 peroxide} B3O2 = IGNORE; {CH3CH(OO)CH3; Secondary RO2 from C3H8} BALD = IGNORE; {benzaldehyde and tolualdehyde} BENZ = IGNORE; {C6H6; Benzene} BENZO = IGNORE; {C6H5O radical} BENZO2 = IGNORE; {C6H5O2 radical} BENZP = IGNORE; {hydroperoxide from BENZO2} Br = IGNORE; {Br; Atomic bromine} Br2 = IGNORE; {Br2; Molecular bromine} BrCl = IGNORE; {BrCl; Bromine chloride} BrNO2 = IGNORE; {BrNO2; Nitryl bromide} BrNO3 = IGNORE; {BrNO3; Bromine nitrate} BrO = IGNORE; {BrO; Bromine monoxide} BRO2 = IGNORE; {C6H5O2 ; Peroxy radical from BENZ oxidation} BrSALA = IGNORE; {Br; Fine sea salt bromine} BrSALC = IGNORE; {Br; Course sea salt bromine} BUTDI = IGNORE; {Butenedial} BZCO3 = IGNORE; {benzoylperoxy radical} BZCO3H = IGNORE; {perbenzoic acid} BZPAN = IGNORE; {peroxybenzoyl nitrate} C2H2 = IGNORE; {C2H2; Ethyne} C2H4 = IGNORE; {Ethylene} C2H6 = IGNORE; {C2H6; Ethane} C3H8 = IGNORE; {C3H8; Propane} C4HVP1 = IGNORE; {C4 hydroxy-vinyl-peroxy radicals from HPALDs} C4HVP2 = IGNORE; {C4 hydroxy-vinyl-peroxy radicals from HPALDs} CCl4 = IGNORE; {CCl4; Carbon tetrachloride} CFC11 = IGNORE; {CCl3F ; CFC-11, R-11, Freon 11} CFC12 = IGNORE; {CCl2F2; CFC-12, R-12, Freon 12} CFC113 = IGNORE; {C2Cl3F3; CFC-113, Freon 113} CFC114 = IGNORE; {C2Cl2F4; CFC-114, Freon 114} CFC115 = IGNORE; {C2ClF5; CFC-115, Freon 115} CH2Br2 = IGNORE; {CH3Br2; Dibromomethane} CH2Cl2 = IGNORE; {CH2Cl2; Dichloromethane} CH2I2 = IGNORE; {CH2I2; Diiodomethane} CH2IBr = IGNORE; {CH2IBr; Bromoiodomethane} CH2ICl = IGNORE; {CH2ICl; Chloroiodomethane} CH2O = IGNORE; {CH2O; Formaldehyde} CH2OO = IGNORE; {CH2OO; Criegee intermediate} CH3Br = IGNORE; {CH3Br; Methyl bromide} CH3CCl3 = IGNORE; {CH3CCl3; Methyl chloroform} CH3CHOO = IGNORE; {CH3CHOO; Criegee intermediate} CH3Cl = IGNORE; {CH3Cl; Chloromethane} CH3I = IGNORE; {CH3I; Methyl iodide} CH4 = IGNORE; {CH4; Methane} CHBr3 = IGNORE; {CHBr3; Tribromethane} CHCl3 = IGNORE; {CHCl3; Chloroform} Cl = IGNORE; {Cl; Atomic chlorine} Cl2 = IGNORE; {Cl2; Molecular chlorine} Cl2O2 = IGNORE; {Cl2O2; Dichlorine dioxide} ClNO2 = IGNORE; {ClNO2; Nitryl chloride} ClNO3 = IGNORE; {ClONO2; Chlorine nitrate} ClO = IGNORE; {ClO; Chlorine monoxide} ClOO = IGNORE; {ClOO; Chlorine dioxide} CO = IGNORE; {CO; Carbon monoxide} CO2 = IGNORE; {CO2; Carbon dioxide} CSL = IGNORE; {cresols and xylols} DMS = IGNORE; {(CH3)2S; Dimethylsulfide} DSTAL1 = IGNORE; {Alkalinity of mineral dust bin 1} DSTAL2 = IGNORE; {Alkalinity of mineral dust bin 2} DSTAL3 = IGNORE; {Alkalinity of mineral dust bin 3} DSTAL4 = IGNORE; {Alkalinity of mineral dust bin 4} EOH = IGNORE; {C2H5OH; Ethanol} ETHLN = IGNORE; {CHOCH2ONO2; Ethanal nitrate} ETHN = IGNORE; {stable hydroxy-nitrooxy-ethane} ETHP = IGNORE; {stable hydroxy-hydroperoxy-ethane} ETNO3 = IGNORE; {C2H5ONO2; Ethyl nitrate} ETO = IGNORE; {hydroxy-alkoxy-ethane radical} ETOO = IGNORE; {hydroxy-peroxy-ethane radical, formed from ethene + OH} ETO2 = IGNORE; {CH3CH2OO; Ethylperoxy radical} ETP = IGNORE; {CH3CH2OOH; Ethylhydroperoxide} FURA = IGNORE; {FURAN conglomerate} GLYC = IGNORE; {HOCH2CHO; Glycoaldehyde} GLYX = IGNORE; {CHOCHO; Glyoxal} H = IGNORE; {H; Atomic hydrogen} H1211 = IGNORE; {CBrClF2; H-1211} H1301 = IGNORE; {CBrF3; H-1301} H2402 = IGNORE; {C2Br2F4; H-2402} H2SO4 = IGNORE; {H2SO4: Sulfuric acid} H2O = IGNORE; {H2O; Water vapor} H2O2 = IGNORE; {H2O2; Hydrogen peroxide} HAC = IGNORE; {HOCH2C(O)CH3; Hydroxyacetone} HBr = IGNORE; {HBr; Hypobromic acid} HC5A = IGNORE; {C5H8O2; Isoprene-4,1-hydroxyaldehyde} HCFC123 = IGNORE; {C2HCl2F3; HCFC-123, R-123, Freon 123} HCFC141b = IGNORE; {C(CH3)Cl2F; HCFC-141b, R-141b, Freon 141b} HCFC142b = IGNORE; {C(CH3)ClF2; HCFC-142b, R-142b, Freon 142b} HCFC22 = IGNORE; {CHClF2 ; HCFC-22, R-22, Freon 22} HCl = IGNORE; {HCl; Hydrochloric acid} HCOOH = IGNORE; {HCOOH; Formic acid} HI = IGNORE; {HI; Hydrogen iodide} HMHP = IGNORE; {HOCH2OOH; Hydroxymethyl hydroperoxide} HMML = IGNORE; {C4H6O3; Hydroxymethyl-methyl-a-lactone} HMS = IGNORE; {HOCH2SO3-; hydroxymethanesulfonate} HNO2 = IGNORE; {HONO; Nitrous acid} HNO3 = IGNORE; {HNO3; Nitric acid} HNO4 = IGNORE; {HNO4; Pernitric acid} HO2 = IGNORE; {HO2; Hydroperoxyl radical} HOBr = IGNORE; {HOBr; Hypobromous acid} HOCl = IGNORE; {HOCl; Hypochlorous acid} HOI = IGNORE; {HOI; Hypoiodous acid} HONIT = IGNORE; {2nd gen monoterpene organic nitrate} HPALD1 = IGNORE; {O=CHC(CH3)=CHCH2OOH; d-4,1-C5-hydroperoxyaldehyde} HPALD1OO = IGNORE; {peroxy radicals from HPALD1} HPALD2 = IGNORE; {HOOCH2C(CH3)=CHCH=O; d-1,4-C5-hydroperoxyaldehyde} HPALD2OO = IGNORE; {peroxy radicals from HPALD2} HPALD3 = IGNORE; {O=CHC(CH3)OOHCH=CH2; b-2,1-C5-hydroperoxyaldehyde} HPALD4 = IGNORE; {CH2=C(CH3)CHOOHCH=O; b-3,4-C5-hydroperoxyaldehyde} HPETHNL = IGNORE; {CHOCH2OOH; hydroperoxyethanal} I = IGNORE; {I; Atmoic iodine} I2 = IGNORE; {I2; Molecular iodine} I2O2 = IGNORE; {I2O2; Diiodine dioxide} I2O3 = IGNORE; {I2O3; Diiodine trioxide} I2O4 = IGNORE; {I2O4; Diiodine tetraoxide} IBr = IGNORE; {IBr; Iodine monobromide} ICHE = IGNORE; {C5H8O3; Isoprene hydroxy-carbonyl-epoxides} ICHOO = IGNORE; {peroxy radical from IEPOXD} ICl = IGNORE; {ICl; Iodine monochloride} ICN = IGNORE; {C5H7NO4; Lumped isoprene carbonyl nitrates} ICNOO = IGNORE; {peroxy radicals from ICN} ICPDH = IGNORE; {C5H10O5; Isoprene dihydroxy hydroperoxycarbonyl} IDC = IGNORE; {C5H6O2; Lumped isoprene dicarbonyls} IDCHP = IGNORE; {C5H8O5; Isoprene dicarbonyl hydroxy dihydroperoxide} IDHDP = IGNORE; {C5H12O6; Isoprene dihydroxy dihydroperoxide} IDHNBOO = IGNORE; {peroxy radicals from INPB} IDHNDOO1 = IGNORE; {peroxy radicals from INPD} IDHNDOO2 = IGNORE; {peroxy radicals from INPD} IDHPE = IGNORE; {C5H10O5; Isoprene dihydroxy hydroperoxy epoxide} IDN = IGNORE; {C5H8N2O6; Lumped isoprene dinitrates} IDNOO = IGNORE; {peroxy radicals from IDN} IEPOXA = IGNORE; {C5H10O3; trans-Beta isoprene epoxydiol} IEPOXAOO = IGNORE; {peroxy radical from trans-Beta isoprene epoxydiol} IEPOXB = IGNORE; {C5H10O3; cis-Beta isoprene epoxydiol} IEPOXBOO = IGNORE; {peroxy radical from cis-Beta isoprene epoxydiol} IEPOXD = IGNORE; {C5H10O3; Delta isoprene epoxydiol} IHN1 = IGNORE; {C5H9NO4; Isoprene-d-4-hydroxy-1-nitrate} IHN2 = IGNORE; {C5H9NO4; Isoprene-b-1-hydroxy-2-nitrate} IHN3 = IGNORE; {C5H9NO4; Isoprene-b-4-hydroxy-3-nitrate} IHN4 = IGNORE; {C5H9NO4; Isoprene-d-1-hydroxy-4-nitrate} IHOO1 = IGNORE; {peroxy radical from OH addition to isoprene at C1} IHOO4 = IGNORE; {peroxy radical from OH addition to isoprene at C4} IHPNBOO = IGNORE; {peroxy radicals from INPB} IHPNDOO = IGNORE; {peroxy radicals from INPD} IHPOO1 = IGNORE; {peroxy radical from ISOPOOH} IHPOO2 = IGNORE; {peroxy radical from ISOPOOH} IHPOO3 = IGNORE; {peroxy radical from ISOPOOH} INA = IGNORE; {alkoxy radical from INO2D} INDIOL = IGNORE; {Generic aerosol phase organonitrate hydrolysis product} INO = IGNORE; {INO; Nitrosyl iodide} INO2B = IGNORE; {beta-peroxy radicals from isoprene + NO3} INO2D = IGNORE; {delta-peroxy radicals from isoprene + NO3} INPB = IGNORE; {C5H9NO5; Lumped isoprene beta-hydroperoxy nitrates} INPD = IGNORE; {C5H9NO5; Lumped isoprene delta-hydroperoxy nitrates} IO = IGNORE; {IO; Iodine monoxide} IONITA = IGNORE; {Aerosol-phase organic nitrate from isoprene precursors} IONO = IGNORE; {IONO; Nitryl iodide} IONO2 = IGNORE; {IONO2; Iodine nitrate} IPRNO3 = IGNORE; {C3H8ONO2; Isopropyl nitrate} ISALA = IGNORE; {I; Fine sea salt iodine} ISALC = IGNORE; {I; Coarse sea salt iodine} ISOP = IGNORE; {CH2=C(CH3)CH=CH2; Isoprene} ISOPNOO1 = IGNORE; {peroxy radicals from IHN2} ISOPNOO2 = IGNORE; {peroxy radicals from IHN3} ITCN = IGNORE; {C5H9NO7; Lumped tetrafunctional isoprene carbonyl-nitrates} ITHN = IGNORE; {C5H11NO7; Lumped tetrafunctional isoprene hydroxynitrates} KO2 = IGNORE; {RO2 from >3 ketones} LBRO2H = IGNORE; {Dummy spc to track oxidation of BRO2 by HO2} LBRO2N = IGNORE; {Dummy spc to track oxidation of BRO2 by NO} LIMO = IGNORE; {C10H16; Limonene} LIMO2 = IGNORE; {RO2 from LIMO} LISOPOH = IGNORE; {Dummy spc to track oxidation of ISOP by OH} LISOPNO3 = IGNORE; {Dummy spc to track oxidation of ISOP by NO3} LNRO2H = IGNORE; {Dummy spc to track oxidation of NRO2 by HO2} LNRO2N = IGNORE; {Dummy spc to track oxidation of NRO2 by NO} LTRO2H = IGNORE; {Dummy spc to track oxidation of TRO2 by HO2} LTRO2N = IGNORE; {Dummy spc to track oxidation of TRO2 by NO} LVOC = IGNORE; {C5H14O5; Gas-phase low-volatility non-IEPOX product of ISOPOOH (RIP) oxidation} LVOCOA = IGNORE; {C5H14O5; Aerosol-phase low-volatility non-IEPOX product of ISOPOOH (RIP) oxidation} LXRO2H = IGNORE; {Dummy spc to track oxidation of XRO2 by HO2} LXRO2N = IGNORE; {Dummy spc to track oxidation of XRO2 by NO} MACR = IGNORE; {CH2=C(CH3)CHO; Methacrolein} MACR1OO = IGNORE; {peroxyacyl radical from MACR + OH} MACR1OOH = IGNORE; {CH2=C(CH3)C(O)OOH; Peracid from MACR} MACRNO2 = IGNORE; {Product of MCRHN + OH} MAP = IGNORE; {CH3C(O)OOH; Peroxyacetic acid} MCO3 = IGNORE; {CH3C(O)OO; Peroxyacetyl radical} MCRDH = IGNORE; {C4H8O3; Dihydroxy-MACR} MCRENOL = IGNORE; {C4H6O2; Lumped enols from MVK/MACR} MCRHN = IGNORE; {HOCH2C(ONO2)(CH3)CHO; Hydroxynitrate from MACR} MCRHNB = IGNORE; {O2NOCH2C(OH)(CH3)CHO; Hydroxynitrate from MACR} MCRHP = IGNORE; {HOCH2C(OOH)(CH3)CHO; Hydroxy-hydroperoxy-MACR} MCROHOO = IGNORE; {peroxy radical from MACR + OH} MCT = IGNORE; {methylcatechols} MEK = IGNORE; {RC(O)R; Methyl ethyl ketone} MENO3 = IGNORE; {CH3ONO2; methyl nitrate} MGLY = IGNORE; {CH3COCHO; Methylglyoxal} MO2 = IGNORE; {CH3O2; Methylperoxy radical} MOH = IGNORE; {CH3OH; Methanol} MONITA = IGNORE; {Aerosol-phase organic nitrate from monoterpene precursors} MONITS = IGNORE; {Saturated 1st gen monoterpene organic nitrate} MONITU = IGNORE; {Unsaturated 1st gen monoterpene organic nitrate} MP = IGNORE; {CH3OOH; Methylhydroperoxide} MPAN = IGNORE; {CH2=C(CH3)C(O)OONO2; Peroxymethacroyl nitrate (PMN)} MPN = IGNORE; {CH3O2NO2; Methyl peroxy nitrate} MSA = IGNORE; {CH4SO3; Methanesulfonic acid} MTPA = IGNORE; {Lumped monoterpenes: a-pinene, b-pinene, sabinene, carene} MTPO = IGNORE; {Other monoterpenes: Terpinene, terpinolene, myrcene, ocimene, other monoterpenes} MVK = IGNORE; {CH2=CHC(=O)CH3; Methyl vinyl ketone} MVKDH = IGNORE; {HOCH2CH2OHC(O)CH3; Dihydroxy-MVK} MVKHC = IGNORE; {C4H6O3; MVK hydroxy-carbonyl} MVKHCB = IGNORE; {C4H6O3; MVK hydroxy-carbonyl} MVKHP = IGNORE; {C4H8O4; MVK hydroxy-hydroperoxide} MVKN = IGNORE; {HOCH2CH(ONO2)C(=O)CH3; Hydroxynitrate from MVK} MVKOHOO = IGNORE; {peroxy radical from MVK + OH} MVKPC = IGNORE; {OCHCH(OOH)C(O)CH3; MVK hydroperoxy-carbonyl} N = IGNORE; {N; Atomic nitrogen} N2O = IGNORE; {N2O; Nitrous oxide} N2O5 = IGNORE; {N2O5; Dinitrogen pentoxide} NAP = IGNORE; {C10H8; Naphthalene; IVOC surrogate} NIT = IGNORE; {NIT; Fine mode inorganic nitrate} NITD1 = IGNORE; {NIT taken up on DST1} NITD2 = IGNORE; {NIT taken up on DST2} NITD3 = IGNORE; {NIT taken up on DST3} NITD4 = IGNORE; {NIT taken up on DST4} NITs = IGNORE; {NITs; Coarse mode inorganic nitrate} NO = IGNORE; {NO; Nitric oxide} NO2 = IGNORE; {NO2; Nitrogen dioxide} NO3 = IGNORE; {NO3; Nitrate radical} NPHEN = IGNORE; {nitrophenols} NPRNO3 = IGNORE; {C3H8ONO2; n-propyl nitrate} NRO2 = IGNORE; {Peroxy radical from NAP oxidation} O = IGNORE; {O(3P); Ground state atomic oxygen} O1D = IGNORE; {O(1D); Excited atomic oxygen} O3 = IGNORE; {O3; Ozone} O3A = IGNORE; {O3; Ozone in accum seasalt} O3C = IGNORE; {O3; Ozone in coarse seasalt} OClO = IGNORE; {OClO; Chlorine dioxide} OCS = IGNORE; {COS; Carbonyl sulfide} OH = IGNORE; {OH; Hydroxyl radical} OIO = IGNORE; {OIO; Iodine dioxide} OLND = IGNORE; {Monoterpene-derived NO3-alkene adduct} OLNN = IGNORE; {Monoterpene-derived NO3 adduct} OTHRO2 = IGNORE; {Other C2 RO2 not from C2H6 oxidation} PAN = IGNORE; {CH3C(O)OONO2; Peroxyacetylnitrate} PHEN = IGNORE; {phenol} PIO2 = IGNORE; {RO2 from MTPA} PIP = IGNORE; {Peroxides from MTPA} PO2 = IGNORE; {HOCH2CH(OO)CH3; RO2 from propene} PP = IGNORE; {HOCH2CH(OOH)CH3; Peroxide from PO2} PPN = IGNORE; {CH3CH2C(O)OONO2; Peroxypropionylnitrate} PRN1 = IGNORE; {O2NOCH2CH(OO)CH3; RO2 from propene + NO3} PROPNN = IGNORE; {CH3C(=O)CH2ONO2; Propanone nitrate} PRPE = IGNORE; {C3H6; >= C3 alkenes} PRPN = IGNORE; {O2NOCH2CH(OOH)CH3; Peroxide from PRN1} PYAC = IGNORE; {CH3COCOOH; Pyruvic acid} R4N1 = IGNORE; {RO2 from R4N2} R4N2 = IGNORE; {RO2NO; >= C4 alkylnitrates} R4O2 = IGNORE; {RO2 from ALK4} R4P = IGNORE; {CH3CH2CH2CH2OOH; Peroxide from R4O2} RA3P = IGNORE; {CH3CH2CH2OOH; Peroxide from A3O2} RB3P = IGNORE; {CH3CH(OOH)CH3; Peroxide from B3O2} RCHO = IGNORE; {CH3CH2CHO; >= C3 aldehydes} RCO3 = IGNORE; {CH3CH2C(O)OO; Peroxypropionyl radical} RIPA = IGNORE; {HOCH2C(OOH)(CH3)CH=CH2; 1,2-ISOPOOH} RIPB = IGNORE; {HOCH2C(OOH)(CH3)CH=CH2; 4,3-ISOPOOH} RIPC = IGNORE; {C5H10O3; d(1,4)-ISOPOOH} RIPD = IGNORE; {C5H10O3; d(4,1)-ISOPOOH} ROH = IGNORE; {C3H7OH; > C2 alcohols} RP = IGNORE; {CH3CH2C(O)OOH; Peroxide from RCO3} SALAAL = IGNORE; {Accumulation mode seasalt aerosol alkalinity} SALCAL = IGNORE; {Coarse mode seasalt aerosol alkalinity} SALACL = IGNORE; {Cl; Fine chloride} SALCCL = IGNORE; {Cl; Coarse chloride} SALASO2 = IGNORE; {SO2; Fine seasalt} SALCSO2 = IGNORE; {SO2; Coarse seasalt} SALASO3 = IGNORE; {SO3--; Fine seasalt} SALCSO3 = IGNORE; {SO3--; Coarse chloride} SO2 = IGNORE; {SO2; Sulfur dioxide} SO4 = IGNORE; {SO4; Sulfate} SO4D1 = IGNORE; {SO4 taken up on DST1} SO4D2 = IGNORE; {SO4 taken up on DST2} SO4D3 = IGNORE; {SO4 taken up on DST3} SO4D4 = IGNORE; {SO4 taken up on DST4} SO4s = IGNORE; {SO4 on sea-salt; Sulfate} SOAGX = IGNORE; {CHOCHO; Aerosol-phase glyoxal} SOAIE = IGNORE; {C5H10O3; Aerosol-phase IEPOX} TOLU = IGNORE; {C7H8; Toluene} TRO2 = IGNORE; {Peroxy radical from TOLU oxidation} XYLE = IGNORE; {C8H10; Xylene} XRO2 = IGNORE; {Peroxy radical from XYLE oxidation} #DEFFIX H2 = IGNORE; {H2; Molecular hydrogen} N2 = IGNORE; {N2; Molecular nitrogen} O2 = IGNORE; {O2; Molecular oxygen} RCOOH = IGNORE; {C2H5C(O)OH; > C2 organic acids} #EQUATIONS //------------------------------------------------------------------------------ // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% // %%%%% Reactions for acid uptake on dust (MSL, BMY) %%%%% // %%%%% Activate these later, comment out for now (bmy, 9/22/21) %%%%% // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% SO2 + 2DSTAL1 = SO4D1 : K_DST(1); SO2 + 2DSTAL2 = SO4D2 : K_DST(2); SO2 + 2DSTAL3 = SO4D3 : K_DST(3); SO2 + 2DSTAL4 = SO4D4 : K_DST(4); HNO3 + DSTAL1 = NITD1 : K_DST(5); HNO3 + DSTAL2 = NITD2 : K_DST(6); HNO3 + DSTAL3 = NITD3 : K_DST(7); HNO3 + DSTAL4 = NITD4 : K_DST(8); H2SO4 + 2DSTAL1 = SO4D1 : K_DST(9); H2SO4 + 2DSTAL2 = SO4D2 : K_DST(10); H2SO4 + 2DSTAL3 = SO4D3 : K_DST(11); H2SO4 + 2DSTAL4 = SO4D4 : K_DST(12); SO2 + 2OH = H2SO4 : K_DST(13); // // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% // %%%%% Reactions extracted from sulfate_mod.F90 (MSL, BMY) %%%%% // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% // // Seasalt SO2 + SALAAL + O3 = SO4 - SALAAL : K_MT(1); HCl + SALAAL = SALACL : K_MT(2); HNO3 + SALAAL = NIT : K_MT(3); SO2 + SALCAL + O3 = SO4s - SALCAL : K_MT(4); HCl + SALCAL = SALCCL : K_MT(5); HNO3 + SALCAL = NITs : K_MT(6); // // Cloud // S(IV) --> S(VI) SO2 + H2O2 = SO4 : K_CLD(1); SO2 + O3 = SO4 : K_CLD(2) + SRO3; {Jan 2023; Added SRO3 here; BA} SO2 {+O2} = SO4 : K_CLD(3); {Mn & Fe catalysis + HET_DROP_CHEM()} // // HMS CH2O + SO2 = HMS : K_CLD(4); {Sep 2021; Moch2020; MSL} HMS = SO2 + CH2O : K_CLD(5); {Sep 2021; Moch2020; MSL} HMS + OH = 2SO4 + CH2O - SO2 : K_CLD(6); {Sep 2021; Moch2020; MSL} // // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% // %%%%% Gas-phase chemistry reactions %%%%% // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% // // NOTES: // ------ // (1) Be sure to use "D" exponents to force double precision values! // (i.e. write 1.70d-12 instead of 1.70e-12, etc.). // -- Bob Yantosca (16 Dec 2020) // // (2) This file might not render properly if the right hand side of the // equation is longer than ~100 characters. This seems to be an issue // with the KPP code itself. See this Github issue at geoschem/KPP: // https://github.com/geoschem/KPP/issues/1 // -- Bob Yantosca (16 Dec 2020) // // (3) To avoid useless CPU cycles, we have introduced new rate law functions // that skip computing Arrhenius terms (and other terms) that would // evaluate to 1. The Arrhenius terms that are passed to the function // are in most cases now noted in the function name (e.g. GCARR_abc takes // Arrhenius A, B, C parameters but GCARR_ac only passes A and C // parameters because B=0 and the (300/T)*B would evaluate to 1). // This should be much more computationally efficient, as these functions // are called (sometimes multiple times) for each grid box where we // perform chemistry. // -- Bob Yantosca (25 Jan 2020) // O3 + NO = NO2 + O2 : GCARR_ac(3.00d-12, -1500.0d0); O3 + OH = HO2 + O2 : GCARR_ac(1.70d-12, -940.0d0); O3 + HO2 = OH + O2 + O2 : GCARR_ac(1.00d-14, -490.0d0); O3 + NO2 = O2 + NO3 : GCARR_ac(1.20d-13, -2450.0d0); O3 + MO2 = CH2O + HO2 + O2 : GCARR_ac(2.90d-16, -1000.0d0); {2014/02/03; Eastham2014; SDE} OH + OH = H2O + O : 1.80d-12; {2014/02/03; Eastham2014; SDE} OH + OH {+M} = H2O2 : GCJPLPR_aba(6.90d-31, 1.0d+00, 2.6d-11, 0.6d0); OH + HO2 = H2O + O2 : GCARR_ac(4.80d-11, 250.0d0); OH + H2O2 = H2O + HO2 : 1.80d-12; HO2 + NO = OH + NO2 : GCARR_ac(3.44d-12, 260.0d0); {2023/04/18; JPL 19-5; KHB} HO2 + HO2 = H2O2 + O2 : GC_HO2HO2_acac(3.00d-13, 460.0d0, 2.1d-33, 920.0d0); {2014/02/03; Eastham2014; SDE} OH + CO = HO2 + CO2 : GCJPLPR_abab(6.9d-33,2.1d0,1.1d-12,-1.3d0,0.6d0) + GCJPLAC_ababac(6.9d-33,2.1d0,1.1d-12,-1.3d0,1.85d-13,-6.5d1,0.6d0); {2023/04/18; JPL 19-5; KHB} OH + CH4 = MO2 + H2O : GCARR_ac(2.45d-12, -1775.0d0); MO2 + NO = CH2O + HO2 + NO2 : GC_RO2NO_B1_ac(2.80d-12, 300.0d0); {2019/05/10; Fisher2018; JAF} MO2 + NO = MENO3 : GC_RO2NO_A1_ac(2.80d-12, 300.0d0); {2019/05/10; Fisher2018; JAF} MO2 + HO2 = MP + O2 : GCARR_abc(4.10d-13, 0.0d0, 750.0d0); MO2 + MO2 = MOH + CH2O + O2 : GC_TBRANCH_1_acac(9.50d-14, 390.0d0, 2.62d1, -1130.0d0); MO2 + MO2 = 2.000CH2O + 2.000HO2 : GC_TBRANCH_1_acac(9.50d-14, 390.0d0, 4.0d-2, 1130.0d0); MO2 + OH = 0.13MOH + 0.87CH2O + 1.74HO2 : 1.60d-10 ; {2021/09/22; Bates2021a; KHB,MSL} MP + OH = 0.700MO2 + 0.300OH + 0.300CH2O + H2O : GCARR_ac(3.80d-12, 200.0d0); ATOOH + OH = 0.700ATO2 + 0.300MGLY + 0.300OH + H2O : GCARR_ac(3.80d-12, 200.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} CH2O + OH = CO + HO2 + H2O : GCARR_ac(5.50d-12, 125.0d0); NO2 + OH {+M} = HNO3 {+M} : GCJPLPR_aba(1.80d-30, 3.0d+00, 2.8d-11, 0.6d0); HNO3 + OH = H2O + NO3 : GCJPLPR_abab(3.9d-31,7.2d0,1.5d-13,4.8d0,0.6d0) + GCJPLAC_ababac(3.9d-31,7.2d0,1.5d-13,4.8d0,3.7d-14,2.4d2,0.6d0); {2023/04/18; JPL 19-5; KHB} NO + OH {+M} = HNO2 {+M} : GCJPLPR_abab(7.00d-31, 2.6d+00, 3.60d-11, 0.1d0, 0.6d0); HNO2 + OH = H2O + NO2 : GCARR_ac(3.00d-12, 250.0d0); {2023/04/18; JPL 19-5; KHB} HO2 + NO2 {+M} = HNO4 {+M} : GCJPLPR_abab(1.90d-31, 3.4d+00, 4.0d-12, 0.3d0, 0.6d0); {2017/02/22; JPL 15-10; BHH,MJE} HNO4 {+M} = HO2 + NO2 : GCJPLPR_abcabc(9.05d-05, 3.4d0, -10900.0d0, 1.90d15, 0.3d0, -10900.0d0, 0.6d0); {2017/02/22; JPL 15-10; BHH,MJE} HNO4 + OH = H2O + NO2 + O2 : GCARR_ac(4.50d-13, 610.0d0); {2023/04/18; JPL 19-5; KHB} HO2 + NO3 = OH + NO2 + O2 : 3.50d-12; NO + NO3 = 2.000NO2 : GCARR_ac(1.70d-11, 125.0d0); {2023/04/18; JPL 19-5; KHB} OH + NO3 = HO2 + NO2 : 2.00d-11; {2023/04/18; JPL 19-5; KHB} NO2 + NO3 {+M} = N2O5 {+M} : GCJPLPR_abab(2.40d-30, 3.0d+00, 1.6d-12, -0.1d0, 0.6d0); {2017/02/22; JPL 15-10; BHH,MJE} N2O5 {+M} = NO2 + NO3 : GCJPLPR_abcabc(4.14d-04, 3.0d0, -10840.0d0, 2.76d14, -0.1d0, -10840.0d0, 0.6d0); {2017/02/22; JPL 15-10; BHH,MJE} HCOOH + OH = H2O + CO2 + HO2 : 4.00d-13; {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} MOH + OH = HO2 + CH2O : GCARR_ac(2.90d-12, -345.0d0); NO2 + NO3 = NO + NO2 + O2 : GCARR_ac(4.35d-14, -1335.0d0); {2023/04/18; JPL 19-5; KHB} NO3 + CH2O = HNO3 + HO2 + CO : 5.80d-16; ALD2 + OH = 0.950MCO3 + 0.050CH2O + 0.050CO + 0.050HO2 + H2O : GCARR_ac(4.63d-12, 350.0d0); {2014/02/03; Eastham2014; SDE} ALD2 + NO3 = HNO3 + MCO3 : GCARR_ac(1.40d-12, -1900.0d0); MCO3 + NO2 {+M} = PAN : GCJPLPR_abab(7.30d-29, 4.1d+00, 9.5d-12, 1.6d0, 0.6d0); {2023/04/18; JPL 19-5; KHB} PAN = MCO3 + NO2 : GCJPLEQ_acabab(9.00d-29, 14000.0d0, 7.3d-29, 4.1d0, 9.5d-12, 1.6d0, 0.6d0); {2023/04/18; JPL 19-5; KHB} MCO3 + NO = MO2 + NO2 + CO2 : GCARR_ac(8.10d-12, 270.0d0); C2H6 + OH = ETO2 + H2O : GCARR_ac(7.66d-12, -1020.0d0); {2013/02/12; JPL 10-6; BHH,JMAO,EAM} ETO2 + NO = ALD2 + NO2 + HO2 : GC_RO2NO_B2_aca(2.60d-12, 365.0d0, 2.0d0); {2019/05/10; Fisher2018; JAF} ETO2 + NO = ETNO3 : GC_RO2NO_A2_aca(2.60d-12, 365.0d0, 2.0d0); {2019/05/10; Fisher2018; JAF} OTHRO2 + NO = ALD2 + NO2 + HO2 : GCARR_ac(2.60d-12, 365.0d0); {2019/05/10; Fisher2018; JAF} C3H8 + OH = B3O2 : GCARR_abc(8.54d-13,1.54d0,-19.0d0); {2023/04/18; JPL 19-5; KHB} C3H8 + OH = A3O2 : GCARR_abc(1.97d-12,1.23d0,-675.0d0); {2023/04/18; JPL 19-5; KHB} A3O2 + NO = NO2 + HO2 + RCHO : GC_RO2NO_B2_aca(2.90d-12, 350.0d0, 3.0d0); {2019/05/10; Fisher2018; JAF} A3O2 + NO = NPRNO3 : GC_RO2NO_A2_aca(2.90d-12, 350.0d0, 3.0d0); {2019/05/10; Fisher2018; JAF} PO2 + NO = NO2 + HO2 + CH2O + ALD2 : GCARR_ac(2.70d-12, 350.0d0); ALK4 + OH = R4O2 : GCARR_ac(9.10d-12, -405.0d0); R4O2 + NO = NO2 + 0.340ACET + 0.190MEK + 0.190MO2 + 0.270HO2 + 0.340ALD2 + 0.150RCHO + 0.050A3O2 + 0.190B3O2 + 0.340OTHRO2 : GC_RO2NO_B2_aca(2.70d-12, 350.0d0, 4.5d0); {2023/04/18; Bates2023; KHB} R4O2 + NO = R4N2 : GC_RO2NO_A2_aca(2.70d-12, 350.0d0, 4.5d0); R4N1 + NO = 2.000NO2 + 0.640RCHO + 0.970ALD2 + 0.640CH2O : GCARR_ac(2.70d-12, 350.0d0); {2023/04/18; Bates2023; KHB} ATO2 + NO = NO2 + CH2O + MCO3 : GCARR_ac(2.90d-12, 300.0d0); {2023/04/18; JPL 19-5; KHB} KO2 + NO = 0.928NO2 + 0.919ALD2 + 0.919MCO3 + 0.072R4N2 : GCARR_ac(2.70d-12, 350.0d0); {2023/04/18; Bates2023; KHB} B3O2 + NO = NO2 + HO2 + ACET : GC_RO2NO_B2_aca(2.70d-12, 360.0d0, 3.0d0); {2019/05/10; Fisher2018; JAF} B3O2 + NO = IPRNO3 : GC_RO2NO_A2_aca(2.70d-12, 360.0d0, 3.0d0); {2019/05/10; Fisher2018; JAF} PRN1 + NO = 2.000NO2 + CH2O + ALD2 : GCARR_ac(2.70d-12, 350.0d0); ALK4 + NO3 = HNO3 + R4O2 : GCARR_ac(2.80d-12, -3280.0d0); R4N2 + OH = R4N1 + H2O : 1.60d-12; ACTA + OH = MO2 + CO2 + H2O : GCARR_ac(3.15d-14, 920.0d0); {2013/02/12; JPL 10-6; BHH,JMAO,EAM} OH + RCHO = RCO3 + H2O : GCARR_ac(6.00d-12, 410.0d0); RCO3 + NO2 {+M} = PPN : GCJPLPR_abab(9.00d-28, 8.9d0, 7.7d-12, 0.2d0, 0.6d0); {JPL Eval 17} PPN = RCO3 + NO2 : GCJPLEQ_acabab(9.00d-29, 14000.0d0, 9.00d-28, 8.9d0, 7.7d-12, 0.2d0, 0.6d0); RCO3 + NO = NO2 + 0.490OTHRO2 + 0.070A3O2 + 0.270B3O2 + CO2 : GCARR_ac(6.70d-12, 340.0d0); {2019/05/10; Fisher2018; JAF; 2023/04/18; Bates2023; KHB} RCHO + NO3 = HNO3 + RCO3 : 6.50d-15; ACET + OH = ATO2 + H2O : 1.33d-13 + 3.82d-11*exp(-2000.0d0/TEMP); {JPL Eval 17, p1-62-D31; EVF} A3O2 + MO2 = HO2 + 0.750CH2O + 0.750RCHO + 0.250MOH + 0.250ROH : 5.92d-13; PO2 + MO2 = HO2 + 0.500ALD2 + 1.250CH2O + 0.160HAC + 0.090RCHO + 0.250MOH + 0.250ROH : 5.92d-13; R4O2 + HO2 = R4P : GCARR_ac(7.40d-13, 700.0d0); R4N1 + HO2 = R4N2 : GCARR_ac(7.40d-13, 700.0d0); ATO2 + HO2 = 0.150MCO3 + 0.150OH + 0.150CH2O + 0.850ATOOH : GCARR_ac(8.60d-13, 700.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} KO2 + HO2 = 0.150OH + 0.150ALD2 + 0.150MCO3 + 0.850ATOOH + 0.850MO2 : GC_RO2HO2_aca(2.91d-13, 1300.0d0, 4.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE; 2023/04/18; Bates2023; KHB} B3O2 + HO2 = RB3P : GC_RO2HO2_aca(2.91d-13, 1300.0d0, 3.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} PRN1 + HO2 = PRPN : GC_RO2HO2_aca(2.91d-13, 1300.0d0, 3.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} MEK + OH = KO2 + H2O : GCARR_ac(1.50d-12, -90.0d0); {2023/04/18; Atkinson2006; KHB} MO2 + ETO2 = 0.750CH2O + 0.750ALD2 + HO2 + 0.250MOH + 0.250EOH : 3.00d-13; MO2 + OTHRO2 = 0.750CH2O + 0.750ALD2 + HO2 + 0.250MOH + 0.250EOH : 3.00d-13; {2019/05/10; Fisher2018; JAF} MEK + NO3 = HNO3 + KO2 : 8.00d-16; R4O2 + MO2 = 0.160ACET + 0.100MEK + 0.090MO2 + 0.140HO2 + 0.160ALD2 + 0.130RCHO + 0.030A3O2 + 0.090B3O2 + 0.160OTHRO2 + 0.250MEK + 0.750CH2O + 0.250MOH + 0.380ROH + 0.500HO2 : 8.37d-14; {2023/04/18; Bates2023; KHB} R4N1 + MO2 = NO2 + 0.950CH2O + 0.380ALD2 + 0.580RCHO + 0.150R4O2 + 0.500HO2 + 0.250MOH + 0.375ROH : 8.37d-14; {2023/04/18; Bates2023; KHB} ATO2 + MO2 = 0.300HO2 + 0.500CH2O + 0.300MCO3 + 0.200HAC + 0.500MGLY + 0.500MOH + 0.300CO2 : GCARR_ac(7.50d-13, 500.0d0); {2023/04/18; Bates2023; KHB} KO2 + MO2 = 0.500ALD2 + 0.500MCO3 + 0.250MEK + 0.750CH2O + 0.250MOH + 0.250ROH + 0.500HO2 + 0.250MO2 : 8.37d-14; {2023/04/18; Bates2023; KHB} B3O2 + MO2 = 0.500HO2 + 0.500ACET + 0.250ACET + 0.750CH2O + 0.250MOH + 0.250ROH + 0.500HO2 : 8.37d-14; PRN1 + MO2 = NO2 + 0.500CH2O + 0.500ALD2 + 0.250RCHO + 0.750CH2O + 0.250MOH + 0.250ROH + 0.500HO2 : 8.37d-14; EOH + OH = HO2 + ALD2 : 3.35d-12; {2013/02/12; JPL 10-6; BHH,JMAO,EAM} ROH + OH = HO2 + RCHO : GCARR_ac(4.40d-12, 70.0d0); {2023/04/18; JPL 19-5; KHB} ETO2 + ETO2 = 1.600ALD2 + 0.400EOH + 1.200HO2 : 6.80d-14; OTHRO2 + OTHRO2 = 1.600ALD2 + 0.400EOH + 1.200HO2 : 6.80d-14; {2019/05/10; Fisher2018; JAF} HO2 + ETO2 = ETP : GCARR_ac(7.50d-13, 700.0d0); {2023/04/18; JPL 19-5; KHB} HO2 + OTHRO2 = ETP : GCARR_ac(7.50d-13, 700.0d0); {2019/05/10; Fisher2018; JAF; 2023/04/18; JPL 19-5; KHB} A3O2 + HO2 = RA3P : GC_RO2HO2_aca(2.91d-13, 1300.0d0, 3.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} PO2 + HO2 = PP : GC_RO2HO2_aca(2.91d-13, 1300.0d0, 3.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} RCO3 + HO2 = 0.410RP + 0.150RCOOH + 0.150O3 + 0.440OH + 0.220OTHRO2 + 0.030A3O2 + 0.120B3O2 + 0.430CO2 : GCARR_ac(4.30d-13, 1040.0d0); {2019/05/10; Fisher2018; JAF; 2023/04/18; Bates2023; KHB} PRPE + OH {+M} = PO2 : GCJPLPR_abab(4.60d-27, 4.0d0, 2.6d-11, 1.3d0, 0.5d0); {2017/02/22; JPL 15-10; BHH,MJE} PRPE + O3 = 0.100CH4 + 0.280MO2 + 0.100CO2 + 0.120CH3CHOO + 0.500ALD2 + 0.220CH2OO + 0.500CH2O + 0.560CO + 0.280HO2 + 0.360OH : GCARR_ac(6.50d-15, -1900.0d0); {2015/09/25; Millet2015; DBM,EAM; 2023/04/18; JPL 19-5; KHB} GLYC + OH = 0.732CH2O + 0.361CO2 + 0.505CO + 0.227OH + 0.773HO2 + 0.134GLYX + 0.134HCOOH : GC_GLYCOH_A_a(8.00d-12); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} GLYC + OH = HCOOH + OH + CO : GC_GLYCOH_B_a(8.00d-12); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} PRPE + NO3 = PRN1 : GCARR_ac(4.59d-13, -1156.0d0); GLYX + OH = HO2 + 2.000CO : GCARR_ac(3.10d-12, 340.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} MGLY + OH = MCO3 + CO : GCARR_ac(1.90d-12, 575.0d0); {2023/04/18; Atkinson2006; KHB} GLYX + NO3 = HNO3 + HO2 + 2.000CO : GC_GLYXNO3_ac(1.40d-12, -1860.0d0); MGLY + NO3 = HNO3 + CO + MCO3 : GCARR_ac(3.36d-12, -1860.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} HAC + OH = MGLY + HO2 : GC_HACOH_A_ac(2.00d-12, 320.0d0); {2023/04/18; Atkinson2006; KHB} HAC + OH = 0.500HCOOH + OH + 0.500ACTA + 0.500CO2 + 0.500CO + 0.500MO2 : GC_HACOH_B_ac(2.00d-12, 320.0d0); {2023/04/18; Atkinson2006; KHB} PRPN + OH = 0.209PRN1 + 0.791OH + 0.791PROPNN : GCARR_ac(8.78d-12, 200.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} ETP + OH = 0.640OH + 0.360OTHRO2 + 0.640ALD2 : GCARR_ac(5.18d-12, 200.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} RA3P + OH = 0.640OH + 0.360A3O2 + 0.640RCHO : GCARR_ac(5.18d-12, 200.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} RB3P + OH = 0.791OH + 0.209B3O2 + 0.791ACET : GCARR_ac(8.78d-12, 200.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} R4P + OH = 0.790OH + 0.210R4O2 + 1.185RCHO : GCARR_ac(8.78d-12, 200.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE; 2023/04/18; Bates2023; KHB} RP + OH = RCO3 : GCARR_ac(6.13d-13, 200.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} PP + OH = 0.791OH + 0.209PO2 + 0.791HAC : GCARR_ac(8.78d-12, 200.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} LVOC + OH = OH : GCARR_ac(4.82d-11, -400.0d0); {2017/06/14; Marais2016; EAM} OH + MAP = 0.780MCO3 + 0.220OH + 0.220CO2 + 0.220CH2O : 3.00d-14; {2023/04/18; Atkinson2006; KHB} C2H6 + NO3 = ETO2 + HNO3 : 1.40d-18; {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} MCO3 + MCO3 = 2.000MO2 + 2.000CO2 : GCARR_ac(2.90d-12, 500.0d0); {2023/04/18; JPL 19-5, Bates2023; KHB} MCO3 + MO2 = 0.1ACTA + CH2O + 0.9MO2 + 0.9HO2 + 0.9CO2: GCARR_ac(2.00d-12, 500.0d0); {2023/04/18; Bates2023; KHB} R4O2 + MCO3 = 0.271MEK + 0.100ACTA + 0.900MO2 + 0.290ACET + 0.243HO2 + 0.290ALD2 + 0.290OTHRO2 + 0.255RCHO + 0.045A3O2 + 0.162B3O2 + 0.900CO2: GCARR_ac(1.87d-12, 500.0d0); {2023/04/18; Bates2023; KHB} ATO2 + MCO3 = 0.900MO2 + 0.900MCO3 + 0.900CH2O + 0.100MGLY + 0.100ACTA + 0.900CO2 : GCARR_ac(1.87d-12, 500.0d0); {2023/04/18; Bates2023; KHB} KO2 + MCO3 = 0.900MO2 + 0.900MCO3 + 0.900ALD2 + 0.100MEK + 0.100ACTA + 0.900CO2 : GCARR_ac(1.87d-12, 500.0d0); {2023/04/18; Bates2023; KHB} B3O2 + MCO3 = 0.900MO2 + 0.900HO2 + ACET + 0.100ACTA + 0.900CO2 : GCARR_ac(1.87d-12, 500.0d0); {2023/04/18; Bates2023; KHB} R4N1 + MCO3 = 0.900MO2 + 0.100ACTA + 0.613RCHO + 0.351CH2O + 0.675ALD2 + 0.270R4O2 + 0.645CO2 + NO2 : GCARR_ac(1.87d-12, 500.0d0); {2023/04/18; Bates2023; KHB} PRN1 + MCO3 = 0.900MO2 + 0.900CH2O + 0.900CO2 + 0.900ALD2 + 0.100RCHO + 0.100ACTA + NO2 : GCARR_ac(1.87d-12, 500.0d0); {2023/04/18; Bates2023; KHB} ETO2 + MCO3 = 0.900MO2 + ALD2 + 0.900HO2 + 0.100ACTA + 0.900CO2 : GCARR_ac(1.87d-12, 500.0d0); {2023/04/18; Bates2023; KHB} OTHRO2 + MCO3 = 0.900MO2 + ALD2 + 0.900HO2 + 0.100ACTA + 0.900CO2 : GCARR_ac(1.87d-12, 500.0d0); {2019/05/10; Fisher2018; JAF; 2023/04/18; Bates2023; KHB} PO2 + MCO3 = 0.900MO2 + 0.900HO2 + 0.900ALD2 + 0.900CH2O + 0.065HAC + 0.035RCHO + 0.100ACTA + 0.900CO2 : GCARR_ac(1.87d-12, 500.0d0); {2023/04/18; Bates2023; KHB} A3O2 + MCO3 = 0.900MO2 + 0.900HO2 + RCHO + 0.100ACTA + 0.900CO2 : GCARR_ac(1.87d-12, 500.0d0); {2023/04/18; Bates2023; KHB} RCO3 + MCO3 = MO2 + 0.490OTHRO2 + 0.070A3O2 + 0.270B3O2 + 2.000CO2 : GCARR_ac(2.50d-12, 500.0d0); {2019/05/10; Fisher2018; JAF; 2023/04/18; Bates2023; KHB} RCO3 + MO2 = CH2O + CO2 + HO2 + 0.490OTHRO2 + 0.070A3O2 + 0.270B3O2 : GCARR_ac(1.87d-12, 500.0d0); {2019/05/10; Fisher2018; JAF; 2023/04/18; Bates2023; KHB} NO3 + NO3 = 2.000NO2 + O2 : GCARR_ac(8.50d-13, -2450.0d0); MO2 + NO2 {+M} = MPN {+M} : GCJPLPR_abab(1.00d-30, 4.8d+00, 7.2d-12, 2.1d0, 0.6d0); {2012/02/12; Browne2011; ECB} MPN {+M} = MO2 + NO2 : GCJPLPR_abcabc(1.05d-02, 4.8d+00, -11234.0d0, 7.58d16, 2.1d0, -11234.0d0, 0.6d0); {2012/02/12; Browne2011; ECB} DMS + OH = SO2 + MO2 + CH2O : GCARR_ac(1.20d-11, -280.0d0); DMS + OH = 0.750SO2 + 0.250MSA + MO2 : GC_DMSOH_acac(8.20d-39, 5376.0d0, 1.05d-5, 3644.0d0); DMS + NO3 = SO2 + HNO3 + MO2 + CH2O : GCARR_ac(1.90d-13, 530.0d0); SO2 + OH {+M} = SO4 + HO2 : GCJPLPR_abab(2.90d-31, 4.1d+00, 1.7d-12, -0.2d0, 0.6d0); {2023/04/18; JPL 19-5; KHB} Br + O3 = BrO + O2 : GCARR_ac(1.60d-11, -780.0d0); {2012/06/07; Parrella2012; JPP} BrO + HO2 = HOBr + O2 : GCARR_ac(4.50d-12, 460.0d0); {2012/06/07; Parrella2012; JPP} Br + HO2 = HBr + O2 : GCARR_ac(4.80d-12, -310.0d0); {2012/06/07; Parrella2012; JPP} HBr + OH = Br + H2O : GCARR_ac(5.50d-12, 200.0d0); {2012/06/07; Parrella2012; JPP} BrO + BrO = 2.000Br + O2 : GCARR_ac(2.40d-12, 40.0d0); {2012/06/07; Parrella2012; JPP} BrO + BrO = Br2 + O2 : GCARR_ac(2.80d-14, 860.0d0); {2012/06/07; Parrella2012; JPP} BrO + NO = Br + NO2 : GCARR_ac(8.80d-12, 260.0d0); {2012/06/07; Parrella2012; JPP} Br + BrNO3 = Br2 + NO3 : 4.90d-11; {2012/06/07; Parrella2012; JPP} Br2 + OH = HOBr + Br : GCARR_ac(2.10d-11, 240.0d0); {2012/06/07; Parrella2012; JPP} HOBr + O = OH + BrO : GCARR_ac(1.20d-10, -430.0d0); {2014/02/03; Eastham2014; SDE} HBr + O = OH + Br : GCARR_ac(5.80d-12, -1500.0d0); {2014/02/03; Eastham2014; SDE} BrO + OH = Br + HO2 : GCARR_ac(1.70d-11, 250.0d0); {2012/06/07; Parrella2012; JPP} Br + NO3 = BrO + NO2 : 1.60d-11; {2012/06/07; Parrella2012; JPP} Br + CH2O = HBr + HO2 + CO : GCARR_ac(1.70d-11, -800.0d0); {2012/06/07; Parrella2012; JPP} Br + ALD2 = HBr + MCO3 : GCARR_ac(1.80d-11, -460.0d0); {2017/07/27; Parrella2012,Fix C creation; SAS,BHH,MJE} Br + ACET = HBr + ATO2 : GCARR_ac(1.66d-10, -7000.0d0); {2017/07/27; Parrella2012,Fix C creation; SAS,BHH,MJE} Br + C2H6 = HBr + ETO2 : GCARR_ac(2.36d-10, -6411.0d0); {2017/07/27; Parrella2012,Fix C creation; SAS,BHH,MJE} Br + C3H8 = HBr + A3O2 : GCARR_ac(8.77d-11, -4330.0d0); {2017/07/27; Parrella2012,Fix C creation; SAS,BHH,MJE} Br + NO2 {+M} = BrNO2 {+M} : GCJPLPR_aba(4.20d-31, 2.4d0, 2.7d-11, 0.6d0); {2012/06/07; Parrella2012; JPP} BrO + NO2 {+M} = BrNO3 {+M} : GCJPLPR_abab(5.40d-31, 3.1d0, 6.5d-12, 2.9d0, 0.6d0); {2017/02/22; JPL 15-10; BHH,MJE} CHBr3 + OH = 3.000Br : GCARR_ac(9.00d-13, -360.0d0); {2017/02/22; JPL 15-10; BHH,MJE} CH2Br2 + OH = 2.000Br : GCARR_ac(2.00d-12, -840.0d0); {2012/06/07; Parrella2012; JPP} CH3Br + OH = Br + H2O + HO2 : GCARR_ac(1.42d-12, -1150.0d0); {2017/03/08; JPL 15-10; TS,BHH,MJE} O1D + H2O = 2.000OH : GCARR_ac(1.63d-10, 60.0d0); {2014/02/03; Eastham2014; SDE} O1D + N2 = O + N2 : GCARR_ac(2.15d-11, 110.0d0); {2014/02/03; Eastham2014; SDE} O1D + O2 = O + O2 : GCARR_ac(3.30d-11, 55.0d0); {2014/02/03; Eastham2014; SDE} O1D + H2 = H + OH : 1.20d-10; {2014/02/03; Eastham2014; SDE} O1D + N2O = 0.390N2 + 0.390O2 + 1.220NO : GCARR_ac(1.19d-10, 20.0d0); {2014/02/03; Eastham2014; SDE} O1D + CH4 = 0.750MO2 + 0.750OH + 0.200H + 0.200HO2 + 0.050H2 + 0.250CH2O : 1.75d-10; {2014/02/03; Eastham2014; SDE} O + O2 {+M} = O3 {+M} : GCARR_ab(6.00d-34, 2.4d0)*NUMDEN; {2014/02/03; Eastham2014; SDE} O + O3 = 2.000O2 : GCARR_ac(8.00d-12, -2060.0d0); {2014/02/03; Eastham2014; SDE} OH + H2 = H2O + H : GCARR_ac(2.80d-12, -1800.0d0); {2014/02/03; Eastham2014; SDE} O + OH = O2 + H : GCARR_ac(1.80d-11, 180.0d0); {2014/02/03; Eastham2014; SDE} HO2 + O = OH + O2 : GCARR_ac(3.00d-11, 200.0d0); {2014/02/03; Eastham2014; SDE} O1D + O3 = O + 1.500O2 : 2.40d-10; {2014/02/03; Eastham2014; SDE} OCS + O = CO + SO2 : GCARR_ac(2.10d-11, -2200.0d0); {2014/02/03; Eastham2014; SDE} OCS + OH = CO2 + SO2 : GCARR_ac(7.20d-14, -1070.0d0); {2023/04/18; JPL 19-5; KHB} NO2 + O = NO + O2 : GCJPLAC_ababac(3.4e-31, 1.6d0, 2.3d-11, 0.2d0, 5.3d-12, 2.0d2, 0.6d0); {2023/04/18; JPL 19-5; KHB} NO3 + O = NO2 + O2 : 1.30d-11; {2023/04/18; JPL 19-5; KHB} NO + O {+M} = NO2 {+M} : GCJPLPR_aba(9.00d-32, 1.5d+00, 3.0d-11, 0.6d0); {2014/02/03; Eastham2014; SDE} NO2 + O {+M} = NO3 {+M} : GCJPLPR_abab(3.4d-31, 1.6d0, 2.3d-11, 0.2d0, 0.6d0); {2023/04/18; JPL 19-5; KHB} H2O2 + O = OH + HO2 : GCARR_ac(1.40d-12, -2000.0d0); {2014/02/03; Eastham2014; SDE} H + O2 {+M} = HO2 {+M} : GCJPLPR_abab(5.30d-32, 1.8d+00, 9.5d-11, -0.4d0, 0.6d0); {2023/04/18; JPL 19-5; KHB} H + O3 = OH + O2 : GCARR_ac(1.40d-10, -470.0d0); {2014/02/03; Eastham2014; SDE} H + HO2 = 1.788OH + 0.020O + 0.020H2O + 0.086H2 + 0.086O2 : 8.05d-11; {2014/02/03; Eastham2014; SDE} N + O2 = NO + O : GCARR_ac(3.30d-12, -3150.0d0); {2023/04/18; JPL 19-5; KHB} N + NO = N2 + O : GCARR_ac(2.10d-11, 100.0d0); {2014/02/03; Eastham2014; SDE} N + NO2 = N2O + O : GCARR_ac(5.80d-12, 220.0d0); {2014/02/03; Eastham2014; SDE} BrO + O = Br + O2 : GCARR_ac(1.90d-11, 230.0d0); {2014/02/03; Eastham2014; SDE} CH2O + O = CO + HO2 + OH : GCARR_ac(3.40d-11, -1600.0d0); {2014/02/03; Eastham2014; SDE} O1D + HCl = 0.120O + 0.120HCl + 0.220H + 0.660Cl + 0.220ClO + 0.660OH : 1.50d-10; {2023/04/18; JPL 19-5; KHB} O1D + HBr = 0.200O + 0.200HBr + 0.200BrO + 0.600OH + 0.200H + 0.600Br : 1.50d-10; {2023/04/18; JPL 19-5; KHB} O1D + Cl2 = 0.250O + 0.250Cl2 + 0.750Cl + 0.750ClO : 2.70d-10; {2014/02/03; Eastham2014; SDE} O1D + CCl4 = 0.210O + 0.210CCl4 + 0.790ClO + 2.370Cl : 3.30d-10; {2023/04/18; JPL 19-5; KHB} O1D + CH3Cl = 0.100O + 0.100CH3Cl + 0.460ClO + 0.350Cl + 0.090H + 0.900MO2 : 2.60d-10; {2023/04/18; JPL 19-5; KHB} O1D + CH3Br = 0.440BrO + MO2 + 0.560Br : 1.80d-10; {2014/02/03; Eastham2014; SDE} O1D + CH2Br2 = 0.050O + 0.050CH2Br2 + 0.950BrO + 0.950Br : 2.70d-10; {2014/02/03; Eastham2014; SDE} O1D + CHBr3 = 0.300O + 0.300CHBr3 + 0.700BrO + 1.400Br : 6.60d-10; {2023/04/18; JPL 19-5; KHB} O1D + HCFC22 = 0.250O + 0.250HCFC22 + 0.560ClO + 0.190Cl + 0.050OH : 1.02d-10; {2023/04/18; JPL 19-5; KHB} O1D + CFC11 = 0.100O + 0.100CFC11 + 0.900ClO + 1.800Cl : 2.30d-10; {2023/04/18; JPL 19-5; KHB} O1D + CFC12 = 0.140O + 0.140CFC12 + 0.860ClO + 0.860Cl : 1.40d-10; {2014/02/03; Eastham2014; SDE} O1D + H1211 = 0.350O + 0.350H1211 + 0.310BrO + 0.310Cl + 0.340Br + 0.340ClO : 1.50d-10; {2023/04/18; JPL 19-5; KHB} O1D + H1301 = 0.550O + 0.550H1301 + 0.450BrO : 1.00d-10; {2023/04/18; JPL 19-5; KHB} O1D + HCFC141b = 0.310O + 0.310HCFC141b + 0.690ClO + 0.690Cl : 2.60d-10; {2014/02/03; Eastham2014; SDE} O1D + HCFC142b = 0.350O + 0.350HCFC142b + 0.650ClO : 2.00d-10; {2023/04/18; JPL 19-5; KHB} O1D + HCFC123 = 0.210O + 0.210HCFC123 + 0.790Cl + 0.790ClO : 2.00d-10; {2014/02/03; Eastham2014; SDE} O1D + CFC113 = 0.100O + 0.100CFC113 + 1.900Cl + 0.800ClO : 2.32d-10; {2023/04/18; JPL 19-5; KHB} O1D + CFC114 = 0.100O + 0.100CFC114 + 0.950Cl + 0.850ClO : GCARR_ac(1.30d-10, 25.0d0); {2023/04/18; JPL 19-5; KHB} O1D + CFC115 = 0.140O + 0.140CFC115 + 0.860ClO : GCARR_ac(5.40d-11, 30.0d0); {2023/04/18; JPL 19-5; KHB} O1D + H2402 = 0.250O + 0.250H2402 + 0.750Br + 0.750BrO : GCARR_ac(1.60d-10, 0.0d0); {2014/02/03; Eastham2014; SDE} OH + Cl2 = HOCl + Cl : GCARR_ac(2.60d-12, -1100.0d0); {2014/02/03; Eastham2014; SDE} MO2 + ClO = ClOO + HO2 + CH2O : GCARR_ac(1.80d-11, -600.0d0); {2017/03/20; JPL 15-10; TS,BHH,MJE} OH + ClO = HO2 + Cl : GCARR_ac(7.40d-12, 270.0d0); {2014/02/03; Eastham2014; SDE} OH + ClO = HCl + O2 : GCARR_ac(6.00d-13, 230.0d0); {2014/02/03; Eastham2014; SDE} OH + OClO = HOCl + O2 : GCARR_ac(1.40d-12, 600.0d0); {2017/02/22; JPL 15-10; BHH,MJE} OH + Cl2O2 = HOCl + ClOO : GCARR_ac(6.00d-13, 670.0d0); {2014/02/03; Eastham2014; SDE} OH + HCl = H2O + Cl : GCARR_ac(1.80d-12, -250.0d0); {2014/02/03; Eastham2014; SDE} OH + HOCl = H2O + ClO : GCARR_ac(3.00d-12, -500.0d0); {2014/02/03; Eastham2014; SDE} OH + ClNO2 = HOCl + NO2 : GCARR_ac(2.40d-12, -1250.0d0); {2014/02/03; Eastham2014; SDE} OH + ClNO3 = HOCl + NO3 : GCARR_ac(1.20d-12, -330.0d0); {2014/02/03; Eastham2014; SDE} OH + CH3Cl = Cl + HO2 + H2O : GCARR_ac(1.96d-12, -1200.0d0); {2017/02/22; JPL 15-10; BHH,MJE} OH + CH2Cl2 = 2.000Cl + HO2 : GCARR_ac(1.92d-12, -880.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE; 2023/04/18; JPL 19-5; KHB} OH + CHCl3 = 3.000Cl + HO2 : GCARR_ac(2.20d-12, -920.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE; 2023/04/18; JPL 19-5; KHB} OH + CH3CCl3 = 3.000Cl + H2O : GCARR_ac(1.64d-12, -1520.0d0); {2014/02/03; Eastham2014; SDE} OH + HCFC22 = Cl + H2O : GCARR_ac(9.20d-13, -1560.0d0); {2017/02/22; JPL 15-10; BHH,MJE} OH + HCFC141b = 2.000Cl + H2O : GCARR_ac(1.25d-12, -1600.0d0); {2014/02/03; Eastham2014; SDE} OH + HCFC142b = Cl + H2O : GCARR_ac(1.30d-12, -1770.0d0); {2014/02/03; Eastham2014; SDE} OH + HCFC123 = 2.000Cl + H2O : GCARR_ac(7.40d-13, -900.0d0); {2017/02/22; JPL 15-10; BHH,MJE} CH4 + Cl = HCl + MO2 : GCARR_ac(7.10d-12, -1270.0d0); {2017/03/08; JPL 15-10; TS,BHH,MJE} CH2O + Cl = CO + HCl + HO2 : GCARR_ac(8.10d-11, -30.0d0); {2017/09/22; Sherwen2016b; TS,JAS,SDE; 2023/04/18; JPL 19-5; KHB} Cl + O3 = ClO + O2 : GCARR_ac(2.30d-11, -200.0d0); {2014/02/03; Eastham2014; SDE} Cl + H2 = H + HCl : GCARR_ac(3.05d-11, -2270.0d0); {2014/02/03; Eastham2014; SDE} Cl + H2O2 = HO2 + HCl : GCARR_ac(1.10d-11, -980.0d0); {2014/02/03; Eastham2014; SDE} Cl + HO2 = O2 + HCl : GCARR_ac(1.40d-11, 270.0d0); {2014/02/03; Eastham2014; SDE} Cl + HO2 = OH + ClO : GCARR_ac(3.60d-11, -375.0d0); {2014/02/03; Eastham2014; SDE} ClO + O = Cl + O2 : GCARR_ac(2.80d-11, 85.0d0); {2014/02/03; Eastham2014; SDE} ClO + HO2 = O2 + HOCl : GCARR_ac(2.60d-12, 290.0d0); {2014/02/03; Eastham2014; SDE} ClO + NO = Cl + NO2 : GCARR_ac(6.40d-12, 290.0d0); {2014/02/03; Eastham2014; SDE} ClO + NO2 {+M} = ClNO3 {+M} : GCJPLPR_abab(1.80d-31, 3.4d+00, 1.50d-11, 1.9d0, 0.6d0); {2014/02/03; Eastham2014; SDE} ClO + ClO = Cl2 + O2 : GCARR_ac(1.00d-12, -1590.0d0); {2014/02/03; Eastham2014; SDE} ClO + ClO = Cl + ClOO : GCARR_ac(3.00d-11, -2450.0d0); {2014/02/03; Eastham2014; SDE} ClO + ClO = OClO + Cl : GCARR_ac(3.50d-13, -1370.0d0); {2014/02/03; Eastham2014; SDE} Cl + O2 {+M} = ClOO {+M} : GCJPLPR_aba(2.20d-33, 3.1d+00, 1.8d-10, 0.6d0); {2014/02/03; Eastham2014; SDE} ClOO {+M} = Cl + O2 {+M} : GCJPLEQ_acabab(6.60d-25, 2502.0d0, 2.20d-33, 3.1d+00, 1.8d-10, 0.0d0, 0.6d0); {JPL 15-10; XW} ClO + ClO {+M} = Cl2O2 {+M} : GCJPLPR_abab(1.90d-32, 3.6d+00, 3.7d-12, 1.6d0, 0.6d0); {2017/02/22; JPL 15-10; BHH,MJE} Cl2O2 {+M} = 2.000ClO {+M} : GCJPLEQ_acabab(2.16d-27, 8537.0d0, 1.90d-32, 3.6d+00, 3.7d-12, 1.6d0, 0.6d0); {JPL 15-10; XW} ClOO + Cl = 0.950Cl2 + 0.950O2 + 0.100ClO : 2.42d-10; {2014/02/03; Eastham2014; SDE} ClO + BrO = Br + OClO : GCARR_ac(9.50d-13, 550.0d0); {2014/02/03; Eastham2014; SDE} ClO + BrO = Br + ClOO : GCARR_ac(2.30d-12, 260.0d0); {2014/02/03; Eastham2014; SDE} ClO + BrO = BrCl + O2 : GCARR_ac(4.10d-13, 290.0d0); {2014/02/03; Eastham2014; SDE} ClNO3 + O = ClO + NO3 : GCARR_ac(3.60d-12, -840.0d0); {2014/02/03; Eastham2014; SDE} ClNO3 + Cl = Cl2 + NO3 : GCARR_ac(6.50d-12, 135.0d0); {2014/02/03; Eastham2014; SDE} CH3Cl + Cl = CO + 2.000HCl + HO2 : GCARR_ac(2.03d-11, -1110.0d0); {2014/02/03; Eastham2014; SDE; 2023/04/18; JPL 19-5; KHB} CH2Cl2 + Cl = CO + HCl + 2.000Cl + HO2 : GCARR_ac(7.40d-12, -910.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE; 2023/04/18; JPL 19-5; KHB} CHCl3 + Cl = CO + HCl + 3.000Cl + HO2 : GCARR_ac(3.30d-12, -990.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE; 2023/04/18; JPL 19-5; KHB} Cl + HCOOH = HCl + CO2 + H2O : 2.00d-13; {2017/09/22; Sherwen2016b;TS,JAS,SDE} Cl + MO2 = ClO + CH2O + HO2 : 1.60d-10; {2017/09/22; Sherwen2016b;TS,JAS,SDE} Cl + MP = HCl + MO2 : 5.7d-11; {2017/09/22; Sherwen2016b;TS,JAS,SDE} Cl + C2H6 = HCl + ETO2 : GCARR_ac(7.2d-11, -70.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE} Cl + ETO2 = ClO + HO2 + ALD2 : 7.4d-11; {2017/09/22; Sherwen2016b;TS,JAS,SDE} Cl + OTHRO2 = ClO + HO2 + ALD2 : 7.4d-11; {2019/05/10; Fisher2018; JAF} Cl + MOH = HCl + CH2O + HO2 : 5.5d-11; {2017/09/22; Sherwen2016b;TS,JAS,SDE} Cl + EOH = HCl + ALD2 : 9.6d-11; {2017/09/22; Sherwen2016b;TS,JAS,SDE} Cl + ACTA = HCl + MO2 + CO2 : 2.8d-14; {2017/09/22; Sherwen2016b;TS,JAS,SDE} Cl + C3H8 = HCl + B3O2 : GCARR_ac(6.54d-11, 60.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE} Cl + C3H8 = HCl + A3O2 : GCARR_ac(8.12d-11, -90.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE} Cl + ACET = HCl + ATO2 : GCARR_ac(1.63d-11, -610.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE; 2023/04/18; JPL 19-5; KHB} Cl + ISOP = HCl + 0.5IHOO1 + 0.5IHOO4 : GCARR_ac(7.60d-11, 500.0d0); {2019/11/06; Sherwen2016b;KHB,TS,JAS,SDE} Cl + ALK4 = HCl + R4O2 : 2.05d-10; {2017/09/22; Sherwen2016b;TS,JAS,SDE} Cl + PRPE {+M} = HCl + PO2 {+M} : GCJPLPR_aa(4.00d-28, 2.8d-10, 0.6d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE} Br + PRPE = HBr + PO2 : 3.60d-12; {2017/09/22; Sherwen2016b;TS,JAS,SDE} I + NO {+M} = INO {+M} : GCJPLPR_aba(1.80d-32, 1.0d0, 1.70d-11, 0.6d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE; 2023/04/18; JPL 19-5; KHB} INO + INO = I2 + 2.000NO : GCARR_ac(8.40d-11, -2620.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I + NO2 {+M} = IONO {+M} : GCJPLPR_aba(3.00d-31, 1.0d0, 6.6d-11, 0.6d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE; 2023/04/18; JPL 19-5; KHB} IONO {+M} = I + NO2 {+M} : GCARR_ac(9.94d+17, -11859.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE} IONO + IONO = I2 + 2.000NO2 : GCARR_ac(2.90d-11, -2600.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I2 + NO3 = I + IONO2 : 1.50d-12; {2017/09/22; Sherwen2016b;TS,JAS,SDE} IO + NO2 {+M} = IONO2 {+M} : GCJPLPR_abab(7.50d-31, 3.5d0, 7.6d-12, 1.5d0, 0.6d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE} IONO2 {+M} = IO + NO2 {+M} : GCARR_ac(2.10d+15, -13670.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE} IONO2 + I = I2 + NO3 : GCARR_ac(9.10d-11, -146.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I + BrO = IO + Br : 1.20d-11; {2017/09/22; Sherwen2016b;TS,JAS,SDE} IO + BrO = 0.8OIO + Br + 0.2I + 0.2O2 : GCARR_ac(5.50d-12, 760.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE; 2023/04/18; JPL 19-5; KHB} IO + OIO {+M} = I2O3 {+M} : 1.00d-10; {2017/09/22; Sherwen2016b;TS,JAS,SDE} OIO + OIO = I2O4 : 1.50d-10; {2017/09/22; Sherwen2016b;TS,JAS,SDE} I2O4 {+M} = 2.000OIO {+M} : 3.80d-02; {2017/09/22; Sherwen2016b;TS,JAS,SDE} OIO + NO = IO + NO2 : GCARR_ac(1.10d-12, 542.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE} IO + ClO = 0.809I + 0.560OClO + 0.249Cl + 0.191ICl + 0.440O2 : GCARR_ac(4.82d-12, 280.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE; 2023/04/18; JPL 19-5; KHB} I + O3 = IO + O2 : GCARR_ac(2.00d-11, -830.0d0); {2017/09/22; Sherwen2017;TS,JAS,SDE; 2023/04/18; JPL 19-5; KHB} I + HO2 = HI + O2 : GCARR_ac(1.50d-11, -1090.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I2 + OH = HOI + I : 1.80d-10; {2017/09/22; Sherwen2016b;TS,JAS,SDE} HI + OH = I + H2O : 3.00d-11; {2017/09/22; Sherwen2016b;TS,JAS,SDE} HOI + OH = IO + H2O : 5.00d-12; {2017/09/22; Sherwen2016b;TS,JAS,SDE} IO + HO2 = HOI + O2 : GCARR_ac(1.30d-11, 570.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE} IO + NO = I + NO2 : GCARR_ac(8.60d-12, 230.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE; 2023/04/18; JPL 19-5; KHB} IO + IO = 0.400I + 0.400OIO + 0.600I2O2: GCARR_ac(1.50d-11, 500.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE; 2023/04/18; JPL 19-5; KHB} I2O2 {+M} = 0.008IO + 0.996I + 0.996OIO {+M} : GCARR_ac(2.51d+14, -9770.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE; 2023/04/18; Bates2023; KHB} CH3I + OH = H2O + I + MO2 : GCARR_ac(2.90d-12, -1100.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE} ETHLN + OH = CH2O + CO2 + NO2 : 2.40d-12; {2017/06/15, Marais2016, EAM} PROPNN + OH = NO2 + MGLY : 6.70d-13; {2017/07/14; MCMv3.3; KRT,JAF,CCM,EAM,KHB,RHS} CH2OO + CO = CH2O + CO2 : 1.20d-15; {2015/09/25; Millet2015; DBM,EAM; 2023/04/18; Bates2023; KHB} CH2OO + NO = CH2O + NO2 : 1.00d-14; {2015/09/25; Millet2015; DBM,EAM} CH2OO + NO2 = CH2O + NO3 : 4.25d-12; {2015/09/25; Millet2015; DBM,EAM; 2023/04/18; JPL 19-5; KHB} CH2OO + H2O = 0.730HMHP + 0.210HCOOH + 0.060CH2O + 0.060H2O2 : 2.80d-16; {2019/11/06; Bates2019; KHB; 2023/04/18; JPL 19-5; KHB} CH2OO + H2O + H2O = 0.400HMHP + 0.540HCOOH + 0.060CH2O + 0.060H2O2 : GCARR_ac(2.88d-35, 1391.0d0); {2019/11/06; Bates2019; KHB} CH2OO + O3 = CH2O : 1.40d-12; {2019/11/06; Bates2019; KHB} CH2OO + SO2 = CH2O + SO4 : 3.80d-11; {2019/11/06; Bates2019; KHB; 2023/04/18; JPL 19-5; KHB} CH3CHOO + CO = ALD2 + CO2 : 1.20d-15; {2015/09/25; Millet2015; DBM,EAM; 2023/04/18; Bates2023; KHB} CH3CHOO + NO = ALD2 + NO2 : 1.00d-14; {2015/09/25; Millet2015; DBM,EAM} CH3CHOO + NO2 = ALD2 + NO3 : 4.25d-12; {2015/09/25; Millet2015; DBM,EAM; 2023/04/18; JPL 19-5; KHB} CH3CHOO + SO2 = ALD2 + SO4 : 2.65d-11; {2015/09/25; Millet2015; DBM,EAM; 2023/04/18; JPL 19-5; KHB} CH3CHOO + H2O = ALD2 + H2O2 : 6.00d-18; {2015/09/25; Millet2015; DBM,EAM} CH3CHOO + H2O = ACTA : 1.00d-17; {2015/09/25; Millet2015; DBM,EAM} MTPA + OH = PIO2 : GCARR_ac(1.21d-11, 440.0d0); {2017/03/23; IUPAC2010; EVF} MTPO + OH = PIO2 : GCARR_ac(1.21d-11, 440.0d0); {2017/03/23; IUPAC2010; EVF} PIO2 + NO = 0.820HO2 + 0.820NO2 + 0.230CH2O + 0.430RCHO + 0.110ACET + 0.440MEK + 0.070HCOOH + 0.120MONITS + 0.060MONITU : 4.00d-12; {2017/07/14; Browne2014; KRT,JAF,CCM,EAM,KHB,RHS} PIO2 + HO2 = PIP : 1.50d-11; {2017/03/23; Roberts1992; EVF} PIO2 + MO2 = HO2 + 0.750CH2O + 0.250MOH + 0.250ROH + 0.750RCHO + 0.750MEK : GCARR_ac(3.56d-14, 708.0d0); {2017/07/14; Roberts1992; KRT,JAF,CCM,EAM,KHB,RHS} PIO2 + MCO3 = 0.500HO2 + 0.500MO2 + CO2 + RCHO + 1.125MEK + RCOOH : GCARR_ac(7.40d-13, 765.0d0); {2017/03/23; Roberts1992; EVF; 2022/07/01; 2023/04/18; Bates2023; KHB} PIO2 + NO3 = HO2 + NO2 + RCHO + MEK : 1.20d-12; {2017/03/23; Roberts1992; EVF} MTPA + O3 = 0.850OH + 0.100HO2 + 0.620KO2 + 0.140CO + 0.020H2O2 + 0.650RCHO + 0.530MEK : GCARR_ac(5.00d-16, -530.0d0); {2017/07/14; Atkinson2003; KRT,JAF,CCM,EAM,KHB,RHS} MTPO + O3 = 0.850OH + 0.100HO2 + 0.620KO2 + 0.140CO + 0.020H2O2 + 0.650RCHO + 0.530MEK : GCARR_ac(5.00d-16, -530.0d0); {2017/07/14; Atkinson2003; KRT,JAF,CCM,EAM,KHB,RHS} MTPA + NO3 = 0.100OLNN + 0.900OLND : GCARR_ac(8.33d-13, 490.0d0); {2017/07/14; Fisher2016; KRT,JAF,CCM,EAM,KHB,RHS} MTPO + NO3 = 0.100OLNN + 0.900OLND : GCARR_ac(8.33d-13, 490.0d0); {2017/07/14; Fisher2016; KRT,JAF,CCM,EAM,KHB,RHS} LIMO + OH = LIMO2 : GCARR_ac(4.20d-11, 401.0d0); {2017/07/14; Gill2002; KRT,JAF,CCM,EAM,KHB,RHS} LIMO + O3 = 0.850OH + 0.100HO2 + 0.160OTHRO2 + 0.420KO2 + 0.020H2O2 + 0.140CO + 0.460PRPE + 0.040CH2O + 0.790MACR + 0.010HCOOH + 0.070RCOOH : GCARR_ac(2.95d-15, -783.0d0); {2017/07/14; Atkinson2003; KRT,JAF,CCM,EAM,KHB,RHS} LIMO + NO3 = 0.500OLNN + 0.500OLND : 1.22d-11; {2017/07/14; Fry2014,Atkinson2003; KRT,JAF,CCM,EAM,KHB,RHS} LIMO2 + NO = 0.686HO2 + 0.780NO2 + 0.220MONITU + 0.289PRPE + 0.231CH2O + 0.491RCHO + 0.058HAC + 0.289MEK : 4.00d-12; {2017/07/14; Browne2014,Roberts1992; KRT,JAF,CCM,EAM,KHB,RHS} LIMO2 + HO2 = PIP : 1.50d-11; {2017/07/14; Roberts1992; KRT,JAF,CCM,EAM,KHB,RHS} LIMO2 + MO2 = HO2 + 0.192PRPE + 1.040CH2O + 0.308MACR + 0.250MOH + 0.250ROH : GCARR_ac(3.56d-14, 708.0d0); {2017/07/14; Roberts1992; KRT,JAF,CCM,EAM,KHB,RHS} LIMO2 + MCO3 = 0.500HO2 + 0.500MO2 + 0.192PRPE + 0.385CH2O + 0.308MACR + 0.500RCOOH : GCARR_ac(7.40d-13, 765.0d0); {2017/07/14; Roberts1992; KRT,JAF,CCM,EAM,KHB,RHS} LIMO2 + NO3 = HO2 + NO2 + 0.385PRPE + 0.385CH2O + 0.615MACR : 1.20d-12; {2017/07/14; Roberts1992; KRT,JAF,CCM,EAM,KHB,RHS} PIP + OH = 0.490OH + 0.440R4O2 + 0.080RCHO + 0.410MEK : GCARR_ac(3.40d-12, 190.0d0); {2017/07/14; Goliff2013; KRT,JAF,CCM,EAM,KHB,RHS} OLNN + NO = HO2 + NO2 + MONITS : 4.00d-12; {2017/07/14; Browne2014,Goliff2013; KRT,JAF,CCM,EAM,KHB,RHS} OLND + NO = 2.000NO2 + 0.287CH2O + 1.240RCHO + 0.464MEK : 4.00d-12; {2017/07/14; Goliff2013; KRT,JAF,CCM,EAM,KHB,RHS} OLNN + HO2 = 0.700MONITS + 0.300MONITU : GCARR_ac(1.66d-13, 1300.0d0); {2017/07/14; Browne2014,Roberts1992; KRT,JAF,CCM,EAM,KHB,RHS} OLND + HO2 = 0.700MONITS + 0.300MONITU : GCARR_ac(1.66d-13, 1300.0d0); {2017/07/14; Browne2014,Roberts1992; KRT,JAF,CCM,EAM,KHB,RHS} OLNN + MO2 = 2.000HO2 + CH2O + 0.700MONITS + 0.300MONITU : GCARR_ac(1.60d-13, 708.0d0); {2017/07/14; Browne2014,Roberts1992; KRT,JAF,CCM,EAM,KHB,RHS} OLND + MO2 = 0.500HO2 + 0.500NO2 + 0.850CH2O + 0.930RCHO + 0.340MEK + 0.250MOH + 0.250ROH + 0.350MONITS + 0.150MONITU : GCARR_ac(9.68d-14, 708.0d0); {2017/07/14; Browne2014,Roberts1992; KRT,JAF,CCM,EAM,KHB,RHS; 2023/04/18; Bates2023; KHB} OLNN + MCO3 = HO2 + MO2 + 0.700MONITS + 0.300MONITU + CO2 : GCARR_ac(8.85d-13, 765.0d0); {2017/07/14; Browne2014,Roberts1992; KRT,JAF,CCM,EAM,KHB,RHS; 2023/04/18; Bates2023; KHB} OLND + MCO3 = 0.500MO2 + NO2 + 0.287CH2O + 1.240RCHO + 0.464MEK + 0.500RCOOH : GCARR_ac(5.37d-13, 765.0d0); {2017/07/14; Browne2014,Roberts1992; KRT,JAF,CCM,EAM,KHB,RHS} OLNN + NO3 = HO2 + NO2 + 0.700MONITS + 0.300MONITU : 1.20d-12; {2017/07/14; Browne2014,Roberts1992; KRT,JAF,CCM,EAM,KHB,RHS} OLND + NO3 = 2.000NO2 + 0.287CH2O + 1.240RCHO + 0.464MEK : 1.20d-12; {2017/07/14; Browne2014,Roberts1992; KRT,JAF,CCM,EAM,KHB,RHS} OLNN + OLNN = HO2 + 1.400MONITS + 0.600MONITU : GCARR_ac(7.00d-14, 1000.0d0); {2017/07/14; Browne2014,Roberts1992; KRT,JAF,CCM,EAM,KHB,RHS} OLNN + OLND = 0.500HO2 + 0.500NO2 + 0.202CH2O + 0.640RCHO + 0.149MEK + 1.050MONITS + 0.450MONITU : GCARR_ac(4.25d-14, 1000.0d0); {2017/07/14; Browne2014,Roberts1992; KRT,JAF,CCM,EAM,KHB,RHS} OLND + OLND = NO2 + 0.504CH2O + 1.210RCHO + 0.285MEK + 0.700MONITS + 0.300MONITU : GCARR_ac(2.96d-14, 1000.0d0); {2017/07/14; Browne2014,Roberts1992; KRT,JAF,CCM,EAM,KHB,RHS} MONITS + OH = HONIT : 4.80d-12; {2017/07/14; Browne2014; KRT,JAF,CCM,EAM,KHB,RHS} MONITU + OH = HONIT : 7.29d-11; {2017/07/14; Browne2014; KRT,JAF,CCM,EAM,KHB,RHS} MONITU + O3 = HONIT : 1.67d-16; {2017/07/14; Browne2014; KRT,JAF,CCM,EAM,KHB,RHS} MONITU + NO3 = HONIT : GCARR_ac(3.15d-13, -448.0d0); {2017/07/14; Fisher2016; KRT,JAF,CCM,EAM,KHB,RHS} MONITS + NO3 = HONIT : GCARR_ac(3.15d-13, -448.0d0); {2017/07/14; Fisher2016; KRT,JAF,CCM,EAM,KHB,RHS} IONITA = INDIOL + HNO3 : 2.78d-04; {2017/07/14; Fisher2016; KRT,JAF,CCM,EAM,KHB,RHS} MONITA = INDIOL + HNO3 : 2.78d-04; {2017/07/14; Fisher2016; KRT,JAF,CCM,EAM,KHB,RHS} HONIT + OH = NO3 + HAC : GCJPLPR_abab(3.9d-31,7.2d0,1.5d-13,4.8d0,0.6d0) + GCJPLAC_ababac(3.9d-31,7.2d0,1.5d-13,4.8d0,3.7d-14,2.4d2,0.6d0); {2023/04/18; JPL 19-5; KHB} MENO3 + OH = CH2O + NO2 : GCARR_ac(8.00d-13, -1000.0d0); {2019/05/16; JPL 15-10,Fisher2018; JAF} ETNO3 + OH = ALD2 + NO2 : GCARR_ac(1.00d-12, -490.0d0); {2019/05/16; JPL 15-10,Fisher2018; JAF} IPRNO3 + OH = ACET + NO2 : GCARR_ac(1.20d-12, -320.0d0); {2019/05/16; JPL 15-10,Fisher2018; JAF} NPRNO3 + OH = RCHO + NO2 : 7.10d-13; {2019/05/16; JPL 15-10,Fisher2018; JAF} ISOP + O3 = 0.416MACR + 0.177MVK + 0.28OH + 0.407CO2 + 0.407CO + 0.407MO2 + 0.16HO2 + 0.58CH2OO + 0.827CH2O + 0.013H2O2 : GCARR_ac(1.10d-14, -2000.0d0); {2019/11/06; Bates2019; KHB; 2023/04/18; JPL 19-5; KHB} ISOP + OH = LISOPOH + IHOO1 : GC_ISO1(1.7d-11, 3.90d2, 9.33d-2, 5.05d15, -1.22d4, 1.79d14, -8.830d3); {2019/11/06; Bates2019; KHB} ISOP + OH = LISOPOH + IHOO4 : GC_ISO1(1.0d-11, 3.90d2, 2.26d-1, 2.22d9, -7.160d3, 1.75d14, -9.054d3); {2019/11/06; Bates2019; KHB} ISOP + OH = 0.3MCO3 + 0.3MGLY + 0.3CH2O + 0.15HPALD3 + 0.25HPALD1 + 0.4HO2 + 0.6CO + 1.5OH + 0.3HPETHNL + LISOPOH : GC_ISO2(1.7d-11, 3.90d2, 9.33d-2, 5.05d15, -1.22d4, 1.79d14, -8.830d3); {2019/11/06; Bates2019; KHB} ISOP + OH = 0.3CH2O + 0.15HPALD4 + 0.25HPALD2 + 1.5OH + 0.9CO + 0.7HO2 + 0.3MGLY + 0.3ATOOH + LISOPOH : GC_ISO2(1.0d-11, 3.90d2, 2.26d-1, 2.22d9, -7.160d3, 1.75d14, -9.054d3); {2019/11/06; Bates2019; KHB} IHOO1 + HO2 = 0.063MVK + 0.063OH + 0.063HO2 + 0.063CH2O + 0.937RIPA : ARRPLUS_abde(2.12d-13, -1300d0, 1.1644d0, -7.0485d-4); {2019/11/06; Bates2019; KHB} IHOO1 + HO2 = RIPC : ARRPLUS_abde(2.12d-13, -1300d0, -0.1644d0, 7.0485d-4); {2019/11/06; Bates2019; KHB} IHOO4 + HO2 = 0.063MACR + 0.063OH + 0.063HO2 + 0.063CH2O + 0.937RIPB : ARRPLUS_abde(2.12d-13, -1300d0, 1.2038d0, -9.0435d-4); {2019/11/06; Bates2019; KHB} IHOO4 + HO2 = RIPD : ARRPLUS_abde(2.12d-13, -1300d0, -0.2038d0, 9.0435d-4); {2019/11/06; Bates2019; KHB} IHOO1 = CH2O + OH + MVK : ARRPLUS_abde(1.04d11, 9.746d3, 1.1644d0, -7.0485d-4); {2019/11/06; Bates2019; KHB} IHOO1 = 0.15HPALD3 + 0.25HPALD1 + 0.4HO2 + 0.6CO + 1.5OH + 0.3CH2O + 0.3MGLY + 0.3HPETHNL + 0.3MCO3 : TUNPLUS_abcde(5.05d15, -1.22d4, 1.0d8, -0.0128d0, 5.1242d-5); {2019/11/06; Bates2019; KHB} IHOO4 = MACR + OH + CH2O : ARRPLUS_abde(1.88d11, 9.752d3, 1.2038d0, -9.0435d-4); {2019/11/06; Bates2019; KHB} IHOO4 = 0.15HPALD4 + 0.25HPALD2 + 1.5OH + 0.3CH2O + 0.9CO + 0.7HO2 + 0.3MGLY + 0.3ATOOH : TUNPLUS_abcde(2.22d9, -7.160d3, 1.0d8, -0.0306d0, 1.1346d-4); {2019/11/06; Bates2019; KHB} IHOO1 + IHOO1 = 2MVK + 2HO2 + 2CH2O : ARRPLUS_ade(6.92d-14, 1.1644d0, -7.0485d-4); {2019/11/06; Bates2019; KHB} IHOO4 + IHOO4 = 2MACR + 2HO2 + 2CH2O : ARRPLUS_ade(5.74d-12, 1.2038d0, -9.0435d-4); {2019/11/06; Bates2019; KHB} IHOO1 + IHOO4 = MACR + MVK + 2HO2 + 2CH2O : ARRPLUS_ade(1.54d-12, 2.3682d0, -1.6092d-3); {2019/11/06; Bates2019; KHB} IHOO1 + IHOO1 = HO2 + HC5A + CO + OH + MVKHP : ARRPLUS_ade(2.49d-12, -0.1644d0, 7.0485d-4); {2019/11/06; Bates2019; KHB} IHOO4 + IHOO4 = HO2 + HC5A + CO + OH + MCRHP : ARRPLUS_ade(3.94d-12, -0.2038d0, 9.0435d-4); {2019/11/06; Bates2019; KHB} IHOO1 + IHOO4 = HO2 + HC5A + CO + OH + 0.5MVKHP + 0.5MCRHP : ARRPLUS_ade(1.54d-12, -0.3682d0, 1.6092d-3); {2019/11/06; Bates2019; KHB} IHOO1 + MO2 = MVK + 2HO2 + 2CH2O : ARRPLUS_ade(2.0d-12, 1.1644d0, -7.0485d-4); {2019/11/06; Bates2019; KHB} IHOO1 + MO2 = CH2O + 0.5HC5A + 1.5HO2 + 0.5MVKHP + 0.5CO + 0.5OH : ARRPLUS_ade(2.0d-12, -0.1644d0, 7.0485d-4); {2019/11/06; Bates2019; KHB} IHOO4 + MO2 = MACR + 2HO2 + 2CH2O : ARRPLUS_ade(2.0d-12, 1.2038d0, -9.0435d-4); {2019/11/06; Bates2019; KHB} IHOO4 + MO2 = CH2O + 0.5HC5A + 1.5HO2 + 0.5MCRHP + 0.5CO + 0.5OH : ARRPLUS_ade(2.0d-12, -0.2038d0, 9.0435d-4); {2019/11/06; Bates2019; KHB} IHOO1 + NO = IHN2 : GC_NIT(2.7d-12, 3.50d2, 1.19d0, 6.0d0, 1.1644d0, 7.05d-4); {2019/11/06; Bates2019; KHB} IHOO1 + NO = NO2 + MVK + HO2 + CH2O : GC_ALK(2.7d-12, 3.50d2, 1.19d0, 6.0d0, 1.1644d0, 7.05d-4); {2019/11/06; Bates2019; KHB} IHOO1 + NO = IHN4 : GC_NIT(2.7d-12, 3.50d2, 1.421d0, 6.0d0, -0.1644d0, -7.05d-4); {2019/11/06; Bates2019; KHB} IHOO1 + NO = NO2 + 0.45HC5A + 0.45HO2 + 0.55MVKHP + 0.55CO + 0.55OH : GC_ALK(2.7d-12, 3.50d2, 1.421d0, 6.0d0, -0.1644d0, -7.05d-4); {2019/11/06; Bates2019; KHB} IHOO4 + NO = IHN3 : GC_NIT(2.7d-12, 3.50d2, 1.297d0, 6.0d0, 1.2038d0, 9.04d-4); {2019/11/06; Bates2019; KHB} IHOO4 + NO = NO2 + MACR + HO2 + CH2O : GC_ALK(2.7d-12, 3.50d2, 1.297d0, 6.0d0, 1.2038d0, 9.04d-4); {2019/11/06; Bates2019; KHB} IHOO4 + NO = IHN1 : GC_NIT(2.7d-12, 3.50d2, 1.421d0, 6.0d0, -0.2038d0, -9.04d-4); {2019/11/06; Bates2019; KHB} IHOO4 + NO = NO2 + 0.45HO2 + 0.45HC5A + 0.55MCRHP + 0.55CO + 0.55OH : GC_ALK(2.7d-12, 3.50d2, 1.421d0, 6.0d0, -0.2038d0, -9.04d-4); {2019/11/06; Bates2019; KHB} HPALD1 + OH = 0.035MVK + 0.315HPALD1OO + 0.15IDC + 0.33MVKHP + 0.085HO2 + 0.085CH2O + 0.085MGLY + 0.085ICHE + 1.085OH + 0.45CO : GCARR_ac(1.17d-11, 450.0d0); {2019/11/06; Bates2019; KHB} HPALD2 + OH = 0.035MACR + 0.315HPALD2OO + 0.15IDC + 0.17MCRHP + 0.165HO2 + 0.165CH2O + 0.165MGLY + 0.165ICHE + 1.165OH + 0.37CO : GCARR_ac(1.17d-11, 450.0d0); {2019/11/06; Bates2019; KHB} HPALD3 + OH = OH + 0.230MVK + 0.420CO + 0.190MVKHP + 0.580ICHE : GCARR_ac(2.20d-11, 390.0d0); {2019/11/06; Bates2019; KHB} HPALD4 + OH = OH + 0.770ICHE + 0.230CO + 0.090MCRHP + 0.140MACR : GCARR_ac(3.50d-11, 390.0d0); {2019/11/06; Bates2019; KHB} HC5A + OH = 1.065OH + 0.355CO2 + 0.638CO + 0.355MGLY + 0.283HO2 + 0.294IEPOXAOO + 0.125MVKHP + 0.158MCRHP + 0.068IEPOXBOO : GCARR_ac(4.64d-12, 650.0d0); {2019/11/06; Bates2019; KHB} ICHE + OH = OH + 1.5CO + 0.5CH2O + 0.5MGLY + 0.5HAC : GCARR_ac(9.85d-12, 410.0d0); {2019/11/06; Bates2019; KHB} IDC + OH = CO + HO2 + MVKPC : GCARR_ac(3.00d-12, 650.0d0); {2019/11/06; Bates2019; KHB} RIPA + OH = 0.655IHPOO3 + 0.345IHPOO1 + 0.005LVOC : GCARR_ac(2.47d-12, 390.0d0); {2019/11/06; Bates2019; KHB} RIPA + OH = 0.67IEPOXA + 0.33IEPOXB + OH + 0.005LVOC : GC_EPO_a(1.62d-11, 3.90d2, 4.77d-21); {2019/11/06; Bates2019; KHB} RIPB + OH = 0.655IHPOO3 + 0.345IHPOO2 + 0.005LVOC : GCARR_ac(4.35d-12, 390.0d0); {2019/11/06; Bates2019; KHB} RIPB + OH = 0.68IEPOXA + 0.32IEPOXB + OH + 0.005LVOC : GC_EPO_a(2.85d-11, 390.0d0, 4.77d-21); {2019/11/06; Bates2019; KHB} RIPA + OH = 0.75IHOO1 + 0.125MVK + 0.25CO + 0.125MVKHP + 0.25HO2 + 0.005LVOC : GCARR_ac(6.10d-12, 200.0d0); {2019/11/06; Bates2019; KHB} RIPB + OH = 0.51IHOO4 + 0.16ICHOO + 0.33CO + 0.33HO2 + 0.165MACR + 0.165MCRHP + 0.005LVOC : GCARR_ac(4.10d-12, 200.0d0); {2019/11/06; Bates2019; KHB} RIPC + OH = 0.595IHPOO1 + 0.03IHOO1 + 0.06HC5A + 0.024HO2 + 0.009HPALD3 + 0.015HPALD1 + 0.405OH + 0.036CO + 0.018CH2O + 0.018MGLY + 0.018HPETHNL + 0.018MCO3 + 0.255IEPOXD + 0.005LVOC : GCARR_ac(3.53d-11, 390.0d0); {2019/11/06; Bates2019; KHB} RIPD + OH = 0.255IHPOO2 + 0.03IHOO4 + 0.745OH + 0.06HC5A + 0.009HPALD4 + 0.015HPALD2 + 0.042HO2 + 0.018CH2O + 0.054CO + 0.018MGLY + 0.018ATOOH + 0.595IEPOXD + 0.005LVOC : GCARR_ac(3.53d-11, 390.0d0); {2019/11/06; Bates2019; KHB} IHPOO1 = 0.176ICPDH + 0.824IDHPE + OH : GCARR_ac(1.59d+13, -10000.0d0); {2019/11/06; Bates2019; KHB} IHPOO1 + NO = 0.716MCRHP + 0.716CH2O + 0.284HPETHNL + 0.284HAC + NO2 + HO2 : GC_ALK(2.7d-12, 3.50d2, 2.1d0, 9.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IHPOO1 + NO = ITHN : GC_NIT(2.7d-12, 3.50d2, 2.1d0, 9.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IHPOO1 + HO2 = 0.725IDHDP + 0.14MCRHP + 0.14CH2O + 0.135HPETHNL + 0.135HAC + 0.275OH + 0.275HO2 : GCARR_ac(2.47d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} IHPOO2 = 0.548ICPDH + 0.452IDHPE + OH : GCARR_ac(2.91d+13, -10000.0d0); {2019/11/06; Bates2019; KHB} IHPOO2 + NO = 0.706MVKHP + 0.706CH2O + 0.294GLYC + 0.294ATOOH + NO2 + HO2 : GC_ALK(2.7d-12, 3.50d2, 2.315d0, 9.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IHPOO2 + NO = ITHN : GC_NIT(2.7d-12, 3.50d2, 2.315d0, 9.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IHPOO2 + HO2 = 0.725IDHDP + 0.14MVKHP + 0.14CH2O + 0.135GLYC + 0.135ATOOH + 0.275OH + 0.275HO2 : GCARR_ac(2.47d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} IHPOO3 = IDHPE : GCARR_ac(1.875d+13, -10000.0d0); {2019/11/06; Bates2019; KHB} IHPOO3 + NO = GLYC + HAC + NO2 + OH : GC_ALK(2.7d-12, 3.50d2, 3.079d0, 9.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IHPOO3 + NO = ITHN : GC_NIT(2.7d-12, 3.50d2, 3.079d0, 9.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IHPOO3 + HO2 = 0.35IDHDP + 0.65GLYC + 0.65HAC + 1.3OH : GCARR_ac(2.47d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} IEPOXD + OH = 0.75ICHE + 0.75HO2 + 0.25ICHOO : GCARR_ac(3.22d-11, -400.0d0); {2019/11/06; Bates2019; KHB} IEPOXA + OH = ICHE + HO2 : GCARR_ac(1.05d-11, -400.0d0); {2019/11/06; Bates2019; KHB} IEPOXA + OH = 0.67IEPOXAOO + 0.33IEPOXBOO : GC_EPO_a(5.82d-11, -4.00d2, 1.14d-20); {2019/11/06; Bates2019; KHB} IEPOXB + OH = ICHE + HO2 : GCARR_ac(8.25d-12, -400.0d0); {2019/11/06; Bates2019; KHB} IEPOXB + OH = 0.81IEPOXAOO + 0.19IEPOXBOO : GC_EPO_a(3.75d-11, -4.00d2, 8.91d-21); {2019/11/06; Bates2019; KHB} IEPOXAOO = IDCHP + HO2 : GCARR_ac(1.875d+13, -10000.0d0); {2019/11/06; Bates2019; KHB} IEPOXAOO = OH + CO + MVKDH : GCARR_ac(1.0d+7, -5000.0d0); {2019/11/06; Bates2019; KHB} IEPOXAOO + HO2 = 0.13CO + 0.65OH + 0.65HO2 + 0.13MVKDH + 0.52GLYC + 0.52MGLY + 0.35ICPDH : GCARR_ac(2.38d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} IEPOXAOO + NO = 0.2MVKDH + HO2 + NO2 + 0.2CO + 0.8GLYC + 0.8MGLY : GC_ALK(2.7d-12, 3.50d2, 13.098d0, 8.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IEPOXAOO + NO = ITCN : GC_NIT(2.7d-12, 3.50d2, 13.098d0, 8.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IEPOXBOO = IDCHP + HO2 : GCARR_ac(1.875d+13, -10000.0d0); {2019/11/06; Bates2019; KHB} IEPOXBOO = CO + OH + MCRDH : GCARR_ac(1.0d+7, -5000.0d0); {2019/11/06; Bates2019; KHB} IEPOXBOO + NO = NO2 + HO2 + 0.8GLYX + 0.8HAC + 0.2CO + 0.2MCRDH : GC_ALK(2.7d-12, 3.50d2, 16.463d0, 8.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IEPOXBOO + NO = ITCN : GC_NIT(2.7d-12, 3.50d2, 16.463d0, 8.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IEPOXBOO + HO2 = 0.13CO + 0.65OH + 0.65HO2 + 0.13MCRDH + 0.52HAC + 0.52GLYX + 0.35ICPDH : GCARR_ac(2.38d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} ICHOO + HO2 = 0.35ICPDH + 0.65OH + 0.52CO + 0.13MVKHC + 0.65CH2O + 0.65HO2 + 0.52HAC : GCARR_ac(2.38d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} ICHOO + NO = ITCN : GC_NIT(2.7d-12, 3.50d2, 13.098d0, 8.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} ICHOO + NO = NO2 + 0.8HAC + 0.8CO + CH2O + HO2 + 0.2MVKHC : GC_ALK(2.7d-12, 3.50d2, 13.098d0, 8.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} ICHOO = HO2 + 2.000CO + HAC + OH : GCARR_ac(1.875d+13, -10000.0d0); {2019/11/06; Bates2019; KHB} HPALD1OO + NO = NO2 + OH + CO2 + MVK : GCARR_ac(2.70d-12, 350.0d0); {2019/11/06; Bates2019; KHB} HPALD1OO + HO2 = OH + OH + CO2 + MVK : GCARR_ac(2.38d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} HPALD2OO + NO = NO2 + OH + CO2 + MACR : GCARR_ac(2.70d-12, 350.0d0); {2019/11/06; Bates2019; KHB} HPALD2OO + HO2 = OH + OH + CO2 + MACR : GCARR_ac(2.38d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} IHN2 + OH = ISOPNOO1 : GCARR_ac(7.14d-12, 390.0d0); {2019/11/06; Bates2019; KHB} IHN2 + OH = 0.67IEPOXA + 0.33IEPOXB + NO2 : GC_EPO_a(6.30d-12, 390.0d0, 1.62d-19); {2019/11/06; Bates2019; KHB} IHN3 + OH = ISOPNOO2 : GCARR_ac(1.02d-11, 390.0d0); {2019/11/06; Bates2019; KHB} IHN3 + OH = 0.67IEPOXA + 0.33IEPOXB + NO2 : GC_EPO_a(1.05d-11, 390.0d0, 2.49d-19); {2019/11/06; Bates2019; KHB} IHN1 + OH = IEPOXD + NO2 : GC_EPO_a(1.55d-11, 390.0d0, 2.715d-19); {2019/11/06; Bates2019; KHB} IHN1 + OH = IDHNDOO1 : GCARR_ac(2.04d-11, 390.0d0); {2019/11/06; Bates2019; KHB} IHN4 + OH = IEPOXD + NO2 : GC_EPO_a(9.52d-12, 390.0d0, 2.715d-19); {2019/11/06; Bates2019; KHB} IHN4 + OH = IDHNDOO2 : GCARR_ac(2.95d-11, 390.0d0); {2019/11/06; Bates2019; KHB} IHN1 + OH = 0.6OH + 0.6CO + 0.6MCRHNB + 0.4HO2 + 0.4ICN : GCARR_ac(7.5d-12, 20.0d0); {2019/11/06; Bates2019; KHB} IHN4 + OH = 0.6OH + 0.6CO + 0.6MVKN + 0.4HO2 + 0.4ICN : GCARR_ac(7.5d-12, 20.0d0); {2019/11/06; Bates2019; KHB} ISOPNOO1 = ITCN + HO2 : GCARR_ac(1.875d+13, -10000.0d0); {2019/11/06; Bates2019; KHB} ISOPNOO1 + HO2 = 0.482ITHN + 0.059MCRHN + 0.059CH2O + 0.459GLYC + 0.459HAC + 0.059HO2 + 0.459NO2 + 0.518OH : GCARR_ac(2.60d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} ISOPNOO1 + NO = 0.272MCRHN + 0.272CH2O + 0.728GLYC + 0.728HAC + 0.272HO2 + 1.728NO2 : GC_ALK(2.7d-12, 350.0d0, 6.32d0, 11.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} ISOPNOO1 + NO = IDN : GC_NIT(2.7d-12, 350.0d0, 6.32d0, 11.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} ISOPNOO2 = ITCN + HO2 : GCARR_ac(1.875d+13, -10000.0d0); {2019/11/06; Bates2019; KHB} ISOPNOO2 + HO2 = 0.401ITHN + 0.599MVKN + 0.599CH2O + 0.599HO2 + 0.599OH : GCARR_ac(2.60d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} ISOPNOO2 + NO = MVKN + CH2O + HO2 + NO2 : GC_ALK(2.7d-12, 350.0d0, 7.941d0, 11.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} ISOPNOO2 + NO = IDN : GC_NIT(2.7d-12, 350.0d0, 7.941d0, 11.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IDHNDOO1 = ITCN + HO2 : GCARR_ac(1.256d+13, -10000.0d0); {2019/11/06; Bates2019; KHB} IDHNDOO2 = ITCN + HO2 : GCARR_ac(5.092d+12, -10000.0d0); {2019/11/06; Bates2019; KHB} IDHNDOO1 + HO2 = 0.418ITHN + 0.551PROPNN + 0.551GLYC + 0.031MCRHNB + 0.031CH2O + 0.582HO2 + 0.582OH : GCARR_ac(2.60d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} IDHNDOO1 + NO = 0.935PROPNN + 0.935GLYC + 0.065MCRHNB + 0.065CH2O + HO2 + NO2 : GC_ALK(2.7d-12, 350.0d0, 4.712d0, 11.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IDHNDOO1 + NO = IDN : GC_NIT(2.7d-12, 350.0d0, 4.712d0, 11.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IDHNDOO2 + HO2 = 0.494ITHN + 0.441HAC + 0.441ETHLN + 0.065MVKN + 0.065CH2O + 0.506OH + 0.506HO2 : GCARR_ac(2.60d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} IDHNDOO2 + NO = 0.858HAC + 0.858ETHLN + 0.142MVKN + 0.142CH2O + HO2 + NO2 : GC_ALK(2.7d-12, 350.0d0, 2.258d0, 11.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IDHNDOO2 + NO = IDN : GC_NIT(2.7d-12, 350.0d0, 2.258d0, 11.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IDHNBOO + HO2 = 0.379HO2 + 0.379OH + 0.621ITHN + 0.094MCRHNB + 0.242GLYC + 0.242PROPNN + 0.010MVKN + 0.033HAC + 0.033ETHLN + 0.104CH2O : GCARR_ac(2.60d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} IDHNBOO + NO = 0.355MCRHNB + 0.546PROPNN + 0.546GLYC + 0.028MVKN + 0.071ETHLN + 0.071HAC + HO2 + NO2 + 0.383CH2O : GC_ALK(2.7d-12, 350.0d0, 1.851d0, 11.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IDHNBOO + NO = IDN : GC_NIT(2.7d-12, 350.0d0, 1.851d0, 11.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} ISOP + NO3 = 0.465INO2B + 0.535INO2D + LISOPNO3 : GCARR_ac(2.95d-12, -450.0d0); {2019/11/06; Bates2019; KHB} INO2B + HO2 = 0.473INPB + 0.048MACR + 0.479MVK + 0.527OH + 0.527CH2O + 0.527NO2 : GCARR_ac(2.47d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} INO2D + HO2 = INPD : GCARR_ac(2.47d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} INO2B + INO2B = 1.737MVK + 0.123MACR + 1.860CH2O + 1.860NO2 + 0.070INPB + 0.070ICN : 1.61d-12; {2019/11/06; Bates2019; KHB} INO2B + INO2D = 0.399INPB + 0.544MVK + 0.532ICN + 0.563NO2 + 0.474INA + 0.089HO2 + 0.019MACR + 0.563CH2O + 0.032IHN1 : 2.56d-12; {2019/11/06; Bates2019; KHB} INO2D + INO2D = 0.064HO2 + 0.340INA + 0.862ICN + 0.671IHN1 + 0.127IHN4 : 3.71d-12; {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} INO2D + MO2 = 0.298IHN1 + 0.057IHN4 + 0.244INA + 0.401ICN + 0.355MOH + 0.336HO2 + 0.645CH2O : 1.18d-12; {2019/11/06; Bates2019; KHB} INO2B + MO2 = 0.355INPB + 0.583MVK + 0.028MACR + 0.034ICN + 0.611HO2 + 1.577CH2O + 0.611NO2 + 0.034MOH : 2.80d-13; {2019/11/06; Bates2019; KHB} INO2B + MCO3 = CH2O + NO2 + MO2 + 0.903MVK + 0.097MACR + CO2 : 1.92d-12; {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} INO2D + MCO3 = MO2 + 0.841INA + 0.159HO2 + 0.159ICN + CO2 : 7.71d-12; {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} INO2B + NO3 = CH2O + 2NO2 + 0.903MVK + 0.097MACR : 2.3d-12; {2019/11/06; Bates2019; KHB} INO2D + NO3 = NO2 + 0.841INA + 0.159HO2 + 0.159ICN : 2.3d-12; {2019/11/06; Bates2019; KHB} INO2B + NO = 2NO2 + CH2O + 0.096MACR + 0.904MVK : GC_ALK(2.7d-12, 350.0d0, 12.915d0, 9.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} INO2B + NO = IDN : GC_NIT(2.7d-12, 350.0d0, 12.915d0, 9.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} INO2D + NO = NO2 + 0.159HO2 + 0.159ICN + 0.841INA : GC_ALK(2.7d-12, 350.0d0, 1.412d0, 9.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} INO2D + NO = IDN : GC_NIT(2.7d-12, 350.0d0, 1.412d0, 9.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} INA + O2 = ICN + HO2 : GCARR_ac(2.50d-14, -300.0d0); {2019/11/06; Bates2019; KHB} INA = IDHNBOO : GCARR_ac(1.00d+20, -10000.0d0); {2019/11/06; Bates2019; KHB} INPB + OH = 0.670IHPNBOO + 0.33IDHNBOO : GCARR_ac(5.88d-12, 390.0d0); {2019/11/06; Bates2019; KHB} INPD + OH = IHPNDOO : GCARR_ac(1.61d-11, 390.0d0); {2019/11/06; Bates2019; KHB} INPB + OH = OH + ITHN : GC_EPO_a(4.471d-12, 390.0d0, 2.28d-20); {2019/11/06; Bates2019; KHB} INPD + OH = OH + ITHN : GC_EPO_a(8.77d-12, 390.0d0, 2.185d-20); {2019/11/06; Bates2019; KHB} INPD + OH = NO2 + ICHE : GC_EPO_a(1.493d-11, 390.0d0, 2.715d-19); {2019/11/06; Bates2019; KHB} INPB + OH = INO2B : GCARR_ac(2.278d-12, 200.0d0); {2019/11/06; Bates2019; KHB} INPD + OH = INO2D : GCARR_ac(3.40d-12, 200.0d0); {2019/11/06; Bates2019; KHB} INPD + OH = ICN + OH : GCARR_ac(7.50d-12, 20.0d0); {2019/11/06; Bates2019; KHB} IHPNDOO = OH + ITCN : GCARR_ac(6.55d+12, -10000.0d0); {2019/11/06; Bates2019; KHB} IHPNBOO = OH + 0.5ITCN + 0.5ITHN : GCARR_ac(8.72d+12, -10000.0d0); {2019/11/06; Bates2019; KHB} IHPNBOO + HO2 = 0.234ITHN + 0.060MCRHNB + 0.340GLYC + 0.249HPETHNL + 0.004MCRHP + 0.008MVKN + 0.009ATOOH + 0.054MVKHP + 0.042HAC + 1.147OH + 0.326HO2 + 0.058NO2 + 0.126CH2O + 0.589PROPNN + 0.051ETHLN : GCARR_ac(2.64d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} IHPNDOO + HO2 = 0.387ITHN + 0.073MCRHNB + 0.471HPETHNL + 0.015MVKN + 0.054ATOOH + 0.646OH + 0.580HO2 + 0.088CH2O + 0.471PROPNN + 0.054ETHLN : GCARR_ac(2.64d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} IHPNBOO + NO = 0.384GLYC + 0.170MCRHNB + 0.303HPETHNL + 0.014MVKN + 0.051HAC + 0.013ATOOH + 0.059MVKHP + 0.006MCRHP + 0.687PROPNN + 0.064ETHLN + 0.249CH2O + 1.065NO2 + 0.500HO2 + 0.435OH : GC_ALK(2.7d-12, 350.0d0, 6.092d0, 12.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IHPNBOO + NO = IDN : GC_NIT(2.7d-12, 350.0d0, 6.092d0, 12.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IHPNDOO + NO = 0.291MCRHNB + 0.590HPETHNL + 0.070ATOOH + 0.049MVKN + 0.590PROPNN + 0.070ETHLN + 0.340CH2O + 1.000NO2 + 0.904HO2 + 0.096OH : GC_ALK(2.7d-12, 350.0d0, 4.383d0, 12.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IHPNDOO + NO = IDN : GC_NIT(2.7d-12, 350.0d0, 4.383d0, 12.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} ICN + OH = NO2 + ICHE : GC_EPO_a(2.97d-12, 390.0d0, 2.715d-19); {2019/11/06; Bates2019; KHB} ICN + OH = 0.244OH + 0.539CO + 0.295HO2 + 0.378MCRHNB + 0.461ICNOO + 0.161MVKN : GCARR_ac(9.35d-12, 390.0d0); {2019/11/06; Bates2019; KHB} ICNOO + NO = 0.67ICNOO + 0.429CO2 + 0.33CO + 0.33HO2 + 0.231PROPNN + NO2 + 0.099ETHLN : GCARR_ac(2.70d-12, 350.0d0); {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} ICNOO + HO2 = 0.67ICNOO + 0.429CO2 + 0.33CO + 0.33HO2 + 0.231PROPNN + OH + 0.099ETHLN : GCARR_ac(2.54d-13, 1300.0d0); {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} IDN + OH = 0.565NO2 + 0.565ITHN + 0.435IDNOO : GCARR_ac(1.00d-11, 0.0d0); {2019/11/06; Bates2019; KHB} IDNOO + NO = PROPNN + 1.11NO2 + 0.11GLYC + 0.89ETHLN + 0.89HO2 : GCARR_ac(2.70d-12, 350.0d0); {2019/11/06; Bates2019; KHB} IDNOO + HO2 = 0.18IDN + 0.09NO2 + 0.09GLYC + 0.82OH + 0.73HO2 + 0.82PROPNN + 0.73ETHLN : GCARR_ac(2.71d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} MVK + OH = MVKOHOO : GCARR_ac(2.60d-12, 610.0d0); {2019/11/06; Bates2019; KHB} MVK + O3 = 0.545MGLY + 0.500CH2OO + 0.600CH2O + 0.380MCO3 + 0.100HO2 + 0.080OH + 0.280CO + 0.075PYAC + 0.045H2O2 : GCARR_ac(8.50d-16, -1520.0d0); {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} MACR + OH = 0.036ATOOH + 0.036CO + 0.036HO2 + 0.964MCROHOO : GCARR_ac(4.40d-12, 380.0d0); {2019/11/06; Bates2019; KHB} MACR + OH = MACR1OO : GCARR_ac(2.70d-12, 470.0d0); {2019/11/06; Bates2019; KHB} MACR + O3 = 0.880MGLY + 0.880CH2OO + 0.120CH2O + 0.120OH + 0.120CO + 0.120MCO3 : GCARR_ac(1.50d-15, -2110.0d0); {2019/11/06; Bates2019; KHB; 2023/04/18; JPL 19-5; KHB} MACR + NO3 = 0.320HNO3 + 0.320MACR1OO + 0.680OH + 0.680CO + 0.680PROPNN : GCARR_ac(1.80d-13, -1190.0d0); {2019/11/06; Bates2019; KHB} MVKN + OH = 0.241CH2O + 0.690NO3 + 0.020OH + 0.449MGLY + 0.449HCOOH + 0.241PYAC + 0.290MVKHCB + 0.310NO2 + 0.040MCO3 : GCARR_ac(1.24d-12, 380.0d0); {2019/11/06; Bates2019; KHB} MVKHP + OH = 0.53MVKHC + 0.47MVKHCB + OH : 5.77d-11; {2019/11/06; Bates2019; KHB} MCRHP + OH = 0.77CO + OH + 0.77HAC + 0.23ATOOH + 0.23CO2 : GCARR_ac(2.70d-12, 470.0d0); {2019/11/06; Bates2019; KHB} MCRHN + OH = MACRNO2 : GCARR_ac(1.39d-11, 380.0d0); {2019/11/06; Bates2019; KHB} MCRHNB + OH = 0.250CO + OH + PROPNN + 0.750CO2 : GCARR_ac(2.70d-12, 470.0d0); {2019/11/06; Bates2019; KHB} C4HVP1 + NO = NO2 + MVKOHOO : GCARR_ac(2.70d-12, 350.0d0); {2019/11/06; Bates2019; KHB} C4HVP1 + HO2 = OH + MVKOHOO : GCARR_ac(1.93d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} C4HVP1 + NO2 = MVKN : 9.00d-12; {2019/11/06; Bates2019; KHB} C4HVP2 + NO = NO2 + MCROHOO : GCARR_ac(2.70d-12, 350.0d0); {2019/11/06; Bates2019; KHB} C4HVP2 + HO2 = OH + MCROHOO : GCARR_ac(1.93d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} C4HVP2 + NO2 = MCRHN : 9.00d-12; {2019/11/06; Bates2019; KHB} MCRENOL + OH = 0.75CO + 0.285OH + 0.715HO2 + 0.653PYAC + 0.097CO2 + 0.097MCO3 + 0.063MVKHCB + 0.187MGLY + 0.187HCOOH : GCARR_ac(3.71d-12, 983.0d0); {2019/11/06; Bates2019; KHB} MVKPC + OH = OH + CO + MGLY : GCARR_ac(5.00d-12, 470.0d0); {2019/11/06; Bates2019; KHB} MVKDH + OH = 0.4MVKHCB + 0.6MVKHC + HO2 : GCARR_ac(8.70d-12, 70.0d0); {2019/11/06; Bates2019; KHB} MVKHCB + OH = OH + MGLY + CO : GCARR_ac(5.00d-12, 470.0d0); {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} MVKHC + OH = 2CO + HO2 + MCO3 : GCARR_ac(2.00d-12, 70.0d0); {2019/11/06; Bates2019; KHB} MCRDH + OH = 0.16MVKHCB + HO2 + 0.84HAC + 0.84CO : GCARR_ac(2.4d-11, 70.0d0); {2019/11/06; Bates2019; KHB} MVKOHOO + HO2 = 0.360MCO3 + 0.360GLYC + 0.665OH + 0.305HO2 + 0.255MVKHC + 0.335MVKHP + 0.050MGLY + 0.050CH2O : GCARR_ac(2.12d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} MVKOHOO + NO = 0.758MCO3 + 0.758GLYC + 0.242MGLY + 0.242CH2O + 0.242HO2 + NO2 : GC_ALK(2.7d-12, 350.0d0, 4.573d0, 6.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} MVKOHOO + NO = MVKN : GC_NIT(2.7d-12, 350.0d0, 4.573d0, 6.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} MCROHOO + HO2 = 0.41MCRHP + 0.507HAC + 0.507CO + 0.507HO2 + 0.59OH + 0.59O2 + 0.083MGLY + 0.083CH2O : GCARR_ac(2.12d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} MACR1OO + HO2 = 0.5MACR1OOH + 0.5CH2O + 0.325CO + 0.325MO2 + 0.175MCO3 + 0.5CO2 + 0.5OH + 0.13O3 : GCARR_ac(3.14d-12, 580.0d0); {2019/11/06; Bates2019; KHB} MACR1OOH + OH = 0.165MACR1OO + 0.585OH + 0.488HAC + 0.488CO + 0.098HMML + 0.410CO2 + 0.25CH2O + 0.087MCO3 + 0.162MO2 : 1.66d-11; {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} MCROHOO = HAC + CO + OH : GCARR_ac(2.90d+7, -5297.0d0); {2019/11/06; Bates2019; KHB} MCROHOO + NO = 0.86HAC + 0.86CO + 0.86HO2 + NO2 + 0.14MGLY + 0.14CH2O : GC_ALK(2.7d-12, 350.0d0, 2.985d0, 6.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} MCROHOO + NO = MCRHN : GC_NIT(2.7d-12, 350.0d0, 2.985d0, 6.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} MACR1OO + NO = 0.35MCO3 + 0.65MO2 + 0.65CO + CH2O + CO2 + NO2 : GCARR_ac(8.7d-12, 290.0d0); {2019/11/06; Bates2019; KHB} MACR1OO + NO2 = MPAN : GC_PAN_acac(2.591d-28, -6.87d0, 1.125d-11, -1.105d0, 0.3d0); {2019/11/06; Bates2019; KHB} MACRNO2 + HO2 = 0.5HAC + 0.5OH + 0.5CO2 + 0.5NO2 + 0.13O3 + 0.37MCRHN + 0.13MCRHNB : GCARR_ac(3.14d-12, 580.0d0); {2019/11/06; Bates2019; KHB} MACRNO2 + NO = HAC + 2NO2 + CO2 : GCARR_ac(7.50d-12, 290.0d0); {2019/11/06; Bates2019; KHB} MACRNO2 + NO2 = MPAN + NO2 : GC_PAN_acac(2.591d-28, -6.87d0, 1.125d-11, -1.105d0, 0.3d0); {2019/11/06; Bates2019; KHB} MACRNO2 + NO3 = HAC + 2NO2 + CO2 : 4.00d-12; {2019/11/06; Bates2019; KHB} MACRNO2 + MO2 = 0.7HAC + 0.7CO2 + 0.7NO2 + 0.7HO2 + CH2O + 0.3MCRHNB : GCARR_ac(2.9d-12, 500.0d0); {2019/11/06; Bates2019; KHB} MPAN = MACR1OO + NO2 : GCARR_ac(1.58d+16, -13500.0d0); {2019/11/06; Bates2019; KHB} MPAN + OH = 0.75HMML + NO3 + 0.25HAC + 0.25CO : 2.90d-11; {2019/11/06; Bates2019; KHB} HMML + OH = 0.700MGLY + 0.700OH + 0.300MCO3 + 0.300HCOOH + CO : 4.33d-12; {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} ICPDH + OH = CO + 0.5HO2 + 0.5OH + 0.5MCRHP + 0.35MVKDH + 0.15MCRDH : 1.00d-11; {2019/11/06; Bates2019; KHB} IDCHP + OH = 0.888CO + 0.444OH + 0.444HO2 + 0.318MVKHC + 0.08IEPOXAOO + 0.126MVKHCB + 0.444MVKPC + 0.032IEPOXBOO : 2.25d-11; {2019/11/06; Bates2019; KHB} IDHDP + OH = OH + 0.333ICPDH + 0.667IDHPE : 3.00d-12; {2019/11/06; Bates2019; KHB} IDHPE + OH = OH + CO2 + 0.571MCRHP + 0.429MVKHP : 3.00d-12; {2019/11/06; Bates2019; KHB} ITCN + OH = CO + NO2 + 0.75MVKHP + 0.25MCRHP : 1.00d-11; {2019/11/06; Bates2019; KHB} ITHN + OH = 0.300OH + 0.620HO2 + 0.900ITCN + 0.037IDHNBOO + 0.041ICNOO + 0.022MCRENOL + 0.022NO2 + 0.022CH2O : 3.00d-12; {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} ETHLN + NO3 = HNO3 + NO2 + MCO3 : GCARR_ac(1.40d-12, -1860.0d0); {2019/11/06; Bates2019; KHB} PYAC + OH = MCO3 + CO2 : 8.00d-13; {2019/11/06; Bates2019; KHB} HMHP + OH = 0.5CH2O + 0.5HO2 + 0.5HCOOH + 0.5OH : GCARR_ac(1.30d-12, 500.0d0); {2019/11/06; Bates2019; KHB} MCO3 + HO2 = 0.13O3 + 0.13ACTA + 0.37MAP + 0.5MO2 + 0.5CO2 + 0.5OH : GCARR_ac(3.14d-12, 580.0d0); {2019/11/06; Bates2019; KHB} HPETHNL + OH = CO + OH + CH2O : GCARR_ac(1.55d-12, 340.0d0); {2019/11/06; Bates2019; KHB} HPETHNL + OH = GLYX + OH : 2.91d-11; {2019/11/06; Bates2019; KHB} NAP + OH = NRO2 + OH : GCARR_ac(1.56d-11, 117.0d0); {2013/08/12; Pye2010; HOTP} NRO2 + HO2 = LNRO2H + HO2 : GCARR_ac(1.40d-12, 700.0d0); {2013/08/12; Pye2010; HOTP} NRO2 + NO = LNRO2N + NO : GCARR_ac(2.60d-12, 350.0d0); {2013/08/12; Pye2010; HOTP} // // --- C2H2 & C2H4 chemistry (per KHB) C2H4 + O3 = CH2O + CH2OO : GCARR_abc(1.20d-14, 0.0d0, -2630.0d0); {2021/09/22; Kwon2020; KHB,MSL; 2023/04/18; JPL 19-5; KHB} C2H4 + OH = ETOO : GCJPLPR_abab(1.10d-28, 3.5d+00, 8.4d-12, 1.75d0, 0.5d0); {2021/09/22; Kwon2020; KHB,MSL} C2H2 + OH = 0.636GLYX + 0.636OH + 0.364CO + 0.364HO2 + 0.364HCOOH : GCJPLPR_abab(5.50d-30, 0.0d0, 8.3d-13, -2.0d0, 0.5d0); {2021/09/22; Kwon2020; KHB,MSL} ETOO + HO2 = ETHP : GCARR_abc(1.53d-13, 0.0d0, 1300.0d0); {2021/09/22; Kwon2020; KHB,MSL} ETOO + NO = 0.995ETO + 0.995NO2 + 0.005ETHN : GCARR_abc(2.7d-12, 0.0d+00, 360.0d0); {2021/09/22; Kwon2020; KHB,MSL} ETOO + NO3 = ETO + NO2 : 2.3d-12; {2021/09/22; Kwon2020; KHB,MSL} ETOO + MO2 = 0.6ETO + 0.6HO2 + 0.8CH2O + 0.2MOH + 0.2ETHP + 0.2GLYC : 6.00d-13; {2021/09/22; Kwon2020; KHB,MSL} ETO = HO2 + 2.000CH2O : GCARR_abc(9.5d+13, 0.0d0, -5988.0d0); {2021/09/22; Kwon2020; KHB,MSL} ETO + O2 = GLYC + HO2 : GCARR_abc(2.5d-14, 0.0d0, -300.0d0); {2021/09/22; Kwon2020; KHB,MSL} ETHN + OH = GLYC + NO2 : 8.40d-13; {2021/09/22; Kwon2020; KHB,MSL} ETHP + OH = ETOO : GCARR_abc(1.90d-12, 0.0d+00, 190.0d0); {2021/09/22; Kwon2020; KHB,MSL} ETHP + OH = OH + GLYC : 1.38d-11; {2021/09/22; Kwon2020; KHB,MSL} // // --- Aromatic Chemistry (per KHB) BENZ + OH = BRO2 + 0.54PHEN + 0.54HO2 + 0.46AROMRO2 + 0.18GLYX + 0.2CO +0.55AROMP4 : GCARR_abc(2.3d-12, 0.0d0, -193.0d0); {2021/09/29; Bates2021b; KHB,MSL; 2022/07/01; fix C accounting; KHB} TOLU + OH = TRO2 + 0.19CSL + 0.19HO2 + 0.81AROMRO2 + 0.06BALD + 0.12GLYX + 0.12MGLY + 0.27CO + 0.04MVK + 0.3AROMP5 + 0.68AROMP4 : GCARR_abc(1.8d-12, 0.0d0, 340.0d0); {2021/09/29; Bates2021b; KHB,MSL} XYLE + OH = XRO2 + 0.15CSL + 0.15HO2 + 0.85AROMRO2 + 0.06BALD + 0.1GLYX + 0.2MGLY + 0.3CO + 0.04MVK + 0.56AROMP5 + 0.28AROMP4 + 0.45RCOOH : 1.7d-11; {2021/09/29; Bates2021b; KHB,MSL} AROMRO2 + HO2 = OH + HO2 : 2.91d-13 * EXP( 1300.0d0 / TEMP ) * 0.82d0; {2021/09/29; Bates2021b; KHB,MSL} AROMRO2 + NO = NO2 + HO2 : GCARR_abc(2.60d-12, 0.0d+00, 365.0d0); {2021/09/29; Bates2021b; KHB,MSL} AROMRO2 + NO3 = NO2 + HO2 : 2.30d-12; {2021/09/29; Bates2021b; KHB,MSL} AROMRO2 + MO2 = CH2O + HO2 + HO2 : GCARR_abc(1.70d-14, 0.0d0, 220.0d0); {2021/09/29; Bates2021b; KHB,MSL} AROMRO2 + MCO3 = MO2 + HO2 + CO2 : GCARR_abc(4.20d-14, 0.0d0, 220.0d0); {2021/09/29; Bates2021b; KHB,MSL; 2022/07/01; fix C accounting; KHB} PHEN + OH = 0.06BENZO + 0.06GLYX + 0.18AROMP4 + 0.14AROMRO2 + 0.8MCT + 0.8HO2 : GCARR_abc(4.70d-13, 0.0d0, 1220.0d0); {2021/09/29; Bates2021b; KHB,MSL} PHEN + NO3 = 0.258NPHEN + 0.742HNO3 + 0.742BENZO : 3.8d-12; {2021/09/29; Bates2021b; KHB,MSL} CSL + OH = 0.727MCT + 0.727HO2 + 0.2AROMRO2 + 0.073BENZO + 0.44AROMP5 : 4.7d-11; {2021/09/29; Bates2021b; KHB,MSL} CSL + NO3 = 0.5NPHEN + 0.2AROMRO2 + 0.5HNO3 + 0.3BENZO + 0.44AROMP5 : 1.4d-11; {2021/09/29; Bates2021b; KHB,MSL} MCT + OH = 0.3BENZO + 0.7AROMRO2 + 1.05AROMP4 : 2.0d-11; {2021/09/29; Bates2021b; KHB,MSL} MCT + O3 = GLYC + HO2 + OH + AROMP4 : 9.2d-18; {2021/09/29; Bates2021b; KHB,MSL} MCT + NO3 = 0.5NPHEN + 0.5HNO3 + 0.3BENZO + 0.2AROMRO2 + 0.3AROMP4 : 9.9d-11; {2021/09/29; Bates2021b; KHB,MSL} BALD + OH = BZCO3 : GCARR_abc(5.90d-12, 0.0d0, 225.0d0); {2021/09/29; Bates2021b; KHB,MSL} BALD + NO3 = BZCO3 + HNO3 : 2.4d-15; {2021/09/29; Bates2021b; KHB,MSL} BZCO3 + HO2 = 0.35CO2 + 0.2BENZO2 + 0.15O3 + 0.2OH + 0.15BENZP + 0.65BZCO3H : GCARR_abc(1.10d-11, 0.0d0, 340.0d0); {2021/09/29; Bates2021b; KHB,MSL} BZCO3 + NO = NO2 + CO2 + BENZO2 : GCARR_abc(7.50d-12, 0.0d0, 290.0d0); {2021/09/29; Bates2021b; KHB,MSL} BZCO3 + NO2 = BZPAN : GC_PAN_acac(3.28d-28, -6.87d0, 1.125d-11, -1.105d0, 0.3d0); {2021/09/29; Bates2021b; KHB,MSL} BZCO3H + OH = BZCO3 : 4.66d-12; {2021/09/29; Bates2021b; KHB,MSL} BZPAN = BZCO3 + NO2 : GC_PAN_abab(1.10d-5, -10100.0d0, 1.90d+17, -14100.0d0, 0.3d0)*0.67d0; {2021/09/29; Bates2021b; KHB,MSL} BZPAN + OH = BENZP + CO2 + NO2 : 1.06d-12; {2021/09/29; Bates2021b; KHB,MSL} BENZO2 + NO2 = BENZO + NO3 : 7.00d-12; {2021/09/29; Bates2021b; KHB,MSL} BENZO2 + NO = BENZO + NO2 : GCARR_abc(2.670d-12, 0.0d0, 365.0d0); {2021/09/29; Bates2021b; KHB,MSL} BENZO2 + NO3 = BENZO + NO2 : 2.30d-12; {2021/09/29; Bates2021b; KHB,MSL} BENZO2 + HO2 = BENZP : GCARR_abc(2.24d-13, 0.0d0, 1300.0d0); {2021/09/29; Bates2021b; KHB,MSL} BENZP + OH = BENZO2 : 3.60d-12; {2021/09/29; Bates2021b; KHB,MSL} BENZO + O3 = BENZO2 : 2.86d-13; {2021/09/29; Bates2021b; KHB,MSL} BENZO + NO2 = NPHEN : 2.08d-12; {2021/09/29; Bates2021b; KHB,MSL} NPHEN + OH = 0.5R4N1 + 0.9AROMP4 + 0.5NO2 +0.15CO : 3.47d-12; {2021/09/29; Bates2021b; KHB,MSL; 2023/04/18; Bates2023; KHB} NPHEN + NO3 = 0.5HNO3 + NO2 + 0.5R4N1 + 0.9AROMP4 + 0.15CO : 2.60d-12; {2021/09/29; Bates2021b; KHB,MSL; 2023/04/18; Bates2023; KHB} BENZO2 + MO2 = BENZO + HO2 + CH2O : GCARR_abc(2.670d-13, 0.0d0, 365.0d0); {2021/09/29; Bates2021b; KHB,MSL} BZCO3 + MO2 = BENZO2 + CO2 + HO2 + CH2O : GCARR_abc(2.670d-12, 0.0d0, 365.0d0); {2021/09/29; Bates2021b; KHB,MSL} AROMP4 + OH = 0.6GLYX + 0.26CO + 0.26HCOOH + 0.25OH + 0.33HO2 + 0.33RCO3 + 0.43RCOOH : 5.0d-11; {2021/09/29; Bates2021b; KHB,MSL; 2023/04/18; Bates2023; KHB} AROMP4 + O3 = 0.5HCOOH + 0.5CO + 0.6GLYX + 0.9GLYC + 0.1HO2 + 0.1OH : 8.0d-16; {2021/09/29; Bates2021b; KHB,MSL} AROMP4 = 0.2HO2 + 0.2GLYX + 1.2RCHO : 1.5d-3; {2021/09/29; Bates2021b; KHB,MSL} AROMP5 + OH = 0.6MGLY + 0.15ACTA + 0.1HCOOH + 0.25OH + 0.33HO2 + 0.33RCO3 + 0.25CO + 0.52RCOOH : 5.0d-11; {2021/09/29; Bates2021b; KHB,MSL} AROMP5 + O3 = 0.6MGLY + 0.3ACTA + 0.2HCOOH + 0.5CO + 0.95GLYC + 0.1HO2 + 0.1OH : 8.0d-16; {2021/09/29; Bates2021b; KHB,MSL} AROMP5 = 0.2HO2 + 0.2R4O2 + 0.2MGLY + 1.15RCHO + 0.05CO : 1.5d-3; {2021/09/29; Bates2021b; KHB,MSL; 2023/04/18; Bates2023; KHB} // // KHB -- "we still need to include the dummy species for aromatic oxidation // to make the complex SOA code work. Hopefully this will be changed // very soon when Jared Brewer updates the aromatic SOA, but I think it's // still necessary, in which case, we need to add the following reactions too. // (If I'm wrong, we can delete XRO2, TRO2, BRO2, LXRO2N, LXRO2H, // LTRO2N, LTRO2H, LBRO2N, and LBRO2H from the species list, delete // XRO2, TRO2, and BRO2 as products from the BENZ + OH, TOLU + OH, // and XYLE + OH reactions above, and not include the following reactions)" // BRO2 + HO2 = HO2 + LBRO2H : GCARR_abc(1.40d-12, 0.0d0, 700.0d0); {2021/09/29; Bates2021b; KHB,MSL} BRO2 + NO = NO + LBRO2N : GCARR_abc(2.60d-12, 0.0d0, 350.0d0); {2021/09/29; Bates2021b; KHB,MSL} TRO2 + HO2 = HO2 + LTRO2H : GCARR_abc(1.40d-12, 0.0d0, 700.0d0); {2021/09/29; Bates2021b; KHB,MSL} TRO2 + NO = NO + LTRO2N : GCARR_abc(2.60d-12, 0.0d0, 350.0d0); {2021/09/29; Bates2021b; KHB,MSL} XRO2 + HO2 = HO2 + LXRO2H : GCARR_abc(1.40d-12, 0.0d0, 700.0d0); {2021/09/29; Bates2021b; KHB,MSL} XRO2 + NO = NO + LXRO2N : GCARR_abc(2.60d-12, 0.0d0, 350.0d0); {2021/09/29; Bates2021b; KHB,MSL} MO2 + NO3 = NO2 + CH2O + HO2 : 1.20d-12; {2022/10/18: IUPAC ROO_19; KHB,BMY} FURA + OH = BUTDI : GCARR_ac(1.32d-11,334.0d0); {2023/02/07; Carter2022; TSC} // // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% // %%%%% Heterogeneous chemistry reactions %%%%% // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% // HO2 = H2O : HO2uptk1stOrd( State_Het ); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} NO2 = 0.500HNO3 + 0.500HNO2 : NO2uptk1stOrdAndCloud( State_Het ); NO3 = HNO3 : NO3uptk1stOrdAndCloud( State_Het ); NO3 = NIT : NO3hypsisClonSALA( State_Het ); {2018/03/16; XW} NO3 = NITs : NO3hypsisClonSALC( State_Het ); {2018/03/16; XW} N2O5 + H2O = 2.000HNO3 : N2O5uptkByH2O( State_Het ); N2O5 + HCl = ClNO2 + HNO3 : N2O5uptkByStratHCl( State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} N2O5 = 2.000HNO3 : N2O5uptkByCloud( State_Het ); {2018/10/17; Cloud uptake, CDH} N2O5 + SALACL = ClNO2 + HNO3 : N2O5uptkBySALACl( State_Het ); {2018/01/19; Sherwen2017;TS,JAS,SDE,XW} N2O5 + SALCCL = ClNO2 + HNO3 : N2O5uptkBySALCCl( State_Het ); {2018/01/19; Sherwen2017;TS,JAS,SDE,XW} OH + SALACL = 0.500Cl2 : OHuptkBySALACl( State_Het ); {2018/03/12; XW} OH + SALCCL = 0.500Cl2 : OHuptkBySALCCl( State_Het ); {2018/03/12; XW} BrNO3 + H2O = HOBr + HNO3 : BrNO3uptkByH2O( State_Het ); {2014/02/03; Eastham2014; SDE} BrNO3 + HCl = BrCl + HNO3 : BrNO3uptkByHCl( State_Het ); {2014/02/03; Eastham2014; SDE} ClNO3 + H2O = HOCl + HNO3 : ClNO3uptkByH2O( State_Het ); {2014/02/03; Eastham2014; SDE} ClNO3 + HCl = Cl2 + HNO3 : ClNO3uptkByHCl( State_Het ); {2014/02/03; Eastham2014; SDE} ClNO3 + HBr = BrCl + HNO3 : ClNO3uptkByHBr( State_Het ); {2014/02/03; Eastham2014; SDE} ClNO3 + BrSALA = BrCl + HNO3 : ClNO3uptkByBrSALA( State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} ClNO3 + BrSALC = BrCl + HNO3 : ClNO3uptkByBrSALC( State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} ClNO3 + SALACL = Cl2 + HNO3 : ClNO3uptkBySALACL( State_Het ); {2018/01/22; XW} ClNO3 + SALCCL = Cl2 + HNO3 : ClNO3uptkBySALCCL( State_Het ); {2018/01/22; XW} ClNO2 + SALACL = Cl2 + HNO2 : ClNO2uptkBySALACL( State_Het ); {2018/01/22; XW} ClNO2 + SALCCL = Cl2 + HNO2 : ClNO2uptkBySALCCL( State_Het ); {2018/01/22; XW} ClNO2 + HCl = Cl2 + HNO2 : ClNO2uptkByHCl( State_Het ); {2018/01/22; XW} ClNO2 + BrSALA = BrCl + HNO2 : ClNO2uptkByBrSALA( State_Het ); {2018/01/22; XW} ClNO2 + BrSALC = BrCl + HNO2 : ClNO2uptkByBrSALC( State_Het ); {2018/01/22; XW} ClNO2 + HBr = BrCl + HNO2 : ClNO2uptkByHBr( State_Het ); {2018/01/22; XW} HOCl + HCl = Cl2 + H2O : HOClUptkByHCl( State_Het ); {2014/02/03; Eastham2014; SDE} HOCl + HBr = BrCl + H2O : HOClUptkByHBr( State_Het ); {2014/02/03; Eastham2014; SDE} HOCl + SALACL = Cl2 + H2O : HOClUptkBySALACL( State_Het ); {2018/01/22; XW} HOCl + SALCCL = Cl2 + H2O : HOClUptkBySALCCL( State_Het ); {2018/01/22; XW} HOCl + SO2 = SO4 + HCl : HOClUptkByHSO3m( State_Het ) + HOClUptkBySO3mm( State_Het ) + SRHOCl; {2023/01/30; Add SRHOCL, BA; 2018/11/08; XW; June 6, 2021, MSL} HOBr + HBr = Br2 + H2O : HOBrUptkByHBr( State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} HOBr + HCl = BrCl + H2O : HOBrUptkByHCl( State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} HOBr + SALACL = BrCl + H2O : HOBrUptkBySALACL( State_Het ); {2018/01/22; Sherwen2017;TS,JAS,SDE;XW} HOBr + SALCCL = BrCl + H2O : HOBrUptkBySALCCL( State_Het ); {2018/01/22; Sherwen2017;TS,JAS,SDE,XW} HOBr + BrSALA = Br2 : HOBrUptkByBrSALA( State_Het ); {2017/09/22; Sherwen2017;TS,JAS,SDE} HOBr + BrSALC = Br2 : HOBrUptkByBrSALC( State_Het ); {2017/09/22; Sherwen2017;TS,JAS,SDE} HOBr + SO2 = SO4 + HBr : HOBrUptkByHSO3m( State_Het ) + HOBrUptkBySO3mm( State_Het ) + SRHOBr; {2023/01/30; Add SRHOBrL, BA; 2017/11/15; Chen2017; QJC; June 6, 2021, MSL} O3 + HBr = HOBr : O3uptkByHBr( State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} O3 + BrSALA = HOBr : O3uptkByBrSALA( State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} O3 + BrSALC = HOBr : O3uptkByBrSALC( State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} HBr = BrSALA : HBrUptkBySALA( State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} HBr = BrSALC : HBrUptkBySALC( State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} HI = AERI : IuptkBySulf1stOrd( SR_MW(ind_HI), 0.10_dp, State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} HI = ISALA : IuptkBySALA1stOrd( SR_MW(ind_HI), 0.10_dp, State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} HI = ISALC : IuptkBySALC1stOrd( SR_MW(ind_HI), 0.10_dp, State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} HOI = ISALA : IuptkByAlkSALA1stOrd( SR_MW(ind_HOI), 0.01_dp, State_Het ); {2023/01/24; Restored deleted rxn:BA} HOI = ISALC : IuptkByAlkSALC1stOrd( SR_MW(ind_HOI), 0.01_dp, State_Het ); {2022/12/02; Restored deleted rxn:BA} I2O2 = 2.000AERI : IuptkBySulf1stOrd( SR_MW(ind_I2O2), 0.02_dp, State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I2O2 = 2.000ISALA : IuptkBySALA1stOrd( SR_MW(ind_I2O2), 0.02_dp, State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I2O2 = 2.000ISALC : IuptkBySALC1stOrd( SR_MW(ind_I2O2), 0.02_dp, State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I2O3 = 2.000AERI : IuptkBySulf1stOrd( SR_MW(ind_I2O3), 0.02_dp, State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I2O3 = 2.000ISALA : IuptkBySALA1stOrd( SR_MW(ind_I2O3), 0.02_dp, State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I2O3 = 2.000ISALC : IuptkBySALC1stOrd( SR_MW(ind_I2O3), 0.02_dp, State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I2O4 = 2.000AERI : IuptkBySulf1stOrd( SR_MW(ind_I2O4), 0.02_dp, State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I2O4 = 2.000ISALA : IuptkBySALA1stOrd( SR_MW(ind_I2O4), 0.02_dp, State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I2O4 = 2.000ISALC : IuptkBySALC1stOrd( SR_MW(ind_I2O4), 0.02_dp, State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} IONO = ISALA + HNO2 : IuptkByAlkSALA1stOrd( SR_MW(ind_IONO), 0.02_dp, State_Het ); {2022/12/02; Restored deleted rxn:BA} IONO = ISALC + HNO2 : IuptkByAlkSALC1stOrd( SR_MW(ind_IONO), 0.02_dp, State_Het ); {2022/12/02; Restored deleted rxn:BA} IONO2 = ISALA + HNO3 : IuptkByAlkSALA1stOrd( SR_MW(ind_IONO2), 0.01_dp, State_Het ); {2022/12/02; Restored deleted rxn:BA} IONO2 = ISALC + HNO3 : IuptkByAlkSALC1stOrd( SR_MW(ind_IONO2), 0.01_dp, State_Het ); {2022/12/02; Restored deleted rxn:BA} IONO2 + H2O = HOI + HNO3 : IONO2uptkByH2O( State_Het ); {2021/09/16 XW, TSherwen} IONO + BrSALA = IBr + HNO2 : IbrkdnByAcidBrSALA( SR_MW(ind_IONO), C(ind_IONO), 0.02_dp, State_Het ); {2017/09/22; Sherwen2017;TS,JAS,SDE,XW} IONO + BrSALC = IBr + HNO2 : IbrkdnByAcidBrSALC( SR_MW(ind_IONO), C(ind_IONO), 0.02_dp, State_Het ); {2017/09/22; Sherwen2017;TS,JAS,SDE,XW} IONO + SALACL = ICl + HNO2 : IbrkdnByAcidSALACl( SR_MW(ind_IONO), C(ind_IONO), 0.02_dp, State_Het ); {2017/09/22; Sherwen2017;TS,JAS,SDE,XW} IONO + SALCCL = ICl + HNO2 : IbrkdnByAcidSALCCl( SR_MW(ind_IONO), C(ind_IONO), 0.02_dp, State_Het ); {2017/09/22; Sherwen2017;TS,JAS,SDE,XW} IONO2 + BrSALA = IBr + HNO3 : IbrkdnByAcidBrSALA( SR_MW(ind_IONO2), C(ind_IONO2), 0.01_dp, State_Het ); {2017/09/22; Sherwen2017;TS,JAS,SDE,XW} IONO2 + BrSALC = IBr + HNO3 : IbrkdnByAcidBrSALC( SR_MW(ind_IONO2), C(ind_IONO2), 0.01_dp, State_Het ); {2017/09/22; Sherwen2017;TS,JAS,SDE,XW} IONO2 + SALACL = ICl + HNO3 : IbrkdnByAcidSALACl( SR_MW(ind_IONO2), C(ind_IONO2), 0.01_dp, State_Het ); {2017/09/22; Sherwen2017;TS,JAS,SDE,XW} IONO2 + SALCCL = ICl + HNO3 : IbrkdnByAcidSALCCl( SR_MW(ind_IONO2), C(ind_IONO2), 0.01_dp, State_Het ); {2017/09/22; Sherwen2017;TS,JAS,SDE,XW} HOI + BrSALA = IBr : IbrkdnByAcidBrSALA( SR_MW(ind_HOI), C(ind_HOI), 0.01_dp, State_Het ); {2017/09/22; Sherwen2017;TS,JAS,SDE,XW} HOI + BrSALC = IBr : IbrkdnByAcidBrSALC( SR_MW(ind_HOI), C(ind_HOI), 0.01_dp, State_Het ); {2017/09/22; Sherwen2017;TS,JAS,SDE,XW} HOI + SALACL = ICl : IbrkdnByAcidSALACl( SR_MW(ind_HOI), C(ind_HOI), 0.01_dp, State_Het ); {2017/09/22; Sherwen2017;TS,JAS,SDE,XW} HOI + SALCCL = ICl : IbrkdnByAcidSALCCl( SR_MW(ind_HOI), C(ind_HOI), 0.01_dp, State_Het ); {2017/09/22; Sherwen2017;TS,JAS,SDE,XW} GLYX = SOAGX : GLYXuptk1stOrd( SR_MW(ind_GLYX), State_Het); {2017/06/15; Marais2016, EAM} MGLY = 1.500SOAGX : MGLYuptk1stOrd( SR_MW(ind_MGLY), State_Het); {2017/06/15; Marais2016, EAM; 2023/04/18; Bates2023; KHB} IEPOXA = SOAIE : IEPOXuptk1stOrd( SR_MW(ind_IEPOXA), .FALSE., State_Het ); {2017/06/15; Marais2016, EAM} IEPOXB = SOAIE : IEPOXuptk1stOrd( SR_MW(ind_IEPOXB), .FALSE., State_Het ); {2017/06/15; Marais2016, EAM} IEPOXD = SOAIE : IEPOXuptk1stOrd( SR_MW(ind_IEPOXD), .FALSE., State_Het ); {2017/06/15; Marais2016, EAM} LVOC = LVOCOA : VOCuptk1stOrd( SR_MW(ind_LVOC), 1.0_dp, State_Het ); {2017/06/15; Marais2016, EAM} MVKN = IONITA : VOCuptk1stOrd( SR_MW(ind_MVKN), 5.0E-3_dp, State_Het ); {2017/06/15; Marais2016, EAM} R4N2 = IONITA : VOCuptk1stOrd( SR_MW(ind_R4N2), 5.0E-3_dp, State_Het ); {2017/06/15; Marais2016, EAM} MONITS = MONITA : VOCuptk1stOrd( SR_MW(ind_MONITS), 1.0E-2_dp, State_Het ); {2017/07/14; Fisher2016; KRT,JAF,CCM,EAM,KHB,RHS} MONITU = MONITA : VOCuptk1stOrd( SR_MW(ind_MONITU), 1.0E-2_dp, State_Het ); {2017/07/14; Fisher2016; KRT,JAF,CCM,EAM,KHB,RHS} HONIT = MONITA : VOCuptk1stOrd( SR_MW(ind_HONIT), 1.0E-2_dp, State_Het ); {2017/07/14; Fisher2016; KRT,JAF,CCM,EAM,KHB,RHS} PYAC = 1.500SOAGX : MGLYuptk1stOrd( SR_MW(ind_PYAC), State_Het ); {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} HMML = 0.800SOAIE : IEPOXuptk1stOrd( SR_MW(ind_HMML), .TRUE., State_Het); {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} IHN1 = IONITA : VOCuptk1stOrd( SR_MW(ind_IHN1), 5.0E-3_dp, State_Het ); {2019/11/06; Bates2019; KHB} IHN2 = IONITA : VOCuptk1stOrd( SR_MW(ind_IHN2), 5.0E-2_dp, State_Het ); {2019/11/06; Bates2019; KHB} IHN3 = IONITA : VOCuptk1stOrd( SR_MW(ind_IHN3), 5.0E-3_dp, State_Het ); {2019/11/06; Bates2019; KHB} IHN4 = IONITA : VOCuptk1stOrd( SR_MW(ind_IHN4), 5.0E-3_dp, State_Het ); {2019/11/06; Bates2019; KHB} ICHE = SOAIE : IEPOXuptk1stOrd( SR_MW(ind_ICHE), .FALSE., State_Het ); {2019/11/06; Bates2019; KHB} INPD = IONITA : VOCuptk1stOrd( SR_MW(ind_INPD), 5.0E-3_dp, State_Het ); {2019/11/06; Bates2019; KHB} INPB = IONITA : VOCuptk1stOrd( SR_MW(ind_INPB), 5.0E-3_dp, State_Het ); {2019/11/06; Bates2019; KHB} IDN = IONITA : VOCuptk1stOrd( SR_MW(ind_IDN), 5.0E-3_dp, State_Het ); {2019/11/06; Bates2019; KHB} ITCN = IONITA : VOCuptk1stOrd( SR_MW(ind_ITCN), 5.0E-3_dp, State_Het ); {2019/11/06; Bates2019; KHB} ITHN = IONITA : VOCuptk1stOrd( SR_MW(ind_ITHN), 5.0E-3_dp, State_Het ); {2019/11/06; Bates2019; KHB} MCRHNB = IONITA : VOCuptk1stOrd( SR_MW(ind_MCRHNB), 5.0E-3_dp, State_Het ); {2019/11/06; Bates2019; KHB} MCRHN = IONITA : VOCuptk1stOrd( SR_MW(ind_MCRHN), 5.0E-3_dp, State_Het ); {2019/11/06; Bates2019; KHB} NPHEN = AONITA : VOCuptk1stOrd( SR_MW(ind_NPHEN), 1.0E-2_dp, State_Het ); {2021/09/29; Bates2021b; KHB,MSL} // // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% // %%%%% Photolysis reactions %%%%% // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% // O3 + hv = O + O2 : PHOTOL(2); {2014/02/03; Eastham2014; SDE} O3 + hv = O1D + O2 : PHOTOL(3); {2014/02/03; Eastham2014; SDE} O2 + hv = 2.000O : PHOTOL(1); {2014/02/03; Eastham2014; SDE} NO2 + hv = NO + O : PHOTOL(11); {2014/02/03; Eastham2014; SDE} H2O2 + hv = OH + OH : PHOTOL(9); MP + hv = CH2O + HO2 + OH : PHOTOL(10); CH2O + hv = HO2 + H + CO : PHOTOL(7); {2014/02/03; Eastham2014; SDE} CH2O + hv = H2 + CO : PHOTOL(8); HNO3 + hv = OH + NO2 : PHOTOL(16); HNO2 + hv = OH + NO : PHOTOL(15); HNO4 + hv = OH + NO3 : PHOTOL(17); HNO4 + hv = HO2 + NO2 : PHOTOL(18); NO3 + hv = NO2 + O : PHOTOL(12); {2014/02/03; Eastham2014; SDE} NO3 + hv = NO + O2 : PHOTOL(13); N2O5 + hv = NO3 + NO2 : PHOTOL(14); ALD2 + hv = 0.880MO2 + HO2 + 0.880CO + 0.120MCO3 : PHOTOL(61); {2014/12/19; FAST-JX v7.0 fix; JMAO} ALD2 + hv = CH4 + CO : PHOTOL(62); PAN + hv = 0.700MCO3 + 0.700NO2 + 0.300MO2 + 0.300NO3 + 0.300CO2 : PHOTOL(59); {2014/05/23; Eastham2014; JMAO,SDE; 2023/04/18; Bates2023; KHB} RCHO + hv = 0.490OTHRO2 + HO2 + CO + 0.070A3O2 + 0.270B3O2 : PHOTOL(70); {2019/05/10; Fisher2018; JAF; 2023/04/18; Bates2023; KHB} ACET + hv = MCO3 + MO2 : PHOTOL(76); ACET + hv = 2.000MO2 + CO : PHOTOL(77); MEK + hv = 0.850MCO3 + 0.415OTHRO2 + 0.150MO2 + 0.150RCO3 + 0.060A3O2 + 0.230B3O2 : PHOTOL(69); {2019/05/10; Fisher2018; JAF; 2023/04/18; Bates2023; KHB} GLYC + hv = 0.900CH2O + 1.730HO2 + CO + 0.070OH + 0.100MOH : PHOTOL(68); {2014/05/23; Eastham2014; JMAO,SDE} GLYX + hv = 2.000HO2 + 2.000CO : PHOTOL(72); GLYX + hv = H2 + 2.000CO : PHOTOL(73); GLYX + hv = CH2O + CO : PHOTOL(74); MGLY + hv = MCO3 + CO + HO2 : PHOTOL(71); MVK + hv = PRPE + CO : PHOTOL(63); MVK + hv = MCO3 + CH2O + CO + HO2 : PHOTOL(64); MVK + hv = MO2 + RCO3 : PHOTOL(65); {2014/05/23; Eastham2014; JMAO,SDE} MACR + hv = CO + HO2 + CH2O + MCO3 : PHOTOL(66); {2014/05/23; Eastham2014; JMAO,SDE} HAC + hv = MCO3 + CH2O + HO2 : PHOTOL(75); PRPN + hv = OH + HO2 + RCHO + NO2 : PHOTOL(79); ETP + hv = OH + HO2 + ALD2 : PHOTOL(80); RA3P + hv = OH + HO2 + RCHO : PHOTOL(81); RB3P + hv = OH + HO2 + ACET : PHOTOL(82); R4P + hv = OH + HO2 + 1.500RCHO : PHOTOL(83); {2023/04/18; Bates2023; KHB} PP + hv = OH + HO2 + ALD2 + CH2O : PHOTOL(84); RP + hv = OH + HO2 + ALD2 + MO2 : PHOTOL(85); {2023/04/18; Bates2023; KHB} R4N2 + hv = NO2 + 0.340ACET + 0.190MEK + 0.190MO2 + 0.270HO2 + 0.340ALD2 + 0.150RCHO + 0.050A3O2 + 0.190B3O2 + 0.340OTHRO2 : PHOTOL(98); {2023/04/18; Bates2023; KHB} MAP + hv = OH + MO2 + CO2 : PHOTOL(99); {2023/04/18; Bates2023; KHB} Br2 + hv = 2.000Br : PHOTOL(23); {2012/06/07; Parrella2012; JPP} BrO + hv = Br + O : PHOTOL(28); {2014/02/03; Eastham2014; SDE} HOBr + hv = Br + OH : PHOTOL(32); {2012/06/07; Parrella2012; JPP} BrNO3 + hv = Br + NO3 : PHOTOL(29); {2012/06/07; Parrella2012; JPP} BrNO3 + hv = BrO + NO2 : PHOTOL(30); {2012/06/07; Parrella2012; JPP} BrNO2 + hv = Br + NO2 : PHOTOL(31); {2012/06/07; Parrella2012; JPP} CHBr3 + hv = 3.000Br : PHOTOL(56); {2012/06/07; Parrella2012; JPP} CH2Br2 + hv = 2.000Br : PHOTOL(55); {2014/02/03; Eastham2014; SDE} CH3Br + hv = MO2 + Br : PHOTOL(50); {2014/02/03; Eastham2014; SDE} CH3Cl + hv = MO2 + Cl : PHOTOL(43); {2014/02/03; Eastham2014; SDE} CH2Cl2 + hv = 2.000Cl : PHOTOL(45); {2017/09/22; Sherwen2016b;TS,JAS,SDE} BrCl + hv = Br + Cl : PHOTOL(33); {2014/02/03; Eastham2014; SDE} Cl2 + hv = 2.000Cl : PHOTOL(22); {2014/02/03; Eastham2014; SDE} ClO + hv = Cl + O : PHOTOL(27); {2014/02/03; Eastham2014; SDE} OClO + hv = ClO + O : PHOTOL(25); {2014/02/03; Eastham2014; SDE} Cl2O2 + hv = Cl + ClOO : PHOTOL(26); {2014/02/03; Eastham2014; SDE} ClNO2 + hv = Cl + NO2 : PHOTOL(21); {2014/02/03; Eastham2014; SDE} ClNO3 + hv = Cl + NO3 : PHOTOL(19); {2014/02/03; Eastham2014; SDE} ClNO3 + hv = ClO + NO2 : PHOTOL(20); {2014/02/03; Eastham2014; SDE} HOCl + hv = Cl + OH : PHOTOL(24); {2014/02/03; Eastham2014; SDE} CH3CCl3 + hv = 3.000Cl : PHOTOL(44); {2014/02/03; Eastham2014; SDE} CCl4 + hv = 4.000Cl : PHOTOL(42); {2014/02/03; Eastham2014; SDE} CFC11 + hv = 3.000Cl : PHOTOL(37); {2014/02/03; Eastham2014; SDE} CFC12 + hv = 2.000Cl : PHOTOL(38); {2014/02/03; Eastham2014; SDE} CFC113 + hv = 3.000Cl : PHOTOL(39); {2014/02/03; Eastham2014; SDE} CFC114 + hv = 2.000Cl : PHOTOL(40); {2014/02/03; Eastham2014; SDE} CFC115 + hv = Cl : PHOTOL(41); {2014/02/03; Eastham2014; SDE} HCFC123 + hv = 2.000Cl : PHOTOL(47); {2014/02/03; Eastham2014; SDE} HCFC141b + hv = 2.000Cl : PHOTOL(48); {2014/02/03; Eastham2014; SDE} HCFC142b + hv = Cl : PHOTOL(49); {2014/02/03; Eastham2014; SDE} HCFC22 + hv = Cl : PHOTOL(46); {2014/02/03; Eastham2014; SDE} H1301 + hv = Br : PHOTOL(53); {2014/02/03; Eastham2014; SDE} H1211 + hv = Cl + Br : PHOTOL(51); {2014/02/03; Eastham2014; SDE} H2402 + hv = 2.000Br : PHOTOL(54); {2014/02/03; Eastham2014; SDE} ClOO + hv = Cl + O2 : PHOTOL(101); {2014/02/03; Eastham2014; SDE} I2 + hv = 2.000I : PHOTOL(114); {2017/09/22; Sherwen2016b;TS,JAS,SDE} HOI + hv = I + OH : PHOTOL(115); {2017/09/22; Sherwen2016b;TS,JAS,SDE} IO + hv = I + O : PHOTOL(116); {2017/09/22; Sherwen2016b;TS,JAS,SDE} OIO + hv = I + O2 : PHOTOL(117); {2017/09/22; Sherwen2016b;TS,JAS,SDE} INO + hv = I + NO : PHOTOL(118); {2017/09/22; Sherwen2016b;TS,JAS,SDE} IONO + hv = I + NO2 : PHOTOL(119); {2017/09/22; Sherwen2016b;TS,JAS,SDE} IONO2 + hv = I + NO3 : PHOTOL(120); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I2O2 + hv = I + OIO : PHOTOL(121); {2017/09/22; Sherwen2016b;TS,JAS,SDE} CH3I + hv = I : PHOTOL(122); {2017/09/22; Sherwen2016b;TS,JAS,SDE} CH2I2 + hv = 2.000I : PHOTOL(123); {2017/09/22; Sherwen2016b;TS,JAS,SDE} CH2ICl + hv = I + Cl : PHOTOL(124); {2017/09/22; Sherwen2016b;TS,JAS,SDE} CH2IBr + hv = I + Br : PHOTOL(125); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I2O4 + hv = 2.000OIO : PHOTOL(126); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I2O3 + hv = OIO + IO : PHOTOL(127); {2017/09/22; Sherwen2016b;TS,JAS,SDE} IBr + hv = I + Br : PHOTOL(128); {2017/09/22; Sherwen2016b;TS,JAS,SDE} ICl + hv = I + Cl : PHOTOL(129); {2017/09/22; Sherwen2016b;TS,JAS,SDE} MPN + hv = CH2O + NO3 + HO2 : PHOTOL(103); {2012/02/12; Browne2011; ECB} MPN + hv = MO2 + NO2 : PHOTOL(104); {2012/02/12; Browne2011; ECB} ATOOH + hv = OH + CH2O + MCO3 : PHOTOL(97); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} N2O + hv = N2 + O1D : PHOTOL(36); {2014/02/03; Eastham2014; SDE} OCS + hv = SO2 + CO : PHOTOL(34); {2014/02/03; Eastham2014; SDE} SO4 + hv = SO2 + 2.000OH : PHOTOL(100); {2014/02/03; Eastham2014; SDE} NO + hv = O + N : PHOTOL(6); {2014/02/03; Eastham2014; SDE} PIP + hv = RCHO + OH + HO2 : PHOTOL(105); {2017/03/23; Fischer2014; EVF} ETHLN + hv = NO2 + CH2O + CO + HO2 : PHOTOL(107); {2017/06/15; Marais2016; EAM} MONITS + hv = MEK + NO2 : PHOTOL(111); {2017/07/14; Browne2014; KRT,JAF,CCM,EAM,KHB,RHS} MONITU + hv = RCHO + NO2 : PHOTOL(112); {2017/07/14; Browne2014; KRT,JAF,CCM,EAM,KHB,RHS} HONIT + hv = HAC + NO2 : PHOTOL(113); {2017/07/14; Browne2014; KRT,JAF,CCM,EAM,KHB,RHS} NITs + hv = HNO2 : PHOTOL(130); {2018/07/19; Kasibhatla2018; PK, TMS} NITs + hv = NO2 : PHOTOL(131); {2018/07/19; Kasibhatla2018; PK, TMS} NIT + hv = HNO2 : PHOTOL(132); {2018/07/19; Kasibhatla2018; PK, TMS} NIT + hv = NO2 : PHOTOL(133); {2018/07/19; Kasibhatla2018; PK, TMS} MENO3 + hv = NO2 + HO2 + CH2O : PHOTOL(134); {2019/07/11; Fisher2018; JAF} ETNO3 + hv = NO2 + HO2 + ALD2 : PHOTOL(135); {2019/07/11; Fisher2018; JAF} IPRNO3 + hv = NO2 + HO2 + ACET : PHOTOL(136); {2019/07/11; Fisher2018; JAF} NPRNO3 + hv = NO2 + HO2 + RCHO : PHOTOL(137); {2019/07/11; Fisher2018; JAF} HMHP + hv = 2OH + CH2O : PHOTOL(86); {2019/11/06; Bates2019; KHB} HPETHNL + hv = OH + CO + HO2 + CH2O : PHOTOL(87); {2019/11/06; Bates2019; KHB} PYAC + hv = MCO3 + CO2 + HO2 : PHOTOL(88); {2019/11/06; Bates2019; KHB} PROPNN + hv = NO2 + CH2O + MCO3 : PHOTOL(89); {2019/11/06; Bates2019; KHB} MVKHC + hv = CO + HO2 + CH2O + MCO3 : PHOTOL(90); {2019/11/06; Bates2019; KHB} MVKHCB + hv = 0.5GLYX + 1.5HO2 + 0.5MCO3 + 0.5CO + 0.5MGLY : PHOTOL(91); {2019/11/06; Bates2019; KHB} MVKHP + hv = 0.53MCO3 + 0.53GLYC + OH + 0.47HO2 + 0.47CH2O + 0.47MGLY : PHOTOL(92); {2019/11/06; Bates2019; KHB} MVKPC + hv = OH + 0.571CO + 0.571MGLY + 0.571HO2 + 0.429GLYX + 0.429MCO3 : PHOTOL(93); {2019/11/06; Bates2019; KHB} MCRENOL + hv = 0.875CO + 0.75PYAC + 1.75OH + 0.125MGLY + 0.125HO2 + 0.125MCO3 + 0.125GLYX : PHOTOL(94); {2019/11/06; Bates2019; KHB} MCRHP + hv = OH + 0.77CO + HO2 + 0.77HAC + 0.23MGLY + 0.23CH2O : PHOTOL(95); {2019/11/06; Bates2019; KHB} MACR1OOH + hv = 0.75OH + 1.238CO2 + 0.488MO2 + 0.75CH2O + 0.262MCO3 + 0.25MACR1OOH : PHOTOL(96); {2019/11/06; Bates2019; KHB} MVKN + hv = 0.290HO2 + 0.010OH + 0.700NO2 + 1.010MCO3 + 0.690GLYC + 0.300ETHLN : PHOTOL(108); {2019/11/06; Bates2019; KHB} MCRHN + hv = HAC + CO + HO2 + NO2 : PHOTOL(109); {2019/11/06; Bates2019; KHB} MCRHNB + hv = PROPNN + OH + CO + HO2 : PHOTOL(110); {2019/11/06; Bates2019; KHB} RIPA + hv = MVK + CH2O + HO2 + OH : PHOTOL(138); {2019/11/06; Bates2019; KHB} RIPB + hv = MACR + CH2O + HO2 + OH : PHOTOL(139); {2019/11/06; Bates2019; KHB} RIPC + hv = OH + HO2 + HC5A : PHOTOL(140); {2019/11/06; Bates2019; KHB} RIPD + hv = OH + HO2 + HC5A : PHOTOL(141); {2019/11/06; Bates2019; KHB} HPALD1 + hv = 0.888CO + 1.662OH + 0.112HO2 + 0.112IDC + 0.112MVKPC + 0.552MCRENOL + 0.224C4HVP1 : PHOTOL(142); {2019/11/06; Bates2019; KHB} HPALD2 + hv = 0.818CO + 1.637OH + 0.182HO2 + 0.182IDC + 0.182MVKPC + 0.454MCRENOL + 0.182C4HVP2 : PHOTOL(143); {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} HPALD3 + hv = CO + OH + HO2 + MVK : PHOTOL(144); {2019/11/06; Bates2019; KHB} HPALD4 + hv = CO + OH + HO2 + MACR : PHOTOL(145); {2019/11/06; Bates2019; KHB} IHN1 + hv = NO2 + 0.45HC5A + 0.45HO2 + 0.55MVKHP + 0.55CO + 0.55OH : PHOTOL(146); {2019/11/06; Bates2019; KHB} IHN2 + hv = NO2 + MVK + HO2 + CH2O : PHOTOL(147); {2019/11/06; Bates2019; KHB} IHN3 + hv = NO2 + MACR + HO2 + CH2O : PHOTOL(148); {2019/11/06; Bates2019; KHB} IHN4 + hv = NO2 + 0.45HC5A + 0.45HO2 + 0.55MCRHP + 0.55CO + 0.55OH : PHOTOL(149); {2019/11/06; Bates2019; KHB} INPB + hv = NO2 + CH2O + 0.097MACR + 0.903MVK + 0.67OH + 0.33HO2 : PHOTOL(150); {2019/11/06; Bates2019; KHB} INPD + hv = OH + 0.159HO2 + 0.159ICN + 0.841INA : PHOTOL(151); {2019/11/06; Bates2019; KHB} INPD + hv = NO2 + 0.841IHOO1 + 0.159IHOO4 : PHOTOL(152); {2019/11/06; Bates2019; KHB} ICN + hv = NO2 + 0.839CO + 0.645OH + 0.161HO2 + 0.161IDC + 0.162MVKPC + 0.481MCRENOL + 0.128C4HVP2 + 0.068C4HVP1 : PHOTOL(106); {2019/11/06; Bates2019; KHB} IDN + hv = 1.555NO2 + 0.5GLYC + 0.5HAC + 0.05MVK + 0.005MACR + 0.055CH2O + 0.222INA + 0.223ICN + 0.228HO2 : PHOTOL(78); {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} ICPDH + hv = CO + 1.5HO2 + 0.5OH + 0.5MCRHP + 0.35MVKDH + 0.15MCRDH : PHOTOL(153); {2019/11/06; Bates2019; KHB} ICPDH + hv = OH + HO2 + 0.163CO + 0.133CH2O + 0.133MVKHCB + 0.586HAC + 0.586GLYX + 0.118GLYC + 0.118MGLY + 0.163MCRDH : PHOTOL(154); {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} IDHDP + hv = 1.25OH + 0.25GLYC + 0.25HAC + 0.75ICPDH + 0.75HO2 : PHOTOL(155); {2019/11/06; Bates2019; KHB} IDHPE + hv = OH + HO2 + 0.429MGLY + 0.429GLYC + 0.571GLYX + 0.571HAC : PHOTOL(156); {2019/11/06; Bates2019; KHB} IDCHP + hv = 0.546OH + CO + 1.454HO2 + 0.391MVKHC + 0.155MVKHCB + 0.454MVKPC : PHOTOL(157); {2019/11/06; Bates2019; KHB} ITHN + hv = OH + 0.7HO2 + 0.55CH2O + 0.5MCRHN + 0.3GLYC + 0.45HAC + 0.3NO2 + 0.15ETHLN + 0.05MVKN : PHOTOL(158); {2019/11/06; Bates2019; KHB} ITHN + hv = NO2 + 0.8HAC + 0.7HO2 + 0.5HPETHNL + 0.35GLYC + 0.15CH2O + 0.15MCRHP + 0.05ATOOH + 0.3OH : PHOTOL(159); {2019/11/06; Bates2019; KHB} ITCN + hv = MGLY + OH + NO2 + GLYC : PHOTOL(160); {2019/11/06; Bates2019; KHB} ITCN + hv = 0.5MVKHP + 0.5MCRHP + CO + NO2 + HO2 : PHOTOL(161); {2019/11/06; Bates2019; KHB} ETHP + hv = ETO + OH : PHOTOL(162); {2021/09/22; Bates2021a; KHB,MSL} BALD + hv = BENZO2 + CO + HO2 : PHOTOL(163); {2021/09/29; Bates2021b; KHB,MSL} BZCO3H + hv = BENZO2 + OH + CO2 : PHOTOL(164); {2021/09/29; Bates2021b; KHB,MSL} BENZP + hv = BENZO : PHOTOL(165); {2021/09/29; Bates2021b; KHB,MSL} NPHEN + hv = HNO2 + CO + CO2 + AROMP4 + HO2 : PHOTOL(166); {2021/09/29; Bates2021b; KHB,MSL} ================================================ FILE: KPP/aciduptake/aciduptake.kpp ================================================ #INTEGRATOR rosenbrock #LANGUAGE Fortran90 #DRIVER none #HESSIAN off #MEX off #STOICMAT off #INCLUDE aciduptake.eqn #FAMILIES POx : O3 + NO2 + 2NO3 + PAN + PPN + MPAN + HNO4 + 3N2O5 + HNO3 + BrO + HOBr + BrNO2 + 2BrNO3 + MPN + ETHLN + MVKN + MCRHN + MCRHNB + PROPNN + R4N2 + PRN1 + PRPN + R4N1 + HONIT + MONITS + MONITU + OLND + OLNN + IHN1 + IHN2 + IHN3 + IHN4 + INPB + INPD + ICN + 2IDN + ITCN + ITHN + ISOPNOO1 + ISOPNOO2 + INO2B + INO2D + INA + IDHNBOO + IDHNDOO1 + IDHNDOO2 + IHPNBOO + IHPNDOO + ICNOO + 2IDNOO + MACRNO2 + ClO + HOCl + ClNO2 + 2ClNO3 + 2Cl2O2 + 2OClO + O + O1D + IO + HOI + IONO + 2IONO2 + 2OIO + 2I2O2 + 3I2O3 + 4I2O4; LOx : O3 + NO2 + 2NO3 + PAN + PPN + MPAN + HNO4 + 3N2O5 + HNO3 + BrO + HOBr + BrNO2 + 2BrNO3 + MPN + ETHLN + MVKN + MCRHN + MCRHNB + PROPNN + R4N2 + PRN1 + PRPN + R4N1 + HONIT + MONITS + MONITU + OLND + OLNN + IHN1 + IHN2 + IHN3 + IHN4 + INPB + INPD + ICN + 2IDN + ITCN + ITHN + ISOPNOO1 + ISOPNOO2 + INO2B + INO2D + INA + IDHNBOO + IDHNDOO1 + IDHNDOO2 + IHPNBOO + IHPNDOO + ICNOO + 2IDNOO + MACRNO2 + ClO + HOCl + ClNO2 + 2ClNO3 + 2Cl2O2 + 2OClO + O + O1D + IO + HOI + IONO + 2IONO2 + 2OIO + 2I2O2 + 3I2O3 + 4I2O4; PCO : CO; LCO : CO; PSO4 : SO4; LCH4 : CH4; PH2O2 : H2O2; #INLINE F90_RATES ! All rates are included in aerochem_RateLawFuncs.F90, which ! gets referenced directly from subroutine Update_Rconst. #ENDINLINE #INLINE F90_RCONST ! Inline modules containing rate law definitions, which ! will be inserted directly into subroutine Update_Rconst(). ! This is necessary as a workaround for KPP not being able to ! include very large files ( > 200000 chars) directly. ! -- Bob Yantosca (11 Jun 2021) USE fullchem_RateLawFuncs #ENDINLINE #INLINE F90_GLOBAL !-------------------------------------------------------------------------- ! Additional global parameters -- will be added to gckpp_Global.F90 !-------------------------------------------------------------------------- ! Universal gas consatant [bar/(mol/kg)/K] (Source: NIST, 2014) ! NOTE: Make sure this is consistent w/ the value in physconsts.F90! REAL(dp), PARAMETER :: CON_R = 0.083144598_dp !-------------------------------------------------------------------------- ! Additional global variables -- will be added to gckpp_Global.F90 !-------------------------------------------------------------------------- ! Inverse of temperature [1/K] REAL(dp) :: INV_TEMP !$OMP THREADPRIVATE( INV_TEMP ) ! 4.0 * CON_R * TEMP REAL(dp) :: FOUR_R_T !$OMP THREADPRIVATE( FOUR_R_T ) ! 4.0 * RGASLATM * TEMP REAL(dp) :: FOUR_RGASLATM_T !$OMP THREADPRIVATE( FOUR_RGASLATM_T ) ! 8.0 * RSTARG * TEMP REAL(dp) :: EIGHT_RSTARG_T !$OMP THREADPRIVATE( EIGHT_RSTARG_T ) ! H2O concentration REAL(dp) :: H2O !$OMP THREADPRIVATE( H2O ) ! Pressure and relative humidity REAL(dp) :: PRESS REAL(dp) :: RELHUM !$OMP THREADPRIVATE( PRESS, RELHUM ) ! Cosine of solar zenith angle REAL(dp) :: SUNCOS !$OMP THREADPRIVATE( SUNCOS ) ! Henry's law constants (do not need to be THREADPRIVATE) REAL(dp) :: HENRY_K0(NSPEC) REAL(dp) :: HENRY_CR(NSPEC) ! Array for aqueous sulfur chemistry rates (1/s) REAL(dp) :: K_MT(6) !$OMP THREADPRIVATE( K_MT ) ! Array for sulfur chemistry rates in cloud (1/s) REAL(dp) :: K_CLD(6) !$OMP THREADPRIVATE( K_CLD ) ! Array for dust acid-uptake rates [1/s] REAL(dp) :: K_DST(13) !$OMP THREADPRIVATE( K_DST ) ! Liquid water conversion factor ! - Size = number of aerosol types (nAeroType = 14) REAL(dp) :: CVFAC(14) !$OMP THREADPRIVATE( CVFAC ) ! Proton activity [unitless] and H+ concentration [M] ! (assumed equivalent - for now): REAL(dp) :: H_PLUS !$OMP THREADPRIVATE( H_PLUS ) ! Array for photolysis rates (increase size if necessary) REAL(dp) :: PHOTOL(1000) !$OMP THREADPRIVATE( PHOTOL ) TYPE, PUBLIC :: HetState LOGICAL :: debugBox ! Are we in a debugging box? REAL(dp) :: AVO ! Avogadro's constant [molec/mol] LOGICAL :: natSurface ! Is there NAT in this box? LOGICAL :: pscBox ! Are there polar strat clouds? LOGICAL :: stratBox ! Are we in the stratosphere INTEGER :: NAEROTYPE ! Number of aerosol types LOGICAL :: is_UCX ! Are we using the UCX mechanism? REAL(dp) :: aClArea ! Fine SSA+SNA aerosol area [cm2/cm3] REAL(dp) :: aClRadi ! Fine SSA+SNA aerosol radius [cm] REAL(dp) :: aClVol ! Fine SSA+SNA aerosol volume [cm3/cm3] REAL(dp) :: aIce ! Ice surface area [cm2/cm3] REAL(dp) :: aLiq ! Liquid surface area [cm2/cm3] REAL(dp) :: aWater(2) ! ISORROPIA/HETP aerosol water (fine & coarse) REAL(dp) :: Br_conc_CldA ! Br- in cloud (A=fine SSA) [mol/kg H2O] REAL(dp) :: Br_conc_CldC ! Br- in cloud (C=coarse SSA) [mol/kg H2O] REAL(dp) :: Br_conc_CldG ! Br- in cloud (G=gas-phase) [mol/kg H2O] REAL(dp) :: Br_conc_Cld ! Br- total in cloud = A + C + G REAL(dp) :: Br_conc_SSA ! Br- in fine SSA [mol/kg H2O] REAL(dp) :: Br_conc_SSC ! Br- in coarse SSA [mol/kg H2O] REAL(dp) :: Br_over_Cl_Cld ! Br/Cl ratio in cloud REAL(dp) :: Br_over_Cl_SSA ! Br/Cl ratio in fine sea salt REAL(dp) :: Br_over_Cl_SSC ! Br/Cl ratio in coarse sea salt REAL(dp) :: Cl_conc_CldA ! Cl- in cloud (A=fine SSA) [mol/kg H2O] REAL(dp) :: Cl_conc_CldC ! Cl- in cloud (C=coarse SSA) [mol/kg H2O] REAL(dp) :: Cl_conc_CldG ! Cl- in cloud (G=gas-phase) [mol/kg H2O] REAL(dp) :: Cl_conc_Cld ! Cl- total = A + C + G REAL(dp) :: Cl_conc_SSA ! Cl- in fine sea salt [mol/kg H2O] REAL(dp) :: Cl_conc_SSC ! Cl- in coarse sea salt [mol/kg H2O] REAL(dp) :: cldFr ! Cloud fraction REAL(dp) :: clearFr ! Clear sky fraction REAL(dp) :: frac_Br_CldA ! Frac of Br- in fine SSA(in cloud) REAL(dp) :: frac_Br_CldC ! Frac of Br- in coarse SSA (in cloud) REAL(dp) :: frac_Br_CldG ! Frac of Br- in gas phase REAL(dp) :: frac_Cl_CldA ! Frac of Cl- in fine SSA (in cloud) REAL(dp) :: frac_Cl_CldC ! Frac of Cl- in coarse SSA (in cloud) REAL(dp) :: frac_Cl_CldG ! Frac of Cl- in gas phase REAL(dp) :: frac_HSO3_aq ! HSO3_aq / ( HSO3_aq + SO3_aq ) REAL(dp) :: frac_SALACL ! Frac of SALACL / total fine sea salt REAL(dp) :: frac_SO3_aq ! SO3_aq / ( HSO3_aq + SO3_aq ) REAL(dp) :: gamma_HO2 ! Uptake probability for HO2 [1] REAL(dp) :: H2O ! H2O concentration REAL(dp) :: HBr_theta ! HBr theta for uptake on ice REAL(dp) :: HCl_theta ! HCl theta for uptake on ice REAL(dp) :: H_conc_ICl ! Ice phase pH, Cl- REAL(dp) :: H_conc_LCl ! Liquid phase pH, Cl- REAL(dp) :: H_conc_SSA ! Liquid phase pH, fine sea salt REAL(dp) :: H_conc_SSC ! Liquid phase pH, coarse sea salt REAL(dp) :: H_conc_Sul ! Liquid phase pH, sulfate REAL(dp) :: HNO3_theta ! HNO3 theta for uptake on ice REAL(dp) :: HSO3_aq ! Cloud bisulfite [mol/L] REAL(dp) :: SO3_aq ! Cloud sulfite [mol/L] REAL(dp) :: TSO3_aq ! Cloud sulfite + bisulfite [mol/L] REAL(dp) :: H_plus ! Proton activity [1] and H+ conc [M] REAL(dp) :: KHETI_SLA(11) ! Probs for PSC uptk rxns on SLA [1] REAL(dp) :: HSO4_molal ! Bisulfate concentration [M] REAL(dp) :: NO3_molal ! Nitrate concentration [M] REAL(dp) :: SO4_molal ! Sulfate concentration [M] REAL(dp) :: NIT_conc_SSA ! Cl- in fine sea salt [mol/kg H2O] REAL(dp) :: NIT_conc_SSC ! Cl- in coarse sea salt [mol/kg H2O] REAL(dp) :: PI ! PI constant REAL(dp) :: pHCloud ! Cloud PH REAL(dp) :: pHSSA(2) ! Sea salt pH (1=fine, 2=coarse) REAL(dp) :: OMOC_POA ! Org matter/orgc carbon in POA [1] REAL(dp) :: OMOC_OPOA ! Org matter/org carbon in POA [1] REAL(dp) :: qIce ! Ice mixing ratio [kg/kg] REAL(dp) :: qLIq ! Water mixing ratio [kg/kg] REAL(dp) :: rIce ! Ice radius REAL(dp) :: rLiq ! Liquid radius REAL(dp) :: SALAAL_save ! Conc of SALAAL before conv [molec/cm3] REAL(dp) :: SALCAL_save ! Conc of SALCAL before conv [molec/cm3] REAL(dp) :: ssAlk(2) ! Sea salt alk'nty (1=fine, 2=coarse) LOGICAL :: SSA_is_Alk ! Is fine sea-salt alkaline? LOGICAL :: SSA_is_Acid ! Is fine sea-salt acidic? LOGICAL :: SSC_is_Alk ! Is coarse sea-salt alkaline? LOGICAL :: SSC_is_Acid ! Is coarse sea-salt acidic? REAL(dp) :: vAir ! Volume of air [cm3] REAL(dp) :: vIce ! Ice volume [cm3] REAL(dp) :: vLiq ! Liquid volume [cm3] REAL(dp) :: wetArea(14) ! Aerosol specific wet sfc area [cm3/cm3] REAL(dp) :: xArea(14) ! Aerosol specific sfc area [cm3/cm3] REAL(dp) :: xH2O(14) ! Aerosol water content [cm3/cm3] REAL(dp) :: xRadi(14) ! Aerosol effective radius [cm] REAL(dp) :: xVol(14) ! Aerosol specific volume [cm3/cm3] REAL(dp) :: fupdateHOBr REAL(dp) :: fupdateHOCl END TYPE HetState TYPE(HetState), TARGET, PUBLIC :: State_Het !$OMP THREADPRIVATE( State_Het ) #ENDINLINE ================================================ FILE: KPP/aciduptake/aciduptake_DustChemFuncs.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: aciduptake_DustChemFuncs ! ! !DESCRIPTION: Module containing rate-law functions for the dust acid ! uptake species, in the aciduptake mechanism. !\\ !\\ ! !INTERFACE: MODULE aciduptake_DustChemFuncs ! ! !USES: ! USE GcKpp_Precision IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: aciduptake_DustChem PUBLIC :: aciduptake_InitDustChem ! ! !PRIVATE DATA MEMBERS: ! INTEGER, PRIVATE :: id_DSTAL1, id_DSTAL2, id_DSTAL3, id_DSTAL4 INTEGER, PRIVATE :: id_DST1, id_DST2, id_DST3, id_DST4 CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: aciduptake_DustChem ! ! !DESCRIPTION: Computes the reaction rates [1/s] for acid uptake on dust ! species. ! !\\ !\\ ! !INTERFACE: ! SUBROUTINE aciduptake_DustChem( I, J, L, & Input_Opt, State_Chm, State_Met, RC ) ! ! !USES: ! USE CMN_SIZE_Mod, ONLY : NDSTBIN USE ErrCode_Mod USE GcKpp_Global, ONLY : C, K_DST USE GcKpp_Parameters USE GcKpp_Precision USE Input_Opt_Mod, ONLY : OptInput USE PhysConstants, ONLY : AIRMW, AVO USE State_Chm_Mod, ONLY : ChmState USE State_Met_Mod, ONLY : MetState USE rateLawUtilFuncs, ONLY : KIIR1Ltd ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I, J, L ! X, Y, Z grid indices TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N REAL(dp) :: K0, Ki, F, M, KK, F1 ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc ! Arrays REAL(dp) :: ALK_d(NDSTBIN) REAL(dp) :: KTS(NDSTBIN) REAL(dp) :: KTN(NDSTBIN) REAL(dp) :: KTH(NDSTBIN) !======================================================================== ! aciduptake_DustChem begins here! !======================================================================== ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at SET_CLD_S (in module GeosCore/sulfate_mod.F90)' ! Updated to match JPL 2006 + full chem (jaf, 10/14/09) !======================================================================== ! Get dust alkalinity ALK_d (NDSTBIN) [v/v], Uptake rates for ! sulfate, KTS(NDSTBIN), and nitrate, KTN(NDSTBIN) on dust [s-1] !======================================================================== CALL Get_Dust_Alk( I = I, & J = J, & L = L, & ALK_d = ALK_d, & KTS = KTS, & KTN = KTN, & KTH = KTH, & Input_Opt = Input_Opt, & State_Met = State_Met, & State_Chm = State_Chm ) !======================================================================== ! Get dust alkalinity ALK_d (NDSTBIN) [v/v], Uptake rates for ! sulfate = KTS(NDSTBIN) on dust [s-1] ! nitrate = KTN(NDSTBIN) on dust [s-1] ! H2SO4 = KTH(NDSTBIN) on dust [s-1] !======================================================================== K_DST(1) = KIIR1Ltd( C(ind_SO2), 2.0_dp*C(ind_DSTAL1), KTS(1) ) K_DST(2) = KIIR1Ltd( C(ind_SO2), 2.0_dp*C(ind_DSTAL2), KTS(2) ) K_DST(3) = KIIR1Ltd( C(ind_SO2), 2.0_dp*C(ind_DSTAL3), KTS(3) ) K_DST(4) = KIIR1Ltd( C(ind_SO2), 2.0_dp*C(ind_DSTAL4), KTS(4) ) K_DST(5) = KIIR1Ltd( C(ind_HNO3), C(ind_DSTAL1), KTN(1) ) K_DST(6) = KIIR1Ltd( C(ind_HNO3), C(ind_DSTAL2), KTN(2) ) K_DST(7) = KIIR1Ltd( C(ind_HNO3), C(ind_DSTAL3), KTN(3) ) K_DST(8) = KIIR1Ltd( C(ind_HNO3), C(ind_DSTAL4), KTN(4) ) K_DST(9) = KIIR1Ltd( C(ind_H2SO4), 2.0_dp*C(ind_DSTAL1), KTH(1) ) K_DST(10) = KIIR1Ltd( C(ind_H2SO4), 2.0_dp*C(ind_DSTAL2), KTH(2) ) K_DST(11) = KIIR1Ltd( C(ind_H2SO4), 2.0_dp*C(ind_DSTAL3), KTH(3) ) K_DST(12) = KIIR1Ltd( C(ind_H2SO4), 2.0_dp*C(ind_DSTAL4), KTH(4) ) !======================================================================== ! Gas phase SO4 production is done here in offline run only !======================================================================== K0 = 3.3e-31_dp * ( 300.0_dp / State_Met%T(I,J,L) )**4.3_dp Ki = 1.6e-12_dp F = 1000.0_dp / AIRMW * AVO * 1.e-6_dp M = State_Met%AIRDEN(I,J,L) * F KK = K0 * M / Ki F1 = 1.0_dp / ( 1.0_dp + ( LOG10( KK ) )**2 ) K_DST(13) = ( K0 * M / ( 1.0_dp + KK ) ) * 0.6_dp**F1 END SUBROUTINE aciduptake_DustChem !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: get_dust_alk ! ! !DESCRIPTION: Subroutine GET\_DUST\_ALK returns: (1) dust alkalinity, ! ALK\_d(NDSTBIN) [v/v], (2) rate coefficients, KTS(NDSTBIN), KTN(NDSTBIN), ! for uptake of SO2 and HNO3 on dust for use in sulfate\_mod.f for chemistry ! on dust aerosols, (3) fraction, KTH(NDSTBIN), of the size-weighted total ! area of aerosols in the grid box. GET\_DUST\_ALK is analogous to GET\_ALK ! for seasalt (bec, 12/7/04; tdf 04/08/08) !\\ !\\ ! !INTERFACE: ! SUBROUTINE GET_DUST_ALK( I, J, L, ALK_d, KTS, & KTN, KTH, Input_Opt, State_Met, State_Chm ) ! ! !USES: ! USE CMN_SIZE_MOD, ONLY : NDUST, NDSTBIN USE ERROR_MOD, ONLY : IT_IS_NAN USE GcKpp_Parameters USE Input_Opt_Mod, ONLY : OptInput USE PhysConstants, ONLY : PI, AIRMW USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I, J, L ! Grid box indices TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! REAL(dp), INTENT(OUT) :: ALK_d(NDSTBIN) ! Dust alkalinity [v/v] REAL(dp), INTENT(OUT) :: KTS (NDSTBIN) ! Rate coef for uptake of ! SO2 on dust [s-1] REAL(dp), INTENT(OUT) :: KTN (NDSTBIN) ! Rate coef for uptake of ! HNO3 on dust [s-1] REAL(dp), INTENT(OUT) :: KTH (NDSTBIN) ! Fraction of the size- ! weighted total area ! of aerosols in grid box ! ! !REVISION HISTORY: ! 08 Apr 2008 - T.D. Fairlie- Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! REAL(dp), PARAMETER :: MINDAT = 1.d-20 ! Need this for dust !REAL(dp), PARAMETER :: GAMMA_SO2 = 0.05d0 !(Song & Carmichael, 2001) ! 200 times smaller 8/28/2K9 REAL(dp), PARAMETER :: GAMMA_SO2 = 2.5d-4 !tdf V9 4/1/2K9 Applying Song et al.(2007) reduced value REAL(dp), PARAMETER :: GAMMA_H2SO4 = 1.d0 ! Need this for dust !REAL(dp), PARAMETER :: GAMMA_HNO3 = 0.1d0 ! (Song & Carmichael, 2001) ! 200 times smaller 8/28/2K9 REAL(dp), PARAMETER :: GAMMA_HNO3 = 5.0d-4 REAL(dp), PARAMETER :: DG = 0.2d0 ! gas phase diffusion coeff. [cm2/s] REAL(dp), PARAMETER :: v = 3.0d4 ! cm/s ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: IRH INTEGER :: IBIN, ISBIN REAL(dp) :: N1, KT1, KT1N REAL(dp) :: AREA, HGF REAL(dp) :: CONST1, CONST2, CONST REAL(dp) :: AIR_DENS REAL(dp) :: A1, B1, A1N, B1N, T1, R1 REAL(dp) :: DD, RD, DM REAL(dp) :: TOTAL_AREA, DF_TOTAL_AREA REAL(dp) :: DST_d (NDSTBIN), ALK, GAMS, GAMN REAL(dp) :: SULF_AREA, BC_AREA, OC_AREA REAL(dp) :: SULF_RAD, BC_RAD, OC_RAD REAL(dp) :: SULF_FAC, BC_FAC, OC_FAC REAL(dp) :: SSA_AREA, SSC_AREA REAL(dp) :: SSA_RAD, SSC_RAD REAL(dp) :: SSA_FAC, SSC_FAC REAL(dp) :: term LOGICAL, SAVE :: FIRST = .TRUE. ! Arrays ! Dust Surface Areas ! tdf 08/20/09 REAL(dp) :: AREA_d(NDSTBIN) ! [cm^2/cm^3] ! Dust Surface Areas within sub-bins 1-4 of BIN 1 ! tdf 08/20/09 REAL(dp) :: AREA_sd1(4) ! [cm^2/cm^3] ! Dust Effective Radius ! tdf 08/20/09 REAL(dp) :: RD_d(NDSTBIN) ! [cm] ! Dust Effective Radii for sub-bins 1-4 of BIN 1 ! tdf 08/20/09 REAL(dp) :: RD_sd1(4) ! [cm] ! Dust size-weighted Surface Areas ! tdf 08/20/09 REAL(dp) :: DF_AREA_d(NDSTBIN) ! [1/s] ! Dust size-weighted Surface Areas for sub-bins 1-4 ! tdf 08/20/09 REAL(dp) :: DF_AREA_sd1(4) ! [1/s] ! Molecular weights REAL(dp) :: MW_DST1, MW_DST2, MW_DST3, MW_DST4 ! Pointers TYPE(SpcConc), POINTER :: Spc(:) REAL(dp), POINTER :: ERADIUS(:,:,:,:) REAL(dp), POINTER :: TAREA(:,:,:,:) !================================================================= ! GET_DUST_ALK begins here! !================================================================= ! Initialize pointers Spc => State_Chm%Species ! GEOS-Chem species array [v/v dry] ERADIUS => State_Chm%AeroRadi ! Aerosol Radius [cm] TAREA => State_Chm%AeroArea ! Aerosol Area [cm2/cm3] ! Get MWs from species database MW_DST1 = State_Chm%SpcData(id_DST1)%Info%MW_g MW_DST2 = State_Chm%SpcData(id_DST2)%Info%MW_g MW_DST3 = State_Chm%SpcData(id_DST3)%Info%MW_g MW_DST4 = State_Chm%SpcData(id_DST4)%Info%MW_g ! Zero variables ALK_d = 0.0_dp KTS = 0.0_dp KTN = 0.0_dp KTH = 0.0_dp AREA_d = 0.0_dp RD_d = 0.0_dp ! Air density [kg/m3] AIR_DENS = State_Met%AD(I,J,L) / State_Met%AIRVOL(I,J,L) ! Retrieve Dust Alkalinity [v/v dry from Spc array ALK_d(1) = Spc(id_DSTAL1)%Conc(I,J,L) ALK_d(2) = Spc(id_DSTAL2)%Conc(I,J,L) ALK_d(3) = Spc(id_DSTAL3)%Conc(I,J,L) ALK_d(4) = Spc(id_DSTAL4)%Conc(I,J,L) ! Dust [kg/m3] from Spc, used to compute dust surface area ! Units: (moles/mole).(kg(air)/m3).(kg(dust)/mole)/(kg(air)/mole) DST_d(1) = Spc(id_DST1)%Conc(I,J,L) * AIR_DENS / ( AIRMW / MW_DST1 ) DST_d(2) = Spc(id_DST2)%Conc(I,J,L) * AIR_DENS / ( AIRMW / MW_DST2 ) DST_d(3) = Spc(id_DST3)%Conc(I,J,L) * AIR_DENS / ( AIRMW / MW_DST3 ) DST_d(4) = Spc(id_DST4)%Conc(I,J,L) * AIR_DENS / ( AIRMW / MW_DST4 ) ! tdf Now get aerosol surface area from TAREA (cm2/cm3) SULF_AREA = TAREA(I,J,L,NDUST+1) BC_AREA = TAREA(I,J,L,NDUST+2) OC_AREA = TAREA(I,J,L,NDUST+3) SSA_AREA = TAREA(I,J,L,NDUST+4) SSC_AREA = TAREA(I,J,L,NDUST+5) ! tdf Now get aerosol effective radius from ERADIUS (cm) SULF_RAD = ERADIUS(I,J,L,NDUST+1) BC_RAD = ERADIUS(I,J,L,NDUST+2) OC_RAD = ERADIUS(I,J,L,NDUST+3) SSA_RAD = ERADIUS(I,J,L,NDUST+4) SSC_RAD = ERADIUS(I,J,L,NDUST+5) ! tdf Quotients [s/cm] used to weight surface area for H2SO4 uptake term = 4.0_dp / ( V * GAMMA_H2SO4 ) SULF_FAC = ( SULF_RAD / DG + term ) BC_FAC = ( BC_RAD / DG + term ) OC_FAC = ( OC_RAD / DG + term ) SSA_FAC = ( SSA_RAD / DG + term ) SSC_FAC = ( SSC_RAD / DG + term ) !tdf Surface areas and effective radii for sub-bins 1-4 of dust bin 1 DO ISBIN = 1, 4 T1 = TAREA (I,J,L,ISBIN) R1 = ERADIUS(I,J,L,ISBIN) AREA_sd1 (ISBIN) = T1 RD_sd1 (ISBIN) = R1 !tdf surface area for sub bins 1-4 in bin 1, weighted by gas-phase !tdf diffusion and collision limitations !tdf used to compute proportionate uptake of H2SO4 only [1/s] DF_AREA_sd1 (ISBIN) = T1 / (R1/DG + 4.0e+0_dp/(V*GAMMA_H2SO4)) END DO !----------------------------------------------------------------------- ! Very Simple Formulation: For each size bin (i) ! tdf 8/20/09 ! Dust Area density = 3 * Dust Mass density / (REFF(i) * DUSTDEN) ! TAREA computed in RDUST_ONLINE - Units: cm^2(dust) / cm^3(air) ! ERADIUS computed in RDUST_ONLINE - Units: cm ! NB: I am now subdividing the submicron dust size bin ! using TAREA (I,J,L,1->4), and ERADIUS (I,J,L,1->4). !----------------------------------------------------------------------- !------------------------------------------------------------------------- ! Find Dust surface area density in grid-box, AREA_d [cm^2/cm^3]. ! Also find the size-weighted surface area density, DF_AREA_d [1/s]. ! The latter represents the gas-phase diffusion and surface ! limited weighting and is used to determine the fraction of H2SO4 ! taken up on dust, versus taken up on other aerosols. ! tdf 08/21/09 !------------------------------------------------------------------------- ! tdf Loop over size bins (NDSTBIN = 4) DO IBIN = 1, NDSTBIN ! Dust Area density in grid box, AREA_d [cm^2/cm^3] tdf 8/21/09 ! Dust weighted surface area density, DF_AREA_d [1/s] tdf 8/21/09 IF (IBIN .EQ. 1) THEN ! For Dust size bin 1, sum over the 4 size sub bins tdf 8/21/09 AREA_d (IBIN) = AREA_sd1(1) + AREA_sd1(2) & ![cm^2/cm^3] + AREA_sd1(3) + AREA_sd1(4) DF_AREA_d(IBIN) = DF_AREA_sd1(1) + DF_AREA_sd1(3) & ! [1/s] + DF_AREA_sd1(2) + DF_AREA_sd1(4) ELSE T1 = TAREA(I,J,L,3+IBIN) ! [cm^2/cm^3] R1 = ERADIUS(I,J,L,3+IBIN) ! [cm] RD_d (IBIN) = R1 AREA_d (IBIN) = T1 ! [cm^2/cm^3] DF_AREA_d(IBIN) = T1 / (R1/DG + 4.0D0/(V*GAMMA_H2SO4)) ! [1/s] ENDIF END DO ! tdf total aerosol surface area [cm^2/cm^3] TOTAL_AREA = SULF_AREA + BC_AREA + OC_AREA + SSA_AREA + SSC_AREA + & AREA_d(1) + AREA_d(2) + AREA_d(3) + AREA_d(4) ! tdf total surface area weighted by gas-phase diffusion limitation [1/s] DF_TOTAL_AREA = SULF_AREA / SULF_FAC + & BC_AREA / BC_FAC + & OC_AREA / OC_FAC + & SSA_AREA / SSA_FAC + & SSC_AREA / SSC_FAC + & DF_AREA_d(1) + & DF_AREA_d(2) + & DF_AREA_d(3) + & DF_AREA_d(4) ! tdf Total Dust Alkalinity ALK = ALK_d(1) + ALK_d(2) + ALK_d(3) + ALK_d(4) ! [v/v] ! set humidity index IRH as a percent IRH = State_Met%RH(I,J,L) IRH = MAX( 1, IRH ) IRH = MIN( 99, IRH ) ! hygroscopic growth factor for dust: Set to NO GROWTH for now IF ( IRH < 100 ) HGF = 1.0e+0_dp ! tdf Loop over size bins (NDSTBIN = 4) DO IBIN = 1, NDSTBIN !---------------------------------- ! SO2 uptake onto particles !---------------------------------- !tdf 2/11/2K9 !tdf Following relative uptake rates of Preszler-Prince et al.(2007) IF ( IRH >= 90.0_dp ) THEN GAMS = GAMMA_SO2 * 2.0_dp ELSE IF ( IRH >= 84.0_dp ) THEN GAMS = GAMMA_SO2 & * ( 0.5_dp + 1.5_dp*(IRH - 84.0_dp) / (90.0_dp - 84.0_dp) ) ELSE IF ( IRH >= 76.0_dp ) THEN GAMS = GAMMA_SO2 & * ( 0.16_dp + 0.34_dp*(IRH - 76.0_dp) / (84.0_dp - 76.0_dp) ) ELSE IF ( IRH >= 33.0_dp ) THEN GAMS = GAMMA_SO2 & * ( 0.03_dp + 0.13_dp*(IRH-33.e+0_dp) / (76.0_dp - 33.0_dp) ) ELSE IF ( IRH >= 20.0_dp ) THEN GAMS = GAMMA_SO2 * 0.03_dp ELSE ! 0.0 below 20% GAMS = 0.0_dp ENDIF ! Check for sufficient alkalinity tdf 3/28/2K8 IF ( ALK > MINDAT ) THEN ! calculate gas-to-particle rate constant for uptake of ! SO2 onto dust aerosols [Jacob, 2000] analytical solution ! Corrected based on discussions with Becky tdf 07/14/08 KT1 = 0.0_dp IF (IBIN .EQ. 1) THEN ! tdf Sum over the 1-4 sub-bins for bin 1 ! tdf 08/21/2K9 DO ISBIN = 1, 4 RD = RD_sd1 (ISBIN) ! effective radius [cm] AREA = AREA_sd1 (ISBIN) ! Dust Surface Area [cm^2/cm^3] ! Prevent divide by zero if GAMS = 0 (tdf, mps, 11/14/13) IF ( GAMS > 0.0_dp ) THEN CONST1 = 4.0_dp/(V*GAMS) ! Collision [s/cm] CONST2 = RD/DG ! Diffusion [s/cm] CONST = CONST1 + CONST2 KT1 = KT1 + AREA / CONST ! [cm^2/cm^3] * [cm/s] = [1/s] ELSE KT1 = KT1 ! [cm^2/cm^3] * [cm/s] = [1/s] ENDIF END DO ELSE RD = RD_d (IBIN) ! effective radius [cm] AREA = AREA_d (IBIN) ! Dust Surface Area [cm^2/cm^3] ! Prevent divide by zero if GAMS = 0 (tdf, mps, 11/14/13) IF ( GAMS > 0.0_dp ) THEN CONST1 = 4.0_dp/(V*GAMS) ! Collision [s/cm] CONST2 = RD/DG ! Diffusion [s/cm] CONST = CONST1 + CONST2 KT1 = AREA / CONST ! [cm^2/cm^3] * [cm/s] = [1/s] ELSE KT1 = 0.0_dp ! [cm^2/cm^3] * [cm/s] = [1/s] ENDIF ENDIF KTS(IBIN) = KT1 ELSE ! If no alkalinity, set rate coefficients to zero !tdf KTS(IBIN) = 0.0_dp ENDIF !---------------------------------- ! HNO3 uptake onto particles !---------------------------------- !tdf 2/11/2K9 !tdf Following uptake coefficients of Liu et al.(2007) IF (IRH >= 80.0_dp ) THEN GAMN = GAMMA_HNO3 * 2.1_dp ELSE IF (IRH >= 70.0_dp ) THEN GAMN = GAMMA_HNO3 & * ( 1.3_dp + 0.7_dp * (IRH - 70.0_dp) / 10.0_dp ) ELSE IF (IRH >= 60.0_dp ) THEN GAMN = GAMMA_HNO3 & * ( 1.0_dp + 0.3_dp * (IRH - 60.0_dp) / 10.0_dp ) ELSE IF ( IRH >= 50.0_dp ) THEN GAMN = GAMMA_HNO3 & * ( 0.7_dp + 0.3_dp * (IRH - 50.0_dp) / 10.0_dp ) ELSE IF ( IRH >= 30.0_dp ) THEN GAMN = GAMMA_HNO3 & * ( 0.19_dp + 0.255_dp * (IRH - 30.0_dp) / 10.0_dp ) ELSE IF ( IRH >= 10.0_dp ) THEN GAMN = GAMMA_HNO3 & * ( 0.03_dp + 0.08_dp * (IRH - 10.0_dp) / 10.0_dp ) ELSE ! 0.0 below 10% GAMN = 0.0_dp ENDIF ! Check for sufficient alkalinity tdf 3/28/2K8 IF ( ALK > MINDAT ) THEN ! calculate gas-to-particle rate constant for uptake of ! HNO3 onto dust aerosols [Jacob, 2000] analytical solution ! Corrected based on discussions with Becky tdf 07/14/08 KT1 = 0.0e+0_dp IF (IBIN .EQ. 1) THEN ! tdf Sum over the 1-4 sub-bins for bin 1 ! tdf 08/21/2K9 DO ISBIN = 1, 4 RD = RD_sd1 (ISBIN) ! effective radius [cm] AREA = AREA_sd1 (ISBIN) ! Dust Surface Area [cm^2/cm^3] ! Prevent divide by zero if GAMN = 0 (tdf, mps, 11/14/13) IF ( GAMN > 0.0_dp ) THEN CONST1 = 4.0_dp/(V*GAMN) ! Collision [s/cm] CONST2 = RD/DG ! Diffusion [s/cm] CONST = CONST1 + CONST2 KT1 = KT1 + AREA / CONST ! [cm^2/cm^3] * [cm/s] = [1/s] ELSE KT1 = KT1 ! [cm^2/cm^3] * [cm/s] = [1/s] ENDIF END DO ELSE RD = RD_d (IBIN) ! effective radius [cm] AREA = AREA_d (IBIN) ! Dust Surface Area [cm^2/cm^3] ! Prevent divide by zero if GAMN = 0 (tdf, mps, 11/14/13) IF ( GAMN > 0.0_dp ) THEN CONST1 = 4.0_dp/(V*GAMN) ! Collision [s/cm] CONST2 = RD/DG ! Diffusion [s/cm] CONST = CONST1 + CONST2 KT1 = AREA / CONST ! [cm^2/cm^3] * [cm/s] = [1/s] ELSE KT1 = 0.0_dp ! [cm^2/cm^3] * [cm/s] = [1/s] ENDIF ENDIF KTN(IBIN) = KT1 ELSE ! If no alkalinity, set rate coefficients to zero !tdf KTN(IBIN) = 0.0_dp ENDIF !---------------------------------- ! H2SO4 uptake onto particles !---------------------------------- ! Uptake not limited by dust alkalinity tdf 3/02/2K9 !tdf As of 08/20/09, we use AREA and size weighted uptake !tdf where now KTH is a fractional uptake for each size bin !tdf with respect to total aerosol surface area. KT1 = DF_AREA_d(IBIN) / DF_TOTAL_AREA ! Fraction KTH(IBIN) = KT1 END DO ! tdf End Loop over size bins ! Free pointers Spc => NULL() ERADIUS => NULL() TAREA => NULL() END SUBROUTINE Get_Dust_Alk !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: aciduptake_InitDustChem ! ! !DESCRIPTION: Defines species indices used for the dust acid uptake ! rate-law functions. !\\ !\\ ! !INTERFACE: ! SUBROUTINE aciduptake_InitDustChem( RC ) ! ! !USES: ! USE ErrCode_Mod USE State_Chm_Mod, ONLY : Ind_ ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: RC ! Success or failure !EOP !------------------------------------------------------------------------------ !BOC ! Initialize RC = GC_SUCCESS ! Dust alkalinity species id_DSTAL1 = Ind_( 'DSTAL1' ) id_DSTAL2 = Ind_( 'DSTAL2' ) id_DSTAL3 = Ind_( 'DSTAL3' ) id_DSTAL4 = Ind_( 'DSTAL4' ) ! Dust species id_DST1 = Ind_( 'DST1' ) id_DST2 = Ind_( 'DST2' ) id_DST3 = Ind_( 'DST3' ) id_DST4 = Ind_( 'DST4' ) END SUBROUTINE aciduptake_InitDustChem !EOC END MODULE aciduptake_DustChemFuncs ================================================ FILE: KPP/build_mechanism.sh ================================================ #!/bin/bash #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !IROUTINE: build_mechanism.sh # # !DESCRIPTION: Runs KPP to create new chemical mechanism solver files # (in Fortran-90 format) while preserving the heterogeneous chemistry file. # # !CALLING SEQUENCE: # ./build_mechanism.sh fullchem # builds mechanism in KPP/fullchem folder # ./build_mechanism.sh Hg # builds mechanism in KPP/Hg folder # ./build_mechanism.sh custom # builds mechanism in KPP/custom folder # # !AUTHOR: # Melissa Sulprizio (mpayer@seas.harvard.edu) -- Initial version # Bob Yantosca (yantosca@seas.harvard.edu) -- Updates for KPP 2.3.0_gc+ # # !REMARKS: # (1) Requires KPP version 2.3.0_gc or later. # # (2) KPP may have issues parsing the RHS of an equation when it needs # to be split up into more than one F90 line. The quick solution # is to keep the length of the RHS at about ~100 characters or less. # https://github.com/geoschem/KPP/issues/1 # # !REVISION HISTORY: # See the subsequent Git history with the gitk browser! #EOP #------------------------------------------------------------------------------ #BOC #============================================================================ # Check that directory exists before proceeding #============================================================================ if [ "x${1}" != "x" ]; then mechDir=${1} if [ ! -d "$mechDir" ]; then echo "ERROR: Mechanism directory ${mechDir} does not exist." exit 1 fi else echo "ERROR: You must pass the mechanism directory name as argument." exit 1 fi #============================================================================ # Remove prior files that have been built with KPP # while leaving those files containing the chemistry mechanism specification # # NOTE: KPP-generated source code files for GEOS-Chem will have the # prefix "gckpp". This is necessary because a consistent naming scheme # needs to used so that modules in GeosCore etc. can find KPP code. #============================================================================ cd ${mechDir} # Find the mechanism name (which is at the top of the .eqn file) mechName=$(grep ".eqn" *.eqn) mechName="${mechName/\{ /}" mechName="${mechName/\.eqn/}" # Exit if mechanism name isn't found if [[ "x${mechName}" == "x" ]]; then echo "Could not find the mechanism name in the ${mechanismDir}/*.eqn file" exit 1 fi # Remove these files, which will be will be regnerated by KPP filesToRemove=( \ gckpp.map \ gckpp_Function.F90 \ gckpp_Global.F90 \ gckpp_Initialize.F90 \ gckpp_Integrator.F90 \ gckpp_Jacobian.F90 \ gckpp_JacobianSP.F90 \ gckpp_LinearAlgebra.F90 \ gckpp_Model.F90 \ gckpp_Monitor.F90 \ gckpp_Parameters.F90 \ gckpp_Precision.F90 \ gckpp_Rates.F90 \ gckpp_Util.F90 \ ) for f in ${filesToRemove[@]}; do rm -f $f done # Also remove any generated files rm -f *.o *.mod *.a #============================================================================ # Build the mechanism! #============================================================================ if [[ -f gckpp.kpp ]]; then kpp gckpp.kpp # on discover, use: #/discover/nobackup/mslong1/KPP/KPP/bin/kpp gckpp.kpp else echo "Could not find the 'gckpp.kpp' file... Aborting!" exit 1 fi # Remove the GNU Makefile (not needed, since we use CMake) [[ -f Makefile_gckpp ]] && rm -f Makefile_gckpp # If the gckpp_Rates.F90 file is not found, there was an error if [[ ! -f gckpp_Rates.F90 ]]; then echo "KPP failed to build 'gckpp_Rates.F90'! Aborting." exit 1 fi #============================================================================ # Strip unwanted characters in gckpp_Rates.F90 # These seem to be created by KPP due to issues in breaking long lines # We might be able to get rid of this later on with thenew mechanism # # NOTE: This should be unnecessary if we apply the fix described at: # https://github.com/geoschem/KPP/issues/1 #============================================================================ line1=" write(6,'(a)') 'GCJPLEQ: Missing parameters for P-dependent reaction.'I2O3" line2=" write(6,'(a)') 'GCJPLEQ: Missing parameters for P-dependent reaction.'" sed -i -e "s|${line1}|${line2}|" gckpp_Rates.F90 #============================================================================ # Run python parser OHreactParser.py. This will create fortran code # for subroutine Get_OHreactivity and insert it into gckpp_Util.F90 # # TODO: Port this to C and include within KPP #============================================================================ python ../OHreact_parser.py ${mechName} #============================================================================ # Change back to the prior directory and exit #============================================================================ cd .. exit 0 #EOC ================================================ FILE: KPP/carbon/CMakeLists.txt ================================================ # KPP/carbon/CMakeLists.txt #---------------------------------------------------------------------------- # Determine the KPP integrator name and set corresponding variables # This is for informational purposes only. #---------------------------------------------------------------------------- # Get integrator name EXECUTE_PROCESS( COMMAND grep \#INTEGRATOR ${CMAKE_CURRENT_SOURCE_DIR}/carbon.kpp OUTPUT_VARIABLE RESULT ) separate_arguments(SUBSTRINGS UNIX_COMMAND "${RESULT}") list(GET SUBSTRINGS 1 KPP_INTEGRATOR_NAME) string(TOLOWER "${KPP_INTEGRATOR_NAME}" KPP_INTEGRATOR_NAME) # Print result gc_pretty_print(SECTION "KPP integrator (read from carbon.kpp)") gc_pretty_print(VARIABLE KPP_INTEGRATOR_NAME) #---------------------------------------------------------------------------- # Add libKPPFirstPass.a -- carbon mechanism #---------------------------------------------------------------------------- add_library(KPP_FirstPass STATIC EXCLUDE_FROM_ALL gckpp_Precision.F90 gckpp_Parameters.F90 gckpp_Monitor.F90 ) # Define dependencies for libKPP_FirstPass.a target_link_libraries(KPP_FirstPass PUBLIC GEOSChemBuildProperties ) #---------------------------------------------------------------------------- # Add libKPP.a -- carbon mechanism #---------------------------------------------------------------------------- add_library(KPP STATIC EXCLUDE_FROM_ALL carbon_Funcs.F90 gckpp_Function.F90 gckpp_Global.F90 gckpp_Initialize.F90 gckpp_Integrator.F90 gckpp_Jacobian.F90 gckpp_LinearAlgebra.F90 gckpp_Model.F90 gckpp_Monitor.F90 gckpp_Parameters.F90 gckpp_Precision.F90 gckpp_Rates.F90 gckpp_Util.F90 rateLawUtilFuncs.F90 # # Build these stub modules to avoid compilation errors. # These are symbolic links to files in the ../stubs folder. # stub_aciduptake_DustChemFuncs.F90 stub_fullchem_AutoReduceFuncs.F90 stub_fullchem_HetStateFuncs.F90 stub_fullchem_SulfurChemFuncs.F90 stub_Hg_HetStateFuncs.F90 ) # Add dependencies target_link_libraries(KPP PUBLIC GeosUtil ) # When building libKPP.a, treat REAL as if it were REAL*8 target_compile_options(KPP PRIVATE "" $<$:-r8> $<$:-fdefault-real-8 -fdefault-double-8> ) ================================================ FILE: KPP/carbon/carbon.eqn ================================================ { carbon.eqn =============================================================================== DESCRIPTION =============================================================================== GEOS-Chem KPP file containing species and equations for the carbon chemistry mechanism =============================================================================== FILE HISTORY =============================================================================== v14.1.0 (release TBD) --------------------- (1) Initial version (MSL) } #include atoms.kpp { Periodic table information } #DEFVAR CH4 = IGNORE; { Active methane species } CO = IGNORE; { Active carbon monoxide species } CO2 = IGNORE; { Active carbon dioxide species } PCOfromCH4 = IGNORE; { Tracks P(CO) from CH4 for diagnostics } PCOfromNMVOC= IGNORE; { Tracks P(CO) from NMVOC for diagnostics } LCH4byOH = IGNORE; { Dummy spc to track loss of CH4 by OH } LCH4byCl = IGNORE; { Dummy spc to track loss of CH4 by Cl } LCH4inStrat = IGNORE; { Dummy spc to track loss of CH4 in strat } LCObyOH = IGNORE; { Dummy spc to track loss of CO by OH } LCOinStrat = IGNORE; { Dummy spc to track loss of CO in strat } #DEFFIX FixedOH = IGNORE; { Externally-supplied OH concentration } FixedCl = IGNORE; { Externally-supplied Cl concentration } DummyCH4trop = IGNORE; { Dummy placeholder for CH4 reactant } DummyCH4strat = IGNORE; { Dummy placeholder for CH4 reactant } DummyNMVOC = IGNORE; { Dummy placeholder for NMVOC reactant } #EQUATIONS // // %%%%%%%%%%%%%%%%%%%%%%%% // %%%%% TROP CHEM %%%%% // %%%%%%%%%%%%%%%%%%%%%%%% // // Rate [1/s] is from JPL 1997 CH4 + FixedOH = LCH4byOH : 2.45d-12*EXP(-1775.0d0/TEMP)*TROP; // // Rate [1/s] is from Kirschke et al, 2013 (Nature Geosci.) CH4 + FixedCl = LCH4byCl : 9.60d-12*EXP(-1360.0d0/TEMP)*TROP; // // Rate k_Trop(1) [1/s] is set to HEMCO-supplied P(CO) from CH4 DummyCH4trop = CO + PCOfromCH4 : k_Trop(1); // // Rate k_trop(2) [1/s] is the output of rate law function GC_OHCO CO + FixedOH = LCObyOH : k_Trop(2); // // DummyNMVOC is a placeholder species set to 1 molec/cm3. // This is a KPP "trick" in order to set the final CO concentration // to k_Trop(3) [molec/cm3/s] * dt [s], where dt is the chemistry // timestep. k_Trop(3) contains externally-supplied P(CO) from NMVOC. DummyNMVOC = CO + PCOfromNMVOC : k_Trop(3); // // %%%%%%%%%%%%%%%%%%%%%%%% // %%%%% STRAT CHEM %%%%% // %%%%%%%%%%%%%%%%%%%%%%%% // // Rate k_Strat(1) [1/s] is set to HEMCO-supplied loss of CH4 by OH CH4 = LCH4inStrat : k_Strat(1); // // DummyCH4 is a placeholder species set to 1 molec/cm3. // This is a KPP "trick" in order to set the final CO concentration // to k_Strat(2) [molec/cm3/s] * dt [s], where dt is the chemistry // timestep. k_Strat(2) contains externally-supplied strat P(CO). DummyCH4strat = CO : k_Strat(2); // // Rate k_Strat(3) [1/s] is set to HEMCO-supplied stratospheric loss of CO CO = LCOinStrat : k_Strat(3); ================================================ FILE: KPP/carbon/carbon.eqn.default ================================================ { carbon.eqn =============================================================================== DESCRIPTION =============================================================================== GEOS-Chem KPP file containing species and equations for the carbon chemistry mechanism =============================================================================== FILE HISTORY =============================================================================== v14.1.0 (release TBD) --------------------- (1) Initial version (MSL) } #include atoms.kpp { Periodic table information } #DEFVAR CH4 = IGNORE; { Active methane species } CO = IGNORE; { Active carbon monoxide species } CO2 = IGNORE; { Active carbon dioxide species } PCOfromCH4 = IGNORE; { Tracks P(CO) from CH4 for diagnostics } PCOfromNMVOC= IGNORE; { Tracks P(CO) from NMVOC for diagnostics } LCH4byOH = IGNORE; { Dummy spc to track loss of CH4 by OH } LCH4byCl = IGNORE; { Dummy spc to track loss of CH4 by Cl } LCH4inStrat = IGNORE; { Dummy spc to track loss of CH4 in strat } LCObyOH = IGNORE; { Dummy spc to track loss of CO by OH } LCOinStrat = IGNORE; { Dummy spc to track loss of CO in strat } #DEFFIX FixedOH = IGNORE; { Externally-supplied OH concentration } FixedCl = IGNORE; { Externally-supplied Cl concentration } DummyCH4trop = IGNORE; { Dummy placeholder for CH4 reactant } DummyCH4strat = IGNORE; { Dummy placeholder for CH4 reactant } DummyNMVOC = IGNORE; { Dummy placeholder for NMVOC reactant } #EQUATIONS // // %%%%%%%%%%%%%%%%%%%%%%%% // %%%%% TROP CHEM %%%%% // %%%%%%%%%%%%%%%%%%%%%%%% // // Rate [1/s] is from JPL 1997 CH4 + FixedOH = LCH4byOH : 2.45d-12*EXP(-1775.0d0/TEMP)*TROP; // // Rate [1/s] is from Kirschke et al, 2013 (Nature Geosci.) CH4 + FixedCl = LCH4byCl : 9.60d-12*EXP(-1360.0d0/TEMP)*TROP; // // Rate k_Trop(1) [1/s] is set to HEMCO-supplied P(CO) from CH4 DummyCH4trop = CO + PCOfromCH4 : k_Trop(1); // // Rate k_trop(2) [1/s] is the output of rate law function GC_OHCO CO + FixedOH = LCObyOH : k_Trop(2); // // DummyNMVOC is a placeholder species set to 1 molec/cm3. // This is a KPP "trick" in order to set the final CO concentration // to k_Trop(3) [molec/cm3/s] * dt [s], where dt is the chemistry // timestep. k_Trop(3) contains externally-supplied P(CO) from NMVOC. DummyNMVOC = CO + PCOfromNMVOC : k_Trop(3); // // %%%%%%%%%%%%%%%%%%%%%%%% // %%%%% STRAT CHEM %%%%% // %%%%%%%%%%%%%%%%%%%%%%%% // // Rate k_Strat(1) [1/s] is set to HEMCO-supplied loss of CH4 by OH CH4 = LCH4inStrat : k_Strat(1); // // DummyCH4 is a placeholder species set to 1 molec/cm3. // This is a KPP "trick" in order to set the final CO concentration // to k_Strat(2) [molec/cm3/s] * dt [s], where dt is the chemistry // timestep. k_Strat(2) contains externally-supplied strat P(CO). DummyCH4strat = CO : k_Strat(2); // // Rate k_Strat(3) [1/s] is set to HEMCO-supplied stratospheric loss of CO CO = LCOinStrat : k_Strat(3); ================================================ FILE: KPP/carbon/carbon.eqn.jacobian.5 ================================================ { carbon.eqn =============================================================================== DESCRIPTION =============================================================================== GEOS-Chem KPP file containing species and equations for the carbon chemistry mechanism with CH4 Jacobian tracers =============================================================================== FILE HISTORY =============================================================================== v14.1.0 (release TBD) --------------------- (1) Initial version (MSL) } #include atoms.kpp { Periodic table information } #DEFVAR CH4 = IGNORE; { Active methane species } CH4_jac0001 = IGNORE; { Active methane Jacobian tracer) } CH4_jac0002 = IGNORE; { Active methane Jacobian tracer) } CH4_jac0003 = IGNORE; { Active methane Jacobian tracer) } CH4_jac0004 = IGNORE; { Active methane Jacobian tracer) } CH4_jac0005 = IGNORE; { Active methane Jacobian tracer) } CO = IGNORE; { Active carbon monoxide species } CO2 = IGNORE; { Active carbon dioxide species } PCOfromCH4 = IGNORE; { Tracks P(CO) from CH4 for diagnostics } PCOfromNMVOC = IGNORE; { Tracks P(CO) from NMVOC for diagnostics } LCH4byOH = IGNORE; { Dummy spc to track loss of CH4 by OH } LCH4byOH_jac0001 = IGNORE; { Dummy spc to track loss of CH4_jac0001 by OH } LCH4byOH_jac0002 = IGNORE; { Dummy spc to track loss of CH4_jac0002 by OH } LCH4byOH_jac0003 = IGNORE; { Dummy spc to track loss of CH4_jac0003 by OH } LCH4byOH_jac0004 = IGNORE; { Dummy spc to track loss of CH4_jac0004 by OH } LCH4byOH_jac0005 = IGNORE; { Dummy spc to track loss of CH4_jac0005 by OH } LCH4byCl = IGNORE; { Dummy spc to track loss of CH4 by Cl } LCH4byCl_jac0001 = IGNORE; { Dummy spc to track loss of CH4_jac0001 by Cl } LCH4byCl_jac0002 = IGNORE; { Dummy spc to track loss of CH4_jac0002 by Cl } LCH4byCl_jac0003 = IGNORE; { Dummy spc to track loss of CH4_jac0003 by Cl } LCH4byCl_jac0004 = IGNORE; { Dummy spc to track loss of CH4_jac0004 by Cl } LCH4byCl_jac0005 = IGNORE; { Dummy spc to track loss of CH4_jac0005 by Cl } LCH4inStrat = IGNORE; { Dummy spc to track loss of CH4 in strat } LCH4inStrat_jac0001 = IGNORE; { Dummy spc to track loss of CH4_jac0001 in strat } LCH4inStrat_jac0002 = IGNORE; { Dummy spc to track loss of CH4_jac0002 in strat } LCH4inStrat_jac0003 = IGNORE; { Dummy spc to track loss of CH4_jac0003 in strat } LCH4inStrat_jac0004 = IGNORE; { Dummy spc to track loss of CH4_jac0004 in strat } LCH4inStrat_jac0005 = IGNORE; { Dummy spc to track loss of CH4_jac0005 in strat } LCObyOH = IGNORE; { Dummy spc to track loss of CO by OH } LCOinStrat = IGNORE; { Dummy spc to track loss of CO in strat } #DEFFIX FixedOH = IGNORE; { Externally-supplied OH concentration } FixedCl = IGNORE; { Externally-supplied Cl concentration } DummyCH4trop = IGNORE; { Dummy placeholder for CH4 reactant } DummyCH4strat = IGNORE; { Dummy placeholder for CH4 reactant } DummyNMVOC = IGNORE; { Dummy placeholder for NMVOC reactant } #EQUATIONS // // %%%%%%%%%%%%%%%%%%%%%%%% // %%%%% TROP CHEM %%%%% // %%%%%%%%%%%%%%%%%%%%%%%% // // Rate [1/s] is from JPL 1997 CH4 + FixedOH = LCH4byOH : 2.45d-12*EXP(-1775.0d0/TEMP)*TROP; CH4_jac0001 + FixedOH = LCH4byOH_jac0001 : 2.45d-12*EXP(-1775.0d0/TEMP)*TROP; CH4_jac0002 + FixedOH = LCH4byOH_jac0002 : 2.45d-12*EXP(-1775.0d0/TEMP)*TROP; CH4_jac0003 + FixedOH = LCH4byOH_jac0003 : 2.45d-12*EXP(-1775.0d0/TEMP)*TROP; CH4_jac0004 + FixedOH = LCH4byOH_jac0004 : 2.45d-12*EXP(-1775.0d0/TEMP)*TROP; CH4_jac0005 + FixedOH = LCH4byOH_jac0005 : 2.45d-12*EXP(-1775.0d0/TEMP)*TROP; // // Rate [1/s] is from Kirschke et al, 2013 (Nature Geosci.) CH4 + FixedCl = LCH4byCl : 9.60d-12*EXP(-1360.0d0/TEMP)*TROP; CH4_jac0001 + FixedCl = LCH4byCl_jac0001 : 9.60d-12*EXP(-1360.0d0/TEMP)*TROP; CH4_jac0002 + FixedCl = LCH4byCl_jac0002 : 9.60d-12*EXP(-1360.0d0/TEMP)*TROP; CH4_jac0003 + FixedCl = LCH4byCl_jac0003 : 9.60d-12*EXP(-1360.0d0/TEMP)*TROP; CH4_jac0004 + FixedCl = LCH4byCl_jac0004 : 9.60d-12*EXP(-1360.0d0/TEMP)*TROP; CH4_jac0005 + FixedCl = LCH4byCl_jac0005 : 9.60d-12*EXP(-1360.0d0/TEMP)*TROP; // // Rate k_Trop(1) [1/s] is set to HEMCO-supplied P(CO) from CH4 DummyCH4trop = CO + PCOfromCH4 : k_Trop(1); // // Rate k_trop(2) [1/s] is the output of rate law function GC_OHCO CO + FixedOH = LCObyOH : k_Trop(2); // // DummyNMVOC is a placeholder species set to 1 molec/cm3. // This is a KPP "trick" in order to set the final CO concentration // to k_Trop(3) [molec/cm3/s] * dt [s], where dt is the chemistry // timestep. k_Trop(3) contains externally-supplied P(CO) from NMVOC. DummyNMVOC = CO + PCOfromNMVOC : k_Trop(3); // // %%%%%%%%%%%%%%%%%%%%%%%% // %%%%% STRAT CHEM %%%%% // %%%%%%%%%%%%%%%%%%%%%%%% // // Rate k_Strat(1) [1/s] is set to HEMCO-supplied loss of CH4 by OH CH4 = LCH4inStrat : k_Strat(1); CH4_jac0001 = LCH4inStrat_jac0001 : k_Strat(1); CH4_jac0002 = LCH4inStrat_jac0002 : k_Strat(1); CH4_jac0003 = LCH4inStrat_jac0003 : k_Strat(1); CH4_jac0004 = LCH4inStrat_jac0004 : k_Strat(1); CH4_jac0005 = LCH4inStrat_jac0005 : k_Strat(1); // // DummyCH4 is a placeholder species set to 1 molec/cm3. // This is a KPP "trick" in order to set the final CO concentration // to k_Strat(2) [molec/cm3/s] * dt [s], where dt is the chemistry // timestep. k_Strat(2) contains externally-supplied strat P(CO). DummyCH4strat = CO : k_Strat(2); // // Rate k_Strat(3) [1/s] is set to HEMCO-supplied stratospheric loss of CO CO = LCOinStrat : k_Strat(3); ================================================ FILE: KPP/carbon/carbon.kpp ================================================ #MINVERSION 3.2.0 { Need this version of KPP or later } #INTEGRATOR feuler { Use Forward Euler integration method } #LANGUAGE Fortran90 { Generate solver code in Fortran90 ... } #UPPERCASEF90 on { ... with .F90 suffix (instead of .f90) } #DRIVER none { Do not create gckpp_Main.F90 } #HESSIAN off { Do not create the Hessian matrix } #MEX off { MEX is for Matlab, so skip it } #STOICMAT off { Do not create stoichiometric matrix } #INCLUDE carbon.eqn { Chemical reactions for carbon mechanism } #FAMILIES { Chemical families for prod/loss diagnostic } PCO : CO; LCO : CO; LCH4 : CH4; #INLINE F90_GLOBAL ! Inline common variables into gckpp_Global.F90 #include "commonIncludeVars.H" #ENDINLINE ================================================ FILE: KPP/carbon/carbon_Funcs.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: carbon_Funcs ! ! !DESCRIPTION: Module containing routines for passing data from GEOS-Chem ! to the carbon chemical mechanism solver code. !\\ !\\ ! !INTERFACE: ! MODULE carbon_Funcs ! ! !USES: ! USE gckpp_Precision USE gckpp_Parameters USE gckpp_Global USE Precision_Mod, ONLY : fp USE rateLawUtilFuncs IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: carbon_ConvertKgToMolecCm3 PUBLIC :: carbon_ComputeRateConstants PUBLIC :: carbon_ConvertMolecCm3ToKg PUBLIC :: carbon_InitCarbonKPPFuncs PUBLIC :: carbon_CleanupCarbonKPPFuncs PUBLIC :: carbon_Get_COfromCH4_Flux PUBLIC :: carbon_Get_COfromNMVOC_Flux PUBLIC :: GC_OHCO ! ! !PUBLIC TYPES: ! ! Species ID flags INTEGER :: id_CH4 INTEGER :: id_CO INTEGER :: id_CO2 #ifdef JACOBIAN ! Jacobian CH4 tracers INTEGER :: numJacobianTracers INTEGER, ALLOCATABLE :: JacobianIDs(:) #endif ! Kg species / molec species REAL(fp) :: xnumol_CH4 REAL(fp) :: xnumol_CO REAL(fp) :: xnumol_CO2 CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: carbon_ConvertKgToMolecCm3 ! ! !DESCRIPTION: Converts species from kg to molec/cm3 and stores into ! the "C" concentration array used by the KPP-generated solver code. !\\ !\\ ! !INTERFACE: ! SUBROUTINE carbon_ConvertKgToMolecCm3( I, J, L, State_Chm, State_Met ) ! ! !USES: ! USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I, J, L ! Grid box indices TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(MetState), INTENT(IN) :: State_Met ! Meterorology State object !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N REAL(fp) :: airvol_cm3 ! Pointers TYPE(SpcConc), POINTER :: Spc(:) !======================================================================== ! carbon_ConvertKgToMolecCm3 begins here! !======================================================================== ! Point to species array Spc => State_Chm%Species ! Grid box volume [cm3] airvol_cm3 = State_Met%AIRVOL(I,J,L) * 1.0e+6_fp ! Convert species kg to molec/cm3 and store in the C array ! (skip if species are not present) IF ( id_CH4 > 0 ) THEN C(ind_CH4) = Spc(id_CH4)%Conc(I,J,L) * xnumol_CH4 / airvol_cm3 ENDIF IF ( id_CO > 0 ) THEN C(ind_CO) = Spc(id_CO)%Conc(I,J,L) * xnumol_CO / airvol_cm3 ENDIF ! Comment out for now - CO2 chemistry is done explicitly in ! carbon_gases_mod.F90 !IF ( id_CO2 > 0 ) THEN ! C(ind_CO2) = Spc(id_CO2)%Conc(I,J,L) * xnumol_CO2 / airvol_cm3 !ENDIF #ifdef JACOBIAN ! Do the same for Jacobian CH4 tracers, if any IF ( numJacobianTracers > 0 ) THEN DO N = 1, numJacobianTracers C(JacobianIDs(N)) = Spc(JacobianIDs(N))%Conc(I,J,L) * xnumol_CH4 / airvol_cm3 ENDDO ENDIF #endif ! Initialize placeholder species to 1 molec/cm3 C(ind_DummyCH4trop) = 1.0_dp C(ind_DummyCH4strat) = 1.0_dp C(ind_DummyNMVOC) = 1.0_dp ! Initialize fixed species to 1 molec/cm3 ! These will later be set to values read via HEMCO C(ind_FixedCl) = 1.0_dp C(ind_FixedOH) = 1.0_dp ! Free pointer Spc => NULL() END SUBROUTINE carbon_ConvertKgToMolecCm3 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: carbon_ComputeRateConstants ! ! !DESCRIPTION: Computes the rate constants used in the carbon chemical ! mechanism. !\\ !\\ ! !INTERFACE: ! SUBROUTINE carbon_ComputeRateConstants( & I, J, L, & ConcClMnd, ConcOHMnd, LCH4_in_Strat, & LCO_in_Strat, OHdiurnalFac, PCO_fr_CH4_use, & PCO_fr_CH4, PCO_fr_NMVOC_use, PCO_fr_NMVOC, & PCO_in_Strat, dtChem, State_Chm, & State_Met ) ! ! !USES: ! USE PhysConstants, ONLY : AVO, AIRMW USE State_Chm_Mod, ONLY : ChmState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I, J, L REAL(fp), INTENT(IN) :: ConcClMnd ! Cl conc [molec/cm3] REAL(fp), INTENT(IN) :: ConcOHmnd ! OH conc [molec/cm3] REAL(fp), INTENT(IN) :: LCH4_in_Strat ! Strat L(CH4) [1/s] REAL(fp), INTENT(IN) :: LCO_in_Strat ! Strat L(CO) [molec/cm3/s] REAL(fp), INTENT(IN) :: OHdiurnalFac ! OH diurnal scale factor [1] LOGICAL, INTENT(IN) :: PCO_fr_CH4_use ! Use P(CO) fr CH4? [T/F] REAL(fp), INTENT(IN) :: PCO_fr_CH4 ! P(CO) fr CH4 [molec/cm3/s] LOGICAL, INTENT(IN) :: PCO_fr_NMVOC_use! Use P(CO) from NMVOC [T/F] REAL(fp), INTENT(IN) :: PCO_fr_NMVOC ! P(CO) fr NMVOC [molec/cm3/s] REAL(fp), INTENT(IN) :: PCO_in_Strat ! Strat P(CO) [molec/cm3/s] REAL(fp), INTENT(IN) :: dtChem ! Chemistry timestep [s] TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! !======================================================================== ! carbon_ComputeRateConstants begins here! !======================================================================== ! Initialize k_Strat = 0.0_dp k_Trop = 0.0_dp trop = 0.0_dp IF ( State_Met%InTroposphere(I,J,L) ) THEN !===================================================================== ! Grid box (I,J.L) is in the troposphere !===================================================================== ! Set toggle that we are in the troposphere ! (used for CH4 + FixedCl = Dummy reaction) trop = 1.0_dp !%%% TAGGED SPECIES HANDLING -- comment out for now !%%% State_Chm%SpcData(16)%Info%MW_g * 1.0e-3_fp ! kg/mol ! OH and Cl concentrations [molec/cm3] C(ind_FixedOH) = ConcOHmnd C(ind_FixedCl) = ConcClMnd !--------------------------------------------------------------------- ! k_Trop(1): Rate [1/s] for rxn for DummyCH4trop -> CO + PCOfromCH4 !--------------------------------------------------------------------- IF ( PCO_fr_CH4_use ) THEN k_Trop(1) = PCO_fr_CH4 * OHdiurnalFac ENDIF !--------------------------------------------------------------------- ! k_Trop(2): Rate [1/s] for CO + FixedOH = LCObyOH !--------------------------------------------------------------------- k_Trop(2) = GC_OHCO() !--------------------------------------------------------------------- ! k_Trop(3): Rate [molec/cm3/s] for FixedNMVOC = CO + PCOfromNMVOC !--------------------------------------------------------------------- IF ( PCO_fr_NMVOC_use ) THEN k_Trop(3) = PCO_fr_NMVOC * OHdiurnalFac ENDIF ELSE !===================================================================== ! Grid box (I,J.L) is in the stratosphere !===================================================================== !--------------------------------------------------------------------- ! k_Strat(1): Loss rate [1/s] for CH4 -> LCH4inStrat ! k_Strat(3): Loss rate [1/s] for CO -> LCOinStrat !--------------------------------------------------------------------- k_Strat(1) = LCH4_in_Strat k_Strat(3) = LCO_in_Strat !--------------------------------------------------------------------- ! k_Strat(2): Loss rate [molec/cm3/s] for DummyCH4strat -> CO ! ! NOTE: This reaction rate is in molec/cm3/s instead of 1/s because ! of the way the reaction is written. DummyCH4strat is a "dummy" ! species that is set to 1, so the result of the integration (using ! the forward Euler scheme) is ! ! CO = k_Strat(2) * dummyCH4strat * DT ! = molec/cm3/s * 1 * s ! = molec/cm3 ! ! NOTE: PCO_in_Strat is in [v/v/s]; convert to [molec/cm3] below !--------------------------------------------------------------------- k_Strat(2) = PCO_in_Strat & * AVO & / ( AIRMW * 1.0e-3_dp ) & * State_Met%AirDen(I,J,L) & * 1.0e-6_dp ENDIF END SUBROUTINE carbon_ComputeRateConstants !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: carbon_ConvertMolecCm3ToKg ! ! !DESCRIPTION: Converts species concentrations (after chemistry) from kg to ! molec/cm3 and stores into the State_Chm%Species concentration array. !\\ ! !INTERFACE: ! SUBROUTINE carbon_ConvertMolecCm3ToKg( I, J, L, State_Chm, State_Met ) ! ! !USES: ! USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I, J, L ! Grid box indices TYPE(MetState), INTENT(IN) :: State_Met ! Meterorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N REAL(fp) :: airvol_cm3, convfac_CO ! Pointers TYPE(SpcConc), POINTER :: Spc(:) !======================================================================== ! carbon__ConvertMolecCm3ToKg begins here! !======================================================================== ! Point to species array Spc => State_Chm%Species ! Grid box volume [cm3] airvol_cm3 = State_Met%AIRVOL(I,J,L) * 1.0e+6_fp ! Send species from molec/cm3 to kg IF ( id_CH4 > 0 ) THEN Spc(id_CH4)%Conc(I,J,L) = C(ind_CH4) * airvol_cm3 / xnumol_CH4 ENDIF IF ( id_CO > 0 ) THEN convfac_CO = airvol_cm3 / xnumol_CO Spc(id_CO)%Conc(I,J,L) = C(ind_CO) * convfac_CO ENDIF ! Comment out for now - CO2 chemistry is done explicitly in ! carbon_gases_mod.F90 !IF ( id_CO2 > 0 ) THEN ! Spc(id_CO2)%Conc(I,J,L) = C(ind_CO2) * airvol_cm3 / xnumol_CO2 !ENDIF #ifdef JACOBIAN ! Do the same for Jacobian CH4 tracers, if any IF ( numJacobianTracers > 0 ) THEN DO N = 1, numJacobianTracers Spc(JacobianIDs(N))%Conc(I,J,L) = C(JacobianIDs(N)) * airvol_cm3 / xnumol_CH4 ENDDO ENDIF #endif ! Free pointer Spc => NULL() END SUBROUTINE carbon_ConvertMolecCm3ToKg !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: carbon_get_co_ch4_flux ! ! !DESCRIPTION: Returns the flux of CO_CH4 in molec/cm3/s for diagnostics. !\\ !\\ ! !INTERFACE: ! FUNCTION carbon_Get_COfromCH4_Flux( dtChem ) RESULT ( flux ) ! ! !INPUT PARAMETERS: ! REAL(dp), INTENT(IN) :: dtChem ! Chemistry timestep [s] ! ! !RETURN VALUE: ! REAL(dp) :: flux ! CO_CH4 flux [molec/cm3/s] !EOP !------------------------------------------------------------------------------ !BOC flux = C(ind_PCOfromCH4) / dtChem ! molec/cm3 --> molec/cm3/s END FUNCTION carbon_Get_COfromCH4_Flux !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: carbon_get_cofromnmvoc_flux ! ! !DESCRIPTION: Returns the flux of CO_NMVOC in molec/cm3/s for diagnostics. !\\ !\\ ! !INTERFACE: ! FUNCTION carbon_Get_COfromNMVOC_Flux( dtChem ) RESULT ( flux ) ! ! !INPUT PARAMETERS: ! REAL(dp), INTENT(IN) :: dtChem ! Chemistry timestep [s] ! ! !RETURN VALUE: ! REAL(dp) :: flux ! CO_NMVOC flux [molec/cm3/s] !EOP !------------------------------------------------------------------------------ !BOC flux = C(ind_PCOfromNMVOC) / dtChem ! molec/cm3 --> molec/cm3/s END FUNCTION carbon_Get_COfromNMVOC_Flux !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: GC_OHCO ! ! !DESCRIPTION: Returns the rate of tropospheric loss of CO due to chemical reaction with OH !\\ !\\ ! !INTERFACE: ! FUNCTION GC_OHCO() RESULT( k ) ! ! !REMARKS: ! Tropospheric loss of CO due to chemical rxn w/ OH ! ! DECAY RATE ! The decay rate (KRATE) is calculated by: ! ! OH + CO -> products (JPL 15-10) ! k = (1 + 0.6Patm) * 1.5E-13 ! ! KRATE has units of [ molec^2 CO / cm6 / s ]^-1, ! since this is a 2-body reaction. ! ! From JPL 2006: "The reaction between HO and CO to yield ! H + CO2 akes place on a potential energy surface that ! contains the radical HOCO. The yield of H and CO2 is ! diminished as the pressure rises. The loss of reactants ! is thus the sum of two processes, an association to yield ! HOCO and the chemical activation process yielding H and ! CO2." So we now need two complicated reactions. ! ! GY( A0 = 5.9e-33, B0 = 1., A1 = 1.1e-12, B1 = -1.3e0, ! A2 = 1.5e-13, B2 = 0., A3 = 2.1e09, B3 = -6.1e0 ) ! !EOP !------------------------------------------------------------------------------ !BOC REAL(dp) :: klo1, klo2, khi1, khi2 REAL(dp) :: xyrat1, xyrat2, blog1, blog2, fexp1 REAL(dp) :: fexp2, kco1, kco2, TEMP300, k ! klo1 = 5.9E-33_dp * K300_OVER_TEMP khi1 = 1.1E-12_dp * K300_OVER_TEMP**(-1.3_dp) xyrat1 = klo1 * NUMDEN / khi1 blog1 = LOG10( xyrat1 ) fexp1 = 1.0_dp / ( 1.0_dp + blog1*blog1 ) kco1 = klo1 * NUMDEN * 0.6_dp**fexp1 / ( 1.0_dp + xyrat1 ) klo2 = 1.5E-13_dp khi2 = 2.1E+09_dp * K300_OVER_TEMP**(-6.1_dp) xyrat2 = klo2 * NUMDEN / khi2 blog2 = LOG10( xyrat2 ) fexp2 = 1.0_dp / ( 1.0_dp + blog2*blog2 ) kco2 = klo2 * 0.6_dp**fexp2 / ( 1.0_dp + xyrat2 ) k = kco1 + kco2 END FUNCTION GC_OHCO !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: carbon_InitCarbonKPPFuncs ! ! !DESCRIPTION: Stores species indices and kg/molecule in module variables ! for fast lookup. !\\ !\\ ! !INTERFACE: ! SUBROUTINE carbon_InitCarbonKPPFuncs( kgmolec_CH4, kgmolec_CO, kgmolec_CO2, RC ) ! ! !USES: ! USE ErrCode_Mod USE State_Chm_Mod, ONLY : Ind_ ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: kgmolec_CH4 ! kg CH4 / molec CH4 REAL(fp), INTENT(IN) :: kgmolec_CO ! kg CO / molec CO REAL(fp), INTENT(IN) :: kgmolec_CO2 ! kg CO2 / molec CO2 ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc, spcName CHARACTER(LEN=4) :: N_char !================================================================= ! carbon_InitCarbonKPPFuncs begins here! !================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = & ' -> at carbon_InitCarbonKPPFuncs (in KPP/carbon/carbon_InitCarbonKPPFuncs.F90' #ifdef JACOBIAN ! Get number of Jacobian tracers, if any numJacobianTracers = 0 DO N = 1, 999 ! Set max to very high number < 1000 write( N_char, '(I4.4)' ) N spcName = 'CH4_jac' // TRIM(N_char) IF ( Ind_(TRIM(spcName)) > 0 ) THEN numJacobianTracers = N ELSE EXIT ENDIF ENDDO ! Allocate Jacobian tracer mapping array and assign ids IF ( numJacobianTracers > 0 ) THEN ALLOCATE( JacobianIDs(numJacobianTracers), STAT=RC ) IF ( RC /= GC_SUCCESS ) THEN errMsg = 'Error allocating Jacobian tracer ID mapping array!' CALL GC_Error( errMsg, RC, thisLoc ) ENDIF DO N = 1, numJacobianTracers write( N_char, '(I4.4)' ) N spcName = 'CH4_jac' // TRIM(N_char) JacobianIDs(N) = Ind_(TRIM(spcName)) ENDDO ENDIF #endif ! Define flags for species ID's id_CH4 = Ind_('CH4') id_CO = Ind_('CO' ) id_CO2 = Ind_('CO2') ! Set kg species / molec species xnumol_CH4 = kgmolec_CH4 xnumol_CO = kgmolec_CO xnumol_CO2 = kgmolec_CO2 END SUBROUTINE carbon_InitCarbonKPPFuncs !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: carbon_CleanupCarbonKPPFuncs ! ! !DESCRIPTION: Deallocates module arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE carbon_CleanupCarbonKPPFuncs( RC ) ! ! !USES: ! USE ErrCode_Mod ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC !================================================================= ! carbon_CleanupCarbonKPPFuncs begins here! !================================================================= ! Initialize RC = GC_SUCCESS #ifdef JACOBIAN IF ( ALLOCATED( JacobianIDs ) ) THEN DEALLOCATE( JacobianIDs, STAT=RC ) CALL GC_CheckVar( 'carbon_Funcs.F90:JacobianIDs', 1, RC ) ENDIF #endif END SUBROUTINE carbon_CleanupCarbonKPPFuncs !EOC END MODULE carbon_Funcs ================================================ FILE: KPP/carbon/gckpp_Function.F90 ================================================ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! The ODE Function of Chemical Model File ! ! Generated by KPP-3.2.0 symbolic chemistry Kinetics PreProcessor ! (https:/github.com/KineticPreProcessor/KPP ! KPP is distributed under GPL, the general public licence ! (http://www.gnu.org/copyleft/gpl.html) ! (C) 1995-1997, V. Damian & A. Sandu, CGRER, Univ. Iowa ! (C) 1997-2022, A. Sandu, Michigan Tech, Virginia Tech ! With important contributions from: ! M. Damian, Villanova University, Philadelphia, PA, USA ! R. Sander, Max-Planck Institute for Chemistry, Mainz, Germany ! M. Long, Renaissance Fiber, LLC, North Carolina, USA ! H. Lin, Harvard University, Cambridge, MA, USA ! R. Yantosca, Harvard University, Cambridge, MA, USA ! ! File : gckpp_Function.F90 ! Equation file : gckpp.kpp ! Output root filename : gckpp ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MODULE gckpp_Function USE gckpp_Parameters IMPLICIT NONE ! A - Rate for each equation REAL(kind=dp) :: A(NREACT) !$OMP THREADPRIVATE( A ) CONTAINS ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Fun - time derivatives of variables - Aggregate form ! Arguments : ! V - Concentrations of variable species (local) ! F - Concentrations of fixed species (local) ! RCT - Rate constants (local) ! Vdot - Time derivative of variable species concentrations ! Aout - Optional argument to return equation rate constants ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Fun ( V, F, RCT, Vdot, Aout ) ! V - Concentrations of variable species (local) REAL(kind=dp) :: V(NVAR) ! F - Concentrations of fixed species (local) REAL(kind=dp) :: F(NFIX) ! RCT - Rate constants (local) REAL(kind=dp) :: RCT(NREACT) ! Vdot - Time derivative of variable species concentrations REAL(kind=dp) :: Vdot(NVAR) ! Aout - Optional argument to return equation rate constants REAL(kind=dp), OPTIONAL :: Aout(NREACT) ! Computation of equation rates A(1) = RCT(1)*V(1)*F(1) A(2) = RCT(2)*V(1)*F(2) A(3) = RCT(3)*F(3) A(4) = RCT(4)*V(2)*F(1) A(5) = RCT(5)*F(5) A(6) = RCT(6)*V(1) A(7) = RCT(7)*F(4) A(8) = RCT(8)*V(2) !### Use Aout to return equation rates IF ( PRESENT( Aout ) ) Aout = A ! Aggregate function Vdot(1) = -A(1)-A(2)-A(6) Vdot(2) = A(3)-A(4)+A(5)+A(7)-A(8) Vdot(3) = A(3) Vdot(4) = A(5) Vdot(5) = A(1) Vdot(6) = A(2) Vdot(7) = A(6) Vdot(8) = A(4) Vdot(9) = A(8) Vdot(10) = A(3)+A(5)+A(7) Vdot(11) = A(4)+A(8) Vdot(12) = A(1)+A(2)+A(6) END SUBROUTINE Fun ! End of Fun function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Fun_SPLIT - time derivatives of variables - Split form ! Arguments : ! V - Concentrations of variable species (local) ! F - Concentrations of fixed species (local) ! RCT - Rate constants (local) ! Vdot - Time derivative of variable species concentrations ! P_VAR - Production term ! D_VAR - Destruction term ! Aout - Optional argument to return equation rate constants ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Fun_SPLIT ( V, F, RCT, Vdot, P_VAR, D_VAR, Aout ) ! V - Concentrations of variable species (local) REAL(kind=dp) :: V(NVAR) ! F - Concentrations of fixed species (local) REAL(kind=dp) :: F(NFIX) ! RCT - Rate constants (local) REAL(kind=dp) :: RCT(NREACT) ! Vdot - Time derivative of variable species concentrations REAL(kind=dp) :: Vdot(NVAR) ! P_VAR - Production term REAL(kind=dp) :: P_VAR(NVAR) ! D_VAR - Destruction term REAL(kind=dp) :: D_VAR(NVAR) ! Aout - Optional argument to return equation rate constants REAL(kind=dp), OPTIONAL :: Aout(NREACT) ! Computation of equation rates A(1) = RCT(1)*V(1)*F(1) A(2) = RCT(2)*V(1)*F(2) A(3) = RCT(3)*F(3) A(4) = RCT(4)*V(2)*F(1) A(5) = RCT(5)*F(5) A(6) = RCT(6)*V(1) A(7) = RCT(7)*F(4) A(8) = RCT(8)*V(2) !### Use Aout to return equation rates IF ( PRESENT( Aout ) ) Aout = A ! Production function P_VAR(1) = 0 P_VAR(2) = A(3)+A(5)+A(7) P_VAR(3) = A(3) P_VAR(4) = A(5) P_VAR(5) = A(1) P_VAR(6) = A(2) P_VAR(7) = A(6) P_VAR(8) = A(4) P_VAR(9) = A(8) P_VAR(10) = A(3)+A(5)+A(7) P_VAR(11) = A(4)+A(8) P_VAR(12) = A(1)+A(2)+A(6) ! Destruction function D_VAR(1) = RCT(1)*F(1)+RCT(2)*F(2)+RCT(6) D_VAR(2) = RCT(4)*F(1)+RCT(8) D_VAR(3) = 0 D_VAR(4) = 0 D_VAR(5) = 0 D_VAR(6) = 0 D_VAR(7) = 0 D_VAR(8) = 0 D_VAR(9) = 0 D_VAR(10) = 0 D_VAR(11) = 0 D_VAR(12) = 0 Vdot = P_VAR - D_VAR*V END SUBROUTINE Fun_SPLIT ! End of Fun_SPLIT function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! CalcStoichNum - calculate stoichiometric numbers ! Arguments : ! StoichNum - Stoichiometric numbers ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE CalcStoichNum ( StoichNum ) ! StoichNum - Stoichiometric numbers REAL(kind=dp) :: StoichNum(NVAR,NREACT) StoichNum(:,:) = 0. StoichNum(1,1) = -1 StoichNum(1,2) = -1 StoichNum(1,6) = -1 StoichNum(2,3) = 1 StoichNum(2,4) = -1 StoichNum(2,5) = 1 StoichNum(2,7) = 1 StoichNum(2,8) = -1 StoichNum(3,3) = 1 StoichNum(4,5) = 1 StoichNum(5,1) = 1 StoichNum(6,2) = 1 StoichNum(7,6) = 1 StoichNum(8,4) = 1 StoichNum(9,8) = 1 StoichNum(10,3) = 1 StoichNum(10,5) = 1 StoichNum(10,7) = 1 StoichNum(11,4) = 1 StoichNum(11,8) = 1 StoichNum(12,1) = 1 StoichNum(12,2) = 1 StoichNum(12,6) = 1 END SUBROUTINE CalcStoichNum ! End of CalcStoichNum function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ END MODULE gckpp_Function ================================================ FILE: KPP/carbon/gckpp_Global.F90 ================================================ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Global Data Module File ! ! Generated by KPP-3.2.0 symbolic chemistry Kinetics PreProcessor ! (https:/github.com/KineticPreProcessor/KPP ! KPP is distributed under GPL, the general public licence ! (http://www.gnu.org/copyleft/gpl.html) ! (C) 1995-1997, V. Damian & A. Sandu, CGRER, Univ. Iowa ! (C) 1997-2022, A. Sandu, Michigan Tech, Virginia Tech ! With important contributions from: ! M. Damian, Villanova University, Philadelphia, PA, USA ! R. Sander, Max-Planck Institute for Chemistry, Mainz, Germany ! M. Long, Renaissance Fiber, LLC, North Carolina, USA ! H. Lin, Harvard University, Cambridge, MA, USA ! R. Yantosca, Harvard University, Cambridge, MA, USA ! ! File : gckpp_Global.F90 ! Equation file : gckpp.kpp ! Output root filename : gckpp ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MODULE gckpp_Global USE gckpp_Parameters, ONLY: dp, NSPEC, NVAR, NFIX, NREACT, LU_NONZERO PUBLIC SAVE ! Declaration of global variables ! ~~~ If you are using KPP within an OpenMP parallel environment, ! ~~~ then these variables must be declared THREADPRIVATE. This means ! ~~~ that the compiler will make a private copy of these variables ! ~~~ (in stack memory) for each execution thread. At the end of ! ~~~ the OpenMP parallel loop, these variables will be finalized, ! ~~~ and their memory deallocated. ! ~~~ ! ~~~ NOTE: Because the OpenMP commands all begin with a comment ! ~~~ character, they will be ignored unless the code is compiled ! ~~~ with OpenMP parallelization turned on. ! C - Concentration of all species REAL(kind=dp), TARGET :: C(NSPEC) !$OMP THREADPRIVATE( C ) ! VAR - Concentrations of variable species (global) REAL(kind=dp), POINTER :: VAR(:) !$OMP THREADPRIVATE( VAR ) ! FIX - Concentrations of fixed species (global) REAL(kind=dp), POINTER :: FIX(:) !$OMP THREADPRIVATE( FIX ) ! RCONST - Rate constants (global) REAL(kind=dp) :: RCONST(NREACT) !$OMP THREADPRIVATE( RCONST ) ! TIME - Current integration time REAL(kind=dp) :: TIME !$OMP THREADPRIVATE( TIME ) ! SUN - Sunlight intensity between [0,1] REAL(kind=dp) :: SUN !$OMP THREADPRIVATE( SUN ) ! TEMP - Temperature REAL(kind=dp) :: TEMP !$OMP THREADPRIVATE( TEMP ) ! ~~~ If you are using KPP within an OpenMP parallel environment, ! ~~~ these variables DO NOT need to be declared THREADPRIVATE. ! TSTART - Integration start time REAL(kind=dp) :: TSTART ! TEND - Integration end time REAL(kind=dp) :: TEND ! DT - Integration step REAL(kind=dp) :: DT ! ATOL - Absolute tolerance REAL(kind=dp) :: ATOL(NVAR) ! RTOL - Relative tolerance REAL(kind=dp) :: RTOL(NVAR) ! STEPMIN - Lower bound for integration step REAL(kind=dp) :: STEPMIN ! STEPMAX - Upper bound for integration step REAL(kind=dp) :: STEPMAX ! CFACTOR - Conversion factor for concentration units REAL(kind=dp) :: CFACTOR ! Begin inlined code from F90_GLOBAL ! Inline common variables into gckpp_Global.F90 #include "commonIncludeVars.H" ! End inlined code from F90_GLOBAL END MODULE gckpp_Global ================================================ FILE: KPP/carbon/gckpp_Initialize.F90 ================================================ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Initialization File ! ! Generated by KPP-3.2.0 symbolic chemistry Kinetics PreProcessor ! (https:/github.com/KineticPreProcessor/KPP ! KPP is distributed under GPL, the general public licence ! (http://www.gnu.org/copyleft/gpl.html) ! (C) 1995-1997, V. Damian & A. Sandu, CGRER, Univ. Iowa ! (C) 1997-2022, A. Sandu, Michigan Tech, Virginia Tech ! With important contributions from: ! M. Damian, Villanova University, Philadelphia, PA, USA ! R. Sander, Max-Planck Institute for Chemistry, Mainz, Germany ! M. Long, Renaissance Fiber, LLC, North Carolina, USA ! H. Lin, Harvard University, Cambridge, MA, USA ! R. Yantosca, Harvard University, Cambridge, MA, USA ! ! File : gckpp_Initialize.F90 ! Equation file : gckpp.kpp ! Output root filename : gckpp ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MODULE gckpp_Initialize USE gckpp_Parameters, ONLY: dp, NVAR, NFIX IMPLICIT NONE CONTAINS ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Initialize - function to initialize concentrations ! Arguments : ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Initialize ( ) USE gckpp_Global USE gckpp_Parameters INTEGER :: i REAL(kind=dp) :: x ! ~~~ Define scale factor for units CFACTOR = 1.000000e+00_dp ! ~~~ Zero C array C = 0.0_dp ! ~~~ Set initial species concentrations ! Begin constant rate coefficients ! End constant rate coefficients ! Begin inlined code from F90_INIT ! End inlined code from F90_INIT END SUBROUTINE Initialize ! End of Initialize function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ END MODULE gckpp_Initialize ================================================ FILE: KPP/carbon/gckpp_Integrator.F90 ================================================ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Numerical Integrator (Time-Stepping) File ! ! Generated by KPP-3.2.0 symbolic chemistry Kinetics PreProcessor ! (https:/github.com/KineticPreProcessor/KPP ! KPP is distributed under GPL, the general public licence ! (http://www.gnu.org/copyleft/gpl.html) ! (C) 1995-1997, V. Damian & A. Sandu, CGRER, Univ. Iowa ! (C) 1997-2022, A. Sandu, Michigan Tech, Virginia Tech ! With important contributions from: ! M. Damian, Villanova University, Philadelphia, PA, USA ! R. Sander, Max-Planck Institute for Chemistry, Mainz, Germany ! M. Long, Renaissance Fiber, LLC, North Carolina, USA ! H. Lin, Harvard University, Cambridge, MA, USA ! R. Yantosca, Harvard University, Cambridge, MA, USA ! ! File : gckpp_Integrator.F90 ! Equation file : gckpp.kpp ! Output root filename : gckpp ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! INTEGRATE - Integrator routine ! Arguments : ! TIN - Start Time for Integration ! TOUT - End Time for Integration ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~! ! Forward Euler method for non-stiff ODEs ! ! ! ! Version History: ! ! Apr. 30, 2022 - Initial Version - M.S.Long ! ! ! ! This implementation is part of KPP - the Kinetic PreProcessor ! !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~! MODULE gckpp_Integrator USE gckpp_Precision, ONLY: dp USE gckpp_Parameters, ONLY: NVAR, NFIX, NSPEC USE gckpp_Global USE gckpp_Monitor IMPLICIT NONE PUBLIC SAVE !~~~> Flags to determine if we should call the UPDATE_* routines from within !~~~> the integrator. If using KPP in an external model, you might want to !~~~> disable these calls (via ICNTRL(15)) to avoid excess computations. LOGICAL, PRIVATE :: Do_Update_RCONST LOGICAL, PRIVATE :: Do_Update_PHOTO LOGICAL, PRIVATE :: Do_Update_SUN !~~~> description of the error numbers IERR CHARACTER(LEN=50), PARAMETER, DIMENSION(1) :: IERR_NAMES = (/ & 'dummy value ' /) CONTAINS !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Integrate( TIN, TOUT, ICNTRL_U , RCNTRL_U, & ISTATUS_U, RSTATUS_U, IERR_U ) ! ICNTRL(16) ! 0 -> do nothing. ! 1 -> set negative values to zero ! 2 -> return with error code ! 3 -> stop at negative ! ! ICNTRL(17) = verbose error output !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! User interface routine to the KPP forward Euler integrator !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ USE gckpp_Util, ONLY : Integrator_Update_Options !~~~> Inputs REAL(kind=dp), INTENT(IN) :: TIN ! Start Time REAL(kind=dp), INTENT(IN) :: TOUT ! End Time INTEGER, INTENT(IN), OPTIONAL :: ICNTRL_U(20) ! Input options REAL(kind=dp), INTENT(IN), OPTIONAL :: RCNTRL_U(20) ! Input options !~~~> Outputs INTEGER, INTENT(IN), OPTIONAL :: ISTATUS_U(20) ! Returned status values REAL(kind=dp), INTENT(OUT), OPTIONAL :: RSTATUS_U(20) ! Returned status values INTEGER, INTENT(OUT), OPTIONAL :: IERR_U ! Error code ! Local variables INTEGER :: ICNTRL(20) REAL(kind=dp) :: RSTATUS(20) INTEGER :: IERR !~~~> Zero input and output arrays for safety's sake ICNTRL = 0 RSTATUS = 0.0_dp !~~~> fine-tune the integrator: ICNTRL(1 ) = 0 ! Verbose error output ICNTRL(2 ) = 0 ! Stop upon negative results ICNTRL(15) = 5 ! Call Update_SUN and Update_RCONST from w/in the int. !~~~> if optional parameters are given, and if they are /= 0, ! then use them to overwrite default settings IF ( PRESENT( ICNTRL_U ) ) THEN WHERE( ICNTRL_U /= 0 ) ICNTRL = ICNTRL_U ENDIF !~~~> Determine the settings of the Do_Update_* flags, which determine !~~~> whether or not we need to call Update_* routines in the integrator !~~~> (or not, if we are calling them from a higher-level) ! ICNTRL(15) = -1 ! Do not call Update_* functions within the integrator ! = 0 ! Status quo ! = 1 ! Call Update_RCONST from within the integrator ! = 2 ! Call Update_PHOTO from within the integrator ! = 3 ! Call Update_RCONST and Update_PHOTO from w/in the int. ! = 4 ! Call Update_SUN from within the integrator ! = 5 ! Call Update_SUN and Update_RCONST from within the int. ! = 6 ! Call Update_SUN and Update_PHOTO from within the int. ! = 7 ! Call Update_SUN, Update_PHOTO, Update_RCONST w/in int. CALL Integrator_Update_Options( ICNTRL(15), & Do_Update_RCONST, & Do_Update_PHOTO, & Do_Update_Sun ) !~~~> In order to remove the prior EQUIVALENCE statements (which !~~~> are not thread-safe), we now have declared VAR and FIX as !~~~> threadprivate pointer variables that can point to C. VAR => C(1:NVAR) FIX => C(NVAR+1:NSPEC) !~~~> Call the integrator CALL ForwardEuler( NVAR, C(1:NVAR), TIN, TOUT, ICNTRL, IERR ) !~~~> Free pointers VAR => NULL() FIX => NULL() !~~~> Return error status (NOTE: ISTATUS_U does nothing) IF ( PRESENT( IERR_U ) ) IERR_U = IERR IF ( PRESENT( RSTATUS_U ) ) RSTATUS_U = RSTATUS END SUBROUTINE Integrate !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE ForwardEuler( N, Y, Tstart, Tend, ICNTRL, IERR ) !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Forward Euler integrator !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! External functions USE gckpp_Rates, ONLY : Update_SUN, Update_RCONST ! Input: Arguments INTEGER, INTENT(IN) :: N ! Dimension for Y(N) REAL(kind=dp), INTENT(INOUT) :: Y(N) ! Initial condition REAL(kind=dp), INTENT(IN) :: Tstart ! Starting time REAL(kind=dp), INTENT(IN) :: Tend ! Ending time INTEGER, INTENT(IN) :: ICNTRL(20) ! KPP integrator options ! Output: INTEGER, INTENT(OUT) :: IERR ! Error status ! Local variables INTEGER :: i LOGICAL :: hasNegative REAL(kind=dp) :: Ynew(N), dYdt(N) ! Update rates before integration if desired IF ( Do_Update_SUN ) CALL Update_SUN() IF ( Do_Update_RCONST ) CALL Update_RCONST() ! Get P-kY CALL FunTemplate( Y, dYdt ) !~~~> Do the integration Ynew = Y + ( dYdt * ( Tend - Tstart ) ) ! Check for negatives IF (ICNTRL(16) .gt. 0) THEN ! Don't perform DO() loop if you don't care DO i=1,N IF (Ynew(i) .lt. 0._dp) THEN IF (ICNTRL(17) /= 0) THEN write(*,*) trim(SPC_NAMES(i)), " is negative: ", Ynew(i) ENDIF IERR = -9 IF (ICNTRL(16) == 1) THEN Ynew(i) = 0._dp ELSE IF (ICNTRL(16) == 2) THEN write(*,*) '(ICNTRL(16) = 2) Negative value. Returning.' RETURN ELSE IF (ICNTRL(16) == 3) THEN write(*,*) '(ICNTRL(16) = 3) Negative value. Stopping.' STOP ENDIF ENDIF ENDDO ENDIF ! Return updated concentrations Y = Ynew ! Succesful exit IERR = 1 END SUBROUTINE ForwardEuler !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE FunTemplate( Y, Ydot ) !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Template for the ODE function call. !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ USE gckpp_Parameters, ONLY : NVAR USE gckpp_Global, ONLY : FIX, RCONST USE gckpp_Function, ONLY : Fun !~~~> Input variables REAL(kind=dp) :: Y(NVAR) !~~~> Output variables REAL(kind=dp) :: Ydot(NVAR) !~~~> Compute equation rates and time derivative of variable species CALL Fun( Y, FIX, RCONST, Ydot ) END SUBROUTINE FunTemplate END MODULE gckpp_Integrator ! End of INTEGRATE function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ================================================ FILE: KPP/carbon/gckpp_Jacobian.F90 ================================================ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! The ODE Jacobian of Chemical Model File ! ! Generated by KPP-3.2.0 symbolic chemistry Kinetics PreProcessor ! (https:/github.com/KineticPreProcessor/KPP ! KPP is distributed under GPL, the general public licence ! (http://www.gnu.org/copyleft/gpl.html) ! (C) 1995-1997, V. Damian & A. Sandu, CGRER, Univ. Iowa ! (C) 1997-2022, A. Sandu, Michigan Tech, Virginia Tech ! With important contributions from: ! M. Damian, Villanova University, Philadelphia, PA, USA ! R. Sander, Max-Planck Institute for Chemistry, Mainz, Germany ! M. Long, Renaissance Fiber, LLC, North Carolina, USA ! H. Lin, Harvard University, Cambridge, MA, USA ! R. Yantosca, Harvard University, Cambridge, MA, USA ! ! File : gckpp_Jacobian.F90 ! Equation file : gckpp.kpp ! Output root filename : gckpp ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MODULE gckpp_Jacobian USE gckpp_Parameters IMPLICIT NONE CONTAINS END MODULE gckpp_Jacobian ================================================ FILE: KPP/carbon/gckpp_LinearAlgebra.F90 ================================================ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Linear Algebra Data and Routines File ! ! Generated by KPP-3.2.0 symbolic chemistry Kinetics PreProcessor ! (https:/github.com/KineticPreProcessor/KPP ! KPP is distributed under GPL, the general public licence ! (http://www.gnu.org/copyleft/gpl.html) ! (C) 1995-1997, V. Damian & A. Sandu, CGRER, Univ. Iowa ! (C) 1997-2022, A. Sandu, Michigan Tech, Virginia Tech ! With important contributions from: ! M. Damian, Villanova University, Philadelphia, PA, USA ! R. Sander, Max-Planck Institute for Chemistry, Mainz, Germany ! M. Long, Renaissance Fiber, LLC, North Carolina, USA ! H. Lin, Harvard University, Cambridge, MA, USA ! R. Yantosca, Harvard University, Cambridge, MA, USA ! ! File : gckpp_LinearAlgebra.F90 ! Equation file : gckpp.kpp ! Output root filename : gckpp ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MODULE gckpp_LinearAlgebra USE gckpp_Parameters IMPLICIT NONE CONTAINS ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! BLAS_UTIL - BLAS-LIKE utility functions ! Arguments : ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !-------------------------------------------------------------- ! ! BLAS/LAPACK-like subroutines used by the integration algorithms ! It is recommended to replace them by calls to the optimized ! BLAS/LAPACK library for your machine ! ! (C) Adrian Sandu, Aug. 2004 ! Virginia Polytechnic Institute and State University !-------------------------------------------------------------- !-------------------------------------------------------------- SUBROUTINE WCOPY(N,X,incX,Y,incY) !-------------------------------------------------------------- ! copies a vector, x, to a vector, y: y <- x ! only for incX=incY=1 ! after BLAS ! replace this by the function from the optimized BLAS implementation: ! CALL SCOPY(N,X,1,Y,1) or CALL DCOPY(N,X,1,Y,1) !-------------------------------------------------------------- ! USE gckpp_Precision INTEGER :: i,incX,incY,M,MP1,N REAL(kind=dp) :: X(N),Y(N) IF (N.LE.0) RETURN M = MOD(N,8) IF( M .NE. 0 ) THEN DO i = 1,M Y(i) = X(i) END DO IF( N .LT. 8 ) RETURN END IF MP1 = M+1 DO i = MP1,N,8 Y(i) = X(i) Y(i + 1) = X(i + 1) Y(i + 2) = X(i + 2) Y(i + 3) = X(i + 3) Y(i + 4) = X(i + 4) Y(i + 5) = X(i + 5) Y(i + 6) = X(i + 6) Y(i + 7) = X(i + 7) END DO END SUBROUTINE WCOPY !-------------------------------------------------------------- SUBROUTINE WAXPY(N,Alpha,X,incX,Y,incY) !-------------------------------------------------------------- ! constant times a vector plus a vector: y <- y + Alpha*x ! only for incX=incY=1 ! after BLAS ! replace this by the function from the optimized BLAS implementation: ! CALL SAXPY(N,Alpha,X,1,Y,1) or CALL DAXPY(N,Alpha,X,1,Y,1) !-------------------------------------------------------------- INTEGER :: i,incX,incY,M,MP1,N REAL(kind=dp) :: X(N),Y(N),Alpha REAL(kind=dp), PARAMETER :: ZERO = 0.0_dp IF (Alpha .EQ. ZERO) RETURN IF (N .LE. 0) RETURN M = MOD(N,4) IF( M .NE. 0 ) THEN DO i = 1,M Y(i) = Y(i) + Alpha*X(i) END DO IF( N .LT. 4 ) RETURN END IF MP1 = M + 1 DO i = MP1,N,4 Y(i) = Y(i) + Alpha*X(i) Y(i + 1) = Y(i + 1) + Alpha*X(i + 1) Y(i + 2) = Y(i + 2) + Alpha*X(i + 2) Y(i + 3) = Y(i + 3) + Alpha*X(i + 3) END DO END SUBROUTINE WAXPY !-------------------------------------------------------------- SUBROUTINE WSCAL(N,Alpha,X,incX) !-------------------------------------------------------------- ! constant times a vector: x(1:N) <- Alpha*x(1:N) ! only for incX=incY=1 ! after BLAS ! replace this by the function from the optimized BLAS implementation: ! CALL SSCAL(N,Alpha,X,1) or CALL DSCAL(N,Alpha,X,1) !-------------------------------------------------------------- INTEGER :: i,incX,M,MP1,N REAL(kind=dp) :: X(N),Alpha REAL(kind=dp), PARAMETER :: ZERO=0.0_dp, ONE=1.0_dp IF (Alpha .EQ. ONE) RETURN IF (N .LE. 0) RETURN M = MOD(N,5) IF( M .NE. 0 ) THEN IF (Alpha .EQ. (-ONE)) THEN DO i = 1,M X(i) = -X(i) END DO ELSEIF (Alpha .EQ. ZERO) THEN DO i = 1,M X(i) = ZERO END DO ELSE DO i = 1,M X(i) = Alpha*X(i) END DO END IF IF( N .LT. 5 ) RETURN END IF MP1 = M + 1 IF (Alpha .EQ. (-ONE)) THEN DO i = MP1,N,5 X(i) = -X(i) X(i + 1) = -X(i + 1) X(i + 2) = -X(i + 2) X(i + 3) = -X(i + 3) X(i + 4) = -X(i + 4) END DO ELSEIF (Alpha .EQ. ZERO) THEN DO i = MP1,N,5 X(i) = ZERO X(i + 1) = ZERO X(i + 2) = ZERO X(i + 3) = ZERO X(i + 4) = ZERO END DO ELSE DO i = MP1,N,5 X(i) = Alpha*X(i) X(i + 1) = Alpha*X(i + 1) X(i + 2) = Alpha*X(i + 2) X(i + 3) = Alpha*X(i + 3) X(i + 4) = Alpha*X(i + 4) END DO END IF END SUBROUTINE WSCAL !-------------------------------------------------------------- REAL(kind=dp) FUNCTION WLAMCH( C ) !-------------------------------------------------------------- ! returns epsilon machine ! after LAPACK ! replace this by the function from the optimized LAPACK implementation: ! CALL SLAMCH('E') or CALL DLAMCH('E') !-------------------------------------------------------------- ! USE gckpp_Precision CHARACTER :: C INTEGER :: i REAL(kind=dp), SAVE :: Eps REAL(kind=dp) :: Suma REAL(kind=dp), PARAMETER :: ONE=1.0_dp, HALF=0.5_dp LOGICAL, SAVE :: First=.TRUE. !$OMP THREADPRIVATE( Eps, First ) IF (First) THEN First = .FALSE. Eps = HALF**(16) DO i = 17, 80 Eps = Eps*HALF CALL WLAMCH_ADD(ONE,Eps,Suma) IF (Suma.LE.ONE) GOTO 10 END DO PRINT*,'ERROR IN WLAMCH. EPS < ',Eps RETURN 10 Eps = Eps*2 i = i-1 END IF WLAMCH = Eps END FUNCTION WLAMCH SUBROUTINE WLAMCH_ADD( A, B, Suma ) ! USE gckpp_Precision REAL(kind=dp) A, B, Suma Suma = A + B END SUBROUTINE WLAMCH_ADD !-------------------------------------------------------------- !-------------------------------------------------------------- SUBROUTINE SET2ZERO(N,Y) !-------------------------------------------------------------- ! copies zeros into the vector y: y <- 0 ! after BLAS !-------------------------------------------------------------- INTEGER :: i,M,MP1,N REAL(kind=dp) :: Y(N) REAL(kind=dp), PARAMETER :: ZERO = 0.0d0 IF (N.LE.0) RETURN M = MOD(N,8) IF( M .NE. 0 ) THEN DO i = 1,M Y(i) = ZERO END DO IF( N .LT. 8 ) RETURN END IF MP1 = M+1 DO i = MP1,N,8 Y(i) = ZERO Y(i + 1) = ZERO Y(i + 2) = ZERO Y(i + 3) = ZERO Y(i + 4) = ZERO Y(i + 5) = ZERO Y(i + 6) = ZERO Y(i + 7) = ZERO END DO END SUBROUTINE SET2ZERO !-------------------------------------------------------------- REAL(kind=dp) FUNCTION WDOT (N, DX, incX, DY, incY) !-------------------------------------------------------------- ! dot produce: wdot = x(1:N)*y(1:N) ! only for incX=incY=1 ! after BLAS ! replace this by the function from the optimized BLAS implementation: ! CALL SDOT(N,X,1,Y,1) or CALL DDOT(N,X,1,Y,1) !-------------------------------------------------------------- ! USE messy_mecca_kpp_Precision !-------------------------------------------------------------- IMPLICIT NONE INTEGER :: N, incX, incY REAL(kind=dp) :: DX(N), DY(N) INTEGER :: i, IX, IY, M, MP1, NS WDOT = 0.0D0 IF (N .LE. 0) RETURN IF (incX .EQ. incY) IF (incX-1) 5,20,60 ! ! Code for unequal or nonpositive increments. ! 5 IX = 1 IY = 1 IF (incX .LT. 0) IX = (-N+1)*incX + 1 IF (incY .LT. 0) IY = (-N+1)*incY + 1 DO i = 1,N WDOT = WDOT + DX(IX)*DY(IY) IX = IX + incX IY = IY + incY END DO RETURN ! ! Code for both increments equal to 1. ! ! Clean-up loop so remaining vector length is a multiple of 5. ! 20 M = MOD(N,5) IF (M .EQ. 0) GO TO 40 DO i = 1,M WDOT = WDOT + DX(i)*DY(i) END DO IF (N .LT. 5) RETURN 40 MP1 = M + 1 DO i = MP1,N,5 WDOT = WDOT + DX(i)*DY(i) + DX(i+1)*DY(i+1) + DX(i+2)*DY(i+2) + & DX(i+3)*DY(i+3) + DX(i+4)*DY(i+4) END DO RETURN ! ! Code for equal, positive, non-unit increments. ! 60 NS = N*incX DO i = 1,NS,incX WDOT = WDOT + DX(i)*DY(i) END DO END FUNCTION WDOT !-------------------------------------------------------------- SUBROUTINE WADD(N,X,Y,Z) !-------------------------------------------------------------- ! adds two vectors: z <- x + y ! BLAS - like !-------------------------------------------------------------- ! USE gckpp_Precision INTEGER :: i, M, MP1, N REAL(kind=dp) :: X(N),Y(N),Z(N) IF (N.LE.0) RETURN M = MOD(N,5) IF( M /= 0 ) THEN DO i = 1,M Z(i) = X(i) + Y(i) END DO IF( N < 5 ) RETURN END IF MP1 = M+1 DO i = MP1,N,5 Z(i) = X(i) + Y(i) Z(i + 1) = X(i + 1) + Y(i + 1) Z(i + 2) = X(i + 2) + Y(i + 2) Z(i + 3) = X(i + 3) + Y(i + 3) Z(i + 4) = X(i + 4) + Y(i + 4) END DO END SUBROUTINE WADD !-------------------------------------------------------------- SUBROUTINE WGEFA(N,A,Ipvt,info) !-------------------------------------------------------------- ! WGEFA FACTORS THE MATRIX A (N,N) BY ! GAUSS ELIMINATION WITH PARTIAL PIVOTING ! LINPACK - LIKE !-------------------------------------------------------------- ! INTEGER :: N,Ipvt(N),info REAL(kind=dp) :: A(N,N) REAL(kind=dp) :: t, dmax, da INTEGER :: j,k,l REAL(kind=dp), PARAMETER :: ZERO = 0.0, ONE = 1.0 info = 0 size: IF (n > 1) THEN col: DO k = 1, n-1 ! find l = pivot index ! l = idamax(n-k+1,A(k,k),1) + k - 1 l = k; dmax = abs(A(k,k)) DO j = k+1,n da = ABS(A(j,k)) IF (da > dmax) THEN l = j; dmax = da END IF END DO Ipvt(k) = l ! zero pivot implies this column already triangularized IF (ABS(A(l,k)) < TINY(ZERO)) THEN info = k return ELSE IF (l /= k) THEN t = A(l,k); A(l,k) = A(k,k); A(k,k) = t END IF t = -ONE/A(k,k) CALL WSCAL(n-k,t,A(k+1,k),1) DO j = k+1, n t = A(l,j) IF (l /= k) THEN A(l,j) = A(k,j); A(k,j) = t END IF CALL WAXPY(n-k,t,A(k+1,k),1,A(k+1,j),1) END DO END IF END DO col END IF size Ipvt(N) = N IF (ABS(A(N,N)) == ZERO) info = N END SUBROUTINE WGEFA !-------------------------------------------------------------- SUBROUTINE WGESL(Trans,N,A,Ipvt,b) !-------------------------------------------------------------- ! WGESL solves the system ! a * x = b or trans(a) * x = b ! using the factors computed by WGEFA. ! ! Trans = 'N' to solve A*x = b , ! = 'T' to solve transpose(A)*x = b ! LINPACK - LIKE !-------------------------------------------------------------- INTEGER :: N,Ipvt(N) CHARACTER :: trans REAL(kind=dp) :: A(N,N),b(N) REAL(kind=dp) :: t INTEGER :: k,kb,l SELECT CASE (Trans) CASE ('n','N') ! Solve A * x = b ! first solve L*y = b IF (n >= 2) THEN DO k = 1, n-1 l = Ipvt(k) t = b(l) IF (l /= k) THEN b(l) = b(k) b(k) = t END IF CALL WAXPY(n-k,t,a(k+1,k),1,b(k+1),1) END DO END IF ! now solve U*x = y DO kb = 1, n k = n + 1 - kb b(k) = b(k)/a(k,k) t = -b(k) CALL WAXPY(k-1,t,a(1,k),1,b(1),1) END DO CASE ('t','T') ! Solve transpose(A) * x = b ! first solve trans(U)*y = b DO k = 1, n t = WDOT(k-1,a(1,k),1,b(1),1) b(k) = (b(k) - t)/a(k,k) END DO ! now solve trans(L)*x = y IF (n >= 2) THEN DO kb = 1, n-1 k = n - kb b(k) = b(k) + WDOT(n-k,a(k+1,k),1,b(k+1),1) l = Ipvt(k) IF (l /= k) THEN t = b(l); b(l) = b(k); b(k) = t END IF END DO END IF END SELECT END SUBROUTINE WGESL ! End of BLAS_UTIL function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ END MODULE gckpp_LinearAlgebra ================================================ FILE: KPP/carbon/gckpp_Model.F90 ================================================ MODULE gckpp_Model !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Completely defines the model gckpp ! by using all the associated modules !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ USE gckpp_Precision USE gckpp_Parameters USE gckpp_Global USE gckpp_Function USE gckpp_Integrator USE gckpp_Rates USE gckpp_LinearAlgebra USE gckpp_Monitor USE gckpp_Util END MODULE gckpp_Model ================================================ FILE: KPP/carbon/gckpp_Monitor.F90 ================================================ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Utility Data Module File ! ! Generated by KPP-3.2.0 symbolic chemistry Kinetics PreProcessor ! (https:/github.com/KineticPreProcessor/KPP ! KPP is distributed under GPL, the general public licence ! (http://www.gnu.org/copyleft/gpl.html) ! (C) 1995-1997, V. Damian & A. Sandu, CGRER, Univ. Iowa ! (C) 1997-2022, A. Sandu, Michigan Tech, Virginia Tech ! With important contributions from: ! M. Damian, Villanova University, Philadelphia, PA, USA ! R. Sander, Max-Planck Institute for Chemistry, Mainz, Germany ! M. Long, Renaissance Fiber, LLC, North Carolina, USA ! H. Lin, Harvard University, Cambridge, MA, USA ! R. Yantosca, Harvard University, Cambridge, MA, USA ! ! File : gckpp_Monitor.F90 ! Equation file : gckpp.kpp ! Output root filename : gckpp ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MODULE gckpp_Monitor CHARACTER(LEN=32), PARAMETER, DIMENSION(17) :: SPC_NAMES = (/ & 'CH4 ','CO ','PCOfromCH4 ', & ! index 1 - 3 'PCOfromNMVOC ','LCH4byOH ','LCH4byCl ', & ! index 4 - 6 'LCH4inStrat ','LCObyOH ','LCOinStrat ', & ! index 7 - 9 'PCO ','LCO ','LCH4 ', & ! index 10 - 12 'FixedOH ','FixedCl ','DummyCH4trop ', & ! index 13 - 15 'DummyCH4strat ','DummyNMVOC ' /) ! index up to 17 INTEGER, DIMENSION(1) :: LOOKAT INTEGER, DIMENSION(1) :: MONITOR CHARACTER(LEN=32), DIMENSION(1) :: SMASS CHARACTER(LEN=100), PARAMETER, DIMENSION(8) :: EQN_NAMES = (/ & 'CH4 + FixedOH --> LCH4byOH + LCH4 ', & ! index 1 'CH4 + FixedCl --> LCH4byCl + LCH4 ', & ! index 2 ' DummyCH4trop --> CO + PCOfromCH4 + PCO ', & ! index 3 ' CO + FixedOH --> LCObyOH + LCO ', & ! index 4 ' DummyNMVOC --> CO + PCOfromNMVOC + PCO ', & ! index 5 ' CH4 --> LCH4inStrat + LCH4 ', & ! index 6 'DummyCH4strat --> CO + PCO ', & ! index 7 ' CO --> LCOinStrat + LCO ' /) ! index up to 8 CHARACTER(LEN=32), PARAMETER, DIMENSION(3) :: FAM_NAMES = (/ & 'PCO ','LCO ','LCH4 ' /) ! index up to 3 ! Begin inlined code from F90_DATA ! End inlined code from F90_DATA END MODULE gckpp_Monitor ================================================ FILE: KPP/carbon/gckpp_Parameters.F90 ================================================ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Parameter Module File ! ! Generated by KPP-3.2.0 symbolic chemistry Kinetics PreProcessor ! (https:/github.com/KineticPreProcessor/KPP ! KPP is distributed under GPL, the general public licence ! (http://www.gnu.org/copyleft/gpl.html) ! (C) 1995-1997, V. Damian & A. Sandu, CGRER, Univ. Iowa ! (C) 1997-2022, A. Sandu, Michigan Tech, Virginia Tech ! With important contributions from: ! M. Damian, Villanova University, Philadelphia, PA, USA ! R. Sander, Max-Planck Institute for Chemistry, Mainz, Germany ! M. Long, Renaissance Fiber, LLC, North Carolina, USA ! H. Lin, Harvard University, Cambridge, MA, USA ! R. Yantosca, Harvard University, Cambridge, MA, USA ! ! File : gckpp_Parameters.F90 ! Equation file : gckpp.kpp ! Output root filename : gckpp ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MODULE gckpp_Parameters USE gckpp_Precision PUBLIC SAVE ! NSPEC - Number of chemical species INTEGER, PARAMETER :: NSPEC = 17 ! NVAR - Number of Variable species INTEGER, PARAMETER :: NVAR = 12 ! NFAM - Number of Prod/Loss Families INTEGER, PARAMETER :: NFAM = 3 ! NVARACT - Number of Active species INTEGER, PARAMETER :: NVARACT = 2 ! NFIX - Number of Fixed species INTEGER, PARAMETER :: NFIX = 5 ! NREACT - Number of reactions INTEGER, PARAMETER :: NREACT = 8 ! NVARST - Starting of variables in conc. vect. INTEGER, PARAMETER :: NVARST = 1 ! NFIXST - Starting of fixed in conc. vect. INTEGER, PARAMETER :: NFIXST = 13 ! NONZERO - Number of nonzero entries in Jacobian INTEGER, PARAMETER :: NONZERO = 1 ! LU_NONZERO - Number of nonzero entries in LU factoriz. of Jacobian INTEGER, PARAMETER :: LU_NONZERO = 1 ! CNVAR - (NVAR+1) Number of elements in compressed row format INTEGER, PARAMETER :: CNVAR = 13 ! NLOOKAT - Number of species to look at INTEGER, PARAMETER :: NLOOKAT = 0 ! NMONITOR - Number of species to monitor INTEGER, PARAMETER :: NMONITOR = 0 ! NMASS - Number of atoms to check mass balance INTEGER, PARAMETER :: NMASS = 1 ! Index declaration for variable species in C and VAR ! VAR(ind_spc) = C(ind_spc) INTEGER, PARAMETER :: ind_CH4 = 1 INTEGER, PARAMETER :: ind_CO = 2 INTEGER, PARAMETER :: ind_PCOfromCH4 = 3 INTEGER, PARAMETER :: ind_PCOfromNMVOC = 4 INTEGER, PARAMETER :: ind_LCH4byOH = 5 INTEGER, PARAMETER :: ind_LCH4byCl = 6 INTEGER, PARAMETER :: ind_LCH4inStrat = 7 INTEGER, PARAMETER :: ind_LCObyOH = 8 INTEGER, PARAMETER :: ind_LCOinStrat = 9 INTEGER, PARAMETER :: ind_PCO = 10 INTEGER, PARAMETER :: ind_LCO = 11 INTEGER, PARAMETER :: ind_LCH4 = 12 ! Index declaration for fixed species in C ! C(ind_spc) INTEGER, PARAMETER :: ind_FixedOH = 13 INTEGER, PARAMETER :: ind_FixedCl = 14 INTEGER, PARAMETER :: ind_DummyCH4trop = 15 INTEGER, PARAMETER :: ind_DummyCH4strat = 16 INTEGER, PARAMETER :: ind_DummyNMVOC = 17 ! Index declaration for fixed species in FIX ! FIX(indf_spc) = C(ind_spc) = C(NVAR+indf_spc) INTEGER, PARAMETER :: indf_FixedOH = 1 INTEGER, PARAMETER :: indf_FixedCl = 2 INTEGER, PARAMETER :: indf_DummyCH4trop = 3 INTEGER, PARAMETER :: indf_DummyCH4strat = 4 INTEGER, PARAMETER :: indf_DummyNMVOC = 5 END MODULE gckpp_Parameters ================================================ FILE: KPP/carbon/gckpp_Precision.F90 ================================================ MODULE gckpp_Precision ! ! Definition of different levels of accuracy ! for REAL variables using KIND parameterization ! ! KPP SP - Single precision kind INTEGER, PARAMETER :: sp = SELECTED_REAL_KIND(6,30) ! KPP DP - Double precision kind INTEGER, PARAMETER :: dp = SELECTED_REAL_KIND(14,300) ! KPP QP - Quadruple precision kind INTEGER, PARAMETER :: qp = SELECTED_REAL_KIND(18,400) END MODULE gckpp_Precision ================================================ FILE: KPP/carbon/gckpp_Rates.F90 ================================================ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! The Reaction Rates File ! ! Generated by KPP-3.2.0 symbolic chemistry Kinetics PreProcessor ! (https:/github.com/KineticPreProcessor/KPP ! KPP is distributed under GPL, the general public licence ! (http://www.gnu.org/copyleft/gpl.html) ! (C) 1995-1997, V. Damian & A. Sandu, CGRER, Univ. Iowa ! (C) 1997-2022, A. Sandu, Michigan Tech, Virginia Tech ! With important contributions from: ! M. Damian, Villanova University, Philadelphia, PA, USA ! R. Sander, Max-Planck Institute for Chemistry, Mainz, Germany ! M. Long, Renaissance Fiber, LLC, North Carolina, USA ! H. Lin, Harvard University, Cambridge, MA, USA ! R. Yantosca, Harvard University, Cambridge, MA, USA ! ! File : gckpp_Rates.F90 ! Equation file : gckpp.kpp ! Output root filename : gckpp ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MODULE gckpp_Rates USE gckpp_Parameters USE gckpp_Global IMPLICIT NONE INTEGER, PARAMETER :: ASSOC = 1, DISSOC = 2 PRIVATE :: ARR_abc_dp, ARR_abc_sp INTERFACE ARR_abc MODULE PROCEDURE ARR_abc_dp MODULE PROCEDURE ARR_abc_sp END INTERFACE ARR_abc PRIVATE :: ARR_ab_dp, ARR_ab_sp INTERFACE ARR_ab MODULE PROCEDURE ARR_ab_dp MODULE PROCEDURE ARR_ab_sp END INTERFACE ARR_ab PRIVATE :: ARR_ac_dp, ARR_ac_sp INTERFACE ARR_ac MODULE PROCEDURE ARR_ac_dp MODULE PROCEDURE ARR_ac_sp END INTERFACE ARR_ac PRIVATE :: EP2_dp, EP2_sp INTERFACE EP2 MODULE PROCEDURE EP2_dp MODULE PROCEDURE EP2_sp END INTERFACE EP2 PRIVATE :: EP3_dp, EP3_sp INTERFACE EP3 MODULE PROCEDURE EP3_dp MODULE PROCEDURE EP3_sp END INTERFACE EP3 PRIVATE :: FALL_dp, FALL_sp INTERFACE FALL MODULE PROCEDURE FALL_dp MODULE PROCEDURE FALL_sp END INTERFACE FALL PRIVATE :: k3rd_jpl_dp, k3rd_jpl_sp INTERFACE k3rd_jpl MODULE PROCEDURE k3rd_jpl_dp MODULE PROCEDURE k3rd_jpl_sp END INTERFACE k3rd_jpl PRIVATE :: k3rd_jpl_activation_dp, k3rd_jpl_activation_sp INTERFACE k3rd_jpl_activation MODULE PROCEDURE k3rd_jpl_activation_dp MODULE PROCEDURE k3rd_jpl_activation_sp END INTERFACE k3rd_jpl_activation PRIVATE :: k3rd_iupac_dp, k3rd_iupac_sp INTERFACE k3rd_iupac MODULE PROCEDURE k3rd_iupac_dp MODULE PROCEDURE k3rd_iupac_sp END INTERFACE k3rd_iupac CONTAINS ! Begin Rate Law Functions from KPP_HOME/util/UserRateLaws !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! User-defined Rate Law functions ! ! NOTE: For computational efficiency, we have created duplicate rate law ! routines here that take either all single precision or all double precision ! arguments. Explicit casts to DBLE are skipped in the functions that take ! all double precision arguments (as this removes unneeded computations). ! ! These functions are overloaded by INTERFACE statements, which are located ! in file UserRateLawsInterfaces.f90. The UserRateLawsInterfaces.f90 file ! will be in-lined into the top of the gckpp_Rates module. !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ FUNCTION ARR_abc_dp( a0, b0, c0 ) RESULT( k ) ! Arrhenius function, for nonzero a0, b0, c0 (dp args) REAL(dp), INTENT(IN) :: a0, b0, c0 REAL(kind=dp) :: k k = a0 * EXP(-b0/TEMP) * (TEMP/300.0_dp)**C0 END FUNCTION ARR_abc_dp FUNCTION ARR_abc_sp( a0, b0, c0 ) RESULT( k ) ! Arrhenius function, for nonzero a0, b0, c0 (sp args) REAL(sp), INTENT(IN) :: a0, b0, c0 REAL(kind=dp) :: k k = DBLE(a0) * EXP(-DBLE(b0)/TEMP) * (TEMP/300.0_dp)**DBLE(c0) END FUNCTION ARR_abc_sp !--------------------------------------------------------------------------- FUNCTION ARR_ab_dp( a0, b0 ) RESULT( k ) ! Arrhenius function, for nonzero a0, b0 (dp args) REAL(dp), INTENT(IN) :: a0, b0 REAL(kind=dp) :: k k = a0 * EXP(-b0/TEMP) END FUNCTION ARR_ab_dp FUNCTION ARR_ab_sp( a0, b0 ) RESULT( k ) ! Arrhenius function, for nonzero a0, b0 (sp args) REAL(sp), INTENT(IN) :: a0, b0 REAL(kind=dp) :: k k = DBLE(a0) * EXP(-DBLE(b0)/TEMP) END FUNCTION ARR_ab_sp !--------------------------------------------------------------------------- FUNCTION ARR_ac_dp( a0, c0 ) RESULT( k ) ! Arrhenius function, for nonzero a0, c0 (dp args) REAL(dp), INTENT(IN) :: a0, c0 REAL(kind=dp) :: k k = a0 * (TEMP/300.0_dp)**C0 END FUNCTION ARR_ac_dp FUNCTION ARR_ac_sp( a0, c0 ) RESULT( k ) ! Arrhenius function, for nonzero a0, c0 (sp args) REAL(sp), INTENT(IN) :: a0, c0 REAL(kind=dp) :: k k = DBLE(a0) * (TEMP/300.0_dp)**DBLE(c0) END FUNCTION ARR_ac_sp !--------------------------------------------------------------------------- FUNCTION EP2_dp( a0, c0, a2, c2, a3, c3 ) RESULT( k ) ! EP2 function, for saprc99 and saprcnov (dp args) REAL(dp), INTENT(IN) :: a0, c0, a2, c2, a3, c3 REAL(dp) :: k0, k2, k3 REAL(kind=dp) :: k k0 = a0 * EXP(-c0/temp) k2 = a2 * EXP(-c2/temp) k3 = a3 * EXP(-c3/temp) k3 = k3 * CFACTOR * 1.0E6_dp k = k0 + k3/(1.0_dp + k3/k2) END FUNCTION EP2_dp FUNCTION EP2_sp( a0, c0, a2, c2, a3, c3 ) RESULT( k ) ! EP2 function, for saprc99 and saprcnov (sp args) REAL(sp), INTENT(IN) :: a0, c0, a2, c2, a3, c3 REAL(dp) :: k0, k2, k3 REAL(kind=dp) :: k k0 = DBLE(a0) * EXP(-DBLE(c0)/TEMP) k2 = DBLE(a2) * EXP(-DBLE(c2)/TEMP) k3 = DBLE(a3) * EXP(-DBLE(c3)/TEMP) k3 = k3 * CFACTOR * 1.0E6_dp k = k0 + K3/(1.0_dp + k3/k2) END FUNCTION EP2_sp !--------------------------------------------------------------------------- FUNCTION EP3_dp( a1, c1, a2, c2) RESULT( k ) ! EP3 function, for saprc99 and saprcnov (dp args) REAL(dp), INTENT(IN) :: a1, c1, a2, c2 REAL(dp) :: k1, k2 REAL(kind=dp) :: k k1 = a1 * EXP(-c1/TEMP) k2 = a2 * EXP(-c2/TEMP) k = k1 + k2*(1.0E6_dp * CFACTOR) END FUNCTION EP3_dp FUNCTION EP3_sp( a1, c1, a2, c2 ) RESULT( k ) ! EP3 function, for saprc99 and saprcnov (sp args) REAL(sp), INTENT(IN) :: a1, c1, a2, c2 REAL(dp) :: k1, k2 REAL(kind=dp) :: k k1 = DBLE(a1) * EXP(-DBLE(c1)/TEMP) k2 = DBLE(a2) * EXP(-DBLE(c2)/TEMP) k = k1 + k2*(1.0E6_dp * CFACTOR) END FUNCTION EP3_sp !--------------------------------------------------------------------------- FUNCTION FALL_dp( a0, b0, c0, a1, b1, c1, cf ) RESULT( k ) ! FALL function, for saprc99 and saprcnov (dp args) REAL(dp), INTENT(IN) :: a0, b0, c0, a1, b1, c1, cf REAL(dp) :: k0, k1 REAL(kind=dp) :: k k0 = a0 * EXP(-b0/TEMP) * (TEMP/300.0_dp)**c0 k1 = a1 * EXP(-b1/TEMP) * (TEMP/300.0_dp)**c1 k0 = k0 * CFACTOR * 1.0E6_dp k1 = k0 / k1 k = (k0/(1.0_dp+k1)) * cf**(1.0_dp/(1.0_dp+(LOG10(k1))**2)) END FUNCTION FALL_dp FUNCTION FALL_sp( a0, b0, c0, a1, b1, c1, cf ) RESULT( k ) ! FALL function, for saprc99 and saprcnov (sp args) REAL(sp), INTENT(IN) :: a0, b0, c0, a1, b1, c1, cf REAL(dp) :: k0, k1 REAL(kind=dp) :: k k0 = DBLE(A0) * EXP(-DBLE(B0)/TEMP)* (TEMP/300.0_dp)**DBLE(C0) k1 = DBLE(A1) * EXP(-DBLE(B1)/TEMP)* (TEMP/300.0_dp)**DBLE(C1) k0 = k0 * CFACTOR * 1.0E6_dp k1 = k0 / k1 k = (k0/(1.0_dp+k1)) * DBLE(cf)**(1.0_dp/(1.0_dp+(LOG10(k1))**2)) END FUNCTION FALL_sp !--------------------------------------------------------------------------- ! JPL (jpldataeval.jpl.nasa.gov) three-body reaction formula: REAL(dp) FUNCTION k3rd_jpl_dp(cair,k0_300K,n,kinf_300K,m,fc) ! dp args INTRINSIC LOG10 REAL(dp), INTENT(IN) :: cair ! air concentration [molecules/cm3] REAL(dp), INTENT(IN) :: k0_300K ! low pressure limit at 300 K REAL(dp), INTENT(IN) :: n ! exponent for low pressure limit REAL(dp), INTENT(IN) :: kinf_300K ! high pressure limit at 300 K REAL(dp), INTENT(IN) :: m ! exponent for high pressure limit REAL(dp), INTENT(IN) :: fc ! broadening factor (usually fc=0.6) REAL(dp) :: zt_help, k0_T, kinf_T, k_ratio zt_help = 300._dp/temp k0_T = k0_300K * zt_help**(n) * cair ! k_0 at current T kinf_T = kinf_300K * zt_help**(m) ! k_inf at current T k_ratio = k0_T/kinf_T k3rd_jpl_dp = k0_T/(1._dp+k_ratio)*fc**(1._dp/(1._dp+LOG10(k_ratio)**2)) END FUNCTION k3rd_jpl_dp REAL(kind=dp) FUNCTION k3rd_jpl_sp(cair,k0_300K,n,kinf_300K,m,fc) ! sp args INTRINSIC LOG10 REAL(sp), INTENT(IN) :: cair ! air concentration [molecules/cm3] REAL(sp), INTENT(IN) :: k0_300K ! low pressure limit at 300 K REAL(sp), INTENT(IN) :: n ! exponent for low pressure limit REAL(sp), INTENT(IN) :: kinf_300K ! high pressure limit at 300 K REAL(sp), INTENT(IN) :: m ! exponent for high pressure limit REAL(sp), INTENT(IN) :: fc ! broadening factor (usually fc=0.6) REAL(sp) :: zt_help, k0_T, kinf_T, k_ratio zt_help = 300._dp/temp k0_T = k0_300K * zt_help**(n) * cair ! k_0 at current T kinf_T = kinf_300K * zt_help**(m) ! k_inf at current T k_ratio = k0_T/kinf_T k3rd_jpl_sp = k0_T/(1._dp+k_ratio)*fc**(1._dp/(1._dp+LOG10(k_ratio)**2)) END FUNCTION k3rd_jpl_sp ! -------------------------------------------------------------------------- ! JPL (jpldataeval.jpl.nasa.gov) termolecular chemical activation reaction: FUNCTION k3rd_jpl_activation_dp(cair,k0_298K,n,kinf_298K,m,A,B) ! dp args INTRINSIC :: LOG10 REAL(dp), DIMENSION(2) :: k3rd_jpl_activation_dp REAL(dp), INTENT(IN) :: cair ! air concentration [molecules/cm3] REAL(dp), INTENT(IN) :: k0_298K ! low pressure limit at 300 K REAL(dp), INTENT(IN) :: n ! exponent for low pressure limit REAL(dp), INTENT(IN) :: kinf_298K ! high pressure limit at 300 K REAL(dp), INTENT(IN) :: m ! exponent for high pressure limit REAL(dp), INTENT(IN) :: A ! for k_int REAL(dp), INTENT(IN) :: B ! for k_int REAL(dp) :: zt_help, k0_TM, kinf_T, k_ratio, k_f, k_int, k_fCA zt_help = 298./temp k0_TM = k0_298K * zt_help**n * cair ! k_0 at current T * M kinf_T = kinf_298K * zt_help**m ! k_inf at current T k_ratio = k0_TM/kinf_T k_f = k0_TM/(1.+k_ratio)*0.6**(1./(1.+LOG10(k_ratio)**2)) k_int = A * exp(-B/temp) k_fCA = k_int * (1. - k_f/kinf_T) k3rd_jpl_activation_dp(ASSOC) = k_f k3rd_jpl_activation_dp(DISSOC) = k_fCA END FUNCTION k3rd_jpl_activation_dp FUNCTION k3rd_jpl_activation_sp(cair,k0_298K,n,kinf_298K,m,A,B) ! sp args INTRINSIC :: LOG10 REAL(kind=dp), DIMENSION(2) :: k3rd_jpl_activation_sp REAL(sp), INTENT(IN) :: cair ! air concentration [molecules/cm3] REAL(sp), INTENT(IN) :: k0_298K ! low pressure limit at 300 K REAL(sp), INTENT(IN) :: n ! exponent for low pressure limit REAL(sp), INTENT(IN) :: kinf_298K ! high pressure limit at 300 K REAL(sp), INTENT(IN) :: m ! exponent for high pressure limit REAL(sp), INTENT(IN) :: A ! for k_int REAL(sp), INTENT(IN) :: B ! for k_int REAL(sp) :: zt_help, k0_TM, kinf_T, k_ratio, k_f, k_int, k_fCA zt_help = 298./temp k0_TM = k0_298K * zt_help**n * cair ! k_0 at current T * M kinf_T = kinf_298K * zt_help**m ! k_inf at current T k_ratio = k0_TM/kinf_T k_f = k0_TM/(1.+k_ratio)*0.6**(1./(1.+LOG10(k_ratio)**2)) k_int = A * exp(-B/temp) k_fCA = k_int * (1. - k_f/kinf_T) k3rd_jpl_activation_sp(ASSOC) = k_f k3rd_jpl_activation_sp(DISSOC) = k_fCA END FUNCTION k3rd_jpl_activation_sp ! -------------------------------------------------------------------------- ! IUPAC (iupac.pole-ether.fr) three-body reaction formula: REAL(dp) FUNCTION k3rd_iupac_dp(cair,k0_300K,n,kinf_300K,m,fc) ! dp args INTRINSIC :: LOG10 REAL(dp), INTENT(IN) :: cair ! air concentration [molecules/cm3] REAL(dp), INTENT(IN) :: k0_300K ! low pressure limit at 300 K REAL(dp), INTENT(IN) :: n ! exponent for low pressure limit REAL(dp), INTENT(IN) :: kinf_300K ! high pressure limit at 300 K REAL(dp), INTENT(IN) :: m ! exponent for high pressure limit REAL(dp), INTENT(IN) :: fc ! broadening factor (e.g. 0.45 or 0.6...) REAL(dp) :: nu ! N REAL(dp) :: zt_help, k0_T, kinf_T, k_ratio zt_help = 300._dp/temp k0_T = k0_300K * zt_help**(n) * cair ! k_0 at current T kinf_T = kinf_300K * zt_help**(m) ! k_inf at current T k_ratio = k0_T/kinf_T nu = 0.75-1.27*LOG10(fc) k3rd_iupac_dp = k0_T/(1._dp+k_ratio)* & fc**(1._dp/(1._dp+(LOG10(k_ratio)/nu)**2)) END FUNCTION k3rd_iupac_dp REAL(kind=dp) FUNCTION k3rd_iupac_sp(cair,k0_300K,n,kinf_300K,m,fc) ! sp args INTRINSIC :: LOG10 REAL(sp), INTENT(IN) :: cair ! air concentration [molecules/cm3] REAL(sp), INTENT(IN) :: k0_300K ! low pressure limit at 300 K REAL(sp), INTENT(IN) :: n ! exponent for low pressure limit REAL(sp), INTENT(IN) :: kinf_300K ! high pressure limit at 300 K REAL(sp), INTENT(IN) :: m ! exponent for high pressure limit REAL(sp), INTENT(IN) :: fc ! broadening factor (e.g. 0.45 or 0.6...) REAL(sp) :: nu ! N REAL(sp) :: zt_help, k0_T, kinf_T, k_ratio zt_help = 300._dp/temp k0_T = k0_300K * zt_help**(n) * cair ! k_0 at current T kinf_T = kinf_300K * zt_help**(m) ! k_inf at current T k_ratio = k0_T/kinf_T nu = 0.75-1.27*LOG10(fc) k3rd_iupac_sp = k0_T/(1._dp+k_ratio)* & fc**(1._dp/(1._dp+(LOG10(k_ratio)/nu)**2)) END FUNCTION k3rd_iupac_sp !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! End of User-defined Rate Law functions !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! End Rate Law Functions from KPP_HOME/util/UserRateLaws ! Begin inlined code from F90_RATES ! End inlined code from F90_RATES ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Update_SUN - update SUN light using TIME ! Arguments : ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Update_SUN() USE gckpp_Parameters USE gckpp_Global IMPLICIT NONE REAL(kind=dp) :: SunRise, SunSet REAL(kind=dp) :: Thour, Tlocal, Ttmp ! PI - Value of pi REAL(kind=dp), PARAMETER :: PI = 3.14159265358979d0 SunRise = 4.5_dp SunSet = 19.5_dp Thour = TIME/3600.0_dp Tlocal = Thour - (INT(Thour)/24)*24 IF ((Tlocal>=SunRise).AND.(Tlocal<=SunSet)) THEN Ttmp = (2.0*Tlocal-SunRise-SunSet)/(SunSet-SunRise) IF (Ttmp.GT.0) THEN Ttmp = Ttmp*Ttmp ELSE Ttmp = -Ttmp*Ttmp END IF SUN = ( 1.0_dp + COS(PI*Ttmp) )/2.0_dp ELSE SUN = 0.0_dp END IF END SUBROUTINE Update_SUN ! End of Update_SUN function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Update_RCONST ( YIN ) ! Begin inlined code from F90_RCONST_USE ! End inlined code from F90_RCONST_USE ! YIN - Optional input concentrations of variable species REAL(kind=dp), OPTIONAL :: YIN(NVAR) ! Y - Concentrations of species (local) REAL(kind=dp) :: Y(NSPEC) ! Ensure local Y array is filled with variable and constant concentrations Y(1:NSPEC) = C(1:NSPEC) ! Update local Y array if variable concentrations are provided if (present(YIN)) Y(1:NVAR) = YIN(1:NVAR) ! Begin inlined code from F90_RCONST ! End inlined code from F90_RCONST RCONST(1) = (2.45d-12*EXP(-1775.0d0/TEMP)*TROP) RCONST(2) = (9.60d-12*EXP(-1360.0d0/TEMP)*TROP) RCONST(3) = (k_Trop(1)) RCONST(4) = (k_Trop(2)) RCONST(5) = (k_Trop(3)) RCONST(6) = (k_Strat(1)) RCONST(7) = (k_Strat(2)) RCONST(8) = (k_Strat(3)) END SUBROUTINE UPDATE_RCONST ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Update_PHOTO - function to update photolytical rate constants ! Arguments : ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Update_PHOTO ( ) ! Begin inlined code from F90_RCONST_USE ! End inlined code from F90_RCONST_USE ! Begin inlined code from F90_RCONST ! End inlined code from F90_RCONST END SUBROUTINE Update_PHOTO ! End of Update_PHOTO function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ END MODULE gckpp_Rates ================================================ FILE: KPP/carbon/gckpp_Util.F90 ================================================ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Auxiliary Routines File ! ! Generated by KPP-3.2.0 symbolic chemistry Kinetics PreProcessor ! (https:/github.com/KineticPreProcessor/KPP ! KPP is distributed under GPL, the general public licence ! (http://www.gnu.org/copyleft/gpl.html) ! (C) 1995-1997, V. Damian & A. Sandu, CGRER, Univ. Iowa ! (C) 1997-2022, A. Sandu, Michigan Tech, Virginia Tech ! With important contributions from: ! M. Damian, Villanova University, Philadelphia, PA, USA ! R. Sander, Max-Planck Institute for Chemistry, Mainz, Germany ! M. Long, Renaissance Fiber, LLC, North Carolina, USA ! H. Lin, Harvard University, Cambridge, MA, USA ! R. Yantosca, Harvard University, Cambridge, MA, USA ! ! File : gckpp_Util.F90 ! Equation file : gckpp.kpp ! Output root filename : gckpp ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MODULE gckpp_Util USE gckpp_Parameters IMPLICIT NONE CONTAINS ! Begin inlined code from F90_UTIL ! End inlined code from F90_UTIL ! Begin Utility Functions from KPP_HOME/util/util ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! UTIL - Utility functions ! Arguments : ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! **************************************************************** ! ! InitSaveData - Opens the data file for writing ! Parameters : ! ! **************************************************************** SUBROUTINE InitSaveData () USE gckpp_Parameters open(10, file='gckpp.dat') END SUBROUTINE InitSaveData ! End of InitSaveData function ! **************************************************************** ! **************************************************************** ! ! SaveData - Write LOOKAT species in the data file ! Parameters : ! ! **************************************************************** SUBROUTINE SaveData () USE gckpp_Global USE gckpp_Monitor INTEGER i WRITE(10,999) (TIME-TSTART)/3600.D0, & (C(LOOKAT(i))/CFACTOR, i=1,NLOOKAT) 999 FORMAT(E24.16,100(1X,E24.16)) END SUBROUTINE SaveData ! End of SaveData function ! **************************************************************** ! **************************************************************** ! ! CloseSaveData - Close the data file ! Parameters : ! ! **************************************************************** SUBROUTINE CloseSaveData () USE gckpp_Parameters CLOSE(10) END SUBROUTINE CloseSaveData ! End of CloseSaveData function ! **************************************************************** ! **************************************************************** ! ! GenerateMatlab - Generates MATLAB file to load the data file ! Parameters : ! It will have a character string to prefix each ! species name with. ! ! **************************************************************** SUBROUTINE GenerateMatlab ( PREFIX ) USE gckpp_Parameters USE gckpp_Global USE gckpp_Monitor CHARACTER(LEN=8) PREFIX INTEGER i open(20, file='gckpp.m') write(20,*) 'load gckpp.dat;' write(20,990) PREFIX 990 FORMAT(A1,'c = gckpp;') write(20,*) 'clear gckpp;' write(20,991) PREFIX, PREFIX 991 FORMAT(A1,'t=',A1,'c(:,1);') write(20,992) PREFIX 992 FORMAT(A1,'c(:,1)=[];') do i=1,NLOOKAT write(20,993) PREFIX, SPC_NAMES(LOOKAT(i)), PREFIX, i 993 FORMAT(A1,A6,' = ',A1,'c(:,',I2,');') end do CLOSE(20) END SUBROUTINE GenerateMatlab ! End of GenerateMatlab function ! **************************************************************** ! **************************************************************** ! ! Integrator_Update_Options - determine whether to call Update_RCONST, ! Update_PHOTO, and Update_SUN from within the integrator ! ! Parameters: ! option (input) ! = -1 : Do not call Update_* functions within the integrator ! = 0 : Status quo: Call whichever functions are normally called ! = 1 : Call Update_RCONST from within the integrator ! = 2 : Call Update_PHOTO from within the integrator ! = 3 : Call Update_RCONST and Update_PHOTO from within the int. ! = 4 : Call Update_SUN from within the integrator ! = 5 : Call Update_SUN and Update_RCONST from within the int. ! = 6 : not implemented ! = 7 : not implemented ! ! Do_Update_RCONST (output): ! =T : Calls Update_RCONST from within the integrator ! =F : Does not call UPDATE_RCONST from w/in the int. ! ! Do_Update_PHOTO (output): ! =T : Calls Update_PHOTO from within the integrator ! =F : Does not call UPDATE_PHOTO from w/in the int. ! ! Do_Update_SUN (output): ! =T : Calls Update_SUN from within the integrator ! =F : Does not call UPDATE_SUN from w/in the int. ! ! **************************************************************** SUBROUTINE Integrator_Update_Options( option, & Do_Update_RConst, & Do_Update_Photo, & Do_Update_Sun ) !~~~> Input variables INTEGER, INTENT(IN) :: option !~~~> Output variables LOGICAL, INTENT(OUT) :: Do_Update_RCONST LOGICAL, INTENT(OUT) :: Do_Update_PHOTO LOGICAL, INTENT(OUT) :: Do_Update_SUN ! Option -1: turn off all Update_* calls within the integrator IF ( option == -1 ) THEN Do_Update_RCONST = .FALSE. Do_Update_PHOTO = .FALSE. Do_Update_SUN = .FALSE. RETURN ENDIF ! Otherwise determine from the value passed Do_Update_RCONST = ( IAND( option, 1 ) > 0 ) Do_Update_PHOTO = ( IAND( option, 2 ) > 0 ) Do_Update_SUN = ( IAND( option, 4 ) > 0 ) END SUBROUTINE Integrator_Update_Options ! End of Integrator_Update_Options function ! **************************************************************** ! End Utility Functions from KPP_HOME/util/util ! End of UTIL function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Shuffle_user2kpp - function to copy concentrations from USER to KPP ! Arguments : ! V_USER - Concentration of variable species in USER's order ! V - Concentrations of variable species (local) ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Shuffle_user2kpp ( V_USER, V ) ! V_USER - Concentration of variable species in USER's order REAL(kind=dp) :: V_USER(NVAR) ! V - Concentrations of variable species (local) REAL(kind=dp) :: V(NVAR) V(1) = V_USER(1) V(2) = V_USER(2) V(3) = V_USER(4) V(4) = V_USER(5) V(5) = V_USER(6) V(6) = V_USER(7) V(7) = V_USER(8) V(8) = V_USER(9) V(9) = V_USER(10) V(10) = V_USER(11) END SUBROUTINE Shuffle_user2kpp ! End of Shuffle_user2kpp function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Shuffle_kpp2user - function to restore concentrations from KPP to USER ! Arguments : ! V - Concentrations of variable species (local) ! V_USER - Concentration of variable species in USER's order ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Shuffle_kpp2user ( V, V_USER ) ! V - Concentrations of variable species (local) REAL(kind=dp) :: V(NVAR) ! V_USER - Concentration of variable species in USER's order REAL(kind=dp) :: V_USER(NVAR) V_USER(1) = V(1) V_USER(2) = V(2) V_USER(4) = V(3) V_USER(5) = V(4) V_USER(6) = V(5) V_USER(7) = V(6) V_USER(8) = V(7) V_USER(9) = V(8) V_USER(10) = V(9) V_USER(11) = V(10) END SUBROUTINE Shuffle_kpp2user ! End of Shuffle_kpp2user function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! GetMass - compute total mass of selected atoms ! Arguments : ! CL - Concentration of all species (local) ! Mass - value of mass balance ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE GetMass ( CL, Mass ) ! CL - Concentration of all species (local) REAL(kind=dp) :: CL(NSPEC) ! Mass - value of mass balance REAL(kind=dp) :: Mass(1) END SUBROUTINE GetMass ! End of GetMass function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Get_OHreactivity - returns the OH reactivity ! The OH reactivity is defined as the inverse of its lifetime. ! This routine was auto-generated using script OHreact_parser.py. ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Get_OHreactivity ( CC, RR, OHreact ) ! CC - Concentrations of species (local) REAL(kind=dp) :: CC(NSPEC) ! RR - reaction rates (local) REAL(kind=dp) :: RR(NREACT) ! OHreact - OH reactivity [s-1] REAL(kind=dp) :: OHreact OHreact = 0.0_dp END SUBROUTINE Get_OHreactivity ! End of Get_OHreactivity subroutine ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ END MODULE gckpp_Util ================================================ FILE: KPP/carbon/util/expand_carbon_eqn.py ================================================ #!/usr/bin/env python3 # Author: Dandan Zhang (Harvard) import sys import re if len(sys.argv) < 3: print("Usage: expand_carbon_eqn.py carbon.eqn.template Njac", file=sys.stderr) sys.exit(1) infile = sys.argv[1] Njac = int(sys.argv[2]) with open(infile, "r") as f: lines = f.readlines() out_lines = [] in_defvar = False in_equations = False for line in lines: stripped = line.lstrip() tokens = stripped.split() # Section markers if stripped.startswith("#DEFVAR"): in_defvar = True in_equations = False out_lines.append(line) continue if stripped.startswith("#DEFFIX"): in_defvar = False in_equations = False out_lines.append(line) continue if stripped.startswith("#EQUATIONS"): in_defvar = False in_equations = True out_lines.append(line) continue # Always keep the original line out_lines.append(line) # ===================================================== # 1) DEFVAR expansions: CH4_jacXXXX and L* dummy species # ===================================================== if in_defvar and tokens: key = tokens[0] # CH4 main species -> CH4_jac000N if key == "CH4" and len(tokens) > 1 and tokens[1] == "=": for k in range(1, Njac + 1): idx = f"{k:04d}" out_lines.append( f"CH4_jac{idx} = IGNORE; {{ Active methane Jacobian tracer }}\n" ) # LCH4byOH -> LCH4byOH_jac000N elif key == "LCH4byOH": for k in range(1, Njac + 1): idx = f"{k:04d}" out_lines.append( f"LCH4byOH_jac{idx} = IGNORE; " f"{{ Dummy spc to track loss of CH4_jac{idx} by OH }}\n" ) # LCH4byCl -> LCH4byCl_jac000N elif key == "LCH4byCl": for k in range(1, Njac + 1): idx = f"{k:04d}" out_lines.append( f"LCH4byCl_jac{idx} = IGNORE; " f"{{ Dummy spc to track loss of CH4_jac{idx} by Cl }}\n" ) # LCH4inStrat -> LCH4inStrat_jac000N elif key == "LCH4inStrat": for k in range(1, Njac + 1): idx = f"{k:04d}" out_lines.append( f"LCH4inStrat_jac{idx} = IGNORE; " f"{{ Dummy spc to track loss of CH4_jac{idx} in strat }}\n" ) # ===================================================== # 2) EQUATIONS expansions: CH4 reactions -> CH4_jac000N # ===================================================== if in_equations and tokens and tokens[0] == "CH4": # We need to find the product species (right after "=") eq_pos = line.find("=") if eq_pos == -1: continue # not an equation line we care about # substring after "=" up to ":" (if present) rest = line[eq_pos + 1 :] colon_pos = rest.find(":") if colon_pos != -1: lhs_products = rest[:colon_pos] else: lhs_products = rest lhs_products_stripped = lhs_products.strip() if not lhs_products_stripped: continue prod = lhs_products_stripped.split()[0] # e.g. LCH4byOH, LCH4byCl, LCH4inStrat for k in range(1, Njac + 1): idx = f"{k:04d}" new_line = line # Replace CH4 with CH4_jacXXXX as a whole word (avoid touching LCH4...) new_line = re.sub(r"\bCH4\b", f"CH4_jac{idx}", new_line) # Replace the product species once with product_jacXXXX new_line = re.sub( rf"\b{re.escape(prod)}\b", f"{prod}_jac{idx}", new_line, count=1, ) out_lines.append(new_line) # Write result to stdout sys.stdout.writelines(out_lines) ================================================ FILE: KPP/custom/.gitignore ================================================ *.[oax] *.mod *.MOD *~* geos geostomas geosapm *.pp.* *.pdb *.inst.* *.continue.* *.ppk core.* ================================================ FILE: KPP/custom/CMakeLists.txt ================================================ # KPP/custom/CMakeLists.txt #---------------------------------------------------------------------------- # Determine KPP integrator name and set corresponding C-preprocessor flags. # This enables integrator-specific handling in the custom mechanism. #---------------------------------------------------------------------------- # Get integrator name EXECUTE_PROCESS( COMMAND grep \#INTEGRATOR ${CMAKE_CURRENT_SOURCE_DIR}/custom.kpp OUTPUT_VARIABLE RESULT ) separate_arguments(SUBSTRINGS UNIX_COMMAND "${RESULT}") list(GET SUBSTRINGS 1 KPP_INTEGRATOR_NAME) string(TOLOWER "${KPP_INTEGRATOR_NAME}" KPP_INTEGRATOR_NAME) # Set C-preprocessor flags if(KPP_INTEGRATOR_NAME STREQUAL "rosenbrock_autoreduce") set(KPP_INTEGRATOR_AUTOREDUCE ON CACHE BOOL "Integrator is rosenbrock_autoreduce?") target_compile_definitions( GEOSChemBuildProperties INTERFACE KPP_INTEGRATOR_AUTOREDUCE ) endif() # Print results gc_pretty_print(SECTION "KPP integrator (read from custom.kpp)") gc_pretty_print(VARIABLE KPP_INTEGRATOR_NAME) gc_pretty_print(VARIABLE KPP_INTEGRATOR_AUTOREDUCE IS_BOOLEAN) #---------------------------------------------------------------------------- # Add libKPPFirstPass.a -- custom mechanism #---------------------------------------------------------------------------- add_library(KPP_FirstPass STATIC EXCLUDE_FROM_ALL gckpp_Precision.F90 gckpp_Parameters.F90 gckpp_Monitor.F90 ) # Dependencies target_link_libraries(KPP_FirstPass PUBLIC GEOSChemBuildProperties ) #---------------------------------------------------------------------------- # Add libKPP.a -- custom mechanism (edit as necessary) #---------------------------------------------------------------------------- add_library(KPP STATIC EXCLUDE_FROM_ALL commonIncludeVars.H fullchem_AutoReduceFuncs.F90 fullchem_HetStateFuncs.F90 fullchem_RateLawFuncs.F90 fullchem_SulfurChemFuncs.F90 gckpp_Function.F90 gckpp_Global.F90 gckpp_Initialize.F90 gckpp_Integrator.F90 gckpp_Jacobian.F90 gckpp_JacobianSP.F90 gckpp_LinearAlgebra.F90 gckpp_Model.F90 gckpp_Monitor.F90 gckpp_Parameters.F90 gckpp_Precision.F90 gckpp_Rates.F90 gckpp_Util.F90 rateLawUtilFuncs.F90 # # Build these stub modules to avoid compilation errors. # These are symbolic links to files in the ../stubs folder. # stub_aciduptake_DustChemFuncs.F90 stub_carbon_Funcs.F90 stub_Hg_HetStateFuncs.F90 ) # Dependencies target_link_libraries(KPP PUBLIC GeosUtil ) # Treat REAL as if it were REAL*8 target_compile_options(KPP PRIVATE "" $<$:-r8> $<$:-fdefault-real-8 -fdefault-double-8> ) # FOR GFORTRAN ONLY: Disable variable tracking for gckpp_Jacobian.F90 in the # KPP/fullchem mechanism generated with KPP. This will avoid a compiler # warning and a restart of the KPP library build. This only has to be done # for release types "Release" and "RelWithDebugInfo". # -- Bob Yantosca (16 Feb 2023) if("${CMAKE_Fortran_COMPILER_ID}" STREQUAL "GNU") if(NOT ("${CMAKE_Fortran_COMPILER_ID}" STREQUAL "Debug")) set_source_files_properties(gckpp_Jacobian.F90 PROPERTIES COMPILE_OPTIONS -fno-var-tracking-assignments ) endif() endif() ================================================ FILE: KPP/custom/README.md ================================================ # Custom KPP mechanism folder This folder is where you can add your own modified KPP mechanism. The default files in this folder are based on the fullchem mechanism. ## User-modifiable configuration files 1. **custom.kpp**: Master KPP specification file (which is a copy of ../fullchem/fullchem.kpp). The **gckpp.kpp* file symbolically links to this file. 2. **custom.eqn**: KPP equation file (which is a copy of ../fullchem/fullchem.eqn). The following files link to files in the KPP/fullchem folder. If you need to modify these, consider removing the symbolic links and making a copy of these files. You can rename these to custom_*.F90, etc. 3. **fullchem_HetStateFuncs.F90**: This is a symbolic link to the file ../fullchem/fullchem_HetStateFuncs.F90, which is the module containing functions that initialize the HetChem state object. This module is only needed for full-chemistry simulations. 4. **fullchem_SulfurChemFuncs.F90**: This is a symbolic link to the file ../fullchem/fullchem_SulfurChemFuncs.F90. This contains subroutines to compute rates for SO2 reactions in cloud, and only applies to full-chemistry simulations. 5. **fullchem_RateLawFuncs.F90**: This is a symbolic link to the file ../fullchem/fullchem_RateLawFuncs.F90. This contains functions to compute rates for heterogenous chemistry reactions, and only applies to full-chemistry simulations. 6. **rateLawUtilFuncs.F90**: This module contains several utility functions for heterogeneous chemistry reactions (mostly for the full-chemistry simulations). 7. **commonIncludeVars.H**: This contains common global variables used by the KPP mechanisms in GEOS-Chem. These will be inlined into the gckpp_Global.F90 file. The following files link to the KPP/stubs folder. These include stub subroutines that are used by other chemical mechanisms. The stubs are needed in order to avoid compilation errors. 1. **stub_aciduptake_DustChemFuncs.F90** Stub routines corresponding to the KPP/aciduptake/aciduptake_DustChemFuncs.F90 module, 2. **stub_Hg_HetStateFuncs.F90**: Stub routines corresponding to the KPP/Hg/Hg_HetStateFuncs.F90 module. ## Files generated by KPP With the exception of the symbolic link gckpp.kpp, all files starting with the prefix "gckpp_" are generated by KPP. These contain the specifications of the chemical mechanism in efficient source code. For more information, please see: 1. KPP documentation at: https://kpp.readthedocs.io 2. [Guide to Using KPP with GEOS-Chem](https://geos-chem.readthedocs.io/en/latest/geos-chem-shared-docs/supplemental-guides/using-kpp-with-gc.html) ================================================ FILE: KPP/custom/custom.eqn ================================================ { custom.eqn ------------------------------------------------------------------------------- DESCRIPTION ------------------------------------------------------------------------------- GEOS-Chem KPP file containing species and equations for the full chemistry (NOx-Ox-HC-Aer-Br-Cl-I) mechanism. =============================================================================== FILE HISTORY =============================================================================== Version: 14.5.0 Please see "CHANGELOG_fullchem.md" in this folder for the revision history of the fullchem mechanism. =============================================================================== DEVELOPERS (initials and email/GitHub) =============================================================================== * BA : Becky Alexander : @beckyalexander * BH : Rebekah (Bex) Horner : @bexhorner * BHH : Barron Henderson : @barronh * BMY : Bob Yantosca : @yantosca * CCM : Christopher Chan Miller : cmiller@fas.harvard.edu * CDH : Christopher Holmes : @cdholmes * DBM : Dylan Millet : @dylanbm * EAM : Eloise Marais : @eamarais * ECB : Ellie Browne : eleanor.browne@colorado.edu * EVF : Emily Fischer : evf@rams.colostate.edu * EWL : Lizzie Lundgren : @lizziel * FP : Fabien Paulot : fabien.paulot@noaa.gov * HOTP : Havala Pye : pye.havala@epa.gov * JAF : Jenny Fisher : @jennyfisher * JAS : Johan Schmidt : johanalbrechtschmidt@gmail.com * JFB : Jared Brewer : @JFBrewer * JMAO : Jingqiu Mao : @jingqiumao * JMM : Jonathan Moch : jmoch@g.harvard.edu * JPP : Justin Parrella : justin.parrella@gmail.com * KHB : Kelvin Bates : @kelvinhb * KRT : Katie Travis : @ktravis213 * LZHU : Lei Zhu : leizhu@fas.harvard.edu * MJE : Mat Evans : @msl3v * MPS : Melissa Sulprizio : @msulprizio * MSL : Michael Long : @msl3v * PK : Prasad Kasibhatla : @pkasibhatla * QJC : Qianjie Chen : chenqjie@uw.edu * RHS : Rebecca Schwantes : rschwant@caltech.edu * SAS : Sarah Safieddine : sarahsaf@mit.edu * SDE : Sebastian Eastham : @sdeastham * TMS : Tomas Sherwen : @tsherwen * TSC : Therese Carter : @tscarter * XC : Xin Chen : @xin-chen-github * XW : Xuan Wang : @xuanw0316 =============================================================================== REFERENCES (alphabetical order) =============================================================================== * Atkinson2003 : https://doi.org/10.1021/cr0206420 * Atkinson2006 : https://doi.org/10.5194/acp-6-3625-2006 * Bates2014 : https://doi.org/10.1021/jp4107958 * Bates2019 : https://doi.org/10.5194/acp-19-9613-2019 * Bates2021a : https://doi.org/10.1029/2020JD033439 * Bates2021b : https://doi.org/10.5194/acp-2021-605 * Brewer2023 : https://doi.org/10.1029/2022JD037257 * Browne2011 : https://doi.org/10.5194/acp-11-4209-2011 * Browne2014 : https://doi.org/10.5194/acp-14-1225-2014 * Carter2022 : https://doi.org/10.5194/acp-22-12093-2022 * Chen2017 : https://doi.org/10.1002/2017GL073812 * Crounse2012 : https://doi.org/10.1021/jp211560u * Eastham2014 : https://doi.org/10.1016/j.atmosenv.2014.02.001 * Fischer2014 : https://doi.org/10.5194/acp-14-2679-2014 * Fisher2016 : https://doi.org/10.5194/acp-16-5969-2016 * Fisher2018 : https://doi.org/10.1029/2018JD029046 * Fry2014 : https://doi.org/10.1021/es502204x * Gill2002 : https://doi.org/10.1021/jp013532, 2002. * Goliff2013 : https://doi.org/10.1016/j.atmosenv.2012.11.038 * Jacobs2014 : https://doi.org/10.5194/acp-14-8933-2014 * Jenkin2015 : https://doi.org/10.5194/acp-15-11433-2015 * Kasibhatla2018 : https://doi.org/10.5194/acp-18-11185-2018 * IUPAC ROO_19 : https://iupac-aeris.ipsl.fr/htdocs/datasheets/pdf/ROO_19_CH3O2_NO3.pdf * JPL 10-6 : https://jpldataeval.jpl.nasa.gov/previous_evaluations.html * JPL 15-10 : https://jpldataeval.jpl.nasa.gov/previous_evaluations.html * JPL 19-5 : https://jpldataeval.jpl.nasa.gov * Kwon2020 : https://doi.org/10.1525/elementa.2021.00109 * Lee2014 : https://doi.org/10.1021/jp4107603 * Marais2016 : https://doi.org/10.5194/acp-16-1603-2016 * MCMv3.3 : https://mcm.york.ac.uk/MCM/ * Miller2017 : https://doi.org/10.5194/acp-2016-1042 * Millet2015 : https://doi.org/10.5194/acp-15-6283-2015 * Moch2020 : https;//doi.org/10.1029/2020JD032706, 2020. * Muller2014 : https://doi.org/10.5194/acp-14-2497-2014 * Parrella2012 : https://doi.org/10.5194/acp-12-6723-2012 * Paulot2009 : https://doi.org/10.5194/acp-9-1479-2009 and https://doi.org/10.1126/science.1172910 * Peeters2010 : https://doi.org/10.1039/C0CP00811G * Peeters2014 : https://doi.org/10.1021/jp5033146. * Pye2010 : https://doi.org/10.5194/acp-10-11261-2010 * Roberts1992 : https://doi.org/10.1002/kin.550240307 * Sherwen2016b : https://doi.org/10.5194/acp-16-12239-2016 * Sherwen2017 : https://doi.org/10.1039/C7FD00026J * StClair2016 : https://doi.org/10.1021/acs.jpca.5b065322016 * Travis2016 : https://doi.org/10.5194/acp-16-13561-2016 * Travis2024 : https://doi.org/10.5194/egusphere-2024-951 * Wolfe2012 : https://doi.org/ 10.1039/C2CP40388A, 2012 * Xie2013 : https://doi.org/10.5194/acp-13-8439-2013 =============================================================================== NOTES =============================================================================== Comment format is Species - Molecular formula; full name Equations - Date modified; Reference; Developer initials } #include atoms.kpp #DEFVAR A3O2 = IGNORE; {CH3CH2CH2OO; Primary RO2 from C3H8} ACR = IGNORE; {C3H4O, Acrolein} ACRO2 = IGNORE; {C3H5O4} ACO3 = IGNORE; {C3H3O3} ACET = IGNORE; {CH3C(O)CH3; Acetone} ACTA = IGNORE; {CH3C(O)OH; Acetic acid} AERI = IGNORE; {I; Dissolved iodine} ALD2 = IGNORE; {CH3CHO; Acetaldehyde} ALK4 = IGNORE; {>= C4 alkanes} ALK4N1 = IGNORE; {RO2 from ALKN2} ALK4N2 = IGNORE; {RO2NO; >= C4 alkylnitrates from ALK4} ALK4O2 = IGNORE; {RO2 from ALK4} ALK4P = IGNORE; {CH3CH2CH2CH2OOH; Peroxide from ALK4O2} ALK6 = IGNORE; {>= C6 alkanes} AONITA = IGNORE; {Aerosol-phase organic nitrate from aromatic precursors} APAN = IGNORE; {C3H3NO5; Acryloyl peroxynitrate} AROMCHO = IGNORE; {C5H6O4} AROMRO2 = IGNORE; {generic peroxy radical from aromatic oxidation} AROMP4 = IGNORE; {Generic C4 product from aromatic oxidation} AROMP5 = IGNORE; {Generic C5 product from aromatic oxidation} AROMPN = IGNORE; {Lumped aromatic PN} AROMCO3 = IGNORE; {Lumped aromatic acyl peroxy radical} ATO2 = IGNORE; {CH3C(O)CH2O2; RO2 from acetone} ATOOH = IGNORE; {CH3C(O)CH2OOH; ATO2 peroxide} B3O2 = IGNORE; {CH3CH(OO)CH3; Secondary RO2 from C3H8} BALD = IGNORE; {benzaldehyde and tolualdehyde} BENZ = IGNORE; {C6H6; Benzene} BENZO = IGNORE; {C6H5O radical} BENZO2 = IGNORE; {C6H5O2 radical} BENZP = IGNORE; {hydroperoxide from BENZO2} Br = IGNORE; {Br; Atomic bromine} Br2 = IGNORE; {Br2; Molecular bromine} BrCl = IGNORE; {BrCl; Bromine chloride} BrNO2 = IGNORE; {BrNO2; Nitryl bromide} BrNO3 = IGNORE; {BrNO3; Bromine nitrate} BrO = IGNORE; {BrO; Bromine monoxide} BRO2 = IGNORE; {C6H5O2 ; Peroxy radical from BENZ oxidation} BrSALA = IGNORE; {Br; Fine sea salt bromine} BrSALC = IGNORE; {Br; Course sea salt bromine} BUTDI = IGNORE; {Butenedial} BUTN = IGNORE; {BUTN; alkyl nitrate from C4H6} BUTO2 = IGNORE; {C4H7O3} BZCO3 = IGNORE; {benzoylperoxy radical} BZCO3H = IGNORE; {perbenzoic acid} BZPAN = IGNORE; {peroxybenzoyl nitrate} C2H2 = IGNORE; {C2H2; Ethyne} C2H4 = IGNORE; {Ethylene} C2H6 = IGNORE; {C2H6; Ethane} C3H8 = IGNORE; {C3H8; Propane} C4H6 = IGNORE; {C4H6; 1,4 butadiene} C4HVP1 = IGNORE; {C4 hydroxy-vinyl-peroxy radicals from HPALDs} C4HVP2 = IGNORE; {C4 hydroxy-vinyl-peroxy radicals from HPALDs} CCl4 = IGNORE; {CCl4; Carbon tetrachloride} CFC11 = IGNORE; {CCl3F ; CFC-11, R-11, Freon 11} CFC12 = IGNORE; {CCl2F2; CFC-12, R-12, Freon 12} CFC113 = IGNORE; {C2Cl3F3; CFC-113, Freon 113} CFC114 = IGNORE; {C2Cl2F4; CFC-114, Freon 114} CFC115 = IGNORE; {C2ClF5; CFC-115, Freon 115} CH2Br2 = IGNORE; {CH3Br2; Dibromomethane} CH2Cl2 = IGNORE; {CH2Cl2; Dichloromethane} CH2I2 = IGNORE; {CH2I2; Diiodomethane} CH2IBr = IGNORE; {CH2IBr; Bromoiodomethane} CH2ICl = IGNORE; {CH2ICl; Chloroiodomethane} CH2O = IGNORE; {CH2O; Formaldehyde} CH2OO = IGNORE; {CH2OO; Criegee intermediate} CH3Br = IGNORE; {CH3Br; Methyl bromide} CH3CCl3 = IGNORE; {CH3CCl3; Methyl chloroform} CH3CHOO = IGNORE; {CH3CHOO; Criegee intermediate} CH3Cl = IGNORE; {CH3Cl; Chloromethane} CH3I = IGNORE; {CH3I; Methyl iodide} CH4 = IGNORE; {CH4; Methane} CHBr3 = IGNORE; {CHBr3; Tribromethane} CHCl3 = IGNORE; {CHCl3; Chloroform} Cl = IGNORE; {Cl; Atomic chlorine} Cl2 = IGNORE; {Cl2; Molecular chlorine} Cl2O2 = IGNORE; {Cl2O2; Dichlorine dioxide} ClNO2 = IGNORE; {ClNO2; Nitryl chloride} ClNO3 = IGNORE; {ClONO2; Chlorine nitrate} ClO = IGNORE; {ClO; Chlorine monoxide} ClOO = IGNORE; {ClOO; Chlorine dioxide} CO = IGNORE; {CO; Carbon monoxide} CO2 = IGNORE; {CO2; Carbon dioxide} CSL = IGNORE; {cresols and xylols} DMS = IGNORE; {(CH3)2S; Dimethylsulfide} EBZ = IGNORE; {C6H5CH2CH3; Ethylbenzene} EOH = IGNORE; {C2H5OH; Ethanol} ETHLN = IGNORE; {CHOCH2ONO2; Ethanal nitrate} ETHN = IGNORE; {stable hydroxy-nitrooxy-ethane} ETHP = IGNORE; {stable hydroxy-hydroperoxy-ethane} ETNO3 = IGNORE; {C2H5ONO2; Ethyl nitrate} ETO = IGNORE; {hydroxy-alkoxy-ethane radical} ETOO = IGNORE; {hydroxy-peroxy-ethane radical, formed from ethene + OH} ETO2 = IGNORE; {CH3CH2OO; Ethylperoxy radical} ETP = IGNORE; {CH3CH2OOH; Ethylhydroperoxide} FURA = IGNORE; {FURAN conglomerate} GCO3 = IGNORE; {HOCH2CO3: PHAN peroxyacetyl radical} GLYC = IGNORE; {HOCH2CHO; Glycoaldehyde} GLYX = IGNORE; {CHOCHO; Glyoxal} H = IGNORE; {H; Atomic hydrogen} H1211 = IGNORE; {CBrClF2; H-1211} H1301 = IGNORE; {CBrF3; H-1301} H2402 = IGNORE; {C2Br2F4; H-2402} H2O = IGNORE; {H2O; Water vapor} H2O2 = IGNORE; {H2O2; Hydrogen peroxide} HAC = IGNORE; {HOCH2C(O)CH3; Hydroxyacetone} HACTA = IGNORE; {HOCH2CO2H; hydroxyacetic acid} HBr = IGNORE; {HBr; Hypobromic acid} HC5A = IGNORE; {C5H8O2; Isoprene-4,1-hydroxyaldehyde} HCFC123 = IGNORE; {C2HCl2F3; HCFC-123, R-123, Freon 123} HCFC141b = IGNORE; {C(CH3)Cl2F; HCFC-141b, R-141b, Freon 141b} HCFC142b = IGNORE; {C(CH3)ClF2; HCFC-142b, R-142b, Freon 142b} HCFC22 = IGNORE; {CHClF2 ; HCFC-22, R-22, Freon 22} HCl = IGNORE; {HCl; Hydrochloric acid} HCOOH = IGNORE; {HCOOH; Formic acid} HI = IGNORE; {HI; Hydrogen iodide} HMHP = IGNORE; {HOCH2OOH; Hydroxymethyl hydroperoxide} HMML = IGNORE; {C4H6O3; Hydroxymethyl-methyl-a-lactone} HMS = IGNORE; {HOCH2SO3-; hydroxymethanesulfonate} HNO2 = IGNORE; {HONO; Nitrous acid} HNO3 = IGNORE; {HNO3; Nitric acid} HNO4 = IGNORE; {HNO4; Pernitric acid} HO2 = IGNORE; {HO2; Hydroperoxyl radical} HOBr = IGNORE; {HOBr; Hypobromous acid} HOCl = IGNORE; {HOCl; Hypochlorous acid} HOI = IGNORE; {HOI; Hypoiodous acid} HONIT = IGNORE; {2nd gen monoterpene organic nitrate} HPALD1 = IGNORE; {O=CHC(CH3)=CHCH2OOH; d-4,1-C5-hydroperoxyaldehyde} HPALD1OO = IGNORE; {peroxy radicals from HPALD1} HPALD2 = IGNORE; {HOOCH2C(CH3)=CHCH=O; d-1,4-C5-hydroperoxyaldehyde} HPALD2OO = IGNORE; {peroxy radicals from HPALD2} HPALD3 = IGNORE; {O=CHC(CH3)OOHCH=CH2; b-2,1-C5-hydroperoxyaldehyde} HPALD4 = IGNORE; {CH2=C(CH3)CHOOHCH=O; b-3,4-C5-hydroperoxyaldehyde} HPETHNL = IGNORE; {CHOCH2OOH; hydroperoxyethanal} I = IGNORE; {I; Atmoic iodine} I2 = IGNORE; {I2; Molecular iodine} I2O2 = IGNORE; {I2O2; Diiodine dioxide} I2O3 = IGNORE; {I2O3; Diiodine trioxide} I2O4 = IGNORE; {I2O4; Diiodine tetraoxide} IBr = IGNORE; {IBr; Iodine monobromide} ICHE = IGNORE; {C5H8O3; Isoprene hydroxy-carbonyl-epoxides} ICHOO = IGNORE; {peroxy radical from IEPOXD} ICl = IGNORE; {ICl; Iodine monochloride} ICN = IGNORE; {C5H7NO4; Lumped isoprene carbonyl nitrates} ICNOO = IGNORE; {peroxy radicals from ICN} ICPDH = IGNORE; {C5H10O5; Isoprene dihydroxy hydroperoxycarbonyl} IDC = IGNORE; {C5H6O2; Lumped isoprene dicarbonyls} IDCHP = IGNORE; {C5H8O5; Isoprene dicarbonyl hydroxy dihydroperoxide} IDHDP = IGNORE; {C5H12O6; Isoprene dihydroxy dihydroperoxide} IDHNBOO = IGNORE; {peroxy radicals from INPB} IDHNDOO1 = IGNORE; {peroxy radicals from INPD} IDHNDOO2 = IGNORE; {peroxy radicals from INPD} IDHPE = IGNORE; {C5H10O5; Isoprene dihydroxy hydroperoxy epoxide} IDN = IGNORE; {C5H8N2O6; Lumped isoprene dinitrates} IDNOO = IGNORE; {peroxy radicals from IDN} IEPOXA = IGNORE; {C5H10O3; trans-Beta isoprene epoxydiol} IEPOXAOO = IGNORE; {peroxy radical from trans-Beta isoprene epoxydiol} IEPOXB = IGNORE; {C5H10O3; cis-Beta isoprene epoxydiol} IEPOXBOO = IGNORE; {peroxy radical from cis-Beta isoprene epoxydiol} IEPOXD = IGNORE; {C5H10O3; Delta isoprene epoxydiol} IHN1 = IGNORE; {C5H9NO4; Isoprene-d-4-hydroxy-1-nitrate} IHN2 = IGNORE; {C5H9NO4; Isoprene-b-1-hydroxy-2-nitrate} IHN3 = IGNORE; {C5H9NO4; Isoprene-b-4-hydroxy-3-nitrate} IHN4 = IGNORE; {C5H9NO4; Isoprene-d-1-hydroxy-4-nitrate} IHOO1 = IGNORE; {peroxy radical from OH addition to isoprene at C1} IHOO4 = IGNORE; {peroxy radical from OH addition to isoprene at C4} IHPNBOO = IGNORE; {peroxy radicals from INPB} IHPNDOO = IGNORE; {peroxy radicals from INPD} IHPOO1 = IGNORE; {peroxy radical from ISOPOOH} IHPOO2 = IGNORE; {peroxy radical from ISOPOOH} IHPOO3 = IGNORE; {peroxy radical from ISOPOOH} INA = IGNORE; {alkoxy radical from INO2D} INDIOL = IGNORE; {Generic aerosol phase organonitrate hydrolysis product} INO = IGNORE; {INO; Nitrosyl iodide} INO2B = IGNORE; {beta-peroxy radicals from isoprene + NO3} INO2D = IGNORE; {delta-peroxy radicals from isoprene + NO3} INPB = IGNORE; {C5H9NO5; Lumped isoprene beta-hydroperoxy nitrates} INPD = IGNORE; {C5H9NO5; Lumped isoprene delta-hydroperoxy nitrates} IO = IGNORE; {IO; Iodine monoxide} IONITA = IGNORE; {Aerosol-phase organic nitrate from isoprene precursors} IONO = IGNORE; {IONO; Nitryl iodide} IONO2 = IGNORE; {IONO2; Iodine nitrate} IPRNO3 = IGNORE; {C3H8ONO2; Isopropyl nitrate} ISALA = IGNORE; {I; Fine sea salt iodine} ISALC = IGNORE; {I; Coarse sea salt iodine} ISOP = IGNORE; {CH2=C(CH3)CH=CH2; Isoprene} ISOPNOO1 = IGNORE; {peroxy radicals from IHN2} ISOPNOO2 = IGNORE; {peroxy radicals from IHN3} ITCN = IGNORE; {C5H9NO7; Lumped tetrafunctional isoprene carbonyl-nitrates} ITHN = IGNORE; {C5H11NO7; Lumped tetrafunctional isoprene hydroxynitrates} KO2 = IGNORE; {RO2 from >3 ketones} LBRO2H = IGNORE; {Dummy spc to track oxidation of BRO2 by HO2} LBRO2N = IGNORE; {Dummy spc to track oxidation of BRO2 by NO} LIMO = IGNORE; {C10H16; Limonene} LIMO2 = IGNORE; {RO2 from LIMO} APINP = IGNORE; APINN = IGNORE; PINAL = IGNORE; PINPAN = IGNORE; PINONIC = IGNORE; PINO3H = IGNORE; C96O2H = IGNORE; C96N = IGNORE; BPINO = IGNORE; BPINN = IGNORE; BPINP = IGNORE; BPINOOH = IGNORE; BPINON = IGNORE; LIMAL = IGNORE; LIMN = IGNORE; LIMKET = IGNORE; LIMKB = IGNORE; LIMNB = IGNORE; LIMPAN = IGNORE; LIMO2H = IGNORE; LIMO3H = IGNORE; MYRCO = IGNORE; PIN = IGNORE; APINO2 = IGNORE; PINO3 = IGNORE; C96O2 = IGNORE; BPINO2 = IGNORE; BPINOO2 = IGNORE; LIMKO2 = IGNORE; LIMO3 = IGNORE; LISOPOH = IGNORE; {Dummy spc to track oxidation of ISOP by OH} LISOPNO3 = IGNORE; {Dummy spc to track oxidation of ISOP by NO3} LNRO2H = IGNORE; {Dummy spc to track oxidation of NRO2 by HO2} LNRO2N = IGNORE; {Dummy spc to track oxidation of NRO2 by NO} LTRO2H = IGNORE; {Dummy spc to track oxidation of TRO2 by HO2} LTRO2N = IGNORE; {Dummy spc to track oxidation of TRO2 by NO} LVOC = IGNORE; {C5H14O5; Gas-phase low-volatility non-IEPOX product of ISOPOOH (RIP) oxidation} LVOCOA = IGNORE; {C5H14O5; Aerosol-phase low-volatility non-IEPOX product of ISOPOOH (RIP) oxidation} LXRO2H = IGNORE; {Dummy spc to track oxidation of XRO2 by HO2} LXRO2N = IGNORE; {Dummy spc to track oxidation of XRO2 by NO} MACR = IGNORE; {CH2=C(CH3)CHO; Methacrolein} MACR1OO = IGNORE; {peroxyacyl radical from MACR + OH} MACR1OOH = IGNORE; {CH2=C(CH3)C(O)OOH; Peracid from MACR} MACRNO2 = IGNORE; {Product of MCRHN + OH} MAP = IGNORE; {CH3C(O)OOH; Peroxyacetic acid} MCO3 = IGNORE; {CH3C(O)OO; Peroxyacetyl radical} MCRDH = IGNORE; {C4H8O3; Dihydroxy-MACR} MCRENOL = IGNORE; {C4H6O2; Lumped enols from MVK/MACR} MCRHN = IGNORE; {HOCH2C(ONO2)(CH3)CHO; Hydroxynitrate from MACR} MCRHNB = IGNORE; {O2NOCH2C(OH)(CH3)CHO; Hydroxynitrate from MACR} MCRHP = IGNORE; {HOCH2C(OOH)(CH3)CHO; Hydroxy-hydroperoxy-MACR} MCROHOO = IGNORE; {peroxy radical from MACR + OH} MCT = IGNORE; {methylcatechols} MEKCO3 = IGNORE; {MEK peroxyacetyl radical} MEK = IGNORE; {RC(O)R; Methyl ethyl ketone} MEKPN = IGNORE; {MEK peroxynitrate, C3PAN1 from MCM} MENO3 = IGNORE; {CH3ONO2; methyl nitrate} MGLY = IGNORE; {CH3COCHO; Methylglyoxal} MO2 = IGNORE; {CH3O2; Methylperoxy radical} MOH = IGNORE; {CH3OH; Methanol} MONITA = IGNORE; {Aerosol-phase organic nitrate from monoterpene precursors} MONITS = IGNORE; {Saturated 1st gen monoterpene organic nitrate} MONITU = IGNORE; {Unsaturated 1st gen monoterpene organic nitrate} MP = IGNORE; {CH3OOH; Methylhydroperoxide} MPAN = IGNORE; {CH2=C(CH3)C(O)OONO2; Peroxymethacroyl nitrate (PMN)} MPN = IGNORE; {CH3O2NO2; Methyl peroxy nitrate} MSA = IGNORE; {CH4SO3; Methanesulfonic acid} MTPA = IGNORE; {Lumped monoterpenes: a-pinene, b-pinene, sabinene, carene} MTPO = IGNORE; {Other monoterpenes: Terpinene, terpinolene, myrcene, ocimene, other monoterpenes} MVK = IGNORE; {CH2=CHC(=O)CH3; Methyl vinyl ketone} MVKDH = IGNORE; {HOCH2CH2OHC(O)CH3; Dihydroxy-MVK} MVKHC = IGNORE; {C4H6O3; MVK hydroxy-carbonyl} MVKHCB = IGNORE; {C4H6O3; MVK hydroxy-carbonyl} MVKHP = IGNORE; {C4H8O4; MVK hydroxy-hydroperoxide} MVKN = IGNORE; {HOCH2CH(ONO2)C(=O)CH3; Hydroxynitrate from MVK} MVKOHOO = IGNORE; {peroxy radical from MVK + OH} MVKPC = IGNORE; {OCHCH(OOH)C(O)CH3; MVK hydroperoxy-carbonyl} N = IGNORE; {N; Atomic nitrogen} N2O = IGNORE; {N2O; Nitrous oxide} N2O5 = IGNORE; {N2O5; Dinitrogen pentoxide} NAP = IGNORE; {C10H8; Naphthalene; IVOC surrogate} NIT = IGNORE; {NIT; Fine mode inorganic nitrate} NITs = IGNORE; {NITs; Coarse mode inorganic nitrate} NO = IGNORE; {NO; Nitric oxide} NO2 = IGNORE; {NO2; Nitrogen dioxide} NO3 = IGNORE; {NO3; Nitrate radical} NPHEN = IGNORE; {nitrophenols} NPRNO3 = IGNORE; {C3H8ONO2; n-propyl nitrate} NRO2 = IGNORE; {Peroxy radical from NAP oxidation} O = IGNORE; {O(3P); Ground state atomic oxygen} O1D = IGNORE; {O(1D); Excited atomic oxygen} O3 = IGNORE; {O3; Ozone} O3A = IGNORE; {O3; Ozone in accum seasalt} O3C = IGNORE; {O3; Ozone in coarse seasalt} OClO = IGNORE; {OClO; Chlorine dioxide} OCS = IGNORE; {COS; Carbonyl sulfide} OH = IGNORE; {OH; Hydroxyl radical} OIO = IGNORE; {OIO; Iodine dioxide} OLND = IGNORE; {Monoterpene-derived NO3-alkene adduct} OLNN = IGNORE; {Monoterpene-derived NO3 adduct} OTHRO2 = IGNORE; {Other C2 RO2 not from C2H6 oxidation} PAN = IGNORE; {CH3C(O)OONO2; Peroxyacetylnitrate} PHAN = IGNORE; {OCC(=O)OON(=O)=O; peroxyhydroxyacetic nitric anhydride} PHEN = IGNORE; {phenol} PIO2 = IGNORE; {RO2 from MTPA} PIP = IGNORE; {Peroxides from MTPA} PO2 = IGNORE; {HOCH2CH(OO)CH3; RO2 from propene} PP = IGNORE; {HOCH2CH(OOH)CH3; Peroxide from PO2} PPN = IGNORE; {CH3CH2C(O)OONO2; Peroxypropionylnitrate} PRN1 = IGNORE; {O2NOCH2CH(OO)CH3; RO2 from propene + NO3} PROPNN = IGNORE; {CH3C(=O)CH2ONO2; Propanone nitrate} PRPE = IGNORE; {C3H6; >= C3 alkenes} PRPN = IGNORE; {O2NOCH2CH(OOH)CH3; Peroxide from PRN1} PYAC = IGNORE; {CH3COCOOH; Pyruvic acid} R4N1 = IGNORE; {RO2 from R4N2} R4N2 = IGNORE; {RO2NO; >= C4 alkylnitrates} R4O2 = IGNORE; {RO2 from >= C4 biogenic organics} R4P = IGNORE; {CH3CH2CH2CH2OOH; Peroxide from R4O2} R7O2 = IGNORE; {RO2 from ALK6} R7N1 = IGNORE; {RO2 from R7N2} R7P = IGNORE; {Peroxide from R7O2} R7N2 = IGNORE; {RO2NO; >= C6 alkylnitrates} RA3P = IGNORE; {CH3CH2CH2OOH; Peroxide from A3O2} RB3P = IGNORE; {CH3CH(OOH)CH3; Peroxide from B3O2} RCHO = IGNORE; {CH3CH2CHO; >= C3 aldehydes} RCO3 = IGNORE; {CH3CH2C(O)OO; Peroxypropionyl radical} RCOOH = IGNORE; {C2H5C(O)OH; > C2 organic acids} RIPA = IGNORE; {HOCH2C(OOH)(CH3)CH=CH2; 1,2-ISOPOOH} RIPB = IGNORE; {HOCH2C(OOH)(CH3)CH=CH2; 4,3-ISOPOOH} RIPC = IGNORE; {C5H10O3; d(1,4)-ISOPOOH} RIPD = IGNORE; {C5H10O3; d(4,1)-ISOPOOH} RNO3 = IGNORE; {C7H9NO6; lumped aromatic alkyl nitrate} ROH = IGNORE; {C3H7OH; > C2 alcohols} RP = IGNORE; {CH3CH2C(O)OOH; Peroxide from RCO3} SALAAL = IGNORE; {Accumulation mode seasalt aerosol alkalinity} SALCAL = IGNORE; {Coarse mode seasalt aerosol alkalinity} SALACL = IGNORE; {Cl; Fine chloride} SALCCL = IGNORE; {Cl; Coarse chloride} SALASO2 = IGNORE; {SO2; Fine seasalt} SALCSO2 = IGNORE; {SO2; Coarse seasalt} SALASO3 = IGNORE; {SO3--; Fine seasalt} SALCSO3 = IGNORE; {SO3--; Coarse chloride} SO2 = IGNORE; {SO2; Sulfur dioxide} SO4 = IGNORE; {SO4; Sulfate} SO4s = IGNORE; {SO4 on sea-salt; Sulfate} SOAGX = IGNORE; {CHOCHO; Aerosol-phase glyoxal} SOAIE = IGNORE; {C5H10O3; Aerosol-phase IEPOX} STYR = IGNORE; {C6H5CHCH2; Styrene} TLFUONE = IGNORE; {C5H6O2; lumped furanones} TLFUO2 = IGNORE; {C5H7O5; RO2 from TLFUONE} TMB = IGNORE; {C6H3(CH3)3; Trimethylbenzenes} TOLU = IGNORE; {C7H8; Toluene} TRO2 = IGNORE; {Peroxy radical from TOLU oxidation} XYLE = IGNORE; {C8H10; Xylene} XRO2 = IGNORE; {Peroxy radical from XYLE oxidation} PH2SO4 = IGNORE; {SO4 from gas-phase chemistry} PSO4AQ = IGNORE; {SO4 from cloud chemistry} ZRO2 = IGNORE; {Lumped RO2 from aromatics} #DEFFIX H2 = IGNORE; {H2; Molecular hydrogen} N2 = IGNORE; {N2; Molecular nitrogen} O2 = IGNORE; {O2; Molecular oxygen} #EQUATIONS // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% // %%%%% Reactions extracted from sulfate_mod.F90 (MSL, BMY) %%%%% // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% // // Seasalt SO2 + SALAAL + O3 = SO4 - SALAAL : K_MT(1); HCl + SALAAL = SALACL : K_MT(2); HNO3 + SALAAL = NIT : K_MT(3); SO2 + SALCAL + O3 = SO4s - SALCAL : K_MT(4); HCl + SALCAL = SALCCL : K_MT(5); HNO3 + SALCAL = NITs : K_MT(6); // // Cloud // S(IV) --> S(VI) SO2 + H2O2 = SO4 : K_CLD(1); SO2 + O3 = SO4 : K_CLD(2); SO2 {+O2} = SO4 : K_CLD(3); {Mn & Fe catalysis + HET_DROP_CHEM()} // // HMS CH2O + SO2 = HMS : K_CLD(4); {Sep 2021; Moch2020; MSL} HMS = SO2 + CH2O : K_CLD(5); {Sep 2021; Moch2020; MSL} HMS + OH + SO2 = 2SO4 + CH2O + 2PSO4AQ : K_CLD(6); {Sep 2021; Moch2020; MSL} // // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% // %%%%% Gas-phase chemistry reactions %%%%% // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% // // NOTES: // ------ // (1) Be sure to use "D" exponents to force double precision values! // (i.e. write 1.70d-12 instead of 1.70e-12, etc.). // -- Bob Yantosca (16 Dec 2020) // // (2) This file might not render properly if the right hand side of the // equation is longer than ~100 characters. This seems to be an issue // with the KPP code itself. See this Github issue at geoschem/KPP: // https://github.com/geoschem/KPP/issues/1 // -- Bob Yantosca (16 Dec 2020) // // (3) To avoid useless CPU cycles, we have introduced new rate law functions // that skip computing Arrhenius terms (and other terms) that would // evaluate to 1. The Arrhenius terms that are passed to the function // are in most cases now noted in the function name (e.g. GCARR_abc takes // Arrhenius A, B, C parameters but GCARR_ac only passes A and C // parameters because B=0 and the (300/T)*B would evaluate to 1). // This should be much more computationally efficient, as these functions // are called (sometimes multiple times) for each grid box where we // perform chemistry. // -- Bob Yantosca (25 Jan 2020) // O3 + NO = NO2 + O2 : GCARR_ac(3.00d-12, -1500.0d0); O3 + OH = HO2 + O2 : GCARR_ac(1.70d-12, -940.0d0); O3 + HO2 = OH + O2 + O2 : GCARR_ac(1.00d-14, -490.0d0); O3 + NO2 = O2 + NO3 : GCARR_ac(1.20d-13, -2450.0d0); O3 + MO2 = CH2O + HO2 + O2 : GCARR_ac(2.90d-16, -1000.0d0); {2014/02/03; Eastham2014; SDE} OH + OH = H2O + O : 1.80d-12; {2014/02/03; Eastham2014; SDE} OH + OH {+M} = H2O2 : GCJPLPR_aba(6.90d-31, 1.0d+00, 2.6d-11, 0.6d0); OH + HO2 = H2O + O2 : GCARR_ac(4.80d-11, 250.0d0); OH + H2O2 = H2O + HO2 : 1.80d-12; HO2 + NO = OH + NO2 : GCARR_ac(3.44d-12, 260.0d0); {2023/04/18; JPL 19-5; KHB} HO2 + HO2 = H2O2 + O2 : GC_HO2HO2_acac(3.00d-13, 460.0d0, 2.1d-33, 920.0d0); {2014/02/03; Eastham2014; SDE} OH + CO = HO2 + CO2 : GCJPLPR_abab(6.9d-33,2.1d0,1.1d-12,-1.3d0,0.6d0) + GCJPLAC_ababac(6.9d-33,2.1d0,1.1d-12,-1.3d0,1.85d-13,-6.5d1,0.6d0); {2023/04/18; JPL 19-5; KHB} OH + CH4 = MO2 + H2O : GCARR_ac(2.45d-12, -1775.0d0); MO2 + NO = CH2O + HO2 + NO2 : GC_RO2NO_B1_ac(2.80d-12, 300.0d0); {2019/05/10; Fisher2018; JAF} MO2 + NO = MENO3 : GC_RO2NO_A1_ac(2.80d-12, 300.0d0); {2019/05/10; Fisher2018; JAF} MO2 + HO2 = MP + O2 : GCARR_ac(4.10d-13, 750.0d0); MO2 + MO2 = MOH + CH2O + O2 : GC_TBRANCH_1_acac(9.50d-14, 390.0d0, 2.62d1, -1130.0d0); MO2 + MO2 = 2.000CH2O + 2.000HO2 : GC_TBRANCH_1_acac(9.50d-14, 390.0d0, 4.0d-2, 1130.0d0); MO2 + OH = 0.13MOH + 0.87CH2O + 1.74HO2 : 1.60d-10 ; {2021/09/22; Bates2021a; KHB,MSL} MP + OH = 0.700MO2 + 0.300OH + 0.300CH2O + H2O : GCARR_ac(3.80d-12, 200.0d0); ATOOH + OH = 0.700ATO2 + 0.300MGLY + 0.300OH + H2O : GCARR_ac(3.80d-12, 200.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} CH2O + OH = CO + HO2 + H2O : GCARR_ac(5.50d-12, 125.0d0); NO2 + OH {+M} = HNO3 {+M} : GCJPLPR_aba(1.80d-30, 3.0d+00, 2.8d-11, 0.6d0); HNO3 + OH = H2O + NO3 : GCJPLPR_abab(3.9d-31,7.2d0,1.5d-13,4.8d0,0.6d0) + GCJPLAC_ababac(3.9d-31,7.2d0,1.5d-13,4.8d0,3.7d-14,2.4d2,0.6d0); {2023/04/18; JPL 19-5; KHB} NO + OH {+M} = HNO2 {+M} : GCJPLPR_abab(7.00d-31, 2.6d+00, 3.60d-11, 0.1d0, 0.6d0); HNO2 + OH = H2O + NO2 : GCARR_ac(3.00d-12, 250.0d0); {2023/04/18; JPL 19-5; KHB} HO2 + NO2 {+M} = HNO4 {+M} : GCJPLPR_abab(1.90d-31, 3.4d+00, 4.0d-12, 0.3d0, 0.6d0); {2017/02/22; JPL 15-10; BHH,MJE} HNO4 {+M} = HO2 + NO2 : GCJPLPR_abcabc(9.05d-05, 3.4d0, -10900.0d0, 1.90d15, 0.3d0, -10900.0d0, 0.6d0); {2017/02/22; JPL 15-10; BHH,MJE} HNO4 + OH = H2O + NO2 + O2 : GCARR_ac(4.50d-13, 610.0d0); {2023/04/18; JPL 19-5; KHB} HO2 + NO3 = OH + NO2 + O2 : 3.50d-12; NO + NO3 = 2.000NO2 : GCARR_ac(1.70d-11, 125.0d0); {2023/04/18; JPL 19-5; KHB} OH + NO3 = HO2 + NO2 : 2.00d-11; {2023/04/18; JPL 19-5; KHB} NO2 + NO3 {+M} = N2O5 {+M} : GCJPLPR_abab(2.40d-30, 3.0d+00, 1.6d-12, -0.1d0, 0.6d0); {2017/02/22; JPL 15-10; BHH,MJE} N2O5 {+M} = NO2 + NO3 : GCJPLPR_abcabc(4.14d-04, 3.0d0, -10840.0d0, 2.76d14, -0.1d0, -10840.0d0, 0.6d0); {2017/02/22; JPL 15-10; BHH,MJE} HCOOH + OH = H2O + CO2 + HO2 : 4.00d-13; {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} MOH + OH = HO2 + CH2O : GCARR_ac(2.90d-12, -345.0d0); NO2 + NO3 = NO + NO2 + O2 : GCARR_ac(4.35d-14, -1335.0d0); {2023/04/18; JPL 19-5; KHB} NO3 + CH2O = HNO3 + HO2 + CO : 5.80d-16; ALD2 + OH = 0.950MCO3 + 0.050CH2O + 0.050CO + 0.050HO2 + H2O : GCARR_ac(4.63d-12, 350.0d0); {2014/02/03; Eastham2014; SDE} ALD2 + NO3 = HNO3 + MCO3 : GCARR_ac(1.40d-12, -1900.0d0); MCO3 + NO2 {+M} = PAN : GCJPLPR_abab(7.30d-29, 4.1d+00, 9.5d-12, 1.6d0, 0.6d0); {2023/04/18; JPL 19-5; KHB} PAN = MCO3 + NO2 : GCJPLEQ_acabab(9.00d-29, 14000.0d0, 7.3d-29, 4.1d0, 9.5d-12, 1.6d0, 0.6d0); {2023/04/18; JPL 19-5; KHB} PAN + OH = CH2O + CO + NO2 : 3.00d-14 ; MCO3 + NO = MO2 + NO2 + CO2 : GCARR_ac(8.10d-12, 270.0d0); C2H6 + OH = ETO2 + H2O : GCARR_ac(7.66d-12, -1020.0d0); {2013/02/12; JPL 10-6; BHH,JMAO,EAM} ETO2 + NO = ALD2 + NO2 + HO2 : GC_RO2NO_B2_aca(2.60d-12, 365.0d0, 2.0d0); {2019/05/10; Fisher2018; JAF} ETO2 + NO = ETNO3 : GC_RO2NO_A2_aca(2.60d-12, 365.0d0, 2.0d0); {2019/05/10; Fisher2018; JAF} OTHRO2 + NO = ALD2 + NO2 + HO2 : GCARR_ac(2.60d-12, 365.0d0); {2019/05/10; Fisher2018; JAF} C3H8 + OH = B3O2 : GCARR_abc(8.54d-13,1.54d0,-19.0d0); {2023/04/18; JPL 19-5; KHB} C3H8 + OH = A3O2 : GCARR_abc(1.97d-12,1.23d0,-675.0d0); {2023/04/18; JPL 19-5; KHB} A3O2 + NO = NO2 + HO2 + RCHO : GC_RO2NO_B2_aca(2.90d-12, 350.0d0, 3.0d0); {2019/05/10; Fisher2018; JAF} A3O2 + NO = NPRNO3 : GC_RO2NO_A2_aca(2.90d-12, 350.0d0, 3.0d0); {2019/05/10; Fisher2018; JAF} PO2 + NO = NO2 + HO2 + CH2O + ALD2 : GCARR_ac(2.70d-12, 350.0d0); // --- ALK6 chemistry from Lurman et al., 1986 ALK6 + OH = R7O2 : GCARR_ac(2.00d-11, -359.0d0); ALK6 + NO3 = HNO3 + R7O2 : 6.0d-17; R7O2 + NO = NO2 + 0.750RCHO + 0.250R4O2 + 0.250MEK + 0.750HO2 : GC_RO2NO_B2_aca(2.70d-12, 350.0d0, 7.0d0); R7O2 + NO = R7N2 : GC_RO2NO_A2_aca(2.70d-12, 350.0d0, 7.0d0); R7O2 + HO2 = R7P : 3.0d-12; R7P + OH = 0.500OH + 0.500R7O2 + 0.500RCHO : 1.00d-11; {} R7N2 + OH = R7N1 + H2O : 4.00d-12; R7N1 + NO = 2.000NO2 + 0.980CH2O + 0.650ALD2 + 1.240RCHO : GCARR_ac(4.20d-12, 180.0d0); {} R7N1 + HO2 = R7N2 : GCARR_ac(7.40d-13, 700.0d0); // ----- C4H6 --> APAN --- currently no RO2 RO2 C4H6 + OH = BUTO2 : GCARR_ac(1.48d-11, 448.0d0); C4H6 + NO3 = ACR + CH2O + NO2 : 1.03d-13; C4H6 + O3 = ACR + CH2O : GCARR_ac(1.34d-14,-2283.0d0); BUTO2 + NO = 0.058BUTN + 0.730ACR + 0.603CH2O + 0.513HO2 + 0.942NO2 + 0.326RCHO : GCARR_ac(2.70d-12, 360.0d0); { krt, MCM} BUTO2 + HO2 = 0.659GLYC + 0.894RCHO : GCARR_ac(1.82d-13,1300d0); {MCM} BUTN + OH = GLYC + NO2 + CH2O + HO2 + CO : 3.59d-11; {krt, MCM} ACR + OH = 0.680ACO3 + 0.255ACRO2 + 0.065CH2O + 0.065GLYX + 0.425HO2 : 2.00d-11; {krt, MCM} ACRO2 + NO = GLYC + NO2 + HO2 + CO : GCARR_ac(2.70d-12,360.0d0) ;{krt, MCM} ACRO2 + HO2 = GLYC + HO2 + CO : GCARR_ac(1.51d-13,1300.0d0) ;{krt, MCM} ACO3 + HO2 = CO + CH2O + 0.500GLYC + 0.250HO2 + 0.250OH : GCARR_ac(5.2d-13, 980.0d0) ; {krt, MCM} ACO3 + NO = HO2 + CO + CH2O + NO2 : GCARR_ac(7.5d-12, 290.0d0) ; {krt, MCM} ACO3 + NO2 {+M} = APAN : GCJPLPR_abab(9.70d-29, 5.6d+00, 9.3d-12, 1.5d0, 0.6d0); APAN = ACO3 + NO2 : GCJPLEQ_acabab(9.30d-29, 14000.0d0, 9.7d-29, 5.6d0, 9.3d-12, 1.5d0, 0.6d0); APAN + OH = GLYC + CO + NO3 : 1.47d-11 ; {krt, MCM} // ALK4 + OH = R4O2 : GCARR_ac(9.10d-12, -405.0d0); ALK4O2 + NO = NO2 + 0.340ACET + 0.190MEK + 0.190MO2 + 0.270HO2 + 0.340ALD2 + 0.150RCHO + 0.050A3O2 + 0.190B3O2 + 0.340OTHRO2 : GC_RO2NO_B2_aca(2.70d-12, 350.0d0, 4.5d0); {2023/05/14; Brewer2023; JFB} ALK4O2 + NO = ALK4N2 : GC_RO2NO_A2_aca(2.70d-12, 350.0d0, 4.5d0); {2023/05/14; Brewer2023; JFB} ALK4N1 + NO = 2.000NO2 + 0.640RCHO + 0.970ALD2 + 0.640CH2O : GCARR_ac(2.70d-12, 350.0d0); {2023/05/14; Brewer2023; JFB} R4O2 + NO = NO2 + 0.340ACET + 0.190MEK + 0.190MO2 + 0.270HO2 + 0.340ALD2 + 0.150RCHO + 0.050A3O2 + 0.190B3O2 + 0.340OTHRO2 : GC_RO2NO_B2_aca(2.70d-12, 350.0d0, 4.5d0); {2023/04/18; Bates2023; KHB} R4O2 + NO = R4N2 : GC_RO2NO_A2_aca(2.70d-12, 350.0d0, 4.5d0); R4N1 + NO = 2.000NO2 + 0.640RCHO + 0.970ALD2 + 0.640CH2O : GCARR_ac(2.70d-12, 350.0d0); {2023/04/18; Bates2023; KHB} ATO2 + NO = NO2 + CH2O + MCO3 : GCARR_ac(2.90d-12, 300.0d0); {2023/04/18; JPL 19-5; KHB} KO2 + NO = 0.928NO2 + 0.919ALD2 + 0.919MCO3 + 0.072ALK4N2 : GCARR_ac(2.70d-12, 350.0d0); {2023/04/18; Bates2023; KHB},{2023/05/14; Brewer2023; JFB} B3O2 + NO = NO2 + HO2 + ACET : GC_RO2NO_B2_aca(2.70d-12, 360.0d0, 3.0d0); {2019/05/10; Fisher2018; JAF} B3O2 + NO = IPRNO3 : GC_RO2NO_A2_aca(2.70d-12, 360.0d0, 3.0d0); {2019/05/10; Fisher2018; JAF} PRN1 + NO = 2.000NO2 + CH2O + ALD2 : GCARR_ac(2.70d-12, 350.0d0); ALK4 + NO3 = HNO3 + ALK4O2 : GCARR_ac(2.80d-12, -3280.0d0); {2023/05/14; Brewer2023; JFB} R4N2 + OH = R4N1 + H2O : 1.60d-12; ALK4N2 + OH = ALK4N1 + H2O : 1.60d-12; {2023/05/14; Brewer2023; JFB} ACTA + OH = MO2 + CO2 + H2O : GCARR_ac(3.15d-14, 920.0d0); {2013/02/12; JPL 10-6; BHH,JMAO,EAM} OH + RCHO = RCO3 + H2O : GCARR_ac(6.00d-12, 410.0d0); RCO3 + NO2 {+M} = PPN : GCJPLPR_abab(9.00d-28, 8.9d0, 7.7d-12, 0.2d0, 0.6d0); {JPL Eval 17} PPN = RCO3 + NO2 : GCJPLEQ_acabab(9.00d-29, 14000.0d0, 9.00d-28, 8.9d0, 7.7d-12, 0.2d0, 0.6d0); PPN + OH = ALD2 + CO + NO2 : 1.27d-12 ; RCO3 + NO = NO2 + 0.490OTHRO2 + 0.070A3O2 + 0.270B3O2 + CO2 : GCARR_ac(6.70d-12, 340.0d0); {2019/05/10; Fisher2018; JAF; 2023/04/18; Bates2023; KHB} RCHO + NO3 = HNO3 + RCO3 : 6.50d-15; ACET + OH = ATO2 + H2O : 1.33d-13 + 3.82d-11*exp(-2000.0d0/TEMP); {JPL Eval 17, p1-62-D31; EVF} A3O2 + MO2 = HO2 + 0.750CH2O + 0.750RCHO + 0.250MOH + 0.250ROH : 5.92d-13; PO2 + MO2 = HO2 + 0.500ALD2 + 1.250CH2O + 0.160HAC + 0.090RCHO + 0.250MOH + 0.250ROH : 5.92d-13; R4O2 + HO2 = R4P : GCARR_ac(7.40d-13, 700.0d0); R4N1 + HO2 = R4N2 : GCARR_ac(7.40d-13, 700.0d0); ALK4O2 + HO2 = ALK4P : GCARR_ac(7.40d-13, 700.0d0); {2023/05/14; Brewer2023; JFB} ALK4N1 + HO2 = ALK4N2 : GCARR_ac(7.40d-13, 700.0d0); {2023/05/14; Brewer2023; JFB} ATO2 + HO2 = 0.150MCO3 + 0.150OH + 0.150CH2O + 0.850ATOOH : GCARR_ac(8.60d-13, 700.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} KO2 + HO2 = 0.150OH + 0.150ALD2 + 0.150MCO3 + 0.850ATOOH + 0.850MO2 : GC_RO2HO2_aca(2.91d-13, 1300.0d0, 4.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE; 2023/04/18; Bates2023; KHB} B3O2 + HO2 = RB3P : GC_RO2HO2_aca(2.91d-13, 1300.0d0, 3.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} PRN1 + HO2 = PRPN : GC_RO2HO2_aca(2.91d-13, 1300.0d0, 3.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} // -------- MEKPN ------------------- MEK + OH = KO2 + H2O : GCARR_ac(1.50d-12, -90.0d0); {2023/04/18; Atkinson2006; KHB} KO2 + NO = 0.930NO2 + 0.620ALD2 + 0.620MCO3 + 0.070R4N2 + 0.310MEKCO3 + 0.310CH2O : GCARR_ac(2.70d-12, 350.0d0); MEKCO3 + NO2 {+M} = MEKPN : GCJPLPR_abab(9.70d-29, 5.6d+00, 9.3d-12, 1.5d0, 0.6d0); {JPL Eval 17} MEKPN = MEKCO3 + NO2 : GCJPLEQ_acabab(9.30d-29, 14000.0d0, 9.7d-29, 5.6d0, 9.3d-12, 1.5d0, 0.6d0); MEKPN + OH = GLYC + CO + NO2 : 4.51E-12; MEKCO3 + NO = NO2 + ETOO + CO2 : GCARR_ac(7.50d-12, 290.0d0); MEKCO3 + HO2 = 0.150O3 + 0.150RCOOH + 0.440CO2 + 0.440OH + 0.440ETOO + 0.410RP : GCARR_ac(5.20d-13, 980.0d0); // MO2 + ETO2 = 0.750CH2O + 0.750ALD2 + HO2 + 0.250MOH + 0.250EOH : 3.00d-13; MO2 + OTHRO2 = 0.750CH2O + 0.750ALD2 + HO2 + 0.250MOH + 0.250EOH : 3.00d-13; {2019/05/10; Fisher2018; JAF} MEK + NO3 = HNO3 + KO2 : 8.00d-16; R4O2 + MO2 = 0.160ACET + 0.100MEK + 0.090MO2 + 0.140HO2 + 0.160ALD2 + 0.130RCHO + 0.030A3O2 + 0.090B3O2 + 0.160OTHRO2 + 0.250MEK + 0.750CH2O + 0.250MOH + 0.380ROH + 0.500HO2 : 8.37d-14; {2023/04/18; Bates2023; KHB} R4N1 + MO2 = NO2 + 0.950CH2O + 0.380ALD2 + 0.580RCHO + 0.150R4O2 + 0.500HO2 + 0.250MOH + 0.375ROH : 8.37d-14; {2023/04/18; Bates2023; KHB} ALK4O2 + MO2 = 0.160ACET + 0.100MEK + 0.090MO2 + 0.140HO2 + 0.160ALD2 + 0.130RCHO + 0.030A3O2 + 0.090B3O2 + 0.160OTHRO2 + 0.250MEK + 0.750CH2O + 0.250MOH + 0.380ROH + 0.500HO2 : 8.37d-14; {2023/05/14; Brewer2023; JFB} ALK4N1 + MO2 = NO2 + 0.950CH2O + 0.380ALD2 + 0.580RCHO + 0.150R4O2 + 0.500HO2 + 0.250MOH + 0.375ROH : 8.37d-14; {2023/05/14; Brewer2023; JFB} ATO2 + MO2 = 0.300HO2 + 0.500CH2O + 0.300MCO3 + 0.200HAC + 0.500MGLY + 0.500MOH + 0.300CO2 : GCARR_ac(7.50d-13, 500.0d0); {2023/04/18; Bates2023; KHB} KO2 + MO2 = 0.500ALD2 + 0.500MCO3 + 0.250MEK + 0.750CH2O + 0.250MOH + 0.250ROH + 0.500HO2 + 0.250MO2 : 8.37d-14; {2023/04/18; Bates2023; KHB} B3O2 + MO2 = 0.500HO2 + 0.500ACET + 0.250ACET + 0.750CH2O + 0.250MOH + 0.250ROH + 0.500HO2 : 8.37d-14; PRN1 + MO2 = NO2 + 0.500CH2O + 0.500ALD2 + 0.250RCHO + 0.750CH2O + 0.250MOH + 0.250ROH + 0.500HO2 : 8.37d-14; EOH + OH = HO2 + ALD2 : 3.35d-12; {2013/02/12; JPL 10-6; BHH,JMAO,EAM} ROH + OH = HO2 + RCHO : GCARR_ac(4.40d-12, 70.0d0); {2023/04/18; JPL 19-5; KHB} ETO2 + ETO2 = 1.600ALD2 + 0.400EOH + 1.200HO2 : 6.80d-14; OTHRO2 + OTHRO2 = 1.600ALD2 + 0.400EOH + 1.200HO2 : 6.80d-14; {2019/05/10; Fisher2018; JAF} HO2 + ETO2 = ETP : GCARR_ac(7.50d-13, 700.0d0); {2023/04/18; JPL 19-5; KHB} HO2 + OTHRO2 = ETP : GCARR_ac(7.50d-13, 700.0d0); {2019/05/10; Fisher2018; JAF; 2023/04/18; JPL 19-5; KHB} A3O2 + HO2 = RA3P : GC_RO2HO2_aca(2.91d-13, 1300.0d0, 3.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} PO2 + HO2 = PP : GC_RO2HO2_aca(2.91d-13, 1300.0d0, 3.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} RCO3 + HO2 = 0.410RP + 0.150RCOOH + 0.150O3 + 0.440OH + 0.220OTHRO2 + 0.030A3O2 + 0.120B3O2 + 0.430CO2 : GCARR_ac(4.30d-13, 1040.0d0); {2019/05/10; Fisher2018; JAF; 2023/04/18; Bates2023; KHB} PRPE + OH {+M} = PO2 : GCJPLPR_abab(4.60d-27, 4.0d0, 2.6d-11, 1.3d0, 0.5d0); {2017/02/22; JPL 15-10; BHH,MJE} PRPE + O3 = 0.100CH4 + 0.280MO2 + 0.100CO2 + 0.120CH3CHOO + 0.500ALD2 + 0.220CH2OO + 0.500CH2O + 0.560CO + 0.280HO2 + 0.360OH : GCARR_ac(6.50d-15, -1900.0d0); {2015/09/25; Millet2015; DBM,EAM; 2023/04/18; JPL 19-5; KHB} GLYC + OH = 0.732CH2O + 0.361CO2 + 0.505CO + 0.227OH + 0.773HO2 + 0.134GLYX + 0.134HCOOH : GC_GLYCOH_A_a(8.00d-12); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} GLYC + OH = HCOOH + OH + CO : GC_GLYCOH_B_a(8.00d-12); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} // --- GLYC chemistry --> PHAN - currenty no RO2 RO2 GLYC + OH = 0.200GLYX + 0.200HO2 + 0.800GCO3 : 1.0d-11; {krt, MCM} GLYC + NO3 = GCO3 + HNO3 : GCARR_ac(1.44d-12,-1862.0d0); {krt, MCM} GCO3 + NO2 {+M} = PHAN : GCJPLPR_abab(9.70d-29, 5.6d+00, 9.3d-12, 1.5d0, 0.6d0); {JPL Eval 17} PHAN = GCO3 + NO2 : GCJPLEQ_acabab(9.30d-29, 14000.0d0, 9.7d-29, 5.6d0, 9.3d-12, 1.5d0, 0.6d0); GCO3 + NO = NO2 + HO2 + CH2O : GCARR_ac(7.5d-12,290d0); {krt, MCM} GCO3 + HO2 = 0.440HO2 + 0.440CH2O + 0.440OH + 0.560HACTA + 0.150O3 + 0.440CO2 : GCARR_ac(5.2d-13,980d0); {krt,MCM} GCO3 + NO3 = CH2O + HO2 + NO2 : 4.0d-12; PHAN + OH = CH2O + CO + NO2 : 1.12d-12; {krt, MCM} HACTA + OH = CH2O + HO2 : 2.73d-12; {krt, MCM} // PRPE + NO3 = PRN1 : GCARR_ac(4.59d-13, -1156.0d0); GLYX + OH = HO2 + 2.000CO : GCARR_ac(3.10d-12, 340.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} MGLY + OH = MCO3 + CO : GCARR_ac(1.90d-12, 575.0d0); {2023/04/18; Atkinson2006; KHB} GLYX + NO3 = HNO3 + HO2 + 2.000CO : GC_GLYXNO3_ac(1.40d-12, -1860.0d0); MGLY + NO3 = HNO3 + CO + MCO3 : GCARR_ac(3.36d-12, -1860.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} HAC + OH = MGLY + HO2 : GC_HACOH_A_ac(2.00d-12, 320.0d0); {2023/04/18; Atkinson2006; KHB} HAC + OH = 0.500HCOOH + OH + 0.500ACTA + 0.500CO2 + 0.500CO + 0.500MO2 : GC_HACOH_B_ac(2.00d-12, 320.0d0); {2023/04/18; Atkinson2006; KHB} PRPN + OH = 0.209PRN1 + 0.791OH + 0.791PROPNN : GCARR_ac(8.78d-12, 200.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} ETP + OH = 0.640OH + 0.360OTHRO2 + 0.640ALD2 : GCARR_ac(5.18d-12, 200.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} RA3P + OH = 0.640OH + 0.360A3O2 + 0.640RCHO : GCARR_ac(5.18d-12, 200.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} RB3P + OH = 0.791OH + 0.209B3O2 + 0.791ACET : GCARR_ac(8.78d-12, 200.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} R4P + OH = 0.790OH + 0.210R4O2 + 1.185RCHO : GCARR_ac(8.78d-12, 200.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE; 2023/04/18; Bates2023; KHB} ALK4P + OH = 0.790OH + 0.210ALK4O2 + 1.185RCHO : GCARR_ac(8.78d-12, 200.0d0); {2023/05/14; Brewer2023; JFB} RP + OH = RCO3 : GCARR_ac(6.13d-13, 200.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} PP + OH = 0.791OH + 0.209PO2 + 0.791HAC : GCARR_ac(8.78d-12, 200.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} LVOC + OH = OH : GCARR_ac(4.82d-11, -400.0d0); {2017/06/14; Marais2016; EAM} OH + MAP = 0.780MCO3 + 0.220OH + 0.220CO2 + 0.220CH2O : 3.00d-14; {2023/04/18; Atkinson2006; KHB} C2H6 + NO3 = ETO2 + HNO3 : 1.40d-18; {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} MCO3 + MCO3 = 2.000MO2 + 2.000CO2 : GCARR_ac(2.90d-12, 500.0d0); {2023/04/18; JPL 19-5, Bates2023; KHB} MCO3 + MO2 = 0.1ACTA + CH2O + 0.9MO2 + 0.9HO2 + 0.9CO2: GCARR_ac(2.00d-12, 500.0d0); {2023/04/18; Bates2023; KHB} R4O2 + MCO3 = 0.271MEK + 0.100ACTA + 0.900MO2 + 0.290ACET + 0.243HO2 + 0.290ALD2 + 0.290OTHRO2 + 0.255RCHO + 0.045A3O2 + 0.162B3O2 + 0.900CO2: GCARR_ac(1.87d-12, 500.0d0); {2023/04/18; Bates2023; KHB} ALK4O2 + MCO3 = 0.271MEK + 0.100ACTA + 0.900MO2 + 0.290ACET + 0.243HO2 + 0.290ALD2 + 0.290OTHRO2 + 0.255RCHO + 0.045A3O2 + 0.162B3O2 + 0.900CO2: GCARR_ac(1.87d-12, 500.0d0); {2023/05/14; Brewer2023; JFB} ATO2 + MCO3 = 0.900MO2 + 0.900MCO3 + 0.900CH2O + 0.100MGLY + 0.100ACTA + 0.900CO2 : GCARR_ac(1.87d-12, 500.0d0); {2023/04/18; Bates2023; KHB} KO2 + MCO3 = 0.900MO2 + 0.900MCO3 + 0.900ALD2 + 0.100MEK + 0.100ACTA + 0.900CO2 : GCARR_ac(1.87d-12, 500.0d0); {2023/04/18; Bates2023; KHB} B3O2 + MCO3 = 0.900MO2 + 0.900HO2 + ACET + 0.100ACTA + 0.900CO2 : GCARR_ac(1.87d-12, 500.0d0); {2023/04/18; Bates2023; KHB} R4N1 + MCO3 = 0.900MO2 + 0.100ACTA + 0.613RCHO + 0.351CH2O + 0.675ALD2 + 0.270R4O2 + 0.645CO2 + NO2 : GCARR_ac(1.87d-12, 500.0d0); {2023/04/18; Bates2023; KHB} ALK4N1 + MCO3 = 0.900MO2 + 0.100ACTA + 0.613RCHO + 0.351CH2O + 0.675ALD2 + 0.270R4O2 + 0.645CO2 + NO2 : GCARR_ac(1.87d-12, 500.0d0); {2023/05/14; Brewer2023; JFB} PRN1 + MCO3 = 0.900MO2 + 0.900CH2O + 0.900CO2 + 0.900ALD2 + 0.100RCHO + 0.100ACTA + NO2 : GCARR_ac(1.87d-12, 500.0d0); {2023/04/18; Bates2023; KHB} ETO2 + MCO3 = 0.900MO2 + ALD2 + 0.900HO2 + 0.100ACTA + 0.900CO2 : GCARR_ac(1.87d-12, 500.0d0); {2023/04/18; Bates2023; KHB} OTHRO2 + MCO3 = 0.900MO2 + ALD2 + 0.900HO2 + 0.100ACTA + 0.900CO2 : GCARR_ac(1.87d-12, 500.0d0); {2019/05/10; Fisher2018; JAF; 2023/04/18; Bates2023; KHB} PO2 + MCO3 = 0.900MO2 + 0.900HO2 + 0.900ALD2 + 0.900CH2O + 0.065HAC + 0.035RCHO + 0.100ACTA + 0.900CO2 : GCARR_ac(1.87d-12, 500.0d0); {2023/04/18; Bates2023; KHB} A3O2 + MCO3 = 0.900MO2 + 0.900HO2 + RCHO + 0.100ACTA + 0.900CO2 : GCARR_ac(1.87d-12, 500.0d0); {2023/04/18; Bates2023; KHB} RCO3 + MCO3 = MO2 + 0.490OTHRO2 + 0.070A3O2 + 0.270B3O2 + 2.000CO2 : GCARR_ac(2.50d-12, 500.0d0); {2019/05/10; Fisher2018; JAF; 2023/04/18; Bates2023; KHB} RCO3 + MO2 = CH2O + CO2 + HO2 + 0.490OTHRO2 + 0.070A3O2 + 0.270B3O2 : GCARR_ac(1.87d-12, 500.0d0); {2019/05/10; Fisher2018; JAF; 2023/04/18; Bates2023; KHB} NO3 + NO3 = 2.000NO2 + O2 : GCARR_ac(8.50d-13, -2450.0d0); MO2 + NO2 {+M} = MPN {+M} : GCJPLPR_abab(1.00d-30, 4.8d+00, 7.2d-12, 2.1d0, 0.6d0); {2012/02/12; Browne2011; ECB} MPN {+M} = MO2 + NO2 : GCJPLPR_abcabc(1.05d-02, 4.8d+00, -11234.0d0, 7.58d16, 2.1d0, -11234.0d0, 0.6d0); {2012/02/12; Browne2011; ECB} DMS + OH = SO2 + MO2 + CH2O : GCARR_ac(1.20d-11, -280.0d0); DMS + OH = 0.750SO2 + 0.250MSA + MO2 : GC_DMSOH_acac(8.20d-39, 5376.0d0, 1.05d-5, 3644.0d0); DMS + NO3 = SO2 + HNO3 + MO2 + CH2O : GCARR_ac(1.90d-13, 530.0d0); SO2 + OH {+M} = SO4 + HO2 + PH2SO4 : GCJPLPR_abab(2.90d-31, 4.1d+00, 1.7d-12, -0.2d0, 0.6d0); {2023/04/18; JPL 19-5; KHB} Br + O3 = BrO + O2 : GCARR_ac(1.60d-11, -780.0d0); {2012/06/07; Parrella2012; JPP} BrO + HO2 = HOBr + O2 : GCARR_ac(4.50d-12, 460.0d0); {2012/06/07; Parrella2012; JPP} Br + HO2 = HBr + O2 : GCARR_ac(4.80d-12, -310.0d0); {2012/06/07; Parrella2012; JPP} HBr + OH = Br + H2O : GCARR_ac(5.50d-12, 200.0d0); {2012/06/07; Parrella2012; JPP} BrO + BrO = 2.000Br + O2 : GCARR_ac(2.40d-12, 40.0d0); {2012/06/07; Parrella2012; JPP} BrO + BrO = Br2 + O2 : GCARR_ac(2.80d-14, 860.0d0); {2012/06/07; Parrella2012; JPP} BrO + NO = Br + NO2 : GCARR_ac(8.80d-12, 260.0d0); {2012/06/07; Parrella2012; JPP} Br + BrNO3 = Br2 + NO3 : 4.90d-11; {2012/06/07; Parrella2012; JPP} Br2 + OH = HOBr + Br : GCARR_ac(2.10d-11, 240.0d0); {2012/06/07; Parrella2012; JPP} HOBr + O = OH + BrO : GCARR_ac(1.20d-10, -430.0d0); {2014/02/03; Eastham2014; SDE} HBr + O = OH + Br : GCARR_ac(5.80d-12, -1500.0d0); {2014/02/03; Eastham2014; SDE} BrO + OH = Br + HO2 : GCARR_ac(1.70d-11, 250.0d0); {2012/06/07; Parrella2012; JPP} Br + NO3 = BrO + NO2 : 1.60d-11; {2012/06/07; Parrella2012; JPP} Br + CH2O = HBr + HO2 + CO : GCARR_ac(1.70d-11, -800.0d0); {2012/06/07; Parrella2012; JPP} Br + ALD2 = HBr + MCO3 : GCARR_ac(1.80d-11, -460.0d0); {2017/07/27; Parrella2012,Fix C creation; SAS,BHH,MJE} Br + ACET = HBr + ATO2 : GCARR_ac(1.66d-10, -7000.0d0); {2017/07/27; Parrella2012,Fix C creation; SAS,BHH,MJE} Br + C2H6 = HBr + ETO2 : GCARR_ac(2.36d-10, -6411.0d0); {2017/07/27; Parrella2012,Fix C creation; SAS,BHH,MJE} Br + C3H8 = HBr + A3O2 : GCARR_ac(8.77d-11, -4330.0d0); {2017/07/27; Parrella2012,Fix C creation; SAS,BHH,MJE} Br + NO2 {+M} = BrNO2 {+M} : GCJPLPR_aba(4.20d-31, 2.4d0, 2.7d-11, 0.6d0); {2012/06/07; Parrella2012; JPP} BrO + NO2 {+M} = BrNO3 {+M} : GCJPLPR_abab(5.40d-31, 3.1d0, 6.5d-12, 2.9d0, 0.6d0); {2017/02/22; JPL 15-10; BHH,MJE} CHBr3 + OH = 3.000Br : GCARR_ac(9.00d-13, -360.0d0); {2017/02/22; JPL 15-10; BHH,MJE} CH2Br2 + OH = 2.000Br : GCARR_ac(2.00d-12, -840.0d0); {2012/06/07; Parrella2012; JPP} CH3Br + OH = Br + H2O + HO2 : GCARR_ac(1.42d-12, -1150.0d0); {2017/03/08; JPL 15-10; TS,BHH,MJE} O1D + H2O = 2.000OH : GCARR_ac(1.63d-10, 60.0d0); {2014/02/03; Eastham2014; SDE} O1D + N2 = O + N2 : GCARR_ac(2.15d-11, 110.0d0); {2014/02/03; Eastham2014; SDE} O1D + O2 = O + O2 : GCARR_ac(3.30d-11, 55.0d0); {2014/02/03; Eastham2014; SDE} O1D + H2 = H + OH : 1.20d-10; {2014/02/03; Eastham2014; SDE} O1D + N2O = 0.390N2 + 0.390O2 + 1.220NO : GCARR_ac(1.19d-10, 20.0d0); {2014/02/03; Eastham2014; SDE} O1D + CH4 = 0.750MO2 + 0.750OH + 0.200H + 0.200HO2 + 0.050H2 + 0.250CH2O : 1.75d-10; {2014/02/03; Eastham2014; SDE} O + O2 {+M} = O3 {+M} : GCARR_ab(6.00d-34, 2.4d0)*NUMDEN; {2014/02/03; Eastham2014; SDE} O + O3 = 2.000O2 : GCARR_ac(8.00d-12, -2060.0d0); {2014/02/03; Eastham2014; SDE} OH + H2 = H2O + H : GCARR_ac(2.80d-12, -1800.0d0); {2014/02/03; Eastham2014; SDE} O + OH = O2 + H : GCARR_ac(1.80d-11, 180.0d0); {2014/02/03; Eastham2014; SDE} HO2 + O = OH + O2 : GCARR_ac(3.00d-11, 200.0d0); {2014/02/03; Eastham2014; SDE} O1D + O3 = O + 1.500O2 : 2.40d-10; {2014/02/03; Eastham2014; SDE} OCS + O = CO + SO2 : GCARR_ac(2.10d-11, -2200.0d0); {2014/02/03; Eastham2014; SDE} OCS + OH = CO2 + SO2 : GCARR_ac(7.20d-14, -1070.0d0); {2023/04/18; JPL 19-5; KHB} NO2 + O = NO + O2 : GCJPLAC_ababac(3.4d-31, 1.6d0, 2.3d-11, 0.2d0, 5.3d-12, 2.0d2, 0.6d0); {2023/04/18; JPL 19-5; KHB} NO3 + O = NO2 + O2 : 1.30d-11; {2023/04/18; JPL 19-5; KHB} NO + O {+M} = NO2 {+M} : GCJPLPR_aba(9.00d-32, 1.5d+00, 3.0d-11, 0.6d0); {2014/02/03; Eastham2014; SDE} NO2 + O {+M} = NO3 {+M} : GCJPLPR_abab(3.4d-31, 1.6d0, 2.3d-11, 0.2d0, 0.6d0); {2023/04/18; JPL 19-5; KHB} H2O2 + O = OH + HO2 : GCARR_ac(1.40d-12, -2000.0d0); {2014/02/03; Eastham2014; SDE} H + O2 {+M} = HO2 {+M} : GCJPLPR_abab(5.30d-32, 1.8d+00, 9.5d-11, -0.4d0, 0.6d0); {2023/04/18; JPL 19-5; KHB} H + O3 = OH + O2 : GCARR_ac(1.40d-10, -470.0d0); {2014/02/03; Eastham2014; SDE} H + HO2 = 1.788OH + 0.020O + 0.020H2O + 0.086H2 + 0.086O2 : 8.05d-11; {2014/02/03; Eastham2014; SDE} N + O2 = NO + O : GCARR_ac(3.30d-12, -3150.0d0); {2023/04/18; JPL 19-5; KHB} N + NO = N2 + O : GCARR_ac(2.10d-11, 100.0d0); {2014/02/03; Eastham2014; SDE} N + NO2 = N2O + O : GCARR_ac(5.80d-12, 220.0d0); {2014/02/03; Eastham2014; SDE} BrO + O = Br + O2 : GCARR_ac(1.90d-11, 230.0d0); {2014/02/03; Eastham2014; SDE} CH2O + O = CO + HO2 + OH : GCARR_ac(3.40d-11, -1600.0d0); {2014/02/03; Eastham2014; SDE} O1D + HCl = 0.120O + 0.120HCl + 0.220H + 0.660Cl + 0.220ClO + 0.660OH : 1.50d-10; {2023/04/18; JPL 19-5; KHB} O1D + HBr = 0.200O + 0.200HBr + 0.200BrO + 0.600OH + 0.200H + 0.600Br : 1.50d-10; {2023/04/18; JPL 19-5; KHB} O1D + Cl2 = 0.250O + 0.250Cl2 + 0.750Cl + 0.750ClO : 2.70d-10; {2014/02/03; Eastham2014; SDE} O1D + CCl4 = 0.210O + 0.210CCl4 + 0.790ClO + 2.370Cl : 3.30d-10; {2023/04/18; JPL 19-5; KHB} O1D + CH3Cl = 0.100O + 0.100CH3Cl + 0.460ClO + 0.350Cl + 0.090H + 0.900MO2 : 2.60d-10; {2023/04/18; JPL 19-5; KHB} O1D + CH3Br = 0.440BrO + MO2 + 0.560Br : 1.80d-10; {2014/02/03; Eastham2014; SDE} O1D + CH2Br2 = 0.050O + 0.050CH2Br2 + 0.950BrO + 0.950Br : 2.70d-10; {2014/02/03; Eastham2014; SDE} O1D + CHBr3 = 0.300O + 0.300CHBr3 + 0.700BrO + 1.400Br : 6.60d-10; {2023/04/18; JPL 19-5; KHB} O1D + HCFC22 = 0.250O + 0.250HCFC22 + 0.560ClO + 0.190Cl + 0.050OH : 1.02d-10; {2023/04/18; JPL 19-5; KHB} O1D + CFC11 = 0.100O + 0.100CFC11 + 0.900ClO + 1.800Cl : 2.30d-10; {2023/04/18; JPL 19-5; KHB} O1D + CFC12 = 0.140O + 0.140CFC12 + 0.860ClO + 0.860Cl : 1.40d-10; {2014/02/03; Eastham2014; SDE} O1D + H1211 = 0.350O + 0.350H1211 + 0.310BrO + 0.310Cl + 0.340Br + 0.340ClO : 1.50d-10; {2023/04/18; JPL 19-5; KHB} O1D + H1301 = 0.550O + 0.550H1301 + 0.450BrO : 1.00d-10; {2023/04/18; JPL 19-5; KHB} O1D + HCFC141b = 0.310O + 0.310HCFC141b + 0.690ClO + 0.690Cl : 2.60d-10; {2014/02/03; Eastham2014; SDE} O1D + HCFC142b = 0.350O + 0.350HCFC142b + 0.650ClO : 2.00d-10; {2023/04/18; JPL 19-5; KHB} O1D + HCFC123 = 0.210O + 0.210HCFC123 + 0.790Cl + 0.790ClO : 2.00d-10; {2014/02/03; Eastham2014; SDE} O1D + CFC113 = 0.100O + 0.100CFC113 + 1.900Cl + 0.800ClO : 2.32d-10; {2023/04/18; JPL 19-5; KHB} O1D + CFC114 = 0.100O + 0.100CFC114 + 0.950Cl + 0.850ClO : GCARR_ac(1.30d-10, 25.0d0); {2023/04/18; JPL 19-5; KHB} O1D + CFC115 = 0.140O + 0.140CFC115 + 0.860ClO : GCARR_ac(5.40d-11, 30.0d0); {2023/04/18; JPL 19-5; KHB} O1D + H2402 = 0.250O + 0.250H2402 + 0.750Br + 0.750BrO : GCARR_ac(1.60d-10, 0.0d0); {2014/02/03; Eastham2014; SDE} OH + Cl2 = HOCl + Cl : GCARR_ac(2.60d-12, -1100.0d0); {2014/02/03; Eastham2014; SDE} MO2 + ClO = ClOO + HO2 + CH2O : GCARR_ac(1.80d-11, -600.0d0); {2017/03/20; JPL 15-10; TS,BHH,MJE} OH + ClO = HO2 + Cl : GCARR_ac(7.40d-12, 270.0d0); {2014/02/03; Eastham2014; SDE} OH + ClO = HCl + O2 : GCARR_ac(6.00d-13, 230.0d0); {2014/02/03; Eastham2014; SDE} OH + OClO = HOCl + O2 : GCARR_ac(1.40d-12, 600.0d0); {2017/02/22; JPL 15-10; BHH,MJE} OH + Cl2O2 = HOCl + ClOO : GCARR_ac(6.00d-13, 670.0d0); {2014/02/03; Eastham2014; SDE} OH + HCl = H2O + Cl : GCARR_ac(1.80d-12, -250.0d0); {2014/02/03; Eastham2014; SDE} OH + HOCl = H2O + ClO : GCARR_ac(3.00d-12, -500.0d0); {2014/02/03; Eastham2014; SDE} OH + ClNO2 = HOCl + NO2 : GCARR_ac(2.40d-12, -1250.0d0); {2014/02/03; Eastham2014; SDE} OH + ClNO3 = HOCl + NO3 : GCARR_ac(1.20d-12, -330.0d0); {2014/02/03; Eastham2014; SDE} OH + CH3Cl = Cl + HO2 + H2O : GCARR_ac(1.96d-12, -1200.0d0); {2017/02/22; JPL 15-10; BHH,MJE} OH + CH2Cl2 = 2.000Cl + HO2 : GCARR_ac(1.92d-12, -880.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE; 2023/04/18; JPL 19-5; KHB} OH + CHCl3 = 3.000Cl + HO2 : GCARR_ac(2.20d-12, -920.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE; 2023/04/18; JPL 19-5; KHB} OH + CH3CCl3 = 3.000Cl + H2O : GCARR_ac(1.64d-12, -1520.0d0); {2014/02/03; Eastham2014; SDE} OH + HCFC22 = Cl + H2O : GCARR_ac(9.20d-13, -1560.0d0); {2017/02/22; JPL 15-10; BHH,MJE} OH + HCFC141b = 2.000Cl + H2O : GCARR_ac(1.25d-12, -1600.0d0); {2014/02/03; Eastham2014; SDE} OH + HCFC142b = Cl + H2O : GCARR_ac(1.30d-12, -1770.0d0); {2014/02/03; Eastham2014; SDE} OH + HCFC123 = 2.000Cl + H2O : GCARR_ac(7.40d-13, -900.0d0); {2017/02/22; JPL 15-10; BHH,MJE} CH4 + Cl = HCl + MO2 : GCARR_ac(7.10d-12, -1270.0d0); {2017/03/08; JPL 15-10; TS,BHH,MJE} CH2O + Cl = CO + HCl + HO2 : GCARR_ac(8.10d-11, -30.0d0); {2017/09/22; Sherwen2016b; TS,JAS,SDE; 2023/04/18; JPL 19-5; KHB} Cl + O3 = ClO + O2 : GCARR_ac(2.30d-11, -200.0d0); {2014/02/03; Eastham2014; SDE} Cl + H2 = H + HCl : GCARR_ac(3.05d-11, -2270.0d0); {2014/02/03; Eastham2014; SDE} Cl + H2O2 = HO2 + HCl : GCARR_ac(1.10d-11, -980.0d0); {2014/02/03; Eastham2014; SDE} Cl + HO2 = O2 + HCl : GCARR_ac(1.40d-11, 270.0d0); {2014/02/03; Eastham2014; SDE} Cl + HO2 = OH + ClO : GCARR_ac(3.60d-11, -375.0d0); {2014/02/03; Eastham2014; SDE} ClO + O = Cl + O2 : GCARR_ac(2.80d-11, 85.0d0); {2014/02/03; Eastham2014; SDE} ClO + HO2 = O2 + HOCl : GCARR_ac(2.60d-12, 290.0d0); {2014/02/03; Eastham2014; SDE} ClO + NO = Cl + NO2 : GCARR_ac(6.40d-12, 290.0d0); {2014/02/03; Eastham2014; SDE} ClO + NO2 {+M} = ClNO3 {+M} : GCJPLPR_abab(1.80d-31, 3.4d+00, 1.50d-11, 1.9d0, 0.6d0); {2014/02/03; Eastham2014; SDE} ClO + ClO = Cl2 + O2 : GCARR_ac(1.00d-12, -1590.0d0); {2014/02/03; Eastham2014; SDE} ClO + ClO = Cl + ClOO : GCARR_ac(3.00d-11, -2450.0d0); {2014/02/03; Eastham2014; SDE} ClO + ClO = OClO + Cl : GCARR_ac(3.50d-13, -1370.0d0); {2014/02/03; Eastham2014; SDE} Cl + O2 {+M} = ClOO {+M} : GCJPLPR_aba(2.20d-33, 3.1d+00, 1.8d-10, 0.6d0); {2014/02/03; Eastham2014; SDE} ClOO {+M} = Cl + O2 {+M} : GCJPLEQ_acabab(6.60d-25, 2502.0d0, 2.20d-33, 3.1d+00, 1.8d-10, 0.0d0, 0.6d0); {JPL 15-10; XW} ClO + ClO {+M} = Cl2O2 {+M} : GCJPLPR_abab(1.90d-32, 3.6d+00, 3.7d-12, 1.6d0, 0.6d0); {2017/02/22; JPL 15-10; BHH,MJE} Cl2O2 {+M} = 2.000ClO {+M} : GCJPLEQ_acabab(2.16d-27, 8537.0d0, 1.90d-32, 3.6d+00, 3.7d-12, 1.6d0, 0.6d0); {JPL 15-10; XW} ClOO + Cl = 0.950Cl2 + 0.950O2 + 0.100ClO : 2.42d-10; {2014/02/03; Eastham2014; SDE} ClO + BrO = Br + OClO : GCARR_ac(9.50d-13, 550.0d0); {2014/02/03; Eastham2014; SDE} ClO + BrO = Br + ClOO : GCARR_ac(2.30d-12, 260.0d0); {2014/02/03; Eastham2014; SDE} ClO + BrO = BrCl + O2 : GCARR_ac(4.10d-13, 290.0d0); {2014/02/03; Eastham2014; SDE} ClNO3 + O = ClO + NO3 : GCARR_ac(3.60d-12, -840.0d0); {2014/02/03; Eastham2014; SDE} ClNO3 + Cl = Cl2 + NO3 : GCARR_ac(6.50d-12, 135.0d0); {2014/02/03; Eastham2014; SDE} CH3Cl + Cl = CO + 2.000HCl + HO2 : GCARR_ac(2.03d-11, -1110.0d0); {2014/02/03; Eastham2014; SDE; 2023/04/18; JPL 19-5; KHB} CH2Cl2 + Cl = CO + HCl + 2.000Cl + HO2 : GCARR_ac(7.40d-12, -910.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE; 2023/04/18; JPL 19-5; KHB} CHCl3 + Cl = CO + HCl + 3.000Cl + HO2 : GCARR_ac(3.30d-12, -990.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE; 2023/04/18; JPL 19-5; KHB} Cl + HCOOH = HCl + CO2 + H2O : 2.00d-13; {2017/09/22; Sherwen2016b;TS,JAS,SDE} Cl + MO2 = ClO + CH2O + HO2 : 1.60d-10; {2017/09/22; Sherwen2016b;TS,JAS,SDE} Cl + MP = HCl + MO2 : 5.7d-11; {2017/09/22; Sherwen2016b;TS,JAS,SDE} Cl + C2H6 = HCl + ETO2 : GCARR_ac(7.2d-11, -70.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE} Cl + ETO2 = ClO + HO2 + ALD2 : 7.4d-11; {2017/09/22; Sherwen2016b;TS,JAS,SDE} Cl + OTHRO2 = ClO + HO2 + ALD2 : 7.4d-11; {2019/05/10; Fisher2018; JAF} Cl + MOH = HCl + CH2O + HO2 : 5.5d-11; {2017/09/22; Sherwen2016b;TS,JAS,SDE} Cl + EOH = HCl + ALD2 : 9.6d-11; {2017/09/22; Sherwen2016b;TS,JAS,SDE} Cl + ACTA = HCl + MO2 + CO2 : 2.8d-14; {2017/09/22; Sherwen2016b;TS,JAS,SDE} Cl + C3H8 = HCl + B3O2 : GCARR_ac(6.54d-11, 60.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE} Cl + C3H8 = HCl + A3O2 : GCARR_ac(8.12d-11, -90.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE} Cl + ACET = HCl + ATO2 : GCARR_ac(1.63d-11, -610.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE; 2023/04/18; JPL 19-5; KHB} Cl + ISOP = HCl + 0.5IHOO1 + 0.5IHOO4 : GCARR_ac(7.60d-11, 500.0d0); {2019/11/06; Sherwen2016b;KHB,TS,JAS,SDE} Cl + ALK4 = HCl + ALK4O2 : 2.05d-10; {2023/05/14; Brewer2023; JFB} Cl + PRPE {+M} = HCl + PO2 {+M} : GCJPLPR_aa(4.00d-28, 2.8d-10, 0.6d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE} Br + PRPE = HBr + PO2 : 3.60d-12; {2017/09/22; Sherwen2016b;TS,JAS,SDE} I + NO {+M} = INO {+M} : GCJPLPR_aba(1.80d-32, 1.0d0, 1.70d-11, 0.6d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE; 2023/04/18; JPL 19-5; KHB} INO + INO = I2 + 2.000NO : GCARR_ac(8.40d-11, -2620.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I + NO2 {+M} = IONO {+M} : GCJPLPR_aba(3.00d-31, 1.0d0, 6.6d-11, 0.6d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE; 2023/04/18; JPL 19-5; KHB} IONO {+M} = I + NO2 {+M} : GCARR_ac(9.94d+17, -11859.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE} IONO + IONO = I2 + 2.000NO2 : GCARR_ac(2.90d-11, -2600.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I2 + NO3 = I + IONO2 : 1.50d-12; {2017/09/22; Sherwen2016b;TS,JAS,SDE} IO + NO2 {+M} = IONO2 {+M} : GCJPLPR_abab(7.50d-31, 3.5d0, 7.6d-12, 1.5d0, 0.6d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE} IONO2 {+M} = IO + NO2 {+M} : GCARR_ac(2.10d+15, -13670.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE} IONO2 + I = I2 + NO3 : GCARR_ac(9.10d-11, -146.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I + BrO = IO + Br : 1.20d-11; {2017/09/22; Sherwen2016b;TS,JAS,SDE} IO + BrO = 0.8OIO + Br + 0.2I + 0.2O2 : GCARR_ac(5.50d-12, 760.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE; 2023/04/18; JPL 19-5; KHB} IO + OIO {+M} = I2O3 {+M} : 1.00d-10; {2017/09/22; Sherwen2016b;TS,JAS,SDE} OIO + OIO = I2O4 : 1.50d-10; {2017/09/22; Sherwen2016b;TS,JAS,SDE} I2O4 {+M} = 2.000OIO {+M} : 3.80d-02; {2017/09/22; Sherwen2016b;TS,JAS,SDE} OIO + NO = IO + NO2 : GCARR_ac(1.10d-12, 542.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE} IO + ClO = 0.809I + 0.560OClO + 0.249Cl + 0.191ICl + 0.440O2 : GCARR_ac(4.82d-12, 280.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE; 2023/04/18; JPL 19-5; KHB} I + O3 = IO + O2 : GCARR_ac(2.00d-11, -830.0d0); {2017/09/22; Sherwen2017;TS,JAS,SDE; 2023/04/18; JPL 19-5; KHB} I + HO2 = HI + O2 : GCARR_ac(1.50d-11, -1090.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I2 + OH = HOI + I : 1.80d-10; {2017/09/22; Sherwen2016b;TS,JAS,SDE} HI + OH = I + H2O : 3.00d-11; {2017/09/22; Sherwen2016b;TS,JAS,SDE} HOI + OH = IO + H2O : 5.00d-12; {2017/09/22; Sherwen2016b;TS,JAS,SDE} IO + HO2 = HOI + O2 : GCARR_ac(1.30d-11, 570.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE} IO + NO = I + NO2 : GCARR_ac(8.60d-12, 230.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE; 2023/04/18; JPL 19-5; KHB} IO + IO = 0.400I + 0.400OIO + 0.600I2O2: GCARR_ac(1.50d-11, 500.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE; 2023/04/18; JPL 19-5; KHB} I2O2 {+M} = 0.008IO + 0.996I + 0.996OIO {+M} : GCARR_ac(2.51d+14, -9770.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE; 2023/04/18; Bates2023; KHB} CH3I + OH = H2O + I + MO2 : GCARR_ac(2.90d-12, -1100.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE} ETHLN + OH = CH2O + CO2 + NO2 : 2.40d-12; {2017/06/15, Marais2016, EAM} PROPNN + OH = NO2 + MGLY : 6.70d-13; {2017/07/14; MCMv3.3; KRT,JAF,CCM,EAM,KHB,RHS} CH2OO + CO = CH2O + CO2 : 1.20d-15; {2015/09/25; Millet2015; DBM,EAM; 2023/04/18; Bates2023; KHB} CH2OO + NO = CH2O + NO2 : 1.00d-14; {2015/09/25; Millet2015; DBM,EAM} CH2OO + NO2 = CH2O + NO3 : 4.25d-12; {2015/09/25; Millet2015; DBM,EAM; 2023/04/18; JPL 19-5; KHB} CH2OO + H2O = 0.730HMHP + 0.210HCOOH + 0.060CH2O + 0.060H2O2 : 2.80d-16; {2019/11/06; Bates2019; KHB; 2023/04/18; JPL 19-5; KHB} CH2OO + H2O + H2O = 0.400HMHP + 0.540HCOOH + 0.060CH2O + 0.060H2O2 : GCARR_ac(2.88d-35, 1391.0d0); {2019/11/06; Bates2019; KHB} CH2OO + O3 = CH2O : 1.40d-12; {2019/11/06; Bates2019; KHB} CH2OO + SO2 = CH2O + SO4 + PH2SO4 : 3.80d-11; {2019/11/06; Bates2019; KHB; 2023/04/18; JPL 19-5; KHB} CH3CHOO + CO = ALD2 + CO2 : 1.20d-15; {2015/09/25; Millet2015; DBM,EAM; 2023/04/18; Bates2023; KHB} CH3CHOO + NO = ALD2 + NO2 : 1.00d-14; {2015/09/25; Millet2015; DBM,EAM} CH3CHOO + NO2 = ALD2 + NO3 : 4.25d-12; {2015/09/25; Millet2015; DBM,EAM; 2023/04/18; JPL 19-5; KHB} CH3CHOO + SO2 = ALD2 + SO4 + PH2SO4 : 2.65d-11; {2015/09/25; Millet2015; DBM,EAM; 2023/04/18; JPL 19-5; KHB} CH3CHOO + H2O = ALD2 + H2O2 : 6.00d-18; {2015/09/25; Millet2015; DBM,EAM} CH3CHOO + H2O = ACTA : 1.00d-17; {2015/09/25; Millet2015; DBM,EAM} // Updated Monoterpene chemistry MTPA + NO3 = 0.100OLNN + 0.900OLND : GCARR_ac(8.33d-13, 490.0d0); {2017/07/14; Fisher2016; KRT,JAF,CCM,EAM,KHB,RHS} MTPO + NO3 = 0.100OLNN + 0.900OLND : GCARR_ac(8.33d-13, 490.0d0); {2017/07/14; Fisher2016; KRT,JAF,CCM,EAM,KHB,RHS} LIMO + NO3 = 0.500OLNN + 0.500OLND : 1.22d-11; {2017/07/14; Fry2014,Atkinson2003; KRT,JAF,CCM,EAM,KHB,RHS} LIMO + OH = LIMO2 : GCARR_ac(4.20d-11, 401.0d0); LIMO + O3 = 0.865OH + 0.15CO + 0.15AROMRO2 + 0.27LIMAL + 0.715LIMO3 : GCARR_ac(2.95d-15, -783.0d0); MTPO + OH = 0.15APINO2 + 0.15BPINO2 + 0.2LIMO2 + 0.5PIO2 : GCARR_ac(1.21d-11, 440.0d0); MTPO + O3 = 0.5ACET + 0.8OH + 0.1CH2O + 0.5MEK + 0.15MVK + 0.4MYRCO + 0.5AROMRO2 + 0.05HO2 + 0.3KO2 + 0.3RCHO : GCARR_ac(2.7d-15, -520.0d0); MTPA + OH = 0.075LIMO2 + 0.67APINO2 + 0.255BPINO2 : GCARR_ac(1.34d-11, 410.0d0); MTPA + O3 = 0.65OH + 0.5APINO2 + 0.1BPINOO2 + 0.2BPINO + 0.2PINAL + 0.1CH2OO + 0.1CO + 0.1CH2O : GCARR_ac(8.22d-16, -640.0d0); APINO2 + HO2 = APINP : GCARR_ac(2.66d-13, 1300.0d0); APINO2 + NO = 0.25APINN + 0.75PINAL + 0.75NO2 + 0.75HO2 : GCARR_ac(2.7d-12, 360.0d0); APINO2 + NO3 = PINAL + NO2 + HO2 : 2.3d-12 ; APINP + OH = 0.4PINO3 + 0.6APINO2 : 1.83d-11 ; APINN + OH = 0.5PINAL + 0.5NO2 + 0.5HO2 + 0.5C96N + 0.5CH2O + 0.5AROMRO2 : 5.50d-12 ; PINAL + NO3 = HNO3 + PINO3 : 2.0d-14 ; PINAL + OH = PINO3 : GCARR_ac(5.2d-12, 600.0d0); PINO3 + HO2 = 0.44OH + 0.15O3 + 0.44C96O2 + 0.41PINO3H + 0.15PINONIC : GCARR_ac(2.66d-13, 1300.0d0); PINO3 + NO = NO2 + CO2 + C96O2 : GCARR_ac(2.7d-12, 360.0d0); PINO3 + NO2 = PINPAN : GCJPLPR_abab(9.70d-29, 5.6d+00, 9.3d-12, 1.5d0, 0.6d0); PINPAN = PINO3 + NO2 : GCJPLEQ_acabab(9.30d-29, 14000.0d0, 9.7d-29, 5.6d0, 9.3d-12, 1.5d0, 0.6d0); PINO3 + NO3 = NO2 + CO2 + C96O2 : 2.3d-12 ; PINO3H + OH = PINO3 : 9.73d-12 ; PINONIC + OH = CO2 + C96O2 : 6.65d-12 ; C96O2 + HO2 = C96O2H : GCARR_ac(2.66d-13, 1300.0d0); C96O2 + NO = 0.16C96N + 0.84NO2 + 0.84AROMRO2 + 0.84ACET + 0.84CH2O + 0.84RCO3 + 0.42MEK : GCARR_ac(2.7d-12, 360.0d0); C96O2 + NO3 = NO2 + AROMRO2 + ACET + CH2O + RCO3 + 0.5MEK : 2.3d-12 ; C96O2 + MO2 = HO2 + 0.75CH2O + 0.25MOH + 0.25C96O2H + 0.75AROMRO2 + 0.75ACET + 0.75CH2O + 0.75RCO3 + 0.375MEK : GCARR_ac(3.75d-13, 500.0d0); C96O2H + OH = 0.5C96O2 + 0.5AROMRO2 + 0.5ACET + 0.5CH2O + 0.5RCO3 + 0.25MEK : 2.6d-11 ; C96N + OH = 0.5NO2 + 0.5MONITS + 0.55AROMRO2 + 0.4ACET + 0.4CH2O + 0.4RCO3 + 0.3MEK : 2.88d-12 ; BPINO2 + HO2 = BPINP : GCARR_ac(2.66d-13, 1300.0d0); BPINO2 + NO = 0.25BPINN + 0.75CH2O + 0.75NO2 + 0.75HO2 + 0.75BPINO : GCARR_ac(2.7d-12, 360.0d0); BPINO2 + NO3 = CH2O + NO2 + HO2 + BPINO : 2.3d-12 ; BPINN + OH = 0.5BPINON + 0.5AROMRO2 + CH2O + 0.5NO2 + 0.5HO2 + 0.5BPINO : 4.7d-12 ; BPINP + OH = BPINO2 : 1.33d-11 ; BPINO + OH = BPINOO2 : 1.55d-11 ; BPINOO2 + HO2 = BPINOOH : GCARR_ac(2.66d-13, 1300.0d0); BPINOO2 + NO = BPINON : GCARR_ac(4.32d-13, 360.0d0); BPINOO2 + NO = NO2 + HO2 + 0.27LIMO3 + 0.6ACET + 0.6RCHO + 0.6R4O2 : GCARR_ac(2.27d-12, 360.0d0); BPINOO2 + MO2 = HO2 + 0.23LIMO3 + 0.4ACET + 0.4RCHO + 0.4R4O2 + 0.75CH2O + 0.25MOH + 0.25BPINOOH : GCARR_ac(3.75d-13, 500.0d0); BPINOO2 + NO3 = NO2 + HO2 + 0.27LIMO3 + 0.6ACET + 0.6RCHO + 0.6R4O2 : 2.3d-12 ; BPINOOH + OH = BPINOO2 : 8.59d-11 ; BPINON + OH = 0.5MONITS + 0.5NO2 + 0.085LIMO3 + 0.3ACET + 0.3RCHO + 0.3R4O2 : 3.24d-12 ; LIMO2 + HO2 = 0.37LIMKET + 0.63LIMAL : GCARR_ac(2.66d-13, 1300.0d0); LIMO2 + NO = 0.25LIMN + 0.75NO2 + 0.75HO2 + 0.28LIMKET + 0.47LIMAL : GCARR_ac(2.7d-12, 360.0d0); LIMO2 + NO3 = NO2 + HO2 + 0.37LIMKET + 0.63LIMAL : 2.3d-12 ; LIMAL + OH = LIMO3 : 1.1d-10 ; LIMAL + O3 = 0.3LIMKB + 0.33CH2OO + 0.67CH2O + 0.6LIMO3 + 0.6OH : 8.3d-18 ; LIMAL + NO3 = AROMRO2 + LIMNB : 2.6d-13 ; LIMKET + OH = LIMKO2 : 9.97d-11 ; LIMKET + O3 = 0.27LIMKO2 + 0.865OH + 0.73LIMO3 : 1.5d-16 ; LIMKET + NO3 = LIMNB + AROMRO2 : 9.4d-12 ; LIMN + OH = 0.5LIMNB + 0.32LIMO3 + 0.18LIMKO2 + 0.5NO2 : 1.1d-10 ; LIMN + O3 = CH2O + 0.5NO2 + 0.4LIMO3 + 0.5LIMNB : 8.3d-18 ; LIMN + NO3 = NO2 + LIMNB + AROMRO2 : 2.6d-13 ; LIMKO2 + NO = 0.16LIMNB + 0.84NO2 + 0.84LIMKB + 0.84HO2 : GCARR_ac(2.7d-12, 360.0d0); LIMKO2 + HO2 = LIMO3H : GCARR_ac(2.66d-13, 1300.0d0); LIMKO2 + NO3 = NO2 + LIMKB + HO2 : 2.3d-12 ; LIMKO2 + MO2 = 0.75LIMKB + 0.25LIMO3H + 0.75CH2O + 0.25MOH + HO2 : GCARR_ac(3.75d-13, 500.0d0); LIMKB + OH = LIMO3 : 3.6d-11 ; LIMKB + NO3 = NO2 + LIMO3 : GCARR_ac(1.22d-11, -1862.0d0); LIMNB + OH = 0.5MONITS + 0.5NO2 + 0.5LIMO3 : 6.3d-12 ; LIMO3 + HO2 = 0.44OH + 0.15O3 + 0.44CO2 + 0.44MCO3 + 0.44RCHO + 0.176CH2O + 0.352R4O2 + 0.41LIMO3H + 0.15LIMO2H : GCARR_ac(2.66d-13, 1300.0d0); LIMO3 + NO = NO2 + CO2 + MCO3 + RCHO + 0.4CH2O + 0.8R4O2 : GCARR_ac(2.7d-12, 360.0d0); LIMO3 + NO2 = LIMPAN : GCJPLPR_abab(9.70d-29, 5.6d+00, 9.3d-12, 1.5d0, 0.6d0); LIMPAN = LIMO3 + NO2 : GCJPLEQ_acabab(9.30d-29, 14000.0d0, 9.7d-29, 5.6d0, 9.3d-12, 1.5d0, 0.6d0); LIMO3 + NO3 = NO2 + CO2 + MCO3 + RCHO + 0.4CH2O + 0.8R4O2 : 2.3d-12 ; LIMO3H + OH = LIMO3 : 9.73d-12 ; LIMO2H + OH = CO2 + MCO3 + RCHO + 0.4CH2O + 0.8R4O2 : 6.65d-12 ; PIO2 + HO2 = PIP : GCARR_ac(2.66d-13, 1300.0d0); PIO2 + NO = PIN : GCARR_ac(6.75d-13, 360.0d0); PIO2 + NO = NO2 + HO2 + 0.45MVK + 0.45ACET + 0.1CH2O + 0.675MYRCO : GCARR_ac(2.03d-12, 360.0d0); PIO2 + NO3 = NO2 + HO2 + 0.45MVK + 0.45ACET + 0.1CH2O + 0.675MYRCO : 2.3d-12 ; PIP + OH = 0.3OH + 0.7AROMRO2 + 0.3MVK + 0.3ACET + 0.1CH2O + 0.78MYRCO : GCARR_ac(6.05d-12, 440.0d0); PIP + O3 = 0.3OH + 0.7AROMRO2 + 0.3MVK + 0.3ACET + 0.1CH2O + 0.78MYRCO : GCARR_ac(1.35d-15, -520.0d0); PIP + NO3 = 0.5OLNN + 0.5NO2 + 0.15OH + 0.35AROMRO2 + 0.15MVK + 0.15ACET + 0.05CH2O + 0.39MYRCO : GCARR_ac(1.06d-12, 490.0d0); PIN + OH = 0.7AROMRO2 + 0.7MONITU + 0.3NO2 + 0.3MYRCO : GCARR_ac(6.05d-12, 440.0d0); PIN + O3 = 0.7AROMRO2 + 0.7MONITU + 0.3NO2 + 0.3MYRCO : GCARR_ac(1.35d-15, -520.0d0); PIN + NO3 = 0.5OLNN + 1.15NO2 + 0.35AROMRO2 + 0.35MONITU + 0.15MYRCO : GCARR_ac(1.06d-12, 490.0d0); MYRCO + OH = HO2 + AROMRO2 + 1.5CH2O + MEK + 0.5ACET + 0.5MVK + 0.5GLYC : GCARR_ac(6.05d-12, 440.0d0); MYRCO + O3 = OH + AROMRO2 + 1.5CH2O + MEK + 0.5ACET + 0.5MVK + 0.5GLYC : GCARR_ac(1.35d-15, -520.0d0); MYRCO + NO3 = 0.5OLNN + 0.5NO2 + 0.5HO2 + 0.5AROMRO2 + 0.75CH2O + 0.5MEK + 0.25ACET + 0.25MVK + 0.25GLYC: GCARR_ac(1.06d-12, 490.0d0); APINO2 + MO2 = PINAL + 1.75HO2 + 0.25MOH + 0.75CH2O : GCARR_ac(3.75d-13, 500.0d0); APINO2 + MCO3 = PINAL + HO2 + 0.1ACTA + 0.9CO2 + 0.9MO2 : GCARR_ac(1.87d-12, 500.0d0); BPINO2 + MO2 = 1.75HO2 + 0.25MOH + 1.75CH2O + BPINO : GCARR_ac(3.75d-13, 500.0d0); BPINO2 + MCO3 = BPINO + CH2O + HO2 + 0.1ACTA + 0.9CO2 + 0.9MO2 : GCARR_ac(1.87d-12, 500.0d0); LIMO2 + MO2 = 0.37LIMKET + 0.63LIMAL + 1.75HO2 + 0.25MOH + 0.75CH2O : GCARR_ac(3.75d-13, 500.0d0); LIMO2 + MCO3 = 0.37LIMKET + 0.63LIMAL + HO2 + 0.1ACTA + 0.9CO2 + 0.9MO2 : GCARR_ac(1.87d-12, 500.0d0); PIO2 + MO2 = 0.45MVK + 0.45ACET + 0.675MYRCO + 1.75HO2 + 0.25MOH + 0.85CH2O : GCARR_ac(3.75d-13, 500.0d0); PIO2 + MCO3 = 0.45MVK + 0.45ACET + 0.1CH2O + 0.675MYRCO + HO2 + 0.1ACTA + 0.9CO2 + 0.9MO2 : GCARR_ac(1.87d-12, 500.0d0); PINO3 + MO2 = CH2O + 0.75HO2 + 0.25PINONIC + 0.75C96O2 + 0.75CO2 : GCARR_ac(1.87d-12, 500.0d0); PINO3 + MCO3 = C96O2 + 2CO2 + MO2 : GCARR_ac(3.75d-14, 500.0d0); LIMO3 + MO2 = 0.75HO2 + CH2O + 0.75CO2 + 0.75MCO3 + 0.75RCHO + 0.3CH2O + 0.6R4O2 + 0.25LIMO2H : GCARR_ac(1.87d-12, 500.0d0); LIMO3 + MCO3 = CO2 + MO2 + MCO3 + RCHO + 0.4CH2O + 0.8R4O2 : GCARR_ac(3.75d-14, 500.0d0); // OLNN + NO = HO2 + NO2 + MONITS : 4.00d-12; {2017/07/14; Browne2014,Goliff2013; KRT,JAF,CCM,EAM,KHB,RHS} OLND + NO = 2.000NO2 + 0.287CH2O + 1.240RCHO + 0.464MEK : 4.00d-12; {2017/07/14; Goliff2013; KRT,JAF,CCM,EAM,KHB,RHS} OLNN + HO2 = 0.700MONITS + 0.300MONITU : GCARR_ac(1.66d-13, 1300.0d0); {2017/07/14; Browne2014,Roberts1992; KRT,JAF,CCM,EAM,KHB,RHS} OLND + HO2 = 0.700MONITS + 0.300MONITU : GCARR_ac(1.66d-13, 1300.0d0); {2017/07/14; Browne2014,Roberts1992; KRT,JAF,CCM,EAM,KHB,RHS} OLNN + MO2 = 2.000HO2 + CH2O + 0.700MONITS + 0.300MONITU : GCARR_ac(1.60d-13, 708.0d0); {2017/07/14; Browne2014,Roberts1992; KRT,JAF,CCM,EAM,KHB,RHS} OLND + MO2 = 0.500HO2 + 0.500NO2 + 0.850CH2O + 0.930RCHO + 0.340MEK + 0.250MOH + 0.250ROH + 0.350MONITS + 0.150MONITU : GCARR_ac(9.68d-14, 708.0d0); {2017/07/14; Browne2014,Roberts1992; KRT,JAF,CCM,EAM,KHB,RHS; 2023/04/18; Bates2023; KHB} OLNN + MCO3 = HO2 + MO2 + 0.700MONITS + 0.300MONITU + CO2 : GCARR_ac(8.85d-13, 765.0d0); {2017/07/14; Browne2014,Roberts1992; KRT,JAF,CCM,EAM,KHB,RHS; 2023/04/18; Bates2023; KHB} OLND + MCO3 = 0.500MO2 + NO2 + 0.287CH2O + 1.240RCHO + 0.464MEK + 0.500RCOOH : GCARR_ac(5.37d-13, 765.0d0); {2017/07/14; Browne2014,Roberts1992; KRT,JAF,CCM,EAM,KHB,RHS} OLNN + NO3 = HO2 + NO2 + 0.700MONITS + 0.300MONITU : 1.20d-12; {2017/07/14; Browne2014,Roberts1992; KRT,JAF,CCM,EAM,KHB,RHS} OLND + NO3 = 2.000NO2 + 0.287CH2O + 1.240RCHO + 0.464MEK : 1.20d-12; {2017/07/14; Browne2014,Roberts1992; KRT,JAF,CCM,EAM,KHB,RHS} OLNN + OLNN = HO2 + 1.400MONITS + 0.600MONITU : GCARR_ac(7.00d-14, 1000.0d0); {2017/07/14; Browne2014,Roberts1992; KRT,JAF,CCM,EAM,KHB,RHS} OLNN + OLND = 0.500HO2 + 0.500NO2 + 0.202CH2O + 0.640RCHO + 0.149MEK + 1.050MONITS + 0.450MONITU : GCARR_ac(4.25d-14, 1000.0d0); {2017/07/14; Browne2014,Roberts1992; KRT,JAF,CCM,EAM,KHB,RHS} OLND + OLND = NO2 + 0.504CH2O + 1.210RCHO + 0.285MEK + 0.700MONITS + 0.300MONITU : GCARR_ac(2.96d-14, 1000.0d0); {2017/07/14; Browne2014,Roberts1992; KRT,JAF,CCM,EAM,KHB,RHS} MONITS + OH = HONIT : 4.80d-12; {2017/07/14; Browne2014; KRT,JAF,CCM,EAM,KHB,RHS} MONITU + OH = HONIT : 7.29d-11; {2017/07/14; Browne2014; KRT,JAF,CCM,EAM,KHB,RHS} MONITU + O3 = HONIT : 1.67d-16; {2017/07/14; Browne2014; KRT,JAF,CCM,EAM,KHB,RHS} MONITU + NO3 = HONIT : GCARR_ac(3.15d-13, -448.0d0); {2017/07/14; Fisher2016; KRT,JAF,CCM,EAM,KHB,RHS} MONITS + NO3 = HONIT : GCARR_ac(3.15d-13, -448.0d0); {2017/07/14; Fisher2016; KRT,JAF,CCM,EAM,KHB,RHS} IONITA = INDIOL + HNO3 : 2.78d-04; {2017/07/14; Fisher2016; KRT,JAF,CCM,EAM,KHB,RHS} MONITA = INDIOL + HNO3 : 2.78d-04; {2017/07/14; Fisher2016; KRT,JAF,CCM,EAM,KHB,RHS} HONIT + OH = NO3 + HAC : GCJPLPR_abab(3.9d-31,7.2d0,1.5d-13,4.8d0,0.6d0) + GCJPLAC_ababac(3.9d-31,7.2d0,1.5d-13,4.8d0,3.7d-14,2.4d2,0.6d0); {2023/04/18; JPL 19-5; KHB} MENO3 + OH = CH2O + NO2 : GCARR_ac(8.00d-13, -1000.0d0); {2019/05/16; JPL 15-10,Fisher2018; JAF} ETNO3 + OH = ALD2 + NO2 : GCARR_ac(1.00d-12, -490.0d0); {2019/05/16; JPL 15-10,Fisher2018; JAF} IPRNO3 + OH = ACET + NO2 : GCARR_ac(1.20d-12, -320.0d0); {2019/05/16; JPL 15-10,Fisher2018; JAF} NPRNO3 + OH = RCHO + NO2 : 7.10d-13; {2019/05/16; JPL 15-10,Fisher2018; JAF} ISOP + O3 = 0.416MACR + 0.177MVK + 0.28OH + 0.407CO2 + 0.407CO + 0.407MO2 + 0.16HO2 + 0.58CH2OO + 0.827CH2O + 0.013H2O2 : GCARR_ac(1.10d-14, -2000.0d0); {2019/11/06; Bates2019; KHB; 2023/04/18; JPL 19-5; KHB} ISOP + OH = LISOPOH + IHOO1 : GC_ISO1(1.7d-11, 3.90d2, 9.33d-2, 5.05d15, -1.22d4, 1.79d14, -8.830d3); {2019/11/06; Bates2019; KHB} ISOP + OH = LISOPOH + IHOO4 : GC_ISO1(1.0d-11, 3.90d2, 2.26d-1, 2.22d9, -7.160d3, 1.75d14, -9.054d3); {2019/11/06; Bates2019; KHB} ISOP + OH = 0.3MCO3 + 0.3MGLY + 0.3CH2O + 0.15HPALD3 + 0.25HPALD1 + 0.4HO2 + 0.6CO + 1.5OH + 0.3HPETHNL + LISOPOH : GC_ISO2(1.7d-11, 3.90d2, 9.33d-2, 5.05d15, -1.22d4, 1.79d14, -8.830d3); {2019/11/06; Bates2019; KHB} ISOP + OH = 0.3CH2O + 0.15HPALD4 + 0.25HPALD2 + 1.5OH + 0.9CO + 0.7HO2 + 0.3MGLY + 0.3ATOOH + LISOPOH : GC_ISO2(1.0d-11, 3.90d2, 2.26d-1, 2.22d9, -7.160d3, 1.75d14, -9.054d3); {2019/11/06; Bates2019; KHB} IHOO1 + HO2 = 0.063MVK + 0.063OH + 0.063HO2 + 0.063CH2O + 0.937RIPA : ARRPLUS_abde(2.12d-13, -1300d0, 1.1644d0, -7.0485d-4); {2019/11/06; Bates2019; KHB} IHOO1 + HO2 = RIPC : ARRPLUS_abde(2.12d-13, -1300d0, -0.1644d0, 7.0485d-4); {2019/11/06; Bates2019; KHB} IHOO4 + HO2 = 0.063MACR + 0.063OH + 0.063HO2 + 0.063CH2O + 0.937RIPB : ARRPLUS_abde(2.12d-13, -1300d0, 1.2038d0, -9.0435d-4); {2019/11/06; Bates2019; KHB} IHOO4 + HO2 = RIPD : ARRPLUS_abde(2.12d-13, -1300d0, -0.2038d0, 9.0435d-4); {2019/11/06; Bates2019; KHB} IHOO1 = CH2O + OH + MVK : ARRPLUS_abde(1.04d11, 9.746d3, 1.1644d0, -7.0485d-4); {2019/11/06; Bates2019; KHB} IHOO1 = 0.15HPALD3 + 0.25HPALD1 + 0.4HO2 + 0.6CO + 1.5OH + 0.3CH2O + 0.3MGLY + 0.3HPETHNL + 0.3MCO3 : TUNPLUS_abcde(5.05d15, -1.22d4, 1.0d8, -0.0128d0, 5.1242d-5); {2019/11/06; Bates2019; KHB} IHOO4 = MACR + OH + CH2O : ARRPLUS_abde(1.88d11, 9.752d3, 1.2038d0, -9.0435d-4); {2019/11/06; Bates2019; KHB} IHOO4 = 0.15HPALD4 + 0.25HPALD2 + 1.5OH + 0.3CH2O + 0.9CO + 0.7HO2 + 0.3MGLY + 0.3ATOOH : TUNPLUS_abcde(2.22d9, -7.160d3, 1.0d8, -0.0306d0, 1.1346d-4); {2019/11/06; Bates2019; KHB} IHOO1 + IHOO1 = 2MVK + 2HO2 + 2CH2O : ARRPLUS_ade(6.92d-14, 1.1644d0, -7.0485d-4); {2019/11/06; Bates2019; KHB} IHOO4 + IHOO4 = 2MACR + 2HO2 + 2CH2O : ARRPLUS_ade(5.74d-12, 1.2038d0, -9.0435d-4); {2019/11/06; Bates2019; KHB} IHOO1 + IHOO4 = MACR + MVK + 2HO2 + 2CH2O : ARRPLUS_ade(1.54d-12, 2.3682d0, -1.6092d-3); {2019/11/06; Bates2019; KHB} IHOO1 + IHOO1 = HO2 + HC5A + CO + OH + MVKHP : ARRPLUS_ade(2.49d-12, -0.1644d0, 7.0485d-4); {2019/11/06; Bates2019; KHB} IHOO4 + IHOO4 = HO2 + HC5A + CO + OH + MCRHP : ARRPLUS_ade(3.94d-12, -0.2038d0, 9.0435d-4); {2019/11/06; Bates2019; KHB} IHOO1 + IHOO4 = HO2 + HC5A + CO + OH + 0.5MVKHP + 0.5MCRHP : ARRPLUS_ade(1.54d-12, -0.3682d0, 1.6092d-3); {2019/11/06; Bates2019; KHB} IHOO1 + MO2 = MVK + 2HO2 + 2CH2O : ARRPLUS_ade(2.0d-12, 1.1644d0, -7.0485d-4); {2019/11/06; Bates2019; KHB} IHOO1 + MO2 = CH2O + 0.5HC5A + 1.5HO2 + 0.5MVKHP + 0.5CO + 0.5OH : ARRPLUS_ade(2.0d-12, -0.1644d0, 7.0485d-4); {2019/11/06; Bates2019; KHB} IHOO4 + MO2 = MACR + 2HO2 + 2CH2O : ARRPLUS_ade(2.0d-12, 1.2038d0, -9.0435d-4); {2019/11/06; Bates2019; KHB} IHOO4 + MO2 = CH2O + 0.5HC5A + 1.5HO2 + 0.5MCRHP + 0.5CO + 0.5OH : ARRPLUS_ade(2.0d-12, -0.2038d0, 9.0435d-4); {2019/11/06; Bates2019; KHB} IHOO1 + NO = IHN2 : GC_NIT(2.7d-12, 3.50d2, 1.19d0, 6.0d0, 1.1644d0, 7.05d-4); {2019/11/06; Bates2019; KHB} IHOO1 + NO = NO2 + MVK + HO2 + CH2O : GC_ALK(2.7d-12, 3.50d2, 1.19d0, 6.0d0, 1.1644d0, 7.05d-4); {2019/11/06; Bates2019; KHB} IHOO1 + NO = IHN4 : GC_NIT(2.7d-12, 3.50d2, 1.421d0, 6.0d0, -0.1644d0, -7.05d-4); {2019/11/06; Bates2019; KHB} IHOO1 + NO = NO2 + 0.45HC5A + 0.45HO2 + 0.55MVKHP + 0.55CO + 0.55OH : GC_ALK(2.7d-12, 3.50d2, 1.421d0, 6.0d0, -0.1644d0, -7.05d-4); {2019/11/06; Bates2019; KHB} IHOO4 + NO = IHN3 : GC_NIT(2.7d-12, 3.50d2, 1.297d0, 6.0d0, 1.2038d0, 9.04d-4); {2019/11/06; Bates2019; KHB} IHOO4 + NO = NO2 + MACR + HO2 + CH2O : GC_ALK(2.7d-12, 3.50d2, 1.297d0, 6.0d0, 1.2038d0, 9.04d-4); {2019/11/06; Bates2019; KHB} IHOO4 + NO = IHN1 : GC_NIT(2.7d-12, 3.50d2, 1.421d0, 6.0d0, -0.2038d0, -9.04d-4); {2019/11/06; Bates2019; KHB} IHOO4 + NO = NO2 + 0.45HO2 + 0.45HC5A + 0.55MCRHP + 0.55CO + 0.55OH : GC_ALK(2.7d-12, 3.50d2, 1.421d0, 6.0d0, -0.2038d0, -9.04d-4); {2019/11/06; Bates2019; KHB} HPALD1 + OH = 0.035MVK + 0.315HPALD1OO + 0.15IDC + 0.33MVKHP + 0.085HO2 + 0.085CH2O + 0.085MGLY + 0.085ICHE + 1.085OH + 0.45CO : GCARR_ac(1.17d-11, 450.0d0); {2019/11/06; Bates2019; KHB} HPALD2 + OH = 0.035MACR + 0.315HPALD2OO + 0.15IDC + 0.17MCRHP + 0.165HO2 + 0.165CH2O + 0.165MGLY + 0.165ICHE + 1.165OH + 0.37CO : GCARR_ac(1.17d-11, 450.0d0); {2019/11/06; Bates2019; KHB} HPALD3 + OH = OH + 0.230MVK + 0.420CO + 0.190MVKHP + 0.580ICHE : GCARR_ac(2.20d-11, 390.0d0); {2019/11/06; Bates2019; KHB} HPALD4 + OH = OH + 0.770ICHE + 0.230CO + 0.090MCRHP + 0.140MACR : GCARR_ac(3.50d-11, 390.0d0); {2019/11/06; Bates2019; KHB} HC5A + OH = 1.065OH + 0.355CO2 + 0.638CO + 0.355MGLY + 0.283HO2 + 0.294IEPOXAOO + 0.125MVKHP + 0.158MCRHP + 0.068IEPOXBOO : GCARR_ac(4.64d-12, 650.0d0); {2019/11/06; Bates2019; KHB} ICHE + OH = OH + 1.5CO + 0.5CH2O + 0.5MGLY + 0.5HAC : GCARR_ac(9.85d-12, 410.0d0); {2019/11/06; Bates2019; KHB} IDC + OH = CO + HO2 + MVKPC : GCARR_ac(3.00d-12, 650.0d0); {2019/11/06; Bates2019; KHB} RIPA + OH = 0.655IHPOO3 + 0.345IHPOO1 + 0.005LVOC : GCARR_ac(2.47d-12, 390.0d0); {2019/11/06; Bates2019; KHB} RIPA + OH = 0.67IEPOXA + 0.33IEPOXB + OH + 0.005LVOC : GC_EPO_a(1.62d-11, 3.90d2, 4.77d-21); {2019/11/06; Bates2019; KHB} RIPB + OH = 0.655IHPOO3 + 0.345IHPOO2 + 0.005LVOC : GCARR_ac(4.35d-12, 390.0d0); {2019/11/06; Bates2019; KHB} RIPB + OH = 0.68IEPOXA + 0.32IEPOXB + OH + 0.005LVOC : GC_EPO_a(2.85d-11, 390.0d0, 4.77d-21); {2019/11/06; Bates2019; KHB} RIPA + OH = 0.75IHOO1 + 0.125MVK + 0.25CO + 0.125MVKHP + 0.25HO2 + 0.005LVOC : GCARR_ac(6.10d-12, 200.0d0); {2019/11/06; Bates2019; KHB} RIPB + OH = 0.51IHOO4 + 0.16ICHOO + 0.33CO + 0.33HO2 + 0.165MACR + 0.165MCRHP + 0.005LVOC : GCARR_ac(4.10d-12, 200.0d0); {2019/11/06; Bates2019; KHB} RIPC + OH = 0.595IHPOO1 + 0.03IHOO1 + 0.06HC5A + 0.024HO2 + 0.009HPALD3 + 0.015HPALD1 + 0.405OH + 0.036CO + 0.018CH2O + 0.018MGLY + 0.018HPETHNL + 0.018MCO3 + 0.255IEPOXD + 0.005LVOC : GCARR_ac(3.53d-11, 390.0d0); {2019/11/06; Bates2019; KHB} RIPD + OH = 0.255IHPOO2 + 0.03IHOO4 + 0.745OH + 0.06HC5A + 0.009HPALD4 + 0.015HPALD2 + 0.042HO2 + 0.018CH2O + 0.054CO + 0.018MGLY + 0.018ATOOH + 0.595IEPOXD + 0.005LVOC : GCARR_ac(3.53d-11, 390.0d0); {2019/11/06; Bates2019; KHB} IHPOO1 = 0.176ICPDH + 0.824IDHPE + OH : GCARR_ac(1.59d+13, -10000.0d0); {2019/11/06; Bates2019; KHB} IHPOO1 + NO = 0.716MCRHP + 0.716CH2O + 0.284HPETHNL + 0.284HAC + NO2 + HO2 : GC_ALK(2.7d-12, 3.50d2, 2.1d0, 9.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IHPOO1 + NO = ITHN : GC_NIT(2.7d-12, 3.50d2, 2.1d0, 9.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IHPOO1 + HO2 = 0.725IDHDP + 0.14MCRHP + 0.14CH2O + 0.135HPETHNL + 0.135HAC + 0.275OH + 0.275HO2 : GCARR_ac(2.47d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} IHPOO2 = 0.548ICPDH + 0.452IDHPE + OH : GCARR_ac(2.91d+13, -10000.0d0); {2019/11/06; Bates2019; KHB} IHPOO2 + NO = 0.706MVKHP + 0.706CH2O + 0.294GLYC + 0.294ATOOH + NO2 + HO2 : GC_ALK(2.7d-12, 3.50d2, 2.315d0, 9.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IHPOO2 + NO = ITHN : GC_NIT(2.7d-12, 3.50d2, 2.315d0, 9.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IHPOO2 + HO2 = 0.725IDHDP + 0.14MVKHP + 0.14CH2O + 0.135GLYC + 0.135ATOOH + 0.275OH + 0.275HO2 : GCARR_ac(2.47d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} IHPOO3 = IDHPE : GCARR_ac(1.875d+13, -10000.0d0); {2019/11/06; Bates2019; KHB} IHPOO3 + NO = GLYC + HAC + NO2 + OH : GC_ALK(2.7d-12, 3.50d2, 3.079d0, 9.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IHPOO3 + NO = ITHN : GC_NIT(2.7d-12, 3.50d2, 3.079d0, 9.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IHPOO3 + HO2 = 0.35IDHDP + 0.65GLYC + 0.65HAC + 1.3OH : GCARR_ac(2.47d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} IEPOXD + OH = 0.75ICHE + 0.75HO2 + 0.25ICHOO : GCARR_ac(3.22d-11, -400.0d0); {2019/11/06; Bates2019; KHB} IEPOXA + OH = ICHE + HO2 : GCARR_ac(1.05d-11, -400.0d0); {2019/11/06; Bates2019; KHB} IEPOXA + OH = 0.67IEPOXAOO + 0.33IEPOXBOO : GC_EPO_a(5.82d-11, -4.00d2, 1.14d-20); {2019/11/06; Bates2019; KHB} IEPOXB + OH = ICHE + HO2 : GCARR_ac(8.25d-12, -400.0d0); {2019/11/06; Bates2019; KHB} IEPOXB + OH = 0.81IEPOXAOO + 0.19IEPOXBOO : GC_EPO_a(3.75d-11, -4.00d2, 8.91d-21); {2019/11/06; Bates2019; KHB} IEPOXAOO = IDCHP + HO2 : GCARR_ac(1.875d+13, -10000.0d0); {2019/11/06; Bates2019; KHB} IEPOXAOO = OH + CO + MVKDH : GCARR_ac(1.0d+7, -5000.0d0); {2019/11/06; Bates2019; KHB} IEPOXAOO + HO2 = 0.13CO + 0.65OH + 0.65HO2 + 0.13MVKDH + 0.52GLYC + 0.52MGLY + 0.35ICPDH : GCARR_ac(2.38d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} IEPOXAOO + NO = 0.2MVKDH + HO2 + NO2 + 0.2CO + 0.8GLYC + 0.8MGLY : GC_ALK(2.7d-12, 3.50d2, 13.098d0, 8.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IEPOXAOO + NO = ITCN : GC_NIT(2.7d-12, 3.50d2, 13.098d0, 8.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IEPOXBOO = IDCHP + HO2 : GCARR_ac(1.875d+13, -10000.0d0); {2019/11/06; Bates2019; KHB} IEPOXBOO = CO + OH + MCRDH : GCARR_ac(1.0d+7, -5000.0d0); {2019/11/06; Bates2019; KHB} IEPOXBOO + NO = NO2 + HO2 + 0.8GLYX + 0.8HAC + 0.2CO + 0.2MCRDH : GC_ALK(2.7d-12, 3.50d2, 16.463d0, 8.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IEPOXBOO + NO = ITCN : GC_NIT(2.7d-12, 3.50d2, 16.463d0, 8.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IEPOXBOO + HO2 = 0.13CO + 0.65OH + 0.65HO2 + 0.13MCRDH + 0.52HAC + 0.52GLYX + 0.35ICPDH : GCARR_ac(2.38d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} ICHOO + HO2 = 0.35ICPDH + 0.65OH + 0.52CO + 0.13MVKHC + 0.65CH2O + 0.65HO2 + 0.52HAC : GCARR_ac(2.38d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} ICHOO + NO = ITCN : GC_NIT(2.7d-12, 3.50d2, 13.098d0, 8.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} ICHOO + NO = NO2 + 0.8HAC + 0.8CO + CH2O + HO2 + 0.2MVKHC : GC_ALK(2.7d-12, 3.50d2, 13.098d0, 8.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} ICHOO = HO2 + 2.000CO + HAC + OH : GCARR_ac(1.875d+13, -10000.0d0); {2019/11/06; Bates2019; KHB} HPALD1OO + NO = NO2 + OH + CO2 + MVK : GCARR_ac(2.70d-12, 350.0d0); {2019/11/06; Bates2019; KHB} HPALD1OO + HO2 = OH + OH + CO2 + MVK : GCARR_ac(2.38d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} HPALD2OO + NO = NO2 + OH + CO2 + MACR : GCARR_ac(2.70d-12, 350.0d0); {2019/11/06; Bates2019; KHB} HPALD2OO + HO2 = OH + OH + CO2 + MACR : GCARR_ac(2.38d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} IHN2 + OH = ISOPNOO1 : GCARR_ac(7.14d-12, 390.0d0); {2019/11/06; Bates2019; KHB} IHN2 + OH = 0.67IEPOXA + 0.33IEPOXB + NO2 : GC_EPO_a(6.30d-12, 390.0d0, 1.62d-19); {2019/11/06; Bates2019; KHB} IHN3 + OH = ISOPNOO2 : GCARR_ac(1.02d-11, 390.0d0); {2019/11/06; Bates2019; KHB} IHN3 + OH = 0.67IEPOXA + 0.33IEPOXB + NO2 : GC_EPO_a(1.05d-11, 390.0d0, 2.49d-19); {2019/11/06; Bates2019; KHB} IHN1 + OH = IEPOXD + NO2 : GC_EPO_a(1.55d-11, 390.0d0, 2.715d-19); {2019/11/06; Bates2019; KHB} IHN1 + OH = IDHNDOO1 : GCARR_ac(2.04d-11, 390.0d0); {2019/11/06; Bates2019; KHB} IHN4 + OH = IEPOXD + NO2 : GC_EPO_a(9.52d-12, 390.0d0, 2.715d-19); {2019/11/06; Bates2019; KHB} IHN4 + OH = IDHNDOO2 : GCARR_ac(2.95d-11, 390.0d0); {2019/11/06; Bates2019; KHB} IHN1 + OH = 0.6OH + 0.6CO + 0.6MCRHNB + 0.4HO2 + 0.4ICN : GCARR_ac(7.5d-12, 20.0d0); {2019/11/06; Bates2019; KHB} IHN4 + OH = 0.6OH + 0.6CO + 0.6MVKN + 0.4HO2 + 0.4ICN : GCARR_ac(7.5d-12, 20.0d0); {2019/11/06; Bates2019; KHB} ISOPNOO1 = ITCN + HO2 : GCARR_ac(1.875d+13, -10000.0d0); {2019/11/06; Bates2019; KHB} ISOPNOO1 + HO2 = 0.482ITHN + 0.059MCRHN + 0.059CH2O + 0.459GLYC + 0.459HAC + 0.059HO2 + 0.459NO2 + 0.518OH : GCARR_ac(2.60d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} ISOPNOO1 + NO = 0.272MCRHN + 0.272CH2O + 0.728GLYC + 0.728HAC + 0.272HO2 + 1.728NO2 : GC_ALK(2.7d-12, 350.0d0, 6.32d0, 11.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} ISOPNOO1 + NO = IDN : GC_NIT(2.7d-12, 350.0d0, 6.32d0, 11.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} ISOPNOO2 = ITCN + HO2 : GCARR_ac(1.875d+13, -10000.0d0); {2019/11/06; Bates2019; KHB} ISOPNOO2 + HO2 = 0.401ITHN + 0.599MVKN + 0.599CH2O + 0.599HO2 + 0.599OH : GCARR_ac(2.60d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} ISOPNOO2 + NO = MVKN + CH2O + HO2 + NO2 : GC_ALK(2.7d-12, 350.0d0, 7.941d0, 11.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} ISOPNOO2 + NO = IDN : GC_NIT(2.7d-12, 350.0d0, 7.941d0, 11.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IDHNDOO1 = ITCN + HO2 : GCARR_ac(1.256d+13, -10000.0d0); {2019/11/06; Bates2019; KHB} IDHNDOO2 = ITCN + HO2 : GCARR_ac(5.092d+12, -10000.0d0); {2019/11/06; Bates2019; KHB} IDHNDOO1 + HO2 = 0.418ITHN + 0.551PROPNN + 0.551GLYC + 0.031MCRHNB + 0.031CH2O + 0.582HO2 + 0.582OH : GCARR_ac(2.60d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} IDHNDOO1 + NO = 0.935PROPNN + 0.935GLYC + 0.065MCRHNB + 0.065CH2O + HO2 + NO2 : GC_ALK(2.7d-12, 350.0d0, 4.712d0, 11.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IDHNDOO1 + NO = IDN : GC_NIT(2.7d-12, 350.0d0, 4.712d0, 11.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IDHNDOO2 + HO2 = 0.494ITHN + 0.441HAC + 0.441ETHLN + 0.065MVKN + 0.065CH2O + 0.506OH + 0.506HO2 : GCARR_ac(2.60d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} IDHNDOO2 + NO = 0.858HAC + 0.858ETHLN + 0.142MVKN + 0.142CH2O + HO2 + NO2 : GC_ALK(2.7d-12, 350.0d0, 2.258d0, 11.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IDHNDOO2 + NO = IDN : GC_NIT(2.7d-12, 350.0d0, 2.258d0, 11.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IDHNBOO + HO2 = 0.379HO2 + 0.379OH + 0.621ITHN + 0.094MCRHNB + 0.242GLYC + 0.242PROPNN + 0.010MVKN + 0.033HAC + 0.033ETHLN + 0.104CH2O : GCARR_ac(2.60d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} IDHNBOO + NO = 0.355MCRHNB + 0.546PROPNN + 0.546GLYC + 0.028MVKN + 0.071ETHLN + 0.071HAC + HO2 + NO2 + 0.383CH2O : GC_ALK(2.7d-12, 350.0d0, 1.851d0, 11.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IDHNBOO + NO = IDN : GC_NIT(2.7d-12, 350.0d0, 1.851d0, 11.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} ISOP + NO3 = 0.465INO2B + 0.535INO2D + LISOPNO3 : GCARR_ac(2.95d-12, -450.0d0); {2019/11/06; Bates2019; KHB} INO2B + HO2 = 0.473INPB + 0.048MACR + 0.479MVK + 0.527OH + 0.527CH2O + 0.527NO2 : GCARR_ac(2.47d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} INO2D + HO2 = INPD : GCARR_ac(2.47d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} INO2B + INO2B = 1.737MVK + 0.123MACR + 1.860CH2O + 1.860NO2 + 0.070INPB + 0.070ICN : 1.61d-12; {2019/11/06; Bates2019; KHB} INO2B + INO2D = 0.399INPB + 0.544MVK + 0.532ICN + 0.563NO2 + 0.474INA + 0.089HO2 + 0.019MACR + 0.563CH2O + 0.032IHN1 : 2.56d-12; {2019/11/06; Bates2019; KHB} INO2D + INO2D = 0.064HO2 + 0.340INA + 0.862ICN + 0.671IHN1 + 0.127IHN4 : 3.71d-12; {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} INO2D + MO2 = 0.298IHN1 + 0.057IHN4 + 0.244INA + 0.401ICN + 0.355MOH + 0.336HO2 + 0.645CH2O : 1.18d-12; {2019/11/06; Bates2019; KHB} INO2B + MO2 = 0.355INPB + 0.583MVK + 0.028MACR + 0.034ICN + 0.611HO2 + 1.577CH2O + 0.611NO2 + 0.034MOH : 2.80d-13; {2019/11/06; Bates2019; KHB} INO2B + MCO3 = CH2O + NO2 + MO2 + 0.903MVK + 0.097MACR + CO2 : 1.92d-12; {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} INO2D + MCO3 = MO2 + 0.841INA + 0.159HO2 + 0.159ICN + CO2 : 7.71d-12; {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} INO2B + NO3 = CH2O + 2NO2 + 0.903MVK + 0.097MACR : 2.3d-12; {2019/11/06; Bates2019; KHB} INO2D + NO3 = NO2 + 0.841INA + 0.159HO2 + 0.159ICN : 2.3d-12; {2019/11/06; Bates2019; KHB} INO2B + NO = 2NO2 + CH2O + 0.096MACR + 0.904MVK : GC_ALK(2.7d-12, 350.0d0, 12.915d0, 9.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} INO2B + NO = IDN : GC_NIT(2.7d-12, 350.0d0, 12.915d0, 9.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} INO2D + NO = NO2 + 0.159HO2 + 0.159ICN + 0.841INA : GC_ALK(2.7d-12, 350.0d0, 1.412d0, 9.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} INO2D + NO = IDN : GC_NIT(2.7d-12, 350.0d0, 1.412d0, 9.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} INA + O2 = ICN + HO2 : GCARR_ac(2.50d-14, -300.0d0); {2019/11/06; Bates2019; KHB} INA = IDHNBOO : GCARR_ac(1.00d+20, -10000.0d0); {2019/11/06; Bates2019; KHB} INPB + OH = 0.670IHPNBOO + 0.33IDHNBOO : GCARR_ac(5.88d-12, 390.0d0); {2019/11/06; Bates2019; KHB} INPD + OH = IHPNDOO : GCARR_ac(1.61d-11, 390.0d0); {2019/11/06; Bates2019; KHB} INPB + OH = OH + ITHN : GC_EPO_a(4.471d-12, 390.0d0, 2.28d-20); {2019/11/06; Bates2019; KHB} INPD + OH = OH + ITHN : GC_EPO_a(8.77d-12, 390.0d0, 2.185d-20); {2019/11/06; Bates2019; KHB} INPD + OH = NO2 + ICHE : GC_EPO_a(1.493d-11, 390.0d0, 2.715d-19); {2019/11/06; Bates2019; KHB} INPB + OH = INO2B : GCARR_ac(2.278d-12, 200.0d0); {2019/11/06; Bates2019; KHB} INPD + OH = INO2D : GCARR_ac(3.40d-12, 200.0d0); {2019/11/06; Bates2019; KHB} INPD + OH = ICN + OH : GCARR_ac(7.50d-12, 20.0d0); {2019/11/06; Bates2019; KHB} IHPNDOO = OH + ITCN : GCARR_ac(6.55d+12, -10000.0d0); {2019/11/06; Bates2019; KHB} IHPNBOO = OH + 0.5ITCN + 0.5ITHN : GCARR_ac(8.72d+12, -10000.0d0); {2019/11/06; Bates2019; KHB} IHPNBOO + HO2 = 0.234ITHN + 0.060MCRHNB + 0.340GLYC + 0.249HPETHNL + 0.004MCRHP + 0.008MVKN + 0.009ATOOH + 0.054MVKHP + 0.042HAC + 1.147OH + 0.326HO2 + 0.058NO2 + 0.126CH2O + 0.589PROPNN + 0.051ETHLN : GCARR_ac(2.64d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} IHPNDOO + HO2 = 0.387ITHN + 0.073MCRHNB + 0.471HPETHNL + 0.015MVKN + 0.054ATOOH + 0.646OH + 0.580HO2 + 0.088CH2O + 0.471PROPNN + 0.054ETHLN : GCARR_ac(2.64d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} IHPNBOO + NO = 0.384GLYC + 0.170MCRHNB + 0.303HPETHNL + 0.014MVKN + 0.051HAC + 0.013ATOOH + 0.059MVKHP + 0.006MCRHP + 0.687PROPNN + 0.064ETHLN + 0.249CH2O + 1.065NO2 + 0.500HO2 + 0.435OH : GC_ALK(2.7d-12, 350.0d0, 6.092d0, 12.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IHPNBOO + NO = IDN : GC_NIT(2.7d-12, 350.0d0, 6.092d0, 12.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IHPNDOO + NO = 0.291MCRHNB + 0.590HPETHNL + 0.070ATOOH + 0.049MVKN + 0.590PROPNN + 0.070ETHLN + 0.340CH2O + 1.000NO2 + 0.904HO2 + 0.096OH : GC_ALK(2.7d-12, 350.0d0, 4.383d0, 12.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IHPNDOO + NO = IDN : GC_NIT(2.7d-12, 350.0d0, 4.383d0, 12.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} ICN + OH = NO2 + ICHE : GC_EPO_a(2.97d-12, 390.0d0, 2.715d-19); {2019/11/06; Bates2019; KHB} ICN + OH = 0.244OH + 0.539CO + 0.295HO2 + 0.378MCRHNB + 0.461ICNOO + 0.161MVKN : GCARR_ac(9.35d-12, 390.0d0); {2019/11/06; Bates2019; KHB} ICNOO + NO = 0.67ICNOO + 0.429CO2 + 0.33CO + 0.33HO2 + 0.231PROPNN + NO2 + 0.099ETHLN : GCARR_ac(2.70d-12, 350.0d0); {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} ICNOO + HO2 = 0.67ICNOO + 0.429CO2 + 0.33CO + 0.33HO2 + 0.231PROPNN + OH + 0.099ETHLN : GCARR_ac(2.54d-13, 1300.0d0); {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} IDN + OH = 0.565NO2 + 0.565ITHN + 0.435IDNOO : GCARR_ac(1.00d-11, 0.0d0); {2019/11/06; Bates2019; KHB} IDNOO + NO = PROPNN + 1.11NO2 + 0.11GLYC + 0.89ETHLN + 0.89HO2 : GCARR_ac(2.70d-12, 350.0d0); {2019/11/06; Bates2019; KHB} IDNOO + HO2 = 0.18IDN + 0.09NO2 + 0.09GLYC + 0.82OH + 0.73HO2 + 0.82PROPNN + 0.73ETHLN : GCARR_ac(2.71d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} MVK + OH = MVKOHOO : GCARR_ac(2.60d-12, 610.0d0); {2019/11/06; Bates2019; KHB} MVK + O3 = 0.545MGLY + 0.500CH2OO + 0.600CH2O + 0.380MCO3 + 0.100HO2 + 0.080OH + 0.280CO + 0.075PYAC + 0.045H2O2 : GCARR_ac(8.50d-16, -1520.0d0); {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} MACR + OH = 0.036ATOOH + 0.036CO + 0.036HO2 + 0.964MCROHOO : GCARR_ac(4.40d-12, 380.0d0); {2019/11/06; Bates2019; KHB} MACR + OH = MACR1OO : GCARR_ac(2.70d-12, 470.0d0); {2019/11/06; Bates2019; KHB} MACR + O3 = 0.880MGLY + 0.880CH2OO + 0.120CH2O + 0.120OH + 0.120CO + 0.120MCO3 : GCARR_ac(1.50d-15, -2110.0d0); {2019/11/06; Bates2019; KHB; 2023/04/18; JPL 19-5; KHB} MACR + NO3 = 0.320HNO3 + 0.320MACR1OO + 0.680OH + 0.680CO + 0.680PROPNN : GCARR_ac(1.80d-13, -1190.0d0); {2019/11/06; Bates2019; KHB} MVKN + OH = 0.241CH2O + 0.690NO3 + 0.020OH + 0.449MGLY + 0.449HCOOH + 0.241PYAC + 0.290MVKHCB + 0.310NO2 + 0.040MCO3 : GCARR_ac(1.24d-12, 380.0d0); {2019/11/06; Bates2019; KHB} MVKHP + OH = 0.53MVKHC + 0.47MVKHCB + OH : 5.77d-11; {2019/11/06; Bates2019; KHB} MCRHP + OH = 0.77CO + OH + 0.77HAC + 0.23ATOOH + 0.23CO2 : GCARR_ac(2.70d-12, 470.0d0); {2019/11/06; Bates2019; KHB} MCRHN + OH = MACRNO2 : GCARR_ac(1.39d-11, 380.0d0); {2019/11/06; Bates2019; KHB} MCRHNB + OH = 0.250CO + OH + PROPNN + 0.750CO2 : GCARR_ac(2.70d-12, 470.0d0); {2019/11/06; Bates2019; KHB} C4HVP1 + NO = NO2 + MVKOHOO : GCARR_ac(2.70d-12, 350.0d0); {2019/11/06; Bates2019; KHB} C4HVP1 + HO2 = OH + MVKOHOO : GCARR_ac(1.93d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} C4HVP1 + NO2 = MVKN : 9.00d-12; {2019/11/06; Bates2019; KHB} C4HVP2 + NO = NO2 + MCROHOO : GCARR_ac(2.70d-12, 350.0d0); {2019/11/06; Bates2019; KHB} C4HVP2 + HO2 = OH + MCROHOO : GCARR_ac(1.93d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} C4HVP2 + NO2 = MCRHN : 9.00d-12; {2019/11/06; Bates2019; KHB} MCRENOL + OH = 0.75CO + 0.285OH + 0.715HO2 + 0.653PYAC + 0.097CO2 + 0.097MCO3 + 0.063MVKHCB + 0.187MGLY + 0.187HCOOH : GCARR_ac(3.71d-12, 983.0d0); {2019/11/06; Bates2019; KHB} MVKPC + OH = OH + CO + MGLY : GCARR_ac(5.00d-12, 470.0d0); {2019/11/06; Bates2019; KHB} MVKDH + OH = 0.4MVKHCB + 0.6MVKHC + HO2 : GCARR_ac(8.70d-12, 70.0d0); {2019/11/06; Bates2019; KHB} MVKHCB + OH = OH + MGLY + CO : GCARR_ac(5.00d-12, 470.0d0); {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} MVKHC + OH = 2CO + HO2 + MCO3 : GCARR_ac(2.00d-12, 70.0d0); {2019/11/06; Bates2019; KHB} MCRDH + OH = 0.16MVKHCB + HO2 + 0.84HAC + 0.84CO : GCARR_ac(2.4d-11, 70.0d0); {2019/11/06; Bates2019; KHB} MVKOHOO + HO2 = 0.360MCO3 + 0.360GLYC + 0.665OH + 0.305HO2 + 0.255MVKHC + 0.335MVKHP + 0.050MGLY + 0.050CH2O : GCARR_ac(2.12d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} MVKOHOO + NO = 0.758MCO3 + 0.758GLYC + 0.242MGLY + 0.242CH2O + 0.242HO2 + NO2 : GC_ALK(2.7d-12, 350.0d0, 4.573d0, 6.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} MVKOHOO + NO = MVKN : GC_NIT(2.7d-12, 350.0d0, 4.573d0, 6.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} MCROHOO + HO2 = 0.41MCRHP + 0.507HAC + 0.507CO + 0.507HO2 + 0.59OH + 0.59O2 + 0.083MGLY + 0.083CH2O : GCARR_ac(2.12d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} MACR1OO + HO2 = 0.5MACR1OOH + 0.5CH2O + 0.325CO + 0.325MO2 + 0.175MCO3 + 0.5CO2 + 0.5OH + 0.13O3 : GCARR_ac(3.14d-12, 580.0d0); {2019/11/06; Bates2019; KHB} MACR1OOH + OH = 0.165MACR1OO + 0.585OH + 0.488HAC + 0.488CO + 0.098HMML + 0.410CO2 + 0.25CH2O + 0.087MCO3 + 0.162MO2 : 1.66d-11; {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} MCROHOO = HAC + CO + OH : GCARR_ac(2.90d+7, -5297.0d0); {2019/11/06; Bates2019; KHB} MCROHOO + NO = 0.86HAC + 0.86CO + 0.86HO2 + NO2 + 0.14MGLY + 0.14CH2O : GC_ALK(2.7d-12, 350.0d0, 2.985d0, 6.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} MCROHOO + NO = MCRHN : GC_NIT(2.7d-12, 350.0d0, 2.985d0, 6.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} MACR1OO + NO = 0.35MCO3 + 0.65MO2 + 0.65CO + CH2O + CO2 + NO2 : GCARR_ac(8.7d-12, 290.0d0); {2019/11/06; Bates2019; KHB} MACR1OO + NO2 = MPAN : GC_PAN_acac(2.591d-28, -6.87d0, 1.125d-11, -1.105d0, 0.3d0); {2019/11/06; Bates2019; KHB} MACRNO2 + HO2 = 0.5HAC + 0.5OH + 0.5CO2 + 0.5NO2 + 0.13O3 + 0.37MCRHN + 0.13MCRHNB : GCARR_ac(3.14d-12, 580.0d0); {2019/11/06; Bates2019; KHB} MACRNO2 + NO = HAC + 2NO2 + CO2 : GCARR_ac(7.50d-12, 290.0d0); {2019/11/06; Bates2019; KHB} MACRNO2 + NO2 = MPAN + NO2 : GC_PAN_acac(2.591d-28, -6.87d0, 1.125d-11, -1.105d0, 0.3d0); {2019/11/06; Bates2019; KHB} MACRNO2 + NO3 = HAC + 2NO2 + CO2 : 4.00d-12; {2019/11/06; Bates2019; KHB} MACRNO2 + MO2 = 0.7HAC + 0.7CO2 + 0.7NO2 + 0.7HO2 + CH2O + 0.3MCRHNB : GCARR_ac(2.9d-12, 500.0d0); {2019/11/06; Bates2019; KHB} MPAN = MACR1OO + NO2 : GCARR_ac(1.58d+16, -13500.0d0); {2019/11/06; Bates2019; KHB} MPAN + OH = 0.75HMML + NO3 + 0.25HAC + 0.25CO : 2.90d-11; {2019/11/06; Bates2019; KHB} HMML + OH = 0.700MGLY + 0.700OH + 0.300MCO3 + 0.300HCOOH + CO : 4.33d-12; {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} ICPDH + OH = CO + 0.5HO2 + 0.5OH + 0.5MCRHP + 0.35MVKDH + 0.15MCRDH : 1.00d-11; {2019/11/06; Bates2019; KHB} IDCHP + OH = 0.888CO + 0.444OH + 0.444HO2 + 0.318MVKHC + 0.08IEPOXAOO + 0.126MVKHCB + 0.444MVKPC + 0.032IEPOXBOO : 2.25d-11; {2019/11/06; Bates2019; KHB} IDHDP + OH = OH + 0.333ICPDH + 0.667IDHPE : 3.00d-12; {2019/11/06; Bates2019; KHB} IDHPE + OH = OH + CO2 + 0.571MCRHP + 0.429MVKHP : 3.00d-12; {2019/11/06; Bates2019; KHB} ITCN + OH = CO + NO2 + 0.75MVKHP + 0.25MCRHP : 1.00d-11; {2019/11/06; Bates2019; KHB} ITHN + OH = 0.300OH + 0.620HO2 + 0.900ITCN + 0.037IDHNBOO + 0.041ICNOO + 0.022MCRENOL + 0.022NO2 + 0.022CH2O : 3.00d-12; {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} ETHLN + NO3 = HNO3 + NO2 + MCO3 : GCARR_ac(1.40d-12, -1860.0d0); {2019/11/06; Bates2019; KHB} PYAC + OH = MCO3 + CO2 : 8.00d-13; {2019/11/06; Bates2019; KHB} HMHP + OH = 0.5CH2O + 0.5HO2 + 0.5HCOOH + 0.5OH : GCARR_ac(1.30d-12, 500.0d0); {2019/11/06; Bates2019; KHB} MCO3 + HO2 = 0.13O3 + 0.13ACTA + 0.37MAP + 0.5MO2 + 0.5CO2 + 0.5OH : GCARR_ac(3.14d-12, 580.0d0); {2019/11/06; Bates2019; KHB} HPETHNL + OH = CO + OH + CH2O : GCARR_ac(1.55d-12, 340.0d0); {2019/11/06; Bates2019; KHB} HPETHNL + OH = GLYX + OH : 2.91d-11; {2019/11/06; Bates2019; KHB} NAP + OH = NRO2 + OH : GCARR_ac(1.56d-11, 117.0d0); {2013/08/12; Pye2010; HOTP} NRO2 + HO2 = LNRO2H + HO2 : GCARR_ac(1.40d-12, 700.0d0); {2013/08/12; Pye2010; HOTP} NRO2 + NO = LNRO2N + NO : GCARR_ac(2.60d-12, 350.0d0); {2013/08/12; Pye2010; HOTP} // // --- RCOOH chemistry (KRT) RCOOH + OH = ETO2 + CO2 + H2O : 1.20d-12; {2024/08/20; Travis2024; KRT} // // ----- STYR/EBZ/TMB chemistry (Bates et al., 2021) STYR + OH = 0.300ZRO2 + 0.700AROMRO2 + 0.700HO2 + CH2O + 0.700BALD : 5.8d-11; {krt, Bates et al., 2021} STYR + NO3 = AROMRO2 + NO2 + CH2O + BALD : 1.5d-12; {krt, Bates et al., 2021} STYR + O3 = 0.500CH2OO + 0.500CH2O + 0.620BALD + 0.100BENZ + 0.280BENZO2 + 0.180CO + 0.180OH + 0.100HO2 : 1.7d-17; {krt, Bates et al., 2021} EBZ + OH = 0.813AROMRO2 + 0.250CH2O + 0.070ZRO2 + 0.180CSL + 0.400ALD2 + 0.400AROMP5 + 0.800AROMP4 + 0.1800HO2 : 7.0d-12; {krt, Bates et al., 2021} EBZ + NO3 = AROMRO2 + HNO3 + CH2O + BALD : 1.2d-16; {krt, Bates et al., 2021} TMB + OH = 0.930AROMRO2 + 0.120CH2O + 0.050ZRO2 + 0.030CSL + 0.600AROMP5 + 0.375AROMP4 + 0.250MGLY + 0.100GLYX + 0.500RCOOH + 0.120CO + 0.030HO2 + 0.150TLFUONE : 3.92d-11; {krt, Bates et al., 2021} TMB + NO3 = AROMRO2 + HNO3 + 0.400AROMP5 + BALD : 1.4d-15; {krt, Bates et al., 2021} // // ------ Lumped aromatic nitrate ---- ZRO2 + NO = 0.110RNO3 + 0.890BALD + 0.890NO2 + HO2 : GCARR_ac(2.7d-12,360.0d0);{MCM} ZRO2 + HO2 = BALD + OH : GCARR_ac(1.5d-13,1310.0d0);{MCM} RNO3 + OH = BALD + NO2 + HO2 : 7.16d-11;{MCM} // // --- C2H2 & C2H4 chemistry (per KHB) C2H4 + O3 = CH2O + CH2OO : GCARR_ac(1.20d-14, -2630.0d0); {2021/09/22; Kwon2020; KHB,MSL; 2023/04/18; JPL 19-5; KHB} C2H4 + OH = ETOO : GCJPLPR_abab(1.10d-28, 3.5d+00, 8.4d-12, 1.75d0, 0.5d0); {2021/09/22; Kwon2020; KHB,MSL} C2H2 + OH = 0.636GLYX + 0.636OH + 0.364CO + 0.364HO2 + 0.364HCOOH : GCJPLPR_abab(5.50d-30, 0.0d0, 8.3d-13, -2.0d0, 0.5d0); {2021/09/22; Kwon2020; KHB,MSL} ETOO + HO2 = ETHP : GCARR_ac(1.53d-13, 1300.0d0); {2021/09/22; Kwon2020; KHB,MSL} ETOO + NO = 0.995ETO + 0.995NO2 + 0.005ETHN : GCARR_ac(2.7d-12, 360.0d0); {2021/09/22; Kwon2020; KHB,MSL} ETOO + NO3 = ETO + NO2 : 2.3d-12; {2021/09/22; Kwon2020; KHB,MSL} ETOO + MO2 = 0.6ETO + 0.6HO2 + 0.8CH2O + 0.2MOH + 0.2ETHP + 0.2GLYC : 6.00d-13; {2021/09/22; Kwon2020; KHB,MSL} ETO = HO2 + 2.000CH2O : GCARR_ac(9.5d+13, -5988.0d0); {2021/09/22; Kwon2020; KHB,MSL} ETO + O2 = GLYC + HO2 : GCARR_ac(2.5d-14, -300.0d0); {2021/09/22; Kwon2020; KHB,MSL} ETHN + OH = GLYC + NO2 : 8.40d-13; {2021/09/22; Kwon2020; KHB,MSL} ETHP + OH = ETOO : GCARR_ac(1.90d-12, 190.0d0); {2021/09/22; Kwon2020; KHB,MSL} ETHP + OH = OH + GLYC : 1.38d-11; {2021/09/22; Kwon2020; KHB,MSL} // // --- Aromatic Chemistry (per KHB) BENZ + OH = BRO2 + 0.54PHEN + 0.54HO2 + 0.46AROMRO2 + 0.18GLYX + 0.2CO +0.55AROMP4 : GCARR_ac(2.3d-12, -193.0d0); {2021/09/29; Bates2021b; KHB,MSL; 2022/07/01; fix C accounting; KHB} TOLU + OH = TRO2 + 0.19CSL + 0.19HO2 + 0.81AROMRO2 + 0.06BALD + 0.12GLYX + 0.12MGLY + 0.27CO + 0.04MVK + 0.3AROMP5 + 0.68AROMP4 : GCARR_ac(1.8d-12, 340.0d0); {2021/09/29; Bates2021b; KHB,MSL} XYLE + OH = XRO2 + 0.15CSL + 0.15HO2 + 0.85AROMRO2 + 0.06BALD + 0.1GLYX + 0.2MGLY + 0.3CO + 0.04MVK + 0.56AROMP5 + 0.28AROMP4 + 0.45RCOOH : 1.7d-11; {2021/09/29; Bates2021b; KHB,MSL} AROMRO2 + HO2 = OH + HO2 : 2.91d-13 * EXP( 1300.0d0 / TEMP ) * 0.82d0; {2021/09/29; Bates2021b; KHB,MSL} AROMRO2 + NO = NO2 + HO2 : GCARR_ac(2.60d-12, 365.0d0); {2021/09/29; Bates2021b; KHB,MSL} AROMRO2 + NO3 = NO2 + HO2 : 2.30d-12; {2021/09/29; Bates2021b; KHB,MSL} AROMRO2 + MO2 = CH2O + HO2 + HO2 : GCARR_ac(1.70d-14, 220.0d0); {2021/09/29; Bates2021b; KHB,MSL} AROMRO2 + MCO3 = MO2 + HO2 + CO2 : GCARR_ac(4.20d-14, 220.0d0); {2021/09/29; Bates2021b; KHB,MSL; 2022/07/01; fix C accounting; KHB} //-----Lumped aromatic PN------ TLFUONE + OH = TLFUO2 : 6.9d-11; TLFUO2 + NO = NO2 + AROMCHO + HO2 : GCARR_abc(2.7d-12,0.0d0,360.0d0); TLFUO2 + HO2 = AROMCHO : GCARR_abc(2.05d-13,0.0d0,1300.0d0); AROMCHO + OH = AROMCO3 : 7.09E-11; AROMCO3 + NO = NO2 + RCO3 + 2CO2 : GCARR_abc(7.50d-12,0.0d0,290.0d0); AROMCO3 + HO2 = 0.15O3 + 0.15RCOOH + 0.44CO2 + 0.44OH + 0.44RCO3+ 0.41RP : GCARR_abc(5.20d-13,0.0d0,980.0d0); AROMCO3 + NO2 {+M} = AROMPN : GC_PAN_acac(3.28d-28, -6.87d0, 1.125d-11, -1.105d0, 0.3d0); {Same as BZPAN} AROMPN = AROMCO3 + NO2 : GC_PAN_abab(1.10d-5, -10100.0d0, 1.90d+17, -14100.0d0, 0.3d0)*0.67d0; {Same as BZPAN} AROMPN + OH = 2CO + NO2 + MCO3 + CH2O : 1.0d-14; {MCM for ACCOMEPAN} //------ PHEN + OH = 0.06BENZO + 0.06GLYX + 0.18AROMP4 + 0.14AROMRO2 + 0.8MCT + 0.8HO2 : GCARR_ac(4.70d-13, 1220.0d0); {2021/09/29; Bates2021b; KHB,MSL} PHEN + NO3 = 0.258NPHEN + 0.742HNO3 + 0.742BENZO : 3.8d-12; {2021/09/29; Bates2021b; KHB,MSL} CSL + OH = 0.727MCT + 0.727HO2 + 0.2AROMRO2 + 0.073BENZO + 0.44AROMP5 : 4.7d-11; {2021/09/29; Bates2021b; KHB,MSL} CSL + NO3 = 0.5NPHEN + 0.2AROMRO2 + 0.5HNO3 + 0.3BENZO + 0.44AROMP5 : 1.4d-11; {2021/09/29; Bates2021b; KHB,MSL} MCT + OH = 0.3BENZO + 0.7AROMRO2 + 1.05AROMP4 : 2.0d-11; {2021/09/29; Bates2021b; KHB,MSL} MCT + O3 = GLYC + HO2 + OH + AROMP4 : 9.2d-18; {2021/09/29; Bates2021b; KHB,MSL} MCT + NO3 = 0.5NPHEN + 0.5HNO3 + 0.3BENZO + 0.2AROMRO2 + 0.3AROMP4 : 9.9d-11; {2021/09/29; Bates2021b; KHB,MSL} BALD + OH = BZCO3 : GCARR_ac(5.90d-12, 225.0d0); {2021/09/29; Bates2021b; KHB,MSL} BALD + NO3 = BZCO3 + HNO3 : 2.4d-15; {2021/09/29; Bates2021b; KHB,MSL} BZCO3 + HO2 = 0.35CO2 + 0.2BENZO2 + 0.15O3 + 0.2OH + 0.15BENZP + 0.65BZCO3H : GCARR_ac(1.10d-11, 340.0d0); {2021/09/29; Bates2021b; KHB,MSL} BZCO3 + NO = NO2 + CO2 + BENZO2 : GCARR_ac(7.50d-12, 290.0d0); {2021/09/29; Bates2021b; KHB,MSL} BZCO3 + NO2 = BZPAN : GC_PAN_acac(3.28d-28, -6.87d0, 1.125d-11, -1.105d0, 0.3d0); {2021/09/29; Bates2021b; KHB,MSL} BZCO3H + OH = BZCO3 : 4.66d-12; {2021/09/29; Bates2021b; KHB,MSL} BZPAN = BZCO3 + NO2 : GC_PAN_abab(1.10d-5, -10100.0d0, 1.90d+17, -14100.0d0, 0.3d0)*0.67d0; {2021/09/29; Bates2021b; KHB,MSL} BZPAN + OH = BENZP + CO2 + NO2 : 1.06d-12; {2021/09/29; Bates2021b; KHB,MSL} BENZO2 + NO2 = BENZO + NO3 : 7.00d-12; {2021/09/29; Bates2021b; KHB,MSL} BENZO2 + NO = BENZO + NO2 : GCARR_ac(2.670d-12, 365.0d0); {2021/09/29; Bates2021b; KHB,MSL} BENZO2 + NO3 = BENZO + NO2 : 2.30d-12; {2021/09/29; Bates2021b; KHB,MSL} BENZO2 + HO2 = BENZP : GCARR_ac(2.24d-13, 1300.0d0); {2021/09/29; Bates2021b; KHB,MSL} BENZP + OH = BENZO2 : 3.60d-12; {2021/09/29; Bates2021b; KHB,MSL} BENZO + O3 = BENZO2 : 2.86d-13; {2021/09/29; Bates2021b; KHB,MSL} BENZO + NO2 = NPHEN : 2.08d-12; {2021/09/29; Bates2021b; KHB,MSL} NPHEN + OH = 0.5R4N1 + 0.9AROMP4 + 0.5NO2 +0.15CO : 3.47d-12; {2021/09/29; Bates2021b; KHB,MSL; 2023/04/18; Bates2023; KHB} NPHEN + NO3 = 0.5HNO3 + NO2 + 0.5R4N1 + 0.9AROMP4 + 0.15CO : 2.60d-12; {2021/09/29; Bates2021b; KHB,MSL; 2023/04/18; Bates2023; KHB} BENZO2 + MO2 = BENZO + HO2 + CH2O : GCARR_ac(2.670d-13, 365.0d0); {2021/09/29; Bates2021b; KHB,MSL} BZCO3 + MO2 = BENZO2 + CO2 + HO2 + CH2O : GCARR_ac(2.670d-12, 365.0d0); {2021/09/29; Bates2021b; KHB,MSL} AROMP4 + OH = 0.6GLYX + 0.26CO + 0.26HCOOH + 0.25OH + 0.33HO2 + 0.33RCO3 + 0.43RCOOH : 5.0d-11; {2021/09/29; Bates2021b; KHB,MSL; 2023/04/18; Bates2023; KHB} AROMP4 + O3 = 0.5HCOOH + 0.5CO + 0.6GLYX + 0.9GLYC + 0.1HO2 + 0.1OH : 8.0d-16; {2021/09/29; Bates2021b; KHB,MSL} AROMP4 = 0.2HO2 + 0.2GLYX + 1.2RCHO : 1.5d-3; {2021/09/29; Bates2021b; KHB,MSL} AROMP5 + OH = 0.6MGLY + 0.15ACTA + 0.1HCOOH + 0.25OH + 0.33HO2 + 0.33RCO3 + 0.25CO + 0.52RCOOH : 5.0d-11; {2021/09/29; Bates2021b; KHB,MSL} AROMP5 + O3 = 0.6MGLY + 0.3ACTA + 0.2HCOOH + 0.5CO + 0.95GLYC + 0.1HO2 + 0.1OH : 8.0d-16; {2021/09/29; Bates2021b; KHB,MSL} AROMP5 = 0.2HO2 + 0.2ALK4O2 + 0.2MGLY + 1.15RCHO + 0.05CO : 1.5d-3; {2021/09/29; Bates2021b; KHB,MSL; 2023/04/18; Bates2023; KHB},{2023/05/14; Brewer2023; JFB} // // KHB -- "we still need to include the dummy species for aromatic oxidation // to make the complex SOA code work. Hopefully this will be changed // very soon when Jared Brewer updates the aromatic SOA, but I think it's // still necessary, in which case, we need to add the following reactions too. // (If I'm wrong, we can delete XRO2, TRO2, BRO2, LXRO2N, LXRO2H, // LTRO2N, LTRO2H, LBRO2N, and LBRO2H from the species list, delete // XRO2, TRO2, and BRO2 as products from the BENZ + OH, TOLU + OH, // and XYLE + OH reactions above, and not include the following reactions)" // BRO2 + HO2 = HO2 + LBRO2H : GCARR_ac(1.40d-12, 700.0d0); {2021/09/29; Bates2021b; KHB,MSL} BRO2 + NO = NO + LBRO2N : GCARR_ac(2.60d-12, 350.0d0); {2021/09/29; Bates2021b; KHB,MSL} TRO2 + HO2 = HO2 + LTRO2H : GCARR_ac(1.40d-12, 700.0d0); {2021/09/29; Bates2021b; KHB,MSL} TRO2 + NO = NO + LTRO2N : GCARR_ac(2.60d-12, 350.0d0); {2021/09/29; Bates2021b; KHB,MSL} XRO2 + HO2 = HO2 + LXRO2H : GCARR_ac(1.40d-12, 700.0d0); {2021/09/29; Bates2021b; KHB,MSL} XRO2 + NO = NO + LXRO2N : GCARR_ac(2.60d-12, 350.0d0); {2021/09/29; Bates2021b; KHB,MSL} MO2 + NO3 = NO2 + CH2O + HO2 : 1.20d-12; {2022/10/18: IUPAC ROO_19; KHB,BMY} FURA + OH = BUTDI : GCARR_ac(1.32d-11, 334.0d0); {2023/02/07; Carter2022; TSC} // // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% // %%%%% Heterogeneous chemistry reactions %%%%% // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% // HO2 = H2O : HO2uptk1stOrd( State_Het ); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} NO2 = 0.500HNO3 + 0.500HNO2 : NO2uptk1stOrdAndCloud( State_Het ); NO3 = HNO3 : NO3uptk1stOrdAndCloud( State_Het ); NO3 = NIT : NO3hypsisClonSALA( State_Het ); {2018/03/16; XW} NO3 = NITs : NO3hypsisClonSALC( State_Het ); {2018/03/16; XW} N2O5 + H2O = 2.000HNO3 : N2O5uptkByH2O( State_Het ); N2O5 + HCl = ClNO2 + HNO3 : N2O5uptkByStratHCl( State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} N2O5 = 2.000HNO3 : N2O5uptkByCloud( State_Het ); {2018/10/17; Cloud uptake, CDH} N2O5 + SALACL = ClNO2 + HNO3 : N2O5uptkBySALACl( State_Het ); {2018/01/19; Sherwen2017;TS,JAS,SDE,XW} N2O5 + SALCCL = ClNO2 + HNO3 : N2O5uptkBySALCCl( State_Het ); {2018/01/19; Sherwen2017;TS,JAS,SDE,XW} OH + SALACL = 0.500Cl2 : OHuptkBySALACl( State_Het ); {2018/03/12; XW} OH + SALCCL = 0.500Cl2 : OHuptkBySALCCl( State_Het ); {2018/03/12; XW} BrNO3 + H2O = HOBr + HNO3 : BrNO3uptkByH2O( State_Het ); {2014/02/03; Eastham2014; SDE} BrNO3 + HCl = BrCl + HNO3 : BrNO3uptkByHCl( State_Het ); {2014/02/03; Eastham2014; SDE} ClNO3 + H2O = HOCl + HNO3 : ClNO3uptkByH2O( State_Het ); {2014/02/03; Eastham2014; SDE} ClNO3 + HCl = Cl2 + HNO3 : ClNO3uptkByHCl( State_Het ); {2014/02/03; Eastham2014; SDE} ClNO3 + HBr = BrCl + HNO3 : ClNO3uptkByHBr( State_Het ); {2014/02/03; Eastham2014; SDE} ClNO3 + BrSALA = BrCl + HNO3 : ClNO3uptkByBrSALA( State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} ClNO3 + BrSALC = BrCl + HNO3 : ClNO3uptkByBrSALC( State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} ClNO3 + SALACL = Cl2 + HNO3 : ClNO3uptkBySALACL( State_Het ); {2018/01/22; XW} ClNO3 + SALCCL = Cl2 + HNO3 : ClNO3uptkBySALCCL( State_Het ); {2018/01/22; XW} ClNO2 + SALACL = Cl2 + HNO2 : ClNO2uptkBySALACL( State_Het ); {2018/01/22; XW} ClNO2 + SALCCL = Cl2 + HNO2 : ClNO2uptkBySALCCL( State_Het ); {2018/01/22; XW} ClNO2 + HCl = Cl2 + HNO2 : ClNO2uptkByHCl( State_Het ); {2018/01/22; XW} ClNO2 + BrSALA = BrCl + HNO2 : ClNO2uptkByBrSALA( State_Het ); {2018/01/22; XW} ClNO2 + BrSALC = BrCl + HNO2 : ClNO2uptkByBrSALC( State_Het ); {2018/01/22; XW} ClNO2 + HBr = BrCl + HNO2 : ClNO2uptkByHBr( State_Het ); {2018/01/22; XW} HOCl + HCl = Cl2 + H2O : HOClUptkByHCl( State_Het ); {2014/02/03; Eastham2014; SDE} HOCl + HBr = BrCl + H2O : HOClUptkByHBr( State_Het ); {2014/02/03; Eastham2014; SDE} HOCl + SALACL = Cl2 + H2O : HOClUptkBySALACL( State_Het ); {2018/01/22; XW} HOCl + SALCCL = Cl2 + H2O : HOClUptkBySALCCL( State_Het ); {2018/01/22; XW} HOCl + SO2 = SO4 + HCl : HOClUptkByHSO3m( State_Het ) + HOClUptkBySO3mm( State_Het ) + SRHOCl; {2023/01/30; Add SRHOCL, BA; 2018/11/08; XW; June 6, 2021, MSL} HOBr + HBr = Br2 + H2O : HOBrUptkByHBr( State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} HOBr + HCl = BrCl + H2O : HOBrUptkByHCl( State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} HOBr + SALACL = BrCl + H2O : HOBrUptkBySALACL( State_Het ); {2018/01/22; Sherwen2017;TS,JAS,SDE;XW} HOBr + SALCCL = BrCl + H2O : HOBrUptkBySALCCL( State_Het ); {2018/01/22; Sherwen2017;TS,JAS,SDE,XW} HOBr + BrSALA = Br2 : HOBrUptkByBrSALA( State_Het ); {2017/09/22; Sherwen2017;TS,JAS,SDE} HOBr + BrSALC = Br2 : HOBrUptkByBrSALC( State_Het ); {2017/09/22; Sherwen2017;TS,JAS,SDE} HOBr + SO2 = SO4 + HBr : HOBrUptkByHSO3m( State_Het ) + HOBrUptkBySO3mm( State_Het ) + SRHOBr; {2023/01/30; Add SRHOBrL, BA; 2017/11/15; Chen2017; QJC; June 6, 2021, MSL} O3 + HBr = HOBr : O3uptkByHBr( State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} O3 + BrSALA = HOBr : O3uptkByBrSALA( State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} O3 + BrSALC = HOBr : O3uptkByBrSALC( State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} HBr = BrSALA : HBrUptkBySALA( State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} HBr = BrSALC : HBrUptkBySALC( State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} HI = AERI : IuptkBySulf1stOrd( SR_MW(ind_HI), 0.10_dp, State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} HI = ISALA : IuptkBySALA1stOrd( SR_MW(ind_HI), 0.10_dp, State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} HI = ISALC : IuptkBySALC1stOrd( SR_MW(ind_HI), 0.10_dp, State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} HOI = ISALA : IuptkByAlkSALA1stOrd( SR_MW(ind_HOI), 0.01_dp, State_Het ); {2023/01/24; Restored deleted rxn:BA} HOI = ISALC : IuptkByAlkSALC1stOrd( SR_MW(ind_HOI), 0.01_dp, State_Het ); {2022/12/02; Restored deleted rxn:BA} I2O2 = 2.000AERI : IuptkBySulf1stOrd( SR_MW(ind_I2O2), 0.02_dp, State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I2O2 = 2.000ISALA : IuptkBySALA1stOrd( SR_MW(ind_I2O2), 0.02_dp, State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I2O2 = 2.000ISALC : IuptkBySALC1stOrd( SR_MW(ind_I2O2), 0.02_dp, State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I2O3 = 2.000AERI : IuptkBySulf1stOrd( SR_MW(ind_I2O3), 0.02_dp, State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I2O3 = 2.000ISALA : IuptkBySALA1stOrd( SR_MW(ind_I2O3), 0.02_dp, State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I2O3 = 2.000ISALC : IuptkBySALC1stOrd( SR_MW(ind_I2O3), 0.02_dp, State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I2O4 = 2.000AERI : IuptkBySulf1stOrd( SR_MW(ind_I2O4), 0.02_dp, State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I2O4 = 2.000ISALA : IuptkBySALA1stOrd( SR_MW(ind_I2O4), 0.02_dp, State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I2O4 = 2.000ISALC : IuptkBySALC1stOrd( SR_MW(ind_I2O4), 0.02_dp, State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} IONO = ISALA + HNO2 : IuptkByAlkSALA1stOrd( SR_MW(ind_IONO), 0.02_dp, State_Het ); {2022/12/02; Restored deleted rxn:BA} IONO = ISALC + HNO2 : IuptkByAlkSALC1stOrd( SR_MW(ind_IONO), 0.02_dp, State_Het ); {2022/12/02; Restored deleted rxn:BA} IONO2 = ISALA + HNO3 : IuptkByAlkSALA1stOrd( SR_MW(ind_IONO2), 0.01_dp, State_Het ); {2022/12/02; Restored deleted rxn:BA} IONO2 = ISALC + HNO3 : IuptkByAlkSALC1stOrd( SR_MW(ind_IONO2), 0.01_dp, State_Het ); {2022/12/02; Restored deleted rxn:BA} IONO2 + H2O = HOI + HNO3 : IONO2uptkByH2O( State_Het ); {2021/09/16 XW, TSherwen} IONO + BrSALA = IBr + HNO2 : IbrkdnByAcidBrSALA( SR_MW(ind_IONO), C(ind_IONO), 0.02_dp, State_Het ); {2017/09/22; Sherwen2017;TS,JAS,SDE,XW} IONO + BrSALC = IBr + HNO2 : IbrkdnByAcidBrSALC( SR_MW(ind_IONO), C(ind_IONO), 0.02_dp, State_Het ); {2017/09/22; Sherwen2017;TS,JAS,SDE,XW} IONO + SALACL = ICl + HNO2 : IbrkdnByAcidSALACl( SR_MW(ind_IONO), C(ind_IONO), 0.02_dp, State_Het ); {2017/09/22; Sherwen2017;TS,JAS,SDE,XW} IONO + SALCCL = ICl + HNO2 : IbrkdnByAcidSALCCl( SR_MW(ind_IONO), C(ind_IONO), 0.02_dp, State_Het ); {2017/09/22; Sherwen2017;TS,JAS,SDE,XW} IONO2 + BrSALA = IBr + HNO3 : IbrkdnByAcidBrSALA( SR_MW(ind_IONO2), C(ind_IONO2), 0.01_dp, State_Het ); {2017/09/22; Sherwen2017;TS,JAS,SDE,XW} IONO2 + BrSALC = IBr + HNO3 : IbrkdnByAcidBrSALC( SR_MW(ind_IONO2), C(ind_IONO2), 0.01_dp, State_Het ); {2017/09/22; Sherwen2017;TS,JAS,SDE,XW} IONO2 + SALACL = ICl + HNO3 : IbrkdnByAcidSALACl( SR_MW(ind_IONO2), C(ind_IONO2), 0.01_dp, State_Het ); {2017/09/22; Sherwen2017;TS,JAS,SDE,XW} IONO2 + SALCCL = ICl + HNO3 : IbrkdnByAcidSALCCl( SR_MW(ind_IONO2), C(ind_IONO2), 0.01_dp, State_Het ); {2017/09/22; Sherwen2017;TS,JAS,SDE,XW} HOI + BrSALA = IBr : IbrkdnByAcidBrSALA( SR_MW(ind_HOI), C(ind_HOI), 0.01_dp, State_Het ); {2017/09/22; Sherwen2017;TS,JAS,SDE,XW} HOI + BrSALC = IBr : IbrkdnByAcidBrSALC( SR_MW(ind_HOI), C(ind_HOI), 0.01_dp, State_Het ); {2017/09/22; Sherwen2017;TS,JAS,SDE,XW} HOI + SALACL = ICl : IbrkdnByAcidSALACl( SR_MW(ind_HOI), C(ind_HOI), 0.01_dp, State_Het ); {2017/09/22; Sherwen2017;TS,JAS,SDE,XW} HOI + SALCCL = ICl : IbrkdnByAcidSALCCl( SR_MW(ind_HOI), C(ind_HOI), 0.01_dp, State_Het ); {2017/09/22; Sherwen2017;TS,JAS,SDE,XW} GLYX = SOAGX : GLYXuptk1stOrd( SR_MW(ind_GLYX), State_Het); {2017/06/15; Marais2016, EAM} MGLY = 1.500SOAGX : MGLYuptk1stOrd( SR_MW(ind_MGLY), State_Het); {2017/06/15; Marais2016, EAM; 2023/04/18; Bates2023; KHB} IEPOXA = SOAIE : IEPOXuptk1stOrd( SR_MW(ind_IEPOXA), .FALSE., State_Het ); {2017/06/15; Marais2016, EAM} IEPOXB = SOAIE : IEPOXuptk1stOrd( SR_MW(ind_IEPOXB), .FALSE., State_Het ); {2017/06/15; Marais2016, EAM} IEPOXD = SOAIE : IEPOXuptk1stOrd( SR_MW(ind_IEPOXD), .FALSE., State_Het ); {2017/06/15; Marais2016, EAM} LVOC = LVOCOA : VOCuptk1stOrd( SR_MW(ind_LVOC), 1.0_dp, State_Het ); {2017/06/15; Marais2016, EAM} MVKN = IONITA : VOCuptk1stOrd( SR_MW(ind_MVKN), 5.0E-3_dp, State_Het ); {2017/06/15; Marais2016, EAM} R4N2 = IONITA : VOCuptk1stOrd( SR_MW(ind_R4N2), 5.0E-3_dp, State_Het ); {2017/06/15; Marais2016, EAM} MONITS = MONITA : VOCuptk1stOrd( SR_MW(ind_MONITS), 1.0E-2_dp, State_Het ); {2017/07/14; Fisher2016; KRT,JAF,CCM,EAM,KHB,RHS} MONITU = MONITA : VOCuptk1stOrd( SR_MW(ind_MONITU), 1.0E-2_dp, State_Het ); {2017/07/14; Fisher2016; KRT,JAF,CCM,EAM,KHB,RHS} HONIT = MONITA : VOCuptk1stOrd( SR_MW(ind_HONIT), 1.0E-2_dp, State_Het ); {2017/07/14; Fisher2016; KRT,JAF,CCM,EAM,KHB,RHS} PYAC = 1.500SOAGX : MGLYuptk1stOrd( SR_MW(ind_PYAC), State_Het ); {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} HMML = 0.800SOAIE : IEPOXuptk1stOrd( SR_MW(ind_HMML), .TRUE., State_Het); {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} IHN1 = IONITA : VOCuptk1stOrd( SR_MW(ind_IHN1), 5.0E-3_dp, State_Het ); {2019/11/06; Bates2019; KHB} IHN2 = IONITA : VOCuptk1stOrd( SR_MW(ind_IHN2), 5.0E-2_dp, State_Het ); {2019/11/06; Bates2019; KHB} IHN3 = IONITA : VOCuptk1stOrd( SR_MW(ind_IHN3), 5.0E-3_dp, State_Het ); {2019/11/06; Bates2019; KHB} IHN4 = IONITA : VOCuptk1stOrd( SR_MW(ind_IHN4), 5.0E-3_dp, State_Het ); {2019/11/06; Bates2019; KHB} ICHE = SOAIE : IEPOXuptk1stOrd( SR_MW(ind_ICHE), .FALSE., State_Het ); {2019/11/06; Bates2019; KHB} INPD = IONITA : VOCuptk1stOrd( SR_MW(ind_INPD), 5.0E-3_dp, State_Het ); {2019/11/06; Bates2019; KHB} INPB = IONITA : VOCuptk1stOrd( SR_MW(ind_INPB), 5.0E-3_dp, State_Het ); {2019/11/06; Bates2019; KHB} IDN = IONITA : VOCuptk1stOrd( SR_MW(ind_IDN), 5.0E-3_dp, State_Het ); {2019/11/06; Bates2019; KHB} ITCN = IONITA : VOCuptk1stOrd( SR_MW(ind_ITCN), 5.0E-3_dp, State_Het ); {2019/11/06; Bates2019; KHB} ITHN = IONITA : VOCuptk1stOrd( SR_MW(ind_ITHN), 5.0E-3_dp, State_Het ); {2019/11/06; Bates2019; KHB} MCRHNB = IONITA : VOCuptk1stOrd( SR_MW(ind_MCRHNB), 5.0E-3_dp, State_Het ); {2019/11/06; Bates2019; KHB} MCRHN = IONITA : VOCuptk1stOrd( SR_MW(ind_MCRHN), 5.0E-3_dp, State_Het ); {2019/11/06; Bates2019; KHB} NPHEN = AONITA : VOCuptk1stOrd( SR_MW(ind_NPHEN), 1.0E-2_dp, State_Het ); {2021/09/29; Bates2021b; KHB,MSL} // // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% // %%%%% Photolysis reactions %%%%% // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% // O3 + hv = O + O2 : PHOTOL(2); {2014/02/03; Eastham2014; SDE} O3 + hv = O1D + O2 : PHOTOL(3); {2014/02/03; Eastham2014; SDE} O2 + hv = 2.000O : PHOTOL(1); {2014/02/03; Eastham2014; SDE} NO2 + hv = NO + O : PHOTOL(11); {2014/02/03; Eastham2014; SDE} H2O2 + hv = OH + OH : PHOTOL(9); MP + hv = CH2O + HO2 + OH : PHOTOL(10); CH2O + hv = HO2 + H + CO : PHOTOL(7); {2014/02/03; Eastham2014; SDE} CH2O + hv = H2 + CO : PHOTOL(8); HNO3 + hv = OH + NO2 : PHOTOL(16); HNO2 + hv = OH + NO : PHOTOL(15); HNO4 + hv = OH + NO3 : PHOTOL(17); HNO4 + hv = HO2 + NO2 : PHOTOL(18); NO3 + hv = NO2 + O : PHOTOL(12); {2014/02/03; Eastham2014; SDE} NO3 + hv = NO + O2 : PHOTOL(13); N2O5 + hv = NO3 + NO2 : PHOTOL(14); ALD2 + hv = 0.880MO2 + HO2 + 0.880CO + 0.120MCO3 : PHOTOL(61); {2014/12/19; FAST-JX v7.0 fix; JMAO} ALD2 + hv = CH4 + CO : PHOTOL(62); PAN + hv = 0.700MCO3 + 0.700NO2 + 0.300MO2 + 0.300NO3 + 0.300CO2 : PHOTOL(59); {2014/05/23; Eastham2014; JMAO,SDE; 2023/04/18; Bates2023; KHB} APAN + hv = ACO3 + NO2 : PHOTOL(59); {2014/05/23; Eastham2014; JMAO,SDE} ACR + hv = 0.700CO + 0.300HO2 + 0.300CH2O + 0.400C2H4 + 0.300ACO3 : PHOTOL(66); AROMCHO + hv = HO2 + CO + MCO3 + CH2O : PHOTOL(70); {2019/05/10; Fisher2018; JAF} RCHO + hv = 0.490OTHRO2 + HO2 + CO + 0.070A3O2 + 0.270B3O2 : PHOTOL(70); {2019/05/10; Fisher2018; JAF; 2023/04/18; Bates2023; KHB} ACET + hv = MCO3 + MO2 : PHOTOL(76); ACET + hv = 2.000MO2 + CO : PHOTOL(77); MEK + hv = 0.850MCO3 + 0.415OTHRO2 + 0.150MO2 + 0.150RCO3 + 0.060A3O2 + 0.230B3O2 : PHOTOL(69); {2019/05/10; Fisher2018; JAF; 2023/04/18; Bates2023; KHB} GLYC + hv = 0.900CH2O + 1.730HO2 + CO + 0.070OH + 0.100MOH : PHOTOL(68); {2014/05/23; Eastham2014; JMAO,SDE} GLYX + hv = 2.000HO2 + 2.000CO : PHOTOL(72); GLYX + hv = H2 + 2.000CO : PHOTOL(73); GLYX + hv = CH2O + CO : PHOTOL(74); MGLY + hv = MCO3 + CO + HO2 : PHOTOL(71); MVK + hv = PRPE + CO : PHOTOL(63); MVK + hv = MCO3 + CH2O + CO + HO2 : PHOTOL(64); MVK + hv = MO2 + RCO3 : PHOTOL(65); {2014/05/23; Eastham2014; JMAO,SDE} MACR + hv = CO + HO2 + CH2O + MCO3 : PHOTOL(66); {2014/05/23; Eastham2014; JMAO,SDE} HAC + hv = MCO3 + CH2O + HO2 : PHOTOL(75); PRPN + hv = OH + HO2 + RCHO + NO2 : PHOTOL(79); ETP + hv = OH + HO2 + ALD2 : PHOTOL(80); RA3P + hv = OH + HO2 + RCHO : PHOTOL(81); RB3P + hv = OH + HO2 + ACET : PHOTOL(82); R4P + hv = OH + HO2 + 1.500RCHO : PHOTOL(83); {2023/04/18; Bates2023; KHB} R7P + hv = OH + HO2 + RCHO : PHOTOL(83); ALK4P + hv = OH + HO2 + 1.500RCHO : PHOTOL(83); {2023/05/14; Brewer2023; JFB} PP + hv = OH + HO2 + ALD2 + CH2O : PHOTOL(84); RP + hv = OH + HO2 + ALD2 + MO2 : PHOTOL(85); {2023/04/18; Bates2023; KHB} R4N2 + hv = NO2 + 0.340ACET + 0.190MEK + 0.190MO2 + 0.270HO2 + 0.340ALD2 + 0.150RCHO + 0.050A3O2 + 0.190B3O2 + 0.340OTHRO2 : PHOTOL(98); {2023/04/18; Bates2023; KHB} R7N2 + hv = NO2 + 0.348ALD2 + 1.558RCHO + 0.326MCO3 + 0.326RCO3 + 0.326HO2 : PHOTOL(98); RNO3 + hv = BALD + NO2 + HO2 + H2O : PHOTOL(98); ALK4N2 + hv = NO2 + 0.340ACET + 0.190MEK + 0.190MO2 + 0.270HO2 + 0.340ALD2 + 0.150RCHO + 0.050A3O2 + 0.190B3O2 + 0.340OTHRO2 : PHOTOL(98); {2023/05/14; Brewer2023; JFB} MAP + hv = OH + MO2 + CO2 : PHOTOL(99); {2023/04/18; Bates2023; KHB} Br2 + hv = 2.000Br : PHOTOL(23); {2012/06/07; Parrella2012; JPP} BrO + hv = Br + O : PHOTOL(28); {2014/02/03; Eastham2014; SDE} HOBr + hv = Br + OH : PHOTOL(32); {2012/06/07; Parrella2012; JPP} BrNO3 + hv = Br + NO3 : PHOTOL(29); {2012/06/07; Parrella2012; JPP} BrNO3 + hv = BrO + NO2 : PHOTOL(30); {2012/06/07; Parrella2012; JPP} BrNO2 + hv = Br + NO2 : PHOTOL(31); {2012/06/07; Parrella2012; JPP} CHBr3 + hv = 3.000Br : PHOTOL(56); {2012/06/07; Parrella2012; JPP} CH2Br2 + hv = 2.000Br : PHOTOL(55); {2014/02/03; Eastham2014; SDE} CH3Br + hv = MO2 + Br : PHOTOL(50); {2014/02/03; Eastham2014; SDE} CH3Cl + hv = MO2 + Cl : PHOTOL(43); {2014/02/03; Eastham2014; SDE} CH2Cl2 + hv = 2.000Cl : PHOTOL(45); {2017/09/22; Sherwen2016b;TS,JAS,SDE} BrCl + hv = Br + Cl : PHOTOL(33); {2014/02/03; Eastham2014; SDE} Cl2 + hv = 2.000Cl : PHOTOL(22); {2014/02/03; Eastham2014; SDE} ClO + hv = Cl + O : PHOTOL(27); {2014/02/03; Eastham2014; SDE} OClO + hv = ClO + O : PHOTOL(25); {2014/02/03; Eastham2014; SDE} Cl2O2 + hv = Cl + ClOO : PHOTOL(26); {2014/02/03; Eastham2014; SDE} ClNO2 + hv = Cl + NO2 : PHOTOL(21); {2014/02/03; Eastham2014; SDE} ClNO3 + hv = Cl + NO3 : PHOTOL(19); {2014/02/03; Eastham2014; SDE} ClNO3 + hv = ClO + NO2 : PHOTOL(20); {2014/02/03; Eastham2014; SDE} HOCl + hv = Cl + OH : PHOTOL(24); {2014/02/03; Eastham2014; SDE} CH3CCl3 + hv = 3.000Cl : PHOTOL(44); {2014/02/03; Eastham2014; SDE} CCl4 + hv = 4.000Cl : PHOTOL(42); {2014/02/03; Eastham2014; SDE} CFC11 + hv = 3.000Cl : PHOTOL(37); {2014/02/03; Eastham2014; SDE} CFC12 + hv = 2.000Cl : PHOTOL(38); {2014/02/03; Eastham2014; SDE} CFC113 + hv = 3.000Cl : PHOTOL(39); {2014/02/03; Eastham2014; SDE} CFC114 + hv = 2.000Cl : PHOTOL(40); {2014/02/03; Eastham2014; SDE} CFC115 + hv = Cl : PHOTOL(41); {2014/02/03; Eastham2014; SDE} HCFC123 + hv = 2.000Cl : PHOTOL(47); {2014/02/03; Eastham2014; SDE} HCFC141b + hv = 2.000Cl : PHOTOL(48); {2014/02/03; Eastham2014; SDE} HCFC142b + hv = Cl : PHOTOL(49); {2014/02/03; Eastham2014; SDE} HCFC22 + hv = Cl : PHOTOL(46); {2014/02/03; Eastham2014; SDE} H1301 + hv = Br : PHOTOL(53); {2014/02/03; Eastham2014; SDE} H1211 + hv = Cl + Br : PHOTOL(51); {2014/02/03; Eastham2014; SDE} H2402 + hv = 2.000Br : PHOTOL(54); {2014/02/03; Eastham2014; SDE} ClOO + hv = Cl + O2 : PHOTOL(101); {2014/02/03; Eastham2014; SDE} I2 + hv = 2.000I : PHOTOL(114); {2017/09/22; Sherwen2016b;TS,JAS,SDE} HOI + hv = I + OH : PHOTOL(115); {2017/09/22; Sherwen2016b;TS,JAS,SDE} IO + hv = I + O : PHOTOL(116); {2017/09/22; Sherwen2016b;TS,JAS,SDE} OIO + hv = I + O2 : PHOTOL(117); {2017/09/22; Sherwen2016b;TS,JAS,SDE} INO + hv = I + NO : PHOTOL(118); {2017/09/22; Sherwen2016b;TS,JAS,SDE} IONO + hv = I + NO2 : PHOTOL(119); {2017/09/22; Sherwen2016b;TS,JAS,SDE} IONO2 + hv = I + NO3 : PHOTOL(120); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I2O2 + hv = I + OIO : PHOTOL(121); {2017/09/22; Sherwen2016b;TS,JAS,SDE} CH3I + hv = I : PHOTOL(122); {2017/09/22; Sherwen2016b;TS,JAS,SDE} CH2I2 + hv = 2.000I : PHOTOL(123); {2017/09/22; Sherwen2016b;TS,JAS,SDE} CH2ICl + hv = I + Cl : PHOTOL(124); {2017/09/22; Sherwen2016b;TS,JAS,SDE} CH2IBr + hv = I + Br : PHOTOL(125); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I2O4 + hv = 2.000OIO : PHOTOL(126); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I2O3 + hv = OIO + IO : PHOTOL(127); {2017/09/22; Sherwen2016b;TS,JAS,SDE} IBr + hv = I + Br : PHOTOL(128); {2017/09/22; Sherwen2016b;TS,JAS,SDE} ICl + hv = I + Cl : PHOTOL(129); {2017/09/22; Sherwen2016b;TS,JAS,SDE} MPN + hv = CH2O + NO3 + HO2 : PHOTOL(103); {2012/02/12; Browne2011; ECB} MPN + hv = MO2 + NO2 : PHOTOL(104); {2012/02/12; Browne2011; ECB} ATOOH + hv = OH + CH2O + MCO3 : PHOTOL(97); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} N2O + hv = N2 + O1D : PHOTOL(36); {2014/02/03; Eastham2014; SDE} OCS + hv = SO2 + CO : PHOTOL(34); {2014/02/03; Eastham2014; SDE} SO4 + hv = SO2 + 2.000OH : PHOTOL(100); {2014/02/03; Eastham2014; SDE} NO + hv = O + N : PHOTOL(6); {2014/02/03; Eastham2014; SDE} PIP + hv = RCHO + OH + HO2 : PHOTOL(105); {2017/03/23; Fischer2014; EVF} ETHLN + hv = NO2 + CH2O + CO + HO2 : PHOTOL(107); {2017/06/15; Marais2016; EAM} MONITS + hv = MEK + NO2 : PHOTOL(111); {2017/07/14; Browne2014; KRT,JAF,CCM,EAM,KHB,RHS} MONITU + hv = RCHO + NO2 : PHOTOL(112); {2017/07/14; Browne2014; KRT,JAF,CCM,EAM,KHB,RHS} HONIT + hv = HAC + NO2 : PHOTOL(113); {2017/07/14; Browne2014; KRT,JAF,CCM,EAM,KHB,RHS} NITs + hv = HNO2 : PHOTOL(130); {2018/07/19; Kasibhatla2018; PK, TMS} NITs + hv = NO2 : PHOTOL(131); {2018/07/19; Kasibhatla2018; PK, TMS} NIT + hv = HNO2 : PHOTOL(132); {2018/07/19; Kasibhatla2018; PK, TMS} NIT + hv = NO2 : PHOTOL(133); {2018/07/19; Kasibhatla2018; PK, TMS} MENO3 + hv = NO2 + HO2 + CH2O : PHOTOL(134); {2019/07/11; Fisher2018; JAF} ETNO3 + hv = NO2 + HO2 + ALD2 : PHOTOL(135); {2019/07/11; Fisher2018; JAF} IPRNO3 + hv = NO2 + HO2 + ACET : PHOTOL(136); {2019/07/11; Fisher2018; JAF} NPRNO3 + hv = NO2 + HO2 + RCHO : PHOTOL(137); {2019/07/11; Fisher2018; JAF} HMHP + hv = 2OH + CH2O : PHOTOL(86); {2019/11/06; Bates2019; KHB} HPETHNL + hv = OH + CO + HO2 + CH2O : PHOTOL(87); {2019/11/06; Bates2019; KHB} PYAC + hv = MCO3 + CO2 + HO2 : PHOTOL(88); {2019/11/06; Bates2019; KHB} PROPNN + hv = NO2 + CH2O + MCO3 : PHOTOL(89); {2019/11/06; Bates2019; KHB} MVKHC + hv = CO + HO2 + CH2O + MCO3 : PHOTOL(90); {2019/11/06; Bates2019; KHB} MVKHCB + hv = 0.5GLYX + 1.5HO2 + 0.5MCO3 + 0.5CO + 0.5MGLY : PHOTOL(91); {2019/11/06; Bates2019; KHB} MVKHP + hv = 0.53MCO3 + 0.53GLYC + OH + 0.47HO2 + 0.47CH2O + 0.47MGLY : PHOTOL(92); {2019/11/06; Bates2019; KHB} MVKPC + hv = OH + 0.571CO + 0.571MGLY + 0.571HO2 + 0.429GLYX + 0.429MCO3 : PHOTOL(93); {2019/11/06; Bates2019; KHB} MCRENOL + hv = 0.875CO + 0.75PYAC + 1.75OH + 0.125MGLY + 0.125HO2 + 0.125MCO3 + 0.125GLYX : PHOTOL(94); {2019/11/06; Bates2019; KHB} MCRHP + hv = OH + 0.77CO + HO2 + 0.77HAC + 0.23MGLY + 0.23CH2O : PHOTOL(95); {2019/11/06; Bates2019; KHB} MACR1OOH + hv = 0.75OH + 1.238CO2 + 0.488MO2 + 0.75CH2O + 0.262MCO3 + 0.25MACR1OOH : PHOTOL(96); {2019/11/06; Bates2019; KHB} MVKN + hv = 0.290HO2 + 0.010OH + 0.700NO2 + 1.010MCO3 + 0.690GLYC + 0.300ETHLN : PHOTOL(108); {2019/11/06; Bates2019; KHB} MCRHN + hv = HAC + CO + HO2 + NO2 : PHOTOL(109); {2019/11/06; Bates2019; KHB} MCRHNB + hv = PROPNN + OH + CO + HO2 : PHOTOL(110); {2019/11/06; Bates2019; KHB} RIPA + hv = MVK + CH2O + HO2 + OH : PHOTOL(138); {2019/11/06; Bates2019; KHB} RIPB + hv = MACR + CH2O + HO2 + OH : PHOTOL(139); {2019/11/06; Bates2019; KHB} RIPC + hv = OH + HO2 + HC5A : PHOTOL(140); {2019/11/06; Bates2019; KHB} RIPD + hv = OH + HO2 + HC5A : PHOTOL(141); {2019/11/06; Bates2019; KHB} HPALD1 + hv = 0.888CO + 1.662OH + 0.112HO2 + 0.112IDC + 0.112MVKPC + 0.552MCRENOL + 0.224C4HVP1 : PHOTOL(142); {2019/11/06; Bates2019; KHB} HPALD2 + hv = 0.818CO + 1.637OH + 0.182HO2 + 0.182IDC + 0.182MVKPC + 0.454MCRENOL + 0.182C4HVP2 : PHOTOL(143); {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} HPALD3 + hv = CO + OH + HO2 + MVK : PHOTOL(144); {2019/11/06; Bates2019; KHB} HPALD4 + hv = CO + OH + HO2 + MACR : PHOTOL(145); {2019/11/06; Bates2019; KHB} IHN1 + hv = NO2 + 0.45HC5A + 0.45HO2 + 0.55MVKHP + 0.55CO + 0.55OH : PHOTOL(146); {2019/11/06; Bates2019; KHB} IHN2 + hv = NO2 + MVK + HO2 + CH2O : PHOTOL(147); {2019/11/06; Bates2019; KHB} IHN3 + hv = NO2 + MACR + HO2 + CH2O : PHOTOL(148); {2019/11/06; Bates2019; KHB} IHN4 + hv = NO2 + 0.45HC5A + 0.45HO2 + 0.55MCRHP + 0.55CO + 0.55OH : PHOTOL(149); {2019/11/06; Bates2019; KHB} INPB + hv = NO2 + CH2O + 0.097MACR + 0.903MVK + 0.67OH + 0.33HO2 : PHOTOL(150); {2019/11/06; Bates2019; KHB} INPD + hv = OH + 0.159HO2 + 0.159ICN + 0.841INA : PHOTOL(151); {2019/11/06; Bates2019; KHB} INPD + hv = NO2 + 0.841IHOO1 + 0.159IHOO4 : PHOTOL(152); {2019/11/06; Bates2019; KHB} ICN + hv = NO2 + 0.839CO + 0.645OH + 0.161HO2 + 0.161IDC + 0.162MVKPC + 0.481MCRENOL + 0.128C4HVP2 + 0.068C4HVP1 : PHOTOL(106); {2019/11/06; Bates2019; KHB} IDN + hv = 1.555NO2 + 0.5GLYC + 0.5HAC + 0.05MVK + 0.005MACR + 0.055CH2O + 0.222INA + 0.223ICN + 0.228HO2 : PHOTOL(78); {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} ICPDH + hv = CO + 1.5HO2 + 0.5OH + 0.5MCRHP + 0.35MVKDH + 0.15MCRDH : PHOTOL(153); {2019/11/06; Bates2019; KHB} ICPDH + hv = OH + HO2 + 0.163CO + 0.133CH2O + 0.133MVKHCB + 0.586HAC + 0.586GLYX + 0.118GLYC + 0.118MGLY + 0.163MCRDH : PHOTOL(154); {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} IDHDP + hv = 1.25OH + 0.25GLYC + 0.25HAC + 0.75ICPDH + 0.75HO2 : PHOTOL(155); {2019/11/06; Bates2019; KHB} IDHPE + hv = OH + HO2 + 0.429MGLY + 0.429GLYC + 0.571GLYX + 0.571HAC : PHOTOL(156); {2019/11/06; Bates2019; KHB} IDCHP + hv = 0.546OH + CO + 1.454HO2 + 0.391MVKHC + 0.155MVKHCB + 0.454MVKPC : PHOTOL(157); {2019/11/06; Bates2019; KHB} ITHN + hv = OH + 0.7HO2 + 0.55CH2O + 0.5MCRHN + 0.3GLYC + 0.45HAC + 0.3NO2 + 0.15ETHLN + 0.05MVKN : PHOTOL(158); {2019/11/06; Bates2019; KHB} ITHN + hv = NO2 + 0.8HAC + 0.7HO2 + 0.5HPETHNL + 0.35GLYC + 0.15CH2O + 0.15MCRHP + 0.05ATOOH + 0.3OH : PHOTOL(159); {2019/11/06; Bates2019; KHB} ITCN + hv = MGLY + OH + NO2 + GLYC : PHOTOL(160); {2019/11/06; Bates2019; KHB} ITCN + hv = 0.5MVKHP + 0.5MCRHP + CO + NO2 + HO2 : PHOTOL(161); {2019/11/06; Bates2019; KHB} ETHP + hv = ETO + OH : PHOTOL(162); {2021/09/22; Bates2021a; KHB,MSL} BALD + hv = BENZO2 + CO + HO2 : PHOTOL(163); {2021/09/29; Bates2021b; KHB,MSL} BZCO3H + hv = BENZO2 + OH + CO2 : PHOTOL(164); {2021/09/29; Bates2021b; KHB,MSL} BENZP + hv = BENZO : PHOTOL(165); {2021/09/29; Bates2021b; KHB,MSL} NPHEN + hv = HNO2 + CO + CO2 + AROMP4 + HO2 : PHOTOL(166); {2021/09/29; Bates2021b; KHB,MSL} PPN + hv = 0.700RCO3 + 0.700NO2 + 0.300NO3 : PHOTOL(167); {2024/07/11; Horner2024, BH} APINP + hv = PINAL + OH + HO2 : PHOTOL(168); {2024/08/20; Travis2024; KRT} PINAL + hv = CO + HO2 + C96O2 : PHOTOL(169); {2024/08/20; Travis2024; KRT} PINO3H + hv = OH + CO2 + C96O2 : PHOTOL(170); {2024/08/20; Travis2024; KRT} PINONIC + hv = OH + CO2 + C96O2 : PHOTOL(171); {2024/08/20; Travis2024; KRT} C96O2H + hv = OH + AROMRO2 + ACET + CH2O + RCO3 + 0.5MEK : PHOTOL(172); {2024/08/20; Travis2024; KRT} BPINP + hv = OH + CH2O + HO2 + BPINO : PHOTOL(173); {2024/08/20; Travis2024; KRT} BPINOOH + hv = OH + HO2 + 0.27LIMO3 + 0.6ACET + 0.6RCHO + 0.6R4O2 : PHOTOL(174); {2024/08/20; Travis2024; KRT} LIMO3H + hv = OH + CO2 + MCO3 + RCHO + 0.4CH2O + 0.8R4O2 : PHOTOL(175); {2024/08/20; Travis2024; KRT} LIMO2H + hv = OH + CO2 + MCO3 + RCHO + 0.4CH2O + 0.8R4O2 : PHOTOL(176); {2024/08/20; Travis2024; KRT} PIP + hv = OH + HO2 + 0.450MVK + 0.45ACET + 0.100CH2O + 0.675MYRCO : PHOTOL(105); {2024/08/20; Travis2024; KRT} LIMAL + hv = CO + HO2 + 0.900LIMO3 : PHOTOL(177); {2024/08/20; Travis2024; KRT} ================================================ FILE: KPP/custom/custom.kpp ================================================ #MINVERSION 3.2.0 { Need this version of KPP or later } #INTEGRATOR rosenbrock_autoreduce { Use Rosenbrock integration method } #AUTOREDUCE on { ...w/ autoreduce enabled but optional } #LANGUAGE Fortran90 { Generate solver code in Fortran90 ... } #UPPERCASEF90 on { ...w/ .F90 suffix (instead of .f90) } #DRIVER none { Do not create gckpp_Main.F90 } #HESSIAN off { Do not create the Hessian matrix } #MEX off { MEX is for Matlab, so skip it } #STOICMAT off { Do not create stoichiometric matrix } #INCLUDE custom.eqn { Chemical reactions for fullchem mechanism } #FAMILIES { Chemical families for prod/loss diagnostic } POx : O3 + NO2 + 2NO3 + PAN + PPN + MPAN + HNO4 + 3N2O5 + HNO3 + BrO + HOBr + BrNO2 + 2BrNO3 + MPN + ETHLN + MVKN + MCRHN + MCRHNB + PROPNN + R4N2 + PRN1 + PRPN + R4N1 + HONIT + MONITS + MONITU + OLND + OLNN + IHN1 + IHN2 + IHN3 + IHN4 + INPB + INPD + ICN + 2IDN + ITCN + ITHN + ISOPNOO1 + ISOPNOO2 + INO2B + INO2D + INA + IDHNBOO + IDHNDOO1 + IDHNDOO2 + IHPNBOO + IHPNDOO + ICNOO + 2IDNOO + MACRNO2 + ClO + HOCl + ClNO2 + 2ClNO3 + 2Cl2O2 + 2OClO + O + O1D + IO + HOI + IONO + 2IONO2 + 2OIO + 2I2O2 + 3I2O3 + 4I2O4 + NIT + NITs; LOx : O3 + NO2 + 2NO3 + PAN + PPN + MPAN + HNO4 + 3N2O5 + HNO3 + BrO + HOBr + BrNO2 + 2BrNO3 + MPN + ETHLN + MVKN + MCRHN + MCRHNB + PROPNN + R4N2 + PRN1 + PRPN + R4N1 + HONIT + MONITS + MONITU + OLND + OLNN + IHN1 + IHN2 + IHN3 + IHN4 + INPB + INPD + ICN + 2IDN + ITCN + ITHN + ISOPNOO1 + ISOPNOO2 + INO2B + INO2D + INA + IDHNBOO + IDHNDOO1 + IDHNDOO2 + IHPNBOO + IHPNDOO + ICNOO + 2IDNOO + MACRNO2 + ClO + HOCl + ClNO2 + 2ClNO3 + 2Cl2O2 + 2OClO + O + O1D + IO + HOI + IONO + 2IONO2 + 2OIO + 2I2O2 + 3I2O3 + 4I2O4 + NIT + NITs; PCO : CO; LCO : CO; PSO4 : SO4; LCH4 : CH4; PH2O2 : H2O2; #INLINE F90_RATES ! All rates are included in fullchem_RateLawFuncs.F90, which ! gets referenced directly from subroutine Update_Rconst. #ENDINLINE #INLINE F90_RCONST_USE ! Inline an include file containing rate law definitions, which ! will be inserted directly into subroutine Update_Rconst(). ! This is necessary as a workaround for KPP not being able to ! include very large files ( > 200000 chars) directly. ! -- Bob Yantosca (11 Jun 2021) USE fullchem_RateLawFuncs #ENDINLINE #INLINE F90_GLOBAL #include "commonIncludeVars.H" #ENDINLINE ================================================ FILE: KPP/fullchem/CHANGELOG_fullchem.md ================================================ This file documents all notable changes to the GEOS-Chem `fullchem` chemistry mechanism. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). # Mechanism history ## [14.5.0] - TBD - Added four new species ALK4N1, ALK4N2, ALK4O2, and ALK4P to address issues in ALK4 and R4N2 chemistry following Brewer et al. (2023, JGR) - Added ALK4N1 and ALK4N2 to Ox family in KPP - Added new monoterpene mechanism, RCOOH oxidation, chemistry for new PNs (PHAN, AROMPN, MEKPN, APAN, LIMPAN, PINPAN) and aromatic AN (RNO3) per Travis et al., 2024 - Photolysis of PPN from Horner2024 (BH) - PPN+OH and PAN+OH based on the structure activity relationship approach (BH) ## [14.4.0] - 2024-05-30 - Bug fix: Change `3.4.e-31` to `3.4.d-31` in `NO2 + O = NO + O2` rxn - Update rxns with zero Arrhenius `B` parameters to use function `GCARR_ac` instead of `GCARR_abc` ## [14.3.0] - 2024-02-07 ### Added - Added PH2SO2 and PSO4AQ to track production of SO4 for use in TOMAS ### Changed - Updated rate coefficients and products in 63 reactions per JPL / IUPAC recommendations (JPL 19-5; Bates2023) - Consolidated product branches to remove 25 reactions (Bates2023 Table S4) ### Fixed - Fixed C and N balance in 63 reactions (Bates2023 Table S2) - Replaced the HMS + OH -> 2SO4 + CH2O - SO2 reaction with HMS + OH + SO2 -> 2SO4 + CH2O reaction and divided the rate constant be [SO2] to improve stability ## [14.2.1] - Oct 2023 ### Changed - The `fullchem` mechanism must now be built with KPP 3.0.0 or later ## [14.2.0] - Oct 2023 ### Added - Added lumped furan chemistry following Carter2020 - Restored sink reactions for HOI, IONO, IONO2 - Added S(IV)+HOBr and S(IV)+HOCl rxns (they had been inadvertently omitted) - Added nitrate aerosol (NIT, NITs) to Ox family in `gckpp.kpp` ### Changed - Set `k(SALAAL+SO2)` and `k(SALCAL+SO2)` to zero if O3 < 1e10 molec/cm3 ### Fixed - Fix bugs in HOBr uptake rate calculation in `fullchem_RateLawFuncs.F90` - Now cap `State_Het%f_Alk_SSA` and `State_Het%f_Alk_SSC` at 1.0 - Unbalanced rxn IONO = ISALA is now balanced: IONO = ISALA + HNO2 - Unbalanced rxn IONO = ISALC is now balanced: IONO = ISALC + HNO2 - Unbalanced rxn IONO2 = ISALA is now balanced: IONO2 = ISALA + HNO3 - Unbalanced rxn IONO2 = ISALC is now balanced: IONO2 = ISALC + HNO3 ### Changed - Restored sink reactions for HOI, IONO, IONO2 - Use `GCARR_ac` for rxns where the Arrhenius `B` parameter is zero ## [14.1.0] - Feb 2023 ### Added - MO2 + NO3 reaction (IUPAC ROO_19) ### Fixed - Bug fix: the "a" coefficient in rxn ETO = HO2 + 2.000CH2O was changed from 9.5d-13 (incorrect) to 9.5d+13. See geoschem/geos-chem #1274. - Bug fixes: HOBr + SO2 and HOCl + SO2 should produce SO4 (not SO4s) ## [13.3.0] - Sep 2021 ### Added - HMS chemistry (Moch2020) - C2H2/C2H4 chemistry (Kwon2020) - CH3O2 + OH reaction (Bates2021a) - Sulfur reactions for future development (commented out) - Aromatic SOA reactions (Bates2021b) ## [13.3.0] - Nov 2022 ### Changed - Use double precision numeric constants to each numeric value (e.g. `1.0d0` instead of `1.0e0`). This will prevent having to call the `DBLE()` functions in the rate law functions, which wastes CPU cycles, and also is a "lossy" conversion. (BMY) ## [12.8.0] - Feb 2020 ### Changed - Update isoprene chemistry from Bates2019 (KHB) ## [12.7.0] -- Dec 2019 ### Added - MENO3, ETNO3, PRNO3 chemistry from Fisher2018 (JAF) - "OTHRO2", which is equivalent to ETO2 but is not derived from C2H6 oxidation. Necessary to prevent overestimates of ETNO3. All ETO2 reactions are duplicated except ETO2+NO->ETNO3 channel (JAF) ### Changed - Make MOH an active species (XC, DBM) ### Removed - Old MNO3 species (same as MENO3 but not actually used (JAF) ## [12.6.0] -- Jul 2019 ### Added - Photolysis of NITs (off by default) (TMS, PK) - Aerosol heterogeneous uptake for NOx (CDH) ## [v11-02d] - Sep 2017 ### Added - Halogen chemistry from Sherwen2016b/Sherwen2017 (TS,JAS,SDE,LZHU) - HOBr + S(IV) from Chen2017 (QJC) ## [v11-02c] - Jul 2017 ### Added - Isoprene SOA updates from Marais2016 (EAM,MPS) - Fixes for carbon-creating reactions (SAS,BHH,MJE) ### Changed - Updated isoprene and monoterpene chemistry (KRT,JAF,CCM,EAM,KHB,RHS) - Based on Travis2016, Fisher2016, ChanMiller2017, Marais2016 - Add Bates2014 epoxide scheme - Update isoprene nitrate chemistry following Lee2014 - Add Muller2014 fast photolysis of carbonyl nitrates - Add HNO2 chemistry from Lee2014 - Updated product yields and rx rate for RIO2+RIO2 (Xie2013) ## [v11-02a] - Mar 2017 ### Changed - Update rate constants based on JPL 15-10 (MJE,BHH) - See wiki.geos-chem.org/Updates_in_JPL_Publication_15-10 - PAN chemistry updates (EVF) - Added several new NMVOCs. The extended mechanism includes ethanol, benzene, toluene and ethylbenzene (lumped), xylenes and trimethyl benzenes (lumped), and monoterpenes (lumped). - Treatment of monoterpene oxidation is adopted from the RACM2 chemical mechanism (Goliff et al., 2013), lumping terpenes with one double bond (alpha-pinene, beta-pinene, sabinene, delta-3-carene) into one proxy. ### Fixed - ALK4 lumping issue in R4O2 + NO reaction (BHH) ## [v11-01g] - Sep 2016 ### Added - Initial version for FlexChem (MSL,MJE,MPS,EWL) ================================================ FILE: KPP/fullchem/CMakeLists.txt ================================================ # KPP/fullchem/CMakeLists.txt #---------------------------------------------------------------------------- # Determine KPP integrator name and set corresponding C-preprocessor flags. # This enables integrator-specific handling in the fullchem mechanism. #---------------------------------------------------------------------------- # Get integrator name EXECUTE_PROCESS( COMMAND grep \#INTEGRATOR ${CMAKE_CURRENT_SOURCE_DIR}/fullchem.kpp OUTPUT_VARIABLE RESULT ) separate_arguments(SUBSTRINGS UNIX_COMMAND "${RESULT}") list(GET SUBSTRINGS 1 KPP_INTEGRATOR_NAME) string(TOLOWER "${KPP_INTEGRATOR_NAME}" KPP_INTEGRATOR_NAME) # Set C-preprocessor flags if(KPP_INTEGRATOR_NAME STREQUAL "rosenbrock_autoreduce") set(KPP_INTEGRATOR_AUTOREDUCE ON CACHE BOOL "Integrator is rosenbrock_autoreduce?") target_compile_definitions( GEOSChemBuildProperties INTERFACE KPP_INTEGRATOR_AUTOREDUCE ) endif() # Print results gc_pretty_print(SECTION "KPP integrator (read from fullchem.kpp)") gc_pretty_print(VARIABLE KPP_INTEGRATOR_NAME) gc_pretty_print(VARIABLE KPP_INTEGRATOR_AUTOREDUCE IS_BOOLEAN) #---------------------------------------------------------------------------- # Add libKPPFirstPass.a -- fullchem mechanism #---------------------------------------------------------------------------- add_library(KPP_FirstPass STATIC EXCLUDE_FROM_ALL gckpp_Precision.F90 gckpp_Parameters.F90 gckpp_Monitor.F90 ) # Dependencies target_link_libraries(KPP_FirstPass PUBLIC GEOSChemBuildProperties ) #---------------------------------------------------------------------------- # Add libKPP.a -- fullchem mechanism #---------------------------------------------------------------------------- add_library(KPP STATIC EXCLUDE_FROM_ALL commonIncludeVars.H fullchem_AutoReduceFuncs.F90 fullchem_HetStateFuncs.F90 fullchem_RateLawFuncs.F90 fullchem_SulfurChemFuncs.F90 gckpp_Function.F90 gckpp_Global.F90 gckpp_Initialize.F90 gckpp_Integrator.F90 gckpp_Jacobian.F90 gckpp_JacobianSP.F90 gckpp_LinearAlgebra.F90 gckpp_Model.F90 gckpp_Monitor.F90 gckpp_Parameters.F90 gckpp_Precision.F90 gckpp_Rates.F90 gckpp_Util.F90 rateLawUtilFuncs.F90 # # Build these stub modules to avoid compilation errors. # These are symbolic links to files in the ../stubs folder. # stub_aciduptake_DustChemFuncs.F90 stub_carbon_Funcs.F90 stub_Hg_HetStateFuncs.F90 ) # Dependencies target_link_libraries(KPP PUBLIC GeosUtil ) # Treat REAL as if it were REAL*8 target_compile_options(KPP PRIVATE "" $<$:-r8> $<$:-fdefault-real-8 -fdefault-double-8> ) # FOR GFORTRAN ONLY: Disable variable tracking for gckpp_Jacobian.F90 in the # KPP/fullchem mechanism generated with KPP. This will avoid a compiler # warning and a restart of the KPP library build. This only has to be done # for release types "Release" and "RelWithDebugInfo". # -- Bob Yantosca (16 Feb 2023) if("${CMAKE_Fortran_COMPILER_ID}" STREQUAL "GNU") if(NOT ("${CMAKE_Fortran_COMPILER_ID}" STREQUAL "Debug")) set_source_files_properties(gckpp_Jacobian.F90 PROPERTIES COMPILE_OPTIONS -fno-var-tracking-assignments ) endif() endif() ================================================ FILE: KPP/fullchem/README.md ================================================ # KPP/fullchem -- folder for the default GEOS-Chem mechanism This folder contains the files that define the full-chemistry mechanism (NOx-Ox-VOCs-Br-Cl-I) for GEOS-Chem. ## User-modifiable configuration files 1. **fullchem.kpp**: Master KPP specification file. 2. **fullchem.eqn**: KPP equation file, contains reaction definitoins. 3. **fullchem_HetStateFuncs.F90**: This module contains functions that initialize the HetChem state object. 4. **fullchem_SulfurChemFuncs.F90**: This module contains routines that compute rates for SO2 reactions in cloud. 5. **fullchem_RateLawFuncs.F90**: This module contains functions that compute rates for heterogenous chemistry reactions. This is the so-called "rate law library" for the fullchem mechanism. 6. **rateLawUtilFuncs.F90**: This module contains several utility functions for heterogeneous chemistry reactions. 7, **commonIncludeVars.H**: Global variables that are used for all KPP mechanisms. These will be inlined into the KPP-generated **gckpp_Global.F90** file. The following files link to the KPP/stubs folder. These include stub subroutines that are used by other chemical mechanisms. The stubs are needed in order to avoid compilation errors. 1. **stub_aciduptake_DustChemFuncs.F90** Stub routines corresponding to the KPP/aciduptake/aciduptake_DustChemFuncs.F90 module, 2. **stub_Hg_HetStateFuncs.F90**: Stub routines corresponding to the KPP/Hg/Hg_HetStateFuncs.F90 module. ## Files generated by KPP With the exception of the symbolic link **gckpp.kpp**, and the map file **gckpp.map**, all files starting with the prefix **gckpp_** are generated by KPP. These contain the specifications of the chemical mechanism in efficient source code. For more information, please see: 1. KPP documentation at: https://kpp.readthedocs.io 2. [Guide to Using KPP with GEOS-Chem](https://geos-chem.readthedocs.io/en/latest/geos-chem-shared-docs/supplemental-guides/using-kpp-with-gc.html) ================================================ FILE: KPP/fullchem/commonIncludeVars.H ================================================ !========================================================================== ! Parameters !========================================================================== ! Universal gas consatant [bar/(mol/kg)/K] (Source: NIST, 2014) ! NOTE: Make sure this is consistent w/ the value in physconsts.F90! REAL(dp), PARAMETER :: CON_R = 0.083144598_dp !========================================================================== ! Molecular weights and Henry's law constants !========================================================================== ! Species molecular weight [g/mole] REAL(dp) :: MW(NSPEC) ! Square root of species molecular weight [g/mole]^1/2 REAL(dp) :: SR_MW(NSPEC) ! Henry's law constants REAL(dp) :: HENRY_K0(NSPEC) ! Solubility constant [M/atm] REAL(dp) :: HENRY_CR(NSPEC) ! Volatility constant [K ] !========================================================================== ! Meterological variables !========================================================================== ! Inverse of temperature [1/K] REAL(dp) :: INV_TEMP !$OMP THREADPRIVATE( INV_TEMP ) ! Square root of Temperature [K**0.5] REAL(dp) :: SR_TEMP !$OMP THREADPRIVATE( SR_TEMP ) ! TEMP_OVER_K300 - Temperature [K] / 300.0 REAL(dp) :: TEMP_OVER_K300 !$OMP THREADPRIVATE( TEMP_OVER_K300 ) ! K300_OVER_TEMP - 300.0 / Temperature [K] REAL(dp) :: K300_OVER_TEMP !$OMP THREADPRIVATE( K300_OVER_TEMP ) ! NUMDEN - Air number density [#/cm3] REAL(dp) :: NUMDEN !$OMP THREADPRIVATE( NUMDEN ) ! Pressure [hPa] REAL(dp) :: PRESS !$OMP THREADPRIVATE( PRESS ) ! Relative humidity [%] REAL(dp) :: RELHUM !$OMP THREADPRIVATE( RELHUM ) ! Cosine of solar zenith angle [unitless] REAL(dp) :: SUNCOS !$OMP THREADPRIVATE( SUNCOS ) !========================================================================= ! Rate array variables (used by more than one mechanism) !========================================================================= ! Photolysis rates [1/s] (increase size if necessary) ! Used by fullchem and Hg mechanisms REAL(dp) :: PHOTOL(200) !$OMP THREADPRIVATE( PHOTOL ) !========================================================================= ! Variables specific to the "fullchem" mechanism !========================================================================== ! 4.0 * CON_R * TEMP REAL(dp) :: FOUR_R_T !$OMP THREADPRIVATE( FOUR_R_T ) ! 4.0 * RGASLATM * TEMP REAL(dp) :: FOUR_RGASLATM_T !$OMP THREADPRIVATE( FOUR_RGASLATM_T ) ! 8.0 * RSTARG * TEMP REAL(dp) :: EIGHT_RSTARG_T !$OMP THREADPRIVATE( EIGHT_RSTARG_T ) ! H2O concentration [molec/cm3] REAL(dp) :: H2O !$OMP THREADPRIVATE( H2O ) ! Array for aqueous sulfur chemistry rates (1/s) REAL(dp) :: K_MT(6) !$OMP THREADPRIVATE( K_MT ) ! Array for sulfur chemistry rates in cloud (1/s) REAL(dp) :: K_CLD(6) !$OMP THREADPRIVATE( K_CLD ) ! Liquid water conversion factor ! - Size = number of aerosol types (nAeroType) REAL(dp) :: CVFAC(14) !$OMP THREADPRIVATE( CVFAC ) ! Proton activity [unitless] and H+ concentration [M] ! (assumed equivalent - for now): REAL(dp) :: H_PLUS !$OMP THREADPRIVATE( H_PLUS ) ! Enhanced sulfate production from SO2 oxidation by HOBr, HOCl, ! and O3 in size-resolved cloud droplets [cm3/molec/s] ! -- Becky Alexander (30 Jan 2023) REAL(dp) :: SRHOBr, SRHOCl, SRO3 !$OMP THREADPRIVATE( SRHOBr, SRHOCl, SRO3 ) TYPE, PUBLIC :: HetState REAL(dp) :: AVO ! Avogadro's constant [molec/mol] LOGICAL :: natSurface ! Is there NAT in this box? LOGICAL :: pscBox ! Are there polar strat clouds? LOGICAL :: stratBox ! Are we in the stratosphere INTEGER :: NAEROTYPE ! Number of aerosol types REAL(dp) :: aClArea ! Fine SSA+SNA aerosol area [cm2/cm3] REAL(dp) :: aClRadi ! Fine SSA+SNA aerosol radius [cm] REAL(dp) :: aClVol ! Fine SSA+SNA aerosol volume [cm3/cm3] REAL(dp) :: aIce ! Ice surface area [cm2/cm3] REAL(dp) :: aLiq ! Liquid surface area [cm2/cm3] REAL(dp) :: aWater(2) ! ISORROPIA/HETP aerosol water (fine & coarse) REAL(dp) :: Br_conc_CldA ! Br- in cloud (A=fine SSA) [mol/kg H2O] REAL(dp) :: Br_conc_CldC ! Br- in cloud (C=coarse SSA) [mol/kg H2O] REAL(dp) :: Br_conc_CldG ! Br- in cloud (G=gas-phase) [mol/kg H2O] REAL(dp) :: Br_conc_Cld ! Br- total in cloud = A + C + G REAL(dp) :: Br_conc_SSA ! Br- in fine SSA [mol/kg H2O] REAL(dp) :: Br_conc_SSC ! Br- in coarse SSA [mol/kg H2O] REAL(dp) :: Br_over_Cl_Cld ! Br/Cl ratio in cloud REAL(dp) :: Br_over_Cl_SSA ! Br/Cl ratio in fine sea salt REAL(dp) :: Br_over_Cl_SSC ! Br/Cl ratio in coarse sea salt REAL(dp) :: Cl_conc_CldA ! Cl- in cloud (A=fine SSA) [mol/kg H2O] REAL(dp) :: Cl_conc_CldC ! Cl- in cloud (C=coarse SSA) [mol/kg H2O] REAL(dp) :: Cl_conc_CldG ! Cl- in cloud (G=gas-phase) [mol/kg H2O] REAL(dp) :: Cl_conc_Cld ! Cl- total = A + C + G REAL(dp) :: Cl_conc_SSA ! Cl- in fine sea salt [mol/kg H2O] REAL(dp) :: Cl_conc_SSC ! Cl- in coarse sea salt [mol/kg H2O] REAL(dp) :: cldFr ! Cloud fraction REAL(dp) :: clearFr ! Clear sky fraction REAL(dp) :: frac_Br_CldA ! Frac of Br- in fine SSA(in cloud) REAL(dp) :: frac_Br_CldC ! Frac of Br- in coarse SSA (in cloud) REAL(dp) :: frac_Br_CldG ! Frac of Br- in gas phase REAL(dp) :: frac_Cl_CldA ! Frac of Cl- in fine SSA (in cloud) REAL(dp) :: frac_Cl_CldC ! Frac of Cl- in coarse SSA (in cloud) REAL(dp) :: frac_Cl_CldG ! Frac of Cl- in gas phase REAL(dp) :: frac_HSO3_aq ! HSO3_aq / ( HSO3_aq + SO3_aq ) REAL(dp) :: frac_SALACL ! Frac of SALACL / total fine sea salt REAL(dp) :: frac_SO3_aq ! SO3_aq / ( HSO3_aq + SO3_aq ) REAL(dp) :: fupdateHOBr ! Correction factor - HOBr REAL(dp) :: fupdateHOCl ! Correction factor - HOCl REAL(dp) :: gamma_HO2 ! Uptake probability for HO2 [1] REAL(dp) :: H2O ! H2O concentration REAL(dp) :: HBr_theta ! HBr theta for uptake on ice REAL(dp) :: HCl_theta ! HCl theta for uptake on ice REAL(dp) :: H_conc_ICl ! Ice phase pH, Cl- REAL(dp) :: H_conc_LCl ! Liquid phase pH, Cl- REAL(dp) :: H_conc_SSA ! Liquid phase pH, fine sea salt REAL(dp) :: H_conc_SSC ! Liquid phase pH, coarse sea salt REAL(dp) :: H_conc_Sul ! Liquid phase pH, sulfate REAL(dp) :: HNO3_theta ! HNO3 theta for uptake on ice REAL(dp) :: HSO3_aq ! Cloud bisulfite (aka HSO3-) [mol/L] REAL(dp) :: SO3_aq ! Cloud sulfite (aka SO3--) [mol/L] REAL(dp) :: HSO3m ! HSO3-/SO2 ratio [1] REAL(dp) :: SO3mm ! SO3--/SO2 ratio [1] REAL(dp) :: TSO3_aq ! Cloud sulfite + bisulfite [mol/L] REAL(dp) :: H_plus ! Proton activity [1] and H+ conc [M] REAL(dp) :: KHETI_SLA(11) ! Probs for PSC uptk rxns on SLA [1] REAL(dp) :: HSO4_molal ! Bisulfate concentration [M] REAL(dp) :: NO3_molal ! Nitrate concentration [M] REAL(dp) :: SO4_molal ! Sulfate concentration [M] REAL(dp) :: NIT_conc_SSA ! Cl- in fine sea salt [mol/kg H2O] REAL(dp) :: NIT_conc_SSC ! Cl- in coarse sea salt [mol/kg H2O] REAL(dp) :: PI ! PI constant REAL(dp) :: pHCloud ! Cloud PH REAL(dp) :: pHSSA(2) ! Sea salt pH (1=fine, 2=coarse) REAL(dp) :: OMOC_POA ! Org matter/orgc carbon in POA [1] REAL(dp) :: OMOC_OPOA ! Org matter/org carbon in POA [1] REAL(dp) :: qIce ! Ice mixing ratio [kg/kg] REAL(dp) :: qLIq ! Water mixing ratio [kg/kg] REAL(dp) :: rIce ! Ice radius REAL(dp) :: rLiq ! Liquid radius REAL(dp) :: f_Acid_SSA ! Fraction of fine sea salt that is acidic REAL(dp) :: f_Acid_SSC ! Fraction of coarse sea salt that is acidic REAL(dp) :: f_Alk_SSA ! Fraction of fine sea salt that is alkaline REAL(dp) :: f_Alk_SSC ! Fraction of coarse sea salt that is alkaline LOGICAL :: SSA_is_Alk ! Is fine sea-salt alkaline? LOGICAL :: SSA_is_Acid ! Is fine sea-salt acidic? LOGICAL :: SSC_is_Alk ! Is coarse sea-salt alkaline? LOGICAL :: SSC_is_Acid ! Is coarse sea-salt acidic? REAL(dp) :: vAir ! Volume of air [cm3] REAL(dp) :: vIce ! Ice volume [cm3] REAL(dp) :: vLiq ! Liquid volume [cm3] REAL(dp) :: wetArea(14) ! Aerosol specific wet sfc area [cm2/cm3] REAL(dp) :: xArea(14) ! Aerosol specific sfc area [cm2/cm3] REAL(dp) :: xH2O(14) ! Aerosol water content [cm3/cm3] REAL(dp) :: xRadi(14) ! Aerosol effective radius [cm] REAL(dp) :: xVol(14) ! Aerosol specific volume [cm3/cm3] ! ! Additional fields only used by the Hg simulation ! LOGICAL :: cloudBox ! Are we in a box with cloud? REAL(dp) :: fracOrgAer ! Fraction of organic aerosol [1] REAL(dp) :: fracInorgAer ! Fraction of organic aerosol [1] ! ! Additional fields for GEOS runs ! LOGICAL :: TurnOffHetRates ! Turn off heterogeneous reactions in stratosphere? END TYPE HetState TYPE(HetState), TARGET, PUBLIC :: State_Het !$OMP THREADPRIVATE( State_Het ) !========================================================================== ! Variables specific to the carbon mechanism !========================================================================== ! Array for strat CH4/CO/CO2 rates [1/s] REAL(dp) :: K_STRAT(5) !$OMP THREADPRIVATE( K_STRAT ) ! Array for trop CH4/CO/CO2 rates [1/s] REAL(dp) :: K_TROP(5) !$OMP THREADPRIVATE( K_TROP ) ! Are we in the tropopshere (1=yes, 0=no) REAL(dp) :: TROP !$OMP THREADPRIVATE( TROP ) LOGICAL :: debugBox !$OMP THREADPRIVATE( debugBox ) ================================================ FILE: KPP/fullchem/fullchem.eqn ================================================ { fullchem.eqn ------------------------------------------------------------------------------- DESCRIPTION ------------------------------------------------------------------------------- GEOS-Chem KPP file containing species and equations for the full chemistry (NOx-Ox-HC-Aer-Br-Cl-I) mechanism. =============================================================================== FILE HISTORY =============================================================================== Version: 14.5.0 Please see "CHANGELOG_fullchem.md" in this folder for the revision history of the fullchem mechanism. =============================================================================== DEVELOPERS (initials and email/GitHub) =============================================================================== * BA : Becky Alexander : @beckyalexander * BH : Rebekah (Bex) Horner : @bexhorner * BHH : Barron Henderson : @barronh * BMY : Bob Yantosca : @yantosca * CCM : Christopher Chan Miller : cmiller@fas.harvard.edu * CDH : Christopher Holmes : @cdholmes * DBM : Dylan Millet : @dylanbm * EAM : Eloise Marais : @eamarais * ECB : Ellie Browne : eleanor.browne@colorado.edu * EVF : Emily Fischer : evf@rams.colostate.edu * EWL : Lizzie Lundgren : @lizziel * FP : Fabien Paulot : fabien.paulot@noaa.gov * HOTP : Havala Pye : pye.havala@epa.gov * JAF : Jenny Fisher : @jennyfisher * JAS : Johan Schmidt : johanalbrechtschmidt@gmail.com * JFB : Jared Brewer : @JFBrewer * JMAO : Jingqiu Mao : @jingqiumao * JMM : Jonathan Moch : jmoch@g.harvard.edu * JPP : Justin Parrella : justin.parrella@gmail.com * KHB : Kelvin Bates : @kelvinhb * KRT : Katie Travis : @ktravis213 * LZHU : Lei Zhu : leizhu@fas.harvard.edu * MJE : Mat Evans : @msl3v * MPS : Melissa Sulprizio : @msulprizio * MSL : Michael Long : @msl3v * PK : Prasad Kasibhatla : @pkasibhatla * QJC : Qianjie Chen : chenqjie@uw.edu * RHS : Rebecca Schwantes : rschwant@caltech.edu * SAS : Sarah Safieddine : sarahsaf@mit.edu * SDE : Sebastian Eastham : @sdeastham * TMS : Tomas Sherwen : @tsherwen * TSC : Therese Carter : @tscarter * XC : Xin Chen : @xin-chen-github * XW : Xuan Wang : @xuanw0316 =============================================================================== REFERENCES (alphabetical order) =============================================================================== * Atkinson2003 : https://doi.org/10.1021/cr0206420 * Atkinson2006 : https://doi.org/10.5194/acp-6-3625-2006 * Bates2014 : https://doi.org/10.1021/jp4107958 * Bates2019 : https://doi.org/10.5194/acp-19-9613-2019 * Bates2021a : https://doi.org/10.1029/2020JD033439 * Bates2021b : https://doi.org/10.5194/acp-2021-605 * Brewer2023 : https://doi.org/10.1029/2022JD037257 * Browne2011 : https://doi.org/10.5194/acp-11-4209-2011 * Browne2014 : https://doi.org/10.5194/acp-14-1225-2014 * Carter2022 : https://doi.org/10.5194/acp-22-12093-2022 * Chen2017 : https://doi.org/10.1002/2017GL073812 * Crounse2012 : https://doi.org/10.1021/jp211560u * Eastham2014 : https://doi.org/10.1016/j.atmosenv.2014.02.001 * Fischer2014 : https://doi.org/10.5194/acp-14-2679-2014 * Fisher2016 : https://doi.org/10.5194/acp-16-5969-2016 * Fisher2018 : https://doi.org/10.1029/2018JD029046 * Fry2014 : https://doi.org/10.1021/es502204x * Gill2002 : https://doi.org/10.1021/jp013532, 2002. * Goliff2013 : https://doi.org/10.1016/j.atmosenv.2012.11.038 * Jacobs2014 : https://doi.org/10.5194/acp-14-8933-2014 * Jenkin2015 : https://doi.org/10.5194/acp-15-11433-2015 * Kasibhatla2018 : https://doi.org/10.5194/acp-18-11185-2018 * IUPAC ROO_19 : https://iupac-aeris.ipsl.fr/htdocs/datasheets/pdf/ROO_19_CH3O2_NO3.pdf * JPL 10-6 : https://jpldataeval.jpl.nasa.gov/previous_evaluations.html * JPL 15-10 : https://jpldataeval.jpl.nasa.gov/previous_evaluations.html * JPL 19-5 : https://jpldataeval.jpl.nasa.gov * Kwon2020 : https://doi.org/10.1525/elementa.2021.00109 * Lee2014 : https://doi.org/10.1021/jp4107603 * Marais2016 : https://doi.org/10.5194/acp-16-1603-2016 * MCMv3.3 : https://mcm.york.ac.uk/MCM/ * Miller2017 : https://doi.org/10.5194/acp-2016-1042 * Millet2015 : https://doi.org/10.5194/acp-15-6283-2015 * Moch2020 : https;//doi.org/10.1029/2020JD032706, 2020. * Muller2014 : https://doi.org/10.5194/acp-14-2497-2014 * Parrella2012 : https://doi.org/10.5194/acp-12-6723-2012 * Paulot2009 : https://doi.org/10.5194/acp-9-1479-2009 and https://doi.org/10.1126/science.1172910 * Peeters2010 : https://doi.org/10.1039/C0CP00811G * Peeters2014 : https://doi.org/10.1021/jp5033146. * Pye2010 : https://doi.org/10.5194/acp-10-11261-2010 * Roberts1992 : https://doi.org/10.1002/kin.550240307 * Sherwen2016b : https://doi.org/10.5194/acp-16-12239-2016 * Sherwen2017 : https://doi.org/10.1039/C7FD00026J * StClair2016 : https://doi.org/10.1021/acs.jpca.5b065322016 * Travis2016 : https://doi.org/10.5194/acp-16-13561-2016 * Travis2024 : https://doi.org/10.5194/egusphere-2024-951 * Wolfe2012 : https://doi.org/ 10.1039/C2CP40388A, 2012 * Xie2013 : https://doi.org/10.5194/acp-13-8439-2013 =============================================================================== NOTES =============================================================================== Comment format is Species - Molecular formula; full name Equations - Date modified; Reference; Developer initials } #include atoms.kpp #DEFVAR A3O2 = IGNORE; {CH3CH2CH2OO; Primary RO2 from C3H8} ACR = IGNORE; {C3H4O, Acrolein} ACRO2 = IGNORE; {C3H5O4} ACO3 = IGNORE; {C3H3O3} ACET = IGNORE; {CH3C(O)CH3; Acetone} ACTA = IGNORE; {CH3C(O)OH; Acetic acid} AERI = IGNORE; {I; Dissolved iodine} ALD2 = IGNORE; {CH3CHO; Acetaldehyde} ALK4 = IGNORE; {>= C4 alkanes} ALK4N1 = IGNORE; {RO2 from ALKN2} ALK4N2 = IGNORE; {RO2NO; >= C4 alkylnitrates from ALK4} ALK4O2 = IGNORE; {RO2 from ALK4} ALK4P = IGNORE; {CH3CH2CH2CH2OOH; Peroxide from ALK4O2} ALK6 = IGNORE; {>= C6 alkanes} AONITA = IGNORE; {Aerosol-phase organic nitrate from aromatic precursors} APAN = IGNORE; {C3H3NO5; Acryloyl peroxynitrate} AROMCHO = IGNORE; {C5H6O4} AROMRO2 = IGNORE; {generic peroxy radical from aromatic oxidation} AROMP4 = IGNORE; {Generic C4 product from aromatic oxidation} AROMP5 = IGNORE; {Generic C5 product from aromatic oxidation} AROMPN = IGNORE; {Lumped aromatic PN} AROMCO3 = IGNORE; {Lumped aromatic acyl peroxy radical} ATO2 = IGNORE; {CH3C(O)CH2O2; RO2 from acetone} ATOOH = IGNORE; {CH3C(O)CH2OOH; ATO2 peroxide} B3O2 = IGNORE; {CH3CH(OO)CH3; Secondary RO2 from C3H8} BALD = IGNORE; {benzaldehyde and tolualdehyde} BENZ = IGNORE; {C6H6; Benzene} BENZO = IGNORE; {C6H5O radical} BENZO2 = IGNORE; {C6H5O2 radical} BENZP = IGNORE; {hydroperoxide from BENZO2} Br = IGNORE; {Br; Atomic bromine} Br2 = IGNORE; {Br2; Molecular bromine} BrCl = IGNORE; {BrCl; Bromine chloride} BrNO2 = IGNORE; {BrNO2; Nitryl bromide} BrNO3 = IGNORE; {BrNO3; Bromine nitrate} BrO = IGNORE; {BrO; Bromine monoxide} BRO2 = IGNORE; {C6H5O2 ; Peroxy radical from BENZ oxidation} BrSALA = IGNORE; {Br; Fine sea salt bromine} BrSALC = IGNORE; {Br; Course sea salt bromine} BUTDI = IGNORE; {Butenedial} BUTN = IGNORE; {BUTN; alkyl nitrate from C4H6} BUTO2 = IGNORE; {C4H7O3} BZCO3 = IGNORE; {benzoylperoxy radical} BZCO3H = IGNORE; {perbenzoic acid} BZPAN = IGNORE; {peroxybenzoyl nitrate} C2H2 = IGNORE; {C2H2; Ethyne} C2H4 = IGNORE; {Ethylene} C2H6 = IGNORE; {C2H6; Ethane} C3H8 = IGNORE; {C3H8; Propane} C4H6 = IGNORE; {C4H6; 1,4 butadiene} C4HVP1 = IGNORE; {C4 hydroxy-vinyl-peroxy radicals from HPALDs} C4HVP2 = IGNORE; {C4 hydroxy-vinyl-peroxy radicals from HPALDs} CCl4 = IGNORE; {CCl4; Carbon tetrachloride} CFC11 = IGNORE; {CCl3F ; CFC-11, R-11, Freon 11} CFC12 = IGNORE; {CCl2F2; CFC-12, R-12, Freon 12} CFC113 = IGNORE; {C2Cl3F3; CFC-113, Freon 113} CFC114 = IGNORE; {C2Cl2F4; CFC-114, Freon 114} CFC115 = IGNORE; {C2ClF5; CFC-115, Freon 115} CH2Br2 = IGNORE; {CH3Br2; Dibromomethane} CH2Cl2 = IGNORE; {CH2Cl2; Dichloromethane} CH2I2 = IGNORE; {CH2I2; Diiodomethane} CH2IBr = IGNORE; {CH2IBr; Bromoiodomethane} CH2ICl = IGNORE; {CH2ICl; Chloroiodomethane} CH2O = IGNORE; {CH2O; Formaldehyde} CH2OO = IGNORE; {CH2OO; Criegee intermediate} CH3Br = IGNORE; {CH3Br; Methyl bromide} CH3CCl3 = IGNORE; {CH3CCl3; Methyl chloroform} CH3CHOO = IGNORE; {CH3CHOO; Criegee intermediate} CH3Cl = IGNORE; {CH3Cl; Chloromethane} CH3I = IGNORE; {CH3I; Methyl iodide} CH4 = IGNORE; {CH4; Methane} CHBr3 = IGNORE; {CHBr3; Tribromethane} CHCl3 = IGNORE; {CHCl3; Chloroform} Cl = IGNORE; {Cl; Atomic chlorine} Cl2 = IGNORE; {Cl2; Molecular chlorine} Cl2O2 = IGNORE; {Cl2O2; Dichlorine dioxide} ClNO2 = IGNORE; {ClNO2; Nitryl chloride} ClNO3 = IGNORE; {ClONO2; Chlorine nitrate} ClO = IGNORE; {ClO; Chlorine monoxide} ClOO = IGNORE; {ClOO; Chlorine dioxide} CO = IGNORE; {CO; Carbon monoxide} CO2 = IGNORE; {CO2; Carbon dioxide} CSL = IGNORE; {cresols and xylols} DMS = IGNORE; {(CH3)2S; Dimethylsulfide} EBZ = IGNORE; {C6H5CH2CH3; Ethylbenzene} EOH = IGNORE; {C2H5OH; Ethanol} ETHLN = IGNORE; {CHOCH2ONO2; Ethanal nitrate} ETHN = IGNORE; {stable hydroxy-nitrooxy-ethane} ETHP = IGNORE; {stable hydroxy-hydroperoxy-ethane} ETNO3 = IGNORE; {C2H5ONO2; Ethyl nitrate} ETO = IGNORE; {hydroxy-alkoxy-ethane radical} ETOO = IGNORE; {hydroxy-peroxy-ethane radical, formed from ethene + OH} ETO2 = IGNORE; {CH3CH2OO; Ethylperoxy radical} ETP = IGNORE; {CH3CH2OOH; Ethylhydroperoxide} FURA = IGNORE; {FURAN conglomerate} GCO3 = IGNORE; {HOCH2CO3: PHAN peroxyacetyl radical} GLYC = IGNORE; {HOCH2CHO; Glycoaldehyde} GLYX = IGNORE; {CHOCHO; Glyoxal} H = IGNORE; {H; Atomic hydrogen} H1211 = IGNORE; {CBrClF2; H-1211} H1301 = IGNORE; {CBrF3; H-1301} H2402 = IGNORE; {C2Br2F4; H-2402} H2O = IGNORE; {H2O; Water vapor} H2O2 = IGNORE; {H2O2; Hydrogen peroxide} HAC = IGNORE; {HOCH2C(O)CH3; Hydroxyacetone} HACTA = IGNORE; {HOCH2CO2H; hydroxyacetic acid} HBr = IGNORE; {HBr; Hypobromic acid} HC5A = IGNORE; {C5H8O2; Isoprene-4,1-hydroxyaldehyde} HCFC123 = IGNORE; {C2HCl2F3; HCFC-123, R-123, Freon 123} HCFC141b = IGNORE; {C(CH3)Cl2F; HCFC-141b, R-141b, Freon 141b} HCFC142b = IGNORE; {C(CH3)ClF2; HCFC-142b, R-142b, Freon 142b} HCFC22 = IGNORE; {CHClF2 ; HCFC-22, R-22, Freon 22} HCl = IGNORE; {HCl; Hydrochloric acid} HCOOH = IGNORE; {HCOOH; Formic acid} HI = IGNORE; {HI; Hydrogen iodide} HMHP = IGNORE; {HOCH2OOH; Hydroxymethyl hydroperoxide} HMML = IGNORE; {C4H6O3; Hydroxymethyl-methyl-a-lactone} HMS = IGNORE; {HOCH2SO3-; hydroxymethanesulfonate} HNO2 = IGNORE; {HONO; Nitrous acid} HNO3 = IGNORE; {HNO3; Nitric acid} HNO4 = IGNORE; {HNO4; Pernitric acid} HO2 = IGNORE; {HO2; Hydroperoxyl radical} HOBr = IGNORE; {HOBr; Hypobromous acid} HOCl = IGNORE; {HOCl; Hypochlorous acid} HOI = IGNORE; {HOI; Hypoiodous acid} HONIT = IGNORE; {2nd gen monoterpene organic nitrate} HPALD1 = IGNORE; {O=CHC(CH3)=CHCH2OOH; d-4,1-C5-hydroperoxyaldehyde} HPALD1OO = IGNORE; {peroxy radicals from HPALD1} HPALD2 = IGNORE; {HOOCH2C(CH3)=CHCH=O; d-1,4-C5-hydroperoxyaldehyde} HPALD2OO = IGNORE; {peroxy radicals from HPALD2} HPALD3 = IGNORE; {O=CHC(CH3)OOHCH=CH2; b-2,1-C5-hydroperoxyaldehyde} HPALD4 = IGNORE; {CH2=C(CH3)CHOOHCH=O; b-3,4-C5-hydroperoxyaldehyde} HPETHNL = IGNORE; {CHOCH2OOH; hydroperoxyethanal} I = IGNORE; {I; Atmoic iodine} I2 = IGNORE; {I2; Molecular iodine} I2O2 = IGNORE; {I2O2; Diiodine dioxide} I2O3 = IGNORE; {I2O3; Diiodine trioxide} I2O4 = IGNORE; {I2O4; Diiodine tetraoxide} IBr = IGNORE; {IBr; Iodine monobromide} ICHE = IGNORE; {C5H8O3; Isoprene hydroxy-carbonyl-epoxides} ICHOO = IGNORE; {peroxy radical from IEPOXD} ICl = IGNORE; {ICl; Iodine monochloride} ICN = IGNORE; {C5H7NO4; Lumped isoprene carbonyl nitrates} ICNOO = IGNORE; {peroxy radicals from ICN} ICPDH = IGNORE; {C5H10O5; Isoprene dihydroxy hydroperoxycarbonyl} IDC = IGNORE; {C5H6O2; Lumped isoprene dicarbonyls} IDCHP = IGNORE; {C5H8O5; Isoprene dicarbonyl hydroxy dihydroperoxide} IDHDP = IGNORE; {C5H12O6; Isoprene dihydroxy dihydroperoxide} IDHNBOO = IGNORE; {peroxy radicals from INPB} IDHNDOO1 = IGNORE; {peroxy radicals from INPD} IDHNDOO2 = IGNORE; {peroxy radicals from INPD} IDHPE = IGNORE; {C5H10O5; Isoprene dihydroxy hydroperoxy epoxide} IDN = IGNORE; {C5H8N2O6; Lumped isoprene dinitrates} IDNOO = IGNORE; {peroxy radicals from IDN} IEPOXA = IGNORE; {C5H10O3; trans-Beta isoprene epoxydiol} IEPOXAOO = IGNORE; {peroxy radical from trans-Beta isoprene epoxydiol} IEPOXB = IGNORE; {C5H10O3; cis-Beta isoprene epoxydiol} IEPOXBOO = IGNORE; {peroxy radical from cis-Beta isoprene epoxydiol} IEPOXD = IGNORE; {C5H10O3; Delta isoprene epoxydiol} IHN1 = IGNORE; {C5H9NO4; Isoprene-d-4-hydroxy-1-nitrate} IHN2 = IGNORE; {C5H9NO4; Isoprene-b-1-hydroxy-2-nitrate} IHN3 = IGNORE; {C5H9NO4; Isoprene-b-4-hydroxy-3-nitrate} IHN4 = IGNORE; {C5H9NO4; Isoprene-d-1-hydroxy-4-nitrate} IHOO1 = IGNORE; {peroxy radical from OH addition to isoprene at C1} IHOO4 = IGNORE; {peroxy radical from OH addition to isoprene at C4} IHPNBOO = IGNORE; {peroxy radicals from INPB} IHPNDOO = IGNORE; {peroxy radicals from INPD} IHPOO1 = IGNORE; {peroxy radical from ISOPOOH} IHPOO2 = IGNORE; {peroxy radical from ISOPOOH} IHPOO3 = IGNORE; {peroxy radical from ISOPOOH} INA = IGNORE; {alkoxy radical from INO2D} INDIOL = IGNORE; {Generic aerosol phase organonitrate hydrolysis product} INO = IGNORE; {INO; Nitrosyl iodide} INO2B = IGNORE; {beta-peroxy radicals from isoprene + NO3} INO2D = IGNORE; {delta-peroxy radicals from isoprene + NO3} INPB = IGNORE; {C5H9NO5; Lumped isoprene beta-hydroperoxy nitrates} INPD = IGNORE; {C5H9NO5; Lumped isoprene delta-hydroperoxy nitrates} IO = IGNORE; {IO; Iodine monoxide} IONITA = IGNORE; {Aerosol-phase organic nitrate from isoprene precursors} IONO = IGNORE; {IONO; Nitryl iodide} IONO2 = IGNORE; {IONO2; Iodine nitrate} IPRNO3 = IGNORE; {C3H8ONO2; Isopropyl nitrate} ISALA = IGNORE; {I; Fine sea salt iodine} ISALC = IGNORE; {I; Coarse sea salt iodine} ISOP = IGNORE; {CH2=C(CH3)CH=CH2; Isoprene} ISOPNOO1 = IGNORE; {peroxy radicals from IHN2} ISOPNOO2 = IGNORE; {peroxy radicals from IHN3} ITCN = IGNORE; {C5H9NO7; Lumped tetrafunctional isoprene carbonyl-nitrates} ITHN = IGNORE; {C5H11NO7; Lumped tetrafunctional isoprene hydroxynitrates} KO2 = IGNORE; {RO2 from >3 ketones} LBRO2H = IGNORE; {Dummy spc to track oxidation of BRO2 by HO2} LBRO2N = IGNORE; {Dummy spc to track oxidation of BRO2 by NO} LIMO = IGNORE; {C10H16; Limonene} LIMO2 = IGNORE; {RO2 from LIMO} APINP = IGNORE; APINN = IGNORE; PINAL = IGNORE; PINPAN = IGNORE; PINONIC = IGNORE; PINO3H = IGNORE; C96O2H = IGNORE; C96N = IGNORE; BPINO = IGNORE; BPINN = IGNORE; BPINP = IGNORE; BPINOOH = IGNORE; BPINON = IGNORE; LIMAL = IGNORE; LIMN = IGNORE; LIMKET = IGNORE; LIMKB = IGNORE; LIMNB = IGNORE; LIMPAN = IGNORE; LIMO2H = IGNORE; LIMO3H = IGNORE; MYRCO = IGNORE; PIN = IGNORE; APINO2 = IGNORE; PINO3 = IGNORE; C96O2 = IGNORE; BPINO2 = IGNORE; BPINOO2 = IGNORE; LIMKO2 = IGNORE; LIMO3 = IGNORE; LISOPOH = IGNORE; {Dummy spc to track oxidation of ISOP by OH} LISOPNO3 = IGNORE; {Dummy spc to track oxidation of ISOP by NO3} LNRO2H = IGNORE; {Dummy spc to track oxidation of NRO2 by HO2} LNRO2N = IGNORE; {Dummy spc to track oxidation of NRO2 by NO} LTRO2H = IGNORE; {Dummy spc to track oxidation of TRO2 by HO2} LTRO2N = IGNORE; {Dummy spc to track oxidation of TRO2 by NO} LVOC = IGNORE; {C5H14O5; Gas-phase low-volatility non-IEPOX product of ISOPOOH (RIP) oxidation} LVOCOA = IGNORE; {C5H14O5; Aerosol-phase low-volatility non-IEPOX product of ISOPOOH (RIP) oxidation} LXRO2H = IGNORE; {Dummy spc to track oxidation of XRO2 by HO2} LXRO2N = IGNORE; {Dummy spc to track oxidation of XRO2 by NO} MACR = IGNORE; {CH2=C(CH3)CHO; Methacrolein} MACR1OO = IGNORE; {peroxyacyl radical from MACR + OH} MACR1OOH = IGNORE; {CH2=C(CH3)C(O)OOH; Peracid from MACR} MACRNO2 = IGNORE; {Product of MCRHN + OH} MAP = IGNORE; {CH3C(O)OOH; Peroxyacetic acid} MCO3 = IGNORE; {CH3C(O)OO; Peroxyacetyl radical} MCRDH = IGNORE; {C4H8O3; Dihydroxy-MACR} MCRENOL = IGNORE; {C4H6O2; Lumped enols from MVK/MACR} MCRHN = IGNORE; {HOCH2C(ONO2)(CH3)CHO; Hydroxynitrate from MACR} MCRHNB = IGNORE; {O2NOCH2C(OH)(CH3)CHO; Hydroxynitrate from MACR} MCRHP = IGNORE; {HOCH2C(OOH)(CH3)CHO; Hydroxy-hydroperoxy-MACR} MCROHOO = IGNORE; {peroxy radical from MACR + OH} MCT = IGNORE; {methylcatechols} MEKCO3 = IGNORE; {MEK peroxyacetyl radical} MEK = IGNORE; {RC(O)R; Methyl ethyl ketone} MEKPN = IGNORE; {MEK peroxynitrate, C3PAN1 from MCM} MENO3 = IGNORE; {CH3ONO2; methyl nitrate} MGLY = IGNORE; {CH3COCHO; Methylglyoxal} MO2 = IGNORE; {CH3O2; Methylperoxy radical} MOH = IGNORE; {CH3OH; Methanol} MONITA = IGNORE; {Aerosol-phase organic nitrate from monoterpene precursors} MONITS = IGNORE; {Saturated 1st gen monoterpene organic nitrate} MONITU = IGNORE; {Unsaturated 1st gen monoterpene organic nitrate} MP = IGNORE; {CH3OOH; Methylhydroperoxide} MPAN = IGNORE; {CH2=C(CH3)C(O)OONO2; Peroxymethacroyl nitrate (PMN)} MPN = IGNORE; {CH3O2NO2; Methyl peroxy nitrate} MSA = IGNORE; {CH4SO3; Methanesulfonic acid} MTPA = IGNORE; {Lumped monoterpenes: a-pinene, b-pinene, sabinene, carene} MTPO = IGNORE; {Other monoterpenes: Terpinene, terpinolene, myrcene, ocimene, other monoterpenes} MVK = IGNORE; {CH2=CHC(=O)CH3; Methyl vinyl ketone} MVKDH = IGNORE; {HOCH2CH2OHC(O)CH3; Dihydroxy-MVK} MVKHC = IGNORE; {C4H6O3; MVK hydroxy-carbonyl} MVKHCB = IGNORE; {C4H6O3; MVK hydroxy-carbonyl} MVKHP = IGNORE; {C4H8O4; MVK hydroxy-hydroperoxide} MVKN = IGNORE; {HOCH2CH(ONO2)C(=O)CH3; Hydroxynitrate from MVK} MVKOHOO = IGNORE; {peroxy radical from MVK + OH} MVKPC = IGNORE; {OCHCH(OOH)C(O)CH3; MVK hydroperoxy-carbonyl} N = IGNORE; {N; Atomic nitrogen} N2O = IGNORE; {N2O; Nitrous oxide} N2O5 = IGNORE; {N2O5; Dinitrogen pentoxide} NAP = IGNORE; {C10H8; Naphthalene; IVOC surrogate} NIT = IGNORE; {NIT; Fine mode inorganic nitrate} NITs = IGNORE; {NITs; Coarse mode inorganic nitrate} NO = IGNORE; {NO; Nitric oxide} NO2 = IGNORE; {NO2; Nitrogen dioxide} NO3 = IGNORE; {NO3; Nitrate radical} NPHEN = IGNORE; {nitrophenols} NPRNO3 = IGNORE; {C3H8ONO2; n-propyl nitrate} NRO2 = IGNORE; {Peroxy radical from NAP oxidation} O = IGNORE; {O(3P); Ground state atomic oxygen} O1D = IGNORE; {O(1D); Excited atomic oxygen} O3 = IGNORE; {O3; Ozone} O3A = IGNORE; {O3; Ozone in accum seasalt} O3C = IGNORE; {O3; Ozone in coarse seasalt} OClO = IGNORE; {OClO; Chlorine dioxide} OCS = IGNORE; {COS; Carbonyl sulfide} OH = IGNORE; {OH; Hydroxyl radical} OIO = IGNORE; {OIO; Iodine dioxide} OLND = IGNORE; {Monoterpene-derived NO3-alkene adduct} OLNN = IGNORE; {Monoterpene-derived NO3 adduct} OTHRO2 = IGNORE; {Other C2 RO2 not from C2H6 oxidation} PAN = IGNORE; {CH3C(O)OONO2; Peroxyacetylnitrate} PHAN = IGNORE; {OCC(=O)OON(=O)=O; peroxyhydroxyacetic nitric anhydride} PHEN = IGNORE; {phenol} PIO2 = IGNORE; {RO2 from MTPA} PIP = IGNORE; {Peroxides from MTPA} PO2 = IGNORE; {HOCH2CH(OO)CH3; RO2 from propene} PP = IGNORE; {HOCH2CH(OOH)CH3; Peroxide from PO2} PPN = IGNORE; {CH3CH2C(O)OONO2; Peroxypropionylnitrate} PRN1 = IGNORE; {O2NOCH2CH(OO)CH3; RO2 from propene + NO3} PROPNN = IGNORE; {CH3C(=O)CH2ONO2; Propanone nitrate} PRPE = IGNORE; {C3H6; >= C3 alkenes} PRPN = IGNORE; {O2NOCH2CH(OOH)CH3; Peroxide from PRN1} PYAC = IGNORE; {CH3COCOOH; Pyruvic acid} R4N1 = IGNORE; {RO2 from R4N2} R4N2 = IGNORE; {RO2NO; >= C4 alkylnitrates} R4O2 = IGNORE; {RO2 from >= C4 biogenic organics} R4P = IGNORE; {CH3CH2CH2CH2OOH; Peroxide from R4O2} R7O2 = IGNORE; {RO2 from ALK6} R7N1 = IGNORE; {RO2 from R7N2} R7P = IGNORE; {Peroxide from R7O2} R7N2 = IGNORE; {RO2NO; >= C6 alkylnitrates} RA3P = IGNORE; {CH3CH2CH2OOH; Peroxide from A3O2} RB3P = IGNORE; {CH3CH(OOH)CH3; Peroxide from B3O2} RCHO = IGNORE; {CH3CH2CHO; >= C3 aldehydes} RCO3 = IGNORE; {CH3CH2C(O)OO; Peroxypropionyl radical} RCOOH = IGNORE; {C2H5C(O)OH; > C2 organic acids} RIPA = IGNORE; {HOCH2C(OOH)(CH3)CH=CH2; 1,2-ISOPOOH} RIPB = IGNORE; {HOCH2C(OOH)(CH3)CH=CH2; 4,3-ISOPOOH} RIPC = IGNORE; {C5H10O3; d(1,4)-ISOPOOH} RIPD = IGNORE; {C5H10O3; d(4,1)-ISOPOOH} RNO3 = IGNORE; {C7H9NO6; lumped aromatic alkyl nitrate} ROH = IGNORE; {C3H7OH; > C2 alcohols} RP = IGNORE; {CH3CH2C(O)OOH; Peroxide from RCO3} SALAAL = IGNORE; {Accumulation mode seasalt aerosol alkalinity} SALCAL = IGNORE; {Coarse mode seasalt aerosol alkalinity} SALACL = IGNORE; {Cl; Fine chloride} SALCCL = IGNORE; {Cl; Coarse chloride} SALASO2 = IGNORE; {SO2; Fine seasalt} SALCSO2 = IGNORE; {SO2; Coarse seasalt} SALASO3 = IGNORE; {SO3--; Fine seasalt} SALCSO3 = IGNORE; {SO3--; Coarse chloride} SO2 = IGNORE; {SO2; Sulfur dioxide} SO4 = IGNORE; {SO4; Sulfate} SO4s = IGNORE; {SO4 on sea-salt; Sulfate} SOAGX = IGNORE; {CHOCHO; Aerosol-phase glyoxal} SOAIE = IGNORE; {C5H10O3; Aerosol-phase IEPOX} STYR = IGNORE; {C6H5CHCH2; Styrene} TLFUONE = IGNORE; {C5H6O2; lumped furanones} TLFUO2 = IGNORE; {C5H7O5; RO2 from TLFUONE} TMB = IGNORE; {C6H3(CH3)3; Trimethylbenzenes} TOLU = IGNORE; {C7H8; Toluene} TRO2 = IGNORE; {Peroxy radical from TOLU oxidation} XYLE = IGNORE; {C8H10; Xylene} XRO2 = IGNORE; {Peroxy radical from XYLE oxidation} PH2SO4 = IGNORE; {SO4 from gas-phase chemistry} PSO4AQ = IGNORE; {SO4 from cloud chemistry} ZRO2 = IGNORE; {Lumped RO2 from aromatics} #DEFFIX H2 = IGNORE; {H2; Molecular hydrogen} N2 = IGNORE; {N2; Molecular nitrogen} O2 = IGNORE; {O2; Molecular oxygen} #EQUATIONS // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% // %%%%% Reactions extracted from sulfate_mod.F90 (MSL, BMY) %%%%% // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% // // Seasalt SO2 + SALAAL + O3 = SO4 - SALAAL : K_MT(1); HCl + SALAAL = SALACL : K_MT(2); HNO3 + SALAAL = NIT : K_MT(3); SO2 + SALCAL + O3 = SO4s - SALCAL : K_MT(4); HCl + SALCAL = SALCCL : K_MT(5); HNO3 + SALCAL = NITs : K_MT(6); // // Cloud // S(IV) --> S(VI) SO2 + H2O2 = SO4 : K_CLD(1); SO2 + O3 = SO4 : K_CLD(2); SO2 {+O2} = SO4 : K_CLD(3); {Mn & Fe catalysis + HET_DROP_CHEM()} // // HMS CH2O + SO2 = HMS : K_CLD(4); {Sep 2021; Moch2020; MSL} HMS = SO2 + CH2O : K_CLD(5); {Sep 2021; Moch2020; MSL} HMS + OH + SO2 = 2SO4 + CH2O + 2PSO4AQ : K_CLD(6); {Sep 2021; Moch2020; MSL} // // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% // %%%%% Gas-phase chemistry reactions %%%%% // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% // // NOTES: // ------ // (1) Be sure to use "D" exponents to force double precision values! // (i.e. write 1.70d-12 instead of 1.70e-12, etc.). // -- Bob Yantosca (16 Dec 2020) // // (2) This file might not render properly if the right hand side of the // equation is longer than ~100 characters. This seems to be an issue // with the KPP code itself. See this Github issue at geoschem/KPP: // https://github.com/geoschem/KPP/issues/1 // -- Bob Yantosca (16 Dec 2020) // // (3) To avoid useless CPU cycles, we have introduced new rate law functions // that skip computing Arrhenius terms (and other terms) that would // evaluate to 1. The Arrhenius terms that are passed to the function // are in most cases now noted in the function name (e.g. GCARR_abc takes // Arrhenius A, B, C parameters but GCARR_ac only passes A and C // parameters because B=0 and the (300/T)*B would evaluate to 1). // This should be much more computationally efficient, as these functions // are called (sometimes multiple times) for each grid box where we // perform chemistry. // -- Bob Yantosca (25 Jan 2020) // O3 + NO = NO2 + O2 : GCARR_ac(3.00d-12, -1500.0d0); O3 + OH = HO2 + O2 : GCARR_ac(1.70d-12, -940.0d0); O3 + HO2 = OH + O2 + O2 : GCARR_ac(1.00d-14, -490.0d0); O3 + NO2 = O2 + NO3 : GCARR_ac(1.20d-13, -2450.0d0); O3 + MO2 = CH2O + HO2 + O2 : GCARR_ac(2.90d-16, -1000.0d0); {2014/02/03; Eastham2014; SDE} OH + OH = H2O + O : 1.80d-12; {2014/02/03; Eastham2014; SDE} OH + OH {+M} = H2O2 : GCJPLPR_aba(6.90d-31, 1.0d+00, 2.6d-11, 0.6d0); OH + HO2 = H2O + O2 : GCARR_ac(4.80d-11, 250.0d0); OH + H2O2 = H2O + HO2 : 1.80d-12; HO2 + NO = OH + NO2 : GCARR_ac(3.44d-12, 260.0d0); {2023/04/18; JPL 19-5; KHB} HO2 + HO2 = H2O2 + O2 : GC_HO2HO2_acac(3.00d-13, 460.0d0, 2.1d-33, 920.0d0); {2014/02/03; Eastham2014; SDE} OH + CO = HO2 + CO2 : GCJPLPR_abab(6.9d-33,2.1d0,1.1d-12,-1.3d0,0.6d0) + GCJPLAC_ababac(6.9d-33,2.1d0,1.1d-12,-1.3d0,1.85d-13,-6.5d1,0.6d0); {2023/04/18; JPL 19-5; KHB} OH + CH4 = MO2 + H2O : GCARR_ac(2.45d-12, -1775.0d0); MO2 + NO = CH2O + HO2 + NO2 : GC_RO2NO_B1_ac(2.80d-12, 300.0d0); {2019/05/10; Fisher2018; JAF} MO2 + NO = MENO3 : GC_RO2NO_A1_ac(2.80d-12, 300.0d0); {2019/05/10; Fisher2018; JAF} MO2 + HO2 = MP + O2 : GCARR_ac(4.10d-13, 750.0d0); MO2 + MO2 = MOH + CH2O + O2 : GC_TBRANCH_1_acac(9.50d-14, 390.0d0, 2.62d1, -1130.0d0); MO2 + MO2 = 2.000CH2O + 2.000HO2 : GC_TBRANCH_1_acac(9.50d-14, 390.0d0, 4.0d-2, 1130.0d0); MO2 + OH = 0.13MOH + 0.87CH2O + 1.74HO2 : 1.60d-10 ; {2021/09/22; Bates2021a; KHB,MSL} MP + OH = 0.700MO2 + 0.300OH + 0.300CH2O + H2O : GCARR_ac(3.80d-12, 200.0d0); ATOOH + OH = 0.700ATO2 + 0.300MGLY + 0.300OH + H2O : GCARR_ac(3.80d-12, 200.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} CH2O + OH = CO + HO2 + H2O : GCARR_ac(5.50d-12, 125.0d0); NO2 + OH {+M} = HNO3 {+M} : GCJPLPR_aba(1.80d-30, 3.0d+00, 2.8d-11, 0.6d0); HNO3 + OH = H2O + NO3 : GCJPLPR_abab(3.9d-31,7.2d0,1.5d-13,4.8d0,0.6d0) + GCJPLAC_ababac(3.9d-31,7.2d0,1.5d-13,4.8d0,3.7d-14,2.4d2,0.6d0); {2023/04/18; JPL 19-5; KHB} NO + OH {+M} = HNO2 {+M} : GCJPLPR_abab(7.00d-31, 2.6d+00, 3.60d-11, 0.1d0, 0.6d0); HNO2 + OH = H2O + NO2 : GCARR_ac(3.00d-12, 250.0d0); {2023/04/18; JPL 19-5; KHB} HO2 + NO2 {+M} = HNO4 {+M} : GCJPLPR_abab(1.90d-31, 3.4d+00, 4.0d-12, 0.3d0, 0.6d0); {2017/02/22; JPL 15-10; BHH,MJE} HNO4 {+M} = HO2 + NO2 : GCJPLPR_abcabc(9.05d-05, 3.4d0, -10900.0d0, 1.90d15, 0.3d0, -10900.0d0, 0.6d0); {2017/02/22; JPL 15-10; BHH,MJE} HNO4 + OH = H2O + NO2 + O2 : GCARR_ac(4.50d-13, 610.0d0); {2023/04/18; JPL 19-5; KHB} HO2 + NO3 = OH + NO2 + O2 : 3.50d-12; NO + NO3 = 2.000NO2 : GCARR_ac(1.70d-11, 125.0d0); {2023/04/18; JPL 19-5; KHB} OH + NO3 = HO2 + NO2 : 2.00d-11; {2023/04/18; JPL 19-5; KHB} NO2 + NO3 {+M} = N2O5 {+M} : GCJPLPR_abab(2.40d-30, 3.0d+00, 1.6d-12, -0.1d0, 0.6d0); {2017/02/22; JPL 15-10; BHH,MJE} N2O5 {+M} = NO2 + NO3 : GCJPLPR_abcabc(4.14d-04, 3.0d0, -10840.0d0, 2.76d14, -0.1d0, -10840.0d0, 0.6d0); {2017/02/22; JPL 15-10; BHH,MJE} HCOOH + OH = H2O + CO2 + HO2 : 4.00d-13; {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} MOH + OH = HO2 + CH2O : GCARR_ac(2.90d-12, -345.0d0); NO2 + NO3 = NO + NO2 + O2 : GCARR_ac(4.35d-14, -1335.0d0); {2023/04/18; JPL 19-5; KHB} NO3 + CH2O = HNO3 + HO2 + CO : 5.80d-16; ALD2 + OH = 0.950MCO3 + 0.050CH2O + 0.050CO + 0.050HO2 + H2O : GCARR_ac(4.63d-12, 350.0d0); {2014/02/03; Eastham2014; SDE} ALD2 + NO3 = HNO3 + MCO3 : GCARR_ac(1.40d-12, -1900.0d0); MCO3 + NO2 {+M} = PAN : GCJPLPR_abab(7.30d-29, 4.1d+00, 9.5d-12, 1.6d0, 0.6d0); {2023/04/18; JPL 19-5; KHB} PAN = MCO3 + NO2 : GCJPLEQ_acabab(9.00d-29, 14000.0d0, 7.3d-29, 4.1d0, 9.5d-12, 1.6d0, 0.6d0); {2023/04/18; JPL 19-5; KHB} PAN + OH = CH2O + CO + NO2 : 3.00d-14 ; MCO3 + NO = MO2 + NO2 + CO2 : GCARR_ac(8.10d-12, 270.0d0); C2H6 + OH = ETO2 + H2O : GCARR_ac(7.66d-12, -1020.0d0); {2013/02/12; JPL 10-6; BHH,JMAO,EAM} ETO2 + NO = ALD2 + NO2 + HO2 : GC_RO2NO_B2_aca(2.60d-12, 365.0d0, 2.0d0); {2019/05/10; Fisher2018; JAF} ETO2 + NO = ETNO3 : GC_RO2NO_A2_aca(2.60d-12, 365.0d0, 2.0d0); {2019/05/10; Fisher2018; JAF} OTHRO2 + NO = ALD2 + NO2 + HO2 : GCARR_ac(2.60d-12, 365.0d0); {2019/05/10; Fisher2018; JAF} C3H8 + OH = B3O2 : GCARR_abc(8.54d-13,1.54d0,-19.0d0); {2023/04/18; JPL 19-5; KHB} C3H8 + OH = A3O2 : GCARR_abc(1.97d-12,1.23d0,-675.0d0); {2023/04/18; JPL 19-5; KHB} A3O2 + NO = NO2 + HO2 + RCHO : GC_RO2NO_B2_aca(2.90d-12, 350.0d0, 3.0d0); {2019/05/10; Fisher2018; JAF} A3O2 + NO = NPRNO3 : GC_RO2NO_A2_aca(2.90d-12, 350.0d0, 3.0d0); {2019/05/10; Fisher2018; JAF} PO2 + NO = NO2 + HO2 + CH2O + ALD2 : GCARR_ac(2.70d-12, 350.0d0); // --- ALK6 chemistry from Lurman et al., 1986 ALK6 + OH = R7O2 : GCARR_ac(2.00d-11, -359.0d0); ALK6 + NO3 = HNO3 + R7O2 : 6.0d-17; R7O2 + NO = NO2 + 0.750RCHO + 0.250R4O2 + 0.250MEK + 0.750HO2 : GC_RO2NO_B2_aca(2.70d-12, 350.0d0, 7.0d0); R7O2 + NO = R7N2 : GC_RO2NO_A2_aca(2.70d-12, 350.0d0, 7.0d0); R7O2 + HO2 = R7P : 3.0d-12; R7P + OH = 0.500OH + 0.500R7O2 + 0.500RCHO : 1.00d-11; {} R7N2 + OH = R7N1 + H2O : 4.00d-12; R7N1 + NO = 2.000NO2 + 0.980CH2O + 0.650ALD2 + 1.240RCHO : GCARR_ac(4.20d-12, 180.0d0); {} R7N1 + HO2 = R7N2 : GCARR_ac(7.40d-13, 700.0d0); // ----- C4H6 --> APAN --- currently no RO2 RO2 C4H6 + OH = BUTO2 : GCARR_ac(1.48d-11, 448.0d0); C4H6 + NO3 = ACR + CH2O + NO2 : 1.03d-13; C4H6 + O3 = ACR + CH2O : GCARR_ac(1.34d-14,-2283.0d0); BUTO2 + NO = 0.058BUTN + 0.730ACR + 0.603CH2O + 0.513HO2 + 0.942NO2 + 0.326RCHO : GCARR_ac(2.70d-12, 360.0d0); { krt, MCM} BUTO2 + HO2 = 0.659GLYC + 0.894RCHO : GCARR_ac(1.82d-13,1300d0); {MCM} BUTN + OH = GLYC + NO2 + CH2O + HO2 + CO : 3.59d-11; {krt, MCM} ACR + OH = 0.680ACO3 + 0.255ACRO2 + 0.065CH2O + 0.065GLYX + 0.425HO2 : 2.00d-11; {krt, MCM} ACRO2 + NO = GLYC + NO2 + HO2 + CO : GCARR_ac(2.70d-12,360.0d0) ;{krt, MCM} ACRO2 + HO2 = GLYC + HO2 + CO : GCARR_ac(1.51d-13,1300.0d0) ;{krt, MCM} ACO3 + HO2 = CO + CH2O + 0.500GLYC + 0.250HO2 + 0.250OH : GCARR_ac(5.2d-13, 980.0d0) ; {krt, MCM} ACO3 + NO = HO2 + CO + CH2O + NO2 : GCARR_ac(7.5d-12, 290.0d0) ; {krt, MCM} ACO3 + NO2 {+M} = APAN : GCJPLPR_abab(9.70d-29, 5.6d+00, 9.3d-12, 1.5d0, 0.6d0); APAN = ACO3 + NO2 : GCJPLEQ_acabab(9.30d-29, 14000.0d0, 9.7d-29, 5.6d0, 9.3d-12, 1.5d0, 0.6d0); APAN + OH = GLYC + CO + NO3 : 1.47d-11 ; {krt, MCM} // ALK4 + OH = R4O2 : GCARR_ac(9.10d-12, -405.0d0); ALK4O2 + NO = NO2 + 0.340ACET + 0.190MEK + 0.190MO2 + 0.270HO2 + 0.340ALD2 + 0.150RCHO + 0.050A3O2 + 0.190B3O2 + 0.340OTHRO2 : GC_RO2NO_B2_aca(2.70d-12, 350.0d0, 4.5d0); {2023/05/14; Brewer2023; JFB} ALK4O2 + NO = ALK4N2 : GC_RO2NO_A2_aca(2.70d-12, 350.0d0, 4.5d0); {2023/05/14; Brewer2023; JFB} ALK4N1 + NO = 2.000NO2 + 0.640RCHO + 0.970ALD2 + 0.640CH2O : GCARR_ac(2.70d-12, 350.0d0); {2023/05/14; Brewer2023; JFB} R4O2 + NO = NO2 + 0.340ACET + 0.190MEK + 0.190MO2 + 0.270HO2 + 0.340ALD2 + 0.150RCHO + 0.050A3O2 + 0.190B3O2 + 0.340OTHRO2 : GC_RO2NO_B2_aca(2.70d-12, 350.0d0, 4.5d0); {2023/04/18; Bates2023; KHB} R4O2 + NO = R4N2 : GC_RO2NO_A2_aca(2.70d-12, 350.0d0, 4.5d0); R4N1 + NO = 2.000NO2 + 0.640RCHO + 0.970ALD2 + 0.640CH2O : GCARR_ac(2.70d-12, 350.0d0); {2023/04/18; Bates2023; KHB} ATO2 + NO = NO2 + CH2O + MCO3 : GCARR_ac(2.90d-12, 300.0d0); {2023/04/18; JPL 19-5; KHB} KO2 + NO = 0.928NO2 + 0.919ALD2 + 0.919MCO3 + 0.072ALK4N2 : GCARR_ac(2.70d-12, 350.0d0); {2023/04/18; Bates2023; KHB},{2023/05/14; Brewer2023; JFB} B3O2 + NO = NO2 + HO2 + ACET : GC_RO2NO_B2_aca(2.70d-12, 360.0d0, 3.0d0); {2019/05/10; Fisher2018; JAF} B3O2 + NO = IPRNO3 : GC_RO2NO_A2_aca(2.70d-12, 360.0d0, 3.0d0); {2019/05/10; Fisher2018; JAF} PRN1 + NO = 2.000NO2 + CH2O + ALD2 : GCARR_ac(2.70d-12, 350.0d0); ALK4 + NO3 = HNO3 + ALK4O2 : GCARR_ac(2.80d-12, -3280.0d0); {2023/05/14; Brewer2023; JFB} R4N2 + OH = R4N1 + H2O : 1.60d-12; ALK4N2 + OH = ALK4N1 + H2O : 1.60d-12; {2023/05/14; Brewer2023; JFB} ACTA + OH = MO2 + CO2 + H2O : GCARR_ac(3.15d-14, 920.0d0); {2013/02/12; JPL 10-6; BHH,JMAO,EAM} OH + RCHO = RCO3 + H2O : GCARR_ac(6.00d-12, 410.0d0); RCO3 + NO2 {+M} = PPN : GCJPLPR_abab(9.00d-28, 8.9d0, 7.7d-12, 0.2d0, 0.6d0); {JPL Eval 17} PPN = RCO3 + NO2 : GCJPLEQ_acabab(9.00d-29, 14000.0d0, 9.00d-28, 8.9d0, 7.7d-12, 0.2d0, 0.6d0); PPN + OH = ALD2 + CO + NO2 : 1.27d-12 ; RCO3 + NO = NO2 + 0.490OTHRO2 + 0.070A3O2 + 0.270B3O2 + CO2 : GCARR_ac(6.70d-12, 340.0d0); {2019/05/10; Fisher2018; JAF; 2023/04/18; Bates2023; KHB} RCHO + NO3 = HNO3 + RCO3 : 6.50d-15; ACET + OH = ATO2 + H2O : 1.33d-13 + 3.82d-11*exp(-2000.0d0/TEMP); {JPL Eval 17, p1-62-D31; EVF} A3O2 + MO2 = HO2 + 0.750CH2O + 0.750RCHO + 0.250MOH + 0.250ROH : 5.92d-13; PO2 + MO2 = HO2 + 0.500ALD2 + 1.250CH2O + 0.160HAC + 0.090RCHO + 0.250MOH + 0.250ROH : 5.92d-13; R4O2 + HO2 = R4P : GCARR_ac(7.40d-13, 700.0d0); R4N1 + HO2 = R4N2 : GCARR_ac(7.40d-13, 700.0d0); ALK4O2 + HO2 = ALK4P : GCARR_ac(7.40d-13, 700.0d0); {2023/05/14; Brewer2023; JFB} ALK4N1 + HO2 = ALK4N2 : GCARR_ac(7.40d-13, 700.0d0); {2023/05/14; Brewer2023; JFB} ATO2 + HO2 = 0.150MCO3 + 0.150OH + 0.150CH2O + 0.850ATOOH : GCARR_ac(8.60d-13, 700.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} KO2 + HO2 = 0.150OH + 0.150ALD2 + 0.150MCO3 + 0.850ATOOH + 0.850MO2 : GC_RO2HO2_aca(2.91d-13, 1300.0d0, 4.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE; 2023/04/18; Bates2023; KHB} B3O2 + HO2 = RB3P : GC_RO2HO2_aca(2.91d-13, 1300.0d0, 3.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} PRN1 + HO2 = PRPN : GC_RO2HO2_aca(2.91d-13, 1300.0d0, 3.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} // -------- MEKPN ------------------- MEK + OH = KO2 + H2O : GCARR_ac(1.50d-12, -90.0d0); {2023/04/18; Atkinson2006; KHB} KO2 + NO = 0.930NO2 + 0.620ALD2 + 0.620MCO3 + 0.070R4N2 + 0.310MEKCO3 + 0.310CH2O : GCARR_ac(2.70d-12, 350.0d0); MEKCO3 + NO2 {+M} = MEKPN : GCJPLPR_abab(9.70d-29, 5.6d+00, 9.3d-12, 1.5d0, 0.6d0); {JPL Eval 17} MEKPN = MEKCO3 + NO2 : GCJPLEQ_acabab(9.30d-29, 14000.0d0, 9.7d-29, 5.6d0, 9.3d-12, 1.5d0, 0.6d0); MEKPN + OH = GLYC + CO + NO2 : 4.51E-12; MEKCO3 + NO = NO2 + ETOO + CO2 : GCARR_ac(7.50d-12, 290.0d0); MEKCO3 + HO2 = 0.150O3 + 0.150RCOOH + 0.440CO2 + 0.440OH + 0.440ETOO + 0.410RP : GCARR_ac(5.20d-13, 980.0d0); // MO2 + ETO2 = 0.750CH2O + 0.750ALD2 + HO2 + 0.250MOH + 0.250EOH : 3.00d-13; MO2 + OTHRO2 = 0.750CH2O + 0.750ALD2 + HO2 + 0.250MOH + 0.250EOH : 3.00d-13; {2019/05/10; Fisher2018; JAF} MEK + NO3 = HNO3 + KO2 : 8.00d-16; R4O2 + MO2 = 0.160ACET + 0.100MEK + 0.090MO2 + 0.140HO2 + 0.160ALD2 + 0.130RCHO + 0.030A3O2 + 0.090B3O2 + 0.160OTHRO2 + 0.250MEK + 0.750CH2O + 0.250MOH + 0.380ROH + 0.500HO2 : 8.37d-14; {2023/04/18; Bates2023; KHB} R4N1 + MO2 = NO2 + 0.950CH2O + 0.380ALD2 + 0.580RCHO + 0.150R4O2 + 0.500HO2 + 0.250MOH + 0.375ROH : 8.37d-14; {2023/04/18; Bates2023; KHB} ALK4O2 + MO2 = 0.160ACET + 0.100MEK + 0.090MO2 + 0.140HO2 + 0.160ALD2 + 0.130RCHO + 0.030A3O2 + 0.090B3O2 + 0.160OTHRO2 + 0.250MEK + 0.750CH2O + 0.250MOH + 0.380ROH + 0.500HO2 : 8.37d-14; {2023/05/14; Brewer2023; JFB} ALK4N1 + MO2 = NO2 + 0.950CH2O + 0.380ALD2 + 0.580RCHO + 0.150R4O2 + 0.500HO2 + 0.250MOH + 0.375ROH : 8.37d-14; {2023/05/14; Brewer2023; JFB} ATO2 + MO2 = 0.300HO2 + 0.500CH2O + 0.300MCO3 + 0.200HAC + 0.500MGLY + 0.500MOH + 0.300CO2 : GCARR_ac(7.50d-13, 500.0d0); {2023/04/18; Bates2023; KHB} KO2 + MO2 = 0.500ALD2 + 0.500MCO3 + 0.250MEK + 0.750CH2O + 0.250MOH + 0.250ROH + 0.500HO2 + 0.250MO2 : 8.37d-14; {2023/04/18; Bates2023; KHB} B3O2 + MO2 = 0.500HO2 + 0.500ACET + 0.250ACET + 0.750CH2O + 0.250MOH + 0.250ROH + 0.500HO2 : 8.37d-14; PRN1 + MO2 = NO2 + 0.500CH2O + 0.500ALD2 + 0.250RCHO + 0.750CH2O + 0.250MOH + 0.250ROH + 0.500HO2 : 8.37d-14; EOH + OH = HO2 + ALD2 : 3.35d-12; {2013/02/12; JPL 10-6; BHH,JMAO,EAM} ROH + OH = HO2 + RCHO : GCARR_ac(4.40d-12, 70.0d0); {2023/04/18; JPL 19-5; KHB} ETO2 + ETO2 = 1.600ALD2 + 0.400EOH + 1.200HO2 : 6.80d-14; OTHRO2 + OTHRO2 = 1.600ALD2 + 0.400EOH + 1.200HO2 : 6.80d-14; {2019/05/10; Fisher2018; JAF} HO2 + ETO2 = ETP : GCARR_ac(7.50d-13, 700.0d0); {2023/04/18; JPL 19-5; KHB} HO2 + OTHRO2 = ETP : GCARR_ac(7.50d-13, 700.0d0); {2019/05/10; Fisher2018; JAF; 2023/04/18; JPL 19-5; KHB} A3O2 + HO2 = RA3P : GC_RO2HO2_aca(2.91d-13, 1300.0d0, 3.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} PO2 + HO2 = PP : GC_RO2HO2_aca(2.91d-13, 1300.0d0, 3.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} RCO3 + HO2 = 0.410RP + 0.150RCOOH + 0.150O3 + 0.440OH + 0.220OTHRO2 + 0.030A3O2 + 0.120B3O2 + 0.430CO2 : GCARR_ac(4.30d-13, 1040.0d0); {2019/05/10; Fisher2018; JAF; 2023/04/18; Bates2023; KHB} PRPE + OH {+M} = PO2 : GCJPLPR_abab(4.60d-27, 4.0d0, 2.6d-11, 1.3d0, 0.5d0); {2017/02/22; JPL 15-10; BHH,MJE} PRPE + O3 = 0.100CH4 + 0.280MO2 + 0.100CO2 + 0.120CH3CHOO + 0.500ALD2 + 0.220CH2OO + 0.500CH2O + 0.560CO + 0.280HO2 + 0.360OH : GCARR_ac(6.50d-15, -1900.0d0); {2015/09/25; Millet2015; DBM,EAM; 2023/04/18; JPL 19-5; KHB} GLYC + OH = 0.732CH2O + 0.361CO2 + 0.505CO + 0.227OH + 0.773HO2 + 0.134GLYX + 0.134HCOOH : GC_GLYCOH_A_a(8.00d-12); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} GLYC + OH = HCOOH + OH + CO : GC_GLYCOH_B_a(8.00d-12); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} // --- GLYC chemistry --> PHAN - currenty no RO2 RO2 GLYC + OH = 0.200GLYX + 0.200HO2 + 0.800GCO3 : 1.0d-11; {krt, MCM} GLYC + NO3 = GCO3 + HNO3 : GCARR_ac(1.44d-12,-1862.0d0); {krt, MCM} GCO3 + NO2 {+M} = PHAN : GCJPLPR_abab(9.70d-29, 5.6d+00, 9.3d-12, 1.5d0, 0.6d0); {JPL Eval 17} PHAN = GCO3 + NO2 : GCJPLEQ_acabab(9.30d-29, 14000.0d0, 9.7d-29, 5.6d0, 9.3d-12, 1.5d0, 0.6d0); GCO3 + NO = NO2 + HO2 + CH2O : GCARR_ac(7.5d-12,290d0); {krt, MCM} GCO3 + HO2 = 0.440HO2 + 0.440CH2O + 0.440OH + 0.560HACTA + 0.150O3 + 0.440CO2 : GCARR_ac(5.2d-13,980d0); {krt,MCM} GCO3 + NO3 = CH2O + HO2 + NO2 : 4.0d-12; PHAN + OH = CH2O + CO + NO2 : 1.12d-12; {krt, MCM} HACTA + OH = CH2O + HO2 : 2.73d-12; {krt, MCM} // PRPE + NO3 = PRN1 : GCARR_ac(4.59d-13, -1156.0d0); GLYX + OH = HO2 + 2.000CO : GCARR_ac(3.10d-12, 340.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} MGLY + OH = MCO3 + CO : GCARR_ac(1.90d-12, 575.0d0); {2023/04/18; Atkinson2006; KHB} GLYX + NO3 = HNO3 + HO2 + 2.000CO : GC_GLYXNO3_ac(1.40d-12, -1860.0d0); MGLY + NO3 = HNO3 + CO + MCO3 : GCARR_ac(3.36d-12, -1860.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} HAC + OH = MGLY + HO2 : GC_HACOH_A_ac(2.00d-12, 320.0d0); {2023/04/18; Atkinson2006; KHB} HAC + OH = 0.500HCOOH + OH + 0.500ACTA + 0.500CO2 + 0.500CO + 0.500MO2 : GC_HACOH_B_ac(2.00d-12, 320.0d0); {2023/04/18; Atkinson2006; KHB} PRPN + OH = 0.209PRN1 + 0.791OH + 0.791PROPNN : GCARR_ac(8.78d-12, 200.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} ETP + OH = 0.640OH + 0.360OTHRO2 + 0.640ALD2 : GCARR_ac(5.18d-12, 200.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} RA3P + OH = 0.640OH + 0.360A3O2 + 0.640RCHO : GCARR_ac(5.18d-12, 200.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} RB3P + OH = 0.791OH + 0.209B3O2 + 0.791ACET : GCARR_ac(8.78d-12, 200.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} R4P + OH = 0.790OH + 0.210R4O2 + 1.185RCHO : GCARR_ac(8.78d-12, 200.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE; 2023/04/18; Bates2023; KHB} ALK4P + OH = 0.790OH + 0.210ALK4O2 + 1.185RCHO : GCARR_ac(8.78d-12, 200.0d0); {2023/05/14; Brewer2023; JFB} RP + OH = RCO3 : GCARR_ac(6.13d-13, 200.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} PP + OH = 0.791OH + 0.209PO2 + 0.791HAC : GCARR_ac(8.78d-12, 200.0d0); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} LVOC + OH = OH : GCARR_ac(4.82d-11, -400.0d0); {2017/06/14; Marais2016; EAM} OH + MAP = 0.780MCO3 + 0.220OH + 0.220CO2 + 0.220CH2O : 3.00d-14; {2023/04/18; Atkinson2006; KHB} C2H6 + NO3 = ETO2 + HNO3 : 1.40d-18; {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} MCO3 + MCO3 = 2.000MO2 + 2.000CO2 : GCARR_ac(2.90d-12, 500.0d0); {2023/04/18; JPL 19-5, Bates2023; KHB} MCO3 + MO2 = 0.1ACTA + CH2O + 0.9MO2 + 0.9HO2 + 0.9CO2: GCARR_ac(2.00d-12, 500.0d0); {2023/04/18; Bates2023; KHB} R4O2 + MCO3 = 0.271MEK + 0.100ACTA + 0.900MO2 + 0.290ACET + 0.243HO2 + 0.290ALD2 + 0.290OTHRO2 + 0.255RCHO + 0.045A3O2 + 0.162B3O2 + 0.900CO2: GCARR_ac(1.87d-12, 500.0d0); {2023/04/18; Bates2023; KHB} ALK4O2 + MCO3 = 0.271MEK + 0.100ACTA + 0.900MO2 + 0.290ACET + 0.243HO2 + 0.290ALD2 + 0.290OTHRO2 + 0.255RCHO + 0.045A3O2 + 0.162B3O2 + 0.900CO2: GCARR_ac(1.87d-12, 500.0d0); {2023/05/14; Brewer2023; JFB} ATO2 + MCO3 = 0.900MO2 + 0.900MCO3 + 0.900CH2O + 0.100MGLY + 0.100ACTA + 0.900CO2 : GCARR_ac(1.87d-12, 500.0d0); {2023/04/18; Bates2023; KHB} KO2 + MCO3 = 0.900MO2 + 0.900MCO3 + 0.900ALD2 + 0.100MEK + 0.100ACTA + 0.900CO2 : GCARR_ac(1.87d-12, 500.0d0); {2023/04/18; Bates2023; KHB} B3O2 + MCO3 = 0.900MO2 + 0.900HO2 + ACET + 0.100ACTA + 0.900CO2 : GCARR_ac(1.87d-12, 500.0d0); {2023/04/18; Bates2023; KHB} R4N1 + MCO3 = 0.900MO2 + 0.100ACTA + 0.613RCHO + 0.351CH2O + 0.675ALD2 + 0.270R4O2 + 0.645CO2 + NO2 : GCARR_ac(1.87d-12, 500.0d0); {2023/04/18; Bates2023; KHB} ALK4N1 + MCO3 = 0.900MO2 + 0.100ACTA + 0.613RCHO + 0.351CH2O + 0.675ALD2 + 0.270R4O2 + 0.645CO2 + NO2 : GCARR_ac(1.87d-12, 500.0d0); {2023/05/14; Brewer2023; JFB} PRN1 + MCO3 = 0.900MO2 + 0.900CH2O + 0.900CO2 + 0.900ALD2 + 0.100RCHO + 0.100ACTA + NO2 : GCARR_ac(1.87d-12, 500.0d0); {2023/04/18; Bates2023; KHB} ETO2 + MCO3 = 0.900MO2 + ALD2 + 0.900HO2 + 0.100ACTA + 0.900CO2 : GCARR_ac(1.87d-12, 500.0d0); {2023/04/18; Bates2023; KHB} OTHRO2 + MCO3 = 0.900MO2 + ALD2 + 0.900HO2 + 0.100ACTA + 0.900CO2 : GCARR_ac(1.87d-12, 500.0d0); {2019/05/10; Fisher2018; JAF; 2023/04/18; Bates2023; KHB} PO2 + MCO3 = 0.900MO2 + 0.900HO2 + 0.900ALD2 + 0.900CH2O + 0.065HAC + 0.035RCHO + 0.100ACTA + 0.900CO2 : GCARR_ac(1.87d-12, 500.0d0); {2023/04/18; Bates2023; KHB} A3O2 + MCO3 = 0.900MO2 + 0.900HO2 + RCHO + 0.100ACTA + 0.900CO2 : GCARR_ac(1.87d-12, 500.0d0); {2023/04/18; Bates2023; KHB} RCO3 + MCO3 = MO2 + 0.490OTHRO2 + 0.070A3O2 + 0.270B3O2 + 2.000CO2 : GCARR_ac(2.50d-12, 500.0d0); {2019/05/10; Fisher2018; JAF; 2023/04/18; Bates2023; KHB} RCO3 + MO2 = CH2O + CO2 + HO2 + 0.490OTHRO2 + 0.070A3O2 + 0.270B3O2 : GCARR_ac(1.87d-12, 500.0d0); {2019/05/10; Fisher2018; JAF; 2023/04/18; Bates2023; KHB} NO3 + NO3 = 2.000NO2 + O2 : GCARR_ac(8.50d-13, -2450.0d0); MO2 + NO2 {+M} = MPN {+M} : GCJPLPR_abab(1.00d-30, 4.8d+00, 7.2d-12, 2.1d0, 0.6d0); {2012/02/12; Browne2011; ECB} MPN {+M} = MO2 + NO2 : GCJPLPR_abcabc(1.05d-02, 4.8d+00, -11234.0d0, 7.58d16, 2.1d0, -11234.0d0, 0.6d0); {2012/02/12; Browne2011; ECB} DMS + OH = SO2 + MO2 + CH2O : GCARR_ac(1.20d-11, -280.0d0); DMS + OH = 0.750SO2 + 0.250MSA + MO2 : GC_DMSOH_acac(8.20d-39, 5376.0d0, 1.05d-5, 3644.0d0); DMS + NO3 = SO2 + HNO3 + MO2 + CH2O : GCARR_ac(1.90d-13, 530.0d0); SO2 + OH {+M} = SO4 + HO2 + PH2SO4 : GCJPLPR_abab(2.90d-31, 4.1d+00, 1.7d-12, -0.2d0, 0.6d0); {2023/04/18; JPL 19-5; KHB} Br + O3 = BrO + O2 : GCARR_ac(1.60d-11, -780.0d0); {2012/06/07; Parrella2012; JPP} BrO + HO2 = HOBr + O2 : GCARR_ac(4.50d-12, 460.0d0); {2012/06/07; Parrella2012; JPP} Br + HO2 = HBr + O2 : GCARR_ac(4.80d-12, -310.0d0); {2012/06/07; Parrella2012; JPP} HBr + OH = Br + H2O : GCARR_ac(5.50d-12, 200.0d0); {2012/06/07; Parrella2012; JPP} BrO + BrO = 2.000Br + O2 : GCARR_ac(2.40d-12, 40.0d0); {2012/06/07; Parrella2012; JPP} BrO + BrO = Br2 + O2 : GCARR_ac(2.80d-14, 860.0d0); {2012/06/07; Parrella2012; JPP} BrO + NO = Br + NO2 : GCARR_ac(8.80d-12, 260.0d0); {2012/06/07; Parrella2012; JPP} Br + BrNO3 = Br2 + NO3 : 4.90d-11; {2012/06/07; Parrella2012; JPP} Br2 + OH = HOBr + Br : GCARR_ac(2.10d-11, 240.0d0); {2012/06/07; Parrella2012; JPP} HOBr + O = OH + BrO : GCARR_ac(1.20d-10, -430.0d0); {2014/02/03; Eastham2014; SDE} HBr + O = OH + Br : GCARR_ac(5.80d-12, -1500.0d0); {2014/02/03; Eastham2014; SDE} BrO + OH = Br + HO2 : GCARR_ac(1.70d-11, 250.0d0); {2012/06/07; Parrella2012; JPP} Br + NO3 = BrO + NO2 : 1.60d-11; {2012/06/07; Parrella2012; JPP} Br + CH2O = HBr + HO2 + CO : GCARR_ac(1.70d-11, -800.0d0); {2012/06/07; Parrella2012; JPP} Br + ALD2 = HBr + MCO3 : GCARR_ac(1.80d-11, -460.0d0); {2017/07/27; Parrella2012,Fix C creation; SAS,BHH,MJE} Br + ACET = HBr + ATO2 : GCARR_ac(1.66d-10, -7000.0d0); {2017/07/27; Parrella2012,Fix C creation; SAS,BHH,MJE} Br + C2H6 = HBr + ETO2 : GCARR_ac(2.36d-10, -6411.0d0); {2017/07/27; Parrella2012,Fix C creation; SAS,BHH,MJE} Br + C3H8 = HBr + A3O2 : GCARR_ac(8.77d-11, -4330.0d0); {2017/07/27; Parrella2012,Fix C creation; SAS,BHH,MJE} Br + NO2 {+M} = BrNO2 {+M} : GCJPLPR_aba(4.20d-31, 2.4d0, 2.7d-11, 0.6d0); {2012/06/07; Parrella2012; JPP} BrO + NO2 {+M} = BrNO3 {+M} : GCJPLPR_abab(5.40d-31, 3.1d0, 6.5d-12, 2.9d0, 0.6d0); {2017/02/22; JPL 15-10; BHH,MJE} CHBr3 + OH = 3.000Br : GCARR_ac(9.00d-13, -360.0d0); {2017/02/22; JPL 15-10; BHH,MJE} CH2Br2 + OH = 2.000Br : GCARR_ac(2.00d-12, -840.0d0); {2012/06/07; Parrella2012; JPP} CH3Br + OH = Br + H2O + HO2 : GCARR_ac(1.42d-12, -1150.0d0); {2017/03/08; JPL 15-10; TS,BHH,MJE} O1D + H2O = 2.000OH : GCARR_ac(1.63d-10, 60.0d0); {2014/02/03; Eastham2014; SDE} O1D + N2 = O + N2 : GCARR_ac(2.15d-11, 110.0d0); {2014/02/03; Eastham2014; SDE} O1D + O2 = O + O2 : GCARR_ac(3.30d-11, 55.0d0); {2014/02/03; Eastham2014; SDE} O1D + H2 = H + OH : 1.20d-10; {2014/02/03; Eastham2014; SDE} O1D + N2O = 0.390N2 + 0.390O2 + 1.220NO : GCARR_ac(1.19d-10, 20.0d0); {2014/02/03; Eastham2014; SDE} O1D + CH4 = 0.750MO2 + 0.750OH + 0.200H + 0.200HO2 + 0.050H2 + 0.250CH2O : 1.75d-10; {2014/02/03; Eastham2014; SDE} O + O2 {+M} = O3 {+M} : GCARR_ab(6.00d-34, 2.4d0)*NUMDEN; {2014/02/03; Eastham2014; SDE} O + O3 = 2.000O2 : GCARR_ac(8.00d-12, -2060.0d0); {2014/02/03; Eastham2014; SDE} OH + H2 = H2O + H : GCARR_ac(2.80d-12, -1800.0d0); {2014/02/03; Eastham2014; SDE} O + OH = O2 + H : GCARR_ac(1.80d-11, 180.0d0); {2014/02/03; Eastham2014; SDE} HO2 + O = OH + O2 : GCARR_ac(3.00d-11, 200.0d0); {2014/02/03; Eastham2014; SDE} O1D + O3 = O + 1.500O2 : 2.40d-10; {2014/02/03; Eastham2014; SDE} OCS + O = CO + SO2 : GCARR_ac(2.10d-11, -2200.0d0); {2014/02/03; Eastham2014; SDE} OCS + OH = CO2 + SO2 : GCARR_ac(7.20d-14, -1070.0d0); {2023/04/18; JPL 19-5; KHB} NO2 + O = NO + O2 : GCJPLAC_ababac(3.4d-31, 1.6d0, 2.3d-11, 0.2d0, 5.3d-12, 2.0d2, 0.6d0); {2023/04/18; JPL 19-5; KHB} NO3 + O = NO2 + O2 : 1.30d-11; {2023/04/18; JPL 19-5; KHB} NO + O {+M} = NO2 {+M} : GCJPLPR_aba(9.00d-32, 1.5d+00, 3.0d-11, 0.6d0); {2014/02/03; Eastham2014; SDE} NO2 + O {+M} = NO3 {+M} : GCJPLPR_abab(3.4d-31, 1.6d0, 2.3d-11, 0.2d0, 0.6d0); {2023/04/18; JPL 19-5; KHB} H2O2 + O = OH + HO2 : GCARR_ac(1.40d-12, -2000.0d0); {2014/02/03; Eastham2014; SDE} H + O2 {+M} = HO2 {+M} : GCJPLPR_abab(5.30d-32, 1.8d+00, 9.5d-11, -0.4d0, 0.6d0); {2023/04/18; JPL 19-5; KHB} H + O3 = OH + O2 : GCARR_ac(1.40d-10, -470.0d0); {2014/02/03; Eastham2014; SDE} H + HO2 = 1.788OH + 0.020O + 0.020H2O + 0.086H2 + 0.086O2 : 8.05d-11; {2014/02/03; Eastham2014; SDE} N + O2 = NO + O : GCARR_ac(3.30d-12, -3150.0d0); {2023/04/18; JPL 19-5; KHB} N + NO = N2 + O : GCARR_ac(2.10d-11, 100.0d0); {2014/02/03; Eastham2014; SDE} N + NO2 = N2O + O : GCARR_ac(5.80d-12, 220.0d0); {2014/02/03; Eastham2014; SDE} BrO + O = Br + O2 : GCARR_ac(1.90d-11, 230.0d0); {2014/02/03; Eastham2014; SDE} CH2O + O = CO + HO2 + OH : GCARR_ac(3.40d-11, -1600.0d0); {2014/02/03; Eastham2014; SDE} O1D + HCl = 0.120O + 0.120HCl + 0.220H + 0.660Cl + 0.220ClO + 0.660OH : 1.50d-10; {2023/04/18; JPL 19-5; KHB} O1D + HBr = 0.200O + 0.200HBr + 0.200BrO + 0.600OH + 0.200H + 0.600Br : 1.50d-10; {2023/04/18; JPL 19-5; KHB} O1D + Cl2 = 0.250O + 0.250Cl2 + 0.750Cl + 0.750ClO : 2.70d-10; {2014/02/03; Eastham2014; SDE} O1D + CCl4 = 0.210O + 0.210CCl4 + 0.790ClO + 2.370Cl : 3.30d-10; {2023/04/18; JPL 19-5; KHB} O1D + CH3Cl = 0.100O + 0.100CH3Cl + 0.460ClO + 0.350Cl + 0.090H + 0.900MO2 : 2.60d-10; {2023/04/18; JPL 19-5; KHB} O1D + CH3Br = 0.440BrO + MO2 + 0.560Br : 1.80d-10; {2014/02/03; Eastham2014; SDE} O1D + CH2Br2 = 0.050O + 0.050CH2Br2 + 0.950BrO + 0.950Br : 2.70d-10; {2014/02/03; Eastham2014; SDE} O1D + CHBr3 = 0.300O + 0.300CHBr3 + 0.700BrO + 1.400Br : 6.60d-10; {2023/04/18; JPL 19-5; KHB} O1D + HCFC22 = 0.250O + 0.250HCFC22 + 0.560ClO + 0.190Cl + 0.050OH : 1.02d-10; {2023/04/18; JPL 19-5; KHB} O1D + CFC11 = 0.100O + 0.100CFC11 + 0.900ClO + 1.800Cl : 2.30d-10; {2023/04/18; JPL 19-5; KHB} O1D + CFC12 = 0.140O + 0.140CFC12 + 0.860ClO + 0.860Cl : 1.40d-10; {2014/02/03; Eastham2014; SDE} O1D + H1211 = 0.350O + 0.350H1211 + 0.310BrO + 0.310Cl + 0.340Br + 0.340ClO : 1.50d-10; {2023/04/18; JPL 19-5; KHB} O1D + H1301 = 0.550O + 0.550H1301 + 0.450BrO : 1.00d-10; {2023/04/18; JPL 19-5; KHB} O1D + HCFC141b = 0.310O + 0.310HCFC141b + 0.690ClO + 0.690Cl : 2.60d-10; {2014/02/03; Eastham2014; SDE} O1D + HCFC142b = 0.350O + 0.350HCFC142b + 0.650ClO : 2.00d-10; {2023/04/18; JPL 19-5; KHB} O1D + HCFC123 = 0.210O + 0.210HCFC123 + 0.790Cl + 0.790ClO : 2.00d-10; {2014/02/03; Eastham2014; SDE} O1D + CFC113 = 0.100O + 0.100CFC113 + 1.900Cl + 0.800ClO : 2.32d-10; {2023/04/18; JPL 19-5; KHB} O1D + CFC114 = 0.100O + 0.100CFC114 + 0.950Cl + 0.850ClO : GCARR_ac(1.30d-10, 25.0d0); {2023/04/18; JPL 19-5; KHB} O1D + CFC115 = 0.140O + 0.140CFC115 + 0.860ClO : GCARR_ac(5.40d-11, 30.0d0); {2023/04/18; JPL 19-5; KHB} O1D + H2402 = 0.250O + 0.250H2402 + 0.750Br + 0.750BrO : GCARR_ac(1.60d-10, 0.0d0); {2014/02/03; Eastham2014; SDE} OH + Cl2 = HOCl + Cl : GCARR_ac(2.60d-12, -1100.0d0); {2014/02/03; Eastham2014; SDE} MO2 + ClO = ClOO + HO2 + CH2O : GCARR_ac(1.80d-11, -600.0d0); {2017/03/20; JPL 15-10; TS,BHH,MJE} OH + ClO = HO2 + Cl : GCARR_ac(7.40d-12, 270.0d0); {2014/02/03; Eastham2014; SDE} OH + ClO = HCl + O2 : GCARR_ac(6.00d-13, 230.0d0); {2014/02/03; Eastham2014; SDE} OH + OClO = HOCl + O2 : GCARR_ac(1.40d-12, 600.0d0); {2017/02/22; JPL 15-10; BHH,MJE} OH + Cl2O2 = HOCl + ClOO : GCARR_ac(6.00d-13, 670.0d0); {2014/02/03; Eastham2014; SDE} OH + HCl = H2O + Cl : GCARR_ac(1.80d-12, -250.0d0); {2014/02/03; Eastham2014; SDE} OH + HOCl = H2O + ClO : GCARR_ac(3.00d-12, -500.0d0); {2014/02/03; Eastham2014; SDE} OH + ClNO2 = HOCl + NO2 : GCARR_ac(2.40d-12, -1250.0d0); {2014/02/03; Eastham2014; SDE} OH + ClNO3 = HOCl + NO3 : GCARR_ac(1.20d-12, -330.0d0); {2014/02/03; Eastham2014; SDE} OH + CH3Cl = Cl + HO2 + H2O : GCARR_ac(1.96d-12, -1200.0d0); {2017/02/22; JPL 15-10; BHH,MJE} OH + CH2Cl2 = 2.000Cl + HO2 : GCARR_ac(1.92d-12, -880.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE; 2023/04/18; JPL 19-5; KHB} OH + CHCl3 = 3.000Cl + HO2 : GCARR_ac(2.20d-12, -920.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE; 2023/04/18; JPL 19-5; KHB} OH + CH3CCl3 = 3.000Cl + H2O : GCARR_ac(1.64d-12, -1520.0d0); {2014/02/03; Eastham2014; SDE} OH + HCFC22 = Cl + H2O : GCARR_ac(9.20d-13, -1560.0d0); {2017/02/22; JPL 15-10; BHH,MJE} OH + HCFC141b = 2.000Cl + H2O : GCARR_ac(1.25d-12, -1600.0d0); {2014/02/03; Eastham2014; SDE} OH + HCFC142b = Cl + H2O : GCARR_ac(1.30d-12, -1770.0d0); {2014/02/03; Eastham2014; SDE} OH + HCFC123 = 2.000Cl + H2O : GCARR_ac(7.40d-13, -900.0d0); {2017/02/22; JPL 15-10; BHH,MJE} CH4 + Cl = HCl + MO2 : GCARR_ac(7.10d-12, -1270.0d0); {2017/03/08; JPL 15-10; TS,BHH,MJE} CH2O + Cl = CO + HCl + HO2 : GCARR_ac(8.10d-11, -30.0d0); {2017/09/22; Sherwen2016b; TS,JAS,SDE; 2023/04/18; JPL 19-5; KHB} Cl + O3 = ClO + O2 : GCARR_ac(2.30d-11, -200.0d0); {2014/02/03; Eastham2014; SDE} Cl + H2 = H + HCl : GCARR_ac(3.05d-11, -2270.0d0); {2014/02/03; Eastham2014; SDE} Cl + H2O2 = HO2 + HCl : GCARR_ac(1.10d-11, -980.0d0); {2014/02/03; Eastham2014; SDE} Cl + HO2 = O2 + HCl : GCARR_ac(1.40d-11, 270.0d0); {2014/02/03; Eastham2014; SDE} Cl + HO2 = OH + ClO : GCARR_ac(3.60d-11, -375.0d0); {2014/02/03; Eastham2014; SDE} ClO + O = Cl + O2 : GCARR_ac(2.80d-11, 85.0d0); {2014/02/03; Eastham2014; SDE} ClO + HO2 = O2 + HOCl : GCARR_ac(2.60d-12, 290.0d0); {2014/02/03; Eastham2014; SDE} ClO + NO = Cl + NO2 : GCARR_ac(6.40d-12, 290.0d0); {2014/02/03; Eastham2014; SDE} ClO + NO2 {+M} = ClNO3 {+M} : GCJPLPR_abab(1.80d-31, 3.4d+00, 1.50d-11, 1.9d0, 0.6d0); {2014/02/03; Eastham2014; SDE} ClO + ClO = Cl2 + O2 : GCARR_ac(1.00d-12, -1590.0d0); {2014/02/03; Eastham2014; SDE} ClO + ClO = Cl + ClOO : GCARR_ac(3.00d-11, -2450.0d0); {2014/02/03; Eastham2014; SDE} ClO + ClO = OClO + Cl : GCARR_ac(3.50d-13, -1370.0d0); {2014/02/03; Eastham2014; SDE} Cl + O2 {+M} = ClOO {+M} : GCJPLPR_aba(2.20d-33, 3.1d+00, 1.8d-10, 0.6d0); {2014/02/03; Eastham2014; SDE} ClOO {+M} = Cl + O2 {+M} : GCJPLEQ_acabab(6.60d-25, 2502.0d0, 2.20d-33, 3.1d+00, 1.8d-10, 0.0d0, 0.6d0); {JPL 15-10; XW} ClO + ClO {+M} = Cl2O2 {+M} : GCJPLPR_abab(1.90d-32, 3.6d+00, 3.7d-12, 1.6d0, 0.6d0); {2017/02/22; JPL 15-10; BHH,MJE} Cl2O2 {+M} = 2.000ClO {+M} : GCJPLEQ_acabab(2.16d-27, 8537.0d0, 1.90d-32, 3.6d+00, 3.7d-12, 1.6d0, 0.6d0); {JPL 15-10; XW} ClOO + Cl = 0.950Cl2 + 0.950O2 + 0.100ClO : 2.42d-10; {2014/02/03; Eastham2014; SDE} ClO + BrO = Br + OClO : GCARR_ac(9.50d-13, 550.0d0); {2014/02/03; Eastham2014; SDE} ClO + BrO = Br + ClOO : GCARR_ac(2.30d-12, 260.0d0); {2014/02/03; Eastham2014; SDE} ClO + BrO = BrCl + O2 : GCARR_ac(4.10d-13, 290.0d0); {2014/02/03; Eastham2014; SDE} ClNO3 + O = ClO + NO3 : GCARR_ac(3.60d-12, -840.0d0); {2014/02/03; Eastham2014; SDE} ClNO3 + Cl = Cl2 + NO3 : GCARR_ac(6.50d-12, 135.0d0); {2014/02/03; Eastham2014; SDE} CH3Cl + Cl = CO + 2.000HCl + HO2 : GCARR_ac(2.03d-11, -1110.0d0); {2014/02/03; Eastham2014; SDE; 2023/04/18; JPL 19-5; KHB} CH2Cl2 + Cl = CO + HCl + 2.000Cl + HO2 : GCARR_ac(7.40d-12, -910.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE; 2023/04/18; JPL 19-5; KHB} CHCl3 + Cl = CO + HCl + 3.000Cl + HO2 : GCARR_ac(3.30d-12, -990.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE; 2023/04/18; JPL 19-5; KHB} Cl + HCOOH = HCl + CO2 + H2O : 2.00d-13; {2017/09/22; Sherwen2016b;TS,JAS,SDE} Cl + MO2 = ClO + CH2O + HO2 : 1.60d-10; {2017/09/22; Sherwen2016b;TS,JAS,SDE} Cl + MP = HCl + MO2 : 5.7d-11; {2017/09/22; Sherwen2016b;TS,JAS,SDE} Cl + C2H6 = HCl + ETO2 : GCARR_ac(7.2d-11, -70.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE} Cl + ETO2 = ClO + HO2 + ALD2 : 7.4d-11; {2017/09/22; Sherwen2016b;TS,JAS,SDE} Cl + OTHRO2 = ClO + HO2 + ALD2 : 7.4d-11; {2019/05/10; Fisher2018; JAF} Cl + MOH = HCl + CH2O + HO2 : 5.5d-11; {2017/09/22; Sherwen2016b;TS,JAS,SDE} Cl + EOH = HCl + ALD2 : 9.6d-11; {2017/09/22; Sherwen2016b;TS,JAS,SDE} Cl + ACTA = HCl + MO2 + CO2 : 2.8d-14; {2017/09/22; Sherwen2016b;TS,JAS,SDE} Cl + C3H8 = HCl + B3O2 : GCARR_ac(6.54d-11, 60.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE} Cl + C3H8 = HCl + A3O2 : GCARR_ac(8.12d-11, -90.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE} Cl + ACET = HCl + ATO2 : GCARR_ac(1.63d-11, -610.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE; 2023/04/18; JPL 19-5; KHB} Cl + ISOP = HCl + 0.5IHOO1 + 0.5IHOO4 : GCARR_ac(7.60d-11, 500.0d0); {2019/11/06; Sherwen2016b;KHB,TS,JAS,SDE} Cl + ALK4 = HCl + ALK4O2 : 2.05d-10; {2023/05/14; Brewer2023; JFB} Cl + PRPE {+M} = HCl + PO2 {+M} : GCJPLPR_aa(4.00d-28, 2.8d-10, 0.6d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE} Br + PRPE = HBr + PO2 : 3.60d-12; {2017/09/22; Sherwen2016b;TS,JAS,SDE} I + NO {+M} = INO {+M} : GCJPLPR_aba(1.80d-32, 1.0d0, 1.70d-11, 0.6d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE; 2023/04/18; JPL 19-5; KHB} INO + INO = I2 + 2.000NO : GCARR_ac(8.40d-11, -2620.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I + NO2 {+M} = IONO {+M} : GCJPLPR_aba(3.00d-31, 1.0d0, 6.6d-11, 0.6d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE; 2023/04/18; JPL 19-5; KHB} IONO {+M} = I + NO2 {+M} : GCARR_ac(9.94d+17, -11859.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE} IONO + IONO = I2 + 2.000NO2 : GCARR_ac(2.90d-11, -2600.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I2 + NO3 = I + IONO2 : 1.50d-12; {2017/09/22; Sherwen2016b;TS,JAS,SDE} IO + NO2 {+M} = IONO2 {+M} : GCJPLPR_abab(7.50d-31, 3.5d0, 7.6d-12, 1.5d0, 0.6d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE} IONO2 {+M} = IO + NO2 {+M} : GCARR_ac(2.10d+15, -13670.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE} IONO2 + I = I2 + NO3 : GCARR_ac(9.10d-11, -146.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I + BrO = IO + Br : 1.20d-11; {2017/09/22; Sherwen2016b;TS,JAS,SDE} IO + BrO = 0.8OIO + Br + 0.2I + 0.2O2 : GCARR_ac(5.50d-12, 760.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE; 2023/04/18; JPL 19-5; KHB} IO + OIO {+M} = I2O3 {+M} : 1.00d-10; {2017/09/22; Sherwen2016b;TS,JAS,SDE} OIO + OIO = I2O4 : 1.50d-10; {2017/09/22; Sherwen2016b;TS,JAS,SDE} I2O4 {+M} = 2.000OIO {+M} : 3.80d-02; {2017/09/22; Sherwen2016b;TS,JAS,SDE} OIO + NO = IO + NO2 : GCARR_ac(1.10d-12, 542.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE} IO + ClO = 0.809I + 0.560OClO + 0.249Cl + 0.191ICl + 0.440O2 : GCARR_ac(4.82d-12, 280.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE; 2023/04/18; JPL 19-5; KHB} I + O3 = IO + O2 : GCARR_ac(2.00d-11, -830.0d0); {2017/09/22; Sherwen2017;TS,JAS,SDE; 2023/04/18; JPL 19-5; KHB} I + HO2 = HI + O2 : GCARR_ac(1.50d-11, -1090.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I2 + OH = HOI + I : 1.80d-10; {2017/09/22; Sherwen2016b;TS,JAS,SDE} HI + OH = I + H2O : 3.00d-11; {2017/09/22; Sherwen2016b;TS,JAS,SDE} HOI + OH = IO + H2O : 5.00d-12; {2017/09/22; Sherwen2016b;TS,JAS,SDE} IO + HO2 = HOI + O2 : GCARR_ac(1.30d-11, 570.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE} IO + NO = I + NO2 : GCARR_ac(8.60d-12, 230.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE; 2023/04/18; JPL 19-5; KHB} IO + IO = 0.400I + 0.400OIO + 0.600I2O2: GCARR_ac(1.50d-11, 500.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE; 2023/04/18; JPL 19-5; KHB} I2O2 {+M} = 0.008IO + 0.996I + 0.996OIO {+M} : GCARR_ac(2.51d+14, -9770.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE; 2023/04/18; Bates2023; KHB} CH3I + OH = H2O + I + MO2 : GCARR_ac(2.90d-12, -1100.0d0); {2017/09/22; Sherwen2016b;TS,JAS,SDE} ETHLN + OH = CH2O + CO2 + NO2 : 2.40d-12; {2017/06/15, Marais2016, EAM} PROPNN + OH = NO2 + MGLY : 6.70d-13; {2017/07/14; MCMv3.3; KRT,JAF,CCM,EAM,KHB,RHS} CH2OO + CO = CH2O + CO2 : 1.20d-15; {2015/09/25; Millet2015; DBM,EAM; 2023/04/18; Bates2023; KHB} CH2OO + NO = CH2O + NO2 : 1.00d-14; {2015/09/25; Millet2015; DBM,EAM} CH2OO + NO2 = CH2O + NO3 : 4.25d-12; {2015/09/25; Millet2015; DBM,EAM; 2023/04/18; JPL 19-5; KHB} CH2OO + H2O = 0.730HMHP + 0.210HCOOH + 0.060CH2O + 0.060H2O2 : 2.80d-16; {2019/11/06; Bates2019; KHB; 2023/04/18; JPL 19-5; KHB} CH2OO + H2O + H2O = 0.400HMHP + 0.540HCOOH + 0.060CH2O + 0.060H2O2 : GCARR_ac(2.88d-35, 1391.0d0); {2019/11/06; Bates2019; KHB} CH2OO + O3 = CH2O : 1.40d-12; {2019/11/06; Bates2019; KHB} CH2OO + SO2 = CH2O + SO4 + PH2SO4 : 3.80d-11; {2019/11/06; Bates2019; KHB; 2023/04/18; JPL 19-5; KHB} CH3CHOO + CO = ALD2 + CO2 : 1.20d-15; {2015/09/25; Millet2015; DBM,EAM; 2023/04/18; Bates2023; KHB} CH3CHOO + NO = ALD2 + NO2 : 1.00d-14; {2015/09/25; Millet2015; DBM,EAM} CH3CHOO + NO2 = ALD2 + NO3 : 4.25d-12; {2015/09/25; Millet2015; DBM,EAM; 2023/04/18; JPL 19-5; KHB} CH3CHOO + SO2 = ALD2 + SO4 + PH2SO4 : 2.65d-11; {2015/09/25; Millet2015; DBM,EAM; 2023/04/18; JPL 19-5; KHB} CH3CHOO + H2O = ALD2 + H2O2 : 6.00d-18; {2015/09/25; Millet2015; DBM,EAM} CH3CHOO + H2O = ACTA : 1.00d-17; {2015/09/25; Millet2015; DBM,EAM} // Updated Monoterpene chemistry MTPA + NO3 = 0.100OLNN + 0.900OLND : GCARR_ac(8.33d-13, 490.0d0); {2017/07/14; Fisher2016; KRT,JAF,CCM,EAM,KHB,RHS} MTPO + NO3 = 0.100OLNN + 0.900OLND : GCARR_ac(8.33d-13, 490.0d0); {2017/07/14; Fisher2016; KRT,JAF,CCM,EAM,KHB,RHS} LIMO + NO3 = 0.500OLNN + 0.500OLND : 1.22d-11; {2017/07/14; Fry2014,Atkinson2003; KRT,JAF,CCM,EAM,KHB,RHS} LIMO + OH = LIMO2 : GCARR_ac(4.20d-11, 401.0d0); LIMO + O3 = 0.865OH + 0.15CO + 0.15AROMRO2 + 0.27LIMAL + 0.715LIMO3 : GCARR_ac(2.95d-15, -783.0d0); MTPO + OH = 0.15APINO2 + 0.15BPINO2 + 0.2LIMO2 + 0.5PIO2 : GCARR_ac(1.21d-11, 440.0d0); MTPO + O3 = 0.5ACET + 0.8OH + 0.1CH2O + 0.5MEK + 0.15MVK + 0.4MYRCO + 0.5AROMRO2 + 0.05HO2 + 0.3KO2 + 0.3RCHO : GCARR_ac(2.7d-15, -520.0d0); MTPA + OH = 0.075LIMO2 + 0.67APINO2 + 0.255BPINO2 : GCARR_ac(1.34d-11, 410.0d0); MTPA + O3 = 0.65OH + 0.5APINO2 + 0.1BPINOO2 + 0.2BPINO + 0.2PINAL + 0.1CH2OO + 0.1CO + 0.1CH2O : GCARR_ac(8.22d-16, -640.0d0); APINO2 + HO2 = APINP : GCARR_ac(2.66d-13, 1300.0d0); APINO2 + NO = 0.25APINN + 0.75PINAL + 0.75NO2 + 0.75HO2 : GCARR_ac(2.7d-12, 360.0d0); APINO2 + NO3 = PINAL + NO2 + HO2 : 2.3d-12 ; APINP + OH = 0.4PINO3 + 0.6APINO2 : 1.83d-11 ; APINN + OH = 0.5PINAL + 0.5NO2 + 0.5HO2 + 0.5C96N + 0.5CH2O + 0.5AROMRO2 : 5.50d-12 ; PINAL + NO3 = HNO3 + PINO3 : 2.0d-14 ; PINAL + OH = PINO3 : GCARR_ac(5.2d-12, 600.0d0); PINO3 + HO2 = 0.44OH + 0.15O3 + 0.44C96O2 + 0.41PINO3H + 0.15PINONIC : GCARR_ac(2.66d-13, 1300.0d0); PINO3 + NO = NO2 + CO2 + C96O2 : GCARR_ac(2.7d-12, 360.0d0); PINO3 + NO2 = PINPAN : GCJPLPR_abab(9.70d-29, 5.6d+00, 9.3d-12, 1.5d0, 0.6d0); PINPAN = PINO3 + NO2 : GCJPLEQ_acabab(9.30d-29, 14000.0d0, 9.7d-29, 5.6d0, 9.3d-12, 1.5d0, 0.6d0); PINO3 + NO3 = NO2 + CO2 + C96O2 : 2.3d-12 ; PINO3H + OH = PINO3 : 9.73d-12 ; PINONIC + OH = CO2 + C96O2 : 6.65d-12 ; C96O2 + HO2 = C96O2H : GCARR_ac(2.66d-13, 1300.0d0); C96O2 + NO = 0.16C96N + 0.84NO2 + 0.84AROMRO2 + 0.84ACET + 0.84CH2O + 0.84RCO3 + 0.42MEK : GCARR_ac(2.7d-12, 360.0d0); C96O2 + NO3 = NO2 + AROMRO2 + ACET + CH2O + RCO3 + 0.5MEK : 2.3d-12 ; C96O2 + MO2 = HO2 + 0.75CH2O + 0.25MOH + 0.25C96O2H + 0.75AROMRO2 + 0.75ACET + 0.75CH2O + 0.75RCO3 + 0.375MEK : GCARR_ac(3.75d-13, 500.0d0); C96O2H + OH = 0.5C96O2 + 0.5AROMRO2 + 0.5ACET + 0.5CH2O + 0.5RCO3 + 0.25MEK : 2.6d-11 ; C96N + OH = 0.5NO2 + 0.5MONITS + 0.55AROMRO2 + 0.4ACET + 0.4CH2O + 0.4RCO3 + 0.3MEK : 2.88d-12 ; BPINO2 + HO2 = BPINP : GCARR_ac(2.66d-13, 1300.0d0); BPINO2 + NO = 0.25BPINN + 0.75CH2O + 0.75NO2 + 0.75HO2 + 0.75BPINO : GCARR_ac(2.7d-12, 360.0d0); BPINO2 + NO3 = CH2O + NO2 + HO2 + BPINO : 2.3d-12 ; BPINN + OH = 0.5BPINON + 0.5AROMRO2 + CH2O + 0.5NO2 + 0.5HO2 + 0.5BPINO : 4.7d-12 ; BPINP + OH = BPINO2 : 1.33d-11 ; BPINO + OH = BPINOO2 : 1.55d-11 ; BPINOO2 + HO2 = BPINOOH : GCARR_ac(2.66d-13, 1300.0d0); BPINOO2 + NO = BPINON : GCARR_ac(4.32d-13, 360.0d0); BPINOO2 + NO = NO2 + HO2 + 0.27LIMO3 + 0.6ACET + 0.6RCHO + 0.6R4O2 : GCARR_ac(2.27d-12, 360.0d0); BPINOO2 + MO2 = HO2 + 0.23LIMO3 + 0.4ACET + 0.4RCHO + 0.4R4O2 + 0.75CH2O + 0.25MOH + 0.25BPINOOH : GCARR_ac(3.75d-13, 500.0d0); BPINOO2 + NO3 = NO2 + HO2 + 0.27LIMO3 + 0.6ACET + 0.6RCHO + 0.6R4O2 : 2.3d-12 ; BPINOOH + OH = BPINOO2 : 8.59d-11 ; BPINON + OH = 0.5MONITS + 0.5NO2 + 0.085LIMO3 + 0.3ACET + 0.3RCHO + 0.3R4O2 : 3.24d-12 ; LIMO2 + HO2 = 0.37LIMKET + 0.63LIMAL : GCARR_ac(2.66d-13, 1300.0d0); LIMO2 + NO = 0.25LIMN + 0.75NO2 + 0.75HO2 + 0.28LIMKET + 0.47LIMAL : GCARR_ac(2.7d-12, 360.0d0); LIMO2 + NO3 = NO2 + HO2 + 0.37LIMKET + 0.63LIMAL : 2.3d-12 ; LIMAL + OH = LIMO3 : 1.1d-10 ; LIMAL + O3 = 0.3LIMKB + 0.33CH2OO + 0.67CH2O + 0.6LIMO3 + 0.6OH : 8.3d-18 ; LIMAL + NO3 = AROMRO2 + LIMNB : 2.6d-13 ; LIMKET + OH = LIMKO2 : 9.97d-11 ; LIMKET + O3 = 0.27LIMKO2 + 0.865OH + 0.73LIMO3 : 1.5d-16 ; LIMKET + NO3 = LIMNB + AROMRO2 : 9.4d-12 ; LIMN + OH = 0.5LIMNB + 0.32LIMO3 + 0.18LIMKO2 + 0.5NO2 : 1.1d-10 ; LIMN + O3 = CH2O + 0.5NO2 + 0.4LIMO3 + 0.5LIMNB : 8.3d-18 ; LIMN + NO3 = NO2 + LIMNB + AROMRO2 : 2.6d-13 ; LIMKO2 + NO = 0.16LIMNB + 0.84NO2 + 0.84LIMKB + 0.84HO2 : GCARR_ac(2.7d-12, 360.0d0); LIMKO2 + HO2 = LIMO3H : GCARR_ac(2.66d-13, 1300.0d0); LIMKO2 + NO3 = NO2 + LIMKB + HO2 : 2.3d-12 ; LIMKO2 + MO2 = 0.75LIMKB + 0.25LIMO3H + 0.75CH2O + 0.25MOH + HO2 : GCARR_ac(3.75d-13, 500.0d0); LIMKB + OH = LIMO3 : 3.6d-11 ; LIMKB + NO3 = NO2 + LIMO3 : GCARR_ac(1.22d-11, -1862.0d0); LIMNB + OH = 0.5MONITS + 0.5NO2 + 0.5LIMO3 : 6.3d-12 ; LIMO3 + HO2 = 0.44OH + 0.15O3 + 0.44CO2 + 0.44MCO3 + 0.44RCHO + 0.176CH2O + 0.352R4O2 + 0.41LIMO3H + 0.15LIMO2H : GCARR_ac(2.66d-13, 1300.0d0); LIMO3 + NO = NO2 + CO2 + MCO3 + RCHO + 0.4CH2O + 0.8R4O2 : GCARR_ac(2.7d-12, 360.0d0); LIMO3 + NO2 = LIMPAN : GCJPLPR_abab(9.70d-29, 5.6d+00, 9.3d-12, 1.5d0, 0.6d0); LIMPAN = LIMO3 + NO2 : GCJPLEQ_acabab(9.30d-29, 14000.0d0, 9.7d-29, 5.6d0, 9.3d-12, 1.5d0, 0.6d0); LIMO3 + NO3 = NO2 + CO2 + MCO3 + RCHO + 0.4CH2O + 0.8R4O2 : 2.3d-12 ; LIMO3H + OH = LIMO3 : 9.73d-12 ; LIMO2H + OH = CO2 + MCO3 + RCHO + 0.4CH2O + 0.8R4O2 : 6.65d-12 ; PIO2 + HO2 = PIP : GCARR_ac(2.66d-13, 1300.0d0); PIO2 + NO = PIN : GCARR_ac(6.75d-13, 360.0d0); PIO2 + NO = NO2 + HO2 + 0.45MVK + 0.45ACET + 0.1CH2O + 0.675MYRCO : GCARR_ac(2.03d-12, 360.0d0); PIO2 + NO3 = NO2 + HO2 + 0.45MVK + 0.45ACET + 0.1CH2O + 0.675MYRCO : 2.3d-12 ; PIP + OH = 0.3OH + 0.7AROMRO2 + 0.3MVK + 0.3ACET + 0.1CH2O + 0.78MYRCO : GCARR_ac(6.05d-12, 440.0d0); PIP + O3 = 0.3OH + 0.7AROMRO2 + 0.3MVK + 0.3ACET + 0.1CH2O + 0.78MYRCO : GCARR_ac(1.35d-15, -520.0d0); PIP + NO3 = 0.5OLNN + 0.5NO2 + 0.15OH + 0.35AROMRO2 + 0.15MVK + 0.15ACET + 0.05CH2O + 0.39MYRCO : GCARR_ac(1.06d-12, 490.0d0); PIN + OH = 0.7AROMRO2 + 0.7MONITU + 0.3NO2 + 0.3MYRCO : GCARR_ac(6.05d-12, 440.0d0); PIN + O3 = 0.7AROMRO2 + 0.7MONITU + 0.3NO2 + 0.3MYRCO : GCARR_ac(1.35d-15, -520.0d0); PIN + NO3 = 0.5OLNN + 1.15NO2 + 0.35AROMRO2 + 0.35MONITU + 0.15MYRCO : GCARR_ac(1.06d-12, 490.0d0); MYRCO + OH = HO2 + AROMRO2 + 1.5CH2O + MEK + 0.5ACET + 0.5MVK + 0.5GLYC : GCARR_ac(6.05d-12, 440.0d0); MYRCO + O3 = OH + AROMRO2 + 1.5CH2O + MEK + 0.5ACET + 0.5MVK + 0.5GLYC : GCARR_ac(1.35d-15, -520.0d0); MYRCO + NO3 = 0.5OLNN + 0.5NO2 + 0.5HO2 + 0.5AROMRO2 + 0.75CH2O + 0.5MEK + 0.25ACET + 0.25MVK + 0.25GLYC: GCARR_ac(1.06d-12, 490.0d0); APINO2 + MO2 = PINAL + 1.75HO2 + 0.25MOH + 0.75CH2O : GCARR_ac(3.75d-13, 500.0d0); APINO2 + MCO3 = PINAL + HO2 + 0.1ACTA + 0.9CO2 + 0.9MO2 : GCARR_ac(1.87d-12, 500.0d0); BPINO2 + MO2 = 1.75HO2 + 0.25MOH + 1.75CH2O + BPINO : GCARR_ac(3.75d-13, 500.0d0); BPINO2 + MCO3 = BPINO + CH2O + HO2 + 0.1ACTA + 0.9CO2 + 0.9MO2 : GCARR_ac(1.87d-12, 500.0d0); LIMO2 + MO2 = 0.37LIMKET + 0.63LIMAL + 1.75HO2 + 0.25MOH + 0.75CH2O : GCARR_ac(3.75d-13, 500.0d0); LIMO2 + MCO3 = 0.37LIMKET + 0.63LIMAL + HO2 + 0.1ACTA + 0.9CO2 + 0.9MO2 : GCARR_ac(1.87d-12, 500.0d0); PIO2 + MO2 = 0.45MVK + 0.45ACET + 0.675MYRCO + 1.75HO2 + 0.25MOH + 0.85CH2O : GCARR_ac(3.75d-13, 500.0d0); PIO2 + MCO3 = 0.45MVK + 0.45ACET + 0.1CH2O + 0.675MYRCO + HO2 + 0.1ACTA + 0.9CO2 + 0.9MO2 : GCARR_ac(1.87d-12, 500.0d0); PINO3 + MO2 = CH2O + 0.75HO2 + 0.25PINONIC + 0.75C96O2 + 0.75CO2 : GCARR_ac(1.87d-12, 500.0d0); PINO3 + MCO3 = C96O2 + 2CO2 + MO2 : GCARR_ac(3.75d-14, 500.0d0); LIMO3 + MO2 = 0.75HO2 + CH2O + 0.75CO2 + 0.75MCO3 + 0.75RCHO + 0.3CH2O + 0.6R4O2 + 0.25LIMO2H : GCARR_ac(1.87d-12, 500.0d0); LIMO3 + MCO3 = CO2 + MO2 + MCO3 + RCHO + 0.4CH2O + 0.8R4O2 : GCARR_ac(3.75d-14, 500.0d0); // OLNN + NO = HO2 + NO2 + MONITS : 4.00d-12; {2017/07/14; Browne2014,Goliff2013; KRT,JAF,CCM,EAM,KHB,RHS} OLND + NO = 2.000NO2 + 0.287CH2O + 1.240RCHO + 0.464MEK : 4.00d-12; {2017/07/14; Goliff2013; KRT,JAF,CCM,EAM,KHB,RHS} OLNN + HO2 = 0.700MONITS + 0.300MONITU : GCARR_ac(1.66d-13, 1300.0d0); {2017/07/14; Browne2014,Roberts1992; KRT,JAF,CCM,EAM,KHB,RHS} OLND + HO2 = 0.700MONITS + 0.300MONITU : GCARR_ac(1.66d-13, 1300.0d0); {2017/07/14; Browne2014,Roberts1992; KRT,JAF,CCM,EAM,KHB,RHS} OLNN + MO2 = 2.000HO2 + CH2O + 0.700MONITS + 0.300MONITU : GCARR_ac(1.60d-13, 708.0d0); {2017/07/14; Browne2014,Roberts1992; KRT,JAF,CCM,EAM,KHB,RHS} OLND + MO2 = 0.500HO2 + 0.500NO2 + 0.850CH2O + 0.930RCHO + 0.340MEK + 0.250MOH + 0.250ROH + 0.350MONITS + 0.150MONITU : GCARR_ac(9.68d-14, 708.0d0); {2017/07/14; Browne2014,Roberts1992; KRT,JAF,CCM,EAM,KHB,RHS; 2023/04/18; Bates2023; KHB} OLNN + MCO3 = HO2 + MO2 + 0.700MONITS + 0.300MONITU + CO2 : GCARR_ac(8.85d-13, 765.0d0); {2017/07/14; Browne2014,Roberts1992; KRT,JAF,CCM,EAM,KHB,RHS; 2023/04/18; Bates2023; KHB} OLND + MCO3 = 0.500MO2 + NO2 + 0.287CH2O + 1.240RCHO + 0.464MEK + 0.500RCOOH : GCARR_ac(5.37d-13, 765.0d0); {2017/07/14; Browne2014,Roberts1992; KRT,JAF,CCM,EAM,KHB,RHS} OLNN + NO3 = HO2 + NO2 + 0.700MONITS + 0.300MONITU : 1.20d-12; {2017/07/14; Browne2014,Roberts1992; KRT,JAF,CCM,EAM,KHB,RHS} OLND + NO3 = 2.000NO2 + 0.287CH2O + 1.240RCHO + 0.464MEK : 1.20d-12; {2017/07/14; Browne2014,Roberts1992; KRT,JAF,CCM,EAM,KHB,RHS} OLNN + OLNN = HO2 + 1.400MONITS + 0.600MONITU : GCARR_ac(7.00d-14, 1000.0d0); {2017/07/14; Browne2014,Roberts1992; KRT,JAF,CCM,EAM,KHB,RHS} OLNN + OLND = 0.500HO2 + 0.500NO2 + 0.202CH2O + 0.640RCHO + 0.149MEK + 1.050MONITS + 0.450MONITU : GCARR_ac(4.25d-14, 1000.0d0); {2017/07/14; Browne2014,Roberts1992; KRT,JAF,CCM,EAM,KHB,RHS} OLND + OLND = NO2 + 0.504CH2O + 1.210RCHO + 0.285MEK + 0.700MONITS + 0.300MONITU : GCARR_ac(2.96d-14, 1000.0d0); {2017/07/14; Browne2014,Roberts1992; KRT,JAF,CCM,EAM,KHB,RHS} MONITS + OH = HONIT : 4.80d-12; {2017/07/14; Browne2014; KRT,JAF,CCM,EAM,KHB,RHS} MONITU + OH = HONIT : 7.29d-11; {2017/07/14; Browne2014; KRT,JAF,CCM,EAM,KHB,RHS} MONITU + O3 = HONIT : 1.67d-16; {2017/07/14; Browne2014; KRT,JAF,CCM,EAM,KHB,RHS} MONITU + NO3 = HONIT : GCARR_ac(3.15d-13, -448.0d0); {2017/07/14; Fisher2016; KRT,JAF,CCM,EAM,KHB,RHS} MONITS + NO3 = HONIT : GCARR_ac(3.15d-13, -448.0d0); {2017/07/14; Fisher2016; KRT,JAF,CCM,EAM,KHB,RHS} IONITA = INDIOL + HNO3 : 2.78d-04; {2017/07/14; Fisher2016; KRT,JAF,CCM,EAM,KHB,RHS} MONITA = INDIOL + HNO3 : 2.78d-04; {2017/07/14; Fisher2016; KRT,JAF,CCM,EAM,KHB,RHS} HONIT + OH = NO3 + HAC : GCJPLPR_abab(3.9d-31,7.2d0,1.5d-13,4.8d0,0.6d0) + GCJPLAC_ababac(3.9d-31,7.2d0,1.5d-13,4.8d0,3.7d-14,2.4d2,0.6d0); {2023/04/18; JPL 19-5; KHB} MENO3 + OH = CH2O + NO2 : GCARR_ac(8.00d-13, -1000.0d0); {2019/05/16; JPL 15-10,Fisher2018; JAF} ETNO3 + OH = ALD2 + NO2 : GCARR_ac(1.00d-12, -490.0d0); {2019/05/16; JPL 15-10,Fisher2018; JAF} IPRNO3 + OH = ACET + NO2 : GCARR_ac(1.20d-12, -320.0d0); {2019/05/16; JPL 15-10,Fisher2018; JAF} NPRNO3 + OH = RCHO + NO2 : 7.10d-13; {2019/05/16; JPL 15-10,Fisher2018; JAF} ISOP + O3 = 0.416MACR + 0.177MVK + 0.28OH + 0.407CO2 + 0.407CO + 0.407MO2 + 0.16HO2 + 0.58CH2OO + 0.827CH2O + 0.013H2O2 : GCARR_ac(1.10d-14, -2000.0d0); {2019/11/06; Bates2019; KHB; 2023/04/18; JPL 19-5; KHB} ISOP + OH = LISOPOH + IHOO1 : GC_ISO1(1.7d-11, 3.90d2, 9.33d-2, 5.05d15, -1.22d4, 1.79d14, -8.830d3); {2019/11/06; Bates2019; KHB} ISOP + OH = LISOPOH + IHOO4 : GC_ISO1(1.0d-11, 3.90d2, 2.26d-1, 2.22d9, -7.160d3, 1.75d14, -9.054d3); {2019/11/06; Bates2019; KHB} ISOP + OH = 0.3MCO3 + 0.3MGLY + 0.3CH2O + 0.15HPALD3 + 0.25HPALD1 + 0.4HO2 + 0.6CO + 1.5OH + 0.3HPETHNL + LISOPOH : GC_ISO2(1.7d-11, 3.90d2, 9.33d-2, 5.05d15, -1.22d4, 1.79d14, -8.830d3); {2019/11/06; Bates2019; KHB} ISOP + OH = 0.3CH2O + 0.15HPALD4 + 0.25HPALD2 + 1.5OH + 0.9CO + 0.7HO2 + 0.3MGLY + 0.3ATOOH + LISOPOH : GC_ISO2(1.0d-11, 3.90d2, 2.26d-1, 2.22d9, -7.160d3, 1.75d14, -9.054d3); {2019/11/06; Bates2019; KHB} IHOO1 + HO2 = 0.063MVK + 0.063OH + 0.063HO2 + 0.063CH2O + 0.937RIPA : ARRPLUS_abde(2.12d-13, -1300d0, 1.1644d0, -7.0485d-4); {2019/11/06; Bates2019; KHB} IHOO1 + HO2 = RIPC : ARRPLUS_abde(2.12d-13, -1300d0, -0.1644d0, 7.0485d-4); {2019/11/06; Bates2019; KHB} IHOO4 + HO2 = 0.063MACR + 0.063OH + 0.063HO2 + 0.063CH2O + 0.937RIPB : ARRPLUS_abde(2.12d-13, -1300d0, 1.2038d0, -9.0435d-4); {2019/11/06; Bates2019; KHB} IHOO4 + HO2 = RIPD : ARRPLUS_abde(2.12d-13, -1300d0, -0.2038d0, 9.0435d-4); {2019/11/06; Bates2019; KHB} IHOO1 = CH2O + OH + MVK : ARRPLUS_abde(1.04d11, 9.746d3, 1.1644d0, -7.0485d-4); {2019/11/06; Bates2019; KHB} IHOO1 = 0.15HPALD3 + 0.25HPALD1 + 0.4HO2 + 0.6CO + 1.5OH + 0.3CH2O + 0.3MGLY + 0.3HPETHNL + 0.3MCO3 : TUNPLUS_abcde(5.05d15, -1.22d4, 1.0d8, -0.0128d0, 5.1242d-5); {2019/11/06; Bates2019; KHB} IHOO4 = MACR + OH + CH2O : ARRPLUS_abde(1.88d11, 9.752d3, 1.2038d0, -9.0435d-4); {2019/11/06; Bates2019; KHB} IHOO4 = 0.15HPALD4 + 0.25HPALD2 + 1.5OH + 0.3CH2O + 0.9CO + 0.7HO2 + 0.3MGLY + 0.3ATOOH : TUNPLUS_abcde(2.22d9, -7.160d3, 1.0d8, -0.0306d0, 1.1346d-4); {2019/11/06; Bates2019; KHB} IHOO1 + IHOO1 = 2MVK + 2HO2 + 2CH2O : ARRPLUS_ade(6.92d-14, 1.1644d0, -7.0485d-4); {2019/11/06; Bates2019; KHB} IHOO4 + IHOO4 = 2MACR + 2HO2 + 2CH2O : ARRPLUS_ade(5.74d-12, 1.2038d0, -9.0435d-4); {2019/11/06; Bates2019; KHB} IHOO1 + IHOO4 = MACR + MVK + 2HO2 + 2CH2O : ARRPLUS_ade(1.54d-12, 2.3682d0, -1.6092d-3); {2019/11/06; Bates2019; KHB} IHOO1 + IHOO1 = HO2 + HC5A + CO + OH + MVKHP : ARRPLUS_ade(2.49d-12, -0.1644d0, 7.0485d-4); {2019/11/06; Bates2019; KHB} IHOO4 + IHOO4 = HO2 + HC5A + CO + OH + MCRHP : ARRPLUS_ade(3.94d-12, -0.2038d0, 9.0435d-4); {2019/11/06; Bates2019; KHB} IHOO1 + IHOO4 = HO2 + HC5A + CO + OH + 0.5MVKHP + 0.5MCRHP : ARRPLUS_ade(1.54d-12, -0.3682d0, 1.6092d-3); {2019/11/06; Bates2019; KHB} IHOO1 + MO2 = MVK + 2HO2 + 2CH2O : ARRPLUS_ade(2.0d-12, 1.1644d0, -7.0485d-4); {2019/11/06; Bates2019; KHB} IHOO1 + MO2 = CH2O + 0.5HC5A + 1.5HO2 + 0.5MVKHP + 0.5CO + 0.5OH : ARRPLUS_ade(2.0d-12, -0.1644d0, 7.0485d-4); {2019/11/06; Bates2019; KHB} IHOO4 + MO2 = MACR + 2HO2 + 2CH2O : ARRPLUS_ade(2.0d-12, 1.2038d0, -9.0435d-4); {2019/11/06; Bates2019; KHB} IHOO4 + MO2 = CH2O + 0.5HC5A + 1.5HO2 + 0.5MCRHP + 0.5CO + 0.5OH : ARRPLUS_ade(2.0d-12, -0.2038d0, 9.0435d-4); {2019/11/06; Bates2019; KHB} IHOO1 + NO = IHN2 : GC_NIT(2.7d-12, 3.50d2, 1.19d0, 6.0d0, 1.1644d0, 7.05d-4); {2019/11/06; Bates2019; KHB} IHOO1 + NO = NO2 + MVK + HO2 + CH2O : GC_ALK(2.7d-12, 3.50d2, 1.19d0, 6.0d0, 1.1644d0, 7.05d-4); {2019/11/06; Bates2019; KHB} IHOO1 + NO = IHN4 : GC_NIT(2.7d-12, 3.50d2, 1.421d0, 6.0d0, -0.1644d0, -7.05d-4); {2019/11/06; Bates2019; KHB} IHOO1 + NO = NO2 + 0.45HC5A + 0.45HO2 + 0.55MVKHP + 0.55CO + 0.55OH : GC_ALK(2.7d-12, 3.50d2, 1.421d0, 6.0d0, -0.1644d0, -7.05d-4); {2019/11/06; Bates2019; KHB} IHOO4 + NO = IHN3 : GC_NIT(2.7d-12, 3.50d2, 1.297d0, 6.0d0, 1.2038d0, 9.04d-4); {2019/11/06; Bates2019; KHB} IHOO4 + NO = NO2 + MACR + HO2 + CH2O : GC_ALK(2.7d-12, 3.50d2, 1.297d0, 6.0d0, 1.2038d0, 9.04d-4); {2019/11/06; Bates2019; KHB} IHOO4 + NO = IHN1 : GC_NIT(2.7d-12, 3.50d2, 1.421d0, 6.0d0, -0.2038d0, -9.04d-4); {2019/11/06; Bates2019; KHB} IHOO4 + NO = NO2 + 0.45HO2 + 0.45HC5A + 0.55MCRHP + 0.55CO + 0.55OH : GC_ALK(2.7d-12, 3.50d2, 1.421d0, 6.0d0, -0.2038d0, -9.04d-4); {2019/11/06; Bates2019; KHB} HPALD1 + OH = 0.035MVK + 0.315HPALD1OO + 0.15IDC + 0.33MVKHP + 0.085HO2 + 0.085CH2O + 0.085MGLY + 0.085ICHE + 1.085OH + 0.45CO : GCARR_ac(1.17d-11, 450.0d0); {2019/11/06; Bates2019; KHB} HPALD2 + OH = 0.035MACR + 0.315HPALD2OO + 0.15IDC + 0.17MCRHP + 0.165HO2 + 0.165CH2O + 0.165MGLY + 0.165ICHE + 1.165OH + 0.37CO : GCARR_ac(1.17d-11, 450.0d0); {2019/11/06; Bates2019; KHB} HPALD3 + OH = OH + 0.230MVK + 0.420CO + 0.190MVKHP + 0.580ICHE : GCARR_ac(2.20d-11, 390.0d0); {2019/11/06; Bates2019; KHB} HPALD4 + OH = OH + 0.770ICHE + 0.230CO + 0.090MCRHP + 0.140MACR : GCARR_ac(3.50d-11, 390.0d0); {2019/11/06; Bates2019; KHB} HC5A + OH = 1.065OH + 0.355CO2 + 0.638CO + 0.355MGLY + 0.283HO2 + 0.294IEPOXAOO + 0.125MVKHP + 0.158MCRHP + 0.068IEPOXBOO : GCARR_ac(4.64d-12, 650.0d0); {2019/11/06; Bates2019; KHB} ICHE + OH = OH + 1.5CO + 0.5CH2O + 0.5MGLY + 0.5HAC : GCARR_ac(9.85d-12, 410.0d0); {2019/11/06; Bates2019; KHB} IDC + OH = CO + HO2 + MVKPC : GCARR_ac(3.00d-12, 650.0d0); {2019/11/06; Bates2019; KHB} RIPA + OH = 0.655IHPOO3 + 0.345IHPOO1 + 0.005LVOC : GCARR_ac(2.47d-12, 390.0d0); {2019/11/06; Bates2019; KHB} RIPA + OH = 0.67IEPOXA + 0.33IEPOXB + OH + 0.005LVOC : GC_EPO_a(1.62d-11, 3.90d2, 4.77d-21); {2019/11/06; Bates2019; KHB} RIPB + OH = 0.655IHPOO3 + 0.345IHPOO2 + 0.005LVOC : GCARR_ac(4.35d-12, 390.0d0); {2019/11/06; Bates2019; KHB} RIPB + OH = 0.68IEPOXA + 0.32IEPOXB + OH + 0.005LVOC : GC_EPO_a(2.85d-11, 390.0d0, 4.77d-21); {2019/11/06; Bates2019; KHB} RIPA + OH = 0.75IHOO1 + 0.125MVK + 0.25CO + 0.125MVKHP + 0.25HO2 + 0.005LVOC : GCARR_ac(6.10d-12, 200.0d0); {2019/11/06; Bates2019; KHB} RIPB + OH = 0.51IHOO4 + 0.16ICHOO + 0.33CO + 0.33HO2 + 0.165MACR + 0.165MCRHP + 0.005LVOC : GCARR_ac(4.10d-12, 200.0d0); {2019/11/06; Bates2019; KHB} RIPC + OH = 0.595IHPOO1 + 0.03IHOO1 + 0.06HC5A + 0.024HO2 + 0.009HPALD3 + 0.015HPALD1 + 0.405OH + 0.036CO + 0.018CH2O + 0.018MGLY + 0.018HPETHNL + 0.018MCO3 + 0.255IEPOXD + 0.005LVOC : GCARR_ac(3.53d-11, 390.0d0); {2019/11/06; Bates2019; KHB} RIPD + OH = 0.255IHPOO2 + 0.03IHOO4 + 0.745OH + 0.06HC5A + 0.009HPALD4 + 0.015HPALD2 + 0.042HO2 + 0.018CH2O + 0.054CO + 0.018MGLY + 0.018ATOOH + 0.595IEPOXD + 0.005LVOC : GCARR_ac(3.53d-11, 390.0d0); {2019/11/06; Bates2019; KHB} IHPOO1 = 0.176ICPDH + 0.824IDHPE + OH : GCARR_ac(1.59d+13, -10000.0d0); {2019/11/06; Bates2019; KHB} IHPOO1 + NO = 0.716MCRHP + 0.716CH2O + 0.284HPETHNL + 0.284HAC + NO2 + HO2 : GC_ALK(2.7d-12, 3.50d2, 2.1d0, 9.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IHPOO1 + NO = ITHN : GC_NIT(2.7d-12, 3.50d2, 2.1d0, 9.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IHPOO1 + HO2 = 0.725IDHDP + 0.14MCRHP + 0.14CH2O + 0.135HPETHNL + 0.135HAC + 0.275OH + 0.275HO2 : GCARR_ac(2.47d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} IHPOO2 = 0.548ICPDH + 0.452IDHPE + OH : GCARR_ac(2.91d+13, -10000.0d0); {2019/11/06; Bates2019; KHB} IHPOO2 + NO = 0.706MVKHP + 0.706CH2O + 0.294GLYC + 0.294ATOOH + NO2 + HO2 : GC_ALK(2.7d-12, 3.50d2, 2.315d0, 9.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IHPOO2 + NO = ITHN : GC_NIT(2.7d-12, 3.50d2, 2.315d0, 9.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IHPOO2 + HO2 = 0.725IDHDP + 0.14MVKHP + 0.14CH2O + 0.135GLYC + 0.135ATOOH + 0.275OH + 0.275HO2 : GCARR_ac(2.47d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} IHPOO3 = IDHPE : GCARR_ac(1.875d+13, -10000.0d0); {2019/11/06; Bates2019; KHB} IHPOO3 + NO = GLYC + HAC + NO2 + OH : GC_ALK(2.7d-12, 3.50d2, 3.079d0, 9.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IHPOO3 + NO = ITHN : GC_NIT(2.7d-12, 3.50d2, 3.079d0, 9.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IHPOO3 + HO2 = 0.35IDHDP + 0.65GLYC + 0.65HAC + 1.3OH : GCARR_ac(2.47d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} IEPOXD + OH = 0.75ICHE + 0.75HO2 + 0.25ICHOO : GCARR_ac(3.22d-11, -400.0d0); {2019/11/06; Bates2019; KHB} IEPOXA + OH = ICHE + HO2 : GCARR_ac(1.05d-11, -400.0d0); {2019/11/06; Bates2019; KHB} IEPOXA + OH = 0.67IEPOXAOO + 0.33IEPOXBOO : GC_EPO_a(5.82d-11, -4.00d2, 1.14d-20); {2019/11/06; Bates2019; KHB} IEPOXB + OH = ICHE + HO2 : GCARR_ac(8.25d-12, -400.0d0); {2019/11/06; Bates2019; KHB} IEPOXB + OH = 0.81IEPOXAOO + 0.19IEPOXBOO : GC_EPO_a(3.75d-11, -4.00d2, 8.91d-21); {2019/11/06; Bates2019; KHB} IEPOXAOO = IDCHP + HO2 : GCARR_ac(1.875d+13, -10000.0d0); {2019/11/06; Bates2019; KHB} IEPOXAOO = OH + CO + MVKDH : GCARR_ac(1.0d+7, -5000.0d0); {2019/11/06; Bates2019; KHB} IEPOXAOO + HO2 = 0.13CO + 0.65OH + 0.65HO2 + 0.13MVKDH + 0.52GLYC + 0.52MGLY + 0.35ICPDH : GCARR_ac(2.38d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} IEPOXAOO + NO = 0.2MVKDH + HO2 + NO2 + 0.2CO + 0.8GLYC + 0.8MGLY : GC_ALK(2.7d-12, 3.50d2, 13.098d0, 8.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IEPOXAOO + NO = ITCN : GC_NIT(2.7d-12, 3.50d2, 13.098d0, 8.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IEPOXBOO = IDCHP + HO2 : GCARR_ac(1.875d+13, -10000.0d0); {2019/11/06; Bates2019; KHB} IEPOXBOO = CO + OH + MCRDH : GCARR_ac(1.0d+7, -5000.0d0); {2019/11/06; Bates2019; KHB} IEPOXBOO + NO = NO2 + HO2 + 0.8GLYX + 0.8HAC + 0.2CO + 0.2MCRDH : GC_ALK(2.7d-12, 3.50d2, 16.463d0, 8.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IEPOXBOO + NO = ITCN : GC_NIT(2.7d-12, 3.50d2, 16.463d0, 8.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IEPOXBOO + HO2 = 0.13CO + 0.65OH + 0.65HO2 + 0.13MCRDH + 0.52HAC + 0.52GLYX + 0.35ICPDH : GCARR_ac(2.38d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} ICHOO + HO2 = 0.35ICPDH + 0.65OH + 0.52CO + 0.13MVKHC + 0.65CH2O + 0.65HO2 + 0.52HAC : GCARR_ac(2.38d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} ICHOO + NO = ITCN : GC_NIT(2.7d-12, 3.50d2, 13.098d0, 8.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} ICHOO + NO = NO2 + 0.8HAC + 0.8CO + CH2O + HO2 + 0.2MVKHC : GC_ALK(2.7d-12, 3.50d2, 13.098d0, 8.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} ICHOO = HO2 + 2.000CO + HAC + OH : GCARR_ac(1.875d+13, -10000.0d0); {2019/11/06; Bates2019; KHB} HPALD1OO + NO = NO2 + OH + CO2 + MVK : GCARR_ac(2.70d-12, 350.0d0); {2019/11/06; Bates2019; KHB} HPALD1OO + HO2 = OH + OH + CO2 + MVK : GCARR_ac(2.38d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} HPALD2OO + NO = NO2 + OH + CO2 + MACR : GCARR_ac(2.70d-12, 350.0d0); {2019/11/06; Bates2019; KHB} HPALD2OO + HO2 = OH + OH + CO2 + MACR : GCARR_ac(2.38d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} IHN2 + OH = ISOPNOO1 : GCARR_ac(7.14d-12, 390.0d0); {2019/11/06; Bates2019; KHB} IHN2 + OH = 0.67IEPOXA + 0.33IEPOXB + NO2 : GC_EPO_a(6.30d-12, 390.0d0, 1.62d-19); {2019/11/06; Bates2019; KHB} IHN3 + OH = ISOPNOO2 : GCARR_ac(1.02d-11, 390.0d0); {2019/11/06; Bates2019; KHB} IHN3 + OH = 0.67IEPOXA + 0.33IEPOXB + NO2 : GC_EPO_a(1.05d-11, 390.0d0, 2.49d-19); {2019/11/06; Bates2019; KHB} IHN1 + OH = IEPOXD + NO2 : GC_EPO_a(1.55d-11, 390.0d0, 2.715d-19); {2019/11/06; Bates2019; KHB} IHN1 + OH = IDHNDOO1 : GCARR_ac(2.04d-11, 390.0d0); {2019/11/06; Bates2019; KHB} IHN4 + OH = IEPOXD + NO2 : GC_EPO_a(9.52d-12, 390.0d0, 2.715d-19); {2019/11/06; Bates2019; KHB} IHN4 + OH = IDHNDOO2 : GCARR_ac(2.95d-11, 390.0d0); {2019/11/06; Bates2019; KHB} IHN1 + OH = 0.6OH + 0.6CO + 0.6MCRHNB + 0.4HO2 + 0.4ICN : GCARR_ac(7.5d-12, 20.0d0); {2019/11/06; Bates2019; KHB} IHN4 + OH = 0.6OH + 0.6CO + 0.6MVKN + 0.4HO2 + 0.4ICN : GCARR_ac(7.5d-12, 20.0d0); {2019/11/06; Bates2019; KHB} ISOPNOO1 = ITCN + HO2 : GCARR_ac(1.875d+13, -10000.0d0); {2019/11/06; Bates2019; KHB} ISOPNOO1 + HO2 = 0.482ITHN + 0.059MCRHN + 0.059CH2O + 0.459GLYC + 0.459HAC + 0.059HO2 + 0.459NO2 + 0.518OH : GCARR_ac(2.60d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} ISOPNOO1 + NO = 0.272MCRHN + 0.272CH2O + 0.728GLYC + 0.728HAC + 0.272HO2 + 1.728NO2 : GC_ALK(2.7d-12, 350.0d0, 6.32d0, 11.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} ISOPNOO1 + NO = IDN : GC_NIT(2.7d-12, 350.0d0, 6.32d0, 11.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} ISOPNOO2 = ITCN + HO2 : GCARR_ac(1.875d+13, -10000.0d0); {2019/11/06; Bates2019; KHB} ISOPNOO2 + HO2 = 0.401ITHN + 0.599MVKN + 0.599CH2O + 0.599HO2 + 0.599OH : GCARR_ac(2.60d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} ISOPNOO2 + NO = MVKN + CH2O + HO2 + NO2 : GC_ALK(2.7d-12, 350.0d0, 7.941d0, 11.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} ISOPNOO2 + NO = IDN : GC_NIT(2.7d-12, 350.0d0, 7.941d0, 11.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IDHNDOO1 = ITCN + HO2 : GCARR_ac(1.256d+13, -10000.0d0); {2019/11/06; Bates2019; KHB} IDHNDOO2 = ITCN + HO2 : GCARR_ac(5.092d+12, -10000.0d0); {2019/11/06; Bates2019; KHB} IDHNDOO1 + HO2 = 0.418ITHN + 0.551PROPNN + 0.551GLYC + 0.031MCRHNB + 0.031CH2O + 0.582HO2 + 0.582OH : GCARR_ac(2.60d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} IDHNDOO1 + NO = 0.935PROPNN + 0.935GLYC + 0.065MCRHNB + 0.065CH2O + HO2 + NO2 : GC_ALK(2.7d-12, 350.0d0, 4.712d0, 11.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IDHNDOO1 + NO = IDN : GC_NIT(2.7d-12, 350.0d0, 4.712d0, 11.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IDHNDOO2 + HO2 = 0.494ITHN + 0.441HAC + 0.441ETHLN + 0.065MVKN + 0.065CH2O + 0.506OH + 0.506HO2 : GCARR_ac(2.60d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} IDHNDOO2 + NO = 0.858HAC + 0.858ETHLN + 0.142MVKN + 0.142CH2O + HO2 + NO2 : GC_ALK(2.7d-12, 350.0d0, 2.258d0, 11.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IDHNDOO2 + NO = IDN : GC_NIT(2.7d-12, 350.0d0, 2.258d0, 11.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IDHNBOO + HO2 = 0.379HO2 + 0.379OH + 0.621ITHN + 0.094MCRHNB + 0.242GLYC + 0.242PROPNN + 0.010MVKN + 0.033HAC + 0.033ETHLN + 0.104CH2O : GCARR_ac(2.60d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} IDHNBOO + NO = 0.355MCRHNB + 0.546PROPNN + 0.546GLYC + 0.028MVKN + 0.071ETHLN + 0.071HAC + HO2 + NO2 + 0.383CH2O : GC_ALK(2.7d-12, 350.0d0, 1.851d0, 11.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IDHNBOO + NO = IDN : GC_NIT(2.7d-12, 350.0d0, 1.851d0, 11.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} ISOP + NO3 = 0.465INO2B + 0.535INO2D + LISOPNO3 : GCARR_ac(2.95d-12, -450.0d0); {2019/11/06; Bates2019; KHB} INO2B + HO2 = 0.473INPB + 0.048MACR + 0.479MVK + 0.527OH + 0.527CH2O + 0.527NO2 : GCARR_ac(2.47d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} INO2D + HO2 = INPD : GCARR_ac(2.47d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} INO2B + INO2B = 1.737MVK + 0.123MACR + 1.860CH2O + 1.860NO2 + 0.070INPB + 0.070ICN : 1.61d-12; {2019/11/06; Bates2019; KHB} INO2B + INO2D = 0.399INPB + 0.544MVK + 0.532ICN + 0.563NO2 + 0.474INA + 0.089HO2 + 0.019MACR + 0.563CH2O + 0.032IHN1 : 2.56d-12; {2019/11/06; Bates2019; KHB} INO2D + INO2D = 0.064HO2 + 0.340INA + 0.862ICN + 0.671IHN1 + 0.127IHN4 : 3.71d-12; {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} INO2D + MO2 = 0.298IHN1 + 0.057IHN4 + 0.244INA + 0.401ICN + 0.355MOH + 0.336HO2 + 0.645CH2O : 1.18d-12; {2019/11/06; Bates2019; KHB} INO2B + MO2 = 0.355INPB + 0.583MVK + 0.028MACR + 0.034ICN + 0.611HO2 + 1.577CH2O + 0.611NO2 + 0.034MOH : 2.80d-13; {2019/11/06; Bates2019; KHB} INO2B + MCO3 = CH2O + NO2 + MO2 + 0.903MVK + 0.097MACR + CO2 : 1.92d-12; {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} INO2D + MCO3 = MO2 + 0.841INA + 0.159HO2 + 0.159ICN + CO2 : 7.71d-12; {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} INO2B + NO3 = CH2O + 2NO2 + 0.903MVK + 0.097MACR : 2.3d-12; {2019/11/06; Bates2019; KHB} INO2D + NO3 = NO2 + 0.841INA + 0.159HO2 + 0.159ICN : 2.3d-12; {2019/11/06; Bates2019; KHB} INO2B + NO = 2NO2 + CH2O + 0.096MACR + 0.904MVK : GC_ALK(2.7d-12, 350.0d0, 12.915d0, 9.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} INO2B + NO = IDN : GC_NIT(2.7d-12, 350.0d0, 12.915d0, 9.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} INO2D + NO = NO2 + 0.159HO2 + 0.159ICN + 0.841INA : GC_ALK(2.7d-12, 350.0d0, 1.412d0, 9.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} INO2D + NO = IDN : GC_NIT(2.7d-12, 350.0d0, 1.412d0, 9.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} INA + O2 = ICN + HO2 : GCARR_ac(2.50d-14, -300.0d0); {2019/11/06; Bates2019; KHB} INA = IDHNBOO : GCARR_ac(1.00d+20, -10000.0d0); {2019/11/06; Bates2019; KHB} INPB + OH = 0.670IHPNBOO + 0.33IDHNBOO : GCARR_ac(5.88d-12, 390.0d0); {2019/11/06; Bates2019; KHB} INPD + OH = IHPNDOO : GCARR_ac(1.61d-11, 390.0d0); {2019/11/06; Bates2019; KHB} INPB + OH = OH + ITHN : GC_EPO_a(4.471d-12, 390.0d0, 2.28d-20); {2019/11/06; Bates2019; KHB} INPD + OH = OH + ITHN : GC_EPO_a(8.77d-12, 390.0d0, 2.185d-20); {2019/11/06; Bates2019; KHB} INPD + OH = NO2 + ICHE : GC_EPO_a(1.493d-11, 390.0d0, 2.715d-19); {2019/11/06; Bates2019; KHB} INPB + OH = INO2B : GCARR_ac(2.278d-12, 200.0d0); {2019/11/06; Bates2019; KHB} INPD + OH = INO2D : GCARR_ac(3.40d-12, 200.0d0); {2019/11/06; Bates2019; KHB} INPD + OH = ICN + OH : GCARR_ac(7.50d-12, 20.0d0); {2019/11/06; Bates2019; KHB} IHPNDOO = OH + ITCN : GCARR_ac(6.55d+12, -10000.0d0); {2019/11/06; Bates2019; KHB} IHPNBOO = OH + 0.5ITCN + 0.5ITHN : GCARR_ac(8.72d+12, -10000.0d0); {2019/11/06; Bates2019; KHB} IHPNBOO + HO2 = 0.234ITHN + 0.060MCRHNB + 0.340GLYC + 0.249HPETHNL + 0.004MCRHP + 0.008MVKN + 0.009ATOOH + 0.054MVKHP + 0.042HAC + 1.147OH + 0.326HO2 + 0.058NO2 + 0.126CH2O + 0.589PROPNN + 0.051ETHLN : GCARR_ac(2.64d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} IHPNDOO + HO2 = 0.387ITHN + 0.073MCRHNB + 0.471HPETHNL + 0.015MVKN + 0.054ATOOH + 0.646OH + 0.580HO2 + 0.088CH2O + 0.471PROPNN + 0.054ETHLN : GCARR_ac(2.64d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} IHPNBOO + NO = 0.384GLYC + 0.170MCRHNB + 0.303HPETHNL + 0.014MVKN + 0.051HAC + 0.013ATOOH + 0.059MVKHP + 0.006MCRHP + 0.687PROPNN + 0.064ETHLN + 0.249CH2O + 1.065NO2 + 0.500HO2 + 0.435OH : GC_ALK(2.7d-12, 350.0d0, 6.092d0, 12.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IHPNBOO + NO = IDN : GC_NIT(2.7d-12, 350.0d0, 6.092d0, 12.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IHPNDOO + NO = 0.291MCRHNB + 0.590HPETHNL + 0.070ATOOH + 0.049MVKN + 0.590PROPNN + 0.070ETHLN + 0.340CH2O + 1.000NO2 + 0.904HO2 + 0.096OH : GC_ALK(2.7d-12, 350.0d0, 4.383d0, 12.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} IHPNDOO + NO = IDN : GC_NIT(2.7d-12, 350.0d0, 4.383d0, 12.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} ICN + OH = NO2 + ICHE : GC_EPO_a(2.97d-12, 390.0d0, 2.715d-19); {2019/11/06; Bates2019; KHB} ICN + OH = 0.244OH + 0.539CO + 0.295HO2 + 0.378MCRHNB + 0.461ICNOO + 0.161MVKN : GCARR_ac(9.35d-12, 390.0d0); {2019/11/06; Bates2019; KHB} ICNOO + NO = 0.67ICNOO + 0.429CO2 + 0.33CO + 0.33HO2 + 0.231PROPNN + NO2 + 0.099ETHLN : GCARR_ac(2.70d-12, 350.0d0); {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} ICNOO + HO2 = 0.67ICNOO + 0.429CO2 + 0.33CO + 0.33HO2 + 0.231PROPNN + OH + 0.099ETHLN : GCARR_ac(2.54d-13, 1300.0d0); {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} IDN + OH = 0.565NO2 + 0.565ITHN + 0.435IDNOO : GCARR_ac(1.00d-11, 0.0d0); {2019/11/06; Bates2019; KHB} IDNOO + NO = PROPNN + 1.11NO2 + 0.11GLYC + 0.89ETHLN + 0.89HO2 : GCARR_ac(2.70d-12, 350.0d0); {2019/11/06; Bates2019; KHB} IDNOO + HO2 = 0.18IDN + 0.09NO2 + 0.09GLYC + 0.82OH + 0.73HO2 + 0.82PROPNN + 0.73ETHLN : GCARR_ac(2.71d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} MVK + OH = MVKOHOO : GCARR_ac(2.60d-12, 610.0d0); {2019/11/06; Bates2019; KHB} MVK + O3 = 0.545MGLY + 0.500CH2OO + 0.600CH2O + 0.380MCO3 + 0.100HO2 + 0.080OH + 0.280CO + 0.075PYAC + 0.045H2O2 : GCARR_ac(8.50d-16, -1520.0d0); {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} MACR + OH = 0.036ATOOH + 0.036CO + 0.036HO2 + 0.964MCROHOO : GCARR_ac(4.40d-12, 380.0d0); {2019/11/06; Bates2019; KHB} MACR + OH = MACR1OO : GCARR_ac(2.70d-12, 470.0d0); {2019/11/06; Bates2019; KHB} MACR + O3 = 0.880MGLY + 0.880CH2OO + 0.120CH2O + 0.120OH + 0.120CO + 0.120MCO3 : GCARR_ac(1.50d-15, -2110.0d0); {2019/11/06; Bates2019; KHB; 2023/04/18; JPL 19-5; KHB} MACR + NO3 = 0.320HNO3 + 0.320MACR1OO + 0.680OH + 0.680CO + 0.680PROPNN : GCARR_ac(1.80d-13, -1190.0d0); {2019/11/06; Bates2019; KHB} MVKN + OH = 0.241CH2O + 0.690NO3 + 0.020OH + 0.449MGLY + 0.449HCOOH + 0.241PYAC + 0.290MVKHCB + 0.310NO2 + 0.040MCO3 : GCARR_ac(1.24d-12, 380.0d0); {2019/11/06; Bates2019; KHB} MVKHP + OH = 0.53MVKHC + 0.47MVKHCB + OH : 5.77d-11; {2019/11/06; Bates2019; KHB} MCRHP + OH = 0.77CO + OH + 0.77HAC + 0.23ATOOH + 0.23CO2 : GCARR_ac(2.70d-12, 470.0d0); {2019/11/06; Bates2019; KHB} MCRHN + OH = MACRNO2 : GCARR_ac(1.39d-11, 380.0d0); {2019/11/06; Bates2019; KHB} MCRHNB + OH = 0.250CO + OH + PROPNN + 0.750CO2 : GCARR_ac(2.70d-12, 470.0d0); {2019/11/06; Bates2019; KHB} C4HVP1 + NO = NO2 + MVKOHOO : GCARR_ac(2.70d-12, 350.0d0); {2019/11/06; Bates2019; KHB} C4HVP1 + HO2 = OH + MVKOHOO : GCARR_ac(1.93d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} C4HVP1 + NO2 = MVKN : 9.00d-12; {2019/11/06; Bates2019; KHB} C4HVP2 + NO = NO2 + MCROHOO : GCARR_ac(2.70d-12, 350.0d0); {2019/11/06; Bates2019; KHB} C4HVP2 + HO2 = OH + MCROHOO : GCARR_ac(1.93d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} C4HVP2 + NO2 = MCRHN : 9.00d-12; {2019/11/06; Bates2019; KHB} MCRENOL + OH = 0.75CO + 0.285OH + 0.715HO2 + 0.653PYAC + 0.097CO2 + 0.097MCO3 + 0.063MVKHCB + 0.187MGLY + 0.187HCOOH : GCARR_ac(3.71d-12, 983.0d0); {2019/11/06; Bates2019; KHB} MVKPC + OH = OH + CO + MGLY : GCARR_ac(5.00d-12, 470.0d0); {2019/11/06; Bates2019; KHB} MVKDH + OH = 0.4MVKHCB + 0.6MVKHC + HO2 : GCARR_ac(8.70d-12, 70.0d0); {2019/11/06; Bates2019; KHB} MVKHCB + OH = OH + MGLY + CO : GCARR_ac(5.00d-12, 470.0d0); {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} MVKHC + OH = 2CO + HO2 + MCO3 : GCARR_ac(2.00d-12, 70.0d0); {2019/11/06; Bates2019; KHB} MCRDH + OH = 0.16MVKHCB + HO2 + 0.84HAC + 0.84CO : GCARR_ac(2.4d-11, 70.0d0); {2019/11/06; Bates2019; KHB} MVKOHOO + HO2 = 0.360MCO3 + 0.360GLYC + 0.665OH + 0.305HO2 + 0.255MVKHC + 0.335MVKHP + 0.050MGLY + 0.050CH2O : GCARR_ac(2.12d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} MVKOHOO + NO = 0.758MCO3 + 0.758GLYC + 0.242MGLY + 0.242CH2O + 0.242HO2 + NO2 : GC_ALK(2.7d-12, 350.0d0, 4.573d0, 6.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} MVKOHOO + NO = MVKN : GC_NIT(2.7d-12, 350.0d0, 4.573d0, 6.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} MCROHOO + HO2 = 0.41MCRHP + 0.507HAC + 0.507CO + 0.507HO2 + 0.59OH + 0.59O2 + 0.083MGLY + 0.083CH2O : GCARR_ac(2.12d-13, 1300.0d0); {2019/11/06; Bates2019; KHB} MACR1OO + HO2 = 0.5MACR1OOH + 0.5CH2O + 0.325CO + 0.325MO2 + 0.175MCO3 + 0.5CO2 + 0.5OH + 0.13O3 : GCARR_ac(3.14d-12, 580.0d0); {2019/11/06; Bates2019; KHB} MACR1OOH + OH = 0.165MACR1OO + 0.585OH + 0.488HAC + 0.488CO + 0.098HMML + 0.410CO2 + 0.25CH2O + 0.087MCO3 + 0.162MO2 : 1.66d-11; {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} MCROHOO = HAC + CO + OH : GCARR_ac(2.90d+7, -5297.0d0); {2019/11/06; Bates2019; KHB} MCROHOO + NO = 0.86HAC + 0.86CO + 0.86HO2 + NO2 + 0.14MGLY + 0.14CH2O : GC_ALK(2.7d-12, 350.0d0, 2.985d0, 6.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} MCROHOO + NO = MCRHN : GC_NIT(2.7d-12, 350.0d0, 2.985d0, 6.0d0, 1.0d0, 0.0d0); {2019/11/06; Bates2019; KHB} MACR1OO + NO = 0.35MCO3 + 0.65MO2 + 0.65CO + CH2O + CO2 + NO2 : GCARR_ac(8.7d-12, 290.0d0); {2019/11/06; Bates2019; KHB} MACR1OO + NO2 = MPAN : GC_PAN_acac(2.591d-28, -6.87d0, 1.125d-11, -1.105d0, 0.3d0); {2019/11/06; Bates2019; KHB} MACRNO2 + HO2 = 0.5HAC + 0.5OH + 0.5CO2 + 0.5NO2 + 0.13O3 + 0.37MCRHN + 0.13MCRHNB : GCARR_ac(3.14d-12, 580.0d0); {2019/11/06; Bates2019; KHB} MACRNO2 + NO = HAC + 2NO2 + CO2 : GCARR_ac(7.50d-12, 290.0d0); {2019/11/06; Bates2019; KHB} MACRNO2 + NO2 = MPAN + NO2 : GC_PAN_acac(2.591d-28, -6.87d0, 1.125d-11, -1.105d0, 0.3d0); {2019/11/06; Bates2019; KHB} MACRNO2 + NO3 = HAC + 2NO2 + CO2 : 4.00d-12; {2019/11/06; Bates2019; KHB} MACRNO2 + MO2 = 0.7HAC + 0.7CO2 + 0.7NO2 + 0.7HO2 + CH2O + 0.3MCRHNB : GCARR_ac(2.9d-12, 500.0d0); {2019/11/06; Bates2019; KHB} MPAN = MACR1OO + NO2 : GCARR_ac(1.58d+16, -13500.0d0); {2019/11/06; Bates2019; KHB} MPAN + OH = 0.75HMML + NO3 + 0.25HAC + 0.25CO : 2.90d-11; {2019/11/06; Bates2019; KHB} HMML + OH = 0.700MGLY + 0.700OH + 0.300MCO3 + 0.300HCOOH + CO : 4.33d-12; {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} ICPDH + OH = CO + 0.5HO2 + 0.5OH + 0.5MCRHP + 0.35MVKDH + 0.15MCRDH : 1.00d-11; {2019/11/06; Bates2019; KHB} IDCHP + OH = 0.888CO + 0.444OH + 0.444HO2 + 0.318MVKHC + 0.08IEPOXAOO + 0.126MVKHCB + 0.444MVKPC + 0.032IEPOXBOO : 2.25d-11; {2019/11/06; Bates2019; KHB} IDHDP + OH = OH + 0.333ICPDH + 0.667IDHPE : 3.00d-12; {2019/11/06; Bates2019; KHB} IDHPE + OH = OH + CO2 + 0.571MCRHP + 0.429MVKHP : 3.00d-12; {2019/11/06; Bates2019; KHB} ITCN + OH = CO + NO2 + 0.75MVKHP + 0.25MCRHP : 1.00d-11; {2019/11/06; Bates2019; KHB} ITHN + OH = 0.300OH + 0.620HO2 + 0.900ITCN + 0.037IDHNBOO + 0.041ICNOO + 0.022MCRENOL + 0.022NO2 + 0.022CH2O : 3.00d-12; {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} ETHLN + NO3 = HNO3 + NO2 + MCO3 : GCARR_ac(1.40d-12, -1860.0d0); {2019/11/06; Bates2019; KHB} PYAC + OH = MCO3 + CO2 : 8.00d-13; {2019/11/06; Bates2019; KHB} HMHP + OH = 0.5CH2O + 0.5HO2 + 0.5HCOOH + 0.5OH : GCARR_ac(1.30d-12, 500.0d0); {2019/11/06; Bates2019; KHB} MCO3 + HO2 = 0.13O3 + 0.13ACTA + 0.37MAP + 0.5MO2 + 0.5CO2 + 0.5OH : GCARR_ac(3.14d-12, 580.0d0); {2019/11/06; Bates2019; KHB} HPETHNL + OH = CO + OH + CH2O : GCARR_ac(1.55d-12, 340.0d0); {2019/11/06; Bates2019; KHB} HPETHNL + OH = GLYX + OH : 2.91d-11; {2019/11/06; Bates2019; KHB} NAP + OH = NRO2 + OH : GCARR_ac(1.56d-11, 117.0d0); {2013/08/12; Pye2010; HOTP} NRO2 + HO2 = LNRO2H + HO2 : GCARR_ac(1.40d-12, 700.0d0); {2013/08/12; Pye2010; HOTP} NRO2 + NO = LNRO2N + NO : GCARR_ac(2.60d-12, 350.0d0); {2013/08/12; Pye2010; HOTP} // // --- RCOOH chemistry (KRT) RCOOH + OH = ETO2 + CO2 + H2O : 1.20d-12; {2024/08/20; Travis2024; KRT} // // ----- STYR/EBZ/TMB chemistry (Bates et al., 2021) STYR + OH = 0.300ZRO2 + 0.700AROMRO2 + 0.700HO2 + CH2O + 0.700BALD : 5.8d-11; {krt, Bates et al., 2021} STYR + NO3 = AROMRO2 + NO2 + CH2O + BALD : 1.5d-12; {krt, Bates et al., 2021} STYR + O3 = 0.500CH2OO + 0.500CH2O + 0.620BALD + 0.100BENZ + 0.280BENZO2 + 0.180CO + 0.180OH + 0.100HO2 : 1.7d-17; {krt, Bates et al., 2021} EBZ + OH = 0.813AROMRO2 + 0.250CH2O + 0.070ZRO2 + 0.180CSL + 0.400ALD2 + 0.400AROMP5 + 0.800AROMP4 + 0.1800HO2 : 7.0d-12; {krt, Bates et al., 2021} EBZ + NO3 = AROMRO2 + HNO3 + CH2O + BALD : 1.2d-16; {krt, Bates et al., 2021} TMB + OH = 0.930AROMRO2 + 0.120CH2O + 0.050ZRO2 + 0.030CSL + 0.600AROMP5 + 0.375AROMP4 + 0.250MGLY + 0.100GLYX + 0.500RCOOH + 0.120CO + 0.030HO2 + 0.150TLFUONE : 3.92d-11; {krt, Bates et al., 2021} TMB + NO3 = AROMRO2 + HNO3 + 0.400AROMP5 + BALD : 1.4d-15; {krt, Bates et al., 2021} // // ------ Lumped aromatic nitrate ---- ZRO2 + NO = 0.110RNO3 + 0.890BALD + 0.890NO2 + HO2 : GCARR_ac(2.7d-12,360.0d0);{MCM} ZRO2 + HO2 = BALD + OH : GCARR_ac(1.5d-13,1310.0d0);{MCM} RNO3 + OH = BALD + NO2 + HO2 : 7.16d-11;{MCM} // // --- C2H2 & C2H4 chemistry (per KHB) C2H4 + O3 = CH2O + CH2OO : GCARR_ac(1.20d-14, -2630.0d0); {2021/09/22; Kwon2020; KHB,MSL; 2023/04/18; JPL 19-5; KHB} C2H4 + OH = ETOO : GCJPLPR_abab(1.10d-28, 3.5d+00, 8.4d-12, 1.75d0, 0.5d0); {2021/09/22; Kwon2020; KHB,MSL} C2H2 + OH = 0.636GLYX + 0.636OH + 0.364CO + 0.364HO2 + 0.364HCOOH : GCJPLPR_abab(5.50d-30, 0.0d0, 8.3d-13, -2.0d0, 0.5d0); {2021/09/22; Kwon2020; KHB,MSL} ETOO + HO2 = ETHP : GCARR_ac(1.53d-13, 1300.0d0); {2021/09/22; Kwon2020; KHB,MSL} ETOO + NO = 0.995ETO + 0.995NO2 + 0.005ETHN : GCARR_ac(2.7d-12, 360.0d0); {2021/09/22; Kwon2020; KHB,MSL} ETOO + NO3 = ETO + NO2 : 2.3d-12; {2021/09/22; Kwon2020; KHB,MSL} ETOO + MO2 = 0.6ETO + 0.6HO2 + 0.8CH2O + 0.2MOH + 0.2ETHP + 0.2GLYC : 6.00d-13; {2021/09/22; Kwon2020; KHB,MSL} ETO = HO2 + 2.000CH2O : GCARR_ac(9.5d+13, -5988.0d0); {2021/09/22; Kwon2020; KHB,MSL} ETO + O2 = GLYC + HO2 : GCARR_ac(2.5d-14, -300.0d0); {2021/09/22; Kwon2020; KHB,MSL} ETHN + OH = GLYC + NO2 : 8.40d-13; {2021/09/22; Kwon2020; KHB,MSL} ETHP + OH = ETOO : GCARR_ac(1.90d-12, 190.0d0); {2021/09/22; Kwon2020; KHB,MSL} ETHP + OH = OH + GLYC : 1.38d-11; {2021/09/22; Kwon2020; KHB,MSL} // // --- Aromatic Chemistry (per KHB) BENZ + OH = BRO2 + 0.54PHEN + 0.54HO2 + 0.46AROMRO2 + 0.18GLYX + 0.2CO +0.55AROMP4 : GCARR_ac(2.3d-12, -193.0d0); {2021/09/29; Bates2021b; KHB,MSL; 2022/07/01; fix C accounting; KHB} TOLU + OH = TRO2 + 0.19CSL + 0.19HO2 + 0.81AROMRO2 + 0.06BALD + 0.12GLYX + 0.12MGLY + 0.27CO + 0.04MVK + 0.3AROMP5 + 0.68AROMP4 : GCARR_ac(1.8d-12, 340.0d0); {2021/09/29; Bates2021b; KHB,MSL} XYLE + OH = XRO2 + 0.15CSL + 0.15HO2 + 0.85AROMRO2 + 0.06BALD + 0.1GLYX + 0.2MGLY + 0.3CO + 0.04MVK + 0.56AROMP5 + 0.28AROMP4 + 0.45RCOOH : 1.7d-11; {2021/09/29; Bates2021b; KHB,MSL} AROMRO2 + HO2 = OH + HO2 : 2.91d-13 * EXP( 1300.0d0 / TEMP ) * 0.82d0; {2021/09/29; Bates2021b; KHB,MSL} AROMRO2 + NO = NO2 + HO2 : GCARR_ac(2.60d-12, 365.0d0); {2021/09/29; Bates2021b; KHB,MSL} AROMRO2 + NO3 = NO2 + HO2 : 2.30d-12; {2021/09/29; Bates2021b; KHB,MSL} AROMRO2 + MO2 = CH2O + HO2 + HO2 : GCARR_ac(1.70d-14, 220.0d0); {2021/09/29; Bates2021b; KHB,MSL} AROMRO2 + MCO3 = MO2 + HO2 + CO2 : GCARR_ac(4.20d-14, 220.0d0); {2021/09/29; Bates2021b; KHB,MSL; 2022/07/01; fix C accounting; KHB} //-----Lumped aromatic PN------ TLFUONE + OH = TLFUO2 : 6.9d-11; TLFUO2 + NO = NO2 + AROMCHO + HO2 : GCARR_abc(2.7d-12,0.0d0,360.0d0); TLFUO2 + HO2 = AROMCHO : GCARR_abc(2.05d-13,0.0d0,1300.0d0); AROMCHO + OH = AROMCO3 : 7.09E-11; AROMCO3 + NO = NO2 + RCO3 + 2CO2 : GCARR_abc(7.50d-12,0.0d0,290.0d0); AROMCO3 + HO2 = 0.15O3 + 0.15RCOOH + 0.44CO2 + 0.44OH + 0.44RCO3+ 0.41RP : GCARR_abc(5.20d-13,0.0d0,980.0d0); AROMCO3 + NO2 {+M} = AROMPN : GC_PAN_acac(3.28d-28, -6.87d0, 1.125d-11, -1.105d0, 0.3d0); {Same as BZPAN} AROMPN = AROMCO3 + NO2 : GC_PAN_abab(1.10d-5, -10100.0d0, 1.90d+17, -14100.0d0, 0.3d0)*0.67d0; {Same as BZPAN} AROMPN + OH = 2CO + NO2 + MCO3 + CH2O : 1.0d-14; {MCM for ACCOMEPAN} //------ PHEN + OH = 0.06BENZO + 0.06GLYX + 0.18AROMP4 + 0.14AROMRO2 + 0.8MCT + 0.8HO2 : GCARR_ac(4.70d-13, 1220.0d0); {2021/09/29; Bates2021b; KHB,MSL} PHEN + NO3 = 0.258NPHEN + 0.742HNO3 + 0.742BENZO : 3.8d-12; {2021/09/29; Bates2021b; KHB,MSL} CSL + OH = 0.727MCT + 0.727HO2 + 0.2AROMRO2 + 0.073BENZO + 0.44AROMP5 : 4.7d-11; {2021/09/29; Bates2021b; KHB,MSL} CSL + NO3 = 0.5NPHEN + 0.2AROMRO2 + 0.5HNO3 + 0.3BENZO + 0.44AROMP5 : 1.4d-11; {2021/09/29; Bates2021b; KHB,MSL} MCT + OH = 0.3BENZO + 0.7AROMRO2 + 1.05AROMP4 : 2.0d-11; {2021/09/29; Bates2021b; KHB,MSL} MCT + O3 = GLYC + HO2 + OH + AROMP4 : 9.2d-18; {2021/09/29; Bates2021b; KHB,MSL} MCT + NO3 = 0.5NPHEN + 0.5HNO3 + 0.3BENZO + 0.2AROMRO2 + 0.3AROMP4 : 9.9d-11; {2021/09/29; Bates2021b; KHB,MSL} BALD + OH = BZCO3 : GCARR_ac(5.90d-12, 225.0d0); {2021/09/29; Bates2021b; KHB,MSL} BALD + NO3 = BZCO3 + HNO3 : 2.4d-15; {2021/09/29; Bates2021b; KHB,MSL} BZCO3 + HO2 = 0.35CO2 + 0.2BENZO2 + 0.15O3 + 0.2OH + 0.15BENZP + 0.65BZCO3H : GCARR_ac(1.10d-11, 340.0d0); {2021/09/29; Bates2021b; KHB,MSL} BZCO3 + NO = NO2 + CO2 + BENZO2 : GCARR_ac(7.50d-12, 290.0d0); {2021/09/29; Bates2021b; KHB,MSL} BZCO3 + NO2 = BZPAN : GC_PAN_acac(3.28d-28, -6.87d0, 1.125d-11, -1.105d0, 0.3d0); {2021/09/29; Bates2021b; KHB,MSL} BZCO3H + OH = BZCO3 : 4.66d-12; {2021/09/29; Bates2021b; KHB,MSL} BZPAN = BZCO3 + NO2 : GC_PAN_abab(1.10d-5, -10100.0d0, 1.90d+17, -14100.0d0, 0.3d0)*0.67d0; {2021/09/29; Bates2021b; KHB,MSL} BZPAN + OH = BENZP + CO2 + NO2 : 1.06d-12; {2021/09/29; Bates2021b; KHB,MSL} BENZO2 + NO2 = BENZO + NO3 : 7.00d-12; {2021/09/29; Bates2021b; KHB,MSL} BENZO2 + NO = BENZO + NO2 : GCARR_ac(2.670d-12, 365.0d0); {2021/09/29; Bates2021b; KHB,MSL} BENZO2 + NO3 = BENZO + NO2 : 2.30d-12; {2021/09/29; Bates2021b; KHB,MSL} BENZO2 + HO2 = BENZP : GCARR_ac(2.24d-13, 1300.0d0); {2021/09/29; Bates2021b; KHB,MSL} BENZP + OH = BENZO2 : 3.60d-12; {2021/09/29; Bates2021b; KHB,MSL} BENZO + O3 = BENZO2 : 2.86d-13; {2021/09/29; Bates2021b; KHB,MSL} BENZO + NO2 = NPHEN : 2.08d-12; {2021/09/29; Bates2021b; KHB,MSL} NPHEN + OH = 0.5R4N1 + 0.9AROMP4 + 0.5NO2 +0.15CO : 3.47d-12; {2021/09/29; Bates2021b; KHB,MSL; 2023/04/18; Bates2023; KHB} NPHEN + NO3 = 0.5HNO3 + NO2 + 0.5R4N1 + 0.9AROMP4 + 0.15CO : 2.60d-12; {2021/09/29; Bates2021b; KHB,MSL; 2023/04/18; Bates2023; KHB} BENZO2 + MO2 = BENZO + HO2 + CH2O : GCARR_ac(2.670d-13, 365.0d0); {2021/09/29; Bates2021b; KHB,MSL} BZCO3 + MO2 = BENZO2 + CO2 + HO2 + CH2O : GCARR_ac(2.670d-12, 365.0d0); {2021/09/29; Bates2021b; KHB,MSL} AROMP4 + OH = 0.6GLYX + 0.26CO + 0.26HCOOH + 0.25OH + 0.33HO2 + 0.33RCO3 + 0.43RCOOH : 5.0d-11; {2021/09/29; Bates2021b; KHB,MSL; 2023/04/18; Bates2023; KHB} AROMP4 + O3 = 0.5HCOOH + 0.5CO + 0.6GLYX + 0.9GLYC + 0.1HO2 + 0.1OH : 8.0d-16; {2021/09/29; Bates2021b; KHB,MSL} AROMP4 = 0.2HO2 + 0.2GLYX + 1.2RCHO : 1.5d-3; {2021/09/29; Bates2021b; KHB,MSL} AROMP5 + OH = 0.6MGLY + 0.15ACTA + 0.1HCOOH + 0.25OH + 0.33HO2 + 0.33RCO3 + 0.25CO + 0.52RCOOH : 5.0d-11; {2021/09/29; Bates2021b; KHB,MSL} AROMP5 + O3 = 0.6MGLY + 0.3ACTA + 0.2HCOOH + 0.5CO + 0.95GLYC + 0.1HO2 + 0.1OH : 8.0d-16; {2021/09/29; Bates2021b; KHB,MSL} AROMP5 = 0.2HO2 + 0.2ALK4O2 + 0.2MGLY + 1.15RCHO + 0.05CO : 1.5d-3; {2021/09/29; Bates2021b; KHB,MSL; 2023/04/18; Bates2023; KHB},{2023/05/14; Brewer2023; JFB} // // KHB -- "we still need to include the dummy species for aromatic oxidation // to make the complex SOA code work. Hopefully this will be changed // very soon when Jared Brewer updates the aromatic SOA, but I think it's // still necessary, in which case, we need to add the following reactions too. // (If I'm wrong, we can delete XRO2, TRO2, BRO2, LXRO2N, LXRO2H, // LTRO2N, LTRO2H, LBRO2N, and LBRO2H from the species list, delete // XRO2, TRO2, and BRO2 as products from the BENZ + OH, TOLU + OH, // and XYLE + OH reactions above, and not include the following reactions)" // BRO2 + HO2 = HO2 + LBRO2H : GCARR_ac(1.40d-12, 700.0d0); {2021/09/29; Bates2021b; KHB,MSL} BRO2 + NO = NO + LBRO2N : GCARR_ac(2.60d-12, 350.0d0); {2021/09/29; Bates2021b; KHB,MSL} TRO2 + HO2 = HO2 + LTRO2H : GCARR_ac(1.40d-12, 700.0d0); {2021/09/29; Bates2021b; KHB,MSL} TRO2 + NO = NO + LTRO2N : GCARR_ac(2.60d-12, 350.0d0); {2021/09/29; Bates2021b; KHB,MSL} XRO2 + HO2 = HO2 + LXRO2H : GCARR_ac(1.40d-12, 700.0d0); {2021/09/29; Bates2021b; KHB,MSL} XRO2 + NO = NO + LXRO2N : GCARR_ac(2.60d-12, 350.0d0); {2021/09/29; Bates2021b; KHB,MSL} MO2 + NO3 = NO2 + CH2O + HO2 : 1.20d-12; {2022/10/18: IUPAC ROO_19; KHB,BMY} FURA + OH = BUTDI : GCARR_ac(1.32d-11, 334.0d0); {2023/02/07; Carter2022; TSC} // // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% // %%%%% Heterogeneous chemistry reactions %%%%% // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% // HO2 = H2O : HO2uptk1stOrd( State_Het ); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} NO2 = 0.500HNO3 + 0.500HNO2 : NO2uptk1stOrdAndCloud( State_Het ); NO3 = HNO3 : NO3uptk1stOrdAndCloud( State_Het ); NO3 = NIT : NO3hypsisClonSALA( State_Het ); {2018/03/16; XW} NO3 = NITs : NO3hypsisClonSALC( State_Het ); {2018/03/16; XW} N2O5 + H2O = 2.000HNO3 : N2O5uptkByH2O( State_Het ); N2O5 + HCl = ClNO2 + HNO3 : N2O5uptkByStratHCl( State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} N2O5 = 2.000HNO3 : N2O5uptkByCloud( State_Het ); {2018/10/17; Cloud uptake, CDH} N2O5 + SALACL = ClNO2 + HNO3 : N2O5uptkBySALACl( State_Het ); {2018/01/19; Sherwen2017;TS,JAS,SDE,XW} N2O5 + SALCCL = ClNO2 + HNO3 : N2O5uptkBySALCCl( State_Het ); {2018/01/19; Sherwen2017;TS,JAS,SDE,XW} OH + SALACL = 0.500Cl2 : OHuptkBySALACl( State_Het ); {2018/03/12; XW} OH + SALCCL = 0.500Cl2 : OHuptkBySALCCl( State_Het ); {2018/03/12; XW} BrNO3 + H2O = HOBr + HNO3 : BrNO3uptkByH2O( State_Het ); {2014/02/03; Eastham2014; SDE} BrNO3 + HCl = BrCl + HNO3 : BrNO3uptkByHCl( State_Het ); {2014/02/03; Eastham2014; SDE} ClNO3 + H2O = HOCl + HNO3 : ClNO3uptkByH2O( State_Het ); {2014/02/03; Eastham2014; SDE} ClNO3 + HCl = Cl2 + HNO3 : ClNO3uptkByHCl( State_Het ); {2014/02/03; Eastham2014; SDE} ClNO3 + HBr = BrCl + HNO3 : ClNO3uptkByHBr( State_Het ); {2014/02/03; Eastham2014; SDE} ClNO3 + BrSALA = BrCl + HNO3 : ClNO3uptkByBrSALA( State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} ClNO3 + BrSALC = BrCl + HNO3 : ClNO3uptkByBrSALC( State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} ClNO3 + SALACL = Cl2 + HNO3 : ClNO3uptkBySALACL( State_Het ); {2018/01/22; XW} ClNO3 + SALCCL = Cl2 + HNO3 : ClNO3uptkBySALCCL( State_Het ); {2018/01/22; XW} ClNO2 + SALACL = Cl2 + HNO2 : ClNO2uptkBySALACL( State_Het ); {2018/01/22; XW} ClNO2 + SALCCL = Cl2 + HNO2 : ClNO2uptkBySALCCL( State_Het ); {2018/01/22; XW} ClNO2 + HCl = Cl2 + HNO2 : ClNO2uptkByHCl( State_Het ); {2018/01/22; XW} ClNO2 + BrSALA = BrCl + HNO2 : ClNO2uptkByBrSALA( State_Het ); {2018/01/22; XW} ClNO2 + BrSALC = BrCl + HNO2 : ClNO2uptkByBrSALC( State_Het ); {2018/01/22; XW} ClNO2 + HBr = BrCl + HNO2 : ClNO2uptkByHBr( State_Het ); {2018/01/22; XW} HOCl + HCl = Cl2 + H2O : HOClUptkByHCl( State_Het ); {2014/02/03; Eastham2014; SDE} HOCl + HBr = BrCl + H2O : HOClUptkByHBr( State_Het ); {2014/02/03; Eastham2014; SDE} HOCl + SALACL = Cl2 + H2O : HOClUptkBySALACL( State_Het ); {2018/01/22; XW} HOCl + SALCCL = Cl2 + H2O : HOClUptkBySALCCL( State_Het ); {2018/01/22; XW} HOCl + SO2 = SO4 + HCl : HOClUptkByHSO3m( State_Het ) + HOClUptkBySO3mm( State_Het ) + SRHOCl; {2023/01/30; Add SRHOCL, BA; 2018/11/08; XW; June 6, 2021, MSL} HOBr + HBr = Br2 + H2O : HOBrUptkByHBr( State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} HOBr + HCl = BrCl + H2O : HOBrUptkByHCl( State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} HOBr + SALACL = BrCl + H2O : HOBrUptkBySALACL( State_Het ); {2018/01/22; Sherwen2017;TS,JAS,SDE;XW} HOBr + SALCCL = BrCl + H2O : HOBrUptkBySALCCL( State_Het ); {2018/01/22; Sherwen2017;TS,JAS,SDE,XW} HOBr + BrSALA = Br2 : HOBrUptkByBrSALA( State_Het ); {2017/09/22; Sherwen2017;TS,JAS,SDE} HOBr + BrSALC = Br2 : HOBrUptkByBrSALC( State_Het ); {2017/09/22; Sherwen2017;TS,JAS,SDE} HOBr + SO2 = SO4 + HBr : HOBrUptkByHSO3m( State_Het ) + HOBrUptkBySO3mm( State_Het ) + SRHOBr; {2023/01/30; Add SRHOBrL, BA; 2017/11/15; Chen2017; QJC; June 6, 2021, MSL} O3 + HBr = HOBr : O3uptkByHBr( State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} O3 + BrSALA = HOBr : O3uptkByBrSALA( State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} O3 + BrSALC = HOBr : O3uptkByBrSALC( State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} HBr = BrSALA : HBrUptkBySALA( State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} HBr = BrSALC : HBrUptkBySALC( State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} HI = AERI : IuptkBySulf1stOrd( SR_MW(ind_HI), 0.10_dp, State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} HI = ISALA : IuptkBySALA1stOrd( SR_MW(ind_HI), 0.10_dp, State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} HI = ISALC : IuptkBySALC1stOrd( SR_MW(ind_HI), 0.10_dp, State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} HOI = ISALA : IuptkByAlkSALA1stOrd( SR_MW(ind_HOI), 0.01_dp, State_Het ); {2023/01/24; Restored deleted rxn:BA} HOI = ISALC : IuptkByAlkSALC1stOrd( SR_MW(ind_HOI), 0.01_dp, State_Het ); {2022/12/02; Restored deleted rxn:BA} I2O2 = 2.000AERI : IuptkBySulf1stOrd( SR_MW(ind_I2O2), 0.02_dp, State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I2O2 = 2.000ISALA : IuptkBySALA1stOrd( SR_MW(ind_I2O2), 0.02_dp, State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I2O2 = 2.000ISALC : IuptkBySALC1stOrd( SR_MW(ind_I2O2), 0.02_dp, State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I2O3 = 2.000AERI : IuptkBySulf1stOrd( SR_MW(ind_I2O3), 0.02_dp, State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I2O3 = 2.000ISALA : IuptkBySALA1stOrd( SR_MW(ind_I2O3), 0.02_dp, State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I2O3 = 2.000ISALC : IuptkBySALC1stOrd( SR_MW(ind_I2O3), 0.02_dp, State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I2O4 = 2.000AERI : IuptkBySulf1stOrd( SR_MW(ind_I2O4), 0.02_dp, State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I2O4 = 2.000ISALA : IuptkBySALA1stOrd( SR_MW(ind_I2O4), 0.02_dp, State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I2O4 = 2.000ISALC : IuptkBySALC1stOrd( SR_MW(ind_I2O4), 0.02_dp, State_Het ); {2017/09/22; Sherwen2016b;TS,JAS,SDE} IONO = ISALA + HNO2 : IuptkByAlkSALA1stOrd( SR_MW(ind_IONO), 0.02_dp, State_Het ); {2022/12/02; Restored deleted rxn:BA} IONO = ISALC + HNO2 : IuptkByAlkSALC1stOrd( SR_MW(ind_IONO), 0.02_dp, State_Het ); {2022/12/02; Restored deleted rxn:BA} IONO2 = ISALA + HNO3 : IuptkByAlkSALA1stOrd( SR_MW(ind_IONO2), 0.01_dp, State_Het ); {2022/12/02; Restored deleted rxn:BA} IONO2 = ISALC + HNO3 : IuptkByAlkSALC1stOrd( SR_MW(ind_IONO2), 0.01_dp, State_Het ); {2022/12/02; Restored deleted rxn:BA} IONO2 + H2O = HOI + HNO3 : IONO2uptkByH2O( State_Het ); {2021/09/16 XW, TSherwen} IONO + BrSALA = IBr + HNO2 : IbrkdnByAcidBrSALA( SR_MW(ind_IONO), C(ind_IONO), 0.02_dp, State_Het ); {2017/09/22; Sherwen2017;TS,JAS,SDE,XW} IONO + BrSALC = IBr + HNO2 : IbrkdnByAcidBrSALC( SR_MW(ind_IONO), C(ind_IONO), 0.02_dp, State_Het ); {2017/09/22; Sherwen2017;TS,JAS,SDE,XW} IONO + SALACL = ICl + HNO2 : IbrkdnByAcidSALACl( SR_MW(ind_IONO), C(ind_IONO), 0.02_dp, State_Het ); {2017/09/22; Sherwen2017;TS,JAS,SDE,XW} IONO + SALCCL = ICl + HNO2 : IbrkdnByAcidSALCCl( SR_MW(ind_IONO), C(ind_IONO), 0.02_dp, State_Het ); {2017/09/22; Sherwen2017;TS,JAS,SDE,XW} IONO2 + BrSALA = IBr + HNO3 : IbrkdnByAcidBrSALA( SR_MW(ind_IONO2), C(ind_IONO2), 0.01_dp, State_Het ); {2017/09/22; Sherwen2017;TS,JAS,SDE,XW} IONO2 + BrSALC = IBr + HNO3 : IbrkdnByAcidBrSALC( SR_MW(ind_IONO2), C(ind_IONO2), 0.01_dp, State_Het ); {2017/09/22; Sherwen2017;TS,JAS,SDE,XW} IONO2 + SALACL = ICl + HNO3 : IbrkdnByAcidSALACl( SR_MW(ind_IONO2), C(ind_IONO2), 0.01_dp, State_Het ); {2017/09/22; Sherwen2017;TS,JAS,SDE,XW} IONO2 + SALCCL = ICl + HNO3 : IbrkdnByAcidSALCCl( SR_MW(ind_IONO2), C(ind_IONO2), 0.01_dp, State_Het ); {2017/09/22; Sherwen2017;TS,JAS,SDE,XW} HOI + BrSALA = IBr : IbrkdnByAcidBrSALA( SR_MW(ind_HOI), C(ind_HOI), 0.01_dp, State_Het ); {2017/09/22; Sherwen2017;TS,JAS,SDE,XW} HOI + BrSALC = IBr : IbrkdnByAcidBrSALC( SR_MW(ind_HOI), C(ind_HOI), 0.01_dp, State_Het ); {2017/09/22; Sherwen2017;TS,JAS,SDE,XW} HOI + SALACL = ICl : IbrkdnByAcidSALACl( SR_MW(ind_HOI), C(ind_HOI), 0.01_dp, State_Het ); {2017/09/22; Sherwen2017;TS,JAS,SDE,XW} HOI + SALCCL = ICl : IbrkdnByAcidSALCCl( SR_MW(ind_HOI), C(ind_HOI), 0.01_dp, State_Het ); {2017/09/22; Sherwen2017;TS,JAS,SDE,XW} GLYX = SOAGX : GLYXuptk1stOrd( SR_MW(ind_GLYX), State_Het); {2017/06/15; Marais2016, EAM} MGLY = 1.500SOAGX : MGLYuptk1stOrd( SR_MW(ind_MGLY), State_Het); {2017/06/15; Marais2016, EAM; 2023/04/18; Bates2023; KHB} IEPOXA = SOAIE : IEPOXuptk1stOrd( SR_MW(ind_IEPOXA), .FALSE., State_Het ); {2017/06/15; Marais2016, EAM} IEPOXB = SOAIE : IEPOXuptk1stOrd( SR_MW(ind_IEPOXB), .FALSE., State_Het ); {2017/06/15; Marais2016, EAM} IEPOXD = SOAIE : IEPOXuptk1stOrd( SR_MW(ind_IEPOXD), .FALSE., State_Het ); {2017/06/15; Marais2016, EAM} LVOC = LVOCOA : VOCuptk1stOrd( SR_MW(ind_LVOC), 1.0_dp, State_Het ); {2017/06/15; Marais2016, EAM} MVKN = IONITA : VOCuptk1stOrd( SR_MW(ind_MVKN), 5.0E-3_dp, State_Het ); {2017/06/15; Marais2016, EAM} R4N2 = IONITA : VOCuptk1stOrd( SR_MW(ind_R4N2), 5.0E-3_dp, State_Het ); {2017/06/15; Marais2016, EAM} MONITS = MONITA : VOCuptk1stOrd( SR_MW(ind_MONITS), 1.0E-2_dp, State_Het ); {2017/07/14; Fisher2016; KRT,JAF,CCM,EAM,KHB,RHS} MONITU = MONITA : VOCuptk1stOrd( SR_MW(ind_MONITU), 1.0E-2_dp, State_Het ); {2017/07/14; Fisher2016; KRT,JAF,CCM,EAM,KHB,RHS} HONIT = MONITA : VOCuptk1stOrd( SR_MW(ind_HONIT), 1.0E-2_dp, State_Het ); {2017/07/14; Fisher2016; KRT,JAF,CCM,EAM,KHB,RHS} PYAC = 1.500SOAGX : MGLYuptk1stOrd( SR_MW(ind_PYAC), State_Het ); {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} HMML = 0.800SOAIE : IEPOXuptk1stOrd( SR_MW(ind_HMML), .TRUE., State_Het); {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} IHN1 = IONITA : VOCuptk1stOrd( SR_MW(ind_IHN1), 5.0E-3_dp, State_Het ); {2019/11/06; Bates2019; KHB} IHN2 = IONITA : VOCuptk1stOrd( SR_MW(ind_IHN2), 5.0E-2_dp, State_Het ); {2019/11/06; Bates2019; KHB} IHN3 = IONITA : VOCuptk1stOrd( SR_MW(ind_IHN3), 5.0E-3_dp, State_Het ); {2019/11/06; Bates2019; KHB} IHN4 = IONITA : VOCuptk1stOrd( SR_MW(ind_IHN4), 5.0E-3_dp, State_Het ); {2019/11/06; Bates2019; KHB} ICHE = SOAIE : IEPOXuptk1stOrd( SR_MW(ind_ICHE), .FALSE., State_Het ); {2019/11/06; Bates2019; KHB} INPD = IONITA : VOCuptk1stOrd( SR_MW(ind_INPD), 5.0E-3_dp, State_Het ); {2019/11/06; Bates2019; KHB} INPB = IONITA : VOCuptk1stOrd( SR_MW(ind_INPB), 5.0E-3_dp, State_Het ); {2019/11/06; Bates2019; KHB} IDN = IONITA : VOCuptk1stOrd( SR_MW(ind_IDN), 5.0E-3_dp, State_Het ); {2019/11/06; Bates2019; KHB} ITCN = IONITA : VOCuptk1stOrd( SR_MW(ind_ITCN), 5.0E-3_dp, State_Het ); {2019/11/06; Bates2019; KHB} ITHN = IONITA : VOCuptk1stOrd( SR_MW(ind_ITHN), 5.0E-3_dp, State_Het ); {2019/11/06; Bates2019; KHB} MCRHNB = IONITA : VOCuptk1stOrd( SR_MW(ind_MCRHNB), 5.0E-3_dp, State_Het ); {2019/11/06; Bates2019; KHB} MCRHN = IONITA : VOCuptk1stOrd( SR_MW(ind_MCRHN), 5.0E-3_dp, State_Het ); {2019/11/06; Bates2019; KHB} NPHEN = AONITA : VOCuptk1stOrd( SR_MW(ind_NPHEN), 1.0E-2_dp, State_Het ); {2021/09/29; Bates2021b; KHB,MSL} // // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% // %%%%% Photolysis reactions %%%%% // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% // O3 + hv = O + O2 : PHOTOL(2); {2014/02/03; Eastham2014; SDE} O3 + hv = O1D + O2 : PHOTOL(3); {2014/02/03; Eastham2014; SDE} O2 + hv = 2.000O : PHOTOL(1); {2014/02/03; Eastham2014; SDE} NO2 + hv = NO + O : PHOTOL(11); {2014/02/03; Eastham2014; SDE} H2O2 + hv = OH + OH : PHOTOL(9); MP + hv = CH2O + HO2 + OH : PHOTOL(10); CH2O + hv = HO2 + H + CO : PHOTOL(7); {2014/02/03; Eastham2014; SDE} CH2O + hv = H2 + CO : PHOTOL(8); HNO3 + hv = OH + NO2 : PHOTOL(16); HNO2 + hv = OH + NO : PHOTOL(15); HNO4 + hv = OH + NO3 : PHOTOL(17); HNO4 + hv = HO2 + NO2 : PHOTOL(18); NO3 + hv = NO2 + O : PHOTOL(12); {2014/02/03; Eastham2014; SDE} NO3 + hv = NO + O2 : PHOTOL(13); N2O5 + hv = NO3 + NO2 : PHOTOL(14); ALD2 + hv = 0.880MO2 + HO2 + 0.880CO + 0.120MCO3 : PHOTOL(61); {2014/12/19; FAST-JX v7.0 fix; JMAO} ALD2 + hv = CH4 + CO : PHOTOL(62); PAN + hv = 0.700MCO3 + 0.700NO2 + 0.300MO2 + 0.300NO3 + 0.300CO2 : PHOTOL(59); {2014/05/23; Eastham2014; JMAO,SDE; 2023/04/18; Bates2023; KHB} APAN + hv = ACO3 + NO2 : PHOTOL(59); {2014/05/23; Eastham2014; JMAO,SDE} ACR + hv = 0.700CO + 0.300HO2 + 0.300CH2O + 0.400C2H4 + 0.300ACO3 : PHOTOL(66); AROMCHO + hv = HO2 + CO + MCO3 + CH2O : PHOTOL(70); {2019/05/10; Fisher2018; JAF} RCHO + hv = 0.490OTHRO2 + HO2 + CO + 0.070A3O2 + 0.270B3O2 : PHOTOL(70); {2019/05/10; Fisher2018; JAF; 2023/04/18; Bates2023; KHB} ACET + hv = MCO3 + MO2 : PHOTOL(76); ACET + hv = 2.000MO2 + CO : PHOTOL(77); MEK + hv = 0.850MCO3 + 0.415OTHRO2 + 0.150MO2 + 0.150RCO3 + 0.060A3O2 + 0.230B3O2 : PHOTOL(69); {2019/05/10; Fisher2018; JAF; 2023/04/18; Bates2023; KHB} GLYC + hv = 0.900CH2O + 1.730HO2 + CO + 0.070OH + 0.100MOH : PHOTOL(68); {2014/05/23; Eastham2014; JMAO,SDE} GLYX + hv = 2.000HO2 + 2.000CO : PHOTOL(72); GLYX + hv = H2 + 2.000CO : PHOTOL(73); GLYX + hv = CH2O + CO : PHOTOL(74); MGLY + hv = MCO3 + CO + HO2 : PHOTOL(71); MVK + hv = PRPE + CO : PHOTOL(63); MVK + hv = MCO3 + CH2O + CO + HO2 : PHOTOL(64); MVK + hv = MO2 + RCO3 : PHOTOL(65); {2014/05/23; Eastham2014; JMAO,SDE} MACR + hv = CO + HO2 + CH2O + MCO3 : PHOTOL(66); {2014/05/23; Eastham2014; JMAO,SDE} HAC + hv = MCO3 + CH2O + HO2 : PHOTOL(75); PRPN + hv = OH + HO2 + RCHO + NO2 : PHOTOL(79); ETP + hv = OH + HO2 + ALD2 : PHOTOL(80); RA3P + hv = OH + HO2 + RCHO : PHOTOL(81); RB3P + hv = OH + HO2 + ACET : PHOTOL(82); R4P + hv = OH + HO2 + 1.500RCHO : PHOTOL(83); {2023/04/18; Bates2023; KHB} R7P + hv = OH + HO2 + RCHO : PHOTOL(83); ALK4P + hv = OH + HO2 + 1.500RCHO : PHOTOL(83); {2023/05/14; Brewer2023; JFB} PP + hv = OH + HO2 + ALD2 + CH2O : PHOTOL(84); RP + hv = OH + HO2 + ALD2 + MO2 : PHOTOL(85); {2023/04/18; Bates2023; KHB} R4N2 + hv = NO2 + 0.340ACET + 0.190MEK + 0.190MO2 + 0.270HO2 + 0.340ALD2 + 0.150RCHO + 0.050A3O2 + 0.190B3O2 + 0.340OTHRO2 : PHOTOL(98); {2023/04/18; Bates2023; KHB} R7N2 + hv = NO2 + 0.348ALD2 + 1.558RCHO + 0.326MCO3 + 0.326RCO3 + 0.326HO2 : PHOTOL(98); RNO3 + hv = BALD + NO2 + HO2 + H2O : PHOTOL(98); ALK4N2 + hv = NO2 + 0.340ACET + 0.190MEK + 0.190MO2 + 0.270HO2 + 0.340ALD2 + 0.150RCHO + 0.050A3O2 + 0.190B3O2 + 0.340OTHRO2 : PHOTOL(98); {2023/05/14; Brewer2023; JFB} MAP + hv = OH + MO2 + CO2 : PHOTOL(99); {2023/04/18; Bates2023; KHB} Br2 + hv = 2.000Br : PHOTOL(23); {2012/06/07; Parrella2012; JPP} BrO + hv = Br + O : PHOTOL(28); {2014/02/03; Eastham2014; SDE} HOBr + hv = Br + OH : PHOTOL(32); {2012/06/07; Parrella2012; JPP} BrNO3 + hv = Br + NO3 : PHOTOL(29); {2012/06/07; Parrella2012; JPP} BrNO3 + hv = BrO + NO2 : PHOTOL(30); {2012/06/07; Parrella2012; JPP} BrNO2 + hv = Br + NO2 : PHOTOL(31); {2012/06/07; Parrella2012; JPP} CHBr3 + hv = 3.000Br : PHOTOL(56); {2012/06/07; Parrella2012; JPP} CH2Br2 + hv = 2.000Br : PHOTOL(55); {2014/02/03; Eastham2014; SDE} CH3Br + hv = MO2 + Br : PHOTOL(50); {2014/02/03; Eastham2014; SDE} CH3Cl + hv = MO2 + Cl : PHOTOL(43); {2014/02/03; Eastham2014; SDE} CH2Cl2 + hv = 2.000Cl : PHOTOL(45); {2017/09/22; Sherwen2016b;TS,JAS,SDE} BrCl + hv = Br + Cl : PHOTOL(33); {2014/02/03; Eastham2014; SDE} Cl2 + hv = 2.000Cl : PHOTOL(22); {2014/02/03; Eastham2014; SDE} ClO + hv = Cl + O : PHOTOL(27); {2014/02/03; Eastham2014; SDE} OClO + hv = ClO + O : PHOTOL(25); {2014/02/03; Eastham2014; SDE} Cl2O2 + hv = Cl + ClOO : PHOTOL(26); {2014/02/03; Eastham2014; SDE} ClNO2 + hv = Cl + NO2 : PHOTOL(21); {2014/02/03; Eastham2014; SDE} ClNO3 + hv = Cl + NO3 : PHOTOL(19); {2014/02/03; Eastham2014; SDE} ClNO3 + hv = ClO + NO2 : PHOTOL(20); {2014/02/03; Eastham2014; SDE} HOCl + hv = Cl + OH : PHOTOL(24); {2014/02/03; Eastham2014; SDE} CH3CCl3 + hv = 3.000Cl : PHOTOL(44); {2014/02/03; Eastham2014; SDE} CCl4 + hv = 4.000Cl : PHOTOL(42); {2014/02/03; Eastham2014; SDE} CFC11 + hv = 3.000Cl : PHOTOL(37); {2014/02/03; Eastham2014; SDE} CFC12 + hv = 2.000Cl : PHOTOL(38); {2014/02/03; Eastham2014; SDE} CFC113 + hv = 3.000Cl : PHOTOL(39); {2014/02/03; Eastham2014; SDE} CFC114 + hv = 2.000Cl : PHOTOL(40); {2014/02/03; Eastham2014; SDE} CFC115 + hv = Cl : PHOTOL(41); {2014/02/03; Eastham2014; SDE} HCFC123 + hv = 2.000Cl : PHOTOL(47); {2014/02/03; Eastham2014; SDE} HCFC141b + hv = 2.000Cl : PHOTOL(48); {2014/02/03; Eastham2014; SDE} HCFC142b + hv = Cl : PHOTOL(49); {2014/02/03; Eastham2014; SDE} HCFC22 + hv = Cl : PHOTOL(46); {2014/02/03; Eastham2014; SDE} H1301 + hv = Br : PHOTOL(53); {2014/02/03; Eastham2014; SDE} H1211 + hv = Cl + Br : PHOTOL(51); {2014/02/03; Eastham2014; SDE} H2402 + hv = 2.000Br : PHOTOL(54); {2014/02/03; Eastham2014; SDE} ClOO + hv = Cl + O2 : PHOTOL(101); {2014/02/03; Eastham2014; SDE} I2 + hv = 2.000I : PHOTOL(114); {2017/09/22; Sherwen2016b;TS,JAS,SDE} HOI + hv = I + OH : PHOTOL(115); {2017/09/22; Sherwen2016b;TS,JAS,SDE} IO + hv = I + O : PHOTOL(116); {2017/09/22; Sherwen2016b;TS,JAS,SDE} OIO + hv = I + O2 : PHOTOL(117); {2017/09/22; Sherwen2016b;TS,JAS,SDE} INO + hv = I + NO : PHOTOL(118); {2017/09/22; Sherwen2016b;TS,JAS,SDE} IONO + hv = I + NO2 : PHOTOL(119); {2017/09/22; Sherwen2016b;TS,JAS,SDE} IONO2 + hv = I + NO3 : PHOTOL(120); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I2O2 + hv = I + OIO : PHOTOL(121); {2017/09/22; Sherwen2016b;TS,JAS,SDE} CH3I + hv = I : PHOTOL(122); {2017/09/22; Sherwen2016b;TS,JAS,SDE} CH2I2 + hv = 2.000I : PHOTOL(123); {2017/09/22; Sherwen2016b;TS,JAS,SDE} CH2ICl + hv = I + Cl : PHOTOL(124); {2017/09/22; Sherwen2016b;TS,JAS,SDE} CH2IBr + hv = I + Br : PHOTOL(125); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I2O4 + hv = 2.000OIO : PHOTOL(126); {2017/09/22; Sherwen2016b;TS,JAS,SDE} I2O3 + hv = OIO + IO : PHOTOL(127); {2017/09/22; Sherwen2016b;TS,JAS,SDE} IBr + hv = I + Br : PHOTOL(128); {2017/09/22; Sherwen2016b;TS,JAS,SDE} ICl + hv = I + Cl : PHOTOL(129); {2017/09/22; Sherwen2016b;TS,JAS,SDE} MPN + hv = CH2O + NO3 + HO2 : PHOTOL(103); {2012/02/12; Browne2011; ECB} MPN + hv = MO2 + NO2 : PHOTOL(104); {2012/02/12; Browne2011; ECB} ATOOH + hv = OH + CH2O + MCO3 : PHOTOL(97); {2013/03/22; Paulot2009; FP,EAM,JMAO,MJE} N2O + hv = N2 + O1D : PHOTOL(36); {2014/02/03; Eastham2014; SDE} OCS + hv = SO2 + CO : PHOTOL(34); {2014/02/03; Eastham2014; SDE} SO4 + hv = SO2 + 2.000OH : PHOTOL(100); {2014/02/03; Eastham2014; SDE} NO + hv = O + N : PHOTOL(6); {2014/02/03; Eastham2014; SDE} PIP + hv = RCHO + OH + HO2 : PHOTOL(105); {2017/03/23; Fischer2014; EVF} ETHLN + hv = NO2 + CH2O + CO + HO2 : PHOTOL(107); {2017/06/15; Marais2016; EAM} MONITS + hv = MEK + NO2 : PHOTOL(111); {2017/07/14; Browne2014; KRT,JAF,CCM,EAM,KHB,RHS} MONITU + hv = RCHO + NO2 : PHOTOL(112); {2017/07/14; Browne2014; KRT,JAF,CCM,EAM,KHB,RHS} HONIT + hv = HAC + NO2 : PHOTOL(113); {2017/07/14; Browne2014; KRT,JAF,CCM,EAM,KHB,RHS} NITs + hv = HNO2 : PHOTOL(130); {2018/07/19; Kasibhatla2018; PK, TMS} NITs + hv = NO2 : PHOTOL(131); {2018/07/19; Kasibhatla2018; PK, TMS} NIT + hv = HNO2 : PHOTOL(132); {2018/07/19; Kasibhatla2018; PK, TMS} NIT + hv = NO2 : PHOTOL(133); {2018/07/19; Kasibhatla2018; PK, TMS} MENO3 + hv = NO2 + HO2 + CH2O : PHOTOL(134); {2019/07/11; Fisher2018; JAF} ETNO3 + hv = NO2 + HO2 + ALD2 : PHOTOL(135); {2019/07/11; Fisher2018; JAF} IPRNO3 + hv = NO2 + HO2 + ACET : PHOTOL(136); {2019/07/11; Fisher2018; JAF} NPRNO3 + hv = NO2 + HO2 + RCHO : PHOTOL(137); {2019/07/11; Fisher2018; JAF} HMHP + hv = 2OH + CH2O : PHOTOL(86); {2019/11/06; Bates2019; KHB} HPETHNL + hv = OH + CO + HO2 + CH2O : PHOTOL(87); {2019/11/06; Bates2019; KHB} PYAC + hv = MCO3 + CO2 + HO2 : PHOTOL(88); {2019/11/06; Bates2019; KHB} PROPNN + hv = NO2 + CH2O + MCO3 : PHOTOL(89); {2019/11/06; Bates2019; KHB} MVKHC + hv = CO + HO2 + CH2O + MCO3 : PHOTOL(90); {2019/11/06; Bates2019; KHB} MVKHCB + hv = 0.5GLYX + 1.5HO2 + 0.5MCO3 + 0.5CO + 0.5MGLY : PHOTOL(91); {2019/11/06; Bates2019; KHB} MVKHP + hv = 0.53MCO3 + 0.53GLYC + OH + 0.47HO2 + 0.47CH2O + 0.47MGLY : PHOTOL(92); {2019/11/06; Bates2019; KHB} MVKPC + hv = OH + 0.571CO + 0.571MGLY + 0.571HO2 + 0.429GLYX + 0.429MCO3 : PHOTOL(93); {2019/11/06; Bates2019; KHB} MCRENOL + hv = 0.875CO + 0.75PYAC + 1.75OH + 0.125MGLY + 0.125HO2 + 0.125MCO3 + 0.125GLYX : PHOTOL(94); {2019/11/06; Bates2019; KHB} MCRHP + hv = OH + 0.77CO + HO2 + 0.77HAC + 0.23MGLY + 0.23CH2O : PHOTOL(95); {2019/11/06; Bates2019; KHB} MACR1OOH + hv = 0.75OH + 1.238CO2 + 0.488MO2 + 0.75CH2O + 0.262MCO3 + 0.25MACR1OOH : PHOTOL(96); {2019/11/06; Bates2019; KHB} MVKN + hv = 0.290HO2 + 0.010OH + 0.700NO2 + 1.010MCO3 + 0.690GLYC + 0.300ETHLN : PHOTOL(108); {2019/11/06; Bates2019; KHB} MCRHN + hv = HAC + CO + HO2 + NO2 : PHOTOL(109); {2019/11/06; Bates2019; KHB} MCRHNB + hv = PROPNN + OH + CO + HO2 : PHOTOL(110); {2019/11/06; Bates2019; KHB} RIPA + hv = MVK + CH2O + HO2 + OH : PHOTOL(138); {2019/11/06; Bates2019; KHB} RIPB + hv = MACR + CH2O + HO2 + OH : PHOTOL(139); {2019/11/06; Bates2019; KHB} RIPC + hv = OH + HO2 + HC5A : PHOTOL(140); {2019/11/06; Bates2019; KHB} RIPD + hv = OH + HO2 + HC5A : PHOTOL(141); {2019/11/06; Bates2019; KHB} HPALD1 + hv = 0.888CO + 1.662OH + 0.112HO2 + 0.112IDC + 0.112MVKPC + 0.552MCRENOL + 0.224C4HVP1 : PHOTOL(142); {2019/11/06; Bates2019; KHB} HPALD2 + hv = 0.818CO + 1.637OH + 0.182HO2 + 0.182IDC + 0.182MVKPC + 0.454MCRENOL + 0.182C4HVP2 : PHOTOL(143); {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} HPALD3 + hv = CO + OH + HO2 + MVK : PHOTOL(144); {2019/11/06; Bates2019; KHB} HPALD4 + hv = CO + OH + HO2 + MACR : PHOTOL(145); {2019/11/06; Bates2019; KHB} IHN1 + hv = NO2 + 0.45HC5A + 0.45HO2 + 0.55MVKHP + 0.55CO + 0.55OH : PHOTOL(146); {2019/11/06; Bates2019; KHB} IHN2 + hv = NO2 + MVK + HO2 + CH2O : PHOTOL(147); {2019/11/06; Bates2019; KHB} IHN3 + hv = NO2 + MACR + HO2 + CH2O : PHOTOL(148); {2019/11/06; Bates2019; KHB} IHN4 + hv = NO2 + 0.45HC5A + 0.45HO2 + 0.55MCRHP + 0.55CO + 0.55OH : PHOTOL(149); {2019/11/06; Bates2019; KHB} INPB + hv = NO2 + CH2O + 0.097MACR + 0.903MVK + 0.67OH + 0.33HO2 : PHOTOL(150); {2019/11/06; Bates2019; KHB} INPD + hv = OH + 0.159HO2 + 0.159ICN + 0.841INA : PHOTOL(151); {2019/11/06; Bates2019; KHB} INPD + hv = NO2 + 0.841IHOO1 + 0.159IHOO4 : PHOTOL(152); {2019/11/06; Bates2019; KHB} ICN + hv = NO2 + 0.839CO + 0.645OH + 0.161HO2 + 0.161IDC + 0.162MVKPC + 0.481MCRENOL + 0.128C4HVP2 + 0.068C4HVP1 : PHOTOL(106); {2019/11/06; Bates2019; KHB} IDN + hv = 1.555NO2 + 0.5GLYC + 0.5HAC + 0.05MVK + 0.005MACR + 0.055CH2O + 0.222INA + 0.223ICN + 0.228HO2 : PHOTOL(78); {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} ICPDH + hv = CO + 1.5HO2 + 0.5OH + 0.5MCRHP + 0.35MVKDH + 0.15MCRDH : PHOTOL(153); {2019/11/06; Bates2019; KHB} ICPDH + hv = OH + HO2 + 0.163CO + 0.133CH2O + 0.133MVKHCB + 0.586HAC + 0.586GLYX + 0.118GLYC + 0.118MGLY + 0.163MCRDH : PHOTOL(154); {2019/11/06; Bates2019; KHB; 2023/04/18; Bates2023; KHB} IDHDP + hv = 1.25OH + 0.25GLYC + 0.25HAC + 0.75ICPDH + 0.75HO2 : PHOTOL(155); {2019/11/06; Bates2019; KHB} IDHPE + hv = OH + HO2 + 0.429MGLY + 0.429GLYC + 0.571GLYX + 0.571HAC : PHOTOL(156); {2019/11/06; Bates2019; KHB} IDCHP + hv = 0.546OH + CO + 1.454HO2 + 0.391MVKHC + 0.155MVKHCB + 0.454MVKPC : PHOTOL(157); {2019/11/06; Bates2019; KHB} ITHN + hv = OH + 0.7HO2 + 0.55CH2O + 0.5MCRHN + 0.3GLYC + 0.45HAC + 0.3NO2 + 0.15ETHLN + 0.05MVKN : PHOTOL(158); {2019/11/06; Bates2019; KHB} ITHN + hv = NO2 + 0.8HAC + 0.7HO2 + 0.5HPETHNL + 0.35GLYC + 0.15CH2O + 0.15MCRHP + 0.05ATOOH + 0.3OH : PHOTOL(159); {2019/11/06; Bates2019; KHB} ITCN + hv = MGLY + OH + NO2 + GLYC : PHOTOL(160); {2019/11/06; Bates2019; KHB} ITCN + hv = 0.5MVKHP + 0.5MCRHP + CO + NO2 + HO2 : PHOTOL(161); {2019/11/06; Bates2019; KHB} ETHP + hv = ETO + OH : PHOTOL(162); {2021/09/22; Bates2021a; KHB,MSL} BALD + hv = BENZO2 + CO + HO2 : PHOTOL(163); {2021/09/29; Bates2021b; KHB,MSL} BZCO3H + hv = BENZO2 + OH + CO2 : PHOTOL(164); {2021/09/29; Bates2021b; KHB,MSL} BENZP + hv = BENZO : PHOTOL(165); {2021/09/29; Bates2021b; KHB,MSL} NPHEN + hv = HNO2 + CO + CO2 + AROMP4 + HO2 : PHOTOL(166); {2021/09/29; Bates2021b; KHB,MSL} PPN + hv = 0.700RCO3 + 0.700NO2 + 0.300NO3 : PHOTOL(167); {2024/07/11; Horner2024, BH} APINP + hv = PINAL + OH + HO2 : PHOTOL(168); {2024/08/20; Travis2024; KRT} PINAL + hv = CO + HO2 + C96O2 : PHOTOL(169); {2024/08/20; Travis2024; KRT} PINO3H + hv = OH + CO2 + C96O2 : PHOTOL(170); {2024/08/20; Travis2024; KRT} PINONIC + hv = OH + CO2 + C96O2 : PHOTOL(171); {2024/08/20; Travis2024; KRT} C96O2H + hv = OH + AROMRO2 + ACET + CH2O + RCO3 + 0.5MEK : PHOTOL(172); {2024/08/20; Travis2024; KRT} BPINP + hv = OH + CH2O + HO2 + BPINO : PHOTOL(173); {2024/08/20; Travis2024; KRT} BPINOOH + hv = OH + HO2 + 0.27LIMO3 + 0.6ACET + 0.6RCHO + 0.6R4O2 : PHOTOL(174); {2024/08/20; Travis2024; KRT} LIMO3H + hv = OH + CO2 + MCO3 + RCHO + 0.4CH2O + 0.8R4O2 : PHOTOL(175); {2024/08/20; Travis2024; KRT} LIMO2H + hv = OH + CO2 + MCO3 + RCHO + 0.4CH2O + 0.8R4O2 : PHOTOL(176); {2024/08/20; Travis2024; KRT} PIP + hv = OH + HO2 + 0.450MVK + 0.45ACET + 0.100CH2O + 0.675MYRCO : PHOTOL(105); {2024/08/20; Travis2024; KRT} LIMAL + hv = CO + HO2 + 0.900LIMO3 : PHOTOL(177); {2024/08/20; Travis2024; KRT} ================================================ FILE: KPP/fullchem/fullchem.kpp ================================================ #MINVERSION 3.2.0 { Need this version of KPP or later } #INTEGRATOR rosenbrock_autoreduce { Use Rosenbrock integration method } #AUTOREDUCE on { ...w/ autoreduce enabled but optional } #LANGUAGE Fortran90 { Generate solver code in Fortran90 ... } #UPPERCASEF90 on { ...w/ .F90 suffix (instead of .f90) } #DRIVER none { Do not create gckpp_Main.F90 } #HESSIAN off { Do not create the Hessian matrix } #MEX off { MEX is for Matlab, so skip it } #STOICMAT off { Do not create stoichiometric matrix } #INCLUDE fullchem.eqn { Chemical reactions for fullchem mechanism } #FAMILIES { Chemical families for prod/loss diagnostic } POx : O3 + NO2 + 2NO3 + PAN + PPN + MPAN + HNO4 + 3N2O5 + HNO3 + BrO + HOBr + BrNO2 + 2BrNO3 + MPN + ETHLN + MVKN + MCRHN + MCRHNB + PROPNN + R4N2 + ALK4N2 + PRN1 + PRPN + R4N1 + ALK4N1 + HONIT + MONITS + MONITU + OLND + OLNN + IHN1 + IHN2 + IHN3 + IHN4 + INPB + INPD + ICN + 2IDN + ITCN + ITHN + ISOPNOO1 + ISOPNOO2 + INO2B + INO2D + INA + IDHNBOO + IDHNDOO1 + IDHNDOO2 + IHPNBOO + IHPNDOO + ICNOO + 2IDNOO + MACRNO2 + ClO + HOCl + ClNO2 + 2ClNO3 + 2Cl2O2 + 2OClO + O + O1D + IO + HOI + IONO + 2IONO2 + 2OIO + 2I2O2 + 3I2O3 + 4I2O4 + NIT + NITs; LOx : O3 + NO2 + 2NO3 + PAN + PPN + MPAN + HNO4 + 3N2O5 + HNO3 + BrO + HOBr + BrNO2 + 2BrNO3 + MPN + ETHLN + MVKN + MCRHN + MCRHNB + PROPNN + R4N2 + ALK4N2 + PRN1 + PRPN + R4N1 + ALK4N1 + HONIT + MONITS + MONITU + OLND + OLNN + IHN1 + IHN2 + IHN3 + IHN4 + INPB + INPD + ICN + 2IDN + ITCN + ITHN + ISOPNOO1 + ISOPNOO2 + INO2B + INO2D + INA + IDHNBOO + IDHNDOO1 + IDHNDOO2 + IHPNBOO + IHPNDOO + ICNOO + 2IDNOO + MACRNO2 + ClO + HOCl + ClNO2 + 2ClNO3 + 2Cl2O2 + 2OClO + O + O1D + IO + HOI + IONO + 2IONO2 + 2OIO + 2I2O2 + 3I2O3 + 4I2O4 + NIT + NITs; PCO : CO; LCO : CO; PSO4 : SO4; LCH4 : CH4; PH2O2 : H2O2; #INLINE F90_RATES ! All rates are included in fullchem_RateLawFuncs.F90, which ! gets referenced directly from subroutine Update_Rconst. #ENDINLINE #INLINE F90_RCONST_USE ! Inline an include file containing rate law definitions, which ! will be inserted directly into subroutine Update_Rconst(). ! This is necessary as a workaround for KPP not being able to ! include very large files ( > 200000 chars) directly. ! -- Bob Yantosca (11 Jun 2021) USE fullchem_RateLawFuncs #ENDINLINE #INLINE F90_GLOBAL #include "commonIncludeVars.H" #ENDINLINE ================================================ FILE: KPP/fullchem/fullchem_AutoReduceFuncs.F90 ================================================ #ifdef KPP_INTEGRATOR_AUTOREDUCE !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: fullchem_AutoReduceFuncs ! ! !DESCRIPTION: Contains routines to abstract rosenbrock_autoreduce-specific ! code out of fullchem_mod.F90. This will avoid compilation errors when ! building other KPP-generated mechanisms. !\\ !\\ ! !INTERFACE: ! MODULE fullchem_AutoReduceFuncs ! ! !USES: ! IMPLICIT NONE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: fullchem_AR_KeepHalogensActive PUBLIC :: fullchem_AR_SetKeepActive PUBLIC :: fullchem_AR_UpdateKppDiags PUBLIC :: fullchem_AR_SetIntegratorOptions ! !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: fullchem_AR_KeepHalogensActive ! ! !DESCRIPTION: Sets halogen species to "fast" for the rosenbrock_autoreduce ! integrator. !\\ !\\ ! !INTERFACE: ! SUBROUTINE fullchem_AR_KeepHalogensActive( doPrint ) ! ! !USES: ! USE gckpp_Precision USE gckpp_Parameters USE gckpp_Global, ONLY : keepSpcActive ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: doPrint ! Print informational message !EOP !------------------------------------------------------------------------------ !BOC ! Informational printout IF ( doPrint ) THEN WRITE( 6, 100 ) 100 FORMAT('Setting halogen species to "fast" for rosenbrock_autoreduce"') ENDIF ! New halogens auto-reduce list hplin 01/27/22, 03/02/22 ! based off Shen et al. 2020 GMD Table 1, lines 10, 11, 12 keepSpcActive(ind_AERI ) = .TRUE. ! Iodine on aerosol keepSpcActive(ind_Br ) = .TRUE. keepSpcActive(ind_Br2 ) = .TRUE. keepSpcActive(ind_BrCl ) = .TRUE. keepSpcActive(ind_BrNO2 ) = .TRUE. keepSpcActive(ind_BrNO3 ) = .TRUE. keepSpcActive(ind_BrO ) = .TRUE. keepSpcActive(ind_BrSALA) = .TRUE. keepSpcActive(ind_BrSALC) = .TRUE. keepSpcActive(ind_HBr ) = .TRUE. keepSpcActive(ind_HOBr ) = .TRUE. keepSpcActive(ind_Cl ) = .TRUE. keepSpcActive(ind_Cl2 ) = .TRUE. keepSpcActive(ind_Cl2O2 ) = .TRUE. keepSpcActive(ind_ClNO2 ) = .TRUE. keepSpcActive(ind_ClNO3 ) = .TRUE. keepSpcActive(ind_ClO ) = .TRUE. keepSpcActive(ind_ClOO ) = .TRUE. keepSpcActive(ind_OClO ) = .TRUE. keepSpcActive(ind_HCl ) = .TRUE. keepSpcActive(ind_HOCl ) = .TRUE. keepSpcActive(ind_I ) = .TRUE. keepSpcActive(ind_I2 ) = .TRUE. keepSpcActive(ind_IO ) = .TRUE. keepSpcActive(ind_I2O2 ) = .TRUE. keepSpcActive(ind_HI ) = .TRUE. keepSpcActive(ind_ISALA ) = .TRUE. keepSpcActive(ind_ISALC ) = .TRUE. keepSpcActive(ind_I2O4 ) = .TRUE. keepSpcActive(ind_I2O3 ) = .TRUE. keepSpcActive(ind_INO ) = .TRUE. keepSpcActive(ind_IONO ) = .TRUE. keepSpcActive(ind_IONO2 ) = .TRUE. keepSpcActive(ind_ICl ) = .TRUE. keepSpcActive(ind_IBr ) = .TRUE. keepSpcActive(ind_HOI ) = .TRUE. keepSpcActive(ind_SALACl) = .TRUE. keepSpcActive(ind_SALCCl) = .TRUE. keepSpcActive(ind_SALAAL) = .TRUE. keepSpcActive(ind_SALCAL) = .TRUE. END SUBROUTINE fullchem_AR_KeepHalogensActive !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: fullchem_AR_SetKeepActive ! ! !DESCRIPTION: Abstracts setting the rosenbrock_autoreduce keepActive flag ! out of fullchem_mod.F90 !\\ !\\ ! !INTERFACE: ! SUBROUTINE fullchem_AR_SetKeepActive( option ) ! ! !USES: ! USE gckpp_Precision USE gckpp_Global, ONLY : keepActive ! ! !INPUT PARAMETERS: ! LOGICAL, INTENT(IN) :: option !EOP !------------------------------------------------------------------------------ !BOC keepActive = option END SUBROUTINE fullchem_AR_SetKeepActive !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: fullchem_AR_UpdateKppDiags ! ! !DESCRIPTION: Updates KPP diagnostics for the rosenbrock_autoreduce solver !\\ !\\ ! !INTERFACE: ! SUBROUTINE fullchem_AR_UpdateKppDiags( I, J, L, RSTATE, State_Diag ) ! ! !USES: ! USE gckpp_Precision USE gckpp_Global, ONLY : cNONZERO, rNVAR USE gckpp_Integrator, ONLY : NARthr USE State_Diag_Mod, ONLY : DgnState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I, J, L REAL(dp), INTENT(IN) :: RSTATE(20) ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(DgnState), INTENT(INOUT) :: State_Diag !EOP !------------------------------------------------------------------------------ !BOC ! # of species in auto-reduced mechanism IF ( State_Diag%Archive_KppAutoReducerNVAR ) THEN State_Diag%KppAutoReducerNVAR(I,J,L) = rNVAR ENDIF ! Computed threshold IF ( State_Diag%Archive_KppAutoReduceThres ) THEN State_Diag%KppAutoReduceThres(I,J,L) = RSTATE(NARthr) ENDIF ! # of nonzero elements in LU factorization of Jacobian, AR only IF ( State_Diag%Archive_KppcNONZERO ) THEN State_Diag%KppcNONZERO(I,J,L) = cNONZERO ENDIF END SUBROUTINE fullchem_AR_UpdateKppDiags !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: fullchem_AR_SetIntegratorOptions ! ! !DESCRIPTION: Defines the settings for ICNTRL and RCNTRL used for the ! rosenbrock_autoreduce integrator. !\\ !\\ ! !INTERFACE: ! SUBROUTINE fullchem_AR_SetIntegratorOptions( Input_Opt, State_Chm, & State_Met, FirstChem, & I, J, L, & ICNTRL, RCNTRL ) ! ! !USES: ! USE gckpp_Parameters USE gckpp_Precision USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object LOGICAL, INTENT(IN) :: FirstChem ! Is it the 1st chem timestep INTEGER, INTENT(IN) :: I, J, L ! Grid box indices ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: ICNTRL(20) ! Options for KPP (integer) REAL(dp), INTENT(INOUT) :: RCNTRL(20) ! Options for KPP (real ) ! ! !REMARKS: ! This code was abstracted out of the parallel DO loop in DO_FULLCHEM ! (in module GeosCore/fullchem_mod.F90) !EOP !------------------------------------------------------------------------------ !BOC !===================================================================== ! fullchem_AR_SetIntegratorOptions begins here! !===================================================================== ! Initialize ICNTRL = 0 RCNTRL = 0.0_dp !===================================================================== ! Define settings in the ICNTRL vector !===================================================================== ! 0 - non-autonomous, 1 - autonomous ICNTRL(1) = 1 ! NOTE: ICNTRL is already zeroed out so we don't need to ! set this to zero again. Uncomment if you change this value. !! 0 - vector tolerances, 1 - scalars !ICNTRL(2) = 0 ! Select a particular integration method. ! For Rosenbrock, options are: ! = 0 : default method is Rodas3 ! = 1 : method is Ros2 ! = 2 : method is Ros3 ! = 3 : method is Ros4 ! = 4 : method is Rodas3 ! = 5: method is Rodas4 ICNTRL(3) = 4 ! 0 - adjoint, 1 - no adjoint ICNTRL(7) = 1 ! Turn off calling Update_SUN, Update_RCONST, Update_PHOTO from within ! the integrator. Rate updates are done before calling KPP. ICNTRL(15) = -1 ! Specify that a threshold value will be used for auto-reduction. ! The threshold will be specified in RCNTRL(12), see below. IF ( Input_Opt%USE_AUTOREDUCE .and. .not. FIRSTCHEM ) ICNTRL(12) = 1 ! Use the append functionality? IF ( Input_Opt%AUTOREDUCE_IS_APPEND ) ICNTRL(13) = 1 !===================================================================== ! Define settings in the ICNTRL vector !===================================================================== ! Initialize Hstart (the starting value of the integration step ! size with the value of Hnew (the last predicted but not yet ! taken timestep) saved to the the restart file. RCNTRL(3) = State_Chm%KPPHvalue(I,J,L) !--------------------------------------------------------------------- ! Auto-reduce threshold, Method 1: Pressure-dependent ! ! Actual_Threshold = ! Mid-Pressure at Level ! AUTOREDUCE_THRESHOLD (at surface) * -------------------------- ! "Mid-Pressure" at Sfc. ! !--------------------------------------------------------------------- IF ( .not. Input_Opt%AUTOREDUCE_IS_KEY_THRESHOLD ) THEN IF ( Input_Opt%AUTOREDUCE_IS_PRS_THRESHOLD ) THEN RCNTRL(12) = Input_Opt%AUTOREDUCE_THRESHOLD & * State_Met%PMID(I,J,L) & / State_Met%PMID(I,J,1) ENDIF IF ( .not. Input_Opt%AUTOREDUCE_IS_PRS_THRESHOLD ) THEN RCNTRL(12) = Input_Opt%AUTOREDUCE_THRESHOLD ENDIF ENDIF !--------------------------------------------------------------------- ! Auto-reduce threshold, Method 2: Determine threshold ! dynamically by scaling rates of key species. !--------------------------------------------------------------------- IF ( Input_Opt%AUTOREDUCE_IS_KEY_THRESHOLD ) THEN !-------------------------------- ! Daytime target species (OH) !-------------------------------- ICNTRL(14) = ind_OH RCNTRL(14) = Input_Opt%AUTOREDUCE_TUNING_OH !-------------------------------- ! Nighttime target species (NO2) !-------------------------------- ! COMMENTS BY HAIPENG LIN: ! 1e6 daytime conc...testing shows 5e-5 as an offset here works best. ! Use JNO2 as night determination. ! RXN_NO2: NO2 + hv --> NO + O ! JNO2 ranges from 0 to 0.02 and is order ~ 1e-4 at the terminator. ! We set this threshold to be slightly relaxed so it captures the ! terminator, but this needs some tweaking. ! ! For some reason, RXN_NO2 as a proxy fails to propagate the sunset ! terminator even though all diagnostics seem fine, and after a while ! only the OH scheme applies. Use SUNCOSmid as a proxy to fix this. ! (hplin, 4/20/22) ! IF(ZPJ(L,RXN_NO2,I,J) .eq. 0.0_fp) THEN ! IF( State_Met%SUNCOSmid(I,J) .le. -0.1391731e+0_dp ) THEN ICNTRL(14) = ind_NO2 RCNTRL(14) = Input_Opt%AUTOREDUCE_TUNING_NO2 ENDIF ENDIF END SUBROUTINE fullchem_AR_SetIntegratorOptions !EOC END MODULE fullchem_AutoReduceFuncs #endif ================================================ FILE: KPP/fullchem/fullchem_HetStateFuncs.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: fullchem_HetStateFuncs.F90 ! ! !DESCRIPTION: Module for initializing the HetState object, which passes ! arguments from GEOS-Chem to the heterogeneous chemistry routines. !\\ !\\ ! !INTERFACE: MODULE fullchem_HetStateFuncs ! ! !USES: ! USE GcKpp_Precision IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: fullchem_SetStateHet ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: FullChem_SetStateHet ! ! !DESCRIPTION: Initializes the State_Het object with gridbox values passed ! from fullchem_mod. These values are used in the heterogenous chemistry ! reaction rate computations. !\\ !\\ ! !INTERFACE: ! SUBROUTINE fullChem_SetStateHet( I, J, L, & id_SALA, id_SALAAL, id_SALC, & id_SALCAL, Input_Opt, State_Chm, & State_Met, H, RC ) ! ! !USES: ! USE ErrCode_Mod USE GcKpp_Global USE GcKpp_Parameters USE PhysConstants, ONLY : AVO, PI USE Input_Opt_Mod, ONLY : OptInput USE rateLawUtilFuncs USE State_Chm_Mod, ONLY : ChmState, Ind_ USE State_Met_Mod, ONLY : MetState ! Species ID flags ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I ! Lon (or X-dim) gridbox index INTEGER, INTENT(IN) :: J ! Lat (or Y-dim) gridbox index INTEGER, INTENT(IN) :: L ! Vertical level index INTEGER , INTENT(IN) :: id_SALA ! Indices of SALA, SALAAL INTEGER, INTENT(IN) :: id_SALAAL ! SALC, and SALCAL species INTEGER, INTENT(IN) :: id_SALC ! in the State_Chm%Species INTEGER, INTENT(IN) :: id_SALCAL ! object TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object TYPE(MetState), INTENT(IN) :: State_Met ! Meterology State object ! ! INPUT/OUTPUT PARAMETERS: ! TYPE(HetState), INTENT(INOUT) :: H ! Hetchem State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: NA !======================================================================== ! Populate fields of the HetState object in gckpp_Global !======================================================================== ! Initialization RC = GC_SUCCESS NA = State_Chm%nAeroType !======================================================================== ! Populate fields of the HetState object in gckpp_Global !======================================================================== ! Identify a box for debug printout within rate-law functions debugBox = .FALSE. ! Constants (so that we can use these within KPP) H%AVO = AVO H%PI = PI ! Meteorology-related quantities H%CldFr = MIN(MAX(State_Met%CLDF(I,J,L), 0.0_dp), 1.0_dp) H%ClearFr = 1.0_dp - H%CldFr H%QICE = State_Met%QI(I,J,L) H%QLIQ = State_Met%QL(I,J,L) H%vAir = State_Met%AIRVOL(I,J,L) * 1.0e6_dp ! Aerosol fields H%nAeroType = State_Chm%nAeroType H%aClArea = State_Chm%aClArea(I,J,L) H%aClRadi = State_Chm%aClRadi(I,J,L) H%aClVol = H%aClArea * H%aClRadi / 3.0_dp H%AWATER(:) = State_Chm%IsorropAeroH2O(I,J,L,:) H%xArea(1:NA) = State_Chm%AeroArea(I,J,L,1:NA) H%xRadi(1:NA) = State_Chm%AeroRadi(I,J,L,1:NA) H%xVol(1:NA) = H%xArea(1:NA) * H%xRadi(1:NA) / 3.0_dp H%wetArea(1:NA) = State_Chm%WetAeroArea(I,J,L,1:NA) H%xH2O(1:NA) = State_Chm%AeroH2O(I,J,L,1:NA) * 1.0e-6_dp H%OMOC_POA = State_Chm%OMOC_POA(I,J) H%OMOC_OPOA = State_Chm%OMOC_OPOA(I,J) ! HSO3 and SO3 concentrations in cloud [mol/L] H%HSO3_aq = State_Chm%HSO3_aq(I,J,L) H%SO3_aq = State_Chm%SO3_aq(I,J,L) H%TSO3_aq = H%HSO3_aq + H%SO3_aq H%frac_HSO3_aq = SafeDiv( H%HSO3_aq, H%TSO3_aq, 0.0_dp ) H%frac_SO3_aq = SafeDiv( H%SO3_aq, H%TSO3_aq, 0.0_dp ) ! Concentrations from ISORROPIA/HETP H%HSO4_molal = State_Chm%IsorropBisulfate(I,J,L) H%NO3_molal = State_Chm%IsorropNitrate(I,J,L,1) H%SO4_molal = State_Chm%IsorropSulfate(I,J,L) ! pH and alkalinity fields H%H_plus = State_Chm%IsorropHplus(I,J,L,1) H%pHCloud = State_Chm%pHCloud(I,J,L) H%pHSSA(:) = State_Chm%IsorropAeropH(I,J,L,:) H%H_conc_Sul = 10.0**( -1.0_dp * H%pHSSA(1) ) H%H_conc_LCl = 10.0**( -1.0_dp * H%pHCloud ) H%H_conc_ICl = 10.0**( -4.5_dp ) H%H_conc_SSA = H%H_conc_Sul H%H_conc_SSC = 10.0**( -5.0_dp ) H%f_Alk_SSA = SafeDiv( State_Chm%Species(id_SALAAL)%Conc(I,J,L), & State_Chm%Species(id_SALA )%Conc(I,J,L), & 0.0_dp ) H%f_Alk_SSA = MAX( MIN( H%f_Alk_SSA, 1.0_dp ), 0.0_dp ) H%f_Acid_SSA = 1.0_dp - H%f_Alk_SSA H%f_Alk_SSC = SafeDiv( State_Chm%Species(id_SALCAL)%Conc(I,J,L), & State_Chm%Species(id_SALC )%Conc(I,J,L), & 0.0_dp ) H%f_Alk_SSC = MAX( MIN( H%f_Alk_SSC, 1.0_dp ), 0.0_dp ) H%f_Acid_SSC = 1.0_dp - H%f_Alk_SSC H%SSA_is_Alk = ( ABS( H%f_Alk_SSA ) > 0.01_dp ) H%SSA_is_Acid = ( .not. H%SSA_is_Alk ) H%SSC_is_Alk = ( ABS( H%f_Alk_SSC ) > 0.01_dp ) H%SSC_is_Acid = ( .not. H%SSC_is_Alk ) ! Other fields H%gamma_HO2 = Input_Opt%gamma_HO2 ! Correction factors for HOBr and HOCl removal by SO2 [1] H%fupdateHOBr = State_Chm%fupdateHOBr(I,J,L) H%fupdateHOCl = State_Chm%fupdateHOCl(I,J,L) ! Aqueous S(IV) in cloudwater ! ! -- This is the ratio of HSO3-/SO2, both in units of molec/cm3. ! It allows the use of SO2 in the reactions with HOCl and HOBr, ! and converts SO2 to HSO3- via the reaction rate constant. H%HSO3m = SafeDiv( State_Chm%HSO3_aq(I,J,L) * 1.0e-3_dp * & State_Het%AVO * & State_Met%QL(I,J,L) * & State_Met%AIRDEN(I,J,L) * 1.0e-3_dp, & State_Met%CLDF(I,J,L), & 0.0_dp ) ! Avoid div-by-zero condition H%HSO3m = SafeDiv( H%HSO3m, C(ind_SO2), 0.0_dp ) ! -- This is the ratio of SO3--/SO2, both in units of molec/cm3. ! It allows the use of SO2 in the reactions with HOCl and HOBr, ! and converts SO2 to SO3-- via the reaction rate constant. H%SO3mm = SafeDiv( State_Chm%SO3_aq(I,J,L) * 1.0e-3_dp * & State_Het%AVO * & State_Met%QL(I,J,L) * & State_Met%AIRDEN(I,J,L) * 1.0e-3_dp, & State_Met%CLDF(I,J,L), & 0.0_dp ) ! Avoid div-by-zero condition H%SO3mm = SafeDiv( H%SO3mm, C(ind_SO2), 0.0_dp ) ! Cloud fields CALL Cld_Params( AD = State_Met%AD(I,J,L), & CLDF = State_Met%CLDF(I,J,L), & FRLAND = State_Met%FRLAND(I,J), & FROCEAN = State_Met%FROCEAN(I,J), & QI = State_Met%QI(I,J,L), & QL = State_Met%QL(I,J,L), & T = State_Met%T(I,J,L), & H = H ) ! Get theta for ice cloud uptake CALL Get_Theta_Ice( C(ind_HNO3), C(ind_HCl), C(ind_HBr), H ) ! Halide (Br- and Cl-) concentrations CALL Halide_Conc( I, J, L, H ) !======================================================================== ! Copy quantities for UCX into gckpp_Global variables !======================================================================== ! ... copy uptake probabilities for PSC reactions on SLA ! ... to the proper gckpp_Global variable H%KHETI_SLA(1:11) = State_Chm%KHETI_SLA(I,J,L,1:11) ! ... check if we are in the stratosphere H%stratBox = State_Met%InStratosphere(I,J,L) ! ... check if there are solid PSCs at this grid box H%pscBox = & ( ( Input_Opt%LPSCCHEM ) .and. & ( State_Chm%STATE_PSC(I,J,L) >= 2.0 ) .and. H%stratBox ) ! ... check if there is surface NAT at this grid box H%natSurface = ( H%pscBox .and. ( C(ind_NIT) > 0.0_dp ) ) ! Flag to turn off heterogeneous reactions in stratosphere H%TurnOffHetRates = Input_Opt%TurnOffHetRates END SUBROUTINE FullChem_SetStateHet !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_Theta_Ice ! ! !DESCRIPTION: Subroutine GET_THETA_ICE returns theta values for ! HNO3, HCl, and HBr for ice uptake calculations !\\ !\\ ! !INTERFACE: ! SUBROUTINE Get_Theta_Ice( HNO3, HCl, HBr, H ) ! ! !USES: ! USE Gckpp_Global, ONLY : HetState, TEMP ! ! !INPUT PARAMETERS: ! REAL(dp), INTENT(IN) :: HNO3 ! HNO3 conc [molec/cm3] REAL(dp), INTENT(IN) :: HCl ! HCl conc [molec/cm3] REAL(dp), INTENT(IN) :: HBr ! HBr conc [molec/cm3] ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(HetState), INTENT(INOUT) :: H ! Hetchem State object !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(dp) :: KLangC1, KLangC2, KlinC, denom !================================================================= ! GET_THETA_ICE begins here! !================================================================= KlinC = 7.5e-5_dp * EXP( 4585.0_dp / TEMP ) ! 1/cm KLangC1 = KlinC / 2.7e+14_dp ! cm3/molec ! HCl KlinC = 1.3e-5_dp * EXP( 4600.0_dp / TEMP ) ! 1/cm KLangC2 = KlinC / 3.0e+14_dp ! cm3/molec denom = 1.0_dp + KLangC1*HNO3 + KLangC2*HCl H%HNO3_theta = KLangC1*HNO3 / denom H%HCl_theta = KLangC2*HCl / denom ! HBr H%HBr_theta = 4.14e-10_dp * ( HBr**0.88_dp ) H%HBr_theta = MIN( H%HBr_theta, 1.0_dp ) END SUBROUTINE Get_Theta_Ice !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Halide_Conc ! ! !DESCRIPTION: Initializes halide (Br-, Cl-) concentrations at each ! grid box for use in heterogeneous chemistry routines. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Halide_Conc( I, J, L, H ) ! ! !USES: ! USE Gckpp_Global USE GcKpp_Parameters ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I ! Longitude (X) index INTEGER, INTENT(IN) :: J ! Latitude (Y) index INTEGER, INTENT(IN) :: L ! Altitude (Z) index ! ! !OUTPUT PARAMETERS: ! TYPE(HetState), INTENT(INOUT) :: H ! Hetchem State object !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(dp) :: Br_conc, Cl_conc, denom, HBr, HCl !======================================================================= ! Initialization !======================================================================= ! Set Br and Cl fields of State_Het to zero H%Br_conc_CldG = 0.0_dp H%Br_conc_CldA = 0.0_dp H%Br_conc_CldC = 0.0_dp H%Br_over_Cl_Cld = 0.0_dp H%Br_over_Cl_SSA = 0.0_dp H%Br_over_Cl_SSC = 0.0_dp H%Cl_conc_CldG = 0.0_dp H%Cl_conc_CldA = 0.0_dp H%Cl_conc_CldC = 0.0_dp H%frac_Br_CldA = 0.0_dp H%frac_Br_CldC = 0.0_dp H%frac_Br_CldG = 0.0_dp H%frac_Cl_CldA = 0.0_dp H%frac_Cl_CldC = 0.0_dp H%frac_Cl_CldG = 0.0_dp !======================================================================= ! Get halide conc's in cloud (gas-phase, fine & coarse sea salt) !======================================================================= ! Br- and Cl- grid-box concentrations HBr = C(ind_HBr) + ( C(ind_BrSALA) * 0.7_dp ) + C(ind_BrSALC) HCl = C(ind_HCl) + ( C(ind_SALACL) * 0.7_dp ) + C(ind_SALCCL) ! Get overall Br- and Cl- grid box concentrations in cloud CALL Get_Halide_CldConc( H, HBr, HCl, Br_conc, Cl_conc ) ! Split Br- into gas-phase (G), fine sea salt (A), coarse sea salt (C) ! Avoid div-by-zero (all three expressions use the same denominator) denom = C(ind_HBr) + ( C(ind_BrSALA) * 0.7_dp ) + C(ind_BrSALC) IF ( denom > 0.0_dp ) THEN H%Br_conc_CldG = ( Br_conc * C(ind_HBr ) ) / denom H%Br_conc_CldA = ( Br_conc * C(ind_BrSALA) * 0.7_dp ) / denom H%Br_conc_CldC = ( Br_conc * C(ind_BrSALC) ) / denom ENDIF ! Split Cl- into gas-phase (G), fine sea salt (A), coarse sea salt (C) ! Avoid div-by-zero (all three expressions use the same denominator) denom = C(ind_HCl) + ( C(ind_SALACL) * 0.7_dp ) + C(ind_SALCCL) IF ( denom > 0.0_dp ) THEN H%Cl_conc_CldG = ( Cl_conc * C(ind_HCl ) ) / denom H%Cl_conc_CldA = ( Cl_conc * C(ind_SALACL) * 0.7_dp ) / denom H%Cl_conc_CldC = ( Cl_conc * C(ind_SALCCL) ) / denom ENDIF ! Total Br- and Cl- in cloud H%Br_conc_Cld = H%Br_conc_CldA + H%Br_conc_CldC + H%Br_conc_CldG H%Cl_conc_Cld = H%Cl_conc_CldA + H%Cl_conc_CldC + H%Cl_conc_CldG ! Fractions of Br- in each of the CldA, CldG, CldC paths IF ( H%Br_Conc_Cld > 0.0_dp ) THEN H%frac_Br_CldA = H%Br_conc_CldA / H%Br_conc_Cld H%frac_Br_CldC = H%Br_conc_CldC / H%Br_conc_Cld H%frac_Br_CldG = H%Br_conc_CldG / H%Br_conc_Cld ENDIF ! Branching ratios for Br- in each of the CldA, CldG, CldC paths IF ( H%Cl_Conc_Cld > 0.0_dp ) THEN H%frac_Cl_CldA = H%Cl_conc_CldA / H%Cl_conc_Cld H%frac_Cl_CldC = H%Cl_conc_CldC / H%Cl_conc_Cld H%frac_Cl_CldG = H%Cl_conc_CldG / H%Cl_conc_Cld ENDIF !======================================================================= ! Get halide concentrations, in aerosol !======================================================================= ! Br- concentration in fine sea salt aerosol CALL Get_Halide_SSAConc( n_x = C(ind_BrSALA), & surf_area = H%aClArea, & r_w = H%aClRadi, & conc_x = H%Br_conc_SSA ) ! Br- concentration in coarse sea salt aerosol CALL Get_Halide_SSAConc( n_x = C(ind_BrSALC), & surf_area = H%xArea(12), & r_w = H%xRadi(12), & conc_x = H%Br_conc_SSC ) ! Cl- concentration in fine sea salt aerosol CALL Get_Halide_SSAConc( n_x = C(ind_SALACL), & surf_area = H%aClArea, & r_w = H%aClRadi, & conc_x = H%Cl_conc_SSA ) ! Cl- concentration in coarse sea salt aerosol CALL Get_Halide_SSAConc( n_x = C(ind_SALCCL), & surf_area = H%xArea(12), & r_w = H%xRadi(12), & conc_x = H%Cl_conc_SSC ) ! NO3- concentration in fine sea salt aerosol CALL Get_Halide_SSAConc( n_x = C(ind_NIT), & surf_area = H%aClArea, & r_w = H%aClRadi, & conc_x = H%NIT_conc_SSA ) ! NO3- concentration in coarse sea salt aerosol CALL Get_Halide_SSAConc( n_x = C(ind_NITs), & surf_area = H%xArea(12), & r_w = H%xRadi(12), & conc_x = H%NIT_conc_SSC ) !======================================================================= ! Ratios of Br- to Cl- !======================================================================= IF ( H%Cl_conc_Cld > 0.0_dp ) THEN H%Br_over_Cl_Cld = H%Br_conc_Cld / H%Cl_conc_Cld ! in gas, in-cloud ENDIF IF ( H%Cl_conc_SSA > 0.0_dp ) THEN H%Br_over_Cl_SSA = H%Br_conc_SSA / H%Cl_conc_SSA ! in fine sea salt ENDIF IF ( H%Cl_conc_SSC > 0.0_dp ) THEN H%Br_over_Cl_SSC = H%Br_conc_SSC / H%Cl_conc_SSC ! in coarse sea salt ENDIF !======================================================================= ! Fraction of SALACL in total fine sea salt !======================================================================= IF (( C(ind_SALACL) + C(ind_NIT) + C(ind_SO4)) > 0.0_dp) THEN H%frac_SALACL = C(ind_SALACL) / ( C(ind_SALACL) + C(ind_NIT) + C(ind_SO4) ) ELSE H%frac_SALACL = 0.0_dp ENDIF END SUBROUTINE Halide_Conc !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_Halide_CldConc ! ! !DESCRIPTION: Subroutine GET\_HALIDE\_CLDCONC returns the in-cloud ! concentration of bromide and chloride (Br- and Cl-). !\\ !\\ ! !INTERFACE: ! SUBROUTINE Get_Halide_CldConc( H, HBr, HCl, br_conc, cl_conc ) ! ! !USES: ! USE gckpp_Global USE rateLawUtilFuncs, ONLY : SafeDiv ! ! !INPUT PARAMETERS: ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State object REAL(dp), INTENT(IN) :: HBr ! HBr- concentration [#/cm3] REAL(dp), INTENT(IN) :: HCl ! HCl- concentration [#/cm3] ! ! !OUTPUT PARAMETERS: ! REAL(dp), INTENT(OUT) :: Br_conc ! Br conc [M/kg water] REAL(dp), INTENT(OUT) :: Cl_conc ! Cl conc [M/kg water] !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(dp) :: V_tot, dr_ratio, t2l, F_L, L2G, pH !================================================================= ! Get_Halide_CldConc begins here! !================================================================= !--------------------------------------------------------------- ! jas, 07/30/2014 (SETUP d/r ratio for ice cloud droplets) ! V_liq = 4pi/3 ( r^3 - (r - r*(d/r))^3 = (r^3 - r^3*(1 - d/r)^3) = r^3 (1 ! - (1 - d/r)^3 ! V_tot / V_liq = 1 / (1 - (1 - d/r)^3)) DR_RATIO = 2e-2_dp T2L = 1.0_dp / ( 1.0_dp - ( 1.0_dp - DR_RATIO)**3 ) !--------------------------------------------------------------- ! V_tot = VLiq + (VIce / T2L) ! (cm3(liq)/cm3(air) V_tot = H%VLiq V_tot = SafeDiv( V_tot, H%CldFr, 0.0_dp ) ! Exit if not in cloud IF ( V_tot < 1.0e-20_dp ) THEN Br_conc = 0.0_dp Cl_conc = 0.0_dp RETURN ENDIF ! Note from Viral Shah (06 Dec 2021): ! I believe V_tot corresponds to H2OLIQ, which is the cloud liquid ! water content. Whereas L2G is H_eff * H2OLIQ. Note that H_eff is ! dimensionless in this equation, not in the more commonly used units ! of M/atm. ! Chloride (mol/L) CALL Compute_L2G_Local( K0 = 1.0_dp, CR = 9000.0_dp, & pKa = -6.3_dp, TK = TEMP, & H2OLIQ = V_tot, pH = H%pHCloud, & L2G = L2G ) F_L = L2G / ( 1.0_dp + L2G ) Cl_conc = F_L * HCl / (V_tot * H%AVO * 1.0e-3_dp) ! Bromide (mol/L) CALL Compute_L2G_Local( K0 = 7.5e-1_dp, CR = 10200.0_dp, & pKa = -9.0_dp, TK = TEMP, & H2OLIQ = V_tot, pH = H%pHCloud, & L2G = L2G ) F_L = L2G / ( 1.0_dp + L2G ) Br_conc = F_L * HBr / ( V_tot * H%AVO * 1.0e-3_dp ) END SUBROUTINE Get_Halide_CldConc !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_Halide_SsaConc ! ! !DESCRIPTION: Calculates concentration of a halide in sea salt aerosol. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Get_Halide_SsaConc( n_x, surf_area, r_w, conc_x ) ! ! !USES: ! USE GcKpp_Global, ONLY : HetState USE PhysConstants, ONLY : AVO ! ! !INPUT PARAMETERS: ! REAL(dp), INTENT(IN) :: n_x ! Number density [#/cm3 ] REAL(dp), INTENT(IN) :: surf_area ! Surface area [cm2/cm3] REAL(dp), INTENT(IN) :: r_w ! Aerosol wet radius [cm ] ! ! !OUTPUT PARAMETERS: ! REAL(dp), INTENT(OUT) :: conc_x ! Halide conc in seasalt [mol/L] !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL(dp) :: V_tot !================================================================== ! Get_Halide_SsaConc begins here! !================================================================== ! Cloud volume V_tot = ( surf_area * r_w / 3.0_dp ) * 1e-3_dp ! L(liq)/cm3(air) ! Skip if we are not in cloud IF ( V_tot <= 1.0e-20_dp ) THEN conc_x = 0.0_dp RETURN ENDIF ! This calculation can be used for both SSA X- concentration and for ! those out of cloud only. For X- out of cloud only, V_tot = ! V_tot*(1-CF), n_x = n_x*(1-CF), so (1-CF) is canceled. ! xnw, 02/05/18 conc_x = ( n_x / AVO ) / V_tot ! mol/L conc_x = MAX( conc_x, 0.0_dp ) END SUBROUTINE Get_Halide_SsaConc !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Compute_L2G_Local ! ! !DESCRIPTION: Subroutine COMPUTE\_L2G\_LOCAL is a local copy of the ! liquid-gas partitioning routine in GEOS-Chem's wetscav\_mod.F file. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Compute_L2G_Local( K0, CR, pKa, TK, H2OLIQ, pH, L2G ) ! ! !USES: ! USE Henry_Mod, ONLY : Calc_KH USE Henry_Mod, ONLY : Calc_Heff ! ! !INPUT PARAMETERS: ! REAL(dp), INTENT(IN) :: K0 ! Henry's solubility constant [M/atm] REAL(dp), INTENT(IN) :: CR ! Henry's volatility constant [K] REAL(dp), INTENT(IN) :: pKa ! Henry's pH correction factor [1] REAL(dp), INTENT(IN) :: TK ! Temperature [K] REAL(dp), INTENT(IN) :: H2OLIQ ! Liquid water content [cm3 H2O/cm3 air] REAL(dp), INTENT(IN) :: pH ! Liquid water pH ! ! !OUTPUT PARAMETERS: ! REAL(dp), INTENT(OUT) :: L2G ! Cliq/Cgas ratio [1] ! ! !REMARKS: ! The ratio Cliq / Cgas is obtained via Henry's law. The appropriate ! values of Kstar298 and H298_R must be supplied for each species. ! (cf Jacob et al 2000, p. 3) !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: RC REAL*8 :: CR_8, H2OLIQ_8, HEFF_8, K0_8, KH_8 REAL*8 :: L2G_8, TK_8, pKa_8, pH_8 !================================================================= ! COMPUTE_L2G_LOCAL begins here! !================================================================= ! Cast inputs to REAL*8 CR_8 = CR K0_8 = K0 pka_8 = pKa pH_8 = pH TK_8 = TK ! For wetdep, we assume a pH of 4.5 for rainwater !pH = 4.5_dp ! Calculate the Henry's law constant CALL CALC_KH( K0_8, CR_8, TK_8, KH_8, RC ) ! Calculate effective Henry's law constant, corrected for pH ! (for those species that have a defined pKa value) CALL CALC_HEFF( pKa_8, pH_8, KH_8, HEFF_8, RC ) ! Use Henry's Law to get the ratio: ! [ mixing ratio in liquid phase / mixing ratio in gas phase ] L2G_8 = HEFF_8 * H2OLIQ ! Cast outputs to flex-precision L2G = L2G_8 END SUBROUTINE Compute_L2G_Local !EOC END MODULE fullchem_HetStateFuncs ================================================ FILE: KPP/fullchem/fullchem_RateLawFuncs.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: fullchem_RateLawFuncs ! ! !DESCRIPTION: Provides rate-law functions used by the "fullchem" chemical ! mechanism. This will be referenced from within subroutine Update_RCONST. !\\ !\\ ! !INTERFACE: ! MODULE fullchem_RateLawFuncs ! ! !USES: ! USE gckpp_Global USE gckpp_Parameters USE gckpp_Precision USE rateLawUtilFuncs IMPLICIT NONE PUBLIC ! ! !DEFINED PARAMETERS: ! ! Indices for aerosol type (1 .. NAEROTYPE=14) INTEGER, PRIVATE, PARAMETER :: DU1 = 1 ! Dust (Reff = 0.151 um) INTEGER, PRIVATE, PARAMETER :: DU2 = 2 ! Dust (Reff = 0.253 um) INTEGER, PRIVATE, PARAMETER :: DU3 = 3 ! Dust (Reff = 0.402 um) INTEGER, PRIVATE, PARAMETER :: DU4 = 4 ! Dust (Reff = 0.818 um) INTEGER, PRIVATE, PARAMETER :: DU5 = 5 ! Dust (Reff = 1.491 um) INTEGER, PRIVATE, PARAMETER :: DU6 = 6 ! Dust (Reff = 2.417 um) INTEGER, PRIVATE, PARAMETER :: DU7 = 7 ! Dust (Reff = 3.721 um) INTEGER, PRIVATE, PARAMETER :: SUL = 8 ! Tropospheric Sulfate INTEGER, PRIVATE, PARAMETER :: BKC = 9 ! Black Carbon INTEGER, PRIVATE, PARAMETER :: ORC = 10 ! Organic Carbon INTEGER, PRIVATE, PARAMETER :: SSA = 11 ! Accum-mode sea salt INTEGER, PRIVATE, PARAMETER :: SSC = 12 ! Coarse-mode sea salt INTEGER, PRIVATE, PARAMETER :: SLA = 13 ! Strat sulfate liq aer INTEGER, PRIVATE, PARAMETER :: IIC = 14 ! Irregular ice cloud ! Indices for Fine and Coarse sea-salt indices INTEGER, PRIVATE, PARAMETER :: SS_FINE = 1 INTEGER, PRIVATE, PARAMETER :: SS_COARSE = 2 ! Indices for the KHETI_SLA array INTEGER, PRIVATE, PARAMETER :: N2O5_plus_H2O = 1 INTEGER, PRIVATE, PARAMETER :: N2O5_plus_HCl = 2 ! KHETI_SLA(2) = 0 INTEGER, PRIVATE, PARAMETER :: ClNO3_plus_H2O = 3 INTEGER, PRIVATE, PARAMETER :: ClNO3_plus_HCl = 4 INTEGER, PRIVATE, PARAMETER :: ClNO3_plus_HBr = 5 INTEGER, PRIVATE, PARAMETER :: BrNO3_plus_H2O = 6 INTEGER, PRIVATE, PARAMETER :: BrNO3_plus_HCl = 7 INTEGER, PRIVATE, PARAMETER :: HOCl_plus_HCl = 8 INTEGER, PRIVATE, PARAMETER :: HOCl_plus_HBr = 9 ! KHETI_SLA(9) = 0 INTEGER, PRIVATE, PARAMETER :: HOBr_plus_HCl = 10 INTEGER, PRIVATE, PARAMETER :: HOBr_plus_HBr = 11 ! KHETI_SLA(11)= 0 ! Critical RH [%] for uptake of GLYX, MGLYX, and GLYC: REAL(dp), PRIVATE, PARAMETER :: CRITRH = 35.0_dp ! Conversion factor from atm to bar REAL(dp), PRIVATE, PARAMETER :: CON_ATM_BAR = 1.0_dp / 1.01325_dp ! Reference temperature used in Henry's law REAL(dp), PRIVATE, PARAMETER :: INV_T298 = 1.0_dp / 298.15_dp ! ! !REFERENCES: ! Eastham et al., Development and evaluation of the unified tropospheric- ! stratospheric chemistry extension (UCX) for the global chemistry-transport ! model GEOS-Chem, Atmos. Env., doi:10.1016/j.atmosenv.2014.02.001, 2014. ! Fisher et al, Organic nitrate chemistry and its implications for nitrogen ! budgets in an isoprene- and monoterpene-rich atmosphere: constraints from ! aircraft (SEAC4RS) and ground-based (SOAS) observations in the Southeast ! US. Atmos. Chem. Phys., 16, 2961-1.02990, 2016. ! Holmes, C.D., Bertram, T. H., Confer, K. L., Ronan, A. C., Wirks, C. K., ! Graham, K. A., Shah, V. (2019) The role of clouds in the tropospheric ! NOx cycle: a new modeling approach for cloud chemistry and its global ! implications, Geophys. Res. Lett. 46, 4980-4990, ! https://doi.org/10.1029/2019GL081990 ! Marais et al., Aqueous-phase mechanism for secondary organic aerosol ! formation from isoprene: application to the southeast United States and ! co-benefit of SO2 emission controls, Atmos. Chem. Phys., 16, 1603-1618, ! doi:10.5194/acp-16-1603-2016, 2016. ! Parrella et al, Tropospheric bromine chemistry: implications for present and ! pre-industrial ozone and mercury, Atmos. Chem. Phys., 12, 6,723-6,740, ! doi:10.5194/acp-12-6723-2012, 2012. ! Schmidt, J., et al., “Modelling the observed tropospheric BrO background: ! Importance of multiphase chemistry & implications for ozone, OH, & ! mercury”, J Geophys. Res-Atmos., 121, 024229, ! https://doi.org/10.1002/2015JD024229, 2016. ! Sherwen, T., et al., Global impacts of tropospheric halogens (Cl, Br, I) on ! oxidants and composition in GEOS-Chem, Atmos. Chem. Phys., 16, 12239-12271, ! https://doi.org/10.5194/acp-16-12239-2016, 2016. !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !######################################################################### !##### RATE-LAW FUNCTIONS FOR GAS-PHASE REACTIONS ##### !##### Some common functions are defined in rateLawUtilFuncs.F90 ##### !######################################################################### FUNCTION ARRPLUS_ade( a0, d0, e0 ) RESULT( k ) ! Modified Arrhenius law, skipping computation of EXP( -b0/T ) ! and ( 300/T )**c0 terms, which evaluate to 1 when b0 = c0 = 0. ! This avoids excess CPU cycles. (bmy, 12/18/20) ! ! Used to compute the rate for these reactions: ! IHOO1 + IHOO1 = 2MVK + 2HO2 + 2CH2O ! IHOO4 + IHOO4 = 2MACR + 2HO2 + 2CH2O ! IHOO1 + IHOO4 = MACR + MVK + 2HO2 + 2CH2O ! IHOO1 + IHOO1 = HO2 + HC5A + CO + OH + MVKHP ! IHOO4 + IHOO4 = HO2 + HC5A + CO + OH + MCRHP ! IHOO1 + IHOO4 = HO2 + HC5A + CO + OH + 0.5MVKHP + 0.5MCRHP ! IHOO1 + MO2 = MVK + 2HO2 + 2CH2O : ! IHOO1 + MO2 = CH2O + 0.5HC5A + 1.5HO2 + 0.5MVKHP + 0.5CO + 0.5OH ! IHOO4 + MO2 = MACR + 2HO2 + 2CH2O ! IHOO4 + MO2 = CH2O + 0.5HC5A + 1.5HO2 + 0.5MCRHP + 0.5CO + 0.5OH ! REAL(dp), INTENT(IN) :: a0, d0, e0 REAL(dp) :: k ! k = a0 * ( d0 + ( TEMP * e0 ) ) k = MAX( k, 0.0_dp ) END FUNCTION ARRPLUS_ade FUNCTION ARRPLUS_abde( a0, b0, d0, e0 ) RESULT( k ) ! Modified Arrhenius law, skipping computation of ( T/300 )**c0, ! which evaluates to 1 when c0=0. This avoids excess CPU cycles. ! (bmy, 12/18/20) ! ! Used to compute the rate for these reactions: ! IHOO1 + HO2 = 0.063MVK + 0.063OH + 0.063HO2 + 0.063CH2O + 0.937RIPA ! IHOO1 + HO2 = RIPC ! IHOO4 + HO2 = 0.063MACR + 0.063OH + 0.063HO2 + 0.063CH2O + 0.937RIPB ! IHOO4 + HO2 = RIPD ! IHOO1 = CH2O + OH + MVK ! IHOO4 = MACR + OH + CH2O ! REAL(dp), INTENT(IN) :: a0, b0, d0, e0 REAL(dp) :: k ! k = a0 * ( d0 + ( TEMP * e0 ) ) * EXP( -b0 / TEMP ) k = MAX( k, 0.0_dp ) END FUNCTION ARRPLUS_abde FUNCTION TUNPLUS_abcde( a0, b0, c0, d0, e0 ) RESULT( k ) ! Used to compute the rate for these reactions: ! IHOO1 = 1.5OH + ... ! IHOO4 = 1.5OH + ... ! REAL(dp), INTENT(IN) :: a0, b0, c0, d0, e0 REAL(dp) :: k ! k = a0 * ( d0 + ( TEMP * e0 ) ) k = k * EXP( b0 / TEMP ) * EXP( c0 / TEMP**3 ) k = MAX( k, 0.0_dp ) END FUNCTION TUNPLUS_abcde FUNCTION GC_ISO1( a0, b0, c0, d0, e0, f0, g0 ) RESULT( k ) ! Used to compute the rate for these reactions: ! ISOP + OH = LISOPOH + IHOO1 ! ISOP + OH = LISOPOH + IHOO4 ! REAL(dp), INTENT(IN) :: a0, b0, c0, d0, e0, f0, g0 REAL(dp) :: k0, k1, k2, k ! k0 = d0 * EXP( e0 / TEMP ) * EXP( 1.0E8_dp / TEMP**3 ) k1 = f0 * EXP( g0 / TEMP ) k2 = c0 * k0 / ( k0 + k1 ) k = a0 * EXP( b0 / TEMP ) * ( 1.0_dp - k2 ) END FUNCTION GC_ISO1 FUNCTION GC_ISO2( a0, b0, c0, d0, e0, f0, g0 ) RESULT( k ) ! Used to compute the rate for these reactions: ! ISOP + OH = 0.3MCO3 + 0.3MGLY + 0.3CH2O ! + 0.15HPALD3 + 0.25HPALD1 + 0.4HO2 ! + 0.6CO + 1.5OH + 0.3HPETHNL + LISOPOH ! ISOP + OH = 0.3CH2O + 0.15HPALD4 + 0.25HPALD2 ! + 1.5OH + 0.9CO + 0.7HO2 + 0.3MGLY ! + 0.3ATOOH + LISOPOH ! REAL(dp), INTENT(IN) :: a0, b0, c0, d0, e0, f0, g0 REAL(dp) :: k0, k1, k2, k ! k0 = d0 * EXP( e0 / TEMP ) * EXP( 1.0E8_dp / TEMP**3 ) k1 = f0 * EXP( g0 / TEMP ) k2 = c0 * k0 / ( k0 + k1 ) k = a0 * EXP( b0 / TEMP ) * k2 END FUNCTION GC_ISO2 FUNCTION GC_EPO_a( a1, e1, m1 ) RESULT( k ) ! Used to compute the rate for these reactions: ! RIPA + OH = 0.67IEPOXA + 0.33IEPOXB + OH + 0.005LVOC ! RIPB + OH = 0.68IEPOXA + 0.321IEPOB + OH + 0.005LVOC ! IEPOXA + OH = 0.67IEPOXA00 + 0.33IEPOXB00 ! IEPOXB + OH = 0.81IEPOXA00 + 0.19IEPOXB00 ! IHN2 + OH = 0.67IEPOXA + 0.33IEPOXB + NO2 ! IHN3 + OH = 0.67IEPOXA + 0.33IEPOXB + NO2 ! IHN1 + OH = IEPOXD + NO2 ! IHN4 + OH = IEPOXD + NO2 ! INPB + OH = OH + ITHN ! INPD + OH = OH + ITHN ! INPD + OH = NO2 + ICHE ! ICN + OH = NO2 + ICHE ! REAL(dp), INTENT(IN) :: a1, e1, m1 REAL(dp) :: k1, k ! k1 = 1.0_dp / ( m1 * NUMDEN + 1.0_dp ) k = a1 * EXP( e1 / TEMP ) * K1 END FUNCTION GC_EPO_a FUNCTION GC_PAN_abab( a0, b0, a1, b1, cf ) RESULT( k ) ! Used to compute the rate for these reactions: ! MACR1OO + NO2 = MPAN ! MACRNO2 + NO2 = MPAN + NO2 ! ! For these reactions, these Arrhenius law terms evaluate to 1: ! EXP(b0/T) ! EXP(b1/T) ! because b0 = b1 = 0. Therefore we can skip computing these ! terms. This avoids excess CPU cycles. (bmy, 12/18/20) ! ! Sept 27 2012: Added GC_PAN_abab per Kelvin Bates' requirements ! for aromatic chem. REAL(dp), INTENT(IN) :: a0, b0, a1, b1, cf REAL(dp) :: k0, k1, kr, nc, f, k ! k0 = a0 * EXP( b0 / TEMP ) k1 = a1 * EXP( b1 / TEMP ) k0 = k0 * NUMDEN kr = k0 / k1 nc = 0.75_dp - 1.27_dp * ( LOG10( cf ) ) f = 10.0_dp**( LOG10( cf ) / ( 1.0_dp + ( LOG10( kr ) / nc )**2 ) ) k = k0 * k1 * f / ( k0 + k1 ) END FUNCTION GC_PAN_abab FUNCTION GC_PAN_acac( a0, c0, a1, c1, cf ) RESULT( k ) ! Used to compute the rate for these reactions: ! MACR1OO + NO2 = MPAN ! MACRNO2 + NO2 = MPAN + NO2 ! ! For these reactions, these Arrhenius law terms evaluate to 1: ! EXP(b0/T) ! EXP(b1/T) ! because b0 = b1 = 0. Therefore we can skip computing these ! terms. This avoids excess CPU cycles. (bmy, 12/18/20) ! REAL(dp), INTENT(IN) :: a0, c0, a1, c1, cf REAL(dp) :: k0, k1, kr, nc, f, k ! k0 = a0 * TEMP_OVER_K300**c0 k1 = a1 * TEMP_OVER_K300**c1 k0 = k0 * NUMDEN kr = k0 / k1 nc = 0.75_dp - 1.27_dp * ( LOG10( cf ) ) f = 10.0_dp**( LOG10( cf ) / ( 1.0_dp + ( LOG10( kr ) / nc )**2 ) ) k = k0 * k1 * f / ( k0 + k1 ) END FUNCTION GC_PAN_acac FUNCTION GC_NIT( a0, b0, c0, n, x0, y0 ) RESULT( k ) ! Used to compute the rate for these reactions: ! IHOO1 + NO = IHN2 ! IHOO4 + NO = IHN4 ! IHPOO1 + NO = IHTN ! IHPOO2 + NO = IHTN ! IHPOO2 + NO = IHTN ! IEPOXAOO + NO = IHTN ! IEPOXBOO + NO = IHTN ! IHCOO + NO = IHTN ! ISOPNOO1 + NO = IDN ! ISOPNOO2 + NO = IDN ! IDHNDOO1 + NO = IDN ! IDHNDOO2 + NO = IDN ! INO2B + NO = IDN ! INO2D + NO = IDN ! IHPNBOO + NO = IDN ! IHPNDOO + NO = IDN ! MVK0HOO + NO = 0.438MVKN ! MCROHOO + NO = MCRHN ! REAL(dp), INTENT(IN) :: a0, b0, c0, n, x0, y0 REAL(dp) :: k0, k1, k2, k3, k4, k ! k0 = 2.0E-22_dp * EXP( n ) k1 = 4.3E-1_dp * ( TEMP / 298.0_dp )**(-8) k0 = k0 * NUMDEN k1 = k0 / k1 k2 = ( k0 / ( 1.0_dp + k1 ) ) & * 4.1E-1_dp**( 1.0_dp / ( 1.0_dp + ( LOG10(k1) )**2) ) k3 = k2 / ( k2 + c0 ) k4 = A0 * ( x0 - TEMP*y0 ) k = k4 * EXP( b0 / TEMP ) * k3 k = MAX( k, 0.0_dp ) END FUNCTION GC_NIT FUNCTION GC_ALK( a0, b0, c0, n, x0, y0 ) RESULT( k ) ! Used to compute the rate for these reactions: ! IHOO1 + NO = NO2 + ... ! IHOO4 + NO = NO2 + ... ! IHP001 + NO = NO2 + ... ! IHP002 + NO = NO2 + ... ! IHP003 + NO = NO2 + ... ! IEPOXAOO + NO = NO2 + ... ! IEPOXBOO + NO = NO2 + ... ! ICHOO + NO = NO2 + ... ! ISOPNOO1 + NO = 1.728NO2 + ... ! ISOPNOO2 + NO = NO2 + ... ! IDHNDOO1 + NO = NO2 + ... ! IDHNDOO2 + NO = NO2 + ... ! IDHNBOO + NO = NO2 + ... ! IDHNDOO + NO = NO2 + ... ! INO2B + NO = 2.000NO2 + ... ! INO2D + NO = NO2 + ... ! IHPNBOO + NO = 1.065NO2 + ... ! IHPNDOO + NO = NO2 + ... ! MVKOHOO + NO = NO2 + ... ! MCROHOO + NO = NO2 + ... ! REAL(dp), INTENT(IN) :: a0, b0, c0, n, x0, y0 REAL(dp) :: k0, k1, k2, k3, k4, k ! k0 = 2.0E-22_dp * EXP( n ) k1 = 4.3E-1_dp * ( TEMP / 298.0_dp)**(-8) k0 = k0 * NUMDEN k1 = k0 / k1 k2 = ( K0 / ( 1.0_dp +K1 ) ) & * 4.1E-1_dp**( 1.0_dp / ( 1.0_dp + ( LOG10( k1 ) )**2) ) k3 = c0/ ( k2 + c0 ) k4 = a0 * ( x0 - TEMP*y0 ) k = k4 * EXP( b0 / TEMP ) * k3 k = MAX( k, 0.0_dp ) END FUNCTION GC_ALK FUNCTION GC_HO2HO2_acac( a0, c0, a1, c1 ) RESULT( k ) ! Used to compute the rate for these reactions: ! HO2 + HO2 = H2O2 + O2 ! ! For this reaction, these Arrhenius law terms evaluate to 1: ! (300/T)**b0 ! (300/T)**b1 ! because b0 = b1 = 0. Therefore we can skip computing these ! terms. This avoids excess CPU cycles. (bmy, 12/18/20) ! REAL(dp), INTENT(IN) :: a0, c0, a1, c1 REAL(dp) :: k0, k1, k ! k0 = a0 * EXP( c0 / TEMP ) k1 = a1 * EXP( c1 / TEMP ) k = ( k0 + k1 * NUMDEN ) & * ( 1.0_dp + 1.4E-21_dp * H2O * EXP( 2200.0_dp / TEMP ) ) END FUNCTION GC_HO2HO2_acac FUNCTION GC_TBRANCH_1_acac( a0, c0, a1, c1 ) RESULT( k ) ! Temperature Dependent Branching Ratio, used for reactions: ! MO2 + MO2 = CH2O + MOH + O2 ! MO2 + MO2 = 2CH2O + 2HO2 ! ! For these reactions, these Arrhenius law terms evaluate to 1: ! (300/T)**b0 ! (300/T)**b1 ! because b0 = b1 = 0. Therefore we can skip computing these ! terms. This avoids excess CPU cycles. (bmy, 12/18/20) ! REAL(dp), INTENT(IN) :: a0, c0, a1, c1 REAL(dp) :: k0, k1, k ! k0 = a0 * EXP( c0 / TEMP ) k1 = a1 * EXP( c1 / TEMP ) k = k0 / ( 1.0_dp + k1 ) END FUNCTION GC_TBRANCH_1_acac FUNCTION GC_RO2HO2_aca( a0, c0, a1 ) RESULT( k ) ! Carbon Dependence of RO2+HO2, used in these reactions: ! A3O2 + HO2 = RA3P ! PO2 + HO2 = PP ! KO2 + HO2 = 0.150OH + 0.150ALD2 + 0.150MCO3 + 0.850ATOOH ! B3O2 + HO2 = RB3P ! PRN1 + HO2 = PRPN ! ! For these reactions, these Arrhenius law terms evaluate to 1: ! (300/T)**b0 ! (300/T)**b1 * EXP(c1/T) ! Because b0 = b1 = c1 = 0. Therefore we can skip computing these ! terms. This avoids excess CPU cycles. (bmy, 12/18/20) ! REAL(dp), INTENT(IN) :: a0, c0, a1 REAL(dp) :: k ! k = a0 * EXP( c0 / TEMP ) k = k * ( 1.0_dp - EXP( -0.245_dp * a1 ) ) END FUNCTION GC_RO2HO2_aca FUNCTION GC_DMSOH_acac( a0, c0, a1, c1 ) RESULT( k ) ! Reaction rate for: ! DMS + OH = 0.750SO2 + 0.250MSA + MO2 ! ! For this reaction, these Arrhenius law terms evaluate to 1: ! (300/T)**b0 ! (300/T)**b1 ! Because b0 = b1 = 0. Therefore we can skip computing these ! terms. This avoids excess CPU cycles. (bmy, 12/18/20) ! REAL(dp), INTENT(IN) :: a0, c0, a1, c1 REAL(dp) :: k0, k1, k ! k0 = a0 * EXP( c0 / TEMP ) k1 = a1 * EXP( c1 / TEMP ) k = ( k0 * NUMDEN * 0.2095e0_dp ) / ( 1.0_dp + k1 * 0.2095e0_dp ) END FUNCTION GC_DMSOH_acac FUNCTION GC_GLYXNO3_ac( a0, c0 ) RESULT( k ) ! Reaction rate for: ! GLYX + NO3 = HNO3 + HO2 + 2CO ! i.e. the HO2 + 2*CO branch ! ! For this reaction, this Arrhenius term evaluates to 1: ! (300/T)**b0 ! because b0 = 0. Therefore we can skip computing this ! term. This avoids excess CPU cycles. (bmy, 12/18/20) ! REAL(dp), INTENT(IN) :: a0, c0 REAL(dp) :: O2, k ! ! --- K = K1*([O2]+3.5D18)/(2*[O2]+3.5D18) O2 = NUMDEN * 0.2095_dp k = a0 * EXP( c0 / TEMP ) k = k * ( O2 + 3.5E+18_dp ) / ( 2.0_dp * O2 + 3.5E+18_dp ) END FUNCTION GC_GLYXNO3_ac FUNCTION GC_GLYCOH_A_a( a0 ) RESULT( k ) ! Used to compute the rate for this reaction: ! GLYC + OH = 0.732CH2O + 0.361CO2 + 0.505CO + 0.227OH ! + 0.773HO2 + 0.134GLYX + 0.134HCOOH ! which is the "A" branch of GLYC + OH. ! ! For this reaction, these Arrhenius law terms evaluate to 1: ! (300/T)**b0 * EXP(c0/T) ! Because b0 = c0 = 0. Therefore we can skip computing these ! terms. This avoids excess CPU cycles. (bmy, 12/18/20) ! REAL(dp), INTENT(IN) :: a0 REAL(dp) :: glyc_frac, k REAL(dp), PARAMETER :: exp_arg = -1.0_dp / 73.0_dp ! glyc_frac = 1.0_dp - 11.0729_dp * EXP( exp_arg * TEMP ) glyc_frac = MAX( glyc_frac, 0.0_dp ) k = a0 * glyc_frac END FUNCTION GC_GLYCOH_A_a FUNCTION GC_GLYCOH_B_a( a0 ) RESULT( k ) ! Used to compute the rate for this reaction: ! GLYC + OH = HCOOH + OH + CO ! which is the "B" branch of GLYC + OH. ! ! For this reaction, these Arrhenius law terms evaluate to 1: ! (300/T)**b0 * EXP(c0/T) ! Because b0 = c0 = 0. Therefore we can skip computing these ! terms. This avoids excess CPU cycles. (bmy, 12/18/20) ! REAL(dp), INTENT(IN) :: a0 REAL(dp) :: glyc_frac, k REAL(dp), PARAMETER :: exp_arg = -1.0_dp / 73.0_dp ! glyc_frac = 1.0_dp - 11.0729_dp * EXP( exp_arg * TEMP ) glyc_frac = MAX( glyc_frac, 0.0_dp ) k = a0 * ( 1.0_dp - glyc_frac ) END FUNCTION GC_GLYCOH_B_a FUNCTION GC_HACOH_A_ac( a0, c0 ) RESULT( k ) ! Used to compute the rate for this reaction: ! HAC + OH = MGLY + HO2 ! which is the "A" branch of HAC + OH. ! ! For this reaction, this Arrhenius law term evaluates to 1: ! (300/T)**b0 ! because b0 = 0. Therefore we can skip computing this ! term. This avoids excess CPU cycles. (bmy, 12/18/20) ! REAL(dp), INTENT(IN) :: a0, c0 REAL(dp) :: k0, hac_frac, k REAL(dp), PARAMETER :: exp_arg = -1.0_dp / 60.0_dp ! k0 = a0 * EXP( c0 / TEMP ) hac_frac = 1.0_dp - 23.7_dp * EXP( exp_arg * TEMP ) hac_frac = MAX( hac_frac, 0.0_dp ) k = k0 * hac_frac END FUNCTION GC_HACOH_A_ac FUNCTION GC_HACOH_B_ac( a0, c0 ) RESULT( k ) ! Used to compute the rate for this reaction: ! HAC + OH = 0.5HCOOH + OH + 0.5ACTA + 0.5CO2 + 0.5CO + 0.5MO2 ! which is the "B" branch of HAC + OH. ! ! For this reaction, this Arrhenius law term evaluates to 1: ! (300/T)**b0} ! because b0 = 0. Therefore we can skip computing this ! term. This avoids excess CPU cycles. (bmy, 12/18/20) ! REAL(dp), INTENT(IN) :: a0, c0 REAL(dp) :: k0, hac_frac, k REAL(dp), PARAMETER :: exp_arg = -1.0_dp / 60.0_dp ! k0 = a0 * EXP( c0 / TEMP ) hac_frac = 1.0_dp - 23.7_dp * EXP( exp_arg * TEMP ) hac_frac = MAX( hac_frac, 0.0_dp ) k = k0 * ( 1.0_dp - hac_frac ) END FUNCTION GC_HACOH_B_ac FUNCTION GC_RO2NO_A1_ac( a0, c0 ) RESULT( k ) ! Reaction rate for the "A" branch of these RO2 + NO reactions: ! MO2 + NO = MENO3 ! in which the "a1" parameter equals exactly 1. ! ! For these reactions, these Arrhenius law terms evaluate to 1: ! (300/T)**b0 ! (300/T)**b1 * EXP(c1/T) ! because b0 = b1 = c1 = 0. Therefore we can skip computing ! these terms. This avoids excess CPU cycles. (bmy, 1/4/20) ! ! Special treatment for methyl nitrate based on observations ! as Carter and Atkinson formulation does not apply to C1. ! Value based on upper limit of Flocke et al. 1998 as applied ! in Fisher et al. 2018 ! REAL(dp), INTENT(IN) :: a0, c0 REAL(dp) :: k ! k = a0 * EXP( c0 / TEMP ) * 3.0e-4_dp END FUNCTION GC_RO2NO_A1_ac FUNCTION GC_RO2NO_B1_ac( a0, c0 ) RESULT( k ) ! Reaction rate for the "B" branch of these RO2 + NO reactions: ! MO2 + NO = CH2O + NO2 + HO2 ! in which the "a1" parameter equals exactly 1. ! ! For these reactions, these Arrhenius law terms evaluate to 1: ! (300/T)**b0 ! (300/T)**b1 * EXP(c1/T) ! because b0 = c0 = c1 = 0. Therefore we can skip computing ! these terms. This avoids excess CPU cycles. (bmy, 1/4/20) ! REAL(dp), INTENT(IN) :: a0, c0 REAL(dp), PARAMETER :: one_minus_fyrno3 = 1.0_dp - 3.0e-4_dp REAL(dp) :: k ! k = a0 * EXP( c0 / TEMP ) * one_minus_fyrno3 END FUNCTION GC_RO2NO_B1_ac FUNCTION GC_RO2NO_A2_aca( a0, c0, a1 ) RESULT( k ) ! Reaction rate for the "A" branch of these RO2 + NO reactions, ! ETO2 + NO = ETNO3 ! A3O2 + NO = NPRNO3 ! R4O2 + NO = R4N2 ! B3O2 + NO = IPRNO3 ! in which the "a1" parameter is greater than 1.0. ! ! For these reactions, these Arrhenius law terms evaluate to 1: ! (300/T)**b0 ! (300/T)**b1 * EXP(c1/T) ! because b0 = b1 = c1 = 0. Therefore we can skip computing ! these terms. This avoids excess CPU cycles. (bmy, 1/4/20) ! REAL(dp), INTENT(IN) :: a0, c0, a1 REAL(dp) :: k0, k, yyyn, xxyn REAL(dp) :: aaa, rarb, zzyn, fyrno3 ! k0 = a0 * EXP( c0 / TEMP ) xxyn = 1.94e-22_dp * EXP( 0.97_dp * a1 ) * NUMDEN yyyn = 0.826_dp * ( ( 300.0_dp / TEMP )**8.1_dp ) aaa = LOG10( xxyn / yyyn ) zzyn = ( 1.0_dp / ( 1.0_dp + ( aaa * aaa ) ) ) rarb = ( xxyn / ( 1.0_dp + ( xxyn / yyyn ) ) ) * ( 0.411_dp**zzyn ) fyrno3 = ( rarb / ( 1.0_dp + rarb ) ) k = k0 * fyrno3 END FUNCTION GC_RO2NO_A2_aca FUNCTION GC_RO2NO_B2_aca( a0, c0, a1 ) RESULT( k ) ! Reaction rate for the "B" branch of these RO2 + NO reactions: ! ETO2 + NO = NO2 + HO2 + ... ! A3O2 + NO = NO2 + HO2 + ... ! R4O2 + NO = NO2 + 0.27HO2 + ... ! B3O2 + NO = NO2 + HO2 + ... ! in which the "a1" parameter is greater than 1.0. ! ! For these reactions, these Arrhenius law terms evaluate to 1: ! (300/T)**b0 ! (300/T)**b1 * EXP(c1/T) ! because b0 = c0 = c1 = 0. Therefore we can skip computing ! these terms. This avoids excess CPU cycles. (bmy, 1/4/20) ! ! Use this function when a1 input argument is greater than 1.0. ! This avoids IF statements, which saves CPU cycles (bmy, 1/4/20) ! REAL(dp), INTENT(IN) :: a0, c0, a1 REAL(dp) :: k0, k, yyyn, xxyn REAL(dp) :: aaa, rarb, zzyn, fyrno3 ! k0 = a0 * EXP( c0 / TEMP ) xxyn = 1.94e-22_dp * EXP( 0.97_dp * a1 ) * NUMDEN yyyn = 0.826_dp * ( K300_OVER_TEMP**8.1_dp ) aaa = LOG10( xxyn / yyyn ) zzyn = ( 1.0_dp / ( 1.0_dp + ( aaa * aaa ) ) ) rarb = ( xxyn / ( 1.0_dp + ( xxyn / yyyn ) ) ) * ( 0.411_dp**zzyn ) fyrno3 = ( rarb / ( 1.0_dp + rarb ) ) k = k0 * ( 1.0_dp - fyrno3 ) END FUNCTION GC_RO2NO_B2_aca FUNCTION GCJPLEQ_acabab( a0, c0, a1, b1, a2, b2, fv ) RESULT( k ) ! Calculates the equilibrium constant ! Find the backwards reaction by K=kforward/kbackwards ! Calculates the rate constant of the forward reaction ! ! Used to compute the rate for these reactions: ! PPN = RCO3 + NO2 ! PAN = MCO3 + NO2 ! ClOO {+M} = Cl + O2 {+M} ! Cl2O2 {+M} = 2ClO {+M} ! ! For these reactions, these Arrhenius law terms evaluate to 1: ! (300/T)**b0 ! EXP(c1/T) ! EXP(c2/T) ! because b0 = c1 = c2 = 0. Therefore we can skip computing these terms. ! Also, fct1 = fct2 = 0, so we will skip those terms as well. This is ! more computationally efficient. (bmy, 1/25/20) ! REAL(dp), INTENT(IN) :: a0, c0, a1, b1, a2, b2, fv REAL(dp) :: k0, k1, k ! k0 = a0 * EXP( c0 / TEMP ) ! backwards rxn rate k1 = GCJPLPR_abab( a1, b1, a2, b2, fv ) ! forwards rxn rate k = k1 / k0 END FUNCTION GCJPLEQ_acabab FUNCTION GCJPLPR_aa( a1, a2, fv ) RESULT( k ) ! Third body effect for pressure dependence of rate coefficients. ! a1 is Arrhenius parameters for the lower-limit rate. ! a2 is Arrhenius parameters for the upper-limit rate. ! fv is the falloff curve paramter, (see ATKINSON ET. AL (1992) ! J. Phys. Chem. Ref. Data 21, P. 1145). Usually fv = 0.6. ! ! Used to compute the rate for this reaction: ! Cl + PRPE {+M} = HCl + PO2 {+M} ! ! For this reactions, these Arrhenius law terms evaluate to 1: ! (300/T)**b1 * EXP(c1/T) ! (300/T)**b2 * EXP(c2/T) ! because b1 = b2 = c1 = c2 = 0. Therefore we can skip computing ! these terms. Also, fct1 = fct2 = 0, so we will skip computing ! these terms as well. This is more computationally efficient. ! (bmy, 1/25/20) ! REAL(dp), INTENT(IN) :: a1, a2, fv REAL(dp) :: rlow, xyrat, blog, fexp, k ! rlow = a1 * NUMDEN xyrat = rlow / a2 ! rhigh = a2 blog = LOG10( xyrat ) fexp = 1.0_dp / ( 1.0_dp + ( blog * blog ) ) k = rlow * ( fv**fexp ) / ( 1.0_dp + xyrat ) END FUNCTION GCJPLPR_aa FUNCTION GCJPLPR_aba( a1, b1, a2, fv ) RESULT( k ) ! Third body effect for pressure dependence of rate coefficients. ! a1, b1 are the Arrhenius parameters for the lower-limit rate. ! a2 is the Arrhenius parameters for the upper-limit rate. ! fv is the falloff curve paramter, (see ATKINSON ET. AL (1992) ! J. Phys. Chem. Ref. Data 21, P. 1145). Usually fv = 0.6. ! ! Used to compute the rate for these reactions: ! OH + OH {+M} = H2O2 ! NO2 + OH {+M} = HNO3 {+M} ! Cl + O2 {+M} = ClOO {+M} ! SO2 + OH {+M} = SO4 + HO2 ! Br + NO2 {+M} = BrNO2 {+M} ! NO + O {+M} = NO2 {+M} ! I + NO2 {+M} = IONO {+M} ! I + NO {+M} = INO {+M} ! ! For these reactions, these Arrhenius law terms evaluate to 1: ! EXP(c1/T) ! (300/T)**b2 * EXP(c2/T) ! because b2 = c1 = c2 = 0. Therefore we can skip computing these ! terms. Also, fct1 = fct2 = 0, so we will skip computing these ! terms as well. This is more computationally efficient. ! (bmy, 1/25/20) ! REAL(dp), INTENT(IN) :: a1, b1, a2, fv REAL(dp) :: rlow, xyrat, blog, fexp, k ! rlow = a1 * ( K300_OVER_TEMP**b1 ) * NUMDEN xyrat = rlow / a2 ! rhigh = a2 blog = LOG10( xyrat ) fexp = 1.0_dp / ( 1.0_dp + ( blog * blog ) ) k = rlow * ( fv**fexp ) / ( 1.0_dp + xyrat ) END FUNCTION GCJPLPR_aba FUNCTION GCJPLPR_abab( a1, b1, a2, b2, fv ) RESULT( k ) ! Third body effect for pressure dependence of rate coefficients. ! a1, b1 are the Arrhenius parameters for the lower-limit rate. ! a2, b2 are the Arrhenius parameters for the upper-limit rate. ! fv is the falloff curve paramter, (see ATKINSON ET. AL (1992) ! J. Phys. Chem. Ref. Data 21, P. 1145). Usually fv = 0.6. ! ! Used to compute the rate for these reactions: ! NO + OH {+M} = HNO2 {+M} ! HO2 + NO2 {+M} = HNO4 ! NO2 + NO3 {+M} = N2O5 ! ClO + NO2 {+M} = ClNO3 {+M} ! MCO3 + NO2 {+M} = PAN ! RCO3 + NO2 {+M} = PPN ! PRPE + OH {+M} = PO2 ! MO2 + NO2 {+M} = MPN {+M} ! BrO + NO2 {+M} = BrNO3 {+M} ! NO2 + O {+M} = NO3 {+M} ! H + O2 {+M} = HO2 {+M} ! IO + NO2 {+M} = IONO2 {+M} ! ! For these reactions, these Arrhenius law terms evaluate to 1: ! EXP(c1/T) ! EXP(c2/T) ! because c1 = c2 = 0. Therefore we can skip computing these ! terms. Also, fct1 = fct2 = 0, so we will skip computing these ! terms as well. This is more computationally efficient. ! (bmy, 1/25/20) ! REAL(dp), INTENT(IN) :: a1, b1, a2, b2, fv REAL(dp) :: rlow, rhigh, xyrat, blog, fexp, k ! rlow = a1 * ( K300_OVER_TEMP**b1 ) * NUMDEN rhigh = a2 * ( K300_OVER_TEMP**b2 ) xyrat = rlow / rhigh blog = LOG10( xyrat ) fexp = 1.0_dp / ( 1.0_dp + ( blog * blog ) ) k = rlow * ( fv**fexp ) / ( 1.0_dp + xyrat ) END FUNCTION GCJPLPR_abab FUNCTION GCJPLPR_abcabc( a1, b1, c1, a2, b2, c2, fv ) RESULT( k ) ! Third body effect for pressure dependence of rate coefficients. ! a1, b1, c1 are the Arrhenius parameters for the lower-limit rate. ! a2, b2, c2 are the Arrhenius parameters for the upper-limit rate. ! fv is the falloff curve paramter, (see ATKINSON ET. AL (1992) ! J. Phys. Chem. Ref. Data 21, P. 1145). Usually fv = 0.6. ! ! Used to compute the rate for these reactions: ! HNO4 {+M} = HO2 + NO2 ! N2O5 {+M} = NO2 + NO3 ! MPN {+M} = MO2 + NO2 ! REAL(dp), INTENT(IN) :: a1, b1, c1, a2, b2, c2, fv REAL(dp) :: rlow, rhigh, xyrat, blog, fexp, k ! rlow = a1 * ( K300_OVER_TEMP**b1 ) * EXP( c1 / TEMP ) * NUMDEN rhigh = a2 * ( K300_OVER_TEMP**b2 ) * EXP( c2 / TEMP ) xyrat = rlow / rhigh blog = LOG10( xyrat ) fexp = 1.0_dp / ( 1.0_dp + ( blog * blog ) ) k = rlow * ( fv**fexp ) / ( 1.0_dp + xyrat ) END FUNCTION GCJPLPR_abcabc FUNCTION GCJPLAC_ababac( a1, b1, a2, b2, a3, c3, fv ) RESULT( k ) ! Rate coefficient for activation reactions competing with a ! termolecular association pathway ! a1, b1 are the Arrhenius parameters for the lower-limit rate. ! a2, b2 are the Arrhenius parameters for the upper-limit rate. ! a3, c3 are Arrhenius parameters for the activation path ! fv is the falloff curve parameter, usually = 0.6. ! ! Used to compute the rate for these reactions: ! NO2 + O = O2 + NO ! HNO3 + OH = NO3 + H2O ! CO + OH = HO2 + CO2 ! REAL(dp), INTENT(IN) :: a1, b1, a2, b2, a3, c3, fv REAL(dp) :: rlow, rhigh, xyrat, blog REAL(dp) :: fexp, k1, k2, k ! rlow = a1 * ( K300_OVER_TEMP**b1 ) * NUMDEN rhigh = a2 * ( K300_OVER_TEMP**b2 ) xyrat = rlow / rhigh blog = LOG10( xyrat ) fexp = 1.0_dp / ( 1.0_dp + ( blog * blog ) ) k1 = rlow * ( fv**fexp ) / ( 1.0_dp + xyrat ) k2 = a3 * EXP( c3 / TEMP ) k = k2 * (1.0_dp - (k1 / rhigh) ) END FUNCTION GCJPLAC_ababac !######################################################################### !##### RATE-LAW FUNCTIONS FOR HETEROGENEOUS REACTIONS ##### !##### Some common functions are defined in rateLawUtilFuncs.F90 ##### !######################################################################### !========================================================================= ! Hetchem rate-law functions for BrNO3 !========================================================================= FUNCTION BrNO3uptkByH2O( H ) RESULT( k ) ! ! Computes the uptake rate [1/s] for BrNO3 + H2O (cf. Johan Schmidt) ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! rxn rate [1/s] ! REAL(dp) :: gamma, gamLiq, gamIce, srMW ! local vars ! k = 0.0_dp gamLiq = 0.0021_dp * TEMP - 0.561_dp ! Rxn prob, liq (Deiber 2004) gamIce = 5.3e-4_dp * EXP( 1100.0_dp / TEMP ) ! Rxn prob on ice srMw = SR_MW(ind_BrNO3) ! ! BrNO3 + H2O on sulfate and sea salt (clear sky) gamma = gamLiq k = k + Ars_L1K( H%ClearFr * H%xArea(SUL), H%xRadi(SUL), gamma, srMw ) k = k + Ars_L1K( H%ClearFr * H%xArea(SSA), H%xRadi(SSA), gamma, srMw ) k = k + Ars_L1K( H%ClearFr * H%xArea(SSC), H%xRadi(SSC), gamma, srMw ) k = k + H%xArea(SLA) * H%KHETI_SLA(BrNO3_plus_H2O) ! ! BrNO3 + H2O uptake on irregular ice cloud (clear sky) gamma = 0.3_dp ! rxn prob, ice [1] IF ( H%NatSurface ) gamma = 0.001_dp ! rxn prob, NAT [1] k = k + Ars_L1K( H%ClearFr * H%xArea(IIC), H%xRadi(IIC), gamma, srMw ) ! ! BrNO3 + H2O in tropospheric cloud k = k + CloudHet( H, srMw, gamLiq, gamIce, 1.0_dp, 1.0_dp ) ! ! Assume BrNO3 is limiting, so update the removal rate accordingly k = kIIR1Ltd( C(ind_BrNO3), C(ind_H2O), k ) END FUNCTION BrNO3uptkByH2O FUNCTION BrNO3uptkByHCl( H ) RESULT( k ) ! ! Computes uptake rate for BrNO3(g) + HCl(l,s) ! in polar stratospheric clouds and on tropospheric sulfate. ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! rxn prob[1], rxn rate [1/s] REAL(dp) :: srMw ! local vars ! k = 0.0_dp srMw = SR_MW(ind_BrNO3) ! ! Apply BrNO3 uptake in stratosphere ! NOTE: NAT and ICE both use the same gamma = 0.3 IF ( H %stratBox ) THEN k = k + Ars_L1K( H%xArea(SUL), H%xRadi(SUL), 0.9_dp, srMw ) k = k + H%xArea(SLA) * H%KHETI_SLA(BrNO3_plus_HCl) k = k + Ars_L1K( H%xArea(IIC), H%xRadi(IIC), 0.3_dp, srMw ) ENDIF ! Assume BrNO3 is limiting, so update the removal rate accordingly k = kIIR1Ltd( C(ind_BrNO3), C(ind_HCl), k ) ! Force to zero if HetRate flag is turned on IF ( H%TurnOffHetRates ) k = 0.0_dp END FUNCTION BrNO3uptkByHCl !========================================================================= ! Hetchem rate-law functions for ClNO2 !========================================================================= SUBROUTINE Gam_ClNO2( H, radius, pH, C_Cl, C_Br, gamma, branchCl, branchBr ) ! ! Calculates reactive uptake coefficient [1] for ! ClNO2 + Cl- and ClNO2 + Br-. ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp), INTENT(IN) :: Radius ! Radius [cm] REAL(dp), INTENT(IN) :: C_Cl ! Cl- conc [mol/L] REAL(dp), INTENT(IN) :: C_Br ! Br- conc [mol/L] REAL(dp), INTENT(IN) :: pH ! H+ conc REAL(dp), INTENT(OUT) :: gamma ! Rxn prob [1] REAL(dp), INTENT(OUT) :: branchCl ! Branching ratio, Cl path REAL(dp), INTENT(OUT) :: branchBr ! Branching ratio, Br path ! REAL(dp), PARAMETER :: INV_AB = 1.0_dp / 0.01_dp ! 1/mass accom coeff REAL(dp), PARAMETER :: D_l = 1.0e-5_dp ! Liq phase diffusion coef ! REAL(dp) :: cavg, gb_tot, H_X, k_Cl REAL(dp) :: k_Br, k_tot, l_r, M_X ! ! Thermal velocity (cm/s) M_X = MW(ind_ClNO2) * 1.0e-3_dp cavg = SQRT( EIGHT_RSTARG_T / ( H%Pi * M_X ) ) * 100.0_dp ! ! Henry's law [M/bar] H_X = 4.5e-2_dp * CON_ATM_BAR ! ! Reaction rates (Cl path, Br path, total) k_Cl = 1.0e+7_dp * C_Cl IF ( pH >= 2.0_dp ) k_Cl = 0.0_dp k_Br = ( 1.01e-1_dp / ( H_X * H_X * D_l ) ) * C_Br k_tot = k_Cl + k_Br ! ! Uptake coefficient [1] and branching ratios [1] for Cl, Br paths ! Prevent div by zero gamma = 0.0_dp branchCl = 0.0_dp branchBr = 0.0_dp IF ( k_tot > 0.0_dp ) THEN l_r = SQRT( D_l / k_tot ) gb_tot = FOUR_R_T * H_X * l_r * k_tot / cavg gb_tot = gb_tot * ReactoDiff_Corr( radius, l_r ) gamma = 1.0_dp / ( INV_AB + 1.0_dp / gb_tot ) branchCl = k_Cl / k_tot branchBr = k_Br / k_tot ENDIF END SUBROUTINE Gam_ClNO2 FUNCTION ClNO2uptkByBrSALA( H ) RESULT( k ) ! ! Computes the uptake rate [1/s] of ClNO2 + BrSALA. ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! Rxn rate [1/s] ! REAL(dp) :: area, gamma, branch REAL(dp) :: branchBr, dummy, srMw ! k = 0.0_dp srMw = SR_MW(ind_ClNO2) ! ! ClNO2 + BrSALA uptake rate [1/s] in tropospheric cloud IF ( .not. H%stratBox ) THEN CALL Gam_ClNO2( & H, H%rLiq, H%phCloud, H%Cl_conc_Cld, & H%Br_conc_Cld, gamma, dummy, branchBr ) branch = branchBr * H%frac_Br_CldA k = k + CloudHet( H, srMw, gamma, 0.0_dp, branch, 0.0_dp ) ENDIF ! ! ClNO2 + BrSALA uptake rate [1/s] on fine sea salt aerosol, in clear sky CALL Gam_ClNO2( & H, H%aClRadi, H%phSSA(1), H%Cl_conc_SSA, & H%Br_Conc_SSA, gamma, dummy, branchBr ) area = H%ClearFr * H%aClArea k = k + Ars_L1K( area, H%aClRadi, gamma, srMw ) * branchBr ! Assume ClNO2 is limiting, so recompute reaction rate accordingly k = kIIR1Ltd( C(ind_ClNO2), C(ind_BrSALA), k ) END FUNCTION ClNO2uptkByBrSALA FUNCTION ClNO2uptkByBrSALC( H ) RESULT( k ) ! ! Computes the uptake rate [1/s] of ClNO2 + BrSALC. ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! Rxn rate [1/s] ! REAL(dp) :: area, gamma, branch REAL(dp) :: branchBr, dummy, srMw ! k = 0.0_dp srMw = SR_MW(ind_ClNO2) ! ! ClNO2 + BrSALA uptake rate [1/s] in tropospheric cloud IF ( .not. H%stratBox ) THEN CALL Gam_ClNO2( & H, H%rLiq, H%phCloud, H%Cl_conc_Cld, & H%Br_conc_Cld, gamma, dummy, branchBr ) branch = branchBr * H%frac_Br_CldC k = k + CloudHet( H, srMw, gamma, 0.0_dp, branch, 0.0_dp ) ENDIF ! ! ClNO2 + BrSALA uptake rate [1/s] on fine sea salt aerosol, in clear sky CALL Gam_ClNO2( & H, H%xRadi(SSC), H%phSSA(2), H%Cl_conc_SSC, & H%Br_Conc_SSC, gamma, dummy, branchBr ) area = H%ClearFr * H%xArea(SSC) k = k + Ars_L1K( area, H%xRadi(SSC), gamma, srMw ) * branchBr ! Assume ClNO2 is limiting, so recompute reaction rate accordingly k = kIIR1Ltd( C(ind_ClNO2), C(ind_BrSALC), k ) END FUNCTION ClNO2uptkByBrSALC FUNCTION ClNO2uptkByHBr( H ) RESULT( k ) ! ! Computes the uptake rate [1/s] of ClNO2 + HCl. ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! Rxn rate [1/s] ! REAL(dp) :: gamma, branch, branchBr, dummy, srMw ! k = 0.0_dp srMw = SR_MW(ind_ClNO2) ! ! ClNO2 + HCl uptake rate [1/s] in tropospheric cloud IF ( .not. H%stratBox ) THEN CALL Gam_ClNO2( & H, H%rLiq, H%phCloud, H%Cl_conc_Cld, & H%Br_conc_Cld, gamma, dummy, branchBr ) branch = branchBr * H%frac_Br_CldG k = k + CloudHet( H, srMw, gamma, 0.0_dp, branch, 0.0_dp ) ENDIF ! ! Assume ClNO2 is limiting, so recompute reaction rate accordingly k = kIIR1Ltd( C(ind_ClNO2), C(ind_HBr), k ) END FUNCTION ClNO2uptkByHBr FUNCTION ClNO2uptkBySALACL( H ) RESULT( k ) ! ! Computes the uptake rate [1/s] of ClNO2 + SALACL. ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! Rxn rate [1/s] ! REAL(dp) :: area, gamma, branch REAL(dp) :: branchCl, dummy, srMw ! k = 0.0_dp srMw = SR_MW(ind_ClNO2) ! ! ClNO2 + SALACl uptake rate [1/s] in tropospheric cloud IF ( .not. H%stratBox ) THEN CALL Gam_ClNO2( & H, H%rLiq, H%phCloud, H%Cl_conc_Cld, & H%Br_conc_Cld, gamma, branchCl, dummy ) branch = branchCl * H%frac_Cl_CldA k = k + CloudHet( H, srMw, gamma, 0.0_dp, branch, 0.0_dp ) ENDIF ! ! ClNO2 + SALACL uptake rate [1/s] on fine sea salt aerosol, in clear sky CALL Gam_ClNO2( & H, H%aClRadi, H%phSSA(1), H%Cl_conc_SSA, & H%Br_Conc_SSA, gamma, branchCl, dummy ) area = H%ClearFr * H%aClArea k = k + Ars_L1K( area, H%aClRadi, gamma, srMw ) * branchCl ! Assume ClNO2 is limiting, so recompute reaction rate accordingly k = kIIR1Ltd( C(ind_ClNO2), C(ind_SALACL), k ) END FUNCTION ClNO2uptkBySALACL FUNCTION ClNO2uptkBySALCCL( H ) RESULT( k ) ! ! Computes the uptake rate [1/s] of ClNO2 + SALACL. ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! Rxn rate [1/s] ! REAL(dp) :: area, gamma, branch REAL(dp) :: branchCl, dummy, srMw ! k = 0.0_dp srMw = SR_MW(ind_ClNO2) ! ! ClNO2 + SALCCL uptake rate [1/s] in tropospheric cloud IF ( .not. H%stratBox ) THEN CALL Gam_ClNO2( & H, H%rLiq, H%phCloud, H%Cl_conc_Cld, & H%Br_conc_Cld, gamma, branchCl, dummy ) branch = branchCl * H%frac_Cl_CldC k = k + CloudHet( H, srMw, gamma, 0.0_dp, branch, 0.0_dp ) ENDIF ! ! Assume ClNO2 is limiting, so recompute reaction rate accordingly k = kIIR1Ltd( C(ind_ClNO2), C(ind_SALCCL), k ) END FUNCTION ClNO2uptkBySALCCL FUNCTION ClNO2uptkByHCl( H ) RESULT( k ) ! ! Computes the uptake rate [1/s] of ClNO2 + HCl. ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! Rxn rate [1/s] ! REAL(dp) :: gamma, branch, branchCl, dummy, srMw ! k = 0.0_dp srMw = SR_MW(ind_ClNO2) ! ! ClNO2 + HCl uptake rate [1/s] in tropospheric cloud IF ( .not. H%stratBox ) THEN CALL Gam_ClNO2( & H, H%rLiq, H%phCloud, H%Cl_conc_Cld, & H%Br_conc_Cld, gamma, branchCl, dummy ) branch = branchCl * H%frac_Cl_CldG k = k + CloudHet( H, srMw, gamma, 0.0_dp, branch, 0.0_dp ) ENDIF ! ! Assume ClNO2 is limiting, so recompute reaction rate accordingly k = kIIR1Ltd( C(ind_ClNO2), C(ind_HCl), k ) END FUNCTION ClNO2uptkByHCl !========================================================================= ! Hetchem rate-law functions for ClNO3 !========================================================================= SUBROUTINE Gam_ClNO3_Aer( H, C_Br, gamma, branchBr ) ! ! Calculates reactive uptake coefficients [1] for ClNO3 + Br-. ! ! TYPE(HetState), INTENT(IN) :: H REAL(dp), INTENT(IN) :: C_Br ! Br concentration (mol/L) REAL(dp), INTENT(OUT) :: gamma ! Rxn prob [1] REAL(dp), INTENT(OUT) :: branchBr ! ClNO3 + HBr- branch ratio [1] ! REAL(dp), PARAMETER :: INV_AB = 1.0_dp / 0.108_dp ! 1 / mass accum coeff REAL(dp), PARAMETER :: K_0 = 1.2e+5_dp ** 2.0_dp ! H2k0 REAL(dp), PARAMETER :: D_l = 5.0e-6_dp ! Deiber et al 2004 ! REAL(dp) :: M_X, cavg, k_Br, k_tot, gb0, gb2, gb_tot !gbr ! ! thermal velocity (cm/s) M_X = MW(ind_ClNO3) * 1.0e-3_dp cavg = SQRT( EIGHT_RSTARG_T / ( H%PI * M_X ) ) * 100.0_dp ! ! H2k2br cm2 s-1. k_Br = 1.0e+12_dp * C_Br ! ! Calculate gb1 for ClNO3 + Cl- ! Following [Deiber et al., 2004], gamma is not significantly different ! from ClNO3 + H2O (gamma = 0.0244) independent of Cl- concentration, ! but Cl2 rather than HOCl formed. gb2 can be calculated reversely from ! gb1 = gb0 hydrolysis gb0 = FOUR_R_T * 1.2e+5_dp * SQRT( D_l ) / cavg k_tot = K_0 + k_Br !H2(k0+k2Br) gb_tot = FOUR_R_T * SQRT( k_tot * D_l ) / cavg ! ! Reaction probability for ClNO3 + Br- [1] gamma = 1.0_dp / ( INV_AB + 1.0_dp / gb_tot ) ! ! Branching ratio for ClNO3 + HBr- ! BOTE: ClNO3 + Cl- branch ratio = 1.0 - branchBr branchBr = k_Br / k_tot END SUBROUTINE Gam_ClNO3_Aer SUBROUTINE Gam_ClNO3_Ice( H, gamma, brHCl, brHBr, brH2O ) ! ! Computes the reactive uptake probability and branching ratio ! for ClNO3 + H2O, ClNO3 + HCl, and ClNO3 + HBr in ice clouds ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp), INTENT(OUT) :: gamma ! Uptake prob [1] REAL(dp), INTENT(OUT) :: brHCl ! ClNO3 + HCl branch ratio REAL(dp), INTENT(OUT) :: brHBr ! ClNO3 + HBr branch ratio REAL(dp), INTENT(OUT) :: brH2O ! ClNO3 + H2O branch ratio ! REAL(dp), PARAMETER :: twenty = 1.0_dp / 0.5_dp ! REAL(dp) :: cavg, g1, g2, g3, H2Os, kks, M_X ! ! ClNO3 + HCl uptake probability [1] g1 = 0.24_dp * H%HCl_theta ! ! ClNO3 + HBr uptake probability [1] g2 = 0.56_dp * H%HBr_theta ! ! ClNO3 + H2O uptake probability [1] M_X = MW(ind_ClNO3) * 1.0e-3_dp cavg = SQRT( EIGHT_RSTARG_T / ( H%PI * M_X ) ) * 100.0_dp H2Os = 1e+15_dp - ( 3.0_dp * 2.7e+14_dp * H%HNO3_theta ) kks = 4.0_dp * 5.2e-17_dp * EXP( 2032.0_dp / TEMP ) g3 = 1.0_dp / ( twenty + cavg / ( kks * H2Os ) ) ! 1.0/0.5 = 20 ! ! Total reaction probability gamma = g1 + g2 + g3 ! ! Branching ratios for each path (HCl, HBr, H2O) brHCl = g1 / gamma brHBr = g2 / gamma brH2O = g3 / gamma END SUBROUTINE Gam_ClNO3_Ice FUNCTION ClNO3uptkByH2O( H ) RESULT( k ) ! ! Computes the hydrolysis reaction rate [1/s] of ClNO3 + H2O. ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! Rxn rate [1/s] ! REAL(dp) :: area, branchBr, branchLiq REAL(dp) :: branchIce, dum1, dum2 REAL(dp) :: gamma, gammaIce, srMw ! k = 0.0_dp srMw = SR_MW(ind_ClNO3) ! ! Rxn rate of ClNO3 + H2O on fine sea salt in clear sky CALL Gam_ClNO3_Aer( H, H%Br_conc_SSA, gamma, branchBr ) area = H%ClearFr * H%aClArea branchLiq = ( 1.0_dp - branchBr ) * ( 1.0_dp - H%frac_SALACL ) k = k + Ars_L1K( area, H%aClRadi, gamma, srMw ) * branchLiq ! ! Rate of ClNO3 + H2O on stratospheric liquid aerosol k = k + H%xArea(SLA) * H%KHETI_SLA(ClNO3_plus_H2O) ! ! Rate of ClNO3 + H2O on irregular ice cloud gamma = 0.3_dp ! Rxn prob, ice [1] IF ( H%NatSurface ) gamma = 0.004_dp ! Rxn prob, NAT [1] k = k + Ars_L1K( H%xArea(IIC), H%xRadi(IIC), gamma, srMw ) ! IF ( .not. H%stratBox ) THEN ! ! ClNO3 + H2O uptake prob [1] in liquid tropospheric cloud CALL Gam_ClNO3_Aer( H, H%Br_conc_Cld, gamma, branchBr ) branchLiq = 1.0_dp - branchBr ! ! ClNO3 + H2O uptake prob [1] in tropospheric ice cloud CALL Gam_ClNO3_Ice( H, gammaIce, dum1, dum2, branchIce ) ! ! ClNO3 + H2O rxn rate in cloudy tropopsheric grid box k = k + CloudHet( H, srMw, gamma, gammaIce, branchLiq, branchIce ) ENDIF ! ! Assume ClNO3 is limiting, so recompute reaction rate accordingly k = kIIR1Ltd( C(ind_ClNO3), C(ind_H2O), k ) END FUNCTION ClNO3uptkByH2O FUNCTION ClNO3uptkByHCl( H ) RESULT( k ) ! ! Computes the rate [1/s] of ClNO3(g) + HCl(l,s). ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! Rxn rate [1/s] ! REAL(dp) :: branchIce, dum1, dum2 REAL(dp) :: gamma, gammaIce, srMw ! k = 0.0_dp srMw = SR_MW(ind_ClNO3) ! IF ( H%stratBox ) THEN ! ! Rxn rate of ClNO3 + HCl on tropospheric sulfate in stratosphere gamma = 0.1e-4_dp k = k + Ars_L1K( H%xArea(SUL), H%xRadi(SUL), gamma, srMw ) ! ! Rate of ClNO3 + HCl on stratospheric liquid aerosol k = k + H%xArea(SLA) * H%KHETI_SLA(ClNO3_plus_HCl) ! ! Rate of ClNO3 + HCl on irregular ice cloud gamma = 0.3_dp ! Rxn prob, ice [1] IF ( H%NatSurface ) gamma = 0.2_dp ! Rxn prob, NAT [1] k = k + Ars_L1K( H%xArea(IIC), H%xRadi(IIC), gamma, srMw ) ELSE ! ! NOTE: No ClNO3 + HCl uptake in tropospheric liquid cloud ! ! ClNO3 + HCl uptake rate in tropospheric ice cloud CALL Gam_ClNO3_Ice( H, gammaIce, branchIce, dum1, dum2 ) k = k + CloudHet( H, srMw, 0.0_dp, gammaIce, 0.0_dp, branchIce ) ENDIF ! ! Assume ClNO3 is limiting, so recompute reaction rate accordingly k = kIIR1Ltd( C(ind_ClNO3), C(ind_HCl), k ) END FUNCTION ClNO3uptkByHCl FUNCTION ClNO3uptkByHBr( H ) RESULT( k ) ! ! Computes the reaction rate [1/s] of ClNO3(g) + HBr-. ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! Rxn rate [1/s] ! REAL(dp) :: branchBr, branchLiq, branchIce, dum1 REAL(dp) :: dum2, gamma, gammaIce, srMw ! k = 0.0_dp srMw = SR_MW(ind_ClNO3) ! IF ( H%stratBox ) THEN ! ! ClNO3 + HBr uptake rate on stratospheric liquid aerosol k = k + H%xArea(SLA) * H%KHETI_SLA(ClNO3_plus_HBr) ! ! ClNO3 + HBr uptake rate on irregular ice cloud gamma = 0.3_dp ! Rxn prob, ice and NAT [1] k = k + Ars_L1K( H%xArea(IIC), H%xRadi(IIC), gamma, srMw ) ELSE ! ! ClNO3 + HBr uptake rate in tropospheric liquid cloud CALL Gam_ClNO3_Aer( H, H%Br_conc_Cld, gamma, branchBr ) branchLiq = branchBr * H%frac_Br_CldG ! ! ClNO3 + HBr uptake rate in tropospheric ice cloud CALL Gam_ClNO3_Ice( H, gammaIce, dum1, branchIce, dum2 ) ! ! ClNO3 + HBr overall uptake rate, accounting for cloud fraction k = CloudHet( H, srMw, gamma, gammaIce, branchLiq, branchIce ) ENDIF ! ! Assume ClNO3 is limiting, so recompute reaction rate accordingly k = kIIR1Ltd( C(ind_ClNO3), C(ind_HBr), k ) ! Force to zero if HetRate flag is turned on IF ( H%TurnOffHetRates ) k = 0.0_dp END FUNCTION ClNO3uptkByHBr FUNCTION ClNO3uptkByBrSALA( H ) RESULT( k ) ! ! Computes rxn rate [1/s] of ClNO3 + BrSALA. ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! Rxn rate [1/s] ! REAL(dp) :: area, branch, branchBr, gamma, srMw ! k = 0.0_dp srMw = SR_MW(ind_ClNO3) ! ! First compute uptake of ClNO3 + BrSALA in tropospheric cloud IF ( .not. H%stratBox ) THEN ! ! Compute ClNO3 + BrSALA uptake rate & branching ratio CALL Gam_ClNO3_Aer( H, H%Br_conc_Cld, gamma, branchBr ) branch = branchBr * H%frac_Br_CldA ! ! Compute ClNO3 + BrSALA uptake rate accounting for cloud fraction k = k + CloudHet( H, srMw, gamma, 0.0_dp, branch, 0.0_dp ) ENDIF ! ! Compute uptake rate of ClNO3 + BrSALA in clear sky CALL Gam_ClNO3_Aer( H, H%Br_conc_SSA, gamma, branchBr ) area = H%ClearFr * H%aClArea k = k + Ars_L1K( area, H%aClRadi, gamma, srMw ) * branchBr ! ! Assume ClNO3 is limiting, so recompute reaction rate accordingly k = kIIR1Ltd( C(ind_ClNO3), C(ind_BrSALA), k ) ! Force to zero if HetRate flag is turned on IF ( H%TurnOffHetRates ) k = 0.0_dp END FUNCTION ClNO3uptkByBrSALA FUNCTION ClNO3uptkByBrSALC( H ) RESULT( k ) ! ! Computes rxn rate [1/s] of ClNO3 + BrSALC. ! TYPE(HetState), INTENT(IN) :: H REAL(dp) :: k ! REAL(dp) :: area, branch, branchBr, gamma, srMw ! k = 0.0_dp srMw = SR_MW(ind_ClNO3) ! ! First compute uptake of ClNO3 + BrSALA in tropospheric cloud IF ( .not. H%stratBox ) THEN ! ! Compute ClNO3 + BrSALA uptake rate & branching ratio CALL Gam_ClNO3_Aer( H, H%Br_conc_Cld, gamma, branchBr ) branch = branchBr * H%frac_Br_CldC ! ! Compute ClNO3 + BrSALA uptake rate accounting for cloud fraction k = k + CloudHet( H, srMw, gamma, 0.0_dp, branch, 0.0_dp ) ENDIF ! ! Compute uptake rate of ClNO3 + BrSALA in clear sky CALL Gam_ClNO3_Aer( H, H%Br_conc_SSC, gamma, branchBr ) area = H%ClearFr * H%xArea(SSC) k = k + Ars_L1K( area, H%xRadi(SSC), gamma, srMw ) * branchBr ! ! Assume ClNO3 is limiting, so recompute reaction rate accordingly k = kIIR1Ltd( C(ind_ClNO3), C(ind_BrSALC), k ) ! Force to zero if HetRate flag is turned on IF ( H%TurnOffHetRates ) k = 0.0_dp END FUNCTION ClNO3uptkByBrSALC FUNCTION ClNO3uptkBySALACL( H ) RESULT( k ) ! ! Computes rxn rate [1/s] of ClNO3 + SALACL. ! TYPE(HetState), INTENT(IN) :: H REAL(dp) :: k ! REAL(dp) :: area, branch, branchBr, gamma, srMw ! ! Exit if in the stratosphere k = 0.0_dp IF ( H%stratBox ) RETURN ! ! Compute uptake rate of ClNO3 + BrSALA in clear sky CALL Gam_ClNO3_Aer( H, H%Br_conc_SSA, gamma, branchBr ) srMw = SR_MW(ind_ClNO3) area = H%ClearFr * H%aClArea branch = ( 1.0_dp - branchBr ) * H%frac_SALACL k = k + Ars_L1K( area, H%aClRadi, gamma, srMw )* branch ! ! Assume ClNO3 is limiting, so recompute reaction rate accordingly k = kIIR1Ltd( C(ind_ClNO3), C(ind_SALACL), k ) END FUNCTION ClNO3uptkBySALACL FUNCTION ClNO3uptkBySALCCL( H ) RESULT( k ) ! ! Computes rxn rate [1/s] of ClNO3 + SALCCL. ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! Rxn rate [1/s] ! REAL(dp) :: area, branch, branchBr, gamma, srMw ! ! Exit if in the stratosphere k = 0.0_dp IF ( H%stratBox ) RETURN ! ! Compute uptake rate of ClNO3 + BrSALA in clear sky CALL Gam_ClNO3_Aer( H, H%Br_conc_SSC, gamma, branchBr ) srMw = SR_MW(ind_ClNO3) area = H%ClearFr * H%xArea(SSC) branch = 1.0_dp - branchBr k = k + Ars_L1K( area, H%xRadi(SSC), gamma, srMw ) * branch ! ! Assume ClNO3 is limiting, so recompute reaction rate accordingly k = kIIR1Ltd( C(ind_ClNO3), C(ind_SALCCL), k ) END FUNCTION ClNO3uptkBySALCCL !========================================================================= ! Hetchem rate-law functions for HBr !========================================================================= FUNCTION HBrUptkBySALA( H ) RESULT( k ) ! ! Computes uptake rate of HBr on fine sea salt (in clear-sky). ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! rxn rate [1/s] REAL(dp) :: area, gamma ! local vars ! ! Exit if in the stratosphere k = 0.0_dp IF ( H%stratBox ) RETURN ! area = H%ClearFr * H%aClArea gamma = 1.3e-8_dp * EXP( 4290.0_dp / TEMP ) k = Ars_L1K( area, H%aClRadi, gamma, SR_MW(ind_HBr) ) END FUNCTION HBrUptkBySALA FUNCTION HBrUptkBySALC( H ) RESULT( k ) ! ! Computes uptake rate of HBr on coarse sea salt (in clear-sky). ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! rxn rate [1/s] REAL(dp) :: area, gamma ! local vars ! ! Exit if in the stratosphere k = 0.0_dp IF ( H%stratBox ) RETURN ! area = H%ClearFr * H%xArea(SSC) gamma = 1.3e-8_dp * EXP( 4290.0_dp / TEMP ) k = Ars_L1K( area, H%xRadi(SSC), gamma, SR_MW(ind_HBr) ) END FUNCTION HBrUptkBySALC !========================================================================= ! Hetchem rate-law functions for HO2 !========================================================================= FUNCTION HO2uptk1stOrd( H ) RESULT( k ) ! ! Computes the reaction rate [1/s] for 1st order uptake of HO2. ! TYPE(HetState), INTENT(IN) :: H ! HetChem State REAL(dp) :: srMw, k ! sqrt(mol wt), rxn rate [1/s] ! k = 0.0_dp srMw = SR_MW(ind_HO2) ! ! Uptake by various aerosol types k = k + Ars_L1k( H%xArea(DU1), H%xRadi(DU1), H%gamma_HO2, srMw ) k = k + Ars_L1k( H%xArea(DU2), H%xRadi(DU2), H%gamma_HO2, srMw ) k = k + Ars_L1k( H%xArea(DU3), H%xRadi(DU3), H%gamma_HO2, srMw ) k = k + Ars_L1k( H%xArea(DU4), H%xRadi(DU4), H%gamma_HO2, srMw ) k = k + Ars_L1k( H%xArea(DU5), H%xRadi(DU5), H%gamma_HO2, srMw ) k = k + Ars_L1k( H%xArea(DU6), H%xRadi(DU6), H%gamma_HO2, srMw ) k = k + Ars_L1k( H%xArea(DU7), H%xRadi(DU7), H%gamma_HO2, srMw ) k = k + Ars_L1k( H%xArea(SUL), H%xRadi(SUL), H%gamma_HO2, srMw ) k = k + Ars_L1k( H%xArea(BKC), H%xRadi(BKC), H%gamma_HO2, srMw ) k = k + Ars_L1k( H%xArea(ORC), H%xRadi(ORC), H%gamma_HO2, srMw ) k = k + Ars_L1k( H%xArea(SSA), H%xRadi(SSA), H%gamma_HO2, srMw ) k = k + Ars_L1k( H%xArea(SSC), H%xRadi(SSC), H%gamma_HO2, srMw ) END FUNCTION HO2uptk1stOrd !========================================================================= ! Hetchem rate-law functions for HOBr !========================================================================= FUNCTION Br2_Yield( Br_over_Cl ) RESULT( Y_Br2 ) ! ! Returns yield [1] of Br2 from the Br- / Cl- ratio. ! REAL(dp), INTENT(IN) :: Br_over_Cl ! Br- / Cl- ratio REAL(dp) :: Y_Br2 ! local vars ! Yield of Br2 Y_Br2 = 0.0_dp IF ( Br_over_Cl > 0.0_dp ) THEN Y_Br2 = 0.41_dp * LOG10( Br_over_Cl ) + 2.25_dp Y_Br2 = MAX( MIN( Y_Br2, 0.9_dp ), 0.0_dp ) ENDIF END FUNCTION Br2_Yield SUBROUTINE Gam_HOBr_Aer( H, radius, C_Hp, C_Clm, C_Brm, gamma ) ! ! Returns uptake probability [1] for HOBr on aerosols. ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp), INTENT(IN) :: radius ! Aerosol radius REAL(dp), INTENT(IN) :: C_Hp ! H+ concentration REAL(dp), INTENT(IN) :: C_Clm ! Cl- concentration REAL(dp), INTENT(IN) :: C_Brm ! Br- concentration REAL(dp), INTENT(OUT) :: gamma ! Uptake probability [1/s] ! REAL(dp) :: M_X, cavg, H_X REAL(dp) :: l_r, C_Hp1, C_Hp2 REAL(dp) :: k_tot, k_HOBr_Cl, k_HOBr_Br, gb_tot ! REAL(dp), PARAMETER :: INV_AB = 1.0_dp / 0.6_dp ! Inv. mass accum coef REAL(dp), PARAMETER :: D_l = 1.4e-5_dp ! Amman et al, ACP, 2013 ! ! Henry's law H_X = ( HENRY_K0(ind_HOBr) * CON_ATM_BAR ) & * EXP( HENRY_CR(ind_HOBr) * ( 1.0_dp/TEMP - INV_T298 ) ) ! ! Thermal velocity [cm/s] M_X = MW(ind_HOBr) * 1.0e-3_dp cavg = SQRT( EIGHT_RSTARG_T / ( H%PI * M_X ) ) * 100.0_dp ! ! Follow Roberts et al, (2014) C_Hp1 = MAX( MIN( C_Hp, 1.0e-6_dp ), 1.0e-9_dp ) C_Hp2 = MAX( MIN( C_Hp, 1.0e-2_dp ), 1.0e-6_dp ) ! ! Rates for each HOBr + {Cl-, Br-} rxn k_HOBr_Cl = 2.3e+10_dp * C_Clm * C_Hp1 ! Liu & Margerum, EST, 2001 k_HOBr_Br = 1.6e+10_dp * C_Brm * C_Hp2 ! ?? k_tot = k_HOBr_Cl + k_HOBr_Br ! ! Compute reactive uptake coefficient [unitless], prevent div by zero ! l_r is diffusive length scale [cm]; ! gb is Bulk reaction coefficient [unitless] gamma = 0.0_dp IF ( k_tot > 0.0_dp ) THEN l_r = SQRT( D_l / k_tot ) gb_tot = FOUR_R_T * H_X * l_r * k_tot / cavg gb_tot = gb_tot * ReactoDiff_Corr( radius, l_r ) gamma = 1.0_dp / ( INV_AB + 1.0 / gb_tot ) ENDIF END SUBROUTINE Gam_HOBr_Aer SUBROUTINE Gam_HOBr_Cld( H, gamma, k_tot, & k_HOBr_Cl, k_HOBr_Br, k_HOBr_HSO3, k_HOBr_HSO3_2 ) ! ! Returns uptake probability for HOBr in clouds. ! TYPE(HetState), INTENT(IN) :: H ! Hetchem species metadata REAL(dp), INTENT(OUT) :: gamma REAL(dp), INTENT(OUT) :: k_tot REAL(dp), INTENT(OUT) :: k_HOBr_Cl REAL(dp), INTENT(OUT) :: k_HOBr_Br REAL(dp), INTENT(OUT) :: k_HOBr_HSO3 REAL(dp), INTENT(OUT) :: k_HOBr_HSO3_2 ! REAL(dp) :: gd, M_X, cavg, H_X, gb_tot REAL(dp) :: ybr2, l_r, C_Hp1, C_Hp2, Br_over_Cl ! REAL(dp), PARAMETER :: INV_AB = 1.0_dp / 0.6_dp ! Inv. mass accum coef REAL(dp), PARAMETER :: D_l = 1.4e-5_dp ! Amman et al, ACP, 2013 ! ! Henry's law H_X = ( HENRY_K0(ind_HOBr) * CON_ATM_BAR ) & * EXP( HENRY_CR(ind_HOBr) * ( 1.0_dp/TEMP - INV_T298 ) ) ! ! Thermal velocity [cm/s] M_X = MW(ind_HOBr) * 1.0e-3_dp cavg = SQRT( EIGHT_RSTARG_T / ( H%PI * M_X ) ) * 100.0_dp ! ! Follow Roberts et al, (2014) C_Hp1 = MIN( H%H_conc_lCl, 1.0e-6_dp ) C_Hp2 = MIN( H%H_conc_lCl, 1.0e-2_dp ) C_Hp1 = MAX( C_Hp1, 1.0e-9_dp ) C_Hp2 = MAX( C_Hp2, 1.0e-6_dp ) ! ! Rates for each HOBr + {Cl-, Br-, HSO3-, HSO3--} rxn k_HOBr_Cl = 2.3e+10_dp * H%Cl_conc_Cld * C_Hp1 ! Liu & Margerum, EST, 2001 k_HOBr_Br = 1.6e+10_dp * H%Br_conc_Cld * C_Hp2 ! ?? k_HOBr_HSO3 = 2.6e+7_dp * H%HSO3_aq ! Liu and Abbatt, GRL, 2020 k_HOBr_HSO3_2 = 5.0e+9_dp * H%SO3_aq ! Troy & Margerum, Inorg. Chem., 1991 ! ! Total rate k_tot = k_HOBr_Cl + k_HOBr_Br + k_HOBr_HSO3 + k_HOBr_HSO3_2 ! ! Compue reactive uptake coefficient [unitless], prevent div by zero ! l_r is diffusive length scale [cm]; ! gb is Bulk reaction coefficient [unitless] gamma = 0.0_dp IF ( k_tot > 0.0_dp ) THEN l_r = SQRT( D_l / k_tot ) gb_tot = FOUR_R_T * H_X * l_r * k_tot / cavg gb_tot = gb_tot * ReactoDiff_Corr( H%rLiq, l_r ) gamma = 1.0_dp / ( INV_AB + 1.0 / gb_tot ) ENDIF END SUBROUTINE Gam_HOBr_Cld SUBROUTINE Gam_HOBr_Ice( H, gamma, branch_HCl, branch_HBr ) ! ! Calculates total reactive uptake coefficient for ! HOBr + HCl and HOBr + HBr in ice clouds. ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp), INTENT(OUT) :: gamma ! Total rxn prob [1] REAL(dp), INTENT(OUT) :: branch_HCl ! HCl branch ratio REAL(dp), INTENT(OUT) :: branch_HBr ! HBr branch ratio ! REAL(dp) :: gamma_HCl, gamma_HBr ! local vars ! ! Overall uptake prob. of HOBr+HCl and HOBr+HBr together gamma_HCl = H%HCl_theta * 0.25_dp gamma_HBr = H%HBr_theta * 4.8e-4_dp * EXP( 1240.0_dp / TEMP ) gamma = gamma_HCl + gamma_HBr ! ! Branching ratios HCl/total and HBr/total branch_HCl = 0.0_dp branch_HBr = 0.0_dp IF ( gamma > 0.0_dp ) THEN branch_HCl = gamma_HCl / gamma branch_HBr = gamma_HBr / gamma ENDIF END SUBROUTINE Gam_HOBr_Ice FUNCTION HOBrUptkByHBr( H ) RESULT( k ) ! ! Computes the uptake rate [1/s] for the HOBr + HBr reaction ! in the stratosphere and in tropospheric clouds. ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! rxn rate [1/s] ! REAL(dp) :: branch, branch_0, brIce REAL(dp) :: brLiq, dummy, gammaLiq REAL(dp) :: gammaIce, k_HOBr_Cl, k_HOBr_Br REAL(dp) :: k_HOBr_HSO3m, k_HOBr_SO3mm, k_tot REAL(dp) :: srMw ! k = 0.0_dp brIce = 0.0_dp brLiq = 0.0_dp gammaIce = 0.0_dp gammaLiq = 0.0_dp srMw = SR_MW(ind_HOBr) ! IF ( H%stratBox ) THEN ! ! Uptake on tropospheric (origin) sulfate in stratosphere gammaLiq = 0.25_dp k = k + Ars_L1k( H%xArea(SUL), H%xRadi(SUL), gammaLiq, srMw ) ! ! Uptake on strat sulfate liquid aerosol k = k + H%xArea(SLA) * H%KHETI_SLA(HOBr_plus_HBr) ! ! Uptake on irregular ice cloud gammaIce = 0.3_dp IF ( H%natSurface ) gammaIce = 0.001_dp k = k + Ars_L1k( H%xArea(IIC), H%xRadi(IIC), gammaIce, srMw ) ! ELSE ! ! HOBr + HBr rxn probability in tropospheric liquid cloud CALL Gam_HOBr_CLD( & H, gammaLiq, k_tot, & k_HOBr_Cl, k_HOBr_Br, k_HOBr_HSO3m, k_HOBr_SO3mm ) ! ! Branching ratio for liquid path of HOBr + HBr branch_0 = ( k_HOBr_Cl + k_HOBr_Br ) / k_tot branch = branch_0 * 0.9_dp IF ( H%Br_over_Cl_Cld <= 5.0e-4_dp ) THEN branch = branch_0 * Br2_Yield( H%Br_over_Cl_Cld ) ENDIF brLiq = branch * H%frac_Br_CldG ! ! Overall probability of HOBr uptake and ! ice-path branching ratio for HOBr + HBr CALL Gam_HOBr_Ice( H, gammaIce, dummy, brIce ) ! ! Compute overall HOBr removal rate in cloud k = k + CloudHet( H, srMw, gammaLiq, gammaIce, brLiq, brIce ) ! ENDIF ! Assume HOBr is limiting, so update the removal rate accordingly k = kIIR1Ltd( C(ind_HOBr), C(ind_HBr), k ) END FUNCTION HOBrUptkByHBr FUNCTION HOBrUptkByHCl( H ) RESULT( k ) ! ! Computes the uptake rate [1/s] for the HOBr + HCl reaction ! which only occurs in the stratosphere. ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! rxn rate [1/s] ! REAL(dp) :: branch, branch_0, brIce REAL(dp) :: brLiq, dummy, gammaLiq REAL(dp) :: gammaIce, k_HOBr_Cl, k_HOBr_Br REAL(dp) :: k_HOBr_HSO3m, k_HOBr_SO3mm, k_tot REAL(dp) :: srMw ! k = 0.0_dp brIce = 0.0_dp brLiq = 0.0_dp gammaIce = 0.0_dp gammaLiq = 0.0_dp srMw = SR_MW(ind_HOBr) ! IF ( H%stratBox ) THEN ! ! Uptake on tropospheric (origin) sulfate in stratosphere gammaLiq = 0.2_dp k = k + Ars_L1k( H%xArea(SUL), H%xRadi(SUL), gammaLiq, srMw ) ! ! Uptake on strat sulfate liquid aerosol k = k + H%xArea(SLA) * H%KHETI_SLA(HOBr_plus_HCl) ! ! Uptake on irregular ice cloud gammaIce = 0.3_dp IF ( H%natSurface ) gammaIce = 0.1_dp k = k + Ars_L1k( H%xArea(IIC), H%xRadi(IIC), gammaIce, srMw ) ! ELSE ! ! HOBr + HBr rxn probability in tropospheric liquid cloud CALL Gam_HOBr_CLD( & H, gammaLiq, k_tot, & k_HOBr_Cl, k_HOBr_Br, k_HOBr_HSO3m, k_HOBr_SO3mm ) ! ! Branching ratio for liquid path of HOBr + HCl branch_0 = ( k_HOBr_Cl + k_HOBr_Br ) / k_tot branch = branch_0 * 0.1_dp IF ( H%Br_over_Cl_Cld <= 5.0e-4_dp ) THEN branch = branch_0 * ( 1.0_dp - Br2_Yield( H%Br_over_Cl_Cld ) ) ENDIF brLiq = branch * H%frac_Cl_CldG ! ! Overall probability of HOBr uptake and ! ice-path branching ratio for HOBr + HCl CALL Gam_HOBr_Ice( H, gammaIce, brIce, dummy ) ! ! Compute overall HOBr removal rate in cloud k = k + CloudHet( H, srMw, gammaLiq, gammaIce, brLiq, brIce ) ! ENDIF ! Assume HOBr is limiting, so update the removal rate accordingly k = kIIR1Ltd( C(ind_HOBr), C(ind_HCl), k ) END FUNCTION HOBrUptkByHCl FUNCTION HOBrUptkByBrSALA( H ) RESULT( k ) ! ! Computes the uptake rate [1/s] for the HOBr + BrSALA reaction. ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! rxn rate [1/s] ! REAL(dp) :: area, branch, branch_0 REAL(dp) :: brLiq, gammaAer, gammaLiq REAL(dp) :: k_HOBr_Cl, k_HOBr_Br, k_HOBr_HSO3m REAL(dp) :: k_HOBr_SO3mm, k_tot, srMw ! k = 0.0_dp brLiq = 0.0_dp gammaAer = 0.0_dp gammaLiq = 0.0_dp srMw = SR_MW(ind_HOBr) ! IF ( .not. H%stratBox ) THEN ! ! HOBr + HBr rxn probability in tropospheric liquid cloud CALL Gam_HOBr_CLD( & H, gammaLiq, k_tot, & k_HOBr_Cl, k_HOBr_Br, k_HOBr_HSO3m, k_HOBr_SO3mm ) ! ! Branching ratio for liquid path of HOBr + BrSALA in cloud branch_0 = ( k_HOBr_Cl + k_HOBr_Br ) / k_tot branch = branch_0 * 0.9_dp IF ( H%Br_over_Cl_Cld <= 5.0e-4_dp ) THEN branch = branch_0 * Br2_Yield( H%Br_over_Cl_Cld ) ENDIF brLiq = branch * H%frac_Br_CldA ! ! Compute overall HOBr removal rate in cloud k = k + CloudHet( H, srMw, gammaLiq, 0.0_dp, brLiq, 0.0_dp ) ! ENDIF ! ! Now consider HOBr uptake by acidic BrSALA in clear-sky IF ( H%SSA_is_Acid ) THEN ! ! Uptake probability [1] CALL Gam_HOBr_Aer( H, H%aClRadi, H%H_conc_SSA, & H%Cl_conc_SSA, H%Br_conc_SSA, gammaAer ) ! ! Branching ratio (depends on Br- / Cl- ratio) branch = 0.9_dp IF ( H%Br_over_Cl_SSA <= 5.0e-4_dp ) THEN branch = Br2_Yield( H%Br_over_Cl_SSA ) ENDIF ! ! Uptake rate [1/s] area = H%ClearFr * H%aClArea * H%f_Acid_SSA k = k + Ars_L1K( area, H%aClRadi, gammaAer, srMw ) * branch ENDIF ! Assume HOBr is limiting, so update the removal rate accordingly k = kIIR1Ltd( C(ind_HOBr), C(ind_BrSALA), k ) END FUNCTION HOBrUptkByBrSALA FUNCTION HOBrUptkByBrSALC( H ) RESULT( k ) ! ! Computes the uptake rate [1/s] for the HOBr + BrSALC reaction. ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! rxn rate [1/s] ! REAL(dp) :: area, branch, branch_0 REAL(dp) :: brLiq, gammaAer, gammaLiq REAL(dp) :: k_HOBr_Cl, k_HOBr_Br, k_HOBr_HSO3m REAL(dp) :: k_HOBr_SO3mm, k_tot, srMw ! k = 0.0_dp brLiq = 0.0_dp gammaAer = 0.0_dp gammaLiq = 0.0_dp srMw = SR_MW(ind_HOBr) ! IF ( .not. H%stratBox ) THEN ! ! HOBr + HBr rxn probability in tropospheric liquid cloud CALL Gam_HOBr_CLD( & H, gammaLiq, k_tot, & k_HOBr_Cl, k_HOBr_Br, k_HOBr_HSO3m, k_HOBr_SO3mm ) ! ! Branching ratio for liquid path of HOBr + BrSALC in cloud branch_0 = ( k_HOBr_Cl + k_HOBr_Br ) / k_tot branch = branch_0 * 0.9_dp IF ( H%Br_over_Cl_Cld <= 5.0e-4_dp ) THEN branch = branch_0 * Br2_Yield( H%Br_over_Cl_Cld ) ENDIF brLiq = branch * H%frac_Br_CldC ! ! Compute overall HOBr removal rate in cloud k = k + CloudHet( H, srMw, gammaLiq, 0.0_dp, brLiq, 0.0_dp ) ! ENDIF ! ! Now consider HOBr uptake by acidic BrSALC in clear-sky IF ( H%SSC_is_Acid ) THEN ! ! Uptake probability [1] CALL Gam_HOBr_Aer( H, H%xRadi(SSC), H%H_conc_SSC, & H%Cl_conc_SSC, H%Br_conc_SSC, gammaAer ) ! ! Branching ratio (depends on Br- / Cl- ratio) branch = 0.9_dp IF ( H%Br_over_Cl_SSC <= 5.0e-4_dp ) THEN branch = Br2_Yield( H%Br_over_Cl_SSC ) ENDIF ! ! Uptake rate [1/s] area = H%ClearFr * H%xArea(SSC) * H%f_Acid_SSC k = k + Ars_L1K( area, H%xRadi(SSC), gammaAer, srMw ) * branch ENDIF ! Assume HOBr is limiting, so update the removal rate accordingly k = kIIR1Ltd( C(ind_HOBr), C(ind_BrSALC), k ) END FUNCTION HOBrUptkByBrSALC FUNCTION HOBrUptkBySALACL( H ) RESULT( k ) ! ! Computes the uptake rate [1/s] for the HOBr + SALACL reaction. ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! rxn rate [1/s] ! REAL(dp) :: area, branch, branch_0 REAL(dp) :: brLiq, gammaAer, gammaLiq REAL(dp) :: k_HOBr_Cl, k_HOBr_Br, k_HOBr_HSO3m REAL(dp) :: k_HOBr_SO3mm, k_tot, srMw ! k = 0.0_dp brLiq = 0.0_dp gammaAer = 0.0_dp gammaLiq = 0.0_dp srMw = SR_MW(ind_HOBr) ! IF ( .not. H%stratBox ) THEN ! ! HOBr + HBr rxn probability in tropospheric liquid cloud CALL Gam_HOBr_CLD( & H, gammaLiq, k_tot, & k_HOBr_Cl, k_HOBr_Br, k_HOBr_HSO3m, k_HOBr_SO3mm ) ! ! Branching ratio for liquid path of HOBr + SALACL in cloud branch_0 = ( k_HOBr_Cl + k_HOBr_Br ) / k_tot branch = branch_0 * 0.1_dp IF ( H%Br_over_Cl_Cld <= 5.0e-4_dp ) THEN branch = branch_0 * ( 1.0_dp - Br2_Yield( H%Br_over_Cl_Cld ) ) ENDIF brLiq = branch * H%frac_Cl_CldA ! ! Compute overall HOBr removal rate in cloud k = k + CloudHet( H, srMw, gammaLiq, 0.0_dp, brLiq, 0.0_dp ) ! ENDIF ! ! Now consider HOBr uptake by acidic SALACL in clear-sky IF ( H%SSA_is_Acid ) THEN ! ! Uptake probability [1] CALL Gam_HOBr_Aer( H, H%aClRadi, H%H_conc_SSA, & H%Cl_conc_SSA, H%Br_conc_SSA, gammaAer ) ! ! Branching ratio (depends on Br- / Cl- ratio) branch = 0.1_dp IF ( H%Br_over_Cl_SSA <= 5.0e-4_dp ) THEN branch = 1.0_dp - Br2_Yield( H%Br_over_Cl_SSA ) ENDIF ! ! Uptake rate [1/s] area = H%ClearFr * H%aClArea * H%f_Acid_SSA k = k + Ars_L1K( area, H%aClRadi, gammaAer, srMw ) * branch ENDIF ! Assume HOBr is limiting, so update the removal rate accordingly k = kIIR1Ltd( C(ind_HOBr), C(ind_SALACL), k ) END FUNCTION HOBrUptkBySALACL FUNCTION HOBrUptkBySALCCL( H ) RESULT( k ) ! ! Computes the uptake rate [1/s] for the HOBr + SALCCL reaction. ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! rxn rate [1/s] ! REAL(dp) :: area, branch, branch_0 REAL(dp) :: brLiq, gammaAer, gammaLiq REAL(dp) :: k_HOBr_Cl, k_HOBr_Br, k_HOBr_HSO3m REAL(dp) :: k_HOBr_SO3mm, k_tot, srMw ! k = 0.0_dp brLiq = 0.0_dp gammaAer = 0.0_dp gammaLiq = 0.0_dp srMw = SR_MW(ind_HOBr) ! IF ( .not. H%stratBox ) THEN ! ! HOBr + HBr rxn probability in tropospheric liquid cloud CALL Gam_HOBr_CLD( & H, gammaLiq, k_tot, & k_HOBr_Cl, k_HOBr_Br, k_HOBr_HSO3m, k_HOBr_SO3mm ) ! ! Branching ratio for liquid path of HOBr + SALACL in cloud branch_0 = ( k_HOBr_Cl + k_HOBr_Br ) / k_tot branch = branch_0 * 0.1_dp IF ( H%Br_over_Cl_Cld <= 5.0e-4_dp ) THEN branch = branch_0 * ( 1.0_dp - Br2_Yield( H%Br_over_Cl_Cld ) ) ENDIF brLiq = branch * H%frac_Cl_CldC ! ! Compute overall HOBr removal rate in cloud k = k + CloudHet( H, srMw, gammaLiq, 0.0_dp, brLiq, 0.0_dp ) ! ENDIF ! ! Now consider HOBr uptake by acidic SALCCL in clear-sky IF ( H%SSC_is_Acid ) THEN ! ! Uptake probability [1] CALL Gam_HOBr_Aer( H, H%xRadi(SSC), H%H_conc_SSC, & H%Cl_conc_SSC, H%Br_conc_SSC, gammaAer ) ! ! Branching ratio (depends on Br- / Cl- ratio) branch = 0.1_dp IF ( H%Br_over_Cl_SSC <= 5.0e-4_dp ) THEN branch = 1.0_dp - Br2_Yield( H%Br_over_Cl_SSC ) ENDIF ! ! Uptake rate [1/s] area = H%ClearFr * H%xArea(SSC) * H%f_Acid_SSC k = k + Ars_L1K( area, H%xRadi(SSC), gammaAer, srMw ) * branch ENDIF ! Assume HOBr is limiting, so update the removal rate accordingly k = kIIR1Ltd( C(ind_HOBr), C(ind_SALCCL), k ) END FUNCTION HOBrUptkBySALCCL FUNCTION HOBrUptkByHSO3m( H ) RESULT( k ) ! ! Computes the uptake rate [1/s] for the HOBr + HSO3(-) reaction. ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! rxn rate [1/s] ! REAL(dp) :: brLiq, gammaLiq, k_HOBr_Cl REAL(dp) :: k_HOBr_Br, k_HOBr_HSO3m, k_HOBr_SO3mm REAL(dp) :: k_tot, srMw ! k = 0.0_dp brLiq = 0.0_dp gammaLiq = 0.0_dp srMw = SR_MW(ind_HOBr) ! IF ( .not. H%stratBox ) THEN ! ! HOBr + HBr rxn probability in tropospheric liquid cloud CALL Gam_HOBr_CLD( & H, gammaLiq, k_tot, & k_HOBr_Cl, k_HOBr_Br, k_HOBr_HSO3m, k_HOBr_SO3mm ) ! ! Branching ratio for liquid path of HOBr + HSO3- in cloud brLiq = k_HOBr_HSO3m / k_tot ! ! Compute overall HOBr removal rate in cloud k = k + CloudHet( H, srMw, gammaLiq, 0.0_dp, brLiq, 0.0_dp ) ! ENDIF ! Assume HOBr is limiting, so update the removal rate accordingly k = kIIR1Ltd( C(ind_HOBr), C(ind_SO2), k ) END FUNCTION HOBrUptkByHSO3m FUNCTION HOBrUptkBySO3mm( H ) RESULT( k ) ! ! Computes the uptake rate [1/s] for the HOBr + HSO3(-) reaction. ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! rxn rate [1/s] ! REAL(dp) :: brLiq, gammaLiq, k_HOBr_Cl REAL(dp) :: k_HOBr_Br, k_HOBr_HSO3m, k_HOBr_SO3mm REAL(dp) :: k_tot, srMw ! k = 0.0_dp srMw = SR_MW(ind_HOBr) ! IF ( .not. H%stratBox ) THEN ! ! HOBr + HBr rxn probability in tropospheric liquid cloud CALL Gam_HOBr_CLD( & H, gammaLiq, k_tot, & k_HOBr_Cl, k_HOBr_Br, k_HOBr_HSO3m, k_HOBr_SO3mm ) ! ! Branching ratio for liquid path of HOBr + SO3-- in cloud brLiq = k_HOBr_SO3mm / k_tot ! ! Compute overall HOBr removal rate in cloud k = k + CloudHet( H, srMw, gammaLiq, 0.0_dp, brLiq, 0.0_dp ) ! ENDIF ! Assume HOBr is limiting, so update the removal rate accordingly k = kIIR1Ltd( C(ind_HOBr), C(ind_SO2), k ) END FUNCTION HOBrUptkBySO3mm !========================================================================= ! Hetchem rate-law functions for HOCl !========================================================================= SUBROUTINE Gam_HOCl_Cld( H, gamma, branchCl, branchSO3 ) ! ! Computes the uptake coefficient [1] of HOCl + HSO3 and HOCl + SO3. ! Returns reaction rates of Cl and SO3 paths to compute branching ratios. ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp), INTENT(OUT) :: gamma ! Rxn prob [1] REAL(dp), INTENT(OUT) :: branchCl ! Branch ratio, Cl path [1] REAL(dp), INTENT(OUT) :: branchSO3 ! Branch ratio, SO3 path [1] ! REAL(dp), PARAMETER :: INV_AB = 1.0_dp / 0.8_dp ! 1/mass accom coeff REAL(dp), PARAMETER :: D_l = 2.0e-5_dp ! Liq diff phase coeff ! REAL(dp) :: cavg, gb_tot, H_X, k_Cl REAL(dp) :: k_SO3, k_tot, l_r, M_X ! ! Reaction rates, Cl and SO3 paths [1/s] k_Cl = 1.5e+4_dp * H%H_Conc_LCL * H%Cl_conc_Cld k_SO3 = 2.8e+5_dp * H%TSO3_aq k_tot = k_Cl + k_SO3 ! ! Compute reactive uptake coefficient [1] and branching ratio [1], Cl path ! but avoid division by zero gamma = 0.0_dp branchCl = 0.0_dp branchSO3 = 0.0_dp ! IF ( k_tot > 0.0_dp ) THEN ! ! thermal velocity (cm/s) M_X = MW(ind_HOCl) * 1.0e-3_dp cavg = SQRT( EIGHT_RSTARG_T / ( H%Pi * M_X ) ) * 100.0_dp ! ! Henry's law H_X = ( HENRY_K0(ind_HOCl) * CON_ATM_BAR ) & * EXP( HENRY_CR(ind_HOCl) * ( INV_TEMP - INV_T298 ) ) ! l_r = SQRT( D_l / k_tot ) gb_tot = FOUR_R_T * H_X * l_r * k_tot / cavg gb_tot = gb_tot * ReactoDiff_Corr( H%rLiq, l_r ) ! gamma = 1.0_dp / ( INV_AB + 1.0_dp / gb_tot ) branchCl = k_Cl / k_tot branchSO3 = k_SO3 / k_tot ENDIF END SUBROUTINE Gam_HOCl_Cld SUBROUTINE Gam_HOCl_AER( H, radius, C_Hp, C_Cl, gamma ) ! ! Calculates reactive uptake coefficients [1] for the reactions ! HOCl + SALACL and HOCl + SALCCL. ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp), INTENT(IN) :: radius ! Radius [cm] REAL(dp), INTENT(IN) :: C_Hp ! H+ conc [mol/L] REAL(dp), INTENT(IN) :: C_Cl ! Cl- conc [mol/L] REAL(dp), INTENT(OUT) :: gamma ! REAL(dp), PARAMETER :: INV_AB = 1.0_dp / 0.8_dp ! 1/mass accum coeff REAL(dp), PARAMETER :: D_l = 2.0e-5_dp ! Liq phase diffusion coeff REAL(dp), PARAMETER :: K_TER = 1.5e+4_dp ! Units: M-1 s-1 ! REAL(dp) :: cavg, gb, H_X, l_r, M_X ! gamma = 0.0_dp ! ! If C_Cl is zero, gamma is zero! IF ( .not. C_Cl > 0.0_dp ) RETURN ! ! Thermal velocity (cm/s) M_X = MW(ind_HOCl) * 1.0e-3_dp cavg = SQRT( EIGHT_RSTARG_T / ( H%PI * M_X ) ) * 100.0_dp ! ! Henry's law H_X = ( HENRY_K0(ind_HOCl) * CON_ATM_BAR ) & * EXP( HENRY_CR(ind_HOCl) * ( INV_TEMP - INV_T298 ) ) l_r = SQRT( D_l / ( K_TER * C_Hp * C_Cl ) ) gb = FOUR_R_T * H_X * l_r * K_TER * C_Hp * C_Cl / cavg gb = gb * ReactoDiff_Corr( radius, l_r ) ! ! Reactive uptake coefficient [1] gamma = 1.0_dp / ( INV_AB + 1.0_dp / gb ) END SUBROUTINE Gam_HOCl_Aer FUNCTION HOClUptkByHCl( H ) RESULT( k ) ! ! Computes the uptake rate [1/s] for the HOCl + HBr reaction. ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! rxn rate [1/s] ! REAL(dp) :: branch, branchCl, brIce, dummy REAL(dp) :: gamma, gammaIce, srMw ! k = 0.0_dp srMw = SR_MW(ind_HOCl) ! IF ( H%stratBox ) THEN ! ! HOCl + HBr on tropospheric sulfate in stratosphere gamma = 0.8_dp k = k + Ars_L1K( H%xArea(SUL), H%xRadi(SUL), gamma, srMw ) ! ! HOCl + HBr on stratopsheric liquid aerosol k = k + H%xArea(SLA) * H%KHETI_SLA(HOCl_plus_HCl) ! ! HOCl + HBr on irregular ice cloud gamma = 0.2_dp ! Rxn prob, ice IF ( H%natSurface ) gamma = 0.1_dp ! Rxn prob, NAT k = k + Ars_L1K( H%xArea(IIC), H%xRadi(IIC), gamma, srMw ) ! Assume HOCl is limiting, so recompute reaction rate accordingly k = kIIR1Ltd( C(ind_HOCl), C(ind_HCl), k ) ! RETURN ENDIF ! ! HOCl + HCl uptake coeff [1] & branch ratio [1] in trop liquid cloud CALL Gam_HOCl_Cld( H, gamma, branchCl, dummy ) branch = branchCl * H%frac_Cl_CldG ! ! HOCl + HCl uptake coeff [1] & branch ratio [1] in trop ice cloud gammaIce = 0.22_dp * H%HCl_theta brIce = 1.0_dp ! ! Compute overall HOCl + HCl uptake rate accounting for cloud fraction k = k + CloudHet( H, srMw, gamma, gammaIce, branch, brIce ) ! ! Assume HOCl is limiting, so recompute reaction rate accordingly k = kIIR1Ltd( C(ind_HOCl), C(ind_HCl), k ) END FUNCTION HOClUptkByHCl FUNCTION HOClUptkByHBr( H ) RESULT( k ) ! ! Computes the uptake rate [1/s] for the HOCl + HBr reaction. ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! rxn rate [1/s] ! REAL(dp) :: gamma, srMw ! k = 0.0_dp srMw = SR_MW(ind_HOCl) ! IF ( H%stratBox ) THEN ! ! HOCl + HBr on tropospheric sulfate in stratosphere gamma = 0.8_dp k = k + Ars_L1K( H%xArea(SUL), H%xRadi(SUL), gamma, srMw ) ! ! HOCl + HBr on stratopsheric liquid aerosol k = k + H%xArea(SLA) * H%KHETI_SLA(HOCl_plus_HBr) ! ! HOCl + HBr on irregular ice cloud (ice and NAT surface) gamma = 0.3_dp k = k + Ars_L1K( H%xArea(IIC), H%xRadi(IIC), gamma, srMw ) ENDIF ! ! Assume HOCl is limiting, so recompute reaction rate accordingly k = kIIR1Ltd( C(ind_HOCl), C(ind_HBr), k ) ! Force to zero if HetRate flag is turned on IF ( H%TurnOffHetRates ) k = 0.0_dp END FUNCTION HOClUptkByHBr FUNCTION HOClUptkBySALACL( H ) RESULT( k ) ! ! Computes the uptake rate [1/s] for the HOCl + SALACL reaction. ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! rxn rate [1/s] ! REAL(dp) :: area, branch, branchCl REAL(dp) :: dummy, gamma, srMw ! k = 0.0_dp srMw = SR_MW(ind_HOCl) ! ! Compute HOCl + SALACL uptake in tropospheric liquid cloud IF ( .not. H%stratBox ) THEN ! ! HOCl + SALACL uptake coeff [1] & branch ratio [1], liquid path CALL Gam_HOCl_Cld( H, gamma, branchCl, dummy ) branch = branchCl * H%frac_Cl_CldA ! ! HOCl + HCl uptake rate [1/s] accounting for cloud fraction k = k + CloudHet( H, srMw, gamma, 0.0_dp, branch, 0.0_dp ) ENDIF ! ! Compute HOCl + SALACL uptake rate [1/s] on acidic aerosols in clear-sky IF ( H%SSA_is_Acid ) THEN CALL Gam_HOCl_Aer( H, H%aClRadi, H%H_conc_SSA, H%Cl_conc_SSA, gamma ) area = H%ClearFr * H%aClArea * H%f_Acid_SSA k = k + Ars_L1k( area, H%aClRadi, gamma, srMw ) ENDIF ! ! Assume HOCl is limiting, so recompute reaction rate accordingly k = kIIR1Ltd( C(ind_HOCl), C(ind_SALACL), k ) END FUNCTION HOClUptkBySALACL FUNCTION HOClUptkBySALCCL( H ) RESULT( k ) ! ! Computes the uptake rate [1/s] for the HOCl + SALCCL reaction. ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! rxn rate [1/s] ! REAL(dp) :: area, branch, branchCl REAL(dp) :: dummy, gamma, srMw ! k = 0.0_dp srMw = SR_MW(ind_HOCl) ! ! Compute HOCl + SALACL uptake in tropospheric liquid cloud IF ( .not. H%stratBox ) THEN ! ! HOCl + SALACL uptake coeff [1] & branch ratio [1], liquid path CALL Gam_HOCl_Cld( H, gamma, branchCl, dummy ) branch = branchCl * H%frac_Cl_CldC ! ! HOCl + HCl uptake rate [1/s] accounting for cloud fraction k = k + CloudHet( H, srMw, gamma, 0.0_dp, branch, 0.0_dp ) ENDIF ! ! Compute HOCl + SALCCL uptake rate [1/s] on acidic aerosols in clear-sky IF ( H%SSC_is_Acid ) THEN CALL Gam_HOCl_Aer( H, H%xRadi(SSC), H%H_conc_SSC, H%Cl_conc_SSC, gamma ) area = H%ClearFr * H%xArea(SSC) * H%f_Acid_SSC k = k + Ars_L1k( area, H%xRadi(SSC), gamma, srMw ) ENDIF ! ! Assume HOCl is limiting, so recompute reaction rate accordingly k = kIIR1Ltd( C(ind_HOCl), C(ind_SALCCL), k ) END FUNCTION HOClUptkBySALCCL FUNCTION HOClUptkByHSO3m( H ) RESULT( k ) ! ! Computes the uptake rate [1/s] for the HOCl + HSO3- reaction. ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! rxn rate [1/s] ! REAL(dp) :: area, branch, branchSO3 REAL(dp) :: dummy, gamma, srMw ! k = 0.0_dp srMw = SR_MW(ind_HOCl) ! ! Compute HOCl + HSO3- uptake in tropospheric liquid cloud IF ( .not. H%stratBox ) THEN ! ! HOCl + HSO3- uptake coeff [1] & branch ratio [1], liquid path CALL Gam_HOCl_Cld( H, gamma, dummy, branchSO3 ) branch = branchSO3 * H%frac_HSO3_aq ! ! HOCl + HSO3- uptake rate [1/s] accounting for cloud fraction k = k + CloudHet( H, srMw, gamma, 0.0_dp, branch, 0.0_dp ) ENDIF ! ! Assume HOCl is limiting, so recompute reaction rate accordingly ! Convert SO2 to HSO3- with the HSO3-/SO2 ratio k = kIIR1Ltd( C(ind_HOCl), C(ind_SO2), k ) * H%HSO3m END FUNCTION HOClUptkByHSO3m FUNCTION HOClUptkBySO3mm( H ) RESULT( k ) ! ! Computes the uptake rate [1/s] for the HOCl + SO3-- reaction. ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! rxn rate [1/s] ! REAL(dp) :: area, branch, branchSO3 REAL(dp) :: dummy, gamma, srMw ! k = 0.0_dp srMw = SR_MW(ind_HOCl) ! ! Compute HOCl + SO3-- uptake in tropospheric liquid cloud IF ( .not. H%stratBox ) THEN ! ! HOCl + SO3-- uptake coeff [1] & branch ratio [1], liquid path CALL Gam_HOCl_Cld( H, gamma, dummy, branchSO3 ) branch = branchSO3 * H%frac_SO3_aq ! ! HOCl + SO3-- uptake rate [1/s] accounting for cloud fraction k = k + CloudHet( H, srMw, gamma, 0.0_dp, branch, 0.0_dp ) ENDIF ! ! Assume HOCl is limiting, so recompute reaction rate accordingly ! Convert SO2 to SO3-- with the SO3--/SO2 ratio k = kIIR1Ltd( C(ind_HOCl), C(ind_SO2), k ) * H%SO3mm END FUNCTION HOClUptkBySO3mm !========================================================================= ! Hetchem rate-law functions for iodine species ! (HI, HOI, I2O2, I2O3, I2O4, IONO2, IONO3) !========================================================================= FUNCTION IuptkBySulf1stOrd( srMw, gamma, H ) RESULT( k ) ! ! Computes the reaction rate [1/s] for uptake of iodine species ! by sulfate (aerosol types #8 and #13). ! REAL(dp), INTENT(IN) :: srMw, gamma ! sqrt( mol wt ), rxn prob TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! rxn rate [1/s] ! ! Uptake rate of iodine by tropospheric sulfate k = Ars_L1k( H%xArea(SUL), H%xRadi(SUL), gamma, srMw ) ! ! For UCX-based mechanisms also allow reaction on stratospheric ! sulfate liq aerosol if tropospheric sulfate is requested k = k + Ars_L1k( H%xArea(SLA), H%xRadi(SLA), gamma, srMw ) END FUNCTION IuptkBySulf1stOrd FUNCTION IuptkBySALA1stOrd( srMw, gamma, H ) RESULT( k ) ! ! Computes the reaction rate [1/s] for uptake of iodine species ! by accumulation-mode (aka fine) sea-salt aerosol. ! REAL(dp), INTENT(IN) :: srMw, gamma ! sqrt( mol wt ) rxn prob area TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! rxn rate [1/s] ! ! Exit if in the stratosphere k = 0.0_dp IF ( H%stratBox ) RETURN ! k = Ars_L1k( H%xArea(SSA), H%xRadi(SSA), gamma, srMw ) END FUNCTION IuptkbySALA1stOrd FUNCTION IuptkByAlkSALA1stOrd( srMw, gamma, H ) RESULT( k ) ! ! Computes the reaction rate [1/s] for uptake of iodine species ! by alkaline accumulation-mode (aka fine) sea-salt aerosol. ! REAL(dp), INTENT(IN) :: srMw, gamma ! sqrt( mol wt ) rxn prob TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! rxn rate [1/s] REAL(dp) :: ssarea ! alkaline sea salt area ! ! Exit if in the stratosphere k = 0.0_dp IF ( H%stratBox ) RETURN ! IF ( H%SSA_is_Alk ) THEN ssarea = H%f_Alk_SSA * H%xArea(SSA) k = Ars_L1k( ssarea, H%xRadi(SSA), gamma, srMw ) ENDIF END FUNCTION IuptkbyAlkSALA1stOrd FUNCTION IuptkBySALC1stOrd( srMw, gamma, H ) RESULT( k ) ! ! Computes the reaction rate [1/s] for uptake of iodine species ! by coarse-mode sea-salt aerosol. ! REAL(dp), INTENT(IN) :: srMw, gamma ! sqrt( mol wt ), rxn prob TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! rxn rate [1/s] ! ! Exit if in the stratosphere k = 0.0_dp IF ( H%stratBox ) RETURN ! k = Ars_L1k( H%xArea(SSC), H%xRadi(SSC), gamma, srMw ) END FUNCTION IuptkBySALC1stOrd FUNCTION IuptkByAlkSALC1stOrd( srMw, gamma, H ) RESULT( k ) ! ! Computes the reaction rate [1/s] for uptake of iodine species ! by alkaline coarse-mode sea-salt aerosol. ! REAL(dp), INTENT(IN) :: srMw, gamma ! sqrt( mol wt ), rxn prob TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! rxn rate [1/s] REAL(dp) :: ssarea ! alkaline sea salt area ! ! Exit if in the stratosphere k = 0.0_dp IF ( H%stratBox ) RETURN ! IF ( H%SSC_is_Alk ) THEN ssarea = H%f_Alk_SSC * H%xArea(SSC) k = Ars_L1K( ssarea, H%xRadi(SSC), gamma, srMw ) ENDIF END FUNCTION IuptkByAlkSALC1stOrd FUNCTION IbrkdnByAcidBrSALA( srMw, conc, gamma, H ) RESULT( k ) ! ! Breakdown of iodine species on acidic sea-salt (accumulation mode) ! Assume a ratio of IBr:ICl = 0.15:0.85 ! REAL(dp), INTENT(IN) :: srMw, conc, gamma TYPE(HetState), INTENT(IN) :: H REAL(dp) :: k REAL(dp) :: ssarea ! acidic sea salt area ! ! Exit if in the stratosphere k = 0.0_dp IF ( H%stratBox ) RETURN ! IF ( H%SSA_is_Acid ) THEN ssarea = H%f_Acid_SSA * H%xArea(SSA) k = 0.15_dp * Ars_L1K( ssarea, H%xRadi(SSA), gamma, srMw ) k = kIIR1Ltd( conc, C(ind_BrSALA), k ) ! conc is limiting, so update k ENDIF END FUNCTION IbrkdnbyAcidBrSALA FUNCTION IbrkdnByAcidBrSALC( srMw, conc, gamma, H ) RESULT( k ) ! ! Breakdown of iodine species on acidic sea-salt (accumulation mode) ! Assume a ratio of IBr:ICl = 0.15:0.85 ! REAL(dp), INTENT(IN) :: srMw, conc, gamma TYPE(HetState), INTENT(IN) :: H REAL(dp) :: k REAL(dp) :: ssarea ! acidic sea salt area ! ! Exit if in the stratosphere k = 0.0_dp IF ( H%stratBox ) RETURN ! IF ( H%SSC_is_Acid ) THEN ssarea = H%f_Acid_SSC * H%xArea(SSC) k = 0.15_dp * Ars_L1K( ssarea, H%xRadi(SSC), gamma, srMw ) k = kIIR1Ltd( conc, C(ind_BrSALC), k ) ! conc is limiting, so update k ENDIF END FUNCTION IbrkdnbyAcidBrSALC FUNCTION IbrkdnByAcidSALACl( srMw, conc, gamma, H ) RESULT( k ) ! ! Breakdown of iodine species on acidic sea-salt (accumulation mode) ! Assume a ratio of IBr:ICl = 0.15:0.85 ! REAL(dp), INTENT(IN) :: srMw, conc, gamma TYPE(HetState), INTENT(IN) :: H REAL(dp) :: k REAL(dp) :: ssarea ! acidic sea salt area ! ! Exit if in the stratosphere k = 0.0_dp IF ( H%stratBox ) RETURN ! IF ( H%SSA_is_Acid ) THEN ssarea = H%f_Acid_SSA * H%xArea(SSA) k = 0.85_dp * Ars_L1K( ssarea, H%xRadi(SSA), gamma, srMw ) k = kIIR1Ltd( conc, C(ind_SALACl), k ) ! conc is limiting, so update k ENDIF END FUNCTION IbrkdnbyAcidSALACl FUNCTION IbrkdnByAcidSALCCl( srMw, conc, gamma, H ) RESULT( k ) ! ! Breakdown of iodine species on acidic sea-salt (accumulation mode) ! Assume a ratio of IBr:ICl = 0.15:0.85 ! REAL(dp), INTENT(IN) :: srMw, conc, gamma TYPE(HetState), INTENT(IN) :: H REAL(dp) :: k REAL(dp) :: ssarea ! acidic sea salt area ! ! Exit if in the stratosphere k = 0.0_dp IF ( H%stratBox ) RETURN ! IF ( H%SSC_is_Acid ) THEN ssarea = H%f_Acid_SSC * H%xArea(SSC) k = 0.85_dp * ARs_L1K( ssarea, H%xRAdi(SSC), gamma, srMw ) k = kIIR1Ltd( conc, C(ind_SALCCl), k ) ! conc is limiting, so update k ENDIF END FUNCTION IbrkdnbyAcidSALCCl FUNCTION IONO2uptkByH2O( H ) RESULT( k ) ! ! Computes the reaction rate [1/s] for IONO2 + H2O = HOI + HNO3 ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! Rxn rate [1/s] ! REAL(dp) :: area, conc, gamma, srMw ! k = 0.0_dp srMw = SR_MW(ind_IONO2) ! ! Tropopsheric sulfate (use T-dependent gamma, cf Deiber et al 2004) area = H%ClearFr * H%xArea(SUL) gamma = MAX( ( 0.0021_dp * TEMP - 0.561_dp ), 0.0_dp ) k = k + Ars_L1K( area, H%xRadi(SUL), gamma, srMw ) ! ! Stratospheric liquid aerosol k = k + H%xArea(SLA) * H%KHETI_SLA(BrNO3_plus_H2O) ! ! Irregular ice cloud area = H%ClearFr * H%xArea(IIC) gamma = 0.3_dp IF ( H%natSurface ) gamma = 0.001_dp k = k + Ars_L1K( area, H%xRadi(IIC), gamma, srMw ) ! ! Also account for cloudy grid box ! Use gamma(liquid) = gamma(ice) = 0.01, to make the uptake coefficient ! consistent with hydrolysis in aerosols (T. Sherwen, 28 Sep 2021) k = k + CloudHet( H, srMw, 0.01_dp, 0.01_dp, 1.0_dp, 1.0_dp ) ! ! Assume IONO2 is limiting, so update the reaction rate accordingly k = kIIR1Ltd( C(ind_IONO2), C(ind_H2O), k ) END FUNCTION IONO2uptkByH2O !========================================================================= ! Hetchem rate-law functions for N2O5 !========================================================================= FUNCTION N2O5uptkByH2O( H ) RESULT( k ) ! ! Set heterogenous chemistry rate for N2O5. ! TYPE(HetState), INTENT(INOUT) :: H REAL(dp) :: k ! REAL(dp) :: Y_ClNO2, Rp, SA, SA_sum, area, gamma, srMw, ktmp ! k = 0.0_dp srMw = SR_MW(ind_N2O5) ! ! Uptake on mineral dust gamma = 0.02_dp k = k + Ars_L1K( H%ClearFr * H%xArea(DU1), H%xRadi(DU1), gamma, srMw ) k = k + Ars_L1K( H%ClearFr * H%xArea(DU2), H%xRadi(DU2), gamma, srMw ) k = k + Ars_L1K( H%ClearFr * H%xArea(DU3), H%xRadi(DU3), gamma, srMw ) k = k + Ars_L1K( H%ClearFr * H%xArea(DU4), H%xRadi(DU4), gamma, srMw ) k = k + Ars_L1K( H%ClearFr * H%xArea(DU5), H%xRadi(DU5), gamma, srMw ) k = k + Ars_L1K( H%ClearFr * H%xArea(DU6), H%xRadi(DU6), gamma, srMw ) k = k + Ars_L1K( H%ClearFr * H%xArea(DU7), H%xRadi(DU7), gamma, srMw ) ! ! Uptake on tropospheric sulfate ! Reduce the rate of the HNO3 pathway in accordinace with ! the ClNO2 yield on SNA + ORG aerosol ! Reduce ClNO2 yield by 75% (cf McDuffie et al, JGR, 2018) CALL N2O5_InorgOrg( & H, H%AClVol, H%xVol(ORC), H%xH2O(SUL), & H%xH2O(ORC), H%AClRadi, C(ind_NIT), C(ind_SALACL), & gamma, Y_ClNO2, Rp, SA ) ! ktmp = Ars_L1K( H%ClearFr * SA, Rp, gamma, srMw ) k = k + ktmp - ( ktmp * Y_ClNO2 * 0.25_dp ) ! ! Uptake on black carbon gamma = 0.005_dp k = k + Ars_L1K( H%ClearFr * H%xArea(BKC), H%xRadi(BKC), gamma, srMw ) ! ! Uptake on coarse sea salt (aerosol type #12) ! Reduce the rate of this HNO3 pathway in accordance with the yield CALL N2O5_InorgOrg( & H, H%xVol(SSC), 0.0_dp, H%xH2O(SSC), & 0.0_dp, H%xRadi(SSC), C(ind_NITs), C(ind_SALCCL), & gamma, Y_ClNO2, Rp, SA ) ! ktmp = Ars_L1k( H%ClearFr * SA, Rp, gamma, srMw ) k = k + ktmp - ( ktmp * Y_ClNO2 ) ! ! Uptake on stratopsheric liquid aerosol k = k + H%xArea(SLA) * H%KHETI_SLA(N2O5_plus_H2O) ! ! Uptake on irregular ice cloud gamma = 0.02_dp ! Ice IF ( H%natSurface ) gamma = 4.0e-4_dp ! NAT k = k + Ars_L1K( H%ClearFr * H%xArea(IIC), H%xRadi(IIC), gamma, srMw ) ! Assume N2O5 is limiting, so update the removal rate accordingly k = kIIR1Ltd( C(ind_N2O5), C(ind_H2O), k ) END FUNCTION N2O5uptkByH2O FUNCTION N2O5uptkBySALACl( H ) RESULT( k ) ! ! Computes uptake rate of N2O5 on Cl- in fine sea salt. ! This reaction follows the N2O5 + Cl- channel. ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! Rxn rate [1/s] REAL(dp) :: gamma, Y_ClNO2, Rp, SA ! local vars ! ! Exit if in the stratosphere k = 0.0_dp IF ( H%stratBox ) RETURN ! ! Properties of inorganic (SNA) sea salt coated with organics CALL N2O5_InorgOrg( & H, H%AClVol, H%xVol(ORC), H%xH2O(SUL), & H%xH2O(ORC), H%aClRadi, C(ind_NIT), C(ind_SALACL), & gamma, Y_ClNO2, Rp, SA ) ! ! Total loss rate of N2O5 (kN2O5) on SNA+ORG+SSA aerosol. ! Reduce ClNO2 production yield on fine inorganic+organic ! aerosol by 75% (cf. McDuffie et al, JGR, 2018). k = Ars_L1K( H%ClearFr * SA, Rp, gamma, SR_MW(ind_N2O5) ) k = k * Y_ClNO2 * 0.25_dp ! ! Assume N2O5 is limiting, so update the removal rate accordingly k = kIIR1Ltd( C(ind_N2O5), C(ind_SALACL), k ) END FUNCTION N2O5uptkBySALACl FUNCTION N2O5uptkBySALCCl( H ) RESULT( k ) ! ! Computes uptake rate of N2O5 on Cl- in coarse sea salt. ! This reaction follows the N2O5 + Cl- channel. ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! Rxn rate [1/s] REAL(dp) :: gamma, Y_ClNO2, Rp, SA ! local vars ! ! Exit if in the stratosphere k = 0.0_dp IF ( H%stratBox ) RETURN ! ! Properties of inorganic (SNA) sea salt coated with organics CALL N2O5_InorgOrg( & H, H%xVol(SSC), 0.0_dp, H%xH2O(SSC), & 0.0_dp, H%xRadi(SSC), C(ind_NITs), C(ind_SALCCL), & gamma, Y_ClNO2, Rp, SA ) ! ! Total loss rate of N2O5 (kN2O5) on SNA+ORG+SSA aerosol k = Ars_L1k( H%ClearFr * SA, Rp, gamma, SR_MW(ind_N2O5) ) k = k * Y_ClNO2 ! ! Assume N2O5 is limiting, so update the removal rate accordingly k = kIIR1Ltd( C(ind_N2O5), C(ind_SALCCL), k ) END FUNCTION N2O5uptkBySALCCl SUBROUTINE N2O5_InorgOrg( H, volInorg, volOrg, H2Oinorg, & H2Oorg, Rcore, NIT, Cl, & gamma, Y_ClNO2, rp, areaTotal ) ! ! Computes the GAMMA reaction probability for N2O5 loss in inorganic ! (sulfate-nitrate-ammonium-sea salt) aerosols with organic coatings, ! based on the recommendation of McDuffie (2018) JGR. ! The inorganic core is based on Bertram and Thornton ACP (2009). ! TYPE(HetState), INTENT(IN) :: H ! HetState Object REAL(dp), INTENT(IN) :: volInorg ! vol of wet inorg aerosol core [cm3/cm3] REAL(dp), INTENT(IN) :: volOrg ! vol of wet org aerosol coating [cm3/cm3] REAL(dp), INTENT(IN) :: H2Oinorg ! vol of H2O in inorg core [cm3/cm3] REAL(dp), INTENT(IN) :: H2Oorg ! vol of H2O in org coating [cm3/cm3] REAL(dp), INTENT(IN) :: Rcore ! radius of inorg core [cm] REAL(dp), INTENT(IN) :: NIT ! aer nitrate conc [molec/cm3] REAL(dp), INTENT(IN) :: Cl ! aer chloride conc [molecule/cm3] REAL(dp), INTENT(OUT) :: gamma ! [1] REAL(dp), INTENT(OUT) :: Y_ClNO2 ! [1] REAL(dp), INTENT(OUT) :: rp ! [cm] REAL(dp), INTENT(OUT) :: areaTotal ! [cm2/cm3] ! ! Parameters from Bertram and Thornton (2009) ACP and McDuffie 2018 JGR REAL(dp), PARAMETER :: KH = 5.1e+1_dp !unitless REAL(dp), PARAMETER :: k3k2b = 4.0e-2_dp !unitless REAL(dp), PARAMETER :: beta = 1.15e+6_dp ![s-1] REAL(dp), PARAMETER :: delta = 1.3e-1_dp ![M-1] ! Organic Parameters from Antilla et al., 2006 and Riemer et al., 2009 REAL(dp), PARAMETER :: Haq = 5e+3_dp ! Henry coef [mol/m3/atm], Antilla REAL(dp), PARAMETER :: Daq = 1e-9_dp ! Aq diff coef [m2/s], Riemer REAL(dp), PARAMETER :: ONE_THIRD = 1.0_dp / 3.0_dp ! REAL(dp) :: k2f, A, speed, gamma_core, gamma_coat REAL(dp) :: volTotal, H2Ototal, volRatioDry, l, eps REAL(dp) :: OCratio, M_H2O, M_NIT, M_Cl, M_N2O5 !------------------------------------------------------------------------ ! Concentrations, thickness, etc. !------------------------------------------------------------------------ ! Total volume (organic + inorganic), cm3(aerosol)/cm3(air) volTotal = volInorg + volOrg ! Total H2O (organic + inorganic), cm3(H2O)/cm3(air) H2Ototal = H2Oinorg + H2Oorg ! Ratio of inorganic to total (organic+inorganic) volumes when dry, unitless volRatioDry = SafeDiv( MAX( volInorg - H2Oinorg, 0.0_dp ), & MAX( volTotal - H2Ototal, 0.0_dp ), 0.0_dp ) ! Particle radius, cm ! Derived from spherical geometry ! [note: The radius and surface area of a wet particle are ! properly calculated from the wet volume volume ratio (including water). ! We use the dry volume ratio here because McDuffie et al. (2018) fitted ! the N2O5 gamma parameters to field data in a model using the ! dry ratio. cdholmes 7/22/2019] Rp = SafeDiv( Rcore, volRatioDry**ONE_THIRD, Rcore ) ! Coating thickness, cm l = Rp - Rcore ! mean molecular speed [m s-1] ! sqrt( 8RT / (pi M) ) M_N2O5 = MW(ind_N2O5) * 1.0e-3_dp speed = SQRT( EIGHT_RSTARG_T / ( H%PI * M_N2O5 ) ) ! Concentrations [mol/L] M_H2O = H2Ototal / 18e+0_dp / volTotal * 1000.0_dp ! H2O M_NIT = NIT / volTotal / H%AVO * 1000.0_dp ! Nitrate M_Cl = Cl / volTotal / H%AVO * 1000.0_dp ! Chloride !------------------------------------------------------------------------ ! Gamma for the organic shell (cf McDuffie (2018) JGR) !------------------------------------------------------------------------ !O:C ratio from Eq. 10 of Canagaratna et al., 2015 (ACP) ! Take average OM/OC ratio from /GeosCore/aerosol_mod.F90 OCratio = ((( H%OMOC_POA + H%OMOC_OPOA ) / 2.0_dp ) - 1.17_dp ) / 1.29_dp ! organic scaling factor (eps(Haq*Daq) = Horg*Dorg) ! from McDuffie (2018) JGR eps = 1.5e-1_dp * OCratio + 1.6e-3_dp * RELHUM ! Gamma for coating ! [Rcore, Rp, and l converted cm -> m here] IF ( l <= 0.0e+0_dp ) THEN gamma_coat = 0.0_dp ELSE gamma_coat = & ( FOUR_RGASLATM_T * 1.0e-3_dp * eps * Haq * Daq * Rcore /100.0_dp )/ & ( speed * l/100.0_dp * Rp/100.0_dp ) ENDIF ! Total particle surface area, cm2/cm3 areaTotal = 3.0_dp * volTotal / Rp !------------------------------------------------------------------------ ! Gamma for the inorganic core ! Implements recommendations by McDuffie (2018) JGR, ! following the general approach from Bertram and Thornton ACP (2009). !------------------------------------------------------------------------ ! Select dry or deliquesed aerosol based on molar concentration of H2O IF ( M_H2O < 0.1_dp ) THEN ! When H2O is nearly zero, use dry aerosol value gamma_core = 0.005_dp ELSE ! mean molecular speed [cm/s] speed = speed * 1e+2_dp ! A factor from Bertram and Thornton (2009), s ! Their paper suggested an approximated value of A = 3.2D-8 A = ( ( 4.0_dp * volTotal ) / ( speed * areaTotal ) ) * KH ! Cap A at 3.2D-8 to prevent high gamma values when vol/area is high. ! See Github issue: https://github.com/geoschem/geos-chem/issues/907 A = MIN( A, 3.2e-8_dp ) ! k2f - reaction rate constant of N2O5 with H2O ! From McDuffie (2018): k2f = 2.14D5 * H2O ! This linear water dependence is not accurate at large ! (>20 M) aerosol water concentrations. Therefore, k2f is ! calculated following Bertram and Thornton ACP (2009). ! Eq 11 from Bertram and Thronton (2009): ! Modified to avoid underflow when exp(-delta*H2O) ~1 IF ( delta * M_H2O < 1e-2_dp ) THEN k2f = beta * ( delta * M_H2O ) ELSE k2f = beta * ( 1e+0_dp - exp( -delta * M_H2O ) ) ENDIF ! Eq 12 from Bertram and Thornton (2009) ! Use safe_div to avoid overflow when NIT ~ 0 gamma_core = A * k2f * & (1.0_dp - 1.0_dp / (1.0_dp + SafeDiv(k3k2b*M_H2O, M_NIT, 1.0e+30_dp))) ENDIF !------------------------------------------------------------------------ ! Gamma for overall uptake !------------------------------------------------------------------------ IF ( gamma_coat <= 0.0_dp ) THEN gamma = gamma_core ELSE IF ( gamma_core <= 0.0_dp ) THEN gamma = 0.0_dp ELSE gamma = 1.0_dp / ( ( 1.0_dp/gamma_core ) + ( 1.0_dp/gamma_coat ) ) ENDIF !------------------------------------------------------------------------ ! ClNO2 yield !------------------------------------------------------------------------ ! Calculate the ClNO2 yield following Bertram and Thornton 2009 ACP Y_ClNO2 = ClNO2_BT( M_Cl, M_H2O ) END SUBROUTINE N2O5_InorgOrg FUNCTION ClNO2_BT( Cl, H2O ) RESULT( phi ) ! ! Computes the PHI production yield of ClNO2 from N2O5 loss ! in sulfate-nitrate-ammonium (SNA) aerosols based on the ! recommendation of Bertram and Thornton (2009) ACP. ! REAL(dp), INTENT(IN) :: Cl, H2O ! [mol/L] REAL(dp) :: PHI REAL(dp), PARAMETER :: k2k3 = 1.0_dp / 4.5e+2_dp ! BT 2009 ! ! When H2O is nearly zero, assign phi accordingly and exit IF ( H2O < 0.1_dp ) THEN phi = 0.0_dp IF ( Cl > 1e-3_dp ) phi = 1.0_dp RETURN ENDIF ! Eq from Bertram and Thronton (2009); avoid overflow phi = 1.0_dp / ( 1.0_dp + k2k3 * SafeDiv( H2O, Cl, 1.0e+30_dp ) ) END FUNCTION ClNO2_BT FUNCTION N2O5uptkByCloud( H ) RESULT( k ) ! ! Computes uptake of N2O5 on liquid water cloud. ! TYPE(HetState), INTENT(IN) :: H REAL(dp) :: gamma, k REAL(dp), PARAMETER :: const = 0.03_dp / 0.019_dp ! Rxn probability is 0.03 at 298 K (JPL, Burkholder et al., 2015). ! For temperature dependence, JPL recommends the same as sulfuric acid ! aerosol at zero percent H2SO4, which is 0.019 at 298 K. ! Then apply constant scale factor (0.03/0.019) gamma = const * EXP( -25.5265_dp + 9283.76_dp/TEMP - 851801.0_dp/TEMP**2) ! ! Removal rate of N2O5 in liquid water cloud k = CloudHet( H, SR_MW(ind_N2O5), gamma, 0.02_dp, 1.0_dp, 1.0_dp ) END FUNCTION N2O5uptkByCloud FUNCTION N2O5uptkByStratHCl( H ) RESULT( k ) ! ! Sets heterogenous chemistry rate for N2O5(g) + HCl(l,s) ! in polar stratospheric clouds and on tropospheric sulfate aerosol. ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: gamma, k ! Rxn prob [1], Rxn rate [1/s] ! k = 0.0_dp ! IF ( H%stratBox ) THEN ! ! Uptake on stratospheric liquid aerosol k = k + ( H%xArea(SLA) * H%KHETI_SLA(N2O5_plus_HCl) ) ! ! Uptake on irregular ice cloud gamma = 0.03_dp ! Ice IF ( H%natSurface ) gamma = 0.003_dp ! NAT k = k + Ars_L1K( H%xArea(IIC), H%xRadi(IIC), gamma, SR_MW(ind_N2O5) ) ENDIF ! Assume N2O5 is limiting, so update the removal rate accordingly k = kIIR1Ltd( C(ind_N2O5), C(ind_HCl), k ) END FUNCTION N2O5uptkByStratHCl !========================================================================= ! Rate-law functions for NO2 and NO3 !========================================================================= FUNCTION NO2uptk1stOrdAndCloud( H ) RESULT( k ) ! ! Computes the reaction rate [1/s] for 1st-order uptake of NO2. ! TYPE(HetState), INTENT(IN) :: H ! HetChem State REAL(dp) :: k ! rxn rate [1/s] REAL(dp) :: gamma, srMw ! local vars ! k = 0.0_dp srMw = SR_MW(ind_NO2) ! ! Uptake by mineral dust (aerosol types 1-7) gamma = 1.0e-8_dp k = k + Ars_L1k( H%xArea(DU1), H%xRadi(DU1), gamma, srMw ) k = k + Ars_L1k( H%xArea(DU2), H%xRadi(DU2), gamma, srMw ) k = k + Ars_L1k( H%xArea(DU3), H%xRadi(DU3), gamma, srMw ) k = k + Ars_L1k( H%xArea(DU4), H%xRadi(DU4), gamma, srMw ) k = k + Ars_L1k( H%xArea(DU5), H%xRadi(DU5), gamma, srMw ) k = k + Ars_L1k( H%xArea(DU6), H%xRadi(DU6), gamma, srMw ) k = k + Ars_L1k( H%xArea(DU7), H%xRadi(DU7), gamma, srMw ) ! ! Uptake by tropospheric sulfate (aerosol type 8) gamma = 5e-6_dp k = k + Ars_L1k( H%xArea(SUL), H%xRadi(SUL), gamma, srMw ) ! ! Uptake by black carbon (aerosol type 9) gamma = 1e-4_dp k = k + Ars_L1k( H%xArea(BKC), H%xRadi(BKC), gamma, srMw ) ! ! Uptake by organic carbon (aerosol type 10) gamma = 1e-6_dp k = k + Ars_L1k( H%xArea(ORC), H%xRadi(ORC), gamma, srMw ) ! ! Uptake by fine & coarse sea salt (aerosol types 11-12) IF ( relhum < 40.0_dp ) THEN gamma = 1.0e-8_dp ELSE IF ( relhum > 70.0_dp ) THEN gamma = 1.0e-4_dp ELSE gamma = 1.0e-8_dp + (1e-4_dp - 1e-8_dp) * (relhum - 40.0_dp)/30.0_dp ENDIF k = k + Ars_L1k( H%xArea(SSA), H%xRadi(SSA), gamma, srMw ) k = k + Ars_L1k( H%xArea(SSC), H%xRadi(SSC), gamma, srMw ) ! ! Uptake by stratospheric sulfate (aerosol type 13) ! and by irregular ice cloud (aerosol type 14) gamma = 1.0e-4_dp k = k + Ars_L1k( H%xArea(SLA), H%xRadi(SLA), gamma, srMw ) k = k + Ars_L1k( H%xArea(IIC), H%xRadi(IIC), gamma, srMw ) ! Uptake of NO2 in cloud (liquid branch only) k = k + CloudHet( H, SR_MW(ind_NO2), 1.0e-8_dp, 0.0_dp, 1.0_dp, 0.0_dp ) END FUNCTION NO2uptk1stOrdAndCloud FUNCTION Gam_NO3( aArea, aRadi, aWater, C_X, H ) RESULT( gamma ) ! ! Calculates reactive uptake coef. for NO3 on salts and water ! REAL(dp), INTENT(IN) :: aArea, aRadi, aWater, C_X TYPE(Hetstate), INTENT(IN) :: H ! REAL(dp) :: gamma REAL(dp) :: M_X, k_tot, H_X, cavg REAL(dp) :: gb, l_r, WaterC, Vol, corr REAL(dp), PARAMETER :: INV_AB = 1.0_dp / 1.3e-2_dp ! Vol = aArea * aRadi * 1.0e-3_dp / 3.0_dp ! L/cm3 air WaterC = aWater / 18.0e+12_dp / Vol ! mol/L aerosol ! ! Thermal velocity [cm/s] M_X = MW(ind_NO3) * 1.0e-3_dp ! NO3 mol wt kg/mol cavg = SQRT( EIGHT_RSTARG_T / ( H%Pi * M_X ) ) * 1.0e2_dp ! k_tot = ( 2.76e+6_dp * C_X ) + ( 23.0_dp * WaterC ) ! ! Compute reactive uptake coefficient [1], but prevent div by zero gamma = 0.0_dp IF ( k_tot > 0.0_dp ) THEN H_X = 0.6_dp * CON_ATM_BAR ! M/bar l_r = SQRT( 1.0e-5_dp / k_tot ) ! diff const = 1e-5 for NO3 ! gb = FOUR_R_T * H_X * l_r * k_tot / cavg corr = Reactodiff_Corr( aRadi, l_r ) gb = gb * corr ! gamma = 1.0_dp / ( INV_AB + 1.0_dp / gb ) ENDIF END FUNCTION Gam_NO3 FUNCTION NO3uptk1stOrdAndCloud( H ) RESULT( k ) ! ! Computes reaction rate [1/s] for 1st-order uptake of NO3 ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! rxn rate [1/s] REAL(dp) :: gamma, srMw ! local vars ! k = 0.0_dp srMw = SR_MW(ind_NO3) ! ! Uptake by mineral dust bins 1-7 gamma = 0.01_dp k = k + Ars_L1k( H%xArea(DU1), H%xRadi(DU1), gamma, srMw ) k = k + Ars_L1k( H%xArea(DU2), H%xRadi(DU2), gamma, srMw ) k = k + Ars_L1k( H%xArea(DU3), H%xRadi(DU3), gamma, srMw ) k = k + Ars_L1k( H%xArea(DU4), H%xRadi(DU4), gamma, srMw ) k = k + Ars_L1k( H%xArea(DU5), H%xRadi(DU5), gamma, srMw ) k = k + Ars_L1k( H%xArea(DU6), H%xRadi(DU6), gamma, srMw ) k = k + Ars_L1k( H%xArea(DU7), H%xRadi(DU7), gamma, srMw ) ! ! Uptake by black carbon IF ( relhum < 50.0_dp ) THEN gamma = 2.0e-4_dp ELSE gamma = 1.0e-3_dp ENDIF k = k + Ars_L1k( H%xArea(BKC), H%xRadi(BKC), gamma, srMw ) ! ! Uptake by organic carbon gamma = 0.005_dp k = k + Ars_L1k( H%xArea(ORC), H%xRadi(ORC), gamma, srMw ) ! ! Uptake by stratospheric sulfate liquid aerosol ! and by irregular ice cloud gamma = 0.1_dp k = k + Ars_L1k( H%xArea(SLA), H%xRadi(SLA), gamma, srMw ) k = k + Ars_L1k( H%xArea(IIC), H%xRadi(IIC), gamma, srMw ) ! Uptake of NO3 in cloud (liquid and ice branches) k = k + CloudHet( H, SR_MW(ind_NO3), 0.002_dp, 0.001_dp, 1.0_dp, 1.0_dp ) END FUNCTION NO3uptk1stOrdAndCloud FUNCTION NO3hypsisClonSALA( H ) RESULT( k ) ! ! Computes the NO3(g) hypsis rate [1/s] for Cl- ! reacting on surface of fine sea-salt aerosol (SALA). ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! rxn rate [1/s] REAL(dp) :: area, conc, gamma, radi, water ! local vars ! ! Compute reactive uptake coefficient [1] area = H%aClArea radi = H%aClRadi water = H%aWater(SS_FINE) conc = H%Cl_conc_SSA gamma = Gam_NO3( area, radi, water, conc, H ) * 0.01_dp ! ! Reaction rate for surface of aerosol [1/s] area = H%ClearFr * area k = Ars_L1k( area, radi, gamma, SR_MW(ind_NO3) ) END FUNCTION NO3hypsisClonSALA FUNCTION NO3hypsisClonSALC( H ) RESULT( k ) ! ! Computes the NO3(g) hypsis rate [1/s] for Cl- ! reacting on surface of coarse sea-salt aerosol (SALC). ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! rxn rate [1/s] REAL(dp) :: area, conc, gamma, radi, water ! local vars ! ! Compute reactive uptake coefficient [1] area = H%xArea(SSC) radi = H%xRadi(SSC) water = H%aWater(SS_COARSE) conc = H%Cl_conc_SSC gamma = Gam_NO3( area, radi, water, conc, H ) * 0.01_dp ! ! Reaction rate for surface of aerosol [1/s] area = H%ClearFr * area k = Ars_L1k( area, radi, gamma, SR_MW(ind_NO3) ) END FUNCTION NO3hypsisClonSALC !========================================================================= ! Hetchem rate-law functions for O3 !========================================================================= FUNCTION O3uptkByBrInTropCloud( H, Br_branch ) RESULT( k ) ! ! Computes the Sets the O3 uptake rate in tropospheric cloud ! by Br- in either fine sea salt, coarse sea salt, or gas phase. ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp), INTENT(IN) :: Br_branch ! Branching ratio (A,C,G) REAL(dp) :: k ! rxn rate [1/s] REAL(dp) :: gamma ! local vars ! k = 0.0_dp ! ! Exit if we are not in the troposphere IF ( H%stratBox ) RETURN ! ! Compute uptake of O3 by Br- in cloud gamma = Gamma_O3_Br( H, H%rLiq, H%Br_conc_Cld ) k = CloudHet( H, SR_MW(ind_O3), gamma, 0.0_dp, Br_branch, 0.0_dp ) END FUNCTION O3uptkByBrInTropCloud FUNCTION O3uptkByHBr( H ) RESULT( k ) ! ! Computes the O3 + HBr uptake rate in tropospheric cloud. ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! rxn rate [1/s] ! ! O3 + HBr uptake rate (gas-phase path), in trop cloud k = O3uptkByBrInTropCloud( H, H%frac_Br_CldG ) ! ! Assume OH is limiting, so update the removal rate accordingly k = kIIR1Ltd( C(ind_O3), C(ind_HBr), k ) END FUNCTION O3uptkByHBr FUNCTION O3uptkByBrSALA( H ) RESULT( k ) ! ! Computes the uptake rate of O3 + Br- (in tropospheric ! cloud) and on acidic fine sea salt (in clear sky). ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! rxn rate [1/s] REAL(dp) :: area, gamma ! local vars ! ! Exit if in the stratosphere k = 0.0_dp IF ( H%stratBox ) RETURN ! ! O3 + Br- uptake by acidic fine sea salt, in trop cloud k = k + O3uptkByBrInTropCloud( H, H%frac_Br_CldA ) ! ! O3 + Br- uptake on acidic fine sea-salt, clear sky IF ( H%SSA_is_Acid ) THEN area = H%ClearFr * H%aClArea * H%f_Acid_SSA gamma = Gamma_O3_Br( H, H%aClRadi, H%Br_conc_SSA ) k = k + Ars_L1K( area, H%aClRadi, gamma, SR_MW(ind_O3) ) ENDIF ! Assume OH is limiting, so update the removal rate accordingly k = kIIR1Ltd( C(ind_O3), C(ind_BrSALA), k ) END FUNCTION O3uptkByBrSALA FUNCTION O3uptkByBrSALC( H ) RESULT( k ) ! ! Computes the uptake rate of O3 + Br- in tropospheric ! cloud and on acidic coarse sea salt. ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! rxn rate [1/s] REAL(dp) :: area, gamma ! local vars ! ! Exit if in the stratosphere k = 0.0_dp IF ( H%stratBox ) RETURN ! ! O3 + Br- uptake by acidic coarse sea salt, in trop cloud k = k + O3uptkByBrInTropCloud( H, H%frac_Br_CldC ) ! ! O3 + Br- uptake on acidic coarse sea salt, clear sky IF ( H%SSC_is_Acid ) THEN area = H%ClearFr * H%xArea(SSC) * H%f_Acid_SSC gamma = Gamma_O3_Br( H, H%xRadi(SSC), H%Br_conc_SSC ) k = k + Ars_L1K( area, H%xRadi(SSC), gamma, SR_MW(ind_O3) ) ENDIF ! Assume OH is limiting, so update the removal rate accordingly k = kIIR1Ltd( C(ind_O3), C(ind_BrSALC), k ) END FUNCTION O3uptkByBrSALC FUNCTION Gamma_O3_Br( H, Radius, C_Br ) RESULT( gamma ) ! ! Computes reactive uptake coefficient for Br- oxidation by O3. ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp), INTENT(IN) :: radius ! Radius in cm REAL(dp), INTENT(IN) :: C_Br ! Br- concentration REAL(dp) :: gamma ! rxn prob [1] ! REAL(dp), PARAMETER :: K0_O3 = 1.1e-2_dp * CON_ATM_BAR ! Henry K0(O3) ! REAL(dp) :: ab, gb, gd, gs, cavg, H_X REAL(dp) :: M_X, KLangC, k_s, C_Br_surf, Nmax, k_b, D_l, l_r ! gamma = 0.0_dp ! ! If C_Br is zero, gamma is zero IF ( .not. C_Br > 0.0_dp ) RETURN ! ! Henry's law for O3 (use constants for numerical stability) H_X = K0_O3 * EXP( 2300.0_dp * ( INV_TEMP - INV_T298 ) ) ! ! Thermal velocity (cm/s) M_X = MW(ind_O3) * 1.0e-3_dp cavg = SQRT( EIGHT_RSTARG_T / ( H%Pi * M_X ) ) * 100.0_dp ! Nmax = 3.0e+14_dp ! #/cm2 KLangC = 1.0e-13_dp !cm3 k_s = 1.0e-16_dp !cm2s-1, from ks*Nmax=0.03s-1 ! ! [Br-(surf)] = 3.41E14 cm-2/M * [Br-(bulk)], but not gt Nmax. C_Br_surf = MIN( 3.41e+14_dp * C_Br, Nmax ) gs = ( 4.0_dp * k_s * C_Br_surf * KLangC * Nmax ) & / ( cavg * ( 1.0_dp + KLangC * C(ind_O3) ) ) ! k_b = 6.3e+8_dp * EXP(-4.45e+3_dp / TEMP ) ! M-1 s-1 D_l = 8.9e-6_dp ! cm2 s-1. ! l_r = SQRT( D_l / ( k_b * C_Br ) ) ! cm gb = FOUR_R_T * H_X * l_r * k_b * C_Br / cavg gb = gb * ReactoDiff_Corr( Radius, l_r ) ! ! Reactive uptake coefficient [1] gamma = gb + gs END FUNCTION Gamma_O3_Br !========================================================================= ! Hetchem rate-law functions for OH !========================================================================= FUNCTION OHuptkBySALACl( H ) RESULT( k ) ! ! Computes uptake rate of OH + Cl on accumulation-mode sea-salt ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: gamma, k ! rxn prob [1], rxn rate [1/s] ! ! Exit if in the stratosphere k = 0.0_dp IF ( H%stratBox ) RETURN ! ! Compute uptake; gamma is from cf Knipping & Dabdub, 2002 gamma = 0.04_dp * H%Cl_conc_SSA k = Ars_L1k( H%aClArea, H%aClRadi, gamma, SR_MW(ind_OH) ) ! ! Assume OH is limiting, so update the removal rate accordingly k = kIIR1Ltd( C(ind_OH), C(ind_SALACL), k ) END FUNCTION OHuptkBySALACl FUNCTION OHuptkBySALCCl( H ) RESULT( k ) ! ! Computes uptake rate of OH + Cl on coarse-mode sea-salt ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: gamma, k ! rxn prob [1], rxn rate [1/s] ! ! Exit if in the stratosphere k = 0.0_dp IF ( H%stratBox ) RETURN ! ! Compute uptake; gamma is from cf Knipping & Dabdub, 2002 gamma = 0.04_dp * H%Cl_conc_SSC k = Ars_L1k( H%xArea(SSC), H%xRadi(SSC), gamma, SR_MW(ind_OH) ) ! ! Assume OH is limiting, so update the removal rate accordingly k = kIIR1Ltd( C(ind_OH), C(ind_SALCCL), k ) END FUNCTION OHuptkBySALCCl !========================================================================= ! Hetchem rate-law functions for VOC species !========================================================================= FUNCTION GLYXuptk1stOrd( srMw, H ) RESULT( k ) ! ! Computes the reaction rate [1/s] for 1st-order uptake of GLYX. ! Only consider inorganic aqueous aerosols with RH > 35% ! and use diffe rent uptake for day & night. ! REAL(dp), INTENT(IN) :: srMw ! sqrt( mol wt ) TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! rxn rate [1/s] REAL(dp) :: gamma ! local vars ! k = 0.0_dp gamma = 0.0_dp ! ! Uptake by tropospheric sulfate IF ( RELHUM >= CRITRH ) THEN IF ( SUNCOS > 0.0_dp ) THEN gamma = 4.4e-3_dp ! cf Liggio et al 2005 ELSE gamma = 8.0e-6_dp ! F. McNeill, to E. Marais (2015) ENDIF k = k + Ars_L1k( H%xArea(SUL), H%xRadi(SUL), gamma, srMw ) ENDIF END FUNCTION GLYXuptk1stOrd FUNCTION EpoxUptkGamma( srMw, H ) RESULT( gamma ) ! ! Gomputes the GAMMA uptake probability for EPOXUPTK hydrolysis to ! form 2-methyltetrols (AITET). (eam, 2014). ! ! Calculation is only done for inorganic aqueous phase aerosols. ! This calculation uses the parameterization of Gaston et al., EST, 2014. ! Redistribution of products (e.g. AITET) to yield organosulfates and ! organonitrates is done in SOA_CHEMISTRY in carbon_mod.F. ! This is only done for IEPOX and HMML if it's an SOA simulation ! REAL(dp), INTENT(IN) :: srMw ! sqrt(mol wt) TYPE(HetState), INTENT(IN) :: H ! HetChem State REAL(dp) :: gamma ! Uptake prob [1] REAL(dp) :: aervol, kpart, xmms, val1, val2, val3, valtmp ! local vars ! ! Gas-phase diffusion constant [cm2/s]: REAL(dp), PARAMETER :: DIFF_N2O5_STD = 1.0e-1_dp ! ! Mass accommodation coefficient [unitless]: REAL(dp), PARAMETER :: MACOEFF = 1.0e-1_dp REAL(dp), PARAMETER :: K_HPLUS = 3.6e-2_dp REAL(dp), PARAMETER :: K_NUC = 2.0e-4_dp REAL(dp), PARAMETER :: K_HSO4 = 7.3e-4_dp REAL(dp), PARAMETER :: K_HYDRO = 0.0e+0_dp ! ! Effective Henry's Law constant of IEPOX for reactive uptake to aqueous ! aerosols (M/atm). Eloise Marais (2015/07) reset this to the value from ! [Nguyen et al., 2014] in order to accomodate reduction in yields of RIP ! (which is the precursor of IEPOX). REAL(dp), PARAMETER :: HSTAR_EPOX = 1.7e+7_dp ! ! Initialize gamma = 0.0_dp valTmp = 0.0_dp ! ! Calculate aerosol volume (use formula in aerosol_mod.F): aerVol = ( H%xArea(SUL) * H%xRadi(SUL) ) / 3.0_dp ! ! Calculate mean molecular speed [cm/s]: xmms = SQRT( ( 2.117e+8_dp * TEMP ) / ( srMw * srMw ) ) ! ! Calculate first-order particle-phase reaction rate: ! (assume [H+] = proton activity) ! KHYDRO is only important for alkylnitrates (not currently used). kPart = ( K_HPLUS * H%H_PLUS ) & + ( K_NUC * H%H_PLUS * ( H%NO3_molal + H%SO4_molal ) ) & + ( K_HSO4 * H%HSO4_molal ) & + ( K_HYDRO ) ! ! Calculate the first uptake parameterization term: val1 = ( H%xRadi(SUL) * xmms ) / ( 4.0_dp * DIFF_N2O5_STD ) ! ! Calculate the second uptake parameterization term: val2 = ( 1.0_dp / MACOEFF ) ! ! Calculate the third uptake parameterization term: IF ( H%xArea(SUL) > 0.0_dp .and. XMMS > 0.0_dp ) THEN valTmp = ( FOUR_RGASLATM_T * aerVol * HSTAR_EPOX * kPart ) & / ( H%xArea(SUL) * xmms ) ENDIF ! val3 = 0.0_dp IF ( valTmp > 0.0_dp ) val3 = 1.0_dp / valtmp ! ! Account for small reaction rates: gamma = 0.0_dp IF ( kPart >= 1.e-8_dp ) gamma = 1.0_dp / ( val1 + val2 + val3 ) IF ( gamma < 0.0_dp ) gamma = 0.0_dp END FUNCTION EpoxUptkGamma FUNCTION IEPOXuptk1stOrd( srMw, doScale, H ) RESULT( k ) ! ! Sets the heterogenous chemistry rate for first-order ! uptake of ICHE, IEPOXA, IEPOXB, and IEPOXD. ! REAL(dp), INTENT(IN) :: srMw ! sqrt( mol wt ) LOGICAL, INTENT(IN) :: doScale ! =T for HMML, else F TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! rxn rate [1/s] REAL(dp) :: gamma ! local vars ! k = 0.0_dp gamma = 0.0_dp ! ! Only consider inorganic aqueous aerosols with RH > 35%. IF ( RELHUM >= CRITRH ) THEN ! ! Get GAMMA for IEPOX hydrolysis gamma = EpoxUptkGamma( srMw, H ) ! ! Scale down gamma if [H+] > 8d-5 (cf Riedel et al, 2015) IF ( doScale .and. ( H%H_PLUS > 8.0e-5_dp ) ) THEN gamma = gamma / 30.0_dp ENDIF ! ! Uptake by tropospheric sulfate k = k + Ars_L1k( H%xArea(SUL), H%xRadi(SUL), gamma, srMw ) ENDIF END FUNCTION IEPOXuptk1stOrd FUNCTION MGLYuptk1stOrd( srMw, H ) RESULT( k ) ! ! Computes the reaction rate [1/s] for 1st order uptake of MGLY and PYAC. ! REAL(dp), INTENT(IN) :: srMw ! sqrt( mol wt ) TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: gamma, k ! rxn prob [1], rxn rate [1/s] ! k = 0.0_dp gamma = 0.0_dp ! ! Only consider inorganic aqueous aerosols with RH > 35%. IF ( RELHUM >= CRITRH ) THEN ! ! Define gamma for MGLY: Obtained by scaling gamma GLYX by the ! ratio of effective Henry's law constants for GLYX (3d7) and ! MGLY (3.7d3) (eam, 02/2015): gamma = 3.6e-7_dp ! ! Uptake by tropospheric sulfate k = k + Ars_L1k( H%xArea(SUL), H%xRadi(SUL), gamma, srMw ) ENDIF END FUNCTION MGLYuptk1stOrd FUNCTION VOCuptk1stOrd( srMw, gamma, H ) RESULT( k ) ! ! Computes the rxn rate [1/s]for 1st-order uptake of several VOC species. ! REAL(dp), INTENT(IN) :: srMw, gamma ! sqrt( mol wt ), rxn prob TYPE(HetState), INTENT(IN) :: H ! Hetchem State REAL(dp) :: k ! rxn rate [1/s] ! ! Initialize k = 0.0_dp ! ! Only consider inorganic aqueous aerosols with RH > 35%. IF ( RELHUM >= CRITRH ) THEN k = k + Ars_L1k( H%xArea(SUL), H%xRadi(SUL), gamma, srMw ) k = k + Ars_L1k( H%xArea(BKC), H%xRadi(BKC), gamma, srMw ) k = k + Ars_L1k( H%xArea(ORC), H%xRadi(ORC), gamma, srMw ) k = k + Ars_L1k( H%xArea(SSA), H%xRadi(SSA), gamma, srMw ) k = k + Ars_L1k( H%xArea(SSC), H%xRadi(SSC), gamma, srMw ) k = k + Ars_L1k( H%xArea(SLA), H%xRadi(SLA), gamma, srMw ) k = k + Ars_L1k( H%xArea(IIC), H%xRadi(IIC), gamma, srMw ) ENDIF END FUNCTION VOCuptk1stOrd END MODULE fullchem_RateLawFuncs !EOC ================================================ FILE: KPP/fullchem/fullchem_SulfurChemFuncs.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: fullchem_SulfurChemFuncs ! ! !DESCRIPTION: FlexChem module for multiphase sulfate chemistry, via KPP. !\\ !\\ ! !INTERFACE: MODULE fullchem_SulfurChemFuncs ! ! !USES: ! USE PhysConstants USE Precision_Mod IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: fullchem_ConvertAlkToEquiv PUBLIC :: fullchem_ConvertEquivToAlk PUBLIC :: fullchem_HetDropChem PUBLIC :: fullchem_InitSulfurChem PUBLIC :: fullchem_SulfurAqChem PUBLIC :: fullchem_SulfurCldChem ! ! !PUBLIC TYPES: ! ! Species ID flags INTEGER :: id_ACTA, id_CH2O, id_DMS, id_H2O2 INTEGER :: id_DSTbin1, id_DSTbin2, id_DSTbin3, id_DSTbin4 INTEGER :: id_DSTbin5, id_DSTbin6, id_DSTbin7, id_HCL INTEGER :: id_HCOOH, id_HMS, id_HNO3, id_MSA INTEGER :: id_NH3, id_NH4, id_NIT, id_NITs INTEGER :: id_O3, id_OH, id_pFe, id_SALA INTEGER :: id_SALAAL, id_SALACL, id_SALC, id_SALCAL INTEGER :: id_SALCCL, id_SO2, id_SO4, id_SO4s ! ! !DEFINED_PARAMETERS ! REAL(fp), PARAMETER :: TCVV_S = AIRMW / 32e+0_fp ! hard-coded MW REAL(fp), PARAMETER :: TCVV_N = AIRMW / 14e+0_fp ! hard-coded MW REAL(fp), PARAMETER :: SMALLNUM = 1e-20_fp REAL(fp), PARAMETER :: CM3PERM3 = 1.e6_fp CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: fullchem_ConvertAlkToEquiv ! ! !DESCRIPTION: Converts sea salt alkalinity to equivalents. Abstracted ! out from fullchem_mod.F90 to prevent compilation conflicts for other ! KPP chemical mechanisms !\\ !\\ ! !INTERFACE: ! SUBROUTINE fullchem_ConvertAlkToEquiv() ! ! !USES: ! USE gckpp_Global, ONLY : C, MW USE gckpp_Parameters, ONLY : ind_SALAAL, ind_SALCAL !EOP !------------------------------------------------------------------------------ !BOC C(ind_SALAAL) = C(ind_SALAAL) * ( MW(ind_SALAAL) * 7.0e-5_fp ) C(ind_SALCAL) = C(ind_SALCAL) * ( MW(ind_SALCAL) * 7.0e-5_fp ) END SUBROUTINE fullchem_ConvertAlkToEquiv !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: fullchem_ConvertEquivToAlk ! ! !DESCRIPTION: Converts sea salt alkalinity to equivalents. Abstracted ! out from fullchem_mod.F90 to prevent compilation conflicts for other ! KPP chemical mechanisms !\\ !\\ ! !INTERFACE: ! SUBROUTINE fullchem_ConvertEquivToAlk() ! ! !USES: ! USE gckpp_Global, ONLY : C, MW USE gckpp_Parameters, ONLY : ind_SALAAL, ind_SALCAL !EOP !------------------------------------------------------------------------------ !BOC C(ind_SALAAL) = C(ind_SALAAL) / ( MW(ind_SALAAL) * 7.0e-5_fp ) C(ind_SALCAL) = C(ind_SALCAL) / ( MW(ind_SALCAL) * 7.0e-5_fp ) END SUBROUTINE fullchem_ConvertEquivToAlk !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: fullchem_SulfurAqchem ! ! !DESCRIPTION: Main aqueous/aerosol chemistry driver routine. Sets up the ! vector of aqueous chemistry rates for the KPP chemistry solver. !\\ !\\ ! !INTERFACE: ! SUBROUTINE fullchem_SulfurAqChem( I, J, L, & Input_Opt, State_Chm, State_Grid, & State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE gckpp_Global USE gckpp_Parameters USE Input_Opt_Mod, ONLY : OptInput USE rateLawUtilFuncs USE State_Chm_Mod, ONLY : ChmState USE State_Met_Mod, ONLY : MetState USE State_Grid_Mod, ONLY : GrdState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I, J, L ! Lon, lat, level indices TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(IN) :: State_Chm ! Chemistry State object ! ! OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure ! ! !REMARKS: ! ! ! Reaction List (by K_MT() index) ! 1) SO2 + O3 + 2SALAAL --> SO4mm + O2 : From Sulfate_mod - 24 Mar 2021 ! ! !REVISION HISTORY: ! 24 Mar 2021 - M. Long - Initial Version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! Scalars LOGICAL :: SALAAL_gt_0_1 LOGICAL :: SALCAL_gt_0_1 LOGICAL :: O3_gt_1e10 REAL(fp) :: k_ex ! Strings CHARACTER(LEN=255) :: ErrMsg CHARACTER(LEN=255) :: ThisLoc !====================================================================== ! fullchem_SulfurAqChem begins here! !====================================================================== ! Initialize RC = GC_SUCCESS k_ex = 0.0_dp K_MT = 0.0_dp !---------------------------------------------------------------------- ! In order to prevent div-by-zero errors, we set thresholds ! to skip the SALAAL + SO2 and SALCAL + SO2 reactions if: ! ! (1) SALAAL <= 0.1 molec/cm3 ! (2) SALCAL <= 0.1 molec/cm3 ! (3) O3 <= 1e10 molec/cm3 ! ! An ozone concentration of 1e10 molec/cm3 ~= 0.5 ppbv, which is ! lower than ozone should ever get (according to D. Jacob). !---------------------------------------------------------------------- SALAAL_gt_0_1 = ( C(ind_SALAAL) > 0.1_dp ) SALCAL_gt_0_1 = ( C(ind_SALCAL) > 0.1_dp ) O3_gt_1e10 = ( C(ind_O3) > 1.0e+10_dp ) !====================================================================== ! Reaction rates [1/s] for fine sea salt alkalinity (aka SALAAL) ! ! K_MT(1) : SALAAL + SO2 + O3 = SO4 - SALAAL ! K_MT(2) : SALAAL + HCl = SALACL ! K_MT(3) : SALAAL + HNO3 = NIT !====================================================================== !------------------------------------------------------------------------ ! SALAAL + SO2 + O3 = SO4 - SALAAL !------------------------------------------------------------------------ IF ( SALAAL_gt_0_1 .AND. O3_gt_1e10 ) THEN ! 1st order uptake k_ex = Ars_L1K( area = State_Chm%WetAeroArea(I,J,L,11), & radius = State_Chm%AeroRadi(I,J,L,11), & gamma = 0.11_dp, & srMw = SR_MW(ind_SO2) ) ! Assume SO2 is limiting, so recompute rxn rate accordingly K_MT(1) = kIIR1Ltd( C(ind_SO2), C(ind_SALAAL), k_ex ) / C(ind_O3) ENDIF !------------------------------------------------------------------------ ! SALAAL + HCL = SALACL !------------------------------------------------------------------------ IF ( SALAAL_gt_0_1 ) THEN ! 1st order uptake k_ex = Ars_L1K( area = State_Chm%WetAeroArea(I,J,L,11), & radius = State_Chm%AeroRadi(I,J,L,11), & gamma = 0.07_dp, & srMw = SR_MW(ind_HCl) ) ! Assume HCl is limiting, so recompute reaction rate accordingly K_MT(2) = kIIR1Ltd( C(ind_HCl), C(ind_SALAAL), k_ex ) ENDIF !------------------------------------------------------------------------ ! SALAAL + HNO3 = NIT !------------------------------------------------------------------------ IF ( SALAAL_gt_0_1 ) THEN ! 1st order uptake k_ex = Ars_L1K( area = State_Chm%WetAeroArea(I,J,L,11), & radius = State_Chm%AeroRadi(I,J,L,11), & gamma = 0.5_dp, & srMw = SR_MW(ind_HNO3) ) ! Assume HNO3 is limiting, so recompute reaction rate accordingly K_MT(3) = kIIR1Ltd( C(ind_HNO3), C(ind_SALAAL), k_ex ) ENDIF !======================================================================== ! Reaction rates [1/s] for coarse sea salt alkalinity (aka SALAAL) ! ! K_MT(4) : SALCAL + SO2 + O3 = SO4s - SALCAL ! K_MT(5) : SALCAL + HCl = SALCCL ! K_MT(6) : SALCAL + HNO3 = NITs !======================================================================== !------------------------------------------------------------------------ ! SALCAL + SO2 + O3 = SO4s - SALCAL !------------------------------------------------------------------------ IF ( SALCAL_gt_0_1 .AND. O3_gt_1e10 ) THEN ! 1st order uptake k_ex = Ars_L1K( area = State_Chm%WetAeroArea(I,J,L,12), & radius = State_Chm%AeroRadi(I,J,L,12), & gamma = 0.11_dp, & srMw = SR_MW(ind_SO2) ) ! Assume SO2 is limiting, so recompute rxn rate accordingly K_MT(4) = kIIR1Ltd( C(ind_SO2), C(ind_SALCAL), k_ex ) / C(ind_O3) ENDIF !------------------------------------------------------------------------ ! SALCAL + HCl = SALCCL !------------------------------------------------------------------------ IF ( SALCAL_gt_0_1 ) THEN ! 1st order uptake k_ex = Ars_L1K( area = State_Chm%WetAeroArea(I,J,L,12), & radius = State_Chm%AeroRadi(I,J,L,12), & gamma = 0.07_dp, & srMw = SR_MW(ind_HCl) ) ! Assume HCl is limiting, so recompute rxn rate accordingly K_MT(5) = kIIR1Ltd( C(ind_HCl), C(ind_SALCAL), k_ex ) ENDIF !------------------------------------------------------------------------ ! SALCAL + HNO3 = NITs !------------------------------------------------------------------------ IF ( SALCAL_gt_0_1 ) THEN ! 1st order uptake k_ex = Ars_L1K( area = State_Chm%WetAeroArea(I,J,L,12), & radius = State_Chm%AeroRadi(I,J,L,12), & gamma = 0.5_dp, & srMw = SR_MW(ind_HNO3) ) ! Assume HNO3 is limiting, so recompute rxn rate accordingly K_MT(6) = kIIR1Ltd( C(ind_HNO3), C(ind_SALCAL), k_ex ) ENDIF END SUBROUTINE fullchem_SulfurAqChem !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: fullchem_SulfurCldChem ! ! !DESCRIPTION: Routine that compute reaction rates for sulfur chemistry ! in cloud, so that these can be passed to the KPP chemical solver. !\\ !\\ ! !INTERFACE: ! SUBROUTINE fullchem_SulfurCldChem( I, J, L, & Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, size_res, & RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Chm_Mod, ONLY : Ind_ USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object INTEGER, INTENT(IN) :: I, J, L ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! LOGICAL, INTENT(OUT) :: size_res ! Should we call HetDropChem? INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: N CHARACTER(LEN=63) :: OrigUnit ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc !======================================================================== ! fullchem_SulfurCldChem begins here! !======================================================================== ! Initialize RC = GC_SUCCESS size_res = .FALSE. ErrMsg = '' ThisLoc = & ' -> at fullchem_SulfurCldChem (in KPP/fullchem/fullchem_SulfurChemFuncs.F90' !------------------------------------------------------------------------ ! SO2 chemistry !------------------------------------------------------------------------ CALL Set_SO2( I = I, & J = J, & L = L, & Input_Opt = Input_Opt, & State_Chm = State_Chm, & State_Diag = State_Diag, & State_Grid = State_Grid, & State_Met = State_Met, & size_res = size_res, & RC = RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "SET_SO2"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF END SUBROUTINE fullchem_SulfurCldChem !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: fullchem_HetDropChem ! ! !DESCRIPTION: Subroutine HET\_DROP\_CHEM estimates the in-cloud sulfate ! production rate in heterogeneous cloud droplets based on the Yuen et al., ! 1996 parameterization. (bec, 6/16/11) !\\ !\\ ! !INTERFACE: ! SUBROUTINE fullchem_HetDropChem( I, J, L, & Input_Opt, State_Met, State_Chm ) ! ! !USES: ! USE fullchem_RateLawFuncs, ONLY : HOBrUptkByHSO3m, HOBrUptkBySO3mm USE fullchem_RateLawFuncs, ONLY : HOClUptkByHSO3m, HOClUptkBySO3mm USE gckpp_Global USE gckpp_Parameters USE gckpp_Precision USE Input_Opt_Mod, ONLY : OptInput USE PhysConstants, ONLY : AIRMW, AVO, PI, g0 USE rateLawUtilFuncs USE State_Chm_Mod, ONLY : ChmState, IND_ USE State_Met_Mod, ONLY : MetState USE Time_Mod, ONLY : Get_Ts_Chem ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I, J, L TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! Dry sea-salt density [kg/m3] REAL(dp), PARAMETER :: SS_DEN = 2200.0_dp ! sigma of the size distribution for sea-salt (Jaegle et al., 2011) REAL(fp), PARAMETER :: SIG_S = 1.8e+0_dp ! geometric dry mean diameters [m] for computing lognormal size distribution REAL(dp), PARAMETER :: RG_S = 0.4e-6_dp !(Jaegle et a., 2011) REAL(dp), PARAMETER :: RG_D2 = 1.5e-6_dp !(Ginoux et al., 2001) REAL(dp), PARAMETER :: RG_D3 = 2.5e-6_dp REAL(dp), PARAMETER :: RG_D4 = 4.e-6_dp ! To prevent multiple divisions REAL(dp), PARAMETER :: THREE_FOURTHS = 3.0_dp / 4.0_dp REAL(dp), PARAMETER :: NINE_HALVES = 9.0_dp / 2.0_dp ! ! !LOCAL VARIABLES: ! REAL(dp) :: alpha_NH3, alpha_SO2, alpha_H2O2 REAL(dp) :: alpha_HNO3, alpha_B, alpha_CN REAL(dp) :: alpha_W, alpha_SO4, sum_gas REAL(dp) :: H, NDss, CN REAL(dp) :: W, K, arg REAL(dp) :: DTCHEM, APV, DSVI REAL(dp) :: B, NH3, SO2 REAL(dp) :: H2O2, HNO3, SO4 REAL(dp) :: CNss, MW_SO4, MW_SALC REAL(dp) :: CVF, R1, R2 REAL(dp) :: XX, FC, LST REAL(dp) :: XX1, XX2, XX3 REAL(dp) :: XX4, XX5, GNH3 REAL(dp) :: SR, DENOM ! Pointers REAL(fp), POINTER :: AD(:,:,:) REAL(fp), POINTER :: AIRDEN(:,:,:) REAL(fp), POINTER :: AIRVOL(:,:,:) REAL(fp), POINTER :: OMEGA(:,:,:) REAL(fp), POINTER :: U(:,:,:) REAL(fp), POINTER :: V(:,:,:) !================================================================= ! HET_DROP_CHEM begins here! !================================================================= ! Initialize pointers AD => State_Met%AD AIRDEN => State_Met%AIRDEN AIRVOL => State_Met%AIRVOL OMEGA => State_Met%OMEGA U => State_Met%U V => State_Met%V ! Zero/initialize local variables for safety's sake arg = 0.0_dp B = 0.0_dp CN = 0.0_dp CVF = 1.0e3_fp * AIRMW / ( AIRDEN(I,J,L) * AVO ) ! molec/cm3 -> v/v DSVI = 0.0_dp DTCHEM = GET_TS_CHEM() ! seconds GNH3 = 0.0_dp K = 0.0_dp LST = 0.0_dp R1 = 0.0_dp R2 = 0.0_dp SR = 0.0_dp SRHOBr = 0.0_dp SRHOCl = 0.0_dp SRO3 = 0.0_dp W = 0.0_dp XX = 0.0_dp ! All XX* in units of [v/v/timestep] XX1 = 0.0_dp XX2 = 0.0_dp XX3 = 0.0_dp XX4 = 0.0_dp XX5 = 0.0_dp ! FC is guaranteed to be > 1e-4, because HET_DROP_CHEM ! is not called otherwise (bmy, 07 Oct 2021) FC = State_Met%CLDF(I,J,L) !! <<>> SET THE INPUT UNITS! EITHER CONVERT IN THE ROUTINE OR !! <<>> CONVERT BEFOREHAND. BUT EVERYTHING IS CURRENTLY mcl/cm3 !! <<>> AND HET_DROP_CHEM EXPECTS V/V ! XX* are calculated below to be consistent with ! Sulfate_Mod(). Values are different when ! computed with KPP-based variables. HET_DROP_CHEM() ! could use some attention to make is consistent with ! KPP. ! ! NOTE: Use function SafeExp, which will prevent the exponential from ! blowing up. Also if the entire expression will evaluate to zero ! then skip the exponential, which is more computationally efficient. ! -- Bob Yantosca, 14 Oct 2021 ! ! SO2 + H2O2 R1 = C(ind_SO2) * CVF R2 = C(ind_H2O2) * CVF K = K_CLD(1) / CVF/ FC Arg = ( R1 - R2 ) * ( K * DTCHEM ) IF ( IsSafeExp( Arg ) .and. ABS( Arg ) > 0.0_dp ) THEN XX = EXP( Arg ) XX1 = ( R1 * R2 ) * ( XX - 1.0_dp ) / ( ( R1 * XX ) - R2 ) ELSE XX1 = WhenExpCantBeDone( R1, R2, K, DTCHEM ) ENDIF ! SO2 + O3 R2 = C(ind_O3) * CVF K = K_CLD(2) / CVF / FC Arg = ( R1 - R2 ) * ( K * DTCHEM ) IF ( IsSafeExp( Arg ) .and. ABS( Arg ) > 0.0_dp ) THEN XX = EXP( Arg ) XX2 = ( R1 * R2 ) * ( XX - 1.0_dp ) / ( ( R1 * XX ) - R2 ) ELSE XX2 = WhenExpCantBeDone( R1, R2, K, DTCHEM ) ENDIF ! Metal catalyzed oxidation of SO2 pathway K = -K_CLD(3) / FC Arg = K * DTCHEM XX3 = 0.0_dp IF ( IsSafeExp( Arg ) ) THEN XX = EXP( Arg ) XX3 = R1 * ( 1.0_dp - XX ) ENDIF ! HSO3- + HOCl and SO3-- + HOCl R1 = C(ind_SO2) * CVF * State_Chm%HSO3_aq(I,J,L) R2 = C(ind_HOCl) * CVF K = HOClUptkByHSO3m(State_Het) / CVF Arg = ( R1 - R2 ) * ( K * DTCHEM ) IF ( IsSafeExp( Arg ) .and. ABS( Arg ) > 0.0_dp ) THEN XX = EXP( Arg ) XX4 = ( R1 * R2 ) * ( XX - 1.0_dp ) / ( ( R1 * XX ) - R2 ) ELSE XX4 = WhenExpCantBeDone( R1, R2, K, DTCHEM ) ENDIF ! SO3-- + HOCl (add to HSO3- + HOCl rate) R1 = C(ind_SO2) * CVF * State_Chm%SO3_aq(I,J,L) K = HOClUptkBySO3mm(State_Het) / CVF Arg = ( R1 - R2 ) * ( K * DTCHEM ) IF ( IsSafeExp( Arg ) .and. ABS( Arg ) > 0.0_dp ) THEN XX = EXP( Arg ) XX4 = XX4 + ( ( R1 * R2 ) * ( XX - 1.0_fp ) / ( ( R1 * XX ) - R2 ) ) ELSE XX4 = XX4 + WhenExpCantBeDone( R1, R2, K, DTCHEM ) ENDIF ! HSO3- + HOBr R1 = C(ind_SO2) * CVF * State_Chm%HSO3_aq(I,J,L) R2 = C(ind_HOBr) * CVF K = HOBrUptkByHSO3m(State_Het) / CVF Arg = ( R1 - R2 ) * ( K * DTCHEM ) IF ( IsSafeExp( Arg ) .and. ABS( Arg ) > 0.0_dp ) THEN XX = EXP( Arg ) XX5 = ( R1 * R2 ) * ( XX - 1.0_fp ) / ( ( R1 * XX ) - R2 ) ELSE XX5 = WhenExpCantBeDone( R1, R2, K, DTCHEM ) ENDIF ! SO3-- + HOBr (add to HSO3- + HOBr rate) R1 = C(ind_SO2) * CVF * State_Chm%SO3_aq(I,J,L) K = HOBrUptkBySO3mm(State_Het) / CVF Arg = ( R1 - R2 ) * ( K * DTCHEM ) IF ( IsSafeExp( Arg ) .and. ABS( Arg ) > 0.0_dp ) THEN XX = EXP( Arg ) XX5 = XX5 + ( ( R1 * R2 ) * ( XX - 1.0_dp ) / ( ( R1 * XX ) - R2 ) ) ELSE XX5 = XX5 + WhenExpCantBeDone( R1, R2, K, DTCHEM ) ENDIF ! Sum of all rates LST = XX1 + XX2 + XX3 + XX4 + XX5 !### Debug print !IF (I .eq. 12 .and. J .eq. 7 .and. L .eq. 1) THEN ! write(*,*) '<<>> XX: ', XX1, XX2, XX3, XX4, XX5 !ENDIF IF ( LST > R1 ) THEN XX1 = ( R1 * XX1 ) / LST XX2 = ( R1 * XX2 ) / LST XX3 = ( R1 * XX3 ) / LST XX4 = ( R1 * XX4 ) / LST XX5 = ( R1 * XX5 ) / LST LST = XX1 + XX2 + XX3 + XX4 + XX5 ENDIF ! Convert gas phase concentrations from [v/v] to [pptv] NH3 = State_Chm%Species(id_NH3)%Conc(I,J,L) * CVF * 1.0e+12_dp SO2 = MAX( C(ind_SO2) * CVF - ( LST*FC ), 1.0e-20_dp ) * 1.0e+12_dp H2O2 = C(ind_H2O2)* CVF * 1.0e12_dp HNO3 = C(ind_HNO3)* CVF * 1.0e12_dp ! Set molecular weight local variables MW_SO4 = State_Chm%SpcData(id_SO4)%Info%MW_g MW_SALC = State_Chm%SpcData(id_SALC)%Info%MW_g ! Convert sulfate aerosol concentrations from [v/v] to [ug/m3] SO4 = ( C(ind_SO4) * CVF * AD(I,J,L) * 1.0e+9_dp ) / & ( ( AIRMW / MW_SO4 ) * AIRVOL(I,J,L) ) ! Convert in cloud sulfate production rate from [v/v/timestep] to ! [ug/m3/timestep] B = ( LST * AD(I,J,L) * 1.0e+9_dp ) / & ( ( AIRMW / MW_SO4 ) * AIRVOL(I,J,L) ) ! Convert coarse-mode aerosol concentrations from [v/v] to [#/cm3] ! based on equation in Hofmann, Science, 1990. ! First convert from [v/v] to [kg/m3 air] CNss = State_Chm%Species(id_SALC)%Conc(I,J,L)*CVF * AD(I,J,L) & / ( ( AIRMW / MW_SALC ) * AIRVOL(I,J,L) ) ! Now convert from [kg/m3 air] to [#/cm3 air] ! Sea-salt ARG = NINE_HALVES * ( LOG( SIG_S ) )**2 NDss = ( THREE_FOURTHS * CNss ) & / ( PI * SS_DEN * RG_S**3 * SafeExp( Arg, 0.0_dp ) ) & * 1.e-6_dp ! Total coarse mode number concentration [#/cm3] CN = NDss ! sea-salt ! Determine regression coefficients based on the local SO2 concentration IF ( SO2 <= 200.00_fp ) THEN alpha_B = 0.5318_dp alpha_NH3 = -1.67e-7_dp alpha_SO2 = 2.59e-6_dp alpha_H2O2 = -1.77e-7_dp alpha_HNO3 = -1.72e-7_dp alpha_W = 1.22e-6_dp alpha_CN = 4.58e-6_dp alpha_SO4 = -1.00e-5_dp ELSE IF ( SO2 > 200.00_dp .and. SO2 <= 500.0_dp ) THEN alpha_B = 0.5591_dp alpha_NH3 = 3.62e-6_dp alpha_SO2 = 1.66e-6_dp alpha_H2O2 = 1.06e-7_dp alpha_HNO3 = -5.45e-7_dp alpha_W = -5.79e-7_dp alpha_CN = 1.63e-5_dp alpha_SO4 = -7.40e-6_dp ELSE IF ( SO2 > 500.0_dp .and. SO2 < 1000.0_dp ) THEN alpha_B = 1.1547_dp alpha_NH3 = -4.28e-8_dp alpha_SO2 = -1.23e-7_dp alpha_H2O2 = -9.05e-7_dp alpha_HNO3 = 1.73e-7_dp alpha_W = 7.22e-6_dp alpha_CN = 2.44e-5_dp alpha_SO4 = 3.25e-5_dp ELSE ! SO2 > 1000 alpha_B = 1.1795_dp alpha_NH3 = 2.57e-7_dp alpha_SO2 = -5.54e-7_dp alpha_H2O2 = -1.08e-6_dp alpha_HNO3 = 1.95e-6_dp alpha_W = 6.14e-6_dp alpha_CN = 1.64e-5_dp alpha_SO4 = 2.48e-6_dp ENDIF ! Updraft velocity over the oceans [cm/s] ! 500 cm/s is too high. Get W from the met field. (qjc, 04/10/16) !W = 500e+0_fp W = -OMEGA(I,J,L) / ( AIRDEN(I,J,L) * g0 ) * 100e+0_dp ! Compute H (integration time interval * air parcel velocity) [m] ! DTCHEM is the chemistry timestep in seconds ! Compute air parcel velocity [m/s] !APV = SQRT( (U(I,J,L) * U(I,J,L)) + (V(I,J,L) * V(I,J,L)) ) !(qjc, 04/10/16) APV = SQRT( U(I,J,L)**2 + V(I,J,L)**2 ) + ( W**2 * 1.0e-4_dp ) H = DTCHEM * APV ![m] sum_gas = ( alpha_NH3 * NH3 ) + ( alpha_SO2 * SO2 ) + & ( alpha_H2O2 * H2O2 ) + ( alpha_HNO3 * HNO3 ) DSVI = ( alpha_B * B ) + & ( ( ( alpha_CN * CN) + ( alpha_W * W ) + ( alpha_SO4 * SO4 ) + & sum_gas ) * H ) ! Only calculate SR when air parcel rises, in consistence with ! Yuen et al. (1996) (qjc, 04/10/16) IF ( W > 0.0_dp .and. C(ind_SO2) > 0.0_dp ) THEN ! additional sulfate production in large, higher pH ! cloud droplets [ug/m3/timestep] ! Don't allow SR to be negative SR = MAX( ( DSVI - B ), 0.0_dp ) ! Skip further computation if SR = 0 IF ( SR > 0.0_dp ) THEN ! Convert SR from [ug/m3/timestep] to [v/v/timestep] SR = SR * ( AIRMW / MW_SO4 ) * 1.e-9_dp / AIRDEN(I,J,L) ! Don't produce more SO4 than SO2 available after AQCHEM_SO2 ! -- SR is dSO4/timestep (v/v) continue onvert ! to 1st order rate !SR = MIN( SR, SO2 / 1.0e12_dp ) / ( C(ind_SO2) * CVF * DT ) !SR = MIN( SR, SO2 / 1.0e12_dp ) / ( C(ind_SO2) * C(ind_O3) * CVF * DT ) !I think the unit conversion is wrong. There should be another !CVF and DT here. But I don't know why we need the denominator. ! -- Becky Alexander (30 Jan 2023) SR = MIN( SR, SO2 / 1.0e12_dp ) ENDIF ENDIF ! Convert SR from [v/v/timestep] to [mlcl/cm3/s] SR = SR / CVF / DT ! Split SR between S(IV) oxidation by O3, HOCl, and HOBr ! Make sure division can be done safely DENOM = XX2 + XX4 + XX5 SRO3 = SR * SafeDiv( XX2, DENOM, 0.0_fp ) SRHOCl = SR * SafeDiv( XX4, DENOM, 0.0_fp ) SRHOBr = SR * SafeDiv( XX5, DENOM, 0.0_fp ) ! Convert this rate to a second order rate constant for use in KPP ! Make sure division can be done safely SRO3 = SafeDiv( SRO3, ( C(ind_SO2) * C(ind_O3 ) ), 0.0_dp ) SRHOCl = SafeDiv( SRHOCl, ( C(ind_SO2) * C(ind_HOCl) ), 0.0_dp ) SRHOBr = SafeDiv( SRHOBr, ( C(ind_SO2) * C(ind_HOBr) ), 0.0_dp ) ! Free pointers AD => NULL() AIRDEN => NULL() AIRVOL => NULL() OMEGA => NULL() U => NULL() V => NULL() END SUBROUTINE fullchem_HetDropChem !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: WhenExpCantBeDone ! ! !DESCRIPTION: Prevents floating point errors if exponential terms in routine ! Het_Drop_Chem above can't be done. In the case of a negative XX, R should be ! approximated as R1, instead of R2. In other words, ! R1 * R2 * ( XX - 1.D0 ) / ( ( R1 * XX ) - R2 ) ! reaches different limits when XX reaches +Inf and -Inf. !\\ !\\ ! !INTERFACE: ! FUNCTION WhenExpCantBeDone( R1, R2, K, DT ) RESULT( R ) ! ! !USES: ! USE gckpp_Precision, ONLY : dp ! ! !INPUT PARAMETERS: ! REAL(dp), INTENT(IN) :: R1 ! 1st term REAL(dp), INTENT(IN) :: R2 ! 2nd term REAL(dp), INTENT(IN) :: K ! Rate [1/s] REAL(dp), INTENT(IN) :: DT ! timesetep [s] ! ! !RETURN VALUE: ! REAL(dp) :: R ! new rate [1/s] !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES ! REAL(dp) :: DIFF DIFF = R1 - R2 ! R1 < R2 IF ( DIFF < 0.0_dp ) THEN R = R1 RETURN ENDIF ! R1 > R2 IF ( DIFF > 0.0_dp ) THEN R = R2 RETURN ENDIF ! R1 == R2 R = R1 - 1.0_dp / ( K * DT + ( 1.0_dp / R1 ) ) END FUNCTION WhenExpCantBeDone !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: set_so2 ! ! !DESCRIPTION: Subroutine SET\_SO2 is the SO2 chemistry subroutine. ! (rjp, bmy, 11/26/02, 8/26/10) Adapted from CHEM_SO2() in SULFATE_MOD ! (MSL - Spring 2021) !\\ !\\ ! !INTERFACE: ! SUBROUTINE SET_SO2( I, J, L, Input_Opt, & State_Chm, State_Diag, State_Grid, State_Met, & Size_Res, RC ) ! ! !USES: ! USE ErrCode_Mod USE gckpp_Global USE Input_Opt_Mod, ONLY : OptInput USE rateLawUtilFuncs USE Species_Mod, ONLY : SpcConc USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE Time_Mod, ONLY : Get_Ts_Chem ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I, J, L ! Grid box indices TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! LOGICAL, INTENT(OUT) :: Size_Res ! Should we call HetDropChem? INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! Reaction List (by Rokjin Park) ! ============================================================================ ! (1 ) SO2 production: ! DMS + OH, DMS + NO3 (saved in CHEM_DMS) ! . ! (2 ) SO2 loss: ! (a) SO2 + OH -> SO4 ! (b) SO2 -> drydep ! (c) SO2 + H2O2 or O3 (aq) -> SO4 ! . ! (3 ) SO2 = SO2_0 * exp(-bt) + PSO2_DMS/bt * [1-exp(-bt)] ! . ! where b is the sum of the reaction rate of SO2 + OH and the dry ! deposition rate of SO2, PSO2_DMS is SO2 production from DMS in ! MixingRatio/timestep. ! . ! If there is cloud in the gridbox (fraction = fc), then the aqueous ! phase chemistry also takes place in cloud. The amount of SO2 oxidized ! by H2O2 in cloud is limited by the available H2O2; the rest may be ! oxidized due to additional chemistry, e.g, reaction with O3 or O2 ! (catalyzed by trace metal). ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! REAL(fp), PARAMETER :: HPLUS_45 = 3.16227766016837953e-5_fp !pH = 4.5 REAL(fp), PARAMETER :: HPLUS_50 = 1.0e-5_fp !pH = 5.0 REAL(fp), PARAMETER :: MINDAT = 1.e-20_fp ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: IS_OFFLINE LOGICAL :: IS_FULLCHEM INTEGER :: BULK INTEGER :: IBIN REAL(fp) :: K0, Ki, KK, M, L1 REAL(fp) :: L2, L3, Ld, F, Fc REAL(fp) :: RK, RKT, DTCHEM, DT_T, TK REAL(fp) :: F1, RK1, RK3, SO20, AVO_over_LWC REAL(fp) :: SO2_cd, H2O20, L2S, L3S REAL(fp) :: LWC, KaqH2O2, KaqO3, PATM, RHO, CNVFAC REAL(fp) :: ALK, ALK1, ALK2, SO2_AfterSS REAL(fp) :: AlkA, AlkC REAL(fp) :: Kt1, Kt2 REAL(fp) :: PSO4E, PSO4F, Kt1N, Kt2N REAL(fp) :: XX, Kt1L, Kt2L REAL(fp) :: HPLUS, SO4nss, TNH3, TNO3, GNO3, ANIT REAL(fp) :: LSTOT, ALKdst, ALKss, ALKds, NH3, CL, TNA REAL(fp) :: SSCvv, aSO4, SO2_sr, SR, TANIT REAL(fp) :: TFA, TAA, TDCA ! (jmm, 12/03/2018) REAL(fp) :: SO2_gas, PH2SO4d_tot REAL(fp) :: H2SO4_cd, H2SO4_gas ! (qjc, 04/10/16) REAL(fp) :: L5,L5S REAL(fp) :: L5_1,L5S_1,L3_1,L3S_1,KaqO3_1 REAL(fp) :: HSO3aq, SO3aq REAL(fp) :: SO2_AfterSS0, rSIV, fupdateHOBr_0 REAL(fp) :: HCO3, HCHOBr, KO3, KHOBr, f_srhobr, HOBr0 REAL(fp) :: TMP REAL(fp) :: KaqO2, L4, L4S, MnII, FeIII REAL(fp) :: DUST, Mn_ant, Mn_nat REAL(fp) :: Mn_tot, Mn_d, Fe_d REAL(fp) :: Fe_ant, Fe_nat, Fe_tot REAL(fp) :: Fe_d_ant, Fe_d_nat REAL(fp) :: L6,L6S,L6_1,L6S_1 !XW REAL(fp) :: fupdateHOCl_0 !XW REAL(fp) :: HCHOCl, KHOCl, f_srhocl, HOCl0 !XW REAL(fp) :: KaqHCHO, KaqHMS, KaqHMS2, HMSc ! JMM, MSL ! Pointers TYPE(SpcConc), POINTER :: Spc(:) REAL(fp), POINTER :: SSAlk(:) CHARACTER(LEN=255) :: ErrMsg, ThisLoc #ifdef LUO_WETDEP ! For Luo et al wetdep scheme LOGICAL :: Is_QQ3D #endif !======================================================================== ! SET_SO2 begins here! !======================================================================== IF ( id_H2O2 < 0 .or. id_SO2 < 0 ) RETURN ! Initialize RC = GC_SUCCESS size_res = .FALSE. ErrMsg = '' ThisLoc = & ' -> at SET_SO2 (in module KPP/fullchem/fullchem_SulfurChemFuncs.F90)' ! Initialize variables Spc => State_Chm%Species SSAlk => State_Chm%SSAlk(I,J,L,:) State_Chm%isCloud(I,J,L) = 0.0_fp State_Chm%pHCloud(I,J,L) = 0.0_fp State_Chm%QLxpHCloud(I,J,L) = 0.0_fp State_Chm%HSO3_aq(I,J,L) = 1.0e-32_fp State_Chm%SO3_aq(I,J,L) = 1.0e-32_fp DTCHEM = GET_TS_CHEM() ! Timestep [s] IS_FULLCHEM = Input_Opt%ITS_A_FULLCHEM_SIM IS_OFFLINE = ( .not. IS_FULLCHEM ) Ld = 0.0_fp LSTOT = 0.0_fp RHO = State_Met%AIRDEN(I,J,L) CNVFAC = 1.E3_fp * AIRMW / ( RHO * AVO ) !mcl/cm3->v/v SO20 = Spc(id_SO2)%Conc(I,J,L) * CNVFAC SO2_AfterSS = Spc(id_SO2)%Conc(I,J,L) * CNVFAC H2O20 = Spc(id_H2O2)%Conc(I,J,L) * CNVFAC KaqH2O2 = 0.0_fp KaqO3 = 0.0_fp KaqO3_1 = 0.0_fp KaqO2 = 0.0_fp K_CLD = 0.0_fp HPLUS = 0.0_fp ! Factor to convert AIRDEN from [kg air/m3] to [molec air/cm3] F = 1000.e+0_fp / AIRMW * AVO * 1.e-6_fp ! Meteorological data PATM = State_Met%PMID_DRY( I, J, L ) / ( ATM * 1.e-2_fp ) ! Press, dry [atm] TK = State_Met%T(I,J,L) ! Temperature [K] FC = State_Met%CLDF(I,J,L) ! Cloud frac [1] ! Get liquid water content [m3 H2O/m3 air] within cloud from met flds ! Units: [kg H2O/kg air] * [kg air/m3 air] * [m3 H2O/1e3 kg H2O] #ifdef LUO_WETDEP ! QQ3D and similar arrays are only allocated for wetdep or convection Is_QQ3D = ( Input_Opt%LWETD .or. Input_Opt%LCONV ) ! If QQ3D is allocated, compute LWC according to Luo et al wetdep scheme. ! Otherwise, compute LWC according to the default wetdep scheme. IF ( Is_QQ3D ) THEN LWC = State_Met%QL(I,J,L) * State_Met%AIRDEN(I,J,L) * 1e-3_fp + & MAX( 0.0_fp, State_Chm%QQ3D(I,J,L) * DTCHEM ) ELSE LWC = State_Met%QL(I,J,L) * State_Met%AIRDEN(I,J,L) * 1e-3_fp ENDIF #else ! Compute LWC according to the default wetdep scheme LWC = State_Met%QL(I,J,L) * State_Met%AIRDEN(I,J,L) * 1e-3_fp #endif ! QL can sometimes be negative, so force LWC to be positive LWC = MAX( 0.0_fp, LWC ) ! LWC is a grid-box averaged quantity. To improve the representation ! of sulfate chemistry, we divide LWC by the cloud fraction and ! compute sulfate chemistry based on the LWC within the cloud. We ! get the appropriate grid-box averaged mass of SO2 and sulfate by ! multiplying these quantities by FC AFTER computing the aqueous ! sulfur chemistry within the cloud. (lzh, jaf, bmy, 5/27/11) LWC = SafeDiv( LWC, FC, 0.0_fp ) ! If (1) there is cloud, (2) there is SO2 present, (3) T > -15 C, and ! (4) liquid water content (LWC) is present (but not small enough to ! make divisions blow up), then compute sulfate production in cloud. IF ( ( FC > 1.0e-4_fp ) .and. & ( SO2_AfterSS > MINDAT ) .and. & #ifdef LUO_WETDEP ( TK > 237.0_fp ) .and. & #else ( TK > 258.0_fp ) .and. & #endif ( LWC > 1.0e-20_fp ) ) THEN !=========================================================== ! NOTE...Sulfate production from aquatic reactions of SO2 ! with H2O2 & O3 is computed here and followings are ! approximations or method used for analytical (integral) ! solution of these computations. ! ! 1) with H2O2(aq) ! [HSO3-] + [H+] + [H2O2(aq)] => [SO4=] (rxn) ! d[SO4=]/dt = k[H+][HSO3-][H2O2(aq)] (M/s) (rate) ! ! we can rewrite k[H+][HSO3-] as K1 pSO2 hSO2, ! where pSO2 is equilibrium vapor pressure of SO2(g) ! in atm, and hSO2 is henry's law constant for SO2 ! ! Therefore, rate can be written as ! ! k * K1 * pSO2 * hSO2 * pH2O2 * hH2O2, ! ! where pH2O2 is equilibrium vapor pressure of H2O2(g), ! and hH2O2 is henry's law constant for H2O2. Detailed ! values are given in AQSET_SO2 routine. ! ! Let us define a fraction of gas phase of A species ! in equilibrium with aqueous phase as ! ! xA = 1/(1+f), ! ! where f = hA * R * T * LWC, ! hA = Henry's constant, ! R = gas constant, ! T = temperature in kelvin, ! LWC = liquid water content [m3/m3] ! ! As a result, the rate would become: ! ! d[SO4=] ! ------- = k K1 hSO2 hH2O2 xSO2 xH2O2 P P [SO2][H2O2] ! dt ! ^ ^ ^ ^ ^ ! | |____________________________| | | ! ! mole/l/s mole/l/s v/v v/v ! ! ! And we multiply rate by (LWC * R * T / P) in order to ! convert unit from mole/l/s to v/v/s ! ! Finally we come to ! ! d[SO4=] ! ------- = KaqH2O2 [SO2][H2O2], ! dt ! ! where ! ! KaqH2O2 = k K1 hSO2 hH2O2 xSO2 xH2O2 P LWC R T, ! ! this new rate corresponds to a typical second order ! reaction of which analytical (integral) solution is ! ! X = A0 B0 ( exp[(A0-B0) Ka t] - 1 ) ! / ( A0 exp[(A0-B0) Ka t] - B0 ) ! ! inserting variables into solution then we get ! [SO4=] = [SO2][H2O2](exp[([SO2]-[H2O2]) KaqH2O2 t] - 1 ) ! / ( [SO2] exp[([SO2]-[H2O2]) KaqH2O2 t] - [H2O2] ) ! ! Note...Exactly same method can be applied to O3 reaction ! in aqueous phase with different rate constants. !=========================================================== ! Get concentrations for cloud pH calculation (bec, 12/23/11) ! <<>><<>><<>><<>> ! HAVE TO DO SOME UNIT CONVERSION HERE. THIS ROUTINE IS CALLED ! WITHIN FLEXCHEM_MOD WHERE SPECIES ARE IN MOLEC/CM3 ! <<>><<>><<>><<>> ! Get sulfate concentration and convert from [v/v] to ! [moles/liter] ! Use a cloud scavenging ratio of 0.7 SO4nss = 1.e+3 * ( Spc(id_SO4)%Conc(I,J,L) * 0.7e+0_fp & + Spc(id_SO4s)%Conc(I,J,L) ) / ( LWC * AVO ) ! mcl/cm3 -> mol/L ! Get HMS cloud concentration and convert from [v/v] to ! [moles/liter] (jmm, 06/13/2018) ! Use a cloud scavenging ratio of 0.7 ! assume nonvolatile like sulfate for realistic cloud pH HMSc = 0.0_fp IF ( IS_FULLCHEM .and. id_HMS > 0 ) THEN HMSc = 1.e+3 * Spc(id_HMS)%Conc(I,J,L) * 0.7_fp / ( LWC * AVO ) ! mcl/cm3 -> mol/L ENDIF ! Get total ammonia (NH3 + NH4+) concentration [v/v] ! Use a cloud scavenging ratio of 0.7 for NH4+ TNH3 = ( ( Spc(id_NH4)%Conc(I,J,L) * 0.7e+0_fp ) & + Spc(id_NH3)%Conc(I,J,L) ) * CNVFAC ! Get total chloride (SALACL + HCL) concentration [v/v] ! Use a cloud scavenging ratio of 0.7 CL = ( Spc(id_SALACL)%Conc(I,J,L) * 0.7e+0_fp ) & + Spc(id_SALCCL)%Conc(I,J,L) CL = ( CL + Spc(id_HCL)%Conc(I,J,L) ) * CNVFAC ! Get total formic acid concentration [v/v] ! jmm (12/3/18) ! no cloud scavenging because gases? TFA = Spc(id_HCOOH)%Conc(I,J,L) * CNVFAC ! Get total acetic acid concentration [v/v] ! jmm (12/3/18) ! no cloud scavenging b/c gases? TAA = Spc(id_ACTA)%Conc(I,J,L) * CNVFAC ! Get total sea salt NVC concentration expressed as NA+ equivalents ! and convert from [MND] to [moles/liter] ! NVC is calculated to balance initial Cl- + alkalinity in ! seas salt. Note that we should not consider SO4ss here. ! Use a cloud scavenging ratio of 0.7 for fine aerosols TNA = 1.e3_fp*( Spc(id_SALA)%Conc(I,J,L)*0.7e+0_fp & + Spc(id_SALC)%Conc(I,J,L) ) * & ( 31.6e+0_fp * 0.359e+0_fp / 23.e+0_fp ) / & ( LWC * AVO ) ! mcl/cm3 -> mol/L ! Get total dust cation concentration [mol/L] ! Use a cloud scavenging ratio of 1 for dust ! to be consistent for how it was calculated for ! metal catalyzed SO2 oxidation ! Use asumption of dust being 3% soluble Ca2+ and ! 0.6% soluble Mg2+ by mass (Fairlie et al., 2010) ! ! Dust treated at non-volatile cation and charge applied in ! pH calculation ! ! Move dust calculation from SO2 Metal catalzyed oxidation ! up here becasue needed for cloud pH ! jmm (12/3/18) ! ! Get dust concentrations [MND -> ng/m3] DUST = ( Spc(id_DSTbin1)%Conc(I,J,L) + Spc(id_DSTbin2)%Conc(I,J,L) + Spc(id_DSTbin3)%Conc(I,J,L) + & Spc(id_DSTbin4)%Conc(I,J,L) + Spc(id_DSTbin5)%Conc(I,J,L) + & Spc(id_DSTbin6)%Conc(I,J,L) + Spc(id_DSTbin7)%Conc(I,J,L) ) * 1.e+15_fp * & State_Chm%SpcData(id_DSTbin1)%Info%MW_g / AVO ! Conversion from dust mass to Ca2+ and Mg2+ mol: ! 0.071*(1/40.08)+0.011*(1/24.31) = 2.22e-3 ! (Engelbrecht et al., 2016) ! 1e-12_fp from m3->L & ng->g TDCA = DUST * 2.22e-15_fp / LWC ! Get total nitrate (HNO3 + NIT) concentrations [v/v] ! Use a cloud scavenging ratio of 0.7 for NIT TNO3 = ( Spc(id_HNO3)%Conc(I,J,L) + & ( Spc(id_NIT)%Conc(I,J,L) * 0.7e+0_fp ) + & Spc(id_NITs)%Conc(I,J,L) ) * CNVFAC GNO3 = Spc(id_HNO3)%Conc(I,J,L) * CNVFAC ! For Fahey & Pandis decision algorithm ! Calculate cloud pH CALL GET_HPLUS( SO4nss, HMSc, TNH3, TNO3, SO2_AfterSS, CL, TNA, TDCA, & TFA, TAA, TK, PATM, LWC, HPLUS_45, HPLUS ) ! Store the cloud pH quantities State_Chm%isCloud(I,J,L) = 1.0_fp State_Chm%pHCloud(I,J,L) = -1.0_fp * log10(HPLUS) State_Chm%QLxpHCloud(I,J,L) = State_Chm%pHCloud(I,J,L) & * State_Met%QL(I,J,L) FeIII = 0.0_fp MnII = 0.0_fp IF ( Input_Opt%LMETALCATSO2 ) THEN !-------------------------------------------------------- ! Metal catalyzed oxidation of SO2 pathway !-------------------------------------------------------- ! Get dust concentrations [v/v -> ng/m3] #ifdef TOMAS ! TOMAS uses its own dust tracers and does not ! carry DST1-4. Set DUST to zero here. (mps, 2/2/18) DUST = 0e+0_fp #endif ! Calculate Fe and Mn natural [ng m-3] ! Assume that Fe is 3.5% of total dust mass based on ! Taylor and McLennan [1985] Fe_nat = DUST * 35e-3_fp ! and Mn is 50 times less than Fe based on Desbouefs et al.[2005] Mn_nat = Fe_nat / 50e+0_fp ! Anthropogenic Fe concentrations [mcl/cm3 -> ng/m3] IF ( id_pFe > 0 ) THEN Fe_ant = Spc(id_pFe)%Conc(I,J,L) * CNVFAC * & 1.e+12_fp * State_Met%AD(I,J,L) & / ( AIRMW / State_Chm%SpcData(id_pFe)%Info%MW_g ) & / State_Met%AIRVOL(I,J,L) ! Fe_ant = Spc(id_pFe)%Conc(I,J,L) * 1.e+15_fp * & ! State_Chm%SpcData(id_DST1)%Info%MW_g / AVO ELSE Fe_ant = 0e+0_fp ENDIF ! Calculate Mn anthropogenic [ng m-3] ! assume anthropogenic Mn is 1/30 times anthropogenic Fe Mn_ant = Fe_ant / 10e+0_fp ! Calculate total Mn and Fe [ng m-3] Mn_tot = Mn_ant + Mn_nat Fe_tot = Fe_ant + Fe_nat ! Convert Mn and Fe [ng m-3] to [mole l-1] ! Assume that 50% of Mn is dissolved [Spokes et al., 1994] ! Hardcoded MW for Mn IF ( LWC > 0e+0_fp ) THEN ! Units: ng/m3 * (g/ng) / (g/mol) / (m3 H2O / m3 air) * (m3/L) Mn_d = Mn_tot * 1e-9_fp / 54.94e+0_fp / LWC * 1e-3_fp Mn_d = Mn_d * 0.5e+0_fp ELSE Mn_d = 0e+0_fp ENDIF ! Solubility of Fe is 10% for anthropogenic, and 1% for dust IF ( LWC > 0e+0_fp ) THEN Fe_d_ant = Fe_ant * 1e-9_fp / & State_Chm%SpcData(id_pFe)%Info%MW_g / & LWC * 1e-3_fp Fe_d_nat = Fe_nat * 1e-9_fp / & State_Chm%SpcData(id_pFe)%Info%MW_g / & LWC * 1e-3_fp Fe_d = Fe_d_ant * 0.1e+0_fp + & Fe_d_nat * 0.01e+0_fp ELSE Fe_d = 0e+0_fp ENDIF ! Impose a dependence of Fe speciation on sunlight IF ( State_Met%SUNCOS(I,J) > 0e+0_fp ) THEN ! Assume 10% of dissolved Fe is in Fe(III) !oxidation state during the daytime FeIII = Fe_d * 0.1e+0_fp ELSE ! Assume 90% of dissolved Fe is in Fe(III) ! oxidation state during the nighttime FeIII = Fe_d * 0.9e+0_fp ENDIF ! Assume that dissolved Mn is in Mn(II) oxidation state all of ! the time MnII = Mn_d ENDIF ! Compute aqueous rxn rates for SO2 CALL AQCHEM_SO2( I = I, & J = J, & L = L, & LWC = LWC, & T = TK, & P = PATM, & SO2 = SO2_AfterSS, & H2O2 = Spc(id_H2O2)%Conc(I,J,L) * CNVFAC, & O3 = Spc(id_O3)%Conc(I,J,L) * CNVFAC, & HCHO = Spc(id_CH2O)%Conc(I,J,L) * CNVFAC, & Hplus = Hplus, & MnII = MnII, & FeIII = FeIII, & KaqH2O2 = KaqH2O2, & KaqO3 = KaqO3, & KaqO3_1 = KaqO3_1, & KaqO2 = KaqO2, & HSO3aq = HSO3aq, & SO3aq = SO3aq, & KaqHCHO = KaqHCHO, & KaqHMS = KaqHMS, & KaqHMS2 = KaqHMS2 ) K_CLD(1) = KaqH2O2 * FC * CNVFAC ! v/v/s --> cm3/mcl/s K_CLD(2) = KaqO3 * FC * CNVFAC ! v/v/s --> cm3/mcl/s K_CLD(3) = KaqO2 * FC ! 1/s ! vvvvvv Hold off using CloudHet2R until after initial S-chem benchmark ! -- MSL !K_CLD(1) = CloudHet2R( Spc(id_SO2)%Conc(I,J,L), & ! Spc(id_H2O2)%Conc(I,J,L), FC, KaqH2O2 * CNVFAC ) !K_CLD(2) = CloudHet2R( Spc(id_SO2)%Conc(I,J,L), & ! Spc(id_O3)%Conc(I,J,L), FC, KaqO3 * CNVFAC ) !K_CLD(3) computed below ! HMS reaction rates (skip if HMS isn't defined) IF ( IS_FULLCHEM .and. id_HMS > 0 ) THEN K_CLD(4) = KaqHCHO * FC * CNVFAC K_CLD(5) = KaqHMS * FC ! HMS reaction changed to include SO2 as a reactant. This is a ! temporary fix as the formulation HMS + OH -> 2SO4 + CH2O - SO2 ! was resulting in a negative concentraiton of SO2. We instead ! redefine the reaction as HMS + OH + SO2 -> 2SO4 + CH2O but ! divide the reaction rate by [SO2] to compensate, as long as ! it is safe to do so (NB requirement at entry that SO2 > MINDAT) ! SDE 2023-10-21 K_CLD(6) = KaqHMS2 * FC / Spc(id_SO2)%Conc(I,J,L) ! Leave comments here (bmy, 18 Jan 2022) ! CloudHet2R( Spc(id_HMS)%Conc(I,J,L), & ! Spc(id_CH2O)%Conc(I,J,L), FC, KaqHCHO*CNVFAC ) ! CloudHet1R( FC, KaqHMS ) ! KaqHMS is pseudo-1st order ! CloudHet2R( Spc(id_HMS)%Conc(I,J,L), & ! Spc(id_OH)%Conc(I,J,L), FC, & ...) ENDIF ENDIF #ifdef TOMAS !%%%%%%%%%%%%%%%%% BUG FIX FOR TOMAS %%%%%%%%%%%%%%%%%%%%%%% ! NOTE: TOMAS uses its own dust tracers and does not ! carry ALKdst. Set ALKdst to zero here. (bmy, 1/28/14) ALKdst = 0e+0_fp #else ! For other simulations, Sum up the contributions from ! DSTbin1 thru DSTbin7 tracers into ALKdst. ! mcl/cm3 -> ug/m3 ALKdst = ( Spc(id_DSTbin1)%Conc(I,J,L) + & Spc(id_DSTbin2)%Conc(I,J,L) + & Spc(id_DSTbin3)%Conc(I,J,L) + & Spc(id_DSTbin4)%Conc(I,J,L) + & Spc(id_DSTbin5)%Conc(I,J,L) + & Spc(id_DSTbin6)%Conc(I,J,L) + & Spc(id_DSTbin7)%Conc(I,J,L) ) & * CNVFAC * 1.e+9_fp * State_Met%AD(I,J,L) & / ( AIRMW / State_Chm%SpcData(id_DSTbin1)%Info%MW_g ) & / State_Met%AIRVOL(I,J,L) #endif ! mcl/cm3 -> ug/m3 ALKss = ( Spc(id_SALA)%Conc(I,J,L) & + Spc(id_SALC)%Conc(I,J,L) ) * CNVFAC * & 1.e+9_fp * State_Met%AD(I,J,L) & / ( AIRMW / State_Chm%SpcData(id_SALA)%Info%MW_g ) & / State_Met%AIRVOL(I,J,L) ALKds = ALKdst + ALKss ! Get NH3 concentrations (v/v) NH3 = Spc(id_NH3)%Conc(I,J,L)*CNVFAC ! Initialize size_res= .FALSE. ! Fahey and Seinfeld decision algorithm ! NOTE: This is ugly, needs refactoring. For now, just added ! whitespace to improve readability (bmy, 01 Oct 2021) IF ( H2O20 > SO2_afterss + 1e-9_fp ) THEN size_res = .FALSE. ELSE IF( LWC < 0.1e-6_fp ) THEN !10^-6 coversion from g/m3 --> m3/m3 size_res = .TRUE. ELSE IF( gno3 > NH3 ) THEN IF ( So2_afterss >= 5.e-9_fp .and. & H2O20 >= SO20 ) size_res = .FALSE. IF ( LWC >= 0.3e-6_fp .and. & So2_afterss >= 3.e-9_fp .and. & H2O20 >= So2_afterss ) size_res = .FALSE. IF ( ALKds >= 5.e+0_fp .and. & LWC >= 0.5e-6_fp .and. & H2O20 >= So2_afterss ) size_res = .FALSE. IF ( LWC >= 0.1e-6_fp .and. & gno3 <= (NH3 + 2.e-9_fp) ) size_res = .FALSE. ELSE IF( LWC >= 0.5e-6_fp ) THEN IF ( H2O20 >= & ( 0.9_fp * So2_afterss ) ) size_res = .FALSE. IF ( NH3 <= 1.e-9_fp .and. & ALKds >= 5.e+0_fp .and. & So2_afterss <= 10.e-9_fp ) size_res = .FALSE. ELSE IF( LWC >= 0.3e-6_fp ) THEN IF ( NH3 >= (gno3 + 5.e-9_fp) .and. & So2_afterss <= 10.e-9_fp ) size_res = .FALSE. IF ( gno3 <= 1.e-9_fp .and. & NH3 >= (gno3 + 2.e-9_fp) ) size_res = .FALSE. IF ( gno3 <= 7.e-9_fp .and. & NH3 >= (gno3 + 3.e-9_fp) ) size_res = .FALSE. IF ( ALKds >= 3.e+0_fp .and. & NH3 <= 10e-9_fp .and. & So2_afterss <= 5e-9_fp ) size_res = .FALSE. IF ( ALKds >= 5.e+0_fp .and. & NH3 <= 10.e-9_fp .and. & So2_afterss <= 5.e-9_fp ) size_res = .FALSE. IF ( So2_afterss >= 1.5e-9_fp .and. & H2O20 >= So2_afterss ) size_res = .FALSE. IF ( NH3 <= 12.e-9_fp .and. & ALKds >= 10.e+0_fp ) size_res = .FALSE. IF ( NH3 <= 1.e-9_fp .and. & ALKds >= 4.e+0_fp .and. & So2_afterss <= 10.e-9_fp ) size_res = .FALSE. IF ( NH3 <= 5.e-9_fp .and. & ALKds >= 6.e+0_fp .and. & So2_afterss <= 10.e-9_fp ) size_res = .FALSE. IF ( NH3 <= 7.e-9_fp .and. & ALKds > -8.e+0_fp .and. & So2_afterss <= 10.e-9_fp ) size_res = .FALSE. ELSE IF( LWC >= 0.1e-6_fp ) THEN IF ( NH3 <= 1.e-9_fp .and. & ALKds >= 5.e+0_fp ) size_res = .FALSE. IF ( NH3 <= 5.e-9_fp .and. & ALKds >= 10.e+0_fp ) size_res = .FALSE. IF ( gno3 <= 1.e-9_fp .and. & NH3 >= (gno3 + 2.e-9_fp) .and. & So2_afterss <= 7.e-9_fp ) size_res = .FALSE. IF ( gno3 <= 1.e-9_fp .and. & NH3 >= (gno3 + 2.e-9_fp) .and. & ALKds >= 2.e+0_fp ) size_res = .FALSE. IF ( gno3 <= 3.e-9_fp .and. & NH3 >= (gno3 + 4.e-9_fp) ) size_res = .FALSE. IF ( gno3 <= 7.e-9_fp .and. & NH3 >= (gno3 + 3.e-9_fp) .and. & So2_afterss <= 5.e-9_fp ) size_res = .FALSE. IF ( gno3 <= 7.e-9_fp .and. & NH3 >= (gno3 + 3.e-9_fp) .and. & ALKds >= 4.e+0_fp .and. & So2_afterss <= 9.e-9_fp ) size_res = .FALSE. IF ( ALKds >= 3.e+0_fp .and. & NH3 <= 3.e-9_fp .and. & So2_afterss <= 4.e-9_fp ) size_res = .FALSE. IF ( ALKds >= 5.e+0_fp .and. & So2_afterss <= 5.e-9_fp .and. & NH3 <= 7.e-9_fp ) size_res = .FALSE. IF ( NH3 >= (gno3 + 2.e-9_fp) .and. & So2_afterss <= 5.e-9_fp ) size_res = .FALSE. IF ( NH3 >= (gno3 + 4.e-9_fp) .and. & So2_afterss <= 10.e-9_fp ) size_res = .FALSE. IF ( ALKds >= 2.e+0_fp .and. & NH3 <= 10.e-9_fp .and. & H2O20 >= So2_afterss ) size_res = .FALSE. IF ( NH3 <= 1.e-9_fp .and. & So2_afterss >= 3.e-9_fp .and. & H2O20 >= So2_afterss ) size_res = .FALSE. ELSE size_res = .TRUE. ENDIF State_Chm%HSO3_AQ(I,J,L) = HSO3aq State_Chm%SO3_AQ(I,J,L) = SO3aq ENDIF !>> !================================================================= !>> ! HISTORY (aka netCDF diagnostics) !>> !================================================================= !>> !>> ! P(SO4) from gas-phase oxidation [kg S/s] !>> IF ( State_Diag%Archive_ProdSO4fromGasPhase ) THEN !>> State_Diag%ProdSO4fromGasPhase(I,J,L) = & !>> ( L1 * State_Met%AD(I,J,L) / TCVV_S ) / DTCHEM !>> ENDIF !>> !>> ! P(SO4) from aqueous-phase oxidation with H2O2 [kg S/s] !>> IF ( State_Diag%Archive_ProdSO4fromH2O2inCloud ) THEN !>> State_Diag%ProdSO4fromH2O2inCloud(I,J,L) = & !>> ( L2S * State_Met%AD(I,J,L) / TCVV_S ) / DTCHEM !>> ENDIF !>> !>> ! P(SO4) from aqueous-phase oxidation with O3 [kg S/s] !>> IF ( State_Diag%Archive_ProdSO4fromO3InCloud ) THEN !>> State_Diag%ProdSO4fromO3InCloud(I,J,L) = & !>> ( ( L3S + SRo3 ) * State_Met%AD(I,J,L) / TCVV_S ) / DTCHEM !>> ENDIF !>> !>> ! P(SO4) from aqueous-phase oxidation with HOBr [kg S/s] !>> IF ( State_Diag%Archive_ProdSO4fromHOBrInCloud ) THEN !>> State_Diag%ProdSO4fromHOBrInCloud(I,J,L) = & !>> ( ( L5S + SRhobr ) * State_Met%AD(I,J,L) / TCVV_S ) / DTCHEM !>> ENDIF !>> !>> ! P(SO4) from aqueous-phase oxidation with O2 metal-catalyzed !>> ! [kg S/s] !>> IF ( State_Diag%Archive_ProdSO4fromO2InCloudMetal ) THEN !>> State_Diag%ProdSO4fromO2InCloudMetal(I,J,L) = & !>> ( L4S * State_Met%AD(I,J,L) / TCVV_S ) / DTCHEM !>> ENDIF !>> !>> ! P(SO4) from O3 in sea salt aerosol [kg S/s] !>> IF ( State_Diag%Archive_ProdSO4fromO3inSeaSalt ) THEN !>> State_Diag%ProdSO4fromO3inSeaSalt(I,J,L) = & !>> ( ( PSO4E + PSO4F ) * State_Met%AD(I,J,L) / TCVV_S ) / DTCHEM !>> ENDIF !>> !>> ! P(SO4) by SRo3 [kg S/s] !>> IF ( State_Diag%Archive_ProdSO4fromSRO3 ) THEN !>> State_Diag%ProdSO4fromSRO3(I,J,L) = & !>> ( SRo3 * State_Met%AD(I,J,L) / TCVV_S ) / DTCHEM !>> ENDIF !>> !>> ! P(SO4) by SRhobr [kg S/s] !>> IF ( State_Diag%Archive_ProdSO4fromSRHOBr ) THEN !>> State_Diag%ProdSO4fromSRHOBr(I,J,L) = & !>> ( SRhobr * State_Met%AD(I,J,L) / TCVV_S ) / DTCHEM !>> ENDIF !>> !>> ! P(SO4) by o3s [kg S/s] !>> IF ( State_Diag%Archive_ProdSO4fromO3s ) THEN !>> State_Diag%ProdSO4fromO3s(I,J,L) = & !>> ( L3S_1 * State_Met%AD(I,J,L) / TCVV_S ) / DTCHEM !>> ENDIF !>> ! Free pointers Spc => NULL() SSAlk => NULL() END SUBROUTINE SET_SO2 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: get_hplus ! ! !DESCRIPTION: Subroutine GET\_HPLUS computes H+ concentrations in cloud ! liquid water for pH dependent cloud chemistry. (bec, 4/11/11) !\\ !\\ ! !INTERFACE: ! SUBROUTINE GET_HPLUS( SO4nss, HMSc, TNH3, TNO3, SO2, CL, TNA, TDCA, TFA, & TAA, T, PRES, LWC, iHPLUS, HPLUS ) ! ! !USES: ! USE ERROR_MOD, ONLY : IT_IS_NAN, GEOS_CHEM_STOP ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: SO4nss ! Total nss sulfate mixing ratio [M] REAL(fp), INTENT(IN) :: HMSc ! Total HMS mixing ratio [M] REAL(fp), INTENT(IN) :: TNO3 ! Total nitrate (gas+particulate) mixing ! ratio [v/v] REAL(fp), INTENT(IN) :: TNH3 ! NH3 mixing ratio [v/v] REAL(fp), INTENT(IN) :: SO2 ! SO2 mixing ratio [v/v] REAL(fp), INTENT(IN) :: CL ! Total chloride (gas+particulate) mixing REAL(fp), INTENT(IN) :: TNA ! Sodium (particulate) [v/v] REAL(fp), INTENT(IN) :: TDCA ! Total Ca2+ and Mg2+ mixing ratio [M] ! jmm 12/3/18 REAL(fp), INTENT(IN) :: TAA ! Acetic acid mixing ratio [v/v] ! jmm 12/3/18 REAL(fp), INTENT(IN) :: TFA ! Formic acid mixing ratio [v/v] ! jmm 12/3/18 REAL(fp), INTENT(IN) :: T ! Temperature [K] REAL(fp), INTENT(IN) :: PRES ! Dry air partial ressure [atm] REAL(fp), INTENT(IN) :: LWC ! Cloud liquid water content [m3/m3] REAL(fp), INTENT(IN) :: iHPLUS ! Initial [H+] [M] ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: HPLUS ! Calculated [H+] [M] ! !REMARKS: ! Calculation: ! ============================================================================ ! Solve the following electroneutrality equation: ! [H+] = 2[SO4--] + [Cl-] + [OH-] + [HCO3-] + 2[CO3--] + [HSO3-] + 2[SO3--] +! ! [NO3-] + [HCOO-] + [CH3COO-] - [Na] - 2[Ca] - [NH4] ! Uses Newton's method to solve the equation: ! x_1 = x_0 -f(x_0)/f'(x_0) ! iterate until converge ! ! Let concentrations of [HCO3], [CO3], [HSO3], [SO3], [NO3] and [NH4] evolve ! according to Henry's law equilibrium. ! ! To add new species: ! - Add species not affected by HPLUS to the "D' term ! - Add species that disassociate once using the kHNO3 and dkHNO3 ! functions ! as a template ! - Add species that disassociate twice using the kSO21 and dkSO21 ! functions ! as a template for the single charged ion and kSO22 and dkSO22 ! functions for ! the double charged ion ! Assume [S(VI)] = [SO4]nss (this applies for pH > 3) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! Water dissociation constants REAL(fp), PARAMETER :: Kw = 1.0e-14_fp REAL(fp), PARAMETER :: DhrKw = -6710.e+0_fp REAL(fp), PARAMETER :: MINVAL = 0.01 ! ! !LOCAL VARIABLES: ! REAL(fp) :: D, Kw_T, ipH, newpH, nHPLUS REAL(fp) :: fHCO3, fCO3 REAL(fp) :: fHSO3, fSO3 REAL(fp) :: fHNO3, fNH4, fHCl REAL(fp) :: dHCO3, dCO3 REAL(fp) :: dHSO3, dSO3 REAL(fp) :: dHNO3, dNH4, dHCl REAL(fp) :: fAA, fFA, dAA, dFA REAL(fp) :: f, df, nnHPLUS, fCa, dCa INTEGER :: count !================================================================= ! GET_HPLUS begins here! !================================================================= ! Initial pH guess ipH = -log10(iHPLUS) ! Non-volatile aerosol concentration [M] ! For now sulfate is the only non-volatile species D = (2.e+0_fp*SO4nss) - TNA - (2.e+0_fp*TDCA) + (1.e+0_fp * HMSc) ! Temperature dependent water equilibrium constant Kw_T = Kw*exp(DhrKw*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) ! Initialize newpH = 0.0 COUNT = 0 DO WHILE ( ABS(ipH-newpH) .gt. MINVAL ) COUNT = COUNT+1 IF ( COUNT .EQ. 1 ) THEN ipH = ipH ELSE ipH = newpH ENDIF nHPLUS = 10.e+0_fp**(-ipH) ! Get f(x) terms fHCO3 = kCO21 ( PRES, T, LWC, nHPLUS ) fCO3 = kCO22 ( PRES, T, LWC, nHPLUS ) fHSO3 = kSO21 ( PRES, T, LWC, nHPLUS, SO2 ) fSO3 = kSO22 ( PRES, T, LWC, nHPLUS, SO2 ) fHNO3 = kHNO3 ( PRES, T, LWC, nHPLUS, TNO3 ) fNH4 = kNH3 ( PRES, T, LWC, nHPLUS, TNH3, Kw_T ) ! include HCl in cloud pH calculations, xnw 10/17/17 fHCl = kHCl ( PRES, T, LWC, nHPLUS, CL ) fFA = kFA ( PRES, T, LWC, nHPLUS, TFA ) ! jmm 12/3/18 fAA = kAA ( PRES, T, LWC, nHPLUS, TAA ) ! jmm 12/3/18 ! Get f'(x) terms dHCO3 = dkCO21 ( PRES, T, LWC, nHPLUS ) dCO3 = dkCO22 ( PRES, T, LWC, nHPLUS ) dHSO3 = dkSO21 ( PRES, T, LWC, nHPLUS, SO2 ) dSO3 = dkSO22 ( PRES, T, LWC, nHPLUS, SO2 ) dHNO3 = dkHNO3 ( PRES, T, LWC, nHPLUS, TNO3 ) dNH4 = dkNH3 ( PRES, T, LWC, nHPLUS, TNH3, Kw_T ) dHCl = dkHCl ( PRES, T, LWC, nHPLUS, CL ) dFA = dkFA ( PRES, T, LWC, nHPLUS, TFA ) ! jmm 12/3/18 dAA = dkAA ( PRES, T, LWC, nHPLUS, TAA ) ! jmm 12/3/18 ! Calculate [Ca2+] in equilibrium with CaCO3(s) CALL CaCO3_PRECIP ( PRES, T, nHPLUS, fCa, dCa ) ! if [Ca2+] in equilibrium with CacO3(s) is greater than total [Ca2+] ! then all Ca is dissolved else [Ca2+] varies with [H+] IF ( fCa .ge. TDCA ) THEN ! Non-volatile aerosol concentration [M] D = (2.e+0_fp*SO4nss) - (TNA+2.e+0_fp*TDCA) ! Define f(x) f = D - nHPLUS + Kw/nHPLUS + fHCO3 + 2.e+0_fp * & fCO3 + fHSO3 + 2.e+0_fp * fSO3 + fHNO3 - fNH4 + & fHCl + fFA + fAA ! Define f'(x) df = - 1.d0 - Kw/nHPLUS/nHPLUS + dHCO3 + 2.e+0_fp * & dCO3 + dHSO3 + 2.e+0_fp * dSO3 + dHNO3 - dNH4 + & dHCl + dFA + dAA ELSE ! Non-volatile aerosol concentration [M] D = (2.e+0_fp * SO4nss) - TNA ! Define f(x) f = D - nHPLUS + Kw/nHPLUS + fHCO3 + 2.e+0_fp * fCO3 + & fHSO3 + 2.e+0_fp * fSO3 + fHNO3 - fNH4 + & fHCl + fFA + fAA - 2.e+0_fp * fCa ! Define f'(x) df = - 1.d0 - Kw/nHPLUS/nHPLUS + dHCO3 + 2.e+0_fp * dCO3 + & dHSO3 + 2.e+0_fp * dSO3 + dHNO3 - dNH4 + & dHCl + dFA + dAA - 2.e+0_fp * dCa ENDIF ! Apply Newton's method nnHPLUS = nHPLUS - f/df ! Set minimum [H+] = 1.d-14 (pH = 14) nnHPLUS = MAX(nnHPLUS,1.0e-14_fp) ! Set maximum [H+] = 1.d-1 (pH = 1) nnHPLUS = MIN(nnHPLUS,1.0e-1_fp) ! If solution does not converge after 50 iterations ! average last 2 pH calculations IF (count > 50) THEN newpH = ((-log10(nnHPLUS)) + (-log10(nHPLUS))) / 2.0e+0_fp IF (IT_IS_NAN( newpH )) THEN write(6,*) 'newpH = ', newpH write(6,*) 'nnHPLUS = ', nnHPLUS write(6,*) 'nHPLUS = ', nHPLUS CALL GEOS_CHEM_STOP ENDIF EXIT ELSE newpH = -log10(nnHPLUS) IF (IT_IS_NAN( newpH )) THEN write(6,*) 'newpH = ', newpH write(6,*) 'nnHPLUS = ', nnHPLUS CALL GEOS_CHEM_STOP ENDIF ENDIF ENDDO HPLUS = 10.0e+0_fp**(-newpH) END SUBROUTINE GET_HPLUS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: kCO21 ! ! !DESCRIPTION: Function kCO21 !\\ !\\ ! !INTERFACE: ! FUNCTION kCO21 ( P, T, LWC, HPLUS ) RESULT ( KCO2p ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: T, P, LWC, HPLUS ! ! !OUTPUT PARAMETERS: ! REAL(fp) :: KCO2p, KCO2p2 ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! CO2 dissociation constants REAL(fp), PARAMETER :: Kc1 = 4.3e-7 REAL(fp), PARAMETER :: Kc2 =4.68e-11 REAL(fp), PARAMETER :: DhrKc1 = -1000. REAL(fp), PARAMETER :: DhrKc2 = -1760. REAL(fp), PARAMETER :: Hco2 = 3.4e-2 REAL(fp), PARAMETER :: Dhco2 = 2.44e+3_fp ! CO2 concentration [v/v] REAL(fp), PARAMETER :: CO2 = 390.0e-6_fp ! ! !LOCAL VARIABLES: ! REAL(fp) :: Hco2_T, Kc1_T, Kc2_T REAL(fp) :: Hco2eff, xCO2, pCO2 !================================================================= ! kCO21 begins here! !================================================================= !CO2 dissolution constants Hco2_T = Hco2*exp(Dhco2*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) Kc1_T = Kc1*exp(DhrKc1*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) Kc2_T = Kc2*exp(DhrKc2*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) !CO2 dissolution Hco2eff = Hco2_T*(1.e+0_fp+(Kc1_T/HPLUS)+((Kc1_T*Kc2_T)/(HPLUS*HPLUS))) xCO2 = 1.e+0_fp / ( 1.e+0_fp + ( Hco2eff * 0.08205e+0_fp * T * LWC ) ) pCO2 = CO2 * P * xCO2 KCO2p = Hco2_T / HPLUS * Kc1_T * pCO2 END FUNCTION kCO21 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: dkCO21 ! ! !DESCRIPTION: Function dkCO21 !\\ !\\ ! !INTERFACE: ! FUNCTION dkCO21 ( P, T, LWC, HPLUS ) RESULT ( KCO2p ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: T, P, LWC, HPLUS ! ! !OUTPUT PARAMETERS: ! REAL(fp) :: KCO2p, KCO2p2 ! ! !REVISION HISTORY: ! 25 Jan 2012 - M. Payer - Added ProTeX headers ! 28 Apr 2015 - E. Lundgren - Input pressure is now dry air partial ! pressure ! 22 Mar 2017 - M. Sulprizio- Dhco2 value is from Table 7.3 of Seinfeld ! and ! Pandis (2006, pp 289) and should be ! positive for ! consistency with the way it is used here. ! Also, ! the value of R, in units of kcal mol-1 ! K-1, is ! 1.986x10^-3, not 0.04. (V. Shah) ! 15 Feb 2019 - J. Moch - updated function to make output ! derivative of [HCO3-] !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! CO2 dissociation constants REAL(fp), PARAMETER :: Kc1 = 4.3e-7 REAL(fp), PARAMETER :: Kc2 =4.68e-11 REAL(fp), PARAMETER :: DhrKc1 = -1000. REAL(fp), PARAMETER :: DhrKc2 = -1760. REAL(fp), PARAMETER :: Hco2 = 3.4e-2 REAL(fp), PARAMETER :: Dhco2 = 2.44e+3_fp ! CO2 concentration [v/v] REAL(fp), PARAMETER :: CO2 = 390.0e-6_fp ! ! !LOCAL VARIABLES: ! REAL(fp) :: Hco2_T, Kc1_T, Kc2_T ! !REMARKS: !================================================================= ! dkCO21 begins here! !================================================================= !CO2 dissolution constants Hco2_T = Hco2*exp(Dhco2*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) Kc1_T = Kc1*exp(DhrKc1*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) Kc2_T = Kc2*exp(DhrKc2*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) !CO2 dissolution KCO2p = Kc1_T * Hco2_T * CO2 * P * ( Kc1_T * Kc2_T * Hco2_T * & 0.08205e+0_fp * T * LWC - Hco2_T * 0.08205e+0_fp * T * & LWC * HPLUS * HPLUS - HPLUS * HPLUS) / (Kc1_T * Kc2_T * & Hco2_T * 0.08205e+0_fp * T * LWC + Kc1_T * Hco2_T * & 0.08205e+0_fp * T * LWC * HPLUS + Hco2_T * 0.08205e+0_fp * & T * LWC * HPLUS * HPLUS + HPLUS * HPLUS)**2 END FUNCTION dkCO21 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: kCO22 ! ! !DESCRIPTION: Function kCO22 !\\ !\\ ! !INTERFACE: ! FUNCTION kCO22 ( P, T, LWC, HPLUS ) RESULT ( KCO2p2 ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: T, P, LWC, HPLUS ! ! !OUTPUT PARAMETERS: ! REAL(fp) :: KCO2p, KCO2p2 ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! CO2 dissociation constants REAL(fp), PARAMETER :: Kc1 = 4.3e-7 REAL(fp), PARAMETER :: Kc2 =4.68e-11 REAL(fp), PARAMETER :: DhrKc1 = -1000. REAL(fp), PARAMETER :: DhrKc2 = -1760. REAL(fp), PARAMETER :: Hco2 = 3.4e-2 REAL(fp), PARAMETER :: Dhco2 = 2.44e+3_fp ! CO2 concentration [v/v] REAL(fp), PARAMETER :: CO2 = 390.0e-6_fp ! ! !LOCAL VARIABLES: ! REAL(fp) :: Hco2_T, Kc1_T, Kc2_T REAL(fp) :: Hco2eff, xCO2, pCO2 !================================================================= ! kCO22 begins here! !================================================================= !CO2 dissolution constants Hco2_T = Hco2*exp(Dhco2*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) Kc1_T = Kc1*exp(DhrKc1*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) Kc2_T = Kc2*exp(DhrKc2*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) !CO2 dissolution Hco2eff = Hco2_T*(1.e+0_fp+(Kc1_T/HPLUS)+((Kc1_T*Kc2_T)/(HPLUS*HPLUS))) xCO2 = 1.e+0_fp / ( 1.e+0_fp + ( Hco2eff * 0.08205e+0_fp * T * LWC ) ) pCO2 = CO2 * P * xCO2 KCO2p2 = Kc1_T * Kc2_T * Hco2_T / HPLUS / HPLUS * pCO2 END FUNCTION kCO22 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: dkCO22 ! ! !DESCRIPTION: Function dkCO22 !\\ !\\ ! !INTERFACE: ! FUNCTION dkCO22 ( P, T, LWC, HPLUS ) RESULT ( KCO2p2 ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: T, P, LWC, HPLUS ! ! !OUTPUT PARAMETERS: ! REAL(fp) :: KCO2p, KCO2p2 ! ! !REVISION HISTORY: ! 25 Jan 2012 - M. Payer - Added ProTeX headers ! 28 Apr 2015 - E. Lundgren - Input pressure is now dry air partial ! pressure ! 22 Mar 2017 - M. Sulprizio- Dhco2 value is from Table 7.3 of Seinfeld ! and ! Pandis (2006, pp 289) and should be ! positive for ! consistency with the way it is used here. ! Also, ! the value of R, in units of kcal mol-1 ! K-1, is ! 1.986x10^-3, not 0.04. (V. Shah) ! 15 Feb 2019 - J. Moch - updated function to make output deriviate ! of [CO3--] !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! CO2 dissociation constants REAL(fp), PARAMETER :: Kc1 = 4.3e-7 REAL(fp), PARAMETER :: Kc2 =4.68e-11 REAL(fp), PARAMETER :: DhrKc1 = -1000. REAL(fp), PARAMETER :: DhrKc2 = -1760. REAL(fp), PARAMETER :: Hco2 = 3.4e-2 REAL(fp), PARAMETER :: Dhco2 = 2.44e+3_fp ! CO2 concentration [v/v] REAL(fp), PARAMETER :: CO2 = 390.0e-6_fp ! ! !LOCAL VARIABLES: ! REAL(fp) :: Hco2_T, Kc1_T, Kc2_T !================================================================= ! dkCO22 begins here! !================================================================= !CO2 dissolution constants Hco2_T = Hco2*exp(Dhco2*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) Kc1_T = Kc1*exp(DhrKc1*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) Kc2_T = Kc2*exp(DhrKc2*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) !CO2 dissolution KCO2p2 = -1.e+0_fp * Kc1_T * Kc2_T * Hco2_T * CO2 * P * ( Kc1_T * & Hco2_T * 0.08205e+0_fp * T * LWC + 2.0e+0_fp * Hco2_T * & 0.08205e+0_fp * T * LWC * HPLUS + 2.0e+0_fp * HPLUS ) / & ( Kc1_T * Kc2_T * Hco2_T * 0.08205e+0_fp * T * LWC + & Kc1_T * Hco2_T * 0.08205e+0_fp * T * LWC * HPLUS + & Hco2_T *0.08205e+0_fp * T * LWC * HPLUS * HPLUS + & HPLUS * HPLUS )**2 END FUNCTION dkCO22 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: kSO21 ! ! !DESCRIPTION: Function kSO21 !\\ !\\ ! !INTERFACE: ! FUNCTION kSO21 ( P, T, LWC, HPLUS, SO2 ) RESULT ( KSO2p ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: T, P, LWC, HPLUS, SO2 ! ! !OUTPUT PARAMETERS: ! REAL(fp) :: KSO2p, KSO2p2 ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! SO2 dissociation constants REAL(fp), PARAMETER :: Ks1 = 1.3e-2 REAL(fp), PARAMETER :: Ks2 = 6.6e-8 REAL(fp), PARAMETER :: Hso2 = 1.23 REAL(fp), PARAMETER :: Dhso2 = 3.14e+3_fp REAL(fp), PARAMETER :: DhrKso21 = 1960. REAL(fp), PARAMETER :: DhrKso22 = 1500. ! ! !LOCAL VARIABLES: ! REAL(fp) :: Hso2_T, Ks1_T, Ks2_T REAL(fp) :: Hso2eff, xSO2, pSO2 !================================================================= ! kSO21 begins here! !================================================================= ! SO2 dissolution constants Hso2_T = Hso2*exp(Dhso2*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) Ks1_T = Ks1*exp(DhrKso21*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) Ks2_T = Ks2*exp(DhrKso22*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) ! SO2 dissolution Hso2eff = Hso2_T*(1.e+0_fp+(Ks1_T/HPLUS)+((Ks1_T*Ks2_T)/(HPLUS*HPLUS))) xSO2 = 1.e+0_fp / ( 1.e+0_fp + ( Hso2eff * 0.08205e+0_fp * T * LWC ) ) pSO2 = SO2 * P * xSO2 KSO2p = Hso2_T * Ks1_T * pSO2 / HPLUS END FUNCTION kSO21 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: dkSO21 ! ! !DESCRIPTION: Function dkSO21 !\\ !\\ ! !INTERFACE: ! FUNCTION dkSO21 ( P, T, LWC, HPLUS, SO2 ) RESULT ( KSO2p ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: T, P, LWC, HPLUS, SO2 ! ! !OUTPUT PARAMETERS: ! REAL(fp) :: KSO2p, KSO2p2 ! ! !REVISION HISTORY: ! 25 Jan 2012 - M. Payer - Added ProTeX headers ! 28 Apr 2015 - E. Lundgren - Input pressure is now dry air partial ! pressure ! 22 Mar 2017 - M. Sulprizio- Dhso2 value is from Table 7.3 of Seinfeld ! and ! Pandis (2006, pp 289) and should be ! positive for ! consistency with the way it is used here. ! Also, ! the value of R, in units of kcal mol-1 ! K-1, is ! 1.986x10^-3, not 0.04. (V. Shah) ! 15 Feb 2019 - J. Moch - updated function to make output ! derivative of [HSO3-] !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! SO2 dissociation constants REAL(fp), PARAMETER :: Ks1 = 1.3e-2 REAL(fp), PARAMETER :: Ks2 = 6.6e-8 REAL(fp), PARAMETER :: Hso2 = 1.23 REAL(fp), PARAMETER :: Dhso2 = 3.14e+3_fp REAL(fp), PARAMETER :: DhrKso21 = 1960. REAL(fp), PARAMETER :: DhrKso22 = 1500. ! ! !LOCAL VARIABLES: ! REAL(fp) :: Hso2_T, Ks1_T, Ks2_T !================================================================= ! dkSO21 begins here! !================================================================= ! SO2 dissolution constants Hso2_T = Hso2*exp(Dhso2*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) Ks1_T = Ks1*exp(DhrKso21*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) Ks2_T = Ks2*exp(DhrKso22*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) KSO2p = Ks1_T * Hso2_T * SO2 * P * ( Ks1_T * Ks2_T * Hso2_T * & 0.08205e+0_fp * T * LWC - Hso2_T * 0.08205e+0_fp * T * & LWC * HPLUS * HPLUS - HPLUS * HPLUS) / (Ks1_T * Ks2_T * & Hso2_T * 0.08205e+0_fp * T * LWC + Ks1_T * Hso2_T * & 0.08205e+0_fp * T * LWC * HPLUS + Hso2_T * 0.08205e+0_fp * & T * LWC * HPLUS * HPLUS + HPLUS * HPLUS)**2 END FUNCTION dkSO21 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: kSO22 ! ! !DESCRIPTION: Function kSO22 !\\ !\\ ! !INTERFACE: ! FUNCTION kSO22 ( P, T, LWC, HPLUS, SO2 ) RESULT ( KSO2p2 ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: T, P, LWC, HPLUS, SO2 ! ! !OUTPUT PARAMETERS: ! REAL(fp) :: KSO2p, KSO2p2 ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! SO2 dissociation constants REAL(fp), PARAMETER :: Ks1 = 1.3e-2 REAL(fp), PARAMETER :: Ks2 = 6.6e-8 REAL(fp), PARAMETER :: Hso2 = 1.23 REAL(fp), PARAMETER :: Dhso2 = 3.14e+3_fp REAL(fp), PARAMETER :: DhrKso21 = 1960. REAL(fp), PARAMETER :: DhrKso22 = 1500. ! ! !LOCAL VARIABLES: ! REAL(fp) :: Hso2_T, Ks1_T, Ks2_T REAL(fp) :: Hso2eff, xSO2, pSO2 !================================================================= ! kSO22 begins here! !================================================================= ! SO2 dissolution constants Hso2_T = Hso2*exp(Dhso2*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) Ks1_T = Ks1 *exp(DhrKso21*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) Ks2_T = Ks2 *exp(DhrKso22*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) !SO2 dissolution Hso2eff = Hso2_T*(1.e+0_fp+(Ks1_T/HPLUS)+((Ks1_T*Ks2_T)/(HPLUS*HPLUS))) xSO2 = 1.e+0_fp / ( 1.e+0_fp + ( Hso2eff * 0.08205e+0_fp * T * LWC ) ) pSO2 = SO2 * P * xSO2 KSO2p2 = Ks1_T * Ks2_T * Hso2_T / HPLUS / HPLUS * pSO2 END FUNCTION kSO22 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: dkSO22 ! ! !DESCRIPTION: Function dkSO22 !\\ !\\ ! !INTERFACE: ! FUNCTION dkSO22 ( P, T, LWC, HPLUS, SO2 ) RESULT ( KSO2p2 ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: T, P, LWC, HPLUS, SO2 ! ! !OUTPUT PARAMETERS: ! REAL(fp) :: KSO2p, KSO2p2 ! ! !REVISION HISTORY: ! 25 Jan 2012 - M. Payer - Added ProTeX headers ! 28 Apr 2015 - E. Lundgren - Input pressure is now dry air partial ! pressure ! 22 Mar 2017 - M. Sulprizio- Dhso2 value is from Table 7.3 of Seinfeld ! and ! Pandis (2006, pp 289) and should be ! positive for ! consistency with the way it is used here. ! Also, ! the value of R, in units of kcal mol-1 ! K-1, is ! 1.986x10^-3, not 0.04. (V. Shah) ! 15 Feb 2019 - J. Moch - updated function to make output ! derivative [SO3--] !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! SO2 dissociation constants REAL(fp), PARAMETER :: Ks1 = 1.3e-2 REAL(fp), PARAMETER :: Ks2 = 6.6e-8 REAL(fp), PARAMETER :: Hso2 = 1.23 REAL(fp), PARAMETER :: Dhso2 = 3.14e+3_fp REAL(fp), PARAMETER :: DhrKso21 = 1960. REAL(fp), PARAMETER :: DhrKso22 = 1500. ! ! !LOCAL VARIABLES: ! REAL(fp) :: Hso2_T, Ks1_T, Ks2_T !================================================================= ! dkSO22 begins here! !================================================================= ! SO2 dissolution constants Hso2_T = Hso2*exp(Dhso2*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) Ks1_T = Ks1 *exp(DhrKso21*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) Ks2_T = Ks2 *exp(DhrKso22*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) KSO2p2 = -1.e+0_fp * Ks1_T * Ks2_T * Hso2_T * SO2 * P * ( Ks1_T * & Hso2_T * 0.08205e+0_fp * T * LWC + 2.0e+0_fp * Hso2_T * & 0.08205e+0_fp * T * LWC * HPLUS + 2.0e+0_fp * HPLUS ) / & ( Ks1_T * Ks2_T * Hso2_T * 0.08205e+0_fp * T * LWC + & Ks1_T * Hso2_T * 0.08205e+0_fp * T * LWC * HPLUS + & Hso2_T *0.08205e+0_fp * T * LWC * HPLUS * HPLUS + & HPLUS * HPLUS )**2 END FUNCTION dkSO22 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: kHNO3 ! ! !DESCRIPTION: Function kNO3 !\\ !\\ ! !INTERFACE: ! FUNCTION kHNO3 ( P, T, LWC, HPLUS, HNO3 ) RESULT ( KHNO3p ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: T, P, LWC, HPLUS, HNO3 ! ! !OUTPUT PARAMETERS: ! REAL(fp) :: KHNO3p ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! HNO3 dissociation constants REAL(fp), PARAMETER :: Kn1 = 15.4 REAL(fp), PARAMETER :: Hhno3 = 2.1e5 REAL(fp), PARAMETER :: Dhhno3 = 0. REAL(fp), PARAMETER :: DhrKn1 = 8700. ! ! !LOCAL VARIABLES: ! REAL(fp) :: Hhno3_T, Kn1_T REAL(fp) :: Hhno3eff, xHNO3, pHNO3 !================================================================= ! kHNO3 begins here! !================================================================= ! HNO3 dissolution constants Hhno3_T = Hhno3*exp(Dhhno3*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) Kn1_T = Kn1*exp(DhrKn1*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) ! HNO3 dissolution ! The original Hhno3eff expression is valid for 298K (Seinfeld and Pandis ! 2006, pp 299-301), and Kn1 has a strong temperature dependence. The ! fix follows Eq. 7.59 of Seinfeld and Pandis (2006, pp 301). !Hhno3eff = 3.2e6/HPLUS Hhno3eff = Hhno3_T*(1.0e+0_fp+(Kn1_T/HPLUS)) xHNO3 = 1.e+0_fp / ( 1.e+0_fp + ( Hhno3eff * 0.08205e+0_fp * T * LWC ) ) pHNO3 = HNO3 * P * xHNO3 kHNO3p = Hhno3_T * Kn1_T * pHNO3 / HPLUS END FUNCTION kHNO3 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: dkHNO3 ! ! !DESCRIPTION: Function dkNO3 !\\ !\\ ! !INTERFACE: ! FUNCTION dkHNO3 ( P, T, LWC, HPLUS, HNO3 ) RESULT ( KHNO3p ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: T, P, LWC, HPLUS, HNO3 ! ! !OUTPUT PARAMETERS: ! REAL(fp) :: KHNO3p ! ! !REVISION HISTORY: ! 25 Jan 2012 - M. Payer - Added ProTeX headers ! 28 Apr 2015 - E. Lundgren - Input pressure is now dry air partial ! pressure ! 22 Mar 2017 - M. Sulprizio- Add fix for Hhno3eff from V. Shah ! 15 Feb 2019 - J. Moch - updated function to make output ! derivative of [HNO3-] !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! HNO3 dissociation constants REAL(fp), PARAMETER :: Kn1 = 15.4 REAL(fp), PARAMETER :: Hhno3 = 2.1e5 REAL(fp), PARAMETER :: Dhhno3 = 0. REAL(fp), PARAMETER :: DhrKn1 = 8700. ! ! !LOCAL VARIABLES: ! REAL(fp) :: Hhno3_T, Kn1_T !================================================================= ! dkHNO3 begins here! !================================================================= ! HNO3 dissolution constants Hhno3_T = Hhno3*exp(Dhhno3*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) Kn1_T = Kn1*exp(DhrKn1*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) ! HNO3 dissolution ! The original Hhno3eff expression is valid for 298K (Seinfeld and ! Pandis ! 2006, pp 299-301), and Kn1 has a strong temperature dependence. ! The ! fix follows Eq. 7.59 of Seinfeld and Pandis (2006, pp 301). kHNO3p = -1.0e+0_fp * Kn1_T * Hhno3_T * HNO3 * P * & ( 1.0e+0_fp + Hhno3_T * 0.08205e+0_fp * T * LWC ) / & ( Kn1_T * Hhno3_T * 0.08205e+0_fp * T * LWC + & Hhno3_T * 0.08205e+0_fp * T * LWC * HPLUS + & HPLUS )**2 END FUNCTION dkHNO3 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: kHCl ! ! !DESCRIPTION: Function kHCl !\\ !\\ ! !INTERFACE: ! FUNCTION kHCl ( P, T, LWC, HPLUS, Cl ) RESULT ( KHClp ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: T, P, LWC, HPLUS, Cl ! ! !OUTPUT PARAMETERS: ! REAL(fp) :: KHClp ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! HNO3 dissociation constants REAL(fp), PARAMETER :: Kcl = 1.74e+6_fp REAL(fp), PARAMETER :: Hcl = 1.5e+3_fp REAL(fp), PARAMETER :: Dhcl = 2.3e+3_fp REAL(fp), PARAMETER :: DhrKcl = 6900.e+0_fp ! ! !LOCAL VARIABLES: ! REAL(fp) :: Hcl_T, Kcl_T REAL(fp) :: Hcleff, xCl, pHCl !================================================================= ! kHCl begins here! !================================================================= ! HCl dissolution constants HCl_T = Hcl*exp(Dhcl*((1.0e+0_fp/T)-(1.0e+0_fp/298.0e+0_fp))) Kcl_T = Kcl*exp(DhrKcl*((1.0e+0_fp/T)-(1.0e+0_fp/298.0e+0_fp))) !HCl dissolution Hcleff = Hcl_T*(1.0e+0_fp+(Kcl_T/HPLUS)) xCl = 1.0e+0_fp / ( 1.0e+0_fp + ( Hcleff * 0.08205e+0_fp * T * LWC ) ) pHCl = Cl * P * xCl kHClp = Hcl_T * Kcl_T * pHCl / HPLUS END FUNCTION kHCl !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: dkHCl ! ! !DESCRIPTION: Function dkHCl !\\ !\\ ! !INTERFACE: ! FUNCTION dkHCl ( P, T, LWC, HPLUS, Cl ) RESULT ( KHClp ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: T, P, LWC, HPLUS, Cl ! ! !OUTPUT PARAMETERS: ! REAL(fp) :: KHClp ! ! !REVISION HISTORY: ! 03 Apr 2019 - X. Wang - Initial version !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! HCl dissociation constants REAL(fp), PARAMETER :: Kcl = 1.74e+6_fp REAL(fp), PARAMETER :: Hcl = 1.5e+3_fp REAL(fp), PARAMETER :: Dhcl = 2.3e+3_fp REAL(fp), PARAMETER :: DhrKcl = 6900.e+0_fp ! ! !LOCAL VARIABLES: ! REAL(fp) :: Hcl_T, Kcl_T !================================================================= ! dkHCl begins here! !================================================================= ! HCl dissolution constants Hcl_T = Hcl*exp(Dhcl*((1.0e+0_fp/T)-(1.0e+0_fp/298.0e+0_fp))) Kcl_T = Kcl*exp(DhrKcl*((1.0e+0_fp/T)-(1.0e+0_fp/298.0e+0_fp))) ! HCl dissolution ! The fix follows Eq. 7.59 of Seinfeld and Pandis (2006, pp 301). kHClp = -1.0e+0_fp * Kcl_T * Hcl_T * Cl * P * & ( 1.0e+0_fp + Hcl_T * 0.08205e+0_fp * T * LWC ) / & ( Kcl_T * Hcl_T * 0.08205e+0_fp * T * LWC + & Hcl_T * 0.08205e+0_fp * T * LWC * HPLUS + & HPLUS )**2 END FUNCTION dkHCl !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: kNH3 ! ! !DESCRIPTION: Function kNH3 !\\ !\\ ! !INTERFACE: ! FUNCTION kNH3 ( P, T, LWC, HPLUS, NH3, Kw ) RESULT ( KNH3p ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: T, P, LWC, HPLUS, NH3, Kw ! ! !OUTPUT PARAMETERS: ! REAL(fp) :: KNH3p ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! NH3 dissociation contants REAL(fp), PARAMETER :: Ka1 = 1.7e-5 REAL(fp), PARAMETER :: Hnh3 = 60. REAL(fp), PARAMETER :: Dhnh3 = 4200e+0_fp REAL(fp), PARAMETER :: DhrKa1 = -450. ! Variables REAL(fp) :: Hnh3_T, Ka1_T REAL(fp) :: Hnh3eff, xNH3, pNH3 !================================================================= ! kNH3 begins here! !================================================================= !NH3 dissolution constants Hnh3_T = Hnh3*exp(Dhnh3*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) Ka1_T = Ka1*exp(DhrKa1*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) !NH3 dissolution Hnh3eff = Hnh3_T*(1.e+0_fp+((Ka1_T* HPLUS) / Kw)) xNH3 = 1.e+0_fp / ( 1.e+0_fp + ( Hnh3eff * 0.08205e+0_fp * T * LWC ) ) pNH3 = NH3 * P * xNH3 KNH3p = HPLUS * Hnh3_T * Ka1_T * pNH3 / Kw END FUNCTION kNH3 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: dkNH3 ! ! !DESCRIPTION: Function dkNH3 !\\ !\\ ! !INTERFACE: ! FUNCTION dkNH3 ( P, T, LWC, HPLUS, NH3, Kw ) RESULT ( KNH3p ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: T, P, LWC, HPLUS, NH3, Kw ! ! !OUTPUT PARAMETERS: ! REAL(fp) :: KNH3p ! ! !REVISION HISTORY: ! 25 Jan 2012 - M. Payer - Added ProTeX headers ! 28 Apr 2015 - E. Lundgren - Input pressure is now dry air partial ! pressure ! 22 Mar 2017 - M. Sulprizio- Dhnh3 value is from Table 7.3 of Seinfeld ! and ! Pandis (2006, pp 289) and should be ! positive for ! consistency with the way it is used here. ! Also, ! the value of R, in units of kcal mol-1 ! K-1, is ! 1.986x10^-3, not 0.04. (V. Shah) ! 15 Feb 2019 - J. Moch - updated function to make output ! derivative of [NH4+] !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! NH3 dissociation contants REAL(fp), PARAMETER :: Ka1 = 1.7e-5 REAL(fp), PARAMETER :: Hnh3 = 60. REAL(fp), PARAMETER :: Dhnh3 = 4200e+0_fp REAL(fp), PARAMETER :: DhrKa1 = -450. ! Variables REAL(fp) :: Hnh3_T, Ka1_T !================================================================= ! dkNH3 begins here! !================================================================= !NH3 dissolution constants Hnh3_T = Hnh3*exp(Dhnh3*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) Ka1_T = Ka1*exp(DhrKa1*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) !NH3 dissolutionnyn KNH3p = Ka1_T * Hnh3_T * NH3 * Kw * P * ( 1.0e+0_fp + & Hnh3_T * 0.08205e+0_fp * T * LWC ) / & ( Hnh3_T * 0.08205e+0_fp * T * LWC * ( Kw + Ka1_T * & HPLUS ) + Kw)**2 END FUNCTION dkNH3 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: kFA ! ! !DESCRIPTION: Function kFA !\\ !\\ ! !INTERFACE: ! FUNCTION kFA ( P, T, LWC, HPLUS, FA ) RESULT ( kFAp ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: T, P, LWC, HPLUS, FA ! ! !OUTPUT PARAMETERS: ! REAL(fp) :: KFAp ! ! !REVISION HISTORY: ! 25 Jan 2012 - M. Payer - Added ProTeX headers ! 28 Apr 2015 - E. Lundgren - Input pressure is now dry air partial ! pressure ! 17 Oct 2017 - M. Sulprizio- Dhck value is from Table 7.3 of Seinfeld ! and ! Pandis (2006, pp 289) and should be ! positive for ! consistency with the way it is used here. ! Also, ! the value of R, in units of kcal mol-1 ! K-1, is ! 1.986x10^-3, not 0.04. (Qianjie Chen) ! 03 Dec 2018 - J. Moch - Modified for formic acid (HCOOH). Values ! taken from Sienfeld and Pandis. Made it ! to output is [FA] ! 01 May 2020 - V. Shah - Use correct equilibrium constants !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! HCOOH dissociation constants REAL(fp), PARAMETER :: Kformate = 1.8e-4_fp ! equib const REAL(fp), PARAMETER :: Hfa = 8800e+0_fp ! henry const REAL(fp), PARAMETER :: Dhfa = 6100e+0_fp ! henry temp REAL(fp), PARAMETER :: DhrKfa = 151.e+0_fp ! equib temp ! ! !LOCAL VARIABLES: ! REAL(fp) :: Hfa_T, Kfa_T REAL(fp) :: Hfaeff, xFA, pFA !================================================================= ! kFA begins here! !================================================================= ! Formic acid dissolution constants HFA_T = Hfa*exp(Dhfa*((1.0e+0_fp/T)-(1.0e+0_fp/298.0e+0_fp))) Kfa_T = Kformate*exp(DhrKfa*((1.0e+0_fp/T) & - (1.0e+0_fp/298.0e+0_fp))) !HCOOH dissolution Hfaeff = Hfa_T*(1.0e+0_fp+(Kfa_T/HPLUS)) xFA = 1.0e+0_fp / ( 1.0e+0_fp & + ( Hfaeff * 0.08205e+0_fp * T * LWC ) ) pFA = FA * P * xFA kFAp = Hfa_T * Kfa_T * pFA / HPLUS END FUNCTION kFA !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: dkFA ! ! !DESCRIPTION: Function dkFA !\\ !\\ ! !INTERFACE: ! FUNCTION dkFA ( P, T, LWC, HPLUS, FA ) RESULT ( kFAp ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: T, P, LWC, HPLUS, FA ! ! !OUTPUT PARAMETERS: ! REAL(fp) :: KFAp ! ! !REVISION HISTORY: ! 25 Jan 2012 - M. Payer - Added ProTeX headers ! 28 Apr 2015 - E. Lundgren - Input pressure is now dry air partial ! pressure ! 17 Oct 2017 - M. Sulprizio- Dhck value is from Table 7.3 of Seinfeld ! and ! Pandis (2006, pp 289) and should be ! positive for ! consistency with the way it is used here. ! Also, ! the value of R, in units of kcal mol-1 ! K-1, is ! 1.986x10^-3, not 0.04. (Qianjie Chen) ! 03 Dec 2018 - J. Moch - Modified for formic acid (HCOOH). Values ! taken from ! Sienfeld and Pandis. Made it to output is ! [FA] ! 01 May 2020 - V. Shah - Use correct equilibrium constants !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! HCOOH dissociation constants REAL(fp), PARAMETER :: Kformate = 1.8e-4_fp ! equib const REAL(fp), PARAMETER :: Hfa = 8800e+0_fp ! henry const REAL(fp), PARAMETER :: Dhfa = 6100e+0_fp ! henry temp REAL(fp), PARAMETER :: DhrKfa = 151.e+0_fp ! equib temp ! ! !LOCAL VARIABLES: ! REAL(fp) :: Hfa_T, Kfa_T !================================================================= ! dkFA begins here! !================================================================= ! Formic acid dissolution constants HFA_T = Hfa*exp(Dhfa*((1.0e+0_fp/T)-(1.0e+0_fp/298.0e+0_fp))) Kfa_T = Kformate*exp(DhrKfa*((1.0e+0_fp/T) & - (1.0e+0_fp/298.0e+0_fp))) !HCOOH dissolution kFAp = -1.0e+0_fp * Kfa_T * HFA_T * FA * P * & ( 1.0e+0_fp + HFA_T * 0.08205e+0_fp * T * LWC ) / & ( Kfa_T * HFA_T * 0.08205e+0_fp * T * LWC + & HFA_T * 0.08205e+0_fp * T * LWC * HPLUS + & HPLUS )**2 END FUNCTION dkFA !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: kAA ! ! !DESCRIPTION: Function kAA !\\ !\\ ! !INTERFACE: ! FUNCTION kAA ( P, T, LWC, HPLUS, AA ) RESULT ( kAAp ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: T, P, LWC, HPLUS, AA ! ! !OUTPUT PARAMETERS: ! REAL(fp) :: KAAp ! ! !REVISION HISTORY: ! 25 Jan 2012 - M. Payer - Added ProTeX headers ! 28 Apr 2015 - E. Lundgren - Input pressure is now dry air partial ! pressure ! 17 Oct 2017 - M. Sulprizio- Dhck value is from Table 7.3 of Seinfeld ! and ! Pandis (2006, pp 289) and should be ! positive for ! consistency with the way it is used here. ! Also, ! the value of R, in units of kcal mol-1 ! K-1, is ! 1.986x10^-3, not 0.04. (Qianjie Chen) ! 03 Dec 2018 - J. Moch - Modified for acetic acid (CH3COOH). ! Values taken from ! Sienfeld and Pandis, value of [HCOOH] ! 01 May 2020 - V. Shah - Use correct equilibrium constants !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! CH3HCOOH dissociation constants REAL(fp), PARAMETER :: Kacetate = 1.75e-5_fp REAL(fp), PARAMETER :: Haa = 4100e+0_fp REAL(fp), PARAMETER :: Dhaa = 6200e+0_fp REAL(fp), PARAMETER :: DhrKaa = 50.0e+0_fp ! ! !LOCAL VARIABLES: ! REAL(fp) :: Haa_T, Kaa_T REAL(fp) :: Haaeff, xAA, pAA !================================================================= ! kAA begins here! !================================================================= ! Formic acid dissolution constants HAA_T = Haa*exp(Dhaa*((1.0e+0_fp/T)-(1.0e+0_fp/298.0e+0_fp))) Kaa_T = Kacetate*exp(DhrKaa*((1.0e+0_fp/T) & - (1.0e+0_fp/298.0e+0_fp))) !HCOOH dissolution Haaeff = Haa_T*(1.0e+0_fp+(Kaa_T/HPLUS)) xAA = 1.0e+0_fp / ( 1.0e+0_fp & + ( Haaeff * 0.08205e+0_fp * T * LWC ) ) pAA = AA * P * xAA kAAp = Haa_T * Kaa_T * pAA / HPLUS END FUNCTION kAA !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: dkAA ! ! !DESCRIPTION: Function kdAA !\\ !\\ ! !INTERFACE: ! FUNCTION dkAA ( P, T, LWC, HPLUS, AA ) RESULT ( kAAp ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: T, P, LWC, HPLUS, AA ! ! !OUTPUT PARAMETERS: ! REAL(fp) :: KAAp ! ! !REVISION HISTORY: ! 25 Jan 2012 - M. Payer - Added ProTeX headers ! 28 Apr 2015 - E. Lundgren - Input pressure is now dry air partial ! pressure ! 17 Oct 2017 - M. Sulprizio- Dhck value is from Table 7.3 of Seinfeld ! and ! Pandis (2006, pp 289) and should be ! positive for ! consistency with the way it is used here. ! Also, ! the value of R, in units of kcal mol-1 ! K-1, is ! 1.986x10^-3, not 0.04. (Qianjie Chen) ! 03 Dec 2018 - J. Moch - Modified for acetic acid (CH3COOH). ! Values taken from ! Sienfeld and Pandis. Output is ! derivative. ! 01 May 2020 - V. Shah - Use correct equilibrium constants !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! HCOOH dissociation constants REAL(fp), PARAMETER :: Kacetate = 1.75e-5_fp REAL(fp), PARAMETER :: Haa = 4100e+0_fp REAL(fp), PARAMETER :: Dhaa = 6200e+0_fp REAL(fp), PARAMETER :: DhrKaa = 50.0e+0_fp ! ! !LOCAL VARIABLES: ! REAL(fp) :: Haa_T, Kaa_T !================================================================= ! kAA begins here! !================================================================= ! Formic acid dissolution constants HAA_T = Haa*exp(Dhaa*((1.0e+0_fp/T)-(1.0e+0_fp/298.0e+0_fp))) Kaa_T = Kacetate*exp(DhrKaa*((1.0e+0_fp/T) & - (1.0e+0_fp/298.0e+0_fp))) !HCOOH dissolution kAAp = -1.0e+0_fp * Kaa_T * HAA_T * AA * P * & ( 1.0e+0_fp + HAA_T * 0.08205e+0_fp * T * LWC ) / & ( Kaa_T * HAA_T * 0.08205e+0_fp * T * LWC + & HAA_T * 0.08205e+0_fp * T * LWC * HPLUS + & HPLUS )**2 END FUNCTION dkAA !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: CaCO3_PRECIP ! ! !DESCRIPTION: Subroutine CaCO3 to calculate [Ca++] in equilibrium with ! CaCO3(s) (dust particles) depending on [H+] !\\ !\\ ! !INTERFACE: ! SUBROUTINE CaCO3_PRECIP ( P, T, HPLUS, fCa, dCa ) ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: T, P, HPLUS ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT):: fCa, dCa ! [Ca2+] and d([Ca2+])/d[H+] ! ! !REVISION HISTORY: ! 25 Dec 2019 - V. Shah - Initial version !EOP !------------------------------------------------------------------------------ !BOC ! !DEFINED PARAMETERS: ! REAL(fp), PARAMETER :: Kc1 = 4.3e-7_fp REAL(fp), PARAMETER :: Kc2 = 4.68e-11_fp REAL(fp), PARAMETER :: DhrKc1 = -1000. REAL(fp), PARAMETER :: DhrKc2 = -1760. REAL(fp), PARAMETER :: Hco2 = 3.4e-2_fp REAL(fp), PARAMETER :: Dhco2 = 2.44e+3_fp ! CO2 concentration [v/v] REAL(fp), PARAMETER :: CO2 = 390.0e-6_fp REAL(fp), PARAMETER :: Ksp = 3.3e-9_fp REAL(fp), PARAMETER :: DHrKsp = -1200e+0_fp ! !LOCAL VARIABLES: REAL(fp) :: HCO2_T, Kc1_T, Kc2_T, Ksp_T ! !REMARKS: !================================================================= ! CaCO3_PRECIP begins here! !================================================================= !Temperature adjusted eq. constants !CO2 dissolution constants Hco2_T = Hco2*exp(Dhco2*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) Kc1_T = Kc1*exp(DhrKc1*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) Kc2_T = Kc2*exp(DhrKc2*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) ! CaCO3 eq constants Ksp_T = Ksp*exp(DhrKsp*((1.e+0_fp/T)-(1.e+0_fp/298.e+0_fp))) !Ca concentrations [M] fCa = Ksp_T * HPLUS * HPLUS / (Kc1_T * Kc2_T * Hco2_T * CO2 * P) !derivative d[Ca2+]/dH+ dCa = 2e+0_fp * Ksp_T * HPLUS / (Kc1_T * Kc2_T * Hco2_T * CO2 * P) END SUBROUTINE CaCO3_PRECIP !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: aqchem_so2 ! ! !DESCRIPTION: Subroutine AQCHEM\_SO2 computes the reaction rates for aqueous ! SO2 chemistry. (rjp, bmy, 10/31/02, 12/12/02) !\\ !\\ ! !INTERFACE: ! SUBROUTINE AQCHEM_SO2( I, J, L, LWC, T, P, & SO2, H2O2, O3, HCHO, Hplus, MnII, & FeIII, KaqH2O2, KaqO3, KaqO3_1, KaqO2, HSO3aq, & SO3aq, KaqHCHO, KaqHMS, KaqHMS2 ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: I, J, L ! Coordinates, for diagnostic use -- MSL REAL(fp), INTENT(IN) :: LWC ! Liq water content [m3/m3]=1.E-6*L [g/m3] REAL(fp), INTENT(IN) :: T ! Temperature [K] REAL(fp), INTENT(IN) :: P ! Dry air partial pressure [atm] REAL(fp), INTENT(IN) :: SO2 ! SO2 mixing ratio [v/v] REAL(fp), INTENT(IN) :: H2O2 ! H2O2 mixing ratio [v/v] REAL(fp), INTENT(IN) :: O3 ! O3 mixing ratio [v/v] REAL(fp), INTENT(IN) :: HPLUS ! Concentration of H+ ion (i.e. pH) [v/v] REAL(fp), INTENT(IN) :: MnII ! Concentration of MnII [mole/l] REAL(fp), INTENT(IN) :: FeIII ! Concentration of FeIII [mole/l] REAL(fp), INTENT(IN) :: HCHO ! HCHO mixing ratio [v/v] (jmm, 06/13/18) ! ! !OUTPUT PARAMETERS: ! REAL(fp), INTENT(OUT) :: KaqH2O2 ! Reaction rate for H2O2 REAL(fp), INTENT(OUT) :: KaqO3 ! Reaction rate for O3 REAL(fp), INTENT(OUT) :: KaqO3_1 ! only the SO3-- oxidation, (qjc, 04/10/16) REAL(fp), INTENT(OUT) :: KaqO2 ! Reaction rate for O2 (metal cat) REAL(fp), INTENT(OUT) :: KaqHCHO ! Reaction rate for SO2 and HCHO (jmm, 06/13/18) REAL(fp), INTENT(OUT) :: KaqHMS ! Reaction rate for HMS and OH- (jmm, 06/13/18) REAL(fp), INTENT(OUT) :: KaqHMS2 ! Reaction rate for HMS and OH(aq) (jmm, 06/28/18) REAL(fp), INTENT(OUT) :: HSO3aq ! Cloud bisulfite [mol/l] (qjc, 06/10/16) REAL(fp), INTENT(OUT) :: SO3aq ! Cloud sulfite [mol/l] (qjc, 06/10/16) ! ! !REMARKS: ! Chemical Reactions: ! ============================================================================ ! (R1) HSO3- + H2O2(aq) + H+ => SO4-- + 2H+ + H2O [Jacob, 1986] ! . ! d[S(VI)]/dt = k[H+][H2O2(aq)][HSO3-]/(1 + K[H+]) ! [Seinfeld and Pandis, 1998, page 366] ! . ! (R2) SO2(aq) + O3(aq) => ! HSO3- + O3(aq) => ! SO3-- + O3(aq) => ! [Jacob, 1986; Jacobson, 1999] ! . ! d[S(VI)]/dt = (k0[SO2(aq)] + k1[HSO3-] + K2[SO3--])[O3(aq)] ! [Seinfeld and Pandis, 1998, page 363] ! . ! (R3) HSO3- + HCHO(aq) => HMS ! SO3-- + HCHO(aq) => HMS + OH- ! [Moch et al., 2018; Olson and Hoffman, 1986] ! . ! d[S(HMS)]/dt = (k1[HSO3-] + k2[SO3--])[HCHO(aq)] ! [Seinfeld and Pandis, 2016, 309] ! ! (R4) HMS + OH- => HCHO(aq) + SO3-- ! [Moch et al., 2018; Deister et al., 1986] ! (note treated as 1st order in contrast to other reactions here) ! ! (R5) HMS + OH(aq) =(SO2,HO2,O2)=> HCHO + 2SO4-- + O2 + 3H+ + 2H2O ! [Jacob et al, 1986, Olson and Fessenden, 1992; ! Seinfeld and Pandis, 2016, Table 7A.7] ! Net reaction (R5): ! HMS + OH(aq) =(O2)=> SO5- + HCHO + H2O ! HO2 <=> H+ + O2- ! SO5- + O2- =(H2O)=> HSO5- + OH- + O2 ! SO2(aq) <=> HSO3- + H+ ! H+ + OH- <=> H2O ! HSO5- + HSO3- => 2SO4-- + 2H+ ! ! Reaction rates can be given as ! Ra = k [H2O2(ag)] [S(IV)] [mole/liter*s] OR ! Krate = Ra LWC R T / P [1/s] ! . ! Where: ! LWC = Liquid water content(g/m3)*10-6 [m3(water)/m3(gas)] ! R = 0.08205 (atm L / mol-K), Universal gas const. ! T = Temperature (K) ! P = Pressure (atm) ! . ! Procedure: ! ============================================================================ ! (a ) Given [SO2] which is assumed to be total SO2 (gas+liquid) in ! equilibrium between gas and liquid phase. ! . ! (b ) We can compute SO2(g) using Henry's law ! P(so2(g)) = Xg * [SO2] ! Xg = 1/(1 + Faq), Fraction of SO2 in gas ! where: ! Faq = Kheff * R * T * LWC, ! KHeff = Effective Henry's constant ! . ! (c ) Then Calculate Aquous phase, S[IV] concentrations ! S[IV] = Kheff * P(so2(g) in atm) [M] ! . ! (d ) The exact same procedure is applied to calculate H2O2(aq) and HCHO(aq) ! ! !REVISION HISTORY: ! (1 ) Updated by Rokjin Park (rjp, bmy, 12/12/02) ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! REAL(fp), PARAMETER :: R = 0.08205e+0_fp REAL(fp), PARAMETER :: dOH = 1.0e-19_fp ! [M cm^3 molec^-1] ! ! !LOCAL VARIABLES: ! REAL(fp) :: KH2O2, RA, KS1, KS2, HCSO2 REAL(fp) :: FHCSO2, XSO2G, SIV, HSO3, XSO2AQ REAL(fp) :: XHSO3, XSO3, KH1, HCH2O2, FHCH2O2 REAL(fp) :: XH2O2G, H2O2aq, KO0, KO1, KO2 REAL(fp) :: HCO3, XO3g, O3aq, XHCHOg, HCHCHO REAL(fp) :: FHCHCHO, KHCHO1, KHCHO2, KHMS, KW1 REAL(fp) :: KHC1, KHMS2 !================================================================= ! AQCHEM_SO2 begins here! ! ! Aqueous reaction rate ! HSO3- + H2O2 + H+ => SO4-- + 2H+ + H2O [Jacob, 1986] !================================================================= ! [Jacob, 1986] KH2O2 = 6.31e+14_fp * EXP( -4.76e+3_fp / T ) !! [Jacobson, 1999] !KH2O2 = 7.45e+0_fp7 * EXP( -15.96e+0_fp * ( (298.15/T) - 1.) ) / & ! ( 1.e+0_fp + 13.e+0_fp * Hplus) !================================================================= ! Equilibrium reaction of SO2-H2O ! SO2 + H2O = SO2(aq) (s0) ! SO2(ag) = HSO3- + H+ (s1) ! HSO3- = SO3-- + H+ (s2) ! ! Reaction constant for Aqueous chemistry -- No big difference ! between Jacob and Jacobson, choose one of them. ! ! Reaction rate dependent on Temperature is given ! H = A exp ( B (T./T - 1) ) ! ! For equilibrium reactions of SO2: ! As1 Bs1 As2 Bs2 ! Seinfeld 1.30d-2 7.02 6.60d-8 3.76 [1998] ! Jacob 1.30d-2 6.75 6.31d-8 5.05 [1986] ! Jacobson 1.71d-2 7.04 5.99d-8 3.74 [1996] !================================================================= Ks1 = 1.30e-2_fp * EXP( 6.75e+0_fp * ( 298.15e+0_fp / T - 1.e+0_fp ) ) Ks2 = 6.31e-8_fp * EXP( 5.05e+0_fp * ( 298.15e+0_fp / T - 1.e+0_fp ) ) ! SIV Fraction XSO2aq = 1.e+0_fp/(1.e+0_fp + Ks1/Hplus + Ks1*Ks2/(Hplus*Hplus)) XHSO3 = 1.e+0_fp/(1.e+0_fp + Hplus/Ks1 + Ks2/Hplus) XSO3 = 1.e+0_fp/(1.e+0_fp + Hplus/Ks2 + Hplus*Hplus/(Ks1*Ks2)) ! Henry's constant [mol/l-atm] and Effective Henry's constant for SO2 HCSO2 = 1.22e+0_fp * EXP( 10.55e+0_fp * ( 298.15e+0_fp / T - 1.e+0_fp) ) FHCSO2 = HCSO2 * (1.e+0_fp + (Ks1/Hplus) + (Ks1*Ks2 / (Hplus*Hplus))) XSO2g = 1.e+0_fp / ( 1.e+0_fp + ( FHCSO2 * R * T * LWC ) ) SIV = FHCSO2 * XSO2g * SO2 * P !HSO3 = Ks1 * HCSO2 * XSO2g * SO2 * P ! Effective HSO3aq for HOBr+HSO3 HSO3aq = SIV * XHSO3 ! unit: M (qjc, 06/10/16) ! Effective SO3aq for HOBr+SO3 SO3aq = SIV * XSO3 ! unit: M (qjc, 06/10/16) !================================================================= ! H2O2 equilibrium reaction ! H2O2 + H2O = H2O2.H2O ! H2O2.H2O = HO2- + H+ 1) ! ! Reaction rate dependent on Temperature is given ! H = A exp ( B (T./T - 1) ) ! ! For equilibrium reactions of SO2 ! Ah1 Bh1 ! Jacob 1.58E-12 -12.49 [1986] ! Jacobson 2.20E-12 -12.52 [1996] !================================================================= Kh1 = 2.20e-12_fp * EXP( -12.52e+0_fp * ( 298.15e+0_fp / T - 1.e+0_fp ) ) ! Henry's constant [mol/l-atm] and Effective Henry's constant for H2O2 ! [Seinfeld and Pandis, 1998] ! HCH2O2 = 7.45D4 * EXP( 24.48e+0_fp * ( 298.15e+0_fp / T - 1.e+0_fp) ) ! [Jacobson,1999] HCH2O2 = 7.45e+4_fp * EXP( 22.21e+0_fp * (298.15e+0_fp / T - 1.e+0_fp) ) FHCH2O2 = HCH2O2 * (1.e+0_fp + (Kh1 / Hplus)) XH2O2g = 1.e+0_fp / ( 1.e+0_fp + ( FHCH2O2 * R * T * LWC ) ) !H2O2aq = FHCH2O2 * XH2O2g * H2O2 * P ! Conversion rate from SO2 to SO4 via reaction with H2O2 KaqH2O2 = kh2o2 * Ks1 * FHCH2O2 * HCSO2 * XH2O2g * XSO2g & * P * LWC * R * T ! [v/v/s] !================================================================= ! Aqueous reactions of SO2 with O3 ! SO2(aq) + O3 => (0) ! HSO3- + O3 => SO4-- + H+ + O2 (1) ! SO3-- + O3 => SO4-- + O2 (2) ! ! NOTE ! [Jacob, 1986] ! KO1 = 3.49E12 * EXP( -4.83E3 / T ) ! KO2 = 7.32E14 * EXP( -4.03E3 / T ) ! ! [Jacobson, 1999] ! KO0 = 2.40E+4 ! KO1 = 3.70E+5 * EXP( -18.56 * ((298.15/T) - 1.)) ! KO2 = 1.50E+9 * EXP( -17.72 * ((298.15/T) - 1.)) ! ! Rate constants from Jacobson is larger than those of Jacob ! and results in faster conversion from S(IV) to S(VI) ! We choose Jacob 1) 2) and Jacobson 0) here !================================================================= KO0 = 2.40e+4_fp KO1 = 3.49e+12_fp * EXP( -4.83e+3_fp / T ) KO2 = 7.32e+14_fp * EXP( -4.03e+3_fp / T ) !================================================================= ! H2O2 equilibrium reaction ! O3 + H2O = O3.H2O ! HCO3 = 1.13E-2 * EXP( 8.51 * (298.15/T -1.) ), S & P ! HCO3 = 1.13E-2 * EXP( 7.72 * (298.15/T -1.) ), Jacobson !================================================================= ! Calculate Henry's Law constant for atmospheric temperature HCO3 = 1.13e-2_fp * EXP( 8.51e+0_fp * ( 298.15e+0_fp / T - 1.e+0_fp ) ) XO3g = 1.e+0_fp / ( 1.e+0_fp + ( HCO3 * R * T * LWC ) ) !O3aq = HCO3 * XO3g * O3 * P ! Conversion rate from SO2 to SO4 via reaction with O3 KaqO3 = (KO0*XSO2AQ + KO1*XHSO3 + KO2*XSO3) * FHCSO2 * XSO2g & * P * HCO3 * XO3g * LWC * R * T ! [v/v/s] !(qjc, 04/10/16) KaqO3_1 = KO2*XSO3 * FHCSO2 * XSO2g & * P * HCO3 * XO3g * LWC * R * T ! [v/v/s] ! =================================================================== ! Metal (Fe, Mn) catalyzed O2 oxidation (bec, 7/12/04) ! R = d[S(VI)]/dt = 750*[Mn(II)]*[S(IV)] + 2600*[Fe(III)]*[S(IV)] + ! 1.d10*[Mn(II)]*[Fe(III)]*[S(IV)] ! from Seinfeld and Pandis, 1998 pg. 371 ! S(IV) = HFCSO2 * XSO2*P*[SO2] ! R = KaqO2*[SO2] (v/v/s) ! KaqO2 = FHCSO2 * XSO2g * P * ! ((750*[Mn(II)])+(2600[Fe(III)])+(1.d10*[Mn(II)]*[Fe(III)])) ! in units of [M/s] ! KaqO2 = FHCSO2 * XSO2g * P * ! ((750*[Mn(II)])+(2600[Fe(III)])+(1.d10*[Mn(II)]*[Fe(III)])) * ! LWC * R * T/P ! in units of [v/v/s] ! =================================================================== ! Conversion rate from SO2 to SO4 via reaction with O2 (met cat) KaqO2 = FHCSO2 * XSO2g * ( (750e+0_fp * MnII ) + & ( 2600e+0_fp * FeIII ) + (1e+10_fp * MnII * FeIII ) ) * & LWC * R * T ! [s-1] !================================================================= ! Aqueous reactions of SO2 with HCHO ! HSO3- + HCHO(aq) => HMS + OH- (1) ! SO3-- + HCHO(aq) => HMS (2) ! ! NOTE: ! [Boyce and Hoffman, 1984] ! KHCHO1 = 7.9E2 * EXP( -16.435 * ((298.15/T) - 1.)) ! KHCHO2 = 2.5E7 * EXP( -6.037 * ((298.15/T) - 1.)) ! ! ! Aqueous reaction of HMS with OH- ! HMS + OH- => HCHO(aq) + SO3-- (3) ! ! NOTE: unclear where B (E/R) value in Seinfeld and Pandis from, ! but close to Deister. Using Seinfeld and Pandis value for now ! [Deister et al., 1986] ! KHMS = 3.6E3 * EXP( -22.027 * ((298.15/T) - 1.)) ! [Seinfeld and Pandis, 2016; Munger et al., 1986] ! KHMS = 3.6E3 * EXP( -15.09 * ((298.15/T) - 1.)) ! ! ! Aqueous reaction of HMS with OH(aq) ! HMS + OH(aq) =(SO2,O2,HO2)=> 2SO4-- + HCHO + O2 + 3H+ + 2H2O (4) ! ! NOTE: O2, SO2, and HO2 particpate in the stoichiometry but not kinetics. ! Assume steady state for sulfur radicals and the following reaction chain: ! HMS + OH(aq) =(O2)=> SO5- + HCHO + H2O [Olsen and Fessenden, 1992] ! HO2 <=> H+ + O2- [Jacob, 1986] ! SO5- + O2- =(H2O)=> HSO5- + OH- + O2 [Jacob, 1986] ! SO2(aq) <=> HSO3- + H+ ! H+ + OH- <=> H2O ! HSO5- + HSO3- => 2SO4-- + 2H+ [Jacob, 1986] ! Instead of assuming Henry's law for OH, use the parameter from ! Jacob et al, 2005 that relates gas phase OH to aqueous phase OH ! accounting for the HO2(aq)/O2- cylcing in cloud droplets: ! dOH = 1E-19 [M cm^3 molec^-1] ! [Olson and Fessenden, 1992] ! KHMS2 = 6.2E8 * EXP( -5.03 * ((298.15/T) -1.)) ! ! ! (jmm, 06/28/18) !================================================================= KHCHO1 = 7.9e+2_fp * EXP( -16.44e+0_fp & ! L/mol/s * ( 298.15e+0_fp / T - 1.e+0_fp ) ) KHCHO2 = 2.5e+7_fp * EXP( -6.04e+0_fp & ! L/mol/s * ( 298.15e+0_fp / T - 1.e+0_fp ) ) KHMS = 3.6e+3_fp * EXP( -15.09e+0_fp & ! L/mol/s * ( 298.15e+0_fp / T - 1.e+0_fp ) ) KHMS2 = 2.65e+8_fp * EXP( -5.03e+0_fp & ! L/mol/s * ( 298.15e+0_fp / T - 1.e+0_fp ) ) !================================================================= ! HCHO equilibrium reaction ! HCHO(aq) + H2O = HCH(OH)2 ! ! Reaction rate dependent on Temperature is given ! H = A exp ( B (T./T - 1) ) ! ! For equilibrium reactions of HCHO ! Ah1 Bh1 ! Sienfeld and Pandis 2.53E3 13.48 [2016] ! ! (jmm, 06/15/18) !================================================================= Khc1 = 2.53e+3_fp * EXP( 13.48e+0_fp & * ( 298.15e+0_fp / T - 1.e+0_fp ) ) !================================================================= ! H2O equilibrium reaction ! H2O = H+ + OH- ! ! Reaction rate dependent on Temperature is given ! H = A exp ( B (T./T - 1) ) ! ! For equilibrium reactions of HCHO ! Ah1 Bh1 ! Sienfeld and Pandis 1E-14 -22.51 [2016] ! ! (jmm, 06/15/18) !================================================================= Kw1 = 1e-14_fp * EXP( -22.51e+0_fp & * ( 298.15e+0_fp / T - 1.e+0_fp ) ) ! Henry's constant [mol/l-atm] and Effective Henry's constant for HCHO ! [Seinfeld and Pandis, 2016] ! HCHCHO = 2.5 * EXP( 21.6e+0_fp * ( 298.15e+0_fp / T - 1.e+0_fp) ) ! (jmm, -6/15/18) HCHCHO = 2.5e+0_fp * EXP( 21.6e+0_fp & * (298.15e+0_fp / T - 1.e+0_fp) ) FHCHCHO = HCHCHO * (1.e+0_fp + Khc1 ) XHCHOg = 1.e+0_fp / ( 1.e+0_fp + ( FHCHCHO * R * T * LWC ) ) ! Conversion rate from SO2 to HMS via reaction with HCHO ! (jmm, 06/15/18) KaqHCHO = (KHCHO1*XHSO3 + KHCHO2*XSO3) * FHCSO2 * XSO2G & * P * HCHCHO * XHCHOg * LWC * R * T ! [v/v/s] ! Conversion rate from HMS to SO2 via reaction with OH- ! (jmm, 06/15/18; MSL 1/18/22) KaqHMS = KHMS * ( Kw1 / Hplus ) * 0.7e0_fp ! 70% scavenged by clouds; units [1/s] ! Conversion rate from HMS to SO42- & HCHO via reaction with OH(aq) ! (jmm, 06/28/18; MSL, 01/14/22) KaqHMS2 = KHMS2 * dOH * 0.7e0_fp ! 70% scavenged by clouds; units [cm3/mcl/s] END SUBROUTINE AQCHEM_SO2 !EOC SUBROUTINE SET_2R_CLD( T, LWC, FC, HPLUS, CNVFAC, P, SO2, H2O2, KaqH2O2 ) REAL(fp), PARAMETER :: R = 0.08205e+0_fp REAL(FP) :: KH2O2, KS1, KS2, T, XSO2aq, LWC, FC REAL(FP) :: XHSO3, XSO3, HCSO2, HPLUS, FHCSO2 REAL(FP) :: XSO2g, KH1, HCH2O2, FHCH2O2, XH2O2g REAL(FP) :: KaqH2O2 REAL(FP) :: SO2, H2O2, A, B, KAB, CNVFAC, P ! [Jacob, 1986] KH2O2 = 6.31e+14_fp * EXP( -4.76e+3_fp / T ) Ks1 = 1.30e-2_fp * EXP( 6.75e+0_fp * ( 298.15e+0_fp / T - 1.e+0_fp ) ) Ks2 = 6.31e-8_fp * EXP( 5.05e+0_fp * ( 298.15e+0_fp / T - 1.e+0_fp ) ) ! SIV Fraction XSO2aq = 1.e+0_fp/(1.e+0_fp + Ks1/Hplus + Ks1*Ks2/(Hplus*Hplus)) XHSO3 = 1.e+0_fp/(1.e+0_fp + Hplus/Ks1 + Ks2/Hplus) XSO3 = 1.e+0_fp/(1.e+0_fp + Hplus/Ks2 + Hplus*Hplus/(Ks1*Ks2)) ! Henry's constant [mol/l-atm] and Effective Henry's constant for SO2 HCSO2 = 1.22e+0_fp * EXP( 10.55e+0_fp * ( 298.15e+0_fp / T - 1.e+0_fp) ) FHCSO2 = HCSO2 * (1.e+0_fp + (Ks1/Hplus) + (Ks1*Ks2 / (Hplus*Hplus))) XSO2g = 1.e+0_fp / ( 1.e+0_fp + ( FHCSO2 * R * T * LWC ) ) Kh1 = 2.20e-12_fp * EXP( -12.52e+0_fp * ( 298.15e+0_fp / T - 1.e+0_fp ) ) ! [Jacobson,1999] HCH2O2 = 7.45e+4_fp * EXP( 22.21e+0_fp * (298.15e+0_fp / T - 1.e+0_fp) ) FHCH2O2 = HCH2O2 * (1.e+0_fp + (Kh1 / Hplus)) XH2O2g = 1.e+0_fp / ( 1.e+0_fp + ( FHCH2O2 * R * T * LWC ) ) ! KaqH2O2 = kh2o2 * Ks1 * FHCH2O2 * HCSO2 * XH2O2g * XSO2g & A = SO2 B = H2O2 KAB = kh2o2 * Ks1 * FHCH2O2 * HCSO2 * XH2O2g * XSO2g & * P * LWC * R * T * CNVFAC ! cm2/mcl/s END SUBROUTINE SET_2R_CLD FUNCTION CloudHet2R( A, B, FC, KAB ) RESULT( KX ) ! ! !DESCRIPTION: Function CloudHet2R calculates the effective, grid-average reaction rate ! for bimolecular reactions occuring in a partially cloudy grid cell. ! The function uses the approximate "entrainment limited uptake" equations of ! Holmes (2022). ! ! Holmes, C.D. (2022) Technical Note: Entrainment-limited kinetics of bimolecular ! reactions in clouds, Atmos. Chem. Phys., https://doi.org/10.5194/acp-2021-752 ! ! !USES ! USE rateLawUtilFuncs ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: FC ! Cloud Fraction [0-1] REAL(fp), INTENT(IN) :: A, B ! Reactant Abundances, units must be consistent with KAB REAL(fp), INTENT(IN) :: KAB ! Bimolecular Rate Constant ! ! !RETURN VALUE: ! REAL(fp) :: KX ! Grid-average reaction rate, cm3/mcl/s ! ! !REVISION HISTORY: ! 23 Aug 2018 - C. D. Holmes - Initial version ! 15 May 2021 - M. Long - Revision for two reactants ! 27 Jun 2022 - C.D. Holmes - Simplified and added comments ! See https://github.com/geoschem/geos-chem for complete history !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! Residence time of air in clouds, s REAL(FP), PARAMETER :: TAUC = 3600.0_fp ! ! !LOCAL VARIABLES: ! REAL(FP) :: minAB !EOC !------------------------------------------------------------------------------ ! ! Eq. 7b from Holmes (2022) minAB = min( A, B ) KX = SafeDiv( FC * kAB * minAB / tauc, minAB / tauc + (1.0_fp - FC ) * kAB * A * B, 0.0_fp ) END FUNCTION CloudHet2R !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: CloudHet1R ! ! !DESCRIPTION: Function CloudHet calculates the loss frequency (1/s) of gas ! species due to heterogeneous chemistry on clouds in a partially cloudy grid ! cell. The function uses the "entrainment limited uptake" equations of ! Holmes et al. (2019). Both liquid and ice water clouds are treated. ! ! For gasses that are that are consumed in multiple aqueous reactions with ! different products, CloudHet can provide the loss frequency for each reaction ! branch using the optional branch ratios (branchLiq, branchIce) as arguments. ! ! Holmes, C.D., Bertram, T. H., Confer, K. L., Ronan, A. C., Wirks, C. K., ! Graham, K. A., Shah, V. (2019) The role of clouds in the tropospheric ! NOx cycle: a new modeling approach for cloud chemistry and its global ! implications, Geophys. Res. Lett. 46, 4980-4990, ! https://doi.org/10.1029/2019GL081990 !\\ !\\ ! !INTERFACE: ! FUNCTION CloudHet1R( fc, rate ) RESULT( kHet ) ! ! !USES: ! USE rateLawUtilFuncs ! ! !INPUT PARAMETERS: ! REAL(fp), INTENT(IN) :: fc ! Cloud Fraction [0-1] REAL(fp), INTENT(IN) :: rate ! 1st order reaction rate (1/s) ! ! !RETURN VALUE: ! REAL(fp) :: kHet ! Grid-average loss frequency, 1/s ! ! !REVISION HISTORY: ! 23 Aug 2018 - C. D. Holmes - Initial version ! 25 May 2021 - M. S. Long - Modified for 1st order aqueous reaction ! where diffusion is not limiting ! See https://github.com/geoschem/geos-chem for complete history !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! Residence time of air in clouds, s real(fp), parameter :: tauc = 3600.0_fp ! ! !LOCAL VARIABLES: ! real(fp) :: kI, gam real(fp) :: kk, ff, xx ! !------------------------------------------------------------------------------ ! ! If cloud fraction < 0.0001 (0.01%) or there is zero cloud surface area, ! then return zero uptake if ( ( fc < 0.0001_fp ) .or. ( rate <= 0.0_fp ) ) then kHet = 0.0_fp return endif !------------------------------------------------------------------------ ! Loss frequency inside cloud ! ! Assume both water and ice phases are inside the same cloud, so mass ! transport to both phases works in parallel (additive) !------------------------------------------------------------------------ ! initialize loss, 1/s kI = rate ! total loss rate of a gas in cloud !------------------------------------------------------------------------ ! Grid-average loss frequency ! ! EXACT expression for entrainment-limited uptake !------------------------------------------------------------------------ ! Ratio (in cloud) of heterogeneous loss to detrainment, s/s kk = kI * tauc ! Ratio of volume inside to outside cloud ! ff has a range [0,+inf], so cap it at 1e30 ff = SafeDiv( fc, (1e0_fp - fc), 1e30_fp ) ff = MIN( ff, 1.0e30_fp ) ! Ratio of mass inside to outside cloud ! xx has range [0,+inf], but ff is capped at 1e30, so shouldn't overflow xx = ( ff - kk - 1.0_fp ) / 2.0_fp + & sqrt( 1.0_fp + ff*ff + kk*kk + & 2.0_fp*ff + 2.0_fp*kk - 2.0_fp*ff*kk ) / 2.0_fp ! Overall heterogeneous loss rate, grid average, 1/s ! kHet = kI * xx / ( 1d0 + xx ) ! Since the expression ( xx / (1+xx) ) may behave badly when xx>>1, ! use the equivalent 1 / (1 + 1/x) with an upper bound on 1/x kHet = kI / ( 1e0_fp + SafeDiv( 1e0_fp, xx, 1e30_fp ) ) END FUNCTION CloudHet1R !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: fullchem_InitSulfurChem ! ! !DESCRIPTION: Stores species indices in module variables for fast lookup. !\\ !\\ ! !INTERFACE: ! SUBROUTINE fullchem_InitSulfurChem( RC ) ! ! !USES: ! USE ErrCode_Mod USE State_Chm_Mod, ONLY : Ind_ ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 02 Jun 2000 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: I, J, N ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc !================================================================= ! INIT_SULFATE begins here! !================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = & ' -> at fullchem_InitSulfurChem (in KPP/fullchem/fullchem_SulfurChemFuncs.F90' ! Define flags for species ID's id_ACTA = Ind_( 'ACTA' ) id_CH2O = Ind_( 'CH2O' ) id_DMS = Ind_( 'DMS' ) id_DSTbin1 = Ind_( 'DSTbin1' ) id_DSTbin2 = Ind_( 'DSTbin2' ) id_DSTbin3 = Ind_( 'DSTbin3' ) id_DSTbin4 = Ind_( 'DSTbin4' ) id_DSTbin5 = Ind_( 'DSTbin5' ) id_DSTbin6 = Ind_( 'DSTbin6' ) id_DSTbin7 = Ind_( 'DSTbin7' ) id_H2O2 = Ind_( 'H2O2' ) id_HCL = Ind_( 'HCL' ) id_HCOOH = Ind_( 'HCOOH' ) id_HMS = Ind_( 'HMS' ) id_HNO3 = Ind_( 'HNO3' ) id_MSA = Ind_( 'MSA' ) id_NH3 = Ind_( 'NH3' ) id_NH4 = Ind_( 'NH4' ) id_NIT = Ind_( 'NIT' ) id_NITs = Ind_( 'NITs' ) id_O3 = Ind_( 'O3' ) id_OH = Ind_( 'OH' ) id_pFe = Ind_( 'pFe' ) id_SALA = Ind_( 'SALA' ) ! Sea salt aerosol (fine mode ) id_SALAAL = Ind_( 'SALAAL' ) ! Sea salt alkalinity (fine mode ) id_SALACL = Ind_( 'SALACL' ) ! Cl- on sea salt (fine mode ) id_SALC = Ind_( 'SALC' ) ! Sea salt aerosol (coarse mode) id_SALCAL = Ind_( 'SALCAL' ) ! Sea salt alkalinity (coarse mode) id_SALCCL = Ind_( 'SALCCL' ) ! Cl- on sea salt (coarse mode) id_SO2 = Ind_( 'SO2' ) id_SO4 = Ind_( 'SO4' ) id_SO4s = Ind_( 'SO4s' ) END SUBROUTINE fullchem_InitSulfurChem !EOC END MODULE fullchem_SulfurChemFuncs ================================================ FILE: KPP/fullchem/gckpp_Function.F90 ================================================ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! The ODE Function of Chemical Model File ! ! Generated by KPP-3.2.0 symbolic chemistry Kinetics PreProcessor ! (https:/github.com/KineticPreProcessor/KPP ! KPP is distributed under GPL, the general public licence ! (http://www.gnu.org/copyleft/gpl.html) ! (C) 1995-1997, V. Damian & A. Sandu, CGRER, Univ. Iowa ! (C) 1997-2022, A. Sandu, Michigan Tech, Virginia Tech ! With important contributions from: ! M. Damian, Villanova University, Philadelphia, PA, USA ! R. Sander, Max-Planck Institute for Chemistry, Mainz, Germany ! M. Long, Renaissance Fiber, LLC, North Carolina, USA ! H. Lin, Harvard University, Cambridge, MA, USA ! R. Yantosca, Harvard University, Cambridge, MA, USA ! ! File : gckpp_Function.F90 ! Equation file : gckpp.kpp ! Output root filename : gckpp ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MODULE gckpp_Function USE gckpp_Global, only : DO_FUN USE gckpp_Parameters IMPLICIT NONE ! A - Rate for each equation REAL(kind=dp) :: A(NREACT) !$OMP THREADPRIVATE( A ) CONTAINS ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Fun - time derivatives of variables - Aggregate form ! Arguments : ! V - Concentrations of variable species (local) ! F - Concentrations of fixed species (local) ! RCT - Rate constants (local) ! Vdot - Time derivative of variable species concentrations ! Aout - Optional argument to return equation rate constants ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Fun ( V, F, RCT, Vdot, Aout ) ! V - Concentrations of variable species (local) REAL(kind=dp) :: V(NVAR) ! F - Concentrations of fixed species (local) REAL(kind=dp) :: F(NFIX) ! RCT - Rate constants (local) REAL(kind=dp) :: RCT(NREACT) ! Vdot - Time derivative of variable species concentrations REAL(kind=dp) :: Vdot(NVAR) ! Aout - Optional argument to return equation rate constants REAL(kind=dp), OPTIONAL :: Aout(NREACT) ! Computation of equation rates A(1) = RCT(1)*V(179)*V(341)*V(348) A(2) = RCT(2)*V(179)*V(339) A(3) = RCT(3)*V(179)*V(327) A(4) = RCT(4)*V(166)*V(341)*V(348) A(5) = RCT(5)*V(166)*V(339) A(6) = RCT(6)*V(166)*V(327) A(7) = RCT(7)*V(264)*V(348) A(8) = RCT(8)*V(341)*V(348) A(9) = RCT(9)*V(348) A(10) = RCT(10)*V(325)*V(348) A(11) = RCT(11)*V(89) A(12) = RCT(12)*V(89)*V(345)*V(348) A(13) = RCT(13)*V(341)*V(346) A(14) = RCT(14)*V(341)*V(345) A(15) = RCT(15)*V(337)*V(341) A(16) = RCT(16)*V(335)*V(341) A(17) = RCT(17)*V(328)*V(341) A(18) = RCT(18)*V(345)*V(345) A(19) = RCT(19)*V(345)*V(345) A(20) = RCT(20)*V(337)*V(345) A(21) = RCT(21)*V(264)*V(345) A(22) = RCT(22)*V(337)*V(346) A(23) = RCT(23)*V(337)*V(337) A(24) = RCT(24)*V(329)*V(345) A(25) = RCT(25)*V(228)*V(345) A(26) = RCT(26)*V(328)*V(346) A(27) = RCT(27)*V(328)*V(346) A(28) = RCT(28)*V(328)*V(337) A(29) = RCT(29)*V(328)*V(328) A(30) = RCT(30)*V(328)*V(328) A(31) = RCT(31)*V(328)*V(345) A(32) = RCT(32)*V(164)*V(345) A(33) = RCT(33)*V(244)*V(345) A(34) = RCT(34)*V(325)*V(345) A(35) = RCT(35)*V(335)*V(345) A(36) = RCT(36)*V(327)*V(345) A(37) = RCT(37)*V(345)*V(346) A(38) = RCT(38)*V(239)*V(345) A(39) = RCT(39)*V(335)*V(337) A(40) = RCT(40)*V(108) A(41) = RCT(41)*V(108)*V(345) A(42) = RCT(42)*V(337)*V(351) A(43) = RCT(43)*V(346)*V(351) A(44) = RCT(44)*V(345)*V(351) A(45) = RCT(45)*V(335)*V(351) A(46) = RCT(46)*V(214) A(47) = RCT(47)*V(265)*V(345) A(48) = RCT(48)*V(282)*V(345) A(49) = RCT(49)*V(335)*V(351) A(50) = RCT(50)*V(325)*V(351) A(51) = RCT(51)*V(326)*V(345) A(52) = RCT(52)*V(326)*V(351) A(53) = RCT(53)*V(324)*V(335) A(54) = RCT(54)*V(139) A(55) = RCT(55)*V(139)*V(345) A(56) = RCT(56)*V(324)*V(346) A(57) = RCT(57)*V(183)*V(345) A(58) = RCT(58)*V(296)*V(346) A(59) = RCT(59)*V(296)*V(346) A(60) = RCT(60)*V(315)*V(346) A(61) = RCT(61)*V(141)*V(345) A(62) = RCT(62)*V(141)*V(345) A(63) = RCT(63)*V(321)*V(346) A(64) = RCT(64)*V(321)*V(346) A(65) = RCT(65)*V(260)*V(346) A(66) = RCT(66)*V(69)*V(345) A(67) = RCT(67)*V(69)*V(351) A(68) = RCT(68)*V(178)*V(346) A(69) = RCT(69)*V(178)*V(346) A(70) = RCT(70)*V(178)*V(337) A(71) = RCT(71)*V(98)*V(345) A(72) = RCT(72)*V(196)*V(345) A(73) = RCT(73)*V(165)*V(346) A(74) = RCT(74)*V(165)*V(337) A(75) = RCT(75)*V(140)*V(345) A(76) = RCT(76)*V(140)*V(351) A(77) = RCT(77)*V(140)*V(341) A(78) = RCT(78)*V(212)*V(346) A(79) = RCT(79)*V(212)*V(337) A(80) = RCT(80)*V(127)*V(345) A(81) = RCT(81)*V(233)*V(345) A(82) = RCT(82)*V(132)*V(346) A(83) = RCT(83)*V(132)*V(337) A(84) = RCT(84)*V(197)*V(337) A(85) = RCT(85)*V(197)*V(346) A(86) = RCT(86)*V(197)*V(335) A(87) = RCT(87)*V(126) A(88) = RCT(88)*V(126)*V(345) A(89) = RCT(89)*V(142)*V(345) A(90) = RCT(90)*V(300)*V(346) A(91) = RCT(91)*V(300)*V(346) A(92) = RCT(92)*V(249)*V(346) A(93) = RCT(93)*V(319)*V(346) A(94) = RCT(94)*V(319)*V(346) A(95) = RCT(95)*V(318)*V(346) A(96) = RCT(96)*V(313)*V(346) A(97) = RCT(97)*V(320)*V(346) A(98) = RCT(98)*V(323)*V(346) A(99) = RCT(99)*V(323)*V(346) A(100) = RCT(100)*V(250)*V(346) A(101) = RCT(101)*V(142)*V(351) A(102) = RCT(102)*V(251)*V(345) A(103) = RCT(103)*V(279)*V(345) A(104) = RCT(104)*V(283)*V(345) A(105) = RCT(105)*V(298)*V(345) A(106) = RCT(106)*V(322)*V(335) A(107) = RCT(107)*V(124) A(108) = RCT(108)*V(124)*V(345) A(109) = RCT(109)*V(322)*V(346) A(110) = RCT(110)*V(298)*V(351) A(111) = RCT(111)*V(295)*V(345) A(112) = RCT(112)*V(321)*V(328) A(113) = RCT(113)*V(260)*V(328) A(114) = RCT(114)*V(319)*V(337) A(115) = RCT(115)*V(318)*V(337) A(116) = RCT(116)*V(300)*V(337) A(117) = RCT(117)*V(249)*V(337) A(118) = RCT(118)*V(313)*V(337) A(119) = RCT(119)*V(320)*V(337) A(120) = RCT(120)*V(323)*V(337) A(121) = RCT(121)*V(250)*V(337) A(122) = RCT(122)*V(292)*V(345) A(123) = RCT(123)*V(320)*V(346) A(124) = RCT(124)*V(246)*V(335) A(125) = RCT(125)*V(113) A(126) = 4.51e-12*V(113)*V(345) A(127) = RCT(127)*V(246)*V(346) A(128) = RCT(128)*V(246)*V(337) A(129) = RCT(129)*V(296)*V(328) A(130) = RCT(130)*V(315)*V(328) A(131) = RCT(131)*V(292)*V(351) A(132) = RCT(132)*V(319)*V(328) A(133) = RCT(133)*V(318)*V(328) A(134) = RCT(134)*V(300)*V(328) A(135) = RCT(135)*V(249)*V(328) A(136) = RCT(136)*V(313)*V(328) A(137) = RCT(137)*V(320)*V(328) A(138) = RCT(138)*V(323)*V(328) A(139) = RCT(139)*V(250)*V(328) A(140) = RCT(140)*V(156)*V(345) A(141) = RCT(141)*V(188)*V(345) A(142) = RCT(142)*V(296)*V(296) A(143) = RCT(143)*V(315)*V(315) A(144) = RCT(144)*V(296)*V(337) A(145) = RCT(145)*V(315)*V(337) A(146) = RCT(146)*V(321)*V(337) A(147) = RCT(147)*V(260)*V(337) A(148) = RCT(148)*V(322)*V(337) A(149) = RCT(149)*V(290)*V(345) A(150) = RCT(150)*V(290)*V(341) A(151) = RCT(151)*V(306)*V(345) A(152) = RCT(152)*V(306)*V(345) A(153) = RCT(153)*V(306)*V(345) A(154) = RCT(154)*V(306)*V(351) A(155) = RCT(155)*V(213)*V(335) A(156) = RCT(156)*V(114) A(157) = RCT(157)*V(213)*V(346) A(158) = RCT(158)*V(213)*V(337) A(159) = RCT(159)*V(213)*V(351) A(160) = RCT(160)*V(114)*V(345) A(161) = RCT(161)*V(72)*V(345) A(162) = RCT(162)*V(290)*V(351) A(163) = RCT(163)*V(270)*V(345) A(164) = RCT(164)*V(294)*V(345) A(165) = RCT(165)*V(270)*V(351) A(166) = RCT(166)*V(294)*V(351) A(167) = RCT(167)*V(307)*V(345) A(168) = RCT(168)*V(307)*V(345) A(169) = RCT(169)*V(125)*V(345) A(170) = RCT(170)*V(118)*V(345) A(171) = RCT(171)*V(99)*V(345) A(172) = RCT(172)*V(100)*V(345) A(173) = RCT(173)*V(97)*V(345) A(174) = RCT(174)*V(102)*V(345) A(175) = RCT(175)*V(155)*V(345) A(176) = RCT(176)*V(123)*V(345) A(177) = RCT(177)*V(24)*V(345) A(178) = RCT(178)*V(92)*V(345) A(179) = RCT(179)*V(183)*V(351) A(180) = RCT(180)*V(324)*V(324) A(181) = RCT(181)*V(324)*V(328) A(182) = RCT(182)*V(319)*V(324) A(183) = RCT(183)*V(300)*V(324) A(184) = RCT(184)*V(313)*V(324) A(185) = RCT(185)*V(320)*V(324) A(186) = RCT(186)*V(323)*V(324) A(187) = RCT(187)*V(318)*V(324) A(188) = RCT(188)*V(249)*V(324) A(189) = RCT(189)*V(250)*V(324) A(190) = RCT(190)*V(296)*V(324) A(191) = RCT(191)*V(315)*V(324) A(192) = RCT(192)*V(260)*V(324) A(193) = RCT(193)*V(321)*V(324) A(194) = RCT(194)*V(322)*V(324) A(195) = RCT(195)*V(322)*V(328) A(196) = RCT(196)*V(351)*V(351) A(197) = RCT(197)*V(328)*V(335) A(198) = RCT(198)*V(80) A(199) = RCT(199)*V(94)*V(345) A(200) = RCT(200)*V(94)*V(345) A(201) = RCT(201)*V(94)*V(351) A(202) = RCT(202)*V(345)*V(348) A(203) = RCT(203)*V(341)*V(342) A(204) = RCT(204)*V(337)*V(347) A(205) = RCT(205)*V(337)*V(342) A(206) = RCT(206)*V(345)*V(352) A(207) = RCT(207)*V(347)*V(347) A(208) = RCT(208)*V(347)*V(347) A(209) = RCT(209)*V(346)*V(347) A(210) = RCT(210)*V(218)*V(342) A(211) = RCT(211)*V(148)*V(345) A(212) = RCT(212)*V(316)*V(343) A(213) = RCT(213)*V(343)*V(352) A(214) = RCT(214)*V(345)*V(347) A(215) = RCT(215)*V(342)*V(351) A(216) = RCT(216)*V(325)*V(342) A(217) = RCT(217)*V(326)*V(342) A(218) = RCT(218)*V(295)*V(342) A(219) = RCT(219)*V(183)*V(342) A(220) = RCT(220)*V(141)*V(342) A(221) = RCT(221)*V(335)*V(342) A(222) = RCT(222)*V(335)*V(347) A(223) = RCT(223)*V(81)*V(345) A(224) = RCT(224)*V(78)*V(345) A(225) = RCT(225)*V(105)*V(345) A(226) = RCT(226)*V(334)*V(336) A(227) = RCT(227)*V(334)*F(2) A(228) = RCT(228)*V(334)*F(3) A(229) = RCT(229)*V(334)*F(1) A(230) = RCT(230)*V(63)*V(334) A(231) = RCT(231)*V(228)*V(334) A(232) = RCT(232)*V(343)*F(3) A(233) = RCT(233)*V(341)*V(343) A(234) = RCT(234)*V(345)*F(1) A(235) = RCT(235)*V(343)*V(345) A(236) = RCT(236)*V(337)*V(343) A(237) = RCT(237)*V(334)*V(341) A(238) = RCT(238)*V(68)*V(343) A(239) = RCT(239)*V(68)*V(345) A(240) = RCT(240)*V(335)*V(343) A(241) = RCT(241)*V(343)*V(351) A(242) = RCT(242)*V(343)*V(346) A(243) = RCT(243)*V(335)*V(343) A(244) = RCT(244)*V(264)*V(343) A(245) = RCT(245)*V(217)*F(3) A(246) = RCT(246)*V(217)*V(341) A(247) = RCT(247)*V(217)*V(337) A(248) = RCT(248)*V(67)*F(3) A(249) = RCT(249)*V(67)*V(346) A(250) = RCT(250)*V(67)*V(335) A(251) = RCT(251)*V(343)*V(347) A(252) = RCT(252)*V(325)*V(343) A(253) = RCT(253)*V(334)*V(339) A(254) = RCT(254)*V(334)*V(352) A(255) = RCT(255)*V(245)*V(334) A(256) = RCT(256)*V(46)*V(334) A(257) = RCT(257)*V(181)*V(334) A(258) = RCT(258)*V(105)*V(334) A(259) = RCT(259)*V(78)*V(334) A(260) = RCT(260)*V(81)*V(334) A(261) = RCT(261)*V(87)*V(334) A(262) = RCT(262)*V(47)*V(334) A(263) = RCT(263)*V(48)*V(334) A(264) = RCT(264)*V(61)*V(334) A(265) = RCT(265)*V(53)*V(334) A(266) = RCT(266)*V(85)*V(334) A(267) = RCT(267)*V(86)*V(334) A(268) = RCT(268)*V(84)*V(334) A(269) = RCT(269)*V(49)*V(334) A(270) = RCT(270)*V(50)*V(334) A(271) = RCT(271)*V(51)*V(334) A(272) = RCT(272)*V(54)*V(334) A(273) = RCT(273)*V(245)*V(345) A(274) = RCT(274)*V(328)*V(338) A(275) = RCT(275)*V(338)*V(345) A(276) = RCT(276)*V(338)*V(345) A(277) = RCT(277)*V(120)*V(345) A(278) = RCT(278)*V(76)*V(345) A(279) = RCT(279)*V(339)*V(345) A(280) = RCT(280)*V(333)*V(345) A(281) = RCT(281)*V(297)*V(345) A(282) = RCT(282)*V(317)*V(345) A(283) = RCT(283)*V(181)*V(345) A(284) = RCT(284)*V(79)*V(345) A(285) = RCT(285)*V(75)*V(345) A(286) = RCT(286)*V(43)*V(345) A(287) = RCT(287)*V(87)*V(345) A(288) = RCT(288)*V(85)*V(345) A(289) = RCT(289)*V(86)*V(345) A(290) = RCT(290)*V(84)*V(345) A(291) = RCT(291)*V(228)*V(340) A(292) = RCT(292)*V(325)*V(340) A(293) = RCT(293)*V(340)*V(341) A(294) = RCT(294)*V(340)*F(1) A(295) = RCT(295)*V(264)*V(340) A(296) = RCT(296)*V(337)*V(340) A(297) = RCT(297)*V(337)*V(340) A(298) = RCT(298)*V(338)*V(343) A(299) = RCT(299)*V(337)*V(338) A(300) = RCT(300)*V(338)*V(346) A(301) = RCT(301)*V(335)*V(338) A(302) = RCT(302)*V(338)*V(338) A(303) = RCT(303)*V(338)*V(338) A(304) = RCT(304)*V(338)*V(338) A(305) = RCT(305)*V(340)*F(3) A(306) = RCT(306)*V(110) A(307) = RCT(307)*V(338)*V(338) A(308) = RCT(308)*V(76) A(309) = RCT(309)*V(110)*V(340) A(310) = RCT(310)*V(338)*V(347) A(311) = RCT(311)*V(338)*V(347) A(312) = RCT(312)*V(338)*V(347) A(313) = RCT(313)*V(317)*V(343) A(314) = RCT(314)*V(317)*V(340) A(315) = RCT(315)*V(181)*V(340) A(316) = RCT(316)*V(79)*V(340) A(317) = RCT(317)*V(75)*V(340) A(318) = RCT(318)*V(265)*V(340) A(319) = RCT(319)*V(328)*V(340) A(320) = RCT(320)*V(164)*V(340) A(321) = RCT(321)*V(183)*V(340) A(322) = RCT(322)*V(296)*V(340) A(323) = RCT(323)*V(315)*V(340) A(324) = RCT(324)*V(282)*V(340) A(325) = RCT(325)*V(156)*V(340) A(326) = RCT(326)*V(283)*V(340) A(327) = RCT(327)*V(141)*V(340) A(328) = RCT(328)*V(141)*V(340) A(329) = RCT(329)*V(295)*V(340) A(330) = RCT(330)*V(276)*V(340) A(331) = RCT(331)*V(142)*V(340) A(332) = RCT(332)*V(290)*V(340) A(333) = RCT(333)*V(290)*V(342) A(334) = RCT(334)*V(331)*V(346) A(335) = RCT(335)*V(62)*V(62) A(336) = RCT(336)*V(331)*V(335) A(337) = RCT(337)*V(252) A(338) = RCT(338)*V(252)*V(252) A(339) = RCT(339)*V(170)*V(351) A(340) = RCT(340)*V(284)*V(335) A(341) = RCT(341)*V(332) A(342) = RCT(342)*V(331)*V(332) A(343) = RCT(343)*V(331)*V(347) A(344) = RCT(344)*V(284)*V(347) A(345) = RCT(345)*V(96)*V(284) A(346) = RCT(346)*V(96)*V(96) A(347) = RCT(347)*V(42) A(348) = RCT(348)*V(96)*V(346) A(349) = RCT(349)*V(284)*V(338) A(350) = RCT(350)*V(331)*V(341) A(351) = RCT(351)*V(331)*V(337) A(352) = RCT(352)*V(170)*V(345) A(353) = RCT(353)*V(73)*V(345) A(354) = RCT(354)*V(330)*V(345) A(355) = RCT(355)*V(284)*V(337) A(356) = RCT(356)*V(284)*V(346) A(357) = RCT(357)*V(284)*V(284) A(358) = RCT(358)*V(44) A(359) = RCT(359)*V(52)*V(345) A(360) = RCT(360)*V(261)*V(345) A(361) = RCT(361)*V(247)*V(345) A(362) = RCT(362)*V(312)*V(329) A(363) = RCT(363)*V(312)*V(346) A(364) = RCT(364)*V(312)*V(335) A(365) = RCT(365)*V(312)*V(336) A(366) = RCT(366)*V(312)*V(336)*V(336) A(367) = RCT(367)*V(312)*V(341) A(368) = RCT(368)*V(312)*V(348) A(369) = RCT(369)*V(241)*V(329) A(370) = RCT(370)*V(241)*V(346) A(371) = RCT(371)*V(241)*V(335) A(372) = RCT(372)*V(241)*V(348) A(373) = RCT(373)*V(241)*V(336) A(374) = RCT(374)*V(241)*V(336) A(375) = RCT(375)*V(191)*V(351) A(376) = RCT(376)*V(219)*V(351) A(377) = RCT(377)*V(167)*V(351) A(378) = RCT(378)*V(167)*V(345) A(379) = RCT(379)*V(167)*V(341) A(380) = RCT(380)*V(219)*V(345) A(381) = RCT(381)*V(219)*V(341) A(382) = RCT(382)*V(191)*V(345) A(383) = RCT(383)*V(191)*V(341) A(384) = RCT(384)*V(277)*V(337) A(385) = RCT(385)*V(277)*V(346) A(386) = RCT(386)*V(277)*V(351) A(387) = RCT(387)*V(111)*V(345) A(388) = RCT(388)*V(137)*V(345) A(389) = RCT(389)*V(225)*V(351) A(390) = RCT(390)*V(225)*V(345) A(391) = RCT(391)*V(257)*V(337) A(392) = RCT(392)*V(257)*V(346) A(393) = RCT(393)*V(257)*V(335) A(394) = RCT(394)*V(56) A(395) = RCT(395)*V(257)*V(351) A(396) = RCT(396)*V(74)*V(345) A(397) = RCT(397)*V(66)*V(345) A(398) = RCT(398)*V(278)*V(337) A(399) = RCT(399)*V(278)*V(346) A(400) = RCT(400)*V(278)*V(351) A(401) = RCT(401)*V(278)*V(328) A(402) = RCT(402)*V(160)*V(345) A(403) = RCT(403)*V(176)*V(345) A(404) = RCT(404)*V(275)*V(337) A(405) = RCT(405)*V(275)*V(346) A(406) = RCT(406)*V(275)*V(351) A(407) = RCT(407)*V(138)*V(345) A(408) = RCT(408)*V(112)*V(345) A(409) = RCT(409)*V(129)*V(345) A(410) = RCT(410)*V(273)*V(337) A(411) = RCT(411)*V(273)*V(346) A(412) = RCT(412)*V(273)*V(346) A(413) = RCT(413)*V(273)*V(328) A(414) = RCT(414)*V(273)*V(351) A(415) = RCT(415)*V(161)*V(345) A(416) = RCT(416)*V(162)*V(345) A(417) = RCT(417)*V(281)*V(337) A(418) = RCT(418)*V(281)*V(346) A(419) = RCT(419)*V(281)*V(351) A(420) = RCT(420)*V(255)*V(345) A(421) = RCT(421)*V(255)*V(341) A(422) = RCT(422)*V(255)*V(351) A(423) = RCT(423)*V(237)*V(345) A(424) = RCT(424)*V(237)*V(341) A(425) = RCT(425)*V(237)*V(351) A(426) = RCT(426)*V(211)*V(345) A(427) = RCT(427)*V(211)*V(341) A(428) = RCT(428)*V(211)*V(351) A(429) = RCT(429)*V(272)*V(346) A(430) = RCT(430)*V(272)*V(337) A(431) = RCT(431)*V(272)*V(351) A(432) = RCT(432)*V(272)*V(328) A(433) = RCT(433)*V(163)*V(345) A(434) = RCT(434)*V(163)*V(351) A(435) = RCT(435)*V(177)*V(345) A(436) = RCT(436)*V(274)*V(337) A(437) = RCT(437)*V(274)*V(346) A(438) = RCT(438)*V(274)*V(335) A(439) = RCT(439)*V(57) A(440) = RCT(440)*V(274)*V(351) A(441) = RCT(441)*V(169)*V(345) A(442) = RCT(442)*V(130)*V(345) A(443) = RCT(443)*V(291)*V(337) A(444) = RCT(444)*V(291)*V(346) A(445) = RCT(445)*V(291)*V(346) A(446) = RCT(446)*V(291)*V(351) A(447) = RCT(447)*V(229)*V(345) A(448) = RCT(448)*V(229)*V(341) A(449) = RCT(449)*V(229)*V(351) A(450) = RCT(450)*V(193)*V(345) A(451) = RCT(451)*V(193)*V(341) A(452) = RCT(452)*V(193)*V(351) A(453) = RCT(453)*V(262)*V(345) A(454) = RCT(454)*V(262)*V(341) A(455) = RCT(455)*V(262)*V(351) A(456) = RCT(456)*V(277)*V(328) A(457) = RCT(457)*V(277)*V(324) A(458) = RCT(458)*V(275)*V(328) A(459) = RCT(459)*V(275)*V(324) A(460) = RCT(460)*V(281)*V(328) A(461) = RCT(461)*V(281)*V(324) A(462) = RCT(462)*V(291)*V(328) A(463) = RCT(463)*V(291)*V(324) A(464) = RCT(464)*V(257)*V(328) A(465) = RCT(465)*V(257)*V(324) A(466) = RCT(466)*V(274)*V(328) A(467) = RCT(467)*V(274)*V(324) A(468) = RCT(468)*V(280)*V(346) A(469) = RCT(469)*V(289)*V(346) A(470) = RCT(470)*V(280)*V(337) A(471) = RCT(471)*V(289)*V(337) A(472) = RCT(472)*V(280)*V(328) A(473) = RCT(473)*V(289)*V(328) A(474) = RCT(474)*V(280)*V(324) A(475) = RCT(475)*V(289)*V(324) A(476) = RCT(476)*V(280)*V(351) A(477) = RCT(477)*V(289)*V(351) A(478) = RCT(478)*V(280)*V(280) A(479) = RCT(479)*V(280)*V(289) A(480) = RCT(480)*V(289)*V(289) A(481) = RCT(481)*V(256)*V(345) A(482) = RCT(482)*V(242)*V(345) A(483) = RCT(483)*V(242)*V(341) A(484) = RCT(484)*V(242)*V(351) A(485) = RCT(485)*V(256)*V(351) A(486) = RCT(486)*V(103) A(487) = RCT(487)*V(45) A(488) = RCT(488)*V(154)*V(345) A(489) = RCT(489)*V(93)*V(345) A(490) = RCT(490)*V(83)*V(345) A(491) = RCT(491)*V(91)*V(345) A(492) = RCT(492)*V(95)*V(345) A(493) = RCT(493)*V(276)*V(341) A(494) = RCT(494)*V(276)*V(345) A(495) = RCT(495)*V(276)*V(345) A(496) = RCT(496)*V(276)*V(345) A(497) = RCT(497)*V(276)*V(345) A(498) = RCT(498)*V(305)*V(337) A(499) = RCT(499)*V(305)*V(337) A(500) = RCT(500)*V(304)*V(337) A(501) = RCT(501)*V(304)*V(337) A(502) = RCT(502)*V(305) A(503) = RCT(503)*V(305) A(504) = RCT(504)*V(304) A(505) = RCT(505)*V(304) A(506) = RCT(506)*V(305)*V(305) A(507) = RCT(507)*V(304)*V(304) A(508) = RCT(508)*V(304)*V(305) A(509) = RCT(509)*V(305)*V(305) A(510) = RCT(510)*V(304)*V(304) A(511) = RCT(511)*V(304)*V(305) A(512) = RCT(512)*V(305)*V(328) A(513) = RCT(513)*V(305)*V(328) A(514) = RCT(514)*V(304)*V(328) A(515) = RCT(515)*V(304)*V(328) A(516) = RCT(516)*V(305)*V(346) A(517) = RCT(517)*V(305)*V(346) A(518) = RCT(518)*V(305)*V(346) A(519) = RCT(519)*V(305)*V(346) A(520) = RCT(520)*V(304)*V(346) A(521) = RCT(521)*V(304)*V(346) A(522) = RCT(522)*V(304)*V(346) A(523) = RCT(523)*V(304)*V(346) A(524) = RCT(524)*V(230)*V(345) A(525) = RCT(525)*V(231)*V(345) A(526) = RCT(526)*V(150)*V(345) A(527) = RCT(527)*V(144)*V(345) A(528) = RCT(528)*V(238)*V(345) A(529) = RCT(529)*V(215)*V(345) A(530) = RCT(530)*V(119)*V(345) A(531) = RCT(531)*V(187)*V(345) A(532) = RCT(532)*V(187)*V(345) A(533) = RCT(533)*V(192)*V(345) A(534) = RCT(534)*V(192)*V(345) A(535) = RCT(535)*V(187)*V(345) A(536) = RCT(536)*V(192)*V(345) A(537) = RCT(537)*V(209)*V(345) A(538) = RCT(538)*V(199)*V(345) A(539) = RCT(539)*V(223) A(540) = RCT(540)*V(223)*V(346) A(541) = RCT(541)*V(223)*V(346) A(542) = RCT(542)*V(223)*V(337) A(543) = RCT(543)*V(224) A(544) = RCT(544)*V(224)*V(346) A(545) = RCT(545)*V(224)*V(346) A(546) = RCT(546)*V(224)*V(337) A(547) = RCT(547)*V(232) A(548) = RCT(548)*V(232)*V(346) A(549) = RCT(549)*V(232)*V(346) A(550) = RCT(550)*V(232)*V(337) A(551) = RCT(551)*V(128)*V(345) A(552) = RCT(552)*V(151)*V(345) A(553) = RCT(553)*V(151)*V(345) A(554) = RCT(554)*V(152)*V(345) A(555) = RCT(555)*V(152)*V(345) A(556) = RCT(556)*V(286) A(557) = RCT(557)*V(286) A(558) = RCT(558)*V(286)*V(337) A(559) = RCT(559)*V(286)*V(346) A(560) = RCT(560)*V(286)*V(346) A(561) = RCT(561)*V(285) A(562) = RCT(562)*V(285) A(563) = RCT(563)*V(285)*V(346) A(564) = RCT(564)*V(285)*V(346) A(565) = RCT(565)*V(285)*V(337) A(566) = RCT(566)*V(243)*V(337) A(567) = RCT(567)*V(243)*V(346) A(568) = RCT(568)*V(243)*V(346) A(569) = RCT(569)*V(243) A(570) = RCT(570)*V(133)*V(346) A(571) = RCT(571)*V(133)*V(337) A(572) = RCT(572)*V(135)*V(346) A(573) = RCT(573)*V(135)*V(337) A(574) = RCT(574)*V(175)*V(345) A(575) = RCT(575)*V(175)*V(345) A(576) = RCT(576)*V(168)*V(345) A(577) = RCT(577)*V(168)*V(345) A(578) = RCT(578)*V(268)*V(345) A(579) = RCT(579)*V(268)*V(345) A(580) = RCT(580)*V(267)*V(345) A(581) = RCT(581)*V(267)*V(345) A(582) = RCT(582)*V(268)*V(345) A(583) = RCT(583)*V(267)*V(345) A(584) = RCT(584)*V(205) A(585) = RCT(585)*V(205)*V(337) A(586) = RCT(586)*V(205)*V(346) A(587) = RCT(587)*V(205)*V(346) A(588) = RCT(588)*V(190) A(589) = RCT(589)*V(190)*V(337) A(590) = RCT(590)*V(190)*V(346) A(591) = RCT(591)*V(190)*V(346) A(592) = RCT(592)*V(206) A(593) = RCT(593)*V(207) A(594) = RCT(594)*V(206)*V(337) A(595) = RCT(595)*V(206)*V(346) A(596) = RCT(596)*V(206)*V(346) A(597) = RCT(597)*V(207)*V(337) A(598) = RCT(598)*V(207)*V(346) A(599) = RCT(599)*V(207)*V(346) A(600) = RCT(600)*V(293)*V(337) A(601) = RCT(601)*V(293)*V(346) A(602) = RCT(602)*V(293)*V(346) A(603) = RCT(603)*V(276)*V(351) A(604) = RCT(604)*V(310)*V(337) A(605) = RCT(605)*V(311)*V(337) A(606) = RCT(606)*V(310)*V(310) A(607) = RCT(607)*V(310)*V(311) A(608) = RCT(608)*V(311)*V(311) A(609) = RCT(609)*V(311)*V(328) A(610) = RCT(610)*V(310)*V(328) A(611) = RCT(611)*V(310)*V(324) A(612) = RCT(612)*V(311)*V(324) A(613) = RCT(613)*V(310)*V(351) A(614) = RCT(614)*V(311)*V(351) A(615) = RCT(615)*V(310)*V(346) A(616) = RCT(616)*V(310)*V(346) A(617) = RCT(617)*V(311)*V(346) A(618) = RCT(618)*V(311)*V(346) A(619) = RCT(619)*V(145)*F(3) A(620) = RCT(620)*V(145) A(621) = RCT(621)*V(222)*V(345) A(622) = RCT(622)*V(186)*V(345) A(623) = RCT(623)*V(222)*V(345) A(624) = RCT(624)*V(186)*V(345) A(625) = RCT(625)*V(186)*V(345) A(626) = RCT(626)*V(222)*V(345) A(627) = RCT(627)*V(186)*V(345) A(628) = RCT(628)*V(186)*V(345) A(629) = RCT(629)*V(226) A(630) = RCT(630)*V(271) A(631) = RCT(631)*V(271)*V(337) A(632) = RCT(632)*V(226)*V(337) A(633) = RCT(633)*V(271)*V(346) A(634) = RCT(634)*V(271)*V(346) A(635) = RCT(635)*V(226)*V(346) A(636) = RCT(636)*V(226)*V(346) A(637) = RCT(637)*V(301)*V(345) A(638) = RCT(638)*V(301)*V(345) A(639) = RCT(639)*V(182)*V(346) A(640) = RCT(640)*V(182)*V(337) A(641) = RCT(641)*V(299)*V(345) A(642) = RCT(642)*V(180)*V(346) A(643) = RCT(643)*V(180)*V(337) A(644) = RCT(644)*V(314)*V(345) A(645) = RCT(645)*V(314)*V(341) A(646) = RCT(646)*V(309)*V(345) A(647) = RCT(647)*V(309)*V(345) A(648) = RCT(648)*V(309)*V(341) A(649) = RCT(649)*V(309)*V(351) A(650) = RCT(650)*V(302)*V(345) A(651) = RCT(651)*V(288)*V(345) A(652) = RCT(652)*V(287)*V(345) A(653) = RCT(653)*V(248)*V(345) A(654) = RCT(654)*V(216)*V(345) A(655) = RCT(655)*V(171)*V(346) A(656) = RCT(656)*V(171)*V(337) A(657) = RCT(657)*V(171)*V(335) A(658) = RCT(658)*V(172)*V(346) A(659) = RCT(659)*V(172)*V(337) A(660) = RCT(660)*V(172)*V(335) A(661) = RCT(661)*V(194)*V(345) A(662) = RCT(662)*V(185)*V(345) A(663) = RCT(663)*V(131)*V(345) A(664) = RCT(664)*V(227)*V(345) A(665) = RCT(665)*V(208)*V(345) A(666) = RCT(666)*V(153)*V(345) A(667) = RCT(667)*V(254)*V(337) A(668) = RCT(668)*V(254)*V(346) A(669) = RCT(669)*V(254)*V(346) A(670) = RCT(670)*V(253)*V(337) A(671) = RCT(671)*V(259)*V(337) A(672) = RCT(672)*V(159)*V(345) A(673) = RCT(673)*V(253) A(674) = RCT(674)*V(253)*V(346) A(675) = RCT(675)*V(253)*V(346) A(676) = RCT(676)*V(259)*V(346) A(677) = RCT(677)*V(259)*V(335) A(678) = RCT(678)*V(308)*V(337) A(679) = RCT(679)*V(308)*V(346) A(680) = RCT(680)*V(308)*V(335) A(681) = RCT(681)*V(308)*V(351) A(682) = RCT(682)*V(308)*V(328) A(683) = RCT(683)*V(184) A(684) = RCT(684)*V(184)*V(345) A(685) = RCT(685)*V(107)*V(345) A(686) = RCT(686)*V(258)*V(345) A(687) = RCT(687)*V(147)*V(345) A(688) = RCT(688)*V(174)*V(345) A(689) = RCT(689)*V(198)*V(345) A(690) = RCT(690)*V(266)*V(345) A(691) = RCT(691)*V(303)*V(345) A(692) = RCT(692)*V(261)*V(351) A(693) = RCT(693)*V(115)*V(345) A(694) = RCT(694)*V(88)*V(345) A(695) = RCT(695)*V(324)*V(337) A(696) = RCT(696)*V(210)*V(345) A(697) = RCT(697)*V(210)*V(345) A(698) = RCT(698)*V(19)*V(345) A(699) = RCT(699)*V(18)*V(337) A(700) = RCT(700)*V(18)*V(346) A(701) = RCT(701)*V(173)*V(345) A(702) = RCT(702)*V(220)*V(345) A(703) = RCT(703)*V(220)*V(351) A(704) = RCT(704)*V(220)*V(341) A(705) = RCT(705)*V(149)*V(345) A(706) = RCT(706)*V(149)*V(351) A(707) = RCT(707)*V(200)*V(345) A(708) = RCT(708)*V(200)*V(351) A(709) = RCT(709)*V(189)*V(346) A(710) = RCT(710)*V(189)*V(337) A(711) = RCT(711)*V(116)*V(345) A(712) = RCT(712)*V(109)*V(341) A(713) = RCT(713)*V(109)*V(345) A(714) = RCT(714)*V(60)*V(345) A(715) = RCT(715)*V(234)*V(337) A(716) = RCT(716)*V(234)*V(346) A(717) = RCT(717)*V(234)*V(351) A(718) = RCT(718)*V(234)*V(328) A(719) = RCT(719)*V(106) A(720) = RCT(720)*V(106)*F(3) A(721) = RCT(721)*V(70)*V(345) A(722) = RCT(722)*V(136)*V(345) A(723) = RCT(723)*V(136)*V(345) A(724) = RCT(724)*V(143)*V(345) A(725) = RCT(725)*V(82)*V(345) A(726) = RCT(726)*V(101)*V(345) A(727) = RCT(727)*V(263)*V(337) A(728) = RCT(728)*V(263)*V(346) A(729) = RCT(729)*V(263)*V(351) A(730) = RCT(730)*V(263)*V(328) A(731) = RCT(731)*V(263)*V(324) A(732) = RCT(732)*V(58)*V(345) A(733) = RCT(733)*V(121)*V(346) A(734) = RCT(734)*V(121)*V(337) A(735) = 7.09e-11*V(146)*V(345) A(736) = RCT(736)*V(240)*V(346) A(737) = RCT(737)*V(240)*V(337) A(738) = RCT(738)*V(240)*V(335) A(739) = RCT(739)*V(122) A(740) = RCT(740)*V(122)*V(345) A(741) = RCT(741)*V(195)*V(345) A(742) = RCT(742)*V(195)*V(351) A(743) = RCT(743)*V(158)*V(345) A(744) = RCT(744)*V(158)*V(351) A(745) = RCT(745)*V(202)*V(345) A(746) = RCT(746)*V(202)*V(341) A(747) = RCT(747)*V(202)*V(351) A(748) = RCT(748)*V(204)*V(345) A(749) = RCT(749)*V(204)*V(351) A(750) = RCT(750)*V(235)*V(337) A(751) = RCT(751)*V(235)*V(346) A(752) = RCT(752)*V(235)*V(335) A(753) = RCT(753)*V(71)*V(345) A(754) = RCT(754)*V(90) A(755) = RCT(755)*V(90)*V(345) A(756) = RCT(756)*V(236)*V(335) A(757) = RCT(757)*V(236)*V(346) A(758) = RCT(758)*V(236)*V(351) A(759) = RCT(759)*V(236)*V(337) A(760) = RCT(760)*V(117)*V(345) A(761) = RCT(761)*V(203)*V(341) A(762) = RCT(762)*V(203)*V(335) A(763) = RCT(763)*V(269)*V(345) A(764) = RCT(764)*V(269)*V(351) A(765) = RCT(765)*V(236)*V(328) A(766) = RCT(766)*V(235)*V(328) A(767) = RCT(767)*V(221)*V(345) A(768) = RCT(768)*V(221)*V(341) A(769) = RCT(769)*V(221) A(770) = RCT(770)*V(201)*V(345) A(771) = RCT(771)*V(201)*V(341) A(772) = RCT(772)*V(201) A(773) = RCT(773)*V(13)*V(337) A(774) = RCT(774)*V(13)*V(346) A(775) = RCT(775)*V(22)*V(337) A(776) = RCT(776)*V(22)*V(346) A(777) = RCT(777)*V(27)*V(337) A(778) = RCT(778)*V(27)*V(346) A(779) = RCT(779)*V(328)*V(351) A(780) = RCT(780)*V(41)*V(345) A(781) = RCT(781)*V(337) A(782) = RCT(782)*V(335) A(783) = RCT(783)*V(351) A(784) = RCT(784)*V(351) A(785) = RCT(785)*V(351) A(786) = RCT(786)*V(214)*V(336) A(787) = RCT(787)*V(214)*V(339) A(788) = RCT(788)*V(214) A(789) = RCT(789)*V(214)*V(353) A(790) = RCT(790)*V(214)*V(344) A(791) = RCT(791)*V(345)*V(353) A(792) = RCT(792)*V(344)*V(345) A(793) = RCT(793)*V(218)*V(336) A(794) = RCT(794)*V(218)*V(339) A(795) = RCT(795)*V(317)*V(336) A(796) = RCT(796)*V(317)*V(339) A(797) = RCT(797)*V(317)*V(352) A(798) = RCT(798)*V(317)*V(349) A(799) = RCT(799)*V(317)*V(350) A(800) = RCT(800)*V(317)*V(353) A(801) = RCT(801)*V(317)*V(344) A(802) = RCT(802)*V(297)*V(353) A(803) = RCT(803)*V(297)*V(344) A(804) = RCT(804)*V(297)*V(339) A(805) = RCT(805)*V(297)*V(349) A(806) = RCT(806)*V(297)*V(350) A(807) = RCT(807)*V(297)*V(352) A(808) = RCT(808)*V(333)*V(339) A(809) = RCT(809)*V(333)*V(352) A(810) = RCT(810)*V(333)*V(353) A(811) = RCT(811)*V(333)*V(344) A(812) = RCT(812)*V(333)*V(348) A(813) = RCT(813)*V(316)*V(352) A(814) = RCT(814)*V(316)*V(339) A(815) = RCT(815)*V(316)*V(353) A(816) = RCT(816)*V(316)*V(344) A(817) = RCT(817)*V(316)*V(349) A(818) = RCT(818)*V(316)*V(350) A(819) = RCT(819)*V(316)*V(348) A(820) = RCT(820)*V(341)*V(352) A(821) = RCT(821)*V(341)*V(349) A(822) = RCT(822)*V(341)*V(350) A(823) = RCT(823)*V(352) A(824) = RCT(824)*V(352) A(825) = RCT(825)*V(73) A(826) = RCT(826)*V(73) A(827) = RCT(827)*V(73) A(828) = RCT(828)*V(330) A(829) = RCT(829)*V(330) A(830) = RCT(830)*V(44) A(831) = RCT(831)*V(44) A(832) = RCT(832)*V(44) A(833) = RCT(833)*V(55) A(834) = RCT(834)*V(55) A(835) = RCT(835)*V(55) A(836) = RCT(836)*V(42) A(837) = RCT(837)*V(42) A(838) = RCT(838)*V(42) A(839) = RCT(839)*V(252) A(840) = RCT(840)*V(252) A(841) = RCT(841)*V(332) A(842) = RCT(842)*V(332) A(843) = RCT(843)*V(332)*V(336) A(844) = RCT(844)*V(252)*V(349) A(845) = RCT(845)*V(252)*V(350) A(846) = RCT(846)*V(252)*V(353) A(847) = RCT(847)*V(252)*V(344) A(848) = RCT(848)*V(332)*V(349) A(849) = RCT(849)*V(332)*V(350) A(850) = RCT(850)*V(332)*V(353) A(851) = RCT(851)*V(332)*V(344) A(852) = RCT(852)*V(330)*V(349) A(853) = RCT(853)*V(330)*V(350) A(854) = RCT(854)*V(330)*V(353) A(855) = RCT(855)*V(330)*V(344) A(856) = RCT(856)*V(270) A(857) = RCT(857)*V(294) A(858) = RCT(858)*V(151) A(859) = RCT(859)*V(152) A(860) = RCT(860)*V(128) A(861) = RCT(861)*V(24) A(862) = RCT(862)*V(302) A(863) = RCT(863)*V(251) A(864) = RCT(864)*V(256) A(865) = RCT(865)*V(242) A(866) = RCT(866)*V(154) A(867) = RCT(867)*V(115) A(868) = RCT(868)*V(107) A(869) = RCT(869)*V(268) A(870) = RCT(870)*V(175) A(871) = RCT(871)*V(168) A(872) = RCT(872)*V(267) A(873) = RCT(873)*V(215) A(874) = RCT(874)*V(186) A(875) = RCT(875)*V(222) A(876) = RCT(876)*V(299) A(877) = RCT(877)*V(266) A(878) = RCT(878)*V(303) A(879) = RCT(879)*V(216) A(880) = RCT(880)*V(248) A(881) = RCT(881)*V(269) A(882) = RCT(882)*V(341) A(883) = RCT(883)*V(341) A(884) = RCT(884)*F(3) A(885) = RCT(885)*V(335) A(886) = RCT(886)*V(264) A(887) = RCT(887)*V(164) A(888) = RCT(888)*V(325) A(889) = RCT(889)*V(325) A(890) = RCT(890)*V(327) A(891) = RCT(891)*V(239) A(892) = RCT(892)*V(108) A(893) = RCT(893)*V(108) A(894) = RCT(894)*V(351) A(895) = RCT(895)*V(351) A(896) = RCT(896)*V(214) A(897) = RCT(897)*V(326) A(898) = RCT(898)*V(326) A(899) = RCT(899)*V(139) A(900) = RCT(900)*V(126) A(901) = RCT(901)*V(233) A(902) = RCT(902)*V(146) A(903) = RCT(903)*V(298) A(904) = RCT(904)*V(295) A(905) = RCT(905)*V(295) A(906) = RCT(906)*V(292) A(907) = RCT(907)*V(306) A(908) = RCT(908)*V(270) A(909) = RCT(909)*V(270) A(910) = RCT(910)*V(270) A(911) = RCT(911)*V(294) A(912) = RCT(912)*V(314) A(913) = RCT(913)*V(314) A(914) = RCT(914)*V(314) A(915) = RCT(915)*V(309) A(916) = RCT(916)*V(307) A(917) = RCT(917)*V(125) A(918) = RCT(918)*V(118) A(919) = RCT(919)*V(99) A(920) = RCT(920)*V(100) A(921) = RCT(921)*V(97) A(922) = RCT(922)*V(98) A(923) = RCT(923)*V(102) A(924) = RCT(924)*V(123) A(925) = RCT(925)*V(155) A(926) = RCT(926)*V(251) A(927) = RCT(927)*V(196) A(928) = RCT(928)*V(116) A(929) = RCT(929)*V(279) A(930) = RCT(930)*V(92) A(931) = RCT(931)*V(148) A(932) = RCT(932)*V(347) A(933) = RCT(933)*V(316) A(934) = RCT(934)*V(218) A(935) = RCT(935)*V(218) A(936) = RCT(936)*V(59) A(937) = RCT(937)*V(81) A(938) = RCT(938)*V(78) A(939) = RCT(939)*V(105) A(940) = RCT(940)*V(181) A(941) = RCT(941)*V(79) A(942) = RCT(942)*V(157) A(943) = RCT(943)*V(245) A(944) = RCT(944)*V(338) A(945) = RCT(945)*V(120) A(946) = RCT(946)*V(76) A(947) = RCT(947)*V(297) A(948) = RCT(948)*V(317) A(949) = RCT(949)*V(317) A(950) = RCT(950)*V(333) A(951) = RCT(951)*V(43) A(952) = RCT(952)*V(46) A(953) = RCT(953)*V(47) A(954) = RCT(954)*V(48) A(955) = RCT(955)*V(49) A(956) = RCT(956)*V(50) A(957) = RCT(957)*V(51) A(958) = RCT(958)*V(84) A(959) = RCT(959)*V(85) A(960) = RCT(960)*V(86) A(961) = RCT(961)*V(87) A(962) = RCT(962)*V(53) A(963) = RCT(963)*V(61) A(964) = RCT(964)*V(54) A(965) = RCT(965)*V(110) A(966) = RCT(966)*V(170) A(967) = RCT(967)*V(330) A(968) = RCT(968)*V(284) A(969) = RCT(969)*V(96) A(970) = RCT(970)*V(62) A(971) = RCT(971)*V(252) A(972) = RCT(972)*V(332) A(973) = RCT(973)*V(44) A(974) = RCT(974)*V(52) A(975) = RCT(975)*V(1) A(976) = RCT(976)*V(3) A(977) = RCT(977)*V(2) A(978) = RCT(978)*V(42) A(979) = RCT(979)*V(55) A(980) = RCT(980)*V(77) A(981) = RCT(981)*V(104) A(982) = RCT(982)*V(80) A(983) = RCT(983)*V(80) A(984) = RCT(984)*V(244) A(985) = RCT(985)*V(63) A(986) = RCT(986)*V(68) A(987) = RCT(987)*V(134) A(988) = RCT(988)*V(346) A(989) = RCT(989)*V(229) A(990) = RCT(990)*V(261) A(991) = RCT(991)*V(256) A(992) = RCT(992)*V(242) A(993) = RCT(993)*V(154) A(994) = RCT(994)*V(65) A(995) = RCT(995)*V(65) A(996) = RCT(996)*V(64) A(997) = RCT(997)*V(64) A(998) = RCT(998)*V(93) A(999) = RCT(999)*V(83) A(1000) = RCT(1000)*V(91) A(1001) = RCT(1001)*V(95) A(1002) = RCT(1002)*V(88) A(1003) = RCT(1003)*V(210) A(1004) = RCT(1004)*V(115) A(1005) = RCT(1005)*V(247) A(1006) = RCT(1006)*V(208) A(1007) = RCT(1007)*V(227) A(1008) = RCT(1008)*V(288) A(1009) = RCT(1009)*V(185) A(1010) = RCT(1010)*V(194) A(1011) = RCT(1011)*V(287) A(1012) = RCT(1012)*V(159) A(1013) = RCT(1013)*V(302) A(1014) = RCT(1014)*V(248) A(1015) = RCT(1015)*V(216) A(1016) = RCT(1016)*V(187) A(1017) = RCT(1017)*V(192) A(1018) = RCT(1018)*V(209) A(1019) = RCT(1019)*V(199) A(1020) = RCT(1020)*V(230) A(1021) = RCT(1021)*V(231) A(1022) = RCT(1022)*V(150) A(1023) = RCT(1023)*V(144) A(1024) = RCT(1024)*V(268) A(1025) = RCT(1025)*V(175) A(1026) = RCT(1026)*V(168) A(1027) = RCT(1027)*V(267) A(1028) = RCT(1028)*V(222) A(1029) = RCT(1029)*V(186) A(1030) = RCT(1030)*V(186) A(1031) = RCT(1031)*V(301) A(1032) = RCT(1032)*V(299) A(1033) = RCT(1033)*V(258) A(1034) = RCT(1034)*V(258) A(1035) = RCT(1035)*V(174) A(1036) = RCT(1036)*V(198) A(1037) = RCT(1037)*V(147) A(1038) = RCT(1038)*V(303) A(1039) = RCT(1039)*V(303) A(1040) = RCT(1040)*V(266) A(1041) = RCT(1041)*V(266) A(1042) = RCT(1042)*V(136) A(1043) = RCT(1043)*V(204) A(1044) = RCT(1044)*V(71) A(1045) = RCT(1045)*V(117) A(1046) = RCT(1046)*V(269) A(1047) = RCT(1047)*V(124) A(1048) = RCT(1048)*V(111) A(1049) = RCT(1049)*V(225) A(1050) = RCT(1050)*V(74) A(1051) = RCT(1051)*V(66) A(1052) = RCT(1052)*V(160) A(1053) = RCT(1053)*V(112) A(1054) = RCT(1054)*V(161) A(1055) = RCT(1055)*V(169) A(1056) = RCT(1056)*V(130) A(1057) = RCT(1057)*V(229) A(1058) = RCT(1058)*V(255) !### Use Aout to return equation rates IF ( PRESENT( Aout ) ) Aout = A ! Aggregate function IF (DO_FUN(1)) & Vdot(1) = -A(975) IF (DO_FUN(2)) & Vdot(2) = -A(977) IF (DO_FUN(3)) & Vdot(3) = -A(976) IF (DO_FUN(4)) & Vdot(4) = A(825)+2*A(830)+2*A(833)+2*A(836) IF (DO_FUN(5)) & Vdot(5) = A(881) IF (DO_FUN(6)) & Vdot(6) = A(780) IF (DO_FUN(7)) & Vdot(7) = A(24)+A(47)+A(56)+A(104)+A(109)+A(127)+0.44*A(128)+0.3*A(136)+0.43*A(148)+0.1*A(150)+0.361*A(151)+0.44& &*A(158)+0.5*A(168)+0.22*A(178)+2*A(180)+0.9*A(181)+0.9*A(182)+0.9*A(183)+0.9*A(184)+0.9*A(185)+0.9*A(186)& &+0.645*A(187)+0.645*A(188)+0.9*A(189)+0.9*A(190)+0.9*A(191)+0.9*A(192)+0.9*A(193)+2*A(194)+A(195)+A(239)& &+A(318)+A(326)+A(360)+A(362)+A(369)+A(392)+A(395)+A(397)+0.44*A(436)+A(437)+A(440)+A(442)+0.9*A(457)+0.9& &*A(459)+0.9*A(461)+0.9*A(463)+0.75*A(464)+2*A(465)+0.75*A(466)+A(467)+A(474)+0.407*A(493)+0.355*A(528)+A(570)& &+A(571)+A(572)+A(573)+A(611)+A(612)+0.429*A(639)+0.429*A(640)+0.23*A(652)+0.75*A(654)+0.097*A(661)+0.5*A(671)& &+0.41*A(672)+A(676)+0.5*A(678)+A(679)+A(681)+0.7*A(682)+A(689)+A(693)+0.5*A(695)+A(701)+A(731)+2*A(736)+0.44& &*A(737)+0.35*A(750)+A(751)+A(755)+A(766)+0.3*A(899)+A(930)+A(1004)+1.238*A(1012)+A(1044)+A(1046)+A(1050)& &+A(1051)+A(1055)+A(1056) IF (DO_FUN(8)) & Vdot(8) = A(486)+A(487) IF (DO_FUN(9)) & Vdot(9) = A(826)+A(828)+2*A(831)+2*A(834)+2*A(837)+A(839)+A(841) IF (DO_FUN(10)) & Vdot(10) = A(827)+A(829)+2*A(832)+2*A(835)+2*A(838)+A(840)+A(842) IF (DO_FUN(11)) & Vdot(11) = A(773) IF (DO_FUN(12)) & Vdot(12) = A(774) IF (DO_FUN(13)) & Vdot(13) = A(724)-A(773)-A(774) IF (DO_FUN(14)) & Vdot(14) = A(494)+A(495)+A(496)+A(497) IF (DO_FUN(15)) & Vdot(15) = A(603) IF (DO_FUN(16)) & Vdot(16) = A(699) IF (DO_FUN(17)) & Vdot(17) = A(700) IF (DO_FUN(18)) & Vdot(18) = A(698)-A(699)-A(700) IF (DO_FUN(19)) & Vdot(19) = -A(698) IF (DO_FUN(20)) & Vdot(20) = A(775) IF (DO_FUN(21)) & Vdot(21) = A(776) IF (DO_FUN(22)) & Vdot(22) = A(725)-A(775)-A(776) IF (DO_FUN(23)) & Vdot(23) = A(861) IF (DO_FUN(24)) & Vdot(24) = -A(177)+0.005*A(531)+0.005*A(532)+0.005*A(533)+0.005*A(534)+0.005*A(535)+0.005*A(536)+0.005*A(537)+0.005& &*A(538)-A(861) IF (DO_FUN(25)) & Vdot(25) = A(777) IF (DO_FUN(26)) & Vdot(26) = A(778) IF (DO_FUN(27)) & Vdot(27) = A(726)-A(777)-A(778) IF (DO_FUN(28)) & Vdot(28) = 0.25*A(200) IF (DO_FUN(29)) & Vdot(29) = A(4) IF (DO_FUN(30)) & Vdot(30) = A(856)+1.5*A(857)+1.5*A(867) IF (DO_FUN(31)) & Vdot(31) = A(858)+A(859)+A(860)+0.8*A(868)+A(873) IF (DO_FUN(32)) & Vdot(32) = A(202)+A(368)+A(372) IF (DO_FUN(33)) & Vdot(33) = 2*A(12) IF (DO_FUN(34)) & Vdot(34) = A(18)+A(22)+A(26)+A(36)+A(38)+A(56)+A(58)+A(60)+A(63)+A(65)+A(68)+2*A(73)+0.942*A(78)+A(80)+A(82)+A(85)& &+A(87)+2*A(88)+A(90)+A(91)+A(92)+A(93)+A(94)+A(95)+A(96)+A(97)+A(98)+A(100)+A(109)+A(123)+A(125)+A(126)& &+A(127)+0.15*A(128)+0.15*A(148)+A(156)+A(157)+0.15*A(158)+A(160)+A(211)+0.02*A(247)+A(248)+A(249)+A(273)& &+A(281)+A(282)+A(297)+0.1*A(309)+A(319)+A(322)+A(323)+A(352)+A(363)+A(364)+A(370)+A(371)+0.75*A(385)+0.5& &*A(388)+0.15*A(391)+A(392)+A(394)+0.84*A(399)+A(403)+0.75*A(405)+0.5*A(407)+A(412)+A(416)+0.75*A(418)+0.5& &*A(426)+0.84*A(429)+A(435)+0.15*A(436)+A(437)+A(439)+A(445)+A(450)+A(468)+A(469)+A(486)+A(487)+A(488)+A(489)& &+A(490)+A(491)+A(492)+A(516)+A(517)+A(518)+A(519)+A(520)+A(521)+A(522)+A(523)+A(540)+A(541)+A(544)+A(545)& &+A(548)+A(549)+A(559)+A(560)+A(563)+A(564)+A(567)+A(568)+A(570)+A(572)+A(586)+A(587)+A(590)+A(591)+A(595)& &+A(596)+A(598)+A(599)+A(601)+A(602)+A(615)+A(616)+A(617)+A(618)+A(633)+A(634)+A(635)+A(636)+A(639)+A(642)& &+0.69*A(650)+A(655)+A(658)+A(668)+A(669)+0.13*A(671)+A(674)+A(675)+A(676)+0.13*A(678)+A(679)+A(684)+0.13& &*A(695)+0.89*A(709)+A(711)+0.995*A(716)+A(721)+A(728)+A(733)+A(736)+0.15*A(737)+A(739)+A(740)+0.15*A(750)& &+A(751)+A(754)+A(755)+A(756)+A(757)+A(763)+2*A(884)+A(892)+0.3*A(899)+A(900)+A(927)+A(928)+A(982)+A(985)& &+A(988)+A(998)+A(999)+A(1000)+A(1001)+0.3*A(1047) IF (DO_FUN(35)) & Vdot(35) = A(1)+A(4)+A(8)+A(14)+A(15)+A(17)+A(42)+A(44)+2*A(49)+A(50)+A(52)+A(67)+A(76)+A(77)+A(86)+A(101)+A(110)& &+A(124)+A(131)+A(150)+A(154)+A(155)+A(159)+A(162)+A(165)+A(166)+A(179)+2*A(196)+A(201)+2*A(207)+2*A(208)& &+A(212)+A(213)+A(214)+A(226)+A(229)+A(230)+A(231)+2*A(233)+A(235)+A(236)+A(237)+A(238)+2*A(240)+2*A(241)& &+A(244)+A(246)+2*A(251)+A(252)+0.66*A(253)+0.6*A(254)+0.44*A(257)+0.56*A(258)+0.19*A(261)+0.1*A(269)+0.05& &*A(270)+A(274)+A(275)+A(276)+A(277)+A(278)+2*A(298)+2*A(302)+2*A(303)+2*A(311)+2*A(312)+0.4*A(344)+0.88& &*A(349)+A(367)+A(375)+A(376)+A(377)+A(379)+A(381)+A(383)+A(386)+A(389)+A(393)+A(395)+A(400)+A(406)+A(414)& &+A(419)+A(421)+2*A(422)+A(424)+2*A(425)+0.5*A(427)+A(428)+A(431)+A(434)+A(438)+A(440)+A(446)+A(448)+A(449)& &+A(454)+A(455)+A(476)+A(477)+A(483)+2*A(484)+2*A(485)+A(493)+A(603)+A(613)+A(614)+A(645)+A(648)+A(649)& &+A(681)+A(692)+A(703)+A(704)+A(706)+A(708)+A(712)+A(717)+A(729)+A(738)+1.258*A(742)+1.5*A(744)+A(746)+1.5& &*A(747)+A(749)+A(752)+A(758)+A(761)+A(762)+A(768)+A(771)+A(779)+0.5*A(782)+A(783)+A(784)+A(785)+A(786)& &+A(787)+A(788)+A(789)+A(790)+A(794)+A(796)+A(797)+A(798)+A(799)+A(800)+A(801)+A(802)+A(803)+A(804)+A(805)& &+A(806)+A(807)+A(808)+A(809)+A(810)+A(811)+A(812)+A(813)+A(814)+A(815)+A(816)+A(817)+A(818)+A(819)+A(828)& &+A(829)+2*A(830)+2*A(831)+2*A(832)+3*A(833)+3*A(834)+3*A(835)+4*A(836)+4*A(837)+4*A(838)+A(839)+A(840)& &+A(841)+A(842)+A(844)+A(845)+A(846)+A(847)+A(848)+A(849)+A(850)+A(851)+A(852)+A(853)+A(854)+A(855)+A(862)& &+A(863)+A(864)+A(865)+A(866)+A(869)+A(870)+A(871)+A(872)+A(874)+A(875)+2*A(876)+A(877)+A(878)+A(879)+A(880)& &+2*A(895)+A(933)+2*A(946)+A(950)+A(967)+2*A(969)+A(994)+A(996) IF (DO_FUN(36)) & Vdot(36) = A(34)+A(50)+0.05*A(51)+A(55)+A(80)+A(82)+A(83)+A(84)+A(85)+A(88)+A(108)+A(126)+0.56*A(150)+0.505*A(151)& &+A(152)+A(160)+2*A(163)+A(164)+2*A(165)+A(166)+0.5*A(168)+A(216)+A(238)+A(252)+A(292)+A(315)+A(316)+A(317)& &+0.15*A(379)+0.1*A(383)+0.407*A(493)+0.6*A(496)+0.9*A(497)+0.6*A(503)+0.9*A(505)+A(509)+A(510)+A(511)+0.5& &*A(513)+0.5*A(515)+0.55*A(519)+0.55*A(523)+0.45*A(524)+0.37*A(525)+0.42*A(526)+0.23*A(527)+0.638*A(528)+1.5& &*A(529)+A(530)+0.25*A(535)+0.33*A(536)+0.036*A(537)+0.054*A(538)+A(557)+0.13*A(558)+0.2*A(559)+A(562)+0.2& &*A(563)+0.13*A(565)+0.52*A(566)+0.8*A(568)+2*A(569)+0.6*A(582)+0.6*A(583)+0.539*A(638)+0.33*A(639)+0.33& &*A(640)+0.28*A(645)+0.036*A(646)+0.12*A(648)+0.68*A(649)+0.77*A(652)+0.25*A(654)+0.75*A(661)+A(662)+A(664)+2& &*A(665)+0.84*A(666)+0.507*A(670)+0.325*A(671)+0.488*A(672)+A(673)+0.86*A(674)+0.65*A(676)+0.25*A(684)+A(685)& &+A(686)+0.888*A(687)+A(690)+A(696)+0.18*A(704)+0.12*A(707)+0.364*A(714)+0.2*A(724)+0.27*A(725)+0.3*A(726)+2& &*A(740)+0.15*A(763)+0.15*A(764)+0.26*A(767)+0.5*A(768)+0.25*A(770)+0.5*A(771)+0.05*A(772)+A(888)+A(889)+0.88& &*A(897)+A(898)+0.7*A(901)+A(902)+A(903)+A(905)+A(907)+2*A(908)+2*A(909)+A(910)+A(911)+A(912)+A(913)+A(915)& &+A(986)+A(990)+A(1003)+A(1006)+0.5*A(1007)+0.571*A(1009)+0.875*A(1010)+0.77*A(1011)+A(1014)+A(1015)+0.888& &*A(1020)+0.818*A(1021)+A(1022)+A(1023)+0.55*A(1024)+0.55*A(1027)+0.839*A(1031)+A(1033)+0.163*A(1034)+A(1037)& &+A(1041)+A(1043)+A(1046)+A(1049)+A(1058) IF (DO_FUN(37)) & Vdot(37) = A(24)+A(362)+A(369) IF (DO_FUN(38)) & Vdot(38) = A(1)+A(7)+A(8)+A(9)+2*A(12)+A(202)+A(368)+A(372)+A(812)+A(819) IF (DO_FUN(39)) & Vdot(39) = A(25)+A(231)+A(291) IF (DO_FUN(40)) & Vdot(40) = A(19)+A(23)+0.06*A(365)+0.06*A(366)+A(373)+0.013*A(493)+0.045*A(645) IF (DO_FUN(41)) & Vdot(41) = -A(780) IF (DO_FUN(42)) & Vdot(42) = A(346)-A(347)-A(836)-A(837)-A(838)-A(978) IF (DO_FUN(43)) & Vdot(43) = -A(286)-A(951) IF (DO_FUN(44)) & Vdot(44) = 0.6*A(357)-A(358)-A(830)-A(831)-A(832)-A(973) IF (DO_FUN(45)) & Vdot(45) = -A(487)+A(864)+A(865)+A(866) IF (DO_FUN(46)) & Vdot(46) = -0.79*A(256)-A(952) IF (DO_FUN(47)) & Vdot(47) = -0.9*A(262)-A(953) IF (DO_FUN(48)) & Vdot(48) = -0.86*A(263)-A(954) IF (DO_FUN(49)) & Vdot(49) = -0.9*A(269)-A(955) IF (DO_FUN(50)) & Vdot(50) = -0.9*A(270)-A(956) IF (DO_FUN(51)) & Vdot(51) = -0.86*A(271)-A(957) IF (DO_FUN(52)) & Vdot(52) = -A(359)-A(974) IF (DO_FUN(53)) & Vdot(53) = -0.45*A(265)-A(962) IF (DO_FUN(54)) & Vdot(54) = -0.75*A(272)-A(964) IF (DO_FUN(55)) & Vdot(55) = A(345)-A(833)-A(834)-A(835)-A(979) IF (DO_FUN(56)) & Vdot(56) = A(393)-A(394) IF (DO_FUN(57)) & Vdot(57) = A(438)-A(439) IF (DO_FUN(58)) & Vdot(58) = 0.15*A(707)-A(732) IF (DO_FUN(59)) & Vdot(59) = A(221)-A(936) IF (DO_FUN(60)) & Vdot(60) = -A(714) IF (DO_FUN(61)) & Vdot(61) = -0.65*A(264)-A(963) IF (DO_FUN(62)) & Vdot(62) = A(334)-2*A(335)-A(970) IF (DO_FUN(63)) & Vdot(63) = -A(230)+A(250)-A(985) IF (DO_FUN(64)) & Vdot(64) = A(3)+A(784)-A(996)-A(997) IF (DO_FUN(65)) & Vdot(65) = A(6)+A(785)-A(994)-A(995) IF (DO_FUN(66)) & Vdot(66) = 0.15*A(391)-A(397)+0.25*A(464)-A(1051) IF (DO_FUN(67)) & Vdot(67) = -A(248)-A(249)-A(250)+A(988) IF (DO_FUN(68)) & Vdot(68) = -A(238)-A(239)-A(986) IF (DO_FUN(69)) & Vdot(69) = -A(66)-A(67) IF (DO_FUN(70)) & Vdot(70) = 0.005*A(716)-A(721) IF (DO_FUN(71)) & Vdot(71) = 0.65*A(750)-A(753)-A(1044) IF (DO_FUN(72)) & Vdot(72) = 0.56*A(158)-A(161) IF (DO_FUN(73)) & Vdot(73) = A(351)-A(353)-A(825)-A(826)-A(827) IF (DO_FUN(74)) & Vdot(74) = 0.41*A(391)-A(396)-A(1050) IF (DO_FUN(75)) & Vdot(75) = -A(285)-A(317) IF (DO_FUN(76)) & Vdot(76) = -A(278)+A(307)-A(308)-A(946) IF (DO_FUN(77)) & Vdot(77) = A(844)+A(845)+A(848)+A(849)+A(852)+A(853)-A(980) IF (DO_FUN(78)) & Vdot(78) = -A(224)-0.95*A(259)-A(938) IF (DO_FUN(79)) & Vdot(79) = -A(284)-A(316)-A(941) IF (DO_FUN(80)) & Vdot(80) = A(197)-A(198)-A(982)-A(983) IF (DO_FUN(81)) & Vdot(81) = -A(223)-0.7*A(260)-A(937) IF (DO_FUN(82)) & Vdot(82) = -A(725) IF (DO_FUN(83)) & Vdot(83) = A(59)-A(490)-A(999) IF (DO_FUN(84)) & Vdot(84) = -0.79*A(268)-A(290)-A(958) IF (DO_FUN(85)) & Vdot(85) = -0.69*A(266)-A(288)-A(959) IF (DO_FUN(86)) & Vdot(86) = -0.65*A(267)-A(289)-A(960) IF (DO_FUN(87)) & Vdot(87) = -0.75*A(261)-A(287)-A(961) IF (DO_FUN(88)) & Vdot(88) = 0.73*A(365)+0.4*A(366)-A(694)-A(1002) IF (DO_FUN(89)) & Vdot(89) = A(10)-A(11)-A(12) IF (DO_FUN(90)) & Vdot(90) = A(752)-A(754)-A(755) IF (DO_FUN(91)) & Vdot(91) = A(99)-A(491)-A(1000) IF (DO_FUN(92)) & Vdot(92) = -A(178)+0.37*A(695)-A(930) IF (DO_FUN(93)) & Vdot(93) = A(27)-A(489)-A(998) IF (DO_FUN(94)) & Vdot(94) = -A(199)-A(200)-A(201) IF (DO_FUN(95)) & Vdot(95) = A(64)-A(492)-A(1001) IF (DO_FUN(96)) & Vdot(96) = 0.8*A(344)-A(345)-2*A(346)+2*A(347)-A(348)+0.4*A(357)+0.996*A(358)-A(969)+A(973)+2*A(978)+A(979) IF (DO_FUN(97)) & Vdot(97) = A(114)-A(173)-A(921) IF (DO_FUN(98)) & Vdot(98) = A(70)-A(71)-A(922) IF (DO_FUN(99)) & Vdot(99) = A(146)-A(171)-A(919) IF (DO_FUN(100)) & Vdot(100) = A(120)-A(172)-A(920) IF (DO_FUN(101)) & Vdot(101) = -A(726) IF (DO_FUN(102)) & Vdot(102) = A(116)-A(174)-A(923) IF (DO_FUN(103)) & Vdot(103) = -A(486)+A(862)+A(863)+A(869)+A(870)+A(871)+A(872)+A(874)+A(875)+A(876)+A(877)+A(878)+A(879)+A(880) IF (DO_FUN(104)) & Vdot(104) = 0.191*A(349)+A(846)+A(847)+A(850)+A(851)+A(854)+A(855)-A(981) IF (DO_FUN(105)) & Vdot(105) = -A(225)-A(258)-A(939) IF (DO_FUN(106)) & Vdot(106) = 0.995*A(716)+A(717)+0.6*A(718)-A(719)-A(720)+A(1042) IF (DO_FUN(107)) & Vdot(107) = 0.098*A(672)+0.75*A(684)-A(685)-A(868) IF (DO_FUN(108)) & Vdot(108) = A(39)-A(40)-A(41)-A(892)-A(893) IF (DO_FUN(109)) & Vdot(109) = -A(712)-A(713)+0.4*A(901) IF (DO_FUN(110)) & Vdot(110) = A(274)+A(278)+A(303)+A(305)-A(306)-A(309)+A(311)+A(946)-A(965) IF (DO_FUN(111)) & Vdot(111) = A(384)-A(387)-A(1048) IF (DO_FUN(112)) & Vdot(112) = A(404)-A(408)-A(1053) IF (DO_FUN(113)) & Vdot(113) = A(124)-A(125)-A(126) IF (DO_FUN(114)) & Vdot(114) = A(155)-A(156)-A(160) IF (DO_FUN(115)) & Vdot(115) = 0.075*A(645)+0.241*A(650)+0.653*A(661)-A(693)-A(867)-A(1004)+0.75*A(1010) IF (DO_FUN(116)) & Vdot(116) = 0.11*A(709)-A(711)-A(928) IF (DO_FUN(117)) & Vdot(117) = 0.15*A(750)+A(755)+A(759)-A(760)-A(1045) IF (DO_FUN(118)) & Vdot(118) = A(144)+A(145)-A(170)-A(918) IF (DO_FUN(119)) & Vdot(119) = 0.15*A(524)+0.15*A(525)-A(530)+0.112*A(1020)+0.182*A(1021)+0.161*A(1031) IF (DO_FUN(120)) & Vdot(120) = -A(277)+A(304)+A(310)+0.56*A(349)-A(945) IF (DO_FUN(121)) & Vdot(121) = A(732)-A(733)-A(734) IF (DO_FUN(122)) & Vdot(122) = A(738)-A(739)-A(740) IF (DO_FUN(123)) & Vdot(123) = A(147)-A(176)-A(924) IF (DO_FUN(124)) & Vdot(124) = A(106)-A(107)-A(108)-A(1047) IF (DO_FUN(125)) & Vdot(125) = A(121)-A(169)-A(917) IF (DO_FUN(126)) & Vdot(126) = A(86)-A(87)-A(88)-A(900) IF (DO_FUN(127)) & Vdot(127) = 0.058*A(78)-A(80) IF (DO_FUN(128)) & Vdot(128) = 0.255*A(537)+0.595*A(538)-A(551)+A(578)+A(580)-A(860) IF (DO_FUN(129)) & Vdot(129) = 0.2*A(383)+0.75*A(405)+A(406)+0.5*A(407)-A(409)+A(458)+A(459)+A(1053) IF (DO_FUN(130)) & Vdot(130) = 0.15*A(436)-A(442)+0.25*A(466)-A(1056) IF (DO_FUN(131)) & Vdot(131) = A(557)+0.13*A(558)+0.2*A(559)-A(663)+0.35*A(686)+0.35*A(1033) IF (DO_FUN(132)) & Vdot(132) = 0.255*A(81)-A(82)-A(83) IF (DO_FUN(133)) & Vdot(133) = 0.315*A(524)-A(570)-A(571) IF (DO_FUN(134)) & Vdot(134) = A(1)+A(7)+A(8)+A(9)+2*A(12)+A(202)+A(368)+A(372)+A(812)+A(819)-A(987) IF (DO_FUN(135)) & Vdot(135) = 0.315*A(525)-A(572)-A(573) IF (DO_FUN(136)) & Vdot(136) = A(715)+0.2*A(718)-A(722)-A(723)-A(1042) IF (DO_FUN(137)) & Vdot(137) = 0.25*A(385)-A(388) IF (DO_FUN(138)) & Vdot(138) = 0.25*A(405)-A(407) IF (DO_FUN(139)) & Vdot(139) = A(53)-A(54)-A(55)-A(899) IF (DO_FUN(140)) & Vdot(140) = -A(75)-A(76)-A(77) IF (DO_FUN(141)) & Vdot(141) = -A(61)-A(62)-A(220)-A(327)-A(328) IF (DO_FUN(142)) & Vdot(142) = -A(89)-A(101)-A(331) IF (DO_FUN(143)) & Vdot(143) = 0.1*A(704)-A(724) IF (DO_FUN(144)) & Vdot(144) = 0.15*A(497)+0.15*A(505)-A(527)+0.009*A(538)-A(1023) IF (DO_FUN(145)) & Vdot(145) = 0.474*A(607)+0.34*A(608)+0.244*A(609)+0.841*A(612)+0.841*A(614)+0.841*A(617)-A(619)-A(620)+0.841*A(1029)& &+0.222*A(1032) IF (DO_FUN(146)) & Vdot(146) = A(733)+A(734)-A(735)-A(902) IF (DO_FUN(147)) & Vdot(147) = A(556)+A(561)-A(687)-A(1037) IF (DO_FUN(148)) & Vdot(148) = A(208)+A(210)-A(211)+A(813)+A(817)+A(818)-A(931) IF (DO_FUN(149)) & Vdot(149) = -A(705)-A(706) IF (DO_FUN(150)) & Vdot(150) = 0.15*A(496)+0.15*A(503)-A(526)+0.009*A(537)-A(1022) IF (DO_FUN(151)) & Vdot(151) = 0.67*A(532)+0.68*A(534)-A(552)-A(553)+0.67*A(575)+0.67*A(577)-A(858) IF (DO_FUN(152)) & Vdot(152) = 0.33*A(532)+0.32*A(534)-A(554)-A(555)+0.33*A(575)+0.33*A(577)-A(859) IF (DO_FUN(153)) & Vdot(153) = A(562)+0.2*A(563)+0.13*A(565)-A(666)+0.15*A(686)+0.15*A(1033)+0.163*A(1034) IF (DO_FUN(154)) & Vdot(154) = A(481)+A(482)+A(483)+A(484)+A(485)-A(488)-A(866)-A(993) IF (DO_FUN(155)) & Vdot(155) = 0.41*A(128)+0.41*A(148)-A(175)+0.41*A(737)-A(925) IF (DO_FUN(156)) & Vdot(156) = 0.25*A(129)+0.25*A(130)-A(140)+0.4*A(142)+0.4*A(143)-A(325) IF (DO_FUN(157)) & Vdot(157) = A(312)+A(794)+A(797)+A(798)+A(799)+A(805)+A(806)+A(807)+A(809)+A(814)+A(815)+A(816)-A(942) IF (DO_FUN(158)) & Vdot(158) = 0.18*A(705)+0.03*A(707)+0.19*A(725)+0.15*A(726)-A(743)-A(744) IF (DO_FUN(159)) & Vdot(159) = 0.5*A(671)-A(672)-0.75*A(1012) IF (DO_FUN(160)) & Vdot(160) = A(398)+0.25*A(401)-A(402)-A(1052) IF (DO_FUN(161)) & Vdot(161) = A(410)+0.25*A(413)-A(415)-A(1054) IF (DO_FUN(162)) & Vdot(162) = 0.5*A(407)+A(411)-A(416) IF (DO_FUN(163)) & Vdot(163) = 0.3*A(421)+0.84*A(429)+A(431)+0.75*A(432)-A(433)-A(434) IF (DO_FUN(164)) & Vdot(164) = A(28)-A(32)-A(320)-A(887) IF (DO_FUN(165)) & Vdot(165) = A(72)-A(73)-A(74) IF (DO_FUN(166)) & Vdot(166) = -2*A(4)-A(5)-A(6) IF (DO_FUN(167)) & Vdot(167) = -A(377)-A(378)-A(379) IF (DO_FUN(168)) & Vdot(168) = A(520)-A(576)-A(577)-A(871)-A(1026) IF (DO_FUN(169)) & Vdot(169) = A(430)+0.25*A(432)+0.41*A(436)-A(441)-A(1055) IF (DO_FUN(170)) & Vdot(170) = A(335)+A(338)-A(339)+A(342)-A(352)-A(966) IF (DO_FUN(171)) & Vdot(171) = -A(655)-A(656)-A(657)+0.224*A(1020)+0.068*A(1031) IF (DO_FUN(172)) & Vdot(172) = -A(658)-A(659)-A(660)+0.182*A(1021)+0.128*A(1031) IF (DO_FUN(173)) & Vdot(173) = 0.15*A(128)+0.15*A(148)+0.5*A(475)-A(701)+0.5*A(707)+0.45*A(726)+0.15*A(737)+0.43*A(767)+0.52*A(770) IF (DO_FUN(174)) & Vdot(174) = 0.725*A(542)+0.725*A(546)+0.35*A(550)-A(688)-A(1035) IF (DO_FUN(175)) & Vdot(175) = A(516)-A(574)-A(575)-A(870)-A(1025) IF (DO_FUN(176)) & Vdot(176) = 0.5*A(388)+0.16*A(399)-A(403) IF (DO_FUN(177)) & Vdot(177) = A(422)+A(425)+0.5*A(426)+0.5*A(427)+A(428)+0.16*A(429)-A(435) IF (DO_FUN(178)) & Vdot(178) = A(66)+A(67)-A(68)-A(69)-A(70)+0.5*A(71) IF (DO_FUN(179)) & Vdot(179) = -2*A(1)-A(2)-A(3) IF (DO_FUN(180)) & Vdot(180) = 0.435*A(641)-A(642)-A(643) IF (DO_FUN(181)) & Vdot(181) = -0.9*A(257)-A(283)-A(315)-A(940) IF (DO_FUN(182)) & Vdot(182) = 0.461*A(638)-0.33*A(639)-0.33*A(640)+0.041*A(691) IF (DO_FUN(183)) & Vdot(183) = -A(57)-A(179)-A(219)-A(321) IF (DO_FUN(184)) & Vdot(184) = A(677)+A(680)-A(683)-A(684) IF (DO_FUN(185)) & Vdot(185) = A(530)-A(662)+0.444*A(687)-A(1009)+0.112*A(1020)+0.182*A(1021)+0.162*A(1031)+0.454*A(1037) IF (DO_FUN(186)) & Vdot(186) = A(605)-A(622)-A(624)-A(625)-A(627)-A(628)-A(874)-A(1029)-A(1030) IF (DO_FUN(187)) & Vdot(187) = 0.937*A(498)-A(531)-A(532)-A(535)-A(1016) IF (DO_FUN(188)) & Vdot(188) = 0.25*A(112)+0.25*A(113)+0.38*A(132)+0.375*A(133)+0.38*A(134)+0.375*A(135)+0.25*A(137)+0.25*A(138)+0.25& &*A(139)-A(141)+0.25*A(473) IF (DO_FUN(189)) & Vdot(189) = 0.3*A(702)+0.07*A(705)+0.05*A(707)-A(709)-A(710) IF (DO_FUN(190)) & Vdot(190) = A(576)-A(588)-A(589)-A(590)-A(591) IF (DO_FUN(191)) & Vdot(191) = -A(375)-A(382)-A(383) IF (DO_FUN(192)) & Vdot(192) = 0.937*A(500)-A(533)-A(534)-A(536)-A(1017) IF (DO_FUN(193)) & Vdot(193) = A(444)-A(450)-A(451)-A(452) IF (DO_FUN(194)) & Vdot(194) = -A(661)+0.022*A(691)-A(1010)+0.552*A(1020)+0.454*A(1021)+0.481*A(1031) IF (DO_FUN(195)) & Vdot(195) = 0.54*A(724)-A(741)-A(742) IF (DO_FUN(196)) & Vdot(196) = A(69)-A(72)+A(74)-A(927) IF (DO_FUN(197)) & Vdot(197) = 0.68*A(81)-A(84)-A(85)-A(86)+A(87)+A(900)+0.3*A(901) IF (DO_FUN(198)) & Vdot(198) = 0.824*A(539)+0.452*A(543)+A(547)+0.667*A(688)-A(689)-A(1036) IF (DO_FUN(199)) & Vdot(199) = A(501)-A(538)-A(1019) IF (DO_FUN(200)) & Vdot(200) = -A(707)-A(708) IF (DO_FUN(201)) & Vdot(201) = 0.4*A(705)+0.6*A(707)+0.4*A(708)+0.3*A(725)+0.56*A(726)+0.44*A(743)+0.44*A(744)-A(770)-A(771)-A(772) IF (DO_FUN(202)) & Vdot(202) = 0.8*A(741)+0.727*A(743)-A(745)-A(746)-A(747) IF (DO_FUN(203)) & Vdot(203) = 0.06*A(741)+0.742*A(742)+0.073*A(743)+0.3*A(744)+0.3*A(745)+0.3*A(747)+A(756)+A(757)+A(758)-A(761)-A(762)& &+A(765)+A(1045) IF (DO_FUN(204)) & Vdot(204) = 0.7*A(702)+A(703)+0.62*A(704)+A(706)+A(708)+0.89*A(709)+A(710)+A(711)+0.06*A(725)+0.06*A(726)-A(748)& &-A(749)+A(928)-A(1043) IF (DO_FUN(205)) & Vdot(205) = A(574)-A(584)-A(585)-A(586)-A(587) IF (DO_FUN(206)) & Vdot(206) = A(579)-A(592)-A(594)-A(595)-A(596) IF (DO_FUN(207)) & Vdot(207) = A(581)-A(593)-A(597)-A(598)-A(599) IF (DO_FUN(208)) & Vdot(208) = 0.13*A(566)+0.2*A(568)+0.53*A(651)+0.6*A(663)-A(665)+0.255*A(667)+0.318*A(687)-A(1006)+0.391*A(1037) IF (DO_FUN(209)) & Vdot(209) = A(499)-A(537)-A(1018) IF (DO_FUN(210)) & Vdot(210) = 0.3*A(496)+0.3*A(503)+0.018*A(537)+0.284*A(540)+0.135*A(542)+0.249*A(631)+0.471*A(632)+0.303*A(633)+0.59& &*A(635)-A(696)-A(697)-A(1003)+0.5*A(1039) IF (DO_FUN(211)) & Vdot(211) = 0.25*A(418)-A(426)-A(427)-A(428) IF (DO_FUN(212)) & Vdot(212) = A(75)-A(78)-A(79) IF (DO_FUN(213)) & Vdot(213) = 0.8*A(153)+A(154)-A(155)+A(156)-A(157)-A(158)-A(159) IF (DO_FUN(214)) & Vdot(214) = A(45)-A(46)-A(786)-A(787)-A(788)-A(789)-A(790)-A(896) IF (DO_FUN(215)) & Vdot(215) = 0.085*A(524)+0.165*A(525)+0.58*A(526)+0.77*A(527)-A(529)+0.75*A(551)+A(552)+A(554)+A(625)+A(637)-A(873) IF (DO_FUN(216)) & Vdot(216) = 0.6*A(582)+0.031*A(594)+0.065*A(595)+0.094*A(600)+0.355*A(601)+0.06*A(631)+0.073*A(632)+0.17*A(633)+0.291& &*A(635)+0.378*A(638)-A(654)+0.13*A(678)+0.3*A(682)-A(879)-A(1015) IF (DO_FUN(217)) & Vdot(217) = A(229)+0.2*A(231)+A(234)+A(235)-A(245)-A(246)-A(247)+0.22*A(253)+0.2*A(254)+0.09*A(257)+A(294)+A(888) IF (DO_FUN(218)) & Vdot(218) = -A(210)+A(222)-A(793)-A(794)-A(934)-A(935) IF (DO_FUN(219)) & Vdot(219) = -A(376)-A(380)-A(381) IF (DO_FUN(220)) & Vdot(220) = -A(702)-A(703)-A(704) IF (DO_FUN(221)) & Vdot(221) = 0.8*A(705)+0.375*A(707)+0.55*A(724)+0.68*A(725)+0.28*A(726)+0.18*A(741)+1.05*A(745)+A(746)+0.3*A(747)+0.9& &*A(763)+0.9*A(764)-A(767)-A(768)-A(769)+A(1046) IF (DO_FUN(222)) & Vdot(222) = 0.473*A(604)+0.07*A(606)+0.399*A(607)+0.355*A(610)-A(621)-A(623)-A(626)-A(875)-A(1028) IF (DO_FUN(223)) & Vdot(223) = 0.345*A(531)+0.595*A(537)-A(539)-A(540)-A(541)-A(542) IF (DO_FUN(224)) & Vdot(224) = 0.345*A(533)+0.255*A(538)-A(543)-A(544)-A(545)-A(546) IF (DO_FUN(225)) & Vdot(225) = 0.2*A(383)+0.75*A(385)+A(386)+0.5*A(388)-A(389)-A(390)+A(456)+A(457)+A(1048)-A(1049) IF (DO_FUN(226)) & Vdot(226) = A(622)-A(629)-A(632)-A(635)-A(636) IF (DO_FUN(227)) & Vdot(227) = 0.29*A(650)+0.47*A(651)+0.063*A(661)+0.4*A(663)-A(664)+0.16*A(666)+0.126*A(687)-A(1007)+0.133*A(1034)& &+0.155*A(1037) IF (DO_FUN(228)) & Vdot(228) = -A(25)+0.1*A(150)-A(231)-A(291)+A(898) IF (DO_FUN(229)) & Vdot(229) = A(443)-A(447)-A(448)-A(449)-A(989)-A(1057) IF (DO_FUN(230)) & Vdot(230) = 0.25*A(496)+0.25*A(503)-A(524)+0.015*A(537)-A(1020) IF (DO_FUN(231)) & Vdot(231) = 0.25*A(497)+0.25*A(505)-A(525)+0.015*A(538)-A(1021) IF (DO_FUN(232)) & Vdot(232) = 0.655*A(531)+0.655*A(533)-A(547)-A(548)-A(549)-A(550) IF (DO_FUN(233)) & Vdot(233) = A(76)+A(77)+0.73*A(78)-A(81)-A(901) IF (DO_FUN(234)) & Vdot(234) = A(127)+0.44*A(128)+A(713)-A(715)-A(716)-A(717)-A(718)+A(722) IF (DO_FUN(235)) & Vdot(235) = A(748)+A(749)-A(750)-A(751)-A(752)+A(753)+A(754)-A(766) IF (DO_FUN(236)) & Vdot(236) = 0.28*A(704)+0.2*A(750)+A(751)-A(756)-A(757)-A(758)-A(759)+A(760)+A(761)-A(765)+A(766)+A(1043)+A(1044) IF (DO_FUN(237)) & Vdot(237) = 0.37*A(417)+0.28*A(418)+0.37*A(419)-A(423)-A(424)-A(425)+0.37*A(460)+0.37*A(461) IF (DO_FUN(238)) & Vdot(238) = A(509)+A(510)+A(511)+0.5*A(513)+0.5*A(515)+0.45*A(519)+0.45*A(523)-A(528)+0.06*A(537)+0.06*A(538)+A(1018)& &+A(1019)+0.45*A(1024)+0.45*A(1027) IF (DO_FUN(239)) & Vdot(239) = A(37)-A(38)+0.5*A(782)+A(802)+A(803)+A(804)+A(805)+A(806)+A(807)+A(839)+A(840)+A(844)+A(845)+A(846)+A(847)& &-A(891)+A(994)+A(996)+A(1046) IF (DO_FUN(240)) & Vdot(240) = A(735)-A(736)-A(737)-A(738)+A(739) IF (DO_FUN(241)) & Vdot(241) = 0.12*A(150)-A(369)-A(370)-A(371)-A(372)-A(373)-A(374) IF (DO_FUN(242)) & Vdot(242) = 0.7*A(450)+0.7*A(451)+0.35*A(452)+0.3*A(470)+0.3*A(471)+0.3*A(472)+0.15*A(473)+0.3*A(474)+0.3*A(476)+0.6& &*A(478)+0.45*A(479)+0.3*A(480)-A(482)-A(483)-A(484)-A(865)-A(992) IF (DO_FUN(243)) & Vdot(243) = 0.16*A(536)+0.25*A(551)-A(566)-A(567)-A(568)-A(569) IF (DO_FUN(244)) & Vdot(244) = -A(33)+0.85*A(118)+0.85*A(119)+0.3*A(497)+0.3*A(505)+0.018*A(538)+0.294*A(544)+0.135*A(546)+0.009*A(631)& &+0.054*A(632)+0.013*A(633)+0.07*A(635)+0.036*A(646)+0.23*A(652)-A(984)+0.05*A(1039) IF (DO_FUN(245)) & Vdot(245) = -0.75*A(255)-A(273)+A(302)+0.95*A(309)+A(314)+0.5*A(791)+0.5*A(792)+A(796)+A(800)+A(801)+A(802)+A(803)& &+A(804)+A(808)+A(810)+A(811)-A(943) IF (DO_FUN(246)) & Vdot(246) = 0.31*A(123)-A(124)+A(125)-A(127)-A(128) IF (DO_FUN(247)) & Vdot(247) = 0.791*A(169)-A(361)+0.551*A(594)+0.935*A(595)+0.242*A(600)+0.546*A(601)+0.589*A(631)+0.471*A(632)+0.687& &*A(633)+0.59*A(635)+0.231*A(639)+0.231*A(640)+A(642)+0.82*A(643)+0.68*A(649)+A(654)-A(1005)+A(1015) IF (DO_FUN(248)) & Vdot(248) = 0.059*A(585)+0.272*A(586)-A(653)+A(660)+A(675)+0.37*A(678)-A(880)-A(1014)+0.5*A(1038) IF (DO_FUN(249)) & Vdot(249) = -A(92)+A(103)-A(117)-A(135)-A(188) IF (DO_FUN(250)) & Vdot(250) = -A(100)-A(121)-A(139)+A(162)+0.209*A(169)-A(189) IF (DO_FUN(251)) & Vdot(251) = A(94)-A(102)+A(115)+0.07*A(123)-A(863)-A(926) IF (DO_FUN(252)) & Vdot(252) = A(336)-A(337)-2*A(338)-A(839)-A(840)-A(844)-A(845)-A(846)-A(847)-A(971) IF (DO_FUN(253)) & Vdot(253) = 0.964*A(646)+A(658)+A(659)-A(670)-A(673)-A(674)-A(675) IF (DO_FUN(254)) & Vdot(254) = A(644)+A(655)+A(656)-A(667)-A(668)-A(669) IF (DO_FUN(255)) & Vdot(255) = 0.27*A(379)+0.63*A(417)+0.47*A(418)+0.63*A(419)-A(420)-A(421)-A(422)+0.63*A(460)+0.63*A(461)-A(1058) IF (DO_FUN(256)) & Vdot(256) = 0.5*A(403)+0.5*A(416)+0.5*A(435)+A(468)+0.7*A(470)+0.7*A(471)+0.7*A(472)+0.35*A(473)+0.7*A(474)+0.7*A(476)& &+1.4*A(478)+1.05*A(479)+0.7*A(480)-A(481)-A(485)-A(864)-A(991) IF (DO_FUN(257)) & Vdot(257) = 0.4*A(387)+A(389)+A(390)-A(391)-A(392)-A(393)+A(394)-A(395)+A(396)-A(464)-A(465) IF (DO_FUN(258)) & Vdot(258) = 0.176*A(539)+0.548*A(543)+0.35*A(558)+0.35*A(565)+0.35*A(566)-A(686)+0.333*A(688)-A(1033)-A(1034)+0.75& &*A(1035) IF (DO_FUN(259)) & Vdot(259) = A(647)+0.32*A(649)-A(671)+0.165*A(672)-A(676)-A(677)+A(683) IF (DO_FUN(260)) & Vdot(260) = -A(65)-A(113)-A(147)+A(149)+0.209*A(176)-A(192)+A(332)+A(333) IF (DO_FUN(261)) & Vdot(261) = -A(360)+0.441*A(597)+0.858*A(598)+0.033*A(600)+0.071*A(601)+0.051*A(631)+0.054*A(632)+0.064*A(633)+0.07& &*A(635)+0.099*A(639)+0.099*A(640)+0.89*A(642)+0.73*A(643)-A(692)-A(990)+0.3*A(1013)+0.15*A(1038) IF (DO_FUN(262)) & Vdot(262) = 0.4*A(381)+0.675*A(445)+0.675*A(446)+0.78*A(447)+0.78*A(448)+0.39*A(449)+0.3*A(450)+0.3*A(451)+0.15*A(452)& &-A(453)-A(454)-A(455)+0.675*A(462)+0.675*A(463)+0.675*A(1057) IF (DO_FUN(263)) & Vdot(263) = 0.15*A(379)+0.5*A(381)+0.5*A(388)+0.84*A(399)+A(400)+0.75*A(401)+0.5*A(402)+0.55*A(403)+0.5*A(407)+A(422)& &+A(425)+A(428)+0.7*A(447)+0.7*A(448)+0.35*A(449)+0.7*A(450)+0.7*A(451)+0.35*A(452)+A(453)+A(454)+0.5*A(455)& &+0.7*A(702)+A(703)+0.813*A(705)+A(706)+0.93*A(707)+A(708)+0.46*A(724)+0.81*A(725)+0.85*A(726)-A(727)-A(728)& &-A(729)-A(730)-A(731)+0.14*A(741)+0.2*A(743)+0.2*A(744)+0.7*A(745)+0.2*A(747)+A(1052) IF (DO_FUN(264)) & Vdot(264) = -A(7)+A(19)-A(21)+A(23)-A(244)-A(295)+0.06*A(365)+0.06*A(366)+A(373)+0.013*A(493)+0.045*A(645)-A(886) IF (DO_FUN(265)) & Vdot(265) = -A(47)+0.134*A(151)+A(152)+0.5*A(168)-A(318)+0.21*A(365)+0.54*A(366)+0.449*A(650)+0.187*A(661)+0.3*A(685)& &+0.5*A(694)+0.364*A(714)+0.26*A(767)+0.5*A(768)+0.1*A(770)+0.2*A(771) IF (DO_FUN(266)) & Vdot(266) = A(560)+A(564)+A(567)+A(584)+A(588)+A(592)+A(593)+A(629)+0.5*A(630)-A(690)+0.9*A(691)-A(877)-A(1040)& &-A(1041) IF (DO_FUN(267)) & Vdot(267) = A(518)-A(580)-A(581)-A(583)+0.127*A(608)+0.057*A(609)-A(872)-A(1027) IF (DO_FUN(268)) & Vdot(268) = A(522)-A(578)-A(579)-A(582)+0.032*A(607)+0.671*A(608)+0.298*A(609)-A(869)-A(1024) IF (DO_FUN(269)) & Vdot(269) = 0.258*A(742)+0.5*A(744)+0.5*A(747)+A(762)-A(763)-A(764)-A(881)-A(1046) IF (DO_FUN(270)) & Vdot(270) = 0.065*A(81)+0.134*A(151)+0.2*A(153)-A(163)-A(165)+0.8*A(563)+0.52*A(565)+A(697)+0.1*A(707)+0.636*A(714)& &+0.18*A(724)+0.12*A(725)+0.1*A(726)+0.06*A(741)+0.6*A(767)+0.6*A(768)+0.2*A(769)-A(856)-A(908)-A(909)& &-A(910)+0.5*A(1007)+0.429*A(1009)+0.125*A(1010)+0.586*A(1034)+0.571*A(1036) IF (DO_FUN(271)) & Vdot(271) = 0.67*A(621)-A(630)-A(631)-A(633)-A(634) IF (DO_FUN(272)) & Vdot(272) = A(423)+0.27*A(424)+0.18*A(426)-A(429)-A(430)-A(431)-A(432) IF (DO_FUN(273)) & Vdot(273) = 0.1*A(383)+A(409)-A(410)-A(411)-A(412)-A(413)-A(414)+A(415) IF (DO_FUN(274)) & Vdot(274) = 0.715*A(379)+0.27*A(412)+0.23*A(413)+0.27*A(414)+0.085*A(416)+A(420)+0.6*A(421)+0.73*A(424)+0.32*A(426)& &+0.4*A(427)+A(433)+A(434)+0.5*A(435)-A(436)-A(437)-A(438)+A(439)-A(440)+A(441)-A(466)-A(467)+0.27*A(1054)& &+0.9*A(1058) IF (DO_FUN(275)) & Vdot(275) = 0.15*A(380)+0.255*A(382)-A(404)-A(405)-A(406)+A(408)-A(458)-A(459) IF (DO_FUN(276)) & Vdot(276) = -A(330)-A(493)-A(494)-A(495)-A(496)-A(497)-A(603) IF (DO_FUN(277)) & Vdot(277) = 0.15*A(380)+0.67*A(382)+0.5*A(383)-A(384)-A(385)-A(386)+0.6*A(387)-A(456)-A(457) IF (DO_FUN(278)) & Vdot(278) = 0.44*A(391)+A(392)+A(395)+A(397)-A(398)-A(399)-A(400)-A(401)+0.5*A(402)+0.75*A(464)+A(465)+A(1049)+A(1050)& &+A(1051) IF (DO_FUN(279)) & Vdot(279) = A(91)+0.072*A(97)-A(103)+A(117)-A(929) IF (DO_FUN(280)) & Vdot(280) = 0.1*A(375)+0.1*A(376)+0.5*A(377)+0.5*A(449)+0.5*A(452)+0.5*A(455)-A(468)-A(470)-A(472)-A(474)-A(476)-2& &*A(478)-A(479) IF (DO_FUN(281)) & Vdot(281) = A(378)+0.2*A(380)+0.075*A(382)-A(417)-A(418)-A(419)-A(460)-A(461) IF (DO_FUN(282)) & Vdot(282) = A(29)+0.13*A(31)-A(48)+0.25*A(112)+0.25*A(113)+0.25*A(129)+0.25*A(130)+0.25*A(132)+0.25*A(133)+0.25*A(134)& &+0.25*A(135)+0.5*A(136)+0.25*A(137)+0.25*A(138)+0.25*A(139)-A(324)+0.25*A(401)+0.25*A(413)+0.25*A(432)+0.25& &*A(456)+0.25*A(458)+0.25*A(460)+0.25*A(462)+0.25*A(473)+0.355*A(609)+0.034*A(610)+0.2*A(718)+0.1*A(907) IF (DO_FUN(283)) & Vdot(283) = -A(104)+0.5*A(168)+0.1*A(181)+0.1*A(182)+0.1*A(183)+0.1*A(184)+0.1*A(185)+0.1*A(186)+0.1*A(187)+0.1*A(188)& &+0.1*A(189)+0.1*A(190)+0.1*A(191)+0.1*A(192)+0.1*A(193)-A(326)+A(374)+0.1*A(457)+0.1*A(459)+0.1*A(461)+0.1& &*A(463)+0.13*A(695)+0.15*A(770)+0.3*A(771) IF (DO_FUN(284)) & Vdot(284) = -A(340)+A(341)+A(343)-A(344)-A(345)+A(348)-A(349)+A(350)+A(354)-A(355)-A(356)-2*A(357)+0.008*A(358)-A(968)& &+A(979) IF (DO_FUN(285)) & Vdot(285) = 0.068*A(528)+0.33*A(553)+0.19*A(555)-A(561)-A(562)-A(563)-A(564)-A(565)+0.032*A(687) IF (DO_FUN(286)) & Vdot(286) = 0.294*A(528)+0.67*A(553)+0.81*A(555)-A(556)-A(557)-A(558)-A(559)-A(560)+0.08*A(687) IF (DO_FUN(287)) & Vdot(287) = A(510)+0.5*A(511)+0.5*A(515)+0.55*A(523)+0.17*A(525)+0.09*A(527)+0.158*A(528)+0.165*A(536)+0.716*A(540)& &+0.14*A(542)+0.004*A(631)+0.006*A(633)-A(652)+0.41*A(670)+0.5*A(686)+0.571*A(689)+0.25*A(690)-A(1011)+0.55& &*A(1027)+0.5*A(1033)+0.15*A(1039)+0.5*A(1041) IF (DO_FUN(288)) & Vdot(288) = A(509)+0.5*A(511)+0.5*A(513)+0.55*A(519)+0.33*A(524)+0.19*A(526)+0.125*A(528)+0.125*A(535)+0.706*A(544)& &+0.14*A(546)+0.054*A(631)+0.059*A(633)-A(651)+0.335*A(667)+0.429*A(689)+0.75*A(690)-A(1008)+0.55*A(1024)& &+0.5*A(1041) IF (DO_FUN(289)) & Vdot(289) = 0.9*A(375)+0.9*A(376)+0.5*A(377)-A(469)-A(471)-A(473)-A(475)-A(477)-A(479)-2*A(480) IF (DO_FUN(290)) & Vdot(290) = -A(149)-A(150)-A(162)-A(332)-A(333)+A(912) IF (DO_FUN(291)) & Vdot(291) = 0.5*A(380)-A(443)-A(444)-A(445)-A(446)-A(462)-A(463) IF (DO_FUN(292)) & Vdot(292) = 0.25*A(68)+0.19*A(90)+0.19*A(93)-A(122)-A(131)+0.35*A(132)+0.35*A(134)+0.25*A(137)+0.271*A(182)+0.271& &*A(183)+0.1*A(185)+0.5*A(381)+0.42*A(399)+0.5*A(400)+0.375*A(401)+0.25*A(402)+0.3*A(403)+A(453)+A(454)+0.5& &*A(455)+0.464*A(469)+0.34*A(473)+0.464*A(475)+0.464*A(477)+0.149*A(479)+0.285*A(480)-A(906)+0.19*A(926)& &+0.19*A(929)+A(991)+0.5*A(1052) IF (DO_FUN(293)) & Vdot(293) = -A(600)-A(601)-A(602)+A(620)+0.33*A(621)+0.037*A(691) IF (DO_FUN(294)) & Vdot(294) = 0.3*A(33)+0.5*A(136)-A(164)-A(166)+A(167)+0.1*A(184)+A(361)+0.3*A(496)+0.3*A(497)+0.3*A(503)+0.3*A(505)& &+0.085*A(524)+0.165*A(525)+0.355*A(528)+0.5*A(529)+0.018*A(537)+0.018*A(538)+0.52*A(558)+0.8*A(559)+0.545& &*A(645)+0.88*A(648)+0.449*A(650)+0.187*A(661)+A(662)+A(664)+0.05*A(667)+0.242*A(668)+0.083*A(670)+0.14& &*A(674)+0.7*A(685)+0.25*A(707)+0.12*A(725)+0.2*A(726)+0.6*A(770)+0.6*A(771)+0.2*A(772)-A(857)-A(911)+0.5& &*A(1007)+0.47*A(1008)+0.571*A(1009)+0.125*A(1010)+0.23*A(1011)+0.118*A(1034)+0.429*A(1036)+A(1040) IF (DO_FUN(295)) & Vdot(295) = 0.34*A(90)+0.34*A(93)+A(98)-A(111)+0.16*A(132)+0.16*A(134)+0.75*A(138)+0.791*A(172)+0.29*A(182)+0.29& &*A(183)+A(186)-A(218)-A(329)+0.5*A(381)+0.84*A(399)+A(400)+0.75*A(401)+0.5*A(402)+0.4*A(403)+0.6*A(412)+0.4& &*A(413)+0.6*A(414)+0.3*A(416)+0.45*A(445)+0.45*A(446)+0.3*A(447)+0.3*A(448)+0.15*A(449)+0.5*A(453)+0.5& &*A(454)+0.25*A(455)+0.45*A(462)+0.45*A(463)+A(491)-A(904)-A(905)+A(920)+0.34*A(926)+0.34*A(929)+A(1000)& &+A(1052)+0.6*A(1054)+0.45*A(1057) IF (DO_FUN(296)) & Vdot(296) = A(57)-A(58)-A(59)-A(129)-2*A(142)-A(144)+A(179)-A(190)+A(219)+A(321)-A(322)+A(701) IF (DO_FUN(297)) & Vdot(297) = -A(281)+A(787)+A(789)+A(790)-A(802)-A(803)-A(804)-A(805)-A(806)-A(807)-A(947) IF (DO_FUN(298)) & Vdot(298) = A(63)+0.75*A(68)+0.5*A(71)+1.24*A(73)+0.326*A(78)+0.894*A(79)+0.15*A(90)+0.64*A(92)+0.15*A(93)+0.64*A(95)& &-A(105)-A(110)+0.75*A(112)+0.09*A(113)+0.13*A(132)+0.58*A(133)+0.13*A(134)+0.58*A(135)+0.25*A(139)+A(141)& &+0.64*A(171)+1.185*A(173)+1.185*A(174)+0.255*A(182)+0.255*A(183)+0.613*A(187)+0.613*A(188)+0.1*A(189)+0.035& &*A(192)+A(193)+0.3*A(381)+0.6*A(412)+0.4*A(413)+0.6*A(414)+0.3*A(416)+0.44*A(436)+A(437)+A(440)+A(442)+0.75& &*A(466)+A(467)+1.24*A(469)+0.93*A(473)+1.24*A(475)+1.24*A(477)+0.64*A(479)+1.21*A(480)+A(492)+1.2*A(769)& &+1.15*A(772)-A(903)+A(917)+A(919)+1.5*A(921)+A(922)+1.5*A(923)+0.15*A(926)+1.558*A(927)+0.15*A(929)+A(989)& &+A(992)+A(1001)+0.6*A(1054)+A(1055)+A(1056) IF (DO_FUN(299)) & Vdot(299) = A(587)+A(591)+A(596)+A(599)+A(602)+A(616)+A(618)+A(634)+A(636)-A(641)+0.18*A(643)-A(876)-A(1032) IF (DO_FUN(300)) & Vdot(300) = -A(90)-A(91)+A(101)-A(116)-A(134)+0.21*A(174)-A(183)+A(331)+0.2*A(772) IF (DO_FUN(301)) & Vdot(301) = 0.4*A(582)+0.4*A(583)+0.07*A(606)+0.532*A(607)+0.862*A(608)+0.401*A(609)+0.034*A(610)+0.159*A(612)+0.159& &*A(614)+0.159*A(617)+A(619)+A(628)-A(637)-A(638)+0.159*A(1029)-A(1031)+0.223*A(1032) IF (DO_FUN(302)) & Vdot(302) = 0.6*A(583)+0.599*A(589)+A(590)+0.065*A(597)+0.142*A(598)+0.01*A(600)+0.028*A(601)+0.008*A(631)+0.015& &*A(632)+0.014*A(633)+0.049*A(635)+0.161*A(638)-A(650)+A(657)+A(669)-A(862)-A(1013)+0.05*A(1038) IF (DO_FUN(303)) & Vdot(303) = A(541)+A(545)+A(549)+0.482*A(585)+0.401*A(589)+0.418*A(594)+0.494*A(597)+0.621*A(600)+A(623)+A(624)+0.5& &*A(630)+0.234*A(631)+0.387*A(632)+0.565*A(641)-A(691)-A(878)-A(1038)-A(1039) IF (DO_FUN(304)) & Vdot(304) = 0.5*A(330)+A(495)-A(500)-A(501)-A(504)-A(505)-2*A(507)-A(508)-2*A(510)-A(511)-A(514)-A(515)-A(520)-A(521)& &-A(522)-A(523)+0.51*A(536)+0.03*A(538)+0.159*A(1030) IF (DO_FUN(305)) & Vdot(305) = 0.5*A(330)+A(494)-A(498)-A(499)-A(502)-A(503)-2*A(506)-A(508)-2*A(509)-A(511)-A(512)-A(513)-A(516)-A(517)& &-A(518)-A(519)+0.75*A(535)+0.03*A(537)+0.841*A(1030) IF (DO_FUN(306)) & Vdot(306) = 0.659*A(79)+A(80)+A(82)+A(83)+0.5*A(84)+A(88)+A(126)-A(151)-A(152)-A(153)-A(154)+0.5*A(453)+0.5*A(454)& &+0.25*A(455)+0.294*A(544)+0.135*A(546)+A(548)+0.65*A(550)+0.52*A(558)+0.8*A(559)+0.459*A(585)+0.728*A(586)& &+0.551*A(594)+0.935*A(595)+0.242*A(600)+0.546*A(601)+0.34*A(631)+0.384*A(633)+0.11*A(642)+0.09*A(643)+0.36& &*A(667)+0.758*A(668)+0.2*A(718)+A(720)+A(721)+A(723)+A(746)+0.9*A(768)+0.95*A(771)-A(907)+0.53*A(1008)+0.69& &*A(1013)+0.5*A(1032)+0.118*A(1034)+0.25*A(1035)+0.429*A(1036)+0.3*A(1038)+0.35*A(1039)+A(1040) IF (DO_FUN(307)) & Vdot(307) = 0.16*A(113)+0.2*A(136)-A(167)-A(168)+0.791*A(176)+0.065*A(192)+A(488)+0.5*A(529)+0.284*A(540)+0.135*A(542)& &+A(548)+0.65*A(550)+0.8*A(563)+0.52*A(565)+0.52*A(566)+0.8*A(568)+A(569)+0.459*A(585)+0.728*A(586)+0.441& &*A(597)+0.858*A(598)+0.033*A(600)+0.071*A(601)+0.042*A(631)+0.051*A(633)+0.77*A(652)+0.84*A(666)+0.507& &*A(670)+0.488*A(672)+A(673)+0.86*A(674)+0.5*A(678)+A(679)+A(681)+0.7*A(682)+0.25*A(684)-A(916)+A(993)+0.77& &*A(1011)+A(1014)+0.5*A(1032)+0.586*A(1034)+0.25*A(1035)+0.571*A(1036)+0.45*A(1038)+0.8*A(1039) IF (DO_FUN(308)) & Vdot(308) = A(653)-A(678)-A(679)-A(680)-A(681)-A(682) IF (DO_FUN(309)) & Vdot(309) = 0.416*A(493)+0.063*A(500)+A(504)+2*A(507)+A(508)+A(514)+A(521)+0.035*A(525)+0.14*A(527)+0.165*A(536)& &+A(572)+A(573)+0.048*A(604)+0.123*A(606)+0.019*A(607)+0.028*A(610)+0.097*A(611)+0.097*A(613)+0.096*A(615)& &-A(646)-A(647)-A(648)-A(649)-A(915)+A(1017)+A(1023)+A(1026)+0.097*A(1028)+0.005*A(1032) IF (DO_FUN(310)) & Vdot(310) = 0.465*A(603)-A(604)-2*A(606)-A(607)-A(610)-A(611)-A(613)-A(615)-A(616)+A(626) IF (DO_FUN(311)) & Vdot(311) = 0.535*A(603)-A(605)-A(607)-2*A(608)-A(609)-A(612)-A(614)-A(617)-A(618)+A(627) IF (DO_FUN(312)) & Vdot(312) = 0.22*A(150)-A(362)-A(363)-A(364)-A(365)-A(366)-A(367)-A(368)+0.1*A(383)+0.33*A(421)+0.58*A(493)+0.5*A(645)& &+0.88*A(648)+0.5*A(704)+A(712) IF (DO_FUN(313)) & Vdot(313) = 0.7*A(33)-A(96)+A(111)-A(118)-A(136)-A(184)+A(218)+A(329) IF (DO_FUN(314)) & Vdot(314) = 0.15*A(381)+0.45*A(445)+0.45*A(446)+0.3*A(447)+0.3*A(448)+0.15*A(449)+0.5*A(453)+0.5*A(454)+0.25*A(455)& &+0.45*A(462)+0.45*A(463)+0.177*A(493)+0.063*A(498)+A(502)+2*A(506)+A(508)+A(512)+A(517)+0.035*A(524)+0.23& &*A(526)+0.125*A(535)+A(570)+A(571)+0.479*A(604)+1.737*A(606)+0.544*A(607)+0.583*A(610)+0.903*A(611)+0.903& &*A(613)+0.904*A(615)-A(644)-A(645)+0.04*A(725)+0.04*A(726)-A(912)-A(913)-A(914)+A(1016)+A(1022)+A(1025)& &+0.903*A(1028)+0.05*A(1032)+0.45*A(1057) IF (DO_FUN(315)) & Vdot(315) = -A(60)+0.34*A(90)+0.34*A(93)+0.49*A(109)-A(130)+0.16*A(132)+0.16*A(134)-2*A(143)-A(145)+0.22*A(148)+0.36& &*A(170)+0.29*A(182)+0.29*A(183)-A(191)+0.49*A(194)+0.49*A(195)-A(323)+0.49*A(903)+0.415*A(906)+0.34*A(926)& &+0.34*A(929) IF (DO_FUN(316)) & Vdot(316) = A(204)+A(211)-A(212)+A(793)-A(813)-A(814)-A(815)-A(816)-A(817)-A(818)-A(819)+A(820)+A(821)+A(822)-A(933) IF (DO_FUN(317)) & Vdot(317) = -A(282)+A(301)-A(313)-A(314)-A(795)-A(796)-A(797)-A(798)-A(799)-A(800)-A(801)-A(948)-A(949) IF (DO_FUN(318)) & Vdot(318) = -A(95)+A(102)-A(115)-A(133)-A(187)+0.5*A(763)+0.5*A(764) IF (DO_FUN(319)) & Vdot(319) = 0.25*A(68)+A(89)-A(93)-A(94)-A(114)-A(132)+0.15*A(133)+0.15*A(135)+0.21*A(173)-A(182)+0.27*A(187)+0.27& &*A(188)+0.6*A(412)+0.4*A(413)+0.6*A(414)+0.3*A(416)+0.352*A(436)+0.8*A(437)+0.8*A(440)+0.8*A(442)+0.6& &*A(466)+0.8*A(467)+0.6*A(1054)+0.8*A(1055)+0.8*A(1056) IF (DO_FUN(320)) & Vdot(320) = -A(97)-A(119)+A(122)-A(123)+A(131)-A(137)-A(185)+0.3*A(381) IF (DO_FUN(321)) & Vdot(321) = A(62)-A(63)-A(64)+0.05*A(90)+0.05*A(93)+0.07*A(109)-A(112)+0.03*A(132)+0.03*A(134)-A(146)+0.03*A(148)+0.36& &*A(171)+0.045*A(182)+0.045*A(183)-A(193)+0.07*A(194)+0.07*A(195)+A(220)+A(328)+0.07*A(903)+0.06*A(906)+0.05& &*A(926)+0.05*A(929) IF (DO_FUN(322)) & Vdot(322) = A(105)-A(106)+A(107)-A(109)+A(110)-A(148)+A(175)-A(194)-A(195)+0.84*A(399)+A(400)+0.75*A(401)+0.5*A(402)& &+0.4*A(403)+A(736)+0.44*A(737)+0.33*A(767)+0.33*A(770)+0.15*A(906)+A(914)+0.326*A(927)+0.7*A(1047)+A(1052) IF (DO_FUN(323)) & Vdot(323) = A(61)+0.19*A(90)+0.19*A(93)-A(98)-A(99)+0.27*A(109)-A(120)+0.09*A(132)+0.09*A(134)-A(138)+0.12*A(148)& &+0.209*A(172)+0.162*A(182)+0.162*A(183)-A(186)+0.27*A(194)+0.27*A(195)+A(327)+0.27*A(903)+0.23*A(906)+0.19& &*A(926)+0.19*A(929) IF (DO_FUN(324)) & Vdot(324) = 0.95*A(51)+A(52)-A(53)+A(54)-A(56)+A(96)+0.919*A(97)+0.15*A(118)+0.15*A(119)+0.62*A(123)+0.3*A(136)+0.5& &*A(137)+A(164)+A(166)+0.78*A(178)-2*A(180)-A(181)-A(182)-A(183)-0.1*A(184)-0.1*A(185)-A(186)-A(187)-A(188)& &-A(189)-A(190)-A(191)-A(192)-A(193)-A(194)+A(217)+0.44*A(436)+A(437)+A(440)+A(442)-A(457)-A(459)-A(461)& &-A(463)-A(465)+0.75*A(466)-A(474)-A(475)+0.3*A(496)+0.3*A(503)+0.018*A(537)-A(611)-A(612)+0.38*A(645)+0.12& &*A(648)+0.04*A(650)+0.097*A(661)+A(665)+0.36*A(667)+0.758*A(668)+0.175*A(671)+0.087*A(672)+0.35*A(676)+0.3& &*A(685)+A(692)+A(693)-A(695)-A(731)+A(740)+0.12*A(897)+0.7*A(899)+A(902)+A(904)+0.85*A(906)+A(911)+A(913)& &+A(915)+A(916)+0.326*A(927)+A(984)+A(1004)+A(1005)+A(1006)+0.5*A(1007)+0.53*A(1008)+0.429*A(1009)+0.125& &*A(1010)+0.262*A(1012)+1.01*A(1013)+A(1055)+A(1056) IF (DO_FUN(325)) & Vdot(325) = -A(10)+A(11)+A(12)+A(17)+A(26)+A(29)+2*A(30)+0.87*A(31)+0.3*A(32)-A(34)+A(48)-A(50)+0.05*A(51)+A(55)+A(65)& &+0.98*A(73)+A(76)+A(77)+0.603*A(78)+A(80)+0.065*A(81)+A(84)+A(85)+0.64*A(92)+0.64*A(95)+A(96)+A(100)+0.75& &*A(112)+1.25*A(113)+0.15*A(118)+0.31*A(123)+0.75*A(129)+0.75*A(130)+0.75*A(132)+0.95*A(133)+0.75*A(134)& &+0.95*A(135)+0.5*A(136)+0.75*A(137)+0.75*A(138)+1.25*A(139)+0.5*A(150)+0.732*A(151)+A(157)+0.44*A(158)& &+A(159)+A(160)+A(161)+0.22*A(178)+A(181)+0.9*A(184)+0.351*A(187)+0.351*A(188)+0.9*A(189)+0.9*A(192)+A(195)& &+A(199)+A(201)-A(216)+0.25*A(231)-A(252)+A(274)-A(292)+A(319)+A(324)+A(360)+A(362)+A(363)+A(364)+0.06& &*A(365)+0.06*A(366)+A(367)+A(368)+0.1*A(381)+0.1*A(383)+0.5*A(388)+0.84*A(399)+A(400)+1.5*A(401)+0.5*A(402)& &+0.4*A(403)+0.75*A(405)+A(406)+A(407)+0.75*A(413)+0.67*A(421)+A(427)+0.75*A(432)+0.176*A(436)+0.4*A(437)& &+0.4*A(440)+0.4*A(442)+0.1*A(445)+0.1*A(446)+0.1*A(447)+0.1*A(448)+0.05*A(449)+1.5*A(453)+1.5*A(454)+0.75& &*A(455)+0.75*A(456)+1.75*A(458)+A(459)+0.75*A(460)+0.85*A(462)+0.1*A(463)+A(464)+1.3*A(466)+0.4*A(467)& &+0.287*A(469)+A(472)+0.85*A(473)+0.287*A(475)+0.287*A(477)+0.202*A(479)+0.504*A(480)+A(489)+0.827*A(493)& &+0.3*A(496)+0.3*A(497)+0.063*A(498)+0.063*A(500)+A(502)+0.3*A(503)+A(504)+0.3*A(505)+2*A(506)+2*A(507)+2& &*A(508)+2*A(512)+A(513)+2*A(514)+A(515)+A(517)+A(521)+0.085*A(524)+0.165*A(525)+0.5*A(529)+0.018*A(537)& &+0.018*A(538)+0.716*A(540)+0.14*A(542)+0.706*A(544)+0.14*A(546)+0.65*A(566)+A(568)+0.059*A(585)+0.272& &*A(586)+0.599*A(589)+A(590)+0.031*A(594)+0.065*A(595)+0.065*A(597)+0.142*A(598)+0.104*A(600)+0.383*A(601)& &+0.527*A(604)+1.86*A(606)+0.563*A(607)+0.645*A(609)+1.577*A(610)+A(611)+A(613)+A(615)+0.126*A(631)+0.088& &*A(632)+0.249*A(633)+0.34*A(635)+0.6*A(645)+0.12*A(648)+0.241*A(650)+0.05*A(667)+0.242*A(668)+0.083*A(670)& &+0.5*A(671)+0.25*A(672)+0.14*A(674)+A(676)+A(682)+0.022*A(691)+0.5*A(694)+A(696)+A(702)+A(703)+0.5*A(704)& &+0.25*A(705)+A(706)+0.12*A(707)+A(712)+0.8*A(718)+2*A(719)+A(730)+A(740)+A(765)+A(766)+A(779)+A(887)-A(888)& &-A(889)+0.3*A(901)+A(902)+0.9*A(907)+A(910)+A(913)+A(915)+A(916)+A(924)+A(982)+A(984)+A(990)+A(998)+A(1002)& &+A(1003)+A(1005)+A(1006)+0.47*A(1008)+0.23*A(1011)+0.75*A(1012)+A(1016)+A(1017)+A(1025)+A(1026)+A(1028)& &+0.055*A(1032)+0.133*A(1034)+0.55*A(1038)+0.15*A(1039)+A(1052)+A(1053)+0.4*A(1055)+0.4*A(1056)+0.1*A(1057) IF (DO_FUN(326)) & Vdot(326) = -A(51)-A(52)+A(58)+A(60)+A(65)+0.65*A(73)+0.34*A(90)+0.97*A(92)+0.34*A(93)+0.97*A(95)+0.919*A(97)+A(100)& &+A(108)+0.5*A(113)+0.15*A(119)+0.62*A(123)+0.75*A(129)+0.75*A(130)+0.16*A(132)+0.38*A(133)+0.16*A(134)+0.38& &*A(135)+0.5*A(137)+0.5*A(139)+A(140)+1.6*A(142)+1.6*A(143)+0.5*A(150)+0.64*A(170)+0.29*A(182)+0.29*A(183)& &+0.9*A(185)+0.675*A(187)+0.675*A(188)+0.9*A(189)+A(190)+A(191)+0.9*A(192)-A(217)+A(322)+A(323)+A(325)& &+A(369)+A(370)+A(371)+A(372)+A(373)+A(490)+0.4*A(705)-A(897)-A(898)+A(918)+A(924)+A(925)+0.34*A(926)+0.348& &*A(927)+0.34*A(929)+A(999) IF (DO_FUN(327)) & Vdot(327) = -A(3)-A(6)+A(35)-A(36)+A(50)+A(52)+A(67)+A(101)+A(110)+A(131)+A(154)+A(165)+A(166)+A(179)+A(201)+A(389)& &+A(486)+A(487)+0.32*A(649)+A(692)+A(706)+A(708)+0.742*A(742)+0.5*A(744)+0.5*A(747)+A(749)+0.5*A(764)+0.5& &*A(782)+A(783)+2*A(786)+A(787)+2*A(788)+A(789)+A(790)+A(793)+A(794)+A(795)+A(796)+A(797)+A(798)+A(799)& &+A(800)+A(801)+A(841)+A(842)+A(843)+A(848)+A(849)+A(850)+A(851)-A(890) IF (DO_FUN(328)) & Vdot(328) = -A(17)+A(25)-A(26)-A(27)-A(28)-2*A(29)-2*A(30)-A(31)+0.7*A(32)+A(56)+0.19*A(90)+0.19*A(93)+A(104)-A(112)& &-A(113)+0.85*A(119)-A(129)-A(130)-0.91*A(132)-A(133)-0.91*A(134)-A(135)-A(136)-0.75*A(137)-A(138)-A(139)& &+0.28*A(150)+0.5*A(168)+2*A(180)-0.1*A(181)+0.9*A(182)+0.9*A(183)+0.9*A(184)+0.9*A(185)+0.9*A(186)+0.9& &*A(187)+0.9*A(188)+0.9*A(189)+0.9*A(190)+0.9*A(191)+0.9*A(192)+0.9*A(193)+A(194)-A(195)-A(197)+A(198)& &+A(199)+A(200)+A(201)+0.75*A(231)+0.9*A(257)+A(258)-A(274)+A(291)-A(319)+A(320)+A(326)+A(359)-A(401)-A(413)& &-A(432)-A(456)+0.9*A(457)-A(458)+0.9*A(459)-A(460)+0.9*A(461)-A(462)+0.9*A(463)-A(464)+A(465)-A(466)+A(467)& &-A(472)-A(473)+A(474)+0.5*A(475)+0.407*A(493)-A(512)-A(513)-A(514)-A(515)-A(609)-A(610)+A(611)+A(612)+0.325& &*A(671)+0.162*A(672)+0.65*A(676)-A(682)+0.5*A(695)-A(718)-A(730)+A(731)-A(765)-A(766)-A(779)+0.88*A(897)& &+0.3*A(899)+A(904)+2*A(905)+0.15*A(906)+A(914)+A(925)+0.19*A(926)+0.19*A(929)+A(930)+A(939)+A(940)+A(983)& &+0.488*A(1012) IF (DO_FUN(329)) & Vdot(329) = -A(24)+A(34)+A(50)+0.05*A(51)+A(55)+A(80)+A(82)+A(83)+A(84)+A(85)+A(88)+A(108)+A(126)+0.56*A(150)+0.505& &*A(151)+A(152)+A(160)+2*A(163)+A(164)+2*A(165)+A(166)+0.5*A(168)+A(216)+A(238)+A(252)+A(292)+A(315)+A(316)& &+A(317)-A(362)-A(369)+0.15*A(379)+0.1*A(383)+0.407*A(493)+0.6*A(496)+0.9*A(497)+0.6*A(503)+0.9*A(505)& &+A(509)+A(510)+A(511)+0.5*A(513)+0.5*A(515)+0.55*A(519)+0.55*A(523)+0.45*A(524)+0.37*A(525)+0.42*A(526)& &+0.23*A(527)+0.638*A(528)+1.5*A(529)+A(530)+0.25*A(535)+0.33*A(536)+0.036*A(537)+0.054*A(538)+A(557)+0.13& &*A(558)+0.2*A(559)+A(562)+0.2*A(563)+0.13*A(565)+0.52*A(566)+0.8*A(568)+2*A(569)+0.6*A(582)+0.6*A(583)& &+0.539*A(638)+0.33*A(639)+0.33*A(640)+0.28*A(645)+0.036*A(646)+0.12*A(648)+0.68*A(649)+0.77*A(652)+0.25& &*A(654)+0.75*A(661)+A(662)+A(664)+2*A(665)+0.84*A(666)+0.507*A(670)+0.325*A(671)+0.488*A(672)+A(673)+0.86& &*A(674)+0.65*A(676)+0.25*A(684)+A(685)+A(686)+0.888*A(687)+A(690)+A(696)+0.18*A(704)+0.12*A(707)+0.364& &*A(714)+0.2*A(724)+0.27*A(725)+0.3*A(726)+2*A(740)+0.15*A(763)+0.15*A(764)+0.26*A(767)+0.5*A(768)+0.25& &*A(770)+0.5*A(771)+0.05*A(772)+A(888)+A(889)+0.88*A(897)+A(898)+0.7*A(901)+A(902)+A(903)+A(905)+A(907)+2& &*A(908)+2*A(909)+A(910)+A(911)+A(912)+A(913)+A(915)+A(986)+A(990)+A(1003)+A(1006)+0.5*A(1007)+0.571*A(1009)& &+0.875*A(1010)+0.77*A(1011)+A(1014)+A(1015)+0.888*A(1020)+0.818*A(1021)+A(1022)+A(1023)+0.55*A(1024)+0.55& &*A(1027)+0.839*A(1031)+A(1033)+0.163*A(1034)+A(1037)+A(1041)+A(1043)+A(1046)+A(1049)+A(1058) IF (DO_FUN(330)) & Vdot(330) = A(352)-A(354)+A(355)-A(828)-A(829)+A(843)-A(852)-A(853)-A(854)-A(855)-A(967) IF (DO_FUN(331)) & Vdot(331) = -A(334)-A(336)+A(337)+A(339)-A(342)-A(343)+0.2*A(344)+0.809*A(349)-A(350)-A(351)+A(352)+A(353)+A(356)+0.4& &*A(357)+0.996*A(358)+A(359)+2*A(966)+A(967)+A(968)+A(969)+A(970)+A(971)+A(972)+A(973)+A(974)+2*A(975)& &+A(976)+A(977)+A(980)+A(981) IF (DO_FUN(332)) & Vdot(332) = A(339)+A(340)-A(341)-A(342)-A(841)-A(842)-A(843)-A(848)-A(849)-A(850)-A(851)-A(972) IF (DO_FUN(333)) & Vdot(333) = A(273)+A(277)+A(278)-A(280)+A(281)+A(282)+A(299)+A(795)-A(808)-A(809)-A(810)-A(811)-A(812)-A(950) IF (DO_FUN(334)) & Vdot(334) = -A(226)-A(227)-A(228)-A(229)-A(230)-A(231)-A(237)-A(253)-A(254)-A(255)-A(256)-A(257)-A(258)-A(259)-A(260)& &-A(261)-A(262)-A(263)-A(264)-A(265)-A(266)-A(267)-A(268)-A(269)-A(270)-A(271)-A(272)+A(883)+A(985) IF (DO_FUN(335)) & Vdot(335) = A(13)-A(16)+A(22)+A(26)-A(35)+A(38)-A(39)+A(40)+A(41)+A(42)+2*A(43)+A(44)-A(45)+A(46)-A(53)+A(54)+A(55)& &+A(56)+A(58)+A(60)+A(63)+A(65)+A(68)+2*A(73)+A(76)+0.942*A(78)+A(80)+A(82)+A(85)-A(86)+A(87)+A(90)+2*A(92)& &+A(93)+2*A(95)+A(96)+0.928*A(97)+A(98)+2*A(100)-A(106)+A(107)+A(108)+A(109)+0.93*A(123)-A(124)+A(125)& &+A(126)+A(127)+A(133)+A(135)+A(139)-A(155)+A(156)+A(157)+A(159)+A(160)+A(187)+A(188)+A(189)+2*A(196)-A(197)& &+A(198)+A(209)+A(215)-A(221)-A(222)-A(240)+A(241)+A(242)-A(243)-A(250)+A(281)+A(300)-A(301)-A(336)+A(337)+2& &*A(338)-A(340)+A(341)+A(348)+A(356)+A(360)+A(361)+A(363)-A(364)+A(370)-A(371)+0.75*A(385)+A(386)+0.5*A(388)& &+A(392)-A(393)+A(394)+A(395)+0.84*A(399)+A(400)+0.5*A(403)+0.75*A(405)+A(406)+0.5*A(407)+A(412)+A(414)+0.5& &*A(416)+0.75*A(418)+A(419)+0.5*A(426)+0.5*A(427)+A(428)+0.84*A(429)+A(431)+A(434)+0.5*A(435)+A(437)-A(438)& &+A(439)+A(440)+A(445)+A(446)+0.5*A(449)+0.3*A(450)+0.3*A(451)+1.15*A(452)+0.5*A(455)+A(468)+2*A(469)+0.5& &*A(473)+A(475)+A(476)+2*A(477)+0.5*A(479)+A(480)+A(489)+A(490)+A(491)+A(492)+A(517)+A(519)+A(521)+A(523)& &+A(540)+A(544)+A(548)+A(559)+A(563)+A(568)+A(570)+A(572)+A(575)+A(577)+A(578)+A(580)+0.459*A(585)+1.728& &*A(586)+A(590)+A(595)+A(598)+A(601)+0.527*A(604)+1.86*A(606)+0.563*A(607)+0.611*A(610)+A(611)+2*A(613)& &+A(614)+2*A(615)+A(617)+A(625)+0.058*A(631)+1.065*A(633)+A(635)+A(637)+A(639)+0.565*A(641)+1.11*A(642)+0.09& &*A(643)+0.31*A(650)+A(655)-A(657)+A(658)-A(660)+A(668)+A(674)+A(676)-A(677)+0.5*A(678)+2*A(679)+2*A(681)& &+0.7*A(682)+A(683)+A(690)+0.022*A(691)+A(692)+A(703)+0.89*A(709)+A(711)+0.995*A(716)+A(717)+A(721)+A(728)& &+A(729)+A(733)+A(736)-A(738)+A(739)+A(740)+A(751)-A(752)+A(754)+A(755)-A(756)+A(757)+A(758)-A(762)+0.5& &*A(763)+A(764)+A(779)-A(782)-A(885)+A(890)+A(893)+A(894)+A(896)+0.7*A(899)+A(900)+A(917)+A(926)+A(927)& &+A(928)+A(929)+A(935)+A(936)+A(947)+A(949)+A(971)+A(983)+A(990)+A(991)+A(992)+A(993)+A(995)+A(997)+A(998)& &+A(999)+A(1000)+A(1001)+A(1005)+0.7*A(1013)+A(1014)+A(1024)+A(1025)+A(1026)+A(1027)+A(1028)+A(1030)+A(1031)& &+1.555*A(1032)+0.3*A(1038)+A(1039)+A(1040)+A(1041)+0.7*A(1047) IF (DO_FUN(336)) & Vdot(336) = A(18)+A(20)+A(21)+A(25)+A(32)+A(33)+A(34)+A(36)+A(38)+A(41)+A(47)+A(51)+A(57)+A(72)+A(102)+A(103)+A(104)& &+A(105)+A(111)+A(122)+A(206)+A(225)-A(226)+A(234)+0.02*A(247)+A(279)+A(280)+A(283)+A(286)+A(287)+A(288)& &+A(289)+A(290)+A(318)+A(353)+A(354)+A(359)-A(365)-2*A(366)-A(373)-A(374)+A(701)+A(781)-A(786)-A(793)-A(795)& &+A(808)+A(809)+A(810)+A(811)+A(813)+A(814)+A(815)+A(816)-A(843)+A(928) IF (DO_FUN(337)) & Vdot(337) = A(14)-A(15)+A(17)-A(20)+A(21)-A(22)-2*A(23)+A(24)+A(26)-A(28)+2*A(30)+1.74*A(31)+A(34)-A(39)+A(40)-A(42)& &+A(44)+A(47)+A(48)+A(50)+0.05*A(51)+A(58)+A(60)+A(63)+A(65)+0.75*A(68)-A(70)-A(74)+0.513*A(78)-A(79)+A(80)& &+0.425*A(81)+A(82)-0.75*A(84)+A(85)+0.27*A(90)+0.27*A(93)+A(98)+A(112)+A(113)-A(114)-A(115)-A(116)-A(117)& &-A(118)-A(119)-A(120)-A(121)-A(128)+A(129)+A(130)+0.64*A(132)+0.5*A(133)+0.64*A(134)+0.5*A(135)+0.3*A(136)& &+0.5*A(137)+A(138)+0.5*A(139)+A(140)+A(141)+1.2*A(142)+1.2*A(143)-A(144)-A(145)-A(146)-A(147)-A(148)+0.28& &*A(150)+0.773*A(151)+0.2*A(153)+A(157)-0.56*A(158)+A(159)+A(161)+A(163)+A(165)+A(167)+0.9*A(181)+0.243& &*A(182)+0.243*A(183)+0.9*A(186)+0.9*A(190)+0.9*A(191)+0.9*A(192)+0.9*A(193)+A(195)+A(202)-A(204)-A(205)& &+A(214)+A(216)+A(225)+0.2*A(231)-A(236)+A(244)+A(245)-A(247)+A(252)+A(274)+A(275)+A(283)+A(284)+A(285)& &+A(292)+A(295)-A(296)-A(297)-A(299)+A(315)+A(316)+A(317)+A(319)+A(322)+A(323)+A(324)-A(351)-A(355)+0.05& &*A(381)-A(384)+0.75*A(385)+A(386)+0.5*A(388)-A(391)-A(398)+A(401)-A(404)+0.75*A(405)+A(406)+0.5*A(407)& &-A(410)+A(412)+A(413)+A(414)-A(417)+0.75*A(418)+A(419)+0.84*A(429)-A(430)+A(431)+A(432)-A(436)-A(443)& &+A(445)+A(446)+A(453)+0.5*A(455)+1.75*A(456)+A(457)+1.75*A(458)+A(459)+1.75*A(460)+A(461)+1.75*A(462)& &+A(463)+0.75*A(464)+0.75*A(466)+A(468)-A(470)-A(471)+2*A(472)+0.5*A(473)+A(474)+A(476)+A(478)+0.5*A(479)& &+0.16*A(493)+0.4*A(496)+0.7*A(497)-0.937*A(498)-A(499)-0.937*A(500)-A(501)+0.4*A(503)+0.7*A(505)+2*A(506)+2& &*A(507)+2*A(508)+A(509)+A(510)+A(511)+2*A(512)+1.5*A(513)+2*A(514)+1.5*A(515)+A(517)+0.45*A(519)+A(521)& &+0.45*A(523)+0.085*A(524)+0.165*A(525)+0.283*A(528)+A(530)+0.25*A(535)+0.33*A(536)+0.024*A(537)+0.042& &*A(538)+A(540)-0.725*A(542)+A(544)-0.725*A(546)-A(550)+0.75*A(551)+A(552)+A(554)+A(556)-0.35*A(558)+A(559)& &+A(561)+A(563)-0.35*A(565)-0.35*A(566)+A(568)+A(569)-A(571)-A(573)+0.4*A(582)+0.4*A(583)+A(584)-0.941& &*A(585)+0.272*A(586)+A(588)-0.401*A(589)+A(590)+A(592)+A(593)-0.418*A(594)+A(595)-0.494*A(597)+A(598)-0.621& &*A(600)+A(601)-A(604)-A(605)+0.089*A(607)+0.064*A(608)+0.336*A(609)+0.611*A(610)+0.159*A(612)+0.159*A(614)& &+0.159*A(617)+A(619)-0.674*A(631)-0.42*A(632)+0.5*A(633)+0.904*A(635)+0.295*A(638)+0.33*A(639)-0.67*A(640)& &+0.89*A(642)-0.27*A(643)+0.1*A(645)+0.036*A(646)-A(656)-A(659)+0.715*A(661)+A(663)+A(665)+A(666)-0.695& &*A(667)+0.242*A(668)-0.493*A(670)-A(671)+0.86*A(674)-A(678)+0.7*A(682)+0.5*A(686)+0.444*A(687)+0.62*A(691)& &+0.5*A(694)-A(695)+0.7*A(702)+0.1*A(704)+0.18*A(705)+0.03*A(707)+A(709)-A(710)+A(711)+0.364*A(714)-A(715)& &+0.6*A(718)+A(719)+A(720)+0.54*A(724)+0.19*A(725)+0.15*A(726)+A(728)+A(729)+2*A(730)+A(731)+A(733)-A(734)& &-A(737)+0.8*A(741)+0.727*A(743)+A(746)-A(750)-A(759)+A(765)+A(766)+0.33*A(767)+0.1*A(768)+0.2*A(769)+0.33& &*A(770)+0.1*A(771)+0.2*A(772)+A(779)-A(781)+A(887)+A(888)+A(893)+A(897)+0.3*A(901)+A(902)+A(903)+1.73& &*A(907)+2*A(908)+A(911)+A(913)+A(915)+A(916)+A(917)+A(918)+A(919)+A(920)+A(921)+A(922)+A(923)+A(924)+A(925)& &+0.27*A(926)+0.326*A(927)+A(928)+0.27*A(929)+A(982)+A(989)+A(990)+A(998)+A(999)+A(1000)+A(1001)+A(1003)& &+A(1004)+A(1006)+1.5*A(1007)+0.47*A(1008)+0.571*A(1009)+0.125*A(1010)+A(1011)+0.29*A(1013)+A(1014)+A(1015)& &+A(1016)+A(1017)+A(1018)+A(1019)+0.112*A(1020)+0.182*A(1021)+A(1022)+A(1023)+0.45*A(1024)+A(1025)+A(1026)& &+0.45*A(1027)+0.33*A(1028)+0.159*A(1029)+0.161*A(1031)+0.228*A(1032)+1.5*A(1033)+A(1034)+0.75*A(1035)& &+A(1036)+1.454*A(1037)+0.7*A(1038)+0.7*A(1039)+A(1041)+A(1043)+A(1046)+A(1048)+A(1049)+A(1053)+A(1054)& &+A(1057)+A(1058) IF (DO_FUN(338)) & Vdot(338) = 0.22*A(253)+0.75*A(255)+0.79*A(256)+0.46*A(257)+0.56*A(261)+0.9*A(262)+0.86*A(263)+0.34*A(264)+0.69*A(266)& &+0.65*A(267)+0.79*A(268)+0.8*A(269)+0.85*A(270)+0.86*A(271)-A(274)-A(275)-A(276)+A(280)+A(293)+A(297)& &-A(298)-A(299)-A(300)-A(301)-2*A(302)-2*A(303)-2*A(304)-2*A(307)+2*A(308)+0.1*A(309)-A(310)-A(311)-A(312)& &+A(313)+A(319)+A(322)+A(323)-A(349)-A(944)+A(945)+A(949) IF (DO_FUN(339)) & Vdot(339) = -A(2)-A(5)-0.88*A(253)+A(276)-A(279)+A(291)+A(292)+A(294)+A(295)+A(296)+2*A(315)+A(316)+A(317)+A(318)& &+A(320)+A(321)+A(324)+A(325)+A(326)+A(327)+A(328)+A(329)+A(330)+A(331)+A(332)-A(787)-A(794)-A(796)-A(804)& &-A(808)+A(812)-A(814) IF (DO_FUN(340)) & Vdot(340) = 0.66*A(253)+0.75*A(255)+2.37*A(256)+0.35*A(257)+0.19*A(261)+1.8*A(262)+0.86*A(263)+0.31*A(264)+0.69*A(266)& &+0.79*A(268)+1.9*A(269)+0.95*A(270)+A(273)+A(275)+A(279)+A(283)+2*A(284)+3*A(285)+3*A(286)+A(287)+2*A(288)& &+A(289)+2*A(290)-A(291)-A(292)-A(293)-A(294)-A(295)-A(296)-A(297)+A(298)+A(300)+A(303)+A(304)-A(305)+A(306)& &-A(309)-A(314)-A(315)+A(316)+2*A(317)-A(318)-A(319)-A(320)-A(321)-A(322)-A(323)-A(324)-A(325)-A(326)-A(327)& &-A(328)-A(329)-A(330)-A(331)-A(332)+0.249*A(349)+A(940)+2*A(941)+A(942)+2*A(943)+A(944)+A(946)+A(947)& &+A(948)+A(950)+3*A(951)+4*A(952)+3*A(953)+2*A(954)+3*A(955)+2*A(956)+A(957)+2*A(958)+2*A(959)+A(960)+A(961)& &+A(963)+A(965)+A(976)+A(981) IF (DO_FUN(341)) & Vdot(341) = -A(1)-A(4)-A(8)-A(13)-A(14)-A(15)-A(16)-A(17)-A(77)+0.15*A(128)+0.15*A(148)-A(150)+0.15*A(158)-A(203)& &+A(232)-A(233)-A(237)-A(246)-A(293)-A(350)-A(367)-A(379)-A(381)-A(383)+0.15*A(391)-A(421)-A(424)-A(427)& &+0.15*A(436)-A(448)-A(451)-A(454)-A(483)-A(493)-A(645)-A(648)+0.13*A(671)+0.13*A(678)+0.13*A(695)-A(704)& &-A(712)+0.15*A(737)-A(746)+0.15*A(750)-A(761)-A(768)-A(771)-A(820)-A(821)-A(822)-A(882)-A(883) IF (DO_FUN(342)) & Vdot(342) = -A(203)-A(205)+A(206)+2*A(207)+A(209)-A(210)+A(211)+A(213)+A(214)-A(215)-A(216)-A(217)-A(218)-A(219)& &-A(220)-A(221)+3*A(223)+2*A(224)+A(225)+A(251)+0.6*A(254)+0.56*A(258)+0.95*A(259)+1.4*A(260)+0.34*A(264)& &+0.75*A(272)+A(310)+A(311)-A(333)+A(343)+A(344)+2*A(931)+A(932)+A(933)+A(934)+A(936)+3*A(937)+2*A(938)& &+A(939)+A(942)+A(962)+A(963)+2*A(964)+A(977)+A(980) IF (DO_FUN(343)) & Vdot(343) = A(18)-A(212)-A(213)+A(227)+A(228)-A(232)-A(233)-A(235)-A(236)+A(237)-A(238)-A(240)-A(241)-A(242)-A(243)& &-A(244)+0.02*A(247)+A(248)+A(249)+A(250)-A(251)-A(252)+0.12*A(253)+0.2*A(254)+0.25*A(255)+0.21*A(256)+0.1& &*A(257)+0.05*A(259)+0.3*A(260)+0.25*A(261)+0.1*A(262)+0.14*A(263)+0.35*A(264)+0.55*A(265)+0.31*A(266)+0.35& &*A(267)+0.21*A(268)+0.1*A(269)+0.1*A(270)+0.14*A(271)+0.25*A(272)-A(298)-A(313)+A(882)+2*A(884)+A(885)& &+A(894)+A(932)+A(944)+A(945)+A(968)+A(988) IF (DO_FUN(344)) & Vdot(344) = A(5)-A(790)-A(792)-A(801)-A(803)-A(811)-A(816)-A(847)-A(851)-A(855) IF (DO_FUN(345)) & Vdot(345) = -A(12)-A(14)+A(15)-2*A(18)-2*A(19)-A(20)-A(21)+A(22)-A(24)-A(25)-A(31)-0.7*A(32)-0.7*A(33)-A(34)-A(35)& &-A(36)-A(37)-A(38)-A(41)+A(42)-A(44)-A(47)-A(48)-A(51)-A(55)-A(57)-A(61)-A(62)-A(66)-0.5*A(71)-A(72)-A(75)& &-A(80)-A(81)+0.25*A(84)-A(88)-A(89)-A(102)-A(103)-A(104)-A(105)-A(108)-A(111)+0.15*A(118)+0.15*A(119)& &-A(122)-A(126)+0.44*A(128)-A(140)-A(141)+0.44*A(148)-A(149)+0.36*A(150)-0.773*A(151)-A(153)+0.44*A(158)& &-A(160)-A(161)-A(163)-A(164)-A(167)-0.209*A(169)-0.36*A(170)-0.36*A(171)-0.209*A(172)-0.21*A(173)-0.21& &*A(174)-A(175)-0.209*A(176)-0.78*A(178)-A(199)-A(200)-A(202)-A(206)-A(211)+A(212)+A(213)-A(214)-A(223)& &-A(224)-A(225)+2*A(226)+A(229)+0.75*A(231)-A(234)-A(235)+A(236)-A(239)+A(244)+A(246)+1.788*A(247)+A(252)& &+0.66*A(253)+0.6*A(254)+0.05*A(261)-A(273)-A(275)-A(276)-A(277)-A(278)-A(279)-A(280)-A(281)-A(282)-A(283)& &-A(284)-A(285)-A(286)-A(287)-A(288)-A(289)-A(290)+A(297)-A(352)-A(353)-A(354)-A(359)-A(360)-A(361)-A(378)& &+0.865*A(379)-A(380)+0.8*A(381)-A(382)+0.65*A(383)-A(387)-A(388)-A(390)+0.44*A(391)-A(396)-A(397)-A(402)& &-A(403)-A(407)-A(408)-A(409)-A(415)-A(416)-A(420)+0.6*A(421)-A(423)+0.865*A(424)-A(426)-A(433)-A(435)+0.44& &*A(436)-A(441)-A(442)-0.7*A(447)+0.3*A(448)+0.15*A(449)-A(450)-A(453)+A(454)-A(481)-A(482)-A(488)-A(489)& &-A(490)-A(491)-A(492)+0.28*A(493)-A(494)-A(495)+0.5*A(496)+0.5*A(497)+0.063*A(498)+0.063*A(500)+A(502)+1.5& &*A(503)+A(504)+1.5*A(505)+A(509)+A(510)+A(511)+0.5*A(513)+0.5*A(515)+0.55*A(519)+0.55*A(523)+0.085*A(524)& &+0.165*A(525)+0.065*A(528)-A(530)-A(531)-A(533)-A(535)-A(536)-0.595*A(537)-0.255*A(538)+A(539)+0.275*A(542)& &+A(543)+0.275*A(546)+A(548)+1.3*A(550)-A(551)-A(552)-A(553)-A(554)-A(555)+A(557)+0.65*A(558)+A(562)+0.65& &*A(565)+0.65*A(566)+A(569)+A(570)+2*A(571)+A(572)+2*A(573)-A(574)-A(575)-A(576)-A(577)-A(578)-A(579)-A(580)& &-A(581)-0.4*A(582)-0.4*A(583)+0.518*A(585)+0.599*A(589)+0.582*A(594)+0.506*A(597)+0.379*A(600)+0.527*A(604)& &-A(621)-A(622)-A(625)-A(626)-A(627)+A(629)+A(630)+1.147*A(631)+0.646*A(632)+0.435*A(633)+0.096*A(635)& &-A(637)-0.756*A(638)+A(640)-A(641)+0.82*A(643)-A(644)+0.08*A(645)-A(646)-A(647)+0.12*A(648)+0.68*A(649)& &-0.98*A(650)-A(653)+A(656)+A(659)-0.715*A(661)-A(663)-A(665)-A(666)+0.665*A(667)+0.59*A(670)+0.5*A(671)& &-0.415*A(672)+A(673)+0.5*A(678)-A(684)-0.3*A(685)-0.5*A(686)-0.556*A(687)-A(690)-0.7*A(691)-A(693)-0.5& &*A(694)+0.5*A(695)-A(701)-A(702)+0.18*A(704)-A(705)-A(707)+A(710)-A(711)-A(713)-0.364*A(714)-A(721)-A(722)& &-A(724)-A(725)-A(726)+A(727)-A(732)-A(735)+0.44*A(737)-A(740)-A(741)-A(743)-A(745)+A(746)-A(748)+0.2*A(750)& &-A(753)-A(755)-A(760)-A(763)-0.75*A(767)+0.1*A(768)-0.75*A(770)+0.1*A(771)-A(780)-A(791)-A(792)+2*A(886)& &+A(887)+A(890)+A(891)+A(892)+0.07*A(907)+A(917)+A(918)+A(919)+A(920)+A(921)+A(922)+A(923)+A(924)+A(925)& &+A(930)+A(933)+A(950)+A(967)+A(984)+2*A(987)+A(989)+2*A(1002)+A(1003)+A(1008)+A(1009)+1.75*A(1010)+A(1011)& &+0.75*A(1012)+0.01*A(1013)+A(1015)+A(1016)+A(1017)+A(1018)+A(1019)+1.662*A(1020)+1.637*A(1021)+A(1022)& &+A(1023)+0.55*A(1024)+0.55*A(1027)+0.67*A(1028)+A(1029)+0.645*A(1031)+0.5*A(1033)+A(1034)+1.25*A(1035)& &+A(1036)+0.546*A(1037)+A(1038)+0.3*A(1039)+A(1040)+A(1042)+A(1044)+A(1048)+A(1050)+A(1051)+A(1052)+A(1053)& &+A(1054)+A(1055)+A(1056)+A(1057) IF (DO_FUN(346)) & Vdot(346) = -A(13)-A(22)-A(26)-A(27)-A(37)-A(43)+A(49)-A(56)-A(58)-A(59)-A(60)-A(63)-A(64)-A(65)-A(68)-A(69)-A(73)& &-A(78)-A(82)-A(85)-A(90)-A(91)-A(92)-A(93)-A(94)-A(95)-A(96)-A(97)-A(98)-A(99)-A(100)-A(109)-A(123)-A(127)& &-A(157)-A(209)+1.22*A(230)+A(240)-A(242)+A(248)-A(249)-A(300)-A(334)+2*A(335)-A(348)-A(356)-A(363)-A(370)& &-A(385)-A(392)-A(399)-A(405)-A(411)-A(412)-A(418)-A(429)-A(437)-A(444)-A(445)-A(468)-A(469)-A(516)-A(517)& &-A(518)-A(519)-A(520)-A(521)-A(522)-A(523)-A(540)-A(541)-A(544)-A(545)-A(548)-A(549)-A(559)-A(560)-A(563)& &-A(564)-A(567)-A(568)-A(570)-A(572)-A(586)-A(587)-A(590)-A(591)-A(595)-A(596)-A(598)-A(599)-A(601)-A(602)& &-A(615)-A(616)-A(617)-A(618)-A(633)-A(634)-A(635)-A(636)-A(639)-A(642)-A(655)-A(658)-A(668)-A(669)-A(674)& &-A(675)-A(676)-A(679)-A(709)-A(716)-A(728)-A(733)-A(736)-A(751)-A(757)+A(885)+A(891)+A(895)+A(970)-A(988) IF (DO_FUN(347)) & Vdot(347) = A(203)-A(204)-2*A(207)-2*A(208)-A(209)+A(212)-A(214)+A(215)-A(222)-A(251)+0.2*A(254)+0.44*A(258)+0.95& &*A(259)+0.7*A(260)+0.31*A(264)+0.45*A(265)+0.75*A(272)-A(310)-A(311)-A(312)-A(343)-A(344)-A(932)+A(935) IF (DO_FUN(348)) & Vdot(348) = -A(1)-A(4)-A(7)-A(8)-A(9)-A(10)+A(11)-A(12)+A(199)+0.75*A(200)+A(201)-A(202)+A(238)+A(239)-A(368)-A(372)& &-A(812)-A(819)+A(986)+A(987) IF (DO_FUN(349)) & Vdot(349) = -A(798)-A(805)-A(817)-A(821)+A(823)-A(844)-A(848)-A(852) IF (DO_FUN(350)) & Vdot(350) = -A(799)-A(806)-A(818)-A(822)+A(824)-A(845)-A(849)-A(853) IF (DO_FUN(351)) & Vdot(351) = A(16)+A(36)-A(42)-A(43)-A(44)-A(45)+A(46)-A(49)-A(50)-A(52)-A(67)-A(76)+A(88)-A(101)-A(110)-A(131)-A(154)& &-A(159)-A(162)-A(165)-A(166)-A(179)-2*A(196)-A(201)+A(210)-A(215)-A(241)+A(243)+A(282)+A(313)+A(314)-A(339)& &+A(342)+A(364)+A(371)-A(375)-A(376)-A(377)-A(386)-A(389)-A(395)-A(400)-A(406)-A(414)-A(419)-A(422)-A(425)& &-A(428)-A(431)-A(434)-A(440)-A(446)-A(449)-A(452)-A(455)-A(476)-A(477)-A(484)-A(485)+A(488)-A(603)-A(613)& &-A(614)-A(649)+0.69*A(650)-A(681)+A(684)-A(692)-A(703)-A(706)-A(708)-A(717)-A(729)-A(742)-A(744)-A(747)& &-A(749)+A(756)-A(758)-A(764)-A(779)-A(783)-A(784)-A(785)+A(892)-A(894)-A(895)+A(896)+0.3*A(899)+A(934)& &+A(948)+A(972)+A(982)+0.3*A(1047) IF (DO_FUN(352)) & Vdot(352) = A(205)-A(206)-A(213)+A(216)+A(217)+A(218)+A(219)+A(220)-0.8*A(254)+A(333)-A(797)-A(807)-A(809)-A(813)& &+A(819)-A(820)-A(823)-A(824) IF (DO_FUN(353)) & Vdot(353) = A(2)-A(789)-A(791)-A(800)-A(802)-A(810)-A(815)-A(846)-A(850)-A(854) END SUBROUTINE Fun ! End of Fun function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Fun_SPLIT - time derivatives of variables - Split form ! Arguments : ! V - Concentrations of variable species (local) ! F - Concentrations of fixed species (local) ! RCT - Rate constants (local) ! Vdot - Time derivative of variable species concentrations ! P_VAR - Production term ! D_VAR - Destruction term ! Aout - Optional argument to return equation rate constants ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Fun_SPLIT ( V, F, RCT, Vdot, P_VAR, D_VAR, Aout ) ! V - Concentrations of variable species (local) REAL(kind=dp) :: V(NVAR) ! F - Concentrations of fixed species (local) REAL(kind=dp) :: F(NFIX) ! RCT - Rate constants (local) REAL(kind=dp) :: RCT(NREACT) ! Vdot - Time derivative of variable species concentrations REAL(kind=dp) :: Vdot(NVAR) ! P_VAR - Production term REAL(kind=dp) :: P_VAR(NVAR) ! D_VAR - Destruction term REAL(kind=dp) :: D_VAR(NVAR) ! Aout - Optional argument to return equation rate constants REAL(kind=dp), OPTIONAL :: Aout(NREACT) ! Computation of equation rates A(1) = RCT(1)*V(179)*V(341)*V(348) A(2) = RCT(2)*V(179)*V(339) A(3) = RCT(3)*V(179)*V(327) A(4) = RCT(4)*V(166)*V(341)*V(348) A(5) = RCT(5)*V(166)*V(339) A(6) = RCT(6)*V(166)*V(327) A(7) = RCT(7)*V(264)*V(348) A(8) = RCT(8)*V(341)*V(348) A(9) = RCT(9)*V(348) A(10) = RCT(10)*V(325)*V(348) A(11) = RCT(11)*V(89) A(12) = RCT(12)*V(89)*V(345)*V(348) A(13) = RCT(13)*V(341)*V(346) A(14) = RCT(14)*V(341)*V(345) A(15) = RCT(15)*V(337)*V(341) A(16) = RCT(16)*V(335)*V(341) A(17) = RCT(17)*V(328)*V(341) A(18) = RCT(18)*V(345)*V(345) A(19) = RCT(19)*V(345)*V(345) A(20) = RCT(20)*V(337)*V(345) A(21) = RCT(21)*V(264)*V(345) A(22) = RCT(22)*V(337)*V(346) A(23) = RCT(23)*V(337)*V(337) A(24) = RCT(24)*V(329)*V(345) A(25) = RCT(25)*V(228)*V(345) A(26) = RCT(26)*V(328)*V(346) A(27) = RCT(27)*V(328)*V(346) A(28) = RCT(28)*V(328)*V(337) A(29) = RCT(29)*V(328)*V(328) A(30) = RCT(30)*V(328)*V(328) A(31) = RCT(31)*V(328)*V(345) A(32) = RCT(32)*V(164)*V(345) A(33) = RCT(33)*V(244)*V(345) A(34) = RCT(34)*V(325)*V(345) A(35) = RCT(35)*V(335)*V(345) A(36) = RCT(36)*V(327)*V(345) A(37) = RCT(37)*V(345)*V(346) A(38) = RCT(38)*V(239)*V(345) A(39) = RCT(39)*V(335)*V(337) A(40) = RCT(40)*V(108) A(41) = RCT(41)*V(108)*V(345) A(42) = RCT(42)*V(337)*V(351) A(43) = RCT(43)*V(346)*V(351) A(44) = RCT(44)*V(345)*V(351) A(45) = RCT(45)*V(335)*V(351) A(46) = RCT(46)*V(214) A(47) = RCT(47)*V(265)*V(345) A(48) = RCT(48)*V(282)*V(345) A(49) = RCT(49)*V(335)*V(351) A(50) = RCT(50)*V(325)*V(351) A(51) = RCT(51)*V(326)*V(345) A(52) = RCT(52)*V(326)*V(351) A(53) = RCT(53)*V(324)*V(335) A(54) = RCT(54)*V(139) A(55) = RCT(55)*V(139)*V(345) A(56) = RCT(56)*V(324)*V(346) A(57) = RCT(57)*V(183)*V(345) A(58) = RCT(58)*V(296)*V(346) A(59) = RCT(59)*V(296)*V(346) A(60) = RCT(60)*V(315)*V(346) A(61) = RCT(61)*V(141)*V(345) A(62) = RCT(62)*V(141)*V(345) A(63) = RCT(63)*V(321)*V(346) A(64) = RCT(64)*V(321)*V(346) A(65) = RCT(65)*V(260)*V(346) A(66) = RCT(66)*V(69)*V(345) A(67) = RCT(67)*V(69)*V(351) A(68) = RCT(68)*V(178)*V(346) A(69) = RCT(69)*V(178)*V(346) A(70) = RCT(70)*V(178)*V(337) A(71) = RCT(71)*V(98)*V(345) A(72) = RCT(72)*V(196)*V(345) A(73) = RCT(73)*V(165)*V(346) A(74) = RCT(74)*V(165)*V(337) A(75) = RCT(75)*V(140)*V(345) A(76) = RCT(76)*V(140)*V(351) A(77) = RCT(77)*V(140)*V(341) A(78) = RCT(78)*V(212)*V(346) A(79) = RCT(79)*V(212)*V(337) A(80) = RCT(80)*V(127)*V(345) A(81) = RCT(81)*V(233)*V(345) A(82) = RCT(82)*V(132)*V(346) A(83) = RCT(83)*V(132)*V(337) A(84) = RCT(84)*V(197)*V(337) A(85) = RCT(85)*V(197)*V(346) A(86) = RCT(86)*V(197)*V(335) A(87) = RCT(87)*V(126) A(88) = RCT(88)*V(126)*V(345) A(89) = RCT(89)*V(142)*V(345) A(90) = RCT(90)*V(300)*V(346) A(91) = RCT(91)*V(300)*V(346) A(92) = RCT(92)*V(249)*V(346) A(93) = RCT(93)*V(319)*V(346) A(94) = RCT(94)*V(319)*V(346) A(95) = RCT(95)*V(318)*V(346) A(96) = RCT(96)*V(313)*V(346) A(97) = RCT(97)*V(320)*V(346) A(98) = RCT(98)*V(323)*V(346) A(99) = RCT(99)*V(323)*V(346) A(100) = RCT(100)*V(250)*V(346) A(101) = RCT(101)*V(142)*V(351) A(102) = RCT(102)*V(251)*V(345) A(103) = RCT(103)*V(279)*V(345) A(104) = RCT(104)*V(283)*V(345) A(105) = RCT(105)*V(298)*V(345) A(106) = RCT(106)*V(322)*V(335) A(107) = RCT(107)*V(124) A(108) = RCT(108)*V(124)*V(345) A(109) = RCT(109)*V(322)*V(346) A(110) = RCT(110)*V(298)*V(351) A(111) = RCT(111)*V(295)*V(345) A(112) = RCT(112)*V(321)*V(328) A(113) = RCT(113)*V(260)*V(328) A(114) = RCT(114)*V(319)*V(337) A(115) = RCT(115)*V(318)*V(337) A(116) = RCT(116)*V(300)*V(337) A(117) = RCT(117)*V(249)*V(337) A(118) = RCT(118)*V(313)*V(337) A(119) = RCT(119)*V(320)*V(337) A(120) = RCT(120)*V(323)*V(337) A(121) = RCT(121)*V(250)*V(337) A(122) = RCT(122)*V(292)*V(345) A(123) = RCT(123)*V(320)*V(346) A(124) = RCT(124)*V(246)*V(335) A(125) = RCT(125)*V(113) A(126) = 4.51e-12*V(113)*V(345) A(127) = RCT(127)*V(246)*V(346) A(128) = RCT(128)*V(246)*V(337) A(129) = RCT(129)*V(296)*V(328) A(130) = RCT(130)*V(315)*V(328) A(131) = RCT(131)*V(292)*V(351) A(132) = RCT(132)*V(319)*V(328) A(133) = RCT(133)*V(318)*V(328) A(134) = RCT(134)*V(300)*V(328) A(135) = RCT(135)*V(249)*V(328) A(136) = RCT(136)*V(313)*V(328) A(137) = RCT(137)*V(320)*V(328) A(138) = RCT(138)*V(323)*V(328) A(139) = RCT(139)*V(250)*V(328) A(140) = RCT(140)*V(156)*V(345) A(141) = RCT(141)*V(188)*V(345) A(142) = RCT(142)*V(296)*V(296) A(143) = RCT(143)*V(315)*V(315) A(144) = RCT(144)*V(296)*V(337) A(145) = RCT(145)*V(315)*V(337) A(146) = RCT(146)*V(321)*V(337) A(147) = RCT(147)*V(260)*V(337) A(148) = RCT(148)*V(322)*V(337) A(149) = RCT(149)*V(290)*V(345) A(150) = RCT(150)*V(290)*V(341) A(151) = RCT(151)*V(306)*V(345) A(152) = RCT(152)*V(306)*V(345) A(153) = RCT(153)*V(306)*V(345) A(154) = RCT(154)*V(306)*V(351) A(155) = RCT(155)*V(213)*V(335) A(156) = RCT(156)*V(114) A(157) = RCT(157)*V(213)*V(346) A(158) = RCT(158)*V(213)*V(337) A(159) = RCT(159)*V(213)*V(351) A(160) = RCT(160)*V(114)*V(345) A(161) = RCT(161)*V(72)*V(345) A(162) = RCT(162)*V(290)*V(351) A(163) = RCT(163)*V(270)*V(345) A(164) = RCT(164)*V(294)*V(345) A(165) = RCT(165)*V(270)*V(351) A(166) = RCT(166)*V(294)*V(351) A(167) = RCT(167)*V(307)*V(345) A(168) = RCT(168)*V(307)*V(345) A(169) = RCT(169)*V(125)*V(345) A(170) = RCT(170)*V(118)*V(345) A(171) = RCT(171)*V(99)*V(345) A(172) = RCT(172)*V(100)*V(345) A(173) = RCT(173)*V(97)*V(345) A(174) = RCT(174)*V(102)*V(345) A(175) = RCT(175)*V(155)*V(345) A(176) = RCT(176)*V(123)*V(345) A(177) = RCT(177)*V(24)*V(345) A(178) = RCT(178)*V(92)*V(345) A(179) = RCT(179)*V(183)*V(351) A(180) = RCT(180)*V(324)*V(324) A(181) = RCT(181)*V(324)*V(328) A(182) = RCT(182)*V(319)*V(324) A(183) = RCT(183)*V(300)*V(324) A(184) = RCT(184)*V(313)*V(324) A(185) = RCT(185)*V(320)*V(324) A(186) = RCT(186)*V(323)*V(324) A(187) = RCT(187)*V(318)*V(324) A(188) = RCT(188)*V(249)*V(324) A(189) = RCT(189)*V(250)*V(324) A(190) = RCT(190)*V(296)*V(324) A(191) = RCT(191)*V(315)*V(324) A(192) = RCT(192)*V(260)*V(324) A(193) = RCT(193)*V(321)*V(324) A(194) = RCT(194)*V(322)*V(324) A(195) = RCT(195)*V(322)*V(328) A(196) = RCT(196)*V(351)*V(351) A(197) = RCT(197)*V(328)*V(335) A(198) = RCT(198)*V(80) A(199) = RCT(199)*V(94)*V(345) A(200) = RCT(200)*V(94)*V(345) A(201) = RCT(201)*V(94)*V(351) A(202) = RCT(202)*V(345)*V(348) A(203) = RCT(203)*V(341)*V(342) A(204) = RCT(204)*V(337)*V(347) A(205) = RCT(205)*V(337)*V(342) A(206) = RCT(206)*V(345)*V(352) A(207) = RCT(207)*V(347)*V(347) A(208) = RCT(208)*V(347)*V(347) A(209) = RCT(209)*V(346)*V(347) A(210) = RCT(210)*V(218)*V(342) A(211) = RCT(211)*V(148)*V(345) A(212) = RCT(212)*V(316)*V(343) A(213) = RCT(213)*V(343)*V(352) A(214) = RCT(214)*V(345)*V(347) A(215) = RCT(215)*V(342)*V(351) A(216) = RCT(216)*V(325)*V(342) A(217) = RCT(217)*V(326)*V(342) A(218) = RCT(218)*V(295)*V(342) A(219) = RCT(219)*V(183)*V(342) A(220) = RCT(220)*V(141)*V(342) A(221) = RCT(221)*V(335)*V(342) A(222) = RCT(222)*V(335)*V(347) A(223) = RCT(223)*V(81)*V(345) A(224) = RCT(224)*V(78)*V(345) A(225) = RCT(225)*V(105)*V(345) A(226) = RCT(226)*V(334)*V(336) A(227) = RCT(227)*V(334)*F(2) A(228) = RCT(228)*V(334)*F(3) A(229) = RCT(229)*V(334)*F(1) A(230) = RCT(230)*V(63)*V(334) A(231) = RCT(231)*V(228)*V(334) A(232) = RCT(232)*V(343)*F(3) A(233) = RCT(233)*V(341)*V(343) A(234) = RCT(234)*V(345)*F(1) A(235) = RCT(235)*V(343)*V(345) A(236) = RCT(236)*V(337)*V(343) A(237) = RCT(237)*V(334)*V(341) A(238) = RCT(238)*V(68)*V(343) A(239) = RCT(239)*V(68)*V(345) A(240) = RCT(240)*V(335)*V(343) A(241) = RCT(241)*V(343)*V(351) A(242) = RCT(242)*V(343)*V(346) A(243) = RCT(243)*V(335)*V(343) A(244) = RCT(244)*V(264)*V(343) A(245) = RCT(245)*V(217)*F(3) A(246) = RCT(246)*V(217)*V(341) A(247) = RCT(247)*V(217)*V(337) A(248) = RCT(248)*V(67)*F(3) A(249) = RCT(249)*V(67)*V(346) A(250) = RCT(250)*V(67)*V(335) A(251) = RCT(251)*V(343)*V(347) A(252) = RCT(252)*V(325)*V(343) A(253) = RCT(253)*V(334)*V(339) A(254) = RCT(254)*V(334)*V(352) A(255) = RCT(255)*V(245)*V(334) A(256) = RCT(256)*V(46)*V(334) A(257) = RCT(257)*V(181)*V(334) A(258) = RCT(258)*V(105)*V(334) A(259) = RCT(259)*V(78)*V(334) A(260) = RCT(260)*V(81)*V(334) A(261) = RCT(261)*V(87)*V(334) A(262) = RCT(262)*V(47)*V(334) A(263) = RCT(263)*V(48)*V(334) A(264) = RCT(264)*V(61)*V(334) A(265) = RCT(265)*V(53)*V(334) A(266) = RCT(266)*V(85)*V(334) A(267) = RCT(267)*V(86)*V(334) A(268) = RCT(268)*V(84)*V(334) A(269) = RCT(269)*V(49)*V(334) A(270) = RCT(270)*V(50)*V(334) A(271) = RCT(271)*V(51)*V(334) A(272) = RCT(272)*V(54)*V(334) A(273) = RCT(273)*V(245)*V(345) A(274) = RCT(274)*V(328)*V(338) A(275) = RCT(275)*V(338)*V(345) A(276) = RCT(276)*V(338)*V(345) A(277) = RCT(277)*V(120)*V(345) A(278) = RCT(278)*V(76)*V(345) A(279) = RCT(279)*V(339)*V(345) A(280) = RCT(280)*V(333)*V(345) A(281) = RCT(281)*V(297)*V(345) A(282) = RCT(282)*V(317)*V(345) A(283) = RCT(283)*V(181)*V(345) A(284) = RCT(284)*V(79)*V(345) A(285) = RCT(285)*V(75)*V(345) A(286) = RCT(286)*V(43)*V(345) A(287) = RCT(287)*V(87)*V(345) A(288) = RCT(288)*V(85)*V(345) A(289) = RCT(289)*V(86)*V(345) A(290) = RCT(290)*V(84)*V(345) A(291) = RCT(291)*V(228)*V(340) A(292) = RCT(292)*V(325)*V(340) A(293) = RCT(293)*V(340)*V(341) A(294) = RCT(294)*V(340)*F(1) A(295) = RCT(295)*V(264)*V(340) A(296) = RCT(296)*V(337)*V(340) A(297) = RCT(297)*V(337)*V(340) A(298) = RCT(298)*V(338)*V(343) A(299) = RCT(299)*V(337)*V(338) A(300) = RCT(300)*V(338)*V(346) A(301) = RCT(301)*V(335)*V(338) A(302) = RCT(302)*V(338)*V(338) A(303) = RCT(303)*V(338)*V(338) A(304) = RCT(304)*V(338)*V(338) A(305) = RCT(305)*V(340)*F(3) A(306) = RCT(306)*V(110) A(307) = RCT(307)*V(338)*V(338) A(308) = RCT(308)*V(76) A(309) = RCT(309)*V(110)*V(340) A(310) = RCT(310)*V(338)*V(347) A(311) = RCT(311)*V(338)*V(347) A(312) = RCT(312)*V(338)*V(347) A(313) = RCT(313)*V(317)*V(343) A(314) = RCT(314)*V(317)*V(340) A(315) = RCT(315)*V(181)*V(340) A(316) = RCT(316)*V(79)*V(340) A(317) = RCT(317)*V(75)*V(340) A(318) = RCT(318)*V(265)*V(340) A(319) = RCT(319)*V(328)*V(340) A(320) = RCT(320)*V(164)*V(340) A(321) = RCT(321)*V(183)*V(340) A(322) = RCT(322)*V(296)*V(340) A(323) = RCT(323)*V(315)*V(340) A(324) = RCT(324)*V(282)*V(340) A(325) = RCT(325)*V(156)*V(340) A(326) = RCT(326)*V(283)*V(340) A(327) = RCT(327)*V(141)*V(340) A(328) = RCT(328)*V(141)*V(340) A(329) = RCT(329)*V(295)*V(340) A(330) = RCT(330)*V(276)*V(340) A(331) = RCT(331)*V(142)*V(340) A(332) = RCT(332)*V(290)*V(340) A(333) = RCT(333)*V(290)*V(342) A(334) = RCT(334)*V(331)*V(346) A(335) = RCT(335)*V(62)*V(62) A(336) = RCT(336)*V(331)*V(335) A(337) = RCT(337)*V(252) A(338) = RCT(338)*V(252)*V(252) A(339) = RCT(339)*V(170)*V(351) A(340) = RCT(340)*V(284)*V(335) A(341) = RCT(341)*V(332) A(342) = RCT(342)*V(331)*V(332) A(343) = RCT(343)*V(331)*V(347) A(344) = RCT(344)*V(284)*V(347) A(345) = RCT(345)*V(96)*V(284) A(346) = RCT(346)*V(96)*V(96) A(347) = RCT(347)*V(42) A(348) = RCT(348)*V(96)*V(346) A(349) = RCT(349)*V(284)*V(338) A(350) = RCT(350)*V(331)*V(341) A(351) = RCT(351)*V(331)*V(337) A(352) = RCT(352)*V(170)*V(345) A(353) = RCT(353)*V(73)*V(345) A(354) = RCT(354)*V(330)*V(345) A(355) = RCT(355)*V(284)*V(337) A(356) = RCT(356)*V(284)*V(346) A(357) = RCT(357)*V(284)*V(284) A(358) = RCT(358)*V(44) A(359) = RCT(359)*V(52)*V(345) A(360) = RCT(360)*V(261)*V(345) A(361) = RCT(361)*V(247)*V(345) A(362) = RCT(362)*V(312)*V(329) A(363) = RCT(363)*V(312)*V(346) A(364) = RCT(364)*V(312)*V(335) A(365) = RCT(365)*V(312)*V(336) A(366) = RCT(366)*V(312)*V(336)*V(336) A(367) = RCT(367)*V(312)*V(341) A(368) = RCT(368)*V(312)*V(348) A(369) = RCT(369)*V(241)*V(329) A(370) = RCT(370)*V(241)*V(346) A(371) = RCT(371)*V(241)*V(335) A(372) = RCT(372)*V(241)*V(348) A(373) = RCT(373)*V(241)*V(336) A(374) = RCT(374)*V(241)*V(336) A(375) = RCT(375)*V(191)*V(351) A(376) = RCT(376)*V(219)*V(351) A(377) = RCT(377)*V(167)*V(351) A(378) = RCT(378)*V(167)*V(345) A(379) = RCT(379)*V(167)*V(341) A(380) = RCT(380)*V(219)*V(345) A(381) = RCT(381)*V(219)*V(341) A(382) = RCT(382)*V(191)*V(345) A(383) = RCT(383)*V(191)*V(341) A(384) = RCT(384)*V(277)*V(337) A(385) = RCT(385)*V(277)*V(346) A(386) = RCT(386)*V(277)*V(351) A(387) = RCT(387)*V(111)*V(345) A(388) = RCT(388)*V(137)*V(345) A(389) = RCT(389)*V(225)*V(351) A(390) = RCT(390)*V(225)*V(345) A(391) = RCT(391)*V(257)*V(337) A(392) = RCT(392)*V(257)*V(346) A(393) = RCT(393)*V(257)*V(335) A(394) = RCT(394)*V(56) A(395) = RCT(395)*V(257)*V(351) A(396) = RCT(396)*V(74)*V(345) A(397) = RCT(397)*V(66)*V(345) A(398) = RCT(398)*V(278)*V(337) A(399) = RCT(399)*V(278)*V(346) A(400) = RCT(400)*V(278)*V(351) A(401) = RCT(401)*V(278)*V(328) A(402) = RCT(402)*V(160)*V(345) A(403) = RCT(403)*V(176)*V(345) A(404) = RCT(404)*V(275)*V(337) A(405) = RCT(405)*V(275)*V(346) A(406) = RCT(406)*V(275)*V(351) A(407) = RCT(407)*V(138)*V(345) A(408) = RCT(408)*V(112)*V(345) A(409) = RCT(409)*V(129)*V(345) A(410) = RCT(410)*V(273)*V(337) A(411) = RCT(411)*V(273)*V(346) A(412) = RCT(412)*V(273)*V(346) A(413) = RCT(413)*V(273)*V(328) A(414) = RCT(414)*V(273)*V(351) A(415) = RCT(415)*V(161)*V(345) A(416) = RCT(416)*V(162)*V(345) A(417) = RCT(417)*V(281)*V(337) A(418) = RCT(418)*V(281)*V(346) A(419) = RCT(419)*V(281)*V(351) A(420) = RCT(420)*V(255)*V(345) A(421) = RCT(421)*V(255)*V(341) A(422) = RCT(422)*V(255)*V(351) A(423) = RCT(423)*V(237)*V(345) A(424) = RCT(424)*V(237)*V(341) A(425) = RCT(425)*V(237)*V(351) A(426) = RCT(426)*V(211)*V(345) A(427) = RCT(427)*V(211)*V(341) A(428) = RCT(428)*V(211)*V(351) A(429) = RCT(429)*V(272)*V(346) A(430) = RCT(430)*V(272)*V(337) A(431) = RCT(431)*V(272)*V(351) A(432) = RCT(432)*V(272)*V(328) A(433) = RCT(433)*V(163)*V(345) A(434) = RCT(434)*V(163)*V(351) A(435) = RCT(435)*V(177)*V(345) A(436) = RCT(436)*V(274)*V(337) A(437) = RCT(437)*V(274)*V(346) A(438) = RCT(438)*V(274)*V(335) A(439) = RCT(439)*V(57) A(440) = RCT(440)*V(274)*V(351) A(441) = RCT(441)*V(169)*V(345) A(442) = RCT(442)*V(130)*V(345) A(443) = RCT(443)*V(291)*V(337) A(444) = RCT(444)*V(291)*V(346) A(445) = RCT(445)*V(291)*V(346) A(446) = RCT(446)*V(291)*V(351) A(447) = RCT(447)*V(229)*V(345) A(448) = RCT(448)*V(229)*V(341) A(449) = RCT(449)*V(229)*V(351) A(450) = RCT(450)*V(193)*V(345) A(451) = RCT(451)*V(193)*V(341) A(452) = RCT(452)*V(193)*V(351) A(453) = RCT(453)*V(262)*V(345) A(454) = RCT(454)*V(262)*V(341) A(455) = RCT(455)*V(262)*V(351) A(456) = RCT(456)*V(277)*V(328) A(457) = RCT(457)*V(277)*V(324) A(458) = RCT(458)*V(275)*V(328) A(459) = RCT(459)*V(275)*V(324) A(460) = RCT(460)*V(281)*V(328) A(461) = RCT(461)*V(281)*V(324) A(462) = RCT(462)*V(291)*V(328) A(463) = RCT(463)*V(291)*V(324) A(464) = RCT(464)*V(257)*V(328) A(465) = RCT(465)*V(257)*V(324) A(466) = RCT(466)*V(274)*V(328) A(467) = RCT(467)*V(274)*V(324) A(468) = RCT(468)*V(280)*V(346) A(469) = RCT(469)*V(289)*V(346) A(470) = RCT(470)*V(280)*V(337) A(471) = RCT(471)*V(289)*V(337) A(472) = RCT(472)*V(280)*V(328) A(473) = RCT(473)*V(289)*V(328) A(474) = RCT(474)*V(280)*V(324) A(475) = RCT(475)*V(289)*V(324) A(476) = RCT(476)*V(280)*V(351) A(477) = RCT(477)*V(289)*V(351) A(478) = RCT(478)*V(280)*V(280) A(479) = RCT(479)*V(280)*V(289) A(480) = RCT(480)*V(289)*V(289) A(481) = RCT(481)*V(256)*V(345) A(482) = RCT(482)*V(242)*V(345) A(483) = RCT(483)*V(242)*V(341) A(484) = RCT(484)*V(242)*V(351) A(485) = RCT(485)*V(256)*V(351) A(486) = RCT(486)*V(103) A(487) = RCT(487)*V(45) A(488) = RCT(488)*V(154)*V(345) A(489) = RCT(489)*V(93)*V(345) A(490) = RCT(490)*V(83)*V(345) A(491) = RCT(491)*V(91)*V(345) A(492) = RCT(492)*V(95)*V(345) A(493) = RCT(493)*V(276)*V(341) A(494) = RCT(494)*V(276)*V(345) A(495) = RCT(495)*V(276)*V(345) A(496) = RCT(496)*V(276)*V(345) A(497) = RCT(497)*V(276)*V(345) A(498) = RCT(498)*V(305)*V(337) A(499) = RCT(499)*V(305)*V(337) A(500) = RCT(500)*V(304)*V(337) A(501) = RCT(501)*V(304)*V(337) A(502) = RCT(502)*V(305) A(503) = RCT(503)*V(305) A(504) = RCT(504)*V(304) A(505) = RCT(505)*V(304) A(506) = RCT(506)*V(305)*V(305) A(507) = RCT(507)*V(304)*V(304) A(508) = RCT(508)*V(304)*V(305) A(509) = RCT(509)*V(305)*V(305) A(510) = RCT(510)*V(304)*V(304) A(511) = RCT(511)*V(304)*V(305) A(512) = RCT(512)*V(305)*V(328) A(513) = RCT(513)*V(305)*V(328) A(514) = RCT(514)*V(304)*V(328) A(515) = RCT(515)*V(304)*V(328) A(516) = RCT(516)*V(305)*V(346) A(517) = RCT(517)*V(305)*V(346) A(518) = RCT(518)*V(305)*V(346) A(519) = RCT(519)*V(305)*V(346) A(520) = RCT(520)*V(304)*V(346) A(521) = RCT(521)*V(304)*V(346) A(522) = RCT(522)*V(304)*V(346) A(523) = RCT(523)*V(304)*V(346) A(524) = RCT(524)*V(230)*V(345) A(525) = RCT(525)*V(231)*V(345) A(526) = RCT(526)*V(150)*V(345) A(527) = RCT(527)*V(144)*V(345) A(528) = RCT(528)*V(238)*V(345) A(529) = RCT(529)*V(215)*V(345) A(530) = RCT(530)*V(119)*V(345) A(531) = RCT(531)*V(187)*V(345) A(532) = RCT(532)*V(187)*V(345) A(533) = RCT(533)*V(192)*V(345) A(534) = RCT(534)*V(192)*V(345) A(535) = RCT(535)*V(187)*V(345) A(536) = RCT(536)*V(192)*V(345) A(537) = RCT(537)*V(209)*V(345) A(538) = RCT(538)*V(199)*V(345) A(539) = RCT(539)*V(223) A(540) = RCT(540)*V(223)*V(346) A(541) = RCT(541)*V(223)*V(346) A(542) = RCT(542)*V(223)*V(337) A(543) = RCT(543)*V(224) A(544) = RCT(544)*V(224)*V(346) A(545) = RCT(545)*V(224)*V(346) A(546) = RCT(546)*V(224)*V(337) A(547) = RCT(547)*V(232) A(548) = RCT(548)*V(232)*V(346) A(549) = RCT(549)*V(232)*V(346) A(550) = RCT(550)*V(232)*V(337) A(551) = RCT(551)*V(128)*V(345) A(552) = RCT(552)*V(151)*V(345) A(553) = RCT(553)*V(151)*V(345) A(554) = RCT(554)*V(152)*V(345) A(555) = RCT(555)*V(152)*V(345) A(556) = RCT(556)*V(286) A(557) = RCT(557)*V(286) A(558) = RCT(558)*V(286)*V(337) A(559) = RCT(559)*V(286)*V(346) A(560) = RCT(560)*V(286)*V(346) A(561) = RCT(561)*V(285) A(562) = RCT(562)*V(285) A(563) = RCT(563)*V(285)*V(346) A(564) = RCT(564)*V(285)*V(346) A(565) = RCT(565)*V(285)*V(337) A(566) = RCT(566)*V(243)*V(337) A(567) = RCT(567)*V(243)*V(346) A(568) = RCT(568)*V(243)*V(346) A(569) = RCT(569)*V(243) A(570) = RCT(570)*V(133)*V(346) A(571) = RCT(571)*V(133)*V(337) A(572) = RCT(572)*V(135)*V(346) A(573) = RCT(573)*V(135)*V(337) A(574) = RCT(574)*V(175)*V(345) A(575) = RCT(575)*V(175)*V(345) A(576) = RCT(576)*V(168)*V(345) A(577) = RCT(577)*V(168)*V(345) A(578) = RCT(578)*V(268)*V(345) A(579) = RCT(579)*V(268)*V(345) A(580) = RCT(580)*V(267)*V(345) A(581) = RCT(581)*V(267)*V(345) A(582) = RCT(582)*V(268)*V(345) A(583) = RCT(583)*V(267)*V(345) A(584) = RCT(584)*V(205) A(585) = RCT(585)*V(205)*V(337) A(586) = RCT(586)*V(205)*V(346) A(587) = RCT(587)*V(205)*V(346) A(588) = RCT(588)*V(190) A(589) = RCT(589)*V(190)*V(337) A(590) = RCT(590)*V(190)*V(346) A(591) = RCT(591)*V(190)*V(346) A(592) = RCT(592)*V(206) A(593) = RCT(593)*V(207) A(594) = RCT(594)*V(206)*V(337) A(595) = RCT(595)*V(206)*V(346) A(596) = RCT(596)*V(206)*V(346) A(597) = RCT(597)*V(207)*V(337) A(598) = RCT(598)*V(207)*V(346) A(599) = RCT(599)*V(207)*V(346) A(600) = RCT(600)*V(293)*V(337) A(601) = RCT(601)*V(293)*V(346) A(602) = RCT(602)*V(293)*V(346) A(603) = RCT(603)*V(276)*V(351) A(604) = RCT(604)*V(310)*V(337) A(605) = RCT(605)*V(311)*V(337) A(606) = RCT(606)*V(310)*V(310) A(607) = RCT(607)*V(310)*V(311) A(608) = RCT(608)*V(311)*V(311) A(609) = RCT(609)*V(311)*V(328) A(610) = RCT(610)*V(310)*V(328) A(611) = RCT(611)*V(310)*V(324) A(612) = RCT(612)*V(311)*V(324) A(613) = RCT(613)*V(310)*V(351) A(614) = RCT(614)*V(311)*V(351) A(615) = RCT(615)*V(310)*V(346) A(616) = RCT(616)*V(310)*V(346) A(617) = RCT(617)*V(311)*V(346) A(618) = RCT(618)*V(311)*V(346) A(619) = RCT(619)*V(145)*F(3) A(620) = RCT(620)*V(145) A(621) = RCT(621)*V(222)*V(345) A(622) = RCT(622)*V(186)*V(345) A(623) = RCT(623)*V(222)*V(345) A(624) = RCT(624)*V(186)*V(345) A(625) = RCT(625)*V(186)*V(345) A(626) = RCT(626)*V(222)*V(345) A(627) = RCT(627)*V(186)*V(345) A(628) = RCT(628)*V(186)*V(345) A(629) = RCT(629)*V(226) A(630) = RCT(630)*V(271) A(631) = RCT(631)*V(271)*V(337) A(632) = RCT(632)*V(226)*V(337) A(633) = RCT(633)*V(271)*V(346) A(634) = RCT(634)*V(271)*V(346) A(635) = RCT(635)*V(226)*V(346) A(636) = RCT(636)*V(226)*V(346) A(637) = RCT(637)*V(301)*V(345) A(638) = RCT(638)*V(301)*V(345) A(639) = RCT(639)*V(182)*V(346) A(640) = RCT(640)*V(182)*V(337) A(641) = RCT(641)*V(299)*V(345) A(642) = RCT(642)*V(180)*V(346) A(643) = RCT(643)*V(180)*V(337) A(644) = RCT(644)*V(314)*V(345) A(645) = RCT(645)*V(314)*V(341) A(646) = RCT(646)*V(309)*V(345) A(647) = RCT(647)*V(309)*V(345) A(648) = RCT(648)*V(309)*V(341) A(649) = RCT(649)*V(309)*V(351) A(650) = RCT(650)*V(302)*V(345) A(651) = RCT(651)*V(288)*V(345) A(652) = RCT(652)*V(287)*V(345) A(653) = RCT(653)*V(248)*V(345) A(654) = RCT(654)*V(216)*V(345) A(655) = RCT(655)*V(171)*V(346) A(656) = RCT(656)*V(171)*V(337) A(657) = RCT(657)*V(171)*V(335) A(658) = RCT(658)*V(172)*V(346) A(659) = RCT(659)*V(172)*V(337) A(660) = RCT(660)*V(172)*V(335) A(661) = RCT(661)*V(194)*V(345) A(662) = RCT(662)*V(185)*V(345) A(663) = RCT(663)*V(131)*V(345) A(664) = RCT(664)*V(227)*V(345) A(665) = RCT(665)*V(208)*V(345) A(666) = RCT(666)*V(153)*V(345) A(667) = RCT(667)*V(254)*V(337) A(668) = RCT(668)*V(254)*V(346) A(669) = RCT(669)*V(254)*V(346) A(670) = RCT(670)*V(253)*V(337) A(671) = RCT(671)*V(259)*V(337) A(672) = RCT(672)*V(159)*V(345) A(673) = RCT(673)*V(253) A(674) = RCT(674)*V(253)*V(346) A(675) = RCT(675)*V(253)*V(346) A(676) = RCT(676)*V(259)*V(346) A(677) = RCT(677)*V(259)*V(335) A(678) = RCT(678)*V(308)*V(337) A(679) = RCT(679)*V(308)*V(346) A(680) = RCT(680)*V(308)*V(335) A(681) = RCT(681)*V(308)*V(351) A(682) = RCT(682)*V(308)*V(328) A(683) = RCT(683)*V(184) A(684) = RCT(684)*V(184)*V(345) A(685) = RCT(685)*V(107)*V(345) A(686) = RCT(686)*V(258)*V(345) A(687) = RCT(687)*V(147)*V(345) A(688) = RCT(688)*V(174)*V(345) A(689) = RCT(689)*V(198)*V(345) A(690) = RCT(690)*V(266)*V(345) A(691) = RCT(691)*V(303)*V(345) A(692) = RCT(692)*V(261)*V(351) A(693) = RCT(693)*V(115)*V(345) A(694) = RCT(694)*V(88)*V(345) A(695) = RCT(695)*V(324)*V(337) A(696) = RCT(696)*V(210)*V(345) A(697) = RCT(697)*V(210)*V(345) A(698) = RCT(698)*V(19)*V(345) A(699) = RCT(699)*V(18)*V(337) A(700) = RCT(700)*V(18)*V(346) A(701) = RCT(701)*V(173)*V(345) A(702) = RCT(702)*V(220)*V(345) A(703) = RCT(703)*V(220)*V(351) A(704) = RCT(704)*V(220)*V(341) A(705) = RCT(705)*V(149)*V(345) A(706) = RCT(706)*V(149)*V(351) A(707) = RCT(707)*V(200)*V(345) A(708) = RCT(708)*V(200)*V(351) A(709) = RCT(709)*V(189)*V(346) A(710) = RCT(710)*V(189)*V(337) A(711) = RCT(711)*V(116)*V(345) A(712) = RCT(712)*V(109)*V(341) A(713) = RCT(713)*V(109)*V(345) A(714) = RCT(714)*V(60)*V(345) A(715) = RCT(715)*V(234)*V(337) A(716) = RCT(716)*V(234)*V(346) A(717) = RCT(717)*V(234)*V(351) A(718) = RCT(718)*V(234)*V(328) A(719) = RCT(719)*V(106) A(720) = RCT(720)*V(106)*F(3) A(721) = RCT(721)*V(70)*V(345) A(722) = RCT(722)*V(136)*V(345) A(723) = RCT(723)*V(136)*V(345) A(724) = RCT(724)*V(143)*V(345) A(725) = RCT(725)*V(82)*V(345) A(726) = RCT(726)*V(101)*V(345) A(727) = RCT(727)*V(263)*V(337) A(728) = RCT(728)*V(263)*V(346) A(729) = RCT(729)*V(263)*V(351) A(730) = RCT(730)*V(263)*V(328) A(731) = RCT(731)*V(263)*V(324) A(732) = RCT(732)*V(58)*V(345) A(733) = RCT(733)*V(121)*V(346) A(734) = RCT(734)*V(121)*V(337) A(735) = 7.09e-11*V(146)*V(345) A(736) = RCT(736)*V(240)*V(346) A(737) = RCT(737)*V(240)*V(337) A(738) = RCT(738)*V(240)*V(335) A(739) = RCT(739)*V(122) A(740) = RCT(740)*V(122)*V(345) A(741) = RCT(741)*V(195)*V(345) A(742) = RCT(742)*V(195)*V(351) A(743) = RCT(743)*V(158)*V(345) A(744) = RCT(744)*V(158)*V(351) A(745) = RCT(745)*V(202)*V(345) A(746) = RCT(746)*V(202)*V(341) A(747) = RCT(747)*V(202)*V(351) A(748) = RCT(748)*V(204)*V(345) A(749) = RCT(749)*V(204)*V(351) A(750) = RCT(750)*V(235)*V(337) A(751) = RCT(751)*V(235)*V(346) A(752) = RCT(752)*V(235)*V(335) A(753) = RCT(753)*V(71)*V(345) A(754) = RCT(754)*V(90) A(755) = RCT(755)*V(90)*V(345) A(756) = RCT(756)*V(236)*V(335) A(757) = RCT(757)*V(236)*V(346) A(758) = RCT(758)*V(236)*V(351) A(759) = RCT(759)*V(236)*V(337) A(760) = RCT(760)*V(117)*V(345) A(761) = RCT(761)*V(203)*V(341) A(762) = RCT(762)*V(203)*V(335) A(763) = RCT(763)*V(269)*V(345) A(764) = RCT(764)*V(269)*V(351) A(765) = RCT(765)*V(236)*V(328) A(766) = RCT(766)*V(235)*V(328) A(767) = RCT(767)*V(221)*V(345) A(768) = RCT(768)*V(221)*V(341) A(769) = RCT(769)*V(221) A(770) = RCT(770)*V(201)*V(345) A(771) = RCT(771)*V(201)*V(341) A(772) = RCT(772)*V(201) A(773) = RCT(773)*V(13)*V(337) A(774) = RCT(774)*V(13)*V(346) A(775) = RCT(775)*V(22)*V(337) A(776) = RCT(776)*V(22)*V(346) A(777) = RCT(777)*V(27)*V(337) A(778) = RCT(778)*V(27)*V(346) A(779) = RCT(779)*V(328)*V(351) A(780) = RCT(780)*V(41)*V(345) A(781) = RCT(781)*V(337) A(782) = RCT(782)*V(335) A(783) = RCT(783)*V(351) A(784) = RCT(784)*V(351) A(785) = RCT(785)*V(351) A(786) = RCT(786)*V(214)*V(336) A(787) = RCT(787)*V(214)*V(339) A(788) = RCT(788)*V(214) A(789) = RCT(789)*V(214)*V(353) A(790) = RCT(790)*V(214)*V(344) A(791) = RCT(791)*V(345)*V(353) A(792) = RCT(792)*V(344)*V(345) A(793) = RCT(793)*V(218)*V(336) A(794) = RCT(794)*V(218)*V(339) A(795) = RCT(795)*V(317)*V(336) A(796) = RCT(796)*V(317)*V(339) A(797) = RCT(797)*V(317)*V(352) A(798) = RCT(798)*V(317)*V(349) A(799) = RCT(799)*V(317)*V(350) A(800) = RCT(800)*V(317)*V(353) A(801) = RCT(801)*V(317)*V(344) A(802) = RCT(802)*V(297)*V(353) A(803) = RCT(803)*V(297)*V(344) A(804) = RCT(804)*V(297)*V(339) A(805) = RCT(805)*V(297)*V(349) A(806) = RCT(806)*V(297)*V(350) A(807) = RCT(807)*V(297)*V(352) A(808) = RCT(808)*V(333)*V(339) A(809) = RCT(809)*V(333)*V(352) A(810) = RCT(810)*V(333)*V(353) A(811) = RCT(811)*V(333)*V(344) A(812) = RCT(812)*V(333)*V(348) A(813) = RCT(813)*V(316)*V(352) A(814) = RCT(814)*V(316)*V(339) A(815) = RCT(815)*V(316)*V(353) A(816) = RCT(816)*V(316)*V(344) A(817) = RCT(817)*V(316)*V(349) A(818) = RCT(818)*V(316)*V(350) A(819) = RCT(819)*V(316)*V(348) A(820) = RCT(820)*V(341)*V(352) A(821) = RCT(821)*V(341)*V(349) A(822) = RCT(822)*V(341)*V(350) A(823) = RCT(823)*V(352) A(824) = RCT(824)*V(352) A(825) = RCT(825)*V(73) A(826) = RCT(826)*V(73) A(827) = RCT(827)*V(73) A(828) = RCT(828)*V(330) A(829) = RCT(829)*V(330) A(830) = RCT(830)*V(44) A(831) = RCT(831)*V(44) A(832) = RCT(832)*V(44) A(833) = RCT(833)*V(55) A(834) = RCT(834)*V(55) A(835) = RCT(835)*V(55) A(836) = RCT(836)*V(42) A(837) = RCT(837)*V(42) A(838) = RCT(838)*V(42) A(839) = RCT(839)*V(252) A(840) = RCT(840)*V(252) A(841) = RCT(841)*V(332) A(842) = RCT(842)*V(332) A(843) = RCT(843)*V(332)*V(336) A(844) = RCT(844)*V(252)*V(349) A(845) = RCT(845)*V(252)*V(350) A(846) = RCT(846)*V(252)*V(353) A(847) = RCT(847)*V(252)*V(344) A(848) = RCT(848)*V(332)*V(349) A(849) = RCT(849)*V(332)*V(350) A(850) = RCT(850)*V(332)*V(353) A(851) = RCT(851)*V(332)*V(344) A(852) = RCT(852)*V(330)*V(349) A(853) = RCT(853)*V(330)*V(350) A(854) = RCT(854)*V(330)*V(353) A(855) = RCT(855)*V(330)*V(344) A(856) = RCT(856)*V(270) A(857) = RCT(857)*V(294) A(858) = RCT(858)*V(151) A(859) = RCT(859)*V(152) A(860) = RCT(860)*V(128) A(861) = RCT(861)*V(24) A(862) = RCT(862)*V(302) A(863) = RCT(863)*V(251) A(864) = RCT(864)*V(256) A(865) = RCT(865)*V(242) A(866) = RCT(866)*V(154) A(867) = RCT(867)*V(115) A(868) = RCT(868)*V(107) A(869) = RCT(869)*V(268) A(870) = RCT(870)*V(175) A(871) = RCT(871)*V(168) A(872) = RCT(872)*V(267) A(873) = RCT(873)*V(215) A(874) = RCT(874)*V(186) A(875) = RCT(875)*V(222) A(876) = RCT(876)*V(299) A(877) = RCT(877)*V(266) A(878) = RCT(878)*V(303) A(879) = RCT(879)*V(216) A(880) = RCT(880)*V(248) A(881) = RCT(881)*V(269) A(882) = RCT(882)*V(341) A(883) = RCT(883)*V(341) A(884) = RCT(884)*F(3) A(885) = RCT(885)*V(335) A(886) = RCT(886)*V(264) A(887) = RCT(887)*V(164) A(888) = RCT(888)*V(325) A(889) = RCT(889)*V(325) A(890) = RCT(890)*V(327) A(891) = RCT(891)*V(239) A(892) = RCT(892)*V(108) A(893) = RCT(893)*V(108) A(894) = RCT(894)*V(351) A(895) = RCT(895)*V(351) A(896) = RCT(896)*V(214) A(897) = RCT(897)*V(326) A(898) = RCT(898)*V(326) A(899) = RCT(899)*V(139) A(900) = RCT(900)*V(126) A(901) = RCT(901)*V(233) A(902) = RCT(902)*V(146) A(903) = RCT(903)*V(298) A(904) = RCT(904)*V(295) A(905) = RCT(905)*V(295) A(906) = RCT(906)*V(292) A(907) = RCT(907)*V(306) A(908) = RCT(908)*V(270) A(909) = RCT(909)*V(270) A(910) = RCT(910)*V(270) A(911) = RCT(911)*V(294) A(912) = RCT(912)*V(314) A(913) = RCT(913)*V(314) A(914) = RCT(914)*V(314) A(915) = RCT(915)*V(309) A(916) = RCT(916)*V(307) A(917) = RCT(917)*V(125) A(918) = RCT(918)*V(118) A(919) = RCT(919)*V(99) A(920) = RCT(920)*V(100) A(921) = RCT(921)*V(97) A(922) = RCT(922)*V(98) A(923) = RCT(923)*V(102) A(924) = RCT(924)*V(123) A(925) = RCT(925)*V(155) A(926) = RCT(926)*V(251) A(927) = RCT(927)*V(196) A(928) = RCT(928)*V(116) A(929) = RCT(929)*V(279) A(930) = RCT(930)*V(92) A(931) = RCT(931)*V(148) A(932) = RCT(932)*V(347) A(933) = RCT(933)*V(316) A(934) = RCT(934)*V(218) A(935) = RCT(935)*V(218) A(936) = RCT(936)*V(59) A(937) = RCT(937)*V(81) A(938) = RCT(938)*V(78) A(939) = RCT(939)*V(105) A(940) = RCT(940)*V(181) A(941) = RCT(941)*V(79) A(942) = RCT(942)*V(157) A(943) = RCT(943)*V(245) A(944) = RCT(944)*V(338) A(945) = RCT(945)*V(120) A(946) = RCT(946)*V(76) A(947) = RCT(947)*V(297) A(948) = RCT(948)*V(317) A(949) = RCT(949)*V(317) A(950) = RCT(950)*V(333) A(951) = RCT(951)*V(43) A(952) = RCT(952)*V(46) A(953) = RCT(953)*V(47) A(954) = RCT(954)*V(48) A(955) = RCT(955)*V(49) A(956) = RCT(956)*V(50) A(957) = RCT(957)*V(51) A(958) = RCT(958)*V(84) A(959) = RCT(959)*V(85) A(960) = RCT(960)*V(86) A(961) = RCT(961)*V(87) A(962) = RCT(962)*V(53) A(963) = RCT(963)*V(61) A(964) = RCT(964)*V(54) A(965) = RCT(965)*V(110) A(966) = RCT(966)*V(170) A(967) = RCT(967)*V(330) A(968) = RCT(968)*V(284) A(969) = RCT(969)*V(96) A(970) = RCT(970)*V(62) A(971) = RCT(971)*V(252) A(972) = RCT(972)*V(332) A(973) = RCT(973)*V(44) A(974) = RCT(974)*V(52) A(975) = RCT(975)*V(1) A(976) = RCT(976)*V(3) A(977) = RCT(977)*V(2) A(978) = RCT(978)*V(42) A(979) = RCT(979)*V(55) A(980) = RCT(980)*V(77) A(981) = RCT(981)*V(104) A(982) = RCT(982)*V(80) A(983) = RCT(983)*V(80) A(984) = RCT(984)*V(244) A(985) = RCT(985)*V(63) A(986) = RCT(986)*V(68) A(987) = RCT(987)*V(134) A(988) = RCT(988)*V(346) A(989) = RCT(989)*V(229) A(990) = RCT(990)*V(261) A(991) = RCT(991)*V(256) A(992) = RCT(992)*V(242) A(993) = RCT(993)*V(154) A(994) = RCT(994)*V(65) A(995) = RCT(995)*V(65) A(996) = RCT(996)*V(64) A(997) = RCT(997)*V(64) A(998) = RCT(998)*V(93) A(999) = RCT(999)*V(83) A(1000) = RCT(1000)*V(91) A(1001) = RCT(1001)*V(95) A(1002) = RCT(1002)*V(88) A(1003) = RCT(1003)*V(210) A(1004) = RCT(1004)*V(115) A(1005) = RCT(1005)*V(247) A(1006) = RCT(1006)*V(208) A(1007) = RCT(1007)*V(227) A(1008) = RCT(1008)*V(288) A(1009) = RCT(1009)*V(185) A(1010) = RCT(1010)*V(194) A(1011) = RCT(1011)*V(287) A(1012) = RCT(1012)*V(159) A(1013) = RCT(1013)*V(302) A(1014) = RCT(1014)*V(248) A(1015) = RCT(1015)*V(216) A(1016) = RCT(1016)*V(187) A(1017) = RCT(1017)*V(192) A(1018) = RCT(1018)*V(209) A(1019) = RCT(1019)*V(199) A(1020) = RCT(1020)*V(230) A(1021) = RCT(1021)*V(231) A(1022) = RCT(1022)*V(150) A(1023) = RCT(1023)*V(144) A(1024) = RCT(1024)*V(268) A(1025) = RCT(1025)*V(175) A(1026) = RCT(1026)*V(168) A(1027) = RCT(1027)*V(267) A(1028) = RCT(1028)*V(222) A(1029) = RCT(1029)*V(186) A(1030) = RCT(1030)*V(186) A(1031) = RCT(1031)*V(301) A(1032) = RCT(1032)*V(299) A(1033) = RCT(1033)*V(258) A(1034) = RCT(1034)*V(258) A(1035) = RCT(1035)*V(174) A(1036) = RCT(1036)*V(198) A(1037) = RCT(1037)*V(147) A(1038) = RCT(1038)*V(303) A(1039) = RCT(1039)*V(303) A(1040) = RCT(1040)*V(266) A(1041) = RCT(1041)*V(266) A(1042) = RCT(1042)*V(136) A(1043) = RCT(1043)*V(204) A(1044) = RCT(1044)*V(71) A(1045) = RCT(1045)*V(117) A(1046) = RCT(1046)*V(269) A(1047) = RCT(1047)*V(124) A(1048) = RCT(1048)*V(111) A(1049) = RCT(1049)*V(225) A(1050) = RCT(1050)*V(74) A(1051) = RCT(1051)*V(66) A(1052) = RCT(1052)*V(160) A(1053) = RCT(1053)*V(112) A(1054) = RCT(1054)*V(161) A(1055) = RCT(1055)*V(169) A(1056) = RCT(1056)*V(130) A(1057) = RCT(1057)*V(229) A(1058) = RCT(1058)*V(255) !### Use Aout to return equation rates IF ( PRESENT( Aout ) ) Aout = A ! Production function IF (DO_FUN(1)) & P_VAR(1) = 0 IF (DO_FUN(2)) & P_VAR(2) = 0 IF (DO_FUN(3)) & P_VAR(3) = 0 IF (DO_FUN(4)) & P_VAR(4) = A(825)+2*A(830)+2*A(833)+2*A(836) IF (DO_FUN(5)) & P_VAR(5) = A(881) IF (DO_FUN(6)) & P_VAR(6) = A(780) IF (DO_FUN(7)) & P_VAR(7) = A(24)+A(47)+A(56)+A(104)+A(109)+A(127)+0.44*A(128)+0.3*A(136)+0.43*A(148)+0.1*A(150)+0.361*A(151)+0.44& &*A(158)+0.5*A(168)+0.22*A(178)+2*A(180)+0.9*A(181)+0.9*A(182)+0.9*A(183)+0.9*A(184)+0.9*A(185)+0.9*A(186)& &+0.645*A(187)+0.645*A(188)+0.9*A(189)+0.9*A(190)+0.9*A(191)+0.9*A(192)+0.9*A(193)+2*A(194)+A(195)+A(239)& &+A(318)+A(326)+A(360)+A(362)+A(369)+A(392)+A(395)+A(397)+0.44*A(436)+A(437)+A(440)+A(442)+0.9*A(457)+0.9& &*A(459)+0.9*A(461)+0.9*A(463)+0.75*A(464)+2*A(465)+0.75*A(466)+A(467)+A(474)+0.407*A(493)+0.355*A(528)& &+A(570)+A(571)+A(572)+A(573)+A(611)+A(612)+0.429*A(639)+0.429*A(640)+0.23*A(652)+0.75*A(654)+0.097*A(661)& &+0.5*A(671)+0.41*A(672)+A(676)+0.5*A(678)+A(679)+A(681)+0.7*A(682)+A(689)+A(693)+0.5*A(695)+A(701)+A(731)+2& &*A(736)+0.44*A(737)+0.35*A(750)+A(751)+A(755)+A(766)+0.3*A(899)+A(930)+A(1004)+1.238*A(1012)+A(1044)+A(1046)& &+A(1050)+A(1051)+A(1055)+A(1056) IF (DO_FUN(8)) & P_VAR(8) = A(486)+A(487) IF (DO_FUN(9)) & P_VAR(9) = A(826)+A(828)+2*A(831)+2*A(834)+2*A(837)+A(839)+A(841) IF (DO_FUN(10)) & P_VAR(10) = A(827)+A(829)+2*A(832)+2*A(835)+2*A(838)+A(840)+A(842) IF (DO_FUN(11)) & P_VAR(11) = A(773) IF (DO_FUN(12)) & P_VAR(12) = A(774) IF (DO_FUN(13)) & P_VAR(13) = A(724) IF (DO_FUN(14)) & P_VAR(14) = A(494)+A(495)+A(496)+A(497) IF (DO_FUN(15)) & P_VAR(15) = A(603) IF (DO_FUN(16)) & P_VAR(16) = A(699) IF (DO_FUN(17)) & P_VAR(17) = A(700) IF (DO_FUN(18)) & P_VAR(18) = A(698) IF (DO_FUN(19)) & P_VAR(19) = 0 IF (DO_FUN(20)) & P_VAR(20) = A(775) IF (DO_FUN(21)) & P_VAR(21) = A(776) IF (DO_FUN(22)) & P_VAR(22) = A(725) IF (DO_FUN(23)) & P_VAR(23) = A(861) IF (DO_FUN(24)) & P_VAR(24) = 0.005*A(531)+0.005*A(532)+0.005*A(533)+0.005*A(534)+0.005*A(535)+0.005*A(536)+0.005*A(537)+0.005*A(538) IF (DO_FUN(25)) & P_VAR(25) = A(777) IF (DO_FUN(26)) & P_VAR(26) = A(778) IF (DO_FUN(27)) & P_VAR(27) = A(726) IF (DO_FUN(28)) & P_VAR(28) = 0.25*A(200) IF (DO_FUN(29)) & P_VAR(29) = A(4) IF (DO_FUN(30)) & P_VAR(30) = A(856)+1.5*A(857)+1.5*A(867) IF (DO_FUN(31)) & P_VAR(31) = A(858)+A(859)+A(860)+0.8*A(868)+A(873) IF (DO_FUN(32)) & P_VAR(32) = A(202)+A(368)+A(372) IF (DO_FUN(33)) & P_VAR(33) = 2*A(12) IF (DO_FUN(34)) & P_VAR(34) = A(18)+A(22)+A(26)+A(36)+A(38)+A(56)+A(58)+A(60)+A(63)+A(65)+A(68)+2*A(73)+0.942*A(78)+A(80)+A(82)+A(85)& &+A(87)+2*A(88)+A(90)+A(91)+A(92)+A(93)+A(94)+A(95)+A(96)+A(97)+A(98)+A(100)+A(109)+A(123)+A(125)+A(126)& &+A(127)+0.15*A(128)+0.15*A(148)+A(156)+A(157)+0.15*A(158)+A(160)+A(211)+0.02*A(247)+A(248)+A(249)+A(273)& &+A(281)+A(282)+A(297)+0.1*A(309)+A(319)+A(322)+A(323)+A(352)+A(363)+A(364)+A(370)+A(371)+0.75*A(385)+0.5& &*A(388)+0.15*A(391)+A(392)+A(394)+0.84*A(399)+A(403)+0.75*A(405)+0.5*A(407)+A(412)+A(416)+0.75*A(418)+0.5& &*A(426)+0.84*A(429)+A(435)+0.15*A(436)+A(437)+A(439)+A(445)+A(450)+A(468)+A(469)+A(486)+A(487)+A(488)& &+A(489)+A(490)+A(491)+A(492)+A(516)+A(517)+A(518)+A(519)+A(520)+A(521)+A(522)+A(523)+A(540)+A(541)+A(544)& &+A(545)+A(548)+A(549)+A(559)+A(560)+A(563)+A(564)+A(567)+A(568)+A(570)+A(572)+A(586)+A(587)+A(590)+A(591)& &+A(595)+A(596)+A(598)+A(599)+A(601)+A(602)+A(615)+A(616)+A(617)+A(618)+A(633)+A(634)+A(635)+A(636)+A(639)& &+A(642)+0.69*A(650)+A(655)+A(658)+A(668)+A(669)+0.13*A(671)+A(674)+A(675)+A(676)+0.13*A(678)+A(679)+A(684)& &+0.13*A(695)+0.89*A(709)+A(711)+0.995*A(716)+A(721)+A(728)+A(733)+A(736)+0.15*A(737)+A(739)+A(740)+0.15& &*A(750)+A(751)+A(754)+A(755)+A(756)+A(757)+A(763)+2*A(884)+A(892)+0.3*A(899)+A(900)+A(927)+A(928)+A(982)& &+A(985)+A(988)+A(998)+A(999)+A(1000)+A(1001)+0.3*A(1047) IF (DO_FUN(35)) & P_VAR(35) = A(1)+A(4)+A(8)+A(14)+A(15)+A(17)+A(42)+A(44)+2*A(49)+A(50)+A(52)+A(67)+A(76)+A(77)+A(86)+A(101)+A(110)& &+A(124)+A(131)+A(150)+A(154)+A(155)+A(159)+A(162)+A(165)+A(166)+A(179)+2*A(196)+A(201)+2*A(207)+2*A(208)& &+A(212)+A(213)+A(214)+A(226)+A(229)+A(230)+A(231)+2*A(233)+A(235)+A(236)+A(237)+A(238)+2*A(240)+2*A(241)& &+A(244)+A(246)+2*A(251)+A(252)+0.66*A(253)+0.6*A(254)+0.44*A(257)+0.56*A(258)+0.19*A(261)+0.1*A(269)+0.05& &*A(270)+A(274)+A(275)+A(276)+A(277)+A(278)+2*A(298)+2*A(302)+2*A(303)+2*A(311)+2*A(312)+0.4*A(344)+0.88& &*A(349)+A(367)+A(375)+A(376)+A(377)+A(379)+A(381)+A(383)+A(386)+A(389)+A(393)+A(395)+A(400)+A(406)+A(414)& &+A(419)+A(421)+2*A(422)+A(424)+2*A(425)+0.5*A(427)+A(428)+A(431)+A(434)+A(438)+A(440)+A(446)+A(448)+A(449)& &+A(454)+A(455)+A(476)+A(477)+A(483)+2*A(484)+2*A(485)+A(493)+A(603)+A(613)+A(614)+A(645)+A(648)+A(649)& &+A(681)+A(692)+A(703)+A(704)+A(706)+A(708)+A(712)+A(717)+A(729)+A(738)+1.258*A(742)+1.5*A(744)+A(746)+1.5& &*A(747)+A(749)+A(752)+A(758)+A(761)+A(762)+A(768)+A(771)+A(779)+0.5*A(782)+A(783)+A(784)+A(785)+A(786)& &+A(787)+A(788)+A(789)+A(790)+A(794)+A(796)+A(797)+A(798)+A(799)+A(800)+A(801)+A(802)+A(803)+A(804)+A(805)& &+A(806)+A(807)+A(808)+A(809)+A(810)+A(811)+A(812)+A(813)+A(814)+A(815)+A(816)+A(817)+A(818)+A(819)+A(828)& &+A(829)+2*A(830)+2*A(831)+2*A(832)+3*A(833)+3*A(834)+3*A(835)+4*A(836)+4*A(837)+4*A(838)+A(839)+A(840)& &+A(841)+A(842)+A(844)+A(845)+A(846)+A(847)+A(848)+A(849)+A(850)+A(851)+A(852)+A(853)+A(854)+A(855)+A(862)& &+A(863)+A(864)+A(865)+A(866)+A(869)+A(870)+A(871)+A(872)+A(874)+A(875)+2*A(876)+A(877)+A(878)+A(879)+A(880)& &+2*A(895)+A(933)+2*A(946)+A(950)+A(967)+2*A(969)+A(994)+A(996) IF (DO_FUN(36)) & P_VAR(36) = A(34)+A(50)+0.05*A(51)+A(55)+A(80)+A(82)+A(83)+A(84)+A(85)+A(88)+A(108)+A(126)+0.56*A(150)+0.505*A(151)& &+A(152)+A(160)+2*A(163)+A(164)+2*A(165)+A(166)+0.5*A(168)+A(216)+A(238)+A(252)+A(292)+A(315)+A(316)+A(317)& &+0.15*A(379)+0.1*A(383)+0.407*A(493)+0.6*A(496)+0.9*A(497)+0.6*A(503)+0.9*A(505)+A(509)+A(510)+A(511)+0.5& &*A(513)+0.5*A(515)+0.55*A(519)+0.55*A(523)+0.45*A(524)+0.37*A(525)+0.42*A(526)+0.23*A(527)+0.638*A(528)+1.5& &*A(529)+A(530)+0.25*A(535)+0.33*A(536)+0.036*A(537)+0.054*A(538)+A(557)+0.13*A(558)+0.2*A(559)+A(562)+0.2& &*A(563)+0.13*A(565)+0.52*A(566)+0.8*A(568)+2*A(569)+0.6*A(582)+0.6*A(583)+0.539*A(638)+0.33*A(639)+0.33& &*A(640)+0.28*A(645)+0.036*A(646)+0.12*A(648)+0.68*A(649)+0.77*A(652)+0.25*A(654)+0.75*A(661)+A(662)+A(664)& &+2*A(665)+0.84*A(666)+0.507*A(670)+0.325*A(671)+0.488*A(672)+A(673)+0.86*A(674)+0.65*A(676)+0.25*A(684)& &+A(685)+A(686)+0.888*A(687)+A(690)+A(696)+0.18*A(704)+0.12*A(707)+0.364*A(714)+0.2*A(724)+0.27*A(725)+0.3& &*A(726)+2*A(740)+0.15*A(763)+0.15*A(764)+0.26*A(767)+0.5*A(768)+0.25*A(770)+0.5*A(771)+0.05*A(772)+A(888)& &+A(889)+0.88*A(897)+A(898)+0.7*A(901)+A(902)+A(903)+A(905)+A(907)+2*A(908)+2*A(909)+A(910)+A(911)+A(912)& &+A(913)+A(915)+A(986)+A(990)+A(1003)+A(1006)+0.5*A(1007)+0.571*A(1009)+0.875*A(1010)+0.77*A(1011)+A(1014)& &+A(1015)+0.888*A(1020)+0.818*A(1021)+A(1022)+A(1023)+0.55*A(1024)+0.55*A(1027)+0.839*A(1031)+A(1033)+0.163& &*A(1034)+A(1037)+A(1041)+A(1043)+A(1046)+A(1049)+A(1058) IF (DO_FUN(37)) & P_VAR(37) = A(24)+A(362)+A(369) IF (DO_FUN(38)) & P_VAR(38) = A(1)+A(7)+A(8)+A(9)+2*A(12)+A(202)+A(368)+A(372)+A(812)+A(819) IF (DO_FUN(39)) & P_VAR(39) = A(25)+A(231)+A(291) IF (DO_FUN(40)) & P_VAR(40) = A(19)+A(23)+0.06*A(365)+0.06*A(366)+A(373)+0.013*A(493)+0.045*A(645) IF (DO_FUN(41)) & P_VAR(41) = 0 IF (DO_FUN(42)) & P_VAR(42) = A(346) IF (DO_FUN(43)) & P_VAR(43) = 0 IF (DO_FUN(44)) & P_VAR(44) = 0.6*A(357) IF (DO_FUN(45)) & P_VAR(45) = A(864)+A(865)+A(866) IF (DO_FUN(46)) & P_VAR(46) = 0.21*A(256) IF (DO_FUN(47)) & P_VAR(47) = 0.1*A(262) IF (DO_FUN(48)) & P_VAR(48) = 0.14*A(263) IF (DO_FUN(49)) & P_VAR(49) = 0.1*A(269) IF (DO_FUN(50)) & P_VAR(50) = 0.1*A(270) IF (DO_FUN(51)) & P_VAR(51) = 0.14*A(271) IF (DO_FUN(52)) & P_VAR(52) = 0 IF (DO_FUN(53)) & P_VAR(53) = 0.55*A(265) IF (DO_FUN(54)) & P_VAR(54) = 0.25*A(272) IF (DO_FUN(55)) & P_VAR(55) = A(345) IF (DO_FUN(56)) & P_VAR(56) = A(393) IF (DO_FUN(57)) & P_VAR(57) = A(438) IF (DO_FUN(58)) & P_VAR(58) = 0.15*A(707) IF (DO_FUN(59)) & P_VAR(59) = A(221) IF (DO_FUN(60)) & P_VAR(60) = 0 IF (DO_FUN(61)) & P_VAR(61) = 0.35*A(264) IF (DO_FUN(62)) & P_VAR(62) = A(334) IF (DO_FUN(63)) & P_VAR(63) = A(250) IF (DO_FUN(64)) & P_VAR(64) = A(3)+A(784) IF (DO_FUN(65)) & P_VAR(65) = A(6)+A(785) IF (DO_FUN(66)) & P_VAR(66) = 0.15*A(391)+0.25*A(464) IF (DO_FUN(67)) & P_VAR(67) = A(988) IF (DO_FUN(68)) & P_VAR(68) = 0 IF (DO_FUN(69)) & P_VAR(69) = 0 IF (DO_FUN(70)) & P_VAR(70) = 0.005*A(716) IF (DO_FUN(71)) & P_VAR(71) = 0.65*A(750) IF (DO_FUN(72)) & P_VAR(72) = 0.56*A(158) IF (DO_FUN(73)) & P_VAR(73) = A(351) IF (DO_FUN(74)) & P_VAR(74) = 0.41*A(391) IF (DO_FUN(75)) & P_VAR(75) = 0 IF (DO_FUN(76)) & P_VAR(76) = A(307) IF (DO_FUN(77)) & P_VAR(77) = A(844)+A(845)+A(848)+A(849)+A(852)+A(853) IF (DO_FUN(78)) & P_VAR(78) = 0.05*A(259) IF (DO_FUN(79)) & P_VAR(79) = 0 IF (DO_FUN(80)) & P_VAR(80) = A(197) IF (DO_FUN(81)) & P_VAR(81) = 0.3*A(260) IF (DO_FUN(82)) & P_VAR(82) = 0 IF (DO_FUN(83)) & P_VAR(83) = A(59) IF (DO_FUN(84)) & P_VAR(84) = 0.21*A(268) IF (DO_FUN(85)) & P_VAR(85) = 0.31*A(266) IF (DO_FUN(86)) & P_VAR(86) = 0.35*A(267) IF (DO_FUN(87)) & P_VAR(87) = 0.25*A(261) IF (DO_FUN(88)) & P_VAR(88) = 0.73*A(365)+0.4*A(366) IF (DO_FUN(89)) & P_VAR(89) = A(10) IF (DO_FUN(90)) & P_VAR(90) = A(752) IF (DO_FUN(91)) & P_VAR(91) = A(99) IF (DO_FUN(92)) & P_VAR(92) = 0.37*A(695) IF (DO_FUN(93)) & P_VAR(93) = A(27) IF (DO_FUN(94)) & P_VAR(94) = 0 IF (DO_FUN(95)) & P_VAR(95) = A(64) IF (DO_FUN(96)) & P_VAR(96) = 0.8*A(344)+2*A(347)+0.4*A(357)+0.996*A(358)+A(973)+2*A(978)+A(979) IF (DO_FUN(97)) & P_VAR(97) = A(114) IF (DO_FUN(98)) & P_VAR(98) = A(70) IF (DO_FUN(99)) & P_VAR(99) = A(146) IF (DO_FUN(100)) & P_VAR(100) = A(120) IF (DO_FUN(101)) & P_VAR(101) = 0 IF (DO_FUN(102)) & P_VAR(102) = A(116) IF (DO_FUN(103)) & P_VAR(103) = A(862)+A(863)+A(869)+A(870)+A(871)+A(872)+A(874)+A(875)+A(876)+A(877)+A(878)+A(879)+A(880) IF (DO_FUN(104)) & P_VAR(104) = 0.191*A(349)+A(846)+A(847)+A(850)+A(851)+A(854)+A(855) IF (DO_FUN(105)) & P_VAR(105) = 0 IF (DO_FUN(106)) & P_VAR(106) = 0.995*A(716)+A(717)+0.6*A(718)+A(1042) IF (DO_FUN(107)) & P_VAR(107) = 0.098*A(672)+0.75*A(684) IF (DO_FUN(108)) & P_VAR(108) = A(39) IF (DO_FUN(109)) & P_VAR(109) = 0.4*A(901) IF (DO_FUN(110)) & P_VAR(110) = A(274)+A(278)+A(303)+A(305)+A(311)+A(946) IF (DO_FUN(111)) & P_VAR(111) = A(384) IF (DO_FUN(112)) & P_VAR(112) = A(404) IF (DO_FUN(113)) & P_VAR(113) = A(124) IF (DO_FUN(114)) & P_VAR(114) = A(155) IF (DO_FUN(115)) & P_VAR(115) = 0.075*A(645)+0.241*A(650)+0.653*A(661)+0.75*A(1010) IF (DO_FUN(116)) & P_VAR(116) = 0.11*A(709) IF (DO_FUN(117)) & P_VAR(117) = 0.15*A(750)+A(755)+A(759) IF (DO_FUN(118)) & P_VAR(118) = A(144)+A(145) IF (DO_FUN(119)) & P_VAR(119) = 0.15*A(524)+0.15*A(525)+0.112*A(1020)+0.182*A(1021)+0.161*A(1031) IF (DO_FUN(120)) & P_VAR(120) = A(304)+A(310)+0.56*A(349) IF (DO_FUN(121)) & P_VAR(121) = A(732) IF (DO_FUN(122)) & P_VAR(122) = A(738) IF (DO_FUN(123)) & P_VAR(123) = A(147) IF (DO_FUN(124)) & P_VAR(124) = A(106) IF (DO_FUN(125)) & P_VAR(125) = A(121) IF (DO_FUN(126)) & P_VAR(126) = A(86) IF (DO_FUN(127)) & P_VAR(127) = 0.058*A(78) IF (DO_FUN(128)) & P_VAR(128) = 0.255*A(537)+0.595*A(538)+A(578)+A(580) IF (DO_FUN(129)) & P_VAR(129) = 0.2*A(383)+0.75*A(405)+A(406)+0.5*A(407)+A(458)+A(459)+A(1053) IF (DO_FUN(130)) & P_VAR(130) = 0.15*A(436)+0.25*A(466) IF (DO_FUN(131)) & P_VAR(131) = A(557)+0.13*A(558)+0.2*A(559)+0.35*A(686)+0.35*A(1033) IF (DO_FUN(132)) & P_VAR(132) = 0.255*A(81) IF (DO_FUN(133)) & P_VAR(133) = 0.315*A(524) IF (DO_FUN(134)) & P_VAR(134) = A(1)+A(7)+A(8)+A(9)+2*A(12)+A(202)+A(368)+A(372)+A(812)+A(819) IF (DO_FUN(135)) & P_VAR(135) = 0.315*A(525) IF (DO_FUN(136)) & P_VAR(136) = A(715)+0.2*A(718) IF (DO_FUN(137)) & P_VAR(137) = 0.25*A(385) IF (DO_FUN(138)) & P_VAR(138) = 0.25*A(405) IF (DO_FUN(139)) & P_VAR(139) = A(53) IF (DO_FUN(140)) & P_VAR(140) = 0 IF (DO_FUN(141)) & P_VAR(141) = 0 IF (DO_FUN(142)) & P_VAR(142) = 0 IF (DO_FUN(143)) & P_VAR(143) = 0.1*A(704) IF (DO_FUN(144)) & P_VAR(144) = 0.15*A(497)+0.15*A(505)+0.009*A(538) IF (DO_FUN(145)) & P_VAR(145) = 0.474*A(607)+0.34*A(608)+0.244*A(609)+0.841*A(612)+0.841*A(614)+0.841*A(617)+0.841*A(1029)+0.222*A(1032) IF (DO_FUN(146)) & P_VAR(146) = A(733)+A(734) IF (DO_FUN(147)) & P_VAR(147) = A(556)+A(561) IF (DO_FUN(148)) & P_VAR(148) = A(208)+A(210)+A(813)+A(817)+A(818) IF (DO_FUN(149)) & P_VAR(149) = 0 IF (DO_FUN(150)) & P_VAR(150) = 0.15*A(496)+0.15*A(503)+0.009*A(537) IF (DO_FUN(151)) & P_VAR(151) = 0.67*A(532)+0.68*A(534)+0.67*A(575)+0.67*A(577) IF (DO_FUN(152)) & P_VAR(152) = 0.33*A(532)+0.32*A(534)+0.33*A(575)+0.33*A(577) IF (DO_FUN(153)) & P_VAR(153) = A(562)+0.2*A(563)+0.13*A(565)+0.15*A(686)+0.15*A(1033)+0.163*A(1034) IF (DO_FUN(154)) & P_VAR(154) = A(481)+A(482)+A(483)+A(484)+A(485) IF (DO_FUN(155)) & P_VAR(155) = 0.41*A(128)+0.41*A(148)+0.41*A(737) IF (DO_FUN(156)) & P_VAR(156) = 0.25*A(129)+0.25*A(130)+0.4*A(142)+0.4*A(143) IF (DO_FUN(157)) & P_VAR(157) = A(312)+A(794)+A(797)+A(798)+A(799)+A(805)+A(806)+A(807)+A(809)+A(814)+A(815)+A(816) IF (DO_FUN(158)) & P_VAR(158) = 0.18*A(705)+0.03*A(707)+0.19*A(725)+0.15*A(726) IF (DO_FUN(159)) & P_VAR(159) = 0.5*A(671)+0.25*A(1012) IF (DO_FUN(160)) & P_VAR(160) = A(398)+0.25*A(401) IF (DO_FUN(161)) & P_VAR(161) = A(410)+0.25*A(413) IF (DO_FUN(162)) & P_VAR(162) = 0.5*A(407)+A(411) IF (DO_FUN(163)) & P_VAR(163) = 0.3*A(421)+0.84*A(429)+A(431)+0.75*A(432) IF (DO_FUN(164)) & P_VAR(164) = A(28) IF (DO_FUN(165)) & P_VAR(165) = A(72) IF (DO_FUN(166)) & P_VAR(166) = -A(4) IF (DO_FUN(167)) & P_VAR(167) = 0 IF (DO_FUN(168)) & P_VAR(168) = A(520) IF (DO_FUN(169)) & P_VAR(169) = A(430)+0.25*A(432)+0.41*A(436) IF (DO_FUN(170)) & P_VAR(170) = A(335)+A(338)+A(342) IF (DO_FUN(171)) & P_VAR(171) = 0.224*A(1020)+0.068*A(1031) IF (DO_FUN(172)) & P_VAR(172) = 0.182*A(1021)+0.128*A(1031) IF (DO_FUN(173)) & P_VAR(173) = 0.15*A(128)+0.15*A(148)+0.5*A(475)+0.5*A(707)+0.45*A(726)+0.15*A(737)+0.43*A(767)+0.52*A(770) IF (DO_FUN(174)) & P_VAR(174) = 0.725*A(542)+0.725*A(546)+0.35*A(550) IF (DO_FUN(175)) & P_VAR(175) = A(516) IF (DO_FUN(176)) & P_VAR(176) = 0.5*A(388)+0.16*A(399) IF (DO_FUN(177)) & P_VAR(177) = A(422)+A(425)+0.5*A(426)+0.5*A(427)+A(428)+0.16*A(429) IF (DO_FUN(178)) & P_VAR(178) = A(66)+A(67)+0.5*A(71) IF (DO_FUN(179)) & P_VAR(179) = -A(1) IF (DO_FUN(180)) & P_VAR(180) = 0.435*A(641) IF (DO_FUN(181)) & P_VAR(181) = 0.1*A(257) IF (DO_FUN(182)) & P_VAR(182) = 0.461*A(638)+0.67*A(639)+0.67*A(640)+0.041*A(691) IF (DO_FUN(183)) & P_VAR(183) = 0 IF (DO_FUN(184)) & P_VAR(184) = A(677)+A(680) IF (DO_FUN(185)) & P_VAR(185) = A(530)+0.444*A(687)+0.112*A(1020)+0.182*A(1021)+0.162*A(1031)+0.454*A(1037) IF (DO_FUN(186)) & P_VAR(186) = A(605) IF (DO_FUN(187)) & P_VAR(187) = 0.937*A(498) IF (DO_FUN(188)) & P_VAR(188) = 0.25*A(112)+0.25*A(113)+0.38*A(132)+0.375*A(133)+0.38*A(134)+0.375*A(135)+0.25*A(137)+0.25*A(138)+0.25& &*A(139)+0.25*A(473) IF (DO_FUN(189)) & P_VAR(189) = 0.3*A(702)+0.07*A(705)+0.05*A(707) IF (DO_FUN(190)) & P_VAR(190) = A(576) IF (DO_FUN(191)) & P_VAR(191) = 0 IF (DO_FUN(192)) & P_VAR(192) = 0.937*A(500) IF (DO_FUN(193)) & P_VAR(193) = A(444) IF (DO_FUN(194)) & P_VAR(194) = 0.022*A(691)+0.552*A(1020)+0.454*A(1021)+0.481*A(1031) IF (DO_FUN(195)) & P_VAR(195) = 0.54*A(724) IF (DO_FUN(196)) & P_VAR(196) = A(69)+A(74) IF (DO_FUN(197)) & P_VAR(197) = 0.68*A(81)+A(87)+A(900)+0.3*A(901) IF (DO_FUN(198)) & P_VAR(198) = 0.824*A(539)+0.452*A(543)+A(547)+0.667*A(688) IF (DO_FUN(199)) & P_VAR(199) = A(501) IF (DO_FUN(200)) & P_VAR(200) = 0 IF (DO_FUN(201)) & P_VAR(201) = 0.4*A(705)+0.6*A(707)+0.4*A(708)+0.3*A(725)+0.56*A(726)+0.44*A(743)+0.44*A(744) IF (DO_FUN(202)) & P_VAR(202) = 0.8*A(741)+0.727*A(743) IF (DO_FUN(203)) & P_VAR(203) = 0.06*A(741)+0.742*A(742)+0.073*A(743)+0.3*A(744)+0.3*A(745)+0.3*A(747)+A(756)+A(757)+A(758)+A(765)& &+A(1045) IF (DO_FUN(204)) & P_VAR(204) = 0.7*A(702)+A(703)+0.62*A(704)+A(706)+A(708)+0.89*A(709)+A(710)+A(711)+0.06*A(725)+0.06*A(726)+A(928) IF (DO_FUN(205)) & P_VAR(205) = A(574) IF (DO_FUN(206)) & P_VAR(206) = A(579) IF (DO_FUN(207)) & P_VAR(207) = A(581) IF (DO_FUN(208)) & P_VAR(208) = 0.13*A(566)+0.2*A(568)+0.53*A(651)+0.6*A(663)+0.255*A(667)+0.318*A(687)+0.391*A(1037) IF (DO_FUN(209)) & P_VAR(209) = A(499) IF (DO_FUN(210)) & P_VAR(210) = 0.3*A(496)+0.3*A(503)+0.018*A(537)+0.284*A(540)+0.135*A(542)+0.249*A(631)+0.471*A(632)+0.303*A(633)+0.59& &*A(635)+0.5*A(1039) IF (DO_FUN(211)) & P_VAR(211) = 0.25*A(418) IF (DO_FUN(212)) & P_VAR(212) = A(75) IF (DO_FUN(213)) & P_VAR(213) = 0.8*A(153)+A(154)+A(156) IF (DO_FUN(214)) & P_VAR(214) = A(45) IF (DO_FUN(215)) & P_VAR(215) = 0.085*A(524)+0.165*A(525)+0.58*A(526)+0.77*A(527)+0.75*A(551)+A(552)+A(554)+A(625)+A(637) IF (DO_FUN(216)) & P_VAR(216) = 0.6*A(582)+0.031*A(594)+0.065*A(595)+0.094*A(600)+0.355*A(601)+0.06*A(631)+0.073*A(632)+0.17*A(633)+0.291& &*A(635)+0.378*A(638)+0.13*A(678)+0.3*A(682) IF (DO_FUN(217)) & P_VAR(217) = A(229)+0.2*A(231)+A(234)+A(235)+0.22*A(253)+0.2*A(254)+0.09*A(257)+A(294)+A(888) IF (DO_FUN(218)) & P_VAR(218) = A(222) IF (DO_FUN(219)) & P_VAR(219) = 0 IF (DO_FUN(220)) & P_VAR(220) = 0 IF (DO_FUN(221)) & P_VAR(221) = 0.8*A(705)+0.375*A(707)+0.55*A(724)+0.68*A(725)+0.28*A(726)+0.18*A(741)+1.05*A(745)+A(746)+0.3*A(747)+0.9& &*A(763)+0.9*A(764)+A(1046) IF (DO_FUN(222)) & P_VAR(222) = 0.473*A(604)+0.07*A(606)+0.399*A(607)+0.355*A(610) IF (DO_FUN(223)) & P_VAR(223) = 0.345*A(531)+0.595*A(537) IF (DO_FUN(224)) & P_VAR(224) = 0.345*A(533)+0.255*A(538) IF (DO_FUN(225)) & P_VAR(225) = 0.2*A(383)+0.75*A(385)+A(386)+0.5*A(388)+A(456)+A(457)+A(1048) IF (DO_FUN(226)) & P_VAR(226) = A(622) IF (DO_FUN(227)) & P_VAR(227) = 0.29*A(650)+0.47*A(651)+0.063*A(661)+0.4*A(663)+0.16*A(666)+0.126*A(687)+0.133*A(1034)+0.155*A(1037) IF (DO_FUN(228)) & P_VAR(228) = 0.1*A(150)+A(898) IF (DO_FUN(229)) & P_VAR(229) = A(443) IF (DO_FUN(230)) & P_VAR(230) = 0.25*A(496)+0.25*A(503)+0.015*A(537) IF (DO_FUN(231)) & P_VAR(231) = 0.25*A(497)+0.25*A(505)+0.015*A(538) IF (DO_FUN(232)) & P_VAR(232) = 0.655*A(531)+0.655*A(533) IF (DO_FUN(233)) & P_VAR(233) = A(76)+A(77)+0.73*A(78) IF (DO_FUN(234)) & P_VAR(234) = A(127)+0.44*A(128)+A(713)+A(722) IF (DO_FUN(235)) & P_VAR(235) = A(748)+A(749)+A(753)+A(754) IF (DO_FUN(236)) & P_VAR(236) = 0.28*A(704)+0.2*A(750)+A(751)+A(760)+A(761)+A(766)+A(1043)+A(1044) IF (DO_FUN(237)) & P_VAR(237) = 0.37*A(417)+0.28*A(418)+0.37*A(419)+0.37*A(460)+0.37*A(461) IF (DO_FUN(238)) & P_VAR(238) = A(509)+A(510)+A(511)+0.5*A(513)+0.5*A(515)+0.45*A(519)+0.45*A(523)+0.06*A(537)+0.06*A(538)+A(1018)& &+A(1019)+0.45*A(1024)+0.45*A(1027) IF (DO_FUN(239)) & P_VAR(239) = A(37)+0.5*A(782)+A(802)+A(803)+A(804)+A(805)+A(806)+A(807)+A(839)+A(840)+A(844)+A(845)+A(846)+A(847)& &+A(994)+A(996)+A(1046) IF (DO_FUN(240)) & P_VAR(240) = A(735)+A(739) IF (DO_FUN(241)) & P_VAR(241) = 0.12*A(150) IF (DO_FUN(242)) & P_VAR(242) = 0.7*A(450)+0.7*A(451)+0.35*A(452)+0.3*A(470)+0.3*A(471)+0.3*A(472)+0.15*A(473)+0.3*A(474)+0.3*A(476)+0.6& &*A(478)+0.45*A(479)+0.3*A(480) IF (DO_FUN(243)) & P_VAR(243) = 0.16*A(536)+0.25*A(551) IF (DO_FUN(244)) & P_VAR(244) = 0.85*A(118)+0.85*A(119)+0.3*A(497)+0.3*A(505)+0.018*A(538)+0.294*A(544)+0.135*A(546)+0.009*A(631)+0.054& &*A(632)+0.013*A(633)+0.07*A(635)+0.036*A(646)+0.23*A(652)+0.05*A(1039) IF (DO_FUN(245)) & P_VAR(245) = 0.25*A(255)+A(302)+0.95*A(309)+A(314)+0.5*A(791)+0.5*A(792)+A(796)+A(800)+A(801)+A(802)+A(803)+A(804)& &+A(808)+A(810)+A(811) IF (DO_FUN(246)) & P_VAR(246) = 0.31*A(123)+A(125) IF (DO_FUN(247)) & P_VAR(247) = 0.791*A(169)+0.551*A(594)+0.935*A(595)+0.242*A(600)+0.546*A(601)+0.589*A(631)+0.471*A(632)+0.687*A(633)& &+0.59*A(635)+0.231*A(639)+0.231*A(640)+A(642)+0.82*A(643)+0.68*A(649)+A(654)+A(1015) IF (DO_FUN(248)) & P_VAR(248) = 0.059*A(585)+0.272*A(586)+A(660)+A(675)+0.37*A(678)+0.5*A(1038) IF (DO_FUN(249)) & P_VAR(249) = A(103) IF (DO_FUN(250)) & P_VAR(250) = A(162)+0.209*A(169) IF (DO_FUN(251)) & P_VAR(251) = A(94)+A(115)+0.07*A(123) IF (DO_FUN(252)) & P_VAR(252) = A(336) IF (DO_FUN(253)) & P_VAR(253) = 0.964*A(646)+A(658)+A(659) IF (DO_FUN(254)) & P_VAR(254) = A(644)+A(655)+A(656) IF (DO_FUN(255)) & P_VAR(255) = 0.27*A(379)+0.63*A(417)+0.47*A(418)+0.63*A(419)+0.63*A(460)+0.63*A(461) IF (DO_FUN(256)) & P_VAR(256) = 0.5*A(403)+0.5*A(416)+0.5*A(435)+A(468)+0.7*A(470)+0.7*A(471)+0.7*A(472)+0.35*A(473)+0.7*A(474)+0.7& &*A(476)+1.4*A(478)+1.05*A(479)+0.7*A(480) IF (DO_FUN(257)) & P_VAR(257) = 0.4*A(387)+A(389)+A(390)+A(394)+A(396) IF (DO_FUN(258)) & P_VAR(258) = 0.176*A(539)+0.548*A(543)+0.35*A(558)+0.35*A(565)+0.35*A(566)+0.333*A(688)+0.75*A(1035) IF (DO_FUN(259)) & P_VAR(259) = A(647)+0.32*A(649)+0.165*A(672)+A(683) IF (DO_FUN(260)) & P_VAR(260) = A(149)+0.209*A(176)+A(332)+A(333) IF (DO_FUN(261)) & P_VAR(261) = 0.441*A(597)+0.858*A(598)+0.033*A(600)+0.071*A(601)+0.051*A(631)+0.054*A(632)+0.064*A(633)+0.07*A(635)& &+0.099*A(639)+0.099*A(640)+0.89*A(642)+0.73*A(643)+0.3*A(1013)+0.15*A(1038) IF (DO_FUN(262)) & P_VAR(262) = 0.4*A(381)+0.675*A(445)+0.675*A(446)+0.78*A(447)+0.78*A(448)+0.39*A(449)+0.3*A(450)+0.3*A(451)+0.15& &*A(452)+0.675*A(462)+0.675*A(463)+0.675*A(1057) IF (DO_FUN(263)) & P_VAR(263) = 0.15*A(379)+0.5*A(381)+0.5*A(388)+0.84*A(399)+A(400)+0.75*A(401)+0.5*A(402)+0.55*A(403)+0.5*A(407)+A(422)& &+A(425)+A(428)+0.7*A(447)+0.7*A(448)+0.35*A(449)+0.7*A(450)+0.7*A(451)+0.35*A(452)+A(453)+A(454)+0.5& &*A(455)+0.7*A(702)+A(703)+0.813*A(705)+A(706)+0.93*A(707)+A(708)+0.46*A(724)+0.81*A(725)+0.85*A(726)+0.14& &*A(741)+0.2*A(743)+0.2*A(744)+0.7*A(745)+0.2*A(747)+A(1052) IF (DO_FUN(264)) & P_VAR(264) = A(19)+A(23)+0.06*A(365)+0.06*A(366)+A(373)+0.013*A(493)+0.045*A(645) IF (DO_FUN(265)) & P_VAR(265) = 0.134*A(151)+A(152)+0.5*A(168)+0.21*A(365)+0.54*A(366)+0.449*A(650)+0.187*A(661)+0.3*A(685)+0.5*A(694)& &+0.364*A(714)+0.26*A(767)+0.5*A(768)+0.1*A(770)+0.2*A(771) IF (DO_FUN(266)) & P_VAR(266) = A(560)+A(564)+A(567)+A(584)+A(588)+A(592)+A(593)+A(629)+0.5*A(630)+0.9*A(691) IF (DO_FUN(267)) & P_VAR(267) = A(518)+0.127*A(608)+0.057*A(609) IF (DO_FUN(268)) & P_VAR(268) = A(522)+0.032*A(607)+0.671*A(608)+0.298*A(609) IF (DO_FUN(269)) & P_VAR(269) = 0.258*A(742)+0.5*A(744)+0.5*A(747)+A(762) IF (DO_FUN(270)) & P_VAR(270) = 0.065*A(81)+0.134*A(151)+0.2*A(153)+0.8*A(563)+0.52*A(565)+A(697)+0.1*A(707)+0.636*A(714)+0.18*A(724)& &+0.12*A(725)+0.1*A(726)+0.06*A(741)+0.6*A(767)+0.6*A(768)+0.2*A(769)+0.5*A(1007)+0.429*A(1009)+0.125& &*A(1010)+0.586*A(1034)+0.571*A(1036) IF (DO_FUN(271)) & P_VAR(271) = 0.67*A(621) IF (DO_FUN(272)) & P_VAR(272) = A(423)+0.27*A(424)+0.18*A(426) IF (DO_FUN(273)) & P_VAR(273) = 0.1*A(383)+A(409)+A(415) IF (DO_FUN(274)) & P_VAR(274) = 0.715*A(379)+0.27*A(412)+0.23*A(413)+0.27*A(414)+0.085*A(416)+A(420)+0.6*A(421)+0.73*A(424)+0.32*A(426)& &+0.4*A(427)+A(433)+A(434)+0.5*A(435)+A(439)+A(441)+0.27*A(1054)+0.9*A(1058) IF (DO_FUN(275)) & P_VAR(275) = 0.15*A(380)+0.255*A(382)+A(408) IF (DO_FUN(276)) & P_VAR(276) = 0 IF (DO_FUN(277)) & P_VAR(277) = 0.15*A(380)+0.67*A(382)+0.5*A(383)+0.6*A(387) IF (DO_FUN(278)) & P_VAR(278) = 0.44*A(391)+A(392)+A(395)+A(397)+0.5*A(402)+0.75*A(464)+A(465)+A(1049)+A(1050)+A(1051) IF (DO_FUN(279)) & P_VAR(279) = A(91)+0.072*A(97)+A(117) IF (DO_FUN(280)) & P_VAR(280) = 0.1*A(375)+0.1*A(376)+0.5*A(377)+0.5*A(449)+0.5*A(452)+0.5*A(455) IF (DO_FUN(281)) & P_VAR(281) = A(378)+0.2*A(380)+0.075*A(382) IF (DO_FUN(282)) & P_VAR(282) = A(29)+0.13*A(31)+0.25*A(112)+0.25*A(113)+0.25*A(129)+0.25*A(130)+0.25*A(132)+0.25*A(133)+0.25*A(134)+0.25& &*A(135)+0.5*A(136)+0.25*A(137)+0.25*A(138)+0.25*A(139)+0.25*A(401)+0.25*A(413)+0.25*A(432)+0.25*A(456)& &+0.25*A(458)+0.25*A(460)+0.25*A(462)+0.25*A(473)+0.355*A(609)+0.034*A(610)+0.2*A(718)+0.1*A(907) IF (DO_FUN(283)) & P_VAR(283) = 0.5*A(168)+0.1*A(181)+0.1*A(182)+0.1*A(183)+0.1*A(184)+0.1*A(185)+0.1*A(186)+0.1*A(187)+0.1*A(188)+0.1& &*A(189)+0.1*A(190)+0.1*A(191)+0.1*A(192)+0.1*A(193)+A(374)+0.1*A(457)+0.1*A(459)+0.1*A(461)+0.1*A(463)& &+0.13*A(695)+0.15*A(770)+0.3*A(771) IF (DO_FUN(284)) & P_VAR(284) = A(341)+A(343)+A(348)+A(350)+A(354)+0.008*A(358)+A(979) IF (DO_FUN(285)) & P_VAR(285) = 0.068*A(528)+0.33*A(553)+0.19*A(555)+0.032*A(687) IF (DO_FUN(286)) & P_VAR(286) = 0.294*A(528)+0.67*A(553)+0.81*A(555)+0.08*A(687) IF (DO_FUN(287)) & P_VAR(287) = A(510)+0.5*A(511)+0.5*A(515)+0.55*A(523)+0.17*A(525)+0.09*A(527)+0.158*A(528)+0.165*A(536)+0.716*A(540)& &+0.14*A(542)+0.004*A(631)+0.006*A(633)+0.41*A(670)+0.5*A(686)+0.571*A(689)+0.25*A(690)+0.55*A(1027)+0.5& &*A(1033)+0.15*A(1039)+0.5*A(1041) IF (DO_FUN(288)) & P_VAR(288) = A(509)+0.5*A(511)+0.5*A(513)+0.55*A(519)+0.33*A(524)+0.19*A(526)+0.125*A(528)+0.125*A(535)+0.706*A(544)& &+0.14*A(546)+0.054*A(631)+0.059*A(633)+0.335*A(667)+0.429*A(689)+0.75*A(690)+0.55*A(1024)+0.5*A(1041) IF (DO_FUN(289)) & P_VAR(289) = 0.9*A(375)+0.9*A(376)+0.5*A(377) IF (DO_FUN(290)) & P_VAR(290) = A(912) IF (DO_FUN(291)) & P_VAR(291) = 0.5*A(380) IF (DO_FUN(292)) & P_VAR(292) = 0.25*A(68)+0.19*A(90)+0.19*A(93)+0.35*A(132)+0.35*A(134)+0.25*A(137)+0.271*A(182)+0.271*A(183)+0.1*A(185)& &+0.5*A(381)+0.42*A(399)+0.5*A(400)+0.375*A(401)+0.25*A(402)+0.3*A(403)+A(453)+A(454)+0.5*A(455)+0.464& &*A(469)+0.34*A(473)+0.464*A(475)+0.464*A(477)+0.149*A(479)+0.285*A(480)+0.19*A(926)+0.19*A(929)+A(991)+0.5& &*A(1052) IF (DO_FUN(293)) & P_VAR(293) = A(620)+0.33*A(621)+0.037*A(691) IF (DO_FUN(294)) & P_VAR(294) = 0.3*A(33)+0.5*A(136)+A(167)+0.1*A(184)+A(361)+0.3*A(496)+0.3*A(497)+0.3*A(503)+0.3*A(505)+0.085*A(524)& &+0.165*A(525)+0.355*A(528)+0.5*A(529)+0.018*A(537)+0.018*A(538)+0.52*A(558)+0.8*A(559)+0.545*A(645)+0.88& &*A(648)+0.449*A(650)+0.187*A(661)+A(662)+A(664)+0.05*A(667)+0.242*A(668)+0.083*A(670)+0.14*A(674)+0.7& &*A(685)+0.25*A(707)+0.12*A(725)+0.2*A(726)+0.6*A(770)+0.6*A(771)+0.2*A(772)+0.5*A(1007)+0.47*A(1008)+0.571& &*A(1009)+0.125*A(1010)+0.23*A(1011)+0.118*A(1034)+0.429*A(1036)+A(1040) IF (DO_FUN(295)) & P_VAR(295) = 0.34*A(90)+0.34*A(93)+A(98)+0.16*A(132)+0.16*A(134)+0.75*A(138)+0.791*A(172)+0.29*A(182)+0.29*A(183)& &+A(186)+0.5*A(381)+0.84*A(399)+A(400)+0.75*A(401)+0.5*A(402)+0.4*A(403)+0.6*A(412)+0.4*A(413)+0.6*A(414)& &+0.3*A(416)+0.45*A(445)+0.45*A(446)+0.3*A(447)+0.3*A(448)+0.15*A(449)+0.5*A(453)+0.5*A(454)+0.25*A(455)& &+0.45*A(462)+0.45*A(463)+A(491)+A(920)+0.34*A(926)+0.34*A(929)+A(1000)+A(1052)+0.6*A(1054)+0.45*A(1057) IF (DO_FUN(296)) & P_VAR(296) = A(57)+A(179)+A(219)+A(321)+A(701) IF (DO_FUN(297)) & P_VAR(297) = A(787)+A(789)+A(790) IF (DO_FUN(298)) & P_VAR(298) = A(63)+0.75*A(68)+0.5*A(71)+1.24*A(73)+0.326*A(78)+0.894*A(79)+0.15*A(90)+0.64*A(92)+0.15*A(93)+0.64*A(95)& &+0.75*A(112)+0.09*A(113)+0.13*A(132)+0.58*A(133)+0.13*A(134)+0.58*A(135)+0.25*A(139)+A(141)+0.64*A(171)& &+1.185*A(173)+1.185*A(174)+0.255*A(182)+0.255*A(183)+0.613*A(187)+0.613*A(188)+0.1*A(189)+0.035*A(192)& &+A(193)+0.3*A(381)+0.6*A(412)+0.4*A(413)+0.6*A(414)+0.3*A(416)+0.44*A(436)+A(437)+A(440)+A(442)+0.75& &*A(466)+A(467)+1.24*A(469)+0.93*A(473)+1.24*A(475)+1.24*A(477)+0.64*A(479)+1.21*A(480)+A(492)+1.2*A(769)& &+1.15*A(772)+A(917)+A(919)+1.5*A(921)+A(922)+1.5*A(923)+0.15*A(926)+1.558*A(927)+0.15*A(929)+A(989)+A(992)& &+A(1001)+0.6*A(1054)+A(1055)+A(1056) IF (DO_FUN(299)) & P_VAR(299) = A(587)+A(591)+A(596)+A(599)+A(602)+A(616)+A(618)+A(634)+A(636)+0.18*A(643) IF (DO_FUN(300)) & P_VAR(300) = A(101)+0.21*A(174)+A(331)+0.2*A(772) IF (DO_FUN(301)) & P_VAR(301) = 0.4*A(582)+0.4*A(583)+0.07*A(606)+0.532*A(607)+0.862*A(608)+0.401*A(609)+0.034*A(610)+0.159*A(612)+0.159& &*A(614)+0.159*A(617)+A(619)+A(628)+0.159*A(1029)+0.223*A(1032) IF (DO_FUN(302)) & P_VAR(302) = 0.6*A(583)+0.599*A(589)+A(590)+0.065*A(597)+0.142*A(598)+0.01*A(600)+0.028*A(601)+0.008*A(631)+0.015& &*A(632)+0.014*A(633)+0.049*A(635)+0.161*A(638)+A(657)+A(669)+0.05*A(1038) IF (DO_FUN(303)) & P_VAR(303) = A(541)+A(545)+A(549)+0.482*A(585)+0.401*A(589)+0.418*A(594)+0.494*A(597)+0.621*A(600)+A(623)+A(624)+0.5& &*A(630)+0.234*A(631)+0.387*A(632)+0.565*A(641) IF (DO_FUN(304)) & P_VAR(304) = 0.5*A(330)+A(495)+0.51*A(536)+0.03*A(538)+0.159*A(1030) IF (DO_FUN(305)) & P_VAR(305) = 0.5*A(330)+A(494)+0.75*A(535)+0.03*A(537)+0.841*A(1030) IF (DO_FUN(306)) & P_VAR(306) = 0.659*A(79)+A(80)+A(82)+A(83)+0.5*A(84)+A(88)+A(126)+0.5*A(453)+0.5*A(454)+0.25*A(455)+0.294*A(544)+0.135& &*A(546)+A(548)+0.65*A(550)+0.52*A(558)+0.8*A(559)+0.459*A(585)+0.728*A(586)+0.551*A(594)+0.935*A(595)& &+0.242*A(600)+0.546*A(601)+0.34*A(631)+0.384*A(633)+0.11*A(642)+0.09*A(643)+0.36*A(667)+0.758*A(668)+0.2& &*A(718)+A(720)+A(721)+A(723)+A(746)+0.9*A(768)+0.95*A(771)+0.53*A(1008)+0.69*A(1013)+0.5*A(1032)+0.118& &*A(1034)+0.25*A(1035)+0.429*A(1036)+0.3*A(1038)+0.35*A(1039)+A(1040) IF (DO_FUN(307)) & P_VAR(307) = 0.16*A(113)+0.2*A(136)+0.791*A(176)+0.065*A(192)+A(488)+0.5*A(529)+0.284*A(540)+0.135*A(542)+A(548)+0.65& &*A(550)+0.8*A(563)+0.52*A(565)+0.52*A(566)+0.8*A(568)+A(569)+0.459*A(585)+0.728*A(586)+0.441*A(597)+0.858& &*A(598)+0.033*A(600)+0.071*A(601)+0.042*A(631)+0.051*A(633)+0.77*A(652)+0.84*A(666)+0.507*A(670)+0.488& &*A(672)+A(673)+0.86*A(674)+0.5*A(678)+A(679)+A(681)+0.7*A(682)+0.25*A(684)+A(993)+0.77*A(1011)+A(1014)+0.5& &*A(1032)+0.586*A(1034)+0.25*A(1035)+0.571*A(1036)+0.45*A(1038)+0.8*A(1039) IF (DO_FUN(308)) & P_VAR(308) = A(653) IF (DO_FUN(309)) & P_VAR(309) = 0.416*A(493)+0.063*A(500)+A(504)+2*A(507)+A(508)+A(514)+A(521)+0.035*A(525)+0.14*A(527)+0.165*A(536)& &+A(572)+A(573)+0.048*A(604)+0.123*A(606)+0.019*A(607)+0.028*A(610)+0.097*A(611)+0.097*A(613)+0.096*A(615)& &+A(1017)+A(1023)+A(1026)+0.097*A(1028)+0.005*A(1032) IF (DO_FUN(310)) & P_VAR(310) = 0.465*A(603)+A(626) IF (DO_FUN(311)) & P_VAR(311) = 0.535*A(603)+A(627) IF (DO_FUN(312)) & P_VAR(312) = 0.22*A(150)+0.1*A(383)+0.33*A(421)+0.58*A(493)+0.5*A(645)+0.88*A(648)+0.5*A(704)+A(712) IF (DO_FUN(313)) & P_VAR(313) = 0.7*A(33)+A(111)+A(218)+A(329) IF (DO_FUN(314)) & P_VAR(314) = 0.15*A(381)+0.45*A(445)+0.45*A(446)+0.3*A(447)+0.3*A(448)+0.15*A(449)+0.5*A(453)+0.5*A(454)+0.25*A(455)& &+0.45*A(462)+0.45*A(463)+0.177*A(493)+0.063*A(498)+A(502)+2*A(506)+A(508)+A(512)+A(517)+0.035*A(524)+0.23& &*A(526)+0.125*A(535)+A(570)+A(571)+0.479*A(604)+1.737*A(606)+0.544*A(607)+0.583*A(610)+0.903*A(611)+0.903& &*A(613)+0.904*A(615)+0.04*A(725)+0.04*A(726)+A(1016)+A(1022)+A(1025)+0.903*A(1028)+0.05*A(1032)+0.45& &*A(1057) IF (DO_FUN(315)) & P_VAR(315) = 0.34*A(90)+0.34*A(93)+0.49*A(109)+0.16*A(132)+0.16*A(134)+0.22*A(148)+0.36*A(170)+0.29*A(182)+0.29*A(183)& &+0.49*A(194)+0.49*A(195)+0.49*A(903)+0.415*A(906)+0.34*A(926)+0.34*A(929) IF (DO_FUN(316)) & P_VAR(316) = A(204)+A(211)+A(793)+A(820)+A(821)+A(822) IF (DO_FUN(317)) & P_VAR(317) = A(301) IF (DO_FUN(318)) & P_VAR(318) = A(102)+0.5*A(763)+0.5*A(764) IF (DO_FUN(319)) & P_VAR(319) = 0.25*A(68)+A(89)+0.15*A(133)+0.15*A(135)+0.21*A(173)+0.27*A(187)+0.27*A(188)+0.6*A(412)+0.4*A(413)+0.6& &*A(414)+0.3*A(416)+0.352*A(436)+0.8*A(437)+0.8*A(440)+0.8*A(442)+0.6*A(466)+0.8*A(467)+0.6*A(1054)+0.8& &*A(1055)+0.8*A(1056) IF (DO_FUN(320)) & P_VAR(320) = A(122)+A(131)+0.3*A(381) IF (DO_FUN(321)) & P_VAR(321) = A(62)+0.05*A(90)+0.05*A(93)+0.07*A(109)+0.03*A(132)+0.03*A(134)+0.03*A(148)+0.36*A(171)+0.045*A(182)& &+0.045*A(183)+0.07*A(194)+0.07*A(195)+A(220)+A(328)+0.07*A(903)+0.06*A(906)+0.05*A(926)+0.05*A(929) IF (DO_FUN(322)) & P_VAR(322) = A(105)+A(107)+A(110)+A(175)+0.84*A(399)+A(400)+0.75*A(401)+0.5*A(402)+0.4*A(403)+A(736)+0.44*A(737)+0.33& &*A(767)+0.33*A(770)+0.15*A(906)+A(914)+0.326*A(927)+0.7*A(1047)+A(1052) IF (DO_FUN(323)) & P_VAR(323) = A(61)+0.19*A(90)+0.19*A(93)+0.27*A(109)+0.09*A(132)+0.09*A(134)+0.12*A(148)+0.209*A(172)+0.162*A(182)& &+0.162*A(183)+0.27*A(194)+0.27*A(195)+A(327)+0.27*A(903)+0.23*A(906)+0.19*A(926)+0.19*A(929) IF (DO_FUN(324)) & P_VAR(324) = 0.95*A(51)+A(52)+A(54)+A(96)+0.919*A(97)+0.15*A(118)+0.15*A(119)+0.62*A(123)+0.3*A(136)+0.5*A(137)+A(164)& &+A(166)+0.78*A(178)+0.9*A(184)+0.9*A(185)+A(217)+0.44*A(436)+A(437)+A(440)+A(442)+0.75*A(466)+A(467)+0.3& &*A(496)+0.3*A(503)+0.018*A(537)+0.38*A(645)+0.12*A(648)+0.04*A(650)+0.097*A(661)+A(665)+0.36*A(667)+0.758& &*A(668)+0.175*A(671)+0.087*A(672)+0.35*A(676)+0.3*A(685)+A(692)+A(693)+A(740)+0.12*A(897)+0.7*A(899)& &+A(902)+A(904)+0.85*A(906)+A(911)+A(913)+A(915)+A(916)+0.326*A(927)+A(984)+A(1004)+A(1005)+A(1006)+0.5& &*A(1007)+0.53*A(1008)+0.429*A(1009)+0.125*A(1010)+0.262*A(1012)+1.01*A(1013)+A(1055)+A(1056) IF (DO_FUN(325)) & P_VAR(325) = A(11)+A(12)+A(17)+A(26)+A(29)+2*A(30)+0.87*A(31)+0.3*A(32)+A(48)+0.05*A(51)+A(55)+A(65)+0.98*A(73)+A(76)& &+A(77)+0.603*A(78)+A(80)+0.065*A(81)+A(84)+A(85)+0.64*A(92)+0.64*A(95)+A(96)+A(100)+0.75*A(112)+1.25& &*A(113)+0.15*A(118)+0.31*A(123)+0.75*A(129)+0.75*A(130)+0.75*A(132)+0.95*A(133)+0.75*A(134)+0.95*A(135)& &+0.5*A(136)+0.75*A(137)+0.75*A(138)+1.25*A(139)+0.5*A(150)+0.732*A(151)+A(157)+0.44*A(158)+A(159)+A(160)& &+A(161)+0.22*A(178)+A(181)+0.9*A(184)+0.351*A(187)+0.351*A(188)+0.9*A(189)+0.9*A(192)+A(195)+A(199)+A(201)& &+0.25*A(231)+A(274)+A(319)+A(324)+A(360)+A(362)+A(363)+A(364)+0.06*A(365)+0.06*A(366)+A(367)+A(368)+0.1& &*A(381)+0.1*A(383)+0.5*A(388)+0.84*A(399)+A(400)+1.5*A(401)+0.5*A(402)+0.4*A(403)+0.75*A(405)+A(406)& &+A(407)+0.75*A(413)+0.67*A(421)+A(427)+0.75*A(432)+0.176*A(436)+0.4*A(437)+0.4*A(440)+0.4*A(442)+0.1& &*A(445)+0.1*A(446)+0.1*A(447)+0.1*A(448)+0.05*A(449)+1.5*A(453)+1.5*A(454)+0.75*A(455)+0.75*A(456)+1.75& &*A(458)+A(459)+0.75*A(460)+0.85*A(462)+0.1*A(463)+A(464)+1.3*A(466)+0.4*A(467)+0.287*A(469)+A(472)+0.85& &*A(473)+0.287*A(475)+0.287*A(477)+0.202*A(479)+0.504*A(480)+A(489)+0.827*A(493)+0.3*A(496)+0.3*A(497)& &+0.063*A(498)+0.063*A(500)+A(502)+0.3*A(503)+A(504)+0.3*A(505)+2*A(506)+2*A(507)+2*A(508)+2*A(512)+A(513)& &+2*A(514)+A(515)+A(517)+A(521)+0.085*A(524)+0.165*A(525)+0.5*A(529)+0.018*A(537)+0.018*A(538)+0.716*A(540)& &+0.14*A(542)+0.706*A(544)+0.14*A(546)+0.65*A(566)+A(568)+0.059*A(585)+0.272*A(586)+0.599*A(589)+A(590)& &+0.031*A(594)+0.065*A(595)+0.065*A(597)+0.142*A(598)+0.104*A(600)+0.383*A(601)+0.527*A(604)+1.86*A(606)& &+0.563*A(607)+0.645*A(609)+1.577*A(610)+A(611)+A(613)+A(615)+0.126*A(631)+0.088*A(632)+0.249*A(633)+0.34& &*A(635)+0.6*A(645)+0.12*A(648)+0.241*A(650)+0.05*A(667)+0.242*A(668)+0.083*A(670)+0.5*A(671)+0.25*A(672)& &+0.14*A(674)+A(676)+A(682)+0.022*A(691)+0.5*A(694)+A(696)+A(702)+A(703)+0.5*A(704)+0.25*A(705)+A(706)+0.12& &*A(707)+A(712)+0.8*A(718)+2*A(719)+A(730)+A(740)+A(765)+A(766)+A(779)+A(887)+0.3*A(901)+A(902)+0.9*A(907)& &+A(910)+A(913)+A(915)+A(916)+A(924)+A(982)+A(984)+A(990)+A(998)+A(1002)+A(1003)+A(1005)+A(1006)+0.47& &*A(1008)+0.23*A(1011)+0.75*A(1012)+A(1016)+A(1017)+A(1025)+A(1026)+A(1028)+0.055*A(1032)+0.133*A(1034)& &+0.55*A(1038)+0.15*A(1039)+A(1052)+A(1053)+0.4*A(1055)+0.4*A(1056)+0.1*A(1057) IF (DO_FUN(326)) & P_VAR(326) = A(58)+A(60)+A(65)+0.65*A(73)+0.34*A(90)+0.97*A(92)+0.34*A(93)+0.97*A(95)+0.919*A(97)+A(100)+A(108)+0.5& &*A(113)+0.15*A(119)+0.62*A(123)+0.75*A(129)+0.75*A(130)+0.16*A(132)+0.38*A(133)+0.16*A(134)+0.38*A(135)& &+0.5*A(137)+0.5*A(139)+A(140)+1.6*A(142)+1.6*A(143)+0.5*A(150)+0.64*A(170)+0.29*A(182)+0.29*A(183)+0.9& &*A(185)+0.675*A(187)+0.675*A(188)+0.9*A(189)+A(190)+A(191)+0.9*A(192)+A(322)+A(323)+A(325)+A(369)+A(370)& &+A(371)+A(372)+A(373)+A(490)+0.4*A(705)+A(918)+A(924)+A(925)+0.34*A(926)+0.348*A(927)+0.34*A(929)+A(999) IF (DO_FUN(327)) & P_VAR(327) = A(35)+A(50)+A(52)+A(67)+A(101)+A(110)+A(131)+A(154)+A(165)+A(166)+A(179)+A(201)+A(389)+A(486)+A(487)+0.32& &*A(649)+A(692)+A(706)+A(708)+0.742*A(742)+0.5*A(744)+0.5*A(747)+A(749)+0.5*A(764)+0.5*A(782)+A(783)+2& &*A(786)+A(787)+2*A(788)+A(789)+A(790)+A(793)+A(794)+A(795)+A(796)+A(797)+A(798)+A(799)+A(800)+A(801)& &+A(841)+A(842)+A(843)+A(848)+A(849)+A(850)+A(851) IF (DO_FUN(328)) & P_VAR(328) = A(25)+0.7*A(32)+A(56)+0.19*A(90)+0.19*A(93)+A(104)+0.85*A(119)+0.09*A(132)+0.09*A(134)+0.25*A(137)+0.28& &*A(150)+0.5*A(168)+2*A(180)+0.9*A(181)+0.9*A(182)+0.9*A(183)+0.9*A(184)+0.9*A(185)+0.9*A(186)+0.9*A(187)& &+0.9*A(188)+0.9*A(189)+0.9*A(190)+0.9*A(191)+0.9*A(192)+0.9*A(193)+A(194)+A(198)+A(199)+A(200)+A(201)+0.75& &*A(231)+0.9*A(257)+A(258)+A(291)+A(320)+A(326)+A(359)+0.9*A(457)+0.9*A(459)+0.9*A(461)+0.9*A(463)+A(465)& &+A(467)+A(474)+0.5*A(475)+0.407*A(493)+A(611)+A(612)+0.325*A(671)+0.162*A(672)+0.65*A(676)+0.5*A(695)& &+A(731)+0.88*A(897)+0.3*A(899)+A(904)+2*A(905)+0.15*A(906)+A(914)+A(925)+0.19*A(926)+0.19*A(929)+A(930)& &+A(939)+A(940)+A(983)+0.488*A(1012) IF (DO_FUN(329)) & P_VAR(329) = A(34)+A(50)+0.05*A(51)+A(55)+A(80)+A(82)+A(83)+A(84)+A(85)+A(88)+A(108)+A(126)+0.56*A(150)+0.505*A(151)& &+A(152)+A(160)+2*A(163)+A(164)+2*A(165)+A(166)+0.5*A(168)+A(216)+A(238)+A(252)+A(292)+A(315)+A(316)+A(317)& &+0.15*A(379)+0.1*A(383)+0.407*A(493)+0.6*A(496)+0.9*A(497)+0.6*A(503)+0.9*A(505)+A(509)+A(510)+A(511)+0.5& &*A(513)+0.5*A(515)+0.55*A(519)+0.55*A(523)+0.45*A(524)+0.37*A(525)+0.42*A(526)+0.23*A(527)+0.638*A(528)& &+1.5*A(529)+A(530)+0.25*A(535)+0.33*A(536)+0.036*A(537)+0.054*A(538)+A(557)+0.13*A(558)+0.2*A(559)+A(562)& &+0.2*A(563)+0.13*A(565)+0.52*A(566)+0.8*A(568)+2*A(569)+0.6*A(582)+0.6*A(583)+0.539*A(638)+0.33*A(639)& &+0.33*A(640)+0.28*A(645)+0.036*A(646)+0.12*A(648)+0.68*A(649)+0.77*A(652)+0.25*A(654)+0.75*A(661)+A(662)& &+A(664)+2*A(665)+0.84*A(666)+0.507*A(670)+0.325*A(671)+0.488*A(672)+A(673)+0.86*A(674)+0.65*A(676)+0.25& &*A(684)+A(685)+A(686)+0.888*A(687)+A(690)+A(696)+0.18*A(704)+0.12*A(707)+0.364*A(714)+0.2*A(724)+0.27& &*A(725)+0.3*A(726)+2*A(740)+0.15*A(763)+0.15*A(764)+0.26*A(767)+0.5*A(768)+0.25*A(770)+0.5*A(771)+0.05& &*A(772)+A(888)+A(889)+0.88*A(897)+A(898)+0.7*A(901)+A(902)+A(903)+A(905)+A(907)+2*A(908)+2*A(909)+A(910)& &+A(911)+A(912)+A(913)+A(915)+A(986)+A(990)+A(1003)+A(1006)+0.5*A(1007)+0.571*A(1009)+0.875*A(1010)+0.77& &*A(1011)+A(1014)+A(1015)+0.888*A(1020)+0.818*A(1021)+A(1022)+A(1023)+0.55*A(1024)+0.55*A(1027)+0.839& &*A(1031)+A(1033)+0.163*A(1034)+A(1037)+A(1041)+A(1043)+A(1046)+A(1049)+A(1058) IF (DO_FUN(330)) & P_VAR(330) = A(352)+A(355)+A(843) IF (DO_FUN(331)) & P_VAR(331) = A(337)+A(339)+0.2*A(344)+0.809*A(349)+A(352)+A(353)+A(356)+0.4*A(357)+0.996*A(358)+A(359)+2*A(966)+A(967)& &+A(968)+A(969)+A(970)+A(971)+A(972)+A(973)+A(974)+2*A(975)+A(976)+A(977)+A(980)+A(981) IF (DO_FUN(332)) & P_VAR(332) = A(339)+A(340) IF (DO_FUN(333)) & P_VAR(333) = A(273)+A(277)+A(278)+A(281)+A(282)+A(299)+A(795) IF (DO_FUN(334)) & P_VAR(334) = A(883)+A(985) IF (DO_FUN(335)) & P_VAR(335) = A(13)+A(22)+A(26)+A(38)+A(40)+A(41)+A(42)+2*A(43)+A(44)+A(46)+A(49)+A(54)+A(55)+A(56)+A(58)+A(60)+A(63)& &+A(65)+A(68)+2*A(73)+A(76)+0.942*A(78)+A(80)+A(82)+A(85)+A(87)+A(90)+2*A(92)+A(93)+2*A(95)+A(96)+0.928& &*A(97)+A(98)+2*A(100)+A(107)+A(108)+A(109)+0.93*A(123)+A(125)+A(126)+A(127)+A(133)+A(135)+A(139)+A(156)& &+A(157)+A(159)+A(160)+A(187)+A(188)+A(189)+2*A(196)+A(198)+A(209)+A(215)+A(241)+A(242)+A(281)+A(300)& &+A(337)+2*A(338)+A(341)+A(348)+A(356)+A(360)+A(361)+A(363)+A(370)+0.75*A(385)+A(386)+0.5*A(388)+A(392)& &+A(394)+A(395)+0.84*A(399)+A(400)+0.5*A(403)+0.75*A(405)+A(406)+0.5*A(407)+A(412)+A(414)+0.5*A(416)+0.75& &*A(418)+A(419)+0.5*A(426)+0.5*A(427)+A(428)+0.84*A(429)+A(431)+A(434)+0.5*A(435)+A(437)+A(439)+A(440)& &+A(445)+A(446)+0.5*A(449)+0.3*A(450)+0.3*A(451)+1.15*A(452)+0.5*A(455)+A(468)+2*A(469)+0.5*A(473)+A(475)& &+A(476)+2*A(477)+0.5*A(479)+A(480)+A(489)+A(490)+A(491)+A(492)+A(517)+A(519)+A(521)+A(523)+A(540)+A(544)& &+A(548)+A(559)+A(563)+A(568)+A(570)+A(572)+A(575)+A(577)+A(578)+A(580)+0.459*A(585)+1.728*A(586)+A(590)& &+A(595)+A(598)+A(601)+0.527*A(604)+1.86*A(606)+0.563*A(607)+0.611*A(610)+A(611)+2*A(613)+A(614)+2*A(615)& &+A(617)+A(625)+0.058*A(631)+1.065*A(633)+A(635)+A(637)+A(639)+0.565*A(641)+1.11*A(642)+0.09*A(643)+0.31& &*A(650)+A(655)+A(658)+A(668)+A(674)+A(676)+0.5*A(678)+2*A(679)+A(680)+2*A(681)+0.7*A(682)+A(683)+A(690)& &+0.022*A(691)+A(692)+A(703)+0.89*A(709)+A(711)+0.995*A(716)+A(717)+A(721)+A(728)+A(729)+A(733)+A(736)& &+A(739)+A(740)+A(751)+A(754)+A(755)+A(757)+A(758)+0.5*A(763)+A(764)+A(779)+A(890)+A(893)+A(894)+A(896)+0.7& &*A(899)+A(900)+A(917)+A(926)+A(927)+A(928)+A(929)+A(935)+A(936)+A(947)+A(949)+A(971)+A(983)+A(990)+A(991)& &+A(992)+A(993)+A(995)+A(997)+A(998)+A(999)+A(1000)+A(1001)+A(1005)+0.7*A(1013)+A(1014)+A(1024)+A(1025)& &+A(1026)+A(1027)+A(1028)+A(1030)+A(1031)+1.555*A(1032)+0.3*A(1038)+A(1039)+A(1040)+A(1041)+0.7*A(1047) IF (DO_FUN(336)) & P_VAR(336) = A(18)+A(20)+A(21)+A(25)+A(32)+A(33)+A(34)+A(36)+A(38)+A(41)+A(47)+A(51)+A(57)+A(72)+A(102)+A(103)+A(104)& &+A(105)+A(111)+A(122)+A(206)+A(225)+A(234)+0.02*A(247)+A(279)+A(280)+A(283)+A(286)+A(287)+A(288)+A(289)& &+A(290)+A(318)+A(353)+A(354)+A(359)+A(701)+A(781)+A(808)+A(809)+A(810)+A(811)+A(813)+A(814)+A(815)+A(816)& &+A(928) IF (DO_FUN(337)) & P_VAR(337) = A(14)+A(17)+A(21)+A(24)+A(26)+2*A(30)+1.74*A(31)+A(34)+A(40)+A(44)+A(47)+A(48)+A(50)+0.05*A(51)+A(58)& &+A(60)+A(63)+A(65)+0.75*A(68)+0.513*A(78)+A(80)+0.425*A(81)+A(82)+A(83)+0.25*A(84)+A(85)+0.27*A(90)+0.27& &*A(93)+A(98)+A(112)+A(113)+A(129)+A(130)+0.64*A(132)+0.5*A(133)+0.64*A(134)+0.5*A(135)+0.3*A(136)+0.5& &*A(137)+A(138)+0.5*A(139)+A(140)+A(141)+1.2*A(142)+1.2*A(143)+0.28*A(150)+0.773*A(151)+0.2*A(153)+A(157)& &+0.44*A(158)+A(159)+A(161)+A(163)+A(165)+A(167)+0.9*A(181)+0.243*A(182)+0.243*A(183)+0.9*A(186)+0.9*A(190)& &+0.9*A(191)+0.9*A(192)+0.9*A(193)+A(195)+A(202)+A(214)+A(216)+A(225)+0.2*A(231)+A(244)+A(245)+A(252)& &+A(274)+A(275)+A(283)+A(284)+A(285)+A(292)+A(295)+A(315)+A(316)+A(317)+A(319)+A(322)+A(323)+A(324)+0.05& &*A(381)+0.75*A(385)+A(386)+0.5*A(388)+A(401)+0.75*A(405)+A(406)+0.5*A(407)+A(412)+A(413)+A(414)+0.75& &*A(418)+A(419)+0.84*A(429)+A(431)+A(432)+A(445)+A(446)+A(453)+0.5*A(455)+1.75*A(456)+A(457)+1.75*A(458)& &+A(459)+1.75*A(460)+A(461)+1.75*A(462)+A(463)+0.75*A(464)+0.75*A(466)+A(468)+2*A(472)+0.5*A(473)+A(474)& &+A(476)+A(478)+0.5*A(479)+0.16*A(493)+0.4*A(496)+0.7*A(497)+0.063*A(498)+0.063*A(500)+0.4*A(503)+0.7& &*A(505)+2*A(506)+2*A(507)+2*A(508)+A(509)+A(510)+A(511)+2*A(512)+1.5*A(513)+2*A(514)+1.5*A(515)+A(517)& &+0.45*A(519)+A(521)+0.45*A(523)+0.085*A(524)+0.165*A(525)+0.283*A(528)+A(530)+0.25*A(535)+0.33*A(536)& &+0.024*A(537)+0.042*A(538)+A(540)+0.275*A(542)+A(544)+0.275*A(546)+0.75*A(551)+A(552)+A(554)+A(556)+0.65& &*A(558)+A(559)+A(561)+A(563)+0.65*A(565)+0.65*A(566)+A(568)+A(569)+0.4*A(582)+0.4*A(583)+A(584)+0.059& &*A(585)+0.272*A(586)+A(588)+0.599*A(589)+A(590)+A(592)+A(593)+0.582*A(594)+A(595)+0.506*A(597)+A(598)& &+0.379*A(600)+A(601)+0.089*A(607)+0.064*A(608)+0.336*A(609)+0.611*A(610)+0.159*A(612)+0.159*A(614)+0.159& &*A(617)+A(619)+0.326*A(631)+0.58*A(632)+0.5*A(633)+0.904*A(635)+0.295*A(638)+0.33*A(639)+0.33*A(640)+0.89& &*A(642)+0.73*A(643)+0.1*A(645)+0.036*A(646)+0.715*A(661)+A(663)+A(665)+A(666)+0.305*A(667)+0.242*A(668)& &+0.507*A(670)+0.86*A(674)+0.7*A(682)+0.5*A(686)+0.444*A(687)+0.62*A(691)+0.5*A(694)+A(699)+0.7*A(702)+0.1& &*A(704)+0.18*A(705)+0.03*A(707)+A(709)+A(711)+0.364*A(714)+0.6*A(718)+A(719)+A(720)+0.54*A(724)+0.19& &*A(725)+0.15*A(726)+A(727)+A(728)+A(729)+2*A(730)+A(731)+A(733)+0.8*A(741)+0.727*A(743)+A(746)+A(765)& &+A(766)+0.33*A(767)+0.1*A(768)+0.2*A(769)+0.33*A(770)+0.1*A(771)+0.2*A(772)+A(773)+A(775)+A(777)+A(779)& &+A(887)+A(888)+A(893)+A(897)+0.3*A(901)+A(902)+A(903)+1.73*A(907)+2*A(908)+A(911)+A(913)+A(915)+A(916)& &+A(917)+A(918)+A(919)+A(920)+A(921)+A(922)+A(923)+A(924)+A(925)+0.27*A(926)+0.326*A(927)+A(928)+0.27& &*A(929)+A(982)+A(989)+A(990)+A(998)+A(999)+A(1000)+A(1001)+A(1003)+A(1004)+A(1006)+1.5*A(1007)+0.47& &*A(1008)+0.571*A(1009)+0.125*A(1010)+A(1011)+0.29*A(1013)+A(1014)+A(1015)+A(1016)+A(1017)+A(1018)+A(1019)& &+0.112*A(1020)+0.182*A(1021)+A(1022)+A(1023)+0.45*A(1024)+A(1025)+A(1026)+0.45*A(1027)+0.33*A(1028)+0.159& &*A(1029)+0.161*A(1031)+0.228*A(1032)+1.5*A(1033)+A(1034)+0.75*A(1035)+A(1036)+1.454*A(1037)+0.7*A(1038)& &+0.7*A(1039)+A(1041)+A(1043)+A(1046)+A(1048)+A(1049)+A(1053)+A(1054)+A(1057)+A(1058) IF (DO_FUN(338)) & P_VAR(338) = 0.22*A(253)+0.75*A(255)+0.79*A(256)+0.46*A(257)+0.56*A(261)+0.9*A(262)+0.86*A(263)+0.34*A(264)+0.69& &*A(266)+0.65*A(267)+0.79*A(268)+0.8*A(269)+0.85*A(270)+0.86*A(271)+A(280)+A(293)+A(297)+2*A(308)+0.1& &*A(309)+A(313)+A(319)+A(322)+A(323)+A(945)+A(949) IF (DO_FUN(339)) & P_VAR(339) = 0.12*A(253)+A(276)+A(291)+A(292)+A(294)+A(295)+A(296)+2*A(315)+A(316)+A(317)+A(318)+A(320)+A(321)+A(324)& &+A(325)+A(326)+A(327)+A(328)+A(329)+A(330)+A(331)+A(332)+A(812) IF (DO_FUN(340)) & P_VAR(340) = 0.66*A(253)+0.75*A(255)+2.37*A(256)+0.35*A(257)+0.19*A(261)+1.8*A(262)+0.86*A(263)+0.31*A(264)+0.69& &*A(266)+0.79*A(268)+1.9*A(269)+0.95*A(270)+A(273)+A(275)+A(279)+A(283)+2*A(284)+3*A(285)+3*A(286)+A(287)+2& &*A(288)+A(289)+2*A(290)+A(298)+A(300)+A(303)+A(304)+A(306)+2*A(316)+3*A(317)+0.249*A(349)+A(940)+2*A(941)& &+A(942)+2*A(943)+A(944)+A(946)+A(947)+A(948)+A(950)+3*A(951)+4*A(952)+3*A(953)+2*A(954)+3*A(955)+2*A(956)& &+A(957)+2*A(958)+2*A(959)+A(960)+A(961)+A(963)+A(965)+A(976)+A(981) IF (DO_FUN(341)) & P_VAR(341) = 0.15*A(128)+0.15*A(148)+0.15*A(158)+A(232)+0.15*A(391)+0.15*A(436)+0.13*A(671)+0.13*A(678)+0.13*A(695)& &+0.15*A(737)+0.15*A(750) IF (DO_FUN(342)) & P_VAR(342) = A(206)+2*A(207)+A(209)+A(211)+A(213)+A(214)+3*A(223)+2*A(224)+A(225)+A(251)+0.6*A(254)+0.56*A(258)+0.95& &*A(259)+1.4*A(260)+0.34*A(264)+0.75*A(272)+A(310)+A(311)+A(343)+A(344)+2*A(931)+A(932)+A(933)+A(934)& &+A(936)+3*A(937)+2*A(938)+A(939)+A(942)+A(962)+A(963)+2*A(964)+A(977)+A(980) IF (DO_FUN(343)) & P_VAR(343) = A(18)+A(227)+A(228)+A(237)+0.02*A(247)+A(248)+A(249)+A(250)+0.12*A(253)+0.2*A(254)+0.25*A(255)+0.21& &*A(256)+0.1*A(257)+0.05*A(259)+0.3*A(260)+0.25*A(261)+0.1*A(262)+0.14*A(263)+0.35*A(264)+0.55*A(265)+0.31& &*A(266)+0.35*A(267)+0.21*A(268)+0.1*A(269)+0.1*A(270)+0.14*A(271)+0.25*A(272)+A(882)+2*A(884)+A(885)& &+A(894)+A(932)+A(944)+A(945)+A(968)+A(988) IF (DO_FUN(344)) & P_VAR(344) = A(5) IF (DO_FUN(345)) & P_VAR(345) = A(15)+A(22)+0.3*A(32)+0.3*A(33)+A(42)+0.5*A(71)+0.25*A(84)+0.15*A(118)+0.15*A(119)+0.44*A(128)+0.44& &*A(148)+0.36*A(150)+0.227*A(151)+A(152)+0.44*A(158)+A(168)+0.791*A(169)+0.64*A(170)+0.64*A(171)+0.791& &*A(172)+0.79*A(173)+0.79*A(174)+0.791*A(176)+A(177)+0.22*A(178)+A(212)+A(213)+2*A(226)+A(229)+0.75*A(231)& &+A(236)+A(244)+A(246)+1.788*A(247)+A(252)+0.66*A(253)+0.6*A(254)+0.05*A(261)+A(297)+0.865*A(379)+0.8& &*A(381)+0.65*A(383)+0.44*A(391)+0.6*A(421)+0.865*A(424)+0.44*A(436)+0.3*A(447)+0.3*A(448)+0.15*A(449)& &+A(454)+0.28*A(493)+1.5*A(496)+1.5*A(497)+0.063*A(498)+0.063*A(500)+A(502)+1.5*A(503)+A(504)+1.5*A(505)& &+A(509)+A(510)+A(511)+0.5*A(513)+0.5*A(515)+0.55*A(519)+0.55*A(523)+1.085*A(524)+1.165*A(525)+A(526)& &+A(527)+1.065*A(528)+A(529)+A(532)+A(534)+0.405*A(537)+0.745*A(538)+A(539)+0.275*A(542)+A(543)+0.275& &*A(546)+A(548)+1.3*A(550)+A(557)+0.65*A(558)+A(562)+0.65*A(565)+0.65*A(566)+A(569)+A(570)+2*A(571)+A(572)& &+2*A(573)+0.6*A(582)+0.6*A(583)+0.518*A(585)+0.599*A(589)+0.582*A(594)+0.506*A(597)+0.379*A(600)+0.527& &*A(604)+A(623)+A(624)+A(628)+A(629)+A(630)+1.147*A(631)+0.646*A(632)+0.435*A(633)+0.096*A(635)+0.244& &*A(638)+A(640)+0.82*A(643)+0.08*A(645)+0.12*A(648)+0.68*A(649)+0.02*A(650)+A(651)+A(652)+A(654)+A(656)& &+A(659)+0.285*A(661)+A(662)+A(664)+0.665*A(667)+0.59*A(670)+0.5*A(671)+0.585*A(672)+A(673)+0.5*A(678)+0.7& &*A(685)+0.5*A(686)+0.444*A(687)+A(688)+A(689)+0.3*A(691)+0.5*A(694)+0.5*A(695)+A(696)+A(697)+A(698)+0.18& &*A(704)+A(710)+0.636*A(714)+A(723)+A(727)+0.44*A(737)+A(746)+0.2*A(750)+0.25*A(767)+0.1*A(768)+0.25*A(770)& &+0.1*A(771)+2*A(886)+A(887)+A(890)+A(891)+A(892)+0.07*A(907)+A(917)+A(918)+A(919)+A(920)+A(921)+A(922)& &+A(923)+A(924)+A(925)+A(930)+A(933)+A(950)+A(967)+A(984)+2*A(987)+A(989)+2*A(1002)+A(1003)+A(1008)+A(1009)& &+1.75*A(1010)+A(1011)+0.75*A(1012)+0.01*A(1013)+A(1015)+A(1016)+A(1017)+A(1018)+A(1019)+1.662*A(1020)& &+1.637*A(1021)+A(1022)+A(1023)+0.55*A(1024)+0.55*A(1027)+0.67*A(1028)+A(1029)+0.645*A(1031)+0.5*A(1033)& &+A(1034)+1.25*A(1035)+A(1036)+0.546*A(1037)+A(1038)+0.3*A(1039)+A(1040)+A(1042)+A(1044)+A(1048)+A(1050)& &+A(1051)+A(1052)+A(1053)+A(1054)+A(1055)+A(1056)+A(1057) IF (DO_FUN(346)) & P_VAR(346) = A(49)+1.22*A(230)+A(240)+A(248)+2*A(335)+A(700)+A(774)+A(776)+A(778)+A(885)+A(891)+A(895)+A(970) IF (DO_FUN(347)) & P_VAR(347) = A(203)+A(212)+A(215)+0.2*A(254)+0.44*A(258)+0.95*A(259)+0.7*A(260)+0.31*A(264)+0.45*A(265)+0.75*A(272)& &+A(935) IF (DO_FUN(348)) & P_VAR(348) = A(11)+A(199)+0.75*A(200)+A(201)+A(238)+A(239)+A(986)+A(987) IF (DO_FUN(349)) & P_VAR(349) = A(823) IF (DO_FUN(350)) & P_VAR(350) = A(824) IF (DO_FUN(351)) & P_VAR(351) = A(16)+A(36)+A(46)+A(88)+A(210)+A(243)+A(282)+A(313)+A(314)+A(342)+A(364)+A(371)+A(488)+0.69*A(650)+A(684)& &+A(756)+A(892)+A(896)+0.3*A(899)+A(934)+A(948)+A(972)+A(982)+0.3*A(1047) IF (DO_FUN(352)) & P_VAR(352) = A(205)+A(216)+A(217)+A(218)+A(219)+A(220)+0.2*A(254)+A(333)+A(819) IF (DO_FUN(353)) & P_VAR(353) = A(2) ! Destruction function IF (DO_FUN(1)) & D_VAR(1) = RCT(975) IF (DO_FUN(2)) & D_VAR(2) = RCT(977) IF (DO_FUN(3)) & D_VAR(3) = RCT(976) IF (DO_FUN(4)) & D_VAR(4) = 0 IF (DO_FUN(5)) & D_VAR(5) = 0 IF (DO_FUN(6)) & D_VAR(6) = 0 IF (DO_FUN(7)) & D_VAR(7) = 0 IF (DO_FUN(8)) & D_VAR(8) = 0 IF (DO_FUN(9)) & D_VAR(9) = 0 IF (DO_FUN(10)) & D_VAR(10) = 0 IF (DO_FUN(11)) & D_VAR(11) = 0 IF (DO_FUN(12)) & D_VAR(12) = 0 IF (DO_FUN(13)) & D_VAR(13) = RCT(773)*V(337)+RCT(774)*V(346) IF (DO_FUN(14)) & D_VAR(14) = 0 IF (DO_FUN(15)) & D_VAR(15) = 0 IF (DO_FUN(16)) & D_VAR(16) = 0 IF (DO_FUN(17)) & D_VAR(17) = 0 IF (DO_FUN(18)) & D_VAR(18) = RCT(699)*V(337)+RCT(700)*V(346) IF (DO_FUN(19)) & D_VAR(19) = RCT(698)*V(345) IF (DO_FUN(20)) & D_VAR(20) = 0 IF (DO_FUN(21)) & D_VAR(21) = 0 IF (DO_FUN(22)) & D_VAR(22) = RCT(775)*V(337)+RCT(776)*V(346) IF (DO_FUN(23)) & D_VAR(23) = 0 IF (DO_FUN(24)) & D_VAR(24) = RCT(177)*V(345)+RCT(861) IF (DO_FUN(25)) & D_VAR(25) = 0 IF (DO_FUN(26)) & D_VAR(26) = 0 IF (DO_FUN(27)) & D_VAR(27) = RCT(777)*V(337)+RCT(778)*V(346) IF (DO_FUN(28)) & D_VAR(28) = 0 IF (DO_FUN(29)) & D_VAR(29) = 0 IF (DO_FUN(30)) & D_VAR(30) = 0 IF (DO_FUN(31)) & D_VAR(31) = 0 IF (DO_FUN(32)) & D_VAR(32) = 0 IF (DO_FUN(33)) & D_VAR(33) = 0 IF (DO_FUN(34)) & D_VAR(34) = 0 IF (DO_FUN(35)) & D_VAR(35) = 0 IF (DO_FUN(36)) & D_VAR(36) = 0 IF (DO_FUN(37)) & D_VAR(37) = 0 IF (DO_FUN(38)) & D_VAR(38) = 0 IF (DO_FUN(39)) & D_VAR(39) = 0 IF (DO_FUN(40)) & D_VAR(40) = 0 IF (DO_FUN(41)) & D_VAR(41) = RCT(780)*V(345) IF (DO_FUN(42)) & D_VAR(42) = RCT(347)+RCT(836)+RCT(837)+RCT(838)+RCT(978) IF (DO_FUN(43)) & D_VAR(43) = RCT(286)*V(345)+RCT(951) IF (DO_FUN(44)) & D_VAR(44) = RCT(358)+RCT(830)+RCT(831)+RCT(832)+RCT(973) IF (DO_FUN(45)) & D_VAR(45) = RCT(487) IF (DO_FUN(46)) & D_VAR(46) = RCT(256)*V(334)+RCT(952) IF (DO_FUN(47)) & D_VAR(47) = RCT(262)*V(334)+RCT(953) IF (DO_FUN(48)) & D_VAR(48) = RCT(263)*V(334)+RCT(954) IF (DO_FUN(49)) & D_VAR(49) = RCT(269)*V(334)+RCT(955) IF (DO_FUN(50)) & D_VAR(50) = RCT(270)*V(334)+RCT(956) IF (DO_FUN(51)) & D_VAR(51) = RCT(271)*V(334)+RCT(957) IF (DO_FUN(52)) & D_VAR(52) = RCT(359)*V(345)+RCT(974) IF (DO_FUN(53)) & D_VAR(53) = RCT(265)*V(334)+RCT(962) IF (DO_FUN(54)) & D_VAR(54) = RCT(272)*V(334)+RCT(964) IF (DO_FUN(55)) & D_VAR(55) = RCT(833)+RCT(834)+RCT(835)+RCT(979) IF (DO_FUN(56)) & D_VAR(56) = RCT(394) IF (DO_FUN(57)) & D_VAR(57) = RCT(439) IF (DO_FUN(58)) & D_VAR(58) = RCT(732)*V(345) IF (DO_FUN(59)) & D_VAR(59) = RCT(936) IF (DO_FUN(60)) & D_VAR(60) = RCT(714)*V(345) IF (DO_FUN(61)) & D_VAR(61) = RCT(264)*V(334)+RCT(963) IF (DO_FUN(62)) & D_VAR(62) = RCT(335)*2*V(62)+RCT(970) IF (DO_FUN(63)) & D_VAR(63) = RCT(230)*V(334)+RCT(985) IF (DO_FUN(64)) & D_VAR(64) = RCT(996)+RCT(997) IF (DO_FUN(65)) & D_VAR(65) = RCT(994)+RCT(995) IF (DO_FUN(66)) & D_VAR(66) = RCT(397)*V(345)+RCT(1051) IF (DO_FUN(67)) & D_VAR(67) = RCT(248)*F(3)+RCT(249)*V(346)+RCT(250)*V(335) IF (DO_FUN(68)) & D_VAR(68) = RCT(238)*V(343)+RCT(239)*V(345)+RCT(986) IF (DO_FUN(69)) & D_VAR(69) = RCT(66)*V(345)+RCT(67)*V(351) IF (DO_FUN(70)) & D_VAR(70) = RCT(721)*V(345) IF (DO_FUN(71)) & D_VAR(71) = RCT(753)*V(345)+RCT(1044) IF (DO_FUN(72)) & D_VAR(72) = RCT(161)*V(345) IF (DO_FUN(73)) & D_VAR(73) = RCT(353)*V(345)+RCT(825)+RCT(826)+RCT(827) IF (DO_FUN(74)) & D_VAR(74) = RCT(396)*V(345)+RCT(1050) IF (DO_FUN(75)) & D_VAR(75) = RCT(285)*V(345)+RCT(317)*V(340) IF (DO_FUN(76)) & D_VAR(76) = RCT(278)*V(345)+RCT(308)+RCT(946) IF (DO_FUN(77)) & D_VAR(77) = RCT(980) IF (DO_FUN(78)) & D_VAR(78) = RCT(224)*V(345)+RCT(259)*V(334)+RCT(938) IF (DO_FUN(79)) & D_VAR(79) = RCT(284)*V(345)+RCT(316)*V(340)+RCT(941) IF (DO_FUN(80)) & D_VAR(80) = RCT(198)+RCT(982)+RCT(983) IF (DO_FUN(81)) & D_VAR(81) = RCT(223)*V(345)+RCT(260)*V(334)+RCT(937) IF (DO_FUN(82)) & D_VAR(82) = RCT(725)*V(345) IF (DO_FUN(83)) & D_VAR(83) = RCT(490)*V(345)+RCT(999) IF (DO_FUN(84)) & D_VAR(84) = RCT(268)*V(334)+RCT(290)*V(345)+RCT(958) IF (DO_FUN(85)) & D_VAR(85) = RCT(266)*V(334)+RCT(288)*V(345)+RCT(959) IF (DO_FUN(86)) & D_VAR(86) = RCT(267)*V(334)+RCT(289)*V(345)+RCT(960) IF (DO_FUN(87)) & D_VAR(87) = RCT(261)*V(334)+RCT(287)*V(345)+RCT(961) IF (DO_FUN(88)) & D_VAR(88) = RCT(694)*V(345)+RCT(1002) IF (DO_FUN(89)) & D_VAR(89) = RCT(11)+RCT(12)*V(345)*V(348) IF (DO_FUN(90)) & D_VAR(90) = RCT(754)+RCT(755)*V(345) IF (DO_FUN(91)) & D_VAR(91) = RCT(491)*V(345)+RCT(1000) IF (DO_FUN(92)) & D_VAR(92) = RCT(178)*V(345)+RCT(930) IF (DO_FUN(93)) & D_VAR(93) = RCT(489)*V(345)+RCT(998) IF (DO_FUN(94)) & D_VAR(94) = RCT(199)*V(345)+RCT(200)*V(345)+RCT(201)*V(351) IF (DO_FUN(95)) & D_VAR(95) = RCT(492)*V(345)+RCT(1001) IF (DO_FUN(96)) & D_VAR(96) = RCT(345)*V(284)+RCT(346)*2*V(96)+RCT(348)*V(346)+RCT(969) IF (DO_FUN(97)) & D_VAR(97) = RCT(173)*V(345)+RCT(921) IF (DO_FUN(98)) & D_VAR(98) = RCT(71)*V(345)+RCT(922) IF (DO_FUN(99)) & D_VAR(99) = RCT(171)*V(345)+RCT(919) IF (DO_FUN(100)) & D_VAR(100) = RCT(172)*V(345)+RCT(920) IF (DO_FUN(101)) & D_VAR(101) = RCT(726)*V(345) IF (DO_FUN(102)) & D_VAR(102) = RCT(174)*V(345)+RCT(923) IF (DO_FUN(103)) & D_VAR(103) = RCT(486) IF (DO_FUN(104)) & D_VAR(104) = RCT(981) IF (DO_FUN(105)) & D_VAR(105) = RCT(225)*V(345)+RCT(258)*V(334)+RCT(939) IF (DO_FUN(106)) & D_VAR(106) = RCT(719)+RCT(720)*F(3) IF (DO_FUN(107)) & D_VAR(107) = RCT(685)*V(345)+RCT(868) IF (DO_FUN(108)) & D_VAR(108) = RCT(40)+RCT(41)*V(345)+RCT(892)+RCT(893) IF (DO_FUN(109)) & D_VAR(109) = RCT(712)*V(341)+RCT(713)*V(345) IF (DO_FUN(110)) & D_VAR(110) = RCT(306)+RCT(309)*V(340)+RCT(965) IF (DO_FUN(111)) & D_VAR(111) = RCT(387)*V(345)+RCT(1048) IF (DO_FUN(112)) & D_VAR(112) = RCT(408)*V(345)+RCT(1053) IF (DO_FUN(113)) & D_VAR(113) = RCT(125)+4.51e-12*V(345) IF (DO_FUN(114)) & D_VAR(114) = RCT(156)+RCT(160)*V(345) IF (DO_FUN(115)) & D_VAR(115) = RCT(693)*V(345)+RCT(867)+RCT(1004) IF (DO_FUN(116)) & D_VAR(116) = RCT(711)*V(345)+RCT(928) IF (DO_FUN(117)) & D_VAR(117) = RCT(760)*V(345)+RCT(1045) IF (DO_FUN(118)) & D_VAR(118) = RCT(170)*V(345)+RCT(918) IF (DO_FUN(119)) & D_VAR(119) = RCT(530)*V(345) IF (DO_FUN(120)) & D_VAR(120) = RCT(277)*V(345)+RCT(945) IF (DO_FUN(121)) & D_VAR(121) = RCT(733)*V(346)+RCT(734)*V(337) IF (DO_FUN(122)) & D_VAR(122) = RCT(739)+RCT(740)*V(345) IF (DO_FUN(123)) & D_VAR(123) = RCT(176)*V(345)+RCT(924) IF (DO_FUN(124)) & D_VAR(124) = RCT(107)+RCT(108)*V(345)+RCT(1047) IF (DO_FUN(125)) & D_VAR(125) = RCT(169)*V(345)+RCT(917) IF (DO_FUN(126)) & D_VAR(126) = RCT(87)+RCT(88)*V(345)+RCT(900) IF (DO_FUN(127)) & D_VAR(127) = RCT(80)*V(345) IF (DO_FUN(128)) & D_VAR(128) = RCT(551)*V(345)+RCT(860) IF (DO_FUN(129)) & D_VAR(129) = RCT(409)*V(345) IF (DO_FUN(130)) & D_VAR(130) = RCT(442)*V(345)+RCT(1056) IF (DO_FUN(131)) & D_VAR(131) = RCT(663)*V(345) IF (DO_FUN(132)) & D_VAR(132) = RCT(82)*V(346)+RCT(83)*V(337) IF (DO_FUN(133)) & D_VAR(133) = RCT(570)*V(346)+RCT(571)*V(337) IF (DO_FUN(134)) & D_VAR(134) = RCT(987) IF (DO_FUN(135)) & D_VAR(135) = RCT(572)*V(346)+RCT(573)*V(337) IF (DO_FUN(136)) & D_VAR(136) = RCT(722)*V(345)+RCT(723)*V(345)+RCT(1042) IF (DO_FUN(137)) & D_VAR(137) = RCT(388)*V(345) IF (DO_FUN(138)) & D_VAR(138) = RCT(407)*V(345) IF (DO_FUN(139)) & D_VAR(139) = RCT(54)+RCT(55)*V(345)+RCT(899) IF (DO_FUN(140)) & D_VAR(140) = RCT(75)*V(345)+RCT(76)*V(351)+RCT(77)*V(341) IF (DO_FUN(141)) & D_VAR(141) = RCT(61)*V(345)+RCT(62)*V(345)+RCT(220)*V(342)+RCT(327)*V(340)+RCT(328)*V(340) IF (DO_FUN(142)) & D_VAR(142) = RCT(89)*V(345)+RCT(101)*V(351)+RCT(331)*V(340) IF (DO_FUN(143)) & D_VAR(143) = RCT(724)*V(345) IF (DO_FUN(144)) & D_VAR(144) = RCT(527)*V(345)+RCT(1023) IF (DO_FUN(145)) & D_VAR(145) = RCT(619)*F(3)+RCT(620) IF (DO_FUN(146)) & D_VAR(146) = 7.09e-11*V(345)+RCT(902) IF (DO_FUN(147)) & D_VAR(147) = RCT(687)*V(345)+RCT(1037) IF (DO_FUN(148)) & D_VAR(148) = RCT(211)*V(345)+RCT(931) IF (DO_FUN(149)) & D_VAR(149) = RCT(705)*V(345)+RCT(706)*V(351) IF (DO_FUN(150)) & D_VAR(150) = RCT(526)*V(345)+RCT(1022) IF (DO_FUN(151)) & D_VAR(151) = RCT(552)*V(345)+RCT(553)*V(345)+RCT(858) IF (DO_FUN(152)) & D_VAR(152) = RCT(554)*V(345)+RCT(555)*V(345)+RCT(859) IF (DO_FUN(153)) & D_VAR(153) = RCT(666)*V(345) IF (DO_FUN(154)) & D_VAR(154) = RCT(488)*V(345)+RCT(866)+RCT(993) IF (DO_FUN(155)) & D_VAR(155) = RCT(175)*V(345)+RCT(925) IF (DO_FUN(156)) & D_VAR(156) = RCT(140)*V(345)+RCT(325)*V(340) IF (DO_FUN(157)) & D_VAR(157) = RCT(942) IF (DO_FUN(158)) & D_VAR(158) = RCT(743)*V(345)+RCT(744)*V(351) IF (DO_FUN(159)) & D_VAR(159) = RCT(672)*V(345)+RCT(1012) IF (DO_FUN(160)) & D_VAR(160) = RCT(402)*V(345)+RCT(1052) IF (DO_FUN(161)) & D_VAR(161) = RCT(415)*V(345)+RCT(1054) IF (DO_FUN(162)) & D_VAR(162) = RCT(416)*V(345) IF (DO_FUN(163)) & D_VAR(163) = RCT(433)*V(345)+RCT(434)*V(351) IF (DO_FUN(164)) & D_VAR(164) = RCT(32)*V(345)+RCT(320)*V(340)+RCT(887) IF (DO_FUN(165)) & D_VAR(165) = RCT(73)*V(346)+RCT(74)*V(337) IF (DO_FUN(166)) & D_VAR(166) = RCT(4)*V(341)*V(348)+RCT(5)*V(339)+RCT(6)*V(327) IF (DO_FUN(167)) & D_VAR(167) = RCT(377)*V(351)+RCT(378)*V(345)+RCT(379)*V(341) IF (DO_FUN(168)) & D_VAR(168) = RCT(576)*V(345)+RCT(577)*V(345)+RCT(871)+RCT(1026) IF (DO_FUN(169)) & D_VAR(169) = RCT(441)*V(345)+RCT(1055) IF (DO_FUN(170)) & D_VAR(170) = RCT(339)*V(351)+RCT(352)*V(345)+RCT(966) IF (DO_FUN(171)) & D_VAR(171) = RCT(655)*V(346)+RCT(656)*V(337)+RCT(657)*V(335) IF (DO_FUN(172)) & D_VAR(172) = RCT(658)*V(346)+RCT(659)*V(337)+RCT(660)*V(335) IF (DO_FUN(173)) & D_VAR(173) = RCT(701)*V(345) IF (DO_FUN(174)) & D_VAR(174) = RCT(688)*V(345)+RCT(1035) IF (DO_FUN(175)) & D_VAR(175) = RCT(574)*V(345)+RCT(575)*V(345)+RCT(870)+RCT(1025) IF (DO_FUN(176)) & D_VAR(176) = RCT(403)*V(345) IF (DO_FUN(177)) & D_VAR(177) = RCT(435)*V(345) IF (DO_FUN(178)) & D_VAR(178) = RCT(68)*V(346)+RCT(69)*V(346)+RCT(70)*V(337) IF (DO_FUN(179)) & D_VAR(179) = RCT(1)*V(341)*V(348)+RCT(2)*V(339)+RCT(3)*V(327) IF (DO_FUN(180)) & D_VAR(180) = RCT(642)*V(346)+RCT(643)*V(337) IF (DO_FUN(181)) & D_VAR(181) = RCT(257)*V(334)+RCT(283)*V(345)+RCT(315)*V(340)+RCT(940) IF (DO_FUN(182)) & D_VAR(182) = RCT(639)*V(346)+RCT(640)*V(337) IF (DO_FUN(183)) & D_VAR(183) = RCT(57)*V(345)+RCT(179)*V(351)+RCT(219)*V(342)+RCT(321)*V(340) IF (DO_FUN(184)) & D_VAR(184) = RCT(683)+RCT(684)*V(345) IF (DO_FUN(185)) & D_VAR(185) = RCT(662)*V(345)+RCT(1009) IF (DO_FUN(186)) & D_VAR(186) = RCT(622)*V(345)+RCT(624)*V(345)+RCT(625)*V(345)+RCT(627)*V(345)+RCT(628)*V(345)+RCT(874)+RCT(1029)& &+RCT(1030) IF (DO_FUN(187)) & D_VAR(187) = RCT(531)*V(345)+RCT(532)*V(345)+RCT(535)*V(345)+RCT(1016) IF (DO_FUN(188)) & D_VAR(188) = RCT(141)*V(345) IF (DO_FUN(189)) & D_VAR(189) = RCT(709)*V(346)+RCT(710)*V(337) IF (DO_FUN(190)) & D_VAR(190) = RCT(588)+RCT(589)*V(337)+RCT(590)*V(346)+RCT(591)*V(346) IF (DO_FUN(191)) & D_VAR(191) = RCT(375)*V(351)+RCT(382)*V(345)+RCT(383)*V(341) IF (DO_FUN(192)) & D_VAR(192) = RCT(533)*V(345)+RCT(534)*V(345)+RCT(536)*V(345)+RCT(1017) IF (DO_FUN(193)) & D_VAR(193) = RCT(450)*V(345)+RCT(451)*V(341)+RCT(452)*V(351) IF (DO_FUN(194)) & D_VAR(194) = RCT(661)*V(345)+RCT(1010) IF (DO_FUN(195)) & D_VAR(195) = RCT(741)*V(345)+RCT(742)*V(351) IF (DO_FUN(196)) & D_VAR(196) = RCT(72)*V(345)+RCT(927) IF (DO_FUN(197)) & D_VAR(197) = RCT(84)*V(337)+RCT(85)*V(346)+RCT(86)*V(335) IF (DO_FUN(198)) & D_VAR(198) = RCT(689)*V(345)+RCT(1036) IF (DO_FUN(199)) & D_VAR(199) = RCT(538)*V(345)+RCT(1019) IF (DO_FUN(200)) & D_VAR(200) = RCT(707)*V(345)+RCT(708)*V(351) IF (DO_FUN(201)) & D_VAR(201) = RCT(770)*V(345)+RCT(771)*V(341)+RCT(772) IF (DO_FUN(202)) & D_VAR(202) = RCT(745)*V(345)+RCT(746)*V(341)+RCT(747)*V(351) IF (DO_FUN(203)) & D_VAR(203) = RCT(761)*V(341)+RCT(762)*V(335) IF (DO_FUN(204)) & D_VAR(204) = RCT(748)*V(345)+RCT(749)*V(351)+RCT(1043) IF (DO_FUN(205)) & D_VAR(205) = RCT(584)+RCT(585)*V(337)+RCT(586)*V(346)+RCT(587)*V(346) IF (DO_FUN(206)) & D_VAR(206) = RCT(592)+RCT(594)*V(337)+RCT(595)*V(346)+RCT(596)*V(346) IF (DO_FUN(207)) & D_VAR(207) = RCT(593)+RCT(597)*V(337)+RCT(598)*V(346)+RCT(599)*V(346) IF (DO_FUN(208)) & D_VAR(208) = RCT(665)*V(345)+RCT(1006) IF (DO_FUN(209)) & D_VAR(209) = RCT(537)*V(345)+RCT(1018) IF (DO_FUN(210)) & D_VAR(210) = RCT(696)*V(345)+RCT(697)*V(345)+RCT(1003) IF (DO_FUN(211)) & D_VAR(211) = RCT(426)*V(345)+RCT(427)*V(341)+RCT(428)*V(351) IF (DO_FUN(212)) & D_VAR(212) = RCT(78)*V(346)+RCT(79)*V(337) IF (DO_FUN(213)) & D_VAR(213) = RCT(155)*V(335)+RCT(157)*V(346)+RCT(158)*V(337)+RCT(159)*V(351) IF (DO_FUN(214)) & D_VAR(214) = RCT(46)+RCT(786)*V(336)+RCT(787)*V(339)+RCT(788)+RCT(789)*V(353)+RCT(790)*V(344)+RCT(896) IF (DO_FUN(215)) & D_VAR(215) = RCT(529)*V(345)+RCT(873) IF (DO_FUN(216)) & D_VAR(216) = RCT(654)*V(345)+RCT(879)+RCT(1015) IF (DO_FUN(217)) & D_VAR(217) = RCT(245)*F(3)+RCT(246)*V(341)+RCT(247)*V(337) IF (DO_FUN(218)) & D_VAR(218) = RCT(210)*V(342)+RCT(793)*V(336)+RCT(794)*V(339)+RCT(934)+RCT(935) IF (DO_FUN(219)) & D_VAR(219) = RCT(376)*V(351)+RCT(380)*V(345)+RCT(381)*V(341) IF (DO_FUN(220)) & D_VAR(220) = RCT(702)*V(345)+RCT(703)*V(351)+RCT(704)*V(341) IF (DO_FUN(221)) & D_VAR(221) = RCT(767)*V(345)+RCT(768)*V(341)+RCT(769) IF (DO_FUN(222)) & D_VAR(222) = RCT(621)*V(345)+RCT(623)*V(345)+RCT(626)*V(345)+RCT(875)+RCT(1028) IF (DO_FUN(223)) & D_VAR(223) = RCT(539)+RCT(540)*V(346)+RCT(541)*V(346)+RCT(542)*V(337) IF (DO_FUN(224)) & D_VAR(224) = RCT(543)+RCT(544)*V(346)+RCT(545)*V(346)+RCT(546)*V(337) IF (DO_FUN(225)) & D_VAR(225) = RCT(389)*V(351)+RCT(390)*V(345)+RCT(1049) IF (DO_FUN(226)) & D_VAR(226) = RCT(629)+RCT(632)*V(337)+RCT(635)*V(346)+RCT(636)*V(346) IF (DO_FUN(227)) & D_VAR(227) = RCT(664)*V(345)+RCT(1007) IF (DO_FUN(228)) & D_VAR(228) = RCT(25)*V(345)+RCT(231)*V(334)+RCT(291)*V(340) IF (DO_FUN(229)) & D_VAR(229) = RCT(447)*V(345)+RCT(448)*V(341)+RCT(449)*V(351)+RCT(989)+RCT(1057) IF (DO_FUN(230)) & D_VAR(230) = RCT(524)*V(345)+RCT(1020) IF (DO_FUN(231)) & D_VAR(231) = RCT(525)*V(345)+RCT(1021) IF (DO_FUN(232)) & D_VAR(232) = RCT(547)+RCT(548)*V(346)+RCT(549)*V(346)+RCT(550)*V(337) IF (DO_FUN(233)) & D_VAR(233) = RCT(81)*V(345)+RCT(901) IF (DO_FUN(234)) & D_VAR(234) = RCT(715)*V(337)+RCT(716)*V(346)+RCT(717)*V(351)+RCT(718)*V(328) IF (DO_FUN(235)) & D_VAR(235) = RCT(750)*V(337)+RCT(751)*V(346)+RCT(752)*V(335)+RCT(766)*V(328) IF (DO_FUN(236)) & D_VAR(236) = RCT(756)*V(335)+RCT(757)*V(346)+RCT(758)*V(351)+RCT(759)*V(337)+RCT(765)*V(328) IF (DO_FUN(237)) & D_VAR(237) = RCT(423)*V(345)+RCT(424)*V(341)+RCT(425)*V(351) IF (DO_FUN(238)) & D_VAR(238) = RCT(528)*V(345) IF (DO_FUN(239)) & D_VAR(239) = RCT(38)*V(345)+RCT(891) IF (DO_FUN(240)) & D_VAR(240) = RCT(736)*V(346)+RCT(737)*V(337)+RCT(738)*V(335) IF (DO_FUN(241)) & D_VAR(241) = RCT(369)*V(329)+RCT(370)*V(346)+RCT(371)*V(335)+RCT(372)*V(348)+RCT(373)*V(336)+RCT(374)*V(336) IF (DO_FUN(242)) & D_VAR(242) = RCT(482)*V(345)+RCT(483)*V(341)+RCT(484)*V(351)+RCT(865)+RCT(992) IF (DO_FUN(243)) & D_VAR(243) = RCT(566)*V(337)+RCT(567)*V(346)+RCT(568)*V(346)+RCT(569) IF (DO_FUN(244)) & D_VAR(244) = RCT(33)*V(345)+RCT(984) IF (DO_FUN(245)) & D_VAR(245) = RCT(255)*V(334)+RCT(273)*V(345)+RCT(943) IF (DO_FUN(246)) & D_VAR(246) = RCT(124)*V(335)+RCT(127)*V(346)+RCT(128)*V(337) IF (DO_FUN(247)) & D_VAR(247) = RCT(361)*V(345)+RCT(1005) IF (DO_FUN(248)) & D_VAR(248) = RCT(653)*V(345)+RCT(880)+RCT(1014) IF (DO_FUN(249)) & D_VAR(249) = RCT(92)*V(346)+RCT(117)*V(337)+RCT(135)*V(328)+RCT(188)*V(324) IF (DO_FUN(250)) & D_VAR(250) = RCT(100)*V(346)+RCT(121)*V(337)+RCT(139)*V(328)+RCT(189)*V(324) IF (DO_FUN(251)) & D_VAR(251) = RCT(102)*V(345)+RCT(863)+RCT(926) IF (DO_FUN(252)) & D_VAR(252) = RCT(337)+RCT(338)*2*V(252)+RCT(839)+RCT(840)+RCT(844)*V(349)+RCT(845)*V(350)+RCT(846)*V(353)+RCT(847)& &*V(344)+RCT(971) IF (DO_FUN(253)) & D_VAR(253) = RCT(670)*V(337)+RCT(673)+RCT(674)*V(346)+RCT(675)*V(346) IF (DO_FUN(254)) & D_VAR(254) = RCT(667)*V(337)+RCT(668)*V(346)+RCT(669)*V(346) IF (DO_FUN(255)) & D_VAR(255) = RCT(420)*V(345)+RCT(421)*V(341)+RCT(422)*V(351)+RCT(1058) IF (DO_FUN(256)) & D_VAR(256) = RCT(481)*V(345)+RCT(485)*V(351)+RCT(864)+RCT(991) IF (DO_FUN(257)) & D_VAR(257) = RCT(391)*V(337)+RCT(392)*V(346)+RCT(393)*V(335)+RCT(395)*V(351)+RCT(464)*V(328)+RCT(465)*V(324) IF (DO_FUN(258)) & D_VAR(258) = RCT(686)*V(345)+RCT(1033)+RCT(1034) IF (DO_FUN(259)) & D_VAR(259) = RCT(671)*V(337)+RCT(676)*V(346)+RCT(677)*V(335) IF (DO_FUN(260)) & D_VAR(260) = RCT(65)*V(346)+RCT(113)*V(328)+RCT(147)*V(337)+RCT(192)*V(324) IF (DO_FUN(261)) & D_VAR(261) = RCT(360)*V(345)+RCT(692)*V(351)+RCT(990) IF (DO_FUN(262)) & D_VAR(262) = RCT(453)*V(345)+RCT(454)*V(341)+RCT(455)*V(351) IF (DO_FUN(263)) & D_VAR(263) = RCT(727)*V(337)+RCT(728)*V(346)+RCT(729)*V(351)+RCT(730)*V(328)+RCT(731)*V(324) IF (DO_FUN(264)) & D_VAR(264) = RCT(7)*V(348)+RCT(21)*V(345)+RCT(244)*V(343)+RCT(295)*V(340)+RCT(886) IF (DO_FUN(265)) & D_VAR(265) = RCT(47)*V(345)+RCT(318)*V(340) IF (DO_FUN(266)) & D_VAR(266) = RCT(690)*V(345)+RCT(877)+RCT(1040)+RCT(1041) IF (DO_FUN(267)) & D_VAR(267) = RCT(580)*V(345)+RCT(581)*V(345)+RCT(583)*V(345)+RCT(872)+RCT(1027) IF (DO_FUN(268)) & D_VAR(268) = RCT(578)*V(345)+RCT(579)*V(345)+RCT(582)*V(345)+RCT(869)+RCT(1024) IF (DO_FUN(269)) & D_VAR(269) = RCT(763)*V(345)+RCT(764)*V(351)+RCT(881)+RCT(1046) IF (DO_FUN(270)) & D_VAR(270) = RCT(163)*V(345)+RCT(165)*V(351)+RCT(856)+RCT(908)+RCT(909)+RCT(910) IF (DO_FUN(271)) & D_VAR(271) = RCT(630)+RCT(631)*V(337)+RCT(633)*V(346)+RCT(634)*V(346) IF (DO_FUN(272)) & D_VAR(272) = RCT(429)*V(346)+RCT(430)*V(337)+RCT(431)*V(351)+RCT(432)*V(328) IF (DO_FUN(273)) & D_VAR(273) = RCT(410)*V(337)+RCT(411)*V(346)+RCT(412)*V(346)+RCT(413)*V(328)+RCT(414)*V(351) IF (DO_FUN(274)) & D_VAR(274) = RCT(436)*V(337)+RCT(437)*V(346)+RCT(438)*V(335)+RCT(440)*V(351)+RCT(466)*V(328)+RCT(467)*V(324) IF (DO_FUN(275)) & D_VAR(275) = RCT(404)*V(337)+RCT(405)*V(346)+RCT(406)*V(351)+RCT(458)*V(328)+RCT(459)*V(324) IF (DO_FUN(276)) & D_VAR(276) = RCT(330)*V(340)+RCT(493)*V(341)+RCT(494)*V(345)+RCT(495)*V(345)+RCT(496)*V(345)+RCT(497)*V(345)+RCT(603)& &*V(351) IF (DO_FUN(277)) & D_VAR(277) = RCT(384)*V(337)+RCT(385)*V(346)+RCT(386)*V(351)+RCT(456)*V(328)+RCT(457)*V(324) IF (DO_FUN(278)) & D_VAR(278) = RCT(398)*V(337)+RCT(399)*V(346)+RCT(400)*V(351)+RCT(401)*V(328) IF (DO_FUN(279)) & D_VAR(279) = RCT(103)*V(345)+RCT(929) IF (DO_FUN(280)) & D_VAR(280) = RCT(468)*V(346)+RCT(470)*V(337)+RCT(472)*V(328)+RCT(474)*V(324)+RCT(476)*V(351)+RCT(478)*2*V(280)& &+RCT(479)*V(289) IF (DO_FUN(281)) & D_VAR(281) = RCT(417)*V(337)+RCT(418)*V(346)+RCT(419)*V(351)+RCT(460)*V(328)+RCT(461)*V(324) IF (DO_FUN(282)) & D_VAR(282) = RCT(48)*V(345)+RCT(324)*V(340) IF (DO_FUN(283)) & D_VAR(283) = RCT(104)*V(345)+RCT(326)*V(340) IF (DO_FUN(284)) & D_VAR(284) = RCT(340)*V(335)+RCT(344)*V(347)+RCT(345)*V(96)+RCT(349)*V(338)+RCT(355)*V(337)+RCT(356)*V(346)+RCT(357)*2& &*V(284)+RCT(968) IF (DO_FUN(285)) & D_VAR(285) = RCT(561)+RCT(562)+RCT(563)*V(346)+RCT(564)*V(346)+RCT(565)*V(337) IF (DO_FUN(286)) & D_VAR(286) = RCT(556)+RCT(557)+RCT(558)*V(337)+RCT(559)*V(346)+RCT(560)*V(346) IF (DO_FUN(287)) & D_VAR(287) = RCT(652)*V(345)+RCT(1011) IF (DO_FUN(288)) & D_VAR(288) = RCT(651)*V(345)+RCT(1008) IF (DO_FUN(289)) & D_VAR(289) = RCT(469)*V(346)+RCT(471)*V(337)+RCT(473)*V(328)+RCT(475)*V(324)+RCT(477)*V(351)+RCT(479)*V(280)+RCT(480)& &*2*V(289) IF (DO_FUN(290)) & D_VAR(290) = RCT(149)*V(345)+RCT(150)*V(341)+RCT(162)*V(351)+RCT(332)*V(340)+RCT(333)*V(342) IF (DO_FUN(291)) & D_VAR(291) = RCT(443)*V(337)+RCT(444)*V(346)+RCT(445)*V(346)+RCT(446)*V(351)+RCT(462)*V(328)+RCT(463)*V(324) IF (DO_FUN(292)) & D_VAR(292) = RCT(122)*V(345)+RCT(131)*V(351)+RCT(906) IF (DO_FUN(293)) & D_VAR(293) = RCT(600)*V(337)+RCT(601)*V(346)+RCT(602)*V(346) IF (DO_FUN(294)) & D_VAR(294) = RCT(164)*V(345)+RCT(166)*V(351)+RCT(857)+RCT(911) IF (DO_FUN(295)) & D_VAR(295) = RCT(111)*V(345)+RCT(218)*V(342)+RCT(329)*V(340)+RCT(904)+RCT(905) IF (DO_FUN(296)) & D_VAR(296) = RCT(58)*V(346)+RCT(59)*V(346)+RCT(129)*V(328)+RCT(142)*2*V(296)+RCT(144)*V(337)+RCT(190)*V(324)+RCT(322)& &*V(340) IF (DO_FUN(297)) & D_VAR(297) = RCT(281)*V(345)+RCT(802)*V(353)+RCT(803)*V(344)+RCT(804)*V(339)+RCT(805)*V(349)+RCT(806)*V(350)+RCT(807)& &*V(352)+RCT(947) IF (DO_FUN(298)) & D_VAR(298) = RCT(105)*V(345)+RCT(110)*V(351)+RCT(903) IF (DO_FUN(299)) & D_VAR(299) = RCT(641)*V(345)+RCT(876)+RCT(1032) IF (DO_FUN(300)) & D_VAR(300) = RCT(90)*V(346)+RCT(91)*V(346)+RCT(116)*V(337)+RCT(134)*V(328)+RCT(183)*V(324) IF (DO_FUN(301)) & D_VAR(301) = RCT(637)*V(345)+RCT(638)*V(345)+RCT(1031) IF (DO_FUN(302)) & D_VAR(302) = RCT(650)*V(345)+RCT(862)+RCT(1013) IF (DO_FUN(303)) & D_VAR(303) = RCT(691)*V(345)+RCT(878)+RCT(1038)+RCT(1039) IF (DO_FUN(304)) & D_VAR(304) = RCT(500)*V(337)+RCT(501)*V(337)+RCT(504)+RCT(505)+RCT(507)*2*V(304)+RCT(508)*V(305)+RCT(510)*2*V(304)& &+RCT(511)*V(305)+RCT(514)*V(328)+RCT(515)*V(328)+RCT(520)*V(346)+RCT(521)*V(346)+RCT(522)*V(346)+RCT(523)& &*V(346) IF (DO_FUN(305)) & D_VAR(305) = RCT(498)*V(337)+RCT(499)*V(337)+RCT(502)+RCT(503)+RCT(506)*2*V(305)+RCT(508)*V(304)+RCT(509)*2*V(305)& &+RCT(511)*V(304)+RCT(512)*V(328)+RCT(513)*V(328)+RCT(516)*V(346)+RCT(517)*V(346)+RCT(518)*V(346)+RCT(519)& &*V(346) IF (DO_FUN(306)) & D_VAR(306) = RCT(151)*V(345)+RCT(152)*V(345)+RCT(153)*V(345)+RCT(154)*V(351)+RCT(907) IF (DO_FUN(307)) & D_VAR(307) = RCT(167)*V(345)+RCT(168)*V(345)+RCT(916) IF (DO_FUN(308)) & D_VAR(308) = RCT(678)*V(337)+RCT(679)*V(346)+RCT(680)*V(335)+RCT(681)*V(351)+RCT(682)*V(328) IF (DO_FUN(309)) & D_VAR(309) = RCT(646)*V(345)+RCT(647)*V(345)+RCT(648)*V(341)+RCT(649)*V(351)+RCT(915) IF (DO_FUN(310)) & D_VAR(310) = RCT(604)*V(337)+RCT(606)*2*V(310)+RCT(607)*V(311)+RCT(610)*V(328)+RCT(611)*V(324)+RCT(613)*V(351)& &+RCT(615)*V(346)+RCT(616)*V(346) IF (DO_FUN(311)) & D_VAR(311) = RCT(605)*V(337)+RCT(607)*V(310)+RCT(608)*2*V(311)+RCT(609)*V(328)+RCT(612)*V(324)+RCT(614)*V(351)& &+RCT(617)*V(346)+RCT(618)*V(346) IF (DO_FUN(312)) & D_VAR(312) = RCT(362)*V(329)+RCT(363)*V(346)+RCT(364)*V(335)+RCT(365)*V(336)+RCT(366)*V(336)*V(336)+RCT(367)*V(341)& &+RCT(368)*V(348) IF (DO_FUN(313)) & D_VAR(313) = RCT(96)*V(346)+RCT(118)*V(337)+RCT(136)*V(328)+RCT(184)*V(324) IF (DO_FUN(314)) & D_VAR(314) = RCT(644)*V(345)+RCT(645)*V(341)+RCT(912)+RCT(913)+RCT(914) IF (DO_FUN(315)) & D_VAR(315) = RCT(60)*V(346)+RCT(130)*V(328)+RCT(143)*2*V(315)+RCT(145)*V(337)+RCT(191)*V(324)+RCT(323)*V(340) IF (DO_FUN(316)) & D_VAR(316) = RCT(212)*V(343)+RCT(813)*V(352)+RCT(814)*V(339)+RCT(815)*V(353)+RCT(816)*V(344)+RCT(817)*V(349)+RCT(818)& &*V(350)+RCT(819)*V(348)+RCT(933) IF (DO_FUN(317)) & D_VAR(317) = RCT(282)*V(345)+RCT(313)*V(343)+RCT(314)*V(340)+RCT(795)*V(336)+RCT(796)*V(339)+RCT(797)*V(352)+RCT(798)& &*V(349)+RCT(799)*V(350)+RCT(800)*V(353)+RCT(801)*V(344)+RCT(948)+RCT(949) IF (DO_FUN(318)) & D_VAR(318) = RCT(95)*V(346)+RCT(115)*V(337)+RCT(133)*V(328)+RCT(187)*V(324) IF (DO_FUN(319)) & D_VAR(319) = RCT(93)*V(346)+RCT(94)*V(346)+RCT(114)*V(337)+RCT(132)*V(328)+RCT(182)*V(324) IF (DO_FUN(320)) & D_VAR(320) = RCT(97)*V(346)+RCT(119)*V(337)+RCT(123)*V(346)+RCT(137)*V(328)+RCT(185)*V(324) IF (DO_FUN(321)) & D_VAR(321) = RCT(63)*V(346)+RCT(64)*V(346)+RCT(112)*V(328)+RCT(146)*V(337)+RCT(193)*V(324) IF (DO_FUN(322)) & D_VAR(322) = RCT(106)*V(335)+RCT(109)*V(346)+RCT(148)*V(337)+RCT(194)*V(324)+RCT(195)*V(328) IF (DO_FUN(323)) & D_VAR(323) = RCT(98)*V(346)+RCT(99)*V(346)+RCT(120)*V(337)+RCT(138)*V(328)+RCT(186)*V(324) IF (DO_FUN(324)) & D_VAR(324) = RCT(53)*V(335)+RCT(56)*V(346)+RCT(180)*2*V(324)+RCT(181)*V(328)+RCT(182)*V(319)+RCT(183)*V(300)+RCT(184)& &*V(313)+RCT(185)*V(320)+RCT(186)*V(323)+RCT(187)*V(318)+RCT(188)*V(249)+RCT(189)*V(250)+RCT(190)*V(296)& &+RCT(191)*V(315)+RCT(192)*V(260)+RCT(193)*V(321)+RCT(194)*V(322)+RCT(457)*V(277)+RCT(459)*V(275)+RCT(461)& &*V(281)+RCT(463)*V(291)+RCT(465)*V(257)+RCT(467)*V(274)+RCT(474)*V(280)+RCT(475)*V(289)+RCT(611)*V(310)& &+RCT(612)*V(311)+RCT(695)*V(337)+RCT(731)*V(263) IF (DO_FUN(325)) & D_VAR(325) = RCT(10)*V(348)+RCT(34)*V(345)+RCT(50)*V(351)+RCT(216)*V(342)+RCT(252)*V(343)+RCT(292)*V(340)+RCT(888)& &+RCT(889) IF (DO_FUN(326)) & D_VAR(326) = RCT(51)*V(345)+RCT(52)*V(351)+RCT(217)*V(342)+RCT(897)+RCT(898) IF (DO_FUN(327)) & D_VAR(327) = RCT(3)*V(179)+RCT(6)*V(166)+RCT(36)*V(345)+RCT(890) IF (DO_FUN(328)) & D_VAR(328) = RCT(17)*V(341)+RCT(26)*V(346)+RCT(27)*V(346)+RCT(28)*V(337)+RCT(29)*2*V(328)+RCT(30)*2*V(328)+RCT(31)& &*V(345)+RCT(112)*V(321)+RCT(113)*V(260)+RCT(129)*V(296)+RCT(130)*V(315)+RCT(132)*V(319)+RCT(133)*V(318)& &+RCT(134)*V(300)+RCT(135)*V(249)+RCT(136)*V(313)+RCT(137)*V(320)+RCT(138)*V(323)+RCT(139)*V(250)+RCT(181)& &*V(324)+RCT(195)*V(322)+RCT(197)*V(335)+RCT(274)*V(338)+RCT(319)*V(340)+RCT(401)*V(278)+RCT(413)*V(273)& &+RCT(432)*V(272)+RCT(456)*V(277)+RCT(458)*V(275)+RCT(460)*V(281)+RCT(462)*V(291)+RCT(464)*V(257)+RCT(466)& &*V(274)+RCT(472)*V(280)+RCT(473)*V(289)+RCT(512)*V(305)+RCT(513)*V(305)+RCT(514)*V(304)+RCT(515)*V(304)& &+RCT(609)*V(311)+RCT(610)*V(310)+RCT(682)*V(308)+RCT(718)*V(234)+RCT(730)*V(263)+RCT(765)*V(236)+RCT(766)& &*V(235)+RCT(779)*V(351) IF (DO_FUN(329)) & D_VAR(329) = RCT(24)*V(345)+RCT(362)*V(312)+RCT(369)*V(241) IF (DO_FUN(330)) & D_VAR(330) = RCT(354)*V(345)+RCT(828)+RCT(829)+RCT(852)*V(349)+RCT(853)*V(350)+RCT(854)*V(353)+RCT(855)*V(344)& &+RCT(967) IF (DO_FUN(331)) & D_VAR(331) = RCT(334)*V(346)+RCT(336)*V(335)+RCT(342)*V(332)+RCT(343)*V(347)+RCT(350)*V(341)+RCT(351)*V(337) IF (DO_FUN(332)) & D_VAR(332) = RCT(341)+RCT(342)*V(331)+RCT(841)+RCT(842)+RCT(843)*V(336)+RCT(848)*V(349)+RCT(849)*V(350)+RCT(850)& &*V(353)+RCT(851)*V(344)+RCT(972) IF (DO_FUN(333)) & D_VAR(333) = RCT(280)*V(345)+RCT(808)*V(339)+RCT(809)*V(352)+RCT(810)*V(353)+RCT(811)*V(344)+RCT(812)*V(348)+RCT(950) IF (DO_FUN(334)) & D_VAR(334) = RCT(226)*V(336)+RCT(227)*F(2)+RCT(228)*F(3)+RCT(229)*F(1)+RCT(230)*V(63)+RCT(231)*V(228)+RCT(237)*V(341)& &+RCT(253)*V(339)+RCT(254)*V(352)+RCT(255)*V(245)+RCT(256)*V(46)+RCT(257)*V(181)+RCT(258)*V(105)+RCT(259)& &*V(78)+RCT(260)*V(81)+RCT(261)*V(87)+RCT(262)*V(47)+RCT(263)*V(48)+RCT(264)*V(61)+RCT(265)*V(53)+RCT(266)& &*V(85)+RCT(267)*V(86)+RCT(268)*V(84)+RCT(269)*V(49)+RCT(270)*V(50)+RCT(271)*V(51)+RCT(272)*V(54) IF (DO_FUN(335)) & D_VAR(335) = RCT(16)*V(341)+RCT(35)*V(345)+RCT(39)*V(337)+RCT(45)*V(351)+RCT(49)*V(351)+RCT(53)*V(324)+RCT(86)*V(197)& &+RCT(106)*V(322)+RCT(124)*V(246)+RCT(155)*V(213)+RCT(197)*V(328)+RCT(221)*V(342)+RCT(222)*V(347)+RCT(240)& &*V(343)+RCT(243)*V(343)+RCT(250)*V(67)+RCT(301)*V(338)+RCT(336)*V(331)+RCT(340)*V(284)+RCT(364)*V(312)& &+RCT(371)*V(241)+RCT(393)*V(257)+RCT(438)*V(274)+RCT(657)*V(171)+RCT(660)*V(172)+RCT(677)*V(259)+RCT(680)& &*V(308)+RCT(738)*V(240)+RCT(752)*V(235)+RCT(756)*V(236)+RCT(762)*V(203)+RCT(782)+RCT(885) IF (DO_FUN(336)) & D_VAR(336) = RCT(226)*V(334)+RCT(365)*V(312)+RCT(366)*2*V(312)*V(336)+RCT(373)*V(241)+RCT(374)*V(241)+RCT(786)*V(214)& &+RCT(793)*V(218)+RCT(795)*V(317)+RCT(843)*V(332) IF (DO_FUN(337)) & D_VAR(337) = RCT(15)*V(341)+RCT(20)*V(345)+RCT(22)*V(346)+RCT(23)*2*V(337)+RCT(28)*V(328)+RCT(39)*V(335)+RCT(42)& &*V(351)+RCT(70)*V(178)+RCT(74)*V(165)+RCT(79)*V(212)+RCT(83)*V(132)+RCT(84)*V(197)+RCT(114)*V(319)& &+RCT(115)*V(318)+RCT(116)*V(300)+RCT(117)*V(249)+RCT(118)*V(313)+RCT(119)*V(320)+RCT(120)*V(323)+RCT(121)& &*V(250)+RCT(128)*V(246)+RCT(144)*V(296)+RCT(145)*V(315)+RCT(146)*V(321)+RCT(147)*V(260)+RCT(148)*V(322)& &+RCT(158)*V(213)+RCT(204)*V(347)+RCT(205)*V(342)+RCT(236)*V(343)+RCT(247)*V(217)+RCT(296)*V(340)+RCT(297)& &*V(340)+RCT(299)*V(338)+RCT(351)*V(331)+RCT(355)*V(284)+RCT(384)*V(277)+RCT(391)*V(257)+RCT(398)*V(278)& &+RCT(404)*V(275)+RCT(410)*V(273)+RCT(417)*V(281)+RCT(430)*V(272)+RCT(436)*V(274)+RCT(443)*V(291)+RCT(470)& &*V(280)+RCT(471)*V(289)+RCT(498)*V(305)+RCT(499)*V(305)+RCT(500)*V(304)+RCT(501)*V(304)+RCT(542)*V(223)& &+RCT(546)*V(224)+RCT(550)*V(232)+RCT(558)*V(286)+RCT(565)*V(285)+RCT(566)*V(243)+RCT(571)*V(133)+RCT(573)& &*V(135)+RCT(585)*V(205)+RCT(589)*V(190)+RCT(594)*V(206)+RCT(597)*V(207)+RCT(600)*V(293)+RCT(604)*V(310)& &+RCT(605)*V(311)+RCT(631)*V(271)+RCT(632)*V(226)+RCT(640)*V(182)+RCT(643)*V(180)+RCT(656)*V(171)+RCT(659)& &*V(172)+RCT(667)*V(254)+RCT(670)*V(253)+RCT(671)*V(259)+RCT(678)*V(308)+RCT(695)*V(324)+RCT(699)*V(18)& &+RCT(710)*V(189)+RCT(715)*V(234)+RCT(727)*V(263)+RCT(734)*V(121)+RCT(737)*V(240)+RCT(750)*V(235)+RCT(759)& &*V(236)+RCT(773)*V(13)+RCT(775)*V(22)+RCT(777)*V(27)+RCT(781) IF (DO_FUN(338)) & D_VAR(338) = RCT(274)*V(328)+RCT(275)*V(345)+RCT(276)*V(345)+RCT(298)*V(343)+RCT(299)*V(337)+RCT(300)*V(346)+RCT(301)& &*V(335)+RCT(302)*2*V(338)+RCT(303)*2*V(338)+RCT(304)*2*V(338)+RCT(307)*2*V(338)+RCT(310)*V(347)+RCT(311)& &*V(347)+RCT(312)*V(347)+RCT(349)*V(284)+RCT(944) IF (DO_FUN(339)) & D_VAR(339) = RCT(2)*V(179)+RCT(5)*V(166)+RCT(253)*V(334)+RCT(279)*V(345)+RCT(787)*V(214)+RCT(794)*V(218)+RCT(796)& &*V(317)+RCT(804)*V(297)+RCT(808)*V(333)+RCT(814)*V(316) IF (DO_FUN(340)) & D_VAR(340) = RCT(291)*V(228)+RCT(292)*V(325)+RCT(293)*V(341)+RCT(294)*F(1)+RCT(295)*V(264)+RCT(296)*V(337)+RCT(297)& &*V(337)+RCT(305)*F(3)+RCT(309)*V(110)+RCT(314)*V(317)+RCT(315)*V(181)+RCT(316)*V(79)+RCT(317)*V(75)& &+RCT(318)*V(265)+RCT(319)*V(328)+RCT(320)*V(164)+RCT(321)*V(183)+RCT(322)*V(296)+RCT(323)*V(315)+RCT(324)& &*V(282)+RCT(325)*V(156)+RCT(326)*V(283)+RCT(327)*V(141)+RCT(328)*V(141)+RCT(329)*V(295)+RCT(330)*V(276)& &+RCT(331)*V(142)+RCT(332)*V(290) IF (DO_FUN(341)) & D_VAR(341) = RCT(1)*V(179)*V(348)+RCT(4)*V(166)*V(348)+RCT(8)*V(348)+RCT(13)*V(346)+RCT(14)*V(345)+RCT(15)*V(337)& &+RCT(16)*V(335)+RCT(17)*V(328)+RCT(77)*V(140)+RCT(150)*V(290)+RCT(203)*V(342)+RCT(233)*V(343)+RCT(237)& &*V(334)+RCT(246)*V(217)+RCT(293)*V(340)+RCT(350)*V(331)+RCT(367)*V(312)+RCT(379)*V(167)+RCT(381)*V(219)& &+RCT(383)*V(191)+RCT(421)*V(255)+RCT(424)*V(237)+RCT(427)*V(211)+RCT(448)*V(229)+RCT(451)*V(193)+RCT(454)& &*V(262)+RCT(483)*V(242)+RCT(493)*V(276)+RCT(645)*V(314)+RCT(648)*V(309)+RCT(704)*V(220)+RCT(712)*V(109)& &+RCT(746)*V(202)+RCT(761)*V(203)+RCT(768)*V(221)+RCT(771)*V(201)+RCT(820)*V(352)+RCT(821)*V(349)+RCT(822)& &*V(350)+RCT(882)+RCT(883) IF (DO_FUN(342)) & D_VAR(342) = RCT(203)*V(341)+RCT(205)*V(337)+RCT(210)*V(218)+RCT(215)*V(351)+RCT(216)*V(325)+RCT(217)*V(326)+RCT(218)& &*V(295)+RCT(219)*V(183)+RCT(220)*V(141)+RCT(221)*V(335)+RCT(333)*V(290) IF (DO_FUN(343)) & D_VAR(343) = RCT(212)*V(316)+RCT(213)*V(352)+RCT(232)*F(3)+RCT(233)*V(341)+RCT(235)*V(345)+RCT(236)*V(337)+RCT(238)& &*V(68)+RCT(240)*V(335)+RCT(241)*V(351)+RCT(242)*V(346)+RCT(243)*V(335)+RCT(244)*V(264)+RCT(251)*V(347)& &+RCT(252)*V(325)+RCT(298)*V(338)+RCT(313)*V(317) IF (DO_FUN(344)) & D_VAR(344) = RCT(790)*V(214)+RCT(792)*V(345)+RCT(801)*V(317)+RCT(803)*V(297)+RCT(811)*V(333)+RCT(816)*V(316)+RCT(847)& &*V(252)+RCT(851)*V(332)+RCT(855)*V(330) IF (DO_FUN(345)) & D_VAR(345) = RCT(12)*V(89)*V(348)+RCT(14)*V(341)+RCT(18)*2*V(345)+RCT(19)*2*V(345)+RCT(20)*V(337)+RCT(21)*V(264)& &+RCT(24)*V(329)+RCT(25)*V(228)+RCT(31)*V(328)+RCT(32)*V(164)+RCT(33)*V(244)+RCT(34)*V(325)+RCT(35)*V(335)& &+RCT(36)*V(327)+RCT(37)*V(346)+RCT(38)*V(239)+RCT(41)*V(108)+RCT(44)*V(351)+RCT(47)*V(265)+RCT(48)*V(282)& &+RCT(51)*V(326)+RCT(55)*V(139)+RCT(57)*V(183)+RCT(61)*V(141)+RCT(62)*V(141)+RCT(66)*V(69)+RCT(71)*V(98)& &+RCT(72)*V(196)+RCT(75)*V(140)+RCT(80)*V(127)+RCT(81)*V(233)+RCT(88)*V(126)+RCT(89)*V(142)+RCT(102)*V(251)& &+RCT(103)*V(279)+RCT(104)*V(283)+RCT(105)*V(298)+RCT(108)*V(124)+RCT(111)*V(295)+RCT(122)*V(292)+4.51e-12& &*V(113)+RCT(140)*V(156)+RCT(141)*V(188)+RCT(149)*V(290)+RCT(151)*V(306)+RCT(152)*V(306)+RCT(153)*V(306)& &+RCT(160)*V(114)+RCT(161)*V(72)+RCT(163)*V(270)+RCT(164)*V(294)+RCT(167)*V(307)+RCT(168)*V(307)+RCT(169)& &*V(125)+RCT(170)*V(118)+RCT(171)*V(99)+RCT(172)*V(100)+RCT(173)*V(97)+RCT(174)*V(102)+RCT(175)*V(155)& &+RCT(176)*V(123)+RCT(177)*V(24)+RCT(178)*V(92)+RCT(199)*V(94)+RCT(200)*V(94)+RCT(202)*V(348)+RCT(206)& &*V(352)+RCT(211)*V(148)+RCT(214)*V(347)+RCT(223)*V(81)+RCT(224)*V(78)+RCT(225)*V(105)+RCT(234)*F(1)& &+RCT(235)*V(343)+RCT(239)*V(68)+RCT(273)*V(245)+RCT(275)*V(338)+RCT(276)*V(338)+RCT(277)*V(120)+RCT(278)& &*V(76)+RCT(279)*V(339)+RCT(280)*V(333)+RCT(281)*V(297)+RCT(282)*V(317)+RCT(283)*V(181)+RCT(284)*V(79)& &+RCT(285)*V(75)+RCT(286)*V(43)+RCT(287)*V(87)+RCT(288)*V(85)+RCT(289)*V(86)+RCT(290)*V(84)+RCT(352)*V(170)& &+RCT(353)*V(73)+RCT(354)*V(330)+RCT(359)*V(52)+RCT(360)*V(261)+RCT(361)*V(247)+RCT(378)*V(167)+RCT(380)& &*V(219)+RCT(382)*V(191)+RCT(387)*V(111)+RCT(388)*V(137)+RCT(390)*V(225)+RCT(396)*V(74)+RCT(397)*V(66)& &+RCT(402)*V(160)+RCT(403)*V(176)+RCT(407)*V(138)+RCT(408)*V(112)+RCT(409)*V(129)+RCT(415)*V(161)+RCT(416)& &*V(162)+RCT(420)*V(255)+RCT(423)*V(237)+RCT(426)*V(211)+RCT(433)*V(163)+RCT(435)*V(177)+RCT(441)*V(169)& &+RCT(442)*V(130)+RCT(447)*V(229)+RCT(450)*V(193)+RCT(453)*V(262)+RCT(481)*V(256)+RCT(482)*V(242)+RCT(488)& &*V(154)+RCT(489)*V(93)+RCT(490)*V(83)+RCT(491)*V(91)+RCT(492)*V(95)+RCT(494)*V(276)+RCT(495)*V(276)& &+RCT(496)*V(276)+RCT(497)*V(276)+RCT(524)*V(230)+RCT(525)*V(231)+RCT(526)*V(150)+RCT(527)*V(144)+RCT(528)& &*V(238)+RCT(529)*V(215)+RCT(530)*V(119)+RCT(531)*V(187)+RCT(532)*V(187)+RCT(533)*V(192)+RCT(534)*V(192)& &+RCT(535)*V(187)+RCT(536)*V(192)+RCT(537)*V(209)+RCT(538)*V(199)+RCT(551)*V(128)+RCT(552)*V(151)+RCT(553)& &*V(151)+RCT(554)*V(152)+RCT(555)*V(152)+RCT(574)*V(175)+RCT(575)*V(175)+RCT(576)*V(168)+RCT(577)*V(168)& &+RCT(578)*V(268)+RCT(579)*V(268)+RCT(580)*V(267)+RCT(581)*V(267)+RCT(582)*V(268)+RCT(583)*V(267)+RCT(621)& &*V(222)+RCT(622)*V(186)+RCT(623)*V(222)+RCT(624)*V(186)+RCT(625)*V(186)+RCT(626)*V(222)+RCT(627)*V(186)& &+RCT(628)*V(186)+RCT(637)*V(301)+RCT(638)*V(301)+RCT(641)*V(299)+RCT(644)*V(314)+RCT(646)*V(309)+RCT(647)& &*V(309)+RCT(650)*V(302)+RCT(651)*V(288)+RCT(652)*V(287)+RCT(653)*V(248)+RCT(654)*V(216)+RCT(661)*V(194)& &+RCT(662)*V(185)+RCT(663)*V(131)+RCT(664)*V(227)+RCT(665)*V(208)+RCT(666)*V(153)+RCT(672)*V(159)+RCT(684)& &*V(184)+RCT(685)*V(107)+RCT(686)*V(258)+RCT(687)*V(147)+RCT(688)*V(174)+RCT(689)*V(198)+RCT(690)*V(266)& &+RCT(691)*V(303)+RCT(693)*V(115)+RCT(694)*V(88)+RCT(696)*V(210)+RCT(697)*V(210)+RCT(698)*V(19)+RCT(701)& &*V(173)+RCT(702)*V(220)+RCT(705)*V(149)+RCT(707)*V(200)+RCT(711)*V(116)+RCT(713)*V(109)+RCT(714)*V(60)& &+RCT(721)*V(70)+RCT(722)*V(136)+RCT(723)*V(136)+RCT(724)*V(143)+RCT(725)*V(82)+RCT(726)*V(101)+RCT(732)& &*V(58)+7.09e-11*V(146)+RCT(740)*V(122)+RCT(741)*V(195)+RCT(743)*V(158)+RCT(745)*V(202)+RCT(748)*V(204)& &+RCT(753)*V(71)+RCT(755)*V(90)+RCT(760)*V(117)+RCT(763)*V(269)+RCT(767)*V(221)+RCT(770)*V(201)+RCT(780)& &*V(41)+RCT(791)*V(353)+RCT(792)*V(344) IF (DO_FUN(346)) & D_VAR(346) = RCT(13)*V(341)+RCT(22)*V(337)+RCT(26)*V(328)+RCT(27)*V(328)+RCT(37)*V(345)+RCT(43)*V(351)+RCT(56)*V(324)& &+RCT(58)*V(296)+RCT(59)*V(296)+RCT(60)*V(315)+RCT(63)*V(321)+RCT(64)*V(321)+RCT(65)*V(260)+RCT(68)*V(178)& &+RCT(69)*V(178)+RCT(73)*V(165)+RCT(78)*V(212)+RCT(82)*V(132)+RCT(85)*V(197)+RCT(90)*V(300)+RCT(91)*V(300)& &+RCT(92)*V(249)+RCT(93)*V(319)+RCT(94)*V(319)+RCT(95)*V(318)+RCT(96)*V(313)+RCT(97)*V(320)+RCT(98)*V(323)& &+RCT(99)*V(323)+RCT(100)*V(250)+RCT(109)*V(322)+RCT(123)*V(320)+RCT(127)*V(246)+RCT(157)*V(213)+RCT(209)& &*V(347)+RCT(242)*V(343)+RCT(249)*V(67)+RCT(300)*V(338)+RCT(334)*V(331)+RCT(348)*V(96)+RCT(356)*V(284)& &+RCT(363)*V(312)+RCT(370)*V(241)+RCT(385)*V(277)+RCT(392)*V(257)+RCT(399)*V(278)+RCT(405)*V(275)+RCT(411)& &*V(273)+RCT(412)*V(273)+RCT(418)*V(281)+RCT(429)*V(272)+RCT(437)*V(274)+RCT(444)*V(291)+RCT(445)*V(291)& &+RCT(468)*V(280)+RCT(469)*V(289)+RCT(516)*V(305)+RCT(517)*V(305)+RCT(518)*V(305)+RCT(519)*V(305)+RCT(520)& &*V(304)+RCT(521)*V(304)+RCT(522)*V(304)+RCT(523)*V(304)+RCT(540)*V(223)+RCT(541)*V(223)+RCT(544)*V(224)& &+RCT(545)*V(224)+RCT(548)*V(232)+RCT(549)*V(232)+RCT(559)*V(286)+RCT(560)*V(286)+RCT(563)*V(285)+RCT(564)& &*V(285)+RCT(567)*V(243)+RCT(568)*V(243)+RCT(570)*V(133)+RCT(572)*V(135)+RCT(586)*V(205)+RCT(587)*V(205)& &+RCT(590)*V(190)+RCT(591)*V(190)+RCT(595)*V(206)+RCT(596)*V(206)+RCT(598)*V(207)+RCT(599)*V(207)+RCT(601)& &*V(293)+RCT(602)*V(293)+RCT(615)*V(310)+RCT(616)*V(310)+RCT(617)*V(311)+RCT(618)*V(311)+RCT(633)*V(271)& &+RCT(634)*V(271)+RCT(635)*V(226)+RCT(636)*V(226)+RCT(639)*V(182)+RCT(642)*V(180)+RCT(655)*V(171)+RCT(658)& &*V(172)+RCT(668)*V(254)+RCT(669)*V(254)+RCT(674)*V(253)+RCT(675)*V(253)+RCT(676)*V(259)+RCT(679)*V(308)& &+RCT(700)*V(18)+RCT(709)*V(189)+RCT(716)*V(234)+RCT(728)*V(263)+RCT(733)*V(121)+RCT(736)*V(240)+RCT(751)& &*V(235)+RCT(757)*V(236)+RCT(774)*V(13)+RCT(776)*V(22)+RCT(778)*V(27)+RCT(988) IF (DO_FUN(347)) & D_VAR(347) = RCT(204)*V(337)+RCT(207)*2*V(347)+RCT(208)*2*V(347)+RCT(209)*V(346)+RCT(214)*V(345)+RCT(222)*V(335)& &+RCT(251)*V(343)+RCT(310)*V(338)+RCT(311)*V(338)+RCT(312)*V(338)+RCT(343)*V(331)+RCT(344)*V(284)+RCT(932) IF (DO_FUN(348)) & D_VAR(348) = RCT(1)*V(179)*V(341)+RCT(4)*V(166)*V(341)+RCT(7)*V(264)+RCT(8)*V(341)+RCT(9)+RCT(10)*V(325)+RCT(12)*V(89)& &*V(345)+RCT(202)*V(345)+RCT(368)*V(312)+RCT(372)*V(241)+RCT(812)*V(333)+RCT(819)*V(316) IF (DO_FUN(349)) & D_VAR(349) = RCT(798)*V(317)+RCT(805)*V(297)+RCT(817)*V(316)+RCT(821)*V(341)+RCT(844)*V(252)+RCT(848)*V(332)+RCT(852)& &*V(330) IF (DO_FUN(350)) & D_VAR(350) = RCT(799)*V(317)+RCT(806)*V(297)+RCT(818)*V(316)+RCT(822)*V(341)+RCT(845)*V(252)+RCT(849)*V(332)+RCT(853)& &*V(330) IF (DO_FUN(351)) & D_VAR(351) = RCT(42)*V(337)+RCT(43)*V(346)+RCT(44)*V(345)+RCT(45)*V(335)+RCT(49)*V(335)+RCT(50)*V(325)+RCT(52)*V(326)& &+RCT(67)*V(69)+RCT(76)*V(140)+RCT(101)*V(142)+RCT(110)*V(298)+RCT(131)*V(292)+RCT(154)*V(306)+RCT(159)& &*V(213)+RCT(162)*V(290)+RCT(165)*V(270)+RCT(166)*V(294)+RCT(179)*V(183)+RCT(196)*2*V(351)+RCT(201)*V(94)& &+RCT(215)*V(342)+RCT(241)*V(343)+RCT(339)*V(170)+RCT(375)*V(191)+RCT(376)*V(219)+RCT(377)*V(167)+RCT(386)& &*V(277)+RCT(389)*V(225)+RCT(395)*V(257)+RCT(400)*V(278)+RCT(406)*V(275)+RCT(414)*V(273)+RCT(419)*V(281)& &+RCT(422)*V(255)+RCT(425)*V(237)+RCT(428)*V(211)+RCT(431)*V(272)+RCT(434)*V(163)+RCT(440)*V(274)+RCT(446)& &*V(291)+RCT(449)*V(229)+RCT(452)*V(193)+RCT(455)*V(262)+RCT(476)*V(280)+RCT(477)*V(289)+RCT(484)*V(242)& &+RCT(485)*V(256)+RCT(603)*V(276)+RCT(613)*V(310)+RCT(614)*V(311)+RCT(649)*V(309)+RCT(681)*V(308)+RCT(692)& &*V(261)+RCT(703)*V(220)+RCT(706)*V(149)+RCT(708)*V(200)+RCT(717)*V(234)+RCT(729)*V(263)+RCT(742)*V(195)& &+RCT(744)*V(158)+RCT(747)*V(202)+RCT(749)*V(204)+RCT(758)*V(236)+RCT(764)*V(269)+RCT(779)*V(328)+RCT(783)& &+RCT(784)+RCT(785)+RCT(894)+RCT(895) IF (DO_FUN(352)) & D_VAR(352) = RCT(206)*V(345)+RCT(213)*V(343)+RCT(254)*V(334)+RCT(797)*V(317)+RCT(807)*V(297)+RCT(809)*V(333)+RCT(813)& &*V(316)+RCT(820)*V(341)+RCT(823)+RCT(824) IF (DO_FUN(353)) & D_VAR(353) = RCT(789)*V(214)+RCT(791)*V(345)+RCT(800)*V(317)+RCT(802)*V(297)+RCT(810)*V(333)+RCT(815)*V(316)+RCT(846)& &*V(252)+RCT(850)*V(332)+RCT(854)*V(330) Vdot = P_VAR - D_VAR*V END SUBROUTINE Fun_SPLIT ! End of Fun_SPLIT function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Fun_SPLITF - time derivatives of variables - Split form ! same as Fun_Split, but does not react to DO_FUN. ! Arguments : ! V - Concentrations of variable species (local) ! F - Concentrations of fixed species (local) ! RCT - Rate constants (local) ! P_VAR - Production term ! D_VAR - Destruction term ! Aout - Array to return rxn rates for diagnostics (OPTIONAL) ! Haipeng Lin (hplin) - Apr 10 2022 KPP 3.0.0-AR ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Fun_SPLITF ( V, F, RCT, P_VAR, D_VAR, Aout ) ! V - Concentrations of variable species (local) REAL(kind=dp) :: V(NVAR) ! F - Concentrations of fixed species (local) REAL(kind=dp) :: F(NFIX) ! RCT - Rate constants (local) REAL(kind=dp) :: RCT(NREACT) ! P_VAR - Production term REAL(kind=dp) :: P_VAR(NVAR) ! D_VAR - Destruction term REAL(kind=dp) :: D_VAR(NVAR) !### Aout - Array for returning KPP reaction rates for diagnostics REAL(kind=dp), OPTIONAL :: Aout(NREACT) ! Computation of equation rates A(1) = RCT(1)*V(179)*V(341)*V(348) A(2) = RCT(2)*V(179)*V(339) A(3) = RCT(3)*V(179)*V(327) A(4) = RCT(4)*V(166)*V(341)*V(348) A(5) = RCT(5)*V(166)*V(339) A(6) = RCT(6)*V(166)*V(327) A(7) = RCT(7)*V(264)*V(348) A(8) = RCT(8)*V(341)*V(348) A(9) = RCT(9)*V(348) A(10) = RCT(10)*V(325)*V(348) A(11) = RCT(11)*V(89) A(12) = RCT(12)*V(89)*V(345)*V(348) A(13) = RCT(13)*V(341)*V(346) A(14) = RCT(14)*V(341)*V(345) A(15) = RCT(15)*V(337)*V(341) A(16) = RCT(16)*V(335)*V(341) A(17) = RCT(17)*V(328)*V(341) A(18) = RCT(18)*V(345)*V(345) A(19) = RCT(19)*V(345)*V(345) A(20) = RCT(20)*V(337)*V(345) A(21) = RCT(21)*V(264)*V(345) A(22) = RCT(22)*V(337)*V(346) A(23) = RCT(23)*V(337)*V(337) A(24) = RCT(24)*V(329)*V(345) A(25) = RCT(25)*V(228)*V(345) A(26) = RCT(26)*V(328)*V(346) A(27) = RCT(27)*V(328)*V(346) A(28) = RCT(28)*V(328)*V(337) A(29) = RCT(29)*V(328)*V(328) A(30) = RCT(30)*V(328)*V(328) A(31) = RCT(31)*V(328)*V(345) A(32) = RCT(32)*V(164)*V(345) A(33) = RCT(33)*V(244)*V(345) A(34) = RCT(34)*V(325)*V(345) A(35) = RCT(35)*V(335)*V(345) A(36) = RCT(36)*V(327)*V(345) A(37) = RCT(37)*V(345)*V(346) A(38) = RCT(38)*V(239)*V(345) A(39) = RCT(39)*V(335)*V(337) A(40) = RCT(40)*V(108) A(41) = RCT(41)*V(108)*V(345) A(42) = RCT(42)*V(337)*V(351) A(43) = RCT(43)*V(346)*V(351) A(44) = RCT(44)*V(345)*V(351) A(45) = RCT(45)*V(335)*V(351) A(46) = RCT(46)*V(214) A(47) = RCT(47)*V(265)*V(345) A(48) = RCT(48)*V(282)*V(345) A(49) = RCT(49)*V(335)*V(351) A(50) = RCT(50)*V(325)*V(351) A(51) = RCT(51)*V(326)*V(345) A(52) = RCT(52)*V(326)*V(351) A(53) = RCT(53)*V(324)*V(335) A(54) = RCT(54)*V(139) A(55) = RCT(55)*V(139)*V(345) A(56) = RCT(56)*V(324)*V(346) A(57) = RCT(57)*V(183)*V(345) A(58) = RCT(58)*V(296)*V(346) A(59) = RCT(59)*V(296)*V(346) A(60) = RCT(60)*V(315)*V(346) A(61) = RCT(61)*V(141)*V(345) A(62) = RCT(62)*V(141)*V(345) A(63) = RCT(63)*V(321)*V(346) A(64) = RCT(64)*V(321)*V(346) A(65) = RCT(65)*V(260)*V(346) A(66) = RCT(66)*V(69)*V(345) A(67) = RCT(67)*V(69)*V(351) A(68) = RCT(68)*V(178)*V(346) A(69) = RCT(69)*V(178)*V(346) A(70) = RCT(70)*V(178)*V(337) A(71) = RCT(71)*V(98)*V(345) A(72) = RCT(72)*V(196)*V(345) A(73) = RCT(73)*V(165)*V(346) A(74) = RCT(74)*V(165)*V(337) A(75) = RCT(75)*V(140)*V(345) A(76) = RCT(76)*V(140)*V(351) A(77) = RCT(77)*V(140)*V(341) A(78) = RCT(78)*V(212)*V(346) A(79) = RCT(79)*V(212)*V(337) A(80) = RCT(80)*V(127)*V(345) A(81) = RCT(81)*V(233)*V(345) A(82) = RCT(82)*V(132)*V(346) A(83) = RCT(83)*V(132)*V(337) A(84) = RCT(84)*V(197)*V(337) A(85) = RCT(85)*V(197)*V(346) A(86) = RCT(86)*V(197)*V(335) A(87) = RCT(87)*V(126) A(88) = RCT(88)*V(126)*V(345) A(89) = RCT(89)*V(142)*V(345) A(90) = RCT(90)*V(300)*V(346) A(91) = RCT(91)*V(300)*V(346) A(92) = RCT(92)*V(249)*V(346) A(93) = RCT(93)*V(319)*V(346) A(94) = RCT(94)*V(319)*V(346) A(95) = RCT(95)*V(318)*V(346) A(96) = RCT(96)*V(313)*V(346) A(97) = RCT(97)*V(320)*V(346) A(98) = RCT(98)*V(323)*V(346) A(99) = RCT(99)*V(323)*V(346) A(100) = RCT(100)*V(250)*V(346) A(101) = RCT(101)*V(142)*V(351) A(102) = RCT(102)*V(251)*V(345) A(103) = RCT(103)*V(279)*V(345) A(104) = RCT(104)*V(283)*V(345) A(105) = RCT(105)*V(298)*V(345) A(106) = RCT(106)*V(322)*V(335) A(107) = RCT(107)*V(124) A(108) = RCT(108)*V(124)*V(345) A(109) = RCT(109)*V(322)*V(346) A(110) = RCT(110)*V(298)*V(351) A(111) = RCT(111)*V(295)*V(345) A(112) = RCT(112)*V(321)*V(328) A(113) = RCT(113)*V(260)*V(328) A(114) = RCT(114)*V(319)*V(337) A(115) = RCT(115)*V(318)*V(337) A(116) = RCT(116)*V(300)*V(337) A(117) = RCT(117)*V(249)*V(337) A(118) = RCT(118)*V(313)*V(337) A(119) = RCT(119)*V(320)*V(337) A(120) = RCT(120)*V(323)*V(337) A(121) = RCT(121)*V(250)*V(337) A(122) = RCT(122)*V(292)*V(345) A(123) = RCT(123)*V(320)*V(346) A(124) = RCT(124)*V(246)*V(335) A(125) = RCT(125)*V(113) A(126) = 4.51e-12*V(113)*V(345) A(127) = RCT(127)*V(246)*V(346) A(128) = RCT(128)*V(246)*V(337) A(129) = RCT(129)*V(296)*V(328) A(130) = RCT(130)*V(315)*V(328) A(131) = RCT(131)*V(292)*V(351) A(132) = RCT(132)*V(319)*V(328) A(133) = RCT(133)*V(318)*V(328) A(134) = RCT(134)*V(300)*V(328) A(135) = RCT(135)*V(249)*V(328) A(136) = RCT(136)*V(313)*V(328) A(137) = RCT(137)*V(320)*V(328) A(138) = RCT(138)*V(323)*V(328) A(139) = RCT(139)*V(250)*V(328) A(140) = RCT(140)*V(156)*V(345) A(141) = RCT(141)*V(188)*V(345) A(142) = RCT(142)*V(296)*V(296) A(143) = RCT(143)*V(315)*V(315) A(144) = RCT(144)*V(296)*V(337) A(145) = RCT(145)*V(315)*V(337) A(146) = RCT(146)*V(321)*V(337) A(147) = RCT(147)*V(260)*V(337) A(148) = RCT(148)*V(322)*V(337) A(149) = RCT(149)*V(290)*V(345) A(150) = RCT(150)*V(290)*V(341) A(151) = RCT(151)*V(306)*V(345) A(152) = RCT(152)*V(306)*V(345) A(153) = RCT(153)*V(306)*V(345) A(154) = RCT(154)*V(306)*V(351) A(155) = RCT(155)*V(213)*V(335) A(156) = RCT(156)*V(114) A(157) = RCT(157)*V(213)*V(346) A(158) = RCT(158)*V(213)*V(337) A(159) = RCT(159)*V(213)*V(351) A(160) = RCT(160)*V(114)*V(345) A(161) = RCT(161)*V(72)*V(345) A(162) = RCT(162)*V(290)*V(351) A(163) = RCT(163)*V(270)*V(345) A(164) = RCT(164)*V(294)*V(345) A(165) = RCT(165)*V(270)*V(351) A(166) = RCT(166)*V(294)*V(351) A(167) = RCT(167)*V(307)*V(345) A(168) = RCT(168)*V(307)*V(345) A(169) = RCT(169)*V(125)*V(345) A(170) = RCT(170)*V(118)*V(345) A(171) = RCT(171)*V(99)*V(345) A(172) = RCT(172)*V(100)*V(345) A(173) = RCT(173)*V(97)*V(345) A(174) = RCT(174)*V(102)*V(345) A(175) = RCT(175)*V(155)*V(345) A(176) = RCT(176)*V(123)*V(345) A(177) = RCT(177)*V(24)*V(345) A(178) = RCT(178)*V(92)*V(345) A(179) = RCT(179)*V(183)*V(351) A(180) = RCT(180)*V(324)*V(324) A(181) = RCT(181)*V(324)*V(328) A(182) = RCT(182)*V(319)*V(324) A(183) = RCT(183)*V(300)*V(324) A(184) = RCT(184)*V(313)*V(324) A(185) = RCT(185)*V(320)*V(324) A(186) = RCT(186)*V(323)*V(324) A(187) = RCT(187)*V(318)*V(324) A(188) = RCT(188)*V(249)*V(324) A(189) = RCT(189)*V(250)*V(324) A(190) = RCT(190)*V(296)*V(324) A(191) = RCT(191)*V(315)*V(324) A(192) = RCT(192)*V(260)*V(324) A(193) = RCT(193)*V(321)*V(324) A(194) = RCT(194)*V(322)*V(324) A(195) = RCT(195)*V(322)*V(328) A(196) = RCT(196)*V(351)*V(351) A(197) = RCT(197)*V(328)*V(335) A(198) = RCT(198)*V(80) A(199) = RCT(199)*V(94)*V(345) A(200) = RCT(200)*V(94)*V(345) A(201) = RCT(201)*V(94)*V(351) A(202) = RCT(202)*V(345)*V(348) A(203) = RCT(203)*V(341)*V(342) A(204) = RCT(204)*V(337)*V(347) A(205) = RCT(205)*V(337)*V(342) A(206) = RCT(206)*V(345)*V(352) A(207) = RCT(207)*V(347)*V(347) A(208) = RCT(208)*V(347)*V(347) A(209) = RCT(209)*V(346)*V(347) A(210) = RCT(210)*V(218)*V(342) A(211) = RCT(211)*V(148)*V(345) A(212) = RCT(212)*V(316)*V(343) A(213) = RCT(213)*V(343)*V(352) A(214) = RCT(214)*V(345)*V(347) A(215) = RCT(215)*V(342)*V(351) A(216) = RCT(216)*V(325)*V(342) A(217) = RCT(217)*V(326)*V(342) A(218) = RCT(218)*V(295)*V(342) A(219) = RCT(219)*V(183)*V(342) A(220) = RCT(220)*V(141)*V(342) A(221) = RCT(221)*V(335)*V(342) A(222) = RCT(222)*V(335)*V(347) A(223) = RCT(223)*V(81)*V(345) A(224) = RCT(224)*V(78)*V(345) A(225) = RCT(225)*V(105)*V(345) A(226) = RCT(226)*V(334)*V(336) A(227) = RCT(227)*V(334)*F(2) A(228) = RCT(228)*V(334)*F(3) A(229) = RCT(229)*V(334)*F(1) A(230) = RCT(230)*V(63)*V(334) A(231) = RCT(231)*V(228)*V(334) A(232) = RCT(232)*V(343)*F(3) A(233) = RCT(233)*V(341)*V(343) A(234) = RCT(234)*V(345)*F(1) A(235) = RCT(235)*V(343)*V(345) A(236) = RCT(236)*V(337)*V(343) A(237) = RCT(237)*V(334)*V(341) A(238) = RCT(238)*V(68)*V(343) A(239) = RCT(239)*V(68)*V(345) A(240) = RCT(240)*V(335)*V(343) A(241) = RCT(241)*V(343)*V(351) A(242) = RCT(242)*V(343)*V(346) A(243) = RCT(243)*V(335)*V(343) A(244) = RCT(244)*V(264)*V(343) A(245) = RCT(245)*V(217)*F(3) A(246) = RCT(246)*V(217)*V(341) A(247) = RCT(247)*V(217)*V(337) A(248) = RCT(248)*V(67)*F(3) A(249) = RCT(249)*V(67)*V(346) A(250) = RCT(250)*V(67)*V(335) A(251) = RCT(251)*V(343)*V(347) A(252) = RCT(252)*V(325)*V(343) A(253) = RCT(253)*V(334)*V(339) A(254) = RCT(254)*V(334)*V(352) A(255) = RCT(255)*V(245)*V(334) A(256) = RCT(256)*V(46)*V(334) A(257) = RCT(257)*V(181)*V(334) A(258) = RCT(258)*V(105)*V(334) A(259) = RCT(259)*V(78)*V(334) A(260) = RCT(260)*V(81)*V(334) A(261) = RCT(261)*V(87)*V(334) A(262) = RCT(262)*V(47)*V(334) A(263) = RCT(263)*V(48)*V(334) A(264) = RCT(264)*V(61)*V(334) A(265) = RCT(265)*V(53)*V(334) A(266) = RCT(266)*V(85)*V(334) A(267) = RCT(267)*V(86)*V(334) A(268) = RCT(268)*V(84)*V(334) A(269) = RCT(269)*V(49)*V(334) A(270) = RCT(270)*V(50)*V(334) A(271) = RCT(271)*V(51)*V(334) A(272) = RCT(272)*V(54)*V(334) A(273) = RCT(273)*V(245)*V(345) A(274) = RCT(274)*V(328)*V(338) A(275) = RCT(275)*V(338)*V(345) A(276) = RCT(276)*V(338)*V(345) A(277) = RCT(277)*V(120)*V(345) A(278) = RCT(278)*V(76)*V(345) A(279) = RCT(279)*V(339)*V(345) A(280) = RCT(280)*V(333)*V(345) A(281) = RCT(281)*V(297)*V(345) A(282) = RCT(282)*V(317)*V(345) A(283) = RCT(283)*V(181)*V(345) A(284) = RCT(284)*V(79)*V(345) A(285) = RCT(285)*V(75)*V(345) A(286) = RCT(286)*V(43)*V(345) A(287) = RCT(287)*V(87)*V(345) A(288) = RCT(288)*V(85)*V(345) A(289) = RCT(289)*V(86)*V(345) A(290) = RCT(290)*V(84)*V(345) A(291) = RCT(291)*V(228)*V(340) A(292) = RCT(292)*V(325)*V(340) A(293) = RCT(293)*V(340)*V(341) A(294) = RCT(294)*V(340)*F(1) A(295) = RCT(295)*V(264)*V(340) A(296) = RCT(296)*V(337)*V(340) A(297) = RCT(297)*V(337)*V(340) A(298) = RCT(298)*V(338)*V(343) A(299) = RCT(299)*V(337)*V(338) A(300) = RCT(300)*V(338)*V(346) A(301) = RCT(301)*V(335)*V(338) A(302) = RCT(302)*V(338)*V(338) A(303) = RCT(303)*V(338)*V(338) A(304) = RCT(304)*V(338)*V(338) A(305) = RCT(305)*V(340)*F(3) A(306) = RCT(306)*V(110) A(307) = RCT(307)*V(338)*V(338) A(308) = RCT(308)*V(76) A(309) = RCT(309)*V(110)*V(340) A(310) = RCT(310)*V(338)*V(347) A(311) = RCT(311)*V(338)*V(347) A(312) = RCT(312)*V(338)*V(347) A(313) = RCT(313)*V(317)*V(343) A(314) = RCT(314)*V(317)*V(340) A(315) = RCT(315)*V(181)*V(340) A(316) = RCT(316)*V(79)*V(340) A(317) = RCT(317)*V(75)*V(340) A(318) = RCT(318)*V(265)*V(340) A(319) = RCT(319)*V(328)*V(340) A(320) = RCT(320)*V(164)*V(340) A(321) = RCT(321)*V(183)*V(340) A(322) = RCT(322)*V(296)*V(340) A(323) = RCT(323)*V(315)*V(340) A(324) = RCT(324)*V(282)*V(340) A(325) = RCT(325)*V(156)*V(340) A(326) = RCT(326)*V(283)*V(340) A(327) = RCT(327)*V(141)*V(340) A(328) = RCT(328)*V(141)*V(340) A(329) = RCT(329)*V(295)*V(340) A(330) = RCT(330)*V(276)*V(340) A(331) = RCT(331)*V(142)*V(340) A(332) = RCT(332)*V(290)*V(340) A(333) = RCT(333)*V(290)*V(342) A(334) = RCT(334)*V(331)*V(346) A(335) = RCT(335)*V(62)*V(62) A(336) = RCT(336)*V(331)*V(335) A(337) = RCT(337)*V(252) A(338) = RCT(338)*V(252)*V(252) A(339) = RCT(339)*V(170)*V(351) A(340) = RCT(340)*V(284)*V(335) A(341) = RCT(341)*V(332) A(342) = RCT(342)*V(331)*V(332) A(343) = RCT(343)*V(331)*V(347) A(344) = RCT(344)*V(284)*V(347) A(345) = RCT(345)*V(96)*V(284) A(346) = RCT(346)*V(96)*V(96) A(347) = RCT(347)*V(42) A(348) = RCT(348)*V(96)*V(346) A(349) = RCT(349)*V(284)*V(338) A(350) = RCT(350)*V(331)*V(341) A(351) = RCT(351)*V(331)*V(337) A(352) = RCT(352)*V(170)*V(345) A(353) = RCT(353)*V(73)*V(345) A(354) = RCT(354)*V(330)*V(345) A(355) = RCT(355)*V(284)*V(337) A(356) = RCT(356)*V(284)*V(346) A(357) = RCT(357)*V(284)*V(284) A(358) = RCT(358)*V(44) A(359) = RCT(359)*V(52)*V(345) A(360) = RCT(360)*V(261)*V(345) A(361) = RCT(361)*V(247)*V(345) A(362) = RCT(362)*V(312)*V(329) A(363) = RCT(363)*V(312)*V(346) A(364) = RCT(364)*V(312)*V(335) A(365) = RCT(365)*V(312)*V(336) A(366) = RCT(366)*V(312)*V(336)*V(336) A(367) = RCT(367)*V(312)*V(341) A(368) = RCT(368)*V(312)*V(348) A(369) = RCT(369)*V(241)*V(329) A(370) = RCT(370)*V(241)*V(346) A(371) = RCT(371)*V(241)*V(335) A(372) = RCT(372)*V(241)*V(348) A(373) = RCT(373)*V(241)*V(336) A(374) = RCT(374)*V(241)*V(336) A(375) = RCT(375)*V(191)*V(351) A(376) = RCT(376)*V(219)*V(351) A(377) = RCT(377)*V(167)*V(351) A(378) = RCT(378)*V(167)*V(345) A(379) = RCT(379)*V(167)*V(341) A(380) = RCT(380)*V(219)*V(345) A(381) = RCT(381)*V(219)*V(341) A(382) = RCT(382)*V(191)*V(345) A(383) = RCT(383)*V(191)*V(341) A(384) = RCT(384)*V(277)*V(337) A(385) = RCT(385)*V(277)*V(346) A(386) = RCT(386)*V(277)*V(351) A(387) = RCT(387)*V(111)*V(345) A(388) = RCT(388)*V(137)*V(345) A(389) = RCT(389)*V(225)*V(351) A(390) = RCT(390)*V(225)*V(345) A(391) = RCT(391)*V(257)*V(337) A(392) = RCT(392)*V(257)*V(346) A(393) = RCT(393)*V(257)*V(335) A(394) = RCT(394)*V(56) A(395) = RCT(395)*V(257)*V(351) A(396) = RCT(396)*V(74)*V(345) A(397) = RCT(397)*V(66)*V(345) A(398) = RCT(398)*V(278)*V(337) A(399) = RCT(399)*V(278)*V(346) A(400) = RCT(400)*V(278)*V(351) A(401) = RCT(401)*V(278)*V(328) A(402) = RCT(402)*V(160)*V(345) A(403) = RCT(403)*V(176)*V(345) A(404) = RCT(404)*V(275)*V(337) A(405) = RCT(405)*V(275)*V(346) A(406) = RCT(406)*V(275)*V(351) A(407) = RCT(407)*V(138)*V(345) A(408) = RCT(408)*V(112)*V(345) A(409) = RCT(409)*V(129)*V(345) A(410) = RCT(410)*V(273)*V(337) A(411) = RCT(411)*V(273)*V(346) A(412) = RCT(412)*V(273)*V(346) A(413) = RCT(413)*V(273)*V(328) A(414) = RCT(414)*V(273)*V(351) A(415) = RCT(415)*V(161)*V(345) A(416) = RCT(416)*V(162)*V(345) A(417) = RCT(417)*V(281)*V(337) A(418) = RCT(418)*V(281)*V(346) A(419) = RCT(419)*V(281)*V(351) A(420) = RCT(420)*V(255)*V(345) A(421) = RCT(421)*V(255)*V(341) A(422) = RCT(422)*V(255)*V(351) A(423) = RCT(423)*V(237)*V(345) A(424) = RCT(424)*V(237)*V(341) A(425) = RCT(425)*V(237)*V(351) A(426) = RCT(426)*V(211)*V(345) A(427) = RCT(427)*V(211)*V(341) A(428) = RCT(428)*V(211)*V(351) A(429) = RCT(429)*V(272)*V(346) A(430) = RCT(430)*V(272)*V(337) A(431) = RCT(431)*V(272)*V(351) A(432) = RCT(432)*V(272)*V(328) A(433) = RCT(433)*V(163)*V(345) A(434) = RCT(434)*V(163)*V(351) A(435) = RCT(435)*V(177)*V(345) A(436) = RCT(436)*V(274)*V(337) A(437) = RCT(437)*V(274)*V(346) A(438) = RCT(438)*V(274)*V(335) A(439) = RCT(439)*V(57) A(440) = RCT(440)*V(274)*V(351) A(441) = RCT(441)*V(169)*V(345) A(442) = RCT(442)*V(130)*V(345) A(443) = RCT(443)*V(291)*V(337) A(444) = RCT(444)*V(291)*V(346) A(445) = RCT(445)*V(291)*V(346) A(446) = RCT(446)*V(291)*V(351) A(447) = RCT(447)*V(229)*V(345) A(448) = RCT(448)*V(229)*V(341) A(449) = RCT(449)*V(229)*V(351) A(450) = RCT(450)*V(193)*V(345) A(451) = RCT(451)*V(193)*V(341) A(452) = RCT(452)*V(193)*V(351) A(453) = RCT(453)*V(262)*V(345) A(454) = RCT(454)*V(262)*V(341) A(455) = RCT(455)*V(262)*V(351) A(456) = RCT(456)*V(277)*V(328) A(457) = RCT(457)*V(277)*V(324) A(458) = RCT(458)*V(275)*V(328) A(459) = RCT(459)*V(275)*V(324) A(460) = RCT(460)*V(281)*V(328) A(461) = RCT(461)*V(281)*V(324) A(462) = RCT(462)*V(291)*V(328) A(463) = RCT(463)*V(291)*V(324) A(464) = RCT(464)*V(257)*V(328) A(465) = RCT(465)*V(257)*V(324) A(466) = RCT(466)*V(274)*V(328) A(467) = RCT(467)*V(274)*V(324) A(468) = RCT(468)*V(280)*V(346) A(469) = RCT(469)*V(289)*V(346) A(470) = RCT(470)*V(280)*V(337) A(471) = RCT(471)*V(289)*V(337) A(472) = RCT(472)*V(280)*V(328) A(473) = RCT(473)*V(289)*V(328) A(474) = RCT(474)*V(280)*V(324) A(475) = RCT(475)*V(289)*V(324) A(476) = RCT(476)*V(280)*V(351) A(477) = RCT(477)*V(289)*V(351) A(478) = RCT(478)*V(280)*V(280) A(479) = RCT(479)*V(280)*V(289) A(480) = RCT(480)*V(289)*V(289) A(481) = RCT(481)*V(256)*V(345) A(482) = RCT(482)*V(242)*V(345) A(483) = RCT(483)*V(242)*V(341) A(484) = RCT(484)*V(242)*V(351) A(485) = RCT(485)*V(256)*V(351) A(486) = RCT(486)*V(103) A(487) = RCT(487)*V(45) A(488) = RCT(488)*V(154)*V(345) A(489) = RCT(489)*V(93)*V(345) A(490) = RCT(490)*V(83)*V(345) A(491) = RCT(491)*V(91)*V(345) A(492) = RCT(492)*V(95)*V(345) A(493) = RCT(493)*V(276)*V(341) A(494) = RCT(494)*V(276)*V(345) A(495) = RCT(495)*V(276)*V(345) A(496) = RCT(496)*V(276)*V(345) A(497) = RCT(497)*V(276)*V(345) A(498) = RCT(498)*V(305)*V(337) A(499) = RCT(499)*V(305)*V(337) A(500) = RCT(500)*V(304)*V(337) A(501) = RCT(501)*V(304)*V(337) A(502) = RCT(502)*V(305) A(503) = RCT(503)*V(305) A(504) = RCT(504)*V(304) A(505) = RCT(505)*V(304) A(506) = RCT(506)*V(305)*V(305) A(507) = RCT(507)*V(304)*V(304) A(508) = RCT(508)*V(304)*V(305) A(509) = RCT(509)*V(305)*V(305) A(510) = RCT(510)*V(304)*V(304) A(511) = RCT(511)*V(304)*V(305) A(512) = RCT(512)*V(305)*V(328) A(513) = RCT(513)*V(305)*V(328) A(514) = RCT(514)*V(304)*V(328) A(515) = RCT(515)*V(304)*V(328) A(516) = RCT(516)*V(305)*V(346) A(517) = RCT(517)*V(305)*V(346) A(518) = RCT(518)*V(305)*V(346) A(519) = RCT(519)*V(305)*V(346) A(520) = RCT(520)*V(304)*V(346) A(521) = RCT(521)*V(304)*V(346) A(522) = RCT(522)*V(304)*V(346) A(523) = RCT(523)*V(304)*V(346) A(524) = RCT(524)*V(230)*V(345) A(525) = RCT(525)*V(231)*V(345) A(526) = RCT(526)*V(150)*V(345) A(527) = RCT(527)*V(144)*V(345) A(528) = RCT(528)*V(238)*V(345) A(529) = RCT(529)*V(215)*V(345) A(530) = RCT(530)*V(119)*V(345) A(531) = RCT(531)*V(187)*V(345) A(532) = RCT(532)*V(187)*V(345) A(533) = RCT(533)*V(192)*V(345) A(534) = RCT(534)*V(192)*V(345) A(535) = RCT(535)*V(187)*V(345) A(536) = RCT(536)*V(192)*V(345) A(537) = RCT(537)*V(209)*V(345) A(538) = RCT(538)*V(199)*V(345) A(539) = RCT(539)*V(223) A(540) = RCT(540)*V(223)*V(346) A(541) = RCT(541)*V(223)*V(346) A(542) = RCT(542)*V(223)*V(337) A(543) = RCT(543)*V(224) A(544) = RCT(544)*V(224)*V(346) A(545) = RCT(545)*V(224)*V(346) A(546) = RCT(546)*V(224)*V(337) A(547) = RCT(547)*V(232) A(548) = RCT(548)*V(232)*V(346) A(549) = RCT(549)*V(232)*V(346) A(550) = RCT(550)*V(232)*V(337) A(551) = RCT(551)*V(128)*V(345) A(552) = RCT(552)*V(151)*V(345) A(553) = RCT(553)*V(151)*V(345) A(554) = RCT(554)*V(152)*V(345) A(555) = RCT(555)*V(152)*V(345) A(556) = RCT(556)*V(286) A(557) = RCT(557)*V(286) A(558) = RCT(558)*V(286)*V(337) A(559) = RCT(559)*V(286)*V(346) A(560) = RCT(560)*V(286)*V(346) A(561) = RCT(561)*V(285) A(562) = RCT(562)*V(285) A(563) = RCT(563)*V(285)*V(346) A(564) = RCT(564)*V(285)*V(346) A(565) = RCT(565)*V(285)*V(337) A(566) = RCT(566)*V(243)*V(337) A(567) = RCT(567)*V(243)*V(346) A(568) = RCT(568)*V(243)*V(346) A(569) = RCT(569)*V(243) A(570) = RCT(570)*V(133)*V(346) A(571) = RCT(571)*V(133)*V(337) A(572) = RCT(572)*V(135)*V(346) A(573) = RCT(573)*V(135)*V(337) A(574) = RCT(574)*V(175)*V(345) A(575) = RCT(575)*V(175)*V(345) A(576) = RCT(576)*V(168)*V(345) A(577) = RCT(577)*V(168)*V(345) A(578) = RCT(578)*V(268)*V(345) A(579) = RCT(579)*V(268)*V(345) A(580) = RCT(580)*V(267)*V(345) A(581) = RCT(581)*V(267)*V(345) A(582) = RCT(582)*V(268)*V(345) A(583) = RCT(583)*V(267)*V(345) A(584) = RCT(584)*V(205) A(585) = RCT(585)*V(205)*V(337) A(586) = RCT(586)*V(205)*V(346) A(587) = RCT(587)*V(205)*V(346) A(588) = RCT(588)*V(190) A(589) = RCT(589)*V(190)*V(337) A(590) = RCT(590)*V(190)*V(346) A(591) = RCT(591)*V(190)*V(346) A(592) = RCT(592)*V(206) A(593) = RCT(593)*V(207) A(594) = RCT(594)*V(206)*V(337) A(595) = RCT(595)*V(206)*V(346) A(596) = RCT(596)*V(206)*V(346) A(597) = RCT(597)*V(207)*V(337) A(598) = RCT(598)*V(207)*V(346) A(599) = RCT(599)*V(207)*V(346) A(600) = RCT(600)*V(293)*V(337) A(601) = RCT(601)*V(293)*V(346) A(602) = RCT(602)*V(293)*V(346) A(603) = RCT(603)*V(276)*V(351) A(604) = RCT(604)*V(310)*V(337) A(605) = RCT(605)*V(311)*V(337) A(606) = RCT(606)*V(310)*V(310) A(607) = RCT(607)*V(310)*V(311) A(608) = RCT(608)*V(311)*V(311) A(609) = RCT(609)*V(311)*V(328) A(610) = RCT(610)*V(310)*V(328) A(611) = RCT(611)*V(310)*V(324) A(612) = RCT(612)*V(311)*V(324) A(613) = RCT(613)*V(310)*V(351) A(614) = RCT(614)*V(311)*V(351) A(615) = RCT(615)*V(310)*V(346) A(616) = RCT(616)*V(310)*V(346) A(617) = RCT(617)*V(311)*V(346) A(618) = RCT(618)*V(311)*V(346) A(619) = RCT(619)*V(145)*F(3) A(620) = RCT(620)*V(145) A(621) = RCT(621)*V(222)*V(345) A(622) = RCT(622)*V(186)*V(345) A(623) = RCT(623)*V(222)*V(345) A(624) = RCT(624)*V(186)*V(345) A(625) = RCT(625)*V(186)*V(345) A(626) = RCT(626)*V(222)*V(345) A(627) = RCT(627)*V(186)*V(345) A(628) = RCT(628)*V(186)*V(345) A(629) = RCT(629)*V(226) A(630) = RCT(630)*V(271) A(631) = RCT(631)*V(271)*V(337) A(632) = RCT(632)*V(226)*V(337) A(633) = RCT(633)*V(271)*V(346) A(634) = RCT(634)*V(271)*V(346) A(635) = RCT(635)*V(226)*V(346) A(636) = RCT(636)*V(226)*V(346) A(637) = RCT(637)*V(301)*V(345) A(638) = RCT(638)*V(301)*V(345) A(639) = RCT(639)*V(182)*V(346) A(640) = RCT(640)*V(182)*V(337) A(641) = RCT(641)*V(299)*V(345) A(642) = RCT(642)*V(180)*V(346) A(643) = RCT(643)*V(180)*V(337) A(644) = RCT(644)*V(314)*V(345) A(645) = RCT(645)*V(314)*V(341) A(646) = RCT(646)*V(309)*V(345) A(647) = RCT(647)*V(309)*V(345) A(648) = RCT(648)*V(309)*V(341) A(649) = RCT(649)*V(309)*V(351) A(650) = RCT(650)*V(302)*V(345) A(651) = RCT(651)*V(288)*V(345) A(652) = RCT(652)*V(287)*V(345) A(653) = RCT(653)*V(248)*V(345) A(654) = RCT(654)*V(216)*V(345) A(655) = RCT(655)*V(171)*V(346) A(656) = RCT(656)*V(171)*V(337) A(657) = RCT(657)*V(171)*V(335) A(658) = RCT(658)*V(172)*V(346) A(659) = RCT(659)*V(172)*V(337) A(660) = RCT(660)*V(172)*V(335) A(661) = RCT(661)*V(194)*V(345) A(662) = RCT(662)*V(185)*V(345) A(663) = RCT(663)*V(131)*V(345) A(664) = RCT(664)*V(227)*V(345) A(665) = RCT(665)*V(208)*V(345) A(666) = RCT(666)*V(153)*V(345) A(667) = RCT(667)*V(254)*V(337) A(668) = RCT(668)*V(254)*V(346) A(669) = RCT(669)*V(254)*V(346) A(670) = RCT(670)*V(253)*V(337) A(671) = RCT(671)*V(259)*V(337) A(672) = RCT(672)*V(159)*V(345) A(673) = RCT(673)*V(253) A(674) = RCT(674)*V(253)*V(346) A(675) = RCT(675)*V(253)*V(346) A(676) = RCT(676)*V(259)*V(346) A(677) = RCT(677)*V(259)*V(335) A(678) = RCT(678)*V(308)*V(337) A(679) = RCT(679)*V(308)*V(346) A(680) = RCT(680)*V(308)*V(335) A(681) = RCT(681)*V(308)*V(351) A(682) = RCT(682)*V(308)*V(328) A(683) = RCT(683)*V(184) A(684) = RCT(684)*V(184)*V(345) A(685) = RCT(685)*V(107)*V(345) A(686) = RCT(686)*V(258)*V(345) A(687) = RCT(687)*V(147)*V(345) A(688) = RCT(688)*V(174)*V(345) A(689) = RCT(689)*V(198)*V(345) A(690) = RCT(690)*V(266)*V(345) A(691) = RCT(691)*V(303)*V(345) A(692) = RCT(692)*V(261)*V(351) A(693) = RCT(693)*V(115)*V(345) A(694) = RCT(694)*V(88)*V(345) A(695) = RCT(695)*V(324)*V(337) A(696) = RCT(696)*V(210)*V(345) A(697) = RCT(697)*V(210)*V(345) A(698) = RCT(698)*V(19)*V(345) A(699) = RCT(699)*V(18)*V(337) A(700) = RCT(700)*V(18)*V(346) A(701) = RCT(701)*V(173)*V(345) A(702) = RCT(702)*V(220)*V(345) A(703) = RCT(703)*V(220)*V(351) A(704) = RCT(704)*V(220)*V(341) A(705) = RCT(705)*V(149)*V(345) A(706) = RCT(706)*V(149)*V(351) A(707) = RCT(707)*V(200)*V(345) A(708) = RCT(708)*V(200)*V(351) A(709) = RCT(709)*V(189)*V(346) A(710) = RCT(710)*V(189)*V(337) A(711) = RCT(711)*V(116)*V(345) A(712) = RCT(712)*V(109)*V(341) A(713) = RCT(713)*V(109)*V(345) A(714) = RCT(714)*V(60)*V(345) A(715) = RCT(715)*V(234)*V(337) A(716) = RCT(716)*V(234)*V(346) A(717) = RCT(717)*V(234)*V(351) A(718) = RCT(718)*V(234)*V(328) A(719) = RCT(719)*V(106) A(720) = RCT(720)*V(106)*F(3) A(721) = RCT(721)*V(70)*V(345) A(722) = RCT(722)*V(136)*V(345) A(723) = RCT(723)*V(136)*V(345) A(724) = RCT(724)*V(143)*V(345) A(725) = RCT(725)*V(82)*V(345) A(726) = RCT(726)*V(101)*V(345) A(727) = RCT(727)*V(263)*V(337) A(728) = RCT(728)*V(263)*V(346) A(729) = RCT(729)*V(263)*V(351) A(730) = RCT(730)*V(263)*V(328) A(731) = RCT(731)*V(263)*V(324) A(732) = RCT(732)*V(58)*V(345) A(733) = RCT(733)*V(121)*V(346) A(734) = RCT(734)*V(121)*V(337) A(735) = 7.09e-11*V(146)*V(345) A(736) = RCT(736)*V(240)*V(346) A(737) = RCT(737)*V(240)*V(337) A(738) = RCT(738)*V(240)*V(335) A(739) = RCT(739)*V(122) A(740) = RCT(740)*V(122)*V(345) A(741) = RCT(741)*V(195)*V(345) A(742) = RCT(742)*V(195)*V(351) A(743) = RCT(743)*V(158)*V(345) A(744) = RCT(744)*V(158)*V(351) A(745) = RCT(745)*V(202)*V(345) A(746) = RCT(746)*V(202)*V(341) A(747) = RCT(747)*V(202)*V(351) A(748) = RCT(748)*V(204)*V(345) A(749) = RCT(749)*V(204)*V(351) A(750) = RCT(750)*V(235)*V(337) A(751) = RCT(751)*V(235)*V(346) A(752) = RCT(752)*V(235)*V(335) A(753) = RCT(753)*V(71)*V(345) A(754) = RCT(754)*V(90) A(755) = RCT(755)*V(90)*V(345) A(756) = RCT(756)*V(236)*V(335) A(757) = RCT(757)*V(236)*V(346) A(758) = RCT(758)*V(236)*V(351) A(759) = RCT(759)*V(236)*V(337) A(760) = RCT(760)*V(117)*V(345) A(761) = RCT(761)*V(203)*V(341) A(762) = RCT(762)*V(203)*V(335) A(763) = RCT(763)*V(269)*V(345) A(764) = RCT(764)*V(269)*V(351) A(765) = RCT(765)*V(236)*V(328) A(766) = RCT(766)*V(235)*V(328) A(767) = RCT(767)*V(221)*V(345) A(768) = RCT(768)*V(221)*V(341) A(769) = RCT(769)*V(221) A(770) = RCT(770)*V(201)*V(345) A(771) = RCT(771)*V(201)*V(341) A(772) = RCT(772)*V(201) A(773) = RCT(773)*V(13)*V(337) A(774) = RCT(774)*V(13)*V(346) A(775) = RCT(775)*V(22)*V(337) A(776) = RCT(776)*V(22)*V(346) A(777) = RCT(777)*V(27)*V(337) A(778) = RCT(778)*V(27)*V(346) A(779) = RCT(779)*V(328)*V(351) A(780) = RCT(780)*V(41)*V(345) A(781) = RCT(781)*V(337) A(782) = RCT(782)*V(335) A(783) = RCT(783)*V(351) A(784) = RCT(784)*V(351) A(785) = RCT(785)*V(351) A(786) = RCT(786)*V(214)*V(336) A(787) = RCT(787)*V(214)*V(339) A(788) = RCT(788)*V(214) A(789) = RCT(789)*V(214)*V(353) A(790) = RCT(790)*V(214)*V(344) A(791) = RCT(791)*V(345)*V(353) A(792) = RCT(792)*V(344)*V(345) A(793) = RCT(793)*V(218)*V(336) A(794) = RCT(794)*V(218)*V(339) A(795) = RCT(795)*V(317)*V(336) A(796) = RCT(796)*V(317)*V(339) A(797) = RCT(797)*V(317)*V(352) A(798) = RCT(798)*V(317)*V(349) A(799) = RCT(799)*V(317)*V(350) A(800) = RCT(800)*V(317)*V(353) A(801) = RCT(801)*V(317)*V(344) A(802) = RCT(802)*V(297)*V(353) A(803) = RCT(803)*V(297)*V(344) A(804) = RCT(804)*V(297)*V(339) A(805) = RCT(805)*V(297)*V(349) A(806) = RCT(806)*V(297)*V(350) A(807) = RCT(807)*V(297)*V(352) A(808) = RCT(808)*V(333)*V(339) A(809) = RCT(809)*V(333)*V(352) A(810) = RCT(810)*V(333)*V(353) A(811) = RCT(811)*V(333)*V(344) A(812) = RCT(812)*V(333)*V(348) A(813) = RCT(813)*V(316)*V(352) A(814) = RCT(814)*V(316)*V(339) A(815) = RCT(815)*V(316)*V(353) A(816) = RCT(816)*V(316)*V(344) A(817) = RCT(817)*V(316)*V(349) A(818) = RCT(818)*V(316)*V(350) A(819) = RCT(819)*V(316)*V(348) A(820) = RCT(820)*V(341)*V(352) A(821) = RCT(821)*V(341)*V(349) A(822) = RCT(822)*V(341)*V(350) A(823) = RCT(823)*V(352) A(824) = RCT(824)*V(352) A(825) = RCT(825)*V(73) A(826) = RCT(826)*V(73) A(827) = RCT(827)*V(73) A(828) = RCT(828)*V(330) A(829) = RCT(829)*V(330) A(830) = RCT(830)*V(44) A(831) = RCT(831)*V(44) A(832) = RCT(832)*V(44) A(833) = RCT(833)*V(55) A(834) = RCT(834)*V(55) A(835) = RCT(835)*V(55) A(836) = RCT(836)*V(42) A(837) = RCT(837)*V(42) A(838) = RCT(838)*V(42) A(839) = RCT(839)*V(252) A(840) = RCT(840)*V(252) A(841) = RCT(841)*V(332) A(842) = RCT(842)*V(332) A(843) = RCT(843)*V(332)*V(336) A(844) = RCT(844)*V(252)*V(349) A(845) = RCT(845)*V(252)*V(350) A(846) = RCT(846)*V(252)*V(353) A(847) = RCT(847)*V(252)*V(344) A(848) = RCT(848)*V(332)*V(349) A(849) = RCT(849)*V(332)*V(350) A(850) = RCT(850)*V(332)*V(353) A(851) = RCT(851)*V(332)*V(344) A(852) = RCT(852)*V(330)*V(349) A(853) = RCT(853)*V(330)*V(350) A(854) = RCT(854)*V(330)*V(353) A(855) = RCT(855)*V(330)*V(344) A(856) = RCT(856)*V(270) A(857) = RCT(857)*V(294) A(858) = RCT(858)*V(151) A(859) = RCT(859)*V(152) A(860) = RCT(860)*V(128) A(861) = RCT(861)*V(24) A(862) = RCT(862)*V(302) A(863) = RCT(863)*V(251) A(864) = RCT(864)*V(256) A(865) = RCT(865)*V(242) A(866) = RCT(866)*V(154) A(867) = RCT(867)*V(115) A(868) = RCT(868)*V(107) A(869) = RCT(869)*V(268) A(870) = RCT(870)*V(175) A(871) = RCT(871)*V(168) A(872) = RCT(872)*V(267) A(873) = RCT(873)*V(215) A(874) = RCT(874)*V(186) A(875) = RCT(875)*V(222) A(876) = RCT(876)*V(299) A(877) = RCT(877)*V(266) A(878) = RCT(878)*V(303) A(879) = RCT(879)*V(216) A(880) = RCT(880)*V(248) A(881) = RCT(881)*V(269) A(882) = RCT(882)*V(341) A(883) = RCT(883)*V(341) A(884) = RCT(884)*F(3) A(885) = RCT(885)*V(335) A(886) = RCT(886)*V(264) A(887) = RCT(887)*V(164) A(888) = RCT(888)*V(325) A(889) = RCT(889)*V(325) A(890) = RCT(890)*V(327) A(891) = RCT(891)*V(239) A(892) = RCT(892)*V(108) A(893) = RCT(893)*V(108) A(894) = RCT(894)*V(351) A(895) = RCT(895)*V(351) A(896) = RCT(896)*V(214) A(897) = RCT(897)*V(326) A(898) = RCT(898)*V(326) A(899) = RCT(899)*V(139) A(900) = RCT(900)*V(126) A(901) = RCT(901)*V(233) A(902) = RCT(902)*V(146) A(903) = RCT(903)*V(298) A(904) = RCT(904)*V(295) A(905) = RCT(905)*V(295) A(906) = RCT(906)*V(292) A(907) = RCT(907)*V(306) A(908) = RCT(908)*V(270) A(909) = RCT(909)*V(270) A(910) = RCT(910)*V(270) A(911) = RCT(911)*V(294) A(912) = RCT(912)*V(314) A(913) = RCT(913)*V(314) A(914) = RCT(914)*V(314) A(915) = RCT(915)*V(309) A(916) = RCT(916)*V(307) A(917) = RCT(917)*V(125) A(918) = RCT(918)*V(118) A(919) = RCT(919)*V(99) A(920) = RCT(920)*V(100) A(921) = RCT(921)*V(97) A(922) = RCT(922)*V(98) A(923) = RCT(923)*V(102) A(924) = RCT(924)*V(123) A(925) = RCT(925)*V(155) A(926) = RCT(926)*V(251) A(927) = RCT(927)*V(196) A(928) = RCT(928)*V(116) A(929) = RCT(929)*V(279) A(930) = RCT(930)*V(92) A(931) = RCT(931)*V(148) A(932) = RCT(932)*V(347) A(933) = RCT(933)*V(316) A(934) = RCT(934)*V(218) A(935) = RCT(935)*V(218) A(936) = RCT(936)*V(59) A(937) = RCT(937)*V(81) A(938) = RCT(938)*V(78) A(939) = RCT(939)*V(105) A(940) = RCT(940)*V(181) A(941) = RCT(941)*V(79) A(942) = RCT(942)*V(157) A(943) = RCT(943)*V(245) A(944) = RCT(944)*V(338) A(945) = RCT(945)*V(120) A(946) = RCT(946)*V(76) A(947) = RCT(947)*V(297) A(948) = RCT(948)*V(317) A(949) = RCT(949)*V(317) A(950) = RCT(950)*V(333) A(951) = RCT(951)*V(43) A(952) = RCT(952)*V(46) A(953) = RCT(953)*V(47) A(954) = RCT(954)*V(48) A(955) = RCT(955)*V(49) A(956) = RCT(956)*V(50) A(957) = RCT(957)*V(51) A(958) = RCT(958)*V(84) A(959) = RCT(959)*V(85) A(960) = RCT(960)*V(86) A(961) = RCT(961)*V(87) A(962) = RCT(962)*V(53) A(963) = RCT(963)*V(61) A(964) = RCT(964)*V(54) A(965) = RCT(965)*V(110) A(966) = RCT(966)*V(170) A(967) = RCT(967)*V(330) A(968) = RCT(968)*V(284) A(969) = RCT(969)*V(96) A(970) = RCT(970)*V(62) A(971) = RCT(971)*V(252) A(972) = RCT(972)*V(332) A(973) = RCT(973)*V(44) A(974) = RCT(974)*V(52) A(975) = RCT(975)*V(1) A(976) = RCT(976)*V(3) A(977) = RCT(977)*V(2) A(978) = RCT(978)*V(42) A(979) = RCT(979)*V(55) A(980) = RCT(980)*V(77) A(981) = RCT(981)*V(104) A(982) = RCT(982)*V(80) A(983) = RCT(983)*V(80) A(984) = RCT(984)*V(244) A(985) = RCT(985)*V(63) A(986) = RCT(986)*V(68) A(987) = RCT(987)*V(134) A(988) = RCT(988)*V(346) A(989) = RCT(989)*V(229) A(990) = RCT(990)*V(261) A(991) = RCT(991)*V(256) A(992) = RCT(992)*V(242) A(993) = RCT(993)*V(154) A(994) = RCT(994)*V(65) A(995) = RCT(995)*V(65) A(996) = RCT(996)*V(64) A(997) = RCT(997)*V(64) A(998) = RCT(998)*V(93) A(999) = RCT(999)*V(83) A(1000) = RCT(1000)*V(91) A(1001) = RCT(1001)*V(95) A(1002) = RCT(1002)*V(88) A(1003) = RCT(1003)*V(210) A(1004) = RCT(1004)*V(115) A(1005) = RCT(1005)*V(247) A(1006) = RCT(1006)*V(208) A(1007) = RCT(1007)*V(227) A(1008) = RCT(1008)*V(288) A(1009) = RCT(1009)*V(185) A(1010) = RCT(1010)*V(194) A(1011) = RCT(1011)*V(287) A(1012) = RCT(1012)*V(159) A(1013) = RCT(1013)*V(302) A(1014) = RCT(1014)*V(248) A(1015) = RCT(1015)*V(216) A(1016) = RCT(1016)*V(187) A(1017) = RCT(1017)*V(192) A(1018) = RCT(1018)*V(209) A(1019) = RCT(1019)*V(199) A(1020) = RCT(1020)*V(230) A(1021) = RCT(1021)*V(231) A(1022) = RCT(1022)*V(150) A(1023) = RCT(1023)*V(144) A(1024) = RCT(1024)*V(268) A(1025) = RCT(1025)*V(175) A(1026) = RCT(1026)*V(168) A(1027) = RCT(1027)*V(267) A(1028) = RCT(1028)*V(222) A(1029) = RCT(1029)*V(186) A(1030) = RCT(1030)*V(186) A(1031) = RCT(1031)*V(301) A(1032) = RCT(1032)*V(299) A(1033) = RCT(1033)*V(258) A(1034) = RCT(1034)*V(258) A(1035) = RCT(1035)*V(174) A(1036) = RCT(1036)*V(198) A(1037) = RCT(1037)*V(147) A(1038) = RCT(1038)*V(303) A(1039) = RCT(1039)*V(303) A(1040) = RCT(1040)*V(266) A(1041) = RCT(1041)*V(266) A(1042) = RCT(1042)*V(136) A(1043) = RCT(1043)*V(204) A(1044) = RCT(1044)*V(71) A(1045) = RCT(1045)*V(117) A(1046) = RCT(1046)*V(269) A(1047) = RCT(1047)*V(124) A(1048) = RCT(1048)*V(111) A(1049) = RCT(1049)*V(225) A(1050) = RCT(1050)*V(74) A(1051) = RCT(1051)*V(66) A(1052) = RCT(1052)*V(160) A(1053) = RCT(1053)*V(112) A(1054) = RCT(1054)*V(161) A(1055) = RCT(1055)*V(169) A(1056) = RCT(1056)*V(130) A(1057) = RCT(1057)*V(229) A(1058) = RCT(1058)*V(255) !### KPP 2.3.0_gc, Bob Yantosca (11 Feb 2021) !### Use Aout to return reaction rates IF ( PRESENT( Aout ) ) Aout = A ! Production function P_VAR(1) = 0 P_VAR(2) = 0 P_VAR(3) = 0 P_VAR(4) = A(825)+2*A(830)+2*A(833)+2*A(836) P_VAR(5) = A(881) P_VAR(6) = A(780) P_VAR(7) = A(24)+A(47)+A(56)+A(104)+A(109)+A(127)+0.44*A(128)+0.3*A(136)+0.43*A(148)+0.1*A(150)+0.361*A(151)+0.44& &*A(158)+0.5*A(168)+0.22*A(178)+2*A(180)+0.9*A(181)+0.9*A(182)+0.9*A(183)+0.9*A(184)+0.9*A(185)+0.9*A(186)& &+0.645*A(187)+0.645*A(188)+0.9*A(189)+0.9*A(190)+0.9*A(191)+0.9*A(192)+0.9*A(193)+2*A(194)+A(195)+A(239)& &+A(318)+A(326)+A(360)+A(362)+A(369)+A(392)+A(395)+A(397)+0.44*A(436)+A(437)+A(440)+A(442)+0.9*A(457)+0.9& &*A(459)+0.9*A(461)+0.9*A(463)+0.75*A(464)+2*A(465)+0.75*A(466)+A(467)+A(474)+0.407*A(493)+0.355*A(528)& &+A(570)+A(571)+A(572)+A(573)+A(611)+A(612)+0.429*A(639)+0.429*A(640)+0.23*A(652)+0.75*A(654)+0.097*A(661)& &+0.5*A(671)+0.41*A(672)+A(676)+0.5*A(678)+A(679)+A(681)+0.7*A(682)+A(689)+A(693)+0.5*A(695)+A(701)+A(731)+2& &*A(736)+0.44*A(737)+0.35*A(750)+A(751)+A(755)+A(766)+0.3*A(899)+A(930)+A(1004)+1.238*A(1012)+A(1044)+A(1046)& &+A(1050)+A(1051)+A(1055)+A(1056) P_VAR(8) = A(486)+A(487) P_VAR(9) = A(826)+A(828)+2*A(831)+2*A(834)+2*A(837)+A(839)+A(841) P_VAR(10) = A(827)+A(829)+2*A(832)+2*A(835)+2*A(838)+A(840)+A(842) P_VAR(11) = A(773) P_VAR(12) = A(774) P_VAR(13) = A(724) P_VAR(14) = A(494)+A(495)+A(496)+A(497) P_VAR(15) = A(603) P_VAR(16) = A(699) P_VAR(17) = A(700) P_VAR(18) = A(698) P_VAR(19) = 0 P_VAR(20) = A(775) P_VAR(21) = A(776) P_VAR(22) = A(725) P_VAR(23) = A(861) P_VAR(24) = 0.005*A(531)+0.005*A(532)+0.005*A(533)+0.005*A(534)+0.005*A(535)+0.005*A(536)+0.005*A(537)+0.005*A(538) P_VAR(25) = A(777) P_VAR(26) = A(778) P_VAR(27) = A(726) P_VAR(28) = 0.25*A(200) P_VAR(29) = A(4) P_VAR(30) = A(856)+1.5*A(857)+1.5*A(867) P_VAR(31) = A(858)+A(859)+A(860)+0.8*A(868)+A(873) P_VAR(32) = A(202)+A(368)+A(372) P_VAR(33) = 2*A(12) P_VAR(34) = A(18)+A(22)+A(26)+A(36)+A(38)+A(56)+A(58)+A(60)+A(63)+A(65)+A(68)+2*A(73)+0.942*A(78)+A(80)+A(82)+A(85)& &+A(87)+2*A(88)+A(90)+A(91)+A(92)+A(93)+A(94)+A(95)+A(96)+A(97)+A(98)+A(100)+A(109)+A(123)+A(125)+A(126)& &+A(127)+0.15*A(128)+0.15*A(148)+A(156)+A(157)+0.15*A(158)+A(160)+A(211)+0.02*A(247)+A(248)+A(249)+A(273)& &+A(281)+A(282)+A(297)+0.1*A(309)+A(319)+A(322)+A(323)+A(352)+A(363)+A(364)+A(370)+A(371)+0.75*A(385)+0.5& &*A(388)+0.15*A(391)+A(392)+A(394)+0.84*A(399)+A(403)+0.75*A(405)+0.5*A(407)+A(412)+A(416)+0.75*A(418)+0.5& &*A(426)+0.84*A(429)+A(435)+0.15*A(436)+A(437)+A(439)+A(445)+A(450)+A(468)+A(469)+A(486)+A(487)+A(488)& &+A(489)+A(490)+A(491)+A(492)+A(516)+A(517)+A(518)+A(519)+A(520)+A(521)+A(522)+A(523)+A(540)+A(541)+A(544)& &+A(545)+A(548)+A(549)+A(559)+A(560)+A(563)+A(564)+A(567)+A(568)+A(570)+A(572)+A(586)+A(587)+A(590)+A(591)& &+A(595)+A(596)+A(598)+A(599)+A(601)+A(602)+A(615)+A(616)+A(617)+A(618)+A(633)+A(634)+A(635)+A(636)+A(639)& &+A(642)+0.69*A(650)+A(655)+A(658)+A(668)+A(669)+0.13*A(671)+A(674)+A(675)+A(676)+0.13*A(678)+A(679)+A(684)& &+0.13*A(695)+0.89*A(709)+A(711)+0.995*A(716)+A(721)+A(728)+A(733)+A(736)+0.15*A(737)+A(739)+A(740)+0.15& &*A(750)+A(751)+A(754)+A(755)+A(756)+A(757)+A(763)+2*A(884)+A(892)+0.3*A(899)+A(900)+A(927)+A(928)+A(982)& &+A(985)+A(988)+A(998)+A(999)+A(1000)+A(1001)+0.3*A(1047) P_VAR(35) = A(1)+A(4)+A(8)+A(14)+A(15)+A(17)+A(42)+A(44)+2*A(49)+A(50)+A(52)+A(67)+A(76)+A(77)+A(86)+A(101)+A(110)& &+A(124)+A(131)+A(150)+A(154)+A(155)+A(159)+A(162)+A(165)+A(166)+A(179)+2*A(196)+A(201)+2*A(207)+2*A(208)& &+A(212)+A(213)+A(214)+A(226)+A(229)+A(230)+A(231)+2*A(233)+A(235)+A(236)+A(237)+A(238)+2*A(240)+2*A(241)& &+A(244)+A(246)+2*A(251)+A(252)+0.66*A(253)+0.6*A(254)+0.44*A(257)+0.56*A(258)+0.19*A(261)+0.1*A(269)+0.05& &*A(270)+A(274)+A(275)+A(276)+A(277)+A(278)+2*A(298)+2*A(302)+2*A(303)+2*A(311)+2*A(312)+0.4*A(344)+0.88& &*A(349)+A(367)+A(375)+A(376)+A(377)+A(379)+A(381)+A(383)+A(386)+A(389)+A(393)+A(395)+A(400)+A(406)+A(414)& &+A(419)+A(421)+2*A(422)+A(424)+2*A(425)+0.5*A(427)+A(428)+A(431)+A(434)+A(438)+A(440)+A(446)+A(448)+A(449)& &+A(454)+A(455)+A(476)+A(477)+A(483)+2*A(484)+2*A(485)+A(493)+A(603)+A(613)+A(614)+A(645)+A(648)+A(649)& &+A(681)+A(692)+A(703)+A(704)+A(706)+A(708)+A(712)+A(717)+A(729)+A(738)+1.258*A(742)+1.5*A(744)+A(746)+1.5& &*A(747)+A(749)+A(752)+A(758)+A(761)+A(762)+A(768)+A(771)+A(779)+0.5*A(782)+A(783)+A(784)+A(785)+A(786)& &+A(787)+A(788)+A(789)+A(790)+A(794)+A(796)+A(797)+A(798)+A(799)+A(800)+A(801)+A(802)+A(803)+A(804)+A(805)& &+A(806)+A(807)+A(808)+A(809)+A(810)+A(811)+A(812)+A(813)+A(814)+A(815)+A(816)+A(817)+A(818)+A(819)+A(828)& &+A(829)+2*A(830)+2*A(831)+2*A(832)+3*A(833)+3*A(834)+3*A(835)+4*A(836)+4*A(837)+4*A(838)+A(839)+A(840)& &+A(841)+A(842)+A(844)+A(845)+A(846)+A(847)+A(848)+A(849)+A(850)+A(851)+A(852)+A(853)+A(854)+A(855)+A(862)& &+A(863)+A(864)+A(865)+A(866)+A(869)+A(870)+A(871)+A(872)+A(874)+A(875)+2*A(876)+A(877)+A(878)+A(879)+A(880)& &+2*A(895)+A(933)+2*A(946)+A(950)+A(967)+2*A(969)+A(994)+A(996) P_VAR(36) = A(34)+A(50)+0.05*A(51)+A(55)+A(80)+A(82)+A(83)+A(84)+A(85)+A(88)+A(108)+A(126)+0.56*A(150)+0.505*A(151)& &+A(152)+A(160)+2*A(163)+A(164)+2*A(165)+A(166)+0.5*A(168)+A(216)+A(238)+A(252)+A(292)+A(315)+A(316)+A(317)& &+0.15*A(379)+0.1*A(383)+0.407*A(493)+0.6*A(496)+0.9*A(497)+0.6*A(503)+0.9*A(505)+A(509)+A(510)+A(511)+0.5& &*A(513)+0.5*A(515)+0.55*A(519)+0.55*A(523)+0.45*A(524)+0.37*A(525)+0.42*A(526)+0.23*A(527)+0.638*A(528)+1.5& &*A(529)+A(530)+0.25*A(535)+0.33*A(536)+0.036*A(537)+0.054*A(538)+A(557)+0.13*A(558)+0.2*A(559)+A(562)+0.2& &*A(563)+0.13*A(565)+0.52*A(566)+0.8*A(568)+2*A(569)+0.6*A(582)+0.6*A(583)+0.539*A(638)+0.33*A(639)+0.33& &*A(640)+0.28*A(645)+0.036*A(646)+0.12*A(648)+0.68*A(649)+0.77*A(652)+0.25*A(654)+0.75*A(661)+A(662)+A(664)& &+2*A(665)+0.84*A(666)+0.507*A(670)+0.325*A(671)+0.488*A(672)+A(673)+0.86*A(674)+0.65*A(676)+0.25*A(684)& &+A(685)+A(686)+0.888*A(687)+A(690)+A(696)+0.18*A(704)+0.12*A(707)+0.364*A(714)+0.2*A(724)+0.27*A(725)+0.3& &*A(726)+2*A(740)+0.15*A(763)+0.15*A(764)+0.26*A(767)+0.5*A(768)+0.25*A(770)+0.5*A(771)+0.05*A(772)+A(888)& &+A(889)+0.88*A(897)+A(898)+0.7*A(901)+A(902)+A(903)+A(905)+A(907)+2*A(908)+2*A(909)+A(910)+A(911)+A(912)& &+A(913)+A(915)+A(986)+A(990)+A(1003)+A(1006)+0.5*A(1007)+0.571*A(1009)+0.875*A(1010)+0.77*A(1011)+A(1014)& &+A(1015)+0.888*A(1020)+0.818*A(1021)+A(1022)+A(1023)+0.55*A(1024)+0.55*A(1027)+0.839*A(1031)+A(1033)+0.163& &*A(1034)+A(1037)+A(1041)+A(1043)+A(1046)+A(1049)+A(1058) P_VAR(37) = A(24)+A(362)+A(369) P_VAR(38) = A(1)+A(7)+A(8)+A(9)+2*A(12)+A(202)+A(368)+A(372)+A(812)+A(819) P_VAR(39) = A(25)+A(231)+A(291) P_VAR(40) = A(19)+A(23)+0.06*A(365)+0.06*A(366)+A(373)+0.013*A(493)+0.045*A(645) P_VAR(41) = 0 P_VAR(42) = A(346) P_VAR(43) = 0 P_VAR(44) = 0.6*A(357) P_VAR(45) = A(864)+A(865)+A(866) P_VAR(46) = 0.21*A(256) P_VAR(47) = 0.1*A(262) P_VAR(48) = 0.14*A(263) P_VAR(49) = 0.1*A(269) P_VAR(50) = 0.1*A(270) P_VAR(51) = 0.14*A(271) P_VAR(52) = 0 P_VAR(53) = 0.55*A(265) P_VAR(54) = 0.25*A(272) P_VAR(55) = A(345) P_VAR(56) = A(393) P_VAR(57) = A(438) P_VAR(58) = 0.15*A(707) P_VAR(59) = A(221) P_VAR(60) = 0 P_VAR(61) = 0.35*A(264) P_VAR(62) = A(334) P_VAR(63) = A(250) P_VAR(64) = A(3)+A(784) P_VAR(65) = A(6)+A(785) P_VAR(66) = 0.15*A(391)+0.25*A(464) P_VAR(67) = A(988) P_VAR(68) = 0 P_VAR(69) = 0 P_VAR(70) = 0.005*A(716) P_VAR(71) = 0.65*A(750) P_VAR(72) = 0.56*A(158) P_VAR(73) = A(351) P_VAR(74) = 0.41*A(391) P_VAR(75) = 0 P_VAR(76) = A(307) P_VAR(77) = A(844)+A(845)+A(848)+A(849)+A(852)+A(853) P_VAR(78) = 0.05*A(259) P_VAR(79) = 0 P_VAR(80) = A(197) P_VAR(81) = 0.3*A(260) P_VAR(82) = 0 P_VAR(83) = A(59) P_VAR(84) = 0.21*A(268) P_VAR(85) = 0.31*A(266) P_VAR(86) = 0.35*A(267) P_VAR(87) = 0.25*A(261) P_VAR(88) = 0.73*A(365)+0.4*A(366) P_VAR(89) = A(10) P_VAR(90) = A(752) P_VAR(91) = A(99) P_VAR(92) = 0.37*A(695) P_VAR(93) = A(27) P_VAR(94) = 0 P_VAR(95) = A(64) P_VAR(96) = 0.8*A(344)+2*A(347)+0.4*A(357)+0.996*A(358)+A(973)+2*A(978)+A(979) P_VAR(97) = A(114) P_VAR(98) = A(70) P_VAR(99) = A(146) P_VAR(100) = A(120) P_VAR(101) = 0 P_VAR(102) = A(116) P_VAR(103) = A(862)+A(863)+A(869)+A(870)+A(871)+A(872)+A(874)+A(875)+A(876)+A(877)+A(878)+A(879)+A(880) P_VAR(104) = 0.191*A(349)+A(846)+A(847)+A(850)+A(851)+A(854)+A(855) P_VAR(105) = 0 P_VAR(106) = 0.995*A(716)+A(717)+0.6*A(718)+A(1042) P_VAR(107) = 0.098*A(672)+0.75*A(684) P_VAR(108) = A(39) P_VAR(109) = 0.4*A(901) P_VAR(110) = A(274)+A(278)+A(303)+A(305)+A(311)+A(946) P_VAR(111) = A(384) P_VAR(112) = A(404) P_VAR(113) = A(124) P_VAR(114) = A(155) P_VAR(115) = 0.075*A(645)+0.241*A(650)+0.653*A(661)+0.75*A(1010) P_VAR(116) = 0.11*A(709) P_VAR(117) = 0.15*A(750)+A(755)+A(759) P_VAR(118) = A(144)+A(145) P_VAR(119) = 0.15*A(524)+0.15*A(525)+0.112*A(1020)+0.182*A(1021)+0.161*A(1031) P_VAR(120) = A(304)+A(310)+0.56*A(349) P_VAR(121) = A(732) P_VAR(122) = A(738) P_VAR(123) = A(147) P_VAR(124) = A(106) P_VAR(125) = A(121) P_VAR(126) = A(86) P_VAR(127) = 0.058*A(78) P_VAR(128) = 0.255*A(537)+0.595*A(538)+A(578)+A(580) P_VAR(129) = 0.2*A(383)+0.75*A(405)+A(406)+0.5*A(407)+A(458)+A(459)+A(1053) P_VAR(130) = 0.15*A(436)+0.25*A(466) P_VAR(131) = A(557)+0.13*A(558)+0.2*A(559)+0.35*A(686)+0.35*A(1033) P_VAR(132) = 0.255*A(81) P_VAR(133) = 0.315*A(524) P_VAR(134) = A(1)+A(7)+A(8)+A(9)+2*A(12)+A(202)+A(368)+A(372)+A(812)+A(819) P_VAR(135) = 0.315*A(525) P_VAR(136) = A(715)+0.2*A(718) P_VAR(137) = 0.25*A(385) P_VAR(138) = 0.25*A(405) P_VAR(139) = A(53) P_VAR(140) = 0 P_VAR(141) = 0 P_VAR(142) = 0 P_VAR(143) = 0.1*A(704) P_VAR(144) = 0.15*A(497)+0.15*A(505)+0.009*A(538) P_VAR(145) = 0.474*A(607)+0.34*A(608)+0.244*A(609)+0.841*A(612)+0.841*A(614)+0.841*A(617)+0.841*A(1029)+0.222*A(1032) P_VAR(146) = A(733)+A(734) P_VAR(147) = A(556)+A(561) P_VAR(148) = A(208)+A(210)+A(813)+A(817)+A(818) P_VAR(149) = 0 P_VAR(150) = 0.15*A(496)+0.15*A(503)+0.009*A(537) P_VAR(151) = 0.67*A(532)+0.68*A(534)+0.67*A(575)+0.67*A(577) P_VAR(152) = 0.33*A(532)+0.32*A(534)+0.33*A(575)+0.33*A(577) P_VAR(153) = A(562)+0.2*A(563)+0.13*A(565)+0.15*A(686)+0.15*A(1033)+0.163*A(1034) P_VAR(154) = A(481)+A(482)+A(483)+A(484)+A(485) P_VAR(155) = 0.41*A(128)+0.41*A(148)+0.41*A(737) P_VAR(156) = 0.25*A(129)+0.25*A(130)+0.4*A(142)+0.4*A(143) P_VAR(157) = A(312)+A(794)+A(797)+A(798)+A(799)+A(805)+A(806)+A(807)+A(809)+A(814)+A(815)+A(816) P_VAR(158) = 0.18*A(705)+0.03*A(707)+0.19*A(725)+0.15*A(726) P_VAR(159) = 0.5*A(671)+0.25*A(1012) P_VAR(160) = A(398)+0.25*A(401) P_VAR(161) = A(410)+0.25*A(413) P_VAR(162) = 0.5*A(407)+A(411) P_VAR(163) = 0.3*A(421)+0.84*A(429)+A(431)+0.75*A(432) P_VAR(164) = A(28) P_VAR(165) = A(72) P_VAR(166) = -A(4) P_VAR(167) = 0 P_VAR(168) = A(520) P_VAR(169) = A(430)+0.25*A(432)+0.41*A(436) P_VAR(170) = A(335)+A(338)+A(342) P_VAR(171) = 0.224*A(1020)+0.068*A(1031) P_VAR(172) = 0.182*A(1021)+0.128*A(1031) P_VAR(173) = 0.15*A(128)+0.15*A(148)+0.5*A(475)+0.5*A(707)+0.45*A(726)+0.15*A(737)+0.43*A(767)+0.52*A(770) P_VAR(174) = 0.725*A(542)+0.725*A(546)+0.35*A(550) P_VAR(175) = A(516) P_VAR(176) = 0.5*A(388)+0.16*A(399) P_VAR(177) = A(422)+A(425)+0.5*A(426)+0.5*A(427)+A(428)+0.16*A(429) P_VAR(178) = A(66)+A(67)+0.5*A(71) P_VAR(179) = -A(1) P_VAR(180) = 0.435*A(641) P_VAR(181) = 0.1*A(257) P_VAR(182) = 0.461*A(638)+0.67*A(639)+0.67*A(640)+0.041*A(691) P_VAR(183) = 0 P_VAR(184) = A(677)+A(680) P_VAR(185) = A(530)+0.444*A(687)+0.112*A(1020)+0.182*A(1021)+0.162*A(1031)+0.454*A(1037) P_VAR(186) = A(605) P_VAR(187) = 0.937*A(498) P_VAR(188) = 0.25*A(112)+0.25*A(113)+0.38*A(132)+0.375*A(133)+0.38*A(134)+0.375*A(135)+0.25*A(137)+0.25*A(138)+0.25& &*A(139)+0.25*A(473) P_VAR(189) = 0.3*A(702)+0.07*A(705)+0.05*A(707) P_VAR(190) = A(576) P_VAR(191) = 0 P_VAR(192) = 0.937*A(500) P_VAR(193) = A(444) P_VAR(194) = 0.022*A(691)+0.552*A(1020)+0.454*A(1021)+0.481*A(1031) P_VAR(195) = 0.54*A(724) P_VAR(196) = A(69)+A(74) P_VAR(197) = 0.68*A(81)+A(87)+A(900)+0.3*A(901) P_VAR(198) = 0.824*A(539)+0.452*A(543)+A(547)+0.667*A(688) P_VAR(199) = A(501) P_VAR(200) = 0 P_VAR(201) = 0.4*A(705)+0.6*A(707)+0.4*A(708)+0.3*A(725)+0.56*A(726)+0.44*A(743)+0.44*A(744) P_VAR(202) = 0.8*A(741)+0.727*A(743) P_VAR(203) = 0.06*A(741)+0.742*A(742)+0.073*A(743)+0.3*A(744)+0.3*A(745)+0.3*A(747)+A(756)+A(757)+A(758)+A(765)& &+A(1045) P_VAR(204) = 0.7*A(702)+A(703)+0.62*A(704)+A(706)+A(708)+0.89*A(709)+A(710)+A(711)+0.06*A(725)+0.06*A(726)+A(928) P_VAR(205) = A(574) P_VAR(206) = A(579) P_VAR(207) = A(581) P_VAR(208) = 0.13*A(566)+0.2*A(568)+0.53*A(651)+0.6*A(663)+0.255*A(667)+0.318*A(687)+0.391*A(1037) P_VAR(209) = A(499) P_VAR(210) = 0.3*A(496)+0.3*A(503)+0.018*A(537)+0.284*A(540)+0.135*A(542)+0.249*A(631)+0.471*A(632)+0.303*A(633)+0.59& &*A(635)+0.5*A(1039) P_VAR(211) = 0.25*A(418) P_VAR(212) = A(75) P_VAR(213) = 0.8*A(153)+A(154)+A(156) P_VAR(214) = A(45) P_VAR(215) = 0.085*A(524)+0.165*A(525)+0.58*A(526)+0.77*A(527)+0.75*A(551)+A(552)+A(554)+A(625)+A(637) P_VAR(216) = 0.6*A(582)+0.031*A(594)+0.065*A(595)+0.094*A(600)+0.355*A(601)+0.06*A(631)+0.073*A(632)+0.17*A(633)+0.291& &*A(635)+0.378*A(638)+0.13*A(678)+0.3*A(682) P_VAR(217) = A(229)+0.2*A(231)+A(234)+A(235)+0.22*A(253)+0.2*A(254)+0.09*A(257)+A(294)+A(888) P_VAR(218) = A(222) P_VAR(219) = 0 P_VAR(220) = 0 P_VAR(221) = 0.8*A(705)+0.375*A(707)+0.55*A(724)+0.68*A(725)+0.28*A(726)+0.18*A(741)+1.05*A(745)+A(746)+0.3*A(747)+0.9& &*A(763)+0.9*A(764)+A(1046) P_VAR(222) = 0.473*A(604)+0.07*A(606)+0.399*A(607)+0.355*A(610) P_VAR(223) = 0.345*A(531)+0.595*A(537) P_VAR(224) = 0.345*A(533)+0.255*A(538) P_VAR(225) = 0.2*A(383)+0.75*A(385)+A(386)+0.5*A(388)+A(456)+A(457)+A(1048) P_VAR(226) = A(622) P_VAR(227) = 0.29*A(650)+0.47*A(651)+0.063*A(661)+0.4*A(663)+0.16*A(666)+0.126*A(687)+0.133*A(1034)+0.155*A(1037) P_VAR(228) = 0.1*A(150)+A(898) P_VAR(229) = A(443) P_VAR(230) = 0.25*A(496)+0.25*A(503)+0.015*A(537) P_VAR(231) = 0.25*A(497)+0.25*A(505)+0.015*A(538) P_VAR(232) = 0.655*A(531)+0.655*A(533) P_VAR(233) = A(76)+A(77)+0.73*A(78) P_VAR(234) = A(127)+0.44*A(128)+A(713)+A(722) P_VAR(235) = A(748)+A(749)+A(753)+A(754) P_VAR(236) = 0.28*A(704)+0.2*A(750)+A(751)+A(760)+A(761)+A(766)+A(1043)+A(1044) P_VAR(237) = 0.37*A(417)+0.28*A(418)+0.37*A(419)+0.37*A(460)+0.37*A(461) P_VAR(238) = A(509)+A(510)+A(511)+0.5*A(513)+0.5*A(515)+0.45*A(519)+0.45*A(523)+0.06*A(537)+0.06*A(538)+A(1018)& &+A(1019)+0.45*A(1024)+0.45*A(1027) P_VAR(239) = A(37)+0.5*A(782)+A(802)+A(803)+A(804)+A(805)+A(806)+A(807)+A(839)+A(840)+A(844)+A(845)+A(846)+A(847)& &+A(994)+A(996)+A(1046) P_VAR(240) = A(735)+A(739) P_VAR(241) = 0.12*A(150) P_VAR(242) = 0.7*A(450)+0.7*A(451)+0.35*A(452)+0.3*A(470)+0.3*A(471)+0.3*A(472)+0.15*A(473)+0.3*A(474)+0.3*A(476)+0.6& &*A(478)+0.45*A(479)+0.3*A(480) P_VAR(243) = 0.16*A(536)+0.25*A(551) P_VAR(244) = 0.85*A(118)+0.85*A(119)+0.3*A(497)+0.3*A(505)+0.018*A(538)+0.294*A(544)+0.135*A(546)+0.009*A(631)+0.054& &*A(632)+0.013*A(633)+0.07*A(635)+0.036*A(646)+0.23*A(652)+0.05*A(1039) P_VAR(245) = 0.25*A(255)+A(302)+0.95*A(309)+A(314)+0.5*A(791)+0.5*A(792)+A(796)+A(800)+A(801)+A(802)+A(803)+A(804)& &+A(808)+A(810)+A(811) P_VAR(246) = 0.31*A(123)+A(125) P_VAR(247) = 0.791*A(169)+0.551*A(594)+0.935*A(595)+0.242*A(600)+0.546*A(601)+0.589*A(631)+0.471*A(632)+0.687*A(633)& &+0.59*A(635)+0.231*A(639)+0.231*A(640)+A(642)+0.82*A(643)+0.68*A(649)+A(654)+A(1015) P_VAR(248) = 0.059*A(585)+0.272*A(586)+A(660)+A(675)+0.37*A(678)+0.5*A(1038) P_VAR(249) = A(103) P_VAR(250) = A(162)+0.209*A(169) P_VAR(251) = A(94)+A(115)+0.07*A(123) P_VAR(252) = A(336) P_VAR(253) = 0.964*A(646)+A(658)+A(659) P_VAR(254) = A(644)+A(655)+A(656) P_VAR(255) = 0.27*A(379)+0.63*A(417)+0.47*A(418)+0.63*A(419)+0.63*A(460)+0.63*A(461) P_VAR(256) = 0.5*A(403)+0.5*A(416)+0.5*A(435)+A(468)+0.7*A(470)+0.7*A(471)+0.7*A(472)+0.35*A(473)+0.7*A(474)+0.7& &*A(476)+1.4*A(478)+1.05*A(479)+0.7*A(480) P_VAR(257) = 0.4*A(387)+A(389)+A(390)+A(394)+A(396) P_VAR(258) = 0.176*A(539)+0.548*A(543)+0.35*A(558)+0.35*A(565)+0.35*A(566)+0.333*A(688)+0.75*A(1035) P_VAR(259) = A(647)+0.32*A(649)+0.165*A(672)+A(683) P_VAR(260) = A(149)+0.209*A(176)+A(332)+A(333) P_VAR(261) = 0.441*A(597)+0.858*A(598)+0.033*A(600)+0.071*A(601)+0.051*A(631)+0.054*A(632)+0.064*A(633)+0.07*A(635)& &+0.099*A(639)+0.099*A(640)+0.89*A(642)+0.73*A(643)+0.3*A(1013)+0.15*A(1038) P_VAR(262) = 0.4*A(381)+0.675*A(445)+0.675*A(446)+0.78*A(447)+0.78*A(448)+0.39*A(449)+0.3*A(450)+0.3*A(451)+0.15& &*A(452)+0.675*A(462)+0.675*A(463)+0.675*A(1057) P_VAR(263) = 0.15*A(379)+0.5*A(381)+0.5*A(388)+0.84*A(399)+A(400)+0.75*A(401)+0.5*A(402)+0.55*A(403)+0.5*A(407)+A(422)& &+A(425)+A(428)+0.7*A(447)+0.7*A(448)+0.35*A(449)+0.7*A(450)+0.7*A(451)+0.35*A(452)+A(453)+A(454)+0.5& &*A(455)+0.7*A(702)+A(703)+0.813*A(705)+A(706)+0.93*A(707)+A(708)+0.46*A(724)+0.81*A(725)+0.85*A(726)+0.14& &*A(741)+0.2*A(743)+0.2*A(744)+0.7*A(745)+0.2*A(747)+A(1052) P_VAR(264) = A(19)+A(23)+0.06*A(365)+0.06*A(366)+A(373)+0.013*A(493)+0.045*A(645) P_VAR(265) = 0.134*A(151)+A(152)+0.5*A(168)+0.21*A(365)+0.54*A(366)+0.449*A(650)+0.187*A(661)+0.3*A(685)+0.5*A(694)& &+0.364*A(714)+0.26*A(767)+0.5*A(768)+0.1*A(770)+0.2*A(771) P_VAR(266) = A(560)+A(564)+A(567)+A(584)+A(588)+A(592)+A(593)+A(629)+0.5*A(630)+0.9*A(691) P_VAR(267) = A(518)+0.127*A(608)+0.057*A(609) P_VAR(268) = A(522)+0.032*A(607)+0.671*A(608)+0.298*A(609) P_VAR(269) = 0.258*A(742)+0.5*A(744)+0.5*A(747)+A(762) P_VAR(270) = 0.065*A(81)+0.134*A(151)+0.2*A(153)+0.8*A(563)+0.52*A(565)+A(697)+0.1*A(707)+0.636*A(714)+0.18*A(724)& &+0.12*A(725)+0.1*A(726)+0.06*A(741)+0.6*A(767)+0.6*A(768)+0.2*A(769)+0.5*A(1007)+0.429*A(1009)+0.125& &*A(1010)+0.586*A(1034)+0.571*A(1036) P_VAR(271) = 0.67*A(621) P_VAR(272) = A(423)+0.27*A(424)+0.18*A(426) P_VAR(273) = 0.1*A(383)+A(409)+A(415) P_VAR(274) = 0.715*A(379)+0.27*A(412)+0.23*A(413)+0.27*A(414)+0.085*A(416)+A(420)+0.6*A(421)+0.73*A(424)+0.32*A(426)& &+0.4*A(427)+A(433)+A(434)+0.5*A(435)+A(439)+A(441)+0.27*A(1054)+0.9*A(1058) P_VAR(275) = 0.15*A(380)+0.255*A(382)+A(408) P_VAR(276) = 0 P_VAR(277) = 0.15*A(380)+0.67*A(382)+0.5*A(383)+0.6*A(387) P_VAR(278) = 0.44*A(391)+A(392)+A(395)+A(397)+0.5*A(402)+0.75*A(464)+A(465)+A(1049)+A(1050)+A(1051) P_VAR(279) = A(91)+0.072*A(97)+A(117) P_VAR(280) = 0.1*A(375)+0.1*A(376)+0.5*A(377)+0.5*A(449)+0.5*A(452)+0.5*A(455) P_VAR(281) = A(378)+0.2*A(380)+0.075*A(382) P_VAR(282) = A(29)+0.13*A(31)+0.25*A(112)+0.25*A(113)+0.25*A(129)+0.25*A(130)+0.25*A(132)+0.25*A(133)+0.25*A(134)+0.25& &*A(135)+0.5*A(136)+0.25*A(137)+0.25*A(138)+0.25*A(139)+0.25*A(401)+0.25*A(413)+0.25*A(432)+0.25*A(456)& &+0.25*A(458)+0.25*A(460)+0.25*A(462)+0.25*A(473)+0.355*A(609)+0.034*A(610)+0.2*A(718)+0.1*A(907) P_VAR(283) = 0.5*A(168)+0.1*A(181)+0.1*A(182)+0.1*A(183)+0.1*A(184)+0.1*A(185)+0.1*A(186)+0.1*A(187)+0.1*A(188)+0.1& &*A(189)+0.1*A(190)+0.1*A(191)+0.1*A(192)+0.1*A(193)+A(374)+0.1*A(457)+0.1*A(459)+0.1*A(461)+0.1*A(463)& &+0.13*A(695)+0.15*A(770)+0.3*A(771) P_VAR(284) = A(341)+A(343)+A(348)+A(350)+A(354)+0.008*A(358)+A(979) P_VAR(285) = 0.068*A(528)+0.33*A(553)+0.19*A(555)+0.032*A(687) P_VAR(286) = 0.294*A(528)+0.67*A(553)+0.81*A(555)+0.08*A(687) P_VAR(287) = A(510)+0.5*A(511)+0.5*A(515)+0.55*A(523)+0.17*A(525)+0.09*A(527)+0.158*A(528)+0.165*A(536)+0.716*A(540)& &+0.14*A(542)+0.004*A(631)+0.006*A(633)+0.41*A(670)+0.5*A(686)+0.571*A(689)+0.25*A(690)+0.55*A(1027)+0.5& &*A(1033)+0.15*A(1039)+0.5*A(1041) P_VAR(288) = A(509)+0.5*A(511)+0.5*A(513)+0.55*A(519)+0.33*A(524)+0.19*A(526)+0.125*A(528)+0.125*A(535)+0.706*A(544)& &+0.14*A(546)+0.054*A(631)+0.059*A(633)+0.335*A(667)+0.429*A(689)+0.75*A(690)+0.55*A(1024)+0.5*A(1041) P_VAR(289) = 0.9*A(375)+0.9*A(376)+0.5*A(377) P_VAR(290) = A(912) P_VAR(291) = 0.5*A(380) P_VAR(292) = 0.25*A(68)+0.19*A(90)+0.19*A(93)+0.35*A(132)+0.35*A(134)+0.25*A(137)+0.271*A(182)+0.271*A(183)+0.1*A(185)& &+0.5*A(381)+0.42*A(399)+0.5*A(400)+0.375*A(401)+0.25*A(402)+0.3*A(403)+A(453)+A(454)+0.5*A(455)+0.464& &*A(469)+0.34*A(473)+0.464*A(475)+0.464*A(477)+0.149*A(479)+0.285*A(480)+0.19*A(926)+0.19*A(929)+A(991)+0.5& &*A(1052) P_VAR(293) = A(620)+0.33*A(621)+0.037*A(691) P_VAR(294) = 0.3*A(33)+0.5*A(136)+A(167)+0.1*A(184)+A(361)+0.3*A(496)+0.3*A(497)+0.3*A(503)+0.3*A(505)+0.085*A(524)& &+0.165*A(525)+0.355*A(528)+0.5*A(529)+0.018*A(537)+0.018*A(538)+0.52*A(558)+0.8*A(559)+0.545*A(645)+0.88& &*A(648)+0.449*A(650)+0.187*A(661)+A(662)+A(664)+0.05*A(667)+0.242*A(668)+0.083*A(670)+0.14*A(674)+0.7& &*A(685)+0.25*A(707)+0.12*A(725)+0.2*A(726)+0.6*A(770)+0.6*A(771)+0.2*A(772)+0.5*A(1007)+0.47*A(1008)+0.571& &*A(1009)+0.125*A(1010)+0.23*A(1011)+0.118*A(1034)+0.429*A(1036)+A(1040) P_VAR(295) = 0.34*A(90)+0.34*A(93)+A(98)+0.16*A(132)+0.16*A(134)+0.75*A(138)+0.791*A(172)+0.29*A(182)+0.29*A(183)& &+A(186)+0.5*A(381)+0.84*A(399)+A(400)+0.75*A(401)+0.5*A(402)+0.4*A(403)+0.6*A(412)+0.4*A(413)+0.6*A(414)& &+0.3*A(416)+0.45*A(445)+0.45*A(446)+0.3*A(447)+0.3*A(448)+0.15*A(449)+0.5*A(453)+0.5*A(454)+0.25*A(455)& &+0.45*A(462)+0.45*A(463)+A(491)+A(920)+0.34*A(926)+0.34*A(929)+A(1000)+A(1052)+0.6*A(1054)+0.45*A(1057) P_VAR(296) = A(57)+A(179)+A(219)+A(321)+A(701) P_VAR(297) = A(787)+A(789)+A(790) P_VAR(298) = A(63)+0.75*A(68)+0.5*A(71)+1.24*A(73)+0.326*A(78)+0.894*A(79)+0.15*A(90)+0.64*A(92)+0.15*A(93)+0.64*A(95)& &+0.75*A(112)+0.09*A(113)+0.13*A(132)+0.58*A(133)+0.13*A(134)+0.58*A(135)+0.25*A(139)+A(141)+0.64*A(171)& &+1.185*A(173)+1.185*A(174)+0.255*A(182)+0.255*A(183)+0.613*A(187)+0.613*A(188)+0.1*A(189)+0.035*A(192)& &+A(193)+0.3*A(381)+0.6*A(412)+0.4*A(413)+0.6*A(414)+0.3*A(416)+0.44*A(436)+A(437)+A(440)+A(442)+0.75& &*A(466)+A(467)+1.24*A(469)+0.93*A(473)+1.24*A(475)+1.24*A(477)+0.64*A(479)+1.21*A(480)+A(492)+1.2*A(769)& &+1.15*A(772)+A(917)+A(919)+1.5*A(921)+A(922)+1.5*A(923)+0.15*A(926)+1.558*A(927)+0.15*A(929)+A(989)+A(992)& &+A(1001)+0.6*A(1054)+A(1055)+A(1056) P_VAR(299) = A(587)+A(591)+A(596)+A(599)+A(602)+A(616)+A(618)+A(634)+A(636)+0.18*A(643) P_VAR(300) = A(101)+0.21*A(174)+A(331)+0.2*A(772) P_VAR(301) = 0.4*A(582)+0.4*A(583)+0.07*A(606)+0.532*A(607)+0.862*A(608)+0.401*A(609)+0.034*A(610)+0.159*A(612)+0.159& &*A(614)+0.159*A(617)+A(619)+A(628)+0.159*A(1029)+0.223*A(1032) P_VAR(302) = 0.6*A(583)+0.599*A(589)+A(590)+0.065*A(597)+0.142*A(598)+0.01*A(600)+0.028*A(601)+0.008*A(631)+0.015& &*A(632)+0.014*A(633)+0.049*A(635)+0.161*A(638)+A(657)+A(669)+0.05*A(1038) P_VAR(303) = A(541)+A(545)+A(549)+0.482*A(585)+0.401*A(589)+0.418*A(594)+0.494*A(597)+0.621*A(600)+A(623)+A(624)+0.5& &*A(630)+0.234*A(631)+0.387*A(632)+0.565*A(641) P_VAR(304) = 0.5*A(330)+A(495)+0.51*A(536)+0.03*A(538)+0.159*A(1030) P_VAR(305) = 0.5*A(330)+A(494)+0.75*A(535)+0.03*A(537)+0.841*A(1030) P_VAR(306) = 0.659*A(79)+A(80)+A(82)+A(83)+0.5*A(84)+A(88)+A(126)+0.5*A(453)+0.5*A(454)+0.25*A(455)+0.294*A(544)+0.135& &*A(546)+A(548)+0.65*A(550)+0.52*A(558)+0.8*A(559)+0.459*A(585)+0.728*A(586)+0.551*A(594)+0.935*A(595)& &+0.242*A(600)+0.546*A(601)+0.34*A(631)+0.384*A(633)+0.11*A(642)+0.09*A(643)+0.36*A(667)+0.758*A(668)+0.2& &*A(718)+A(720)+A(721)+A(723)+A(746)+0.9*A(768)+0.95*A(771)+0.53*A(1008)+0.69*A(1013)+0.5*A(1032)+0.118& &*A(1034)+0.25*A(1035)+0.429*A(1036)+0.3*A(1038)+0.35*A(1039)+A(1040) P_VAR(307) = 0.16*A(113)+0.2*A(136)+0.791*A(176)+0.065*A(192)+A(488)+0.5*A(529)+0.284*A(540)+0.135*A(542)+A(548)+0.65& &*A(550)+0.8*A(563)+0.52*A(565)+0.52*A(566)+0.8*A(568)+A(569)+0.459*A(585)+0.728*A(586)+0.441*A(597)+0.858& &*A(598)+0.033*A(600)+0.071*A(601)+0.042*A(631)+0.051*A(633)+0.77*A(652)+0.84*A(666)+0.507*A(670)+0.488& &*A(672)+A(673)+0.86*A(674)+0.5*A(678)+A(679)+A(681)+0.7*A(682)+0.25*A(684)+A(993)+0.77*A(1011)+A(1014)+0.5& &*A(1032)+0.586*A(1034)+0.25*A(1035)+0.571*A(1036)+0.45*A(1038)+0.8*A(1039) P_VAR(308) = A(653) P_VAR(309) = 0.416*A(493)+0.063*A(500)+A(504)+2*A(507)+A(508)+A(514)+A(521)+0.035*A(525)+0.14*A(527)+0.165*A(536)& &+A(572)+A(573)+0.048*A(604)+0.123*A(606)+0.019*A(607)+0.028*A(610)+0.097*A(611)+0.097*A(613)+0.096*A(615)& &+A(1017)+A(1023)+A(1026)+0.097*A(1028)+0.005*A(1032) P_VAR(310) = 0.465*A(603)+A(626) P_VAR(311) = 0.535*A(603)+A(627) P_VAR(312) = 0.22*A(150)+0.1*A(383)+0.33*A(421)+0.58*A(493)+0.5*A(645)+0.88*A(648)+0.5*A(704)+A(712) P_VAR(313) = 0.7*A(33)+A(111)+A(218)+A(329) P_VAR(314) = 0.15*A(381)+0.45*A(445)+0.45*A(446)+0.3*A(447)+0.3*A(448)+0.15*A(449)+0.5*A(453)+0.5*A(454)+0.25*A(455)& &+0.45*A(462)+0.45*A(463)+0.177*A(493)+0.063*A(498)+A(502)+2*A(506)+A(508)+A(512)+A(517)+0.035*A(524)+0.23& &*A(526)+0.125*A(535)+A(570)+A(571)+0.479*A(604)+1.737*A(606)+0.544*A(607)+0.583*A(610)+0.903*A(611)+0.903& &*A(613)+0.904*A(615)+0.04*A(725)+0.04*A(726)+A(1016)+A(1022)+A(1025)+0.903*A(1028)+0.05*A(1032)+0.45& &*A(1057) P_VAR(315) = 0.34*A(90)+0.34*A(93)+0.49*A(109)+0.16*A(132)+0.16*A(134)+0.22*A(148)+0.36*A(170)+0.29*A(182)+0.29*A(183)& &+0.49*A(194)+0.49*A(195)+0.49*A(903)+0.415*A(906)+0.34*A(926)+0.34*A(929) P_VAR(316) = A(204)+A(211)+A(793)+A(820)+A(821)+A(822) P_VAR(317) = A(301) P_VAR(318) = A(102)+0.5*A(763)+0.5*A(764) P_VAR(319) = 0.25*A(68)+A(89)+0.15*A(133)+0.15*A(135)+0.21*A(173)+0.27*A(187)+0.27*A(188)+0.6*A(412)+0.4*A(413)+0.6& &*A(414)+0.3*A(416)+0.352*A(436)+0.8*A(437)+0.8*A(440)+0.8*A(442)+0.6*A(466)+0.8*A(467)+0.6*A(1054)+0.8& &*A(1055)+0.8*A(1056) P_VAR(320) = A(122)+A(131)+0.3*A(381) P_VAR(321) = A(62)+0.05*A(90)+0.05*A(93)+0.07*A(109)+0.03*A(132)+0.03*A(134)+0.03*A(148)+0.36*A(171)+0.045*A(182)& &+0.045*A(183)+0.07*A(194)+0.07*A(195)+A(220)+A(328)+0.07*A(903)+0.06*A(906)+0.05*A(926)+0.05*A(929) P_VAR(322) = A(105)+A(107)+A(110)+A(175)+0.84*A(399)+A(400)+0.75*A(401)+0.5*A(402)+0.4*A(403)+A(736)+0.44*A(737)+0.33& &*A(767)+0.33*A(770)+0.15*A(906)+A(914)+0.326*A(927)+0.7*A(1047)+A(1052) P_VAR(323) = A(61)+0.19*A(90)+0.19*A(93)+0.27*A(109)+0.09*A(132)+0.09*A(134)+0.12*A(148)+0.209*A(172)+0.162*A(182)& &+0.162*A(183)+0.27*A(194)+0.27*A(195)+A(327)+0.27*A(903)+0.23*A(906)+0.19*A(926)+0.19*A(929) P_VAR(324) = 0.95*A(51)+A(52)+A(54)+A(96)+0.919*A(97)+0.15*A(118)+0.15*A(119)+0.62*A(123)+0.3*A(136)+0.5*A(137)+A(164)& &+A(166)+0.78*A(178)+0.9*A(184)+0.9*A(185)+A(217)+0.44*A(436)+A(437)+A(440)+A(442)+0.75*A(466)+A(467)+0.3& &*A(496)+0.3*A(503)+0.018*A(537)+0.38*A(645)+0.12*A(648)+0.04*A(650)+0.097*A(661)+A(665)+0.36*A(667)+0.758& &*A(668)+0.175*A(671)+0.087*A(672)+0.35*A(676)+0.3*A(685)+A(692)+A(693)+A(740)+0.12*A(897)+0.7*A(899)& &+A(902)+A(904)+0.85*A(906)+A(911)+A(913)+A(915)+A(916)+0.326*A(927)+A(984)+A(1004)+A(1005)+A(1006)+0.5& &*A(1007)+0.53*A(1008)+0.429*A(1009)+0.125*A(1010)+0.262*A(1012)+1.01*A(1013)+A(1055)+A(1056) P_VAR(325) = A(11)+A(12)+A(17)+A(26)+A(29)+2*A(30)+0.87*A(31)+0.3*A(32)+A(48)+0.05*A(51)+A(55)+A(65)+0.98*A(73)+A(76)& &+A(77)+0.603*A(78)+A(80)+0.065*A(81)+A(84)+A(85)+0.64*A(92)+0.64*A(95)+A(96)+A(100)+0.75*A(112)+1.25& &*A(113)+0.15*A(118)+0.31*A(123)+0.75*A(129)+0.75*A(130)+0.75*A(132)+0.95*A(133)+0.75*A(134)+0.95*A(135)& &+0.5*A(136)+0.75*A(137)+0.75*A(138)+1.25*A(139)+0.5*A(150)+0.732*A(151)+A(157)+0.44*A(158)+A(159)+A(160)& &+A(161)+0.22*A(178)+A(181)+0.9*A(184)+0.351*A(187)+0.351*A(188)+0.9*A(189)+0.9*A(192)+A(195)+A(199)+A(201)& &+0.25*A(231)+A(274)+A(319)+A(324)+A(360)+A(362)+A(363)+A(364)+0.06*A(365)+0.06*A(366)+A(367)+A(368)+0.1& &*A(381)+0.1*A(383)+0.5*A(388)+0.84*A(399)+A(400)+1.5*A(401)+0.5*A(402)+0.4*A(403)+0.75*A(405)+A(406)& &+A(407)+0.75*A(413)+0.67*A(421)+A(427)+0.75*A(432)+0.176*A(436)+0.4*A(437)+0.4*A(440)+0.4*A(442)+0.1& &*A(445)+0.1*A(446)+0.1*A(447)+0.1*A(448)+0.05*A(449)+1.5*A(453)+1.5*A(454)+0.75*A(455)+0.75*A(456)+1.75& &*A(458)+A(459)+0.75*A(460)+0.85*A(462)+0.1*A(463)+A(464)+1.3*A(466)+0.4*A(467)+0.287*A(469)+A(472)+0.85& &*A(473)+0.287*A(475)+0.287*A(477)+0.202*A(479)+0.504*A(480)+A(489)+0.827*A(493)+0.3*A(496)+0.3*A(497)& &+0.063*A(498)+0.063*A(500)+A(502)+0.3*A(503)+A(504)+0.3*A(505)+2*A(506)+2*A(507)+2*A(508)+2*A(512)+A(513)& &+2*A(514)+A(515)+A(517)+A(521)+0.085*A(524)+0.165*A(525)+0.5*A(529)+0.018*A(537)+0.018*A(538)+0.716*A(540)& &+0.14*A(542)+0.706*A(544)+0.14*A(546)+0.65*A(566)+A(568)+0.059*A(585)+0.272*A(586)+0.599*A(589)+A(590)& &+0.031*A(594)+0.065*A(595)+0.065*A(597)+0.142*A(598)+0.104*A(600)+0.383*A(601)+0.527*A(604)+1.86*A(606)& &+0.563*A(607)+0.645*A(609)+1.577*A(610)+A(611)+A(613)+A(615)+0.126*A(631)+0.088*A(632)+0.249*A(633)+0.34& &*A(635)+0.6*A(645)+0.12*A(648)+0.241*A(650)+0.05*A(667)+0.242*A(668)+0.083*A(670)+0.5*A(671)+0.25*A(672)& &+0.14*A(674)+A(676)+A(682)+0.022*A(691)+0.5*A(694)+A(696)+A(702)+A(703)+0.5*A(704)+0.25*A(705)+A(706)+0.12& &*A(707)+A(712)+0.8*A(718)+2*A(719)+A(730)+A(740)+A(765)+A(766)+A(779)+A(887)+0.3*A(901)+A(902)+0.9*A(907)& &+A(910)+A(913)+A(915)+A(916)+A(924)+A(982)+A(984)+A(990)+A(998)+A(1002)+A(1003)+A(1005)+A(1006)+0.47& &*A(1008)+0.23*A(1011)+0.75*A(1012)+A(1016)+A(1017)+A(1025)+A(1026)+A(1028)+0.055*A(1032)+0.133*A(1034)& &+0.55*A(1038)+0.15*A(1039)+A(1052)+A(1053)+0.4*A(1055)+0.4*A(1056)+0.1*A(1057) P_VAR(326) = A(58)+A(60)+A(65)+0.65*A(73)+0.34*A(90)+0.97*A(92)+0.34*A(93)+0.97*A(95)+0.919*A(97)+A(100)+A(108)+0.5& &*A(113)+0.15*A(119)+0.62*A(123)+0.75*A(129)+0.75*A(130)+0.16*A(132)+0.38*A(133)+0.16*A(134)+0.38*A(135)& &+0.5*A(137)+0.5*A(139)+A(140)+1.6*A(142)+1.6*A(143)+0.5*A(150)+0.64*A(170)+0.29*A(182)+0.29*A(183)+0.9& &*A(185)+0.675*A(187)+0.675*A(188)+0.9*A(189)+A(190)+A(191)+0.9*A(192)+A(322)+A(323)+A(325)+A(369)+A(370)& &+A(371)+A(372)+A(373)+A(490)+0.4*A(705)+A(918)+A(924)+A(925)+0.34*A(926)+0.348*A(927)+0.34*A(929)+A(999) P_VAR(327) = A(35)+A(50)+A(52)+A(67)+A(101)+A(110)+A(131)+A(154)+A(165)+A(166)+A(179)+A(201)+A(389)+A(486)+A(487)+0.32& &*A(649)+A(692)+A(706)+A(708)+0.742*A(742)+0.5*A(744)+0.5*A(747)+A(749)+0.5*A(764)+0.5*A(782)+A(783)+2& &*A(786)+A(787)+2*A(788)+A(789)+A(790)+A(793)+A(794)+A(795)+A(796)+A(797)+A(798)+A(799)+A(800)+A(801)& &+A(841)+A(842)+A(843)+A(848)+A(849)+A(850)+A(851) P_VAR(328) = A(25)+0.7*A(32)+A(56)+0.19*A(90)+0.19*A(93)+A(104)+0.85*A(119)+0.09*A(132)+0.09*A(134)+0.25*A(137)+0.28& &*A(150)+0.5*A(168)+2*A(180)+0.9*A(181)+0.9*A(182)+0.9*A(183)+0.9*A(184)+0.9*A(185)+0.9*A(186)+0.9*A(187)& &+0.9*A(188)+0.9*A(189)+0.9*A(190)+0.9*A(191)+0.9*A(192)+0.9*A(193)+A(194)+A(198)+A(199)+A(200)+A(201)+0.75& &*A(231)+0.9*A(257)+A(258)+A(291)+A(320)+A(326)+A(359)+0.9*A(457)+0.9*A(459)+0.9*A(461)+0.9*A(463)+A(465)& &+A(467)+A(474)+0.5*A(475)+0.407*A(493)+A(611)+A(612)+0.325*A(671)+0.162*A(672)+0.65*A(676)+0.5*A(695)& &+A(731)+0.88*A(897)+0.3*A(899)+A(904)+2*A(905)+0.15*A(906)+A(914)+A(925)+0.19*A(926)+0.19*A(929)+A(930)& &+A(939)+A(940)+A(983)+0.488*A(1012) P_VAR(329) = A(34)+A(50)+0.05*A(51)+A(55)+A(80)+A(82)+A(83)+A(84)+A(85)+A(88)+A(108)+A(126)+0.56*A(150)+0.505*A(151)& &+A(152)+A(160)+2*A(163)+A(164)+2*A(165)+A(166)+0.5*A(168)+A(216)+A(238)+A(252)+A(292)+A(315)+A(316)+A(317)& &+0.15*A(379)+0.1*A(383)+0.407*A(493)+0.6*A(496)+0.9*A(497)+0.6*A(503)+0.9*A(505)+A(509)+A(510)+A(511)+0.5& &*A(513)+0.5*A(515)+0.55*A(519)+0.55*A(523)+0.45*A(524)+0.37*A(525)+0.42*A(526)+0.23*A(527)+0.638*A(528)& &+1.5*A(529)+A(530)+0.25*A(535)+0.33*A(536)+0.036*A(537)+0.054*A(538)+A(557)+0.13*A(558)+0.2*A(559)+A(562)& &+0.2*A(563)+0.13*A(565)+0.52*A(566)+0.8*A(568)+2*A(569)+0.6*A(582)+0.6*A(583)+0.539*A(638)+0.33*A(639)& &+0.33*A(640)+0.28*A(645)+0.036*A(646)+0.12*A(648)+0.68*A(649)+0.77*A(652)+0.25*A(654)+0.75*A(661)+A(662)& &+A(664)+2*A(665)+0.84*A(666)+0.507*A(670)+0.325*A(671)+0.488*A(672)+A(673)+0.86*A(674)+0.65*A(676)+0.25& &*A(684)+A(685)+A(686)+0.888*A(687)+A(690)+A(696)+0.18*A(704)+0.12*A(707)+0.364*A(714)+0.2*A(724)+0.27& &*A(725)+0.3*A(726)+2*A(740)+0.15*A(763)+0.15*A(764)+0.26*A(767)+0.5*A(768)+0.25*A(770)+0.5*A(771)+0.05& &*A(772)+A(888)+A(889)+0.88*A(897)+A(898)+0.7*A(901)+A(902)+A(903)+A(905)+A(907)+2*A(908)+2*A(909)+A(910)& &+A(911)+A(912)+A(913)+A(915)+A(986)+A(990)+A(1003)+A(1006)+0.5*A(1007)+0.571*A(1009)+0.875*A(1010)+0.77& &*A(1011)+A(1014)+A(1015)+0.888*A(1020)+0.818*A(1021)+A(1022)+A(1023)+0.55*A(1024)+0.55*A(1027)+0.839& &*A(1031)+A(1033)+0.163*A(1034)+A(1037)+A(1041)+A(1043)+A(1046)+A(1049)+A(1058) P_VAR(330) = A(352)+A(355)+A(843) P_VAR(331) = A(337)+A(339)+0.2*A(344)+0.809*A(349)+A(352)+A(353)+A(356)+0.4*A(357)+0.996*A(358)+A(359)+2*A(966)+A(967)& &+A(968)+A(969)+A(970)+A(971)+A(972)+A(973)+A(974)+2*A(975)+A(976)+A(977)+A(980)+A(981) P_VAR(332) = A(339)+A(340) P_VAR(333) = A(273)+A(277)+A(278)+A(281)+A(282)+A(299)+A(795) P_VAR(334) = A(883)+A(985) P_VAR(335) = A(13)+A(22)+A(26)+A(38)+A(40)+A(41)+A(42)+2*A(43)+A(44)+A(46)+A(49)+A(54)+A(55)+A(56)+A(58)+A(60)+A(63)& &+A(65)+A(68)+2*A(73)+A(76)+0.942*A(78)+A(80)+A(82)+A(85)+A(87)+A(90)+2*A(92)+A(93)+2*A(95)+A(96)+0.928& &*A(97)+A(98)+2*A(100)+A(107)+A(108)+A(109)+0.93*A(123)+A(125)+A(126)+A(127)+A(133)+A(135)+A(139)+A(156)& &+A(157)+A(159)+A(160)+A(187)+A(188)+A(189)+2*A(196)+A(198)+A(209)+A(215)+A(241)+A(242)+A(281)+A(300)& &+A(337)+2*A(338)+A(341)+A(348)+A(356)+A(360)+A(361)+A(363)+A(370)+0.75*A(385)+A(386)+0.5*A(388)+A(392)& &+A(394)+A(395)+0.84*A(399)+A(400)+0.5*A(403)+0.75*A(405)+A(406)+0.5*A(407)+A(412)+A(414)+0.5*A(416)+0.75& &*A(418)+A(419)+0.5*A(426)+0.5*A(427)+A(428)+0.84*A(429)+A(431)+A(434)+0.5*A(435)+A(437)+A(439)+A(440)& &+A(445)+A(446)+0.5*A(449)+0.3*A(450)+0.3*A(451)+1.15*A(452)+0.5*A(455)+A(468)+2*A(469)+0.5*A(473)+A(475)& &+A(476)+2*A(477)+0.5*A(479)+A(480)+A(489)+A(490)+A(491)+A(492)+A(517)+A(519)+A(521)+A(523)+A(540)+A(544)& &+A(548)+A(559)+A(563)+A(568)+A(570)+A(572)+A(575)+A(577)+A(578)+A(580)+0.459*A(585)+1.728*A(586)+A(590)& &+A(595)+A(598)+A(601)+0.527*A(604)+1.86*A(606)+0.563*A(607)+0.611*A(610)+A(611)+2*A(613)+A(614)+2*A(615)& &+A(617)+A(625)+0.058*A(631)+1.065*A(633)+A(635)+A(637)+A(639)+0.565*A(641)+1.11*A(642)+0.09*A(643)+0.31& &*A(650)+A(655)+A(658)+A(668)+A(674)+A(676)+0.5*A(678)+2*A(679)+A(680)+2*A(681)+0.7*A(682)+A(683)+A(690)& &+0.022*A(691)+A(692)+A(703)+0.89*A(709)+A(711)+0.995*A(716)+A(717)+A(721)+A(728)+A(729)+A(733)+A(736)& &+A(739)+A(740)+A(751)+A(754)+A(755)+A(757)+A(758)+0.5*A(763)+A(764)+A(779)+A(890)+A(893)+A(894)+A(896)+0.7& &*A(899)+A(900)+A(917)+A(926)+A(927)+A(928)+A(929)+A(935)+A(936)+A(947)+A(949)+A(971)+A(983)+A(990)+A(991)& &+A(992)+A(993)+A(995)+A(997)+A(998)+A(999)+A(1000)+A(1001)+A(1005)+0.7*A(1013)+A(1014)+A(1024)+A(1025)& &+A(1026)+A(1027)+A(1028)+A(1030)+A(1031)+1.555*A(1032)+0.3*A(1038)+A(1039)+A(1040)+A(1041)+0.7*A(1047) P_VAR(336) = A(18)+A(20)+A(21)+A(25)+A(32)+A(33)+A(34)+A(36)+A(38)+A(41)+A(47)+A(51)+A(57)+A(72)+A(102)+A(103)+A(104)& &+A(105)+A(111)+A(122)+A(206)+A(225)+A(234)+0.02*A(247)+A(279)+A(280)+A(283)+A(286)+A(287)+A(288)+A(289)& &+A(290)+A(318)+A(353)+A(354)+A(359)+A(701)+A(781)+A(808)+A(809)+A(810)+A(811)+A(813)+A(814)+A(815)+A(816)& &+A(928) P_VAR(337) = A(14)+A(17)+A(21)+A(24)+A(26)+2*A(30)+1.74*A(31)+A(34)+A(40)+A(44)+A(47)+A(48)+A(50)+0.05*A(51)+A(58)& &+A(60)+A(63)+A(65)+0.75*A(68)+0.513*A(78)+A(80)+0.425*A(81)+A(82)+A(83)+0.25*A(84)+A(85)+0.27*A(90)+0.27& &*A(93)+A(98)+A(112)+A(113)+A(129)+A(130)+0.64*A(132)+0.5*A(133)+0.64*A(134)+0.5*A(135)+0.3*A(136)+0.5& &*A(137)+A(138)+0.5*A(139)+A(140)+A(141)+1.2*A(142)+1.2*A(143)+0.28*A(150)+0.773*A(151)+0.2*A(153)+A(157)& &+0.44*A(158)+A(159)+A(161)+A(163)+A(165)+A(167)+0.9*A(181)+0.243*A(182)+0.243*A(183)+0.9*A(186)+0.9*A(190)& &+0.9*A(191)+0.9*A(192)+0.9*A(193)+A(195)+A(202)+A(214)+A(216)+A(225)+0.2*A(231)+A(244)+A(245)+A(252)& &+A(274)+A(275)+A(283)+A(284)+A(285)+A(292)+A(295)+A(315)+A(316)+A(317)+A(319)+A(322)+A(323)+A(324)+0.05& &*A(381)+0.75*A(385)+A(386)+0.5*A(388)+A(401)+0.75*A(405)+A(406)+0.5*A(407)+A(412)+A(413)+A(414)+0.75& &*A(418)+A(419)+0.84*A(429)+A(431)+A(432)+A(445)+A(446)+A(453)+0.5*A(455)+1.75*A(456)+A(457)+1.75*A(458)& &+A(459)+1.75*A(460)+A(461)+1.75*A(462)+A(463)+0.75*A(464)+0.75*A(466)+A(468)+2*A(472)+0.5*A(473)+A(474)& &+A(476)+A(478)+0.5*A(479)+0.16*A(493)+0.4*A(496)+0.7*A(497)+0.063*A(498)+0.063*A(500)+0.4*A(503)+0.7& &*A(505)+2*A(506)+2*A(507)+2*A(508)+A(509)+A(510)+A(511)+2*A(512)+1.5*A(513)+2*A(514)+1.5*A(515)+A(517)& &+0.45*A(519)+A(521)+0.45*A(523)+0.085*A(524)+0.165*A(525)+0.283*A(528)+A(530)+0.25*A(535)+0.33*A(536)& &+0.024*A(537)+0.042*A(538)+A(540)+0.275*A(542)+A(544)+0.275*A(546)+0.75*A(551)+A(552)+A(554)+A(556)+0.65& &*A(558)+A(559)+A(561)+A(563)+0.65*A(565)+0.65*A(566)+A(568)+A(569)+0.4*A(582)+0.4*A(583)+A(584)+0.059& &*A(585)+0.272*A(586)+A(588)+0.599*A(589)+A(590)+A(592)+A(593)+0.582*A(594)+A(595)+0.506*A(597)+A(598)& &+0.379*A(600)+A(601)+0.089*A(607)+0.064*A(608)+0.336*A(609)+0.611*A(610)+0.159*A(612)+0.159*A(614)+0.159& &*A(617)+A(619)+0.326*A(631)+0.58*A(632)+0.5*A(633)+0.904*A(635)+0.295*A(638)+0.33*A(639)+0.33*A(640)+0.89& &*A(642)+0.73*A(643)+0.1*A(645)+0.036*A(646)+0.715*A(661)+A(663)+A(665)+A(666)+0.305*A(667)+0.242*A(668)& &+0.507*A(670)+0.86*A(674)+0.7*A(682)+0.5*A(686)+0.444*A(687)+0.62*A(691)+0.5*A(694)+A(699)+0.7*A(702)+0.1& &*A(704)+0.18*A(705)+0.03*A(707)+A(709)+A(711)+0.364*A(714)+0.6*A(718)+A(719)+A(720)+0.54*A(724)+0.19& &*A(725)+0.15*A(726)+A(727)+A(728)+A(729)+2*A(730)+A(731)+A(733)+0.8*A(741)+0.727*A(743)+A(746)+A(765)& &+A(766)+0.33*A(767)+0.1*A(768)+0.2*A(769)+0.33*A(770)+0.1*A(771)+0.2*A(772)+A(773)+A(775)+A(777)+A(779)& &+A(887)+A(888)+A(893)+A(897)+0.3*A(901)+A(902)+A(903)+1.73*A(907)+2*A(908)+A(911)+A(913)+A(915)+A(916)& &+A(917)+A(918)+A(919)+A(920)+A(921)+A(922)+A(923)+A(924)+A(925)+0.27*A(926)+0.326*A(927)+A(928)+0.27& &*A(929)+A(982)+A(989)+A(990)+A(998)+A(999)+A(1000)+A(1001)+A(1003)+A(1004)+A(1006)+1.5*A(1007)+0.47& &*A(1008)+0.571*A(1009)+0.125*A(1010)+A(1011)+0.29*A(1013)+A(1014)+A(1015)+A(1016)+A(1017)+A(1018)+A(1019)& &+0.112*A(1020)+0.182*A(1021)+A(1022)+A(1023)+0.45*A(1024)+A(1025)+A(1026)+0.45*A(1027)+0.33*A(1028)+0.159& &*A(1029)+0.161*A(1031)+0.228*A(1032)+1.5*A(1033)+A(1034)+0.75*A(1035)+A(1036)+1.454*A(1037)+0.7*A(1038)& &+0.7*A(1039)+A(1041)+A(1043)+A(1046)+A(1048)+A(1049)+A(1053)+A(1054)+A(1057)+A(1058) P_VAR(338) = 0.22*A(253)+0.75*A(255)+0.79*A(256)+0.46*A(257)+0.56*A(261)+0.9*A(262)+0.86*A(263)+0.34*A(264)+0.69& &*A(266)+0.65*A(267)+0.79*A(268)+0.8*A(269)+0.85*A(270)+0.86*A(271)+A(280)+A(293)+A(297)+2*A(308)+0.1& &*A(309)+A(313)+A(319)+A(322)+A(323)+A(945)+A(949) P_VAR(339) = 0.12*A(253)+A(276)+A(291)+A(292)+A(294)+A(295)+A(296)+2*A(315)+A(316)+A(317)+A(318)+A(320)+A(321)+A(324)& &+A(325)+A(326)+A(327)+A(328)+A(329)+A(330)+A(331)+A(332)+A(812) P_VAR(340) = 0.66*A(253)+0.75*A(255)+2.37*A(256)+0.35*A(257)+0.19*A(261)+1.8*A(262)+0.86*A(263)+0.31*A(264)+0.69& &*A(266)+0.79*A(268)+1.9*A(269)+0.95*A(270)+A(273)+A(275)+A(279)+A(283)+2*A(284)+3*A(285)+3*A(286)+A(287)+2& &*A(288)+A(289)+2*A(290)+A(298)+A(300)+A(303)+A(304)+A(306)+2*A(316)+3*A(317)+0.249*A(349)+A(940)+2*A(941)& &+A(942)+2*A(943)+A(944)+A(946)+A(947)+A(948)+A(950)+3*A(951)+4*A(952)+3*A(953)+2*A(954)+3*A(955)+2*A(956)& &+A(957)+2*A(958)+2*A(959)+A(960)+A(961)+A(963)+A(965)+A(976)+A(981) P_VAR(341) = 0.15*A(128)+0.15*A(148)+0.15*A(158)+A(232)+0.15*A(391)+0.15*A(436)+0.13*A(671)+0.13*A(678)+0.13*A(695)& &+0.15*A(737)+0.15*A(750) P_VAR(342) = A(206)+2*A(207)+A(209)+A(211)+A(213)+A(214)+3*A(223)+2*A(224)+A(225)+A(251)+0.6*A(254)+0.56*A(258)+0.95& &*A(259)+1.4*A(260)+0.34*A(264)+0.75*A(272)+A(310)+A(311)+A(343)+A(344)+2*A(931)+A(932)+A(933)+A(934)& &+A(936)+3*A(937)+2*A(938)+A(939)+A(942)+A(962)+A(963)+2*A(964)+A(977)+A(980) P_VAR(343) = A(18)+A(227)+A(228)+A(237)+0.02*A(247)+A(248)+A(249)+A(250)+0.12*A(253)+0.2*A(254)+0.25*A(255)+0.21& &*A(256)+0.1*A(257)+0.05*A(259)+0.3*A(260)+0.25*A(261)+0.1*A(262)+0.14*A(263)+0.35*A(264)+0.55*A(265)+0.31& &*A(266)+0.35*A(267)+0.21*A(268)+0.1*A(269)+0.1*A(270)+0.14*A(271)+0.25*A(272)+A(882)+2*A(884)+A(885)& &+A(894)+A(932)+A(944)+A(945)+A(968)+A(988) P_VAR(344) = A(5) P_VAR(345) = A(15)+A(22)+0.3*A(32)+0.3*A(33)+A(42)+0.5*A(71)+0.25*A(84)+0.15*A(118)+0.15*A(119)+0.44*A(128)+0.44& &*A(148)+0.36*A(150)+0.227*A(151)+A(152)+0.44*A(158)+A(168)+0.791*A(169)+0.64*A(170)+0.64*A(171)+0.791& &*A(172)+0.79*A(173)+0.79*A(174)+0.791*A(176)+A(177)+0.22*A(178)+A(212)+A(213)+2*A(226)+A(229)+0.75*A(231)& &+A(236)+A(244)+A(246)+1.788*A(247)+A(252)+0.66*A(253)+0.6*A(254)+0.05*A(261)+A(297)+0.865*A(379)+0.8& &*A(381)+0.65*A(383)+0.44*A(391)+0.6*A(421)+0.865*A(424)+0.44*A(436)+0.3*A(447)+0.3*A(448)+0.15*A(449)& &+A(454)+0.28*A(493)+1.5*A(496)+1.5*A(497)+0.063*A(498)+0.063*A(500)+A(502)+1.5*A(503)+A(504)+1.5*A(505)& &+A(509)+A(510)+A(511)+0.5*A(513)+0.5*A(515)+0.55*A(519)+0.55*A(523)+1.085*A(524)+1.165*A(525)+A(526)& &+A(527)+1.065*A(528)+A(529)+A(532)+A(534)+0.405*A(537)+0.745*A(538)+A(539)+0.275*A(542)+A(543)+0.275& &*A(546)+A(548)+1.3*A(550)+A(557)+0.65*A(558)+A(562)+0.65*A(565)+0.65*A(566)+A(569)+A(570)+2*A(571)+A(572)& &+2*A(573)+0.6*A(582)+0.6*A(583)+0.518*A(585)+0.599*A(589)+0.582*A(594)+0.506*A(597)+0.379*A(600)+0.527& &*A(604)+A(623)+A(624)+A(628)+A(629)+A(630)+1.147*A(631)+0.646*A(632)+0.435*A(633)+0.096*A(635)+0.244& &*A(638)+A(640)+0.82*A(643)+0.08*A(645)+0.12*A(648)+0.68*A(649)+0.02*A(650)+A(651)+A(652)+A(654)+A(656)& &+A(659)+0.285*A(661)+A(662)+A(664)+0.665*A(667)+0.59*A(670)+0.5*A(671)+0.585*A(672)+A(673)+0.5*A(678)+0.7& &*A(685)+0.5*A(686)+0.444*A(687)+A(688)+A(689)+0.3*A(691)+0.5*A(694)+0.5*A(695)+A(696)+A(697)+A(698)+0.18& &*A(704)+A(710)+0.636*A(714)+A(723)+A(727)+0.44*A(737)+A(746)+0.2*A(750)+0.25*A(767)+0.1*A(768)+0.25*A(770)& &+0.1*A(771)+2*A(886)+A(887)+A(890)+A(891)+A(892)+0.07*A(907)+A(917)+A(918)+A(919)+A(920)+A(921)+A(922)& &+A(923)+A(924)+A(925)+A(930)+A(933)+A(950)+A(967)+A(984)+2*A(987)+A(989)+2*A(1002)+A(1003)+A(1008)+A(1009)& &+1.75*A(1010)+A(1011)+0.75*A(1012)+0.01*A(1013)+A(1015)+A(1016)+A(1017)+A(1018)+A(1019)+1.662*A(1020)& &+1.637*A(1021)+A(1022)+A(1023)+0.55*A(1024)+0.55*A(1027)+0.67*A(1028)+A(1029)+0.645*A(1031)+0.5*A(1033)& &+A(1034)+1.25*A(1035)+A(1036)+0.546*A(1037)+A(1038)+0.3*A(1039)+A(1040)+A(1042)+A(1044)+A(1048)+A(1050)& &+A(1051)+A(1052)+A(1053)+A(1054)+A(1055)+A(1056)+A(1057) P_VAR(346) = A(49)+1.22*A(230)+A(240)+A(248)+2*A(335)+A(700)+A(774)+A(776)+A(778)+A(885)+A(891)+A(895)+A(970) P_VAR(347) = A(203)+A(212)+A(215)+0.2*A(254)+0.44*A(258)+0.95*A(259)+0.7*A(260)+0.31*A(264)+0.45*A(265)+0.75*A(272)& &+A(935) P_VAR(348) = A(11)+A(199)+0.75*A(200)+A(201)+A(238)+A(239)+A(986)+A(987) P_VAR(349) = A(823) P_VAR(350) = A(824) P_VAR(351) = A(16)+A(36)+A(46)+A(88)+A(210)+A(243)+A(282)+A(313)+A(314)+A(342)+A(364)+A(371)+A(488)+0.69*A(650)+A(684)& &+A(756)+A(892)+A(896)+0.3*A(899)+A(934)+A(948)+A(972)+A(982)+0.3*A(1047) P_VAR(352) = A(205)+A(216)+A(217)+A(218)+A(219)+A(220)+0.2*A(254)+A(333)+A(819) P_VAR(353) = A(2) ! Destruction function D_VAR(1) = RCT(975) D_VAR(2) = RCT(977) D_VAR(3) = RCT(976) D_VAR(4) = 0 D_VAR(5) = 0 D_VAR(6) = 0 D_VAR(7) = 0 D_VAR(8) = 0 D_VAR(9) = 0 D_VAR(10) = 0 D_VAR(11) = 0 D_VAR(12) = 0 D_VAR(13) = RCT(773)*V(337)+RCT(774)*V(346) D_VAR(14) = 0 D_VAR(15) = 0 D_VAR(16) = 0 D_VAR(17) = 0 D_VAR(18) = RCT(699)*V(337)+RCT(700)*V(346) D_VAR(19) = RCT(698)*V(345) D_VAR(20) = 0 D_VAR(21) = 0 D_VAR(22) = RCT(775)*V(337)+RCT(776)*V(346) D_VAR(23) = 0 D_VAR(24) = RCT(177)*V(345)+RCT(861) D_VAR(25) = 0 D_VAR(26) = 0 D_VAR(27) = RCT(777)*V(337)+RCT(778)*V(346) D_VAR(28) = 0 D_VAR(29) = 0 D_VAR(30) = 0 D_VAR(31) = 0 D_VAR(32) = 0 D_VAR(33) = 0 D_VAR(34) = 0 D_VAR(35) = 0 D_VAR(36) = 0 D_VAR(37) = 0 D_VAR(38) = 0 D_VAR(39) = 0 D_VAR(40) = 0 D_VAR(41) = RCT(780)*V(345) D_VAR(42) = RCT(347)+RCT(836)+RCT(837)+RCT(838)+RCT(978) D_VAR(43) = RCT(286)*V(345)+RCT(951) D_VAR(44) = RCT(358)+RCT(830)+RCT(831)+RCT(832)+RCT(973) D_VAR(45) = RCT(487) D_VAR(46) = RCT(256)*V(334)+RCT(952) D_VAR(47) = RCT(262)*V(334)+RCT(953) D_VAR(48) = RCT(263)*V(334)+RCT(954) D_VAR(49) = RCT(269)*V(334)+RCT(955) D_VAR(50) = RCT(270)*V(334)+RCT(956) D_VAR(51) = RCT(271)*V(334)+RCT(957) D_VAR(52) = RCT(359)*V(345)+RCT(974) D_VAR(53) = RCT(265)*V(334)+RCT(962) D_VAR(54) = RCT(272)*V(334)+RCT(964) D_VAR(55) = RCT(833)+RCT(834)+RCT(835)+RCT(979) D_VAR(56) = RCT(394) D_VAR(57) = RCT(439) D_VAR(58) = RCT(732)*V(345) D_VAR(59) = RCT(936) D_VAR(60) = RCT(714)*V(345) D_VAR(61) = RCT(264)*V(334)+RCT(963) D_VAR(62) = RCT(335)*2*V(62)+RCT(970) D_VAR(63) = RCT(230)*V(334)+RCT(985) D_VAR(64) = RCT(996)+RCT(997) D_VAR(65) = RCT(994)+RCT(995) D_VAR(66) = RCT(397)*V(345)+RCT(1051) D_VAR(67) = RCT(248)*F(3)+RCT(249)*V(346)+RCT(250)*V(335) D_VAR(68) = RCT(238)*V(343)+RCT(239)*V(345)+RCT(986) D_VAR(69) = RCT(66)*V(345)+RCT(67)*V(351) D_VAR(70) = RCT(721)*V(345) D_VAR(71) = RCT(753)*V(345)+RCT(1044) D_VAR(72) = RCT(161)*V(345) D_VAR(73) = RCT(353)*V(345)+RCT(825)+RCT(826)+RCT(827) D_VAR(74) = RCT(396)*V(345)+RCT(1050) D_VAR(75) = RCT(285)*V(345)+RCT(317)*V(340) D_VAR(76) = RCT(278)*V(345)+RCT(308)+RCT(946) D_VAR(77) = RCT(980) D_VAR(78) = RCT(224)*V(345)+RCT(259)*V(334)+RCT(938) D_VAR(79) = RCT(284)*V(345)+RCT(316)*V(340)+RCT(941) D_VAR(80) = RCT(198)+RCT(982)+RCT(983) D_VAR(81) = RCT(223)*V(345)+RCT(260)*V(334)+RCT(937) D_VAR(82) = RCT(725)*V(345) D_VAR(83) = RCT(490)*V(345)+RCT(999) D_VAR(84) = RCT(268)*V(334)+RCT(290)*V(345)+RCT(958) D_VAR(85) = RCT(266)*V(334)+RCT(288)*V(345)+RCT(959) D_VAR(86) = RCT(267)*V(334)+RCT(289)*V(345)+RCT(960) D_VAR(87) = RCT(261)*V(334)+RCT(287)*V(345)+RCT(961) D_VAR(88) = RCT(694)*V(345)+RCT(1002) D_VAR(89) = RCT(11)+RCT(12)*V(345)*V(348) D_VAR(90) = RCT(754)+RCT(755)*V(345) D_VAR(91) = RCT(491)*V(345)+RCT(1000) D_VAR(92) = RCT(178)*V(345)+RCT(930) D_VAR(93) = RCT(489)*V(345)+RCT(998) D_VAR(94) = RCT(199)*V(345)+RCT(200)*V(345)+RCT(201)*V(351) D_VAR(95) = RCT(492)*V(345)+RCT(1001) D_VAR(96) = RCT(345)*V(284)+RCT(346)*2*V(96)+RCT(348)*V(346)+RCT(969) D_VAR(97) = RCT(173)*V(345)+RCT(921) D_VAR(98) = RCT(71)*V(345)+RCT(922) D_VAR(99) = RCT(171)*V(345)+RCT(919) D_VAR(100) = RCT(172)*V(345)+RCT(920) D_VAR(101) = RCT(726)*V(345) D_VAR(102) = RCT(174)*V(345)+RCT(923) D_VAR(103) = RCT(486) D_VAR(104) = RCT(981) D_VAR(105) = RCT(225)*V(345)+RCT(258)*V(334)+RCT(939) D_VAR(106) = RCT(719)+RCT(720)*F(3) D_VAR(107) = RCT(685)*V(345)+RCT(868) D_VAR(108) = RCT(40)+RCT(41)*V(345)+RCT(892)+RCT(893) D_VAR(109) = RCT(712)*V(341)+RCT(713)*V(345) D_VAR(110) = RCT(306)+RCT(309)*V(340)+RCT(965) D_VAR(111) = RCT(387)*V(345)+RCT(1048) D_VAR(112) = RCT(408)*V(345)+RCT(1053) D_VAR(113) = RCT(125)+4.51e-12*V(345) D_VAR(114) = RCT(156)+RCT(160)*V(345) D_VAR(115) = RCT(693)*V(345)+RCT(867)+RCT(1004) D_VAR(116) = RCT(711)*V(345)+RCT(928) D_VAR(117) = RCT(760)*V(345)+RCT(1045) D_VAR(118) = RCT(170)*V(345)+RCT(918) D_VAR(119) = RCT(530)*V(345) D_VAR(120) = RCT(277)*V(345)+RCT(945) D_VAR(121) = RCT(733)*V(346)+RCT(734)*V(337) D_VAR(122) = RCT(739)+RCT(740)*V(345) D_VAR(123) = RCT(176)*V(345)+RCT(924) D_VAR(124) = RCT(107)+RCT(108)*V(345)+RCT(1047) D_VAR(125) = RCT(169)*V(345)+RCT(917) D_VAR(126) = RCT(87)+RCT(88)*V(345)+RCT(900) D_VAR(127) = RCT(80)*V(345) D_VAR(128) = RCT(551)*V(345)+RCT(860) D_VAR(129) = RCT(409)*V(345) D_VAR(130) = RCT(442)*V(345)+RCT(1056) D_VAR(131) = RCT(663)*V(345) D_VAR(132) = RCT(82)*V(346)+RCT(83)*V(337) D_VAR(133) = RCT(570)*V(346)+RCT(571)*V(337) D_VAR(134) = RCT(987) D_VAR(135) = RCT(572)*V(346)+RCT(573)*V(337) D_VAR(136) = RCT(722)*V(345)+RCT(723)*V(345)+RCT(1042) D_VAR(137) = RCT(388)*V(345) D_VAR(138) = RCT(407)*V(345) D_VAR(139) = RCT(54)+RCT(55)*V(345)+RCT(899) D_VAR(140) = RCT(75)*V(345)+RCT(76)*V(351)+RCT(77)*V(341) D_VAR(141) = RCT(61)*V(345)+RCT(62)*V(345)+RCT(220)*V(342)+RCT(327)*V(340)+RCT(328)*V(340) D_VAR(142) = RCT(89)*V(345)+RCT(101)*V(351)+RCT(331)*V(340) D_VAR(143) = RCT(724)*V(345) D_VAR(144) = RCT(527)*V(345)+RCT(1023) D_VAR(145) = RCT(619)*F(3)+RCT(620) D_VAR(146) = 7.09e-11*V(345)+RCT(902) D_VAR(147) = RCT(687)*V(345)+RCT(1037) D_VAR(148) = RCT(211)*V(345)+RCT(931) D_VAR(149) = RCT(705)*V(345)+RCT(706)*V(351) D_VAR(150) = RCT(526)*V(345)+RCT(1022) D_VAR(151) = RCT(552)*V(345)+RCT(553)*V(345)+RCT(858) D_VAR(152) = RCT(554)*V(345)+RCT(555)*V(345)+RCT(859) D_VAR(153) = RCT(666)*V(345) D_VAR(154) = RCT(488)*V(345)+RCT(866)+RCT(993) D_VAR(155) = RCT(175)*V(345)+RCT(925) D_VAR(156) = RCT(140)*V(345)+RCT(325)*V(340) D_VAR(157) = RCT(942) D_VAR(158) = RCT(743)*V(345)+RCT(744)*V(351) D_VAR(159) = RCT(672)*V(345)+RCT(1012) D_VAR(160) = RCT(402)*V(345)+RCT(1052) D_VAR(161) = RCT(415)*V(345)+RCT(1054) D_VAR(162) = RCT(416)*V(345) D_VAR(163) = RCT(433)*V(345)+RCT(434)*V(351) D_VAR(164) = RCT(32)*V(345)+RCT(320)*V(340)+RCT(887) D_VAR(165) = RCT(73)*V(346)+RCT(74)*V(337) D_VAR(166) = RCT(4)*V(341)*V(348)+RCT(5)*V(339)+RCT(6)*V(327) D_VAR(167) = RCT(377)*V(351)+RCT(378)*V(345)+RCT(379)*V(341) D_VAR(168) = RCT(576)*V(345)+RCT(577)*V(345)+RCT(871)+RCT(1026) D_VAR(169) = RCT(441)*V(345)+RCT(1055) D_VAR(170) = RCT(339)*V(351)+RCT(352)*V(345)+RCT(966) D_VAR(171) = RCT(655)*V(346)+RCT(656)*V(337)+RCT(657)*V(335) D_VAR(172) = RCT(658)*V(346)+RCT(659)*V(337)+RCT(660)*V(335) D_VAR(173) = RCT(701)*V(345) D_VAR(174) = RCT(688)*V(345)+RCT(1035) D_VAR(175) = RCT(574)*V(345)+RCT(575)*V(345)+RCT(870)+RCT(1025) D_VAR(176) = RCT(403)*V(345) D_VAR(177) = RCT(435)*V(345) D_VAR(178) = RCT(68)*V(346)+RCT(69)*V(346)+RCT(70)*V(337) D_VAR(179) = RCT(1)*V(341)*V(348)+RCT(2)*V(339)+RCT(3)*V(327) D_VAR(180) = RCT(642)*V(346)+RCT(643)*V(337) D_VAR(181) = RCT(257)*V(334)+RCT(283)*V(345)+RCT(315)*V(340)+RCT(940) D_VAR(182) = RCT(639)*V(346)+RCT(640)*V(337) D_VAR(183) = RCT(57)*V(345)+RCT(179)*V(351)+RCT(219)*V(342)+RCT(321)*V(340) D_VAR(184) = RCT(683)+RCT(684)*V(345) D_VAR(185) = RCT(662)*V(345)+RCT(1009) D_VAR(186) = RCT(622)*V(345)+RCT(624)*V(345)+RCT(625)*V(345)+RCT(627)*V(345)+RCT(628)*V(345)+RCT(874)+RCT(1029)& &+RCT(1030) D_VAR(187) = RCT(531)*V(345)+RCT(532)*V(345)+RCT(535)*V(345)+RCT(1016) D_VAR(188) = RCT(141)*V(345) D_VAR(189) = RCT(709)*V(346)+RCT(710)*V(337) D_VAR(190) = RCT(588)+RCT(589)*V(337)+RCT(590)*V(346)+RCT(591)*V(346) D_VAR(191) = RCT(375)*V(351)+RCT(382)*V(345)+RCT(383)*V(341) D_VAR(192) = RCT(533)*V(345)+RCT(534)*V(345)+RCT(536)*V(345)+RCT(1017) D_VAR(193) = RCT(450)*V(345)+RCT(451)*V(341)+RCT(452)*V(351) D_VAR(194) = RCT(661)*V(345)+RCT(1010) D_VAR(195) = RCT(741)*V(345)+RCT(742)*V(351) D_VAR(196) = RCT(72)*V(345)+RCT(927) D_VAR(197) = RCT(84)*V(337)+RCT(85)*V(346)+RCT(86)*V(335) D_VAR(198) = RCT(689)*V(345)+RCT(1036) D_VAR(199) = RCT(538)*V(345)+RCT(1019) D_VAR(200) = RCT(707)*V(345)+RCT(708)*V(351) D_VAR(201) = RCT(770)*V(345)+RCT(771)*V(341)+RCT(772) D_VAR(202) = RCT(745)*V(345)+RCT(746)*V(341)+RCT(747)*V(351) D_VAR(203) = RCT(761)*V(341)+RCT(762)*V(335) D_VAR(204) = RCT(748)*V(345)+RCT(749)*V(351)+RCT(1043) D_VAR(205) = RCT(584)+RCT(585)*V(337)+RCT(586)*V(346)+RCT(587)*V(346) D_VAR(206) = RCT(592)+RCT(594)*V(337)+RCT(595)*V(346)+RCT(596)*V(346) D_VAR(207) = RCT(593)+RCT(597)*V(337)+RCT(598)*V(346)+RCT(599)*V(346) D_VAR(208) = RCT(665)*V(345)+RCT(1006) D_VAR(209) = RCT(537)*V(345)+RCT(1018) D_VAR(210) = RCT(696)*V(345)+RCT(697)*V(345)+RCT(1003) D_VAR(211) = RCT(426)*V(345)+RCT(427)*V(341)+RCT(428)*V(351) D_VAR(212) = RCT(78)*V(346)+RCT(79)*V(337) D_VAR(213) = RCT(155)*V(335)+RCT(157)*V(346)+RCT(158)*V(337)+RCT(159)*V(351) D_VAR(214) = RCT(46)+RCT(786)*V(336)+RCT(787)*V(339)+RCT(788)+RCT(789)*V(353)+RCT(790)*V(344)+RCT(896) D_VAR(215) = RCT(529)*V(345)+RCT(873) D_VAR(216) = RCT(654)*V(345)+RCT(879)+RCT(1015) D_VAR(217) = RCT(245)*F(3)+RCT(246)*V(341)+RCT(247)*V(337) D_VAR(218) = RCT(210)*V(342)+RCT(793)*V(336)+RCT(794)*V(339)+RCT(934)+RCT(935) D_VAR(219) = RCT(376)*V(351)+RCT(380)*V(345)+RCT(381)*V(341) D_VAR(220) = RCT(702)*V(345)+RCT(703)*V(351)+RCT(704)*V(341) D_VAR(221) = RCT(767)*V(345)+RCT(768)*V(341)+RCT(769) D_VAR(222) = RCT(621)*V(345)+RCT(623)*V(345)+RCT(626)*V(345)+RCT(875)+RCT(1028) D_VAR(223) = RCT(539)+RCT(540)*V(346)+RCT(541)*V(346)+RCT(542)*V(337) D_VAR(224) = RCT(543)+RCT(544)*V(346)+RCT(545)*V(346)+RCT(546)*V(337) D_VAR(225) = RCT(389)*V(351)+RCT(390)*V(345)+RCT(1049) D_VAR(226) = RCT(629)+RCT(632)*V(337)+RCT(635)*V(346)+RCT(636)*V(346) D_VAR(227) = RCT(664)*V(345)+RCT(1007) D_VAR(228) = RCT(25)*V(345)+RCT(231)*V(334)+RCT(291)*V(340) D_VAR(229) = RCT(447)*V(345)+RCT(448)*V(341)+RCT(449)*V(351)+RCT(989)+RCT(1057) D_VAR(230) = RCT(524)*V(345)+RCT(1020) D_VAR(231) = RCT(525)*V(345)+RCT(1021) D_VAR(232) = RCT(547)+RCT(548)*V(346)+RCT(549)*V(346)+RCT(550)*V(337) D_VAR(233) = RCT(81)*V(345)+RCT(901) D_VAR(234) = RCT(715)*V(337)+RCT(716)*V(346)+RCT(717)*V(351)+RCT(718)*V(328) D_VAR(235) = RCT(750)*V(337)+RCT(751)*V(346)+RCT(752)*V(335)+RCT(766)*V(328) D_VAR(236) = RCT(756)*V(335)+RCT(757)*V(346)+RCT(758)*V(351)+RCT(759)*V(337)+RCT(765)*V(328) D_VAR(237) = RCT(423)*V(345)+RCT(424)*V(341)+RCT(425)*V(351) D_VAR(238) = RCT(528)*V(345) D_VAR(239) = RCT(38)*V(345)+RCT(891) D_VAR(240) = RCT(736)*V(346)+RCT(737)*V(337)+RCT(738)*V(335) D_VAR(241) = RCT(369)*V(329)+RCT(370)*V(346)+RCT(371)*V(335)+RCT(372)*V(348)+RCT(373)*V(336)+RCT(374)*V(336) D_VAR(242) = RCT(482)*V(345)+RCT(483)*V(341)+RCT(484)*V(351)+RCT(865)+RCT(992) D_VAR(243) = RCT(566)*V(337)+RCT(567)*V(346)+RCT(568)*V(346)+RCT(569) D_VAR(244) = RCT(33)*V(345)+RCT(984) D_VAR(245) = RCT(255)*V(334)+RCT(273)*V(345)+RCT(943) D_VAR(246) = RCT(124)*V(335)+RCT(127)*V(346)+RCT(128)*V(337) D_VAR(247) = RCT(361)*V(345)+RCT(1005) D_VAR(248) = RCT(653)*V(345)+RCT(880)+RCT(1014) D_VAR(249) = RCT(92)*V(346)+RCT(117)*V(337)+RCT(135)*V(328)+RCT(188)*V(324) D_VAR(250) = RCT(100)*V(346)+RCT(121)*V(337)+RCT(139)*V(328)+RCT(189)*V(324) D_VAR(251) = RCT(102)*V(345)+RCT(863)+RCT(926) D_VAR(252) = RCT(337)+RCT(338)*2*V(252)+RCT(839)+RCT(840)+RCT(844)*V(349)+RCT(845)*V(350)+RCT(846)*V(353)+RCT(847)& &*V(344)+RCT(971) D_VAR(253) = RCT(670)*V(337)+RCT(673)+RCT(674)*V(346)+RCT(675)*V(346) D_VAR(254) = RCT(667)*V(337)+RCT(668)*V(346)+RCT(669)*V(346) D_VAR(255) = RCT(420)*V(345)+RCT(421)*V(341)+RCT(422)*V(351)+RCT(1058) D_VAR(256) = RCT(481)*V(345)+RCT(485)*V(351)+RCT(864)+RCT(991) D_VAR(257) = RCT(391)*V(337)+RCT(392)*V(346)+RCT(393)*V(335)+RCT(395)*V(351)+RCT(464)*V(328)+RCT(465)*V(324) D_VAR(258) = RCT(686)*V(345)+RCT(1033)+RCT(1034) D_VAR(259) = RCT(671)*V(337)+RCT(676)*V(346)+RCT(677)*V(335) D_VAR(260) = RCT(65)*V(346)+RCT(113)*V(328)+RCT(147)*V(337)+RCT(192)*V(324) D_VAR(261) = RCT(360)*V(345)+RCT(692)*V(351)+RCT(990) D_VAR(262) = RCT(453)*V(345)+RCT(454)*V(341)+RCT(455)*V(351) D_VAR(263) = RCT(727)*V(337)+RCT(728)*V(346)+RCT(729)*V(351)+RCT(730)*V(328)+RCT(731)*V(324) D_VAR(264) = RCT(7)*V(348)+RCT(21)*V(345)+RCT(244)*V(343)+RCT(295)*V(340)+RCT(886) D_VAR(265) = RCT(47)*V(345)+RCT(318)*V(340) D_VAR(266) = RCT(690)*V(345)+RCT(877)+RCT(1040)+RCT(1041) D_VAR(267) = RCT(580)*V(345)+RCT(581)*V(345)+RCT(583)*V(345)+RCT(872)+RCT(1027) D_VAR(268) = RCT(578)*V(345)+RCT(579)*V(345)+RCT(582)*V(345)+RCT(869)+RCT(1024) D_VAR(269) = RCT(763)*V(345)+RCT(764)*V(351)+RCT(881)+RCT(1046) D_VAR(270) = RCT(163)*V(345)+RCT(165)*V(351)+RCT(856)+RCT(908)+RCT(909)+RCT(910) D_VAR(271) = RCT(630)+RCT(631)*V(337)+RCT(633)*V(346)+RCT(634)*V(346) D_VAR(272) = RCT(429)*V(346)+RCT(430)*V(337)+RCT(431)*V(351)+RCT(432)*V(328) D_VAR(273) = RCT(410)*V(337)+RCT(411)*V(346)+RCT(412)*V(346)+RCT(413)*V(328)+RCT(414)*V(351) D_VAR(274) = RCT(436)*V(337)+RCT(437)*V(346)+RCT(438)*V(335)+RCT(440)*V(351)+RCT(466)*V(328)+RCT(467)*V(324) D_VAR(275) = RCT(404)*V(337)+RCT(405)*V(346)+RCT(406)*V(351)+RCT(458)*V(328)+RCT(459)*V(324) D_VAR(276) = RCT(330)*V(340)+RCT(493)*V(341)+RCT(494)*V(345)+RCT(495)*V(345)+RCT(496)*V(345)+RCT(497)*V(345)+RCT(603)& &*V(351) D_VAR(277) = RCT(384)*V(337)+RCT(385)*V(346)+RCT(386)*V(351)+RCT(456)*V(328)+RCT(457)*V(324) D_VAR(278) = RCT(398)*V(337)+RCT(399)*V(346)+RCT(400)*V(351)+RCT(401)*V(328) D_VAR(279) = RCT(103)*V(345)+RCT(929) D_VAR(280) = RCT(468)*V(346)+RCT(470)*V(337)+RCT(472)*V(328)+RCT(474)*V(324)+RCT(476)*V(351)+RCT(478)*2*V(280)& &+RCT(479)*V(289) D_VAR(281) = RCT(417)*V(337)+RCT(418)*V(346)+RCT(419)*V(351)+RCT(460)*V(328)+RCT(461)*V(324) D_VAR(282) = RCT(48)*V(345)+RCT(324)*V(340) D_VAR(283) = RCT(104)*V(345)+RCT(326)*V(340) D_VAR(284) = RCT(340)*V(335)+RCT(344)*V(347)+RCT(345)*V(96)+RCT(349)*V(338)+RCT(355)*V(337)+RCT(356)*V(346)+RCT(357)*2& &*V(284)+RCT(968) D_VAR(285) = RCT(561)+RCT(562)+RCT(563)*V(346)+RCT(564)*V(346)+RCT(565)*V(337) D_VAR(286) = RCT(556)+RCT(557)+RCT(558)*V(337)+RCT(559)*V(346)+RCT(560)*V(346) D_VAR(287) = RCT(652)*V(345)+RCT(1011) D_VAR(288) = RCT(651)*V(345)+RCT(1008) D_VAR(289) = RCT(469)*V(346)+RCT(471)*V(337)+RCT(473)*V(328)+RCT(475)*V(324)+RCT(477)*V(351)+RCT(479)*V(280)+RCT(480)& &*2*V(289) D_VAR(290) = RCT(149)*V(345)+RCT(150)*V(341)+RCT(162)*V(351)+RCT(332)*V(340)+RCT(333)*V(342) D_VAR(291) = RCT(443)*V(337)+RCT(444)*V(346)+RCT(445)*V(346)+RCT(446)*V(351)+RCT(462)*V(328)+RCT(463)*V(324) D_VAR(292) = RCT(122)*V(345)+RCT(131)*V(351)+RCT(906) D_VAR(293) = RCT(600)*V(337)+RCT(601)*V(346)+RCT(602)*V(346) D_VAR(294) = RCT(164)*V(345)+RCT(166)*V(351)+RCT(857)+RCT(911) D_VAR(295) = RCT(111)*V(345)+RCT(218)*V(342)+RCT(329)*V(340)+RCT(904)+RCT(905) D_VAR(296) = RCT(58)*V(346)+RCT(59)*V(346)+RCT(129)*V(328)+RCT(142)*2*V(296)+RCT(144)*V(337)+RCT(190)*V(324)+RCT(322)& &*V(340) D_VAR(297) = RCT(281)*V(345)+RCT(802)*V(353)+RCT(803)*V(344)+RCT(804)*V(339)+RCT(805)*V(349)+RCT(806)*V(350)+RCT(807)& &*V(352)+RCT(947) D_VAR(298) = RCT(105)*V(345)+RCT(110)*V(351)+RCT(903) D_VAR(299) = RCT(641)*V(345)+RCT(876)+RCT(1032) D_VAR(300) = RCT(90)*V(346)+RCT(91)*V(346)+RCT(116)*V(337)+RCT(134)*V(328)+RCT(183)*V(324) D_VAR(301) = RCT(637)*V(345)+RCT(638)*V(345)+RCT(1031) D_VAR(302) = RCT(650)*V(345)+RCT(862)+RCT(1013) D_VAR(303) = RCT(691)*V(345)+RCT(878)+RCT(1038)+RCT(1039) D_VAR(304) = RCT(500)*V(337)+RCT(501)*V(337)+RCT(504)+RCT(505)+RCT(507)*2*V(304)+RCT(508)*V(305)+RCT(510)*2*V(304)& &+RCT(511)*V(305)+RCT(514)*V(328)+RCT(515)*V(328)+RCT(520)*V(346)+RCT(521)*V(346)+RCT(522)*V(346)+RCT(523)& &*V(346) D_VAR(305) = RCT(498)*V(337)+RCT(499)*V(337)+RCT(502)+RCT(503)+RCT(506)*2*V(305)+RCT(508)*V(304)+RCT(509)*2*V(305)& &+RCT(511)*V(304)+RCT(512)*V(328)+RCT(513)*V(328)+RCT(516)*V(346)+RCT(517)*V(346)+RCT(518)*V(346)+RCT(519)& &*V(346) D_VAR(306) = RCT(151)*V(345)+RCT(152)*V(345)+RCT(153)*V(345)+RCT(154)*V(351)+RCT(907) D_VAR(307) = RCT(167)*V(345)+RCT(168)*V(345)+RCT(916) D_VAR(308) = RCT(678)*V(337)+RCT(679)*V(346)+RCT(680)*V(335)+RCT(681)*V(351)+RCT(682)*V(328) D_VAR(309) = RCT(646)*V(345)+RCT(647)*V(345)+RCT(648)*V(341)+RCT(649)*V(351)+RCT(915) D_VAR(310) = RCT(604)*V(337)+RCT(606)*2*V(310)+RCT(607)*V(311)+RCT(610)*V(328)+RCT(611)*V(324)+RCT(613)*V(351)& &+RCT(615)*V(346)+RCT(616)*V(346) D_VAR(311) = RCT(605)*V(337)+RCT(607)*V(310)+RCT(608)*2*V(311)+RCT(609)*V(328)+RCT(612)*V(324)+RCT(614)*V(351)& &+RCT(617)*V(346)+RCT(618)*V(346) D_VAR(312) = RCT(362)*V(329)+RCT(363)*V(346)+RCT(364)*V(335)+RCT(365)*V(336)+RCT(366)*V(336)*V(336)+RCT(367)*V(341)& &+RCT(368)*V(348) D_VAR(313) = RCT(96)*V(346)+RCT(118)*V(337)+RCT(136)*V(328)+RCT(184)*V(324) D_VAR(314) = RCT(644)*V(345)+RCT(645)*V(341)+RCT(912)+RCT(913)+RCT(914) D_VAR(315) = RCT(60)*V(346)+RCT(130)*V(328)+RCT(143)*2*V(315)+RCT(145)*V(337)+RCT(191)*V(324)+RCT(323)*V(340) D_VAR(316) = RCT(212)*V(343)+RCT(813)*V(352)+RCT(814)*V(339)+RCT(815)*V(353)+RCT(816)*V(344)+RCT(817)*V(349)+RCT(818)& &*V(350)+RCT(819)*V(348)+RCT(933) D_VAR(317) = RCT(282)*V(345)+RCT(313)*V(343)+RCT(314)*V(340)+RCT(795)*V(336)+RCT(796)*V(339)+RCT(797)*V(352)+RCT(798)& &*V(349)+RCT(799)*V(350)+RCT(800)*V(353)+RCT(801)*V(344)+RCT(948)+RCT(949) D_VAR(318) = RCT(95)*V(346)+RCT(115)*V(337)+RCT(133)*V(328)+RCT(187)*V(324) D_VAR(319) = RCT(93)*V(346)+RCT(94)*V(346)+RCT(114)*V(337)+RCT(132)*V(328)+RCT(182)*V(324) D_VAR(320) = RCT(97)*V(346)+RCT(119)*V(337)+RCT(123)*V(346)+RCT(137)*V(328)+RCT(185)*V(324) D_VAR(321) = RCT(63)*V(346)+RCT(64)*V(346)+RCT(112)*V(328)+RCT(146)*V(337)+RCT(193)*V(324) D_VAR(322) = RCT(106)*V(335)+RCT(109)*V(346)+RCT(148)*V(337)+RCT(194)*V(324)+RCT(195)*V(328) D_VAR(323) = RCT(98)*V(346)+RCT(99)*V(346)+RCT(120)*V(337)+RCT(138)*V(328)+RCT(186)*V(324) D_VAR(324) = RCT(53)*V(335)+RCT(56)*V(346)+RCT(180)*2*V(324)+RCT(181)*V(328)+RCT(182)*V(319)+RCT(183)*V(300)+RCT(184)& &*V(313)+RCT(185)*V(320)+RCT(186)*V(323)+RCT(187)*V(318)+RCT(188)*V(249)+RCT(189)*V(250)+RCT(190)*V(296)& &+RCT(191)*V(315)+RCT(192)*V(260)+RCT(193)*V(321)+RCT(194)*V(322)+RCT(457)*V(277)+RCT(459)*V(275)+RCT(461)& &*V(281)+RCT(463)*V(291)+RCT(465)*V(257)+RCT(467)*V(274)+RCT(474)*V(280)+RCT(475)*V(289)+RCT(611)*V(310)& &+RCT(612)*V(311)+RCT(695)*V(337)+RCT(731)*V(263) D_VAR(325) = RCT(10)*V(348)+RCT(34)*V(345)+RCT(50)*V(351)+RCT(216)*V(342)+RCT(252)*V(343)+RCT(292)*V(340)+RCT(888)& &+RCT(889) D_VAR(326) = RCT(51)*V(345)+RCT(52)*V(351)+RCT(217)*V(342)+RCT(897)+RCT(898) D_VAR(327) = RCT(3)*V(179)+RCT(6)*V(166)+RCT(36)*V(345)+RCT(890) D_VAR(328) = RCT(17)*V(341)+RCT(26)*V(346)+RCT(27)*V(346)+RCT(28)*V(337)+RCT(29)*2*V(328)+RCT(30)*2*V(328)+RCT(31)& &*V(345)+RCT(112)*V(321)+RCT(113)*V(260)+RCT(129)*V(296)+RCT(130)*V(315)+RCT(132)*V(319)+RCT(133)*V(318)& &+RCT(134)*V(300)+RCT(135)*V(249)+RCT(136)*V(313)+RCT(137)*V(320)+RCT(138)*V(323)+RCT(139)*V(250)+RCT(181)& &*V(324)+RCT(195)*V(322)+RCT(197)*V(335)+RCT(274)*V(338)+RCT(319)*V(340)+RCT(401)*V(278)+RCT(413)*V(273)& &+RCT(432)*V(272)+RCT(456)*V(277)+RCT(458)*V(275)+RCT(460)*V(281)+RCT(462)*V(291)+RCT(464)*V(257)+RCT(466)& &*V(274)+RCT(472)*V(280)+RCT(473)*V(289)+RCT(512)*V(305)+RCT(513)*V(305)+RCT(514)*V(304)+RCT(515)*V(304)& &+RCT(609)*V(311)+RCT(610)*V(310)+RCT(682)*V(308)+RCT(718)*V(234)+RCT(730)*V(263)+RCT(765)*V(236)+RCT(766)& &*V(235)+RCT(779)*V(351) D_VAR(329) = RCT(24)*V(345)+RCT(362)*V(312)+RCT(369)*V(241) D_VAR(330) = RCT(354)*V(345)+RCT(828)+RCT(829)+RCT(852)*V(349)+RCT(853)*V(350)+RCT(854)*V(353)+RCT(855)*V(344)& &+RCT(967) D_VAR(331) = RCT(334)*V(346)+RCT(336)*V(335)+RCT(342)*V(332)+RCT(343)*V(347)+RCT(350)*V(341)+RCT(351)*V(337) D_VAR(332) = RCT(341)+RCT(342)*V(331)+RCT(841)+RCT(842)+RCT(843)*V(336)+RCT(848)*V(349)+RCT(849)*V(350)+RCT(850)& &*V(353)+RCT(851)*V(344)+RCT(972) D_VAR(333) = RCT(280)*V(345)+RCT(808)*V(339)+RCT(809)*V(352)+RCT(810)*V(353)+RCT(811)*V(344)+RCT(812)*V(348)+RCT(950) D_VAR(334) = RCT(226)*V(336)+RCT(227)*F(2)+RCT(228)*F(3)+RCT(229)*F(1)+RCT(230)*V(63)+RCT(231)*V(228)+RCT(237)*V(341)& &+RCT(253)*V(339)+RCT(254)*V(352)+RCT(255)*V(245)+RCT(256)*V(46)+RCT(257)*V(181)+RCT(258)*V(105)+RCT(259)& &*V(78)+RCT(260)*V(81)+RCT(261)*V(87)+RCT(262)*V(47)+RCT(263)*V(48)+RCT(264)*V(61)+RCT(265)*V(53)+RCT(266)& &*V(85)+RCT(267)*V(86)+RCT(268)*V(84)+RCT(269)*V(49)+RCT(270)*V(50)+RCT(271)*V(51)+RCT(272)*V(54) D_VAR(335) = RCT(16)*V(341)+RCT(35)*V(345)+RCT(39)*V(337)+RCT(45)*V(351)+RCT(49)*V(351)+RCT(53)*V(324)+RCT(86)*V(197)& &+RCT(106)*V(322)+RCT(124)*V(246)+RCT(155)*V(213)+RCT(197)*V(328)+RCT(221)*V(342)+RCT(222)*V(347)+RCT(240)& &*V(343)+RCT(243)*V(343)+RCT(250)*V(67)+RCT(301)*V(338)+RCT(336)*V(331)+RCT(340)*V(284)+RCT(364)*V(312)& &+RCT(371)*V(241)+RCT(393)*V(257)+RCT(438)*V(274)+RCT(657)*V(171)+RCT(660)*V(172)+RCT(677)*V(259)+RCT(680)& &*V(308)+RCT(738)*V(240)+RCT(752)*V(235)+RCT(756)*V(236)+RCT(762)*V(203)+RCT(782)+RCT(885) D_VAR(336) = RCT(226)*V(334)+RCT(365)*V(312)+RCT(366)*2*V(312)*V(336)+RCT(373)*V(241)+RCT(374)*V(241)+RCT(786)*V(214)& &+RCT(793)*V(218)+RCT(795)*V(317)+RCT(843)*V(332) D_VAR(337) = RCT(15)*V(341)+RCT(20)*V(345)+RCT(22)*V(346)+RCT(23)*2*V(337)+RCT(28)*V(328)+RCT(39)*V(335)+RCT(42)& &*V(351)+RCT(70)*V(178)+RCT(74)*V(165)+RCT(79)*V(212)+RCT(83)*V(132)+RCT(84)*V(197)+RCT(114)*V(319)& &+RCT(115)*V(318)+RCT(116)*V(300)+RCT(117)*V(249)+RCT(118)*V(313)+RCT(119)*V(320)+RCT(120)*V(323)+RCT(121)& &*V(250)+RCT(128)*V(246)+RCT(144)*V(296)+RCT(145)*V(315)+RCT(146)*V(321)+RCT(147)*V(260)+RCT(148)*V(322)& &+RCT(158)*V(213)+RCT(204)*V(347)+RCT(205)*V(342)+RCT(236)*V(343)+RCT(247)*V(217)+RCT(296)*V(340)+RCT(297)& &*V(340)+RCT(299)*V(338)+RCT(351)*V(331)+RCT(355)*V(284)+RCT(384)*V(277)+RCT(391)*V(257)+RCT(398)*V(278)& &+RCT(404)*V(275)+RCT(410)*V(273)+RCT(417)*V(281)+RCT(430)*V(272)+RCT(436)*V(274)+RCT(443)*V(291)+RCT(470)& &*V(280)+RCT(471)*V(289)+RCT(498)*V(305)+RCT(499)*V(305)+RCT(500)*V(304)+RCT(501)*V(304)+RCT(542)*V(223)& &+RCT(546)*V(224)+RCT(550)*V(232)+RCT(558)*V(286)+RCT(565)*V(285)+RCT(566)*V(243)+RCT(571)*V(133)+RCT(573)& &*V(135)+RCT(585)*V(205)+RCT(589)*V(190)+RCT(594)*V(206)+RCT(597)*V(207)+RCT(600)*V(293)+RCT(604)*V(310)& &+RCT(605)*V(311)+RCT(631)*V(271)+RCT(632)*V(226)+RCT(640)*V(182)+RCT(643)*V(180)+RCT(656)*V(171)+RCT(659)& &*V(172)+RCT(667)*V(254)+RCT(670)*V(253)+RCT(671)*V(259)+RCT(678)*V(308)+RCT(695)*V(324)+RCT(699)*V(18)& &+RCT(710)*V(189)+RCT(715)*V(234)+RCT(727)*V(263)+RCT(734)*V(121)+RCT(737)*V(240)+RCT(750)*V(235)+RCT(759)& &*V(236)+RCT(773)*V(13)+RCT(775)*V(22)+RCT(777)*V(27)+RCT(781) D_VAR(338) = RCT(274)*V(328)+RCT(275)*V(345)+RCT(276)*V(345)+RCT(298)*V(343)+RCT(299)*V(337)+RCT(300)*V(346)+RCT(301)& &*V(335)+RCT(302)*2*V(338)+RCT(303)*2*V(338)+RCT(304)*2*V(338)+RCT(307)*2*V(338)+RCT(310)*V(347)+RCT(311)& &*V(347)+RCT(312)*V(347)+RCT(349)*V(284)+RCT(944) D_VAR(339) = RCT(2)*V(179)+RCT(5)*V(166)+RCT(253)*V(334)+RCT(279)*V(345)+RCT(787)*V(214)+RCT(794)*V(218)+RCT(796)& &*V(317)+RCT(804)*V(297)+RCT(808)*V(333)+RCT(814)*V(316) D_VAR(340) = RCT(291)*V(228)+RCT(292)*V(325)+RCT(293)*V(341)+RCT(294)*F(1)+RCT(295)*V(264)+RCT(296)*V(337)+RCT(297)& &*V(337)+RCT(305)*F(3)+RCT(309)*V(110)+RCT(314)*V(317)+RCT(315)*V(181)+RCT(316)*V(79)+RCT(317)*V(75)& &+RCT(318)*V(265)+RCT(319)*V(328)+RCT(320)*V(164)+RCT(321)*V(183)+RCT(322)*V(296)+RCT(323)*V(315)+RCT(324)& &*V(282)+RCT(325)*V(156)+RCT(326)*V(283)+RCT(327)*V(141)+RCT(328)*V(141)+RCT(329)*V(295)+RCT(330)*V(276)& &+RCT(331)*V(142)+RCT(332)*V(290) D_VAR(341) = RCT(1)*V(179)*V(348)+RCT(4)*V(166)*V(348)+RCT(8)*V(348)+RCT(13)*V(346)+RCT(14)*V(345)+RCT(15)*V(337)& &+RCT(16)*V(335)+RCT(17)*V(328)+RCT(77)*V(140)+RCT(150)*V(290)+RCT(203)*V(342)+RCT(233)*V(343)+RCT(237)& &*V(334)+RCT(246)*V(217)+RCT(293)*V(340)+RCT(350)*V(331)+RCT(367)*V(312)+RCT(379)*V(167)+RCT(381)*V(219)& &+RCT(383)*V(191)+RCT(421)*V(255)+RCT(424)*V(237)+RCT(427)*V(211)+RCT(448)*V(229)+RCT(451)*V(193)+RCT(454)& &*V(262)+RCT(483)*V(242)+RCT(493)*V(276)+RCT(645)*V(314)+RCT(648)*V(309)+RCT(704)*V(220)+RCT(712)*V(109)& &+RCT(746)*V(202)+RCT(761)*V(203)+RCT(768)*V(221)+RCT(771)*V(201)+RCT(820)*V(352)+RCT(821)*V(349)+RCT(822)& &*V(350)+RCT(882)+RCT(883) D_VAR(342) = RCT(203)*V(341)+RCT(205)*V(337)+RCT(210)*V(218)+RCT(215)*V(351)+RCT(216)*V(325)+RCT(217)*V(326)+RCT(218)& &*V(295)+RCT(219)*V(183)+RCT(220)*V(141)+RCT(221)*V(335)+RCT(333)*V(290) D_VAR(343) = RCT(212)*V(316)+RCT(213)*V(352)+RCT(232)*F(3)+RCT(233)*V(341)+RCT(235)*V(345)+RCT(236)*V(337)+RCT(238)& &*V(68)+RCT(240)*V(335)+RCT(241)*V(351)+RCT(242)*V(346)+RCT(243)*V(335)+RCT(244)*V(264)+RCT(251)*V(347)& &+RCT(252)*V(325)+RCT(298)*V(338)+RCT(313)*V(317) D_VAR(344) = RCT(790)*V(214)+RCT(792)*V(345)+RCT(801)*V(317)+RCT(803)*V(297)+RCT(811)*V(333)+RCT(816)*V(316)+RCT(847)& &*V(252)+RCT(851)*V(332)+RCT(855)*V(330) D_VAR(345) = RCT(12)*V(89)*V(348)+RCT(14)*V(341)+RCT(18)*2*V(345)+RCT(19)*2*V(345)+RCT(20)*V(337)+RCT(21)*V(264)& &+RCT(24)*V(329)+RCT(25)*V(228)+RCT(31)*V(328)+RCT(32)*V(164)+RCT(33)*V(244)+RCT(34)*V(325)+RCT(35)*V(335)& &+RCT(36)*V(327)+RCT(37)*V(346)+RCT(38)*V(239)+RCT(41)*V(108)+RCT(44)*V(351)+RCT(47)*V(265)+RCT(48)*V(282)& &+RCT(51)*V(326)+RCT(55)*V(139)+RCT(57)*V(183)+RCT(61)*V(141)+RCT(62)*V(141)+RCT(66)*V(69)+RCT(71)*V(98)& &+RCT(72)*V(196)+RCT(75)*V(140)+RCT(80)*V(127)+RCT(81)*V(233)+RCT(88)*V(126)+RCT(89)*V(142)+RCT(102)*V(251)& &+RCT(103)*V(279)+RCT(104)*V(283)+RCT(105)*V(298)+RCT(108)*V(124)+RCT(111)*V(295)+RCT(122)*V(292)+4.51e-12& &*V(113)+RCT(140)*V(156)+RCT(141)*V(188)+RCT(149)*V(290)+RCT(151)*V(306)+RCT(152)*V(306)+RCT(153)*V(306)& &+RCT(160)*V(114)+RCT(161)*V(72)+RCT(163)*V(270)+RCT(164)*V(294)+RCT(167)*V(307)+RCT(168)*V(307)+RCT(169)& &*V(125)+RCT(170)*V(118)+RCT(171)*V(99)+RCT(172)*V(100)+RCT(173)*V(97)+RCT(174)*V(102)+RCT(175)*V(155)& &+RCT(176)*V(123)+RCT(177)*V(24)+RCT(178)*V(92)+RCT(199)*V(94)+RCT(200)*V(94)+RCT(202)*V(348)+RCT(206)& &*V(352)+RCT(211)*V(148)+RCT(214)*V(347)+RCT(223)*V(81)+RCT(224)*V(78)+RCT(225)*V(105)+RCT(234)*F(1)& &+RCT(235)*V(343)+RCT(239)*V(68)+RCT(273)*V(245)+RCT(275)*V(338)+RCT(276)*V(338)+RCT(277)*V(120)+RCT(278)& &*V(76)+RCT(279)*V(339)+RCT(280)*V(333)+RCT(281)*V(297)+RCT(282)*V(317)+RCT(283)*V(181)+RCT(284)*V(79)& &+RCT(285)*V(75)+RCT(286)*V(43)+RCT(287)*V(87)+RCT(288)*V(85)+RCT(289)*V(86)+RCT(290)*V(84)+RCT(352)*V(170)& &+RCT(353)*V(73)+RCT(354)*V(330)+RCT(359)*V(52)+RCT(360)*V(261)+RCT(361)*V(247)+RCT(378)*V(167)+RCT(380)& &*V(219)+RCT(382)*V(191)+RCT(387)*V(111)+RCT(388)*V(137)+RCT(390)*V(225)+RCT(396)*V(74)+RCT(397)*V(66)& &+RCT(402)*V(160)+RCT(403)*V(176)+RCT(407)*V(138)+RCT(408)*V(112)+RCT(409)*V(129)+RCT(415)*V(161)+RCT(416)& &*V(162)+RCT(420)*V(255)+RCT(423)*V(237)+RCT(426)*V(211)+RCT(433)*V(163)+RCT(435)*V(177)+RCT(441)*V(169)& &+RCT(442)*V(130)+RCT(447)*V(229)+RCT(450)*V(193)+RCT(453)*V(262)+RCT(481)*V(256)+RCT(482)*V(242)+RCT(488)& &*V(154)+RCT(489)*V(93)+RCT(490)*V(83)+RCT(491)*V(91)+RCT(492)*V(95)+RCT(494)*V(276)+RCT(495)*V(276)& &+RCT(496)*V(276)+RCT(497)*V(276)+RCT(524)*V(230)+RCT(525)*V(231)+RCT(526)*V(150)+RCT(527)*V(144)+RCT(528)& &*V(238)+RCT(529)*V(215)+RCT(530)*V(119)+RCT(531)*V(187)+RCT(532)*V(187)+RCT(533)*V(192)+RCT(534)*V(192)& &+RCT(535)*V(187)+RCT(536)*V(192)+RCT(537)*V(209)+RCT(538)*V(199)+RCT(551)*V(128)+RCT(552)*V(151)+RCT(553)& &*V(151)+RCT(554)*V(152)+RCT(555)*V(152)+RCT(574)*V(175)+RCT(575)*V(175)+RCT(576)*V(168)+RCT(577)*V(168)& &+RCT(578)*V(268)+RCT(579)*V(268)+RCT(580)*V(267)+RCT(581)*V(267)+RCT(582)*V(268)+RCT(583)*V(267)+RCT(621)& &*V(222)+RCT(622)*V(186)+RCT(623)*V(222)+RCT(624)*V(186)+RCT(625)*V(186)+RCT(626)*V(222)+RCT(627)*V(186)& &+RCT(628)*V(186)+RCT(637)*V(301)+RCT(638)*V(301)+RCT(641)*V(299)+RCT(644)*V(314)+RCT(646)*V(309)+RCT(647)& &*V(309)+RCT(650)*V(302)+RCT(651)*V(288)+RCT(652)*V(287)+RCT(653)*V(248)+RCT(654)*V(216)+RCT(661)*V(194)& &+RCT(662)*V(185)+RCT(663)*V(131)+RCT(664)*V(227)+RCT(665)*V(208)+RCT(666)*V(153)+RCT(672)*V(159)+RCT(684)& &*V(184)+RCT(685)*V(107)+RCT(686)*V(258)+RCT(687)*V(147)+RCT(688)*V(174)+RCT(689)*V(198)+RCT(690)*V(266)& &+RCT(691)*V(303)+RCT(693)*V(115)+RCT(694)*V(88)+RCT(696)*V(210)+RCT(697)*V(210)+RCT(698)*V(19)+RCT(701)& &*V(173)+RCT(702)*V(220)+RCT(705)*V(149)+RCT(707)*V(200)+RCT(711)*V(116)+RCT(713)*V(109)+RCT(714)*V(60)& &+RCT(721)*V(70)+RCT(722)*V(136)+RCT(723)*V(136)+RCT(724)*V(143)+RCT(725)*V(82)+RCT(726)*V(101)+RCT(732)& &*V(58)+7.09e-11*V(146)+RCT(740)*V(122)+RCT(741)*V(195)+RCT(743)*V(158)+RCT(745)*V(202)+RCT(748)*V(204)& &+RCT(753)*V(71)+RCT(755)*V(90)+RCT(760)*V(117)+RCT(763)*V(269)+RCT(767)*V(221)+RCT(770)*V(201)+RCT(780)& &*V(41)+RCT(791)*V(353)+RCT(792)*V(344) D_VAR(346) = RCT(13)*V(341)+RCT(22)*V(337)+RCT(26)*V(328)+RCT(27)*V(328)+RCT(37)*V(345)+RCT(43)*V(351)+RCT(56)*V(324)& &+RCT(58)*V(296)+RCT(59)*V(296)+RCT(60)*V(315)+RCT(63)*V(321)+RCT(64)*V(321)+RCT(65)*V(260)+RCT(68)*V(178)& &+RCT(69)*V(178)+RCT(73)*V(165)+RCT(78)*V(212)+RCT(82)*V(132)+RCT(85)*V(197)+RCT(90)*V(300)+RCT(91)*V(300)& &+RCT(92)*V(249)+RCT(93)*V(319)+RCT(94)*V(319)+RCT(95)*V(318)+RCT(96)*V(313)+RCT(97)*V(320)+RCT(98)*V(323)& &+RCT(99)*V(323)+RCT(100)*V(250)+RCT(109)*V(322)+RCT(123)*V(320)+RCT(127)*V(246)+RCT(157)*V(213)+RCT(209)& &*V(347)+RCT(242)*V(343)+RCT(249)*V(67)+RCT(300)*V(338)+RCT(334)*V(331)+RCT(348)*V(96)+RCT(356)*V(284)& &+RCT(363)*V(312)+RCT(370)*V(241)+RCT(385)*V(277)+RCT(392)*V(257)+RCT(399)*V(278)+RCT(405)*V(275)+RCT(411)& &*V(273)+RCT(412)*V(273)+RCT(418)*V(281)+RCT(429)*V(272)+RCT(437)*V(274)+RCT(444)*V(291)+RCT(445)*V(291)& &+RCT(468)*V(280)+RCT(469)*V(289)+RCT(516)*V(305)+RCT(517)*V(305)+RCT(518)*V(305)+RCT(519)*V(305)+RCT(520)& &*V(304)+RCT(521)*V(304)+RCT(522)*V(304)+RCT(523)*V(304)+RCT(540)*V(223)+RCT(541)*V(223)+RCT(544)*V(224)& &+RCT(545)*V(224)+RCT(548)*V(232)+RCT(549)*V(232)+RCT(559)*V(286)+RCT(560)*V(286)+RCT(563)*V(285)+RCT(564)& &*V(285)+RCT(567)*V(243)+RCT(568)*V(243)+RCT(570)*V(133)+RCT(572)*V(135)+RCT(586)*V(205)+RCT(587)*V(205)& &+RCT(590)*V(190)+RCT(591)*V(190)+RCT(595)*V(206)+RCT(596)*V(206)+RCT(598)*V(207)+RCT(599)*V(207)+RCT(601)& &*V(293)+RCT(602)*V(293)+RCT(615)*V(310)+RCT(616)*V(310)+RCT(617)*V(311)+RCT(618)*V(311)+RCT(633)*V(271)& &+RCT(634)*V(271)+RCT(635)*V(226)+RCT(636)*V(226)+RCT(639)*V(182)+RCT(642)*V(180)+RCT(655)*V(171)+RCT(658)& &*V(172)+RCT(668)*V(254)+RCT(669)*V(254)+RCT(674)*V(253)+RCT(675)*V(253)+RCT(676)*V(259)+RCT(679)*V(308)& &+RCT(700)*V(18)+RCT(709)*V(189)+RCT(716)*V(234)+RCT(728)*V(263)+RCT(733)*V(121)+RCT(736)*V(240)+RCT(751)& &*V(235)+RCT(757)*V(236)+RCT(774)*V(13)+RCT(776)*V(22)+RCT(778)*V(27)+RCT(988) D_VAR(347) = RCT(204)*V(337)+RCT(207)*2*V(347)+RCT(208)*2*V(347)+RCT(209)*V(346)+RCT(214)*V(345)+RCT(222)*V(335)& &+RCT(251)*V(343)+RCT(310)*V(338)+RCT(311)*V(338)+RCT(312)*V(338)+RCT(343)*V(331)+RCT(344)*V(284)+RCT(932) D_VAR(348) = RCT(1)*V(179)*V(341)+RCT(4)*V(166)*V(341)+RCT(7)*V(264)+RCT(8)*V(341)+RCT(9)+RCT(10)*V(325)+RCT(12)*V(89)& &*V(345)+RCT(202)*V(345)+RCT(368)*V(312)+RCT(372)*V(241)+RCT(812)*V(333)+RCT(819)*V(316) D_VAR(349) = RCT(798)*V(317)+RCT(805)*V(297)+RCT(817)*V(316)+RCT(821)*V(341)+RCT(844)*V(252)+RCT(848)*V(332)+RCT(852)& &*V(330) D_VAR(350) = RCT(799)*V(317)+RCT(806)*V(297)+RCT(818)*V(316)+RCT(822)*V(341)+RCT(845)*V(252)+RCT(849)*V(332)+RCT(853)& &*V(330) D_VAR(351) = RCT(42)*V(337)+RCT(43)*V(346)+RCT(44)*V(345)+RCT(45)*V(335)+RCT(49)*V(335)+RCT(50)*V(325)+RCT(52)*V(326)& &+RCT(67)*V(69)+RCT(76)*V(140)+RCT(101)*V(142)+RCT(110)*V(298)+RCT(131)*V(292)+RCT(154)*V(306)+RCT(159)& &*V(213)+RCT(162)*V(290)+RCT(165)*V(270)+RCT(166)*V(294)+RCT(179)*V(183)+RCT(196)*2*V(351)+RCT(201)*V(94)& &+RCT(215)*V(342)+RCT(241)*V(343)+RCT(339)*V(170)+RCT(375)*V(191)+RCT(376)*V(219)+RCT(377)*V(167)+RCT(386)& &*V(277)+RCT(389)*V(225)+RCT(395)*V(257)+RCT(400)*V(278)+RCT(406)*V(275)+RCT(414)*V(273)+RCT(419)*V(281)& &+RCT(422)*V(255)+RCT(425)*V(237)+RCT(428)*V(211)+RCT(431)*V(272)+RCT(434)*V(163)+RCT(440)*V(274)+RCT(446)& &*V(291)+RCT(449)*V(229)+RCT(452)*V(193)+RCT(455)*V(262)+RCT(476)*V(280)+RCT(477)*V(289)+RCT(484)*V(242)& &+RCT(485)*V(256)+RCT(603)*V(276)+RCT(613)*V(310)+RCT(614)*V(311)+RCT(649)*V(309)+RCT(681)*V(308)+RCT(692)& &*V(261)+RCT(703)*V(220)+RCT(706)*V(149)+RCT(708)*V(200)+RCT(717)*V(234)+RCT(729)*V(263)+RCT(742)*V(195)& &+RCT(744)*V(158)+RCT(747)*V(202)+RCT(749)*V(204)+RCT(758)*V(236)+RCT(764)*V(269)+RCT(779)*V(328)+RCT(783)& &+RCT(784)+RCT(785)+RCT(894)+RCT(895) D_VAR(352) = RCT(206)*V(345)+RCT(213)*V(343)+RCT(254)*V(334)+RCT(797)*V(317)+RCT(807)*V(297)+RCT(809)*V(333)+RCT(813)& &*V(316)+RCT(820)*V(341)+RCT(823)+RCT(824) D_VAR(353) = RCT(789)*V(214)+RCT(791)*V(345)+RCT(800)*V(317)+RCT(802)*V(297)+RCT(810)*V(333)+RCT(815)*V(316)+RCT(846)& &*V(252)+RCT(850)*V(332)+RCT(854)*V(330) END SUBROUTINE Fun_SPLITF ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! CalcStoichNum - calculate stoichiometric numbers ! Arguments : ! StoichNum - Stoichiometric numbers ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE CalcStoichNum ( StoichNum ) ! StoichNum - Stoichiometric numbers REAL(kind=dp) :: StoichNum(NVAR,NREACT) StoichNum(:,:) = 0. StoichNum(1,975) = -1 StoichNum(2,977) = -1 StoichNum(3,976) = -1 StoichNum(4,825) = 1 StoichNum(4,830) = 2 StoichNum(4,833) = 2 StoichNum(4,836) = 2 StoichNum(5,881) = 1 StoichNum(6,780) = 1 StoichNum(7,24) = 1 StoichNum(7,47) = 1 StoichNum(7,56) = 1 StoichNum(7,104) = 1 StoichNum(7,109) = 1 StoichNum(7,127) = 1 StoichNum(7,128) = 0.44 StoichNum(7,136) = 0.3 StoichNum(7,148) = 0.43 StoichNum(7,150) = 0.1 StoichNum(7,151) = 0.361 StoichNum(7,158) = 0.44 StoichNum(7,168) = 0.5 StoichNum(7,178) = 0.22 StoichNum(7,180) = 2 StoichNum(7,181) = 0.9 StoichNum(7,182) = 0.9 StoichNum(7,183) = 0.9 StoichNum(7,184) = 0.9 StoichNum(7,185) = 0.9 StoichNum(7,186) = 0.9 StoichNum(7,187) = 0.645 StoichNum(7,188) = 0.645 StoichNum(7,189) = 0.9 StoichNum(7,190) = 0.9 StoichNum(7,191) = 0.9 StoichNum(7,192) = 0.9 StoichNum(7,193) = 0.9 StoichNum(7,194) = 2 StoichNum(7,195) = 1 StoichNum(7,239) = 1 StoichNum(7,318) = 1 StoichNum(7,326) = 1 StoichNum(7,360) = 1 StoichNum(7,362) = 1 StoichNum(7,369) = 1 StoichNum(7,392) = 1 StoichNum(7,395) = 1 StoichNum(7,397) = 1 StoichNum(7,436) = 0.44 StoichNum(7,437) = 1 StoichNum(7,440) = 1 StoichNum(7,442) = 1 StoichNum(7,457) = 0.9 StoichNum(7,459) = 0.9 StoichNum(7,461) = 0.9 StoichNum(7,463) = 0.9 StoichNum(7,464) = 0.75 StoichNum(7,465) = 2 StoichNum(7,466) = 0.75 StoichNum(7,467) = 1 StoichNum(7,474) = 1 StoichNum(7,493) = 0.407 StoichNum(7,528) = 0.355 StoichNum(7,570) = 1 StoichNum(7,571) = 1 StoichNum(7,572) = 1 StoichNum(7,573) = 1 StoichNum(7,611) = 1 StoichNum(7,612) = 1 StoichNum(7,639) = 0.429 StoichNum(7,640) = 0.429 StoichNum(7,652) = 0.23 StoichNum(7,654) = 0.75 StoichNum(7,661) = 0.097 StoichNum(7,671) = 0.5 StoichNum(7,672) = 0.41 StoichNum(7,676) = 1 StoichNum(7,678) = 0.5 StoichNum(7,679) = 1 StoichNum(7,681) = 1 StoichNum(7,682) = 0.7 StoichNum(7,689) = 1 StoichNum(7,693) = 1 StoichNum(7,695) = 0.5 StoichNum(7,701) = 1 StoichNum(7,731) = 1 StoichNum(7,736) = 2 StoichNum(7,737) = 0.44 StoichNum(7,750) = 0.35 StoichNum(7,751) = 1 StoichNum(7,755) = 1 StoichNum(7,766) = 1 StoichNum(7,899) = 0.3 StoichNum(7,930) = 1 StoichNum(7,1004) = 1 StoichNum(7,1012) = 1.238 StoichNum(7,1044) = 1 StoichNum(7,1046) = 1 StoichNum(7,1050) = 1 StoichNum(7,1051) = 1 StoichNum(7,1055) = 1 StoichNum(7,1056) = 1 StoichNum(8,486) = 1 StoichNum(8,487) = 1 StoichNum(9,826) = 1 StoichNum(9,828) = 1 StoichNum(9,831) = 2 StoichNum(9,834) = 2 StoichNum(9,837) = 2 StoichNum(9,839) = 1 StoichNum(9,841) = 1 StoichNum(10,827) = 1 StoichNum(10,829) = 1 StoichNum(10,832) = 2 StoichNum(10,835) = 2 StoichNum(10,838) = 2 StoichNum(10,840) = 1 StoichNum(10,842) = 1 StoichNum(11,773) = 1 StoichNum(12,774) = 1 StoichNum(13,724) = 1 StoichNum(13,773) = -1 StoichNum(13,774) = -1 StoichNum(14,494) = 1 StoichNum(14,495) = 1 StoichNum(14,496) = 1 StoichNum(14,497) = 1 StoichNum(15,603) = 1 StoichNum(16,699) = 1 StoichNum(17,700) = 1 StoichNum(18,698) = 1 StoichNum(18,699) = -1 StoichNum(18,700) = -1 StoichNum(19,698) = -1 StoichNum(20,775) = 1 StoichNum(21,776) = 1 StoichNum(22,725) = 1 StoichNum(22,775) = -1 StoichNum(22,776) = -1 StoichNum(23,861) = 1 StoichNum(24,177) = -1 StoichNum(24,531) = 0.005 StoichNum(24,532) = 0.005 StoichNum(24,533) = 0.005 StoichNum(24,534) = 0.005 StoichNum(24,535) = 0.005 StoichNum(24,536) = 0.005 StoichNum(24,537) = 0.005 StoichNum(24,538) = 0.005 StoichNum(24,861) = -1 StoichNum(25,777) = 1 StoichNum(26,778) = 1 StoichNum(27,726) = 1 StoichNum(27,777) = -1 StoichNum(27,778) = -1 StoichNum(28,200) = 0.25 StoichNum(29,4) = 1 StoichNum(30,856) = 1 StoichNum(30,857) = 1.5 StoichNum(30,867) = 1.5 StoichNum(31,858) = 1 StoichNum(31,859) = 1 StoichNum(31,860) = 1 StoichNum(31,868) = 0.8 StoichNum(31,873) = 1 StoichNum(32,202) = 1 StoichNum(32,368) = 1 StoichNum(32,372) = 1 StoichNum(33,12) = 2 StoichNum(34,18) = 1 StoichNum(34,22) = 1 StoichNum(34,26) = 1 StoichNum(34,36) = 1 StoichNum(34,38) = 1 StoichNum(34,56) = 1 StoichNum(34,58) = 1 StoichNum(34,60) = 1 StoichNum(34,63) = 1 StoichNum(34,65) = 1 StoichNum(34,68) = 1 StoichNum(34,73) = 2 StoichNum(34,78) = 0.942 StoichNum(34,80) = 1 StoichNum(34,82) = 1 StoichNum(34,85) = 1 StoichNum(34,87) = 1 StoichNum(34,88) = 2 StoichNum(34,90) = 1 StoichNum(34,91) = 1 StoichNum(34,92) = 1 StoichNum(34,93) = 1 StoichNum(34,94) = 1 StoichNum(34,95) = 1 StoichNum(34,96) = 1 StoichNum(34,97) = 1 StoichNum(34,98) = 1 StoichNum(34,100) = 1 StoichNum(34,109) = 1 StoichNum(34,123) = 1 StoichNum(34,125) = 1 StoichNum(34,126) = 1 StoichNum(34,127) = 1 StoichNum(34,128) = 0.15 StoichNum(34,148) = 0.15 StoichNum(34,156) = 1 StoichNum(34,157) = 1 StoichNum(34,158) = 0.15 StoichNum(34,160) = 1 StoichNum(34,211) = 1 StoichNum(34,247) = 0.02 StoichNum(34,248) = 1 StoichNum(34,249) = 1 StoichNum(34,273) = 1 StoichNum(34,281) = 1 StoichNum(34,282) = 1 StoichNum(34,297) = 1 StoichNum(34,309) = 0.1 StoichNum(34,319) = 1 StoichNum(34,322) = 1 StoichNum(34,323) = 1 StoichNum(34,352) = 1 StoichNum(34,363) = 1 StoichNum(34,364) = 1 StoichNum(34,370) = 1 StoichNum(34,371) = 1 StoichNum(34,385) = 0.75 StoichNum(34,388) = 0.5 StoichNum(34,391) = 0.15 StoichNum(34,392) = 1 StoichNum(34,394) = 1 StoichNum(34,399) = 0.84 StoichNum(34,403) = 1 StoichNum(34,405) = 0.75 StoichNum(34,407) = 0.5 StoichNum(34,412) = 1 StoichNum(34,416) = 1 StoichNum(34,418) = 0.75 StoichNum(34,426) = 0.5 StoichNum(34,429) = 0.84 StoichNum(34,435) = 1 StoichNum(34,436) = 0.15 StoichNum(34,437) = 1 StoichNum(34,439) = 1 StoichNum(34,445) = 1 StoichNum(34,450) = 1 StoichNum(34,468) = 1 StoichNum(34,469) = 1 StoichNum(34,486) = 1 StoichNum(34,487) = 1 StoichNum(34,488) = 1 StoichNum(34,489) = 1 StoichNum(34,490) = 1 StoichNum(34,491) = 1 StoichNum(34,492) = 1 StoichNum(34,516) = 1 StoichNum(34,517) = 1 StoichNum(34,518) = 1 StoichNum(34,519) = 1 StoichNum(34,520) = 1 StoichNum(34,521) = 1 StoichNum(34,522) = 1 StoichNum(34,523) = 1 StoichNum(34,540) = 1 StoichNum(34,541) = 1 StoichNum(34,544) = 1 StoichNum(34,545) = 1 StoichNum(34,548) = 1 StoichNum(34,549) = 1 StoichNum(34,559) = 1 StoichNum(34,560) = 1 StoichNum(34,563) = 1 StoichNum(34,564) = 1 StoichNum(34,567) = 1 StoichNum(34,568) = 1 StoichNum(34,570) = 1 StoichNum(34,572) = 1 StoichNum(34,586) = 1 StoichNum(34,587) = 1 StoichNum(34,590) = 1 StoichNum(34,591) = 1 StoichNum(34,595) = 1 StoichNum(34,596) = 1 StoichNum(34,598) = 1 StoichNum(34,599) = 1 StoichNum(34,601) = 1 StoichNum(34,602) = 1 StoichNum(34,615) = 1 StoichNum(34,616) = 1 StoichNum(34,617) = 1 StoichNum(34,618) = 1 StoichNum(34,633) = 1 StoichNum(34,634) = 1 StoichNum(34,635) = 1 StoichNum(34,636) = 1 StoichNum(34,639) = 1 StoichNum(34,642) = 1 StoichNum(34,650) = 0.69 StoichNum(34,655) = 1 StoichNum(34,658) = 1 StoichNum(34,668) = 1 StoichNum(34,669) = 1 StoichNum(34,671) = 0.13 StoichNum(34,674) = 1 StoichNum(34,675) = 1 StoichNum(34,676) = 1 StoichNum(34,678) = 0.13 StoichNum(34,679) = 1 StoichNum(34,684) = 1 StoichNum(34,695) = 0.13 StoichNum(34,709) = 0.89 StoichNum(34,711) = 1 StoichNum(34,716) = 0.995 StoichNum(34,721) = 1 StoichNum(34,728) = 1 StoichNum(34,733) = 1 StoichNum(34,736) = 1 StoichNum(34,737) = 0.15 StoichNum(34,739) = 1 StoichNum(34,740) = 1 StoichNum(34,750) = 0.15 StoichNum(34,751) = 1 StoichNum(34,754) = 1 StoichNum(34,755) = 1 StoichNum(34,756) = 1 StoichNum(34,757) = 1 StoichNum(34,763) = 1 StoichNum(34,884) = 2 StoichNum(34,892) = 1 StoichNum(34,899) = 0.3 StoichNum(34,900) = 1 StoichNum(34,927) = 1 StoichNum(34,928) = 1 StoichNum(34,982) = 1 StoichNum(34,985) = 1 StoichNum(34,988) = 1 StoichNum(34,998) = 1 StoichNum(34,999) = 1 StoichNum(34,1000) = 1 StoichNum(34,1001) = 1 StoichNum(34,1047) = 0.3 StoichNum(35,1) = 1 StoichNum(35,4) = 1 StoichNum(35,8) = 1 StoichNum(35,14) = 1 StoichNum(35,15) = 1 StoichNum(35,17) = 1 StoichNum(35,42) = 1 StoichNum(35,44) = 1 StoichNum(35,49) = 2 StoichNum(35,50) = 1 StoichNum(35,52) = 1 StoichNum(35,67) = 1 StoichNum(35,76) = 1 StoichNum(35,77) = 1 StoichNum(35,86) = 1 StoichNum(35,101) = 1 StoichNum(35,110) = 1 StoichNum(35,124) = 1 StoichNum(35,131) = 1 StoichNum(35,150) = 1 StoichNum(35,154) = 1 StoichNum(35,155) = 1 StoichNum(35,159) = 1 StoichNum(35,162) = 1 StoichNum(35,165) = 1 StoichNum(35,166) = 1 StoichNum(35,179) = 1 StoichNum(35,196) = 2 StoichNum(35,201) = 1 StoichNum(35,207) = 2 StoichNum(35,208) = 2 StoichNum(35,212) = 1 StoichNum(35,213) = 1 StoichNum(35,214) = 1 StoichNum(35,226) = 1 StoichNum(35,229) = 1 StoichNum(35,230) = 1 StoichNum(35,231) = 1 StoichNum(35,233) = 2 StoichNum(35,235) = 1 StoichNum(35,236) = 1 StoichNum(35,237) = 1 StoichNum(35,238) = 1 StoichNum(35,240) = 2 StoichNum(35,241) = 2 StoichNum(35,244) = 1 StoichNum(35,246) = 1 StoichNum(35,251) = 2 StoichNum(35,252) = 1 StoichNum(35,253) = 0.66 StoichNum(35,254) = 0.6 StoichNum(35,257) = 0.44 StoichNum(35,258) = 0.56 StoichNum(35,261) = 0.19 StoichNum(35,269) = 0.1 StoichNum(35,270) = 0.05 StoichNum(35,274) = 1 StoichNum(35,275) = 1 StoichNum(35,276) = 1 StoichNum(35,277) = 1 StoichNum(35,278) = 1 StoichNum(35,298) = 2 StoichNum(35,302) = 2 StoichNum(35,303) = 2 StoichNum(35,311) = 2 StoichNum(35,312) = 2 StoichNum(35,344) = 0.4 StoichNum(35,349) = 0.88 StoichNum(35,367) = 1 StoichNum(35,375) = 1 StoichNum(35,376) = 1 StoichNum(35,377) = 1 StoichNum(35,379) = 1 StoichNum(35,381) = 1 StoichNum(35,383) = 1 StoichNum(35,386) = 1 StoichNum(35,389) = 1 StoichNum(35,393) = 1 StoichNum(35,395) = 1 StoichNum(35,400) = 1 StoichNum(35,406) = 1 StoichNum(35,414) = 1 StoichNum(35,419) = 1 StoichNum(35,421) = 1 StoichNum(35,422) = 2 StoichNum(35,424) = 1 StoichNum(35,425) = 2 StoichNum(35,427) = 0.5 StoichNum(35,428) = 1 StoichNum(35,431) = 1 StoichNum(35,434) = 1 StoichNum(35,438) = 1 StoichNum(35,440) = 1 StoichNum(35,446) = 1 StoichNum(35,448) = 1 StoichNum(35,449) = 1 StoichNum(35,454) = 1 StoichNum(35,455) = 1 StoichNum(35,476) = 1 StoichNum(35,477) = 1 StoichNum(35,483) = 1 StoichNum(35,484) = 2 StoichNum(35,485) = 2 StoichNum(35,493) = 1 StoichNum(35,603) = 1 StoichNum(35,613) = 1 StoichNum(35,614) = 1 StoichNum(35,645) = 1 StoichNum(35,648) = 1 StoichNum(35,649) = 1 StoichNum(35,681) = 1 StoichNum(35,692) = 1 StoichNum(35,703) = 1 StoichNum(35,704) = 1 StoichNum(35,706) = 1 StoichNum(35,708) = 1 StoichNum(35,712) = 1 StoichNum(35,717) = 1 StoichNum(35,729) = 1 StoichNum(35,738) = 1 StoichNum(35,742) = 1.258 StoichNum(35,744) = 1.5 StoichNum(35,746) = 1 StoichNum(35,747) = 1.5 StoichNum(35,749) = 1 StoichNum(35,752) = 1 StoichNum(35,758) = 1 StoichNum(35,761) = 1 StoichNum(35,762) = 1 StoichNum(35,768) = 1 StoichNum(35,771) = 1 StoichNum(35,779) = 1 StoichNum(35,782) = 0.5 StoichNum(35,783) = 1 StoichNum(35,784) = 1 StoichNum(35,785) = 1 StoichNum(35,786) = 1 StoichNum(35,787) = 1 StoichNum(35,788) = 1 StoichNum(35,789) = 1 StoichNum(35,790) = 1 StoichNum(35,794) = 1 StoichNum(35,796) = 1 StoichNum(35,797) = 1 StoichNum(35,798) = 1 StoichNum(35,799) = 1 StoichNum(35,800) = 1 StoichNum(35,801) = 1 StoichNum(35,802) = 1 StoichNum(35,803) = 1 StoichNum(35,804) = 1 StoichNum(35,805) = 1 StoichNum(35,806) = 1 StoichNum(35,807) = 1 StoichNum(35,808) = 1 StoichNum(35,809) = 1 StoichNum(35,810) = 1 StoichNum(35,811) = 1 StoichNum(35,812) = 1 StoichNum(35,813) = 1 StoichNum(35,814) = 1 StoichNum(35,815) = 1 StoichNum(35,816) = 1 StoichNum(35,817) = 1 StoichNum(35,818) = 1 StoichNum(35,819) = 1 StoichNum(35,828) = 1 StoichNum(35,829) = 1 StoichNum(35,830) = 2 StoichNum(35,831) = 2 StoichNum(35,832) = 2 StoichNum(35,833) = 3 StoichNum(35,834) = 3 StoichNum(35,835) = 3 StoichNum(35,836) = 4 StoichNum(35,837) = 4 StoichNum(35,838) = 4 StoichNum(35,839) = 1 StoichNum(35,840) = 1 StoichNum(35,841) = 1 StoichNum(35,842) = 1 StoichNum(35,844) = 1 StoichNum(35,845) = 1 StoichNum(35,846) = 1 StoichNum(35,847) = 1 StoichNum(35,848) = 1 StoichNum(35,849) = 1 StoichNum(35,850) = 1 StoichNum(35,851) = 1 StoichNum(35,852) = 1 StoichNum(35,853) = 1 StoichNum(35,854) = 1 StoichNum(35,855) = 1 StoichNum(35,862) = 1 StoichNum(35,863) = 1 StoichNum(35,864) = 1 StoichNum(35,865) = 1 StoichNum(35,866) = 1 StoichNum(35,869) = 1 StoichNum(35,870) = 1 StoichNum(35,871) = 1 StoichNum(35,872) = 1 StoichNum(35,874) = 1 StoichNum(35,875) = 1 StoichNum(35,876) = 2 StoichNum(35,877) = 1 StoichNum(35,878) = 1 StoichNum(35,879) = 1 StoichNum(35,880) = 1 StoichNum(35,895) = 2 StoichNum(35,933) = 1 StoichNum(35,946) = 2 StoichNum(35,950) = 1 StoichNum(35,967) = 1 StoichNum(35,969) = 2 StoichNum(35,994) = 1 StoichNum(35,996) = 1 StoichNum(36,34) = 1 StoichNum(36,50) = 1 StoichNum(36,51) = 0.05 StoichNum(36,55) = 1 StoichNum(36,80) = 1 StoichNum(36,82) = 1 StoichNum(36,83) = 1 StoichNum(36,84) = 1 StoichNum(36,85) = 1 StoichNum(36,88) = 1 StoichNum(36,108) = 1 StoichNum(36,126) = 1 StoichNum(36,150) = 0.56 StoichNum(36,151) = 0.505 StoichNum(36,152) = 1 StoichNum(36,160) = 1 StoichNum(36,163) = 2 StoichNum(36,164) = 1 StoichNum(36,165) = 2 StoichNum(36,166) = 1 StoichNum(36,168) = 0.5 StoichNum(36,216) = 1 StoichNum(36,238) = 1 StoichNum(36,252) = 1 StoichNum(36,292) = 1 StoichNum(36,315) = 1 StoichNum(36,316) = 1 StoichNum(36,317) = 1 StoichNum(36,379) = 0.15 StoichNum(36,383) = 0.1 StoichNum(36,493) = 0.407 StoichNum(36,496) = 0.6 StoichNum(36,497) = 0.9 StoichNum(36,503) = 0.6 StoichNum(36,505) = 0.9 StoichNum(36,509) = 1 StoichNum(36,510) = 1 StoichNum(36,511) = 1 StoichNum(36,513) = 0.5 StoichNum(36,515) = 0.5 StoichNum(36,519) = 0.55 StoichNum(36,523) = 0.55 StoichNum(36,524) = 0.45 StoichNum(36,525) = 0.37 StoichNum(36,526) = 0.42 StoichNum(36,527) = 0.23 StoichNum(36,528) = 0.638 StoichNum(36,529) = 1.5 StoichNum(36,530) = 1 StoichNum(36,535) = 0.25 StoichNum(36,536) = 0.33 StoichNum(36,537) = 0.036 StoichNum(36,538) = 0.054 StoichNum(36,557) = 1 StoichNum(36,558) = 0.13 StoichNum(36,559) = 0.2 StoichNum(36,562) = 1 StoichNum(36,563) = 0.2 StoichNum(36,565) = 0.13 StoichNum(36,566) = 0.52 StoichNum(36,568) = 0.8 StoichNum(36,569) = 2 StoichNum(36,582) = 0.6 StoichNum(36,583) = 0.6 StoichNum(36,638) = 0.539 StoichNum(36,639) = 0.33 StoichNum(36,640) = 0.33 StoichNum(36,645) = 0.28 StoichNum(36,646) = 0.036 StoichNum(36,648) = 0.12 StoichNum(36,649) = 0.68 StoichNum(36,652) = 0.77 StoichNum(36,654) = 0.25 StoichNum(36,661) = 0.75 StoichNum(36,662) = 1 StoichNum(36,664) = 1 StoichNum(36,665) = 2 StoichNum(36,666) = 0.84 StoichNum(36,670) = 0.507 StoichNum(36,671) = 0.325 StoichNum(36,672) = 0.488 StoichNum(36,673) = 1 StoichNum(36,674) = 0.86 StoichNum(36,676) = 0.65 StoichNum(36,684) = 0.25 StoichNum(36,685) = 1 StoichNum(36,686) = 1 StoichNum(36,687) = 0.888 StoichNum(36,690) = 1 StoichNum(36,696) = 1 StoichNum(36,704) = 0.18 StoichNum(36,707) = 0.12 StoichNum(36,714) = 0.364 StoichNum(36,724) = 0.2 StoichNum(36,725) = 0.27 StoichNum(36,726) = 0.3 StoichNum(36,740) = 2 StoichNum(36,763) = 0.15 StoichNum(36,764) = 0.15 StoichNum(36,767) = 0.26 StoichNum(36,768) = 0.5 StoichNum(36,770) = 0.25 StoichNum(36,771) = 0.5 StoichNum(36,772) = 0.05 StoichNum(36,888) = 1 StoichNum(36,889) = 1 StoichNum(36,897) = 0.88 StoichNum(36,898) = 1 StoichNum(36,901) = 0.7 StoichNum(36,902) = 1 StoichNum(36,903) = 1 StoichNum(36,905) = 1 StoichNum(36,907) = 1 StoichNum(36,908) = 2 StoichNum(36,909) = 2 StoichNum(36,910) = 1 StoichNum(36,911) = 1 StoichNum(36,912) = 1 StoichNum(36,913) = 1 StoichNum(36,915) = 1 StoichNum(36,986) = 1 StoichNum(36,990) = 1 StoichNum(36,1003) = 1 StoichNum(36,1006) = 1 StoichNum(36,1007) = 0.5 StoichNum(36,1009) = 0.571 StoichNum(36,1010) = 0.875 StoichNum(36,1011) = 0.77 StoichNum(36,1014) = 1 StoichNum(36,1015) = 1 StoichNum(36,1020) = 0.888 StoichNum(36,1021) = 0.818 StoichNum(36,1022) = 1 StoichNum(36,1023) = 1 StoichNum(36,1024) = 0.55 StoichNum(36,1027) = 0.55 StoichNum(36,1031) = 0.839 StoichNum(36,1033) = 1 StoichNum(36,1034) = 0.163 StoichNum(36,1037) = 1 StoichNum(36,1041) = 1 StoichNum(36,1043) = 1 StoichNum(36,1046) = 1 StoichNum(36,1049) = 1 StoichNum(36,1058) = 1 StoichNum(37,24) = 1 StoichNum(37,362) = 1 StoichNum(37,369) = 1 StoichNum(38,1) = 1 StoichNum(38,7) = 1 StoichNum(38,8) = 1 StoichNum(38,9) = 1 StoichNum(38,12) = 2 StoichNum(38,202) = 1 StoichNum(38,368) = 1 StoichNum(38,372) = 1 StoichNum(38,812) = 1 StoichNum(38,819) = 1 StoichNum(39,25) = 1 StoichNum(39,231) = 1 StoichNum(39,291) = 1 StoichNum(40,19) = 1 StoichNum(40,23) = 1 StoichNum(40,365) = 0.06 StoichNum(40,366) = 0.06 StoichNum(40,373) = 1 StoichNum(40,493) = 0.013 StoichNum(40,645) = 0.045 StoichNum(41,780) = -1 StoichNum(42,346) = 1 StoichNum(42,347) = -1 StoichNum(42,836) = -1 StoichNum(42,837) = -1 StoichNum(42,838) = -1 StoichNum(42,978) = -1 StoichNum(43,286) = -1 StoichNum(43,951) = -1 StoichNum(44,357) = 0.6 StoichNum(44,358) = -1 StoichNum(44,830) = -1 StoichNum(44,831) = -1 StoichNum(44,832) = -1 StoichNum(44,973) = -1 StoichNum(45,487) = -1 StoichNum(45,864) = 1 StoichNum(45,865) = 1 StoichNum(45,866) = 1 StoichNum(46,256) = -0.79 StoichNum(46,952) = -1 StoichNum(47,262) = -0.9 StoichNum(47,953) = -1 StoichNum(48,263) = -0.86 StoichNum(48,954) = -1 StoichNum(49,269) = -0.9 StoichNum(49,955) = -1 StoichNum(50,270) = -0.9 StoichNum(50,956) = -1 StoichNum(51,271) = -0.86 StoichNum(51,957) = -1 StoichNum(52,359) = -1 StoichNum(52,974) = -1 StoichNum(53,265) = -0.45 StoichNum(53,962) = -1 StoichNum(54,272) = -0.75 StoichNum(54,964) = -1 StoichNum(55,345) = 1 StoichNum(55,833) = -1 StoichNum(55,834) = -1 StoichNum(55,835) = -1 StoichNum(55,979) = -1 StoichNum(56,393) = 1 StoichNum(56,394) = -1 StoichNum(57,438) = 1 StoichNum(57,439) = -1 StoichNum(58,707) = 0.15 StoichNum(58,732) = -1 StoichNum(59,221) = 1 StoichNum(59,936) = -1 StoichNum(60,714) = -1 StoichNum(61,264) = -0.65 StoichNum(61,963) = -1 StoichNum(62,334) = 1 StoichNum(62,335) = -2 StoichNum(62,970) = -1 StoichNum(63,230) = -1 StoichNum(63,250) = 1 StoichNum(63,985) = -1 StoichNum(64,3) = 1 StoichNum(64,784) = 1 StoichNum(64,996) = -1 StoichNum(64,997) = -1 StoichNum(65,6) = 1 StoichNum(65,785) = 1 StoichNum(65,994) = -1 StoichNum(65,995) = -1 StoichNum(66,391) = 0.15 StoichNum(66,397) = -1 StoichNum(66,464) = 0.25 StoichNum(66,1051) = -1 StoichNum(67,248) = -1 StoichNum(67,249) = -1 StoichNum(67,250) = -1 StoichNum(67,988) = 1 StoichNum(68,238) = -1 StoichNum(68,239) = -1 StoichNum(68,986) = -1 StoichNum(69,66) = -1 StoichNum(69,67) = -1 StoichNum(70,716) = 0.005 StoichNum(70,721) = -1 StoichNum(71,750) = 0.65 StoichNum(71,753) = -1 StoichNum(71,1044) = -1 StoichNum(72,158) = 0.56 StoichNum(72,161) = -1 StoichNum(73,351) = 1 StoichNum(73,353) = -1 StoichNum(73,825) = -1 StoichNum(73,826) = -1 StoichNum(73,827) = -1 StoichNum(74,391) = 0.41 StoichNum(74,396) = -1 StoichNum(74,1050) = -1 StoichNum(75,285) = -1 StoichNum(75,317) = -1 StoichNum(76,278) = -1 StoichNum(76,307) = 1 StoichNum(76,308) = -1 StoichNum(76,946) = -1 StoichNum(77,844) = 1 StoichNum(77,845) = 1 StoichNum(77,848) = 1 StoichNum(77,849) = 1 StoichNum(77,852) = 1 StoichNum(77,853) = 1 StoichNum(77,980) = -1 StoichNum(78,224) = -1 StoichNum(78,259) = -0.95 StoichNum(78,938) = -1 StoichNum(79,284) = -1 StoichNum(79,316) = -1 StoichNum(79,941) = -1 StoichNum(80,197) = 1 StoichNum(80,198) = -1 StoichNum(80,982) = -1 StoichNum(80,983) = -1 StoichNum(81,223) = -1 StoichNum(81,260) = -0.7 StoichNum(81,937) = -1 StoichNum(82,725) = -1 StoichNum(83,59) = 1 StoichNum(83,490) = -1 StoichNum(83,999) = -1 StoichNum(84,268) = -0.79 StoichNum(84,290) = -1 StoichNum(84,958) = -1 StoichNum(85,266) = -0.69 StoichNum(85,288) = -1 StoichNum(85,959) = -1 StoichNum(86,267) = -0.65 StoichNum(86,289) = -1 StoichNum(86,960) = -1 StoichNum(87,261) = -0.75 StoichNum(87,287) = -1 StoichNum(87,961) = -1 StoichNum(88,365) = 0.73 StoichNum(88,366) = 0.4 StoichNum(88,694) = -1 StoichNum(88,1002) = -1 StoichNum(89,10) = 1 StoichNum(89,11) = -1 StoichNum(89,12) = -1 StoichNum(90,752) = 1 StoichNum(90,754) = -1 StoichNum(90,755) = -1 StoichNum(91,99) = 1 StoichNum(91,491) = -1 StoichNum(91,1000) = -1 StoichNum(92,178) = -1 StoichNum(92,695) = 0.37 StoichNum(92,930) = -1 StoichNum(93,27) = 1 StoichNum(93,489) = -1 StoichNum(93,998) = -1 StoichNum(94,199) = -1 StoichNum(94,200) = -1 StoichNum(94,201) = -1 StoichNum(95,64) = 1 StoichNum(95,492) = -1 StoichNum(95,1001) = -1 StoichNum(96,344) = 0.8 StoichNum(96,345) = -1 StoichNum(96,346) = -2 StoichNum(96,347) = 2 StoichNum(96,348) = -1 StoichNum(96,357) = 0.4 StoichNum(96,358) = 0.996 StoichNum(96,969) = -1 StoichNum(96,973) = 1 StoichNum(96,978) = 2 StoichNum(96,979) = 1 StoichNum(97,114) = 1 StoichNum(97,173) = -1 StoichNum(97,921) = -1 StoichNum(98,70) = 1 StoichNum(98,71) = -1 StoichNum(98,922) = -1 StoichNum(99,146) = 1 StoichNum(99,171) = -1 StoichNum(99,919) = -1 StoichNum(100,120) = 1 StoichNum(100,172) = -1 StoichNum(100,920) = -1 StoichNum(101,726) = -1 StoichNum(102,116) = 1 StoichNum(102,174) = -1 StoichNum(102,923) = -1 StoichNum(103,486) = -1 StoichNum(103,862) = 1 StoichNum(103,863) = 1 StoichNum(103,869) = 1 StoichNum(103,870) = 1 StoichNum(103,871) = 1 StoichNum(103,872) = 1 StoichNum(103,874) = 1 StoichNum(103,875) = 1 StoichNum(103,876) = 1 StoichNum(103,877) = 1 StoichNum(103,878) = 1 StoichNum(103,879) = 1 StoichNum(103,880) = 1 StoichNum(104,349) = 0.191 StoichNum(104,846) = 1 StoichNum(104,847) = 1 StoichNum(104,850) = 1 StoichNum(104,851) = 1 StoichNum(104,854) = 1 StoichNum(104,855) = 1 StoichNum(104,981) = -1 StoichNum(105,225) = -1 StoichNum(105,258) = -1 StoichNum(105,939) = -1 StoichNum(106,716) = 0.995 StoichNum(106,717) = 1 StoichNum(106,718) = 0.6 StoichNum(106,719) = -1 StoichNum(106,720) = -1 StoichNum(106,1042) = 1 StoichNum(107,672) = 0.098 StoichNum(107,684) = 0.75 StoichNum(107,685) = -1 StoichNum(107,868) = -1 StoichNum(108,39) = 1 StoichNum(108,40) = -1 StoichNum(108,41) = -1 StoichNum(108,892) = -1 StoichNum(108,893) = -1 StoichNum(109,712) = -1 StoichNum(109,713) = -1 StoichNum(109,901) = 0.4 StoichNum(110,274) = 1 StoichNum(110,278) = 1 StoichNum(110,303) = 1 StoichNum(110,305) = 1 StoichNum(110,306) = -1 StoichNum(110,309) = -1 StoichNum(110,311) = 1 StoichNum(110,946) = 1 StoichNum(110,965) = -1 StoichNum(111,384) = 1 StoichNum(111,387) = -1 StoichNum(111,1048) = -1 StoichNum(112,404) = 1 StoichNum(112,408) = -1 StoichNum(112,1053) = -1 StoichNum(113,124) = 1 StoichNum(113,125) = -1 StoichNum(113,126) = -1 StoichNum(114,155) = 1 StoichNum(114,156) = -1 StoichNum(114,160) = -1 StoichNum(115,645) = 0.075 StoichNum(115,650) = 0.241 StoichNum(115,661) = 0.653 StoichNum(115,693) = -1 StoichNum(115,867) = -1 StoichNum(115,1004) = -1 StoichNum(115,1010) = 0.75 StoichNum(116,709) = 0.11 StoichNum(116,711) = -1 StoichNum(116,928) = -1 StoichNum(117,750) = 0.15 StoichNum(117,755) = 1 StoichNum(117,759) = 1 StoichNum(117,760) = -1 StoichNum(117,1045) = -1 StoichNum(118,144) = 1 StoichNum(118,145) = 1 StoichNum(118,170) = -1 StoichNum(118,918) = -1 StoichNum(119,524) = 0.15 StoichNum(119,525) = 0.15 StoichNum(119,530) = -1 StoichNum(119,1020) = 0.112 StoichNum(119,1021) = 0.182 StoichNum(119,1031) = 0.161 StoichNum(120,277) = -1 StoichNum(120,304) = 1 StoichNum(120,310) = 1 StoichNum(120,349) = 0.56 StoichNum(120,945) = -1 StoichNum(121,732) = 1 StoichNum(121,733) = -1 StoichNum(121,734) = -1 StoichNum(122,738) = 1 StoichNum(122,739) = -1 StoichNum(122,740) = -1 StoichNum(123,147) = 1 StoichNum(123,176) = -1 StoichNum(123,924) = -1 StoichNum(124,106) = 1 StoichNum(124,107) = -1 StoichNum(124,108) = -1 StoichNum(124,1047) = -1 StoichNum(125,121) = 1 StoichNum(125,169) = -1 StoichNum(125,917) = -1 StoichNum(126,86) = 1 StoichNum(126,87) = -1 StoichNum(126,88) = -1 StoichNum(126,900) = -1 StoichNum(127,78) = 0.058 StoichNum(127,80) = -1 StoichNum(128,537) = 0.255 StoichNum(128,538) = 0.595 StoichNum(128,551) = -1 StoichNum(128,578) = 1 StoichNum(128,580) = 1 StoichNum(128,860) = -1 StoichNum(129,383) = 0.2 StoichNum(129,405) = 0.75 StoichNum(129,406) = 1 StoichNum(129,407) = 0.5 StoichNum(129,409) = -1 StoichNum(129,458) = 1 StoichNum(129,459) = 1 StoichNum(129,1053) = 1 StoichNum(130,436) = 0.15 StoichNum(130,442) = -1 StoichNum(130,466) = 0.25 StoichNum(130,1056) = -1 StoichNum(131,557) = 1 StoichNum(131,558) = 0.13 StoichNum(131,559) = 0.2 StoichNum(131,663) = -1 StoichNum(131,686) = 0.35 StoichNum(131,1033) = 0.35 StoichNum(132,81) = 0.255 StoichNum(132,82) = -1 StoichNum(132,83) = -1 StoichNum(133,524) = 0.315 StoichNum(133,570) = -1 StoichNum(133,571) = -1 StoichNum(134,1) = 1 StoichNum(134,7) = 1 StoichNum(134,8) = 1 StoichNum(134,9) = 1 StoichNum(134,12) = 2 StoichNum(134,202) = 1 StoichNum(134,368) = 1 StoichNum(134,372) = 1 StoichNum(134,812) = 1 StoichNum(134,819) = 1 StoichNum(134,987) = -1 StoichNum(135,525) = 0.315 StoichNum(135,572) = -1 StoichNum(135,573) = -1 StoichNum(136,715) = 1 StoichNum(136,718) = 0.2 StoichNum(136,722) = -1 StoichNum(136,723) = -1 StoichNum(136,1042) = -1 StoichNum(137,385) = 0.25 StoichNum(137,388) = -1 StoichNum(138,405) = 0.25 StoichNum(138,407) = -1 StoichNum(139,53) = 1 StoichNum(139,54) = -1 StoichNum(139,55) = -1 StoichNum(139,899) = -1 StoichNum(140,75) = -1 StoichNum(140,76) = -1 StoichNum(140,77) = -1 StoichNum(141,61) = -1 StoichNum(141,62) = -1 StoichNum(141,220) = -1 StoichNum(141,327) = -1 StoichNum(141,328) = -1 StoichNum(142,89) = -1 StoichNum(142,101) = -1 StoichNum(142,331) = -1 StoichNum(143,704) = 0.1 StoichNum(143,724) = -1 StoichNum(144,497) = 0.15 StoichNum(144,505) = 0.15 StoichNum(144,527) = -1 StoichNum(144,538) = 0.009 StoichNum(144,1023) = -1 StoichNum(145,607) = 0.474 StoichNum(145,608) = 0.34 StoichNum(145,609) = 0.244 StoichNum(145,612) = 0.841 StoichNum(145,614) = 0.841 StoichNum(145,617) = 0.841 StoichNum(145,619) = -1 StoichNum(145,620) = -1 StoichNum(145,1029) = 0.841 StoichNum(145,1032) = 0.222 StoichNum(146,733) = 1 StoichNum(146,734) = 1 StoichNum(146,735) = -1 StoichNum(146,902) = -1 StoichNum(147,556) = 1 StoichNum(147,561) = 1 StoichNum(147,687) = -1 StoichNum(147,1037) = -1 StoichNum(148,208) = 1 StoichNum(148,210) = 1 StoichNum(148,211) = -1 StoichNum(148,813) = 1 StoichNum(148,817) = 1 StoichNum(148,818) = 1 StoichNum(148,931) = -1 StoichNum(149,705) = -1 StoichNum(149,706) = -1 StoichNum(150,496) = 0.15 StoichNum(150,503) = 0.15 StoichNum(150,526) = -1 StoichNum(150,537) = 0.009 StoichNum(150,1022) = -1 StoichNum(151,532) = 0.67 StoichNum(151,534) = 0.68 StoichNum(151,552) = -1 StoichNum(151,553) = -1 StoichNum(151,575) = 0.67 StoichNum(151,577) = 0.67 StoichNum(151,858) = -1 StoichNum(152,532) = 0.33 StoichNum(152,534) = 0.32 StoichNum(152,554) = -1 StoichNum(152,555) = -1 StoichNum(152,575) = 0.33 StoichNum(152,577) = 0.33 StoichNum(152,859) = -1 StoichNum(153,562) = 1 StoichNum(153,563) = 0.2 StoichNum(153,565) = 0.13 StoichNum(153,666) = -1 StoichNum(153,686) = 0.15 StoichNum(153,1033) = 0.15 StoichNum(153,1034) = 0.163 StoichNum(154,481) = 1 StoichNum(154,482) = 1 StoichNum(154,483) = 1 StoichNum(154,484) = 1 StoichNum(154,485) = 1 StoichNum(154,488) = -1 StoichNum(154,866) = -1 StoichNum(154,993) = -1 StoichNum(155,128) = 0.41 StoichNum(155,148) = 0.41 StoichNum(155,175) = -1 StoichNum(155,737) = 0.41 StoichNum(155,925) = -1 StoichNum(156,129) = 0.25 StoichNum(156,130) = 0.25 StoichNum(156,140) = -1 StoichNum(156,142) = 0.4 StoichNum(156,143) = 0.4 StoichNum(156,325) = -1 StoichNum(157,312) = 1 StoichNum(157,794) = 1 StoichNum(157,797) = 1 StoichNum(157,798) = 1 StoichNum(157,799) = 1 StoichNum(157,805) = 1 StoichNum(157,806) = 1 StoichNum(157,807) = 1 StoichNum(157,809) = 1 StoichNum(157,814) = 1 StoichNum(157,815) = 1 StoichNum(157,816) = 1 StoichNum(157,942) = -1 StoichNum(158,705) = 0.18 StoichNum(158,707) = 0.03 StoichNum(158,725) = 0.19 StoichNum(158,726) = 0.15 StoichNum(158,743) = -1 StoichNum(158,744) = -1 StoichNum(159,671) = 0.5 StoichNum(159,672) = -1 StoichNum(159,1012) = -0.75 StoichNum(160,398) = 1 StoichNum(160,401) = 0.25 StoichNum(160,402) = -1 StoichNum(160,1052) = -1 StoichNum(161,410) = 1 StoichNum(161,413) = 0.25 StoichNum(161,415) = -1 StoichNum(161,1054) = -1 StoichNum(162,407) = 0.5 StoichNum(162,411) = 1 StoichNum(162,416) = -1 StoichNum(163,421) = 0.3 StoichNum(163,429) = 0.84 StoichNum(163,431) = 1 StoichNum(163,432) = 0.75 StoichNum(163,433) = -1 StoichNum(163,434) = -1 StoichNum(164,28) = 1 StoichNum(164,32) = -1 StoichNum(164,320) = -1 StoichNum(164,887) = -1 StoichNum(165,72) = 1 StoichNum(165,73) = -1 StoichNum(165,74) = -1 StoichNum(166,4) = -2 StoichNum(166,5) = -1 StoichNum(166,6) = -1 StoichNum(167,377) = -1 StoichNum(167,378) = -1 StoichNum(167,379) = -1 StoichNum(168,520) = 1 StoichNum(168,576) = -1 StoichNum(168,577) = -1 StoichNum(168,871) = -1 StoichNum(168,1026) = -1 StoichNum(169,430) = 1 StoichNum(169,432) = 0.25 StoichNum(169,436) = 0.41 StoichNum(169,441) = -1 StoichNum(169,1055) = -1 StoichNum(170,335) = 1 StoichNum(170,338) = 1 StoichNum(170,339) = -1 StoichNum(170,342) = 1 StoichNum(170,352) = -1 StoichNum(170,966) = -1 StoichNum(171,655) = -1 StoichNum(171,656) = -1 StoichNum(171,657) = -1 StoichNum(171,1020) = 0.224 StoichNum(171,1031) = 0.068 StoichNum(172,658) = -1 StoichNum(172,659) = -1 StoichNum(172,660) = -1 StoichNum(172,1021) = 0.182 StoichNum(172,1031) = 0.128 StoichNum(173,128) = 0.15 StoichNum(173,148) = 0.15 StoichNum(173,475) = 0.5 StoichNum(173,701) = -1 StoichNum(173,707) = 0.5 StoichNum(173,726) = 0.45 StoichNum(173,737) = 0.15 StoichNum(173,767) = 0.43 StoichNum(173,770) = 0.52 StoichNum(174,542) = 0.725 StoichNum(174,546) = 0.725 StoichNum(174,550) = 0.35 StoichNum(174,688) = -1 StoichNum(174,1035) = -1 StoichNum(175,516) = 1 StoichNum(175,574) = -1 StoichNum(175,575) = -1 StoichNum(175,870) = -1 StoichNum(175,1025) = -1 StoichNum(176,388) = 0.5 StoichNum(176,399) = 0.16 StoichNum(176,403) = -1 StoichNum(177,422) = 1 StoichNum(177,425) = 1 StoichNum(177,426) = 0.5 StoichNum(177,427) = 0.5 StoichNum(177,428) = 1 StoichNum(177,429) = 0.16 StoichNum(177,435) = -1 StoichNum(178,66) = 1 StoichNum(178,67) = 1 StoichNum(178,68) = -1 StoichNum(178,69) = -1 StoichNum(178,70) = -1 StoichNum(178,71) = 0.5 StoichNum(179,1) = -2 StoichNum(179,2) = -1 StoichNum(179,3) = -1 StoichNum(180,641) = 0.435 StoichNum(180,642) = -1 StoichNum(180,643) = -1 StoichNum(181,257) = -0.9 StoichNum(181,283) = -1 StoichNum(181,315) = -1 StoichNum(181,940) = -1 StoichNum(182,638) = 0.461 StoichNum(182,639) = -0.33 StoichNum(182,640) = -0.33 StoichNum(182,691) = 0.041 StoichNum(183,57) = -1 StoichNum(183,179) = -1 StoichNum(183,219) = -1 StoichNum(183,321) = -1 StoichNum(184,677) = 1 StoichNum(184,680) = 1 StoichNum(184,683) = -1 StoichNum(184,684) = -1 StoichNum(185,530) = 1 StoichNum(185,662) = -1 StoichNum(185,687) = 0.444 StoichNum(185,1009) = -1 StoichNum(185,1020) = 0.112 StoichNum(185,1021) = 0.182 StoichNum(185,1031) = 0.162 StoichNum(185,1037) = 0.454 StoichNum(186,605) = 1 StoichNum(186,622) = -1 StoichNum(186,624) = -1 StoichNum(186,625) = -1 StoichNum(186,627) = -1 StoichNum(186,628) = -1 StoichNum(186,874) = -1 StoichNum(186,1029) = -1 StoichNum(186,1030) = -1 StoichNum(187,498) = 0.937 StoichNum(187,531) = -1 StoichNum(187,532) = -1 StoichNum(187,535) = -1 StoichNum(187,1016) = -1 StoichNum(188,112) = 0.25 StoichNum(188,113) = 0.25 StoichNum(188,132) = 0.38 StoichNum(188,133) = 0.375 StoichNum(188,134) = 0.38 StoichNum(188,135) = 0.375 StoichNum(188,137) = 0.25 StoichNum(188,138) = 0.25 StoichNum(188,139) = 0.25 StoichNum(188,141) = -1 StoichNum(188,473) = 0.25 StoichNum(189,702) = 0.3 StoichNum(189,705) = 0.07 StoichNum(189,707) = 0.05 StoichNum(189,709) = -1 StoichNum(189,710) = -1 StoichNum(190,576) = 1 StoichNum(190,588) = -1 StoichNum(190,589) = -1 StoichNum(190,590) = -1 StoichNum(190,591) = -1 StoichNum(191,375) = -1 StoichNum(191,382) = -1 StoichNum(191,383) = -1 StoichNum(192,500) = 0.937 StoichNum(192,533) = -1 StoichNum(192,534) = -1 StoichNum(192,536) = -1 StoichNum(192,1017) = -1 StoichNum(193,444) = 1 StoichNum(193,450) = -1 StoichNum(193,451) = -1 StoichNum(193,452) = -1 StoichNum(194,661) = -1 StoichNum(194,691) = 0.022 StoichNum(194,1010) = -1 StoichNum(194,1020) = 0.552 StoichNum(194,1021) = 0.454 StoichNum(194,1031) = 0.481 StoichNum(195,724) = 0.54 StoichNum(195,741) = -1 StoichNum(195,742) = -1 StoichNum(196,69) = 1 StoichNum(196,72) = -1 StoichNum(196,74) = 1 StoichNum(196,927) = -1 StoichNum(197,81) = 0.68 StoichNum(197,84) = -1 StoichNum(197,85) = -1 StoichNum(197,86) = -1 StoichNum(197,87) = 1 StoichNum(197,900) = 1 StoichNum(197,901) = 0.3 StoichNum(198,539) = 0.824 StoichNum(198,543) = 0.452 StoichNum(198,547) = 1 StoichNum(198,688) = 0.667 StoichNum(198,689) = -1 StoichNum(198,1036) = -1 StoichNum(199,501) = 1 StoichNum(199,538) = -1 StoichNum(199,1019) = -1 StoichNum(200,707) = -1 StoichNum(200,708) = -1 StoichNum(201,705) = 0.4 StoichNum(201,707) = 0.6 StoichNum(201,708) = 0.4 StoichNum(201,725) = 0.3 StoichNum(201,726) = 0.56 StoichNum(201,743) = 0.44 StoichNum(201,744) = 0.44 StoichNum(201,770) = -1 StoichNum(201,771) = -1 StoichNum(201,772) = -1 StoichNum(202,741) = 0.8 StoichNum(202,743) = 0.727 StoichNum(202,745) = -1 StoichNum(202,746) = -1 StoichNum(202,747) = -1 StoichNum(203,741) = 0.06 StoichNum(203,742) = 0.742 StoichNum(203,743) = 0.073 StoichNum(203,744) = 0.3 StoichNum(203,745) = 0.3 StoichNum(203,747) = 0.3 StoichNum(203,756) = 1 StoichNum(203,757) = 1 StoichNum(203,758) = 1 StoichNum(203,761) = -1 StoichNum(203,762) = -1 StoichNum(203,765) = 1 StoichNum(203,1045) = 1 StoichNum(204,702) = 0.7 StoichNum(204,703) = 1 StoichNum(204,704) = 0.62 StoichNum(204,706) = 1 StoichNum(204,708) = 1 StoichNum(204,709) = 0.89 StoichNum(204,710) = 1 StoichNum(204,711) = 1 StoichNum(204,725) = 0.06 StoichNum(204,726) = 0.06 StoichNum(204,748) = -1 StoichNum(204,749) = -1 StoichNum(204,928) = 1 StoichNum(204,1043) = -1 StoichNum(205,574) = 1 StoichNum(205,584) = -1 StoichNum(205,585) = -1 StoichNum(205,586) = -1 StoichNum(205,587) = -1 StoichNum(206,579) = 1 StoichNum(206,592) = -1 StoichNum(206,594) = -1 StoichNum(206,595) = -1 StoichNum(206,596) = -1 StoichNum(207,581) = 1 StoichNum(207,593) = -1 StoichNum(207,597) = -1 StoichNum(207,598) = -1 StoichNum(207,599) = -1 StoichNum(208,566) = 0.13 StoichNum(208,568) = 0.2 StoichNum(208,651) = 0.53 StoichNum(208,663) = 0.6 StoichNum(208,665) = -1 StoichNum(208,667) = 0.255 StoichNum(208,687) = 0.318 StoichNum(208,1006) = -1 StoichNum(208,1037) = 0.391 StoichNum(209,499) = 1 StoichNum(209,537) = -1 StoichNum(209,1018) = -1 StoichNum(210,496) = 0.3 StoichNum(210,503) = 0.3 StoichNum(210,537) = 0.018 StoichNum(210,540) = 0.284 StoichNum(210,542) = 0.135 StoichNum(210,631) = 0.249 StoichNum(210,632) = 0.471 StoichNum(210,633) = 0.303 StoichNum(210,635) = 0.59 StoichNum(210,696) = -1 StoichNum(210,697) = -1 StoichNum(210,1003) = -1 StoichNum(210,1039) = 0.5 StoichNum(211,418) = 0.25 StoichNum(211,426) = -1 StoichNum(211,427) = -1 StoichNum(211,428) = -1 StoichNum(212,75) = 1 StoichNum(212,78) = -1 StoichNum(212,79) = -1 StoichNum(213,153) = 0.8 StoichNum(213,154) = 1 StoichNum(213,155) = -1 StoichNum(213,156) = 1 StoichNum(213,157) = -1 StoichNum(213,158) = -1 StoichNum(213,159) = -1 StoichNum(214,45) = 1 StoichNum(214,46) = -1 StoichNum(214,786) = -1 StoichNum(214,787) = -1 StoichNum(214,788) = -1 StoichNum(214,789) = -1 StoichNum(214,790) = -1 StoichNum(214,896) = -1 StoichNum(215,524) = 0.085 StoichNum(215,525) = 0.165 StoichNum(215,526) = 0.58 StoichNum(215,527) = 0.77 StoichNum(215,529) = -1 StoichNum(215,551) = 0.75 StoichNum(215,552) = 1 StoichNum(215,554) = 1 StoichNum(215,625) = 1 StoichNum(215,637) = 1 StoichNum(215,873) = -1 StoichNum(216,582) = 0.6 StoichNum(216,594) = 0.031 StoichNum(216,595) = 0.065 StoichNum(216,600) = 0.094 StoichNum(216,601) = 0.355 StoichNum(216,631) = 0.06 StoichNum(216,632) = 0.073 StoichNum(216,633) = 0.17 StoichNum(216,635) = 0.291 StoichNum(216,638) = 0.378 StoichNum(216,654) = -1 StoichNum(216,678) = 0.13 StoichNum(216,682) = 0.3 StoichNum(216,879) = -1 StoichNum(216,1015) = -1 StoichNum(217,229) = 1 StoichNum(217,231) = 0.2 StoichNum(217,234) = 1 StoichNum(217,235) = 1 StoichNum(217,245) = -1 StoichNum(217,246) = -1 StoichNum(217,247) = -1 StoichNum(217,253) = 0.22 StoichNum(217,254) = 0.2 StoichNum(217,257) = 0.09 StoichNum(217,294) = 1 StoichNum(217,888) = 1 StoichNum(218,210) = -1 StoichNum(218,222) = 1 StoichNum(218,793) = -1 StoichNum(218,794) = -1 StoichNum(218,934) = -1 StoichNum(218,935) = -1 StoichNum(219,376) = -1 StoichNum(219,380) = -1 StoichNum(219,381) = -1 StoichNum(220,702) = -1 StoichNum(220,703) = -1 StoichNum(220,704) = -1 StoichNum(221,705) = 0.8 StoichNum(221,707) = 0.375 StoichNum(221,724) = 0.55 StoichNum(221,725) = 0.68 StoichNum(221,726) = 0.28 StoichNum(221,741) = 0.18 StoichNum(221,745) = 1.05 StoichNum(221,746) = 1 StoichNum(221,747) = 0.3 StoichNum(221,763) = 0.9 StoichNum(221,764) = 0.9 StoichNum(221,767) = -1 StoichNum(221,768) = -1 StoichNum(221,769) = -1 StoichNum(221,1046) = 1 StoichNum(222,604) = 0.473 StoichNum(222,606) = 0.07 StoichNum(222,607) = 0.399 StoichNum(222,610) = 0.355 StoichNum(222,621) = -1 StoichNum(222,623) = -1 StoichNum(222,626) = -1 StoichNum(222,875) = -1 StoichNum(222,1028) = -1 StoichNum(223,531) = 0.345 StoichNum(223,537) = 0.595 StoichNum(223,539) = -1 StoichNum(223,540) = -1 StoichNum(223,541) = -1 StoichNum(223,542) = -1 StoichNum(224,533) = 0.345 StoichNum(224,538) = 0.255 StoichNum(224,543) = -1 StoichNum(224,544) = -1 StoichNum(224,545) = -1 StoichNum(224,546) = -1 StoichNum(225,383) = 0.2 StoichNum(225,385) = 0.75 StoichNum(225,386) = 1 StoichNum(225,388) = 0.5 StoichNum(225,389) = -1 StoichNum(225,390) = -1 StoichNum(225,456) = 1 StoichNum(225,457) = 1 StoichNum(225,1048) = 1 StoichNum(225,1049) = -1 StoichNum(226,622) = 1 StoichNum(226,629) = -1 StoichNum(226,632) = -1 StoichNum(226,635) = -1 StoichNum(226,636) = -1 StoichNum(227,650) = 0.29 StoichNum(227,651) = 0.47 StoichNum(227,661) = 0.063 StoichNum(227,663) = 0.4 StoichNum(227,664) = -1 StoichNum(227,666) = 0.16 StoichNum(227,687) = 0.126 StoichNum(227,1007) = -1 StoichNum(227,1034) = 0.133 StoichNum(227,1037) = 0.155 StoichNum(228,25) = -1 StoichNum(228,150) = 0.1 StoichNum(228,231) = -1 StoichNum(228,291) = -1 StoichNum(228,898) = 1 StoichNum(229,443) = 1 StoichNum(229,447) = -1 StoichNum(229,448) = -1 StoichNum(229,449) = -1 StoichNum(229,989) = -1 StoichNum(229,1057) = -1 StoichNum(230,496) = 0.25 StoichNum(230,503) = 0.25 StoichNum(230,524) = -1 StoichNum(230,537) = 0.015 StoichNum(230,1020) = -1 StoichNum(231,497) = 0.25 StoichNum(231,505) = 0.25 StoichNum(231,525) = -1 StoichNum(231,538) = 0.015 StoichNum(231,1021) = -1 StoichNum(232,531) = 0.655 StoichNum(232,533) = 0.655 StoichNum(232,547) = -1 StoichNum(232,548) = -1 StoichNum(232,549) = -1 StoichNum(232,550) = -1 StoichNum(233,76) = 1 StoichNum(233,77) = 1 StoichNum(233,78) = 0.73 StoichNum(233,81) = -1 StoichNum(233,901) = -1 StoichNum(234,127) = 1 StoichNum(234,128) = 0.44 StoichNum(234,713) = 1 StoichNum(234,715) = -1 StoichNum(234,716) = -1 StoichNum(234,717) = -1 StoichNum(234,718) = -1 StoichNum(234,722) = 1 StoichNum(235,748) = 1 StoichNum(235,749) = 1 StoichNum(235,750) = -1 StoichNum(235,751) = -1 StoichNum(235,752) = -1 StoichNum(235,753) = 1 StoichNum(235,754) = 1 StoichNum(235,766) = -1 StoichNum(236,704) = 0.28 StoichNum(236,750) = 0.2 StoichNum(236,751) = 1 StoichNum(236,756) = -1 StoichNum(236,757) = -1 StoichNum(236,758) = -1 StoichNum(236,759) = -1 StoichNum(236,760) = 1 StoichNum(236,761) = 1 StoichNum(236,765) = -1 StoichNum(236,766) = 1 StoichNum(236,1043) = 1 StoichNum(236,1044) = 1 StoichNum(237,417) = 0.37 StoichNum(237,418) = 0.28 StoichNum(237,419) = 0.37 StoichNum(237,423) = -1 StoichNum(237,424) = -1 StoichNum(237,425) = -1 StoichNum(237,460) = 0.37 StoichNum(237,461) = 0.37 StoichNum(238,509) = 1 StoichNum(238,510) = 1 StoichNum(238,511) = 1 StoichNum(238,513) = 0.5 StoichNum(238,515) = 0.5 StoichNum(238,519) = 0.45 StoichNum(238,523) = 0.45 StoichNum(238,528) = -1 StoichNum(238,537) = 0.06 StoichNum(238,538) = 0.06 StoichNum(238,1018) = 1 StoichNum(238,1019) = 1 StoichNum(238,1024) = 0.45 StoichNum(238,1027) = 0.45 StoichNum(239,37) = 1 StoichNum(239,38) = -1 StoichNum(239,782) = 0.5 StoichNum(239,802) = 1 StoichNum(239,803) = 1 StoichNum(239,804) = 1 StoichNum(239,805) = 1 StoichNum(239,806) = 1 StoichNum(239,807) = 1 StoichNum(239,839) = 1 StoichNum(239,840) = 1 StoichNum(239,844) = 1 StoichNum(239,845) = 1 StoichNum(239,846) = 1 StoichNum(239,847) = 1 StoichNum(239,891) = -1 StoichNum(239,994) = 1 StoichNum(239,996) = 1 StoichNum(239,1046) = 1 StoichNum(240,735) = 1 StoichNum(240,736) = -1 StoichNum(240,737) = -1 StoichNum(240,738) = -1 StoichNum(240,739) = 1 StoichNum(241,150) = 0.12 StoichNum(241,369) = -1 StoichNum(241,370) = -1 StoichNum(241,371) = -1 StoichNum(241,372) = -1 StoichNum(241,373) = -1 StoichNum(241,374) = -1 StoichNum(242,450) = 0.7 StoichNum(242,451) = 0.7 StoichNum(242,452) = 0.35 StoichNum(242,470) = 0.3 StoichNum(242,471) = 0.3 StoichNum(242,472) = 0.3 StoichNum(242,473) = 0.15 StoichNum(242,474) = 0.3 StoichNum(242,476) = 0.3 StoichNum(242,478) = 0.6 StoichNum(242,479) = 0.45 StoichNum(242,480) = 0.3 StoichNum(242,482) = -1 StoichNum(242,483) = -1 StoichNum(242,484) = -1 StoichNum(242,865) = -1 StoichNum(242,992) = -1 StoichNum(243,536) = 0.16 StoichNum(243,551) = 0.25 StoichNum(243,566) = -1 StoichNum(243,567) = -1 StoichNum(243,568) = -1 StoichNum(243,569) = -1 StoichNum(244,33) = -1 StoichNum(244,118) = 0.85 StoichNum(244,119) = 0.85 StoichNum(244,497) = 0.3 StoichNum(244,505) = 0.3 StoichNum(244,538) = 0.018 StoichNum(244,544) = 0.294 StoichNum(244,546) = 0.135 StoichNum(244,631) = 0.009 StoichNum(244,632) = 0.054 StoichNum(244,633) = 0.013 StoichNum(244,635) = 0.07 StoichNum(244,646) = 0.036 StoichNum(244,652) = 0.23 StoichNum(244,984) = -1 StoichNum(244,1039) = 0.05 StoichNum(245,255) = -0.75 StoichNum(245,273) = -1 StoichNum(245,302) = 1 StoichNum(245,309) = 0.95 StoichNum(245,314) = 1 StoichNum(245,791) = 0.5 StoichNum(245,792) = 0.5 StoichNum(245,796) = 1 StoichNum(245,800) = 1 StoichNum(245,801) = 1 StoichNum(245,802) = 1 StoichNum(245,803) = 1 StoichNum(245,804) = 1 StoichNum(245,808) = 1 StoichNum(245,810) = 1 StoichNum(245,811) = 1 StoichNum(245,943) = -1 StoichNum(246,123) = 0.31 StoichNum(246,124) = -1 StoichNum(246,125) = 1 StoichNum(246,127) = -1 StoichNum(246,128) = -1 StoichNum(247,169) = 0.791 StoichNum(247,361) = -1 StoichNum(247,594) = 0.551 StoichNum(247,595) = 0.935 StoichNum(247,600) = 0.242 StoichNum(247,601) = 0.546 StoichNum(247,631) = 0.589 StoichNum(247,632) = 0.471 StoichNum(247,633) = 0.687 StoichNum(247,635) = 0.59 StoichNum(247,639) = 0.231 StoichNum(247,640) = 0.231 StoichNum(247,642) = 1 StoichNum(247,643) = 0.82 StoichNum(247,649) = 0.68 StoichNum(247,654) = 1 StoichNum(247,1005) = -1 StoichNum(247,1015) = 1 StoichNum(248,585) = 0.059 StoichNum(248,586) = 0.272 StoichNum(248,653) = -1 StoichNum(248,660) = 1 StoichNum(248,675) = 1 StoichNum(248,678) = 0.37 StoichNum(248,880) = -1 StoichNum(248,1014) = -1 StoichNum(248,1038) = 0.5 StoichNum(249,92) = -1 StoichNum(249,103) = 1 StoichNum(249,117) = -1 StoichNum(249,135) = -1 StoichNum(249,188) = -1 StoichNum(250,100) = -1 StoichNum(250,121) = -1 StoichNum(250,139) = -1 StoichNum(250,162) = 1 StoichNum(250,169) = 0.209 StoichNum(250,189) = -1 StoichNum(251,94) = 1 StoichNum(251,102) = -1 StoichNum(251,115) = 1 StoichNum(251,123) = 0.07 StoichNum(251,863) = -1 StoichNum(251,926) = -1 StoichNum(252,336) = 1 StoichNum(252,337) = -1 StoichNum(252,338) = -2 StoichNum(252,839) = -1 StoichNum(252,840) = -1 StoichNum(252,844) = -1 StoichNum(252,845) = -1 StoichNum(252,846) = -1 StoichNum(252,847) = -1 StoichNum(252,971) = -1 StoichNum(253,646) = 0.964 StoichNum(253,658) = 1 StoichNum(253,659) = 1 StoichNum(253,670) = -1 StoichNum(253,673) = -1 StoichNum(253,674) = -1 StoichNum(253,675) = -1 StoichNum(254,644) = 1 StoichNum(254,655) = 1 StoichNum(254,656) = 1 StoichNum(254,667) = -1 StoichNum(254,668) = -1 StoichNum(254,669) = -1 StoichNum(255,379) = 0.27 StoichNum(255,417) = 0.63 StoichNum(255,418) = 0.47 StoichNum(255,419) = 0.63 StoichNum(255,420) = -1 StoichNum(255,421) = -1 StoichNum(255,422) = -1 StoichNum(255,460) = 0.63 StoichNum(255,461) = 0.63 StoichNum(255,1058) = -1 StoichNum(256,403) = 0.5 StoichNum(256,416) = 0.5 StoichNum(256,435) = 0.5 StoichNum(256,468) = 1 StoichNum(256,470) = 0.7 StoichNum(256,471) = 0.7 StoichNum(256,472) = 0.7 StoichNum(256,473) = 0.35 StoichNum(256,474) = 0.7 StoichNum(256,476) = 0.7 StoichNum(256,478) = 1.4 StoichNum(256,479) = 1.05 StoichNum(256,480) = 0.7 StoichNum(256,481) = -1 StoichNum(256,485) = -1 StoichNum(256,864) = -1 StoichNum(256,991) = -1 StoichNum(257,387) = 0.4 StoichNum(257,389) = 1 StoichNum(257,390) = 1 StoichNum(257,391) = -1 StoichNum(257,392) = -1 StoichNum(257,393) = -1 StoichNum(257,394) = 1 StoichNum(257,395) = -1 StoichNum(257,396) = 1 StoichNum(257,464) = -1 StoichNum(257,465) = -1 StoichNum(258,539) = 0.176 StoichNum(258,543) = 0.548 StoichNum(258,558) = 0.35 StoichNum(258,565) = 0.35 StoichNum(258,566) = 0.35 StoichNum(258,686) = -1 StoichNum(258,688) = 0.333 StoichNum(258,1033) = -1 StoichNum(258,1034) = -1 StoichNum(258,1035) = 0.75 StoichNum(259,647) = 1 StoichNum(259,649) = 0.32 StoichNum(259,671) = -1 StoichNum(259,672) = 0.165 StoichNum(259,676) = -1 StoichNum(259,677) = -1 StoichNum(259,683) = 1 StoichNum(260,65) = -1 StoichNum(260,113) = -1 StoichNum(260,147) = -1 StoichNum(260,149) = 1 StoichNum(260,176) = 0.209 StoichNum(260,192) = -1 StoichNum(260,332) = 1 StoichNum(260,333) = 1 StoichNum(261,360) = -1 StoichNum(261,597) = 0.441 StoichNum(261,598) = 0.858 StoichNum(261,600) = 0.033 StoichNum(261,601) = 0.071 StoichNum(261,631) = 0.051 StoichNum(261,632) = 0.054 StoichNum(261,633) = 0.064 StoichNum(261,635) = 0.07 StoichNum(261,639) = 0.099 StoichNum(261,640) = 0.099 StoichNum(261,642) = 0.89 StoichNum(261,643) = 0.73 StoichNum(261,692) = -1 StoichNum(261,990) = -1 StoichNum(261,1013) = 0.3 StoichNum(261,1038) = 0.15 StoichNum(262,381) = 0.4 StoichNum(262,445) = 0.675 StoichNum(262,446) = 0.675 StoichNum(262,447) = 0.78 StoichNum(262,448) = 0.78 StoichNum(262,449) = 0.39 StoichNum(262,450) = 0.3 StoichNum(262,451) = 0.3 StoichNum(262,452) = 0.15 StoichNum(262,453) = -1 StoichNum(262,454) = -1 StoichNum(262,455) = -1 StoichNum(262,462) = 0.675 StoichNum(262,463) = 0.675 StoichNum(262,1057) = 0.675 StoichNum(263,379) = 0.15 StoichNum(263,381) = 0.5 StoichNum(263,388) = 0.5 StoichNum(263,399) = 0.84 StoichNum(263,400) = 1 StoichNum(263,401) = 0.75 StoichNum(263,402) = 0.5 StoichNum(263,403) = 0.55 StoichNum(263,407) = 0.5 StoichNum(263,422) = 1 StoichNum(263,425) = 1 StoichNum(263,428) = 1 StoichNum(263,447) = 0.7 StoichNum(263,448) = 0.7 StoichNum(263,449) = 0.35 StoichNum(263,450) = 0.7 StoichNum(263,451) = 0.7 StoichNum(263,452) = 0.35 StoichNum(263,453) = 1 StoichNum(263,454) = 1 StoichNum(263,455) = 0.5 StoichNum(263,702) = 0.7 StoichNum(263,703) = 1 StoichNum(263,705) = 0.813 StoichNum(263,706) = 1 StoichNum(263,707) = 0.93 StoichNum(263,708) = 1 StoichNum(263,724) = 0.46 StoichNum(263,725) = 0.81 StoichNum(263,726) = 0.85 StoichNum(263,727) = -1 StoichNum(263,728) = -1 StoichNum(263,729) = -1 StoichNum(263,730) = -1 StoichNum(263,731) = -1 StoichNum(263,741) = 0.14 StoichNum(263,743) = 0.2 StoichNum(263,744) = 0.2 StoichNum(263,745) = 0.7 StoichNum(263,747) = 0.2 StoichNum(263,1052) = 1 StoichNum(264,7) = -1 StoichNum(264,19) = 1 StoichNum(264,21) = -1 StoichNum(264,23) = 1 StoichNum(264,244) = -1 StoichNum(264,295) = -1 StoichNum(264,365) = 0.06 StoichNum(264,366) = 0.06 StoichNum(264,373) = 1 StoichNum(264,493) = 0.013 StoichNum(264,645) = 0.045 StoichNum(264,886) = -1 StoichNum(265,47) = -1 StoichNum(265,151) = 0.134 StoichNum(265,152) = 1 StoichNum(265,168) = 0.5 StoichNum(265,318) = -1 StoichNum(265,365) = 0.21 StoichNum(265,366) = 0.54 StoichNum(265,650) = 0.449 StoichNum(265,661) = 0.187 StoichNum(265,685) = 0.3 StoichNum(265,694) = 0.5 StoichNum(265,714) = 0.364 StoichNum(265,767) = 0.26 StoichNum(265,768) = 0.5 StoichNum(265,770) = 0.1 StoichNum(265,771) = 0.2 StoichNum(266,560) = 1 StoichNum(266,564) = 1 StoichNum(266,567) = 1 StoichNum(266,584) = 1 StoichNum(266,588) = 1 StoichNum(266,592) = 1 StoichNum(266,593) = 1 StoichNum(266,629) = 1 StoichNum(266,630) = 0.5 StoichNum(266,690) = -1 StoichNum(266,691) = 0.9 StoichNum(266,877) = -1 StoichNum(266,1040) = -1 StoichNum(266,1041) = -1 StoichNum(267,518) = 1 StoichNum(267,580) = -1 StoichNum(267,581) = -1 StoichNum(267,583) = -1 StoichNum(267,608) = 0.127 StoichNum(267,609) = 0.057 StoichNum(267,872) = -1 StoichNum(267,1027) = -1 StoichNum(268,522) = 1 StoichNum(268,578) = -1 StoichNum(268,579) = -1 StoichNum(268,582) = -1 StoichNum(268,607) = 0.032 StoichNum(268,608) = 0.671 StoichNum(268,609) = 0.298 StoichNum(268,869) = -1 StoichNum(268,1024) = -1 StoichNum(269,742) = 0.258 StoichNum(269,744) = 0.5 StoichNum(269,747) = 0.5 StoichNum(269,762) = 1 StoichNum(269,763) = -1 StoichNum(269,764) = -1 StoichNum(269,881) = -1 StoichNum(269,1046) = -1 StoichNum(270,81) = 0.065 StoichNum(270,151) = 0.134 StoichNum(270,153) = 0.2 StoichNum(270,163) = -1 StoichNum(270,165) = -1 StoichNum(270,563) = 0.8 StoichNum(270,565) = 0.52 StoichNum(270,697) = 1 StoichNum(270,707) = 0.1 StoichNum(270,714) = 0.636 StoichNum(270,724) = 0.18 StoichNum(270,725) = 0.12 StoichNum(270,726) = 0.1 StoichNum(270,741) = 0.06 StoichNum(270,767) = 0.6 StoichNum(270,768) = 0.6 StoichNum(270,769) = 0.2 StoichNum(270,856) = -1 StoichNum(270,908) = -1 StoichNum(270,909) = -1 StoichNum(270,910) = -1 StoichNum(270,1007) = 0.5 StoichNum(270,1009) = 0.429 StoichNum(270,1010) = 0.125 StoichNum(270,1034) = 0.586 StoichNum(270,1036) = 0.571 StoichNum(271,621) = 0.67 StoichNum(271,630) = -1 StoichNum(271,631) = -1 StoichNum(271,633) = -1 StoichNum(271,634) = -1 StoichNum(272,423) = 1 StoichNum(272,424) = 0.27 StoichNum(272,426) = 0.18 StoichNum(272,429) = -1 StoichNum(272,430) = -1 StoichNum(272,431) = -1 StoichNum(272,432) = -1 StoichNum(273,383) = 0.1 StoichNum(273,409) = 1 StoichNum(273,410) = -1 StoichNum(273,411) = -1 StoichNum(273,412) = -1 StoichNum(273,413) = -1 StoichNum(273,414) = -1 StoichNum(273,415) = 1 StoichNum(274,379) = 0.715 StoichNum(274,412) = 0.27 StoichNum(274,413) = 0.23 StoichNum(274,414) = 0.27 StoichNum(274,416) = 0.085 StoichNum(274,420) = 1 StoichNum(274,421) = 0.6 StoichNum(274,424) = 0.73 StoichNum(274,426) = 0.32 StoichNum(274,427) = 0.4 StoichNum(274,433) = 1 StoichNum(274,434) = 1 StoichNum(274,435) = 0.5 StoichNum(274,436) = -1 StoichNum(274,437) = -1 StoichNum(274,438) = -1 StoichNum(274,439) = 1 StoichNum(274,440) = -1 StoichNum(274,441) = 1 StoichNum(274,466) = -1 StoichNum(274,467) = -1 StoichNum(274,1054) = 0.27 StoichNum(274,1058) = 0.9 StoichNum(275,380) = 0.15 StoichNum(275,382) = 0.255 StoichNum(275,404) = -1 StoichNum(275,405) = -1 StoichNum(275,406) = -1 StoichNum(275,408) = 1 StoichNum(275,458) = -1 StoichNum(275,459) = -1 StoichNum(276,330) = -1 StoichNum(276,493) = -1 StoichNum(276,494) = -1 StoichNum(276,495) = -1 StoichNum(276,496) = -1 StoichNum(276,497) = -1 StoichNum(276,603) = -1 StoichNum(277,380) = 0.15 StoichNum(277,382) = 0.67 StoichNum(277,383) = 0.5 StoichNum(277,384) = -1 StoichNum(277,385) = -1 StoichNum(277,386) = -1 StoichNum(277,387) = 0.6 StoichNum(277,456) = -1 StoichNum(277,457) = -1 StoichNum(278,391) = 0.44 StoichNum(278,392) = 1 StoichNum(278,395) = 1 StoichNum(278,397) = 1 StoichNum(278,398) = -1 StoichNum(278,399) = -1 StoichNum(278,400) = -1 StoichNum(278,401) = -1 StoichNum(278,402) = 0.5 StoichNum(278,464) = 0.75 StoichNum(278,465) = 1 StoichNum(278,1049) = 1 StoichNum(278,1050) = 1 StoichNum(278,1051) = 1 StoichNum(279,91) = 1 StoichNum(279,97) = 0.072 StoichNum(279,103) = -1 StoichNum(279,117) = 1 StoichNum(279,929) = -1 StoichNum(280,375) = 0.1 StoichNum(280,376) = 0.1 StoichNum(280,377) = 0.5 StoichNum(280,449) = 0.5 StoichNum(280,452) = 0.5 StoichNum(280,455) = 0.5 StoichNum(280,468) = -1 StoichNum(280,470) = -1 StoichNum(280,472) = -1 StoichNum(280,474) = -1 StoichNum(280,476) = -1 StoichNum(280,478) = -2 StoichNum(280,479) = -1 StoichNum(281,378) = 1 StoichNum(281,380) = 0.2 StoichNum(281,382) = 0.075 StoichNum(281,417) = -1 StoichNum(281,418) = -1 StoichNum(281,419) = -1 StoichNum(281,460) = -1 StoichNum(281,461) = -1 StoichNum(282,29) = 1 StoichNum(282,31) = 0.13 StoichNum(282,48) = -1 StoichNum(282,112) = 0.25 StoichNum(282,113) = 0.25 StoichNum(282,129) = 0.25 StoichNum(282,130) = 0.25 StoichNum(282,132) = 0.25 StoichNum(282,133) = 0.25 StoichNum(282,134) = 0.25 StoichNum(282,135) = 0.25 StoichNum(282,136) = 0.5 StoichNum(282,137) = 0.25 StoichNum(282,138) = 0.25 StoichNum(282,139) = 0.25 StoichNum(282,324) = -1 StoichNum(282,401) = 0.25 StoichNum(282,413) = 0.25 StoichNum(282,432) = 0.25 StoichNum(282,456) = 0.25 StoichNum(282,458) = 0.25 StoichNum(282,460) = 0.25 StoichNum(282,462) = 0.25 StoichNum(282,473) = 0.25 StoichNum(282,609) = 0.355 StoichNum(282,610) = 0.034 StoichNum(282,718) = 0.2 StoichNum(282,907) = 0.1 StoichNum(283,104) = -1 StoichNum(283,168) = 0.5 StoichNum(283,181) = 0.1 StoichNum(283,182) = 0.1 StoichNum(283,183) = 0.1 StoichNum(283,184) = 0.1 StoichNum(283,185) = 0.1 StoichNum(283,186) = 0.1 StoichNum(283,187) = 0.1 StoichNum(283,188) = 0.1 StoichNum(283,189) = 0.1 StoichNum(283,190) = 0.1 StoichNum(283,191) = 0.1 StoichNum(283,192) = 0.1 StoichNum(283,193) = 0.1 StoichNum(283,326) = -1 StoichNum(283,374) = 1 StoichNum(283,457) = 0.1 StoichNum(283,459) = 0.1 StoichNum(283,461) = 0.1 StoichNum(283,463) = 0.1 StoichNum(283,695) = 0.13 StoichNum(283,770) = 0.15 StoichNum(283,771) = 0.3 StoichNum(284,340) = -1 StoichNum(284,341) = 1 StoichNum(284,343) = 1 StoichNum(284,344) = -1 StoichNum(284,345) = -1 StoichNum(284,348) = 1 StoichNum(284,349) = -1 StoichNum(284,350) = 1 StoichNum(284,354) = 1 StoichNum(284,355) = -1 StoichNum(284,356) = -1 StoichNum(284,357) = -2 StoichNum(284,358) = 0.008 StoichNum(284,968) = -1 StoichNum(284,979) = 1 StoichNum(285,528) = 0.068 StoichNum(285,553) = 0.33 StoichNum(285,555) = 0.19 StoichNum(285,561) = -1 StoichNum(285,562) = -1 StoichNum(285,563) = -1 StoichNum(285,564) = -1 StoichNum(285,565) = -1 StoichNum(285,687) = 0.032 StoichNum(286,528) = 0.294 StoichNum(286,553) = 0.67 StoichNum(286,555) = 0.81 StoichNum(286,556) = -1 StoichNum(286,557) = -1 StoichNum(286,558) = -1 StoichNum(286,559) = -1 StoichNum(286,560) = -1 StoichNum(286,687) = 0.08 StoichNum(287,510) = 1 StoichNum(287,511) = 0.5 StoichNum(287,515) = 0.5 StoichNum(287,523) = 0.55 StoichNum(287,525) = 0.17 StoichNum(287,527) = 0.09 StoichNum(287,528) = 0.158 StoichNum(287,536) = 0.165 StoichNum(287,540) = 0.716 StoichNum(287,542) = 0.14 StoichNum(287,631) = 0.004 StoichNum(287,633) = 0.006 StoichNum(287,652) = -1 StoichNum(287,670) = 0.41 StoichNum(287,686) = 0.5 StoichNum(287,689) = 0.571 StoichNum(287,690) = 0.25 StoichNum(287,1011) = -1 StoichNum(287,1027) = 0.55 StoichNum(287,1033) = 0.5 StoichNum(287,1039) = 0.15 StoichNum(287,1041) = 0.5 StoichNum(288,509) = 1 StoichNum(288,511) = 0.5 StoichNum(288,513) = 0.5 StoichNum(288,519) = 0.55 StoichNum(288,524) = 0.33 StoichNum(288,526) = 0.19 StoichNum(288,528) = 0.125 StoichNum(288,535) = 0.125 StoichNum(288,544) = 0.706 StoichNum(288,546) = 0.14 StoichNum(288,631) = 0.054 StoichNum(288,633) = 0.059 StoichNum(288,651) = -1 StoichNum(288,667) = 0.335 StoichNum(288,689) = 0.429 StoichNum(288,690) = 0.75 StoichNum(288,1008) = -1 StoichNum(288,1024) = 0.55 StoichNum(288,1041) = 0.5 StoichNum(289,375) = 0.9 StoichNum(289,376) = 0.9 StoichNum(289,377) = 0.5 StoichNum(289,469) = -1 StoichNum(289,471) = -1 StoichNum(289,473) = -1 StoichNum(289,475) = -1 StoichNum(289,477) = -1 StoichNum(289,479) = -1 StoichNum(289,480) = -2 StoichNum(290,149) = -1 StoichNum(290,150) = -1 StoichNum(290,162) = -1 StoichNum(290,332) = -1 StoichNum(290,333) = -1 StoichNum(290,912) = 1 StoichNum(291,380) = 0.5 StoichNum(291,443) = -1 StoichNum(291,444) = -1 StoichNum(291,445) = -1 StoichNum(291,446) = -1 StoichNum(291,462) = -1 StoichNum(291,463) = -1 StoichNum(292,68) = 0.25 StoichNum(292,90) = 0.19 StoichNum(292,93) = 0.19 StoichNum(292,122) = -1 StoichNum(292,131) = -1 StoichNum(292,132) = 0.35 StoichNum(292,134) = 0.35 StoichNum(292,137) = 0.25 StoichNum(292,182) = 0.271 StoichNum(292,183) = 0.271 StoichNum(292,185) = 0.1 StoichNum(292,381) = 0.5 StoichNum(292,399) = 0.42 StoichNum(292,400) = 0.5 StoichNum(292,401) = 0.375 StoichNum(292,402) = 0.25 StoichNum(292,403) = 0.3 StoichNum(292,453) = 1 StoichNum(292,454) = 1 StoichNum(292,455) = 0.5 StoichNum(292,469) = 0.464 StoichNum(292,473) = 0.34 StoichNum(292,475) = 0.464 StoichNum(292,477) = 0.464 StoichNum(292,479) = 0.149 StoichNum(292,480) = 0.285 StoichNum(292,906) = -1 StoichNum(292,926) = 0.19 StoichNum(292,929) = 0.19 StoichNum(292,991) = 1 StoichNum(292,1052) = 0.5 StoichNum(293,600) = -1 StoichNum(293,601) = -1 StoichNum(293,602) = -1 StoichNum(293,620) = 1 StoichNum(293,621) = 0.33 StoichNum(293,691) = 0.037 StoichNum(294,33) = 0.3 StoichNum(294,136) = 0.5 StoichNum(294,164) = -1 StoichNum(294,166) = -1 StoichNum(294,167) = 1 StoichNum(294,184) = 0.1 StoichNum(294,361) = 1 StoichNum(294,496) = 0.3 StoichNum(294,497) = 0.3 StoichNum(294,503) = 0.3 StoichNum(294,505) = 0.3 StoichNum(294,524) = 0.085 StoichNum(294,525) = 0.165 StoichNum(294,528) = 0.355 StoichNum(294,529) = 0.5 StoichNum(294,537) = 0.018 StoichNum(294,538) = 0.018 StoichNum(294,558) = 0.52 StoichNum(294,559) = 0.8 StoichNum(294,645) = 0.545 StoichNum(294,648) = 0.88 StoichNum(294,650) = 0.449 StoichNum(294,661) = 0.187 StoichNum(294,662) = 1 StoichNum(294,664) = 1 StoichNum(294,667) = 0.05 StoichNum(294,668) = 0.242 StoichNum(294,670) = 0.083 StoichNum(294,674) = 0.14 StoichNum(294,685) = 0.7 StoichNum(294,707) = 0.25 StoichNum(294,725) = 0.12 StoichNum(294,726) = 0.2 StoichNum(294,770) = 0.6 StoichNum(294,771) = 0.6 StoichNum(294,772) = 0.2 StoichNum(294,857) = -1 StoichNum(294,911) = -1 StoichNum(294,1007) = 0.5 StoichNum(294,1008) = 0.47 StoichNum(294,1009) = 0.571 StoichNum(294,1010) = 0.125 StoichNum(294,1011) = 0.23 StoichNum(294,1034) = 0.118 StoichNum(294,1036) = 0.429 StoichNum(294,1040) = 1 StoichNum(295,90) = 0.34 StoichNum(295,93) = 0.34 StoichNum(295,98) = 1 StoichNum(295,111) = -1 StoichNum(295,132) = 0.16 StoichNum(295,134) = 0.16 StoichNum(295,138) = 0.75 StoichNum(295,172) = 0.791 StoichNum(295,182) = 0.29 StoichNum(295,183) = 0.29 StoichNum(295,186) = 1 StoichNum(295,218) = -1 StoichNum(295,329) = -1 StoichNum(295,381) = 0.5 StoichNum(295,399) = 0.84 StoichNum(295,400) = 1 StoichNum(295,401) = 0.75 StoichNum(295,402) = 0.5 StoichNum(295,403) = 0.4 StoichNum(295,412) = 0.6 StoichNum(295,413) = 0.4 StoichNum(295,414) = 0.6 StoichNum(295,416) = 0.3 StoichNum(295,445) = 0.45 StoichNum(295,446) = 0.45 StoichNum(295,447) = 0.3 StoichNum(295,448) = 0.3 StoichNum(295,449) = 0.15 StoichNum(295,453) = 0.5 StoichNum(295,454) = 0.5 StoichNum(295,455) = 0.25 StoichNum(295,462) = 0.45 StoichNum(295,463) = 0.45 StoichNum(295,491) = 1 StoichNum(295,904) = -1 StoichNum(295,905) = -1 StoichNum(295,920) = 1 StoichNum(295,926) = 0.34 StoichNum(295,929) = 0.34 StoichNum(295,1000) = 1 StoichNum(295,1052) = 1 StoichNum(295,1054) = 0.6 StoichNum(295,1057) = 0.45 StoichNum(296,57) = 1 StoichNum(296,58) = -1 StoichNum(296,59) = -1 StoichNum(296,129) = -1 StoichNum(296,142) = -2 StoichNum(296,144) = -1 StoichNum(296,179) = 1 StoichNum(296,190) = -1 StoichNum(296,219) = 1 StoichNum(296,321) = 1 StoichNum(296,322) = -1 StoichNum(296,701) = 1 StoichNum(297,281) = -1 StoichNum(297,787) = 1 StoichNum(297,789) = 1 StoichNum(297,790) = 1 StoichNum(297,802) = -1 StoichNum(297,803) = -1 StoichNum(297,804) = -1 StoichNum(297,805) = -1 StoichNum(297,806) = -1 StoichNum(297,807) = -1 StoichNum(297,947) = -1 StoichNum(298,63) = 1 StoichNum(298,68) = 0.75 StoichNum(298,71) = 0.5 StoichNum(298,73) = 1.24 StoichNum(298,78) = 0.326 StoichNum(298,79) = 0.894 StoichNum(298,90) = 0.15 StoichNum(298,92) = 0.64 StoichNum(298,93) = 0.15 StoichNum(298,95) = 0.64 StoichNum(298,105) = -1 StoichNum(298,110) = -1 StoichNum(298,112) = 0.75 StoichNum(298,113) = 0.09 StoichNum(298,132) = 0.13 StoichNum(298,133) = 0.58 StoichNum(298,134) = 0.13 StoichNum(298,135) = 0.58 StoichNum(298,139) = 0.25 StoichNum(298,141) = 1 StoichNum(298,171) = 0.64 StoichNum(298,173) = 1.185 StoichNum(298,174) = 1.185 StoichNum(298,182) = 0.255 StoichNum(298,183) = 0.255 StoichNum(298,187) = 0.613 StoichNum(298,188) = 0.613 StoichNum(298,189) = 0.1 StoichNum(298,192) = 0.035 StoichNum(298,193) = 1 StoichNum(298,381) = 0.3 StoichNum(298,412) = 0.6 StoichNum(298,413) = 0.4 StoichNum(298,414) = 0.6 StoichNum(298,416) = 0.3 StoichNum(298,436) = 0.44 StoichNum(298,437) = 1 StoichNum(298,440) = 1 StoichNum(298,442) = 1 StoichNum(298,466) = 0.75 StoichNum(298,467) = 1 StoichNum(298,469) = 1.24 StoichNum(298,473) = 0.93 StoichNum(298,475) = 1.24 StoichNum(298,477) = 1.24 StoichNum(298,479) = 0.64 StoichNum(298,480) = 1.21 StoichNum(298,492) = 1 StoichNum(298,769) = 1.2 StoichNum(298,772) = 1.15 StoichNum(298,903) = -1 StoichNum(298,917) = 1 StoichNum(298,919) = 1 StoichNum(298,921) = 1.5 StoichNum(298,922) = 1 StoichNum(298,923) = 1.5 StoichNum(298,926) = 0.15 StoichNum(298,927) = 1.558 StoichNum(298,929) = 0.15 StoichNum(298,989) = 1 StoichNum(298,992) = 1 StoichNum(298,1001) = 1 StoichNum(298,1054) = 0.6 StoichNum(298,1055) = 1 StoichNum(298,1056) = 1 StoichNum(299,587) = 1 StoichNum(299,591) = 1 StoichNum(299,596) = 1 StoichNum(299,599) = 1 StoichNum(299,602) = 1 StoichNum(299,616) = 1 StoichNum(299,618) = 1 StoichNum(299,634) = 1 StoichNum(299,636) = 1 StoichNum(299,641) = -1 StoichNum(299,643) = 0.18 StoichNum(299,876) = -1 StoichNum(299,1032) = -1 StoichNum(300,90) = -1 StoichNum(300,91) = -1 StoichNum(300,101) = 1 StoichNum(300,116) = -1 StoichNum(300,134) = -1 StoichNum(300,174) = 0.21 StoichNum(300,183) = -1 StoichNum(300,331) = 1 StoichNum(300,772) = 0.2 StoichNum(301,582) = 0.4 StoichNum(301,583) = 0.4 StoichNum(301,606) = 0.07 StoichNum(301,607) = 0.532 StoichNum(301,608) = 0.862 StoichNum(301,609) = 0.401 StoichNum(301,610) = 0.034 StoichNum(301,612) = 0.159 StoichNum(301,614) = 0.159 StoichNum(301,617) = 0.159 StoichNum(301,619) = 1 StoichNum(301,628) = 1 StoichNum(301,637) = -1 StoichNum(301,638) = -1 StoichNum(301,1029) = 0.159 StoichNum(301,1031) = -1 StoichNum(301,1032) = 0.223 StoichNum(302,583) = 0.6 StoichNum(302,589) = 0.599 StoichNum(302,590) = 1 StoichNum(302,597) = 0.065 StoichNum(302,598) = 0.142 StoichNum(302,600) = 0.01 StoichNum(302,601) = 0.028 StoichNum(302,631) = 0.008 StoichNum(302,632) = 0.015 StoichNum(302,633) = 0.014 StoichNum(302,635) = 0.049 StoichNum(302,638) = 0.161 StoichNum(302,650) = -1 StoichNum(302,657) = 1 StoichNum(302,669) = 1 StoichNum(302,862) = -1 StoichNum(302,1013) = -1 StoichNum(302,1038) = 0.05 StoichNum(303,541) = 1 StoichNum(303,545) = 1 StoichNum(303,549) = 1 StoichNum(303,585) = 0.482 StoichNum(303,589) = 0.401 StoichNum(303,594) = 0.418 StoichNum(303,597) = 0.494 StoichNum(303,600) = 0.621 StoichNum(303,623) = 1 StoichNum(303,624) = 1 StoichNum(303,630) = 0.5 StoichNum(303,631) = 0.234 StoichNum(303,632) = 0.387 StoichNum(303,641) = 0.565 StoichNum(303,691) = -1 StoichNum(303,878) = -1 StoichNum(303,1038) = -1 StoichNum(303,1039) = -1 StoichNum(304,330) = 0.5 StoichNum(304,495) = 1 StoichNum(304,500) = -1 StoichNum(304,501) = -1 StoichNum(304,504) = -1 StoichNum(304,505) = -1 StoichNum(304,507) = -2 StoichNum(304,508) = -1 StoichNum(304,510) = -2 StoichNum(304,511) = -1 StoichNum(304,514) = -1 StoichNum(304,515) = -1 StoichNum(304,520) = -1 StoichNum(304,521) = -1 StoichNum(304,522) = -1 StoichNum(304,523) = -1 StoichNum(304,536) = 0.51 StoichNum(304,538) = 0.03 StoichNum(304,1030) = 0.159 StoichNum(305,330) = 0.5 StoichNum(305,494) = 1 StoichNum(305,498) = -1 StoichNum(305,499) = -1 StoichNum(305,502) = -1 StoichNum(305,503) = -1 StoichNum(305,506) = -2 StoichNum(305,508) = -1 StoichNum(305,509) = -2 StoichNum(305,511) = -1 StoichNum(305,512) = -1 StoichNum(305,513) = -1 StoichNum(305,516) = -1 StoichNum(305,517) = -1 StoichNum(305,518) = -1 StoichNum(305,519) = -1 StoichNum(305,535) = 0.75 StoichNum(305,537) = 0.03 StoichNum(305,1030) = 0.841 StoichNum(306,79) = 0.659 StoichNum(306,80) = 1 StoichNum(306,82) = 1 StoichNum(306,83) = 1 StoichNum(306,84) = 0.5 StoichNum(306,88) = 1 StoichNum(306,126) = 1 StoichNum(306,151) = -1 StoichNum(306,152) = -1 StoichNum(306,153) = -1 StoichNum(306,154) = -1 StoichNum(306,453) = 0.5 StoichNum(306,454) = 0.5 StoichNum(306,455) = 0.25 StoichNum(306,544) = 0.294 StoichNum(306,546) = 0.135 StoichNum(306,548) = 1 StoichNum(306,550) = 0.65 StoichNum(306,558) = 0.52 StoichNum(306,559) = 0.8 StoichNum(306,585) = 0.459 StoichNum(306,586) = 0.728 StoichNum(306,594) = 0.551 StoichNum(306,595) = 0.935 StoichNum(306,600) = 0.242 StoichNum(306,601) = 0.546 StoichNum(306,631) = 0.34 StoichNum(306,633) = 0.384 StoichNum(306,642) = 0.11 StoichNum(306,643) = 0.09 StoichNum(306,667) = 0.36 StoichNum(306,668) = 0.758 StoichNum(306,718) = 0.2 StoichNum(306,720) = 1 StoichNum(306,721) = 1 StoichNum(306,723) = 1 StoichNum(306,746) = 1 StoichNum(306,768) = 0.9 StoichNum(306,771) = 0.95 StoichNum(306,907) = -1 StoichNum(306,1008) = 0.53 StoichNum(306,1013) = 0.69 StoichNum(306,1032) = 0.5 StoichNum(306,1034) = 0.118 StoichNum(306,1035) = 0.25 StoichNum(306,1036) = 0.429 StoichNum(306,1038) = 0.3 StoichNum(306,1039) = 0.35 StoichNum(306,1040) = 1 StoichNum(307,113) = 0.16 StoichNum(307,136) = 0.2 StoichNum(307,167) = -1 StoichNum(307,168) = -1 StoichNum(307,176) = 0.791 StoichNum(307,192) = 0.065 StoichNum(307,488) = 1 StoichNum(307,529) = 0.5 StoichNum(307,540) = 0.284 StoichNum(307,542) = 0.135 StoichNum(307,548) = 1 StoichNum(307,550) = 0.65 StoichNum(307,563) = 0.8 StoichNum(307,565) = 0.52 StoichNum(307,566) = 0.52 StoichNum(307,568) = 0.8 StoichNum(307,569) = 1 StoichNum(307,585) = 0.459 StoichNum(307,586) = 0.728 StoichNum(307,597) = 0.441 StoichNum(307,598) = 0.858 StoichNum(307,600) = 0.033 StoichNum(307,601) = 0.071 StoichNum(307,631) = 0.042 StoichNum(307,633) = 0.051 StoichNum(307,652) = 0.77 StoichNum(307,666) = 0.84 StoichNum(307,670) = 0.507 StoichNum(307,672) = 0.488 StoichNum(307,673) = 1 StoichNum(307,674) = 0.86 StoichNum(307,678) = 0.5 StoichNum(307,679) = 1 StoichNum(307,681) = 1 StoichNum(307,682) = 0.7 StoichNum(307,684) = 0.25 StoichNum(307,916) = -1 StoichNum(307,993) = 1 StoichNum(307,1011) = 0.77 StoichNum(307,1014) = 1 StoichNum(307,1032) = 0.5 StoichNum(307,1034) = 0.586 StoichNum(307,1035) = 0.25 StoichNum(307,1036) = 0.571 StoichNum(307,1038) = 0.45 StoichNum(307,1039) = 0.8 StoichNum(308,653) = 1 StoichNum(308,678) = -1 StoichNum(308,679) = -1 StoichNum(308,680) = -1 StoichNum(308,681) = -1 StoichNum(308,682) = -1 StoichNum(309,493) = 0.416 StoichNum(309,500) = 0.063 StoichNum(309,504) = 1 StoichNum(309,507) = 2 StoichNum(309,508) = 1 StoichNum(309,514) = 1 StoichNum(309,521) = 1 StoichNum(309,525) = 0.035 StoichNum(309,527) = 0.14 StoichNum(309,536) = 0.165 StoichNum(309,572) = 1 StoichNum(309,573) = 1 StoichNum(309,604) = 0.048 StoichNum(309,606) = 0.123 StoichNum(309,607) = 0.019 StoichNum(309,610) = 0.028 StoichNum(309,611) = 0.097 StoichNum(309,613) = 0.097 StoichNum(309,615) = 0.096 StoichNum(309,646) = -1 StoichNum(309,647) = -1 StoichNum(309,648) = -1 StoichNum(309,649) = -1 StoichNum(309,915) = -1 StoichNum(309,1017) = 1 StoichNum(309,1023) = 1 StoichNum(309,1026) = 1 StoichNum(309,1028) = 0.097 StoichNum(309,1032) = 0.005 StoichNum(310,603) = 0.465 StoichNum(310,604) = -1 StoichNum(310,606) = -2 StoichNum(310,607) = -1 StoichNum(310,610) = -1 StoichNum(310,611) = -1 StoichNum(310,613) = -1 StoichNum(310,615) = -1 StoichNum(310,616) = -1 StoichNum(310,626) = 1 StoichNum(311,603) = 0.535 StoichNum(311,605) = -1 StoichNum(311,607) = -1 StoichNum(311,608) = -2 StoichNum(311,609) = -1 StoichNum(311,612) = -1 StoichNum(311,614) = -1 StoichNum(311,617) = -1 StoichNum(311,618) = -1 StoichNum(311,627) = 1 StoichNum(312,150) = 0.22 StoichNum(312,362) = -1 StoichNum(312,363) = -1 StoichNum(312,364) = -1 StoichNum(312,365) = -1 StoichNum(312,366) = -1 StoichNum(312,367) = -1 StoichNum(312,368) = -1 StoichNum(312,383) = 0.1 StoichNum(312,421) = 0.33 StoichNum(312,493) = 0.58 StoichNum(312,645) = 0.5 StoichNum(312,648) = 0.88 StoichNum(312,704) = 0.5 StoichNum(312,712) = 1 StoichNum(313,33) = 0.7 StoichNum(313,96) = -1 StoichNum(313,111) = 1 StoichNum(313,118) = -1 StoichNum(313,136) = -1 StoichNum(313,184) = -1 StoichNum(313,218) = 1 StoichNum(313,329) = 1 StoichNum(314,381) = 0.15 StoichNum(314,445) = 0.45 StoichNum(314,446) = 0.45 StoichNum(314,447) = 0.3 StoichNum(314,448) = 0.3 StoichNum(314,449) = 0.15 StoichNum(314,453) = 0.5 StoichNum(314,454) = 0.5 StoichNum(314,455) = 0.25 StoichNum(314,462) = 0.45 StoichNum(314,463) = 0.45 StoichNum(314,493) = 0.177 StoichNum(314,498) = 0.063 StoichNum(314,502) = 1 StoichNum(314,506) = 2 StoichNum(314,508) = 1 StoichNum(314,512) = 1 StoichNum(314,517) = 1 StoichNum(314,524) = 0.035 StoichNum(314,526) = 0.23 StoichNum(314,535) = 0.125 StoichNum(314,570) = 1 StoichNum(314,571) = 1 StoichNum(314,604) = 0.479 StoichNum(314,606) = 1.737 StoichNum(314,607) = 0.544 StoichNum(314,610) = 0.583 StoichNum(314,611) = 0.903 StoichNum(314,613) = 0.903 StoichNum(314,615) = 0.904 StoichNum(314,644) = -1 StoichNum(314,645) = -1 StoichNum(314,725) = 0.04 StoichNum(314,726) = 0.04 StoichNum(314,912) = -1 StoichNum(314,913) = -1 StoichNum(314,914) = -1 StoichNum(314,1016) = 1 StoichNum(314,1022) = 1 StoichNum(314,1025) = 1 StoichNum(314,1028) = 0.903 StoichNum(314,1032) = 0.05 StoichNum(314,1057) = 0.45 StoichNum(315,60) = -1 StoichNum(315,90) = 0.34 StoichNum(315,93) = 0.34 StoichNum(315,109) = 0.49 StoichNum(315,130) = -1 StoichNum(315,132) = 0.16 StoichNum(315,134) = 0.16 StoichNum(315,143) = -2 StoichNum(315,145) = -1 StoichNum(315,148) = 0.22 StoichNum(315,170) = 0.36 StoichNum(315,182) = 0.29 StoichNum(315,183) = 0.29 StoichNum(315,191) = -1 StoichNum(315,194) = 0.49 StoichNum(315,195) = 0.49 StoichNum(315,323) = -1 StoichNum(315,903) = 0.49 StoichNum(315,906) = 0.415 StoichNum(315,926) = 0.34 StoichNum(315,929) = 0.34 StoichNum(316,204) = 1 StoichNum(316,211) = 1 StoichNum(316,212) = -1 StoichNum(316,793) = 1 StoichNum(316,813) = -1 StoichNum(316,814) = -1 StoichNum(316,815) = -1 StoichNum(316,816) = -1 StoichNum(316,817) = -1 StoichNum(316,818) = -1 StoichNum(316,819) = -1 StoichNum(316,820) = 1 StoichNum(316,821) = 1 StoichNum(316,822) = 1 StoichNum(316,933) = -1 StoichNum(317,282) = -1 StoichNum(317,301) = 1 StoichNum(317,313) = -1 StoichNum(317,314) = -1 StoichNum(317,795) = -1 StoichNum(317,796) = -1 StoichNum(317,797) = -1 StoichNum(317,798) = -1 StoichNum(317,799) = -1 StoichNum(317,800) = -1 StoichNum(317,801) = -1 StoichNum(317,948) = -1 StoichNum(317,949) = -1 StoichNum(318,95) = -1 StoichNum(318,102) = 1 StoichNum(318,115) = -1 StoichNum(318,133) = -1 StoichNum(318,187) = -1 StoichNum(318,763) = 0.5 StoichNum(318,764) = 0.5 StoichNum(319,68) = 0.25 StoichNum(319,89) = 1 StoichNum(319,93) = -1 StoichNum(319,94) = -1 StoichNum(319,114) = -1 StoichNum(319,132) = -1 StoichNum(319,133) = 0.15 StoichNum(319,135) = 0.15 StoichNum(319,173) = 0.21 StoichNum(319,182) = -1 StoichNum(319,187) = 0.27 StoichNum(319,188) = 0.27 StoichNum(319,412) = 0.6 StoichNum(319,413) = 0.4 StoichNum(319,414) = 0.6 StoichNum(319,416) = 0.3 StoichNum(319,436) = 0.352 StoichNum(319,437) = 0.8 StoichNum(319,440) = 0.8 StoichNum(319,442) = 0.8 StoichNum(319,466) = 0.6 StoichNum(319,467) = 0.8 StoichNum(319,1054) = 0.6 StoichNum(319,1055) = 0.8 StoichNum(319,1056) = 0.8 StoichNum(320,97) = -1 StoichNum(320,119) = -1 StoichNum(320,122) = 1 StoichNum(320,123) = -1 StoichNum(320,131) = 1 StoichNum(320,137) = -1 StoichNum(320,185) = -1 StoichNum(320,381) = 0.3 StoichNum(321,62) = 1 StoichNum(321,63) = -1 StoichNum(321,64) = -1 StoichNum(321,90) = 0.05 StoichNum(321,93) = 0.05 StoichNum(321,109) = 0.07 StoichNum(321,112) = -1 StoichNum(321,132) = 0.03 StoichNum(321,134) = 0.03 StoichNum(321,146) = -1 StoichNum(321,148) = 0.03 StoichNum(321,171) = 0.36 StoichNum(321,182) = 0.045 StoichNum(321,183) = 0.045 StoichNum(321,193) = -1 StoichNum(321,194) = 0.07 StoichNum(321,195) = 0.07 StoichNum(321,220) = 1 StoichNum(321,328) = 1 StoichNum(321,903) = 0.07 StoichNum(321,906) = 0.06 StoichNum(321,926) = 0.05 StoichNum(321,929) = 0.05 StoichNum(322,105) = 1 StoichNum(322,106) = -1 StoichNum(322,107) = 1 StoichNum(322,109) = -1 StoichNum(322,110) = 1 StoichNum(322,148) = -1 StoichNum(322,175) = 1 StoichNum(322,194) = -1 StoichNum(322,195) = -1 StoichNum(322,399) = 0.84 StoichNum(322,400) = 1 StoichNum(322,401) = 0.75 StoichNum(322,402) = 0.5 StoichNum(322,403) = 0.4 StoichNum(322,736) = 1 StoichNum(322,737) = 0.44 StoichNum(322,767) = 0.33 StoichNum(322,770) = 0.33 StoichNum(322,906) = 0.15 StoichNum(322,914) = 1 StoichNum(322,927) = 0.326 StoichNum(322,1047) = 0.7 StoichNum(322,1052) = 1 StoichNum(323,61) = 1 StoichNum(323,90) = 0.19 StoichNum(323,93) = 0.19 StoichNum(323,98) = -1 StoichNum(323,99) = -1 StoichNum(323,109) = 0.27 StoichNum(323,120) = -1 StoichNum(323,132) = 0.09 StoichNum(323,134) = 0.09 StoichNum(323,138) = -1 StoichNum(323,148) = 0.12 StoichNum(323,172) = 0.209 StoichNum(323,182) = 0.162 StoichNum(323,183) = 0.162 StoichNum(323,186) = -1 StoichNum(323,194) = 0.27 StoichNum(323,195) = 0.27 StoichNum(323,327) = 1 StoichNum(323,903) = 0.27 StoichNum(323,906) = 0.23 StoichNum(323,926) = 0.19 StoichNum(323,929) = 0.19 StoichNum(324,51) = 0.95 StoichNum(324,52) = 1 StoichNum(324,53) = -1 StoichNum(324,54) = 1 StoichNum(324,56) = -1 StoichNum(324,96) = 1 StoichNum(324,97) = 0.919 StoichNum(324,118) = 0.15 StoichNum(324,119) = 0.15 StoichNum(324,123) = 0.62 StoichNum(324,136) = 0.3 StoichNum(324,137) = 0.5 StoichNum(324,164) = 1 StoichNum(324,166) = 1 StoichNum(324,178) = 0.78 StoichNum(324,180) = -2 StoichNum(324,181) = -1 StoichNum(324,182) = -1 StoichNum(324,183) = -1 StoichNum(324,184) = -0.1 StoichNum(324,185) = -0.1 StoichNum(324,186) = -1 StoichNum(324,187) = -1 StoichNum(324,188) = -1 StoichNum(324,189) = -1 StoichNum(324,190) = -1 StoichNum(324,191) = -1 StoichNum(324,192) = -1 StoichNum(324,193) = -1 StoichNum(324,194) = -1 StoichNum(324,217) = 1 StoichNum(324,436) = 0.44 StoichNum(324,437) = 1 StoichNum(324,440) = 1 StoichNum(324,442) = 1 StoichNum(324,457) = -1 StoichNum(324,459) = -1 StoichNum(324,461) = -1 StoichNum(324,463) = -1 StoichNum(324,465) = -1 StoichNum(324,466) = 0.75 StoichNum(324,474) = -1 StoichNum(324,475) = -1 StoichNum(324,496) = 0.3 StoichNum(324,503) = 0.3 StoichNum(324,537) = 0.018 StoichNum(324,611) = -1 StoichNum(324,612) = -1 StoichNum(324,645) = 0.38 StoichNum(324,648) = 0.12 StoichNum(324,650) = 0.04 StoichNum(324,661) = 0.097 StoichNum(324,665) = 1 StoichNum(324,667) = 0.36 StoichNum(324,668) = 0.758 StoichNum(324,671) = 0.175 StoichNum(324,672) = 0.087 StoichNum(324,676) = 0.35 StoichNum(324,685) = 0.3 StoichNum(324,692) = 1 StoichNum(324,693) = 1 StoichNum(324,695) = -1 StoichNum(324,731) = -1 StoichNum(324,740) = 1 StoichNum(324,897) = 0.12 StoichNum(324,899) = 0.7 StoichNum(324,902) = 1 StoichNum(324,904) = 1 StoichNum(324,906) = 0.85 StoichNum(324,911) = 1 StoichNum(324,913) = 1 StoichNum(324,915) = 1 StoichNum(324,916) = 1 StoichNum(324,927) = 0.326 StoichNum(324,984) = 1 StoichNum(324,1004) = 1 StoichNum(324,1005) = 1 StoichNum(324,1006) = 1 StoichNum(324,1007) = 0.5 StoichNum(324,1008) = 0.53 StoichNum(324,1009) = 0.429 StoichNum(324,1010) = 0.125 StoichNum(324,1012) = 0.262 StoichNum(324,1013) = 1.01 StoichNum(324,1055) = 1 StoichNum(324,1056) = 1 StoichNum(325,10) = -1 StoichNum(325,11) = 1 StoichNum(325,12) = 1 StoichNum(325,17) = 1 StoichNum(325,26) = 1 StoichNum(325,29) = 1 StoichNum(325,30) = 2 StoichNum(325,31) = 0.87 StoichNum(325,32) = 0.3 StoichNum(325,34) = -1 StoichNum(325,48) = 1 StoichNum(325,50) = -1 StoichNum(325,51) = 0.05 StoichNum(325,55) = 1 StoichNum(325,65) = 1 StoichNum(325,73) = 0.98 StoichNum(325,76) = 1 StoichNum(325,77) = 1 StoichNum(325,78) = 0.603 StoichNum(325,80) = 1 StoichNum(325,81) = 0.065 StoichNum(325,84) = 1 StoichNum(325,85) = 1 StoichNum(325,92) = 0.64 StoichNum(325,95) = 0.64 StoichNum(325,96) = 1 StoichNum(325,100) = 1 StoichNum(325,112) = 0.75 StoichNum(325,113) = 1.25 StoichNum(325,118) = 0.15 StoichNum(325,123) = 0.31 StoichNum(325,129) = 0.75 StoichNum(325,130) = 0.75 StoichNum(325,132) = 0.75 StoichNum(325,133) = 0.95 StoichNum(325,134) = 0.75 StoichNum(325,135) = 0.95 StoichNum(325,136) = 0.5 StoichNum(325,137) = 0.75 StoichNum(325,138) = 0.75 StoichNum(325,139) = 1.25 StoichNum(325,150) = 0.5 StoichNum(325,151) = 0.732 StoichNum(325,157) = 1 StoichNum(325,158) = 0.44 StoichNum(325,159) = 1 StoichNum(325,160) = 1 StoichNum(325,161) = 1 StoichNum(325,178) = 0.22 StoichNum(325,181) = 1 StoichNum(325,184) = 0.9 StoichNum(325,187) = 0.351 StoichNum(325,188) = 0.351 StoichNum(325,189) = 0.9 StoichNum(325,192) = 0.9 StoichNum(325,195) = 1 StoichNum(325,199) = 1 StoichNum(325,201) = 1 StoichNum(325,216) = -1 StoichNum(325,231) = 0.25 StoichNum(325,252) = -1 StoichNum(325,274) = 1 StoichNum(325,292) = -1 StoichNum(325,319) = 1 StoichNum(325,324) = 1 StoichNum(325,360) = 1 StoichNum(325,362) = 1 StoichNum(325,363) = 1 StoichNum(325,364) = 1 StoichNum(325,365) = 0.06 StoichNum(325,366) = 0.06 StoichNum(325,367) = 1 StoichNum(325,368) = 1 StoichNum(325,381) = 0.1 StoichNum(325,383) = 0.1 StoichNum(325,388) = 0.5 StoichNum(325,399) = 0.84 StoichNum(325,400) = 1 StoichNum(325,401) = 1.5 StoichNum(325,402) = 0.5 StoichNum(325,403) = 0.4 StoichNum(325,405) = 0.75 StoichNum(325,406) = 1 StoichNum(325,407) = 1 StoichNum(325,413) = 0.75 StoichNum(325,421) = 0.67 StoichNum(325,427) = 1 StoichNum(325,432) = 0.75 StoichNum(325,436) = 0.176 StoichNum(325,437) = 0.4 StoichNum(325,440) = 0.4 StoichNum(325,442) = 0.4 StoichNum(325,445) = 0.1 StoichNum(325,446) = 0.1 StoichNum(325,447) = 0.1 StoichNum(325,448) = 0.1 StoichNum(325,449) = 0.05 StoichNum(325,453) = 1.5 StoichNum(325,454) = 1.5 StoichNum(325,455) = 0.75 StoichNum(325,456) = 0.75 StoichNum(325,458) = 1.75 StoichNum(325,459) = 1 StoichNum(325,460) = 0.75 StoichNum(325,462) = 0.85 StoichNum(325,463) = 0.1 StoichNum(325,464) = 1 StoichNum(325,466) = 1.3 StoichNum(325,467) = 0.4 StoichNum(325,469) = 0.287 StoichNum(325,472) = 1 StoichNum(325,473) = 0.85 StoichNum(325,475) = 0.287 StoichNum(325,477) = 0.287 StoichNum(325,479) = 0.202 StoichNum(325,480) = 0.504 StoichNum(325,489) = 1 StoichNum(325,493) = 0.827 StoichNum(325,496) = 0.3 StoichNum(325,497) = 0.3 StoichNum(325,498) = 0.063 StoichNum(325,500) = 0.063 StoichNum(325,502) = 1 StoichNum(325,503) = 0.3 StoichNum(325,504) = 1 StoichNum(325,505) = 0.3 StoichNum(325,506) = 2 StoichNum(325,507) = 2 StoichNum(325,508) = 2 StoichNum(325,512) = 2 StoichNum(325,513) = 1 StoichNum(325,514) = 2 StoichNum(325,515) = 1 StoichNum(325,517) = 1 StoichNum(325,521) = 1 StoichNum(325,524) = 0.085 StoichNum(325,525) = 0.165 StoichNum(325,529) = 0.5 StoichNum(325,537) = 0.018 StoichNum(325,538) = 0.018 StoichNum(325,540) = 0.716 StoichNum(325,542) = 0.14 StoichNum(325,544) = 0.706 StoichNum(325,546) = 0.14 StoichNum(325,566) = 0.65 StoichNum(325,568) = 1 StoichNum(325,585) = 0.059 StoichNum(325,586) = 0.272 StoichNum(325,589) = 0.599 StoichNum(325,590) = 1 StoichNum(325,594) = 0.031 StoichNum(325,595) = 0.065 StoichNum(325,597) = 0.065 StoichNum(325,598) = 0.142 StoichNum(325,600) = 0.104 StoichNum(325,601) = 0.383 StoichNum(325,604) = 0.527 StoichNum(325,606) = 1.86 StoichNum(325,607) = 0.563 StoichNum(325,609) = 0.645 StoichNum(325,610) = 1.577 StoichNum(325,611) = 1 StoichNum(325,613) = 1 StoichNum(325,615) = 1 StoichNum(325,631) = 0.126 StoichNum(325,632) = 0.088 StoichNum(325,633) = 0.249 StoichNum(325,635) = 0.34 StoichNum(325,645) = 0.6 StoichNum(325,648) = 0.12 StoichNum(325,650) = 0.241 StoichNum(325,667) = 0.05 StoichNum(325,668) = 0.242 StoichNum(325,670) = 0.083 StoichNum(325,671) = 0.5 StoichNum(325,672) = 0.25 StoichNum(325,674) = 0.14 StoichNum(325,676) = 1 StoichNum(325,682) = 1 StoichNum(325,691) = 0.022 StoichNum(325,694) = 0.5 StoichNum(325,696) = 1 StoichNum(325,702) = 1 StoichNum(325,703) = 1 StoichNum(325,704) = 0.5 StoichNum(325,705) = 0.25 StoichNum(325,706) = 1 StoichNum(325,707) = 0.12 StoichNum(325,712) = 1 StoichNum(325,718) = 0.8 StoichNum(325,719) = 2 StoichNum(325,730) = 1 StoichNum(325,740) = 1 StoichNum(325,765) = 1 StoichNum(325,766) = 1 StoichNum(325,779) = 1 StoichNum(325,887) = 1 StoichNum(325,888) = -1 StoichNum(325,889) = -1 StoichNum(325,901) = 0.3 StoichNum(325,902) = 1 StoichNum(325,907) = 0.9 StoichNum(325,910) = 1 StoichNum(325,913) = 1 StoichNum(325,915) = 1 StoichNum(325,916) = 1 StoichNum(325,924) = 1 StoichNum(325,982) = 1 StoichNum(325,984) = 1 StoichNum(325,990) = 1 StoichNum(325,998) = 1 StoichNum(325,1002) = 1 StoichNum(325,1003) = 1 StoichNum(325,1005) = 1 StoichNum(325,1006) = 1 StoichNum(325,1008) = 0.47 StoichNum(325,1011) = 0.23 StoichNum(325,1012) = 0.75 StoichNum(325,1016) = 1 StoichNum(325,1017) = 1 StoichNum(325,1025) = 1 StoichNum(325,1026) = 1 StoichNum(325,1028) = 1 StoichNum(325,1032) = 0.055 StoichNum(325,1034) = 0.133 StoichNum(325,1038) = 0.55 StoichNum(325,1039) = 0.15 StoichNum(325,1052) = 1 StoichNum(325,1053) = 1 StoichNum(325,1055) = 0.4 StoichNum(325,1056) = 0.4 StoichNum(325,1057) = 0.1 StoichNum(326,51) = -1 StoichNum(326,52) = -1 StoichNum(326,58) = 1 StoichNum(326,60) = 1 StoichNum(326,65) = 1 StoichNum(326,73) = 0.65 StoichNum(326,90) = 0.34 StoichNum(326,92) = 0.97 StoichNum(326,93) = 0.34 StoichNum(326,95) = 0.97 StoichNum(326,97) = 0.919 StoichNum(326,100) = 1 StoichNum(326,108) = 1 StoichNum(326,113) = 0.5 StoichNum(326,119) = 0.15 StoichNum(326,123) = 0.62 StoichNum(326,129) = 0.75 StoichNum(326,130) = 0.75 StoichNum(326,132) = 0.16 StoichNum(326,133) = 0.38 StoichNum(326,134) = 0.16 StoichNum(326,135) = 0.38 StoichNum(326,137) = 0.5 StoichNum(326,139) = 0.5 StoichNum(326,140) = 1 StoichNum(326,142) = 1.6 StoichNum(326,143) = 1.6 StoichNum(326,150) = 0.5 StoichNum(326,170) = 0.64 StoichNum(326,182) = 0.29 StoichNum(326,183) = 0.29 StoichNum(326,185) = 0.9 StoichNum(326,187) = 0.675 StoichNum(326,188) = 0.675 StoichNum(326,189) = 0.9 StoichNum(326,190) = 1 StoichNum(326,191) = 1 StoichNum(326,192) = 0.9 StoichNum(326,217) = -1 StoichNum(326,322) = 1 StoichNum(326,323) = 1 StoichNum(326,325) = 1 StoichNum(326,369) = 1 StoichNum(326,370) = 1 StoichNum(326,371) = 1 StoichNum(326,372) = 1 StoichNum(326,373) = 1 StoichNum(326,490) = 1 StoichNum(326,705) = 0.4 StoichNum(326,897) = -1 StoichNum(326,898) = -1 StoichNum(326,918) = 1 StoichNum(326,924) = 1 StoichNum(326,925) = 1 StoichNum(326,926) = 0.34 StoichNum(326,927) = 0.348 StoichNum(326,929) = 0.34 StoichNum(326,999) = 1 StoichNum(327,3) = -1 StoichNum(327,6) = -1 StoichNum(327,35) = 1 StoichNum(327,36) = -1 StoichNum(327,50) = 1 StoichNum(327,52) = 1 StoichNum(327,67) = 1 StoichNum(327,101) = 1 StoichNum(327,110) = 1 StoichNum(327,131) = 1 StoichNum(327,154) = 1 StoichNum(327,165) = 1 StoichNum(327,166) = 1 StoichNum(327,179) = 1 StoichNum(327,201) = 1 StoichNum(327,389) = 1 StoichNum(327,486) = 1 StoichNum(327,487) = 1 StoichNum(327,649) = 0.32 StoichNum(327,692) = 1 StoichNum(327,706) = 1 StoichNum(327,708) = 1 StoichNum(327,742) = 0.742 StoichNum(327,744) = 0.5 StoichNum(327,747) = 0.5 StoichNum(327,749) = 1 StoichNum(327,764) = 0.5 StoichNum(327,782) = 0.5 StoichNum(327,783) = 1 StoichNum(327,786) = 2 StoichNum(327,787) = 1 StoichNum(327,788) = 2 StoichNum(327,789) = 1 StoichNum(327,790) = 1 StoichNum(327,793) = 1 StoichNum(327,794) = 1 StoichNum(327,795) = 1 StoichNum(327,796) = 1 StoichNum(327,797) = 1 StoichNum(327,798) = 1 StoichNum(327,799) = 1 StoichNum(327,800) = 1 StoichNum(327,801) = 1 StoichNum(327,841) = 1 StoichNum(327,842) = 1 StoichNum(327,843) = 1 StoichNum(327,848) = 1 StoichNum(327,849) = 1 StoichNum(327,850) = 1 StoichNum(327,851) = 1 StoichNum(327,890) = -1 StoichNum(328,17) = -1 StoichNum(328,25) = 1 StoichNum(328,26) = -1 StoichNum(328,27) = -1 StoichNum(328,28) = -1 StoichNum(328,29) = -2 StoichNum(328,30) = -2 StoichNum(328,31) = -1 StoichNum(328,32) = 0.7 StoichNum(328,56) = 1 StoichNum(328,90) = 0.19 StoichNum(328,93) = 0.19 StoichNum(328,104) = 1 StoichNum(328,112) = -1 StoichNum(328,113) = -1 StoichNum(328,119) = 0.85 StoichNum(328,129) = -1 StoichNum(328,130) = -1 StoichNum(328,132) = -0.91 StoichNum(328,133) = -1 StoichNum(328,134) = -0.91 StoichNum(328,135) = -1 StoichNum(328,136) = -1 StoichNum(328,137) = -0.75 StoichNum(328,138) = -1 StoichNum(328,139) = -1 StoichNum(328,150) = 0.28 StoichNum(328,168) = 0.5 StoichNum(328,180) = 2 StoichNum(328,181) = -0.1 StoichNum(328,182) = 0.9 StoichNum(328,183) = 0.9 StoichNum(328,184) = 0.9 StoichNum(328,185) = 0.9 StoichNum(328,186) = 0.9 StoichNum(328,187) = 0.9 StoichNum(328,188) = 0.9 StoichNum(328,189) = 0.9 StoichNum(328,190) = 0.9 StoichNum(328,191) = 0.9 StoichNum(328,192) = 0.9 StoichNum(328,193) = 0.9 StoichNum(328,194) = 1 StoichNum(328,195) = -1 StoichNum(328,197) = -1 StoichNum(328,198) = 1 StoichNum(328,199) = 1 StoichNum(328,200) = 1 StoichNum(328,201) = 1 StoichNum(328,231) = 0.75 StoichNum(328,257) = 0.9 StoichNum(328,258) = 1 StoichNum(328,274) = -1 StoichNum(328,291) = 1 StoichNum(328,319) = -1 StoichNum(328,320) = 1 StoichNum(328,326) = 1 StoichNum(328,359) = 1 StoichNum(328,401) = -1 StoichNum(328,413) = -1 StoichNum(328,432) = -1 StoichNum(328,456) = -1 StoichNum(328,457) = 0.9 StoichNum(328,458) = -1 StoichNum(328,459) = 0.9 StoichNum(328,460) = -1 StoichNum(328,461) = 0.9 StoichNum(328,462) = -1 StoichNum(328,463) = 0.9 StoichNum(328,464) = -1 StoichNum(328,465) = 1 StoichNum(328,466) = -1 StoichNum(328,467) = 1 StoichNum(328,472) = -1 StoichNum(328,473) = -1 StoichNum(328,474) = 1 StoichNum(328,475) = 0.5 StoichNum(328,493) = 0.407 StoichNum(328,512) = -1 StoichNum(328,513) = -1 StoichNum(328,514) = -1 StoichNum(328,515) = -1 StoichNum(328,609) = -1 StoichNum(328,610) = -1 StoichNum(328,611) = 1 StoichNum(328,612) = 1 StoichNum(328,671) = 0.325 StoichNum(328,672) = 0.162 StoichNum(328,676) = 0.65 StoichNum(328,682) = -1 StoichNum(328,695) = 0.5 StoichNum(328,718) = -1 StoichNum(328,730) = -1 StoichNum(328,731) = 1 StoichNum(328,765) = -1 StoichNum(328,766) = -1 StoichNum(328,779) = -1 StoichNum(328,897) = 0.88 StoichNum(328,899) = 0.3 StoichNum(328,904) = 1 StoichNum(328,905) = 2 StoichNum(328,906) = 0.15 StoichNum(328,914) = 1 StoichNum(328,925) = 1 StoichNum(328,926) = 0.19 StoichNum(328,929) = 0.19 StoichNum(328,930) = 1 StoichNum(328,939) = 1 StoichNum(328,940) = 1 StoichNum(328,983) = 1 StoichNum(328,1012) = 0.488 StoichNum(329,24) = -1 StoichNum(329,34) = 1 StoichNum(329,50) = 1 StoichNum(329,51) = 0.05 StoichNum(329,55) = 1 StoichNum(329,80) = 1 StoichNum(329,82) = 1 StoichNum(329,83) = 1 StoichNum(329,84) = 1 StoichNum(329,85) = 1 StoichNum(329,88) = 1 StoichNum(329,108) = 1 StoichNum(329,126) = 1 StoichNum(329,150) = 0.56 StoichNum(329,151) = 0.505 StoichNum(329,152) = 1 StoichNum(329,160) = 1 StoichNum(329,163) = 2 StoichNum(329,164) = 1 StoichNum(329,165) = 2 StoichNum(329,166) = 1 StoichNum(329,168) = 0.5 StoichNum(329,216) = 1 StoichNum(329,238) = 1 StoichNum(329,252) = 1 StoichNum(329,292) = 1 StoichNum(329,315) = 1 StoichNum(329,316) = 1 StoichNum(329,317) = 1 StoichNum(329,362) = -1 StoichNum(329,369) = -1 StoichNum(329,379) = 0.15 StoichNum(329,383) = 0.1 StoichNum(329,493) = 0.407 StoichNum(329,496) = 0.6 StoichNum(329,497) = 0.9 StoichNum(329,503) = 0.6 StoichNum(329,505) = 0.9 StoichNum(329,509) = 1 StoichNum(329,510) = 1 StoichNum(329,511) = 1 StoichNum(329,513) = 0.5 StoichNum(329,515) = 0.5 StoichNum(329,519) = 0.55 StoichNum(329,523) = 0.55 StoichNum(329,524) = 0.45 StoichNum(329,525) = 0.37 StoichNum(329,526) = 0.42 StoichNum(329,527) = 0.23 StoichNum(329,528) = 0.638 StoichNum(329,529) = 1.5 StoichNum(329,530) = 1 StoichNum(329,535) = 0.25 StoichNum(329,536) = 0.33 StoichNum(329,537) = 0.036 StoichNum(329,538) = 0.054 StoichNum(329,557) = 1 StoichNum(329,558) = 0.13 StoichNum(329,559) = 0.2 StoichNum(329,562) = 1 StoichNum(329,563) = 0.2 StoichNum(329,565) = 0.13 StoichNum(329,566) = 0.52 StoichNum(329,568) = 0.8 StoichNum(329,569) = 2 StoichNum(329,582) = 0.6 StoichNum(329,583) = 0.6 StoichNum(329,638) = 0.539 StoichNum(329,639) = 0.33 StoichNum(329,640) = 0.33 StoichNum(329,645) = 0.28 StoichNum(329,646) = 0.036 StoichNum(329,648) = 0.12 StoichNum(329,649) = 0.68 StoichNum(329,652) = 0.77 StoichNum(329,654) = 0.25 StoichNum(329,661) = 0.75 StoichNum(329,662) = 1 StoichNum(329,664) = 1 StoichNum(329,665) = 2 StoichNum(329,666) = 0.84 StoichNum(329,670) = 0.507 StoichNum(329,671) = 0.325 StoichNum(329,672) = 0.488 StoichNum(329,673) = 1 StoichNum(329,674) = 0.86 StoichNum(329,676) = 0.65 StoichNum(329,684) = 0.25 StoichNum(329,685) = 1 StoichNum(329,686) = 1 StoichNum(329,687) = 0.888 StoichNum(329,690) = 1 StoichNum(329,696) = 1 StoichNum(329,704) = 0.18 StoichNum(329,707) = 0.12 StoichNum(329,714) = 0.364 StoichNum(329,724) = 0.2 StoichNum(329,725) = 0.27 StoichNum(329,726) = 0.3 StoichNum(329,740) = 2 StoichNum(329,763) = 0.15 StoichNum(329,764) = 0.15 StoichNum(329,767) = 0.26 StoichNum(329,768) = 0.5 StoichNum(329,770) = 0.25 StoichNum(329,771) = 0.5 StoichNum(329,772) = 0.05 StoichNum(329,888) = 1 StoichNum(329,889) = 1 StoichNum(329,897) = 0.88 StoichNum(329,898) = 1 StoichNum(329,901) = 0.7 StoichNum(329,902) = 1 StoichNum(329,903) = 1 StoichNum(329,905) = 1 StoichNum(329,907) = 1 StoichNum(329,908) = 2 StoichNum(329,909) = 2 StoichNum(329,910) = 1 StoichNum(329,911) = 1 StoichNum(329,912) = 1 StoichNum(329,913) = 1 StoichNum(329,915) = 1 StoichNum(329,986) = 1 StoichNum(329,990) = 1 StoichNum(329,1003) = 1 StoichNum(329,1006) = 1 StoichNum(329,1007) = 0.5 StoichNum(329,1009) = 0.571 StoichNum(329,1010) = 0.875 StoichNum(329,1011) = 0.77 StoichNum(329,1014) = 1 StoichNum(329,1015) = 1 StoichNum(329,1020) = 0.888 StoichNum(329,1021) = 0.818 StoichNum(329,1022) = 1 StoichNum(329,1023) = 1 StoichNum(329,1024) = 0.55 StoichNum(329,1027) = 0.55 StoichNum(329,1031) = 0.839 StoichNum(329,1033) = 1 StoichNum(329,1034) = 0.163 StoichNum(329,1037) = 1 StoichNum(329,1041) = 1 StoichNum(329,1043) = 1 StoichNum(329,1046) = 1 StoichNum(329,1049) = 1 StoichNum(329,1058) = 1 StoichNum(330,352) = 1 StoichNum(330,354) = -1 StoichNum(330,355) = 1 StoichNum(330,828) = -1 StoichNum(330,829) = -1 StoichNum(330,843) = 1 StoichNum(330,852) = -1 StoichNum(330,853) = -1 StoichNum(330,854) = -1 StoichNum(330,855) = -1 StoichNum(330,967) = -1 StoichNum(331,334) = -1 StoichNum(331,336) = -1 StoichNum(331,337) = 1 StoichNum(331,339) = 1 StoichNum(331,342) = -1 StoichNum(331,343) = -1 StoichNum(331,344) = 0.2 StoichNum(331,349) = 0.809 StoichNum(331,350) = -1 StoichNum(331,351) = -1 StoichNum(331,352) = 1 StoichNum(331,353) = 1 StoichNum(331,356) = 1 StoichNum(331,357) = 0.4 StoichNum(331,358) = 0.996 StoichNum(331,359) = 1 StoichNum(331,966) = 2 StoichNum(331,967) = 1 StoichNum(331,968) = 1 StoichNum(331,969) = 1 StoichNum(331,970) = 1 StoichNum(331,971) = 1 StoichNum(331,972) = 1 StoichNum(331,973) = 1 StoichNum(331,974) = 1 StoichNum(331,975) = 2 StoichNum(331,976) = 1 StoichNum(331,977) = 1 StoichNum(331,980) = 1 StoichNum(331,981) = 1 StoichNum(332,339) = 1 StoichNum(332,340) = 1 StoichNum(332,341) = -1 StoichNum(332,342) = -1 StoichNum(332,841) = -1 StoichNum(332,842) = -1 StoichNum(332,843) = -1 StoichNum(332,848) = -1 StoichNum(332,849) = -1 StoichNum(332,850) = -1 StoichNum(332,851) = -1 StoichNum(332,972) = -1 StoichNum(333,273) = 1 StoichNum(333,277) = 1 StoichNum(333,278) = 1 StoichNum(333,280) = -1 StoichNum(333,281) = 1 StoichNum(333,282) = 1 StoichNum(333,299) = 1 StoichNum(333,795) = 1 StoichNum(333,808) = -1 StoichNum(333,809) = -1 StoichNum(333,810) = -1 StoichNum(333,811) = -1 StoichNum(333,812) = -1 StoichNum(333,950) = -1 StoichNum(334,226) = -1 StoichNum(334,227) = -1 StoichNum(334,228) = -1 StoichNum(334,229) = -1 StoichNum(334,230) = -1 StoichNum(334,231) = -1 StoichNum(334,237) = -1 StoichNum(334,253) = -1 StoichNum(334,254) = -1 StoichNum(334,255) = -1 StoichNum(334,256) = -1 StoichNum(334,257) = -1 StoichNum(334,258) = -1 StoichNum(334,259) = -1 StoichNum(334,260) = -1 StoichNum(334,261) = -1 StoichNum(334,262) = -1 StoichNum(334,263) = -1 StoichNum(334,264) = -1 StoichNum(334,265) = -1 StoichNum(334,266) = -1 StoichNum(334,267) = -1 StoichNum(334,268) = -1 StoichNum(334,269) = -1 StoichNum(334,270) = -1 StoichNum(334,271) = -1 StoichNum(334,272) = -1 StoichNum(334,883) = 1 StoichNum(334,985) = 1 StoichNum(335,13) = 1 StoichNum(335,16) = -1 StoichNum(335,22) = 1 StoichNum(335,26) = 1 StoichNum(335,35) = -1 StoichNum(335,38) = 1 StoichNum(335,39) = -1 StoichNum(335,40) = 1 StoichNum(335,41) = 1 StoichNum(335,42) = 1 StoichNum(335,43) = 2 StoichNum(335,44) = 1 StoichNum(335,45) = -1 StoichNum(335,46) = 1 StoichNum(335,53) = -1 StoichNum(335,54) = 1 StoichNum(335,55) = 1 StoichNum(335,56) = 1 StoichNum(335,58) = 1 StoichNum(335,60) = 1 StoichNum(335,63) = 1 StoichNum(335,65) = 1 StoichNum(335,68) = 1 StoichNum(335,73) = 2 StoichNum(335,76) = 1 StoichNum(335,78) = 0.942 StoichNum(335,80) = 1 StoichNum(335,82) = 1 StoichNum(335,85) = 1 StoichNum(335,86) = -1 StoichNum(335,87) = 1 StoichNum(335,90) = 1 StoichNum(335,92) = 2 StoichNum(335,93) = 1 StoichNum(335,95) = 2 StoichNum(335,96) = 1 StoichNum(335,97) = 0.928 StoichNum(335,98) = 1 StoichNum(335,100) = 2 StoichNum(335,106) = -1 StoichNum(335,107) = 1 StoichNum(335,108) = 1 StoichNum(335,109) = 1 StoichNum(335,123) = 0.93 StoichNum(335,124) = -1 StoichNum(335,125) = 1 StoichNum(335,126) = 1 StoichNum(335,127) = 1 StoichNum(335,133) = 1 StoichNum(335,135) = 1 StoichNum(335,139) = 1 StoichNum(335,155) = -1 StoichNum(335,156) = 1 StoichNum(335,157) = 1 StoichNum(335,159) = 1 StoichNum(335,160) = 1 StoichNum(335,187) = 1 StoichNum(335,188) = 1 StoichNum(335,189) = 1 StoichNum(335,196) = 2 StoichNum(335,197) = -1 StoichNum(335,198) = 1 StoichNum(335,209) = 1 StoichNum(335,215) = 1 StoichNum(335,221) = -1 StoichNum(335,222) = -1 StoichNum(335,240) = -1 StoichNum(335,241) = 1 StoichNum(335,242) = 1 StoichNum(335,243) = -1 StoichNum(335,250) = -1 StoichNum(335,281) = 1 StoichNum(335,300) = 1 StoichNum(335,301) = -1 StoichNum(335,336) = -1 StoichNum(335,337) = 1 StoichNum(335,338) = 2 StoichNum(335,340) = -1 StoichNum(335,341) = 1 StoichNum(335,348) = 1 StoichNum(335,356) = 1 StoichNum(335,360) = 1 StoichNum(335,361) = 1 StoichNum(335,363) = 1 StoichNum(335,364) = -1 StoichNum(335,370) = 1 StoichNum(335,371) = -1 StoichNum(335,385) = 0.75 StoichNum(335,386) = 1 StoichNum(335,388) = 0.5 StoichNum(335,392) = 1 StoichNum(335,393) = -1 StoichNum(335,394) = 1 StoichNum(335,395) = 1 StoichNum(335,399) = 0.84 StoichNum(335,400) = 1 StoichNum(335,403) = 0.5 StoichNum(335,405) = 0.75 StoichNum(335,406) = 1 StoichNum(335,407) = 0.5 StoichNum(335,412) = 1 StoichNum(335,414) = 1 StoichNum(335,416) = 0.5 StoichNum(335,418) = 0.75 StoichNum(335,419) = 1 StoichNum(335,426) = 0.5 StoichNum(335,427) = 0.5 StoichNum(335,428) = 1 StoichNum(335,429) = 0.84 StoichNum(335,431) = 1 StoichNum(335,434) = 1 StoichNum(335,435) = 0.5 StoichNum(335,437) = 1 StoichNum(335,438) = -1 StoichNum(335,439) = 1 StoichNum(335,440) = 1 StoichNum(335,445) = 1 StoichNum(335,446) = 1 StoichNum(335,449) = 0.5 StoichNum(335,450) = 0.3 StoichNum(335,451) = 0.3 StoichNum(335,452) = 1.15 StoichNum(335,455) = 0.5 StoichNum(335,468) = 1 StoichNum(335,469) = 2 StoichNum(335,473) = 0.5 StoichNum(335,475) = 1 StoichNum(335,476) = 1 StoichNum(335,477) = 2 StoichNum(335,479) = 0.5 StoichNum(335,480) = 1 StoichNum(335,489) = 1 StoichNum(335,490) = 1 StoichNum(335,491) = 1 StoichNum(335,492) = 1 StoichNum(335,517) = 1 StoichNum(335,519) = 1 StoichNum(335,521) = 1 StoichNum(335,523) = 1 StoichNum(335,540) = 1 StoichNum(335,544) = 1 StoichNum(335,548) = 1 StoichNum(335,559) = 1 StoichNum(335,563) = 1 StoichNum(335,568) = 1 StoichNum(335,570) = 1 StoichNum(335,572) = 1 StoichNum(335,575) = 1 StoichNum(335,577) = 1 StoichNum(335,578) = 1 StoichNum(335,580) = 1 StoichNum(335,585) = 0.459 StoichNum(335,586) = 1.728 StoichNum(335,590) = 1 StoichNum(335,595) = 1 StoichNum(335,598) = 1 StoichNum(335,601) = 1 StoichNum(335,604) = 0.527 StoichNum(335,606) = 1.86 StoichNum(335,607) = 0.563 StoichNum(335,610) = 0.611 StoichNum(335,611) = 1 StoichNum(335,613) = 2 StoichNum(335,614) = 1 StoichNum(335,615) = 2 StoichNum(335,617) = 1 StoichNum(335,625) = 1 StoichNum(335,631) = 0.058 StoichNum(335,633) = 1.065 StoichNum(335,635) = 1 StoichNum(335,637) = 1 StoichNum(335,639) = 1 StoichNum(335,641) = 0.565 StoichNum(335,642) = 1.11 StoichNum(335,643) = 0.09 StoichNum(335,650) = 0.31 StoichNum(335,655) = 1 StoichNum(335,657) = -1 StoichNum(335,658) = 1 StoichNum(335,660) = -1 StoichNum(335,668) = 1 StoichNum(335,674) = 1 StoichNum(335,676) = 1 StoichNum(335,677) = -1 StoichNum(335,678) = 0.5 StoichNum(335,679) = 2 StoichNum(335,681) = 2 StoichNum(335,682) = 0.7 StoichNum(335,683) = 1 StoichNum(335,690) = 1 StoichNum(335,691) = 0.022 StoichNum(335,692) = 1 StoichNum(335,703) = 1 StoichNum(335,709) = 0.89 StoichNum(335,711) = 1 StoichNum(335,716) = 0.995 StoichNum(335,717) = 1 StoichNum(335,721) = 1 StoichNum(335,728) = 1 StoichNum(335,729) = 1 StoichNum(335,733) = 1 StoichNum(335,736) = 1 StoichNum(335,738) = -1 StoichNum(335,739) = 1 StoichNum(335,740) = 1 StoichNum(335,751) = 1 StoichNum(335,752) = -1 StoichNum(335,754) = 1 StoichNum(335,755) = 1 StoichNum(335,756) = -1 StoichNum(335,757) = 1 StoichNum(335,758) = 1 StoichNum(335,762) = -1 StoichNum(335,763) = 0.5 StoichNum(335,764) = 1 StoichNum(335,779) = 1 StoichNum(335,782) = -1 StoichNum(335,885) = -1 StoichNum(335,890) = 1 StoichNum(335,893) = 1 StoichNum(335,894) = 1 StoichNum(335,896) = 1 StoichNum(335,899) = 0.7 StoichNum(335,900) = 1 StoichNum(335,917) = 1 StoichNum(335,926) = 1 StoichNum(335,927) = 1 StoichNum(335,928) = 1 StoichNum(335,929) = 1 StoichNum(335,935) = 1 StoichNum(335,936) = 1 StoichNum(335,947) = 1 StoichNum(335,949) = 1 StoichNum(335,971) = 1 StoichNum(335,983) = 1 StoichNum(335,990) = 1 StoichNum(335,991) = 1 StoichNum(335,992) = 1 StoichNum(335,993) = 1 StoichNum(335,995) = 1 StoichNum(335,997) = 1 StoichNum(335,998) = 1 StoichNum(335,999) = 1 StoichNum(335,1000) = 1 StoichNum(335,1001) = 1 StoichNum(335,1005) = 1 StoichNum(335,1013) = 0.7 StoichNum(335,1014) = 1 StoichNum(335,1024) = 1 StoichNum(335,1025) = 1 StoichNum(335,1026) = 1 StoichNum(335,1027) = 1 StoichNum(335,1028) = 1 StoichNum(335,1030) = 1 StoichNum(335,1031) = 1 StoichNum(335,1032) = 1.555 StoichNum(335,1038) = 0.3 StoichNum(335,1039) = 1 StoichNum(335,1040) = 1 StoichNum(335,1041) = 1 StoichNum(335,1047) = 0.7 StoichNum(336,18) = 1 StoichNum(336,20) = 1 StoichNum(336,21) = 1 StoichNum(336,25) = 1 StoichNum(336,32) = 1 StoichNum(336,33) = 1 StoichNum(336,34) = 1 StoichNum(336,36) = 1 StoichNum(336,38) = 1 StoichNum(336,41) = 1 StoichNum(336,47) = 1 StoichNum(336,51) = 1 StoichNum(336,57) = 1 StoichNum(336,72) = 1 StoichNum(336,102) = 1 StoichNum(336,103) = 1 StoichNum(336,104) = 1 StoichNum(336,105) = 1 StoichNum(336,111) = 1 StoichNum(336,122) = 1 StoichNum(336,206) = 1 StoichNum(336,225) = 1 StoichNum(336,226) = -1 StoichNum(336,234) = 1 StoichNum(336,247) = 0.02 StoichNum(336,279) = 1 StoichNum(336,280) = 1 StoichNum(336,283) = 1 StoichNum(336,286) = 1 StoichNum(336,287) = 1 StoichNum(336,288) = 1 StoichNum(336,289) = 1 StoichNum(336,290) = 1 StoichNum(336,318) = 1 StoichNum(336,353) = 1 StoichNum(336,354) = 1 StoichNum(336,359) = 1 StoichNum(336,365) = -1 StoichNum(336,366) = -2 StoichNum(336,373) = -1 StoichNum(336,374) = -1 StoichNum(336,701) = 1 StoichNum(336,781) = 1 StoichNum(336,786) = -1 StoichNum(336,793) = -1 StoichNum(336,795) = -1 StoichNum(336,808) = 1 StoichNum(336,809) = 1 StoichNum(336,810) = 1 StoichNum(336,811) = 1 StoichNum(336,813) = 1 StoichNum(336,814) = 1 StoichNum(336,815) = 1 StoichNum(336,816) = 1 StoichNum(336,843) = -1 StoichNum(336,928) = 1 StoichNum(337,14) = 1 StoichNum(337,15) = -1 StoichNum(337,17) = 1 StoichNum(337,20) = -1 StoichNum(337,21) = 1 StoichNum(337,22) = -1 StoichNum(337,23) = -2 StoichNum(337,24) = 1 StoichNum(337,26) = 1 StoichNum(337,28) = -1 StoichNum(337,30) = 2 StoichNum(337,31) = 1.74 StoichNum(337,34) = 1 StoichNum(337,39) = -1 StoichNum(337,40) = 1 StoichNum(337,42) = -1 StoichNum(337,44) = 1 StoichNum(337,47) = 1 StoichNum(337,48) = 1 StoichNum(337,50) = 1 StoichNum(337,51) = 0.05 StoichNum(337,58) = 1 StoichNum(337,60) = 1 StoichNum(337,63) = 1 StoichNum(337,65) = 1 StoichNum(337,68) = 0.75 StoichNum(337,70) = -1 StoichNum(337,74) = -1 StoichNum(337,78) = 0.513 StoichNum(337,79) = -1 StoichNum(337,80) = 1 StoichNum(337,81) = 0.425 StoichNum(337,82) = 1 StoichNum(337,84) = -0.75 StoichNum(337,85) = 1 StoichNum(337,90) = 0.27 StoichNum(337,93) = 0.27 StoichNum(337,98) = 1 StoichNum(337,112) = 1 StoichNum(337,113) = 1 StoichNum(337,114) = -1 StoichNum(337,115) = -1 StoichNum(337,116) = -1 StoichNum(337,117) = -1 StoichNum(337,118) = -1 StoichNum(337,119) = -1 StoichNum(337,120) = -1 StoichNum(337,121) = -1 StoichNum(337,128) = -1 StoichNum(337,129) = 1 StoichNum(337,130) = 1 StoichNum(337,132) = 0.64 StoichNum(337,133) = 0.5 StoichNum(337,134) = 0.64 StoichNum(337,135) = 0.5 StoichNum(337,136) = 0.3 StoichNum(337,137) = 0.5 StoichNum(337,138) = 1 StoichNum(337,139) = 0.5 StoichNum(337,140) = 1 StoichNum(337,141) = 1 StoichNum(337,142) = 1.2 StoichNum(337,143) = 1.2 StoichNum(337,144) = -1 StoichNum(337,145) = -1 StoichNum(337,146) = -1 StoichNum(337,147) = -1 StoichNum(337,148) = -1 StoichNum(337,150) = 0.28 StoichNum(337,151) = 0.773 StoichNum(337,153) = 0.2 StoichNum(337,157) = 1 StoichNum(337,158) = -0.56 StoichNum(337,159) = 1 StoichNum(337,161) = 1 StoichNum(337,163) = 1 StoichNum(337,165) = 1 StoichNum(337,167) = 1 StoichNum(337,181) = 0.9 StoichNum(337,182) = 0.243 StoichNum(337,183) = 0.243 StoichNum(337,186) = 0.9 StoichNum(337,190) = 0.9 StoichNum(337,191) = 0.9 StoichNum(337,192) = 0.9 StoichNum(337,193) = 0.9 StoichNum(337,195) = 1 StoichNum(337,202) = 1 StoichNum(337,204) = -1 StoichNum(337,205) = -1 StoichNum(337,214) = 1 StoichNum(337,216) = 1 StoichNum(337,225) = 1 StoichNum(337,231) = 0.2 StoichNum(337,236) = -1 StoichNum(337,244) = 1 StoichNum(337,245) = 1 StoichNum(337,247) = -1 StoichNum(337,252) = 1 StoichNum(337,274) = 1 StoichNum(337,275) = 1 StoichNum(337,283) = 1 StoichNum(337,284) = 1 StoichNum(337,285) = 1 StoichNum(337,292) = 1 StoichNum(337,295) = 1 StoichNum(337,296) = -1 StoichNum(337,297) = -1 StoichNum(337,299) = -1 StoichNum(337,315) = 1 StoichNum(337,316) = 1 StoichNum(337,317) = 1 StoichNum(337,319) = 1 StoichNum(337,322) = 1 StoichNum(337,323) = 1 StoichNum(337,324) = 1 StoichNum(337,351) = -1 StoichNum(337,355) = -1 StoichNum(337,381) = 0.05 StoichNum(337,384) = -1 StoichNum(337,385) = 0.75 StoichNum(337,386) = 1 StoichNum(337,388) = 0.5 StoichNum(337,391) = -1 StoichNum(337,398) = -1 StoichNum(337,401) = 1 StoichNum(337,404) = -1 StoichNum(337,405) = 0.75 StoichNum(337,406) = 1 StoichNum(337,407) = 0.5 StoichNum(337,410) = -1 StoichNum(337,412) = 1 StoichNum(337,413) = 1 StoichNum(337,414) = 1 StoichNum(337,417) = -1 StoichNum(337,418) = 0.75 StoichNum(337,419) = 1 StoichNum(337,429) = 0.84 StoichNum(337,430) = -1 StoichNum(337,431) = 1 StoichNum(337,432) = 1 StoichNum(337,436) = -1 StoichNum(337,443) = -1 StoichNum(337,445) = 1 StoichNum(337,446) = 1 StoichNum(337,453) = 1 StoichNum(337,455) = 0.5 StoichNum(337,456) = 1.75 StoichNum(337,457) = 1 StoichNum(337,458) = 1.75 StoichNum(337,459) = 1 StoichNum(337,460) = 1.75 StoichNum(337,461) = 1 StoichNum(337,462) = 1.75 StoichNum(337,463) = 1 StoichNum(337,464) = 0.75 StoichNum(337,466) = 0.75 StoichNum(337,468) = 1 StoichNum(337,470) = -1 StoichNum(337,471) = -1 StoichNum(337,472) = 2 StoichNum(337,473) = 0.5 StoichNum(337,474) = 1 StoichNum(337,476) = 1 StoichNum(337,478) = 1 StoichNum(337,479) = 0.5 StoichNum(337,493) = 0.16 StoichNum(337,496) = 0.4 StoichNum(337,497) = 0.7 StoichNum(337,498) = -0.937 StoichNum(337,499) = -1 StoichNum(337,500) = -0.937 StoichNum(337,501) = -1 StoichNum(337,503) = 0.4 StoichNum(337,505) = 0.7 StoichNum(337,506) = 2 StoichNum(337,507) = 2 StoichNum(337,508) = 2 StoichNum(337,509) = 1 StoichNum(337,510) = 1 StoichNum(337,511) = 1 StoichNum(337,512) = 2 StoichNum(337,513) = 1.5 StoichNum(337,514) = 2 StoichNum(337,515) = 1.5 StoichNum(337,517) = 1 StoichNum(337,519) = 0.45 StoichNum(337,521) = 1 StoichNum(337,523) = 0.45 StoichNum(337,524) = 0.085 StoichNum(337,525) = 0.165 StoichNum(337,528) = 0.283 StoichNum(337,530) = 1 StoichNum(337,535) = 0.25 StoichNum(337,536) = 0.33 StoichNum(337,537) = 0.024 StoichNum(337,538) = 0.042 StoichNum(337,540) = 1 StoichNum(337,542) = -0.725 StoichNum(337,544) = 1 StoichNum(337,546) = -0.725 StoichNum(337,550) = -1 StoichNum(337,551) = 0.75 StoichNum(337,552) = 1 StoichNum(337,554) = 1 StoichNum(337,556) = 1 StoichNum(337,558) = -0.35 StoichNum(337,559) = 1 StoichNum(337,561) = 1 StoichNum(337,563) = 1 StoichNum(337,565) = -0.35 StoichNum(337,566) = -0.35 StoichNum(337,568) = 1 StoichNum(337,569) = 1 StoichNum(337,571) = -1 StoichNum(337,573) = -1 StoichNum(337,582) = 0.4 StoichNum(337,583) = 0.4 StoichNum(337,584) = 1 StoichNum(337,585) = -0.941 StoichNum(337,586) = 0.272 StoichNum(337,588) = 1 StoichNum(337,589) = -0.401 StoichNum(337,590) = 1 StoichNum(337,592) = 1 StoichNum(337,593) = 1 StoichNum(337,594) = -0.418 StoichNum(337,595) = 1 StoichNum(337,597) = -0.494 StoichNum(337,598) = 1 StoichNum(337,600) = -0.621 StoichNum(337,601) = 1 StoichNum(337,604) = -1 StoichNum(337,605) = -1 StoichNum(337,607) = 0.089 StoichNum(337,608) = 0.064 StoichNum(337,609) = 0.336 StoichNum(337,610) = 0.611 StoichNum(337,612) = 0.159 StoichNum(337,614) = 0.159 StoichNum(337,617) = 0.159 StoichNum(337,619) = 1 StoichNum(337,631) = -0.674 StoichNum(337,632) = -0.42 StoichNum(337,633) = 0.5 StoichNum(337,635) = 0.904 StoichNum(337,638) = 0.295 StoichNum(337,639) = 0.33 StoichNum(337,640) = -0.67 StoichNum(337,642) = 0.89 StoichNum(337,643) = -0.27 StoichNum(337,645) = 0.1 StoichNum(337,646) = 0.036 StoichNum(337,656) = -1 StoichNum(337,659) = -1 StoichNum(337,661) = 0.715 StoichNum(337,663) = 1 StoichNum(337,665) = 1 StoichNum(337,666) = 1 StoichNum(337,667) = -0.695 StoichNum(337,668) = 0.242 StoichNum(337,670) = -0.493 StoichNum(337,671) = -1 StoichNum(337,674) = 0.86 StoichNum(337,678) = -1 StoichNum(337,682) = 0.7 StoichNum(337,686) = 0.5 StoichNum(337,687) = 0.444 StoichNum(337,691) = 0.62 StoichNum(337,694) = 0.5 StoichNum(337,695) = -1 StoichNum(337,702) = 0.7 StoichNum(337,704) = 0.1 StoichNum(337,705) = 0.18 StoichNum(337,707) = 0.03 StoichNum(337,709) = 1 StoichNum(337,710) = -1 StoichNum(337,711) = 1 StoichNum(337,714) = 0.364 StoichNum(337,715) = -1 StoichNum(337,718) = 0.6 StoichNum(337,719) = 1 StoichNum(337,720) = 1 StoichNum(337,724) = 0.54 StoichNum(337,725) = 0.19 StoichNum(337,726) = 0.15 StoichNum(337,728) = 1 StoichNum(337,729) = 1 StoichNum(337,730) = 2 StoichNum(337,731) = 1 StoichNum(337,733) = 1 StoichNum(337,734) = -1 StoichNum(337,737) = -1 StoichNum(337,741) = 0.8 StoichNum(337,743) = 0.727 StoichNum(337,746) = 1 StoichNum(337,750) = -1 StoichNum(337,759) = -1 StoichNum(337,765) = 1 StoichNum(337,766) = 1 StoichNum(337,767) = 0.33 StoichNum(337,768) = 0.1 StoichNum(337,769) = 0.2 StoichNum(337,770) = 0.33 StoichNum(337,771) = 0.1 StoichNum(337,772) = 0.2 StoichNum(337,779) = 1 StoichNum(337,781) = -1 StoichNum(337,887) = 1 StoichNum(337,888) = 1 StoichNum(337,893) = 1 StoichNum(337,897) = 1 StoichNum(337,901) = 0.3 StoichNum(337,902) = 1 StoichNum(337,903) = 1 StoichNum(337,907) = 1.73 StoichNum(337,908) = 2 StoichNum(337,911) = 1 StoichNum(337,913) = 1 StoichNum(337,915) = 1 StoichNum(337,916) = 1 StoichNum(337,917) = 1 StoichNum(337,918) = 1 StoichNum(337,919) = 1 StoichNum(337,920) = 1 StoichNum(337,921) = 1 StoichNum(337,922) = 1 StoichNum(337,923) = 1 StoichNum(337,924) = 1 StoichNum(337,925) = 1 StoichNum(337,926) = 0.27 StoichNum(337,927) = 0.326 StoichNum(337,928) = 1 StoichNum(337,929) = 0.27 StoichNum(337,982) = 1 StoichNum(337,989) = 1 StoichNum(337,990) = 1 StoichNum(337,998) = 1 StoichNum(337,999) = 1 StoichNum(337,1000) = 1 StoichNum(337,1001) = 1 StoichNum(337,1003) = 1 StoichNum(337,1004) = 1 StoichNum(337,1006) = 1 StoichNum(337,1007) = 1.5 StoichNum(337,1008) = 0.47 StoichNum(337,1009) = 0.571 StoichNum(337,1010) = 0.125 StoichNum(337,1011) = 1 StoichNum(337,1013) = 0.29 StoichNum(337,1014) = 1 StoichNum(337,1015) = 1 StoichNum(337,1016) = 1 StoichNum(337,1017) = 1 StoichNum(337,1018) = 1 StoichNum(337,1019) = 1 StoichNum(337,1020) = 0.112 StoichNum(337,1021) = 0.182 StoichNum(337,1022) = 1 StoichNum(337,1023) = 1 StoichNum(337,1024) = 0.45 StoichNum(337,1025) = 1 StoichNum(337,1026) = 1 StoichNum(337,1027) = 0.45 StoichNum(337,1028) = 0.33 StoichNum(337,1029) = 0.159 StoichNum(337,1031) = 0.161 StoichNum(337,1032) = 0.228 StoichNum(337,1033) = 1.5 StoichNum(337,1034) = 1 StoichNum(337,1035) = 0.75 StoichNum(337,1036) = 1 StoichNum(337,1037) = 1.454 StoichNum(337,1038) = 0.7 StoichNum(337,1039) = 0.7 StoichNum(337,1041) = 1 StoichNum(337,1043) = 1 StoichNum(337,1046) = 1 StoichNum(337,1048) = 1 StoichNum(337,1049) = 1 StoichNum(337,1053) = 1 StoichNum(337,1054) = 1 StoichNum(337,1057) = 1 StoichNum(337,1058) = 1 StoichNum(338,253) = 0.22 StoichNum(338,255) = 0.75 StoichNum(338,256) = 0.79 StoichNum(338,257) = 0.46 StoichNum(338,261) = 0.56 StoichNum(338,262) = 0.9 StoichNum(338,263) = 0.86 StoichNum(338,264) = 0.34 StoichNum(338,266) = 0.69 StoichNum(338,267) = 0.65 StoichNum(338,268) = 0.79 StoichNum(338,269) = 0.8 StoichNum(338,270) = 0.85 StoichNum(338,271) = 0.86 StoichNum(338,274) = -1 StoichNum(338,275) = -1 StoichNum(338,276) = -1 StoichNum(338,280) = 1 StoichNum(338,293) = 1 StoichNum(338,297) = 1 StoichNum(338,298) = -1 StoichNum(338,299) = -1 StoichNum(338,300) = -1 StoichNum(338,301) = -1 StoichNum(338,302) = -2 StoichNum(338,303) = -2 StoichNum(338,304) = -2 StoichNum(338,307) = -2 StoichNum(338,308) = 2 StoichNum(338,309) = 0.1 StoichNum(338,310) = -1 StoichNum(338,311) = -1 StoichNum(338,312) = -1 StoichNum(338,313) = 1 StoichNum(338,319) = 1 StoichNum(338,322) = 1 StoichNum(338,323) = 1 StoichNum(338,349) = -1 StoichNum(338,944) = -1 StoichNum(338,945) = 1 StoichNum(338,949) = 1 StoichNum(339,2) = -1 StoichNum(339,5) = -1 StoichNum(339,253) = -0.88 StoichNum(339,276) = 1 StoichNum(339,279) = -1 StoichNum(339,291) = 1 StoichNum(339,292) = 1 StoichNum(339,294) = 1 StoichNum(339,295) = 1 StoichNum(339,296) = 1 StoichNum(339,315) = 2 StoichNum(339,316) = 1 StoichNum(339,317) = 1 StoichNum(339,318) = 1 StoichNum(339,320) = 1 StoichNum(339,321) = 1 StoichNum(339,324) = 1 StoichNum(339,325) = 1 StoichNum(339,326) = 1 StoichNum(339,327) = 1 StoichNum(339,328) = 1 StoichNum(339,329) = 1 StoichNum(339,330) = 1 StoichNum(339,331) = 1 StoichNum(339,332) = 1 StoichNum(339,787) = -1 StoichNum(339,794) = -1 StoichNum(339,796) = -1 StoichNum(339,804) = -1 StoichNum(339,808) = -1 StoichNum(339,812) = 1 StoichNum(339,814) = -1 StoichNum(340,253) = 0.66 StoichNum(340,255) = 0.75 StoichNum(340,256) = 2.37 StoichNum(340,257) = 0.35 StoichNum(340,261) = 0.19 StoichNum(340,262) = 1.8 StoichNum(340,263) = 0.86 StoichNum(340,264) = 0.31 StoichNum(340,266) = 0.69 StoichNum(340,268) = 0.79 StoichNum(340,269) = 1.9 StoichNum(340,270) = 0.95 StoichNum(340,273) = 1 StoichNum(340,275) = 1 StoichNum(340,279) = 1 StoichNum(340,283) = 1 StoichNum(340,284) = 2 StoichNum(340,285) = 3 StoichNum(340,286) = 3 StoichNum(340,287) = 1 StoichNum(340,288) = 2 StoichNum(340,289) = 1 StoichNum(340,290) = 2 StoichNum(340,291) = -1 StoichNum(340,292) = -1 StoichNum(340,293) = -1 StoichNum(340,294) = -1 StoichNum(340,295) = -1 StoichNum(340,296) = -1 StoichNum(340,297) = -1 StoichNum(340,298) = 1 StoichNum(340,300) = 1 StoichNum(340,303) = 1 StoichNum(340,304) = 1 StoichNum(340,305) = -1 StoichNum(340,306) = 1 StoichNum(340,309) = -1 StoichNum(340,314) = -1 StoichNum(340,315) = -1 StoichNum(340,316) = 1 StoichNum(340,317) = 2 StoichNum(340,318) = -1 StoichNum(340,319) = -1 StoichNum(340,320) = -1 StoichNum(340,321) = -1 StoichNum(340,322) = -1 StoichNum(340,323) = -1 StoichNum(340,324) = -1 StoichNum(340,325) = -1 StoichNum(340,326) = -1 StoichNum(340,327) = -1 StoichNum(340,328) = -1 StoichNum(340,329) = -1 StoichNum(340,330) = -1 StoichNum(340,331) = -1 StoichNum(340,332) = -1 StoichNum(340,349) = 0.249 StoichNum(340,940) = 1 StoichNum(340,941) = 2 StoichNum(340,942) = 1 StoichNum(340,943) = 2 StoichNum(340,944) = 1 StoichNum(340,946) = 1 StoichNum(340,947) = 1 StoichNum(340,948) = 1 StoichNum(340,950) = 1 StoichNum(340,951) = 3 StoichNum(340,952) = 4 StoichNum(340,953) = 3 StoichNum(340,954) = 2 StoichNum(340,955) = 3 StoichNum(340,956) = 2 StoichNum(340,957) = 1 StoichNum(340,958) = 2 StoichNum(340,959) = 2 StoichNum(340,960) = 1 StoichNum(340,961) = 1 StoichNum(340,963) = 1 StoichNum(340,965) = 1 StoichNum(340,976) = 1 StoichNum(340,981) = 1 StoichNum(341,1) = -1 StoichNum(341,4) = -1 StoichNum(341,8) = -1 StoichNum(341,13) = -1 StoichNum(341,14) = -1 StoichNum(341,15) = -1 StoichNum(341,16) = -1 StoichNum(341,17) = -1 StoichNum(341,77) = -1 StoichNum(341,128) = 0.15 StoichNum(341,148) = 0.15 StoichNum(341,150) = -1 StoichNum(341,158) = 0.15 StoichNum(341,203) = -1 StoichNum(341,232) = 1 StoichNum(341,233) = -1 StoichNum(341,237) = -1 StoichNum(341,246) = -1 StoichNum(341,293) = -1 StoichNum(341,350) = -1 StoichNum(341,367) = -1 StoichNum(341,379) = -1 StoichNum(341,381) = -1 StoichNum(341,383) = -1 StoichNum(341,391) = 0.15 StoichNum(341,421) = -1 StoichNum(341,424) = -1 StoichNum(341,427) = -1 StoichNum(341,436) = 0.15 StoichNum(341,448) = -1 StoichNum(341,451) = -1 StoichNum(341,454) = -1 StoichNum(341,483) = -1 StoichNum(341,493) = -1 StoichNum(341,645) = -1 StoichNum(341,648) = -1 StoichNum(341,671) = 0.13 StoichNum(341,678) = 0.13 StoichNum(341,695) = 0.13 StoichNum(341,704) = -1 StoichNum(341,712) = -1 StoichNum(341,737) = 0.15 StoichNum(341,746) = -1 StoichNum(341,750) = 0.15 StoichNum(341,761) = -1 StoichNum(341,768) = -1 StoichNum(341,771) = -1 StoichNum(341,820) = -1 StoichNum(341,821) = -1 StoichNum(341,822) = -1 StoichNum(341,882) = -1 StoichNum(341,883) = -1 StoichNum(342,203) = -1 StoichNum(342,205) = -1 StoichNum(342,206) = 1 StoichNum(342,207) = 2 StoichNum(342,209) = 1 StoichNum(342,210) = -1 StoichNum(342,211) = 1 StoichNum(342,213) = 1 StoichNum(342,214) = 1 StoichNum(342,215) = -1 StoichNum(342,216) = -1 StoichNum(342,217) = -1 StoichNum(342,218) = -1 StoichNum(342,219) = -1 StoichNum(342,220) = -1 StoichNum(342,221) = -1 StoichNum(342,223) = 3 StoichNum(342,224) = 2 StoichNum(342,225) = 1 StoichNum(342,251) = 1 StoichNum(342,254) = 0.6 StoichNum(342,258) = 0.56 StoichNum(342,259) = 0.95 StoichNum(342,260) = 1.4 StoichNum(342,264) = 0.34 StoichNum(342,272) = 0.75 StoichNum(342,310) = 1 StoichNum(342,311) = 1 StoichNum(342,333) = -1 StoichNum(342,343) = 1 StoichNum(342,344) = 1 StoichNum(342,931) = 2 StoichNum(342,932) = 1 StoichNum(342,933) = 1 StoichNum(342,934) = 1 StoichNum(342,936) = 1 StoichNum(342,937) = 3 StoichNum(342,938) = 2 StoichNum(342,939) = 1 StoichNum(342,942) = 1 StoichNum(342,962) = 1 StoichNum(342,963) = 1 StoichNum(342,964) = 2 StoichNum(342,977) = 1 StoichNum(342,980) = 1 StoichNum(343,18) = 1 StoichNum(343,212) = -1 StoichNum(343,213) = -1 StoichNum(343,227) = 1 StoichNum(343,228) = 1 StoichNum(343,232) = -1 StoichNum(343,233) = -1 StoichNum(343,235) = -1 StoichNum(343,236) = -1 StoichNum(343,237) = 1 StoichNum(343,238) = -1 StoichNum(343,240) = -1 StoichNum(343,241) = -1 StoichNum(343,242) = -1 StoichNum(343,243) = -1 StoichNum(343,244) = -1 StoichNum(343,247) = 0.02 StoichNum(343,248) = 1 StoichNum(343,249) = 1 StoichNum(343,250) = 1 StoichNum(343,251) = -1 StoichNum(343,252) = -1 StoichNum(343,253) = 0.12 StoichNum(343,254) = 0.2 StoichNum(343,255) = 0.25 StoichNum(343,256) = 0.21 StoichNum(343,257) = 0.1 StoichNum(343,259) = 0.05 StoichNum(343,260) = 0.3 StoichNum(343,261) = 0.25 StoichNum(343,262) = 0.1 StoichNum(343,263) = 0.14 StoichNum(343,264) = 0.35 StoichNum(343,265) = 0.55 StoichNum(343,266) = 0.31 StoichNum(343,267) = 0.35 StoichNum(343,268) = 0.21 StoichNum(343,269) = 0.1 StoichNum(343,270) = 0.1 StoichNum(343,271) = 0.14 StoichNum(343,272) = 0.25 StoichNum(343,298) = -1 StoichNum(343,313) = -1 StoichNum(343,882) = 1 StoichNum(343,884) = 2 StoichNum(343,885) = 1 StoichNum(343,894) = 1 StoichNum(343,932) = 1 StoichNum(343,944) = 1 StoichNum(343,945) = 1 StoichNum(343,968) = 1 StoichNum(343,988) = 1 StoichNum(344,5) = 1 StoichNum(344,790) = -1 StoichNum(344,792) = -1 StoichNum(344,801) = -1 StoichNum(344,803) = -1 StoichNum(344,811) = -1 StoichNum(344,816) = -1 StoichNum(344,847) = -1 StoichNum(344,851) = -1 StoichNum(344,855) = -1 StoichNum(345,12) = -1 StoichNum(345,14) = -1 StoichNum(345,15) = 1 StoichNum(345,18) = -2 StoichNum(345,19) = -2 StoichNum(345,20) = -1 StoichNum(345,21) = -1 StoichNum(345,22) = 1 StoichNum(345,24) = -1 StoichNum(345,25) = -1 StoichNum(345,31) = -1 StoichNum(345,32) = -0.7 StoichNum(345,33) = -0.7 StoichNum(345,34) = -1 StoichNum(345,35) = -1 StoichNum(345,36) = -1 StoichNum(345,37) = -1 StoichNum(345,38) = -1 StoichNum(345,41) = -1 StoichNum(345,42) = 1 StoichNum(345,44) = -1 StoichNum(345,47) = -1 StoichNum(345,48) = -1 StoichNum(345,51) = -1 StoichNum(345,55) = -1 StoichNum(345,57) = -1 StoichNum(345,61) = -1 StoichNum(345,62) = -1 StoichNum(345,66) = -1 StoichNum(345,71) = -0.5 StoichNum(345,72) = -1 StoichNum(345,75) = -1 StoichNum(345,80) = -1 StoichNum(345,81) = -1 StoichNum(345,84) = 0.25 StoichNum(345,88) = -1 StoichNum(345,89) = -1 StoichNum(345,102) = -1 StoichNum(345,103) = -1 StoichNum(345,104) = -1 StoichNum(345,105) = -1 StoichNum(345,108) = -1 StoichNum(345,111) = -1 StoichNum(345,118) = 0.15 StoichNum(345,119) = 0.15 StoichNum(345,122) = -1 StoichNum(345,126) = -1 StoichNum(345,128) = 0.44 StoichNum(345,140) = -1 StoichNum(345,141) = -1 StoichNum(345,148) = 0.44 StoichNum(345,149) = -1 StoichNum(345,150) = 0.36 StoichNum(345,151) = -0.773 StoichNum(345,153) = -1 StoichNum(345,158) = 0.44 StoichNum(345,160) = -1 StoichNum(345,161) = -1 StoichNum(345,163) = -1 StoichNum(345,164) = -1 StoichNum(345,167) = -1 StoichNum(345,169) = -0.209 StoichNum(345,170) = -0.36 StoichNum(345,171) = -0.36 StoichNum(345,172) = -0.209 StoichNum(345,173) = -0.21 StoichNum(345,174) = -0.21 StoichNum(345,175) = -1 StoichNum(345,176) = -0.209 StoichNum(345,178) = -0.78 StoichNum(345,199) = -1 StoichNum(345,200) = -1 StoichNum(345,202) = -1 StoichNum(345,206) = -1 StoichNum(345,211) = -1 StoichNum(345,212) = 1 StoichNum(345,213) = 1 StoichNum(345,214) = -1 StoichNum(345,223) = -1 StoichNum(345,224) = -1 StoichNum(345,225) = -1 StoichNum(345,226) = 2 StoichNum(345,229) = 1 StoichNum(345,231) = 0.75 StoichNum(345,234) = -1 StoichNum(345,235) = -1 StoichNum(345,236) = 1 StoichNum(345,239) = -1 StoichNum(345,244) = 1 StoichNum(345,246) = 1 StoichNum(345,247) = 1.788 StoichNum(345,252) = 1 StoichNum(345,253) = 0.66 StoichNum(345,254) = 0.6 StoichNum(345,261) = 0.05 StoichNum(345,273) = -1 StoichNum(345,275) = -1 StoichNum(345,276) = -1 StoichNum(345,277) = -1 StoichNum(345,278) = -1 StoichNum(345,279) = -1 StoichNum(345,280) = -1 StoichNum(345,281) = -1 StoichNum(345,282) = -1 StoichNum(345,283) = -1 StoichNum(345,284) = -1 StoichNum(345,285) = -1 StoichNum(345,286) = -1 StoichNum(345,287) = -1 StoichNum(345,288) = -1 StoichNum(345,289) = -1 StoichNum(345,290) = -1 StoichNum(345,297) = 1 StoichNum(345,352) = -1 StoichNum(345,353) = -1 StoichNum(345,354) = -1 StoichNum(345,359) = -1 StoichNum(345,360) = -1 StoichNum(345,361) = -1 StoichNum(345,378) = -1 StoichNum(345,379) = 0.865 StoichNum(345,380) = -1 StoichNum(345,381) = 0.8 StoichNum(345,382) = -1 StoichNum(345,383) = 0.65 StoichNum(345,387) = -1 StoichNum(345,388) = -1 StoichNum(345,390) = -1 StoichNum(345,391) = 0.44 StoichNum(345,396) = -1 StoichNum(345,397) = -1 StoichNum(345,402) = -1 StoichNum(345,403) = -1 StoichNum(345,407) = -1 StoichNum(345,408) = -1 StoichNum(345,409) = -1 StoichNum(345,415) = -1 StoichNum(345,416) = -1 StoichNum(345,420) = -1 StoichNum(345,421) = 0.6 StoichNum(345,423) = -1 StoichNum(345,424) = 0.865 StoichNum(345,426) = -1 StoichNum(345,433) = -1 StoichNum(345,435) = -1 StoichNum(345,436) = 0.44 StoichNum(345,441) = -1 StoichNum(345,442) = -1 StoichNum(345,447) = -0.7 StoichNum(345,448) = 0.3 StoichNum(345,449) = 0.15 StoichNum(345,450) = -1 StoichNum(345,453) = -1 StoichNum(345,454) = 1 StoichNum(345,481) = -1 StoichNum(345,482) = -1 StoichNum(345,488) = -1 StoichNum(345,489) = -1 StoichNum(345,490) = -1 StoichNum(345,491) = -1 StoichNum(345,492) = -1 StoichNum(345,493) = 0.28 StoichNum(345,494) = -1 StoichNum(345,495) = -1 StoichNum(345,496) = 0.5 StoichNum(345,497) = 0.5 StoichNum(345,498) = 0.063 StoichNum(345,500) = 0.063 StoichNum(345,502) = 1 StoichNum(345,503) = 1.5 StoichNum(345,504) = 1 StoichNum(345,505) = 1.5 StoichNum(345,509) = 1 StoichNum(345,510) = 1 StoichNum(345,511) = 1 StoichNum(345,513) = 0.5 StoichNum(345,515) = 0.5 StoichNum(345,519) = 0.55 StoichNum(345,523) = 0.55 StoichNum(345,524) = 0.085 StoichNum(345,525) = 0.165 StoichNum(345,528) = 0.065 StoichNum(345,530) = -1 StoichNum(345,531) = -1 StoichNum(345,533) = -1 StoichNum(345,535) = -1 StoichNum(345,536) = -1 StoichNum(345,537) = -0.595 StoichNum(345,538) = -0.255 StoichNum(345,539) = 1 StoichNum(345,542) = 0.275 StoichNum(345,543) = 1 StoichNum(345,546) = 0.275 StoichNum(345,548) = 1 StoichNum(345,550) = 1.3 StoichNum(345,551) = -1 StoichNum(345,552) = -1 StoichNum(345,553) = -1 StoichNum(345,554) = -1 StoichNum(345,555) = -1 StoichNum(345,557) = 1 StoichNum(345,558) = 0.65 StoichNum(345,562) = 1 StoichNum(345,565) = 0.65 StoichNum(345,566) = 0.65 StoichNum(345,569) = 1 StoichNum(345,570) = 1 StoichNum(345,571) = 2 StoichNum(345,572) = 1 StoichNum(345,573) = 2 StoichNum(345,574) = -1 StoichNum(345,575) = -1 StoichNum(345,576) = -1 StoichNum(345,577) = -1 StoichNum(345,578) = -1 StoichNum(345,579) = -1 StoichNum(345,580) = -1 StoichNum(345,581) = -1 StoichNum(345,582) = -0.4 StoichNum(345,583) = -0.4 StoichNum(345,585) = 0.518 StoichNum(345,589) = 0.599 StoichNum(345,594) = 0.582 StoichNum(345,597) = 0.506 StoichNum(345,600) = 0.379 StoichNum(345,604) = 0.527 StoichNum(345,621) = -1 StoichNum(345,622) = -1 StoichNum(345,625) = -1 StoichNum(345,626) = -1 StoichNum(345,627) = -1 StoichNum(345,629) = 1 StoichNum(345,630) = 1 StoichNum(345,631) = 1.147 StoichNum(345,632) = 0.646 StoichNum(345,633) = 0.435 StoichNum(345,635) = 0.096 StoichNum(345,637) = -1 StoichNum(345,638) = -0.756 StoichNum(345,640) = 1 StoichNum(345,641) = -1 StoichNum(345,643) = 0.82 StoichNum(345,644) = -1 StoichNum(345,645) = 0.08 StoichNum(345,646) = -1 StoichNum(345,647) = -1 StoichNum(345,648) = 0.12 StoichNum(345,649) = 0.68 StoichNum(345,650) = -0.98 StoichNum(345,653) = -1 StoichNum(345,656) = 1 StoichNum(345,659) = 1 StoichNum(345,661) = -0.715 StoichNum(345,663) = -1 StoichNum(345,665) = -1 StoichNum(345,666) = -1 StoichNum(345,667) = 0.665 StoichNum(345,670) = 0.59 StoichNum(345,671) = 0.5 StoichNum(345,672) = -0.415 StoichNum(345,673) = 1 StoichNum(345,678) = 0.5 StoichNum(345,684) = -1 StoichNum(345,685) = -0.3 StoichNum(345,686) = -0.5 StoichNum(345,687) = -0.556 StoichNum(345,690) = -1 StoichNum(345,691) = -0.7 StoichNum(345,693) = -1 StoichNum(345,694) = -0.5 StoichNum(345,695) = 0.5 StoichNum(345,701) = -1 StoichNum(345,702) = -1 StoichNum(345,704) = 0.18 StoichNum(345,705) = -1 StoichNum(345,707) = -1 StoichNum(345,710) = 1 StoichNum(345,711) = -1 StoichNum(345,713) = -1 StoichNum(345,714) = -0.364 StoichNum(345,721) = -1 StoichNum(345,722) = -1 StoichNum(345,724) = -1 StoichNum(345,725) = -1 StoichNum(345,726) = -1 StoichNum(345,727) = 1 StoichNum(345,732) = -1 StoichNum(345,735) = -1 StoichNum(345,737) = 0.44 StoichNum(345,740) = -1 StoichNum(345,741) = -1 StoichNum(345,743) = -1 StoichNum(345,745) = -1 StoichNum(345,746) = 1 StoichNum(345,748) = -1 StoichNum(345,750) = 0.2 StoichNum(345,753) = -1 StoichNum(345,755) = -1 StoichNum(345,760) = -1 StoichNum(345,763) = -1 StoichNum(345,767) = -0.75 StoichNum(345,768) = 0.1 StoichNum(345,770) = -0.75 StoichNum(345,771) = 0.1 StoichNum(345,780) = -1 StoichNum(345,791) = -1 StoichNum(345,792) = -1 StoichNum(345,886) = 2 StoichNum(345,887) = 1 StoichNum(345,890) = 1 StoichNum(345,891) = 1 StoichNum(345,892) = 1 StoichNum(345,907) = 0.07 StoichNum(345,917) = 1 StoichNum(345,918) = 1 StoichNum(345,919) = 1 StoichNum(345,920) = 1 StoichNum(345,921) = 1 StoichNum(345,922) = 1 StoichNum(345,923) = 1 StoichNum(345,924) = 1 StoichNum(345,925) = 1 StoichNum(345,930) = 1 StoichNum(345,933) = 1 StoichNum(345,950) = 1 StoichNum(345,967) = 1 StoichNum(345,984) = 1 StoichNum(345,987) = 2 StoichNum(345,989) = 1 StoichNum(345,1002) = 2 StoichNum(345,1003) = 1 StoichNum(345,1008) = 1 StoichNum(345,1009) = 1 StoichNum(345,1010) = 1.75 StoichNum(345,1011) = 1 StoichNum(345,1012) = 0.75 StoichNum(345,1013) = 0.01 StoichNum(345,1015) = 1 StoichNum(345,1016) = 1 StoichNum(345,1017) = 1 StoichNum(345,1018) = 1 StoichNum(345,1019) = 1 StoichNum(345,1020) = 1.662 StoichNum(345,1021) = 1.637 StoichNum(345,1022) = 1 StoichNum(345,1023) = 1 StoichNum(345,1024) = 0.55 StoichNum(345,1027) = 0.55 StoichNum(345,1028) = 0.67 StoichNum(345,1029) = 1 StoichNum(345,1031) = 0.645 StoichNum(345,1033) = 0.5 StoichNum(345,1034) = 1 StoichNum(345,1035) = 1.25 StoichNum(345,1036) = 1 StoichNum(345,1037) = 0.546 StoichNum(345,1038) = 1 StoichNum(345,1039) = 0.3 StoichNum(345,1040) = 1 StoichNum(345,1042) = 1 StoichNum(345,1044) = 1 StoichNum(345,1048) = 1 StoichNum(345,1050) = 1 StoichNum(345,1051) = 1 StoichNum(345,1052) = 1 StoichNum(345,1053) = 1 StoichNum(345,1054) = 1 StoichNum(345,1055) = 1 StoichNum(345,1056) = 1 StoichNum(345,1057) = 1 StoichNum(346,13) = -1 StoichNum(346,22) = -1 StoichNum(346,26) = -1 StoichNum(346,27) = -1 StoichNum(346,37) = -1 StoichNum(346,43) = -1 StoichNum(346,49) = 1 StoichNum(346,56) = -1 StoichNum(346,58) = -1 StoichNum(346,59) = -1 StoichNum(346,60) = -1 StoichNum(346,63) = -1 StoichNum(346,64) = -1 StoichNum(346,65) = -1 StoichNum(346,68) = -1 StoichNum(346,69) = -1 StoichNum(346,73) = -1 StoichNum(346,78) = -1 StoichNum(346,82) = -1 StoichNum(346,85) = -1 StoichNum(346,90) = -1 StoichNum(346,91) = -1 StoichNum(346,92) = -1 StoichNum(346,93) = -1 StoichNum(346,94) = -1 StoichNum(346,95) = -1 StoichNum(346,96) = -1 StoichNum(346,97) = -1 StoichNum(346,98) = -1 StoichNum(346,99) = -1 StoichNum(346,100) = -1 StoichNum(346,109) = -1 StoichNum(346,123) = -1 StoichNum(346,127) = -1 StoichNum(346,157) = -1 StoichNum(346,209) = -1 StoichNum(346,230) = 1.22 StoichNum(346,240) = 1 StoichNum(346,242) = -1 StoichNum(346,248) = 1 StoichNum(346,249) = -1 StoichNum(346,300) = -1 StoichNum(346,334) = -1 StoichNum(346,335) = 2 StoichNum(346,348) = -1 StoichNum(346,356) = -1 StoichNum(346,363) = -1 StoichNum(346,370) = -1 StoichNum(346,385) = -1 StoichNum(346,392) = -1 StoichNum(346,399) = -1 StoichNum(346,405) = -1 StoichNum(346,411) = -1 StoichNum(346,412) = -1 StoichNum(346,418) = -1 StoichNum(346,429) = -1 StoichNum(346,437) = -1 StoichNum(346,444) = -1 StoichNum(346,445) = -1 StoichNum(346,468) = -1 StoichNum(346,469) = -1 StoichNum(346,516) = -1 StoichNum(346,517) = -1 StoichNum(346,518) = -1 StoichNum(346,519) = -1 StoichNum(346,520) = -1 StoichNum(346,521) = -1 StoichNum(346,522) = -1 StoichNum(346,523) = -1 StoichNum(346,540) = -1 StoichNum(346,541) = -1 StoichNum(346,544) = -1 StoichNum(346,545) = -1 StoichNum(346,548) = -1 StoichNum(346,549) = -1 StoichNum(346,559) = -1 StoichNum(346,560) = -1 StoichNum(346,563) = -1 StoichNum(346,564) = -1 StoichNum(346,567) = -1 StoichNum(346,568) = -1 StoichNum(346,570) = -1 StoichNum(346,572) = -1 StoichNum(346,586) = -1 StoichNum(346,587) = -1 StoichNum(346,590) = -1 StoichNum(346,591) = -1 StoichNum(346,595) = -1 StoichNum(346,596) = -1 StoichNum(346,598) = -1 StoichNum(346,599) = -1 StoichNum(346,601) = -1 StoichNum(346,602) = -1 StoichNum(346,615) = -1 StoichNum(346,616) = -1 StoichNum(346,617) = -1 StoichNum(346,618) = -1 StoichNum(346,633) = -1 StoichNum(346,634) = -1 StoichNum(346,635) = -1 StoichNum(346,636) = -1 StoichNum(346,639) = -1 StoichNum(346,642) = -1 StoichNum(346,655) = -1 StoichNum(346,658) = -1 StoichNum(346,668) = -1 StoichNum(346,669) = -1 StoichNum(346,674) = -1 StoichNum(346,675) = -1 StoichNum(346,676) = -1 StoichNum(346,679) = -1 StoichNum(346,709) = -1 StoichNum(346,716) = -1 StoichNum(346,728) = -1 StoichNum(346,733) = -1 StoichNum(346,736) = -1 StoichNum(346,751) = -1 StoichNum(346,757) = -1 StoichNum(346,885) = 1 StoichNum(346,891) = 1 StoichNum(346,895) = 1 StoichNum(346,970) = 1 StoichNum(346,988) = -1 StoichNum(347,203) = 1 StoichNum(347,204) = -1 StoichNum(347,207) = -2 StoichNum(347,208) = -2 StoichNum(347,209) = -1 StoichNum(347,212) = 1 StoichNum(347,214) = -1 StoichNum(347,215) = 1 StoichNum(347,222) = -1 StoichNum(347,251) = -1 StoichNum(347,254) = 0.2 StoichNum(347,258) = 0.44 StoichNum(347,259) = 0.95 StoichNum(347,260) = 0.7 StoichNum(347,264) = 0.31 StoichNum(347,265) = 0.45 StoichNum(347,272) = 0.75 StoichNum(347,310) = -1 StoichNum(347,311) = -1 StoichNum(347,312) = -1 StoichNum(347,343) = -1 StoichNum(347,344) = -1 StoichNum(347,932) = -1 StoichNum(347,935) = 1 StoichNum(348,1) = -1 StoichNum(348,4) = -1 StoichNum(348,7) = -1 StoichNum(348,8) = -1 StoichNum(348,9) = -1 StoichNum(348,10) = -1 StoichNum(348,11) = 1 StoichNum(348,12) = -1 StoichNum(348,199) = 1 StoichNum(348,200) = 0.75 StoichNum(348,201) = 1 StoichNum(348,202) = -1 StoichNum(348,238) = 1 StoichNum(348,239) = 1 StoichNum(348,368) = -1 StoichNum(348,372) = -1 StoichNum(348,812) = -1 StoichNum(348,819) = -1 StoichNum(348,986) = 1 StoichNum(348,987) = 1 StoichNum(349,798) = -1 StoichNum(349,805) = -1 StoichNum(349,817) = -1 StoichNum(349,821) = -1 StoichNum(349,823) = 1 StoichNum(349,844) = -1 StoichNum(349,848) = -1 StoichNum(349,852) = -1 StoichNum(350,799) = -1 StoichNum(350,806) = -1 StoichNum(350,818) = -1 StoichNum(350,822) = -1 StoichNum(350,824) = 1 StoichNum(350,845) = -1 StoichNum(350,849) = -1 StoichNum(350,853) = -1 StoichNum(351,16) = 1 StoichNum(351,36) = 1 StoichNum(351,42) = -1 StoichNum(351,43) = -1 StoichNum(351,44) = -1 StoichNum(351,45) = -1 StoichNum(351,46) = 1 StoichNum(351,49) = -1 StoichNum(351,50) = -1 StoichNum(351,52) = -1 StoichNum(351,67) = -1 StoichNum(351,76) = -1 StoichNum(351,88) = 1 StoichNum(351,101) = -1 StoichNum(351,110) = -1 StoichNum(351,131) = -1 StoichNum(351,154) = -1 StoichNum(351,159) = -1 StoichNum(351,162) = -1 StoichNum(351,165) = -1 StoichNum(351,166) = -1 StoichNum(351,179) = -1 StoichNum(351,196) = -2 StoichNum(351,201) = -1 StoichNum(351,210) = 1 StoichNum(351,215) = -1 StoichNum(351,241) = -1 StoichNum(351,243) = 1 StoichNum(351,282) = 1 StoichNum(351,313) = 1 StoichNum(351,314) = 1 StoichNum(351,339) = -1 StoichNum(351,342) = 1 StoichNum(351,364) = 1 StoichNum(351,371) = 1 StoichNum(351,375) = -1 StoichNum(351,376) = -1 StoichNum(351,377) = -1 StoichNum(351,386) = -1 StoichNum(351,389) = -1 StoichNum(351,395) = -1 StoichNum(351,400) = -1 StoichNum(351,406) = -1 StoichNum(351,414) = -1 StoichNum(351,419) = -1 StoichNum(351,422) = -1 StoichNum(351,425) = -1 StoichNum(351,428) = -1 StoichNum(351,431) = -1 StoichNum(351,434) = -1 StoichNum(351,440) = -1 StoichNum(351,446) = -1 StoichNum(351,449) = -1 StoichNum(351,452) = -1 StoichNum(351,455) = -1 StoichNum(351,476) = -1 StoichNum(351,477) = -1 StoichNum(351,484) = -1 StoichNum(351,485) = -1 StoichNum(351,488) = 1 StoichNum(351,603) = -1 StoichNum(351,613) = -1 StoichNum(351,614) = -1 StoichNum(351,649) = -1 StoichNum(351,650) = 0.69 StoichNum(351,681) = -1 StoichNum(351,684) = 1 StoichNum(351,692) = -1 StoichNum(351,703) = -1 StoichNum(351,706) = -1 StoichNum(351,708) = -1 StoichNum(351,717) = -1 StoichNum(351,729) = -1 StoichNum(351,742) = -1 StoichNum(351,744) = -1 StoichNum(351,747) = -1 StoichNum(351,749) = -1 StoichNum(351,756) = 1 StoichNum(351,758) = -1 StoichNum(351,764) = -1 StoichNum(351,779) = -1 StoichNum(351,783) = -1 StoichNum(351,784) = -1 StoichNum(351,785) = -1 StoichNum(351,892) = 1 StoichNum(351,894) = -1 StoichNum(351,895) = -1 StoichNum(351,896) = 1 StoichNum(351,899) = 0.3 StoichNum(351,934) = 1 StoichNum(351,948) = 1 StoichNum(351,972) = 1 StoichNum(351,982) = 1 StoichNum(351,1047) = 0.3 StoichNum(352,205) = 1 StoichNum(352,206) = -1 StoichNum(352,213) = -1 StoichNum(352,216) = 1 StoichNum(352,217) = 1 StoichNum(352,218) = 1 StoichNum(352,219) = 1 StoichNum(352,220) = 1 StoichNum(352,254) = -0.8 StoichNum(352,333) = 1 StoichNum(352,797) = -1 StoichNum(352,807) = -1 StoichNum(352,809) = -1 StoichNum(352,813) = -1 StoichNum(352,819) = 1 StoichNum(352,820) = -1 StoichNum(352,823) = -1 StoichNum(352,824) = -1 StoichNum(353,2) = 1 StoichNum(353,789) = -1 StoichNum(353,791) = -1 StoichNum(353,800) = -1 StoichNum(353,802) = -1 StoichNum(353,810) = -1 StoichNum(353,815) = -1 StoichNum(353,846) = -1 StoichNum(353,850) = -1 StoichNum(353,854) = -1 END SUBROUTINE CalcStoichNum ! End of CalcStoichNum function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ END MODULE gckpp_Function ================================================ FILE: KPP/fullchem/gckpp_Global.F90 ================================================ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Global Data Module File ! ! Generated by KPP-3.2.0 symbolic chemistry Kinetics PreProcessor ! (https:/github.com/KineticPreProcessor/KPP ! KPP is distributed under GPL, the general public licence ! (http://www.gnu.org/copyleft/gpl.html) ! (C) 1995-1997, V. Damian & A. Sandu, CGRER, Univ. Iowa ! (C) 1997-2022, A. Sandu, Michigan Tech, Virginia Tech ! With important contributions from: ! M. Damian, Villanova University, Philadelphia, PA, USA ! R. Sander, Max-Planck Institute for Chemistry, Mainz, Germany ! M. Long, Renaissance Fiber, LLC, North Carolina, USA ! H. Lin, Harvard University, Cambridge, MA, USA ! R. Yantosca, Harvard University, Cambridge, MA, USA ! ! File : gckpp_Global.F90 ! Equation file : gckpp.kpp ! Output root filename : gckpp ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MODULE gckpp_Global USE gckpp_Parameters, ONLY: dp, NSPEC, NVAR, NFIX, NREACT, LU_NONZERO PUBLIC SAVE ! Declaration of global variables ! ~~~ If you are using KPP within an OpenMP parallel environment, ! ~~~ then these variables must be declared THREADPRIVATE. This means ! ~~~ that the compiler will make a private copy of these variables ! ~~~ (in stack memory) for each execution thread. At the end of ! ~~~ the OpenMP parallel loop, these variables will be finalized, ! ~~~ and their memory deallocated. ! ~~~ ! ~~~ NOTE: Because the OpenMP commands all begin with a comment ! ~~~ character, they will be ignored unless the code is compiled ! ~~~ with OpenMP parallelization turned on. ! C - Concentration of all species REAL(kind=dp), TARGET :: C(NSPEC) !$OMP THREADPRIVATE( C ) ! VAR - Concentrations of variable species (global) REAL(kind=dp), POINTER :: VAR(:) !$OMP THREADPRIVATE( VAR ) ! FIX - Concentrations of fixed species (global) REAL(kind=dp), POINTER :: FIX(:) !$OMP THREADPRIVATE( FIX ) ! RCONST - Rate constants (global) REAL(kind=dp) :: RCONST(NREACT) !$OMP THREADPRIVATE( RCONST ) ! TIME - Current integration time REAL(kind=dp) :: TIME !$OMP THREADPRIVATE( TIME ) ! SUN - Sunlight intensity between [0,1] REAL(kind=dp) :: SUN !$OMP THREADPRIVATE( SUN ) ! TEMP - Temperature REAL(kind=dp) :: TEMP !$OMP THREADPRIVATE( TEMP ) ! ~~~ If you are using KPP within an OpenMP parallel environment, ! ~~~ these variables DO NOT need to be declared THREADPRIVATE. ! TSTART - Integration start time REAL(kind=dp) :: TSTART ! TEND - Integration end time REAL(kind=dp) :: TEND ! DT - Integration step REAL(kind=dp) :: DT ! ATOL - Absolute tolerance REAL(kind=dp) :: ATOL(NVAR) ! RTOL - Relative tolerance REAL(kind=dp) :: RTOL(NVAR) ! STEPMIN - Lower bound for integration step REAL(kind=dp) :: STEPMIN ! STEPMAX - Upper bound for integration step REAL(kind=dp) :: STEPMAX ! DO_JVS - LOGICAL :: DO_JVS(LU_NONZERO) ! DO_SLV - LOGICAL :: DO_SLV(NVAR+1) ! DO_FUN - LOGICAL :: DO_FUN(NVAR) ! cLU_IROW - INTEGER :: cLU_IROW(LU_NONZERO) ! cLU_ICOL - INTEGER :: cLU_ICOL(LU_NONZERO) ! cLU_CROW - INTEGER :: cLU_CROW(NVAR+1) ! cLU_DIAG - INTEGER :: cLU_DIAG(NVAR+1) ! JVS_MAP - INTEGER :: JVS_MAP(LU_NONZERO) ! SPC_MAP - INTEGER :: SPC_MAP(NVAR) ! iSPC_MAP - INTEGER :: iSPC_MAP(NVAR) ! RMV - INTEGER :: RMV(NVAR) ! rNVAR - INTEGER :: rNVAR ! cNONZERO - INTEGER :: cNONZERO ! KEEPSPCACTIVE - LOGICAL :: KEEPSPCACTIVE(NVAR) ! KEEPACTIVE - LOGICAL :: KEEPACTIVE !$OMP THREADPRIVATE( DO_JVS, DO_SLV, DO_FUN, cLU_IROW, cLU_ICOL, cLU_CROW ) !$OMP THREADPRIVATE( cLU_DIAG, JVS_MAP, SPC_MAP, iSPC_MAP, RMV, rNVAR, cNONZERO, KEEPACTIVE ) ! CFACTOR - Conversion factor for concentration units REAL(kind=dp) :: CFACTOR ! Begin inlined code from F90_GLOBAL #include "commonIncludeVars.H" ! End inlined code from F90_GLOBAL END MODULE gckpp_Global ================================================ FILE: KPP/fullchem/gckpp_Initialize.F90 ================================================ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Initialization File ! ! Generated by KPP-3.2.0 symbolic chemistry Kinetics PreProcessor ! (https:/github.com/KineticPreProcessor/KPP ! KPP is distributed under GPL, the general public licence ! (http://www.gnu.org/copyleft/gpl.html) ! (C) 1995-1997, V. Damian & A. Sandu, CGRER, Univ. Iowa ! (C) 1997-2022, A. Sandu, Michigan Tech, Virginia Tech ! With important contributions from: ! M. Damian, Villanova University, Philadelphia, PA, USA ! R. Sander, Max-Planck Institute for Chemistry, Mainz, Germany ! M. Long, Renaissance Fiber, LLC, North Carolina, USA ! H. Lin, Harvard University, Cambridge, MA, USA ! R. Yantosca, Harvard University, Cambridge, MA, USA ! ! File : gckpp_Initialize.F90 ! Equation file : gckpp.kpp ! Output root filename : gckpp ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MODULE gckpp_Initialize USE gckpp_Parameters, ONLY: dp, NVAR, NFIX IMPLICIT NONE CONTAINS ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Initialize - function to initialize concentrations ! Arguments : ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Initialize ( ) USE gckpp_Global USE gckpp_Parameters INTEGER :: i REAL(kind=dp) :: x ! ~~~ Define scale factor for units CFACTOR = 1.000000e+00_dp ! ~~~ Zero C array C = 0.0_dp ! ~~~ Set initial species concentrations ! Begin constant rate coefficients RCONST(126) = 4.51e-12 RCONST(735) = 7.09e-11 ! End constant rate coefficients ! Begin inlined code from F90_INIT ! End inlined code from F90_INIT END SUBROUTINE Initialize ! End of Initialize function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ END MODULE gckpp_Initialize ================================================ FILE: KPP/fullchem/gckpp_Integrator.F90 ================================================ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Numerical Integrator (Time-Stepping) File ! ! Generated by KPP-3.2.0 symbolic chemistry Kinetics PreProcessor ! (https:/github.com/KineticPreProcessor/KPP ! KPP is distributed under GPL, the general public licence ! (http://www.gnu.org/copyleft/gpl.html) ! (C) 1995-1997, V. Damian & A. Sandu, CGRER, Univ. Iowa ! (C) 1997-2022, A. Sandu, Michigan Tech, Virginia Tech ! With important contributions from: ! M. Damian, Villanova University, Philadelphia, PA, USA ! R. Sander, Max-Planck Institute for Chemistry, Mainz, Germany ! M. Long, Renaissance Fiber, LLC, North Carolina, USA ! H. Lin, Harvard University, Cambridge, MA, USA ! R. Yantosca, Harvard University, Cambridge, MA, USA ! ! File : gckpp_Integrator.F90 ! Equation file : gckpp.kpp ! Output root filename : gckpp ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! INTEGRATE - Integrator routine ! Arguments : ! TIN - Start Time for Integration ! TOUT - End Time for Integration ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~! ! Rosenbrock - Implementation of several Rosenbrock methods: ! ! * Ros2 ! ! * Ros3 ! ! * Ros4 ! ! * Rodas3 ! ! * Rodas4 ! ! By default the code employs the KPP sparse linear algebra routines ! ! Compile with -DFULL_ALGEBRA to use full linear algebra (LAPACK) ! ! ! ! (C) Adrian Sandu, August 2004 ! ! Virginia Polytechnic Institute and State University ! ! Contact: sandu@cs.vt.edu ! ! Revised by Philipp Miehe and Adrian Sandu, May 2006 ! ! ! ! Revised by Mike Long and Haipeng Lin to add auto-reduce fun. ! ! Harvard University, Atmospheric Chemistry Modeling Group ! ! Contact: hplin@seas.harvard.edu April 2022 ! ! ! ! This implementation is part of KPP - the Kinetic PreProcessor ! !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~! MODULE gckpp_Integrator USE gckpp_Parameters USE gckpp_Global IMPLICIT NONE PUBLIC SAVE !~~~> Flags to determine if we should call the UPDATE_* routines from within !~~~> the integrator. If using KPP in an external model, you might want to !~~~> disable these calls (via ICNTRL(15)) to avoid excess computations. LOGICAL, PRIVATE :: Do_Update_RCONST LOGICAL, PRIVATE :: Do_Update_PHOTO LOGICAL, PRIVATE :: Do_Update_SUN !~~~> Statistics on the work performed by the Rosenbrock method INTEGER, PARAMETER :: Nfun=1, Njac=2, Nstp=3, Nacc=4, & Nrej=5, Ndec=6, Nsol=7, Nsng=8, & Ntexit=1, Nhexit=2, Nhnew = 3, & NARthr=4 CONTAINS SUBROUTINE INTEGRATE( TIN, TOUT, ICNTRL_U, RCNTRL_U, & ISTATUS_U, RSTATUS_U, IERR_U ) USE gckpp_Util, ONLY : Integrator_Update_Options IMPLICIT NONE REAL(kind=dp), INTENT(IN) :: TIN ! Start Time REAL(kind=dp), INTENT(IN) :: TOUT ! End Time !~~~> Optional input parameters and statistics INTEGER, INTENT(IN), OPTIONAL :: ICNTRL_U(20) REAL(kind=dp), INTENT(IN), OPTIONAL :: RCNTRL_U(20) INTEGER, INTENT(OUT), OPTIONAL :: ISTATUS_U(20) REAL(kind=dp), INTENT(OUT), OPTIONAL :: RSTATUS_U(20) INTEGER, INTENT(OUT), OPTIONAL :: IERR_U REAL(kind=dp) :: RCNTRL(20), RSTATUS(20) INTEGER :: ICNTRL(20), ISTATUS(20), IERR INTEGER, SAVE :: Ntotal = 0 !~~~> Zero input and output arrays for safety's sake ICNTRL = 0 RCNTRL = 0.0_dp ISTATUS = 0 RSTATUS = 0.0_dp !~~~> fine-tune the integrator: ICNTRL(15) = 5 ! Call Update_SUN and Update_RCONST from w/in the int. !~~~> if optional parameters are given, and if they are /= 0, ! then use them to overwrite default settings IF ( PRESENT( ICNTRL_U ) ) THEN WHERE( ICNTRL_U /= 0 ) ICNTRL = ICNTRL_U ENDIF IF ( PRESENT( RCNTRL_U ) ) THEN WHERE( RCNTRL_U > 0 ) RCNTRL = RCNTRL_U ENDIF !~~~> Determine the settings of the Do_Update_* flags, which determine !~~~> whether or not we need to call Update_* routines in the integrator !~~~> (or not, if we are calling them from a higher-level) ! ICNTRL(15) = -1 ! Do not call Update_* functions within the integrator ! = 0 ! Status quo ! = 1 ! Call Update_RCONST from within the integrator ! = 2 ! Call Update_PHOTO from within the integrator ! = 3 ! Call Update_RCONST and Update_PHOTO from w/in the int. ! = 4 ! Call Update_SUN from within the integrator ! = 5 ! Call Update_SUN and Update_RCONST from within the int. ! = 6 ! Call Update_SUN and Update_PHOTO from within the int. ! = 7 ! Call Update_SUN, Update_PHOTO, Update_RCONST w/in int. CALL Integrator_Update_Options( ICNTRL(15), & Do_Update_RCONST, & Do_Update_PHOTO, & Do_Update_Sun ) !~~~> In order to remove the prior EQUIVALENCE statements (which !~~~> are not thread-safe), we now have declared VAR and FIX as !~~~> threadprivate pointer variables that can point to C. VAR => C(1:NVAR ) FIX => C(NVAR+1:NSPEC) !~~~> Call the integrator CALL Rosenbrock( NVAR, VAR, TIN, TOUT, ATOL, RTOL, & RCNTRL, ICNTRL, RSTATUS, ISTATUS, IERR ) !~~~> Free pointers VAR => NULL() FIX => NULL() !~~~> Debug option: show number of steps !Ntotal = Ntotal + ISTATUS(Nstp) !PRINT*,'NSTEPS=',ISTATUS(Nstp),' (',Ntotal,')',' O3=', VAR(ind_O3) STEPMIN = RSTATUS(Nhexit) !~~~> if optional parameters are given for output !~~~> use them to store information in them IF ( PRESENT( ISTATUS_U ) ) ISTATUS_U = ISTATUS IF ( PRESENT( RSTATUS_U ) ) RSTATUS_U = RSTATUS IF ( PRESENT( IERR_U ) ) IERR_U = IERR END SUBROUTINE INTEGRATE !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Rosenbrock(N,Y,Tstart,Tend, & AbsTol,RelTol, & RCNTRL,ICNTRL,RSTATUS,ISTATUS,IERR) !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Solves the system y'=F(t,y) using a Rosenbrock method defined by: ! ! G = 1/(H*gamma(1)) - Jac(t0,Y0) ! T_i = t0 + Alpha(i)*H ! Y_i = Y0 + \sum_{j=1}^{i-1} A(i,j)*K_j ! G * K_i = Fun( T_i, Y_i ) + \sum_{j=1}^S C(i,j)/H * K_j + ! gamma(i)*dF/dT(t0, Y0) ! Y1 = Y0 + \sum_{j=1}^S M(j)*K_j ! ! For details on Rosenbrock methods and their implementation consult: ! E. Hairer and G. Wanner ! "Solving ODEs II. Stiff and differential-algebraic problems". ! Springer series in computational mathematics, Springer-Verlag, 1996. ! The codes contained in the book inspired this implementation. ! ! (C) Adrian Sandu, August 2004 ! Virginia Polytechnic Institute and State University ! Contact: sandu@cs.vt.edu ! Revised by Philipp Miehe and Adrian Sandu, May 2006 ! This implementation is part of KPP - the Kinetic PreProcessor !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! !~~~> INPUT ARGUMENTS: ! !- Y(N) = vector of initial conditions (at T=Tstart) !- [Tstart,Tend] = time range of integration ! (if Tstart>Tend the integration is performed backwards in time) !- RelTol, AbsTol = user precribed accuracy !- SUBROUTINE Fun( T, Y, Ydot ) = ODE function, ! returns Ydot = Y' = F(T,Y) !- SUBROUTINE Jac( T, Y, Jcb ) = Jacobian of the ODE function, ! returns Jcb = dFun/dY !- ICNTRL(1:20) = integer inputs parameters !- RCNTRL(1:20) = real inputs parameters !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! !~~~> OUTPUT ARGUMENTS: ! !- Y(N) -> vector of final states (at T->Tend) !- ISTATUS(1:20) -> integer output parameters !- RSTATUS(1:20) -> real output parameters !- IERR -> job status upon return ! success (positive value) or ! failure (negative value) !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! !~~~> INPUT PARAMETERS: ! ! Note: For input parameters equal to zero the default values of the ! corresponding variables are used. ! ! ICNTRL(1) = 1: F = F(y) Independent of T (AUTONOMOUS) ! = 0: F = F(t,y) Depends on T (NON-AUTONOMOUS) ! ! ICNTRL(2) = 0: AbsTol, RelTol are N-dimensional vectors ! = 1: AbsTol, RelTol are scalars ! ! ICNTRL(3) -> selection of a particular Rosenbrock method ! = 0 : Rodas3 (default) ! = 1 : Ros2 ! = 2 : Ros3 ! = 3 : Ros4 ! = 4 : Rodas3 ! = 5 : Rodas4 ! ! ICNTRL(4) -> maximum number of integration steps ! For ICNTRL(4)=0) the default value of 200000 is used ! ! ICNTRL(12) -> use auto-reduce solver? set threshold in RCNTRL(12) ! ICNTRL(13) -> ... append slow species when auto-reducing? ! ICNTRL(14) -> choose a target species instead for determining threshold? ! if yes, specify idx. then RCNTRL(12) is obsolete. ! ! ICNTRL(15) -> Toggles calling of Update_* functions w/in the integrator ! = -1 : Do not call Update_* functions within the integrator ! = 0 : Status quo ! = 1 : Call Update_RCONST from within the integrator ! = 2 : Call Update_PHOTO from within the integrator ! = 3 : Call Update_RCONST and Update_PHOTO from w/in the int. ! = 4 : Call Update_SUN from within the integrator ! = 5 : Call Update_SUN and Update_RCONST from within the int. ! = 6 : Call Update_SUN and Update_PHOTO from within the int. ! = 7 : Call Update_SUN, Update_PHOTO, Update_RCONST w/in the int. ! ! ICNTRL(16) -> ! = 0 : allow negative concentrations (default) ! = 1 : set negative concentrations to zero ! ! RCNTRL(1) -> Hmin, lower bound for the integration step size ! It is strongly recommended to keep Hmin = ZERO ! RCNTRL(2) -> Hmax, upper bound for the integration step size ! RCNTRL(3) -> Hstart, starting value for the integration step size ! ! RCNTRL(4) -> FacMin, lower bound on step decrease factor (default=0.2) ! RCNTRL(5) -> FacMax, upper bound on step increase factor (default=6) ! RCNTRL(6) -> FacRej, step decrease factor after multiple rejections ! (default=0.1) ! RCNTRL(7) -> FacSafe, by which the new step is slightly smaller ! than the predicted value (default=0.9) ! ! RCNTRL(12) -> threshold for auto-reduction (req. ICNTRL(12)) (default=100) ! RCNTRL(14) -> AR threshold ratio (default=0.01) !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! ! OUTPUT ARGUMENTS: ! ----------------- ! ! T -> T value for which the solution has been computed ! (after successful return T=Tend). ! ! Y(N) -> Numerical solution at T ! ! IDID -> Reports on successfulness upon return: ! = 1 for success ! < 0 for error (value equals error code) ! ! ISTATUS(1) -> No. of function calls ! ISTATUS(2) -> No. of jacobian calls ! ISTATUS(3) -> No. of steps ! ISTATUS(4) -> No. of accepted steps ! ISTATUS(5) -> No. of rejected steps (except at very beginning) ! ISTATUS(6) -> No. of LU decompositions ! ISTATUS(7) -> No. of forward/backward substitutions ! ISTATUS(8) -> No. of singular matrix decompositions ! ! RSTATUS(1) -> Texit, the time corresponding to the ! computed Y upon return ! RSTATUS(2) -> Hexit, last accepted step before exit ! RSTATUS(3) -> Hnew, last predicted step (not yet taken) ! For multiple restarts, use Hnew as Hstart ! in the subsequent run ! RSTATUS(4) -> ARthr, last auto-reduction threshold determined ! only if AR is on (ICNTRL(12)) and key spc (ICNTRL(14)) ! !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ USE gckpp_Parameters USE gckpp_LinearAlgebra IMPLICIT NONE !~~~> Arguments INTEGER, INTENT(IN) :: N REAL(kind=dp), INTENT(INOUT) :: Y(N) REAL(kind=dp), INTENT(IN) :: Tstart,Tend REAL(kind=dp), INTENT(IN) :: AbsTol(N),RelTol(N) INTEGER, INTENT(IN) :: ICNTRL(20) REAL(kind=dp), INTENT(IN) :: RCNTRL(20) INTEGER, INTENT(INOUT) :: ISTATUS(20) REAL(kind=dp), INTENT(INOUT) :: RSTATUS(20) INTEGER, INTENT(OUT) :: IERR !~~~> Parameters of the Rosenbrock method, up to 6 stages INTEGER :: ros_S, rosMethod INTEGER, PARAMETER :: RS2=1, RS3=2, RS4=3, RD3=4, RD4=5, RG3=6 REAL(kind=dp) :: ros_A(15), ros_C(15), ros_M(6), ros_E(6), & ros_Alpha(6), ros_Gamma(6), ros_ELO LOGICAL :: ros_NewF(6) CHARACTER(LEN=12) :: ros_Name !~~~> Local variables REAL(kind=dp) :: Roundoff, FacMin, FacMax, FacRej, FacSafe REAL(kind=dp) :: Hmin, Hmax, Hstart REAL(kind=dp) :: Texit, Redux_Threshold INTEGER :: i, UplimTol, Max_no_steps LOGICAL :: Autonomous, VectorTol, Autoreduce, Autoreduce_Append INTEGER :: AR_target_spc REAL(kind=dp) :: AR_thr_ratio !~~~> Parameters REAL(kind=dp), PARAMETER :: ZERO = 0.0_dp, ONE = 1.0_dp REAL(kind=dp), PARAMETER :: DeltaMin = 1.0E-5_dp !~~~> Initialize statistics ISTATUS(1:8) = 0 RSTATUS(1:4) = ZERO !~~~> Autonomous or time dependent ODE. Default is time dependent. Autonomous = .NOT.(ICNTRL(1) == 0) !~~~> For Scalar tolerances (ICNTRL(2).NE.0) the code uses AbsTol(1) and RelTol(1) ! For Vector tolerances (ICNTRL(2) == 0) the code uses AbsTol(1:N) and RelTol(1:N) IF (ICNTRL(2) == 0) THEN VectorTol = .TRUE. UplimTol = N ELSE VectorTol = .FALSE. UplimTol = 1 END IF !~~~> Initialize the particular Rosenbrock method selected SELECT CASE (ICNTRL(3)) CASE (1) CALL Ros2 CASE (2) CALL Ros3 CASE (3) CALL Ros4 CASE (0,4) CALL Rodas3 CASE (5) CALL Rodas4 CASE (6) CALL Rang3 CASE DEFAULT PRINT * , 'Unknown Rosenbrock method: ICNTRL(3)=',ICNTRL(3) CALL ros_ErrorMsg(-2,Tstart,ZERO,IERR) RETURN END SELECT !~~~> The maximum number of steps admitted IF (ICNTRL(4) == 0) THEN Max_no_steps = 200000 ELSEIF (ICNTRL(4) > 0) THEN Max_no_steps=ICNTRL(4) ELSE PRINT * ,'User-selected max no. of steps: ICNTRL(4)=',ICNTRL(4) CALL ros_ErrorMsg(-1,Tstart,ZERO,IERR) RETURN END IF !~~~> Auto-reduction toggle Autoreduce = .false. IF (ICNTRL(12) == 1) Autoreduce = .true. Autoreduce_Append = ICNTRL(13) == 1 !~~~> Target species (if zero, uses the regular threshold) AR_target_spc = ICNTRL(14) !~~~> Unit roundoff (1+Roundoff>1) Roundoff = WLAMCH('E') !~~~> Lower bound on the step size: (positive value) IF (RCNTRL(1) == ZERO) THEN Hmin = ZERO ELSEIF (RCNTRL(1) > ZERO) THEN Hmin = RCNTRL(1) ELSE PRINT * , 'User-selected Hmin: RCNTRL(1)=', RCNTRL(1) CALL ros_ErrorMsg(-3,Tstart,ZERO,IERR) RETURN END IF !~~~> Upper bound on the step size: (positive value) IF (RCNTRL(2) == ZERO) THEN Hmax = ABS(Tend-Tstart) ELSEIF (RCNTRL(2) > ZERO) THEN Hmax = MIN(ABS(RCNTRL(2)),ABS(Tend-Tstart)) ELSE PRINT * , 'User-selected Hmax: RCNTRL(2)=', RCNTRL(2) CALL ros_ErrorMsg(-3,Tstart,ZERO,IERR) RETURN END IF !~~~> Starting step size: (positive value) IF (RCNTRL(3) == ZERO) THEN Hstart = MAX(Hmin,DeltaMin) ELSEIF (RCNTRL(3) > ZERO) THEN Hstart = MIN(ABS(RCNTRL(3)),ABS(Tend-Tstart)) ELSE PRINT * , 'User-selected Hstart: RCNTRL(3)=', RCNTRL(3) CALL ros_ErrorMsg(-3,Tstart,ZERO,IERR) RETURN END IF !~~~> Step size can be changed s.t. FacMin < Hnew/Hold < FacMax IF (RCNTRL(4) == ZERO) THEN FacMin = 0.2_dp ELSEIF (RCNTRL(4) > ZERO) THEN FacMin = RCNTRL(4) ELSE PRINT * , 'User-selected FacMin: RCNTRL(4)=', RCNTRL(4) CALL ros_ErrorMsg(-4,Tstart,ZERO,IERR) RETURN END IF IF (RCNTRL(5) == ZERO) THEN FacMax = 6.0_dp ELSEIF (RCNTRL(5) > ZERO) THEN FacMax = RCNTRL(5) ELSE PRINT * , 'User-selected FacMax: RCNTRL(5)=', RCNTRL(5) CALL ros_ErrorMsg(-4,Tstart,ZERO,IERR) RETURN END IF !~~~> FacRej: Factor to decrease step after 2 succesive rejections IF (RCNTRL(6) == ZERO) THEN FacRej = 0.1_dp ELSEIF (RCNTRL(6) > ZERO) THEN FacRej = RCNTRL(6) ELSE PRINT * , 'User-selected FacRej: RCNTRL(6)=', RCNTRL(6) CALL ros_ErrorMsg(-4,Tstart,ZERO,IERR) RETURN END IF !~~~> FacSafe: Safety Factor in the computation of new step size IF (RCNTRL(7) == ZERO) THEN FacSafe = 0.9_dp ELSEIF (RCNTRL(7) > ZERO) THEN FacSafe = RCNTRL(7) ELSE PRINT * , 'User-selected FacSafe: RCNTRL(7)=', RCNTRL(7) CALL ros_ErrorMsg(-4,Tstart,ZERO,IERR) RETURN END IF !~~~> Check if tolerances are reasonable DO i=1,UplimTol IF ( (AbsTol(i) <= ZERO) .OR. (RelTol(i) <= 10.0_dp*Roundoff) & .OR. (RelTol(i) >= 1.0_dp) ) THEN PRINT * , ' AbsTol(',i,') = ',AbsTol(i) PRINT * , ' RelTol(',i,') = ',RelTol(i) CALL ros_ErrorMsg(-5,Tstart,ZERO,IERR) RETURN END IF END DO !~~~> Auto-reduction threshold Redux_threshold = 1.d2 IF (RCNTRL(12) > ZERO) THEN Redux_Threshold = RCNTRL(12) ELSEIF (RCNTRL(12) < ZERO) THEN Autoreduce = .false. ENDIF !~~~> Auto-reduction threshold ratio (only if ICNTRL(14) is not zero) AR_thr_ratio = RCNTRL(14) !~~~> CALL Auto-reducing Rosenbrock method IF ( Autoreduce .and. .not. Autoreduce_Append ) THEN ! ros_yIntegrator is the aggressively micro-optimized revision by Haipeng Lin. ! ros_cIntegrator is the original auto-reduce implementation by Mike Long. CALL ros_yIntegrator(Y, Tstart, Tend, Texit, & AbsTol, RelTol, & ! Integration parameters Autonomous, VectorTol, Max_no_steps, & Roundoff, Hmin, Hmax, Hstart, & FacMin, FacMax, FacRej, FacSafe, & ! Autoreduce threshold redux_threshold, AR_target_spc, & AR_thr_ratio, & ! Error indicator IERR) ENDIF !~~~> CALL Auto-reducing Rosenbrock method capable of append ! (this version is less aggressively optimized.) IF ( Autoreduce .and. Autoreduce_Append ) THEN ! ros_yIntegratorA is the append version of the AR integrator. It has less ! optimizations because of the need to update Prod/Loss. CALL ros_yIntegratorA(Y, Tstart, Tend, Texit, & AbsTol, RelTol, & ! Integration parameters Autonomous, VectorTol, Max_no_steps, & Roundoff, Hmin, Hmax, Hstart, & FacMin, FacMax, FacRej, FacSafe, & ! Autoreduce threshold redux_threshold, AR_target_spc, & AR_thr_ratio, & ! Error indicator IERR) ENDIF !~~~> CALL Normal Rosenbrock method IF ( .not. Autoreduce .or. IERR .eq. -99 ) & CALL ros_Integrator(Y, Tstart, Tend, Texit, & AbsTol, RelTol, & ! Integration parameters Autonomous, VectorTol, Max_no_steps, & Roundoff, Hmin, Hmax, Hstart, & FacMin, FacMax, FacRej, FacSafe, & ! Error indicator IERR) !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CONTAINS ! SUBROUTINES internal to Rosenbrock !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE ros_ErrorMsg(Code,T,H,IERR) !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Handles all error messages !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ REAL(kind=dp), INTENT(IN) :: T, H INTEGER, INTENT(IN) :: Code INTEGER, INTENT(OUT) :: IERR IERR = Code PRINT * , & 'Forced exit from Rosenbrock due to the following error:' SELECT CASE (Code) CASE (-1) PRINT * , '--> Improper value for maximal no of steps' CASE (-2) PRINT * , '--> Selected Rosenbrock method not implemented' CASE (-3) PRINT * , '--> Hmin/Hmax/Hstart must be positive' CASE (-4) PRINT * , '--> FacMin/FacMax/FacRej must be positive' CASE (-5) PRINT * , '--> Improper tolerance values' CASE (-6) PRINT * , '--> No of steps exceeds maximum bound' CASE (-7) PRINT * , '--> Step size too small: T + 10*H = T', & ' or H < Roundoff' CASE (-8) PRINT * , '--> Matrix is repeatedly singular' CASE DEFAULT PRINT *, 'Unknown Error code: ', Code END SELECT PRINT *, "T=", T, "and H=", H END SUBROUTINE ros_ErrorMsg !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE ros_Integrator (Y, Tstart, Tend, T, & AbsTol, RelTol, & !~~~> Integration parameters Autonomous, VectorTol, Max_no_steps, & Roundoff, Hmin, Hmax, Hstart, & FacMin, FacMax, FacRej, FacSafe, & !~~~> Error indicator IERR ) !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Template for the implementation of a generic Rosenbrock method ! defined by ros_S (no of stages) ! and its coefficients ros_{A,C,M,E,Alpha,Gamma} !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ IMPLICIT NONE !~~~> Input: the initial condition at Tstart; Output: the solution at T REAL(kind=dp), INTENT(INOUT) :: Y(N) !~~~> Input: integration interval REAL(kind=dp), INTENT(IN) :: Tstart,Tend !~~~> Output: time at which the solution is returned (T=Tend if success) REAL(kind=dp), INTENT(OUT) :: T !~~~> Input: tolerances REAL(kind=dp), INTENT(IN) :: AbsTol(N), RelTol(N) !~~~> Input: integration parameters LOGICAL, INTENT(IN) :: Autonomous, VectorTol REAL(kind=dp), INTENT(IN) :: Hstart, Hmin, Hmax INTEGER, INTENT(IN) :: Max_no_steps REAL(kind=dp), INTENT(IN) :: Roundoff, FacMin, FacMax, FacRej, FacSafe !~~~> Output: Error indicator INTEGER, INTENT(OUT) :: IERR ! ~~~~ Local variables REAL(kind=dp) :: Ynew(N), Fcn0(N), Fcn(N) REAL(kind=dp) :: K(N*ros_S), dFdT(N) #ifdef FULL_ALGEBRA REAL(kind=dp) :: Jac0(N,N), Ghimj(N,N) #else REAL(kind=dp) :: Jac0(LU_NONZERO), Ghimj(LU_NONZERO) #endif REAL(kind=dp) :: H, Hnew, HC, HG, Fac, Tau REAL(kind=dp) :: Err, Yerr(N) INTEGER :: Pivot(N), Direction, ioffset, j, istage LOGICAL :: RejectLastH, RejectMoreH, Singular !~~~> Local parameters REAL(kind=dp), PARAMETER :: ZERO = 0.0_dp, ONE = 1.0_dp REAL(kind=dp), PARAMETER :: DeltaMin = 1.0E-5_dp !~~~> Locally called functions ! REAL(kind=dp) WLAMCH ! EXTERNAL WLAMCH !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !~~~> Initial preparations DO_SLV = .true. DO_FUN = .true. DO_JVS = .true. T = Tstart RSTATUS(Nhexit) = ZERO H = MIN( MAX(ABS(Hmin),ABS(Hstart)) , ABS(Hmax) ) IF (ABS(H) <= 10.0_dp*Roundoff) H = DeltaMin IF (Tend >= Tstart) THEN Direction = +1 ELSE Direction = -1 END IF H = Direction*H RejectLastH=.FALSE. RejectMoreH=.FALSE. !~~~> Time loop begins below TimeLoop: DO WHILE ( (Direction > 0).AND.((T-Tend)+Roundoff <= ZERO) & .OR. (Direction < 0).AND.((Tend-T)+Roundoff <= ZERO) ) IF ( ISTATUS(Nstp) > Max_no_steps ) THEN ! Too many steps CALL ros_ErrorMsg(-6,T,H,IERR) RETURN END IF IF ( ((T+0.1_dp*H) == T).OR.(H <= Roundoff) ) THEN ! Step size too small CALL ros_ErrorMsg(-7,T,H,IERR) RETURN END IF !~~~> Limit H if necessary to avoid going beyond Tend H = MIN(H,ABS(Tend-T)) !~~~> Compute the function at current time CALL FunTemplate( T, Y, Fcn0 ) ISTATUS(Nfun) = ISTATUS(Nfun) + 1 !~~~> Compute the function derivative with respect to T IF (.NOT.Autonomous) THEN CALL ros_FunTimeDerivative ( T, Roundoff, Y, Fcn0, dFdT ) END IF !~~~> Compute the Jacobian at current time CALL JacTemplate( T, Y, Jac0 ) ISTATUS(Njac) = ISTATUS(Njac) + 1 !~~~> Repeat step calculation until current step accepted UntilAccepted: DO CALL ros_PrepareMatrix(H,Direction,ros_Gamma(1), & Jac0,Ghimj,Pivot,Singular) IF (Singular) THEN ! More than 5 consecutive failed decompositions CALL ros_ErrorMsg(-8,T,H,IERR) RETURN END IF !~~~> Compute the stages Stage: DO istage = 1, ros_S ! Current istage offset. Current istage vector is K(ioffset+1:ioffset+N) ioffset = N*(istage-1) ! For the 1st istage the function has been computed previously IF ( istage == 1 ) THEN !slim: CALL WCOPY(N,Fcn0,1,Fcn,1) Fcn(1:N) = Fcn0(1:N) ! istage>1 and a new function evaluation is needed at the current istage ELSEIF ( ros_NewF(istage) ) THEN !slim: CALL WCOPY(N,Y,1,Ynew,1) Ynew(1:N) = Y(1:N) DO j = 1, istage-1 CALL WAXPY(N,ros_A((istage-1)*(istage-2)/2+j), & K(N*(j-1)+1),1,Ynew,1) END DO Tau = T + ros_Alpha(istage)*Direction*H CALL FunTemplate( Tau, Ynew, Fcn ) ISTATUS(Nfun) = ISTATUS(Nfun) + 1 END IF ! if istage == 1 elseif ros_NewF(istage) !slim: CALL WCOPY(N,Fcn,1,K(ioffset+1),1) K(ioffset+1:ioffset+N) = Fcn(1:N) DO j = 1, istage-1 HC = ros_C((istage-1)*(istage-2)/2+j)/(Direction*H) CALL WAXPY(N,HC,K(N*(j-1)+1),1,K(ioffset+1),1) END DO IF ((.NOT. Autonomous).AND.(ros_Gamma(istage).NE.ZERO)) THEN HG = Direction*H*ros_Gamma(istage) CALL WAXPY(N,HG,dFdT,1,K(ioffset+1),1) END IF CALL ros_Solve(Ghimj, Pivot, K(ioffset+1)) END DO Stage !~~~> Compute the new solution !slim: CALL WCOPY(N,Y,1,Ynew,1) Ynew(1:N) = Y(1:N) DO j=1,ros_S CALL WAXPY(N,ros_M(j),K(N*(j-1)+1),1,Ynew,1) END DO !~~~> Compute the error estimation !slim: CALL WSCAL(N,ZERO,Yerr,1) Yerr(1:N) = ZERO DO j=1,ros_S CALL WAXPY(N,ros_E(j),K(N*(j-1)+1),1,Yerr,1) END DO Err = ros_ErrorNorm ( Y, Ynew, Yerr, AbsTol, RelTol, VectorTol ) !~~~> New step size is bounded by FacMin <= Hnew/H <= FacMax Fac = MIN(FacMax,MAX(FacMin,FacSafe/Err**(ONE/ros_ELO))) Hnew = H*Fac !~~~> Check the error magnitude and adjust step size ISTATUS(Nstp) = ISTATUS(Nstp) + 1 IF ( (Err <= ONE).OR.(H <= Hmin) ) THEN !~~~> Accept step ISTATUS(Nacc) = ISTATUS(Nacc) + 1 IF (ICNTRL(16) == 1) THEN ! new value is non-negative: Y = MAX(Ynew,ZERO) ELSE !slim: CALL WCOPY(N,Ynew,1,Y,1) Y(1:N) = Ynew(1:N) ENDIF T = T + Direction*H Hnew = MAX(Hmin,MIN(Hnew,Hmax)) IF (RejectLastH) THEN ! No step size increase after a rejected step Hnew = MIN(Hnew,H) END IF RSTATUS(Nhexit) = H RSTATUS(Nhnew) = Hnew RSTATUS(Ntexit) = T RejectLastH = .FALSE. RejectMoreH = .FALSE. H = Hnew EXIT UntilAccepted ! EXIT THE LOOP: WHILE STEP NOT ACCEPTED ELSE !~~~> Reject step IF (RejectMoreH) THEN Hnew = H*FacRej END IF RejectMoreH = RejectLastH RejectLastH = .TRUE. H = Hnew IF (ISTATUS(Nacc) >= 1) ISTATUS(Nrej) = ISTATUS(Nrej) + 1 END IF ! Err <= 1 END DO UntilAccepted END DO TimeLoop !~~~> Succesful exit IERR = 1 !~~~> The integration was successful END SUBROUTINE ros_Integrator !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE ros_yIntegrator (Y, Tstart, Tend, T, & AbsTol, RelTol, & !~~~> Integration parameters Autonomous, VectorTol, Max_no_steps, & Roundoff, Hmin, Hmax, Hstart, & FacMin, FacMax, FacRej, FacSafe, & !~~~> Autoreduce threshold threshold, AR_target_spc, AR_thr_ratio, & !~~~> Error indicator IERR ) !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Template for the implementation of a generic Rosenbrock method ! defined by ros_S (no of stages) ! and its coefficients ros_{A,C,M,E,Alpha,Gamma} !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Alternative micro-optimized implementation, hplin, 4/10/22 ! which does not resize arrays to rNVAR, instead always keeping to full N size ! and skipping using DO_SLV ! ! All compiled assembly code was verified just short of linking to a proper BLAS. USE gckpp_Global, ONLY : cNONZERO, rNVAR use gckpp_Monitor, ONLY : SPC_NAMES USE gckpp_JacobianSP IMPLICIT NONE !~~~> Input: the initial condition at Tstart; Output: the solution at T REAL(kind=dp), INTENT(INOUT) :: Y(N) !~~~> Input: integration interval REAL(kind=dp), INTENT(IN) :: Tstart,Tend !~~~> Output: time at which the solution is returned (T=Tend if success) REAL(kind=dp), INTENT(OUT) :: T !~~~> Input: tolerances REAL(kind=dp), INTENT(IN) :: AbsTol(N), RelTol(N) !~~~> Input: integration parameters LOGICAL, INTENT(IN) :: Autonomous, VectorTol REAL(kind=dp), INTENT(IN) :: Hstart, Hmin, Hmax INTEGER, INTENT(IN) :: Max_no_steps REAL(kind=dp), INTENT(IN) :: Roundoff, FacMin, FacMax, FacRej, FacSafe !~~~> Autoreduction threshold REAL(kind=dp), INTENT(IN) :: threshold !~~~> Output: Error indicator INTEGER, INTENT(OUT) :: IERR ! ~~~~ Local variables REAL(kind=dp) :: Ynew(N), Fcn0(N), Fcn(N), Prod(N), Loss(N), LossY(N) REAL(kind=dp) :: K(NVAR*ros_S), dFdT(N) #ifdef FULL_ALGEBRA REAL(kind=dp) :: Jac0(N,N), Ghimj(N,N) #else REAL(kind=dp) :: Jac0(LU_NONZERO), Ghimj(LU_NONZERO) REAL(kind=dp) :: cGhimj(LU_NONZERO) ! not known at this point what cNONZERO will be #endif REAL(kind=dp) :: H, Hnew, HC, HG, Fac, Tau REAL(kind=dp) :: Err, Yerr(N), Yerrsub(NVAR) INTEGER :: Pivot(N), Direction, ioffset, j, istage LOGICAL :: RejectLastH, RejectMoreH, Singular, Reduced !~~~> Local parameters REAL(kind=dp), PARAMETER :: ZERO = 0.0_dp, ONE = 1.0_dp REAL(kind=dp), PARAMETER :: DeltaMin = 1.0E-5_dp INTEGER :: SPC REAL(kind=dp) :: alpha_factor ! hplin 4/10/22 ! Inline local parameters for AR. INTEGER :: II, III, idx, nrmv, s REAL(kind=dp), INTENT(IN) :: AR_thr_ratio REAL(kind=dp) :: AR_thr INTEGER, INTENT(IN) :: AR_target_spc !~~~> Initial preparations DO_SLV = .true. DO_FUN = .true. DO_JVS = .true. Reduced = .false. T = Tstart RSTATUS(Nhexit) = ZERO H = MIN( MAX(ABS(Hmin),ABS(Hstart)) , ABS(Hmax) ) IF (ABS(H) <= 10.0_dp*Roundoff) H = DeltaMin IF (Tend >= Tstart) THEN Direction = +1 ELSE Direction = -1 END IF H = Direction*H RejectLastH=.FALSE. RejectMoreH=.FALSE. ! reset K - hplin. this is a multiplier that gets applied to ros_A and ros_M K = 0.0_dp Ghimj = 0.0_dp !~~~> Time loop begins below TimeLoop: DO WHILE ( (Direction > 0).AND.((T-Tend)+Roundoff <= ZERO) & .OR. (Direction < 0).AND.((Tend-T)+Roundoff <= ZERO) ) IF ( ISTATUS(Nstp) > Max_no_steps ) THEN ! Too many steps CALL ros_ErrorMsg(-6,T,H,IERR) RETURN ENDIF IF ( ((T+0.1_dp*H) == T).OR.(H <= Roundoff) ) THEN ! Step size too small CALL ros_ErrorMsg(-7,T,H,IERR) RETURN ENDIF !~~~> Limit H if necessary to avoid going beyond Tend H = MIN(H,ABS(Tend-T)) ! ... 0.40% ... 5.2 % !~~~> Compute the function at current time ! this is necessary anyway for the rest of the time loop. do not optimize out. IF (T .eq. Tstart) THEN CALL FunSplitF(T,Y,Fcn0,Prod,Loss,LossY) ! always calculates PL. ELSE ! ELSE or ne seems reasonably close in performance. CALL FunSplitN(T,Y,Fcn0) ENDIF ! The above Prod, Loss were updated at every TimeLoop, so they no longer ! reflect initial condition. The copy operation is extremely expensive, ! so we instead run it once at the beginning of the timeloop and use a IF ! to switch it to a wholy different codepath... ISTATUS(Nfun) = ISTATUS(Nfun) + 1 ! ... 1.02% ... 13.00% !~~~> Parse species for reduced computation if (.not. reduced) then ! Inline the entire reduction operation here. iSPC_MAP = 0 NRMV = 0 S = 1 AR_thr = threshold ! Target species? if(AR_target_spc .gt. 0) then AR_thr = AR_thr_ratio * max(LossY(AR_target_spc), Prod(AR_target_spc)) ! Lin et al., 2022 in prep. RSTATUS(NARthr) = AR_thr endif ! Checks should be kept out of tight inner loops. IF(keepActive) THEN DO i=1,NVAR ! Short-circuiting using SKIP is very important here. if (.not. keepSpcActive(i) .and. & abs(LossY(i)).lt.AR_thr .and. abs(Prod(i)).lt.AR_thr) then ! per Shen et al., 2020 NRMV=NRMV+1 ! RMV(NRMV) = i ! not needed unless in append version. DO_SLV(i) = .false. ! DO_FUN(i) = .false. cycle endif SPC_MAP(S) = i ! Add to full spc map. iSPC_MAP(i) = S S=S+1 ENDDO ENDIF IF (.not. keepActive) THEN DO i=1,NVAR ! Short-circuiting using SKIP is very important here. if (abs(LossY(i)).lt.AR_thr .and. abs(Prod(i)).lt.AR_thr) then ! per Shen et al., 2020 NRMV=NRMV+1 ! RMV(NRMV) = i ! not needed unless in append version. DO_SLV(i) = .false. ! DO_FUN(i) = .false. cycle endif SPC_MAP(S) = i ! Add to full spc map. iSPC_MAP(i) = S S=S+1 ENDDO ENDIF rNVAR = NVAR-NRMV ! Number of active species in the reduced mechanism II = 1 III = 1 idx = 0 ! This loop can be unrolled into two branches. ScanFirstNonZero: DO i = 1,LU_NONZERO IF ((DO_SLV(LU_IROW(i))).and.(DO_SLV(LU_ICOL(i)))) THEN idx = 1 cLU_IROW(1) = iSPC_MAP(LU_IROW(i)) cLU_ICOL(1) = iSPC_MAP(LU_ICOL(i)) JVS_MAP(1) = i EXIT ScanFirstNonZero ENDIF DO_JVS(i) = .false. ENDDO ScanFirstNonZero DO i = i+1,LU_NONZERO ! There is no escape for looping through LU_NONZERO here. IF ((DO_SLV(LU_IROW(i))).and.(DO_SLV(LU_ICOL(i)))) THEN idx=idx+1 ! counter for the number of non-zero elements in the reduced Jacobian cLU_IROW(idx) = iSPC_MAP(LU_IROW(i)) cLU_ICOL(idx) = iSPC_MAP(LU_ICOL(i)) JVS_MAP(idx) = i IF (cLU_IROW(idx).ne.cLU_IROW(idx-1)) THEN II=II+1 cLU_CROW(II) = idx ENDIF IF (cLU_IROW(idx).eq.cLU_ICOL(idx)) THEN III=III+1 cLU_DIAG(III) = idx ENDIF CYCLE ENDIF DO_JVS(i) = .false. ENDDO cNONZERO = idx cLU_CROW(1) = 1 ! 1st index = 1 cLU_DIAG(1) = 1 ! 1st index = 1 cLU_CROW(rNVAR+1) = cNONZERO+1 cLU_DIAG(rNVAR+1) = cLU_DIAG(rNVAR)+1 ! this loop approximately 0.6% ... 7.8% reduced = .true. endif !return ! ... 1.86% ... 26% // 1.77% ... !~~~> Compute the function derivative with respect to T IF (.NOT.Autonomous) THEN CALL ros_FunTimeDerivative ( T, Roundoff, Y, & Fcn0, dFdT ) END IF ! 1.86 ~ 1.90% !~~~> Compute the Jacobian at current time CALL JacTemplate(T,Y,Jac0) ! Reacts to DO_JVS() ISTATUS(Njac) = ISTATUS(Njac) + 1 !~~~> Repeat step calculation until current step accepted UntilAccepted: DO CALL ros_cPrepareMatrix(H,Direction,ros_Gamma(1), & Jac0,cGhimj,Pivot,Singular) ! calculate Ghimj as cGhimj(cNONZERO). ! cGhimj all elem are rewritten so no need to zero out - warning - hplin 4/10/22 ! ! this step has one skip addressing step, -Jac0(JVS_MAP(1:cNONZERO)). slow. ! ros_cDecomp is continuous. IF (Singular) THEN ! More than 5 consecutive failed decompositions CALL ros_ErrorMsg(-8,T,H,IERR) RETURN ENDIF ! map cNONZERO back to full space. this step is very slow. DO i = 1, cNONZERO Ghimj(JVS_MAP(i)) = cGhimj(i) ENDDO ! Ghimj(JVS_MAP(1:cNONZERO)) = cGhimj ! The above implementation seems to make -fcheck=bounds unhappy ! and cause a segfault at -O3. The asm jumps seemed weird, so we ! just explicitly write out the loop. !~~~> Compute the stages Stage: DO istage = 1, ros_S ! Current istage offset. Current istage vector is K(ioffset+1:ioffset+N) ioffset = N*(istage-1) ! note this is full space ! For the 1st istage the function has been computed previously IF ( istage == 1 ) THEN call WCOPY(N,Fcn0,1,Fcn,1) ! Fcn(1:N) = Fcn0(1:N) ! istage>1 and a new function evaluation is needed at the current istage ! K = 0.0_dp ! is this fix needed? hplin 14:04 -- not. 3 hours wiser later ELSEIF ( ros_NewF(istage) ) THEN call WCOPY(N,Y,1,Ynew,1) ! Ynew(1:N) = Y(1:N) DO j = 1, istage-1 ! In full vector space. Just use WAXPY as normal ! other entries in K are set to 1 previously. ! the rest are filled by Fcn. ! N alpha x y .... Y <- Y + a*X. ! i.e. Ynew <- Ynew + ros_A(..) * K. for !DO_FUN, we want K === 0 ! if there are entries in x that are zero naturally they do not carry into Ynew. ! ! otherwise Ynew will be wrongly updated ! order of operations here is from K(N*(j-1)+1:N*j+1), total of N elem. ! K for !DO_FUN should not be updated. ! in fact, K is reasonably sparse here. ! full version: ! CALL WAXPY(N, ros_A((istage-1)*(istage-2)/2+j), K(N*(j-1)+1), 1, Ynew, 1) ! only rNVAR version - maybe loops need to be unrolled: (15:39) alpha_factor = ros_A((istage-1)*(istage-2)/2+j) DO i = 1,rNVAR Ynew(SPC_MAP(i)) = Ynew(SPC_MAP(i)) + alpha_factor * K(N*(j-1)+SPC_MAP(i)) ENDDO END DO Tau = T + ros_Alpha(istage)*Direction*H CALL FunSplitN(Tau,Ynew,Fcn) ! this step reacts to DO_FUN. ! Fcn is updated thru Fun_Split(Ynew,..,..,P,D), Fcn <- P - D*Ynew ! P and D are only updated iff. DO_FUN is set to true. otherwise they are zero ! the purpose is for Fcn to be zero for !DO_FUNs so K is set to 0 for them, so delta is 0. ! this looks okay then. 4/10/22 13:36 hplin ISTATUS(Nfun) = ISTATUS(Nfun) + 1 END IF ! if istage == 1 elseif ros_NewF(istage) ! K(ioffset+1:ioffset+rNVAR) = Fcn(SPC_MAP(1:rNVAR)) ! now operate on full space for all of below. ! full version: ! K(ioffset+1:ioffset+N) = Fcn(1:N) ! faster version: (this copy also feels expensive...) ! unroll j = 1 stage iff. istage-1>1, otherwise this is skipped. IF(istage .gt. 1) THEN HC = ros_C((istage-1)*(istage-2)/2+1)/(Direction*H) DO i = 1,rNVAR K(ioffset+SPC_MAP(i)) = Fcn(SPC_MAP(i)) + HC * K(SPC_MAP(i)) ENDDO ENDIF IF(istage .eq. 1) THEN DO i = 1,rNVAR K(ioffset+SPC_MAP(i)) = Fcn(SPC_MAP(i)) ENDDO ENDIF DO j = 2, istage-1 HC = ros_C((istage-1)*(istage-2)/2+j)/(Direction*H) ! full version ! K(ioffset+1:ioffset+1+N) <- K(ioffset+1:ioffset+1+N) + HC*K(N*(j-1)+1) ! CALL WAXPY(N,HC,K(N*(j-1)+1),1,K(ioffset+1),1) ! K also updated here... ! write(6,*) "istage,kupd2",istage,K(ioffset+1:ioffset+1+N) ! faster version: DO i = 1,rNVAR K(ioffset+SPC_MAP(i)) = K(ioffset+SPC_MAP(i)) + HC * K(N*(j-1)+SPC_MAP(i)) ENDDO ! CALL zWAXPY(N,HC,K(N*(j-1)+1),K(ioffset+1),SPC_MAP) ! loop unrolling is consistently slower here. 18:58 ENDDO IF ((.NOT. Autonomous).AND.(ros_Gamma(istage).NE.ZERO)) THEN HG = Direction*H*ros_Gamma(istage) ! full version: CALL WAXPY(N,HG,dFdT,1,K(ioffset+1),1) ! faster version: DO i = 1,rNVAR K(ioffset+SPC_MAP(i)) = K(ioffset+SPC_MAP(i)) + HG * dFdT(SPC_MAP(i)) ENDDO ENDIF ! CALL ros_cSolve(Ghimj(1:cNONZERO), Pivot, K(ioffset+1), JVS_MAP, SPC_MAP) ! this means that ros_cSolve now does not need to be mapped back to full space here ! avoiding several full maps. ! ! K is passed to ros_Solve -> KppSolve, which responds to DO_SLV. ! If DO_SLV is 0, K is not updated at that point ! Note other terms may still depend on other JVS(LU_NONZERO) or K(N) terms ... ! this fix is generally necessary. this means that before K gets to ! ros_Solve, the non-DO_SLV terms need to be zeroed out. ! ! of course this is inefficient, so care should be taken to only update K ! where necessary without doing this final sweep. ! each one of these sweeps costs approximately 2% of total time. ! DO j = 1, N ! IF (.not. DO_SLV(j)) K(ioffset+j) = 0.0_dp ! ENDDO ! ... 2.90% (39%) CALL ros_Solve(Ghimj, Pivot, K(ioffset+1)) ! ... 3.10% (40%) ! note in ros_cSolve -> kppSolve the back-substitution for !DO_SLV==!DO_FUN are ! not resolved so Ynew remains the same. ENDDO Stage ! ... 4.44% ! roll the new solution and error estimation into one loop. Ynew(:) = Y(:) Yerr(:) = ZERO DO j = 1, ros_S DO i = 1,rNVAR Ynew(SPC_MAP(i)) = Ynew(SPC_MAP(i)) + ros_M(j) * K(N*(j-1)+SPC_MAP(i)) Yerr(SPC_MAP(i)) = Yerr(SPC_MAP(i)) + ros_E(j) * K(N*(j-1)+SPC_MAP(i)) ENDDO ENDDO Err = ros_ErrorNorm ( Y, Ynew, Yerr, AbsTol, RelTol, VectorTol ) ! ... 4.73% (~0.3%). i will leave this alone for now !~~~> New step size is bounded by FacMin <= Hnew/H <= FacMax Fac = MIN(FacMax,MAX(FacMin,FacSafe/Err**(ONE/ros_ELO))) Hnew = H*Fac !~~~> Check the error magnitude and adjust step size ISTATUS(Nstp) = ISTATUS(Nstp) + 1 IF ( (Err <= ONE).OR.(H <= Hmin) ) THEN !~~~> Accept step ISTATUS(Nacc) = ISTATUS(Nacc) + 1 CALL WCOPY(N,Ynew,1,Y,1) !Y(1:N) = Ynew(1:N) T = T + Direction*H Hnew = MAX(Hmin,MIN(Hnew,Hmax)) IF (RejectLastH) THEN ! No step size increase after a rejected step Hnew = MIN(Hnew,H) ENDIF RSTATUS(Nhexit) = H RSTATUS(Nhnew) = Hnew RSTATUS(Ntexit) = T RejectLastH = .FALSE. RejectMoreH = .FALSE. H = Hnew ! write(6,*) "STEP ACCEPTED" EXIT UntilAccepted ! EXIT THE LOOP: WHILE STEP NOT ACCEPTED ELSE !~~~> Reject step IF (RejectMoreH) THEN Hnew = H*FacRej END IF RejectMoreH = RejectLastH RejectLastH = .TRUE. H = Hnew IF (ISTATUS(Nacc) >= 1) ISTATUS(Nrej) = ISTATUS(Nrej) + 1 ! write(6,*) "STEP REJECTED" END IF ! Err <= 1 END DO UntilAccepted ! ... 4.70% END DO TimeLoop ! 1st order calculation for removed species per Shen et al. (2020) Eq. 4 ! -- currently, DO_FUN() selects ! -- DO_FUN loops over 1,NVAR. Only needs to loop over NVAR-rNVAR ! but the structure doesn't exist. Maybe worth considering ! for efficiency purposes. DO i=1,N IF (.not. DO_SLV(i)) THEN call autoreduce_1stOrder(i,Y(i),Prod(i),Loss(i),Tstart,Tend) ENDIF ENDDO !~~~> Successful exit IERR = 1 !~~~> The integration was successful END SUBROUTINE ros_yIntegrator ! Aggressively micro-optimized by hplin ! 4/10/22 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE ros_yIntegratorA (Y, Tstart, Tend, T, & AbsTol, RelTol, & !~~~> Integration parameters Autonomous, VectorTol, Max_no_steps, & Roundoff, Hmin, Hmax, Hstart, & FacMin, FacMax, FacRej, FacSafe, & !~~~> Autoreduce threshold threshold, AR_target_spc, AR_thr_ratio, & !~~~> Error indicator IERR ) !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Template for the implementation of a generic Rosenbrock method ! defined by ros_S (no of stages) ! and its coefficients ros_{A,C,M,E,Alpha,Gamma} !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Alternative micro-optimized implementation, hplin, 4/10/22 ! which does not resize arrays to rNVAR, instead always keeping to full N size ! and skipping using DO_SLV ! ! All compiled assembly code was verified just short of linking to a proper BLAS. USE gckpp_Global, ONLY : cNONZERO, rNVAR use gckpp_Monitor, ONLY : SPC_NAMES USE gckpp_JacobianSP IMPLICIT NONE !~~~> Input: the initial condition at Tstart; Output: the solution at T REAL(kind=dp), INTENT(INOUT) :: Y(N) !~~~> Input: integration interval REAL(kind=dp), INTENT(IN) :: Tstart,Tend !~~~> Output: time at which the solution is returned (T=Tend if success) REAL(kind=dp), INTENT(OUT) :: T !~~~> Input: tolerances REAL(kind=dp), INTENT(IN) :: AbsTol(N), RelTol(N) !~~~> Input: integration parameters LOGICAL, INTENT(IN) :: Autonomous, VectorTol REAL(kind=dp), INTENT(IN) :: Hstart, Hmin, Hmax INTEGER, INTENT(IN) :: Max_no_steps REAL(kind=dp), INTENT(IN) :: Roundoff, FacMin, FacMax, FacRej, FacSafe !~~~> Autoreduction threshold REAL(kind=dp), INTENT(IN) :: threshold !~~~> Output: Error indicator INTEGER, INTENT(OUT) :: IERR ! ~~~~ Local variables REAL(kind=dp) :: Ynew(N), Fcn0(N), Fcn(N), Prod(N), Loss(N), LossY(N), Prd0(N), Los0(N) REAL(kind=dp) :: K(NVAR*ros_S), dFdT(N) #ifdef FULL_ALGEBRA REAL(kind=dp) :: Jac0(N,N), Ghimj(N,N) #else REAL(kind=dp) :: Jac0(LU_NONZERO), Ghimj(LU_NONZERO) REAL(kind=dp) :: cGhimj(LU_NONZERO) ! not known at this point what cNONZERO will be #endif REAL(kind=dp) :: H, Hnew, HC, HG, Fac, Tau REAL(kind=dp) :: Err, Yerr(N), Yerrsub(NVAR) INTEGER :: Pivot(N), Direction, ioffset, j, istage LOGICAL :: RejectLastH, RejectMoreH, Singular, Reduced !~~~> Local parameters REAL(kind=dp), PARAMETER :: ZERO = 0.0_dp, ONE = 1.0_dp REAL(kind=dp), PARAMETER :: DeltaMin = 1.0E-5_dp INTEGER :: SPC REAL(kind=dp) :: alpha_factor ! hplin 4/10/22 ! Inline local parameters for AR. INTEGER :: II, III, idx, nrmv, s REAL(kind=dp), INTENT(IN) :: AR_thr_ratio REAL(kind=dp) :: AR_thr INTEGER, INTENT(IN) :: AR_target_spc !~~~> Initial preparations DO_SLV = .true. DO_FUN = .true. DO_JVS = .true. Reduced = .false. RMV = 0 T = Tstart RSTATUS(Nhexit) = ZERO H = MIN( MAX(ABS(Hmin),ABS(Hstart)) , ABS(Hmax) ) IF (ABS(H) <= 10.0_dp*Roundoff) H = DeltaMin IF (Tend >= Tstart) THEN Direction = +1 ELSE Direction = -1 END IF H = Direction*H RejectLastH=.FALSE. RejectMoreH=.FALSE. ! reset K - hplin. this is a multiplier that gets applied to ros_A and ros_M K = 0.0_dp Ghimj = 0.0_dp !~~~> Time loop begins below TimeLoop: DO WHILE ( (Direction > 0).AND.((T-Tend)+Roundoff <= ZERO) & .OR. (Direction < 0).AND.((Tend-T)+Roundoff <= ZERO) ) IF ( ISTATUS(Nstp) > Max_no_steps ) THEN ! Too many steps CALL ros_ErrorMsg(-6,T,H,IERR) RETURN ENDIF IF ( ((T+0.1_dp*H) == T).OR.(H <= Roundoff) ) THEN ! Step size too small CALL ros_ErrorMsg(-7,T,H,IERR) RETURN ENDIF !~~~> Limit H if necessary to avoid going beyond Tend H = MIN(H,ABS(Tend-T)) !~~~> Compute the function at current time ! this is necessary anyway for the rest of the time loop. do not optimize out. CALL FunSplitF(T,Y,Fcn0,Prod,Loss,LossY) ! always calculates PL. ! The above Prod, Loss were updated at every TimeLoop, so they no longer ! reflect initial condition. The copy operation is extremely expensive, ! so we instead run it once at the beginning of the timeloop and use a IF ! to switch it to a wholy different codepath... ISTATUS(Nfun) = ISTATUS(Nfun) + 1 ! ... 1.02% ... 13.00% !~~~> Parse species for reduced computation if (.not. reduced) then Prd0 = Prod Los0 = Loss ! Save original prod loss vector for 1st order approx. do not optimize out. ! Inline the entire reduction operation here. iSPC_MAP = 0 NRMV = 0 S = 1 AR_thr = threshold ! Target species? if(AR_target_spc .gt. 0) then AR_thr = AR_thr_ratio * max(LossY(AR_target_spc), Prod(AR_target_spc)) ! Lin et al., 2022 in prep. RSTATUS(NARthr) = AR_thr endif ! Checks should be kept out of tight inner loops. IF(keepActive) THEN DO i=1,NVAR ! Short-circuiting using SKIP is very important here. if (.not. keepSpcActive(i) .and. & abs(LossY(i)).lt.AR_thr .and. abs(Prod(i)).lt.AR_thr) then ! per Shen et al., 2020 NRMV=NRMV+1 RMV(NRMV) = i DO_SLV(i) = .false. ! DO_FUN(i) = .false. cycle endif SPC_MAP(S) = i ! Add to full spc map. iSPC_MAP(i) = S S=S+1 ENDDO ENDIF IF (.not. keepActive) THEN DO i=1,NVAR ! Short-circuiting using SKIP is very important here. if (abs(LossY(i)).lt.AR_thr .and. abs(Prod(i)).lt.AR_thr) then ! per Shen et al., 2020 NRMV=NRMV+1 RMV(NRMV) = i DO_SLV(i) = .false. ! DO_FUN(i) = .false. cycle endif SPC_MAP(S) = i ! Add to full spc map. iSPC_MAP(i) = S S=S+1 ENDDO ENDIF rNVAR = NVAR-NRMV ! Number of active species in the reduced mechanism II = 1 III = 1 idx = 0 ! This loop can be unrolled into two branches. ScanFirstNonZero: DO i = 1,LU_NONZERO IF ((DO_SLV(LU_IROW(i))).and.(DO_SLV(LU_ICOL(i)))) THEN idx = 1 cLU_IROW(1) = iSPC_MAP(LU_IROW(i)) cLU_ICOL(1) = iSPC_MAP(LU_ICOL(i)) JVS_MAP(1) = i EXIT ScanFirstNonZero ENDIF DO_JVS(i) = .false. ENDDO ScanFirstNonZero DO i = i+1,LU_NONZERO ! There is no escape for looping through LU_NONZERO here. IF ((DO_SLV(LU_IROW(i))).and.(DO_SLV(LU_ICOL(i)))) THEN idx=idx+1 ! counter for the number of non-zero elements in the reduced Jacobian cLU_IROW(idx) = iSPC_MAP(LU_IROW(i)) cLU_ICOL(idx) = iSPC_MAP(LU_ICOL(i)) JVS_MAP(idx) = i IF (cLU_IROW(idx).ne.cLU_IROW(idx-1)) THEN II=II+1 cLU_CROW(II) = idx ENDIF IF (cLU_IROW(idx).eq.cLU_ICOL(idx)) THEN III=III+1 cLU_DIAG(III) = idx ENDIF CYCLE ENDIF DO_JVS(i) = .false. ENDDO cNONZERO = idx cLU_CROW(1) = 1 ! 1st index = 1 cLU_DIAG(1) = 1 ! 1st index = 1 cLU_CROW(rNVAR+1) = cNONZERO+1 cLU_DIAG(rNVAR+1) = cLU_DIAG(rNVAR)+1 ! this loop approximately 0.6% ... 7.8% reduced = .true. endif ! not reduced if (reduced) then ! Scan prod/loss for condition change for append functionality. ! Note because this requires internal Prod/Loss update, yIntegrator will fall through ! here. (hplin, 4/10/22) ! RMV is filled at most to NRMV, so read to that. Note that NRMV is only here because ! we inlined Reduce(), so this cannot be ported to ros_cIntegrator. (hplin, 4/12/22) DO i=1,NRMV SPC = RMV(i) if (SPC .eq. 0) cycle ! Species is already appended if (abs(LossY(SPC)).gt.threshold .or. abs(Prod(SPC)).gt.threshold) then CALL APPEND(SPC) RMV(i) = 0 endif ENDDO endif ! reduced. append functionality. !~~~> Compute the function derivative with respect to T IF (.NOT.Autonomous) THEN CALL ros_FunTimeDerivative ( T, Roundoff, Y, & Fcn0, dFdT ) END IF ! 1.86 ~ 1.90% !~~~> Compute the Jacobian at current time CALL JacTemplate(T,Y,Jac0) ! Reacts to DO_JVS() ISTATUS(Njac) = ISTATUS(Njac) + 1 !~~~> Repeat step calculation until current step accepted UntilAccepted: DO CALL ros_cPrepareMatrix(H,Direction,ros_Gamma(1), & Jac0,cGhimj,Pivot,Singular) ! calculate Ghimj as cGhimj(cNONZERO). ! cGhimj all elem are rewritten so no need to zero out - warning - hplin 4/10/22 ! ! this step has one skip addressing step, -Jac0(JVS_MAP(1:cNONZERO)). slow. ! ros_cDecomp is continuous. IF (Singular) THEN ! More than 5 consecutive failed decompositions CALL ros_ErrorMsg(-8,T,H,IERR) RETURN ENDIF ! map cNONZERO back to full space. this step is very slow. DO i = 1, cNONZERO Ghimj(JVS_MAP(i)) = cGhimj(i) ENDDO ! Ghimj(JVS_MAP(1:cNONZERO)) = cGhimj ! The above implementation seems to make -fcheck=bounds unhappy ! and cause a segfault at -O3. The asm jumps seemed weird, so we ! just explicitly write out the loop. !~~~> Compute the stages Stage: DO istage = 1, ros_S ! Current istage offset. Current istage vector is K(ioffset+1:ioffset+N) ioffset = N*(istage-1) ! note this is full space ! For the 1st istage the function has been computed previously IF ( istage == 1 ) THEN call WCOPY(N,Fcn0,1,Fcn,1) ! Fcn(1:N) = Fcn0(1:N) ! istage>1 and a new function evaluation is needed at the current istage ! K = 0.0_dp ! is this fix needed? hplin 14:04 -- not. 3 hours wiser later ELSEIF ( ros_NewF(istage) ) THEN call WCOPY(N,Y,1,Ynew,1) ! Ynew(1:N) = Y(1:N) DO j = 1, istage-1 ! In full vector space. Just use WAXPY as normal ! other entries in K are set to 1 previously. ! the rest are filled by Fcn. ! N alpha x y .... Y <- Y + a*X. ! i.e. Ynew <- Ynew + ros_A(..) * K. for !DO_FUN, we want K === 0 ! if there are entries in x that are zero naturally they do not carry into Ynew. ! ! otherwise Ynew will be wrongly updated ! order of operations here is from K(N*(j-1)+1:N*j+1), total of N elem. ! K for !DO_FUN should not be updated. ! in fact, K is reasonably sparse here. ! full version: ! CALL WAXPY(N, ros_A((istage-1)*(istage-2)/2+j), K(N*(j-1)+1), 1, Ynew, 1) ! only rNVAR version - maybe loops need to be unrolled: (15:39) alpha_factor = ros_A((istage-1)*(istage-2)/2+j) DO i = 1,rNVAR Ynew(SPC_MAP(i)) = Ynew(SPC_MAP(i)) + alpha_factor * K(N*(j-1)+SPC_MAP(i)) ENDDO END DO Tau = T + ros_Alpha(istage)*Direction*H CALL FunSplitN(Tau,Ynew,Fcn) ! this step reacts to DO_FUN. ! Fcn is updated thru Fun_Split(Ynew,..,..,P,D), Fcn <- P - D*Ynew ! P and D are only updated iff. DO_FUN is set to true. otherwise they are zero ! the purpose is for Fcn to be zero for !DO_FUNs so K is set to 0 for them, so delta is 0. ! this looks okay then. 4/10/22 13:36 hplin ISTATUS(Nfun) = ISTATUS(Nfun) + 1 END IF ! if istage == 1 elseif ros_NewF(istage) ! K(ioffset+1:ioffset+rNVAR) = Fcn(SPC_MAP(1:rNVAR)) ! now operate on full space for all of below. ! full version: ! K(ioffset+1:ioffset+N) = Fcn(1:N) ! faster version: (this copy also feels expensive...) ! unroll j = 1 stage iff. istage-1>1, otherwise this is skipped. IF(istage .gt. 1) THEN HC = ros_C((istage-1)*(istage-2)/2+1)/(Direction*H) DO i = 1,rNVAR K(ioffset+SPC_MAP(i)) = Fcn(SPC_MAP(i)) + HC * K(SPC_MAP(i)) ENDDO ENDIF IF(istage .eq. 1) THEN DO i = 1,rNVAR K(ioffset+SPC_MAP(i)) = Fcn(SPC_MAP(i)) ENDDO ENDIF DO j = 2, istage-1 HC = ros_C((istage-1)*(istage-2)/2+j)/(Direction*H) ! full version ! K(ioffset+1:ioffset+1+N) <- K(ioffset+1:ioffset+1+N) + HC*K(N*(j-1)+1) ! CALL WAXPY(N,HC,K(N*(j-1)+1),1,K(ioffset+1),1) ! K also updated here... ! write(6,*) "istage,kupd2",istage,K(ioffset+1:ioffset+1+N) ! faster version: DO i = 1,rNVAR K(ioffset+SPC_MAP(i)) = K(ioffset+SPC_MAP(i)) + HC * K(N*(j-1)+SPC_MAP(i)) ENDDO ! CALL zWAXPY(N,HC,K(N*(j-1)+1),K(ioffset+1),SPC_MAP) ! loop unrolling is consistently slower here. 18:58 ENDDO IF ((.NOT. Autonomous).AND.(ros_Gamma(istage).NE.ZERO)) THEN HG = Direction*H*ros_Gamma(istage) ! full version: CALL WAXPY(N,HG,dFdT,1,K(ioffset+1),1) ! faster version: DO i = 1,rNVAR K(ioffset+SPC_MAP(i)) = K(ioffset+SPC_MAP(i)) + HG * dFdT(SPC_MAP(i)) ENDDO ENDIF ! CALL ros_cSolve(Ghimj(1:cNONZERO), Pivot, K(ioffset+1), JVS_MAP, SPC_MAP) ! this means that ros_cSolve now does not need to be mapped back to full space here ! avoiding several full maps. ! ! K is passed to ros_Solve -> KppSolve, which responds to DO_SLV. ! If DO_SLV is 0, K is not updated at that point ! Note other terms may still depend on other JVS(LU_NONZERO) or K(N) terms ... ! this fix is generally necessary. this means that before K gets to ! ros_Solve, the non-DO_SLV terms need to be zeroed out. ! ! of course this is inefficient, so care should be taken to only update K ! where necessary without doing this final sweep. ! each one of these sweeps costs approximately 2% of total time. ! DO j = 1, N ! IF (.not. DO_SLV(j)) K(ioffset+j) = 0.0_dp ! ENDDO ! ... 2.90% (39%) CALL ros_Solve(Ghimj, Pivot, K(ioffset+1)) ! ... 3.10% (40%) ! note in ros_cSolve -> kppSolve the back-substitution for !DO_SLV==!DO_FUN are ! not resolved so Ynew remains the same. ENDDO Stage ! roll the new solution and error estimation into one loop. Ynew(:) = Y(:) Yerr(:) = ZERO DO j = 1, ros_S DO i = 1,rNVAR Ynew(SPC_MAP(i)) = Ynew(SPC_MAP(i)) + ros_M(j) * K(N*(j-1)+SPC_MAP(i)) Yerr(SPC_MAP(i)) = Yerr(SPC_MAP(i)) + ros_E(j) * K(N*(j-1)+SPC_MAP(i)) ENDDO ENDDO Err = ros_ErrorNorm ( Y, Ynew, Yerr, AbsTol, RelTol, VectorTol ) ! ... 4.73% (~0.3%). i will leave this alone for now !~~~> New step size is bounded by FacMin <= Hnew/H <= FacMax Fac = MIN(FacMax,MAX(FacMin,FacSafe/Err**(ONE/ros_ELO))) Hnew = H*Fac !~~~> Check the error magnitude and adjust step size ISTATUS(Nstp) = ISTATUS(Nstp) + 1 IF ( (Err <= ONE).OR.(H <= Hmin) ) THEN !~~~> Accept step ISTATUS(Nacc) = ISTATUS(Nacc) + 1 CALL WCOPY(N,Ynew,1,Y,1) !Y(1:N) = Ynew(1:N) T = T + Direction*H Hnew = MAX(Hmin,MIN(Hnew,Hmax)) IF (RejectLastH) THEN ! No step size increase after a rejected step Hnew = MIN(Hnew,H) ENDIF RSTATUS(Nhexit) = H RSTATUS(Nhnew) = Hnew RSTATUS(Ntexit) = T RejectLastH = .FALSE. RejectMoreH = .FALSE. H = Hnew ! write(6,*) "STEP ACCEPTED" EXIT UntilAccepted ! EXIT THE LOOP: WHILE STEP NOT ACCEPTED ELSE !~~~> Reject step IF (RejectMoreH) THEN Hnew = H*FacRej END IF RejectMoreH = RejectLastH RejectLastH = .TRUE. H = Hnew IF (ISTATUS(Nacc) >= 1) ISTATUS(Nrej) = ISTATUS(Nrej) + 1 ! write(6,*) "STEP REJECTED" END IF ! Err <= 1 END DO UntilAccepted ! ... 4.70% END DO TimeLoop ! 1st order calculation for removed species per Shen et al. (2020) Eq. 4 ! -- currently, DO_FUN() selects ! -- DO_FUN loops over 1,NVAR. Only needs to loop over NVAR-rNVAR ! but the structure doesn't exist. Maybe worth considering ! for efficiency purposes. DO i=1,N IF (.not. DO_SLV(i)) THEN call autoreduce_1stOrder(i,Y(i),Prd0(i),Los0(i),Tstart,Tend) ENDIF ENDDO !~~~> Successful exit IERR = 1 !~~~> The integration was successful END SUBROUTINE ros_yIntegratorA SUBROUTINE AutoReduce_1stOrder(i,Y,P,k,Ti,Tf) REAL(kind=dp), INTENT(INOUT) :: Y REAL(kind=dp), INTENT(IN) :: P,k,Ti,Tf INTEGER, INTENT(IN) :: i REAL(kind=dp) :: term if (k .le. 1.d-30) return if (Y .le. 1.d-30) return term = P/k Y = term+(Y-term)*exp(-k*(Tf-Ti)) END SUBROUTINE AutoReduce_1stOrder !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ REAL(kind=dp) FUNCTION ros_ErrorNorm ( Y, Ynew, Yerr, & AbsTol, RelTol, VectorTol ) !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !~~~> Computes the "scaled norm" of the error vector Yerr !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ IMPLICIT NONE ! Input arguments REAL(kind=dp), INTENT(IN) :: Y(N), Ynew(N), & Yerr(N), AbsTol(N), RelTol(N) LOGICAL, INTENT(IN) :: VectorTol ! Local variables REAL(kind=dp) :: Err, Scale, Ymax INTEGER :: i REAL(kind=dp), PARAMETER :: ZERO = 0.0_dp Err = ZERO DO i=1,N Ymax = MAX(ABS(Y(i)),ABS(Ynew(i))) IF (VectorTol) THEN Scale = AbsTol(i)+RelTol(i)*Ymax ELSE Scale = AbsTol(1)+RelTol(1)*Ymax END IF Err = Err+(Yerr(i)/Scale)**2 END DO Err = SQRT(Err/N) ros_ErrorNorm = MAX(Err,1.0d-10) END FUNCTION ros_ErrorNorm !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE ros_FunTimeDerivative ( T, Roundoff, Y, Fcn0, dFdT ) !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !~~~> The time partial derivative of the function by finite differences !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ IMPLICIT NONE !~~~> Input arguments REAL(kind=dp), INTENT(IN) :: T, Roundoff, Y(N), Fcn0(N) !~~~> Output arguments REAL(kind=dp), INTENT(OUT) :: dFdT(N) !~~~> Local variables REAL(kind=dp) :: Delta REAL(kind=dp), PARAMETER :: ONE = 1.0_dp, DeltaMin = 1.0E-6_dp Delta = SQRT(Roundoff)*MAX(DeltaMin,ABS(T)) CALL FunTemplate( T+Delta, Y, dFdT ) ISTATUS(Nfun) = ISTATUS(Nfun) + 1 CALL WAXPY(N,(-ONE),Fcn0,1,dFdT,1) CALL WSCAL(N,(ONE/Delta),dFdT,1) END SUBROUTINE ros_FunTimeDerivative !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE ros_cPrepareMatrix ( H, Direction, gam, & Jac0, Ghimj, Pivot, Singular ) ! --- --- --- --- --- --- --- --- --- --- --- --- --- ! Prepares the LHS matrix for stage calculations ! 1. Construct Ghimj = 1/(H*ham) - Jac0 ! "(Gamma H) Inverse Minus Jacobian" ! 2. Repeat LU decomposition of Ghimj until successful. ! -half the step size if LU decomposition fails and retry ! -exit after 5 consecutive fails ! --- --- --- --- --- --- --- --- --- --- --- --- --- IMPLICIT NONE !~~~> Input arguments #ifdef FULL_ALGEBRA REAL(kind=dp), INTENT(IN) :: Jac0(N,N) #else REAL(kind=dp), INTENT(IN) :: Jac0(LU_NONZERO) #endif REAL(kind=dp), INTENT(IN) :: gam INTEGER, INTENT(IN) :: Direction !~~~> Output arguments #ifdef FULL_ALGEBRA REAL(kind=dp), INTENT(OUT) :: Ghimj(N,N) #else REAL(kind=dp), INTENT(OUT) :: Ghimj(cNONZERO) #endif LOGICAL, INTENT(OUT) :: Singular INTEGER, INTENT(OUT) :: Pivot(N) !~~~> Inout arguments REAL(kind=dp), INTENT(INOUT) :: H ! step size is decreased when LU fails !~~~> Local variables INTEGER :: i, ISING, Nconsecutive REAL(kind=dp) :: ghinv REAL(kind=dp), PARAMETER :: ONE = 1.0_dp, HALF = 0.5_dp Nconsecutive = 0 Singular = .TRUE. DO WHILE (Singular) !~~~> Construct Ghimj = 1/(H*gam) - Jac0 #ifdef FULL_ALGEBRA !slim: CALL WCOPY(N*N,Jac0,1,Ghimj,1) !slim: CALL WSCAL(N*N,(-ONE),Ghimj,1) Ghimj = -Jac0 ghinv = ONE/(Direction*H*gam) DO i=1,rNVAR Ghimj(i,i) = Ghimj(i,i)+ghinv END DO #else !slim: CALL WCOPY(LU_NONZERO,Jac0,1,Ghimj,1) !slim: CALL WSCAL(LU_NONZERO,(-ONE),Ghimj,1) Ghimj(1:cNONZERO) = -Jac0(JVS_MAP(1:cNONZERO)) ghinv = ONE/(Direction*H*gam) DO i=1,rNVAR Ghimj(cLU_DIAG(i)) = Ghimj(cLU_DIAG(i))+ghinv END DO #endif !~~~> Compute LU decomposition CALL ros_cDecomp( Ghimj, Pivot, ISING ) IF (ISING == 0) THEN !~~~> If successful done Singular = .FALSE. ELSE ! ISING .ne. 0 !~~~> If unsuccessful half the step size; if 5 consecutive fails then return ISTATUS(Nsng) = ISTATUS(Nsng) + 1 Nconsecutive = Nconsecutive+1 Singular = .TRUE. PRINT*,'Warning: LU Decomposition returned ISING = ',ISING IF (Nconsecutive <= 5) THEN ! Less than 5 consecutive failed decompositions H = H*HALF ELSE ! More than 5 consecutive failed decompositions RETURN END IF ! Nconsecutive END IF ! ISING END DO ! WHILE Singular END SUBROUTINE ros_cPrepareMatrix !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE ros_cDecomp( A, Pivot, ISING ) !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Template for the LU decomposition !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ IMPLICIT NONE !~~~> Inout variables #ifdef FULL_ALGEBRA REAL(kind=dp), INTENT(INOUT) :: A(N,N) #else REAL(kind=dp), INTENT(INOUT) :: A(cNONZERO) #endif !~~~> Output variables INTEGER, INTENT(OUT) :: Pivot(N), ISING #ifdef FULL_ALGEBRA CALL DGETRF( N, N, A, N, Pivot, ISING ) #else CALL cKppDecomp ( A, ISING ) Pivot(1) = 1 #endif ISTATUS(Ndec) = ISTATUS(Ndec) + 1 END SUBROUTINE ros_cDecomp !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE ros_cSolve( A, Pivot, b, map1, map2 ) !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Template for the forward/backward substitution (using pre-computed LU decomposition) !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ IMPLICIT NONE !~~~> Input variables #ifdef FULL_ALGEBRA REAL(kind=dp), INTENT(IN) :: A(N,N) INTEGER :: ISING #else REAL(kind=dp), INTENT(IN) :: A(cNONZERO) #endif INTEGER, INTENT(IN) :: Pivot(N) !~~~> InOut variables REAL(kind=dp), INTENT(INOUT) :: b(rNVAR) INTEGER, INTENT(IN) :: map1(LU_NONZERO), map2(NVAR) REAL(kind=dp) :: btmp(N), Atmp(LU_NONZERO) #ifdef FULL_ALGEBRA CALL DGETRS( 'N', N , 1, A, N, Pivot, b, N, ISING ) IF ( Info < 0 ) THEN PRINT*,"Error in DGETRS. ISING=",ISING END IF #else Atmp = 0.d0 Btmp = 0.d0 Atmp(map1(1:cNONZERO)) = A btmp(map2(1:rNVAR)) = b ! call cWCOPY(cNONZERO,LU_NONZERO,A,1,Atmp,1,map1) ! call cWCOPY(rNVAR,NVAR,B,1,Btmp,1,map2) CALL KppSolve( Atmp, btmp ) b = btmp(map2(1:rNVAR)) #endif ISTATUS(Nsol) = ISTATUS(Nsol) + 1 END SUBROUTINE ros_cSolve !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE ros_PrepareMatrix ( H, Direction, gam, & Jac0, Ghimj, Pivot, Singular ) ! --- --- --- --- --- --- --- --- --- --- --- --- --- ! Prepares the LHS matrix for stage calculations ! 1. Construct Ghimj = 1/(H*ham) - Jac0 ! "(Gamma H) Inverse Minus Jacobian" ! 2. Repeat LU decomposition of Ghimj until successful. ! -half the step size if LU decomposition fails and retry ! -exit after 5 consecutive fails ! --- --- --- --- --- --- --- --- --- --- --- --- --- IMPLICIT NONE !~~~> Input arguments #ifdef FULL_ALGEBRA REAL(kind=dp), INTENT(IN) :: Jac0(N,N) #else REAL(kind=dp), INTENT(IN) :: Jac0(LU_NONZERO) #endif REAL(kind=dp), INTENT(IN) :: gam INTEGER, INTENT(IN) :: Direction !~~~> Output arguments #ifdef FULL_ALGEBRA REAL(kind=dp), INTENT(OUT) :: Ghimj(N,N) #else REAL(kind=dp), INTENT(OUT) :: Ghimj(LU_NONZERO) #endif LOGICAL, INTENT(OUT) :: Singular INTEGER, INTENT(OUT) :: Pivot(N) !~~~> Inout arguments REAL(kind=dp), INTENT(INOUT) :: H ! step size is decreased when LU fails !~~~> Local variables INTEGER :: i, ising, Nconsecutive REAL(kind=dp) :: ghinv REAL(kind=dp), PARAMETER :: ONE = 1.0_dp, HALF = 0.5_dp Nconsecutive = 0 Singular = .TRUE. DO WHILE (Singular) !~~~> Construct Ghimj = 1/(H*gam) - Jac0 #ifdef FULL_ALGEBRA !slim: CALL WCOPY(N*N,Jac0,1,Ghimj,1) !slim: CALL WSCAL(N*N,(-ONE),Ghimj,1) Ghimj = -Jac0 ghinv = ONE/(Direction*H*gam) DO i=1,N Ghimj(i,i) = Ghimj(i,i)+ghinv END DO #else !slim: CALL WCOPY(LU_NONZERO,Jac0,1,Ghimj,1) !slim: CALL WSCAL(LU_NONZERO,(-ONE),Ghimj,1) Ghimj(1:LU_NONZERO) = -Jac0(1:LU_NONZERO) ghinv = ONE/(Direction*H*gam) DO i=1,N Ghimj(LU_DIAG(i)) = Ghimj(LU_DIAG(i))+ghinv END DO #endif !~~~> Compute LU decomposition CALL ros_Decomp( Ghimj, Pivot, ising ) IF (ising == 0) THEN !~~~> If successful done Singular = .FALSE. ELSE ! ising .ne. 0 !~~~> If unsuccessful half the step size; if 5 consecutive fails then return ISTATUS(Nsng) = ISTATUS(Nsng) + 1 Nconsecutive = Nconsecutive+1 Singular = .TRUE. PRINT*,'Warning: LU Decomposition returned ising = ',ising IF (Nconsecutive <= 5) THEN ! Less than 5 consecutive failed decompositions H = H*HALF ELSE ! More than 5 consecutive failed decompositions RETURN END IF ! Nconsecutive END IF ! ising END DO ! WHILE Singular END SUBROUTINE ros_PrepareMatrix !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE ros_Decomp( A, Pivot, ising ) !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Template for the LU decomposition !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ IMPLICIT NONE !~~~> Inout variables #ifdef FULL_ALGEBRA REAL(kind=dp), INTENT(INOUT) :: A(N,N) #else REAL(kind=dp), INTENT(INOUT) :: A(LU_NONZERO) #endif !~~~> Output variables INTEGER, INTENT(OUT) :: Pivot(N), ising #ifdef FULL_ALGEBRA CALL DGETRF( N, N, A, N, Pivot, ising ) #else CALL KppDecomp ( A, ising ) Pivot(1) = 1 #endif ISTATUS(Ndec) = ISTATUS(Ndec) + 1 END SUBROUTINE ros_Decomp !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE ros_Solve( A, Pivot, b ) !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Template for the forward/backward substitution ! (using pre-computed LU decomposition) !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ IMPLICIT NONE !~~~> Input variables #ifdef FULL_ALGEBRA REAL(kind=dp), INTENT(IN) :: A(N,N) INTEGER :: ising #else REAL(kind=dp), INTENT(IN) :: A(LU_NONZERO) #endif INTEGER, INTENT(IN) :: Pivot(N) !~~~> InOut variables REAL(kind=dp), INTENT(INOUT) :: b(N) #ifdef FULL_ALGEBRA CALL DGETRS( 'N', N , 1, A, N, Pivot, b, N, ising ) IF ( Info < 0 ) THEN PRINT*,"Error in DGETRS. ising=",ising END IF #else CALL KppSolve( A, b ) #endif ISTATUS(Nsol) = ISTATUS(Nsol) + 1 END SUBROUTINE ros_Solve !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Ros2 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! --- AN L-STABLE METHOD, 2 stages, order 2 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ IMPLICIT NONE DOUBLE PRECISION g g = 1.0_dp + 1.0_dp/SQRT(2.0_dp) rosMethod = RS2 !~~~> Name of the method ros_Name = 'ROS-2' !~~~> Number of stages ros_S = 2 !~~~> The coefficient matrices A and C are strictly lower triangular. ! The lower triangular (subdiagonal) elements are stored in row-wise order: ! A(2,1) = ros_A(1), A(3,1)=ros_A(2), A(3,2)=ros_A(3), etc. ! The general mapping formula is: ! A(i,j) = ros_A( (i-1)*(i-2)/2 + j ) ! C(i,j) = ros_C( (i-1)*(i-2)/2 + j ) ros_A(1) = (1.0_dp)/g ros_C(1) = (-2.0_dp)/g !~~~> Does the stage i require a new function evaluation (ros_NewF(i)=TRUE) ! or does it re-use the function evaluation from stage i-1 (ros_NewF(i)=FALSE) ros_NewF(1) = .TRUE. ros_NewF(2) = .TRUE. !~~~> M_i = Coefficients for new step solution ros_M(1)= (3.0_dp)/(2.0_dp*g) ros_M(2)= (1.0_dp)/(2.0_dp*g) ! E_i = Coefficients for error estimator ros_E(1) = 1.0_dp/(2.0_dp*g) ros_E(2) = 1.0_dp/(2.0_dp*g) !~~~> ros_ELO = estimator of local order - the minimum between the ! main and the embedded scheme orders plus one ros_ELO = 2.0_dp !~~~> Y_stage_i ~ Y( T + H*Alpha_i ) ros_Alpha(1) = 0.0_dp ros_Alpha(2) = 1.0_dp !~~~> Gamma_i = \sum_j gamma_{i,j} ros_Gamma(1) = g ros_Gamma(2) =-g END SUBROUTINE Ros2 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Ros3 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! --- AN L-STABLE METHOD, 3 stages, order 3, 2 function evaluations !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ IMPLICIT NONE rosMethod = RS3 !~~~> Name of the method ros_Name = 'ROS-3' !~~~> Number of stages ros_S = 3 !~~~> The coefficient matrices A and C are strictly lower triangular. ! The lower triangular (subdiagonal) elements are stored in row-wise order: ! A(2,1) = ros_A(1), A(3,1)=ros_A(2), A(3,2)=ros_A(3), etc. ! The general mapping formula is: ! A(i,j) = ros_A( (i-1)*(i-2)/2 + j ) ! C(i,j) = ros_C( (i-1)*(i-2)/2 + j ) ros_A(1)= 1.0_dp ros_A(2)= 1.0_dp ros_A(3)= 0.0_dp ros_C(1) = -0.10156171083877702091975600115545E+01_dp ros_C(2) = 0.40759956452537699824805835358067E+01_dp ros_C(3) = 0.92076794298330791242156818474003E+01_dp !~~~> Does the stage i require a new function evaluation (ros_NewF(i)=TRUE) ! or does it re-use the function evaluation from stage i-1 (ros_NewF(i)=FALSE) ros_NewF(1) = .TRUE. ros_NewF(2) = .TRUE. ros_NewF(3) = .FALSE. !~~~> M_i = Coefficients for new step solution ros_M(1) = 0.1E+01_dp ros_M(2) = 0.61697947043828245592553615689730E+01_dp ros_M(3) = -0.42772256543218573326238373806514_dp ! E_i = Coefficients for error estimator ros_E(1) = 0.5_dp ros_E(2) = -0.29079558716805469821718236208017E+01_dp ros_E(3) = 0.22354069897811569627360909276199_dp !~~~> ros_ELO = estimator of local order - the minimum between the ! main and the embedded scheme orders plus 1 ros_ELO = 3.0_dp !~~~> Y_stage_i ~ Y( T + H*Alpha_i ) ros_Alpha(1)= 0.0_dp ros_Alpha(2)= 0.43586652150845899941601945119356_dp ros_Alpha(3)= 0.43586652150845899941601945119356_dp !~~~> Gamma_i = \sum_j gamma_{i,j} ros_Gamma(1)= 0.43586652150845899941601945119356_dp ros_Gamma(2)= 0.24291996454816804366592249683314_dp ros_Gamma(3)= 0.21851380027664058511513169485832E+01_dp END SUBROUTINE Ros3 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Ros4 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! L-STABLE ROSENBROCK METHOD OF ORDER 4, WITH 4 STAGES ! L-STABLE EMBEDDED ROSENBROCK METHOD OF ORDER 3 ! ! E. HAIRER AND G. WANNER, SOLVING ORDINARY DIFFERENTIAL ! EQUATIONS II. STIFF AND DIFFERENTIAL-ALGEBRAIC PROBLEMS. ! SPRINGER SERIES IN COMPUTATIONAL MATHEMATICS, ! SPRINGER-VERLAG (1990) !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ IMPLICIT NONE rosMethod = RS4 !~~~> Name of the method ros_Name = 'ROS-4' !~~~> Number of stages ros_S = 4 !~~~> The coefficient matrices A and C are strictly lower triangular. ! The lower triangular (subdiagonal) elements are stored in row-wise order: ! A(2,1) = ros_A(1), A(3,1)=ros_A(2), A(3,2)=ros_A(3), etc. ! The general mapping formula is: ! A(i,j) = ros_A( (i-1)*(i-2)/2 + j ) ! C(i,j) = ros_C( (i-1)*(i-2)/2 + j ) ros_A(1) = 0.2000000000000000E+01_dp ros_A(2) = 0.1867943637803922E+01_dp ros_A(3) = 0.2344449711399156_dp ros_A(4) = ros_A(2) ros_A(5) = ros_A(3) ros_A(6) = 0.0_dp ros_C(1) =-0.7137615036412310E+01_dp ros_C(2) = 0.2580708087951457E+01_dp ros_C(3) = 0.6515950076447975_dp ros_C(4) =-0.2137148994382534E+01_dp ros_C(5) =-0.3214669691237626_dp ros_C(6) =-0.6949742501781779_dp !~~~> Does the stage i require a new function evaluation (ros_NewF(i)=TRUE) ! or does it re-use the function evaluation from stage i-1 (ros_NewF(i)=FALSE) ros_NewF(1) = .TRUE. ros_NewF(2) = .TRUE. ros_NewF(3) = .TRUE. ros_NewF(4) = .FALSE. !~~~> M_i = Coefficients for new step solution ros_M(1) = 0.2255570073418735E+01_dp ros_M(2) = 0.2870493262186792_dp ros_M(3) = 0.4353179431840180_dp ros_M(4) = 0.1093502252409163E+01_dp !~~~> E_i = Coefficients for error estimator ros_E(1) =-0.2815431932141155_dp ros_E(2) =-0.7276199124938920E-01_dp ros_E(3) =-0.1082196201495311_dp ros_E(4) =-0.1093502252409163E+01_dp !~~~> ros_ELO = estimator of local order - the minimum between the ! main and the embedded scheme orders plus 1 ros_ELO = 4.0_dp !~~~> Y_stage_i ~ Y( T + H*Alpha_i ) ros_Alpha(1) = 0.0_dp ros_Alpha(2) = 0.1145640000000000E+01_dp ros_Alpha(3) = 0.6552168638155900_dp ros_Alpha(4) = ros_Alpha(3) !~~~> Gamma_i = \sum_j gamma_{i,j} ros_Gamma(1) = 0.5728200000000000_dp ros_Gamma(2) =-0.1769193891319233E+01_dp ros_Gamma(3) = 0.7592633437920482_dp ros_Gamma(4) =-0.1049021087100450_dp END SUBROUTINE Ros4 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Rodas3 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! --- A STIFFLY-STABLE METHOD, 4 stages, order 3 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ IMPLICIT NONE rosMethod = RD3 !~~~> Name of the method ros_Name = 'RODAS-3' !~~~> Number of stages ros_S = 4 !~~~> The coefficient matrices A and C are strictly lower triangular. ! The lower triangular (subdiagonal) elements are stored in row-wise order: ! A(2,1) = ros_A(1), A(3,1)=ros_A(2), A(3,2)=ros_A(3), etc. ! The general mapping formula is: ! A(i,j) = ros_A( (i-1)*(i-2)/2 + j ) ! C(i,j) = ros_C( (i-1)*(i-2)/2 + j ) ros_A(1) = 0.0_dp ros_A(2) = 2.0_dp ros_A(3) = 0.0_dp ros_A(4) = 2.0_dp ros_A(5) = 0.0_dp ros_A(6) = 1.0_dp ros_C(1) = 4.0_dp ros_C(2) = 1.0_dp ros_C(3) =-1.0_dp ros_C(4) = 1.0_dp ros_C(5) =-1.0_dp ros_C(6) =-(8.0_dp/3.0_dp) !~~~> Does the stage i require a new function evaluation (ros_NewF(i)=TRUE) ! or does it re-use the function evaluation from stage i-1 (ros_NewF(i)=FALSE) ros_NewF(1) = .TRUE. ros_NewF(2) = .FALSE. ros_NewF(3) = .TRUE. ros_NewF(4) = .TRUE. !~~~> M_i = Coefficients for new step solution ros_M(1) = 2.0_dp ros_M(2) = 0.0_dp ros_M(3) = 1.0_dp ros_M(4) = 1.0_dp !~~~> E_i = Coefficients for error estimator ros_E(1) = 0.0_dp ros_E(2) = 0.0_dp ros_E(3) = 0.0_dp ros_E(4) = 1.0_dp !~~~> ros_ELO = estimator of local order - the minimum between the ! main and the embedded scheme orders plus 1 ros_ELO = 3.0_dp !~~~> Y_stage_i ~ Y( T + H*Alpha_i ) ros_Alpha(1) = 0.0_dp ros_Alpha(2) = 0.0_dp ros_Alpha(3) = 1.0_dp ros_Alpha(4) = 1.0_dp !~~~> Gamma_i = \sum_j gamma_{i,j} ros_Gamma(1) = 0.5_dp ros_Gamma(2) = 1.5_dp ros_Gamma(3) = 0.0_dp ros_Gamma(4) = 0.0_dp END SUBROUTINE Rodas3 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Rodas4 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! STIFFLY-STABLE ROSENBROCK METHOD OF ORDER 4, WITH 6 STAGES ! ! E. HAIRER AND G. WANNER, SOLVING ORDINARY DIFFERENTIAL ! EQUATIONS II. STIFF AND DIFFERENTIAL-ALGEBRAIC PROBLEMS. ! SPRINGER SERIES IN COMPUTATIONAL MATHEMATICS, ! SPRINGER-VERLAG (1996) !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ IMPLICIT NONE rosMethod = RD4 !~~~> Name of the method ros_Name = 'RODAS-4' !~~~> Number of stages ros_S = 6 !~~~> Y_stage_i ~ Y( T + H*Alpha_i ) ros_Alpha(1) = 0.000_dp ros_Alpha(2) = 0.386_dp ros_Alpha(3) = 0.210_dp ros_Alpha(4) = 0.630_dp ros_Alpha(5) = 1.000_dp ros_Alpha(6) = 1.000_dp !~~~> Gamma_i = \sum_j gamma_{i,j} ros_Gamma(1) = 0.2500000000000000_dp ros_Gamma(2) =-0.1043000000000000_dp ros_Gamma(3) = 0.1035000000000000_dp ros_Gamma(4) =-0.3620000000000023E-01_dp ros_Gamma(5) = 0.0_dp ros_Gamma(6) = 0.0_dp !~~~> The coefficient matrices A and C are strictly lower triangular. ! The lower triangular (subdiagonal) elements are stored in row-wise order: ! A(2,1) = ros_A(1), A(3,1)=ros_A(2), A(3,2)=ros_A(3), etc. ! The general mapping formula is: A(i,j) = ros_A( (i-1)*(i-2)/2 + j ) ! C(i,j) = ros_C( (i-1)*(i-2)/2 + j ) ros_A(1) = 0.1544000000000000E+01_dp ros_A(2) = 0.9466785280815826_dp ros_A(3) = 0.2557011698983284_dp ros_A(4) = 0.3314825187068521E+01_dp ros_A(5) = 0.2896124015972201E+01_dp ros_A(6) = 0.9986419139977817_dp ros_A(7) = 0.1221224509226641E+01_dp ros_A(8) = 0.6019134481288629E+01_dp ros_A(9) = 0.1253708332932087E+02_dp ros_A(10) =-0.6878860361058950_dp ros_A(11) = ros_A(7) ros_A(12) = ros_A(8) ros_A(13) = ros_A(9) ros_A(14) = ros_A(10) ros_A(15) = 1.0_dp ros_C(1) =-0.5668800000000000E+01_dp ros_C(2) =-0.2430093356833875E+01_dp ros_C(3) =-0.2063599157091915_dp ros_C(4) =-0.1073529058151375_dp ros_C(5) =-0.9594562251023355E+01_dp ros_C(6) =-0.2047028614809616E+02_dp ros_C(7) = 0.7496443313967647E+01_dp ros_C(8) =-0.1024680431464352E+02_dp ros_C(9) =-0.3399990352819905E+02_dp ros_C(10) = 0.1170890893206160E+02_dp ros_C(11) = 0.8083246795921522E+01_dp ros_C(12) =-0.7981132988064893E+01_dp ros_C(13) =-0.3152159432874371E+02_dp ros_C(14) = 0.1631930543123136E+02_dp ros_C(15) =-0.6058818238834054E+01_dp !~~~> M_i = Coefficients for new step solution ros_M(1) = ros_A(7) ros_M(2) = ros_A(8) ros_M(3) = ros_A(9) ros_M(4) = ros_A(10) ros_M(5) = 1.0_dp ros_M(6) = 1.0_dp !~~~> E_i = Coefficients for error estimator ros_E(1) = 0.0_dp ros_E(2) = 0.0_dp ros_E(3) = 0.0_dp ros_E(4) = 0.0_dp ros_E(5) = 0.0_dp ros_E(6) = 1.0_dp !~~~> Does the stage i require a new function evaluation (ros_NewF(i)=TRUE) ! or does it re-use the function evaluation from stage i-1 (ros_NewF(i)=FALSE) ros_NewF(1) = .TRUE. ros_NewF(2) = .TRUE. ros_NewF(3) = .TRUE. ros_NewF(4) = .TRUE. ros_NewF(5) = .TRUE. ros_NewF(6) = .TRUE. !~~~> ros_ELO = estimator of local order - the minimum between the ! main and the embedded scheme orders plus 1 ros_ELO = 4.0_dp END SUBROUTINE Rodas4 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Rang3 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! STIFFLY-STABLE W METHOD OF ORDER 3, WITH 4 STAGES ! ! J. RANG and L. ANGERMANN ! NEW ROSENBROCK W-METHODS OF ORDER 3 ! FOR PARTIAL DIFFERENTIAL ALGEBRAIC ! EQUATIONS OF INDEX 1 ! BIT Numerical Mathematics (2005) 45: 761-787 ! DOI: 10.1007/s10543-005-0035-y ! Table 4.1-4.2 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ IMPLICIT NONE rosMethod = RG3 !~~~> Name of the method ros_Name = 'RANG-3' !~~~> Number of stages ros_S = 4 ros_A(1) = 5.09052051067020d+00; ros_A(2) = 5.09052051067020d+00; ros_A(3) = 0.0d0; ros_A(4) = 4.97628111010787d+00; ros_A(5) = 2.77268164715849d-02; ros_A(6) = 2.29428036027904d-01; ros_C(1) = -1.16790812312283d+01; ros_C(2) = -1.64057326467367d+01; ros_C(3) = -2.77268164715850d-01; ros_C(4) = -8.38103960500476d+00; ros_C(5) = -8.48328409199343d-01; ros_C(6) = 2.87009860433106d-01; ros_M(1) = 5.22582761233094d+00; ros_M(2) = -5.56971148154165d-01; ros_M(3) = 3.57979469353645d-01; ros_M(4) = 1.72337398521064d+00; ros_E(1) = -5.16845212784040d+00; ros_E(2) = -1.26351942603842d+00; ros_E(3) = -1.11022302462516d-16; ros_E(4) = 2.22044604925031d-16; ros_Alpha(1) = 0.0d00; ros_Alpha(2) = 2.21878746765329d+00; ros_Alpha(3) = 2.21878746765329d+00; ros_Alpha(4) = 1.55392337535788d+00; ros_Gamma(1) = 4.35866521508459d-01; ros_Gamma(2) = -1.78292094614483d+00; ros_Gamma(3) = -2.46541900496934d+00; ros_Gamma(4) = -8.05529997906370d-01; !~~~> Does the stage i require a new function evaluation (ros_NewF(i)=TRUE) ! or does it re-use the function evaluation from stage i-1 (ros_NewF(i)=FALSE) ros_NewF(1) = .TRUE. ros_NewF(2) = .TRUE. ros_NewF(3) = .TRUE. ros_NewF(4) = .TRUE. !~~~> ros_ELO = estimator of local order - the minimum between the ! main and the embedded scheme orders plus 1 ros_ELO = 3.0_dp END SUBROUTINE Rang3 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! End of the set of internal Rosenbrock subroutines !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ END SUBROUTINE Rosenbrock !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE FunTemplate( T, Y, Ydot, P_VAR, D_VAR ) !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Template for the ODE function call. ! Updates the rate coefficients (and possibly the fixed species) at each call !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ USE gckpp_Parameters, ONLY : NVAR, LU_NONZERO USE gckpp_Global, ONLY : FIX, RCONST, TIME USE gckpp_Function, ONLY : Fun, Fun_SPLIT USE gckpp_Rates, ONLY : Update_SUN, Update_RCONST !~~~> Input variables REAL(kind=dp) :: T, Y(NVAR) !~~~> Output variables REAL(kind=dp) :: Ydot(NVAR) REAL(kind=dp), OPTIONAL :: P_VAR(NVAR), D_VAR(NVAR) !~~~> Local variables REAL(kind=dp) :: Told, P(NVAR), D(NVAR) Told = TIME TIME = T IF ( Do_Update_SUN ) CALL Update_SUN() IF ( Do_Update_RCONST ) CALL Update_RCONST(Y) CALL FUN_SPLIT( Y, FIX, RCONST, Ydot, P, D ) TIME = Told IF (Present(P_VAR)) P_VAR=P IF (Present(D_VAR)) D_VAR=D END SUBROUTINE FunTemplate !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE FunSplitF( T, Y, Ydot, P_VAR, D_VAR, DY_VAR ) !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Template for the ODE function call. ! Updates the rate coefficients (and possibly the fixed species) at each call ! This version does not react to DO_FUN even within autoreduce. ! It also does not have any optional arguments. !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ USE gckpp_Parameters, ONLY: NVAR, LU_NONZERO USE gckpp_Global, ONLY: FIX, RCONST, TIME USE gckpp_Function, ONLY: Fun_SPLITF !~~~> Input variables REAL(kind=dp) :: T, Y(NVAR) !~~~> Output variables REAL(kind=dp) :: Ydot(NVAR) REAL(kind=dp) :: P_VAR(NVAR), D_VAR(NVAR), DY_VAR(NVAR) !~~~> Local variables REAL(kind=dp) :: Told, P(NVAR), D(NVAR) P = 0.d0 D = 0.d0 Told = TIME TIME = T CALL Fun_SPLITF( Y, FIX, RCONST, P, D ) DY_VAR = D*y ! this can be used later. Ydot = P - DY_VAR TIME = Told P_VAR=P D_VAR=D END SUBROUTINE FunSplitF !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE FunSplitN( T, Y, Ydot) !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Template for the ODE function call. ! Updates the rate coefficients (and possibly the fixed species) at each call ! This version does not have any optional arguments. !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ USE gckpp_Parameters, ONLY: NVAR, LU_NONZERO USE gckpp_Global, ONLY: FIX, RCONST, TIME USE gckpp_Function, ONLY: Fun_SPLITF !~~~> Input variables REAL(kind=dp) :: T, Y(NVAR) !~~~> Output variables REAL(kind=dp) :: Ydot(NVAR) REAL(kind=dp) :: P_VAR(NVAR), D_VAR(NVAR) !~~~> Local variables REAL(kind=dp) :: Told, P(NVAR), D(NVAR) P = 0.d0 D = 0.d0 Told = TIME TIME = T CALL Fun_SPLITF( Y, FIX, RCONST, P, D ) Ydot = P - D*y TIME = Told END SUBROUTINE FunSplitN !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE JacTemplate( T, Y, Jcb ) !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Template for the ODE Jacobian call. ! Updates the rate coefficients (and possibly the fixed species) at each call !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ USE gckpp_Parameters, ONLY : NVAR, LU_NONZERO USE gckpp_Global, ONLY : FIX, RCONST, TIME USE gckpp_Jacobian, ONLY : Jac_SP, LU_IROW, LU_ICOL USE gckpp_LinearAlgebra USE gckpp_Rates, ONLY : Update_SUN, Update_RCONST !~~~> Input variables REAL(kind=dp) :: T, Y(NVAR) !~~~> Output variables #ifdef FULL_ALGEBRA REAL(kind=dp) :: JV(LU_NONZERO), Jcb(NVAR,NVAR) #else REAL(kind=dp) :: Jcb(LU_NONZERO) #endif !~~~> Local variables REAL(kind=dp) :: Told #ifdef FULL_ALGEBRA INTEGER :: i, j #endif Told = TIME TIME = T IF ( Do_Update_SUN ) CALL Update_SUN() IF ( Do_Update_RCONST ) CALL Update_RCONST(Y) #ifdef FULL_ALGEBRA CALL Jac_SP(Y, FIX, RCONST, JV) DO j=1,NVAR DO i=1,NVAR Jcb(i,j) = 0.0_dp END DO END DO DO i=1,LU_NONZERO Jcb(LU_IROW(i),LU_ICOL(i)) = JV(i) END DO #else CALL Jac_SP( Y, FIX, RCONST, Jcb ) #endif TIME = Told END SUBROUTINE JacTemplate ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE cKppDecomp( JVS, IER ) ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Sparse LU factorization ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ USE gckpp_Parameters USE gckpp_JacobianSP INTEGER :: IER REAL(kind=dp) :: JVS(cNONZERO), W(rNVAR), a INTEGER :: k, kk, j, jj a = 0. ! mz_rs_20050606 IER = 0 DO k=1,rNVAR ! mz_rs_20050606: don't check if real value == 0 ! IF ( JVS( LU_DIAG(k) ) .EQ. 0. ) THEN IF ( ABS(JVS(cLU_DIAG(k))) < TINY(a) ) THEN IER = k RETURN END IF DO kk = cLU_CROW(k), cLU_CROW(k+1)-1 W( cLU_ICOL(kk) ) = JVS(kk) END DO DO kk = cLU_CROW(k), cLU_DIAG(k)-1 j = cLU_ICOL(kk) a = -W(j) / JVS( cLU_DIAG(j) ) W(j) = -a DO jj = cLU_DIAG(j)+1, cLU_CROW(j+1)-1 W( cLU_ICOL(jj) ) = W( cLU_ICOL(jj) ) + a*JVS(jj) END DO END DO DO kk = cLU_CROW(k), cLU_CROW(k+1)-1 JVS(kk) = W( cLU_ICOL(kk) ) END DO END DO END SUBROUTINE cKppDecomp SUBROUTINE APPEND(IDX) USE gckpp_JacobianSP ! Reactivate a deactivated species INTEGER, INTENT(IN) :: IDX ! Index of deactivated KPP species to append INTEGER :: I ! set the do_* logicals DO_SLV(IDX) = .true. DO_FUN(IDX) = .true. ! increment rNVAR rNVAR = rNVAR+1 ! append SPC_MAP & iSPC_MAP SPC_MAP(rNVAR) = IDX ! From AR to full species iSPC_MAP(IDX) = rNVAR ! From full to AR species ! -- the following requires scanning LU_NONZERO elements DO I = 1, LU_NONZERO IF (LU_IROW(i).eq.IDX .and. DO_SLV(LU_ICOL(i))) THEN ! TERM IS ACTIVE cNONZERO = cNONZERO+1 ! Add a non-zero term ! append cLU_IROW ! append cLU_ICOL ! append JVS_MAP cLU_IROW(cNONZERO) = iSPC_MAP(LU_IROW(I)) cLU_ICOL(cNONZERO) = iSPC_MAP(LU_ICOL(I)) JVS_MAP(cNONZERO) = I DO_JVS(I) = .true. ! append cLU_CROW ! append cLU_DIAG IF (cLU_IROW(cNONZERO).ne.cLU_IROW(cNONZERO-1)) THEN cLU_CROW(rNVAR) = cNONZERO ENDIF IF (cLU_IROW(cNONZERO).eq.cLU_ICOL(cNONZERO)) THEN cLU_DIAG(rNVAR) = cNONZERO ENDIF ENDIF ENDDO cLU_CROW(rNVAR+1) = cNONZERO+1 cLU_DIAG(rNVAR+1) = cLU_DIAG(rNVAR)+1 END SUBROUTINE APPEND END MODULE gckpp_Integrator ! End of INTEGRATE function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ================================================ FILE: KPP/fullchem/gckpp_Jacobian.F90 ================================================ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! The ODE Jacobian of Chemical Model File ! ! Generated by KPP-3.2.0 symbolic chemistry Kinetics PreProcessor ! (https:/github.com/KineticPreProcessor/KPP ! KPP is distributed under GPL, the general public licence ! (http://www.gnu.org/copyleft/gpl.html) ! (C) 1995-1997, V. Damian & A. Sandu, CGRER, Univ. Iowa ! (C) 1997-2022, A. Sandu, Michigan Tech, Virginia Tech ! With important contributions from: ! M. Damian, Villanova University, Philadelphia, PA, USA ! R. Sander, Max-Planck Institute for Chemistry, Mainz, Germany ! M. Long, Renaissance Fiber, LLC, North Carolina, USA ! H. Lin, Harvard University, Cambridge, MA, USA ! R. Yantosca, Harvard University, Cambridge, MA, USA ! ! File : gckpp_Jacobian.F90 ! Equation file : gckpp.kpp ! Output root filename : gckpp ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MODULE gckpp_Jacobian USE gckpp_Global, ONLY: DO_JVS USE gckpp_Parameters USE gckpp_JacobianSP IMPLICIT NONE CONTAINS ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Jac_SP - the Jacobian of Variables in sparse matrix representation ! Arguments : ! V - Concentrations of variable species (local) ! F - Concentrations of fixed species (local) ! RCT - Rate constants (local) ! JVS - sparse Jacobian of variables ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Jac_SP ( V, F, RCT, JVS ) ! V - Concentrations of variable species (local) REAL(kind=dp) :: V(NVAR) ! F - Concentrations of fixed species (local) REAL(kind=dp) :: F(NFIX) ! RCT - Rate constants (local) REAL(kind=dp) :: RCT(NREACT) ! JVS - sparse Jacobian of variables REAL(kind=dp) :: JVS(LU_NONZERO) ! Local variables ! B - Temporary array REAL(kind=dp) :: B(1817) ! B(1) = dA(1)/dV(179) B(1) = RCT(1)*V(341)*V(348) ! B(2) = dA(1)/dV(341) B(2) = RCT(1)*V(179)*V(348) ! B(3) = dA(1)/dV(348) B(3) = RCT(1)*V(179)*V(341) ! B(4) = dA(2)/dV(179) B(4) = RCT(2)*V(339) ! B(5) = dA(2)/dV(339) B(5) = RCT(2)*V(179) ! B(6) = dA(3)/dV(179) B(6) = RCT(3)*V(327) ! B(7) = dA(3)/dV(327) B(7) = RCT(3)*V(179) ! B(8) = dA(4)/dV(166) B(8) = RCT(4)*V(341)*V(348) ! B(9) = dA(4)/dV(341) B(9) = RCT(4)*V(166)*V(348) ! B(10) = dA(4)/dV(348) B(10) = RCT(4)*V(166)*V(341) ! B(11) = dA(5)/dV(166) B(11) = RCT(5)*V(339) ! B(12) = dA(5)/dV(339) B(12) = RCT(5)*V(166) ! B(13) = dA(6)/dV(166) B(13) = RCT(6)*V(327) ! B(14) = dA(6)/dV(327) B(14) = RCT(6)*V(166) ! B(15) = dA(7)/dV(264) B(15) = RCT(7)*V(348) ! B(16) = dA(7)/dV(348) B(16) = RCT(7)*V(264) ! B(17) = dA(8)/dV(341) B(17) = RCT(8)*V(348) ! B(18) = dA(8)/dV(348) B(18) = RCT(8)*V(341) ! B(19) = dA(9)/dV(348) B(19) = RCT(9) ! B(20) = dA(10)/dV(325) B(20) = RCT(10)*V(348) ! B(21) = dA(10)/dV(348) B(21) = RCT(10)*V(325) ! B(22) = dA(11)/dV(89) B(22) = RCT(11) ! B(23) = dA(12)/dV(89) B(23) = RCT(12)*V(345)*V(348) ! B(24) = dA(12)/dV(345) B(24) = RCT(12)*V(89)*V(348) ! B(25) = dA(12)/dV(348) B(25) = RCT(12)*V(89)*V(345) ! B(26) = dA(13)/dV(341) B(26) = RCT(13)*V(346) ! B(27) = dA(13)/dV(346) B(27) = RCT(13)*V(341) ! B(28) = dA(14)/dV(341) B(28) = RCT(14)*V(345) ! B(29) = dA(14)/dV(345) B(29) = RCT(14)*V(341) ! B(30) = dA(15)/dV(337) B(30) = RCT(15)*V(341) ! B(31) = dA(15)/dV(341) B(31) = RCT(15)*V(337) ! B(32) = dA(16)/dV(335) B(32) = RCT(16)*V(341) ! B(33) = dA(16)/dV(341) B(33) = RCT(16)*V(335) ! B(34) = dA(17)/dV(328) B(34) = RCT(17)*V(341) ! B(35) = dA(17)/dV(341) B(35) = RCT(17)*V(328) ! B(36) = dA(18)/dV(345) B(36) = RCT(18)*2*V(345) ! B(37) = dA(19)/dV(345) B(37) = RCT(19)*2*V(345) ! B(38) = dA(20)/dV(337) B(38) = RCT(20)*V(345) ! B(39) = dA(20)/dV(345) B(39) = RCT(20)*V(337) ! B(40) = dA(21)/dV(264) B(40) = RCT(21)*V(345) ! B(41) = dA(21)/dV(345) B(41) = RCT(21)*V(264) ! B(42) = dA(22)/dV(337) B(42) = RCT(22)*V(346) ! B(43) = dA(22)/dV(346) B(43) = RCT(22)*V(337) ! B(44) = dA(23)/dV(337) B(44) = RCT(23)*2*V(337) ! B(45) = dA(24)/dV(329) B(45) = RCT(24)*V(345) ! B(46) = dA(24)/dV(345) B(46) = RCT(24)*V(329) ! B(47) = dA(25)/dV(228) B(47) = RCT(25)*V(345) ! B(48) = dA(25)/dV(345) B(48) = RCT(25)*V(228) ! B(49) = dA(26)/dV(328) B(49) = RCT(26)*V(346) ! B(50) = dA(26)/dV(346) B(50) = RCT(26)*V(328) ! B(51) = dA(27)/dV(328) B(51) = RCT(27)*V(346) ! B(52) = dA(27)/dV(346) B(52) = RCT(27)*V(328) ! B(53) = dA(28)/dV(328) B(53) = RCT(28)*V(337) ! B(54) = dA(28)/dV(337) B(54) = RCT(28)*V(328) ! B(55) = dA(29)/dV(328) B(55) = RCT(29)*2*V(328) ! B(56) = dA(30)/dV(328) B(56) = RCT(30)*2*V(328) ! B(57) = dA(31)/dV(328) B(57) = RCT(31)*V(345) ! B(58) = dA(31)/dV(345) B(58) = RCT(31)*V(328) ! B(59) = dA(32)/dV(164) B(59) = RCT(32)*V(345) ! B(60) = dA(32)/dV(345) B(60) = RCT(32)*V(164) ! B(61) = dA(33)/dV(244) B(61) = RCT(33)*V(345) ! B(62) = dA(33)/dV(345) B(62) = RCT(33)*V(244) ! B(63) = dA(34)/dV(325) B(63) = RCT(34)*V(345) ! B(64) = dA(34)/dV(345) B(64) = RCT(34)*V(325) ! B(65) = dA(35)/dV(335) B(65) = RCT(35)*V(345) ! B(66) = dA(35)/dV(345) B(66) = RCT(35)*V(335) ! B(67) = dA(36)/dV(327) B(67) = RCT(36)*V(345) ! B(68) = dA(36)/dV(345) B(68) = RCT(36)*V(327) ! B(69) = dA(37)/dV(345) B(69) = RCT(37)*V(346) ! B(70) = dA(37)/dV(346) B(70) = RCT(37)*V(345) ! B(71) = dA(38)/dV(239) B(71) = RCT(38)*V(345) ! B(72) = dA(38)/dV(345) B(72) = RCT(38)*V(239) ! B(73) = dA(39)/dV(335) B(73) = RCT(39)*V(337) ! B(74) = dA(39)/dV(337) B(74) = RCT(39)*V(335) ! B(75) = dA(40)/dV(108) B(75) = RCT(40) ! B(76) = dA(41)/dV(108) B(76) = RCT(41)*V(345) ! B(77) = dA(41)/dV(345) B(77) = RCT(41)*V(108) ! B(78) = dA(42)/dV(337) B(78) = RCT(42)*V(351) ! B(79) = dA(42)/dV(351) B(79) = RCT(42)*V(337) ! B(80) = dA(43)/dV(346) B(80) = RCT(43)*V(351) ! B(81) = dA(43)/dV(351) B(81) = RCT(43)*V(346) ! B(82) = dA(44)/dV(345) B(82) = RCT(44)*V(351) ! B(83) = dA(44)/dV(351) B(83) = RCT(44)*V(345) ! B(84) = dA(45)/dV(335) B(84) = RCT(45)*V(351) ! B(85) = dA(45)/dV(351) B(85) = RCT(45)*V(335) ! B(86) = dA(46)/dV(214) B(86) = RCT(46) ! B(87) = dA(47)/dV(265) B(87) = RCT(47)*V(345) ! B(88) = dA(47)/dV(345) B(88) = RCT(47)*V(265) ! B(89) = dA(48)/dV(282) B(89) = RCT(48)*V(345) ! B(90) = dA(48)/dV(345) B(90) = RCT(48)*V(282) ! B(91) = dA(49)/dV(335) B(91) = RCT(49)*V(351) ! B(92) = dA(49)/dV(351) B(92) = RCT(49)*V(335) ! B(93) = dA(50)/dV(325) B(93) = RCT(50)*V(351) ! B(94) = dA(50)/dV(351) B(94) = RCT(50)*V(325) ! B(95) = dA(51)/dV(326) B(95) = RCT(51)*V(345) ! B(96) = dA(51)/dV(345) B(96) = RCT(51)*V(326) ! B(97) = dA(52)/dV(326) B(97) = RCT(52)*V(351) ! B(98) = dA(52)/dV(351) B(98) = RCT(52)*V(326) ! B(99) = dA(53)/dV(324) B(99) = RCT(53)*V(335) ! B(100) = dA(53)/dV(335) B(100) = RCT(53)*V(324) ! B(101) = dA(54)/dV(139) B(101) = RCT(54) ! B(102) = dA(55)/dV(139) B(102) = RCT(55)*V(345) ! B(103) = dA(55)/dV(345) B(103) = RCT(55)*V(139) ! B(104) = dA(56)/dV(324) B(104) = RCT(56)*V(346) ! B(105) = dA(56)/dV(346) B(105) = RCT(56)*V(324) ! B(106) = dA(57)/dV(183) B(106) = RCT(57)*V(345) ! B(107) = dA(57)/dV(345) B(107) = RCT(57)*V(183) ! B(108) = dA(58)/dV(296) B(108) = RCT(58)*V(346) ! B(109) = dA(58)/dV(346) B(109) = RCT(58)*V(296) ! B(110) = dA(59)/dV(296) B(110) = RCT(59)*V(346) ! B(111) = dA(59)/dV(346) B(111) = RCT(59)*V(296) ! B(112) = dA(60)/dV(315) B(112) = RCT(60)*V(346) ! B(113) = dA(60)/dV(346) B(113) = RCT(60)*V(315) ! B(114) = dA(61)/dV(141) B(114) = RCT(61)*V(345) ! B(115) = dA(61)/dV(345) B(115) = RCT(61)*V(141) ! B(116) = dA(62)/dV(141) B(116) = RCT(62)*V(345) ! B(117) = dA(62)/dV(345) B(117) = RCT(62)*V(141) ! B(118) = dA(63)/dV(321) B(118) = RCT(63)*V(346) ! B(119) = dA(63)/dV(346) B(119) = RCT(63)*V(321) ! B(120) = dA(64)/dV(321) B(120) = RCT(64)*V(346) ! B(121) = dA(64)/dV(346) B(121) = RCT(64)*V(321) ! B(122) = dA(65)/dV(260) B(122) = RCT(65)*V(346) ! B(123) = dA(65)/dV(346) B(123) = RCT(65)*V(260) ! B(124) = dA(66)/dV(69) B(124) = RCT(66)*V(345) ! B(125) = dA(66)/dV(345) B(125) = RCT(66)*V(69) ! B(126) = dA(67)/dV(69) B(126) = RCT(67)*V(351) ! B(127) = dA(67)/dV(351) B(127) = RCT(67)*V(69) ! B(128) = dA(68)/dV(178) B(128) = RCT(68)*V(346) ! B(129) = dA(68)/dV(346) B(129) = RCT(68)*V(178) ! B(130) = dA(69)/dV(178) B(130) = RCT(69)*V(346) ! B(131) = dA(69)/dV(346) B(131) = RCT(69)*V(178) ! B(132) = dA(70)/dV(178) B(132) = RCT(70)*V(337) ! B(133) = dA(70)/dV(337) B(133) = RCT(70)*V(178) ! B(134) = dA(71)/dV(98) B(134) = RCT(71)*V(345) ! B(135) = dA(71)/dV(345) B(135) = RCT(71)*V(98) ! B(136) = dA(72)/dV(196) B(136) = RCT(72)*V(345) ! B(137) = dA(72)/dV(345) B(137) = RCT(72)*V(196) ! B(138) = dA(73)/dV(165) B(138) = RCT(73)*V(346) ! B(139) = dA(73)/dV(346) B(139) = RCT(73)*V(165) ! B(140) = dA(74)/dV(165) B(140) = RCT(74)*V(337) ! B(141) = dA(74)/dV(337) B(141) = RCT(74)*V(165) ! B(142) = dA(75)/dV(140) B(142) = RCT(75)*V(345) ! B(143) = dA(75)/dV(345) B(143) = RCT(75)*V(140) ! B(144) = dA(76)/dV(140) B(144) = RCT(76)*V(351) ! B(145) = dA(76)/dV(351) B(145) = RCT(76)*V(140) ! B(146) = dA(77)/dV(140) B(146) = RCT(77)*V(341) ! B(147) = dA(77)/dV(341) B(147) = RCT(77)*V(140) ! B(148) = dA(78)/dV(212) B(148) = RCT(78)*V(346) ! B(149) = dA(78)/dV(346) B(149) = RCT(78)*V(212) ! B(150) = dA(79)/dV(212) B(150) = RCT(79)*V(337) ! B(151) = dA(79)/dV(337) B(151) = RCT(79)*V(212) ! B(152) = dA(80)/dV(127) B(152) = RCT(80)*V(345) ! B(153) = dA(80)/dV(345) B(153) = RCT(80)*V(127) ! B(154) = dA(81)/dV(233) B(154) = RCT(81)*V(345) ! B(155) = dA(81)/dV(345) B(155) = RCT(81)*V(233) ! B(156) = dA(82)/dV(132) B(156) = RCT(82)*V(346) ! B(157) = dA(82)/dV(346) B(157) = RCT(82)*V(132) ! B(158) = dA(83)/dV(132) B(158) = RCT(83)*V(337) ! B(159) = dA(83)/dV(337) B(159) = RCT(83)*V(132) ! B(160) = dA(84)/dV(197) B(160) = RCT(84)*V(337) ! B(161) = dA(84)/dV(337) B(161) = RCT(84)*V(197) ! B(162) = dA(85)/dV(197) B(162) = RCT(85)*V(346) ! B(163) = dA(85)/dV(346) B(163) = RCT(85)*V(197) ! B(164) = dA(86)/dV(197) B(164) = RCT(86)*V(335) ! B(165) = dA(86)/dV(335) B(165) = RCT(86)*V(197) ! B(166) = dA(87)/dV(126) B(166) = RCT(87) ! B(167) = dA(88)/dV(126) B(167) = RCT(88)*V(345) ! B(168) = dA(88)/dV(345) B(168) = RCT(88)*V(126) ! B(169) = dA(89)/dV(142) B(169) = RCT(89)*V(345) ! B(170) = dA(89)/dV(345) B(170) = RCT(89)*V(142) ! B(171) = dA(90)/dV(300) B(171) = RCT(90)*V(346) ! B(172) = dA(90)/dV(346) B(172) = RCT(90)*V(300) ! B(173) = dA(91)/dV(300) B(173) = RCT(91)*V(346) ! B(174) = dA(91)/dV(346) B(174) = RCT(91)*V(300) ! B(175) = dA(92)/dV(249) B(175) = RCT(92)*V(346) ! B(176) = dA(92)/dV(346) B(176) = RCT(92)*V(249) ! B(177) = dA(93)/dV(319) B(177) = RCT(93)*V(346) ! B(178) = dA(93)/dV(346) B(178) = RCT(93)*V(319) ! B(179) = dA(94)/dV(319) B(179) = RCT(94)*V(346) ! B(180) = dA(94)/dV(346) B(180) = RCT(94)*V(319) ! B(181) = dA(95)/dV(318) B(181) = RCT(95)*V(346) ! B(182) = dA(95)/dV(346) B(182) = RCT(95)*V(318) ! B(183) = dA(96)/dV(313) B(183) = RCT(96)*V(346) ! B(184) = dA(96)/dV(346) B(184) = RCT(96)*V(313) ! B(185) = dA(97)/dV(320) B(185) = RCT(97)*V(346) ! B(186) = dA(97)/dV(346) B(186) = RCT(97)*V(320) ! B(187) = dA(98)/dV(323) B(187) = RCT(98)*V(346) ! B(188) = dA(98)/dV(346) B(188) = RCT(98)*V(323) ! B(189) = dA(99)/dV(323) B(189) = RCT(99)*V(346) ! B(190) = dA(99)/dV(346) B(190) = RCT(99)*V(323) ! B(191) = dA(100)/dV(250) B(191) = RCT(100)*V(346) ! B(192) = dA(100)/dV(346) B(192) = RCT(100)*V(250) ! B(193) = dA(101)/dV(142) B(193) = RCT(101)*V(351) ! B(194) = dA(101)/dV(351) B(194) = RCT(101)*V(142) ! B(195) = dA(102)/dV(251) B(195) = RCT(102)*V(345) ! B(196) = dA(102)/dV(345) B(196) = RCT(102)*V(251) ! B(197) = dA(103)/dV(279) B(197) = RCT(103)*V(345) ! B(198) = dA(103)/dV(345) B(198) = RCT(103)*V(279) ! B(199) = dA(104)/dV(283) B(199) = RCT(104)*V(345) ! B(200) = dA(104)/dV(345) B(200) = RCT(104)*V(283) ! B(201) = dA(105)/dV(298) B(201) = RCT(105)*V(345) ! B(202) = dA(105)/dV(345) B(202) = RCT(105)*V(298) ! B(203) = dA(106)/dV(322) B(203) = RCT(106)*V(335) ! B(204) = dA(106)/dV(335) B(204) = RCT(106)*V(322) ! B(205) = dA(107)/dV(124) B(205) = RCT(107) ! B(206) = dA(108)/dV(124) B(206) = RCT(108)*V(345) ! B(207) = dA(108)/dV(345) B(207) = RCT(108)*V(124) ! B(208) = dA(109)/dV(322) B(208) = RCT(109)*V(346) ! B(209) = dA(109)/dV(346) B(209) = RCT(109)*V(322) ! B(210) = dA(110)/dV(298) B(210) = RCT(110)*V(351) ! B(211) = dA(110)/dV(351) B(211) = RCT(110)*V(298) ! B(212) = dA(111)/dV(295) B(212) = RCT(111)*V(345) ! B(213) = dA(111)/dV(345) B(213) = RCT(111)*V(295) ! B(214) = dA(112)/dV(321) B(214) = RCT(112)*V(328) ! B(215) = dA(112)/dV(328) B(215) = RCT(112)*V(321) ! B(216) = dA(113)/dV(260) B(216) = RCT(113)*V(328) ! B(217) = dA(113)/dV(328) B(217) = RCT(113)*V(260) ! B(218) = dA(114)/dV(319) B(218) = RCT(114)*V(337) ! B(219) = dA(114)/dV(337) B(219) = RCT(114)*V(319) ! B(220) = dA(115)/dV(318) B(220) = RCT(115)*V(337) ! B(221) = dA(115)/dV(337) B(221) = RCT(115)*V(318) ! B(222) = dA(116)/dV(300) B(222) = RCT(116)*V(337) ! B(223) = dA(116)/dV(337) B(223) = RCT(116)*V(300) ! B(224) = dA(117)/dV(249) B(224) = RCT(117)*V(337) ! B(225) = dA(117)/dV(337) B(225) = RCT(117)*V(249) ! B(226) = dA(118)/dV(313) B(226) = RCT(118)*V(337) ! B(227) = dA(118)/dV(337) B(227) = RCT(118)*V(313) ! B(228) = dA(119)/dV(320) B(228) = RCT(119)*V(337) ! B(229) = dA(119)/dV(337) B(229) = RCT(119)*V(320) ! B(230) = dA(120)/dV(323) B(230) = RCT(120)*V(337) ! B(231) = dA(120)/dV(337) B(231) = RCT(120)*V(323) ! B(232) = dA(121)/dV(250) B(232) = RCT(121)*V(337) ! B(233) = dA(121)/dV(337) B(233) = RCT(121)*V(250) ! B(234) = dA(122)/dV(292) B(234) = RCT(122)*V(345) ! B(235) = dA(122)/dV(345) B(235) = RCT(122)*V(292) ! B(236) = dA(123)/dV(320) B(236) = RCT(123)*V(346) ! B(237) = dA(123)/dV(346) B(237) = RCT(123)*V(320) ! B(238) = dA(124)/dV(246) B(238) = RCT(124)*V(335) ! B(239) = dA(124)/dV(335) B(239) = RCT(124)*V(246) ! B(240) = dA(125)/dV(113) B(240) = RCT(125) ! B(241) = dA(126)/dV(113) B(241) = 4.51e-12*V(345) ! B(242) = dA(126)/dV(345) B(242) = 4.51e-12*V(113) ! B(243) = dA(127)/dV(246) B(243) = RCT(127)*V(346) ! B(244) = dA(127)/dV(346) B(244) = RCT(127)*V(246) ! B(245) = dA(128)/dV(246) B(245) = RCT(128)*V(337) ! B(246) = dA(128)/dV(337) B(246) = RCT(128)*V(246) ! B(247) = dA(129)/dV(296) B(247) = RCT(129)*V(328) ! B(248) = dA(129)/dV(328) B(248) = RCT(129)*V(296) ! B(249) = dA(130)/dV(315) B(249) = RCT(130)*V(328) ! B(250) = dA(130)/dV(328) B(250) = RCT(130)*V(315) ! B(251) = dA(131)/dV(292) B(251) = RCT(131)*V(351) ! B(252) = dA(131)/dV(351) B(252) = RCT(131)*V(292) ! B(253) = dA(132)/dV(319) B(253) = RCT(132)*V(328) ! B(254) = dA(132)/dV(328) B(254) = RCT(132)*V(319) ! B(255) = dA(133)/dV(318) B(255) = RCT(133)*V(328) ! B(256) = dA(133)/dV(328) B(256) = RCT(133)*V(318) ! B(257) = dA(134)/dV(300) B(257) = RCT(134)*V(328) ! B(258) = dA(134)/dV(328) B(258) = RCT(134)*V(300) ! B(259) = dA(135)/dV(249) B(259) = RCT(135)*V(328) ! B(260) = dA(135)/dV(328) B(260) = RCT(135)*V(249) ! B(261) = dA(136)/dV(313) B(261) = RCT(136)*V(328) ! B(262) = dA(136)/dV(328) B(262) = RCT(136)*V(313) ! B(263) = dA(137)/dV(320) B(263) = RCT(137)*V(328) ! B(264) = dA(137)/dV(328) B(264) = RCT(137)*V(320) ! B(265) = dA(138)/dV(323) B(265) = RCT(138)*V(328) ! B(266) = dA(138)/dV(328) B(266) = RCT(138)*V(323) ! B(267) = dA(139)/dV(250) B(267) = RCT(139)*V(328) ! B(268) = dA(139)/dV(328) B(268) = RCT(139)*V(250) ! B(269) = dA(140)/dV(156) B(269) = RCT(140)*V(345) ! B(270) = dA(140)/dV(345) B(270) = RCT(140)*V(156) ! B(271) = dA(141)/dV(188) B(271) = RCT(141)*V(345) ! B(272) = dA(141)/dV(345) B(272) = RCT(141)*V(188) ! B(273) = dA(142)/dV(296) B(273) = RCT(142)*2*V(296) ! B(274) = dA(143)/dV(315) B(274) = RCT(143)*2*V(315) ! B(275) = dA(144)/dV(296) B(275) = RCT(144)*V(337) ! B(276) = dA(144)/dV(337) B(276) = RCT(144)*V(296) ! B(277) = dA(145)/dV(315) B(277) = RCT(145)*V(337) ! B(278) = dA(145)/dV(337) B(278) = RCT(145)*V(315) ! B(279) = dA(146)/dV(321) B(279) = RCT(146)*V(337) ! B(280) = dA(146)/dV(337) B(280) = RCT(146)*V(321) ! B(281) = dA(147)/dV(260) B(281) = RCT(147)*V(337) ! B(282) = dA(147)/dV(337) B(282) = RCT(147)*V(260) ! B(283) = dA(148)/dV(322) B(283) = RCT(148)*V(337) ! B(284) = dA(148)/dV(337) B(284) = RCT(148)*V(322) ! B(285) = dA(149)/dV(290) B(285) = RCT(149)*V(345) ! B(286) = dA(149)/dV(345) B(286) = RCT(149)*V(290) ! B(287) = dA(150)/dV(290) B(287) = RCT(150)*V(341) ! B(288) = dA(150)/dV(341) B(288) = RCT(150)*V(290) ! B(289) = dA(151)/dV(306) B(289) = RCT(151)*V(345) ! B(290) = dA(151)/dV(345) B(290) = RCT(151)*V(306) ! B(291) = dA(152)/dV(306) B(291) = RCT(152)*V(345) ! B(292) = dA(152)/dV(345) B(292) = RCT(152)*V(306) ! B(293) = dA(153)/dV(306) B(293) = RCT(153)*V(345) ! B(294) = dA(153)/dV(345) B(294) = RCT(153)*V(306) ! B(295) = dA(154)/dV(306) B(295) = RCT(154)*V(351) ! B(296) = dA(154)/dV(351) B(296) = RCT(154)*V(306) ! B(297) = dA(155)/dV(213) B(297) = RCT(155)*V(335) ! B(298) = dA(155)/dV(335) B(298) = RCT(155)*V(213) ! B(299) = dA(156)/dV(114) B(299) = RCT(156) ! B(300) = dA(157)/dV(213) B(300) = RCT(157)*V(346) ! B(301) = dA(157)/dV(346) B(301) = RCT(157)*V(213) ! B(302) = dA(158)/dV(213) B(302) = RCT(158)*V(337) ! B(303) = dA(158)/dV(337) B(303) = RCT(158)*V(213) ! B(304) = dA(159)/dV(213) B(304) = RCT(159)*V(351) ! B(305) = dA(159)/dV(351) B(305) = RCT(159)*V(213) ! B(306) = dA(160)/dV(114) B(306) = RCT(160)*V(345) ! B(307) = dA(160)/dV(345) B(307) = RCT(160)*V(114) ! B(308) = dA(161)/dV(72) B(308) = RCT(161)*V(345) ! B(309) = dA(161)/dV(345) B(309) = RCT(161)*V(72) ! B(310) = dA(162)/dV(290) B(310) = RCT(162)*V(351) ! B(311) = dA(162)/dV(351) B(311) = RCT(162)*V(290) ! B(312) = dA(163)/dV(270) B(312) = RCT(163)*V(345) ! B(313) = dA(163)/dV(345) B(313) = RCT(163)*V(270) ! B(314) = dA(164)/dV(294) B(314) = RCT(164)*V(345) ! B(315) = dA(164)/dV(345) B(315) = RCT(164)*V(294) ! B(316) = dA(165)/dV(270) B(316) = RCT(165)*V(351) ! B(317) = dA(165)/dV(351) B(317) = RCT(165)*V(270) ! B(318) = dA(166)/dV(294) B(318) = RCT(166)*V(351) ! B(319) = dA(166)/dV(351) B(319) = RCT(166)*V(294) ! B(320) = dA(167)/dV(307) B(320) = RCT(167)*V(345) ! B(321) = dA(167)/dV(345) B(321) = RCT(167)*V(307) ! B(322) = dA(168)/dV(307) B(322) = RCT(168)*V(345) ! B(323) = dA(168)/dV(345) B(323) = RCT(168)*V(307) ! B(324) = dA(169)/dV(125) B(324) = RCT(169)*V(345) ! B(325) = dA(169)/dV(345) B(325) = RCT(169)*V(125) ! B(326) = dA(170)/dV(118) B(326) = RCT(170)*V(345) ! B(327) = dA(170)/dV(345) B(327) = RCT(170)*V(118) ! B(328) = dA(171)/dV(99) B(328) = RCT(171)*V(345) ! B(329) = dA(171)/dV(345) B(329) = RCT(171)*V(99) ! B(330) = dA(172)/dV(100) B(330) = RCT(172)*V(345) ! B(331) = dA(172)/dV(345) B(331) = RCT(172)*V(100) ! B(332) = dA(173)/dV(97) B(332) = RCT(173)*V(345) ! B(333) = dA(173)/dV(345) B(333) = RCT(173)*V(97) ! B(334) = dA(174)/dV(102) B(334) = RCT(174)*V(345) ! B(335) = dA(174)/dV(345) B(335) = RCT(174)*V(102) ! B(336) = dA(175)/dV(155) B(336) = RCT(175)*V(345) ! B(337) = dA(175)/dV(345) B(337) = RCT(175)*V(155) ! B(338) = dA(176)/dV(123) B(338) = RCT(176)*V(345) ! B(339) = dA(176)/dV(345) B(339) = RCT(176)*V(123) ! B(340) = dA(177)/dV(24) B(340) = RCT(177)*V(345) ! B(341) = dA(177)/dV(345) B(341) = RCT(177)*V(24) ! B(342) = dA(178)/dV(92) B(342) = RCT(178)*V(345) ! B(343) = dA(178)/dV(345) B(343) = RCT(178)*V(92) ! B(344) = dA(179)/dV(183) B(344) = RCT(179)*V(351) ! B(345) = dA(179)/dV(351) B(345) = RCT(179)*V(183) ! B(346) = dA(180)/dV(324) B(346) = RCT(180)*2*V(324) ! B(347) = dA(181)/dV(324) B(347) = RCT(181)*V(328) ! B(348) = dA(181)/dV(328) B(348) = RCT(181)*V(324) ! B(349) = dA(182)/dV(319) B(349) = RCT(182)*V(324) ! B(350) = dA(182)/dV(324) B(350) = RCT(182)*V(319) ! B(351) = dA(183)/dV(300) B(351) = RCT(183)*V(324) ! B(352) = dA(183)/dV(324) B(352) = RCT(183)*V(300) ! B(353) = dA(184)/dV(313) B(353) = RCT(184)*V(324) ! B(354) = dA(184)/dV(324) B(354) = RCT(184)*V(313) ! B(355) = dA(185)/dV(320) B(355) = RCT(185)*V(324) ! B(356) = dA(185)/dV(324) B(356) = RCT(185)*V(320) ! B(357) = dA(186)/dV(323) B(357) = RCT(186)*V(324) ! B(358) = dA(186)/dV(324) B(358) = RCT(186)*V(323) ! B(359) = dA(187)/dV(318) B(359) = RCT(187)*V(324) ! B(360) = dA(187)/dV(324) B(360) = RCT(187)*V(318) ! B(361) = dA(188)/dV(249) B(361) = RCT(188)*V(324) ! B(362) = dA(188)/dV(324) B(362) = RCT(188)*V(249) ! B(363) = dA(189)/dV(250) B(363) = RCT(189)*V(324) ! B(364) = dA(189)/dV(324) B(364) = RCT(189)*V(250) ! B(365) = dA(190)/dV(296) B(365) = RCT(190)*V(324) ! B(366) = dA(190)/dV(324) B(366) = RCT(190)*V(296) ! B(367) = dA(191)/dV(315) B(367) = RCT(191)*V(324) ! B(368) = dA(191)/dV(324) B(368) = RCT(191)*V(315) ! B(369) = dA(192)/dV(260) B(369) = RCT(192)*V(324) ! B(370) = dA(192)/dV(324) B(370) = RCT(192)*V(260) ! B(371) = dA(193)/dV(321) B(371) = RCT(193)*V(324) ! B(372) = dA(193)/dV(324) B(372) = RCT(193)*V(321) ! B(373) = dA(194)/dV(322) B(373) = RCT(194)*V(324) ! B(374) = dA(194)/dV(324) B(374) = RCT(194)*V(322) ! B(375) = dA(195)/dV(322) B(375) = RCT(195)*V(328) ! B(376) = dA(195)/dV(328) B(376) = RCT(195)*V(322) ! B(377) = dA(196)/dV(351) B(377) = RCT(196)*2*V(351) ! B(378) = dA(197)/dV(328) B(378) = RCT(197)*V(335) ! B(379) = dA(197)/dV(335) B(379) = RCT(197)*V(328) ! B(380) = dA(198)/dV(80) B(380) = RCT(198) ! B(381) = dA(199)/dV(94) B(381) = RCT(199)*V(345) ! B(382) = dA(199)/dV(345) B(382) = RCT(199)*V(94) ! B(383) = dA(200)/dV(94) B(383) = RCT(200)*V(345) ! B(384) = dA(200)/dV(345) B(384) = RCT(200)*V(94) ! B(385) = dA(201)/dV(94) B(385) = RCT(201)*V(351) ! B(386) = dA(201)/dV(351) B(386) = RCT(201)*V(94) ! B(387) = dA(202)/dV(345) B(387) = RCT(202)*V(348) ! B(388) = dA(202)/dV(348) B(388) = RCT(202)*V(345) ! B(389) = dA(203)/dV(341) B(389) = RCT(203)*V(342) ! B(390) = dA(203)/dV(342) B(390) = RCT(203)*V(341) ! B(391) = dA(204)/dV(337) B(391) = RCT(204)*V(347) ! B(392) = dA(204)/dV(347) B(392) = RCT(204)*V(337) ! B(393) = dA(205)/dV(337) B(393) = RCT(205)*V(342) ! B(394) = dA(205)/dV(342) B(394) = RCT(205)*V(337) ! B(395) = dA(206)/dV(345) B(395) = RCT(206)*V(352) ! B(396) = dA(206)/dV(352) B(396) = RCT(206)*V(345) ! B(397) = dA(207)/dV(347) B(397) = RCT(207)*2*V(347) ! B(398) = dA(208)/dV(347) B(398) = RCT(208)*2*V(347) ! B(399) = dA(209)/dV(346) B(399) = RCT(209)*V(347) ! B(400) = dA(209)/dV(347) B(400) = RCT(209)*V(346) ! B(401) = dA(210)/dV(218) B(401) = RCT(210)*V(342) ! B(402) = dA(210)/dV(342) B(402) = RCT(210)*V(218) ! B(403) = dA(211)/dV(148) B(403) = RCT(211)*V(345) ! B(404) = dA(211)/dV(345) B(404) = RCT(211)*V(148) ! B(405) = dA(212)/dV(316) B(405) = RCT(212)*V(343) ! B(406) = dA(212)/dV(343) B(406) = RCT(212)*V(316) ! B(407) = dA(213)/dV(343) B(407) = RCT(213)*V(352) ! B(408) = dA(213)/dV(352) B(408) = RCT(213)*V(343) ! B(409) = dA(214)/dV(345) B(409) = RCT(214)*V(347) ! B(410) = dA(214)/dV(347) B(410) = RCT(214)*V(345) ! B(411) = dA(215)/dV(342) B(411) = RCT(215)*V(351) ! B(412) = dA(215)/dV(351) B(412) = RCT(215)*V(342) ! B(413) = dA(216)/dV(325) B(413) = RCT(216)*V(342) ! B(414) = dA(216)/dV(342) B(414) = RCT(216)*V(325) ! B(415) = dA(217)/dV(326) B(415) = RCT(217)*V(342) ! B(416) = dA(217)/dV(342) B(416) = RCT(217)*V(326) ! B(417) = dA(218)/dV(295) B(417) = RCT(218)*V(342) ! B(418) = dA(218)/dV(342) B(418) = RCT(218)*V(295) ! B(419) = dA(219)/dV(183) B(419) = RCT(219)*V(342) ! B(420) = dA(219)/dV(342) B(420) = RCT(219)*V(183) ! B(421) = dA(220)/dV(141) B(421) = RCT(220)*V(342) ! B(422) = dA(220)/dV(342) B(422) = RCT(220)*V(141) ! B(423) = dA(221)/dV(335) B(423) = RCT(221)*V(342) ! B(424) = dA(221)/dV(342) B(424) = RCT(221)*V(335) ! B(425) = dA(222)/dV(335) B(425) = RCT(222)*V(347) ! B(426) = dA(222)/dV(347) B(426) = RCT(222)*V(335) ! B(427) = dA(223)/dV(81) B(427) = RCT(223)*V(345) ! B(428) = dA(223)/dV(345) B(428) = RCT(223)*V(81) ! B(429) = dA(224)/dV(78) B(429) = RCT(224)*V(345) ! B(430) = dA(224)/dV(345) B(430) = RCT(224)*V(78) ! B(431) = dA(225)/dV(105) B(431) = RCT(225)*V(345) ! B(432) = dA(225)/dV(345) B(432) = RCT(225)*V(105) ! B(433) = dA(226)/dV(334) B(433) = RCT(226)*V(336) ! B(434) = dA(226)/dV(336) B(434) = RCT(226)*V(334) ! B(435) = dA(227)/dV(334) B(435) = RCT(227)*F(2) ! B(437) = dA(228)/dV(334) B(437) = RCT(228)*F(3) ! B(439) = dA(229)/dV(334) B(439) = RCT(229)*F(1) ! B(441) = dA(230)/dV(63) B(441) = RCT(230)*V(334) ! B(442) = dA(230)/dV(334) B(442) = RCT(230)*V(63) ! B(443) = dA(231)/dV(228) B(443) = RCT(231)*V(334) ! B(444) = dA(231)/dV(334) B(444) = RCT(231)*V(228) ! B(445) = dA(232)/dV(343) B(445) = RCT(232)*F(3) ! B(447) = dA(233)/dV(341) B(447) = RCT(233)*V(343) ! B(448) = dA(233)/dV(343) B(448) = RCT(233)*V(341) ! B(449) = dA(234)/dV(345) B(449) = RCT(234)*F(1) ! B(451) = dA(235)/dV(343) B(451) = RCT(235)*V(345) ! B(452) = dA(235)/dV(345) B(452) = RCT(235)*V(343) ! B(453) = dA(236)/dV(337) B(453) = RCT(236)*V(343) ! B(454) = dA(236)/dV(343) B(454) = RCT(236)*V(337) ! B(455) = dA(237)/dV(334) B(455) = RCT(237)*V(341) ! B(456) = dA(237)/dV(341) B(456) = RCT(237)*V(334) ! B(457) = dA(238)/dV(68) B(457) = RCT(238)*V(343) ! B(458) = dA(238)/dV(343) B(458) = RCT(238)*V(68) ! B(459) = dA(239)/dV(68) B(459) = RCT(239)*V(345) ! B(460) = dA(239)/dV(345) B(460) = RCT(239)*V(68) ! B(461) = dA(240)/dV(335) B(461) = RCT(240)*V(343) ! B(462) = dA(240)/dV(343) B(462) = RCT(240)*V(335) ! B(463) = dA(241)/dV(343) B(463) = RCT(241)*V(351) ! B(464) = dA(241)/dV(351) B(464) = RCT(241)*V(343) ! B(465) = dA(242)/dV(343) B(465) = RCT(242)*V(346) ! B(466) = dA(242)/dV(346) B(466) = RCT(242)*V(343) ! B(467) = dA(243)/dV(335) B(467) = RCT(243)*V(343) ! B(468) = dA(243)/dV(343) B(468) = RCT(243)*V(335) ! B(469) = dA(244)/dV(264) B(469) = RCT(244)*V(343) ! B(470) = dA(244)/dV(343) B(470) = RCT(244)*V(264) ! B(471) = dA(245)/dV(217) B(471) = RCT(245)*F(3) ! B(473) = dA(246)/dV(217) B(473) = RCT(246)*V(341) ! B(474) = dA(246)/dV(341) B(474) = RCT(246)*V(217) ! B(475) = dA(247)/dV(217) B(475) = RCT(247)*V(337) ! B(476) = dA(247)/dV(337) B(476) = RCT(247)*V(217) ! B(477) = dA(248)/dV(67) B(477) = RCT(248)*F(3) ! B(479) = dA(249)/dV(67) B(479) = RCT(249)*V(346) ! B(480) = dA(249)/dV(346) B(480) = RCT(249)*V(67) ! B(481) = dA(250)/dV(67) B(481) = RCT(250)*V(335) ! B(482) = dA(250)/dV(335) B(482) = RCT(250)*V(67) ! B(483) = dA(251)/dV(343) B(483) = RCT(251)*V(347) ! B(484) = dA(251)/dV(347) B(484) = RCT(251)*V(343) ! B(485) = dA(252)/dV(325) B(485) = RCT(252)*V(343) ! B(486) = dA(252)/dV(343) B(486) = RCT(252)*V(325) ! B(487) = dA(253)/dV(334) B(487) = RCT(253)*V(339) ! B(488) = dA(253)/dV(339) B(488) = RCT(253)*V(334) ! B(489) = dA(254)/dV(334) B(489) = RCT(254)*V(352) ! B(490) = dA(254)/dV(352) B(490) = RCT(254)*V(334) ! B(491) = dA(255)/dV(245) B(491) = RCT(255)*V(334) ! B(492) = dA(255)/dV(334) B(492) = RCT(255)*V(245) ! B(493) = dA(256)/dV(46) B(493) = RCT(256)*V(334) ! B(494) = dA(256)/dV(334) B(494) = RCT(256)*V(46) ! B(495) = dA(257)/dV(181) B(495) = RCT(257)*V(334) ! B(496) = dA(257)/dV(334) B(496) = RCT(257)*V(181) ! B(497) = dA(258)/dV(105) B(497) = RCT(258)*V(334) ! B(498) = dA(258)/dV(334) B(498) = RCT(258)*V(105) ! B(499) = dA(259)/dV(78) B(499) = RCT(259)*V(334) ! B(500) = dA(259)/dV(334) B(500) = RCT(259)*V(78) ! B(501) = dA(260)/dV(81) B(501) = RCT(260)*V(334) ! B(502) = dA(260)/dV(334) B(502) = RCT(260)*V(81) ! B(503) = dA(261)/dV(87) B(503) = RCT(261)*V(334) ! B(504) = dA(261)/dV(334) B(504) = RCT(261)*V(87) ! B(505) = dA(262)/dV(47) B(505) = RCT(262)*V(334) ! B(506) = dA(262)/dV(334) B(506) = RCT(262)*V(47) ! B(507) = dA(263)/dV(48) B(507) = RCT(263)*V(334) ! B(508) = dA(263)/dV(334) B(508) = RCT(263)*V(48) ! B(509) = dA(264)/dV(61) B(509) = RCT(264)*V(334) ! B(510) = dA(264)/dV(334) B(510) = RCT(264)*V(61) ! B(511) = dA(265)/dV(53) B(511) = RCT(265)*V(334) ! B(512) = dA(265)/dV(334) B(512) = RCT(265)*V(53) ! B(513) = dA(266)/dV(85) B(513) = RCT(266)*V(334) ! B(514) = dA(266)/dV(334) B(514) = RCT(266)*V(85) ! B(515) = dA(267)/dV(86) B(515) = RCT(267)*V(334) ! B(516) = dA(267)/dV(334) B(516) = RCT(267)*V(86) ! B(517) = dA(268)/dV(84) B(517) = RCT(268)*V(334) ! B(518) = dA(268)/dV(334) B(518) = RCT(268)*V(84) ! B(519) = dA(269)/dV(49) B(519) = RCT(269)*V(334) ! B(520) = dA(269)/dV(334) B(520) = RCT(269)*V(49) ! B(521) = dA(270)/dV(50) B(521) = RCT(270)*V(334) ! B(522) = dA(270)/dV(334) B(522) = RCT(270)*V(50) ! B(523) = dA(271)/dV(51) B(523) = RCT(271)*V(334) ! B(524) = dA(271)/dV(334) B(524) = RCT(271)*V(51) ! B(525) = dA(272)/dV(54) B(525) = RCT(272)*V(334) ! B(526) = dA(272)/dV(334) B(526) = RCT(272)*V(54) ! B(527) = dA(273)/dV(245) B(527) = RCT(273)*V(345) ! B(528) = dA(273)/dV(345) B(528) = RCT(273)*V(245) ! B(529) = dA(274)/dV(328) B(529) = RCT(274)*V(338) ! B(530) = dA(274)/dV(338) B(530) = RCT(274)*V(328) ! B(531) = dA(275)/dV(338) B(531) = RCT(275)*V(345) ! B(532) = dA(275)/dV(345) B(532) = RCT(275)*V(338) ! B(533) = dA(276)/dV(338) B(533) = RCT(276)*V(345) ! B(534) = dA(276)/dV(345) B(534) = RCT(276)*V(338) ! B(535) = dA(277)/dV(120) B(535) = RCT(277)*V(345) ! B(536) = dA(277)/dV(345) B(536) = RCT(277)*V(120) ! B(537) = dA(278)/dV(76) B(537) = RCT(278)*V(345) ! B(538) = dA(278)/dV(345) B(538) = RCT(278)*V(76) ! B(539) = dA(279)/dV(339) B(539) = RCT(279)*V(345) ! B(540) = dA(279)/dV(345) B(540) = RCT(279)*V(339) ! B(541) = dA(280)/dV(333) B(541) = RCT(280)*V(345) ! B(542) = dA(280)/dV(345) B(542) = RCT(280)*V(333) ! B(543) = dA(281)/dV(297) B(543) = RCT(281)*V(345) ! B(544) = dA(281)/dV(345) B(544) = RCT(281)*V(297) ! B(545) = dA(282)/dV(317) B(545) = RCT(282)*V(345) ! B(546) = dA(282)/dV(345) B(546) = RCT(282)*V(317) ! B(547) = dA(283)/dV(181) B(547) = RCT(283)*V(345) ! B(548) = dA(283)/dV(345) B(548) = RCT(283)*V(181) ! B(549) = dA(284)/dV(79) B(549) = RCT(284)*V(345) ! B(550) = dA(284)/dV(345) B(550) = RCT(284)*V(79) ! B(551) = dA(285)/dV(75) B(551) = RCT(285)*V(345) ! B(552) = dA(285)/dV(345) B(552) = RCT(285)*V(75) ! B(553) = dA(286)/dV(43) B(553) = RCT(286)*V(345) ! B(554) = dA(286)/dV(345) B(554) = RCT(286)*V(43) ! B(555) = dA(287)/dV(87) B(555) = RCT(287)*V(345) ! B(556) = dA(287)/dV(345) B(556) = RCT(287)*V(87) ! B(557) = dA(288)/dV(85) B(557) = RCT(288)*V(345) ! B(558) = dA(288)/dV(345) B(558) = RCT(288)*V(85) ! B(559) = dA(289)/dV(86) B(559) = RCT(289)*V(345) ! B(560) = dA(289)/dV(345) B(560) = RCT(289)*V(86) ! B(561) = dA(290)/dV(84) B(561) = RCT(290)*V(345) ! B(562) = dA(290)/dV(345) B(562) = RCT(290)*V(84) ! B(563) = dA(291)/dV(228) B(563) = RCT(291)*V(340) ! B(564) = dA(291)/dV(340) B(564) = RCT(291)*V(228) ! B(565) = dA(292)/dV(325) B(565) = RCT(292)*V(340) ! B(566) = dA(292)/dV(340) B(566) = RCT(292)*V(325) ! B(567) = dA(293)/dV(340) B(567) = RCT(293)*V(341) ! B(568) = dA(293)/dV(341) B(568) = RCT(293)*V(340) ! B(569) = dA(294)/dV(340) B(569) = RCT(294)*F(1) ! B(571) = dA(295)/dV(264) B(571) = RCT(295)*V(340) ! B(572) = dA(295)/dV(340) B(572) = RCT(295)*V(264) ! B(573) = dA(296)/dV(337) B(573) = RCT(296)*V(340) ! B(574) = dA(296)/dV(340) B(574) = RCT(296)*V(337) ! B(575) = dA(297)/dV(337) B(575) = RCT(297)*V(340) ! B(576) = dA(297)/dV(340) B(576) = RCT(297)*V(337) ! B(577) = dA(298)/dV(338) B(577) = RCT(298)*V(343) ! B(578) = dA(298)/dV(343) B(578) = RCT(298)*V(338) ! B(579) = dA(299)/dV(337) B(579) = RCT(299)*V(338) ! B(580) = dA(299)/dV(338) B(580) = RCT(299)*V(337) ! B(581) = dA(300)/dV(338) B(581) = RCT(300)*V(346) ! B(582) = dA(300)/dV(346) B(582) = RCT(300)*V(338) ! B(583) = dA(301)/dV(335) B(583) = RCT(301)*V(338) ! B(584) = dA(301)/dV(338) B(584) = RCT(301)*V(335) ! B(585) = dA(302)/dV(338) B(585) = RCT(302)*2*V(338) ! B(586) = dA(303)/dV(338) B(586) = RCT(303)*2*V(338) ! B(587) = dA(304)/dV(338) B(587) = RCT(304)*2*V(338) ! B(588) = dA(305)/dV(340) B(588) = RCT(305)*F(3) ! B(590) = dA(306)/dV(110) B(590) = RCT(306) ! B(591) = dA(307)/dV(338) B(591) = RCT(307)*2*V(338) ! B(592) = dA(308)/dV(76) B(592) = RCT(308) ! B(593) = dA(309)/dV(110) B(593) = RCT(309)*V(340) ! B(594) = dA(309)/dV(340) B(594) = RCT(309)*V(110) ! B(595) = dA(310)/dV(338) B(595) = RCT(310)*V(347) ! B(596) = dA(310)/dV(347) B(596) = RCT(310)*V(338) ! B(597) = dA(311)/dV(338) B(597) = RCT(311)*V(347) ! B(598) = dA(311)/dV(347) B(598) = RCT(311)*V(338) ! B(599) = dA(312)/dV(338) B(599) = RCT(312)*V(347) ! B(600) = dA(312)/dV(347) B(600) = RCT(312)*V(338) ! B(601) = dA(313)/dV(317) B(601) = RCT(313)*V(343) ! B(602) = dA(313)/dV(343) B(602) = RCT(313)*V(317) ! B(603) = dA(314)/dV(317) B(603) = RCT(314)*V(340) ! B(604) = dA(314)/dV(340) B(604) = RCT(314)*V(317) ! B(605) = dA(315)/dV(181) B(605) = RCT(315)*V(340) ! B(606) = dA(315)/dV(340) B(606) = RCT(315)*V(181) ! B(607) = dA(316)/dV(79) B(607) = RCT(316)*V(340) ! B(608) = dA(316)/dV(340) B(608) = RCT(316)*V(79) ! B(609) = dA(317)/dV(75) B(609) = RCT(317)*V(340) ! B(610) = dA(317)/dV(340) B(610) = RCT(317)*V(75) ! B(611) = dA(318)/dV(265) B(611) = RCT(318)*V(340) ! B(612) = dA(318)/dV(340) B(612) = RCT(318)*V(265) ! B(613) = dA(319)/dV(328) B(613) = RCT(319)*V(340) ! B(614) = dA(319)/dV(340) B(614) = RCT(319)*V(328) ! B(615) = dA(320)/dV(164) B(615) = RCT(320)*V(340) ! B(616) = dA(320)/dV(340) B(616) = RCT(320)*V(164) ! B(617) = dA(321)/dV(183) B(617) = RCT(321)*V(340) ! B(618) = dA(321)/dV(340) B(618) = RCT(321)*V(183) ! B(619) = dA(322)/dV(296) B(619) = RCT(322)*V(340) ! B(620) = dA(322)/dV(340) B(620) = RCT(322)*V(296) ! B(621) = dA(323)/dV(315) B(621) = RCT(323)*V(340) ! B(622) = dA(323)/dV(340) B(622) = RCT(323)*V(315) ! B(623) = dA(324)/dV(282) B(623) = RCT(324)*V(340) ! B(624) = dA(324)/dV(340) B(624) = RCT(324)*V(282) ! B(625) = dA(325)/dV(156) B(625) = RCT(325)*V(340) ! B(626) = dA(325)/dV(340) B(626) = RCT(325)*V(156) ! B(627) = dA(326)/dV(283) B(627) = RCT(326)*V(340) ! B(628) = dA(326)/dV(340) B(628) = RCT(326)*V(283) ! B(629) = dA(327)/dV(141) B(629) = RCT(327)*V(340) ! B(630) = dA(327)/dV(340) B(630) = RCT(327)*V(141) ! B(631) = dA(328)/dV(141) B(631) = RCT(328)*V(340) ! B(632) = dA(328)/dV(340) B(632) = RCT(328)*V(141) ! B(633) = dA(329)/dV(295) B(633) = RCT(329)*V(340) ! B(634) = dA(329)/dV(340) B(634) = RCT(329)*V(295) ! B(635) = dA(330)/dV(276) B(635) = RCT(330)*V(340) ! B(636) = dA(330)/dV(340) B(636) = RCT(330)*V(276) ! B(637) = dA(331)/dV(142) B(637) = RCT(331)*V(340) ! B(638) = dA(331)/dV(340) B(638) = RCT(331)*V(142) ! B(639) = dA(332)/dV(290) B(639) = RCT(332)*V(340) ! B(640) = dA(332)/dV(340) B(640) = RCT(332)*V(290) ! B(641) = dA(333)/dV(290) B(641) = RCT(333)*V(342) ! B(642) = dA(333)/dV(342) B(642) = RCT(333)*V(290) ! B(643) = dA(334)/dV(331) B(643) = RCT(334)*V(346) ! B(644) = dA(334)/dV(346) B(644) = RCT(334)*V(331) ! B(645) = dA(335)/dV(62) B(645) = RCT(335)*2*V(62) ! B(646) = dA(336)/dV(331) B(646) = RCT(336)*V(335) ! B(647) = dA(336)/dV(335) B(647) = RCT(336)*V(331) ! B(648) = dA(337)/dV(252) B(648) = RCT(337) ! B(649) = dA(338)/dV(252) B(649) = RCT(338)*2*V(252) ! B(650) = dA(339)/dV(170) B(650) = RCT(339)*V(351) ! B(651) = dA(339)/dV(351) B(651) = RCT(339)*V(170) ! B(652) = dA(340)/dV(284) B(652) = RCT(340)*V(335) ! B(653) = dA(340)/dV(335) B(653) = RCT(340)*V(284) ! B(654) = dA(341)/dV(332) B(654) = RCT(341) ! B(655) = dA(342)/dV(331) B(655) = RCT(342)*V(332) ! B(656) = dA(342)/dV(332) B(656) = RCT(342)*V(331) ! B(657) = dA(343)/dV(331) B(657) = RCT(343)*V(347) ! B(658) = dA(343)/dV(347) B(658) = RCT(343)*V(331) ! B(659) = dA(344)/dV(284) B(659) = RCT(344)*V(347) ! B(660) = dA(344)/dV(347) B(660) = RCT(344)*V(284) ! B(661) = dA(345)/dV(96) B(661) = RCT(345)*V(284) ! B(662) = dA(345)/dV(284) B(662) = RCT(345)*V(96) ! B(663) = dA(346)/dV(96) B(663) = RCT(346)*2*V(96) ! B(664) = dA(347)/dV(42) B(664) = RCT(347) ! B(665) = dA(348)/dV(96) B(665) = RCT(348)*V(346) ! B(666) = dA(348)/dV(346) B(666) = RCT(348)*V(96) ! B(667) = dA(349)/dV(284) B(667) = RCT(349)*V(338) ! B(668) = dA(349)/dV(338) B(668) = RCT(349)*V(284) ! B(669) = dA(350)/dV(331) B(669) = RCT(350)*V(341) ! B(670) = dA(350)/dV(341) B(670) = RCT(350)*V(331) ! B(671) = dA(351)/dV(331) B(671) = RCT(351)*V(337) ! B(672) = dA(351)/dV(337) B(672) = RCT(351)*V(331) ! B(673) = dA(352)/dV(170) B(673) = RCT(352)*V(345) ! B(674) = dA(352)/dV(345) B(674) = RCT(352)*V(170) ! B(675) = dA(353)/dV(73) B(675) = RCT(353)*V(345) ! B(676) = dA(353)/dV(345) B(676) = RCT(353)*V(73) ! B(677) = dA(354)/dV(330) B(677) = RCT(354)*V(345) ! B(678) = dA(354)/dV(345) B(678) = RCT(354)*V(330) ! B(679) = dA(355)/dV(284) B(679) = RCT(355)*V(337) ! B(680) = dA(355)/dV(337) B(680) = RCT(355)*V(284) ! B(681) = dA(356)/dV(284) B(681) = RCT(356)*V(346) ! B(682) = dA(356)/dV(346) B(682) = RCT(356)*V(284) ! B(683) = dA(357)/dV(284) B(683) = RCT(357)*2*V(284) ! B(684) = dA(358)/dV(44) B(684) = RCT(358) ! B(685) = dA(359)/dV(52) B(685) = RCT(359)*V(345) ! B(686) = dA(359)/dV(345) B(686) = RCT(359)*V(52) ! B(687) = dA(360)/dV(261) B(687) = RCT(360)*V(345) ! B(688) = dA(360)/dV(345) B(688) = RCT(360)*V(261) ! B(689) = dA(361)/dV(247) B(689) = RCT(361)*V(345) ! B(690) = dA(361)/dV(345) B(690) = RCT(361)*V(247) ! B(691) = dA(362)/dV(312) B(691) = RCT(362)*V(329) ! B(692) = dA(362)/dV(329) B(692) = RCT(362)*V(312) ! B(693) = dA(363)/dV(312) B(693) = RCT(363)*V(346) ! B(694) = dA(363)/dV(346) B(694) = RCT(363)*V(312) ! B(695) = dA(364)/dV(312) B(695) = RCT(364)*V(335) ! B(696) = dA(364)/dV(335) B(696) = RCT(364)*V(312) ! B(697) = dA(365)/dV(312) B(697) = RCT(365)*V(336) ! B(698) = dA(365)/dV(336) B(698) = RCT(365)*V(312) ! B(699) = dA(366)/dV(312) B(699) = RCT(366)*V(336)*V(336) ! B(700) = dA(366)/dV(336) B(700) = RCT(366)*2*V(312)*V(336) ! B(701) = dA(367)/dV(312) B(701) = RCT(367)*V(341) ! B(702) = dA(367)/dV(341) B(702) = RCT(367)*V(312) ! B(703) = dA(368)/dV(312) B(703) = RCT(368)*V(348) ! B(704) = dA(368)/dV(348) B(704) = RCT(368)*V(312) ! B(705) = dA(369)/dV(241) B(705) = RCT(369)*V(329) ! B(706) = dA(369)/dV(329) B(706) = RCT(369)*V(241) ! B(707) = dA(370)/dV(241) B(707) = RCT(370)*V(346) ! B(708) = dA(370)/dV(346) B(708) = RCT(370)*V(241) ! B(709) = dA(371)/dV(241) B(709) = RCT(371)*V(335) ! B(710) = dA(371)/dV(335) B(710) = RCT(371)*V(241) ! B(711) = dA(372)/dV(241) B(711) = RCT(372)*V(348) ! B(712) = dA(372)/dV(348) B(712) = RCT(372)*V(241) ! B(713) = dA(373)/dV(241) B(713) = RCT(373)*V(336) ! B(714) = dA(373)/dV(336) B(714) = RCT(373)*V(241) ! B(715) = dA(374)/dV(241) B(715) = RCT(374)*V(336) ! B(716) = dA(374)/dV(336) B(716) = RCT(374)*V(241) ! B(717) = dA(375)/dV(191) B(717) = RCT(375)*V(351) ! B(718) = dA(375)/dV(351) B(718) = RCT(375)*V(191) ! B(719) = dA(376)/dV(219) B(719) = RCT(376)*V(351) ! B(720) = dA(376)/dV(351) B(720) = RCT(376)*V(219) ! B(721) = dA(377)/dV(167) B(721) = RCT(377)*V(351) ! B(722) = dA(377)/dV(351) B(722) = RCT(377)*V(167) ! B(723) = dA(378)/dV(167) B(723) = RCT(378)*V(345) ! B(724) = dA(378)/dV(345) B(724) = RCT(378)*V(167) ! B(725) = dA(379)/dV(167) B(725) = RCT(379)*V(341) ! B(726) = dA(379)/dV(341) B(726) = RCT(379)*V(167) ! B(727) = dA(380)/dV(219) B(727) = RCT(380)*V(345) ! B(728) = dA(380)/dV(345) B(728) = RCT(380)*V(219) ! B(729) = dA(381)/dV(219) B(729) = RCT(381)*V(341) ! B(730) = dA(381)/dV(341) B(730) = RCT(381)*V(219) ! B(731) = dA(382)/dV(191) B(731) = RCT(382)*V(345) ! B(732) = dA(382)/dV(345) B(732) = RCT(382)*V(191) ! B(733) = dA(383)/dV(191) B(733) = RCT(383)*V(341) ! B(734) = dA(383)/dV(341) B(734) = RCT(383)*V(191) ! B(735) = dA(384)/dV(277) B(735) = RCT(384)*V(337) ! B(736) = dA(384)/dV(337) B(736) = RCT(384)*V(277) ! B(737) = dA(385)/dV(277) B(737) = RCT(385)*V(346) ! B(738) = dA(385)/dV(346) B(738) = RCT(385)*V(277) ! B(739) = dA(386)/dV(277) B(739) = RCT(386)*V(351) ! B(740) = dA(386)/dV(351) B(740) = RCT(386)*V(277) ! B(741) = dA(387)/dV(111) B(741) = RCT(387)*V(345) ! B(742) = dA(387)/dV(345) B(742) = RCT(387)*V(111) ! B(743) = dA(388)/dV(137) B(743) = RCT(388)*V(345) ! B(744) = dA(388)/dV(345) B(744) = RCT(388)*V(137) ! B(745) = dA(389)/dV(225) B(745) = RCT(389)*V(351) ! B(746) = dA(389)/dV(351) B(746) = RCT(389)*V(225) ! B(747) = dA(390)/dV(225) B(747) = RCT(390)*V(345) ! B(748) = dA(390)/dV(345) B(748) = RCT(390)*V(225) ! B(749) = dA(391)/dV(257) B(749) = RCT(391)*V(337) ! B(750) = dA(391)/dV(337) B(750) = RCT(391)*V(257) ! B(751) = dA(392)/dV(257) B(751) = RCT(392)*V(346) ! B(752) = dA(392)/dV(346) B(752) = RCT(392)*V(257) ! B(753) = dA(393)/dV(257) B(753) = RCT(393)*V(335) ! B(754) = dA(393)/dV(335) B(754) = RCT(393)*V(257) ! B(755) = dA(394)/dV(56) B(755) = RCT(394) ! B(756) = dA(395)/dV(257) B(756) = RCT(395)*V(351) ! B(757) = dA(395)/dV(351) B(757) = RCT(395)*V(257) ! B(758) = dA(396)/dV(74) B(758) = RCT(396)*V(345) ! B(759) = dA(396)/dV(345) B(759) = RCT(396)*V(74) ! B(760) = dA(397)/dV(66) B(760) = RCT(397)*V(345) ! B(761) = dA(397)/dV(345) B(761) = RCT(397)*V(66) ! B(762) = dA(398)/dV(278) B(762) = RCT(398)*V(337) ! B(763) = dA(398)/dV(337) B(763) = RCT(398)*V(278) ! B(764) = dA(399)/dV(278) B(764) = RCT(399)*V(346) ! B(765) = dA(399)/dV(346) B(765) = RCT(399)*V(278) ! B(766) = dA(400)/dV(278) B(766) = RCT(400)*V(351) ! B(767) = dA(400)/dV(351) B(767) = RCT(400)*V(278) ! B(768) = dA(401)/dV(278) B(768) = RCT(401)*V(328) ! B(769) = dA(401)/dV(328) B(769) = RCT(401)*V(278) ! B(770) = dA(402)/dV(160) B(770) = RCT(402)*V(345) ! B(771) = dA(402)/dV(345) B(771) = RCT(402)*V(160) ! B(772) = dA(403)/dV(176) B(772) = RCT(403)*V(345) ! B(773) = dA(403)/dV(345) B(773) = RCT(403)*V(176) ! B(774) = dA(404)/dV(275) B(774) = RCT(404)*V(337) ! B(775) = dA(404)/dV(337) B(775) = RCT(404)*V(275) ! B(776) = dA(405)/dV(275) B(776) = RCT(405)*V(346) ! B(777) = dA(405)/dV(346) B(777) = RCT(405)*V(275) ! B(778) = dA(406)/dV(275) B(778) = RCT(406)*V(351) ! B(779) = dA(406)/dV(351) B(779) = RCT(406)*V(275) ! B(780) = dA(407)/dV(138) B(780) = RCT(407)*V(345) ! B(781) = dA(407)/dV(345) B(781) = RCT(407)*V(138) ! B(782) = dA(408)/dV(112) B(782) = RCT(408)*V(345) ! B(783) = dA(408)/dV(345) B(783) = RCT(408)*V(112) ! B(784) = dA(409)/dV(129) B(784) = RCT(409)*V(345) ! B(785) = dA(409)/dV(345) B(785) = RCT(409)*V(129) ! B(786) = dA(410)/dV(273) B(786) = RCT(410)*V(337) ! B(787) = dA(410)/dV(337) B(787) = RCT(410)*V(273) ! B(788) = dA(411)/dV(273) B(788) = RCT(411)*V(346) ! B(789) = dA(411)/dV(346) B(789) = RCT(411)*V(273) ! B(790) = dA(412)/dV(273) B(790) = RCT(412)*V(346) ! B(791) = dA(412)/dV(346) B(791) = RCT(412)*V(273) ! B(792) = dA(413)/dV(273) B(792) = RCT(413)*V(328) ! B(793) = dA(413)/dV(328) B(793) = RCT(413)*V(273) ! B(794) = dA(414)/dV(273) B(794) = RCT(414)*V(351) ! B(795) = dA(414)/dV(351) B(795) = RCT(414)*V(273) ! B(796) = dA(415)/dV(161) B(796) = RCT(415)*V(345) ! B(797) = dA(415)/dV(345) B(797) = RCT(415)*V(161) ! B(798) = dA(416)/dV(162) B(798) = RCT(416)*V(345) ! B(799) = dA(416)/dV(345) B(799) = RCT(416)*V(162) ! B(800) = dA(417)/dV(281) B(800) = RCT(417)*V(337) ! B(801) = dA(417)/dV(337) B(801) = RCT(417)*V(281) ! B(802) = dA(418)/dV(281) B(802) = RCT(418)*V(346) ! B(803) = dA(418)/dV(346) B(803) = RCT(418)*V(281) ! B(804) = dA(419)/dV(281) B(804) = RCT(419)*V(351) ! B(805) = dA(419)/dV(351) B(805) = RCT(419)*V(281) ! B(806) = dA(420)/dV(255) B(806) = RCT(420)*V(345) ! B(807) = dA(420)/dV(345) B(807) = RCT(420)*V(255) ! B(808) = dA(421)/dV(255) B(808) = RCT(421)*V(341) ! B(809) = dA(421)/dV(341) B(809) = RCT(421)*V(255) ! B(810) = dA(422)/dV(255) B(810) = RCT(422)*V(351) ! B(811) = dA(422)/dV(351) B(811) = RCT(422)*V(255) ! B(812) = dA(423)/dV(237) B(812) = RCT(423)*V(345) ! B(813) = dA(423)/dV(345) B(813) = RCT(423)*V(237) ! B(814) = dA(424)/dV(237) B(814) = RCT(424)*V(341) ! B(815) = dA(424)/dV(341) B(815) = RCT(424)*V(237) ! B(816) = dA(425)/dV(237) B(816) = RCT(425)*V(351) ! B(817) = dA(425)/dV(351) B(817) = RCT(425)*V(237) ! B(818) = dA(426)/dV(211) B(818) = RCT(426)*V(345) ! B(819) = dA(426)/dV(345) B(819) = RCT(426)*V(211) ! B(820) = dA(427)/dV(211) B(820) = RCT(427)*V(341) ! B(821) = dA(427)/dV(341) B(821) = RCT(427)*V(211) ! B(822) = dA(428)/dV(211) B(822) = RCT(428)*V(351) ! B(823) = dA(428)/dV(351) B(823) = RCT(428)*V(211) ! B(824) = dA(429)/dV(272) B(824) = RCT(429)*V(346) ! B(825) = dA(429)/dV(346) B(825) = RCT(429)*V(272) ! B(826) = dA(430)/dV(272) B(826) = RCT(430)*V(337) ! B(827) = dA(430)/dV(337) B(827) = RCT(430)*V(272) ! B(828) = dA(431)/dV(272) B(828) = RCT(431)*V(351) ! B(829) = dA(431)/dV(351) B(829) = RCT(431)*V(272) ! B(830) = dA(432)/dV(272) B(830) = RCT(432)*V(328) ! B(831) = dA(432)/dV(328) B(831) = RCT(432)*V(272) ! B(832) = dA(433)/dV(163) B(832) = RCT(433)*V(345) ! B(833) = dA(433)/dV(345) B(833) = RCT(433)*V(163) ! B(834) = dA(434)/dV(163) B(834) = RCT(434)*V(351) ! B(835) = dA(434)/dV(351) B(835) = RCT(434)*V(163) ! B(836) = dA(435)/dV(177) B(836) = RCT(435)*V(345) ! B(837) = dA(435)/dV(345) B(837) = RCT(435)*V(177) ! B(838) = dA(436)/dV(274) B(838) = RCT(436)*V(337) ! B(839) = dA(436)/dV(337) B(839) = RCT(436)*V(274) ! B(840) = dA(437)/dV(274) B(840) = RCT(437)*V(346) ! B(841) = dA(437)/dV(346) B(841) = RCT(437)*V(274) ! B(842) = dA(438)/dV(274) B(842) = RCT(438)*V(335) ! B(843) = dA(438)/dV(335) B(843) = RCT(438)*V(274) ! B(844) = dA(439)/dV(57) B(844) = RCT(439) ! B(845) = dA(440)/dV(274) B(845) = RCT(440)*V(351) ! B(846) = dA(440)/dV(351) B(846) = RCT(440)*V(274) ! B(847) = dA(441)/dV(169) B(847) = RCT(441)*V(345) ! B(848) = dA(441)/dV(345) B(848) = RCT(441)*V(169) ! B(849) = dA(442)/dV(130) B(849) = RCT(442)*V(345) ! B(850) = dA(442)/dV(345) B(850) = RCT(442)*V(130) ! B(851) = dA(443)/dV(291) B(851) = RCT(443)*V(337) ! B(852) = dA(443)/dV(337) B(852) = RCT(443)*V(291) ! B(853) = dA(444)/dV(291) B(853) = RCT(444)*V(346) ! B(854) = dA(444)/dV(346) B(854) = RCT(444)*V(291) ! B(855) = dA(445)/dV(291) B(855) = RCT(445)*V(346) ! B(856) = dA(445)/dV(346) B(856) = RCT(445)*V(291) ! B(857) = dA(446)/dV(291) B(857) = RCT(446)*V(351) ! B(858) = dA(446)/dV(351) B(858) = RCT(446)*V(291) ! B(859) = dA(447)/dV(229) B(859) = RCT(447)*V(345) ! B(860) = dA(447)/dV(345) B(860) = RCT(447)*V(229) ! B(861) = dA(448)/dV(229) B(861) = RCT(448)*V(341) ! B(862) = dA(448)/dV(341) B(862) = RCT(448)*V(229) ! B(863) = dA(449)/dV(229) B(863) = RCT(449)*V(351) ! B(864) = dA(449)/dV(351) B(864) = RCT(449)*V(229) ! B(865) = dA(450)/dV(193) B(865) = RCT(450)*V(345) ! B(866) = dA(450)/dV(345) B(866) = RCT(450)*V(193) ! B(867) = dA(451)/dV(193) B(867) = RCT(451)*V(341) ! B(868) = dA(451)/dV(341) B(868) = RCT(451)*V(193) ! B(869) = dA(452)/dV(193) B(869) = RCT(452)*V(351) ! B(870) = dA(452)/dV(351) B(870) = RCT(452)*V(193) ! B(871) = dA(453)/dV(262) B(871) = RCT(453)*V(345) ! B(872) = dA(453)/dV(345) B(872) = RCT(453)*V(262) ! B(873) = dA(454)/dV(262) B(873) = RCT(454)*V(341) ! B(874) = dA(454)/dV(341) B(874) = RCT(454)*V(262) ! B(875) = dA(455)/dV(262) B(875) = RCT(455)*V(351) ! B(876) = dA(455)/dV(351) B(876) = RCT(455)*V(262) ! B(877) = dA(456)/dV(277) B(877) = RCT(456)*V(328) ! B(878) = dA(456)/dV(328) B(878) = RCT(456)*V(277) ! B(879) = dA(457)/dV(277) B(879) = RCT(457)*V(324) ! B(880) = dA(457)/dV(324) B(880) = RCT(457)*V(277) ! B(881) = dA(458)/dV(275) B(881) = RCT(458)*V(328) ! B(882) = dA(458)/dV(328) B(882) = RCT(458)*V(275) ! B(883) = dA(459)/dV(275) B(883) = RCT(459)*V(324) ! B(884) = dA(459)/dV(324) B(884) = RCT(459)*V(275) ! B(885) = dA(460)/dV(281) B(885) = RCT(460)*V(328) ! B(886) = dA(460)/dV(328) B(886) = RCT(460)*V(281) ! B(887) = dA(461)/dV(281) B(887) = RCT(461)*V(324) ! B(888) = dA(461)/dV(324) B(888) = RCT(461)*V(281) ! B(889) = dA(462)/dV(291) B(889) = RCT(462)*V(328) ! B(890) = dA(462)/dV(328) B(890) = RCT(462)*V(291) ! B(891) = dA(463)/dV(291) B(891) = RCT(463)*V(324) ! B(892) = dA(463)/dV(324) B(892) = RCT(463)*V(291) ! B(893) = dA(464)/dV(257) B(893) = RCT(464)*V(328) ! B(894) = dA(464)/dV(328) B(894) = RCT(464)*V(257) ! B(895) = dA(465)/dV(257) B(895) = RCT(465)*V(324) ! B(896) = dA(465)/dV(324) B(896) = RCT(465)*V(257) ! B(897) = dA(466)/dV(274) B(897) = RCT(466)*V(328) ! B(898) = dA(466)/dV(328) B(898) = RCT(466)*V(274) ! B(899) = dA(467)/dV(274) B(899) = RCT(467)*V(324) ! B(900) = dA(467)/dV(324) B(900) = RCT(467)*V(274) ! B(901) = dA(468)/dV(280) B(901) = RCT(468)*V(346) ! B(902) = dA(468)/dV(346) B(902) = RCT(468)*V(280) ! B(903) = dA(469)/dV(289) B(903) = RCT(469)*V(346) ! B(904) = dA(469)/dV(346) B(904) = RCT(469)*V(289) ! B(905) = dA(470)/dV(280) B(905) = RCT(470)*V(337) ! B(906) = dA(470)/dV(337) B(906) = RCT(470)*V(280) ! B(907) = dA(471)/dV(289) B(907) = RCT(471)*V(337) ! B(908) = dA(471)/dV(337) B(908) = RCT(471)*V(289) ! B(909) = dA(472)/dV(280) B(909) = RCT(472)*V(328) ! B(910) = dA(472)/dV(328) B(910) = RCT(472)*V(280) ! B(911) = dA(473)/dV(289) B(911) = RCT(473)*V(328) ! B(912) = dA(473)/dV(328) B(912) = RCT(473)*V(289) ! B(913) = dA(474)/dV(280) B(913) = RCT(474)*V(324) ! B(914) = dA(474)/dV(324) B(914) = RCT(474)*V(280) ! B(915) = dA(475)/dV(289) B(915) = RCT(475)*V(324) ! B(916) = dA(475)/dV(324) B(916) = RCT(475)*V(289) ! B(917) = dA(476)/dV(280) B(917) = RCT(476)*V(351) ! B(918) = dA(476)/dV(351) B(918) = RCT(476)*V(280) ! B(919) = dA(477)/dV(289) B(919) = RCT(477)*V(351) ! B(920) = dA(477)/dV(351) B(920) = RCT(477)*V(289) ! B(921) = dA(478)/dV(280) B(921) = RCT(478)*2*V(280) ! B(922) = dA(479)/dV(280) B(922) = RCT(479)*V(289) ! B(923) = dA(479)/dV(289) B(923) = RCT(479)*V(280) ! B(924) = dA(480)/dV(289) B(924) = RCT(480)*2*V(289) ! B(925) = dA(481)/dV(256) B(925) = RCT(481)*V(345) ! B(926) = dA(481)/dV(345) B(926) = RCT(481)*V(256) ! B(927) = dA(482)/dV(242) B(927) = RCT(482)*V(345) ! B(928) = dA(482)/dV(345) B(928) = RCT(482)*V(242) ! B(929) = dA(483)/dV(242) B(929) = RCT(483)*V(341) ! B(930) = dA(483)/dV(341) B(930) = RCT(483)*V(242) ! B(931) = dA(484)/dV(242) B(931) = RCT(484)*V(351) ! B(932) = dA(484)/dV(351) B(932) = RCT(484)*V(242) ! B(933) = dA(485)/dV(256) B(933) = RCT(485)*V(351) ! B(934) = dA(485)/dV(351) B(934) = RCT(485)*V(256) ! B(935) = dA(486)/dV(103) B(935) = RCT(486) ! B(936) = dA(487)/dV(45) B(936) = RCT(487) ! B(937) = dA(488)/dV(154) B(937) = RCT(488)*V(345) ! B(938) = dA(488)/dV(345) B(938) = RCT(488)*V(154) ! B(939) = dA(489)/dV(93) B(939) = RCT(489)*V(345) ! B(940) = dA(489)/dV(345) B(940) = RCT(489)*V(93) ! B(941) = dA(490)/dV(83) B(941) = RCT(490)*V(345) ! B(942) = dA(490)/dV(345) B(942) = RCT(490)*V(83) ! B(943) = dA(491)/dV(91) B(943) = RCT(491)*V(345) ! B(944) = dA(491)/dV(345) B(944) = RCT(491)*V(91) ! B(945) = dA(492)/dV(95) B(945) = RCT(492)*V(345) ! B(946) = dA(492)/dV(345) B(946) = RCT(492)*V(95) ! B(947) = dA(493)/dV(276) B(947) = RCT(493)*V(341) ! B(948) = dA(493)/dV(341) B(948) = RCT(493)*V(276) ! B(949) = dA(494)/dV(276) B(949) = RCT(494)*V(345) ! B(950) = dA(494)/dV(345) B(950) = RCT(494)*V(276) ! B(951) = dA(495)/dV(276) B(951) = RCT(495)*V(345) ! B(952) = dA(495)/dV(345) B(952) = RCT(495)*V(276) ! B(953) = dA(496)/dV(276) B(953) = RCT(496)*V(345) ! B(954) = dA(496)/dV(345) B(954) = RCT(496)*V(276) ! B(955) = dA(497)/dV(276) B(955) = RCT(497)*V(345) ! B(956) = dA(497)/dV(345) B(956) = RCT(497)*V(276) ! B(957) = dA(498)/dV(305) B(957) = RCT(498)*V(337) ! B(958) = dA(498)/dV(337) B(958) = RCT(498)*V(305) ! B(959) = dA(499)/dV(305) B(959) = RCT(499)*V(337) ! B(960) = dA(499)/dV(337) B(960) = RCT(499)*V(305) ! B(961) = dA(500)/dV(304) B(961) = RCT(500)*V(337) ! B(962) = dA(500)/dV(337) B(962) = RCT(500)*V(304) ! B(963) = dA(501)/dV(304) B(963) = RCT(501)*V(337) ! B(964) = dA(501)/dV(337) B(964) = RCT(501)*V(304) ! B(965) = dA(502)/dV(305) B(965) = RCT(502) ! B(966) = dA(503)/dV(305) B(966) = RCT(503) ! B(967) = dA(504)/dV(304) B(967) = RCT(504) ! B(968) = dA(505)/dV(304) B(968) = RCT(505) ! B(969) = dA(506)/dV(305) B(969) = RCT(506)*2*V(305) ! B(970) = dA(507)/dV(304) B(970) = RCT(507)*2*V(304) ! B(971) = dA(508)/dV(304) B(971) = RCT(508)*V(305) ! B(972) = dA(508)/dV(305) B(972) = RCT(508)*V(304) ! B(973) = dA(509)/dV(305) B(973) = RCT(509)*2*V(305) ! B(974) = dA(510)/dV(304) B(974) = RCT(510)*2*V(304) ! B(975) = dA(511)/dV(304) B(975) = RCT(511)*V(305) ! B(976) = dA(511)/dV(305) B(976) = RCT(511)*V(304) ! B(977) = dA(512)/dV(305) B(977) = RCT(512)*V(328) ! B(978) = dA(512)/dV(328) B(978) = RCT(512)*V(305) ! B(979) = dA(513)/dV(305) B(979) = RCT(513)*V(328) ! B(980) = dA(513)/dV(328) B(980) = RCT(513)*V(305) ! B(981) = dA(514)/dV(304) B(981) = RCT(514)*V(328) ! B(982) = dA(514)/dV(328) B(982) = RCT(514)*V(304) ! B(983) = dA(515)/dV(304) B(983) = RCT(515)*V(328) ! B(984) = dA(515)/dV(328) B(984) = RCT(515)*V(304) ! B(985) = dA(516)/dV(305) B(985) = RCT(516)*V(346) ! B(986) = dA(516)/dV(346) B(986) = RCT(516)*V(305) ! B(987) = dA(517)/dV(305) B(987) = RCT(517)*V(346) ! B(988) = dA(517)/dV(346) B(988) = RCT(517)*V(305) ! B(989) = dA(518)/dV(305) B(989) = RCT(518)*V(346) ! B(990) = dA(518)/dV(346) B(990) = RCT(518)*V(305) ! B(991) = dA(519)/dV(305) B(991) = RCT(519)*V(346) ! B(992) = dA(519)/dV(346) B(992) = RCT(519)*V(305) ! B(993) = dA(520)/dV(304) B(993) = RCT(520)*V(346) ! B(994) = dA(520)/dV(346) B(994) = RCT(520)*V(304) ! B(995) = dA(521)/dV(304) B(995) = RCT(521)*V(346) ! B(996) = dA(521)/dV(346) B(996) = RCT(521)*V(304) ! B(997) = dA(522)/dV(304) B(997) = RCT(522)*V(346) ! B(998) = dA(522)/dV(346) B(998) = RCT(522)*V(304) ! B(999) = dA(523)/dV(304) B(999) = RCT(523)*V(346) ! B(1000) = dA(523)/dV(346) B(1000) = RCT(523)*V(304) ! B(1001) = dA(524)/dV(230) B(1001) = RCT(524)*V(345) ! B(1002) = dA(524)/dV(345) B(1002) = RCT(524)*V(230) ! B(1003) = dA(525)/dV(231) B(1003) = RCT(525)*V(345) ! B(1004) = dA(525)/dV(345) B(1004) = RCT(525)*V(231) ! B(1005) = dA(526)/dV(150) B(1005) = RCT(526)*V(345) ! B(1006) = dA(526)/dV(345) B(1006) = RCT(526)*V(150) ! B(1007) = dA(527)/dV(144) B(1007) = RCT(527)*V(345) ! B(1008) = dA(527)/dV(345) B(1008) = RCT(527)*V(144) ! B(1009) = dA(528)/dV(238) B(1009) = RCT(528)*V(345) ! B(1010) = dA(528)/dV(345) B(1010) = RCT(528)*V(238) ! B(1011) = dA(529)/dV(215) B(1011) = RCT(529)*V(345) ! B(1012) = dA(529)/dV(345) B(1012) = RCT(529)*V(215) ! B(1013) = dA(530)/dV(119) B(1013) = RCT(530)*V(345) ! B(1014) = dA(530)/dV(345) B(1014) = RCT(530)*V(119) ! B(1015) = dA(531)/dV(187) B(1015) = RCT(531)*V(345) ! B(1016) = dA(531)/dV(345) B(1016) = RCT(531)*V(187) ! B(1017) = dA(532)/dV(187) B(1017) = RCT(532)*V(345) ! B(1018) = dA(532)/dV(345) B(1018) = RCT(532)*V(187) ! B(1019) = dA(533)/dV(192) B(1019) = RCT(533)*V(345) ! B(1020) = dA(533)/dV(345) B(1020) = RCT(533)*V(192) ! B(1021) = dA(534)/dV(192) B(1021) = RCT(534)*V(345) ! B(1022) = dA(534)/dV(345) B(1022) = RCT(534)*V(192) ! B(1023) = dA(535)/dV(187) B(1023) = RCT(535)*V(345) ! B(1024) = dA(535)/dV(345) B(1024) = RCT(535)*V(187) ! B(1025) = dA(536)/dV(192) B(1025) = RCT(536)*V(345) ! B(1026) = dA(536)/dV(345) B(1026) = RCT(536)*V(192) ! B(1027) = dA(537)/dV(209) B(1027) = RCT(537)*V(345) ! B(1028) = dA(537)/dV(345) B(1028) = RCT(537)*V(209) ! B(1029) = dA(538)/dV(199) B(1029) = RCT(538)*V(345) ! B(1030) = dA(538)/dV(345) B(1030) = RCT(538)*V(199) ! B(1031) = dA(539)/dV(223) B(1031) = RCT(539) ! B(1032) = dA(540)/dV(223) B(1032) = RCT(540)*V(346) ! B(1033) = dA(540)/dV(346) B(1033) = RCT(540)*V(223) ! B(1034) = dA(541)/dV(223) B(1034) = RCT(541)*V(346) ! B(1035) = dA(541)/dV(346) B(1035) = RCT(541)*V(223) ! B(1036) = dA(542)/dV(223) B(1036) = RCT(542)*V(337) ! B(1037) = dA(542)/dV(337) B(1037) = RCT(542)*V(223) ! B(1038) = dA(543)/dV(224) B(1038) = RCT(543) ! B(1039) = dA(544)/dV(224) B(1039) = RCT(544)*V(346) ! B(1040) = dA(544)/dV(346) B(1040) = RCT(544)*V(224) ! B(1041) = dA(545)/dV(224) B(1041) = RCT(545)*V(346) ! B(1042) = dA(545)/dV(346) B(1042) = RCT(545)*V(224) ! B(1043) = dA(546)/dV(224) B(1043) = RCT(546)*V(337) ! B(1044) = dA(546)/dV(337) B(1044) = RCT(546)*V(224) ! B(1045) = dA(547)/dV(232) B(1045) = RCT(547) ! B(1046) = dA(548)/dV(232) B(1046) = RCT(548)*V(346) ! B(1047) = dA(548)/dV(346) B(1047) = RCT(548)*V(232) ! B(1048) = dA(549)/dV(232) B(1048) = RCT(549)*V(346) ! B(1049) = dA(549)/dV(346) B(1049) = RCT(549)*V(232) ! B(1050) = dA(550)/dV(232) B(1050) = RCT(550)*V(337) ! B(1051) = dA(550)/dV(337) B(1051) = RCT(550)*V(232) ! B(1052) = dA(551)/dV(128) B(1052) = RCT(551)*V(345) ! B(1053) = dA(551)/dV(345) B(1053) = RCT(551)*V(128) ! B(1054) = dA(552)/dV(151) B(1054) = RCT(552)*V(345) ! B(1055) = dA(552)/dV(345) B(1055) = RCT(552)*V(151) ! B(1056) = dA(553)/dV(151) B(1056) = RCT(553)*V(345) ! B(1057) = dA(553)/dV(345) B(1057) = RCT(553)*V(151) ! B(1058) = dA(554)/dV(152) B(1058) = RCT(554)*V(345) ! B(1059) = dA(554)/dV(345) B(1059) = RCT(554)*V(152) ! B(1060) = dA(555)/dV(152) B(1060) = RCT(555)*V(345) ! B(1061) = dA(555)/dV(345) B(1061) = RCT(555)*V(152) ! B(1062) = dA(556)/dV(286) B(1062) = RCT(556) ! B(1063) = dA(557)/dV(286) B(1063) = RCT(557) ! B(1064) = dA(558)/dV(286) B(1064) = RCT(558)*V(337) ! B(1065) = dA(558)/dV(337) B(1065) = RCT(558)*V(286) ! B(1066) = dA(559)/dV(286) B(1066) = RCT(559)*V(346) ! B(1067) = dA(559)/dV(346) B(1067) = RCT(559)*V(286) ! B(1068) = dA(560)/dV(286) B(1068) = RCT(560)*V(346) ! B(1069) = dA(560)/dV(346) B(1069) = RCT(560)*V(286) ! B(1070) = dA(561)/dV(285) B(1070) = RCT(561) ! B(1071) = dA(562)/dV(285) B(1071) = RCT(562) ! B(1072) = dA(563)/dV(285) B(1072) = RCT(563)*V(346) ! B(1073) = dA(563)/dV(346) B(1073) = RCT(563)*V(285) ! B(1074) = dA(564)/dV(285) B(1074) = RCT(564)*V(346) ! B(1075) = dA(564)/dV(346) B(1075) = RCT(564)*V(285) ! B(1076) = dA(565)/dV(285) B(1076) = RCT(565)*V(337) ! B(1077) = dA(565)/dV(337) B(1077) = RCT(565)*V(285) ! B(1078) = dA(566)/dV(243) B(1078) = RCT(566)*V(337) ! B(1079) = dA(566)/dV(337) B(1079) = RCT(566)*V(243) ! B(1080) = dA(567)/dV(243) B(1080) = RCT(567)*V(346) ! B(1081) = dA(567)/dV(346) B(1081) = RCT(567)*V(243) ! B(1082) = dA(568)/dV(243) B(1082) = RCT(568)*V(346) ! B(1083) = dA(568)/dV(346) B(1083) = RCT(568)*V(243) ! B(1084) = dA(569)/dV(243) B(1084) = RCT(569) ! B(1085) = dA(570)/dV(133) B(1085) = RCT(570)*V(346) ! B(1086) = dA(570)/dV(346) B(1086) = RCT(570)*V(133) ! B(1087) = dA(571)/dV(133) B(1087) = RCT(571)*V(337) ! B(1088) = dA(571)/dV(337) B(1088) = RCT(571)*V(133) ! B(1089) = dA(572)/dV(135) B(1089) = RCT(572)*V(346) ! B(1090) = dA(572)/dV(346) B(1090) = RCT(572)*V(135) ! B(1091) = dA(573)/dV(135) B(1091) = RCT(573)*V(337) ! B(1092) = dA(573)/dV(337) B(1092) = RCT(573)*V(135) ! B(1093) = dA(574)/dV(175) B(1093) = RCT(574)*V(345) ! B(1094) = dA(574)/dV(345) B(1094) = RCT(574)*V(175) ! B(1095) = dA(575)/dV(175) B(1095) = RCT(575)*V(345) ! B(1096) = dA(575)/dV(345) B(1096) = RCT(575)*V(175) ! B(1097) = dA(576)/dV(168) B(1097) = RCT(576)*V(345) ! B(1098) = dA(576)/dV(345) B(1098) = RCT(576)*V(168) ! B(1099) = dA(577)/dV(168) B(1099) = RCT(577)*V(345) ! B(1100) = dA(577)/dV(345) B(1100) = RCT(577)*V(168) ! B(1101) = dA(578)/dV(268) B(1101) = RCT(578)*V(345) ! B(1102) = dA(578)/dV(345) B(1102) = RCT(578)*V(268) ! B(1103) = dA(579)/dV(268) B(1103) = RCT(579)*V(345) ! B(1104) = dA(579)/dV(345) B(1104) = RCT(579)*V(268) ! B(1105) = dA(580)/dV(267) B(1105) = RCT(580)*V(345) ! B(1106) = dA(580)/dV(345) B(1106) = RCT(580)*V(267) ! B(1107) = dA(581)/dV(267) B(1107) = RCT(581)*V(345) ! B(1108) = dA(581)/dV(345) B(1108) = RCT(581)*V(267) ! B(1109) = dA(582)/dV(268) B(1109) = RCT(582)*V(345) ! B(1110) = dA(582)/dV(345) B(1110) = RCT(582)*V(268) ! B(1111) = dA(583)/dV(267) B(1111) = RCT(583)*V(345) ! B(1112) = dA(583)/dV(345) B(1112) = RCT(583)*V(267) ! B(1113) = dA(584)/dV(205) B(1113) = RCT(584) ! B(1114) = dA(585)/dV(205) B(1114) = RCT(585)*V(337) ! B(1115) = dA(585)/dV(337) B(1115) = RCT(585)*V(205) ! B(1116) = dA(586)/dV(205) B(1116) = RCT(586)*V(346) ! B(1117) = dA(586)/dV(346) B(1117) = RCT(586)*V(205) ! B(1118) = dA(587)/dV(205) B(1118) = RCT(587)*V(346) ! B(1119) = dA(587)/dV(346) B(1119) = RCT(587)*V(205) ! B(1120) = dA(588)/dV(190) B(1120) = RCT(588) ! B(1121) = dA(589)/dV(190) B(1121) = RCT(589)*V(337) ! B(1122) = dA(589)/dV(337) B(1122) = RCT(589)*V(190) ! B(1123) = dA(590)/dV(190) B(1123) = RCT(590)*V(346) ! B(1124) = dA(590)/dV(346) B(1124) = RCT(590)*V(190) ! B(1125) = dA(591)/dV(190) B(1125) = RCT(591)*V(346) ! B(1126) = dA(591)/dV(346) B(1126) = RCT(591)*V(190) ! B(1127) = dA(592)/dV(206) B(1127) = RCT(592) ! B(1128) = dA(593)/dV(207) B(1128) = RCT(593) ! B(1129) = dA(594)/dV(206) B(1129) = RCT(594)*V(337) ! B(1130) = dA(594)/dV(337) B(1130) = RCT(594)*V(206) ! B(1131) = dA(595)/dV(206) B(1131) = RCT(595)*V(346) ! B(1132) = dA(595)/dV(346) B(1132) = RCT(595)*V(206) ! B(1133) = dA(596)/dV(206) B(1133) = RCT(596)*V(346) ! B(1134) = dA(596)/dV(346) B(1134) = RCT(596)*V(206) ! B(1135) = dA(597)/dV(207) B(1135) = RCT(597)*V(337) ! B(1136) = dA(597)/dV(337) B(1136) = RCT(597)*V(207) ! B(1137) = dA(598)/dV(207) B(1137) = RCT(598)*V(346) ! B(1138) = dA(598)/dV(346) B(1138) = RCT(598)*V(207) ! B(1139) = dA(599)/dV(207) B(1139) = RCT(599)*V(346) ! B(1140) = dA(599)/dV(346) B(1140) = RCT(599)*V(207) ! B(1141) = dA(600)/dV(293) B(1141) = RCT(600)*V(337) ! B(1142) = dA(600)/dV(337) B(1142) = RCT(600)*V(293) ! B(1143) = dA(601)/dV(293) B(1143) = RCT(601)*V(346) ! B(1144) = dA(601)/dV(346) B(1144) = RCT(601)*V(293) ! B(1145) = dA(602)/dV(293) B(1145) = RCT(602)*V(346) ! B(1146) = dA(602)/dV(346) B(1146) = RCT(602)*V(293) ! B(1147) = dA(603)/dV(276) B(1147) = RCT(603)*V(351) ! B(1148) = dA(603)/dV(351) B(1148) = RCT(603)*V(276) ! B(1149) = dA(604)/dV(310) B(1149) = RCT(604)*V(337) ! B(1150) = dA(604)/dV(337) B(1150) = RCT(604)*V(310) ! B(1151) = dA(605)/dV(311) B(1151) = RCT(605)*V(337) ! B(1152) = dA(605)/dV(337) B(1152) = RCT(605)*V(311) ! B(1153) = dA(606)/dV(310) B(1153) = RCT(606)*2*V(310) ! B(1154) = dA(607)/dV(310) B(1154) = RCT(607)*V(311) ! B(1155) = dA(607)/dV(311) B(1155) = RCT(607)*V(310) ! B(1156) = dA(608)/dV(311) B(1156) = RCT(608)*2*V(311) ! B(1157) = dA(609)/dV(311) B(1157) = RCT(609)*V(328) ! B(1158) = dA(609)/dV(328) B(1158) = RCT(609)*V(311) ! B(1159) = dA(610)/dV(310) B(1159) = RCT(610)*V(328) ! B(1160) = dA(610)/dV(328) B(1160) = RCT(610)*V(310) ! B(1161) = dA(611)/dV(310) B(1161) = RCT(611)*V(324) ! B(1162) = dA(611)/dV(324) B(1162) = RCT(611)*V(310) ! B(1163) = dA(612)/dV(311) B(1163) = RCT(612)*V(324) ! B(1164) = dA(612)/dV(324) B(1164) = RCT(612)*V(311) ! B(1165) = dA(613)/dV(310) B(1165) = RCT(613)*V(351) ! B(1166) = dA(613)/dV(351) B(1166) = RCT(613)*V(310) ! B(1167) = dA(614)/dV(311) B(1167) = RCT(614)*V(351) ! B(1168) = dA(614)/dV(351) B(1168) = RCT(614)*V(311) ! B(1169) = dA(615)/dV(310) B(1169) = RCT(615)*V(346) ! B(1170) = dA(615)/dV(346) B(1170) = RCT(615)*V(310) ! B(1171) = dA(616)/dV(310) B(1171) = RCT(616)*V(346) ! B(1172) = dA(616)/dV(346) B(1172) = RCT(616)*V(310) ! B(1173) = dA(617)/dV(311) B(1173) = RCT(617)*V(346) ! B(1174) = dA(617)/dV(346) B(1174) = RCT(617)*V(311) ! B(1175) = dA(618)/dV(311) B(1175) = RCT(618)*V(346) ! B(1176) = dA(618)/dV(346) B(1176) = RCT(618)*V(311) ! B(1177) = dA(619)/dV(145) B(1177) = RCT(619)*F(3) ! B(1179) = dA(620)/dV(145) B(1179) = RCT(620) ! B(1180) = dA(621)/dV(222) B(1180) = RCT(621)*V(345) ! B(1181) = dA(621)/dV(345) B(1181) = RCT(621)*V(222) ! B(1182) = dA(622)/dV(186) B(1182) = RCT(622)*V(345) ! B(1183) = dA(622)/dV(345) B(1183) = RCT(622)*V(186) ! B(1184) = dA(623)/dV(222) B(1184) = RCT(623)*V(345) ! B(1185) = dA(623)/dV(345) B(1185) = RCT(623)*V(222) ! B(1186) = dA(624)/dV(186) B(1186) = RCT(624)*V(345) ! B(1187) = dA(624)/dV(345) B(1187) = RCT(624)*V(186) ! B(1188) = dA(625)/dV(186) B(1188) = RCT(625)*V(345) ! B(1189) = dA(625)/dV(345) B(1189) = RCT(625)*V(186) ! B(1190) = dA(626)/dV(222) B(1190) = RCT(626)*V(345) ! B(1191) = dA(626)/dV(345) B(1191) = RCT(626)*V(222) ! B(1192) = dA(627)/dV(186) B(1192) = RCT(627)*V(345) ! B(1193) = dA(627)/dV(345) B(1193) = RCT(627)*V(186) ! B(1194) = dA(628)/dV(186) B(1194) = RCT(628)*V(345) ! B(1195) = dA(628)/dV(345) B(1195) = RCT(628)*V(186) ! B(1196) = dA(629)/dV(226) B(1196) = RCT(629) ! B(1197) = dA(630)/dV(271) B(1197) = RCT(630) ! B(1198) = dA(631)/dV(271) B(1198) = RCT(631)*V(337) ! B(1199) = dA(631)/dV(337) B(1199) = RCT(631)*V(271) ! B(1200) = dA(632)/dV(226) B(1200) = RCT(632)*V(337) ! B(1201) = dA(632)/dV(337) B(1201) = RCT(632)*V(226) ! B(1202) = dA(633)/dV(271) B(1202) = RCT(633)*V(346) ! B(1203) = dA(633)/dV(346) B(1203) = RCT(633)*V(271) ! B(1204) = dA(634)/dV(271) B(1204) = RCT(634)*V(346) ! B(1205) = dA(634)/dV(346) B(1205) = RCT(634)*V(271) ! B(1206) = dA(635)/dV(226) B(1206) = RCT(635)*V(346) ! B(1207) = dA(635)/dV(346) B(1207) = RCT(635)*V(226) ! B(1208) = dA(636)/dV(226) B(1208) = RCT(636)*V(346) ! B(1209) = dA(636)/dV(346) B(1209) = RCT(636)*V(226) ! B(1210) = dA(637)/dV(301) B(1210) = RCT(637)*V(345) ! B(1211) = dA(637)/dV(345) B(1211) = RCT(637)*V(301) ! B(1212) = dA(638)/dV(301) B(1212) = RCT(638)*V(345) ! B(1213) = dA(638)/dV(345) B(1213) = RCT(638)*V(301) ! B(1214) = dA(639)/dV(182) B(1214) = RCT(639)*V(346) ! B(1215) = dA(639)/dV(346) B(1215) = RCT(639)*V(182) ! B(1216) = dA(640)/dV(182) B(1216) = RCT(640)*V(337) ! B(1217) = dA(640)/dV(337) B(1217) = RCT(640)*V(182) ! B(1218) = dA(641)/dV(299) B(1218) = RCT(641)*V(345) ! B(1219) = dA(641)/dV(345) B(1219) = RCT(641)*V(299) ! B(1220) = dA(642)/dV(180) B(1220) = RCT(642)*V(346) ! B(1221) = dA(642)/dV(346) B(1221) = RCT(642)*V(180) ! B(1222) = dA(643)/dV(180) B(1222) = RCT(643)*V(337) ! B(1223) = dA(643)/dV(337) B(1223) = RCT(643)*V(180) ! B(1224) = dA(644)/dV(314) B(1224) = RCT(644)*V(345) ! B(1225) = dA(644)/dV(345) B(1225) = RCT(644)*V(314) ! B(1226) = dA(645)/dV(314) B(1226) = RCT(645)*V(341) ! B(1227) = dA(645)/dV(341) B(1227) = RCT(645)*V(314) ! B(1228) = dA(646)/dV(309) B(1228) = RCT(646)*V(345) ! B(1229) = dA(646)/dV(345) B(1229) = RCT(646)*V(309) ! B(1230) = dA(647)/dV(309) B(1230) = RCT(647)*V(345) ! B(1231) = dA(647)/dV(345) B(1231) = RCT(647)*V(309) ! B(1232) = dA(648)/dV(309) B(1232) = RCT(648)*V(341) ! B(1233) = dA(648)/dV(341) B(1233) = RCT(648)*V(309) ! B(1234) = dA(649)/dV(309) B(1234) = RCT(649)*V(351) ! B(1235) = dA(649)/dV(351) B(1235) = RCT(649)*V(309) ! B(1236) = dA(650)/dV(302) B(1236) = RCT(650)*V(345) ! B(1237) = dA(650)/dV(345) B(1237) = RCT(650)*V(302) ! B(1238) = dA(651)/dV(288) B(1238) = RCT(651)*V(345) ! B(1239) = dA(651)/dV(345) B(1239) = RCT(651)*V(288) ! B(1240) = dA(652)/dV(287) B(1240) = RCT(652)*V(345) ! B(1241) = dA(652)/dV(345) B(1241) = RCT(652)*V(287) ! B(1242) = dA(653)/dV(248) B(1242) = RCT(653)*V(345) ! B(1243) = dA(653)/dV(345) B(1243) = RCT(653)*V(248) ! B(1244) = dA(654)/dV(216) B(1244) = RCT(654)*V(345) ! B(1245) = dA(654)/dV(345) B(1245) = RCT(654)*V(216) ! B(1246) = dA(655)/dV(171) B(1246) = RCT(655)*V(346) ! B(1247) = dA(655)/dV(346) B(1247) = RCT(655)*V(171) ! B(1248) = dA(656)/dV(171) B(1248) = RCT(656)*V(337) ! B(1249) = dA(656)/dV(337) B(1249) = RCT(656)*V(171) ! B(1250) = dA(657)/dV(171) B(1250) = RCT(657)*V(335) ! B(1251) = dA(657)/dV(335) B(1251) = RCT(657)*V(171) ! B(1252) = dA(658)/dV(172) B(1252) = RCT(658)*V(346) ! B(1253) = dA(658)/dV(346) B(1253) = RCT(658)*V(172) ! B(1254) = dA(659)/dV(172) B(1254) = RCT(659)*V(337) ! B(1255) = dA(659)/dV(337) B(1255) = RCT(659)*V(172) ! B(1256) = dA(660)/dV(172) B(1256) = RCT(660)*V(335) ! B(1257) = dA(660)/dV(335) B(1257) = RCT(660)*V(172) ! B(1258) = dA(661)/dV(194) B(1258) = RCT(661)*V(345) ! B(1259) = dA(661)/dV(345) B(1259) = RCT(661)*V(194) ! B(1260) = dA(662)/dV(185) B(1260) = RCT(662)*V(345) ! B(1261) = dA(662)/dV(345) B(1261) = RCT(662)*V(185) ! B(1262) = dA(663)/dV(131) B(1262) = RCT(663)*V(345) ! B(1263) = dA(663)/dV(345) B(1263) = RCT(663)*V(131) ! B(1264) = dA(664)/dV(227) B(1264) = RCT(664)*V(345) ! B(1265) = dA(664)/dV(345) B(1265) = RCT(664)*V(227) ! B(1266) = dA(665)/dV(208) B(1266) = RCT(665)*V(345) ! B(1267) = dA(665)/dV(345) B(1267) = RCT(665)*V(208) ! B(1268) = dA(666)/dV(153) B(1268) = RCT(666)*V(345) ! B(1269) = dA(666)/dV(345) B(1269) = RCT(666)*V(153) ! B(1270) = dA(667)/dV(254) B(1270) = RCT(667)*V(337) ! B(1271) = dA(667)/dV(337) B(1271) = RCT(667)*V(254) ! B(1272) = dA(668)/dV(254) B(1272) = RCT(668)*V(346) ! B(1273) = dA(668)/dV(346) B(1273) = RCT(668)*V(254) ! B(1274) = dA(669)/dV(254) B(1274) = RCT(669)*V(346) ! B(1275) = dA(669)/dV(346) B(1275) = RCT(669)*V(254) ! B(1276) = dA(670)/dV(253) B(1276) = RCT(670)*V(337) ! B(1277) = dA(670)/dV(337) B(1277) = RCT(670)*V(253) ! B(1278) = dA(671)/dV(259) B(1278) = RCT(671)*V(337) ! B(1279) = dA(671)/dV(337) B(1279) = RCT(671)*V(259) ! B(1280) = dA(672)/dV(159) B(1280) = RCT(672)*V(345) ! B(1281) = dA(672)/dV(345) B(1281) = RCT(672)*V(159) ! B(1282) = dA(673)/dV(253) B(1282) = RCT(673) ! B(1283) = dA(674)/dV(253) B(1283) = RCT(674)*V(346) ! B(1284) = dA(674)/dV(346) B(1284) = RCT(674)*V(253) ! B(1285) = dA(675)/dV(253) B(1285) = RCT(675)*V(346) ! B(1286) = dA(675)/dV(346) B(1286) = RCT(675)*V(253) ! B(1287) = dA(676)/dV(259) B(1287) = RCT(676)*V(346) ! B(1288) = dA(676)/dV(346) B(1288) = RCT(676)*V(259) ! B(1289) = dA(677)/dV(259) B(1289) = RCT(677)*V(335) ! B(1290) = dA(677)/dV(335) B(1290) = RCT(677)*V(259) ! B(1291) = dA(678)/dV(308) B(1291) = RCT(678)*V(337) ! B(1292) = dA(678)/dV(337) B(1292) = RCT(678)*V(308) ! B(1293) = dA(679)/dV(308) B(1293) = RCT(679)*V(346) ! B(1294) = dA(679)/dV(346) B(1294) = RCT(679)*V(308) ! B(1295) = dA(680)/dV(308) B(1295) = RCT(680)*V(335) ! B(1296) = dA(680)/dV(335) B(1296) = RCT(680)*V(308) ! B(1297) = dA(681)/dV(308) B(1297) = RCT(681)*V(351) ! B(1298) = dA(681)/dV(351) B(1298) = RCT(681)*V(308) ! B(1299) = dA(682)/dV(308) B(1299) = RCT(682)*V(328) ! B(1300) = dA(682)/dV(328) B(1300) = RCT(682)*V(308) ! B(1301) = dA(683)/dV(184) B(1301) = RCT(683) ! B(1302) = dA(684)/dV(184) B(1302) = RCT(684)*V(345) ! B(1303) = dA(684)/dV(345) B(1303) = RCT(684)*V(184) ! B(1304) = dA(685)/dV(107) B(1304) = RCT(685)*V(345) ! B(1305) = dA(685)/dV(345) B(1305) = RCT(685)*V(107) ! B(1306) = dA(686)/dV(258) B(1306) = RCT(686)*V(345) ! B(1307) = dA(686)/dV(345) B(1307) = RCT(686)*V(258) ! B(1308) = dA(687)/dV(147) B(1308) = RCT(687)*V(345) ! B(1309) = dA(687)/dV(345) B(1309) = RCT(687)*V(147) ! B(1310) = dA(688)/dV(174) B(1310) = RCT(688)*V(345) ! B(1311) = dA(688)/dV(345) B(1311) = RCT(688)*V(174) ! B(1312) = dA(689)/dV(198) B(1312) = RCT(689)*V(345) ! B(1313) = dA(689)/dV(345) B(1313) = RCT(689)*V(198) ! B(1314) = dA(690)/dV(266) B(1314) = RCT(690)*V(345) ! B(1315) = dA(690)/dV(345) B(1315) = RCT(690)*V(266) ! B(1316) = dA(691)/dV(303) B(1316) = RCT(691)*V(345) ! B(1317) = dA(691)/dV(345) B(1317) = RCT(691)*V(303) ! B(1318) = dA(692)/dV(261) B(1318) = RCT(692)*V(351) ! B(1319) = dA(692)/dV(351) B(1319) = RCT(692)*V(261) ! B(1320) = dA(693)/dV(115) B(1320) = RCT(693)*V(345) ! B(1321) = dA(693)/dV(345) B(1321) = RCT(693)*V(115) ! B(1322) = dA(694)/dV(88) B(1322) = RCT(694)*V(345) ! B(1323) = dA(694)/dV(345) B(1323) = RCT(694)*V(88) ! B(1324) = dA(695)/dV(324) B(1324) = RCT(695)*V(337) ! B(1325) = dA(695)/dV(337) B(1325) = RCT(695)*V(324) ! B(1326) = dA(696)/dV(210) B(1326) = RCT(696)*V(345) ! B(1327) = dA(696)/dV(345) B(1327) = RCT(696)*V(210) ! B(1328) = dA(697)/dV(210) B(1328) = RCT(697)*V(345) ! B(1329) = dA(697)/dV(345) B(1329) = RCT(697)*V(210) ! B(1330) = dA(698)/dV(19) B(1330) = RCT(698)*V(345) ! B(1331) = dA(698)/dV(345) B(1331) = RCT(698)*V(19) ! B(1332) = dA(699)/dV(18) B(1332) = RCT(699)*V(337) ! B(1333) = dA(699)/dV(337) B(1333) = RCT(699)*V(18) ! B(1334) = dA(700)/dV(18) B(1334) = RCT(700)*V(346) ! B(1335) = dA(700)/dV(346) B(1335) = RCT(700)*V(18) ! B(1336) = dA(701)/dV(173) B(1336) = RCT(701)*V(345) ! B(1337) = dA(701)/dV(345) B(1337) = RCT(701)*V(173) ! B(1338) = dA(702)/dV(220) B(1338) = RCT(702)*V(345) ! B(1339) = dA(702)/dV(345) B(1339) = RCT(702)*V(220) ! B(1340) = dA(703)/dV(220) B(1340) = RCT(703)*V(351) ! B(1341) = dA(703)/dV(351) B(1341) = RCT(703)*V(220) ! B(1342) = dA(704)/dV(220) B(1342) = RCT(704)*V(341) ! B(1343) = dA(704)/dV(341) B(1343) = RCT(704)*V(220) ! B(1344) = dA(705)/dV(149) B(1344) = RCT(705)*V(345) ! B(1345) = dA(705)/dV(345) B(1345) = RCT(705)*V(149) ! B(1346) = dA(706)/dV(149) B(1346) = RCT(706)*V(351) ! B(1347) = dA(706)/dV(351) B(1347) = RCT(706)*V(149) ! B(1348) = dA(707)/dV(200) B(1348) = RCT(707)*V(345) ! B(1349) = dA(707)/dV(345) B(1349) = RCT(707)*V(200) ! B(1350) = dA(708)/dV(200) B(1350) = RCT(708)*V(351) ! B(1351) = dA(708)/dV(351) B(1351) = RCT(708)*V(200) ! B(1352) = dA(709)/dV(189) B(1352) = RCT(709)*V(346) ! B(1353) = dA(709)/dV(346) B(1353) = RCT(709)*V(189) ! B(1354) = dA(710)/dV(189) B(1354) = RCT(710)*V(337) ! B(1355) = dA(710)/dV(337) B(1355) = RCT(710)*V(189) ! B(1356) = dA(711)/dV(116) B(1356) = RCT(711)*V(345) ! B(1357) = dA(711)/dV(345) B(1357) = RCT(711)*V(116) ! B(1358) = dA(712)/dV(109) B(1358) = RCT(712)*V(341) ! B(1359) = dA(712)/dV(341) B(1359) = RCT(712)*V(109) ! B(1360) = dA(713)/dV(109) B(1360) = RCT(713)*V(345) ! B(1361) = dA(713)/dV(345) B(1361) = RCT(713)*V(109) ! B(1362) = dA(714)/dV(60) B(1362) = RCT(714)*V(345) ! B(1363) = dA(714)/dV(345) B(1363) = RCT(714)*V(60) ! B(1364) = dA(715)/dV(234) B(1364) = RCT(715)*V(337) ! B(1365) = dA(715)/dV(337) B(1365) = RCT(715)*V(234) ! B(1366) = dA(716)/dV(234) B(1366) = RCT(716)*V(346) ! B(1367) = dA(716)/dV(346) B(1367) = RCT(716)*V(234) ! B(1368) = dA(717)/dV(234) B(1368) = RCT(717)*V(351) ! B(1369) = dA(717)/dV(351) B(1369) = RCT(717)*V(234) ! B(1370) = dA(718)/dV(234) B(1370) = RCT(718)*V(328) ! B(1371) = dA(718)/dV(328) B(1371) = RCT(718)*V(234) ! B(1372) = dA(719)/dV(106) B(1372) = RCT(719) ! B(1373) = dA(720)/dV(106) B(1373) = RCT(720)*F(3) ! B(1375) = dA(721)/dV(70) B(1375) = RCT(721)*V(345) ! B(1376) = dA(721)/dV(345) B(1376) = RCT(721)*V(70) ! B(1377) = dA(722)/dV(136) B(1377) = RCT(722)*V(345) ! B(1378) = dA(722)/dV(345) B(1378) = RCT(722)*V(136) ! B(1379) = dA(723)/dV(136) B(1379) = RCT(723)*V(345) ! B(1380) = dA(723)/dV(345) B(1380) = RCT(723)*V(136) ! B(1381) = dA(724)/dV(143) B(1381) = RCT(724)*V(345) ! B(1382) = dA(724)/dV(345) B(1382) = RCT(724)*V(143) ! B(1383) = dA(725)/dV(82) B(1383) = RCT(725)*V(345) ! B(1384) = dA(725)/dV(345) B(1384) = RCT(725)*V(82) ! B(1385) = dA(726)/dV(101) B(1385) = RCT(726)*V(345) ! B(1386) = dA(726)/dV(345) B(1386) = RCT(726)*V(101) ! B(1387) = dA(727)/dV(263) B(1387) = RCT(727)*V(337) ! B(1388) = dA(727)/dV(337) B(1388) = RCT(727)*V(263) ! B(1389) = dA(728)/dV(263) B(1389) = RCT(728)*V(346) ! B(1390) = dA(728)/dV(346) B(1390) = RCT(728)*V(263) ! B(1391) = dA(729)/dV(263) B(1391) = RCT(729)*V(351) ! B(1392) = dA(729)/dV(351) B(1392) = RCT(729)*V(263) ! B(1393) = dA(730)/dV(263) B(1393) = RCT(730)*V(328) ! B(1394) = dA(730)/dV(328) B(1394) = RCT(730)*V(263) ! B(1395) = dA(731)/dV(263) B(1395) = RCT(731)*V(324) ! B(1396) = dA(731)/dV(324) B(1396) = RCT(731)*V(263) ! B(1397) = dA(732)/dV(58) B(1397) = RCT(732)*V(345) ! B(1398) = dA(732)/dV(345) B(1398) = RCT(732)*V(58) ! B(1399) = dA(733)/dV(121) B(1399) = RCT(733)*V(346) ! B(1400) = dA(733)/dV(346) B(1400) = RCT(733)*V(121) ! B(1401) = dA(734)/dV(121) B(1401) = RCT(734)*V(337) ! B(1402) = dA(734)/dV(337) B(1402) = RCT(734)*V(121) ! B(1403) = dA(735)/dV(146) B(1403) = 7.09e-11*V(345) ! B(1404) = dA(735)/dV(345) B(1404) = 7.09e-11*V(146) ! B(1405) = dA(736)/dV(240) B(1405) = RCT(736)*V(346) ! B(1406) = dA(736)/dV(346) B(1406) = RCT(736)*V(240) ! B(1407) = dA(737)/dV(240) B(1407) = RCT(737)*V(337) ! B(1408) = dA(737)/dV(337) B(1408) = RCT(737)*V(240) ! B(1409) = dA(738)/dV(240) B(1409) = RCT(738)*V(335) ! B(1410) = dA(738)/dV(335) B(1410) = RCT(738)*V(240) ! B(1411) = dA(739)/dV(122) B(1411) = RCT(739) ! B(1412) = dA(740)/dV(122) B(1412) = RCT(740)*V(345) ! B(1413) = dA(740)/dV(345) B(1413) = RCT(740)*V(122) ! B(1414) = dA(741)/dV(195) B(1414) = RCT(741)*V(345) ! B(1415) = dA(741)/dV(345) B(1415) = RCT(741)*V(195) ! B(1416) = dA(742)/dV(195) B(1416) = RCT(742)*V(351) ! B(1417) = dA(742)/dV(351) B(1417) = RCT(742)*V(195) ! B(1418) = dA(743)/dV(158) B(1418) = RCT(743)*V(345) ! B(1419) = dA(743)/dV(345) B(1419) = RCT(743)*V(158) ! B(1420) = dA(744)/dV(158) B(1420) = RCT(744)*V(351) ! B(1421) = dA(744)/dV(351) B(1421) = RCT(744)*V(158) ! B(1422) = dA(745)/dV(202) B(1422) = RCT(745)*V(345) ! B(1423) = dA(745)/dV(345) B(1423) = RCT(745)*V(202) ! B(1424) = dA(746)/dV(202) B(1424) = RCT(746)*V(341) ! B(1425) = dA(746)/dV(341) B(1425) = RCT(746)*V(202) ! B(1426) = dA(747)/dV(202) B(1426) = RCT(747)*V(351) ! B(1427) = dA(747)/dV(351) B(1427) = RCT(747)*V(202) ! B(1428) = dA(748)/dV(204) B(1428) = RCT(748)*V(345) ! B(1429) = dA(748)/dV(345) B(1429) = RCT(748)*V(204) ! B(1430) = dA(749)/dV(204) B(1430) = RCT(749)*V(351) ! B(1431) = dA(749)/dV(351) B(1431) = RCT(749)*V(204) ! B(1432) = dA(750)/dV(235) B(1432) = RCT(750)*V(337) ! B(1433) = dA(750)/dV(337) B(1433) = RCT(750)*V(235) ! B(1434) = dA(751)/dV(235) B(1434) = RCT(751)*V(346) ! B(1435) = dA(751)/dV(346) B(1435) = RCT(751)*V(235) ! B(1436) = dA(752)/dV(235) B(1436) = RCT(752)*V(335) ! B(1437) = dA(752)/dV(335) B(1437) = RCT(752)*V(235) ! B(1438) = dA(753)/dV(71) B(1438) = RCT(753)*V(345) ! B(1439) = dA(753)/dV(345) B(1439) = RCT(753)*V(71) ! B(1440) = dA(754)/dV(90) B(1440) = RCT(754) ! B(1441) = dA(755)/dV(90) B(1441) = RCT(755)*V(345) ! B(1442) = dA(755)/dV(345) B(1442) = RCT(755)*V(90) ! B(1443) = dA(756)/dV(236) B(1443) = RCT(756)*V(335) ! B(1444) = dA(756)/dV(335) B(1444) = RCT(756)*V(236) ! B(1445) = dA(757)/dV(236) B(1445) = RCT(757)*V(346) ! B(1446) = dA(757)/dV(346) B(1446) = RCT(757)*V(236) ! B(1447) = dA(758)/dV(236) B(1447) = RCT(758)*V(351) ! B(1448) = dA(758)/dV(351) B(1448) = RCT(758)*V(236) ! B(1449) = dA(759)/dV(236) B(1449) = RCT(759)*V(337) ! B(1450) = dA(759)/dV(337) B(1450) = RCT(759)*V(236) ! B(1451) = dA(760)/dV(117) B(1451) = RCT(760)*V(345) ! B(1452) = dA(760)/dV(345) B(1452) = RCT(760)*V(117) ! B(1453) = dA(761)/dV(203) B(1453) = RCT(761)*V(341) ! B(1454) = dA(761)/dV(341) B(1454) = RCT(761)*V(203) ! B(1455) = dA(762)/dV(203) B(1455) = RCT(762)*V(335) ! B(1456) = dA(762)/dV(335) B(1456) = RCT(762)*V(203) ! B(1457) = dA(763)/dV(269) B(1457) = RCT(763)*V(345) ! B(1458) = dA(763)/dV(345) B(1458) = RCT(763)*V(269) ! B(1459) = dA(764)/dV(269) B(1459) = RCT(764)*V(351) ! B(1460) = dA(764)/dV(351) B(1460) = RCT(764)*V(269) ! B(1461) = dA(765)/dV(236) B(1461) = RCT(765)*V(328) ! B(1462) = dA(765)/dV(328) B(1462) = RCT(765)*V(236) ! B(1463) = dA(766)/dV(235) B(1463) = RCT(766)*V(328) ! B(1464) = dA(766)/dV(328) B(1464) = RCT(766)*V(235) ! B(1465) = dA(767)/dV(221) B(1465) = RCT(767)*V(345) ! B(1466) = dA(767)/dV(345) B(1466) = RCT(767)*V(221) ! B(1467) = dA(768)/dV(221) B(1467) = RCT(768)*V(341) ! B(1468) = dA(768)/dV(341) B(1468) = RCT(768)*V(221) ! B(1469) = dA(769)/dV(221) B(1469) = RCT(769) ! B(1470) = dA(770)/dV(201) B(1470) = RCT(770)*V(345) ! B(1471) = dA(770)/dV(345) B(1471) = RCT(770)*V(201) ! B(1472) = dA(771)/dV(201) B(1472) = RCT(771)*V(341) ! B(1473) = dA(771)/dV(341) B(1473) = RCT(771)*V(201) ! B(1474) = dA(772)/dV(201) B(1474) = RCT(772) ! B(1475) = dA(773)/dV(13) B(1475) = RCT(773)*V(337) ! B(1476) = dA(773)/dV(337) B(1476) = RCT(773)*V(13) ! B(1477) = dA(774)/dV(13) B(1477) = RCT(774)*V(346) ! B(1478) = dA(774)/dV(346) B(1478) = RCT(774)*V(13) ! B(1479) = dA(775)/dV(22) B(1479) = RCT(775)*V(337) ! B(1480) = dA(775)/dV(337) B(1480) = RCT(775)*V(22) ! B(1481) = dA(776)/dV(22) B(1481) = RCT(776)*V(346) ! B(1482) = dA(776)/dV(346) B(1482) = RCT(776)*V(22) ! B(1483) = dA(777)/dV(27) B(1483) = RCT(777)*V(337) ! B(1484) = dA(777)/dV(337) B(1484) = RCT(777)*V(27) ! B(1485) = dA(778)/dV(27) B(1485) = RCT(778)*V(346) ! B(1486) = dA(778)/dV(346) B(1486) = RCT(778)*V(27) ! B(1487) = dA(779)/dV(328) B(1487) = RCT(779)*V(351) ! B(1488) = dA(779)/dV(351) B(1488) = RCT(779)*V(328) ! B(1489) = dA(780)/dV(41) B(1489) = RCT(780)*V(345) ! B(1490) = dA(780)/dV(345) B(1490) = RCT(780)*V(41) ! B(1491) = dA(781)/dV(337) B(1491) = RCT(781) ! B(1492) = dA(782)/dV(335) B(1492) = RCT(782) ! B(1493) = dA(783)/dV(351) B(1493) = RCT(783) ! B(1494) = dA(784)/dV(351) B(1494) = RCT(784) ! B(1495) = dA(785)/dV(351) B(1495) = RCT(785) ! B(1496) = dA(786)/dV(214) B(1496) = RCT(786)*V(336) ! B(1497) = dA(786)/dV(336) B(1497) = RCT(786)*V(214) ! B(1498) = dA(787)/dV(214) B(1498) = RCT(787)*V(339) ! B(1499) = dA(787)/dV(339) B(1499) = RCT(787)*V(214) ! B(1500) = dA(788)/dV(214) B(1500) = RCT(788) ! B(1501) = dA(789)/dV(214) B(1501) = RCT(789)*V(353) ! B(1502) = dA(789)/dV(353) B(1502) = RCT(789)*V(214) ! B(1503) = dA(790)/dV(214) B(1503) = RCT(790)*V(344) ! B(1504) = dA(790)/dV(344) B(1504) = RCT(790)*V(214) ! B(1505) = dA(791)/dV(345) B(1505) = RCT(791)*V(353) ! B(1506) = dA(791)/dV(353) B(1506) = RCT(791)*V(345) ! B(1507) = dA(792)/dV(344) B(1507) = RCT(792)*V(345) ! B(1508) = dA(792)/dV(345) B(1508) = RCT(792)*V(344) ! B(1509) = dA(793)/dV(218) B(1509) = RCT(793)*V(336) ! B(1510) = dA(793)/dV(336) B(1510) = RCT(793)*V(218) ! B(1511) = dA(794)/dV(218) B(1511) = RCT(794)*V(339) ! B(1512) = dA(794)/dV(339) B(1512) = RCT(794)*V(218) ! B(1513) = dA(795)/dV(317) B(1513) = RCT(795)*V(336) ! B(1514) = dA(795)/dV(336) B(1514) = RCT(795)*V(317) ! B(1515) = dA(796)/dV(317) B(1515) = RCT(796)*V(339) ! B(1516) = dA(796)/dV(339) B(1516) = RCT(796)*V(317) ! B(1517) = dA(797)/dV(317) B(1517) = RCT(797)*V(352) ! B(1518) = dA(797)/dV(352) B(1518) = RCT(797)*V(317) ! B(1519) = dA(798)/dV(317) B(1519) = RCT(798)*V(349) ! B(1520) = dA(798)/dV(349) B(1520) = RCT(798)*V(317) ! B(1521) = dA(799)/dV(317) B(1521) = RCT(799)*V(350) ! B(1522) = dA(799)/dV(350) B(1522) = RCT(799)*V(317) ! B(1523) = dA(800)/dV(317) B(1523) = RCT(800)*V(353) ! B(1524) = dA(800)/dV(353) B(1524) = RCT(800)*V(317) ! B(1525) = dA(801)/dV(317) B(1525) = RCT(801)*V(344) ! B(1526) = dA(801)/dV(344) B(1526) = RCT(801)*V(317) ! B(1527) = dA(802)/dV(297) B(1527) = RCT(802)*V(353) ! B(1528) = dA(802)/dV(353) B(1528) = RCT(802)*V(297) ! B(1529) = dA(803)/dV(297) B(1529) = RCT(803)*V(344) ! B(1530) = dA(803)/dV(344) B(1530) = RCT(803)*V(297) ! B(1531) = dA(804)/dV(297) B(1531) = RCT(804)*V(339) ! B(1532) = dA(804)/dV(339) B(1532) = RCT(804)*V(297) ! B(1533) = dA(805)/dV(297) B(1533) = RCT(805)*V(349) ! B(1534) = dA(805)/dV(349) B(1534) = RCT(805)*V(297) ! B(1535) = dA(806)/dV(297) B(1535) = RCT(806)*V(350) ! B(1536) = dA(806)/dV(350) B(1536) = RCT(806)*V(297) ! B(1537) = dA(807)/dV(297) B(1537) = RCT(807)*V(352) ! B(1538) = dA(807)/dV(352) B(1538) = RCT(807)*V(297) ! B(1539) = dA(808)/dV(333) B(1539) = RCT(808)*V(339) ! B(1540) = dA(808)/dV(339) B(1540) = RCT(808)*V(333) ! B(1541) = dA(809)/dV(333) B(1541) = RCT(809)*V(352) ! B(1542) = dA(809)/dV(352) B(1542) = RCT(809)*V(333) ! B(1543) = dA(810)/dV(333) B(1543) = RCT(810)*V(353) ! B(1544) = dA(810)/dV(353) B(1544) = RCT(810)*V(333) ! B(1545) = dA(811)/dV(333) B(1545) = RCT(811)*V(344) ! B(1546) = dA(811)/dV(344) B(1546) = RCT(811)*V(333) ! B(1547) = dA(812)/dV(333) B(1547) = RCT(812)*V(348) ! B(1548) = dA(812)/dV(348) B(1548) = RCT(812)*V(333) ! B(1549) = dA(813)/dV(316) B(1549) = RCT(813)*V(352) ! B(1550) = dA(813)/dV(352) B(1550) = RCT(813)*V(316) ! B(1551) = dA(814)/dV(316) B(1551) = RCT(814)*V(339) ! B(1552) = dA(814)/dV(339) B(1552) = RCT(814)*V(316) ! B(1553) = dA(815)/dV(316) B(1553) = RCT(815)*V(353) ! B(1554) = dA(815)/dV(353) B(1554) = RCT(815)*V(316) ! B(1555) = dA(816)/dV(316) B(1555) = RCT(816)*V(344) ! B(1556) = dA(816)/dV(344) B(1556) = RCT(816)*V(316) ! B(1557) = dA(817)/dV(316) B(1557) = RCT(817)*V(349) ! B(1558) = dA(817)/dV(349) B(1558) = RCT(817)*V(316) ! B(1559) = dA(818)/dV(316) B(1559) = RCT(818)*V(350) ! B(1560) = dA(818)/dV(350) B(1560) = RCT(818)*V(316) ! B(1561) = dA(819)/dV(316) B(1561) = RCT(819)*V(348) ! B(1562) = dA(819)/dV(348) B(1562) = RCT(819)*V(316) ! B(1563) = dA(820)/dV(341) B(1563) = RCT(820)*V(352) ! B(1564) = dA(820)/dV(352) B(1564) = RCT(820)*V(341) ! B(1565) = dA(821)/dV(341) B(1565) = RCT(821)*V(349) ! B(1566) = dA(821)/dV(349) B(1566) = RCT(821)*V(341) ! B(1567) = dA(822)/dV(341) B(1567) = RCT(822)*V(350) ! B(1568) = dA(822)/dV(350) B(1568) = RCT(822)*V(341) ! B(1569) = dA(823)/dV(352) B(1569) = RCT(823) ! B(1570) = dA(824)/dV(352) B(1570) = RCT(824) ! B(1571) = dA(825)/dV(73) B(1571) = RCT(825) ! B(1572) = dA(826)/dV(73) B(1572) = RCT(826) ! B(1573) = dA(827)/dV(73) B(1573) = RCT(827) ! B(1574) = dA(828)/dV(330) B(1574) = RCT(828) ! B(1575) = dA(829)/dV(330) B(1575) = RCT(829) ! B(1576) = dA(830)/dV(44) B(1576) = RCT(830) ! B(1577) = dA(831)/dV(44) B(1577) = RCT(831) ! B(1578) = dA(832)/dV(44) B(1578) = RCT(832) ! B(1579) = dA(833)/dV(55) B(1579) = RCT(833) ! B(1580) = dA(834)/dV(55) B(1580) = RCT(834) ! B(1581) = dA(835)/dV(55) B(1581) = RCT(835) ! B(1582) = dA(836)/dV(42) B(1582) = RCT(836) ! B(1583) = dA(837)/dV(42) B(1583) = RCT(837) ! B(1584) = dA(838)/dV(42) B(1584) = RCT(838) ! B(1585) = dA(839)/dV(252) B(1585) = RCT(839) ! B(1586) = dA(840)/dV(252) B(1586) = RCT(840) ! B(1587) = dA(841)/dV(332) B(1587) = RCT(841) ! B(1588) = dA(842)/dV(332) B(1588) = RCT(842) ! B(1589) = dA(843)/dV(332) B(1589) = RCT(843)*V(336) ! B(1590) = dA(843)/dV(336) B(1590) = RCT(843)*V(332) ! B(1591) = dA(844)/dV(252) B(1591) = RCT(844)*V(349) ! B(1592) = dA(844)/dV(349) B(1592) = RCT(844)*V(252) ! B(1593) = dA(845)/dV(252) B(1593) = RCT(845)*V(350) ! B(1594) = dA(845)/dV(350) B(1594) = RCT(845)*V(252) ! B(1595) = dA(846)/dV(252) B(1595) = RCT(846)*V(353) ! B(1596) = dA(846)/dV(353) B(1596) = RCT(846)*V(252) ! B(1597) = dA(847)/dV(252) B(1597) = RCT(847)*V(344) ! B(1598) = dA(847)/dV(344) B(1598) = RCT(847)*V(252) ! B(1599) = dA(848)/dV(332) B(1599) = RCT(848)*V(349) ! B(1600) = dA(848)/dV(349) B(1600) = RCT(848)*V(332) ! B(1601) = dA(849)/dV(332) B(1601) = RCT(849)*V(350) ! B(1602) = dA(849)/dV(350) B(1602) = RCT(849)*V(332) ! B(1603) = dA(850)/dV(332) B(1603) = RCT(850)*V(353) ! B(1604) = dA(850)/dV(353) B(1604) = RCT(850)*V(332) ! B(1605) = dA(851)/dV(332) B(1605) = RCT(851)*V(344) ! B(1606) = dA(851)/dV(344) B(1606) = RCT(851)*V(332) ! B(1607) = dA(852)/dV(330) B(1607) = RCT(852)*V(349) ! B(1608) = dA(852)/dV(349) B(1608) = RCT(852)*V(330) ! B(1609) = dA(853)/dV(330) B(1609) = RCT(853)*V(350) ! B(1610) = dA(853)/dV(350) B(1610) = RCT(853)*V(330) ! B(1611) = dA(854)/dV(330) B(1611) = RCT(854)*V(353) ! B(1612) = dA(854)/dV(353) B(1612) = RCT(854)*V(330) ! B(1613) = dA(855)/dV(330) B(1613) = RCT(855)*V(344) ! B(1614) = dA(855)/dV(344) B(1614) = RCT(855)*V(330) ! B(1615) = dA(856)/dV(270) B(1615) = RCT(856) ! B(1616) = dA(857)/dV(294) B(1616) = RCT(857) ! B(1617) = dA(858)/dV(151) B(1617) = RCT(858) ! B(1618) = dA(859)/dV(152) B(1618) = RCT(859) ! B(1619) = dA(860)/dV(128) B(1619) = RCT(860) ! B(1620) = dA(861)/dV(24) B(1620) = RCT(861) ! B(1621) = dA(862)/dV(302) B(1621) = RCT(862) ! B(1622) = dA(863)/dV(251) B(1622) = RCT(863) ! B(1623) = dA(864)/dV(256) B(1623) = RCT(864) ! B(1624) = dA(865)/dV(242) B(1624) = RCT(865) ! B(1625) = dA(866)/dV(154) B(1625) = RCT(866) ! B(1626) = dA(867)/dV(115) B(1626) = RCT(867) ! B(1627) = dA(868)/dV(107) B(1627) = RCT(868) ! B(1628) = dA(869)/dV(268) B(1628) = RCT(869) ! B(1629) = dA(870)/dV(175) B(1629) = RCT(870) ! B(1630) = dA(871)/dV(168) B(1630) = RCT(871) ! B(1631) = dA(872)/dV(267) B(1631) = RCT(872) ! B(1632) = dA(873)/dV(215) B(1632) = RCT(873) ! B(1633) = dA(874)/dV(186) B(1633) = RCT(874) ! B(1634) = dA(875)/dV(222) B(1634) = RCT(875) ! B(1635) = dA(876)/dV(299) B(1635) = RCT(876) ! B(1636) = dA(877)/dV(266) B(1636) = RCT(877) ! B(1637) = dA(878)/dV(303) B(1637) = RCT(878) ! B(1638) = dA(879)/dV(216) B(1638) = RCT(879) ! B(1639) = dA(880)/dV(248) B(1639) = RCT(880) ! B(1640) = dA(881)/dV(269) B(1640) = RCT(881) ! B(1641) = dA(882)/dV(341) B(1641) = RCT(882) ! B(1642) = dA(883)/dV(341) B(1642) = RCT(883) ! B(1644) = dA(885)/dV(335) B(1644) = RCT(885) ! B(1645) = dA(886)/dV(264) B(1645) = RCT(886) ! B(1646) = dA(887)/dV(164) B(1646) = RCT(887) ! B(1647) = dA(888)/dV(325) B(1647) = RCT(888) ! B(1648) = dA(889)/dV(325) B(1648) = RCT(889) ! B(1649) = dA(890)/dV(327) B(1649) = RCT(890) ! B(1650) = dA(891)/dV(239) B(1650) = RCT(891) ! B(1651) = dA(892)/dV(108) B(1651) = RCT(892) ! B(1652) = dA(893)/dV(108) B(1652) = RCT(893) ! B(1653) = dA(894)/dV(351) B(1653) = RCT(894) ! B(1654) = dA(895)/dV(351) B(1654) = RCT(895) ! B(1655) = dA(896)/dV(214) B(1655) = RCT(896) ! B(1656) = dA(897)/dV(326) B(1656) = RCT(897) ! B(1657) = dA(898)/dV(326) B(1657) = RCT(898) ! B(1658) = dA(899)/dV(139) B(1658) = RCT(899) ! B(1659) = dA(900)/dV(126) B(1659) = RCT(900) ! B(1660) = dA(901)/dV(233) B(1660) = RCT(901) ! B(1661) = dA(902)/dV(146) B(1661) = RCT(902) ! B(1662) = dA(903)/dV(298) B(1662) = RCT(903) ! B(1663) = dA(904)/dV(295) B(1663) = RCT(904) ! B(1664) = dA(905)/dV(295) B(1664) = RCT(905) ! B(1665) = dA(906)/dV(292) B(1665) = RCT(906) ! B(1666) = dA(907)/dV(306) B(1666) = RCT(907) ! B(1667) = dA(908)/dV(270) B(1667) = RCT(908) ! B(1668) = dA(909)/dV(270) B(1668) = RCT(909) ! B(1669) = dA(910)/dV(270) B(1669) = RCT(910) ! B(1670) = dA(911)/dV(294) B(1670) = RCT(911) ! B(1671) = dA(912)/dV(314) B(1671) = RCT(912) ! B(1672) = dA(913)/dV(314) B(1672) = RCT(913) ! B(1673) = dA(914)/dV(314) B(1673) = RCT(914) ! B(1674) = dA(915)/dV(309) B(1674) = RCT(915) ! B(1675) = dA(916)/dV(307) B(1675) = RCT(916) ! B(1676) = dA(917)/dV(125) B(1676) = RCT(917) ! B(1677) = dA(918)/dV(118) B(1677) = RCT(918) ! B(1678) = dA(919)/dV(99) B(1678) = RCT(919) ! B(1679) = dA(920)/dV(100) B(1679) = RCT(920) ! B(1680) = dA(921)/dV(97) B(1680) = RCT(921) ! B(1681) = dA(922)/dV(98) B(1681) = RCT(922) ! B(1682) = dA(923)/dV(102) B(1682) = RCT(923) ! B(1683) = dA(924)/dV(123) B(1683) = RCT(924) ! B(1684) = dA(925)/dV(155) B(1684) = RCT(925) ! B(1685) = dA(926)/dV(251) B(1685) = RCT(926) ! B(1686) = dA(927)/dV(196) B(1686) = RCT(927) ! B(1687) = dA(928)/dV(116) B(1687) = RCT(928) ! B(1688) = dA(929)/dV(279) B(1688) = RCT(929) ! B(1689) = dA(930)/dV(92) B(1689) = RCT(930) ! B(1690) = dA(931)/dV(148) B(1690) = RCT(931) ! B(1691) = dA(932)/dV(347) B(1691) = RCT(932) ! B(1692) = dA(933)/dV(316) B(1692) = RCT(933) ! B(1693) = dA(934)/dV(218) B(1693) = RCT(934) ! B(1694) = dA(935)/dV(218) B(1694) = RCT(935) ! B(1695) = dA(936)/dV(59) B(1695) = RCT(936) ! B(1696) = dA(937)/dV(81) B(1696) = RCT(937) ! B(1697) = dA(938)/dV(78) B(1697) = RCT(938) ! B(1698) = dA(939)/dV(105) B(1698) = RCT(939) ! B(1699) = dA(940)/dV(181) B(1699) = RCT(940) ! B(1700) = dA(941)/dV(79) B(1700) = RCT(941) ! B(1701) = dA(942)/dV(157) B(1701) = RCT(942) ! B(1702) = dA(943)/dV(245) B(1702) = RCT(943) ! B(1703) = dA(944)/dV(338) B(1703) = RCT(944) ! B(1704) = dA(945)/dV(120) B(1704) = RCT(945) ! B(1705) = dA(946)/dV(76) B(1705) = RCT(946) ! B(1706) = dA(947)/dV(297) B(1706) = RCT(947) ! B(1707) = dA(948)/dV(317) B(1707) = RCT(948) ! B(1708) = dA(949)/dV(317) B(1708) = RCT(949) ! B(1709) = dA(950)/dV(333) B(1709) = RCT(950) ! B(1710) = dA(951)/dV(43) B(1710) = RCT(951) ! B(1711) = dA(952)/dV(46) B(1711) = RCT(952) ! B(1712) = dA(953)/dV(47) B(1712) = RCT(953) ! B(1713) = dA(954)/dV(48) B(1713) = RCT(954) ! B(1714) = dA(955)/dV(49) B(1714) = RCT(955) ! B(1715) = dA(956)/dV(50) B(1715) = RCT(956) ! B(1716) = dA(957)/dV(51) B(1716) = RCT(957) ! B(1717) = dA(958)/dV(84) B(1717) = RCT(958) ! B(1718) = dA(959)/dV(85) B(1718) = RCT(959) ! B(1719) = dA(960)/dV(86) B(1719) = RCT(960) ! B(1720) = dA(961)/dV(87) B(1720) = RCT(961) ! B(1721) = dA(962)/dV(53) B(1721) = RCT(962) ! B(1722) = dA(963)/dV(61) B(1722) = RCT(963) ! B(1723) = dA(964)/dV(54) B(1723) = RCT(964) ! B(1724) = dA(965)/dV(110) B(1724) = RCT(965) ! B(1725) = dA(966)/dV(170) B(1725) = RCT(966) ! B(1726) = dA(967)/dV(330) B(1726) = RCT(967) ! B(1727) = dA(968)/dV(284) B(1727) = RCT(968) ! B(1728) = dA(969)/dV(96) B(1728) = RCT(969) ! B(1729) = dA(970)/dV(62) B(1729) = RCT(970) ! B(1730) = dA(971)/dV(252) B(1730) = RCT(971) ! B(1731) = dA(972)/dV(332) B(1731) = RCT(972) ! B(1732) = dA(973)/dV(44) B(1732) = RCT(973) ! B(1733) = dA(974)/dV(52) B(1733) = RCT(974) ! B(1734) = dA(975)/dV(1) B(1734) = RCT(975) ! B(1735) = dA(976)/dV(3) B(1735) = RCT(976) ! B(1736) = dA(977)/dV(2) B(1736) = RCT(977) ! B(1737) = dA(978)/dV(42) B(1737) = RCT(978) ! B(1738) = dA(979)/dV(55) B(1738) = RCT(979) ! B(1739) = dA(980)/dV(77) B(1739) = RCT(980) ! B(1740) = dA(981)/dV(104) B(1740) = RCT(981) ! B(1741) = dA(982)/dV(80) B(1741) = RCT(982) ! B(1742) = dA(983)/dV(80) B(1742) = RCT(983) ! B(1743) = dA(984)/dV(244) B(1743) = RCT(984) ! B(1744) = dA(985)/dV(63) B(1744) = RCT(985) ! B(1745) = dA(986)/dV(68) B(1745) = RCT(986) ! B(1746) = dA(987)/dV(134) B(1746) = RCT(987) ! B(1747) = dA(988)/dV(346) B(1747) = RCT(988) ! B(1748) = dA(989)/dV(229) B(1748) = RCT(989) ! B(1749) = dA(990)/dV(261) B(1749) = RCT(990) ! B(1750) = dA(991)/dV(256) B(1750) = RCT(991) ! B(1751) = dA(992)/dV(242) B(1751) = RCT(992) ! B(1752) = dA(993)/dV(154) B(1752) = RCT(993) ! B(1753) = dA(994)/dV(65) B(1753) = RCT(994) ! B(1754) = dA(995)/dV(65) B(1754) = RCT(995) ! B(1755) = dA(996)/dV(64) B(1755) = RCT(996) ! B(1756) = dA(997)/dV(64) B(1756) = RCT(997) ! B(1757) = dA(998)/dV(93) B(1757) = RCT(998) ! B(1758) = dA(999)/dV(83) B(1758) = RCT(999) ! B(1759) = dA(1000)/dV(91) B(1759) = RCT(1000) ! B(1760) = dA(1001)/dV(95) B(1760) = RCT(1001) ! B(1761) = dA(1002)/dV(88) B(1761) = RCT(1002) ! B(1762) = dA(1003)/dV(210) B(1762) = RCT(1003) ! B(1763) = dA(1004)/dV(115) B(1763) = RCT(1004) ! B(1764) = dA(1005)/dV(247) B(1764) = RCT(1005) ! B(1765) = dA(1006)/dV(208) B(1765) = RCT(1006) ! B(1766) = dA(1007)/dV(227) B(1766) = RCT(1007) ! B(1767) = dA(1008)/dV(288) B(1767) = RCT(1008) ! B(1768) = dA(1009)/dV(185) B(1768) = RCT(1009) ! B(1769) = dA(1010)/dV(194) B(1769) = RCT(1010) ! B(1770) = dA(1011)/dV(287) B(1770) = RCT(1011) ! B(1771) = dA(1012)/dV(159) B(1771) = RCT(1012) ! B(1772) = dA(1013)/dV(302) B(1772) = RCT(1013) ! B(1773) = dA(1014)/dV(248) B(1773) = RCT(1014) ! B(1774) = dA(1015)/dV(216) B(1774) = RCT(1015) ! B(1775) = dA(1016)/dV(187) B(1775) = RCT(1016) ! B(1776) = dA(1017)/dV(192) B(1776) = RCT(1017) ! B(1777) = dA(1018)/dV(209) B(1777) = RCT(1018) ! B(1778) = dA(1019)/dV(199) B(1778) = RCT(1019) ! B(1779) = dA(1020)/dV(230) B(1779) = RCT(1020) ! B(1780) = dA(1021)/dV(231) B(1780) = RCT(1021) ! B(1781) = dA(1022)/dV(150) B(1781) = RCT(1022) ! B(1782) = dA(1023)/dV(144) B(1782) = RCT(1023) ! B(1783) = dA(1024)/dV(268) B(1783) = RCT(1024) ! B(1784) = dA(1025)/dV(175) B(1784) = RCT(1025) ! B(1785) = dA(1026)/dV(168) B(1785) = RCT(1026) ! B(1786) = dA(1027)/dV(267) B(1786) = RCT(1027) ! B(1787) = dA(1028)/dV(222) B(1787) = RCT(1028) ! B(1788) = dA(1029)/dV(186) B(1788) = RCT(1029) ! B(1789) = dA(1030)/dV(186) B(1789) = RCT(1030) ! B(1790) = dA(1031)/dV(301) B(1790) = RCT(1031) ! B(1791) = dA(1032)/dV(299) B(1791) = RCT(1032) ! B(1792) = dA(1033)/dV(258) B(1792) = RCT(1033) ! B(1793) = dA(1034)/dV(258) B(1793) = RCT(1034) ! B(1794) = dA(1035)/dV(174) B(1794) = RCT(1035) ! B(1795) = dA(1036)/dV(198) B(1795) = RCT(1036) ! B(1796) = dA(1037)/dV(147) B(1796) = RCT(1037) ! B(1797) = dA(1038)/dV(303) B(1797) = RCT(1038) ! B(1798) = dA(1039)/dV(303) B(1798) = RCT(1039) ! B(1799) = dA(1040)/dV(266) B(1799) = RCT(1040) ! B(1800) = dA(1041)/dV(266) B(1800) = RCT(1041) ! B(1801) = dA(1042)/dV(136) B(1801) = RCT(1042) ! B(1802) = dA(1043)/dV(204) B(1802) = RCT(1043) ! B(1803) = dA(1044)/dV(71) B(1803) = RCT(1044) ! B(1804) = dA(1045)/dV(117) B(1804) = RCT(1045) ! B(1805) = dA(1046)/dV(269) B(1805) = RCT(1046) ! B(1806) = dA(1047)/dV(124) B(1806) = RCT(1047) ! B(1807) = dA(1048)/dV(111) B(1807) = RCT(1048) ! B(1808) = dA(1049)/dV(225) B(1808) = RCT(1049) ! B(1809) = dA(1050)/dV(74) B(1809) = RCT(1050) ! B(1810) = dA(1051)/dV(66) B(1810) = RCT(1051) ! B(1811) = dA(1052)/dV(160) B(1811) = RCT(1052) ! B(1812) = dA(1053)/dV(112) B(1812) = RCT(1053) ! B(1813) = dA(1054)/dV(161) B(1813) = RCT(1054) ! B(1814) = dA(1055)/dV(169) B(1814) = RCT(1055) ! B(1815) = dA(1056)/dV(130) B(1815) = RCT(1056) ! B(1816) = dA(1057)/dV(229) B(1816) = RCT(1057) ! B(1817) = dA(1058)/dV(255) B(1817) = RCT(1058) ! Construct the Jacobian terms from B's IF (DO_JVS(1)) & ! JVS(1) = Jac_FULL(1,1) JVS(1) = -B(1734) IF (DO_JVS(2)) & ! JVS(2) = Jac_FULL(2,2) JVS(2) = -B(1736) IF (DO_JVS(3)) & ! JVS(3) = Jac_FULL(3,3) JVS(3) = -B(1735) IF (DO_JVS(4)) & ! JVS(4) = Jac_FULL(4,4) JVS(4) = 0 IF (DO_JVS(5)) & ! JVS(5) = Jac_FULL(4,42) JVS(5) = 2*B(1582) IF (DO_JVS(6)) & ! JVS(6) = Jac_FULL(4,44) JVS(6) = 2*B(1576) IF (DO_JVS(7)) & ! JVS(7) = Jac_FULL(4,55) JVS(7) = 2*B(1579) IF (DO_JVS(8)) & ! JVS(8) = Jac_FULL(4,73) JVS(8) = B(1571) IF (DO_JVS(9)) & ! JVS(9) = Jac_FULL(5,5) JVS(9) = 0 IF (DO_JVS(10)) & ! JVS(10) = Jac_FULL(5,269) JVS(10) = B(1640) IF (DO_JVS(11)) & ! JVS(11) = Jac_FULL(6,6) JVS(11) = 0 IF (DO_JVS(12)) & ! JVS(12) = Jac_FULL(6,41) JVS(12) = B(1489) IF (DO_JVS(13)) & ! JVS(13) = Jac_FULL(6,345) JVS(13) = B(1490) IF (DO_JVS(14)) & ! JVS(14) = Jac_FULL(7,7) JVS(14) = 0 IF (DO_JVS(15)) & ! JVS(15) = Jac_FULL(7,66) JVS(15) = B(760)+B(1810) IF (DO_JVS(16)) & ! JVS(16) = Jac_FULL(7,68) JVS(16) = B(459) IF (DO_JVS(17)) & ! JVS(17) = Jac_FULL(7,71) JVS(17) = B(1803) IF (DO_JVS(18)) & ! JVS(18) = Jac_FULL(7,74) JVS(18) = B(1809) IF (DO_JVS(19)) & ! JVS(19) = Jac_FULL(7,90) JVS(19) = B(1441) IF (DO_JVS(20)) & ! JVS(20) = Jac_FULL(7,92) JVS(20) = 0.22*B(342)+B(1689) IF (DO_JVS(21)) & ! JVS(21) = Jac_FULL(7,115) JVS(21) = B(1320)+B(1763) IF (DO_JVS(22)) & ! JVS(22) = Jac_FULL(7,130) JVS(22) = B(849)+B(1815) IF (DO_JVS(23)) & ! JVS(23) = Jac_FULL(7,133) JVS(23) = B(1085)+B(1087) IF (DO_JVS(24)) & ! JVS(24) = Jac_FULL(7,135) JVS(24) = B(1089)+B(1091) IF (DO_JVS(25)) & ! JVS(25) = Jac_FULL(7,139) JVS(25) = 0.3*B(1658) IF (DO_JVS(26)) & ! JVS(26) = Jac_FULL(7,159) JVS(26) = 0.41*B(1280)+1.238*B(1771) IF (DO_JVS(27)) & ! JVS(27) = Jac_FULL(7,169) JVS(27) = B(1814) IF (DO_JVS(28)) & ! JVS(28) = Jac_FULL(7,173) JVS(28) = B(1336) IF (DO_JVS(29)) & ! JVS(29) = Jac_FULL(7,182) JVS(29) = 0.429*B(1214)+0.429*B(1216) IF (DO_JVS(30)) & ! JVS(30) = Jac_FULL(7,194) JVS(30) = 0.097*B(1258) IF (DO_JVS(31)) & ! JVS(31) = Jac_FULL(7,198) JVS(31) = B(1312) IF (DO_JVS(32)) & ! JVS(32) = Jac_FULL(7,213) JVS(32) = 0.44*B(302) IF (DO_JVS(33)) & ! JVS(33) = Jac_FULL(7,216) JVS(33) = 0.75*B(1244) IF (DO_JVS(34)) & ! JVS(34) = Jac_FULL(7,235) JVS(34) = 0.35*B(1432)+B(1434)+B(1463) IF (DO_JVS(35)) & ! JVS(35) = Jac_FULL(7,238) JVS(35) = 0.355*B(1009) IF (DO_JVS(36)) & ! JVS(36) = Jac_FULL(7,240) JVS(36) = 2*B(1405)+0.44*B(1407) IF (DO_JVS(37)) & ! JVS(37) = Jac_FULL(7,241) JVS(37) = B(705) IF (DO_JVS(38)) & ! JVS(38) = Jac_FULL(7,246) JVS(38) = B(243)+0.44*B(245) IF (DO_JVS(39)) & ! JVS(39) = Jac_FULL(7,249) JVS(39) = 0.645*B(361) IF (DO_JVS(40)) & ! JVS(40) = Jac_FULL(7,250) JVS(40) = 0.9*B(363) IF (DO_JVS(41)) & ! JVS(41) = Jac_FULL(7,257) JVS(41) = B(751)+B(756)+0.75*B(893)+2*B(895) IF (DO_JVS(42)) & ! JVS(42) = Jac_FULL(7,259) JVS(42) = 0.5*B(1278)+B(1287) IF (DO_JVS(43)) & ! JVS(43) = Jac_FULL(7,260) JVS(43) = 0.9*B(369) IF (DO_JVS(44)) & ! JVS(44) = Jac_FULL(7,261) JVS(44) = B(687) IF (DO_JVS(45)) & ! JVS(45) = Jac_FULL(7,263) JVS(45) = B(1395) IF (DO_JVS(46)) & ! JVS(46) = Jac_FULL(7,265) JVS(46) = B(87)+B(611) IF (DO_JVS(47)) & ! JVS(47) = Jac_FULL(7,269) JVS(47) = B(1805) IF (DO_JVS(48)) & ! JVS(48) = Jac_FULL(7,274) JVS(48) = 0.44*B(838)+B(840)+B(845)+0.75*B(897)+B(899) IF (DO_JVS(49)) & ! JVS(49) = Jac_FULL(7,275) JVS(49) = 0.9*B(883) IF (DO_JVS(50)) & ! JVS(50) = Jac_FULL(7,276) JVS(50) = 0.407*B(947) IF (DO_JVS(51)) & ! JVS(51) = Jac_FULL(7,277) JVS(51) = 0.9*B(879) IF (DO_JVS(52)) & ! JVS(52) = Jac_FULL(7,280) JVS(52) = B(913) IF (DO_JVS(53)) & ! JVS(53) = Jac_FULL(7,281) JVS(53) = 0.9*B(887) IF (DO_JVS(54)) & ! JVS(54) = Jac_FULL(7,283) JVS(54) = B(199)+B(627) IF (DO_JVS(55)) & ! JVS(55) = Jac_FULL(7,287) JVS(55) = 0.23*B(1240) IF (DO_JVS(56)) & ! JVS(56) = Jac_FULL(7,290) JVS(56) = 0.1*B(287) IF (DO_JVS(57)) & ! JVS(57) = Jac_FULL(7,291) JVS(57) = 0.9*B(891) IF (DO_JVS(58)) & ! JVS(58) = Jac_FULL(7,296) JVS(58) = 0.9*B(365) IF (DO_JVS(59)) & ! JVS(59) = Jac_FULL(7,300) JVS(59) = 0.9*B(351) IF (DO_JVS(60)) & ! JVS(60) = Jac_FULL(7,306) JVS(60) = 0.361*B(289) IF (DO_JVS(61)) & ! JVS(61) = Jac_FULL(7,307) JVS(61) = 0.5*B(322) IF (DO_JVS(62)) & ! JVS(62) = Jac_FULL(7,308) JVS(62) = 0.5*B(1291)+B(1293)+B(1297)+0.7*B(1299) IF (DO_JVS(63)) & ! JVS(63) = Jac_FULL(7,310) JVS(63) = B(1161) IF (DO_JVS(64)) & ! JVS(64) = Jac_FULL(7,311) JVS(64) = B(1163) IF (DO_JVS(65)) & ! JVS(65) = Jac_FULL(7,312) JVS(65) = B(691) IF (DO_JVS(66)) & ! JVS(66) = Jac_FULL(7,313) JVS(66) = 0.3*B(261)+0.9*B(353) IF (DO_JVS(67)) & ! JVS(67) = Jac_FULL(7,315) JVS(67) = 0.9*B(367) IF (DO_JVS(68)) & ! JVS(68) = Jac_FULL(7,318) JVS(68) = 0.645*B(359) IF (DO_JVS(69)) & ! JVS(69) = Jac_FULL(7,319) JVS(69) = 0.9*B(349) IF (DO_JVS(70)) & ! JVS(70) = Jac_FULL(7,320) JVS(70) = 0.9*B(355) IF (DO_JVS(71)) & ! JVS(71) = Jac_FULL(7,321) JVS(71) = 0.9*B(371) IF (DO_JVS(72)) & ! JVS(72) = Jac_FULL(7,322) JVS(72) = B(208)+0.43*B(283)+2*B(373)+B(375) IF (DO_JVS(73)) & ! JVS(73) = Jac_FULL(7,323) JVS(73) = 0.9*B(357) IF (DO_JVS(74)) & ! JVS(74) = Jac_FULL(7,324) JVS(74) = B(104)+2*B(346)+0.9*B(347)+0.9*B(350)+0.9*B(352)+0.9*B(354)+0.9*B(356)+0.9*B(358)+0.645*B(360)+0.645*B(362)& &+0.9*B(364)+0.9*B(366)+0.9*B(368)+0.9*B(370)+0.9*B(372)+2*B(374)+0.9*B(880)+0.9*B(884)+0.9*B(888)+0.9*B(892)& &+2*B(896)+B(900)+B(914)+B(1162)+B(1164)+0.5*B(1324)+B(1396) IF (DO_JVS(75)) & ! JVS(75) = Jac_FULL(7,328) JVS(75) = 0.3*B(262)+0.9*B(348)+B(376)+0.75*B(894)+0.75*B(898)+0.7*B(1300)+B(1464) IF (DO_JVS(76)) & ! JVS(76) = Jac_FULL(7,329) JVS(76) = B(45)+B(692)+B(706) IF (DO_JVS(77)) & ! JVS(77) = Jac_FULL(7,337) JVS(77) = 0.44*B(246)+0.43*B(284)+0.44*B(303)+0.44*B(839)+B(1088)+B(1092)+0.429*B(1217)+0.5*B(1279)+0.5*B(1292)+0.5& &*B(1325)+0.44*B(1408)+0.35*B(1433) IF (DO_JVS(78)) & ! JVS(78) = Jac_FULL(7,340) JVS(78) = B(612)+B(628) IF (DO_JVS(79)) & ! JVS(79) = Jac_FULL(7,341) JVS(79) = 0.1*B(288)+0.407*B(948) IF (DO_JVS(80)) & ! JVS(80) = Jac_FULL(7,345) JVS(80) = B(46)+B(88)+B(200)+0.361*B(290)+0.5*B(323)+0.22*B(343)+B(460)+B(688)+B(761)+B(850)+0.355*B(1010)+0.23& &*B(1241)+0.75*B(1245)+0.097*B(1259)+0.41*B(1281)+B(1313)+B(1321)+B(1337)+B(1442) IF (DO_JVS(81)) & ! JVS(81) = Jac_FULL(7,346) JVS(81) = B(105)+B(209)+B(244)+B(752)+B(841)+B(1086)+B(1090)+0.429*B(1215)+B(1288)+B(1294)+2*B(1406)+B(1435) IF (DO_JVS(82)) & ! JVS(82) = Jac_FULL(7,351) JVS(82) = B(757)+B(846)+B(1298) IF (DO_JVS(83)) & ! JVS(83) = Jac_FULL(8,8) JVS(83) = 0 IF (DO_JVS(84)) & ! JVS(84) = Jac_FULL(8,45) JVS(84) = B(936) IF (DO_JVS(85)) & ! JVS(85) = Jac_FULL(8,103) JVS(85) = B(935) IF (DO_JVS(86)) & ! JVS(86) = Jac_FULL(9,9) JVS(86) = 0 IF (DO_JVS(87)) & ! JVS(87) = Jac_FULL(9,42) JVS(87) = 2*B(1583) IF (DO_JVS(88)) & ! JVS(88) = Jac_FULL(9,44) JVS(88) = 2*B(1577) IF (DO_JVS(89)) & ! JVS(89) = Jac_FULL(9,55) JVS(89) = 2*B(1580) IF (DO_JVS(90)) & ! JVS(90) = Jac_FULL(9,73) JVS(90) = B(1572) IF (DO_JVS(91)) & ! JVS(91) = Jac_FULL(9,252) JVS(91) = B(1585) IF (DO_JVS(92)) & ! JVS(92) = Jac_FULL(9,330) JVS(92) = B(1574) IF (DO_JVS(93)) & ! JVS(93) = Jac_FULL(9,332) JVS(93) = B(1587) IF (DO_JVS(94)) & ! JVS(94) = Jac_FULL(10,10) JVS(94) = 0 IF (DO_JVS(95)) & ! JVS(95) = Jac_FULL(10,42) JVS(95) = 2*B(1584) IF (DO_JVS(96)) & ! JVS(96) = Jac_FULL(10,44) JVS(96) = 2*B(1578) IF (DO_JVS(97)) & ! JVS(97) = Jac_FULL(10,55) JVS(97) = 2*B(1581) IF (DO_JVS(98)) & ! JVS(98) = Jac_FULL(10,73) JVS(98) = B(1573) IF (DO_JVS(99)) & ! JVS(99) = Jac_FULL(10,252) JVS(99) = B(1586) IF (DO_JVS(100)) & ! JVS(100) = Jac_FULL(10,330) JVS(100) = B(1575) IF (DO_JVS(101)) & ! JVS(101) = Jac_FULL(10,332) JVS(101) = B(1588) IF (DO_JVS(102)) & ! JVS(102) = Jac_FULL(11,11) JVS(102) = 0 IF (DO_JVS(103)) & ! JVS(103) = Jac_FULL(11,13) JVS(103) = B(1475) IF (DO_JVS(104)) & ! JVS(104) = Jac_FULL(11,337) JVS(104) = B(1476) IF (DO_JVS(105)) & ! JVS(105) = Jac_FULL(12,12) JVS(105) = 0 IF (DO_JVS(106)) & ! JVS(106) = Jac_FULL(12,13) JVS(106) = B(1477) IF (DO_JVS(107)) & ! JVS(107) = Jac_FULL(12,346) JVS(107) = B(1478) IF (DO_JVS(108)) & ! JVS(108) = Jac_FULL(13,13) JVS(108) = -B(1475)-B(1477) IF (DO_JVS(109)) & ! JVS(109) = Jac_FULL(13,143) JVS(109) = B(1381) IF (DO_JVS(110)) & ! JVS(110) = Jac_FULL(13,337) JVS(110) = -B(1476) IF (DO_JVS(111)) & ! JVS(111) = Jac_FULL(13,345) JVS(111) = B(1382) IF (DO_JVS(112)) & ! JVS(112) = Jac_FULL(13,346) JVS(112) = -B(1478) IF (DO_JVS(113)) & ! JVS(113) = Jac_FULL(14,14) JVS(113) = 0 IF (DO_JVS(114)) & ! JVS(114) = Jac_FULL(14,276) JVS(114) = B(949)+B(951)+B(953)+B(955) IF (DO_JVS(115)) & ! JVS(115) = Jac_FULL(14,345) JVS(115) = B(950)+B(952)+B(954)+B(956) IF (DO_JVS(116)) & ! JVS(116) = Jac_FULL(15,15) JVS(116) = 0 IF (DO_JVS(117)) & ! JVS(117) = Jac_FULL(15,276) JVS(117) = B(1147) IF (DO_JVS(118)) & ! JVS(118) = Jac_FULL(15,351) JVS(118) = B(1148) IF (DO_JVS(119)) & ! JVS(119) = Jac_FULL(16,16) JVS(119) = 0 IF (DO_JVS(120)) & ! JVS(120) = Jac_FULL(16,18) JVS(120) = B(1332) IF (DO_JVS(121)) & ! JVS(121) = Jac_FULL(16,337) JVS(121) = B(1333) IF (DO_JVS(122)) & ! JVS(122) = Jac_FULL(17,17) JVS(122) = 0 IF (DO_JVS(123)) & ! JVS(123) = Jac_FULL(17,18) JVS(123) = B(1334) IF (DO_JVS(124)) & ! JVS(124) = Jac_FULL(17,346) JVS(124) = B(1335) IF (DO_JVS(125)) & ! JVS(125) = Jac_FULL(18,18) JVS(125) = -B(1332)-B(1334) IF (DO_JVS(126)) & ! JVS(126) = Jac_FULL(18,19) JVS(126) = B(1330) IF (DO_JVS(127)) & ! JVS(127) = Jac_FULL(18,337) JVS(127) = -B(1333) IF (DO_JVS(128)) & ! JVS(128) = Jac_FULL(18,345) JVS(128) = B(1331) IF (DO_JVS(129)) & ! JVS(129) = Jac_FULL(18,346) JVS(129) = -B(1335) IF (DO_JVS(130)) & ! JVS(130) = Jac_FULL(19,19) JVS(130) = -B(1330) IF (DO_JVS(131)) & ! JVS(131) = Jac_FULL(19,345) JVS(131) = -B(1331) IF (DO_JVS(132)) & ! JVS(132) = Jac_FULL(20,20) JVS(132) = 0 IF (DO_JVS(133)) & ! JVS(133) = Jac_FULL(20,22) JVS(133) = B(1479) IF (DO_JVS(134)) & ! JVS(134) = Jac_FULL(20,337) JVS(134) = B(1480) IF (DO_JVS(135)) & ! JVS(135) = Jac_FULL(21,21) JVS(135) = 0 IF (DO_JVS(136)) & ! JVS(136) = Jac_FULL(21,22) JVS(136) = B(1481) IF (DO_JVS(137)) & ! JVS(137) = Jac_FULL(21,346) JVS(137) = B(1482) IF (DO_JVS(138)) & ! JVS(138) = Jac_FULL(22,22) JVS(138) = -B(1479)-B(1481) IF (DO_JVS(139)) & ! JVS(139) = Jac_FULL(22,82) JVS(139) = B(1383) IF (DO_JVS(140)) & ! JVS(140) = Jac_FULL(22,337) JVS(140) = -B(1480) IF (DO_JVS(141)) & ! JVS(141) = Jac_FULL(22,345) JVS(141) = B(1384) IF (DO_JVS(142)) & ! JVS(142) = Jac_FULL(22,346) JVS(142) = -B(1482) IF (DO_JVS(143)) & ! JVS(143) = Jac_FULL(23,23) JVS(143) = 0 IF (DO_JVS(144)) & ! JVS(144) = Jac_FULL(23,24) JVS(144) = B(1620) IF (DO_JVS(145)) & ! JVS(145) = Jac_FULL(24,24) JVS(145) = -B(340)-B(1620) IF (DO_JVS(146)) & ! JVS(146) = Jac_FULL(24,187) JVS(146) = 0.005*B(1015)+0.005*B(1017)+0.005*B(1023) IF (DO_JVS(147)) & ! JVS(147) = Jac_FULL(24,192) JVS(147) = 0.005*B(1019)+0.005*B(1021)+0.005*B(1025) IF (DO_JVS(148)) & ! JVS(148) = Jac_FULL(24,199) JVS(148) = 0.005*B(1029) IF (DO_JVS(149)) & ! JVS(149) = Jac_FULL(24,209) JVS(149) = 0.005*B(1027) IF (DO_JVS(150)) & ! JVS(150) = Jac_FULL(24,345) JVS(150) = -B(341)+0.005*B(1016)+0.005*B(1018)+0.005*B(1020)+0.005*B(1022)+0.005*B(1024)+0.005*B(1026)+0.005*B(1028)& &+0.005*B(1030) IF (DO_JVS(151)) & ! JVS(151) = Jac_FULL(25,25) JVS(151) = 0 IF (DO_JVS(152)) & ! JVS(152) = Jac_FULL(25,27) JVS(152) = B(1483) IF (DO_JVS(153)) & ! JVS(153) = Jac_FULL(25,337) JVS(153) = B(1484) IF (DO_JVS(154)) & ! JVS(154) = Jac_FULL(26,26) JVS(154) = 0 IF (DO_JVS(155)) & ! JVS(155) = Jac_FULL(26,27) JVS(155) = B(1485) IF (DO_JVS(156)) & ! JVS(156) = Jac_FULL(26,346) JVS(156) = B(1486) IF (DO_JVS(157)) & ! JVS(157) = Jac_FULL(27,27) JVS(157) = -B(1483)-B(1485) IF (DO_JVS(158)) & ! JVS(158) = Jac_FULL(27,101) JVS(158) = B(1385) IF (DO_JVS(159)) & ! JVS(159) = Jac_FULL(27,337) JVS(159) = -B(1484) IF (DO_JVS(160)) & ! JVS(160) = Jac_FULL(27,345) JVS(160) = B(1386) IF (DO_JVS(161)) & ! JVS(161) = Jac_FULL(27,346) JVS(161) = -B(1486) IF (DO_JVS(162)) & ! JVS(162) = Jac_FULL(28,28) JVS(162) = 0 IF (DO_JVS(163)) & ! JVS(163) = Jac_FULL(28,94) JVS(163) = 0.25*B(383) IF (DO_JVS(164)) & ! JVS(164) = Jac_FULL(28,345) JVS(164) = 0.25*B(384) IF (DO_JVS(165)) & ! JVS(165) = Jac_FULL(29,29) JVS(165) = 0 IF (DO_JVS(166)) & ! JVS(166) = Jac_FULL(29,166) JVS(166) = B(8) IF (DO_JVS(167)) & ! JVS(167) = Jac_FULL(29,341) JVS(167) = B(9) IF (DO_JVS(168)) & ! JVS(168) = Jac_FULL(29,348) JVS(168) = B(10) IF (DO_JVS(169)) & ! JVS(169) = Jac_FULL(30,30) JVS(169) = 0 IF (DO_JVS(170)) & ! JVS(170) = Jac_FULL(30,115) JVS(170) = 1.5*B(1626) IF (DO_JVS(171)) & ! JVS(171) = Jac_FULL(30,270) JVS(171) = B(1615) IF (DO_JVS(172)) & ! JVS(172) = Jac_FULL(30,294) JVS(172) = 1.5*B(1616) IF (DO_JVS(173)) & ! JVS(173) = Jac_FULL(31,31) JVS(173) = 0 IF (DO_JVS(174)) & ! JVS(174) = Jac_FULL(31,107) JVS(174) = 0.8*B(1627) IF (DO_JVS(175)) & ! JVS(175) = Jac_FULL(31,128) JVS(175) = B(1619) IF (DO_JVS(176)) & ! JVS(176) = Jac_FULL(31,151) JVS(176) = B(1617) IF (DO_JVS(177)) & ! JVS(177) = Jac_FULL(31,152) JVS(177) = B(1618) IF (DO_JVS(178)) & ! JVS(178) = Jac_FULL(31,215) JVS(178) = B(1632) IF (DO_JVS(179)) & ! JVS(179) = Jac_FULL(32,32) JVS(179) = 0 IF (DO_JVS(180)) & ! JVS(180) = Jac_FULL(32,241) JVS(180) = B(711) IF (DO_JVS(181)) & ! JVS(181) = Jac_FULL(32,312) JVS(181) = B(703) IF (DO_JVS(182)) & ! JVS(182) = Jac_FULL(32,345) JVS(182) = B(387) IF (DO_JVS(183)) & ! JVS(183) = Jac_FULL(32,348) JVS(183) = B(388)+B(704)+B(712) IF (DO_JVS(184)) & ! JVS(184) = Jac_FULL(33,33) JVS(184) = 0 IF (DO_JVS(185)) & ! JVS(185) = Jac_FULL(33,89) JVS(185) = 2*B(23) IF (DO_JVS(186)) & ! JVS(186) = Jac_FULL(33,345) JVS(186) = 2*B(24) IF (DO_JVS(187)) & ! JVS(187) = Jac_FULL(33,348) JVS(187) = 2*B(25) IF (DO_JVS(188)) & ! JVS(188) = Jac_FULL(34,34) JVS(188) = 0 IF (DO_JVS(189)) & ! JVS(189) = Jac_FULL(34,45) JVS(189) = B(936) IF (DO_JVS(190)) & ! JVS(190) = Jac_FULL(34,56) JVS(190) = B(755) IF (DO_JVS(191)) & ! JVS(191) = Jac_FULL(34,57) JVS(191) = B(844) IF (DO_JVS(192)) & ! JVS(192) = Jac_FULL(34,63) JVS(192) = B(1744) IF (DO_JVS(193)) & ! JVS(193) = Jac_FULL(34,67) JVS(193) = B(477)+B(479) IF (DO_JVS(194)) & ! JVS(194) = Jac_FULL(34,70) JVS(194) = B(1375) IF (DO_JVS(195)) & ! JVS(195) = Jac_FULL(34,80) JVS(195) = B(1741) IF (DO_JVS(196)) & ! JVS(196) = Jac_FULL(34,83) JVS(196) = B(941)+B(1758) IF (DO_JVS(197)) & ! JVS(197) = Jac_FULL(34,90) JVS(197) = B(1440)+B(1441) IF (DO_JVS(198)) & ! JVS(198) = Jac_FULL(34,91) JVS(198) = B(943)+B(1759) IF (DO_JVS(199)) & ! JVS(199) = Jac_FULL(34,93) JVS(199) = B(939)+B(1757) IF (DO_JVS(200)) & ! JVS(200) = Jac_FULL(34,95) JVS(200) = B(945)+B(1760) IF (DO_JVS(201)) & ! JVS(201) = Jac_FULL(34,103) JVS(201) = B(935) IF (DO_JVS(202)) & ! JVS(202) = Jac_FULL(34,108) JVS(202) = B(1651) IF (DO_JVS(203)) & ! JVS(203) = Jac_FULL(34,110) JVS(203) = 0.1*B(593) IF (DO_JVS(204)) & ! JVS(204) = Jac_FULL(34,113) JVS(204) = B(240)+B(241) IF (DO_JVS(205)) & ! JVS(205) = Jac_FULL(34,114) JVS(205) = B(299)+B(306) IF (DO_JVS(206)) & ! JVS(206) = Jac_FULL(34,116) JVS(206) = B(1356)+B(1687) IF (DO_JVS(207)) & ! JVS(207) = Jac_FULL(34,121) JVS(207) = B(1399) IF (DO_JVS(208)) & ! JVS(208) = Jac_FULL(34,122) JVS(208) = B(1411)+B(1412) IF (DO_JVS(209)) & ! JVS(209) = Jac_FULL(34,124) JVS(209) = 0.3*B(1806) IF (DO_JVS(210)) & ! JVS(210) = Jac_FULL(34,126) JVS(210) = B(166)+2*B(167)+B(1659) IF (DO_JVS(211)) & ! JVS(211) = Jac_FULL(34,127) JVS(211) = B(152) IF (DO_JVS(212)) & ! JVS(212) = Jac_FULL(34,132) JVS(212) = B(156) IF (DO_JVS(213)) & ! JVS(213) = Jac_FULL(34,133) JVS(213) = B(1085) IF (DO_JVS(214)) & ! JVS(214) = Jac_FULL(34,135) JVS(214) = B(1089) IF (DO_JVS(215)) & ! JVS(215) = Jac_FULL(34,137) JVS(215) = 0.5*B(743) IF (DO_JVS(216)) & ! JVS(216) = Jac_FULL(34,138) JVS(216) = 0.5*B(780) IF (DO_JVS(217)) & ! JVS(217) = Jac_FULL(34,139) JVS(217) = 0.3*B(1658) IF (DO_JVS(218)) & ! JVS(218) = Jac_FULL(34,148) JVS(218) = B(403) IF (DO_JVS(219)) & ! JVS(219) = Jac_FULL(34,154) JVS(219) = B(937) IF (DO_JVS(220)) & ! JVS(220) = Jac_FULL(34,162) JVS(220) = B(798) IF (DO_JVS(221)) & ! JVS(221) = Jac_FULL(34,165) JVS(221) = 2*B(138) IF (DO_JVS(222)) & ! JVS(222) = Jac_FULL(34,170) JVS(222) = B(673) IF (DO_JVS(223)) & ! JVS(223) = Jac_FULL(34,171) JVS(223) = B(1246) IF (DO_JVS(224)) & ! JVS(224) = Jac_FULL(34,172) JVS(224) = B(1252) IF (DO_JVS(225)) & ! JVS(225) = Jac_FULL(34,176) JVS(225) = B(772) IF (DO_JVS(226)) & ! JVS(226) = Jac_FULL(34,177) JVS(226) = B(836) IF (DO_JVS(227)) & ! JVS(227) = Jac_FULL(34,178) JVS(227) = B(128) IF (DO_JVS(228)) & ! JVS(228) = Jac_FULL(34,180) JVS(228) = B(1220) IF (DO_JVS(229)) & ! JVS(229) = Jac_FULL(34,182) JVS(229) = B(1214) IF (DO_JVS(230)) & ! JVS(230) = Jac_FULL(34,184) JVS(230) = B(1302) IF (DO_JVS(231)) & ! JVS(231) = Jac_FULL(34,189) JVS(231) = 0.89*B(1352) IF (DO_JVS(232)) & ! JVS(232) = Jac_FULL(34,190) JVS(232) = B(1123)+B(1125) IF (DO_JVS(233)) & ! JVS(233) = Jac_FULL(34,193) JVS(233) = B(865) IF (DO_JVS(234)) & ! JVS(234) = Jac_FULL(34,196) JVS(234) = B(1686) IF (DO_JVS(235)) & ! JVS(235) = Jac_FULL(34,197) JVS(235) = B(162) IF (DO_JVS(236)) & ! JVS(236) = Jac_FULL(34,205) JVS(236) = B(1116)+B(1118) IF (DO_JVS(237)) & ! JVS(237) = Jac_FULL(34,206) JVS(237) = B(1131)+B(1133) IF (DO_JVS(238)) & ! JVS(238) = Jac_FULL(34,207) JVS(238) = B(1137)+B(1139) IF (DO_JVS(239)) & ! JVS(239) = Jac_FULL(34,211) JVS(239) = 0.5*B(818) IF (DO_JVS(240)) & ! JVS(240) = Jac_FULL(34,212) JVS(240) = 0.942*B(148) IF (DO_JVS(241)) & ! JVS(241) = Jac_FULL(34,213) JVS(241) = B(300)+0.15*B(302) IF (DO_JVS(242)) & ! JVS(242) = Jac_FULL(34,217) JVS(242) = 0.02*B(475) IF (DO_JVS(243)) & ! JVS(243) = Jac_FULL(34,223) JVS(243) = B(1032)+B(1034) IF (DO_JVS(244)) & ! JVS(244) = Jac_FULL(34,224) JVS(244) = B(1039)+B(1041) IF (DO_JVS(245)) & ! JVS(245) = Jac_FULL(34,226) JVS(245) = B(1206)+B(1208) IF (DO_JVS(246)) & ! JVS(246) = Jac_FULL(34,232) JVS(246) = B(1046)+B(1048) IF (DO_JVS(247)) & ! JVS(247) = Jac_FULL(34,234) JVS(247) = 0.995*B(1366) IF (DO_JVS(248)) & ! JVS(248) = Jac_FULL(34,235) JVS(248) = 0.15*B(1432)+B(1434) IF (DO_JVS(249)) & ! JVS(249) = Jac_FULL(34,236) JVS(249) = B(1443)+B(1445) IF (DO_JVS(250)) & ! JVS(250) = Jac_FULL(34,239) JVS(250) = B(71) IF (DO_JVS(251)) & ! JVS(251) = Jac_FULL(34,240) JVS(251) = B(1405)+0.15*B(1407) IF (DO_JVS(252)) & ! JVS(252) = Jac_FULL(34,241) JVS(252) = B(707)+B(709) IF (DO_JVS(253)) & ! JVS(253) = Jac_FULL(34,243) JVS(253) = B(1080)+B(1082) IF (DO_JVS(254)) & ! JVS(254) = Jac_FULL(34,245) JVS(254) = B(527) IF (DO_JVS(255)) & ! JVS(255) = Jac_FULL(34,246) JVS(255) = B(243)+0.15*B(245) IF (DO_JVS(256)) & ! JVS(256) = Jac_FULL(34,249) JVS(256) = B(175) IF (DO_JVS(257)) & ! JVS(257) = Jac_FULL(34,250) JVS(257) = B(191) IF (DO_JVS(258)) & ! JVS(258) = Jac_FULL(34,253) JVS(258) = B(1283)+B(1285) IF (DO_JVS(259)) & ! JVS(259) = Jac_FULL(34,254) JVS(259) = B(1272)+B(1274) IF (DO_JVS(260)) & ! JVS(260) = Jac_FULL(34,257) JVS(260) = 0.15*B(749)+B(751) IF (DO_JVS(261)) & ! JVS(261) = Jac_FULL(34,259) JVS(261) = 0.13*B(1278)+B(1287) IF (DO_JVS(262)) & ! JVS(262) = Jac_FULL(34,260) JVS(262) = B(122) IF (DO_JVS(263)) & ! JVS(263) = Jac_FULL(34,263) JVS(263) = B(1389) IF (DO_JVS(264)) & ! JVS(264) = Jac_FULL(34,269) JVS(264) = B(1457) IF (DO_JVS(265)) & ! JVS(265) = Jac_FULL(34,271) JVS(265) = B(1202)+B(1204) IF (DO_JVS(266)) & ! JVS(266) = Jac_FULL(34,272) JVS(266) = 0.84*B(824) IF (DO_JVS(267)) & ! JVS(267) = Jac_FULL(34,273) JVS(267) = B(790) IF (DO_JVS(268)) & ! JVS(268) = Jac_FULL(34,274) JVS(268) = 0.15*B(838)+B(840) IF (DO_JVS(269)) & ! JVS(269) = Jac_FULL(34,275) JVS(269) = 0.75*B(776) IF (DO_JVS(270)) & ! JVS(270) = Jac_FULL(34,277) JVS(270) = 0.75*B(737) IF (DO_JVS(271)) & ! JVS(271) = Jac_FULL(34,278) JVS(271) = 0.84*B(764) IF (DO_JVS(272)) & ! JVS(272) = Jac_FULL(34,280) JVS(272) = B(901) IF (DO_JVS(273)) & ! JVS(273) = Jac_FULL(34,281) JVS(273) = 0.75*B(802) IF (DO_JVS(274)) & ! JVS(274) = Jac_FULL(34,285) JVS(274) = B(1072)+B(1074) IF (DO_JVS(275)) & ! JVS(275) = Jac_FULL(34,286) JVS(275) = B(1066)+B(1068) IF (DO_JVS(276)) & ! JVS(276) = Jac_FULL(34,289) JVS(276) = B(903) IF (DO_JVS(277)) & ! JVS(277) = Jac_FULL(34,291) JVS(277) = B(855) IF (DO_JVS(278)) & ! JVS(278) = Jac_FULL(34,293) JVS(278) = B(1143)+B(1145) IF (DO_JVS(279)) & ! JVS(279) = Jac_FULL(34,296) JVS(279) = B(108)+B(619) IF (DO_JVS(280)) & ! JVS(280) = Jac_FULL(34,297) JVS(280) = B(543) IF (DO_JVS(281)) & ! JVS(281) = Jac_FULL(34,300) JVS(281) = B(171)+B(173) IF (DO_JVS(282)) & ! JVS(282) = Jac_FULL(34,302) JVS(282) = 0.69*B(1236) IF (DO_JVS(283)) & ! JVS(283) = Jac_FULL(34,304) JVS(283) = B(993)+B(995)+B(997)+B(999) IF (DO_JVS(284)) & ! JVS(284) = Jac_FULL(34,305) JVS(284) = B(985)+B(987)+B(989)+B(991) IF (DO_JVS(285)) & ! JVS(285) = Jac_FULL(34,308) JVS(285) = 0.13*B(1291)+B(1293) IF (DO_JVS(286)) & ! JVS(286) = Jac_FULL(34,310) JVS(286) = B(1169)+B(1171) IF (DO_JVS(287)) & ! JVS(287) = Jac_FULL(34,311) JVS(287) = B(1173)+B(1175) IF (DO_JVS(288)) & ! JVS(288) = Jac_FULL(34,312) JVS(288) = B(693)+B(695) IF (DO_JVS(289)) & ! JVS(289) = Jac_FULL(34,313) JVS(289) = B(183) IF (DO_JVS(290)) & ! JVS(290) = Jac_FULL(34,315) JVS(290) = B(112)+B(621) IF (DO_JVS(291)) & ! JVS(291) = Jac_FULL(34,317) JVS(291) = B(545) IF (DO_JVS(292)) & ! JVS(292) = Jac_FULL(34,318) JVS(292) = B(181) IF (DO_JVS(293)) & ! JVS(293) = Jac_FULL(34,319) JVS(293) = B(177)+B(179) IF (DO_JVS(294)) & ! JVS(294) = Jac_FULL(34,320) JVS(294) = B(185)+B(236) IF (DO_JVS(295)) & ! JVS(295) = Jac_FULL(34,321) JVS(295) = B(118) IF (DO_JVS(296)) & ! JVS(296) = Jac_FULL(34,322) JVS(296) = B(208)+0.15*B(283) IF (DO_JVS(297)) & ! JVS(297) = Jac_FULL(34,323) JVS(297) = B(187) IF (DO_JVS(298)) & ! JVS(298) = Jac_FULL(34,324) JVS(298) = B(104)+0.13*B(1324) IF (DO_JVS(299)) & ! JVS(299) = Jac_FULL(34,327) JVS(299) = B(67) IF (DO_JVS(300)) & ! JVS(300) = Jac_FULL(34,328) JVS(300) = B(49)+B(613) IF (DO_JVS(301)) & ! JVS(301) = Jac_FULL(34,335) JVS(301) = B(696)+B(710)+B(1444) IF (DO_JVS(302)) & ! JVS(302) = Jac_FULL(34,337) JVS(302) = B(42)+0.15*B(246)+0.15*B(284)+0.15*B(303)+0.02*B(476)+B(575)+0.15*B(750)+0.15*B(839)+0.13*B(1279)+0.13& &*B(1292)+0.13*B(1325)+0.15*B(1408)+0.15*B(1433) IF (DO_JVS(303)) & ! JVS(303) = Jac_FULL(34,340) JVS(303) = B(576)+0.1*B(594)+B(614)+B(620)+B(622) IF (DO_JVS(304)) & ! JVS(304) = Jac_FULL(34,345) JVS(304) = B(36)+B(68)+B(72)+B(153)+2*B(168)+B(242)+B(307)+B(404)+B(528)+B(544)+B(546)+B(674)+0.5*B(744)+B(773)+0.5& &*B(781)+B(799)+0.5*B(819)+B(837)+B(866)+B(938)+B(940)+B(942)+B(944)+B(946)+0.69*B(1237)+B(1303)+B(1357)& &+B(1376)+B(1413)+B(1442)+B(1458) IF (DO_JVS(305)) & ! JVS(305) = Jac_FULL(34,346) JVS(305) = B(43)+B(50)+B(105)+B(109)+B(113)+B(119)+B(123)+B(129)+2*B(139)+0.942*B(149)+B(157)+B(163)+B(172)+B(174)& &+B(176)+B(178)+B(180)+B(182)+B(184)+B(186)+B(188)+B(192)+B(209)+B(237)+B(244)+B(301)+B(480)+B(694)+B(708)& &+0.75*B(738)+B(752)+0.84*B(765)+0.75*B(777)+B(791)+0.75*B(803)+0.84*B(825)+B(841)+B(856)+B(902)+B(904)& &+B(986)+B(988)+B(990)+B(992)+B(994)+B(996)+B(998)+B(1000)+B(1033)+B(1035)+B(1040)+B(1042)+B(1047)+B(1049)& &+B(1067)+B(1069)+B(1073)+B(1075)+B(1081)+B(1083)+B(1086)+B(1090)+B(1117)+B(1119)+B(1124)+B(1126)+B(1132)& &+B(1134)+B(1138)+B(1140)+B(1144)+B(1146)+B(1170)+B(1172)+B(1174)+B(1176)+B(1203)+B(1205)+B(1207)+B(1209)& &+B(1215)+B(1221)+B(1247)+B(1253)+B(1273)+B(1275)+B(1284)+B(1286)+B(1288)+B(1294)+0.89*B(1353)+0.995*B(1367)& &+B(1390)+B(1400)+B(1406)+B(1435)+B(1446)+B(1747) IF (DO_JVS(306)) & ! JVS(306) = Jac_FULL(35,35) JVS(306) = 0 IF (DO_JVS(307)) & ! JVS(307) = Jac_FULL(35,42) JVS(307) = 4*B(1582)+4*B(1583)+4*B(1584) IF (DO_JVS(308)) & ! JVS(308) = Jac_FULL(35,44) JVS(308) = 2*B(1576)+2*B(1577)+2*B(1578) IF (DO_JVS(309)) & ! JVS(309) = Jac_FULL(35,49) JVS(309) = 0.1*B(519) IF (DO_JVS(310)) & ! JVS(310) = Jac_FULL(35,50) JVS(310) = 0.05*B(521) IF (DO_JVS(311)) & ! JVS(311) = Jac_FULL(35,55) JVS(311) = 3*B(1579)+3*B(1580)+3*B(1581) IF (DO_JVS(312)) & ! JVS(312) = Jac_FULL(35,63) JVS(312) = B(441) IF (DO_JVS(313)) & ! JVS(313) = Jac_FULL(35,64) JVS(313) = B(1755) IF (DO_JVS(314)) & ! JVS(314) = Jac_FULL(35,65) JVS(314) = B(1753) IF (DO_JVS(315)) & ! JVS(315) = Jac_FULL(35,68) JVS(315) = B(457) IF (DO_JVS(316)) & ! JVS(316) = Jac_FULL(35,69) JVS(316) = B(126) IF (DO_JVS(317)) & ! JVS(317) = Jac_FULL(35,76) JVS(317) = B(537)+2*B(1705) IF (DO_JVS(318)) & ! JVS(318) = Jac_FULL(35,87) JVS(318) = 0.19*B(503) IF (DO_JVS(319)) & ! JVS(319) = Jac_FULL(35,94) JVS(319) = B(385) IF (DO_JVS(320)) & ! JVS(320) = Jac_FULL(35,96) JVS(320) = 2*B(1728) IF (DO_JVS(321)) & ! JVS(321) = Jac_FULL(35,105) JVS(321) = 0.56*B(497) IF (DO_JVS(322)) & ! JVS(322) = Jac_FULL(35,109) JVS(322) = B(1358) IF (DO_JVS(323)) & ! JVS(323) = Jac_FULL(35,120) JVS(323) = B(535) IF (DO_JVS(324)) & ! JVS(324) = Jac_FULL(35,140) JVS(324) = B(144)+B(146) IF (DO_JVS(325)) & ! JVS(325) = Jac_FULL(35,142) JVS(325) = B(193) IF (DO_JVS(326)) & ! JVS(326) = Jac_FULL(35,149) JVS(326) = B(1346) IF (DO_JVS(327)) & ! JVS(327) = Jac_FULL(35,154) JVS(327) = B(1625) IF (DO_JVS(328)) & ! JVS(328) = Jac_FULL(35,158) JVS(328) = 1.5*B(1420) IF (DO_JVS(329)) & ! JVS(329) = Jac_FULL(35,163) JVS(329) = B(834) IF (DO_JVS(330)) & ! JVS(330) = Jac_FULL(35,166) JVS(330) = B(8) IF (DO_JVS(331)) & ! JVS(331) = Jac_FULL(35,167) JVS(331) = B(721)+B(725) IF (DO_JVS(332)) & ! JVS(332) = Jac_FULL(35,168) JVS(332) = B(1630) IF (DO_JVS(333)) & ! JVS(333) = Jac_FULL(35,175) JVS(333) = B(1629) IF (DO_JVS(334)) & ! JVS(334) = Jac_FULL(35,179) JVS(334) = B(1) IF (DO_JVS(335)) & ! JVS(335) = Jac_FULL(35,181) JVS(335) = 0.44*B(495) IF (DO_JVS(336)) & ! JVS(336) = Jac_FULL(35,183) JVS(336) = B(344) IF (DO_JVS(337)) & ! JVS(337) = Jac_FULL(35,186) JVS(337) = B(1633) IF (DO_JVS(338)) & ! JVS(338) = Jac_FULL(35,191) JVS(338) = B(717)+B(733) IF (DO_JVS(339)) & ! JVS(339) = Jac_FULL(35,195) JVS(339) = 1.258*B(1416) IF (DO_JVS(340)) & ! JVS(340) = Jac_FULL(35,197) JVS(340) = B(164) IF (DO_JVS(341)) & ! JVS(341) = Jac_FULL(35,200) JVS(341) = B(1350) IF (DO_JVS(342)) & ! JVS(342) = Jac_FULL(35,201) JVS(342) = B(1472) IF (DO_JVS(343)) & ! JVS(343) = Jac_FULL(35,202) JVS(343) = B(1424)+1.5*B(1426) IF (DO_JVS(344)) & ! JVS(344) = Jac_FULL(35,203) JVS(344) = B(1453)+B(1455) IF (DO_JVS(345)) & ! JVS(345) = Jac_FULL(35,204) JVS(345) = B(1430) IF (DO_JVS(346)) & ! JVS(346) = Jac_FULL(35,211) JVS(346) = 0.5*B(820)+B(822) IF (DO_JVS(347)) & ! JVS(347) = Jac_FULL(35,213) JVS(347) = B(297)+B(304) IF (DO_JVS(348)) & ! JVS(348) = Jac_FULL(35,214) JVS(348) = B(1496)+B(1498)+B(1500)+B(1501)+B(1503) IF (DO_JVS(349)) & ! JVS(349) = Jac_FULL(35,216) JVS(349) = B(1638) IF (DO_JVS(350)) & ! JVS(350) = Jac_FULL(35,217) JVS(350) = B(473) IF (DO_JVS(351)) & ! JVS(351) = Jac_FULL(35,218) JVS(351) = B(1511) IF (DO_JVS(352)) & ! JVS(352) = Jac_FULL(35,219) JVS(352) = B(719)+B(729) IF (DO_JVS(353)) & ! JVS(353) = Jac_FULL(35,220) JVS(353) = B(1340)+B(1342) IF (DO_JVS(354)) & ! JVS(354) = Jac_FULL(35,221) JVS(354) = B(1467) IF (DO_JVS(355)) & ! JVS(355) = Jac_FULL(35,222) JVS(355) = B(1634) IF (DO_JVS(356)) & ! JVS(356) = Jac_FULL(35,225) JVS(356) = B(745) IF (DO_JVS(357)) & ! JVS(357) = Jac_FULL(35,228) JVS(357) = B(443) IF (DO_JVS(358)) & ! JVS(358) = Jac_FULL(35,229) JVS(358) = B(861)+B(863) IF (DO_JVS(359)) & ! JVS(359) = Jac_FULL(35,234) JVS(359) = B(1368) IF (DO_JVS(360)) & ! JVS(360) = Jac_FULL(35,235) JVS(360) = B(1436) IF (DO_JVS(361)) & ! JVS(361) = Jac_FULL(35,236) JVS(361) = B(1447) IF (DO_JVS(362)) & ! JVS(362) = Jac_FULL(35,237) JVS(362) = B(814)+2*B(816) IF (DO_JVS(363)) & ! JVS(363) = Jac_FULL(35,240) JVS(363) = B(1409) IF (DO_JVS(364)) & ! JVS(364) = Jac_FULL(35,242) JVS(364) = B(929)+2*B(931)+B(1624) IF (DO_JVS(365)) & ! JVS(365) = Jac_FULL(35,246) JVS(365) = B(238) IF (DO_JVS(366)) & ! JVS(366) = Jac_FULL(35,248) JVS(366) = B(1639) IF (DO_JVS(367)) & ! JVS(367) = Jac_FULL(35,251) JVS(367) = B(1622) IF (DO_JVS(368)) & ! JVS(368) = Jac_FULL(35,252) JVS(368) = B(1585)+B(1586)+B(1591)+B(1593)+B(1595)+B(1597) IF (DO_JVS(369)) & ! JVS(369) = Jac_FULL(35,255) JVS(369) = B(808)+2*B(810) IF (DO_JVS(370)) & ! JVS(370) = Jac_FULL(35,256) JVS(370) = 2*B(933)+B(1623) IF (DO_JVS(371)) & ! JVS(371) = Jac_FULL(35,257) JVS(371) = B(753)+B(756) IF (DO_JVS(372)) & ! JVS(372) = Jac_FULL(35,261) JVS(372) = B(1318) IF (DO_JVS(373)) & ! JVS(373) = Jac_FULL(35,262) JVS(373) = B(873)+B(875) IF (DO_JVS(374)) & ! JVS(374) = Jac_FULL(35,263) JVS(374) = B(1391) IF (DO_JVS(375)) & ! JVS(375) = Jac_FULL(35,264) JVS(375) = B(469) IF (DO_JVS(376)) & ! JVS(376) = Jac_FULL(35,266) JVS(376) = B(1636) IF (DO_JVS(377)) & ! JVS(377) = Jac_FULL(35,267) JVS(377) = B(1631) IF (DO_JVS(378)) & ! JVS(378) = Jac_FULL(35,268) JVS(378) = B(1628) IF (DO_JVS(379)) & ! JVS(379) = Jac_FULL(35,270) JVS(379) = B(316) IF (DO_JVS(380)) & ! JVS(380) = Jac_FULL(35,272) JVS(380) = B(828) IF (DO_JVS(381)) & ! JVS(381) = Jac_FULL(35,273) JVS(381) = B(794) IF (DO_JVS(382)) & ! JVS(382) = Jac_FULL(35,274) JVS(382) = B(842)+B(845) IF (DO_JVS(383)) & ! JVS(383) = Jac_FULL(35,275) JVS(383) = B(778) IF (DO_JVS(384)) & ! JVS(384) = Jac_FULL(35,276) JVS(384) = B(947)+B(1147) IF (DO_JVS(385)) & ! JVS(385) = Jac_FULL(35,277) JVS(385) = B(739) IF (DO_JVS(386)) & ! JVS(386) = Jac_FULL(35,278) JVS(386) = B(766) IF (DO_JVS(387)) & ! JVS(387) = Jac_FULL(35,280) JVS(387) = B(917) IF (DO_JVS(388)) & ! JVS(388) = Jac_FULL(35,281) JVS(388) = B(804) IF (DO_JVS(389)) & ! JVS(389) = Jac_FULL(35,284) JVS(389) = 0.4*B(659)+0.88*B(667) IF (DO_JVS(390)) & ! JVS(390) = Jac_FULL(35,289) JVS(390) = B(919) IF (DO_JVS(391)) & ! JVS(391) = Jac_FULL(35,290) JVS(391) = B(287)+B(310) IF (DO_JVS(392)) & ! JVS(392) = Jac_FULL(35,291) JVS(392) = B(857) IF (DO_JVS(393)) & ! JVS(393) = Jac_FULL(35,292) JVS(393) = B(251) IF (DO_JVS(394)) & ! JVS(394) = Jac_FULL(35,294) JVS(394) = B(318) IF (DO_JVS(395)) & ! JVS(395) = Jac_FULL(35,297) JVS(395) = B(1527)+B(1529)+B(1531)+B(1533)+B(1535)+B(1537) IF (DO_JVS(396)) & ! JVS(396) = Jac_FULL(35,298) JVS(396) = B(210) IF (DO_JVS(397)) & ! JVS(397) = Jac_FULL(35,299) JVS(397) = 2*B(1635) IF (DO_JVS(398)) & ! JVS(398) = Jac_FULL(35,302) JVS(398) = B(1621) IF (DO_JVS(399)) & ! JVS(399) = Jac_FULL(35,303) JVS(399) = B(1637) IF (DO_JVS(400)) & ! JVS(400) = Jac_FULL(35,306) JVS(400) = B(295) IF (DO_JVS(401)) & ! JVS(401) = Jac_FULL(35,308) JVS(401) = B(1297) IF (DO_JVS(402)) & ! JVS(402) = Jac_FULL(35,309) JVS(402) = B(1232)+B(1234) IF (DO_JVS(403)) & ! JVS(403) = Jac_FULL(35,310) JVS(403) = B(1165) IF (DO_JVS(404)) & ! JVS(404) = Jac_FULL(35,311) JVS(404) = B(1167) IF (DO_JVS(405)) & ! JVS(405) = Jac_FULL(35,312) JVS(405) = B(701) IF (DO_JVS(406)) & ! JVS(406) = Jac_FULL(35,314) JVS(406) = B(1226) IF (DO_JVS(407)) & ! JVS(407) = Jac_FULL(35,316) JVS(407) = B(405)+B(1549)+B(1551)+B(1553)+B(1555)+B(1557)+B(1559)+B(1561)+B(1692) IF (DO_JVS(408)) & ! JVS(408) = Jac_FULL(35,317) JVS(408) = B(1515)+B(1517)+B(1519)+B(1521)+B(1523)+B(1525) IF (DO_JVS(409)) & ! JVS(409) = Jac_FULL(35,325) JVS(409) = B(93)+B(485) IF (DO_JVS(410)) & ! JVS(410) = Jac_FULL(35,326) JVS(410) = B(97) IF (DO_JVS(411)) & ! JVS(411) = Jac_FULL(35,328) JVS(411) = B(34)+B(529)+B(1487) IF (DO_JVS(412)) & ! JVS(412) = Jac_FULL(35,330) JVS(412) = B(1574)+B(1575)+B(1607)+B(1609)+B(1611)+B(1613)+B(1726) IF (DO_JVS(413)) & ! JVS(413) = Jac_FULL(35,332) JVS(413) = B(1587)+B(1588)+B(1599)+B(1601)+B(1603)+B(1605) IF (DO_JVS(414)) & ! JVS(414) = Jac_FULL(35,333) JVS(414) = B(1539)+B(1541)+B(1543)+B(1545)+B(1547)+B(1709) IF (DO_JVS(415)) & ! JVS(415) = Jac_FULL(35,334) JVS(415) = B(433)+B(439)+B(442)+B(444)+B(455)+0.66*B(487)+0.6*B(489)+0.44*B(496)+0.56*B(498)+0.19*B(504)+0.1*B(520)& &+0.05*B(522) IF (DO_JVS(416)) & ! JVS(416) = Jac_FULL(35,335) JVS(416) = 2*B(91)+B(165)+B(239)+B(298)+2*B(461)+B(754)+B(843)+B(1410)+B(1437)+B(1456)+0.5*B(1492) IF (DO_JVS(417)) & ! JVS(417) = Jac_FULL(35,336) JVS(417) = B(434)+B(1497) IF (DO_JVS(418)) & ! JVS(418) = Jac_FULL(35,337) JVS(418) = B(30)+B(78)+B(453) IF (DO_JVS(419)) & ! JVS(419) = Jac_FULL(35,338) JVS(419) = B(530)+B(531)+B(533)+2*B(577)+2*B(585)+2*B(586)+2*B(597)+2*B(599)+0.88*B(668) IF (DO_JVS(420)) & ! JVS(420) = Jac_FULL(35,339) JVS(420) = 0.66*B(488)+B(1499)+B(1512)+B(1516)+B(1532)+B(1540)+B(1552) IF (DO_JVS(421)) & ! JVS(421) = Jac_FULL(35,341) JVS(421) = B(2)+B(9)+B(17)+B(28)+B(31)+B(35)+B(147)+B(288)+2*B(447)+B(456)+B(474)+B(702)+B(726)+B(730)+B(734)+B(809)& &+B(815)+0.5*B(821)+B(862)+B(874)+B(930)+B(948)+B(1227)+B(1233)+B(1343)+B(1359)+B(1425)+B(1454)+B(1468)& &+B(1473) IF (DO_JVS(422)) & ! JVS(422) = Jac_FULL(35,343) JVS(422) = B(406)+B(407)+2*B(448)+B(451)+B(454)+B(458)+2*B(462)+2*B(463)+B(470)+2*B(483)+B(486)+2*B(578) IF (DO_JVS(423)) & ! JVS(423) = Jac_FULL(35,344) JVS(423) = B(1504)+B(1526)+B(1530)+B(1546)+B(1556)+B(1598)+B(1606)+B(1614) IF (DO_JVS(424)) & ! JVS(424) = Jac_FULL(35,345) JVS(424) = B(29)+B(82)+B(409)+B(452)+B(532)+B(534)+B(536)+B(538) IF (DO_JVS(425)) & ! JVS(425) = Jac_FULL(35,347) JVS(425) = 2*B(397)+2*B(398)+B(410)+2*B(484)+2*B(598)+2*B(600)+0.4*B(660) IF (DO_JVS(426)) & ! JVS(426) = Jac_FULL(35,348) JVS(426) = B(3)+B(10)+B(18)+B(1548)+B(1562) IF (DO_JVS(427)) & ! JVS(427) = Jac_FULL(35,349) JVS(427) = B(1520)+B(1534)+B(1558)+B(1592)+B(1600)+B(1608) IF (DO_JVS(428)) & ! JVS(428) = Jac_FULL(35,350) JVS(428) = B(1522)+B(1536)+B(1560)+B(1594)+B(1602)+B(1610) IF (DO_JVS(429)) & ! JVS(429) = Jac_FULL(35,351) JVS(429) = B(79)+B(83)+2*B(92)+B(94)+B(98)+B(127)+B(145)+B(194)+B(211)+B(252)+B(296)+B(305)+B(311)+B(317)+B(319)& &+B(345)+2*B(377)+B(386)+2*B(464)+B(718)+B(720)+B(722)+B(740)+B(746)+B(757)+B(767)+B(779)+B(795)+B(805)+2& &*B(811)+2*B(817)+B(823)+B(829)+B(835)+B(846)+B(858)+B(864)+B(876)+B(918)+B(920)+2*B(932)+2*B(934)+B(1148)& &+B(1166)+B(1168)+B(1235)+B(1298)+B(1319)+B(1341)+B(1347)+B(1351)+B(1369)+B(1392)+1.258*B(1417)+1.5*B(1421)& &+1.5*B(1427)+B(1431)+B(1448)+B(1488)+B(1493)+B(1494)+B(1495)+2*B(1654) IF (DO_JVS(430)) & ! JVS(430) = Jac_FULL(35,352) JVS(430) = B(408)+0.6*B(490)+B(1518)+B(1538)+B(1542)+B(1550) IF (DO_JVS(431)) & ! JVS(431) = Jac_FULL(35,353) JVS(431) = B(1502)+B(1524)+B(1528)+B(1544)+B(1554)+B(1596)+B(1604)+B(1612) IF (DO_JVS(432)) & ! JVS(432) = Jac_FULL(36,36) JVS(432) = 0 IF (DO_JVS(433)) & ! JVS(433) = Jac_FULL(36,60) JVS(433) = 0.364*B(1362) IF (DO_JVS(434)) & ! JVS(434) = Jac_FULL(36,68) JVS(434) = B(457)+B(1745) IF (DO_JVS(435)) & ! JVS(435) = Jac_FULL(36,75) JVS(435) = B(609) IF (DO_JVS(436)) & ! JVS(436) = Jac_FULL(36,79) JVS(436) = B(607) IF (DO_JVS(437)) & ! JVS(437) = Jac_FULL(36,82) JVS(437) = 0.27*B(1383) IF (DO_JVS(438)) & ! JVS(438) = Jac_FULL(36,101) JVS(438) = 0.3*B(1385) IF (DO_JVS(439)) & ! JVS(439) = Jac_FULL(36,107) JVS(439) = B(1304) IF (DO_JVS(440)) & ! JVS(440) = Jac_FULL(36,113) JVS(440) = B(241) IF (DO_JVS(441)) & ! JVS(441) = Jac_FULL(36,114) JVS(441) = B(306) IF (DO_JVS(442)) & ! JVS(442) = Jac_FULL(36,119) JVS(442) = B(1013) IF (DO_JVS(443)) & ! JVS(443) = Jac_FULL(36,122) JVS(443) = 2*B(1412) IF (DO_JVS(444)) & ! JVS(444) = Jac_FULL(36,124) JVS(444) = B(206) IF (DO_JVS(445)) & ! JVS(445) = Jac_FULL(36,126) JVS(445) = B(167) IF (DO_JVS(446)) & ! JVS(446) = Jac_FULL(36,127) JVS(446) = B(152) IF (DO_JVS(447)) & ! JVS(447) = Jac_FULL(36,132) JVS(447) = B(156)+B(158) IF (DO_JVS(448)) & ! JVS(448) = Jac_FULL(36,139) JVS(448) = B(102) IF (DO_JVS(449)) & ! JVS(449) = Jac_FULL(36,143) JVS(449) = 0.2*B(1381) IF (DO_JVS(450)) & ! JVS(450) = Jac_FULL(36,144) JVS(450) = 0.23*B(1007)+B(1782) IF (DO_JVS(451)) & ! JVS(451) = Jac_FULL(36,146) JVS(451) = B(1661) IF (DO_JVS(452)) & ! JVS(452) = Jac_FULL(36,147) JVS(452) = 0.888*B(1308)+B(1796) IF (DO_JVS(453)) & ! JVS(453) = Jac_FULL(36,150) JVS(453) = 0.42*B(1005)+B(1781) IF (DO_JVS(454)) & ! JVS(454) = Jac_FULL(36,153) JVS(454) = 0.84*B(1268) IF (DO_JVS(455)) & ! JVS(455) = Jac_FULL(36,159) JVS(455) = 0.488*B(1280) IF (DO_JVS(456)) & ! JVS(456) = Jac_FULL(36,167) JVS(456) = 0.15*B(725) IF (DO_JVS(457)) & ! JVS(457) = Jac_FULL(36,181) JVS(457) = B(605) IF (DO_JVS(458)) & ! JVS(458) = Jac_FULL(36,182) JVS(458) = 0.33*B(1214)+0.33*B(1216) IF (DO_JVS(459)) & ! JVS(459) = Jac_FULL(36,184) JVS(459) = 0.25*B(1302) IF (DO_JVS(460)) & ! JVS(460) = Jac_FULL(36,185) JVS(460) = B(1260)+0.571*B(1768) IF (DO_JVS(461)) & ! JVS(461) = Jac_FULL(36,187) JVS(461) = 0.25*B(1023) IF (DO_JVS(462)) & ! JVS(462) = Jac_FULL(36,191) JVS(462) = 0.1*B(733) IF (DO_JVS(463)) & ! JVS(463) = Jac_FULL(36,192) JVS(463) = 0.33*B(1025) IF (DO_JVS(464)) & ! JVS(464) = Jac_FULL(36,194) JVS(464) = 0.75*B(1258)+0.875*B(1769) IF (DO_JVS(465)) & ! JVS(465) = Jac_FULL(36,197) JVS(465) = B(160)+B(162) IF (DO_JVS(466)) & ! JVS(466) = Jac_FULL(36,199) JVS(466) = 0.054*B(1029) IF (DO_JVS(467)) & ! JVS(467) = Jac_FULL(36,200) JVS(467) = 0.12*B(1348) IF (DO_JVS(468)) & ! JVS(468) = Jac_FULL(36,201) JVS(468) = 0.25*B(1470)+0.5*B(1472)+0.05*B(1474) IF (DO_JVS(469)) & ! JVS(469) = Jac_FULL(36,204) JVS(469) = B(1802) IF (DO_JVS(470)) & ! JVS(470) = Jac_FULL(36,208) JVS(470) = 2*B(1266)+B(1765) IF (DO_JVS(471)) & ! JVS(471) = Jac_FULL(36,209) JVS(471) = 0.036*B(1027) IF (DO_JVS(472)) & ! JVS(472) = Jac_FULL(36,210) JVS(472) = B(1326)+B(1762) IF (DO_JVS(473)) & ! JVS(473) = Jac_FULL(36,215) JVS(473) = 1.5*B(1011) IF (DO_JVS(474)) & ! JVS(474) = Jac_FULL(36,216) JVS(474) = 0.25*B(1244)+B(1774) IF (DO_JVS(475)) & ! JVS(475) = Jac_FULL(36,220) JVS(475) = 0.18*B(1342) IF (DO_JVS(476)) & ! JVS(476) = Jac_FULL(36,221) JVS(476) = 0.26*B(1465)+0.5*B(1467) IF (DO_JVS(477)) & ! JVS(477) = Jac_FULL(36,225) JVS(477) = B(1808) IF (DO_JVS(478)) & ! JVS(478) = Jac_FULL(36,227) JVS(478) = B(1264)+0.5*B(1766) IF (DO_JVS(479)) & ! JVS(479) = Jac_FULL(36,230) JVS(479) = 0.45*B(1001)+0.888*B(1779) IF (DO_JVS(480)) & ! JVS(480) = Jac_FULL(36,231) JVS(480) = 0.37*B(1003)+0.818*B(1780) IF (DO_JVS(481)) & ! JVS(481) = Jac_FULL(36,233) JVS(481) = 0.7*B(1660) IF (DO_JVS(482)) & ! JVS(482) = Jac_FULL(36,238) JVS(482) = 0.638*B(1009) IF (DO_JVS(483)) & ! JVS(483) = Jac_FULL(36,243) JVS(483) = 0.52*B(1078)+0.8*B(1082)+2*B(1084) IF (DO_JVS(484)) & ! JVS(484) = Jac_FULL(36,248) JVS(484) = B(1773) IF (DO_JVS(485)) & ! JVS(485) = Jac_FULL(36,253) JVS(485) = 0.507*B(1276)+B(1282)+0.86*B(1283) IF (DO_JVS(486)) & ! JVS(486) = Jac_FULL(36,255) JVS(486) = B(1817) IF (DO_JVS(487)) & ! JVS(487) = Jac_FULL(36,258) JVS(487) = B(1306)+B(1792)+0.163*B(1793) IF (DO_JVS(488)) & ! JVS(488) = Jac_FULL(36,259) JVS(488) = 0.325*B(1278)+0.65*B(1287) IF (DO_JVS(489)) & ! JVS(489) = Jac_FULL(36,261) JVS(489) = B(1749) IF (DO_JVS(490)) & ! JVS(490) = Jac_FULL(36,266) JVS(490) = B(1314)+B(1800) IF (DO_JVS(491)) & ! JVS(491) = Jac_FULL(36,267) JVS(491) = 0.6*B(1111)+0.55*B(1786) IF (DO_JVS(492)) & ! JVS(492) = Jac_FULL(36,268) JVS(492) = 0.6*B(1109)+0.55*B(1783) IF (DO_JVS(493)) & ! JVS(493) = Jac_FULL(36,269) JVS(493) = 0.15*B(1457)+0.15*B(1459)+B(1805) IF (DO_JVS(494)) & ! JVS(494) = Jac_FULL(36,270) JVS(494) = 2*B(312)+2*B(316)+2*B(1667)+2*B(1668)+B(1669) IF (DO_JVS(495)) & ! JVS(495) = Jac_FULL(36,276) JVS(495) = 0.407*B(947)+0.6*B(953)+0.9*B(955) IF (DO_JVS(496)) & ! JVS(496) = Jac_FULL(36,285) JVS(496) = B(1071)+0.2*B(1072)+0.13*B(1076) IF (DO_JVS(497)) & ! JVS(497) = Jac_FULL(36,286) JVS(497) = B(1063)+0.13*B(1064)+0.2*B(1066) IF (DO_JVS(498)) & ! JVS(498) = Jac_FULL(36,287) JVS(498) = 0.77*B(1240)+0.77*B(1770) IF (DO_JVS(499)) & ! JVS(499) = Jac_FULL(36,290) JVS(499) = 0.56*B(287) IF (DO_JVS(500)) & ! JVS(500) = Jac_FULL(36,294) JVS(500) = B(314)+B(318)+B(1670) IF (DO_JVS(501)) & ! JVS(501) = Jac_FULL(36,295) JVS(501) = B(1664) IF (DO_JVS(502)) & ! JVS(502) = Jac_FULL(36,298) JVS(502) = B(1662) IF (DO_JVS(503)) & ! JVS(503) = Jac_FULL(36,301) JVS(503) = 0.539*B(1212)+0.839*B(1790) IF (DO_JVS(504)) & ! JVS(504) = Jac_FULL(36,304) JVS(504) = 0.9*B(968)+B(974)+B(975)+0.5*B(983)+0.55*B(999) IF (DO_JVS(505)) & ! JVS(505) = Jac_FULL(36,305) JVS(505) = 0.6*B(966)+B(973)+B(976)+0.5*B(979)+0.55*B(991) IF (DO_JVS(506)) & ! JVS(506) = Jac_FULL(36,306) JVS(506) = 0.505*B(289)+B(291)+B(1666) IF (DO_JVS(507)) & ! JVS(507) = Jac_FULL(36,307) JVS(507) = 0.5*B(322) IF (DO_JVS(508)) & ! JVS(508) = Jac_FULL(36,309) JVS(508) = 0.036*B(1228)+0.12*B(1232)+0.68*B(1234)+B(1674) IF (DO_JVS(509)) & ! JVS(509) = Jac_FULL(36,314) JVS(509) = 0.28*B(1226)+B(1671)+B(1672) IF (DO_JVS(510)) & ! JVS(510) = Jac_FULL(36,325) JVS(510) = B(63)+B(93)+B(413)+B(485)+B(565)+B(1647)+B(1648) IF (DO_JVS(511)) & ! JVS(511) = Jac_FULL(36,326) JVS(511) = 0.05*B(95)+0.88*B(1656)+B(1657) IF (DO_JVS(512)) & ! JVS(512) = Jac_FULL(36,328) JVS(512) = 0.5*B(980)+0.5*B(984) IF (DO_JVS(513)) & ! JVS(513) = Jac_FULL(36,337) JVS(513) = B(159)+B(161)+0.13*B(1065)+0.13*B(1077)+0.52*B(1079)+0.33*B(1217)+0.507*B(1277)+0.325*B(1279) IF (DO_JVS(514)) & ! JVS(514) = Jac_FULL(36,340) JVS(514) = B(566)+B(606)+B(608)+B(610) IF (DO_JVS(515)) & ! JVS(515) = Jac_FULL(36,341) JVS(515) = 0.56*B(288)+0.15*B(726)+0.1*B(734)+0.407*B(948)+0.28*B(1227)+0.12*B(1233)+0.18*B(1343)+0.5*B(1468)+0.5& &*B(1473) IF (DO_JVS(516)) & ! JVS(516) = Jac_FULL(36,342) JVS(516) = B(414) IF (DO_JVS(517)) & ! JVS(517) = Jac_FULL(36,343) JVS(517) = B(458)+B(486) IF (DO_JVS(518)) & ! JVS(518) = Jac_FULL(36,345) JVS(518) = B(64)+0.05*B(96)+B(103)+B(153)+B(168)+B(207)+B(242)+0.505*B(290)+B(292)+B(307)+2*B(313)+B(315)+0.5*B(323)& &+0.6*B(954)+0.9*B(956)+0.45*B(1002)+0.37*B(1004)+0.42*B(1006)+0.23*B(1008)+0.638*B(1010)+1.5*B(1012)+B(1014)& &+0.25*B(1024)+0.33*B(1026)+0.036*B(1028)+0.054*B(1030)+0.6*B(1110)+0.6*B(1112)+0.539*B(1213)+0.036*B(1229)& &+0.77*B(1241)+0.25*B(1245)+0.75*B(1259)+B(1261)+B(1265)+2*B(1267)+0.84*B(1269)+0.488*B(1281)+0.25*B(1303)& &+B(1305)+B(1307)+0.888*B(1309)+B(1315)+B(1327)+0.12*B(1349)+0.364*B(1363)+0.2*B(1382)+0.27*B(1384)+0.3& &*B(1386)+2*B(1413)+0.15*B(1458)+0.26*B(1466)+0.25*B(1471) IF (DO_JVS(519)) & ! JVS(519) = Jac_FULL(36,346) JVS(519) = B(157)+B(163)+0.55*B(992)+0.55*B(1000)+0.2*B(1067)+0.2*B(1073)+0.8*B(1083)+0.33*B(1215)+0.86*B(1284)+0.65& &*B(1288) IF (DO_JVS(520)) & ! JVS(520) = Jac_FULL(36,351) JVS(520) = B(94)+2*B(317)+B(319)+0.68*B(1235)+0.15*B(1460) IF (DO_JVS(521)) & ! JVS(521) = Jac_FULL(37,37) JVS(521) = 0 IF (DO_JVS(522)) & ! JVS(522) = Jac_FULL(37,241) JVS(522) = B(705) IF (DO_JVS(523)) & ! JVS(523) = Jac_FULL(37,312) JVS(523) = B(691) IF (DO_JVS(524)) & ! JVS(524) = Jac_FULL(37,329) JVS(524) = B(45)+B(692)+B(706) IF (DO_JVS(525)) & ! JVS(525) = Jac_FULL(37,345) JVS(525) = B(46) IF (DO_JVS(526)) & ! JVS(526) = Jac_FULL(38,38) JVS(526) = 0 IF (DO_JVS(527)) & ! JVS(527) = Jac_FULL(38,89) JVS(527) = 2*B(23) IF (DO_JVS(528)) & ! JVS(528) = Jac_FULL(38,179) JVS(528) = B(1) IF (DO_JVS(529)) & ! JVS(529) = Jac_FULL(38,241) JVS(529) = B(711) IF (DO_JVS(530)) & ! JVS(530) = Jac_FULL(38,264) JVS(530) = B(15) IF (DO_JVS(531)) & ! JVS(531) = Jac_FULL(38,312) JVS(531) = B(703) IF (DO_JVS(532)) & ! JVS(532) = Jac_FULL(38,316) JVS(532) = B(1561) IF (DO_JVS(533)) & ! JVS(533) = Jac_FULL(38,333) JVS(533) = B(1547) IF (DO_JVS(534)) & ! JVS(534) = Jac_FULL(38,341) JVS(534) = B(2)+B(17) IF (DO_JVS(535)) & ! JVS(535) = Jac_FULL(38,345) JVS(535) = 2*B(24)+B(387) IF (DO_JVS(536)) & ! JVS(536) = Jac_FULL(38,348) JVS(536) = B(3)+B(16)+B(18)+B(19)+2*B(25)+B(388)+B(704)+B(712)+B(1548)+B(1562) IF (DO_JVS(537)) & ! JVS(537) = Jac_FULL(39,39) JVS(537) = 0 IF (DO_JVS(538)) & ! JVS(538) = Jac_FULL(39,228) JVS(538) = B(47)+B(443)+B(563) IF (DO_JVS(539)) & ! JVS(539) = Jac_FULL(39,334) JVS(539) = B(444) IF (DO_JVS(540)) & ! JVS(540) = Jac_FULL(39,340) JVS(540) = B(564) IF (DO_JVS(541)) & ! JVS(541) = Jac_FULL(39,345) JVS(541) = B(48) IF (DO_JVS(542)) & ! JVS(542) = Jac_FULL(40,40) JVS(542) = 0 IF (DO_JVS(543)) & ! JVS(543) = Jac_FULL(40,241) JVS(543) = B(713) IF (DO_JVS(544)) & ! JVS(544) = Jac_FULL(40,276) JVS(544) = 0.013*B(947) IF (DO_JVS(545)) & ! JVS(545) = Jac_FULL(40,312) JVS(545) = 0.06*B(697)+0.06*B(699) IF (DO_JVS(546)) & ! JVS(546) = Jac_FULL(40,314) JVS(546) = 0.045*B(1226) IF (DO_JVS(547)) & ! JVS(547) = Jac_FULL(40,336) JVS(547) = 0.06*B(698)+0.06*B(700)+B(714) IF (DO_JVS(548)) & ! JVS(548) = Jac_FULL(40,337) JVS(548) = B(44) IF (DO_JVS(549)) & ! JVS(549) = Jac_FULL(40,341) JVS(549) = 0.013*B(948)+0.045*B(1227) IF (DO_JVS(550)) & ! JVS(550) = Jac_FULL(40,345) JVS(550) = B(37) IF (DO_JVS(551)) & ! JVS(551) = Jac_FULL(41,41) JVS(551) = -B(1489) IF (DO_JVS(552)) & ! JVS(552) = Jac_FULL(41,345) JVS(552) = -B(1490) IF (DO_JVS(553)) & ! JVS(553) = Jac_FULL(42,42) JVS(553) = -B(664)-B(1582)-B(1583)-B(1584)-B(1737) IF (DO_JVS(554)) & ! JVS(554) = Jac_FULL(42,96) JVS(554) = B(663) IF (DO_JVS(555)) & ! JVS(555) = Jac_FULL(43,43) JVS(555) = -B(553)-B(1710) IF (DO_JVS(556)) & ! JVS(556) = Jac_FULL(43,345) JVS(556) = -B(554) IF (DO_JVS(557)) & ! JVS(557) = Jac_FULL(44,44) JVS(557) = -B(684)-B(1576)-B(1577)-B(1578)-B(1732) IF (DO_JVS(558)) & ! JVS(558) = Jac_FULL(44,284) JVS(558) = 0.6*B(683) IF (DO_JVS(559)) & ! JVS(559) = Jac_FULL(45,45) JVS(559) = -B(936) IF (DO_JVS(560)) & ! JVS(560) = Jac_FULL(45,154) JVS(560) = B(1625) IF (DO_JVS(561)) & ! JVS(561) = Jac_FULL(45,242) JVS(561) = B(1624) IF (DO_JVS(562)) & ! JVS(562) = Jac_FULL(45,256) JVS(562) = B(1623) IF (DO_JVS(563)) & ! JVS(563) = Jac_FULL(46,46) JVS(563) = -0.79*B(493)-B(1711) IF (DO_JVS(564)) & ! JVS(564) = Jac_FULL(46,334) JVS(564) = -0.79*B(494) IF (DO_JVS(565)) & ! JVS(565) = Jac_FULL(47,47) JVS(565) = -0.9*B(505)-B(1712) IF (DO_JVS(566)) & ! JVS(566) = Jac_FULL(47,334) JVS(566) = -0.9*B(506) IF (DO_JVS(567)) & ! JVS(567) = Jac_FULL(48,48) JVS(567) = -0.86*B(507)-B(1713) IF (DO_JVS(568)) & ! JVS(568) = Jac_FULL(48,334) JVS(568) = -0.86*B(508) IF (DO_JVS(569)) & ! JVS(569) = Jac_FULL(49,49) JVS(569) = -0.9*B(519)-B(1714) IF (DO_JVS(570)) & ! JVS(570) = Jac_FULL(49,334) JVS(570) = -0.9*B(520) IF (DO_JVS(571)) & ! JVS(571) = Jac_FULL(50,50) JVS(571) = -0.9*B(521)-B(1715) IF (DO_JVS(572)) & ! JVS(572) = Jac_FULL(50,334) JVS(572) = -0.9*B(522) IF (DO_JVS(573)) & ! JVS(573) = Jac_FULL(51,51) JVS(573) = -0.86*B(523)-B(1716) IF (DO_JVS(574)) & ! JVS(574) = Jac_FULL(51,334) JVS(574) = -0.86*B(524) IF (DO_JVS(575)) & ! JVS(575) = Jac_FULL(52,52) JVS(575) = -B(685)-B(1733) IF (DO_JVS(576)) & ! JVS(576) = Jac_FULL(52,345) JVS(576) = -B(686) IF (DO_JVS(577)) & ! JVS(577) = Jac_FULL(53,53) JVS(577) = -0.45*B(511)-B(1721) IF (DO_JVS(578)) & ! JVS(578) = Jac_FULL(53,334) JVS(578) = -0.45*B(512) IF (DO_JVS(579)) & ! JVS(579) = Jac_FULL(54,54) JVS(579) = -0.75*B(525)-B(1723) IF (DO_JVS(580)) & ! JVS(580) = Jac_FULL(54,334) JVS(580) = -0.75*B(526) IF (DO_JVS(581)) & ! JVS(581) = Jac_FULL(55,55) JVS(581) = -B(1579)-B(1580)-B(1581)-B(1738) IF (DO_JVS(582)) & ! JVS(582) = Jac_FULL(55,96) JVS(582) = B(661) IF (DO_JVS(583)) & ! JVS(583) = Jac_FULL(55,284) JVS(583) = B(662) IF (DO_JVS(584)) & ! JVS(584) = Jac_FULL(56,56) JVS(584) = -B(755) IF (DO_JVS(585)) & ! JVS(585) = Jac_FULL(56,257) JVS(585) = B(753) IF (DO_JVS(586)) & ! JVS(586) = Jac_FULL(56,335) JVS(586) = B(754) IF (DO_JVS(587)) & ! JVS(587) = Jac_FULL(57,57) JVS(587) = -B(844) IF (DO_JVS(588)) & ! JVS(588) = Jac_FULL(57,274) JVS(588) = B(842) IF (DO_JVS(589)) & ! JVS(589) = Jac_FULL(57,335) JVS(589) = B(843) IF (DO_JVS(590)) & ! JVS(590) = Jac_FULL(58,58) JVS(590) = -B(1397) IF (DO_JVS(591)) & ! JVS(591) = Jac_FULL(58,200) JVS(591) = 0.15*B(1348) IF (DO_JVS(592)) & ! JVS(592) = Jac_FULL(58,345) JVS(592) = 0.15*B(1349)-B(1398) IF (DO_JVS(593)) & ! JVS(593) = Jac_FULL(59,59) JVS(593) = -B(1695) IF (DO_JVS(594)) & ! JVS(594) = Jac_FULL(59,335) JVS(594) = B(423) IF (DO_JVS(595)) & ! JVS(595) = Jac_FULL(59,342) JVS(595) = B(424) IF (DO_JVS(596)) & ! JVS(596) = Jac_FULL(60,60) JVS(596) = -B(1362) IF (DO_JVS(597)) & ! JVS(597) = Jac_FULL(60,345) JVS(597) = -B(1363) IF (DO_JVS(598)) & ! JVS(598) = Jac_FULL(61,61) JVS(598) = -0.65*B(509)-B(1722) IF (DO_JVS(599)) & ! JVS(599) = Jac_FULL(61,334) JVS(599) = -0.65*B(510) IF (DO_JVS(600)) & ! JVS(600) = Jac_FULL(62,62) JVS(600) = -2*B(645)-B(1729) IF (DO_JVS(601)) & ! JVS(601) = Jac_FULL(62,331) JVS(601) = B(643) IF (DO_JVS(602)) & ! JVS(602) = Jac_FULL(62,346) JVS(602) = B(644) IF (DO_JVS(603)) & ! JVS(603) = Jac_FULL(63,63) JVS(603) = -B(441)-B(1744) IF (DO_JVS(604)) & ! JVS(604) = Jac_FULL(63,67) JVS(604) = B(481) IF (DO_JVS(605)) & ! JVS(605) = Jac_FULL(63,334) JVS(605) = -B(442) IF (DO_JVS(606)) & ! JVS(606) = Jac_FULL(63,335) JVS(606) = B(482) IF (DO_JVS(607)) & ! JVS(607) = Jac_FULL(64,64) JVS(607) = -B(1755)-B(1756) IF (DO_JVS(608)) & ! JVS(608) = Jac_FULL(64,179) JVS(608) = B(6) IF (DO_JVS(609)) & ! JVS(609) = Jac_FULL(64,327) JVS(609) = B(7) IF (DO_JVS(610)) & ! JVS(610) = Jac_FULL(64,351) JVS(610) = B(1494) IF (DO_JVS(611)) & ! JVS(611) = Jac_FULL(65,65) JVS(611) = -B(1753)-B(1754) IF (DO_JVS(612)) & ! JVS(612) = Jac_FULL(65,166) JVS(612) = B(13) IF (DO_JVS(613)) & ! JVS(613) = Jac_FULL(65,327) JVS(613) = B(14) IF (DO_JVS(614)) & ! JVS(614) = Jac_FULL(65,351) JVS(614) = B(1495) IF (DO_JVS(615)) & ! JVS(615) = Jac_FULL(66,66) JVS(615) = -B(760)-B(1810) IF (DO_JVS(616)) & ! JVS(616) = Jac_FULL(66,257) JVS(616) = 0.15*B(749)+0.25*B(893) IF (DO_JVS(617)) & ! JVS(617) = Jac_FULL(66,328) JVS(617) = 0.25*B(894) IF (DO_JVS(618)) & ! JVS(618) = Jac_FULL(66,337) JVS(618) = 0.15*B(750) IF (DO_JVS(619)) & ! JVS(619) = Jac_FULL(66,345) JVS(619) = -B(761) IF (DO_JVS(620)) & ! JVS(620) = Jac_FULL(67,67) JVS(620) = -B(477)-B(479)-B(481) IF (DO_JVS(621)) & ! JVS(621) = Jac_FULL(67,335) JVS(621) = -B(482) IF (DO_JVS(622)) & ! JVS(622) = Jac_FULL(67,346) JVS(622) = -B(480)+B(1747) IF (DO_JVS(623)) & ! JVS(623) = Jac_FULL(68,68) JVS(623) = -B(457)-B(459)-B(1745) IF (DO_JVS(624)) & ! JVS(624) = Jac_FULL(68,343) JVS(624) = -B(458) IF (DO_JVS(625)) & ! JVS(625) = Jac_FULL(68,345) JVS(625) = -B(460) IF (DO_JVS(626)) & ! JVS(626) = Jac_FULL(69,69) JVS(626) = -B(124)-B(126) IF (DO_JVS(627)) & ! JVS(627) = Jac_FULL(69,345) JVS(627) = -B(125) IF (DO_JVS(628)) & ! JVS(628) = Jac_FULL(69,351) JVS(628) = -B(127) IF (DO_JVS(629)) & ! JVS(629) = Jac_FULL(70,70) JVS(629) = -B(1375) IF (DO_JVS(630)) & ! JVS(630) = Jac_FULL(70,234) JVS(630) = 0.005*B(1366) IF (DO_JVS(631)) & ! JVS(631) = Jac_FULL(70,345) JVS(631) = -B(1376) IF (DO_JVS(632)) & ! JVS(632) = Jac_FULL(70,346) JVS(632) = 0.005*B(1367) IF (DO_JVS(633)) & ! JVS(633) = Jac_FULL(71,71) JVS(633) = -B(1438)-B(1803) IF (DO_JVS(634)) & ! JVS(634) = Jac_FULL(71,235) JVS(634) = 0.65*B(1432) IF (DO_JVS(635)) & ! JVS(635) = Jac_FULL(71,337) JVS(635) = 0.65*B(1433) IF (DO_JVS(636)) & ! JVS(636) = Jac_FULL(71,345) JVS(636) = -B(1439) IF (DO_JVS(637)) & ! JVS(637) = Jac_FULL(72,72) JVS(637) = -B(308) IF (DO_JVS(638)) & ! JVS(638) = Jac_FULL(72,213) JVS(638) = 0.56*B(302) IF (DO_JVS(639)) & ! JVS(639) = Jac_FULL(72,337) JVS(639) = 0.56*B(303) IF (DO_JVS(640)) & ! JVS(640) = Jac_FULL(72,345) JVS(640) = -B(309) IF (DO_JVS(641)) & ! JVS(641) = Jac_FULL(73,73) JVS(641) = -B(675)-B(1571)-B(1572)-B(1573) IF (DO_JVS(642)) & ! JVS(642) = Jac_FULL(73,331) JVS(642) = B(671) IF (DO_JVS(643)) & ! JVS(643) = Jac_FULL(73,337) JVS(643) = B(672) IF (DO_JVS(644)) & ! JVS(644) = Jac_FULL(73,345) JVS(644) = -B(676) IF (DO_JVS(645)) & ! JVS(645) = Jac_FULL(74,74) JVS(645) = -B(758)-B(1809) IF (DO_JVS(646)) & ! JVS(646) = Jac_FULL(74,257) JVS(646) = 0.41*B(749) IF (DO_JVS(647)) & ! JVS(647) = Jac_FULL(74,337) JVS(647) = 0.41*B(750) IF (DO_JVS(648)) & ! JVS(648) = Jac_FULL(74,345) JVS(648) = -B(759) IF (DO_JVS(649)) & ! JVS(649) = Jac_FULL(75,75) JVS(649) = -B(551)-B(609) IF (DO_JVS(650)) & ! JVS(650) = Jac_FULL(75,340) JVS(650) = -B(610) IF (DO_JVS(651)) & ! JVS(651) = Jac_FULL(75,345) JVS(651) = -B(552) IF (DO_JVS(652)) & ! JVS(652) = Jac_FULL(76,76) JVS(652) = -B(537)-B(592)-B(1705) IF (DO_JVS(653)) & ! JVS(653) = Jac_FULL(76,338) JVS(653) = B(591) IF (DO_JVS(654)) & ! JVS(654) = Jac_FULL(76,345) JVS(654) = -B(538) IF (DO_JVS(655)) & ! JVS(655) = Jac_FULL(77,77) JVS(655) = -B(1739) IF (DO_JVS(656)) & ! JVS(656) = Jac_FULL(77,252) JVS(656) = B(1591)+B(1593) IF (DO_JVS(657)) & ! JVS(657) = Jac_FULL(77,330) JVS(657) = B(1607)+B(1609) IF (DO_JVS(658)) & ! JVS(658) = Jac_FULL(77,332) JVS(658) = B(1599)+B(1601) IF (DO_JVS(659)) & ! JVS(659) = Jac_FULL(77,349) JVS(659) = B(1592)+B(1600)+B(1608) IF (DO_JVS(660)) & ! JVS(660) = Jac_FULL(77,350) JVS(660) = B(1594)+B(1602)+B(1610) IF (DO_JVS(661)) & ! JVS(661) = Jac_FULL(78,78) JVS(661) = -B(429)-0.95*B(499)-B(1697) IF (DO_JVS(662)) & ! JVS(662) = Jac_FULL(78,334) JVS(662) = -0.95*B(500) IF (DO_JVS(663)) & ! JVS(663) = Jac_FULL(78,345) JVS(663) = -B(430) IF (DO_JVS(664)) & ! JVS(664) = Jac_FULL(79,79) JVS(664) = -B(549)-B(607)-B(1700) IF (DO_JVS(665)) & ! JVS(665) = Jac_FULL(79,340) JVS(665) = -B(608) IF (DO_JVS(666)) & ! JVS(666) = Jac_FULL(79,345) JVS(666) = -B(550) IF (DO_JVS(667)) & ! JVS(667) = Jac_FULL(80,80) JVS(667) = -B(380)-B(1741)-B(1742) IF (DO_JVS(668)) & ! JVS(668) = Jac_FULL(80,328) JVS(668) = B(378) IF (DO_JVS(669)) & ! JVS(669) = Jac_FULL(80,335) JVS(669) = B(379) IF (DO_JVS(670)) & ! JVS(670) = Jac_FULL(81,81) JVS(670) = -B(427)-0.7*B(501)-B(1696) IF (DO_JVS(671)) & ! JVS(671) = Jac_FULL(81,334) JVS(671) = -0.7*B(502) IF (DO_JVS(672)) & ! JVS(672) = Jac_FULL(81,345) JVS(672) = -B(428) IF (DO_JVS(673)) & ! JVS(673) = Jac_FULL(82,82) JVS(673) = -B(1383) IF (DO_JVS(674)) & ! JVS(674) = Jac_FULL(82,345) JVS(674) = -B(1384) IF (DO_JVS(675)) & ! JVS(675) = Jac_FULL(83,83) JVS(675) = -B(941)-B(1758) IF (DO_JVS(676)) & ! JVS(676) = Jac_FULL(83,296) JVS(676) = B(110) IF (DO_JVS(677)) & ! JVS(677) = Jac_FULL(83,345) JVS(677) = -B(942) IF (DO_JVS(678)) & ! JVS(678) = Jac_FULL(83,346) JVS(678) = B(111) IF (DO_JVS(679)) & ! JVS(679) = Jac_FULL(84,84) JVS(679) = -0.79*B(517)-B(561)-B(1717) IF (DO_JVS(680)) & ! JVS(680) = Jac_FULL(84,334) JVS(680) = -0.79*B(518) IF (DO_JVS(681)) & ! JVS(681) = Jac_FULL(84,345) JVS(681) = -B(562) IF (DO_JVS(682)) & ! JVS(682) = Jac_FULL(85,85) JVS(682) = -0.69*B(513)-B(557)-B(1718) IF (DO_JVS(683)) & ! JVS(683) = Jac_FULL(85,334) JVS(683) = -0.69*B(514) IF (DO_JVS(684)) & ! JVS(684) = Jac_FULL(85,345) JVS(684) = -B(558) IF (DO_JVS(685)) & ! JVS(685) = Jac_FULL(86,86) JVS(685) = -0.65*B(515)-B(559)-B(1719) IF (DO_JVS(686)) & ! JVS(686) = Jac_FULL(86,334) JVS(686) = -0.65*B(516) IF (DO_JVS(687)) & ! JVS(687) = Jac_FULL(86,345) JVS(687) = -B(560) IF (DO_JVS(688)) & ! JVS(688) = Jac_FULL(87,87) JVS(688) = -0.75*B(503)-B(555)-B(1720) IF (DO_JVS(689)) & ! JVS(689) = Jac_FULL(87,334) JVS(689) = -0.75*B(504) IF (DO_JVS(690)) & ! JVS(690) = Jac_FULL(87,345) JVS(690) = -B(556) IF (DO_JVS(691)) & ! JVS(691) = Jac_FULL(88,88) JVS(691) = -B(1322)-B(1761) IF (DO_JVS(692)) & ! JVS(692) = Jac_FULL(88,312) JVS(692) = 0.73*B(697)+0.4*B(699) IF (DO_JVS(693)) & ! JVS(693) = Jac_FULL(88,336) JVS(693) = 0.73*B(698)+0.4*B(700) IF (DO_JVS(694)) & ! JVS(694) = Jac_FULL(88,345) JVS(694) = -B(1323) IF (DO_JVS(695)) & ! JVS(695) = Jac_FULL(89,89) JVS(695) = -B(22)-B(23) IF (DO_JVS(696)) & ! JVS(696) = Jac_FULL(89,325) JVS(696) = B(20) IF (DO_JVS(697)) & ! JVS(697) = Jac_FULL(89,345) JVS(697) = -B(24) IF (DO_JVS(698)) & ! JVS(698) = Jac_FULL(89,348) JVS(698) = B(21)-B(25) IF (DO_JVS(699)) & ! JVS(699) = Jac_FULL(90,90) JVS(699) = -B(1440)-B(1441) IF (DO_JVS(700)) & ! JVS(700) = Jac_FULL(90,235) JVS(700) = B(1436) IF (DO_JVS(701)) & ! JVS(701) = Jac_FULL(90,335) JVS(701) = B(1437) IF (DO_JVS(702)) & ! JVS(702) = Jac_FULL(90,345) JVS(702) = -B(1442) IF (DO_JVS(703)) & ! JVS(703) = Jac_FULL(91,91) JVS(703) = -B(943)-B(1759) IF (DO_JVS(704)) & ! JVS(704) = Jac_FULL(91,323) JVS(704) = B(189) IF (DO_JVS(705)) & ! JVS(705) = Jac_FULL(91,345) JVS(705) = -B(944) IF (DO_JVS(706)) & ! JVS(706) = Jac_FULL(91,346) JVS(706) = B(190) IF (DO_JVS(707)) & ! JVS(707) = Jac_FULL(92,92) JVS(707) = -B(342)-B(1689) IF (DO_JVS(708)) & ! JVS(708) = Jac_FULL(92,324) JVS(708) = 0.37*B(1324) IF (DO_JVS(709)) & ! JVS(709) = Jac_FULL(92,337) JVS(709) = 0.37*B(1325) IF (DO_JVS(710)) & ! JVS(710) = Jac_FULL(92,345) JVS(710) = -B(343) IF (DO_JVS(711)) & ! JVS(711) = Jac_FULL(93,93) JVS(711) = -B(939)-B(1757) IF (DO_JVS(712)) & ! JVS(712) = Jac_FULL(93,328) JVS(712) = B(51) IF (DO_JVS(713)) & ! JVS(713) = Jac_FULL(93,345) JVS(713) = -B(940) IF (DO_JVS(714)) & ! JVS(714) = Jac_FULL(93,346) JVS(714) = B(52) IF (DO_JVS(715)) & ! JVS(715) = Jac_FULL(94,94) JVS(715) = -B(381)-B(383)-B(385) IF (DO_JVS(716)) & ! JVS(716) = Jac_FULL(94,345) JVS(716) = -B(382)-B(384) IF (DO_JVS(717)) & ! JVS(717) = Jac_FULL(94,351) JVS(717) = -B(386) IF (DO_JVS(718)) & ! JVS(718) = Jac_FULL(95,95) JVS(718) = -B(945)-B(1760) IF (DO_JVS(719)) & ! JVS(719) = Jac_FULL(95,321) JVS(719) = B(120) IF (DO_JVS(720)) & ! JVS(720) = Jac_FULL(95,345) JVS(720) = -B(946) IF (DO_JVS(721)) & ! JVS(721) = Jac_FULL(95,346) JVS(721) = B(121) IF (DO_JVS(722)) & ! JVS(722) = Jac_FULL(96,42) JVS(722) = 2*B(664)+2*B(1737) IF (DO_JVS(723)) & ! JVS(723) = Jac_FULL(96,44) JVS(723) = 0.996*B(684)+B(1732) IF (DO_JVS(724)) & ! JVS(724) = Jac_FULL(96,55) JVS(724) = B(1738) IF (DO_JVS(725)) & ! JVS(725) = Jac_FULL(96,96) JVS(725) = -B(661)-2*B(663)-B(665)-B(1728) IF (DO_JVS(726)) & ! JVS(726) = Jac_FULL(96,284) JVS(726) = 0.8*B(659)-B(662)+0.4*B(683) IF (DO_JVS(727)) & ! JVS(727) = Jac_FULL(96,346) JVS(727) = -B(666) IF (DO_JVS(728)) & ! JVS(728) = Jac_FULL(96,347) JVS(728) = 0.8*B(660) IF (DO_JVS(729)) & ! JVS(729) = Jac_FULL(97,97) JVS(729) = -B(332)-B(1680) IF (DO_JVS(730)) & ! JVS(730) = Jac_FULL(97,319) JVS(730) = B(218) IF (DO_JVS(731)) & ! JVS(731) = Jac_FULL(97,337) JVS(731) = B(219) IF (DO_JVS(732)) & ! JVS(732) = Jac_FULL(97,345) JVS(732) = -B(333) IF (DO_JVS(733)) & ! JVS(733) = Jac_FULL(98,98) JVS(733) = -B(134)-B(1681) IF (DO_JVS(734)) & ! JVS(734) = Jac_FULL(98,178) JVS(734) = B(132) IF (DO_JVS(735)) & ! JVS(735) = Jac_FULL(98,337) JVS(735) = B(133) IF (DO_JVS(736)) & ! JVS(736) = Jac_FULL(98,345) JVS(736) = -B(135) IF (DO_JVS(737)) & ! JVS(737) = Jac_FULL(99,99) JVS(737) = -B(328)-B(1678) IF (DO_JVS(738)) & ! JVS(738) = Jac_FULL(99,321) JVS(738) = B(279) IF (DO_JVS(739)) & ! JVS(739) = Jac_FULL(99,337) JVS(739) = B(280) IF (DO_JVS(740)) & ! JVS(740) = Jac_FULL(99,345) JVS(740) = -B(329) IF (DO_JVS(741)) & ! JVS(741) = Jac_FULL(100,100) JVS(741) = -B(330)-B(1679) IF (DO_JVS(742)) & ! JVS(742) = Jac_FULL(100,323) JVS(742) = B(230) IF (DO_JVS(743)) & ! JVS(743) = Jac_FULL(100,337) JVS(743) = B(231) IF (DO_JVS(744)) & ! JVS(744) = Jac_FULL(100,345) JVS(744) = -B(331) IF (DO_JVS(745)) & ! JVS(745) = Jac_FULL(101,101) JVS(745) = -B(1385) IF (DO_JVS(746)) & ! JVS(746) = Jac_FULL(101,345) JVS(746) = -B(1386) IF (DO_JVS(747)) & ! JVS(747) = Jac_FULL(102,102) JVS(747) = -B(334)-B(1682) IF (DO_JVS(748)) & ! JVS(748) = Jac_FULL(102,300) JVS(748) = B(222) IF (DO_JVS(749)) & ! JVS(749) = Jac_FULL(102,337) JVS(749) = B(223) IF (DO_JVS(750)) & ! JVS(750) = Jac_FULL(102,345) JVS(750) = -B(335) IF (DO_JVS(751)) & ! JVS(751) = Jac_FULL(103,103) JVS(751) = -B(935) IF (DO_JVS(752)) & ! JVS(752) = Jac_FULL(103,168) JVS(752) = B(1630) IF (DO_JVS(753)) & ! JVS(753) = Jac_FULL(103,175) JVS(753) = B(1629) IF (DO_JVS(754)) & ! JVS(754) = Jac_FULL(103,186) JVS(754) = B(1633) IF (DO_JVS(755)) & ! JVS(755) = Jac_FULL(103,216) JVS(755) = B(1638) IF (DO_JVS(756)) & ! JVS(756) = Jac_FULL(103,222) JVS(756) = B(1634) IF (DO_JVS(757)) & ! JVS(757) = Jac_FULL(103,248) JVS(757) = B(1639) IF (DO_JVS(758)) & ! JVS(758) = Jac_FULL(103,251) JVS(758) = B(1622) IF (DO_JVS(759)) & ! JVS(759) = Jac_FULL(103,266) JVS(759) = B(1636) IF (DO_JVS(760)) & ! JVS(760) = Jac_FULL(103,267) JVS(760) = B(1631) IF (DO_JVS(761)) & ! JVS(761) = Jac_FULL(103,268) JVS(761) = B(1628) IF (DO_JVS(762)) & ! JVS(762) = Jac_FULL(103,299) JVS(762) = B(1635) IF (DO_JVS(763)) & ! JVS(763) = Jac_FULL(103,302) JVS(763) = B(1621) IF (DO_JVS(764)) & ! JVS(764) = Jac_FULL(103,303) JVS(764) = B(1637) IF (DO_JVS(765)) & ! JVS(765) = Jac_FULL(104,104) JVS(765) = -B(1740) IF (DO_JVS(766)) & ! JVS(766) = Jac_FULL(104,252) JVS(766) = B(1595)+B(1597) IF (DO_JVS(767)) & ! JVS(767) = Jac_FULL(104,284) JVS(767) = 0.191*B(667) IF (DO_JVS(768)) & ! JVS(768) = Jac_FULL(104,330) JVS(768) = B(1611)+B(1613) IF (DO_JVS(769)) & ! JVS(769) = Jac_FULL(104,332) JVS(769) = B(1603)+B(1605) IF (DO_JVS(770)) & ! JVS(770) = Jac_FULL(104,338) JVS(770) = 0.191*B(668) IF (DO_JVS(771)) & ! JVS(771) = Jac_FULL(104,344) JVS(771) = B(1598)+B(1606)+B(1614) IF (DO_JVS(772)) & ! JVS(772) = Jac_FULL(104,353) JVS(772) = B(1596)+B(1604)+B(1612) IF (DO_JVS(773)) & ! JVS(773) = Jac_FULL(105,105) JVS(773) = -B(431)-B(497)-B(1698) IF (DO_JVS(774)) & ! JVS(774) = Jac_FULL(105,334) JVS(774) = -B(498) IF (DO_JVS(775)) & ! JVS(775) = Jac_FULL(105,345) JVS(775) = -B(432) IF (DO_JVS(776)) & ! JVS(776) = Jac_FULL(106,106) JVS(776) = -B(1372)-B(1373) IF (DO_JVS(777)) & ! JVS(777) = Jac_FULL(106,136) JVS(777) = B(1801) IF (DO_JVS(778)) & ! JVS(778) = Jac_FULL(106,234) JVS(778) = 0.995*B(1366)+B(1368)+0.6*B(1370) IF (DO_JVS(779)) & ! JVS(779) = Jac_FULL(106,328) JVS(779) = 0.6*B(1371) IF (DO_JVS(780)) & ! JVS(780) = Jac_FULL(106,346) JVS(780) = 0.995*B(1367) IF (DO_JVS(781)) & ! JVS(781) = Jac_FULL(106,351) JVS(781) = B(1369) IF (DO_JVS(782)) & ! JVS(782) = Jac_FULL(107,107) JVS(782) = -B(1304)-B(1627) IF (DO_JVS(783)) & ! JVS(783) = Jac_FULL(107,159) JVS(783) = 0.098*B(1280) IF (DO_JVS(784)) & ! JVS(784) = Jac_FULL(107,184) JVS(784) = 0.75*B(1302) IF (DO_JVS(785)) & ! JVS(785) = Jac_FULL(107,345) JVS(785) = 0.098*B(1281)+0.75*B(1303)-B(1305) IF (DO_JVS(786)) & ! JVS(786) = Jac_FULL(108,108) JVS(786) = -B(75)-B(76)-B(1651)-B(1652) IF (DO_JVS(787)) & ! JVS(787) = Jac_FULL(108,335) JVS(787) = B(73) IF (DO_JVS(788)) & ! JVS(788) = Jac_FULL(108,337) JVS(788) = B(74) IF (DO_JVS(789)) & ! JVS(789) = Jac_FULL(108,345) JVS(789) = -B(77) IF (DO_JVS(790)) & ! JVS(790) = Jac_FULL(109,109) JVS(790) = -B(1358)-B(1360) IF (DO_JVS(791)) & ! JVS(791) = Jac_FULL(109,233) JVS(791) = 0.4*B(1660) IF (DO_JVS(792)) & ! JVS(792) = Jac_FULL(109,341) JVS(792) = -B(1359) IF (DO_JVS(793)) & ! JVS(793) = Jac_FULL(109,345) JVS(793) = -B(1361) IF (DO_JVS(794)) & ! JVS(794) = Jac_FULL(110,76) JVS(794) = B(537)+B(1705) IF (DO_JVS(795)) & ! JVS(795) = Jac_FULL(110,110) JVS(795) = -B(590)-B(593)-B(1724) IF (DO_JVS(796)) & ! JVS(796) = Jac_FULL(110,328) JVS(796) = B(529) IF (DO_JVS(797)) & ! JVS(797) = Jac_FULL(110,338) JVS(797) = B(530)+B(586)+B(597) IF (DO_JVS(798)) & ! JVS(798) = Jac_FULL(110,340) JVS(798) = B(588)-B(594) IF (DO_JVS(799)) & ! JVS(799) = Jac_FULL(110,345) JVS(799) = B(538) IF (DO_JVS(800)) & ! JVS(800) = Jac_FULL(110,347) JVS(800) = B(598) IF (DO_JVS(801)) & ! JVS(801) = Jac_FULL(111,111) JVS(801) = -B(741)-B(1807) IF (DO_JVS(802)) & ! JVS(802) = Jac_FULL(111,277) JVS(802) = B(735) IF (DO_JVS(803)) & ! JVS(803) = Jac_FULL(111,337) JVS(803) = B(736) IF (DO_JVS(804)) & ! JVS(804) = Jac_FULL(111,345) JVS(804) = -B(742) IF (DO_JVS(805)) & ! JVS(805) = Jac_FULL(112,112) JVS(805) = -B(782)-B(1812) IF (DO_JVS(806)) & ! JVS(806) = Jac_FULL(112,275) JVS(806) = B(774) IF (DO_JVS(807)) & ! JVS(807) = Jac_FULL(112,337) JVS(807) = B(775) IF (DO_JVS(808)) & ! JVS(808) = Jac_FULL(112,345) JVS(808) = -B(783) IF (DO_JVS(809)) & ! JVS(809) = Jac_FULL(113,113) JVS(809) = -B(240)-B(241) IF (DO_JVS(810)) & ! JVS(810) = Jac_FULL(113,246) JVS(810) = B(238) IF (DO_JVS(811)) & ! JVS(811) = Jac_FULL(113,335) JVS(811) = B(239) IF (DO_JVS(812)) & ! JVS(812) = Jac_FULL(113,345) JVS(812) = -B(242) IF (DO_JVS(813)) & ! JVS(813) = Jac_FULL(114,114) JVS(813) = -B(299)-B(306) IF (DO_JVS(814)) & ! JVS(814) = Jac_FULL(114,213) JVS(814) = B(297) IF (DO_JVS(815)) & ! JVS(815) = Jac_FULL(114,335) JVS(815) = B(298) IF (DO_JVS(816)) & ! JVS(816) = Jac_FULL(114,345) JVS(816) = -B(307) IF (DO_JVS(817)) & ! JVS(817) = Jac_FULL(115,115) JVS(817) = -B(1320)-B(1626)-B(1763) IF (DO_JVS(818)) & ! JVS(818) = Jac_FULL(115,194) JVS(818) = 0.653*B(1258)+0.75*B(1769) IF (DO_JVS(819)) & ! JVS(819) = Jac_FULL(115,302) JVS(819) = 0.241*B(1236) IF (DO_JVS(820)) & ! JVS(820) = Jac_FULL(115,314) JVS(820) = 0.075*B(1226) IF (DO_JVS(821)) & ! JVS(821) = Jac_FULL(115,341) JVS(821) = 0.075*B(1227) IF (DO_JVS(822)) & ! JVS(822) = Jac_FULL(115,345) JVS(822) = 0.241*B(1237)+0.653*B(1259)-B(1321) IF (DO_JVS(823)) & ! JVS(823) = Jac_FULL(116,116) JVS(823) = -B(1356)-B(1687) IF (DO_JVS(824)) & ! JVS(824) = Jac_FULL(116,189) JVS(824) = 0.11*B(1352) IF (DO_JVS(825)) & ! JVS(825) = Jac_FULL(116,345) JVS(825) = -B(1357) IF (DO_JVS(826)) & ! JVS(826) = Jac_FULL(116,346) JVS(826) = 0.11*B(1353) IF (DO_JVS(827)) & ! JVS(827) = Jac_FULL(117,90) JVS(827) = B(1441) IF (DO_JVS(828)) & ! JVS(828) = Jac_FULL(117,117) JVS(828) = -B(1451)-B(1804) IF (DO_JVS(829)) & ! JVS(829) = Jac_FULL(117,235) JVS(829) = 0.15*B(1432) IF (DO_JVS(830)) & ! JVS(830) = Jac_FULL(117,236) JVS(830) = B(1449) IF (DO_JVS(831)) & ! JVS(831) = Jac_FULL(117,335) JVS(831) = 0 IF (DO_JVS(832)) & ! JVS(832) = Jac_FULL(117,337) JVS(832) = 0.15*B(1433)+B(1450) IF (DO_JVS(833)) & ! JVS(833) = Jac_FULL(117,345) JVS(833) = B(1442)-B(1452) IF (DO_JVS(834)) & ! JVS(834) = Jac_FULL(118,118) JVS(834) = -B(326)-B(1677) IF (DO_JVS(835)) & ! JVS(835) = Jac_FULL(118,296) JVS(835) = B(275) IF (DO_JVS(836)) & ! JVS(836) = Jac_FULL(118,315) JVS(836) = B(277) IF (DO_JVS(837)) & ! JVS(837) = Jac_FULL(118,337) JVS(837) = B(276)+B(278) IF (DO_JVS(838)) & ! JVS(838) = Jac_FULL(118,345) JVS(838) = -B(327) IF (DO_JVS(839)) & ! JVS(839) = Jac_FULL(119,119) JVS(839) = -B(1013) IF (DO_JVS(840)) & ! JVS(840) = Jac_FULL(119,230) JVS(840) = 0.15*B(1001)+0.112*B(1779) IF (DO_JVS(841)) & ! JVS(841) = Jac_FULL(119,231) JVS(841) = 0.15*B(1003)+0.182*B(1780) IF (DO_JVS(842)) & ! JVS(842) = Jac_FULL(119,301) JVS(842) = 0.161*B(1790) IF (DO_JVS(843)) & ! JVS(843) = Jac_FULL(119,345) JVS(843) = 0.15*B(1002)+0.15*B(1004)-B(1014) IF (DO_JVS(844)) & ! JVS(844) = Jac_FULL(120,120) JVS(844) = -B(535)-B(1704) IF (DO_JVS(845)) & ! JVS(845) = Jac_FULL(120,284) JVS(845) = 0.56*B(667) IF (DO_JVS(846)) & ! JVS(846) = Jac_FULL(120,338) JVS(846) = B(587)+B(595)+0.56*B(668) IF (DO_JVS(847)) & ! JVS(847) = Jac_FULL(120,345) JVS(847) = -B(536) IF (DO_JVS(848)) & ! JVS(848) = Jac_FULL(120,347) JVS(848) = B(596) IF (DO_JVS(849)) & ! JVS(849) = Jac_FULL(121,58) JVS(849) = B(1397) IF (DO_JVS(850)) & ! JVS(850) = Jac_FULL(121,121) JVS(850) = -B(1399)-B(1401) IF (DO_JVS(851)) & ! JVS(851) = Jac_FULL(121,200) JVS(851) = 0 IF (DO_JVS(852)) & ! JVS(852) = Jac_FULL(121,337) JVS(852) = -B(1402) IF (DO_JVS(853)) & ! JVS(853) = Jac_FULL(121,345) JVS(853) = B(1398) IF (DO_JVS(854)) & ! JVS(854) = Jac_FULL(121,346) JVS(854) = -B(1400) IF (DO_JVS(855)) & ! JVS(855) = Jac_FULL(122,122) JVS(855) = -B(1411)-B(1412) IF (DO_JVS(856)) & ! JVS(856) = Jac_FULL(122,240) JVS(856) = B(1409) IF (DO_JVS(857)) & ! JVS(857) = Jac_FULL(122,335) JVS(857) = B(1410) IF (DO_JVS(858)) & ! JVS(858) = Jac_FULL(122,345) JVS(858) = -B(1413) IF (DO_JVS(859)) & ! JVS(859) = Jac_FULL(123,123) JVS(859) = -B(338)-B(1683) IF (DO_JVS(860)) & ! JVS(860) = Jac_FULL(123,260) JVS(860) = B(281) IF (DO_JVS(861)) & ! JVS(861) = Jac_FULL(123,337) JVS(861) = B(282) IF (DO_JVS(862)) & ! JVS(862) = Jac_FULL(123,345) JVS(862) = -B(339) IF (DO_JVS(863)) & ! JVS(863) = Jac_FULL(124,124) JVS(863) = -B(205)-B(206)-B(1806) IF (DO_JVS(864)) & ! JVS(864) = Jac_FULL(124,322) JVS(864) = B(203) IF (DO_JVS(865)) & ! JVS(865) = Jac_FULL(124,335) JVS(865) = B(204) IF (DO_JVS(866)) & ! JVS(866) = Jac_FULL(124,345) JVS(866) = -B(207) IF (DO_JVS(867)) & ! JVS(867) = Jac_FULL(125,125) JVS(867) = -B(324)-B(1676) IF (DO_JVS(868)) & ! JVS(868) = Jac_FULL(125,250) JVS(868) = B(232) IF (DO_JVS(869)) & ! JVS(869) = Jac_FULL(125,337) JVS(869) = B(233) IF (DO_JVS(870)) & ! JVS(870) = Jac_FULL(125,345) JVS(870) = -B(325) IF (DO_JVS(871)) & ! JVS(871) = Jac_FULL(126,126) JVS(871) = -B(166)-B(167)-B(1659) IF (DO_JVS(872)) & ! JVS(872) = Jac_FULL(126,197) JVS(872) = B(164) IF (DO_JVS(873)) & ! JVS(873) = Jac_FULL(126,335) JVS(873) = B(165) IF (DO_JVS(874)) & ! JVS(874) = Jac_FULL(126,345) JVS(874) = -B(168) IF (DO_JVS(875)) & ! JVS(875) = Jac_FULL(127,127) JVS(875) = -B(152) IF (DO_JVS(876)) & ! JVS(876) = Jac_FULL(127,212) JVS(876) = 0.058*B(148) IF (DO_JVS(877)) & ! JVS(877) = Jac_FULL(127,345) JVS(877) = -B(153) IF (DO_JVS(878)) & ! JVS(878) = Jac_FULL(127,346) JVS(878) = 0.058*B(149) IF (DO_JVS(879)) & ! JVS(879) = Jac_FULL(128,128) JVS(879) = -B(1052)-B(1619) IF (DO_JVS(880)) & ! JVS(880) = Jac_FULL(128,199) JVS(880) = 0.595*B(1029) IF (DO_JVS(881)) & ! JVS(881) = Jac_FULL(128,209) JVS(881) = 0.255*B(1027) IF (DO_JVS(882)) & ! JVS(882) = Jac_FULL(128,267) JVS(882) = B(1105) IF (DO_JVS(883)) & ! JVS(883) = Jac_FULL(128,268) JVS(883) = B(1101) IF (DO_JVS(884)) & ! JVS(884) = Jac_FULL(128,345) JVS(884) = 0.255*B(1028)+0.595*B(1030)-B(1053)+B(1102)+B(1106) IF (DO_JVS(885)) & ! JVS(885) = Jac_FULL(129,112) JVS(885) = B(1812) IF (DO_JVS(886)) & ! JVS(886) = Jac_FULL(129,129) JVS(886) = -B(784) IF (DO_JVS(887)) & ! JVS(887) = Jac_FULL(129,138) JVS(887) = 0.5*B(780) IF (DO_JVS(888)) & ! JVS(888) = Jac_FULL(129,191) JVS(888) = 0.2*B(733) IF (DO_JVS(889)) & ! JVS(889) = Jac_FULL(129,275) JVS(889) = 0.75*B(776)+B(778)+B(881)+B(883) IF (DO_JVS(890)) & ! JVS(890) = Jac_FULL(129,324) JVS(890) = B(884) IF (DO_JVS(891)) & ! JVS(891) = Jac_FULL(129,328) JVS(891) = B(882) IF (DO_JVS(892)) & ! JVS(892) = Jac_FULL(129,337) JVS(892) = 0 IF (DO_JVS(893)) & ! JVS(893) = Jac_FULL(129,341) JVS(893) = 0.2*B(734) IF (DO_JVS(894)) & ! JVS(894) = Jac_FULL(129,345) JVS(894) = 0.5*B(781)-B(785) IF (DO_JVS(895)) & ! JVS(895) = Jac_FULL(129,346) JVS(895) = 0.75*B(777) IF (DO_JVS(896)) & ! JVS(896) = Jac_FULL(129,351) JVS(896) = B(779) IF (DO_JVS(897)) & ! JVS(897) = Jac_FULL(130,130) JVS(897) = -B(849)-B(1815) IF (DO_JVS(898)) & ! JVS(898) = Jac_FULL(130,274) JVS(898) = 0.15*B(838)+0.25*B(897) IF (DO_JVS(899)) & ! JVS(899) = Jac_FULL(130,328) JVS(899) = 0.25*B(898) IF (DO_JVS(900)) & ! JVS(900) = Jac_FULL(130,337) JVS(900) = 0.15*B(839) IF (DO_JVS(901)) & ! JVS(901) = Jac_FULL(130,345) JVS(901) = -B(850) IF (DO_JVS(902)) & ! JVS(902) = Jac_FULL(131,131) JVS(902) = -B(1262) IF (DO_JVS(903)) & ! JVS(903) = Jac_FULL(131,258) JVS(903) = 0.35*B(1306)+0.35*B(1792) IF (DO_JVS(904)) & ! JVS(904) = Jac_FULL(131,286) JVS(904) = B(1063)+0.13*B(1064)+0.2*B(1066) IF (DO_JVS(905)) & ! JVS(905) = Jac_FULL(131,337) JVS(905) = 0.13*B(1065) IF (DO_JVS(906)) & ! JVS(906) = Jac_FULL(131,345) JVS(906) = -B(1263)+0.35*B(1307) IF (DO_JVS(907)) & ! JVS(907) = Jac_FULL(131,346) JVS(907) = 0.2*B(1067) IF (DO_JVS(908)) & ! JVS(908) = Jac_FULL(132,132) JVS(908) = -B(156)-B(158) IF (DO_JVS(909)) & ! JVS(909) = Jac_FULL(132,233) JVS(909) = 0.255*B(154) IF (DO_JVS(910)) & ! JVS(910) = Jac_FULL(132,337) JVS(910) = -B(159) IF (DO_JVS(911)) & ! JVS(911) = Jac_FULL(132,345) JVS(911) = 0.255*B(155) IF (DO_JVS(912)) & ! JVS(912) = Jac_FULL(132,346) JVS(912) = -B(157) IF (DO_JVS(913)) & ! JVS(913) = Jac_FULL(133,133) JVS(913) = -B(1085)-B(1087) IF (DO_JVS(914)) & ! JVS(914) = Jac_FULL(133,230) JVS(914) = 0.315*B(1001) IF (DO_JVS(915)) & ! JVS(915) = Jac_FULL(133,337) JVS(915) = -B(1088) IF (DO_JVS(916)) & ! JVS(916) = Jac_FULL(133,345) JVS(916) = 0.315*B(1002) IF (DO_JVS(917)) & ! JVS(917) = Jac_FULL(133,346) JVS(917) = -B(1086) IF (DO_JVS(918)) & ! JVS(918) = Jac_FULL(134,89) JVS(918) = 2*B(23) IF (DO_JVS(919)) & ! JVS(919) = Jac_FULL(134,134) JVS(919) = -B(1746) IF (DO_JVS(920)) & ! JVS(920) = Jac_FULL(134,179) JVS(920) = B(1) IF (DO_JVS(921)) & ! JVS(921) = Jac_FULL(134,241) JVS(921) = B(711) IF (DO_JVS(922)) & ! JVS(922) = Jac_FULL(134,264) JVS(922) = B(15) IF (DO_JVS(923)) & ! JVS(923) = Jac_FULL(134,312) JVS(923) = B(703) IF (DO_JVS(924)) & ! JVS(924) = Jac_FULL(134,316) JVS(924) = B(1561) IF (DO_JVS(925)) & ! JVS(925) = Jac_FULL(134,325) JVS(925) = 0 IF (DO_JVS(926)) & ! JVS(926) = Jac_FULL(134,333) JVS(926) = B(1547) IF (DO_JVS(927)) & ! JVS(927) = Jac_FULL(134,341) JVS(927) = B(2)+B(17) IF (DO_JVS(928)) & ! JVS(928) = Jac_FULL(134,345) JVS(928) = 2*B(24)+B(387) IF (DO_JVS(929)) & ! JVS(929) = Jac_FULL(134,348) JVS(929) = B(3)+B(16)+B(18)+B(19)+2*B(25)+B(388)+B(704)+B(712)+B(1548)+B(1562) IF (DO_JVS(930)) & ! JVS(930) = Jac_FULL(135,135) JVS(930) = -B(1089)-B(1091) IF (DO_JVS(931)) & ! JVS(931) = Jac_FULL(135,231) JVS(931) = 0.315*B(1003) IF (DO_JVS(932)) & ! JVS(932) = Jac_FULL(135,337) JVS(932) = -B(1092) IF (DO_JVS(933)) & ! JVS(933) = Jac_FULL(135,345) JVS(933) = 0.315*B(1004) IF (DO_JVS(934)) & ! JVS(934) = Jac_FULL(135,346) JVS(934) = -B(1090) IF (DO_JVS(935)) & ! JVS(935) = Jac_FULL(136,136) JVS(935) = -B(1377)-B(1379)-B(1801) IF (DO_JVS(936)) & ! JVS(936) = Jac_FULL(136,234) JVS(936) = B(1364)+0.2*B(1370) IF (DO_JVS(937)) & ! JVS(937) = Jac_FULL(136,328) JVS(937) = 0.2*B(1371) IF (DO_JVS(938)) & ! JVS(938) = Jac_FULL(136,337) JVS(938) = B(1365) IF (DO_JVS(939)) & ! JVS(939) = Jac_FULL(136,345) JVS(939) = -B(1378)-B(1380) IF (DO_JVS(940)) & ! JVS(940) = Jac_FULL(137,137) JVS(940) = -B(743) IF (DO_JVS(941)) & ! JVS(941) = Jac_FULL(137,277) JVS(941) = 0.25*B(737) IF (DO_JVS(942)) & ! JVS(942) = Jac_FULL(137,345) JVS(942) = -B(744) IF (DO_JVS(943)) & ! JVS(943) = Jac_FULL(137,346) JVS(943) = 0.25*B(738) IF (DO_JVS(944)) & ! JVS(944) = Jac_FULL(138,138) JVS(944) = -B(780) IF (DO_JVS(945)) & ! JVS(945) = Jac_FULL(138,275) JVS(945) = 0.25*B(776) IF (DO_JVS(946)) & ! JVS(946) = Jac_FULL(138,345) JVS(946) = -B(781) IF (DO_JVS(947)) & ! JVS(947) = Jac_FULL(138,346) JVS(947) = 0.25*B(777) IF (DO_JVS(948)) & ! JVS(948) = Jac_FULL(139,139) JVS(948) = -B(101)-B(102)-B(1658) IF (DO_JVS(949)) & ! JVS(949) = Jac_FULL(139,324) JVS(949) = B(99) IF (DO_JVS(950)) & ! JVS(950) = Jac_FULL(139,335) JVS(950) = B(100) IF (DO_JVS(951)) & ! JVS(951) = Jac_FULL(139,345) JVS(951) = -B(103) IF (DO_JVS(952)) & ! JVS(952) = Jac_FULL(140,140) JVS(952) = -B(142)-B(144)-B(146) IF (DO_JVS(953)) & ! JVS(953) = Jac_FULL(140,341) JVS(953) = -B(147) IF (DO_JVS(954)) & ! JVS(954) = Jac_FULL(140,345) JVS(954) = -B(143) IF (DO_JVS(955)) & ! JVS(955) = Jac_FULL(140,351) JVS(955) = -B(145) IF (DO_JVS(956)) & ! JVS(956) = Jac_FULL(141,141) JVS(956) = -B(114)-B(116)-B(421)-B(629)-B(631) IF (DO_JVS(957)) & ! JVS(957) = Jac_FULL(141,340) JVS(957) = -B(630)-B(632) IF (DO_JVS(958)) & ! JVS(958) = Jac_FULL(141,342) JVS(958) = -B(422) IF (DO_JVS(959)) & ! JVS(959) = Jac_FULL(141,345) JVS(959) = -B(115)-B(117) IF (DO_JVS(960)) & ! JVS(960) = Jac_FULL(142,142) JVS(960) = -B(169)-B(193)-B(637) IF (DO_JVS(961)) & ! JVS(961) = Jac_FULL(142,340) JVS(961) = -B(638) IF (DO_JVS(962)) & ! JVS(962) = Jac_FULL(142,345) JVS(962) = -B(170) IF (DO_JVS(963)) & ! JVS(963) = Jac_FULL(142,351) JVS(963) = -B(194) IF (DO_JVS(964)) & ! JVS(964) = Jac_FULL(143,143) JVS(964) = -B(1381) IF (DO_JVS(965)) & ! JVS(965) = Jac_FULL(143,220) JVS(965) = 0.1*B(1342) IF (DO_JVS(966)) & ! JVS(966) = Jac_FULL(143,341) JVS(966) = 0.1*B(1343) IF (DO_JVS(967)) & ! JVS(967) = Jac_FULL(143,345) JVS(967) = -B(1382) IF (DO_JVS(968)) & ! JVS(968) = Jac_FULL(144,144) JVS(968) = -B(1007)-B(1782) IF (DO_JVS(969)) & ! JVS(969) = Jac_FULL(144,199) JVS(969) = 0.009*B(1029) IF (DO_JVS(970)) & ! JVS(970) = Jac_FULL(144,276) JVS(970) = 0.15*B(955) IF (DO_JVS(971)) & ! JVS(971) = Jac_FULL(144,304) JVS(971) = 0.15*B(968) IF (DO_JVS(972)) & ! JVS(972) = Jac_FULL(144,345) JVS(972) = 0.15*B(956)-B(1008)+0.009*B(1030) IF (DO_JVS(973)) & ! JVS(973) = Jac_FULL(145,145) JVS(973) = -B(1177)-B(1179) IF (DO_JVS(974)) & ! JVS(974) = Jac_FULL(145,186) JVS(974) = 0.841*B(1788) IF (DO_JVS(975)) & ! JVS(975) = Jac_FULL(145,299) JVS(975) = 0.222*B(1791) IF (DO_JVS(976)) & ! JVS(976) = Jac_FULL(145,310) JVS(976) = 0.474*B(1154) IF (DO_JVS(977)) & ! JVS(977) = Jac_FULL(145,311) JVS(977) = 0.474*B(1155)+0.34*B(1156)+0.244*B(1157)+0.841*B(1163)+0.841*B(1167)+0.841*B(1173) IF (DO_JVS(978)) & ! JVS(978) = Jac_FULL(145,324) JVS(978) = 0.841*B(1164) IF (DO_JVS(979)) & ! JVS(979) = Jac_FULL(145,328) JVS(979) = 0.244*B(1158) IF (DO_JVS(980)) & ! JVS(980) = Jac_FULL(145,346) JVS(980) = 0.841*B(1174) IF (DO_JVS(981)) & ! JVS(981) = Jac_FULL(145,351) JVS(981) = 0.841*B(1168) IF (DO_JVS(982)) & ! JVS(982) = Jac_FULL(146,121) JVS(982) = B(1399)+B(1401) IF (DO_JVS(983)) & ! JVS(983) = Jac_FULL(146,146) JVS(983) = -B(1403)-B(1661) IF (DO_JVS(984)) & ! JVS(984) = Jac_FULL(146,200) JVS(984) = 0 IF (DO_JVS(985)) & ! JVS(985) = Jac_FULL(146,337) JVS(985) = B(1402) IF (DO_JVS(986)) & ! JVS(986) = Jac_FULL(146,345) JVS(986) = -B(1404) IF (DO_JVS(987)) & ! JVS(987) = Jac_FULL(146,346) JVS(987) = B(1400) IF (DO_JVS(988)) & ! JVS(988) = Jac_FULL(147,147) JVS(988) = -B(1308)-B(1796) IF (DO_JVS(989)) & ! JVS(989) = Jac_FULL(147,285) JVS(989) = B(1070) IF (DO_JVS(990)) & ! JVS(990) = Jac_FULL(147,286) JVS(990) = B(1062) IF (DO_JVS(991)) & ! JVS(991) = Jac_FULL(147,345) JVS(991) = -B(1309) IF (DO_JVS(992)) & ! JVS(992) = Jac_FULL(148,148) JVS(992) = -B(403)-B(1690) IF (DO_JVS(993)) & ! JVS(993) = Jac_FULL(148,218) JVS(993) = B(401) IF (DO_JVS(994)) & ! JVS(994) = Jac_FULL(148,316) JVS(994) = B(1549)+B(1557)+B(1559) IF (DO_JVS(995)) & ! JVS(995) = Jac_FULL(148,342) JVS(995) = B(402) IF (DO_JVS(996)) & ! JVS(996) = Jac_FULL(148,345) JVS(996) = -B(404) IF (DO_JVS(997)) & ! JVS(997) = Jac_FULL(148,347) JVS(997) = B(398) IF (DO_JVS(998)) & ! JVS(998) = Jac_FULL(148,349) JVS(998) = B(1558) IF (DO_JVS(999)) & ! JVS(999) = Jac_FULL(148,350) JVS(999) = B(1560) IF (DO_JVS(1000)) & ! JVS(1000) = Jac_FULL(148,352) JVS(1000) = B(1550) IF (DO_JVS(1001)) & ! JVS(1001) = Jac_FULL(149,149) JVS(1001) = -B(1344)-B(1346) IF (DO_JVS(1002)) & ! JVS(1002) = Jac_FULL(149,345) JVS(1002) = -B(1345) IF (DO_JVS(1003)) & ! JVS(1003) = Jac_FULL(149,351) JVS(1003) = -B(1347) IF (DO_JVS(1004)) & ! JVS(1004) = Jac_FULL(150,150) JVS(1004) = -B(1005)-B(1781) IF (DO_JVS(1005)) & ! JVS(1005) = Jac_FULL(150,209) JVS(1005) = 0.009*B(1027) IF (DO_JVS(1006)) & ! JVS(1006) = Jac_FULL(150,276) JVS(1006) = 0.15*B(953) IF (DO_JVS(1007)) & ! JVS(1007) = Jac_FULL(150,305) JVS(1007) = 0.15*B(966) IF (DO_JVS(1008)) & ! JVS(1008) = Jac_FULL(150,345) JVS(1008) = 0.15*B(954)-B(1006)+0.009*B(1028) IF (DO_JVS(1009)) & ! JVS(1009) = Jac_FULL(151,151) JVS(1009) = -B(1054)-B(1056)-B(1617) IF (DO_JVS(1010)) & ! JVS(1010) = Jac_FULL(151,168) JVS(1010) = 0.67*B(1099) IF (DO_JVS(1011)) & ! JVS(1011) = Jac_FULL(151,175) JVS(1011) = 0.67*B(1095) IF (DO_JVS(1012)) & ! JVS(1012) = Jac_FULL(151,187) JVS(1012) = 0.67*B(1017) IF (DO_JVS(1013)) & ! JVS(1013) = Jac_FULL(151,192) JVS(1013) = 0.68*B(1021) IF (DO_JVS(1014)) & ! JVS(1014) = Jac_FULL(151,345) JVS(1014) = 0.67*B(1018)+0.68*B(1022)-B(1055)-B(1057)+0.67*B(1096)+0.67*B(1100) IF (DO_JVS(1015)) & ! JVS(1015) = Jac_FULL(152,152) JVS(1015) = -B(1058)-B(1060)-B(1618) IF (DO_JVS(1016)) & ! JVS(1016) = Jac_FULL(152,168) JVS(1016) = 0.33*B(1099) IF (DO_JVS(1017)) & ! JVS(1017) = Jac_FULL(152,175) JVS(1017) = 0.33*B(1095) IF (DO_JVS(1018)) & ! JVS(1018) = Jac_FULL(152,187) JVS(1018) = 0.33*B(1017) IF (DO_JVS(1019)) & ! JVS(1019) = Jac_FULL(152,192) JVS(1019) = 0.32*B(1021) IF (DO_JVS(1020)) & ! JVS(1020) = Jac_FULL(152,345) JVS(1020) = 0.33*B(1018)+0.32*B(1022)-B(1059)-B(1061)+0.33*B(1096)+0.33*B(1100) IF (DO_JVS(1021)) & ! JVS(1021) = Jac_FULL(153,153) JVS(1021) = -B(1268) IF (DO_JVS(1022)) & ! JVS(1022) = Jac_FULL(153,258) JVS(1022) = 0.15*B(1306)+0.15*B(1792)+0.163*B(1793) IF (DO_JVS(1023)) & ! JVS(1023) = Jac_FULL(153,285) JVS(1023) = B(1071)+0.2*B(1072)+0.13*B(1076) IF (DO_JVS(1024)) & ! JVS(1024) = Jac_FULL(153,337) JVS(1024) = 0.13*B(1077) IF (DO_JVS(1025)) & ! JVS(1025) = Jac_FULL(153,345) JVS(1025) = -B(1269)+0.15*B(1307) IF (DO_JVS(1026)) & ! JVS(1026) = Jac_FULL(153,346) JVS(1026) = 0.2*B(1073) IF (DO_JVS(1027)) & ! JVS(1027) = Jac_FULL(154,154) JVS(1027) = -B(937)-B(1625)-B(1752) IF (DO_JVS(1028)) & ! JVS(1028) = Jac_FULL(154,242) JVS(1028) = B(927)+B(929)+B(931) IF (DO_JVS(1029)) & ! JVS(1029) = Jac_FULL(154,256) JVS(1029) = B(925)+B(933) IF (DO_JVS(1030)) & ! JVS(1030) = Jac_FULL(154,341) JVS(1030) = B(930) IF (DO_JVS(1031)) & ! JVS(1031) = Jac_FULL(154,345) JVS(1031) = B(926)+B(928)-B(938) IF (DO_JVS(1032)) & ! JVS(1032) = Jac_FULL(154,351) JVS(1032) = B(932)+B(934) IF (DO_JVS(1033)) & ! JVS(1033) = Jac_FULL(155,155) JVS(1033) = -B(336)-B(1684) IF (DO_JVS(1034)) & ! JVS(1034) = Jac_FULL(155,240) JVS(1034) = 0.41*B(1407) IF (DO_JVS(1035)) & ! JVS(1035) = Jac_FULL(155,246) JVS(1035) = 0.41*B(245) IF (DO_JVS(1036)) & ! JVS(1036) = Jac_FULL(155,322) JVS(1036) = 0.41*B(283) IF (DO_JVS(1037)) & ! JVS(1037) = Jac_FULL(155,337) JVS(1037) = 0.41*B(246)+0.41*B(284)+0.41*B(1408) IF (DO_JVS(1038)) & ! JVS(1038) = Jac_FULL(155,345) JVS(1038) = -B(337) IF (DO_JVS(1039)) & ! JVS(1039) = Jac_FULL(156,156) JVS(1039) = -B(269)-B(625) IF (DO_JVS(1040)) & ! JVS(1040) = Jac_FULL(156,296) JVS(1040) = 0.25*B(247)+0.4*B(273) IF (DO_JVS(1041)) & ! JVS(1041) = Jac_FULL(156,315) JVS(1041) = 0.25*B(249)+0.4*B(274) IF (DO_JVS(1042)) & ! JVS(1042) = Jac_FULL(156,328) JVS(1042) = 0.25*B(248)+0.25*B(250) IF (DO_JVS(1043)) & ! JVS(1043) = Jac_FULL(156,340) JVS(1043) = -B(626) IF (DO_JVS(1044)) & ! JVS(1044) = Jac_FULL(156,345) JVS(1044) = -B(270) IF (DO_JVS(1045)) & ! JVS(1045) = Jac_FULL(157,157) JVS(1045) = -B(1701) IF (DO_JVS(1046)) & ! JVS(1046) = Jac_FULL(157,218) JVS(1046) = B(1511) IF (DO_JVS(1047)) & ! JVS(1047) = Jac_FULL(157,297) JVS(1047) = B(1533)+B(1535)+B(1537) IF (DO_JVS(1048)) & ! JVS(1048) = Jac_FULL(157,316) JVS(1048) = B(1551)+B(1553)+B(1555) IF (DO_JVS(1049)) & ! JVS(1049) = Jac_FULL(157,317) JVS(1049) = B(1517)+B(1519)+B(1521) IF (DO_JVS(1050)) & ! JVS(1050) = Jac_FULL(157,333) JVS(1050) = B(1541) IF (DO_JVS(1051)) & ! JVS(1051) = Jac_FULL(157,338) JVS(1051) = B(599) IF (DO_JVS(1052)) & ! JVS(1052) = Jac_FULL(157,339) JVS(1052) = B(1512)+B(1552) IF (DO_JVS(1053)) & ! JVS(1053) = Jac_FULL(157,344) JVS(1053) = B(1556) IF (DO_JVS(1054)) & ! JVS(1054) = Jac_FULL(157,347) JVS(1054) = B(600) IF (DO_JVS(1055)) & ! JVS(1055) = Jac_FULL(157,349) JVS(1055) = B(1520)+B(1534) IF (DO_JVS(1056)) & ! JVS(1056) = Jac_FULL(157,350) JVS(1056) = B(1522)+B(1536) IF (DO_JVS(1057)) & ! JVS(1057) = Jac_FULL(157,352) JVS(1057) = B(1518)+B(1538)+B(1542) IF (DO_JVS(1058)) & ! JVS(1058) = Jac_FULL(157,353) JVS(1058) = B(1554) IF (DO_JVS(1059)) & ! JVS(1059) = Jac_FULL(158,82) JVS(1059) = 0.19*B(1383) IF (DO_JVS(1060)) & ! JVS(1060) = Jac_FULL(158,101) JVS(1060) = 0.15*B(1385) IF (DO_JVS(1061)) & ! JVS(1061) = Jac_FULL(158,149) JVS(1061) = 0.18*B(1344) IF (DO_JVS(1062)) & ! JVS(1062) = Jac_FULL(158,158) JVS(1062) = -B(1418)-B(1420) IF (DO_JVS(1063)) & ! JVS(1063) = Jac_FULL(158,200) JVS(1063) = 0.03*B(1348) IF (DO_JVS(1064)) & ! JVS(1064) = Jac_FULL(158,345) JVS(1064) = 0.18*B(1345)+0.03*B(1349)+0.19*B(1384)+0.15*B(1386)-B(1419) IF (DO_JVS(1065)) & ! JVS(1065) = Jac_FULL(158,351) JVS(1065) = -B(1421) IF (DO_JVS(1066)) & ! JVS(1066) = Jac_FULL(159,159) JVS(1066) = -B(1280)-0.75*B(1771) IF (DO_JVS(1067)) & ! JVS(1067) = Jac_FULL(159,259) JVS(1067) = 0.5*B(1278) IF (DO_JVS(1068)) & ! JVS(1068) = Jac_FULL(159,337) JVS(1068) = 0.5*B(1279) IF (DO_JVS(1069)) & ! JVS(1069) = Jac_FULL(159,345) JVS(1069) = -B(1281) IF (DO_JVS(1070)) & ! JVS(1070) = Jac_FULL(160,160) JVS(1070) = -B(770)-B(1811) IF (DO_JVS(1071)) & ! JVS(1071) = Jac_FULL(160,278) JVS(1071) = B(762)+0.25*B(768) IF (DO_JVS(1072)) & ! JVS(1072) = Jac_FULL(160,328) JVS(1072) = 0.25*B(769) IF (DO_JVS(1073)) & ! JVS(1073) = Jac_FULL(160,337) JVS(1073) = B(763) IF (DO_JVS(1074)) & ! JVS(1074) = Jac_FULL(160,345) JVS(1074) = -B(771) IF (DO_JVS(1075)) & ! JVS(1075) = Jac_FULL(161,161) JVS(1075) = -B(796)-B(1813) IF (DO_JVS(1076)) & ! JVS(1076) = Jac_FULL(161,273) JVS(1076) = B(786)+0.25*B(792) IF (DO_JVS(1077)) & ! JVS(1077) = Jac_FULL(161,328) JVS(1077) = 0.25*B(793) IF (DO_JVS(1078)) & ! JVS(1078) = Jac_FULL(161,337) JVS(1078) = B(787) IF (DO_JVS(1079)) & ! JVS(1079) = Jac_FULL(161,345) JVS(1079) = -B(797) IF (DO_JVS(1080)) & ! JVS(1080) = Jac_FULL(162,138) JVS(1080) = 0.5*B(780) IF (DO_JVS(1081)) & ! JVS(1081) = Jac_FULL(162,162) JVS(1081) = -B(798) IF (DO_JVS(1082)) & ! JVS(1082) = Jac_FULL(162,273) JVS(1082) = B(788) IF (DO_JVS(1083)) & ! JVS(1083) = Jac_FULL(162,275) JVS(1083) = 0 IF (DO_JVS(1084)) & ! JVS(1084) = Jac_FULL(162,345) JVS(1084) = 0.5*B(781)-B(799) IF (DO_JVS(1085)) & ! JVS(1085) = Jac_FULL(162,346) JVS(1085) = B(789) IF (DO_JVS(1086)) & ! JVS(1086) = Jac_FULL(163,163) JVS(1086) = -B(832)-B(834) IF (DO_JVS(1087)) & ! JVS(1087) = Jac_FULL(163,255) JVS(1087) = 0.3*B(808) IF (DO_JVS(1088)) & ! JVS(1088) = Jac_FULL(163,272) JVS(1088) = 0.84*B(824)+B(828)+0.75*B(830) IF (DO_JVS(1089)) & ! JVS(1089) = Jac_FULL(163,328) JVS(1089) = 0.75*B(831) IF (DO_JVS(1090)) & ! JVS(1090) = Jac_FULL(163,341) JVS(1090) = 0.3*B(809) IF (DO_JVS(1091)) & ! JVS(1091) = Jac_FULL(163,345) JVS(1091) = -B(833) IF (DO_JVS(1092)) & ! JVS(1092) = Jac_FULL(163,346) JVS(1092) = 0.84*B(825) IF (DO_JVS(1093)) & ! JVS(1093) = Jac_FULL(163,351) JVS(1093) = B(829)-B(835) IF (DO_JVS(1094)) & ! JVS(1094) = Jac_FULL(164,164) JVS(1094) = -B(59)-B(615)-B(1646) IF (DO_JVS(1095)) & ! JVS(1095) = Jac_FULL(164,328) JVS(1095) = B(53) IF (DO_JVS(1096)) & ! JVS(1096) = Jac_FULL(164,337) JVS(1096) = B(54) IF (DO_JVS(1097)) & ! JVS(1097) = Jac_FULL(164,340) JVS(1097) = -B(616) IF (DO_JVS(1098)) & ! JVS(1098) = Jac_FULL(164,345) JVS(1098) = -B(60) IF (DO_JVS(1099)) & ! JVS(1099) = Jac_FULL(165,165) JVS(1099) = -B(138)-B(140) IF (DO_JVS(1100)) & ! JVS(1100) = Jac_FULL(165,196) JVS(1100) = B(136) IF (DO_JVS(1101)) & ! JVS(1101) = Jac_FULL(165,337) JVS(1101) = -B(141) IF (DO_JVS(1102)) & ! JVS(1102) = Jac_FULL(165,345) JVS(1102) = B(137) IF (DO_JVS(1103)) & ! JVS(1103) = Jac_FULL(165,346) JVS(1103) = -B(139) IF (DO_JVS(1104)) & ! JVS(1104) = Jac_FULL(166,166) JVS(1104) = -2*B(8)-B(11)-B(13) IF (DO_JVS(1105)) & ! JVS(1105) = Jac_FULL(166,327) JVS(1105) = -B(14) IF (DO_JVS(1106)) & ! JVS(1106) = Jac_FULL(166,339) JVS(1106) = -B(12) IF (DO_JVS(1107)) & ! JVS(1107) = Jac_FULL(166,341) JVS(1107) = -2*B(9) IF (DO_JVS(1108)) & ! JVS(1108) = Jac_FULL(166,348) JVS(1108) = -2*B(10) IF (DO_JVS(1109)) & ! JVS(1109) = Jac_FULL(167,167) JVS(1109) = -B(721)-B(723)-B(725) IF (DO_JVS(1110)) & ! JVS(1110) = Jac_FULL(167,341) JVS(1110) = -B(726) IF (DO_JVS(1111)) & ! JVS(1111) = Jac_FULL(167,345) JVS(1111) = -B(724) IF (DO_JVS(1112)) & ! JVS(1112) = Jac_FULL(167,351) JVS(1112) = -B(722) IF (DO_JVS(1113)) & ! JVS(1113) = Jac_FULL(168,168) JVS(1113) = -B(1097)-B(1099)-B(1630)-B(1785) IF (DO_JVS(1114)) & ! JVS(1114) = Jac_FULL(168,304) JVS(1114) = B(993) IF (DO_JVS(1115)) & ! JVS(1115) = Jac_FULL(168,345) JVS(1115) = -B(1098)-B(1100) IF (DO_JVS(1116)) & ! JVS(1116) = Jac_FULL(168,346) JVS(1116) = B(994) IF (DO_JVS(1117)) & ! JVS(1117) = Jac_FULL(169,169) JVS(1117) = -B(847)-B(1814) IF (DO_JVS(1118)) & ! JVS(1118) = Jac_FULL(169,272) JVS(1118) = B(826)+0.25*B(830) IF (DO_JVS(1119)) & ! JVS(1119) = Jac_FULL(169,274) JVS(1119) = 0.41*B(838) IF (DO_JVS(1120)) & ! JVS(1120) = Jac_FULL(169,328) JVS(1120) = 0.25*B(831) IF (DO_JVS(1121)) & ! JVS(1121) = Jac_FULL(169,337) JVS(1121) = B(827)+0.41*B(839) IF (DO_JVS(1122)) & ! JVS(1122) = Jac_FULL(169,345) JVS(1122) = -B(848) IF (DO_JVS(1123)) & ! JVS(1123) = Jac_FULL(170,62) JVS(1123) = B(645) IF (DO_JVS(1124)) & ! JVS(1124) = Jac_FULL(170,170) JVS(1124) = -B(650)-B(673)-B(1725) IF (DO_JVS(1125)) & ! JVS(1125) = Jac_FULL(170,252) JVS(1125) = B(649) IF (DO_JVS(1126)) & ! JVS(1126) = Jac_FULL(170,331) JVS(1126) = B(655) IF (DO_JVS(1127)) & ! JVS(1127) = Jac_FULL(170,332) JVS(1127) = B(656) IF (DO_JVS(1128)) & ! JVS(1128) = Jac_FULL(170,345) JVS(1128) = -B(674) IF (DO_JVS(1129)) & ! JVS(1129) = Jac_FULL(170,346) JVS(1129) = 0 IF (DO_JVS(1130)) & ! JVS(1130) = Jac_FULL(170,351) JVS(1130) = -B(651) IF (DO_JVS(1131)) & ! JVS(1131) = Jac_FULL(171,171) JVS(1131) = -B(1246)-B(1248)-B(1250) IF (DO_JVS(1132)) & ! JVS(1132) = Jac_FULL(171,230) JVS(1132) = 0.224*B(1779) IF (DO_JVS(1133)) & ! JVS(1133) = Jac_FULL(171,301) JVS(1133) = 0.068*B(1790) IF (DO_JVS(1134)) & ! JVS(1134) = Jac_FULL(171,335) JVS(1134) = -B(1251) IF (DO_JVS(1135)) & ! JVS(1135) = Jac_FULL(171,337) JVS(1135) = -B(1249) IF (DO_JVS(1136)) & ! JVS(1136) = Jac_FULL(171,346) JVS(1136) = -B(1247) IF (DO_JVS(1137)) & ! JVS(1137) = Jac_FULL(172,172) JVS(1137) = -B(1252)-B(1254)-B(1256) IF (DO_JVS(1138)) & ! JVS(1138) = Jac_FULL(172,231) JVS(1138) = 0.182*B(1780) IF (DO_JVS(1139)) & ! JVS(1139) = Jac_FULL(172,301) JVS(1139) = 0.128*B(1790) IF (DO_JVS(1140)) & ! JVS(1140) = Jac_FULL(172,335) JVS(1140) = -B(1257) IF (DO_JVS(1141)) & ! JVS(1141) = Jac_FULL(172,337) JVS(1141) = -B(1255) IF (DO_JVS(1142)) & ! JVS(1142) = Jac_FULL(172,346) JVS(1142) = -B(1253) IF (DO_JVS(1143)) & ! JVS(1143) = Jac_FULL(173,101) JVS(1143) = 0.45*B(1385) IF (DO_JVS(1144)) & ! JVS(1144) = Jac_FULL(173,173) JVS(1144) = -B(1336) IF (DO_JVS(1145)) & ! JVS(1145) = Jac_FULL(173,200) JVS(1145) = 0.5*B(1348) IF (DO_JVS(1146)) & ! JVS(1146) = Jac_FULL(173,201) JVS(1146) = 0.52*B(1470) IF (DO_JVS(1147)) & ! JVS(1147) = Jac_FULL(173,221) JVS(1147) = 0.43*B(1465) IF (DO_JVS(1148)) & ! JVS(1148) = Jac_FULL(173,240) JVS(1148) = 0.15*B(1407) IF (DO_JVS(1149)) & ! JVS(1149) = Jac_FULL(173,246) JVS(1149) = 0.15*B(245) IF (DO_JVS(1150)) & ! JVS(1150) = Jac_FULL(173,289) JVS(1150) = 0.5*B(915) IF (DO_JVS(1151)) & ! JVS(1151) = Jac_FULL(173,322) JVS(1151) = 0.15*B(283) IF (DO_JVS(1152)) & ! JVS(1152) = Jac_FULL(173,324) JVS(1152) = 0.5*B(916) IF (DO_JVS(1153)) & ! JVS(1153) = Jac_FULL(173,337) JVS(1153) = 0.15*B(246)+0.15*B(284)+0.15*B(1408) IF (DO_JVS(1154)) & ! JVS(1154) = Jac_FULL(173,345) JVS(1154) = -B(1337)+0.5*B(1349)+0.45*B(1386)+0.43*B(1466)+0.52*B(1471) IF (DO_JVS(1155)) & ! JVS(1155) = Jac_FULL(174,174) JVS(1155) = -B(1310)-B(1794) IF (DO_JVS(1156)) & ! JVS(1156) = Jac_FULL(174,223) JVS(1156) = 0.725*B(1036) IF (DO_JVS(1157)) & ! JVS(1157) = Jac_FULL(174,224) JVS(1157) = 0.725*B(1043) IF (DO_JVS(1158)) & ! JVS(1158) = Jac_FULL(174,232) JVS(1158) = 0.35*B(1050) IF (DO_JVS(1159)) & ! JVS(1159) = Jac_FULL(174,337) JVS(1159) = 0.725*B(1037)+0.725*B(1044)+0.35*B(1051) IF (DO_JVS(1160)) & ! JVS(1160) = Jac_FULL(174,345) JVS(1160) = -B(1311) IF (DO_JVS(1161)) & ! JVS(1161) = Jac_FULL(175,175) JVS(1161) = -B(1093)-B(1095)-B(1629)-B(1784) IF (DO_JVS(1162)) & ! JVS(1162) = Jac_FULL(175,305) JVS(1162) = B(985) IF (DO_JVS(1163)) & ! JVS(1163) = Jac_FULL(175,345) JVS(1163) = -B(1094)-B(1096) IF (DO_JVS(1164)) & ! JVS(1164) = Jac_FULL(175,346) JVS(1164) = B(986) IF (DO_JVS(1165)) & ! JVS(1165) = Jac_FULL(176,137) JVS(1165) = 0.5*B(743) IF (DO_JVS(1166)) & ! JVS(1166) = Jac_FULL(176,176) JVS(1166) = -B(772) IF (DO_JVS(1167)) & ! JVS(1167) = Jac_FULL(176,277) JVS(1167) = 0 IF (DO_JVS(1168)) & ! JVS(1168) = Jac_FULL(176,278) JVS(1168) = 0.16*B(764) IF (DO_JVS(1169)) & ! JVS(1169) = Jac_FULL(176,345) JVS(1169) = 0.5*B(744)-B(773) IF (DO_JVS(1170)) & ! JVS(1170) = Jac_FULL(176,346) JVS(1170) = 0.16*B(765) IF (DO_JVS(1171)) & ! JVS(1171) = Jac_FULL(177,177) JVS(1171) = -B(836) IF (DO_JVS(1172)) & ! JVS(1172) = Jac_FULL(177,211) JVS(1172) = 0.5*B(818)+0.5*B(820)+B(822) IF (DO_JVS(1173)) & ! JVS(1173) = Jac_FULL(177,237) JVS(1173) = B(816) IF (DO_JVS(1174)) & ! JVS(1174) = Jac_FULL(177,255) JVS(1174) = B(810) IF (DO_JVS(1175)) & ! JVS(1175) = Jac_FULL(177,272) JVS(1175) = 0.16*B(824) IF (DO_JVS(1176)) & ! JVS(1176) = Jac_FULL(177,341) JVS(1176) = 0.5*B(821) IF (DO_JVS(1177)) & ! JVS(1177) = Jac_FULL(177,345) JVS(1177) = 0.5*B(819)-B(837) IF (DO_JVS(1178)) & ! JVS(1178) = Jac_FULL(177,346) JVS(1178) = 0.16*B(825) IF (DO_JVS(1179)) & ! JVS(1179) = Jac_FULL(177,351) JVS(1179) = B(811)+B(817)+B(823) IF (DO_JVS(1180)) & ! JVS(1180) = Jac_FULL(178,69) JVS(1180) = B(124)+B(126) IF (DO_JVS(1181)) & ! JVS(1181) = Jac_FULL(178,98) JVS(1181) = 0.5*B(134) IF (DO_JVS(1182)) & ! JVS(1182) = Jac_FULL(178,178) JVS(1182) = -B(128)-B(130)-B(132) IF (DO_JVS(1183)) & ! JVS(1183) = Jac_FULL(178,337) JVS(1183) = -B(133) IF (DO_JVS(1184)) & ! JVS(1184) = Jac_FULL(178,345) JVS(1184) = B(125)+0.5*B(135) IF (DO_JVS(1185)) & ! JVS(1185) = Jac_FULL(178,346) JVS(1185) = -B(129)-B(131) IF (DO_JVS(1186)) & ! JVS(1186) = Jac_FULL(178,351) JVS(1186) = B(127) IF (DO_JVS(1187)) & ! JVS(1187) = Jac_FULL(179,179) JVS(1187) = -2*B(1)-B(4)-B(6) IF (DO_JVS(1188)) & ! JVS(1188) = Jac_FULL(179,327) JVS(1188) = -B(7) IF (DO_JVS(1189)) & ! JVS(1189) = Jac_FULL(179,339) JVS(1189) = -B(5) IF (DO_JVS(1190)) & ! JVS(1190) = Jac_FULL(179,341) JVS(1190) = -2*B(2) IF (DO_JVS(1191)) & ! JVS(1191) = Jac_FULL(179,348) JVS(1191) = -2*B(3) IF (DO_JVS(1192)) & ! JVS(1192) = Jac_FULL(180,180) JVS(1192) = -B(1220)-B(1222) IF (DO_JVS(1193)) & ! JVS(1193) = Jac_FULL(180,299) JVS(1193) = 0.435*B(1218) IF (DO_JVS(1194)) & ! JVS(1194) = Jac_FULL(180,337) JVS(1194) = -B(1223) IF (DO_JVS(1195)) & ! JVS(1195) = Jac_FULL(180,345) JVS(1195) = 0.435*B(1219) IF (DO_JVS(1196)) & ! JVS(1196) = Jac_FULL(180,346) JVS(1196) = -B(1221) IF (DO_JVS(1197)) & ! JVS(1197) = Jac_FULL(181,181) JVS(1197) = -0.9*B(495)-B(547)-B(605)-B(1699) IF (DO_JVS(1198)) & ! JVS(1198) = Jac_FULL(181,334) JVS(1198) = -0.9*B(496) IF (DO_JVS(1199)) & ! JVS(1199) = Jac_FULL(181,340) JVS(1199) = -B(606) IF (DO_JVS(1200)) & ! JVS(1200) = Jac_FULL(181,345) JVS(1200) = -B(548) IF (DO_JVS(1201)) & ! JVS(1201) = Jac_FULL(182,182) JVS(1201) = -0.33*B(1214)-0.33*B(1216) IF (DO_JVS(1202)) & ! JVS(1202) = Jac_FULL(182,301) JVS(1202) = 0.461*B(1212) IF (DO_JVS(1203)) & ! JVS(1203) = Jac_FULL(182,303) JVS(1203) = 0.041*B(1316) IF (DO_JVS(1204)) & ! JVS(1204) = Jac_FULL(182,337) JVS(1204) = -0.33*B(1217) IF (DO_JVS(1205)) & ! JVS(1205) = Jac_FULL(182,345) JVS(1205) = 0.461*B(1213)+0.041*B(1317) IF (DO_JVS(1206)) & ! JVS(1206) = Jac_FULL(182,346) JVS(1206) = -0.33*B(1215) IF (DO_JVS(1207)) & ! JVS(1207) = Jac_FULL(183,183) JVS(1207) = -B(106)-B(344)-B(419)-B(617) IF (DO_JVS(1208)) & ! JVS(1208) = Jac_FULL(183,340) JVS(1208) = -B(618) IF (DO_JVS(1209)) & ! JVS(1209) = Jac_FULL(183,342) JVS(1209) = -B(420) IF (DO_JVS(1210)) & ! JVS(1210) = Jac_FULL(183,345) JVS(1210) = -B(107) IF (DO_JVS(1211)) & ! JVS(1211) = Jac_FULL(183,351) JVS(1211) = -B(345) IF (DO_JVS(1212)) & ! JVS(1212) = Jac_FULL(184,184) JVS(1212) = -B(1301)-B(1302) IF (DO_JVS(1213)) & ! JVS(1213) = Jac_FULL(184,259) JVS(1213) = B(1289) IF (DO_JVS(1214)) & ! JVS(1214) = Jac_FULL(184,308) JVS(1214) = B(1295) IF (DO_JVS(1215)) & ! JVS(1215) = Jac_FULL(184,335) JVS(1215) = B(1290)+B(1296) IF (DO_JVS(1216)) & ! JVS(1216) = Jac_FULL(184,345) JVS(1216) = -B(1303) IF (DO_JVS(1217)) & ! JVS(1217) = Jac_FULL(185,119) JVS(1217) = B(1013) IF (DO_JVS(1218)) & ! JVS(1218) = Jac_FULL(185,147) JVS(1218) = 0.444*B(1308)+0.454*B(1796) IF (DO_JVS(1219)) & ! JVS(1219) = Jac_FULL(185,185) JVS(1219) = -B(1260)-B(1768) IF (DO_JVS(1220)) & ! JVS(1220) = Jac_FULL(185,230) JVS(1220) = 0.112*B(1779) IF (DO_JVS(1221)) & ! JVS(1221) = Jac_FULL(185,231) JVS(1221) = 0.182*B(1780) IF (DO_JVS(1222)) & ! JVS(1222) = Jac_FULL(185,285) JVS(1222) = 0 IF (DO_JVS(1223)) & ! JVS(1223) = Jac_FULL(185,286) JVS(1223) = 0 IF (DO_JVS(1224)) & ! JVS(1224) = Jac_FULL(185,301) JVS(1224) = 0.162*B(1790) IF (DO_JVS(1225)) & ! JVS(1225) = Jac_FULL(185,345) JVS(1225) = B(1014)-B(1261)+0.444*B(1309) IF (DO_JVS(1226)) & ! JVS(1226) = Jac_FULL(186,186) JVS(1226) = -B(1182)-B(1186)-B(1188)-B(1192)-B(1194)-B(1633)-B(1788)-B(1789) IF (DO_JVS(1227)) & ! JVS(1227) = Jac_FULL(186,311) JVS(1227) = B(1151) IF (DO_JVS(1228)) & ! JVS(1228) = Jac_FULL(186,337) JVS(1228) = B(1152) IF (DO_JVS(1229)) & ! JVS(1229) = Jac_FULL(186,345) JVS(1229) = -B(1183)-B(1187)-B(1189)-B(1193)-B(1195) IF (DO_JVS(1230)) & ! JVS(1230) = Jac_FULL(187,187) JVS(1230) = -B(1015)-B(1017)-B(1023)-B(1775) IF (DO_JVS(1231)) & ! JVS(1231) = Jac_FULL(187,305) JVS(1231) = 0.937*B(957) IF (DO_JVS(1232)) & ! JVS(1232) = Jac_FULL(187,337) JVS(1232) = 0.937*B(958) IF (DO_JVS(1233)) & ! JVS(1233) = Jac_FULL(187,345) JVS(1233) = -B(1016)-B(1018)-B(1024) IF (DO_JVS(1234)) & ! JVS(1234) = Jac_FULL(188,188) JVS(1234) = -B(271) IF (DO_JVS(1235)) & ! JVS(1235) = Jac_FULL(188,249) JVS(1235) = 0.375*B(259) IF (DO_JVS(1236)) & ! JVS(1236) = Jac_FULL(188,250) JVS(1236) = 0.25*B(267) IF (DO_JVS(1237)) & ! JVS(1237) = Jac_FULL(188,260) JVS(1237) = 0.25*B(216) IF (DO_JVS(1238)) & ! JVS(1238) = Jac_FULL(188,289) JVS(1238) = 0.25*B(911) IF (DO_JVS(1239)) & ! JVS(1239) = Jac_FULL(188,300) JVS(1239) = 0.38*B(257) IF (DO_JVS(1240)) & ! JVS(1240) = Jac_FULL(188,318) JVS(1240) = 0.375*B(255) IF (DO_JVS(1241)) & ! JVS(1241) = Jac_FULL(188,319) JVS(1241) = 0.38*B(253) IF (DO_JVS(1242)) & ! JVS(1242) = Jac_FULL(188,320) JVS(1242) = 0.25*B(263) IF (DO_JVS(1243)) & ! JVS(1243) = Jac_FULL(188,321) JVS(1243) = 0.25*B(214) IF (DO_JVS(1244)) & ! JVS(1244) = Jac_FULL(188,323) JVS(1244) = 0.25*B(265) IF (DO_JVS(1245)) & ! JVS(1245) = Jac_FULL(188,328) JVS(1245) = 0.25*B(215)+0.25*B(217)+0.38*B(254)+0.375*B(256)+0.38*B(258)+0.375*B(260)+0.25*B(264)+0.25*B(266)+0.25& &*B(268)+0.25*B(912) IF (DO_JVS(1246)) & ! JVS(1246) = Jac_FULL(188,345) JVS(1246) = -B(272) IF (DO_JVS(1247)) & ! JVS(1247) = Jac_FULL(189,149) JVS(1247) = 0.07*B(1344) IF (DO_JVS(1248)) & ! JVS(1248) = Jac_FULL(189,189) JVS(1248) = -B(1352)-B(1354) IF (DO_JVS(1249)) & ! JVS(1249) = Jac_FULL(189,200) JVS(1249) = 0.05*B(1348) IF (DO_JVS(1250)) & ! JVS(1250) = Jac_FULL(189,220) JVS(1250) = 0.3*B(1338) IF (DO_JVS(1251)) & ! JVS(1251) = Jac_FULL(189,337) JVS(1251) = -B(1355) IF (DO_JVS(1252)) & ! JVS(1252) = Jac_FULL(189,345) JVS(1252) = 0.3*B(1339)+0.07*B(1345)+0.05*B(1349) IF (DO_JVS(1253)) & ! JVS(1253) = Jac_FULL(189,346) JVS(1253) = -B(1353) IF (DO_JVS(1254)) & ! JVS(1254) = Jac_FULL(189,351) JVS(1254) = 0 IF (DO_JVS(1255)) & ! JVS(1255) = Jac_FULL(190,168) JVS(1255) = B(1097) IF (DO_JVS(1256)) & ! JVS(1256) = Jac_FULL(190,190) JVS(1256) = -B(1120)-B(1121)-B(1123)-B(1125) IF (DO_JVS(1257)) & ! JVS(1257) = Jac_FULL(190,304) JVS(1257) = 0 IF (DO_JVS(1258)) & ! JVS(1258) = Jac_FULL(190,337) JVS(1258) = -B(1122) IF (DO_JVS(1259)) & ! JVS(1259) = Jac_FULL(190,345) JVS(1259) = B(1098) IF (DO_JVS(1260)) & ! JVS(1260) = Jac_FULL(190,346) JVS(1260) = -B(1124)-B(1126) IF (DO_JVS(1261)) & ! JVS(1261) = Jac_FULL(191,191) JVS(1261) = -B(717)-B(731)-B(733) IF (DO_JVS(1262)) & ! JVS(1262) = Jac_FULL(191,341) JVS(1262) = -B(734) IF (DO_JVS(1263)) & ! JVS(1263) = Jac_FULL(191,345) JVS(1263) = -B(732) IF (DO_JVS(1264)) & ! JVS(1264) = Jac_FULL(191,351) JVS(1264) = -B(718) IF (DO_JVS(1265)) & ! JVS(1265) = Jac_FULL(192,192) JVS(1265) = -B(1019)-B(1021)-B(1025)-B(1776) IF (DO_JVS(1266)) & ! JVS(1266) = Jac_FULL(192,304) JVS(1266) = 0.937*B(961) IF (DO_JVS(1267)) & ! JVS(1267) = Jac_FULL(192,337) JVS(1267) = 0.937*B(962) IF (DO_JVS(1268)) & ! JVS(1268) = Jac_FULL(192,345) JVS(1268) = -B(1020)-B(1022)-B(1026) IF (DO_JVS(1269)) & ! JVS(1269) = Jac_FULL(193,193) JVS(1269) = -B(865)-B(867)-B(869) IF (DO_JVS(1270)) & ! JVS(1270) = Jac_FULL(193,291) JVS(1270) = B(853) IF (DO_JVS(1271)) & ! JVS(1271) = Jac_FULL(193,341) JVS(1271) = -B(868) IF (DO_JVS(1272)) & ! JVS(1272) = Jac_FULL(193,345) JVS(1272) = -B(866) IF (DO_JVS(1273)) & ! JVS(1273) = Jac_FULL(193,346) JVS(1273) = B(854) IF (DO_JVS(1274)) & ! JVS(1274) = Jac_FULL(193,351) JVS(1274) = -B(870) IF (DO_JVS(1275)) & ! JVS(1275) = Jac_FULL(194,194) JVS(1275) = -B(1258)-B(1769) IF (DO_JVS(1276)) & ! JVS(1276) = Jac_FULL(194,230) JVS(1276) = 0.552*B(1779) IF (DO_JVS(1277)) & ! JVS(1277) = Jac_FULL(194,231) JVS(1277) = 0.454*B(1780) IF (DO_JVS(1278)) & ! JVS(1278) = Jac_FULL(194,301) JVS(1278) = 0.481*B(1790) IF (DO_JVS(1279)) & ! JVS(1279) = Jac_FULL(194,303) JVS(1279) = 0.022*B(1316) IF (DO_JVS(1280)) & ! JVS(1280) = Jac_FULL(194,345) JVS(1280) = -B(1259)+0.022*B(1317) IF (DO_JVS(1281)) & ! JVS(1281) = Jac_FULL(195,143) JVS(1281) = 0.54*B(1381) IF (DO_JVS(1282)) & ! JVS(1282) = Jac_FULL(195,195) JVS(1282) = -B(1414)-B(1416) IF (DO_JVS(1283)) & ! JVS(1283) = Jac_FULL(195,220) JVS(1283) = 0 IF (DO_JVS(1284)) & ! JVS(1284) = Jac_FULL(195,341) JVS(1284) = 0 IF (DO_JVS(1285)) & ! JVS(1285) = Jac_FULL(195,345) JVS(1285) = 0.54*B(1382)-B(1415) IF (DO_JVS(1286)) & ! JVS(1286) = Jac_FULL(195,351) JVS(1286) = -B(1417) IF (DO_JVS(1287)) & ! JVS(1287) = Jac_FULL(196,165) JVS(1287) = B(140) IF (DO_JVS(1288)) & ! JVS(1288) = Jac_FULL(196,178) JVS(1288) = B(130) IF (DO_JVS(1289)) & ! JVS(1289) = Jac_FULL(196,196) JVS(1289) = -B(136)-B(1686) IF (DO_JVS(1290)) & ! JVS(1290) = Jac_FULL(196,337) JVS(1290) = B(141) IF (DO_JVS(1291)) & ! JVS(1291) = Jac_FULL(196,345) JVS(1291) = -B(137) IF (DO_JVS(1292)) & ! JVS(1292) = Jac_FULL(196,346) JVS(1292) = B(131) IF (DO_JVS(1293)) & ! JVS(1293) = Jac_FULL(196,351) JVS(1293) = 0 IF (DO_JVS(1294)) & ! JVS(1294) = Jac_FULL(197,126) JVS(1294) = B(166)+B(1659) IF (DO_JVS(1295)) & ! JVS(1295) = Jac_FULL(197,197) JVS(1295) = -B(160)-B(162)-B(164) IF (DO_JVS(1296)) & ! JVS(1296) = Jac_FULL(197,233) JVS(1296) = 0.68*B(154)+0.3*B(1660) IF (DO_JVS(1297)) & ! JVS(1297) = Jac_FULL(197,335) JVS(1297) = -B(165) IF (DO_JVS(1298)) & ! JVS(1298) = Jac_FULL(197,337) JVS(1298) = -B(161) IF (DO_JVS(1299)) & ! JVS(1299) = Jac_FULL(197,345) JVS(1299) = 0.68*B(155) IF (DO_JVS(1300)) & ! JVS(1300) = Jac_FULL(197,346) JVS(1300) = -B(163) IF (DO_JVS(1301)) & ! JVS(1301) = Jac_FULL(198,174) JVS(1301) = 0.667*B(1310) IF (DO_JVS(1302)) & ! JVS(1302) = Jac_FULL(198,198) JVS(1302) = -B(1312)-B(1795) IF (DO_JVS(1303)) & ! JVS(1303) = Jac_FULL(198,223) JVS(1303) = 0.824*B(1031) IF (DO_JVS(1304)) & ! JVS(1304) = Jac_FULL(198,224) JVS(1304) = 0.452*B(1038) IF (DO_JVS(1305)) & ! JVS(1305) = Jac_FULL(198,232) JVS(1305) = B(1045) IF (DO_JVS(1306)) & ! JVS(1306) = Jac_FULL(198,337) JVS(1306) = 0 IF (DO_JVS(1307)) & ! JVS(1307) = Jac_FULL(198,345) JVS(1307) = 0.667*B(1311)-B(1313) IF (DO_JVS(1308)) & ! JVS(1308) = Jac_FULL(199,199) JVS(1308) = -B(1029)-B(1778) IF (DO_JVS(1309)) & ! JVS(1309) = Jac_FULL(199,304) JVS(1309) = B(963) IF (DO_JVS(1310)) & ! JVS(1310) = Jac_FULL(199,337) JVS(1310) = B(964) IF (DO_JVS(1311)) & ! JVS(1311) = Jac_FULL(199,345) JVS(1311) = -B(1030) IF (DO_JVS(1312)) & ! JVS(1312) = Jac_FULL(200,200) JVS(1312) = -B(1348)-B(1350) IF (DO_JVS(1313)) & ! JVS(1313) = Jac_FULL(200,345) JVS(1313) = -B(1349) IF (DO_JVS(1314)) & ! JVS(1314) = Jac_FULL(200,351) JVS(1314) = -B(1351) IF (DO_JVS(1315)) & ! JVS(1315) = Jac_FULL(201,82) JVS(1315) = 0.3*B(1383) IF (DO_JVS(1316)) & ! JVS(1316) = Jac_FULL(201,101) JVS(1316) = 0.56*B(1385) IF (DO_JVS(1317)) & ! JVS(1317) = Jac_FULL(201,149) JVS(1317) = 0.4*B(1344) IF (DO_JVS(1318)) & ! JVS(1318) = Jac_FULL(201,158) JVS(1318) = 0.44*B(1418)+0.44*B(1420) IF (DO_JVS(1319)) & ! JVS(1319) = Jac_FULL(201,200) JVS(1319) = 0.6*B(1348)+0.4*B(1350) IF (DO_JVS(1320)) & ! JVS(1320) = Jac_FULL(201,201) JVS(1320) = -B(1470)-B(1472)-B(1474) IF (DO_JVS(1321)) & ! JVS(1321) = Jac_FULL(201,341) JVS(1321) = -B(1473) IF (DO_JVS(1322)) & ! JVS(1322) = Jac_FULL(201,345) JVS(1322) = 0.4*B(1345)+0.6*B(1349)+0.3*B(1384)+0.56*B(1386)+0.44*B(1419)-B(1471) IF (DO_JVS(1323)) & ! JVS(1323) = Jac_FULL(201,351) JVS(1323) = 0.4*B(1351)+0.44*B(1421) IF (DO_JVS(1324)) & ! JVS(1324) = Jac_FULL(202,158) JVS(1324) = 0.727*B(1418) IF (DO_JVS(1325)) & ! JVS(1325) = Jac_FULL(202,195) JVS(1325) = 0.8*B(1414) IF (DO_JVS(1326)) & ! JVS(1326) = Jac_FULL(202,200) JVS(1326) = 0 IF (DO_JVS(1327)) & ! JVS(1327) = Jac_FULL(202,202) JVS(1327) = -B(1422)-B(1424)-B(1426) IF (DO_JVS(1328)) & ! JVS(1328) = Jac_FULL(202,220) JVS(1328) = 0 IF (DO_JVS(1329)) & ! JVS(1329) = Jac_FULL(202,341) JVS(1329) = -B(1425) IF (DO_JVS(1330)) & ! JVS(1330) = Jac_FULL(202,345) JVS(1330) = 0.8*B(1415)+0.727*B(1419)-B(1423) IF (DO_JVS(1331)) & ! JVS(1331) = Jac_FULL(202,351) JVS(1331) = -B(1427) IF (DO_JVS(1332)) & ! JVS(1332) = Jac_FULL(203,117) JVS(1332) = B(1804) IF (DO_JVS(1333)) & ! JVS(1333) = Jac_FULL(203,158) JVS(1333) = 0.073*B(1418)+0.3*B(1420) IF (DO_JVS(1334)) & ! JVS(1334) = Jac_FULL(203,195) JVS(1334) = 0.06*B(1414)+0.742*B(1416) IF (DO_JVS(1335)) & ! JVS(1335) = Jac_FULL(203,200) JVS(1335) = 0 IF (DO_JVS(1336)) & ! JVS(1336) = Jac_FULL(203,202) JVS(1336) = 0.3*B(1422)+0.3*B(1426) IF (DO_JVS(1337)) & ! JVS(1337) = Jac_FULL(203,203) JVS(1337) = -B(1453)-B(1455) IF (DO_JVS(1338)) & ! JVS(1338) = Jac_FULL(203,220) JVS(1338) = 0 IF (DO_JVS(1339)) & ! JVS(1339) = Jac_FULL(203,235) JVS(1339) = 0 IF (DO_JVS(1340)) & ! JVS(1340) = Jac_FULL(203,236) JVS(1340) = B(1443)+B(1445)+B(1447)+B(1461) IF (DO_JVS(1341)) & ! JVS(1341) = Jac_FULL(203,328) JVS(1341) = B(1462) IF (DO_JVS(1342)) & ! JVS(1342) = Jac_FULL(203,335) JVS(1342) = B(1444)-B(1456) IF (DO_JVS(1343)) & ! JVS(1343) = Jac_FULL(203,337) JVS(1343) = 0 IF (DO_JVS(1344)) & ! JVS(1344) = Jac_FULL(203,341) JVS(1344) = -B(1454) IF (DO_JVS(1345)) & ! JVS(1345) = Jac_FULL(203,345) JVS(1345) = 0.06*B(1415)+0.073*B(1419)+0.3*B(1423) IF (DO_JVS(1346)) & ! JVS(1346) = Jac_FULL(203,346) JVS(1346) = B(1446) IF (DO_JVS(1347)) & ! JVS(1347) = Jac_FULL(203,351) JVS(1347) = 0.742*B(1417)+0.3*B(1421)+0.3*B(1427)+B(1448) IF (DO_JVS(1348)) & ! JVS(1348) = Jac_FULL(204,82) JVS(1348) = 0.06*B(1383) IF (DO_JVS(1349)) & ! JVS(1349) = Jac_FULL(204,101) JVS(1349) = 0.06*B(1385) IF (DO_JVS(1350)) & ! JVS(1350) = Jac_FULL(204,116) JVS(1350) = B(1356)+B(1687) IF (DO_JVS(1351)) & ! JVS(1351) = Jac_FULL(204,149) JVS(1351) = B(1346) IF (DO_JVS(1352)) & ! JVS(1352) = Jac_FULL(204,189) JVS(1352) = 0.89*B(1352)+B(1354) IF (DO_JVS(1353)) & ! JVS(1353) = Jac_FULL(204,200) JVS(1353) = B(1350) IF (DO_JVS(1354)) & ! JVS(1354) = Jac_FULL(204,204) JVS(1354) = -B(1428)-B(1430)-B(1802) IF (DO_JVS(1355)) & ! JVS(1355) = Jac_FULL(204,220) JVS(1355) = 0.7*B(1338)+B(1340)+0.62*B(1342) IF (DO_JVS(1356)) & ! JVS(1356) = Jac_FULL(204,337) JVS(1356) = B(1355) IF (DO_JVS(1357)) & ! JVS(1357) = Jac_FULL(204,341) JVS(1357) = 0.62*B(1343) IF (DO_JVS(1358)) & ! JVS(1358) = Jac_FULL(204,345) JVS(1358) = 0.7*B(1339)+B(1357)+0.06*B(1384)+0.06*B(1386)-B(1429) IF (DO_JVS(1359)) & ! JVS(1359) = Jac_FULL(204,346) JVS(1359) = 0.89*B(1353) IF (DO_JVS(1360)) & ! JVS(1360) = Jac_FULL(204,351) JVS(1360) = B(1341)+B(1347)+B(1351)-B(1431) IF (DO_JVS(1361)) & ! JVS(1361) = Jac_FULL(205,175) JVS(1361) = B(1093) IF (DO_JVS(1362)) & ! JVS(1362) = Jac_FULL(205,205) JVS(1362) = -B(1113)-B(1114)-B(1116)-B(1118) IF (DO_JVS(1363)) & ! JVS(1363) = Jac_FULL(205,305) JVS(1363) = 0 IF (DO_JVS(1364)) & ! JVS(1364) = Jac_FULL(205,337) JVS(1364) = -B(1115) IF (DO_JVS(1365)) & ! JVS(1365) = Jac_FULL(205,345) JVS(1365) = B(1094) IF (DO_JVS(1366)) & ! JVS(1366) = Jac_FULL(205,346) JVS(1366) = -B(1117)-B(1119) IF (DO_JVS(1367)) & ! JVS(1367) = Jac_FULL(206,206) JVS(1367) = -B(1127)-B(1129)-B(1131)-B(1133) IF (DO_JVS(1368)) & ! JVS(1368) = Jac_FULL(206,268) JVS(1368) = B(1103) IF (DO_JVS(1369)) & ! JVS(1369) = Jac_FULL(206,337) JVS(1369) = -B(1130) IF (DO_JVS(1370)) & ! JVS(1370) = Jac_FULL(206,345) JVS(1370) = B(1104) IF (DO_JVS(1371)) & ! JVS(1371) = Jac_FULL(206,346) JVS(1371) = -B(1132)-B(1134) IF (DO_JVS(1372)) & ! JVS(1372) = Jac_FULL(207,207) JVS(1372) = -B(1128)-B(1135)-B(1137)-B(1139) IF (DO_JVS(1373)) & ! JVS(1373) = Jac_FULL(207,267) JVS(1373) = B(1107) IF (DO_JVS(1374)) & ! JVS(1374) = Jac_FULL(207,337) JVS(1374) = -B(1136) IF (DO_JVS(1375)) & ! JVS(1375) = Jac_FULL(207,345) JVS(1375) = B(1108) IF (DO_JVS(1376)) & ! JVS(1376) = Jac_FULL(207,346) JVS(1376) = -B(1138)-B(1140) IF (DO_JVS(1377)) & ! JVS(1377) = Jac_FULL(208,131) JVS(1377) = 0.6*B(1262) IF (DO_JVS(1378)) & ! JVS(1378) = Jac_FULL(208,147) JVS(1378) = 0.318*B(1308)+0.391*B(1796) IF (DO_JVS(1379)) & ! JVS(1379) = Jac_FULL(208,208) JVS(1379) = -B(1266)-B(1765) IF (DO_JVS(1380)) & ! JVS(1380) = Jac_FULL(208,243) JVS(1380) = 0.13*B(1078)+0.2*B(1082) IF (DO_JVS(1381)) & ! JVS(1381) = Jac_FULL(208,254) JVS(1381) = 0.255*B(1270) IF (DO_JVS(1382)) & ! JVS(1382) = Jac_FULL(208,258) JVS(1382) = 0 IF (DO_JVS(1383)) & ! JVS(1383) = Jac_FULL(208,285) JVS(1383) = 0 IF (DO_JVS(1384)) & ! JVS(1384) = Jac_FULL(208,286) JVS(1384) = 0 IF (DO_JVS(1385)) & ! JVS(1385) = Jac_FULL(208,288) JVS(1385) = 0.53*B(1238) IF (DO_JVS(1386)) & ! JVS(1386) = Jac_FULL(208,337) JVS(1386) = 0.13*B(1079)+0.255*B(1271) IF (DO_JVS(1387)) & ! JVS(1387) = Jac_FULL(208,345) JVS(1387) = 0.53*B(1239)+0.6*B(1263)-B(1267)+0.318*B(1309) IF (DO_JVS(1388)) & ! JVS(1388) = Jac_FULL(208,346) JVS(1388) = 0.2*B(1083) IF (DO_JVS(1389)) & ! JVS(1389) = Jac_FULL(209,209) JVS(1389) = -B(1027)-B(1777) IF (DO_JVS(1390)) & ! JVS(1390) = Jac_FULL(209,305) JVS(1390) = B(959) IF (DO_JVS(1391)) & ! JVS(1391) = Jac_FULL(209,337) JVS(1391) = B(960) IF (DO_JVS(1392)) & ! JVS(1392) = Jac_FULL(209,345) JVS(1392) = -B(1028) IF (DO_JVS(1393)) & ! JVS(1393) = Jac_FULL(210,209) JVS(1393) = 0.018*B(1027) IF (DO_JVS(1394)) & ! JVS(1394) = Jac_FULL(210,210) JVS(1394) = -B(1326)-B(1328)-B(1762) IF (DO_JVS(1395)) & ! JVS(1395) = Jac_FULL(210,223) JVS(1395) = 0.284*B(1032)+0.135*B(1036) IF (DO_JVS(1396)) & ! JVS(1396) = Jac_FULL(210,226) JVS(1396) = 0.471*B(1200)+0.59*B(1206) IF (DO_JVS(1397)) & ! JVS(1397) = Jac_FULL(210,271) JVS(1397) = 0.249*B(1198)+0.303*B(1202) IF (DO_JVS(1398)) & ! JVS(1398) = Jac_FULL(210,276) JVS(1398) = 0.3*B(953) IF (DO_JVS(1399)) & ! JVS(1399) = Jac_FULL(210,303) JVS(1399) = 0.5*B(1798) IF (DO_JVS(1400)) & ! JVS(1400) = Jac_FULL(210,305) JVS(1400) = 0.3*B(966) IF (DO_JVS(1401)) & ! JVS(1401) = Jac_FULL(210,337) JVS(1401) = 0.135*B(1037)+0.249*B(1199)+0.471*B(1201) IF (DO_JVS(1402)) & ! JVS(1402) = Jac_FULL(210,345) JVS(1402) = 0.3*B(954)+0.018*B(1028)-B(1327)-B(1329) IF (DO_JVS(1403)) & ! JVS(1403) = Jac_FULL(210,346) JVS(1403) = 0.284*B(1033)+0.303*B(1203)+0.59*B(1207) IF (DO_JVS(1404)) & ! JVS(1404) = Jac_FULL(211,211) JVS(1404) = -B(818)-B(820)-B(822) IF (DO_JVS(1405)) & ! JVS(1405) = Jac_FULL(211,281) JVS(1405) = 0.25*B(802) IF (DO_JVS(1406)) & ! JVS(1406) = Jac_FULL(211,341) JVS(1406) = -B(821) IF (DO_JVS(1407)) & ! JVS(1407) = Jac_FULL(211,345) JVS(1407) = -B(819) IF (DO_JVS(1408)) & ! JVS(1408) = Jac_FULL(211,346) JVS(1408) = 0.25*B(803) IF (DO_JVS(1409)) & ! JVS(1409) = Jac_FULL(211,351) JVS(1409) = -B(823) IF (DO_JVS(1410)) & ! JVS(1410) = Jac_FULL(212,140) JVS(1410) = B(142) IF (DO_JVS(1411)) & ! JVS(1411) = Jac_FULL(212,212) JVS(1411) = -B(148)-B(150) IF (DO_JVS(1412)) & ! JVS(1412) = Jac_FULL(212,337) JVS(1412) = -B(151) IF (DO_JVS(1413)) & ! JVS(1413) = Jac_FULL(212,341) JVS(1413) = 0 IF (DO_JVS(1414)) & ! JVS(1414) = Jac_FULL(212,345) JVS(1414) = B(143) IF (DO_JVS(1415)) & ! JVS(1415) = Jac_FULL(212,346) JVS(1415) = -B(149) IF (DO_JVS(1416)) & ! JVS(1416) = Jac_FULL(212,351) JVS(1416) = 0 IF (DO_JVS(1417)) & ! JVS(1417) = Jac_FULL(213,114) JVS(1417) = B(299) IF (DO_JVS(1418)) & ! JVS(1418) = Jac_FULL(213,213) JVS(1418) = -B(297)-B(300)-B(302)-B(304) IF (DO_JVS(1419)) & ! JVS(1419) = Jac_FULL(213,306) JVS(1419) = 0.8*B(293)+B(295) IF (DO_JVS(1420)) & ! JVS(1420) = Jac_FULL(213,335) JVS(1420) = -B(298) IF (DO_JVS(1421)) & ! JVS(1421) = Jac_FULL(213,337) JVS(1421) = -B(303) IF (DO_JVS(1422)) & ! JVS(1422) = Jac_FULL(213,345) JVS(1422) = 0.8*B(294) IF (DO_JVS(1423)) & ! JVS(1423) = Jac_FULL(213,346) JVS(1423) = -B(301) IF (DO_JVS(1424)) & ! JVS(1424) = Jac_FULL(213,351) JVS(1424) = B(296)-B(305) IF (DO_JVS(1425)) & ! JVS(1425) = Jac_FULL(214,214) JVS(1425) = -B(86)-B(1496)-B(1498)-B(1500)-B(1501)-B(1503)-B(1655) IF (DO_JVS(1426)) & ! JVS(1426) = Jac_FULL(214,335) JVS(1426) = B(84) IF (DO_JVS(1427)) & ! JVS(1427) = Jac_FULL(214,336) JVS(1427) = -B(1497) IF (DO_JVS(1428)) & ! JVS(1428) = Jac_FULL(214,339) JVS(1428) = -B(1499) IF (DO_JVS(1429)) & ! JVS(1429) = Jac_FULL(214,344) JVS(1429) = -B(1504) IF (DO_JVS(1430)) & ! JVS(1430) = Jac_FULL(214,351) JVS(1430) = B(85) IF (DO_JVS(1431)) & ! JVS(1431) = Jac_FULL(214,353) JVS(1431) = -B(1502) IF (DO_JVS(1432)) & ! JVS(1432) = Jac_FULL(215,128) JVS(1432) = 0.75*B(1052) IF (DO_JVS(1433)) & ! JVS(1433) = Jac_FULL(215,144) JVS(1433) = 0.77*B(1007) IF (DO_JVS(1434)) & ! JVS(1434) = Jac_FULL(215,150) JVS(1434) = 0.58*B(1005) IF (DO_JVS(1435)) & ! JVS(1435) = Jac_FULL(215,151) JVS(1435) = B(1054) IF (DO_JVS(1436)) & ! JVS(1436) = Jac_FULL(215,152) JVS(1436) = B(1058) IF (DO_JVS(1437)) & ! JVS(1437) = Jac_FULL(215,168) JVS(1437) = 0 IF (DO_JVS(1438)) & ! JVS(1438) = Jac_FULL(215,175) JVS(1438) = 0 IF (DO_JVS(1439)) & ! JVS(1439) = Jac_FULL(215,186) JVS(1439) = B(1188) IF (DO_JVS(1440)) & ! JVS(1440) = Jac_FULL(215,187) JVS(1440) = 0 IF (DO_JVS(1441)) & ! JVS(1441) = Jac_FULL(215,192) JVS(1441) = 0 IF (DO_JVS(1442)) & ! JVS(1442) = Jac_FULL(215,199) JVS(1442) = 0 IF (DO_JVS(1443)) & ! JVS(1443) = Jac_FULL(215,209) JVS(1443) = 0 IF (DO_JVS(1444)) & ! JVS(1444) = Jac_FULL(215,215) JVS(1444) = -B(1011)-B(1632) IF (DO_JVS(1445)) & ! JVS(1445) = Jac_FULL(215,230) JVS(1445) = 0.085*B(1001) IF (DO_JVS(1446)) & ! JVS(1446) = Jac_FULL(215,231) JVS(1446) = 0.165*B(1003) IF (DO_JVS(1447)) & ! JVS(1447) = Jac_FULL(215,267) JVS(1447) = 0 IF (DO_JVS(1448)) & ! JVS(1448) = Jac_FULL(215,268) JVS(1448) = 0 IF (DO_JVS(1449)) & ! JVS(1449) = Jac_FULL(215,276) JVS(1449) = 0 IF (DO_JVS(1450)) & ! JVS(1450) = Jac_FULL(215,301) JVS(1450) = B(1210) IF (DO_JVS(1451)) & ! JVS(1451) = Jac_FULL(215,304) JVS(1451) = 0 IF (DO_JVS(1452)) & ! JVS(1452) = Jac_FULL(215,305) JVS(1452) = 0 IF (DO_JVS(1453)) & ! JVS(1453) = Jac_FULL(215,311) JVS(1453) = 0 IF (DO_JVS(1454)) & ! JVS(1454) = Jac_FULL(215,337) JVS(1454) = 0 IF (DO_JVS(1455)) & ! JVS(1455) = Jac_FULL(215,345) JVS(1455) = 0.085*B(1002)+0.165*B(1004)+0.58*B(1006)+0.77*B(1008)-B(1012)+0.75*B(1053)+B(1055)+B(1059)+B(1189)+B(1211) IF (DO_JVS(1456)) & ! JVS(1456) = Jac_FULL(215,346) JVS(1456) = 0 IF (DO_JVS(1457)) & ! JVS(1457) = Jac_FULL(216,206) JVS(1457) = 0.031*B(1129)+0.065*B(1131) IF (DO_JVS(1458)) & ! JVS(1458) = Jac_FULL(216,216) JVS(1458) = -B(1244)-B(1638)-B(1774) IF (DO_JVS(1459)) & ! JVS(1459) = Jac_FULL(216,226) JVS(1459) = 0.073*B(1200)+0.291*B(1206) IF (DO_JVS(1460)) & ! JVS(1460) = Jac_FULL(216,268) JVS(1460) = 0.6*B(1109) IF (DO_JVS(1461)) & ! JVS(1461) = Jac_FULL(216,271) JVS(1461) = 0.06*B(1198)+0.17*B(1202) IF (DO_JVS(1462)) & ! JVS(1462) = Jac_FULL(216,293) JVS(1462) = 0.094*B(1141)+0.355*B(1143) IF (DO_JVS(1463)) & ! JVS(1463) = Jac_FULL(216,301) JVS(1463) = 0.378*B(1212) IF (DO_JVS(1464)) & ! JVS(1464) = Jac_FULL(216,308) JVS(1464) = 0.13*B(1291)+0.3*B(1299) IF (DO_JVS(1465)) & ! JVS(1465) = Jac_FULL(216,328) JVS(1465) = 0.3*B(1300) IF (DO_JVS(1466)) & ! JVS(1466) = Jac_FULL(216,337) JVS(1466) = 0.031*B(1130)+0.094*B(1142)+0.06*B(1199)+0.073*B(1201)+0.13*B(1292) IF (DO_JVS(1467)) & ! JVS(1467) = Jac_FULL(216,345) JVS(1467) = 0.6*B(1110)+0.378*B(1213)-B(1245) IF (DO_JVS(1468)) & ! JVS(1468) = Jac_FULL(216,346) JVS(1468) = 0.065*B(1132)+0.355*B(1144)+0.17*B(1203)+0.291*B(1207) IF (DO_JVS(1469)) & ! JVS(1469) = Jac_FULL(217,181) JVS(1469) = 0.09*B(495) IF (DO_JVS(1470)) & ! JVS(1470) = Jac_FULL(217,217) JVS(1470) = -B(471)-B(473)-B(475) IF (DO_JVS(1471)) & ! JVS(1471) = Jac_FULL(217,228) JVS(1471) = 0.2*B(443) IF (DO_JVS(1472)) & ! JVS(1472) = Jac_FULL(217,325) JVS(1472) = B(1647) IF (DO_JVS(1473)) & ! JVS(1473) = Jac_FULL(217,334) JVS(1473) = B(439)+0.2*B(444)+0.22*B(487)+0.2*B(489)+0.09*B(496) IF (DO_JVS(1474)) & ! JVS(1474) = Jac_FULL(217,337) JVS(1474) = -B(476) IF (DO_JVS(1475)) & ! JVS(1475) = Jac_FULL(217,339) JVS(1475) = 0.22*B(488) IF (DO_JVS(1476)) & ! JVS(1476) = Jac_FULL(217,340) JVS(1476) = B(569) IF (DO_JVS(1477)) & ! JVS(1477) = Jac_FULL(217,341) JVS(1477) = -B(474) IF (DO_JVS(1478)) & ! JVS(1478) = Jac_FULL(217,343) JVS(1478) = B(451) IF (DO_JVS(1479)) & ! JVS(1479) = Jac_FULL(217,345) JVS(1479) = B(449)+B(452) IF (DO_JVS(1480)) & ! JVS(1480) = Jac_FULL(217,352) JVS(1480) = 0.2*B(490) IF (DO_JVS(1481)) & ! JVS(1481) = Jac_FULL(218,218) JVS(1481) = -B(401)-B(1509)-B(1511)-B(1693)-B(1694) IF (DO_JVS(1482)) & ! JVS(1482) = Jac_FULL(218,335) JVS(1482) = B(425) IF (DO_JVS(1483)) & ! JVS(1483) = Jac_FULL(218,336) JVS(1483) = -B(1510) IF (DO_JVS(1484)) & ! JVS(1484) = Jac_FULL(218,339) JVS(1484) = -B(1512) IF (DO_JVS(1485)) & ! JVS(1485) = Jac_FULL(218,342) JVS(1485) = -B(402) IF (DO_JVS(1486)) & ! JVS(1486) = Jac_FULL(218,347) JVS(1486) = B(426) IF (DO_JVS(1487)) & ! JVS(1487) = Jac_FULL(219,219) JVS(1487) = -B(719)-B(727)-B(729) IF (DO_JVS(1488)) & ! JVS(1488) = Jac_FULL(219,341) JVS(1488) = -B(730) IF (DO_JVS(1489)) & ! JVS(1489) = Jac_FULL(219,345) JVS(1489) = -B(728) IF (DO_JVS(1490)) & ! JVS(1490) = Jac_FULL(219,351) JVS(1490) = -B(720) IF (DO_JVS(1491)) & ! JVS(1491) = Jac_FULL(220,220) JVS(1491) = -B(1338)-B(1340)-B(1342) IF (DO_JVS(1492)) & ! JVS(1492) = Jac_FULL(220,341) JVS(1492) = -B(1343) IF (DO_JVS(1493)) & ! JVS(1493) = Jac_FULL(220,345) JVS(1493) = -B(1339) IF (DO_JVS(1494)) & ! JVS(1494) = Jac_FULL(220,351) JVS(1494) = -B(1341) IF (DO_JVS(1495)) & ! JVS(1495) = Jac_FULL(221,82) JVS(1495) = 0.68*B(1383) IF (DO_JVS(1496)) & ! JVS(1496) = Jac_FULL(221,101) JVS(1496) = 0.28*B(1385) IF (DO_JVS(1497)) & ! JVS(1497) = Jac_FULL(221,143) JVS(1497) = 0.55*B(1381) IF (DO_JVS(1498)) & ! JVS(1498) = Jac_FULL(221,149) JVS(1498) = 0.8*B(1344) IF (DO_JVS(1499)) & ! JVS(1499) = Jac_FULL(221,195) JVS(1499) = 0.18*B(1414) IF (DO_JVS(1500)) & ! JVS(1500) = Jac_FULL(221,200) JVS(1500) = 0.375*B(1348) IF (DO_JVS(1501)) & ! JVS(1501) = Jac_FULL(221,202) JVS(1501) = 1.05*B(1422)+B(1424)+0.3*B(1426) IF (DO_JVS(1502)) & ! JVS(1502) = Jac_FULL(221,220) JVS(1502) = 0 IF (DO_JVS(1503)) & ! JVS(1503) = Jac_FULL(221,221) JVS(1503) = -B(1465)-B(1467)-B(1469) IF (DO_JVS(1504)) & ! JVS(1504) = Jac_FULL(221,269) JVS(1504) = 0.9*B(1457)+0.9*B(1459)+B(1805) IF (DO_JVS(1505)) & ! JVS(1505) = Jac_FULL(221,341) JVS(1505) = B(1425)-B(1468) IF (DO_JVS(1506)) & ! JVS(1506) = Jac_FULL(221,345) JVS(1506) = 0.8*B(1345)+0.375*B(1349)+0.55*B(1382)+0.68*B(1384)+0.28*B(1386)+0.18*B(1415)+1.05*B(1423)+0.9*B(1458)& &-B(1466) IF (DO_JVS(1507)) & ! JVS(1507) = Jac_FULL(221,351) JVS(1507) = 0.3*B(1427)+0.9*B(1460) IF (DO_JVS(1508)) & ! JVS(1508) = Jac_FULL(222,222) JVS(1508) = -B(1180)-B(1184)-B(1190)-B(1634)-B(1787) IF (DO_JVS(1509)) & ! JVS(1509) = Jac_FULL(222,310) JVS(1509) = 0.473*B(1149)+0.07*B(1153)+0.399*B(1154)+0.355*B(1159) IF (DO_JVS(1510)) & ! JVS(1510) = Jac_FULL(222,311) JVS(1510) = 0.399*B(1155) IF (DO_JVS(1511)) & ! JVS(1511) = Jac_FULL(222,328) JVS(1511) = 0.355*B(1160) IF (DO_JVS(1512)) & ! JVS(1512) = Jac_FULL(222,337) JVS(1512) = 0.473*B(1150) IF (DO_JVS(1513)) & ! JVS(1513) = Jac_FULL(222,345) JVS(1513) = -B(1181)-B(1185)-B(1191) IF (DO_JVS(1514)) & ! JVS(1514) = Jac_FULL(223,187) JVS(1514) = 0.345*B(1015) IF (DO_JVS(1515)) & ! JVS(1515) = Jac_FULL(223,209) JVS(1515) = 0.595*B(1027) IF (DO_JVS(1516)) & ! JVS(1516) = Jac_FULL(223,223) JVS(1516) = -B(1031)-B(1032)-B(1034)-B(1036) IF (DO_JVS(1517)) & ! JVS(1517) = Jac_FULL(223,305) JVS(1517) = 0 IF (DO_JVS(1518)) & ! JVS(1518) = Jac_FULL(223,337) JVS(1518) = -B(1037) IF (DO_JVS(1519)) & ! JVS(1519) = Jac_FULL(223,345) JVS(1519) = 0.345*B(1016)+0.595*B(1028) IF (DO_JVS(1520)) & ! JVS(1520) = Jac_FULL(223,346) JVS(1520) = -B(1033)-B(1035) IF (DO_JVS(1521)) & ! JVS(1521) = Jac_FULL(224,192) JVS(1521) = 0.345*B(1019) IF (DO_JVS(1522)) & ! JVS(1522) = Jac_FULL(224,199) JVS(1522) = 0.255*B(1029) IF (DO_JVS(1523)) & ! JVS(1523) = Jac_FULL(224,224) JVS(1523) = -B(1038)-B(1039)-B(1041)-B(1043) IF (DO_JVS(1524)) & ! JVS(1524) = Jac_FULL(224,304) JVS(1524) = 0 IF (DO_JVS(1525)) & ! JVS(1525) = Jac_FULL(224,337) JVS(1525) = -B(1044) IF (DO_JVS(1526)) & ! JVS(1526) = Jac_FULL(224,345) JVS(1526) = 0.345*B(1020)+0.255*B(1030) IF (DO_JVS(1527)) & ! JVS(1527) = Jac_FULL(224,346) JVS(1527) = -B(1040)-B(1042) IF (DO_JVS(1528)) & ! JVS(1528) = Jac_FULL(225,111) JVS(1528) = B(1807) IF (DO_JVS(1529)) & ! JVS(1529) = Jac_FULL(225,137) JVS(1529) = 0.5*B(743) IF (DO_JVS(1530)) & ! JVS(1530) = Jac_FULL(225,191) JVS(1530) = 0.2*B(733) IF (DO_JVS(1531)) & ! JVS(1531) = Jac_FULL(225,225) JVS(1531) = -B(745)-B(747)-B(1808) IF (DO_JVS(1532)) & ! JVS(1532) = Jac_FULL(225,277) JVS(1532) = 0.75*B(737)+B(739)+B(877)+B(879) IF (DO_JVS(1533)) & ! JVS(1533) = Jac_FULL(225,324) JVS(1533) = B(880) IF (DO_JVS(1534)) & ! JVS(1534) = Jac_FULL(225,328) JVS(1534) = B(878) IF (DO_JVS(1535)) & ! JVS(1535) = Jac_FULL(225,337) JVS(1535) = 0 IF (DO_JVS(1536)) & ! JVS(1536) = Jac_FULL(225,341) JVS(1536) = 0.2*B(734) IF (DO_JVS(1537)) & ! JVS(1537) = Jac_FULL(225,345) JVS(1537) = 0.5*B(744)-B(748) IF (DO_JVS(1538)) & ! JVS(1538) = Jac_FULL(225,346) JVS(1538) = 0.75*B(738) IF (DO_JVS(1539)) & ! JVS(1539) = Jac_FULL(225,351) JVS(1539) = B(740)-B(746) IF (DO_JVS(1540)) & ! JVS(1540) = Jac_FULL(226,186) JVS(1540) = B(1182) IF (DO_JVS(1541)) & ! JVS(1541) = Jac_FULL(226,226) JVS(1541) = -B(1196)-B(1200)-B(1206)-B(1208) IF (DO_JVS(1542)) & ! JVS(1542) = Jac_FULL(226,311) JVS(1542) = 0 IF (DO_JVS(1543)) & ! JVS(1543) = Jac_FULL(226,337) JVS(1543) = -B(1201) IF (DO_JVS(1544)) & ! JVS(1544) = Jac_FULL(226,345) JVS(1544) = B(1183) IF (DO_JVS(1545)) & ! JVS(1545) = Jac_FULL(226,346) JVS(1545) = -B(1207)-B(1209) IF (DO_JVS(1546)) & ! JVS(1546) = Jac_FULL(227,131) JVS(1546) = 0.4*B(1262) IF (DO_JVS(1547)) & ! JVS(1547) = Jac_FULL(227,147) JVS(1547) = 0.126*B(1308)+0.155*B(1796) IF (DO_JVS(1548)) & ! JVS(1548) = Jac_FULL(227,153) JVS(1548) = 0.16*B(1268) IF (DO_JVS(1549)) & ! JVS(1549) = Jac_FULL(227,194) JVS(1549) = 0.063*B(1258) IF (DO_JVS(1550)) & ! JVS(1550) = Jac_FULL(227,227) JVS(1550) = -B(1264)-B(1766) IF (DO_JVS(1551)) & ! JVS(1551) = Jac_FULL(227,230) JVS(1551) = 0 IF (DO_JVS(1552)) & ! JVS(1552) = Jac_FULL(227,231) JVS(1552) = 0 IF (DO_JVS(1553)) & ! JVS(1553) = Jac_FULL(227,258) JVS(1553) = 0.133*B(1793) IF (DO_JVS(1554)) & ! JVS(1554) = Jac_FULL(227,285) JVS(1554) = 0 IF (DO_JVS(1555)) & ! JVS(1555) = Jac_FULL(227,286) JVS(1555) = 0 IF (DO_JVS(1556)) & ! JVS(1556) = Jac_FULL(227,288) JVS(1556) = 0.47*B(1238) IF (DO_JVS(1557)) & ! JVS(1557) = Jac_FULL(227,301) JVS(1557) = 0 IF (DO_JVS(1558)) & ! JVS(1558) = Jac_FULL(227,302) JVS(1558) = 0.29*B(1236) IF (DO_JVS(1559)) & ! JVS(1559) = Jac_FULL(227,303) JVS(1559) = 0 IF (DO_JVS(1560)) & ! JVS(1560) = Jac_FULL(227,337) JVS(1560) = 0 IF (DO_JVS(1561)) & ! JVS(1561) = Jac_FULL(227,345) JVS(1561) = 0.29*B(1237)+0.47*B(1239)+0.063*B(1259)+0.4*B(1263)-B(1265)+0.16*B(1269)+0.126*B(1309) IF (DO_JVS(1562)) & ! JVS(1562) = Jac_FULL(227,346) JVS(1562) = 0 IF (DO_JVS(1563)) & ! JVS(1563) = Jac_FULL(228,228) JVS(1563) = -B(47)-B(443)-B(563) IF (DO_JVS(1564)) & ! JVS(1564) = Jac_FULL(228,290) JVS(1564) = 0.1*B(287) IF (DO_JVS(1565)) & ! JVS(1565) = Jac_FULL(228,326) JVS(1565) = B(1657) IF (DO_JVS(1566)) & ! JVS(1566) = Jac_FULL(228,334) JVS(1566) = -B(444) IF (DO_JVS(1567)) & ! JVS(1567) = Jac_FULL(228,340) JVS(1567) = -B(564) IF (DO_JVS(1568)) & ! JVS(1568) = Jac_FULL(228,341) JVS(1568) = 0.1*B(288) IF (DO_JVS(1569)) & ! JVS(1569) = Jac_FULL(228,345) JVS(1569) = -B(48) IF (DO_JVS(1570)) & ! JVS(1570) = Jac_FULL(229,229) JVS(1570) = -B(859)-B(861)-B(863)-B(1748)-B(1816) IF (DO_JVS(1571)) & ! JVS(1571) = Jac_FULL(229,291) JVS(1571) = B(851) IF (DO_JVS(1572)) & ! JVS(1572) = Jac_FULL(229,337) JVS(1572) = B(852) IF (DO_JVS(1573)) & ! JVS(1573) = Jac_FULL(229,341) JVS(1573) = -B(862) IF (DO_JVS(1574)) & ! JVS(1574) = Jac_FULL(229,345) JVS(1574) = -B(860) IF (DO_JVS(1575)) & ! JVS(1575) = Jac_FULL(229,351) JVS(1575) = -B(864) IF (DO_JVS(1576)) & ! JVS(1576) = Jac_FULL(230,209) JVS(1576) = 0.015*B(1027) IF (DO_JVS(1577)) & ! JVS(1577) = Jac_FULL(230,230) JVS(1577) = -B(1001)-B(1779) IF (DO_JVS(1578)) & ! JVS(1578) = Jac_FULL(230,276) JVS(1578) = 0.25*B(953) IF (DO_JVS(1579)) & ! JVS(1579) = Jac_FULL(230,305) JVS(1579) = 0.25*B(966) IF (DO_JVS(1580)) & ! JVS(1580) = Jac_FULL(230,337) JVS(1580) = 0 IF (DO_JVS(1581)) & ! JVS(1581) = Jac_FULL(230,345) JVS(1581) = 0.25*B(954)-B(1002)+0.015*B(1028) IF (DO_JVS(1582)) & ! JVS(1582) = Jac_FULL(231,199) JVS(1582) = 0.015*B(1029) IF (DO_JVS(1583)) & ! JVS(1583) = Jac_FULL(231,231) JVS(1583) = -B(1003)-B(1780) IF (DO_JVS(1584)) & ! JVS(1584) = Jac_FULL(231,276) JVS(1584) = 0.25*B(955) IF (DO_JVS(1585)) & ! JVS(1585) = Jac_FULL(231,304) JVS(1585) = 0.25*B(968) IF (DO_JVS(1586)) & ! JVS(1586) = Jac_FULL(231,337) JVS(1586) = 0 IF (DO_JVS(1587)) & ! JVS(1587) = Jac_FULL(231,345) JVS(1587) = 0.25*B(956)-B(1004)+0.015*B(1030) IF (DO_JVS(1588)) & ! JVS(1588) = Jac_FULL(232,187) JVS(1588) = 0.655*B(1015) IF (DO_JVS(1589)) & ! JVS(1589) = Jac_FULL(232,192) JVS(1589) = 0.655*B(1019) IF (DO_JVS(1590)) & ! JVS(1590) = Jac_FULL(232,232) JVS(1590) = -B(1045)-B(1046)-B(1048)-B(1050) IF (DO_JVS(1591)) & ! JVS(1591) = Jac_FULL(232,304) JVS(1591) = 0 IF (DO_JVS(1592)) & ! JVS(1592) = Jac_FULL(232,305) JVS(1592) = 0 IF (DO_JVS(1593)) & ! JVS(1593) = Jac_FULL(232,337) JVS(1593) = -B(1051) IF (DO_JVS(1594)) & ! JVS(1594) = Jac_FULL(232,345) JVS(1594) = 0.655*B(1016)+0.655*B(1020) IF (DO_JVS(1595)) & ! JVS(1595) = Jac_FULL(232,346) JVS(1595) = -B(1047)-B(1049) IF (DO_JVS(1596)) & ! JVS(1596) = Jac_FULL(233,140) JVS(1596) = B(144)+B(146) IF (DO_JVS(1597)) & ! JVS(1597) = Jac_FULL(233,212) JVS(1597) = 0.73*B(148) IF (DO_JVS(1598)) & ! JVS(1598) = Jac_FULL(233,233) JVS(1598) = -B(154)-B(1660) IF (DO_JVS(1599)) & ! JVS(1599) = Jac_FULL(233,337) JVS(1599) = 0 IF (DO_JVS(1600)) & ! JVS(1600) = Jac_FULL(233,341) JVS(1600) = B(147) IF (DO_JVS(1601)) & ! JVS(1601) = Jac_FULL(233,345) JVS(1601) = -B(155) IF (DO_JVS(1602)) & ! JVS(1602) = Jac_FULL(233,346) JVS(1602) = 0.73*B(149) IF (DO_JVS(1603)) & ! JVS(1603) = Jac_FULL(233,351) JVS(1603) = B(145) IF (DO_JVS(1604)) & ! JVS(1604) = Jac_FULL(234,109) JVS(1604) = B(1360) IF (DO_JVS(1605)) & ! JVS(1605) = Jac_FULL(234,136) JVS(1605) = B(1377) IF (DO_JVS(1606)) & ! JVS(1606) = Jac_FULL(234,233) JVS(1606) = 0 IF (DO_JVS(1607)) & ! JVS(1607) = Jac_FULL(234,234) JVS(1607) = -B(1364)-B(1366)-B(1368)-B(1370) IF (DO_JVS(1608)) & ! JVS(1608) = Jac_FULL(234,246) JVS(1608) = B(243)+0.44*B(245) IF (DO_JVS(1609)) & ! JVS(1609) = Jac_FULL(234,328) JVS(1609) = -B(1371) IF (DO_JVS(1610)) & ! JVS(1610) = Jac_FULL(234,337) JVS(1610) = 0.44*B(246)-B(1365) IF (DO_JVS(1611)) & ! JVS(1611) = Jac_FULL(234,341) JVS(1611) = 0 IF (DO_JVS(1612)) & ! JVS(1612) = Jac_FULL(234,345) JVS(1612) = B(1361)+B(1378) IF (DO_JVS(1613)) & ! JVS(1613) = Jac_FULL(234,346) JVS(1613) = B(244)-B(1367) IF (DO_JVS(1614)) & ! JVS(1614) = Jac_FULL(234,351) JVS(1614) = -B(1369) IF (DO_JVS(1615)) & ! JVS(1615) = Jac_FULL(235,71) JVS(1615) = B(1438) IF (DO_JVS(1616)) & ! JVS(1616) = Jac_FULL(235,90) JVS(1616) = B(1440) IF (DO_JVS(1617)) & ! JVS(1617) = Jac_FULL(235,204) JVS(1617) = B(1428)+B(1430) IF (DO_JVS(1618)) & ! JVS(1618) = Jac_FULL(235,220) JVS(1618) = 0 IF (DO_JVS(1619)) & ! JVS(1619) = Jac_FULL(235,235) JVS(1619) = -B(1432)-B(1434)-B(1436)-B(1463) IF (DO_JVS(1620)) & ! JVS(1620) = Jac_FULL(235,328) JVS(1620) = -B(1464) IF (DO_JVS(1621)) & ! JVS(1621) = Jac_FULL(235,335) JVS(1621) = -B(1437) IF (DO_JVS(1622)) & ! JVS(1622) = Jac_FULL(235,337) JVS(1622) = -B(1433) IF (DO_JVS(1623)) & ! JVS(1623) = Jac_FULL(235,341) JVS(1623) = 0 IF (DO_JVS(1624)) & ! JVS(1624) = Jac_FULL(235,345) JVS(1624) = B(1429)+B(1439) IF (DO_JVS(1625)) & ! JVS(1625) = Jac_FULL(235,346) JVS(1625) = -B(1435) IF (DO_JVS(1626)) & ! JVS(1626) = Jac_FULL(235,351) JVS(1626) = B(1431) IF (DO_JVS(1627)) & ! JVS(1627) = Jac_FULL(236,71) JVS(1627) = B(1803) IF (DO_JVS(1628)) & ! JVS(1628) = Jac_FULL(236,117) JVS(1628) = B(1451) IF (DO_JVS(1629)) & ! JVS(1629) = Jac_FULL(236,203) JVS(1629) = B(1453) IF (DO_JVS(1630)) & ! JVS(1630) = Jac_FULL(236,204) JVS(1630) = B(1802) IF (DO_JVS(1631)) & ! JVS(1631) = Jac_FULL(236,220) JVS(1631) = 0.28*B(1342) IF (DO_JVS(1632)) & ! JVS(1632) = Jac_FULL(236,235) JVS(1632) = 0.2*B(1432)+B(1434)+B(1463) IF (DO_JVS(1633)) & ! JVS(1633) = Jac_FULL(236,236) JVS(1633) = -B(1443)-B(1445)-B(1447)-B(1449)-B(1461) IF (DO_JVS(1634)) & ! JVS(1634) = Jac_FULL(236,328) JVS(1634) = -B(1462)+B(1464) IF (DO_JVS(1635)) & ! JVS(1635) = Jac_FULL(236,335) JVS(1635) = -B(1444) IF (DO_JVS(1636)) & ! JVS(1636) = Jac_FULL(236,337) JVS(1636) = 0.2*B(1433)-B(1450) IF (DO_JVS(1637)) & ! JVS(1637) = Jac_FULL(236,341) JVS(1637) = 0.28*B(1343)+B(1454) IF (DO_JVS(1638)) & ! JVS(1638) = Jac_FULL(236,345) JVS(1638) = B(1452) IF (DO_JVS(1639)) & ! JVS(1639) = Jac_FULL(236,346) JVS(1639) = B(1435)-B(1446) IF (DO_JVS(1640)) & ! JVS(1640) = Jac_FULL(236,351) JVS(1640) = -B(1448) IF (DO_JVS(1641)) & ! JVS(1641) = Jac_FULL(237,237) JVS(1641) = -B(812)-B(814)-B(816) IF (DO_JVS(1642)) & ! JVS(1642) = Jac_FULL(237,281) JVS(1642) = 0.37*B(800)+0.28*B(802)+0.37*B(804)+0.37*B(885)+0.37*B(887) IF (DO_JVS(1643)) & ! JVS(1643) = Jac_FULL(237,324) JVS(1643) = 0.37*B(888) IF (DO_JVS(1644)) & ! JVS(1644) = Jac_FULL(237,328) JVS(1644) = 0.37*B(886) IF (DO_JVS(1645)) & ! JVS(1645) = Jac_FULL(237,337) JVS(1645) = 0.37*B(801) IF (DO_JVS(1646)) & ! JVS(1646) = Jac_FULL(237,341) JVS(1646) = -B(815) IF (DO_JVS(1647)) & ! JVS(1647) = Jac_FULL(237,345) JVS(1647) = -B(813) IF (DO_JVS(1648)) & ! JVS(1648) = Jac_FULL(237,346) JVS(1648) = 0.28*B(803) IF (DO_JVS(1649)) & ! JVS(1649) = Jac_FULL(237,351) JVS(1649) = 0.37*B(805)-B(817) IF (DO_JVS(1650)) & ! JVS(1650) = Jac_FULL(238,199) JVS(1650) = 0.06*B(1029)+B(1778) IF (DO_JVS(1651)) & ! JVS(1651) = Jac_FULL(238,209) JVS(1651) = 0.06*B(1027)+B(1777) IF (DO_JVS(1652)) & ! JVS(1652) = Jac_FULL(238,238) JVS(1652) = -B(1009) IF (DO_JVS(1653)) & ! JVS(1653) = Jac_FULL(238,267) JVS(1653) = 0.45*B(1786) IF (DO_JVS(1654)) & ! JVS(1654) = Jac_FULL(238,268) JVS(1654) = 0.45*B(1783) IF (DO_JVS(1655)) & ! JVS(1655) = Jac_FULL(238,304) JVS(1655) = B(974)+B(975)+0.5*B(983)+0.45*B(999) IF (DO_JVS(1656)) & ! JVS(1656) = Jac_FULL(238,305) JVS(1656) = B(973)+B(976)+0.5*B(979)+0.45*B(991) IF (DO_JVS(1657)) & ! JVS(1657) = Jac_FULL(238,328) JVS(1657) = 0.5*B(980)+0.5*B(984) IF (DO_JVS(1658)) & ! JVS(1658) = Jac_FULL(238,337) JVS(1658) = 0 IF (DO_JVS(1659)) & ! JVS(1659) = Jac_FULL(238,345) JVS(1659) = -B(1010)+0.06*B(1028)+0.06*B(1030) IF (DO_JVS(1660)) & ! JVS(1660) = Jac_FULL(238,346) JVS(1660) = 0.45*B(992)+0.45*B(1000) IF (DO_JVS(1661)) & ! JVS(1661) = Jac_FULL(239,64) JVS(1661) = B(1755) IF (DO_JVS(1662)) & ! JVS(1662) = Jac_FULL(239,65) JVS(1662) = B(1753) IF (DO_JVS(1663)) & ! JVS(1663) = Jac_FULL(239,166) JVS(1663) = 0 IF (DO_JVS(1664)) & ! JVS(1664) = Jac_FULL(239,179) JVS(1664) = 0 IF (DO_JVS(1665)) & ! JVS(1665) = Jac_FULL(239,239) JVS(1665) = -B(71)-B(1650) IF (DO_JVS(1666)) & ! JVS(1666) = Jac_FULL(239,252) JVS(1666) = B(1585)+B(1586)+B(1591)+B(1593)+B(1595)+B(1597) IF (DO_JVS(1667)) & ! JVS(1667) = Jac_FULL(239,269) JVS(1667) = B(1805) IF (DO_JVS(1668)) & ! JVS(1668) = Jac_FULL(239,297) JVS(1668) = B(1527)+B(1529)+B(1531)+B(1533)+B(1535)+B(1537) IF (DO_JVS(1669)) & ! JVS(1669) = Jac_FULL(239,327) JVS(1669) = 0 IF (DO_JVS(1670)) & ! JVS(1670) = Jac_FULL(239,335) JVS(1670) = 0.5*B(1492) IF (DO_JVS(1671)) & ! JVS(1671) = Jac_FULL(239,339) JVS(1671) = B(1532) IF (DO_JVS(1672)) & ! JVS(1672) = Jac_FULL(239,341) JVS(1672) = 0 IF (DO_JVS(1673)) & ! JVS(1673) = Jac_FULL(239,344) JVS(1673) = B(1530)+B(1598) IF (DO_JVS(1674)) & ! JVS(1674) = Jac_FULL(239,345) JVS(1674) = B(69)-B(72) IF (DO_JVS(1675)) & ! JVS(1675) = Jac_FULL(239,346) JVS(1675) = B(70) IF (DO_JVS(1676)) & ! JVS(1676) = Jac_FULL(239,348) JVS(1676) = 0 IF (DO_JVS(1677)) & ! JVS(1677) = Jac_FULL(239,349) JVS(1677) = B(1534)+B(1592) IF (DO_JVS(1678)) & ! JVS(1678) = Jac_FULL(239,350) JVS(1678) = B(1536)+B(1594) IF (DO_JVS(1679)) & ! JVS(1679) = Jac_FULL(239,351) JVS(1679) = 0 IF (DO_JVS(1680)) & ! JVS(1680) = Jac_FULL(239,352) JVS(1680) = B(1538) IF (DO_JVS(1681)) & ! JVS(1681) = Jac_FULL(239,353) JVS(1681) = B(1528)+B(1596) IF (DO_JVS(1682)) & ! JVS(1682) = Jac_FULL(240,122) JVS(1682) = B(1411) IF (DO_JVS(1683)) & ! JVS(1683) = Jac_FULL(240,146) JVS(1683) = B(1403) IF (DO_JVS(1684)) & ! JVS(1684) = Jac_FULL(240,200) JVS(1684) = 0 IF (DO_JVS(1685)) & ! JVS(1685) = Jac_FULL(240,240) JVS(1685) = -B(1405)-B(1407)-B(1409) IF (DO_JVS(1686)) & ! JVS(1686) = Jac_FULL(240,335) JVS(1686) = -B(1410) IF (DO_JVS(1687)) & ! JVS(1687) = Jac_FULL(240,337) JVS(1687) = -B(1408) IF (DO_JVS(1688)) & ! JVS(1688) = Jac_FULL(240,345) JVS(1688) = B(1404) IF (DO_JVS(1689)) & ! JVS(1689) = Jac_FULL(240,346) JVS(1689) = -B(1406) IF (DO_JVS(1690)) & ! JVS(1690) = Jac_FULL(240,351) JVS(1690) = 0 IF (DO_JVS(1691)) & ! JVS(1691) = Jac_FULL(241,241) JVS(1691) = -B(705)-B(707)-B(709)-B(711)-B(713)-B(715) IF (DO_JVS(1692)) & ! JVS(1692) = Jac_FULL(241,290) JVS(1692) = 0.12*B(287) IF (DO_JVS(1693)) & ! JVS(1693) = Jac_FULL(241,329) JVS(1693) = -B(706) IF (DO_JVS(1694)) & ! JVS(1694) = Jac_FULL(241,335) JVS(1694) = -B(710) IF (DO_JVS(1695)) & ! JVS(1695) = Jac_FULL(241,336) JVS(1695) = -B(714)-B(716) IF (DO_JVS(1696)) & ! JVS(1696) = Jac_FULL(241,341) JVS(1696) = 0.12*B(288) IF (DO_JVS(1697)) & ! JVS(1697) = Jac_FULL(241,346) JVS(1697) = -B(708) IF (DO_JVS(1698)) & ! JVS(1698) = Jac_FULL(241,348) JVS(1698) = -B(712) IF (DO_JVS(1699)) & ! JVS(1699) = Jac_FULL(242,193) JVS(1699) = 0.7*B(865)+0.7*B(867)+0.35*B(869) IF (DO_JVS(1700)) & ! JVS(1700) = Jac_FULL(242,242) JVS(1700) = -B(927)-B(929)-B(931)-B(1624)-B(1751) IF (DO_JVS(1701)) & ! JVS(1701) = Jac_FULL(242,280) JVS(1701) = 0.3*B(905)+0.3*B(909)+0.3*B(913)+0.3*B(917)+0.6*B(921)+0.45*B(922) IF (DO_JVS(1702)) & ! JVS(1702) = Jac_FULL(242,289) JVS(1702) = 0.3*B(907)+0.15*B(911)+0.45*B(923)+0.3*B(924) IF (DO_JVS(1703)) & ! JVS(1703) = Jac_FULL(242,291) JVS(1703) = 0 IF (DO_JVS(1704)) & ! JVS(1704) = Jac_FULL(242,324) JVS(1704) = 0.3*B(914) IF (DO_JVS(1705)) & ! JVS(1705) = Jac_FULL(242,328) JVS(1705) = 0.3*B(910)+0.15*B(912) IF (DO_JVS(1706)) & ! JVS(1706) = Jac_FULL(242,337) JVS(1706) = 0.3*B(906)+0.3*B(908) IF (DO_JVS(1707)) & ! JVS(1707) = Jac_FULL(242,341) JVS(1707) = 0.7*B(868)-B(930) IF (DO_JVS(1708)) & ! JVS(1708) = Jac_FULL(242,345) JVS(1708) = 0.7*B(866)-B(928) IF (DO_JVS(1709)) & ! JVS(1709) = Jac_FULL(242,346) JVS(1709) = 0 IF (DO_JVS(1710)) & ! JVS(1710) = Jac_FULL(242,351) JVS(1710) = 0.35*B(870)+0.3*B(918)-B(932) IF (DO_JVS(1711)) & ! JVS(1711) = Jac_FULL(243,128) JVS(1711) = 0.25*B(1052) IF (DO_JVS(1712)) & ! JVS(1712) = Jac_FULL(243,192) JVS(1712) = 0.16*B(1025) IF (DO_JVS(1713)) & ! JVS(1713) = Jac_FULL(243,199) JVS(1713) = 0 IF (DO_JVS(1714)) & ! JVS(1714) = Jac_FULL(243,209) JVS(1714) = 0 IF (DO_JVS(1715)) & ! JVS(1715) = Jac_FULL(243,243) JVS(1715) = -B(1078)-B(1080)-B(1082)-B(1084) IF (DO_JVS(1716)) & ! JVS(1716) = Jac_FULL(243,267) JVS(1716) = 0 IF (DO_JVS(1717)) & ! JVS(1717) = Jac_FULL(243,268) JVS(1717) = 0 IF (DO_JVS(1718)) & ! JVS(1718) = Jac_FULL(243,304) JVS(1718) = 0 IF (DO_JVS(1719)) & ! JVS(1719) = Jac_FULL(243,305) JVS(1719) = 0 IF (DO_JVS(1720)) & ! JVS(1720) = Jac_FULL(243,337) JVS(1720) = -B(1079) IF (DO_JVS(1721)) & ! JVS(1721) = Jac_FULL(243,345) JVS(1721) = 0.16*B(1026)+0.25*B(1053) IF (DO_JVS(1722)) & ! JVS(1722) = Jac_FULL(243,346) JVS(1722) = -B(1081)-B(1083) IF (DO_JVS(1723)) & ! JVS(1723) = Jac_FULL(244,199) JVS(1723) = 0.018*B(1029) IF (DO_JVS(1724)) & ! JVS(1724) = Jac_FULL(244,224) JVS(1724) = 0.294*B(1039)+0.135*B(1043) IF (DO_JVS(1725)) & ! JVS(1725) = Jac_FULL(244,226) JVS(1725) = 0.054*B(1200)+0.07*B(1206) IF (DO_JVS(1726)) & ! JVS(1726) = Jac_FULL(244,244) JVS(1726) = -B(61)-B(1743) IF (DO_JVS(1727)) & ! JVS(1727) = Jac_FULL(244,271) JVS(1727) = 0.009*B(1198)+0.013*B(1202) IF (DO_JVS(1728)) & ! JVS(1728) = Jac_FULL(244,276) JVS(1728) = 0.3*B(955) IF (DO_JVS(1729)) & ! JVS(1729) = Jac_FULL(244,287) JVS(1729) = 0.23*B(1240) IF (DO_JVS(1730)) & ! JVS(1730) = Jac_FULL(244,303) JVS(1730) = 0.05*B(1798) IF (DO_JVS(1731)) & ! JVS(1731) = Jac_FULL(244,304) JVS(1731) = 0.3*B(968) IF (DO_JVS(1732)) & ! JVS(1732) = Jac_FULL(244,309) JVS(1732) = 0.036*B(1228) IF (DO_JVS(1733)) & ! JVS(1733) = Jac_FULL(244,311) JVS(1733) = 0 IF (DO_JVS(1734)) & ! JVS(1734) = Jac_FULL(244,313) JVS(1734) = 0.85*B(226) IF (DO_JVS(1735)) & ! JVS(1735) = Jac_FULL(244,320) JVS(1735) = 0.85*B(228) IF (DO_JVS(1736)) & ! JVS(1736) = Jac_FULL(244,337) JVS(1736) = 0.85*B(227)+0.85*B(229)+0.135*B(1044)+0.009*B(1199)+0.054*B(1201) IF (DO_JVS(1737)) & ! JVS(1737) = Jac_FULL(244,345) JVS(1737) = -B(62)+0.3*B(956)+0.018*B(1030)+0.036*B(1229)+0.23*B(1241) IF (DO_JVS(1738)) & ! JVS(1738) = Jac_FULL(244,346) JVS(1738) = 0.294*B(1040)+0.013*B(1203)+0.07*B(1207) IF (DO_JVS(1739)) & ! JVS(1739) = Jac_FULL(245,110) JVS(1739) = 0.95*B(593) IF (DO_JVS(1740)) & ! JVS(1740) = Jac_FULL(245,245) JVS(1740) = -0.75*B(491)-B(527)-B(1702) IF (DO_JVS(1741)) & ! JVS(1741) = Jac_FULL(245,297) JVS(1741) = B(1527)+B(1529)+B(1531) IF (DO_JVS(1742)) & ! JVS(1742) = Jac_FULL(245,317) JVS(1742) = B(603)+B(1515)+B(1523)+B(1525) IF (DO_JVS(1743)) & ! JVS(1743) = Jac_FULL(245,328) JVS(1743) = 0 IF (DO_JVS(1744)) & ! JVS(1744) = Jac_FULL(245,333) JVS(1744) = B(1539)+B(1543)+B(1545) IF (DO_JVS(1745)) & ! JVS(1745) = Jac_FULL(245,334) JVS(1745) = -0.75*B(492) IF (DO_JVS(1746)) & ! JVS(1746) = Jac_FULL(245,338) JVS(1746) = B(585) IF (DO_JVS(1747)) & ! JVS(1747) = Jac_FULL(245,339) JVS(1747) = B(1516)+B(1532)+B(1540) IF (DO_JVS(1748)) & ! JVS(1748) = Jac_FULL(245,340) JVS(1748) = 0.95*B(594)+B(604) IF (DO_JVS(1749)) & ! JVS(1749) = Jac_FULL(245,344) JVS(1749) = 0.5*B(1507)+B(1526)+B(1530)+B(1546) IF (DO_JVS(1750)) & ! JVS(1750) = Jac_FULL(245,345) JVS(1750) = -B(528)+0.5*B(1505)+0.5*B(1508) IF (DO_JVS(1751)) & ! JVS(1751) = Jac_FULL(245,347) JVS(1751) = 0 IF (DO_JVS(1752)) & ! JVS(1752) = Jac_FULL(245,353) JVS(1752) = 0.5*B(1506)+B(1524)+B(1528)+B(1544) IF (DO_JVS(1753)) & ! JVS(1753) = Jac_FULL(246,113) JVS(1753) = B(240) IF (DO_JVS(1754)) & ! JVS(1754) = Jac_FULL(246,246) JVS(1754) = -B(238)-B(243)-B(245) IF (DO_JVS(1755)) & ! JVS(1755) = Jac_FULL(246,320) JVS(1755) = 0.31*B(236) IF (DO_JVS(1756)) & ! JVS(1756) = Jac_FULL(246,335) JVS(1756) = -B(239) IF (DO_JVS(1757)) & ! JVS(1757) = Jac_FULL(246,337) JVS(1757) = -B(246) IF (DO_JVS(1758)) & ! JVS(1758) = Jac_FULL(246,345) JVS(1758) = 0 IF (DO_JVS(1759)) & ! JVS(1759) = Jac_FULL(246,346) JVS(1759) = 0.31*B(237)-B(244) IF (DO_JVS(1760)) & ! JVS(1760) = Jac_FULL(247,125) JVS(1760) = 0.791*B(324) IF (DO_JVS(1761)) & ! JVS(1761) = Jac_FULL(247,180) JVS(1761) = B(1220)+0.82*B(1222) IF (DO_JVS(1762)) & ! JVS(1762) = Jac_FULL(247,182) JVS(1762) = 0.231*B(1214)+0.231*B(1216) IF (DO_JVS(1763)) & ! JVS(1763) = Jac_FULL(247,206) JVS(1763) = 0.551*B(1129)+0.935*B(1131) IF (DO_JVS(1764)) & ! JVS(1764) = Jac_FULL(247,216) JVS(1764) = B(1244)+B(1774) IF (DO_JVS(1765)) & ! JVS(1765) = Jac_FULL(247,226) JVS(1765) = 0.471*B(1200)+0.59*B(1206) IF (DO_JVS(1766)) & ! JVS(1766) = Jac_FULL(247,247) JVS(1766) = -B(689)-B(1764) IF (DO_JVS(1767)) & ! JVS(1767) = Jac_FULL(247,250) JVS(1767) = 0 IF (DO_JVS(1768)) & ! JVS(1768) = Jac_FULL(247,268) JVS(1768) = 0 IF (DO_JVS(1769)) & ! JVS(1769) = Jac_FULL(247,271) JVS(1769) = 0.589*B(1198)+0.687*B(1202) IF (DO_JVS(1770)) & ! JVS(1770) = Jac_FULL(247,293) JVS(1770) = 0.242*B(1141)+0.546*B(1143) IF (DO_JVS(1771)) & ! JVS(1771) = Jac_FULL(247,299) JVS(1771) = 0 IF (DO_JVS(1772)) & ! JVS(1772) = Jac_FULL(247,301) JVS(1772) = 0 IF (DO_JVS(1773)) & ! JVS(1773) = Jac_FULL(247,303) JVS(1773) = 0 IF (DO_JVS(1774)) & ! JVS(1774) = Jac_FULL(247,308) JVS(1774) = 0 IF (DO_JVS(1775)) & ! JVS(1775) = Jac_FULL(247,309) JVS(1775) = 0.68*B(1234) IF (DO_JVS(1776)) & ! JVS(1776) = Jac_FULL(247,311) JVS(1776) = 0 IF (DO_JVS(1777)) & ! JVS(1777) = Jac_FULL(247,328) JVS(1777) = 0 IF (DO_JVS(1778)) & ! JVS(1778) = Jac_FULL(247,337) JVS(1778) = 0.551*B(1130)+0.242*B(1142)+0.589*B(1199)+0.471*B(1201)+0.231*B(1217)+0.82*B(1223) IF (DO_JVS(1779)) & ! JVS(1779) = Jac_FULL(247,345) JVS(1779) = 0.791*B(325)-B(690)+B(1245) IF (DO_JVS(1780)) & ! JVS(1780) = Jac_FULL(247,346) JVS(1780) = 0.935*B(1132)+0.546*B(1144)+0.687*B(1203)+0.59*B(1207)+0.231*B(1215)+B(1221) IF (DO_JVS(1781)) & ! JVS(1781) = Jac_FULL(247,351) JVS(1781) = 0.68*B(1235) IF (DO_JVS(1782)) & ! JVS(1782) = Jac_FULL(248,172) JVS(1782) = B(1256) IF (DO_JVS(1783)) & ! JVS(1783) = Jac_FULL(248,205) JVS(1783) = 0.059*B(1114)+0.272*B(1116) IF (DO_JVS(1784)) & ! JVS(1784) = Jac_FULL(248,231) JVS(1784) = 0 IF (DO_JVS(1785)) & ! JVS(1785) = Jac_FULL(248,248) JVS(1785) = -B(1242)-B(1639)-B(1773) IF (DO_JVS(1786)) & ! JVS(1786) = Jac_FULL(248,253) JVS(1786) = B(1285) IF (DO_JVS(1787)) & ! JVS(1787) = Jac_FULL(248,276) JVS(1787) = 0 IF (DO_JVS(1788)) & ! JVS(1788) = Jac_FULL(248,301) JVS(1788) = 0 IF (DO_JVS(1789)) & ! JVS(1789) = Jac_FULL(248,303) JVS(1789) = 0.5*B(1797) IF (DO_JVS(1790)) & ! JVS(1790) = Jac_FULL(248,304) JVS(1790) = 0 IF (DO_JVS(1791)) & ! JVS(1791) = Jac_FULL(248,305) JVS(1791) = 0 IF (DO_JVS(1792)) & ! JVS(1792) = Jac_FULL(248,308) JVS(1792) = 0.37*B(1291) IF (DO_JVS(1793)) & ! JVS(1793) = Jac_FULL(248,335) JVS(1793) = B(1257) IF (DO_JVS(1794)) & ! JVS(1794) = Jac_FULL(248,337) JVS(1794) = 0.059*B(1115)+0.37*B(1292) IF (DO_JVS(1795)) & ! JVS(1795) = Jac_FULL(248,345) JVS(1795) = -B(1243) IF (DO_JVS(1796)) & ! JVS(1796) = Jac_FULL(248,346) JVS(1796) = 0.272*B(1117)+B(1286) IF (DO_JVS(1797)) & ! JVS(1797) = Jac_FULL(249,249) JVS(1797) = -B(175)-B(224)-B(259)-B(361) IF (DO_JVS(1798)) & ! JVS(1798) = Jac_FULL(249,279) JVS(1798) = B(197) IF (DO_JVS(1799)) & ! JVS(1799) = Jac_FULL(249,324) JVS(1799) = -B(362) IF (DO_JVS(1800)) & ! JVS(1800) = Jac_FULL(249,328) JVS(1800) = -B(260) IF (DO_JVS(1801)) & ! JVS(1801) = Jac_FULL(249,337) JVS(1801) = -B(225) IF (DO_JVS(1802)) & ! JVS(1802) = Jac_FULL(249,345) JVS(1802) = B(198) IF (DO_JVS(1803)) & ! JVS(1803) = Jac_FULL(249,346) JVS(1803) = -B(176) IF (DO_JVS(1804)) & ! JVS(1804) = Jac_FULL(250,125) JVS(1804) = 0.209*B(324) IF (DO_JVS(1805)) & ! JVS(1805) = Jac_FULL(250,250) JVS(1805) = -B(191)-B(232)-B(267)-B(363) IF (DO_JVS(1806)) & ! JVS(1806) = Jac_FULL(250,290) JVS(1806) = B(310) IF (DO_JVS(1807)) & ! JVS(1807) = Jac_FULL(250,324) JVS(1807) = -B(364) IF (DO_JVS(1808)) & ! JVS(1808) = Jac_FULL(250,328) JVS(1808) = -B(268) IF (DO_JVS(1809)) & ! JVS(1809) = Jac_FULL(250,337) JVS(1809) = -B(233) IF (DO_JVS(1810)) & ! JVS(1810) = Jac_FULL(250,345) JVS(1810) = 0.209*B(325) IF (DO_JVS(1811)) & ! JVS(1811) = Jac_FULL(250,346) JVS(1811) = -B(192) IF (DO_JVS(1812)) & ! JVS(1812) = Jac_FULL(250,351) JVS(1812) = B(311) IF (DO_JVS(1813)) & ! JVS(1813) = Jac_FULL(251,251) JVS(1813) = -B(195)-B(1622)-B(1685) IF (DO_JVS(1814)) & ! JVS(1814) = Jac_FULL(251,318) JVS(1814) = B(220) IF (DO_JVS(1815)) & ! JVS(1815) = Jac_FULL(251,319) JVS(1815) = B(179) IF (DO_JVS(1816)) & ! JVS(1816) = Jac_FULL(251,320) JVS(1816) = 0.07*B(236) IF (DO_JVS(1817)) & ! JVS(1817) = Jac_FULL(251,337) JVS(1817) = B(221) IF (DO_JVS(1818)) & ! JVS(1818) = Jac_FULL(251,345) JVS(1818) = -B(196) IF (DO_JVS(1819)) & ! JVS(1819) = Jac_FULL(251,346) JVS(1819) = B(180)+0.07*B(237) IF (DO_JVS(1820)) & ! JVS(1820) = Jac_FULL(252,252) JVS(1820) = -B(648)-2*B(649)-B(1585)-B(1586)-B(1591)-B(1593)-B(1595)-B(1597)-B(1730) IF (DO_JVS(1821)) & ! JVS(1821) = Jac_FULL(252,331) JVS(1821) = B(646) IF (DO_JVS(1822)) & ! JVS(1822) = Jac_FULL(252,335) JVS(1822) = B(647) IF (DO_JVS(1823)) & ! JVS(1823) = Jac_FULL(252,344) JVS(1823) = -B(1598) IF (DO_JVS(1824)) & ! JVS(1824) = Jac_FULL(252,349) JVS(1824) = -B(1592) IF (DO_JVS(1825)) & ! JVS(1825) = Jac_FULL(252,350) JVS(1825) = -B(1594) IF (DO_JVS(1826)) & ! JVS(1826) = Jac_FULL(252,353) JVS(1826) = -B(1596) IF (DO_JVS(1827)) & ! JVS(1827) = Jac_FULL(253,172) JVS(1827) = B(1252)+B(1254) IF (DO_JVS(1828)) & ! JVS(1828) = Jac_FULL(253,231) JVS(1828) = 0 IF (DO_JVS(1829)) & ! JVS(1829) = Jac_FULL(253,253) JVS(1829) = -B(1276)-B(1282)-B(1283)-B(1285) IF (DO_JVS(1830)) & ! JVS(1830) = Jac_FULL(253,276) JVS(1830) = 0 IF (DO_JVS(1831)) & ! JVS(1831) = Jac_FULL(253,301) JVS(1831) = 0 IF (DO_JVS(1832)) & ! JVS(1832) = Jac_FULL(253,304) JVS(1832) = 0 IF (DO_JVS(1833)) & ! JVS(1833) = Jac_FULL(253,309) JVS(1833) = 0.964*B(1228) IF (DO_JVS(1834)) & ! JVS(1834) = Jac_FULL(253,335) JVS(1834) = 0 IF (DO_JVS(1835)) & ! JVS(1835) = Jac_FULL(253,337) JVS(1835) = B(1255)-B(1277) IF (DO_JVS(1836)) & ! JVS(1836) = Jac_FULL(253,345) JVS(1836) = 0.964*B(1229) IF (DO_JVS(1837)) & ! JVS(1837) = Jac_FULL(253,346) JVS(1837) = B(1253)-B(1284)-B(1286) IF (DO_JVS(1838)) & ! JVS(1838) = Jac_FULL(254,171) JVS(1838) = B(1246)+B(1248) IF (DO_JVS(1839)) & ! JVS(1839) = Jac_FULL(254,230) JVS(1839) = 0 IF (DO_JVS(1840)) & ! JVS(1840) = Jac_FULL(254,254) JVS(1840) = -B(1270)-B(1272)-B(1274) IF (DO_JVS(1841)) & ! JVS(1841) = Jac_FULL(254,276) JVS(1841) = 0 IF (DO_JVS(1842)) & ! JVS(1842) = Jac_FULL(254,301) JVS(1842) = 0 IF (DO_JVS(1843)) & ! JVS(1843) = Jac_FULL(254,305) JVS(1843) = 0 IF (DO_JVS(1844)) & ! JVS(1844) = Jac_FULL(254,314) JVS(1844) = B(1224) IF (DO_JVS(1845)) & ! JVS(1845) = Jac_FULL(254,335) JVS(1845) = 0 IF (DO_JVS(1846)) & ! JVS(1846) = Jac_FULL(254,337) JVS(1846) = B(1249)-B(1271) IF (DO_JVS(1847)) & ! JVS(1847) = Jac_FULL(254,345) JVS(1847) = B(1225) IF (DO_JVS(1848)) & ! JVS(1848) = Jac_FULL(254,346) JVS(1848) = B(1247)-B(1273)-B(1275) IF (DO_JVS(1849)) & ! JVS(1849) = Jac_FULL(255,167) JVS(1849) = 0.27*B(725) IF (DO_JVS(1850)) & ! JVS(1850) = Jac_FULL(255,255) JVS(1850) = -B(806)-B(808)-B(810)-B(1817) IF (DO_JVS(1851)) & ! JVS(1851) = Jac_FULL(255,281) JVS(1851) = 0.63*B(800)+0.47*B(802)+0.63*B(804)+0.63*B(885)+0.63*B(887) IF (DO_JVS(1852)) & ! JVS(1852) = Jac_FULL(255,324) JVS(1852) = 0.63*B(888) IF (DO_JVS(1853)) & ! JVS(1853) = Jac_FULL(255,328) JVS(1853) = 0.63*B(886) IF (DO_JVS(1854)) & ! JVS(1854) = Jac_FULL(255,337) JVS(1854) = 0.63*B(801) IF (DO_JVS(1855)) & ! JVS(1855) = Jac_FULL(255,341) JVS(1855) = 0.27*B(726)-B(809) IF (DO_JVS(1856)) & ! JVS(1856) = Jac_FULL(255,345) JVS(1856) = -B(807) IF (DO_JVS(1857)) & ! JVS(1857) = Jac_FULL(255,346) JVS(1857) = 0.47*B(803) IF (DO_JVS(1858)) & ! JVS(1858) = Jac_FULL(255,351) JVS(1858) = 0.63*B(805)-B(811) IF (DO_JVS(1859)) & ! JVS(1859) = Jac_FULL(256,162) JVS(1859) = 0.5*B(798) IF (DO_JVS(1860)) & ! JVS(1860) = Jac_FULL(256,176) JVS(1860) = 0.5*B(772) IF (DO_JVS(1861)) & ! JVS(1861) = Jac_FULL(256,177) JVS(1861) = 0.5*B(836) IF (DO_JVS(1862)) & ! JVS(1862) = Jac_FULL(256,211) JVS(1862) = 0 IF (DO_JVS(1863)) & ! JVS(1863) = Jac_FULL(256,237) JVS(1863) = 0 IF (DO_JVS(1864)) & ! JVS(1864) = Jac_FULL(256,255) JVS(1864) = 0 IF (DO_JVS(1865)) & ! JVS(1865) = Jac_FULL(256,256) JVS(1865) = -B(925)-B(933)-B(1623)-B(1750) IF (DO_JVS(1866)) & ! JVS(1866) = Jac_FULL(256,272) JVS(1866) = 0 IF (DO_JVS(1867)) & ! JVS(1867) = Jac_FULL(256,273) JVS(1867) = 0 IF (DO_JVS(1868)) & ! JVS(1868) = Jac_FULL(256,275) JVS(1868) = 0 IF (DO_JVS(1869)) & ! JVS(1869) = Jac_FULL(256,277) JVS(1869) = 0 IF (DO_JVS(1870)) & ! JVS(1870) = Jac_FULL(256,278) JVS(1870) = 0 IF (DO_JVS(1871)) & ! JVS(1871) = Jac_FULL(256,280) JVS(1871) = B(901)+0.7*B(905)+0.7*B(909)+0.7*B(913)+0.7*B(917)+1.4*B(921)+1.05*B(922) IF (DO_JVS(1872)) & ! JVS(1872) = Jac_FULL(256,281) JVS(1872) = 0 IF (DO_JVS(1873)) & ! JVS(1873) = Jac_FULL(256,289) JVS(1873) = 0.7*B(907)+0.35*B(911)+1.05*B(923)+0.7*B(924) IF (DO_JVS(1874)) & ! JVS(1874) = Jac_FULL(256,324) JVS(1874) = 0.7*B(914) IF (DO_JVS(1875)) & ! JVS(1875) = Jac_FULL(256,328) JVS(1875) = 0.7*B(910)+0.35*B(912) IF (DO_JVS(1876)) & ! JVS(1876) = Jac_FULL(256,337) JVS(1876) = 0.7*B(906)+0.7*B(908) IF (DO_JVS(1877)) & ! JVS(1877) = Jac_FULL(256,341) JVS(1877) = 0 IF (DO_JVS(1878)) & ! JVS(1878) = Jac_FULL(256,345) JVS(1878) = 0.5*B(773)+0.5*B(799)+0.5*B(837)-B(926) IF (DO_JVS(1879)) & ! JVS(1879) = Jac_FULL(256,346) JVS(1879) = B(902) IF (DO_JVS(1880)) & ! JVS(1880) = Jac_FULL(256,351) JVS(1880) = 0.7*B(918)-B(934) IF (DO_JVS(1881)) & ! JVS(1881) = Jac_FULL(257,56) JVS(1881) = B(755) IF (DO_JVS(1882)) & ! JVS(1882) = Jac_FULL(257,74) JVS(1882) = B(758) IF (DO_JVS(1883)) & ! JVS(1883) = Jac_FULL(257,111) JVS(1883) = 0.4*B(741) IF (DO_JVS(1884)) & ! JVS(1884) = Jac_FULL(257,225) JVS(1884) = B(745)+B(747) IF (DO_JVS(1885)) & ! JVS(1885) = Jac_FULL(257,257) JVS(1885) = -B(749)-B(751)-B(753)-B(756)-B(893)-B(895) IF (DO_JVS(1886)) & ! JVS(1886) = Jac_FULL(257,277) JVS(1886) = 0 IF (DO_JVS(1887)) & ! JVS(1887) = Jac_FULL(257,324) JVS(1887) = -B(896) IF (DO_JVS(1888)) & ! JVS(1888) = Jac_FULL(257,328) JVS(1888) = -B(894) IF (DO_JVS(1889)) & ! JVS(1889) = Jac_FULL(257,335) JVS(1889) = -B(754) IF (DO_JVS(1890)) & ! JVS(1890) = Jac_FULL(257,337) JVS(1890) = -B(750) IF (DO_JVS(1891)) & ! JVS(1891) = Jac_FULL(257,341) JVS(1891) = 0 IF (DO_JVS(1892)) & ! JVS(1892) = Jac_FULL(257,345) JVS(1892) = 0.4*B(742)+B(748)+B(759) IF (DO_JVS(1893)) & ! JVS(1893) = Jac_FULL(257,346) JVS(1893) = -B(752) IF (DO_JVS(1894)) & ! JVS(1894) = Jac_FULL(257,351) JVS(1894) = B(746)-B(757) IF (DO_JVS(1895)) & ! JVS(1895) = Jac_FULL(258,174) JVS(1895) = 0.333*B(1310)+0.75*B(1794) IF (DO_JVS(1896)) & ! JVS(1896) = Jac_FULL(258,223) JVS(1896) = 0.176*B(1031) IF (DO_JVS(1897)) & ! JVS(1897) = Jac_FULL(258,224) JVS(1897) = 0.548*B(1038) IF (DO_JVS(1898)) & ! JVS(1898) = Jac_FULL(258,232) JVS(1898) = 0 IF (DO_JVS(1899)) & ! JVS(1899) = Jac_FULL(258,243) JVS(1899) = 0.35*B(1078) IF (DO_JVS(1900)) & ! JVS(1900) = Jac_FULL(258,258) JVS(1900) = -B(1306)-B(1792)-B(1793) IF (DO_JVS(1901)) & ! JVS(1901) = Jac_FULL(258,267) JVS(1901) = 0 IF (DO_JVS(1902)) & ! JVS(1902) = Jac_FULL(258,268) JVS(1902) = 0 IF (DO_JVS(1903)) & ! JVS(1903) = Jac_FULL(258,285) JVS(1903) = 0.35*B(1076) IF (DO_JVS(1904)) & ! JVS(1904) = Jac_FULL(258,286) JVS(1904) = 0.35*B(1064) IF (DO_JVS(1905)) & ! JVS(1905) = Jac_FULL(258,304) JVS(1905) = 0 IF (DO_JVS(1906)) & ! JVS(1906) = Jac_FULL(258,305) JVS(1906) = 0 IF (DO_JVS(1907)) & ! JVS(1907) = Jac_FULL(258,337) JVS(1907) = 0.35*B(1065)+0.35*B(1077)+0.35*B(1079) IF (DO_JVS(1908)) & ! JVS(1908) = Jac_FULL(258,345) JVS(1908) = -B(1307)+0.333*B(1311) IF (DO_JVS(1909)) & ! JVS(1909) = Jac_FULL(258,346) JVS(1909) = 0 IF (DO_JVS(1910)) & ! JVS(1910) = Jac_FULL(259,159) JVS(1910) = 0.165*B(1280) IF (DO_JVS(1911)) & ! JVS(1911) = Jac_FULL(259,184) JVS(1911) = B(1301) IF (DO_JVS(1912)) & ! JVS(1912) = Jac_FULL(259,259) JVS(1912) = -B(1278)-B(1287)-B(1289) IF (DO_JVS(1913)) & ! JVS(1913) = Jac_FULL(259,308) JVS(1913) = 0 IF (DO_JVS(1914)) & ! JVS(1914) = Jac_FULL(259,309) JVS(1914) = B(1230)+0.32*B(1234) IF (DO_JVS(1915)) & ! JVS(1915) = Jac_FULL(259,335) JVS(1915) = -B(1290) IF (DO_JVS(1916)) & ! JVS(1916) = Jac_FULL(259,337) JVS(1916) = -B(1279) IF (DO_JVS(1917)) & ! JVS(1917) = Jac_FULL(259,345) JVS(1917) = B(1231)+0.165*B(1281) IF (DO_JVS(1918)) & ! JVS(1918) = Jac_FULL(259,346) JVS(1918) = -B(1288) IF (DO_JVS(1919)) & ! JVS(1919) = Jac_FULL(259,351) JVS(1919) = 0.32*B(1235) IF (DO_JVS(1920)) & ! JVS(1920) = Jac_FULL(260,123) JVS(1920) = 0.209*B(338) IF (DO_JVS(1921)) & ! JVS(1921) = Jac_FULL(260,260) JVS(1921) = -B(122)-B(216)-B(281)-B(369) IF (DO_JVS(1922)) & ! JVS(1922) = Jac_FULL(260,290) JVS(1922) = B(285)+B(639)+B(641) IF (DO_JVS(1923)) & ! JVS(1923) = Jac_FULL(260,324) JVS(1923) = -B(370) IF (DO_JVS(1924)) & ! JVS(1924) = Jac_FULL(260,328) JVS(1924) = -B(217) IF (DO_JVS(1925)) & ! JVS(1925) = Jac_FULL(260,337) JVS(1925) = -B(282) IF (DO_JVS(1926)) & ! JVS(1926) = Jac_FULL(260,340) JVS(1926) = B(640) IF (DO_JVS(1927)) & ! JVS(1927) = Jac_FULL(260,342) JVS(1927) = B(642) IF (DO_JVS(1928)) & ! JVS(1928) = Jac_FULL(260,345) JVS(1928) = B(286)+0.209*B(339) IF (DO_JVS(1929)) & ! JVS(1929) = Jac_FULL(260,346) JVS(1929) = -B(123) IF (DO_JVS(1930)) & ! JVS(1930) = Jac_FULL(261,180) JVS(1930) = 0.89*B(1220)+0.73*B(1222) IF (DO_JVS(1931)) & ! JVS(1931) = Jac_FULL(261,182) JVS(1931) = 0.099*B(1214)+0.099*B(1216) IF (DO_JVS(1932)) & ! JVS(1932) = Jac_FULL(261,207) JVS(1932) = 0.441*B(1135)+0.858*B(1137) IF (DO_JVS(1933)) & ! JVS(1933) = Jac_FULL(261,226) JVS(1933) = 0.054*B(1200)+0.07*B(1206) IF (DO_JVS(1934)) & ! JVS(1934) = Jac_FULL(261,261) JVS(1934) = -B(687)-B(1318)-B(1749) IF (DO_JVS(1935)) & ! JVS(1935) = Jac_FULL(261,267) JVS(1935) = 0 IF (DO_JVS(1936)) & ! JVS(1936) = Jac_FULL(261,271) JVS(1936) = 0.051*B(1198)+0.064*B(1202) IF (DO_JVS(1937)) & ! JVS(1937) = Jac_FULL(261,293) JVS(1937) = 0.033*B(1141)+0.071*B(1143) IF (DO_JVS(1938)) & ! JVS(1938) = Jac_FULL(261,299) JVS(1938) = 0 IF (DO_JVS(1939)) & ! JVS(1939) = Jac_FULL(261,301) JVS(1939) = 0 IF (DO_JVS(1940)) & ! JVS(1940) = Jac_FULL(261,302) JVS(1940) = 0.3*B(1772) IF (DO_JVS(1941)) & ! JVS(1941) = Jac_FULL(261,303) JVS(1941) = 0.15*B(1797) IF (DO_JVS(1942)) & ! JVS(1942) = Jac_FULL(261,311) JVS(1942) = 0 IF (DO_JVS(1943)) & ! JVS(1943) = Jac_FULL(261,337) JVS(1943) = 0.441*B(1136)+0.033*B(1142)+0.051*B(1199)+0.054*B(1201)+0.099*B(1217)+0.73*B(1223) IF (DO_JVS(1944)) & ! JVS(1944) = Jac_FULL(261,345) JVS(1944) = -B(688) IF (DO_JVS(1945)) & ! JVS(1945) = Jac_FULL(261,346) JVS(1945) = 0.858*B(1138)+0.071*B(1144)+0.064*B(1203)+0.07*B(1207)+0.099*B(1215)+0.89*B(1221) IF (DO_JVS(1946)) & ! JVS(1946) = Jac_FULL(261,351) JVS(1946) = -B(1319) IF (DO_JVS(1947)) & ! JVS(1947) = Jac_FULL(262,193) JVS(1947) = 0.3*B(865)+0.3*B(867)+0.15*B(869) IF (DO_JVS(1948)) & ! JVS(1948) = Jac_FULL(262,219) JVS(1948) = 0.4*B(729) IF (DO_JVS(1949)) & ! JVS(1949) = Jac_FULL(262,229) JVS(1949) = 0.78*B(859)+0.78*B(861)+0.39*B(863)+0.675*B(1816) IF (DO_JVS(1950)) & ! JVS(1950) = Jac_FULL(262,262) JVS(1950) = -B(871)-B(873)-B(875) IF (DO_JVS(1951)) & ! JVS(1951) = Jac_FULL(262,291) JVS(1951) = 0.675*B(855)+0.675*B(857)+0.675*B(889)+0.675*B(891) IF (DO_JVS(1952)) & ! JVS(1952) = Jac_FULL(262,324) JVS(1952) = 0.675*B(892) IF (DO_JVS(1953)) & ! JVS(1953) = Jac_FULL(262,328) JVS(1953) = 0.675*B(890) IF (DO_JVS(1954)) & ! JVS(1954) = Jac_FULL(262,337) JVS(1954) = 0 IF (DO_JVS(1955)) & ! JVS(1955) = Jac_FULL(262,341) JVS(1955) = 0.4*B(730)+0.78*B(862)+0.3*B(868)-B(874) IF (DO_JVS(1956)) & ! JVS(1956) = Jac_FULL(262,345) JVS(1956) = 0.78*B(860)+0.3*B(866)-B(872) IF (DO_JVS(1957)) & ! JVS(1957) = Jac_FULL(262,346) JVS(1957) = 0.675*B(856) IF (DO_JVS(1958)) & ! JVS(1958) = Jac_FULL(262,351) JVS(1958) = 0.675*B(858)+0.39*B(864)+0.15*B(870)-B(876) IF (DO_JVS(1959)) & ! JVS(1959) = Jac_FULL(263,82) JVS(1959) = 0.81*B(1383) IF (DO_JVS(1960)) & ! JVS(1960) = Jac_FULL(263,101) JVS(1960) = 0.85*B(1385) IF (DO_JVS(1961)) & ! JVS(1961) = Jac_FULL(263,137) JVS(1961) = 0.5*B(743) IF (DO_JVS(1962)) & ! JVS(1962) = Jac_FULL(263,138) JVS(1962) = 0.5*B(780) IF (DO_JVS(1963)) & ! JVS(1963) = Jac_FULL(263,143) JVS(1963) = 0.46*B(1381) IF (DO_JVS(1964)) & ! JVS(1964) = Jac_FULL(263,149) JVS(1964) = 0.813*B(1344)+B(1346) IF (DO_JVS(1965)) & ! JVS(1965) = Jac_FULL(263,158) JVS(1965) = 0.2*B(1418)+0.2*B(1420) IF (DO_JVS(1966)) & ! JVS(1966) = Jac_FULL(263,160) JVS(1966) = 0.5*B(770)+B(1811) IF (DO_JVS(1967)) & ! JVS(1967) = Jac_FULL(263,167) JVS(1967) = 0.15*B(725) IF (DO_JVS(1968)) & ! JVS(1968) = Jac_FULL(263,176) JVS(1968) = 0.55*B(772) IF (DO_JVS(1969)) & ! JVS(1969) = Jac_FULL(263,193) JVS(1969) = 0.7*B(865)+0.7*B(867)+0.35*B(869) IF (DO_JVS(1970)) & ! JVS(1970) = Jac_FULL(263,195) JVS(1970) = 0.14*B(1414) IF (DO_JVS(1971)) & ! JVS(1971) = Jac_FULL(263,200) JVS(1971) = 0.93*B(1348)+B(1350) IF (DO_JVS(1972)) & ! JVS(1972) = Jac_FULL(263,202) JVS(1972) = 0.7*B(1422)+0.2*B(1426) IF (DO_JVS(1973)) & ! JVS(1973) = Jac_FULL(263,211) JVS(1973) = B(822) IF (DO_JVS(1974)) & ! JVS(1974) = Jac_FULL(263,219) JVS(1974) = 0.5*B(729) IF (DO_JVS(1975)) & ! JVS(1975) = Jac_FULL(263,220) JVS(1975) = 0.7*B(1338)+B(1340) IF (DO_JVS(1976)) & ! JVS(1976) = Jac_FULL(263,229) JVS(1976) = 0.7*B(859)+0.7*B(861)+0.35*B(863) IF (DO_JVS(1977)) & ! JVS(1977) = Jac_FULL(263,237) JVS(1977) = B(816) IF (DO_JVS(1978)) & ! JVS(1978) = Jac_FULL(263,255) JVS(1978) = B(810) IF (DO_JVS(1979)) & ! JVS(1979) = Jac_FULL(263,262) JVS(1979) = B(871)+B(873)+0.5*B(875) IF (DO_JVS(1980)) & ! JVS(1980) = Jac_FULL(263,263) JVS(1980) = -B(1387)-B(1389)-B(1391)-B(1393)-B(1395) IF (DO_JVS(1981)) & ! JVS(1981) = Jac_FULL(263,275) JVS(1981) = 0 IF (DO_JVS(1982)) & ! JVS(1982) = Jac_FULL(263,277) JVS(1982) = 0 IF (DO_JVS(1983)) & ! JVS(1983) = Jac_FULL(263,278) JVS(1983) = 0.84*B(764)+B(766)+0.75*B(768) IF (DO_JVS(1984)) & ! JVS(1984) = Jac_FULL(263,281) JVS(1984) = 0 IF (DO_JVS(1985)) & ! JVS(1985) = Jac_FULL(263,291) JVS(1985) = 0 IF (DO_JVS(1986)) & ! JVS(1986) = Jac_FULL(263,324) JVS(1986) = -B(1396) IF (DO_JVS(1987)) & ! JVS(1987) = Jac_FULL(263,328) JVS(1987) = 0.75*B(769)-B(1394) IF (DO_JVS(1988)) & ! JVS(1988) = Jac_FULL(263,337) JVS(1988) = -B(1388) IF (DO_JVS(1989)) & ! JVS(1989) = Jac_FULL(263,341) JVS(1989) = 0.15*B(726)+0.5*B(730)+0.7*B(862)+0.7*B(868)+B(874) IF (DO_JVS(1990)) & ! JVS(1990) = Jac_FULL(263,345) JVS(1990) = 0.5*B(744)+0.5*B(771)+0.55*B(773)+0.5*B(781)+0.7*B(860)+0.7*B(866)+B(872)+0.7*B(1339)+0.813*B(1345)+0.93& &*B(1349)+0.46*B(1382)+0.81*B(1384)+0.85*B(1386)+0.14*B(1415)+0.2*B(1419)+0.7*B(1423) IF (DO_JVS(1991)) & ! JVS(1991) = Jac_FULL(263,346) JVS(1991) = 0.84*B(765)-B(1390) IF (DO_JVS(1992)) & ! JVS(1992) = Jac_FULL(263,351) JVS(1992) = B(767)+B(811)+B(817)+B(823)+0.35*B(864)+0.35*B(870)+0.5*B(876)+B(1341)+B(1347)+B(1351)-B(1392)+0.2*B(1421)& &+0.2*B(1427) IF (DO_JVS(1993)) & ! JVS(1993) = Jac_FULL(264,241) JVS(1993) = B(713) IF (DO_JVS(1994)) & ! JVS(1994) = Jac_FULL(264,264) JVS(1994) = -B(15)-B(40)-B(469)-B(571)-B(1645) IF (DO_JVS(1995)) & ! JVS(1995) = Jac_FULL(264,276) JVS(1995) = 0.013*B(947) IF (DO_JVS(1996)) & ! JVS(1996) = Jac_FULL(264,290) JVS(1996) = 0 IF (DO_JVS(1997)) & ! JVS(1997) = Jac_FULL(264,312) JVS(1997) = 0.06*B(697)+0.06*B(699) IF (DO_JVS(1998)) & ! JVS(1998) = Jac_FULL(264,314) JVS(1998) = 0.045*B(1226) IF (DO_JVS(1999)) & ! JVS(1999) = Jac_FULL(264,329) JVS(1999) = 0 IF (DO_JVS(2000)) & ! JVS(2000) = Jac_FULL(264,335) JVS(2000) = 0 IF (DO_JVS(2001)) & ! JVS(2001) = Jac_FULL(264,336) JVS(2001) = 0.06*B(698)+0.06*B(700)+B(714) IF (DO_JVS(2002)) & ! JVS(2002) = Jac_FULL(264,337) JVS(2002) = B(44) IF (DO_JVS(2003)) & ! JVS(2003) = Jac_FULL(264,340) JVS(2003) = -B(572) IF (DO_JVS(2004)) & ! JVS(2004) = Jac_FULL(264,341) JVS(2004) = 0.013*B(948)+0.045*B(1227) IF (DO_JVS(2005)) & ! JVS(2005) = Jac_FULL(264,343) JVS(2005) = -B(470) IF (DO_JVS(2006)) & ! JVS(2006) = Jac_FULL(264,345) JVS(2006) = B(37)-B(41) IF (DO_JVS(2007)) & ! JVS(2007) = Jac_FULL(264,346) JVS(2007) = 0 IF (DO_JVS(2008)) & ! JVS(2008) = Jac_FULL(264,348) JVS(2008) = -B(16) IF (DO_JVS(2009)) & ! JVS(2009) = Jac_FULL(265,60) JVS(2009) = 0.364*B(1362) IF (DO_JVS(2010)) & ! JVS(2010) = Jac_FULL(265,88) JVS(2010) = 0.5*B(1322) IF (DO_JVS(2011)) & ! JVS(2011) = Jac_FULL(265,107) JVS(2011) = 0.3*B(1304) IF (DO_JVS(2012)) & ! JVS(2012) = Jac_FULL(265,159) JVS(2012) = 0 IF (DO_JVS(2013)) & ! JVS(2013) = Jac_FULL(265,184) JVS(2013) = 0 IF (DO_JVS(2014)) & ! JVS(2014) = Jac_FULL(265,194) JVS(2014) = 0.187*B(1258) IF (DO_JVS(2015)) & ! JVS(2015) = Jac_FULL(265,201) JVS(2015) = 0.1*B(1470)+0.2*B(1472) IF (DO_JVS(2016)) & ! JVS(2016) = Jac_FULL(265,221) JVS(2016) = 0.26*B(1465)+0.5*B(1467) IF (DO_JVS(2017)) & ! JVS(2017) = Jac_FULL(265,230) JVS(2017) = 0 IF (DO_JVS(2018)) & ! JVS(2018) = Jac_FULL(265,231) JVS(2018) = 0 IF (DO_JVS(2019)) & ! JVS(2019) = Jac_FULL(265,259) JVS(2019) = 0 IF (DO_JVS(2020)) & ! JVS(2020) = Jac_FULL(265,265) JVS(2020) = -B(87)-B(611) IF (DO_JVS(2021)) & ! JVS(2021) = Jac_FULL(265,269) JVS(2021) = 0 IF (DO_JVS(2022)) & ! JVS(2022) = Jac_FULL(265,276) JVS(2022) = 0 IF (DO_JVS(2023)) & ! JVS(2023) = Jac_FULL(265,301) JVS(2023) = 0 IF (DO_JVS(2024)) & ! JVS(2024) = Jac_FULL(265,302) JVS(2024) = 0.449*B(1236) IF (DO_JVS(2025)) & ! JVS(2025) = Jac_FULL(265,303) JVS(2025) = 0 IF (DO_JVS(2026)) & ! JVS(2026) = Jac_FULL(265,304) JVS(2026) = 0 IF (DO_JVS(2027)) & ! JVS(2027) = Jac_FULL(265,305) JVS(2027) = 0 IF (DO_JVS(2028)) & ! JVS(2028) = Jac_FULL(265,306) JVS(2028) = 0.134*B(289)+B(291) IF (DO_JVS(2029)) & ! JVS(2029) = Jac_FULL(265,307) JVS(2029) = 0.5*B(322) IF (DO_JVS(2030)) & ! JVS(2030) = Jac_FULL(265,308) JVS(2030) = 0 IF (DO_JVS(2031)) & ! JVS(2031) = Jac_FULL(265,309) JVS(2031) = 0 IF (DO_JVS(2032)) & ! JVS(2032) = Jac_FULL(265,312) JVS(2032) = 0.21*B(697)+0.54*B(699) IF (DO_JVS(2033)) & ! JVS(2033) = Jac_FULL(265,335) JVS(2033) = 0 IF (DO_JVS(2034)) & ! JVS(2034) = Jac_FULL(265,336) JVS(2034) = 0.21*B(698)+0.54*B(700) IF (DO_JVS(2035)) & ! JVS(2035) = Jac_FULL(265,337) JVS(2035) = 0 IF (DO_JVS(2036)) & ! JVS(2036) = Jac_FULL(265,340) JVS(2036) = -B(612) IF (DO_JVS(2037)) & ! JVS(2037) = Jac_FULL(265,341) JVS(2037) = 0.5*B(1468)+0.2*B(1473) IF (DO_JVS(2038)) & ! JVS(2038) = Jac_FULL(265,345) JVS(2038) = -B(88)+0.134*B(290)+B(292)+0.5*B(323)+0.449*B(1237)+0.187*B(1259)+0.3*B(1305)+0.5*B(1323)+0.364*B(1363)& &+0.26*B(1466)+0.1*B(1471) IF (DO_JVS(2039)) & ! JVS(2039) = Jac_FULL(265,346) JVS(2039) = 0 IF (DO_JVS(2040)) & ! JVS(2040) = Jac_FULL(265,351) JVS(2040) = 0 IF (DO_JVS(2041)) & ! JVS(2041) = Jac_FULL(266,190) JVS(2041) = B(1120) IF (DO_JVS(2042)) & ! JVS(2042) = Jac_FULL(266,205) JVS(2042) = B(1113) IF (DO_JVS(2043)) & ! JVS(2043) = Jac_FULL(266,206) JVS(2043) = B(1127) IF (DO_JVS(2044)) & ! JVS(2044) = Jac_FULL(266,207) JVS(2044) = B(1128) IF (DO_JVS(2045)) & ! JVS(2045) = Jac_FULL(266,226) JVS(2045) = B(1196) IF (DO_JVS(2046)) & ! JVS(2046) = Jac_FULL(266,243) JVS(2046) = B(1080) IF (DO_JVS(2047)) & ! JVS(2047) = Jac_FULL(266,266) JVS(2047) = -B(1314)-B(1636)-B(1799)-B(1800) IF (DO_JVS(2048)) & ! JVS(2048) = Jac_FULL(266,267) JVS(2048) = 0 IF (DO_JVS(2049)) & ! JVS(2049) = Jac_FULL(266,268) JVS(2049) = 0 IF (DO_JVS(2050)) & ! JVS(2050) = Jac_FULL(266,271) JVS(2050) = 0.5*B(1197) IF (DO_JVS(2051)) & ! JVS(2051) = Jac_FULL(266,285) JVS(2051) = B(1074) IF (DO_JVS(2052)) & ! JVS(2052) = Jac_FULL(266,286) JVS(2052) = B(1068) IF (DO_JVS(2053)) & ! JVS(2053) = Jac_FULL(266,303) JVS(2053) = 0.9*B(1316) IF (DO_JVS(2054)) & ! JVS(2054) = Jac_FULL(266,304) JVS(2054) = 0 IF (DO_JVS(2055)) & ! JVS(2055) = Jac_FULL(266,305) JVS(2055) = 0 IF (DO_JVS(2056)) & ! JVS(2056) = Jac_FULL(266,311) JVS(2056) = 0 IF (DO_JVS(2057)) & ! JVS(2057) = Jac_FULL(266,337) JVS(2057) = 0 IF (DO_JVS(2058)) & ! JVS(2058) = Jac_FULL(266,345) JVS(2058) = -B(1315)+0.9*B(1317) IF (DO_JVS(2059)) & ! JVS(2059) = Jac_FULL(266,346) JVS(2059) = B(1069)+B(1075)+B(1081) IF (DO_JVS(2060)) & ! JVS(2060) = Jac_FULL(267,267) JVS(2060) = -B(1105)-B(1107)-B(1111)-B(1631)-B(1786) IF (DO_JVS(2061)) & ! JVS(2061) = Jac_FULL(267,305) JVS(2061) = B(989) IF (DO_JVS(2062)) & ! JVS(2062) = Jac_FULL(267,311) JVS(2062) = 0.127*B(1156)+0.057*B(1157) IF (DO_JVS(2063)) & ! JVS(2063) = Jac_FULL(267,328) JVS(2063) = 0.057*B(1158) IF (DO_JVS(2064)) & ! JVS(2064) = Jac_FULL(267,345) JVS(2064) = -B(1106)-B(1108)-B(1112) IF (DO_JVS(2065)) & ! JVS(2065) = Jac_FULL(267,346) JVS(2065) = B(990) IF (DO_JVS(2066)) & ! JVS(2066) = Jac_FULL(268,268) JVS(2066) = -B(1101)-B(1103)-B(1109)-B(1628)-B(1783) IF (DO_JVS(2067)) & ! JVS(2067) = Jac_FULL(268,304) JVS(2067) = B(997) IF (DO_JVS(2068)) & ! JVS(2068) = Jac_FULL(268,310) JVS(2068) = 0.032*B(1154) IF (DO_JVS(2069)) & ! JVS(2069) = Jac_FULL(268,311) JVS(2069) = 0.032*B(1155)+0.671*B(1156)+0.298*B(1157) IF (DO_JVS(2070)) & ! JVS(2070) = Jac_FULL(268,328) JVS(2070) = 0.298*B(1158) IF (DO_JVS(2071)) & ! JVS(2071) = Jac_FULL(268,345) JVS(2071) = -B(1102)-B(1104)-B(1110) IF (DO_JVS(2072)) & ! JVS(2072) = Jac_FULL(268,346) JVS(2072) = B(998) IF (DO_JVS(2073)) & ! JVS(2073) = Jac_FULL(269,158) JVS(2073) = 0.5*B(1420) IF (DO_JVS(2074)) & ! JVS(2074) = Jac_FULL(269,195) JVS(2074) = 0.258*B(1416) IF (DO_JVS(2075)) & ! JVS(2075) = Jac_FULL(269,200) JVS(2075) = 0 IF (DO_JVS(2076)) & ! JVS(2076) = Jac_FULL(269,202) JVS(2076) = 0.5*B(1426) IF (DO_JVS(2077)) & ! JVS(2077) = Jac_FULL(269,203) JVS(2077) = B(1455) IF (DO_JVS(2078)) & ! JVS(2078) = Jac_FULL(269,220) JVS(2078) = 0 IF (DO_JVS(2079)) & ! JVS(2079) = Jac_FULL(269,235) JVS(2079) = 0 IF (DO_JVS(2080)) & ! JVS(2080) = Jac_FULL(269,236) JVS(2080) = 0 IF (DO_JVS(2081)) & ! JVS(2081) = Jac_FULL(269,269) JVS(2081) = -B(1457)-B(1459)-B(1640)-B(1805) IF (DO_JVS(2082)) & ! JVS(2082) = Jac_FULL(269,328) JVS(2082) = 0 IF (DO_JVS(2083)) & ! JVS(2083) = Jac_FULL(269,335) JVS(2083) = B(1456) IF (DO_JVS(2084)) & ! JVS(2084) = Jac_FULL(269,337) JVS(2084) = 0 IF (DO_JVS(2085)) & ! JVS(2085) = Jac_FULL(269,341) JVS(2085) = 0 IF (DO_JVS(2086)) & ! JVS(2086) = Jac_FULL(269,345) JVS(2086) = -B(1458) IF (DO_JVS(2087)) & ! JVS(2087) = Jac_FULL(269,346) JVS(2087) = 0 IF (DO_JVS(2088)) & ! JVS(2088) = Jac_FULL(269,351) JVS(2088) = 0.258*B(1417)+0.5*B(1421)+0.5*B(1427)-B(1460) IF (DO_JVS(2089)) & ! JVS(2089) = Jac_FULL(270,60) JVS(2089) = 0.636*B(1362) IF (DO_JVS(2090)) & ! JVS(2090) = Jac_FULL(270,82) JVS(2090) = 0.12*B(1383) IF (DO_JVS(2091)) & ! JVS(2091) = Jac_FULL(270,101) JVS(2091) = 0.1*B(1385) IF (DO_JVS(2092)) & ! JVS(2092) = Jac_FULL(270,143) JVS(2092) = 0.18*B(1381) IF (DO_JVS(2093)) & ! JVS(2093) = Jac_FULL(270,185) JVS(2093) = 0.429*B(1768) IF (DO_JVS(2094)) & ! JVS(2094) = Jac_FULL(270,194) JVS(2094) = 0.125*B(1769) IF (DO_JVS(2095)) & ! JVS(2095) = Jac_FULL(270,195) JVS(2095) = 0.06*B(1414) IF (DO_JVS(2096)) & ! JVS(2096) = Jac_FULL(270,198) JVS(2096) = 0.571*B(1795) IF (DO_JVS(2097)) & ! JVS(2097) = Jac_FULL(270,200) JVS(2097) = 0.1*B(1348) IF (DO_JVS(2098)) & ! JVS(2098) = Jac_FULL(270,210) JVS(2098) = B(1328) IF (DO_JVS(2099)) & ! JVS(2099) = Jac_FULL(270,220) JVS(2099) = 0 IF (DO_JVS(2100)) & ! JVS(2100) = Jac_FULL(270,221) JVS(2100) = 0.6*B(1465)+0.6*B(1467)+0.2*B(1469) IF (DO_JVS(2101)) & ! JVS(2101) = Jac_FULL(270,223) JVS(2101) = 0 IF (DO_JVS(2102)) & ! JVS(2102) = Jac_FULL(270,224) JVS(2102) = 0 IF (DO_JVS(2103)) & ! JVS(2103) = Jac_FULL(270,226) JVS(2103) = 0 IF (DO_JVS(2104)) & ! JVS(2104) = Jac_FULL(270,227) JVS(2104) = 0.5*B(1766) IF (DO_JVS(2105)) & ! JVS(2105) = Jac_FULL(270,230) JVS(2105) = 0 IF (DO_JVS(2106)) & ! JVS(2106) = Jac_FULL(270,231) JVS(2106) = 0 IF (DO_JVS(2107)) & ! JVS(2107) = Jac_FULL(270,232) JVS(2107) = 0 IF (DO_JVS(2108)) & ! JVS(2108) = Jac_FULL(270,233) JVS(2108) = 0.065*B(154) IF (DO_JVS(2109)) & ! JVS(2109) = Jac_FULL(270,258) JVS(2109) = 0.586*B(1793) IF (DO_JVS(2110)) & ! JVS(2110) = Jac_FULL(270,267) JVS(2110) = 0 IF (DO_JVS(2111)) & ! JVS(2111) = Jac_FULL(270,268) JVS(2111) = 0 IF (DO_JVS(2112)) & ! JVS(2112) = Jac_FULL(270,269) JVS(2112) = 0 IF (DO_JVS(2113)) & ! JVS(2113) = Jac_FULL(270,270) JVS(2113) = -B(312)-B(316)-B(1615)-B(1667)-B(1668)-B(1669) IF (DO_JVS(2114)) & ! JVS(2114) = Jac_FULL(270,271) JVS(2114) = 0 IF (DO_JVS(2115)) & ! JVS(2115) = Jac_FULL(270,276) JVS(2115) = 0 IF (DO_JVS(2116)) & ! JVS(2116) = Jac_FULL(270,285) JVS(2116) = 0.8*B(1072)+0.52*B(1076) IF (DO_JVS(2117)) & ! JVS(2117) = Jac_FULL(270,286) JVS(2117) = 0 IF (DO_JVS(2118)) & ! JVS(2118) = Jac_FULL(270,288) JVS(2118) = 0 IF (DO_JVS(2119)) & ! JVS(2119) = Jac_FULL(270,301) JVS(2119) = 0 IF (DO_JVS(2120)) & ! JVS(2120) = Jac_FULL(270,302) JVS(2120) = 0 IF (DO_JVS(2121)) & ! JVS(2121) = Jac_FULL(270,303) JVS(2121) = 0 IF (DO_JVS(2122)) & ! JVS(2122) = Jac_FULL(270,304) JVS(2122) = 0 IF (DO_JVS(2123)) & ! JVS(2123) = Jac_FULL(270,305) JVS(2123) = 0 IF (DO_JVS(2124)) & ! JVS(2124) = Jac_FULL(270,306) JVS(2124) = 0.134*B(289)+0.2*B(293) IF (DO_JVS(2125)) & ! JVS(2125) = Jac_FULL(270,310) JVS(2125) = 0 IF (DO_JVS(2126)) & ! JVS(2126) = Jac_FULL(270,311) JVS(2126) = 0 IF (DO_JVS(2127)) & ! JVS(2127) = Jac_FULL(270,328) JVS(2127) = 0 IF (DO_JVS(2128)) & ! JVS(2128) = Jac_FULL(270,335) JVS(2128) = 0 IF (DO_JVS(2129)) & ! JVS(2129) = Jac_FULL(270,337) JVS(2129) = 0.52*B(1077) IF (DO_JVS(2130)) & ! JVS(2130) = Jac_FULL(270,341) JVS(2130) = 0.6*B(1468) IF (DO_JVS(2131)) & ! JVS(2131) = Jac_FULL(270,345) JVS(2131) = 0.065*B(155)+0.134*B(290)+0.2*B(294)-B(313)+B(1329)+0.1*B(1349)+0.636*B(1363)+0.18*B(1382)+0.12*B(1384)& &+0.1*B(1386)+0.06*B(1415)+0.6*B(1466) IF (DO_JVS(2132)) & ! JVS(2132) = Jac_FULL(270,346) JVS(2132) = 0.8*B(1073) IF (DO_JVS(2133)) & ! JVS(2133) = Jac_FULL(270,351) JVS(2133) = -B(317) IF (DO_JVS(2134)) & ! JVS(2134) = Jac_FULL(271,222) JVS(2134) = 0.67*B(1180) IF (DO_JVS(2135)) & ! JVS(2135) = Jac_FULL(271,271) JVS(2135) = -B(1197)-B(1198)-B(1202)-B(1204) IF (DO_JVS(2136)) & ! JVS(2136) = Jac_FULL(271,310) JVS(2136) = 0 IF (DO_JVS(2137)) & ! JVS(2137) = Jac_FULL(271,311) JVS(2137) = 0 IF (DO_JVS(2138)) & ! JVS(2138) = Jac_FULL(271,328) JVS(2138) = 0 IF (DO_JVS(2139)) & ! JVS(2139) = Jac_FULL(271,337) JVS(2139) = -B(1199) IF (DO_JVS(2140)) & ! JVS(2140) = Jac_FULL(271,345) JVS(2140) = 0.67*B(1181) IF (DO_JVS(2141)) & ! JVS(2141) = Jac_FULL(271,346) JVS(2141) = -B(1203)-B(1205) IF (DO_JVS(2142)) & ! JVS(2142) = Jac_FULL(272,211) JVS(2142) = 0.18*B(818) IF (DO_JVS(2143)) & ! JVS(2143) = Jac_FULL(272,237) JVS(2143) = B(812)+0.27*B(814) IF (DO_JVS(2144)) & ! JVS(2144) = Jac_FULL(272,272) JVS(2144) = -B(824)-B(826)-B(828)-B(830) IF (DO_JVS(2145)) & ! JVS(2145) = Jac_FULL(272,281) JVS(2145) = 0 IF (DO_JVS(2146)) & ! JVS(2146) = Jac_FULL(272,324) JVS(2146) = 0 IF (DO_JVS(2147)) & ! JVS(2147) = Jac_FULL(272,328) JVS(2147) = -B(831) IF (DO_JVS(2148)) & ! JVS(2148) = Jac_FULL(272,337) JVS(2148) = -B(827) IF (DO_JVS(2149)) & ! JVS(2149) = Jac_FULL(272,341) JVS(2149) = 0.27*B(815) IF (DO_JVS(2150)) & ! JVS(2150) = Jac_FULL(272,345) JVS(2150) = B(813)+0.18*B(819) IF (DO_JVS(2151)) & ! JVS(2151) = Jac_FULL(272,346) JVS(2151) = -B(825) IF (DO_JVS(2152)) & ! JVS(2152) = Jac_FULL(272,351) JVS(2152) = -B(829) IF (DO_JVS(2153)) & ! JVS(2153) = Jac_FULL(273,129) JVS(2153) = B(784) IF (DO_JVS(2154)) & ! JVS(2154) = Jac_FULL(273,138) JVS(2154) = 0 IF (DO_JVS(2155)) & ! JVS(2155) = Jac_FULL(273,161) JVS(2155) = B(796) IF (DO_JVS(2156)) & ! JVS(2156) = Jac_FULL(273,191) JVS(2156) = 0.1*B(733) IF (DO_JVS(2157)) & ! JVS(2157) = Jac_FULL(273,273) JVS(2157) = -B(786)-B(788)-B(790)-B(792)-B(794) IF (DO_JVS(2158)) & ! JVS(2158) = Jac_FULL(273,275) JVS(2158) = 0 IF (DO_JVS(2159)) & ! JVS(2159) = Jac_FULL(273,324) JVS(2159) = 0 IF (DO_JVS(2160)) & ! JVS(2160) = Jac_FULL(273,328) JVS(2160) = -B(793) IF (DO_JVS(2161)) & ! JVS(2161) = Jac_FULL(273,337) JVS(2161) = -B(787) IF (DO_JVS(2162)) & ! JVS(2162) = Jac_FULL(273,341) JVS(2162) = 0.1*B(734) IF (DO_JVS(2163)) & ! JVS(2163) = Jac_FULL(273,345) JVS(2163) = B(785)+B(797) IF (DO_JVS(2164)) & ! JVS(2164) = Jac_FULL(273,346) JVS(2164) = -B(789)-B(791) IF (DO_JVS(2165)) & ! JVS(2165) = Jac_FULL(273,351) JVS(2165) = -B(795) IF (DO_JVS(2166)) & ! JVS(2166) = Jac_FULL(274,57) JVS(2166) = B(844) IF (DO_JVS(2167)) & ! JVS(2167) = Jac_FULL(274,161) JVS(2167) = 0.27*B(1813) IF (DO_JVS(2168)) & ! JVS(2168) = Jac_FULL(274,162) JVS(2168) = 0.085*B(798) IF (DO_JVS(2169)) & ! JVS(2169) = Jac_FULL(274,163) JVS(2169) = B(832)+B(834) IF (DO_JVS(2170)) & ! JVS(2170) = Jac_FULL(274,167) JVS(2170) = 0.715*B(725) IF (DO_JVS(2171)) & ! JVS(2171) = Jac_FULL(274,169) JVS(2171) = B(847) IF (DO_JVS(2172)) & ! JVS(2172) = Jac_FULL(274,177) JVS(2172) = 0.5*B(836) IF (DO_JVS(2173)) & ! JVS(2173) = Jac_FULL(274,211) JVS(2173) = 0.32*B(818)+0.4*B(820) IF (DO_JVS(2174)) & ! JVS(2174) = Jac_FULL(274,237) JVS(2174) = 0.73*B(814) IF (DO_JVS(2175)) & ! JVS(2175) = Jac_FULL(274,255) JVS(2175) = B(806)+0.6*B(808)+0.9*B(1817) IF (DO_JVS(2176)) & ! JVS(2176) = Jac_FULL(274,272) JVS(2176) = 0 IF (DO_JVS(2177)) & ! JVS(2177) = Jac_FULL(274,273) JVS(2177) = 0.27*B(790)+0.23*B(792)+0.27*B(794) IF (DO_JVS(2178)) & ! JVS(2178) = Jac_FULL(274,274) JVS(2178) = -B(838)-B(840)-B(842)-B(845)-B(897)-B(899) IF (DO_JVS(2179)) & ! JVS(2179) = Jac_FULL(274,275) JVS(2179) = 0 IF (DO_JVS(2180)) & ! JVS(2180) = Jac_FULL(274,281) JVS(2180) = 0 IF (DO_JVS(2181)) & ! JVS(2181) = Jac_FULL(274,324) JVS(2181) = -B(900) IF (DO_JVS(2182)) & ! JVS(2182) = Jac_FULL(274,328) JVS(2182) = 0.23*B(793)-B(898) IF (DO_JVS(2183)) & ! JVS(2183) = Jac_FULL(274,335) JVS(2183) = -B(843) IF (DO_JVS(2184)) & ! JVS(2184) = Jac_FULL(274,337) JVS(2184) = -B(839) IF (DO_JVS(2185)) & ! JVS(2185) = Jac_FULL(274,341) JVS(2185) = 0.715*B(726)+0.6*B(809)+0.73*B(815)+0.4*B(821) IF (DO_JVS(2186)) & ! JVS(2186) = Jac_FULL(274,345) JVS(2186) = 0.085*B(799)+B(807)+0.32*B(819)+B(833)+0.5*B(837)+B(848) IF (DO_JVS(2187)) & ! JVS(2187) = Jac_FULL(274,346) JVS(2187) = 0.27*B(791)-B(841) IF (DO_JVS(2188)) & ! JVS(2188) = Jac_FULL(274,351) JVS(2188) = 0.27*B(795)+B(835)-B(846) IF (DO_JVS(2189)) & ! JVS(2189) = Jac_FULL(275,112) JVS(2189) = B(782) IF (DO_JVS(2190)) & ! JVS(2190) = Jac_FULL(275,191) JVS(2190) = 0.255*B(731) IF (DO_JVS(2191)) & ! JVS(2191) = Jac_FULL(275,219) JVS(2191) = 0.15*B(727) IF (DO_JVS(2192)) & ! JVS(2192) = Jac_FULL(275,275) JVS(2192) = -B(774)-B(776)-B(778)-B(881)-B(883) IF (DO_JVS(2193)) & ! JVS(2193) = Jac_FULL(275,324) JVS(2193) = -B(884) IF (DO_JVS(2194)) & ! JVS(2194) = Jac_FULL(275,328) JVS(2194) = -B(882) IF (DO_JVS(2195)) & ! JVS(2195) = Jac_FULL(275,337) JVS(2195) = -B(775) IF (DO_JVS(2196)) & ! JVS(2196) = Jac_FULL(275,341) JVS(2196) = 0 IF (DO_JVS(2197)) & ! JVS(2197) = Jac_FULL(275,345) JVS(2197) = 0.15*B(728)+0.255*B(732)+B(783) IF (DO_JVS(2198)) & ! JVS(2198) = Jac_FULL(275,346) JVS(2198) = -B(777) IF (DO_JVS(2199)) & ! JVS(2199) = Jac_FULL(275,351) JVS(2199) = -B(779) IF (DO_JVS(2200)) & ! JVS(2200) = Jac_FULL(276,276) JVS(2200) = -B(635)-B(947)-B(949)-B(951)-B(953)-B(955)-B(1147) IF (DO_JVS(2201)) & ! JVS(2201) = Jac_FULL(276,340) JVS(2201) = -B(636) IF (DO_JVS(2202)) & ! JVS(2202) = Jac_FULL(276,341) JVS(2202) = -B(948) IF (DO_JVS(2203)) & ! JVS(2203) = Jac_FULL(276,345) JVS(2203) = -B(950)-B(952)-B(954)-B(956) IF (DO_JVS(2204)) & ! JVS(2204) = Jac_FULL(276,351) JVS(2204) = -B(1148) IF (DO_JVS(2205)) & ! JVS(2205) = Jac_FULL(277,111) JVS(2205) = 0.6*B(741) IF (DO_JVS(2206)) & ! JVS(2206) = Jac_FULL(277,191) JVS(2206) = 0.67*B(731)+0.5*B(733) IF (DO_JVS(2207)) & ! JVS(2207) = Jac_FULL(277,219) JVS(2207) = 0.15*B(727) IF (DO_JVS(2208)) & ! JVS(2208) = Jac_FULL(277,277) JVS(2208) = -B(735)-B(737)-B(739)-B(877)-B(879) IF (DO_JVS(2209)) & ! JVS(2209) = Jac_FULL(277,324) JVS(2209) = -B(880) IF (DO_JVS(2210)) & ! JVS(2210) = Jac_FULL(277,328) JVS(2210) = -B(878) IF (DO_JVS(2211)) & ! JVS(2211) = Jac_FULL(277,337) JVS(2211) = -B(736) IF (DO_JVS(2212)) & ! JVS(2212) = Jac_FULL(277,341) JVS(2212) = 0.5*B(734) IF (DO_JVS(2213)) & ! JVS(2213) = Jac_FULL(277,345) JVS(2213) = 0.15*B(728)+0.67*B(732)+0.6*B(742) IF (DO_JVS(2214)) & ! JVS(2214) = Jac_FULL(277,346) JVS(2214) = -B(738) IF (DO_JVS(2215)) & ! JVS(2215) = Jac_FULL(277,351) JVS(2215) = -B(740) IF (DO_JVS(2216)) & ! JVS(2216) = Jac_FULL(278,66) JVS(2216) = B(760)+B(1810) IF (DO_JVS(2217)) & ! JVS(2217) = Jac_FULL(278,74) JVS(2217) = B(1809) IF (DO_JVS(2218)) & ! JVS(2218) = Jac_FULL(278,160) JVS(2218) = 0.5*B(770) IF (DO_JVS(2219)) & ! JVS(2219) = Jac_FULL(278,225) JVS(2219) = B(1808) IF (DO_JVS(2220)) & ! JVS(2220) = Jac_FULL(278,257) JVS(2220) = 0.44*B(749)+B(751)+B(756)+0.75*B(893)+B(895) IF (DO_JVS(2221)) & ! JVS(2221) = Jac_FULL(278,277) JVS(2221) = 0 IF (DO_JVS(2222)) & ! JVS(2222) = Jac_FULL(278,278) JVS(2222) = -B(762)-B(764)-B(766)-B(768) IF (DO_JVS(2223)) & ! JVS(2223) = Jac_FULL(278,324) JVS(2223) = B(896) IF (DO_JVS(2224)) & ! JVS(2224) = Jac_FULL(278,328) JVS(2224) = -B(769)+0.75*B(894) IF (DO_JVS(2225)) & ! JVS(2225) = Jac_FULL(278,335) JVS(2225) = 0 IF (DO_JVS(2226)) & ! JVS(2226) = Jac_FULL(278,337) JVS(2226) = 0.44*B(750)-B(763) IF (DO_JVS(2227)) & ! JVS(2227) = Jac_FULL(278,341) JVS(2227) = 0 IF (DO_JVS(2228)) & ! JVS(2228) = Jac_FULL(278,345) JVS(2228) = B(761)+0.5*B(771) IF (DO_JVS(2229)) & ! JVS(2229) = Jac_FULL(278,346) JVS(2229) = B(752)-B(765) IF (DO_JVS(2230)) & ! JVS(2230) = Jac_FULL(278,351) JVS(2230) = B(757)-B(767) IF (DO_JVS(2231)) & ! JVS(2231) = Jac_FULL(279,249) JVS(2231) = B(224) IF (DO_JVS(2232)) & ! JVS(2232) = Jac_FULL(279,279) JVS(2232) = -B(197)-B(1688) IF (DO_JVS(2233)) & ! JVS(2233) = Jac_FULL(279,300) JVS(2233) = B(173) IF (DO_JVS(2234)) & ! JVS(2234) = Jac_FULL(279,320) JVS(2234) = 0.072*B(185) IF (DO_JVS(2235)) & ! JVS(2235) = Jac_FULL(279,324) JVS(2235) = 0 IF (DO_JVS(2236)) & ! JVS(2236) = Jac_FULL(279,328) JVS(2236) = 0 IF (DO_JVS(2237)) & ! JVS(2237) = Jac_FULL(279,337) JVS(2237) = B(225) IF (DO_JVS(2238)) & ! JVS(2238) = Jac_FULL(279,345) JVS(2238) = -B(198) IF (DO_JVS(2239)) & ! JVS(2239) = Jac_FULL(279,346) JVS(2239) = B(174)+0.072*B(186) IF (DO_JVS(2240)) & ! JVS(2240) = Jac_FULL(280,167) JVS(2240) = 0.5*B(721) IF (DO_JVS(2241)) & ! JVS(2241) = Jac_FULL(280,191) JVS(2241) = 0.1*B(717) IF (DO_JVS(2242)) & ! JVS(2242) = Jac_FULL(280,193) JVS(2242) = 0.5*B(869) IF (DO_JVS(2243)) & ! JVS(2243) = Jac_FULL(280,219) JVS(2243) = 0.1*B(719) IF (DO_JVS(2244)) & ! JVS(2244) = Jac_FULL(280,229) JVS(2244) = 0.5*B(863) IF (DO_JVS(2245)) & ! JVS(2245) = Jac_FULL(280,262) JVS(2245) = 0.5*B(875) IF (DO_JVS(2246)) & ! JVS(2246) = Jac_FULL(280,280) JVS(2246) = -B(901)-B(905)-B(909)-B(913)-B(917)-2*B(921)-B(922) IF (DO_JVS(2247)) & ! JVS(2247) = Jac_FULL(280,289) JVS(2247) = -B(923) IF (DO_JVS(2248)) & ! JVS(2248) = Jac_FULL(280,291) JVS(2248) = 0 IF (DO_JVS(2249)) & ! JVS(2249) = Jac_FULL(280,324) JVS(2249) = -B(914) IF (DO_JVS(2250)) & ! JVS(2250) = Jac_FULL(280,328) JVS(2250) = -B(910) IF (DO_JVS(2251)) & ! JVS(2251) = Jac_FULL(280,337) JVS(2251) = -B(906) IF (DO_JVS(2252)) & ! JVS(2252) = Jac_FULL(280,341) JVS(2252) = 0 IF (DO_JVS(2253)) & ! JVS(2253) = Jac_FULL(280,345) JVS(2253) = 0 IF (DO_JVS(2254)) & ! JVS(2254) = Jac_FULL(280,346) JVS(2254) = -B(902) IF (DO_JVS(2255)) & ! JVS(2255) = Jac_FULL(280,351) JVS(2255) = 0.1*B(718)+0.1*B(720)+0.5*B(722)+0.5*B(864)+0.5*B(870)+0.5*B(876)-B(918) IF (DO_JVS(2256)) & ! JVS(2256) = Jac_FULL(281,167) JVS(2256) = B(723) IF (DO_JVS(2257)) & ! JVS(2257) = Jac_FULL(281,191) JVS(2257) = 0.075*B(731) IF (DO_JVS(2258)) & ! JVS(2258) = Jac_FULL(281,219) JVS(2258) = 0.2*B(727) IF (DO_JVS(2259)) & ! JVS(2259) = Jac_FULL(281,281) JVS(2259) = -B(800)-B(802)-B(804)-B(885)-B(887) IF (DO_JVS(2260)) & ! JVS(2260) = Jac_FULL(281,324) JVS(2260) = -B(888) IF (DO_JVS(2261)) & ! JVS(2261) = Jac_FULL(281,328) JVS(2261) = -B(886) IF (DO_JVS(2262)) & ! JVS(2262) = Jac_FULL(281,337) JVS(2262) = -B(801) IF (DO_JVS(2263)) & ! JVS(2263) = Jac_FULL(281,341) JVS(2263) = 0 IF (DO_JVS(2264)) & ! JVS(2264) = Jac_FULL(281,345) JVS(2264) = B(724)+0.2*B(728)+0.075*B(732) IF (DO_JVS(2265)) & ! JVS(2265) = Jac_FULL(281,346) JVS(2265) = -B(803) IF (DO_JVS(2266)) & ! JVS(2266) = Jac_FULL(281,351) JVS(2266) = -B(805) IF (DO_JVS(2267)) & ! JVS(2267) = Jac_FULL(282,234) JVS(2267) = 0.2*B(1370) IF (DO_JVS(2268)) & ! JVS(2268) = Jac_FULL(282,246) JVS(2268) = 0 IF (DO_JVS(2269)) & ! JVS(2269) = Jac_FULL(282,249) JVS(2269) = 0.25*B(259) IF (DO_JVS(2270)) & ! JVS(2270) = Jac_FULL(282,250) JVS(2270) = 0.25*B(267) IF (DO_JVS(2271)) & ! JVS(2271) = Jac_FULL(282,260) JVS(2271) = 0.25*B(216) IF (DO_JVS(2272)) & ! JVS(2272) = Jac_FULL(282,272) JVS(2272) = 0.25*B(830) IF (DO_JVS(2273)) & ! JVS(2273) = Jac_FULL(282,273) JVS(2273) = 0.25*B(792) IF (DO_JVS(2274)) & ! JVS(2274) = Jac_FULL(282,275) JVS(2274) = 0.25*B(881) IF (DO_JVS(2275)) & ! JVS(2275) = Jac_FULL(282,277) JVS(2275) = 0.25*B(877) IF (DO_JVS(2276)) & ! JVS(2276) = Jac_FULL(282,278) JVS(2276) = 0.25*B(768) IF (DO_JVS(2277)) & ! JVS(2277) = Jac_FULL(282,279) JVS(2277) = 0 IF (DO_JVS(2278)) & ! JVS(2278) = Jac_FULL(282,281) JVS(2278) = 0.25*B(885) IF (DO_JVS(2279)) & ! JVS(2279) = Jac_FULL(282,282) JVS(2279) = -B(89)-B(623) IF (DO_JVS(2280)) & ! JVS(2280) = Jac_FULL(282,289) JVS(2280) = 0.25*B(911) IF (DO_JVS(2281)) & ! JVS(2281) = Jac_FULL(282,290) JVS(2281) = 0 IF (DO_JVS(2282)) & ! JVS(2282) = Jac_FULL(282,291) JVS(2282) = 0.25*B(889) IF (DO_JVS(2283)) & ! JVS(2283) = Jac_FULL(282,296) JVS(2283) = 0.25*B(247) IF (DO_JVS(2284)) & ! JVS(2284) = Jac_FULL(282,300) JVS(2284) = 0.25*B(257) IF (DO_JVS(2285)) & ! JVS(2285) = Jac_FULL(282,306) JVS(2285) = 0.1*B(1666) IF (DO_JVS(2286)) & ! JVS(2286) = Jac_FULL(282,310) JVS(2286) = 0.034*B(1159) IF (DO_JVS(2287)) & ! JVS(2287) = Jac_FULL(282,311) JVS(2287) = 0.355*B(1157) IF (DO_JVS(2288)) & ! JVS(2288) = Jac_FULL(282,313) JVS(2288) = 0.5*B(261) IF (DO_JVS(2289)) & ! JVS(2289) = Jac_FULL(282,315) JVS(2289) = 0.25*B(249) IF (DO_JVS(2290)) & ! JVS(2290) = Jac_FULL(282,318) JVS(2290) = 0.25*B(255) IF (DO_JVS(2291)) & ! JVS(2291) = Jac_FULL(282,319) JVS(2291) = 0.25*B(253) IF (DO_JVS(2292)) & ! JVS(2292) = Jac_FULL(282,320) JVS(2292) = 0.25*B(263) IF (DO_JVS(2293)) & ! JVS(2293) = Jac_FULL(282,321) JVS(2293) = 0.25*B(214) IF (DO_JVS(2294)) & ! JVS(2294) = Jac_FULL(282,323) JVS(2294) = 0.25*B(265) IF (DO_JVS(2295)) & ! JVS(2295) = Jac_FULL(282,324) JVS(2295) = 0 IF (DO_JVS(2296)) & ! JVS(2296) = Jac_FULL(282,328) JVS(2296) = B(55)+0.13*B(57)+0.25*B(215)+0.25*B(217)+0.25*B(248)+0.25*B(250)+0.25*B(254)+0.25*B(256)+0.25*B(258)+0.25& &*B(260)+0.5*B(262)+0.25*B(264)+0.25*B(266)+0.25*B(268)+0.25*B(769)+0.25*B(793)+0.25*B(831)+0.25*B(878)+0.25& &*B(882)+0.25*B(886)+0.25*B(890)+0.25*B(912)+0.355*B(1158)+0.034*B(1160)+0.2*B(1371) IF (DO_JVS(2297)) & ! JVS(2297) = Jac_FULL(282,335) JVS(2297) = 0 IF (DO_JVS(2298)) & ! JVS(2298) = Jac_FULL(282,337) JVS(2298) = 0 IF (DO_JVS(2299)) & ! JVS(2299) = Jac_FULL(282,340) JVS(2299) = -B(624) IF (DO_JVS(2300)) & ! JVS(2300) = Jac_FULL(282,341) JVS(2300) = 0 IF (DO_JVS(2301)) & ! JVS(2301) = Jac_FULL(282,342) JVS(2301) = 0 IF (DO_JVS(2302)) & ! JVS(2302) = Jac_FULL(282,345) JVS(2302) = 0.13*B(58)-B(90) IF (DO_JVS(2303)) & ! JVS(2303) = Jac_FULL(282,346) JVS(2303) = 0 IF (DO_JVS(2304)) & ! JVS(2304) = Jac_FULL(282,351) JVS(2304) = 0 IF (DO_JVS(2305)) & ! JVS(2305) = Jac_FULL(283,201) JVS(2305) = 0.15*B(1470)+0.3*B(1472) IF (DO_JVS(2306)) & ! JVS(2306) = Jac_FULL(283,241) JVS(2306) = B(715) IF (DO_JVS(2307)) & ! JVS(2307) = Jac_FULL(283,249) JVS(2307) = 0.1*B(361) IF (DO_JVS(2308)) & ! JVS(2308) = Jac_FULL(283,250) JVS(2308) = 0.1*B(363) IF (DO_JVS(2309)) & ! JVS(2309) = Jac_FULL(283,260) JVS(2309) = 0.1*B(369) IF (DO_JVS(2310)) & ! JVS(2310) = Jac_FULL(283,275) JVS(2310) = 0.1*B(883) IF (DO_JVS(2311)) & ! JVS(2311) = Jac_FULL(283,277) JVS(2311) = 0.1*B(879) IF (DO_JVS(2312)) & ! JVS(2312) = Jac_FULL(283,279) JVS(2312) = 0 IF (DO_JVS(2313)) & ! JVS(2313) = Jac_FULL(283,281) JVS(2313) = 0.1*B(887) IF (DO_JVS(2314)) & ! JVS(2314) = Jac_FULL(283,283) JVS(2314) = -B(199)-B(627) IF (DO_JVS(2315)) & ! JVS(2315) = Jac_FULL(283,290) JVS(2315) = 0 IF (DO_JVS(2316)) & ! JVS(2316) = Jac_FULL(283,291) JVS(2316) = 0.1*B(891) IF (DO_JVS(2317)) & ! JVS(2317) = Jac_FULL(283,296) JVS(2317) = 0.1*B(365) IF (DO_JVS(2318)) & ! JVS(2318) = Jac_FULL(283,300) JVS(2318) = 0.1*B(351) IF (DO_JVS(2319)) & ! JVS(2319) = Jac_FULL(283,307) JVS(2319) = 0.5*B(322) IF (DO_JVS(2320)) & ! JVS(2320) = Jac_FULL(283,313) JVS(2320) = 0.1*B(353) IF (DO_JVS(2321)) & ! JVS(2321) = Jac_FULL(283,315) JVS(2321) = 0.1*B(367) IF (DO_JVS(2322)) & ! JVS(2322) = Jac_FULL(283,318) JVS(2322) = 0.1*B(359) IF (DO_JVS(2323)) & ! JVS(2323) = Jac_FULL(283,319) JVS(2323) = 0.1*B(349) IF (DO_JVS(2324)) & ! JVS(2324) = Jac_FULL(283,320) JVS(2324) = 0.1*B(355) IF (DO_JVS(2325)) & ! JVS(2325) = Jac_FULL(283,321) JVS(2325) = 0.1*B(371) IF (DO_JVS(2326)) & ! JVS(2326) = Jac_FULL(283,323) JVS(2326) = 0.1*B(357) IF (DO_JVS(2327)) & ! JVS(2327) = Jac_FULL(283,324) JVS(2327) = 0.1*B(347)+0.1*B(350)+0.1*B(352)+0.1*B(354)+0.1*B(356)+0.1*B(358)+0.1*B(360)+0.1*B(362)+0.1*B(364)+0.1& &*B(366)+0.1*B(368)+0.1*B(370)+0.1*B(372)+0.1*B(880)+0.1*B(884)+0.1*B(888)+0.1*B(892)+0.13*B(1324) IF (DO_JVS(2328)) & ! JVS(2328) = Jac_FULL(283,328) JVS(2328) = 0.1*B(348) IF (DO_JVS(2329)) & ! JVS(2329) = Jac_FULL(283,329) JVS(2329) = 0 IF (DO_JVS(2330)) & ! JVS(2330) = Jac_FULL(283,335) JVS(2330) = 0 IF (DO_JVS(2331)) & ! JVS(2331) = Jac_FULL(283,336) JVS(2331) = B(716) IF (DO_JVS(2332)) & ! JVS(2332) = Jac_FULL(283,337) JVS(2332) = 0.13*B(1325) IF (DO_JVS(2333)) & ! JVS(2333) = Jac_FULL(283,340) JVS(2333) = -B(628) IF (DO_JVS(2334)) & ! JVS(2334) = Jac_FULL(283,341) JVS(2334) = 0.3*B(1473) IF (DO_JVS(2335)) & ! JVS(2335) = Jac_FULL(283,342) JVS(2335) = 0 IF (DO_JVS(2336)) & ! JVS(2336) = Jac_FULL(283,345) JVS(2336) = -B(200)+0.5*B(323)+0.15*B(1471) IF (DO_JVS(2337)) & ! JVS(2337) = Jac_FULL(283,346) JVS(2337) = 0 IF (DO_JVS(2338)) & ! JVS(2338) = Jac_FULL(283,348) JVS(2338) = 0 IF (DO_JVS(2339)) & ! JVS(2339) = Jac_FULL(283,351) JVS(2339) = 0 IF (DO_JVS(2340)) & ! JVS(2340) = Jac_FULL(284,44) JVS(2340) = 0.008*B(684) IF (DO_JVS(2341)) & ! JVS(2341) = Jac_FULL(284,55) JVS(2341) = B(1738) IF (DO_JVS(2342)) & ! JVS(2342) = Jac_FULL(284,96) JVS(2342) = -B(661)+B(665) IF (DO_JVS(2343)) & ! JVS(2343) = Jac_FULL(284,284) JVS(2343) = -B(652)-B(659)-B(662)-B(667)-B(679)-B(681)-2*B(683)-B(1727) IF (DO_JVS(2344)) & ! JVS(2344) = Jac_FULL(284,330) JVS(2344) = B(677) IF (DO_JVS(2345)) & ! JVS(2345) = Jac_FULL(284,331) JVS(2345) = B(657)+B(669) IF (DO_JVS(2346)) & ! JVS(2346) = Jac_FULL(284,332) JVS(2346) = B(654) IF (DO_JVS(2347)) & ! JVS(2347) = Jac_FULL(284,335) JVS(2347) = -B(653) IF (DO_JVS(2348)) & ! JVS(2348) = Jac_FULL(284,337) JVS(2348) = -B(680) IF (DO_JVS(2349)) & ! JVS(2349) = Jac_FULL(284,338) JVS(2349) = -B(668) IF (DO_JVS(2350)) & ! JVS(2350) = Jac_FULL(284,341) JVS(2350) = B(670) IF (DO_JVS(2351)) & ! JVS(2351) = Jac_FULL(284,345) JVS(2351) = B(678) IF (DO_JVS(2352)) & ! JVS(2352) = Jac_FULL(284,346) JVS(2352) = B(666)-B(682) IF (DO_JVS(2353)) & ! JVS(2353) = Jac_FULL(284,347) JVS(2353) = B(658)-B(660) IF (DO_JVS(2354)) & ! JVS(2354) = Jac_FULL(285,147) JVS(2354) = 0.032*B(1308) IF (DO_JVS(2355)) & ! JVS(2355) = Jac_FULL(285,151) JVS(2355) = 0.33*B(1056) IF (DO_JVS(2356)) & ! JVS(2356) = Jac_FULL(285,152) JVS(2356) = 0.19*B(1060) IF (DO_JVS(2357)) & ! JVS(2357) = Jac_FULL(285,168) JVS(2357) = 0 IF (DO_JVS(2358)) & ! JVS(2358) = Jac_FULL(285,175) JVS(2358) = 0 IF (DO_JVS(2359)) & ! JVS(2359) = Jac_FULL(285,187) JVS(2359) = 0 IF (DO_JVS(2360)) & ! JVS(2360) = Jac_FULL(285,192) JVS(2360) = 0 IF (DO_JVS(2361)) & ! JVS(2361) = Jac_FULL(285,238) JVS(2361) = 0.068*B(1009) IF (DO_JVS(2362)) & ! JVS(2362) = Jac_FULL(285,267) JVS(2362) = 0 IF (DO_JVS(2363)) & ! JVS(2363) = Jac_FULL(285,268) JVS(2363) = 0 IF (DO_JVS(2364)) & ! JVS(2364) = Jac_FULL(285,285) JVS(2364) = -B(1070)-B(1071)-B(1072)-B(1074)-B(1076) IF (DO_JVS(2365)) & ! JVS(2365) = Jac_FULL(285,286) JVS(2365) = 0 IF (DO_JVS(2366)) & ! JVS(2366) = Jac_FULL(285,304) JVS(2366) = 0 IF (DO_JVS(2367)) & ! JVS(2367) = Jac_FULL(285,305) JVS(2367) = 0 IF (DO_JVS(2368)) & ! JVS(2368) = Jac_FULL(285,310) JVS(2368) = 0 IF (DO_JVS(2369)) & ! JVS(2369) = Jac_FULL(285,311) JVS(2369) = 0 IF (DO_JVS(2370)) & ! JVS(2370) = Jac_FULL(285,328) JVS(2370) = 0 IF (DO_JVS(2371)) & ! JVS(2371) = Jac_FULL(285,337) JVS(2371) = -B(1077) IF (DO_JVS(2372)) & ! JVS(2372) = Jac_FULL(285,345) JVS(2372) = 0.068*B(1010)+0.33*B(1057)+0.19*B(1061)+0.032*B(1309) IF (DO_JVS(2373)) & ! JVS(2373) = Jac_FULL(285,346) JVS(2373) = -B(1073)-B(1075) IF (DO_JVS(2374)) & ! JVS(2374) = Jac_FULL(286,147) JVS(2374) = 0.08*B(1308) IF (DO_JVS(2375)) & ! JVS(2375) = Jac_FULL(286,151) JVS(2375) = 0.67*B(1056) IF (DO_JVS(2376)) & ! JVS(2376) = Jac_FULL(286,152) JVS(2376) = 0.81*B(1060) IF (DO_JVS(2377)) & ! JVS(2377) = Jac_FULL(286,168) JVS(2377) = 0 IF (DO_JVS(2378)) & ! JVS(2378) = Jac_FULL(286,175) JVS(2378) = 0 IF (DO_JVS(2379)) & ! JVS(2379) = Jac_FULL(286,187) JVS(2379) = 0 IF (DO_JVS(2380)) & ! JVS(2380) = Jac_FULL(286,192) JVS(2380) = 0 IF (DO_JVS(2381)) & ! JVS(2381) = Jac_FULL(286,238) JVS(2381) = 0.294*B(1009) IF (DO_JVS(2382)) & ! JVS(2382) = Jac_FULL(286,267) JVS(2382) = 0 IF (DO_JVS(2383)) & ! JVS(2383) = Jac_FULL(286,268) JVS(2383) = 0 IF (DO_JVS(2384)) & ! JVS(2384) = Jac_FULL(286,285) JVS(2384) = 0 IF (DO_JVS(2385)) & ! JVS(2385) = Jac_FULL(286,286) JVS(2385) = -B(1062)-B(1063)-B(1064)-B(1066)-B(1068) IF (DO_JVS(2386)) & ! JVS(2386) = Jac_FULL(286,304) JVS(2386) = 0 IF (DO_JVS(2387)) & ! JVS(2387) = Jac_FULL(286,305) JVS(2387) = 0 IF (DO_JVS(2388)) & ! JVS(2388) = Jac_FULL(286,310) JVS(2388) = 0 IF (DO_JVS(2389)) & ! JVS(2389) = Jac_FULL(286,311) JVS(2389) = 0 IF (DO_JVS(2390)) & ! JVS(2390) = Jac_FULL(286,328) JVS(2390) = 0 IF (DO_JVS(2391)) & ! JVS(2391) = Jac_FULL(286,337) JVS(2391) = -B(1065) IF (DO_JVS(2392)) & ! JVS(2392) = Jac_FULL(286,345) JVS(2392) = 0.294*B(1010)+0.67*B(1057)+0.81*B(1061)+0.08*B(1309) IF (DO_JVS(2393)) & ! JVS(2393) = Jac_FULL(286,346) JVS(2393) = -B(1067)-B(1069) IF (DO_JVS(2394)) & ! JVS(2394) = Jac_FULL(287,144) JVS(2394) = 0.09*B(1007) IF (DO_JVS(2395)) & ! JVS(2395) = Jac_FULL(287,192) JVS(2395) = 0.165*B(1025) IF (DO_JVS(2396)) & ! JVS(2396) = Jac_FULL(287,198) JVS(2396) = 0.571*B(1312) IF (DO_JVS(2397)) & ! JVS(2397) = Jac_FULL(287,199) JVS(2397) = 0 IF (DO_JVS(2398)) & ! JVS(2398) = Jac_FULL(287,223) JVS(2398) = 0.716*B(1032)+0.14*B(1036) IF (DO_JVS(2399)) & ! JVS(2399) = Jac_FULL(287,224) JVS(2399) = 0 IF (DO_JVS(2400)) & ! JVS(2400) = Jac_FULL(287,231) JVS(2400) = 0.17*B(1003) IF (DO_JVS(2401)) & ! JVS(2401) = Jac_FULL(287,232) JVS(2401) = 0 IF (DO_JVS(2402)) & ! JVS(2402) = Jac_FULL(287,238) JVS(2402) = 0.158*B(1009) IF (DO_JVS(2403)) & ! JVS(2403) = Jac_FULL(287,253) JVS(2403) = 0.41*B(1276) IF (DO_JVS(2404)) & ! JVS(2404) = Jac_FULL(287,258) JVS(2404) = 0.5*B(1306)+0.5*B(1792) IF (DO_JVS(2405)) & ! JVS(2405) = Jac_FULL(287,266) JVS(2405) = 0.25*B(1314)+0.5*B(1800) IF (DO_JVS(2406)) & ! JVS(2406) = Jac_FULL(287,267) JVS(2406) = 0.55*B(1786) IF (DO_JVS(2407)) & ! JVS(2407) = Jac_FULL(287,268) JVS(2407) = 0 IF (DO_JVS(2408)) & ! JVS(2408) = Jac_FULL(287,271) JVS(2408) = 0.004*B(1198)+0.006*B(1202) IF (DO_JVS(2409)) & ! JVS(2409) = Jac_FULL(287,276) JVS(2409) = 0 IF (DO_JVS(2410)) & ! JVS(2410) = Jac_FULL(287,285) JVS(2410) = 0 IF (DO_JVS(2411)) & ! JVS(2411) = Jac_FULL(287,286) JVS(2411) = 0 IF (DO_JVS(2412)) & ! JVS(2412) = Jac_FULL(287,287) JVS(2412) = -B(1240)-B(1770) IF (DO_JVS(2413)) & ! JVS(2413) = Jac_FULL(287,301) JVS(2413) = 0 IF (DO_JVS(2414)) & ! JVS(2414) = Jac_FULL(287,303) JVS(2414) = 0.15*B(1798) IF (DO_JVS(2415)) & ! JVS(2415) = Jac_FULL(287,304) JVS(2415) = B(974)+0.5*B(975)+0.5*B(983)+0.55*B(999) IF (DO_JVS(2416)) & ! JVS(2416) = Jac_FULL(287,305) JVS(2416) = 0.5*B(976) IF (DO_JVS(2417)) & ! JVS(2417) = Jac_FULL(287,309) JVS(2417) = 0 IF (DO_JVS(2418)) & ! JVS(2418) = Jac_FULL(287,310) JVS(2418) = 0 IF (DO_JVS(2419)) & ! JVS(2419) = Jac_FULL(287,311) JVS(2419) = 0 IF (DO_JVS(2420)) & ! JVS(2420) = Jac_FULL(287,328) JVS(2420) = 0.5*B(984) IF (DO_JVS(2421)) & ! JVS(2421) = Jac_FULL(287,335) JVS(2421) = 0 IF (DO_JVS(2422)) & ! JVS(2422) = Jac_FULL(287,337) JVS(2422) = 0.14*B(1037)+0.004*B(1199)+0.41*B(1277) IF (DO_JVS(2423)) & ! JVS(2423) = Jac_FULL(287,340) JVS(2423) = 0 IF (DO_JVS(2424)) & ! JVS(2424) = Jac_FULL(287,341) JVS(2424) = 0 IF (DO_JVS(2425)) & ! JVS(2425) = Jac_FULL(287,345) JVS(2425) = 0.17*B(1004)+0.09*B(1008)+0.158*B(1010)+0.165*B(1026)-B(1241)+0.5*B(1307)+0.571*B(1313)+0.25*B(1315) IF (DO_JVS(2426)) & ! JVS(2426) = Jac_FULL(287,346) JVS(2426) = 0.55*B(1000)+0.716*B(1033)+0.006*B(1203) IF (DO_JVS(2427)) & ! JVS(2427) = Jac_FULL(287,351) JVS(2427) = 0 IF (DO_JVS(2428)) & ! JVS(2428) = Jac_FULL(288,150) JVS(2428) = 0.19*B(1005) IF (DO_JVS(2429)) & ! JVS(2429) = Jac_FULL(288,187) JVS(2429) = 0.125*B(1023) IF (DO_JVS(2430)) & ! JVS(2430) = Jac_FULL(288,198) JVS(2430) = 0.429*B(1312) IF (DO_JVS(2431)) & ! JVS(2431) = Jac_FULL(288,209) JVS(2431) = 0 IF (DO_JVS(2432)) & ! JVS(2432) = Jac_FULL(288,223) JVS(2432) = 0 IF (DO_JVS(2433)) & ! JVS(2433) = Jac_FULL(288,224) JVS(2433) = 0.706*B(1039)+0.14*B(1043) IF (DO_JVS(2434)) & ! JVS(2434) = Jac_FULL(288,230) JVS(2434) = 0.33*B(1001) IF (DO_JVS(2435)) & ! JVS(2435) = Jac_FULL(288,232) JVS(2435) = 0 IF (DO_JVS(2436)) & ! JVS(2436) = Jac_FULL(288,238) JVS(2436) = 0.125*B(1009) IF (DO_JVS(2437)) & ! JVS(2437) = Jac_FULL(288,254) JVS(2437) = 0.335*B(1270) IF (DO_JVS(2438)) & ! JVS(2438) = Jac_FULL(288,266) JVS(2438) = 0.75*B(1314)+0.5*B(1800) IF (DO_JVS(2439)) & ! JVS(2439) = Jac_FULL(288,267) JVS(2439) = 0 IF (DO_JVS(2440)) & ! JVS(2440) = Jac_FULL(288,268) JVS(2440) = 0.55*B(1783) IF (DO_JVS(2441)) & ! JVS(2441) = Jac_FULL(288,271) JVS(2441) = 0.054*B(1198)+0.059*B(1202) IF (DO_JVS(2442)) & ! JVS(2442) = Jac_FULL(288,276) JVS(2442) = 0 IF (DO_JVS(2443)) & ! JVS(2443) = Jac_FULL(288,285) JVS(2443) = 0 IF (DO_JVS(2444)) & ! JVS(2444) = Jac_FULL(288,286) JVS(2444) = 0 IF (DO_JVS(2445)) & ! JVS(2445) = Jac_FULL(288,288) JVS(2445) = -B(1238)-B(1767) IF (DO_JVS(2446)) & ! JVS(2446) = Jac_FULL(288,301) JVS(2446) = 0 IF (DO_JVS(2447)) & ! JVS(2447) = Jac_FULL(288,303) JVS(2447) = 0 IF (DO_JVS(2448)) & ! JVS(2448) = Jac_FULL(288,304) JVS(2448) = 0.5*B(975) IF (DO_JVS(2449)) & ! JVS(2449) = Jac_FULL(288,305) JVS(2449) = B(973)+0.5*B(976)+0.5*B(979)+0.55*B(991) IF (DO_JVS(2450)) & ! JVS(2450) = Jac_FULL(288,310) JVS(2450) = 0 IF (DO_JVS(2451)) & ! JVS(2451) = Jac_FULL(288,311) JVS(2451) = 0 IF (DO_JVS(2452)) & ! JVS(2452) = Jac_FULL(288,314) JVS(2452) = 0 IF (DO_JVS(2453)) & ! JVS(2453) = Jac_FULL(288,328) JVS(2453) = 0.5*B(980) IF (DO_JVS(2454)) & ! JVS(2454) = Jac_FULL(288,335) JVS(2454) = 0 IF (DO_JVS(2455)) & ! JVS(2455) = Jac_FULL(288,337) JVS(2455) = 0.14*B(1044)+0.054*B(1199)+0.335*B(1271) IF (DO_JVS(2456)) & ! JVS(2456) = Jac_FULL(288,340) JVS(2456) = 0 IF (DO_JVS(2457)) & ! JVS(2457) = Jac_FULL(288,341) JVS(2457) = 0 IF (DO_JVS(2458)) & ! JVS(2458) = Jac_FULL(288,345) JVS(2458) = 0.33*B(1002)+0.19*B(1006)+0.125*B(1010)+0.125*B(1024)-B(1239)+0.429*B(1313)+0.75*B(1315) IF (DO_JVS(2459)) & ! JVS(2459) = Jac_FULL(288,346) JVS(2459) = 0.55*B(992)+0.706*B(1040)+0.059*B(1203) IF (DO_JVS(2460)) & ! JVS(2460) = Jac_FULL(288,351) JVS(2460) = 0 IF (DO_JVS(2461)) & ! JVS(2461) = Jac_FULL(289,167) JVS(2461) = 0.5*B(721) IF (DO_JVS(2462)) & ! JVS(2462) = Jac_FULL(289,191) JVS(2462) = 0.9*B(717) IF (DO_JVS(2463)) & ! JVS(2463) = Jac_FULL(289,219) JVS(2463) = 0.9*B(719) IF (DO_JVS(2464)) & ! JVS(2464) = Jac_FULL(289,280) JVS(2464) = -B(922) IF (DO_JVS(2465)) & ! JVS(2465) = Jac_FULL(289,289) JVS(2465) = -B(903)-B(907)-B(911)-B(915)-B(919)-B(923)-2*B(924) IF (DO_JVS(2466)) & ! JVS(2466) = Jac_FULL(289,291) JVS(2466) = 0 IF (DO_JVS(2467)) & ! JVS(2467) = Jac_FULL(289,324) JVS(2467) = -B(916) IF (DO_JVS(2468)) & ! JVS(2468) = Jac_FULL(289,328) JVS(2468) = -B(912) IF (DO_JVS(2469)) & ! JVS(2469) = Jac_FULL(289,337) JVS(2469) = -B(908) IF (DO_JVS(2470)) & ! JVS(2470) = Jac_FULL(289,341) JVS(2470) = 0 IF (DO_JVS(2471)) & ! JVS(2471) = Jac_FULL(289,345) JVS(2471) = 0 IF (DO_JVS(2472)) & ! JVS(2472) = Jac_FULL(289,346) JVS(2472) = -B(904) IF (DO_JVS(2473)) & ! JVS(2473) = Jac_FULL(289,351) JVS(2473) = 0.9*B(718)+0.9*B(720)+0.5*B(722)-B(920) IF (DO_JVS(2474)) & ! JVS(2474) = Jac_FULL(290,290) JVS(2474) = -B(285)-B(287)-B(310)-B(639)-B(641) IF (DO_JVS(2475)) & ! JVS(2475) = Jac_FULL(290,314) JVS(2475) = B(1671) IF (DO_JVS(2476)) & ! JVS(2476) = Jac_FULL(290,340) JVS(2476) = -B(640) IF (DO_JVS(2477)) & ! JVS(2477) = Jac_FULL(290,341) JVS(2477) = -B(288) IF (DO_JVS(2478)) & ! JVS(2478) = Jac_FULL(290,342) JVS(2478) = -B(642) IF (DO_JVS(2479)) & ! JVS(2479) = Jac_FULL(290,345) JVS(2479) = -B(286) IF (DO_JVS(2480)) & ! JVS(2480) = Jac_FULL(290,351) JVS(2480) = -B(311) IF (DO_JVS(2481)) & ! JVS(2481) = Jac_FULL(291,219) JVS(2481) = 0.5*B(727) IF (DO_JVS(2482)) & ! JVS(2482) = Jac_FULL(291,291) JVS(2482) = -B(851)-B(853)-B(855)-B(857)-B(889)-B(891) IF (DO_JVS(2483)) & ! JVS(2483) = Jac_FULL(291,324) JVS(2483) = -B(892) IF (DO_JVS(2484)) & ! JVS(2484) = Jac_FULL(291,328) JVS(2484) = -B(890) IF (DO_JVS(2485)) & ! JVS(2485) = Jac_FULL(291,337) JVS(2485) = -B(852) IF (DO_JVS(2486)) & ! JVS(2486) = Jac_FULL(291,341) JVS(2486) = 0 IF (DO_JVS(2487)) & ! JVS(2487) = Jac_FULL(291,345) JVS(2487) = 0.5*B(728) IF (DO_JVS(2488)) & ! JVS(2488) = Jac_FULL(291,346) JVS(2488) = -B(854)-B(856) IF (DO_JVS(2489)) & ! JVS(2489) = Jac_FULL(291,351) JVS(2489) = -B(858) IF (DO_JVS(2490)) & ! JVS(2490) = Jac_FULL(292,160) JVS(2490) = 0.25*B(770)+0.5*B(1811) IF (DO_JVS(2491)) & ! JVS(2491) = Jac_FULL(292,176) JVS(2491) = 0.3*B(772) IF (DO_JVS(2492)) & ! JVS(2492) = Jac_FULL(292,178) JVS(2492) = 0.25*B(128) IF (DO_JVS(2493)) & ! JVS(2493) = Jac_FULL(292,219) JVS(2493) = 0.5*B(729) IF (DO_JVS(2494)) & ! JVS(2494) = Jac_FULL(292,251) JVS(2494) = 0.19*B(1685) IF (DO_JVS(2495)) & ! JVS(2495) = Jac_FULL(292,256) JVS(2495) = B(1750) IF (DO_JVS(2496)) & ! JVS(2496) = Jac_FULL(292,262) JVS(2496) = B(871)+B(873)+0.5*B(875) IF (DO_JVS(2497)) & ! JVS(2497) = Jac_FULL(292,272) JVS(2497) = 0 IF (DO_JVS(2498)) & ! JVS(2498) = Jac_FULL(292,273) JVS(2498) = 0 IF (DO_JVS(2499)) & ! JVS(2499) = Jac_FULL(292,275) JVS(2499) = 0 IF (DO_JVS(2500)) & ! JVS(2500) = Jac_FULL(292,277) JVS(2500) = 0 IF (DO_JVS(2501)) & ! JVS(2501) = Jac_FULL(292,278) JVS(2501) = 0.42*B(764)+0.5*B(766)+0.375*B(768) IF (DO_JVS(2502)) & ! JVS(2502) = Jac_FULL(292,279) JVS(2502) = 0.19*B(1688) IF (DO_JVS(2503)) & ! JVS(2503) = Jac_FULL(292,280) JVS(2503) = 0.149*B(922) IF (DO_JVS(2504)) & ! JVS(2504) = Jac_FULL(292,281) JVS(2504) = 0 IF (DO_JVS(2505)) & ! JVS(2505) = Jac_FULL(292,289) JVS(2505) = 0.464*B(903)+0.34*B(911)+0.464*B(915)+0.464*B(919)+0.149*B(923)+0.285*B(924) IF (DO_JVS(2506)) & ! JVS(2506) = Jac_FULL(292,291) JVS(2506) = 0 IF (DO_JVS(2507)) & ! JVS(2507) = Jac_FULL(292,292) JVS(2507) = -B(234)-B(251)-B(1665) IF (DO_JVS(2508)) & ! JVS(2508) = Jac_FULL(292,300) JVS(2508) = 0.19*B(171)+0.35*B(257)+0.271*B(351) IF (DO_JVS(2509)) & ! JVS(2509) = Jac_FULL(292,318) JVS(2509) = 0 IF (DO_JVS(2510)) & ! JVS(2510) = Jac_FULL(292,319) JVS(2510) = 0.19*B(177)+0.35*B(253)+0.271*B(349) IF (DO_JVS(2511)) & ! JVS(2511) = Jac_FULL(292,320) JVS(2511) = 0.25*B(263)+0.1*B(355) IF (DO_JVS(2512)) & ! JVS(2512) = Jac_FULL(292,324) JVS(2512) = 0.271*B(350)+0.271*B(352)+0.1*B(356)+0.464*B(916) IF (DO_JVS(2513)) & ! JVS(2513) = Jac_FULL(292,328) JVS(2513) = 0.35*B(254)+0.35*B(258)+0.25*B(264)+0.375*B(769)+0.34*B(912) IF (DO_JVS(2514)) & ! JVS(2514) = Jac_FULL(292,335) JVS(2514) = 0 IF (DO_JVS(2515)) & ! JVS(2515) = Jac_FULL(292,337) JVS(2515) = 0 IF (DO_JVS(2516)) & ! JVS(2516) = Jac_FULL(292,341) JVS(2516) = 0.5*B(730)+B(874) IF (DO_JVS(2517)) & ! JVS(2517) = Jac_FULL(292,345) JVS(2517) = -B(235)+0.25*B(771)+0.3*B(773)+B(872) IF (DO_JVS(2518)) & ! JVS(2518) = Jac_FULL(292,346) JVS(2518) = 0.25*B(129)+0.19*B(172)+0.19*B(178)+0.42*B(765)+0.464*B(904) IF (DO_JVS(2519)) & ! JVS(2519) = Jac_FULL(292,351) JVS(2519) = -B(252)+0.5*B(767)+0.5*B(876)+0.464*B(920) IF (DO_JVS(2520)) & ! JVS(2520) = Jac_FULL(293,145) JVS(2520) = B(1179) IF (DO_JVS(2521)) & ! JVS(2521) = Jac_FULL(293,186) JVS(2521) = 0 IF (DO_JVS(2522)) & ! JVS(2522) = Jac_FULL(293,222) JVS(2522) = 0.33*B(1180) IF (DO_JVS(2523)) & ! JVS(2523) = Jac_FULL(293,293) JVS(2523) = -B(1141)-B(1143)-B(1145) IF (DO_JVS(2524)) & ! JVS(2524) = Jac_FULL(293,299) JVS(2524) = 0 IF (DO_JVS(2525)) & ! JVS(2525) = Jac_FULL(293,303) JVS(2525) = 0.037*B(1316) IF (DO_JVS(2526)) & ! JVS(2526) = Jac_FULL(293,310) JVS(2526) = 0 IF (DO_JVS(2527)) & ! JVS(2527) = Jac_FULL(293,311) JVS(2527) = 0 IF (DO_JVS(2528)) & ! JVS(2528) = Jac_FULL(293,324) JVS(2528) = 0 IF (DO_JVS(2529)) & ! JVS(2529) = Jac_FULL(293,328) JVS(2529) = 0 IF (DO_JVS(2530)) & ! JVS(2530) = Jac_FULL(293,337) JVS(2530) = -B(1142) IF (DO_JVS(2531)) & ! JVS(2531) = Jac_FULL(293,345) JVS(2531) = 0.33*B(1181)+0.037*B(1317) IF (DO_JVS(2532)) & ! JVS(2532) = Jac_FULL(293,346) JVS(2532) = -B(1144)-B(1146) IF (DO_JVS(2533)) & ! JVS(2533) = Jac_FULL(293,351) JVS(2533) = 0 IF (DO_JVS(2534)) & ! JVS(2534) = Jac_FULL(294,82) JVS(2534) = 0.12*B(1383) IF (DO_JVS(2535)) & ! JVS(2535) = Jac_FULL(294,101) JVS(2535) = 0.2*B(1385) IF (DO_JVS(2536)) & ! JVS(2536) = Jac_FULL(294,107) JVS(2536) = 0.7*B(1304) IF (DO_JVS(2537)) & ! JVS(2537) = Jac_FULL(294,159) JVS(2537) = 0 IF (DO_JVS(2538)) & ! JVS(2538) = Jac_FULL(294,184) JVS(2538) = 0 IF (DO_JVS(2539)) & ! JVS(2539) = Jac_FULL(294,185) JVS(2539) = B(1260)+0.571*B(1768) IF (DO_JVS(2540)) & ! JVS(2540) = Jac_FULL(294,194) JVS(2540) = 0.187*B(1258)+0.125*B(1769) IF (DO_JVS(2541)) & ! JVS(2541) = Jac_FULL(294,198) JVS(2541) = 0.429*B(1795) IF (DO_JVS(2542)) & ! JVS(2542) = Jac_FULL(294,199) JVS(2542) = 0.018*B(1029) IF (DO_JVS(2543)) & ! JVS(2543) = Jac_FULL(294,200) JVS(2543) = 0.25*B(1348) IF (DO_JVS(2544)) & ! JVS(2544) = Jac_FULL(294,201) JVS(2544) = 0.6*B(1470)+0.6*B(1472)+0.2*B(1474) IF (DO_JVS(2545)) & ! JVS(2545) = Jac_FULL(294,209) JVS(2545) = 0.018*B(1027) IF (DO_JVS(2546)) & ! JVS(2546) = Jac_FULL(294,215) JVS(2546) = 0.5*B(1011) IF (DO_JVS(2547)) & ! JVS(2547) = Jac_FULL(294,223) JVS(2547) = 0 IF (DO_JVS(2548)) & ! JVS(2548) = Jac_FULL(294,224) JVS(2548) = 0 IF (DO_JVS(2549)) & ! JVS(2549) = Jac_FULL(294,227) JVS(2549) = B(1264)+0.5*B(1766) IF (DO_JVS(2550)) & ! JVS(2550) = Jac_FULL(294,230) JVS(2550) = 0.085*B(1001) IF (DO_JVS(2551)) & ! JVS(2551) = Jac_FULL(294,231) JVS(2551) = 0.165*B(1003) IF (DO_JVS(2552)) & ! JVS(2552) = Jac_FULL(294,232) JVS(2552) = 0 IF (DO_JVS(2553)) & ! JVS(2553) = Jac_FULL(294,238) JVS(2553) = 0.355*B(1009) IF (DO_JVS(2554)) & ! JVS(2554) = Jac_FULL(294,244) JVS(2554) = 0.3*B(61) IF (DO_JVS(2555)) & ! JVS(2555) = Jac_FULL(294,247) JVS(2555) = B(689) IF (DO_JVS(2556)) & ! JVS(2556) = Jac_FULL(294,250) JVS(2556) = 0 IF (DO_JVS(2557)) & ! JVS(2557) = Jac_FULL(294,253) JVS(2557) = 0.083*B(1276)+0.14*B(1283) IF (DO_JVS(2558)) & ! JVS(2558) = Jac_FULL(294,254) JVS(2558) = 0.05*B(1270)+0.242*B(1272) IF (DO_JVS(2559)) & ! JVS(2559) = Jac_FULL(294,258) JVS(2559) = 0.118*B(1793) IF (DO_JVS(2560)) & ! JVS(2560) = Jac_FULL(294,259) JVS(2560) = 0 IF (DO_JVS(2561)) & ! JVS(2561) = Jac_FULL(294,266) JVS(2561) = B(1799) IF (DO_JVS(2562)) & ! JVS(2562) = Jac_FULL(294,267) JVS(2562) = 0 IF (DO_JVS(2563)) & ! JVS(2563) = Jac_FULL(294,268) JVS(2563) = 0 IF (DO_JVS(2564)) & ! JVS(2564) = Jac_FULL(294,271) JVS(2564) = 0 IF (DO_JVS(2565)) & ! JVS(2565) = Jac_FULL(294,276) JVS(2565) = 0.3*B(953)+0.3*B(955) IF (DO_JVS(2566)) & ! JVS(2566) = Jac_FULL(294,285) JVS(2566) = 0 IF (DO_JVS(2567)) & ! JVS(2567) = Jac_FULL(294,286) JVS(2567) = 0.52*B(1064)+0.8*B(1066) IF (DO_JVS(2568)) & ! JVS(2568) = Jac_FULL(294,287) JVS(2568) = 0.23*B(1770) IF (DO_JVS(2569)) & ! JVS(2569) = Jac_FULL(294,288) JVS(2569) = 0.47*B(1767) IF (DO_JVS(2570)) & ! JVS(2570) = Jac_FULL(294,290) JVS(2570) = 0 IF (DO_JVS(2571)) & ! JVS(2571) = Jac_FULL(294,293) JVS(2571) = 0 IF (DO_JVS(2572)) & ! JVS(2572) = Jac_FULL(294,294) JVS(2572) = -B(314)-B(318)-B(1616)-B(1670) IF (DO_JVS(2573)) & ! JVS(2573) = Jac_FULL(294,299) JVS(2573) = 0 IF (DO_JVS(2574)) & ! JVS(2574) = Jac_FULL(294,301) JVS(2574) = 0 IF (DO_JVS(2575)) & ! JVS(2575) = Jac_FULL(294,302) JVS(2575) = 0.449*B(1236) IF (DO_JVS(2576)) & ! JVS(2576) = Jac_FULL(294,303) JVS(2576) = 0 IF (DO_JVS(2577)) & ! JVS(2577) = Jac_FULL(294,304) JVS(2577) = 0.3*B(968) IF (DO_JVS(2578)) & ! JVS(2578) = Jac_FULL(294,305) JVS(2578) = 0.3*B(966) IF (DO_JVS(2579)) & ! JVS(2579) = Jac_FULL(294,307) JVS(2579) = B(320) IF (DO_JVS(2580)) & ! JVS(2580) = Jac_FULL(294,308) JVS(2580) = 0 IF (DO_JVS(2581)) & ! JVS(2581) = Jac_FULL(294,309) JVS(2581) = 0.88*B(1232) IF (DO_JVS(2582)) & ! JVS(2582) = Jac_FULL(294,310) JVS(2582) = 0 IF (DO_JVS(2583)) & ! JVS(2583) = Jac_FULL(294,311) JVS(2583) = 0 IF (DO_JVS(2584)) & ! JVS(2584) = Jac_FULL(294,313) JVS(2584) = 0.5*B(261)+0.1*B(353) IF (DO_JVS(2585)) & ! JVS(2585) = Jac_FULL(294,314) JVS(2585) = 0.545*B(1226) IF (DO_JVS(2586)) & ! JVS(2586) = Jac_FULL(294,320) JVS(2586) = 0 IF (DO_JVS(2587)) & ! JVS(2587) = Jac_FULL(294,324) JVS(2587) = 0.1*B(354) IF (DO_JVS(2588)) & ! JVS(2588) = Jac_FULL(294,328) JVS(2588) = 0.5*B(262) IF (DO_JVS(2589)) & ! JVS(2589) = Jac_FULL(294,335) JVS(2589) = 0 IF (DO_JVS(2590)) & ! JVS(2590) = Jac_FULL(294,337) JVS(2590) = 0.52*B(1065)+0.05*B(1271)+0.083*B(1277) IF (DO_JVS(2591)) & ! JVS(2591) = Jac_FULL(294,340) JVS(2591) = 0 IF (DO_JVS(2592)) & ! JVS(2592) = Jac_FULL(294,341) JVS(2592) = 0.545*B(1227)+0.88*B(1233)+0.6*B(1473) IF (DO_JVS(2593)) & ! JVS(2593) = Jac_FULL(294,342) JVS(2593) = 0 IF (DO_JVS(2594)) & ! JVS(2594) = Jac_FULL(294,345) JVS(2594) = 0.3*B(62)-B(315)+B(321)+B(690)+0.3*B(954)+0.3*B(956)+0.085*B(1002)+0.165*B(1004)+0.355*B(1010)+0.5*B(1012)& &+0.018*B(1028)+0.018*B(1030)+0.449*B(1237)+0.187*B(1259)+B(1261)+B(1265)+0.7*B(1305)+0.25*B(1349)+0.12& &*B(1384)+0.2*B(1386)+0.6*B(1471) IF (DO_JVS(2595)) & ! JVS(2595) = Jac_FULL(294,346) JVS(2595) = 0.8*B(1067)+0.242*B(1273)+0.14*B(1284) IF (DO_JVS(2596)) & ! JVS(2596) = Jac_FULL(294,351) JVS(2596) = -B(319) IF (DO_JVS(2597)) & ! JVS(2597) = Jac_FULL(295,91) JVS(2597) = B(943)+B(1759) IF (DO_JVS(2598)) & ! JVS(2598) = Jac_FULL(295,100) JVS(2598) = 0.791*B(330)+B(1679) IF (DO_JVS(2599)) & ! JVS(2599) = Jac_FULL(295,160) JVS(2599) = 0.5*B(770)+B(1811) IF (DO_JVS(2600)) & ! JVS(2600) = Jac_FULL(295,161) JVS(2600) = 0.6*B(1813) IF (DO_JVS(2601)) & ! JVS(2601) = Jac_FULL(295,162) JVS(2601) = 0.3*B(798) IF (DO_JVS(2602)) & ! JVS(2602) = Jac_FULL(295,176) JVS(2602) = 0.4*B(772) IF (DO_JVS(2603)) & ! JVS(2603) = Jac_FULL(295,219) JVS(2603) = 0.5*B(729) IF (DO_JVS(2604)) & ! JVS(2604) = Jac_FULL(295,229) JVS(2604) = 0.3*B(859)+0.3*B(861)+0.15*B(863)+0.45*B(1816) IF (DO_JVS(2605)) & ! JVS(2605) = Jac_FULL(295,251) JVS(2605) = 0.34*B(1685) IF (DO_JVS(2606)) & ! JVS(2606) = Jac_FULL(295,262) JVS(2606) = 0.5*B(871)+0.5*B(873)+0.25*B(875) IF (DO_JVS(2607)) & ! JVS(2607) = Jac_FULL(295,273) JVS(2607) = 0.6*B(790)+0.4*B(792)+0.6*B(794) IF (DO_JVS(2608)) & ! JVS(2608) = Jac_FULL(295,275) JVS(2608) = 0 IF (DO_JVS(2609)) & ! JVS(2609) = Jac_FULL(295,277) JVS(2609) = 0 IF (DO_JVS(2610)) & ! JVS(2610) = Jac_FULL(295,278) JVS(2610) = 0.84*B(764)+B(766)+0.75*B(768) IF (DO_JVS(2611)) & ! JVS(2611) = Jac_FULL(295,279) JVS(2611) = 0.34*B(1688) IF (DO_JVS(2612)) & ! JVS(2612) = Jac_FULL(295,291) JVS(2612) = 0.45*B(855)+0.45*B(857)+0.45*B(889)+0.45*B(891) IF (DO_JVS(2613)) & ! JVS(2613) = Jac_FULL(295,295) JVS(2613) = -B(212)-B(417)-B(633)-B(1663)-B(1664) IF (DO_JVS(2614)) & ! JVS(2614) = Jac_FULL(295,300) JVS(2614) = 0.34*B(171)+0.16*B(257)+0.29*B(351) IF (DO_JVS(2615)) & ! JVS(2615) = Jac_FULL(295,318) JVS(2615) = 0 IF (DO_JVS(2616)) & ! JVS(2616) = Jac_FULL(295,319) JVS(2616) = 0.34*B(177)+0.16*B(253)+0.29*B(349) IF (DO_JVS(2617)) & ! JVS(2617) = Jac_FULL(295,320) JVS(2617) = 0 IF (DO_JVS(2618)) & ! JVS(2618) = Jac_FULL(295,323) JVS(2618) = B(187)+0.75*B(265)+B(357) IF (DO_JVS(2619)) & ! JVS(2619) = Jac_FULL(295,324) JVS(2619) = 0.29*B(350)+0.29*B(352)+B(358)+0.45*B(892) IF (DO_JVS(2620)) & ! JVS(2620) = Jac_FULL(295,328) JVS(2620) = 0.16*B(254)+0.16*B(258)+0.75*B(266)+0.75*B(769)+0.4*B(793)+0.45*B(890) IF (DO_JVS(2621)) & ! JVS(2621) = Jac_FULL(295,335) JVS(2621) = 0 IF (DO_JVS(2622)) & ! JVS(2622) = Jac_FULL(295,337) JVS(2622) = 0 IF (DO_JVS(2623)) & ! JVS(2623) = Jac_FULL(295,340) JVS(2623) = -B(634) IF (DO_JVS(2624)) & ! JVS(2624) = Jac_FULL(295,341) JVS(2624) = 0.5*B(730)+0.3*B(862)+0.5*B(874) IF (DO_JVS(2625)) & ! JVS(2625) = Jac_FULL(295,342) JVS(2625) = -B(418) IF (DO_JVS(2626)) & ! JVS(2626) = Jac_FULL(295,345) JVS(2626) = -B(213)+0.791*B(331)+0.5*B(771)+0.4*B(773)+0.3*B(799)+0.3*B(860)+0.5*B(872)+B(944) IF (DO_JVS(2627)) & ! JVS(2627) = Jac_FULL(295,346) JVS(2627) = 0.34*B(172)+0.34*B(178)+B(188)+0.84*B(765)+0.6*B(791)+0.45*B(856) IF (DO_JVS(2628)) & ! JVS(2628) = Jac_FULL(295,351) JVS(2628) = B(767)+0.6*B(795)+0.45*B(858)+0.15*B(864)+0.25*B(876) IF (DO_JVS(2629)) & ! JVS(2629) = Jac_FULL(296,173) JVS(2629) = B(1336) IF (DO_JVS(2630)) & ! JVS(2630) = Jac_FULL(296,183) JVS(2630) = B(106)+B(344)+B(419)+B(617) IF (DO_JVS(2631)) & ! JVS(2631) = Jac_FULL(296,200) JVS(2631) = 0 IF (DO_JVS(2632)) & ! JVS(2632) = Jac_FULL(296,201) JVS(2632) = 0 IF (DO_JVS(2633)) & ! JVS(2633) = Jac_FULL(296,221) JVS(2633) = 0 IF (DO_JVS(2634)) & ! JVS(2634) = Jac_FULL(296,240) JVS(2634) = 0 IF (DO_JVS(2635)) & ! JVS(2635) = Jac_FULL(296,246) JVS(2635) = 0 IF (DO_JVS(2636)) & ! JVS(2636) = Jac_FULL(296,269) JVS(2636) = 0 IF (DO_JVS(2637)) & ! JVS(2637) = Jac_FULL(296,289) JVS(2637) = 0 IF (DO_JVS(2638)) & ! JVS(2638) = Jac_FULL(296,291) JVS(2638) = 0 IF (DO_JVS(2639)) & ! JVS(2639) = Jac_FULL(296,296) JVS(2639) = -B(108)-B(110)-B(247)-2*B(273)-B(275)-B(365)-B(619) IF (DO_JVS(2640)) & ! JVS(2640) = Jac_FULL(296,320) JVS(2640) = 0 IF (DO_JVS(2641)) & ! JVS(2641) = Jac_FULL(296,322) JVS(2641) = 0 IF (DO_JVS(2642)) & ! JVS(2642) = Jac_FULL(296,324) JVS(2642) = -B(366) IF (DO_JVS(2643)) & ! JVS(2643) = Jac_FULL(296,328) JVS(2643) = -B(248) IF (DO_JVS(2644)) & ! JVS(2644) = Jac_FULL(296,335) JVS(2644) = 0 IF (DO_JVS(2645)) & ! JVS(2645) = Jac_FULL(296,337) JVS(2645) = -B(276) IF (DO_JVS(2646)) & ! JVS(2646) = Jac_FULL(296,340) JVS(2646) = B(618)-B(620) IF (DO_JVS(2647)) & ! JVS(2647) = Jac_FULL(296,341) JVS(2647) = 0 IF (DO_JVS(2648)) & ! JVS(2648) = Jac_FULL(296,342) JVS(2648) = B(420) IF (DO_JVS(2649)) & ! JVS(2649) = Jac_FULL(296,345) JVS(2649) = B(107)+B(1337) IF (DO_JVS(2650)) & ! JVS(2650) = Jac_FULL(296,346) JVS(2650) = -B(109)-B(111) IF (DO_JVS(2651)) & ! JVS(2651) = Jac_FULL(296,351) JVS(2651) = B(345) IF (DO_JVS(2652)) & ! JVS(2652) = Jac_FULL(297,214) JVS(2652) = B(1498)+B(1501)+B(1503) IF (DO_JVS(2653)) & ! JVS(2653) = Jac_FULL(297,297) JVS(2653) = -B(543)-B(1527)-B(1529)-B(1531)-B(1533)-B(1535)-B(1537)-B(1706) IF (DO_JVS(2654)) & ! JVS(2654) = Jac_FULL(297,335) JVS(2654) = 0 IF (DO_JVS(2655)) & ! JVS(2655) = Jac_FULL(297,336) JVS(2655) = 0 IF (DO_JVS(2656)) & ! JVS(2656) = Jac_FULL(297,339) JVS(2656) = B(1499)-B(1532) IF (DO_JVS(2657)) & ! JVS(2657) = Jac_FULL(297,344) JVS(2657) = B(1504)-B(1530) IF (DO_JVS(2658)) & ! JVS(2658) = Jac_FULL(297,345) JVS(2658) = -B(544) IF (DO_JVS(2659)) & ! JVS(2659) = Jac_FULL(297,349) JVS(2659) = -B(1534) IF (DO_JVS(2660)) & ! JVS(2660) = Jac_FULL(297,350) JVS(2660) = -B(1536) IF (DO_JVS(2661)) & ! JVS(2661) = Jac_FULL(297,351) JVS(2661) = 0 IF (DO_JVS(2662)) & ! JVS(2662) = Jac_FULL(297,352) JVS(2662) = -B(1538) IF (DO_JVS(2663)) & ! JVS(2663) = Jac_FULL(297,353) JVS(2663) = B(1502)-B(1528) IF (DO_JVS(2664)) & ! JVS(2664) = Jac_FULL(298,95) JVS(2664) = B(945)+B(1760) IF (DO_JVS(2665)) & ! JVS(2665) = Jac_FULL(298,97) JVS(2665) = 1.185*B(332)+1.5*B(1680) IF (DO_JVS(2666)) & ! JVS(2666) = Jac_FULL(298,98) JVS(2666) = 0.5*B(134)+B(1681) IF (DO_JVS(2667)) & ! JVS(2667) = Jac_FULL(298,99) JVS(2667) = 0.64*B(328)+B(1678) IF (DO_JVS(2668)) & ! JVS(2668) = Jac_FULL(298,102) JVS(2668) = 1.185*B(334)+1.5*B(1682) IF (DO_JVS(2669)) & ! JVS(2669) = Jac_FULL(298,125) JVS(2669) = B(1676) IF (DO_JVS(2670)) & ! JVS(2670) = Jac_FULL(298,130) JVS(2670) = B(849)+B(1815) IF (DO_JVS(2671)) & ! JVS(2671) = Jac_FULL(298,161) JVS(2671) = 0.6*B(1813) IF (DO_JVS(2672)) & ! JVS(2672) = Jac_FULL(298,162) JVS(2672) = 0.3*B(798) IF (DO_JVS(2673)) & ! JVS(2673) = Jac_FULL(298,165) JVS(2673) = 1.24*B(138) IF (DO_JVS(2674)) & ! JVS(2674) = Jac_FULL(298,169) JVS(2674) = B(1814) IF (DO_JVS(2675)) & ! JVS(2675) = Jac_FULL(298,178) JVS(2675) = 0.75*B(128) IF (DO_JVS(2676)) & ! JVS(2676) = Jac_FULL(298,188) JVS(2676) = B(271) IF (DO_JVS(2677)) & ! JVS(2677) = Jac_FULL(298,196) JVS(2677) = 1.558*B(1686) IF (DO_JVS(2678)) & ! JVS(2678) = Jac_FULL(298,201) JVS(2678) = 1.15*B(1474) IF (DO_JVS(2679)) & ! JVS(2679) = Jac_FULL(298,212) JVS(2679) = 0.326*B(148)+0.894*B(150) IF (DO_JVS(2680)) & ! JVS(2680) = Jac_FULL(298,219) JVS(2680) = 0.3*B(729) IF (DO_JVS(2681)) & ! JVS(2681) = Jac_FULL(298,221) JVS(2681) = 1.2*B(1469) IF (DO_JVS(2682)) & ! JVS(2682) = Jac_FULL(298,229) JVS(2682) = B(1748) IF (DO_JVS(2683)) & ! JVS(2683) = Jac_FULL(298,242) JVS(2683) = B(1751) IF (DO_JVS(2684)) & ! JVS(2684) = Jac_FULL(298,249) JVS(2684) = 0.64*B(175)+0.58*B(259)+0.613*B(361) IF (DO_JVS(2685)) & ! JVS(2685) = Jac_FULL(298,250) JVS(2685) = 0.25*B(267)+0.1*B(363) IF (DO_JVS(2686)) & ! JVS(2686) = Jac_FULL(298,251) JVS(2686) = 0.15*B(1685) IF (DO_JVS(2687)) & ! JVS(2687) = Jac_FULL(298,260) JVS(2687) = 0.09*B(216)+0.035*B(369) IF (DO_JVS(2688)) & ! JVS(2688) = Jac_FULL(298,269) JVS(2688) = 0 IF (DO_JVS(2689)) & ! JVS(2689) = Jac_FULL(298,272) JVS(2689) = 0 IF (DO_JVS(2690)) & ! JVS(2690) = Jac_FULL(298,273) JVS(2690) = 0.6*B(790)+0.4*B(792)+0.6*B(794) IF (DO_JVS(2691)) & ! JVS(2691) = Jac_FULL(298,274) JVS(2691) = 0.44*B(838)+B(840)+B(845)+0.75*B(897)+B(899) IF (DO_JVS(2692)) & ! JVS(2692) = Jac_FULL(298,275) JVS(2692) = 0 IF (DO_JVS(2693)) & ! JVS(2693) = Jac_FULL(298,279) JVS(2693) = 0.15*B(1688) IF (DO_JVS(2694)) & ! JVS(2694) = Jac_FULL(298,280) JVS(2694) = 0.64*B(922) IF (DO_JVS(2695)) & ! JVS(2695) = Jac_FULL(298,281) JVS(2695) = 0 IF (DO_JVS(2696)) & ! JVS(2696) = Jac_FULL(298,289) JVS(2696) = 1.24*B(903)+0.93*B(911)+1.24*B(915)+1.24*B(919)+0.64*B(923)+1.21*B(924) IF (DO_JVS(2697)) & ! JVS(2697) = Jac_FULL(298,290) JVS(2697) = 0 IF (DO_JVS(2698)) & ! JVS(2698) = Jac_FULL(298,291) JVS(2698) = 0 IF (DO_JVS(2699)) & ! JVS(2699) = Jac_FULL(298,298) JVS(2699) = -B(201)-B(210)-B(1662) IF (DO_JVS(2700)) & ! JVS(2700) = Jac_FULL(298,300) JVS(2700) = 0.15*B(171)+0.13*B(257)+0.255*B(351) IF (DO_JVS(2701)) & ! JVS(2701) = Jac_FULL(298,314) JVS(2701) = 0 IF (DO_JVS(2702)) & ! JVS(2702) = Jac_FULL(298,318) JVS(2702) = 0.64*B(181)+0.58*B(255)+0.613*B(359) IF (DO_JVS(2703)) & ! JVS(2703) = Jac_FULL(298,319) JVS(2703) = 0.15*B(177)+0.13*B(253)+0.255*B(349) IF (DO_JVS(2704)) & ! JVS(2704) = Jac_FULL(298,320) JVS(2704) = 0 IF (DO_JVS(2705)) & ! JVS(2705) = Jac_FULL(298,321) JVS(2705) = B(118)+0.75*B(214)+B(371) IF (DO_JVS(2706)) & ! JVS(2706) = Jac_FULL(298,323) JVS(2706) = 0 IF (DO_JVS(2707)) & ! JVS(2707) = Jac_FULL(298,324) JVS(2707) = 0.255*B(350)+0.255*B(352)+0.613*B(360)+0.613*B(362)+0.1*B(364)+0.035*B(370)+B(372)+B(900)+1.24*B(916) IF (DO_JVS(2708)) & ! JVS(2708) = Jac_FULL(298,328) JVS(2708) = 0.75*B(215)+0.09*B(217)+0.13*B(254)+0.58*B(256)+0.13*B(258)+0.58*B(260)+0.25*B(268)+0.4*B(793)+0.75*B(898)& &+0.93*B(912) IF (DO_JVS(2709)) & ! JVS(2709) = Jac_FULL(298,335) JVS(2709) = 0 IF (DO_JVS(2710)) & ! JVS(2710) = Jac_FULL(298,337) JVS(2710) = 0.894*B(151)+0.44*B(839) IF (DO_JVS(2711)) & ! JVS(2711) = Jac_FULL(298,340) JVS(2711) = 0 IF (DO_JVS(2712)) & ! JVS(2712) = Jac_FULL(298,341) JVS(2712) = 0.3*B(730) IF (DO_JVS(2713)) & ! JVS(2713) = Jac_FULL(298,342) JVS(2713) = 0 IF (DO_JVS(2714)) & ! JVS(2714) = Jac_FULL(298,345) JVS(2714) = 0.5*B(135)-B(202)+B(272)+0.64*B(329)+1.185*B(333)+1.185*B(335)+0.3*B(799)+B(850)+B(946) IF (DO_JVS(2715)) & ! JVS(2715) = Jac_FULL(298,346) JVS(2715) = B(119)+0.75*B(129)+1.24*B(139)+0.326*B(149)+0.15*B(172)+0.64*B(176)+0.15*B(178)+0.64*B(182)+0.6*B(791)& &+B(841)+1.24*B(904) IF (DO_JVS(2716)) & ! JVS(2716) = Jac_FULL(298,351) JVS(2716) = -B(211)+0.6*B(795)+B(846)+1.24*B(920) IF (DO_JVS(2717)) & ! JVS(2717) = Jac_FULL(299,180) JVS(2717) = 0.18*B(1222) IF (DO_JVS(2718)) & ! JVS(2718) = Jac_FULL(299,190) JVS(2718) = B(1125) IF (DO_JVS(2719)) & ! JVS(2719) = Jac_FULL(299,205) JVS(2719) = B(1118) IF (DO_JVS(2720)) & ! JVS(2720) = Jac_FULL(299,206) JVS(2720) = B(1133) IF (DO_JVS(2721)) & ! JVS(2721) = Jac_FULL(299,207) JVS(2721) = B(1139) IF (DO_JVS(2722)) & ! JVS(2722) = Jac_FULL(299,226) JVS(2722) = B(1208) IF (DO_JVS(2723)) & ! JVS(2723) = Jac_FULL(299,267) JVS(2723) = 0 IF (DO_JVS(2724)) & ! JVS(2724) = Jac_FULL(299,268) JVS(2724) = 0 IF (DO_JVS(2725)) & ! JVS(2725) = Jac_FULL(299,271) JVS(2725) = B(1204) IF (DO_JVS(2726)) & ! JVS(2726) = Jac_FULL(299,293) JVS(2726) = B(1145) IF (DO_JVS(2727)) & ! JVS(2727) = Jac_FULL(299,299) JVS(2727) = -B(1218)-B(1635)-B(1791) IF (DO_JVS(2728)) & ! JVS(2728) = Jac_FULL(299,303) JVS(2728) = 0 IF (DO_JVS(2729)) & ! JVS(2729) = Jac_FULL(299,304) JVS(2729) = 0 IF (DO_JVS(2730)) & ! JVS(2730) = Jac_FULL(299,305) JVS(2730) = 0 IF (DO_JVS(2731)) & ! JVS(2731) = Jac_FULL(299,310) JVS(2731) = B(1171) IF (DO_JVS(2732)) & ! JVS(2732) = Jac_FULL(299,311) JVS(2732) = B(1175) IF (DO_JVS(2733)) & ! JVS(2733) = Jac_FULL(299,324) JVS(2733) = 0 IF (DO_JVS(2734)) & ! JVS(2734) = Jac_FULL(299,328) JVS(2734) = 0 IF (DO_JVS(2735)) & ! JVS(2735) = Jac_FULL(299,337) JVS(2735) = 0.18*B(1223) IF (DO_JVS(2736)) & ! JVS(2736) = Jac_FULL(299,345) JVS(2736) = -B(1219) IF (DO_JVS(2737)) & ! JVS(2737) = Jac_FULL(299,346) JVS(2737) = B(1119)+B(1126)+B(1134)+B(1140)+B(1146)+B(1172)+B(1176)+B(1205)+B(1209) IF (DO_JVS(2738)) & ! JVS(2738) = Jac_FULL(299,351) JVS(2738) = 0 IF (DO_JVS(2739)) & ! JVS(2739) = Jac_FULL(300,102) JVS(2739) = 0.21*B(334) IF (DO_JVS(2740)) & ! JVS(2740) = Jac_FULL(300,142) JVS(2740) = B(193)+B(637) IF (DO_JVS(2741)) & ! JVS(2741) = Jac_FULL(300,201) JVS(2741) = 0.2*B(1474) IF (DO_JVS(2742)) & ! JVS(2742) = Jac_FULL(300,300) JVS(2742) = -B(171)-B(173)-B(222)-B(257)-B(351) IF (DO_JVS(2743)) & ! JVS(2743) = Jac_FULL(300,324) JVS(2743) = -B(352) IF (DO_JVS(2744)) & ! JVS(2744) = Jac_FULL(300,328) JVS(2744) = -B(258) IF (DO_JVS(2745)) & ! JVS(2745) = Jac_FULL(300,337) JVS(2745) = -B(223) IF (DO_JVS(2746)) & ! JVS(2746) = Jac_FULL(300,340) JVS(2746) = B(638) IF (DO_JVS(2747)) & ! JVS(2747) = Jac_FULL(300,341) JVS(2747) = 0 IF (DO_JVS(2748)) & ! JVS(2748) = Jac_FULL(300,345) JVS(2748) = 0.21*B(335) IF (DO_JVS(2749)) & ! JVS(2749) = Jac_FULL(300,346) JVS(2749) = -B(172)-B(174) IF (DO_JVS(2750)) & ! JVS(2750) = Jac_FULL(300,351) JVS(2750) = B(194) IF (DO_JVS(2751)) & ! JVS(2751) = Jac_FULL(301,145) JVS(2751) = B(1177) IF (DO_JVS(2752)) & ! JVS(2752) = Jac_FULL(301,186) JVS(2752) = B(1194)+0.159*B(1788) IF (DO_JVS(2753)) & ! JVS(2753) = Jac_FULL(301,267) JVS(2753) = 0.4*B(1111) IF (DO_JVS(2754)) & ! JVS(2754) = Jac_FULL(301,268) JVS(2754) = 0.4*B(1109) IF (DO_JVS(2755)) & ! JVS(2755) = Jac_FULL(301,299) JVS(2755) = 0.223*B(1791) IF (DO_JVS(2756)) & ! JVS(2756) = Jac_FULL(301,301) JVS(2756) = -B(1210)-B(1212)-B(1790) IF (DO_JVS(2757)) & ! JVS(2757) = Jac_FULL(301,303) JVS(2757) = 0 IF (DO_JVS(2758)) & ! JVS(2758) = Jac_FULL(301,304) JVS(2758) = 0 IF (DO_JVS(2759)) & ! JVS(2759) = Jac_FULL(301,305) JVS(2759) = 0 IF (DO_JVS(2760)) & ! JVS(2760) = Jac_FULL(301,310) JVS(2760) = 0.07*B(1153)+0.532*B(1154)+0.034*B(1159) IF (DO_JVS(2761)) & ! JVS(2761) = Jac_FULL(301,311) JVS(2761) = 0.532*B(1155)+0.862*B(1156)+0.401*B(1157)+0.159*B(1163)+0.159*B(1167)+0.159*B(1173) IF (DO_JVS(2762)) & ! JVS(2762) = Jac_FULL(301,324) JVS(2762) = 0.159*B(1164) IF (DO_JVS(2763)) & ! JVS(2763) = Jac_FULL(301,328) JVS(2763) = 0.401*B(1158)+0.034*B(1160) IF (DO_JVS(2764)) & ! JVS(2764) = Jac_FULL(301,337) JVS(2764) = 0 IF (DO_JVS(2765)) & ! JVS(2765) = Jac_FULL(301,345) JVS(2765) = 0.4*B(1110)+0.4*B(1112)+B(1195)-B(1211)-B(1213) IF (DO_JVS(2766)) & ! JVS(2766) = Jac_FULL(301,346) JVS(2766) = 0.159*B(1174) IF (DO_JVS(2767)) & ! JVS(2767) = Jac_FULL(301,351) JVS(2767) = 0.159*B(1168) IF (DO_JVS(2768)) & ! JVS(2768) = Jac_FULL(302,171) JVS(2768) = B(1250) IF (DO_JVS(2769)) & ! JVS(2769) = Jac_FULL(302,190) JVS(2769) = 0.599*B(1121)+B(1123) IF (DO_JVS(2770)) & ! JVS(2770) = Jac_FULL(302,207) JVS(2770) = 0.065*B(1135)+0.142*B(1137) IF (DO_JVS(2771)) & ! JVS(2771) = Jac_FULL(302,226) JVS(2771) = 0.015*B(1200)+0.049*B(1206) IF (DO_JVS(2772)) & ! JVS(2772) = Jac_FULL(302,230) JVS(2772) = 0 IF (DO_JVS(2773)) & ! JVS(2773) = Jac_FULL(302,254) JVS(2773) = B(1274) IF (DO_JVS(2774)) & ! JVS(2774) = Jac_FULL(302,267) JVS(2774) = 0.6*B(1111) IF (DO_JVS(2775)) & ! JVS(2775) = Jac_FULL(302,271) JVS(2775) = 0.008*B(1198)+0.014*B(1202) IF (DO_JVS(2776)) & ! JVS(2776) = Jac_FULL(302,276) JVS(2776) = 0 IF (DO_JVS(2777)) & ! JVS(2777) = Jac_FULL(302,293) JVS(2777) = 0.01*B(1141)+0.028*B(1143) IF (DO_JVS(2778)) & ! JVS(2778) = Jac_FULL(302,299) JVS(2778) = 0 IF (DO_JVS(2779)) & ! JVS(2779) = Jac_FULL(302,301) JVS(2779) = 0.161*B(1212) IF (DO_JVS(2780)) & ! JVS(2780) = Jac_FULL(302,302) JVS(2780) = -B(1236)-B(1621)-B(1772) IF (DO_JVS(2781)) & ! JVS(2781) = Jac_FULL(302,303) JVS(2781) = 0.05*B(1797) IF (DO_JVS(2782)) & ! JVS(2782) = Jac_FULL(302,304) JVS(2782) = 0 IF (DO_JVS(2783)) & ! JVS(2783) = Jac_FULL(302,305) JVS(2783) = 0 IF (DO_JVS(2784)) & ! JVS(2784) = Jac_FULL(302,310) JVS(2784) = 0 IF (DO_JVS(2785)) & ! JVS(2785) = Jac_FULL(302,311) JVS(2785) = 0 IF (DO_JVS(2786)) & ! JVS(2786) = Jac_FULL(302,314) JVS(2786) = 0 IF (DO_JVS(2787)) & ! JVS(2787) = Jac_FULL(302,324) JVS(2787) = 0 IF (DO_JVS(2788)) & ! JVS(2788) = Jac_FULL(302,328) JVS(2788) = 0 IF (DO_JVS(2789)) & ! JVS(2789) = Jac_FULL(302,335) JVS(2789) = B(1251) IF (DO_JVS(2790)) & ! JVS(2790) = Jac_FULL(302,337) JVS(2790) = 0.599*B(1122)+0.065*B(1136)+0.01*B(1142)+0.008*B(1199)+0.015*B(1201) IF (DO_JVS(2791)) & ! JVS(2791) = Jac_FULL(302,340) JVS(2791) = 0 IF (DO_JVS(2792)) & ! JVS(2792) = Jac_FULL(302,341) JVS(2792) = 0 IF (DO_JVS(2793)) & ! JVS(2793) = Jac_FULL(302,345) JVS(2793) = 0.6*B(1112)+0.161*B(1213)-B(1237) IF (DO_JVS(2794)) & ! JVS(2794) = Jac_FULL(302,346) JVS(2794) = B(1124)+0.142*B(1138)+0.028*B(1144)+0.014*B(1203)+0.049*B(1207)+B(1275) IF (DO_JVS(2795)) & ! JVS(2795) = Jac_FULL(302,351) JVS(2795) = 0 IF (DO_JVS(2796)) & ! JVS(2796) = Jac_FULL(303,186) JVS(2796) = B(1186) IF (DO_JVS(2797)) & ! JVS(2797) = Jac_FULL(303,190) JVS(2797) = 0.401*B(1121) IF (DO_JVS(2798)) & ! JVS(2798) = Jac_FULL(303,205) JVS(2798) = 0.482*B(1114) IF (DO_JVS(2799)) & ! JVS(2799) = Jac_FULL(303,206) JVS(2799) = 0.418*B(1129) IF (DO_JVS(2800)) & ! JVS(2800) = Jac_FULL(303,207) JVS(2800) = 0.494*B(1135) IF (DO_JVS(2801)) & ! JVS(2801) = Jac_FULL(303,222) JVS(2801) = B(1184) IF (DO_JVS(2802)) & ! JVS(2802) = Jac_FULL(303,223) JVS(2802) = B(1034) IF (DO_JVS(2803)) & ! JVS(2803) = Jac_FULL(303,224) JVS(2803) = B(1041) IF (DO_JVS(2804)) & ! JVS(2804) = Jac_FULL(303,226) JVS(2804) = 0.387*B(1200) IF (DO_JVS(2805)) & ! JVS(2805) = Jac_FULL(303,232) JVS(2805) = B(1048) IF (DO_JVS(2806)) & ! JVS(2806) = Jac_FULL(303,267) JVS(2806) = 0 IF (DO_JVS(2807)) & ! JVS(2807) = Jac_FULL(303,268) JVS(2807) = 0 IF (DO_JVS(2808)) & ! JVS(2808) = Jac_FULL(303,271) JVS(2808) = 0.5*B(1197)+0.234*B(1198) IF (DO_JVS(2809)) & ! JVS(2809) = Jac_FULL(303,293) JVS(2809) = 0.621*B(1141) IF (DO_JVS(2810)) & ! JVS(2810) = Jac_FULL(303,299) JVS(2810) = 0.565*B(1218) IF (DO_JVS(2811)) & ! JVS(2811) = Jac_FULL(303,303) JVS(2811) = -B(1316)-B(1637)-B(1797)-B(1798) IF (DO_JVS(2812)) & ! JVS(2812) = Jac_FULL(303,304) JVS(2812) = 0 IF (DO_JVS(2813)) & ! JVS(2813) = Jac_FULL(303,305) JVS(2813) = 0 IF (DO_JVS(2814)) & ! JVS(2814) = Jac_FULL(303,310) JVS(2814) = 0 IF (DO_JVS(2815)) & ! JVS(2815) = Jac_FULL(303,311) JVS(2815) = 0 IF (DO_JVS(2816)) & ! JVS(2816) = Jac_FULL(303,324) JVS(2816) = 0 IF (DO_JVS(2817)) & ! JVS(2817) = Jac_FULL(303,328) JVS(2817) = 0 IF (DO_JVS(2818)) & ! JVS(2818) = Jac_FULL(303,337) JVS(2818) = 0.482*B(1115)+0.401*B(1122)+0.418*B(1130)+0.494*B(1136)+0.621*B(1142)+0.234*B(1199)+0.387*B(1201) IF (DO_JVS(2819)) & ! JVS(2819) = Jac_FULL(303,345) JVS(2819) = B(1185)+B(1187)+0.565*B(1219)-B(1317) IF (DO_JVS(2820)) & ! JVS(2820) = Jac_FULL(303,346) JVS(2820) = B(1035)+B(1042)+B(1049) IF (DO_JVS(2821)) & ! JVS(2821) = Jac_FULL(303,351) JVS(2821) = 0 IF (DO_JVS(2822)) & ! JVS(2822) = Jac_FULL(304,186) JVS(2822) = 0.159*B(1789) IF (DO_JVS(2823)) & ! JVS(2823) = Jac_FULL(304,192) JVS(2823) = 0.51*B(1025) IF (DO_JVS(2824)) & ! JVS(2824) = Jac_FULL(304,199) JVS(2824) = 0.03*B(1029) IF (DO_JVS(2825)) & ! JVS(2825) = Jac_FULL(304,276) JVS(2825) = 0.5*B(635)+B(951) IF (DO_JVS(2826)) & ! JVS(2826) = Jac_FULL(304,304) JVS(2826) = -B(961)-B(963)-B(967)-B(968)-2*B(970)-B(971)-2*B(974)-B(975)-B(981)-B(983)-B(993)-B(995)-B(997)-B(999) IF (DO_JVS(2827)) & ! JVS(2827) = Jac_FULL(304,305) JVS(2827) = -B(972)-B(976) IF (DO_JVS(2828)) & ! JVS(2828) = Jac_FULL(304,311) JVS(2828) = 0 IF (DO_JVS(2829)) & ! JVS(2829) = Jac_FULL(304,328) JVS(2829) = -B(982)-B(984) IF (DO_JVS(2830)) & ! JVS(2830) = Jac_FULL(304,337) JVS(2830) = -B(962)-B(964) IF (DO_JVS(2831)) & ! JVS(2831) = Jac_FULL(304,340) JVS(2831) = 0.5*B(636) IF (DO_JVS(2832)) & ! JVS(2832) = Jac_FULL(304,341) JVS(2832) = 0 IF (DO_JVS(2833)) & ! JVS(2833) = Jac_FULL(304,345) JVS(2833) = B(952)+0.51*B(1026)+0.03*B(1030) IF (DO_JVS(2834)) & ! JVS(2834) = Jac_FULL(304,346) JVS(2834) = -B(994)-B(996)-B(998)-B(1000) IF (DO_JVS(2835)) & ! JVS(2835) = Jac_FULL(304,351) JVS(2835) = 0 IF (DO_JVS(2836)) & ! JVS(2836) = Jac_FULL(305,186) JVS(2836) = 0.841*B(1789) IF (DO_JVS(2837)) & ! JVS(2837) = Jac_FULL(305,187) JVS(2837) = 0.75*B(1023) IF (DO_JVS(2838)) & ! JVS(2838) = Jac_FULL(305,209) JVS(2838) = 0.03*B(1027) IF (DO_JVS(2839)) & ! JVS(2839) = Jac_FULL(305,276) JVS(2839) = 0.5*B(635)+B(949) IF (DO_JVS(2840)) & ! JVS(2840) = Jac_FULL(305,304) JVS(2840) = -B(971)-B(975) IF (DO_JVS(2841)) & ! JVS(2841) = Jac_FULL(305,305) JVS(2841) = -B(957)-B(959)-B(965)-B(966)-2*B(969)-B(972)-2*B(973)-B(976)-B(977)-B(979)-B(985)-B(987)-B(989)-B(991) IF (DO_JVS(2842)) & ! JVS(2842) = Jac_FULL(305,311) JVS(2842) = 0 IF (DO_JVS(2843)) & ! JVS(2843) = Jac_FULL(305,328) JVS(2843) = -B(978)-B(980) IF (DO_JVS(2844)) & ! JVS(2844) = Jac_FULL(305,337) JVS(2844) = -B(958)-B(960) IF (DO_JVS(2845)) & ! JVS(2845) = Jac_FULL(305,340) JVS(2845) = 0.5*B(636) IF (DO_JVS(2846)) & ! JVS(2846) = Jac_FULL(305,341) JVS(2846) = 0 IF (DO_JVS(2847)) & ! JVS(2847) = Jac_FULL(305,345) JVS(2847) = B(950)+0.75*B(1024)+0.03*B(1028) IF (DO_JVS(2848)) & ! JVS(2848) = Jac_FULL(305,346) JVS(2848) = -B(986)-B(988)-B(990)-B(992) IF (DO_JVS(2849)) & ! JVS(2849) = Jac_FULL(305,351) JVS(2849) = 0 IF (DO_JVS(2850)) & ! JVS(2850) = Jac_FULL(306,70) JVS(2850) = B(1375) IF (DO_JVS(2851)) & ! JVS(2851) = Jac_FULL(306,106) JVS(2851) = B(1373) IF (DO_JVS(2852)) & ! JVS(2852) = Jac_FULL(306,113) JVS(2852) = B(241) IF (DO_JVS(2853)) & ! JVS(2853) = Jac_FULL(306,126) JVS(2853) = B(167) IF (DO_JVS(2854)) & ! JVS(2854) = Jac_FULL(306,127) JVS(2854) = B(152) IF (DO_JVS(2855)) & ! JVS(2855) = Jac_FULL(306,132) JVS(2855) = B(156)+B(158) IF (DO_JVS(2856)) & ! JVS(2856) = Jac_FULL(306,136) JVS(2856) = B(1379) IF (DO_JVS(2857)) & ! JVS(2857) = Jac_FULL(306,174) JVS(2857) = 0.25*B(1794) IF (DO_JVS(2858)) & ! JVS(2858) = Jac_FULL(306,180) JVS(2858) = 0.11*B(1220)+0.09*B(1222) IF (DO_JVS(2859)) & ! JVS(2859) = Jac_FULL(306,197) JVS(2859) = 0.5*B(160) IF (DO_JVS(2860)) & ! JVS(2860) = Jac_FULL(306,198) JVS(2860) = 0.429*B(1795) IF (DO_JVS(2861)) & ! JVS(2861) = Jac_FULL(306,201) JVS(2861) = 0.95*B(1472) IF (DO_JVS(2862)) & ! JVS(2862) = Jac_FULL(306,202) JVS(2862) = B(1424) IF (DO_JVS(2863)) & ! JVS(2863) = Jac_FULL(306,205) JVS(2863) = 0.459*B(1114)+0.728*B(1116) IF (DO_JVS(2864)) & ! JVS(2864) = Jac_FULL(306,206) JVS(2864) = 0.551*B(1129)+0.935*B(1131) IF (DO_JVS(2865)) & ! JVS(2865) = Jac_FULL(306,212) JVS(2865) = 0.659*B(150) IF (DO_JVS(2866)) & ! JVS(2866) = Jac_FULL(306,220) JVS(2866) = 0 IF (DO_JVS(2867)) & ! JVS(2867) = Jac_FULL(306,221) JVS(2867) = 0.9*B(1467) IF (DO_JVS(2868)) & ! JVS(2868) = Jac_FULL(306,223) JVS(2868) = 0 IF (DO_JVS(2869)) & ! JVS(2869) = Jac_FULL(306,224) JVS(2869) = 0.294*B(1039)+0.135*B(1043) IF (DO_JVS(2870)) & ! JVS(2870) = Jac_FULL(306,232) JVS(2870) = B(1046)+0.65*B(1050) IF (DO_JVS(2871)) & ! JVS(2871) = Jac_FULL(306,233) JVS(2871) = 0 IF (DO_JVS(2872)) & ! JVS(2872) = Jac_FULL(306,234) JVS(2872) = 0.2*B(1370) IF (DO_JVS(2873)) & ! JVS(2873) = Jac_FULL(306,246) JVS(2873) = 0 IF (DO_JVS(2874)) & ! JVS(2874) = Jac_FULL(306,254) JVS(2874) = 0.36*B(1270)+0.758*B(1272) IF (DO_JVS(2875)) & ! JVS(2875) = Jac_FULL(306,258) JVS(2875) = 0.118*B(1793) IF (DO_JVS(2876)) & ! JVS(2876) = Jac_FULL(306,262) JVS(2876) = 0.5*B(871)+0.5*B(873)+0.25*B(875) IF (DO_JVS(2877)) & ! JVS(2877) = Jac_FULL(306,266) JVS(2877) = B(1799) IF (DO_JVS(2878)) & ! JVS(2878) = Jac_FULL(306,267) JVS(2878) = 0 IF (DO_JVS(2879)) & ! JVS(2879) = Jac_FULL(306,268) JVS(2879) = 0 IF (DO_JVS(2880)) & ! JVS(2880) = Jac_FULL(306,269) JVS(2880) = 0 IF (DO_JVS(2881)) & ! JVS(2881) = Jac_FULL(306,271) JVS(2881) = 0.34*B(1198)+0.384*B(1202) IF (DO_JVS(2882)) & ! JVS(2882) = Jac_FULL(306,276) JVS(2882) = 0 IF (DO_JVS(2883)) & ! JVS(2883) = Jac_FULL(306,285) JVS(2883) = 0 IF (DO_JVS(2884)) & ! JVS(2884) = Jac_FULL(306,286) JVS(2884) = 0.52*B(1064)+0.8*B(1066) IF (DO_JVS(2885)) & ! JVS(2885) = Jac_FULL(306,288) JVS(2885) = 0.53*B(1767) IF (DO_JVS(2886)) & ! JVS(2886) = Jac_FULL(306,291) JVS(2886) = 0 IF (DO_JVS(2887)) & ! JVS(2887) = Jac_FULL(306,293) JVS(2887) = 0.242*B(1141)+0.546*B(1143) IF (DO_JVS(2888)) & ! JVS(2888) = Jac_FULL(306,299) JVS(2888) = 0.5*B(1791) IF (DO_JVS(2889)) & ! JVS(2889) = Jac_FULL(306,301) JVS(2889) = 0 IF (DO_JVS(2890)) & ! JVS(2890) = Jac_FULL(306,302) JVS(2890) = 0.69*B(1772) IF (DO_JVS(2891)) & ! JVS(2891) = Jac_FULL(306,303) JVS(2891) = 0.3*B(1797)+0.35*B(1798) IF (DO_JVS(2892)) & ! JVS(2892) = Jac_FULL(306,304) JVS(2892) = 0 IF (DO_JVS(2893)) & ! JVS(2893) = Jac_FULL(306,305) JVS(2893) = 0 IF (DO_JVS(2894)) & ! JVS(2894) = Jac_FULL(306,306) JVS(2894) = -B(289)-B(291)-B(293)-B(295)-B(1666) IF (DO_JVS(2895)) & ! JVS(2895) = Jac_FULL(306,310) JVS(2895) = 0 IF (DO_JVS(2896)) & ! JVS(2896) = Jac_FULL(306,311) JVS(2896) = 0 IF (DO_JVS(2897)) & ! JVS(2897) = Jac_FULL(306,314) JVS(2897) = 0 IF (DO_JVS(2898)) & ! JVS(2898) = Jac_FULL(306,320) JVS(2898) = 0 IF (DO_JVS(2899)) & ! JVS(2899) = Jac_FULL(306,324) JVS(2899) = 0 IF (DO_JVS(2900)) & ! JVS(2900) = Jac_FULL(306,328) JVS(2900) = 0.2*B(1371) IF (DO_JVS(2901)) & ! JVS(2901) = Jac_FULL(306,335) JVS(2901) = 0 IF (DO_JVS(2902)) & ! JVS(2902) = Jac_FULL(306,337) JVS(2902) = 0.659*B(151)+B(159)+0.5*B(161)+0.135*B(1044)+0.65*B(1051)+0.52*B(1065)+0.459*B(1115)+0.551*B(1130)+0.242& &*B(1142)+0.34*B(1199)+0.09*B(1223)+0.36*B(1271) IF (DO_JVS(2903)) & ! JVS(2903) = Jac_FULL(306,340) JVS(2903) = 0 IF (DO_JVS(2904)) & ! JVS(2904) = Jac_FULL(306,341) JVS(2904) = 0.5*B(874)+B(1425)+0.9*B(1468)+0.95*B(1473) IF (DO_JVS(2905)) & ! JVS(2905) = Jac_FULL(306,345) JVS(2905) = B(153)+B(168)+B(242)-B(290)-B(292)-B(294)+0.5*B(872)+B(1376)+B(1380) IF (DO_JVS(2906)) & ! JVS(2906) = Jac_FULL(306,346) JVS(2906) = B(157)+0.294*B(1040)+B(1047)+0.8*B(1067)+0.728*B(1117)+0.935*B(1132)+0.546*B(1144)+0.384*B(1203)+0.11& &*B(1221)+0.758*B(1273) IF (DO_JVS(2907)) & ! JVS(2907) = Jac_FULL(306,351) JVS(2907) = -B(296)+0.25*B(876) IF (DO_JVS(2908)) & ! JVS(2908) = Jac_FULL(307,123) JVS(2908) = 0.791*B(338) IF (DO_JVS(2909)) & ! JVS(2909) = Jac_FULL(307,153) JVS(2909) = 0.84*B(1268) IF (DO_JVS(2910)) & ! JVS(2910) = Jac_FULL(307,154) JVS(2910) = B(937)+B(1752) IF (DO_JVS(2911)) & ! JVS(2911) = Jac_FULL(307,159) JVS(2911) = 0.488*B(1280) IF (DO_JVS(2912)) & ! JVS(2912) = Jac_FULL(307,174) JVS(2912) = 0.25*B(1794) IF (DO_JVS(2913)) & ! JVS(2913) = Jac_FULL(307,184) JVS(2913) = 0.25*B(1302) IF (DO_JVS(2914)) & ! JVS(2914) = Jac_FULL(307,198) JVS(2914) = 0.571*B(1795) IF (DO_JVS(2915)) & ! JVS(2915) = Jac_FULL(307,205) JVS(2915) = 0.459*B(1114)+0.728*B(1116) IF (DO_JVS(2916)) & ! JVS(2916) = Jac_FULL(307,207) JVS(2916) = 0.441*B(1135)+0.858*B(1137) IF (DO_JVS(2917)) & ! JVS(2917) = Jac_FULL(307,215) JVS(2917) = 0.5*B(1011) IF (DO_JVS(2918)) & ! JVS(2918) = Jac_FULL(307,223) JVS(2918) = 0.284*B(1032)+0.135*B(1036) IF (DO_JVS(2919)) & ! JVS(2919) = Jac_FULL(307,224) JVS(2919) = 0 IF (DO_JVS(2920)) & ! JVS(2920) = Jac_FULL(307,230) JVS(2920) = 0 IF (DO_JVS(2921)) & ! JVS(2921) = Jac_FULL(307,231) JVS(2921) = 0 IF (DO_JVS(2922)) & ! JVS(2922) = Jac_FULL(307,232) JVS(2922) = B(1046)+0.65*B(1050) IF (DO_JVS(2923)) & ! JVS(2923) = Jac_FULL(307,242) JVS(2923) = 0 IF (DO_JVS(2924)) & ! JVS(2924) = Jac_FULL(307,243) JVS(2924) = 0.52*B(1078)+0.8*B(1082)+B(1084) IF (DO_JVS(2925)) & ! JVS(2925) = Jac_FULL(307,248) JVS(2925) = B(1773) IF (DO_JVS(2926)) & ! JVS(2926) = Jac_FULL(307,253) JVS(2926) = 0.507*B(1276)+B(1282)+0.86*B(1283) IF (DO_JVS(2927)) & ! JVS(2927) = Jac_FULL(307,256) JVS(2927) = 0 IF (DO_JVS(2928)) & ! JVS(2928) = Jac_FULL(307,258) JVS(2928) = 0.586*B(1793) IF (DO_JVS(2929)) & ! JVS(2929) = Jac_FULL(307,259) JVS(2929) = 0 IF (DO_JVS(2930)) & ! JVS(2930) = Jac_FULL(307,260) JVS(2930) = 0.16*B(216)+0.065*B(369) IF (DO_JVS(2931)) & ! JVS(2931) = Jac_FULL(307,267) JVS(2931) = 0 IF (DO_JVS(2932)) & ! JVS(2932) = Jac_FULL(307,268) JVS(2932) = 0 IF (DO_JVS(2933)) & ! JVS(2933) = Jac_FULL(307,271) JVS(2933) = 0.042*B(1198)+0.051*B(1202) IF (DO_JVS(2934)) & ! JVS(2934) = Jac_FULL(307,272) JVS(2934) = 0 IF (DO_JVS(2935)) & ! JVS(2935) = Jac_FULL(307,273) JVS(2935) = 0 IF (DO_JVS(2936)) & ! JVS(2936) = Jac_FULL(307,275) JVS(2936) = 0 IF (DO_JVS(2937)) & ! JVS(2937) = Jac_FULL(307,276) JVS(2937) = 0 IF (DO_JVS(2938)) & ! JVS(2938) = Jac_FULL(307,277) JVS(2938) = 0 IF (DO_JVS(2939)) & ! JVS(2939) = Jac_FULL(307,278) JVS(2939) = 0 IF (DO_JVS(2940)) & ! JVS(2940) = Jac_FULL(307,280) JVS(2940) = 0 IF (DO_JVS(2941)) & ! JVS(2941) = Jac_FULL(307,281) JVS(2941) = 0 IF (DO_JVS(2942)) & ! JVS(2942) = Jac_FULL(307,285) JVS(2942) = 0.8*B(1072)+0.52*B(1076) IF (DO_JVS(2943)) & ! JVS(2943) = Jac_FULL(307,286) JVS(2943) = 0 IF (DO_JVS(2944)) & ! JVS(2944) = Jac_FULL(307,287) JVS(2944) = 0.77*B(1240)+0.77*B(1770) IF (DO_JVS(2945)) & ! JVS(2945) = Jac_FULL(307,289) JVS(2945) = 0 IF (DO_JVS(2946)) & ! JVS(2946) = Jac_FULL(307,290) JVS(2946) = 0 IF (DO_JVS(2947)) & ! JVS(2947) = Jac_FULL(307,291) JVS(2947) = 0 IF (DO_JVS(2948)) & ! JVS(2948) = Jac_FULL(307,293) JVS(2948) = 0.033*B(1141)+0.071*B(1143) IF (DO_JVS(2949)) & ! JVS(2949) = Jac_FULL(307,299) JVS(2949) = 0.5*B(1791) IF (DO_JVS(2950)) & ! JVS(2950) = Jac_FULL(307,301) JVS(2950) = 0 IF (DO_JVS(2951)) & ! JVS(2951) = Jac_FULL(307,303) JVS(2951) = 0.45*B(1797)+0.8*B(1798) IF (DO_JVS(2952)) & ! JVS(2952) = Jac_FULL(307,304) JVS(2952) = 0 IF (DO_JVS(2953)) & ! JVS(2953) = Jac_FULL(307,305) JVS(2953) = 0 IF (DO_JVS(2954)) & ! JVS(2954) = Jac_FULL(307,307) JVS(2954) = -B(320)-B(322)-B(1675) IF (DO_JVS(2955)) & ! JVS(2955) = Jac_FULL(307,308) JVS(2955) = 0.5*B(1291)+B(1293)+B(1297)+0.7*B(1299) IF (DO_JVS(2956)) & ! JVS(2956) = Jac_FULL(307,309) JVS(2956) = 0 IF (DO_JVS(2957)) & ! JVS(2957) = Jac_FULL(307,310) JVS(2957) = 0 IF (DO_JVS(2958)) & ! JVS(2958) = Jac_FULL(307,311) JVS(2958) = 0 IF (DO_JVS(2959)) & ! JVS(2959) = Jac_FULL(307,313) JVS(2959) = 0.2*B(261) IF (DO_JVS(2960)) & ! JVS(2960) = Jac_FULL(307,314) JVS(2960) = 0 IF (DO_JVS(2961)) & ! JVS(2961) = Jac_FULL(307,324) JVS(2961) = 0.065*B(370) IF (DO_JVS(2962)) & ! JVS(2962) = Jac_FULL(307,328) JVS(2962) = 0.16*B(217)+0.2*B(262)+0.7*B(1300) IF (DO_JVS(2963)) & ! JVS(2963) = Jac_FULL(307,335) JVS(2963) = 0 IF (DO_JVS(2964)) & ! JVS(2964) = Jac_FULL(307,337) JVS(2964) = 0.135*B(1037)+0.65*B(1051)+0.52*B(1077)+0.52*B(1079)+0.459*B(1115)+0.441*B(1136)+0.033*B(1142)+0.042& &*B(1199)+0.507*B(1277)+0.5*B(1292) IF (DO_JVS(2965)) & ! JVS(2965) = Jac_FULL(307,340) JVS(2965) = 0 IF (DO_JVS(2966)) & ! JVS(2966) = Jac_FULL(307,341) JVS(2966) = 0 IF (DO_JVS(2967)) & ! JVS(2967) = Jac_FULL(307,342) JVS(2967) = 0 IF (DO_JVS(2968)) & ! JVS(2968) = Jac_FULL(307,345) JVS(2968) = -B(321)-B(323)+0.791*B(339)+B(938)+0.5*B(1012)+0.77*B(1241)+0.84*B(1269)+0.488*B(1281)+0.25*B(1303) IF (DO_JVS(2969)) & ! JVS(2969) = Jac_FULL(307,346) JVS(2969) = 0.284*B(1033)+B(1047)+0.8*B(1073)+0.8*B(1083)+0.728*B(1117)+0.858*B(1138)+0.071*B(1144)+0.051*B(1203)+0.86& &*B(1284)+B(1294) IF (DO_JVS(2970)) & ! JVS(2970) = Jac_FULL(307,351) JVS(2970) = B(1298) IF (DO_JVS(2971)) & ! JVS(2971) = Jac_FULL(308,248) JVS(2971) = B(1242) IF (DO_JVS(2972)) & ! JVS(2972) = Jac_FULL(308,253) JVS(2972) = 0 IF (DO_JVS(2973)) & ! JVS(2973) = Jac_FULL(308,276) JVS(2973) = 0 IF (DO_JVS(2974)) & ! JVS(2974) = Jac_FULL(308,301) JVS(2974) = 0 IF (DO_JVS(2975)) & ! JVS(2975) = Jac_FULL(308,303) JVS(2975) = 0 IF (DO_JVS(2976)) & ! JVS(2976) = Jac_FULL(308,304) JVS(2976) = 0 IF (DO_JVS(2977)) & ! JVS(2977) = Jac_FULL(308,305) JVS(2977) = 0 IF (DO_JVS(2978)) & ! JVS(2978) = Jac_FULL(308,308) JVS(2978) = -B(1291)-B(1293)-B(1295)-B(1297)-B(1299) IF (DO_JVS(2979)) & ! JVS(2979) = Jac_FULL(308,309) JVS(2979) = 0 IF (DO_JVS(2980)) & ! JVS(2980) = Jac_FULL(308,310) JVS(2980) = 0 IF (DO_JVS(2981)) & ! JVS(2981) = Jac_FULL(308,311) JVS(2981) = 0 IF (DO_JVS(2982)) & ! JVS(2982) = Jac_FULL(308,324) JVS(2982) = 0 IF (DO_JVS(2983)) & ! JVS(2983) = Jac_FULL(308,328) JVS(2983) = -B(1300) IF (DO_JVS(2984)) & ! JVS(2984) = Jac_FULL(308,335) JVS(2984) = -B(1296) IF (DO_JVS(2985)) & ! JVS(2985) = Jac_FULL(308,337) JVS(2985) = -B(1292) IF (DO_JVS(2986)) & ! JVS(2986) = Jac_FULL(308,340) JVS(2986) = 0 IF (DO_JVS(2987)) & ! JVS(2987) = Jac_FULL(308,341) JVS(2987) = 0 IF (DO_JVS(2988)) & ! JVS(2988) = Jac_FULL(308,345) JVS(2988) = B(1243) IF (DO_JVS(2989)) & ! JVS(2989) = Jac_FULL(308,346) JVS(2989) = -B(1294) IF (DO_JVS(2990)) & ! JVS(2990) = Jac_FULL(308,351) JVS(2990) = -B(1298) IF (DO_JVS(2991)) & ! JVS(2991) = Jac_FULL(309,135) JVS(2991) = B(1089)+B(1091) IF (DO_JVS(2992)) & ! JVS(2992) = Jac_FULL(309,144) JVS(2992) = 0.14*B(1007)+B(1782) IF (DO_JVS(2993)) & ! JVS(2993) = Jac_FULL(309,168) JVS(2993) = B(1785) IF (DO_JVS(2994)) & ! JVS(2994) = Jac_FULL(309,192) JVS(2994) = 0.165*B(1025)+B(1776) IF (DO_JVS(2995)) & ! JVS(2995) = Jac_FULL(309,199) JVS(2995) = 0 IF (DO_JVS(2996)) & ! JVS(2996) = Jac_FULL(309,222) JVS(2996) = 0.097*B(1787) IF (DO_JVS(2997)) & ! JVS(2997) = Jac_FULL(309,231) JVS(2997) = 0.035*B(1003) IF (DO_JVS(2998)) & ! JVS(2998) = Jac_FULL(309,276) JVS(2998) = 0.416*B(947) IF (DO_JVS(2999)) & ! JVS(2999) = Jac_FULL(309,299) JVS(2999) = 0.005*B(1791) IF (DO_JVS(3000)) & ! JVS(3000) = Jac_FULL(309,303) JVS(3000) = 0 IF (DO_JVS(3001)) & ! JVS(3001) = Jac_FULL(309,304) JVS(3001) = 0.063*B(961)+B(967)+2*B(970)+B(971)+B(981)+B(995) IF (DO_JVS(3002)) & ! JVS(3002) = Jac_FULL(309,305) JVS(3002) = B(972) IF (DO_JVS(3003)) & ! JVS(3003) = Jac_FULL(309,309) JVS(3003) = -B(1228)-B(1230)-B(1232)-B(1234)-B(1674) IF (DO_JVS(3004)) & ! JVS(3004) = Jac_FULL(309,310) JVS(3004) = 0.048*B(1149)+0.123*B(1153)+0.019*B(1154)+0.028*B(1159)+0.097*B(1161)+0.097*B(1165)+0.096*B(1169) IF (DO_JVS(3005)) & ! JVS(3005) = Jac_FULL(309,311) JVS(3005) = 0.019*B(1155) IF (DO_JVS(3006)) & ! JVS(3006) = Jac_FULL(309,324) JVS(3006) = 0.097*B(1162) IF (DO_JVS(3007)) & ! JVS(3007) = Jac_FULL(309,328) JVS(3007) = B(982)+0.028*B(1160) IF (DO_JVS(3008)) & ! JVS(3008) = Jac_FULL(309,337) JVS(3008) = 0.063*B(962)+B(1092)+0.048*B(1150) IF (DO_JVS(3009)) & ! JVS(3009) = Jac_FULL(309,340) JVS(3009) = 0 IF (DO_JVS(3010)) & ! JVS(3010) = Jac_FULL(309,341) JVS(3010) = 0.416*B(948)-B(1233) IF (DO_JVS(3011)) & ! JVS(3011) = Jac_FULL(309,345) JVS(3011) = 0.035*B(1004)+0.14*B(1008)+0.165*B(1026)-B(1229)-B(1231) IF (DO_JVS(3012)) & ! JVS(3012) = Jac_FULL(309,346) JVS(3012) = B(996)+B(1090)+0.096*B(1170) IF (DO_JVS(3013)) & ! JVS(3013) = Jac_FULL(309,351) JVS(3013) = 0.097*B(1166)-B(1235) IF (DO_JVS(3014)) & ! JVS(3014) = Jac_FULL(310,222) JVS(3014) = B(1190) IF (DO_JVS(3015)) & ! JVS(3015) = Jac_FULL(310,276) JVS(3015) = 0.465*B(1147) IF (DO_JVS(3016)) & ! JVS(3016) = Jac_FULL(310,310) JVS(3016) = -B(1149)-2*B(1153)-B(1154)-B(1159)-B(1161)-B(1165)-B(1169)-B(1171) IF (DO_JVS(3017)) & ! JVS(3017) = Jac_FULL(310,311) JVS(3017) = -B(1155) IF (DO_JVS(3018)) & ! JVS(3018) = Jac_FULL(310,324) JVS(3018) = -B(1162) IF (DO_JVS(3019)) & ! JVS(3019) = Jac_FULL(310,328) JVS(3019) = -B(1160) IF (DO_JVS(3020)) & ! JVS(3020) = Jac_FULL(310,337) JVS(3020) = -B(1150) IF (DO_JVS(3021)) & ! JVS(3021) = Jac_FULL(310,340) JVS(3021) = 0 IF (DO_JVS(3022)) & ! JVS(3022) = Jac_FULL(310,341) JVS(3022) = 0 IF (DO_JVS(3023)) & ! JVS(3023) = Jac_FULL(310,345) JVS(3023) = B(1191) IF (DO_JVS(3024)) & ! JVS(3024) = Jac_FULL(310,346) JVS(3024) = -B(1170)-B(1172) IF (DO_JVS(3025)) & ! JVS(3025) = Jac_FULL(310,351) JVS(3025) = 0.465*B(1148)-B(1166) IF (DO_JVS(3026)) & ! JVS(3026) = Jac_FULL(311,186) JVS(3026) = B(1192) IF (DO_JVS(3027)) & ! JVS(3027) = Jac_FULL(311,276) JVS(3027) = 0.535*B(1147) IF (DO_JVS(3028)) & ! JVS(3028) = Jac_FULL(311,310) JVS(3028) = -B(1154) IF (DO_JVS(3029)) & ! JVS(3029) = Jac_FULL(311,311) JVS(3029) = -B(1151)-B(1155)-2*B(1156)-B(1157)-B(1163)-B(1167)-B(1173)-B(1175) IF (DO_JVS(3030)) & ! JVS(3030) = Jac_FULL(311,324) JVS(3030) = -B(1164) IF (DO_JVS(3031)) & ! JVS(3031) = Jac_FULL(311,328) JVS(3031) = -B(1158) IF (DO_JVS(3032)) & ! JVS(3032) = Jac_FULL(311,337) JVS(3032) = -B(1152) IF (DO_JVS(3033)) & ! JVS(3033) = Jac_FULL(311,340) JVS(3033) = 0 IF (DO_JVS(3034)) & ! JVS(3034) = Jac_FULL(311,341) JVS(3034) = 0 IF (DO_JVS(3035)) & ! JVS(3035) = Jac_FULL(311,345) JVS(3035) = B(1193) IF (DO_JVS(3036)) & ! JVS(3036) = Jac_FULL(311,346) JVS(3036) = -B(1174)-B(1176) IF (DO_JVS(3037)) & ! JVS(3037) = Jac_FULL(311,351) JVS(3037) = 0.535*B(1148)-B(1168) IF (DO_JVS(3038)) & ! JVS(3038) = Jac_FULL(312,109) JVS(3038) = B(1358) IF (DO_JVS(3039)) & ! JVS(3039) = Jac_FULL(312,191) JVS(3039) = 0.1*B(733) IF (DO_JVS(3040)) & ! JVS(3040) = Jac_FULL(312,220) JVS(3040) = 0.5*B(1342) IF (DO_JVS(3041)) & ! JVS(3041) = Jac_FULL(312,233) JVS(3041) = 0 IF (DO_JVS(3042)) & ! JVS(3042) = Jac_FULL(312,255) JVS(3042) = 0.33*B(808) IF (DO_JVS(3043)) & ! JVS(3043) = Jac_FULL(312,276) JVS(3043) = 0.58*B(947) IF (DO_JVS(3044)) & ! JVS(3044) = Jac_FULL(312,281) JVS(3044) = 0 IF (DO_JVS(3045)) & ! JVS(3045) = Jac_FULL(312,290) JVS(3045) = 0.22*B(287) IF (DO_JVS(3046)) & ! JVS(3046) = Jac_FULL(312,309) JVS(3046) = 0.88*B(1232) IF (DO_JVS(3047)) & ! JVS(3047) = Jac_FULL(312,310) JVS(3047) = 0 IF (DO_JVS(3048)) & ! JVS(3048) = Jac_FULL(312,311) JVS(3048) = 0 IF (DO_JVS(3049)) & ! JVS(3049) = Jac_FULL(312,312) JVS(3049) = -B(691)-B(693)-B(695)-B(697)-B(699)-B(701)-B(703) IF (DO_JVS(3050)) & ! JVS(3050) = Jac_FULL(312,314) JVS(3050) = 0.5*B(1226) IF (DO_JVS(3051)) & ! JVS(3051) = Jac_FULL(312,324) JVS(3051) = 0 IF (DO_JVS(3052)) & ! JVS(3052) = Jac_FULL(312,328) JVS(3052) = 0 IF (DO_JVS(3053)) & ! JVS(3053) = Jac_FULL(312,329) JVS(3053) = -B(692) IF (DO_JVS(3054)) & ! JVS(3054) = Jac_FULL(312,335) JVS(3054) = -B(696) IF (DO_JVS(3055)) & ! JVS(3055) = Jac_FULL(312,336) JVS(3055) = -B(698)-B(700) IF (DO_JVS(3056)) & ! JVS(3056) = Jac_FULL(312,337) JVS(3056) = 0 IF (DO_JVS(3057)) & ! JVS(3057) = Jac_FULL(312,340) JVS(3057) = 0 IF (DO_JVS(3058)) & ! JVS(3058) = Jac_FULL(312,341) JVS(3058) = 0.22*B(288)-B(702)+0.1*B(734)+0.33*B(809)+0.58*B(948)+0.5*B(1227)+0.88*B(1233)+0.5*B(1343)+B(1359) IF (DO_JVS(3059)) & ! JVS(3059) = Jac_FULL(312,342) JVS(3059) = 0 IF (DO_JVS(3060)) & ! JVS(3060) = Jac_FULL(312,345) JVS(3060) = 0 IF (DO_JVS(3061)) & ! JVS(3061) = Jac_FULL(312,346) JVS(3061) = -B(694) IF (DO_JVS(3062)) & ! JVS(3062) = Jac_FULL(312,348) JVS(3062) = -B(704) IF (DO_JVS(3063)) & ! JVS(3063) = Jac_FULL(312,351) JVS(3063) = 0 IF (DO_JVS(3064)) & ! JVS(3064) = Jac_FULL(313,244) JVS(3064) = 0.7*B(61) IF (DO_JVS(3065)) & ! JVS(3065) = Jac_FULL(313,271) JVS(3065) = 0 IF (DO_JVS(3066)) & ! JVS(3066) = Jac_FULL(313,276) JVS(3066) = 0 IF (DO_JVS(3067)) & ! JVS(3067) = Jac_FULL(313,287) JVS(3067) = 0 IF (DO_JVS(3068)) & ! JVS(3068) = Jac_FULL(313,295) JVS(3068) = B(212)+B(417)+B(633) IF (DO_JVS(3069)) & ! JVS(3069) = Jac_FULL(313,300) JVS(3069) = 0 IF (DO_JVS(3070)) & ! JVS(3070) = Jac_FULL(313,301) JVS(3070) = 0 IF (DO_JVS(3071)) & ! JVS(3071) = Jac_FULL(313,303) JVS(3071) = 0 IF (DO_JVS(3072)) & ! JVS(3072) = Jac_FULL(313,304) JVS(3072) = 0 IF (DO_JVS(3073)) & ! JVS(3073) = Jac_FULL(313,305) JVS(3073) = 0 IF (DO_JVS(3074)) & ! JVS(3074) = Jac_FULL(313,309) JVS(3074) = 0 IF (DO_JVS(3075)) & ! JVS(3075) = Jac_FULL(313,310) JVS(3075) = 0 IF (DO_JVS(3076)) & ! JVS(3076) = Jac_FULL(313,311) JVS(3076) = 0 IF (DO_JVS(3077)) & ! JVS(3077) = Jac_FULL(313,313) JVS(3077) = -B(183)-B(226)-B(261)-B(353) IF (DO_JVS(3078)) & ! JVS(3078) = Jac_FULL(313,318) JVS(3078) = 0 IF (DO_JVS(3079)) & ! JVS(3079) = Jac_FULL(313,319) JVS(3079) = 0 IF (DO_JVS(3080)) & ! JVS(3080) = Jac_FULL(313,320) JVS(3080) = 0 IF (DO_JVS(3081)) & ! JVS(3081) = Jac_FULL(313,323) JVS(3081) = 0 IF (DO_JVS(3082)) & ! JVS(3082) = Jac_FULL(313,324) JVS(3082) = -B(354) IF (DO_JVS(3083)) & ! JVS(3083) = Jac_FULL(313,328) JVS(3083) = -B(262) IF (DO_JVS(3084)) & ! JVS(3084) = Jac_FULL(313,335) JVS(3084) = 0 IF (DO_JVS(3085)) & ! JVS(3085) = Jac_FULL(313,337) JVS(3085) = -B(227) IF (DO_JVS(3086)) & ! JVS(3086) = Jac_FULL(313,340) JVS(3086) = B(634) IF (DO_JVS(3087)) & ! JVS(3087) = Jac_FULL(313,341) JVS(3087) = 0 IF (DO_JVS(3088)) & ! JVS(3088) = Jac_FULL(313,342) JVS(3088) = B(418) IF (DO_JVS(3089)) & ! JVS(3089) = Jac_FULL(313,345) JVS(3089) = 0.7*B(62)+B(213) IF (DO_JVS(3090)) & ! JVS(3090) = Jac_FULL(313,346) JVS(3090) = -B(184) IF (DO_JVS(3091)) & ! JVS(3091) = Jac_FULL(313,351) JVS(3091) = 0 IF (DO_JVS(3092)) & ! JVS(3092) = Jac_FULL(314,82) JVS(3092) = 0.04*B(1383) IF (DO_JVS(3093)) & ! JVS(3093) = Jac_FULL(314,101) JVS(3093) = 0.04*B(1385) IF (DO_JVS(3094)) & ! JVS(3094) = Jac_FULL(314,133) JVS(3094) = B(1085)+B(1087) IF (DO_JVS(3095)) & ! JVS(3095) = Jac_FULL(314,150) JVS(3095) = 0.23*B(1005)+B(1781) IF (DO_JVS(3096)) & ! JVS(3096) = Jac_FULL(314,175) JVS(3096) = B(1784) IF (DO_JVS(3097)) & ! JVS(3097) = Jac_FULL(314,187) JVS(3097) = 0.125*B(1023)+B(1775) IF (DO_JVS(3098)) & ! JVS(3098) = Jac_FULL(314,209) JVS(3098) = 0 IF (DO_JVS(3099)) & ! JVS(3099) = Jac_FULL(314,219) JVS(3099) = 0.15*B(729) IF (DO_JVS(3100)) & ! JVS(3100) = Jac_FULL(314,222) JVS(3100) = 0.903*B(1787) IF (DO_JVS(3101)) & ! JVS(3101) = Jac_FULL(314,229) JVS(3101) = 0.3*B(859)+0.3*B(861)+0.15*B(863)+0.45*B(1816) IF (DO_JVS(3102)) & ! JVS(3102) = Jac_FULL(314,230) JVS(3102) = 0.035*B(1001) IF (DO_JVS(3103)) & ! JVS(3103) = Jac_FULL(314,262) JVS(3103) = 0.5*B(871)+0.5*B(873)+0.25*B(875) IF (DO_JVS(3104)) & ! JVS(3104) = Jac_FULL(314,276) JVS(3104) = 0.177*B(947) IF (DO_JVS(3105)) & ! JVS(3105) = Jac_FULL(314,291) JVS(3105) = 0.45*B(855)+0.45*B(857)+0.45*B(889)+0.45*B(891) IF (DO_JVS(3106)) & ! JVS(3106) = Jac_FULL(314,299) JVS(3106) = 0.05*B(1791) IF (DO_JVS(3107)) & ! JVS(3107) = Jac_FULL(314,303) JVS(3107) = 0 IF (DO_JVS(3108)) & ! JVS(3108) = Jac_FULL(314,304) JVS(3108) = B(971) IF (DO_JVS(3109)) & ! JVS(3109) = Jac_FULL(314,305) JVS(3109) = 0.063*B(957)+B(965)+2*B(969)+B(972)+B(977)+B(987) IF (DO_JVS(3110)) & ! JVS(3110) = Jac_FULL(314,310) JVS(3110) = 0.479*B(1149)+1.737*B(1153)+0.544*B(1154)+0.583*B(1159)+0.903*B(1161)+0.903*B(1165)+0.904*B(1169) IF (DO_JVS(3111)) & ! JVS(3111) = Jac_FULL(314,311) JVS(3111) = 0.544*B(1155) IF (DO_JVS(3112)) & ! JVS(3112) = Jac_FULL(314,314) JVS(3112) = -B(1224)-B(1226)-B(1671)-B(1672)-B(1673) IF (DO_JVS(3113)) & ! JVS(3113) = Jac_FULL(314,324) JVS(3113) = 0.45*B(892)+0.903*B(1162) IF (DO_JVS(3114)) & ! JVS(3114) = Jac_FULL(314,328) JVS(3114) = 0.45*B(890)+B(978)+0.583*B(1160) IF (DO_JVS(3115)) & ! JVS(3115) = Jac_FULL(314,337) JVS(3115) = 0.063*B(958)+B(1088)+0.479*B(1150) IF (DO_JVS(3116)) & ! JVS(3116) = Jac_FULL(314,340) JVS(3116) = 0 IF (DO_JVS(3117)) & ! JVS(3117) = Jac_FULL(314,341) JVS(3117) = 0.15*B(730)+0.3*B(862)+0.5*B(874)+0.177*B(948)-B(1227) IF (DO_JVS(3118)) & ! JVS(3118) = Jac_FULL(314,345) JVS(3118) = 0.3*B(860)+0.5*B(872)+0.035*B(1002)+0.23*B(1006)+0.125*B(1024)-B(1225)+0.04*B(1384)+0.04*B(1386) IF (DO_JVS(3119)) & ! JVS(3119) = Jac_FULL(314,346) JVS(3119) = 0.45*B(856)+B(988)+B(1086)+0.904*B(1170) IF (DO_JVS(3120)) & ! JVS(3120) = Jac_FULL(314,351) JVS(3120) = 0.45*B(858)+0.15*B(864)+0.25*B(876)+0.903*B(1166) IF (DO_JVS(3121)) & ! JVS(3121) = Jac_FULL(315,118) JVS(3121) = 0.36*B(326) IF (DO_JVS(3122)) & ! JVS(3122) = Jac_FULL(315,251) JVS(3122) = 0.34*B(1685) IF (DO_JVS(3123)) & ! JVS(3123) = Jac_FULL(315,279) JVS(3123) = 0.34*B(1688) IF (DO_JVS(3124)) & ! JVS(3124) = Jac_FULL(315,292) JVS(3124) = 0.415*B(1665) IF (DO_JVS(3125)) & ! JVS(3125) = Jac_FULL(315,296) JVS(3125) = 0 IF (DO_JVS(3126)) & ! JVS(3126) = Jac_FULL(315,298) JVS(3126) = 0.49*B(1662) IF (DO_JVS(3127)) & ! JVS(3127) = Jac_FULL(315,300) JVS(3127) = 0.34*B(171)+0.16*B(257)+0.29*B(351) IF (DO_JVS(3128)) & ! JVS(3128) = Jac_FULL(315,314) JVS(3128) = 0 IF (DO_JVS(3129)) & ! JVS(3129) = Jac_FULL(315,315) JVS(3129) = -B(112)-B(249)-2*B(274)-B(277)-B(367)-B(621) IF (DO_JVS(3130)) & ! JVS(3130) = Jac_FULL(315,318) JVS(3130) = 0 IF (DO_JVS(3131)) & ! JVS(3131) = Jac_FULL(315,319) JVS(3131) = 0.34*B(177)+0.16*B(253)+0.29*B(349) IF (DO_JVS(3132)) & ! JVS(3132) = Jac_FULL(315,320) JVS(3132) = 0 IF (DO_JVS(3133)) & ! JVS(3133) = Jac_FULL(315,321) JVS(3133) = 0 IF (DO_JVS(3134)) & ! JVS(3134) = Jac_FULL(315,322) JVS(3134) = 0.49*B(208)+0.22*B(283)+0.49*B(373)+0.49*B(375) IF (DO_JVS(3135)) & ! JVS(3135) = Jac_FULL(315,323) JVS(3135) = 0 IF (DO_JVS(3136)) & ! JVS(3136) = Jac_FULL(315,324) JVS(3136) = 0.29*B(350)+0.29*B(352)-B(368)+0.49*B(374) IF (DO_JVS(3137)) & ! JVS(3137) = Jac_FULL(315,328) JVS(3137) = -B(250)+0.16*B(254)+0.16*B(258)+0.49*B(376) IF (DO_JVS(3138)) & ! JVS(3138) = Jac_FULL(315,335) JVS(3138) = 0 IF (DO_JVS(3139)) & ! JVS(3139) = Jac_FULL(315,337) JVS(3139) = -B(278)+0.22*B(284) IF (DO_JVS(3140)) & ! JVS(3140) = Jac_FULL(315,340) JVS(3140) = -B(622) IF (DO_JVS(3141)) & ! JVS(3141) = Jac_FULL(315,341) JVS(3141) = 0 IF (DO_JVS(3142)) & ! JVS(3142) = Jac_FULL(315,342) JVS(3142) = 0 IF (DO_JVS(3143)) & ! JVS(3143) = Jac_FULL(315,345) JVS(3143) = 0.36*B(327) IF (DO_JVS(3144)) & ! JVS(3144) = Jac_FULL(315,346) JVS(3144) = -B(113)+0.34*B(172)+0.34*B(178)+0.49*B(209) IF (DO_JVS(3145)) & ! JVS(3145) = Jac_FULL(315,351) JVS(3145) = 0 IF (DO_JVS(3146)) & ! JVS(3146) = Jac_FULL(316,148) JVS(3146) = B(403) IF (DO_JVS(3147)) & ! JVS(3147) = Jac_FULL(316,218) JVS(3147) = B(1509) IF (DO_JVS(3148)) & ! JVS(3148) = Jac_FULL(316,316) JVS(3148) = -B(405)-B(1549)-B(1551)-B(1553)-B(1555)-B(1557)-B(1559)-B(1561)-B(1692) IF (DO_JVS(3149)) & ! JVS(3149) = Jac_FULL(316,335) JVS(3149) = 0 IF (DO_JVS(3150)) & ! JVS(3150) = Jac_FULL(316,336) JVS(3150) = B(1510) IF (DO_JVS(3151)) & ! JVS(3151) = Jac_FULL(316,337) JVS(3151) = B(391) IF (DO_JVS(3152)) & ! JVS(3152) = Jac_FULL(316,339) JVS(3152) = -B(1552) IF (DO_JVS(3153)) & ! JVS(3153) = Jac_FULL(316,341) JVS(3153) = B(1563)+B(1565)+B(1567) IF (DO_JVS(3154)) & ! JVS(3154) = Jac_FULL(316,342) JVS(3154) = 0 IF (DO_JVS(3155)) & ! JVS(3155) = Jac_FULL(316,343) JVS(3155) = -B(406) IF (DO_JVS(3156)) & ! JVS(3156) = Jac_FULL(316,344) JVS(3156) = -B(1556) IF (DO_JVS(3157)) & ! JVS(3157) = Jac_FULL(316,345) JVS(3157) = B(404) IF (DO_JVS(3158)) & ! JVS(3158) = Jac_FULL(316,347) JVS(3158) = B(392) IF (DO_JVS(3159)) & ! JVS(3159) = Jac_FULL(316,348) JVS(3159) = -B(1562) IF (DO_JVS(3160)) & ! JVS(3160) = Jac_FULL(316,349) JVS(3160) = -B(1558)+B(1566) IF (DO_JVS(3161)) & ! JVS(3161) = Jac_FULL(316,350) JVS(3161) = -B(1560)+B(1568) IF (DO_JVS(3162)) & ! JVS(3162) = Jac_FULL(316,352) JVS(3162) = -B(1550)+B(1564) IF (DO_JVS(3163)) & ! JVS(3163) = Jac_FULL(316,353) JVS(3163) = -B(1554) IF (DO_JVS(3164)) & ! JVS(3164) = Jac_FULL(317,317) JVS(3164) = -B(545)-B(601)-B(603)-B(1513)-B(1515)-B(1517)-B(1519)-B(1521)-B(1523)-B(1525)-B(1707)-B(1708) IF (DO_JVS(3165)) & ! JVS(3165) = Jac_FULL(317,335) JVS(3165) = B(583) IF (DO_JVS(3166)) & ! JVS(3166) = Jac_FULL(317,336) JVS(3166) = -B(1514) IF (DO_JVS(3167)) & ! JVS(3167) = Jac_FULL(317,338) JVS(3167) = B(584) IF (DO_JVS(3168)) & ! JVS(3168) = Jac_FULL(317,339) JVS(3168) = -B(1516) IF (DO_JVS(3169)) & ! JVS(3169) = Jac_FULL(317,340) JVS(3169) = -B(604) IF (DO_JVS(3170)) & ! JVS(3170) = Jac_FULL(317,343) JVS(3170) = -B(602) IF (DO_JVS(3171)) & ! JVS(3171) = Jac_FULL(317,344) JVS(3171) = -B(1526) IF (DO_JVS(3172)) & ! JVS(3172) = Jac_FULL(317,345) JVS(3172) = -B(546) IF (DO_JVS(3173)) & ! JVS(3173) = Jac_FULL(317,349) JVS(3173) = -B(1520) IF (DO_JVS(3174)) & ! JVS(3174) = Jac_FULL(317,350) JVS(3174) = -B(1522) IF (DO_JVS(3175)) & ! JVS(3175) = Jac_FULL(317,352) JVS(3175) = -B(1518) IF (DO_JVS(3176)) & ! JVS(3176) = Jac_FULL(317,353) JVS(3176) = -B(1524) IF (DO_JVS(3177)) & ! JVS(3177) = Jac_FULL(318,251) JVS(3177) = B(195) IF (DO_JVS(3178)) & ! JVS(3178) = Jac_FULL(318,269) JVS(3178) = 0.5*B(1457)+0.5*B(1459) IF (DO_JVS(3179)) & ! JVS(3179) = Jac_FULL(318,318) JVS(3179) = -B(181)-B(220)-B(255)-B(359) IF (DO_JVS(3180)) & ! JVS(3180) = Jac_FULL(318,319) JVS(3180) = 0 IF (DO_JVS(3181)) & ! JVS(3181) = Jac_FULL(318,320) JVS(3181) = 0 IF (DO_JVS(3182)) & ! JVS(3182) = Jac_FULL(318,324) JVS(3182) = -B(360) IF (DO_JVS(3183)) & ! JVS(3183) = Jac_FULL(318,328) JVS(3183) = -B(256) IF (DO_JVS(3184)) & ! JVS(3184) = Jac_FULL(318,335) JVS(3184) = 0 IF (DO_JVS(3185)) & ! JVS(3185) = Jac_FULL(318,337) JVS(3185) = -B(221) IF (DO_JVS(3186)) & ! JVS(3186) = Jac_FULL(318,341) JVS(3186) = 0 IF (DO_JVS(3187)) & ! JVS(3187) = Jac_FULL(318,345) JVS(3187) = B(196)+0.5*B(1458) IF (DO_JVS(3188)) & ! JVS(3188) = Jac_FULL(318,346) JVS(3188) = -B(182) IF (DO_JVS(3189)) & ! JVS(3189) = Jac_FULL(318,351) JVS(3189) = 0.5*B(1460) IF (DO_JVS(3190)) & ! JVS(3190) = Jac_FULL(319,97) JVS(3190) = 0.21*B(332) IF (DO_JVS(3191)) & ! JVS(3191) = Jac_FULL(319,130) JVS(3191) = 0.8*B(849)+0.8*B(1815) IF (DO_JVS(3192)) & ! JVS(3192) = Jac_FULL(319,142) JVS(3192) = B(169) IF (DO_JVS(3193)) & ! JVS(3193) = Jac_FULL(319,161) JVS(3193) = 0.6*B(1813) IF (DO_JVS(3194)) & ! JVS(3194) = Jac_FULL(319,162) JVS(3194) = 0.3*B(798) IF (DO_JVS(3195)) & ! JVS(3195) = Jac_FULL(319,169) JVS(3195) = 0.8*B(1814) IF (DO_JVS(3196)) & ! JVS(3196) = Jac_FULL(319,178) JVS(3196) = 0.25*B(128) IF (DO_JVS(3197)) & ! JVS(3197) = Jac_FULL(319,249) JVS(3197) = 0.15*B(259)+0.27*B(361) IF (DO_JVS(3198)) & ! JVS(3198) = Jac_FULL(319,272) JVS(3198) = 0 IF (DO_JVS(3199)) & ! JVS(3199) = Jac_FULL(319,273) JVS(3199) = 0.6*B(790)+0.4*B(792)+0.6*B(794) IF (DO_JVS(3200)) & ! JVS(3200) = Jac_FULL(319,274) JVS(3200) = 0.352*B(838)+0.8*B(840)+0.8*B(845)+0.6*B(897)+0.8*B(899) IF (DO_JVS(3201)) & ! JVS(3201) = Jac_FULL(319,275) JVS(3201) = 0 IF (DO_JVS(3202)) & ! JVS(3202) = Jac_FULL(319,279) JVS(3202) = 0 IF (DO_JVS(3203)) & ! JVS(3203) = Jac_FULL(319,281) JVS(3203) = 0 IF (DO_JVS(3204)) & ! JVS(3204) = Jac_FULL(319,300) JVS(3204) = 0 IF (DO_JVS(3205)) & ! JVS(3205) = Jac_FULL(319,318) JVS(3205) = 0.15*B(255)+0.27*B(359) IF (DO_JVS(3206)) & ! JVS(3206) = Jac_FULL(319,319) JVS(3206) = -B(177)-B(179)-B(218)-B(253)-B(349) IF (DO_JVS(3207)) & ! JVS(3207) = Jac_FULL(319,320) JVS(3207) = 0 IF (DO_JVS(3208)) & ! JVS(3208) = Jac_FULL(319,324) JVS(3208) = -B(350)+0.27*B(360)+0.27*B(362)+0.8*B(900) IF (DO_JVS(3209)) & ! JVS(3209) = Jac_FULL(319,328) JVS(3209) = -B(254)+0.15*B(256)+0.15*B(260)+0.4*B(793)+0.6*B(898) IF (DO_JVS(3210)) & ! JVS(3210) = Jac_FULL(319,335) JVS(3210) = 0 IF (DO_JVS(3211)) & ! JVS(3211) = Jac_FULL(319,337) JVS(3211) = -B(219)+0.352*B(839) IF (DO_JVS(3212)) & ! JVS(3212) = Jac_FULL(319,340) JVS(3212) = 0 IF (DO_JVS(3213)) & ! JVS(3213) = Jac_FULL(319,341) JVS(3213) = 0 IF (DO_JVS(3214)) & ! JVS(3214) = Jac_FULL(319,345) JVS(3214) = B(170)+0.21*B(333)+0.3*B(799)+0.8*B(850) IF (DO_JVS(3215)) & ! JVS(3215) = Jac_FULL(319,346) JVS(3215) = 0.25*B(129)-B(178)-B(180)+0.6*B(791)+0.8*B(841) IF (DO_JVS(3216)) & ! JVS(3216) = Jac_FULL(319,351) JVS(3216) = 0.6*B(795)+0.8*B(846) IF (DO_JVS(3217)) & ! JVS(3217) = Jac_FULL(320,219) JVS(3217) = 0.3*B(729) IF (DO_JVS(3218)) & ! JVS(3218) = Jac_FULL(320,292) JVS(3218) = B(234)+B(251) IF (DO_JVS(3219)) & ! JVS(3219) = Jac_FULL(320,300) JVS(3219) = 0 IF (DO_JVS(3220)) & ! JVS(3220) = Jac_FULL(320,318) JVS(3220) = 0 IF (DO_JVS(3221)) & ! JVS(3221) = Jac_FULL(320,319) JVS(3221) = 0 IF (DO_JVS(3222)) & ! JVS(3222) = Jac_FULL(320,320) JVS(3222) = -B(185)-B(228)-B(236)-B(263)-B(355) IF (DO_JVS(3223)) & ! JVS(3223) = Jac_FULL(320,324) JVS(3223) = -B(356) IF (DO_JVS(3224)) & ! JVS(3224) = Jac_FULL(320,328) JVS(3224) = -B(264) IF (DO_JVS(3225)) & ! JVS(3225) = Jac_FULL(320,335) JVS(3225) = 0 IF (DO_JVS(3226)) & ! JVS(3226) = Jac_FULL(320,337) JVS(3226) = -B(229) IF (DO_JVS(3227)) & ! JVS(3227) = Jac_FULL(320,340) JVS(3227) = 0 IF (DO_JVS(3228)) & ! JVS(3228) = Jac_FULL(320,341) JVS(3228) = 0.3*B(730) IF (DO_JVS(3229)) & ! JVS(3229) = Jac_FULL(320,345) JVS(3229) = B(235) IF (DO_JVS(3230)) & ! JVS(3230) = Jac_FULL(320,346) JVS(3230) = -B(186)-B(237) IF (DO_JVS(3231)) & ! JVS(3231) = Jac_FULL(320,351) JVS(3231) = B(252) IF (DO_JVS(3232)) & ! JVS(3232) = Jac_FULL(321,99) JVS(3232) = 0.36*B(328) IF (DO_JVS(3233)) & ! JVS(3233) = Jac_FULL(321,141) JVS(3233) = B(116)+B(421)+B(631) IF (DO_JVS(3234)) & ! JVS(3234) = Jac_FULL(321,251) JVS(3234) = 0.05*B(1685) IF (DO_JVS(3235)) & ! JVS(3235) = Jac_FULL(321,279) JVS(3235) = 0.05*B(1688) IF (DO_JVS(3236)) & ! JVS(3236) = Jac_FULL(321,292) JVS(3236) = 0.06*B(1665) IF (DO_JVS(3237)) & ! JVS(3237) = Jac_FULL(321,298) JVS(3237) = 0.07*B(1662) IF (DO_JVS(3238)) & ! JVS(3238) = Jac_FULL(321,300) JVS(3238) = 0.05*B(171)+0.03*B(257)+0.045*B(351) IF (DO_JVS(3239)) & ! JVS(3239) = Jac_FULL(321,314) JVS(3239) = 0 IF (DO_JVS(3240)) & ! JVS(3240) = Jac_FULL(321,318) JVS(3240) = 0 IF (DO_JVS(3241)) & ! JVS(3241) = Jac_FULL(321,319) JVS(3241) = 0.05*B(177)+0.03*B(253)+0.045*B(349) IF (DO_JVS(3242)) & ! JVS(3242) = Jac_FULL(321,320) JVS(3242) = 0 IF (DO_JVS(3243)) & ! JVS(3243) = Jac_FULL(321,321) JVS(3243) = -B(118)-B(120)-B(214)-B(279)-B(371) IF (DO_JVS(3244)) & ! JVS(3244) = Jac_FULL(321,322) JVS(3244) = 0.07*B(208)+0.03*B(283)+0.07*B(373)+0.07*B(375) IF (DO_JVS(3245)) & ! JVS(3245) = Jac_FULL(321,323) JVS(3245) = 0 IF (DO_JVS(3246)) & ! JVS(3246) = Jac_FULL(321,324) JVS(3246) = 0.045*B(350)+0.045*B(352)-B(372)+0.07*B(374) IF (DO_JVS(3247)) & ! JVS(3247) = Jac_FULL(321,328) JVS(3247) = -B(215)+0.03*B(254)+0.03*B(258)+0.07*B(376) IF (DO_JVS(3248)) & ! JVS(3248) = Jac_FULL(321,335) JVS(3248) = 0 IF (DO_JVS(3249)) & ! JVS(3249) = Jac_FULL(321,337) JVS(3249) = -B(280)+0.03*B(284) IF (DO_JVS(3250)) & ! JVS(3250) = Jac_FULL(321,340) JVS(3250) = B(632) IF (DO_JVS(3251)) & ! JVS(3251) = Jac_FULL(321,341) JVS(3251) = 0 IF (DO_JVS(3252)) & ! JVS(3252) = Jac_FULL(321,342) JVS(3252) = B(422) IF (DO_JVS(3253)) & ! JVS(3253) = Jac_FULL(321,345) JVS(3253) = B(117)+0.36*B(329) IF (DO_JVS(3254)) & ! JVS(3254) = Jac_FULL(321,346) JVS(3254) = -B(119)-B(121)+0.05*B(172)+0.05*B(178)+0.07*B(209) IF (DO_JVS(3255)) & ! JVS(3255) = Jac_FULL(321,351) JVS(3255) = 0 IF (DO_JVS(3256)) & ! JVS(3256) = Jac_FULL(322,124) JVS(3256) = B(205)+0.7*B(1806) IF (DO_JVS(3257)) & ! JVS(3257) = Jac_FULL(322,155) JVS(3257) = B(336) IF (DO_JVS(3258)) & ! JVS(3258) = Jac_FULL(322,160) JVS(3258) = 0.5*B(770)+B(1811) IF (DO_JVS(3259)) & ! JVS(3259) = Jac_FULL(322,176) JVS(3259) = 0.4*B(772) IF (DO_JVS(3260)) & ! JVS(3260) = Jac_FULL(322,196) JVS(3260) = 0.326*B(1686) IF (DO_JVS(3261)) & ! JVS(3261) = Jac_FULL(322,201) JVS(3261) = 0.33*B(1470) IF (DO_JVS(3262)) & ! JVS(3262) = Jac_FULL(322,221) JVS(3262) = 0.33*B(1465) IF (DO_JVS(3263)) & ! JVS(3263) = Jac_FULL(322,240) JVS(3263) = B(1405)+0.44*B(1407) IF (DO_JVS(3264)) & ! JVS(3264) = Jac_FULL(322,246) JVS(3264) = 0 IF (DO_JVS(3265)) & ! JVS(3265) = Jac_FULL(322,269) JVS(3265) = 0 IF (DO_JVS(3266)) & ! JVS(3266) = Jac_FULL(322,277) JVS(3266) = 0 IF (DO_JVS(3267)) & ! JVS(3267) = Jac_FULL(322,278) JVS(3267) = 0.84*B(764)+B(766)+0.75*B(768) IF (DO_JVS(3268)) & ! JVS(3268) = Jac_FULL(322,292) JVS(3268) = 0.15*B(1665) IF (DO_JVS(3269)) & ! JVS(3269) = Jac_FULL(322,298) JVS(3269) = B(201)+B(210) IF (DO_JVS(3270)) & ! JVS(3270) = Jac_FULL(322,300) JVS(3270) = 0 IF (DO_JVS(3271)) & ! JVS(3271) = Jac_FULL(322,314) JVS(3271) = B(1673) IF (DO_JVS(3272)) & ! JVS(3272) = Jac_FULL(322,318) JVS(3272) = 0 IF (DO_JVS(3273)) & ! JVS(3273) = Jac_FULL(322,319) JVS(3273) = 0 IF (DO_JVS(3274)) & ! JVS(3274) = Jac_FULL(322,320) JVS(3274) = 0 IF (DO_JVS(3275)) & ! JVS(3275) = Jac_FULL(322,321) JVS(3275) = 0 IF (DO_JVS(3276)) & ! JVS(3276) = Jac_FULL(322,322) JVS(3276) = -B(203)-B(208)-B(283)-B(373)-B(375) IF (DO_JVS(3277)) & ! JVS(3277) = Jac_FULL(322,323) JVS(3277) = 0 IF (DO_JVS(3278)) & ! JVS(3278) = Jac_FULL(322,324) JVS(3278) = -B(374) IF (DO_JVS(3279)) & ! JVS(3279) = Jac_FULL(322,328) JVS(3279) = -B(376)+0.75*B(769) IF (DO_JVS(3280)) & ! JVS(3280) = Jac_FULL(322,335) JVS(3280) = -B(204) IF (DO_JVS(3281)) & ! JVS(3281) = Jac_FULL(322,337) JVS(3281) = -B(284)+0.44*B(1408) IF (DO_JVS(3282)) & ! JVS(3282) = Jac_FULL(322,340) JVS(3282) = 0 IF (DO_JVS(3283)) & ! JVS(3283) = Jac_FULL(322,341) JVS(3283) = 0 IF (DO_JVS(3284)) & ! JVS(3284) = Jac_FULL(322,342) JVS(3284) = 0 IF (DO_JVS(3285)) & ! JVS(3285) = Jac_FULL(322,345) JVS(3285) = B(202)+B(337)+0.5*B(771)+0.4*B(773)+0.33*B(1466)+0.33*B(1471) IF (DO_JVS(3286)) & ! JVS(3286) = Jac_FULL(322,346) JVS(3286) = -B(209)+0.84*B(765)+B(1406) IF (DO_JVS(3287)) & ! JVS(3287) = Jac_FULL(322,351) JVS(3287) = B(211)+B(767) IF (DO_JVS(3288)) & ! JVS(3288) = Jac_FULL(323,100) JVS(3288) = 0.209*B(330) IF (DO_JVS(3289)) & ! JVS(3289) = Jac_FULL(323,141) JVS(3289) = B(114)+B(629) IF (DO_JVS(3290)) & ! JVS(3290) = Jac_FULL(323,251) JVS(3290) = 0.19*B(1685) IF (DO_JVS(3291)) & ! JVS(3291) = Jac_FULL(323,279) JVS(3291) = 0.19*B(1688) IF (DO_JVS(3292)) & ! JVS(3292) = Jac_FULL(323,292) JVS(3292) = 0.23*B(1665) IF (DO_JVS(3293)) & ! JVS(3293) = Jac_FULL(323,298) JVS(3293) = 0.27*B(1662) IF (DO_JVS(3294)) & ! JVS(3294) = Jac_FULL(323,300) JVS(3294) = 0.19*B(171)+0.09*B(257)+0.162*B(351) IF (DO_JVS(3295)) & ! JVS(3295) = Jac_FULL(323,314) JVS(3295) = 0 IF (DO_JVS(3296)) & ! JVS(3296) = Jac_FULL(323,318) JVS(3296) = 0 IF (DO_JVS(3297)) & ! JVS(3297) = Jac_FULL(323,319) JVS(3297) = 0.19*B(177)+0.09*B(253)+0.162*B(349) IF (DO_JVS(3298)) & ! JVS(3298) = Jac_FULL(323,320) JVS(3298) = 0 IF (DO_JVS(3299)) & ! JVS(3299) = Jac_FULL(323,321) JVS(3299) = 0 IF (DO_JVS(3300)) & ! JVS(3300) = Jac_FULL(323,322) JVS(3300) = 0.27*B(208)+0.12*B(283)+0.27*B(373)+0.27*B(375) IF (DO_JVS(3301)) & ! JVS(3301) = Jac_FULL(323,323) JVS(3301) = -B(187)-B(189)-B(230)-B(265)-B(357) IF (DO_JVS(3302)) & ! JVS(3302) = Jac_FULL(323,324) JVS(3302) = 0.162*B(350)+0.162*B(352)-B(358)+0.27*B(374) IF (DO_JVS(3303)) & ! JVS(3303) = Jac_FULL(323,328) JVS(3303) = 0.09*B(254)+0.09*B(258)-B(266)+0.27*B(376) IF (DO_JVS(3304)) & ! JVS(3304) = Jac_FULL(323,335) JVS(3304) = 0 IF (DO_JVS(3305)) & ! JVS(3305) = Jac_FULL(323,337) JVS(3305) = -B(231)+0.12*B(284) IF (DO_JVS(3306)) & ! JVS(3306) = Jac_FULL(323,340) JVS(3306) = B(630) IF (DO_JVS(3307)) & ! JVS(3307) = Jac_FULL(323,341) JVS(3307) = 0 IF (DO_JVS(3308)) & ! JVS(3308) = Jac_FULL(323,342) JVS(3308) = 0 IF (DO_JVS(3309)) & ! JVS(3309) = Jac_FULL(323,345) JVS(3309) = B(115)+0.209*B(331) IF (DO_JVS(3310)) & ! JVS(3310) = Jac_FULL(323,346) JVS(3310) = 0.19*B(172)+0.19*B(178)-B(188)-B(190)+0.27*B(209) IF (DO_JVS(3311)) & ! JVS(3311) = Jac_FULL(323,351) JVS(3311) = 0 IF (DO_JVS(3312)) & ! JVS(3312) = Jac_FULL(324,92) JVS(3312) = 0.78*B(342) IF (DO_JVS(3313)) & ! JVS(3313) = Jac_FULL(324,107) JVS(3313) = 0.3*B(1304) IF (DO_JVS(3314)) & ! JVS(3314) = Jac_FULL(324,115) JVS(3314) = B(1320)+B(1763) IF (DO_JVS(3315)) & ! JVS(3315) = Jac_FULL(324,122) JVS(3315) = B(1412) IF (DO_JVS(3316)) & ! JVS(3316) = Jac_FULL(324,130) JVS(3316) = B(849)+B(1815) IF (DO_JVS(3317)) & ! JVS(3317) = Jac_FULL(324,139) JVS(3317) = B(101)+0.7*B(1658) IF (DO_JVS(3318)) & ! JVS(3318) = Jac_FULL(324,146) JVS(3318) = B(1661) IF (DO_JVS(3319)) & ! JVS(3319) = Jac_FULL(324,159) JVS(3319) = 0.087*B(1280)+0.262*B(1771) IF (DO_JVS(3320)) & ! JVS(3320) = Jac_FULL(324,169) JVS(3320) = B(1814) IF (DO_JVS(3321)) & ! JVS(3321) = Jac_FULL(324,184) JVS(3321) = 0 IF (DO_JVS(3322)) & ! JVS(3322) = Jac_FULL(324,185) JVS(3322) = 0.429*B(1768) IF (DO_JVS(3323)) & ! JVS(3323) = Jac_FULL(324,194) JVS(3323) = 0.097*B(1258)+0.125*B(1769) IF (DO_JVS(3324)) & ! JVS(3324) = Jac_FULL(324,196) JVS(3324) = 0.326*B(1686) IF (DO_JVS(3325)) & ! JVS(3325) = Jac_FULL(324,200) JVS(3325) = 0 IF (DO_JVS(3326)) & ! JVS(3326) = Jac_FULL(324,208) JVS(3326) = B(1266)+B(1765) IF (DO_JVS(3327)) & ! JVS(3327) = Jac_FULL(324,209) JVS(3327) = 0.018*B(1027) IF (DO_JVS(3328)) & ! JVS(3328) = Jac_FULL(324,227) JVS(3328) = 0.5*B(1766) IF (DO_JVS(3329)) & ! JVS(3329) = Jac_FULL(324,230) JVS(3329) = 0 IF (DO_JVS(3330)) & ! JVS(3330) = Jac_FULL(324,231) JVS(3330) = 0 IF (DO_JVS(3331)) & ! JVS(3331) = Jac_FULL(324,240) JVS(3331) = 0 IF (DO_JVS(3332)) & ! JVS(3332) = Jac_FULL(324,243) JVS(3332) = 0 IF (DO_JVS(3333)) & ! JVS(3333) = Jac_FULL(324,244) JVS(3333) = B(1743) IF (DO_JVS(3334)) & ! JVS(3334) = Jac_FULL(324,247) JVS(3334) = B(1764) IF (DO_JVS(3335)) & ! JVS(3335) = Jac_FULL(324,249) JVS(3335) = -B(361) IF (DO_JVS(3336)) & ! JVS(3336) = Jac_FULL(324,250) JVS(3336) = -B(363) IF (DO_JVS(3337)) & ! JVS(3337) = Jac_FULL(324,254) JVS(3337) = 0.36*B(1270)+0.758*B(1272) IF (DO_JVS(3338)) & ! JVS(3338) = Jac_FULL(324,257) JVS(3338) = -B(895) IF (DO_JVS(3339)) & ! JVS(3339) = Jac_FULL(324,258) JVS(3339) = 0 IF (DO_JVS(3340)) & ! JVS(3340) = Jac_FULL(324,259) JVS(3340) = 0.175*B(1278)+0.35*B(1287) IF (DO_JVS(3341)) & ! JVS(3341) = Jac_FULL(324,260) JVS(3341) = -B(369) IF (DO_JVS(3342)) & ! JVS(3342) = Jac_FULL(324,261) JVS(3342) = B(1318) IF (DO_JVS(3343)) & ! JVS(3343) = Jac_FULL(324,263) JVS(3343) = -B(1395) IF (DO_JVS(3344)) & ! JVS(3344) = Jac_FULL(324,267) JVS(3344) = 0 IF (DO_JVS(3345)) & ! JVS(3345) = Jac_FULL(324,268) JVS(3345) = 0 IF (DO_JVS(3346)) & ! JVS(3346) = Jac_FULL(324,271) JVS(3346) = 0 IF (DO_JVS(3347)) & ! JVS(3347) = Jac_FULL(324,272) JVS(3347) = 0 IF (DO_JVS(3348)) & ! JVS(3348) = Jac_FULL(324,274) JVS(3348) = 0.44*B(838)+B(840)+B(845)+0.75*B(897) IF (DO_JVS(3349)) & ! JVS(3349) = Jac_FULL(324,275) JVS(3349) = -B(883) IF (DO_JVS(3350)) & ! JVS(3350) = Jac_FULL(324,276) JVS(3350) = 0.3*B(953) IF (DO_JVS(3351)) & ! JVS(3351) = Jac_FULL(324,277) JVS(3351) = -B(879) IF (DO_JVS(3352)) & ! JVS(3352) = Jac_FULL(324,278) JVS(3352) = 0 IF (DO_JVS(3353)) & ! JVS(3353) = Jac_FULL(324,279) JVS(3353) = 0 IF (DO_JVS(3354)) & ! JVS(3354) = Jac_FULL(324,280) JVS(3354) = -B(913) IF (DO_JVS(3355)) & ! JVS(3355) = Jac_FULL(324,281) JVS(3355) = -B(887) IF (DO_JVS(3356)) & ! JVS(3356) = Jac_FULL(324,285) JVS(3356) = 0 IF (DO_JVS(3357)) & ! JVS(3357) = Jac_FULL(324,286) JVS(3357) = 0 IF (DO_JVS(3358)) & ! JVS(3358) = Jac_FULL(324,287) JVS(3358) = 0 IF (DO_JVS(3359)) & ! JVS(3359) = Jac_FULL(324,288) JVS(3359) = 0.53*B(1767) IF (DO_JVS(3360)) & ! JVS(3360) = Jac_FULL(324,289) JVS(3360) = -B(915) IF (DO_JVS(3361)) & ! JVS(3361) = Jac_FULL(324,290) JVS(3361) = 0 IF (DO_JVS(3362)) & ! JVS(3362) = Jac_FULL(324,291) JVS(3362) = -B(891) IF (DO_JVS(3363)) & ! JVS(3363) = Jac_FULL(324,292) JVS(3363) = 0.85*B(1665) IF (DO_JVS(3364)) & ! JVS(3364) = Jac_FULL(324,293) JVS(3364) = 0 IF (DO_JVS(3365)) & ! JVS(3365) = Jac_FULL(324,294) JVS(3365) = B(314)+B(318)+B(1670) IF (DO_JVS(3366)) & ! JVS(3366) = Jac_FULL(324,295) JVS(3366) = B(1663) IF (DO_JVS(3367)) & ! JVS(3367) = Jac_FULL(324,296) JVS(3367) = -B(365) IF (DO_JVS(3368)) & ! JVS(3368) = Jac_FULL(324,299) JVS(3368) = 0 IF (DO_JVS(3369)) & ! JVS(3369) = Jac_FULL(324,300) JVS(3369) = -B(351) IF (DO_JVS(3370)) & ! JVS(3370) = Jac_FULL(324,301) JVS(3370) = 0 IF (DO_JVS(3371)) & ! JVS(3371) = Jac_FULL(324,302) JVS(3371) = 0.04*B(1236)+1.01*B(1772) IF (DO_JVS(3372)) & ! JVS(3372) = Jac_FULL(324,303) JVS(3372) = 0 IF (DO_JVS(3373)) & ! JVS(3373) = Jac_FULL(324,304) JVS(3373) = 0 IF (DO_JVS(3374)) & ! JVS(3374) = Jac_FULL(324,305) JVS(3374) = 0.3*B(966) IF (DO_JVS(3375)) & ! JVS(3375) = Jac_FULL(324,307) JVS(3375) = B(1675) IF (DO_JVS(3376)) & ! JVS(3376) = Jac_FULL(324,308) JVS(3376) = 0 IF (DO_JVS(3377)) & ! JVS(3377) = Jac_FULL(324,309) JVS(3377) = 0.12*B(1232)+B(1674) IF (DO_JVS(3378)) & ! JVS(3378) = Jac_FULL(324,310) JVS(3378) = -B(1161) IF (DO_JVS(3379)) & ! JVS(3379) = Jac_FULL(324,311) JVS(3379) = -B(1163) IF (DO_JVS(3380)) & ! JVS(3380) = Jac_FULL(324,313) JVS(3380) = B(183)+0.15*B(226)+0.3*B(261)-0.1*B(353) IF (DO_JVS(3381)) & ! JVS(3381) = Jac_FULL(324,314) JVS(3381) = 0.38*B(1226)+B(1672) IF (DO_JVS(3382)) & ! JVS(3382) = Jac_FULL(324,315) JVS(3382) = -B(367) IF (DO_JVS(3383)) & ! JVS(3383) = Jac_FULL(324,318) JVS(3383) = -B(359) IF (DO_JVS(3384)) & ! JVS(3384) = Jac_FULL(324,319) JVS(3384) = -B(349) IF (DO_JVS(3385)) & ! JVS(3385) = Jac_FULL(324,320) JVS(3385) = 0.919*B(185)+0.15*B(228)+0.62*B(236)+0.5*B(263)-0.1*B(355) IF (DO_JVS(3386)) & ! JVS(3386) = Jac_FULL(324,321) JVS(3386) = -B(371) IF (DO_JVS(3387)) & ! JVS(3387) = Jac_FULL(324,322) JVS(3387) = -B(373) IF (DO_JVS(3388)) & ! JVS(3388) = Jac_FULL(324,323) JVS(3388) = -B(357) IF (DO_JVS(3389)) & ! JVS(3389) = Jac_FULL(324,324) JVS(3389) = -B(99)-B(104)-2*B(346)-B(347)-B(350)-B(352)-0.1*B(354)-0.1*B(356)-B(358)-B(360)-B(362)-B(364)-B(366)& &-B(368)-B(370)-B(372)-B(374)-B(880)-B(884)-B(888)-B(892)-B(896)-B(914)-B(916)-B(1162)-B(1164)-B(1324)& &-B(1396) IF (DO_JVS(3390)) & ! JVS(3390) = Jac_FULL(324,326) JVS(3390) = 0.95*B(95)+B(97)+B(415)+0.12*B(1656) IF (DO_JVS(3391)) & ! JVS(3391) = Jac_FULL(324,328) JVS(3391) = 0.3*B(262)+0.5*B(264)-B(348)+0.75*B(898) IF (DO_JVS(3392)) & ! JVS(3392) = Jac_FULL(324,335) JVS(3392) = -B(100) IF (DO_JVS(3393)) & ! JVS(3393) = Jac_FULL(324,337) JVS(3393) = 0.15*B(227)+0.15*B(229)+0.44*B(839)+0.36*B(1271)+0.175*B(1279)-B(1325) IF (DO_JVS(3394)) & ! JVS(3394) = Jac_FULL(324,340) JVS(3394) = 0 IF (DO_JVS(3395)) & ! JVS(3395) = Jac_FULL(324,341) JVS(3395) = 0.38*B(1227)+0.12*B(1233) IF (DO_JVS(3396)) & ! JVS(3396) = Jac_FULL(324,342) JVS(3396) = B(416) IF (DO_JVS(3397)) & ! JVS(3397) = Jac_FULL(324,345) JVS(3397) = 0.95*B(96)+B(315)+0.78*B(343)+B(850)+0.3*B(954)+0.018*B(1028)+0.04*B(1237)+0.097*B(1259)+B(1267)+0.087& &*B(1281)+0.3*B(1305)+B(1321)+B(1413) IF (DO_JVS(3398)) & ! JVS(3398) = Jac_FULL(324,346) JVS(3398) = -B(105)+B(184)+0.919*B(186)+0.62*B(237)+B(841)+0.758*B(1273)+0.35*B(1288) IF (DO_JVS(3399)) & ! JVS(3399) = Jac_FULL(324,351) JVS(3399) = B(98)+B(319)+B(846)+B(1319) IF (DO_JVS(3400)) & ! JVS(3400) = Jac_FULL(325,72) JVS(3400) = B(308) IF (DO_JVS(3401)) & ! JVS(3401) = Jac_FULL(325,80) JVS(3401) = B(1741) IF (DO_JVS(3402)) & ! JVS(3402) = Jac_FULL(325,88) JVS(3402) = 0.5*B(1322)+B(1761) IF (DO_JVS(3403)) & ! JVS(3403) = Jac_FULL(325,89) JVS(3403) = B(22)+B(23) IF (DO_JVS(3404)) & ! JVS(3404) = Jac_FULL(325,92) JVS(3404) = 0.22*B(342) IF (DO_JVS(3405)) & ! JVS(3405) = Jac_FULL(325,93) JVS(3405) = B(939)+B(1757) IF (DO_JVS(3406)) & ! JVS(3406) = Jac_FULL(325,94) JVS(3406) = B(381)+B(385) IF (DO_JVS(3407)) & ! JVS(3407) = Jac_FULL(325,106) JVS(3407) = 2*B(1372) IF (DO_JVS(3408)) & ! JVS(3408) = Jac_FULL(325,109) JVS(3408) = B(1358) IF (DO_JVS(3409)) & ! JVS(3409) = Jac_FULL(325,112) JVS(3409) = B(1812) IF (DO_JVS(3410)) & ! JVS(3410) = Jac_FULL(325,114) JVS(3410) = B(306) IF (DO_JVS(3411)) & ! JVS(3411) = Jac_FULL(325,122) JVS(3411) = B(1412) IF (DO_JVS(3412)) & ! JVS(3412) = Jac_FULL(325,123) JVS(3412) = B(1683) IF (DO_JVS(3413)) & ! JVS(3413) = Jac_FULL(325,127) JVS(3413) = B(152) IF (DO_JVS(3414)) & ! JVS(3414) = Jac_FULL(325,130) JVS(3414) = 0.4*B(849)+0.4*B(1815) IF (DO_JVS(3415)) & ! JVS(3415) = Jac_FULL(325,136) JVS(3415) = 0 IF (DO_JVS(3416)) & ! JVS(3416) = Jac_FULL(325,137) JVS(3416) = 0.5*B(743) IF (DO_JVS(3417)) & ! JVS(3417) = Jac_FULL(325,138) JVS(3417) = B(780) IF (DO_JVS(3418)) & ! JVS(3418) = Jac_FULL(325,139) JVS(3418) = B(102) IF (DO_JVS(3419)) & ! JVS(3419) = Jac_FULL(325,140) JVS(3419) = B(144)+B(146) IF (DO_JVS(3420)) & ! JVS(3420) = Jac_FULL(325,146) JVS(3420) = B(1661) IF (DO_JVS(3421)) & ! JVS(3421) = Jac_FULL(325,149) JVS(3421) = 0.25*B(1344)+B(1346) IF (DO_JVS(3422)) & ! JVS(3422) = Jac_FULL(325,159) JVS(3422) = 0.25*B(1280)+0.75*B(1771) IF (DO_JVS(3423)) & ! JVS(3423) = Jac_FULL(325,160) JVS(3423) = 0.5*B(770)+B(1811) IF (DO_JVS(3424)) & ! JVS(3424) = Jac_FULL(325,164) JVS(3424) = 0.3*B(59)+B(1646) IF (DO_JVS(3425)) & ! JVS(3425) = Jac_FULL(325,165) JVS(3425) = 0.98*B(138) IF (DO_JVS(3426)) & ! JVS(3426) = Jac_FULL(325,168) JVS(3426) = B(1785) IF (DO_JVS(3427)) & ! JVS(3427) = Jac_FULL(325,169) JVS(3427) = 0.4*B(1814) IF (DO_JVS(3428)) & ! JVS(3428) = Jac_FULL(325,175) JVS(3428) = B(1784) IF (DO_JVS(3429)) & ! JVS(3429) = Jac_FULL(325,176) JVS(3429) = 0.4*B(772) IF (DO_JVS(3430)) & ! JVS(3430) = Jac_FULL(325,187) JVS(3430) = B(1775) IF (DO_JVS(3431)) & ! JVS(3431) = Jac_FULL(325,190) JVS(3431) = 0.599*B(1121)+B(1123) IF (DO_JVS(3432)) & ! JVS(3432) = Jac_FULL(325,191) JVS(3432) = 0.1*B(733) IF (DO_JVS(3433)) & ! JVS(3433) = Jac_FULL(325,192) JVS(3433) = B(1776) IF (DO_JVS(3434)) & ! JVS(3434) = Jac_FULL(325,196) JVS(3434) = 0 IF (DO_JVS(3435)) & ! JVS(3435) = Jac_FULL(325,197) JVS(3435) = B(160)+B(162) IF (DO_JVS(3436)) & ! JVS(3436) = Jac_FULL(325,199) JVS(3436) = 0.018*B(1029) IF (DO_JVS(3437)) & ! JVS(3437) = Jac_FULL(325,200) JVS(3437) = 0.12*B(1348) IF (DO_JVS(3438)) & ! JVS(3438) = Jac_FULL(325,205) JVS(3438) = 0.059*B(1114)+0.272*B(1116) IF (DO_JVS(3439)) & ! JVS(3439) = Jac_FULL(325,206) JVS(3439) = 0.031*B(1129)+0.065*B(1131) IF (DO_JVS(3440)) & ! JVS(3440) = Jac_FULL(325,207) JVS(3440) = 0.065*B(1135)+0.142*B(1137) IF (DO_JVS(3441)) & ! JVS(3441) = Jac_FULL(325,208) JVS(3441) = B(1765) IF (DO_JVS(3442)) & ! JVS(3442) = Jac_FULL(325,209) JVS(3442) = 0.018*B(1027) IF (DO_JVS(3443)) & ! JVS(3443) = Jac_FULL(325,210) JVS(3443) = B(1326)+B(1762) IF (DO_JVS(3444)) & ! JVS(3444) = Jac_FULL(325,211) JVS(3444) = B(820) IF (DO_JVS(3445)) & ! JVS(3445) = Jac_FULL(325,212) JVS(3445) = 0.603*B(148) IF (DO_JVS(3446)) & ! JVS(3446) = Jac_FULL(325,213) JVS(3446) = B(300)+0.44*B(302)+B(304) IF (DO_JVS(3447)) & ! JVS(3447) = Jac_FULL(325,215) JVS(3447) = 0.5*B(1011) IF (DO_JVS(3448)) & ! JVS(3448) = Jac_FULL(325,219) JVS(3448) = 0.1*B(729) IF (DO_JVS(3449)) & ! JVS(3449) = Jac_FULL(325,220) JVS(3449) = B(1338)+B(1340)+0.5*B(1342) IF (DO_JVS(3450)) & ! JVS(3450) = Jac_FULL(325,222) JVS(3450) = B(1787) IF (DO_JVS(3451)) & ! JVS(3451) = Jac_FULL(325,223) JVS(3451) = 0.716*B(1032)+0.14*B(1036) IF (DO_JVS(3452)) & ! JVS(3452) = Jac_FULL(325,224) JVS(3452) = 0.706*B(1039)+0.14*B(1043) IF (DO_JVS(3453)) & ! JVS(3453) = Jac_FULL(325,226) JVS(3453) = 0.088*B(1200)+0.34*B(1206) IF (DO_JVS(3454)) & ! JVS(3454) = Jac_FULL(325,228) JVS(3454) = 0.25*B(443) IF (DO_JVS(3455)) & ! JVS(3455) = Jac_FULL(325,229) JVS(3455) = 0.1*B(859)+0.1*B(861)+0.05*B(863)+0.1*B(1816) IF (DO_JVS(3456)) & ! JVS(3456) = Jac_FULL(325,230) JVS(3456) = 0.085*B(1001) IF (DO_JVS(3457)) & ! JVS(3457) = Jac_FULL(325,231) JVS(3457) = 0.165*B(1003) IF (DO_JVS(3458)) & ! JVS(3458) = Jac_FULL(325,233) JVS(3458) = 0.065*B(154)+0.3*B(1660) IF (DO_JVS(3459)) & ! JVS(3459) = Jac_FULL(325,234) JVS(3459) = 0.8*B(1370) IF (DO_JVS(3460)) & ! JVS(3460) = Jac_FULL(325,235) JVS(3460) = B(1463) IF (DO_JVS(3461)) & ! JVS(3461) = Jac_FULL(325,236) JVS(3461) = B(1461) IF (DO_JVS(3462)) & ! JVS(3462) = Jac_FULL(325,240) JVS(3462) = 0 IF (DO_JVS(3463)) & ! JVS(3463) = Jac_FULL(325,243) JVS(3463) = 0.65*B(1078)+B(1082) IF (DO_JVS(3464)) & ! JVS(3464) = Jac_FULL(325,244) JVS(3464) = B(1743) IF (DO_JVS(3465)) & ! JVS(3465) = Jac_FULL(325,246) JVS(3465) = 0 IF (DO_JVS(3466)) & ! JVS(3466) = Jac_FULL(325,247) JVS(3466) = B(1764) IF (DO_JVS(3467)) & ! JVS(3467) = Jac_FULL(325,249) JVS(3467) = 0.64*B(175)+0.95*B(259)+0.351*B(361) IF (DO_JVS(3468)) & ! JVS(3468) = Jac_FULL(325,250) JVS(3468) = B(191)+1.25*B(267)+0.9*B(363) IF (DO_JVS(3469)) & ! JVS(3469) = Jac_FULL(325,253) JVS(3469) = 0.083*B(1276)+0.14*B(1283) IF (DO_JVS(3470)) & ! JVS(3470) = Jac_FULL(325,254) JVS(3470) = 0.05*B(1270)+0.242*B(1272) IF (DO_JVS(3471)) & ! JVS(3471) = Jac_FULL(325,255) JVS(3471) = 0.67*B(808) IF (DO_JVS(3472)) & ! JVS(3472) = Jac_FULL(325,257) JVS(3472) = B(893) IF (DO_JVS(3473)) & ! JVS(3473) = Jac_FULL(325,258) JVS(3473) = 0.133*B(1793) IF (DO_JVS(3474)) & ! JVS(3474) = Jac_FULL(325,259) JVS(3474) = 0.5*B(1278)+B(1287) IF (DO_JVS(3475)) & ! JVS(3475) = Jac_FULL(325,260) JVS(3475) = B(122)+1.25*B(216)+0.9*B(369) IF (DO_JVS(3476)) & ! JVS(3476) = Jac_FULL(325,261) JVS(3476) = B(687)+B(1749) IF (DO_JVS(3477)) & ! JVS(3477) = Jac_FULL(325,262) JVS(3477) = 1.5*B(871)+1.5*B(873)+0.75*B(875) IF (DO_JVS(3478)) & ! JVS(3478) = Jac_FULL(325,263) JVS(3478) = B(1393) IF (DO_JVS(3479)) & ! JVS(3479) = Jac_FULL(325,267) JVS(3479) = 0 IF (DO_JVS(3480)) & ! JVS(3480) = Jac_FULL(325,268) JVS(3480) = 0 IF (DO_JVS(3481)) & ! JVS(3481) = Jac_FULL(325,270) JVS(3481) = B(1669) IF (DO_JVS(3482)) & ! JVS(3482) = Jac_FULL(325,271) JVS(3482) = 0.126*B(1198)+0.249*B(1202) IF (DO_JVS(3483)) & ! JVS(3483) = Jac_FULL(325,272) JVS(3483) = 0.75*B(830) IF (DO_JVS(3484)) & ! JVS(3484) = Jac_FULL(325,273) JVS(3484) = 0.75*B(792) IF (DO_JVS(3485)) & ! JVS(3485) = Jac_FULL(325,274) JVS(3485) = 0.176*B(838)+0.4*B(840)+0.4*B(845)+1.3*B(897)+0.4*B(899) IF (DO_JVS(3486)) & ! JVS(3486) = Jac_FULL(325,275) JVS(3486) = 0.75*B(776)+B(778)+1.75*B(881)+B(883) IF (DO_JVS(3487)) & ! JVS(3487) = Jac_FULL(325,276) JVS(3487) = 0.827*B(947)+0.3*B(953)+0.3*B(955) IF (DO_JVS(3488)) & ! JVS(3488) = Jac_FULL(325,277) JVS(3488) = 0.75*B(877) IF (DO_JVS(3489)) & ! JVS(3489) = Jac_FULL(325,278) JVS(3489) = 0.84*B(764)+B(766)+1.5*B(768) IF (DO_JVS(3490)) & ! JVS(3490) = Jac_FULL(325,279) JVS(3490) = 0 IF (DO_JVS(3491)) & ! JVS(3491) = Jac_FULL(325,280) JVS(3491) = B(909)+0.202*B(922) IF (DO_JVS(3492)) & ! JVS(3492) = Jac_FULL(325,281) JVS(3492) = 0.75*B(885) IF (DO_JVS(3493)) & ! JVS(3493) = Jac_FULL(325,282) JVS(3493) = B(89)+B(623) IF (DO_JVS(3494)) & ! JVS(3494) = Jac_FULL(325,285) JVS(3494) = 0 IF (DO_JVS(3495)) & ! JVS(3495) = Jac_FULL(325,286) JVS(3495) = 0 IF (DO_JVS(3496)) & ! JVS(3496) = Jac_FULL(325,287) JVS(3496) = 0.23*B(1770) IF (DO_JVS(3497)) & ! JVS(3497) = Jac_FULL(325,288) JVS(3497) = 0.47*B(1767) IF (DO_JVS(3498)) & ! JVS(3498) = Jac_FULL(325,289) JVS(3498) = 0.287*B(903)+0.85*B(911)+0.287*B(915)+0.287*B(919)+0.202*B(923)+0.504*B(924) IF (DO_JVS(3499)) & ! JVS(3499) = Jac_FULL(325,290) JVS(3499) = 0.5*B(287) IF (DO_JVS(3500)) & ! JVS(3500) = Jac_FULL(325,291) JVS(3500) = 0.1*B(855)+0.1*B(857)+0.85*B(889)+0.1*B(891) IF (DO_JVS(3501)) & ! JVS(3501) = Jac_FULL(325,293) JVS(3501) = 0.104*B(1141)+0.383*B(1143) IF (DO_JVS(3502)) & ! JVS(3502) = Jac_FULL(325,296) JVS(3502) = 0.75*B(247) IF (DO_JVS(3503)) & ! JVS(3503) = Jac_FULL(325,299) JVS(3503) = 0.055*B(1791) IF (DO_JVS(3504)) & ! JVS(3504) = Jac_FULL(325,300) JVS(3504) = 0.75*B(257) IF (DO_JVS(3505)) & ! JVS(3505) = Jac_FULL(325,301) JVS(3505) = 0 IF (DO_JVS(3506)) & ! JVS(3506) = Jac_FULL(325,302) JVS(3506) = 0.241*B(1236) IF (DO_JVS(3507)) & ! JVS(3507) = Jac_FULL(325,303) JVS(3507) = 0.022*B(1316)+0.55*B(1797)+0.15*B(1798) IF (DO_JVS(3508)) & ! JVS(3508) = Jac_FULL(325,304) JVS(3508) = 0.063*B(961)+B(967)+0.3*B(968)+2*B(970)+2*B(971)+2*B(981)+B(983)+B(995) IF (DO_JVS(3509)) & ! JVS(3509) = Jac_FULL(325,305) JVS(3509) = 0.063*B(957)+B(965)+0.3*B(966)+2*B(969)+2*B(972)+2*B(977)+B(979)+B(987) IF (DO_JVS(3510)) & ! JVS(3510) = Jac_FULL(325,306) JVS(3510) = 0.732*B(289)+0.9*B(1666) IF (DO_JVS(3511)) & ! JVS(3511) = Jac_FULL(325,307) JVS(3511) = B(1675) IF (DO_JVS(3512)) & ! JVS(3512) = Jac_FULL(325,308) JVS(3512) = B(1299) IF (DO_JVS(3513)) & ! JVS(3513) = Jac_FULL(325,309) JVS(3513) = 0.12*B(1232)+B(1674) IF (DO_JVS(3514)) & ! JVS(3514) = Jac_FULL(325,310) JVS(3514) = 0.527*B(1149)+1.86*B(1153)+0.563*B(1154)+1.577*B(1159)+B(1161)+B(1165)+B(1169) IF (DO_JVS(3515)) & ! JVS(3515) = Jac_FULL(325,311) JVS(3515) = 0.563*B(1155)+0.645*B(1157) IF (DO_JVS(3516)) & ! JVS(3516) = Jac_FULL(325,312) JVS(3516) = B(691)+B(693)+B(695)+0.06*B(697)+0.06*B(699)+B(701)+B(703) IF (DO_JVS(3517)) & ! JVS(3517) = Jac_FULL(325,313) JVS(3517) = B(183)+0.15*B(226)+0.5*B(261)+0.9*B(353) IF (DO_JVS(3518)) & ! JVS(3518) = Jac_FULL(325,314) JVS(3518) = 0.6*B(1226)+B(1672) IF (DO_JVS(3519)) & ! JVS(3519) = Jac_FULL(325,315) JVS(3519) = 0.75*B(249) IF (DO_JVS(3520)) & ! JVS(3520) = Jac_FULL(325,318) JVS(3520) = 0.64*B(181)+0.95*B(255)+0.351*B(359) IF (DO_JVS(3521)) & ! JVS(3521) = Jac_FULL(325,319) JVS(3521) = 0.75*B(253) IF (DO_JVS(3522)) & ! JVS(3522) = Jac_FULL(325,320) JVS(3522) = 0.31*B(236)+0.75*B(263) IF (DO_JVS(3523)) & ! JVS(3523) = Jac_FULL(325,321) JVS(3523) = 0.75*B(214) IF (DO_JVS(3524)) & ! JVS(3524) = Jac_FULL(325,322) JVS(3524) = B(375) IF (DO_JVS(3525)) & ! JVS(3525) = Jac_FULL(325,323) JVS(3525) = 0.75*B(265) IF (DO_JVS(3526)) & ! JVS(3526) = Jac_FULL(325,324) JVS(3526) = B(347)+0.9*B(354)+0.351*B(360)+0.351*B(362)+0.9*B(364)+0.9*B(370)+B(884)+0.1*B(892)+0.4*B(900)+0.287& &*B(916)+B(1162) IF (DO_JVS(3527)) & ! JVS(3527) = Jac_FULL(325,325) JVS(3527) = -B(20)-B(63)-B(93)-B(413)-B(485)-B(565)-B(1647)-B(1648) IF (DO_JVS(3528)) & ! JVS(3528) = Jac_FULL(325,326) JVS(3528) = 0.05*B(95) IF (DO_JVS(3529)) & ! JVS(3529) = Jac_FULL(325,328) JVS(3529) = B(34)+B(49)+B(55)+2*B(56)+0.87*B(57)+0.75*B(215)+1.25*B(217)+0.75*B(248)+0.75*B(250)+0.75*B(254)+0.95& &*B(256)+0.75*B(258)+0.95*B(260)+0.5*B(262)+0.75*B(264)+0.75*B(266)+1.25*B(268)+B(348)+B(376)+B(529)+B(613)& &+1.5*B(769)+0.75*B(793)+0.75*B(831)+0.75*B(878)+1.75*B(882)+0.75*B(886)+0.85*B(890)+B(894)+1.3*B(898)& &+B(910)+0.85*B(912)+2*B(978)+B(980)+2*B(982)+B(984)+0.645*B(1158)+1.577*B(1160)+B(1300)+0.8*B(1371)+B(1394)& &+B(1462)+B(1464)+B(1487) IF (DO_JVS(3530)) & ! JVS(3530) = Jac_FULL(325,329) JVS(3530) = B(692) IF (DO_JVS(3531)) & ! JVS(3531) = Jac_FULL(325,334) JVS(3531) = 0.25*B(444) IF (DO_JVS(3532)) & ! JVS(3532) = Jac_FULL(325,335) JVS(3532) = B(696) IF (DO_JVS(3533)) & ! JVS(3533) = Jac_FULL(325,336) JVS(3533) = 0.06*B(698)+0.06*B(700) IF (DO_JVS(3534)) & ! JVS(3534) = Jac_FULL(325,337) JVS(3534) = B(161)+0.15*B(227)+0.44*B(303)+0.176*B(839)+0.063*B(958)+0.063*B(962)+0.14*B(1037)+0.14*B(1044)+0.65& &*B(1079)+0.059*B(1115)+0.599*B(1122)+0.031*B(1130)+0.065*B(1136)+0.104*B(1142)+0.527*B(1150)+0.126*B(1199)& &+0.088*B(1201)+0.05*B(1271)+0.083*B(1277)+0.5*B(1279) IF (DO_JVS(3535)) & ! JVS(3535) = Jac_FULL(325,338) JVS(3535) = B(530) IF (DO_JVS(3536)) & ! JVS(3536) = Jac_FULL(325,340) JVS(3536) = -B(566)+B(614)+B(624) IF (DO_JVS(3537)) & ! JVS(3537) = Jac_FULL(325,341) JVS(3537) = B(35)+B(147)+0.5*B(288)+B(702)+0.1*B(730)+0.1*B(734)+0.67*B(809)+B(821)+0.1*B(862)+1.5*B(874)+0.827*B(948)& &+0.6*B(1227)+0.12*B(1233)+0.5*B(1343)+B(1359) IF (DO_JVS(3538)) & ! JVS(3538) = Jac_FULL(325,342) JVS(3538) = -B(414) IF (DO_JVS(3539)) & ! JVS(3539) = Jac_FULL(325,343) JVS(3539) = -B(486) IF (DO_JVS(3540)) & ! JVS(3540) = Jac_FULL(325,345) JVS(3540) = B(24)+0.87*B(58)+0.3*B(60)-B(64)+B(90)+0.05*B(96)+B(103)+B(153)+0.065*B(155)+0.732*B(290)+B(307)+B(309)& &+0.22*B(343)+B(382)+B(688)+0.5*B(744)+0.5*B(771)+0.4*B(773)+B(781)+0.4*B(850)+0.1*B(860)+1.5*B(872)+B(940)& &+0.3*B(954)+0.3*B(956)+0.085*B(1002)+0.165*B(1004)+0.5*B(1012)+0.018*B(1028)+0.018*B(1030)+0.241*B(1237)& &+0.25*B(1281)+0.022*B(1317)+0.5*B(1323)+B(1327)+B(1339)+0.25*B(1345)+0.12*B(1349)+B(1413) IF (DO_JVS(3541)) & ! JVS(3541) = Jac_FULL(325,346) JVS(3541) = B(50)+B(123)+0.98*B(139)+0.603*B(149)+B(163)+0.64*B(176)+0.64*B(182)+B(184)+B(192)+0.31*B(237)+B(301)& &+B(694)+0.84*B(765)+0.75*B(777)+0.4*B(841)+0.1*B(856)+0.287*B(904)+B(988)+B(996)+0.716*B(1033)+0.706& &*B(1040)+B(1083)+0.272*B(1117)+B(1124)+0.065*B(1132)+0.142*B(1138)+0.383*B(1144)+B(1170)+0.249*B(1203)+0.34& &*B(1207)+0.242*B(1273)+0.14*B(1284)+B(1288) IF (DO_JVS(3542)) & ! JVS(3542) = Jac_FULL(325,348) JVS(3542) = -B(21)+B(25)+B(704) IF (DO_JVS(3543)) & ! JVS(3543) = Jac_FULL(325,351) JVS(3543) = -B(94)+B(145)+B(305)+B(386)+B(767)+B(779)+0.4*B(846)+0.1*B(858)+0.05*B(864)+0.75*B(876)+0.287*B(920)& &+B(1166)+B(1341)+B(1347)+B(1488) IF (DO_JVS(3544)) & ! JVS(3544) = Jac_FULL(326,83) JVS(3544) = B(941)+B(1758) IF (DO_JVS(3545)) & ! JVS(3545) = Jac_FULL(326,118) JVS(3545) = 0.64*B(326)+B(1677) IF (DO_JVS(3546)) & ! JVS(3546) = Jac_FULL(326,123) JVS(3546) = B(1683) IF (DO_JVS(3547)) & ! JVS(3547) = Jac_FULL(326,124) JVS(3547) = B(206) IF (DO_JVS(3548)) & ! JVS(3548) = Jac_FULL(326,149) JVS(3548) = 0.4*B(1344) IF (DO_JVS(3549)) & ! JVS(3549) = Jac_FULL(326,155) JVS(3549) = B(1684) IF (DO_JVS(3550)) & ! JVS(3550) = Jac_FULL(326,156) JVS(3550) = B(269)+B(625) IF (DO_JVS(3551)) & ! JVS(3551) = Jac_FULL(326,165) JVS(3551) = 0.65*B(138) IF (DO_JVS(3552)) & ! JVS(3552) = Jac_FULL(326,196) JVS(3552) = 0.348*B(1686) IF (DO_JVS(3553)) & ! JVS(3553) = Jac_FULL(326,240) JVS(3553) = 0 IF (DO_JVS(3554)) & ! JVS(3554) = Jac_FULL(326,241) JVS(3554) = B(705)+B(707)+B(709)+B(711)+B(713) IF (DO_JVS(3555)) & ! JVS(3555) = Jac_FULL(326,246) JVS(3555) = 0 IF (DO_JVS(3556)) & ! JVS(3556) = Jac_FULL(326,249) JVS(3556) = 0.97*B(175)+0.38*B(259)+0.675*B(361) IF (DO_JVS(3557)) & ! JVS(3557) = Jac_FULL(326,250) JVS(3557) = B(191)+0.5*B(267)+0.9*B(363) IF (DO_JVS(3558)) & ! JVS(3558) = Jac_FULL(326,251) JVS(3558) = 0.34*B(1685) IF (DO_JVS(3559)) & ! JVS(3559) = Jac_FULL(326,260) JVS(3559) = B(122)+0.5*B(216)+0.9*B(369) IF (DO_JVS(3560)) & ! JVS(3560) = Jac_FULL(326,279) JVS(3560) = 0.34*B(1688) IF (DO_JVS(3561)) & ! JVS(3561) = Jac_FULL(326,290) JVS(3561) = 0.5*B(287) IF (DO_JVS(3562)) & ! JVS(3562) = Jac_FULL(326,296) JVS(3562) = B(108)+0.75*B(247)+1.6*B(273)+B(365)+B(619) IF (DO_JVS(3563)) & ! JVS(3563) = Jac_FULL(326,300) JVS(3563) = 0.34*B(171)+0.16*B(257)+0.29*B(351) IF (DO_JVS(3564)) & ! JVS(3564) = Jac_FULL(326,314) JVS(3564) = 0 IF (DO_JVS(3565)) & ! JVS(3565) = Jac_FULL(326,315) JVS(3565) = B(112)+0.75*B(249)+1.6*B(274)+B(367)+B(621) IF (DO_JVS(3566)) & ! JVS(3566) = Jac_FULL(326,318) JVS(3566) = 0.97*B(181)+0.38*B(255)+0.675*B(359) IF (DO_JVS(3567)) & ! JVS(3567) = Jac_FULL(326,319) JVS(3567) = 0.34*B(177)+0.16*B(253)+0.29*B(349) IF (DO_JVS(3568)) & ! JVS(3568) = Jac_FULL(326,320) JVS(3568) = 0.919*B(185)+0.15*B(228)+0.62*B(236)+0.5*B(263)+0.9*B(355) IF (DO_JVS(3569)) & ! JVS(3569) = Jac_FULL(326,321) JVS(3569) = 0 IF (DO_JVS(3570)) & ! JVS(3570) = Jac_FULL(326,322) JVS(3570) = 0 IF (DO_JVS(3571)) & ! JVS(3571) = Jac_FULL(326,323) JVS(3571) = 0 IF (DO_JVS(3572)) & ! JVS(3572) = Jac_FULL(326,324) JVS(3572) = 0.29*B(350)+0.29*B(352)+0.9*B(356)+0.675*B(360)+0.675*B(362)+0.9*B(364)+B(366)+B(368)+0.9*B(370) IF (DO_JVS(3573)) & ! JVS(3573) = Jac_FULL(326,326) JVS(3573) = -B(95)-B(97)-B(415)-B(1656)-B(1657) IF (DO_JVS(3574)) & ! JVS(3574) = Jac_FULL(326,328) JVS(3574) = 0.5*B(217)+0.75*B(248)+0.75*B(250)+0.16*B(254)+0.38*B(256)+0.16*B(258)+0.38*B(260)+0.5*B(264)+0.5*B(268) IF (DO_JVS(3575)) & ! JVS(3575) = Jac_FULL(326,329) JVS(3575) = B(706) IF (DO_JVS(3576)) & ! JVS(3576) = Jac_FULL(326,335) JVS(3576) = B(710) IF (DO_JVS(3577)) & ! JVS(3577) = Jac_FULL(326,336) JVS(3577) = B(714) IF (DO_JVS(3578)) & ! JVS(3578) = Jac_FULL(326,337) JVS(3578) = 0.15*B(229) IF (DO_JVS(3579)) & ! JVS(3579) = Jac_FULL(326,340) JVS(3579) = B(620)+B(622)+B(626) IF (DO_JVS(3580)) & ! JVS(3580) = Jac_FULL(326,341) JVS(3580) = 0.5*B(288) IF (DO_JVS(3581)) & ! JVS(3581) = Jac_FULL(326,342) JVS(3581) = -B(416) IF (DO_JVS(3582)) & ! JVS(3582) = Jac_FULL(326,345) JVS(3582) = -B(96)+B(207)+B(270)+0.64*B(327)+B(942)+0.4*B(1345) IF (DO_JVS(3583)) & ! JVS(3583) = Jac_FULL(326,346) JVS(3583) = B(109)+B(113)+B(123)+0.65*B(139)+0.34*B(172)+0.97*B(176)+0.34*B(178)+0.97*B(182)+0.919*B(186)+B(192)+0.62& &*B(237)+B(708) IF (DO_JVS(3584)) & ! JVS(3584) = Jac_FULL(326,348) JVS(3584) = B(712) IF (DO_JVS(3585)) & ! JVS(3585) = Jac_FULL(326,351) JVS(3585) = -B(98) IF (DO_JVS(3586)) & ! JVS(3586) = Jac_FULL(327,45) JVS(3586) = B(936) IF (DO_JVS(3587)) & ! JVS(3587) = Jac_FULL(327,69) JVS(3587) = B(126) IF (DO_JVS(3588)) & ! JVS(3588) = Jac_FULL(327,94) JVS(3588) = B(385) IF (DO_JVS(3589)) & ! JVS(3589) = Jac_FULL(327,103) JVS(3589) = B(935) IF (DO_JVS(3590)) & ! JVS(3590) = Jac_FULL(327,142) JVS(3590) = B(193) IF (DO_JVS(3591)) & ! JVS(3591) = Jac_FULL(327,149) JVS(3591) = B(1346) IF (DO_JVS(3592)) & ! JVS(3592) = Jac_FULL(327,154) JVS(3592) = 0 IF (DO_JVS(3593)) & ! JVS(3593) = Jac_FULL(327,158) JVS(3593) = 0.5*B(1420) IF (DO_JVS(3594)) & ! JVS(3594) = Jac_FULL(327,166) JVS(3594) = -B(13) IF (DO_JVS(3595)) & ! JVS(3595) = Jac_FULL(327,168) JVS(3595) = 0 IF (DO_JVS(3596)) & ! JVS(3596) = Jac_FULL(327,175) JVS(3596) = 0 IF (DO_JVS(3597)) & ! JVS(3597) = Jac_FULL(327,179) JVS(3597) = -B(6) IF (DO_JVS(3598)) & ! JVS(3598) = Jac_FULL(327,183) JVS(3598) = B(344) IF (DO_JVS(3599)) & ! JVS(3599) = Jac_FULL(327,186) JVS(3599) = 0 IF (DO_JVS(3600)) & ! JVS(3600) = Jac_FULL(327,195) JVS(3600) = 0.742*B(1416) IF (DO_JVS(3601)) & ! JVS(3601) = Jac_FULL(327,200) JVS(3601) = B(1350) IF (DO_JVS(3602)) & ! JVS(3602) = Jac_FULL(327,202) JVS(3602) = 0.5*B(1426) IF (DO_JVS(3603)) & ! JVS(3603) = Jac_FULL(327,204) JVS(3603) = B(1430) IF (DO_JVS(3604)) & ! JVS(3604) = Jac_FULL(327,214) JVS(3604) = 2*B(1496)+B(1498)+2*B(1500)+B(1501)+B(1503) IF (DO_JVS(3605)) & ! JVS(3605) = Jac_FULL(327,216) JVS(3605) = 0 IF (DO_JVS(3606)) & ! JVS(3606) = Jac_FULL(327,218) JVS(3606) = B(1509)+B(1511) IF (DO_JVS(3607)) & ! JVS(3607) = Jac_FULL(327,220) JVS(3607) = 0 IF (DO_JVS(3608)) & ! JVS(3608) = Jac_FULL(327,222) JVS(3608) = 0 IF (DO_JVS(3609)) & ! JVS(3609) = Jac_FULL(327,225) JVS(3609) = B(745) IF (DO_JVS(3610)) & ! JVS(3610) = Jac_FULL(327,226) JVS(3610) = 0 IF (DO_JVS(3611)) & ! JVS(3611) = Jac_FULL(327,242) JVS(3611) = 0 IF (DO_JVS(3612)) & ! JVS(3612) = Jac_FULL(327,248) JVS(3612) = 0 IF (DO_JVS(3613)) & ! JVS(3613) = Jac_FULL(327,251) JVS(3613) = 0 IF (DO_JVS(3614)) & ! JVS(3614) = Jac_FULL(327,253) JVS(3614) = 0 IF (DO_JVS(3615)) & ! JVS(3615) = Jac_FULL(327,256) JVS(3615) = 0 IF (DO_JVS(3616)) & ! JVS(3616) = Jac_FULL(327,261) JVS(3616) = B(1318) IF (DO_JVS(3617)) & ! JVS(3617) = Jac_FULL(327,266) JVS(3617) = 0 IF (DO_JVS(3618)) & ! JVS(3618) = Jac_FULL(327,267) JVS(3618) = 0 IF (DO_JVS(3619)) & ! JVS(3619) = Jac_FULL(327,268) JVS(3619) = 0 IF (DO_JVS(3620)) & ! JVS(3620) = Jac_FULL(327,269) JVS(3620) = 0.5*B(1459) IF (DO_JVS(3621)) & ! JVS(3621) = Jac_FULL(327,270) JVS(3621) = B(316) IF (DO_JVS(3622)) & ! JVS(3622) = Jac_FULL(327,271) JVS(3622) = 0 IF (DO_JVS(3623)) & ! JVS(3623) = Jac_FULL(327,272) JVS(3623) = 0 IF (DO_JVS(3624)) & ! JVS(3624) = Jac_FULL(327,273) JVS(3624) = 0 IF (DO_JVS(3625)) & ! JVS(3625) = Jac_FULL(327,275) JVS(3625) = 0 IF (DO_JVS(3626)) & ! JVS(3626) = Jac_FULL(327,276) JVS(3626) = 0 IF (DO_JVS(3627)) & ! JVS(3627) = Jac_FULL(327,277) JVS(3627) = 0 IF (DO_JVS(3628)) & ! JVS(3628) = Jac_FULL(327,278) JVS(3628) = 0 IF (DO_JVS(3629)) & ! JVS(3629) = Jac_FULL(327,280) JVS(3629) = 0 IF (DO_JVS(3630)) & ! JVS(3630) = Jac_FULL(327,281) JVS(3630) = 0 IF (DO_JVS(3631)) & ! JVS(3631) = Jac_FULL(327,285) JVS(3631) = 0 IF (DO_JVS(3632)) & ! JVS(3632) = Jac_FULL(327,286) JVS(3632) = 0 IF (DO_JVS(3633)) & ! JVS(3633) = Jac_FULL(327,288) JVS(3633) = 0 IF (DO_JVS(3634)) & ! JVS(3634) = Jac_FULL(327,289) JVS(3634) = 0 IF (DO_JVS(3635)) & ! JVS(3635) = Jac_FULL(327,291) JVS(3635) = 0 IF (DO_JVS(3636)) & ! JVS(3636) = Jac_FULL(327,292) JVS(3636) = B(251) IF (DO_JVS(3637)) & ! JVS(3637) = Jac_FULL(327,293) JVS(3637) = 0 IF (DO_JVS(3638)) & ! JVS(3638) = Jac_FULL(327,294) JVS(3638) = B(318) IF (DO_JVS(3639)) & ! JVS(3639) = Jac_FULL(327,298) JVS(3639) = B(210) IF (DO_JVS(3640)) & ! JVS(3640) = Jac_FULL(327,299) JVS(3640) = 0 IF (DO_JVS(3641)) & ! JVS(3641) = Jac_FULL(327,300) JVS(3641) = 0 IF (DO_JVS(3642)) & ! JVS(3642) = Jac_FULL(327,301) JVS(3642) = 0 IF (DO_JVS(3643)) & ! JVS(3643) = Jac_FULL(327,302) JVS(3643) = 0 IF (DO_JVS(3644)) & ! JVS(3644) = Jac_FULL(327,303) JVS(3644) = 0 IF (DO_JVS(3645)) & ! JVS(3645) = Jac_FULL(327,304) JVS(3645) = 0 IF (DO_JVS(3646)) & ! JVS(3646) = Jac_FULL(327,305) JVS(3646) = 0 IF (DO_JVS(3647)) & ! JVS(3647) = Jac_FULL(327,306) JVS(3647) = B(295) IF (DO_JVS(3648)) & ! JVS(3648) = Jac_FULL(327,307) JVS(3648) = 0 IF (DO_JVS(3649)) & ! JVS(3649) = Jac_FULL(327,308) JVS(3649) = 0 IF (DO_JVS(3650)) & ! JVS(3650) = Jac_FULL(327,309) JVS(3650) = 0.32*B(1234) IF (DO_JVS(3651)) & ! JVS(3651) = Jac_FULL(327,310) JVS(3651) = 0 IF (DO_JVS(3652)) & ! JVS(3652) = Jac_FULL(327,311) JVS(3652) = 0 IF (DO_JVS(3653)) & ! JVS(3653) = Jac_FULL(327,313) JVS(3653) = 0 IF (DO_JVS(3654)) & ! JVS(3654) = Jac_FULL(327,314) JVS(3654) = 0 IF (DO_JVS(3655)) & ! JVS(3655) = Jac_FULL(327,317) JVS(3655) = B(1513)+B(1515)+B(1517)+B(1519)+B(1521)+B(1523)+B(1525) IF (DO_JVS(3656)) & ! JVS(3656) = Jac_FULL(327,318) JVS(3656) = 0 IF (DO_JVS(3657)) & ! JVS(3657) = Jac_FULL(327,319) JVS(3657) = 0 IF (DO_JVS(3658)) & ! JVS(3658) = Jac_FULL(327,320) JVS(3658) = 0 IF (DO_JVS(3659)) & ! JVS(3659) = Jac_FULL(327,321) JVS(3659) = 0 IF (DO_JVS(3660)) & ! JVS(3660) = Jac_FULL(327,322) JVS(3660) = 0 IF (DO_JVS(3661)) & ! JVS(3661) = Jac_FULL(327,323) JVS(3661) = 0 IF (DO_JVS(3662)) & ! JVS(3662) = Jac_FULL(327,324) JVS(3662) = 0 IF (DO_JVS(3663)) & ! JVS(3663) = Jac_FULL(327,325) JVS(3663) = B(93) IF (DO_JVS(3664)) & ! JVS(3664) = Jac_FULL(327,326) JVS(3664) = B(97) IF (DO_JVS(3665)) & ! JVS(3665) = Jac_FULL(327,327) JVS(3665) = -B(7)-B(14)-B(67)-B(1649) IF (DO_JVS(3666)) & ! JVS(3666) = Jac_FULL(327,328) JVS(3666) = 0 IF (DO_JVS(3667)) & ! JVS(3667) = Jac_FULL(327,329) JVS(3667) = 0 IF (DO_JVS(3668)) & ! JVS(3668) = Jac_FULL(327,332) JVS(3668) = B(1587)+B(1588)+B(1589)+B(1599)+B(1601)+B(1603)+B(1605) IF (DO_JVS(3669)) & ! JVS(3669) = Jac_FULL(327,334) JVS(3669) = 0 IF (DO_JVS(3670)) & ! JVS(3670) = Jac_FULL(327,335) JVS(3670) = B(65)+0.5*B(1492) IF (DO_JVS(3671)) & ! JVS(3671) = Jac_FULL(327,336) JVS(3671) = 2*B(1497)+B(1510)+B(1514)+B(1590) IF (DO_JVS(3672)) & ! JVS(3672) = Jac_FULL(327,337) JVS(3672) = 0 IF (DO_JVS(3673)) & ! JVS(3673) = Jac_FULL(327,338) JVS(3673) = 0 IF (DO_JVS(3674)) & ! JVS(3674) = Jac_FULL(327,339) JVS(3674) = B(1499)+B(1512)+B(1516) IF (DO_JVS(3675)) & ! JVS(3675) = Jac_FULL(327,340) JVS(3675) = 0 IF (DO_JVS(3676)) & ! JVS(3676) = Jac_FULL(327,341) JVS(3676) = 0 IF (DO_JVS(3677)) & ! JVS(3677) = Jac_FULL(327,342) JVS(3677) = 0 IF (DO_JVS(3678)) & ! JVS(3678) = Jac_FULL(327,343) JVS(3678) = 0 IF (DO_JVS(3679)) & ! JVS(3679) = Jac_FULL(327,344) JVS(3679) = B(1504)+B(1526)+B(1606) IF (DO_JVS(3680)) & ! JVS(3680) = Jac_FULL(327,345) JVS(3680) = B(66)-B(68) IF (DO_JVS(3681)) & ! JVS(3681) = Jac_FULL(327,346) JVS(3681) = 0 IF (DO_JVS(3682)) & ! JVS(3682) = Jac_FULL(327,347) JVS(3682) = 0 IF (DO_JVS(3683)) & ! JVS(3683) = Jac_FULL(327,348) JVS(3683) = 0 IF (DO_JVS(3684)) & ! JVS(3684) = Jac_FULL(327,349) JVS(3684) = B(1520)+B(1600) IF (DO_JVS(3685)) & ! JVS(3685) = Jac_FULL(327,350) JVS(3685) = B(1522)+B(1602) IF (DO_JVS(3686)) & ! JVS(3686) = Jac_FULL(327,351) JVS(3686) = B(94)+B(98)+B(127)+B(194)+B(211)+B(252)+B(296)+B(317)+B(319)+B(345)+B(386)+B(746)+0.32*B(1235)+B(1319)& &+B(1347)+B(1351)+0.742*B(1417)+0.5*B(1421)+0.5*B(1427)+B(1431)+0.5*B(1460)+B(1493) IF (DO_JVS(3687)) & ! JVS(3687) = Jac_FULL(327,352) JVS(3687) = B(1518) IF (DO_JVS(3688)) & ! JVS(3688) = Jac_FULL(327,353) JVS(3688) = B(1502)+B(1524)+B(1604) IF (DO_JVS(3689)) & ! JVS(3689) = Jac_FULL(328,52) JVS(3689) = B(685) IF (DO_JVS(3690)) & ! JVS(3690) = Jac_FULL(328,80) JVS(3690) = B(380)+B(1742) IF (DO_JVS(3691)) & ! JVS(3691) = Jac_FULL(328,92) JVS(3691) = B(1689) IF (DO_JVS(3692)) & ! JVS(3692) = Jac_FULL(328,94) JVS(3692) = B(381)+B(383)+B(385) IF (DO_JVS(3693)) & ! JVS(3693) = Jac_FULL(328,105) JVS(3693) = B(497)+B(1698) IF (DO_JVS(3694)) & ! JVS(3694) = Jac_FULL(328,139) JVS(3694) = 0.3*B(1658) IF (DO_JVS(3695)) & ! JVS(3695) = Jac_FULL(328,155) JVS(3695) = B(1684) IF (DO_JVS(3696)) & ! JVS(3696) = Jac_FULL(328,159) JVS(3696) = 0.162*B(1280)+0.488*B(1771) IF (DO_JVS(3697)) & ! JVS(3697) = Jac_FULL(328,164) JVS(3697) = 0.7*B(59)+B(615) IF (DO_JVS(3698)) & ! JVS(3698) = Jac_FULL(328,181) JVS(3698) = 0.9*B(495)+B(1699) IF (DO_JVS(3699)) & ! JVS(3699) = Jac_FULL(328,228) JVS(3699) = B(47)+0.75*B(443)+B(563) IF (DO_JVS(3700)) & ! JVS(3700) = Jac_FULL(328,234) JVS(3700) = -B(1370) IF (DO_JVS(3701)) & ! JVS(3701) = Jac_FULL(328,235) JVS(3701) = -B(1463) IF (DO_JVS(3702)) & ! JVS(3702) = Jac_FULL(328,236) JVS(3702) = -B(1461) IF (DO_JVS(3703)) & ! JVS(3703) = Jac_FULL(328,240) JVS(3703) = 0 IF (DO_JVS(3704)) & ! JVS(3704) = Jac_FULL(328,246) JVS(3704) = 0 IF (DO_JVS(3705)) & ! JVS(3705) = Jac_FULL(328,249) JVS(3705) = -B(259)+0.9*B(361) IF (DO_JVS(3706)) & ! JVS(3706) = Jac_FULL(328,250) JVS(3706) = -B(267)+0.9*B(363) IF (DO_JVS(3707)) & ! JVS(3707) = Jac_FULL(328,251) JVS(3707) = 0.19*B(1685) IF (DO_JVS(3708)) & ! JVS(3708) = Jac_FULL(328,257) JVS(3708) = -B(893)+B(895) IF (DO_JVS(3709)) & ! JVS(3709) = Jac_FULL(328,259) JVS(3709) = 0.325*B(1278)+0.65*B(1287) IF (DO_JVS(3710)) & ! JVS(3710) = Jac_FULL(328,260) JVS(3710) = -B(216)+0.9*B(369) IF (DO_JVS(3711)) & ! JVS(3711) = Jac_FULL(328,263) JVS(3711) = -B(1393)+B(1395) IF (DO_JVS(3712)) & ! JVS(3712) = Jac_FULL(328,272) JVS(3712) = -B(830) IF (DO_JVS(3713)) & ! JVS(3713) = Jac_FULL(328,273) JVS(3713) = -B(792) IF (DO_JVS(3714)) & ! JVS(3714) = Jac_FULL(328,274) JVS(3714) = -B(897)+B(899) IF (DO_JVS(3715)) & ! JVS(3715) = Jac_FULL(328,275) JVS(3715) = -B(881)+0.9*B(883) IF (DO_JVS(3716)) & ! JVS(3716) = Jac_FULL(328,276) JVS(3716) = 0.407*B(947) IF (DO_JVS(3717)) & ! JVS(3717) = Jac_FULL(328,277) JVS(3717) = -B(877)+0.9*B(879) IF (DO_JVS(3718)) & ! JVS(3718) = Jac_FULL(328,278) JVS(3718) = -B(768) IF (DO_JVS(3719)) & ! JVS(3719) = Jac_FULL(328,279) JVS(3719) = 0.19*B(1688) IF (DO_JVS(3720)) & ! JVS(3720) = Jac_FULL(328,280) JVS(3720) = -B(909)+B(913) IF (DO_JVS(3721)) & ! JVS(3721) = Jac_FULL(328,281) JVS(3721) = -B(885)+0.9*B(887) IF (DO_JVS(3722)) & ! JVS(3722) = Jac_FULL(328,283) JVS(3722) = B(199)+B(627) IF (DO_JVS(3723)) & ! JVS(3723) = Jac_FULL(328,289) JVS(3723) = -B(911)+0.5*B(915) IF (DO_JVS(3724)) & ! JVS(3724) = Jac_FULL(328,290) JVS(3724) = 0.28*B(287) IF (DO_JVS(3725)) & ! JVS(3725) = Jac_FULL(328,291) JVS(3725) = -B(889)+0.9*B(891) IF (DO_JVS(3726)) & ! JVS(3726) = Jac_FULL(328,292) JVS(3726) = 0.15*B(1665) IF (DO_JVS(3727)) & ! JVS(3727) = Jac_FULL(328,295) JVS(3727) = B(1663)+2*B(1664) IF (DO_JVS(3728)) & ! JVS(3728) = Jac_FULL(328,296) JVS(3728) = -B(247)+0.9*B(365) IF (DO_JVS(3729)) & ! JVS(3729) = Jac_FULL(328,300) JVS(3729) = 0.19*B(171)-0.91*B(257)+0.9*B(351) IF (DO_JVS(3730)) & ! JVS(3730) = Jac_FULL(328,304) JVS(3730) = -B(981)-B(983) IF (DO_JVS(3731)) & ! JVS(3731) = Jac_FULL(328,305) JVS(3731) = -B(977)-B(979) IF (DO_JVS(3732)) & ! JVS(3732) = Jac_FULL(328,307) JVS(3732) = 0.5*B(322) IF (DO_JVS(3733)) & ! JVS(3733) = Jac_FULL(328,308) JVS(3733) = -B(1299) IF (DO_JVS(3734)) & ! JVS(3734) = Jac_FULL(328,309) JVS(3734) = 0 IF (DO_JVS(3735)) & ! JVS(3735) = Jac_FULL(328,310) JVS(3735) = -B(1159)+B(1161) IF (DO_JVS(3736)) & ! JVS(3736) = Jac_FULL(328,311) JVS(3736) = -B(1157)+B(1163) IF (DO_JVS(3737)) & ! JVS(3737) = Jac_FULL(328,313) JVS(3737) = -B(261)+0.9*B(353) IF (DO_JVS(3738)) & ! JVS(3738) = Jac_FULL(328,314) JVS(3738) = B(1673) IF (DO_JVS(3739)) & ! JVS(3739) = Jac_FULL(328,315) JVS(3739) = -B(249)+0.9*B(367) IF (DO_JVS(3740)) & ! JVS(3740) = Jac_FULL(328,318) JVS(3740) = -B(255)+0.9*B(359) IF (DO_JVS(3741)) & ! JVS(3741) = Jac_FULL(328,319) JVS(3741) = 0.19*B(177)-0.91*B(253)+0.9*B(349) IF (DO_JVS(3742)) & ! JVS(3742) = Jac_FULL(328,320) JVS(3742) = 0.85*B(228)-0.75*B(263)+0.9*B(355) IF (DO_JVS(3743)) & ! JVS(3743) = Jac_FULL(328,321) JVS(3743) = -B(214)+0.9*B(371) IF (DO_JVS(3744)) & ! JVS(3744) = Jac_FULL(328,322) JVS(3744) = B(373)-B(375) IF (DO_JVS(3745)) & ! JVS(3745) = Jac_FULL(328,323) JVS(3745) = -B(265)+0.9*B(357) IF (DO_JVS(3746)) & ! JVS(3746) = Jac_FULL(328,324) JVS(3746) = B(104)+2*B(346)-0.1*B(347)+0.9*B(350)+0.9*B(352)+0.9*B(354)+0.9*B(356)+0.9*B(358)+0.9*B(360)+0.9*B(362)& &+0.9*B(364)+0.9*B(366)+0.9*B(368)+0.9*B(370)+0.9*B(372)+B(374)+0.9*B(880)+0.9*B(884)+0.9*B(888)+0.9*B(892)& &+B(896)+B(900)+B(914)+0.5*B(916)+B(1162)+B(1164)+0.5*B(1324)+B(1396) IF (DO_JVS(3747)) & ! JVS(3747) = Jac_FULL(328,326) JVS(3747) = 0.88*B(1656) IF (DO_JVS(3748)) & ! JVS(3748) = Jac_FULL(328,328) JVS(3748) = -B(34)-B(49)-B(51)-B(53)-2*B(55)-2*B(56)-B(57)-B(215)-B(217)-B(248)-B(250)-0.91*B(254)-B(256)-0.91*B(258)& &-B(260)-B(262)-0.75*B(264)-B(266)-B(268)-0.1*B(348)-B(376)-B(378)-B(529)-B(613)-B(769)-B(793)-B(831)-B(878)& &-B(882)-B(886)-B(890)-B(894)-B(898)-B(910)-B(912)-B(978)-B(980)-B(982)-B(984)-B(1158)-B(1160)-B(1300)& &-B(1371)-B(1394)-B(1462)-B(1464)-B(1487) IF (DO_JVS(3749)) & ! JVS(3749) = Jac_FULL(328,329) JVS(3749) = 0 IF (DO_JVS(3750)) & ! JVS(3750) = Jac_FULL(328,334) JVS(3750) = 0.75*B(444)+0.9*B(496)+B(498) IF (DO_JVS(3751)) & ! JVS(3751) = Jac_FULL(328,335) JVS(3751) = -B(379) IF (DO_JVS(3752)) & ! JVS(3752) = Jac_FULL(328,336) JVS(3752) = 0 IF (DO_JVS(3753)) & ! JVS(3753) = Jac_FULL(328,337) JVS(3753) = -B(54)+0.85*B(229)+0.325*B(1279)+0.5*B(1325) IF (DO_JVS(3754)) & ! JVS(3754) = Jac_FULL(328,338) JVS(3754) = -B(530) IF (DO_JVS(3755)) & ! JVS(3755) = Jac_FULL(328,340) JVS(3755) = B(564)-B(614)+B(616)+B(628) IF (DO_JVS(3756)) & ! JVS(3756) = Jac_FULL(328,341) JVS(3756) = -B(35)+0.28*B(288)+0.407*B(948) IF (DO_JVS(3757)) & ! JVS(3757) = Jac_FULL(328,342) JVS(3757) = 0 IF (DO_JVS(3758)) & ! JVS(3758) = Jac_FULL(328,345) JVS(3758) = B(48)-B(58)+0.7*B(60)+B(200)+0.5*B(323)+B(382)+B(384)+B(686)+0.162*B(1281) IF (DO_JVS(3759)) & ! JVS(3759) = Jac_FULL(328,346) JVS(3759) = -B(50)-B(52)+B(105)+0.19*B(172)+0.19*B(178)+0.65*B(1288) IF (DO_JVS(3760)) & ! JVS(3760) = Jac_FULL(328,348) JVS(3760) = 0 IF (DO_JVS(3761)) & ! JVS(3761) = Jac_FULL(328,351) JVS(3761) = B(386)-B(1488) IF (DO_JVS(3762)) & ! JVS(3762) = Jac_FULL(329,60) JVS(3762) = 0.364*B(1362) IF (DO_JVS(3763)) & ! JVS(3763) = Jac_FULL(329,68) JVS(3763) = B(457)+B(1745) IF (DO_JVS(3764)) & ! JVS(3764) = Jac_FULL(329,75) JVS(3764) = B(609) IF (DO_JVS(3765)) & ! JVS(3765) = Jac_FULL(329,79) JVS(3765) = B(607) IF (DO_JVS(3766)) & ! JVS(3766) = Jac_FULL(329,82) JVS(3766) = 0.27*B(1383) IF (DO_JVS(3767)) & ! JVS(3767) = Jac_FULL(329,101) JVS(3767) = 0.3*B(1385) IF (DO_JVS(3768)) & ! JVS(3768) = Jac_FULL(329,107) JVS(3768) = B(1304) IF (DO_JVS(3769)) & ! JVS(3769) = Jac_FULL(329,113) JVS(3769) = B(241) IF (DO_JVS(3770)) & ! JVS(3770) = Jac_FULL(329,114) JVS(3770) = B(306) IF (DO_JVS(3771)) & ! JVS(3771) = Jac_FULL(329,119) JVS(3771) = B(1013) IF (DO_JVS(3772)) & ! JVS(3772) = Jac_FULL(329,122) JVS(3772) = 2*B(1412) IF (DO_JVS(3773)) & ! JVS(3773) = Jac_FULL(329,124) JVS(3773) = B(206) IF (DO_JVS(3774)) & ! JVS(3774) = Jac_FULL(329,126) JVS(3774) = B(167) IF (DO_JVS(3775)) & ! JVS(3775) = Jac_FULL(329,127) JVS(3775) = B(152) IF (DO_JVS(3776)) & ! JVS(3776) = Jac_FULL(329,132) JVS(3776) = B(156)+B(158) IF (DO_JVS(3777)) & ! JVS(3777) = Jac_FULL(329,139) JVS(3777) = B(102) IF (DO_JVS(3778)) & ! JVS(3778) = Jac_FULL(329,143) JVS(3778) = 0.2*B(1381) IF (DO_JVS(3779)) & ! JVS(3779) = Jac_FULL(329,144) JVS(3779) = 0.23*B(1007)+B(1782) IF (DO_JVS(3780)) & ! JVS(3780) = Jac_FULL(329,146) JVS(3780) = B(1661) IF (DO_JVS(3781)) & ! JVS(3781) = Jac_FULL(329,147) JVS(3781) = 0.888*B(1308)+B(1796) IF (DO_JVS(3782)) & ! JVS(3782) = Jac_FULL(329,150) JVS(3782) = 0.42*B(1005)+B(1781) IF (DO_JVS(3783)) & ! JVS(3783) = Jac_FULL(329,153) JVS(3783) = 0.84*B(1268) IF (DO_JVS(3784)) & ! JVS(3784) = Jac_FULL(329,159) JVS(3784) = 0.488*B(1280) IF (DO_JVS(3785)) & ! JVS(3785) = Jac_FULL(329,167) JVS(3785) = 0.15*B(725) IF (DO_JVS(3786)) & ! JVS(3786) = Jac_FULL(329,181) JVS(3786) = B(605) IF (DO_JVS(3787)) & ! JVS(3787) = Jac_FULL(329,182) JVS(3787) = 0.33*B(1214)+0.33*B(1216) IF (DO_JVS(3788)) & ! JVS(3788) = Jac_FULL(329,184) JVS(3788) = 0.25*B(1302) IF (DO_JVS(3789)) & ! JVS(3789) = Jac_FULL(329,185) JVS(3789) = B(1260)+0.571*B(1768) IF (DO_JVS(3790)) & ! JVS(3790) = Jac_FULL(329,187) JVS(3790) = 0.25*B(1023) IF (DO_JVS(3791)) & ! JVS(3791) = Jac_FULL(329,191) JVS(3791) = 0.1*B(733) IF (DO_JVS(3792)) & ! JVS(3792) = Jac_FULL(329,192) JVS(3792) = 0.33*B(1025) IF (DO_JVS(3793)) & ! JVS(3793) = Jac_FULL(329,194) JVS(3793) = 0.75*B(1258)+0.875*B(1769) IF (DO_JVS(3794)) & ! JVS(3794) = Jac_FULL(329,197) JVS(3794) = B(160)+B(162) IF (DO_JVS(3795)) & ! JVS(3795) = Jac_FULL(329,199) JVS(3795) = 0.054*B(1029) IF (DO_JVS(3796)) & ! JVS(3796) = Jac_FULL(329,200) JVS(3796) = 0.12*B(1348) IF (DO_JVS(3797)) & ! JVS(3797) = Jac_FULL(329,201) JVS(3797) = 0.25*B(1470)+0.5*B(1472)+0.05*B(1474) IF (DO_JVS(3798)) & ! JVS(3798) = Jac_FULL(329,204) JVS(3798) = B(1802) IF (DO_JVS(3799)) & ! JVS(3799) = Jac_FULL(329,208) JVS(3799) = 2*B(1266)+B(1765) IF (DO_JVS(3800)) & ! JVS(3800) = Jac_FULL(329,209) JVS(3800) = 0.036*B(1027) IF (DO_JVS(3801)) & ! JVS(3801) = Jac_FULL(329,210) JVS(3801) = B(1326)+B(1762) IF (DO_JVS(3802)) & ! JVS(3802) = Jac_FULL(329,212) JVS(3802) = 0 IF (DO_JVS(3803)) & ! JVS(3803) = Jac_FULL(329,213) JVS(3803) = 0 IF (DO_JVS(3804)) & ! JVS(3804) = Jac_FULL(329,215) JVS(3804) = 1.5*B(1011) IF (DO_JVS(3805)) & ! JVS(3805) = Jac_FULL(329,216) JVS(3805) = 0.25*B(1244)+B(1774) IF (DO_JVS(3806)) & ! JVS(3806) = Jac_FULL(329,220) JVS(3806) = 0.18*B(1342) IF (DO_JVS(3807)) & ! JVS(3807) = Jac_FULL(329,221) JVS(3807) = 0.26*B(1465)+0.5*B(1467) IF (DO_JVS(3808)) & ! JVS(3808) = Jac_FULL(329,223) JVS(3808) = 0 IF (DO_JVS(3809)) & ! JVS(3809) = Jac_FULL(329,225) JVS(3809) = B(1808) IF (DO_JVS(3810)) & ! JVS(3810) = Jac_FULL(329,226) JVS(3810) = 0 IF (DO_JVS(3811)) & ! JVS(3811) = Jac_FULL(329,227) JVS(3811) = B(1264)+0.5*B(1766) IF (DO_JVS(3812)) & ! JVS(3812) = Jac_FULL(329,230) JVS(3812) = 0.45*B(1001)+0.888*B(1779) IF (DO_JVS(3813)) & ! JVS(3813) = Jac_FULL(329,231) JVS(3813) = 0.37*B(1003)+0.818*B(1780) IF (DO_JVS(3814)) & ! JVS(3814) = Jac_FULL(329,233) JVS(3814) = 0.7*B(1660) IF (DO_JVS(3815)) & ! JVS(3815) = Jac_FULL(329,238) JVS(3815) = 0.638*B(1009) IF (DO_JVS(3816)) & ! JVS(3816) = Jac_FULL(329,240) JVS(3816) = 0 IF (DO_JVS(3817)) & ! JVS(3817) = Jac_FULL(329,241) JVS(3817) = -B(705) IF (DO_JVS(3818)) & ! JVS(3818) = Jac_FULL(329,243) JVS(3818) = 0.52*B(1078)+0.8*B(1082)+2*B(1084) IF (DO_JVS(3819)) & ! JVS(3819) = Jac_FULL(329,246) JVS(3819) = 0 IF (DO_JVS(3820)) & ! JVS(3820) = Jac_FULL(329,248) JVS(3820) = B(1773) IF (DO_JVS(3821)) & ! JVS(3821) = Jac_FULL(329,253) JVS(3821) = 0.507*B(1276)+B(1282)+0.86*B(1283) IF (DO_JVS(3822)) & ! JVS(3822) = Jac_FULL(329,254) JVS(3822) = 0 IF (DO_JVS(3823)) & ! JVS(3823) = Jac_FULL(329,255) JVS(3823) = B(1817) IF (DO_JVS(3824)) & ! JVS(3824) = Jac_FULL(329,258) JVS(3824) = B(1306)+B(1792)+0.163*B(1793) IF (DO_JVS(3825)) & ! JVS(3825) = Jac_FULL(329,259) JVS(3825) = 0.325*B(1278)+0.65*B(1287) IF (DO_JVS(3826)) & ! JVS(3826) = Jac_FULL(329,261) JVS(3826) = B(1749) IF (DO_JVS(3827)) & ! JVS(3827) = Jac_FULL(329,266) JVS(3827) = B(1314)+B(1800) IF (DO_JVS(3828)) & ! JVS(3828) = Jac_FULL(329,267) JVS(3828) = 0.6*B(1111)+0.55*B(1786) IF (DO_JVS(3829)) & ! JVS(3829) = Jac_FULL(329,268) JVS(3829) = 0.6*B(1109)+0.55*B(1783) IF (DO_JVS(3830)) & ! JVS(3830) = Jac_FULL(329,269) JVS(3830) = 0.15*B(1457)+0.15*B(1459)+B(1805) IF (DO_JVS(3831)) & ! JVS(3831) = Jac_FULL(329,270) JVS(3831) = 2*B(312)+2*B(316)+2*B(1667)+2*B(1668)+B(1669) IF (DO_JVS(3832)) & ! JVS(3832) = Jac_FULL(329,271) JVS(3832) = 0 IF (DO_JVS(3833)) & ! JVS(3833) = Jac_FULL(329,276) JVS(3833) = 0.407*B(947)+0.6*B(953)+0.9*B(955) IF (DO_JVS(3834)) & ! JVS(3834) = Jac_FULL(329,277) JVS(3834) = 0 IF (DO_JVS(3835)) & ! JVS(3835) = Jac_FULL(329,281) JVS(3835) = 0 IF (DO_JVS(3836)) & ! JVS(3836) = Jac_FULL(329,285) JVS(3836) = B(1071)+0.2*B(1072)+0.13*B(1076) IF (DO_JVS(3837)) & ! JVS(3837) = Jac_FULL(329,286) JVS(3837) = B(1063)+0.13*B(1064)+0.2*B(1066) IF (DO_JVS(3838)) & ! JVS(3838) = Jac_FULL(329,287) JVS(3838) = 0.77*B(1240)+0.77*B(1770) IF (DO_JVS(3839)) & ! JVS(3839) = Jac_FULL(329,288) JVS(3839) = 0 IF (DO_JVS(3840)) & ! JVS(3840) = Jac_FULL(329,290) JVS(3840) = 0.56*B(287) IF (DO_JVS(3841)) & ! JVS(3841) = Jac_FULL(329,293) JVS(3841) = 0 IF (DO_JVS(3842)) & ! JVS(3842) = Jac_FULL(329,294) JVS(3842) = B(314)+B(318)+B(1670) IF (DO_JVS(3843)) & ! JVS(3843) = Jac_FULL(329,295) JVS(3843) = B(1664) IF (DO_JVS(3844)) & ! JVS(3844) = Jac_FULL(329,298) JVS(3844) = B(1662) IF (DO_JVS(3845)) & ! JVS(3845) = Jac_FULL(329,299) JVS(3845) = 0 IF (DO_JVS(3846)) & ! JVS(3846) = Jac_FULL(329,300) JVS(3846) = 0 IF (DO_JVS(3847)) & ! JVS(3847) = Jac_FULL(329,301) JVS(3847) = 0.539*B(1212)+0.839*B(1790) IF (DO_JVS(3848)) & ! JVS(3848) = Jac_FULL(329,302) JVS(3848) = 0 IF (DO_JVS(3849)) & ! JVS(3849) = Jac_FULL(329,303) JVS(3849) = 0 IF (DO_JVS(3850)) & ! JVS(3850) = Jac_FULL(329,304) JVS(3850) = 0.9*B(968)+B(974)+B(975)+0.5*B(983)+0.55*B(999) IF (DO_JVS(3851)) & ! JVS(3851) = Jac_FULL(329,305) JVS(3851) = 0.6*B(966)+B(973)+B(976)+0.5*B(979)+0.55*B(991) IF (DO_JVS(3852)) & ! JVS(3852) = Jac_FULL(329,306) JVS(3852) = 0.505*B(289)+B(291)+B(1666) IF (DO_JVS(3853)) & ! JVS(3853) = Jac_FULL(329,307) JVS(3853) = 0.5*B(322) IF (DO_JVS(3854)) & ! JVS(3854) = Jac_FULL(329,308) JVS(3854) = 0 IF (DO_JVS(3855)) & ! JVS(3855) = Jac_FULL(329,309) JVS(3855) = 0.036*B(1228)+0.12*B(1232)+0.68*B(1234)+B(1674) IF (DO_JVS(3856)) & ! JVS(3856) = Jac_FULL(329,310) JVS(3856) = 0 IF (DO_JVS(3857)) & ! JVS(3857) = Jac_FULL(329,311) JVS(3857) = 0 IF (DO_JVS(3858)) & ! JVS(3858) = Jac_FULL(329,312) JVS(3858) = -B(691) IF (DO_JVS(3859)) & ! JVS(3859) = Jac_FULL(329,313) JVS(3859) = 0 IF (DO_JVS(3860)) & ! JVS(3860) = Jac_FULL(329,314) JVS(3860) = 0.28*B(1226)+B(1671)+B(1672) IF (DO_JVS(3861)) & ! JVS(3861) = Jac_FULL(329,318) JVS(3861) = 0 IF (DO_JVS(3862)) & ! JVS(3862) = Jac_FULL(329,319) JVS(3862) = 0 IF (DO_JVS(3863)) & ! JVS(3863) = Jac_FULL(329,320) JVS(3863) = 0 IF (DO_JVS(3864)) & ! JVS(3864) = Jac_FULL(329,321) JVS(3864) = 0 IF (DO_JVS(3865)) & ! JVS(3865) = Jac_FULL(329,322) JVS(3865) = 0 IF (DO_JVS(3866)) & ! JVS(3866) = Jac_FULL(329,323) JVS(3866) = 0 IF (DO_JVS(3867)) & ! JVS(3867) = Jac_FULL(329,324) JVS(3867) = 0 IF (DO_JVS(3868)) & ! JVS(3868) = Jac_FULL(329,325) JVS(3868) = B(63)+B(93)+B(413)+B(485)+B(565)+B(1647)+B(1648) IF (DO_JVS(3869)) & ! JVS(3869) = Jac_FULL(329,326) JVS(3869) = 0.05*B(95)+0.88*B(1656)+B(1657) IF (DO_JVS(3870)) & ! JVS(3870) = Jac_FULL(329,328) JVS(3870) = 0.5*B(980)+0.5*B(984) IF (DO_JVS(3871)) & ! JVS(3871) = Jac_FULL(329,329) JVS(3871) = -B(45)-B(692)-B(706) IF (DO_JVS(3872)) & ! JVS(3872) = Jac_FULL(329,334) JVS(3872) = 0 IF (DO_JVS(3873)) & ! JVS(3873) = Jac_FULL(329,335) JVS(3873) = 0 IF (DO_JVS(3874)) & ! JVS(3874) = Jac_FULL(329,336) JVS(3874) = 0 IF (DO_JVS(3875)) & ! JVS(3875) = Jac_FULL(329,337) JVS(3875) = B(159)+B(161)+0.13*B(1065)+0.13*B(1077)+0.52*B(1079)+0.33*B(1217)+0.507*B(1277)+0.325*B(1279) IF (DO_JVS(3876)) & ! JVS(3876) = Jac_FULL(329,338) JVS(3876) = 0 IF (DO_JVS(3877)) & ! JVS(3877) = Jac_FULL(329,340) JVS(3877) = B(566)+B(606)+B(608)+B(610) IF (DO_JVS(3878)) & ! JVS(3878) = Jac_FULL(329,341) JVS(3878) = 0.56*B(288)+0.15*B(726)+0.1*B(734)+0.407*B(948)+0.28*B(1227)+0.12*B(1233)+0.18*B(1343)+0.5*B(1468)+0.5& &*B(1473) IF (DO_JVS(3879)) & ! JVS(3879) = Jac_FULL(329,342) JVS(3879) = B(414) IF (DO_JVS(3880)) & ! JVS(3880) = Jac_FULL(329,343) JVS(3880) = B(458)+B(486) IF (DO_JVS(3881)) & ! JVS(3881) = Jac_FULL(329,345) JVS(3881) = -B(46)+B(64)+0.05*B(96)+B(103)+B(153)+B(168)+B(207)+B(242)+0.505*B(290)+B(292)+B(307)+2*B(313)+B(315)+0.5& &*B(323)+0.6*B(954)+0.9*B(956)+0.45*B(1002)+0.37*B(1004)+0.42*B(1006)+0.23*B(1008)+0.638*B(1010)+1.5*B(1012)& &+B(1014)+0.25*B(1024)+0.33*B(1026)+0.036*B(1028)+0.054*B(1030)+0.6*B(1110)+0.6*B(1112)+0.539*B(1213)+0.036& &*B(1229)+0.77*B(1241)+0.25*B(1245)+0.75*B(1259)+B(1261)+B(1265)+2*B(1267)+0.84*B(1269)+0.488*B(1281)+0.25& &*B(1303)+B(1305)+B(1307)+0.888*B(1309)+B(1315)+B(1327)+0.12*B(1349)+0.364*B(1363)+0.2*B(1382)+0.27*B(1384)& &+0.3*B(1386)+2*B(1413)+0.15*B(1458)+0.26*B(1466)+0.25*B(1471) IF (DO_JVS(3882)) & ! JVS(3882) = Jac_FULL(329,346) JVS(3882) = B(157)+B(163)+0.55*B(992)+0.55*B(1000)+0.2*B(1067)+0.2*B(1073)+0.8*B(1083)+0.33*B(1215)+0.86*B(1284)+0.65& &*B(1288) IF (DO_JVS(3883)) & ! JVS(3883) = Jac_FULL(329,348) JVS(3883) = 0 IF (DO_JVS(3884)) & ! JVS(3884) = Jac_FULL(329,351) JVS(3884) = B(94)+2*B(317)+B(319)+0.68*B(1235)+0.15*B(1460) IF (DO_JVS(3885)) & ! JVS(3885) = Jac_FULL(330,170) JVS(3885) = B(673) IF (DO_JVS(3886)) & ! JVS(3886) = Jac_FULL(330,252) JVS(3886) = 0 IF (DO_JVS(3887)) & ! JVS(3887) = Jac_FULL(330,284) JVS(3887) = B(679) IF (DO_JVS(3888)) & ! JVS(3888) = Jac_FULL(330,330) JVS(3888) = -B(677)-B(1574)-B(1575)-B(1607)-B(1609)-B(1611)-B(1613)-B(1726) IF (DO_JVS(3889)) & ! JVS(3889) = Jac_FULL(330,331) JVS(3889) = 0 IF (DO_JVS(3890)) & ! JVS(3890) = Jac_FULL(330,332) JVS(3890) = B(1589) IF (DO_JVS(3891)) & ! JVS(3891) = Jac_FULL(330,335) JVS(3891) = 0 IF (DO_JVS(3892)) & ! JVS(3892) = Jac_FULL(330,336) JVS(3892) = B(1590) IF (DO_JVS(3893)) & ! JVS(3893) = Jac_FULL(330,337) JVS(3893) = B(680) IF (DO_JVS(3894)) & ! JVS(3894) = Jac_FULL(330,338) JVS(3894) = 0 IF (DO_JVS(3895)) & ! JVS(3895) = Jac_FULL(330,341) JVS(3895) = 0 IF (DO_JVS(3896)) & ! JVS(3896) = Jac_FULL(330,344) JVS(3896) = -B(1614) IF (DO_JVS(3897)) & ! JVS(3897) = Jac_FULL(330,345) JVS(3897) = B(674)-B(678) IF (DO_JVS(3898)) & ! JVS(3898) = Jac_FULL(330,346) JVS(3898) = 0 IF (DO_JVS(3899)) & ! JVS(3899) = Jac_FULL(330,347) JVS(3899) = 0 IF (DO_JVS(3900)) & ! JVS(3900) = Jac_FULL(330,349) JVS(3900) = -B(1608) IF (DO_JVS(3901)) & ! JVS(3901) = Jac_FULL(330,350) JVS(3901) = -B(1610) IF (DO_JVS(3902)) & ! JVS(3902) = Jac_FULL(330,351) JVS(3902) = 0 IF (DO_JVS(3903)) & ! JVS(3903) = Jac_FULL(330,353) JVS(3903) = -B(1612) IF (DO_JVS(3904)) & ! JVS(3904) = Jac_FULL(331,1) JVS(3904) = 2*B(1734) IF (DO_JVS(3905)) & ! JVS(3905) = Jac_FULL(331,2) JVS(3905) = B(1736) IF (DO_JVS(3906)) & ! JVS(3906) = Jac_FULL(331,3) JVS(3906) = B(1735) IF (DO_JVS(3907)) & ! JVS(3907) = Jac_FULL(331,44) JVS(3907) = 0.996*B(684)+B(1732) IF (DO_JVS(3908)) & ! JVS(3908) = Jac_FULL(331,52) JVS(3908) = B(685)+B(1733) IF (DO_JVS(3909)) & ! JVS(3909) = Jac_FULL(331,62) JVS(3909) = B(1729) IF (DO_JVS(3910)) & ! JVS(3910) = Jac_FULL(331,73) JVS(3910) = B(675) IF (DO_JVS(3911)) & ! JVS(3911) = Jac_FULL(331,77) JVS(3911) = B(1739) IF (DO_JVS(3912)) & ! JVS(3912) = Jac_FULL(331,96) JVS(3912) = B(1728) IF (DO_JVS(3913)) & ! JVS(3913) = Jac_FULL(331,104) JVS(3913) = B(1740) IF (DO_JVS(3914)) & ! JVS(3914) = Jac_FULL(331,170) JVS(3914) = B(650)+B(673)+2*B(1725) IF (DO_JVS(3915)) & ! JVS(3915) = Jac_FULL(331,252) JVS(3915) = B(648)+B(1730) IF (DO_JVS(3916)) & ! JVS(3916) = Jac_FULL(331,284) JVS(3916) = 0.2*B(659)+0.809*B(667)+B(681)+0.4*B(683)+B(1727) IF (DO_JVS(3917)) & ! JVS(3917) = Jac_FULL(331,330) JVS(3917) = B(1726) IF (DO_JVS(3918)) & ! JVS(3918) = Jac_FULL(331,331) JVS(3918) = -B(643)-B(646)-B(655)-B(657)-B(669)-B(671) IF (DO_JVS(3919)) & ! JVS(3919) = Jac_FULL(331,332) JVS(3919) = -B(656)+B(1731) IF (DO_JVS(3920)) & ! JVS(3920) = Jac_FULL(331,335) JVS(3920) = -B(647) IF (DO_JVS(3921)) & ! JVS(3921) = Jac_FULL(331,336) JVS(3921) = 0 IF (DO_JVS(3922)) & ! JVS(3922) = Jac_FULL(331,337) JVS(3922) = -B(672) IF (DO_JVS(3923)) & ! JVS(3923) = Jac_FULL(331,338) JVS(3923) = 0.809*B(668) IF (DO_JVS(3924)) & ! JVS(3924) = Jac_FULL(331,341) JVS(3924) = -B(670) IF (DO_JVS(3925)) & ! JVS(3925) = Jac_FULL(331,344) JVS(3925) = 0 IF (DO_JVS(3926)) & ! JVS(3926) = Jac_FULL(331,345) JVS(3926) = B(674)+B(676)+B(686) IF (DO_JVS(3927)) & ! JVS(3927) = Jac_FULL(331,346) JVS(3927) = -B(644)+B(682) IF (DO_JVS(3928)) & ! JVS(3928) = Jac_FULL(331,347) JVS(3928) = -B(658)+0.2*B(660) IF (DO_JVS(3929)) & ! JVS(3929) = Jac_FULL(331,349) JVS(3929) = 0 IF (DO_JVS(3930)) & ! JVS(3930) = Jac_FULL(331,350) JVS(3930) = 0 IF (DO_JVS(3931)) & ! JVS(3931) = Jac_FULL(331,351) JVS(3931) = B(651) IF (DO_JVS(3932)) & ! JVS(3932) = Jac_FULL(331,353) JVS(3932) = 0 IF (DO_JVS(3933)) & ! JVS(3933) = Jac_FULL(332,170) JVS(3933) = B(650) IF (DO_JVS(3934)) & ! JVS(3934) = Jac_FULL(332,252) JVS(3934) = 0 IF (DO_JVS(3935)) & ! JVS(3935) = Jac_FULL(332,284) JVS(3935) = B(652) IF (DO_JVS(3936)) & ! JVS(3936) = Jac_FULL(332,330) JVS(3936) = 0 IF (DO_JVS(3937)) & ! JVS(3937) = Jac_FULL(332,331) JVS(3937) = -B(655) IF (DO_JVS(3938)) & ! JVS(3938) = Jac_FULL(332,332) JVS(3938) = -B(654)-B(656)-B(1587)-B(1588)-B(1589)-B(1599)-B(1601)-B(1603)-B(1605)-B(1731) IF (DO_JVS(3939)) & ! JVS(3939) = Jac_FULL(332,335) JVS(3939) = B(653) IF (DO_JVS(3940)) & ! JVS(3940) = Jac_FULL(332,336) JVS(3940) = -B(1590) IF (DO_JVS(3941)) & ! JVS(3941) = Jac_FULL(332,337) JVS(3941) = 0 IF (DO_JVS(3942)) & ! JVS(3942) = Jac_FULL(332,338) JVS(3942) = 0 IF (DO_JVS(3943)) & ! JVS(3943) = Jac_FULL(332,341) JVS(3943) = 0 IF (DO_JVS(3944)) & ! JVS(3944) = Jac_FULL(332,344) JVS(3944) = -B(1606) IF (DO_JVS(3945)) & ! JVS(3945) = Jac_FULL(332,345) JVS(3945) = 0 IF (DO_JVS(3946)) & ! JVS(3946) = Jac_FULL(332,346) JVS(3946) = 0 IF (DO_JVS(3947)) & ! JVS(3947) = Jac_FULL(332,347) JVS(3947) = 0 IF (DO_JVS(3948)) & ! JVS(3948) = Jac_FULL(332,349) JVS(3948) = -B(1600) IF (DO_JVS(3949)) & ! JVS(3949) = Jac_FULL(332,350) JVS(3949) = -B(1602) IF (DO_JVS(3950)) & ! JVS(3950) = Jac_FULL(332,351) JVS(3950) = B(651) IF (DO_JVS(3951)) & ! JVS(3951) = Jac_FULL(332,353) JVS(3951) = -B(1604) IF (DO_JVS(3952)) & ! JVS(3952) = Jac_FULL(333,76) JVS(3952) = B(537) IF (DO_JVS(3953)) & ! JVS(3953) = Jac_FULL(333,120) JVS(3953) = B(535) IF (DO_JVS(3954)) & ! JVS(3954) = Jac_FULL(333,245) JVS(3954) = B(527) IF (DO_JVS(3955)) & ! JVS(3955) = Jac_FULL(333,284) JVS(3955) = 0 IF (DO_JVS(3956)) & ! JVS(3956) = Jac_FULL(333,297) JVS(3956) = B(543) IF (DO_JVS(3957)) & ! JVS(3957) = Jac_FULL(333,317) JVS(3957) = B(545)+B(1513) IF (DO_JVS(3958)) & ! JVS(3958) = Jac_FULL(333,328) JVS(3958) = 0 IF (DO_JVS(3959)) & ! JVS(3959) = Jac_FULL(333,329) JVS(3959) = 0 IF (DO_JVS(3960)) & ! JVS(3960) = Jac_FULL(333,330) JVS(3960) = 0 IF (DO_JVS(3961)) & ! JVS(3961) = Jac_FULL(333,331) JVS(3961) = 0 IF (DO_JVS(3962)) & ! JVS(3962) = Jac_FULL(333,332) JVS(3962) = 0 IF (DO_JVS(3963)) & ! JVS(3963) = Jac_FULL(333,333) JVS(3963) = -B(541)-B(1539)-B(1541)-B(1543)-B(1545)-B(1547)-B(1709) IF (DO_JVS(3964)) & ! JVS(3964) = Jac_FULL(333,334) JVS(3964) = 0 IF (DO_JVS(3965)) & ! JVS(3965) = Jac_FULL(333,335) JVS(3965) = 0 IF (DO_JVS(3966)) & ! JVS(3966) = Jac_FULL(333,336) JVS(3966) = B(1514) IF (DO_JVS(3967)) & ! JVS(3967) = Jac_FULL(333,337) JVS(3967) = B(579) IF (DO_JVS(3968)) & ! JVS(3968) = Jac_FULL(333,338) JVS(3968) = B(580) IF (DO_JVS(3969)) & ! JVS(3969) = Jac_FULL(333,339) JVS(3969) = -B(1540) IF (DO_JVS(3970)) & ! JVS(3970) = Jac_FULL(333,340) JVS(3970) = 0 IF (DO_JVS(3971)) & ! JVS(3971) = Jac_FULL(333,341) JVS(3971) = 0 IF (DO_JVS(3972)) & ! JVS(3972) = Jac_FULL(333,342) JVS(3972) = 0 IF (DO_JVS(3973)) & ! JVS(3973) = Jac_FULL(333,343) JVS(3973) = 0 IF (DO_JVS(3974)) & ! JVS(3974) = Jac_FULL(333,344) JVS(3974) = -B(1546) IF (DO_JVS(3975)) & ! JVS(3975) = Jac_FULL(333,345) JVS(3975) = B(528)+B(536)+B(538)-B(542)+B(544)+B(546) IF (DO_JVS(3976)) & ! JVS(3976) = Jac_FULL(333,346) JVS(3976) = 0 IF (DO_JVS(3977)) & ! JVS(3977) = Jac_FULL(333,347) JVS(3977) = 0 IF (DO_JVS(3978)) & ! JVS(3978) = Jac_FULL(333,348) JVS(3978) = -B(1548) IF (DO_JVS(3979)) & ! JVS(3979) = Jac_FULL(333,349) JVS(3979) = 0 IF (DO_JVS(3980)) & ! JVS(3980) = Jac_FULL(333,350) JVS(3980) = 0 IF (DO_JVS(3981)) & ! JVS(3981) = Jac_FULL(333,351) JVS(3981) = 0 IF (DO_JVS(3982)) & ! JVS(3982) = Jac_FULL(333,352) JVS(3982) = -B(1542) IF (DO_JVS(3983)) & ! JVS(3983) = Jac_FULL(333,353) JVS(3983) = -B(1544) IF (DO_JVS(3984)) & ! JVS(3984) = Jac_FULL(334,46) JVS(3984) = -B(493) IF (DO_JVS(3985)) & ! JVS(3985) = Jac_FULL(334,47) JVS(3985) = -B(505) IF (DO_JVS(3986)) & ! JVS(3986) = Jac_FULL(334,48) JVS(3986) = -B(507) IF (DO_JVS(3987)) & ! JVS(3987) = Jac_FULL(334,49) JVS(3987) = -B(519) IF (DO_JVS(3988)) & ! JVS(3988) = Jac_FULL(334,50) JVS(3988) = -B(521) IF (DO_JVS(3989)) & ! JVS(3989) = Jac_FULL(334,51) JVS(3989) = -B(523) IF (DO_JVS(3990)) & ! JVS(3990) = Jac_FULL(334,53) JVS(3990) = -B(511) IF (DO_JVS(3991)) & ! JVS(3991) = Jac_FULL(334,54) JVS(3991) = -B(525) IF (DO_JVS(3992)) & ! JVS(3992) = Jac_FULL(334,61) JVS(3992) = -B(509) IF (DO_JVS(3993)) & ! JVS(3993) = Jac_FULL(334,63) JVS(3993) = -B(441)+B(1744) IF (DO_JVS(3994)) & ! JVS(3994) = Jac_FULL(334,67) JVS(3994) = 0 IF (DO_JVS(3995)) & ! JVS(3995) = Jac_FULL(334,78) JVS(3995) = -B(499) IF (DO_JVS(3996)) & ! JVS(3996) = Jac_FULL(334,81) JVS(3996) = -B(501) IF (DO_JVS(3997)) & ! JVS(3997) = Jac_FULL(334,84) JVS(3997) = -B(517) IF (DO_JVS(3998)) & ! JVS(3998) = Jac_FULL(334,85) JVS(3998) = -B(513) IF (DO_JVS(3999)) & ! JVS(3999) = Jac_FULL(334,86) JVS(3999) = -B(515) IF (DO_JVS(4000)) & ! JVS(4000) = Jac_FULL(334,87) JVS(4000) = -B(503) IF (DO_JVS(4001)) & ! JVS(4001) = Jac_FULL(334,105) JVS(4001) = -B(497) IF (DO_JVS(4002)) & ! JVS(4002) = Jac_FULL(334,181) JVS(4002) = -B(495) IF (DO_JVS(4003)) & ! JVS(4003) = Jac_FULL(334,228) JVS(4003) = -B(443) IF (DO_JVS(4004)) & ! JVS(4004) = Jac_FULL(334,245) JVS(4004) = -B(491) IF (DO_JVS(4005)) & ! JVS(4005) = Jac_FULL(334,290) JVS(4005) = 0 IF (DO_JVS(4006)) & ! JVS(4006) = Jac_FULL(334,297) JVS(4006) = 0 IF (DO_JVS(4007)) & ! JVS(4007) = Jac_FULL(334,314) JVS(4007) = 0 IF (DO_JVS(4008)) & ! JVS(4008) = Jac_FULL(334,317) JVS(4008) = 0 IF (DO_JVS(4009)) & ! JVS(4009) = Jac_FULL(334,324) JVS(4009) = 0 IF (DO_JVS(4010)) & ! JVS(4010) = Jac_FULL(334,326) JVS(4010) = 0 IF (DO_JVS(4011)) & ! JVS(4011) = Jac_FULL(334,328) JVS(4011) = 0 IF (DO_JVS(4012)) & ! JVS(4012) = Jac_FULL(334,329) JVS(4012) = 0 IF (DO_JVS(4013)) & ! JVS(4013) = Jac_FULL(334,333) JVS(4013) = 0 IF (DO_JVS(4014)) & ! JVS(4014) = Jac_FULL(334,334) JVS(4014) = -B(433)-B(435)-B(437)-B(439)-B(442)-B(444)-B(455)-B(487)-B(489)-B(492)-B(494)-B(496)-B(498)-B(500)-B(502)& &-B(504)-B(506)-B(508)-B(510)-B(512)-B(514)-B(516)-B(518)-B(520)-B(522)-B(524)-B(526) IF (DO_JVS(4015)) & ! JVS(4015) = Jac_FULL(334,335) JVS(4015) = 0 IF (DO_JVS(4016)) & ! JVS(4016) = Jac_FULL(334,336) JVS(4016) = -B(434) IF (DO_JVS(4017)) & ! JVS(4017) = Jac_FULL(334,337) JVS(4017) = 0 IF (DO_JVS(4018)) & ! JVS(4018) = Jac_FULL(334,338) JVS(4018) = 0 IF (DO_JVS(4019)) & ! JVS(4019) = Jac_FULL(334,339) JVS(4019) = -B(488) IF (DO_JVS(4020)) & ! JVS(4020) = Jac_FULL(334,340) JVS(4020) = 0 IF (DO_JVS(4021)) & ! JVS(4021) = Jac_FULL(334,341) JVS(4021) = -B(456)+B(1642) IF (DO_JVS(4022)) & ! JVS(4022) = Jac_FULL(334,342) JVS(4022) = 0 IF (DO_JVS(4023)) & ! JVS(4023) = Jac_FULL(334,343) JVS(4023) = 0 IF (DO_JVS(4024)) & ! JVS(4024) = Jac_FULL(334,344) JVS(4024) = 0 IF (DO_JVS(4025)) & ! JVS(4025) = Jac_FULL(334,345) JVS(4025) = 0 IF (DO_JVS(4026)) & ! JVS(4026) = Jac_FULL(334,346) JVS(4026) = 0 IF (DO_JVS(4027)) & ! JVS(4027) = Jac_FULL(334,347) JVS(4027) = 0 IF (DO_JVS(4028)) & ! JVS(4028) = Jac_FULL(334,348) JVS(4028) = 0 IF (DO_JVS(4029)) & ! JVS(4029) = Jac_FULL(334,349) JVS(4029) = 0 IF (DO_JVS(4030)) & ! JVS(4030) = Jac_FULL(334,350) JVS(4030) = 0 IF (DO_JVS(4031)) & ! JVS(4031) = Jac_FULL(334,351) JVS(4031) = 0 IF (DO_JVS(4032)) & ! JVS(4032) = Jac_FULL(334,352) JVS(4032) = -B(490) IF (DO_JVS(4033)) & ! JVS(4033) = Jac_FULL(334,353) JVS(4033) = 0 IF (DO_JVS(4034)) & ! JVS(4034) = Jac_FULL(335,56) JVS(4034) = B(755) IF (DO_JVS(4035)) & ! JVS(4035) = Jac_FULL(335,57) JVS(4035) = B(844) IF (DO_JVS(4036)) & ! JVS(4036) = Jac_FULL(335,59) JVS(4036) = B(1695) IF (DO_JVS(4037)) & ! JVS(4037) = Jac_FULL(335,64) JVS(4037) = B(1756) IF (DO_JVS(4038)) & ! JVS(4038) = Jac_FULL(335,65) JVS(4038) = B(1754) IF (DO_JVS(4039)) & ! JVS(4039) = Jac_FULL(335,67) JVS(4039) = -B(481) IF (DO_JVS(4040)) & ! JVS(4040) = Jac_FULL(335,70) JVS(4040) = B(1375) IF (DO_JVS(4041)) & ! JVS(4041) = Jac_FULL(335,80) JVS(4041) = B(380)+B(1742) IF (DO_JVS(4042)) & ! JVS(4042) = Jac_FULL(335,83) JVS(4042) = B(941)+B(1758) IF (DO_JVS(4043)) & ! JVS(4043) = Jac_FULL(335,90) JVS(4043) = B(1440)+B(1441) IF (DO_JVS(4044)) & ! JVS(4044) = Jac_FULL(335,91) JVS(4044) = B(943)+B(1759) IF (DO_JVS(4045)) & ! JVS(4045) = Jac_FULL(335,93) JVS(4045) = B(939)+B(1757) IF (DO_JVS(4046)) & ! JVS(4046) = Jac_FULL(335,95) JVS(4046) = B(945)+B(1760) IF (DO_JVS(4047)) & ! JVS(4047) = Jac_FULL(335,96) JVS(4047) = B(665) IF (DO_JVS(4048)) & ! JVS(4048) = Jac_FULL(335,108) JVS(4048) = B(75)+B(76)+B(1652) IF (DO_JVS(4049)) & ! JVS(4049) = Jac_FULL(335,113) JVS(4049) = B(240)+B(241) IF (DO_JVS(4050)) & ! JVS(4050) = Jac_FULL(335,114) JVS(4050) = B(299)+B(306) IF (DO_JVS(4051)) & ! JVS(4051) = Jac_FULL(335,116) JVS(4051) = B(1356)+B(1687) IF (DO_JVS(4052)) & ! JVS(4052) = Jac_FULL(335,121) JVS(4052) = B(1399) IF (DO_JVS(4053)) & ! JVS(4053) = Jac_FULL(335,122) JVS(4053) = B(1411)+B(1412) IF (DO_JVS(4054)) & ! JVS(4054) = Jac_FULL(335,124) JVS(4054) = B(205)+B(206)+0.7*B(1806) IF (DO_JVS(4055)) & ! JVS(4055) = Jac_FULL(335,125) JVS(4055) = B(1676) IF (DO_JVS(4056)) & ! JVS(4056) = Jac_FULL(335,126) JVS(4056) = B(166)+B(1659) IF (DO_JVS(4057)) & ! JVS(4057) = Jac_FULL(335,127) JVS(4057) = B(152) IF (DO_JVS(4058)) & ! JVS(4058) = Jac_FULL(335,132) JVS(4058) = B(156) IF (DO_JVS(4059)) & ! JVS(4059) = Jac_FULL(335,133) JVS(4059) = B(1085) IF (DO_JVS(4060)) & ! JVS(4060) = Jac_FULL(335,135) JVS(4060) = B(1089) IF (DO_JVS(4061)) & ! JVS(4061) = Jac_FULL(335,137) JVS(4061) = 0.5*B(743) IF (DO_JVS(4062)) & ! JVS(4062) = Jac_FULL(335,138) JVS(4062) = 0.5*B(780) IF (DO_JVS(4063)) & ! JVS(4063) = Jac_FULL(335,139) JVS(4063) = B(101)+B(102)+0.7*B(1658) IF (DO_JVS(4064)) & ! JVS(4064) = Jac_FULL(335,140) JVS(4064) = B(144) IF (DO_JVS(4065)) & ! JVS(4065) = Jac_FULL(335,154) JVS(4065) = B(1752) IF (DO_JVS(4066)) & ! JVS(4066) = Jac_FULL(335,162) JVS(4066) = 0.5*B(798) IF (DO_JVS(4067)) & ! JVS(4067) = Jac_FULL(335,163) JVS(4067) = B(834) IF (DO_JVS(4068)) & ! JVS(4068) = Jac_FULL(335,165) JVS(4068) = 2*B(138) IF (DO_JVS(4069)) & ! JVS(4069) = Jac_FULL(335,166) JVS(4069) = 0 IF (DO_JVS(4070)) & ! JVS(4070) = Jac_FULL(335,168) JVS(4070) = B(1099)+B(1785) IF (DO_JVS(4071)) & ! JVS(4071) = Jac_FULL(335,171) JVS(4071) = B(1246)-B(1250) IF (DO_JVS(4072)) & ! JVS(4072) = Jac_FULL(335,172) JVS(4072) = B(1252)-B(1256) IF (DO_JVS(4073)) & ! JVS(4073) = Jac_FULL(335,175) JVS(4073) = B(1095)+B(1784) IF (DO_JVS(4074)) & ! JVS(4074) = Jac_FULL(335,176) JVS(4074) = 0.5*B(772) IF (DO_JVS(4075)) & ! JVS(4075) = Jac_FULL(335,177) JVS(4075) = 0.5*B(836) IF (DO_JVS(4076)) & ! JVS(4076) = Jac_FULL(335,178) JVS(4076) = B(128) IF (DO_JVS(4077)) & ! JVS(4077) = Jac_FULL(335,179) JVS(4077) = 0 IF (DO_JVS(4078)) & ! JVS(4078) = Jac_FULL(335,180) JVS(4078) = 1.11*B(1220)+0.09*B(1222) IF (DO_JVS(4079)) & ! JVS(4079) = Jac_FULL(335,182) JVS(4079) = B(1214) IF (DO_JVS(4080)) & ! JVS(4080) = Jac_FULL(335,184) JVS(4080) = B(1301) IF (DO_JVS(4081)) & ! JVS(4081) = Jac_FULL(335,186) JVS(4081) = B(1188)+B(1789) IF (DO_JVS(4082)) & ! JVS(4082) = Jac_FULL(335,189) JVS(4082) = 0.89*B(1352) IF (DO_JVS(4083)) & ! JVS(4083) = Jac_FULL(335,190) JVS(4083) = B(1123) IF (DO_JVS(4084)) & ! JVS(4084) = Jac_FULL(335,193) JVS(4084) = 0.3*B(865)+0.3*B(867)+1.15*B(869) IF (DO_JVS(4085)) & ! JVS(4085) = Jac_FULL(335,196) JVS(4085) = B(1686) IF (DO_JVS(4086)) & ! JVS(4086) = Jac_FULL(335,197) JVS(4086) = B(162)-B(164) IF (DO_JVS(4087)) & ! JVS(4087) = Jac_FULL(335,200) JVS(4087) = 0 IF (DO_JVS(4088)) & ! JVS(4088) = Jac_FULL(335,203) JVS(4088) = -B(1455) IF (DO_JVS(4089)) & ! JVS(4089) = Jac_FULL(335,205) JVS(4089) = 0.459*B(1114)+1.728*B(1116) IF (DO_JVS(4090)) & ! JVS(4090) = Jac_FULL(335,206) JVS(4090) = B(1131) IF (DO_JVS(4091)) & ! JVS(4091) = Jac_FULL(335,207) JVS(4091) = B(1137) IF (DO_JVS(4092)) & ! JVS(4092) = Jac_FULL(335,211) JVS(4092) = 0.5*B(818)+0.5*B(820)+B(822) IF (DO_JVS(4093)) & ! JVS(4093) = Jac_FULL(335,212) JVS(4093) = 0.942*B(148) IF (DO_JVS(4094)) & ! JVS(4094) = Jac_FULL(335,213) JVS(4094) = -B(297)+B(300)+B(304) IF (DO_JVS(4095)) & ! JVS(4095) = Jac_FULL(335,214) JVS(4095) = B(86)+B(1655) IF (DO_JVS(4096)) & ! JVS(4096) = Jac_FULL(335,218) JVS(4096) = B(1694) IF (DO_JVS(4097)) & ! JVS(4097) = Jac_FULL(335,220) JVS(4097) = B(1340) IF (DO_JVS(4098)) & ! JVS(4098) = Jac_FULL(335,222) JVS(4098) = B(1787) IF (DO_JVS(4099)) & ! JVS(4099) = Jac_FULL(335,223) JVS(4099) = B(1032) IF (DO_JVS(4100)) & ! JVS(4100) = Jac_FULL(335,224) JVS(4100) = B(1039) IF (DO_JVS(4101)) & ! JVS(4101) = Jac_FULL(335,226) JVS(4101) = B(1206) IF (DO_JVS(4102)) & ! JVS(4102) = Jac_FULL(335,229) JVS(4102) = 0.5*B(863) IF (DO_JVS(4103)) & ! JVS(4103) = Jac_FULL(335,230) JVS(4103) = 0 IF (DO_JVS(4104)) & ! JVS(4104) = Jac_FULL(335,231) JVS(4104) = 0 IF (DO_JVS(4105)) & ! JVS(4105) = Jac_FULL(335,232) JVS(4105) = B(1046) IF (DO_JVS(4106)) & ! JVS(4106) = Jac_FULL(335,233) JVS(4106) = 0 IF (DO_JVS(4107)) & ! JVS(4107) = Jac_FULL(335,234) JVS(4107) = 0.995*B(1366)+B(1368) IF (DO_JVS(4108)) & ! JVS(4108) = Jac_FULL(335,235) JVS(4108) = B(1434)-B(1436) IF (DO_JVS(4109)) & ! JVS(4109) = Jac_FULL(335,236) JVS(4109) = -B(1443)+B(1445)+B(1447) IF (DO_JVS(4110)) & ! JVS(4110) = Jac_FULL(335,237) JVS(4110) = 0 IF (DO_JVS(4111)) & ! JVS(4111) = Jac_FULL(335,239) JVS(4111) = B(71) IF (DO_JVS(4112)) & ! JVS(4112) = Jac_FULL(335,240) JVS(4112) = B(1405)-B(1409) IF (DO_JVS(4113)) & ! JVS(4113) = Jac_FULL(335,241) JVS(4113) = B(707)-B(709) IF (DO_JVS(4114)) & ! JVS(4114) = Jac_FULL(335,242) JVS(4114) = B(1751) IF (DO_JVS(4115)) & ! JVS(4115) = Jac_FULL(335,243) JVS(4115) = B(1082) IF (DO_JVS(4116)) & ! JVS(4116) = Jac_FULL(335,246) JVS(4116) = -B(238)+B(243) IF (DO_JVS(4117)) & ! JVS(4117) = Jac_FULL(335,247) JVS(4117) = B(689)+B(1764) IF (DO_JVS(4118)) & ! JVS(4118) = Jac_FULL(335,248) JVS(4118) = B(1773) IF (DO_JVS(4119)) & ! JVS(4119) = Jac_FULL(335,249) JVS(4119) = 2*B(175)+B(259)+B(361) IF (DO_JVS(4120)) & ! JVS(4120) = Jac_FULL(335,250) JVS(4120) = 2*B(191)+B(267)+B(363) IF (DO_JVS(4121)) & ! JVS(4121) = Jac_FULL(335,251) JVS(4121) = B(1685) IF (DO_JVS(4122)) & ! JVS(4122) = Jac_FULL(335,252) JVS(4122) = B(648)+2*B(649)+B(1730) IF (DO_JVS(4123)) & ! JVS(4123) = Jac_FULL(335,253) JVS(4123) = B(1283) IF (DO_JVS(4124)) & ! JVS(4124) = Jac_FULL(335,254) JVS(4124) = B(1272) IF (DO_JVS(4125)) & ! JVS(4125) = Jac_FULL(335,255) JVS(4125) = 0 IF (DO_JVS(4126)) & ! JVS(4126) = Jac_FULL(335,256) JVS(4126) = B(1750) IF (DO_JVS(4127)) & ! JVS(4127) = Jac_FULL(335,257) JVS(4127) = B(751)-B(753)+B(756) IF (DO_JVS(4128)) & ! JVS(4128) = Jac_FULL(335,259) JVS(4128) = B(1287)-B(1289) IF (DO_JVS(4129)) & ! JVS(4129) = Jac_FULL(335,260) JVS(4129) = B(122) IF (DO_JVS(4130)) & ! JVS(4130) = Jac_FULL(335,261) JVS(4130) = B(687)+B(1318)+B(1749) IF (DO_JVS(4131)) & ! JVS(4131) = Jac_FULL(335,262) JVS(4131) = 0.5*B(875) IF (DO_JVS(4132)) & ! JVS(4132) = Jac_FULL(335,263) JVS(4132) = B(1389)+B(1391) IF (DO_JVS(4133)) & ! JVS(4133) = Jac_FULL(335,266) JVS(4133) = B(1314)+B(1799)+B(1800) IF (DO_JVS(4134)) & ! JVS(4134) = Jac_FULL(335,267) JVS(4134) = B(1105)+B(1786) IF (DO_JVS(4135)) & ! JVS(4135) = Jac_FULL(335,268) JVS(4135) = B(1101)+B(1783) IF (DO_JVS(4136)) & ! JVS(4136) = Jac_FULL(335,269) JVS(4136) = 0.5*B(1457)+B(1459) IF (DO_JVS(4137)) & ! JVS(4137) = Jac_FULL(335,271) JVS(4137) = 0.058*B(1198)+1.065*B(1202) IF (DO_JVS(4138)) & ! JVS(4138) = Jac_FULL(335,272) JVS(4138) = 0.84*B(824)+B(828) IF (DO_JVS(4139)) & ! JVS(4139) = Jac_FULL(335,273) JVS(4139) = B(790)+B(794) IF (DO_JVS(4140)) & ! JVS(4140) = Jac_FULL(335,274) JVS(4140) = B(840)-B(842)+B(845) IF (DO_JVS(4141)) & ! JVS(4141) = Jac_FULL(335,275) JVS(4141) = 0.75*B(776)+B(778) IF (DO_JVS(4142)) & ! JVS(4142) = Jac_FULL(335,276) JVS(4142) = 0 IF (DO_JVS(4143)) & ! JVS(4143) = Jac_FULL(335,277) JVS(4143) = 0.75*B(737)+B(739) IF (DO_JVS(4144)) & ! JVS(4144) = Jac_FULL(335,278) JVS(4144) = 0.84*B(764)+B(766) IF (DO_JVS(4145)) & ! JVS(4145) = Jac_FULL(335,279) JVS(4145) = B(1688) IF (DO_JVS(4146)) & ! JVS(4146) = Jac_FULL(335,280) JVS(4146) = B(901)+B(917)+0.5*B(922) IF (DO_JVS(4147)) & ! JVS(4147) = Jac_FULL(335,281) JVS(4147) = 0.75*B(802)+B(804) IF (DO_JVS(4148)) & ! JVS(4148) = Jac_FULL(335,284) JVS(4148) = -B(652)+B(681) IF (DO_JVS(4149)) & ! JVS(4149) = Jac_FULL(335,285) JVS(4149) = B(1072) IF (DO_JVS(4150)) & ! JVS(4150) = Jac_FULL(335,286) JVS(4150) = B(1066) IF (DO_JVS(4151)) & ! JVS(4151) = Jac_FULL(335,289) JVS(4151) = 2*B(903)+0.5*B(911)+B(915)+2*B(919)+0.5*B(923)+B(924) IF (DO_JVS(4152)) & ! JVS(4152) = Jac_FULL(335,290) JVS(4152) = 0 IF (DO_JVS(4153)) & ! JVS(4153) = Jac_FULL(335,291) JVS(4153) = B(855)+B(857) IF (DO_JVS(4154)) & ! JVS(4154) = Jac_FULL(335,293) JVS(4154) = B(1143) IF (DO_JVS(4155)) & ! JVS(4155) = Jac_FULL(335,296) JVS(4155) = B(108) IF (DO_JVS(4156)) & ! JVS(4156) = Jac_FULL(335,297) JVS(4156) = B(543)+B(1706) IF (DO_JVS(4157)) & ! JVS(4157) = Jac_FULL(335,299) JVS(4157) = 0.565*B(1218)+1.555*B(1791) IF (DO_JVS(4158)) & ! JVS(4158) = Jac_FULL(335,300) JVS(4158) = B(171) IF (DO_JVS(4159)) & ! JVS(4159) = Jac_FULL(335,301) JVS(4159) = B(1210)+B(1790) IF (DO_JVS(4160)) & ! JVS(4160) = Jac_FULL(335,302) JVS(4160) = 0.31*B(1236)+0.7*B(1772) IF (DO_JVS(4161)) & ! JVS(4161) = Jac_FULL(335,303) JVS(4161) = 0.022*B(1316)+0.3*B(1797)+B(1798) IF (DO_JVS(4162)) & ! JVS(4162) = Jac_FULL(335,304) JVS(4162) = B(995)+B(999) IF (DO_JVS(4163)) & ! JVS(4163) = Jac_FULL(335,305) JVS(4163) = B(987)+B(991) IF (DO_JVS(4164)) & ! JVS(4164) = Jac_FULL(335,306) JVS(4164) = 0 IF (DO_JVS(4165)) & ! JVS(4165) = Jac_FULL(335,308) JVS(4165) = 0.5*B(1291)+2*B(1293)+2*B(1297)+0.7*B(1299) IF (DO_JVS(4166)) & ! JVS(4166) = Jac_FULL(335,309) JVS(4166) = 0 IF (DO_JVS(4167)) & ! JVS(4167) = Jac_FULL(335,310) JVS(4167) = 0.527*B(1149)+1.86*B(1153)+0.563*B(1154)+0.611*B(1159)+B(1161)+2*B(1165)+2*B(1169) IF (DO_JVS(4168)) & ! JVS(4168) = Jac_FULL(335,311) JVS(4168) = 0.563*B(1155)+B(1167)+B(1173) IF (DO_JVS(4169)) & ! JVS(4169) = Jac_FULL(335,312) JVS(4169) = B(693)-B(695) IF (DO_JVS(4170)) & ! JVS(4170) = Jac_FULL(335,313) JVS(4170) = B(183) IF (DO_JVS(4171)) & ! JVS(4171) = Jac_FULL(335,314) JVS(4171) = 0 IF (DO_JVS(4172)) & ! JVS(4172) = Jac_FULL(335,315) JVS(4172) = B(112) IF (DO_JVS(4173)) & ! JVS(4173) = Jac_FULL(335,317) JVS(4173) = B(1708) IF (DO_JVS(4174)) & ! JVS(4174) = Jac_FULL(335,318) JVS(4174) = 2*B(181)+B(255)+B(359) IF (DO_JVS(4175)) & ! JVS(4175) = Jac_FULL(335,319) JVS(4175) = B(177) IF (DO_JVS(4176)) & ! JVS(4176) = Jac_FULL(335,320) JVS(4176) = 0.928*B(185)+0.93*B(236) IF (DO_JVS(4177)) & ! JVS(4177) = Jac_FULL(335,321) JVS(4177) = B(118) IF (DO_JVS(4178)) & ! JVS(4178) = Jac_FULL(335,322) JVS(4178) = -B(203)+B(208) IF (DO_JVS(4179)) & ! JVS(4179) = Jac_FULL(335,323) JVS(4179) = B(187) IF (DO_JVS(4180)) & ! JVS(4180) = Jac_FULL(335,324) JVS(4180) = -B(99)+B(104)+B(360)+B(362)+B(364)+B(916)+B(1162) IF (DO_JVS(4181)) & ! JVS(4181) = Jac_FULL(335,326) JVS(4181) = 0 IF (DO_JVS(4182)) & ! JVS(4182) = Jac_FULL(335,327) JVS(4182) = B(1649) IF (DO_JVS(4183)) & ! JVS(4183) = Jac_FULL(335,328) JVS(4183) = B(49)+B(256)+B(260)+B(268)-B(378)+0.5*B(912)+0.611*B(1160)+0.7*B(1300)+B(1487) IF (DO_JVS(4184)) & ! JVS(4184) = Jac_FULL(335,329) JVS(4184) = 0 IF (DO_JVS(4185)) & ! JVS(4185) = Jac_FULL(335,330) JVS(4185) = 0 IF (DO_JVS(4186)) & ! JVS(4186) = Jac_FULL(335,331) JVS(4186) = -B(646) IF (DO_JVS(4187)) & ! JVS(4187) = Jac_FULL(335,332) JVS(4187) = B(654) IF (DO_JVS(4188)) & ! JVS(4188) = Jac_FULL(335,334) JVS(4188) = 0 IF (DO_JVS(4189)) & ! JVS(4189) = Jac_FULL(335,335) JVS(4189) = -B(32)-B(65)-B(73)-B(84)-B(100)-B(165)-B(204)-B(239)-B(298)-B(379)-B(423)-B(425)-B(461)-B(467)-B(482)& &-B(583)-B(647)-B(653)-B(696)-B(710)-B(754)-B(843)-B(1251)-B(1257)-B(1290)-B(1410)-B(1437)-B(1444)-B(1456)& &-B(1492)-B(1644) IF (DO_JVS(4190)) & ! JVS(4190) = Jac_FULL(335,336) JVS(4190) = 0 IF (DO_JVS(4191)) & ! JVS(4191) = Jac_FULL(335,337) JVS(4191) = B(42)-B(74)+B(78)+0.459*B(1115)+0.527*B(1150)+0.058*B(1199)+0.09*B(1223)+0.5*B(1292) IF (DO_JVS(4192)) & ! JVS(4192) = Jac_FULL(335,338) JVS(4192) = B(581)-B(584) IF (DO_JVS(4193)) & ! JVS(4193) = Jac_FULL(335,339) JVS(4193) = 0 IF (DO_JVS(4194)) & ! JVS(4194) = Jac_FULL(335,340) JVS(4194) = 0 IF (DO_JVS(4195)) & ! JVS(4195) = Jac_FULL(335,341) JVS(4195) = B(26)-B(33)+0.5*B(821)+0.3*B(868) IF (DO_JVS(4196)) & ! JVS(4196) = Jac_FULL(335,342) JVS(4196) = B(411)-B(424) IF (DO_JVS(4197)) & ! JVS(4197) = Jac_FULL(335,343) JVS(4197) = -B(462)+B(463)+B(465)-B(468) IF (DO_JVS(4198)) & ! JVS(4198) = Jac_FULL(335,344) JVS(4198) = 0 IF (DO_JVS(4199)) & ! JVS(4199) = Jac_FULL(335,345) JVS(4199) = -B(66)+B(72)+B(77)+B(82)+B(103)+B(153)+B(207)+B(242)+B(307)+B(544)+B(688)+B(690)+0.5*B(744)+0.5*B(773)+0.5& &*B(781)+0.5*B(799)+0.5*B(819)+0.5*B(837)+0.3*B(866)+B(940)+B(942)+B(944)+B(946)+B(1096)+B(1100)+B(1102)& &+B(1106)+B(1189)+B(1211)+0.565*B(1219)+0.31*B(1237)+B(1315)+0.022*B(1317)+B(1357)+B(1376)+B(1413)+B(1442)& &+0.5*B(1458) IF (DO_JVS(4200)) & ! JVS(4200) = Jac_FULL(335,346) JVS(4200) = B(27)+B(43)+B(50)+2*B(80)+B(105)+B(109)+B(113)+B(119)+B(123)+B(129)+2*B(139)+0.942*B(149)+B(157)+B(163)& &+B(172)+2*B(176)+B(178)+2*B(182)+B(184)+0.928*B(186)+B(188)+2*B(192)+B(209)+0.93*B(237)+B(244)+B(301)& &+B(399)+B(466)+B(582)+B(666)+B(682)+B(694)+B(708)+0.75*B(738)+B(752)+0.84*B(765)+0.75*B(777)+B(791)+0.75& &*B(803)+0.84*B(825)+B(841)+B(856)+B(902)+2*B(904)+B(988)+B(992)+B(996)+B(1000)+B(1033)+B(1040)+B(1047)& &+B(1067)+B(1073)+B(1083)+B(1086)+B(1090)+1.728*B(1117)+B(1124)+B(1132)+B(1138)+B(1144)+2*B(1170)+B(1174)& &+1.065*B(1203)+B(1207)+B(1215)+1.11*B(1221)+B(1247)+B(1253)+B(1273)+B(1284)+B(1288)+2*B(1294)+0.89*B(1353)& &+0.995*B(1367)+B(1390)+B(1400)+B(1406)+B(1435)+B(1446) IF (DO_JVS(4201)) & ! JVS(4201) = Jac_FULL(335,347) JVS(4201) = B(400)-B(426) IF (DO_JVS(4202)) & ! JVS(4202) = Jac_FULL(335,348) JVS(4202) = 0 IF (DO_JVS(4203)) & ! JVS(4203) = Jac_FULL(335,349) JVS(4203) = 0 IF (DO_JVS(4204)) & ! JVS(4204) = Jac_FULL(335,350) JVS(4204) = 0 IF (DO_JVS(4205)) & ! JVS(4205) = Jac_FULL(335,351) JVS(4205) = B(79)+2*B(81)+B(83)-B(85)+B(145)+B(305)+2*B(377)+B(412)+B(464)+B(740)+B(757)+B(767)+B(779)+B(795)+B(805)& &+B(823)+B(829)+B(835)+B(846)+B(858)+0.5*B(864)+1.15*B(870)+0.5*B(876)+B(918)+2*B(920)+2*B(1166)+B(1168)+2& &*B(1298)+B(1319)+B(1341)+B(1369)+B(1392)+B(1448)+B(1460)+B(1488)+B(1653) IF (DO_JVS(4206)) & ! JVS(4206) = Jac_FULL(335,352) JVS(4206) = 0 IF (DO_JVS(4207)) & ! JVS(4207) = Jac_FULL(335,353) JVS(4207) = 0 IF (DO_JVS(4208)) & ! JVS(4208) = Jac_FULL(336,43) JVS(4208) = B(553) IF (DO_JVS(4209)) & ! JVS(4209) = Jac_FULL(336,52) JVS(4209) = B(685) IF (DO_JVS(4210)) & ! JVS(4210) = Jac_FULL(336,73) JVS(4210) = B(675) IF (DO_JVS(4211)) & ! JVS(4211) = Jac_FULL(336,84) JVS(4211) = B(561) IF (DO_JVS(4212)) & ! JVS(4212) = Jac_FULL(336,85) JVS(4212) = B(557) IF (DO_JVS(4213)) & ! JVS(4213) = Jac_FULL(336,86) JVS(4213) = B(559) IF (DO_JVS(4214)) & ! JVS(4214) = Jac_FULL(336,87) JVS(4214) = B(555) IF (DO_JVS(4215)) & ! JVS(4215) = Jac_FULL(336,105) JVS(4215) = B(431) IF (DO_JVS(4216)) & ! JVS(4216) = Jac_FULL(336,108) JVS(4216) = B(76) IF (DO_JVS(4217)) & ! JVS(4217) = Jac_FULL(336,116) JVS(4217) = B(1687) IF (DO_JVS(4218)) & ! JVS(4218) = Jac_FULL(336,164) JVS(4218) = B(59) IF (DO_JVS(4219)) & ! JVS(4219) = Jac_FULL(336,173) JVS(4219) = B(1336) IF (DO_JVS(4220)) & ! JVS(4220) = Jac_FULL(336,181) JVS(4220) = B(547) IF (DO_JVS(4221)) & ! JVS(4221) = Jac_FULL(336,183) JVS(4221) = B(106) IF (DO_JVS(4222)) & ! JVS(4222) = Jac_FULL(336,189) JVS(4222) = 0 IF (DO_JVS(4223)) & ! JVS(4223) = Jac_FULL(336,196) JVS(4223) = B(136) IF (DO_JVS(4224)) & ! JVS(4224) = Jac_FULL(336,200) JVS(4224) = 0 IF (DO_JVS(4225)) & ! JVS(4225) = Jac_FULL(336,201) JVS(4225) = 0 IF (DO_JVS(4226)) & ! JVS(4226) = Jac_FULL(336,214) JVS(4226) = -B(1496) IF (DO_JVS(4227)) & ! JVS(4227) = Jac_FULL(336,217) JVS(4227) = 0.02*B(475) IF (DO_JVS(4228)) & ! JVS(4228) = Jac_FULL(336,218) JVS(4228) = -B(1509) IF (DO_JVS(4229)) & ! JVS(4229) = Jac_FULL(336,220) JVS(4229) = 0 IF (DO_JVS(4230)) & ! JVS(4230) = Jac_FULL(336,221) JVS(4230) = 0 IF (DO_JVS(4231)) & ! JVS(4231) = Jac_FULL(336,228) JVS(4231) = B(47) IF (DO_JVS(4232)) & ! JVS(4232) = Jac_FULL(336,239) JVS(4232) = B(71) IF (DO_JVS(4233)) & ! JVS(4233) = Jac_FULL(336,240) JVS(4233) = 0 IF (DO_JVS(4234)) & ! JVS(4234) = Jac_FULL(336,241) JVS(4234) = -B(713)-B(715) IF (DO_JVS(4235)) & ! JVS(4235) = Jac_FULL(336,244) JVS(4235) = B(61) IF (DO_JVS(4236)) & ! JVS(4236) = Jac_FULL(336,246) JVS(4236) = 0 IF (DO_JVS(4237)) & ! JVS(4237) = Jac_FULL(336,251) JVS(4237) = B(195) IF (DO_JVS(4238)) & ! JVS(4238) = Jac_FULL(336,252) JVS(4238) = 0 IF (DO_JVS(4239)) & ! JVS(4239) = Jac_FULL(336,264) JVS(4239) = B(40) IF (DO_JVS(4240)) & ! JVS(4240) = Jac_FULL(336,265) JVS(4240) = B(87)+B(611) IF (DO_JVS(4241)) & ! JVS(4241) = Jac_FULL(336,269) JVS(4241) = 0 IF (DO_JVS(4242)) & ! JVS(4242) = Jac_FULL(336,271) JVS(4242) = 0 IF (DO_JVS(4243)) & ! JVS(4243) = Jac_FULL(336,276) JVS(4243) = 0 IF (DO_JVS(4244)) & ! JVS(4244) = Jac_FULL(336,279) JVS(4244) = B(197) IF (DO_JVS(4245)) & ! JVS(4245) = Jac_FULL(336,283) JVS(4245) = B(199) IF (DO_JVS(4246)) & ! JVS(4246) = Jac_FULL(336,287) JVS(4246) = 0 IF (DO_JVS(4247)) & ! JVS(4247) = Jac_FULL(336,289) JVS(4247) = 0 IF (DO_JVS(4248)) & ! JVS(4248) = Jac_FULL(336,290) JVS(4248) = 0 IF (DO_JVS(4249)) & ! JVS(4249) = Jac_FULL(336,291) JVS(4249) = 0 IF (DO_JVS(4250)) & ! JVS(4250) = Jac_FULL(336,292) JVS(4250) = B(234) IF (DO_JVS(4251)) & ! JVS(4251) = Jac_FULL(336,295) JVS(4251) = B(212) IF (DO_JVS(4252)) & ! JVS(4252) = Jac_FULL(336,296) JVS(4252) = 0 IF (DO_JVS(4253)) & ! JVS(4253) = Jac_FULL(336,297) JVS(4253) = 0 IF (DO_JVS(4254)) & ! JVS(4254) = Jac_FULL(336,298) JVS(4254) = B(201) IF (DO_JVS(4255)) & ! JVS(4255) = Jac_FULL(336,300) JVS(4255) = 0 IF (DO_JVS(4256)) & ! JVS(4256) = Jac_FULL(336,301) JVS(4256) = 0 IF (DO_JVS(4257)) & ! JVS(4257) = Jac_FULL(336,302) JVS(4257) = 0 IF (DO_JVS(4258)) & ! JVS(4258) = Jac_FULL(336,303) JVS(4258) = 0 IF (DO_JVS(4259)) & ! JVS(4259) = Jac_FULL(336,304) JVS(4259) = 0 IF (DO_JVS(4260)) & ! JVS(4260) = Jac_FULL(336,305) JVS(4260) = 0 IF (DO_JVS(4261)) & ! JVS(4261) = Jac_FULL(336,306) JVS(4261) = 0 IF (DO_JVS(4262)) & ! JVS(4262) = Jac_FULL(336,307) JVS(4262) = 0 IF (DO_JVS(4263)) & ! JVS(4263) = Jac_FULL(336,308) JVS(4263) = 0 IF (DO_JVS(4264)) & ! JVS(4264) = Jac_FULL(336,309) JVS(4264) = 0 IF (DO_JVS(4265)) & ! JVS(4265) = Jac_FULL(336,310) JVS(4265) = 0 IF (DO_JVS(4266)) & ! JVS(4266) = Jac_FULL(336,311) JVS(4266) = 0 IF (DO_JVS(4267)) & ! JVS(4267) = Jac_FULL(336,312) JVS(4267) = -B(697)-2*B(699) IF (DO_JVS(4268)) & ! JVS(4268) = Jac_FULL(336,313) JVS(4268) = 0 IF (DO_JVS(4269)) & ! JVS(4269) = Jac_FULL(336,314) JVS(4269) = 0 IF (DO_JVS(4270)) & ! JVS(4270) = Jac_FULL(336,315) JVS(4270) = 0 IF (DO_JVS(4271)) & ! JVS(4271) = Jac_FULL(336,316) JVS(4271) = B(1549)+B(1551)+B(1553)+B(1555) IF (DO_JVS(4272)) & ! JVS(4272) = Jac_FULL(336,317) JVS(4272) = -B(1513) IF (DO_JVS(4273)) & ! JVS(4273) = Jac_FULL(336,318) JVS(4273) = 0 IF (DO_JVS(4274)) & ! JVS(4274) = Jac_FULL(336,319) JVS(4274) = 0 IF (DO_JVS(4275)) & ! JVS(4275) = Jac_FULL(336,320) JVS(4275) = 0 IF (DO_JVS(4276)) & ! JVS(4276) = Jac_FULL(336,321) JVS(4276) = 0 IF (DO_JVS(4277)) & ! JVS(4277) = Jac_FULL(336,322) JVS(4277) = 0 IF (DO_JVS(4278)) & ! JVS(4278) = Jac_FULL(336,323) JVS(4278) = 0 IF (DO_JVS(4279)) & ! JVS(4279) = Jac_FULL(336,324) JVS(4279) = 0 IF (DO_JVS(4280)) & ! JVS(4280) = Jac_FULL(336,325) JVS(4280) = B(63) IF (DO_JVS(4281)) & ! JVS(4281) = Jac_FULL(336,326) JVS(4281) = B(95) IF (DO_JVS(4282)) & ! JVS(4282) = Jac_FULL(336,327) JVS(4282) = B(67) IF (DO_JVS(4283)) & ! JVS(4283) = Jac_FULL(336,328) JVS(4283) = 0 IF (DO_JVS(4284)) & ! JVS(4284) = Jac_FULL(336,329) JVS(4284) = 0 IF (DO_JVS(4285)) & ! JVS(4285) = Jac_FULL(336,330) JVS(4285) = B(677) IF (DO_JVS(4286)) & ! JVS(4286) = Jac_FULL(336,331) JVS(4286) = 0 IF (DO_JVS(4287)) & ! JVS(4287) = Jac_FULL(336,332) JVS(4287) = -B(1589) IF (DO_JVS(4288)) & ! JVS(4288) = Jac_FULL(336,333) JVS(4288) = B(541)+B(1539)+B(1541)+B(1543)+B(1545) IF (DO_JVS(4289)) & ! JVS(4289) = Jac_FULL(336,334) JVS(4289) = -B(433) IF (DO_JVS(4290)) & ! JVS(4290) = Jac_FULL(336,335) JVS(4290) = 0 IF (DO_JVS(4291)) & ! JVS(4291) = Jac_FULL(336,336) JVS(4291) = -B(434)-B(698)-2*B(700)-B(714)-B(716)-B(1497)-B(1510)-B(1514)-B(1590) IF (DO_JVS(4292)) & ! JVS(4292) = Jac_FULL(336,337) JVS(4292) = B(38)+0.02*B(476)+B(1491) IF (DO_JVS(4293)) & ! JVS(4293) = Jac_FULL(336,338) JVS(4293) = 0 IF (DO_JVS(4294)) & ! JVS(4294) = Jac_FULL(336,339) JVS(4294) = B(539)+B(1540)+B(1552) IF (DO_JVS(4295)) & ! JVS(4295) = Jac_FULL(336,340) JVS(4295) = B(612) IF (DO_JVS(4296)) & ! JVS(4296) = Jac_FULL(336,341) JVS(4296) = 0 IF (DO_JVS(4297)) & ! JVS(4297) = Jac_FULL(336,342) JVS(4297) = 0 IF (DO_JVS(4298)) & ! JVS(4298) = Jac_FULL(336,343) JVS(4298) = 0 IF (DO_JVS(4299)) & ! JVS(4299) = Jac_FULL(336,344) JVS(4299) = B(1546)+B(1556) IF (DO_JVS(4300)) & ! JVS(4300) = Jac_FULL(336,345) JVS(4300) = B(36)+B(39)+B(41)+B(48)+B(60)+B(62)+B(64)+B(68)+B(72)+B(77)+B(88)+B(96)+B(107)+B(137)+B(196)+B(198)+B(200)& &+B(202)+B(213)+B(235)+B(395)+B(432)+B(449)+B(540)+B(542)+B(548)+B(554)+B(556)+B(558)+B(560)+B(562)+B(676)& &+B(678)+B(686)+B(1337) IF (DO_JVS(4301)) & ! JVS(4301) = Jac_FULL(336,346) JVS(4301) = 0 IF (DO_JVS(4302)) & ! JVS(4302) = Jac_FULL(336,347) JVS(4302) = 0 IF (DO_JVS(4303)) & ! JVS(4303) = Jac_FULL(336,348) JVS(4303) = 0 IF (DO_JVS(4304)) & ! JVS(4304) = Jac_FULL(336,349) JVS(4304) = 0 IF (DO_JVS(4305)) & ! JVS(4305) = Jac_FULL(336,350) JVS(4305) = 0 IF (DO_JVS(4306)) & ! JVS(4306) = Jac_FULL(336,351) JVS(4306) = 0 IF (DO_JVS(4307)) & ! JVS(4307) = Jac_FULL(336,352) JVS(4307) = B(396)+B(1542)+B(1550) IF (DO_JVS(4308)) & ! JVS(4308) = Jac_FULL(336,353) JVS(4308) = B(1544)+B(1554) IF (DO_JVS(4309)) & ! JVS(4309) = Jac_FULL(337,60) JVS(4309) = 0.364*B(1362) IF (DO_JVS(4310)) & ! JVS(4310) = Jac_FULL(337,72) JVS(4310) = B(308) IF (DO_JVS(4311)) & ! JVS(4311) = Jac_FULL(337,75) JVS(4311) = B(551)+B(609) IF (DO_JVS(4312)) & ! JVS(4312) = Jac_FULL(337,79) JVS(4312) = B(549)+B(607) IF (DO_JVS(4313)) & ! JVS(4313) = Jac_FULL(337,80) JVS(4313) = B(1741) IF (DO_JVS(4314)) & ! JVS(4314) = Jac_FULL(337,82) JVS(4314) = 0.19*B(1383) IF (DO_JVS(4315)) & ! JVS(4315) = Jac_FULL(337,83) JVS(4315) = B(1758) IF (DO_JVS(4316)) & ! JVS(4316) = Jac_FULL(337,88) JVS(4316) = 0.5*B(1322) IF (DO_JVS(4317)) & ! JVS(4317) = Jac_FULL(337,91) JVS(4317) = B(1759) IF (DO_JVS(4318)) & ! JVS(4318) = Jac_FULL(337,93) JVS(4318) = B(1757) IF (DO_JVS(4319)) & ! JVS(4319) = Jac_FULL(337,95) JVS(4319) = B(1760) IF (DO_JVS(4320)) & ! JVS(4320) = Jac_FULL(337,97) JVS(4320) = B(1680) IF (DO_JVS(4321)) & ! JVS(4321) = Jac_FULL(337,98) JVS(4321) = B(1681) IF (DO_JVS(4322)) & ! JVS(4322) = Jac_FULL(337,99) JVS(4322) = B(1678) IF (DO_JVS(4323)) & ! JVS(4323) = Jac_FULL(337,100) JVS(4323) = B(1679) IF (DO_JVS(4324)) & ! JVS(4324) = Jac_FULL(337,101) JVS(4324) = 0.15*B(1385) IF (DO_JVS(4325)) & ! JVS(4325) = Jac_FULL(337,102) JVS(4325) = B(1682) IF (DO_JVS(4326)) & ! JVS(4326) = Jac_FULL(337,105) JVS(4326) = B(431) IF (DO_JVS(4327)) & ! JVS(4327) = Jac_FULL(337,106) JVS(4327) = B(1372)+B(1373) IF (DO_JVS(4328)) & ! JVS(4328) = Jac_FULL(337,108) JVS(4328) = B(75)+B(1652) IF (DO_JVS(4329)) & ! JVS(4329) = Jac_FULL(337,111) JVS(4329) = B(1807) IF (DO_JVS(4330)) & ! JVS(4330) = Jac_FULL(337,112) JVS(4330) = B(1812) IF (DO_JVS(4331)) & ! JVS(4331) = Jac_FULL(337,115) JVS(4331) = B(1763) IF (DO_JVS(4332)) & ! JVS(4332) = Jac_FULL(337,116) JVS(4332) = B(1356)+B(1687) IF (DO_JVS(4333)) & ! JVS(4333) = Jac_FULL(337,118) JVS(4333) = B(1677) IF (DO_JVS(4334)) & ! JVS(4334) = Jac_FULL(337,119) JVS(4334) = B(1013) IF (DO_JVS(4335)) & ! JVS(4335) = Jac_FULL(337,121) JVS(4335) = B(1399)-B(1401) IF (DO_JVS(4336)) & ! JVS(4336) = Jac_FULL(337,123) JVS(4336) = B(1683) IF (DO_JVS(4337)) & ! JVS(4337) = Jac_FULL(337,125) JVS(4337) = B(1676) IF (DO_JVS(4338)) & ! JVS(4338) = Jac_FULL(337,127) JVS(4338) = B(152) IF (DO_JVS(4339)) & ! JVS(4339) = Jac_FULL(337,128) JVS(4339) = 0.75*B(1052) IF (DO_JVS(4340)) & ! JVS(4340) = Jac_FULL(337,131) JVS(4340) = B(1262) IF (DO_JVS(4341)) & ! JVS(4341) = Jac_FULL(337,132) JVS(4341) = B(156) IF (DO_JVS(4342)) & ! JVS(4342) = Jac_FULL(337,133) JVS(4342) = -B(1087) IF (DO_JVS(4343)) & ! JVS(4343) = Jac_FULL(337,135) JVS(4343) = -B(1091) IF (DO_JVS(4344)) & ! JVS(4344) = Jac_FULL(337,136) JVS(4344) = 0 IF (DO_JVS(4345)) & ! JVS(4345) = Jac_FULL(337,137) JVS(4345) = 0.5*B(743) IF (DO_JVS(4346)) & ! JVS(4346) = Jac_FULL(337,138) JVS(4346) = 0.5*B(780) IF (DO_JVS(4347)) & ! JVS(4347) = Jac_FULL(337,143) JVS(4347) = 0.54*B(1381) IF (DO_JVS(4348)) & ! JVS(4348) = Jac_FULL(337,144) JVS(4348) = B(1782) IF (DO_JVS(4349)) & ! JVS(4349) = Jac_FULL(337,145) JVS(4349) = B(1177) IF (DO_JVS(4350)) & ! JVS(4350) = Jac_FULL(337,146) JVS(4350) = B(1661) IF (DO_JVS(4351)) & ! JVS(4351) = Jac_FULL(337,147) JVS(4351) = 0.444*B(1308)+1.454*B(1796) IF (DO_JVS(4352)) & ! JVS(4352) = Jac_FULL(337,149) JVS(4352) = 0.18*B(1344) IF (DO_JVS(4353)) & ! JVS(4353) = Jac_FULL(337,150) JVS(4353) = B(1781) IF (DO_JVS(4354)) & ! JVS(4354) = Jac_FULL(337,151) JVS(4354) = B(1054) IF (DO_JVS(4355)) & ! JVS(4355) = Jac_FULL(337,152) JVS(4355) = B(1058) IF (DO_JVS(4356)) & ! JVS(4356) = Jac_FULL(337,153) JVS(4356) = B(1268) IF (DO_JVS(4357)) & ! JVS(4357) = Jac_FULL(337,155) JVS(4357) = B(1684) IF (DO_JVS(4358)) & ! JVS(4358) = Jac_FULL(337,156) JVS(4358) = B(269) IF (DO_JVS(4359)) & ! JVS(4359) = Jac_FULL(337,158) JVS(4359) = 0.727*B(1418) IF (DO_JVS(4360)) & ! JVS(4360) = Jac_FULL(337,161) JVS(4360) = B(1813) IF (DO_JVS(4361)) & ! JVS(4361) = Jac_FULL(337,164) JVS(4361) = B(1646) IF (DO_JVS(4362)) & ! JVS(4362) = Jac_FULL(337,165) JVS(4362) = -B(140) IF (DO_JVS(4363)) & ! JVS(4363) = Jac_FULL(337,168) JVS(4363) = B(1785) IF (DO_JVS(4364)) & ! JVS(4364) = Jac_FULL(337,171) JVS(4364) = -B(1248) IF (DO_JVS(4365)) & ! JVS(4365) = Jac_FULL(337,172) JVS(4365) = -B(1254) IF (DO_JVS(4366)) & ! JVS(4366) = Jac_FULL(337,174) JVS(4366) = 0.75*B(1794) IF (DO_JVS(4367)) & ! JVS(4367) = Jac_FULL(337,175) JVS(4367) = B(1784) IF (DO_JVS(4368)) & ! JVS(4368) = Jac_FULL(337,178) JVS(4368) = 0.75*B(128)-B(132) IF (DO_JVS(4369)) & ! JVS(4369) = Jac_FULL(337,180) JVS(4369) = 0.89*B(1220)-0.27*B(1222) IF (DO_JVS(4370)) & ! JVS(4370) = Jac_FULL(337,181) JVS(4370) = B(547)+B(605) IF (DO_JVS(4371)) & ! JVS(4371) = Jac_FULL(337,182) JVS(4371) = 0.33*B(1214)-0.67*B(1216) IF (DO_JVS(4372)) & ! JVS(4372) = Jac_FULL(337,185) JVS(4372) = 0.571*B(1768) IF (DO_JVS(4373)) & ! JVS(4373) = Jac_FULL(337,186) JVS(4373) = 0.159*B(1788) IF (DO_JVS(4374)) & ! JVS(4374) = Jac_FULL(337,187) JVS(4374) = 0.25*B(1023)+B(1775) IF (DO_JVS(4375)) & ! JVS(4375) = Jac_FULL(337,188) JVS(4375) = B(271) IF (DO_JVS(4376)) & ! JVS(4376) = Jac_FULL(337,189) JVS(4376) = B(1352)-B(1354) IF (DO_JVS(4377)) & ! JVS(4377) = Jac_FULL(337,190) JVS(4377) = B(1120)-0.401*B(1121)+B(1123) IF (DO_JVS(4378)) & ! JVS(4378) = Jac_FULL(337,192) JVS(4378) = 0.33*B(1025)+B(1776) IF (DO_JVS(4379)) & ! JVS(4379) = Jac_FULL(337,194) JVS(4379) = 0.715*B(1258)+0.125*B(1769) IF (DO_JVS(4380)) & ! JVS(4380) = Jac_FULL(337,195) JVS(4380) = 0.8*B(1414) IF (DO_JVS(4381)) & ! JVS(4381) = Jac_FULL(337,196) JVS(4381) = 0.326*B(1686) IF (DO_JVS(4382)) & ! JVS(4382) = Jac_FULL(337,197) JVS(4382) = -0.75*B(160)+B(162) IF (DO_JVS(4383)) & ! JVS(4383) = Jac_FULL(337,198) JVS(4383) = B(1795) IF (DO_JVS(4384)) & ! JVS(4384) = Jac_FULL(337,199) JVS(4384) = 0.042*B(1029)+B(1778) IF (DO_JVS(4385)) & ! JVS(4385) = Jac_FULL(337,200) JVS(4385) = 0.03*B(1348) IF (DO_JVS(4386)) & ! JVS(4386) = Jac_FULL(337,201) JVS(4386) = 0.33*B(1470)+0.1*B(1472)+0.2*B(1474) IF (DO_JVS(4387)) & ! JVS(4387) = Jac_FULL(337,202) JVS(4387) = B(1424) IF (DO_JVS(4388)) & ! JVS(4388) = Jac_FULL(337,204) JVS(4388) = B(1802) IF (DO_JVS(4389)) & ! JVS(4389) = Jac_FULL(337,205) JVS(4389) = B(1113)-0.941*B(1114)+0.272*B(1116) IF (DO_JVS(4390)) & ! JVS(4390) = Jac_FULL(337,206) JVS(4390) = B(1127)-0.418*B(1129)+B(1131) IF (DO_JVS(4391)) & ! JVS(4391) = Jac_FULL(337,207) JVS(4391) = B(1128)-0.494*B(1135)+B(1137) IF (DO_JVS(4392)) & ! JVS(4392) = Jac_FULL(337,208) JVS(4392) = B(1266)+B(1765) IF (DO_JVS(4393)) & ! JVS(4393) = Jac_FULL(337,209) JVS(4393) = 0.024*B(1027)+B(1777) IF (DO_JVS(4394)) & ! JVS(4394) = Jac_FULL(337,210) JVS(4394) = B(1762) IF (DO_JVS(4395)) & ! JVS(4395) = Jac_FULL(337,212) JVS(4395) = 0.513*B(148)-B(150) IF (DO_JVS(4396)) & ! JVS(4396) = Jac_FULL(337,213) JVS(4396) = B(300)-0.56*B(302)+B(304) IF (DO_JVS(4397)) & ! JVS(4397) = Jac_FULL(337,216) JVS(4397) = B(1774) IF (DO_JVS(4398)) & ! JVS(4398) = Jac_FULL(337,217) JVS(4398) = B(471)-B(475) IF (DO_JVS(4399)) & ! JVS(4399) = Jac_FULL(337,219) JVS(4399) = 0.05*B(729) IF (DO_JVS(4400)) & ! JVS(4400) = Jac_FULL(337,220) JVS(4400) = 0.7*B(1338)+0.1*B(1342) IF (DO_JVS(4401)) & ! JVS(4401) = Jac_FULL(337,221) JVS(4401) = 0.33*B(1465)+0.1*B(1467)+0.2*B(1469) IF (DO_JVS(4402)) & ! JVS(4402) = Jac_FULL(337,222) JVS(4402) = 0.33*B(1787) IF (DO_JVS(4403)) & ! JVS(4403) = Jac_FULL(337,223) JVS(4403) = B(1032)-0.725*B(1036) IF (DO_JVS(4404)) & ! JVS(4404) = Jac_FULL(337,224) JVS(4404) = B(1039)-0.725*B(1043) IF (DO_JVS(4405)) & ! JVS(4405) = Jac_FULL(337,225) JVS(4405) = B(1808) IF (DO_JVS(4406)) & ! JVS(4406) = Jac_FULL(337,226) JVS(4406) = -0.42*B(1200)+0.904*B(1206) IF (DO_JVS(4407)) & ! JVS(4407) = Jac_FULL(337,227) JVS(4407) = 1.5*B(1766) IF (DO_JVS(4408)) & ! JVS(4408) = Jac_FULL(337,228) JVS(4408) = 0.2*B(443) IF (DO_JVS(4409)) & ! JVS(4409) = Jac_FULL(337,229) JVS(4409) = B(1748)+B(1816) IF (DO_JVS(4410)) & ! JVS(4410) = Jac_FULL(337,230) JVS(4410) = 0.085*B(1001)+0.112*B(1779) IF (DO_JVS(4411)) & ! JVS(4411) = Jac_FULL(337,231) JVS(4411) = 0.165*B(1003)+0.182*B(1780) IF (DO_JVS(4412)) & ! JVS(4412) = Jac_FULL(337,232) JVS(4412) = -B(1050) IF (DO_JVS(4413)) & ! JVS(4413) = Jac_FULL(337,233) JVS(4413) = 0.425*B(154)+0.3*B(1660) IF (DO_JVS(4414)) & ! JVS(4414) = Jac_FULL(337,234) JVS(4414) = -B(1364)+0.6*B(1370) IF (DO_JVS(4415)) & ! JVS(4415) = Jac_FULL(337,235) JVS(4415) = -B(1432)+B(1463) IF (DO_JVS(4416)) & ! JVS(4416) = Jac_FULL(337,236) JVS(4416) = -B(1449)+B(1461) IF (DO_JVS(4417)) & ! JVS(4417) = Jac_FULL(337,238) JVS(4417) = 0.283*B(1009) IF (DO_JVS(4418)) & ! JVS(4418) = Jac_FULL(337,240) JVS(4418) = -B(1407) IF (DO_JVS(4419)) & ! JVS(4419) = Jac_FULL(337,243) JVS(4419) = -0.35*B(1078)+B(1082)+B(1084) IF (DO_JVS(4420)) & ! JVS(4420) = Jac_FULL(337,246) JVS(4420) = -B(245) IF (DO_JVS(4421)) & ! JVS(4421) = Jac_FULL(337,248) JVS(4421) = B(1773) IF (DO_JVS(4422)) & ! JVS(4422) = Jac_FULL(337,249) JVS(4422) = -B(224)+0.5*B(259) IF (DO_JVS(4423)) & ! JVS(4423) = Jac_FULL(337,250) JVS(4423) = -B(232)+0.5*B(267) IF (DO_JVS(4424)) & ! JVS(4424) = Jac_FULL(337,251) JVS(4424) = 0.27*B(1685) IF (DO_JVS(4425)) & ! JVS(4425) = Jac_FULL(337,253) JVS(4425) = -0.493*B(1276)+0.86*B(1283) IF (DO_JVS(4426)) & ! JVS(4426) = Jac_FULL(337,254) JVS(4426) = -0.695*B(1270)+0.242*B(1272) IF (DO_JVS(4427)) & ! JVS(4427) = Jac_FULL(337,255) JVS(4427) = B(1817) IF (DO_JVS(4428)) & ! JVS(4428) = Jac_FULL(337,257) JVS(4428) = -B(749)+0.75*B(893) IF (DO_JVS(4429)) & ! JVS(4429) = Jac_FULL(337,258) JVS(4429) = 0.5*B(1306)+1.5*B(1792)+B(1793) IF (DO_JVS(4430)) & ! JVS(4430) = Jac_FULL(337,259) JVS(4430) = -B(1278) IF (DO_JVS(4431)) & ! JVS(4431) = Jac_FULL(337,260) JVS(4431) = B(122)+B(216)-B(281)+0.9*B(369) IF (DO_JVS(4432)) & ! JVS(4432) = Jac_FULL(337,261) JVS(4432) = B(1749) IF (DO_JVS(4433)) & ! JVS(4433) = Jac_FULL(337,262) JVS(4433) = B(871)+0.5*B(875) IF (DO_JVS(4434)) & ! JVS(4434) = Jac_FULL(337,263) JVS(4434) = B(1389)+B(1391)+2*B(1393)+B(1395) IF (DO_JVS(4435)) & ! JVS(4435) = Jac_FULL(337,264) JVS(4435) = B(40)+B(469)+B(571) IF (DO_JVS(4436)) & ! JVS(4436) = Jac_FULL(337,265) JVS(4436) = B(87) IF (DO_JVS(4437)) & ! JVS(4437) = Jac_FULL(337,266) JVS(4437) = B(1800) IF (DO_JVS(4438)) & ! JVS(4438) = Jac_FULL(337,267) JVS(4438) = 0.4*B(1111)+0.45*B(1786) IF (DO_JVS(4439)) & ! JVS(4439) = Jac_FULL(337,268) JVS(4439) = 0.4*B(1109)+0.45*B(1783) IF (DO_JVS(4440)) & ! JVS(4440) = Jac_FULL(337,269) JVS(4440) = B(1805) IF (DO_JVS(4441)) & ! JVS(4441) = Jac_FULL(337,270) JVS(4441) = B(312)+B(316)+2*B(1667) IF (DO_JVS(4442)) & ! JVS(4442) = Jac_FULL(337,271) JVS(4442) = -0.674*B(1198)+0.5*B(1202) IF (DO_JVS(4443)) & ! JVS(4443) = Jac_FULL(337,272) JVS(4443) = 0.84*B(824)-B(826)+B(828)+B(830) IF (DO_JVS(4444)) & ! JVS(4444) = Jac_FULL(337,273) JVS(4444) = -B(786)+B(790)+B(792)+B(794) IF (DO_JVS(4445)) & ! JVS(4445) = Jac_FULL(337,274) JVS(4445) = -B(838)+0.75*B(897) IF (DO_JVS(4446)) & ! JVS(4446) = Jac_FULL(337,275) JVS(4446) = -B(774)+0.75*B(776)+B(778)+1.75*B(881)+B(883) IF (DO_JVS(4447)) & ! JVS(4447) = Jac_FULL(337,276) JVS(4447) = 0.16*B(947)+0.4*B(953)+0.7*B(955) IF (DO_JVS(4448)) & ! JVS(4448) = Jac_FULL(337,277) JVS(4448) = -B(735)+0.75*B(737)+B(739)+1.75*B(877)+B(879) IF (DO_JVS(4449)) & ! JVS(4449) = Jac_FULL(337,278) JVS(4449) = -B(762)+B(768) IF (DO_JVS(4450)) & ! JVS(4450) = Jac_FULL(337,279) JVS(4450) = 0.27*B(1688) IF (DO_JVS(4451)) & ! JVS(4451) = Jac_FULL(337,280) JVS(4451) = B(901)-B(905)+2*B(909)+B(913)+B(917)+B(921)+0.5*B(922) IF (DO_JVS(4452)) & ! JVS(4452) = Jac_FULL(337,281) JVS(4452) = -B(800)+0.75*B(802)+B(804)+1.75*B(885)+B(887) IF (DO_JVS(4453)) & ! JVS(4453) = Jac_FULL(337,282) JVS(4453) = B(89)+B(623) IF (DO_JVS(4454)) & ! JVS(4454) = Jac_FULL(337,284) JVS(4454) = -B(679) IF (DO_JVS(4455)) & ! JVS(4455) = Jac_FULL(337,285) JVS(4455) = B(1070)+B(1072)-0.35*B(1076) IF (DO_JVS(4456)) & ! JVS(4456) = Jac_FULL(337,286) JVS(4456) = B(1062)-0.35*B(1064)+B(1066) IF (DO_JVS(4457)) & ! JVS(4457) = Jac_FULL(337,287) JVS(4457) = B(1770) IF (DO_JVS(4458)) & ! JVS(4458) = Jac_FULL(337,288) JVS(4458) = 0.47*B(1767) IF (DO_JVS(4459)) & ! JVS(4459) = Jac_FULL(337,289) JVS(4459) = -B(907)+0.5*B(911)+0.5*B(923) IF (DO_JVS(4460)) & ! JVS(4460) = Jac_FULL(337,290) JVS(4460) = 0.28*B(287) IF (DO_JVS(4461)) & ! JVS(4461) = Jac_FULL(337,291) JVS(4461) = -B(851)+B(855)+B(857)+1.75*B(889)+B(891) IF (DO_JVS(4462)) & ! JVS(4462) = Jac_FULL(337,293) JVS(4462) = -0.621*B(1141)+B(1143) IF (DO_JVS(4463)) & ! JVS(4463) = Jac_FULL(337,294) JVS(4463) = B(1670) IF (DO_JVS(4464)) & ! JVS(4464) = Jac_FULL(337,296) JVS(4464) = B(108)+B(247)+1.2*B(273)-B(275)+0.9*B(365)+B(619) IF (DO_JVS(4465)) & ! JVS(4465) = Jac_FULL(337,298) JVS(4465) = B(1662) IF (DO_JVS(4466)) & ! JVS(4466) = Jac_FULL(337,299) JVS(4466) = 0.228*B(1791) IF (DO_JVS(4467)) & ! JVS(4467) = Jac_FULL(337,300) JVS(4467) = 0.27*B(171)-B(222)+0.64*B(257)+0.243*B(351) IF (DO_JVS(4468)) & ! JVS(4468) = Jac_FULL(337,301) JVS(4468) = 0.295*B(1212)+0.161*B(1790) IF (DO_JVS(4469)) & ! JVS(4469) = Jac_FULL(337,302) JVS(4469) = 0.29*B(1772) IF (DO_JVS(4470)) & ! JVS(4470) = Jac_FULL(337,303) JVS(4470) = 0.62*B(1316)+0.7*B(1797)+0.7*B(1798) IF (DO_JVS(4471)) & ! JVS(4471) = Jac_FULL(337,304) JVS(4471) = -0.937*B(961)-B(963)+0.7*B(968)+2*B(970)+2*B(971)+B(974)+B(975)+2*B(981)+1.5*B(983)+B(995)+0.45*B(999) IF (DO_JVS(4472)) & ! JVS(4472) = Jac_FULL(337,305) JVS(4472) = -0.937*B(957)-B(959)+0.4*B(966)+2*B(969)+2*B(972)+B(973)+B(976)+2*B(977)+1.5*B(979)+B(987)+0.45*B(991) IF (DO_JVS(4473)) & ! JVS(4473) = Jac_FULL(337,306) JVS(4473) = 0.773*B(289)+0.2*B(293)+1.73*B(1666) IF (DO_JVS(4474)) & ! JVS(4474) = Jac_FULL(337,307) JVS(4474) = B(320)+B(1675) IF (DO_JVS(4475)) & ! JVS(4475) = Jac_FULL(337,308) JVS(4475) = -B(1291)+0.7*B(1299) IF (DO_JVS(4476)) & ! JVS(4476) = Jac_FULL(337,309) JVS(4476) = 0.036*B(1228)+B(1674) IF (DO_JVS(4477)) & ! JVS(4477) = Jac_FULL(337,310) JVS(4477) = -B(1149)+0.089*B(1154)+0.611*B(1159) IF (DO_JVS(4478)) & ! JVS(4478) = Jac_FULL(337,311) JVS(4478) = -B(1151)+0.089*B(1155)+0.064*B(1156)+0.336*B(1157)+0.159*B(1163)+0.159*B(1167)+0.159*B(1173) IF (DO_JVS(4479)) & ! JVS(4479) = Jac_FULL(337,312) JVS(4479) = 0 IF (DO_JVS(4480)) & ! JVS(4480) = Jac_FULL(337,313) JVS(4480) = -B(226)+0.3*B(261) IF (DO_JVS(4481)) & ! JVS(4481) = Jac_FULL(337,314) JVS(4481) = 0.1*B(1226)+B(1672) IF (DO_JVS(4482)) & ! JVS(4482) = Jac_FULL(337,315) JVS(4482) = B(112)+B(249)+1.2*B(274)-B(277)+0.9*B(367)+B(621) IF (DO_JVS(4483)) & ! JVS(4483) = Jac_FULL(337,318) JVS(4483) = -B(220)+0.5*B(255) IF (DO_JVS(4484)) & ! JVS(4484) = Jac_FULL(337,319) JVS(4484) = 0.27*B(177)-B(218)+0.64*B(253)+0.243*B(349) IF (DO_JVS(4485)) & ! JVS(4485) = Jac_FULL(337,320) JVS(4485) = -B(228)+0.5*B(263) IF (DO_JVS(4486)) & ! JVS(4486) = Jac_FULL(337,321) JVS(4486) = B(118)+B(214)-B(279)+0.9*B(371) IF (DO_JVS(4487)) & ! JVS(4487) = Jac_FULL(337,322) JVS(4487) = -B(283)+B(375) IF (DO_JVS(4488)) & ! JVS(4488) = Jac_FULL(337,323) JVS(4488) = B(187)-B(230)+B(265)+0.9*B(357) IF (DO_JVS(4489)) & ! JVS(4489) = Jac_FULL(337,324) JVS(4489) = 0.9*B(347)+0.243*B(350)+0.243*B(352)+0.9*B(358)+0.9*B(366)+0.9*B(368)+0.9*B(370)+0.9*B(372)+B(880)+B(884)& &+B(888)+B(892)+B(914)+0.159*B(1164)-B(1324)+B(1396) IF (DO_JVS(4490)) & ! JVS(4490) = Jac_FULL(337,325) JVS(4490) = B(63)+B(93)+B(413)+B(485)+B(565)+B(1647) IF (DO_JVS(4491)) & ! JVS(4491) = Jac_FULL(337,326) JVS(4491) = 0.05*B(95)+B(1656) IF (DO_JVS(4492)) & ! JVS(4492) = Jac_FULL(337,328) JVS(4492) = B(34)+B(49)-B(53)+2*B(56)+1.74*B(57)+B(215)+B(217)+B(248)+B(250)+0.64*B(254)+0.5*B(256)+0.64*B(258)+0.5& &*B(260)+0.3*B(262)+0.5*B(264)+B(266)+0.5*B(268)+0.9*B(348)+B(376)+B(529)+B(613)+B(769)+B(793)+B(831)+1.75& &*B(878)+1.75*B(882)+1.75*B(886)+1.75*B(890)+0.75*B(894)+0.75*B(898)+2*B(910)+0.5*B(912)+2*B(978)+1.5*B(980)& &+2*B(982)+1.5*B(984)+0.336*B(1158)+0.611*B(1160)+0.7*B(1300)+0.6*B(1371)+2*B(1394)+B(1462)+B(1464)+B(1487) IF (DO_JVS(4493)) & ! JVS(4493) = Jac_FULL(337,329) JVS(4493) = B(45) IF (DO_JVS(4494)) & ! JVS(4494) = Jac_FULL(337,330) JVS(4494) = 0 IF (DO_JVS(4495)) & ! JVS(4495) = Jac_FULL(337,331) JVS(4495) = -B(671) IF (DO_JVS(4496)) & ! JVS(4496) = Jac_FULL(337,332) JVS(4496) = 0 IF (DO_JVS(4497)) & ! JVS(4497) = Jac_FULL(337,334) JVS(4497) = 0.2*B(444) IF (DO_JVS(4498)) & ! JVS(4498) = Jac_FULL(337,335) JVS(4498) = -B(73) IF (DO_JVS(4499)) & ! JVS(4499) = Jac_FULL(337,336) JVS(4499) = 0 IF (DO_JVS(4500)) & ! JVS(4500) = Jac_FULL(337,337) JVS(4500) = -B(30)-B(38)-B(42)-2*B(44)-B(54)-B(74)-B(78)-B(133)-B(141)-B(151)-0.75*B(161)-B(219)-B(221)-B(223)-B(225)& &-B(227)-B(229)-B(231)-B(233)-B(246)-B(276)-B(278)-B(280)-B(282)-B(284)-0.56*B(303)-B(391)-B(393)-B(453)& &-B(476)-B(573)-B(575)-B(579)-B(672)-B(680)-B(736)-B(750)-B(763)-B(775)-B(787)-B(801)-B(827)-B(839)-B(852)& &-B(906)-B(908)-0.937*B(958)-B(960)-0.937*B(962)-B(964)-0.725*B(1037)-0.725*B(1044)-B(1051)-0.35*B(1065)& &-0.35*B(1077)-0.35*B(1079)-B(1088)-B(1092)-0.941*B(1115)-0.401*B(1122)-0.418*B(1130)-0.494*B(1136)-0.621& &*B(1142)-B(1150)-B(1152)-0.674*B(1199)-0.42*B(1201)-0.67*B(1217)-0.27*B(1223)-B(1249)-B(1255)-0.695*B(1271)& &-0.493*B(1277)-B(1279)-B(1292)-B(1325)-B(1355)-B(1365)-B(1402)-B(1408)-B(1433)-B(1450)-B(1491) IF (DO_JVS(4501)) & ! JVS(4501) = Jac_FULL(337,338) JVS(4501) = B(530)+B(531)-B(580) IF (DO_JVS(4502)) & ! JVS(4502) = Jac_FULL(337,339) JVS(4502) = 0 IF (DO_JVS(4503)) & ! JVS(4503) = Jac_FULL(337,340) JVS(4503) = B(566)+B(572)-B(574)-B(576)+B(606)+B(608)+B(610)+B(614)+B(620)+B(622)+B(624) IF (DO_JVS(4504)) & ! JVS(4504) = Jac_FULL(337,341) JVS(4504) = B(28)-B(31)+B(35)+0.28*B(288)+0.05*B(730)+0.16*B(948)+0.1*B(1227)+0.1*B(1343)+B(1425)+0.1*B(1468)+0.1& &*B(1473) IF (DO_JVS(4505)) & ! JVS(4505) = Jac_FULL(337,342) JVS(4505) = -B(394)+B(414) IF (DO_JVS(4506)) & ! JVS(4506) = Jac_FULL(337,343) JVS(4506) = -B(454)+B(470)+B(486) IF (DO_JVS(4507)) & ! JVS(4507) = Jac_FULL(337,344) JVS(4507) = 0 IF (DO_JVS(4508)) & ! JVS(4508) = Jac_FULL(337,345) JVS(4508) = B(29)-B(39)+B(41)+B(46)+1.74*B(58)+B(64)+B(82)+B(88)+B(90)+0.05*B(96)+B(153)+0.425*B(155)+B(270)+B(272)& &+0.773*B(290)+0.2*B(294)+B(309)+B(313)+B(321)+B(387)+B(409)+B(432)+B(532)+B(548)+B(550)+B(552)+0.5*B(744)& &+0.5*B(781)+B(872)+0.4*B(954)+0.7*B(956)+0.085*B(1002)+0.165*B(1004)+0.283*B(1010)+B(1014)+0.25*B(1024)& &+0.33*B(1026)+0.024*B(1028)+0.042*B(1030)+0.75*B(1053)+B(1055)+B(1059)+0.4*B(1110)+0.4*B(1112)+0.295& &*B(1213)+0.036*B(1229)+0.715*B(1259)+B(1263)+B(1267)+B(1269)+0.5*B(1307)+0.444*B(1309)+0.62*B(1317)+0.5& &*B(1323)+0.7*B(1339)+0.18*B(1345)+0.03*B(1349)+B(1357)+0.364*B(1363)+0.54*B(1382)+0.19*B(1384)+0.15*B(1386)& &+0.8*B(1415)+0.727*B(1419)+0.33*B(1466)+0.33*B(1471) IF (DO_JVS(4509)) & ! JVS(4509) = Jac_FULL(337,346) JVS(4509) = -B(43)+B(50)+B(109)+B(113)+B(119)+B(123)+0.75*B(129)+0.513*B(149)+B(157)+B(163)+0.27*B(172)+0.27*B(178)& &+B(188)+B(301)+0.75*B(738)+0.75*B(777)+B(791)+0.75*B(803)+0.84*B(825)+B(856)+B(902)+B(988)+0.45*B(992)& &+B(996)+0.45*B(1000)+B(1033)+B(1040)+B(1067)+B(1073)+B(1083)+0.272*B(1117)+B(1124)+B(1132)+B(1138)+B(1144)& &+0.159*B(1174)+0.5*B(1203)+0.904*B(1207)+0.33*B(1215)+0.89*B(1221)+0.242*B(1273)+0.86*B(1284)+B(1353)& &+B(1390)+B(1400) IF (DO_JVS(4510)) & ! JVS(4510) = Jac_FULL(337,347) JVS(4510) = -B(392)+B(410) IF (DO_JVS(4511)) & ! JVS(4511) = Jac_FULL(337,348) JVS(4511) = B(388) IF (DO_JVS(4512)) & ! JVS(4512) = Jac_FULL(337,349) JVS(4512) = 0 IF (DO_JVS(4513)) & ! JVS(4513) = Jac_FULL(337,350) JVS(4513) = 0 IF (DO_JVS(4514)) & ! JVS(4514) = Jac_FULL(337,351) JVS(4514) = -B(79)+B(83)+B(94)+B(305)+B(317)+B(740)+B(779)+B(795)+B(805)+B(829)+B(858)+0.5*B(876)+B(918)+0.159*B(1168)& &+B(1392)+B(1488) IF (DO_JVS(4515)) & ! JVS(4515) = Jac_FULL(337,352) JVS(4515) = 0 IF (DO_JVS(4516)) & ! JVS(4516) = Jac_FULL(337,353) JVS(4516) = 0 IF (DO_JVS(4517)) & ! JVS(4517) = Jac_FULL(338,46) JVS(4517) = 0.79*B(493) IF (DO_JVS(4518)) & ! JVS(4518) = Jac_FULL(338,47) JVS(4518) = 0.9*B(505) IF (DO_JVS(4519)) & ! JVS(4519) = Jac_FULL(338,48) JVS(4519) = 0.86*B(507) IF (DO_JVS(4520)) & ! JVS(4520) = Jac_FULL(338,49) JVS(4520) = 0.8*B(519) IF (DO_JVS(4521)) & ! JVS(4521) = Jac_FULL(338,50) JVS(4521) = 0.85*B(521) IF (DO_JVS(4522)) & ! JVS(4522) = Jac_FULL(338,51) JVS(4522) = 0.86*B(523) IF (DO_JVS(4523)) & ! JVS(4523) = Jac_FULL(338,61) JVS(4523) = 0.34*B(509) IF (DO_JVS(4524)) & ! JVS(4524) = Jac_FULL(338,76) JVS(4524) = 2*B(592) IF (DO_JVS(4525)) & ! JVS(4525) = Jac_FULL(338,84) JVS(4525) = 0.79*B(517) IF (DO_JVS(4526)) & ! JVS(4526) = Jac_FULL(338,85) JVS(4526) = 0.69*B(513) IF (DO_JVS(4527)) & ! JVS(4527) = Jac_FULL(338,86) JVS(4527) = 0.65*B(515) IF (DO_JVS(4528)) & ! JVS(4528) = Jac_FULL(338,87) JVS(4528) = 0.56*B(503) IF (DO_JVS(4529)) & ! JVS(4529) = Jac_FULL(338,110) JVS(4529) = 0.1*B(593) IF (DO_JVS(4530)) & ! JVS(4530) = Jac_FULL(338,120) JVS(4530) = B(1704) IF (DO_JVS(4531)) & ! JVS(4531) = Jac_FULL(338,181) JVS(4531) = 0.46*B(495) IF (DO_JVS(4532)) & ! JVS(4532) = Jac_FULL(338,245) JVS(4532) = 0.75*B(491) IF (DO_JVS(4533)) & ! JVS(4533) = Jac_FULL(338,284) JVS(4533) = -B(667) IF (DO_JVS(4534)) & ! JVS(4534) = Jac_FULL(338,296) JVS(4534) = B(619) IF (DO_JVS(4535)) & ! JVS(4535) = Jac_FULL(338,297) JVS(4535) = 0 IF (DO_JVS(4536)) & ! JVS(4536) = Jac_FULL(338,315) JVS(4536) = B(621) IF (DO_JVS(4537)) & ! JVS(4537) = Jac_FULL(338,317) JVS(4537) = B(601)+B(1708) IF (DO_JVS(4538)) & ! JVS(4538) = Jac_FULL(338,318) JVS(4538) = 0 IF (DO_JVS(4539)) & ! JVS(4539) = Jac_FULL(338,319) JVS(4539) = 0 IF (DO_JVS(4540)) & ! JVS(4540) = Jac_FULL(338,320) JVS(4540) = 0 IF (DO_JVS(4541)) & ! JVS(4541) = Jac_FULL(338,321) JVS(4541) = 0 IF (DO_JVS(4542)) & ! JVS(4542) = Jac_FULL(338,322) JVS(4542) = 0 IF (DO_JVS(4543)) & ! JVS(4543) = Jac_FULL(338,323) JVS(4543) = 0 IF (DO_JVS(4544)) & ! JVS(4544) = Jac_FULL(338,324) JVS(4544) = 0 IF (DO_JVS(4545)) & ! JVS(4545) = Jac_FULL(338,326) JVS(4545) = 0 IF (DO_JVS(4546)) & ! JVS(4546) = Jac_FULL(338,328) JVS(4546) = -B(529)+B(613) IF (DO_JVS(4547)) & ! JVS(4547) = Jac_FULL(338,329) JVS(4547) = 0 IF (DO_JVS(4548)) & ! JVS(4548) = Jac_FULL(338,330) JVS(4548) = 0 IF (DO_JVS(4549)) & ! JVS(4549) = Jac_FULL(338,331) JVS(4549) = 0 IF (DO_JVS(4550)) & ! JVS(4550) = Jac_FULL(338,332) JVS(4550) = 0 IF (DO_JVS(4551)) & ! JVS(4551) = Jac_FULL(338,333) JVS(4551) = B(541) IF (DO_JVS(4552)) & ! JVS(4552) = Jac_FULL(338,334) JVS(4552) = 0.22*B(487)+0.75*B(492)+0.79*B(494)+0.46*B(496)+0.56*B(504)+0.9*B(506)+0.86*B(508)+0.34*B(510)+0.69*B(514)& &+0.65*B(516)+0.79*B(518)+0.8*B(520)+0.85*B(522)+0.86*B(524) IF (DO_JVS(4553)) & ! JVS(4553) = Jac_FULL(338,335) JVS(4553) = -B(583) IF (DO_JVS(4554)) & ! JVS(4554) = Jac_FULL(338,336) JVS(4554) = 0 IF (DO_JVS(4555)) & ! JVS(4555) = Jac_FULL(338,337) JVS(4555) = B(575)-B(579) IF (DO_JVS(4556)) & ! JVS(4556) = Jac_FULL(338,338) JVS(4556) = -B(530)-B(531)-B(533)-B(577)-B(580)-B(581)-B(584)-2*B(585)-2*B(586)-2*B(587)-2*B(591)-B(595)-B(597)-B(599)& &-B(668)-B(1703) IF (DO_JVS(4557)) & ! JVS(4557) = Jac_FULL(338,339) JVS(4557) = 0.22*B(488) IF (DO_JVS(4558)) & ! JVS(4558) = Jac_FULL(338,340) JVS(4558) = B(567)+B(576)+0.1*B(594)+B(614)+B(620)+B(622) IF (DO_JVS(4559)) & ! JVS(4559) = Jac_FULL(338,341) JVS(4559) = B(568) IF (DO_JVS(4560)) & ! JVS(4560) = Jac_FULL(338,342) JVS(4560) = 0 IF (DO_JVS(4561)) & ! JVS(4561) = Jac_FULL(338,343) JVS(4561) = -B(578)+B(602) IF (DO_JVS(4562)) & ! JVS(4562) = Jac_FULL(338,344) JVS(4562) = 0 IF (DO_JVS(4563)) & ! JVS(4563) = Jac_FULL(338,345) JVS(4563) = -B(532)-B(534)+B(542) IF (DO_JVS(4564)) & ! JVS(4564) = Jac_FULL(338,346) JVS(4564) = -B(582) IF (DO_JVS(4565)) & ! JVS(4565) = Jac_FULL(338,347) JVS(4565) = -B(596)-B(598)-B(600) IF (DO_JVS(4566)) & ! JVS(4566) = Jac_FULL(338,348) JVS(4566) = 0 IF (DO_JVS(4567)) & ! JVS(4567) = Jac_FULL(338,349) JVS(4567) = 0 IF (DO_JVS(4568)) & ! JVS(4568) = Jac_FULL(338,350) JVS(4568) = 0 IF (DO_JVS(4569)) & ! JVS(4569) = Jac_FULL(338,351) JVS(4569) = 0 IF (DO_JVS(4570)) & ! JVS(4570) = Jac_FULL(338,352) JVS(4570) = 0 IF (DO_JVS(4571)) & ! JVS(4571) = Jac_FULL(338,353) JVS(4571) = 0 IF (DO_JVS(4572)) & ! JVS(4572) = Jac_FULL(339,75) JVS(4572) = B(609) IF (DO_JVS(4573)) & ! JVS(4573) = Jac_FULL(339,79) JVS(4573) = B(607) IF (DO_JVS(4574)) & ! JVS(4574) = Jac_FULL(339,141) JVS(4574) = B(629)+B(631) IF (DO_JVS(4575)) & ! JVS(4575) = Jac_FULL(339,142) JVS(4575) = B(637) IF (DO_JVS(4576)) & ! JVS(4576) = Jac_FULL(339,156) JVS(4576) = B(625) IF (DO_JVS(4577)) & ! JVS(4577) = Jac_FULL(339,164) JVS(4577) = B(615) IF (DO_JVS(4578)) & ! JVS(4578) = Jac_FULL(339,166) JVS(4578) = -B(11) IF (DO_JVS(4579)) & ! JVS(4579) = Jac_FULL(339,179) JVS(4579) = -B(4) IF (DO_JVS(4580)) & ! JVS(4580) = Jac_FULL(339,181) JVS(4580) = 2*B(605) IF (DO_JVS(4581)) & ! JVS(4581) = Jac_FULL(339,183) JVS(4581) = B(617) IF (DO_JVS(4582)) & ! JVS(4582) = Jac_FULL(339,214) JVS(4582) = -B(1498) IF (DO_JVS(4583)) & ! JVS(4583) = Jac_FULL(339,218) JVS(4583) = -B(1511) IF (DO_JVS(4584)) & ! JVS(4584) = Jac_FULL(339,228) JVS(4584) = B(563) IF (DO_JVS(4585)) & ! JVS(4585) = Jac_FULL(339,264) JVS(4585) = B(571) IF (DO_JVS(4586)) & ! JVS(4586) = Jac_FULL(339,265) JVS(4586) = B(611) IF (DO_JVS(4587)) & ! JVS(4587) = Jac_FULL(339,269) JVS(4587) = 0 IF (DO_JVS(4588)) & ! JVS(4588) = Jac_FULL(339,276) JVS(4588) = B(635) IF (DO_JVS(4589)) & ! JVS(4589) = Jac_FULL(339,282) JVS(4589) = B(623) IF (DO_JVS(4590)) & ! JVS(4590) = Jac_FULL(339,283) JVS(4590) = B(627) IF (DO_JVS(4591)) & ! JVS(4591) = Jac_FULL(339,289) JVS(4591) = 0 IF (DO_JVS(4592)) & ! JVS(4592) = Jac_FULL(339,290) JVS(4592) = B(639) IF (DO_JVS(4593)) & ! JVS(4593) = Jac_FULL(339,291) JVS(4593) = 0 IF (DO_JVS(4594)) & ! JVS(4594) = Jac_FULL(339,295) JVS(4594) = B(633) IF (DO_JVS(4595)) & ! JVS(4595) = Jac_FULL(339,296) JVS(4595) = 0 IF (DO_JVS(4596)) & ! JVS(4596) = Jac_FULL(339,297) JVS(4596) = -B(1531) IF (DO_JVS(4597)) & ! JVS(4597) = Jac_FULL(339,300) JVS(4597) = 0 IF (DO_JVS(4598)) & ! JVS(4598) = Jac_FULL(339,301) JVS(4598) = 0 IF (DO_JVS(4599)) & ! JVS(4599) = Jac_FULL(339,302) JVS(4599) = 0 IF (DO_JVS(4600)) & ! JVS(4600) = Jac_FULL(339,303) JVS(4600) = 0 IF (DO_JVS(4601)) & ! JVS(4601) = Jac_FULL(339,304) JVS(4601) = 0 IF (DO_JVS(4602)) & ! JVS(4602) = Jac_FULL(339,305) JVS(4602) = 0 IF (DO_JVS(4603)) & ! JVS(4603) = Jac_FULL(339,306) JVS(4603) = 0 IF (DO_JVS(4604)) & ! JVS(4604) = Jac_FULL(339,307) JVS(4604) = 0 IF (DO_JVS(4605)) & ! JVS(4605) = Jac_FULL(339,308) JVS(4605) = 0 IF (DO_JVS(4606)) & ! JVS(4606) = Jac_FULL(339,309) JVS(4606) = 0 IF (DO_JVS(4607)) & ! JVS(4607) = Jac_FULL(339,310) JVS(4607) = 0 IF (DO_JVS(4608)) & ! JVS(4608) = Jac_FULL(339,311) JVS(4608) = 0 IF (DO_JVS(4609)) & ! JVS(4609) = Jac_FULL(339,312) JVS(4609) = 0 IF (DO_JVS(4610)) & ! JVS(4610) = Jac_FULL(339,313) JVS(4610) = 0 IF (DO_JVS(4611)) & ! JVS(4611) = Jac_FULL(339,314) JVS(4611) = 0 IF (DO_JVS(4612)) & ! JVS(4612) = Jac_FULL(339,315) JVS(4612) = 0 IF (DO_JVS(4613)) & ! JVS(4613) = Jac_FULL(339,316) JVS(4613) = -B(1551) IF (DO_JVS(4614)) & ! JVS(4614) = Jac_FULL(339,317) JVS(4614) = -B(1515) IF (DO_JVS(4615)) & ! JVS(4615) = Jac_FULL(339,318) JVS(4615) = 0 IF (DO_JVS(4616)) & ! JVS(4616) = Jac_FULL(339,319) JVS(4616) = 0 IF (DO_JVS(4617)) & ! JVS(4617) = Jac_FULL(339,320) JVS(4617) = 0 IF (DO_JVS(4618)) & ! JVS(4618) = Jac_FULL(339,321) JVS(4618) = 0 IF (DO_JVS(4619)) & ! JVS(4619) = Jac_FULL(339,322) JVS(4619) = 0 IF (DO_JVS(4620)) & ! JVS(4620) = Jac_FULL(339,323) JVS(4620) = 0 IF (DO_JVS(4621)) & ! JVS(4621) = Jac_FULL(339,324) JVS(4621) = 0 IF (DO_JVS(4622)) & ! JVS(4622) = Jac_FULL(339,325) JVS(4622) = B(565) IF (DO_JVS(4623)) & ! JVS(4623) = Jac_FULL(339,326) JVS(4623) = 0 IF (DO_JVS(4624)) & ! JVS(4624) = Jac_FULL(339,327) JVS(4624) = 0 IF (DO_JVS(4625)) & ! JVS(4625) = Jac_FULL(339,328) JVS(4625) = 0 IF (DO_JVS(4626)) & ! JVS(4626) = Jac_FULL(339,329) JVS(4626) = 0 IF (DO_JVS(4627)) & ! JVS(4627) = Jac_FULL(339,332) JVS(4627) = 0 IF (DO_JVS(4628)) & ! JVS(4628) = Jac_FULL(339,333) JVS(4628) = -B(1539)+B(1547) IF (DO_JVS(4629)) & ! JVS(4629) = Jac_FULL(339,334) JVS(4629) = -0.88*B(487) IF (DO_JVS(4630)) & ! JVS(4630) = Jac_FULL(339,335) JVS(4630) = 0 IF (DO_JVS(4631)) & ! JVS(4631) = Jac_FULL(339,336) JVS(4631) = 0 IF (DO_JVS(4632)) & ! JVS(4632) = Jac_FULL(339,337) JVS(4632) = B(573) IF (DO_JVS(4633)) & ! JVS(4633) = Jac_FULL(339,338) JVS(4633) = B(533) IF (DO_JVS(4634)) & ! JVS(4634) = Jac_FULL(339,339) JVS(4634) = -B(5)-B(12)-0.88*B(488)-B(539)-B(1499)-B(1512)-B(1516)-B(1532)-B(1540)-B(1552) IF (DO_JVS(4635)) & ! JVS(4635) = Jac_FULL(339,340) JVS(4635) = B(564)+B(566)+B(569)+B(572)+B(574)+2*B(606)+B(608)+B(610)+B(612)+B(616)+B(618)+B(624)+B(626)+B(628)+B(630)& &+B(632)+B(634)+B(636)+B(638)+B(640) IF (DO_JVS(4636)) & ! JVS(4636) = Jac_FULL(339,341) JVS(4636) = 0 IF (DO_JVS(4637)) & ! JVS(4637) = Jac_FULL(339,342) JVS(4637) = 0 IF (DO_JVS(4638)) & ! JVS(4638) = Jac_FULL(339,343) JVS(4638) = 0 IF (DO_JVS(4639)) & ! JVS(4639) = Jac_FULL(339,344) JVS(4639) = 0 IF (DO_JVS(4640)) & ! JVS(4640) = Jac_FULL(339,345) JVS(4640) = B(534)-B(540) IF (DO_JVS(4641)) & ! JVS(4641) = Jac_FULL(339,346) JVS(4641) = 0 IF (DO_JVS(4642)) & ! JVS(4642) = Jac_FULL(339,347) JVS(4642) = 0 IF (DO_JVS(4643)) & ! JVS(4643) = Jac_FULL(339,348) JVS(4643) = B(1548) IF (DO_JVS(4644)) & ! JVS(4644) = Jac_FULL(339,349) JVS(4644) = 0 IF (DO_JVS(4645)) & ! JVS(4645) = Jac_FULL(339,350) JVS(4645) = 0 IF (DO_JVS(4646)) & ! JVS(4646) = Jac_FULL(339,351) JVS(4646) = 0 IF (DO_JVS(4647)) & ! JVS(4647) = Jac_FULL(339,352) JVS(4647) = 0 IF (DO_JVS(4648)) & ! JVS(4648) = Jac_FULL(339,353) JVS(4648) = 0 IF (DO_JVS(4649)) & ! JVS(4649) = Jac_FULL(340,3) JVS(4649) = B(1735) IF (DO_JVS(4650)) & ! JVS(4650) = Jac_FULL(340,43) JVS(4650) = 3*B(553)+3*B(1710) IF (DO_JVS(4651)) & ! JVS(4651) = Jac_FULL(340,46) JVS(4651) = 2.37*B(493)+4*B(1711) IF (DO_JVS(4652)) & ! JVS(4652) = Jac_FULL(340,47) JVS(4652) = 1.8*B(505)+3*B(1712) IF (DO_JVS(4653)) & ! JVS(4653) = Jac_FULL(340,48) JVS(4653) = 0.86*B(507)+2*B(1713) IF (DO_JVS(4654)) & ! JVS(4654) = Jac_FULL(340,49) JVS(4654) = 1.9*B(519)+3*B(1714) IF (DO_JVS(4655)) & ! JVS(4655) = Jac_FULL(340,50) JVS(4655) = 0.95*B(521)+2*B(1715) IF (DO_JVS(4656)) & ! JVS(4656) = Jac_FULL(340,51) JVS(4656) = B(1716) IF (DO_JVS(4657)) & ! JVS(4657) = Jac_FULL(340,61) JVS(4657) = 0.31*B(509)+B(1722) IF (DO_JVS(4658)) & ! JVS(4658) = Jac_FULL(340,75) JVS(4658) = 3*B(551)+2*B(609) IF (DO_JVS(4659)) & ! JVS(4659) = Jac_FULL(340,76) JVS(4659) = B(1705) IF (DO_JVS(4660)) & ! JVS(4660) = Jac_FULL(340,79) JVS(4660) = 2*B(549)+B(607)+2*B(1700) IF (DO_JVS(4661)) & ! JVS(4661) = Jac_FULL(340,84) JVS(4661) = 0.79*B(517)+2*B(561)+2*B(1717) IF (DO_JVS(4662)) & ! JVS(4662) = Jac_FULL(340,85) JVS(4662) = 0.69*B(513)+2*B(557)+2*B(1718) IF (DO_JVS(4663)) & ! JVS(4663) = Jac_FULL(340,86) JVS(4663) = B(559)+B(1719) IF (DO_JVS(4664)) & ! JVS(4664) = Jac_FULL(340,87) JVS(4664) = 0.19*B(503)+B(555)+B(1720) IF (DO_JVS(4665)) & ! JVS(4665) = Jac_FULL(340,104) JVS(4665) = B(1740) IF (DO_JVS(4666)) & ! JVS(4666) = Jac_FULL(340,110) JVS(4666) = B(590)-B(593)+B(1724) IF (DO_JVS(4667)) & ! JVS(4667) = Jac_FULL(340,141) JVS(4667) = -B(629)-B(631) IF (DO_JVS(4668)) & ! JVS(4668) = Jac_FULL(340,142) JVS(4668) = -B(637) IF (DO_JVS(4669)) & ! JVS(4669) = Jac_FULL(340,156) JVS(4669) = -B(625) IF (DO_JVS(4670)) & ! JVS(4670) = Jac_FULL(340,157) JVS(4670) = B(1701) IF (DO_JVS(4671)) & ! JVS(4671) = Jac_FULL(340,164) JVS(4671) = -B(615) IF (DO_JVS(4672)) & ! JVS(4672) = Jac_FULL(340,181) JVS(4672) = 0.35*B(495)+B(547)-B(605)+B(1699) IF (DO_JVS(4673)) & ! JVS(4673) = Jac_FULL(340,183) JVS(4673) = -B(617) IF (DO_JVS(4674)) & ! JVS(4674) = Jac_FULL(340,218) JVS(4674) = 0 IF (DO_JVS(4675)) & ! JVS(4675) = Jac_FULL(340,228) JVS(4675) = -B(563) IF (DO_JVS(4676)) & ! JVS(4676) = Jac_FULL(340,245) JVS(4676) = 0.75*B(491)+B(527)+2*B(1702) IF (DO_JVS(4677)) & ! JVS(4677) = Jac_FULL(340,252) JVS(4677) = 0 IF (DO_JVS(4678)) & ! JVS(4678) = Jac_FULL(340,264) JVS(4678) = -B(571) IF (DO_JVS(4679)) & ! JVS(4679) = Jac_FULL(340,265) JVS(4679) = -B(611) IF (DO_JVS(4680)) & ! JVS(4680) = Jac_FULL(340,269) JVS(4680) = 0 IF (DO_JVS(4681)) & ! JVS(4681) = Jac_FULL(340,276) JVS(4681) = -B(635) IF (DO_JVS(4682)) & ! JVS(4682) = Jac_FULL(340,282) JVS(4682) = -B(623) IF (DO_JVS(4683)) & ! JVS(4683) = Jac_FULL(340,283) JVS(4683) = -B(627) IF (DO_JVS(4684)) & ! JVS(4684) = Jac_FULL(340,284) JVS(4684) = 0.249*B(667) IF (DO_JVS(4685)) & ! JVS(4685) = Jac_FULL(340,289) JVS(4685) = 0 IF (DO_JVS(4686)) & ! JVS(4686) = Jac_FULL(340,290) JVS(4686) = -B(639) IF (DO_JVS(4687)) & ! JVS(4687) = Jac_FULL(340,291) JVS(4687) = 0 IF (DO_JVS(4688)) & ! JVS(4688) = Jac_FULL(340,295) JVS(4688) = -B(633) IF (DO_JVS(4689)) & ! JVS(4689) = Jac_FULL(340,296) JVS(4689) = -B(619) IF (DO_JVS(4690)) & ! JVS(4690) = Jac_FULL(340,297) JVS(4690) = B(1706) IF (DO_JVS(4691)) & ! JVS(4691) = Jac_FULL(340,300) JVS(4691) = 0 IF (DO_JVS(4692)) & ! JVS(4692) = Jac_FULL(340,301) JVS(4692) = 0 IF (DO_JVS(4693)) & ! JVS(4693) = Jac_FULL(340,302) JVS(4693) = 0 IF (DO_JVS(4694)) & ! JVS(4694) = Jac_FULL(340,303) JVS(4694) = 0 IF (DO_JVS(4695)) & ! JVS(4695) = Jac_FULL(340,304) JVS(4695) = 0 IF (DO_JVS(4696)) & ! JVS(4696) = Jac_FULL(340,305) JVS(4696) = 0 IF (DO_JVS(4697)) & ! JVS(4697) = Jac_FULL(340,306) JVS(4697) = 0 IF (DO_JVS(4698)) & ! JVS(4698) = Jac_FULL(340,307) JVS(4698) = 0 IF (DO_JVS(4699)) & ! JVS(4699) = Jac_FULL(340,308) JVS(4699) = 0 IF (DO_JVS(4700)) & ! JVS(4700) = Jac_FULL(340,309) JVS(4700) = 0 IF (DO_JVS(4701)) & ! JVS(4701) = Jac_FULL(340,310) JVS(4701) = 0 IF (DO_JVS(4702)) & ! JVS(4702) = Jac_FULL(340,311) JVS(4702) = 0 IF (DO_JVS(4703)) & ! JVS(4703) = Jac_FULL(340,312) JVS(4703) = 0 IF (DO_JVS(4704)) & ! JVS(4704) = Jac_FULL(340,313) JVS(4704) = 0 IF (DO_JVS(4705)) & ! JVS(4705) = Jac_FULL(340,314) JVS(4705) = 0 IF (DO_JVS(4706)) & ! JVS(4706) = Jac_FULL(340,315) JVS(4706) = -B(621) IF (DO_JVS(4707)) & ! JVS(4707) = Jac_FULL(340,316) JVS(4707) = 0 IF (DO_JVS(4708)) & ! JVS(4708) = Jac_FULL(340,317) JVS(4708) = -B(603)+B(1707) IF (DO_JVS(4709)) & ! JVS(4709) = Jac_FULL(340,318) JVS(4709) = 0 IF (DO_JVS(4710)) & ! JVS(4710) = Jac_FULL(340,319) JVS(4710) = 0 IF (DO_JVS(4711)) & ! JVS(4711) = Jac_FULL(340,320) JVS(4711) = 0 IF (DO_JVS(4712)) & ! JVS(4712) = Jac_FULL(340,321) JVS(4712) = 0 IF (DO_JVS(4713)) & ! JVS(4713) = Jac_FULL(340,322) JVS(4713) = 0 IF (DO_JVS(4714)) & ! JVS(4714) = Jac_FULL(340,323) JVS(4714) = 0 IF (DO_JVS(4715)) & ! JVS(4715) = Jac_FULL(340,324) JVS(4715) = 0 IF (DO_JVS(4716)) & ! JVS(4716) = Jac_FULL(340,325) JVS(4716) = -B(565) IF (DO_JVS(4717)) & ! JVS(4717) = Jac_FULL(340,326) JVS(4717) = 0 IF (DO_JVS(4718)) & ! JVS(4718) = Jac_FULL(340,328) JVS(4718) = -B(613) IF (DO_JVS(4719)) & ! JVS(4719) = Jac_FULL(340,329) JVS(4719) = 0 IF (DO_JVS(4720)) & ! JVS(4720) = Jac_FULL(340,330) JVS(4720) = 0 IF (DO_JVS(4721)) & ! JVS(4721) = Jac_FULL(340,331) JVS(4721) = 0 IF (DO_JVS(4722)) & ! JVS(4722) = Jac_FULL(340,332) JVS(4722) = 0 IF (DO_JVS(4723)) & ! JVS(4723) = Jac_FULL(340,333) JVS(4723) = B(1709) IF (DO_JVS(4724)) & ! JVS(4724) = Jac_FULL(340,334) JVS(4724) = 0.66*B(487)+0.75*B(492)+2.37*B(494)+0.35*B(496)+0.19*B(504)+1.8*B(506)+0.86*B(508)+0.31*B(510)+0.69*B(514)& &+0.79*B(518)+1.9*B(520)+0.95*B(522) IF (DO_JVS(4725)) & ! JVS(4725) = Jac_FULL(340,335) JVS(4725) = 0 IF (DO_JVS(4726)) & ! JVS(4726) = Jac_FULL(340,336) JVS(4726) = 0 IF (DO_JVS(4727)) & ! JVS(4727) = Jac_FULL(340,337) JVS(4727) = -B(573)-B(575) IF (DO_JVS(4728)) & ! JVS(4728) = Jac_FULL(340,338) JVS(4728) = B(531)+B(577)+B(581)+B(586)+B(587)+0.249*B(668)+B(1703) IF (DO_JVS(4729)) & ! JVS(4729) = Jac_FULL(340,339) JVS(4729) = 0.66*B(488)+B(539) IF (DO_JVS(4730)) & ! JVS(4730) = Jac_FULL(340,340) JVS(4730) = -B(564)-B(566)-B(567)-B(569)-B(572)-B(574)-B(576)-B(588)-B(594)-B(604)-B(606)+B(608)+2*B(610)-B(612)& &-B(614)-B(616)-B(618)-B(620)-B(622)-B(624)-B(626)-B(628)-B(630)-B(632)-B(634)-B(636)-B(638)-B(640) IF (DO_JVS(4731)) & ! JVS(4731) = Jac_FULL(340,341) JVS(4731) = -B(568) IF (DO_JVS(4732)) & ! JVS(4732) = Jac_FULL(340,342) JVS(4732) = 0 IF (DO_JVS(4733)) & ! JVS(4733) = Jac_FULL(340,343) JVS(4733) = B(578) IF (DO_JVS(4734)) & ! JVS(4734) = Jac_FULL(340,344) JVS(4734) = 0 IF (DO_JVS(4735)) & ! JVS(4735) = Jac_FULL(340,345) JVS(4735) = B(528)+B(532)+B(540)+B(548)+2*B(550)+3*B(552)+3*B(554)+B(556)+2*B(558)+B(560)+2*B(562) IF (DO_JVS(4736)) & ! JVS(4736) = Jac_FULL(340,346) JVS(4736) = B(582) IF (DO_JVS(4737)) & ! JVS(4737) = Jac_FULL(340,347) JVS(4737) = 0 IF (DO_JVS(4738)) & ! JVS(4738) = Jac_FULL(340,348) JVS(4738) = 0 IF (DO_JVS(4739)) & ! JVS(4739) = Jac_FULL(340,349) JVS(4739) = 0 IF (DO_JVS(4740)) & ! JVS(4740) = Jac_FULL(340,350) JVS(4740) = 0 IF (DO_JVS(4741)) & ! JVS(4741) = Jac_FULL(340,351) JVS(4741) = 0 IF (DO_JVS(4742)) & ! JVS(4742) = Jac_FULL(340,352) JVS(4742) = 0 IF (DO_JVS(4743)) & ! JVS(4743) = Jac_FULL(340,353) JVS(4743) = 0 IF (DO_JVS(4744)) & ! JVS(4744) = Jac_FULL(341,109) JVS(4744) = -B(1358) IF (DO_JVS(4745)) & ! JVS(4745) = Jac_FULL(341,140) JVS(4745) = -B(146) IF (DO_JVS(4746)) & ! JVS(4746) = Jac_FULL(341,166) JVS(4746) = -B(8) IF (DO_JVS(4747)) & ! JVS(4747) = Jac_FULL(341,167) JVS(4747) = -B(725) IF (DO_JVS(4748)) & ! JVS(4748) = Jac_FULL(341,179) JVS(4748) = -B(1) IF (DO_JVS(4749)) & ! JVS(4749) = Jac_FULL(341,191) JVS(4749) = -B(733) IF (DO_JVS(4750)) & ! JVS(4750) = Jac_FULL(341,193) JVS(4750) = -B(867) IF (DO_JVS(4751)) & ! JVS(4751) = Jac_FULL(341,201) JVS(4751) = -B(1472) IF (DO_JVS(4752)) & ! JVS(4752) = Jac_FULL(341,202) JVS(4752) = -B(1424) IF (DO_JVS(4753)) & ! JVS(4753) = Jac_FULL(341,203) JVS(4753) = -B(1453) IF (DO_JVS(4754)) & ! JVS(4754) = Jac_FULL(341,211) JVS(4754) = -B(820) IF (DO_JVS(4755)) & ! JVS(4755) = Jac_FULL(341,213) JVS(4755) = 0.15*B(302) IF (DO_JVS(4756)) & ! JVS(4756) = Jac_FULL(341,217) JVS(4756) = -B(473) IF (DO_JVS(4757)) & ! JVS(4757) = Jac_FULL(341,219) JVS(4757) = -B(729) IF (DO_JVS(4758)) & ! JVS(4758) = Jac_FULL(341,220) JVS(4758) = -B(1342) IF (DO_JVS(4759)) & ! JVS(4759) = Jac_FULL(341,221) JVS(4759) = -B(1467) IF (DO_JVS(4760)) & ! JVS(4760) = Jac_FULL(341,228) JVS(4760) = 0 IF (DO_JVS(4761)) & ! JVS(4761) = Jac_FULL(341,229) JVS(4761) = -B(861) IF (DO_JVS(4762)) & ! JVS(4762) = Jac_FULL(341,233) JVS(4762) = 0 IF (DO_JVS(4763)) & ! JVS(4763) = Jac_FULL(341,235) JVS(4763) = 0.15*B(1432) IF (DO_JVS(4764)) & ! JVS(4764) = Jac_FULL(341,236) JVS(4764) = 0 IF (DO_JVS(4765)) & ! JVS(4765) = Jac_FULL(341,237) JVS(4765) = -B(814) IF (DO_JVS(4766)) & ! JVS(4766) = Jac_FULL(341,240) JVS(4766) = 0.15*B(1407) IF (DO_JVS(4767)) & ! JVS(4767) = Jac_FULL(341,242) JVS(4767) = -B(929) IF (DO_JVS(4768)) & ! JVS(4768) = Jac_FULL(341,246) JVS(4768) = 0.15*B(245) IF (DO_JVS(4769)) & ! JVS(4769) = Jac_FULL(341,255) JVS(4769) = -B(808) IF (DO_JVS(4770)) & ! JVS(4770) = Jac_FULL(341,257) JVS(4770) = 0.15*B(749) IF (DO_JVS(4771)) & ! JVS(4771) = Jac_FULL(341,259) JVS(4771) = 0.13*B(1278) IF (DO_JVS(4772)) & ! JVS(4772) = Jac_FULL(341,262) JVS(4772) = -B(873) IF (DO_JVS(4773)) & ! JVS(4773) = Jac_FULL(341,269) JVS(4773) = 0 IF (DO_JVS(4774)) & ! JVS(4774) = Jac_FULL(341,274) JVS(4774) = 0.15*B(838) IF (DO_JVS(4775)) & ! JVS(4775) = Jac_FULL(341,275) JVS(4775) = 0 IF (DO_JVS(4776)) & ! JVS(4776) = Jac_FULL(341,276) JVS(4776) = -B(947) IF (DO_JVS(4777)) & ! JVS(4777) = Jac_FULL(341,277) JVS(4777) = 0 IF (DO_JVS(4778)) & ! JVS(4778) = Jac_FULL(341,280) JVS(4778) = 0 IF (DO_JVS(4779)) & ! JVS(4779) = Jac_FULL(341,281) JVS(4779) = 0 IF (DO_JVS(4780)) & ! JVS(4780) = Jac_FULL(341,289) JVS(4780) = 0 IF (DO_JVS(4781)) & ! JVS(4781) = Jac_FULL(341,290) JVS(4781) = -B(287) IF (DO_JVS(4782)) & ! JVS(4782) = Jac_FULL(341,291) JVS(4782) = 0 IF (DO_JVS(4783)) & ! JVS(4783) = Jac_FULL(341,306) JVS(4783) = 0 IF (DO_JVS(4784)) & ! JVS(4784) = Jac_FULL(341,308) JVS(4784) = 0.13*B(1291) IF (DO_JVS(4785)) & ! JVS(4785) = Jac_FULL(341,309) JVS(4785) = -B(1232) IF (DO_JVS(4786)) & ! JVS(4786) = Jac_FULL(341,310) JVS(4786) = 0 IF (DO_JVS(4787)) & ! JVS(4787) = Jac_FULL(341,311) JVS(4787) = 0 IF (DO_JVS(4788)) & ! JVS(4788) = Jac_FULL(341,312) JVS(4788) = -B(701) IF (DO_JVS(4789)) & ! JVS(4789) = Jac_FULL(341,314) JVS(4789) = -B(1226) IF (DO_JVS(4790)) & ! JVS(4790) = Jac_FULL(341,320) JVS(4790) = 0 IF (DO_JVS(4791)) & ! JVS(4791) = Jac_FULL(341,322) JVS(4791) = 0.15*B(283) IF (DO_JVS(4792)) & ! JVS(4792) = Jac_FULL(341,323) JVS(4792) = 0 IF (DO_JVS(4793)) & ! JVS(4793) = Jac_FULL(341,324) JVS(4793) = 0.13*B(1324) IF (DO_JVS(4794)) & ! JVS(4794) = Jac_FULL(341,325) JVS(4794) = 0 IF (DO_JVS(4795)) & ! JVS(4795) = Jac_FULL(341,326) JVS(4795) = 0 IF (DO_JVS(4796)) & ! JVS(4796) = Jac_FULL(341,327) JVS(4796) = 0 IF (DO_JVS(4797)) & ! JVS(4797) = Jac_FULL(341,328) JVS(4797) = -B(34) IF (DO_JVS(4798)) & ! JVS(4798) = Jac_FULL(341,329) JVS(4798) = 0 IF (DO_JVS(4799)) & ! JVS(4799) = Jac_FULL(341,331) JVS(4799) = -B(669) IF (DO_JVS(4800)) & ! JVS(4800) = Jac_FULL(341,332) JVS(4800) = 0 IF (DO_JVS(4801)) & ! JVS(4801) = Jac_FULL(341,334) JVS(4801) = -B(455) IF (DO_JVS(4802)) & ! JVS(4802) = Jac_FULL(341,335) JVS(4802) = -B(32) IF (DO_JVS(4803)) & ! JVS(4803) = Jac_FULL(341,336) JVS(4803) = 0 IF (DO_JVS(4804)) & ! JVS(4804) = Jac_FULL(341,337) JVS(4804) = -B(30)+0.15*B(246)+0.15*B(284)+0.15*B(303)+0.15*B(750)+0.15*B(839)+0.13*B(1279)+0.13*B(1292)+0.13*B(1325)& &+0.15*B(1408)+0.15*B(1433) IF (DO_JVS(4805)) & ! JVS(4805) = Jac_FULL(341,338) JVS(4805) = 0 IF (DO_JVS(4806)) & ! JVS(4806) = Jac_FULL(341,339) JVS(4806) = 0 IF (DO_JVS(4807)) & ! JVS(4807) = Jac_FULL(341,340) JVS(4807) = -B(567) IF (DO_JVS(4808)) & ! JVS(4808) = Jac_FULL(341,341) JVS(4808) = -B(2)-B(9)-B(17)-B(26)-B(28)-B(31)-B(33)-B(35)-B(147)-B(288)-B(389)-B(447)-B(456)-B(474)-B(568)-B(670)& &-B(702)-B(726)-B(730)-B(734)-B(809)-B(815)-B(821)-B(862)-B(868)-B(874)-B(930)-B(948)-B(1227)-B(1233)& &-B(1343)-B(1359)-B(1425)-B(1454)-B(1468)-B(1473)-B(1563)-B(1565)-B(1567)-B(1641)-B(1642) IF (DO_JVS(4809)) & ! JVS(4809) = Jac_FULL(341,342) JVS(4809) = -B(390) IF (DO_JVS(4810)) & ! JVS(4810) = Jac_FULL(341,343) JVS(4810) = B(445)-B(448) IF (DO_JVS(4811)) & ! JVS(4811) = Jac_FULL(341,344) JVS(4811) = 0 IF (DO_JVS(4812)) & ! JVS(4812) = Jac_FULL(341,345) JVS(4812) = -B(29) IF (DO_JVS(4813)) & ! JVS(4813) = Jac_FULL(341,346) JVS(4813) = -B(27) IF (DO_JVS(4814)) & ! JVS(4814) = Jac_FULL(341,347) JVS(4814) = 0 IF (DO_JVS(4815)) & ! JVS(4815) = Jac_FULL(341,348) JVS(4815) = -B(3)-B(10)-B(18) IF (DO_JVS(4816)) & ! JVS(4816) = Jac_FULL(341,349) JVS(4816) = -B(1566) IF (DO_JVS(4817)) & ! JVS(4817) = Jac_FULL(341,350) JVS(4817) = -B(1568) IF (DO_JVS(4818)) & ! JVS(4818) = Jac_FULL(341,351) JVS(4818) = 0 IF (DO_JVS(4819)) & ! JVS(4819) = Jac_FULL(341,352) JVS(4819) = -B(1564) IF (DO_JVS(4820)) & ! JVS(4820) = Jac_FULL(341,353) JVS(4820) = 0 IF (DO_JVS(4821)) & ! JVS(4821) = Jac_FULL(342,2) JVS(4821) = B(1736) IF (DO_JVS(4822)) & ! JVS(4822) = Jac_FULL(342,53) JVS(4822) = B(1721) IF (DO_JVS(4823)) & ! JVS(4823) = Jac_FULL(342,54) JVS(4823) = 0.75*B(525)+2*B(1723) IF (DO_JVS(4824)) & ! JVS(4824) = Jac_FULL(342,59) JVS(4824) = B(1695) IF (DO_JVS(4825)) & ! JVS(4825) = Jac_FULL(342,61) JVS(4825) = 0.34*B(509)+B(1722) IF (DO_JVS(4826)) & ! JVS(4826) = Jac_FULL(342,77) JVS(4826) = B(1739) IF (DO_JVS(4827)) & ! JVS(4827) = Jac_FULL(342,78) JVS(4827) = 2*B(429)+0.95*B(499)+2*B(1697) IF (DO_JVS(4828)) & ! JVS(4828) = Jac_FULL(342,81) JVS(4828) = 3*B(427)+1.4*B(501)+3*B(1696) IF (DO_JVS(4829)) & ! JVS(4829) = Jac_FULL(342,105) JVS(4829) = B(431)+0.56*B(497)+B(1698) IF (DO_JVS(4830)) & ! JVS(4830) = Jac_FULL(342,141) JVS(4830) = -B(421) IF (DO_JVS(4831)) & ! JVS(4831) = Jac_FULL(342,148) JVS(4831) = B(403)+2*B(1690) IF (DO_JVS(4832)) & ! JVS(4832) = Jac_FULL(342,157) JVS(4832) = B(1701) IF (DO_JVS(4833)) & ! JVS(4833) = Jac_FULL(342,183) JVS(4833) = -B(419) IF (DO_JVS(4834)) & ! JVS(4834) = Jac_FULL(342,218) JVS(4834) = -B(401)+B(1693) IF (DO_JVS(4835)) & ! JVS(4835) = Jac_FULL(342,252) JVS(4835) = 0 IF (DO_JVS(4836)) & ! JVS(4836) = Jac_FULL(342,284) JVS(4836) = B(659) IF (DO_JVS(4837)) & ! JVS(4837) = Jac_FULL(342,290) JVS(4837) = -B(641) IF (DO_JVS(4838)) & ! JVS(4838) = Jac_FULL(342,295) JVS(4838) = -B(417) IF (DO_JVS(4839)) & ! JVS(4839) = Jac_FULL(342,297) JVS(4839) = 0 IF (DO_JVS(4840)) & ! JVS(4840) = Jac_FULL(342,300) JVS(4840) = 0 IF (DO_JVS(4841)) & ! JVS(4841) = Jac_FULL(342,314) JVS(4841) = 0 IF (DO_JVS(4842)) & ! JVS(4842) = Jac_FULL(342,316) JVS(4842) = B(1692) IF (DO_JVS(4843)) & ! JVS(4843) = Jac_FULL(342,317) JVS(4843) = 0 IF (DO_JVS(4844)) & ! JVS(4844) = Jac_FULL(342,318) JVS(4844) = 0 IF (DO_JVS(4845)) & ! JVS(4845) = Jac_FULL(342,319) JVS(4845) = 0 IF (DO_JVS(4846)) & ! JVS(4846) = Jac_FULL(342,320) JVS(4846) = 0 IF (DO_JVS(4847)) & ! JVS(4847) = Jac_FULL(342,323) JVS(4847) = 0 IF (DO_JVS(4848)) & ! JVS(4848) = Jac_FULL(342,324) JVS(4848) = 0 IF (DO_JVS(4849)) & ! JVS(4849) = Jac_FULL(342,325) JVS(4849) = -B(413) IF (DO_JVS(4850)) & ! JVS(4850) = Jac_FULL(342,326) JVS(4850) = -B(415) IF (DO_JVS(4851)) & ! JVS(4851) = Jac_FULL(342,328) JVS(4851) = 0 IF (DO_JVS(4852)) & ! JVS(4852) = Jac_FULL(342,329) JVS(4852) = 0 IF (DO_JVS(4853)) & ! JVS(4853) = Jac_FULL(342,330) JVS(4853) = 0 IF (DO_JVS(4854)) & ! JVS(4854) = Jac_FULL(342,331) JVS(4854) = B(657) IF (DO_JVS(4855)) & ! JVS(4855) = Jac_FULL(342,332) JVS(4855) = 0 IF (DO_JVS(4856)) & ! JVS(4856) = Jac_FULL(342,333) JVS(4856) = 0 IF (DO_JVS(4857)) & ! JVS(4857) = Jac_FULL(342,334) JVS(4857) = 0.6*B(489)+0.56*B(498)+0.95*B(500)+1.4*B(502)+0.34*B(510)+0.75*B(526) IF (DO_JVS(4858)) & ! JVS(4858) = Jac_FULL(342,335) JVS(4858) = -B(423) IF (DO_JVS(4859)) & ! JVS(4859) = Jac_FULL(342,336) JVS(4859) = 0 IF (DO_JVS(4860)) & ! JVS(4860) = Jac_FULL(342,337) JVS(4860) = -B(393) IF (DO_JVS(4861)) & ! JVS(4861) = Jac_FULL(342,338) JVS(4861) = B(595)+B(597) IF (DO_JVS(4862)) & ! JVS(4862) = Jac_FULL(342,339) JVS(4862) = 0 IF (DO_JVS(4863)) & ! JVS(4863) = Jac_FULL(342,340) JVS(4863) = 0 IF (DO_JVS(4864)) & ! JVS(4864) = Jac_FULL(342,341) JVS(4864) = -B(389) IF (DO_JVS(4865)) & ! JVS(4865) = Jac_FULL(342,342) JVS(4865) = -B(390)-B(394)-B(402)-B(411)-B(414)-B(416)-B(418)-B(420)-B(422)-B(424)-B(642) IF (DO_JVS(4866)) & ! JVS(4866) = Jac_FULL(342,343) JVS(4866) = B(407)+B(483) IF (DO_JVS(4867)) & ! JVS(4867) = Jac_FULL(342,344) JVS(4867) = 0 IF (DO_JVS(4868)) & ! JVS(4868) = Jac_FULL(342,345) JVS(4868) = B(395)+B(404)+B(409)+3*B(428)+2*B(430)+B(432) IF (DO_JVS(4869)) & ! JVS(4869) = Jac_FULL(342,346) JVS(4869) = B(399) IF (DO_JVS(4870)) & ! JVS(4870) = Jac_FULL(342,347) JVS(4870) = 2*B(397)+B(400)+B(410)+B(484)+B(596)+B(598)+B(658)+B(660)+B(1691) IF (DO_JVS(4871)) & ! JVS(4871) = Jac_FULL(342,348) JVS(4871) = 0 IF (DO_JVS(4872)) & ! JVS(4872) = Jac_FULL(342,349) JVS(4872) = 0 IF (DO_JVS(4873)) & ! JVS(4873) = Jac_FULL(342,350) JVS(4873) = 0 IF (DO_JVS(4874)) & ! JVS(4874) = Jac_FULL(342,351) JVS(4874) = -B(412) IF (DO_JVS(4875)) & ! JVS(4875) = Jac_FULL(342,352) JVS(4875) = B(396)+B(408)+0.6*B(490) IF (DO_JVS(4876)) & ! JVS(4876) = Jac_FULL(342,353) JVS(4876) = 0 IF (DO_JVS(4877)) & ! JVS(4877) = Jac_FULL(343,46) JVS(4877) = 0.21*B(493) IF (DO_JVS(4878)) & ! JVS(4878) = Jac_FULL(343,47) JVS(4878) = 0.1*B(505) IF (DO_JVS(4879)) & ! JVS(4879) = Jac_FULL(343,48) JVS(4879) = 0.14*B(507) IF (DO_JVS(4880)) & ! JVS(4880) = Jac_FULL(343,49) JVS(4880) = 0.1*B(519) IF (DO_JVS(4881)) & ! JVS(4881) = Jac_FULL(343,50) JVS(4881) = 0.1*B(521) IF (DO_JVS(4882)) & ! JVS(4882) = Jac_FULL(343,51) JVS(4882) = 0.14*B(523) IF (DO_JVS(4883)) & ! JVS(4883) = Jac_FULL(343,53) JVS(4883) = 0.55*B(511) IF (DO_JVS(4884)) & ! JVS(4884) = Jac_FULL(343,54) JVS(4884) = 0.25*B(525) IF (DO_JVS(4885)) & ! JVS(4885) = Jac_FULL(343,61) JVS(4885) = 0.35*B(509) IF (DO_JVS(4886)) & ! JVS(4886) = Jac_FULL(343,67) JVS(4886) = B(477)+B(479)+B(481) IF (DO_JVS(4887)) & ! JVS(4887) = Jac_FULL(343,68) JVS(4887) = -B(457) IF (DO_JVS(4888)) & ! JVS(4888) = Jac_FULL(343,78) JVS(4888) = 0.05*B(499) IF (DO_JVS(4889)) & ! JVS(4889) = Jac_FULL(343,81) JVS(4889) = 0.3*B(501) IF (DO_JVS(4890)) & ! JVS(4890) = Jac_FULL(343,84) JVS(4890) = 0.21*B(517) IF (DO_JVS(4891)) & ! JVS(4891) = Jac_FULL(343,85) JVS(4891) = 0.31*B(513) IF (DO_JVS(4892)) & ! JVS(4892) = Jac_FULL(343,86) JVS(4892) = 0.35*B(515) IF (DO_JVS(4893)) & ! JVS(4893) = Jac_FULL(343,87) JVS(4893) = 0.25*B(503) IF (DO_JVS(4894)) & ! JVS(4894) = Jac_FULL(343,120) JVS(4894) = B(1704) IF (DO_JVS(4895)) & ! JVS(4895) = Jac_FULL(343,181) JVS(4895) = 0.1*B(495) IF (DO_JVS(4896)) & ! JVS(4896) = Jac_FULL(343,217) JVS(4896) = 0.02*B(475) IF (DO_JVS(4897)) & ! JVS(4897) = Jac_FULL(343,228) JVS(4897) = 0 IF (DO_JVS(4898)) & ! JVS(4898) = Jac_FULL(343,245) JVS(4898) = 0.25*B(491) IF (DO_JVS(4899)) & ! JVS(4899) = Jac_FULL(343,264) JVS(4899) = -B(469) IF (DO_JVS(4900)) & ! JVS(4900) = Jac_FULL(343,276) JVS(4900) = 0 IF (DO_JVS(4901)) & ! JVS(4901) = Jac_FULL(343,284) JVS(4901) = B(1727) IF (DO_JVS(4902)) & ! JVS(4902) = Jac_FULL(343,290) JVS(4902) = 0 IF (DO_JVS(4903)) & ! JVS(4903) = Jac_FULL(343,297) JVS(4903) = 0 IF (DO_JVS(4904)) & ! JVS(4904) = Jac_FULL(343,312) JVS(4904) = 0 IF (DO_JVS(4905)) & ! JVS(4905) = Jac_FULL(343,314) JVS(4905) = 0 IF (DO_JVS(4906)) & ! JVS(4906) = Jac_FULL(343,316) JVS(4906) = -B(405) IF (DO_JVS(4907)) & ! JVS(4907) = Jac_FULL(343,317) JVS(4907) = -B(601) IF (DO_JVS(4908)) & ! JVS(4908) = Jac_FULL(343,324) JVS(4908) = 0 IF (DO_JVS(4909)) & ! JVS(4909) = Jac_FULL(343,325) JVS(4909) = -B(485) IF (DO_JVS(4910)) & ! JVS(4910) = Jac_FULL(343,326) JVS(4910) = 0 IF (DO_JVS(4911)) & ! JVS(4911) = Jac_FULL(343,328) JVS(4911) = 0 IF (DO_JVS(4912)) & ! JVS(4912) = Jac_FULL(343,329) JVS(4912) = 0 IF (DO_JVS(4913)) & ! JVS(4913) = Jac_FULL(343,330) JVS(4913) = 0 IF (DO_JVS(4914)) & ! JVS(4914) = Jac_FULL(343,331) JVS(4914) = 0 IF (DO_JVS(4915)) & ! JVS(4915) = Jac_FULL(343,332) JVS(4915) = 0 IF (DO_JVS(4916)) & ! JVS(4916) = Jac_FULL(343,333) JVS(4916) = 0 IF (DO_JVS(4917)) & ! JVS(4917) = Jac_FULL(343,334) JVS(4917) = B(435)+B(437)+B(455)+0.12*B(487)+0.2*B(489)+0.25*B(492)+0.21*B(494)+0.1*B(496)+0.05*B(500)+0.3*B(502)+0.25& &*B(504)+0.1*B(506)+0.14*B(508)+0.35*B(510)+0.55*B(512)+0.31*B(514)+0.35*B(516)+0.21*B(518)+0.1*B(520)+0.1& &*B(522)+0.14*B(524)+0.25*B(526) IF (DO_JVS(4918)) & ! JVS(4918) = Jac_FULL(343,335) JVS(4918) = -B(461)-B(467)+B(482)+B(1644) IF (DO_JVS(4919)) & ! JVS(4919) = Jac_FULL(343,336) JVS(4919) = 0 IF (DO_JVS(4920)) & ! JVS(4920) = Jac_FULL(343,337) JVS(4920) = -B(453)+0.02*B(476) IF (DO_JVS(4921)) & ! JVS(4921) = Jac_FULL(343,338) JVS(4921) = -B(577)+B(1703) IF (DO_JVS(4922)) & ! JVS(4922) = Jac_FULL(343,339) JVS(4922) = 0.12*B(488) IF (DO_JVS(4923)) & ! JVS(4923) = Jac_FULL(343,340) JVS(4923) = 0 IF (DO_JVS(4924)) & ! JVS(4924) = Jac_FULL(343,341) JVS(4924) = -B(447)+B(456)+B(1641) IF (DO_JVS(4925)) & ! JVS(4925) = Jac_FULL(343,342) JVS(4925) = 0 IF (DO_JVS(4926)) & ! JVS(4926) = Jac_FULL(343,343) JVS(4926) = -B(406)-B(407)-B(445)-B(448)-B(451)-B(454)-B(458)-B(462)-B(463)-B(465)-B(468)-B(470)-B(483)-B(486)-B(578)& &-B(602) IF (DO_JVS(4927)) & ! JVS(4927) = Jac_FULL(343,344) JVS(4927) = 0 IF (DO_JVS(4928)) & ! JVS(4928) = Jac_FULL(343,345) JVS(4928) = B(36)-B(452) IF (DO_JVS(4929)) & ! JVS(4929) = Jac_FULL(343,346) JVS(4929) = -B(466)+B(480)+B(1747) IF (DO_JVS(4930)) & ! JVS(4930) = Jac_FULL(343,347) JVS(4930) = -B(484)+B(1691) IF (DO_JVS(4931)) & ! JVS(4931) = Jac_FULL(343,348) JVS(4931) = 0 IF (DO_JVS(4932)) & ! JVS(4932) = Jac_FULL(343,349) JVS(4932) = 0 IF (DO_JVS(4933)) & ! JVS(4933) = Jac_FULL(343,350) JVS(4933) = 0 IF (DO_JVS(4934)) & ! JVS(4934) = Jac_FULL(343,351) JVS(4934) = -B(464)+B(1653) IF (DO_JVS(4935)) & ! JVS(4935) = Jac_FULL(343,352) JVS(4935) = -B(408)+0.2*B(490) IF (DO_JVS(4936)) & ! JVS(4936) = Jac_FULL(343,353) JVS(4936) = 0 IF (DO_JVS(4937)) & ! JVS(4937) = Jac_FULL(344,166) JVS(4937) = B(11) IF (DO_JVS(4938)) & ! JVS(4938) = Jac_FULL(344,214) JVS(4938) = -B(1503) IF (DO_JVS(4939)) & ! JVS(4939) = Jac_FULL(344,252) JVS(4939) = -B(1597) IF (DO_JVS(4940)) & ! JVS(4940) = Jac_FULL(344,297) JVS(4940) = -B(1529) IF (DO_JVS(4941)) & ! JVS(4941) = Jac_FULL(344,316) JVS(4941) = -B(1555) IF (DO_JVS(4942)) & ! JVS(4942) = Jac_FULL(344,317) JVS(4942) = -B(1525) IF (DO_JVS(4943)) & ! JVS(4943) = Jac_FULL(344,327) JVS(4943) = 0 IF (DO_JVS(4944)) & ! JVS(4944) = Jac_FULL(344,328) JVS(4944) = 0 IF (DO_JVS(4945)) & ! JVS(4945) = Jac_FULL(344,329) JVS(4945) = 0 IF (DO_JVS(4946)) & ! JVS(4946) = Jac_FULL(344,330) JVS(4946) = -B(1613) IF (DO_JVS(4947)) & ! JVS(4947) = Jac_FULL(344,331) JVS(4947) = 0 IF (DO_JVS(4948)) & ! JVS(4948) = Jac_FULL(344,332) JVS(4948) = -B(1605) IF (DO_JVS(4949)) & ! JVS(4949) = Jac_FULL(344,333) JVS(4949) = -B(1545) IF (DO_JVS(4950)) & ! JVS(4950) = Jac_FULL(344,334) JVS(4950) = 0 IF (DO_JVS(4951)) & ! JVS(4951) = Jac_FULL(344,335) JVS(4951) = 0 IF (DO_JVS(4952)) & ! JVS(4952) = Jac_FULL(344,336) JVS(4952) = 0 IF (DO_JVS(4953)) & ! JVS(4953) = Jac_FULL(344,337) JVS(4953) = 0 IF (DO_JVS(4954)) & ! JVS(4954) = Jac_FULL(344,338) JVS(4954) = 0 IF (DO_JVS(4955)) & ! JVS(4955) = Jac_FULL(344,339) JVS(4955) = B(12) IF (DO_JVS(4956)) & ! JVS(4956) = Jac_FULL(344,340) JVS(4956) = 0 IF (DO_JVS(4957)) & ! JVS(4957) = Jac_FULL(344,341) JVS(4957) = 0 IF (DO_JVS(4958)) & ! JVS(4958) = Jac_FULL(344,342) JVS(4958) = 0 IF (DO_JVS(4959)) & ! JVS(4959) = Jac_FULL(344,343) JVS(4959) = 0 IF (DO_JVS(4960)) & ! JVS(4960) = Jac_FULL(344,344) JVS(4960) = -B(1504)-B(1507)-B(1526)-B(1530)-B(1546)-B(1556)-B(1598)-B(1606)-B(1614) IF (DO_JVS(4961)) & ! JVS(4961) = Jac_FULL(344,345) JVS(4961) = -B(1508) IF (DO_JVS(4962)) & ! JVS(4962) = Jac_FULL(344,346) JVS(4962) = 0 IF (DO_JVS(4963)) & ! JVS(4963) = Jac_FULL(344,347) JVS(4963) = 0 IF (DO_JVS(4964)) & ! JVS(4964) = Jac_FULL(344,348) JVS(4964) = 0 IF (DO_JVS(4965)) & ! JVS(4965) = Jac_FULL(344,349) JVS(4965) = 0 IF (DO_JVS(4966)) & ! JVS(4966) = Jac_FULL(344,350) JVS(4966) = 0 IF (DO_JVS(4967)) & ! JVS(4967) = Jac_FULL(344,351) JVS(4967) = 0 IF (DO_JVS(4968)) & ! JVS(4968) = Jac_FULL(344,352) JVS(4968) = 0 IF (DO_JVS(4969)) & ! JVS(4969) = Jac_FULL(344,353) JVS(4969) = 0 IF (DO_JVS(4970)) & ! JVS(4970) = Jac_FULL(345,41) JVS(4970) = -B(1489) IF (DO_JVS(4971)) & ! JVS(4971) = Jac_FULL(345,43) JVS(4971) = -B(553) IF (DO_JVS(4972)) & ! JVS(4972) = Jac_FULL(345,52) JVS(4972) = -B(685) IF (DO_JVS(4973)) & ! JVS(4973) = Jac_FULL(345,58) JVS(4973) = -B(1397) IF (DO_JVS(4974)) & ! JVS(4974) = Jac_FULL(345,60) JVS(4974) = -0.364*B(1362) IF (DO_JVS(4975)) & ! JVS(4975) = Jac_FULL(345,66) JVS(4975) = -B(760)+B(1810) IF (DO_JVS(4976)) & ! JVS(4976) = Jac_FULL(345,68) JVS(4976) = -B(459) IF (DO_JVS(4977)) & ! JVS(4977) = Jac_FULL(345,69) JVS(4977) = -B(124) IF (DO_JVS(4978)) & ! JVS(4978) = Jac_FULL(345,70) JVS(4978) = -B(1375) IF (DO_JVS(4979)) & ! JVS(4979) = Jac_FULL(345,71) JVS(4979) = -B(1438)+B(1803) IF (DO_JVS(4980)) & ! JVS(4980) = Jac_FULL(345,72) JVS(4980) = -B(308) IF (DO_JVS(4981)) & ! JVS(4981) = Jac_FULL(345,73) JVS(4981) = -B(675) IF (DO_JVS(4982)) & ! JVS(4982) = Jac_FULL(345,74) JVS(4982) = -B(758)+B(1809) IF (DO_JVS(4983)) & ! JVS(4983) = Jac_FULL(345,75) JVS(4983) = -B(551) IF (DO_JVS(4984)) & ! JVS(4984) = Jac_FULL(345,76) JVS(4984) = -B(537) IF (DO_JVS(4985)) & ! JVS(4985) = Jac_FULL(345,78) JVS(4985) = -B(429) IF (DO_JVS(4986)) & ! JVS(4986) = Jac_FULL(345,79) JVS(4986) = -B(549) IF (DO_JVS(4987)) & ! JVS(4987) = Jac_FULL(345,81) JVS(4987) = -B(427) IF (DO_JVS(4988)) & ! JVS(4988) = Jac_FULL(345,82) JVS(4988) = -B(1383) IF (DO_JVS(4989)) & ! JVS(4989) = Jac_FULL(345,83) JVS(4989) = -B(941) IF (DO_JVS(4990)) & ! JVS(4990) = Jac_FULL(345,84) JVS(4990) = -B(561) IF (DO_JVS(4991)) & ! JVS(4991) = Jac_FULL(345,85) JVS(4991) = -B(557) IF (DO_JVS(4992)) & ! JVS(4992) = Jac_FULL(345,86) JVS(4992) = -B(559) IF (DO_JVS(4993)) & ! JVS(4993) = Jac_FULL(345,87) JVS(4993) = 0.05*B(503)-B(555) IF (DO_JVS(4994)) & ! JVS(4994) = Jac_FULL(345,88) JVS(4994) = -0.5*B(1322)+2*B(1761) IF (DO_JVS(4995)) & ! JVS(4995) = Jac_FULL(345,89) JVS(4995) = -B(23) IF (DO_JVS(4996)) & ! JVS(4996) = Jac_FULL(345,90) JVS(4996) = -B(1441) IF (DO_JVS(4997)) & ! JVS(4997) = Jac_FULL(345,91) JVS(4997) = -B(943) IF (DO_JVS(4998)) & ! JVS(4998) = Jac_FULL(345,92) JVS(4998) = -0.78*B(342)+B(1689) IF (DO_JVS(4999)) & ! JVS(4999) = Jac_FULL(345,93) JVS(4999) = -B(939) IF (DO_JVS(5000)) & ! JVS(5000) = Jac_FULL(345,94) JVS(5000) = -B(381)-B(383) IF (DO_JVS(5001)) & ! JVS(5001) = Jac_FULL(345,95) JVS(5001) = -B(945) IF (DO_JVS(5002)) & ! JVS(5002) = Jac_FULL(345,97) JVS(5002) = -0.21*B(332)+B(1680) IF (DO_JVS(5003)) & ! JVS(5003) = Jac_FULL(345,98) JVS(5003) = -0.5*B(134)+B(1681) IF (DO_JVS(5004)) & ! JVS(5004) = Jac_FULL(345,99) JVS(5004) = -0.36*B(328)+B(1678) IF (DO_JVS(5005)) & ! JVS(5005) = Jac_FULL(345,100) JVS(5005) = -0.209*B(330)+B(1679) IF (DO_JVS(5006)) & ! JVS(5006) = Jac_FULL(345,101) JVS(5006) = -B(1385) IF (DO_JVS(5007)) & ! JVS(5007) = Jac_FULL(345,102) JVS(5007) = -0.21*B(334)+B(1682) IF (DO_JVS(5008)) & ! JVS(5008) = Jac_FULL(345,105) JVS(5008) = -B(431) IF (DO_JVS(5009)) & ! JVS(5009) = Jac_FULL(345,107) JVS(5009) = -0.3*B(1304) IF (DO_JVS(5010)) & ! JVS(5010) = Jac_FULL(345,108) JVS(5010) = -B(76)+B(1651) IF (DO_JVS(5011)) & ! JVS(5011) = Jac_FULL(345,109) JVS(5011) = -B(1360) IF (DO_JVS(5012)) & ! JVS(5012) = Jac_FULL(345,111) JVS(5012) = -B(741)+B(1807) IF (DO_JVS(5013)) & ! JVS(5013) = Jac_FULL(345,112) JVS(5013) = -B(782)+B(1812) IF (DO_JVS(5014)) & ! JVS(5014) = Jac_FULL(345,113) JVS(5014) = -B(241) IF (DO_JVS(5015)) & ! JVS(5015) = Jac_FULL(345,114) JVS(5015) = -B(306) IF (DO_JVS(5016)) & ! JVS(5016) = Jac_FULL(345,115) JVS(5016) = -B(1320) IF (DO_JVS(5017)) & ! JVS(5017) = Jac_FULL(345,116) JVS(5017) = -B(1356) IF (DO_JVS(5018)) & ! JVS(5018) = Jac_FULL(345,117) JVS(5018) = -B(1451) IF (DO_JVS(5019)) & ! JVS(5019) = Jac_FULL(345,118) JVS(5019) = -0.36*B(326)+B(1677) IF (DO_JVS(5020)) & ! JVS(5020) = Jac_FULL(345,119) JVS(5020) = -B(1013) IF (DO_JVS(5021)) & ! JVS(5021) = Jac_FULL(345,120) JVS(5021) = -B(535) IF (DO_JVS(5022)) & ! JVS(5022) = Jac_FULL(345,122) JVS(5022) = -B(1412) IF (DO_JVS(5023)) & ! JVS(5023) = Jac_FULL(345,123) JVS(5023) = -0.209*B(338)+B(1683) IF (DO_JVS(5024)) & ! JVS(5024) = Jac_FULL(345,124) JVS(5024) = -B(206) IF (DO_JVS(5025)) & ! JVS(5025) = Jac_FULL(345,125) JVS(5025) = -0.209*B(324)+B(1676) IF (DO_JVS(5026)) & ! JVS(5026) = Jac_FULL(345,126) JVS(5026) = -B(167) IF (DO_JVS(5027)) & ! JVS(5027) = Jac_FULL(345,127) JVS(5027) = -B(152) IF (DO_JVS(5028)) & ! JVS(5028) = Jac_FULL(345,128) JVS(5028) = -B(1052) IF (DO_JVS(5029)) & ! JVS(5029) = Jac_FULL(345,129) JVS(5029) = -B(784) IF (DO_JVS(5030)) & ! JVS(5030) = Jac_FULL(345,130) JVS(5030) = -B(849)+B(1815) IF (DO_JVS(5031)) & ! JVS(5031) = Jac_FULL(345,131) JVS(5031) = -B(1262) IF (DO_JVS(5032)) & ! JVS(5032) = Jac_FULL(345,133) JVS(5032) = B(1085)+2*B(1087) IF (DO_JVS(5033)) & ! JVS(5033) = Jac_FULL(345,134) JVS(5033) = 2*B(1746) IF (DO_JVS(5034)) & ! JVS(5034) = Jac_FULL(345,135) JVS(5034) = B(1089)+2*B(1091) IF (DO_JVS(5035)) & ! JVS(5035) = Jac_FULL(345,136) JVS(5035) = -B(1377)+B(1801) IF (DO_JVS(5036)) & ! JVS(5036) = Jac_FULL(345,137) JVS(5036) = -B(743) IF (DO_JVS(5037)) & ! JVS(5037) = Jac_FULL(345,138) JVS(5037) = -B(780) IF (DO_JVS(5038)) & ! JVS(5038) = Jac_FULL(345,139) JVS(5038) = -B(102) IF (DO_JVS(5039)) & ! JVS(5039) = Jac_FULL(345,140) JVS(5039) = -B(142) IF (DO_JVS(5040)) & ! JVS(5040) = Jac_FULL(345,141) JVS(5040) = -B(114)-B(116) IF (DO_JVS(5041)) & ! JVS(5041) = Jac_FULL(345,142) JVS(5041) = -B(169) IF (DO_JVS(5042)) & ! JVS(5042) = Jac_FULL(345,143) JVS(5042) = -B(1381) IF (DO_JVS(5043)) & ! JVS(5043) = Jac_FULL(345,144) JVS(5043) = B(1782) IF (DO_JVS(5044)) & ! JVS(5044) = Jac_FULL(345,146) JVS(5044) = -B(1403) IF (DO_JVS(5045)) & ! JVS(5045) = Jac_FULL(345,147) JVS(5045) = -0.556*B(1308)+0.546*B(1796) IF (DO_JVS(5046)) & ! JVS(5046) = Jac_FULL(345,148) JVS(5046) = -B(403) IF (DO_JVS(5047)) & ! JVS(5047) = Jac_FULL(345,149) JVS(5047) = -B(1344) IF (DO_JVS(5048)) & ! JVS(5048) = Jac_FULL(345,150) JVS(5048) = B(1781) IF (DO_JVS(5049)) & ! JVS(5049) = Jac_FULL(345,151) JVS(5049) = -B(1054)-B(1056) IF (DO_JVS(5050)) & ! JVS(5050) = Jac_FULL(345,152) JVS(5050) = -B(1058)-B(1060) IF (DO_JVS(5051)) & ! JVS(5051) = Jac_FULL(345,153) JVS(5051) = -B(1268) IF (DO_JVS(5052)) & ! JVS(5052) = Jac_FULL(345,154) JVS(5052) = -B(937) IF (DO_JVS(5053)) & ! JVS(5053) = Jac_FULL(345,155) JVS(5053) = -B(336)+B(1684) IF (DO_JVS(5054)) & ! JVS(5054) = Jac_FULL(345,156) JVS(5054) = -B(269) IF (DO_JVS(5055)) & ! JVS(5055) = Jac_FULL(345,158) JVS(5055) = -B(1418) IF (DO_JVS(5056)) & ! JVS(5056) = Jac_FULL(345,159) JVS(5056) = -0.415*B(1280)+0.75*B(1771) IF (DO_JVS(5057)) & ! JVS(5057) = Jac_FULL(345,160) JVS(5057) = -B(770)+B(1811) IF (DO_JVS(5058)) & ! JVS(5058) = Jac_FULL(345,161) JVS(5058) = -B(796)+B(1813) IF (DO_JVS(5059)) & ! JVS(5059) = Jac_FULL(345,162) JVS(5059) = -B(798) IF (DO_JVS(5060)) & ! JVS(5060) = Jac_FULL(345,163) JVS(5060) = -B(832) IF (DO_JVS(5061)) & ! JVS(5061) = Jac_FULL(345,164) JVS(5061) = -0.7*B(59)+B(1646) IF (DO_JVS(5062)) & ! JVS(5062) = Jac_FULL(345,167) JVS(5062) = -B(723)+0.865*B(725) IF (DO_JVS(5063)) & ! JVS(5063) = Jac_FULL(345,168) JVS(5063) = -B(1097)-B(1099) IF (DO_JVS(5064)) & ! JVS(5064) = Jac_FULL(345,169) JVS(5064) = -B(847)+B(1814) IF (DO_JVS(5065)) & ! JVS(5065) = Jac_FULL(345,170) JVS(5065) = -B(673) IF (DO_JVS(5066)) & ! JVS(5066) = Jac_FULL(345,171) JVS(5066) = B(1248) IF (DO_JVS(5067)) & ! JVS(5067) = Jac_FULL(345,172) JVS(5067) = B(1254) IF (DO_JVS(5068)) & ! JVS(5068) = Jac_FULL(345,173) JVS(5068) = -B(1336) IF (DO_JVS(5069)) & ! JVS(5069) = Jac_FULL(345,174) JVS(5069) = 1.25*B(1794) IF (DO_JVS(5070)) & ! JVS(5070) = Jac_FULL(345,175) JVS(5070) = -B(1093)-B(1095) IF (DO_JVS(5071)) & ! JVS(5071) = Jac_FULL(345,176) JVS(5071) = -B(772) IF (DO_JVS(5072)) & ! JVS(5072) = Jac_FULL(345,177) JVS(5072) = -B(836) IF (DO_JVS(5073)) & ! JVS(5073) = Jac_FULL(345,178) JVS(5073) = 0 IF (DO_JVS(5074)) & ! JVS(5074) = Jac_FULL(345,179) JVS(5074) = 0 IF (DO_JVS(5075)) & ! JVS(5075) = Jac_FULL(345,180) JVS(5075) = 0.82*B(1222) IF (DO_JVS(5076)) & ! JVS(5076) = Jac_FULL(345,181) JVS(5076) = -B(547) IF (DO_JVS(5077)) & ! JVS(5077) = Jac_FULL(345,182) JVS(5077) = B(1216) IF (DO_JVS(5078)) & ! JVS(5078) = Jac_FULL(345,183) JVS(5078) = -B(106) IF (DO_JVS(5079)) & ! JVS(5079) = Jac_FULL(345,184) JVS(5079) = -B(1302) IF (DO_JVS(5080)) & ! JVS(5080) = Jac_FULL(345,185) JVS(5080) = B(1768) IF (DO_JVS(5081)) & ! JVS(5081) = Jac_FULL(345,186) JVS(5081) = -B(1182)-B(1188)-B(1192)+B(1788) IF (DO_JVS(5082)) & ! JVS(5082) = Jac_FULL(345,187) JVS(5082) = -B(1015)-B(1023)+B(1775) IF (DO_JVS(5083)) & ! JVS(5083) = Jac_FULL(345,188) JVS(5083) = -B(271) IF (DO_JVS(5084)) & ! JVS(5084) = Jac_FULL(345,189) JVS(5084) = B(1354) IF (DO_JVS(5085)) & ! JVS(5085) = Jac_FULL(345,190) JVS(5085) = 0.599*B(1121) IF (DO_JVS(5086)) & ! JVS(5086) = Jac_FULL(345,191) JVS(5086) = -B(731)+0.65*B(733) IF (DO_JVS(5087)) & ! JVS(5087) = Jac_FULL(345,192) JVS(5087) = -B(1019)-B(1025)+B(1776) IF (DO_JVS(5088)) & ! JVS(5088) = Jac_FULL(345,193) JVS(5088) = -B(865) IF (DO_JVS(5089)) & ! JVS(5089) = Jac_FULL(345,194) JVS(5089) = -0.715*B(1258)+1.75*B(1769) IF (DO_JVS(5090)) & ! JVS(5090) = Jac_FULL(345,195) JVS(5090) = -B(1414) IF (DO_JVS(5091)) & ! JVS(5091) = Jac_FULL(345,196) JVS(5091) = -B(136) IF (DO_JVS(5092)) & ! JVS(5092) = Jac_FULL(345,197) JVS(5092) = 0.25*B(160) IF (DO_JVS(5093)) & ! JVS(5093) = Jac_FULL(345,198) JVS(5093) = B(1795) IF (DO_JVS(5094)) & ! JVS(5094) = Jac_FULL(345,199) JVS(5094) = -0.255*B(1029)+B(1778) IF (DO_JVS(5095)) & ! JVS(5095) = Jac_FULL(345,200) JVS(5095) = -B(1348) IF (DO_JVS(5096)) & ! JVS(5096) = Jac_FULL(345,201) JVS(5096) = -0.75*B(1470)+0.1*B(1472) IF (DO_JVS(5097)) & ! JVS(5097) = Jac_FULL(345,202) JVS(5097) = -B(1422)+B(1424) IF (DO_JVS(5098)) & ! JVS(5098) = Jac_FULL(345,204) JVS(5098) = -B(1428) IF (DO_JVS(5099)) & ! JVS(5099) = Jac_FULL(345,205) JVS(5099) = 0.518*B(1114) IF (DO_JVS(5100)) & ! JVS(5100) = Jac_FULL(345,206) JVS(5100) = 0.582*B(1129) IF (DO_JVS(5101)) & ! JVS(5101) = Jac_FULL(345,207) JVS(5101) = 0.506*B(1135) IF (DO_JVS(5102)) & ! JVS(5102) = Jac_FULL(345,208) JVS(5102) = -B(1266) IF (DO_JVS(5103)) & ! JVS(5103) = Jac_FULL(345,209) JVS(5103) = -0.595*B(1027)+B(1777) IF (DO_JVS(5104)) & ! JVS(5104) = Jac_FULL(345,210) JVS(5104) = B(1762) IF (DO_JVS(5105)) & ! JVS(5105) = Jac_FULL(345,211) JVS(5105) = -B(818) IF (DO_JVS(5106)) & ! JVS(5106) = Jac_FULL(345,212) JVS(5106) = 0 IF (DO_JVS(5107)) & ! JVS(5107) = Jac_FULL(345,213) JVS(5107) = 0.44*B(302) IF (DO_JVS(5108)) & ! JVS(5108) = Jac_FULL(345,216) JVS(5108) = B(1774) IF (DO_JVS(5109)) & ! JVS(5109) = Jac_FULL(345,217) JVS(5109) = B(473)+1.788*B(475) IF (DO_JVS(5110)) & ! JVS(5110) = Jac_FULL(345,218) JVS(5110) = 0 IF (DO_JVS(5111)) & ! JVS(5111) = Jac_FULL(345,219) JVS(5111) = -B(727)+0.8*B(729) IF (DO_JVS(5112)) & ! JVS(5112) = Jac_FULL(345,220) JVS(5112) = -B(1338)+0.18*B(1342) IF (DO_JVS(5113)) & ! JVS(5113) = Jac_FULL(345,221) JVS(5113) = -0.75*B(1465)+0.1*B(1467) IF (DO_JVS(5114)) & ! JVS(5114) = Jac_FULL(345,222) JVS(5114) = -B(1180)-B(1190)+0.67*B(1787) IF (DO_JVS(5115)) & ! JVS(5115) = Jac_FULL(345,223) JVS(5115) = B(1031)+0.275*B(1036) IF (DO_JVS(5116)) & ! JVS(5116) = Jac_FULL(345,224) JVS(5116) = B(1038)+0.275*B(1043) IF (DO_JVS(5117)) & ! JVS(5117) = Jac_FULL(345,225) JVS(5117) = -B(747) IF (DO_JVS(5118)) & ! JVS(5118) = Jac_FULL(345,226) JVS(5118) = B(1196)+0.646*B(1200)+0.096*B(1206) IF (DO_JVS(5119)) & ! JVS(5119) = Jac_FULL(345,228) JVS(5119) = -B(47)+0.75*B(443) IF (DO_JVS(5120)) & ! JVS(5120) = Jac_FULL(345,229) JVS(5120) = -0.7*B(859)+0.3*B(861)+0.15*B(863)+B(1748)+B(1816) IF (DO_JVS(5121)) & ! JVS(5121) = Jac_FULL(345,230) JVS(5121) = 0.085*B(1001)+1.662*B(1779) IF (DO_JVS(5122)) & ! JVS(5122) = Jac_FULL(345,231) JVS(5122) = 0.165*B(1003)+1.637*B(1780) IF (DO_JVS(5123)) & ! JVS(5123) = Jac_FULL(345,232) JVS(5123) = B(1046)+1.3*B(1050) IF (DO_JVS(5124)) & ! JVS(5124) = Jac_FULL(345,233) JVS(5124) = -B(154) IF (DO_JVS(5125)) & ! JVS(5125) = Jac_FULL(345,234) JVS(5125) = 0 IF (DO_JVS(5126)) & ! JVS(5126) = Jac_FULL(345,235) JVS(5126) = 0.2*B(1432) IF (DO_JVS(5127)) & ! JVS(5127) = Jac_FULL(345,236) JVS(5127) = 0 IF (DO_JVS(5128)) & ! JVS(5128) = Jac_FULL(345,237) JVS(5128) = -B(812)+0.865*B(814) IF (DO_JVS(5129)) & ! JVS(5129) = Jac_FULL(345,238) JVS(5129) = 0.065*B(1009) IF (DO_JVS(5130)) & ! JVS(5130) = Jac_FULL(345,239) JVS(5130) = -B(71)+B(1650) IF (DO_JVS(5131)) & ! JVS(5131) = Jac_FULL(345,240) JVS(5131) = 0.44*B(1407) IF (DO_JVS(5132)) & ! JVS(5132) = Jac_FULL(345,241) JVS(5132) = 0 IF (DO_JVS(5133)) & ! JVS(5133) = Jac_FULL(345,242) JVS(5133) = -B(927) IF (DO_JVS(5134)) & ! JVS(5134) = Jac_FULL(345,243) JVS(5134) = 0.65*B(1078)+B(1084) IF (DO_JVS(5135)) & ! JVS(5135) = Jac_FULL(345,244) JVS(5135) = -0.7*B(61)+B(1743) IF (DO_JVS(5136)) & ! JVS(5136) = Jac_FULL(345,245) JVS(5136) = -B(527) IF (DO_JVS(5137)) & ! JVS(5137) = Jac_FULL(345,246) JVS(5137) = 0.44*B(245) IF (DO_JVS(5138)) & ! JVS(5138) = Jac_FULL(345,247) JVS(5138) = -B(689) IF (DO_JVS(5139)) & ! JVS(5139) = Jac_FULL(345,248) JVS(5139) = -B(1242) IF (DO_JVS(5140)) & ! JVS(5140) = Jac_FULL(345,249) JVS(5140) = 0 IF (DO_JVS(5141)) & ! JVS(5141) = Jac_FULL(345,250) JVS(5141) = 0 IF (DO_JVS(5142)) & ! JVS(5142) = Jac_FULL(345,251) JVS(5142) = -B(195) IF (DO_JVS(5143)) & ! JVS(5143) = Jac_FULL(345,252) JVS(5143) = 0 IF (DO_JVS(5144)) & ! JVS(5144) = Jac_FULL(345,253) JVS(5144) = 0.59*B(1276)+B(1282) IF (DO_JVS(5145)) & ! JVS(5145) = Jac_FULL(345,254) JVS(5145) = 0.665*B(1270) IF (DO_JVS(5146)) & ! JVS(5146) = Jac_FULL(345,255) JVS(5146) = -B(806)+0.6*B(808) IF (DO_JVS(5147)) & ! JVS(5147) = Jac_FULL(345,256) JVS(5147) = -B(925) IF (DO_JVS(5148)) & ! JVS(5148) = Jac_FULL(345,257) JVS(5148) = 0.44*B(749) IF (DO_JVS(5149)) & ! JVS(5149) = Jac_FULL(345,258) JVS(5149) = -0.5*B(1306)+0.5*B(1792)+B(1793) IF (DO_JVS(5150)) & ! JVS(5150) = Jac_FULL(345,259) JVS(5150) = 0.5*B(1278) IF (DO_JVS(5151)) & ! JVS(5151) = Jac_FULL(345,260) JVS(5151) = 0 IF (DO_JVS(5152)) & ! JVS(5152) = Jac_FULL(345,261) JVS(5152) = -B(687) IF (DO_JVS(5153)) & ! JVS(5153) = Jac_FULL(345,262) JVS(5153) = -B(871)+B(873) IF (DO_JVS(5154)) & ! JVS(5154) = Jac_FULL(345,263) JVS(5154) = B(1387) IF (DO_JVS(5155)) & ! JVS(5155) = Jac_FULL(345,264) JVS(5155) = -B(40)+B(469)+2*B(1645) IF (DO_JVS(5156)) & ! JVS(5156) = Jac_FULL(345,265) JVS(5156) = -B(87) IF (DO_JVS(5157)) & ! JVS(5157) = Jac_FULL(345,266) JVS(5157) = -B(1314)+B(1799) IF (DO_JVS(5158)) & ! JVS(5158) = Jac_FULL(345,267) JVS(5158) = -B(1105)-B(1107)-0.4*B(1111)+0.55*B(1786) IF (DO_JVS(5159)) & ! JVS(5159) = Jac_FULL(345,268) JVS(5159) = -B(1101)-B(1103)-0.4*B(1109)+0.55*B(1783) IF (DO_JVS(5160)) & ! JVS(5160) = Jac_FULL(345,269) JVS(5160) = -B(1457) IF (DO_JVS(5161)) & ! JVS(5161) = Jac_FULL(345,270) JVS(5161) = -B(312) IF (DO_JVS(5162)) & ! JVS(5162) = Jac_FULL(345,271) JVS(5162) = B(1197)+1.147*B(1198)+0.435*B(1202) IF (DO_JVS(5163)) & ! JVS(5163) = Jac_FULL(345,272) JVS(5163) = 0 IF (DO_JVS(5164)) & ! JVS(5164) = Jac_FULL(345,273) JVS(5164) = 0 IF (DO_JVS(5165)) & ! JVS(5165) = Jac_FULL(345,274) JVS(5165) = 0.44*B(838) IF (DO_JVS(5166)) & ! JVS(5166) = Jac_FULL(345,275) JVS(5166) = 0 IF (DO_JVS(5167)) & ! JVS(5167) = Jac_FULL(345,276) JVS(5167) = 0.28*B(947)-B(949)-B(951)+0.5*B(953)+0.5*B(955) IF (DO_JVS(5168)) & ! JVS(5168) = Jac_FULL(345,277) JVS(5168) = 0 IF (DO_JVS(5169)) & ! JVS(5169) = Jac_FULL(345,278) JVS(5169) = 0 IF (DO_JVS(5170)) & ! JVS(5170) = Jac_FULL(345,279) JVS(5170) = -B(197) IF (DO_JVS(5171)) & ! JVS(5171) = Jac_FULL(345,280) JVS(5171) = 0 IF (DO_JVS(5172)) & ! JVS(5172) = Jac_FULL(345,281) JVS(5172) = 0 IF (DO_JVS(5173)) & ! JVS(5173) = Jac_FULL(345,282) JVS(5173) = -B(89) IF (DO_JVS(5174)) & ! JVS(5174) = Jac_FULL(345,283) JVS(5174) = -B(199) IF (DO_JVS(5175)) & ! JVS(5175) = Jac_FULL(345,284) JVS(5175) = 0 IF (DO_JVS(5176)) & ! JVS(5176) = Jac_FULL(345,285) JVS(5176) = B(1071)+0.65*B(1076) IF (DO_JVS(5177)) & ! JVS(5177) = Jac_FULL(345,286) JVS(5177) = B(1063)+0.65*B(1064) IF (DO_JVS(5178)) & ! JVS(5178) = Jac_FULL(345,287) JVS(5178) = B(1770) IF (DO_JVS(5179)) & ! JVS(5179) = Jac_FULL(345,288) JVS(5179) = B(1767) IF (DO_JVS(5180)) & ! JVS(5180) = Jac_FULL(345,289) JVS(5180) = 0 IF (DO_JVS(5181)) & ! JVS(5181) = Jac_FULL(345,290) JVS(5181) = -B(285)+0.36*B(287) IF (DO_JVS(5182)) & ! JVS(5182) = Jac_FULL(345,291) JVS(5182) = 0 IF (DO_JVS(5183)) & ! JVS(5183) = Jac_FULL(345,292) JVS(5183) = -B(234) IF (DO_JVS(5184)) & ! JVS(5184) = Jac_FULL(345,293) JVS(5184) = 0.379*B(1141) IF (DO_JVS(5185)) & ! JVS(5185) = Jac_FULL(345,294) JVS(5185) = -B(314) IF (DO_JVS(5186)) & ! JVS(5186) = Jac_FULL(345,295) JVS(5186) = -B(212) IF (DO_JVS(5187)) & ! JVS(5187) = Jac_FULL(345,296) JVS(5187) = 0 IF (DO_JVS(5188)) & ! JVS(5188) = Jac_FULL(345,297) JVS(5188) = -B(543) IF (DO_JVS(5189)) & ! JVS(5189) = Jac_FULL(345,298) JVS(5189) = -B(201) IF (DO_JVS(5190)) & ! JVS(5190) = Jac_FULL(345,299) JVS(5190) = -B(1218) IF (DO_JVS(5191)) & ! JVS(5191) = Jac_FULL(345,300) JVS(5191) = 0 IF (DO_JVS(5192)) & ! JVS(5192) = Jac_FULL(345,301) JVS(5192) = -B(1210)-0.756*B(1212)+0.645*B(1790) IF (DO_JVS(5193)) & ! JVS(5193) = Jac_FULL(345,302) JVS(5193) = -0.98*B(1236)+0.01*B(1772) IF (DO_JVS(5194)) & ! JVS(5194) = Jac_FULL(345,303) JVS(5194) = -0.7*B(1316)+B(1797)+0.3*B(1798) IF (DO_JVS(5195)) & ! JVS(5195) = Jac_FULL(345,304) JVS(5195) = 0.063*B(961)+B(967)+1.5*B(968)+B(974)+B(975)+0.5*B(983)+0.55*B(999) IF (DO_JVS(5196)) & ! JVS(5196) = Jac_FULL(345,305) JVS(5196) = 0.063*B(957)+B(965)+1.5*B(966)+B(973)+B(976)+0.5*B(979)+0.55*B(991) IF (DO_JVS(5197)) & ! JVS(5197) = Jac_FULL(345,306) JVS(5197) = -0.773*B(289)-B(293)+0.07*B(1666) IF (DO_JVS(5198)) & ! JVS(5198) = Jac_FULL(345,307) JVS(5198) = -B(320) IF (DO_JVS(5199)) & ! JVS(5199) = Jac_FULL(345,308) JVS(5199) = 0.5*B(1291) IF (DO_JVS(5200)) & ! JVS(5200) = Jac_FULL(345,309) JVS(5200) = -B(1228)-B(1230)+0.12*B(1232)+0.68*B(1234) IF (DO_JVS(5201)) & ! JVS(5201) = Jac_FULL(345,310) JVS(5201) = 0.527*B(1149) IF (DO_JVS(5202)) & ! JVS(5202) = Jac_FULL(345,311) JVS(5202) = 0 IF (DO_JVS(5203)) & ! JVS(5203) = Jac_FULL(345,312) JVS(5203) = 0 IF (DO_JVS(5204)) & ! JVS(5204) = Jac_FULL(345,313) JVS(5204) = 0.15*B(226) IF (DO_JVS(5205)) & ! JVS(5205) = Jac_FULL(345,314) JVS(5205) = -B(1224)+0.08*B(1226) IF (DO_JVS(5206)) & ! JVS(5206) = Jac_FULL(345,315) JVS(5206) = 0 IF (DO_JVS(5207)) & ! JVS(5207) = Jac_FULL(345,316) JVS(5207) = B(405)+B(1692) IF (DO_JVS(5208)) & ! JVS(5208) = Jac_FULL(345,317) JVS(5208) = -B(545) IF (DO_JVS(5209)) & ! JVS(5209) = Jac_FULL(345,318) JVS(5209) = 0 IF (DO_JVS(5210)) & ! JVS(5210) = Jac_FULL(345,319) JVS(5210) = 0 IF (DO_JVS(5211)) & ! JVS(5211) = Jac_FULL(345,320) JVS(5211) = 0.15*B(228) IF (DO_JVS(5212)) & ! JVS(5212) = Jac_FULL(345,321) JVS(5212) = 0 IF (DO_JVS(5213)) & ! JVS(5213) = Jac_FULL(345,322) JVS(5213) = 0.44*B(283) IF (DO_JVS(5214)) & ! JVS(5214) = Jac_FULL(345,323) JVS(5214) = 0 IF (DO_JVS(5215)) & ! JVS(5215) = Jac_FULL(345,324) JVS(5215) = 0.5*B(1324) IF (DO_JVS(5216)) & ! JVS(5216) = Jac_FULL(345,325) JVS(5216) = -B(63)+B(485) IF (DO_JVS(5217)) & ! JVS(5217) = Jac_FULL(345,326) JVS(5217) = -B(95) IF (DO_JVS(5218)) & ! JVS(5218) = Jac_FULL(345,327) JVS(5218) = -B(67)+B(1649) IF (DO_JVS(5219)) & ! JVS(5219) = Jac_FULL(345,328) JVS(5219) = -B(57)+0.5*B(980)+0.5*B(984) IF (DO_JVS(5220)) & ! JVS(5220) = Jac_FULL(345,329) JVS(5220) = -B(45) IF (DO_JVS(5221)) & ! JVS(5221) = Jac_FULL(345,330) JVS(5221) = -B(677)+B(1726) IF (DO_JVS(5222)) & ! JVS(5222) = Jac_FULL(345,331) JVS(5222) = 0 IF (DO_JVS(5223)) & ! JVS(5223) = Jac_FULL(345,332) JVS(5223) = 0 IF (DO_JVS(5224)) & ! JVS(5224) = Jac_FULL(345,333) JVS(5224) = -B(541)+B(1709) IF (DO_JVS(5225)) & ! JVS(5225) = Jac_FULL(345,334) JVS(5225) = 2*B(433)+B(439)+0.75*B(444)+0.66*B(487)+0.6*B(489)+0.05*B(504) IF (DO_JVS(5226)) & ! JVS(5226) = Jac_FULL(345,335) JVS(5226) = -B(65) IF (DO_JVS(5227)) & ! JVS(5227) = Jac_FULL(345,336) JVS(5227) = 2*B(434) IF (DO_JVS(5228)) & ! JVS(5228) = Jac_FULL(345,337) JVS(5228) = B(30)-B(38)+B(42)+B(78)+0.25*B(161)+0.15*B(227)+0.15*B(229)+0.44*B(246)+0.44*B(284)+0.44*B(303)+B(453)& &+1.788*B(476)+B(575)+0.44*B(750)+0.44*B(839)+0.063*B(958)+0.063*B(962)+0.275*B(1037)+0.275*B(1044)+1.3& &*B(1051)+0.65*B(1065)+0.65*B(1077)+0.65*B(1079)+2*B(1088)+2*B(1092)+0.518*B(1115)+0.599*B(1122)+0.582& &*B(1130)+0.506*B(1136)+0.379*B(1142)+0.527*B(1150)+1.147*B(1199)+0.646*B(1201)+B(1217)+0.82*B(1223)+B(1249)& &+B(1255)+0.665*B(1271)+0.59*B(1277)+0.5*B(1279)+0.5*B(1292)+0.5*B(1325)+B(1355)+B(1388)+0.44*B(1408)+0.2& &*B(1433) IF (DO_JVS(5229)) & ! JVS(5229) = Jac_FULL(345,338) JVS(5229) = -B(531)-B(533) IF (DO_JVS(5230)) & ! JVS(5230) = Jac_FULL(345,339) JVS(5230) = 0.66*B(488)-B(539) IF (DO_JVS(5231)) & ! JVS(5231) = Jac_FULL(345,340) JVS(5231) = B(576) IF (DO_JVS(5232)) & ! JVS(5232) = Jac_FULL(345,341) JVS(5232) = -B(28)+B(31)+0.36*B(288)+B(474)+0.865*B(726)+0.8*B(730)+0.65*B(734)+0.6*B(809)+0.865*B(815)+0.3*B(862)& &+B(874)+0.28*B(948)+0.08*B(1227)+0.12*B(1233)+0.18*B(1343)+B(1425)+0.1*B(1468)+0.1*B(1473) IF (DO_JVS(5233)) & ! JVS(5233) = Jac_FULL(345,342) JVS(5233) = 0 IF (DO_JVS(5234)) & ! JVS(5234) = Jac_FULL(345,343) JVS(5234) = B(406)+B(407)-B(451)+B(454)+B(470)+B(486) IF (DO_JVS(5235)) & ! JVS(5235) = Jac_FULL(345,344) JVS(5235) = -B(1507) IF (DO_JVS(5236)) & ! JVS(5236) = Jac_FULL(345,345) JVS(5236) = -B(24)-B(29)-2*B(36)-2*B(37)-B(39)-B(41)-B(46)-B(48)-B(58)-0.7*B(60)-0.7*B(62)-B(64)-B(66)-B(68)-B(69)& &-B(72)-B(77)-B(82)-B(88)-B(90)-B(96)-B(103)-B(107)-B(115)-B(117)-B(125)-0.5*B(135)-B(137)-B(143)-B(153)& &-B(155)-B(168)-B(170)-B(196)-B(198)-B(200)-B(202)-B(207)-B(213)-B(235)-B(242)-B(270)-B(272)-B(286)-0.773& &*B(290)-B(294)-B(307)-B(309)-B(313)-B(315)-B(321)-0.209*B(325)-0.36*B(327)-0.36*B(329)-0.209*B(331)-0.21& &*B(333)-0.21*B(335)-B(337)-0.209*B(339)-0.78*B(343)-B(382)-B(384)-B(387)-B(395)-B(404)-B(409)-B(428)-B(430)& &-B(432)-B(449)-B(452)-B(460)-B(528)-B(532)-B(534)-B(536)-B(538)-B(540)-B(542)-B(544)-B(546)-B(548)-B(550)& &-B(552)-B(554)-B(556)-B(558)-B(560)-B(562)-B(674)-B(676)-B(678)-B(686)-B(688)-B(690)-B(724)-B(728)-B(732)& &-B(742)-B(744)-B(748)-B(759)-B(761)-B(771)-B(773)-B(781)-B(783)-B(785)-B(797)-B(799)-B(807)-B(813)-B(819)& &-B(833)-B(837)-B(848)-B(850)-0.7*B(860)-B(866)-B(872)-B(926)-B(928)-B(938)-B(940)-B(942)-B(944)-B(946)& &-B(950)-B(952)+0.5*B(954)+0.5*B(956)+0.085*B(1002)+0.165*B(1004)+0.065*B(1010)-B(1014)-B(1016)-B(1020)& &-B(1024)-B(1026)-0.595*B(1028)-0.255*B(1030)-B(1053)-B(1055)-B(1057)-B(1059)-B(1061)-B(1094)-B(1096)& &-B(1098)-B(1100)-B(1102)-B(1104)-B(1106)-B(1108)-0.4*B(1110)-0.4*B(1112)-B(1181)-B(1183)-B(1189)-B(1191)& &-B(1193)-B(1211)-0.756*B(1213)-B(1219)-B(1225)-B(1229)-B(1231)-0.98*B(1237)-B(1243)-0.715*B(1259)-B(1263)& &-B(1267)-B(1269)-0.415*B(1281)-B(1303)-0.3*B(1305)-0.5*B(1307)-0.556*B(1309)-B(1315)-0.7*B(1317)-B(1321)& &-0.5*B(1323)-B(1337)-B(1339)-B(1345)-B(1349)-B(1357)-B(1361)-0.364*B(1363)-B(1376)-B(1378)-B(1382)-B(1384)& &-B(1386)-B(1398)-B(1404)-B(1413)-B(1415)-B(1419)-B(1423)-B(1429)-B(1439)-B(1442)-B(1452)-B(1458)-0.75& &*B(1466)-0.75*B(1471)-B(1490)-B(1505)-B(1508) IF (DO_JVS(5237)) & ! JVS(5237) = Jac_FULL(345,346) JVS(5237) = B(43)-B(70)+0.55*B(992)+0.55*B(1000)+B(1047)+B(1086)+B(1090)+0.435*B(1203)+0.096*B(1207) IF (DO_JVS(5238)) & ! JVS(5238) = Jac_FULL(345,347) JVS(5238) = -B(410) IF (DO_JVS(5239)) & ! JVS(5239) = Jac_FULL(345,348) JVS(5239) = -B(25)-B(388) IF (DO_JVS(5240)) & ! JVS(5240) = Jac_FULL(345,349) JVS(5240) = 0 IF (DO_JVS(5241)) & ! JVS(5241) = Jac_FULL(345,350) JVS(5241) = 0 IF (DO_JVS(5242)) & ! JVS(5242) = Jac_FULL(345,351) JVS(5242) = B(79)-B(83)+0.15*B(864)+0.68*B(1235) IF (DO_JVS(5243)) & ! JVS(5243) = Jac_FULL(345,352) JVS(5243) = -B(396)+B(408)+0.6*B(490) IF (DO_JVS(5244)) & ! JVS(5244) = Jac_FULL(345,353) JVS(5244) = -B(1506) IF (DO_JVS(5245)) & ! JVS(5245) = Jac_FULL(346,62) JVS(5245) = 2*B(645)+B(1729) IF (DO_JVS(5246)) & ! JVS(5246) = Jac_FULL(346,63) JVS(5246) = 1.22*B(441) IF (DO_JVS(5247)) & ! JVS(5247) = Jac_FULL(346,67) JVS(5247) = B(477)-B(479) IF (DO_JVS(5248)) & ! JVS(5248) = Jac_FULL(346,96) JVS(5248) = -B(665) IF (DO_JVS(5249)) & ! JVS(5249) = Jac_FULL(346,121) JVS(5249) = -B(1399) IF (DO_JVS(5250)) & ! JVS(5250) = Jac_FULL(346,132) JVS(5250) = -B(156) IF (DO_JVS(5251)) & ! JVS(5251) = Jac_FULL(346,133) JVS(5251) = -B(1085) IF (DO_JVS(5252)) & ! JVS(5252) = Jac_FULL(346,135) JVS(5252) = -B(1089) IF (DO_JVS(5253)) & ! JVS(5253) = Jac_FULL(346,165) JVS(5253) = -B(138) IF (DO_JVS(5254)) & ! JVS(5254) = Jac_FULL(346,171) JVS(5254) = -B(1246) IF (DO_JVS(5255)) & ! JVS(5255) = Jac_FULL(346,172) JVS(5255) = -B(1252) IF (DO_JVS(5256)) & ! JVS(5256) = Jac_FULL(346,178) JVS(5256) = -B(128)-B(130) IF (DO_JVS(5257)) & ! JVS(5257) = Jac_FULL(346,180) JVS(5257) = -B(1220) IF (DO_JVS(5258)) & ! JVS(5258) = Jac_FULL(346,182) JVS(5258) = -B(1214) IF (DO_JVS(5259)) & ! JVS(5259) = Jac_FULL(346,189) JVS(5259) = -B(1352) IF (DO_JVS(5260)) & ! JVS(5260) = Jac_FULL(346,190) JVS(5260) = -B(1123)-B(1125) IF (DO_JVS(5261)) & ! JVS(5261) = Jac_FULL(346,196) JVS(5261) = 0 IF (DO_JVS(5262)) & ! JVS(5262) = Jac_FULL(346,197) JVS(5262) = -B(162) IF (DO_JVS(5263)) & ! JVS(5263) = Jac_FULL(346,200) JVS(5263) = 0 IF (DO_JVS(5264)) & ! JVS(5264) = Jac_FULL(346,205) JVS(5264) = -B(1116)-B(1118) IF (DO_JVS(5265)) & ! JVS(5265) = Jac_FULL(346,206) JVS(5265) = -B(1131)-B(1133) IF (DO_JVS(5266)) & ! JVS(5266) = Jac_FULL(346,207) JVS(5266) = -B(1137)-B(1139) IF (DO_JVS(5267)) & ! JVS(5267) = Jac_FULL(346,212) JVS(5267) = -B(148) IF (DO_JVS(5268)) & ! JVS(5268) = Jac_FULL(346,213) JVS(5268) = -B(300) IF (DO_JVS(5269)) & ! JVS(5269) = Jac_FULL(346,220) JVS(5269) = 0 IF (DO_JVS(5270)) & ! JVS(5270) = Jac_FULL(346,223) JVS(5270) = -B(1032)-B(1034) IF (DO_JVS(5271)) & ! JVS(5271) = Jac_FULL(346,224) JVS(5271) = -B(1039)-B(1041) IF (DO_JVS(5272)) & ! JVS(5272) = Jac_FULL(346,226) JVS(5272) = -B(1206)-B(1208) IF (DO_JVS(5273)) & ! JVS(5273) = Jac_FULL(346,230) JVS(5273) = 0 IF (DO_JVS(5274)) & ! JVS(5274) = Jac_FULL(346,231) JVS(5274) = 0 IF (DO_JVS(5275)) & ! JVS(5275) = Jac_FULL(346,232) JVS(5275) = -B(1046)-B(1048) IF (DO_JVS(5276)) & ! JVS(5276) = Jac_FULL(346,233) JVS(5276) = 0 IF (DO_JVS(5277)) & ! JVS(5277) = Jac_FULL(346,234) JVS(5277) = -B(1366) IF (DO_JVS(5278)) & ! JVS(5278) = Jac_FULL(346,235) JVS(5278) = -B(1434) IF (DO_JVS(5279)) & ! JVS(5279) = Jac_FULL(346,236) JVS(5279) = -B(1445) IF (DO_JVS(5280)) & ! JVS(5280) = Jac_FULL(346,239) JVS(5280) = B(1650) IF (DO_JVS(5281)) & ! JVS(5281) = Jac_FULL(346,240) JVS(5281) = -B(1405) IF (DO_JVS(5282)) & ! JVS(5282) = Jac_FULL(346,241) JVS(5282) = -B(707) IF (DO_JVS(5283)) & ! JVS(5283) = Jac_FULL(346,243) JVS(5283) = -B(1080)-B(1082) IF (DO_JVS(5284)) & ! JVS(5284) = Jac_FULL(346,246) JVS(5284) = -B(243) IF (DO_JVS(5285)) & ! JVS(5285) = Jac_FULL(346,249) JVS(5285) = -B(175) IF (DO_JVS(5286)) & ! JVS(5286) = Jac_FULL(346,250) JVS(5286) = -B(191) IF (DO_JVS(5287)) & ! JVS(5287) = Jac_FULL(346,252) JVS(5287) = 0 IF (DO_JVS(5288)) & ! JVS(5288) = Jac_FULL(346,253) JVS(5288) = -B(1283)-B(1285) IF (DO_JVS(5289)) & ! JVS(5289) = Jac_FULL(346,254) JVS(5289) = -B(1272)-B(1274) IF (DO_JVS(5290)) & ! JVS(5290) = Jac_FULL(346,257) JVS(5290) = -B(751) IF (DO_JVS(5291)) & ! JVS(5291) = Jac_FULL(346,259) JVS(5291) = -B(1287) IF (DO_JVS(5292)) & ! JVS(5292) = Jac_FULL(346,260) JVS(5292) = -B(122) IF (DO_JVS(5293)) & ! JVS(5293) = Jac_FULL(346,263) JVS(5293) = -B(1389) IF (DO_JVS(5294)) & ! JVS(5294) = Jac_FULL(346,267) JVS(5294) = 0 IF (DO_JVS(5295)) & ! JVS(5295) = Jac_FULL(346,268) JVS(5295) = 0 IF (DO_JVS(5296)) & ! JVS(5296) = Jac_FULL(346,269) JVS(5296) = 0 IF (DO_JVS(5297)) & ! JVS(5297) = Jac_FULL(346,271) JVS(5297) = -B(1202)-B(1204) IF (DO_JVS(5298)) & ! JVS(5298) = Jac_FULL(346,272) JVS(5298) = -B(824) IF (DO_JVS(5299)) & ! JVS(5299) = Jac_FULL(346,273) JVS(5299) = -B(788)-B(790) IF (DO_JVS(5300)) & ! JVS(5300) = Jac_FULL(346,274) JVS(5300) = -B(840) IF (DO_JVS(5301)) & ! JVS(5301) = Jac_FULL(346,275) JVS(5301) = -B(776) IF (DO_JVS(5302)) & ! JVS(5302) = Jac_FULL(346,276) JVS(5302) = 0 IF (DO_JVS(5303)) & ! JVS(5303) = Jac_FULL(346,277) JVS(5303) = -B(737) IF (DO_JVS(5304)) & ! JVS(5304) = Jac_FULL(346,278) JVS(5304) = -B(764) IF (DO_JVS(5305)) & ! JVS(5305) = Jac_FULL(346,279) JVS(5305) = 0 IF (DO_JVS(5306)) & ! JVS(5306) = Jac_FULL(346,280) JVS(5306) = -B(901) IF (DO_JVS(5307)) & ! JVS(5307) = Jac_FULL(346,281) JVS(5307) = -B(802) IF (DO_JVS(5308)) & ! JVS(5308) = Jac_FULL(346,284) JVS(5308) = -B(681) IF (DO_JVS(5309)) & ! JVS(5309) = Jac_FULL(346,285) JVS(5309) = -B(1072)-B(1074) IF (DO_JVS(5310)) & ! JVS(5310) = Jac_FULL(346,286) JVS(5310) = -B(1066)-B(1068) IF (DO_JVS(5311)) & ! JVS(5311) = Jac_FULL(346,289) JVS(5311) = -B(903) IF (DO_JVS(5312)) & ! JVS(5312) = Jac_FULL(346,290) JVS(5312) = 0 IF (DO_JVS(5313)) & ! JVS(5313) = Jac_FULL(346,291) JVS(5313) = -B(853)-B(855) IF (DO_JVS(5314)) & ! JVS(5314) = Jac_FULL(346,293) JVS(5314) = -B(1143)-B(1145) IF (DO_JVS(5315)) & ! JVS(5315) = Jac_FULL(346,296) JVS(5315) = -B(108)-B(110) IF (DO_JVS(5316)) & ! JVS(5316) = Jac_FULL(346,297) JVS(5316) = 0 IF (DO_JVS(5317)) & ! JVS(5317) = Jac_FULL(346,299) JVS(5317) = 0 IF (DO_JVS(5318)) & ! JVS(5318) = Jac_FULL(346,300) JVS(5318) = -B(171)-B(173) IF (DO_JVS(5319)) & ! JVS(5319) = Jac_FULL(346,301) JVS(5319) = 0 IF (DO_JVS(5320)) & ! JVS(5320) = Jac_FULL(346,303) JVS(5320) = 0 IF (DO_JVS(5321)) & ! JVS(5321) = Jac_FULL(346,304) JVS(5321) = -B(993)-B(995)-B(997)-B(999) IF (DO_JVS(5322)) & ! JVS(5322) = Jac_FULL(346,305) JVS(5322) = -B(985)-B(987)-B(989)-B(991) IF (DO_JVS(5323)) & ! JVS(5323) = Jac_FULL(346,306) JVS(5323) = 0 IF (DO_JVS(5324)) & ! JVS(5324) = Jac_FULL(346,308) JVS(5324) = -B(1293) IF (DO_JVS(5325)) & ! JVS(5325) = Jac_FULL(346,309) JVS(5325) = 0 IF (DO_JVS(5326)) & ! JVS(5326) = Jac_FULL(346,310) JVS(5326) = -B(1169)-B(1171) IF (DO_JVS(5327)) & ! JVS(5327) = Jac_FULL(346,311) JVS(5327) = -B(1173)-B(1175) IF (DO_JVS(5328)) & ! JVS(5328) = Jac_FULL(346,312) JVS(5328) = -B(693) IF (DO_JVS(5329)) & ! JVS(5329) = Jac_FULL(346,313) JVS(5329) = -B(183) IF (DO_JVS(5330)) & ! JVS(5330) = Jac_FULL(346,314) JVS(5330) = 0 IF (DO_JVS(5331)) & ! JVS(5331) = Jac_FULL(346,315) JVS(5331) = -B(112) IF (DO_JVS(5332)) & ! JVS(5332) = Jac_FULL(346,318) JVS(5332) = -B(181) IF (DO_JVS(5333)) & ! JVS(5333) = Jac_FULL(346,319) JVS(5333) = -B(177)-B(179) IF (DO_JVS(5334)) & ! JVS(5334) = Jac_FULL(346,320) JVS(5334) = -B(185)-B(236) IF (DO_JVS(5335)) & ! JVS(5335) = Jac_FULL(346,321) JVS(5335) = -B(118)-B(120) IF (DO_JVS(5336)) & ! JVS(5336) = Jac_FULL(346,322) JVS(5336) = -B(208) IF (DO_JVS(5337)) & ! JVS(5337) = Jac_FULL(346,323) JVS(5337) = -B(187)-B(189) IF (DO_JVS(5338)) & ! JVS(5338) = Jac_FULL(346,324) JVS(5338) = -B(104) IF (DO_JVS(5339)) & ! JVS(5339) = Jac_FULL(346,326) JVS(5339) = 0 IF (DO_JVS(5340)) & ! JVS(5340) = Jac_FULL(346,327) JVS(5340) = 0 IF (DO_JVS(5341)) & ! JVS(5341) = Jac_FULL(346,328) JVS(5341) = -B(49)-B(51) IF (DO_JVS(5342)) & ! JVS(5342) = Jac_FULL(346,329) JVS(5342) = 0 IF (DO_JVS(5343)) & ! JVS(5343) = Jac_FULL(346,330) JVS(5343) = 0 IF (DO_JVS(5344)) & ! JVS(5344) = Jac_FULL(346,331) JVS(5344) = -B(643) IF (DO_JVS(5345)) & ! JVS(5345) = Jac_FULL(346,332) JVS(5345) = 0 IF (DO_JVS(5346)) & ! JVS(5346) = Jac_FULL(346,334) JVS(5346) = 1.22*B(442) IF (DO_JVS(5347)) & ! JVS(5347) = Jac_FULL(346,335) JVS(5347) = B(91)+B(461)+B(1644) IF (DO_JVS(5348)) & ! JVS(5348) = Jac_FULL(346,336) JVS(5348) = 0 IF (DO_JVS(5349)) & ! JVS(5349) = Jac_FULL(346,337) JVS(5349) = -B(42) IF (DO_JVS(5350)) & ! JVS(5350) = Jac_FULL(346,338) JVS(5350) = -B(581) IF (DO_JVS(5351)) & ! JVS(5351) = Jac_FULL(346,339) JVS(5351) = 0 IF (DO_JVS(5352)) & ! JVS(5352) = Jac_FULL(346,340) JVS(5352) = 0 IF (DO_JVS(5353)) & ! JVS(5353) = Jac_FULL(346,341) JVS(5353) = -B(26) IF (DO_JVS(5354)) & ! JVS(5354) = Jac_FULL(346,342) JVS(5354) = 0 IF (DO_JVS(5355)) & ! JVS(5355) = Jac_FULL(346,343) JVS(5355) = B(462)-B(465) IF (DO_JVS(5356)) & ! JVS(5356) = Jac_FULL(346,344) JVS(5356) = 0 IF (DO_JVS(5357)) & ! JVS(5357) = Jac_FULL(346,345) JVS(5357) = -B(69) IF (DO_JVS(5358)) & ! JVS(5358) = Jac_FULL(346,346) JVS(5358) = -B(27)-B(43)-B(50)-B(52)-B(70)-B(80)-B(105)-B(109)-B(111)-B(113)-B(119)-B(121)-B(123)-B(129)-B(131)-B(139)& &-B(149)-B(157)-B(163)-B(172)-B(174)-B(176)-B(178)-B(180)-B(182)-B(184)-B(186)-B(188)-B(190)-B(192)-B(209)& &-B(237)-B(244)-B(301)-B(399)-B(466)-B(480)-B(582)-B(644)-B(666)-B(682)-B(694)-B(708)-B(738)-B(752)-B(765)& &-B(777)-B(789)-B(791)-B(803)-B(825)-B(841)-B(854)-B(856)-B(902)-B(904)-B(986)-B(988)-B(990)-B(992)-B(994)& &-B(996)-B(998)-B(1000)-B(1033)-B(1035)-B(1040)-B(1042)-B(1047)-B(1049)-B(1067)-B(1069)-B(1073)-B(1075)& &-B(1081)-B(1083)-B(1086)-B(1090)-B(1117)-B(1119)-B(1124)-B(1126)-B(1132)-B(1134)-B(1138)-B(1140)-B(1144)& &-B(1146)-B(1170)-B(1172)-B(1174)-B(1176)-B(1203)-B(1205)-B(1207)-B(1209)-B(1215)-B(1221)-B(1247)-B(1253)& &-B(1273)-B(1275)-B(1284)-B(1286)-B(1288)-B(1294)-B(1353)-B(1367)-B(1390)-B(1400)-B(1406)-B(1435)-B(1446)& &-B(1747) IF (DO_JVS(5359)) & ! JVS(5359) = Jac_FULL(346,347) JVS(5359) = -B(400) IF (DO_JVS(5360)) & ! JVS(5360) = Jac_FULL(346,348) JVS(5360) = 0 IF (DO_JVS(5361)) & ! JVS(5361) = Jac_FULL(346,349) JVS(5361) = 0 IF (DO_JVS(5362)) & ! JVS(5362) = Jac_FULL(346,350) JVS(5362) = 0 IF (DO_JVS(5363)) & ! JVS(5363) = Jac_FULL(346,351) JVS(5363) = -B(81)+B(92)+B(1654) IF (DO_JVS(5364)) & ! JVS(5364) = Jac_FULL(346,352) JVS(5364) = 0 IF (DO_JVS(5365)) & ! JVS(5365) = Jac_FULL(346,353) JVS(5365) = 0 IF (DO_JVS(5366)) & ! JVS(5366) = Jac_FULL(347,53) JVS(5366) = 0.45*B(511) IF (DO_JVS(5367)) & ! JVS(5367) = Jac_FULL(347,54) JVS(5367) = 0.75*B(525) IF (DO_JVS(5368)) & ! JVS(5368) = Jac_FULL(347,61) JVS(5368) = 0.31*B(509) IF (DO_JVS(5369)) & ! JVS(5369) = Jac_FULL(347,78) JVS(5369) = 0.95*B(499) IF (DO_JVS(5370)) & ! JVS(5370) = Jac_FULL(347,81) JVS(5370) = 0.7*B(501) IF (DO_JVS(5371)) & ! JVS(5371) = Jac_FULL(347,105) JVS(5371) = 0.44*B(497) IF (DO_JVS(5372)) & ! JVS(5372) = Jac_FULL(347,218) JVS(5372) = B(1694) IF (DO_JVS(5373)) & ! JVS(5373) = Jac_FULL(347,284) JVS(5373) = -B(659) IF (DO_JVS(5374)) & ! JVS(5374) = Jac_FULL(347,316) JVS(5374) = B(405) IF (DO_JVS(5375)) & ! JVS(5375) = Jac_FULL(347,330) JVS(5375) = 0 IF (DO_JVS(5376)) & ! JVS(5376) = Jac_FULL(347,331) JVS(5376) = -B(657) IF (DO_JVS(5377)) & ! JVS(5377) = Jac_FULL(347,332) JVS(5377) = 0 IF (DO_JVS(5378)) & ! JVS(5378) = Jac_FULL(347,334) JVS(5378) = 0.2*B(489)+0.44*B(498)+0.95*B(500)+0.7*B(502)+0.31*B(510)+0.45*B(512)+0.75*B(526) IF (DO_JVS(5379)) & ! JVS(5379) = Jac_FULL(347,335) JVS(5379) = -B(425) IF (DO_JVS(5380)) & ! JVS(5380) = Jac_FULL(347,336) JVS(5380) = 0 IF (DO_JVS(5381)) & ! JVS(5381) = Jac_FULL(347,337) JVS(5381) = -B(391) IF (DO_JVS(5382)) & ! JVS(5382) = Jac_FULL(347,338) JVS(5382) = -B(595)-B(597)-B(599) IF (DO_JVS(5383)) & ! JVS(5383) = Jac_FULL(347,339) JVS(5383) = 0 IF (DO_JVS(5384)) & ! JVS(5384) = Jac_FULL(347,340) JVS(5384) = 0 IF (DO_JVS(5385)) & ! JVS(5385) = Jac_FULL(347,341) JVS(5385) = B(389) IF (DO_JVS(5386)) & ! JVS(5386) = Jac_FULL(347,342) JVS(5386) = B(390)+B(411) IF (DO_JVS(5387)) & ! JVS(5387) = Jac_FULL(347,343) JVS(5387) = B(406)-B(483) IF (DO_JVS(5388)) & ! JVS(5388) = Jac_FULL(347,344) JVS(5388) = 0 IF (DO_JVS(5389)) & ! JVS(5389) = Jac_FULL(347,345) JVS(5389) = -B(409) IF (DO_JVS(5390)) & ! JVS(5390) = Jac_FULL(347,346) JVS(5390) = -B(399) IF (DO_JVS(5391)) & ! JVS(5391) = Jac_FULL(347,347) JVS(5391) = -B(392)-2*B(397)-2*B(398)-B(400)-B(410)-B(426)-B(484)-B(596)-B(598)-B(600)-B(658)-B(660)-B(1691) IF (DO_JVS(5392)) & ! JVS(5392) = Jac_FULL(347,348) JVS(5392) = 0 IF (DO_JVS(5393)) & ! JVS(5393) = Jac_FULL(347,349) JVS(5393) = 0 IF (DO_JVS(5394)) & ! JVS(5394) = Jac_FULL(347,350) JVS(5394) = 0 IF (DO_JVS(5395)) & ! JVS(5395) = Jac_FULL(347,351) JVS(5395) = B(412) IF (DO_JVS(5396)) & ! JVS(5396) = Jac_FULL(347,352) JVS(5396) = 0.2*B(490) IF (DO_JVS(5397)) & ! JVS(5397) = Jac_FULL(347,353) JVS(5397) = 0 IF (DO_JVS(5398)) & ! JVS(5398) = Jac_FULL(348,68) JVS(5398) = B(457)+B(459)+B(1745) IF (DO_JVS(5399)) & ! JVS(5399) = Jac_FULL(348,89) JVS(5399) = B(22)-B(23) IF (DO_JVS(5400)) & ! JVS(5400) = Jac_FULL(348,94) JVS(5400) = B(381)+0.75*B(383)+B(385) IF (DO_JVS(5401)) & ! JVS(5401) = Jac_FULL(348,134) JVS(5401) = B(1746) IF (DO_JVS(5402)) & ! JVS(5402) = Jac_FULL(348,166) JVS(5402) = -B(8) IF (DO_JVS(5403)) & ! JVS(5403) = Jac_FULL(348,179) JVS(5403) = -B(1) IF (DO_JVS(5404)) & ! JVS(5404) = Jac_FULL(348,241) JVS(5404) = -B(711) IF (DO_JVS(5405)) & ! JVS(5405) = Jac_FULL(348,264) JVS(5405) = -B(15) IF (DO_JVS(5406)) & ! JVS(5406) = Jac_FULL(348,276) JVS(5406) = 0 IF (DO_JVS(5407)) & ! JVS(5407) = Jac_FULL(348,290) JVS(5407) = 0 IF (DO_JVS(5408)) & ! JVS(5408) = Jac_FULL(348,312) JVS(5408) = -B(703) IF (DO_JVS(5409)) & ! JVS(5409) = Jac_FULL(348,314) JVS(5409) = 0 IF (DO_JVS(5410)) & ! JVS(5410) = Jac_FULL(348,316) JVS(5410) = -B(1561) IF (DO_JVS(5411)) & ! JVS(5411) = Jac_FULL(348,324) JVS(5411) = 0 IF (DO_JVS(5412)) & ! JVS(5412) = Jac_FULL(348,325) JVS(5412) = -B(20) IF (DO_JVS(5413)) & ! JVS(5413) = Jac_FULL(348,326) JVS(5413) = 0 IF (DO_JVS(5414)) & ! JVS(5414) = Jac_FULL(348,327) JVS(5414) = 0 IF (DO_JVS(5415)) & ! JVS(5415) = Jac_FULL(348,328) JVS(5415) = 0 IF (DO_JVS(5416)) & ! JVS(5416) = Jac_FULL(348,329) JVS(5416) = 0 IF (DO_JVS(5417)) & ! JVS(5417) = Jac_FULL(348,332) JVS(5417) = 0 IF (DO_JVS(5418)) & ! JVS(5418) = Jac_FULL(348,333) JVS(5418) = -B(1547) IF (DO_JVS(5419)) & ! JVS(5419) = Jac_FULL(348,334) JVS(5419) = 0 IF (DO_JVS(5420)) & ! JVS(5420) = Jac_FULL(348,335) JVS(5420) = 0 IF (DO_JVS(5421)) & ! JVS(5421) = Jac_FULL(348,336) JVS(5421) = 0 IF (DO_JVS(5422)) & ! JVS(5422) = Jac_FULL(348,337) JVS(5422) = 0 IF (DO_JVS(5423)) & ! JVS(5423) = Jac_FULL(348,338) JVS(5423) = 0 IF (DO_JVS(5424)) & ! JVS(5424) = Jac_FULL(348,339) JVS(5424) = 0 IF (DO_JVS(5425)) & ! JVS(5425) = Jac_FULL(348,340) JVS(5425) = 0 IF (DO_JVS(5426)) & ! JVS(5426) = Jac_FULL(348,341) JVS(5426) = -B(2)-B(9)-B(17) IF (DO_JVS(5427)) & ! JVS(5427) = Jac_FULL(348,342) JVS(5427) = 0 IF (DO_JVS(5428)) & ! JVS(5428) = Jac_FULL(348,343) JVS(5428) = B(458) IF (DO_JVS(5429)) & ! JVS(5429) = Jac_FULL(348,344) JVS(5429) = 0 IF (DO_JVS(5430)) & ! JVS(5430) = Jac_FULL(348,345) JVS(5430) = -B(24)+B(382)+0.75*B(384)-B(387)+B(460) IF (DO_JVS(5431)) & ! JVS(5431) = Jac_FULL(348,346) JVS(5431) = 0 IF (DO_JVS(5432)) & ! JVS(5432) = Jac_FULL(348,347) JVS(5432) = 0 IF (DO_JVS(5433)) & ! JVS(5433) = Jac_FULL(348,348) JVS(5433) = -B(3)-B(10)-B(16)-B(18)-B(19)-B(21)-B(25)-B(388)-B(704)-B(712)-B(1548)-B(1562) IF (DO_JVS(5434)) & ! JVS(5434) = Jac_FULL(348,349) JVS(5434) = 0 IF (DO_JVS(5435)) & ! JVS(5435) = Jac_FULL(348,350) JVS(5435) = 0 IF (DO_JVS(5436)) & ! JVS(5436) = Jac_FULL(348,351) JVS(5436) = B(386) IF (DO_JVS(5437)) & ! JVS(5437) = Jac_FULL(348,352) JVS(5437) = 0 IF (DO_JVS(5438)) & ! JVS(5438) = Jac_FULL(348,353) JVS(5438) = 0 IF (DO_JVS(5439)) & ! JVS(5439) = Jac_FULL(349,252) JVS(5439) = -B(1591) IF (DO_JVS(5440)) & ! JVS(5440) = Jac_FULL(349,297) JVS(5440) = -B(1533) IF (DO_JVS(5441)) & ! JVS(5441) = Jac_FULL(349,316) JVS(5441) = -B(1557) IF (DO_JVS(5442)) & ! JVS(5442) = Jac_FULL(349,317) JVS(5442) = -B(1519) IF (DO_JVS(5443)) & ! JVS(5443) = Jac_FULL(349,330) JVS(5443) = -B(1607) IF (DO_JVS(5444)) & ! JVS(5444) = Jac_FULL(349,331) JVS(5444) = 0 IF (DO_JVS(5445)) & ! JVS(5445) = Jac_FULL(349,332) JVS(5445) = -B(1599) IF (DO_JVS(5446)) & ! JVS(5446) = Jac_FULL(349,335) JVS(5446) = 0 IF (DO_JVS(5447)) & ! JVS(5447) = Jac_FULL(349,336) JVS(5447) = 0 IF (DO_JVS(5448)) & ! JVS(5448) = Jac_FULL(349,337) JVS(5448) = 0 IF (DO_JVS(5449)) & ! JVS(5449) = Jac_FULL(349,338) JVS(5449) = 0 IF (DO_JVS(5450)) & ! JVS(5450) = Jac_FULL(349,339) JVS(5450) = 0 IF (DO_JVS(5451)) & ! JVS(5451) = Jac_FULL(349,340) JVS(5451) = 0 IF (DO_JVS(5452)) & ! JVS(5452) = Jac_FULL(349,341) JVS(5452) = -B(1565) IF (DO_JVS(5453)) & ! JVS(5453) = Jac_FULL(349,342) JVS(5453) = 0 IF (DO_JVS(5454)) & ! JVS(5454) = Jac_FULL(349,343) JVS(5454) = 0 IF (DO_JVS(5455)) & ! JVS(5455) = Jac_FULL(349,344) JVS(5455) = 0 IF (DO_JVS(5456)) & ! JVS(5456) = Jac_FULL(349,345) JVS(5456) = 0 IF (DO_JVS(5457)) & ! JVS(5457) = Jac_FULL(349,346) JVS(5457) = 0 IF (DO_JVS(5458)) & ! JVS(5458) = Jac_FULL(349,347) JVS(5458) = 0 IF (DO_JVS(5459)) & ! JVS(5459) = Jac_FULL(349,348) JVS(5459) = 0 IF (DO_JVS(5460)) & ! JVS(5460) = Jac_FULL(349,349) JVS(5460) = -B(1520)-B(1534)-B(1558)-B(1566)-B(1592)-B(1600)-B(1608) IF (DO_JVS(5461)) & ! JVS(5461) = Jac_FULL(349,350) JVS(5461) = 0 IF (DO_JVS(5462)) & ! JVS(5462) = Jac_FULL(349,351) JVS(5462) = 0 IF (DO_JVS(5463)) & ! JVS(5463) = Jac_FULL(349,352) JVS(5463) = B(1569) IF (DO_JVS(5464)) & ! JVS(5464) = Jac_FULL(349,353) JVS(5464) = 0 IF (DO_JVS(5465)) & ! JVS(5465) = Jac_FULL(350,252) JVS(5465) = -B(1593) IF (DO_JVS(5466)) & ! JVS(5466) = Jac_FULL(350,297) JVS(5466) = -B(1535) IF (DO_JVS(5467)) & ! JVS(5467) = Jac_FULL(350,316) JVS(5467) = -B(1559) IF (DO_JVS(5468)) & ! JVS(5468) = Jac_FULL(350,317) JVS(5468) = -B(1521) IF (DO_JVS(5469)) & ! JVS(5469) = Jac_FULL(350,330) JVS(5469) = -B(1609) IF (DO_JVS(5470)) & ! JVS(5470) = Jac_FULL(350,331) JVS(5470) = 0 IF (DO_JVS(5471)) & ! JVS(5471) = Jac_FULL(350,332) JVS(5471) = -B(1601) IF (DO_JVS(5472)) & ! JVS(5472) = Jac_FULL(350,335) JVS(5472) = 0 IF (DO_JVS(5473)) & ! JVS(5473) = Jac_FULL(350,336) JVS(5473) = 0 IF (DO_JVS(5474)) & ! JVS(5474) = Jac_FULL(350,337) JVS(5474) = 0 IF (DO_JVS(5475)) & ! JVS(5475) = Jac_FULL(350,338) JVS(5475) = 0 IF (DO_JVS(5476)) & ! JVS(5476) = Jac_FULL(350,339) JVS(5476) = 0 IF (DO_JVS(5477)) & ! JVS(5477) = Jac_FULL(350,340) JVS(5477) = 0 IF (DO_JVS(5478)) & ! JVS(5478) = Jac_FULL(350,341) JVS(5478) = -B(1567) IF (DO_JVS(5479)) & ! JVS(5479) = Jac_FULL(350,342) JVS(5479) = 0 IF (DO_JVS(5480)) & ! JVS(5480) = Jac_FULL(350,343) JVS(5480) = 0 IF (DO_JVS(5481)) & ! JVS(5481) = Jac_FULL(350,344) JVS(5481) = 0 IF (DO_JVS(5482)) & ! JVS(5482) = Jac_FULL(350,345) JVS(5482) = 0 IF (DO_JVS(5483)) & ! JVS(5483) = Jac_FULL(350,346) JVS(5483) = 0 IF (DO_JVS(5484)) & ! JVS(5484) = Jac_FULL(350,347) JVS(5484) = 0 IF (DO_JVS(5485)) & ! JVS(5485) = Jac_FULL(350,348) JVS(5485) = 0 IF (DO_JVS(5486)) & ! JVS(5486) = Jac_FULL(350,349) JVS(5486) = 0 IF (DO_JVS(5487)) & ! JVS(5487) = Jac_FULL(350,350) JVS(5487) = -B(1522)-B(1536)-B(1560)-B(1568)-B(1594)-B(1602)-B(1610) IF (DO_JVS(5488)) & ! JVS(5488) = Jac_FULL(350,351) JVS(5488) = 0 IF (DO_JVS(5489)) & ! JVS(5489) = Jac_FULL(350,352) JVS(5489) = B(1570) IF (DO_JVS(5490)) & ! JVS(5490) = Jac_FULL(350,353) JVS(5490) = 0 IF (DO_JVS(5491)) & ! JVS(5491) = Jac_FULL(351,69) JVS(5491) = -B(126) IF (DO_JVS(5492)) & ! JVS(5492) = Jac_FULL(351,80) JVS(5492) = B(1741) IF (DO_JVS(5493)) & ! JVS(5493) = Jac_FULL(351,94) JVS(5493) = -B(385) IF (DO_JVS(5494)) & ! JVS(5494) = Jac_FULL(351,108) JVS(5494) = B(1651) IF (DO_JVS(5495)) & ! JVS(5495) = Jac_FULL(351,124) JVS(5495) = 0.3*B(1806) IF (DO_JVS(5496)) & ! JVS(5496) = Jac_FULL(351,126) JVS(5496) = B(167) IF (DO_JVS(5497)) & ! JVS(5497) = Jac_FULL(351,139) JVS(5497) = 0.3*B(1658) IF (DO_JVS(5498)) & ! JVS(5498) = Jac_FULL(351,140) JVS(5498) = -B(144) IF (DO_JVS(5499)) & ! JVS(5499) = Jac_FULL(351,142) JVS(5499) = -B(193) IF (DO_JVS(5500)) & ! JVS(5500) = Jac_FULL(351,149) JVS(5500) = -B(1346) IF (DO_JVS(5501)) & ! JVS(5501) = Jac_FULL(351,154) JVS(5501) = B(937) IF (DO_JVS(5502)) & ! JVS(5502) = Jac_FULL(351,158) JVS(5502) = -B(1420) IF (DO_JVS(5503)) & ! JVS(5503) = Jac_FULL(351,163) JVS(5503) = -B(834) IF (DO_JVS(5504)) & ! JVS(5504) = Jac_FULL(351,167) JVS(5504) = -B(721) IF (DO_JVS(5505)) & ! JVS(5505) = Jac_FULL(351,170) JVS(5505) = -B(650) IF (DO_JVS(5506)) & ! JVS(5506) = Jac_FULL(351,183) JVS(5506) = -B(344) IF (DO_JVS(5507)) & ! JVS(5507) = Jac_FULL(351,184) JVS(5507) = B(1302) IF (DO_JVS(5508)) & ! JVS(5508) = Jac_FULL(351,191) JVS(5508) = -B(717) IF (DO_JVS(5509)) & ! JVS(5509) = Jac_FULL(351,193) JVS(5509) = -B(869) IF (DO_JVS(5510)) & ! JVS(5510) = Jac_FULL(351,195) JVS(5510) = -B(1416) IF (DO_JVS(5511)) & ! JVS(5511) = Jac_FULL(351,197) JVS(5511) = 0 IF (DO_JVS(5512)) & ! JVS(5512) = Jac_FULL(351,200) JVS(5512) = -B(1350) IF (DO_JVS(5513)) & ! JVS(5513) = Jac_FULL(351,202) JVS(5513) = -B(1426) IF (DO_JVS(5514)) & ! JVS(5514) = Jac_FULL(351,204) JVS(5514) = -B(1430) IF (DO_JVS(5515)) & ! JVS(5515) = Jac_FULL(351,211) JVS(5515) = -B(822) IF (DO_JVS(5516)) & ! JVS(5516) = Jac_FULL(351,213) JVS(5516) = -B(304) IF (DO_JVS(5517)) & ! JVS(5517) = Jac_FULL(351,214) JVS(5517) = B(86)+B(1655) IF (DO_JVS(5518)) & ! JVS(5518) = Jac_FULL(351,218) JVS(5518) = B(401)+B(1693) IF (DO_JVS(5519)) & ! JVS(5519) = Jac_FULL(351,219) JVS(5519) = -B(719) IF (DO_JVS(5520)) & ! JVS(5520) = Jac_FULL(351,220) JVS(5520) = -B(1340) IF (DO_JVS(5521)) & ! JVS(5521) = Jac_FULL(351,225) JVS(5521) = -B(745) IF (DO_JVS(5522)) & ! JVS(5522) = Jac_FULL(351,229) JVS(5522) = -B(863) IF (DO_JVS(5523)) & ! JVS(5523) = Jac_FULL(351,233) JVS(5523) = 0 IF (DO_JVS(5524)) & ! JVS(5524) = Jac_FULL(351,234) JVS(5524) = -B(1368) IF (DO_JVS(5525)) & ! JVS(5525) = Jac_FULL(351,236) JVS(5525) = B(1443)-B(1447) IF (DO_JVS(5526)) & ! JVS(5526) = Jac_FULL(351,237) JVS(5526) = -B(816) IF (DO_JVS(5527)) & ! JVS(5527) = Jac_FULL(351,241) JVS(5527) = B(709) IF (DO_JVS(5528)) & ! JVS(5528) = Jac_FULL(351,242) JVS(5528) = -B(931) IF (DO_JVS(5529)) & ! JVS(5529) = Jac_FULL(351,246) JVS(5529) = 0 IF (DO_JVS(5530)) & ! JVS(5530) = Jac_FULL(351,252) JVS(5530) = 0 IF (DO_JVS(5531)) & ! JVS(5531) = Jac_FULL(351,255) JVS(5531) = -B(810) IF (DO_JVS(5532)) & ! JVS(5532) = Jac_FULL(351,256) JVS(5532) = -B(933) IF (DO_JVS(5533)) & ! JVS(5533) = Jac_FULL(351,257) JVS(5533) = -B(756) IF (DO_JVS(5534)) & ! JVS(5534) = Jac_FULL(351,259) JVS(5534) = 0 IF (DO_JVS(5535)) & ! JVS(5535) = Jac_FULL(351,261) JVS(5535) = -B(1318) IF (DO_JVS(5536)) & ! JVS(5536) = Jac_FULL(351,262) JVS(5536) = -B(875) IF (DO_JVS(5537)) & ! JVS(5537) = Jac_FULL(351,263) JVS(5537) = -B(1391) IF (DO_JVS(5538)) & ! JVS(5538) = Jac_FULL(351,267) JVS(5538) = 0 IF (DO_JVS(5539)) & ! JVS(5539) = Jac_FULL(351,269) JVS(5539) = -B(1459) IF (DO_JVS(5540)) & ! JVS(5540) = Jac_FULL(351,270) JVS(5540) = -B(316) IF (DO_JVS(5541)) & ! JVS(5541) = Jac_FULL(351,271) JVS(5541) = 0 IF (DO_JVS(5542)) & ! JVS(5542) = Jac_FULL(351,272) JVS(5542) = -B(828) IF (DO_JVS(5543)) & ! JVS(5543) = Jac_FULL(351,273) JVS(5543) = -B(794) IF (DO_JVS(5544)) & ! JVS(5544) = Jac_FULL(351,274) JVS(5544) = -B(845) IF (DO_JVS(5545)) & ! JVS(5545) = Jac_FULL(351,275) JVS(5545) = -B(778) IF (DO_JVS(5546)) & ! JVS(5546) = Jac_FULL(351,276) JVS(5546) = -B(1147) IF (DO_JVS(5547)) & ! JVS(5547) = Jac_FULL(351,277) JVS(5547) = -B(739) IF (DO_JVS(5548)) & ! JVS(5548) = Jac_FULL(351,278) JVS(5548) = -B(766) IF (DO_JVS(5549)) & ! JVS(5549) = Jac_FULL(351,280) JVS(5549) = -B(917) IF (DO_JVS(5550)) & ! JVS(5550) = Jac_FULL(351,281) JVS(5550) = -B(804) IF (DO_JVS(5551)) & ! JVS(5551) = Jac_FULL(351,285) JVS(5551) = 0 IF (DO_JVS(5552)) & ! JVS(5552) = Jac_FULL(351,286) JVS(5552) = 0 IF (DO_JVS(5553)) & ! JVS(5553) = Jac_FULL(351,288) JVS(5553) = 0 IF (DO_JVS(5554)) & ! JVS(5554) = Jac_FULL(351,289) JVS(5554) = -B(919) IF (DO_JVS(5555)) & ! JVS(5555) = Jac_FULL(351,290) JVS(5555) = -B(310) IF (DO_JVS(5556)) & ! JVS(5556) = Jac_FULL(351,291) JVS(5556) = -B(857) IF (DO_JVS(5557)) & ! JVS(5557) = Jac_FULL(351,292) JVS(5557) = -B(251) IF (DO_JVS(5558)) & ! JVS(5558) = Jac_FULL(351,293) JVS(5558) = 0 IF (DO_JVS(5559)) & ! JVS(5559) = Jac_FULL(351,294) JVS(5559) = -B(318) IF (DO_JVS(5560)) & ! JVS(5560) = Jac_FULL(351,298) JVS(5560) = -B(210) IF (DO_JVS(5561)) & ! JVS(5561) = Jac_FULL(351,299) JVS(5561) = 0 IF (DO_JVS(5562)) & ! JVS(5562) = Jac_FULL(351,300) JVS(5562) = 0 IF (DO_JVS(5563)) & ! JVS(5563) = Jac_FULL(351,301) JVS(5563) = 0 IF (DO_JVS(5564)) & ! JVS(5564) = Jac_FULL(351,302) JVS(5564) = 0.69*B(1236) IF (DO_JVS(5565)) & ! JVS(5565) = Jac_FULL(351,303) JVS(5565) = 0 IF (DO_JVS(5566)) & ! JVS(5566) = Jac_FULL(351,304) JVS(5566) = 0 IF (DO_JVS(5567)) & ! JVS(5567) = Jac_FULL(351,305) JVS(5567) = 0 IF (DO_JVS(5568)) & ! JVS(5568) = Jac_FULL(351,306) JVS(5568) = -B(295) IF (DO_JVS(5569)) & ! JVS(5569) = Jac_FULL(351,307) JVS(5569) = 0 IF (DO_JVS(5570)) & ! JVS(5570) = Jac_FULL(351,308) JVS(5570) = -B(1297) IF (DO_JVS(5571)) & ! JVS(5571) = Jac_FULL(351,309) JVS(5571) = -B(1234) IF (DO_JVS(5572)) & ! JVS(5572) = Jac_FULL(351,310) JVS(5572) = -B(1165) IF (DO_JVS(5573)) & ! JVS(5573) = Jac_FULL(351,311) JVS(5573) = -B(1167) IF (DO_JVS(5574)) & ! JVS(5574) = Jac_FULL(351,312) JVS(5574) = B(695) IF (DO_JVS(5575)) & ! JVS(5575) = Jac_FULL(351,313) JVS(5575) = 0 IF (DO_JVS(5576)) & ! JVS(5576) = Jac_FULL(351,314) JVS(5576) = 0 IF (DO_JVS(5577)) & ! JVS(5577) = Jac_FULL(351,317) JVS(5577) = B(545)+B(601)+B(603)+B(1707) IF (DO_JVS(5578)) & ! JVS(5578) = Jac_FULL(351,318) JVS(5578) = 0 IF (DO_JVS(5579)) & ! JVS(5579) = Jac_FULL(351,319) JVS(5579) = 0 IF (DO_JVS(5580)) & ! JVS(5580) = Jac_FULL(351,320) JVS(5580) = 0 IF (DO_JVS(5581)) & ! JVS(5581) = Jac_FULL(351,321) JVS(5581) = 0 IF (DO_JVS(5582)) & ! JVS(5582) = Jac_FULL(351,322) JVS(5582) = 0 IF (DO_JVS(5583)) & ! JVS(5583) = Jac_FULL(351,323) JVS(5583) = 0 IF (DO_JVS(5584)) & ! JVS(5584) = Jac_FULL(351,324) JVS(5584) = 0 IF (DO_JVS(5585)) & ! JVS(5585) = Jac_FULL(351,325) JVS(5585) = -B(93) IF (DO_JVS(5586)) & ! JVS(5586) = Jac_FULL(351,326) JVS(5586) = -B(97) IF (DO_JVS(5587)) & ! JVS(5587) = Jac_FULL(351,327) JVS(5587) = B(67) IF (DO_JVS(5588)) & ! JVS(5588) = Jac_FULL(351,328) JVS(5588) = -B(1487) IF (DO_JVS(5589)) & ! JVS(5589) = Jac_FULL(351,329) JVS(5589) = 0 IF (DO_JVS(5590)) & ! JVS(5590) = Jac_FULL(351,331) JVS(5590) = B(655) IF (DO_JVS(5591)) & ! JVS(5591) = Jac_FULL(351,332) JVS(5591) = B(656)+B(1731) IF (DO_JVS(5592)) & ! JVS(5592) = Jac_FULL(351,334) JVS(5592) = 0 IF (DO_JVS(5593)) & ! JVS(5593) = Jac_FULL(351,335) JVS(5593) = B(32)-B(84)-B(91)+B(467)+B(696)+B(710)+B(1444) IF (DO_JVS(5594)) & ! JVS(5594) = Jac_FULL(351,336) JVS(5594) = 0 IF (DO_JVS(5595)) & ! JVS(5595) = Jac_FULL(351,337) JVS(5595) = -B(78) IF (DO_JVS(5596)) & ! JVS(5596) = Jac_FULL(351,338) JVS(5596) = 0 IF (DO_JVS(5597)) & ! JVS(5597) = Jac_FULL(351,339) JVS(5597) = 0 IF (DO_JVS(5598)) & ! JVS(5598) = Jac_FULL(351,340) JVS(5598) = B(604) IF (DO_JVS(5599)) & ! JVS(5599) = Jac_FULL(351,341) JVS(5599) = B(33) IF (DO_JVS(5600)) & ! JVS(5600) = Jac_FULL(351,342) JVS(5600) = B(402)-B(411) IF (DO_JVS(5601)) & ! JVS(5601) = Jac_FULL(351,343) JVS(5601) = -B(463)+B(468)+B(602) IF (DO_JVS(5602)) & ! JVS(5602) = Jac_FULL(351,344) JVS(5602) = 0 IF (DO_JVS(5603)) & ! JVS(5603) = Jac_FULL(351,345) JVS(5603) = B(68)-B(82)+B(168)+B(546)+B(938)+0.69*B(1237)+B(1303) IF (DO_JVS(5604)) & ! JVS(5604) = Jac_FULL(351,346) JVS(5604) = -B(80) IF (DO_JVS(5605)) & ! JVS(5605) = Jac_FULL(351,347) JVS(5605) = 0 IF (DO_JVS(5606)) & ! JVS(5606) = Jac_FULL(351,348) JVS(5606) = 0 IF (DO_JVS(5607)) & ! JVS(5607) = Jac_FULL(351,349) JVS(5607) = 0 IF (DO_JVS(5608)) & ! JVS(5608) = Jac_FULL(351,350) JVS(5608) = 0 IF (DO_JVS(5609)) & ! JVS(5609) = Jac_FULL(351,351) JVS(5609) = -B(79)-B(81)-B(83)-B(85)-B(92)-B(94)-B(98)-B(127)-B(145)-B(194)-B(211)-B(252)-B(296)-B(305)-B(311)-B(317)& &-B(319)-B(345)-2*B(377)-B(386)-B(412)-B(464)-B(651)-B(718)-B(720)-B(722)-B(740)-B(746)-B(757)-B(767)-B(779)& &-B(795)-B(805)-B(811)-B(817)-B(823)-B(829)-B(835)-B(846)-B(858)-B(864)-B(870)-B(876)-B(918)-B(920)-B(932)& &-B(934)-B(1148)-B(1166)-B(1168)-B(1235)-B(1298)-B(1319)-B(1341)-B(1347)-B(1351)-B(1369)-B(1392)-B(1417)& &-B(1421)-B(1427)-B(1431)-B(1448)-B(1460)-B(1488)-B(1493)-B(1494)-B(1495)-B(1653)-B(1654) IF (DO_JVS(5610)) & ! JVS(5610) = Jac_FULL(351,352) JVS(5610) = 0 IF (DO_JVS(5611)) & ! JVS(5611) = Jac_FULL(351,353) JVS(5611) = 0 IF (DO_JVS(5612)) & ! JVS(5612) = Jac_FULL(352,141) JVS(5612) = B(421) IF (DO_JVS(5613)) & ! JVS(5613) = Jac_FULL(352,183) JVS(5613) = B(419) IF (DO_JVS(5614)) & ! JVS(5614) = Jac_FULL(352,290) JVS(5614) = B(641) IF (DO_JVS(5615)) & ! JVS(5615) = Jac_FULL(352,295) JVS(5615) = B(417) IF (DO_JVS(5616)) & ! JVS(5616) = Jac_FULL(352,297) JVS(5616) = -B(1537) IF (DO_JVS(5617)) & ! JVS(5617) = Jac_FULL(352,300) JVS(5617) = 0 IF (DO_JVS(5618)) & ! JVS(5618) = Jac_FULL(352,314) JVS(5618) = 0 IF (DO_JVS(5619)) & ! JVS(5619) = Jac_FULL(352,316) JVS(5619) = -B(1549)+B(1561) IF (DO_JVS(5620)) & ! JVS(5620) = Jac_FULL(352,317) JVS(5620) = -B(1517) IF (DO_JVS(5621)) & ! JVS(5621) = Jac_FULL(352,318) JVS(5621) = 0 IF (DO_JVS(5622)) & ! JVS(5622) = Jac_FULL(352,319) JVS(5622) = 0 IF (DO_JVS(5623)) & ! JVS(5623) = Jac_FULL(352,320) JVS(5623) = 0 IF (DO_JVS(5624)) & ! JVS(5624) = Jac_FULL(352,323) JVS(5624) = 0 IF (DO_JVS(5625)) & ! JVS(5625) = Jac_FULL(352,324) JVS(5625) = 0 IF (DO_JVS(5626)) & ! JVS(5626) = Jac_FULL(352,325) JVS(5626) = B(413) IF (DO_JVS(5627)) & ! JVS(5627) = Jac_FULL(352,326) JVS(5627) = B(415) IF (DO_JVS(5628)) & ! JVS(5628) = Jac_FULL(352,328) JVS(5628) = 0 IF (DO_JVS(5629)) & ! JVS(5629) = Jac_FULL(352,329) JVS(5629) = 0 IF (DO_JVS(5630)) & ! JVS(5630) = Jac_FULL(352,333) JVS(5630) = -B(1541) IF (DO_JVS(5631)) & ! JVS(5631) = Jac_FULL(352,334) JVS(5631) = -0.8*B(489) IF (DO_JVS(5632)) & ! JVS(5632) = Jac_FULL(352,335) JVS(5632) = 0 IF (DO_JVS(5633)) & ! JVS(5633) = Jac_FULL(352,336) JVS(5633) = 0 IF (DO_JVS(5634)) & ! JVS(5634) = Jac_FULL(352,337) JVS(5634) = B(393) IF (DO_JVS(5635)) & ! JVS(5635) = Jac_FULL(352,338) JVS(5635) = 0 IF (DO_JVS(5636)) & ! JVS(5636) = Jac_FULL(352,339) JVS(5636) = 0 IF (DO_JVS(5637)) & ! JVS(5637) = Jac_FULL(352,340) JVS(5637) = 0 IF (DO_JVS(5638)) & ! JVS(5638) = Jac_FULL(352,341) JVS(5638) = -B(1563) IF (DO_JVS(5639)) & ! JVS(5639) = Jac_FULL(352,342) JVS(5639) = B(394)+B(414)+B(416)+B(418)+B(420)+B(422)+B(642) IF (DO_JVS(5640)) & ! JVS(5640) = Jac_FULL(352,343) JVS(5640) = -B(407) IF (DO_JVS(5641)) & ! JVS(5641) = Jac_FULL(352,344) JVS(5641) = 0 IF (DO_JVS(5642)) & ! JVS(5642) = Jac_FULL(352,345) JVS(5642) = -B(395) IF (DO_JVS(5643)) & ! JVS(5643) = Jac_FULL(352,346) JVS(5643) = 0 IF (DO_JVS(5644)) & ! JVS(5644) = Jac_FULL(352,347) JVS(5644) = 0 IF (DO_JVS(5645)) & ! JVS(5645) = Jac_FULL(352,348) JVS(5645) = B(1562) IF (DO_JVS(5646)) & ! JVS(5646) = Jac_FULL(352,349) JVS(5646) = 0 IF (DO_JVS(5647)) & ! JVS(5647) = Jac_FULL(352,350) JVS(5647) = 0 IF (DO_JVS(5648)) & ! JVS(5648) = Jac_FULL(352,351) JVS(5648) = 0 IF (DO_JVS(5649)) & ! JVS(5649) = Jac_FULL(352,352) JVS(5649) = -B(396)-B(408)-0.8*B(490)-B(1518)-B(1538)-B(1542)-B(1550)-B(1564)-B(1569)-B(1570) IF (DO_JVS(5650)) & ! JVS(5650) = Jac_FULL(352,353) JVS(5650) = 0 IF (DO_JVS(5651)) & ! JVS(5651) = Jac_FULL(353,179) JVS(5651) = B(4) IF (DO_JVS(5652)) & ! JVS(5652) = Jac_FULL(353,214) JVS(5652) = -B(1501) IF (DO_JVS(5653)) & ! JVS(5653) = Jac_FULL(353,252) JVS(5653) = -B(1595) IF (DO_JVS(5654)) & ! JVS(5654) = Jac_FULL(353,297) JVS(5654) = -B(1527) IF (DO_JVS(5655)) & ! JVS(5655) = Jac_FULL(353,316) JVS(5655) = -B(1553) IF (DO_JVS(5656)) & ! JVS(5656) = Jac_FULL(353,317) JVS(5656) = -B(1523) IF (DO_JVS(5657)) & ! JVS(5657) = Jac_FULL(353,327) JVS(5657) = 0 IF (DO_JVS(5658)) & ! JVS(5658) = Jac_FULL(353,328) JVS(5658) = 0 IF (DO_JVS(5659)) & ! JVS(5659) = Jac_FULL(353,329) JVS(5659) = 0 IF (DO_JVS(5660)) & ! JVS(5660) = Jac_FULL(353,330) JVS(5660) = -B(1611) IF (DO_JVS(5661)) & ! JVS(5661) = Jac_FULL(353,331) JVS(5661) = 0 IF (DO_JVS(5662)) & ! JVS(5662) = Jac_FULL(353,332) JVS(5662) = -B(1603) IF (DO_JVS(5663)) & ! JVS(5663) = Jac_FULL(353,333) JVS(5663) = -B(1543) IF (DO_JVS(5664)) & ! JVS(5664) = Jac_FULL(353,334) JVS(5664) = 0 IF (DO_JVS(5665)) & ! JVS(5665) = Jac_FULL(353,335) JVS(5665) = 0 IF (DO_JVS(5666)) & ! JVS(5666) = Jac_FULL(353,336) JVS(5666) = 0 IF (DO_JVS(5667)) & ! JVS(5667) = Jac_FULL(353,337) JVS(5667) = 0 IF (DO_JVS(5668)) & ! JVS(5668) = Jac_FULL(353,338) JVS(5668) = 0 IF (DO_JVS(5669)) & ! JVS(5669) = Jac_FULL(353,339) JVS(5669) = B(5) IF (DO_JVS(5670)) & ! JVS(5670) = Jac_FULL(353,340) JVS(5670) = 0 IF (DO_JVS(5671)) & ! JVS(5671) = Jac_FULL(353,341) JVS(5671) = 0 IF (DO_JVS(5672)) & ! JVS(5672) = Jac_FULL(353,342) JVS(5672) = 0 IF (DO_JVS(5673)) & ! JVS(5673) = Jac_FULL(353,343) JVS(5673) = 0 IF (DO_JVS(5674)) & ! JVS(5674) = Jac_FULL(353,344) JVS(5674) = 0 IF (DO_JVS(5675)) & ! JVS(5675) = Jac_FULL(353,345) JVS(5675) = -B(1505) IF (DO_JVS(5676)) & ! JVS(5676) = Jac_FULL(353,346) JVS(5676) = 0 IF (DO_JVS(5677)) & ! JVS(5677) = Jac_FULL(353,347) JVS(5677) = 0 IF (DO_JVS(5678)) & ! JVS(5678) = Jac_FULL(353,348) JVS(5678) = 0 IF (DO_JVS(5679)) & ! JVS(5679) = Jac_FULL(353,349) JVS(5679) = 0 IF (DO_JVS(5680)) & ! JVS(5680) = Jac_FULL(353,350) JVS(5680) = 0 IF (DO_JVS(5681)) & ! JVS(5681) = Jac_FULL(353,351) JVS(5681) = 0 IF (DO_JVS(5682)) & ! JVS(5682) = Jac_FULL(353,352) JVS(5682) = 0 IF (DO_JVS(5683)) & ! JVS(5683) = Jac_FULL(353,353) JVS(5683) = -B(1502)-B(1506)-B(1524)-B(1528)-B(1544)-B(1554)-B(1596)-B(1604)-B(1612) END SUBROUTINE Jac_SP ! End of Jac_SP function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Jac_SP_Vec - function for sparse multiplication: sparse Jacobian times vector ! Arguments : ! JVS - sparse Jacobian of variables ! UV - User vector for variables ! JUV - Jacobian times user vector ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Jac_SP_Vec ( JVS, UV, JUV ) ! JVS - sparse Jacobian of variables REAL(kind=dp) :: JVS(LU_NONZERO) ! UV - User vector for variables REAL(kind=dp) :: UV(NVAR) ! JUV - Jacobian times user vector REAL(kind=dp) :: JUV(NVAR) JUV(1) = JVS(1)*UV(1) JUV(2) = JVS(2)*UV(2) JUV(3) = JVS(3)*UV(3) JUV(4) = JVS(4)*UV(4)+JVS(5)*UV(42)+JVS(6)*UV(44)+JVS(7)*UV(55)+JVS(8)*UV(73) JUV(5) = JVS(9)*UV(5)+JVS(10)*UV(269) JUV(6) = JVS(11)*UV(6)+JVS(12)*UV(41)+JVS(13)*UV(345) JUV(7) = JVS(14)*UV(7)+JVS(15)*UV(66)+JVS(16)*UV(68)+JVS(17)*UV(71)+JVS(18)*UV(74)+JVS(19)*UV(90)+JVS(20)*UV(92)& &+JVS(21)*UV(115)+JVS(22)*UV(130)+JVS(23)*UV(133)+JVS(24)*UV(135)+JVS(25)*UV(139)+JVS(26)*UV(159)+JVS(27)& &*UV(169)+JVS(28)*UV(173)+JVS(29)*UV(182)+JVS(30)*UV(194)+JVS(31)*UV(198)+JVS(32)*UV(213)+JVS(33)*UV(216)& &+JVS(34)*UV(235)+JVS(35)*UV(238)+JVS(36)*UV(240)+JVS(37)*UV(241)+JVS(38)*UV(246)+JVS(39)*UV(249)+JVS(40)& &*UV(250)+JVS(41)*UV(257)+JVS(42)*UV(259)+JVS(43)*UV(260)+JVS(44)*UV(261)+JVS(45)*UV(263)+JVS(46)*UV(265)& &+JVS(47)*UV(269)+JVS(48)*UV(274)+JVS(49)*UV(275)+JVS(50)*UV(276)+JVS(51)*UV(277)+JVS(52)*UV(280)+JVS(53)& &*UV(281)+JVS(54)*UV(283)+JVS(55)*UV(287)+JVS(56)*UV(290)+JVS(57)*UV(291)+JVS(58)*UV(296)+JVS(59)*UV(300)& &+JVS(60)*UV(306)+JVS(61)*UV(307)+JVS(62)*UV(308)+JVS(63)*UV(310)+JVS(64)*UV(311)+JVS(65)*UV(312)+JVS(66)& &*UV(313)+JVS(67)*UV(315)+JVS(68)*UV(318)+JVS(69)*UV(319)+JVS(70)*UV(320)+JVS(71)*UV(321)+JVS(72)*UV(322)& &+JVS(73)*UV(323)+JVS(74)*UV(324)+JVS(75)*UV(328)+JVS(76)*UV(329)+JVS(77)*UV(337)+JVS(78)*UV(340)+JVS(79)& &*UV(341)+JVS(80)*UV(345)+JVS(81)*UV(346)+JVS(82)*UV(351) JUV(8) = JVS(83)*UV(8)+JVS(84)*UV(45)+JVS(85)*UV(103) JUV(9) = JVS(86)*UV(9)+JVS(87)*UV(42)+JVS(88)*UV(44)+JVS(89)*UV(55)+JVS(90)*UV(73)+JVS(91)*UV(252)+JVS(92)*UV(330)& &+JVS(93)*UV(332) JUV(10) = JVS(94)*UV(10)+JVS(95)*UV(42)+JVS(96)*UV(44)+JVS(97)*UV(55)+JVS(98)*UV(73)+JVS(99)*UV(252)+JVS(100)*UV(330)& &+JVS(101)*UV(332) JUV(11) = JVS(102)*UV(11)+JVS(103)*UV(13)+JVS(104)*UV(337) JUV(12) = JVS(105)*UV(12)+JVS(106)*UV(13)+JVS(107)*UV(346) JUV(13) = JVS(108)*UV(13)+JVS(109)*UV(143)+JVS(110)*UV(337)+JVS(111)*UV(345)+JVS(112)*UV(346) JUV(14) = JVS(113)*UV(14)+JVS(114)*UV(276)+JVS(115)*UV(345) JUV(15) = JVS(116)*UV(15)+JVS(117)*UV(276)+JVS(118)*UV(351) JUV(16) = JVS(119)*UV(16)+JVS(120)*UV(18)+JVS(121)*UV(337) JUV(17) = JVS(122)*UV(17)+JVS(123)*UV(18)+JVS(124)*UV(346) JUV(18) = JVS(125)*UV(18)+JVS(126)*UV(19)+JVS(127)*UV(337)+JVS(128)*UV(345)+JVS(129)*UV(346) JUV(19) = JVS(130)*UV(19)+JVS(131)*UV(345) JUV(20) = JVS(132)*UV(20)+JVS(133)*UV(22)+JVS(134)*UV(337) JUV(21) = JVS(135)*UV(21)+JVS(136)*UV(22)+JVS(137)*UV(346) JUV(22) = JVS(138)*UV(22)+JVS(139)*UV(82)+JVS(140)*UV(337)+JVS(141)*UV(345)+JVS(142)*UV(346) JUV(23) = JVS(143)*UV(23)+JVS(144)*UV(24) JUV(24) = JVS(145)*UV(24)+JVS(146)*UV(187)+JVS(147)*UV(192)+JVS(148)*UV(199)+JVS(149)*UV(209)+JVS(150)*UV(345) JUV(25) = JVS(151)*UV(25)+JVS(152)*UV(27)+JVS(153)*UV(337) JUV(26) = JVS(154)*UV(26)+JVS(155)*UV(27)+JVS(156)*UV(346) JUV(27) = JVS(157)*UV(27)+JVS(158)*UV(101)+JVS(159)*UV(337)+JVS(160)*UV(345)+JVS(161)*UV(346) JUV(28) = JVS(162)*UV(28)+JVS(163)*UV(94)+JVS(164)*UV(345) JUV(29) = JVS(165)*UV(29)+JVS(166)*UV(166)+JVS(167)*UV(341)+JVS(168)*UV(348) JUV(30) = JVS(169)*UV(30)+JVS(170)*UV(115)+JVS(171)*UV(270)+JVS(172)*UV(294) JUV(31) = JVS(173)*UV(31)+JVS(174)*UV(107)+JVS(175)*UV(128)+JVS(176)*UV(151)+JVS(177)*UV(152)+JVS(178)*UV(215) JUV(32) = JVS(179)*UV(32)+JVS(180)*UV(241)+JVS(181)*UV(312)+JVS(182)*UV(345)+JVS(183)*UV(348) JUV(33) = JVS(184)*UV(33)+JVS(185)*UV(89)+JVS(186)*UV(345)+JVS(187)*UV(348) JUV(34) = JVS(188)*UV(34)+JVS(189)*UV(45)+JVS(190)*UV(56)+JVS(191)*UV(57)+JVS(192)*UV(63)+JVS(193)*UV(67)+JVS(194)& &*UV(70)+JVS(195)*UV(80)+JVS(196)*UV(83)+JVS(197)*UV(90)+JVS(198)*UV(91)+JVS(199)*UV(93)+JVS(200)*UV(95)& &+JVS(201)*UV(103)+JVS(202)*UV(108)+JVS(203)*UV(110)+JVS(204)*UV(113)+JVS(205)*UV(114)+JVS(206)*UV(116)& &+JVS(207)*UV(121)+JVS(208)*UV(122)+JVS(209)*UV(124)+JVS(210)*UV(126)+JVS(211)*UV(127)+JVS(212)*UV(132)& &+JVS(213)*UV(133)+JVS(214)*UV(135)+JVS(215)*UV(137)+JVS(216)*UV(138)+JVS(217)*UV(139)+JVS(218)*UV(148)& &+JVS(219)*UV(154)+JVS(220)*UV(162)+JVS(221)*UV(165)+JVS(222)*UV(170)+JVS(223)*UV(171)+JVS(224)*UV(172)& &+JVS(225)*UV(176)+JVS(226)*UV(177)+JVS(227)*UV(178)+JVS(228)*UV(180)+JVS(229)*UV(182)+JVS(230)*UV(184)& &+JVS(231)*UV(189)+JVS(232)*UV(190)+JVS(233)*UV(193)+JVS(234)*UV(196)+JVS(235)*UV(197)+JVS(236)*UV(205)& &+JVS(237)*UV(206)+JVS(238)*UV(207)+JVS(239)*UV(211)+JVS(240)*UV(212)+JVS(241)*UV(213)+JVS(242)*UV(217)& &+JVS(243)*UV(223)+JVS(244)*UV(224)+JVS(245)*UV(226)+JVS(246)*UV(232)+JVS(247)*UV(234)+JVS(248)*UV(235)& &+JVS(249)*UV(236)+JVS(250)*UV(239)+JVS(251)*UV(240)+JVS(252)*UV(241)+JVS(253)*UV(243)+JVS(254)*UV(245)& &+JVS(255)*UV(246)+JVS(256)*UV(249)+JVS(257)*UV(250)+JVS(258)*UV(253)+JVS(259)*UV(254)+JVS(260)*UV(257)& &+JVS(261)*UV(259)+JVS(262)*UV(260)+JVS(263)*UV(263)+JVS(264)*UV(269)+JVS(265)*UV(271)+JVS(266)*UV(272)& &+JVS(267)*UV(273)+JVS(268)*UV(274)+JVS(269)*UV(275)+JVS(270)*UV(277)+JVS(271)*UV(278)+JVS(272)*UV(280)& &+JVS(273)*UV(281)+JVS(274)*UV(285)+JVS(275)*UV(286)+JVS(276)*UV(289)+JVS(277)*UV(291)+JVS(278)*UV(293)& &+JVS(279)*UV(296)+JVS(280)*UV(297)+JVS(281)*UV(300)+JVS(282)*UV(302)+JVS(283)*UV(304)+JVS(284)*UV(305)& &+JVS(285)*UV(308)+JVS(286)*UV(310)+JVS(287)*UV(311)+JVS(288)*UV(312)+JVS(289)*UV(313)+JVS(290)*UV(315)& &+JVS(291)*UV(317)+JVS(292)*UV(318)+JVS(293)*UV(319)+JVS(294)*UV(320)+JVS(295)*UV(321)+JVS(296)*UV(322)& &+JVS(297)*UV(323)+JVS(298)*UV(324)+JVS(299)*UV(327)+JVS(300)*UV(328)+JVS(301)*UV(335)+JVS(302)*UV(337)& &+JVS(303)*UV(340)+JVS(304)*UV(345)+JVS(305)*UV(346) JUV(35) = JVS(306)*UV(35)+JVS(307)*UV(42)+JVS(308)*UV(44)+JVS(309)*UV(49)+JVS(310)*UV(50)+JVS(311)*UV(55)+JVS(312)& &*UV(63)+JVS(313)*UV(64)+JVS(314)*UV(65)+JVS(315)*UV(68)+JVS(316)*UV(69)+JVS(317)*UV(76)+JVS(318)*UV(87)& &+JVS(319)*UV(94)+JVS(320)*UV(96)+JVS(321)*UV(105)+JVS(322)*UV(109)+JVS(323)*UV(120)+JVS(324)*UV(140)+JVS(325)& &*UV(142)+JVS(326)*UV(149)+JVS(327)*UV(154)+JVS(328)*UV(158)+JVS(329)*UV(163)+JVS(330)*UV(166)+JVS(331)& &*UV(167)+JVS(332)*UV(168)+JVS(333)*UV(175)+JVS(334)*UV(179)+JVS(335)*UV(181)+JVS(336)*UV(183)+JVS(337)& &*UV(186)+JVS(338)*UV(191)+JVS(339)*UV(195)+JVS(340)*UV(197)+JVS(341)*UV(200)+JVS(342)*UV(201)+JVS(343)& &*UV(202)+JVS(344)*UV(203)+JVS(345)*UV(204)+JVS(346)*UV(211)+JVS(347)*UV(213)+JVS(348)*UV(214)+JVS(349)& &*UV(216)+JVS(350)*UV(217)+JVS(351)*UV(218)+JVS(352)*UV(219)+JVS(353)*UV(220)+JVS(354)*UV(221)+JVS(355)& &*UV(222)+JVS(356)*UV(225)+JVS(357)*UV(228)+JVS(358)*UV(229)+JVS(359)*UV(234)+JVS(360)*UV(235)+JVS(361)& &*UV(236)+JVS(362)*UV(237)+JVS(363)*UV(240)+JVS(364)*UV(242)+JVS(365)*UV(246)+JVS(366)*UV(248)+JVS(367)& &*UV(251)+JVS(368)*UV(252)+JVS(369)*UV(255)+JVS(370)*UV(256)+JVS(371)*UV(257)+JVS(372)*UV(261)+JVS(373)& &*UV(262)+JVS(374)*UV(263)+JVS(375)*UV(264)+JVS(376)*UV(266)+JVS(377)*UV(267)+JVS(378)*UV(268)+JVS(379)& &*UV(270)+JVS(380)*UV(272)+JVS(381)*UV(273)+JVS(382)*UV(274)+JVS(383)*UV(275)+JVS(384)*UV(276)+JVS(385)& &*UV(277)+JVS(386)*UV(278)+JVS(387)*UV(280)+JVS(388)*UV(281)+JVS(389)*UV(284)+JVS(390)*UV(289)+JVS(391)& &*UV(290)+JVS(392)*UV(291)+JVS(393)*UV(292)+JVS(394)*UV(294)+JVS(395)*UV(297)+JVS(396)*UV(298)+JVS(397)& &*UV(299)+JVS(398)*UV(302)+JVS(399)*UV(303)+JVS(400)*UV(306)+JVS(401)*UV(308)+JVS(402)*UV(309)+JVS(403)& &*UV(310)+JVS(404)*UV(311)+JVS(405)*UV(312)+JVS(406)*UV(314)+JVS(407)*UV(316)+JVS(408)*UV(317)+JVS(409)& &*UV(325)+JVS(410)*UV(326)+JVS(411)*UV(328)+JVS(412)*UV(330)+JVS(413)*UV(332)+JVS(414)*UV(333)+JVS(415)& &*UV(334)+JVS(416)*UV(335)+JVS(417)*UV(336)+JVS(418)*UV(337)+JVS(419)*UV(338)+JVS(420)*UV(339)+JVS(421)& &*UV(341)+JVS(422)*UV(343)+JVS(423)*UV(344)+JVS(424)*UV(345)+JVS(425)*UV(347)+JVS(426)*UV(348)+JVS(427)& &*UV(349)+JVS(428)*UV(350)+JVS(429)*UV(351)+JVS(430)*UV(352)+JVS(431)*UV(353) JUV(36) = JVS(432)*UV(36)+JVS(433)*UV(60)+JVS(434)*UV(68)+JVS(435)*UV(75)+JVS(436)*UV(79)+JVS(437)*UV(82)+JVS(438)& &*UV(101)+JVS(439)*UV(107)+JVS(440)*UV(113)+JVS(441)*UV(114)+JVS(442)*UV(119)+JVS(443)*UV(122)+JVS(444)& &*UV(124)+JVS(445)*UV(126)+JVS(446)*UV(127)+JVS(447)*UV(132)+JVS(448)*UV(139)+JVS(449)*UV(143)+JVS(450)& &*UV(144)+JVS(451)*UV(146)+JVS(452)*UV(147)+JVS(453)*UV(150)+JVS(454)*UV(153)+JVS(455)*UV(159)+JVS(456)& &*UV(167)+JVS(457)*UV(181)+JVS(458)*UV(182)+JVS(459)*UV(184)+JVS(460)*UV(185)+JVS(461)*UV(187)+JVS(462)& &*UV(191)+JVS(463)*UV(192)+JVS(464)*UV(194)+JVS(465)*UV(197)+JVS(466)*UV(199)+JVS(467)*UV(200)+JVS(468)& &*UV(201)+JVS(469)*UV(204)+JVS(470)*UV(208)+JVS(471)*UV(209)+JVS(472)*UV(210)+JVS(473)*UV(215)+JVS(474)& &*UV(216)+JVS(475)*UV(220)+JVS(476)*UV(221)+JVS(477)*UV(225)+JVS(478)*UV(227)+JVS(479)*UV(230)+JVS(480)& &*UV(231)+JVS(481)*UV(233)+JVS(482)*UV(238)+JVS(483)*UV(243)+JVS(484)*UV(248)+JVS(485)*UV(253)+JVS(486)& &*UV(255)+JVS(487)*UV(258)+JVS(488)*UV(259)+JVS(489)*UV(261)+JVS(490)*UV(266)+JVS(491)*UV(267)+JVS(492)& &*UV(268)+JVS(493)*UV(269)+JVS(494)*UV(270)+JVS(495)*UV(276)+JVS(496)*UV(285)+JVS(497)*UV(286)+JVS(498)& &*UV(287)+JVS(499)*UV(290)+JVS(500)*UV(294)+JVS(501)*UV(295)+JVS(502)*UV(298)+JVS(503)*UV(301)+JVS(504)& &*UV(304)+JVS(505)*UV(305)+JVS(506)*UV(306)+JVS(507)*UV(307)+JVS(508)*UV(309)+JVS(509)*UV(314)+JVS(510)& &*UV(325)+JVS(511)*UV(326)+JVS(512)*UV(328)+JVS(513)*UV(337)+JVS(514)*UV(340)+JVS(515)*UV(341)+JVS(516)& &*UV(342)+JVS(517)*UV(343)+JVS(518)*UV(345)+JVS(519)*UV(346)+JVS(520)*UV(351) JUV(37) = JVS(521)*UV(37)+JVS(522)*UV(241)+JVS(523)*UV(312)+JVS(524)*UV(329)+JVS(525)*UV(345) JUV(38) = JVS(526)*UV(38)+JVS(527)*UV(89)+JVS(528)*UV(179)+JVS(529)*UV(241)+JVS(530)*UV(264)+JVS(531)*UV(312)+JVS(532)& &*UV(316)+JVS(533)*UV(333)+JVS(534)*UV(341)+JVS(535)*UV(345)+JVS(536)*UV(348) JUV(39) = JVS(537)*UV(39)+JVS(538)*UV(228)+JVS(539)*UV(334)+JVS(540)*UV(340)+JVS(541)*UV(345) JUV(40) = JVS(542)*UV(40)+JVS(543)*UV(241)+JVS(544)*UV(276)+JVS(545)*UV(312)+JVS(546)*UV(314)+JVS(547)*UV(336)& &+JVS(548)*UV(337)+JVS(549)*UV(341)+JVS(550)*UV(345) JUV(41) = JVS(551)*UV(41)+JVS(552)*UV(345) JUV(42) = JVS(553)*UV(42)+JVS(554)*UV(96) JUV(43) = JVS(555)*UV(43)+JVS(556)*UV(345) JUV(44) = JVS(557)*UV(44)+JVS(558)*UV(284) JUV(45) = JVS(559)*UV(45)+JVS(560)*UV(154)+JVS(561)*UV(242)+JVS(562)*UV(256) JUV(46) = JVS(563)*UV(46)+JVS(564)*UV(334) JUV(47) = JVS(565)*UV(47)+JVS(566)*UV(334) JUV(48) = JVS(567)*UV(48)+JVS(568)*UV(334) JUV(49) = JVS(569)*UV(49)+JVS(570)*UV(334) JUV(50) = JVS(571)*UV(50)+JVS(572)*UV(334) JUV(51) = JVS(573)*UV(51)+JVS(574)*UV(334) JUV(52) = JVS(575)*UV(52)+JVS(576)*UV(345) JUV(53) = JVS(577)*UV(53)+JVS(578)*UV(334) JUV(54) = JVS(579)*UV(54)+JVS(580)*UV(334) JUV(55) = JVS(581)*UV(55)+JVS(582)*UV(96)+JVS(583)*UV(284) JUV(56) = JVS(584)*UV(56)+JVS(585)*UV(257)+JVS(586)*UV(335) JUV(57) = JVS(587)*UV(57)+JVS(588)*UV(274)+JVS(589)*UV(335) JUV(58) = JVS(590)*UV(58)+JVS(591)*UV(200)+JVS(592)*UV(345) JUV(59) = JVS(593)*UV(59)+JVS(594)*UV(335)+JVS(595)*UV(342) JUV(60) = JVS(596)*UV(60)+JVS(597)*UV(345) JUV(61) = JVS(598)*UV(61)+JVS(599)*UV(334) JUV(62) = JVS(600)*UV(62)+JVS(601)*UV(331)+JVS(602)*UV(346) JUV(63) = JVS(603)*UV(63)+JVS(604)*UV(67)+JVS(605)*UV(334)+JVS(606)*UV(335) JUV(64) = JVS(607)*UV(64)+JVS(608)*UV(179)+JVS(609)*UV(327)+JVS(610)*UV(351) JUV(65) = JVS(611)*UV(65)+JVS(612)*UV(166)+JVS(613)*UV(327)+JVS(614)*UV(351) JUV(66) = JVS(615)*UV(66)+JVS(616)*UV(257)+JVS(617)*UV(328)+JVS(618)*UV(337)+JVS(619)*UV(345) JUV(67) = JVS(620)*UV(67)+JVS(621)*UV(335)+JVS(622)*UV(346) JUV(68) = JVS(623)*UV(68)+JVS(624)*UV(343)+JVS(625)*UV(345) JUV(69) = JVS(626)*UV(69)+JVS(627)*UV(345)+JVS(628)*UV(351) JUV(70) = JVS(629)*UV(70)+JVS(630)*UV(234)+JVS(631)*UV(345)+JVS(632)*UV(346) JUV(71) = JVS(633)*UV(71)+JVS(634)*UV(235)+JVS(635)*UV(337)+JVS(636)*UV(345) JUV(72) = JVS(637)*UV(72)+JVS(638)*UV(213)+JVS(639)*UV(337)+JVS(640)*UV(345) JUV(73) = JVS(641)*UV(73)+JVS(642)*UV(331)+JVS(643)*UV(337)+JVS(644)*UV(345) JUV(74) = JVS(645)*UV(74)+JVS(646)*UV(257)+JVS(647)*UV(337)+JVS(648)*UV(345) JUV(75) = JVS(649)*UV(75)+JVS(650)*UV(340)+JVS(651)*UV(345) JUV(76) = JVS(652)*UV(76)+JVS(653)*UV(338)+JVS(654)*UV(345) JUV(77) = JVS(655)*UV(77)+JVS(656)*UV(252)+JVS(657)*UV(330)+JVS(658)*UV(332)+JVS(659)*UV(349)+JVS(660)*UV(350) JUV(78) = JVS(661)*UV(78)+JVS(662)*UV(334)+JVS(663)*UV(345) JUV(79) = JVS(664)*UV(79)+JVS(665)*UV(340)+JVS(666)*UV(345) JUV(80) = JVS(667)*UV(80)+JVS(668)*UV(328)+JVS(669)*UV(335) JUV(81) = JVS(670)*UV(81)+JVS(671)*UV(334)+JVS(672)*UV(345) JUV(82) = JVS(673)*UV(82)+JVS(674)*UV(345) JUV(83) = JVS(675)*UV(83)+JVS(676)*UV(296)+JVS(677)*UV(345)+JVS(678)*UV(346) JUV(84) = JVS(679)*UV(84)+JVS(680)*UV(334)+JVS(681)*UV(345) JUV(85) = JVS(682)*UV(85)+JVS(683)*UV(334)+JVS(684)*UV(345) JUV(86) = JVS(685)*UV(86)+JVS(686)*UV(334)+JVS(687)*UV(345) JUV(87) = JVS(688)*UV(87)+JVS(689)*UV(334)+JVS(690)*UV(345) JUV(88) = JVS(691)*UV(88)+JVS(692)*UV(312)+JVS(693)*UV(336)+JVS(694)*UV(345) JUV(89) = JVS(695)*UV(89)+JVS(696)*UV(325)+JVS(697)*UV(345)+JVS(698)*UV(348) JUV(90) = JVS(699)*UV(90)+JVS(700)*UV(235)+JVS(701)*UV(335)+JVS(702)*UV(345) JUV(91) = JVS(703)*UV(91)+JVS(704)*UV(323)+JVS(705)*UV(345)+JVS(706)*UV(346) JUV(92) = JVS(707)*UV(92)+JVS(708)*UV(324)+JVS(709)*UV(337)+JVS(710)*UV(345) JUV(93) = JVS(711)*UV(93)+JVS(712)*UV(328)+JVS(713)*UV(345)+JVS(714)*UV(346) JUV(94) = JVS(715)*UV(94)+JVS(716)*UV(345)+JVS(717)*UV(351) JUV(95) = JVS(718)*UV(95)+JVS(719)*UV(321)+JVS(720)*UV(345)+JVS(721)*UV(346) JUV(96) = JVS(722)*UV(42)+JVS(723)*UV(44)+JVS(724)*UV(55)+JVS(725)*UV(96)+JVS(726)*UV(284)+JVS(727)*UV(346)+JVS(728)& &*UV(347) JUV(97) = JVS(729)*UV(97)+JVS(730)*UV(319)+JVS(731)*UV(337)+JVS(732)*UV(345) JUV(98) = JVS(733)*UV(98)+JVS(734)*UV(178)+JVS(735)*UV(337)+JVS(736)*UV(345) JUV(99) = JVS(737)*UV(99)+JVS(738)*UV(321)+JVS(739)*UV(337)+JVS(740)*UV(345) JUV(100) = JVS(741)*UV(100)+JVS(742)*UV(323)+JVS(743)*UV(337)+JVS(744)*UV(345) JUV(101) = JVS(745)*UV(101)+JVS(746)*UV(345) JUV(102) = JVS(747)*UV(102)+JVS(748)*UV(300)+JVS(749)*UV(337)+JVS(750)*UV(345) JUV(103) = JVS(751)*UV(103)+JVS(752)*UV(168)+JVS(753)*UV(175)+JVS(754)*UV(186)+JVS(755)*UV(216)+JVS(756)*UV(222)& &+JVS(757)*UV(248)+JVS(758)*UV(251)+JVS(759)*UV(266)+JVS(760)*UV(267)+JVS(761)*UV(268)+JVS(762)*UV(299)& &+JVS(763)*UV(302)+JVS(764)*UV(303) JUV(104) = JVS(765)*UV(104)+JVS(766)*UV(252)+JVS(767)*UV(284)+JVS(768)*UV(330)+JVS(769)*UV(332)+JVS(770)*UV(338)& &+JVS(771)*UV(344)+JVS(772)*UV(353) JUV(105) = JVS(773)*UV(105)+JVS(774)*UV(334)+JVS(775)*UV(345) JUV(106) = JVS(776)*UV(106)+JVS(777)*UV(136)+JVS(778)*UV(234)+JVS(779)*UV(328)+JVS(780)*UV(346)+JVS(781)*UV(351) JUV(107) = JVS(782)*UV(107)+JVS(783)*UV(159)+JVS(784)*UV(184)+JVS(785)*UV(345) JUV(108) = JVS(786)*UV(108)+JVS(787)*UV(335)+JVS(788)*UV(337)+JVS(789)*UV(345) JUV(109) = JVS(790)*UV(109)+JVS(791)*UV(233)+JVS(792)*UV(341)+JVS(793)*UV(345) JUV(110) = JVS(794)*UV(76)+JVS(795)*UV(110)+JVS(796)*UV(328)+JVS(797)*UV(338)+JVS(798)*UV(340)+JVS(799)*UV(345)& &+JVS(800)*UV(347) JUV(111) = JVS(801)*UV(111)+JVS(802)*UV(277)+JVS(803)*UV(337)+JVS(804)*UV(345) JUV(112) = JVS(805)*UV(112)+JVS(806)*UV(275)+JVS(807)*UV(337)+JVS(808)*UV(345) JUV(113) = JVS(809)*UV(113)+JVS(810)*UV(246)+JVS(811)*UV(335)+JVS(812)*UV(345) JUV(114) = JVS(813)*UV(114)+JVS(814)*UV(213)+JVS(815)*UV(335)+JVS(816)*UV(345) JUV(115) = JVS(817)*UV(115)+JVS(818)*UV(194)+JVS(819)*UV(302)+JVS(820)*UV(314)+JVS(821)*UV(341)+JVS(822)*UV(345) JUV(116) = JVS(823)*UV(116)+JVS(824)*UV(189)+JVS(825)*UV(345)+JVS(826)*UV(346) JUV(117) = JVS(827)*UV(90)+JVS(828)*UV(117)+JVS(829)*UV(235)+JVS(830)*UV(236)+JVS(832)*UV(337)+JVS(833)*UV(345) JUV(118) = JVS(834)*UV(118)+JVS(835)*UV(296)+JVS(836)*UV(315)+JVS(837)*UV(337)+JVS(838)*UV(345) JUV(119) = JVS(839)*UV(119)+JVS(840)*UV(230)+JVS(841)*UV(231)+JVS(842)*UV(301)+JVS(843)*UV(345) JUV(120) = JVS(844)*UV(120)+JVS(845)*UV(284)+JVS(846)*UV(338)+JVS(847)*UV(345)+JVS(848)*UV(347) JUV(121) = JVS(849)*UV(58)+JVS(850)*UV(121)+JVS(852)*UV(337)+JVS(853)*UV(345)+JVS(854)*UV(346) JUV(122) = JVS(855)*UV(122)+JVS(856)*UV(240)+JVS(857)*UV(335)+JVS(858)*UV(345) JUV(123) = JVS(859)*UV(123)+JVS(860)*UV(260)+JVS(861)*UV(337)+JVS(862)*UV(345) JUV(124) = JVS(863)*UV(124)+JVS(864)*UV(322)+JVS(865)*UV(335)+JVS(866)*UV(345) JUV(125) = JVS(867)*UV(125)+JVS(868)*UV(250)+JVS(869)*UV(337)+JVS(870)*UV(345) JUV(126) = JVS(871)*UV(126)+JVS(872)*UV(197)+JVS(873)*UV(335)+JVS(874)*UV(345) JUV(127) = JVS(875)*UV(127)+JVS(876)*UV(212)+JVS(877)*UV(345)+JVS(878)*UV(346) JUV(128) = JVS(879)*UV(128)+JVS(880)*UV(199)+JVS(881)*UV(209)+JVS(882)*UV(267)+JVS(883)*UV(268)+JVS(884)*UV(345) JUV(129) = JVS(885)*UV(112)+JVS(886)*UV(129)+JVS(887)*UV(138)+JVS(888)*UV(191)+JVS(889)*UV(275)+JVS(890)*UV(324)& &+JVS(891)*UV(328)+JVS(893)*UV(341)+JVS(894)*UV(345)+JVS(895)*UV(346)+JVS(896)*UV(351) JUV(130) = JVS(897)*UV(130)+JVS(898)*UV(274)+JVS(899)*UV(328)+JVS(900)*UV(337)+JVS(901)*UV(345) JUV(131) = JVS(902)*UV(131)+JVS(903)*UV(258)+JVS(904)*UV(286)+JVS(905)*UV(337)+JVS(906)*UV(345)+JVS(907)*UV(346) JUV(132) = JVS(908)*UV(132)+JVS(909)*UV(233)+JVS(910)*UV(337)+JVS(911)*UV(345)+JVS(912)*UV(346) JUV(133) = JVS(913)*UV(133)+JVS(914)*UV(230)+JVS(915)*UV(337)+JVS(916)*UV(345)+JVS(917)*UV(346) JUV(134) = JVS(918)*UV(89)+JVS(919)*UV(134)+JVS(920)*UV(179)+JVS(921)*UV(241)+JVS(922)*UV(264)+JVS(923)*UV(312)& &+JVS(924)*UV(316)+JVS(926)*UV(333)+JVS(927)*UV(341)+JVS(928)*UV(345)+JVS(929)*UV(348) JUV(135) = JVS(930)*UV(135)+JVS(931)*UV(231)+JVS(932)*UV(337)+JVS(933)*UV(345)+JVS(934)*UV(346) JUV(136) = JVS(935)*UV(136)+JVS(936)*UV(234)+JVS(937)*UV(328)+JVS(938)*UV(337)+JVS(939)*UV(345) JUV(137) = JVS(940)*UV(137)+JVS(941)*UV(277)+JVS(942)*UV(345)+JVS(943)*UV(346) JUV(138) = JVS(944)*UV(138)+JVS(945)*UV(275)+JVS(946)*UV(345)+JVS(947)*UV(346) JUV(139) = JVS(948)*UV(139)+JVS(949)*UV(324)+JVS(950)*UV(335)+JVS(951)*UV(345) JUV(140) = JVS(952)*UV(140)+JVS(953)*UV(341)+JVS(954)*UV(345)+JVS(955)*UV(351) JUV(141) = JVS(956)*UV(141)+JVS(957)*UV(340)+JVS(958)*UV(342)+JVS(959)*UV(345) JUV(142) = JVS(960)*UV(142)+JVS(961)*UV(340)+JVS(962)*UV(345)+JVS(963)*UV(351) JUV(143) = JVS(964)*UV(143)+JVS(965)*UV(220)+JVS(966)*UV(341)+JVS(967)*UV(345) JUV(144) = JVS(968)*UV(144)+JVS(969)*UV(199)+JVS(970)*UV(276)+JVS(971)*UV(304)+JVS(972)*UV(345) JUV(145) = JVS(973)*UV(145)+JVS(974)*UV(186)+JVS(975)*UV(299)+JVS(976)*UV(310)+JVS(977)*UV(311)+JVS(978)*UV(324)& &+JVS(979)*UV(328)+JVS(980)*UV(346)+JVS(981)*UV(351) JUV(146) = JVS(982)*UV(121)+JVS(983)*UV(146)+JVS(985)*UV(337)+JVS(986)*UV(345)+JVS(987)*UV(346) JUV(147) = JVS(988)*UV(147)+JVS(989)*UV(285)+JVS(990)*UV(286)+JVS(991)*UV(345) JUV(148) = JVS(992)*UV(148)+JVS(993)*UV(218)+JVS(994)*UV(316)+JVS(995)*UV(342)+JVS(996)*UV(345)+JVS(997)*UV(347)& &+JVS(998)*UV(349)+JVS(999)*UV(350)+JVS(1000)*UV(352) JUV(149) = JVS(1001)*UV(149)+JVS(1002)*UV(345)+JVS(1003)*UV(351) JUV(150) = JVS(1004)*UV(150)+JVS(1005)*UV(209)+JVS(1006)*UV(276)+JVS(1007)*UV(305)+JVS(1008)*UV(345) JUV(151) = JVS(1009)*UV(151)+JVS(1010)*UV(168)+JVS(1011)*UV(175)+JVS(1012)*UV(187)+JVS(1013)*UV(192)+JVS(1014)*UV(345) JUV(152) = JVS(1015)*UV(152)+JVS(1016)*UV(168)+JVS(1017)*UV(175)+JVS(1018)*UV(187)+JVS(1019)*UV(192)+JVS(1020)*UV(345) JUV(153) = JVS(1021)*UV(153)+JVS(1022)*UV(258)+JVS(1023)*UV(285)+JVS(1024)*UV(337)+JVS(1025)*UV(345)+JVS(1026)*UV(346) JUV(154) = JVS(1027)*UV(154)+JVS(1028)*UV(242)+JVS(1029)*UV(256)+JVS(1030)*UV(341)+JVS(1031)*UV(345)+JVS(1032)*UV(351) JUV(155) = JVS(1033)*UV(155)+JVS(1034)*UV(240)+JVS(1035)*UV(246)+JVS(1036)*UV(322)+JVS(1037)*UV(337)+JVS(1038)*UV(345) JUV(156) = JVS(1039)*UV(156)+JVS(1040)*UV(296)+JVS(1041)*UV(315)+JVS(1042)*UV(328)+JVS(1043)*UV(340)+JVS(1044)*UV(345) JUV(157) = JVS(1045)*UV(157)+JVS(1046)*UV(218)+JVS(1047)*UV(297)+JVS(1048)*UV(316)+JVS(1049)*UV(317)+JVS(1050)*UV(333)& &+JVS(1051)*UV(338)+JVS(1052)*UV(339)+JVS(1053)*UV(344)+JVS(1054)*UV(347)+JVS(1055)*UV(349)+JVS(1056)*UV(350)& &+JVS(1057)*UV(352)+JVS(1058)*UV(353) JUV(158) = JVS(1059)*UV(82)+JVS(1060)*UV(101)+JVS(1061)*UV(149)+JVS(1062)*UV(158)+JVS(1063)*UV(200)+JVS(1064)*UV(345)& &+JVS(1065)*UV(351) JUV(159) = JVS(1066)*UV(159)+JVS(1067)*UV(259)+JVS(1068)*UV(337)+JVS(1069)*UV(345) JUV(160) = JVS(1070)*UV(160)+JVS(1071)*UV(278)+JVS(1072)*UV(328)+JVS(1073)*UV(337)+JVS(1074)*UV(345) JUV(161) = JVS(1075)*UV(161)+JVS(1076)*UV(273)+JVS(1077)*UV(328)+JVS(1078)*UV(337)+JVS(1079)*UV(345) JUV(162) = JVS(1080)*UV(138)+JVS(1081)*UV(162)+JVS(1082)*UV(273)+JVS(1084)*UV(345)+JVS(1085)*UV(346) JUV(163) = JVS(1086)*UV(163)+JVS(1087)*UV(255)+JVS(1088)*UV(272)+JVS(1089)*UV(328)+JVS(1090)*UV(341)+JVS(1091)*UV(345)& &+JVS(1092)*UV(346)+JVS(1093)*UV(351) JUV(164) = JVS(1094)*UV(164)+JVS(1095)*UV(328)+JVS(1096)*UV(337)+JVS(1097)*UV(340)+JVS(1098)*UV(345) JUV(165) = JVS(1099)*UV(165)+JVS(1100)*UV(196)+JVS(1101)*UV(337)+JVS(1102)*UV(345)+JVS(1103)*UV(346) JUV(166) = JVS(1104)*UV(166)+JVS(1105)*UV(327)+JVS(1106)*UV(339)+JVS(1107)*UV(341)+JVS(1108)*UV(348) JUV(167) = JVS(1109)*UV(167)+JVS(1110)*UV(341)+JVS(1111)*UV(345)+JVS(1112)*UV(351) JUV(168) = JVS(1113)*UV(168)+JVS(1114)*UV(304)+JVS(1115)*UV(345)+JVS(1116)*UV(346) JUV(169) = JVS(1117)*UV(169)+JVS(1118)*UV(272)+JVS(1119)*UV(274)+JVS(1120)*UV(328)+JVS(1121)*UV(337)+JVS(1122)*UV(345) JUV(170) = JVS(1123)*UV(62)+JVS(1124)*UV(170)+JVS(1125)*UV(252)+JVS(1126)*UV(331)+JVS(1127)*UV(332)+JVS(1128)*UV(345)& &+JVS(1130)*UV(351) JUV(171) = JVS(1131)*UV(171)+JVS(1132)*UV(230)+JVS(1133)*UV(301)+JVS(1134)*UV(335)+JVS(1135)*UV(337)+JVS(1136)*UV(346) JUV(172) = JVS(1137)*UV(172)+JVS(1138)*UV(231)+JVS(1139)*UV(301)+JVS(1140)*UV(335)+JVS(1141)*UV(337)+JVS(1142)*UV(346) JUV(173) = JVS(1143)*UV(101)+JVS(1144)*UV(173)+JVS(1145)*UV(200)+JVS(1146)*UV(201)+JVS(1147)*UV(221)+JVS(1148)*UV(240)& &+JVS(1149)*UV(246)+JVS(1150)*UV(289)+JVS(1151)*UV(322)+JVS(1152)*UV(324)+JVS(1153)*UV(337)+JVS(1154)*UV(345) JUV(174) = JVS(1155)*UV(174)+JVS(1156)*UV(223)+JVS(1157)*UV(224)+JVS(1158)*UV(232)+JVS(1159)*UV(337)+JVS(1160)*UV(345) JUV(175) = JVS(1161)*UV(175)+JVS(1162)*UV(305)+JVS(1163)*UV(345)+JVS(1164)*UV(346) JUV(176) = JVS(1165)*UV(137)+JVS(1166)*UV(176)+JVS(1168)*UV(278)+JVS(1169)*UV(345)+JVS(1170)*UV(346) JUV(177) = JVS(1171)*UV(177)+JVS(1172)*UV(211)+JVS(1173)*UV(237)+JVS(1174)*UV(255)+JVS(1175)*UV(272)+JVS(1176)*UV(341)& &+JVS(1177)*UV(345)+JVS(1178)*UV(346)+JVS(1179)*UV(351) JUV(178) = JVS(1180)*UV(69)+JVS(1181)*UV(98)+JVS(1182)*UV(178)+JVS(1183)*UV(337)+JVS(1184)*UV(345)+JVS(1185)*UV(346)& &+JVS(1186)*UV(351) JUV(179) = JVS(1187)*UV(179)+JVS(1188)*UV(327)+JVS(1189)*UV(339)+JVS(1190)*UV(341)+JVS(1191)*UV(348) JUV(180) = JVS(1192)*UV(180)+JVS(1193)*UV(299)+JVS(1194)*UV(337)+JVS(1195)*UV(345)+JVS(1196)*UV(346) JUV(181) = JVS(1197)*UV(181)+JVS(1198)*UV(334)+JVS(1199)*UV(340)+JVS(1200)*UV(345) JUV(182) = JVS(1201)*UV(182)+JVS(1202)*UV(301)+JVS(1203)*UV(303)+JVS(1204)*UV(337)+JVS(1205)*UV(345)+JVS(1206)*UV(346) JUV(183) = JVS(1207)*UV(183)+JVS(1208)*UV(340)+JVS(1209)*UV(342)+JVS(1210)*UV(345)+JVS(1211)*UV(351) JUV(184) = JVS(1212)*UV(184)+JVS(1213)*UV(259)+JVS(1214)*UV(308)+JVS(1215)*UV(335)+JVS(1216)*UV(345) JUV(185) = JVS(1217)*UV(119)+JVS(1218)*UV(147)+JVS(1219)*UV(185)+JVS(1220)*UV(230)+JVS(1221)*UV(231)+JVS(1224)*UV(301)& &+JVS(1225)*UV(345) JUV(186) = JVS(1226)*UV(186)+JVS(1227)*UV(311)+JVS(1228)*UV(337)+JVS(1229)*UV(345) JUV(187) = JVS(1230)*UV(187)+JVS(1231)*UV(305)+JVS(1232)*UV(337)+JVS(1233)*UV(345) JUV(188) = JVS(1234)*UV(188)+JVS(1235)*UV(249)+JVS(1236)*UV(250)+JVS(1237)*UV(260)+JVS(1238)*UV(289)+JVS(1239)*UV(300)& &+JVS(1240)*UV(318)+JVS(1241)*UV(319)+JVS(1242)*UV(320)+JVS(1243)*UV(321)+JVS(1244)*UV(323)+JVS(1245)*UV(328)& &+JVS(1246)*UV(345) JUV(189) = JVS(1247)*UV(149)+JVS(1248)*UV(189)+JVS(1249)*UV(200)+JVS(1250)*UV(220)+JVS(1251)*UV(337)+JVS(1252)*UV(345)& &+JVS(1253)*UV(346) JUV(190) = JVS(1255)*UV(168)+JVS(1256)*UV(190)+JVS(1258)*UV(337)+JVS(1259)*UV(345)+JVS(1260)*UV(346) JUV(191) = JVS(1261)*UV(191)+JVS(1262)*UV(341)+JVS(1263)*UV(345)+JVS(1264)*UV(351) JUV(192) = JVS(1265)*UV(192)+JVS(1266)*UV(304)+JVS(1267)*UV(337)+JVS(1268)*UV(345) JUV(193) = JVS(1269)*UV(193)+JVS(1270)*UV(291)+JVS(1271)*UV(341)+JVS(1272)*UV(345)+JVS(1273)*UV(346)+JVS(1274)*UV(351) JUV(194) = JVS(1275)*UV(194)+JVS(1276)*UV(230)+JVS(1277)*UV(231)+JVS(1278)*UV(301)+JVS(1279)*UV(303)+JVS(1280)*UV(345) JUV(195) = JVS(1281)*UV(143)+JVS(1282)*UV(195)+JVS(1285)*UV(345)+JVS(1286)*UV(351) JUV(196) = JVS(1287)*UV(165)+JVS(1288)*UV(178)+JVS(1289)*UV(196)+JVS(1290)*UV(337)+JVS(1291)*UV(345)+JVS(1292)*UV(346) JUV(197) = JVS(1294)*UV(126)+JVS(1295)*UV(197)+JVS(1296)*UV(233)+JVS(1297)*UV(335)+JVS(1298)*UV(337)+JVS(1299)*UV(345)& &+JVS(1300)*UV(346) JUV(198) = JVS(1301)*UV(174)+JVS(1302)*UV(198)+JVS(1303)*UV(223)+JVS(1304)*UV(224)+JVS(1305)*UV(232)+JVS(1307)*UV(345) JUV(199) = JVS(1308)*UV(199)+JVS(1309)*UV(304)+JVS(1310)*UV(337)+JVS(1311)*UV(345) JUV(200) = JVS(1312)*UV(200)+JVS(1313)*UV(345)+JVS(1314)*UV(351) JUV(201) = JVS(1315)*UV(82)+JVS(1316)*UV(101)+JVS(1317)*UV(149)+JVS(1318)*UV(158)+JVS(1319)*UV(200)+JVS(1320)*UV(201)& &+JVS(1321)*UV(341)+JVS(1322)*UV(345)+JVS(1323)*UV(351) JUV(202) = JVS(1324)*UV(158)+JVS(1325)*UV(195)+JVS(1327)*UV(202)+JVS(1329)*UV(341)+JVS(1330)*UV(345)+JVS(1331)*UV(351) JUV(203) = JVS(1332)*UV(117)+JVS(1333)*UV(158)+JVS(1334)*UV(195)+JVS(1336)*UV(202)+JVS(1337)*UV(203)+JVS(1340)*UV(236)& &+JVS(1341)*UV(328)+JVS(1342)*UV(335)+JVS(1344)*UV(341)+JVS(1345)*UV(345)+JVS(1346)*UV(346)+JVS(1347)*UV(351) JUV(204) = JVS(1348)*UV(82)+JVS(1349)*UV(101)+JVS(1350)*UV(116)+JVS(1351)*UV(149)+JVS(1352)*UV(189)+JVS(1353)*UV(200)& &+JVS(1354)*UV(204)+JVS(1355)*UV(220)+JVS(1356)*UV(337)+JVS(1357)*UV(341)+JVS(1358)*UV(345)+JVS(1359)*UV(346)& &+JVS(1360)*UV(351) JUV(205) = JVS(1361)*UV(175)+JVS(1362)*UV(205)+JVS(1364)*UV(337)+JVS(1365)*UV(345)+JVS(1366)*UV(346) JUV(206) = JVS(1367)*UV(206)+JVS(1368)*UV(268)+JVS(1369)*UV(337)+JVS(1370)*UV(345)+JVS(1371)*UV(346) JUV(207) = JVS(1372)*UV(207)+JVS(1373)*UV(267)+JVS(1374)*UV(337)+JVS(1375)*UV(345)+JVS(1376)*UV(346) JUV(208) = JVS(1377)*UV(131)+JVS(1378)*UV(147)+JVS(1379)*UV(208)+JVS(1380)*UV(243)+JVS(1381)*UV(254)+JVS(1385)*UV(288)& &+JVS(1386)*UV(337)+JVS(1387)*UV(345)+JVS(1388)*UV(346) JUV(209) = JVS(1389)*UV(209)+JVS(1390)*UV(305)+JVS(1391)*UV(337)+JVS(1392)*UV(345) JUV(210) = JVS(1393)*UV(209)+JVS(1394)*UV(210)+JVS(1395)*UV(223)+JVS(1396)*UV(226)+JVS(1397)*UV(271)+JVS(1398)*UV(276)& &+JVS(1399)*UV(303)+JVS(1400)*UV(305)+JVS(1401)*UV(337)+JVS(1402)*UV(345)+JVS(1403)*UV(346) JUV(211) = JVS(1404)*UV(211)+JVS(1405)*UV(281)+JVS(1406)*UV(341)+JVS(1407)*UV(345)+JVS(1408)*UV(346)+JVS(1409)*UV(351) JUV(212) = JVS(1410)*UV(140)+JVS(1411)*UV(212)+JVS(1412)*UV(337)+JVS(1414)*UV(345)+JVS(1415)*UV(346) JUV(213) = JVS(1417)*UV(114)+JVS(1418)*UV(213)+JVS(1419)*UV(306)+JVS(1420)*UV(335)+JVS(1421)*UV(337)+JVS(1422)*UV(345)& &+JVS(1423)*UV(346)+JVS(1424)*UV(351) JUV(214) = JVS(1425)*UV(214)+JVS(1426)*UV(335)+JVS(1427)*UV(336)+JVS(1428)*UV(339)+JVS(1429)*UV(344)+JVS(1430)*UV(351)& &+JVS(1431)*UV(353) JUV(215) = JVS(1432)*UV(128)+JVS(1433)*UV(144)+JVS(1434)*UV(150)+JVS(1435)*UV(151)+JVS(1436)*UV(152)+JVS(1439)*UV(186)& &+JVS(1444)*UV(215)+JVS(1445)*UV(230)+JVS(1446)*UV(231)+JVS(1450)*UV(301)+JVS(1455)*UV(345) JUV(216) = JVS(1457)*UV(206)+JVS(1458)*UV(216)+JVS(1459)*UV(226)+JVS(1460)*UV(268)+JVS(1461)*UV(271)+JVS(1462)*UV(293)& &+JVS(1463)*UV(301)+JVS(1464)*UV(308)+JVS(1465)*UV(328)+JVS(1466)*UV(337)+JVS(1467)*UV(345)+JVS(1468)*UV(346) JUV(217) = JVS(1469)*UV(181)+JVS(1470)*UV(217)+JVS(1471)*UV(228)+JVS(1472)*UV(325)+JVS(1473)*UV(334)+JVS(1474)*UV(337)& &+JVS(1475)*UV(339)+JVS(1476)*UV(340)+JVS(1477)*UV(341)+JVS(1478)*UV(343)+JVS(1479)*UV(345)+JVS(1480)*UV(352) JUV(218) = JVS(1481)*UV(218)+JVS(1482)*UV(335)+JVS(1483)*UV(336)+JVS(1484)*UV(339)+JVS(1485)*UV(342)+JVS(1486)*UV(347) JUV(219) = JVS(1487)*UV(219)+JVS(1488)*UV(341)+JVS(1489)*UV(345)+JVS(1490)*UV(351) JUV(220) = JVS(1491)*UV(220)+JVS(1492)*UV(341)+JVS(1493)*UV(345)+JVS(1494)*UV(351) JUV(221) = JVS(1495)*UV(82)+JVS(1496)*UV(101)+JVS(1497)*UV(143)+JVS(1498)*UV(149)+JVS(1499)*UV(195)+JVS(1500)*UV(200)& &+JVS(1501)*UV(202)+JVS(1503)*UV(221)+JVS(1504)*UV(269)+JVS(1505)*UV(341)+JVS(1506)*UV(345)+JVS(1507)*UV(351) JUV(222) = JVS(1508)*UV(222)+JVS(1509)*UV(310)+JVS(1510)*UV(311)+JVS(1511)*UV(328)+JVS(1512)*UV(337)+JVS(1513)*UV(345) JUV(223) = JVS(1514)*UV(187)+JVS(1515)*UV(209)+JVS(1516)*UV(223)+JVS(1518)*UV(337)+JVS(1519)*UV(345)+JVS(1520)*UV(346) JUV(224) = JVS(1521)*UV(192)+JVS(1522)*UV(199)+JVS(1523)*UV(224)+JVS(1525)*UV(337)+JVS(1526)*UV(345)+JVS(1527)*UV(346) JUV(225) = JVS(1528)*UV(111)+JVS(1529)*UV(137)+JVS(1530)*UV(191)+JVS(1531)*UV(225)+JVS(1532)*UV(277)+JVS(1533)*UV(324)& &+JVS(1534)*UV(328)+JVS(1536)*UV(341)+JVS(1537)*UV(345)+JVS(1538)*UV(346)+JVS(1539)*UV(351) JUV(226) = JVS(1540)*UV(186)+JVS(1541)*UV(226)+JVS(1543)*UV(337)+JVS(1544)*UV(345)+JVS(1545)*UV(346) JUV(227) = JVS(1546)*UV(131)+JVS(1547)*UV(147)+JVS(1548)*UV(153)+JVS(1549)*UV(194)+JVS(1550)*UV(227)+JVS(1553)*UV(258)& &+JVS(1556)*UV(288)+JVS(1558)*UV(302)+JVS(1561)*UV(345) JUV(228) = JVS(1563)*UV(228)+JVS(1564)*UV(290)+JVS(1565)*UV(326)+JVS(1566)*UV(334)+JVS(1567)*UV(340)+JVS(1568)*UV(341)& &+JVS(1569)*UV(345) JUV(229) = JVS(1570)*UV(229)+JVS(1571)*UV(291)+JVS(1572)*UV(337)+JVS(1573)*UV(341)+JVS(1574)*UV(345)+JVS(1575)*UV(351) JUV(230) = JVS(1576)*UV(209)+JVS(1577)*UV(230)+JVS(1578)*UV(276)+JVS(1579)*UV(305)+JVS(1581)*UV(345) JUV(231) = JVS(1582)*UV(199)+JVS(1583)*UV(231)+JVS(1584)*UV(276)+JVS(1585)*UV(304)+JVS(1587)*UV(345) JUV(232) = JVS(1588)*UV(187)+JVS(1589)*UV(192)+JVS(1590)*UV(232)+JVS(1593)*UV(337)+JVS(1594)*UV(345)+JVS(1595)*UV(346) JUV(233) = JVS(1596)*UV(140)+JVS(1597)*UV(212)+JVS(1598)*UV(233)+JVS(1600)*UV(341)+JVS(1601)*UV(345)+JVS(1602)*UV(346)& &+JVS(1603)*UV(351) JUV(234) = JVS(1604)*UV(109)+JVS(1605)*UV(136)+JVS(1607)*UV(234)+JVS(1608)*UV(246)+JVS(1609)*UV(328)+JVS(1610)*UV(337)& &+JVS(1612)*UV(345)+JVS(1613)*UV(346)+JVS(1614)*UV(351) JUV(235) = JVS(1615)*UV(71)+JVS(1616)*UV(90)+JVS(1617)*UV(204)+JVS(1619)*UV(235)+JVS(1620)*UV(328)+JVS(1621)*UV(335)& &+JVS(1622)*UV(337)+JVS(1624)*UV(345)+JVS(1625)*UV(346)+JVS(1626)*UV(351) JUV(236) = JVS(1627)*UV(71)+JVS(1628)*UV(117)+JVS(1629)*UV(203)+JVS(1630)*UV(204)+JVS(1631)*UV(220)+JVS(1632)*UV(235)& &+JVS(1633)*UV(236)+JVS(1634)*UV(328)+JVS(1635)*UV(335)+JVS(1636)*UV(337)+JVS(1637)*UV(341)+JVS(1638)*UV(345)& &+JVS(1639)*UV(346)+JVS(1640)*UV(351) JUV(237) = JVS(1641)*UV(237)+JVS(1642)*UV(281)+JVS(1643)*UV(324)+JVS(1644)*UV(328)+JVS(1645)*UV(337)+JVS(1646)*UV(341)& &+JVS(1647)*UV(345)+JVS(1648)*UV(346)+JVS(1649)*UV(351) JUV(238) = JVS(1650)*UV(199)+JVS(1651)*UV(209)+JVS(1652)*UV(238)+JVS(1653)*UV(267)+JVS(1654)*UV(268)+JVS(1655)*UV(304)& &+JVS(1656)*UV(305)+JVS(1657)*UV(328)+JVS(1659)*UV(345)+JVS(1660)*UV(346) JUV(239) = JVS(1661)*UV(64)+JVS(1662)*UV(65)+JVS(1665)*UV(239)+JVS(1666)*UV(252)+JVS(1667)*UV(269)+JVS(1668)*UV(297)& &+JVS(1670)*UV(335)+JVS(1671)*UV(339)+JVS(1673)*UV(344)+JVS(1674)*UV(345)+JVS(1675)*UV(346)+JVS(1677)*UV(349)& &+JVS(1678)*UV(350)+JVS(1680)*UV(352)+JVS(1681)*UV(353) JUV(240) = JVS(1682)*UV(122)+JVS(1683)*UV(146)+JVS(1685)*UV(240)+JVS(1686)*UV(335)+JVS(1687)*UV(337)+JVS(1688)*UV(345)& &+JVS(1689)*UV(346) JUV(241) = JVS(1691)*UV(241)+JVS(1692)*UV(290)+JVS(1693)*UV(329)+JVS(1694)*UV(335)+JVS(1695)*UV(336)+JVS(1696)*UV(341)& &+JVS(1697)*UV(346)+JVS(1698)*UV(348) JUV(242) = JVS(1699)*UV(193)+JVS(1700)*UV(242)+JVS(1701)*UV(280)+JVS(1702)*UV(289)+JVS(1704)*UV(324)+JVS(1705)*UV(328)& &+JVS(1706)*UV(337)+JVS(1707)*UV(341)+JVS(1708)*UV(345)+JVS(1710)*UV(351) JUV(243) = JVS(1711)*UV(128)+JVS(1712)*UV(192)+JVS(1715)*UV(243)+JVS(1720)*UV(337)+JVS(1721)*UV(345)+JVS(1722)*UV(346) JUV(244) = JVS(1723)*UV(199)+JVS(1724)*UV(224)+JVS(1725)*UV(226)+JVS(1726)*UV(244)+JVS(1727)*UV(271)+JVS(1728)*UV(276)& &+JVS(1729)*UV(287)+JVS(1730)*UV(303)+JVS(1731)*UV(304)+JVS(1732)*UV(309)+JVS(1734)*UV(313)+JVS(1735)*UV(320)& &+JVS(1736)*UV(337)+JVS(1737)*UV(345)+JVS(1738)*UV(346) JUV(245) = JVS(1739)*UV(110)+JVS(1740)*UV(245)+JVS(1741)*UV(297)+JVS(1742)*UV(317)+JVS(1744)*UV(333)+JVS(1745)*UV(334)& &+JVS(1746)*UV(338)+JVS(1747)*UV(339)+JVS(1748)*UV(340)+JVS(1749)*UV(344)+JVS(1750)*UV(345)+JVS(1752)*UV(353) JUV(246) = JVS(1753)*UV(113)+JVS(1754)*UV(246)+JVS(1755)*UV(320)+JVS(1756)*UV(335)+JVS(1757)*UV(337)+JVS(1759)*UV(346) JUV(247) = JVS(1760)*UV(125)+JVS(1761)*UV(180)+JVS(1762)*UV(182)+JVS(1763)*UV(206)+JVS(1764)*UV(216)+JVS(1765)*UV(226)& &+JVS(1766)*UV(247)+JVS(1769)*UV(271)+JVS(1770)*UV(293)+JVS(1775)*UV(309)+JVS(1778)*UV(337)+JVS(1779)*UV(345)& &+JVS(1780)*UV(346)+JVS(1781)*UV(351) JUV(248) = JVS(1782)*UV(172)+JVS(1783)*UV(205)+JVS(1785)*UV(248)+JVS(1786)*UV(253)+JVS(1789)*UV(303)+JVS(1792)*UV(308)& &+JVS(1793)*UV(335)+JVS(1794)*UV(337)+JVS(1795)*UV(345)+JVS(1796)*UV(346) JUV(249) = JVS(1797)*UV(249)+JVS(1798)*UV(279)+JVS(1799)*UV(324)+JVS(1800)*UV(328)+JVS(1801)*UV(337)+JVS(1802)*UV(345)& &+JVS(1803)*UV(346) JUV(250) = JVS(1804)*UV(125)+JVS(1805)*UV(250)+JVS(1806)*UV(290)+JVS(1807)*UV(324)+JVS(1808)*UV(328)+JVS(1809)*UV(337)& &+JVS(1810)*UV(345)+JVS(1811)*UV(346)+JVS(1812)*UV(351) JUV(251) = JVS(1813)*UV(251)+JVS(1814)*UV(318)+JVS(1815)*UV(319)+JVS(1816)*UV(320)+JVS(1817)*UV(337)+JVS(1818)*UV(345)& &+JVS(1819)*UV(346) JUV(252) = JVS(1820)*UV(252)+JVS(1821)*UV(331)+JVS(1822)*UV(335)+JVS(1823)*UV(344)+JVS(1824)*UV(349)+JVS(1825)*UV(350)& &+JVS(1826)*UV(353) JUV(253) = JVS(1827)*UV(172)+JVS(1829)*UV(253)+JVS(1833)*UV(309)+JVS(1835)*UV(337)+JVS(1836)*UV(345)+JVS(1837)*UV(346) JUV(254) = JVS(1838)*UV(171)+JVS(1840)*UV(254)+JVS(1844)*UV(314)+JVS(1846)*UV(337)+JVS(1847)*UV(345)+JVS(1848)*UV(346) JUV(255) = JVS(1849)*UV(167)+JVS(1850)*UV(255)+JVS(1851)*UV(281)+JVS(1852)*UV(324)+JVS(1853)*UV(328)+JVS(1854)*UV(337)& &+JVS(1855)*UV(341)+JVS(1856)*UV(345)+JVS(1857)*UV(346)+JVS(1858)*UV(351) JUV(256) = JVS(1859)*UV(162)+JVS(1860)*UV(176)+JVS(1861)*UV(177)+JVS(1865)*UV(256)+JVS(1871)*UV(280)+JVS(1873)*UV(289)& &+JVS(1874)*UV(324)+JVS(1875)*UV(328)+JVS(1876)*UV(337)+JVS(1878)*UV(345)+JVS(1879)*UV(346)+JVS(1880)*UV(351) JUV(257) = JVS(1881)*UV(56)+JVS(1882)*UV(74)+JVS(1883)*UV(111)+JVS(1884)*UV(225)+JVS(1885)*UV(257)+JVS(1887)*UV(324)& &+JVS(1888)*UV(328)+JVS(1889)*UV(335)+JVS(1890)*UV(337)+JVS(1892)*UV(345)+JVS(1893)*UV(346)+JVS(1894)*UV(351) JUV(258) = JVS(1895)*UV(174)+JVS(1896)*UV(223)+JVS(1897)*UV(224)+JVS(1899)*UV(243)+JVS(1900)*UV(258)+JVS(1903)*UV(285)& &+JVS(1904)*UV(286)+JVS(1907)*UV(337)+JVS(1908)*UV(345) JUV(259) = JVS(1910)*UV(159)+JVS(1911)*UV(184)+JVS(1912)*UV(259)+JVS(1914)*UV(309)+JVS(1915)*UV(335)+JVS(1916)*UV(337)& &+JVS(1917)*UV(345)+JVS(1918)*UV(346)+JVS(1919)*UV(351) JUV(260) = JVS(1920)*UV(123)+JVS(1921)*UV(260)+JVS(1922)*UV(290)+JVS(1923)*UV(324)+JVS(1924)*UV(328)+JVS(1925)*UV(337)& &+JVS(1926)*UV(340)+JVS(1927)*UV(342)+JVS(1928)*UV(345)+JVS(1929)*UV(346) JUV(261) = JVS(1930)*UV(180)+JVS(1931)*UV(182)+JVS(1932)*UV(207)+JVS(1933)*UV(226)+JVS(1934)*UV(261)+JVS(1936)*UV(271)& &+JVS(1937)*UV(293)+JVS(1940)*UV(302)+JVS(1941)*UV(303)+JVS(1943)*UV(337)+JVS(1944)*UV(345)+JVS(1945)*UV(346)& &+JVS(1946)*UV(351) JUV(262) = JVS(1947)*UV(193)+JVS(1948)*UV(219)+JVS(1949)*UV(229)+JVS(1950)*UV(262)+JVS(1951)*UV(291)+JVS(1952)*UV(324)& &+JVS(1953)*UV(328)+JVS(1955)*UV(341)+JVS(1956)*UV(345)+JVS(1957)*UV(346)+JVS(1958)*UV(351) JUV(263) = JVS(1959)*UV(82)+JVS(1960)*UV(101)+JVS(1961)*UV(137)+JVS(1962)*UV(138)+JVS(1963)*UV(143)+JVS(1964)*UV(149)& &+JVS(1965)*UV(158)+JVS(1966)*UV(160)+JVS(1967)*UV(167)+JVS(1968)*UV(176)+JVS(1969)*UV(193)+JVS(1970)*UV(195)& &+JVS(1971)*UV(200)+JVS(1972)*UV(202)+JVS(1973)*UV(211)+JVS(1974)*UV(219)+JVS(1975)*UV(220)+JVS(1976)*UV(229)& &+JVS(1977)*UV(237)+JVS(1978)*UV(255)+JVS(1979)*UV(262)+JVS(1980)*UV(263)+JVS(1983)*UV(278)+JVS(1986)*UV(324)& &+JVS(1987)*UV(328)+JVS(1988)*UV(337)+JVS(1989)*UV(341)+JVS(1990)*UV(345)+JVS(1991)*UV(346)+JVS(1992)*UV(351) JUV(264) = JVS(1993)*UV(241)+JVS(1994)*UV(264)+JVS(1995)*UV(276)+JVS(1997)*UV(312)+JVS(1998)*UV(314)+JVS(2001)*UV(336)& &+JVS(2002)*UV(337)+JVS(2003)*UV(340)+JVS(2004)*UV(341)+JVS(2005)*UV(343)+JVS(2006)*UV(345)+JVS(2008)*UV(348) JUV(265) = JVS(2009)*UV(60)+JVS(2010)*UV(88)+JVS(2011)*UV(107)+JVS(2014)*UV(194)+JVS(2015)*UV(201)+JVS(2016)*UV(221)& &+JVS(2020)*UV(265)+JVS(2024)*UV(302)+JVS(2028)*UV(306)+JVS(2029)*UV(307)+JVS(2032)*UV(312)+JVS(2034)*UV(336)& &+JVS(2036)*UV(340)+JVS(2037)*UV(341)+JVS(2038)*UV(345) JUV(266) = JVS(2041)*UV(190)+JVS(2042)*UV(205)+JVS(2043)*UV(206)+JVS(2044)*UV(207)+JVS(2045)*UV(226)+JVS(2046)*UV(243)& &+JVS(2047)*UV(266)+JVS(2050)*UV(271)+JVS(2051)*UV(285)+JVS(2052)*UV(286)+JVS(2053)*UV(303)+JVS(2058)*UV(345)& &+JVS(2059)*UV(346) JUV(267) = JVS(2060)*UV(267)+JVS(2061)*UV(305)+JVS(2062)*UV(311)+JVS(2063)*UV(328)+JVS(2064)*UV(345)+JVS(2065)*UV(346) JUV(268) = JVS(2066)*UV(268)+JVS(2067)*UV(304)+JVS(2068)*UV(310)+JVS(2069)*UV(311)+JVS(2070)*UV(328)+JVS(2071)*UV(345)& &+JVS(2072)*UV(346) JUV(269) = JVS(2073)*UV(158)+JVS(2074)*UV(195)+JVS(2076)*UV(202)+JVS(2077)*UV(203)+JVS(2081)*UV(269)+JVS(2083)*UV(335)& &+JVS(2086)*UV(345)+JVS(2088)*UV(351) JUV(270) = JVS(2089)*UV(60)+JVS(2090)*UV(82)+JVS(2091)*UV(101)+JVS(2092)*UV(143)+JVS(2093)*UV(185)+JVS(2094)*UV(194)& &+JVS(2095)*UV(195)+JVS(2096)*UV(198)+JVS(2097)*UV(200)+JVS(2098)*UV(210)+JVS(2100)*UV(221)+JVS(2104)*UV(227)& &+JVS(2108)*UV(233)+JVS(2109)*UV(258)+JVS(2113)*UV(270)+JVS(2116)*UV(285)+JVS(2124)*UV(306)+JVS(2129)*UV(337)& &+JVS(2130)*UV(341)+JVS(2131)*UV(345)+JVS(2132)*UV(346)+JVS(2133)*UV(351) JUV(271) = JVS(2134)*UV(222)+JVS(2135)*UV(271)+JVS(2139)*UV(337)+JVS(2140)*UV(345)+JVS(2141)*UV(346) JUV(272) = JVS(2142)*UV(211)+JVS(2143)*UV(237)+JVS(2144)*UV(272)+JVS(2147)*UV(328)+JVS(2148)*UV(337)+JVS(2149)*UV(341)& &+JVS(2150)*UV(345)+JVS(2151)*UV(346)+JVS(2152)*UV(351) JUV(273) = JVS(2153)*UV(129)+JVS(2155)*UV(161)+JVS(2156)*UV(191)+JVS(2157)*UV(273)+JVS(2160)*UV(328)+JVS(2161)*UV(337)& &+JVS(2162)*UV(341)+JVS(2163)*UV(345)+JVS(2164)*UV(346)+JVS(2165)*UV(351) JUV(274) = JVS(2166)*UV(57)+JVS(2167)*UV(161)+JVS(2168)*UV(162)+JVS(2169)*UV(163)+JVS(2170)*UV(167)+JVS(2171)*UV(169)& &+JVS(2172)*UV(177)+JVS(2173)*UV(211)+JVS(2174)*UV(237)+JVS(2175)*UV(255)+JVS(2177)*UV(273)+JVS(2178)*UV(274)& &+JVS(2181)*UV(324)+JVS(2182)*UV(328)+JVS(2183)*UV(335)+JVS(2184)*UV(337)+JVS(2185)*UV(341)+JVS(2186)*UV(345)& &+JVS(2187)*UV(346)+JVS(2188)*UV(351) JUV(275) = JVS(2189)*UV(112)+JVS(2190)*UV(191)+JVS(2191)*UV(219)+JVS(2192)*UV(275)+JVS(2193)*UV(324)+JVS(2194)*UV(328)& &+JVS(2195)*UV(337)+JVS(2197)*UV(345)+JVS(2198)*UV(346)+JVS(2199)*UV(351) JUV(276) = JVS(2200)*UV(276)+JVS(2201)*UV(340)+JVS(2202)*UV(341)+JVS(2203)*UV(345)+JVS(2204)*UV(351) JUV(277) = JVS(2205)*UV(111)+JVS(2206)*UV(191)+JVS(2207)*UV(219)+JVS(2208)*UV(277)+JVS(2209)*UV(324)+JVS(2210)*UV(328)& &+JVS(2211)*UV(337)+JVS(2212)*UV(341)+JVS(2213)*UV(345)+JVS(2214)*UV(346)+JVS(2215)*UV(351) JUV(278) = JVS(2216)*UV(66)+JVS(2217)*UV(74)+JVS(2218)*UV(160)+JVS(2219)*UV(225)+JVS(2220)*UV(257)+JVS(2222)*UV(278)& &+JVS(2223)*UV(324)+JVS(2224)*UV(328)+JVS(2226)*UV(337)+JVS(2228)*UV(345)+JVS(2229)*UV(346)+JVS(2230)*UV(351) JUV(279) = JVS(2231)*UV(249)+JVS(2232)*UV(279)+JVS(2233)*UV(300)+JVS(2234)*UV(320)+JVS(2237)*UV(337)+JVS(2238)*UV(345)& &+JVS(2239)*UV(346) JUV(280) = JVS(2240)*UV(167)+JVS(2241)*UV(191)+JVS(2242)*UV(193)+JVS(2243)*UV(219)+JVS(2244)*UV(229)+JVS(2245)*UV(262)& &+JVS(2246)*UV(280)+JVS(2247)*UV(289)+JVS(2249)*UV(324)+JVS(2250)*UV(328)+JVS(2251)*UV(337)+JVS(2254)*UV(346)& &+JVS(2255)*UV(351) JUV(281) = JVS(2256)*UV(167)+JVS(2257)*UV(191)+JVS(2258)*UV(219)+JVS(2259)*UV(281)+JVS(2260)*UV(324)+JVS(2261)*UV(328)& &+JVS(2262)*UV(337)+JVS(2264)*UV(345)+JVS(2265)*UV(346)+JVS(2266)*UV(351) JUV(282) = JVS(2267)*UV(234)+JVS(2269)*UV(249)+JVS(2270)*UV(250)+JVS(2271)*UV(260)+JVS(2272)*UV(272)+JVS(2273)*UV(273)& &+JVS(2274)*UV(275)+JVS(2275)*UV(277)+JVS(2276)*UV(278)+JVS(2278)*UV(281)+JVS(2279)*UV(282)+JVS(2280)*UV(289)& &+JVS(2282)*UV(291)+JVS(2283)*UV(296)+JVS(2284)*UV(300)+JVS(2285)*UV(306)+JVS(2286)*UV(310)+JVS(2287)*UV(311)& &+JVS(2288)*UV(313)+JVS(2289)*UV(315)+JVS(2290)*UV(318)+JVS(2291)*UV(319)+JVS(2292)*UV(320)+JVS(2293)*UV(321)& &+JVS(2294)*UV(323)+JVS(2296)*UV(328)+JVS(2299)*UV(340)+JVS(2302)*UV(345) JUV(283) = JVS(2305)*UV(201)+JVS(2306)*UV(241)+JVS(2307)*UV(249)+JVS(2308)*UV(250)+JVS(2309)*UV(260)+JVS(2310)*UV(275)& &+JVS(2311)*UV(277)+JVS(2313)*UV(281)+JVS(2314)*UV(283)+JVS(2316)*UV(291)+JVS(2317)*UV(296)+JVS(2318)*UV(300)& &+JVS(2319)*UV(307)+JVS(2320)*UV(313)+JVS(2321)*UV(315)+JVS(2322)*UV(318)+JVS(2323)*UV(319)+JVS(2324)*UV(320)& &+JVS(2325)*UV(321)+JVS(2326)*UV(323)+JVS(2327)*UV(324)+JVS(2328)*UV(328)+JVS(2331)*UV(336)+JVS(2332)*UV(337)& &+JVS(2333)*UV(340)+JVS(2334)*UV(341)+JVS(2336)*UV(345) JUV(284) = JVS(2340)*UV(44)+JVS(2341)*UV(55)+JVS(2342)*UV(96)+JVS(2343)*UV(284)+JVS(2344)*UV(330)+JVS(2345)*UV(331)& &+JVS(2346)*UV(332)+JVS(2347)*UV(335)+JVS(2348)*UV(337)+JVS(2349)*UV(338)+JVS(2350)*UV(341)+JVS(2351)*UV(345)& &+JVS(2352)*UV(346)+JVS(2353)*UV(347) JUV(285) = JVS(2354)*UV(147)+JVS(2355)*UV(151)+JVS(2356)*UV(152)+JVS(2361)*UV(238)+JVS(2364)*UV(285)+JVS(2371)*UV(337)& &+JVS(2372)*UV(345)+JVS(2373)*UV(346) JUV(286) = JVS(2374)*UV(147)+JVS(2375)*UV(151)+JVS(2376)*UV(152)+JVS(2381)*UV(238)+JVS(2385)*UV(286)+JVS(2391)*UV(337)& &+JVS(2392)*UV(345)+JVS(2393)*UV(346) JUV(287) = JVS(2394)*UV(144)+JVS(2395)*UV(192)+JVS(2396)*UV(198)+JVS(2398)*UV(223)+JVS(2400)*UV(231)+JVS(2402)*UV(238)& &+JVS(2403)*UV(253)+JVS(2404)*UV(258)+JVS(2405)*UV(266)+JVS(2406)*UV(267)+JVS(2408)*UV(271)+JVS(2412)*UV(287)& &+JVS(2414)*UV(303)+JVS(2415)*UV(304)+JVS(2416)*UV(305)+JVS(2420)*UV(328)+JVS(2422)*UV(337)+JVS(2425)*UV(345)& &+JVS(2426)*UV(346) JUV(288) = JVS(2428)*UV(150)+JVS(2429)*UV(187)+JVS(2430)*UV(198)+JVS(2433)*UV(224)+JVS(2434)*UV(230)+JVS(2436)*UV(238)& &+JVS(2437)*UV(254)+JVS(2438)*UV(266)+JVS(2440)*UV(268)+JVS(2441)*UV(271)+JVS(2445)*UV(288)+JVS(2448)*UV(304)& &+JVS(2449)*UV(305)+JVS(2453)*UV(328)+JVS(2455)*UV(337)+JVS(2458)*UV(345)+JVS(2459)*UV(346) JUV(289) = JVS(2461)*UV(167)+JVS(2462)*UV(191)+JVS(2463)*UV(219)+JVS(2464)*UV(280)+JVS(2465)*UV(289)+JVS(2467)*UV(324)& &+JVS(2468)*UV(328)+JVS(2469)*UV(337)+JVS(2472)*UV(346)+JVS(2473)*UV(351) JUV(290) = JVS(2474)*UV(290)+JVS(2475)*UV(314)+JVS(2476)*UV(340)+JVS(2477)*UV(341)+JVS(2478)*UV(342)+JVS(2479)*UV(345)& &+JVS(2480)*UV(351) JUV(291) = JVS(2481)*UV(219)+JVS(2482)*UV(291)+JVS(2483)*UV(324)+JVS(2484)*UV(328)+JVS(2485)*UV(337)+JVS(2487)*UV(345)& &+JVS(2488)*UV(346)+JVS(2489)*UV(351) JUV(292) = JVS(2490)*UV(160)+JVS(2491)*UV(176)+JVS(2492)*UV(178)+JVS(2493)*UV(219)+JVS(2494)*UV(251)+JVS(2495)*UV(256)& &+JVS(2496)*UV(262)+JVS(2501)*UV(278)+JVS(2502)*UV(279)+JVS(2503)*UV(280)+JVS(2505)*UV(289)+JVS(2507)*UV(292)& &+JVS(2508)*UV(300)+JVS(2510)*UV(319)+JVS(2511)*UV(320)+JVS(2512)*UV(324)+JVS(2513)*UV(328)+JVS(2516)*UV(341)& &+JVS(2517)*UV(345)+JVS(2518)*UV(346)+JVS(2519)*UV(351) JUV(293) = JVS(2520)*UV(145)+JVS(2522)*UV(222)+JVS(2523)*UV(293)+JVS(2525)*UV(303)+JVS(2530)*UV(337)+JVS(2531)*UV(345)& &+JVS(2532)*UV(346) JUV(294) = JVS(2534)*UV(82)+JVS(2535)*UV(101)+JVS(2536)*UV(107)+JVS(2539)*UV(185)+JVS(2540)*UV(194)+JVS(2541)*UV(198)& &+JVS(2542)*UV(199)+JVS(2543)*UV(200)+JVS(2544)*UV(201)+JVS(2545)*UV(209)+JVS(2546)*UV(215)+JVS(2549)*UV(227)& &+JVS(2550)*UV(230)+JVS(2551)*UV(231)+JVS(2553)*UV(238)+JVS(2554)*UV(244)+JVS(2555)*UV(247)+JVS(2557)*UV(253)& &+JVS(2558)*UV(254)+JVS(2559)*UV(258)+JVS(2561)*UV(266)+JVS(2565)*UV(276)+JVS(2567)*UV(286)+JVS(2568)*UV(287)& &+JVS(2569)*UV(288)+JVS(2572)*UV(294)+JVS(2575)*UV(302)+JVS(2577)*UV(304)+JVS(2578)*UV(305)+JVS(2579)*UV(307)& &+JVS(2581)*UV(309)+JVS(2584)*UV(313)+JVS(2585)*UV(314)+JVS(2587)*UV(324)+JVS(2588)*UV(328)+JVS(2590)*UV(337)& &+JVS(2592)*UV(341)+JVS(2594)*UV(345)+JVS(2595)*UV(346)+JVS(2596)*UV(351) JUV(295) = JVS(2597)*UV(91)+JVS(2598)*UV(100)+JVS(2599)*UV(160)+JVS(2600)*UV(161)+JVS(2601)*UV(162)+JVS(2602)*UV(176)& &+JVS(2603)*UV(219)+JVS(2604)*UV(229)+JVS(2605)*UV(251)+JVS(2606)*UV(262)+JVS(2607)*UV(273)+JVS(2610)*UV(278)& &+JVS(2611)*UV(279)+JVS(2612)*UV(291)+JVS(2613)*UV(295)+JVS(2614)*UV(300)+JVS(2616)*UV(319)+JVS(2618)*UV(323)& &+JVS(2619)*UV(324)+JVS(2620)*UV(328)+JVS(2623)*UV(340)+JVS(2624)*UV(341)+JVS(2625)*UV(342)+JVS(2626)*UV(345)& &+JVS(2627)*UV(346)+JVS(2628)*UV(351) JUV(296) = JVS(2629)*UV(173)+JVS(2630)*UV(183)+JVS(2639)*UV(296)+JVS(2642)*UV(324)+JVS(2643)*UV(328)+JVS(2645)*UV(337)& &+JVS(2646)*UV(340)+JVS(2648)*UV(342)+JVS(2649)*UV(345)+JVS(2650)*UV(346)+JVS(2651)*UV(351) JUV(297) = JVS(2652)*UV(214)+JVS(2653)*UV(297)+JVS(2656)*UV(339)+JVS(2657)*UV(344)+JVS(2658)*UV(345)+JVS(2659)*UV(349)& &+JVS(2660)*UV(350)+JVS(2662)*UV(352)+JVS(2663)*UV(353) JUV(298) = JVS(2664)*UV(95)+JVS(2665)*UV(97)+JVS(2666)*UV(98)+JVS(2667)*UV(99)+JVS(2668)*UV(102)+JVS(2669)*UV(125)& &+JVS(2670)*UV(130)+JVS(2671)*UV(161)+JVS(2672)*UV(162)+JVS(2673)*UV(165)+JVS(2674)*UV(169)+JVS(2675)*UV(178)& &+JVS(2676)*UV(188)+JVS(2677)*UV(196)+JVS(2678)*UV(201)+JVS(2679)*UV(212)+JVS(2680)*UV(219)+JVS(2681)*UV(221)& &+JVS(2682)*UV(229)+JVS(2683)*UV(242)+JVS(2684)*UV(249)+JVS(2685)*UV(250)+JVS(2686)*UV(251)+JVS(2687)*UV(260)& &+JVS(2690)*UV(273)+JVS(2691)*UV(274)+JVS(2693)*UV(279)+JVS(2694)*UV(280)+JVS(2696)*UV(289)+JVS(2699)*UV(298)& &+JVS(2700)*UV(300)+JVS(2702)*UV(318)+JVS(2703)*UV(319)+JVS(2705)*UV(321)+JVS(2707)*UV(324)+JVS(2708)*UV(328)& &+JVS(2710)*UV(337)+JVS(2712)*UV(341)+JVS(2714)*UV(345)+JVS(2715)*UV(346)+JVS(2716)*UV(351) JUV(299) = JVS(2717)*UV(180)+JVS(2718)*UV(190)+JVS(2719)*UV(205)+JVS(2720)*UV(206)+JVS(2721)*UV(207)+JVS(2722)*UV(226)& &+JVS(2725)*UV(271)+JVS(2726)*UV(293)+JVS(2727)*UV(299)+JVS(2731)*UV(310)+JVS(2732)*UV(311)+JVS(2735)*UV(337)& &+JVS(2736)*UV(345)+JVS(2737)*UV(346) JUV(300) = JVS(2739)*UV(102)+JVS(2740)*UV(142)+JVS(2741)*UV(201)+JVS(2742)*UV(300)+JVS(2743)*UV(324)+JVS(2744)*UV(328)& &+JVS(2745)*UV(337)+JVS(2746)*UV(340)+JVS(2748)*UV(345)+JVS(2749)*UV(346)+JVS(2750)*UV(351) JUV(301) = JVS(2751)*UV(145)+JVS(2752)*UV(186)+JVS(2753)*UV(267)+JVS(2754)*UV(268)+JVS(2755)*UV(299)+JVS(2756)*UV(301)& &+JVS(2760)*UV(310)+JVS(2761)*UV(311)+JVS(2762)*UV(324)+JVS(2763)*UV(328)+JVS(2765)*UV(345)+JVS(2766)*UV(346)& &+JVS(2767)*UV(351) JUV(302) = JVS(2768)*UV(171)+JVS(2769)*UV(190)+JVS(2770)*UV(207)+JVS(2771)*UV(226)+JVS(2773)*UV(254)+JVS(2774)*UV(267)& &+JVS(2775)*UV(271)+JVS(2777)*UV(293)+JVS(2779)*UV(301)+JVS(2780)*UV(302)+JVS(2781)*UV(303)+JVS(2789)*UV(335)& &+JVS(2790)*UV(337)+JVS(2793)*UV(345)+JVS(2794)*UV(346) JUV(303) = JVS(2796)*UV(186)+JVS(2797)*UV(190)+JVS(2798)*UV(205)+JVS(2799)*UV(206)+JVS(2800)*UV(207)+JVS(2801)*UV(222)& &+JVS(2802)*UV(223)+JVS(2803)*UV(224)+JVS(2804)*UV(226)+JVS(2805)*UV(232)+JVS(2808)*UV(271)+JVS(2809)*UV(293)& &+JVS(2810)*UV(299)+JVS(2811)*UV(303)+JVS(2818)*UV(337)+JVS(2819)*UV(345)+JVS(2820)*UV(346) JUV(304) = JVS(2822)*UV(186)+JVS(2823)*UV(192)+JVS(2824)*UV(199)+JVS(2825)*UV(276)+JVS(2826)*UV(304)+JVS(2827)*UV(305)& &+JVS(2829)*UV(328)+JVS(2830)*UV(337)+JVS(2831)*UV(340)+JVS(2833)*UV(345)+JVS(2834)*UV(346) JUV(305) = JVS(2836)*UV(186)+JVS(2837)*UV(187)+JVS(2838)*UV(209)+JVS(2839)*UV(276)+JVS(2840)*UV(304)+JVS(2841)*UV(305)& &+JVS(2843)*UV(328)+JVS(2844)*UV(337)+JVS(2845)*UV(340)+JVS(2847)*UV(345)+JVS(2848)*UV(346) JUV(306) = JVS(2850)*UV(70)+JVS(2851)*UV(106)+JVS(2852)*UV(113)+JVS(2853)*UV(126)+JVS(2854)*UV(127)+JVS(2855)*UV(132)& &+JVS(2856)*UV(136)+JVS(2857)*UV(174)+JVS(2858)*UV(180)+JVS(2859)*UV(197)+JVS(2860)*UV(198)+JVS(2861)*UV(201)& &+JVS(2862)*UV(202)+JVS(2863)*UV(205)+JVS(2864)*UV(206)+JVS(2865)*UV(212)+JVS(2867)*UV(221)+JVS(2869)*UV(224)& &+JVS(2870)*UV(232)+JVS(2872)*UV(234)+JVS(2874)*UV(254)+JVS(2875)*UV(258)+JVS(2876)*UV(262)+JVS(2877)*UV(266)& &+JVS(2881)*UV(271)+JVS(2884)*UV(286)+JVS(2885)*UV(288)+JVS(2887)*UV(293)+JVS(2888)*UV(299)+JVS(2890)*UV(302)& &+JVS(2891)*UV(303)+JVS(2894)*UV(306)+JVS(2900)*UV(328)+JVS(2902)*UV(337)+JVS(2904)*UV(341)+JVS(2905)*UV(345)& &+JVS(2906)*UV(346)+JVS(2907)*UV(351) JUV(307) = JVS(2908)*UV(123)+JVS(2909)*UV(153)+JVS(2910)*UV(154)+JVS(2911)*UV(159)+JVS(2912)*UV(174)+JVS(2913)*UV(184)& &+JVS(2914)*UV(198)+JVS(2915)*UV(205)+JVS(2916)*UV(207)+JVS(2917)*UV(215)+JVS(2918)*UV(223)+JVS(2922)*UV(232)& &+JVS(2924)*UV(243)+JVS(2925)*UV(248)+JVS(2926)*UV(253)+JVS(2928)*UV(258)+JVS(2930)*UV(260)+JVS(2933)*UV(271)& &+JVS(2942)*UV(285)+JVS(2944)*UV(287)+JVS(2948)*UV(293)+JVS(2949)*UV(299)+JVS(2951)*UV(303)+JVS(2954)*UV(307)& &+JVS(2955)*UV(308)+JVS(2959)*UV(313)+JVS(2961)*UV(324)+JVS(2962)*UV(328)+JVS(2964)*UV(337)+JVS(2968)*UV(345)& &+JVS(2969)*UV(346)+JVS(2970)*UV(351) JUV(308) = JVS(2971)*UV(248)+JVS(2978)*UV(308)+JVS(2983)*UV(328)+JVS(2984)*UV(335)+JVS(2985)*UV(337)+JVS(2988)*UV(345)& &+JVS(2989)*UV(346)+JVS(2990)*UV(351) JUV(309) = JVS(2991)*UV(135)+JVS(2992)*UV(144)+JVS(2993)*UV(168)+JVS(2994)*UV(192)+JVS(2996)*UV(222)+JVS(2997)*UV(231)& &+JVS(2998)*UV(276)+JVS(2999)*UV(299)+JVS(3001)*UV(304)+JVS(3002)*UV(305)+JVS(3003)*UV(309)+JVS(3004)*UV(310)& &+JVS(3005)*UV(311)+JVS(3006)*UV(324)+JVS(3007)*UV(328)+JVS(3008)*UV(337)+JVS(3010)*UV(341)+JVS(3011)*UV(345)& &+JVS(3012)*UV(346)+JVS(3013)*UV(351) JUV(310) = JVS(3014)*UV(222)+JVS(3015)*UV(276)+JVS(3016)*UV(310)+JVS(3017)*UV(311)+JVS(3018)*UV(324)+JVS(3019)*UV(328)& &+JVS(3020)*UV(337)+JVS(3023)*UV(345)+JVS(3024)*UV(346)+JVS(3025)*UV(351) JUV(311) = JVS(3026)*UV(186)+JVS(3027)*UV(276)+JVS(3028)*UV(310)+JVS(3029)*UV(311)+JVS(3030)*UV(324)+JVS(3031)*UV(328)& &+JVS(3032)*UV(337)+JVS(3035)*UV(345)+JVS(3036)*UV(346)+JVS(3037)*UV(351) JUV(312) = JVS(3038)*UV(109)+JVS(3039)*UV(191)+JVS(3040)*UV(220)+JVS(3042)*UV(255)+JVS(3043)*UV(276)+JVS(3045)*UV(290)& &+JVS(3046)*UV(309)+JVS(3049)*UV(312)+JVS(3050)*UV(314)+JVS(3053)*UV(329)+JVS(3054)*UV(335)+JVS(3055)*UV(336)& &+JVS(3058)*UV(341)+JVS(3061)*UV(346)+JVS(3062)*UV(348) JUV(313) = JVS(3064)*UV(244)+JVS(3068)*UV(295)+JVS(3077)*UV(313)+JVS(3082)*UV(324)+JVS(3083)*UV(328)+JVS(3085)*UV(337)& &+JVS(3086)*UV(340)+JVS(3088)*UV(342)+JVS(3089)*UV(345)+JVS(3090)*UV(346) JUV(314) = JVS(3092)*UV(82)+JVS(3093)*UV(101)+JVS(3094)*UV(133)+JVS(3095)*UV(150)+JVS(3096)*UV(175)+JVS(3097)*UV(187)& &+JVS(3099)*UV(219)+JVS(3100)*UV(222)+JVS(3101)*UV(229)+JVS(3102)*UV(230)+JVS(3103)*UV(262)+JVS(3104)*UV(276)& &+JVS(3105)*UV(291)+JVS(3106)*UV(299)+JVS(3108)*UV(304)+JVS(3109)*UV(305)+JVS(3110)*UV(310)+JVS(3111)*UV(311)& &+JVS(3112)*UV(314)+JVS(3113)*UV(324)+JVS(3114)*UV(328)+JVS(3115)*UV(337)+JVS(3117)*UV(341)+JVS(3118)*UV(345)& &+JVS(3119)*UV(346)+JVS(3120)*UV(351) JUV(315) = JVS(3121)*UV(118)+JVS(3122)*UV(251)+JVS(3123)*UV(279)+JVS(3124)*UV(292)+JVS(3126)*UV(298)+JVS(3127)*UV(300)& &+JVS(3129)*UV(315)+JVS(3131)*UV(319)+JVS(3134)*UV(322)+JVS(3136)*UV(324)+JVS(3137)*UV(328)+JVS(3139)*UV(337)& &+JVS(3140)*UV(340)+JVS(3143)*UV(345)+JVS(3144)*UV(346) JUV(316) = JVS(3146)*UV(148)+JVS(3147)*UV(218)+JVS(3148)*UV(316)+JVS(3150)*UV(336)+JVS(3151)*UV(337)+JVS(3152)*UV(339)& &+JVS(3153)*UV(341)+JVS(3155)*UV(343)+JVS(3156)*UV(344)+JVS(3157)*UV(345)+JVS(3158)*UV(347)+JVS(3159)*UV(348)& &+JVS(3160)*UV(349)+JVS(3161)*UV(350)+JVS(3162)*UV(352)+JVS(3163)*UV(353) JUV(317) = JVS(3164)*UV(317)+JVS(3165)*UV(335)+JVS(3166)*UV(336)+JVS(3167)*UV(338)+JVS(3168)*UV(339)+JVS(3169)*UV(340)& &+JVS(3170)*UV(343)+JVS(3171)*UV(344)+JVS(3172)*UV(345)+JVS(3173)*UV(349)+JVS(3174)*UV(350)+JVS(3175)*UV(352)& &+JVS(3176)*UV(353) JUV(318) = JVS(3177)*UV(251)+JVS(3178)*UV(269)+JVS(3179)*UV(318)+JVS(3182)*UV(324)+JVS(3183)*UV(328)+JVS(3185)*UV(337)& &+JVS(3187)*UV(345)+JVS(3188)*UV(346)+JVS(3189)*UV(351) JUV(319) = JVS(3190)*UV(97)+JVS(3191)*UV(130)+JVS(3192)*UV(142)+JVS(3193)*UV(161)+JVS(3194)*UV(162)+JVS(3195)*UV(169)& &+JVS(3196)*UV(178)+JVS(3197)*UV(249)+JVS(3199)*UV(273)+JVS(3200)*UV(274)+JVS(3205)*UV(318)+JVS(3206)*UV(319)& &+JVS(3208)*UV(324)+JVS(3209)*UV(328)+JVS(3211)*UV(337)+JVS(3214)*UV(345)+JVS(3215)*UV(346)+JVS(3216)*UV(351) JUV(320) = JVS(3217)*UV(219)+JVS(3218)*UV(292)+JVS(3222)*UV(320)+JVS(3223)*UV(324)+JVS(3224)*UV(328)+JVS(3226)*UV(337)& &+JVS(3228)*UV(341)+JVS(3229)*UV(345)+JVS(3230)*UV(346)+JVS(3231)*UV(351) JUV(321) = JVS(3232)*UV(99)+JVS(3233)*UV(141)+JVS(3234)*UV(251)+JVS(3235)*UV(279)+JVS(3236)*UV(292)+JVS(3237)*UV(298)& &+JVS(3238)*UV(300)+JVS(3241)*UV(319)+JVS(3243)*UV(321)+JVS(3244)*UV(322)+JVS(3246)*UV(324)+JVS(3247)*UV(328)& &+JVS(3249)*UV(337)+JVS(3250)*UV(340)+JVS(3252)*UV(342)+JVS(3253)*UV(345)+JVS(3254)*UV(346) JUV(322) = JVS(3256)*UV(124)+JVS(3257)*UV(155)+JVS(3258)*UV(160)+JVS(3259)*UV(176)+JVS(3260)*UV(196)+JVS(3261)*UV(201)& &+JVS(3262)*UV(221)+JVS(3263)*UV(240)+JVS(3267)*UV(278)+JVS(3268)*UV(292)+JVS(3269)*UV(298)+JVS(3271)*UV(314)& &+JVS(3276)*UV(322)+JVS(3278)*UV(324)+JVS(3279)*UV(328)+JVS(3280)*UV(335)+JVS(3281)*UV(337)+JVS(3285)*UV(345)& &+JVS(3286)*UV(346)+JVS(3287)*UV(351) JUV(323) = JVS(3288)*UV(100)+JVS(3289)*UV(141)+JVS(3290)*UV(251)+JVS(3291)*UV(279)+JVS(3292)*UV(292)+JVS(3293)*UV(298)& &+JVS(3294)*UV(300)+JVS(3297)*UV(319)+JVS(3300)*UV(322)+JVS(3301)*UV(323)+JVS(3302)*UV(324)+JVS(3303)*UV(328)& &+JVS(3305)*UV(337)+JVS(3306)*UV(340)+JVS(3309)*UV(345)+JVS(3310)*UV(346) JUV(324) = JVS(3312)*UV(92)+JVS(3313)*UV(107)+JVS(3314)*UV(115)+JVS(3315)*UV(122)+JVS(3316)*UV(130)+JVS(3317)*UV(139)& &+JVS(3318)*UV(146)+JVS(3319)*UV(159)+JVS(3320)*UV(169)+JVS(3322)*UV(185)+JVS(3323)*UV(194)+JVS(3324)*UV(196)& &+JVS(3326)*UV(208)+JVS(3327)*UV(209)+JVS(3328)*UV(227)+JVS(3333)*UV(244)+JVS(3334)*UV(247)+JVS(3335)*UV(249)& &+JVS(3336)*UV(250)+JVS(3337)*UV(254)+JVS(3338)*UV(257)+JVS(3340)*UV(259)+JVS(3341)*UV(260)+JVS(3342)*UV(261)& &+JVS(3343)*UV(263)+JVS(3348)*UV(274)+JVS(3349)*UV(275)+JVS(3350)*UV(276)+JVS(3351)*UV(277)+JVS(3354)*UV(280)& &+JVS(3355)*UV(281)+JVS(3359)*UV(288)+JVS(3360)*UV(289)+JVS(3362)*UV(291)+JVS(3363)*UV(292)+JVS(3365)*UV(294)& &+JVS(3366)*UV(295)+JVS(3367)*UV(296)+JVS(3369)*UV(300)+JVS(3371)*UV(302)+JVS(3374)*UV(305)+JVS(3375)*UV(307)& &+JVS(3377)*UV(309)+JVS(3378)*UV(310)+JVS(3379)*UV(311)+JVS(3380)*UV(313)+JVS(3381)*UV(314)+JVS(3382)*UV(315)& &+JVS(3383)*UV(318)+JVS(3384)*UV(319)+JVS(3385)*UV(320)+JVS(3386)*UV(321)+JVS(3387)*UV(322)+JVS(3388)*UV(323)& &+JVS(3389)*UV(324)+JVS(3390)*UV(326)+JVS(3391)*UV(328)+JVS(3392)*UV(335)+JVS(3393)*UV(337)+JVS(3395)*UV(341)& &+JVS(3396)*UV(342)+JVS(3397)*UV(345)+JVS(3398)*UV(346)+JVS(3399)*UV(351) JUV(325) = JVS(3400)*UV(72)+JVS(3401)*UV(80)+JVS(3402)*UV(88)+JVS(3403)*UV(89)+JVS(3404)*UV(92)+JVS(3405)*UV(93)& &+JVS(3406)*UV(94)+JVS(3407)*UV(106)+JVS(3408)*UV(109)+JVS(3409)*UV(112)+JVS(3410)*UV(114)+JVS(3411)*UV(122)& &+JVS(3412)*UV(123)+JVS(3413)*UV(127)+JVS(3414)*UV(130)+JVS(3416)*UV(137)+JVS(3417)*UV(138)+JVS(3418)*UV(139)& &+JVS(3419)*UV(140)+JVS(3420)*UV(146)+JVS(3421)*UV(149)+JVS(3422)*UV(159)+JVS(3423)*UV(160)+JVS(3424)*UV(164)& &+JVS(3425)*UV(165)+JVS(3426)*UV(168)+JVS(3427)*UV(169)+JVS(3428)*UV(175)+JVS(3429)*UV(176)+JVS(3430)*UV(187)& &+JVS(3431)*UV(190)+JVS(3432)*UV(191)+JVS(3433)*UV(192)+JVS(3435)*UV(197)+JVS(3436)*UV(199)+JVS(3437)*UV(200)& &+JVS(3438)*UV(205)+JVS(3439)*UV(206)+JVS(3440)*UV(207)+JVS(3441)*UV(208)+JVS(3442)*UV(209)+JVS(3443)*UV(210)& &+JVS(3444)*UV(211)+JVS(3445)*UV(212)+JVS(3446)*UV(213)+JVS(3447)*UV(215)+JVS(3448)*UV(219)+JVS(3449)*UV(220)& &+JVS(3450)*UV(222)+JVS(3451)*UV(223)+JVS(3452)*UV(224)+JVS(3453)*UV(226)+JVS(3454)*UV(228)+JVS(3455)*UV(229)& &+JVS(3456)*UV(230)+JVS(3457)*UV(231)+JVS(3458)*UV(233)+JVS(3459)*UV(234)+JVS(3460)*UV(235)+JVS(3461)*UV(236)& &+JVS(3463)*UV(243)+JVS(3464)*UV(244)+JVS(3466)*UV(247)+JVS(3467)*UV(249)+JVS(3468)*UV(250)+JVS(3469)*UV(253)& &+JVS(3470)*UV(254)+JVS(3471)*UV(255)+JVS(3472)*UV(257)+JVS(3473)*UV(258)+JVS(3474)*UV(259)+JVS(3475)*UV(260)& &+JVS(3476)*UV(261)+JVS(3477)*UV(262)+JVS(3478)*UV(263)+JVS(3481)*UV(270)+JVS(3482)*UV(271)+JVS(3483)*UV(272)& &+JVS(3484)*UV(273)+JVS(3485)*UV(274)+JVS(3486)*UV(275)+JVS(3487)*UV(276)+JVS(3488)*UV(277)+JVS(3489)*UV(278)& &+JVS(3491)*UV(280)+JVS(3492)*UV(281)+JVS(3493)*UV(282)+JVS(3496)*UV(287)+JVS(3497)*UV(288)+JVS(3498)*UV(289)& &+JVS(3499)*UV(290)+JVS(3500)*UV(291)+JVS(3501)*UV(293)+JVS(3502)*UV(296)+JVS(3503)*UV(299)+JVS(3504)*UV(300)& &+JVS(3506)*UV(302)+JVS(3507)*UV(303)+JVS(3508)*UV(304)+JVS(3509)*UV(305)+JVS(3510)*UV(306)+JVS(3511)*UV(307)& &+JVS(3512)*UV(308)+JVS(3513)*UV(309)+JVS(3514)*UV(310)+JVS(3515)*UV(311)+JVS(3516)*UV(312)+JVS(3517)*UV(313)& &+JVS(3518)*UV(314)+JVS(3519)*UV(315)+JVS(3520)*UV(318)+JVS(3521)*UV(319)+JVS(3522)*UV(320)+JVS(3523)*UV(321)& &+JVS(3524)*UV(322)+JVS(3525)*UV(323)+JVS(3526)*UV(324)+JVS(3527)*UV(325)+JVS(3528)*UV(326)+JVS(3529)*UV(328)& &+JVS(3530)*UV(329)+JVS(3531)*UV(334)+JVS(3532)*UV(335)+JVS(3533)*UV(336)+JVS(3534)*UV(337)+JVS(3535)*UV(338)& &+JVS(3536)*UV(340)+JVS(3537)*UV(341)+JVS(3538)*UV(342)+JVS(3539)*UV(343)+JVS(3540)*UV(345)+JVS(3541)*UV(346)& &+JVS(3542)*UV(348)+JVS(3543)*UV(351) JUV(326) = JVS(3544)*UV(83)+JVS(3545)*UV(118)+JVS(3546)*UV(123)+JVS(3547)*UV(124)+JVS(3548)*UV(149)+JVS(3549)*UV(155)& &+JVS(3550)*UV(156)+JVS(3551)*UV(165)+JVS(3552)*UV(196)+JVS(3554)*UV(241)+JVS(3556)*UV(249)+JVS(3557)*UV(250)& &+JVS(3558)*UV(251)+JVS(3559)*UV(260)+JVS(3560)*UV(279)+JVS(3561)*UV(290)+JVS(3562)*UV(296)+JVS(3563)*UV(300)& &+JVS(3565)*UV(315)+JVS(3566)*UV(318)+JVS(3567)*UV(319)+JVS(3568)*UV(320)+JVS(3572)*UV(324)+JVS(3573)*UV(326)& &+JVS(3574)*UV(328)+JVS(3575)*UV(329)+JVS(3576)*UV(335)+JVS(3577)*UV(336)+JVS(3578)*UV(337)+JVS(3579)*UV(340)& &+JVS(3580)*UV(341)+JVS(3581)*UV(342)+JVS(3582)*UV(345)+JVS(3583)*UV(346)+JVS(3584)*UV(348)+JVS(3585)*UV(351) JUV(327) = JVS(3586)*UV(45)+JVS(3587)*UV(69)+JVS(3588)*UV(94)+JVS(3589)*UV(103)+JVS(3590)*UV(142)+JVS(3591)*UV(149)& &+JVS(3593)*UV(158)+JVS(3594)*UV(166)+JVS(3597)*UV(179)+JVS(3598)*UV(183)+JVS(3600)*UV(195)+JVS(3601)*UV(200)& &+JVS(3602)*UV(202)+JVS(3603)*UV(204)+JVS(3604)*UV(214)+JVS(3606)*UV(218)+JVS(3609)*UV(225)+JVS(3616)*UV(261)& &+JVS(3620)*UV(269)+JVS(3621)*UV(270)+JVS(3636)*UV(292)+JVS(3638)*UV(294)+JVS(3639)*UV(298)+JVS(3647)*UV(306)& &+JVS(3650)*UV(309)+JVS(3655)*UV(317)+JVS(3663)*UV(325)+JVS(3664)*UV(326)+JVS(3665)*UV(327)+JVS(3668)*UV(332)& &+JVS(3670)*UV(335)+JVS(3671)*UV(336)+JVS(3674)*UV(339)+JVS(3679)*UV(344)+JVS(3680)*UV(345)+JVS(3684)*UV(349)& &+JVS(3685)*UV(350)+JVS(3686)*UV(351)+JVS(3687)*UV(352)+JVS(3688)*UV(353) JUV(328) = JVS(3689)*UV(52)+JVS(3690)*UV(80)+JVS(3691)*UV(92)+JVS(3692)*UV(94)+JVS(3693)*UV(105)+JVS(3694)*UV(139)& &+JVS(3695)*UV(155)+JVS(3696)*UV(159)+JVS(3697)*UV(164)+JVS(3698)*UV(181)+JVS(3699)*UV(228)+JVS(3700)*UV(234)& &+JVS(3701)*UV(235)+JVS(3702)*UV(236)+JVS(3705)*UV(249)+JVS(3706)*UV(250)+JVS(3707)*UV(251)+JVS(3708)*UV(257)& &+JVS(3709)*UV(259)+JVS(3710)*UV(260)+JVS(3711)*UV(263)+JVS(3712)*UV(272)+JVS(3713)*UV(273)+JVS(3714)*UV(274)& &+JVS(3715)*UV(275)+JVS(3716)*UV(276)+JVS(3717)*UV(277)+JVS(3718)*UV(278)+JVS(3719)*UV(279)+JVS(3720)*UV(280)& &+JVS(3721)*UV(281)+JVS(3722)*UV(283)+JVS(3723)*UV(289)+JVS(3724)*UV(290)+JVS(3725)*UV(291)+JVS(3726)*UV(292)& &+JVS(3727)*UV(295)+JVS(3728)*UV(296)+JVS(3729)*UV(300)+JVS(3730)*UV(304)+JVS(3731)*UV(305)+JVS(3732)*UV(307)& &+JVS(3733)*UV(308)+JVS(3735)*UV(310)+JVS(3736)*UV(311)+JVS(3737)*UV(313)+JVS(3738)*UV(314)+JVS(3739)*UV(315)& &+JVS(3740)*UV(318)+JVS(3741)*UV(319)+JVS(3742)*UV(320)+JVS(3743)*UV(321)+JVS(3744)*UV(322)+JVS(3745)*UV(323)& &+JVS(3746)*UV(324)+JVS(3747)*UV(326)+JVS(3748)*UV(328)+JVS(3750)*UV(334)+JVS(3751)*UV(335)+JVS(3753)*UV(337)& &+JVS(3754)*UV(338)+JVS(3755)*UV(340)+JVS(3756)*UV(341)+JVS(3758)*UV(345)+JVS(3759)*UV(346)+JVS(3761)*UV(351) JUV(329) = JVS(3762)*UV(60)+JVS(3763)*UV(68)+JVS(3764)*UV(75)+JVS(3765)*UV(79)+JVS(3766)*UV(82)+JVS(3767)*UV(101)& &+JVS(3768)*UV(107)+JVS(3769)*UV(113)+JVS(3770)*UV(114)+JVS(3771)*UV(119)+JVS(3772)*UV(122)+JVS(3773)*UV(124)& &+JVS(3774)*UV(126)+JVS(3775)*UV(127)+JVS(3776)*UV(132)+JVS(3777)*UV(139)+JVS(3778)*UV(143)+JVS(3779)*UV(144)& &+JVS(3780)*UV(146)+JVS(3781)*UV(147)+JVS(3782)*UV(150)+JVS(3783)*UV(153)+JVS(3784)*UV(159)+JVS(3785)*UV(167)& &+JVS(3786)*UV(181)+JVS(3787)*UV(182)+JVS(3788)*UV(184)+JVS(3789)*UV(185)+JVS(3790)*UV(187)+JVS(3791)*UV(191)& &+JVS(3792)*UV(192)+JVS(3793)*UV(194)+JVS(3794)*UV(197)+JVS(3795)*UV(199)+JVS(3796)*UV(200)+JVS(3797)*UV(201)& &+JVS(3798)*UV(204)+JVS(3799)*UV(208)+JVS(3800)*UV(209)+JVS(3801)*UV(210)+JVS(3804)*UV(215)+JVS(3805)*UV(216)& &+JVS(3806)*UV(220)+JVS(3807)*UV(221)+JVS(3809)*UV(225)+JVS(3811)*UV(227)+JVS(3812)*UV(230)+JVS(3813)*UV(231)& &+JVS(3814)*UV(233)+JVS(3815)*UV(238)+JVS(3817)*UV(241)+JVS(3818)*UV(243)+JVS(3820)*UV(248)+JVS(3821)*UV(253)& &+JVS(3823)*UV(255)+JVS(3824)*UV(258)+JVS(3825)*UV(259)+JVS(3826)*UV(261)+JVS(3827)*UV(266)+JVS(3828)*UV(267)& &+JVS(3829)*UV(268)+JVS(3830)*UV(269)+JVS(3831)*UV(270)+JVS(3833)*UV(276)+JVS(3836)*UV(285)+JVS(3837)*UV(286)& &+JVS(3838)*UV(287)+JVS(3840)*UV(290)+JVS(3842)*UV(294)+JVS(3843)*UV(295)+JVS(3844)*UV(298)+JVS(3847)*UV(301)& &+JVS(3850)*UV(304)+JVS(3851)*UV(305)+JVS(3852)*UV(306)+JVS(3853)*UV(307)+JVS(3855)*UV(309)+JVS(3858)*UV(312)& &+JVS(3860)*UV(314)+JVS(3868)*UV(325)+JVS(3869)*UV(326)+JVS(3870)*UV(328)+JVS(3871)*UV(329)+JVS(3875)*UV(337)& &+JVS(3877)*UV(340)+JVS(3878)*UV(341)+JVS(3879)*UV(342)+JVS(3880)*UV(343)+JVS(3881)*UV(345)+JVS(3882)*UV(346)& &+JVS(3884)*UV(351) JUV(330) = JVS(3885)*UV(170)+JVS(3887)*UV(284)+JVS(3888)*UV(330)+JVS(3890)*UV(332)+JVS(3892)*UV(336)+JVS(3893)*UV(337)& &+JVS(3896)*UV(344)+JVS(3897)*UV(345)+JVS(3900)*UV(349)+JVS(3901)*UV(350)+JVS(3903)*UV(353) JUV(331) = JVS(3904)*UV(1)+JVS(3905)*UV(2)+JVS(3906)*UV(3)+JVS(3907)*UV(44)+JVS(3908)*UV(52)+JVS(3909)*UV(62)& &+JVS(3910)*UV(73)+JVS(3911)*UV(77)+JVS(3912)*UV(96)+JVS(3913)*UV(104)+JVS(3914)*UV(170)+JVS(3915)*UV(252)& &+JVS(3916)*UV(284)+JVS(3917)*UV(330)+JVS(3918)*UV(331)+JVS(3919)*UV(332)+JVS(3920)*UV(335)+JVS(3922)*UV(337)& &+JVS(3923)*UV(338)+JVS(3924)*UV(341)+JVS(3926)*UV(345)+JVS(3927)*UV(346)+JVS(3928)*UV(347)+JVS(3931)*UV(351) JUV(332) = JVS(3933)*UV(170)+JVS(3935)*UV(284)+JVS(3937)*UV(331)+JVS(3938)*UV(332)+JVS(3939)*UV(335)+JVS(3940)*UV(336)& &+JVS(3944)*UV(344)+JVS(3948)*UV(349)+JVS(3949)*UV(350)+JVS(3950)*UV(351)+JVS(3951)*UV(353) JUV(333) = JVS(3952)*UV(76)+JVS(3953)*UV(120)+JVS(3954)*UV(245)+JVS(3956)*UV(297)+JVS(3957)*UV(317)+JVS(3963)*UV(333)& &+JVS(3966)*UV(336)+JVS(3967)*UV(337)+JVS(3968)*UV(338)+JVS(3969)*UV(339)+JVS(3974)*UV(344)+JVS(3975)*UV(345)& &+JVS(3978)*UV(348)+JVS(3982)*UV(352)+JVS(3983)*UV(353) JUV(334) = JVS(3984)*UV(46)+JVS(3985)*UV(47)+JVS(3986)*UV(48)+JVS(3987)*UV(49)+JVS(3988)*UV(50)+JVS(3989)*UV(51)& &+JVS(3990)*UV(53)+JVS(3991)*UV(54)+JVS(3992)*UV(61)+JVS(3993)*UV(63)+JVS(3995)*UV(78)+JVS(3996)*UV(81)& &+JVS(3997)*UV(84)+JVS(3998)*UV(85)+JVS(3999)*UV(86)+JVS(4000)*UV(87)+JVS(4001)*UV(105)+JVS(4002)*UV(181)& &+JVS(4003)*UV(228)+JVS(4004)*UV(245)+JVS(4014)*UV(334)+JVS(4016)*UV(336)+JVS(4019)*UV(339)+JVS(4021)*UV(341)& &+JVS(4032)*UV(352) JUV(335) = JVS(4034)*UV(56)+JVS(4035)*UV(57)+JVS(4036)*UV(59)+JVS(4037)*UV(64)+JVS(4038)*UV(65)+JVS(4039)*UV(67)& &+JVS(4040)*UV(70)+JVS(4041)*UV(80)+JVS(4042)*UV(83)+JVS(4043)*UV(90)+JVS(4044)*UV(91)+JVS(4045)*UV(93)& &+JVS(4046)*UV(95)+JVS(4047)*UV(96)+JVS(4048)*UV(108)+JVS(4049)*UV(113)+JVS(4050)*UV(114)+JVS(4051)*UV(116)& &+JVS(4052)*UV(121)+JVS(4053)*UV(122)+JVS(4054)*UV(124)+JVS(4055)*UV(125)+JVS(4056)*UV(126)+JVS(4057)*UV(127)& &+JVS(4058)*UV(132)+JVS(4059)*UV(133)+JVS(4060)*UV(135)+JVS(4061)*UV(137)+JVS(4062)*UV(138)+JVS(4063)*UV(139)& &+JVS(4064)*UV(140)+JVS(4065)*UV(154)+JVS(4066)*UV(162)+JVS(4067)*UV(163)+JVS(4068)*UV(165)+JVS(4070)*UV(168)& &+JVS(4071)*UV(171)+JVS(4072)*UV(172)+JVS(4073)*UV(175)+JVS(4074)*UV(176)+JVS(4075)*UV(177)+JVS(4076)*UV(178)& &+JVS(4078)*UV(180)+JVS(4079)*UV(182)+JVS(4080)*UV(184)+JVS(4081)*UV(186)+JVS(4082)*UV(189)+JVS(4083)*UV(190)& &+JVS(4084)*UV(193)+JVS(4085)*UV(196)+JVS(4086)*UV(197)+JVS(4088)*UV(203)+JVS(4089)*UV(205)+JVS(4090)*UV(206)& &+JVS(4091)*UV(207)+JVS(4092)*UV(211)+JVS(4093)*UV(212)+JVS(4094)*UV(213)+JVS(4095)*UV(214)+JVS(4096)*UV(218)& &+JVS(4097)*UV(220)+JVS(4098)*UV(222)+JVS(4099)*UV(223)+JVS(4100)*UV(224)+JVS(4101)*UV(226)+JVS(4102)*UV(229)& &+JVS(4105)*UV(232)+JVS(4107)*UV(234)+JVS(4108)*UV(235)+JVS(4109)*UV(236)+JVS(4111)*UV(239)+JVS(4112)*UV(240)& &+JVS(4113)*UV(241)+JVS(4114)*UV(242)+JVS(4115)*UV(243)+JVS(4116)*UV(246)+JVS(4117)*UV(247)+JVS(4118)*UV(248)& &+JVS(4119)*UV(249)+JVS(4120)*UV(250)+JVS(4121)*UV(251)+JVS(4122)*UV(252)+JVS(4123)*UV(253)+JVS(4124)*UV(254)& &+JVS(4126)*UV(256)+JVS(4127)*UV(257)+JVS(4128)*UV(259)+JVS(4129)*UV(260)+JVS(4130)*UV(261)+JVS(4131)*UV(262)& &+JVS(4132)*UV(263)+JVS(4133)*UV(266)+JVS(4134)*UV(267)+JVS(4135)*UV(268)+JVS(4136)*UV(269)+JVS(4137)*UV(271)& &+JVS(4138)*UV(272)+JVS(4139)*UV(273)+JVS(4140)*UV(274)+JVS(4141)*UV(275)+JVS(4143)*UV(277)+JVS(4144)*UV(278)& &+JVS(4145)*UV(279)+JVS(4146)*UV(280)+JVS(4147)*UV(281)+JVS(4148)*UV(284)+JVS(4149)*UV(285)+JVS(4150)*UV(286)& &+JVS(4151)*UV(289)+JVS(4153)*UV(291)+JVS(4154)*UV(293)+JVS(4155)*UV(296)+JVS(4156)*UV(297)+JVS(4157)*UV(299)& &+JVS(4158)*UV(300)+JVS(4159)*UV(301)+JVS(4160)*UV(302)+JVS(4161)*UV(303)+JVS(4162)*UV(304)+JVS(4163)*UV(305)& &+JVS(4165)*UV(308)+JVS(4167)*UV(310)+JVS(4168)*UV(311)+JVS(4169)*UV(312)+JVS(4170)*UV(313)+JVS(4172)*UV(315)& &+JVS(4173)*UV(317)+JVS(4174)*UV(318)+JVS(4175)*UV(319)+JVS(4176)*UV(320)+JVS(4177)*UV(321)+JVS(4178)*UV(322)& &+JVS(4179)*UV(323)+JVS(4180)*UV(324)+JVS(4182)*UV(327)+JVS(4183)*UV(328)+JVS(4186)*UV(331)+JVS(4187)*UV(332)& &+JVS(4189)*UV(335)+JVS(4191)*UV(337)+JVS(4192)*UV(338)+JVS(4195)*UV(341)+JVS(4196)*UV(342)+JVS(4197)*UV(343)& &+JVS(4199)*UV(345)+JVS(4200)*UV(346)+JVS(4201)*UV(347)+JVS(4205)*UV(351) JUV(336) = JVS(4208)*UV(43)+JVS(4209)*UV(52)+JVS(4210)*UV(73)+JVS(4211)*UV(84)+JVS(4212)*UV(85)+JVS(4213)*UV(86)& &+JVS(4214)*UV(87)+JVS(4215)*UV(105)+JVS(4216)*UV(108)+JVS(4217)*UV(116)+JVS(4218)*UV(164)+JVS(4219)*UV(173)& &+JVS(4220)*UV(181)+JVS(4221)*UV(183)+JVS(4223)*UV(196)+JVS(4226)*UV(214)+JVS(4227)*UV(217)+JVS(4228)*UV(218)& &+JVS(4231)*UV(228)+JVS(4232)*UV(239)+JVS(4234)*UV(241)+JVS(4235)*UV(244)+JVS(4237)*UV(251)+JVS(4239)*UV(264)& &+JVS(4240)*UV(265)+JVS(4244)*UV(279)+JVS(4245)*UV(283)+JVS(4250)*UV(292)+JVS(4251)*UV(295)+JVS(4254)*UV(298)& &+JVS(4267)*UV(312)+JVS(4271)*UV(316)+JVS(4272)*UV(317)+JVS(4280)*UV(325)+JVS(4281)*UV(326)+JVS(4282)*UV(327)& &+JVS(4285)*UV(330)+JVS(4287)*UV(332)+JVS(4288)*UV(333)+JVS(4289)*UV(334)+JVS(4291)*UV(336)+JVS(4292)*UV(337)& &+JVS(4294)*UV(339)+JVS(4295)*UV(340)+JVS(4299)*UV(344)+JVS(4300)*UV(345)+JVS(4307)*UV(352)+JVS(4308)*UV(353) JUV(337) = JVS(4309)*UV(60)+JVS(4310)*UV(72)+JVS(4311)*UV(75)+JVS(4312)*UV(79)+JVS(4313)*UV(80)+JVS(4314)*UV(82)& &+JVS(4315)*UV(83)+JVS(4316)*UV(88)+JVS(4317)*UV(91)+JVS(4318)*UV(93)+JVS(4319)*UV(95)+JVS(4320)*UV(97)& &+JVS(4321)*UV(98)+JVS(4322)*UV(99)+JVS(4323)*UV(100)+JVS(4324)*UV(101)+JVS(4325)*UV(102)+JVS(4326)*UV(105)& &+JVS(4327)*UV(106)+JVS(4328)*UV(108)+JVS(4329)*UV(111)+JVS(4330)*UV(112)+JVS(4331)*UV(115)+JVS(4332)*UV(116)& &+JVS(4333)*UV(118)+JVS(4334)*UV(119)+JVS(4335)*UV(121)+JVS(4336)*UV(123)+JVS(4337)*UV(125)+JVS(4338)*UV(127)& &+JVS(4339)*UV(128)+JVS(4340)*UV(131)+JVS(4341)*UV(132)+JVS(4342)*UV(133)+JVS(4343)*UV(135)+JVS(4345)*UV(137)& &+JVS(4346)*UV(138)+JVS(4347)*UV(143)+JVS(4348)*UV(144)+JVS(4349)*UV(145)+JVS(4350)*UV(146)+JVS(4351)*UV(147)& &+JVS(4352)*UV(149)+JVS(4353)*UV(150)+JVS(4354)*UV(151)+JVS(4355)*UV(152)+JVS(4356)*UV(153)+JVS(4357)*UV(155)& &+JVS(4358)*UV(156)+JVS(4359)*UV(158)+JVS(4360)*UV(161)+JVS(4361)*UV(164)+JVS(4362)*UV(165)+JVS(4363)*UV(168)& &+JVS(4364)*UV(171)+JVS(4365)*UV(172)+JVS(4366)*UV(174)+JVS(4367)*UV(175)+JVS(4368)*UV(178)+JVS(4369)*UV(180)& &+JVS(4370)*UV(181)+JVS(4371)*UV(182)+JVS(4372)*UV(185)+JVS(4373)*UV(186)+JVS(4374)*UV(187)+JVS(4375)*UV(188)& &+JVS(4376)*UV(189)+JVS(4377)*UV(190)+JVS(4378)*UV(192)+JVS(4379)*UV(194)+JVS(4380)*UV(195)+JVS(4381)*UV(196)& &+JVS(4382)*UV(197)+JVS(4383)*UV(198)+JVS(4384)*UV(199)+JVS(4385)*UV(200)+JVS(4386)*UV(201)+JVS(4387)*UV(202)& &+JVS(4388)*UV(204)+JVS(4389)*UV(205)+JVS(4390)*UV(206)+JVS(4391)*UV(207)+JVS(4392)*UV(208)+JVS(4393)*UV(209)& &+JVS(4394)*UV(210)+JVS(4395)*UV(212)+JVS(4396)*UV(213)+JVS(4397)*UV(216)+JVS(4398)*UV(217)+JVS(4399)*UV(219)& &+JVS(4400)*UV(220)+JVS(4401)*UV(221)+JVS(4402)*UV(222)+JVS(4403)*UV(223)+JVS(4404)*UV(224)+JVS(4405)*UV(225)& &+JVS(4406)*UV(226)+JVS(4407)*UV(227)+JVS(4408)*UV(228)+JVS(4409)*UV(229)+JVS(4410)*UV(230)+JVS(4411)*UV(231)& &+JVS(4412)*UV(232)+JVS(4413)*UV(233)+JVS(4414)*UV(234)+JVS(4415)*UV(235)+JVS(4416)*UV(236)+JVS(4417)*UV(238)& &+JVS(4418)*UV(240)+JVS(4419)*UV(243)+JVS(4420)*UV(246)+JVS(4421)*UV(248)+JVS(4422)*UV(249)+JVS(4423)*UV(250)& &+JVS(4424)*UV(251)+JVS(4425)*UV(253)+JVS(4426)*UV(254)+JVS(4427)*UV(255)+JVS(4428)*UV(257)+JVS(4429)*UV(258)& &+JVS(4430)*UV(259)+JVS(4431)*UV(260)+JVS(4432)*UV(261)+JVS(4433)*UV(262)+JVS(4434)*UV(263)+JVS(4435)*UV(264)& &+JVS(4436)*UV(265)+JVS(4437)*UV(266)+JVS(4438)*UV(267)+JVS(4439)*UV(268)+JVS(4440)*UV(269)+JVS(4441)*UV(270)& &+JVS(4442)*UV(271)+JVS(4443)*UV(272)+JVS(4444)*UV(273)+JVS(4445)*UV(274)+JVS(4446)*UV(275)+JVS(4447)*UV(276)& &+JVS(4448)*UV(277)+JVS(4449)*UV(278)+JVS(4450)*UV(279)+JVS(4451)*UV(280)+JVS(4452)*UV(281)+JVS(4453)*UV(282)& &+JVS(4454)*UV(284)+JVS(4455)*UV(285)+JVS(4456)*UV(286)+JVS(4457)*UV(287)+JVS(4458)*UV(288)+JVS(4459)*UV(289)& &+JVS(4460)*UV(290)+JVS(4461)*UV(291)+JVS(4462)*UV(293)+JVS(4463)*UV(294)+JVS(4464)*UV(296)+JVS(4465)*UV(298)& &+JVS(4466)*UV(299)+JVS(4467)*UV(300)+JVS(4468)*UV(301)+JVS(4469)*UV(302)+JVS(4470)*UV(303)+JVS(4471)*UV(304)& &+JVS(4472)*UV(305)+JVS(4473)*UV(306)+JVS(4474)*UV(307)+JVS(4475)*UV(308)+JVS(4476)*UV(309)+JVS(4477)*UV(310)& &+JVS(4478)*UV(311)+JVS(4480)*UV(313)+JVS(4481)*UV(314)+JVS(4482)*UV(315)+JVS(4483)*UV(318)+JVS(4484)*UV(319)& &+JVS(4485)*UV(320)+JVS(4486)*UV(321)+JVS(4487)*UV(322)+JVS(4488)*UV(323)+JVS(4489)*UV(324)+JVS(4490)*UV(325)& &+JVS(4491)*UV(326)+JVS(4492)*UV(328)+JVS(4493)*UV(329)+JVS(4495)*UV(331)+JVS(4497)*UV(334)+JVS(4498)*UV(335)& &+JVS(4500)*UV(337)+JVS(4501)*UV(338)+JVS(4503)*UV(340)+JVS(4504)*UV(341)+JVS(4505)*UV(342)+JVS(4506)*UV(343)& &+JVS(4508)*UV(345)+JVS(4509)*UV(346)+JVS(4510)*UV(347)+JVS(4511)*UV(348)+JVS(4514)*UV(351) JUV(338) = JVS(4517)*UV(46)+JVS(4518)*UV(47)+JVS(4519)*UV(48)+JVS(4520)*UV(49)+JVS(4521)*UV(50)+JVS(4522)*UV(51)& &+JVS(4523)*UV(61)+JVS(4524)*UV(76)+JVS(4525)*UV(84)+JVS(4526)*UV(85)+JVS(4527)*UV(86)+JVS(4528)*UV(87)& &+JVS(4529)*UV(110)+JVS(4530)*UV(120)+JVS(4531)*UV(181)+JVS(4532)*UV(245)+JVS(4533)*UV(284)+JVS(4534)*UV(296)& &+JVS(4536)*UV(315)+JVS(4537)*UV(317)+JVS(4546)*UV(328)+JVS(4551)*UV(333)+JVS(4552)*UV(334)+JVS(4553)*UV(335)& &+JVS(4555)*UV(337)+JVS(4556)*UV(338)+JVS(4557)*UV(339)+JVS(4558)*UV(340)+JVS(4559)*UV(341)+JVS(4561)*UV(343)& &+JVS(4563)*UV(345)+JVS(4564)*UV(346)+JVS(4565)*UV(347) JUV(339) = JVS(4572)*UV(75)+JVS(4573)*UV(79)+JVS(4574)*UV(141)+JVS(4575)*UV(142)+JVS(4576)*UV(156)+JVS(4577)*UV(164)& &+JVS(4578)*UV(166)+JVS(4579)*UV(179)+JVS(4580)*UV(181)+JVS(4581)*UV(183)+JVS(4582)*UV(214)+JVS(4583)*UV(218)& &+JVS(4584)*UV(228)+JVS(4585)*UV(264)+JVS(4586)*UV(265)+JVS(4588)*UV(276)+JVS(4589)*UV(282)+JVS(4590)*UV(283)& &+JVS(4592)*UV(290)+JVS(4594)*UV(295)+JVS(4596)*UV(297)+JVS(4613)*UV(316)+JVS(4614)*UV(317)+JVS(4622)*UV(325)& &+JVS(4628)*UV(333)+JVS(4629)*UV(334)+JVS(4632)*UV(337)+JVS(4633)*UV(338)+JVS(4634)*UV(339)+JVS(4635)*UV(340)& &+JVS(4640)*UV(345)+JVS(4643)*UV(348) JUV(340) = JVS(4649)*UV(3)+JVS(4650)*UV(43)+JVS(4651)*UV(46)+JVS(4652)*UV(47)+JVS(4653)*UV(48)+JVS(4654)*UV(49)& &+JVS(4655)*UV(50)+JVS(4656)*UV(51)+JVS(4657)*UV(61)+JVS(4658)*UV(75)+JVS(4659)*UV(76)+JVS(4660)*UV(79)& &+JVS(4661)*UV(84)+JVS(4662)*UV(85)+JVS(4663)*UV(86)+JVS(4664)*UV(87)+JVS(4665)*UV(104)+JVS(4666)*UV(110)& &+JVS(4667)*UV(141)+JVS(4668)*UV(142)+JVS(4669)*UV(156)+JVS(4670)*UV(157)+JVS(4671)*UV(164)+JVS(4672)*UV(181)& &+JVS(4673)*UV(183)+JVS(4675)*UV(228)+JVS(4676)*UV(245)+JVS(4678)*UV(264)+JVS(4679)*UV(265)+JVS(4681)*UV(276)& &+JVS(4682)*UV(282)+JVS(4683)*UV(283)+JVS(4684)*UV(284)+JVS(4686)*UV(290)+JVS(4688)*UV(295)+JVS(4689)*UV(296)& &+JVS(4690)*UV(297)+JVS(4706)*UV(315)+JVS(4708)*UV(317)+JVS(4716)*UV(325)+JVS(4718)*UV(328)+JVS(4723)*UV(333)& &+JVS(4724)*UV(334)+JVS(4727)*UV(337)+JVS(4728)*UV(338)+JVS(4729)*UV(339)+JVS(4730)*UV(340)+JVS(4731)*UV(341)& &+JVS(4733)*UV(343)+JVS(4735)*UV(345)+JVS(4736)*UV(346) JUV(341) = JVS(4744)*UV(109)+JVS(4745)*UV(140)+JVS(4746)*UV(166)+JVS(4747)*UV(167)+JVS(4748)*UV(179)+JVS(4749)*UV(191)& &+JVS(4750)*UV(193)+JVS(4751)*UV(201)+JVS(4752)*UV(202)+JVS(4753)*UV(203)+JVS(4754)*UV(211)+JVS(4755)*UV(213)& &+JVS(4756)*UV(217)+JVS(4757)*UV(219)+JVS(4758)*UV(220)+JVS(4759)*UV(221)+JVS(4761)*UV(229)+JVS(4763)*UV(235)& &+JVS(4765)*UV(237)+JVS(4766)*UV(240)+JVS(4767)*UV(242)+JVS(4768)*UV(246)+JVS(4769)*UV(255)+JVS(4770)*UV(257)& &+JVS(4771)*UV(259)+JVS(4772)*UV(262)+JVS(4774)*UV(274)+JVS(4776)*UV(276)+JVS(4781)*UV(290)+JVS(4784)*UV(308)& &+JVS(4785)*UV(309)+JVS(4788)*UV(312)+JVS(4789)*UV(314)+JVS(4791)*UV(322)+JVS(4793)*UV(324)+JVS(4797)*UV(328)& &+JVS(4799)*UV(331)+JVS(4801)*UV(334)+JVS(4802)*UV(335)+JVS(4804)*UV(337)+JVS(4807)*UV(340)+JVS(4808)*UV(341)& &+JVS(4809)*UV(342)+JVS(4810)*UV(343)+JVS(4812)*UV(345)+JVS(4813)*UV(346)+JVS(4815)*UV(348)+JVS(4816)*UV(349)& &+JVS(4817)*UV(350)+JVS(4819)*UV(352) JUV(342) = JVS(4821)*UV(2)+JVS(4822)*UV(53)+JVS(4823)*UV(54)+JVS(4824)*UV(59)+JVS(4825)*UV(61)+JVS(4826)*UV(77)& &+JVS(4827)*UV(78)+JVS(4828)*UV(81)+JVS(4829)*UV(105)+JVS(4830)*UV(141)+JVS(4831)*UV(148)+JVS(4832)*UV(157)& &+JVS(4833)*UV(183)+JVS(4834)*UV(218)+JVS(4836)*UV(284)+JVS(4837)*UV(290)+JVS(4838)*UV(295)+JVS(4842)*UV(316)& &+JVS(4849)*UV(325)+JVS(4850)*UV(326)+JVS(4854)*UV(331)+JVS(4857)*UV(334)+JVS(4858)*UV(335)+JVS(4860)*UV(337)& &+JVS(4861)*UV(338)+JVS(4864)*UV(341)+JVS(4865)*UV(342)+JVS(4866)*UV(343)+JVS(4868)*UV(345)+JVS(4869)*UV(346)& &+JVS(4870)*UV(347)+JVS(4874)*UV(351)+JVS(4875)*UV(352) JUV(343) = JVS(4877)*UV(46)+JVS(4878)*UV(47)+JVS(4879)*UV(48)+JVS(4880)*UV(49)+JVS(4881)*UV(50)+JVS(4882)*UV(51)& &+JVS(4883)*UV(53)+JVS(4884)*UV(54)+JVS(4885)*UV(61)+JVS(4886)*UV(67)+JVS(4887)*UV(68)+JVS(4888)*UV(78)& &+JVS(4889)*UV(81)+JVS(4890)*UV(84)+JVS(4891)*UV(85)+JVS(4892)*UV(86)+JVS(4893)*UV(87)+JVS(4894)*UV(120)& &+JVS(4895)*UV(181)+JVS(4896)*UV(217)+JVS(4898)*UV(245)+JVS(4899)*UV(264)+JVS(4901)*UV(284)+JVS(4906)*UV(316)& &+JVS(4907)*UV(317)+JVS(4909)*UV(325)+JVS(4917)*UV(334)+JVS(4918)*UV(335)+JVS(4920)*UV(337)+JVS(4921)*UV(338)& &+JVS(4922)*UV(339)+JVS(4924)*UV(341)+JVS(4926)*UV(343)+JVS(4928)*UV(345)+JVS(4929)*UV(346)+JVS(4930)*UV(347)& &+JVS(4934)*UV(351)+JVS(4935)*UV(352) JUV(344) = JVS(4937)*UV(166)+JVS(4938)*UV(214)+JVS(4939)*UV(252)+JVS(4940)*UV(297)+JVS(4941)*UV(316)+JVS(4942)*UV(317)& &+JVS(4946)*UV(330)+JVS(4948)*UV(332)+JVS(4949)*UV(333)+JVS(4955)*UV(339)+JVS(4960)*UV(344)+JVS(4961)*UV(345) JUV(345) = JVS(4970)*UV(41)+JVS(4971)*UV(43)+JVS(4972)*UV(52)+JVS(4973)*UV(58)+JVS(4974)*UV(60)+JVS(4975)*UV(66)& &+JVS(4976)*UV(68)+JVS(4977)*UV(69)+JVS(4978)*UV(70)+JVS(4979)*UV(71)+JVS(4980)*UV(72)+JVS(4981)*UV(73)& &+JVS(4982)*UV(74)+JVS(4983)*UV(75)+JVS(4984)*UV(76)+JVS(4985)*UV(78)+JVS(4986)*UV(79)+JVS(4987)*UV(81)& &+JVS(4988)*UV(82)+JVS(4989)*UV(83)+JVS(4990)*UV(84)+JVS(4991)*UV(85)+JVS(4992)*UV(86)+JVS(4993)*UV(87)& &+JVS(4994)*UV(88)+JVS(4995)*UV(89)+JVS(4996)*UV(90)+JVS(4997)*UV(91)+JVS(4998)*UV(92)+JVS(4999)*UV(93)& &+JVS(5000)*UV(94)+JVS(5001)*UV(95)+JVS(5002)*UV(97)+JVS(5003)*UV(98)+JVS(5004)*UV(99)+JVS(5005)*UV(100)& &+JVS(5006)*UV(101)+JVS(5007)*UV(102)+JVS(5008)*UV(105)+JVS(5009)*UV(107)+JVS(5010)*UV(108)+JVS(5011)*UV(109)& &+JVS(5012)*UV(111)+JVS(5013)*UV(112)+JVS(5014)*UV(113)+JVS(5015)*UV(114)+JVS(5016)*UV(115)+JVS(5017)*UV(116)& &+JVS(5018)*UV(117)+JVS(5019)*UV(118)+JVS(5020)*UV(119)+JVS(5021)*UV(120)+JVS(5022)*UV(122)+JVS(5023)*UV(123)& &+JVS(5024)*UV(124)+JVS(5025)*UV(125)+JVS(5026)*UV(126)+JVS(5027)*UV(127)+JVS(5028)*UV(128)+JVS(5029)*UV(129)& &+JVS(5030)*UV(130)+JVS(5031)*UV(131)+JVS(5032)*UV(133)+JVS(5033)*UV(134)+JVS(5034)*UV(135)+JVS(5035)*UV(136)& &+JVS(5036)*UV(137)+JVS(5037)*UV(138)+JVS(5038)*UV(139)+JVS(5039)*UV(140)+JVS(5040)*UV(141)+JVS(5041)*UV(142)& &+JVS(5042)*UV(143)+JVS(5043)*UV(144)+JVS(5044)*UV(146)+JVS(5045)*UV(147)+JVS(5046)*UV(148)+JVS(5047)*UV(149)& &+JVS(5048)*UV(150)+JVS(5049)*UV(151)+JVS(5050)*UV(152)+JVS(5051)*UV(153)+JVS(5052)*UV(154)+JVS(5053)*UV(155)& &+JVS(5054)*UV(156)+JVS(5055)*UV(158)+JVS(5056)*UV(159)+JVS(5057)*UV(160)+JVS(5058)*UV(161)+JVS(5059)*UV(162)& &+JVS(5060)*UV(163)+JVS(5061)*UV(164)+JVS(5062)*UV(167)+JVS(5063)*UV(168)+JVS(5064)*UV(169)+JVS(5065)*UV(170)& &+JVS(5066)*UV(171)+JVS(5067)*UV(172)+JVS(5068)*UV(173)+JVS(5069)*UV(174)+JVS(5070)*UV(175)+JVS(5071)*UV(176)& &+JVS(5072)*UV(177)+JVS(5075)*UV(180)+JVS(5076)*UV(181)+JVS(5077)*UV(182)+JVS(5078)*UV(183)+JVS(5079)*UV(184)& &+JVS(5080)*UV(185)+JVS(5081)*UV(186)+JVS(5082)*UV(187)+JVS(5083)*UV(188)+JVS(5084)*UV(189)+JVS(5085)*UV(190)& &+JVS(5086)*UV(191)+JVS(5087)*UV(192)+JVS(5088)*UV(193)+JVS(5089)*UV(194)+JVS(5090)*UV(195)+JVS(5091)*UV(196)& &+JVS(5092)*UV(197)+JVS(5093)*UV(198)+JVS(5094)*UV(199)+JVS(5095)*UV(200)+JVS(5096)*UV(201)+JVS(5097)*UV(202)& &+JVS(5098)*UV(204)+JVS(5099)*UV(205)+JVS(5100)*UV(206)+JVS(5101)*UV(207)+JVS(5102)*UV(208)+JVS(5103)*UV(209)& &+JVS(5104)*UV(210)+JVS(5105)*UV(211)+JVS(5107)*UV(213)+JVS(5108)*UV(216)+JVS(5109)*UV(217)+JVS(5111)*UV(219)& &+JVS(5112)*UV(220)+JVS(5113)*UV(221)+JVS(5114)*UV(222)+JVS(5115)*UV(223)+JVS(5116)*UV(224)+JVS(5117)*UV(225)& &+JVS(5118)*UV(226)+JVS(5119)*UV(228)+JVS(5120)*UV(229)+JVS(5121)*UV(230)+JVS(5122)*UV(231)+JVS(5123)*UV(232)& &+JVS(5124)*UV(233)+JVS(5126)*UV(235)+JVS(5128)*UV(237)+JVS(5129)*UV(238)+JVS(5130)*UV(239)+JVS(5131)*UV(240)& &+JVS(5133)*UV(242)+JVS(5134)*UV(243)+JVS(5135)*UV(244)+JVS(5136)*UV(245)+JVS(5137)*UV(246)+JVS(5138)*UV(247)& &+JVS(5139)*UV(248)+JVS(5142)*UV(251)+JVS(5144)*UV(253)+JVS(5145)*UV(254)+JVS(5146)*UV(255)+JVS(5147)*UV(256)& &+JVS(5148)*UV(257)+JVS(5149)*UV(258)+JVS(5150)*UV(259)+JVS(5152)*UV(261)+JVS(5153)*UV(262)+JVS(5154)*UV(263)& &+JVS(5155)*UV(264)+JVS(5156)*UV(265)+JVS(5157)*UV(266)+JVS(5158)*UV(267)+JVS(5159)*UV(268)+JVS(5160)*UV(269)& &+JVS(5161)*UV(270)+JVS(5162)*UV(271)+JVS(5165)*UV(274)+JVS(5167)*UV(276)+JVS(5170)*UV(279)+JVS(5173)*UV(282)& &+JVS(5174)*UV(283)+JVS(5176)*UV(285)+JVS(5177)*UV(286)+JVS(5178)*UV(287)+JVS(5179)*UV(288)+JVS(5181)*UV(290)& &+JVS(5183)*UV(292)+JVS(5184)*UV(293)+JVS(5185)*UV(294)+JVS(5186)*UV(295)+JVS(5188)*UV(297)+JVS(5189)*UV(298)& &+JVS(5190)*UV(299)+JVS(5192)*UV(301)+JVS(5193)*UV(302)+JVS(5194)*UV(303)+JVS(5195)*UV(304)+JVS(5196)*UV(305)& &+JVS(5197)*UV(306)+JVS(5198)*UV(307)+JVS(5199)*UV(308)+JVS(5200)*UV(309)+JVS(5201)*UV(310)+JVS(5204)*UV(313)& &+JVS(5205)*UV(314)+JVS(5207)*UV(316)+JVS(5208)*UV(317)+JVS(5211)*UV(320)+JVS(5213)*UV(322)+JVS(5215)*UV(324)& &+JVS(5216)*UV(325)+JVS(5217)*UV(326)+JVS(5218)*UV(327)+JVS(5219)*UV(328)+JVS(5220)*UV(329)+JVS(5221)*UV(330)& &+JVS(5224)*UV(333)+JVS(5225)*UV(334)+JVS(5226)*UV(335)+JVS(5227)*UV(336)+JVS(5228)*UV(337)+JVS(5229)*UV(338)& &+JVS(5230)*UV(339)+JVS(5231)*UV(340)+JVS(5232)*UV(341)+JVS(5234)*UV(343)+JVS(5235)*UV(344)+JVS(5236)*UV(345)& &+JVS(5237)*UV(346)+JVS(5238)*UV(347)+JVS(5239)*UV(348)+JVS(5242)*UV(351)+JVS(5243)*UV(352)+JVS(5244)*UV(353) JUV(346) = JVS(5245)*UV(62)+JVS(5246)*UV(63)+JVS(5247)*UV(67)+JVS(5248)*UV(96)+JVS(5249)*UV(121)+JVS(5250)*UV(132)& &+JVS(5251)*UV(133)+JVS(5252)*UV(135)+JVS(5253)*UV(165)+JVS(5254)*UV(171)+JVS(5255)*UV(172)+JVS(5256)*UV(178)& &+JVS(5257)*UV(180)+JVS(5258)*UV(182)+JVS(5259)*UV(189)+JVS(5260)*UV(190)+JVS(5262)*UV(197)+JVS(5264)*UV(205)& &+JVS(5265)*UV(206)+JVS(5266)*UV(207)+JVS(5267)*UV(212)+JVS(5268)*UV(213)+JVS(5270)*UV(223)+JVS(5271)*UV(224)& &+JVS(5272)*UV(226)+JVS(5275)*UV(232)+JVS(5277)*UV(234)+JVS(5278)*UV(235)+JVS(5279)*UV(236)+JVS(5280)*UV(239)& &+JVS(5281)*UV(240)+JVS(5282)*UV(241)+JVS(5283)*UV(243)+JVS(5284)*UV(246)+JVS(5285)*UV(249)+JVS(5286)*UV(250)& &+JVS(5288)*UV(253)+JVS(5289)*UV(254)+JVS(5290)*UV(257)+JVS(5291)*UV(259)+JVS(5292)*UV(260)+JVS(5293)*UV(263)& &+JVS(5297)*UV(271)+JVS(5298)*UV(272)+JVS(5299)*UV(273)+JVS(5300)*UV(274)+JVS(5301)*UV(275)+JVS(5303)*UV(277)& &+JVS(5304)*UV(278)+JVS(5306)*UV(280)+JVS(5307)*UV(281)+JVS(5308)*UV(284)+JVS(5309)*UV(285)+JVS(5310)*UV(286)& &+JVS(5311)*UV(289)+JVS(5313)*UV(291)+JVS(5314)*UV(293)+JVS(5315)*UV(296)+JVS(5318)*UV(300)+JVS(5321)*UV(304)& &+JVS(5322)*UV(305)+JVS(5324)*UV(308)+JVS(5326)*UV(310)+JVS(5327)*UV(311)+JVS(5328)*UV(312)+JVS(5329)*UV(313)& &+JVS(5331)*UV(315)+JVS(5332)*UV(318)+JVS(5333)*UV(319)+JVS(5334)*UV(320)+JVS(5335)*UV(321)+JVS(5336)*UV(322)& &+JVS(5337)*UV(323)+JVS(5338)*UV(324)+JVS(5341)*UV(328)+JVS(5344)*UV(331)+JVS(5346)*UV(334)+JVS(5347)*UV(335)& &+JVS(5349)*UV(337)+JVS(5350)*UV(338)+JVS(5353)*UV(341)+JVS(5355)*UV(343)+JVS(5357)*UV(345)+JVS(5358)*UV(346)& &+JVS(5359)*UV(347)+JVS(5363)*UV(351) JUV(347) = JVS(5366)*UV(53)+JVS(5367)*UV(54)+JVS(5368)*UV(61)+JVS(5369)*UV(78)+JVS(5370)*UV(81)+JVS(5371)*UV(105)& &+JVS(5372)*UV(218)+JVS(5373)*UV(284)+JVS(5374)*UV(316)+JVS(5376)*UV(331)+JVS(5378)*UV(334)+JVS(5379)*UV(335)& &+JVS(5381)*UV(337)+JVS(5382)*UV(338)+JVS(5385)*UV(341)+JVS(5386)*UV(342)+JVS(5387)*UV(343)+JVS(5389)*UV(345)& &+JVS(5390)*UV(346)+JVS(5391)*UV(347)+JVS(5395)*UV(351)+JVS(5396)*UV(352) JUV(348) = JVS(5398)*UV(68)+JVS(5399)*UV(89)+JVS(5400)*UV(94)+JVS(5401)*UV(134)+JVS(5402)*UV(166)+JVS(5403)*UV(179)& &+JVS(5404)*UV(241)+JVS(5405)*UV(264)+JVS(5408)*UV(312)+JVS(5410)*UV(316)+JVS(5412)*UV(325)+JVS(5418)*UV(333)& &+JVS(5426)*UV(341)+JVS(5428)*UV(343)+JVS(5430)*UV(345)+JVS(5433)*UV(348)+JVS(5436)*UV(351) JUV(349) = JVS(5439)*UV(252)+JVS(5440)*UV(297)+JVS(5441)*UV(316)+JVS(5442)*UV(317)+JVS(5443)*UV(330)+JVS(5445)*UV(332)& &+JVS(5452)*UV(341)+JVS(5460)*UV(349)+JVS(5463)*UV(352) JUV(350) = JVS(5465)*UV(252)+JVS(5466)*UV(297)+JVS(5467)*UV(316)+JVS(5468)*UV(317)+JVS(5469)*UV(330)+JVS(5471)*UV(332)& &+JVS(5478)*UV(341)+JVS(5487)*UV(350)+JVS(5489)*UV(352) JUV(351) = JVS(5491)*UV(69)+JVS(5492)*UV(80)+JVS(5493)*UV(94)+JVS(5494)*UV(108)+JVS(5495)*UV(124)+JVS(5496)*UV(126)& &+JVS(5497)*UV(139)+JVS(5498)*UV(140)+JVS(5499)*UV(142)+JVS(5500)*UV(149)+JVS(5501)*UV(154)+JVS(5502)*UV(158)& &+JVS(5503)*UV(163)+JVS(5504)*UV(167)+JVS(5505)*UV(170)+JVS(5506)*UV(183)+JVS(5507)*UV(184)+JVS(5508)*UV(191)& &+JVS(5509)*UV(193)+JVS(5510)*UV(195)+JVS(5512)*UV(200)+JVS(5513)*UV(202)+JVS(5514)*UV(204)+JVS(5515)*UV(211)& &+JVS(5516)*UV(213)+JVS(5517)*UV(214)+JVS(5518)*UV(218)+JVS(5519)*UV(219)+JVS(5520)*UV(220)+JVS(5521)*UV(225)& &+JVS(5522)*UV(229)+JVS(5524)*UV(234)+JVS(5525)*UV(236)+JVS(5526)*UV(237)+JVS(5527)*UV(241)+JVS(5528)*UV(242)& &+JVS(5531)*UV(255)+JVS(5532)*UV(256)+JVS(5533)*UV(257)+JVS(5535)*UV(261)+JVS(5536)*UV(262)+JVS(5537)*UV(263)& &+JVS(5539)*UV(269)+JVS(5540)*UV(270)+JVS(5542)*UV(272)+JVS(5543)*UV(273)+JVS(5544)*UV(274)+JVS(5545)*UV(275)& &+JVS(5546)*UV(276)+JVS(5547)*UV(277)+JVS(5548)*UV(278)+JVS(5549)*UV(280)+JVS(5550)*UV(281)+JVS(5554)*UV(289)& &+JVS(5555)*UV(290)+JVS(5556)*UV(291)+JVS(5557)*UV(292)+JVS(5559)*UV(294)+JVS(5560)*UV(298)+JVS(5564)*UV(302)& &+JVS(5568)*UV(306)+JVS(5570)*UV(308)+JVS(5571)*UV(309)+JVS(5572)*UV(310)+JVS(5573)*UV(311)+JVS(5574)*UV(312)& &+JVS(5577)*UV(317)+JVS(5585)*UV(325)+JVS(5586)*UV(326)+JVS(5587)*UV(327)+JVS(5588)*UV(328)+JVS(5590)*UV(331)& &+JVS(5591)*UV(332)+JVS(5593)*UV(335)+JVS(5595)*UV(337)+JVS(5598)*UV(340)+JVS(5599)*UV(341)+JVS(5600)*UV(342)& &+JVS(5601)*UV(343)+JVS(5603)*UV(345)+JVS(5604)*UV(346)+JVS(5609)*UV(351) JUV(352) = JVS(5612)*UV(141)+JVS(5613)*UV(183)+JVS(5614)*UV(290)+JVS(5615)*UV(295)+JVS(5616)*UV(297)+JVS(5619)*UV(316)& &+JVS(5620)*UV(317)+JVS(5626)*UV(325)+JVS(5627)*UV(326)+JVS(5630)*UV(333)+JVS(5631)*UV(334)+JVS(5634)*UV(337)& &+JVS(5638)*UV(341)+JVS(5639)*UV(342)+JVS(5640)*UV(343)+JVS(5642)*UV(345)+JVS(5645)*UV(348)+JVS(5649)*UV(352) JUV(353) = JVS(5651)*UV(179)+JVS(5652)*UV(214)+JVS(5653)*UV(252)+JVS(5654)*UV(297)+JVS(5655)*UV(316)+JVS(5656)*UV(317)& &+JVS(5660)*UV(330)+JVS(5662)*UV(332)+JVS(5663)*UV(333)+JVS(5669)*UV(339)+JVS(5675)*UV(345)+JVS(5683)*UV(353) END SUBROUTINE Jac_SP_Vec ! End of Jac_SP_Vec function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! JacTR_SP_Vec - sparse multiplication: sparse Jacobian transposed times vector ! Arguments : ! JVS - sparse Jacobian of variables ! UV - User vector for variables ! JTUV - Jacobian transposed times user vector ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE JacTR_SP_Vec ( JVS, UV, JTUV ) ! JVS - sparse Jacobian of variables REAL(kind=dp) :: JVS(LU_NONZERO) ! UV - User vector for variables REAL(kind=dp) :: UV(NVAR) ! JTUV - Jacobian transposed times user vector REAL(kind=dp) :: JTUV(NVAR) JTUV(1) = JVS(1)*UV(1)+JVS(3904)*UV(331) JTUV(2) = JVS(2)*UV(2)+JVS(3905)*UV(331)+JVS(4821)*UV(342) JTUV(3) = JVS(3)*UV(3)+JVS(3906)*UV(331)+JVS(4649)*UV(340) JTUV(4) = JVS(4)*UV(4) JTUV(5) = JVS(9)*UV(5) JTUV(6) = JVS(11)*UV(6) JTUV(7) = JVS(14)*UV(7) JTUV(8) = JVS(83)*UV(8) JTUV(9) = JVS(86)*UV(9) JTUV(10) = JVS(94)*UV(10) JTUV(11) = JVS(102)*UV(11) JTUV(12) = JVS(105)*UV(12) JTUV(13) = JVS(103)*UV(11)+JVS(106)*UV(12)+JVS(108)*UV(13) JTUV(14) = JVS(113)*UV(14) JTUV(15) = JVS(116)*UV(15) JTUV(16) = JVS(119)*UV(16) JTUV(17) = JVS(122)*UV(17) JTUV(18) = JVS(120)*UV(16)+JVS(123)*UV(17)+JVS(125)*UV(18) JTUV(19) = JVS(126)*UV(18)+JVS(130)*UV(19) JTUV(20) = JVS(132)*UV(20) JTUV(21) = JVS(135)*UV(21) JTUV(22) = JVS(133)*UV(20)+JVS(136)*UV(21)+JVS(138)*UV(22) JTUV(23) = JVS(143)*UV(23) JTUV(24) = JVS(144)*UV(23)+JVS(145)*UV(24) JTUV(25) = JVS(151)*UV(25) JTUV(26) = JVS(154)*UV(26) JTUV(27) = JVS(152)*UV(25)+JVS(155)*UV(26)+JVS(157)*UV(27) JTUV(28) = JVS(162)*UV(28) JTUV(29) = JVS(165)*UV(29) JTUV(30) = JVS(169)*UV(30) JTUV(31) = JVS(173)*UV(31) JTUV(32) = JVS(179)*UV(32) JTUV(33) = JVS(184)*UV(33) JTUV(34) = JVS(188)*UV(34) JTUV(35) = JVS(306)*UV(35) JTUV(36) = JVS(432)*UV(36) JTUV(37) = JVS(521)*UV(37) JTUV(38) = JVS(526)*UV(38) JTUV(39) = JVS(537)*UV(39) JTUV(40) = JVS(542)*UV(40) JTUV(41) = JVS(12)*UV(6)+JVS(551)*UV(41)+JVS(4970)*UV(345) JTUV(42) = JVS(5)*UV(4)+JVS(87)*UV(9)+JVS(95)*UV(10)+JVS(307)*UV(35)+JVS(553)*UV(42)+JVS(722)*UV(96) JTUV(43) = JVS(555)*UV(43)+JVS(4208)*UV(336)+JVS(4650)*UV(340)+JVS(4971)*UV(345) JTUV(44) = JVS(6)*UV(4)+JVS(88)*UV(9)+JVS(96)*UV(10)+JVS(308)*UV(35)+JVS(557)*UV(44)+JVS(723)*UV(96)+JVS(2340)*UV(284)& &+JVS(3907)*UV(331) JTUV(45) = JVS(84)*UV(8)+JVS(189)*UV(34)+JVS(559)*UV(45)+JVS(3586)*UV(327) JTUV(46) = JVS(563)*UV(46)+JVS(3984)*UV(334)+JVS(4517)*UV(338)+JVS(4651)*UV(340)+JVS(4877)*UV(343) JTUV(47) = JVS(565)*UV(47)+JVS(3985)*UV(334)+JVS(4518)*UV(338)+JVS(4652)*UV(340)+JVS(4878)*UV(343) JTUV(48) = JVS(567)*UV(48)+JVS(3986)*UV(334)+JVS(4519)*UV(338)+JVS(4653)*UV(340)+JVS(4879)*UV(343) JTUV(49) = JVS(309)*UV(35)+JVS(569)*UV(49)+JVS(3987)*UV(334)+JVS(4520)*UV(338)+JVS(4654)*UV(340)+JVS(4880)*UV(343) JTUV(50) = JVS(310)*UV(35)+JVS(571)*UV(50)+JVS(3988)*UV(334)+JVS(4521)*UV(338)+JVS(4655)*UV(340)+JVS(4881)*UV(343) JTUV(51) = JVS(573)*UV(51)+JVS(3989)*UV(334)+JVS(4522)*UV(338)+JVS(4656)*UV(340)+JVS(4882)*UV(343) JTUV(52) = JVS(575)*UV(52)+JVS(3689)*UV(328)+JVS(3908)*UV(331)+JVS(4209)*UV(336)+JVS(4972)*UV(345) JTUV(53) = JVS(577)*UV(53)+JVS(3990)*UV(334)+JVS(4822)*UV(342)+JVS(4883)*UV(343)+JVS(5366)*UV(347) JTUV(54) = JVS(579)*UV(54)+JVS(3991)*UV(334)+JVS(4823)*UV(342)+JVS(4884)*UV(343)+JVS(5367)*UV(347) JTUV(55) = JVS(7)*UV(4)+JVS(89)*UV(9)+JVS(97)*UV(10)+JVS(311)*UV(35)+JVS(581)*UV(55)+JVS(724)*UV(96)+JVS(2341)*UV(284) JTUV(56) = JVS(190)*UV(34)+JVS(584)*UV(56)+JVS(1881)*UV(257)+JVS(4034)*UV(335) JTUV(57) = JVS(191)*UV(34)+JVS(587)*UV(57)+JVS(2166)*UV(274)+JVS(4035)*UV(335) JTUV(58) = JVS(590)*UV(58)+JVS(849)*UV(121)+JVS(4973)*UV(345) JTUV(59) = JVS(593)*UV(59)+JVS(4036)*UV(335)+JVS(4824)*UV(342) JTUV(60) = JVS(433)*UV(36)+JVS(596)*UV(60)+JVS(2009)*UV(265)+JVS(2089)*UV(270)+JVS(3762)*UV(329)+JVS(4309)*UV(337)& &+JVS(4974)*UV(345) JTUV(61) = JVS(598)*UV(61)+JVS(3992)*UV(334)+JVS(4523)*UV(338)+JVS(4657)*UV(340)+JVS(4825)*UV(342)+JVS(4885)*UV(343)& &+JVS(5368)*UV(347) JTUV(62) = JVS(600)*UV(62)+JVS(1123)*UV(170)+JVS(3909)*UV(331)+JVS(5245)*UV(346) JTUV(63) = JVS(192)*UV(34)+JVS(312)*UV(35)+JVS(603)*UV(63)+JVS(3993)*UV(334)+JVS(5246)*UV(346) JTUV(64) = JVS(313)*UV(35)+JVS(607)*UV(64)+JVS(1661)*UV(239)+JVS(4037)*UV(335) JTUV(65) = JVS(314)*UV(35)+JVS(611)*UV(65)+JVS(1662)*UV(239)+JVS(4038)*UV(335) JTUV(66) = JVS(15)*UV(7)+JVS(615)*UV(66)+JVS(2216)*UV(278)+JVS(4975)*UV(345) JTUV(67) = JVS(193)*UV(34)+JVS(604)*UV(63)+JVS(620)*UV(67)+JVS(4039)*UV(335)+JVS(4886)*UV(343)+JVS(5247)*UV(346) JTUV(68) = JVS(16)*UV(7)+JVS(315)*UV(35)+JVS(434)*UV(36)+JVS(623)*UV(68)+JVS(3763)*UV(329)+JVS(4887)*UV(343)+JVS(4976)& &*UV(345)+JVS(5398)*UV(348) JTUV(69) = JVS(316)*UV(35)+JVS(626)*UV(69)+JVS(1180)*UV(178)+JVS(3587)*UV(327)+JVS(4977)*UV(345)+JVS(5491)*UV(351) JTUV(70) = JVS(194)*UV(34)+JVS(629)*UV(70)+JVS(2850)*UV(306)+JVS(4040)*UV(335)+JVS(4978)*UV(345) JTUV(71) = JVS(17)*UV(7)+JVS(633)*UV(71)+JVS(1615)*UV(235)+JVS(1627)*UV(236)+JVS(4979)*UV(345) JTUV(72) = JVS(637)*UV(72)+JVS(3400)*UV(325)+JVS(4310)*UV(337)+JVS(4980)*UV(345) JTUV(73) = JVS(8)*UV(4)+JVS(90)*UV(9)+JVS(98)*UV(10)+JVS(641)*UV(73)+JVS(3910)*UV(331)+JVS(4210)*UV(336)+JVS(4981)& &*UV(345) JTUV(74) = JVS(18)*UV(7)+JVS(645)*UV(74)+JVS(1882)*UV(257)+JVS(2217)*UV(278)+JVS(4982)*UV(345) JTUV(75) = JVS(435)*UV(36)+JVS(649)*UV(75)+JVS(3764)*UV(329)+JVS(4311)*UV(337)+JVS(4572)*UV(339)+JVS(4658)*UV(340)& &+JVS(4983)*UV(345) JTUV(76) = JVS(317)*UV(35)+JVS(652)*UV(76)+JVS(794)*UV(110)+JVS(3952)*UV(333)+JVS(4524)*UV(338)+JVS(4659)*UV(340)& &+JVS(4984)*UV(345) JTUV(77) = JVS(655)*UV(77)+JVS(3911)*UV(331)+JVS(4826)*UV(342) JTUV(78) = JVS(661)*UV(78)+JVS(3995)*UV(334)+JVS(4827)*UV(342)+JVS(4888)*UV(343)+JVS(4985)*UV(345)+JVS(5369)*UV(347) JTUV(79) = JVS(436)*UV(36)+JVS(664)*UV(79)+JVS(3765)*UV(329)+JVS(4312)*UV(337)+JVS(4573)*UV(339)+JVS(4660)*UV(340)& &+JVS(4986)*UV(345) JTUV(80) = JVS(195)*UV(34)+JVS(667)*UV(80)+JVS(3401)*UV(325)+JVS(3690)*UV(328)+JVS(4041)*UV(335)+JVS(4313)*UV(337)& &+JVS(5492)*UV(351) JTUV(81) = JVS(670)*UV(81)+JVS(3996)*UV(334)+JVS(4828)*UV(342)+JVS(4889)*UV(343)+JVS(4987)*UV(345)+JVS(5370)*UV(347) JTUV(82) = JVS(139)*UV(22)+JVS(437)*UV(36)+JVS(673)*UV(82)+JVS(1059)*UV(158)+JVS(1315)*UV(201)+JVS(1348)*UV(204)& &+JVS(1495)*UV(221)+JVS(1959)*UV(263)+JVS(2090)*UV(270)+JVS(2534)*UV(294)+JVS(3092)*UV(314)+JVS(3766)*UV(329)& &+JVS(4314)*UV(337)+JVS(4988)*UV(345) JTUV(83) = JVS(196)*UV(34)+JVS(675)*UV(83)+JVS(3544)*UV(326)+JVS(4042)*UV(335)+JVS(4315)*UV(337)+JVS(4989)*UV(345) JTUV(84) = JVS(679)*UV(84)+JVS(3997)*UV(334)+JVS(4211)*UV(336)+JVS(4525)*UV(338)+JVS(4661)*UV(340)+JVS(4890)*UV(343)& &+JVS(4990)*UV(345) JTUV(85) = JVS(682)*UV(85)+JVS(3998)*UV(334)+JVS(4212)*UV(336)+JVS(4526)*UV(338)+JVS(4662)*UV(340)+JVS(4891)*UV(343)& &+JVS(4991)*UV(345) JTUV(86) = JVS(685)*UV(86)+JVS(3999)*UV(334)+JVS(4213)*UV(336)+JVS(4527)*UV(338)+JVS(4663)*UV(340)+JVS(4892)*UV(343)& &+JVS(4992)*UV(345) JTUV(87) = JVS(318)*UV(35)+JVS(688)*UV(87)+JVS(4000)*UV(334)+JVS(4214)*UV(336)+JVS(4528)*UV(338)+JVS(4664)*UV(340)& &+JVS(4893)*UV(343)+JVS(4993)*UV(345) JTUV(88) = JVS(691)*UV(88)+JVS(2010)*UV(265)+JVS(3402)*UV(325)+JVS(4316)*UV(337)+JVS(4994)*UV(345) JTUV(89) = JVS(185)*UV(33)+JVS(527)*UV(38)+JVS(695)*UV(89)+JVS(918)*UV(134)+JVS(3403)*UV(325)+JVS(4995)*UV(345)& &+JVS(5399)*UV(348) JTUV(90) = JVS(19)*UV(7)+JVS(197)*UV(34)+JVS(699)*UV(90)+JVS(827)*UV(117)+JVS(1616)*UV(235)+JVS(4043)*UV(335)& &+JVS(4996)*UV(345) JTUV(91) = JVS(198)*UV(34)+JVS(703)*UV(91)+JVS(2597)*UV(295)+JVS(4044)*UV(335)+JVS(4317)*UV(337)+JVS(4997)*UV(345) JTUV(92) = JVS(20)*UV(7)+JVS(707)*UV(92)+JVS(3312)*UV(324)+JVS(3404)*UV(325)+JVS(3691)*UV(328)+JVS(4998)*UV(345) JTUV(93) = JVS(199)*UV(34)+JVS(711)*UV(93)+JVS(3405)*UV(325)+JVS(4045)*UV(335)+JVS(4318)*UV(337)+JVS(4999)*UV(345) JTUV(94) = JVS(163)*UV(28)+JVS(319)*UV(35)+JVS(715)*UV(94)+JVS(3406)*UV(325)+JVS(3588)*UV(327)+JVS(3692)*UV(328)& &+JVS(5000)*UV(345)+JVS(5400)*UV(348)+JVS(5493)*UV(351) JTUV(95) = JVS(200)*UV(34)+JVS(718)*UV(95)+JVS(2664)*UV(298)+JVS(4046)*UV(335)+JVS(4319)*UV(337)+JVS(5001)*UV(345) JTUV(96) = JVS(320)*UV(35)+JVS(554)*UV(42)+JVS(582)*UV(55)+JVS(725)*UV(96)+JVS(2342)*UV(284)+JVS(3912)*UV(331)& &+JVS(4047)*UV(335)+JVS(5248)*UV(346) JTUV(97) = JVS(729)*UV(97)+JVS(2665)*UV(298)+JVS(3190)*UV(319)+JVS(4320)*UV(337)+JVS(5002)*UV(345) JTUV(98) = JVS(733)*UV(98)+JVS(1181)*UV(178)+JVS(2666)*UV(298)+JVS(4321)*UV(337)+JVS(5003)*UV(345) JTUV(99) = JVS(737)*UV(99)+JVS(2667)*UV(298)+JVS(3232)*UV(321)+JVS(4322)*UV(337)+JVS(5004)*UV(345) JTUV(100) = JVS(741)*UV(100)+JVS(2598)*UV(295)+JVS(3288)*UV(323)+JVS(4323)*UV(337)+JVS(5005)*UV(345) JTUV(101) = JVS(158)*UV(27)+JVS(438)*UV(36)+JVS(745)*UV(101)+JVS(1060)*UV(158)+JVS(1143)*UV(173)+JVS(1316)*UV(201)& &+JVS(1349)*UV(204)+JVS(1496)*UV(221)+JVS(1960)*UV(263)+JVS(2091)*UV(270)+JVS(2535)*UV(294)+JVS(3093)& &*UV(314)+JVS(3767)*UV(329)+JVS(4324)*UV(337)+JVS(5006)*UV(345) JTUV(102) = JVS(747)*UV(102)+JVS(2668)*UV(298)+JVS(2739)*UV(300)+JVS(4325)*UV(337)+JVS(5007)*UV(345) JTUV(103) = JVS(85)*UV(8)+JVS(201)*UV(34)+JVS(751)*UV(103)+JVS(3589)*UV(327) JTUV(104) = JVS(765)*UV(104)+JVS(3913)*UV(331)+JVS(4665)*UV(340) JTUV(105) = JVS(321)*UV(35)+JVS(773)*UV(105)+JVS(3693)*UV(328)+JVS(4001)*UV(334)+JVS(4215)*UV(336)+JVS(4326)*UV(337)& &+JVS(4829)*UV(342)+JVS(5008)*UV(345)+JVS(5371)*UV(347) JTUV(106) = JVS(776)*UV(106)+JVS(2851)*UV(306)+JVS(3407)*UV(325)+JVS(4327)*UV(337) JTUV(107) = JVS(174)*UV(31)+JVS(439)*UV(36)+JVS(782)*UV(107)+JVS(2011)*UV(265)+JVS(2536)*UV(294)+JVS(3313)*UV(324)& &+JVS(3768)*UV(329)+JVS(5009)*UV(345) JTUV(108) = JVS(202)*UV(34)+JVS(786)*UV(108)+JVS(4048)*UV(335)+JVS(4216)*UV(336)+JVS(4328)*UV(337)+JVS(5010)*UV(345)& &+JVS(5494)*UV(351) JTUV(109) = JVS(322)*UV(35)+JVS(790)*UV(109)+JVS(1604)*UV(234)+JVS(3038)*UV(312)+JVS(3408)*UV(325)+JVS(4744)*UV(341)& &+JVS(5011)*UV(345) JTUV(110) = JVS(203)*UV(34)+JVS(795)*UV(110)+JVS(1739)*UV(245)+JVS(4529)*UV(338)+JVS(4666)*UV(340) JTUV(111) = JVS(801)*UV(111)+JVS(1528)*UV(225)+JVS(1883)*UV(257)+JVS(2205)*UV(277)+JVS(4329)*UV(337)+JVS(5012)*UV(345) JTUV(112) = JVS(805)*UV(112)+JVS(885)*UV(129)+JVS(2189)*UV(275)+JVS(3409)*UV(325)+JVS(4330)*UV(337)+JVS(5013)*UV(345) JTUV(113) = JVS(204)*UV(34)+JVS(440)*UV(36)+JVS(809)*UV(113)+JVS(1753)*UV(246)+JVS(2852)*UV(306)+JVS(3769)*UV(329)& &+JVS(4049)*UV(335)+JVS(5014)*UV(345) JTUV(114) = JVS(205)*UV(34)+JVS(441)*UV(36)+JVS(813)*UV(114)+JVS(1417)*UV(213)+JVS(3410)*UV(325)+JVS(3770)*UV(329)& &+JVS(4050)*UV(335)+JVS(5015)*UV(345) JTUV(115) = JVS(21)*UV(7)+JVS(170)*UV(30)+JVS(817)*UV(115)+JVS(3314)*UV(324)+JVS(4331)*UV(337)+JVS(5016)*UV(345) JTUV(116) = JVS(206)*UV(34)+JVS(823)*UV(116)+JVS(1350)*UV(204)+JVS(4051)*UV(335)+JVS(4217)*UV(336)+JVS(4332)*UV(337)& &+JVS(5017)*UV(345) JTUV(117) = JVS(828)*UV(117)+JVS(1332)*UV(203)+JVS(1628)*UV(236)+JVS(5018)*UV(345) JTUV(118) = JVS(834)*UV(118)+JVS(3121)*UV(315)+JVS(3545)*UV(326)+JVS(4333)*UV(337)+JVS(5019)*UV(345) JTUV(119) = JVS(442)*UV(36)+JVS(839)*UV(119)+JVS(1217)*UV(185)+JVS(3771)*UV(329)+JVS(4334)*UV(337)+JVS(5020)*UV(345) JTUV(120) = JVS(323)*UV(35)+JVS(844)*UV(120)+JVS(3953)*UV(333)+JVS(4530)*UV(338)+JVS(4894)*UV(343)+JVS(5021)*UV(345) JTUV(121) = JVS(207)*UV(34)+JVS(850)*UV(121)+JVS(982)*UV(146)+JVS(4052)*UV(335)+JVS(4335)*UV(337)+JVS(5249)*UV(346) JTUV(122) = JVS(208)*UV(34)+JVS(443)*UV(36)+JVS(855)*UV(122)+JVS(1682)*UV(240)+JVS(3315)*UV(324)+JVS(3411)*UV(325)& &+JVS(3772)*UV(329)+JVS(4053)*UV(335)+JVS(5022)*UV(345) JTUV(123) = JVS(859)*UV(123)+JVS(1920)*UV(260)+JVS(2908)*UV(307)+JVS(3412)*UV(325)+JVS(3546)*UV(326)+JVS(4336)*UV(337)& &+JVS(5023)*UV(345) JTUV(124) = JVS(209)*UV(34)+JVS(444)*UV(36)+JVS(863)*UV(124)+JVS(3256)*UV(322)+JVS(3547)*UV(326)+JVS(3773)*UV(329)& &+JVS(4054)*UV(335)+JVS(5024)*UV(345)+JVS(5495)*UV(351) JTUV(125) = JVS(867)*UV(125)+JVS(1760)*UV(247)+JVS(1804)*UV(250)+JVS(2669)*UV(298)+JVS(4055)*UV(335)+JVS(4337)*UV(337)& &+JVS(5025)*UV(345) JTUV(126) = JVS(210)*UV(34)+JVS(445)*UV(36)+JVS(871)*UV(126)+JVS(1294)*UV(197)+JVS(2853)*UV(306)+JVS(3774)*UV(329)& &+JVS(4056)*UV(335)+JVS(5026)*UV(345)+JVS(5496)*UV(351) JTUV(127) = JVS(211)*UV(34)+JVS(446)*UV(36)+JVS(875)*UV(127)+JVS(2854)*UV(306)+JVS(3413)*UV(325)+JVS(3775)*UV(329)& &+JVS(4057)*UV(335)+JVS(4338)*UV(337)+JVS(5027)*UV(345) JTUV(128) = JVS(175)*UV(31)+JVS(879)*UV(128)+JVS(1432)*UV(215)+JVS(1711)*UV(243)+JVS(4339)*UV(337)+JVS(5028)*UV(345) JTUV(129) = JVS(886)*UV(129)+JVS(2153)*UV(273)+JVS(5029)*UV(345) JTUV(130) = JVS(22)*UV(7)+JVS(897)*UV(130)+JVS(2670)*UV(298)+JVS(3191)*UV(319)+JVS(3316)*UV(324)+JVS(3414)*UV(325)& &+JVS(5030)*UV(345) JTUV(131) = JVS(902)*UV(131)+JVS(1377)*UV(208)+JVS(1546)*UV(227)+JVS(4340)*UV(337)+JVS(5031)*UV(345) JTUV(132) = JVS(212)*UV(34)+JVS(447)*UV(36)+JVS(908)*UV(132)+JVS(2855)*UV(306)+JVS(3776)*UV(329)+JVS(4058)*UV(335)& &+JVS(4341)*UV(337)+JVS(5250)*UV(346) JTUV(133) = JVS(23)*UV(7)+JVS(213)*UV(34)+JVS(913)*UV(133)+JVS(3094)*UV(314)+JVS(4059)*UV(335)+JVS(4342)*UV(337)& &+JVS(5032)*UV(345)+JVS(5251)*UV(346) JTUV(134) = JVS(919)*UV(134)+JVS(5033)*UV(345)+JVS(5401)*UV(348) JTUV(135) = JVS(24)*UV(7)+JVS(214)*UV(34)+JVS(930)*UV(135)+JVS(2991)*UV(309)+JVS(4060)*UV(335)+JVS(4343)*UV(337)& &+JVS(5034)*UV(345)+JVS(5252)*UV(346) JTUV(136) = JVS(777)*UV(106)+JVS(935)*UV(136)+JVS(1605)*UV(234)+JVS(2856)*UV(306)+JVS(5035)*UV(345) JTUV(137) = JVS(215)*UV(34)+JVS(940)*UV(137)+JVS(1165)*UV(176)+JVS(1529)*UV(225)+JVS(1961)*UV(263)+JVS(3416)*UV(325)& &+JVS(4061)*UV(335)+JVS(4345)*UV(337)+JVS(5036)*UV(345) JTUV(138) = JVS(216)*UV(34)+JVS(887)*UV(129)+JVS(944)*UV(138)+JVS(1080)*UV(162)+JVS(1962)*UV(263)+JVS(3417)*UV(325)& &+JVS(4062)*UV(335)+JVS(4346)*UV(337)+JVS(5037)*UV(345) JTUV(139) = JVS(25)*UV(7)+JVS(217)*UV(34)+JVS(448)*UV(36)+JVS(948)*UV(139)+JVS(3317)*UV(324)+JVS(3418)*UV(325)& &+JVS(3694)*UV(328)+JVS(3777)*UV(329)+JVS(4063)*UV(335)+JVS(5038)*UV(345)+JVS(5497)*UV(351) JTUV(140) = JVS(324)*UV(35)+JVS(952)*UV(140)+JVS(1410)*UV(212)+JVS(1596)*UV(233)+JVS(3419)*UV(325)+JVS(4064)*UV(335)& &+JVS(4745)*UV(341)+JVS(5039)*UV(345)+JVS(5498)*UV(351) JTUV(141) = JVS(956)*UV(141)+JVS(3233)*UV(321)+JVS(3289)*UV(323)+JVS(4574)*UV(339)+JVS(4667)*UV(340)+JVS(4830)*UV(342)& &+JVS(5040)*UV(345)+JVS(5612)*UV(352) JTUV(142) = JVS(325)*UV(35)+JVS(960)*UV(142)+JVS(2740)*UV(300)+JVS(3192)*UV(319)+JVS(3590)*UV(327)+JVS(4575)*UV(339)& &+JVS(4668)*UV(340)+JVS(5041)*UV(345)+JVS(5499)*UV(351) JTUV(143) = JVS(109)*UV(13)+JVS(449)*UV(36)+JVS(964)*UV(143)+JVS(1281)*UV(195)+JVS(1497)*UV(221)+JVS(1963)*UV(263)& &+JVS(2092)*UV(270)+JVS(3778)*UV(329)+JVS(4347)*UV(337)+JVS(5042)*UV(345) JTUV(144) = JVS(450)*UV(36)+JVS(968)*UV(144)+JVS(1433)*UV(215)+JVS(2394)*UV(287)+JVS(2992)*UV(309)+JVS(3779)*UV(329)& &+JVS(4348)*UV(337)+JVS(5043)*UV(345) JTUV(145) = JVS(973)*UV(145)+JVS(2520)*UV(293)+JVS(2751)*UV(301)+JVS(4349)*UV(337) JTUV(146) = JVS(451)*UV(36)+JVS(983)*UV(146)+JVS(1683)*UV(240)+JVS(3318)*UV(324)+JVS(3420)*UV(325)+JVS(3780)*UV(329)& &+JVS(4350)*UV(337)+JVS(5044)*UV(345) JTUV(147) = JVS(452)*UV(36)+JVS(988)*UV(147)+JVS(1218)*UV(185)+JVS(1378)*UV(208)+JVS(1547)*UV(227)+JVS(2354)*UV(285)& &+JVS(2374)*UV(286)+JVS(3781)*UV(329)+JVS(4351)*UV(337)+JVS(5045)*UV(345) JTUV(148) = JVS(218)*UV(34)+JVS(992)*UV(148)+JVS(3146)*UV(316)+JVS(4831)*UV(342)+JVS(5046)*UV(345) JTUV(149) = JVS(326)*UV(35)+JVS(1001)*UV(149)+JVS(1061)*UV(158)+JVS(1247)*UV(189)+JVS(1317)*UV(201)+JVS(1351)*UV(204)& &+JVS(1498)*UV(221)+JVS(1964)*UV(263)+JVS(3421)*UV(325)+JVS(3548)*UV(326)+JVS(3591)*UV(327)+JVS(4352)& &*UV(337)+JVS(5047)*UV(345)+JVS(5500)*UV(351) JTUV(150) = JVS(453)*UV(36)+JVS(1004)*UV(150)+JVS(1434)*UV(215)+JVS(2428)*UV(288)+JVS(3095)*UV(314)+JVS(3782)*UV(329)& &+JVS(4353)*UV(337)+JVS(5048)*UV(345) JTUV(151) = JVS(176)*UV(31)+JVS(1009)*UV(151)+JVS(1435)*UV(215)+JVS(2355)*UV(285)+JVS(2375)*UV(286)+JVS(4354)*UV(337)& &+JVS(5049)*UV(345) JTUV(152) = JVS(177)*UV(31)+JVS(1015)*UV(152)+JVS(1436)*UV(215)+JVS(2356)*UV(285)+JVS(2376)*UV(286)+JVS(4355)*UV(337)& &+JVS(5050)*UV(345) JTUV(153) = JVS(454)*UV(36)+JVS(1021)*UV(153)+JVS(1548)*UV(227)+JVS(2909)*UV(307)+JVS(3783)*UV(329)+JVS(4356)*UV(337)& &+JVS(5051)*UV(345) JTUV(154) = JVS(219)*UV(34)+JVS(327)*UV(35)+JVS(560)*UV(45)+JVS(1027)*UV(154)+JVS(2910)*UV(307)+JVS(4065)*UV(335)& &+JVS(5052)*UV(345)+JVS(5501)*UV(351) JTUV(155) = JVS(1033)*UV(155)+JVS(3257)*UV(322)+JVS(3549)*UV(326)+JVS(3695)*UV(328)+JVS(4357)*UV(337)+JVS(5053)& &*UV(345) JTUV(156) = JVS(1039)*UV(156)+JVS(3550)*UV(326)+JVS(4358)*UV(337)+JVS(4576)*UV(339)+JVS(4669)*UV(340)+JVS(5054)& &*UV(345) JTUV(157) = JVS(1045)*UV(157)+JVS(4670)*UV(340)+JVS(4832)*UV(342) JTUV(158) = JVS(328)*UV(35)+JVS(1062)*UV(158)+JVS(1318)*UV(201)+JVS(1324)*UV(202)+JVS(1333)*UV(203)+JVS(1965)*UV(263)& &+JVS(2073)*UV(269)+JVS(3593)*UV(327)+JVS(4359)*UV(337)+JVS(5055)*UV(345)+JVS(5502)*UV(351) JTUV(159) = JVS(26)*UV(7)+JVS(455)*UV(36)+JVS(783)*UV(107)+JVS(1066)*UV(159)+JVS(1910)*UV(259)+JVS(2911)*UV(307)& &+JVS(3319)*UV(324)+JVS(3422)*UV(325)+JVS(3696)*UV(328)+JVS(3784)*UV(329)+JVS(5056)*UV(345) JTUV(160) = JVS(1070)*UV(160)+JVS(1966)*UV(263)+JVS(2218)*UV(278)+JVS(2490)*UV(292)+JVS(2599)*UV(295)+JVS(3258)& &*UV(322)+JVS(3423)*UV(325)+JVS(5057)*UV(345) JTUV(161) = JVS(1075)*UV(161)+JVS(2155)*UV(273)+JVS(2167)*UV(274)+JVS(2600)*UV(295)+JVS(2671)*UV(298)+JVS(3193)& &*UV(319)+JVS(4360)*UV(337)+JVS(5058)*UV(345) JTUV(162) = JVS(220)*UV(34)+JVS(1081)*UV(162)+JVS(1859)*UV(256)+JVS(2168)*UV(274)+JVS(2601)*UV(295)+JVS(2672)*UV(298)& &+JVS(3194)*UV(319)+JVS(4066)*UV(335)+JVS(5059)*UV(345) JTUV(163) = JVS(329)*UV(35)+JVS(1086)*UV(163)+JVS(2169)*UV(274)+JVS(4067)*UV(335)+JVS(5060)*UV(345)+JVS(5503)*UV(351) JTUV(164) = JVS(1094)*UV(164)+JVS(3424)*UV(325)+JVS(3697)*UV(328)+JVS(4218)*UV(336)+JVS(4361)*UV(337)+JVS(4577)& &*UV(339)+JVS(4671)*UV(340)+JVS(5061)*UV(345) JTUV(165) = JVS(221)*UV(34)+JVS(1099)*UV(165)+JVS(1287)*UV(196)+JVS(2673)*UV(298)+JVS(3425)*UV(325)+JVS(3551)*UV(326)& &+JVS(4068)*UV(335)+JVS(4362)*UV(337)+JVS(5253)*UV(346) JTUV(166) = JVS(166)*UV(29)+JVS(330)*UV(35)+JVS(612)*UV(65)+JVS(1104)*UV(166)+JVS(3594)*UV(327)+JVS(4578)*UV(339)& &+JVS(4746)*UV(341)+JVS(4937)*UV(344)+JVS(5402)*UV(348) JTUV(167) = JVS(331)*UV(35)+JVS(456)*UV(36)+JVS(1109)*UV(167)+JVS(1849)*UV(255)+JVS(1967)*UV(263)+JVS(2170)*UV(274)& &+JVS(2240)*UV(280)+JVS(2256)*UV(281)+JVS(2461)*UV(289)+JVS(3785)*UV(329)+JVS(4747)*UV(341)+JVS(5062)& &*UV(345)+JVS(5504)*UV(351) JTUV(168) = JVS(332)*UV(35)+JVS(752)*UV(103)+JVS(1010)*UV(151)+JVS(1016)*UV(152)+JVS(1113)*UV(168)+JVS(1255)*UV(190)& &+JVS(2993)*UV(309)+JVS(3426)*UV(325)+JVS(4070)*UV(335)+JVS(4363)*UV(337)+JVS(5063)*UV(345) JTUV(169) = JVS(27)*UV(7)+JVS(1117)*UV(169)+JVS(2171)*UV(274)+JVS(2674)*UV(298)+JVS(3195)*UV(319)+JVS(3320)*UV(324)& &+JVS(3427)*UV(325)+JVS(5064)*UV(345) JTUV(170) = JVS(222)*UV(34)+JVS(1124)*UV(170)+JVS(3885)*UV(330)+JVS(3914)*UV(331)+JVS(3933)*UV(332)+JVS(5065)*UV(345)& &+JVS(5505)*UV(351) JTUV(171) = JVS(223)*UV(34)+JVS(1131)*UV(171)+JVS(1838)*UV(254)+JVS(2768)*UV(302)+JVS(4071)*UV(335)+JVS(4364)*UV(337)& &+JVS(5066)*UV(345)+JVS(5254)*UV(346) JTUV(172) = JVS(224)*UV(34)+JVS(1137)*UV(172)+JVS(1782)*UV(248)+JVS(1827)*UV(253)+JVS(4072)*UV(335)+JVS(4365)*UV(337)& &+JVS(5067)*UV(345)+JVS(5255)*UV(346) JTUV(173) = JVS(28)*UV(7)+JVS(1144)*UV(173)+JVS(2629)*UV(296)+JVS(4219)*UV(336)+JVS(5068)*UV(345) JTUV(174) = JVS(1155)*UV(174)+JVS(1301)*UV(198)+JVS(1895)*UV(258)+JVS(2857)*UV(306)+JVS(2912)*UV(307)+JVS(4366)& &*UV(337)+JVS(5069)*UV(345) JTUV(175) = JVS(333)*UV(35)+JVS(753)*UV(103)+JVS(1011)*UV(151)+JVS(1017)*UV(152)+JVS(1161)*UV(175)+JVS(1361)*UV(205)& &+JVS(3096)*UV(314)+JVS(3428)*UV(325)+JVS(4073)*UV(335)+JVS(4367)*UV(337)+JVS(5070)*UV(345) JTUV(176) = JVS(225)*UV(34)+JVS(1166)*UV(176)+JVS(1860)*UV(256)+JVS(1968)*UV(263)+JVS(2491)*UV(292)+JVS(2602)*UV(295)& &+JVS(3259)*UV(322)+JVS(3429)*UV(325)+JVS(4074)*UV(335)+JVS(5071)*UV(345) JTUV(177) = JVS(226)*UV(34)+JVS(1171)*UV(177)+JVS(1861)*UV(256)+JVS(2172)*UV(274)+JVS(4075)*UV(335)+JVS(5072)*UV(345) JTUV(178) = JVS(227)*UV(34)+JVS(734)*UV(98)+JVS(1182)*UV(178)+JVS(1288)*UV(196)+JVS(2492)*UV(292)+JVS(2675)*UV(298)& &+JVS(3196)*UV(319)+JVS(4076)*UV(335)+JVS(4368)*UV(337)+JVS(5256)*UV(346) JTUV(179) = JVS(334)*UV(35)+JVS(528)*UV(38)+JVS(608)*UV(64)+JVS(920)*UV(134)+JVS(1187)*UV(179)+JVS(3597)*UV(327)& &+JVS(4579)*UV(339)+JVS(4748)*UV(341)+JVS(5403)*UV(348)+JVS(5651)*UV(353) JTUV(180) = JVS(228)*UV(34)+JVS(1192)*UV(180)+JVS(1761)*UV(247)+JVS(1930)*UV(261)+JVS(2717)*UV(299)+JVS(2858)*UV(306)& &+JVS(4078)*UV(335)+JVS(4369)*UV(337)+JVS(5075)*UV(345)+JVS(5257)*UV(346) JTUV(181) = JVS(335)*UV(35)+JVS(457)*UV(36)+JVS(1197)*UV(181)+JVS(1469)*UV(217)+JVS(3698)*UV(328)+JVS(3786)*UV(329)& &+JVS(4002)*UV(334)+JVS(4220)*UV(336)+JVS(4370)*UV(337)+JVS(4531)*UV(338)+JVS(4580)*UV(339)+JVS(4672)& &*UV(340)+JVS(4895)*UV(343)+JVS(5076)*UV(345) JTUV(182) = JVS(29)*UV(7)+JVS(229)*UV(34)+JVS(458)*UV(36)+JVS(1201)*UV(182)+JVS(1762)*UV(247)+JVS(1931)*UV(261)& &+JVS(3787)*UV(329)+JVS(4079)*UV(335)+JVS(4371)*UV(337)+JVS(5077)*UV(345)+JVS(5258)*UV(346) JTUV(183) = JVS(336)*UV(35)+JVS(1207)*UV(183)+JVS(2630)*UV(296)+JVS(3598)*UV(327)+JVS(4221)*UV(336)+JVS(4581)*UV(339)& &+JVS(4673)*UV(340)+JVS(4833)*UV(342)+JVS(5078)*UV(345)+JVS(5506)*UV(351)+JVS(5613)*UV(352) JTUV(184) = JVS(230)*UV(34)+JVS(459)*UV(36)+JVS(784)*UV(107)+JVS(1212)*UV(184)+JVS(1911)*UV(259)+JVS(2913)*UV(307)& &+JVS(3788)*UV(329)+JVS(4080)*UV(335)+JVS(5079)*UV(345)+JVS(5507)*UV(351) JTUV(185) = JVS(460)*UV(36)+JVS(1219)*UV(185)+JVS(2093)*UV(270)+JVS(2539)*UV(294)+JVS(3322)*UV(324)+JVS(3789)*UV(329)& &+JVS(4372)*UV(337)+JVS(5080)*UV(345) JTUV(186) = JVS(337)*UV(35)+JVS(754)*UV(103)+JVS(974)*UV(145)+JVS(1226)*UV(186)+JVS(1439)*UV(215)+JVS(1540)*UV(226)& &+JVS(2752)*UV(301)+JVS(2796)*UV(303)+JVS(2822)*UV(304)+JVS(2836)*UV(305)+JVS(3026)*UV(311)+JVS(4081)& &*UV(335)+JVS(4373)*UV(337)+JVS(5081)*UV(345) JTUV(187) = JVS(146)*UV(24)+JVS(461)*UV(36)+JVS(1012)*UV(151)+JVS(1018)*UV(152)+JVS(1230)*UV(187)+JVS(1514)*UV(223)& &+JVS(1588)*UV(232)+JVS(2429)*UV(288)+JVS(2837)*UV(305)+JVS(3097)*UV(314)+JVS(3430)*UV(325)+JVS(3790)& &*UV(329)+JVS(4374)*UV(337)+JVS(5082)*UV(345) JTUV(188) = JVS(1234)*UV(188)+JVS(2676)*UV(298)+JVS(4375)*UV(337)+JVS(5083)*UV(345) JTUV(189) = JVS(231)*UV(34)+JVS(824)*UV(116)+JVS(1248)*UV(189)+JVS(1352)*UV(204)+JVS(4082)*UV(335)+JVS(4376)*UV(337)& &+JVS(5084)*UV(345)+JVS(5259)*UV(346) JTUV(190) = JVS(232)*UV(34)+JVS(1256)*UV(190)+JVS(2041)*UV(266)+JVS(2718)*UV(299)+JVS(2769)*UV(302)+JVS(2797)*UV(303)& &+JVS(3431)*UV(325)+JVS(4083)*UV(335)+JVS(4377)*UV(337)+JVS(5085)*UV(345)+JVS(5260)*UV(346) JTUV(191) = JVS(338)*UV(35)+JVS(462)*UV(36)+JVS(888)*UV(129)+JVS(1261)*UV(191)+JVS(1530)*UV(225)+JVS(2156)*UV(273)& &+JVS(2190)*UV(275)+JVS(2206)*UV(277)+JVS(2241)*UV(280)+JVS(2257)*UV(281)+JVS(2462)*UV(289)+JVS(3039)& &*UV(312)+JVS(3432)*UV(325)+JVS(3791)*UV(329)+JVS(4749)*UV(341)+JVS(5086)*UV(345)+JVS(5508)*UV(351) JTUV(192) = JVS(147)*UV(24)+JVS(463)*UV(36)+JVS(1013)*UV(151)+JVS(1019)*UV(152)+JVS(1265)*UV(192)+JVS(1521)*UV(224)& &+JVS(1589)*UV(232)+JVS(1712)*UV(243)+JVS(2395)*UV(287)+JVS(2823)*UV(304)+JVS(2994)*UV(309)+JVS(3433)& &*UV(325)+JVS(3792)*UV(329)+JVS(4378)*UV(337)+JVS(5087)*UV(345) JTUV(193) = JVS(233)*UV(34)+JVS(1269)*UV(193)+JVS(1699)*UV(242)+JVS(1947)*UV(262)+JVS(1969)*UV(263)+JVS(2242)*UV(280)& &+JVS(4084)*UV(335)+JVS(4750)*UV(341)+JVS(5088)*UV(345)+JVS(5509)*UV(351) JTUV(194) = JVS(30)*UV(7)+JVS(464)*UV(36)+JVS(818)*UV(115)+JVS(1275)*UV(194)+JVS(1549)*UV(227)+JVS(2014)*UV(265)& &+JVS(2094)*UV(270)+JVS(2540)*UV(294)+JVS(3323)*UV(324)+JVS(3793)*UV(329)+JVS(4379)*UV(337)+JVS(5089)& &*UV(345) JTUV(195) = JVS(339)*UV(35)+JVS(1282)*UV(195)+JVS(1325)*UV(202)+JVS(1334)*UV(203)+JVS(1499)*UV(221)+JVS(1970)*UV(263)& &+JVS(2074)*UV(269)+JVS(2095)*UV(270)+JVS(3600)*UV(327)+JVS(4380)*UV(337)+JVS(5090)*UV(345)+JVS(5510)& &*UV(351) JTUV(196) = JVS(234)*UV(34)+JVS(1100)*UV(165)+JVS(1289)*UV(196)+JVS(2677)*UV(298)+JVS(3260)*UV(322)+JVS(3324)*UV(324)& &+JVS(3552)*UV(326)+JVS(4085)*UV(335)+JVS(4223)*UV(336)+JVS(4381)*UV(337)+JVS(5091)*UV(345) JTUV(197) = JVS(235)*UV(34)+JVS(340)*UV(35)+JVS(465)*UV(36)+JVS(872)*UV(126)+JVS(1295)*UV(197)+JVS(2859)*UV(306)& &+JVS(3435)*UV(325)+JVS(3794)*UV(329)+JVS(4086)*UV(335)+JVS(4382)*UV(337)+JVS(5092)*UV(345)+JVS(5262)& &*UV(346) JTUV(198) = JVS(31)*UV(7)+JVS(1302)*UV(198)+JVS(2096)*UV(270)+JVS(2396)*UV(287)+JVS(2430)*UV(288)+JVS(2541)*UV(294)& &+JVS(2860)*UV(306)+JVS(2914)*UV(307)+JVS(4383)*UV(337)+JVS(5093)*UV(345) JTUV(199) = JVS(148)*UV(24)+JVS(466)*UV(36)+JVS(880)*UV(128)+JVS(969)*UV(144)+JVS(1308)*UV(199)+JVS(1522)*UV(224)& &+JVS(1582)*UV(231)+JVS(1650)*UV(238)+JVS(1723)*UV(244)+JVS(2542)*UV(294)+JVS(2824)*UV(304)+JVS(3436)& &*UV(325)+JVS(3795)*UV(329)+JVS(4384)*UV(337)+JVS(5094)*UV(345) JTUV(200) = JVS(341)*UV(35)+JVS(467)*UV(36)+JVS(591)*UV(58)+JVS(1063)*UV(158)+JVS(1145)*UV(173)+JVS(1249)*UV(189)& &+JVS(1312)*UV(200)+JVS(1319)*UV(201)+JVS(1353)*UV(204)+JVS(1500)*UV(221)+JVS(1971)*UV(263)+JVS(2097)& &*UV(270)+JVS(2543)*UV(294)+JVS(3437)*UV(325)+JVS(3601)*UV(327)+JVS(3796)*UV(329)+JVS(4385)*UV(337)& &+JVS(5095)*UV(345)+JVS(5512)*UV(351) JTUV(201) = JVS(342)*UV(35)+JVS(468)*UV(36)+JVS(1146)*UV(173)+JVS(1320)*UV(201)+JVS(2015)*UV(265)+JVS(2305)*UV(283)& &+JVS(2544)*UV(294)+JVS(2678)*UV(298)+JVS(2741)*UV(300)+JVS(2861)*UV(306)+JVS(3261)*UV(322)+JVS(3797)& &*UV(329)+JVS(4386)*UV(337)+JVS(4751)*UV(341)+JVS(5096)*UV(345) JTUV(202) = JVS(343)*UV(35)+JVS(1327)*UV(202)+JVS(1336)*UV(203)+JVS(1501)*UV(221)+JVS(1972)*UV(263)+JVS(2076)*UV(269)& &+JVS(2862)*UV(306)+JVS(3602)*UV(327)+JVS(4387)*UV(337)+JVS(4752)*UV(341)+JVS(5097)*UV(345)+JVS(5513)& &*UV(351) JTUV(203) = JVS(344)*UV(35)+JVS(1337)*UV(203)+JVS(1629)*UV(236)+JVS(2077)*UV(269)+JVS(4088)*UV(335)+JVS(4753)*UV(341) JTUV(204) = JVS(345)*UV(35)+JVS(469)*UV(36)+JVS(1354)*UV(204)+JVS(1617)*UV(235)+JVS(1630)*UV(236)+JVS(3603)*UV(327)& &+JVS(3798)*UV(329)+JVS(4388)*UV(337)+JVS(5098)*UV(345)+JVS(5514)*UV(351) JTUV(205) = JVS(236)*UV(34)+JVS(1362)*UV(205)+JVS(1783)*UV(248)+JVS(2042)*UV(266)+JVS(2719)*UV(299)+JVS(2798)*UV(303)& &+JVS(2863)*UV(306)+JVS(2915)*UV(307)+JVS(3438)*UV(325)+JVS(4089)*UV(335)+JVS(4389)*UV(337)+JVS(5099)& &*UV(345)+JVS(5264)*UV(346) JTUV(206) = JVS(237)*UV(34)+JVS(1367)*UV(206)+JVS(1457)*UV(216)+JVS(1763)*UV(247)+JVS(2043)*UV(266)+JVS(2720)*UV(299)& &+JVS(2799)*UV(303)+JVS(2864)*UV(306)+JVS(3439)*UV(325)+JVS(4090)*UV(335)+JVS(4390)*UV(337)+JVS(5100)& &*UV(345)+JVS(5265)*UV(346) JTUV(207) = JVS(238)*UV(34)+JVS(1372)*UV(207)+JVS(1932)*UV(261)+JVS(2044)*UV(266)+JVS(2721)*UV(299)+JVS(2770)*UV(302)& &+JVS(2800)*UV(303)+JVS(2916)*UV(307)+JVS(3440)*UV(325)+JVS(4091)*UV(335)+JVS(4391)*UV(337)+JVS(5101)& &*UV(345)+JVS(5266)*UV(346) JTUV(208) = JVS(470)*UV(36)+JVS(1379)*UV(208)+JVS(3326)*UV(324)+JVS(3441)*UV(325)+JVS(3799)*UV(329)+JVS(4392)*UV(337)& &+JVS(5102)*UV(345) JTUV(209) = JVS(149)*UV(24)+JVS(471)*UV(36)+JVS(881)*UV(128)+JVS(1005)*UV(150)+JVS(1389)*UV(209)+JVS(1393)*UV(210)& &+JVS(1515)*UV(223)+JVS(1576)*UV(230)+JVS(1651)*UV(238)+JVS(2545)*UV(294)+JVS(2838)*UV(305)+JVS(3327)& &*UV(324)+JVS(3442)*UV(325)+JVS(3800)*UV(329)+JVS(4393)*UV(337)+JVS(5103)*UV(345) JTUV(210) = JVS(472)*UV(36)+JVS(1394)*UV(210)+JVS(2098)*UV(270)+JVS(3443)*UV(325)+JVS(3801)*UV(329)+JVS(4394)*UV(337)& &+JVS(5104)*UV(345) JTUV(211) = JVS(239)*UV(34)+JVS(346)*UV(35)+JVS(1172)*UV(177)+JVS(1404)*UV(211)+JVS(1973)*UV(263)+JVS(2142)*UV(272)& &+JVS(2173)*UV(274)+JVS(3444)*UV(325)+JVS(4092)*UV(335)+JVS(4754)*UV(341)+JVS(5105)*UV(345)+JVS(5515)& &*UV(351) JTUV(212) = JVS(240)*UV(34)+JVS(876)*UV(127)+JVS(1411)*UV(212)+JVS(1597)*UV(233)+JVS(2679)*UV(298)+JVS(2865)*UV(306)& &+JVS(3445)*UV(325)+JVS(4093)*UV(335)+JVS(4395)*UV(337)+JVS(5267)*UV(346) JTUV(213) = JVS(32)*UV(7)+JVS(241)*UV(34)+JVS(347)*UV(35)+JVS(638)*UV(72)+JVS(814)*UV(114)+JVS(1418)*UV(213)+JVS(3446)& &*UV(325)+JVS(4094)*UV(335)+JVS(4396)*UV(337)+JVS(4755)*UV(341)+JVS(5107)*UV(345)+JVS(5268)*UV(346)& &+JVS(5516)*UV(351) JTUV(214) = JVS(348)*UV(35)+JVS(1425)*UV(214)+JVS(2652)*UV(297)+JVS(3604)*UV(327)+JVS(4095)*UV(335)+JVS(4226)*UV(336)& &+JVS(4582)*UV(339)+JVS(4938)*UV(344)+JVS(5517)*UV(351)+JVS(5652)*UV(353) JTUV(215) = JVS(178)*UV(31)+JVS(473)*UV(36)+JVS(1444)*UV(215)+JVS(2546)*UV(294)+JVS(2917)*UV(307)+JVS(3447)*UV(325)& &+JVS(3804)*UV(329) JTUV(216) = JVS(33)*UV(7)+JVS(349)*UV(35)+JVS(474)*UV(36)+JVS(755)*UV(103)+JVS(1458)*UV(216)+JVS(1764)*UV(247)& &+JVS(3805)*UV(329)+JVS(4397)*UV(337)+JVS(5108)*UV(345) JTUV(217) = JVS(242)*UV(34)+JVS(350)*UV(35)+JVS(1470)*UV(217)+JVS(4227)*UV(336)+JVS(4398)*UV(337)+JVS(4756)*UV(341)& &+JVS(4896)*UV(343)+JVS(5109)*UV(345) JTUV(218) = JVS(351)*UV(35)+JVS(993)*UV(148)+JVS(1046)*UV(157)+JVS(1481)*UV(218)+JVS(3147)*UV(316)+JVS(3606)*UV(327)& &+JVS(4096)*UV(335)+JVS(4228)*UV(336)+JVS(4583)*UV(339)+JVS(4834)*UV(342)+JVS(5372)*UV(347)+JVS(5518)& &*UV(351) JTUV(219) = JVS(352)*UV(35)+JVS(1487)*UV(219)+JVS(1948)*UV(262)+JVS(1974)*UV(263)+JVS(2191)*UV(275)+JVS(2207)*UV(277)& &+JVS(2243)*UV(280)+JVS(2258)*UV(281)+JVS(2463)*UV(289)+JVS(2481)*UV(291)+JVS(2493)*UV(292)+JVS(2603)& &*UV(295)+JVS(2680)*UV(298)+JVS(3099)*UV(314)+JVS(3217)*UV(320)+JVS(3448)*UV(325)+JVS(4399)*UV(337)& &+JVS(4757)*UV(341)+JVS(5111)*UV(345)+JVS(5519)*UV(351) JTUV(220) = JVS(353)*UV(35)+JVS(475)*UV(36)+JVS(965)*UV(143)+JVS(1250)*UV(189)+JVS(1355)*UV(204)+JVS(1491)*UV(220)& &+JVS(1631)*UV(236)+JVS(1975)*UV(263)+JVS(3040)*UV(312)+JVS(3449)*UV(325)+JVS(3806)*UV(329)+JVS(4097)& &*UV(335)+JVS(4400)*UV(337)+JVS(4758)*UV(341)+JVS(5112)*UV(345)+JVS(5520)*UV(351) JTUV(221) = JVS(354)*UV(35)+JVS(476)*UV(36)+JVS(1147)*UV(173)+JVS(1503)*UV(221)+JVS(2016)*UV(265)+JVS(2100)*UV(270)& &+JVS(2681)*UV(298)+JVS(2867)*UV(306)+JVS(3262)*UV(322)+JVS(3807)*UV(329)+JVS(4401)*UV(337)+JVS(4759)& &*UV(341)+JVS(5113)*UV(345) JTUV(222) = JVS(355)*UV(35)+JVS(756)*UV(103)+JVS(1508)*UV(222)+JVS(2134)*UV(271)+JVS(2522)*UV(293)+JVS(2801)*UV(303)& &+JVS(2996)*UV(309)+JVS(3014)*UV(310)+JVS(3100)*UV(314)+JVS(3450)*UV(325)+JVS(4098)*UV(335)+JVS(4402)& &*UV(337)+JVS(5114)*UV(345) JTUV(223) = JVS(243)*UV(34)+JVS(1156)*UV(174)+JVS(1303)*UV(198)+JVS(1395)*UV(210)+JVS(1516)*UV(223)+JVS(1896)*UV(258)& &+JVS(2398)*UV(287)+JVS(2802)*UV(303)+JVS(2918)*UV(307)+JVS(3451)*UV(325)+JVS(4099)*UV(335)+JVS(4403)& &*UV(337)+JVS(5115)*UV(345)+JVS(5270)*UV(346) JTUV(224) = JVS(244)*UV(34)+JVS(1157)*UV(174)+JVS(1304)*UV(198)+JVS(1523)*UV(224)+JVS(1724)*UV(244)+JVS(1897)*UV(258)& &+JVS(2433)*UV(288)+JVS(2803)*UV(303)+JVS(2869)*UV(306)+JVS(3452)*UV(325)+JVS(4100)*UV(335)+JVS(4404)& &*UV(337)+JVS(5116)*UV(345)+JVS(5271)*UV(346) JTUV(225) = JVS(356)*UV(35)+JVS(477)*UV(36)+JVS(1531)*UV(225)+JVS(1884)*UV(257)+JVS(2219)*UV(278)+JVS(3609)*UV(327)& &+JVS(3809)*UV(329)+JVS(4405)*UV(337)+JVS(5117)*UV(345)+JVS(5521)*UV(351) JTUV(226) = JVS(245)*UV(34)+JVS(1396)*UV(210)+JVS(1459)*UV(216)+JVS(1541)*UV(226)+JVS(1725)*UV(244)+JVS(1765)*UV(247)& &+JVS(1933)*UV(261)+JVS(2045)*UV(266)+JVS(2722)*UV(299)+JVS(2771)*UV(302)+JVS(2804)*UV(303)+JVS(3453)& &*UV(325)+JVS(4101)*UV(335)+JVS(4406)*UV(337)+JVS(5118)*UV(345)+JVS(5272)*UV(346) JTUV(227) = JVS(478)*UV(36)+JVS(1550)*UV(227)+JVS(2104)*UV(270)+JVS(2549)*UV(294)+JVS(3328)*UV(324)+JVS(3811)*UV(329)& &+JVS(4407)*UV(337) JTUV(228) = JVS(357)*UV(35)+JVS(538)*UV(39)+JVS(1471)*UV(217)+JVS(1563)*UV(228)+JVS(3454)*UV(325)+JVS(3699)*UV(328)& &+JVS(4003)*UV(334)+JVS(4231)*UV(336)+JVS(4408)*UV(337)+JVS(4584)*UV(339)+JVS(4675)*UV(340)+JVS(5119)& &*UV(345) JTUV(229) = JVS(358)*UV(35)+JVS(1570)*UV(229)+JVS(1949)*UV(262)+JVS(1976)*UV(263)+JVS(2244)*UV(280)+JVS(2604)*UV(295)& &+JVS(2682)*UV(298)+JVS(3101)*UV(314)+JVS(3455)*UV(325)+JVS(4102)*UV(335)+JVS(4409)*UV(337)+JVS(4761)& &*UV(341)+JVS(5120)*UV(345)+JVS(5522)*UV(351) JTUV(230) = JVS(479)*UV(36)+JVS(840)*UV(119)+JVS(914)*UV(133)+JVS(1132)*UV(171)+JVS(1220)*UV(185)+JVS(1276)*UV(194)& &+JVS(1445)*UV(215)+JVS(1577)*UV(230)+JVS(2434)*UV(288)+JVS(2550)*UV(294)+JVS(3102)*UV(314)+JVS(3456)& &*UV(325)+JVS(3812)*UV(329)+JVS(4410)*UV(337)+JVS(5121)*UV(345) JTUV(231) = JVS(480)*UV(36)+JVS(841)*UV(119)+JVS(931)*UV(135)+JVS(1138)*UV(172)+JVS(1221)*UV(185)+JVS(1277)*UV(194)& &+JVS(1446)*UV(215)+JVS(1583)*UV(231)+JVS(2400)*UV(287)+JVS(2551)*UV(294)+JVS(2997)*UV(309)+JVS(3457)& &*UV(325)+JVS(3813)*UV(329)+JVS(4411)*UV(337)+JVS(5122)*UV(345) JTUV(232) = JVS(246)*UV(34)+JVS(1158)*UV(174)+JVS(1305)*UV(198)+JVS(1590)*UV(232)+JVS(2805)*UV(303)+JVS(2870)*UV(306)& &+JVS(2922)*UV(307)+JVS(4105)*UV(335)+JVS(4412)*UV(337)+JVS(5123)*UV(345)+JVS(5275)*UV(346) JTUV(233) = JVS(481)*UV(36)+JVS(791)*UV(109)+JVS(909)*UV(132)+JVS(1296)*UV(197)+JVS(1598)*UV(233)+JVS(2108)*UV(270)& &+JVS(3458)*UV(325)+JVS(3814)*UV(329)+JVS(4413)*UV(337)+JVS(5124)*UV(345) JTUV(234) = JVS(247)*UV(34)+JVS(359)*UV(35)+JVS(630)*UV(70)+JVS(778)*UV(106)+JVS(936)*UV(136)+JVS(1607)*UV(234)& &+JVS(2267)*UV(282)+JVS(2872)*UV(306)+JVS(3459)*UV(325)+JVS(3700)*UV(328)+JVS(4107)*UV(335)+JVS(4414)& &*UV(337)+JVS(5277)*UV(346)+JVS(5524)*UV(351) JTUV(235) = JVS(34)*UV(7)+JVS(248)*UV(34)+JVS(360)*UV(35)+JVS(634)*UV(71)+JVS(700)*UV(90)+JVS(829)*UV(117)+JVS(1619)& &*UV(235)+JVS(1632)*UV(236)+JVS(3460)*UV(325)+JVS(3701)*UV(328)+JVS(4108)*UV(335)+JVS(4415)*UV(337)& &+JVS(4763)*UV(341)+JVS(5126)*UV(345)+JVS(5278)*UV(346) JTUV(236) = JVS(249)*UV(34)+JVS(361)*UV(35)+JVS(830)*UV(117)+JVS(1340)*UV(203)+JVS(1633)*UV(236)+JVS(3461)*UV(325)& &+JVS(3702)*UV(328)+JVS(4109)*UV(335)+JVS(4416)*UV(337)+JVS(5279)*UV(346)+JVS(5525)*UV(351) JTUV(237) = JVS(362)*UV(35)+JVS(1173)*UV(177)+JVS(1641)*UV(237)+JVS(1977)*UV(263)+JVS(2143)*UV(272)+JVS(2174)*UV(274)& &+JVS(4765)*UV(341)+JVS(5128)*UV(345)+JVS(5526)*UV(351) JTUV(238) = JVS(35)*UV(7)+JVS(482)*UV(36)+JVS(1652)*UV(238)+JVS(2361)*UV(285)+JVS(2381)*UV(286)+JVS(2402)*UV(287)& &+JVS(2436)*UV(288)+JVS(2553)*UV(294)+JVS(3815)*UV(329)+JVS(4417)*UV(337)+JVS(5129)*UV(345) JTUV(239) = JVS(250)*UV(34)+JVS(1665)*UV(239)+JVS(4111)*UV(335)+JVS(4232)*UV(336)+JVS(5130)*UV(345)+JVS(5280)*UV(346) JTUV(240) = JVS(36)*UV(7)+JVS(251)*UV(34)+JVS(363)*UV(35)+JVS(856)*UV(122)+JVS(1034)*UV(155)+JVS(1148)*UV(173)& &+JVS(1685)*UV(240)+JVS(3263)*UV(322)+JVS(4112)*UV(335)+JVS(4418)*UV(337)+JVS(4766)*UV(341)+JVS(5131)& &*UV(345)+JVS(5281)*UV(346) JTUV(241) = JVS(37)*UV(7)+JVS(180)*UV(32)+JVS(252)*UV(34)+JVS(522)*UV(37)+JVS(529)*UV(38)+JVS(543)*UV(40)+JVS(921)& &*UV(134)+JVS(1691)*UV(241)+JVS(1993)*UV(264)+JVS(2306)*UV(283)+JVS(3554)*UV(326)+JVS(3817)*UV(329)& &+JVS(4113)*UV(335)+JVS(4234)*UV(336)+JVS(5282)*UV(346)+JVS(5404)*UV(348)+JVS(5527)*UV(351) JTUV(242) = JVS(364)*UV(35)+JVS(561)*UV(45)+JVS(1028)*UV(154)+JVS(1700)*UV(242)+JVS(2683)*UV(298)+JVS(4114)*UV(335)& &+JVS(4767)*UV(341)+JVS(5133)*UV(345)+JVS(5528)*UV(351) JTUV(243) = JVS(253)*UV(34)+JVS(483)*UV(36)+JVS(1380)*UV(208)+JVS(1715)*UV(243)+JVS(1899)*UV(258)+JVS(2046)*UV(266)& &+JVS(2924)*UV(307)+JVS(3463)*UV(325)+JVS(3818)*UV(329)+JVS(4115)*UV(335)+JVS(4419)*UV(337)+JVS(5134)& &*UV(345)+JVS(5283)*UV(346) JTUV(244) = JVS(1726)*UV(244)+JVS(2554)*UV(294)+JVS(3064)*UV(313)+JVS(3333)*UV(324)+JVS(3464)*UV(325)+JVS(4235)& &*UV(336)+JVS(5135)*UV(345) JTUV(245) = JVS(254)*UV(34)+JVS(1740)*UV(245)+JVS(3954)*UV(333)+JVS(4004)*UV(334)+JVS(4532)*UV(338)+JVS(4676)*UV(340)& &+JVS(4898)*UV(343)+JVS(5136)*UV(345) JTUV(246) = JVS(38)*UV(7)+JVS(255)*UV(34)+JVS(365)*UV(35)+JVS(810)*UV(113)+JVS(1035)*UV(155)+JVS(1149)*UV(173)& &+JVS(1608)*UV(234)+JVS(1754)*UV(246)+JVS(4116)*UV(335)+JVS(4420)*UV(337)+JVS(4768)*UV(341)+JVS(5137)& &*UV(345)+JVS(5284)*UV(346) JTUV(247) = JVS(1766)*UV(247)+JVS(2555)*UV(294)+JVS(3334)*UV(324)+JVS(3466)*UV(325)+JVS(4117)*UV(335)+JVS(5138)& &*UV(345) JTUV(248) = JVS(366)*UV(35)+JVS(484)*UV(36)+JVS(757)*UV(103)+JVS(1785)*UV(248)+JVS(2925)*UV(307)+JVS(2971)*UV(308)& &+JVS(3820)*UV(329)+JVS(4118)*UV(335)+JVS(4421)*UV(337)+JVS(5139)*UV(345) JTUV(249) = JVS(39)*UV(7)+JVS(256)*UV(34)+JVS(1235)*UV(188)+JVS(1797)*UV(249)+JVS(2231)*UV(279)+JVS(2269)*UV(282)& &+JVS(2307)*UV(283)+JVS(2684)*UV(298)+JVS(3197)*UV(319)+JVS(3335)*UV(324)+JVS(3467)*UV(325)+JVS(3556)& &*UV(326)+JVS(3705)*UV(328)+JVS(4119)*UV(335)+JVS(4422)*UV(337)+JVS(5285)*UV(346) JTUV(250) = JVS(40)*UV(7)+JVS(257)*UV(34)+JVS(868)*UV(125)+JVS(1236)*UV(188)+JVS(1805)*UV(250)+JVS(2270)*UV(282)& &+JVS(2308)*UV(283)+JVS(2685)*UV(298)+JVS(3336)*UV(324)+JVS(3468)*UV(325)+JVS(3557)*UV(326)+JVS(3706)& &*UV(328)+JVS(4120)*UV(335)+JVS(4423)*UV(337)+JVS(5286)*UV(346) JTUV(251) = JVS(367)*UV(35)+JVS(758)*UV(103)+JVS(1813)*UV(251)+JVS(2494)*UV(292)+JVS(2605)*UV(295)+JVS(2686)*UV(298)& &+JVS(3122)*UV(315)+JVS(3177)*UV(318)+JVS(3234)*UV(321)+JVS(3290)*UV(323)+JVS(3558)*UV(326)+JVS(3707)& &*UV(328)+JVS(4121)*UV(335)+JVS(4237)*UV(336)+JVS(4424)*UV(337)+JVS(5142)*UV(345) JTUV(252) = JVS(91)*UV(9)+JVS(99)*UV(10)+JVS(368)*UV(35)+JVS(656)*UV(77)+JVS(766)*UV(104)+JVS(1125)*UV(170)+JVS(1666)& &*UV(239)+JVS(1820)*UV(252)+JVS(3915)*UV(331)+JVS(4122)*UV(335)+JVS(4939)*UV(344)+JVS(5439)*UV(349)& &+JVS(5465)*UV(350)+JVS(5653)*UV(353) JTUV(253) = JVS(258)*UV(34)+JVS(485)*UV(36)+JVS(1786)*UV(248)+JVS(1829)*UV(253)+JVS(2403)*UV(287)+JVS(2557)*UV(294)& &+JVS(2926)*UV(307)+JVS(3469)*UV(325)+JVS(3821)*UV(329)+JVS(4123)*UV(335)+JVS(4425)*UV(337)+JVS(5144)& &*UV(345)+JVS(5288)*UV(346) JTUV(254) = JVS(259)*UV(34)+JVS(1381)*UV(208)+JVS(1840)*UV(254)+JVS(2437)*UV(288)+JVS(2558)*UV(294)+JVS(2773)*UV(302)& &+JVS(2874)*UV(306)+JVS(3337)*UV(324)+JVS(3470)*UV(325)+JVS(4124)*UV(335)+JVS(4426)*UV(337)+JVS(5145)& &*UV(345)+JVS(5289)*UV(346) JTUV(255) = JVS(369)*UV(35)+JVS(486)*UV(36)+JVS(1087)*UV(163)+JVS(1174)*UV(177)+JVS(1850)*UV(255)+JVS(1978)*UV(263)& &+JVS(2175)*UV(274)+JVS(3042)*UV(312)+JVS(3471)*UV(325)+JVS(3823)*UV(329)+JVS(4427)*UV(337)+JVS(4769)& &*UV(341)+JVS(5146)*UV(345)+JVS(5531)*UV(351) JTUV(256) = JVS(370)*UV(35)+JVS(562)*UV(45)+JVS(1029)*UV(154)+JVS(1865)*UV(256)+JVS(2495)*UV(292)+JVS(4126)*UV(335)& &+JVS(5147)*UV(345)+JVS(5532)*UV(351) JTUV(257) = JVS(41)*UV(7)+JVS(260)*UV(34)+JVS(371)*UV(35)+JVS(585)*UV(56)+JVS(616)*UV(66)+JVS(646)*UV(74)+JVS(1885)& &*UV(257)+JVS(2220)*UV(278)+JVS(3338)*UV(324)+JVS(3472)*UV(325)+JVS(3708)*UV(328)+JVS(4127)*UV(335)& &+JVS(4428)*UV(337)+JVS(4770)*UV(341)+JVS(5148)*UV(345)+JVS(5290)*UV(346)+JVS(5533)*UV(351) JTUV(258) = JVS(487)*UV(36)+JVS(903)*UV(131)+JVS(1022)*UV(153)+JVS(1553)*UV(227)+JVS(1900)*UV(258)+JVS(2109)*UV(270)& &+JVS(2404)*UV(287)+JVS(2559)*UV(294)+JVS(2875)*UV(306)+JVS(2928)*UV(307)+JVS(3473)*UV(325)+JVS(3824)& &*UV(329)+JVS(4429)*UV(337)+JVS(5149)*UV(345) JTUV(259) = JVS(42)*UV(7)+JVS(261)*UV(34)+JVS(488)*UV(36)+JVS(1067)*UV(159)+JVS(1213)*UV(184)+JVS(1912)*UV(259)& &+JVS(3340)*UV(324)+JVS(3474)*UV(325)+JVS(3709)*UV(328)+JVS(3825)*UV(329)+JVS(4128)*UV(335)+JVS(4430)& &*UV(337)+JVS(4771)*UV(341)+JVS(5150)*UV(345)+JVS(5291)*UV(346) JTUV(260) = JVS(43)*UV(7)+JVS(262)*UV(34)+JVS(860)*UV(123)+JVS(1237)*UV(188)+JVS(1921)*UV(260)+JVS(2271)*UV(282)& &+JVS(2309)*UV(283)+JVS(2687)*UV(298)+JVS(2930)*UV(307)+JVS(3341)*UV(324)+JVS(3475)*UV(325)+JVS(3559)& &*UV(326)+JVS(3710)*UV(328)+JVS(4129)*UV(335)+JVS(4431)*UV(337)+JVS(5292)*UV(346) JTUV(261) = JVS(44)*UV(7)+JVS(372)*UV(35)+JVS(489)*UV(36)+JVS(1934)*UV(261)+JVS(3342)*UV(324)+JVS(3476)*UV(325)& &+JVS(3616)*UV(327)+JVS(3826)*UV(329)+JVS(4130)*UV(335)+JVS(4432)*UV(337)+JVS(5152)*UV(345)+JVS(5535)& &*UV(351) JTUV(262) = JVS(373)*UV(35)+JVS(1950)*UV(262)+JVS(1979)*UV(263)+JVS(2245)*UV(280)+JVS(2496)*UV(292)+JVS(2606)*UV(295)& &+JVS(2876)*UV(306)+JVS(3103)*UV(314)+JVS(3477)*UV(325)+JVS(4131)*UV(335)+JVS(4433)*UV(337)+JVS(4772)& &*UV(341)+JVS(5153)*UV(345)+JVS(5536)*UV(351) JTUV(263) = JVS(45)*UV(7)+JVS(263)*UV(34)+JVS(374)*UV(35)+JVS(1980)*UV(263)+JVS(3343)*UV(324)+JVS(3478)*UV(325)& &+JVS(3711)*UV(328)+JVS(4132)*UV(335)+JVS(4434)*UV(337)+JVS(5154)*UV(345)+JVS(5293)*UV(346)+JVS(5537)& &*UV(351) JTUV(264) = JVS(375)*UV(35)+JVS(530)*UV(38)+JVS(922)*UV(134)+JVS(1994)*UV(264)+JVS(4239)*UV(336)+JVS(4435)*UV(337)& &+JVS(4585)*UV(339)+JVS(4678)*UV(340)+JVS(4899)*UV(343)+JVS(5155)*UV(345)+JVS(5405)*UV(348) JTUV(265) = JVS(46)*UV(7)+JVS(2020)*UV(265)+JVS(4240)*UV(336)+JVS(4436)*UV(337)+JVS(4586)*UV(339)+JVS(4679)*UV(340)& &+JVS(5156)*UV(345) JTUV(266) = JVS(376)*UV(35)+JVS(490)*UV(36)+JVS(759)*UV(103)+JVS(2047)*UV(266)+JVS(2405)*UV(287)+JVS(2438)*UV(288)& &+JVS(2561)*UV(294)+JVS(2877)*UV(306)+JVS(3827)*UV(329)+JVS(4133)*UV(335)+JVS(4437)*UV(337)+JVS(5157)& &*UV(345) JTUV(267) = JVS(377)*UV(35)+JVS(491)*UV(36)+JVS(760)*UV(103)+JVS(882)*UV(128)+JVS(1373)*UV(207)+JVS(1653)*UV(238)& &+JVS(2060)*UV(267)+JVS(2406)*UV(287)+JVS(2753)*UV(301)+JVS(2774)*UV(302)+JVS(3828)*UV(329)+JVS(4134)& &*UV(335)+JVS(4438)*UV(337)+JVS(5158)*UV(345) JTUV(268) = JVS(378)*UV(35)+JVS(492)*UV(36)+JVS(761)*UV(103)+JVS(883)*UV(128)+JVS(1368)*UV(206)+JVS(1460)*UV(216)& &+JVS(1654)*UV(238)+JVS(2066)*UV(268)+JVS(2440)*UV(288)+JVS(2754)*UV(301)+JVS(3829)*UV(329)+JVS(4135)& &*UV(335)+JVS(4439)*UV(337)+JVS(5159)*UV(345) JTUV(269) = JVS(10)*UV(5)+JVS(47)*UV(7)+JVS(264)*UV(34)+JVS(493)*UV(36)+JVS(1504)*UV(221)+JVS(1667)*UV(239)+JVS(2081)& &*UV(269)+JVS(3178)*UV(318)+JVS(3620)*UV(327)+JVS(3830)*UV(329)+JVS(4136)*UV(335)+JVS(4440)*UV(337)& &+JVS(5160)*UV(345)+JVS(5539)*UV(351) JTUV(270) = JVS(171)*UV(30)+JVS(379)*UV(35)+JVS(494)*UV(36)+JVS(2113)*UV(270)+JVS(3481)*UV(325)+JVS(3621)*UV(327)& &+JVS(3831)*UV(329)+JVS(4441)*UV(337)+JVS(5161)*UV(345)+JVS(5540)*UV(351) JTUV(271) = JVS(265)*UV(34)+JVS(1397)*UV(210)+JVS(1461)*UV(216)+JVS(1727)*UV(244)+JVS(1769)*UV(247)+JVS(1936)*UV(261)& &+JVS(2050)*UV(266)+JVS(2135)*UV(271)+JVS(2408)*UV(287)+JVS(2441)*UV(288)+JVS(2725)*UV(299)+JVS(2775)& &*UV(302)+JVS(2808)*UV(303)+JVS(2881)*UV(306)+JVS(2933)*UV(307)+JVS(3482)*UV(325)+JVS(4137)*UV(335)& &+JVS(4442)*UV(337)+JVS(5162)*UV(345)+JVS(5297)*UV(346) JTUV(272) = JVS(266)*UV(34)+JVS(380)*UV(35)+JVS(1088)*UV(163)+JVS(1118)*UV(169)+JVS(1175)*UV(177)+JVS(2144)*UV(272)& &+JVS(2272)*UV(282)+JVS(3483)*UV(325)+JVS(3712)*UV(328)+JVS(4138)*UV(335)+JVS(4443)*UV(337)+JVS(5298)& &*UV(346)+JVS(5542)*UV(351) JTUV(273) = JVS(267)*UV(34)+JVS(381)*UV(35)+JVS(1076)*UV(161)+JVS(1082)*UV(162)+JVS(2157)*UV(273)+JVS(2177)*UV(274)& &+JVS(2273)*UV(282)+JVS(2607)*UV(295)+JVS(2690)*UV(298)+JVS(3199)*UV(319)+JVS(3484)*UV(325)+JVS(3713)& &*UV(328)+JVS(4139)*UV(335)+JVS(4444)*UV(337)+JVS(5299)*UV(346)+JVS(5543)*UV(351) JTUV(274) = JVS(48)*UV(7)+JVS(268)*UV(34)+JVS(382)*UV(35)+JVS(588)*UV(57)+JVS(898)*UV(130)+JVS(1119)*UV(169)+JVS(2178)& &*UV(274)+JVS(2691)*UV(298)+JVS(3200)*UV(319)+JVS(3348)*UV(324)+JVS(3485)*UV(325)+JVS(3714)*UV(328)& &+JVS(4140)*UV(335)+JVS(4445)*UV(337)+JVS(4774)*UV(341)+JVS(5165)*UV(345)+JVS(5300)*UV(346)+JVS(5544)& &*UV(351) JTUV(275) = JVS(49)*UV(7)+JVS(269)*UV(34)+JVS(383)*UV(35)+JVS(806)*UV(112)+JVS(889)*UV(129)+JVS(945)*UV(138)+JVS(2192)& &*UV(275)+JVS(2274)*UV(282)+JVS(2310)*UV(283)+JVS(3349)*UV(324)+JVS(3486)*UV(325)+JVS(3715)*UV(328)& &+JVS(4141)*UV(335)+JVS(4446)*UV(337)+JVS(5301)*UV(346)+JVS(5545)*UV(351) JTUV(276) = JVS(50)*UV(7)+JVS(114)*UV(14)+JVS(117)*UV(15)+JVS(384)*UV(35)+JVS(495)*UV(36)+JVS(544)*UV(40)+JVS(970)& &*UV(144)+JVS(1006)*UV(150)+JVS(1398)*UV(210)+JVS(1578)*UV(230)+JVS(1584)*UV(231)+JVS(1728)*UV(244)& &+JVS(1995)*UV(264)+JVS(2200)*UV(276)+JVS(2565)*UV(294)+JVS(2825)*UV(304)+JVS(2839)*UV(305)+JVS(2998)& &*UV(309)+JVS(3015)*UV(310)+JVS(3027)*UV(311)+JVS(3043)*UV(312)+JVS(3104)*UV(314)+JVS(3350)*UV(324)& &+JVS(3487)*UV(325)+JVS(3716)*UV(328)+JVS(3833)*UV(329)+JVS(4447)*UV(337)+JVS(4588)*UV(339)+JVS(4681)& &*UV(340)+JVS(4776)*UV(341)+JVS(5167)*UV(345)+JVS(5546)*UV(351) JTUV(277) = JVS(51)*UV(7)+JVS(270)*UV(34)+JVS(385)*UV(35)+JVS(802)*UV(111)+JVS(941)*UV(137)+JVS(1532)*UV(225)& &+JVS(2208)*UV(277)+JVS(2275)*UV(282)+JVS(2311)*UV(283)+JVS(3351)*UV(324)+JVS(3488)*UV(325)+JVS(3717)& &*UV(328)+JVS(4143)*UV(335)+JVS(4448)*UV(337)+JVS(5303)*UV(346)+JVS(5547)*UV(351) JTUV(278) = JVS(271)*UV(34)+JVS(386)*UV(35)+JVS(1071)*UV(160)+JVS(1168)*UV(176)+JVS(1983)*UV(263)+JVS(2222)*UV(278)& &+JVS(2276)*UV(282)+JVS(2501)*UV(292)+JVS(2610)*UV(295)+JVS(3267)*UV(322)+JVS(3489)*UV(325)+JVS(3718)& &*UV(328)+JVS(4144)*UV(335)+JVS(4449)*UV(337)+JVS(5304)*UV(346)+JVS(5548)*UV(351) JTUV(279) = JVS(1798)*UV(249)+JVS(2232)*UV(279)+JVS(2502)*UV(292)+JVS(2611)*UV(295)+JVS(2693)*UV(298)+JVS(3123)& &*UV(315)+JVS(3235)*UV(321)+JVS(3291)*UV(323)+JVS(3560)*UV(326)+JVS(3719)*UV(328)+JVS(4145)*UV(335)& &+JVS(4244)*UV(336)+JVS(4450)*UV(337)+JVS(5170)*UV(345) JTUV(280) = JVS(52)*UV(7)+JVS(272)*UV(34)+JVS(387)*UV(35)+JVS(1701)*UV(242)+JVS(1871)*UV(256)+JVS(2246)*UV(280)& &+JVS(2464)*UV(289)+JVS(2503)*UV(292)+JVS(2694)*UV(298)+JVS(3354)*UV(324)+JVS(3491)*UV(325)+JVS(3720)& &*UV(328)+JVS(4146)*UV(335)+JVS(4451)*UV(337)+JVS(5306)*UV(346)+JVS(5549)*UV(351) JTUV(281) = JVS(53)*UV(7)+JVS(273)*UV(34)+JVS(388)*UV(35)+JVS(1405)*UV(211)+JVS(1642)*UV(237)+JVS(1851)*UV(255)& &+JVS(2259)*UV(281)+JVS(2278)*UV(282)+JVS(2313)*UV(283)+JVS(3355)*UV(324)+JVS(3492)*UV(325)+JVS(3721)& &*UV(328)+JVS(4147)*UV(335)+JVS(4452)*UV(337)+JVS(5307)*UV(346)+JVS(5550)*UV(351) JTUV(282) = JVS(2279)*UV(282)+JVS(3493)*UV(325)+JVS(4453)*UV(337)+JVS(4589)*UV(339)+JVS(4682)*UV(340)+JVS(5173)& &*UV(345) JTUV(283) = JVS(54)*UV(7)+JVS(2314)*UV(283)+JVS(3722)*UV(328)+JVS(4245)*UV(336)+JVS(4590)*UV(339)+JVS(4683)*UV(340)& &+JVS(5174)*UV(345) JTUV(284) = JVS(389)*UV(35)+JVS(558)*UV(44)+JVS(583)*UV(55)+JVS(726)*UV(96)+JVS(767)*UV(104)+JVS(845)*UV(120)& &+JVS(2343)*UV(284)+JVS(3887)*UV(330)+JVS(3916)*UV(331)+JVS(3935)*UV(332)+JVS(4148)*UV(335)+JVS(4454)& &*UV(337)+JVS(4533)*UV(338)+JVS(4684)*UV(340)+JVS(4836)*UV(342)+JVS(4901)*UV(343)+JVS(5308)*UV(346)& &+JVS(5373)*UV(347) JTUV(285) = JVS(274)*UV(34)+JVS(496)*UV(36)+JVS(989)*UV(147)+JVS(1023)*UV(153)+JVS(1903)*UV(258)+JVS(2051)*UV(266)& &+JVS(2116)*UV(270)+JVS(2364)*UV(285)+JVS(2942)*UV(307)+JVS(3836)*UV(329)+JVS(4149)*UV(335)+JVS(4455)& &*UV(337)+JVS(5176)*UV(345)+JVS(5309)*UV(346) JTUV(286) = JVS(275)*UV(34)+JVS(497)*UV(36)+JVS(904)*UV(131)+JVS(990)*UV(147)+JVS(1904)*UV(258)+JVS(2052)*UV(266)& &+JVS(2385)*UV(286)+JVS(2567)*UV(294)+JVS(2884)*UV(306)+JVS(3837)*UV(329)+JVS(4150)*UV(335)+JVS(4456)& &*UV(337)+JVS(5177)*UV(345)+JVS(5310)*UV(346) JTUV(287) = JVS(55)*UV(7)+JVS(498)*UV(36)+JVS(1729)*UV(244)+JVS(2412)*UV(287)+JVS(2568)*UV(294)+JVS(2944)*UV(307)& &+JVS(3496)*UV(325)+JVS(3838)*UV(329)+JVS(4457)*UV(337)+JVS(5178)*UV(345) JTUV(288) = JVS(1385)*UV(208)+JVS(1556)*UV(227)+JVS(2445)*UV(288)+JVS(2569)*UV(294)+JVS(2885)*UV(306)+JVS(3359)& &*UV(324)+JVS(3497)*UV(325)+JVS(4458)*UV(337)+JVS(5179)*UV(345) JTUV(289) = JVS(276)*UV(34)+JVS(390)*UV(35)+JVS(1150)*UV(173)+JVS(1238)*UV(188)+JVS(1702)*UV(242)+JVS(1873)*UV(256)& &+JVS(2247)*UV(280)+JVS(2280)*UV(282)+JVS(2465)*UV(289)+JVS(2505)*UV(292)+JVS(2696)*UV(298)+JVS(3360)& &*UV(324)+JVS(3498)*UV(325)+JVS(3723)*UV(328)+JVS(4151)*UV(335)+JVS(4459)*UV(337)+JVS(5311)*UV(346)& &+JVS(5554)*UV(351) JTUV(290) = JVS(56)*UV(7)+JVS(391)*UV(35)+JVS(499)*UV(36)+JVS(1564)*UV(228)+JVS(1692)*UV(241)+JVS(1806)*UV(250)& &+JVS(1922)*UV(260)+JVS(2474)*UV(290)+JVS(3045)*UV(312)+JVS(3499)*UV(325)+JVS(3561)*UV(326)+JVS(3724)& &*UV(328)+JVS(3840)*UV(329)+JVS(4460)*UV(337)+JVS(4592)*UV(339)+JVS(4686)*UV(340)+JVS(4781)*UV(341)& &+JVS(4837)*UV(342)+JVS(5181)*UV(345)+JVS(5555)*UV(351)+JVS(5614)*UV(352) JTUV(291) = JVS(57)*UV(7)+JVS(277)*UV(34)+JVS(392)*UV(35)+JVS(1270)*UV(193)+JVS(1571)*UV(229)+JVS(1951)*UV(262)& &+JVS(2282)*UV(282)+JVS(2316)*UV(283)+JVS(2482)*UV(291)+JVS(2612)*UV(295)+JVS(3105)*UV(314)+JVS(3362)& &*UV(324)+JVS(3500)*UV(325)+JVS(3725)*UV(328)+JVS(4153)*UV(335)+JVS(4461)*UV(337)+JVS(5313)*UV(346)& &+JVS(5556)*UV(351) JTUV(292) = JVS(393)*UV(35)+JVS(2507)*UV(292)+JVS(3124)*UV(315)+JVS(3218)*UV(320)+JVS(3236)*UV(321)+JVS(3268)*UV(322)& &+JVS(3292)*UV(323)+JVS(3363)*UV(324)+JVS(3636)*UV(327)+JVS(3726)*UV(328)+JVS(4250)*UV(336)+JVS(5183)& &*UV(345)+JVS(5557)*UV(351) JTUV(293) = JVS(278)*UV(34)+JVS(1462)*UV(216)+JVS(1770)*UV(247)+JVS(1937)*UV(261)+JVS(2523)*UV(293)+JVS(2726)*UV(299)& &+JVS(2777)*UV(302)+JVS(2809)*UV(303)+JVS(2887)*UV(306)+JVS(2948)*UV(307)+JVS(3501)*UV(325)+JVS(4154)& &*UV(335)+JVS(4462)*UV(337)+JVS(5184)*UV(345)+JVS(5314)*UV(346) JTUV(294) = JVS(172)*UV(30)+JVS(394)*UV(35)+JVS(500)*UV(36)+JVS(2572)*UV(294)+JVS(3365)*UV(324)+JVS(3638)*UV(327)& &+JVS(3842)*UV(329)+JVS(4463)*UV(337)+JVS(5185)*UV(345)+JVS(5559)*UV(351) JTUV(295) = JVS(501)*UV(36)+JVS(2613)*UV(295)+JVS(3068)*UV(313)+JVS(3366)*UV(324)+JVS(3727)*UV(328)+JVS(3843)*UV(329)& &+JVS(4251)*UV(336)+JVS(4594)*UV(339)+JVS(4688)*UV(340)+JVS(4838)*UV(342)+JVS(5186)*UV(345)+JVS(5615)& &*UV(352) JTUV(296) = JVS(58)*UV(7)+JVS(279)*UV(34)+JVS(676)*UV(83)+JVS(835)*UV(118)+JVS(1040)*UV(156)+JVS(2283)*UV(282)& &+JVS(2317)*UV(283)+JVS(2639)*UV(296)+JVS(3367)*UV(324)+JVS(3502)*UV(325)+JVS(3562)*UV(326)+JVS(3728)& &*UV(328)+JVS(4155)*UV(335)+JVS(4464)*UV(337)+JVS(4534)*UV(338)+JVS(4689)*UV(340)+JVS(5315)*UV(346) JTUV(297) = JVS(280)*UV(34)+JVS(395)*UV(35)+JVS(1047)*UV(157)+JVS(1668)*UV(239)+JVS(1741)*UV(245)+JVS(2653)*UV(297)& &+JVS(3956)*UV(333)+JVS(4156)*UV(335)+JVS(4596)*UV(339)+JVS(4690)*UV(340)+JVS(4940)*UV(344)+JVS(5188)& &*UV(345)+JVS(5440)*UV(349)+JVS(5466)*UV(350)+JVS(5616)*UV(352)+JVS(5654)*UV(353) JTUV(298) = JVS(396)*UV(35)+JVS(502)*UV(36)+JVS(2699)*UV(298)+JVS(3126)*UV(315)+JVS(3237)*UV(321)+JVS(3269)*UV(322)& &+JVS(3293)*UV(323)+JVS(3639)*UV(327)+JVS(3844)*UV(329)+JVS(4254)*UV(336)+JVS(4465)*UV(337)+JVS(5189)& &*UV(345)+JVS(5560)*UV(351) JTUV(299) = JVS(397)*UV(35)+JVS(762)*UV(103)+JVS(975)*UV(145)+JVS(1193)*UV(180)+JVS(2727)*UV(299)+JVS(2755)*UV(301)& &+JVS(2810)*UV(303)+JVS(2888)*UV(306)+JVS(2949)*UV(307)+JVS(2999)*UV(309)+JVS(3106)*UV(314)+JVS(3503)& &*UV(325)+JVS(4157)*UV(335)+JVS(4466)*UV(337)+JVS(5190)*UV(345) JTUV(300) = JVS(59)*UV(7)+JVS(281)*UV(34)+JVS(748)*UV(102)+JVS(1239)*UV(188)+JVS(2233)*UV(279)+JVS(2284)*UV(282)& &+JVS(2318)*UV(283)+JVS(2508)*UV(292)+JVS(2614)*UV(295)+JVS(2700)*UV(298)+JVS(2742)*UV(300)+JVS(3127)& &*UV(315)+JVS(3238)*UV(321)+JVS(3294)*UV(323)+JVS(3369)*UV(324)+JVS(3504)*UV(325)+JVS(3563)*UV(326)& &+JVS(3729)*UV(328)+JVS(4158)*UV(335)+JVS(4467)*UV(337)+JVS(5318)*UV(346) JTUV(301) = JVS(503)*UV(36)+JVS(842)*UV(119)+JVS(1133)*UV(171)+JVS(1139)*UV(172)+JVS(1202)*UV(182)+JVS(1224)*UV(185)& &+JVS(1278)*UV(194)+JVS(1450)*UV(215)+JVS(1463)*UV(216)+JVS(2756)*UV(301)+JVS(2779)*UV(302)+JVS(3847)& &*UV(329)+JVS(4159)*UV(335)+JVS(4468)*UV(337)+JVS(5192)*UV(345) JTUV(302) = JVS(282)*UV(34)+JVS(398)*UV(35)+JVS(763)*UV(103)+JVS(819)*UV(115)+JVS(1558)*UV(227)+JVS(1940)*UV(261)& &+JVS(2024)*UV(265)+JVS(2575)*UV(294)+JVS(2780)*UV(302)+JVS(2890)*UV(306)+JVS(3371)*UV(324)+JVS(3506)& &*UV(325)+JVS(4160)*UV(335)+JVS(4469)*UV(337)+JVS(5193)*UV(345)+JVS(5564)*UV(351) JTUV(303) = JVS(399)*UV(35)+JVS(764)*UV(103)+JVS(1203)*UV(182)+JVS(1279)*UV(194)+JVS(1399)*UV(210)+JVS(1730)*UV(244)& &+JVS(1789)*UV(248)+JVS(1941)*UV(261)+JVS(2053)*UV(266)+JVS(2414)*UV(287)+JVS(2525)*UV(293)+JVS(2781)& &*UV(302)+JVS(2811)*UV(303)+JVS(2891)*UV(306)+JVS(2951)*UV(307)+JVS(3507)*UV(325)+JVS(4161)*UV(335)& &+JVS(4470)*UV(337)+JVS(5194)*UV(345) JTUV(304) = JVS(283)*UV(34)+JVS(504)*UV(36)+JVS(971)*UV(144)+JVS(1114)*UV(168)+JVS(1266)*UV(192)+JVS(1309)*UV(199)& &+JVS(1585)*UV(231)+JVS(1655)*UV(238)+JVS(1731)*UV(244)+JVS(2067)*UV(268)+JVS(2415)*UV(287)+JVS(2448)& &*UV(288)+JVS(2577)*UV(294)+JVS(2826)*UV(304)+JVS(2840)*UV(305)+JVS(3001)*UV(309)+JVS(3108)*UV(314)& &+JVS(3508)*UV(325)+JVS(3730)*UV(328)+JVS(3850)*UV(329)+JVS(4162)*UV(335)+JVS(4471)*UV(337)+JVS(5195)& &*UV(345)+JVS(5321)*UV(346) JTUV(305) = JVS(284)*UV(34)+JVS(505)*UV(36)+JVS(1007)*UV(150)+JVS(1162)*UV(175)+JVS(1231)*UV(187)+JVS(1390)*UV(209)& &+JVS(1400)*UV(210)+JVS(1579)*UV(230)+JVS(1656)*UV(238)+JVS(2061)*UV(267)+JVS(2416)*UV(287)+JVS(2449)& &*UV(288)+JVS(2578)*UV(294)+JVS(2827)*UV(304)+JVS(2841)*UV(305)+JVS(3002)*UV(309)+JVS(3109)*UV(314)& &+JVS(3374)*UV(324)+JVS(3509)*UV(325)+JVS(3731)*UV(328)+JVS(3851)*UV(329)+JVS(4163)*UV(335)+JVS(4472)& &*UV(337)+JVS(5196)*UV(345)+JVS(5322)*UV(346) JTUV(306) = JVS(60)*UV(7)+JVS(400)*UV(35)+JVS(506)*UV(36)+JVS(1419)*UV(213)+JVS(2028)*UV(265)+JVS(2124)*UV(270)& &+JVS(2285)*UV(282)+JVS(2894)*UV(306)+JVS(3510)*UV(325)+JVS(3647)*UV(327)+JVS(3852)*UV(329)+JVS(4473)& &*UV(337)+JVS(5197)*UV(345)+JVS(5568)*UV(351) JTUV(307) = JVS(61)*UV(7)+JVS(507)*UV(36)+JVS(2029)*UV(265)+JVS(2319)*UV(283)+JVS(2579)*UV(294)+JVS(2954)*UV(307)& &+JVS(3375)*UV(324)+JVS(3511)*UV(325)+JVS(3732)*UV(328)+JVS(3853)*UV(329)+JVS(4474)*UV(337)+JVS(5198)& &*UV(345) JTUV(308) = JVS(62)*UV(7)+JVS(285)*UV(34)+JVS(401)*UV(35)+JVS(1214)*UV(184)+JVS(1464)*UV(216)+JVS(1792)*UV(248)& &+JVS(2955)*UV(307)+JVS(2978)*UV(308)+JVS(3512)*UV(325)+JVS(3733)*UV(328)+JVS(4165)*UV(335)+JVS(4475)& &*UV(337)+JVS(4784)*UV(341)+JVS(5199)*UV(345)+JVS(5324)*UV(346)+JVS(5570)*UV(351) JTUV(309) = JVS(402)*UV(35)+JVS(508)*UV(36)+JVS(1732)*UV(244)+JVS(1775)*UV(247)+JVS(1833)*UV(253)+JVS(1914)*UV(259)& &+JVS(2581)*UV(294)+JVS(3003)*UV(309)+JVS(3046)*UV(312)+JVS(3377)*UV(324)+JVS(3513)*UV(325)+JVS(3650)& &*UV(327)+JVS(3855)*UV(329)+JVS(4476)*UV(337)+JVS(4785)*UV(341)+JVS(5200)*UV(345)+JVS(5571)*UV(351) JTUV(310) = JVS(63)*UV(7)+JVS(286)*UV(34)+JVS(403)*UV(35)+JVS(976)*UV(145)+JVS(1509)*UV(222)+JVS(2068)*UV(268)& &+JVS(2286)*UV(282)+JVS(2731)*UV(299)+JVS(2760)*UV(301)+JVS(3004)*UV(309)+JVS(3016)*UV(310)+JVS(3028)& &*UV(311)+JVS(3110)*UV(314)+JVS(3378)*UV(324)+JVS(3514)*UV(325)+JVS(3735)*UV(328)+JVS(4167)*UV(335)& &+JVS(4477)*UV(337)+JVS(5201)*UV(345)+JVS(5326)*UV(346)+JVS(5572)*UV(351) JTUV(311) = JVS(64)*UV(7)+JVS(287)*UV(34)+JVS(404)*UV(35)+JVS(977)*UV(145)+JVS(1227)*UV(186)+JVS(1510)*UV(222)& &+JVS(2062)*UV(267)+JVS(2069)*UV(268)+JVS(2287)*UV(282)+JVS(2732)*UV(299)+JVS(2761)*UV(301)+JVS(3005)& &*UV(309)+JVS(3017)*UV(310)+JVS(3029)*UV(311)+JVS(3111)*UV(314)+JVS(3379)*UV(324)+JVS(3515)*UV(325)& &+JVS(3736)*UV(328)+JVS(4168)*UV(335)+JVS(4478)*UV(337)+JVS(5327)*UV(346)+JVS(5573)*UV(351) JTUV(312) = JVS(65)*UV(7)+JVS(181)*UV(32)+JVS(288)*UV(34)+JVS(405)*UV(35)+JVS(523)*UV(37)+JVS(531)*UV(38)+JVS(545)& &*UV(40)+JVS(692)*UV(88)+JVS(923)*UV(134)+JVS(1997)*UV(264)+JVS(2032)*UV(265)+JVS(3049)*UV(312)+JVS(3516)& &*UV(325)+JVS(3858)*UV(329)+JVS(4169)*UV(335)+JVS(4267)*UV(336)+JVS(4788)*UV(341)+JVS(5328)*UV(346)& &+JVS(5408)*UV(348)+JVS(5574)*UV(351) JTUV(313) = JVS(66)*UV(7)+JVS(289)*UV(34)+JVS(1734)*UV(244)+JVS(2288)*UV(282)+JVS(2320)*UV(283)+JVS(2584)*UV(294)& &+JVS(2959)*UV(307)+JVS(3077)*UV(313)+JVS(3380)*UV(324)+JVS(3517)*UV(325)+JVS(3737)*UV(328)+JVS(4170)& &*UV(335)+JVS(4480)*UV(337)+JVS(5204)*UV(345)+JVS(5329)*UV(346) JTUV(314) = JVS(406)*UV(35)+JVS(509)*UV(36)+JVS(546)*UV(40)+JVS(820)*UV(115)+JVS(1844)*UV(254)+JVS(1998)*UV(264)& &+JVS(2475)*UV(290)+JVS(2585)*UV(294)+JVS(3050)*UV(312)+JVS(3112)*UV(314)+JVS(3271)*UV(322)+JVS(3381)& &*UV(324)+JVS(3518)*UV(325)+JVS(3738)*UV(328)+JVS(3860)*UV(329)+JVS(4481)*UV(337)+JVS(4789)*UV(341)& &+JVS(5205)*UV(345) JTUV(315) = JVS(67)*UV(7)+JVS(290)*UV(34)+JVS(836)*UV(118)+JVS(1041)*UV(156)+JVS(2289)*UV(282)+JVS(2321)*UV(283)& &+JVS(3129)*UV(315)+JVS(3382)*UV(324)+JVS(3519)*UV(325)+JVS(3565)*UV(326)+JVS(3739)*UV(328)+JVS(4172)& &*UV(335)+JVS(4482)*UV(337)+JVS(4536)*UV(338)+JVS(4706)*UV(340)+JVS(5331)*UV(346) JTUV(316) = JVS(407)*UV(35)+JVS(532)*UV(38)+JVS(924)*UV(134)+JVS(994)*UV(148)+JVS(1048)*UV(157)+JVS(3148)*UV(316)& &+JVS(4271)*UV(336)+JVS(4613)*UV(339)+JVS(4842)*UV(342)+JVS(4906)*UV(343)+JVS(4941)*UV(344)+JVS(5207)& &*UV(345)+JVS(5374)*UV(347)+JVS(5410)*UV(348)+JVS(5441)*UV(349)+JVS(5467)*UV(350)+JVS(5619)*UV(352)& &+JVS(5655)*UV(353) JTUV(317) = JVS(291)*UV(34)+JVS(408)*UV(35)+JVS(1049)*UV(157)+JVS(1742)*UV(245)+JVS(3164)*UV(317)+JVS(3655)*UV(327)& &+JVS(3957)*UV(333)+JVS(4173)*UV(335)+JVS(4272)*UV(336)+JVS(4537)*UV(338)+JVS(4614)*UV(339)+JVS(4708)& &*UV(340)+JVS(4907)*UV(343)+JVS(4942)*UV(344)+JVS(5208)*UV(345)+JVS(5442)*UV(349)+JVS(5468)*UV(350)& &+JVS(5577)*UV(351)+JVS(5620)*UV(352)+JVS(5656)*UV(353) JTUV(318) = JVS(68)*UV(7)+JVS(292)*UV(34)+JVS(1240)*UV(188)+JVS(1814)*UV(251)+JVS(2290)*UV(282)+JVS(2322)*UV(283)& &+JVS(2702)*UV(298)+JVS(3179)*UV(318)+JVS(3205)*UV(319)+JVS(3383)*UV(324)+JVS(3520)*UV(325)+JVS(3566)& &*UV(326)+JVS(3740)*UV(328)+JVS(4174)*UV(335)+JVS(4483)*UV(337)+JVS(5332)*UV(346) JTUV(319) = JVS(69)*UV(7)+JVS(293)*UV(34)+JVS(730)*UV(97)+JVS(1241)*UV(188)+JVS(1815)*UV(251)+JVS(2291)*UV(282)& &+JVS(2323)*UV(283)+JVS(2510)*UV(292)+JVS(2616)*UV(295)+JVS(2703)*UV(298)+JVS(3131)*UV(315)+JVS(3206)& &*UV(319)+JVS(3241)*UV(321)+JVS(3297)*UV(323)+JVS(3384)*UV(324)+JVS(3521)*UV(325)+JVS(3567)*UV(326)& &+JVS(3741)*UV(328)+JVS(4175)*UV(335)+JVS(4484)*UV(337)+JVS(5333)*UV(346) JTUV(320) = JVS(70)*UV(7)+JVS(294)*UV(34)+JVS(1242)*UV(188)+JVS(1735)*UV(244)+JVS(1755)*UV(246)+JVS(1816)*UV(251)& &+JVS(2234)*UV(279)+JVS(2292)*UV(282)+JVS(2324)*UV(283)+JVS(2511)*UV(292)+JVS(3222)*UV(320)+JVS(3385)& &*UV(324)+JVS(3522)*UV(325)+JVS(3568)*UV(326)+JVS(3742)*UV(328)+JVS(4176)*UV(335)+JVS(4485)*UV(337)& &+JVS(5211)*UV(345)+JVS(5334)*UV(346) JTUV(321) = JVS(71)*UV(7)+JVS(295)*UV(34)+JVS(719)*UV(95)+JVS(738)*UV(99)+JVS(1243)*UV(188)+JVS(2293)*UV(282)& &+JVS(2325)*UV(283)+JVS(2705)*UV(298)+JVS(3243)*UV(321)+JVS(3386)*UV(324)+JVS(3523)*UV(325)+JVS(3743)& &*UV(328)+JVS(4177)*UV(335)+JVS(4486)*UV(337)+JVS(5335)*UV(346) JTUV(322) = JVS(72)*UV(7)+JVS(296)*UV(34)+JVS(864)*UV(124)+JVS(1036)*UV(155)+JVS(1151)*UV(173)+JVS(3134)*UV(315)& &+JVS(3244)*UV(321)+JVS(3276)*UV(322)+JVS(3300)*UV(323)+JVS(3387)*UV(324)+JVS(3524)*UV(325)+JVS(3744)& &*UV(328)+JVS(4178)*UV(335)+JVS(4487)*UV(337)+JVS(4791)*UV(341)+JVS(5213)*UV(345)+JVS(5336)*UV(346) JTUV(323) = JVS(73)*UV(7)+JVS(297)*UV(34)+JVS(704)*UV(91)+JVS(742)*UV(100)+JVS(1244)*UV(188)+JVS(2294)*UV(282)& &+JVS(2326)*UV(283)+JVS(2618)*UV(295)+JVS(3301)*UV(323)+JVS(3388)*UV(324)+JVS(3525)*UV(325)+JVS(3745)& &*UV(328)+JVS(4179)*UV(335)+JVS(4488)*UV(337)+JVS(5337)*UV(346) JTUV(324) = JVS(74)*UV(7)+JVS(298)*UV(34)+JVS(708)*UV(92)+JVS(890)*UV(129)+JVS(949)*UV(139)+JVS(978)*UV(145)+JVS(1152)& &*UV(173)+JVS(1533)*UV(225)+JVS(1643)*UV(237)+JVS(1704)*UV(242)+JVS(1799)*UV(249)+JVS(1807)*UV(250)& &+JVS(1852)*UV(255)+JVS(1874)*UV(256)+JVS(1887)*UV(257)+JVS(1923)*UV(260)+JVS(1952)*UV(262)+JVS(1986)& &*UV(263)+JVS(2181)*UV(274)+JVS(2193)*UV(275)+JVS(2209)*UV(277)+JVS(2223)*UV(278)+JVS(2249)*UV(280)& &+JVS(2260)*UV(281)+JVS(2327)*UV(283)+JVS(2467)*UV(289)+JVS(2483)*UV(291)+JVS(2512)*UV(292)+JVS(2587)& &*UV(294)+JVS(2619)*UV(295)+JVS(2642)*UV(296)+JVS(2707)*UV(298)+JVS(2743)*UV(300)+JVS(2762)*UV(301)& &+JVS(2961)*UV(307)+JVS(3006)*UV(309)+JVS(3018)*UV(310)+JVS(3030)*UV(311)+JVS(3082)*UV(313)+JVS(3113)& &*UV(314)+JVS(3136)*UV(315)+JVS(3182)*UV(318)+JVS(3208)*UV(319)+JVS(3223)*UV(320)+JVS(3246)*UV(321)& &+JVS(3278)*UV(322)+JVS(3302)*UV(323)+JVS(3389)*UV(324)+JVS(3526)*UV(325)+JVS(3572)*UV(326)+JVS(3746)& &*UV(328)+JVS(4180)*UV(335)+JVS(4489)*UV(337)+JVS(4793)*UV(341)+JVS(5215)*UV(345)+JVS(5338)*UV(346) JTUV(325) = JVS(409)*UV(35)+JVS(510)*UV(36)+JVS(696)*UV(89)+JVS(1472)*UV(217)+JVS(3527)*UV(325)+JVS(3663)*UV(327)& &+JVS(3868)*UV(329)+JVS(4280)*UV(336)+JVS(4490)*UV(337)+JVS(4622)*UV(339)+JVS(4716)*UV(340)+JVS(4849)& &*UV(342)+JVS(4909)*UV(343)+JVS(5216)*UV(345)+JVS(5412)*UV(348)+JVS(5585)*UV(351)+JVS(5626)*UV(352) JTUV(326) = JVS(410)*UV(35)+JVS(511)*UV(36)+JVS(1565)*UV(228)+JVS(3390)*UV(324)+JVS(3528)*UV(325)+JVS(3573)*UV(326)& &+JVS(3664)*UV(327)+JVS(3747)*UV(328)+JVS(3869)*UV(329)+JVS(4281)*UV(336)+JVS(4491)*UV(337)+JVS(4850)& &*UV(342)+JVS(5217)*UV(345)+JVS(5586)*UV(351)+JVS(5627)*UV(352) JTUV(327) = JVS(299)*UV(34)+JVS(609)*UV(64)+JVS(613)*UV(65)+JVS(1105)*UV(166)+JVS(1188)*UV(179)+JVS(3665)*UV(327)& &+JVS(4182)*UV(335)+JVS(4282)*UV(336)+JVS(5218)*UV(345)+JVS(5587)*UV(351) JTUV(328) = JVS(75)*UV(7)+JVS(300)*UV(34)+JVS(411)*UV(35)+JVS(512)*UV(36)+JVS(617)*UV(66)+JVS(668)*UV(80)+JVS(712)& &*UV(93)+JVS(779)*UV(106)+JVS(796)*UV(110)+JVS(891)*UV(129)+JVS(899)*UV(130)+JVS(937)*UV(136)+JVS(979)& &*UV(145)+JVS(1042)*UV(156)+JVS(1072)*UV(160)+JVS(1077)*UV(161)+JVS(1089)*UV(163)+JVS(1095)*UV(164)& &+JVS(1120)*UV(169)+JVS(1245)*UV(188)+JVS(1341)*UV(203)+JVS(1465)*UV(216)+JVS(1511)*UV(222)+JVS(1534)& &*UV(225)+JVS(1609)*UV(234)+JVS(1620)*UV(235)+JVS(1634)*UV(236)+JVS(1644)*UV(237)+JVS(1657)*UV(238)& &+JVS(1705)*UV(242)+JVS(1800)*UV(249)+JVS(1808)*UV(250)+JVS(1853)*UV(255)+JVS(1875)*UV(256)+JVS(1888)& &*UV(257)+JVS(1924)*UV(260)+JVS(1953)*UV(262)+JVS(1987)*UV(263)+JVS(2063)*UV(267)+JVS(2070)*UV(268)& &+JVS(2147)*UV(272)+JVS(2160)*UV(273)+JVS(2182)*UV(274)+JVS(2194)*UV(275)+JVS(2210)*UV(277)+JVS(2224)& &*UV(278)+JVS(2250)*UV(280)+JVS(2261)*UV(281)+JVS(2296)*UV(282)+JVS(2328)*UV(283)+JVS(2420)*UV(287)& &+JVS(2453)*UV(288)+JVS(2468)*UV(289)+JVS(2484)*UV(291)+JVS(2513)*UV(292)+JVS(2588)*UV(294)+JVS(2620)& &*UV(295)+JVS(2643)*UV(296)+JVS(2708)*UV(298)+JVS(2744)*UV(300)+JVS(2763)*UV(301)+JVS(2829)*UV(304)& &+JVS(2843)*UV(305)+JVS(2900)*UV(306)+JVS(2962)*UV(307)+JVS(2983)*UV(308)+JVS(3007)*UV(309)+JVS(3019)& &*UV(310)+JVS(3031)*UV(311)+JVS(3083)*UV(313)+JVS(3114)*UV(314)+JVS(3137)*UV(315)+JVS(3183)*UV(318)& &+JVS(3209)*UV(319)+JVS(3224)*UV(320)+JVS(3247)*UV(321)+JVS(3279)*UV(322)+JVS(3303)*UV(323)+JVS(3391)& &*UV(324)+JVS(3529)*UV(325)+JVS(3574)*UV(326)+JVS(3748)*UV(328)+JVS(3870)*UV(329)+JVS(4183)*UV(335)& &+JVS(4492)*UV(337)+JVS(4546)*UV(338)+JVS(4718)*UV(340)+JVS(4797)*UV(341)+JVS(5219)*UV(345)+JVS(5341)& &*UV(346)+JVS(5588)*UV(351) JTUV(329) = JVS(76)*UV(7)+JVS(524)*UV(37)+JVS(1693)*UV(241)+JVS(3053)*UV(312)+JVS(3530)*UV(325)+JVS(3575)*UV(326)& &+JVS(3871)*UV(329)+JVS(4493)*UV(337)+JVS(5220)*UV(345) JTUV(330) = JVS(92)*UV(9)+JVS(100)*UV(10)+JVS(412)*UV(35)+JVS(657)*UV(77)+JVS(768)*UV(104)+JVS(2344)*UV(284)+JVS(3888)& &*UV(330)+JVS(3917)*UV(331)+JVS(4285)*UV(336)+JVS(4946)*UV(344)+JVS(5221)*UV(345)+JVS(5443)*UV(349)& &+JVS(5469)*UV(350)+JVS(5660)*UV(353) JTUV(331) = JVS(601)*UV(62)+JVS(642)*UV(73)+JVS(1126)*UV(170)+JVS(1821)*UV(252)+JVS(2345)*UV(284)+JVS(3918)*UV(331)& &+JVS(3937)*UV(332)+JVS(4186)*UV(335)+JVS(4495)*UV(337)+JVS(4799)*UV(341)+JVS(4854)*UV(342)+JVS(5344)& &*UV(346)+JVS(5376)*UV(347)+JVS(5590)*UV(351) JTUV(332) = JVS(93)*UV(9)+JVS(101)*UV(10)+JVS(413)*UV(35)+JVS(658)*UV(77)+JVS(769)*UV(104)+JVS(1127)*UV(170)+JVS(2346)& &*UV(284)+JVS(3668)*UV(327)+JVS(3890)*UV(330)+JVS(3919)*UV(331)+JVS(3938)*UV(332)+JVS(4187)*UV(335)& &+JVS(4287)*UV(336)+JVS(4948)*UV(344)+JVS(5445)*UV(349)+JVS(5471)*UV(350)+JVS(5591)*UV(351)+JVS(5662)& &*UV(353) JTUV(333) = JVS(414)*UV(35)+JVS(533)*UV(38)+JVS(926)*UV(134)+JVS(1050)*UV(157)+JVS(1744)*UV(245)+JVS(3963)*UV(333)& &+JVS(4288)*UV(336)+JVS(4551)*UV(338)+JVS(4628)*UV(339)+JVS(4723)*UV(340)+JVS(4949)*UV(344)+JVS(5224)& &*UV(345)+JVS(5418)*UV(348)+JVS(5630)*UV(352)+JVS(5663)*UV(353) JTUV(334) = JVS(415)*UV(35)+JVS(539)*UV(39)+JVS(564)*UV(46)+JVS(566)*UV(47)+JVS(568)*UV(48)+JVS(570)*UV(49)+JVS(572)& &*UV(50)+JVS(574)*UV(51)+JVS(578)*UV(53)+JVS(580)*UV(54)+JVS(599)*UV(61)+JVS(605)*UV(63)+JVS(662)*UV(78)& &+JVS(671)*UV(81)+JVS(680)*UV(84)+JVS(683)*UV(85)+JVS(686)*UV(86)+JVS(689)*UV(87)+JVS(774)*UV(105)+JVS(1198)& &*UV(181)+JVS(1473)*UV(217)+JVS(1566)*UV(228)+JVS(1745)*UV(245)+JVS(3531)*UV(325)+JVS(3750)*UV(328)& &+JVS(4014)*UV(334)+JVS(4289)*UV(336)+JVS(4497)*UV(337)+JVS(4552)*UV(338)+JVS(4629)*UV(339)+JVS(4724)& &*UV(340)+JVS(4801)*UV(341)+JVS(4857)*UV(342)+JVS(4917)*UV(343)+JVS(5225)*UV(345)+JVS(5346)*UV(346)& &+JVS(5378)*UV(347)+JVS(5631)*UV(352) JTUV(335) = JVS(301)*UV(34)+JVS(416)*UV(35)+JVS(586)*UV(56)+JVS(589)*UV(57)+JVS(594)*UV(59)+JVS(606)*UV(63)+JVS(621)& &*UV(67)+JVS(669)*UV(80)+JVS(701)*UV(90)+JVS(787)*UV(108)+JVS(811)*UV(113)+JVS(815)*UV(114)+JVS(857)*UV(122)& &+JVS(865)*UV(124)+JVS(873)*UV(126)+JVS(950)*UV(139)+JVS(1134)*UV(171)+JVS(1140)*UV(172)+JVS(1215)*UV(184)& &+JVS(1297)*UV(197)+JVS(1342)*UV(203)+JVS(1420)*UV(213)+JVS(1426)*UV(214)+JVS(1482)*UV(218)+JVS(1621)& &*UV(235)+JVS(1635)*UV(236)+JVS(1670)*UV(239)+JVS(1686)*UV(240)+JVS(1694)*UV(241)+JVS(1756)*UV(246)& &+JVS(1793)*UV(248)+JVS(1822)*UV(252)+JVS(1889)*UV(257)+JVS(1915)*UV(259)+JVS(2083)*UV(269)+JVS(2183)& &*UV(274)+JVS(2347)*UV(284)+JVS(2789)*UV(302)+JVS(2984)*UV(308)+JVS(3054)*UV(312)+JVS(3165)*UV(317)& &+JVS(3280)*UV(322)+JVS(3392)*UV(324)+JVS(3532)*UV(325)+JVS(3576)*UV(326)+JVS(3670)*UV(327)+JVS(3751)& &*UV(328)+JVS(3920)*UV(331)+JVS(3939)*UV(332)+JVS(4189)*UV(335)+JVS(4498)*UV(337)+JVS(4553)*UV(338)& &+JVS(4802)*UV(341)+JVS(4858)*UV(342)+JVS(4918)*UV(343)+JVS(5226)*UV(345)+JVS(5347)*UV(346)+JVS(5379)& &*UV(347)+JVS(5593)*UV(351) JTUV(336) = JVS(417)*UV(35)+JVS(547)*UV(40)+JVS(693)*UV(88)+JVS(1427)*UV(214)+JVS(1483)*UV(218)+JVS(1695)*UV(241)& &+JVS(2001)*UV(264)+JVS(2034)*UV(265)+JVS(2331)*UV(283)+JVS(3055)*UV(312)+JVS(3150)*UV(316)+JVS(3166)& &*UV(317)+JVS(3533)*UV(325)+JVS(3577)*UV(326)+JVS(3671)*UV(327)+JVS(3892)*UV(330)+JVS(3940)*UV(332)& &+JVS(3966)*UV(333)+JVS(4016)*UV(334)+JVS(4291)*UV(336)+JVS(5227)*UV(345) JTUV(337) = JVS(77)*UV(7)+JVS(104)*UV(11)+JVS(110)*UV(13)+JVS(121)*UV(16)+JVS(127)*UV(18)+JVS(134)*UV(20)+JVS(140)& &*UV(22)+JVS(153)*UV(25)+JVS(159)*UV(27)+JVS(302)*UV(34)+JVS(418)*UV(35)+JVS(513)*UV(36)+JVS(548)*UV(40)& &+JVS(618)*UV(66)+JVS(635)*UV(71)+JVS(639)*UV(72)+JVS(643)*UV(73)+JVS(647)*UV(74)+JVS(709)*UV(92)+JVS(731)& &*UV(97)+JVS(735)*UV(98)+JVS(739)*UV(99)+JVS(743)*UV(100)+JVS(749)*UV(102)+JVS(788)*UV(108)+JVS(803)*UV(111)& &+JVS(807)*UV(112)+JVS(832)*UV(117)+JVS(837)*UV(118)+JVS(852)*UV(121)+JVS(861)*UV(123)+JVS(869)*UV(125)& &+JVS(900)*UV(130)+JVS(905)*UV(131)+JVS(910)*UV(132)+JVS(915)*UV(133)+JVS(932)*UV(135)+JVS(938)*UV(136)& &+JVS(985)*UV(146)+JVS(1024)*UV(153)+JVS(1037)*UV(155)+JVS(1068)*UV(159)+JVS(1073)*UV(160)+JVS(1078)*UV(161)& &+JVS(1096)*UV(164)+JVS(1101)*UV(165)+JVS(1121)*UV(169)+JVS(1135)*UV(171)+JVS(1141)*UV(172)+JVS(1153)& &*UV(173)+JVS(1159)*UV(174)+JVS(1183)*UV(178)+JVS(1194)*UV(180)+JVS(1204)*UV(182)+JVS(1228)*UV(186)& &+JVS(1232)*UV(187)+JVS(1251)*UV(189)+JVS(1258)*UV(190)+JVS(1267)*UV(192)+JVS(1290)*UV(196)+JVS(1298)& &*UV(197)+JVS(1310)*UV(199)+JVS(1356)*UV(204)+JVS(1364)*UV(205)+JVS(1369)*UV(206)+JVS(1374)*UV(207)& &+JVS(1386)*UV(208)+JVS(1391)*UV(209)+JVS(1401)*UV(210)+JVS(1412)*UV(212)+JVS(1421)*UV(213)+JVS(1466)& &*UV(216)+JVS(1474)*UV(217)+JVS(1512)*UV(222)+JVS(1518)*UV(223)+JVS(1525)*UV(224)+JVS(1543)*UV(226)& &+JVS(1572)*UV(229)+JVS(1593)*UV(232)+JVS(1610)*UV(234)+JVS(1622)*UV(235)+JVS(1636)*UV(236)+JVS(1645)& &*UV(237)+JVS(1687)*UV(240)+JVS(1706)*UV(242)+JVS(1720)*UV(243)+JVS(1736)*UV(244)+JVS(1757)*UV(246)& &+JVS(1778)*UV(247)+JVS(1794)*UV(248)+JVS(1801)*UV(249)+JVS(1809)*UV(250)+JVS(1817)*UV(251)+JVS(1835)& &*UV(253)+JVS(1846)*UV(254)+JVS(1854)*UV(255)+JVS(1876)*UV(256)+JVS(1890)*UV(257)+JVS(1907)*UV(258)& &+JVS(1916)*UV(259)+JVS(1925)*UV(260)+JVS(1943)*UV(261)+JVS(1988)*UV(263)+JVS(2002)*UV(264)+JVS(2129)& &*UV(270)+JVS(2139)*UV(271)+JVS(2148)*UV(272)+JVS(2161)*UV(273)+JVS(2184)*UV(274)+JVS(2195)*UV(275)& &+JVS(2211)*UV(277)+JVS(2226)*UV(278)+JVS(2237)*UV(279)+JVS(2251)*UV(280)+JVS(2262)*UV(281)+JVS(2332)& &*UV(283)+JVS(2348)*UV(284)+JVS(2371)*UV(285)+JVS(2391)*UV(286)+JVS(2422)*UV(287)+JVS(2455)*UV(288)& &+JVS(2469)*UV(289)+JVS(2485)*UV(291)+JVS(2530)*UV(293)+JVS(2590)*UV(294)+JVS(2645)*UV(296)+JVS(2710)& &*UV(298)+JVS(2735)*UV(299)+JVS(2745)*UV(300)+JVS(2790)*UV(302)+JVS(2818)*UV(303)+JVS(2830)*UV(304)& &+JVS(2844)*UV(305)+JVS(2902)*UV(306)+JVS(2964)*UV(307)+JVS(2985)*UV(308)+JVS(3008)*UV(309)+JVS(3020)& &*UV(310)+JVS(3032)*UV(311)+JVS(3085)*UV(313)+JVS(3115)*UV(314)+JVS(3139)*UV(315)+JVS(3151)*UV(316)& &+JVS(3185)*UV(318)+JVS(3211)*UV(319)+JVS(3226)*UV(320)+JVS(3249)*UV(321)+JVS(3281)*UV(322)+JVS(3305)& &*UV(323)+JVS(3393)*UV(324)+JVS(3534)*UV(325)+JVS(3578)*UV(326)+JVS(3753)*UV(328)+JVS(3875)*UV(329)& &+JVS(3893)*UV(330)+JVS(3922)*UV(331)+JVS(3967)*UV(333)+JVS(4191)*UV(335)+JVS(4292)*UV(336)+JVS(4500)& &*UV(337)+JVS(4555)*UV(338)+JVS(4632)*UV(339)+JVS(4727)*UV(340)+JVS(4804)*UV(341)+JVS(4860)*UV(342)& &+JVS(4920)*UV(343)+JVS(5228)*UV(345)+JVS(5349)*UV(346)+JVS(5381)*UV(347)+JVS(5595)*UV(351)+JVS(5634)& &*UV(352) JTUV(338) = JVS(419)*UV(35)+JVS(653)*UV(76)+JVS(770)*UV(104)+JVS(797)*UV(110)+JVS(846)*UV(120)+JVS(1051)*UV(157)& &+JVS(1746)*UV(245)+JVS(2349)*UV(284)+JVS(3167)*UV(317)+JVS(3535)*UV(325)+JVS(3754)*UV(328)+JVS(3923)& &*UV(331)+JVS(3968)*UV(333)+JVS(4192)*UV(335)+JVS(4501)*UV(337)+JVS(4556)*UV(338)+JVS(4633)*UV(339)& &+JVS(4728)*UV(340)+JVS(4861)*UV(342)+JVS(4921)*UV(343)+JVS(5229)*UV(345)+JVS(5350)*UV(346)+JVS(5382)& &*UV(347) JTUV(339) = JVS(420)*UV(35)+JVS(1052)*UV(157)+JVS(1106)*UV(166)+JVS(1189)*UV(179)+JVS(1428)*UV(214)+JVS(1475)*UV(217)& &+JVS(1484)*UV(218)+JVS(1671)*UV(239)+JVS(1747)*UV(245)+JVS(2656)*UV(297)+JVS(3152)*UV(316)+JVS(3168)& &*UV(317)+JVS(3674)*UV(327)+JVS(3969)*UV(333)+JVS(4019)*UV(334)+JVS(4294)*UV(336)+JVS(4557)*UV(338)& &+JVS(4634)*UV(339)+JVS(4729)*UV(340)+JVS(4922)*UV(343)+JVS(4955)*UV(344)+JVS(5230)*UV(345)+JVS(5669)& &*UV(353) JTUV(340) = JVS(78)*UV(7)+JVS(303)*UV(34)+JVS(514)*UV(36)+JVS(540)*UV(39)+JVS(650)*UV(75)+JVS(665)*UV(79)+JVS(798)& &*UV(110)+JVS(957)*UV(141)+JVS(961)*UV(142)+JVS(1043)*UV(156)+JVS(1097)*UV(164)+JVS(1199)*UV(181)+JVS(1208)& &*UV(183)+JVS(1476)*UV(217)+JVS(1567)*UV(228)+JVS(1748)*UV(245)+JVS(1926)*UV(260)+JVS(2003)*UV(264)& &+JVS(2036)*UV(265)+JVS(2201)*UV(276)+JVS(2299)*UV(282)+JVS(2333)*UV(283)+JVS(2476)*UV(290)+JVS(2623)& &*UV(295)+JVS(2646)*UV(296)+JVS(2746)*UV(300)+JVS(2831)*UV(304)+JVS(2845)*UV(305)+JVS(3086)*UV(313)& &+JVS(3140)*UV(315)+JVS(3169)*UV(317)+JVS(3250)*UV(321)+JVS(3306)*UV(323)+JVS(3536)*UV(325)+JVS(3579)& &*UV(326)+JVS(3755)*UV(328)+JVS(3877)*UV(329)+JVS(4295)*UV(336)+JVS(4503)*UV(337)+JVS(4558)*UV(338)& &+JVS(4635)*UV(339)+JVS(4730)*UV(340)+JVS(4807)*UV(341)+JVS(5231)*UV(345)+JVS(5598)*UV(351) JTUV(341) = JVS(79)*UV(7)+JVS(167)*UV(29)+JVS(421)*UV(35)+JVS(515)*UV(36)+JVS(534)*UV(38)+JVS(549)*UV(40)+JVS(792)& &*UV(109)+JVS(821)*UV(115)+JVS(893)*UV(129)+JVS(927)*UV(134)+JVS(953)*UV(140)+JVS(966)*UV(143)+JVS(1030)& &*UV(154)+JVS(1090)*UV(163)+JVS(1107)*UV(166)+JVS(1110)*UV(167)+JVS(1176)*UV(177)+JVS(1190)*UV(179)& &+JVS(1262)*UV(191)+JVS(1271)*UV(193)+JVS(1321)*UV(201)+JVS(1329)*UV(202)+JVS(1344)*UV(203)+JVS(1357)& &*UV(204)+JVS(1406)*UV(211)+JVS(1477)*UV(217)+JVS(1488)*UV(219)+JVS(1492)*UV(220)+JVS(1505)*UV(221)& &+JVS(1536)*UV(225)+JVS(1568)*UV(228)+JVS(1573)*UV(229)+JVS(1600)*UV(233)+JVS(1637)*UV(236)+JVS(1646)& &*UV(237)+JVS(1696)*UV(241)+JVS(1707)*UV(242)+JVS(1855)*UV(255)+JVS(1955)*UV(262)+JVS(1989)*UV(263)& &+JVS(2004)*UV(264)+JVS(2037)*UV(265)+JVS(2130)*UV(270)+JVS(2149)*UV(272)+JVS(2162)*UV(273)+JVS(2185)& &*UV(274)+JVS(2202)*UV(276)+JVS(2212)*UV(277)+JVS(2334)*UV(283)+JVS(2350)*UV(284)+JVS(2477)*UV(290)& &+JVS(2516)*UV(292)+JVS(2592)*UV(294)+JVS(2624)*UV(295)+JVS(2712)*UV(298)+JVS(2904)*UV(306)+JVS(3010)& &*UV(309)+JVS(3058)*UV(312)+JVS(3117)*UV(314)+JVS(3153)*UV(316)+JVS(3228)*UV(320)+JVS(3395)*UV(324)& &+JVS(3537)*UV(325)+JVS(3580)*UV(326)+JVS(3756)*UV(328)+JVS(3878)*UV(329)+JVS(3924)*UV(331)+JVS(4021)& &*UV(334)+JVS(4195)*UV(335)+JVS(4504)*UV(337)+JVS(4559)*UV(338)+JVS(4731)*UV(340)+JVS(4808)*UV(341)& &+JVS(4864)*UV(342)+JVS(4924)*UV(343)+JVS(5232)*UV(345)+JVS(5353)*UV(346)+JVS(5385)*UV(347)+JVS(5426)& &*UV(348)+JVS(5452)*UV(349)+JVS(5478)*UV(350)+JVS(5599)*UV(351)+JVS(5638)*UV(352) JTUV(342) = JVS(516)*UV(36)+JVS(595)*UV(59)+JVS(958)*UV(141)+JVS(995)*UV(148)+JVS(1209)*UV(183)+JVS(1485)*UV(218)& &+JVS(1927)*UV(260)+JVS(2478)*UV(290)+JVS(2625)*UV(295)+JVS(2648)*UV(296)+JVS(3088)*UV(313)+JVS(3252)& &*UV(321)+JVS(3396)*UV(324)+JVS(3538)*UV(325)+JVS(3581)*UV(326)+JVS(3879)*UV(329)+JVS(4196)*UV(335)& &+JVS(4505)*UV(337)+JVS(4809)*UV(341)+JVS(4865)*UV(342)+JVS(5386)*UV(347)+JVS(5600)*UV(351)+JVS(5639)& &*UV(352) JTUV(343) = JVS(422)*UV(35)+JVS(517)*UV(36)+JVS(624)*UV(68)+JVS(1478)*UV(217)+JVS(2005)*UV(264)+JVS(3155)*UV(316)& &+JVS(3170)*UV(317)+JVS(3539)*UV(325)+JVS(3880)*UV(329)+JVS(4197)*UV(335)+JVS(4506)*UV(337)+JVS(4561)& &*UV(338)+JVS(4733)*UV(340)+JVS(4810)*UV(341)+JVS(4866)*UV(342)+JVS(4926)*UV(343)+JVS(5234)*UV(345)& &+JVS(5355)*UV(346)+JVS(5387)*UV(347)+JVS(5428)*UV(348)+JVS(5601)*UV(351)+JVS(5640)*UV(352) JTUV(344) = JVS(423)*UV(35)+JVS(771)*UV(104)+JVS(1053)*UV(157)+JVS(1429)*UV(214)+JVS(1673)*UV(239)+JVS(1749)*UV(245)& &+JVS(1823)*UV(252)+JVS(2657)*UV(297)+JVS(3156)*UV(316)+JVS(3171)*UV(317)+JVS(3679)*UV(327)+JVS(3896)& &*UV(330)+JVS(3944)*UV(332)+JVS(3974)*UV(333)+JVS(4299)*UV(336)+JVS(4960)*UV(344)+JVS(5235)*UV(345) JTUV(345) = JVS(13)*UV(6)+JVS(80)*UV(7)+JVS(111)*UV(13)+JVS(115)*UV(14)+JVS(128)*UV(18)+JVS(131)*UV(19)+JVS(141)& &*UV(22)+JVS(150)*UV(24)+JVS(160)*UV(27)+JVS(164)*UV(28)+JVS(182)*UV(32)+JVS(186)*UV(33)+JVS(304)*UV(34)& &+JVS(424)*UV(35)+JVS(518)*UV(36)+JVS(525)*UV(37)+JVS(535)*UV(38)+JVS(541)*UV(39)+JVS(550)*UV(40)+JVS(552)& &*UV(41)+JVS(556)*UV(43)+JVS(576)*UV(52)+JVS(592)*UV(58)+JVS(597)*UV(60)+JVS(619)*UV(66)+JVS(625)*UV(68)& &+JVS(627)*UV(69)+JVS(631)*UV(70)+JVS(636)*UV(71)+JVS(640)*UV(72)+JVS(644)*UV(73)+JVS(648)*UV(74)+JVS(651)& &*UV(75)+JVS(654)*UV(76)+JVS(663)*UV(78)+JVS(666)*UV(79)+JVS(672)*UV(81)+JVS(674)*UV(82)+JVS(677)*UV(83)& &+JVS(681)*UV(84)+JVS(684)*UV(85)+JVS(687)*UV(86)+JVS(690)*UV(87)+JVS(694)*UV(88)+JVS(697)*UV(89)+JVS(702)& &*UV(90)+JVS(705)*UV(91)+JVS(710)*UV(92)+JVS(713)*UV(93)+JVS(716)*UV(94)+JVS(720)*UV(95)+JVS(732)*UV(97)& &+JVS(736)*UV(98)+JVS(740)*UV(99)+JVS(744)*UV(100)+JVS(746)*UV(101)+JVS(750)*UV(102)+JVS(775)*UV(105)& &+JVS(785)*UV(107)+JVS(789)*UV(108)+JVS(793)*UV(109)+JVS(799)*UV(110)+JVS(804)*UV(111)+JVS(808)*UV(112)& &+JVS(812)*UV(113)+JVS(816)*UV(114)+JVS(822)*UV(115)+JVS(825)*UV(116)+JVS(833)*UV(117)+JVS(838)*UV(118)& &+JVS(843)*UV(119)+JVS(847)*UV(120)+JVS(853)*UV(121)+JVS(858)*UV(122)+JVS(862)*UV(123)+JVS(866)*UV(124)& &+JVS(870)*UV(125)+JVS(874)*UV(126)+JVS(877)*UV(127)+JVS(884)*UV(128)+JVS(894)*UV(129)+JVS(901)*UV(130)& &+JVS(906)*UV(131)+JVS(911)*UV(132)+JVS(916)*UV(133)+JVS(928)*UV(134)+JVS(933)*UV(135)+JVS(939)*UV(136)& &+JVS(942)*UV(137)+JVS(946)*UV(138)+JVS(951)*UV(139)+JVS(954)*UV(140)+JVS(959)*UV(141)+JVS(962)*UV(142)& &+JVS(967)*UV(143)+JVS(972)*UV(144)+JVS(986)*UV(146)+JVS(991)*UV(147)+JVS(996)*UV(148)+JVS(1002)*UV(149)& &+JVS(1008)*UV(150)+JVS(1014)*UV(151)+JVS(1020)*UV(152)+JVS(1025)*UV(153)+JVS(1031)*UV(154)+JVS(1038)& &*UV(155)+JVS(1044)*UV(156)+JVS(1064)*UV(158)+JVS(1069)*UV(159)+JVS(1074)*UV(160)+JVS(1079)*UV(161)& &+JVS(1084)*UV(162)+JVS(1091)*UV(163)+JVS(1098)*UV(164)+JVS(1102)*UV(165)+JVS(1111)*UV(167)+JVS(1115)& &*UV(168)+JVS(1122)*UV(169)+JVS(1128)*UV(170)+JVS(1154)*UV(173)+JVS(1160)*UV(174)+JVS(1163)*UV(175)& &+JVS(1169)*UV(176)+JVS(1177)*UV(177)+JVS(1184)*UV(178)+JVS(1195)*UV(180)+JVS(1200)*UV(181)+JVS(1205)& &*UV(182)+JVS(1210)*UV(183)+JVS(1216)*UV(184)+JVS(1225)*UV(185)+JVS(1229)*UV(186)+JVS(1233)*UV(187)& &+JVS(1246)*UV(188)+JVS(1252)*UV(189)+JVS(1259)*UV(190)+JVS(1263)*UV(191)+JVS(1268)*UV(192)+JVS(1272)& &*UV(193)+JVS(1280)*UV(194)+JVS(1285)*UV(195)+JVS(1291)*UV(196)+JVS(1299)*UV(197)+JVS(1307)*UV(198)& &+JVS(1311)*UV(199)+JVS(1313)*UV(200)+JVS(1322)*UV(201)+JVS(1330)*UV(202)+JVS(1345)*UV(203)+JVS(1358)& &*UV(204)+JVS(1365)*UV(205)+JVS(1370)*UV(206)+JVS(1375)*UV(207)+JVS(1387)*UV(208)+JVS(1392)*UV(209)& &+JVS(1402)*UV(210)+JVS(1407)*UV(211)+JVS(1414)*UV(212)+JVS(1422)*UV(213)+JVS(1455)*UV(215)+JVS(1467)& &*UV(216)+JVS(1479)*UV(217)+JVS(1489)*UV(219)+JVS(1493)*UV(220)+JVS(1506)*UV(221)+JVS(1513)*UV(222)& &+JVS(1519)*UV(223)+JVS(1526)*UV(224)+JVS(1537)*UV(225)+JVS(1544)*UV(226)+JVS(1561)*UV(227)+JVS(1569)& &*UV(228)+JVS(1574)*UV(229)+JVS(1581)*UV(230)+JVS(1587)*UV(231)+JVS(1594)*UV(232)+JVS(1601)*UV(233)& &+JVS(1612)*UV(234)+JVS(1624)*UV(235)+JVS(1638)*UV(236)+JVS(1647)*UV(237)+JVS(1659)*UV(238)+JVS(1674)& &*UV(239)+JVS(1688)*UV(240)+JVS(1708)*UV(242)+JVS(1721)*UV(243)+JVS(1737)*UV(244)+JVS(1750)*UV(245)& &+JVS(1779)*UV(247)+JVS(1795)*UV(248)+JVS(1802)*UV(249)+JVS(1810)*UV(250)+JVS(1818)*UV(251)+JVS(1836)& &*UV(253)+JVS(1847)*UV(254)+JVS(1856)*UV(255)+JVS(1878)*UV(256)+JVS(1892)*UV(257)+JVS(1908)*UV(258)& &+JVS(1917)*UV(259)+JVS(1928)*UV(260)+JVS(1944)*UV(261)+JVS(1956)*UV(262)+JVS(1990)*UV(263)+JVS(2006)& &*UV(264)+JVS(2038)*UV(265)+JVS(2058)*UV(266)+JVS(2064)*UV(267)+JVS(2071)*UV(268)+JVS(2086)*UV(269)& &+JVS(2131)*UV(270)+JVS(2140)*UV(271)+JVS(2150)*UV(272)+JVS(2163)*UV(273)+JVS(2186)*UV(274)+JVS(2197)& &*UV(275)+JVS(2203)*UV(276)+JVS(2213)*UV(277)+JVS(2228)*UV(278)+JVS(2238)*UV(279)+JVS(2264)*UV(281)& &+JVS(2302)*UV(282)+JVS(2336)*UV(283)+JVS(2351)*UV(284)+JVS(2372)*UV(285)+JVS(2392)*UV(286)+JVS(2425)& &*UV(287)+JVS(2458)*UV(288)+JVS(2479)*UV(290)+JVS(2487)*UV(291)+JVS(2517)*UV(292)+JVS(2531)*UV(293)& &+JVS(2594)*UV(294)+JVS(2626)*UV(295)+JVS(2649)*UV(296)+JVS(2658)*UV(297)+JVS(2714)*UV(298)+JVS(2736)& &*UV(299)+JVS(2748)*UV(300)+JVS(2765)*UV(301)+JVS(2793)*UV(302)+JVS(2819)*UV(303)+JVS(2833)*UV(304)& &+JVS(2847)*UV(305)+JVS(2905)*UV(306)+JVS(2968)*UV(307)+JVS(2988)*UV(308)+JVS(3011)*UV(309)+JVS(3023)& &*UV(310)+JVS(3035)*UV(311)+JVS(3089)*UV(313)+JVS(3118)*UV(314)+JVS(3143)*UV(315)+JVS(3157)*UV(316)& &+JVS(3172)*UV(317)+JVS(3187)*UV(318)+JVS(3214)*UV(319)+JVS(3229)*UV(320)+JVS(3253)*UV(321)+JVS(3285)& &*UV(322)+JVS(3309)*UV(323)+JVS(3397)*UV(324)+JVS(3540)*UV(325)+JVS(3582)*UV(326)+JVS(3680)*UV(327)& &+JVS(3758)*UV(328)+JVS(3881)*UV(329)+JVS(3897)*UV(330)+JVS(3926)*UV(331)+JVS(3975)*UV(333)+JVS(4199)& &*UV(335)+JVS(4300)*UV(336)+JVS(4508)*UV(337)+JVS(4563)*UV(338)+JVS(4640)*UV(339)+JVS(4735)*UV(340)& &+JVS(4812)*UV(341)+JVS(4868)*UV(342)+JVS(4928)*UV(343)+JVS(4961)*UV(344)+JVS(5236)*UV(345)+JVS(5357)& &*UV(346)+JVS(5389)*UV(347)+JVS(5430)*UV(348)+JVS(5603)*UV(351)+JVS(5642)*UV(352)+JVS(5675)*UV(353) JTUV(346) = JVS(81)*UV(7)+JVS(107)*UV(12)+JVS(112)*UV(13)+JVS(124)*UV(17)+JVS(129)*UV(18)+JVS(137)*UV(21)+JVS(142)& &*UV(22)+JVS(156)*UV(26)+JVS(161)*UV(27)+JVS(305)*UV(34)+JVS(519)*UV(36)+JVS(602)*UV(62)+JVS(622)*UV(67)& &+JVS(632)*UV(70)+JVS(678)*UV(83)+JVS(706)*UV(91)+JVS(714)*UV(93)+JVS(721)*UV(95)+JVS(727)*UV(96)+JVS(780)& &*UV(106)+JVS(826)*UV(116)+JVS(854)*UV(121)+JVS(878)*UV(127)+JVS(895)*UV(129)+JVS(907)*UV(131)+JVS(912)& &*UV(132)+JVS(917)*UV(133)+JVS(934)*UV(135)+JVS(943)*UV(137)+JVS(947)*UV(138)+JVS(980)*UV(145)+JVS(987)& &*UV(146)+JVS(1026)*UV(153)+JVS(1085)*UV(162)+JVS(1092)*UV(163)+JVS(1103)*UV(165)+JVS(1116)*UV(168)& &+JVS(1136)*UV(171)+JVS(1142)*UV(172)+JVS(1164)*UV(175)+JVS(1170)*UV(176)+JVS(1178)*UV(177)+JVS(1185)& &*UV(178)+JVS(1196)*UV(180)+JVS(1206)*UV(182)+JVS(1253)*UV(189)+JVS(1260)*UV(190)+JVS(1273)*UV(193)& &+JVS(1292)*UV(196)+JVS(1300)*UV(197)+JVS(1346)*UV(203)+JVS(1359)*UV(204)+JVS(1366)*UV(205)+JVS(1371)& &*UV(206)+JVS(1376)*UV(207)+JVS(1388)*UV(208)+JVS(1403)*UV(210)+JVS(1408)*UV(211)+JVS(1415)*UV(212)& &+JVS(1423)*UV(213)+JVS(1468)*UV(216)+JVS(1520)*UV(223)+JVS(1527)*UV(224)+JVS(1538)*UV(225)+JVS(1545)& &*UV(226)+JVS(1595)*UV(232)+JVS(1602)*UV(233)+JVS(1613)*UV(234)+JVS(1625)*UV(235)+JVS(1639)*UV(236)& &+JVS(1648)*UV(237)+JVS(1660)*UV(238)+JVS(1675)*UV(239)+JVS(1689)*UV(240)+JVS(1697)*UV(241)+JVS(1722)& &*UV(243)+JVS(1738)*UV(244)+JVS(1759)*UV(246)+JVS(1780)*UV(247)+JVS(1796)*UV(248)+JVS(1803)*UV(249)& &+JVS(1811)*UV(250)+JVS(1819)*UV(251)+JVS(1837)*UV(253)+JVS(1848)*UV(254)+JVS(1857)*UV(255)+JVS(1879)& &*UV(256)+JVS(1893)*UV(257)+JVS(1918)*UV(259)+JVS(1929)*UV(260)+JVS(1945)*UV(261)+JVS(1957)*UV(262)& &+JVS(1991)*UV(263)+JVS(2059)*UV(266)+JVS(2065)*UV(267)+JVS(2072)*UV(268)+JVS(2132)*UV(270)+JVS(2141)& &*UV(271)+JVS(2151)*UV(272)+JVS(2164)*UV(273)+JVS(2187)*UV(274)+JVS(2198)*UV(275)+JVS(2214)*UV(277)& &+JVS(2229)*UV(278)+JVS(2239)*UV(279)+JVS(2254)*UV(280)+JVS(2265)*UV(281)+JVS(2352)*UV(284)+JVS(2373)& &*UV(285)+JVS(2393)*UV(286)+JVS(2426)*UV(287)+JVS(2459)*UV(288)+JVS(2472)*UV(289)+JVS(2488)*UV(291)& &+JVS(2518)*UV(292)+JVS(2532)*UV(293)+JVS(2595)*UV(294)+JVS(2627)*UV(295)+JVS(2650)*UV(296)+JVS(2715)& &*UV(298)+JVS(2737)*UV(299)+JVS(2749)*UV(300)+JVS(2766)*UV(301)+JVS(2794)*UV(302)+JVS(2820)*UV(303)& &+JVS(2834)*UV(304)+JVS(2848)*UV(305)+JVS(2906)*UV(306)+JVS(2969)*UV(307)+JVS(2989)*UV(308)+JVS(3012)& &*UV(309)+JVS(3024)*UV(310)+JVS(3036)*UV(311)+JVS(3061)*UV(312)+JVS(3090)*UV(313)+JVS(3119)*UV(314)& &+JVS(3144)*UV(315)+JVS(3188)*UV(318)+JVS(3215)*UV(319)+JVS(3230)*UV(320)+JVS(3254)*UV(321)+JVS(3286)& &*UV(322)+JVS(3310)*UV(323)+JVS(3398)*UV(324)+JVS(3541)*UV(325)+JVS(3583)*UV(326)+JVS(3759)*UV(328)& &+JVS(3882)*UV(329)+JVS(3927)*UV(331)+JVS(4200)*UV(335)+JVS(4509)*UV(337)+JVS(4564)*UV(338)+JVS(4736)& &*UV(340)+JVS(4813)*UV(341)+JVS(4869)*UV(342)+JVS(4929)*UV(343)+JVS(5237)*UV(345)+JVS(5358)*UV(346)& &+JVS(5390)*UV(347)+JVS(5604)*UV(351) JTUV(347) = JVS(425)*UV(35)+JVS(728)*UV(96)+JVS(800)*UV(110)+JVS(848)*UV(120)+JVS(997)*UV(148)+JVS(1054)*UV(157)& &+JVS(1486)*UV(218)+JVS(2353)*UV(284)+JVS(3158)*UV(316)+JVS(3928)*UV(331)+JVS(4201)*UV(335)+JVS(4510)& &*UV(337)+JVS(4565)*UV(338)+JVS(4870)*UV(342)+JVS(4930)*UV(343)+JVS(5238)*UV(345)+JVS(5359)*UV(346)& &+JVS(5391)*UV(347) JTUV(348) = JVS(168)*UV(29)+JVS(183)*UV(32)+JVS(187)*UV(33)+JVS(426)*UV(35)+JVS(536)*UV(38)+JVS(698)*UV(89)+JVS(929)& &*UV(134)+JVS(1108)*UV(166)+JVS(1191)*UV(179)+JVS(1698)*UV(241)+JVS(2008)*UV(264)+JVS(3062)*UV(312)& &+JVS(3159)*UV(316)+JVS(3542)*UV(325)+JVS(3584)*UV(326)+JVS(3978)*UV(333)+JVS(4511)*UV(337)+JVS(4643)& &*UV(339)+JVS(4815)*UV(341)+JVS(5239)*UV(345)+JVS(5433)*UV(348)+JVS(5645)*UV(352) JTUV(349) = JVS(427)*UV(35)+JVS(659)*UV(77)+JVS(998)*UV(148)+JVS(1055)*UV(157)+JVS(1677)*UV(239)+JVS(1824)*UV(252)& &+JVS(2659)*UV(297)+JVS(3160)*UV(316)+JVS(3173)*UV(317)+JVS(3684)*UV(327)+JVS(3900)*UV(330)+JVS(3948)& &*UV(332)+JVS(4816)*UV(341)+JVS(5460)*UV(349) JTUV(350) = JVS(428)*UV(35)+JVS(660)*UV(77)+JVS(999)*UV(148)+JVS(1056)*UV(157)+JVS(1678)*UV(239)+JVS(1825)*UV(252)& &+JVS(2660)*UV(297)+JVS(3161)*UV(316)+JVS(3174)*UV(317)+JVS(3685)*UV(327)+JVS(3901)*UV(330)+JVS(3949)& &*UV(332)+JVS(4817)*UV(341)+JVS(5487)*UV(350) JTUV(351) = JVS(82)*UV(7)+JVS(118)*UV(15)+JVS(429)*UV(35)+JVS(520)*UV(36)+JVS(610)*UV(64)+JVS(614)*UV(65)+JVS(628)& &*UV(69)+JVS(717)*UV(94)+JVS(781)*UV(106)+JVS(896)*UV(129)+JVS(955)*UV(140)+JVS(963)*UV(142)+JVS(981)& &*UV(145)+JVS(1003)*UV(149)+JVS(1032)*UV(154)+JVS(1065)*UV(158)+JVS(1093)*UV(163)+JVS(1112)*UV(167)& &+JVS(1130)*UV(170)+JVS(1179)*UV(177)+JVS(1186)*UV(178)+JVS(1211)*UV(183)+JVS(1264)*UV(191)+JVS(1274)& &*UV(193)+JVS(1286)*UV(195)+JVS(1314)*UV(200)+JVS(1323)*UV(201)+JVS(1331)*UV(202)+JVS(1347)*UV(203)& &+JVS(1360)*UV(204)+JVS(1409)*UV(211)+JVS(1424)*UV(213)+JVS(1430)*UV(214)+JVS(1490)*UV(219)+JVS(1494)& &*UV(220)+JVS(1507)*UV(221)+JVS(1539)*UV(225)+JVS(1575)*UV(229)+JVS(1603)*UV(233)+JVS(1614)*UV(234)& &+JVS(1626)*UV(235)+JVS(1640)*UV(236)+JVS(1649)*UV(237)+JVS(1710)*UV(242)+JVS(1781)*UV(247)+JVS(1812)& &*UV(250)+JVS(1858)*UV(255)+JVS(1880)*UV(256)+JVS(1894)*UV(257)+JVS(1919)*UV(259)+JVS(1946)*UV(261)& &+JVS(1958)*UV(262)+JVS(1992)*UV(263)+JVS(2088)*UV(269)+JVS(2133)*UV(270)+JVS(2152)*UV(272)+JVS(2165)& &*UV(273)+JVS(2188)*UV(274)+JVS(2199)*UV(275)+JVS(2204)*UV(276)+JVS(2215)*UV(277)+JVS(2230)*UV(278)& &+JVS(2255)*UV(280)+JVS(2266)*UV(281)+JVS(2473)*UV(289)+JVS(2480)*UV(290)+JVS(2489)*UV(291)+JVS(2519)& &*UV(292)+JVS(2596)*UV(294)+JVS(2628)*UV(295)+JVS(2651)*UV(296)+JVS(2716)*UV(298)+JVS(2750)*UV(300)& &+JVS(2767)*UV(301)+JVS(2907)*UV(306)+JVS(2970)*UV(307)+JVS(2990)*UV(308)+JVS(3013)*UV(309)+JVS(3025)& &*UV(310)+JVS(3037)*UV(311)+JVS(3120)*UV(314)+JVS(3189)*UV(318)+JVS(3216)*UV(319)+JVS(3231)*UV(320)& &+JVS(3287)*UV(322)+JVS(3399)*UV(324)+JVS(3543)*UV(325)+JVS(3585)*UV(326)+JVS(3686)*UV(327)+JVS(3761)& &*UV(328)+JVS(3884)*UV(329)+JVS(3931)*UV(331)+JVS(3950)*UV(332)+JVS(4205)*UV(335)+JVS(4514)*UV(337)& &+JVS(4874)*UV(342)+JVS(4934)*UV(343)+JVS(5242)*UV(345)+JVS(5363)*UV(346)+JVS(5395)*UV(347)+JVS(5436)& &*UV(348)+JVS(5609)*UV(351) JTUV(352) = JVS(430)*UV(35)+JVS(1000)*UV(148)+JVS(1057)*UV(157)+JVS(1480)*UV(217)+JVS(1680)*UV(239)+JVS(2662)*UV(297)& &+JVS(3162)*UV(316)+JVS(3175)*UV(317)+JVS(3687)*UV(327)+JVS(3982)*UV(333)+JVS(4032)*UV(334)+JVS(4307)& &*UV(336)+JVS(4819)*UV(341)+JVS(4875)*UV(342)+JVS(4935)*UV(343)+JVS(5243)*UV(345)+JVS(5396)*UV(347)& &+JVS(5463)*UV(349)+JVS(5489)*UV(350)+JVS(5649)*UV(352) JTUV(353) = JVS(431)*UV(35)+JVS(772)*UV(104)+JVS(1058)*UV(157)+JVS(1431)*UV(214)+JVS(1681)*UV(239)+JVS(1752)*UV(245)& &+JVS(1826)*UV(252)+JVS(2663)*UV(297)+JVS(3163)*UV(316)+JVS(3176)*UV(317)+JVS(3688)*UV(327)+JVS(3903)& &*UV(330)+JVS(3951)*UV(332)+JVS(3983)*UV(333)+JVS(4308)*UV(336)+JVS(5244)*UV(345)+JVS(5683)*UV(353) END SUBROUTINE JacTR_SP_Vec ! End of JacTR_SP_Vec function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ END MODULE gckpp_Jacobian ================================================ FILE: KPP/fullchem/gckpp_JacobianSP.F90 ================================================ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Sparse Jacobian Data Structures File ! ! Generated by KPP-3.2.0 symbolic chemistry Kinetics PreProcessor ! (https:/github.com/KineticPreProcessor/KPP ! KPP is distributed under GPL, the general public licence ! (http://www.gnu.org/copyleft/gpl.html) ! (C) 1995-1997, V. Damian & A. Sandu, CGRER, Univ. Iowa ! (C) 1997-2022, A. Sandu, Michigan Tech, Virginia Tech ! With important contributions from: ! M. Damian, Villanova University, Philadelphia, PA, USA ! R. Sander, Max-Planck Institute for Chemistry, Mainz, Germany ! M. Long, Renaissance Fiber, LLC, North Carolina, USA ! H. Lin, Harvard University, Cambridge, MA, USA ! R. Yantosca, Harvard University, Cambridge, MA, USA ! ! File : gckpp_JacobianSP.F90 ! Equation file : gckpp.kpp ! Output root filename : gckpp ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MODULE gckpp_JacobianSP PUBLIC SAVE ! Sparse Jacobian Data INTEGER, PARAMETER, DIMENSION(360) :: LU_IROW_0 = (/ & 1, 2, 3, 4, 4, 4, 4, 4, 5, 5, 6, 6, & ! index 1 - 12 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, & ! index 13 - 24 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, & ! index 25 - 36 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, & ! index 37 - 48 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, & ! index 49 - 60 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, & ! index 61 - 72 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, & ! index 73 - 84 8, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, & ! index 85 - 96 10, 10, 10, 10, 10, 11, 11, 11, 12, 12, 12, 13, & ! index 97 - 108 13, 13, 13, 13, 14, 14, 14, 15, 15, 15, 16, 16, & ! index 109 - 120 16, 17, 17, 17, 18, 18, 18, 18, 18, 19, 19, 20, & ! index 121 - 132 20, 20, 21, 21, 21, 22, 22, 22, 22, 22, 23, 23, & ! index 133 - 144 24, 24, 24, 24, 24, 24, 25, 25, 25, 26, 26, 26, & ! index 145 - 156 27, 27, 27, 27, 27, 28, 28, 28, 29, 29, 29, 29, & ! index 157 - 168 30, 30, 30, 30, 31, 31, 31, 31, 31, 31, 32, 32, & ! index 169 - 180 32, 32, 32, 33, 33, 33, 33, 34, 34, 34, 34, 34, & ! index 181 - 192 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, & ! index 193 - 204 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, & ! index 205 - 216 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, & ! index 217 - 228 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, & ! index 229 - 240 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, & ! index 241 - 252 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, & ! index 253 - 264 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, & ! index 265 - 276 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, & ! index 277 - 288 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, & ! index 289 - 300 34, 34, 34, 34, 34, 35, 35, 35, 35, 35, 35, 35, & ! index 301 - 312 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, & ! index 313 - 324 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, & ! index 325 - 336 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, & ! index 337 - 348 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35 /) ! index up to 360 INTEGER, PARAMETER, DIMENSION(360) :: LU_IROW_1 = (/ & 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, & ! index 361 - 372 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, & ! index 373 - 384 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, & ! index 385 - 396 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, & ! index 397 - 408 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, & ! index 409 - 420 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 36, & ! index 421 - 432 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, & ! index 433 - 444 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, & ! index 445 - 456 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, & ! index 457 - 468 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, & ! index 469 - 480 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, & ! index 481 - 492 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, & ! index 493 - 504 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, & ! index 505 - 516 36, 36, 36, 36, 37, 37, 37, 37, 37, 38, 38, 38, & ! index 517 - 528 38, 38, 38, 38, 38, 38, 38, 38, 39, 39, 39, 39, & ! index 529 - 540 39, 40, 40, 40, 40, 40, 40, 40, 40, 40, 41, 41, & ! index 541 - 552 42, 42, 43, 43, 44, 44, 45, 45, 45, 45, 46, 46, & ! index 553 - 564 47, 47, 48, 48, 49, 49, 50, 50, 51, 51, 52, 52, & ! index 565 - 576 53, 53, 54, 54, 55, 55, 55, 56, 56, 56, 57, 57, & ! index 577 - 588 57, 58, 58, 58, 59, 59, 59, 60, 60, 61, 61, 62, & ! index 589 - 600 62, 62, 63, 63, 63, 63, 64, 64, 64, 64, 65, 65, & ! index 601 - 612 65, 65, 66, 66, 66, 66, 66, 67, 67, 67, 68, 68, & ! index 613 - 624 68, 69, 69, 69, 70, 70, 70, 70, 71, 71, 71, 71, & ! index 625 - 636 72, 72, 72, 72, 73, 73, 73, 73, 74, 74, 74, 74, & ! index 637 - 648 75, 75, 75, 76, 76, 76, 77, 77, 77, 77, 77, 77, & ! index 649 - 660 78, 78, 78, 79, 79, 79, 80, 80, 80, 81, 81, 81, & ! index 661 - 672 82, 82, 83, 83, 83, 83, 84, 84, 84, 85, 85, 85, & ! index 673 - 684 86, 86, 86, 87, 87, 87, 88, 88, 88, 88, 89, 89, & ! index 685 - 696 89, 89, 90, 90, 90, 90, 91, 91, 91, 91, 92, 92, & ! index 697 - 708 92, 92, 93, 93, 93, 93, 94, 94, 94, 95, 95, 95 /) ! index up to 720 INTEGER, PARAMETER, DIMENSION(360) :: LU_IROW_2 = (/ & 95, 96, 96, 96, 96, 96, 96, 96, 97, 97, 97, 97, & ! index 721 - 732 98, 98, 98, 98, 99, 99, 99, 99,100,100,100,100, & ! index 733 - 744 101,101,102,102,102,102,103,103,103,103,103,103, & ! index 745 - 756 103,103,103,103,103,103,103,103,104,104,104,104, & ! index 757 - 768 104,104,104,104,105,105,105,106,106,106,106,106, & ! index 769 - 780 106,107,107,107,107,108,108,108,108,109,109,109, & ! index 781 - 792 109,110,110,110,110,110,110,110,111,111,111,111, & ! index 793 - 804 112,112,112,112,113,113,113,113,114,114,114,114, & ! index 805 - 816 115,115,115,115,115,115,116,116,116,116,117,117, & ! index 817 - 828 117,117,117,117,117,118,118,118,118,118,119,119, & ! index 829 - 840 119,119,119,120,120,120,120,120,121,121,121,121, & ! index 841 - 852 121,121,122,122,122,122,123,123,123,123,124,124, & ! index 853 - 864 124,124,125,125,125,125,126,126,126,126,127,127, & ! index 865 - 876 127,127,128,128,128,128,128,128,129,129,129,129, & ! index 877 - 888 129,129,129,129,129,129,129,129,130,130,130,130, & ! index 889 - 900 130,131,131,131,131,131,131,132,132,132,132,132, & ! index 901 - 912 133,133,133,133,133,134,134,134,134,134,134,134, & ! index 913 - 924 134,134,134,134,134,135,135,135,135,135,136,136, & ! index 925 - 936 136,136,136,137,137,137,137,138,138,138,138,139, & ! index 937 - 948 139,139,139,140,140,140,140,141,141,141,141,142, & ! index 949 - 960 142,142,142,143,143,143,143,144,144,144,144,144, & ! index 961 - 972 145,145,145,145,145,145,145,145,145,146,146,146, & ! index 973 - 984 146,146,146,147,147,147,147,148,148,148,148,148, & ! index 985 - 996 148,148,148,148,149,149,149,150,150,150,150,150, & ! index 997 - 1008 151,151,151,151,151,151,152,152,152,152,152,152, & ! index 1009 - 1020 153,153,153,153,153,153,154,154,154,154,154,154, & ! index 1021 - 1032 155,155,155,155,155,155,156,156,156,156,156,156, & ! index 1033 - 1044 157,157,157,157,157,157,157,157,157,157,157,157, & ! index 1045 - 1056 157,157,158,158,158,158,158,158,158,159,159,159, & ! index 1057 - 1068 159,160,160,160,160,160,161,161,161,161,161,162 /) ! index up to 1080 INTEGER, PARAMETER, DIMENSION(360) :: LU_IROW_3 = (/ & 162,162,162,162,162,163,163,163,163,163,163,163, & ! index 1081 - 1092 163,164,164,164,164,164,165,165,165,165,165,166, & ! index 1093 - 1104 166,166,166,166,167,167,167,167,168,168,168,168, & ! index 1105 - 1116 169,169,169,169,169,169,170,170,170,170,170,170, & ! index 1117 - 1128 170,170,171,171,171,171,171,171,172,172,172,172, & ! index 1129 - 1140 172,172,173,173,173,173,173,173,173,173,173,173, & ! index 1141 - 1152 173,173,174,174,174,174,174,174,175,175,175,175, & ! index 1153 - 1164 176,176,176,176,176,176,177,177,177,177,177,177, & ! index 1165 - 1176 177,177,177,178,178,178,178,178,178,178,179,179, & ! index 1177 - 1188 179,179,179,180,180,180,180,180,181,181,181,181, & ! index 1189 - 1200 182,182,182,182,182,182,183,183,183,183,183,184, & ! index 1201 - 1212 184,184,184,184,185,185,185,185,185,185,185,185, & ! index 1213 - 1224 185,186,186,186,186,187,187,187,187,188,188,188, & ! index 1225 - 1236 188,188,188,188,188,188,188,188,188,188,189,189, & ! index 1237 - 1248 189,189,189,189,189,189,190,190,190,190,190,190, & ! index 1249 - 1260 191,191,191,191,192,192,192,192,193,193,193,193, & ! index 1261 - 1272 193,193,194,194,194,194,194,194,195,195,195,195, & ! index 1273 - 1284 195,195,196,196,196,196,196,196,196,197,197,197, & ! index 1285 - 1296 197,197,197,197,198,198,198,198,198,198,198,199, & ! index 1297 - 1308 199,199,199,200,200,200,201,201,201,201,201,201, & ! index 1309 - 1320 201,201,201,202,202,202,202,202,202,202,202,203, & ! index 1321 - 1332 203,203,203,203,203,203,203,203,203,203,203,203, & ! index 1333 - 1344 203,203,203,204,204,204,204,204,204,204,204,204, & ! index 1345 - 1356 204,204,204,204,205,205,205,205,205,205,206,206, & ! index 1357 - 1368 206,206,206,207,207,207,207,207,208,208,208,208, & ! index 1369 - 1380 208,208,208,208,208,208,208,208,209,209,209,209, & ! index 1381 - 1392 210,210,210,210,210,210,210,210,210,210,210,211, & ! index 1393 - 1404 211,211,211,211,211,212,212,212,212,212,212,212, & ! index 1405 - 1416 213,213,213,213,213,213,213,213,214,214,214,214, & ! index 1417 - 1428 214,214,214,215,215,215,215,215,215,215,215,215 /) ! index up to 1440 INTEGER, PARAMETER, DIMENSION(360) :: LU_IROW_4 = (/ & 215,215,215,215,215,215,215,215,215,215,215,215, & ! index 1441 - 1452 215,215,215,215,216,216,216,216,216,216,216,216, & ! index 1453 - 1464 216,216,216,216,217,217,217,217,217,217,217,217, & ! index 1465 - 1476 217,217,217,217,218,218,218,218,218,218,219,219, & ! index 1477 - 1488 219,219,220,220,220,220,221,221,221,221,221,221, & ! index 1489 - 1500 221,221,221,221,221,221,221,222,222,222,222,222, & ! index 1501 - 1512 222,223,223,223,223,223,223,223,224,224,224,224, & ! index 1513 - 1524 224,224,224,225,225,225,225,225,225,225,225,225, & ! index 1525 - 1536 225,225,225,226,226,226,226,226,226,227,227,227, & ! index 1537 - 1548 227,227,227,227,227,227,227,227,227,227,227,227, & ! index 1549 - 1560 227,227,228,228,228,228,228,228,228,229,229,229, & ! index 1561 - 1572 229,229,229,230,230,230,230,230,230,231,231,231, & ! index 1573 - 1584 231,231,231,232,232,232,232,232,232,232,232,233, & ! index 1585 - 1596 233,233,233,233,233,233,233,234,234,234,234,234, & ! index 1597 - 1608 234,234,234,234,234,234,235,235,235,235,235,235, & ! index 1609 - 1620 235,235,235,235,235,235,236,236,236,236,236,236, & ! index 1621 - 1632 236,236,236,236,236,236,236,236,237,237,237,237, & ! index 1633 - 1644 237,237,237,237,237,238,238,238,238,238,238,238, & ! index 1645 - 1656 238,238,238,238,239,239,239,239,239,239,239,239, & ! index 1657 - 1668 239,239,239,239,239,239,239,239,239,239,239,239, & ! index 1669 - 1680 239,240,240,240,240,240,240,240,240,240,241,241, & ! index 1681 - 1692 241,241,241,241,241,241,242,242,242,242,242,242, & ! index 1693 - 1704 242,242,242,242,242,242,243,243,243,243,243,243, & ! index 1705 - 1716 243,243,243,243,243,243,244,244,244,244,244,244, & ! index 1717 - 1728 244,244,244,244,244,244,244,244,244,244,245,245, & ! index 1729 - 1740 245,245,245,245,245,245,245,245,245,245,245,245, & ! index 1741 - 1752 246,246,246,246,246,246,246,247,247,247,247,247, & ! index 1753 - 1764 247,247,247,247,247,247,247,247,247,247,247,247, & ! index 1765 - 1776 247,247,247,247,247,248,248,248,248,248,248,248, & ! index 1777 - 1788 248,248,248,248,248,248,248,248,249,249,249,249 /) ! index up to 1800 INTEGER, PARAMETER, DIMENSION(360) :: LU_IROW_5 = (/ & 249,249,249,250,250,250,250,250,250,250,250,250, & ! index 1801 - 1812 251,251,251,251,251,251,251,252,252,252,252,252, & ! index 1813 - 1824 252,252,253,253,253,253,253,253,253,253,253,253, & ! index 1825 - 1836 253,254,254,254,254,254,254,254,254,254,254,254, & ! index 1837 - 1848 255,255,255,255,255,255,255,255,255,255,256,256, & ! index 1849 - 1860 256,256,256,256,256,256,256,256,256,256,256,256, & ! index 1861 - 1872 256,256,256,256,256,256,256,256,257,257,257,257, & ! index 1873 - 1884 257,257,257,257,257,257,257,257,257,257,258,258, & ! index 1885 - 1896 258,258,258,258,258,258,258,258,258,258,258,258, & ! index 1897 - 1908 258,259,259,259,259,259,259,259,259,259,259,260, & ! index 1909 - 1920 260,260,260,260,260,260,260,260,260,261,261,261, & ! index 1921 - 1932 261,261,261,261,261,261,261,261,261,261,261,261, & ! index 1933 - 1944 261,261,262,262,262,262,262,262,262,262,262,262, & ! index 1945 - 1956 262,262,263,263,263,263,263,263,263,263,263,263, & ! index 1957 - 1968 263,263,263,263,263,263,263,263,263,263,263,263, & ! index 1969 - 1980 263,263,263,263,263,263,263,263,263,263,263,263, & ! index 1981 - 1992 264,264,264,264,264,264,264,264,264,264,264,264, & ! index 1993 - 2004 264,264,264,264,265,265,265,265,265,265,265,265, & ! index 2005 - 2016 265,265,265,265,265,265,265,265,265,265,265,265, & ! index 2017 - 2028 265,265,265,265,265,265,265,265,265,265,265,265, & ! index 2029 - 2040 266,266,266,266,266,266,266,266,266,266,266,266, & ! index 2041 - 2052 266,266,266,266,266,266,266,267,267,267,267,267, & ! index 2053 - 2064 267,268,268,268,268,268,268,268,269,269,269,269, & ! index 2065 - 2076 269,269,269,269,269,269,269,269,269,269,269,269, & ! index 2077 - 2088 270,270,270,270,270,270,270,270,270,270,270,270, & ! index 2089 - 2100 270,270,270,270,270,270,270,270,270,270,270,270, & ! index 2101 - 2112 270,270,270,270,270,270,270,270,270,270,270,270, & ! index 2113 - 2124 270,270,270,270,270,270,270,270,270,271,271,271, & ! index 2125 - 2136 271,271,271,271,271,272,272,272,272,272,272,272, & ! index 2137 - 2148 272,272,272,272,273,273,273,273,273,273,273,273 /) ! index up to 2160 INTEGER, PARAMETER, DIMENSION(360) :: LU_IROW_6 = (/ & 273,273,273,273,273,274,274,274,274,274,274,274, & ! index 2161 - 2172 274,274,274,274,274,274,274,274,274,274,274,274, & ! index 2173 - 2184 274,274,274,274,275,275,275,275,275,275,275,275, & ! index 2185 - 2196 275,275,275,276,276,276,276,276,277,277,277,277, & ! index 2197 - 2208 277,277,277,277,277,277,277,278,278,278,278,278, & ! index 2209 - 2220 278,278,278,278,278,278,278,278,278,278,279,279, & ! index 2221 - 2232 279,279,279,279,279,279,279,280,280,280,280,280, & ! index 2233 - 2244 280,280,280,280,280,280,280,280,280,280,280,281, & ! index 2245 - 2256 281,281,281,281,281,281,281,281,281,281,282,282, & ! index 2257 - 2268 282,282,282,282,282,282,282,282,282,282,282,282, & ! index 2269 - 2280 282,282,282,282,282,282,282,282,282,282,282,282, & ! index 2281 - 2292 282,282,282,282,282,282,282,282,282,282,282,282, & ! index 2293 - 2304 283,283,283,283,283,283,283,283,283,283,283,283, & ! index 2305 - 2316 283,283,283,283,283,283,283,283,283,283,283,283, & ! index 2317 - 2328 283,283,283,283,283,283,283,283,283,283,283,284, & ! index 2329 - 2340 284,284,284,284,284,284,284,284,284,284,284,284, & ! index 2341 - 2352 284,285,285,285,285,285,285,285,285,285,285,285, & ! index 2353 - 2364 285,285,285,285,285,285,285,285,285,286,286,286, & ! index 2365 - 2376 286,286,286,286,286,286,286,286,286,286,286,286, & ! index 2377 - 2388 286,286,286,286,286,287,287,287,287,287,287,287, & ! index 2389 - 2400 287,287,287,287,287,287,287,287,287,287,287,287, & ! index 2401 - 2412 287,287,287,287,287,287,287,287,287,287,287,287, & ! index 2413 - 2424 287,287,287,288,288,288,288,288,288,288,288,288, & ! index 2425 - 2436 288,288,288,288,288,288,288,288,288,288,288,288, & ! index 2437 - 2448 288,288,288,288,288,288,288,288,288,288,288,288, & ! index 2449 - 2460 289,289,289,289,289,289,289,289,289,289,289,289, & ! index 2461 - 2472 289,290,290,290,290,290,290,290,291,291,291,291, & ! index 2473 - 2484 291,291,291,291,291,292,292,292,292,292,292,292, & ! index 2485 - 2496 292,292,292,292,292,292,292,292,292,292,292,292, & ! index 2497 - 2508 292,292,292,292,292,292,292,292,292,292,292,293 /) ! index up to 2520 INTEGER, PARAMETER, DIMENSION(360) :: LU_IROW_7 = (/ & 293,293,293,293,293,293,293,293,293,293,293,293, & ! index 2521 - 2532 293,294,294,294,294,294,294,294,294,294,294,294, & ! index 2533 - 2544 294,294,294,294,294,294,294,294,294,294,294,294, & ! index 2545 - 2556 294,294,294,294,294,294,294,294,294,294,294,294, & ! index 2557 - 2568 294,294,294,294,294,294,294,294,294,294,294,294, & ! index 2569 - 2580 294,294,294,294,294,294,294,294,294,294,294,294, & ! index 2581 - 2592 294,294,294,294,295,295,295,295,295,295,295,295, & ! index 2593 - 2604 295,295,295,295,295,295,295,295,295,295,295,295, & ! index 2605 - 2616 295,295,295,295,295,295,295,295,295,295,295,295, & ! index 2617 - 2628 296,296,296,296,296,296,296,296,296,296,296,296, & ! index 2629 - 2640 296,296,296,296,296,296,296,296,296,296,296,297, & ! index 2641 - 2652 297,297,297,297,297,297,297,297,297,297,297,298, & ! index 2653 - 2664 298,298,298,298,298,298,298,298,298,298,298,298, & ! index 2665 - 2676 298,298,298,298,298,298,298,298,298,298,298,298, & ! index 2677 - 2688 298,298,298,298,298,298,298,298,298,298,298,298, & ! index 2689 - 2700 298,298,298,298,298,298,298,298,298,298,298,298, & ! index 2701 - 2712 298,298,298,298,299,299,299,299,299,299,299,299, & ! index 2713 - 2724 299,299,299,299,299,299,299,299,299,299,299,299, & ! index 2725 - 2736 299,299,300,300,300,300,300,300,300,300,300,300, & ! index 2737 - 2748 300,300,301,301,301,301,301,301,301,301,301,301, & ! index 2749 - 2760 301,301,301,301,301,301,301,302,302,302,302,302, & ! index 2761 - 2772 302,302,302,302,302,302,302,302,302,302,302,302, & ! index 2773 - 2784 302,302,302,302,302,302,302,302,302,302,302,303, & ! index 2785 - 2796 303,303,303,303,303,303,303,303,303,303,303,303, & ! index 2797 - 2808 303,303,303,303,303,303,303,303,303,303,303,303, & ! index 2809 - 2820 303,304,304,304,304,304,304,304,304,304,304,304, & ! index 2821 - 2832 304,304,304,305,305,305,305,305,305,305,305,305, & ! index 2833 - 2844 305,305,305,305,305,306,306,306,306,306,306,306, & ! index 2845 - 2856 306,306,306,306,306,306,306,306,306,306,306,306, & ! index 2857 - 2868 306,306,306,306,306,306,306,306,306,306,306,306 /) ! index up to 2880 INTEGER, PARAMETER, DIMENSION(360) :: LU_IROW_8 = (/ & 306,306,306,306,306,306,306,306,306,306,306,306, & ! index 2881 - 2892 306,306,306,306,306,306,306,306,306,306,306,306, & ! index 2893 - 2904 306,306,306,307,307,307,307,307,307,307,307,307, & ! index 2905 - 2916 307,307,307,307,307,307,307,307,307,307,307,307, & ! index 2917 - 2928 307,307,307,307,307,307,307,307,307,307,307,307, & ! index 2929 - 2940 307,307,307,307,307,307,307,307,307,307,307,307, & ! index 2941 - 2952 307,307,307,307,307,307,307,307,307,307,307,307, & ! index 2953 - 2964 307,307,307,307,307,307,308,308,308,308,308,308, & ! index 2965 - 2976 308,308,308,308,308,308,308,308,308,308,308,308, & ! index 2977 - 2988 308,308,309,309,309,309,309,309,309,309,309,309, & ! index 2989 - 3000 309,309,309,309,309,309,309,309,309,309,309,309, & ! index 3001 - 3012 309,310,310,310,310,310,310,310,310,310,310,310, & ! index 3013 - 3024 310,311,311,311,311,311,311,311,311,311,311,311, & ! index 3025 - 3036 311,312,312,312,312,312,312,312,312,312,312,312, & ! index 3037 - 3048 312,312,312,312,312,312,312,312,312,312,312,312, & ! index 3049 - 3060 312,312,312,313,313,313,313,313,313,313,313,313, & ! index 3061 - 3072 313,313,313,313,313,313,313,313,313,313,313,313, & ! index 3073 - 3084 313,313,313,313,313,313,313,314,314,314,314,314, & ! index 3085 - 3096 314,314,314,314,314,314,314,314,314,314,314,314, & ! index 3097 - 3108 314,314,314,314,314,314,314,314,314,314,314,314, & ! index 3109 - 3120 315,315,315,315,315,315,315,315,315,315,315,315, & ! index 3121 - 3132 315,315,315,315,315,315,315,315,315,315,315,315, & ! index 3133 - 3144 315,316,316,316,316,316,316,316,316,316,316,316, & ! index 3145 - 3156 316,316,316,316,316,316,316,317,317,317,317,317, & ! index 3157 - 3168 317,317,317,317,317,317,317,317,318,318,318,318, & ! index 3169 - 3180 318,318,318,318,318,318,318,318,318,319,319,319, & ! index 3181 - 3192 319,319,319,319,319,319,319,319,319,319,319,319, & ! index 3193 - 3204 319,319,319,319,319,319,319,319,319,319,319,319, & ! index 3205 - 3216 320,320,320,320,320,320,320,320,320,320,320,320, & ! index 3217 - 3228 320,320,320,321,321,321,321,321,321,321,321,321 /) ! index up to 3240 INTEGER, PARAMETER, DIMENSION(360) :: LU_IROW_9 = (/ & 321,321,321,321,321,321,321,321,321,321,321,321, & ! index 3241 - 3252 321,321,321,322,322,322,322,322,322,322,322,322, & ! index 3253 - 3264 322,322,322,322,322,322,322,322,322,322,322,322, & ! index 3265 - 3276 322,322,322,322,322,322,322,322,322,322,322,323, & ! index 3277 - 3288 323,323,323,323,323,323,323,323,323,323,323,323, & ! index 3289 - 3300 323,323,323,323,323,323,323,323,323,323,323,324, & ! index 3301 - 3312 324,324,324,324,324,324,324,324,324,324,324,324, & ! index 3313 - 3324 324,324,324,324,324,324,324,324,324,324,324,324, & ! index 3325 - 3336 324,324,324,324,324,324,324,324,324,324,324,324, & ! index 3337 - 3348 324,324,324,324,324,324,324,324,324,324,324,324, & ! index 3349 - 3360 324,324,324,324,324,324,324,324,324,324,324,324, & ! index 3361 - 3372 324,324,324,324,324,324,324,324,324,324,324,324, & ! index 3373 - 3384 324,324,324,324,324,324,324,324,324,324,324,324, & ! index 3385 - 3396 324,324,324,325,325,325,325,325,325,325,325,325, & ! index 3397 - 3408 325,325,325,325,325,325,325,325,325,325,325,325, & ! index 3409 - 3420 325,325,325,325,325,325,325,325,325,325,325,325, & ! index 3421 - 3432 325,325,325,325,325,325,325,325,325,325,325,325, & ! index 3433 - 3444 325,325,325,325,325,325,325,325,325,325,325,325, & ! index 3445 - 3456 325,325,325,325,325,325,325,325,325,325,325,325, & ! index 3457 - 3468 325,325,325,325,325,325,325,325,325,325,325,325, & ! index 3469 - 3480 325,325,325,325,325,325,325,325,325,325,325,325, & ! index 3481 - 3492 325,325,325,325,325,325,325,325,325,325,325,325, & ! index 3493 - 3504 325,325,325,325,325,325,325,325,325,325,325,325, & ! index 3505 - 3516 325,325,325,325,325,325,325,325,325,325,325,325, & ! index 3517 - 3528 325,325,325,325,325,325,325,325,325,325,325,325, & ! index 3529 - 3540 325,325,325,326,326,326,326,326,326,326,326,326, & ! index 3541 - 3552 326,326,326,326,326,326,326,326,326,326,326,326, & ! index 3553 - 3564 326,326,326,326,326,326,326,326,326,326,326,326, & ! index 3565 - 3576 326,326,326,326,326,326,326,326,326,327,327,327, & ! index 3577 - 3588 327,327,327,327,327,327,327,327,327,327,327,327 /) ! index up to 3600 INTEGER, PARAMETER, DIMENSION(360) :: LU_IROW_10 = (/ & 327,327,327,327,327,327,327,327,327,327,327,327, & ! index 3601 - 3612 327,327,327,327,327,327,327,327,327,327,327,327, & ! index 3613 - 3624 327,327,327,327,327,327,327,327,327,327,327,327, & ! index 3625 - 3636 327,327,327,327,327,327,327,327,327,327,327,327, & ! index 3637 - 3648 327,327,327,327,327,327,327,327,327,327,327,327, & ! index 3649 - 3660 327,327,327,327,327,327,327,327,327,327,327,327, & ! index 3661 - 3672 327,327,327,327,327,327,327,327,327,327,327,327, & ! index 3673 - 3684 327,327,327,327,328,328,328,328,328,328,328,328, & ! index 3685 - 3696 328,328,328,328,328,328,328,328,328,328,328,328, & ! index 3697 - 3708 328,328,328,328,328,328,328,328,328,328,328,328, & ! index 3709 - 3720 328,328,328,328,328,328,328,328,328,328,328,328, & ! index 3721 - 3732 328,328,328,328,328,328,328,328,328,328,328,328, & ! index 3733 - 3744 328,328,328,328,328,328,328,328,328,328,328,328, & ! index 3745 - 3756 328,328,328,328,328,329,329,329,329,329,329,329, & ! index 3757 - 3768 329,329,329,329,329,329,329,329,329,329,329,329, & ! index 3769 - 3780 329,329,329,329,329,329,329,329,329,329,329,329, & ! index 3781 - 3792 329,329,329,329,329,329,329,329,329,329,329,329, & ! index 3793 - 3804 329,329,329,329,329,329,329,329,329,329,329,329, & ! index 3805 - 3816 329,329,329,329,329,329,329,329,329,329,329,329, & ! index 3817 - 3828 329,329,329,329,329,329,329,329,329,329,329,329, & ! index 3829 - 3840 329,329,329,329,329,329,329,329,329,329,329,329, & ! index 3841 - 3852 329,329,329,329,329,329,329,329,329,329,329,329, & ! index 3853 - 3864 329,329,329,329,329,329,329,329,329,329,329,329, & ! index 3865 - 3876 329,329,329,329,329,329,329,329,330,330,330,330, & ! index 3877 - 3888 330,330,330,330,330,330,330,330,330,330,330,330, & ! index 3889 - 3900 330,330,330,331,331,331,331,331,331,331,331,331, & ! index 3901 - 3912 331,331,331,331,331,331,331,331,331,331,331,331, & ! index 3913 - 3924 331,331,331,331,331,331,331,331,332,332,332,332, & ! index 3925 - 3936 332,332,332,332,332,332,332,332,332,332,332,332, & ! index 3937 - 3948 332,332,332,333,333,333,333,333,333,333,333,333 /) ! index up to 3960 INTEGER, PARAMETER, DIMENSION(360) :: LU_IROW_11 = (/ & 333,333,333,333,333,333,333,333,333,333,333,333, & ! index 3961 - 3972 333,333,333,333,333,333,333,333,333,333,333,334, & ! index 3973 - 3984 334,334,334,334,334,334,334,334,334,334,334,334, & ! index 3985 - 3996 334,334,334,334,334,334,334,334,334,334,334,334, & ! index 3997 - 4008 334,334,334,334,334,334,334,334,334,334,334,334, & ! index 4009 - 4020 334,334,334,334,334,334,334,334,334,334,334,334, & ! index 4021 - 4032 334,335,335,335,335,335,335,335,335,335,335,335, & ! index 4033 - 4044 335,335,335,335,335,335,335,335,335,335,335,335, & ! index 4045 - 4056 335,335,335,335,335,335,335,335,335,335,335,335, & ! index 4057 - 4068 335,335,335,335,335,335,335,335,335,335,335,335, & ! index 4069 - 4080 335,335,335,335,335,335,335,335,335,335,335,335, & ! index 4081 - 4092 335,335,335,335,335,335,335,335,335,335,335,335, & ! index 4093 - 4104 335,335,335,335,335,335,335,335,335,335,335,335, & ! index 4105 - 4116 335,335,335,335,335,335,335,335,335,335,335,335, & ! index 4117 - 4128 335,335,335,335,335,335,335,335,335,335,335,335, & ! index 4129 - 4140 335,335,335,335,335,335,335,335,335,335,335,335, & ! index 4141 - 4152 335,335,335,335,335,335,335,335,335,335,335,335, & ! index 4153 - 4164 335,335,335,335,335,335,335,335,335,335,335,335, & ! index 4165 - 4176 335,335,335,335,335,335,335,335,335,335,335,335, & ! index 4177 - 4188 335,335,335,335,335,335,335,335,335,335,335,335, & ! index 4189 - 4200 335,335,335,335,335,335,335,336,336,336,336,336, & ! index 4201 - 4212 336,336,336,336,336,336,336,336,336,336,336,336, & ! index 4213 - 4224 336,336,336,336,336,336,336,336,336,336,336,336, & ! index 4225 - 4236 336,336,336,336,336,336,336,336,336,336,336,336, & ! index 4237 - 4248 336,336,336,336,336,336,336,336,336,336,336,336, & ! index 4249 - 4260 336,336,336,336,336,336,336,336,336,336,336,336, & ! index 4261 - 4272 336,336,336,336,336,336,336,336,336,336,336,336, & ! index 4273 - 4284 336,336,336,336,336,336,336,336,336,336,336,336, & ! index 4285 - 4296 336,336,336,336,336,336,336,336,336,336,336,336, & ! index 4297 - 4308 337,337,337,337,337,337,337,337,337,337,337,337 /) ! index up to 4320 INTEGER, PARAMETER, DIMENSION(360) :: LU_IROW_12 = (/ & 337,337,337,337,337,337,337,337,337,337,337,337, & ! index 4321 - 4332 337,337,337,337,337,337,337,337,337,337,337,337, & ! index 4333 - 4344 337,337,337,337,337,337,337,337,337,337,337,337, & ! index 4345 - 4356 337,337,337,337,337,337,337,337,337,337,337,337, & ! index 4357 - 4368 337,337,337,337,337,337,337,337,337,337,337,337, & ! index 4369 - 4380 337,337,337,337,337,337,337,337,337,337,337,337, & ! index 4381 - 4392 337,337,337,337,337,337,337,337,337,337,337,337, & ! index 4393 - 4404 337,337,337,337,337,337,337,337,337,337,337,337, & ! index 4405 - 4416 337,337,337,337,337,337,337,337,337,337,337,337, & ! index 4417 - 4428 337,337,337,337,337,337,337,337,337,337,337,337, & ! index 4429 - 4440 337,337,337,337,337,337,337,337,337,337,337,337, & ! index 4441 - 4452 337,337,337,337,337,337,337,337,337,337,337,337, & ! index 4453 - 4464 337,337,337,337,337,337,337,337,337,337,337,337, & ! index 4465 - 4476 337,337,337,337,337,337,337,337,337,337,337,337, & ! index 4477 - 4488 337,337,337,337,337,337,337,337,337,337,337,337, & ! index 4489 - 4500 337,337,337,337,337,337,337,337,337,337,337,337, & ! index 4501 - 4512 337,337,337,337,338,338,338,338,338,338,338,338, & ! index 4513 - 4524 338,338,338,338,338,338,338,338,338,338,338,338, & ! index 4525 - 4536 338,338,338,338,338,338,338,338,338,338,338,338, & ! index 4537 - 4548 338,338,338,338,338,338,338,338,338,338,338,338, & ! index 4549 - 4560 338,338,338,338,338,338,338,338,338,338,338,339, & ! index 4561 - 4572 339,339,339,339,339,339,339,339,339,339,339,339, & ! index 4573 - 4584 339,339,339,339,339,339,339,339,339,339,339,339, & ! index 4585 - 4596 339,339,339,339,339,339,339,339,339,339,339,339, & ! index 4597 - 4608 339,339,339,339,339,339,339,339,339,339,339,339, & ! index 4609 - 4620 339,339,339,339,339,339,339,339,339,339,339,339, & ! index 4621 - 4632 339,339,339,339,339,339,339,339,339,339,339,339, & ! index 4633 - 4644 339,339,339,339,340,340,340,340,340,340,340,340, & ! index 4645 - 4656 340,340,340,340,340,340,340,340,340,340,340,340, & ! index 4657 - 4668 340,340,340,340,340,340,340,340,340,340,340,340 /) ! index up to 4680 INTEGER, PARAMETER, DIMENSION(360) :: LU_IROW_13 = (/ & 340,340,340,340,340,340,340,340,340,340,340,340, & ! index 4681 - 4692 340,340,340,340,340,340,340,340,340,340,340,340, & ! index 4693 - 4704 340,340,340,340,340,340,340,340,340,340,340,340, & ! index 4705 - 4716 340,340,340,340,340,340,340,340,340,340,340,340, & ! index 4717 - 4728 340,340,340,340,340,340,340,340,340,340,340,340, & ! index 4729 - 4740 340,340,340,341,341,341,341,341,341,341,341,341, & ! index 4741 - 4752 341,341,341,341,341,341,341,341,341,341,341,341, & ! index 4753 - 4764 341,341,341,341,341,341,341,341,341,341,341,341, & ! index 4765 - 4776 341,341,341,341,341,341,341,341,341,341,341,341, & ! index 4777 - 4788 341,341,341,341,341,341,341,341,341,341,341,341, & ! index 4789 - 4800 341,341,341,341,341,341,341,341,341,341,341,341, & ! index 4801 - 4812 341,341,341,341,341,341,341,341,342,342,342,342, & ! index 4813 - 4824 342,342,342,342,342,342,342,342,342,342,342,342, & ! index 4825 - 4836 342,342,342,342,342,342,342,342,342,342,342,342, & ! index 4837 - 4848 342,342,342,342,342,342,342,342,342,342,342,342, & ! index 4849 - 4860 342,342,342,342,342,342,342,342,342,342,342,342, & ! index 4861 - 4872 342,342,342,342,343,343,343,343,343,343,343,343, & ! index 4873 - 4884 343,343,343,343,343,343,343,343,343,343,343,343, & ! index 4885 - 4896 343,343,343,343,343,343,343,343,343,343,343,343, & ! index 4897 - 4908 343,343,343,343,343,343,343,343,343,343,343,343, & ! index 4909 - 4920 343,343,343,343,343,343,343,343,343,343,343,343, & ! index 4921 - 4932 343,343,343,343,344,344,344,344,344,344,344,344, & ! index 4933 - 4944 344,344,344,344,344,344,344,344,344,344,344,344, & ! index 4945 - 4956 344,344,344,344,344,344,344,344,344,344,344,344, & ! index 4957 - 4968 344,345,345,345,345,345,345,345,345,345,345,345, & ! index 4969 - 4980 345,345,345,345,345,345,345,345,345,345,345,345, & ! index 4981 - 4992 345,345,345,345,345,345,345,345,345,345,345,345, & ! index 4993 - 5004 345,345,345,345,345,345,345,345,345,345,345,345, & ! index 5005 - 5016 345,345,345,345,345,345,345,345,345,345,345,345, & ! index 5017 - 5028 345,345,345,345,345,345,345,345,345,345,345,345 /) ! index up to 5040 INTEGER, PARAMETER, DIMENSION(360) :: LU_IROW_14 = (/ & 345,345,345,345,345,345,345,345,345,345,345,345, & ! index 5041 - 5052 345,345,345,345,345,345,345,345,345,345,345,345, & ! index 5053 - 5064 345,345,345,345,345,345,345,345,345,345,345,345, & ! index 5065 - 5076 345,345,345,345,345,345,345,345,345,345,345,345, & ! index 5077 - 5088 345,345,345,345,345,345,345,345,345,345,345,345, & ! index 5089 - 5100 345,345,345,345,345,345,345,345,345,345,345,345, & ! index 5101 - 5112 345,345,345,345,345,345,345,345,345,345,345,345, & ! index 5113 - 5124 345,345,345,345,345,345,345,345,345,345,345,345, & ! index 5125 - 5136 345,345,345,345,345,345,345,345,345,345,345,345, & ! index 5137 - 5148 345,345,345,345,345,345,345,345,345,345,345,345, & ! index 5149 - 5160 345,345,345,345,345,345,345,345,345,345,345,345, & ! index 5161 - 5172 345,345,345,345,345,345,345,345,345,345,345,345, & ! index 5173 - 5184 345,345,345,345,345,345,345,345,345,345,345,345, & ! index 5185 - 5196 345,345,345,345,345,345,345,345,345,345,345,345, & ! index 5197 - 5208 345,345,345,345,345,345,345,345,345,345,345,345, & ! index 5209 - 5220 345,345,345,345,345,345,345,345,345,345,345,345, & ! index 5221 - 5232 345,345,345,345,345,345,345,345,345,345,345,345, & ! index 5233 - 5244 346,346,346,346,346,346,346,346,346,346,346,346, & ! index 5245 - 5256 346,346,346,346,346,346,346,346,346,346,346,346, & ! index 5257 - 5268 346,346,346,346,346,346,346,346,346,346,346,346, & ! index 5269 - 5280 346,346,346,346,346,346,346,346,346,346,346,346, & ! index 5281 - 5292 346,346,346,346,346,346,346,346,346,346,346,346, & ! index 5293 - 5304 346,346,346,346,346,346,346,346,346,346,346,346, & ! index 5305 - 5316 346,346,346,346,346,346,346,346,346,346,346,346, & ! index 5317 - 5328 346,346,346,346,346,346,346,346,346,346,346,346, & ! index 5329 - 5340 346,346,346,346,346,346,346,346,346,346,346,346, & ! index 5341 - 5352 346,346,346,346,346,346,346,346,346,346,346,346, & ! index 5353 - 5364 346,347,347,347,347,347,347,347,347,347,347,347, & ! index 5365 - 5376 347,347,347,347,347,347,347,347,347,347,347,347, & ! index 5377 - 5388 347,347,347,347,347,347,347,347,347,348,348,348 /) ! index up to 5400 INTEGER, PARAMETER, DIMENSION(283) :: LU_IROW_15 = (/ & 348,348,348,348,348,348,348,348,348,348,348,348, & ! index 5401 - 5412 348,348,348,348,348,348,348,348,348,348,348,348, & ! index 5413 - 5424 348,348,348,348,348,348,348,348,348,348,348,348, & ! index 5425 - 5436 348,348,349,349,349,349,349,349,349,349,349,349, & ! index 5437 - 5448 349,349,349,349,349,349,349,349,349,349,349,349, & ! index 5449 - 5460 349,349,349,349,350,350,350,350,350,350,350,350, & ! index 5461 - 5472 350,350,350,350,350,350,350,350,350,350,350,350, & ! index 5473 - 5484 350,350,350,350,350,350,351,351,351,351,351,351, & ! index 5485 - 5496 351,351,351,351,351,351,351,351,351,351,351,351, & ! index 5497 - 5508 351,351,351,351,351,351,351,351,351,351,351,351, & ! index 5509 - 5520 351,351,351,351,351,351,351,351,351,351,351,351, & ! index 5521 - 5532 351,351,351,351,351,351,351,351,351,351,351,351, & ! index 5533 - 5544 351,351,351,351,351,351,351,351,351,351,351,351, & ! index 5545 - 5556 351,351,351,351,351,351,351,351,351,351,351,351, & ! index 5557 - 5568 351,351,351,351,351,351,351,351,351,351,351,351, & ! index 5569 - 5580 351,351,351,351,351,351,351,351,351,351,351,351, & ! index 5581 - 5592 351,351,351,351,351,351,351,351,351,351,351,351, & ! index 5593 - 5604 351,351,351,351,351,351,351,352,352,352,352,352, & ! index 5605 - 5616 352,352,352,352,352,352,352,352,352,352,352,352, & ! index 5617 - 5628 352,352,352,352,352,352,352,352,352,352,352,352, & ! index 5629 - 5640 352,352,352,352,352,352,352,352,352,352,353,353, & ! index 5641 - 5652 353,353,353,353,353,353,353,353,353,353,353,353, & ! index 5653 - 5664 353,353,353,353,353,353,353,353,353,353,353,353, & ! index 5665 - 5676 353,353,353,353,353,353,353 /) ! index up to 5683 INTEGER, PARAMETER, DIMENSION(5683) :: LU_IROW = (/& LU_IROW_0, LU_IROW_1, LU_IROW_2, LU_IROW_3, LU_IROW_4, & LU_IROW_5, LU_IROW_6, LU_IROW_7, LU_IROW_8, LU_IROW_9, & LU_IROW_10, LU_IROW_11, LU_IROW_12, LU_IROW_13, LU_IROW_14, & LU_IROW_15 /) INTEGER, PARAMETER, DIMENSION(360) :: LU_ICOL_0 = (/ & 1, 2, 3, 4, 42, 44, 55, 73, 5,269, 6, 41, & ! index 1 - 12 345, 7, 66, 68, 71, 74, 90, 92,115,130,133,135, & ! index 13 - 24 139,159,169,173,182,194,198,213,216,235,238,240, & ! index 25 - 36 241,246,249,250,257,259,260,261,263,265,269,274, & ! index 37 - 48 275,276,277,280,281,283,287,290,291,296,300,306, & ! index 49 - 60 307,308,310,311,312,313,315,318,319,320,321,322, & ! index 61 - 72 323,324,328,329,337,340,341,345,346,351, 8, 45, & ! index 73 - 84 103, 9, 42, 44, 55, 73,252,330,332, 10, 42, 44, & ! index 85 - 96 55, 73,252,330,332, 11, 13,337, 12, 13,346, 13, & ! index 97 - 108 143,337,345,346, 14,276,345, 15,276,351, 16, 18, & ! index 109 - 120 337, 17, 18,346, 18, 19,337,345,346, 19,345, 20, & ! index 121 - 132 22,337, 21, 22,346, 22, 82,337,345,346, 23, 24, & ! index 133 - 144 24,187,192,199,209,345, 25, 27,337, 26, 27,346, & ! index 145 - 156 27,101,337,345,346, 28, 94,345, 29,166,341,348, & ! index 157 - 168 30,115,270,294, 31,107,128,151,152,215, 32,241, & ! index 169 - 180 312,345,348, 33, 89,345,348, 34, 45, 56, 57, 63, & ! index 181 - 192 67, 70, 80, 83, 90, 91, 93, 95,103,108,110,113, & ! index 193 - 204 114,116,121,122,124,126,127,132,133,135,137,138, & ! index 205 - 216 139,148,154,162,165,170,171,172,176,177,178,180, & ! index 217 - 228 182,184,189,190,193,196,197,205,206,207,211,212, & ! index 229 - 240 213,217,223,224,226,232,234,235,236,239,240,241, & ! index 241 - 252 243,245,246,249,250,253,254,257,259,260,263,269, & ! index 253 - 264 271,272,273,274,275,277,278,280,281,285,286,289, & ! index 265 - 276 291,293,296,297,300,302,304,305,308,310,311,312, & ! index 277 - 288 313,315,317,318,319,320,321,322,323,324,327,328, & ! index 289 - 300 335,337,340,345,346, 35, 42, 44, 49, 50, 55, 63, & ! index 301 - 312 64, 65, 68, 69, 76, 87, 94, 96,105,109,120,140, & ! index 313 - 324 142,149,154,158,163,166,167,168,175,179,181,183, & ! index 325 - 336 186,191,195,197,200,201,202,203,204,211,213,214, & ! index 337 - 348 216,217,218,219,220,221,222,225,228,229,234,235 /) ! index up to 360 INTEGER, PARAMETER, DIMENSION(360) :: LU_ICOL_1 = (/ & 236,237,240,242,246,248,251,252,255,256,257,261, & ! index 361 - 372 262,263,264,266,267,268,270,272,273,274,275,276, & ! index 373 - 384 277,278,280,281,284,289,290,291,292,294,297,298, & ! index 385 - 396 299,302,303,306,308,309,310,311,312,314,316,317, & ! index 397 - 408 325,326,328,330,332,333,334,335,336,337,338,339, & ! index 409 - 420 341,343,344,345,347,348,349,350,351,352,353, 36, & ! index 421 - 432 60, 68, 75, 79, 82,101,107,113,114,119,122,124, & ! index 433 - 444 126,127,132,139,143,144,146,147,150,153,159,167, & ! index 445 - 456 181,182,184,185,187,191,192,194,197,199,200,201, & ! index 457 - 468 204,208,209,210,215,216,220,221,225,227,230,231, & ! index 469 - 480 233,238,243,248,253,255,258,259,261,266,267,268, & ! index 481 - 492 269,270,276,285,286,287,290,294,295,298,301,304, & ! index 493 - 504 305,306,307,309,314,325,326,328,337,340,341,342, & ! index 505 - 516 343,345,346,351, 37,241,312,329,345, 38, 89,179, & ! index 517 - 528 241,264,312,316,333,341,345,348, 39,228,334,340, & ! index 529 - 540 345, 40,241,276,312,314,336,337,341,345, 41,345, & ! index 541 - 552 42, 96, 43,345, 44,284, 45,154,242,256, 46,334, & ! index 553 - 564 47,334, 48,334, 49,334, 50,334, 51,334, 52,345, & ! index 565 - 576 53,334, 54,334, 55, 96,284, 56,257,335, 57,274, & ! index 577 - 588 335, 58,200,345, 59,335,342, 60,345, 61,334, 62, & ! index 589 - 600 331,346, 63, 67,334,335, 64,179,327,351, 65,166, & ! index 601 - 612 327,351, 66,257,328,337,345, 67,335,346, 68,343, & ! index 613 - 624 345, 69,345,351, 70,234,345,346, 71,235,337,345, & ! index 625 - 636 72,213,337,345, 73,331,337,345, 74,257,337,345, & ! index 637 - 648 75,340,345, 76,338,345, 77,252,330,332,349,350, & ! index 649 - 660 78,334,345, 79,340,345, 80,328,335, 81,334,345, & ! index 661 - 672 82,345, 83,296,345,346, 84,334,345, 85,334,345, & ! index 673 - 684 86,334,345, 87,334,345, 88,312,336,345, 89,325, & ! index 685 - 696 345,348, 90,235,335,345, 91,323,345,346, 92,324, & ! index 697 - 708 337,345, 93,328,345,346, 94,345,351, 95,321,345 /) ! index up to 720 INTEGER, PARAMETER, DIMENSION(360) :: LU_ICOL_2 = (/ & 346, 42, 44, 55, 96,284,346,347, 97,319,337,345, & ! index 721 - 732 98,178,337,345, 99,321,337,345,100,323,337,345, & ! index 733 - 744 101,345,102,300,337,345,103,168,175,186,216,222, & ! index 745 - 756 248,251,266,267,268,299,302,303,104,252,284,330, & ! index 757 - 768 332,338,344,353,105,334,345,106,136,234,328,346, & ! index 769 - 780 351,107,159,184,345,108,335,337,345,109,233,341, & ! index 781 - 792 345, 76,110,328,338,340,345,347,111,277,337,345, & ! index 793 - 804 112,275,337,345,113,246,335,345,114,213,335,345, & ! index 805 - 816 115,194,302,314,341,345,116,189,345,346, 90,117, & ! index 817 - 828 235,236,335,337,345,118,296,315,337,345,119,230, & ! index 829 - 840 231,301,345,120,284,338,345,347, 58,121,200,337, & ! index 841 - 852 345,346,122,240,335,345,123,260,337,345,124,322, & ! index 853 - 864 335,345,125,250,337,345,126,197,335,345,127,212, & ! index 865 - 876 345,346,128,199,209,267,268,345,112,129,138,191, & ! index 877 - 888 275,324,328,337,341,345,346,351,130,274,328,337, & ! index 889 - 900 345,131,258,286,337,345,346,132,233,337,345,346, & ! index 901 - 912 133,230,337,345,346, 89,134,179,241,264,312,316, & ! index 913 - 924 325,333,341,345,348,135,231,337,345,346,136,234, & ! index 925 - 936 328,337,345,137,277,345,346,138,275,345,346,139, & ! index 937 - 948 324,335,345,140,341,345,351,141,340,342,345,142, & ! index 949 - 960 340,345,351,143,220,341,345,144,199,276,304,345, & ! index 961 - 972 145,186,299,310,311,324,328,346,351,121,146,200, & ! index 973 - 984 337,345,346,147,285,286,345,148,218,316,342,345, & ! index 985 - 996 347,349,350,352,149,345,351,150,209,276,305,345, & ! index 997 - 1008 151,168,175,187,192,345,152,168,175,187,192,345, & ! index 1009 - 1020 153,258,285,337,345,346,154,242,256,341,345,351, & ! index 1021 - 1032 155,240,246,322,337,345,156,296,315,328,340,345, & ! index 1033 - 1044 157,218,297,316,317,333,338,339,344,347,349,350, & ! index 1045 - 1056 352,353, 82,101,149,158,200,345,351,159,259,337, & ! index 1057 - 1068 345,160,278,328,337,345,161,273,328,337,345,138 /) ! index up to 1080 INTEGER, PARAMETER, DIMENSION(360) :: LU_ICOL_3 = (/ & 162,273,275,345,346,163,255,272,328,341,345,346, & ! index 1081 - 1092 351,164,328,337,340,345,165,196,337,345,346,166, & ! index 1093 - 1104 327,339,341,348,167,341,345,351,168,304,345,346, & ! index 1105 - 1116 169,272,274,328,337,345, 62,170,252,331,332,345, & ! index 1117 - 1128 346,351,171,230,301,335,337,346,172,231,301,335, & ! index 1129 - 1140 337,346,101,173,200,201,221,240,246,289,322,324, & ! index 1141 - 1152 337,345,174,223,224,232,337,345,175,305,345,346, & ! index 1153 - 1164 137,176,277,278,345,346,177,211,237,255,272,341, & ! index 1165 - 1176 345,346,351, 69, 98,178,337,345,346,351,179,327, & ! index 1177 - 1188 339,341,348,180,299,337,345,346,181,334,340,345, & ! index 1189 - 1200 182,301,303,337,345,346,183,340,342,345,351,184, & ! index 1201 - 1212 259,308,335,345,119,147,185,230,231,285,286,301, & ! index 1213 - 1224 345,186,311,337,345,187,305,337,345,188,249,250, & ! index 1225 - 1236 260,289,300,318,319,320,321,323,328,345,149,189, & ! index 1237 - 1248 200,220,337,345,346,351,168,190,304,337,345,346, & ! index 1249 - 1260 191,341,345,351,192,304,337,345,193,291,341,345, & ! index 1261 - 1272 346,351,194,230,231,301,303,345,143,195,220,341, & ! index 1273 - 1284 345,351,165,178,196,337,345,346,351,126,197,233, & ! index 1285 - 1296 335,337,345,346,174,198,223,224,232,337,345,199, & ! index 1297 - 1308 304,337,345,200,345,351, 82,101,149,158,200,201, & ! index 1309 - 1320 341,345,351,158,195,200,202,220,341,345,351,117, & ! index 1321 - 1332 158,195,200,202,203,220,235,236,328,335,337,341, & ! index 1333 - 1344 345,346,351, 82,101,116,149,189,200,204,220,337, & ! index 1345 - 1356 341,345,346,351,175,205,305,337,345,346,206,268, & ! index 1357 - 1368 337,345,346,207,267,337,345,346,131,147,208,243, & ! index 1369 - 1380 254,258,285,286,288,337,345,346,209,305,337,345, & ! index 1381 - 1392 209,210,223,226,271,276,303,305,337,345,346,211, & ! index 1393 - 1404 281,341,345,346,351,140,212,337,341,345,346,351, & ! index 1405 - 1416 114,213,306,335,337,345,346,351,214,335,336,339, & ! index 1417 - 1428 344,351,353,128,144,150,151,152,168,175,186,187 /) ! index up to 1440 INTEGER, PARAMETER, DIMENSION(360) :: LU_ICOL_4 = (/ & 192,199,209,215,230,231,267,268,276,301,304,305, & ! index 1441 - 1452 311,337,345,346,206,216,226,268,271,293,301,308, & ! index 1453 - 1464 328,337,345,346,181,217,228,325,334,337,339,340, & ! index 1465 - 1476 341,343,345,352,218,335,336,339,342,347,219,341, & ! index 1477 - 1488 345,351,220,341,345,351, 82,101,143,149,195,200, & ! index 1489 - 1500 202,220,221,269,341,345,351,222,310,311,328,337, & ! index 1501 - 1512 345,187,209,223,305,337,345,346,192,199,224,304, & ! index 1513 - 1524 337,345,346,111,137,191,225,277,324,328,337,341, & ! index 1525 - 1536 345,346,351,186,226,311,337,345,346,131,147,153, & ! index 1537 - 1548 194,227,230,231,258,285,286,288,301,302,303,337, & ! index 1549 - 1560 345,346,228,290,326,334,340,341,345,229,291,337, & ! index 1561 - 1572 341,345,351,209,230,276,305,337,345,199,231,276, & ! index 1573 - 1584 304,337,345,187,192,232,304,305,337,345,346,140, & ! index 1585 - 1596 212,233,337,341,345,346,351,109,136,233,234,246, & ! index 1597 - 1608 328,337,341,345,346,351, 71, 90,204,220,235,328, & ! index 1609 - 1620 335,337,341,345,346,351, 71,117,203,204,220,235, & ! index 1621 - 1632 236,328,335,337,341,345,346,351,237,281,324,328, & ! index 1633 - 1644 337,341,345,346,351,199,209,238,267,268,304,305, & ! index 1645 - 1656 328,337,345,346, 64, 65,166,179,239,252,269,297, & ! index 1657 - 1668 327,335,339,341,344,345,346,348,349,350,351,352, & ! index 1669 - 1680 353,122,146,200,240,335,337,345,346,351,241,290, & ! index 1681 - 1692 329,335,336,341,346,348,193,242,280,289,291,324, & ! index 1693 - 1704 328,337,341,345,346,351,128,192,199,209,243,267, & ! index 1705 - 1716 268,304,305,337,345,346,199,224,226,244,271,276, & ! index 1717 - 1728 287,303,304,309,311,313,320,337,345,346,110,245, & ! index 1729 - 1740 297,317,328,333,334,338,339,340,344,345,347,353, & ! index 1741 - 1752 113,246,320,335,337,345,346,125,180,182,206,216, & ! index 1753 - 1764 226,247,250,268,271,293,299,301,303,308,309,311, & ! index 1765 - 1776 328,337,345,346,351,172,205,231,248,253,276,301, & ! index 1777 - 1788 303,304,305,308,335,337,345,346,249,279,324,328 /) ! index up to 1800 INTEGER, PARAMETER, DIMENSION(360) :: LU_ICOL_5 = (/ & 337,345,346,125,250,290,324,328,337,345,346,351, & ! index 1801 - 1812 251,318,319,320,337,345,346,252,331,335,344,349, & ! index 1813 - 1824 350,353,172,231,253,276,301,304,309,335,337,345, & ! index 1825 - 1836 346,171,230,254,276,301,305,314,335,337,345,346, & ! index 1837 - 1848 167,255,281,324,328,337,341,345,346,351,162,176, & ! index 1849 - 1860 177,211,237,255,256,272,273,275,277,278,280,281, & ! index 1861 - 1872 289,324,328,337,341,345,346,351, 56, 74,111,225, & ! index 1873 - 1884 257,277,324,328,335,337,341,345,346,351,174,223, & ! index 1885 - 1896 224,232,243,258,267,268,285,286,304,305,337,345, & ! index 1897 - 1908 346,159,184,259,308,309,335,337,345,346,351,123, & ! index 1909 - 1920 260,290,324,328,337,340,342,345,346,180,182,207, & ! index 1921 - 1932 226,261,267,271,293,299,301,302,303,311,337,345, & ! index 1933 - 1944 346,351,193,219,229,262,291,324,328,337,341,345, & ! index 1945 - 1956 346,351, 82,101,137,138,143,149,158,160,167,176, & ! index 1957 - 1968 193,195,200,202,211,219,220,229,237,255,262,263, & ! index 1969 - 1980 275,277,278,281,291,324,328,337,341,345,346,351, & ! index 1981 - 1992 241,264,276,290,312,314,329,335,336,337,340,341, & ! index 1993 - 2004 343,345,346,348, 60, 88,107,159,184,194,201,221, & ! index 2005 - 2016 230,231,259,265,269,276,301,302,303,304,305,306, & ! index 2017 - 2028 307,308,309,312,335,336,337,340,341,345,346,351, & ! index 2029 - 2040 190,205,206,207,226,243,266,267,268,271,285,286, & ! index 2041 - 2052 303,304,305,311,337,345,346,267,305,311,328,345, & ! index 2053 - 2064 346,268,304,310,311,328,345,346,158,195,200,202, & ! index 2065 - 2076 203,220,235,236,269,328,335,337,341,345,346,351, & ! index 2077 - 2088 60, 82,101,143,185,194,195,198,200,210,220,221, & ! index 2089 - 2100 223,224,226,227,230,231,232,233,258,267,268,269, & ! index 2101 - 2112 270,271,276,285,286,288,301,302,303,304,305,306, & ! index 2113 - 2124 310,311,328,335,337,341,345,346,351,222,271,310, & ! index 2125 - 2136 311,328,337,345,346,211,237,272,281,324,328,337, & ! index 2137 - 2148 341,345,346,351,129,138,161,191,273,275,324,328 /) ! index up to 2160 INTEGER, PARAMETER, DIMENSION(360) :: LU_ICOL_6 = (/ & 337,341,345,346,351, 57,161,162,163,167,169,177, & ! index 2161 - 2172 211,237,255,272,273,274,275,281,324,328,335,337, & ! index 2173 - 2184 341,345,346,351,112,191,219,275,324,328,337,341, & ! index 2185 - 2196 345,346,351,276,340,341,345,351,111,191,219,277, & ! index 2197 - 2208 324,328,337,341,345,346,351, 66, 74,160,225,257, & ! index 2209 - 2220 277,278,324,328,335,337,341,345,346,351,249,279, & ! index 2221 - 2232 300,320,324,328,337,345,346,167,191,193,219,229, & ! index 2233 - 2244 262,280,289,291,324,328,337,341,345,346,351,167, & ! index 2245 - 2256 191,219,281,324,328,337,341,345,346,351,234,246, & ! index 2257 - 2268 249,250,260,272,273,275,277,278,279,281,282,289, & ! index 2269 - 2280 290,291,296,300,306,310,311,313,315,318,319,320, & ! index 2281 - 2292 321,323,324,328,335,337,340,341,342,345,346,351, & ! index 2293 - 2304 201,241,249,250,260,275,277,279,281,283,290,291, & ! index 2305 - 2316 296,300,307,313,315,318,319,320,321,323,324,328, & ! index 2317 - 2328 329,335,336,337,340,341,342,345,346,348,351, 44, & ! index 2329 - 2340 55, 96,284,330,331,332,335,337,338,341,345,346, & ! index 2341 - 2352 347,147,151,152,168,175,187,192,238,267,268,285, & ! index 2353 - 2364 286,304,305,310,311,328,337,345,346,147,151,152, & ! index 2365 - 2376 168,175,187,192,238,267,268,285,286,304,305,310, & ! index 2377 - 2388 311,328,337,345,346,144,192,198,199,223,224,231, & ! index 2389 - 2400 232,238,253,258,266,267,268,271,276,285,286,287, & ! index 2401 - 2412 301,303,304,305,309,310,311,328,335,337,340,341, & ! index 2413 - 2424 345,346,351,150,187,198,209,223,224,230,232,238, & ! index 2425 - 2436 254,266,267,268,271,276,285,286,288,301,303,304, & ! index 2437 - 2448 305,310,311,314,328,335,337,340,341,345,346,351, & ! index 2449 - 2460 167,191,219,280,289,291,324,328,337,341,345,346, & ! index 2461 - 2472 351,290,314,340,341,342,345,351,219,291,324,328, & ! index 2473 - 2484 337,341,345,346,351,160,176,178,219,251,256,262, & ! index 2485 - 2496 272,273,275,277,278,279,280,281,289,291,292,300, & ! index 2497 - 2508 318,319,320,324,328,335,337,341,345,346,351,145 /) ! index up to 2520 INTEGER, PARAMETER, DIMENSION(360) :: LU_ICOL_7 = (/ & 186,222,293,299,303,310,311,324,328,337,345,346, & ! index 2521 - 2532 351, 82,101,107,159,184,185,194,198,199,200,201, & ! index 2533 - 2544 209,215,223,224,227,230,231,232,238,244,247,250, & ! index 2545 - 2556 253,254,258,259,266,267,268,271,276,285,286,287, & ! index 2557 - 2568 288,290,293,294,299,301,302,303,304,305,307,308, & ! index 2569 - 2580 309,310,311,313,314,320,324,328,335,337,340,341, & ! index 2581 - 2592 342,345,346,351, 91,100,160,161,162,176,219,229, & ! index 2593 - 2604 251,262,273,275,277,278,279,291,295,300,318,319, & ! index 2605 - 2616 320,323,324,328,335,337,340,341,342,345,346,351, & ! index 2617 - 2628 173,183,200,201,221,240,246,269,289,291,296,320, & ! index 2629 - 2640 322,324,328,335,337,340,341,342,345,346,351,214, & ! index 2641 - 2652 297,335,336,339,344,345,349,350,351,352,353, 95, & ! index 2653 - 2664 97, 98, 99,102,125,130,161,162,165,169,178,188, & ! index 2665 - 2676 196,201,212,219,221,229,242,249,250,251,260,269, & ! index 2677 - 2688 272,273,274,275,279,280,281,289,290,291,298,300, & ! index 2689 - 2700 314,318,319,320,321,323,324,328,335,337,340,341, & ! index 2701 - 2712 342,345,346,351,180,190,205,206,207,226,267,268, & ! index 2713 - 2724 271,293,299,303,304,305,310,311,324,328,337,345, & ! index 2725 - 2736 346,351,102,142,201,300,324,328,337,340,341,345, & ! index 2737 - 2748 346,351,145,186,267,268,299,301,303,304,305,310, & ! index 2749 - 2760 311,324,328,337,345,346,351,171,190,207,226,230, & ! index 2761 - 2772 254,267,271,276,293,299,301,302,303,304,305,310, & ! index 2773 - 2784 311,314,324,328,335,337,340,341,345,346,351,186, & ! index 2785 - 2796 190,205,206,207,222,223,224,226,232,267,268,271, & ! index 2797 - 2808 293,299,303,304,305,310,311,324,328,337,345,346, & ! index 2809 - 2820 351,186,192,199,276,304,305,311,328,337,340,341, & ! index 2821 - 2832 345,346,351,186,187,209,276,304,305,311,328,337, & ! index 2833 - 2844 340,341,345,346,351, 70,106,113,126,127,132,136, & ! index 2845 - 2856 174,180,197,198,201,202,205,206,212,220,221,223, & ! index 2857 - 2868 224,232,233,234,246,254,258,262,266,267,268,269 /) ! index up to 2880 INTEGER, PARAMETER, DIMENSION(360) :: LU_ICOL_8 = (/ & 271,276,285,286,288,291,293,299,301,302,303,304, & ! index 2881 - 2892 305,306,310,311,314,320,324,328,335,337,340,341, & ! index 2893 - 2904 345,346,351,123,153,154,159,174,184,198,205,207, & ! index 2905 - 2916 215,223,224,230,231,232,242,243,248,253,256,258, & ! index 2917 - 2928 259,260,267,268,271,272,273,275,276,277,278,280, & ! index 2929 - 2940 281,285,286,287,289,290,291,293,299,301,303,304, & ! index 2941 - 2952 305,307,308,309,310,311,313,314,324,328,335,337, & ! index 2953 - 2964 340,341,342,345,346,351,248,253,276,301,303,304, & ! index 2965 - 2976 305,308,309,310,311,324,328,335,337,340,341,345, & ! index 2977 - 2988 346,351,135,144,168,192,199,222,231,276,299,303, & ! index 2989 - 3000 304,305,309,310,311,324,328,337,340,341,345,346, & ! index 3001 - 3012 351,222,276,310,311,324,328,337,340,341,345,346, & ! index 3013 - 3024 351,186,276,310,311,324,328,337,340,341,345,346, & ! index 3025 - 3036 351,109,191,220,233,255,276,281,290,309,310,311, & ! index 3037 - 3048 312,314,324,328,329,335,336,337,340,341,342,345, & ! index 3049 - 3060 346,348,351,244,271,276,287,295,300,301,303,304, & ! index 3061 - 3072 305,309,310,311,313,318,319,320,323,324,328,335, & ! index 3073 - 3084 337,340,341,342,345,346,351, 82,101,133,150,175, & ! index 3085 - 3096 187,209,219,222,229,230,262,276,291,299,303,304, & ! index 3097 - 3108 305,310,311,314,324,328,337,340,341,345,346,351, & ! index 3109 - 3120 118,251,279,292,296,298,300,314,315,318,319,320, & ! index 3121 - 3132 321,322,323,324,328,335,337,340,341,342,345,346, & ! index 3133 - 3144 351,148,218,316,335,336,337,339,341,342,343,344, & ! index 3145 - 3156 345,347,348,349,350,352,353,317,335,336,338,339, & ! index 3157 - 3168 340,343,344,345,349,350,352,353,251,269,318,319, & ! index 3169 - 3180 320,324,328,335,337,341,345,346,351, 97,130,142, & ! index 3181 - 3192 161,162,169,178,249,272,273,274,275,279,281,300, & ! index 3193 - 3204 318,319,320,324,328,335,337,340,341,345,346,351, & ! index 3205 - 3216 219,292,300,318,319,320,324,328,335,337,340,341, & ! index 3217 - 3228 345,346,351, 99,141,251,279,292,298,300,314,318 /) ! index up to 3240 INTEGER, PARAMETER, DIMENSION(360) :: LU_ICOL_9 = (/ & 319,320,321,322,323,324,328,335,337,340,341,342, & ! index 3241 - 3252 345,346,351,124,155,160,176,196,201,221,240,246, & ! index 3253 - 3264 269,277,278,292,298,300,314,318,319,320,321,322, & ! index 3265 - 3276 323,324,328,335,337,340,341,342,345,346,351,100, & ! index 3277 - 3288 141,251,279,292,298,300,314,318,319,320,321,322, & ! index 3289 - 3300 323,324,328,335,337,340,341,342,345,346,351, 92, & ! index 3301 - 3312 107,115,122,130,139,146,159,169,184,185,194,196, & ! index 3313 - 3324 200,208,209,227,230,231,240,243,244,247,249,250, & ! index 3325 - 3336 254,257,258,259,260,261,263,267,268,271,272,274, & ! index 3337 - 3348 275,276,277,278,279,280,281,285,286,287,288,289, & ! index 3349 - 3360 290,291,292,293,294,295,296,299,300,301,302,303, & ! index 3361 - 3372 304,305,307,308,309,310,311,313,314,315,318,319, & ! index 3373 - 3384 320,321,322,323,324,326,328,335,337,340,341,342, & ! index 3385 - 3396 345,346,351, 72, 80, 88, 89, 92, 93, 94,106,109, & ! index 3397 - 3408 112,114,122,123,127,130,136,137,138,139,140,146, & ! index 3409 - 3420 149,159,160,164,165,168,169,175,176,187,190,191, & ! index 3421 - 3432 192,196,197,199,200,205,206,207,208,209,210,211, & ! index 3433 - 3444 212,213,215,219,220,222,223,224,226,228,229,230, & ! index 3445 - 3456 231,233,234,235,236,240,243,244,246,247,249,250, & ! index 3457 - 3468 253,254,255,257,258,259,260,261,262,263,267,268, & ! index 3469 - 3480 270,271,272,273,274,275,276,277,278,279,280,281, & ! index 3481 - 3492 282,285,286,287,288,289,290,291,293,296,299,300, & ! index 3493 - 3504 301,302,303,304,305,306,307,308,309,310,311,312, & ! index 3505 - 3516 313,314,315,318,319,320,321,322,323,324,325,326, & ! index 3517 - 3528 328,329,334,335,336,337,338,340,341,342,343,345, & ! index 3529 - 3540 346,348,351, 83,118,123,124,149,155,156,165,196, & ! index 3541 - 3552 240,241,246,249,250,251,260,279,290,296,300,314, & ! index 3553 - 3564 315,318,319,320,321,322,323,324,326,328,329,335, & ! index 3565 - 3576 336,337,340,341,342,345,346,348,351, 45, 69, 94, & ! index 3577 - 3588 103,142,149,154,158,166,168,175,179,183,186,195 /) ! index up to 3600 INTEGER, PARAMETER, DIMENSION(360) :: LU_ICOL_10 = (/ & 200,202,204,214,216,218,220,222,225,226,242,248, & ! index 3601 - 3612 251,253,256,261,266,267,268,269,270,271,272,273, & ! index 3613 - 3624 275,276,277,278,280,281,285,286,288,289,291,292, & ! index 3625 - 3636 293,294,298,299,300,301,302,303,304,305,306,307, & ! index 3637 - 3648 308,309,310,311,313,314,317,318,319,320,321,322, & ! index 3649 - 3660 323,324,325,326,327,328,329,332,334,335,336,337, & ! index 3661 - 3672 338,339,340,341,342,343,344,345,346,347,348,349, & ! index 3673 - 3684 350,351,352,353, 52, 80, 92, 94,105,139,155,159, & ! index 3685 - 3696 164,181,228,234,235,236,240,246,249,250,251,257, & ! index 3697 - 3708 259,260,263,272,273,274,275,276,277,278,279,280, & ! index 3709 - 3720 281,283,289,290,291,292,295,296,300,304,305,307, & ! index 3721 - 3732 308,309,310,311,313,314,315,318,319,320,321,322, & ! index 3733 - 3744 323,324,326,328,329,334,335,336,337,338,340,341, & ! index 3745 - 3756 342,345,346,348,351, 60, 68, 75, 79, 82,101,107, & ! index 3757 - 3768 113,114,119,122,124,126,127,132,139,143,144,146, & ! index 3769 - 3780 147,150,153,159,167,181,182,184,185,187,191,192, & ! index 3781 - 3792 194,197,199,200,201,204,208,209,210,212,213,215, & ! index 3793 - 3804 216,220,221,223,225,226,227,230,231,233,238,240, & ! index 3805 - 3816 241,243,246,248,253,254,255,258,259,261,266,267, & ! index 3817 - 3828 268,269,270,271,276,277,281,285,286,287,288,290, & ! index 3829 - 3840 293,294,295,298,299,300,301,302,303,304,305,306, & ! index 3841 - 3852 307,308,309,310,311,312,313,314,318,319,320,321, & ! index 3853 - 3864 322,323,324,325,326,328,329,334,335,336,337,338, & ! index 3865 - 3876 340,341,342,343,345,346,348,351,170,252,284,330, & ! index 3877 - 3888 331,332,335,336,337,338,341,344,345,346,347,349, & ! index 3889 - 3900 350,351,353, 1, 2, 3, 44, 52, 62, 73, 77, 96, & ! index 3901 - 3912 104,170,252,284,330,331,332,335,336,337,338,341, & ! index 3913 - 3924 344,345,346,347,349,350,351,353,170,252,284,330, & ! index 3925 - 3936 331,332,335,336,337,338,341,344,345,346,347,349, & ! index 3937 - 3948 350,351,353, 76,120,245,284,297,317,328,329,330 /) ! index up to 3960 INTEGER, PARAMETER, DIMENSION(360) :: LU_ICOL_11 = (/ & 331,332,333,334,335,336,337,338,339,340,341,342, & ! index 3961 - 3972 343,344,345,346,347,348,349,350,351,352,353, 46, & ! index 3973 - 3984 47, 48, 49, 50, 51, 53, 54, 61, 63, 67, 78, 81, & ! index 3985 - 3996 84, 85, 86, 87,105,181,228,245,290,297,314,317, & ! index 3997 - 4008 324,326,328,329,333,334,335,336,337,338,339,340, & ! index 4009 - 4020 341,342,343,344,345,346,347,348,349,350,351,352, & ! index 4021 - 4032 353, 56, 57, 59, 64, 65, 67, 70, 80, 83, 90, 91, & ! index 4033 - 4044 93, 95, 96,108,113,114,116,121,122,124,125,126, & ! index 4045 - 4056 127,132,133,135,137,138,139,140,154,162,163,165, & ! index 4057 - 4068 166,168,171,172,175,176,177,178,179,180,182,184, & ! index 4069 - 4080 186,189,190,193,196,197,200,203,205,206,207,211, & ! index 4081 - 4092 212,213,214,218,220,222,223,224,226,229,230,231, & ! index 4093 - 4104 232,233,234,235,236,237,239,240,241,242,243,246, & ! index 4105 - 4116 247,248,249,250,251,252,253,254,255,256,257,259, & ! index 4117 - 4128 260,261,262,263,266,267,268,269,271,272,273,274, & ! index 4129 - 4140 275,276,277,278,279,280,281,284,285,286,289,290, & ! index 4141 - 4152 291,293,296,297,299,300,301,302,303,304,305,306, & ! index 4153 - 4164 308,309,310,311,312,313,314,315,317,318,319,320, & ! index 4165 - 4176 321,322,323,324,326,327,328,329,330,331,332,334, & ! index 4177 - 4188 335,336,337,338,339,340,341,342,343,344,345,346, & ! index 4189 - 4200 347,348,349,350,351,352,353, 43, 52, 73, 84, 85, & ! index 4201 - 4212 86, 87,105,108,116,164,173,181,183,189,196,200, & ! index 4213 - 4224 201,214,217,218,220,221,228,239,240,241,244,246, & ! index 4225 - 4236 251,252,264,265,269,271,276,279,283,287,289,290, & ! index 4237 - 4248 291,292,295,296,297,298,300,301,302,303,304,305, & ! index 4249 - 4260 306,307,308,309,310,311,312,313,314,315,316,317, & ! index 4261 - 4272 318,319,320,321,322,323,324,325,326,327,328,329, & ! index 4273 - 4284 330,331,332,333,334,335,336,337,338,339,340,341, & ! index 4285 - 4296 342,343,344,345,346,347,348,349,350,351,352,353, & ! index 4297 - 4308 60, 72, 75, 79, 80, 82, 83, 88, 91, 93, 95, 97 /) ! index up to 4320 INTEGER, PARAMETER, DIMENSION(360) :: LU_ICOL_12 = (/ & 98, 99,100,101,102,105,106,108,111,112,115,116, & ! index 4321 - 4332 118,119,121,123,125,127,128,131,132,133,135,136, & ! index 4333 - 4344 137,138,143,144,145,146,147,149,150,151,152,153, & ! index 4345 - 4356 155,156,158,161,164,165,168,171,172,174,175,178, & ! index 4357 - 4368 180,181,182,185,186,187,188,189,190,192,194,195, & ! index 4369 - 4380 196,197,198,199,200,201,202,204,205,206,207,208, & ! index 4381 - 4392 209,210,212,213,216,217,219,220,221,222,223,224, & ! index 4393 - 4404 225,226,227,228,229,230,231,232,233,234,235,236, & ! index 4405 - 4416 238,240,243,246,248,249,250,251,253,254,255,257, & ! index 4417 - 4428 258,259,260,261,262,263,264,265,266,267,268,269, & ! index 4429 - 4440 270,271,272,273,274,275,276,277,278,279,280,281, & ! index 4441 - 4452 282,284,285,286,287,288,289,290,291,293,294,296, & ! index 4453 - 4464 298,299,300,301,302,303,304,305,306,307,308,309, & ! index 4465 - 4476 310,311,312,313,314,315,318,319,320,321,322,323, & ! index 4477 - 4488 324,325,326,328,329,330,331,332,334,335,336,337, & ! index 4489 - 4500 338,339,340,341,342,343,344,345,346,347,348,349, & ! index 4501 - 4512 350,351,352,353, 46, 47, 48, 49, 50, 51, 61, 76, & ! index 4513 - 4524 84, 85, 86, 87,110,120,181,245,284,296,297,315, & ! index 4525 - 4536 317,318,319,320,321,322,323,324,326,328,329,330, & ! index 4537 - 4548 331,332,333,334,335,336,337,338,339,340,341,342, & ! index 4549 - 4560 343,344,345,346,347,348,349,350,351,352,353, 75, & ! index 4561 - 4572 79,141,142,156,164,166,179,181,183,214,218,228, & ! index 4573 - 4584 264,265,269,276,282,283,289,290,291,295,296,297, & ! index 4585 - 4596 300,301,302,303,304,305,306,307,308,309,310,311, & ! index 4597 - 4608 312,313,314,315,316,317,318,319,320,321,322,323, & ! index 4609 - 4620 324,325,326,327,328,329,332,333,334,335,336,337, & ! index 4621 - 4632 338,339,340,341,342,343,344,345,346,347,348,349, & ! index 4633 - 4644 350,351,352,353, 3, 43, 46, 47, 48, 49, 50, 51, & ! index 4645 - 4656 61, 75, 76, 79, 84, 85, 86, 87,104,110,141,142, & ! index 4657 - 4668 156,157,164,181,183,218,228,245,252,264,265,269 /) ! index up to 4680 INTEGER, PARAMETER, DIMENSION(360) :: LU_ICOL_13 = (/ & 276,282,283,284,289,290,291,295,296,297,300,301, & ! index 4681 - 4692 302,303,304,305,306,307,308,309,310,311,312,313, & ! index 4693 - 4704 314,315,316,317,318,319,320,321,322,323,324,325, & ! index 4705 - 4716 326,328,329,330,331,332,333,334,335,336,337,338, & ! index 4717 - 4728 339,340,341,342,343,344,345,346,347,348,349,350, & ! index 4729 - 4740 351,352,353,109,140,166,167,179,191,193,201,202, & ! index 4741 - 4752 203,211,213,217,219,220,221,228,229,233,235,236, & ! index 4753 - 4764 237,240,242,246,255,257,259,262,269,274,275,276, & ! index 4765 - 4776 277,280,281,289,290,291,306,308,309,310,311,312, & ! index 4777 - 4788 314,320,322,323,324,325,326,327,328,329,331,332, & ! index 4789 - 4800 334,335,336,337,338,339,340,341,342,343,344,345, & ! index 4801 - 4812 346,347,348,349,350,351,352,353, 2, 53, 54, 59, & ! index 4813 - 4824 61, 77, 78, 81,105,141,148,157,183,218,252,284, & ! index 4825 - 4836 290,295,297,300,314,316,317,318,319,320,323,324, & ! index 4837 - 4848 325,326,328,329,330,331,332,333,334,335,336,337, & ! index 4849 - 4860 338,339,340,341,342,343,344,345,346,347,348,349, & ! index 4861 - 4872 350,351,352,353, 46, 47, 48, 49, 50, 51, 53, 54, & ! index 4873 - 4884 61, 67, 68, 78, 81, 84, 85, 86, 87,120,181,217, & ! index 4885 - 4896 228,245,264,276,284,290,297,312,314,316,317,324, & ! index 4897 - 4908 325,326,328,329,330,331,332,333,334,335,336,337, & ! index 4909 - 4920 338,339,340,341,342,343,344,345,346,347,348,349, & ! index 4921 - 4932 350,351,352,353,166,214,252,297,316,317,327,328, & ! index 4933 - 4944 329,330,331,332,333,334,335,336,337,338,339,340, & ! index 4945 - 4956 341,342,343,344,345,346,347,348,349,350,351,352, & ! index 4957 - 4968 353, 41, 43, 52, 58, 60, 66, 68, 69, 70, 71, 72, & ! index 4969 - 4980 73, 74, 75, 76, 78, 79, 81, 82, 83, 84, 85, 86, & ! index 4981 - 4992 87, 88, 89, 90, 91, 92, 93, 94, 95, 97, 98, 99, & ! index 4993 - 5004 100,101,102,105,107,108,109,111,112,113,114,115, & ! index 5005 - 5016 116,117,118,119,120,122,123,124,125,126,127,128, & ! index 5017 - 5028 129,130,131,133,134,135,136,137,138,139,140,141 /) ! index up to 5040 INTEGER, PARAMETER, DIMENSION(360) :: LU_ICOL_14 = (/ & 142,143,144,146,147,148,149,150,151,152,153,154, & ! index 5041 - 5052 155,156,158,159,160,161,162,163,164,167,168,169, & ! index 5053 - 5064 170,171,172,173,174,175,176,177,178,179,180,181, & ! index 5065 - 5076 182,183,184,185,186,187,188,189,190,191,192,193, & ! index 5077 - 5088 194,195,196,197,198,199,200,201,202,204,205,206, & ! index 5089 - 5100 207,208,209,210,211,212,213,216,217,218,219,220, & ! index 5101 - 5112 221,222,223,224,225,226,228,229,230,231,232,233, & ! index 5113 - 5124 234,235,236,237,238,239,240,241,242,243,244,245, & ! index 5125 - 5136 246,247,248,249,250,251,252,253,254,255,256,257, & ! index 5137 - 5148 258,259,260,261,262,263,264,265,266,267,268,269, & ! index 5149 - 5160 270,271,272,273,274,275,276,277,278,279,280,281, & ! index 5161 - 5172 282,283,284,285,286,287,288,289,290,291,292,293, & ! index 5173 - 5184 294,295,296,297,298,299,300,301,302,303,304,305, & ! index 5185 - 5196 306,307,308,309,310,311,312,313,314,315,316,317, & ! index 5197 - 5208 318,319,320,321,322,323,324,325,326,327,328,329, & ! index 5209 - 5220 330,331,332,333,334,335,336,337,338,339,340,341, & ! index 5221 - 5232 342,343,344,345,346,347,348,349,350,351,352,353, & ! index 5233 - 5244 62, 63, 67, 96,121,132,133,135,165,171,172,178, & ! index 5245 - 5256 180,182,189,190,196,197,200,205,206,207,212,213, & ! index 5257 - 5268 220,223,224,226,230,231,232,233,234,235,236,239, & ! index 5269 - 5280 240,241,243,246,249,250,252,253,254,257,259,260, & ! index 5281 - 5292 263,267,268,269,271,272,273,274,275,276,277,278, & ! index 5293 - 5304 279,280,281,284,285,286,289,290,291,293,296,297, & ! index 5305 - 5316 299,300,301,303,304,305,306,308,309,310,311,312, & ! index 5317 - 5328 313,314,315,318,319,320,321,322,323,324,326,327, & ! index 5329 - 5340 328,329,330,331,332,334,335,336,337,338,339,340, & ! index 5341 - 5352 341,342,343,344,345,346,347,348,349,350,351,352, & ! index 5353 - 5364 353, 53, 54, 61, 78, 81,105,218,284,316,330,331, & ! index 5365 - 5376 332,334,335,336,337,338,339,340,341,342,343,344, & ! index 5377 - 5388 345,346,347,348,349,350,351,352,353, 68, 89, 94 /) ! index up to 5400 INTEGER, PARAMETER, DIMENSION(283) :: LU_ICOL_15 = (/ & 134,166,179,241,264,276,290,312,314,316,324,325, & ! index 5401 - 5412 326,327,328,329,332,333,334,335,336,337,338,339, & ! index 5413 - 5424 340,341,342,343,344,345,346,347,348,349,350,351, & ! index 5425 - 5436 352,353,252,297,316,317,330,331,332,335,336,337, & ! index 5437 - 5448 338,339,340,341,342,343,344,345,346,347,348,349, & ! index 5449 - 5460 350,351,352,353,252,297,316,317,330,331,332,335, & ! index 5461 - 5472 336,337,338,339,340,341,342,343,344,345,346,347, & ! index 5473 - 5484 348,349,350,351,352,353, 69, 80, 94,108,124,126, & ! index 5485 - 5496 139,140,142,149,154,158,163,167,170,183,184,191, & ! index 5497 - 5508 193,195,197,200,202,204,211,213,214,218,219,220, & ! index 5509 - 5520 225,229,233,234,236,237,241,242,246,252,255,256, & ! index 5521 - 5532 257,259,261,262,263,267,269,270,271,272,273,274, & ! index 5533 - 5544 275,276,277,278,280,281,285,286,288,289,290,291, & ! index 5545 - 5556 292,293,294,298,299,300,301,302,303,304,305,306, & ! index 5557 - 5568 307,308,309,310,311,312,313,314,317,318,319,320, & ! index 5569 - 5580 321,322,323,324,325,326,327,328,329,331,332,334, & ! index 5581 - 5592 335,336,337,338,339,340,341,342,343,344,345,346, & ! index 5593 - 5604 347,348,349,350,351,352,353,141,183,290,295,297, & ! index 5605 - 5616 300,314,316,317,318,319,320,323,324,325,326,328, & ! index 5617 - 5628 329,333,334,335,336,337,338,339,340,341,342,343, & ! index 5629 - 5640 344,345,346,347,348,349,350,351,352,353,179,214, & ! index 5641 - 5652 252,297,316,317,327,328,329,330,331,332,333,334, & ! index 5653 - 5664 335,336,337,338,339,340,341,342,343,344,345,346, & ! index 5665 - 5676 347,348,349,350,351,352,353 /) ! index up to 5683 INTEGER, PARAMETER, DIMENSION(5683) :: LU_ICOL = (/& LU_ICOL_0, LU_ICOL_1, LU_ICOL_2, LU_ICOL_3, LU_ICOL_4, & LU_ICOL_5, LU_ICOL_6, LU_ICOL_7, LU_ICOL_8, LU_ICOL_9, & LU_ICOL_10, LU_ICOL_11, LU_ICOL_12, LU_ICOL_13, LU_ICOL_14, & LU_ICOL_15 /) INTEGER, PARAMETER, DIMENSION(354) :: LU_CROW = (/ & 1, 2, 3, 4, 9, 11, 14, 83, 86, 94,102,105, & ! index 1 - 12 108,113,116,119,122,125,130,132,135,138,143,145, & ! index 13 - 24 151,154,157,162,165,169,173,179,184,188,306,432, & ! index 25 - 36 521,526,537,542,551,553,555,557,559,563,565,567, & ! index 37 - 48 569,571,573,575,577,579,581,584,587,590,593,596, & ! index 49 - 60 598,600,603,607,611,615,620,623,626,629,633,637, & ! index 61 - 72 641,645,649,652,655,661,664,667,670,673,675,679, & ! index 73 - 84 682,685,688,691,695,699,703,707,711,715,718,722, & ! index 85 - 96 729,733,737,741,745,747,751,765,773,776,782,786, & ! index 97 - 108 790,794,801,805,809,813,817,823,827,834,839,844, & ! index 109 - 120 849,855,859,863,867,871,875,879,885,897,902,908, & ! index 121 - 132 913,918,930,935,940,944,948,952,956,960,964,968, & ! index 133 - 144 973,982,988,992,1001,1004,1009,1015,1021,1027,1033,1039, & ! index 145 - 156 1045,1059,1066,1070,1075,1080,1086,1094,1099,1104,1109,1113, & ! index 157 - 168 1117,1123,1131,1137,1143,1155,1161,1165,1171,1180,1187,1192, & ! index 169 - 180 1197,1201,1207,1212,1217,1226,1230,1234,1247,1255,1261,1265, & ! index 181 - 192 1269,1275,1281,1287,1294,1301,1308,1312,1315,1324,1332,1348, & ! index 193 - 204 1361,1367,1372,1377,1389,1393,1404,1410,1417,1425,1432,1457, & ! index 205 - 216 1469,1481,1487,1491,1495,1508,1514,1521,1528,1540,1546,1563, & ! index 217 - 228 1570,1576,1582,1588,1596,1604,1615,1627,1641,1650,1661,1682, & ! index 229 - 240 1691,1699,1711,1723,1739,1753,1760,1782,1797,1804,1813,1820, & ! index 241 - 252 1827,1838,1849,1859,1881,1895,1910,1920,1930,1947,1959,1993, & ! index 253 - 264 2009,2041,2060,2066,2073,2089,2134,2142,2153,2166,2189,2200, & ! index 265 - 276 2205,2216,2231,2240,2256,2267,2305,2340,2354,2374,2394,2428, & ! index 277 - 288 2461,2474,2481,2490,2520,2534,2597,2629,2652,2664,2717,2739, & ! index 289 - 300 2751,2768,2796,2822,2836,2850,2908,2971,2991,3014,3026,3038, & ! index 301 - 312 3064,3092,3121,3146,3164,3177,3190,3217,3232,3256,3288,3312, & ! index 313 - 324 3400,3544,3586,3689,3762,3885,3904,3933,3952,3984,4034,4208, & ! index 325 - 336 4309,4517,4572,4649,4744,4821,4877,4937,4970,5245,5366,5398, & ! index 337 - 348 5439,5465,5491,5612,5651,5684 /) ! index up to 354 INTEGER, PARAMETER, DIMENSION(354) :: LU_DIAG = (/ & 1, 2, 3, 4, 9, 11, 14, 83, 86, 94,102,105, & ! index 1 - 12 108,113,116,119,122,125,130,132,135,138,143,145, & ! index 13 - 24 151,154,157,162,165,169,173,179,184,188,306,432, & ! index 25 - 36 521,526,537,542,551,553,555,557,559,563,565,567, & ! index 37 - 48 569,571,573,575,577,579,581,584,587,590,593,596, & ! index 49 - 60 598,600,603,607,611,615,620,623,626,629,633,637, & ! index 61 - 72 641,645,649,652,655,661,664,667,670,673,675,679, & ! index 73 - 84 682,685,688,691,695,699,703,707,711,715,718,725, & ! index 85 - 96 729,733,737,741,745,747,751,765,773,776,782,786, & ! index 97 - 108 790,795,801,805,809,813,817,823,828,834,839,844, & ! index 109 - 120 850,855,859,863,867,871,875,879,886,897,902,908, & ! index 121 - 132 913,919,930,935,940,944,948,952,956,960,964,968, & ! index 133 - 144 973,983,988,992,1001,1004,1009,1015,1021,1027,1033,1039, & ! index 145 - 156 1045,1062,1066,1070,1075,1081,1086,1094,1099,1104,1109,1113, & ! index 157 - 168 1117,1124,1131,1137,1144,1155,1161,1166,1171,1182,1187,1192, & ! index 169 - 180 1197,1201,1207,1212,1219,1226,1230,1234,1248,1256,1261,1265, & ! index 181 - 192 1269,1275,1282,1289,1295,1302,1308,1312,1320,1327,1337,1354, & ! index 193 - 204 1362,1367,1372,1379,1389,1394,1404,1411,1418,1425,1444,1458, & ! index 205 - 216 1470,1481,1487,1491,1503,1508,1516,1523,1531,1541,1550,1563, & ! index 217 - 228 1570,1577,1583,1590,1598,1607,1619,1633,1641,1652,1665,1685, & ! index 229 - 240 1691,1700,1715,1726,1740,1754,1766,1785,1797,1805,1813,1820, & ! index 241 - 252 1829,1840,1850,1865,1885,1900,1912,1921,1934,1950,1980,1994, & ! index 253 - 264 2020,2047,2060,2066,2081,2113,2135,2144,2157,2178,2192,2200, & ! index 265 - 276 2208,2222,2232,2246,2259,2279,2314,2343,2364,2385,2412,2445, & ! index 277 - 288 2465,2474,2482,2507,2523,2572,2613,2639,2653,2699,2727,2742, & ! index 289 - 300 2756,2780,2811,2826,2841,2894,2954,2978,3003,3016,3029,3049, & ! index 301 - 312 3077,3112,3129,3148,3164,3179,3206,3222,3243,3276,3301,3389, & ! index 313 - 324 3527,3573,3665,3748,3871,3888,3918,3938,3963,4014,4189,4291, & ! index 325 - 336 4500,4556,4634,4730,4808,4865,4926,4960,5236,5358,5391,5433, & ! index 337 - 348 5460,5487,5609,5649,5683,5684 /) ! index up to 354 END MODULE gckpp_JacobianSP ================================================ FILE: KPP/fullchem/gckpp_LinearAlgebra.F90 ================================================ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Linear Algebra Data and Routines File ! ! Generated by KPP-3.2.0 symbolic chemistry Kinetics PreProcessor ! (https:/github.com/KineticPreProcessor/KPP ! KPP is distributed under GPL, the general public licence ! (http://www.gnu.org/copyleft/gpl.html) ! (C) 1995-1997, V. Damian & A. Sandu, CGRER, Univ. Iowa ! (C) 1997-2022, A. Sandu, Michigan Tech, Virginia Tech ! With important contributions from: ! M. Damian, Villanova University, Philadelphia, PA, USA ! R. Sander, Max-Planck Institute for Chemistry, Mainz, Germany ! M. Long, Renaissance Fiber, LLC, North Carolina, USA ! H. Lin, Harvard University, Cambridge, MA, USA ! R. Yantosca, Harvard University, Cambridge, MA, USA ! ! File : gckpp_LinearAlgebra.F90 ! Equation file : gckpp.kpp ! Output root filename : gckpp ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MODULE gckpp_LinearAlgebra USE gckpp_Global, ONLY: DO_SLV USE gckpp_Parameters USE gckpp_JacobianSP IMPLICIT NONE CONTAINS ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! SPARSE_UTIL - SPARSE utility functions ! Arguments : ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE KppDecomp( JVS, IER ) ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Sparse LU factorization ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ USE gckpp_Parameters USE gckpp_JacobianSP INTEGER :: IER REAL(kind=dp) :: JVS(LU_NONZERO), W(NVAR), a INTEGER :: k, kk, j, jj a = 0. ! mz_rs_20050606 IER = 0 DO k=1,NVAR ! mz_rs_20050606: don't check if real value == 0 ! IF ( JVS( LU_DIAG(k) ) .EQ. 0. ) THEN IF ( ABS(JVS(LU_DIAG(k))) < TINY(a) ) THEN IER = k RETURN END IF DO kk = LU_CROW(k), LU_CROW(k+1)-1 W( LU_ICOL(kk) ) = JVS(kk) END DO DO kk = LU_CROW(k), LU_DIAG(k)-1 j = LU_ICOL(kk) a = -W(j) / JVS( LU_DIAG(j) ) W(j) = -a DO jj = LU_DIAG(j)+1, LU_CROW(j+1)-1 W( LU_ICOL(jj) ) = W( LU_ICOL(jj) ) + a*JVS(jj) END DO END DO DO kk = LU_CROW(k), LU_CROW(k+1)-1 JVS(kk) = W( LU_ICOL(kk) ) END DO END DO END SUBROUTINE KppDecomp ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE KppDecompCmplx( JVS, IER ) ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Sparse LU factorization, complex ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ USE gckpp_Parameters USE gckpp_JacobianSP INTEGER :: IER COMPLEX(kind=dp) :: JVS(LU_NONZERO), W(NVAR), a REAL(kind=dp) :: b = 0.0 INTEGER :: k, kk, j, jj IER = 0 DO k=1,NVAR IF ( ABS(JVS(LU_DIAG(k))) < TINY(b) ) THEN IER = k RETURN END IF DO kk = LU_CROW(k), LU_CROW(k+1)-1 W( LU_ICOL(kk) ) = JVS(kk) END DO DO kk = LU_CROW(k), LU_DIAG(k)-1 j = LU_ICOL(kk) a = -W(j) / JVS( LU_DIAG(j) ) W(j) = -a DO jj = LU_DIAG(j)+1, LU_CROW(j+1)-1 W( LU_ICOL(jj) ) = W( LU_ICOL(jj) ) + a*JVS(jj) END DO END DO DO kk = LU_CROW(k), LU_CROW(k+1)-1 JVS(kk) = W( LU_ICOL(kk) ) END DO END DO END SUBROUTINE KppDecompCmplx ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE KppDecompCmplxR( JVSR, JVSI, IER ) ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Sparse LU factorization, complex ! (Real and Imaginary parts are used instead of complex data type) ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ USE gckpp_Parameters USE gckpp_JacobianSP INTEGER :: IER REAL(kind=dp) :: JVSR(LU_NONZERO), JVSI(LU_NONZERO) REAL(kind=dp) :: WR(NVAR), WI(NVAR), ar, ai, den INTEGER :: k, kk, j, jj IER = 0 ar = 0.0 DO k=1,NVAR IF ( ( ABS(JVSR(LU_DIAG(k))) < TINY(ar) ) .AND. & ( ABS(JVSI(LU_DIAG(k))) < TINY(ar) ) ) THEN IER = k RETURN END IF DO kk = LU_CROW(k), LU_CROW(k+1)-1 WR( LU_ICOL(kk) ) = JVSR(kk) WI( LU_ICOL(kk) ) = JVSI(kk) END DO DO kk = LU_CROW(k), LU_DIAG(k)-1 j = LU_ICOL(kk) den = JVSR(LU_DIAG(j))**2 + JVSI(LU_DIAG(j))**2 ar = -(WR(j)*JVSR(LU_DIAG(j)) + WI(j)*JVSI(LU_DIAG(j)))/den ai = -(WI(j)*JVSR(LU_DIAG(j)) - WR(j)*JVSI(LU_DIAG(j)))/den WR(j) = -ar WI(j) = -ai DO jj = LU_DIAG(j)+1, LU_CROW(j+1)-1 WR( LU_ICOL(jj) ) = WR( LU_ICOL(jj) ) + ar*JVSR(jj) - ai*JVSI(jj) WI( LU_ICOL(jj) ) = WI( LU_ICOL(jj) ) + ar*JVSI(jj) + ai*JVSR(jj) END DO END DO DO kk = LU_CROW(k), LU_CROW(k+1)-1 JVSR(kk) = WR( LU_ICOL(kk) ) JVSI(kk) = WI( LU_ICOL(kk) ) END DO END DO END SUBROUTINE KppDecompCmplxR ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE KppSolveIndirect( JVS, X ) ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Sparse solve subroutine using indirect addressing ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ USE gckpp_Parameters USE gckpp_JacobianSP INTEGER :: i, j REAL(kind=dp) :: JVS(LU_NONZERO), X(NVAR), sum DO i=1,NVAR DO j = LU_CROW(i), LU_DIAG(i)-1 X(i) = X(i) - JVS(j)*X(LU_ICOL(j)); END DO END DO DO i=NVAR,1,-1 sum = X(i); DO j = LU_DIAG(i)+1, LU_CROW(i+1)-1 sum = sum - JVS(j)*X(LU_ICOL(j)); END DO X(i) = sum/JVS(LU_DIAG(i)); END DO END SUBROUTINE KppSolveIndirect ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE KppSolveTRIndirect( JVS, X ) ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Complex sparse solve transpose subroutine using indirect addressing ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ USE gckpp_Parameters USE gckpp_JacobianSP INTEGER :: i, j REAL(kind=dp) :: JVS(LU_NONZERO), X(NVAR) DO i=1,NVAR X(i) = X(i)/JVS(LU_DIAG(i)) ! subtract all nonzero elements in row i of JVS from X DO j=LU_DIAG(i)+1,LU_CROW(i+1)-1 X(LU_ICOL(j)) = X(LU_ICOL(j))-JVS(j)*X(i) END DO END DO DO i=NVAR, 1, -1 ! subtract all nonzero elements in row i of JVS from X DO j=LU_CROW(i),LU_DIAG(i)-1 X(LU_ICOL(j)) = X(LU_ICOL(j))-JVS(j)*X(i) END DO END DO END SUBROUTINE KppSolveTRIndirect ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE KppSolveCmplx( JVS, X ) ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Complex sparse solve subroutine using indirect addressing ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ USE gckpp_Parameters USE gckpp_JacobianSP INTEGER :: i, j COMPLEX(kind=dp) :: JVS(LU_NONZERO), X(NVAR), sum DO i=1,NVAR DO j = LU_CROW(i), LU_DIAG(i)-1 X(i) = X(i) - JVS(j)*X(LU_ICOL(j)); END DO END DO DO i=NVAR,1,-1 sum = X(i); DO j = LU_DIAG(i)+1, LU_CROW(i+1)-1 sum = sum - JVS(j)*X(LU_ICOL(j)); END DO X(i) = sum/JVS(LU_DIAG(i)); END DO END SUBROUTINE KppSolveCmplx ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE KppSolveCmplxR( JVSR, JVSI, XR, XI ) ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Complex sparse solve subroutine using indirect addressing ! (Real and Imaginary parts are used instead of complex data type) ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ USE gckpp_Parameters USE gckpp_JacobianSP INTEGER :: i, j REAL(kind=dp) :: JVSR(LU_NONZERO), JVSI(LU_NONZERO), XR(NVAR), XI(NVAR), sumr, sumi, den DO i=1,NVAR DO j = LU_CROW(i), LU_DIAG(i)-1 XR(i) = XR(i) - (JVSR(j)*XR(LU_ICOL(j)) - JVSI(j)*XI(LU_ICOL(j))) XI(i) = XI(i) - (JVSR(j)*XI(LU_ICOL(j)) + JVSI(j)*XR(LU_ICOL(j))) END DO END DO DO i=NVAR,1,-1 sumr = XR(i); sumi = XI(i) DO j = LU_DIAG(i)+1, LU_CROW(i+1)-1 sumr = sumr - (JVSR(j)*XR(LU_ICOL(j)) - JVSI(j)*XI(LU_ICOL(j))) sumi = sumi - (JVSR(j)*XI(LU_ICOL(j)) + JVSI(j)*XR(LU_ICOL(j))) END DO den = JVSR(LU_DIAG(i))**2 + JVSI(LU_DIAG(i))**2 XR(i) = (sumr*JVSR(LU_DIAG(i)) + sumi*JVSI(LU_DIAG(i)))/den XI(i) = (sumi*JVSR(LU_DIAG(i)) - sumr*JVSI(LU_DIAG(i)))/den END DO END SUBROUTINE KppSolveCmplxR ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE KppSolveTRCmplx( JVS, X ) ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Complex sparse solve transpose subroutine using indirect addressing ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ USE gckpp_Parameters USE gckpp_JacobianSP INTEGER :: i, j COMPLEX(kind=dp) :: JVS(LU_NONZERO), X(NVAR) DO i=1,NVAR X(i) = X(i)/JVS(LU_DIAG(i)) ! subtract all nonzero elements in row i of JVS from X DO j=LU_DIAG(i)+1,LU_CROW(i+1)-1 X(LU_ICOL(j)) = X(LU_ICOL(j))-JVS(j)*X(i) END DO END DO DO i=NVAR, 1, -1 ! subtract all nonzero elements in row i of JVS from X DO j=LU_CROW(i),LU_DIAG(i)-1 X(LU_ICOL(j)) = X(LU_ICOL(j))-JVS(j)*X(i) END DO END DO END SUBROUTINE KppSolveTRCmplx ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE KppSolveTRCmplxR( JVSR, JVSI, XR, XI ) ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Complex sparse solve transpose subroutine using indirect addressing ! (Real and Imaginary parts are used instead of complex data type) ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ USE gckpp_Parameters USE gckpp_JacobianSP INTEGER :: i, j REAL(kind=dp) :: JVSR(LU_NONZERO), JVSI(LU_NONZERO), XR(NVAR), XI(NVAR), den DO i=1,NVAR den = JVSR(LU_DIAG(i))**2 + JVSI(LU_DIAG(i))**2 XR(i) = (XR(i)*JVSR(LU_DIAG(i)) + XI(i)*JVSI(LU_DIAG(i)))/den XI(i) = (XI(i)*JVSR(LU_DIAG(i)) - XR(i)*JVSI(LU_DIAG(i)))/den ! subtract all nonzero elements in row i of JVS from X DO j=LU_DIAG(i)+1,LU_CROW(i+1)-1 XR(LU_ICOL(j)) = XR(LU_ICOL(j))-(JVSR(j)*XR(i) - JVSI(j)*XI(i)) XI(LU_ICOL(j)) = XI(LU_ICOL(j))-(JVSI(j)*XR(i) + JVSR(j)*XI(i)) END DO END DO DO i=NVAR, 1, -1 ! subtract all nonzero elements in row i of JVS from X DO j=LU_CROW(i),LU_DIAG(i)-1 XR(LU_ICOL(j)) = XR(LU_ICOL(j))-(JVSR(j)*XR(i) - JVSI(j)*XI(i)) XI(LU_ICOL(j)) = XI(LU_ICOL(j))-(JVSI(j)*XR(i) + JVSR(j)*XI(i)) END DO END DO END SUBROUTINE KppSolveTRCmplxR ! ! Next few commented subroutines perform sparse big linear algebra ! !! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !SUBROUTINE KppDecompBig( JVS, IP, IER ) !! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !! Sparse LU factorization !! for the Runge Kutta (3n)x(3n) linear system !! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! USE gckpp_Parameters ! USE gckpp_JacobianSP ! ! INTEGER :: IP3(3), IER, IP(3,NVAR) ! REAL(kind=dp) :: JVS(3,3,LU_NONZERO), W(3,3,NVAR), a(3,3), E(3,3) ! INTEGER :: k, kk, j, jj ! ! a = 0.0d0 ! IER = 0 ! DO k=1,NVAR ! DO kk = LU_CROW(k), LU_CROW(k+1)-1 ! W( 1:3,1:3,LU_ICOL(kk) ) = JVS(1:3,1:3,kk) ! END DO ! DO kk = LU_CROW(k), LU_DIAG(k)-1 ! j = LU_ICOL(kk) ! E(1:3,1:3) = JVS( 1:3,1:3,LU_DIAG(j) ) ! ! CALL DGETRF(3,3,E,3,IP3,IER) ! CALL FAC3(E,IP3,IER) ! IF ( IER /= 0 ) RETURN ! ! a = W(j) / JVS( LU_DIAG(j) ) ! a(1:3,1:3) = W( 1:3,1:3,j ) ! ! CALL DGETRS ('N',3,3,E,3,IP3,a,3,IER) ! CALL SOL3('N',E,IP3,a(1,1)) ! CALL SOL3('N',E,IP3,a(1,2)) ! CALL SOL3('N',E,IP3,a(1,3)) ! W(1:3,1:3,j) = a(1:3,1:3) ! DO jj = LU_DIAG(j)+1, LU_CROW(j+1)-1 ! W( 1:3,1:3,LU_ICOL(jj) ) = W( 1:3,1:3,LU_ICOL(jj) ) & ! - MATMUL( a(1:3,1:3) , JVS(1:3,1:3,jj) ) ! END DO ! END DO ! DO kk = LU_CROW(k), LU_CROW(k+1)-1 ! JVS(1:3,1:3,kk) = W( 1:3,1:3,LU_ICOL(kk) ) ! END DO ! END DO ! ! DO k=1,NVAR ! ! CALL WGEFA(JVS(1,1,LU_DIAG(k)),3,3,IP(1,k),IER) ! ! CALL DGETRF(3,3,JVS(1,1,LU_DIAG(k)),3,IP(1,k),IER) ! CALL FAC3(JVS(1,1,LU_DIAG(k)),IP(1,k),IER) ! IF ( IER /= 0 ) RETURN ! END DO ! !END SUBROUTINE KppDecompBig ! ! !! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !SUBROUTINE KppSolveBig( JVS, IP, X ) !! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !! Sparse solve subroutine using indirect addressing !! for the Runge Kutta (3n)x(3n) linear system !! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! USE gckpp_Parameters ! USE gckpp_JacobianSP ! ! INTEGER :: i, j, k, m, IP3(3), IP(3,NVAR), IER ! REAL(kind=dp) :: JVS(3,3,LU_NONZERO), X(3,NVAR), sum(3) ! ! DO i=1,NVAR ! DO j = LU_CROW(i), LU_DIAG(i)-1 ! !X(1:3,i) = X(1:3,i) - MATMUL(JVS(1:3,1:3,j),X(1:3,LU_ICOL(j))); ! DO k=1,3 ! DO m=1,3 ! X(k,i) = X(k,i) - JVS(k,m,j)*X(m,LU_ICOL(j)) ! END DO ! END DO ! END DO ! END DO ! ! DO i=NVAR,1,-1 ! sum(1:3) = X(1:3,i); ! DO j = LU_DIAG(i)+1, LU_CROW(i+1)-1 ! !sum(1:3) = sum(1:3) - MATMUL(JVS(1:3,1:3,j),X(1:3,LU_ICOL(j))); ! DO k=1,3 ! DO m=1,3 ! sum(k) = sum(k) - JVS(k,m,j)*X(m,LU_ICOL(j)) ! END DO ! END DO ! END DO ! ! X(i) = sum/JVS(LU_DIAG(i)); ! ! CALL DGETRS ('N',3,1,JVS(1:3,1:3,LU_DIAG(i)),3,IP(1,i),sum,3,0) ! ! CALL WGESL('N',JVS(1,1,LU_DIAG(i)),3,3,IP(1,i),sum) ! CALL SOL3('N',JVS(1,1,LU_DIAG(i)),IP(1,i),sum) ! X(1:3,i) = sum(1:3) ! END DO ! !END SUBROUTINE KppSolveBig ! ! !! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !SUBROUTINE KppSolveBigTR( JVS, IP, X ) !! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !! Big sparse transpose solve using indirect addressing !! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! USE gckpp_Parameters ! USE gckpp_JacobianSP ! ! INTEGER :: i, j, k, m, IP(3,NVAR) ! REAL(kind=dp) :: JVS(3,3,LU_NONZERO), X(3,NVAR) ! ! DO i=1,NVAR ! ! X(i) = X(i)/JVS(LU_DIAG(i)) ! CALL SOL3('T',JVS(1,1,LU_DIAG(i)),IP(1,i),X(1,i)) ! DO j=LU_DIAG(i)+1,LU_CROW(i+1)-1 ! !X(1:3,LU_ICOL(j)) = X(1:3,LU_ICOL(j)) & ! ! - MATMUL( TRANSPOSE(JVS(1:3,1:3,j)), X(1:3,i) ) ! DO k=1,3 ! DO m=1,3 ! X(k,LU_ICOL(j)) = X(k,LU_ICOL(j)) - JVS(m,k,j)*X(m,i) ! END DO ! END DO ! END DO ! END DO ! ! DO i=NVAR, 1, -1 ! DO j=LU_CROW(i),LU_DIAG(i)-1 ! !X(1:3,LU_ICOL(j)) = X(1:3,LU_ICOL(j)) & ! ! - MATMUL( TRANSPOSE(JVS(1:3,1:3,j)), X(1:3,i) ) ! DO k=1,3 ! DO m=1,3 ! X(k,LU_ICOL(j)) = X(k,LU_ICOL(j)) - JVS(m,k,j)*X(m,i) ! END DO ! END DO ! END DO ! END DO ! !END SUBROUTINE KppSolveBigTR ! ! ! !! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !SUBROUTINE FAC3(A,IPVT,INFO) !! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !! FAC3 FACTORS THE MATRIX A (3,3) BY !! GAUSS ELIMINATION WITH PARTIAL PIVOTING !! LINPACK - LIKE !! !! Remove comments to perform pivoting !! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !! ! REAL(kind=dp) :: A(3,3) ! INTEGER :: IPVT(3),INFO !! INTEGER :: L !! REAL(kind=dp) :: t, dmax, da, TMP(3) ! REAL(kind=dp), PARAMETER :: ZERO = 0.0, ONE = 1.0 ! ! info = 0 !! t = TINY(da) !! !! da = ABS(A(1,1)); L = 1 !! IF ( ABS(A(2,1))>da ) THEN !! da = ABS(A(2,1)); L = 2 !! IF ( ABS(A(3,1))>da ) THEN !! L = 3 !! END IF !! END IF !! IPVT(1) = L !! IF (L /=1 ) THEN !! TMP(1:3) = A(L,1:3) !! A(L,1:3) = A(1,1:3) !! A(1,1:3) = TMP(1:3) !! END IF !! IF (ABS(A(1,1)) < t) THEN !! info = 1 !! return !! END IF !! ! A(2,1) = A(2,1)/A(1,1) ! A(2,2) = A(2,2) - A(2,1)*A(1,2) ! A(2,3) = A(2,3) - A(2,1)*A(1,3) ! A(3,1) = A(3,1)/A(1,1) ! A(3,2) = A(3,2) - A(3,1)*A(1,2) ! A(3,3) = A(3,3) - A(3,1)*A(1,3) ! !! IPVT(2) = 2 !! IF (ABS(A(3,2))>ABS(A(2,2))) THEN !! IPVT(2) = 3 !! TMP(2:3) = A(3,2:3) !! A(3,2:3) = A(2,2:3) !! A(2,2:3) = TMP(2:3) !! END IF !! IF (ABS(A(2,2)) < t) THEN !! info = 1 !! return !! END IF !! ! A(3,2) = A(3,2)/A(2,2) ! A(3,3) = A(3,3) - A(3,2)*A(2,3) ! IPVT(3) = 3 ! !END SUBROUTINE FAC3 ! ! !! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !SUBROUTINE SOL3(Trans,A,IPVT,b) !! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !! SOL3 solves the system 3x3 !! A * x = b or trans(a) * x = b !! using the factors computed by WGEFA. !! !! Trans = 'N' to solve A*x = b , !! = 'T' to solve transpose(A)*x = b !! LINPACK - LIKE !! !! Remove comments to use pivoting !! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! CHARACTER :: Trans ! REAL(kind=dp) :: a(3,3),b(3) ! INTEGER :: IPVT(3) !! INTEGER :: L !! REAL(kind=dp) :: TMP ! ! SELECT CASE (Trans) ! ! CASE ('n','N') ! Solve A * x = b ! !! Solve L*y = b !! L = IPVT(1) !! IF (L /= 1) THEN !! TMP = B(1); B(1) = B(L); B(L) = TMP !! END IF ! b(2) = b(2)-A(2,1)*b(1) ! b(3) = b(3)-A(3,1)*b(1) ! !! L = IPVT(2) !! IF (L /= 2) THEN !! TMP = B(2); B(2) = B(L); B(L) = TMP !! END IF ! b(3) = b(3)-A(3,2)*b(2) ! !! Solve U*x = y ! b(3) = b(3)/A(3,3) ! b(2) = (b(2)-A(2,3)*b(3))/A(2,2) ! b(1) = (b(1)-A(1,3)*b(3)-A(1,2)*b(2))/A(1,1) ! ! ! CASE ('t','T') ! Solve transpose(A) * x = b ! !! Solve transpose(U)*y = b ! b(1) = b(1)/A(1,1) ! b(2) = (b(2)-A(1,2)*b(1))/A(2,2) ! b(3) = (b(3)-A(1,3)*b(1)-A(2,3)*b(2))/A(3,3) ! !! Solve transpose(L)*x = y ! b(2) = b(2)-A(3,2)*b(3) !! L = ipvt(2) !! IF (L /= 2) THEN !! TMP = B(2); B(2) = B(L); B(L) = TMP !! END IF ! b(1) = b(1)-A(3,1)*b(3)-A(2,1)*b(2) !! L = ipvt(1) !! IF (L /= 1) THEN !! TMP = B(1); B(1) = B(L); B(L) = TMP !! END IF ! ! END SELECT ! !END SUBROUTINE SOL3 ! End of SPARSE_UTIL function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! KppSolve - sparse back substitution ! Arguments : ! JVS - sparse Jacobian of variables ! X - Vector for variables ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE KppSolve ( JVS, X ) ! JVS - sparse Jacobian of variables REAL(kind=dp) :: JVS(LU_NONZERO) ! X - Vector for variables REAL(kind=dp) :: X(NVAR) IF (DO_SLV(96)) & X(96) = X(96)-JVS(722)*X(42)-JVS(723)*X(44)-JVS(724)*X(55) IF (DO_SLV(110)) & X(110) = X(110)-JVS(794)*X(76) IF (DO_SLV(117)) & X(117) = X(117)-JVS(827)*X(90) IF (DO_SLV(121)) & X(121) = X(121)-JVS(849)*X(58) IF (DO_SLV(129)) & X(129) = X(129)-JVS(885)*X(112) IF (DO_SLV(134)) & X(134) = X(134)-JVS(918)*X(89) IF (DO_SLV(146)) & X(146) = X(146)-JVS(982)*X(121) IF (DO_SLV(158)) & X(158) = X(158)-JVS(1059)*X(82)-JVS(1060)*X(101)-JVS(1061)*X(149) IF (DO_SLV(162)) & X(162) = X(162)-JVS(1080)*X(138) IF (DO_SLV(170)) & X(170) = X(170)-JVS(1123)*X(62) IF (DO_SLV(173)) & X(173) = X(173)-JVS(1143)*X(101) IF (DO_SLV(176)) & X(176) = X(176)-JVS(1165)*X(137) IF (DO_SLV(178)) & X(178) = X(178)-JVS(1180)*X(69)-JVS(1181)*X(98) IF (DO_SLV(185)) & X(185) = X(185)-JVS(1217)*X(119)-JVS(1218)*X(147) IF (DO_SLV(189)) & X(189) = X(189)-JVS(1247)*X(149) IF (DO_SLV(190)) & X(190) = X(190)-JVS(1255)*X(168) IF (DO_SLV(195)) & X(195) = X(195)-JVS(1281)*X(143) IF (DO_SLV(196)) & X(196) = X(196)-JVS(1287)*X(165)-JVS(1288)*X(178) IF (DO_SLV(197)) & X(197) = X(197)-JVS(1294)*X(126) IF (DO_SLV(198)) & X(198) = X(198)-JVS(1301)*X(174) IF (DO_SLV(201)) & X(201) = X(201)-JVS(1315)*X(82)-JVS(1316)*X(101)-JVS(1317)*X(149)-JVS(1318)*X(158)-JVS(1319)*X(200) IF (DO_SLV(202)) & X(202) = X(202)-JVS(1324)*X(158)-JVS(1325)*X(195)-JVS(1326)*X(200) IF (DO_SLV(203)) & X(203) = X(203)-JVS(1332)*X(117)-JVS(1333)*X(158)-JVS(1334)*X(195)-JVS(1335)*X(200)-JVS(1336)*X(202) IF (DO_SLV(204)) & X(204) = X(204)-JVS(1348)*X(82)-JVS(1349)*X(101)-JVS(1350)*X(116)-JVS(1351)*X(149)-JVS(1352)*X(189)-JVS(1353)*X(200) IF (DO_SLV(205)) & X(205) = X(205)-JVS(1361)*X(175) IF (DO_SLV(208)) & X(208) = X(208)-JVS(1377)*X(131)-JVS(1378)*X(147) IF (DO_SLV(210)) & X(210) = X(210)-JVS(1393)*X(209) IF (DO_SLV(212)) & X(212) = X(212)-JVS(1410)*X(140) IF (DO_SLV(213)) & X(213) = X(213)-JVS(1417)*X(114) IF (DO_SLV(215)) & X(215) = X(215)-JVS(1432)*X(128)-JVS(1433)*X(144)-JVS(1434)*X(150)-JVS(1435)*X(151)-JVS(1436)*X(152)-JVS(1437)*X(168)& &-JVS(1438)*X(175)-JVS(1439)*X(186)-JVS(1440)*X(187)-JVS(1441)*X(192)-JVS(1442)*X(199)-JVS(1443)*X(209) IF (DO_SLV(216)) & X(216) = X(216)-JVS(1457)*X(206) IF (DO_SLV(217)) & X(217) = X(217)-JVS(1469)*X(181) IF (DO_SLV(221)) & X(221) = X(221)-JVS(1495)*X(82)-JVS(1496)*X(101)-JVS(1497)*X(143)-JVS(1498)*X(149)-JVS(1499)*X(195)-JVS(1500)*X(200)& &-JVS(1501)*X(202)-JVS(1502)*X(220) IF (DO_SLV(223)) & X(223) = X(223)-JVS(1514)*X(187)-JVS(1515)*X(209) IF (DO_SLV(224)) & X(224) = X(224)-JVS(1521)*X(192)-JVS(1522)*X(199) IF (DO_SLV(225)) & X(225) = X(225)-JVS(1528)*X(111)-JVS(1529)*X(137)-JVS(1530)*X(191) IF (DO_SLV(226)) & X(226) = X(226)-JVS(1540)*X(186) IF (DO_SLV(227)) & X(227) = X(227)-JVS(1546)*X(131)-JVS(1547)*X(147)-JVS(1548)*X(153)-JVS(1549)*X(194) IF (DO_SLV(230)) & X(230) = X(230)-JVS(1576)*X(209) IF (DO_SLV(231)) & X(231) = X(231)-JVS(1582)*X(199) IF (DO_SLV(232)) & X(232) = X(232)-JVS(1588)*X(187)-JVS(1589)*X(192) IF (DO_SLV(233)) & X(233) = X(233)-JVS(1596)*X(140)-JVS(1597)*X(212) IF (DO_SLV(234)) & X(234) = X(234)-JVS(1604)*X(109)-JVS(1605)*X(136)-JVS(1606)*X(233) IF (DO_SLV(235)) & X(235) = X(235)-JVS(1615)*X(71)-JVS(1616)*X(90)-JVS(1617)*X(204)-JVS(1618)*X(220) IF (DO_SLV(236)) & X(236) = X(236)-JVS(1627)*X(71)-JVS(1628)*X(117)-JVS(1629)*X(203)-JVS(1630)*X(204)-JVS(1631)*X(220)-JVS(1632)*X(235) IF (DO_SLV(238)) & X(238) = X(238)-JVS(1650)*X(199)-JVS(1651)*X(209) IF (DO_SLV(239)) & X(239) = X(239)-JVS(1661)*X(64)-JVS(1662)*X(65)-JVS(1663)*X(166)-JVS(1664)*X(179) IF (DO_SLV(240)) & X(240) = X(240)-JVS(1682)*X(122)-JVS(1683)*X(146)-JVS(1684)*X(200) IF (DO_SLV(242)) & X(242) = X(242)-JVS(1699)*X(193) IF (DO_SLV(243)) & X(243) = X(243)-JVS(1711)*X(128)-JVS(1712)*X(192)-JVS(1713)*X(199)-JVS(1714)*X(209) IF (DO_SLV(244)) & X(244) = X(244)-JVS(1723)*X(199)-JVS(1724)*X(224)-JVS(1725)*X(226) IF (DO_SLV(245)) & X(245) = X(245)-JVS(1739)*X(110) IF (DO_SLV(246)) & X(246) = X(246)-JVS(1753)*X(113) IF (DO_SLV(247)) & X(247) = X(247)-JVS(1760)*X(125)-JVS(1761)*X(180)-JVS(1762)*X(182)-JVS(1763)*X(206)-JVS(1764)*X(216)-JVS(1765)*X(226) IF (DO_SLV(248)) & X(248) = X(248)-JVS(1782)*X(172)-JVS(1783)*X(205)-JVS(1784)*X(231) IF (DO_SLV(250)) & X(250) = X(250)-JVS(1804)*X(125) IF (DO_SLV(253)) & X(253) = X(253)-JVS(1827)*X(172)-JVS(1828)*X(231) IF (DO_SLV(254)) & X(254) = X(254)-JVS(1838)*X(171)-JVS(1839)*X(230) IF (DO_SLV(255)) & X(255) = X(255)-JVS(1849)*X(167) IF (DO_SLV(256)) & X(256) = X(256)-JVS(1859)*X(162)-JVS(1860)*X(176)-JVS(1861)*X(177)-JVS(1862)*X(211)-JVS(1863)*X(237)-JVS(1864)*X(255) IF (DO_SLV(257)) & X(257) = X(257)-JVS(1881)*X(56)-JVS(1882)*X(74)-JVS(1883)*X(111)-JVS(1884)*X(225) IF (DO_SLV(258)) & X(258) = X(258)-JVS(1895)*X(174)-JVS(1896)*X(223)-JVS(1897)*X(224)-JVS(1898)*X(232)-JVS(1899)*X(243) IF (DO_SLV(259)) & X(259) = X(259)-JVS(1910)*X(159)-JVS(1911)*X(184) IF (DO_SLV(260)) & X(260) = X(260)-JVS(1920)*X(123) IF (DO_SLV(261)) & X(261) = X(261)-JVS(1930)*X(180)-JVS(1931)*X(182)-JVS(1932)*X(207)-JVS(1933)*X(226) IF (DO_SLV(262)) & X(262) = X(262)-JVS(1947)*X(193)-JVS(1948)*X(219)-JVS(1949)*X(229) IF (DO_SLV(263)) & X(263) = X(263)-JVS(1959)*X(82)-JVS(1960)*X(101)-JVS(1961)*X(137)-JVS(1962)*X(138)-JVS(1963)*X(143)-JVS(1964)*X(149)& &-JVS(1965)*X(158)-JVS(1966)*X(160)-JVS(1967)*X(167)-JVS(1968)*X(176)-JVS(1969)*X(193)-JVS(1970)*X(195)& &-JVS(1971)*X(200)-JVS(1972)*X(202)-JVS(1973)*X(211)-JVS(1974)*X(219)-JVS(1975)*X(220)-JVS(1976)*X(229)& &-JVS(1977)*X(237)-JVS(1978)*X(255)-JVS(1979)*X(262) IF (DO_SLV(264)) & X(264) = X(264)-JVS(1993)*X(241) IF (DO_SLV(265)) & X(265) = X(265)-JVS(2009)*X(60)-JVS(2010)*X(88)-JVS(2011)*X(107)-JVS(2012)*X(159)-JVS(2013)*X(184)-JVS(2014)*X(194)& &-JVS(2015)*X(201)-JVS(2016)*X(221)-JVS(2017)*X(230)-JVS(2018)*X(231)-JVS(2019)*X(259) IF (DO_SLV(266)) & X(266) = X(266)-JVS(2041)*X(190)-JVS(2042)*X(205)-JVS(2043)*X(206)-JVS(2044)*X(207)-JVS(2045)*X(226)-JVS(2046)*X(243) IF (DO_SLV(269)) & X(269) = X(269)-JVS(2073)*X(158)-JVS(2074)*X(195)-JVS(2075)*X(200)-JVS(2076)*X(202)-JVS(2077)*X(203)-JVS(2078)*X(220)& &-JVS(2079)*X(235)-JVS(2080)*X(236) IF (DO_SLV(270)) & X(270) = X(270)-JVS(2089)*X(60)-JVS(2090)*X(82)-JVS(2091)*X(101)-JVS(2092)*X(143)-JVS(2093)*X(185)-JVS(2094)*X(194)& &-JVS(2095)*X(195)-JVS(2096)*X(198)-JVS(2097)*X(200)-JVS(2098)*X(210)-JVS(2099)*X(220)-JVS(2100)*X(221)& &-JVS(2101)*X(223)-JVS(2102)*X(224)-JVS(2103)*X(226)-JVS(2104)*X(227)-JVS(2105)*X(230)-JVS(2106)*X(231)& &-JVS(2107)*X(232)-JVS(2108)*X(233)-JVS(2109)*X(258)-JVS(2110)*X(267)-JVS(2111)*X(268)-JVS(2112)*X(269) IF (DO_SLV(271)) & X(271) = X(271)-JVS(2134)*X(222) IF (DO_SLV(272)) & X(272) = X(272)-JVS(2142)*X(211)-JVS(2143)*X(237) IF (DO_SLV(273)) & X(273) = X(273)-JVS(2153)*X(129)-JVS(2154)*X(138)-JVS(2155)*X(161)-JVS(2156)*X(191) IF (DO_SLV(274)) & X(274) = X(274)-JVS(2166)*X(57)-JVS(2167)*X(161)-JVS(2168)*X(162)-JVS(2169)*X(163)-JVS(2170)*X(167)-JVS(2171)*X(169)& &-JVS(2172)*X(177)-JVS(2173)*X(211)-JVS(2174)*X(237)-JVS(2175)*X(255)-JVS(2176)*X(272)-JVS(2177)*X(273) IF (DO_SLV(275)) & X(275) = X(275)-JVS(2189)*X(112)-JVS(2190)*X(191)-JVS(2191)*X(219) IF (DO_SLV(277)) & X(277) = X(277)-JVS(2205)*X(111)-JVS(2206)*X(191)-JVS(2207)*X(219) IF (DO_SLV(278)) & X(278) = X(278)-JVS(2216)*X(66)-JVS(2217)*X(74)-JVS(2218)*X(160)-JVS(2219)*X(225)-JVS(2220)*X(257)-JVS(2221)*X(277) IF (DO_SLV(279)) & X(279) = X(279)-JVS(2231)*X(249) IF (DO_SLV(280)) & X(280) = X(280)-JVS(2240)*X(167)-JVS(2241)*X(191)-JVS(2242)*X(193)-JVS(2243)*X(219)-JVS(2244)*X(229)-JVS(2245)*X(262) IF (DO_SLV(281)) & X(281) = X(281)-JVS(2256)*X(167)-JVS(2257)*X(191)-JVS(2258)*X(219) IF (DO_SLV(282)) & X(282) = X(282)-JVS(2267)*X(234)-JVS(2268)*X(246)-JVS(2269)*X(249)-JVS(2270)*X(250)-JVS(2271)*X(260)-JVS(2272)*X(272)& &-JVS(2273)*X(273)-JVS(2274)*X(275)-JVS(2275)*X(277)-JVS(2276)*X(278)-JVS(2277)*X(279)-JVS(2278)*X(281) IF (DO_SLV(283)) & X(283) = X(283)-JVS(2305)*X(201)-JVS(2306)*X(241)-JVS(2307)*X(249)-JVS(2308)*X(250)-JVS(2309)*X(260)-JVS(2310)*X(275)& &-JVS(2311)*X(277)-JVS(2312)*X(279)-JVS(2313)*X(281) IF (DO_SLV(284)) & X(284) = X(284)-JVS(2340)*X(44)-JVS(2341)*X(55)-JVS(2342)*X(96) IF (DO_SLV(285)) & X(285) = X(285)-JVS(2354)*X(147)-JVS(2355)*X(151)-JVS(2356)*X(152)-JVS(2357)*X(168)-JVS(2358)*X(175)-JVS(2359)*X(187)& &-JVS(2360)*X(192)-JVS(2361)*X(238)-JVS(2362)*X(267)-JVS(2363)*X(268) IF (DO_SLV(286)) & X(286) = X(286)-JVS(2374)*X(147)-JVS(2375)*X(151)-JVS(2376)*X(152)-JVS(2377)*X(168)-JVS(2378)*X(175)-JVS(2379)*X(187)& &-JVS(2380)*X(192)-JVS(2381)*X(238)-JVS(2382)*X(267)-JVS(2383)*X(268)-JVS(2384)*X(285) IF (DO_SLV(287)) & X(287) = X(287)-JVS(2394)*X(144)-JVS(2395)*X(192)-JVS(2396)*X(198)-JVS(2397)*X(199)-JVS(2398)*X(223)-JVS(2399)*X(224)& &-JVS(2400)*X(231)-JVS(2401)*X(232)-JVS(2402)*X(238)-JVS(2403)*X(253)-JVS(2404)*X(258)-JVS(2405)*X(266)& &-JVS(2406)*X(267)-JVS(2407)*X(268)-JVS(2408)*X(271)-JVS(2409)*X(276)-JVS(2410)*X(285)-JVS(2411)*X(286) IF (DO_SLV(288)) & X(288) = X(288)-JVS(2428)*X(150)-JVS(2429)*X(187)-JVS(2430)*X(198)-JVS(2431)*X(209)-JVS(2432)*X(223)-JVS(2433)*X(224)& &-JVS(2434)*X(230)-JVS(2435)*X(232)-JVS(2436)*X(238)-JVS(2437)*X(254)-JVS(2438)*X(266)-JVS(2439)*X(267)& &-JVS(2440)*X(268)-JVS(2441)*X(271)-JVS(2442)*X(276)-JVS(2443)*X(285)-JVS(2444)*X(286) IF (DO_SLV(289)) & X(289) = X(289)-JVS(2461)*X(167)-JVS(2462)*X(191)-JVS(2463)*X(219)-JVS(2464)*X(280) IF (DO_SLV(291)) & X(291) = X(291)-JVS(2481)*X(219) IF (DO_SLV(292)) & X(292) = X(292)-JVS(2490)*X(160)-JVS(2491)*X(176)-JVS(2492)*X(178)-JVS(2493)*X(219)-JVS(2494)*X(251)-JVS(2495)*X(256)& &-JVS(2496)*X(262)-JVS(2497)*X(272)-JVS(2498)*X(273)-JVS(2499)*X(275)-JVS(2500)*X(277)-JVS(2501)*X(278)& &-JVS(2502)*X(279)-JVS(2503)*X(280)-JVS(2504)*X(281)-JVS(2505)*X(289)-JVS(2506)*X(291) IF (DO_SLV(293)) & X(293) = X(293)-JVS(2520)*X(145)-JVS(2521)*X(186)-JVS(2522)*X(222) IF (DO_SLV(294)) & X(294) = X(294)-JVS(2534)*X(82)-JVS(2535)*X(101)-JVS(2536)*X(107)-JVS(2537)*X(159)-JVS(2538)*X(184)-JVS(2539)*X(185)& &-JVS(2540)*X(194)-JVS(2541)*X(198)-JVS(2542)*X(199)-JVS(2543)*X(200)-JVS(2544)*X(201)-JVS(2545)*X(209)& &-JVS(2546)*X(215)-JVS(2547)*X(223)-JVS(2548)*X(224)-JVS(2549)*X(227)-JVS(2550)*X(230)-JVS(2551)*X(231)& &-JVS(2552)*X(232)-JVS(2553)*X(238)-JVS(2554)*X(244)-JVS(2555)*X(247)-JVS(2556)*X(250)-JVS(2557)*X(253)& &-JVS(2558)*X(254)-JVS(2559)*X(258)-JVS(2560)*X(259)-JVS(2561)*X(266)-JVS(2562)*X(267)-JVS(2563)*X(268)& &-JVS(2564)*X(271)-JVS(2565)*X(276)-JVS(2566)*X(285)-JVS(2567)*X(286)-JVS(2568)*X(287)-JVS(2569)*X(288)& &-JVS(2570)*X(290)-JVS(2571)*X(293) IF (DO_SLV(295)) & X(295) = X(295)-JVS(2597)*X(91)-JVS(2598)*X(100)-JVS(2599)*X(160)-JVS(2600)*X(161)-JVS(2601)*X(162)-JVS(2602)*X(176)& &-JVS(2603)*X(219)-JVS(2604)*X(229)-JVS(2605)*X(251)-JVS(2606)*X(262)-JVS(2607)*X(273)-JVS(2608)*X(275)& &-JVS(2609)*X(277)-JVS(2610)*X(278)-JVS(2611)*X(279)-JVS(2612)*X(291) IF (DO_SLV(296)) & X(296) = X(296)-JVS(2629)*X(173)-JVS(2630)*X(183)-JVS(2631)*X(200)-JVS(2632)*X(201)-JVS(2633)*X(221)-JVS(2634)*X(240)& &-JVS(2635)*X(246)-JVS(2636)*X(269)-JVS(2637)*X(289)-JVS(2638)*X(291) IF (DO_SLV(297)) & X(297) = X(297)-JVS(2652)*X(214) IF (DO_SLV(298)) & X(298) = X(298)-JVS(2664)*X(95)-JVS(2665)*X(97)-JVS(2666)*X(98)-JVS(2667)*X(99)-JVS(2668)*X(102)-JVS(2669)*X(125)& &-JVS(2670)*X(130)-JVS(2671)*X(161)-JVS(2672)*X(162)-JVS(2673)*X(165)-JVS(2674)*X(169)-JVS(2675)*X(178)& &-JVS(2676)*X(188)-JVS(2677)*X(196)-JVS(2678)*X(201)-JVS(2679)*X(212)-JVS(2680)*X(219)-JVS(2681)*X(221)& &-JVS(2682)*X(229)-JVS(2683)*X(242)-JVS(2684)*X(249)-JVS(2685)*X(250)-JVS(2686)*X(251)-JVS(2687)*X(260)& &-JVS(2688)*X(269)-JVS(2689)*X(272)-JVS(2690)*X(273)-JVS(2691)*X(274)-JVS(2692)*X(275)-JVS(2693)*X(279)& &-JVS(2694)*X(280)-JVS(2695)*X(281)-JVS(2696)*X(289)-JVS(2697)*X(290)-JVS(2698)*X(291) IF (DO_SLV(299)) & X(299) = X(299)-JVS(2717)*X(180)-JVS(2718)*X(190)-JVS(2719)*X(205)-JVS(2720)*X(206)-JVS(2721)*X(207)-JVS(2722)*X(226)& &-JVS(2723)*X(267)-JVS(2724)*X(268)-JVS(2725)*X(271)-JVS(2726)*X(293) IF (DO_SLV(300)) & X(300) = X(300)-JVS(2739)*X(102)-JVS(2740)*X(142)-JVS(2741)*X(201) IF (DO_SLV(301)) & X(301) = X(301)-JVS(2751)*X(145)-JVS(2752)*X(186)-JVS(2753)*X(267)-JVS(2754)*X(268)-JVS(2755)*X(299) IF (DO_SLV(302)) & X(302) = X(302)-JVS(2768)*X(171)-JVS(2769)*X(190)-JVS(2770)*X(207)-JVS(2771)*X(226)-JVS(2772)*X(230)-JVS(2773)*X(254)& &-JVS(2774)*X(267)-JVS(2775)*X(271)-JVS(2776)*X(276)-JVS(2777)*X(293)-JVS(2778)*X(299)-JVS(2779)*X(301) IF (DO_SLV(303)) & X(303) = X(303)-JVS(2796)*X(186)-JVS(2797)*X(190)-JVS(2798)*X(205)-JVS(2799)*X(206)-JVS(2800)*X(207)-JVS(2801)*X(222)& &-JVS(2802)*X(223)-JVS(2803)*X(224)-JVS(2804)*X(226)-JVS(2805)*X(232)-JVS(2806)*X(267)-JVS(2807)*X(268)& &-JVS(2808)*X(271)-JVS(2809)*X(293)-JVS(2810)*X(299) IF (DO_SLV(304)) & X(304) = X(304)-JVS(2822)*X(186)-JVS(2823)*X(192)-JVS(2824)*X(199)-JVS(2825)*X(276) IF (DO_SLV(305)) & X(305) = X(305)-JVS(2836)*X(186)-JVS(2837)*X(187)-JVS(2838)*X(209)-JVS(2839)*X(276)-JVS(2840)*X(304) IF (DO_SLV(306)) & X(306) = X(306)-JVS(2850)*X(70)-JVS(2851)*X(106)-JVS(2852)*X(113)-JVS(2853)*X(126)-JVS(2854)*X(127)-JVS(2855)*X(132)& &-JVS(2856)*X(136)-JVS(2857)*X(174)-JVS(2858)*X(180)-JVS(2859)*X(197)-JVS(2860)*X(198)-JVS(2861)*X(201)& &-JVS(2862)*X(202)-JVS(2863)*X(205)-JVS(2864)*X(206)-JVS(2865)*X(212)-JVS(2866)*X(220)-JVS(2867)*X(221)& &-JVS(2868)*X(223)-JVS(2869)*X(224)-JVS(2870)*X(232)-JVS(2871)*X(233)-JVS(2872)*X(234)-JVS(2873)*X(246)& &-JVS(2874)*X(254)-JVS(2875)*X(258)-JVS(2876)*X(262)-JVS(2877)*X(266)-JVS(2878)*X(267)-JVS(2879)*X(268)& &-JVS(2880)*X(269)-JVS(2881)*X(271)-JVS(2882)*X(276)-JVS(2883)*X(285)-JVS(2884)*X(286)-JVS(2885)*X(288)& &-JVS(2886)*X(291)-JVS(2887)*X(293)-JVS(2888)*X(299)-JVS(2889)*X(301)-JVS(2890)*X(302)-JVS(2891)*X(303)& &-JVS(2892)*X(304)-JVS(2893)*X(305) IF (DO_SLV(307)) & X(307) = X(307)-JVS(2908)*X(123)-JVS(2909)*X(153)-JVS(2910)*X(154)-JVS(2911)*X(159)-JVS(2912)*X(174)-JVS(2913)*X(184)& &-JVS(2914)*X(198)-JVS(2915)*X(205)-JVS(2916)*X(207)-JVS(2917)*X(215)-JVS(2918)*X(223)-JVS(2919)*X(224)& &-JVS(2920)*X(230)-JVS(2921)*X(231)-JVS(2922)*X(232)-JVS(2923)*X(242)-JVS(2924)*X(243)-JVS(2925)*X(248)& &-JVS(2926)*X(253)-JVS(2927)*X(256)-JVS(2928)*X(258)-JVS(2929)*X(259)-JVS(2930)*X(260)-JVS(2931)*X(267)& &-JVS(2932)*X(268)-JVS(2933)*X(271)-JVS(2934)*X(272)-JVS(2935)*X(273)-JVS(2936)*X(275)-JVS(2937)*X(276)& &-JVS(2938)*X(277)-JVS(2939)*X(278)-JVS(2940)*X(280)-JVS(2941)*X(281)-JVS(2942)*X(285)-JVS(2943)*X(286)& &-JVS(2944)*X(287)-JVS(2945)*X(289)-JVS(2946)*X(290)-JVS(2947)*X(291)-JVS(2948)*X(293)-JVS(2949)*X(299)& &-JVS(2950)*X(301)-JVS(2951)*X(303)-JVS(2952)*X(304)-JVS(2953)*X(305) IF (DO_SLV(308)) & X(308) = X(308)-JVS(2971)*X(248)-JVS(2972)*X(253)-JVS(2973)*X(276)-JVS(2974)*X(301)-JVS(2975)*X(303)-JVS(2976)*X(304)& &-JVS(2977)*X(305) IF (DO_SLV(309)) & X(309) = X(309)-JVS(2991)*X(135)-JVS(2992)*X(144)-JVS(2993)*X(168)-JVS(2994)*X(192)-JVS(2995)*X(199)-JVS(2996)*X(222)& &-JVS(2997)*X(231)-JVS(2998)*X(276)-JVS(2999)*X(299)-JVS(3000)*X(303)-JVS(3001)*X(304)-JVS(3002)*X(305) IF (DO_SLV(310)) & X(310) = X(310)-JVS(3014)*X(222)-JVS(3015)*X(276) IF (DO_SLV(311)) & X(311) = X(311)-JVS(3026)*X(186)-JVS(3027)*X(276)-JVS(3028)*X(310) IF (DO_SLV(312)) & X(312) = X(312)-JVS(3038)*X(109)-JVS(3039)*X(191)-JVS(3040)*X(220)-JVS(3041)*X(233)-JVS(3042)*X(255)-JVS(3043)*X(276)& &-JVS(3044)*X(281)-JVS(3045)*X(290)-JVS(3046)*X(309)-JVS(3047)*X(310)-JVS(3048)*X(311) IF (DO_SLV(313)) & X(313) = X(313)-JVS(3064)*X(244)-JVS(3065)*X(271)-JVS(3066)*X(276)-JVS(3067)*X(287)-JVS(3068)*X(295)-JVS(3069)*X(300)& &-JVS(3070)*X(301)-JVS(3071)*X(303)-JVS(3072)*X(304)-JVS(3073)*X(305)-JVS(3074)*X(309)-JVS(3075)*X(310)& &-JVS(3076)*X(311) IF (DO_SLV(314)) & X(314) = X(314)-JVS(3092)*X(82)-JVS(3093)*X(101)-JVS(3094)*X(133)-JVS(3095)*X(150)-JVS(3096)*X(175)-JVS(3097)*X(187)& &-JVS(3098)*X(209)-JVS(3099)*X(219)-JVS(3100)*X(222)-JVS(3101)*X(229)-JVS(3102)*X(230)-JVS(3103)*X(262)& &-JVS(3104)*X(276)-JVS(3105)*X(291)-JVS(3106)*X(299)-JVS(3107)*X(303)-JVS(3108)*X(304)-JVS(3109)*X(305)& &-JVS(3110)*X(310)-JVS(3111)*X(311) IF (DO_SLV(315)) & X(315) = X(315)-JVS(3121)*X(118)-JVS(3122)*X(251)-JVS(3123)*X(279)-JVS(3124)*X(292)-JVS(3125)*X(296)-JVS(3126)*X(298)& &-JVS(3127)*X(300)-JVS(3128)*X(314) IF (DO_SLV(316)) & X(316) = X(316)-JVS(3146)*X(148)-JVS(3147)*X(218) IF (DO_SLV(318)) & X(318) = X(318)-JVS(3177)*X(251)-JVS(3178)*X(269) IF (DO_SLV(319)) & X(319) = X(319)-JVS(3190)*X(97)-JVS(3191)*X(130)-JVS(3192)*X(142)-JVS(3193)*X(161)-JVS(3194)*X(162)-JVS(3195)*X(169)& &-JVS(3196)*X(178)-JVS(3197)*X(249)-JVS(3198)*X(272)-JVS(3199)*X(273)-JVS(3200)*X(274)-JVS(3201)*X(275)& &-JVS(3202)*X(279)-JVS(3203)*X(281)-JVS(3204)*X(300)-JVS(3205)*X(318) IF (DO_SLV(320)) & X(320) = X(320)-JVS(3217)*X(219)-JVS(3218)*X(292)-JVS(3219)*X(300)-JVS(3220)*X(318)-JVS(3221)*X(319) IF (DO_SLV(321)) & X(321) = X(321)-JVS(3232)*X(99)-JVS(3233)*X(141)-JVS(3234)*X(251)-JVS(3235)*X(279)-JVS(3236)*X(292)-JVS(3237)*X(298)& &-JVS(3238)*X(300)-JVS(3239)*X(314)-JVS(3240)*X(318)-JVS(3241)*X(319)-JVS(3242)*X(320) IF (DO_SLV(322)) & X(322) = X(322)-JVS(3256)*X(124)-JVS(3257)*X(155)-JVS(3258)*X(160)-JVS(3259)*X(176)-JVS(3260)*X(196)-JVS(3261)*X(201)& &-JVS(3262)*X(221)-JVS(3263)*X(240)-JVS(3264)*X(246)-JVS(3265)*X(269)-JVS(3266)*X(277)-JVS(3267)*X(278)& &-JVS(3268)*X(292)-JVS(3269)*X(298)-JVS(3270)*X(300)-JVS(3271)*X(314)-JVS(3272)*X(318)-JVS(3273)*X(319)& &-JVS(3274)*X(320)-JVS(3275)*X(321) IF (DO_SLV(323)) & X(323) = X(323)-JVS(3288)*X(100)-JVS(3289)*X(141)-JVS(3290)*X(251)-JVS(3291)*X(279)-JVS(3292)*X(292)-JVS(3293)*X(298)& &-JVS(3294)*X(300)-JVS(3295)*X(314)-JVS(3296)*X(318)-JVS(3297)*X(319)-JVS(3298)*X(320)-JVS(3299)*X(321)& &-JVS(3300)*X(322) IF (DO_SLV(324)) & X(324) = X(324)-JVS(3312)*X(92)-JVS(3313)*X(107)-JVS(3314)*X(115)-JVS(3315)*X(122)-JVS(3316)*X(130)-JVS(3317)*X(139)& &-JVS(3318)*X(146)-JVS(3319)*X(159)-JVS(3320)*X(169)-JVS(3321)*X(184)-JVS(3322)*X(185)-JVS(3323)*X(194)& &-JVS(3324)*X(196)-JVS(3325)*X(200)-JVS(3326)*X(208)-JVS(3327)*X(209)-JVS(3328)*X(227)-JVS(3329)*X(230)& &-JVS(3330)*X(231)-JVS(3331)*X(240)-JVS(3332)*X(243)-JVS(3333)*X(244)-JVS(3334)*X(247)-JVS(3335)*X(249)& &-JVS(3336)*X(250)-JVS(3337)*X(254)-JVS(3338)*X(257)-JVS(3339)*X(258)-JVS(3340)*X(259)-JVS(3341)*X(260)& &-JVS(3342)*X(261)-JVS(3343)*X(263)-JVS(3344)*X(267)-JVS(3345)*X(268)-JVS(3346)*X(271)-JVS(3347)*X(272)& &-JVS(3348)*X(274)-JVS(3349)*X(275)-JVS(3350)*X(276)-JVS(3351)*X(277)-JVS(3352)*X(278)-JVS(3353)*X(279)& &-JVS(3354)*X(280)-JVS(3355)*X(281)-JVS(3356)*X(285)-JVS(3357)*X(286)-JVS(3358)*X(287)-JVS(3359)*X(288)& &-JVS(3360)*X(289)-JVS(3361)*X(290)-JVS(3362)*X(291)-JVS(3363)*X(292)-JVS(3364)*X(293)-JVS(3365)*X(294)& &-JVS(3366)*X(295)-JVS(3367)*X(296)-JVS(3368)*X(299)-JVS(3369)*X(300)-JVS(3370)*X(301)-JVS(3371)*X(302)& &-JVS(3372)*X(303)-JVS(3373)*X(304)-JVS(3374)*X(305)-JVS(3375)*X(307)-JVS(3376)*X(308)-JVS(3377)*X(309)& &-JVS(3378)*X(310)-JVS(3379)*X(311)-JVS(3380)*X(313)-JVS(3381)*X(314)-JVS(3382)*X(315)-JVS(3383)*X(318)& &-JVS(3384)*X(319)-JVS(3385)*X(320)-JVS(3386)*X(321)-JVS(3387)*X(322)-JVS(3388)*X(323) IF (DO_SLV(325)) & X(325) = X(325)-JVS(3400)*X(72)-JVS(3401)*X(80)-JVS(3402)*X(88)-JVS(3403)*X(89)-JVS(3404)*X(92)-JVS(3405)*X(93)& &-JVS(3406)*X(94)-JVS(3407)*X(106)-JVS(3408)*X(109)-JVS(3409)*X(112)-JVS(3410)*X(114)-JVS(3411)*X(122)& &-JVS(3412)*X(123)-JVS(3413)*X(127)-JVS(3414)*X(130)-JVS(3415)*X(136)-JVS(3416)*X(137)-JVS(3417)*X(138)& &-JVS(3418)*X(139)-JVS(3419)*X(140)-JVS(3420)*X(146)-JVS(3421)*X(149)-JVS(3422)*X(159)-JVS(3423)*X(160)& &-JVS(3424)*X(164)-JVS(3425)*X(165)-JVS(3426)*X(168)-JVS(3427)*X(169)-JVS(3428)*X(175)-JVS(3429)*X(176)& &-JVS(3430)*X(187)-JVS(3431)*X(190)-JVS(3432)*X(191)-JVS(3433)*X(192)-JVS(3434)*X(196)-JVS(3435)*X(197)& &-JVS(3436)*X(199)-JVS(3437)*X(200)-JVS(3438)*X(205)-JVS(3439)*X(206)-JVS(3440)*X(207)-JVS(3441)*X(208)& &-JVS(3442)*X(209)-JVS(3443)*X(210)-JVS(3444)*X(211)-JVS(3445)*X(212)-JVS(3446)*X(213)-JVS(3447)*X(215)& &-JVS(3448)*X(219)-JVS(3449)*X(220)-JVS(3450)*X(222)-JVS(3451)*X(223)-JVS(3452)*X(224)-JVS(3453)*X(226)& &-JVS(3454)*X(228)-JVS(3455)*X(229)-JVS(3456)*X(230)-JVS(3457)*X(231)-JVS(3458)*X(233)-JVS(3459)*X(234)& &-JVS(3460)*X(235)-JVS(3461)*X(236)-JVS(3462)*X(240)-JVS(3463)*X(243)-JVS(3464)*X(244)-JVS(3465)*X(246)& &-JVS(3466)*X(247)-JVS(3467)*X(249)-JVS(3468)*X(250)-JVS(3469)*X(253)-JVS(3470)*X(254)-JVS(3471)*X(255)& &-JVS(3472)*X(257)-JVS(3473)*X(258)-JVS(3474)*X(259)-JVS(3475)*X(260)-JVS(3476)*X(261)-JVS(3477)*X(262)& &-JVS(3478)*X(263)-JVS(3479)*X(267)-JVS(3480)*X(268)-JVS(3481)*X(270)-JVS(3482)*X(271)-JVS(3483)*X(272)& &-JVS(3484)*X(273)-JVS(3485)*X(274)-JVS(3486)*X(275)-JVS(3487)*X(276)-JVS(3488)*X(277)-JVS(3489)*X(278)& &-JVS(3490)*X(279)-JVS(3491)*X(280)-JVS(3492)*X(281)-JVS(3493)*X(282)-JVS(3494)*X(285)-JVS(3495)*X(286)& &-JVS(3496)*X(287)-JVS(3497)*X(288)-JVS(3498)*X(289)-JVS(3499)*X(290)-JVS(3500)*X(291)-JVS(3501)*X(293)& &-JVS(3502)*X(296)-JVS(3503)*X(299)-JVS(3504)*X(300)-JVS(3505)*X(301)-JVS(3506)*X(302)-JVS(3507)*X(303)& &-JVS(3508)*X(304)-JVS(3509)*X(305)-JVS(3510)*X(306)-JVS(3511)*X(307)-JVS(3512)*X(308)-JVS(3513)*X(309)& &-JVS(3514)*X(310)-JVS(3515)*X(311)-JVS(3516)*X(312)-JVS(3517)*X(313)-JVS(3518)*X(314)-JVS(3519)*X(315)& &-JVS(3520)*X(318)-JVS(3521)*X(319)-JVS(3522)*X(320)-JVS(3523)*X(321)-JVS(3524)*X(322)-JVS(3525)*X(323)& &-JVS(3526)*X(324) IF (DO_SLV(326)) & X(326) = X(326)-JVS(3544)*X(83)-JVS(3545)*X(118)-JVS(3546)*X(123)-JVS(3547)*X(124)-JVS(3548)*X(149)-JVS(3549)*X(155)& &-JVS(3550)*X(156)-JVS(3551)*X(165)-JVS(3552)*X(196)-JVS(3553)*X(240)-JVS(3554)*X(241)-JVS(3555)*X(246)& &-JVS(3556)*X(249)-JVS(3557)*X(250)-JVS(3558)*X(251)-JVS(3559)*X(260)-JVS(3560)*X(279)-JVS(3561)*X(290)& &-JVS(3562)*X(296)-JVS(3563)*X(300)-JVS(3564)*X(314)-JVS(3565)*X(315)-JVS(3566)*X(318)-JVS(3567)*X(319)& &-JVS(3568)*X(320)-JVS(3569)*X(321)-JVS(3570)*X(322)-JVS(3571)*X(323)-JVS(3572)*X(324) IF (DO_SLV(327)) & X(327) = X(327)-JVS(3586)*X(45)-JVS(3587)*X(69)-JVS(3588)*X(94)-JVS(3589)*X(103)-JVS(3590)*X(142)-JVS(3591)*X(149)& &-JVS(3592)*X(154)-JVS(3593)*X(158)-JVS(3594)*X(166)-JVS(3595)*X(168)-JVS(3596)*X(175)-JVS(3597)*X(179)& &-JVS(3598)*X(183)-JVS(3599)*X(186)-JVS(3600)*X(195)-JVS(3601)*X(200)-JVS(3602)*X(202)-JVS(3603)*X(204)& &-JVS(3604)*X(214)-JVS(3605)*X(216)-JVS(3606)*X(218)-JVS(3607)*X(220)-JVS(3608)*X(222)-JVS(3609)*X(225)& &-JVS(3610)*X(226)-JVS(3611)*X(242)-JVS(3612)*X(248)-JVS(3613)*X(251)-JVS(3614)*X(253)-JVS(3615)*X(256)& &-JVS(3616)*X(261)-JVS(3617)*X(266)-JVS(3618)*X(267)-JVS(3619)*X(268)-JVS(3620)*X(269)-JVS(3621)*X(270)& &-JVS(3622)*X(271)-JVS(3623)*X(272)-JVS(3624)*X(273)-JVS(3625)*X(275)-JVS(3626)*X(276)-JVS(3627)*X(277)& &-JVS(3628)*X(278)-JVS(3629)*X(280)-JVS(3630)*X(281)-JVS(3631)*X(285)-JVS(3632)*X(286)-JVS(3633)*X(288)& &-JVS(3634)*X(289)-JVS(3635)*X(291)-JVS(3636)*X(292)-JVS(3637)*X(293)-JVS(3638)*X(294)-JVS(3639)*X(298)& &-JVS(3640)*X(299)-JVS(3641)*X(300)-JVS(3642)*X(301)-JVS(3643)*X(302)-JVS(3644)*X(303)-JVS(3645)*X(304)& &-JVS(3646)*X(305)-JVS(3647)*X(306)-JVS(3648)*X(307)-JVS(3649)*X(308)-JVS(3650)*X(309)-JVS(3651)*X(310)& &-JVS(3652)*X(311)-JVS(3653)*X(313)-JVS(3654)*X(314)-JVS(3655)*X(317)-JVS(3656)*X(318)-JVS(3657)*X(319)& &-JVS(3658)*X(320)-JVS(3659)*X(321)-JVS(3660)*X(322)-JVS(3661)*X(323)-JVS(3662)*X(324)-JVS(3663)*X(325)& &-JVS(3664)*X(326) IF (DO_SLV(328)) & X(328) = X(328)-JVS(3689)*X(52)-JVS(3690)*X(80)-JVS(3691)*X(92)-JVS(3692)*X(94)-JVS(3693)*X(105)-JVS(3694)*X(139)& &-JVS(3695)*X(155)-JVS(3696)*X(159)-JVS(3697)*X(164)-JVS(3698)*X(181)-JVS(3699)*X(228)-JVS(3700)*X(234)& &-JVS(3701)*X(235)-JVS(3702)*X(236)-JVS(3703)*X(240)-JVS(3704)*X(246)-JVS(3705)*X(249)-JVS(3706)*X(250)& &-JVS(3707)*X(251)-JVS(3708)*X(257)-JVS(3709)*X(259)-JVS(3710)*X(260)-JVS(3711)*X(263)-JVS(3712)*X(272)& &-JVS(3713)*X(273)-JVS(3714)*X(274)-JVS(3715)*X(275)-JVS(3716)*X(276)-JVS(3717)*X(277)-JVS(3718)*X(278)& &-JVS(3719)*X(279)-JVS(3720)*X(280)-JVS(3721)*X(281)-JVS(3722)*X(283)-JVS(3723)*X(289)-JVS(3724)*X(290)& &-JVS(3725)*X(291)-JVS(3726)*X(292)-JVS(3727)*X(295)-JVS(3728)*X(296)-JVS(3729)*X(300)-JVS(3730)*X(304)& &-JVS(3731)*X(305)-JVS(3732)*X(307)-JVS(3733)*X(308)-JVS(3734)*X(309)-JVS(3735)*X(310)-JVS(3736)*X(311)& &-JVS(3737)*X(313)-JVS(3738)*X(314)-JVS(3739)*X(315)-JVS(3740)*X(318)-JVS(3741)*X(319)-JVS(3742)*X(320)& &-JVS(3743)*X(321)-JVS(3744)*X(322)-JVS(3745)*X(323)-JVS(3746)*X(324)-JVS(3747)*X(326) IF (DO_SLV(329)) & X(329) = X(329)-JVS(3762)*X(60)-JVS(3763)*X(68)-JVS(3764)*X(75)-JVS(3765)*X(79)-JVS(3766)*X(82)-JVS(3767)*X(101)& &-JVS(3768)*X(107)-JVS(3769)*X(113)-JVS(3770)*X(114)-JVS(3771)*X(119)-JVS(3772)*X(122)-JVS(3773)*X(124)& &-JVS(3774)*X(126)-JVS(3775)*X(127)-JVS(3776)*X(132)-JVS(3777)*X(139)-JVS(3778)*X(143)-JVS(3779)*X(144)& &-JVS(3780)*X(146)-JVS(3781)*X(147)-JVS(3782)*X(150)-JVS(3783)*X(153)-JVS(3784)*X(159)-JVS(3785)*X(167)& &-JVS(3786)*X(181)-JVS(3787)*X(182)-JVS(3788)*X(184)-JVS(3789)*X(185)-JVS(3790)*X(187)-JVS(3791)*X(191)& &-JVS(3792)*X(192)-JVS(3793)*X(194)-JVS(3794)*X(197)-JVS(3795)*X(199)-JVS(3796)*X(200)-JVS(3797)*X(201)& &-JVS(3798)*X(204)-JVS(3799)*X(208)-JVS(3800)*X(209)-JVS(3801)*X(210)-JVS(3802)*X(212)-JVS(3803)*X(213)& &-JVS(3804)*X(215)-JVS(3805)*X(216)-JVS(3806)*X(220)-JVS(3807)*X(221)-JVS(3808)*X(223)-JVS(3809)*X(225)& &-JVS(3810)*X(226)-JVS(3811)*X(227)-JVS(3812)*X(230)-JVS(3813)*X(231)-JVS(3814)*X(233)-JVS(3815)*X(238)& &-JVS(3816)*X(240)-JVS(3817)*X(241)-JVS(3818)*X(243)-JVS(3819)*X(246)-JVS(3820)*X(248)-JVS(3821)*X(253)& &-JVS(3822)*X(254)-JVS(3823)*X(255)-JVS(3824)*X(258)-JVS(3825)*X(259)-JVS(3826)*X(261)-JVS(3827)*X(266)& &-JVS(3828)*X(267)-JVS(3829)*X(268)-JVS(3830)*X(269)-JVS(3831)*X(270)-JVS(3832)*X(271)-JVS(3833)*X(276)& &-JVS(3834)*X(277)-JVS(3835)*X(281)-JVS(3836)*X(285)-JVS(3837)*X(286)-JVS(3838)*X(287)-JVS(3839)*X(288)& &-JVS(3840)*X(290)-JVS(3841)*X(293)-JVS(3842)*X(294)-JVS(3843)*X(295)-JVS(3844)*X(298)-JVS(3845)*X(299)& &-JVS(3846)*X(300)-JVS(3847)*X(301)-JVS(3848)*X(302)-JVS(3849)*X(303)-JVS(3850)*X(304)-JVS(3851)*X(305)& &-JVS(3852)*X(306)-JVS(3853)*X(307)-JVS(3854)*X(308)-JVS(3855)*X(309)-JVS(3856)*X(310)-JVS(3857)*X(311)& &-JVS(3858)*X(312)-JVS(3859)*X(313)-JVS(3860)*X(314)-JVS(3861)*X(318)-JVS(3862)*X(319)-JVS(3863)*X(320)& &-JVS(3864)*X(321)-JVS(3865)*X(322)-JVS(3866)*X(323)-JVS(3867)*X(324)-JVS(3868)*X(325)-JVS(3869)*X(326)& &-JVS(3870)*X(328) IF (DO_SLV(330)) & X(330) = X(330)-JVS(3885)*X(170)-JVS(3886)*X(252)-JVS(3887)*X(284) IF (DO_SLV(331)) & X(331) = X(331)-JVS(3904)*X(1)-JVS(3905)*X(2)-JVS(3906)*X(3)-JVS(3907)*X(44)-JVS(3908)*X(52)-JVS(3909)*X(62)-JVS(3910)& &*X(73)-JVS(3911)*X(77)-JVS(3912)*X(96)-JVS(3913)*X(104)-JVS(3914)*X(170)-JVS(3915)*X(252)-JVS(3916)*X(284)& &-JVS(3917)*X(330) IF (DO_SLV(332)) & X(332) = X(332)-JVS(3933)*X(170)-JVS(3934)*X(252)-JVS(3935)*X(284)-JVS(3936)*X(330)-JVS(3937)*X(331) IF (DO_SLV(333)) & X(333) = X(333)-JVS(3952)*X(76)-JVS(3953)*X(120)-JVS(3954)*X(245)-JVS(3955)*X(284)-JVS(3956)*X(297)-JVS(3957)*X(317)& &-JVS(3958)*X(328)-JVS(3959)*X(329)-JVS(3960)*X(330)-JVS(3961)*X(331)-JVS(3962)*X(332) IF (DO_SLV(334)) & X(334) = X(334)-JVS(3984)*X(46)-JVS(3985)*X(47)-JVS(3986)*X(48)-JVS(3987)*X(49)-JVS(3988)*X(50)-JVS(3989)*X(51)& &-JVS(3990)*X(53)-JVS(3991)*X(54)-JVS(3992)*X(61)-JVS(3993)*X(63)-JVS(3994)*X(67)-JVS(3995)*X(78)-JVS(3996)& &*X(81)-JVS(3997)*X(84)-JVS(3998)*X(85)-JVS(3999)*X(86)-JVS(4000)*X(87)-JVS(4001)*X(105)-JVS(4002)*X(181)& &-JVS(4003)*X(228)-JVS(4004)*X(245)-JVS(4005)*X(290)-JVS(4006)*X(297)-JVS(4007)*X(314)-JVS(4008)*X(317)& &-JVS(4009)*X(324)-JVS(4010)*X(326)-JVS(4011)*X(328)-JVS(4012)*X(329)-JVS(4013)*X(333) IF (DO_SLV(335)) & X(335) = X(335)-JVS(4034)*X(56)-JVS(4035)*X(57)-JVS(4036)*X(59)-JVS(4037)*X(64)-JVS(4038)*X(65)-JVS(4039)*X(67)& &-JVS(4040)*X(70)-JVS(4041)*X(80)-JVS(4042)*X(83)-JVS(4043)*X(90)-JVS(4044)*X(91)-JVS(4045)*X(93)-JVS(4046)& &*X(95)-JVS(4047)*X(96)-JVS(4048)*X(108)-JVS(4049)*X(113)-JVS(4050)*X(114)-JVS(4051)*X(116)-JVS(4052)*X(121)& &-JVS(4053)*X(122)-JVS(4054)*X(124)-JVS(4055)*X(125)-JVS(4056)*X(126)-JVS(4057)*X(127)-JVS(4058)*X(132)& &-JVS(4059)*X(133)-JVS(4060)*X(135)-JVS(4061)*X(137)-JVS(4062)*X(138)-JVS(4063)*X(139)-JVS(4064)*X(140)& &-JVS(4065)*X(154)-JVS(4066)*X(162)-JVS(4067)*X(163)-JVS(4068)*X(165)-JVS(4069)*X(166)-JVS(4070)*X(168)& &-JVS(4071)*X(171)-JVS(4072)*X(172)-JVS(4073)*X(175)-JVS(4074)*X(176)-JVS(4075)*X(177)-JVS(4076)*X(178)& &-JVS(4077)*X(179)-JVS(4078)*X(180)-JVS(4079)*X(182)-JVS(4080)*X(184)-JVS(4081)*X(186)-JVS(4082)*X(189)& &-JVS(4083)*X(190)-JVS(4084)*X(193)-JVS(4085)*X(196)-JVS(4086)*X(197)-JVS(4087)*X(200)-JVS(4088)*X(203)& &-JVS(4089)*X(205)-JVS(4090)*X(206)-JVS(4091)*X(207)-JVS(4092)*X(211)-JVS(4093)*X(212)-JVS(4094)*X(213)& &-JVS(4095)*X(214)-JVS(4096)*X(218)-JVS(4097)*X(220)-JVS(4098)*X(222)-JVS(4099)*X(223)-JVS(4100)*X(224)& &-JVS(4101)*X(226)-JVS(4102)*X(229)-JVS(4103)*X(230)-JVS(4104)*X(231)-JVS(4105)*X(232)-JVS(4106)*X(233)& &-JVS(4107)*X(234)-JVS(4108)*X(235)-JVS(4109)*X(236)-JVS(4110)*X(237)-JVS(4111)*X(239)-JVS(4112)*X(240)& &-JVS(4113)*X(241)-JVS(4114)*X(242)-JVS(4115)*X(243)-JVS(4116)*X(246)-JVS(4117)*X(247)-JVS(4118)*X(248)& &-JVS(4119)*X(249)-JVS(4120)*X(250)-JVS(4121)*X(251)-JVS(4122)*X(252)-JVS(4123)*X(253)-JVS(4124)*X(254)& &-JVS(4125)*X(255)-JVS(4126)*X(256)-JVS(4127)*X(257)-JVS(4128)*X(259)-JVS(4129)*X(260)-JVS(4130)*X(261)& &-JVS(4131)*X(262)-JVS(4132)*X(263)-JVS(4133)*X(266)-JVS(4134)*X(267)-JVS(4135)*X(268)-JVS(4136)*X(269)& &-JVS(4137)*X(271)-JVS(4138)*X(272)-JVS(4139)*X(273)-JVS(4140)*X(274)-JVS(4141)*X(275)-JVS(4142)*X(276)& &-JVS(4143)*X(277)-JVS(4144)*X(278)-JVS(4145)*X(279)-JVS(4146)*X(280)-JVS(4147)*X(281)-JVS(4148)*X(284)& &-JVS(4149)*X(285)-JVS(4150)*X(286)-JVS(4151)*X(289)-JVS(4152)*X(290)-JVS(4153)*X(291)-JVS(4154)*X(293)& &-JVS(4155)*X(296)-JVS(4156)*X(297)-JVS(4157)*X(299)-JVS(4158)*X(300)-JVS(4159)*X(301)-JVS(4160)*X(302)& &-JVS(4161)*X(303)-JVS(4162)*X(304)-JVS(4163)*X(305)-JVS(4164)*X(306)-JVS(4165)*X(308)-JVS(4166)*X(309)& &-JVS(4167)*X(310)-JVS(4168)*X(311)-JVS(4169)*X(312)-JVS(4170)*X(313)-JVS(4171)*X(314)-JVS(4172)*X(315)& &-JVS(4173)*X(317)-JVS(4174)*X(318)-JVS(4175)*X(319)-JVS(4176)*X(320)-JVS(4177)*X(321)-JVS(4178)*X(322)& &-JVS(4179)*X(323)-JVS(4180)*X(324)-JVS(4181)*X(326)-JVS(4182)*X(327)-JVS(4183)*X(328)-JVS(4184)*X(329)& &-JVS(4185)*X(330)-JVS(4186)*X(331)-JVS(4187)*X(332)-JVS(4188)*X(334) IF (DO_SLV(336)) & X(336) = X(336)-JVS(4208)*X(43)-JVS(4209)*X(52)-JVS(4210)*X(73)-JVS(4211)*X(84)-JVS(4212)*X(85)-JVS(4213)*X(86)& &-JVS(4214)*X(87)-JVS(4215)*X(105)-JVS(4216)*X(108)-JVS(4217)*X(116)-JVS(4218)*X(164)-JVS(4219)*X(173)& &-JVS(4220)*X(181)-JVS(4221)*X(183)-JVS(4222)*X(189)-JVS(4223)*X(196)-JVS(4224)*X(200)-JVS(4225)*X(201)& &-JVS(4226)*X(214)-JVS(4227)*X(217)-JVS(4228)*X(218)-JVS(4229)*X(220)-JVS(4230)*X(221)-JVS(4231)*X(228)& &-JVS(4232)*X(239)-JVS(4233)*X(240)-JVS(4234)*X(241)-JVS(4235)*X(244)-JVS(4236)*X(246)-JVS(4237)*X(251)& &-JVS(4238)*X(252)-JVS(4239)*X(264)-JVS(4240)*X(265)-JVS(4241)*X(269)-JVS(4242)*X(271)-JVS(4243)*X(276)& &-JVS(4244)*X(279)-JVS(4245)*X(283)-JVS(4246)*X(287)-JVS(4247)*X(289)-JVS(4248)*X(290)-JVS(4249)*X(291)& &-JVS(4250)*X(292)-JVS(4251)*X(295)-JVS(4252)*X(296)-JVS(4253)*X(297)-JVS(4254)*X(298)-JVS(4255)*X(300)& &-JVS(4256)*X(301)-JVS(4257)*X(302)-JVS(4258)*X(303)-JVS(4259)*X(304)-JVS(4260)*X(305)-JVS(4261)*X(306)& &-JVS(4262)*X(307)-JVS(4263)*X(308)-JVS(4264)*X(309)-JVS(4265)*X(310)-JVS(4266)*X(311)-JVS(4267)*X(312)& &-JVS(4268)*X(313)-JVS(4269)*X(314)-JVS(4270)*X(315)-JVS(4271)*X(316)-JVS(4272)*X(317)-JVS(4273)*X(318)& &-JVS(4274)*X(319)-JVS(4275)*X(320)-JVS(4276)*X(321)-JVS(4277)*X(322)-JVS(4278)*X(323)-JVS(4279)*X(324)& &-JVS(4280)*X(325)-JVS(4281)*X(326)-JVS(4282)*X(327)-JVS(4283)*X(328)-JVS(4284)*X(329)-JVS(4285)*X(330)& &-JVS(4286)*X(331)-JVS(4287)*X(332)-JVS(4288)*X(333)-JVS(4289)*X(334)-JVS(4290)*X(335) IF (DO_SLV(337)) & X(337) = X(337)-JVS(4309)*X(60)-JVS(4310)*X(72)-JVS(4311)*X(75)-JVS(4312)*X(79)-JVS(4313)*X(80)-JVS(4314)*X(82)& &-JVS(4315)*X(83)-JVS(4316)*X(88)-JVS(4317)*X(91)-JVS(4318)*X(93)-JVS(4319)*X(95)-JVS(4320)*X(97)-JVS(4321)& &*X(98)-JVS(4322)*X(99)-JVS(4323)*X(100)-JVS(4324)*X(101)-JVS(4325)*X(102)-JVS(4326)*X(105)-JVS(4327)*X(106)& &-JVS(4328)*X(108)-JVS(4329)*X(111)-JVS(4330)*X(112)-JVS(4331)*X(115)-JVS(4332)*X(116)-JVS(4333)*X(118)& &-JVS(4334)*X(119)-JVS(4335)*X(121)-JVS(4336)*X(123)-JVS(4337)*X(125)-JVS(4338)*X(127)-JVS(4339)*X(128)& &-JVS(4340)*X(131)-JVS(4341)*X(132)-JVS(4342)*X(133)-JVS(4343)*X(135)-JVS(4344)*X(136)-JVS(4345)*X(137)& &-JVS(4346)*X(138)-JVS(4347)*X(143)-JVS(4348)*X(144)-JVS(4349)*X(145)-JVS(4350)*X(146)-JVS(4351)*X(147)& &-JVS(4352)*X(149)-JVS(4353)*X(150)-JVS(4354)*X(151)-JVS(4355)*X(152)-JVS(4356)*X(153)-JVS(4357)*X(155)& &-JVS(4358)*X(156)-JVS(4359)*X(158)-JVS(4360)*X(161)-JVS(4361)*X(164)-JVS(4362)*X(165)-JVS(4363)*X(168)& &-JVS(4364)*X(171)-JVS(4365)*X(172)-JVS(4366)*X(174)-JVS(4367)*X(175)-JVS(4368)*X(178)-JVS(4369)*X(180)& &-JVS(4370)*X(181)-JVS(4371)*X(182)-JVS(4372)*X(185)-JVS(4373)*X(186)-JVS(4374)*X(187)-JVS(4375)*X(188)& &-JVS(4376)*X(189)-JVS(4377)*X(190)-JVS(4378)*X(192)-JVS(4379)*X(194)-JVS(4380)*X(195)-JVS(4381)*X(196)& &-JVS(4382)*X(197)-JVS(4383)*X(198)-JVS(4384)*X(199)-JVS(4385)*X(200)-JVS(4386)*X(201)-JVS(4387)*X(202)& &-JVS(4388)*X(204)-JVS(4389)*X(205)-JVS(4390)*X(206)-JVS(4391)*X(207)-JVS(4392)*X(208)-JVS(4393)*X(209)& &-JVS(4394)*X(210)-JVS(4395)*X(212)-JVS(4396)*X(213)-JVS(4397)*X(216)-JVS(4398)*X(217)-JVS(4399)*X(219)& &-JVS(4400)*X(220)-JVS(4401)*X(221)-JVS(4402)*X(222)-JVS(4403)*X(223)-JVS(4404)*X(224)-JVS(4405)*X(225)& &-JVS(4406)*X(226)-JVS(4407)*X(227)-JVS(4408)*X(228)-JVS(4409)*X(229)-JVS(4410)*X(230)-JVS(4411)*X(231)& &-JVS(4412)*X(232)-JVS(4413)*X(233)-JVS(4414)*X(234)-JVS(4415)*X(235)-JVS(4416)*X(236)-JVS(4417)*X(238)& &-JVS(4418)*X(240)-JVS(4419)*X(243)-JVS(4420)*X(246)-JVS(4421)*X(248)-JVS(4422)*X(249)-JVS(4423)*X(250)& &-JVS(4424)*X(251)-JVS(4425)*X(253)-JVS(4426)*X(254)-JVS(4427)*X(255)-JVS(4428)*X(257)-JVS(4429)*X(258)& &-JVS(4430)*X(259)-JVS(4431)*X(260)-JVS(4432)*X(261)-JVS(4433)*X(262)-JVS(4434)*X(263)-JVS(4435)*X(264)& &-JVS(4436)*X(265)-JVS(4437)*X(266)-JVS(4438)*X(267)-JVS(4439)*X(268)-JVS(4440)*X(269)-JVS(4441)*X(270)& &-JVS(4442)*X(271)-JVS(4443)*X(272)-JVS(4444)*X(273)-JVS(4445)*X(274)-JVS(4446)*X(275)-JVS(4447)*X(276)& &-JVS(4448)*X(277)-JVS(4449)*X(278)-JVS(4450)*X(279)-JVS(4451)*X(280)-JVS(4452)*X(281)-JVS(4453)*X(282)& &-JVS(4454)*X(284)-JVS(4455)*X(285)-JVS(4456)*X(286)-JVS(4457)*X(287)-JVS(4458)*X(288)-JVS(4459)*X(289)& &-JVS(4460)*X(290)-JVS(4461)*X(291)-JVS(4462)*X(293)-JVS(4463)*X(294)-JVS(4464)*X(296)-JVS(4465)*X(298)& &-JVS(4466)*X(299)-JVS(4467)*X(300)-JVS(4468)*X(301)-JVS(4469)*X(302)-JVS(4470)*X(303)-JVS(4471)*X(304)& &-JVS(4472)*X(305)-JVS(4473)*X(306)-JVS(4474)*X(307)-JVS(4475)*X(308)-JVS(4476)*X(309)-JVS(4477)*X(310)& &-JVS(4478)*X(311)-JVS(4479)*X(312)-JVS(4480)*X(313)-JVS(4481)*X(314)-JVS(4482)*X(315)-JVS(4483)*X(318)& &-JVS(4484)*X(319)-JVS(4485)*X(320)-JVS(4486)*X(321)-JVS(4487)*X(322)-JVS(4488)*X(323)-JVS(4489)*X(324)& &-JVS(4490)*X(325)-JVS(4491)*X(326)-JVS(4492)*X(328)-JVS(4493)*X(329)-JVS(4494)*X(330)-JVS(4495)*X(331)& &-JVS(4496)*X(332)-JVS(4497)*X(334)-JVS(4498)*X(335)-JVS(4499)*X(336) IF (DO_SLV(338)) & X(338) = X(338)-JVS(4517)*X(46)-JVS(4518)*X(47)-JVS(4519)*X(48)-JVS(4520)*X(49)-JVS(4521)*X(50)-JVS(4522)*X(51)& &-JVS(4523)*X(61)-JVS(4524)*X(76)-JVS(4525)*X(84)-JVS(4526)*X(85)-JVS(4527)*X(86)-JVS(4528)*X(87)-JVS(4529)& &*X(110)-JVS(4530)*X(120)-JVS(4531)*X(181)-JVS(4532)*X(245)-JVS(4533)*X(284)-JVS(4534)*X(296)-JVS(4535)*X(297)& &-JVS(4536)*X(315)-JVS(4537)*X(317)-JVS(4538)*X(318)-JVS(4539)*X(319)-JVS(4540)*X(320)-JVS(4541)*X(321)& &-JVS(4542)*X(322)-JVS(4543)*X(323)-JVS(4544)*X(324)-JVS(4545)*X(326)-JVS(4546)*X(328)-JVS(4547)*X(329)& &-JVS(4548)*X(330)-JVS(4549)*X(331)-JVS(4550)*X(332)-JVS(4551)*X(333)-JVS(4552)*X(334)-JVS(4553)*X(335)& &-JVS(4554)*X(336)-JVS(4555)*X(337) IF (DO_SLV(339)) & X(339) = X(339)-JVS(4572)*X(75)-JVS(4573)*X(79)-JVS(4574)*X(141)-JVS(4575)*X(142)-JVS(4576)*X(156)-JVS(4577)*X(164)& &-JVS(4578)*X(166)-JVS(4579)*X(179)-JVS(4580)*X(181)-JVS(4581)*X(183)-JVS(4582)*X(214)-JVS(4583)*X(218)& &-JVS(4584)*X(228)-JVS(4585)*X(264)-JVS(4586)*X(265)-JVS(4587)*X(269)-JVS(4588)*X(276)-JVS(4589)*X(282)& &-JVS(4590)*X(283)-JVS(4591)*X(289)-JVS(4592)*X(290)-JVS(4593)*X(291)-JVS(4594)*X(295)-JVS(4595)*X(296)& &-JVS(4596)*X(297)-JVS(4597)*X(300)-JVS(4598)*X(301)-JVS(4599)*X(302)-JVS(4600)*X(303)-JVS(4601)*X(304)& &-JVS(4602)*X(305)-JVS(4603)*X(306)-JVS(4604)*X(307)-JVS(4605)*X(308)-JVS(4606)*X(309)-JVS(4607)*X(310)& &-JVS(4608)*X(311)-JVS(4609)*X(312)-JVS(4610)*X(313)-JVS(4611)*X(314)-JVS(4612)*X(315)-JVS(4613)*X(316)& &-JVS(4614)*X(317)-JVS(4615)*X(318)-JVS(4616)*X(319)-JVS(4617)*X(320)-JVS(4618)*X(321)-JVS(4619)*X(322)& &-JVS(4620)*X(323)-JVS(4621)*X(324)-JVS(4622)*X(325)-JVS(4623)*X(326)-JVS(4624)*X(327)-JVS(4625)*X(328)& &-JVS(4626)*X(329)-JVS(4627)*X(332)-JVS(4628)*X(333)-JVS(4629)*X(334)-JVS(4630)*X(335)-JVS(4631)*X(336)& &-JVS(4632)*X(337)-JVS(4633)*X(338) IF (DO_SLV(340)) & X(340) = X(340)-JVS(4649)*X(3)-JVS(4650)*X(43)-JVS(4651)*X(46)-JVS(4652)*X(47)-JVS(4653)*X(48)-JVS(4654)*X(49)& &-JVS(4655)*X(50)-JVS(4656)*X(51)-JVS(4657)*X(61)-JVS(4658)*X(75)-JVS(4659)*X(76)-JVS(4660)*X(79)-JVS(4661)& &*X(84)-JVS(4662)*X(85)-JVS(4663)*X(86)-JVS(4664)*X(87)-JVS(4665)*X(104)-JVS(4666)*X(110)-JVS(4667)*X(141)& &-JVS(4668)*X(142)-JVS(4669)*X(156)-JVS(4670)*X(157)-JVS(4671)*X(164)-JVS(4672)*X(181)-JVS(4673)*X(183)& &-JVS(4674)*X(218)-JVS(4675)*X(228)-JVS(4676)*X(245)-JVS(4677)*X(252)-JVS(4678)*X(264)-JVS(4679)*X(265)& &-JVS(4680)*X(269)-JVS(4681)*X(276)-JVS(4682)*X(282)-JVS(4683)*X(283)-JVS(4684)*X(284)-JVS(4685)*X(289)& &-JVS(4686)*X(290)-JVS(4687)*X(291)-JVS(4688)*X(295)-JVS(4689)*X(296)-JVS(4690)*X(297)-JVS(4691)*X(300)& &-JVS(4692)*X(301)-JVS(4693)*X(302)-JVS(4694)*X(303)-JVS(4695)*X(304)-JVS(4696)*X(305)-JVS(4697)*X(306)& &-JVS(4698)*X(307)-JVS(4699)*X(308)-JVS(4700)*X(309)-JVS(4701)*X(310)-JVS(4702)*X(311)-JVS(4703)*X(312)& &-JVS(4704)*X(313)-JVS(4705)*X(314)-JVS(4706)*X(315)-JVS(4707)*X(316)-JVS(4708)*X(317)-JVS(4709)*X(318)& &-JVS(4710)*X(319)-JVS(4711)*X(320)-JVS(4712)*X(321)-JVS(4713)*X(322)-JVS(4714)*X(323)-JVS(4715)*X(324)& &-JVS(4716)*X(325)-JVS(4717)*X(326)-JVS(4718)*X(328)-JVS(4719)*X(329)-JVS(4720)*X(330)-JVS(4721)*X(331)& &-JVS(4722)*X(332)-JVS(4723)*X(333)-JVS(4724)*X(334)-JVS(4725)*X(335)-JVS(4726)*X(336)-JVS(4727)*X(337)& &-JVS(4728)*X(338)-JVS(4729)*X(339) IF (DO_SLV(341)) & X(341) = X(341)-JVS(4744)*X(109)-JVS(4745)*X(140)-JVS(4746)*X(166)-JVS(4747)*X(167)-JVS(4748)*X(179)-JVS(4749)*X(191)& &-JVS(4750)*X(193)-JVS(4751)*X(201)-JVS(4752)*X(202)-JVS(4753)*X(203)-JVS(4754)*X(211)-JVS(4755)*X(213)& &-JVS(4756)*X(217)-JVS(4757)*X(219)-JVS(4758)*X(220)-JVS(4759)*X(221)-JVS(4760)*X(228)-JVS(4761)*X(229)& &-JVS(4762)*X(233)-JVS(4763)*X(235)-JVS(4764)*X(236)-JVS(4765)*X(237)-JVS(4766)*X(240)-JVS(4767)*X(242)& &-JVS(4768)*X(246)-JVS(4769)*X(255)-JVS(4770)*X(257)-JVS(4771)*X(259)-JVS(4772)*X(262)-JVS(4773)*X(269)& &-JVS(4774)*X(274)-JVS(4775)*X(275)-JVS(4776)*X(276)-JVS(4777)*X(277)-JVS(4778)*X(280)-JVS(4779)*X(281)& &-JVS(4780)*X(289)-JVS(4781)*X(290)-JVS(4782)*X(291)-JVS(4783)*X(306)-JVS(4784)*X(308)-JVS(4785)*X(309)& &-JVS(4786)*X(310)-JVS(4787)*X(311)-JVS(4788)*X(312)-JVS(4789)*X(314)-JVS(4790)*X(320)-JVS(4791)*X(322)& &-JVS(4792)*X(323)-JVS(4793)*X(324)-JVS(4794)*X(325)-JVS(4795)*X(326)-JVS(4796)*X(327)-JVS(4797)*X(328)& &-JVS(4798)*X(329)-JVS(4799)*X(331)-JVS(4800)*X(332)-JVS(4801)*X(334)-JVS(4802)*X(335)-JVS(4803)*X(336)& &-JVS(4804)*X(337)-JVS(4805)*X(338)-JVS(4806)*X(339)-JVS(4807)*X(340) IF (DO_SLV(342)) & X(342) = X(342)-JVS(4821)*X(2)-JVS(4822)*X(53)-JVS(4823)*X(54)-JVS(4824)*X(59)-JVS(4825)*X(61)-JVS(4826)*X(77)& &-JVS(4827)*X(78)-JVS(4828)*X(81)-JVS(4829)*X(105)-JVS(4830)*X(141)-JVS(4831)*X(148)-JVS(4832)*X(157)-JVS(4833)& &*X(183)-JVS(4834)*X(218)-JVS(4835)*X(252)-JVS(4836)*X(284)-JVS(4837)*X(290)-JVS(4838)*X(295)-JVS(4839)*X(297)& &-JVS(4840)*X(300)-JVS(4841)*X(314)-JVS(4842)*X(316)-JVS(4843)*X(317)-JVS(4844)*X(318)-JVS(4845)*X(319)& &-JVS(4846)*X(320)-JVS(4847)*X(323)-JVS(4848)*X(324)-JVS(4849)*X(325)-JVS(4850)*X(326)-JVS(4851)*X(328)& &-JVS(4852)*X(329)-JVS(4853)*X(330)-JVS(4854)*X(331)-JVS(4855)*X(332)-JVS(4856)*X(333)-JVS(4857)*X(334)& &-JVS(4858)*X(335)-JVS(4859)*X(336)-JVS(4860)*X(337)-JVS(4861)*X(338)-JVS(4862)*X(339)-JVS(4863)*X(340)& &-JVS(4864)*X(341) IF (DO_SLV(343)) & X(343) = X(343)-JVS(4877)*X(46)-JVS(4878)*X(47)-JVS(4879)*X(48)-JVS(4880)*X(49)-JVS(4881)*X(50)-JVS(4882)*X(51)& &-JVS(4883)*X(53)-JVS(4884)*X(54)-JVS(4885)*X(61)-JVS(4886)*X(67)-JVS(4887)*X(68)-JVS(4888)*X(78)-JVS(4889)& &*X(81)-JVS(4890)*X(84)-JVS(4891)*X(85)-JVS(4892)*X(86)-JVS(4893)*X(87)-JVS(4894)*X(120)-JVS(4895)*X(181)& &-JVS(4896)*X(217)-JVS(4897)*X(228)-JVS(4898)*X(245)-JVS(4899)*X(264)-JVS(4900)*X(276)-JVS(4901)*X(284)& &-JVS(4902)*X(290)-JVS(4903)*X(297)-JVS(4904)*X(312)-JVS(4905)*X(314)-JVS(4906)*X(316)-JVS(4907)*X(317)& &-JVS(4908)*X(324)-JVS(4909)*X(325)-JVS(4910)*X(326)-JVS(4911)*X(328)-JVS(4912)*X(329)-JVS(4913)*X(330)& &-JVS(4914)*X(331)-JVS(4915)*X(332)-JVS(4916)*X(333)-JVS(4917)*X(334)-JVS(4918)*X(335)-JVS(4919)*X(336)& &-JVS(4920)*X(337)-JVS(4921)*X(338)-JVS(4922)*X(339)-JVS(4923)*X(340)-JVS(4924)*X(341)-JVS(4925)*X(342) IF (DO_SLV(344)) & X(344) = X(344)-JVS(4937)*X(166)-JVS(4938)*X(214)-JVS(4939)*X(252)-JVS(4940)*X(297)-JVS(4941)*X(316)-JVS(4942)*X(317)& &-JVS(4943)*X(327)-JVS(4944)*X(328)-JVS(4945)*X(329)-JVS(4946)*X(330)-JVS(4947)*X(331)-JVS(4948)*X(332)& &-JVS(4949)*X(333)-JVS(4950)*X(334)-JVS(4951)*X(335)-JVS(4952)*X(336)-JVS(4953)*X(337)-JVS(4954)*X(338)& &-JVS(4955)*X(339)-JVS(4956)*X(340)-JVS(4957)*X(341)-JVS(4958)*X(342)-JVS(4959)*X(343) IF (DO_SLV(345)) & X(345) = X(345)-JVS(4970)*X(41)-JVS(4971)*X(43)-JVS(4972)*X(52)-JVS(4973)*X(58)-JVS(4974)*X(60)-JVS(4975)*X(66)& &-JVS(4976)*X(68)-JVS(4977)*X(69)-JVS(4978)*X(70)-JVS(4979)*X(71)-JVS(4980)*X(72)-JVS(4981)*X(73)-JVS(4982)& &*X(74)-JVS(4983)*X(75)-JVS(4984)*X(76)-JVS(4985)*X(78)-JVS(4986)*X(79)-JVS(4987)*X(81)-JVS(4988)*X(82)& &-JVS(4989)*X(83)-JVS(4990)*X(84)-JVS(4991)*X(85)-JVS(4992)*X(86)-JVS(4993)*X(87)-JVS(4994)*X(88)-JVS(4995)& &*X(89)-JVS(4996)*X(90)-JVS(4997)*X(91)-JVS(4998)*X(92)-JVS(4999)*X(93)-JVS(5000)*X(94)-JVS(5001)*X(95)& &-JVS(5002)*X(97)-JVS(5003)*X(98)-JVS(5004)*X(99)-JVS(5005)*X(100)-JVS(5006)*X(101)-JVS(5007)*X(102)-JVS(5008)& &*X(105)-JVS(5009)*X(107)-JVS(5010)*X(108)-JVS(5011)*X(109)-JVS(5012)*X(111)-JVS(5013)*X(112)-JVS(5014)*X(113)& &-JVS(5015)*X(114)-JVS(5016)*X(115)-JVS(5017)*X(116)-JVS(5018)*X(117)-JVS(5019)*X(118)-JVS(5020)*X(119)& &-JVS(5021)*X(120)-JVS(5022)*X(122)-JVS(5023)*X(123)-JVS(5024)*X(124)-JVS(5025)*X(125)-JVS(5026)*X(126)& &-JVS(5027)*X(127)-JVS(5028)*X(128)-JVS(5029)*X(129)-JVS(5030)*X(130)-JVS(5031)*X(131)-JVS(5032)*X(133)& &-JVS(5033)*X(134)-JVS(5034)*X(135)-JVS(5035)*X(136)-JVS(5036)*X(137)-JVS(5037)*X(138)-JVS(5038)*X(139)& &-JVS(5039)*X(140)-JVS(5040)*X(141)-JVS(5041)*X(142)-JVS(5042)*X(143)-JVS(5043)*X(144)-JVS(5044)*X(146)& &-JVS(5045)*X(147)-JVS(5046)*X(148)-JVS(5047)*X(149)-JVS(5048)*X(150)-JVS(5049)*X(151)-JVS(5050)*X(152)& &-JVS(5051)*X(153)-JVS(5052)*X(154)-JVS(5053)*X(155)-JVS(5054)*X(156)-JVS(5055)*X(158)-JVS(5056)*X(159)& &-JVS(5057)*X(160)-JVS(5058)*X(161)-JVS(5059)*X(162)-JVS(5060)*X(163)-JVS(5061)*X(164)-JVS(5062)*X(167)& &-JVS(5063)*X(168)-JVS(5064)*X(169)-JVS(5065)*X(170)-JVS(5066)*X(171)-JVS(5067)*X(172)-JVS(5068)*X(173)& &-JVS(5069)*X(174)-JVS(5070)*X(175)-JVS(5071)*X(176)-JVS(5072)*X(177)-JVS(5073)*X(178)-JVS(5074)*X(179)& &-JVS(5075)*X(180)-JVS(5076)*X(181)-JVS(5077)*X(182)-JVS(5078)*X(183)-JVS(5079)*X(184)-JVS(5080)*X(185)& &-JVS(5081)*X(186)-JVS(5082)*X(187)-JVS(5083)*X(188)-JVS(5084)*X(189)-JVS(5085)*X(190)-JVS(5086)*X(191)& &-JVS(5087)*X(192)-JVS(5088)*X(193)-JVS(5089)*X(194)-JVS(5090)*X(195)-JVS(5091)*X(196)-JVS(5092)*X(197)& &-JVS(5093)*X(198)-JVS(5094)*X(199)-JVS(5095)*X(200)-JVS(5096)*X(201)-JVS(5097)*X(202)-JVS(5098)*X(204)& &-JVS(5099)*X(205)-JVS(5100)*X(206)-JVS(5101)*X(207)-JVS(5102)*X(208)-JVS(5103)*X(209)-JVS(5104)*X(210)& &-JVS(5105)*X(211)-JVS(5106)*X(212)-JVS(5107)*X(213)-JVS(5108)*X(216)-JVS(5109)*X(217)-JVS(5110)*X(218)& &-JVS(5111)*X(219)-JVS(5112)*X(220)-JVS(5113)*X(221)-JVS(5114)*X(222)-JVS(5115)*X(223)-JVS(5116)*X(224)& &-JVS(5117)*X(225)-JVS(5118)*X(226)-JVS(5119)*X(228)-JVS(5120)*X(229)-JVS(5121)*X(230)-JVS(5122)*X(231)& &-JVS(5123)*X(232)-JVS(5124)*X(233)-JVS(5125)*X(234)-JVS(5126)*X(235)-JVS(5127)*X(236)-JVS(5128)*X(237)& &-JVS(5129)*X(238)-JVS(5130)*X(239)-JVS(5131)*X(240)-JVS(5132)*X(241)-JVS(5133)*X(242)-JVS(5134)*X(243)& &-JVS(5135)*X(244)-JVS(5136)*X(245)-JVS(5137)*X(246)-JVS(5138)*X(247)-JVS(5139)*X(248)-JVS(5140)*X(249)& &-JVS(5141)*X(250)-JVS(5142)*X(251)-JVS(5143)*X(252)-JVS(5144)*X(253)-JVS(5145)*X(254)-JVS(5146)*X(255)& &-JVS(5147)*X(256)-JVS(5148)*X(257)-JVS(5149)*X(258)-JVS(5150)*X(259)-JVS(5151)*X(260)-JVS(5152)*X(261)& &-JVS(5153)*X(262)-JVS(5154)*X(263)-JVS(5155)*X(264)-JVS(5156)*X(265)-JVS(5157)*X(266)-JVS(5158)*X(267)& &-JVS(5159)*X(268)-JVS(5160)*X(269)-JVS(5161)*X(270)-JVS(5162)*X(271)-JVS(5163)*X(272)-JVS(5164)*X(273)& &-JVS(5165)*X(274)-JVS(5166)*X(275)-JVS(5167)*X(276)-JVS(5168)*X(277)-JVS(5169)*X(278)-JVS(5170)*X(279)& &-JVS(5171)*X(280)-JVS(5172)*X(281)-JVS(5173)*X(282)-JVS(5174)*X(283)-JVS(5175)*X(284)-JVS(5176)*X(285)& &-JVS(5177)*X(286)-JVS(5178)*X(287)-JVS(5179)*X(288)-JVS(5180)*X(289)-JVS(5181)*X(290)-JVS(5182)*X(291)& &-JVS(5183)*X(292)-JVS(5184)*X(293)-JVS(5185)*X(294)-JVS(5186)*X(295)-JVS(5187)*X(296)-JVS(5188)*X(297)& &-JVS(5189)*X(298)-JVS(5190)*X(299)-JVS(5191)*X(300)-JVS(5192)*X(301)-JVS(5193)*X(302)-JVS(5194)*X(303)& &-JVS(5195)*X(304)-JVS(5196)*X(305)-JVS(5197)*X(306)-JVS(5198)*X(307)-JVS(5199)*X(308)-JVS(5200)*X(309)& &-JVS(5201)*X(310)-JVS(5202)*X(311)-JVS(5203)*X(312)-JVS(5204)*X(313)-JVS(5205)*X(314)-JVS(5206)*X(315)& &-JVS(5207)*X(316)-JVS(5208)*X(317)-JVS(5209)*X(318)-JVS(5210)*X(319)-JVS(5211)*X(320)-JVS(5212)*X(321)& &-JVS(5213)*X(322)-JVS(5214)*X(323)-JVS(5215)*X(324)-JVS(5216)*X(325)-JVS(5217)*X(326)-JVS(5218)*X(327)& &-JVS(5219)*X(328)-JVS(5220)*X(329)-JVS(5221)*X(330)-JVS(5222)*X(331)-JVS(5223)*X(332)-JVS(5224)*X(333)& &-JVS(5225)*X(334)-JVS(5226)*X(335)-JVS(5227)*X(336)-JVS(5228)*X(337)-JVS(5229)*X(338)-JVS(5230)*X(339)& &-JVS(5231)*X(340)-JVS(5232)*X(341)-JVS(5233)*X(342)-JVS(5234)*X(343)-JVS(5235)*X(344) IF (DO_SLV(346)) & X(346) = X(346)-JVS(5245)*X(62)-JVS(5246)*X(63)-JVS(5247)*X(67)-JVS(5248)*X(96)-JVS(5249)*X(121)-JVS(5250)*X(132)& &-JVS(5251)*X(133)-JVS(5252)*X(135)-JVS(5253)*X(165)-JVS(5254)*X(171)-JVS(5255)*X(172)-JVS(5256)*X(178)& &-JVS(5257)*X(180)-JVS(5258)*X(182)-JVS(5259)*X(189)-JVS(5260)*X(190)-JVS(5261)*X(196)-JVS(5262)*X(197)& &-JVS(5263)*X(200)-JVS(5264)*X(205)-JVS(5265)*X(206)-JVS(5266)*X(207)-JVS(5267)*X(212)-JVS(5268)*X(213)& &-JVS(5269)*X(220)-JVS(5270)*X(223)-JVS(5271)*X(224)-JVS(5272)*X(226)-JVS(5273)*X(230)-JVS(5274)*X(231)& &-JVS(5275)*X(232)-JVS(5276)*X(233)-JVS(5277)*X(234)-JVS(5278)*X(235)-JVS(5279)*X(236)-JVS(5280)*X(239)& &-JVS(5281)*X(240)-JVS(5282)*X(241)-JVS(5283)*X(243)-JVS(5284)*X(246)-JVS(5285)*X(249)-JVS(5286)*X(250)& &-JVS(5287)*X(252)-JVS(5288)*X(253)-JVS(5289)*X(254)-JVS(5290)*X(257)-JVS(5291)*X(259)-JVS(5292)*X(260)& &-JVS(5293)*X(263)-JVS(5294)*X(267)-JVS(5295)*X(268)-JVS(5296)*X(269)-JVS(5297)*X(271)-JVS(5298)*X(272)& &-JVS(5299)*X(273)-JVS(5300)*X(274)-JVS(5301)*X(275)-JVS(5302)*X(276)-JVS(5303)*X(277)-JVS(5304)*X(278)& &-JVS(5305)*X(279)-JVS(5306)*X(280)-JVS(5307)*X(281)-JVS(5308)*X(284)-JVS(5309)*X(285)-JVS(5310)*X(286)& &-JVS(5311)*X(289)-JVS(5312)*X(290)-JVS(5313)*X(291)-JVS(5314)*X(293)-JVS(5315)*X(296)-JVS(5316)*X(297)& &-JVS(5317)*X(299)-JVS(5318)*X(300)-JVS(5319)*X(301)-JVS(5320)*X(303)-JVS(5321)*X(304)-JVS(5322)*X(305)& &-JVS(5323)*X(306)-JVS(5324)*X(308)-JVS(5325)*X(309)-JVS(5326)*X(310)-JVS(5327)*X(311)-JVS(5328)*X(312)& &-JVS(5329)*X(313)-JVS(5330)*X(314)-JVS(5331)*X(315)-JVS(5332)*X(318)-JVS(5333)*X(319)-JVS(5334)*X(320)& &-JVS(5335)*X(321)-JVS(5336)*X(322)-JVS(5337)*X(323)-JVS(5338)*X(324)-JVS(5339)*X(326)-JVS(5340)*X(327)& &-JVS(5341)*X(328)-JVS(5342)*X(329)-JVS(5343)*X(330)-JVS(5344)*X(331)-JVS(5345)*X(332)-JVS(5346)*X(334)& &-JVS(5347)*X(335)-JVS(5348)*X(336)-JVS(5349)*X(337)-JVS(5350)*X(338)-JVS(5351)*X(339)-JVS(5352)*X(340)& &-JVS(5353)*X(341)-JVS(5354)*X(342)-JVS(5355)*X(343)-JVS(5356)*X(344)-JVS(5357)*X(345) IF (DO_SLV(347)) & X(347) = X(347)-JVS(5366)*X(53)-JVS(5367)*X(54)-JVS(5368)*X(61)-JVS(5369)*X(78)-JVS(5370)*X(81)-JVS(5371)*X(105)& &-JVS(5372)*X(218)-JVS(5373)*X(284)-JVS(5374)*X(316)-JVS(5375)*X(330)-JVS(5376)*X(331)-JVS(5377)*X(332)& &-JVS(5378)*X(334)-JVS(5379)*X(335)-JVS(5380)*X(336)-JVS(5381)*X(337)-JVS(5382)*X(338)-JVS(5383)*X(339)& &-JVS(5384)*X(340)-JVS(5385)*X(341)-JVS(5386)*X(342)-JVS(5387)*X(343)-JVS(5388)*X(344)-JVS(5389)*X(345)& &-JVS(5390)*X(346) IF (DO_SLV(348)) & X(348) = X(348)-JVS(5398)*X(68)-JVS(5399)*X(89)-JVS(5400)*X(94)-JVS(5401)*X(134)-JVS(5402)*X(166)-JVS(5403)*X(179)& &-JVS(5404)*X(241)-JVS(5405)*X(264)-JVS(5406)*X(276)-JVS(5407)*X(290)-JVS(5408)*X(312)-JVS(5409)*X(314)& &-JVS(5410)*X(316)-JVS(5411)*X(324)-JVS(5412)*X(325)-JVS(5413)*X(326)-JVS(5414)*X(327)-JVS(5415)*X(328)& &-JVS(5416)*X(329)-JVS(5417)*X(332)-JVS(5418)*X(333)-JVS(5419)*X(334)-JVS(5420)*X(335)-JVS(5421)*X(336)& &-JVS(5422)*X(337)-JVS(5423)*X(338)-JVS(5424)*X(339)-JVS(5425)*X(340)-JVS(5426)*X(341)-JVS(5427)*X(342)& &-JVS(5428)*X(343)-JVS(5429)*X(344)-JVS(5430)*X(345)-JVS(5431)*X(346)-JVS(5432)*X(347) IF (DO_SLV(349)) & X(349) = X(349)-JVS(5439)*X(252)-JVS(5440)*X(297)-JVS(5441)*X(316)-JVS(5442)*X(317)-JVS(5443)*X(330)-JVS(5444)*X(331)& &-JVS(5445)*X(332)-JVS(5446)*X(335)-JVS(5447)*X(336)-JVS(5448)*X(337)-JVS(5449)*X(338)-JVS(5450)*X(339)& &-JVS(5451)*X(340)-JVS(5452)*X(341)-JVS(5453)*X(342)-JVS(5454)*X(343)-JVS(5455)*X(344)-JVS(5456)*X(345)& &-JVS(5457)*X(346)-JVS(5458)*X(347)-JVS(5459)*X(348) IF (DO_SLV(350)) & X(350) = X(350)-JVS(5465)*X(252)-JVS(5466)*X(297)-JVS(5467)*X(316)-JVS(5468)*X(317)-JVS(5469)*X(330)-JVS(5470)*X(331)& &-JVS(5471)*X(332)-JVS(5472)*X(335)-JVS(5473)*X(336)-JVS(5474)*X(337)-JVS(5475)*X(338)-JVS(5476)*X(339)& &-JVS(5477)*X(340)-JVS(5478)*X(341)-JVS(5479)*X(342)-JVS(5480)*X(343)-JVS(5481)*X(344)-JVS(5482)*X(345)& &-JVS(5483)*X(346)-JVS(5484)*X(347)-JVS(5485)*X(348)-JVS(5486)*X(349) IF (DO_SLV(351)) & X(351) = X(351)-JVS(5491)*X(69)-JVS(5492)*X(80)-JVS(5493)*X(94)-JVS(5494)*X(108)-JVS(5495)*X(124)-JVS(5496)*X(126)& &-JVS(5497)*X(139)-JVS(5498)*X(140)-JVS(5499)*X(142)-JVS(5500)*X(149)-JVS(5501)*X(154)-JVS(5502)*X(158)& &-JVS(5503)*X(163)-JVS(5504)*X(167)-JVS(5505)*X(170)-JVS(5506)*X(183)-JVS(5507)*X(184)-JVS(5508)*X(191)& &-JVS(5509)*X(193)-JVS(5510)*X(195)-JVS(5511)*X(197)-JVS(5512)*X(200)-JVS(5513)*X(202)-JVS(5514)*X(204)& &-JVS(5515)*X(211)-JVS(5516)*X(213)-JVS(5517)*X(214)-JVS(5518)*X(218)-JVS(5519)*X(219)-JVS(5520)*X(220)& &-JVS(5521)*X(225)-JVS(5522)*X(229)-JVS(5523)*X(233)-JVS(5524)*X(234)-JVS(5525)*X(236)-JVS(5526)*X(237)& &-JVS(5527)*X(241)-JVS(5528)*X(242)-JVS(5529)*X(246)-JVS(5530)*X(252)-JVS(5531)*X(255)-JVS(5532)*X(256)& &-JVS(5533)*X(257)-JVS(5534)*X(259)-JVS(5535)*X(261)-JVS(5536)*X(262)-JVS(5537)*X(263)-JVS(5538)*X(267)& &-JVS(5539)*X(269)-JVS(5540)*X(270)-JVS(5541)*X(271)-JVS(5542)*X(272)-JVS(5543)*X(273)-JVS(5544)*X(274)& &-JVS(5545)*X(275)-JVS(5546)*X(276)-JVS(5547)*X(277)-JVS(5548)*X(278)-JVS(5549)*X(280)-JVS(5550)*X(281)& &-JVS(5551)*X(285)-JVS(5552)*X(286)-JVS(5553)*X(288)-JVS(5554)*X(289)-JVS(5555)*X(290)-JVS(5556)*X(291)& &-JVS(5557)*X(292)-JVS(5558)*X(293)-JVS(5559)*X(294)-JVS(5560)*X(298)-JVS(5561)*X(299)-JVS(5562)*X(300)& &-JVS(5563)*X(301)-JVS(5564)*X(302)-JVS(5565)*X(303)-JVS(5566)*X(304)-JVS(5567)*X(305)-JVS(5568)*X(306)& &-JVS(5569)*X(307)-JVS(5570)*X(308)-JVS(5571)*X(309)-JVS(5572)*X(310)-JVS(5573)*X(311)-JVS(5574)*X(312)& &-JVS(5575)*X(313)-JVS(5576)*X(314)-JVS(5577)*X(317)-JVS(5578)*X(318)-JVS(5579)*X(319)-JVS(5580)*X(320)& &-JVS(5581)*X(321)-JVS(5582)*X(322)-JVS(5583)*X(323)-JVS(5584)*X(324)-JVS(5585)*X(325)-JVS(5586)*X(326)& &-JVS(5587)*X(327)-JVS(5588)*X(328)-JVS(5589)*X(329)-JVS(5590)*X(331)-JVS(5591)*X(332)-JVS(5592)*X(334)& &-JVS(5593)*X(335)-JVS(5594)*X(336)-JVS(5595)*X(337)-JVS(5596)*X(338)-JVS(5597)*X(339)-JVS(5598)*X(340)& &-JVS(5599)*X(341)-JVS(5600)*X(342)-JVS(5601)*X(343)-JVS(5602)*X(344)-JVS(5603)*X(345)-JVS(5604)*X(346)& &-JVS(5605)*X(347)-JVS(5606)*X(348)-JVS(5607)*X(349)-JVS(5608)*X(350) IF (DO_SLV(352)) & X(352) = X(352)-JVS(5612)*X(141)-JVS(5613)*X(183)-JVS(5614)*X(290)-JVS(5615)*X(295)-JVS(5616)*X(297)-JVS(5617)*X(300)& &-JVS(5618)*X(314)-JVS(5619)*X(316)-JVS(5620)*X(317)-JVS(5621)*X(318)-JVS(5622)*X(319)-JVS(5623)*X(320)& &-JVS(5624)*X(323)-JVS(5625)*X(324)-JVS(5626)*X(325)-JVS(5627)*X(326)-JVS(5628)*X(328)-JVS(5629)*X(329)& &-JVS(5630)*X(333)-JVS(5631)*X(334)-JVS(5632)*X(335)-JVS(5633)*X(336)-JVS(5634)*X(337)-JVS(5635)*X(338)& &-JVS(5636)*X(339)-JVS(5637)*X(340)-JVS(5638)*X(341)-JVS(5639)*X(342)-JVS(5640)*X(343)-JVS(5641)*X(344)& &-JVS(5642)*X(345)-JVS(5643)*X(346)-JVS(5644)*X(347)-JVS(5645)*X(348)-JVS(5646)*X(349)-JVS(5647)*X(350)& &-JVS(5648)*X(351) IF (DO_SLV(353)) & X(353) = X(353)-JVS(5651)*X(179)-JVS(5652)*X(214)-JVS(5653)*X(252)-JVS(5654)*X(297)-JVS(5655)*X(316)-JVS(5656)*X(317)& &-JVS(5657)*X(327)-JVS(5658)*X(328)-JVS(5659)*X(329)-JVS(5660)*X(330)-JVS(5661)*X(331)-JVS(5662)*X(332)& &-JVS(5663)*X(333)-JVS(5664)*X(334)-JVS(5665)*X(335)-JVS(5666)*X(336)-JVS(5667)*X(337)-JVS(5668)*X(338)& &-JVS(5669)*X(339)-JVS(5670)*X(340)-JVS(5671)*X(341)-JVS(5672)*X(342)-JVS(5673)*X(343)-JVS(5674)*X(344)& &-JVS(5675)*X(345)-JVS(5676)*X(346)-JVS(5677)*X(347)-JVS(5678)*X(348)-JVS(5679)*X(349)-JVS(5680)*X(350)& &-JVS(5681)*X(351)-JVS(5682)*X(352) IF (DO_SLV(353)) & X(353) = X(353)/JVS(5683) IF (DO_SLV(352)) & X(352) = (X(352)-JVS(5650)*X(353))/(JVS(5649)) IF (DO_SLV(351)) & X(351) = (X(351)-JVS(5610)*X(352)-JVS(5611)*X(353))/(JVS(5609)) IF (DO_SLV(350)) & X(350) = (X(350)-JVS(5488)*X(351)-JVS(5489)*X(352)-JVS(5490)*X(353))/(JVS(5487)) IF (DO_SLV(349)) & X(349) = (X(349)-JVS(5461)*X(350)-JVS(5462)*X(351)-JVS(5463)*X(352)-JVS(5464)*X(353))/(JVS(5460)) IF (DO_SLV(348)) & X(348) = (X(348)-JVS(5434)*X(349)-JVS(5435)*X(350)-JVS(5436)*X(351)-JVS(5437)*X(352)-JVS(5438)*X(353))/(JVS(5433)) IF (DO_SLV(347)) & X(347) = (X(347)-JVS(5392)*X(348)-JVS(5393)*X(349)-JVS(5394)*X(350)-JVS(5395)*X(351)-JVS(5396)*X(352)-JVS(5397)& &*X(353))/(JVS(5391)) IF (DO_SLV(346)) & X(346) = (X(346)-JVS(5359)*X(347)-JVS(5360)*X(348)-JVS(5361)*X(349)-JVS(5362)*X(350)-JVS(5363)*X(351)-JVS(5364)*X(352)& &-JVS(5365)*X(353))/(JVS(5358)) IF (DO_SLV(345)) & X(345) = (X(345)-JVS(5237)*X(346)-JVS(5238)*X(347)-JVS(5239)*X(348)-JVS(5240)*X(349)-JVS(5241)*X(350)-JVS(5242)*X(351)& &-JVS(5243)*X(352)-JVS(5244)*X(353))/(JVS(5236)) IF (DO_SLV(344)) & X(344) = (X(344)-JVS(4961)*X(345)-JVS(4962)*X(346)-JVS(4963)*X(347)-JVS(4964)*X(348)-JVS(4965)*X(349)-JVS(4966)*X(350)& &-JVS(4967)*X(351)-JVS(4968)*X(352)-JVS(4969)*X(353))/(JVS(4960)) IF (DO_SLV(343)) & X(343) = (X(343)-JVS(4927)*X(344)-JVS(4928)*X(345)-JVS(4929)*X(346)-JVS(4930)*X(347)-JVS(4931)*X(348)-JVS(4932)*X(349)& &-JVS(4933)*X(350)-JVS(4934)*X(351)-JVS(4935)*X(352)-JVS(4936)*X(353))/(JVS(4926)) IF (DO_SLV(342)) & X(342) = (X(342)-JVS(4866)*X(343)-JVS(4867)*X(344)-JVS(4868)*X(345)-JVS(4869)*X(346)-JVS(4870)*X(347)-JVS(4871)*X(348)& &-JVS(4872)*X(349)-JVS(4873)*X(350)-JVS(4874)*X(351)-JVS(4875)*X(352)-JVS(4876)*X(353))/(JVS(4865)) IF (DO_SLV(341)) & X(341) = (X(341)-JVS(4809)*X(342)-JVS(4810)*X(343)-JVS(4811)*X(344)-JVS(4812)*X(345)-JVS(4813)*X(346)-JVS(4814)*X(347)& &-JVS(4815)*X(348)-JVS(4816)*X(349)-JVS(4817)*X(350)-JVS(4818)*X(351)-JVS(4819)*X(352)-JVS(4820)*X(353))& &/(JVS(4808)) IF (DO_SLV(340)) & X(340) = (X(340)-JVS(4731)*X(341)-JVS(4732)*X(342)-JVS(4733)*X(343)-JVS(4734)*X(344)-JVS(4735)*X(345)-JVS(4736)*X(346)& &-JVS(4737)*X(347)-JVS(4738)*X(348)-JVS(4739)*X(349)-JVS(4740)*X(350)-JVS(4741)*X(351)-JVS(4742)*X(352)& &-JVS(4743)*X(353))/(JVS(4730)) IF (DO_SLV(339)) & X(339) = (X(339)-JVS(4635)*X(340)-JVS(4636)*X(341)-JVS(4637)*X(342)-JVS(4638)*X(343)-JVS(4639)*X(344)-JVS(4640)*X(345)& &-JVS(4641)*X(346)-JVS(4642)*X(347)-JVS(4643)*X(348)-JVS(4644)*X(349)-JVS(4645)*X(350)-JVS(4646)*X(351)& &-JVS(4647)*X(352)-JVS(4648)*X(353))/(JVS(4634)) IF (DO_SLV(338)) & X(338) = (X(338)-JVS(4557)*X(339)-JVS(4558)*X(340)-JVS(4559)*X(341)-JVS(4560)*X(342)-JVS(4561)*X(343)-JVS(4562)*X(344)& &-JVS(4563)*X(345)-JVS(4564)*X(346)-JVS(4565)*X(347)-JVS(4566)*X(348)-JVS(4567)*X(349)-JVS(4568)*X(350)& &-JVS(4569)*X(351)-JVS(4570)*X(352)-JVS(4571)*X(353))/(JVS(4556)) IF (DO_SLV(337)) & X(337) = (X(337)-JVS(4501)*X(338)-JVS(4502)*X(339)-JVS(4503)*X(340)-JVS(4504)*X(341)-JVS(4505)*X(342)-JVS(4506)*X(343)& &-JVS(4507)*X(344)-JVS(4508)*X(345)-JVS(4509)*X(346)-JVS(4510)*X(347)-JVS(4511)*X(348)-JVS(4512)*X(349)& &-JVS(4513)*X(350)-JVS(4514)*X(351)-JVS(4515)*X(352)-JVS(4516)*X(353))/(JVS(4500)) IF (DO_SLV(336)) & X(336) = (X(336)-JVS(4292)*X(337)-JVS(4293)*X(338)-JVS(4294)*X(339)-JVS(4295)*X(340)-JVS(4296)*X(341)-JVS(4297)*X(342)& &-JVS(4298)*X(343)-JVS(4299)*X(344)-JVS(4300)*X(345)-JVS(4301)*X(346)-JVS(4302)*X(347)-JVS(4303)*X(348)& &-JVS(4304)*X(349)-JVS(4305)*X(350)-JVS(4306)*X(351)-JVS(4307)*X(352)-JVS(4308)*X(353))/(JVS(4291)) IF (DO_SLV(335)) & X(335) = (X(335)-JVS(4190)*X(336)-JVS(4191)*X(337)-JVS(4192)*X(338)-JVS(4193)*X(339)-JVS(4194)*X(340)-JVS(4195)*X(341)& &-JVS(4196)*X(342)-JVS(4197)*X(343)-JVS(4198)*X(344)-JVS(4199)*X(345)-JVS(4200)*X(346)-JVS(4201)*X(347)& &-JVS(4202)*X(348)-JVS(4203)*X(349)-JVS(4204)*X(350)-JVS(4205)*X(351)-JVS(4206)*X(352)-JVS(4207)*X(353))& &/(JVS(4189)) IF (DO_SLV(334)) & X(334) = (X(334)-JVS(4015)*X(335)-JVS(4016)*X(336)-JVS(4017)*X(337)-JVS(4018)*X(338)-JVS(4019)*X(339)-JVS(4020)*X(340)& &-JVS(4021)*X(341)-JVS(4022)*X(342)-JVS(4023)*X(343)-JVS(4024)*X(344)-JVS(4025)*X(345)-JVS(4026)*X(346)& &-JVS(4027)*X(347)-JVS(4028)*X(348)-JVS(4029)*X(349)-JVS(4030)*X(350)-JVS(4031)*X(351)-JVS(4032)*X(352)& &-JVS(4033)*X(353))/(JVS(4014)) IF (DO_SLV(333)) & X(333) = (X(333)-JVS(3964)*X(334)-JVS(3965)*X(335)-JVS(3966)*X(336)-JVS(3967)*X(337)-JVS(3968)*X(338)-JVS(3969)*X(339)& &-JVS(3970)*X(340)-JVS(3971)*X(341)-JVS(3972)*X(342)-JVS(3973)*X(343)-JVS(3974)*X(344)-JVS(3975)*X(345)& &-JVS(3976)*X(346)-JVS(3977)*X(347)-JVS(3978)*X(348)-JVS(3979)*X(349)-JVS(3980)*X(350)-JVS(3981)*X(351)& &-JVS(3982)*X(352)-JVS(3983)*X(353))/(JVS(3963)) IF (DO_SLV(332)) & X(332) = (X(332)-JVS(3939)*X(335)-JVS(3940)*X(336)-JVS(3941)*X(337)-JVS(3942)*X(338)-JVS(3943)*X(341)-JVS(3944)*X(344)& &-JVS(3945)*X(345)-JVS(3946)*X(346)-JVS(3947)*X(347)-JVS(3948)*X(349)-JVS(3949)*X(350)-JVS(3950)*X(351)& &-JVS(3951)*X(353))/(JVS(3938)) IF (DO_SLV(331)) & X(331) = (X(331)-JVS(3919)*X(332)-JVS(3920)*X(335)-JVS(3921)*X(336)-JVS(3922)*X(337)-JVS(3923)*X(338)-JVS(3924)*X(341)& &-JVS(3925)*X(344)-JVS(3926)*X(345)-JVS(3927)*X(346)-JVS(3928)*X(347)-JVS(3929)*X(349)-JVS(3930)*X(350)& &-JVS(3931)*X(351)-JVS(3932)*X(353))/(JVS(3918)) IF (DO_SLV(330)) & X(330) = (X(330)-JVS(3889)*X(331)-JVS(3890)*X(332)-JVS(3891)*X(335)-JVS(3892)*X(336)-JVS(3893)*X(337)-JVS(3894)*X(338)& &-JVS(3895)*X(341)-JVS(3896)*X(344)-JVS(3897)*X(345)-JVS(3898)*X(346)-JVS(3899)*X(347)-JVS(3900)*X(349)& &-JVS(3901)*X(350)-JVS(3902)*X(351)-JVS(3903)*X(353))/(JVS(3888)) IF (DO_SLV(329)) & X(329) = (X(329)-JVS(3872)*X(334)-JVS(3873)*X(335)-JVS(3874)*X(336)-JVS(3875)*X(337)-JVS(3876)*X(338)-JVS(3877)*X(340)& &-JVS(3878)*X(341)-JVS(3879)*X(342)-JVS(3880)*X(343)-JVS(3881)*X(345)-JVS(3882)*X(346)-JVS(3883)*X(348)& &-JVS(3884)*X(351))/(JVS(3871)) IF (DO_SLV(328)) & X(328) = (X(328)-JVS(3749)*X(329)-JVS(3750)*X(334)-JVS(3751)*X(335)-JVS(3752)*X(336)-JVS(3753)*X(337)-JVS(3754)*X(338)& &-JVS(3755)*X(340)-JVS(3756)*X(341)-JVS(3757)*X(342)-JVS(3758)*X(345)-JVS(3759)*X(346)-JVS(3760)*X(348)& &-JVS(3761)*X(351))/(JVS(3748)) IF (DO_SLV(327)) & X(327) = (X(327)-JVS(3666)*X(328)-JVS(3667)*X(329)-JVS(3668)*X(332)-JVS(3669)*X(334)-JVS(3670)*X(335)-JVS(3671)*X(336)& &-JVS(3672)*X(337)-JVS(3673)*X(338)-JVS(3674)*X(339)-JVS(3675)*X(340)-JVS(3676)*X(341)-JVS(3677)*X(342)& &-JVS(3678)*X(343)-JVS(3679)*X(344)-JVS(3680)*X(345)-JVS(3681)*X(346)-JVS(3682)*X(347)-JVS(3683)*X(348)& &-JVS(3684)*X(349)-JVS(3685)*X(350)-JVS(3686)*X(351)-JVS(3687)*X(352)-JVS(3688)*X(353))/(JVS(3665)) IF (DO_SLV(326)) & X(326) = (X(326)-JVS(3574)*X(328)-JVS(3575)*X(329)-JVS(3576)*X(335)-JVS(3577)*X(336)-JVS(3578)*X(337)-JVS(3579)*X(340)& &-JVS(3580)*X(341)-JVS(3581)*X(342)-JVS(3582)*X(345)-JVS(3583)*X(346)-JVS(3584)*X(348)-JVS(3585)*X(351))& &/(JVS(3573)) IF (DO_SLV(325)) & X(325) = (X(325)-JVS(3528)*X(326)-JVS(3529)*X(328)-JVS(3530)*X(329)-JVS(3531)*X(334)-JVS(3532)*X(335)-JVS(3533)*X(336)& &-JVS(3534)*X(337)-JVS(3535)*X(338)-JVS(3536)*X(340)-JVS(3537)*X(341)-JVS(3538)*X(342)-JVS(3539)*X(343)& &-JVS(3540)*X(345)-JVS(3541)*X(346)-JVS(3542)*X(348)-JVS(3543)*X(351))/(JVS(3527)) IF (DO_SLV(324)) & X(324) = (X(324)-JVS(3390)*X(326)-JVS(3391)*X(328)-JVS(3392)*X(335)-JVS(3393)*X(337)-JVS(3394)*X(340)-JVS(3395)*X(341)& &-JVS(3396)*X(342)-JVS(3397)*X(345)-JVS(3398)*X(346)-JVS(3399)*X(351))/(JVS(3389)) IF (DO_SLV(323)) & X(323) = (X(323)-JVS(3302)*X(324)-JVS(3303)*X(328)-JVS(3304)*X(335)-JVS(3305)*X(337)-JVS(3306)*X(340)-JVS(3307)*X(341)& &-JVS(3308)*X(342)-JVS(3309)*X(345)-JVS(3310)*X(346)-JVS(3311)*X(351))/(JVS(3301)) IF (DO_SLV(322)) & X(322) = (X(322)-JVS(3277)*X(323)-JVS(3278)*X(324)-JVS(3279)*X(328)-JVS(3280)*X(335)-JVS(3281)*X(337)-JVS(3282)*X(340)& &-JVS(3283)*X(341)-JVS(3284)*X(342)-JVS(3285)*X(345)-JVS(3286)*X(346)-JVS(3287)*X(351))/(JVS(3276)) IF (DO_SLV(321)) & X(321) = (X(321)-JVS(3244)*X(322)-JVS(3245)*X(323)-JVS(3246)*X(324)-JVS(3247)*X(328)-JVS(3248)*X(335)-JVS(3249)*X(337)& &-JVS(3250)*X(340)-JVS(3251)*X(341)-JVS(3252)*X(342)-JVS(3253)*X(345)-JVS(3254)*X(346)-JVS(3255)*X(351))& &/(JVS(3243)) IF (DO_SLV(320)) & X(320) = (X(320)-JVS(3223)*X(324)-JVS(3224)*X(328)-JVS(3225)*X(335)-JVS(3226)*X(337)-JVS(3227)*X(340)-JVS(3228)*X(341)& &-JVS(3229)*X(345)-JVS(3230)*X(346)-JVS(3231)*X(351))/(JVS(3222)) IF (DO_SLV(319)) & X(319) = (X(319)-JVS(3207)*X(320)-JVS(3208)*X(324)-JVS(3209)*X(328)-JVS(3210)*X(335)-JVS(3211)*X(337)-JVS(3212)*X(340)& &-JVS(3213)*X(341)-JVS(3214)*X(345)-JVS(3215)*X(346)-JVS(3216)*X(351))/(JVS(3206)) IF (DO_SLV(318)) & X(318) = (X(318)-JVS(3180)*X(319)-JVS(3181)*X(320)-JVS(3182)*X(324)-JVS(3183)*X(328)-JVS(3184)*X(335)-JVS(3185)*X(337)& &-JVS(3186)*X(341)-JVS(3187)*X(345)-JVS(3188)*X(346)-JVS(3189)*X(351))/(JVS(3179)) IF (DO_SLV(317)) & X(317) = (X(317)-JVS(3165)*X(335)-JVS(3166)*X(336)-JVS(3167)*X(338)-JVS(3168)*X(339)-JVS(3169)*X(340)-JVS(3170)*X(343)& &-JVS(3171)*X(344)-JVS(3172)*X(345)-JVS(3173)*X(349)-JVS(3174)*X(350)-JVS(3175)*X(352)-JVS(3176)*X(353))& &/(JVS(3164)) IF (DO_SLV(316)) & X(316) = (X(316)-JVS(3149)*X(335)-JVS(3150)*X(336)-JVS(3151)*X(337)-JVS(3152)*X(339)-JVS(3153)*X(341)-JVS(3154)*X(342)& &-JVS(3155)*X(343)-JVS(3156)*X(344)-JVS(3157)*X(345)-JVS(3158)*X(347)-JVS(3159)*X(348)-JVS(3160)*X(349)& &-JVS(3161)*X(350)-JVS(3162)*X(352)-JVS(3163)*X(353))/(JVS(3148)) IF (DO_SLV(315)) & X(315) = (X(315)-JVS(3130)*X(318)-JVS(3131)*X(319)-JVS(3132)*X(320)-JVS(3133)*X(321)-JVS(3134)*X(322)-JVS(3135)*X(323)& &-JVS(3136)*X(324)-JVS(3137)*X(328)-JVS(3138)*X(335)-JVS(3139)*X(337)-JVS(3140)*X(340)-JVS(3141)*X(341)& &-JVS(3142)*X(342)-JVS(3143)*X(345)-JVS(3144)*X(346)-JVS(3145)*X(351))/(JVS(3129)) IF (DO_SLV(314)) & X(314) = (X(314)-JVS(3113)*X(324)-JVS(3114)*X(328)-JVS(3115)*X(337)-JVS(3116)*X(340)-JVS(3117)*X(341)-JVS(3118)*X(345)& &-JVS(3119)*X(346)-JVS(3120)*X(351))/(JVS(3112)) IF (DO_SLV(313)) & X(313) = (X(313)-JVS(3078)*X(318)-JVS(3079)*X(319)-JVS(3080)*X(320)-JVS(3081)*X(323)-JVS(3082)*X(324)-JVS(3083)*X(328)& &-JVS(3084)*X(335)-JVS(3085)*X(337)-JVS(3086)*X(340)-JVS(3087)*X(341)-JVS(3088)*X(342)-JVS(3089)*X(345)& &-JVS(3090)*X(346)-JVS(3091)*X(351))/(JVS(3077)) IF (DO_SLV(312)) & X(312) = (X(312)-JVS(3050)*X(314)-JVS(3051)*X(324)-JVS(3052)*X(328)-JVS(3053)*X(329)-JVS(3054)*X(335)-JVS(3055)*X(336)& &-JVS(3056)*X(337)-JVS(3057)*X(340)-JVS(3058)*X(341)-JVS(3059)*X(342)-JVS(3060)*X(345)-JVS(3061)*X(346)& &-JVS(3062)*X(348)-JVS(3063)*X(351))/(JVS(3049)) IF (DO_SLV(311)) & X(311) = (X(311)-JVS(3030)*X(324)-JVS(3031)*X(328)-JVS(3032)*X(337)-JVS(3033)*X(340)-JVS(3034)*X(341)-JVS(3035)*X(345)& &-JVS(3036)*X(346)-JVS(3037)*X(351))/(JVS(3029)) IF (DO_SLV(310)) & X(310) = (X(310)-JVS(3017)*X(311)-JVS(3018)*X(324)-JVS(3019)*X(328)-JVS(3020)*X(337)-JVS(3021)*X(340)-JVS(3022)*X(341)& &-JVS(3023)*X(345)-JVS(3024)*X(346)-JVS(3025)*X(351))/(JVS(3016)) IF (DO_SLV(309)) & X(309) = (X(309)-JVS(3004)*X(310)-JVS(3005)*X(311)-JVS(3006)*X(324)-JVS(3007)*X(328)-JVS(3008)*X(337)-JVS(3009)*X(340)& &-JVS(3010)*X(341)-JVS(3011)*X(345)-JVS(3012)*X(346)-JVS(3013)*X(351))/(JVS(3003)) IF (DO_SLV(308)) & X(308) = (X(308)-JVS(2979)*X(309)-JVS(2980)*X(310)-JVS(2981)*X(311)-JVS(2982)*X(324)-JVS(2983)*X(328)-JVS(2984)*X(335)& &-JVS(2985)*X(337)-JVS(2986)*X(340)-JVS(2987)*X(341)-JVS(2988)*X(345)-JVS(2989)*X(346)-JVS(2990)*X(351))& &/(JVS(2978)) IF (DO_SLV(307)) & X(307) = (X(307)-JVS(2955)*X(308)-JVS(2956)*X(309)-JVS(2957)*X(310)-JVS(2958)*X(311)-JVS(2959)*X(313)-JVS(2960)*X(314)& &-JVS(2961)*X(324)-JVS(2962)*X(328)-JVS(2963)*X(335)-JVS(2964)*X(337)-JVS(2965)*X(340)-JVS(2966)*X(341)& &-JVS(2967)*X(342)-JVS(2968)*X(345)-JVS(2969)*X(346)-JVS(2970)*X(351))/(JVS(2954)) IF (DO_SLV(306)) & X(306) = (X(306)-JVS(2895)*X(310)-JVS(2896)*X(311)-JVS(2897)*X(314)-JVS(2898)*X(320)-JVS(2899)*X(324)-JVS(2900)*X(328)& &-JVS(2901)*X(335)-JVS(2902)*X(337)-JVS(2903)*X(340)-JVS(2904)*X(341)-JVS(2905)*X(345)-JVS(2906)*X(346)& &-JVS(2907)*X(351))/(JVS(2894)) IF (DO_SLV(305)) & X(305) = (X(305)-JVS(2842)*X(311)-JVS(2843)*X(328)-JVS(2844)*X(337)-JVS(2845)*X(340)-JVS(2846)*X(341)-JVS(2847)*X(345)& &-JVS(2848)*X(346)-JVS(2849)*X(351))/(JVS(2841)) IF (DO_SLV(304)) & X(304) = (X(304)-JVS(2827)*X(305)-JVS(2828)*X(311)-JVS(2829)*X(328)-JVS(2830)*X(337)-JVS(2831)*X(340)-JVS(2832)*X(341)& &-JVS(2833)*X(345)-JVS(2834)*X(346)-JVS(2835)*X(351))/(JVS(2826)) IF (DO_SLV(303)) & X(303) = (X(303)-JVS(2812)*X(304)-JVS(2813)*X(305)-JVS(2814)*X(310)-JVS(2815)*X(311)-JVS(2816)*X(324)-JVS(2817)*X(328)& &-JVS(2818)*X(337)-JVS(2819)*X(345)-JVS(2820)*X(346)-JVS(2821)*X(351))/(JVS(2811)) IF (DO_SLV(302)) & X(302) = (X(302)-JVS(2781)*X(303)-JVS(2782)*X(304)-JVS(2783)*X(305)-JVS(2784)*X(310)-JVS(2785)*X(311)-JVS(2786)*X(314)& &-JVS(2787)*X(324)-JVS(2788)*X(328)-JVS(2789)*X(335)-JVS(2790)*X(337)-JVS(2791)*X(340)-JVS(2792)*X(341)& &-JVS(2793)*X(345)-JVS(2794)*X(346)-JVS(2795)*X(351))/(JVS(2780)) IF (DO_SLV(301)) & X(301) = (X(301)-JVS(2757)*X(303)-JVS(2758)*X(304)-JVS(2759)*X(305)-JVS(2760)*X(310)-JVS(2761)*X(311)-JVS(2762)*X(324)& &-JVS(2763)*X(328)-JVS(2764)*X(337)-JVS(2765)*X(345)-JVS(2766)*X(346)-JVS(2767)*X(351))/(JVS(2756)) IF (DO_SLV(300)) & X(300) = (X(300)-JVS(2743)*X(324)-JVS(2744)*X(328)-JVS(2745)*X(337)-JVS(2746)*X(340)-JVS(2747)*X(341)-JVS(2748)*X(345)& &-JVS(2749)*X(346)-JVS(2750)*X(351))/(JVS(2742)) IF (DO_SLV(299)) & X(299) = (X(299)-JVS(2728)*X(303)-JVS(2729)*X(304)-JVS(2730)*X(305)-JVS(2731)*X(310)-JVS(2732)*X(311)-JVS(2733)*X(324)& &-JVS(2734)*X(328)-JVS(2735)*X(337)-JVS(2736)*X(345)-JVS(2737)*X(346)-JVS(2738)*X(351))/(JVS(2727)) IF (DO_SLV(298)) & X(298) = (X(298)-JVS(2700)*X(300)-JVS(2701)*X(314)-JVS(2702)*X(318)-JVS(2703)*X(319)-JVS(2704)*X(320)-JVS(2705)*X(321)& &-JVS(2706)*X(323)-JVS(2707)*X(324)-JVS(2708)*X(328)-JVS(2709)*X(335)-JVS(2710)*X(337)-JVS(2711)*X(340)& &-JVS(2712)*X(341)-JVS(2713)*X(342)-JVS(2714)*X(345)-JVS(2715)*X(346)-JVS(2716)*X(351))/(JVS(2699)) IF (DO_SLV(297)) & X(297) = (X(297)-JVS(2654)*X(335)-JVS(2655)*X(336)-JVS(2656)*X(339)-JVS(2657)*X(344)-JVS(2658)*X(345)-JVS(2659)*X(349)& &-JVS(2660)*X(350)-JVS(2661)*X(351)-JVS(2662)*X(352)-JVS(2663)*X(353))/(JVS(2653)) IF (DO_SLV(296)) & X(296) = (X(296)-JVS(2640)*X(320)-JVS(2641)*X(322)-JVS(2642)*X(324)-JVS(2643)*X(328)-JVS(2644)*X(335)-JVS(2645)*X(337)& &-JVS(2646)*X(340)-JVS(2647)*X(341)-JVS(2648)*X(342)-JVS(2649)*X(345)-JVS(2650)*X(346)-JVS(2651)*X(351))& &/(JVS(2639)) IF (DO_SLV(295)) & X(295) = (X(295)-JVS(2614)*X(300)-JVS(2615)*X(318)-JVS(2616)*X(319)-JVS(2617)*X(320)-JVS(2618)*X(323)-JVS(2619)*X(324)& &-JVS(2620)*X(328)-JVS(2621)*X(335)-JVS(2622)*X(337)-JVS(2623)*X(340)-JVS(2624)*X(341)-JVS(2625)*X(342)& &-JVS(2626)*X(345)-JVS(2627)*X(346)-JVS(2628)*X(351))/(JVS(2613)) IF (DO_SLV(294)) & X(294) = (X(294)-JVS(2573)*X(299)-JVS(2574)*X(301)-JVS(2575)*X(302)-JVS(2576)*X(303)-JVS(2577)*X(304)-JVS(2578)*X(305)& &-JVS(2579)*X(307)-JVS(2580)*X(308)-JVS(2581)*X(309)-JVS(2582)*X(310)-JVS(2583)*X(311)-JVS(2584)*X(313)& &-JVS(2585)*X(314)-JVS(2586)*X(320)-JVS(2587)*X(324)-JVS(2588)*X(328)-JVS(2589)*X(335)-JVS(2590)*X(337)& &-JVS(2591)*X(340)-JVS(2592)*X(341)-JVS(2593)*X(342)-JVS(2594)*X(345)-JVS(2595)*X(346)-JVS(2596)*X(351))& &/(JVS(2572)) IF (DO_SLV(293)) & X(293) = (X(293)-JVS(2524)*X(299)-JVS(2525)*X(303)-JVS(2526)*X(310)-JVS(2527)*X(311)-JVS(2528)*X(324)-JVS(2529)*X(328)& &-JVS(2530)*X(337)-JVS(2531)*X(345)-JVS(2532)*X(346)-JVS(2533)*X(351))/(JVS(2523)) IF (DO_SLV(292)) & X(292) = (X(292)-JVS(2508)*X(300)-JVS(2509)*X(318)-JVS(2510)*X(319)-JVS(2511)*X(320)-JVS(2512)*X(324)-JVS(2513)*X(328)& &-JVS(2514)*X(335)-JVS(2515)*X(337)-JVS(2516)*X(341)-JVS(2517)*X(345)-JVS(2518)*X(346)-JVS(2519)*X(351))& &/(JVS(2507)) IF (DO_SLV(291)) & X(291) = (X(291)-JVS(2483)*X(324)-JVS(2484)*X(328)-JVS(2485)*X(337)-JVS(2486)*X(341)-JVS(2487)*X(345)-JVS(2488)*X(346)& &-JVS(2489)*X(351))/(JVS(2482)) IF (DO_SLV(290)) & X(290) = (X(290)-JVS(2475)*X(314)-JVS(2476)*X(340)-JVS(2477)*X(341)-JVS(2478)*X(342)-JVS(2479)*X(345)-JVS(2480)& &*X(351))/(JVS(2474)) IF (DO_SLV(289)) & X(289) = (X(289)-JVS(2466)*X(291)-JVS(2467)*X(324)-JVS(2468)*X(328)-JVS(2469)*X(337)-JVS(2470)*X(341)-JVS(2471)*X(345)& &-JVS(2472)*X(346)-JVS(2473)*X(351))/(JVS(2465)) IF (DO_SLV(288)) & X(288) = (X(288)-JVS(2446)*X(301)-JVS(2447)*X(303)-JVS(2448)*X(304)-JVS(2449)*X(305)-JVS(2450)*X(310)-JVS(2451)*X(311)& &-JVS(2452)*X(314)-JVS(2453)*X(328)-JVS(2454)*X(335)-JVS(2455)*X(337)-JVS(2456)*X(340)-JVS(2457)*X(341)& &-JVS(2458)*X(345)-JVS(2459)*X(346)-JVS(2460)*X(351))/(JVS(2445)) IF (DO_SLV(287)) & X(287) = (X(287)-JVS(2413)*X(301)-JVS(2414)*X(303)-JVS(2415)*X(304)-JVS(2416)*X(305)-JVS(2417)*X(309)-JVS(2418)*X(310)& &-JVS(2419)*X(311)-JVS(2420)*X(328)-JVS(2421)*X(335)-JVS(2422)*X(337)-JVS(2423)*X(340)-JVS(2424)*X(341)& &-JVS(2425)*X(345)-JVS(2426)*X(346)-JVS(2427)*X(351))/(JVS(2412)) IF (DO_SLV(286)) & X(286) = (X(286)-JVS(2386)*X(304)-JVS(2387)*X(305)-JVS(2388)*X(310)-JVS(2389)*X(311)-JVS(2390)*X(328)-JVS(2391)*X(337)& &-JVS(2392)*X(345)-JVS(2393)*X(346))/(JVS(2385)) IF (DO_SLV(285)) & X(285) = (X(285)-JVS(2365)*X(286)-JVS(2366)*X(304)-JVS(2367)*X(305)-JVS(2368)*X(310)-JVS(2369)*X(311)-JVS(2370)*X(328)& &-JVS(2371)*X(337)-JVS(2372)*X(345)-JVS(2373)*X(346))/(JVS(2364)) IF (DO_SLV(284)) & X(284) = (X(284)-JVS(2344)*X(330)-JVS(2345)*X(331)-JVS(2346)*X(332)-JVS(2347)*X(335)-JVS(2348)*X(337)-JVS(2349)*X(338)& &-JVS(2350)*X(341)-JVS(2351)*X(345)-JVS(2352)*X(346)-JVS(2353)*X(347))/(JVS(2343)) IF (DO_SLV(283)) & X(283) = (X(283)-JVS(2315)*X(290)-JVS(2316)*X(291)-JVS(2317)*X(296)-JVS(2318)*X(300)-JVS(2319)*X(307)-JVS(2320)*X(313)& &-JVS(2321)*X(315)-JVS(2322)*X(318)-JVS(2323)*X(319)-JVS(2324)*X(320)-JVS(2325)*X(321)-JVS(2326)*X(323)& &-JVS(2327)*X(324)-JVS(2328)*X(328)-JVS(2329)*X(329)-JVS(2330)*X(335)-JVS(2331)*X(336)-JVS(2332)*X(337)& &-JVS(2333)*X(340)-JVS(2334)*X(341)-JVS(2335)*X(342)-JVS(2336)*X(345)-JVS(2337)*X(346)-JVS(2338)*X(348)& &-JVS(2339)*X(351))/(JVS(2314)) IF (DO_SLV(282)) & X(282) = (X(282)-JVS(2280)*X(289)-JVS(2281)*X(290)-JVS(2282)*X(291)-JVS(2283)*X(296)-JVS(2284)*X(300)-JVS(2285)*X(306)& &-JVS(2286)*X(310)-JVS(2287)*X(311)-JVS(2288)*X(313)-JVS(2289)*X(315)-JVS(2290)*X(318)-JVS(2291)*X(319)& &-JVS(2292)*X(320)-JVS(2293)*X(321)-JVS(2294)*X(323)-JVS(2295)*X(324)-JVS(2296)*X(328)-JVS(2297)*X(335)& &-JVS(2298)*X(337)-JVS(2299)*X(340)-JVS(2300)*X(341)-JVS(2301)*X(342)-JVS(2302)*X(345)-JVS(2303)*X(346)& &-JVS(2304)*X(351))/(JVS(2279)) IF (DO_SLV(281)) & X(281) = (X(281)-JVS(2260)*X(324)-JVS(2261)*X(328)-JVS(2262)*X(337)-JVS(2263)*X(341)-JVS(2264)*X(345)-JVS(2265)*X(346)& &-JVS(2266)*X(351))/(JVS(2259)) IF (DO_SLV(280)) & X(280) = (X(280)-JVS(2247)*X(289)-JVS(2248)*X(291)-JVS(2249)*X(324)-JVS(2250)*X(328)-JVS(2251)*X(337)-JVS(2252)*X(341)& &-JVS(2253)*X(345)-JVS(2254)*X(346)-JVS(2255)*X(351))/(JVS(2246)) IF (DO_SLV(279)) & X(279) = (X(279)-JVS(2233)*X(300)-JVS(2234)*X(320)-JVS(2235)*X(324)-JVS(2236)*X(328)-JVS(2237)*X(337)-JVS(2238)*X(345)& &-JVS(2239)*X(346))/(JVS(2232)) IF (DO_SLV(278)) & X(278) = (X(278)-JVS(2223)*X(324)-JVS(2224)*X(328)-JVS(2225)*X(335)-JVS(2226)*X(337)-JVS(2227)*X(341)-JVS(2228)*X(345)& &-JVS(2229)*X(346)-JVS(2230)*X(351))/(JVS(2222)) IF (DO_SLV(277)) & X(277) = (X(277)-JVS(2209)*X(324)-JVS(2210)*X(328)-JVS(2211)*X(337)-JVS(2212)*X(341)-JVS(2213)*X(345)-JVS(2214)*X(346)& &-JVS(2215)*X(351))/(JVS(2208)) IF (DO_SLV(276)) & X(276) = (X(276)-JVS(2201)*X(340)-JVS(2202)*X(341)-JVS(2203)*X(345)-JVS(2204)*X(351))/(JVS(2200)) IF (DO_SLV(275)) & X(275) = (X(275)-JVS(2193)*X(324)-JVS(2194)*X(328)-JVS(2195)*X(337)-JVS(2196)*X(341)-JVS(2197)*X(345)-JVS(2198)*X(346)& &-JVS(2199)*X(351))/(JVS(2192)) IF (DO_SLV(274)) & X(274) = (X(274)-JVS(2179)*X(275)-JVS(2180)*X(281)-JVS(2181)*X(324)-JVS(2182)*X(328)-JVS(2183)*X(335)-JVS(2184)*X(337)& &-JVS(2185)*X(341)-JVS(2186)*X(345)-JVS(2187)*X(346)-JVS(2188)*X(351))/(JVS(2178)) IF (DO_SLV(273)) & X(273) = (X(273)-JVS(2158)*X(275)-JVS(2159)*X(324)-JVS(2160)*X(328)-JVS(2161)*X(337)-JVS(2162)*X(341)-JVS(2163)*X(345)& &-JVS(2164)*X(346)-JVS(2165)*X(351))/(JVS(2157)) IF (DO_SLV(272)) & X(272) = (X(272)-JVS(2145)*X(281)-JVS(2146)*X(324)-JVS(2147)*X(328)-JVS(2148)*X(337)-JVS(2149)*X(341)-JVS(2150)*X(345)& &-JVS(2151)*X(346)-JVS(2152)*X(351))/(JVS(2144)) IF (DO_SLV(271)) & X(271) = (X(271)-JVS(2136)*X(310)-JVS(2137)*X(311)-JVS(2138)*X(328)-JVS(2139)*X(337)-JVS(2140)*X(345)-JVS(2141)& &*X(346))/(JVS(2135)) IF (DO_SLV(270)) & X(270) = (X(270)-JVS(2114)*X(271)-JVS(2115)*X(276)-JVS(2116)*X(285)-JVS(2117)*X(286)-JVS(2118)*X(288)-JVS(2119)*X(301)& &-JVS(2120)*X(302)-JVS(2121)*X(303)-JVS(2122)*X(304)-JVS(2123)*X(305)-JVS(2124)*X(306)-JVS(2125)*X(310)& &-JVS(2126)*X(311)-JVS(2127)*X(328)-JVS(2128)*X(335)-JVS(2129)*X(337)-JVS(2130)*X(341)-JVS(2131)*X(345)& &-JVS(2132)*X(346)-JVS(2133)*X(351))/(JVS(2113)) IF (DO_SLV(269)) & X(269) = (X(269)-JVS(2082)*X(328)-JVS(2083)*X(335)-JVS(2084)*X(337)-JVS(2085)*X(341)-JVS(2086)*X(345)-JVS(2087)*X(346)& &-JVS(2088)*X(351))/(JVS(2081)) IF (DO_SLV(268)) & X(268) = (X(268)-JVS(2067)*X(304)-JVS(2068)*X(310)-JVS(2069)*X(311)-JVS(2070)*X(328)-JVS(2071)*X(345)-JVS(2072)& &*X(346))/(JVS(2066)) IF (DO_SLV(267)) & X(267) = (X(267)-JVS(2061)*X(305)-JVS(2062)*X(311)-JVS(2063)*X(328)-JVS(2064)*X(345)-JVS(2065)*X(346))/(JVS(2060)) IF (DO_SLV(266)) & X(266) = (X(266)-JVS(2048)*X(267)-JVS(2049)*X(268)-JVS(2050)*X(271)-JVS(2051)*X(285)-JVS(2052)*X(286)-JVS(2053)*X(303)& &-JVS(2054)*X(304)-JVS(2055)*X(305)-JVS(2056)*X(311)-JVS(2057)*X(337)-JVS(2058)*X(345)-JVS(2059)*X(346))& &/(JVS(2047)) IF (DO_SLV(265)) & X(265) = (X(265)-JVS(2021)*X(269)-JVS(2022)*X(276)-JVS(2023)*X(301)-JVS(2024)*X(302)-JVS(2025)*X(303)-JVS(2026)*X(304)& &-JVS(2027)*X(305)-JVS(2028)*X(306)-JVS(2029)*X(307)-JVS(2030)*X(308)-JVS(2031)*X(309)-JVS(2032)*X(312)& &-JVS(2033)*X(335)-JVS(2034)*X(336)-JVS(2035)*X(337)-JVS(2036)*X(340)-JVS(2037)*X(341)-JVS(2038)*X(345)& &-JVS(2039)*X(346)-JVS(2040)*X(351))/(JVS(2020)) IF (DO_SLV(264)) & X(264) = (X(264)-JVS(1995)*X(276)-JVS(1996)*X(290)-JVS(1997)*X(312)-JVS(1998)*X(314)-JVS(1999)*X(329)-JVS(2000)*X(335)& &-JVS(2001)*X(336)-JVS(2002)*X(337)-JVS(2003)*X(340)-JVS(2004)*X(341)-JVS(2005)*X(343)-JVS(2006)*X(345)& &-JVS(2007)*X(346)-JVS(2008)*X(348))/(JVS(1994)) IF (DO_SLV(263)) & X(263) = (X(263)-JVS(1981)*X(275)-JVS(1982)*X(277)-JVS(1983)*X(278)-JVS(1984)*X(281)-JVS(1985)*X(291)-JVS(1986)*X(324)& &-JVS(1987)*X(328)-JVS(1988)*X(337)-JVS(1989)*X(341)-JVS(1990)*X(345)-JVS(1991)*X(346)-JVS(1992)*X(351))& &/(JVS(1980)) IF (DO_SLV(262)) & X(262) = (X(262)-JVS(1951)*X(291)-JVS(1952)*X(324)-JVS(1953)*X(328)-JVS(1954)*X(337)-JVS(1955)*X(341)-JVS(1956)*X(345)& &-JVS(1957)*X(346)-JVS(1958)*X(351))/(JVS(1950)) IF (DO_SLV(261)) & X(261) = (X(261)-JVS(1935)*X(267)-JVS(1936)*X(271)-JVS(1937)*X(293)-JVS(1938)*X(299)-JVS(1939)*X(301)-JVS(1940)*X(302)& &-JVS(1941)*X(303)-JVS(1942)*X(311)-JVS(1943)*X(337)-JVS(1944)*X(345)-JVS(1945)*X(346)-JVS(1946)*X(351))& &/(JVS(1934)) IF (DO_SLV(260)) & X(260) = (X(260)-JVS(1922)*X(290)-JVS(1923)*X(324)-JVS(1924)*X(328)-JVS(1925)*X(337)-JVS(1926)*X(340)-JVS(1927)*X(342)& &-JVS(1928)*X(345)-JVS(1929)*X(346))/(JVS(1921)) IF (DO_SLV(259)) & X(259) = (X(259)-JVS(1913)*X(308)-JVS(1914)*X(309)-JVS(1915)*X(335)-JVS(1916)*X(337)-JVS(1917)*X(345)-JVS(1918)*X(346)& &-JVS(1919)*X(351))/(JVS(1912)) IF (DO_SLV(258)) & X(258) = (X(258)-JVS(1901)*X(267)-JVS(1902)*X(268)-JVS(1903)*X(285)-JVS(1904)*X(286)-JVS(1905)*X(304)-JVS(1906)*X(305)& &-JVS(1907)*X(337)-JVS(1908)*X(345)-JVS(1909)*X(346))/(JVS(1900)) IF (DO_SLV(257)) & X(257) = (X(257)-JVS(1886)*X(277)-JVS(1887)*X(324)-JVS(1888)*X(328)-JVS(1889)*X(335)-JVS(1890)*X(337)-JVS(1891)*X(341)& &-JVS(1892)*X(345)-JVS(1893)*X(346)-JVS(1894)*X(351))/(JVS(1885)) IF (DO_SLV(256)) & X(256) = (X(256)-JVS(1866)*X(272)-JVS(1867)*X(273)-JVS(1868)*X(275)-JVS(1869)*X(277)-JVS(1870)*X(278)-JVS(1871)*X(280)& &-JVS(1872)*X(281)-JVS(1873)*X(289)-JVS(1874)*X(324)-JVS(1875)*X(328)-JVS(1876)*X(337)-JVS(1877)*X(341)& &-JVS(1878)*X(345)-JVS(1879)*X(346)-JVS(1880)*X(351))/(JVS(1865)) IF (DO_SLV(255)) & X(255) = (X(255)-JVS(1851)*X(281)-JVS(1852)*X(324)-JVS(1853)*X(328)-JVS(1854)*X(337)-JVS(1855)*X(341)-JVS(1856)*X(345)& &-JVS(1857)*X(346)-JVS(1858)*X(351))/(JVS(1850)) IF (DO_SLV(254)) & X(254) = (X(254)-JVS(1841)*X(276)-JVS(1842)*X(301)-JVS(1843)*X(305)-JVS(1844)*X(314)-JVS(1845)*X(335)-JVS(1846)*X(337)& &-JVS(1847)*X(345)-JVS(1848)*X(346))/(JVS(1840)) IF (DO_SLV(253)) & X(253) = (X(253)-JVS(1830)*X(276)-JVS(1831)*X(301)-JVS(1832)*X(304)-JVS(1833)*X(309)-JVS(1834)*X(335)-JVS(1835)*X(337)& &-JVS(1836)*X(345)-JVS(1837)*X(346))/(JVS(1829)) IF (DO_SLV(252)) & X(252) = (X(252)-JVS(1821)*X(331)-JVS(1822)*X(335)-JVS(1823)*X(344)-JVS(1824)*X(349)-JVS(1825)*X(350)-JVS(1826)& &*X(353))/(JVS(1820)) IF (DO_SLV(251)) & X(251) = (X(251)-JVS(1814)*X(318)-JVS(1815)*X(319)-JVS(1816)*X(320)-JVS(1817)*X(337)-JVS(1818)*X(345)-JVS(1819)& &*X(346))/(JVS(1813)) IF (DO_SLV(250)) & X(250) = (X(250)-JVS(1806)*X(290)-JVS(1807)*X(324)-JVS(1808)*X(328)-JVS(1809)*X(337)-JVS(1810)*X(345)-JVS(1811)*X(346)& &-JVS(1812)*X(351))/(JVS(1805)) IF (DO_SLV(249)) & X(249) = (X(249)-JVS(1798)*X(279)-JVS(1799)*X(324)-JVS(1800)*X(328)-JVS(1801)*X(337)-JVS(1802)*X(345)-JVS(1803)& &*X(346))/(JVS(1797)) IF (DO_SLV(248)) & X(248) = (X(248)-JVS(1786)*X(253)-JVS(1787)*X(276)-JVS(1788)*X(301)-JVS(1789)*X(303)-JVS(1790)*X(304)-JVS(1791)*X(305)& &-JVS(1792)*X(308)-JVS(1793)*X(335)-JVS(1794)*X(337)-JVS(1795)*X(345)-JVS(1796)*X(346))/(JVS(1785)) IF (DO_SLV(247)) & X(247) = (X(247)-JVS(1767)*X(250)-JVS(1768)*X(268)-JVS(1769)*X(271)-JVS(1770)*X(293)-JVS(1771)*X(299)-JVS(1772)*X(301)& &-JVS(1773)*X(303)-JVS(1774)*X(308)-JVS(1775)*X(309)-JVS(1776)*X(311)-JVS(1777)*X(328)-JVS(1778)*X(337)& &-JVS(1779)*X(345)-JVS(1780)*X(346)-JVS(1781)*X(351))/(JVS(1766)) IF (DO_SLV(246)) & X(246) = (X(246)-JVS(1755)*X(320)-JVS(1756)*X(335)-JVS(1757)*X(337)-JVS(1758)*X(345)-JVS(1759)*X(346))/(JVS(1754)) IF (DO_SLV(245)) & X(245) = (X(245)-JVS(1741)*X(297)-JVS(1742)*X(317)-JVS(1743)*X(328)-JVS(1744)*X(333)-JVS(1745)*X(334)-JVS(1746)*X(338)& &-JVS(1747)*X(339)-JVS(1748)*X(340)-JVS(1749)*X(344)-JVS(1750)*X(345)-JVS(1751)*X(347)-JVS(1752)*X(353))& &/(JVS(1740)) IF (DO_SLV(244)) & X(244) = (X(244)-JVS(1727)*X(271)-JVS(1728)*X(276)-JVS(1729)*X(287)-JVS(1730)*X(303)-JVS(1731)*X(304)-JVS(1732)*X(309)& &-JVS(1733)*X(311)-JVS(1734)*X(313)-JVS(1735)*X(320)-JVS(1736)*X(337)-JVS(1737)*X(345)-JVS(1738)*X(346))& &/(JVS(1726)) IF (DO_SLV(243)) & X(243) = (X(243)-JVS(1716)*X(267)-JVS(1717)*X(268)-JVS(1718)*X(304)-JVS(1719)*X(305)-JVS(1720)*X(337)-JVS(1721)*X(345)& &-JVS(1722)*X(346))/(JVS(1715)) IF (DO_SLV(242)) & X(242) = (X(242)-JVS(1701)*X(280)-JVS(1702)*X(289)-JVS(1703)*X(291)-JVS(1704)*X(324)-JVS(1705)*X(328)-JVS(1706)*X(337)& &-JVS(1707)*X(341)-JVS(1708)*X(345)-JVS(1709)*X(346)-JVS(1710)*X(351))/(JVS(1700)) IF (DO_SLV(241)) & X(241) = (X(241)-JVS(1692)*X(290)-JVS(1693)*X(329)-JVS(1694)*X(335)-JVS(1695)*X(336)-JVS(1696)*X(341)-JVS(1697)*X(346)& &-JVS(1698)*X(348))/(JVS(1691)) IF (DO_SLV(240)) & X(240) = (X(240)-JVS(1686)*X(335)-JVS(1687)*X(337)-JVS(1688)*X(345)-JVS(1689)*X(346)-JVS(1690)*X(351))/(JVS(1685)) IF (DO_SLV(239)) & X(239) = (X(239)-JVS(1666)*X(252)-JVS(1667)*X(269)-JVS(1668)*X(297)-JVS(1669)*X(327)-JVS(1670)*X(335)-JVS(1671)*X(339)& &-JVS(1672)*X(341)-JVS(1673)*X(344)-JVS(1674)*X(345)-JVS(1675)*X(346)-JVS(1676)*X(348)-JVS(1677)*X(349)& &-JVS(1678)*X(350)-JVS(1679)*X(351)-JVS(1680)*X(352)-JVS(1681)*X(353))/(JVS(1665)) IF (DO_SLV(238)) & X(238) = (X(238)-JVS(1653)*X(267)-JVS(1654)*X(268)-JVS(1655)*X(304)-JVS(1656)*X(305)-JVS(1657)*X(328)-JVS(1658)*X(337)& &-JVS(1659)*X(345)-JVS(1660)*X(346))/(JVS(1652)) IF (DO_SLV(237)) & X(237) = (X(237)-JVS(1642)*X(281)-JVS(1643)*X(324)-JVS(1644)*X(328)-JVS(1645)*X(337)-JVS(1646)*X(341)-JVS(1647)*X(345)& &-JVS(1648)*X(346)-JVS(1649)*X(351))/(JVS(1641)) IF (DO_SLV(236)) & X(236) = (X(236)-JVS(1634)*X(328)-JVS(1635)*X(335)-JVS(1636)*X(337)-JVS(1637)*X(341)-JVS(1638)*X(345)-JVS(1639)*X(346)& &-JVS(1640)*X(351))/(JVS(1633)) IF (DO_SLV(235)) & X(235) = (X(235)-JVS(1620)*X(328)-JVS(1621)*X(335)-JVS(1622)*X(337)-JVS(1623)*X(341)-JVS(1624)*X(345)-JVS(1625)*X(346)& &-JVS(1626)*X(351))/(JVS(1619)) IF (DO_SLV(234)) & X(234) = (X(234)-JVS(1608)*X(246)-JVS(1609)*X(328)-JVS(1610)*X(337)-JVS(1611)*X(341)-JVS(1612)*X(345)-JVS(1613)*X(346)& &-JVS(1614)*X(351))/(JVS(1607)) IF (DO_SLV(233)) & X(233) = (X(233)-JVS(1599)*X(337)-JVS(1600)*X(341)-JVS(1601)*X(345)-JVS(1602)*X(346)-JVS(1603)*X(351))/(JVS(1598)) IF (DO_SLV(232)) & X(232) = (X(232)-JVS(1591)*X(304)-JVS(1592)*X(305)-JVS(1593)*X(337)-JVS(1594)*X(345)-JVS(1595)*X(346))/(JVS(1590)) IF (DO_SLV(231)) & X(231) = (X(231)-JVS(1584)*X(276)-JVS(1585)*X(304)-JVS(1586)*X(337)-JVS(1587)*X(345))/(JVS(1583)) IF (DO_SLV(230)) & X(230) = (X(230)-JVS(1578)*X(276)-JVS(1579)*X(305)-JVS(1580)*X(337)-JVS(1581)*X(345))/(JVS(1577)) IF (DO_SLV(229)) & X(229) = (X(229)-JVS(1571)*X(291)-JVS(1572)*X(337)-JVS(1573)*X(341)-JVS(1574)*X(345)-JVS(1575)*X(351))/(JVS(1570)) IF (DO_SLV(228)) & X(228) = (X(228)-JVS(1564)*X(290)-JVS(1565)*X(326)-JVS(1566)*X(334)-JVS(1567)*X(340)-JVS(1568)*X(341)-JVS(1569)& &*X(345))/(JVS(1563)) IF (DO_SLV(227)) & X(227) = (X(227)-JVS(1551)*X(230)-JVS(1552)*X(231)-JVS(1553)*X(258)-JVS(1554)*X(285)-JVS(1555)*X(286)-JVS(1556)*X(288)& &-JVS(1557)*X(301)-JVS(1558)*X(302)-JVS(1559)*X(303)-JVS(1560)*X(337)-JVS(1561)*X(345)-JVS(1562)*X(346))& &/(JVS(1550)) IF (DO_SLV(226)) & X(226) = (X(226)-JVS(1542)*X(311)-JVS(1543)*X(337)-JVS(1544)*X(345)-JVS(1545)*X(346))/(JVS(1541)) IF (DO_SLV(225)) & X(225) = (X(225)-JVS(1532)*X(277)-JVS(1533)*X(324)-JVS(1534)*X(328)-JVS(1535)*X(337)-JVS(1536)*X(341)-JVS(1537)*X(345)& &-JVS(1538)*X(346)-JVS(1539)*X(351))/(JVS(1531)) IF (DO_SLV(224)) & X(224) = (X(224)-JVS(1524)*X(304)-JVS(1525)*X(337)-JVS(1526)*X(345)-JVS(1527)*X(346))/(JVS(1523)) IF (DO_SLV(223)) & X(223) = (X(223)-JVS(1517)*X(305)-JVS(1518)*X(337)-JVS(1519)*X(345)-JVS(1520)*X(346))/(JVS(1516)) IF (DO_SLV(222)) & X(222) = (X(222)-JVS(1509)*X(310)-JVS(1510)*X(311)-JVS(1511)*X(328)-JVS(1512)*X(337)-JVS(1513)*X(345))/(JVS(1508)) IF (DO_SLV(221)) & X(221) = (X(221)-JVS(1504)*X(269)-JVS(1505)*X(341)-JVS(1506)*X(345)-JVS(1507)*X(351))/(JVS(1503)) IF (DO_SLV(220)) & X(220) = (X(220)-JVS(1492)*X(341)-JVS(1493)*X(345)-JVS(1494)*X(351))/(JVS(1491)) IF (DO_SLV(219)) & X(219) = (X(219)-JVS(1488)*X(341)-JVS(1489)*X(345)-JVS(1490)*X(351))/(JVS(1487)) IF (DO_SLV(218)) & X(218) = (X(218)-JVS(1482)*X(335)-JVS(1483)*X(336)-JVS(1484)*X(339)-JVS(1485)*X(342)-JVS(1486)*X(347))/(JVS(1481)) IF (DO_SLV(217)) & X(217) = (X(217)-JVS(1471)*X(228)-JVS(1472)*X(325)-JVS(1473)*X(334)-JVS(1474)*X(337)-JVS(1475)*X(339)-JVS(1476)*X(340)& &-JVS(1477)*X(341)-JVS(1478)*X(343)-JVS(1479)*X(345)-JVS(1480)*X(352))/(JVS(1470)) IF (DO_SLV(216)) & X(216) = (X(216)-JVS(1459)*X(226)-JVS(1460)*X(268)-JVS(1461)*X(271)-JVS(1462)*X(293)-JVS(1463)*X(301)-JVS(1464)*X(308)& &-JVS(1465)*X(328)-JVS(1466)*X(337)-JVS(1467)*X(345)-JVS(1468)*X(346))/(JVS(1458)) IF (DO_SLV(215)) & X(215) = (X(215)-JVS(1445)*X(230)-JVS(1446)*X(231)-JVS(1447)*X(267)-JVS(1448)*X(268)-JVS(1449)*X(276)-JVS(1450)*X(301)& &-JVS(1451)*X(304)-JVS(1452)*X(305)-JVS(1453)*X(311)-JVS(1454)*X(337)-JVS(1455)*X(345)-JVS(1456)*X(346))& &/(JVS(1444)) IF (DO_SLV(214)) & X(214) = (X(214)-JVS(1426)*X(335)-JVS(1427)*X(336)-JVS(1428)*X(339)-JVS(1429)*X(344)-JVS(1430)*X(351)-JVS(1431)& &*X(353))/(JVS(1425)) IF (DO_SLV(213)) & X(213) = (X(213)-JVS(1419)*X(306)-JVS(1420)*X(335)-JVS(1421)*X(337)-JVS(1422)*X(345)-JVS(1423)*X(346)-JVS(1424)& &*X(351))/(JVS(1418)) IF (DO_SLV(212)) & X(212) = (X(212)-JVS(1412)*X(337)-JVS(1413)*X(341)-JVS(1414)*X(345)-JVS(1415)*X(346)-JVS(1416)*X(351))/(JVS(1411)) IF (DO_SLV(211)) & X(211) = (X(211)-JVS(1405)*X(281)-JVS(1406)*X(341)-JVS(1407)*X(345)-JVS(1408)*X(346)-JVS(1409)*X(351))/(JVS(1404)) IF (DO_SLV(210)) & X(210) = (X(210)-JVS(1395)*X(223)-JVS(1396)*X(226)-JVS(1397)*X(271)-JVS(1398)*X(276)-JVS(1399)*X(303)-JVS(1400)*X(305)& &-JVS(1401)*X(337)-JVS(1402)*X(345)-JVS(1403)*X(346))/(JVS(1394)) IF (DO_SLV(209)) & X(209) = (X(209)-JVS(1390)*X(305)-JVS(1391)*X(337)-JVS(1392)*X(345))/(JVS(1389)) IF (DO_SLV(208)) & X(208) = (X(208)-JVS(1380)*X(243)-JVS(1381)*X(254)-JVS(1382)*X(258)-JVS(1383)*X(285)-JVS(1384)*X(286)-JVS(1385)*X(288)& &-JVS(1386)*X(337)-JVS(1387)*X(345)-JVS(1388)*X(346))/(JVS(1379)) IF (DO_SLV(207)) & X(207) = (X(207)-JVS(1373)*X(267)-JVS(1374)*X(337)-JVS(1375)*X(345)-JVS(1376)*X(346))/(JVS(1372)) IF (DO_SLV(206)) & X(206) = (X(206)-JVS(1368)*X(268)-JVS(1369)*X(337)-JVS(1370)*X(345)-JVS(1371)*X(346))/(JVS(1367)) IF (DO_SLV(205)) & X(205) = (X(205)-JVS(1363)*X(305)-JVS(1364)*X(337)-JVS(1365)*X(345)-JVS(1366)*X(346))/(JVS(1362)) IF (DO_SLV(204)) & X(204) = (X(204)-JVS(1355)*X(220)-JVS(1356)*X(337)-JVS(1357)*X(341)-JVS(1358)*X(345)-JVS(1359)*X(346)-JVS(1360)& &*X(351))/(JVS(1354)) IF (DO_SLV(203)) & X(203) = (X(203)-JVS(1338)*X(220)-JVS(1339)*X(235)-JVS(1340)*X(236)-JVS(1341)*X(328)-JVS(1342)*X(335)-JVS(1343)*X(337)& &-JVS(1344)*X(341)-JVS(1345)*X(345)-JVS(1346)*X(346)-JVS(1347)*X(351))/(JVS(1337)) IF (DO_SLV(202)) & X(202) = (X(202)-JVS(1328)*X(220)-JVS(1329)*X(341)-JVS(1330)*X(345)-JVS(1331)*X(351))/(JVS(1327)) IF (DO_SLV(201)) & X(201) = (X(201)-JVS(1321)*X(341)-JVS(1322)*X(345)-JVS(1323)*X(351))/(JVS(1320)) IF (DO_SLV(200)) & X(200) = (X(200)-JVS(1313)*X(345)-JVS(1314)*X(351))/(JVS(1312)) IF (DO_SLV(199)) & X(199) = (X(199)-JVS(1309)*X(304)-JVS(1310)*X(337)-JVS(1311)*X(345))/(JVS(1308)) IF (DO_SLV(198)) & X(198) = (X(198)-JVS(1303)*X(223)-JVS(1304)*X(224)-JVS(1305)*X(232)-JVS(1306)*X(337)-JVS(1307)*X(345))/(JVS(1302)) IF (DO_SLV(197)) & X(197) = (X(197)-JVS(1296)*X(233)-JVS(1297)*X(335)-JVS(1298)*X(337)-JVS(1299)*X(345)-JVS(1300)*X(346))/(JVS(1295)) IF (DO_SLV(196)) & X(196) = (X(196)-JVS(1290)*X(337)-JVS(1291)*X(345)-JVS(1292)*X(346)-JVS(1293)*X(351))/(JVS(1289)) IF (DO_SLV(195)) & X(195) = (X(195)-JVS(1283)*X(220)-JVS(1284)*X(341)-JVS(1285)*X(345)-JVS(1286)*X(351))/(JVS(1282)) IF (DO_SLV(194)) & X(194) = (X(194)-JVS(1276)*X(230)-JVS(1277)*X(231)-JVS(1278)*X(301)-JVS(1279)*X(303)-JVS(1280)*X(345))/(JVS(1275)) IF (DO_SLV(193)) & X(193) = (X(193)-JVS(1270)*X(291)-JVS(1271)*X(341)-JVS(1272)*X(345)-JVS(1273)*X(346)-JVS(1274)*X(351))/(JVS(1269)) IF (DO_SLV(192)) & X(192) = (X(192)-JVS(1266)*X(304)-JVS(1267)*X(337)-JVS(1268)*X(345))/(JVS(1265)) IF (DO_SLV(191)) & X(191) = (X(191)-JVS(1262)*X(341)-JVS(1263)*X(345)-JVS(1264)*X(351))/(JVS(1261)) IF (DO_SLV(190)) & X(190) = (X(190)-JVS(1257)*X(304)-JVS(1258)*X(337)-JVS(1259)*X(345)-JVS(1260)*X(346))/(JVS(1256)) IF (DO_SLV(189)) & X(189) = (X(189)-JVS(1249)*X(200)-JVS(1250)*X(220)-JVS(1251)*X(337)-JVS(1252)*X(345)-JVS(1253)*X(346)-JVS(1254)& &*X(351))/(JVS(1248)) IF (DO_SLV(188)) & X(188) = (X(188)-JVS(1235)*X(249)-JVS(1236)*X(250)-JVS(1237)*X(260)-JVS(1238)*X(289)-JVS(1239)*X(300)-JVS(1240)*X(318)& &-JVS(1241)*X(319)-JVS(1242)*X(320)-JVS(1243)*X(321)-JVS(1244)*X(323)-JVS(1245)*X(328)-JVS(1246)*X(345))& &/(JVS(1234)) IF (DO_SLV(187)) & X(187) = (X(187)-JVS(1231)*X(305)-JVS(1232)*X(337)-JVS(1233)*X(345))/(JVS(1230)) IF (DO_SLV(186)) & X(186) = (X(186)-JVS(1227)*X(311)-JVS(1228)*X(337)-JVS(1229)*X(345))/(JVS(1226)) IF (DO_SLV(185)) & X(185) = (X(185)-JVS(1220)*X(230)-JVS(1221)*X(231)-JVS(1222)*X(285)-JVS(1223)*X(286)-JVS(1224)*X(301)-JVS(1225)& &*X(345))/(JVS(1219)) IF (DO_SLV(184)) & X(184) = (X(184)-JVS(1213)*X(259)-JVS(1214)*X(308)-JVS(1215)*X(335)-JVS(1216)*X(345))/(JVS(1212)) IF (DO_SLV(183)) & X(183) = (X(183)-JVS(1208)*X(340)-JVS(1209)*X(342)-JVS(1210)*X(345)-JVS(1211)*X(351))/(JVS(1207)) IF (DO_SLV(182)) & X(182) = (X(182)-JVS(1202)*X(301)-JVS(1203)*X(303)-JVS(1204)*X(337)-JVS(1205)*X(345)-JVS(1206)*X(346))/(JVS(1201)) IF (DO_SLV(181)) & X(181) = (X(181)-JVS(1198)*X(334)-JVS(1199)*X(340)-JVS(1200)*X(345))/(JVS(1197)) IF (DO_SLV(180)) & X(180) = (X(180)-JVS(1193)*X(299)-JVS(1194)*X(337)-JVS(1195)*X(345)-JVS(1196)*X(346))/(JVS(1192)) IF (DO_SLV(179)) & X(179) = (X(179)-JVS(1188)*X(327)-JVS(1189)*X(339)-JVS(1190)*X(341)-JVS(1191)*X(348))/(JVS(1187)) IF (DO_SLV(178)) & X(178) = (X(178)-JVS(1183)*X(337)-JVS(1184)*X(345)-JVS(1185)*X(346)-JVS(1186)*X(351))/(JVS(1182)) IF (DO_SLV(177)) & X(177) = (X(177)-JVS(1172)*X(211)-JVS(1173)*X(237)-JVS(1174)*X(255)-JVS(1175)*X(272)-JVS(1176)*X(341)-JVS(1177)*X(345)& &-JVS(1178)*X(346)-JVS(1179)*X(351))/(JVS(1171)) IF (DO_SLV(176)) & X(176) = (X(176)-JVS(1167)*X(277)-JVS(1168)*X(278)-JVS(1169)*X(345)-JVS(1170)*X(346))/(JVS(1166)) IF (DO_SLV(175)) & X(175) = (X(175)-JVS(1162)*X(305)-JVS(1163)*X(345)-JVS(1164)*X(346))/(JVS(1161)) IF (DO_SLV(174)) & X(174) = (X(174)-JVS(1156)*X(223)-JVS(1157)*X(224)-JVS(1158)*X(232)-JVS(1159)*X(337)-JVS(1160)*X(345))/(JVS(1155)) IF (DO_SLV(173)) & X(173) = (X(173)-JVS(1145)*X(200)-JVS(1146)*X(201)-JVS(1147)*X(221)-JVS(1148)*X(240)-JVS(1149)*X(246)-JVS(1150)*X(289)& &-JVS(1151)*X(322)-JVS(1152)*X(324)-JVS(1153)*X(337)-JVS(1154)*X(345))/(JVS(1144)) IF (DO_SLV(172)) & X(172) = (X(172)-JVS(1138)*X(231)-JVS(1139)*X(301)-JVS(1140)*X(335)-JVS(1141)*X(337)-JVS(1142)*X(346))/(JVS(1137)) IF (DO_SLV(171)) & X(171) = (X(171)-JVS(1132)*X(230)-JVS(1133)*X(301)-JVS(1134)*X(335)-JVS(1135)*X(337)-JVS(1136)*X(346))/(JVS(1131)) IF (DO_SLV(170)) & X(170) = (X(170)-JVS(1125)*X(252)-JVS(1126)*X(331)-JVS(1127)*X(332)-JVS(1128)*X(345)-JVS(1129)*X(346)-JVS(1130)& &*X(351))/(JVS(1124)) IF (DO_SLV(169)) & X(169) = (X(169)-JVS(1118)*X(272)-JVS(1119)*X(274)-JVS(1120)*X(328)-JVS(1121)*X(337)-JVS(1122)*X(345))/(JVS(1117)) IF (DO_SLV(168)) & X(168) = (X(168)-JVS(1114)*X(304)-JVS(1115)*X(345)-JVS(1116)*X(346))/(JVS(1113)) IF (DO_SLV(167)) & X(167) = (X(167)-JVS(1110)*X(341)-JVS(1111)*X(345)-JVS(1112)*X(351))/(JVS(1109)) IF (DO_SLV(166)) & X(166) = (X(166)-JVS(1105)*X(327)-JVS(1106)*X(339)-JVS(1107)*X(341)-JVS(1108)*X(348))/(JVS(1104)) IF (DO_SLV(165)) & X(165) = (X(165)-JVS(1100)*X(196)-JVS(1101)*X(337)-JVS(1102)*X(345)-JVS(1103)*X(346))/(JVS(1099)) IF (DO_SLV(164)) & X(164) = (X(164)-JVS(1095)*X(328)-JVS(1096)*X(337)-JVS(1097)*X(340)-JVS(1098)*X(345))/(JVS(1094)) IF (DO_SLV(163)) & X(163) = (X(163)-JVS(1087)*X(255)-JVS(1088)*X(272)-JVS(1089)*X(328)-JVS(1090)*X(341)-JVS(1091)*X(345)-JVS(1092)*X(346)& &-JVS(1093)*X(351))/(JVS(1086)) IF (DO_SLV(162)) & X(162) = (X(162)-JVS(1082)*X(273)-JVS(1083)*X(275)-JVS(1084)*X(345)-JVS(1085)*X(346))/(JVS(1081)) IF (DO_SLV(161)) & X(161) = (X(161)-JVS(1076)*X(273)-JVS(1077)*X(328)-JVS(1078)*X(337)-JVS(1079)*X(345))/(JVS(1075)) IF (DO_SLV(160)) & X(160) = (X(160)-JVS(1071)*X(278)-JVS(1072)*X(328)-JVS(1073)*X(337)-JVS(1074)*X(345))/(JVS(1070)) IF (DO_SLV(159)) & X(159) = (X(159)-JVS(1067)*X(259)-JVS(1068)*X(337)-JVS(1069)*X(345))/(JVS(1066)) IF (DO_SLV(158)) & X(158) = (X(158)-JVS(1063)*X(200)-JVS(1064)*X(345)-JVS(1065)*X(351))/(JVS(1062)) IF (DO_SLV(157)) & X(157) = (X(157)-JVS(1046)*X(218)-JVS(1047)*X(297)-JVS(1048)*X(316)-JVS(1049)*X(317)-JVS(1050)*X(333)-JVS(1051)*X(338)& &-JVS(1052)*X(339)-JVS(1053)*X(344)-JVS(1054)*X(347)-JVS(1055)*X(349)-JVS(1056)*X(350)-JVS(1057)*X(352)& &-JVS(1058)*X(353))/(JVS(1045)) IF (DO_SLV(156)) & X(156) = (X(156)-JVS(1040)*X(296)-JVS(1041)*X(315)-JVS(1042)*X(328)-JVS(1043)*X(340)-JVS(1044)*X(345))/(JVS(1039)) IF (DO_SLV(155)) & X(155) = (X(155)-JVS(1034)*X(240)-JVS(1035)*X(246)-JVS(1036)*X(322)-JVS(1037)*X(337)-JVS(1038)*X(345))/(JVS(1033)) IF (DO_SLV(154)) & X(154) = (X(154)-JVS(1028)*X(242)-JVS(1029)*X(256)-JVS(1030)*X(341)-JVS(1031)*X(345)-JVS(1032)*X(351))/(JVS(1027)) IF (DO_SLV(153)) & X(153) = (X(153)-JVS(1022)*X(258)-JVS(1023)*X(285)-JVS(1024)*X(337)-JVS(1025)*X(345)-JVS(1026)*X(346))/(JVS(1021)) IF (DO_SLV(152)) & X(152) = (X(152)-JVS(1016)*X(168)-JVS(1017)*X(175)-JVS(1018)*X(187)-JVS(1019)*X(192)-JVS(1020)*X(345))/(JVS(1015)) IF (DO_SLV(151)) & X(151) = (X(151)-JVS(1010)*X(168)-JVS(1011)*X(175)-JVS(1012)*X(187)-JVS(1013)*X(192)-JVS(1014)*X(345))/(JVS(1009)) IF (DO_SLV(150)) & X(150) = (X(150)-JVS(1005)*X(209)-JVS(1006)*X(276)-JVS(1007)*X(305)-JVS(1008)*X(345))/(JVS(1004)) IF (DO_SLV(149)) & X(149) = (X(149)-JVS(1002)*X(345)-JVS(1003)*X(351))/(JVS(1001)) IF (DO_SLV(148)) & X(148) = (X(148)-JVS(993)*X(218)-JVS(994)*X(316)-JVS(995)*X(342)-JVS(996)*X(345)-JVS(997)*X(347)-JVS(998)*X(349)& &-JVS(999)*X(350)-JVS(1000)*X(352))/(JVS(992)) IF (DO_SLV(147)) & X(147) = (X(147)-JVS(989)*X(285)-JVS(990)*X(286)-JVS(991)*X(345))/(JVS(988)) IF (DO_SLV(146)) & X(146) = (X(146)-JVS(984)*X(200)-JVS(985)*X(337)-JVS(986)*X(345)-JVS(987)*X(346))/(JVS(983)) IF (DO_SLV(145)) & X(145) = (X(145)-JVS(974)*X(186)-JVS(975)*X(299)-JVS(976)*X(310)-JVS(977)*X(311)-JVS(978)*X(324)-JVS(979)*X(328)& &-JVS(980)*X(346)-JVS(981)*X(351))/(JVS(973)) IF (DO_SLV(144)) & X(144) = (X(144)-JVS(969)*X(199)-JVS(970)*X(276)-JVS(971)*X(304)-JVS(972)*X(345))/(JVS(968)) IF (DO_SLV(143)) & X(143) = (X(143)-JVS(965)*X(220)-JVS(966)*X(341)-JVS(967)*X(345))/(JVS(964)) IF (DO_SLV(142)) & X(142) = (X(142)-JVS(961)*X(340)-JVS(962)*X(345)-JVS(963)*X(351))/(JVS(960)) IF (DO_SLV(141)) & X(141) = (X(141)-JVS(957)*X(340)-JVS(958)*X(342)-JVS(959)*X(345))/(JVS(956)) IF (DO_SLV(140)) & X(140) = (X(140)-JVS(953)*X(341)-JVS(954)*X(345)-JVS(955)*X(351))/(JVS(952)) IF (DO_SLV(139)) & X(139) = (X(139)-JVS(949)*X(324)-JVS(950)*X(335)-JVS(951)*X(345))/(JVS(948)) IF (DO_SLV(138)) & X(138) = (X(138)-JVS(945)*X(275)-JVS(946)*X(345)-JVS(947)*X(346))/(JVS(944)) IF (DO_SLV(137)) & X(137) = (X(137)-JVS(941)*X(277)-JVS(942)*X(345)-JVS(943)*X(346))/(JVS(940)) IF (DO_SLV(136)) & X(136) = (X(136)-JVS(936)*X(234)-JVS(937)*X(328)-JVS(938)*X(337)-JVS(939)*X(345))/(JVS(935)) IF (DO_SLV(135)) & X(135) = (X(135)-JVS(931)*X(231)-JVS(932)*X(337)-JVS(933)*X(345)-JVS(934)*X(346))/(JVS(930)) IF (DO_SLV(134)) & X(134) = (X(134)-JVS(920)*X(179)-JVS(921)*X(241)-JVS(922)*X(264)-JVS(923)*X(312)-JVS(924)*X(316)-JVS(925)*X(325)& &-JVS(926)*X(333)-JVS(927)*X(341)-JVS(928)*X(345)-JVS(929)*X(348))/(JVS(919)) IF (DO_SLV(133)) & X(133) = (X(133)-JVS(914)*X(230)-JVS(915)*X(337)-JVS(916)*X(345)-JVS(917)*X(346))/(JVS(913)) IF (DO_SLV(132)) & X(132) = (X(132)-JVS(909)*X(233)-JVS(910)*X(337)-JVS(911)*X(345)-JVS(912)*X(346))/(JVS(908)) IF (DO_SLV(131)) & X(131) = (X(131)-JVS(903)*X(258)-JVS(904)*X(286)-JVS(905)*X(337)-JVS(906)*X(345)-JVS(907)*X(346))/(JVS(902)) IF (DO_SLV(130)) & X(130) = (X(130)-JVS(898)*X(274)-JVS(899)*X(328)-JVS(900)*X(337)-JVS(901)*X(345))/(JVS(897)) IF (DO_SLV(129)) & X(129) = (X(129)-JVS(887)*X(138)-JVS(888)*X(191)-JVS(889)*X(275)-JVS(890)*X(324)-JVS(891)*X(328)-JVS(892)*X(337)& &-JVS(893)*X(341)-JVS(894)*X(345)-JVS(895)*X(346)-JVS(896)*X(351))/(JVS(886)) IF (DO_SLV(128)) & X(128) = (X(128)-JVS(880)*X(199)-JVS(881)*X(209)-JVS(882)*X(267)-JVS(883)*X(268)-JVS(884)*X(345))/(JVS(879)) IF (DO_SLV(127)) & X(127) = (X(127)-JVS(876)*X(212)-JVS(877)*X(345)-JVS(878)*X(346))/(JVS(875)) IF (DO_SLV(126)) & X(126) = (X(126)-JVS(872)*X(197)-JVS(873)*X(335)-JVS(874)*X(345))/(JVS(871)) IF (DO_SLV(125)) & X(125) = (X(125)-JVS(868)*X(250)-JVS(869)*X(337)-JVS(870)*X(345))/(JVS(867)) IF (DO_SLV(124)) & X(124) = (X(124)-JVS(864)*X(322)-JVS(865)*X(335)-JVS(866)*X(345))/(JVS(863)) IF (DO_SLV(123)) & X(123) = (X(123)-JVS(860)*X(260)-JVS(861)*X(337)-JVS(862)*X(345))/(JVS(859)) IF (DO_SLV(122)) & X(122) = (X(122)-JVS(856)*X(240)-JVS(857)*X(335)-JVS(858)*X(345))/(JVS(855)) IF (DO_SLV(121)) & X(121) = (X(121)-JVS(851)*X(200)-JVS(852)*X(337)-JVS(853)*X(345)-JVS(854)*X(346))/(JVS(850)) IF (DO_SLV(120)) & X(120) = (X(120)-JVS(845)*X(284)-JVS(846)*X(338)-JVS(847)*X(345)-JVS(848)*X(347))/(JVS(844)) IF (DO_SLV(119)) & X(119) = (X(119)-JVS(840)*X(230)-JVS(841)*X(231)-JVS(842)*X(301)-JVS(843)*X(345))/(JVS(839)) IF (DO_SLV(118)) & X(118) = (X(118)-JVS(835)*X(296)-JVS(836)*X(315)-JVS(837)*X(337)-JVS(838)*X(345))/(JVS(834)) IF (DO_SLV(117)) & X(117) = (X(117)-JVS(829)*X(235)-JVS(830)*X(236)-JVS(831)*X(335)-JVS(832)*X(337)-JVS(833)*X(345))/(JVS(828)) IF (DO_SLV(116)) & X(116) = (X(116)-JVS(824)*X(189)-JVS(825)*X(345)-JVS(826)*X(346))/(JVS(823)) IF (DO_SLV(115)) & X(115) = (X(115)-JVS(818)*X(194)-JVS(819)*X(302)-JVS(820)*X(314)-JVS(821)*X(341)-JVS(822)*X(345))/(JVS(817)) IF (DO_SLV(114)) & X(114) = (X(114)-JVS(814)*X(213)-JVS(815)*X(335)-JVS(816)*X(345))/(JVS(813)) IF (DO_SLV(113)) & X(113) = (X(113)-JVS(810)*X(246)-JVS(811)*X(335)-JVS(812)*X(345))/(JVS(809)) IF (DO_SLV(112)) & X(112) = (X(112)-JVS(806)*X(275)-JVS(807)*X(337)-JVS(808)*X(345))/(JVS(805)) IF (DO_SLV(111)) & X(111) = (X(111)-JVS(802)*X(277)-JVS(803)*X(337)-JVS(804)*X(345))/(JVS(801)) IF (DO_SLV(110)) & X(110) = (X(110)-JVS(796)*X(328)-JVS(797)*X(338)-JVS(798)*X(340)-JVS(799)*X(345)-JVS(800)*X(347))/(JVS(795)) IF (DO_SLV(109)) & X(109) = (X(109)-JVS(791)*X(233)-JVS(792)*X(341)-JVS(793)*X(345))/(JVS(790)) IF (DO_SLV(108)) & X(108) = (X(108)-JVS(787)*X(335)-JVS(788)*X(337)-JVS(789)*X(345))/(JVS(786)) IF (DO_SLV(107)) & X(107) = (X(107)-JVS(783)*X(159)-JVS(784)*X(184)-JVS(785)*X(345))/(JVS(782)) IF (DO_SLV(106)) & X(106) = (X(106)-JVS(777)*X(136)-JVS(778)*X(234)-JVS(779)*X(328)-JVS(780)*X(346)-JVS(781)*X(351))/(JVS(776)) IF (DO_SLV(105)) & X(105) = (X(105)-JVS(774)*X(334)-JVS(775)*X(345))/(JVS(773)) IF (DO_SLV(104)) & X(104) = (X(104)-JVS(766)*X(252)-JVS(767)*X(284)-JVS(768)*X(330)-JVS(769)*X(332)-JVS(770)*X(338)-JVS(771)*X(344)& &-JVS(772)*X(353))/(JVS(765)) IF (DO_SLV(103)) & X(103) = (X(103)-JVS(752)*X(168)-JVS(753)*X(175)-JVS(754)*X(186)-JVS(755)*X(216)-JVS(756)*X(222)-JVS(757)*X(248)& &-JVS(758)*X(251)-JVS(759)*X(266)-JVS(760)*X(267)-JVS(761)*X(268)-JVS(762)*X(299)-JVS(763)*X(302)-JVS(764)& &*X(303))/(JVS(751)) IF (DO_SLV(102)) & X(102) = (X(102)-JVS(748)*X(300)-JVS(749)*X(337)-JVS(750)*X(345))/(JVS(747)) IF (DO_SLV(101)) & X(101) = (X(101)-JVS(746)*X(345))/(JVS(745)) IF (DO_SLV(100)) & X(100) = (X(100)-JVS(742)*X(323)-JVS(743)*X(337)-JVS(744)*X(345))/(JVS(741)) IF (DO_SLV(99)) & X(99) = (X(99)-JVS(738)*X(321)-JVS(739)*X(337)-JVS(740)*X(345))/(JVS(737)) IF (DO_SLV(98)) & X(98) = (X(98)-JVS(734)*X(178)-JVS(735)*X(337)-JVS(736)*X(345))/(JVS(733)) IF (DO_SLV(97)) & X(97) = (X(97)-JVS(730)*X(319)-JVS(731)*X(337)-JVS(732)*X(345))/(JVS(729)) IF (DO_SLV(96)) & X(96) = (X(96)-JVS(726)*X(284)-JVS(727)*X(346)-JVS(728)*X(347))/(JVS(725)) IF (DO_SLV(95)) & X(95) = (X(95)-JVS(719)*X(321)-JVS(720)*X(345)-JVS(721)*X(346))/(JVS(718)) IF (DO_SLV(94)) & X(94) = (X(94)-JVS(716)*X(345)-JVS(717)*X(351))/(JVS(715)) IF (DO_SLV(93)) & X(93) = (X(93)-JVS(712)*X(328)-JVS(713)*X(345)-JVS(714)*X(346))/(JVS(711)) IF (DO_SLV(92)) & X(92) = (X(92)-JVS(708)*X(324)-JVS(709)*X(337)-JVS(710)*X(345))/(JVS(707)) IF (DO_SLV(91)) & X(91) = (X(91)-JVS(704)*X(323)-JVS(705)*X(345)-JVS(706)*X(346))/(JVS(703)) IF (DO_SLV(90)) & X(90) = (X(90)-JVS(700)*X(235)-JVS(701)*X(335)-JVS(702)*X(345))/(JVS(699)) IF (DO_SLV(89)) & X(89) = (X(89)-JVS(696)*X(325)-JVS(697)*X(345)-JVS(698)*X(348))/(JVS(695)) IF (DO_SLV(88)) & X(88) = (X(88)-JVS(692)*X(312)-JVS(693)*X(336)-JVS(694)*X(345))/(JVS(691)) IF (DO_SLV(87)) & X(87) = (X(87)-JVS(689)*X(334)-JVS(690)*X(345))/(JVS(688)) IF (DO_SLV(86)) & X(86) = (X(86)-JVS(686)*X(334)-JVS(687)*X(345))/(JVS(685)) IF (DO_SLV(85)) & X(85) = (X(85)-JVS(683)*X(334)-JVS(684)*X(345))/(JVS(682)) IF (DO_SLV(84)) & X(84) = (X(84)-JVS(680)*X(334)-JVS(681)*X(345))/(JVS(679)) IF (DO_SLV(83)) & X(83) = (X(83)-JVS(676)*X(296)-JVS(677)*X(345)-JVS(678)*X(346))/(JVS(675)) IF (DO_SLV(82)) & X(82) = (X(82)-JVS(674)*X(345))/(JVS(673)) IF (DO_SLV(81)) & X(81) = (X(81)-JVS(671)*X(334)-JVS(672)*X(345))/(JVS(670)) IF (DO_SLV(80)) & X(80) = (X(80)-JVS(668)*X(328)-JVS(669)*X(335))/(JVS(667)) IF (DO_SLV(79)) & X(79) = (X(79)-JVS(665)*X(340)-JVS(666)*X(345))/(JVS(664)) IF (DO_SLV(78)) & X(78) = (X(78)-JVS(662)*X(334)-JVS(663)*X(345))/(JVS(661)) IF (DO_SLV(77)) & X(77) = (X(77)-JVS(656)*X(252)-JVS(657)*X(330)-JVS(658)*X(332)-JVS(659)*X(349)-JVS(660)*X(350))/(JVS(655)) IF (DO_SLV(76)) & X(76) = (X(76)-JVS(653)*X(338)-JVS(654)*X(345))/(JVS(652)) IF (DO_SLV(75)) & X(75) = (X(75)-JVS(650)*X(340)-JVS(651)*X(345))/(JVS(649)) IF (DO_SLV(74)) & X(74) = (X(74)-JVS(646)*X(257)-JVS(647)*X(337)-JVS(648)*X(345))/(JVS(645)) IF (DO_SLV(73)) & X(73) = (X(73)-JVS(642)*X(331)-JVS(643)*X(337)-JVS(644)*X(345))/(JVS(641)) IF (DO_SLV(72)) & X(72) = (X(72)-JVS(638)*X(213)-JVS(639)*X(337)-JVS(640)*X(345))/(JVS(637)) IF (DO_SLV(71)) & X(71) = (X(71)-JVS(634)*X(235)-JVS(635)*X(337)-JVS(636)*X(345))/(JVS(633)) IF (DO_SLV(70)) & X(70) = (X(70)-JVS(630)*X(234)-JVS(631)*X(345)-JVS(632)*X(346))/(JVS(629)) IF (DO_SLV(69)) & X(69) = (X(69)-JVS(627)*X(345)-JVS(628)*X(351))/(JVS(626)) IF (DO_SLV(68)) & X(68) = (X(68)-JVS(624)*X(343)-JVS(625)*X(345))/(JVS(623)) IF (DO_SLV(67)) & X(67) = (X(67)-JVS(621)*X(335)-JVS(622)*X(346))/(JVS(620)) IF (DO_SLV(66)) & X(66) = (X(66)-JVS(616)*X(257)-JVS(617)*X(328)-JVS(618)*X(337)-JVS(619)*X(345))/(JVS(615)) IF (DO_SLV(65)) & X(65) = (X(65)-JVS(612)*X(166)-JVS(613)*X(327)-JVS(614)*X(351))/(JVS(611)) IF (DO_SLV(64)) & X(64) = (X(64)-JVS(608)*X(179)-JVS(609)*X(327)-JVS(610)*X(351))/(JVS(607)) IF (DO_SLV(63)) & X(63) = (X(63)-JVS(604)*X(67)-JVS(605)*X(334)-JVS(606)*X(335))/(JVS(603)) IF (DO_SLV(62)) & X(62) = (X(62)-JVS(601)*X(331)-JVS(602)*X(346))/(JVS(600)) IF (DO_SLV(61)) & X(61) = (X(61)-JVS(599)*X(334))/(JVS(598)) IF (DO_SLV(60)) & X(60) = (X(60)-JVS(597)*X(345))/(JVS(596)) IF (DO_SLV(59)) & X(59) = (X(59)-JVS(594)*X(335)-JVS(595)*X(342))/(JVS(593)) IF (DO_SLV(58)) & X(58) = (X(58)-JVS(591)*X(200)-JVS(592)*X(345))/(JVS(590)) IF (DO_SLV(57)) & X(57) = (X(57)-JVS(588)*X(274)-JVS(589)*X(335))/(JVS(587)) IF (DO_SLV(56)) & X(56) = (X(56)-JVS(585)*X(257)-JVS(586)*X(335))/(JVS(584)) IF (DO_SLV(55)) & X(55) = (X(55)-JVS(582)*X(96)-JVS(583)*X(284))/(JVS(581)) IF (DO_SLV(54)) & X(54) = (X(54)-JVS(580)*X(334))/(JVS(579)) IF (DO_SLV(53)) & X(53) = (X(53)-JVS(578)*X(334))/(JVS(577)) IF (DO_SLV(52)) & X(52) = (X(52)-JVS(576)*X(345))/(JVS(575)) IF (DO_SLV(51)) & X(51) = (X(51)-JVS(574)*X(334))/(JVS(573)) IF (DO_SLV(50)) & X(50) = (X(50)-JVS(572)*X(334))/(JVS(571)) IF (DO_SLV(49)) & X(49) = (X(49)-JVS(570)*X(334))/(JVS(569)) IF (DO_SLV(48)) & X(48) = (X(48)-JVS(568)*X(334))/(JVS(567)) IF (DO_SLV(47)) & X(47) = (X(47)-JVS(566)*X(334))/(JVS(565)) IF (DO_SLV(46)) & X(46) = (X(46)-JVS(564)*X(334))/(JVS(563)) IF (DO_SLV(45)) & X(45) = (X(45)-JVS(560)*X(154)-JVS(561)*X(242)-JVS(562)*X(256))/(JVS(559)) IF (DO_SLV(44)) & X(44) = (X(44)-JVS(558)*X(284))/(JVS(557)) IF (DO_SLV(43)) & X(43) = (X(43)-JVS(556)*X(345))/(JVS(555)) IF (DO_SLV(42)) & X(42) = (X(42)-JVS(554)*X(96))/(JVS(553)) IF (DO_SLV(41)) & X(41) = (X(41)-JVS(552)*X(345))/(JVS(551)) IF (DO_SLV(40)) & X(40) = (X(40)-JVS(543)*X(241)-JVS(544)*X(276)-JVS(545)*X(312)-JVS(546)*X(314)-JVS(547)*X(336)-JVS(548)*X(337)& &-JVS(549)*X(341)-JVS(550)*X(345))/(JVS(542)) IF (DO_SLV(39)) & X(39) = (X(39)-JVS(538)*X(228)-JVS(539)*X(334)-JVS(540)*X(340)-JVS(541)*X(345))/(JVS(537)) IF (DO_SLV(38)) & X(38) = (X(38)-JVS(527)*X(89)-JVS(528)*X(179)-JVS(529)*X(241)-JVS(530)*X(264)-JVS(531)*X(312)-JVS(532)*X(316)-JVS(533)& &*X(333)-JVS(534)*X(341)-JVS(535)*X(345)-JVS(536)*X(348))/(JVS(526)) IF (DO_SLV(37)) & X(37) = (X(37)-JVS(522)*X(241)-JVS(523)*X(312)-JVS(524)*X(329)-JVS(525)*X(345))/(JVS(521)) IF (DO_SLV(36)) & X(36) = (X(36)-JVS(433)*X(60)-JVS(434)*X(68)-JVS(435)*X(75)-JVS(436)*X(79)-JVS(437)*X(82)-JVS(438)*X(101)-JVS(439)& &*X(107)-JVS(440)*X(113)-JVS(441)*X(114)-JVS(442)*X(119)-JVS(443)*X(122)-JVS(444)*X(124)-JVS(445)*X(126)& &-JVS(446)*X(127)-JVS(447)*X(132)-JVS(448)*X(139)-JVS(449)*X(143)-JVS(450)*X(144)-JVS(451)*X(146)-JVS(452)& &*X(147)-JVS(453)*X(150)-JVS(454)*X(153)-JVS(455)*X(159)-JVS(456)*X(167)-JVS(457)*X(181)-JVS(458)*X(182)& &-JVS(459)*X(184)-JVS(460)*X(185)-JVS(461)*X(187)-JVS(462)*X(191)-JVS(463)*X(192)-JVS(464)*X(194)-JVS(465)& &*X(197)-JVS(466)*X(199)-JVS(467)*X(200)-JVS(468)*X(201)-JVS(469)*X(204)-JVS(470)*X(208)-JVS(471)*X(209)& &-JVS(472)*X(210)-JVS(473)*X(215)-JVS(474)*X(216)-JVS(475)*X(220)-JVS(476)*X(221)-JVS(477)*X(225)-JVS(478)& &*X(227)-JVS(479)*X(230)-JVS(480)*X(231)-JVS(481)*X(233)-JVS(482)*X(238)-JVS(483)*X(243)-JVS(484)*X(248)& &-JVS(485)*X(253)-JVS(486)*X(255)-JVS(487)*X(258)-JVS(488)*X(259)-JVS(489)*X(261)-JVS(490)*X(266)-JVS(491)& &*X(267)-JVS(492)*X(268)-JVS(493)*X(269)-JVS(494)*X(270)-JVS(495)*X(276)-JVS(496)*X(285)-JVS(497)*X(286)& &-JVS(498)*X(287)-JVS(499)*X(290)-JVS(500)*X(294)-JVS(501)*X(295)-JVS(502)*X(298)-JVS(503)*X(301)-JVS(504)& &*X(304)-JVS(505)*X(305)-JVS(506)*X(306)-JVS(507)*X(307)-JVS(508)*X(309)-JVS(509)*X(314)-JVS(510)*X(325)& &-JVS(511)*X(326)-JVS(512)*X(328)-JVS(513)*X(337)-JVS(514)*X(340)-JVS(515)*X(341)-JVS(516)*X(342)-JVS(517)& &*X(343)-JVS(518)*X(345)-JVS(519)*X(346)-JVS(520)*X(351))/(JVS(432)) IF (DO_SLV(35)) & X(35) = (X(35)-JVS(307)*X(42)-JVS(308)*X(44)-JVS(309)*X(49)-JVS(310)*X(50)-JVS(311)*X(55)-JVS(312)*X(63)-JVS(313)& &*X(64)-JVS(314)*X(65)-JVS(315)*X(68)-JVS(316)*X(69)-JVS(317)*X(76)-JVS(318)*X(87)-JVS(319)*X(94)-JVS(320)*X(96)& &-JVS(321)*X(105)-JVS(322)*X(109)-JVS(323)*X(120)-JVS(324)*X(140)-JVS(325)*X(142)-JVS(326)*X(149)-JVS(327)& &*X(154)-JVS(328)*X(158)-JVS(329)*X(163)-JVS(330)*X(166)-JVS(331)*X(167)-JVS(332)*X(168)-JVS(333)*X(175)& &-JVS(334)*X(179)-JVS(335)*X(181)-JVS(336)*X(183)-JVS(337)*X(186)-JVS(338)*X(191)-JVS(339)*X(195)-JVS(340)& &*X(197)-JVS(341)*X(200)-JVS(342)*X(201)-JVS(343)*X(202)-JVS(344)*X(203)-JVS(345)*X(204)-JVS(346)*X(211)& &-JVS(347)*X(213)-JVS(348)*X(214)-JVS(349)*X(216)-JVS(350)*X(217)-JVS(351)*X(218)-JVS(352)*X(219)-JVS(353)& &*X(220)-JVS(354)*X(221)-JVS(355)*X(222)-JVS(356)*X(225)-JVS(357)*X(228)-JVS(358)*X(229)-JVS(359)*X(234)& &-JVS(360)*X(235)-JVS(361)*X(236)-JVS(362)*X(237)-JVS(363)*X(240)-JVS(364)*X(242)-JVS(365)*X(246)-JVS(366)& &*X(248)-JVS(367)*X(251)-JVS(368)*X(252)-JVS(369)*X(255)-JVS(370)*X(256)-JVS(371)*X(257)-JVS(372)*X(261)& &-JVS(373)*X(262)-JVS(374)*X(263)-JVS(375)*X(264)-JVS(376)*X(266)-JVS(377)*X(267)-JVS(378)*X(268)-JVS(379)& &*X(270)-JVS(380)*X(272)-JVS(381)*X(273)-JVS(382)*X(274)-JVS(383)*X(275)-JVS(384)*X(276)-JVS(385)*X(277)& &-JVS(386)*X(278)-JVS(387)*X(280)-JVS(388)*X(281)-JVS(389)*X(284)-JVS(390)*X(289)-JVS(391)*X(290)-JVS(392)& &*X(291)-JVS(393)*X(292)-JVS(394)*X(294)-JVS(395)*X(297)-JVS(396)*X(298)-JVS(397)*X(299)-JVS(398)*X(302)& &-JVS(399)*X(303)-JVS(400)*X(306)-JVS(401)*X(308)-JVS(402)*X(309)-JVS(403)*X(310)-JVS(404)*X(311)-JVS(405)& &*X(312)-JVS(406)*X(314)-JVS(407)*X(316)-JVS(408)*X(317)-JVS(409)*X(325)-JVS(410)*X(326)-JVS(411)*X(328)& &-JVS(412)*X(330)-JVS(413)*X(332)-JVS(414)*X(333)-JVS(415)*X(334)-JVS(416)*X(335)-JVS(417)*X(336)-JVS(418)& &*X(337)-JVS(419)*X(338)-JVS(420)*X(339)-JVS(421)*X(341)-JVS(422)*X(343)-JVS(423)*X(344)-JVS(424)*X(345)& &-JVS(425)*X(347)-JVS(426)*X(348)-JVS(427)*X(349)-JVS(428)*X(350)-JVS(429)*X(351)-JVS(430)*X(352)-JVS(431)& &*X(353))/(JVS(306)) IF (DO_SLV(34)) & X(34) = (X(34)-JVS(189)*X(45)-JVS(190)*X(56)-JVS(191)*X(57)-JVS(192)*X(63)-JVS(193)*X(67)-JVS(194)*X(70)-JVS(195)& &*X(80)-JVS(196)*X(83)-JVS(197)*X(90)-JVS(198)*X(91)-JVS(199)*X(93)-JVS(200)*X(95)-JVS(201)*X(103)-JVS(202)& &*X(108)-JVS(203)*X(110)-JVS(204)*X(113)-JVS(205)*X(114)-JVS(206)*X(116)-JVS(207)*X(121)-JVS(208)*X(122)& &-JVS(209)*X(124)-JVS(210)*X(126)-JVS(211)*X(127)-JVS(212)*X(132)-JVS(213)*X(133)-JVS(214)*X(135)-JVS(215)& &*X(137)-JVS(216)*X(138)-JVS(217)*X(139)-JVS(218)*X(148)-JVS(219)*X(154)-JVS(220)*X(162)-JVS(221)*X(165)& &-JVS(222)*X(170)-JVS(223)*X(171)-JVS(224)*X(172)-JVS(225)*X(176)-JVS(226)*X(177)-JVS(227)*X(178)-JVS(228)& &*X(180)-JVS(229)*X(182)-JVS(230)*X(184)-JVS(231)*X(189)-JVS(232)*X(190)-JVS(233)*X(193)-JVS(234)*X(196)& &-JVS(235)*X(197)-JVS(236)*X(205)-JVS(237)*X(206)-JVS(238)*X(207)-JVS(239)*X(211)-JVS(240)*X(212)-JVS(241)& &*X(213)-JVS(242)*X(217)-JVS(243)*X(223)-JVS(244)*X(224)-JVS(245)*X(226)-JVS(246)*X(232)-JVS(247)*X(234)& &-JVS(248)*X(235)-JVS(249)*X(236)-JVS(250)*X(239)-JVS(251)*X(240)-JVS(252)*X(241)-JVS(253)*X(243)-JVS(254)& &*X(245)-JVS(255)*X(246)-JVS(256)*X(249)-JVS(257)*X(250)-JVS(258)*X(253)-JVS(259)*X(254)-JVS(260)*X(257)& &-JVS(261)*X(259)-JVS(262)*X(260)-JVS(263)*X(263)-JVS(264)*X(269)-JVS(265)*X(271)-JVS(266)*X(272)-JVS(267)& &*X(273)-JVS(268)*X(274)-JVS(269)*X(275)-JVS(270)*X(277)-JVS(271)*X(278)-JVS(272)*X(280)-JVS(273)*X(281)& &-JVS(274)*X(285)-JVS(275)*X(286)-JVS(276)*X(289)-JVS(277)*X(291)-JVS(278)*X(293)-JVS(279)*X(296)-JVS(280)& &*X(297)-JVS(281)*X(300)-JVS(282)*X(302)-JVS(283)*X(304)-JVS(284)*X(305)-JVS(285)*X(308)-JVS(286)*X(310)& &-JVS(287)*X(311)-JVS(288)*X(312)-JVS(289)*X(313)-JVS(290)*X(315)-JVS(291)*X(317)-JVS(292)*X(318)-JVS(293)& &*X(319)-JVS(294)*X(320)-JVS(295)*X(321)-JVS(296)*X(322)-JVS(297)*X(323)-JVS(298)*X(324)-JVS(299)*X(327)& &-JVS(300)*X(328)-JVS(301)*X(335)-JVS(302)*X(337)-JVS(303)*X(340)-JVS(304)*X(345)-JVS(305)*X(346))/(JVS(188)) IF (DO_SLV(33)) & X(33) = (X(33)-JVS(185)*X(89)-JVS(186)*X(345)-JVS(187)*X(348))/(JVS(184)) IF (DO_SLV(32)) & X(32) = (X(32)-JVS(180)*X(241)-JVS(181)*X(312)-JVS(182)*X(345)-JVS(183)*X(348))/(JVS(179)) IF (DO_SLV(31)) & X(31) = (X(31)-JVS(174)*X(107)-JVS(175)*X(128)-JVS(176)*X(151)-JVS(177)*X(152)-JVS(178)*X(215))/(JVS(173)) IF (DO_SLV(30)) & X(30) = (X(30)-JVS(170)*X(115)-JVS(171)*X(270)-JVS(172)*X(294))/(JVS(169)) IF (DO_SLV(29)) & X(29) = (X(29)-JVS(166)*X(166)-JVS(167)*X(341)-JVS(168)*X(348))/(JVS(165)) IF (DO_SLV(28)) & X(28) = (X(28)-JVS(163)*X(94)-JVS(164)*X(345))/(JVS(162)) IF (DO_SLV(27)) & X(27) = (X(27)-JVS(158)*X(101)-JVS(159)*X(337)-JVS(160)*X(345)-JVS(161)*X(346))/(JVS(157)) IF (DO_SLV(26)) & X(26) = (X(26)-JVS(155)*X(27)-JVS(156)*X(346))/(JVS(154)) IF (DO_SLV(25)) & X(25) = (X(25)-JVS(152)*X(27)-JVS(153)*X(337))/(JVS(151)) IF (DO_SLV(24)) & X(24) = (X(24)-JVS(146)*X(187)-JVS(147)*X(192)-JVS(148)*X(199)-JVS(149)*X(209)-JVS(150)*X(345))/(JVS(145)) IF (DO_SLV(23)) & X(23) = (X(23)-JVS(144)*X(24))/(JVS(143)) IF (DO_SLV(22)) & X(22) = (X(22)-JVS(139)*X(82)-JVS(140)*X(337)-JVS(141)*X(345)-JVS(142)*X(346))/(JVS(138)) IF (DO_SLV(21)) & X(21) = (X(21)-JVS(136)*X(22)-JVS(137)*X(346))/(JVS(135)) IF (DO_SLV(20)) & X(20) = (X(20)-JVS(133)*X(22)-JVS(134)*X(337))/(JVS(132)) IF (DO_SLV(19)) & X(19) = (X(19)-JVS(131)*X(345))/(JVS(130)) IF (DO_SLV(18)) & X(18) = (X(18)-JVS(126)*X(19)-JVS(127)*X(337)-JVS(128)*X(345)-JVS(129)*X(346))/(JVS(125)) IF (DO_SLV(17)) & X(17) = (X(17)-JVS(123)*X(18)-JVS(124)*X(346))/(JVS(122)) IF (DO_SLV(16)) & X(16) = (X(16)-JVS(120)*X(18)-JVS(121)*X(337))/(JVS(119)) IF (DO_SLV(15)) & X(15) = (X(15)-JVS(117)*X(276)-JVS(118)*X(351))/(JVS(116)) IF (DO_SLV(14)) & X(14) = (X(14)-JVS(114)*X(276)-JVS(115)*X(345))/(JVS(113)) IF (DO_SLV(13)) & X(13) = (X(13)-JVS(109)*X(143)-JVS(110)*X(337)-JVS(111)*X(345)-JVS(112)*X(346))/(JVS(108)) IF (DO_SLV(12)) & X(12) = (X(12)-JVS(106)*X(13)-JVS(107)*X(346))/(JVS(105)) IF (DO_SLV(11)) & X(11) = (X(11)-JVS(103)*X(13)-JVS(104)*X(337))/(JVS(102)) IF (DO_SLV(10)) & X(10) = (X(10)-JVS(95)*X(42)-JVS(96)*X(44)-JVS(97)*X(55)-JVS(98)*X(73)-JVS(99)*X(252)-JVS(100)*X(330)-JVS(101)*X(332))& &/(JVS(94)) IF (DO_SLV(9)) & X(9) = (X(9)-JVS(87)*X(42)-JVS(88)*X(44)-JVS(89)*X(55)-JVS(90)*X(73)-JVS(91)*X(252)-JVS(92)*X(330)-JVS(93)*X(332))& &/(JVS(86)) IF (DO_SLV(8)) & X(8) = (X(8)-JVS(84)*X(45)-JVS(85)*X(103))/(JVS(83)) IF (DO_SLV(7)) & X(7) = (X(7)-JVS(15)*X(66)-JVS(16)*X(68)-JVS(17)*X(71)-JVS(18)*X(74)-JVS(19)*X(90)-JVS(20)*X(92)-JVS(21)*X(115)& &-JVS(22)*X(130)-JVS(23)*X(133)-JVS(24)*X(135)-JVS(25)*X(139)-JVS(26)*X(159)-JVS(27)*X(169)-JVS(28)*X(173)& &-JVS(29)*X(182)-JVS(30)*X(194)-JVS(31)*X(198)-JVS(32)*X(213)-JVS(33)*X(216)-JVS(34)*X(235)-JVS(35)*X(238)& &-JVS(36)*X(240)-JVS(37)*X(241)-JVS(38)*X(246)-JVS(39)*X(249)-JVS(40)*X(250)-JVS(41)*X(257)-JVS(42)*X(259)& &-JVS(43)*X(260)-JVS(44)*X(261)-JVS(45)*X(263)-JVS(46)*X(265)-JVS(47)*X(269)-JVS(48)*X(274)-JVS(49)*X(275)& &-JVS(50)*X(276)-JVS(51)*X(277)-JVS(52)*X(280)-JVS(53)*X(281)-JVS(54)*X(283)-JVS(55)*X(287)-JVS(56)*X(290)& &-JVS(57)*X(291)-JVS(58)*X(296)-JVS(59)*X(300)-JVS(60)*X(306)-JVS(61)*X(307)-JVS(62)*X(308)-JVS(63)*X(310)& &-JVS(64)*X(311)-JVS(65)*X(312)-JVS(66)*X(313)-JVS(67)*X(315)-JVS(68)*X(318)-JVS(69)*X(319)-JVS(70)*X(320)& &-JVS(71)*X(321)-JVS(72)*X(322)-JVS(73)*X(323)-JVS(74)*X(324)-JVS(75)*X(328)-JVS(76)*X(329)-JVS(77)*X(337)& &-JVS(78)*X(340)-JVS(79)*X(341)-JVS(80)*X(345)-JVS(81)*X(346)-JVS(82)*X(351))/(JVS(14)) IF (DO_SLV(6)) & X(6) = (X(6)-JVS(12)*X(41)-JVS(13)*X(345))/(JVS(11)) IF (DO_SLV(5)) & X(5) = (X(5)-JVS(10)*X(269))/(JVS(9)) IF (DO_SLV(4)) & X(4) = (X(4)-JVS(5)*X(42)-JVS(6)*X(44)-JVS(7)*X(55)-JVS(8)*X(73))/(JVS(4)) IF (DO_SLV(3)) & X(3) = X(3)/JVS(3) IF (DO_SLV(2)) & X(2) = X(2)/JVS(2) IF (DO_SLV(1)) & X(1) = X(1)/JVS(1) END SUBROUTINE KppSolve ! End of KppSolve function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! KppSolveTR - sparse, transposed back substitution ! Arguments : ! JVS - sparse Jacobian of variables ! X - Vector for variables ! XX - Vector for output variables ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE KppSolveTR ( JVS, X, XX ) ! JVS - sparse Jacobian of variables REAL(kind=dp) :: JVS(LU_NONZERO) ! X - Vector for variables REAL(kind=dp) :: X(NVAR) ! XX - Vector for output variables REAL(kind=dp) :: XX(NVAR) XX(1) = X(1)/JVS(1) XX(2) = X(2)/JVS(2) XX(3) = X(3)/JVS(3) XX(4) = X(4)/JVS(4) XX(5) = X(5)/JVS(9) XX(6) = X(6)/JVS(11) XX(7) = X(7)/JVS(14) XX(8) = X(8)/JVS(83) XX(9) = X(9)/JVS(86) XX(10) = X(10)/JVS(94) XX(11) = X(11)/JVS(102) XX(12) = X(12)/JVS(105) XX(13) = (X(13)-JVS(103)*XX(11)-JVS(106)*XX(12))/(JVS(108)) XX(14) = X(14)/JVS(113) XX(15) = X(15)/JVS(116) XX(16) = X(16)/JVS(119) XX(17) = X(17)/JVS(122) XX(18) = (X(18)-JVS(120)*XX(16)-JVS(123)*XX(17))/(JVS(125)) XX(19) = (X(19)-JVS(126)*XX(18))/(JVS(130)) XX(20) = X(20)/JVS(132) XX(21) = X(21)/JVS(135) XX(22) = (X(22)-JVS(133)*XX(20)-JVS(136)*XX(21))/(JVS(138)) XX(23) = X(23)/JVS(143) XX(24) = (X(24)-JVS(144)*XX(23))/(JVS(145)) XX(25) = X(25)/JVS(151) XX(26) = X(26)/JVS(154) XX(27) = (X(27)-JVS(152)*XX(25)-JVS(155)*XX(26))/(JVS(157)) XX(28) = X(28)/JVS(162) XX(29) = X(29)/JVS(165) XX(30) = X(30)/JVS(169) XX(31) = X(31)/JVS(173) XX(32) = X(32)/JVS(179) XX(33) = X(33)/JVS(184) XX(34) = X(34)/JVS(188) XX(35) = X(35)/JVS(306) XX(36) = X(36)/JVS(432) XX(37) = X(37)/JVS(521) XX(38) = X(38)/JVS(526) XX(39) = X(39)/JVS(537) XX(40) = X(40)/JVS(542) XX(41) = (X(41)-JVS(12)*XX(6))/(JVS(551)) XX(42) = (X(42)-JVS(5)*XX(4)-JVS(87)*XX(9)-JVS(95)*XX(10)-JVS(307)*XX(35))/(JVS(553)) XX(43) = X(43)/JVS(555) XX(44) = (X(44)-JVS(6)*XX(4)-JVS(88)*XX(9)-JVS(96)*XX(10)-JVS(308)*XX(35))/(JVS(557)) XX(45) = (X(45)-JVS(84)*XX(8)-JVS(189)*XX(34))/(JVS(559)) XX(46) = X(46)/JVS(563) XX(47) = X(47)/JVS(565) XX(48) = X(48)/JVS(567) XX(49) = (X(49)-JVS(309)*XX(35))/(JVS(569)) XX(50) = (X(50)-JVS(310)*XX(35))/(JVS(571)) XX(51) = X(51)/JVS(573) XX(52) = X(52)/JVS(575) XX(53) = X(53)/JVS(577) XX(54) = X(54)/JVS(579) XX(55) = (X(55)-JVS(7)*XX(4)-JVS(89)*XX(9)-JVS(97)*XX(10)-JVS(311)*XX(35))/(JVS(581)) XX(56) = (X(56)-JVS(190)*XX(34))/(JVS(584)) XX(57) = (X(57)-JVS(191)*XX(34))/(JVS(587)) XX(58) = X(58)/JVS(590) XX(59) = X(59)/JVS(593) XX(60) = (X(60)-JVS(433)*XX(36))/(JVS(596)) XX(61) = X(61)/JVS(598) XX(62) = X(62)/JVS(600) XX(63) = (X(63)-JVS(192)*XX(34)-JVS(312)*XX(35))/(JVS(603)) XX(64) = (X(64)-JVS(313)*XX(35))/(JVS(607)) XX(65) = (X(65)-JVS(314)*XX(35))/(JVS(611)) XX(66) = (X(66)-JVS(15)*XX(7))/(JVS(615)) XX(67) = (X(67)-JVS(193)*XX(34)-JVS(604)*XX(63))/(JVS(620)) XX(68) = (X(68)-JVS(16)*XX(7)-JVS(315)*XX(35)-JVS(434)*XX(36))/(JVS(623)) XX(69) = (X(69)-JVS(316)*XX(35))/(JVS(626)) XX(70) = (X(70)-JVS(194)*XX(34))/(JVS(629)) XX(71) = (X(71)-JVS(17)*XX(7))/(JVS(633)) XX(72) = X(72)/JVS(637) XX(73) = (X(73)-JVS(8)*XX(4)-JVS(90)*XX(9)-JVS(98)*XX(10))/(JVS(641)) XX(74) = (X(74)-JVS(18)*XX(7))/(JVS(645)) XX(75) = (X(75)-JVS(435)*XX(36))/(JVS(649)) XX(76) = (X(76)-JVS(317)*XX(35))/(JVS(652)) XX(77) = X(77)/JVS(655) XX(78) = X(78)/JVS(661) XX(79) = (X(79)-JVS(436)*XX(36))/(JVS(664)) XX(80) = (X(80)-JVS(195)*XX(34))/(JVS(667)) XX(81) = X(81)/JVS(670) XX(82) = (X(82)-JVS(139)*XX(22)-JVS(437)*XX(36))/(JVS(673)) XX(83) = (X(83)-JVS(196)*XX(34))/(JVS(675)) XX(84) = X(84)/JVS(679) XX(85) = X(85)/JVS(682) XX(86) = X(86)/JVS(685) XX(87) = (X(87)-JVS(318)*XX(35))/(JVS(688)) XX(88) = X(88)/JVS(691) XX(89) = (X(89)-JVS(185)*XX(33)-JVS(527)*XX(38))/(JVS(695)) XX(90) = (X(90)-JVS(19)*XX(7)-JVS(197)*XX(34))/(JVS(699)) XX(91) = (X(91)-JVS(198)*XX(34))/(JVS(703)) XX(92) = (X(92)-JVS(20)*XX(7))/(JVS(707)) XX(93) = (X(93)-JVS(199)*XX(34))/(JVS(711)) XX(94) = (X(94)-JVS(163)*XX(28)-JVS(319)*XX(35))/(JVS(715)) XX(95) = (X(95)-JVS(200)*XX(34))/(JVS(718)) XX(96) = (X(96)-JVS(320)*XX(35)-JVS(554)*XX(42)-JVS(582)*XX(55))/(JVS(725)) XX(97) = X(97)/JVS(729) XX(98) = X(98)/JVS(733) XX(99) = X(99)/JVS(737) XX(100) = X(100)/JVS(741) XX(101) = (X(101)-JVS(158)*XX(27)-JVS(438)*XX(36))/(JVS(745)) XX(102) = X(102)/JVS(747) XX(103) = (X(103)-JVS(85)*XX(8)-JVS(201)*XX(34))/(JVS(751)) XX(104) = X(104)/JVS(765) XX(105) = (X(105)-JVS(321)*XX(35))/(JVS(773)) XX(106) = X(106)/JVS(776) XX(107) = (X(107)-JVS(174)*XX(31)-JVS(439)*XX(36))/(JVS(782)) XX(108) = (X(108)-JVS(202)*XX(34))/(JVS(786)) XX(109) = (X(109)-JVS(322)*XX(35))/(JVS(790)) XX(110) = (X(110)-JVS(203)*XX(34))/(JVS(795)) XX(111) = X(111)/JVS(801) XX(112) = X(112)/JVS(805) XX(113) = (X(113)-JVS(204)*XX(34)-JVS(440)*XX(36))/(JVS(809)) XX(114) = (X(114)-JVS(205)*XX(34)-JVS(441)*XX(36))/(JVS(813)) XX(115) = (X(115)-JVS(21)*XX(7)-JVS(170)*XX(30))/(JVS(817)) XX(116) = (X(116)-JVS(206)*XX(34))/(JVS(823)) XX(117) = X(117)/JVS(828) XX(118) = X(118)/JVS(834) XX(119) = (X(119)-JVS(442)*XX(36))/(JVS(839)) XX(120) = (X(120)-JVS(323)*XX(35))/(JVS(844)) XX(121) = (X(121)-JVS(207)*XX(34))/(JVS(850)) XX(122) = (X(122)-JVS(208)*XX(34)-JVS(443)*XX(36))/(JVS(855)) XX(123) = X(123)/JVS(859) XX(124) = (X(124)-JVS(209)*XX(34)-JVS(444)*XX(36))/(JVS(863)) XX(125) = X(125)/JVS(867) XX(126) = (X(126)-JVS(210)*XX(34)-JVS(445)*XX(36))/(JVS(871)) XX(127) = (X(127)-JVS(211)*XX(34)-JVS(446)*XX(36))/(JVS(875)) XX(128) = (X(128)-JVS(175)*XX(31))/(JVS(879)) XX(129) = X(129)/JVS(886) XX(130) = (X(130)-JVS(22)*XX(7))/(JVS(897)) XX(131) = X(131)/JVS(902) XX(132) = (X(132)-JVS(212)*XX(34)-JVS(447)*XX(36))/(JVS(908)) XX(133) = (X(133)-JVS(23)*XX(7)-JVS(213)*XX(34))/(JVS(913)) XX(134) = X(134)/JVS(919) XX(135) = (X(135)-JVS(24)*XX(7)-JVS(214)*XX(34))/(JVS(930)) XX(136) = (X(136)-JVS(777)*XX(106))/(JVS(935)) XX(137) = (X(137)-JVS(215)*XX(34))/(JVS(940)) XX(138) = (X(138)-JVS(216)*XX(34)-JVS(887)*XX(129))/(JVS(944)) XX(139) = (X(139)-JVS(25)*XX(7)-JVS(217)*XX(34)-JVS(448)*XX(36))/(JVS(948)) XX(140) = (X(140)-JVS(324)*XX(35))/(JVS(952)) XX(141) = X(141)/JVS(956) XX(142) = (X(142)-JVS(325)*XX(35))/(JVS(960)) XX(143) = (X(143)-JVS(109)*XX(13)-JVS(449)*XX(36))/(JVS(964)) XX(144) = (X(144)-JVS(450)*XX(36))/(JVS(968)) XX(145) = X(145)/JVS(973) XX(146) = (X(146)-JVS(451)*XX(36))/(JVS(983)) XX(147) = (X(147)-JVS(452)*XX(36))/(JVS(988)) XX(148) = (X(148)-JVS(218)*XX(34))/(JVS(992)) XX(149) = (X(149)-JVS(326)*XX(35))/(JVS(1001)) XX(150) = (X(150)-JVS(453)*XX(36))/(JVS(1004)) XX(151) = (X(151)-JVS(176)*XX(31))/(JVS(1009)) XX(152) = (X(152)-JVS(177)*XX(31))/(JVS(1015)) XX(153) = (X(153)-JVS(454)*XX(36))/(JVS(1021)) XX(154) = (X(154)-JVS(219)*XX(34)-JVS(327)*XX(35)-JVS(560)*XX(45))/(JVS(1027)) XX(155) = X(155)/JVS(1033) XX(156) = X(156)/JVS(1039) XX(157) = X(157)/JVS(1045) XX(158) = (X(158)-JVS(328)*XX(35))/(JVS(1062)) XX(159) = (X(159)-JVS(26)*XX(7)-JVS(455)*XX(36)-JVS(783)*XX(107))/(JVS(1066)) XX(160) = X(160)/JVS(1070) XX(161) = X(161)/JVS(1075) XX(162) = (X(162)-JVS(220)*XX(34))/(JVS(1081)) XX(163) = (X(163)-JVS(329)*XX(35))/(JVS(1086)) XX(164) = X(164)/JVS(1094) XX(165) = (X(165)-JVS(221)*XX(34))/(JVS(1099)) XX(166) = (X(166)-JVS(166)*XX(29)-JVS(330)*XX(35)-JVS(612)*XX(65))/(JVS(1104)) XX(167) = (X(167)-JVS(331)*XX(35)-JVS(456)*XX(36))/(JVS(1109)) XX(168) = (X(168)-JVS(332)*XX(35)-JVS(752)*XX(103)-JVS(1010)*XX(151)-JVS(1016)*XX(152))/(JVS(1113)) XX(169) = (X(169)-JVS(27)*XX(7))/(JVS(1117)) XX(170) = (X(170)-JVS(222)*XX(34))/(JVS(1124)) XX(171) = (X(171)-JVS(223)*XX(34))/(JVS(1131)) XX(172) = (X(172)-JVS(224)*XX(34))/(JVS(1137)) XX(173) = (X(173)-JVS(28)*XX(7))/(JVS(1144)) XX(174) = X(174)/JVS(1155) XX(175) = (X(175)-JVS(333)*XX(35)-JVS(753)*XX(103)-JVS(1011)*XX(151)-JVS(1017)*XX(152))/(JVS(1161)) XX(176) = (X(176)-JVS(225)*XX(34))/(JVS(1166)) XX(177) = (X(177)-JVS(226)*XX(34))/(JVS(1171)) XX(178) = (X(178)-JVS(227)*XX(34)-JVS(734)*XX(98))/(JVS(1182)) XX(179) = (X(179)-JVS(334)*XX(35)-JVS(528)*XX(38)-JVS(608)*XX(64)-JVS(920)*XX(134))/(JVS(1187)) XX(180) = (X(180)-JVS(228)*XX(34))/(JVS(1192)) XX(181) = (X(181)-JVS(335)*XX(35)-JVS(457)*XX(36))/(JVS(1197)) XX(182) = (X(182)-JVS(29)*XX(7)-JVS(229)*XX(34)-JVS(458)*XX(36))/(JVS(1201)) XX(183) = (X(183)-JVS(336)*XX(35))/(JVS(1207)) XX(184) = (X(184)-JVS(230)*XX(34)-JVS(459)*XX(36)-JVS(784)*XX(107))/(JVS(1212)) XX(185) = (X(185)-JVS(460)*XX(36))/(JVS(1219)) XX(186) = (X(186)-JVS(337)*XX(35)-JVS(754)*XX(103)-JVS(974)*XX(145))/(JVS(1226)) XX(187) = (X(187)-JVS(146)*XX(24)-JVS(461)*XX(36)-JVS(1012)*XX(151)-JVS(1018)*XX(152))/(JVS(1230)) XX(188) = X(188)/JVS(1234) XX(189) = (X(189)-JVS(231)*XX(34)-JVS(824)*XX(116))/(JVS(1248)) XX(190) = (X(190)-JVS(232)*XX(34))/(JVS(1256)) XX(191) = (X(191)-JVS(338)*XX(35)-JVS(462)*XX(36)-JVS(888)*XX(129))/(JVS(1261)) XX(192) = (X(192)-JVS(147)*XX(24)-JVS(463)*XX(36)-JVS(1013)*XX(151)-JVS(1019)*XX(152))/(JVS(1265)) XX(193) = (X(193)-JVS(233)*XX(34))/(JVS(1269)) XX(194) = (X(194)-JVS(30)*XX(7)-JVS(464)*XX(36)-JVS(818)*XX(115))/(JVS(1275)) XX(195) = (X(195)-JVS(339)*XX(35))/(JVS(1282)) XX(196) = (X(196)-JVS(234)*XX(34)-JVS(1100)*XX(165))/(JVS(1289)) XX(197) = (X(197)-JVS(235)*XX(34)-JVS(340)*XX(35)-JVS(465)*XX(36)-JVS(872)*XX(126))/(JVS(1295)) XX(198) = (X(198)-JVS(31)*XX(7))/(JVS(1302)) XX(199) = (X(199)-JVS(148)*XX(24)-JVS(466)*XX(36)-JVS(880)*XX(128)-JVS(969)*XX(144))/(JVS(1308)) XX(200) = (X(200)-JVS(341)*XX(35)-JVS(467)*XX(36)-JVS(591)*XX(58)-JVS(851)*XX(121)-JVS(984)*XX(146)-JVS(1063)*XX(158)& &-JVS(1145)*XX(173)-JVS(1249)*XX(189))/(JVS(1312)) XX(201) = (X(201)-JVS(342)*XX(35)-JVS(468)*XX(36)-JVS(1146)*XX(173))/(JVS(1320)) XX(202) = (X(202)-JVS(343)*XX(35))/(JVS(1327)) XX(203) = (X(203)-JVS(344)*XX(35))/(JVS(1337)) XX(204) = (X(204)-JVS(345)*XX(35)-JVS(469)*XX(36))/(JVS(1354)) XX(205) = (X(205)-JVS(236)*XX(34))/(JVS(1362)) XX(206) = (X(206)-JVS(237)*XX(34))/(JVS(1367)) XX(207) = (X(207)-JVS(238)*XX(34))/(JVS(1372)) XX(208) = (X(208)-JVS(470)*XX(36))/(JVS(1379)) XX(209) = (X(209)-JVS(149)*XX(24)-JVS(471)*XX(36)-JVS(881)*XX(128)-JVS(1005)*XX(150))/(JVS(1389)) XX(210) = (X(210)-JVS(472)*XX(36))/(JVS(1394)) XX(211) = (X(211)-JVS(239)*XX(34)-JVS(346)*XX(35)-JVS(1172)*XX(177))/(JVS(1404)) XX(212) = (X(212)-JVS(240)*XX(34)-JVS(876)*XX(127))/(JVS(1411)) XX(213) = (X(213)-JVS(32)*XX(7)-JVS(241)*XX(34)-JVS(347)*XX(35)-JVS(638)*XX(72)-JVS(814)*XX(114))/(JVS(1418)) XX(214) = (X(214)-JVS(348)*XX(35))/(JVS(1425)) XX(215) = (X(215)-JVS(178)*XX(31)-JVS(473)*XX(36))/(JVS(1444)) XX(216) = (X(216)-JVS(33)*XX(7)-JVS(349)*XX(35)-JVS(474)*XX(36)-JVS(755)*XX(103))/(JVS(1458)) XX(217) = (X(217)-JVS(242)*XX(34)-JVS(350)*XX(35))/(JVS(1470)) XX(218) = (X(218)-JVS(351)*XX(35)-JVS(993)*XX(148)-JVS(1046)*XX(157))/(JVS(1481)) XX(219) = (X(219)-JVS(352)*XX(35))/(JVS(1487)) XX(220) = (X(220)-JVS(353)*XX(35)-JVS(475)*XX(36)-JVS(965)*XX(143)-JVS(1250)*XX(189)-JVS(1283)*XX(195)-JVS(1328)& &*XX(202)-JVS(1338)*XX(203)-JVS(1355)*XX(204))/(JVS(1491)) XX(221) = (X(221)-JVS(354)*XX(35)-JVS(476)*XX(36)-JVS(1147)*XX(173))/(JVS(1503)) XX(222) = (X(222)-JVS(355)*XX(35)-JVS(756)*XX(103))/(JVS(1508)) XX(223) = (X(223)-JVS(243)*XX(34)-JVS(1156)*XX(174)-JVS(1303)*XX(198)-JVS(1395)*XX(210))/(JVS(1516)) XX(224) = (X(224)-JVS(244)*XX(34)-JVS(1157)*XX(174)-JVS(1304)*XX(198))/(JVS(1523)) XX(225) = (X(225)-JVS(356)*XX(35)-JVS(477)*XX(36))/(JVS(1531)) XX(226) = (X(226)-JVS(245)*XX(34)-JVS(1396)*XX(210)-JVS(1459)*XX(216))/(JVS(1541)) XX(227) = (X(227)-JVS(478)*XX(36))/(JVS(1550)) XX(228) = (X(228)-JVS(357)*XX(35)-JVS(538)*XX(39)-JVS(1471)*XX(217))/(JVS(1563)) XX(229) = (X(229)-JVS(358)*XX(35))/(JVS(1570)) XX(230) = (X(230)-JVS(479)*XX(36)-JVS(840)*XX(119)-JVS(914)*XX(133)-JVS(1132)*XX(171)-JVS(1220)*XX(185)-JVS(1276)& &*XX(194)-JVS(1445)*XX(215)-JVS(1551)*XX(227))/(JVS(1577)) XX(231) = (X(231)-JVS(480)*XX(36)-JVS(841)*XX(119)-JVS(931)*XX(135)-JVS(1138)*XX(172)-JVS(1221)*XX(185)-JVS(1277)& &*XX(194)-JVS(1446)*XX(215)-JVS(1552)*XX(227))/(JVS(1583)) XX(232) = (X(232)-JVS(246)*XX(34)-JVS(1158)*XX(174)-JVS(1305)*XX(198))/(JVS(1590)) XX(233) = (X(233)-JVS(481)*XX(36)-JVS(791)*XX(109)-JVS(909)*XX(132)-JVS(1296)*XX(197))/(JVS(1598)) XX(234) = (X(234)-JVS(247)*XX(34)-JVS(359)*XX(35)-JVS(630)*XX(70)-JVS(778)*XX(106)-JVS(936)*XX(136))/(JVS(1607)) XX(235) = (X(235)-JVS(34)*XX(7)-JVS(248)*XX(34)-JVS(360)*XX(35)-JVS(634)*XX(71)-JVS(700)*XX(90)-JVS(829)*XX(117)& &-JVS(1339)*XX(203))/(JVS(1619)) XX(236) = (X(236)-JVS(249)*XX(34)-JVS(361)*XX(35)-JVS(830)*XX(117)-JVS(1340)*XX(203))/(JVS(1633)) XX(237) = (X(237)-JVS(362)*XX(35)-JVS(1173)*XX(177))/(JVS(1641)) XX(238) = (X(238)-JVS(35)*XX(7)-JVS(482)*XX(36))/(JVS(1652)) XX(239) = (X(239)-JVS(250)*XX(34))/(JVS(1665)) XX(240) = (X(240)-JVS(36)*XX(7)-JVS(251)*XX(34)-JVS(363)*XX(35)-JVS(856)*XX(122)-JVS(1034)*XX(155)-JVS(1148)*XX(173))& &/(JVS(1685)) XX(241) = (X(241)-JVS(37)*XX(7)-JVS(180)*XX(32)-JVS(252)*XX(34)-JVS(522)*XX(37)-JVS(529)*XX(38)-JVS(543)*XX(40)& &-JVS(921)*XX(134))/(JVS(1691)) XX(242) = (X(242)-JVS(364)*XX(35)-JVS(561)*XX(45)-JVS(1028)*XX(154))/(JVS(1700)) XX(243) = (X(243)-JVS(253)*XX(34)-JVS(483)*XX(36)-JVS(1380)*XX(208))/(JVS(1715)) XX(244) = X(244)/JVS(1726) XX(245) = (X(245)-JVS(254)*XX(34))/(JVS(1740)) XX(246) = (X(246)-JVS(38)*XX(7)-JVS(255)*XX(34)-JVS(365)*XX(35)-JVS(810)*XX(113)-JVS(1035)*XX(155)-JVS(1149)*XX(173)& &-JVS(1608)*XX(234))/(JVS(1754)) XX(247) = X(247)/JVS(1766) XX(248) = (X(248)-JVS(366)*XX(35)-JVS(484)*XX(36)-JVS(757)*XX(103))/(JVS(1785)) XX(249) = (X(249)-JVS(39)*XX(7)-JVS(256)*XX(34)-JVS(1235)*XX(188))/(JVS(1797)) XX(250) = (X(250)-JVS(40)*XX(7)-JVS(257)*XX(34)-JVS(868)*XX(125)-JVS(1236)*XX(188)-JVS(1767)*XX(247))/(JVS(1805)) XX(251) = (X(251)-JVS(367)*XX(35)-JVS(758)*XX(103))/(JVS(1813)) XX(252) = (X(252)-JVS(91)*XX(9)-JVS(99)*XX(10)-JVS(368)*XX(35)-JVS(656)*XX(77)-JVS(766)*XX(104)-JVS(1125)*XX(170)& &-JVS(1666)*XX(239))/(JVS(1820)) XX(253) = (X(253)-JVS(258)*XX(34)-JVS(485)*XX(36)-JVS(1786)*XX(248))/(JVS(1829)) XX(254) = (X(254)-JVS(259)*XX(34)-JVS(1381)*XX(208))/(JVS(1840)) XX(255) = (X(255)-JVS(369)*XX(35)-JVS(486)*XX(36)-JVS(1087)*XX(163)-JVS(1174)*XX(177))/(JVS(1850)) XX(256) = (X(256)-JVS(370)*XX(35)-JVS(562)*XX(45)-JVS(1029)*XX(154))/(JVS(1865)) XX(257) = (X(257)-JVS(41)*XX(7)-JVS(260)*XX(34)-JVS(371)*XX(35)-JVS(585)*XX(56)-JVS(616)*XX(66)-JVS(646)*XX(74))& &/(JVS(1885)) XX(258) = (X(258)-JVS(487)*XX(36)-JVS(903)*XX(131)-JVS(1022)*XX(153)-JVS(1382)*XX(208)-JVS(1553)*XX(227))/(JVS(1900)) XX(259) = (X(259)-JVS(42)*XX(7)-JVS(261)*XX(34)-JVS(488)*XX(36)-JVS(1067)*XX(159)-JVS(1213)*XX(184))/(JVS(1912)) XX(260) = (X(260)-JVS(43)*XX(7)-JVS(262)*XX(34)-JVS(860)*XX(123)-JVS(1237)*XX(188))/(JVS(1921)) XX(261) = (X(261)-JVS(44)*XX(7)-JVS(372)*XX(35)-JVS(489)*XX(36))/(JVS(1934)) XX(262) = (X(262)-JVS(373)*XX(35))/(JVS(1950)) XX(263) = (X(263)-JVS(45)*XX(7)-JVS(263)*XX(34)-JVS(374)*XX(35))/(JVS(1980)) XX(264) = (X(264)-JVS(375)*XX(35)-JVS(530)*XX(38)-JVS(922)*XX(134))/(JVS(1994)) XX(265) = (X(265)-JVS(46)*XX(7))/(JVS(2020)) XX(266) = (X(266)-JVS(376)*XX(35)-JVS(490)*XX(36)-JVS(759)*XX(103))/(JVS(2047)) XX(267) = (X(267)-JVS(377)*XX(35)-JVS(491)*XX(36)-JVS(760)*XX(103)-JVS(882)*XX(128)-JVS(1373)*XX(207)-JVS(1447)& &*XX(215)-JVS(1653)*XX(238)-JVS(1716)*XX(243)-JVS(1901)*XX(258)-JVS(1935)*XX(261)-JVS(2048)*XX(266))& &/(JVS(2060)) XX(268) = (X(268)-JVS(378)*XX(35)-JVS(492)*XX(36)-JVS(761)*XX(103)-JVS(883)*XX(128)-JVS(1368)*XX(206)-JVS(1448)& &*XX(215)-JVS(1460)*XX(216)-JVS(1654)*XX(238)-JVS(1717)*XX(243)-JVS(1768)*XX(247)-JVS(1902)*XX(258)-JVS(2049)& &*XX(266))/(JVS(2066)) XX(269) = (X(269)-JVS(10)*XX(5)-JVS(47)*XX(7)-JVS(264)*XX(34)-JVS(493)*XX(36)-JVS(1504)*XX(221)-JVS(1667)*XX(239)& &-JVS(2021)*XX(265))/(JVS(2081)) XX(270) = (X(270)-JVS(171)*XX(30)-JVS(379)*XX(35)-JVS(494)*XX(36))/(JVS(2113)) XX(271) = (X(271)-JVS(265)*XX(34)-JVS(1397)*XX(210)-JVS(1461)*XX(216)-JVS(1727)*XX(244)-JVS(1769)*XX(247)-JVS(1936)& &*XX(261)-JVS(2050)*XX(266)-JVS(2114)*XX(270))/(JVS(2135)) XX(272) = (X(272)-JVS(266)*XX(34)-JVS(380)*XX(35)-JVS(1088)*XX(163)-JVS(1118)*XX(169)-JVS(1175)*XX(177)-JVS(1866)& &*XX(256))/(JVS(2144)) XX(273) = (X(273)-JVS(267)*XX(34)-JVS(381)*XX(35)-JVS(1076)*XX(161)-JVS(1082)*XX(162)-JVS(1867)*XX(256))/(JVS(2157)) XX(274) = (X(274)-JVS(48)*XX(7)-JVS(268)*XX(34)-JVS(382)*XX(35)-JVS(588)*XX(57)-JVS(898)*XX(130)-JVS(1119)*XX(169))& &/(JVS(2178)) XX(275) = (X(275)-JVS(49)*XX(7)-JVS(269)*XX(34)-JVS(383)*XX(35)-JVS(806)*XX(112)-JVS(889)*XX(129)-JVS(945)*XX(138)& &-JVS(1083)*XX(162)-JVS(1868)*XX(256)-JVS(1981)*XX(263)-JVS(2158)*XX(273)-JVS(2179)*XX(274))/(JVS(2192)) XX(276) = (X(276)-JVS(50)*XX(7)-JVS(114)*XX(14)-JVS(117)*XX(15)-JVS(384)*XX(35)-JVS(495)*XX(36)-JVS(544)*XX(40)& &-JVS(970)*XX(144)-JVS(1006)*XX(150)-JVS(1398)*XX(210)-JVS(1449)*XX(215)-JVS(1578)*XX(230)-JVS(1584)*XX(231)& &-JVS(1728)*XX(244)-JVS(1787)*XX(248)-JVS(1830)*XX(253)-JVS(1841)*XX(254)-JVS(1995)*XX(264)-JVS(2022)*XX(265)& &-JVS(2115)*XX(270))/(JVS(2200)) XX(277) = (X(277)-JVS(51)*XX(7)-JVS(270)*XX(34)-JVS(385)*XX(35)-JVS(802)*XX(111)-JVS(941)*XX(137)-JVS(1167)*XX(176)& &-JVS(1532)*XX(225)-JVS(1869)*XX(256)-JVS(1886)*XX(257)-JVS(1982)*XX(263))/(JVS(2208)) XX(278) = (X(278)-JVS(271)*XX(34)-JVS(386)*XX(35)-JVS(1071)*XX(160)-JVS(1168)*XX(176)-JVS(1870)*XX(256)-JVS(1983)& &*XX(263))/(JVS(2222)) XX(279) = (X(279)-JVS(1798)*XX(249))/(JVS(2232)) XX(280) = (X(280)-JVS(52)*XX(7)-JVS(272)*XX(34)-JVS(387)*XX(35)-JVS(1701)*XX(242)-JVS(1871)*XX(256))/(JVS(2246)) XX(281) = (X(281)-JVS(53)*XX(7)-JVS(273)*XX(34)-JVS(388)*XX(35)-JVS(1405)*XX(211)-JVS(1642)*XX(237)-JVS(1851)*XX(255)& &-JVS(1872)*XX(256)-JVS(1984)*XX(263)-JVS(2145)*XX(272)-JVS(2180)*XX(274))/(JVS(2259)) XX(282) = X(282)/JVS(2279) XX(283) = (X(283)-JVS(54)*XX(7))/(JVS(2314)) XX(284) = (X(284)-JVS(389)*XX(35)-JVS(558)*XX(44)-JVS(583)*XX(55)-JVS(726)*XX(96)-JVS(767)*XX(104)-JVS(845)*XX(120))& &/(JVS(2343)) XX(285) = (X(285)-JVS(274)*XX(34)-JVS(496)*XX(36)-JVS(989)*XX(147)-JVS(1023)*XX(153)-JVS(1222)*XX(185)-JVS(1383)& &*XX(208)-JVS(1554)*XX(227)-JVS(1903)*XX(258)-JVS(2051)*XX(266)-JVS(2116)*XX(270))/(JVS(2364)) XX(286) = (X(286)-JVS(275)*XX(34)-JVS(497)*XX(36)-JVS(904)*XX(131)-JVS(990)*XX(147)-JVS(1223)*XX(185)-JVS(1384)& &*XX(208)-JVS(1555)*XX(227)-JVS(1904)*XX(258)-JVS(2052)*XX(266)-JVS(2117)*XX(270)-JVS(2365)*XX(285))& &/(JVS(2385)) XX(287) = (X(287)-JVS(55)*XX(7)-JVS(498)*XX(36)-JVS(1729)*XX(244))/(JVS(2412)) XX(288) = (X(288)-JVS(1385)*XX(208)-JVS(1556)*XX(227)-JVS(2118)*XX(270))/(JVS(2445)) XX(289) = (X(289)-JVS(276)*XX(34)-JVS(390)*XX(35)-JVS(1150)*XX(173)-JVS(1238)*XX(188)-JVS(1702)*XX(242)-JVS(1873)& &*XX(256)-JVS(2247)*XX(280)-JVS(2280)*XX(282))/(JVS(2465)) XX(290) = (X(290)-JVS(56)*XX(7)-JVS(391)*XX(35)-JVS(499)*XX(36)-JVS(1564)*XX(228)-JVS(1692)*XX(241)-JVS(1806)*XX(250)& &-JVS(1922)*XX(260)-JVS(1996)*XX(264)-JVS(2281)*XX(282)-JVS(2315)*XX(283))/(JVS(2474)) XX(291) = (X(291)-JVS(57)*XX(7)-JVS(277)*XX(34)-JVS(392)*XX(35)-JVS(1270)*XX(193)-JVS(1571)*XX(229)-JVS(1703)*XX(242)& &-JVS(1951)*XX(262)-JVS(1985)*XX(263)-JVS(2248)*XX(280)-JVS(2282)*XX(282)-JVS(2316)*XX(283)-JVS(2466)*XX(289))& &/(JVS(2482)) XX(292) = (X(292)-JVS(393)*XX(35))/(JVS(2507)) XX(293) = (X(293)-JVS(278)*XX(34)-JVS(1462)*XX(216)-JVS(1770)*XX(247)-JVS(1937)*XX(261))/(JVS(2523)) XX(294) = (X(294)-JVS(172)*XX(30)-JVS(394)*XX(35)-JVS(500)*XX(36))/(JVS(2572)) XX(295) = (X(295)-JVS(501)*XX(36))/(JVS(2613)) XX(296) = (X(296)-JVS(58)*XX(7)-JVS(279)*XX(34)-JVS(676)*XX(83)-JVS(835)*XX(118)-JVS(1040)*XX(156)-JVS(2283)*XX(282)& &-JVS(2317)*XX(283))/(JVS(2639)) XX(297) = (X(297)-JVS(280)*XX(34)-JVS(395)*XX(35)-JVS(1047)*XX(157)-JVS(1668)*XX(239)-JVS(1741)*XX(245))/(JVS(2653)) XX(298) = (X(298)-JVS(396)*XX(35)-JVS(502)*XX(36))/(JVS(2699)) XX(299) = (X(299)-JVS(397)*XX(35)-JVS(762)*XX(103)-JVS(975)*XX(145)-JVS(1193)*XX(180)-JVS(1771)*XX(247)-JVS(1938)& &*XX(261)-JVS(2524)*XX(293)-JVS(2573)*XX(294))/(JVS(2727)) XX(300) = (X(300)-JVS(59)*XX(7)-JVS(281)*XX(34)-JVS(748)*XX(102)-JVS(1239)*XX(188)-JVS(2233)*XX(279)-JVS(2284)*XX(282)& &-JVS(2318)*XX(283)-JVS(2508)*XX(292)-JVS(2614)*XX(295)-JVS(2700)*XX(298))/(JVS(2742)) XX(301) = (X(301)-JVS(503)*XX(36)-JVS(842)*XX(119)-JVS(1133)*XX(171)-JVS(1139)*XX(172)-JVS(1202)*XX(182)-JVS(1224)& &*XX(185)-JVS(1278)*XX(194)-JVS(1450)*XX(215)-JVS(1463)*XX(216)-JVS(1557)*XX(227)-JVS(1772)*XX(247)-JVS(1788)& &*XX(248)-JVS(1831)*XX(253)-JVS(1842)*XX(254)-JVS(1939)*XX(261)-JVS(2023)*XX(265)-JVS(2119)*XX(270)-JVS(2413)& &*XX(287)-JVS(2446)*XX(288)-JVS(2574)*XX(294))/(JVS(2756)) XX(302) = (X(302)-JVS(282)*XX(34)-JVS(398)*XX(35)-JVS(763)*XX(103)-JVS(819)*XX(115)-JVS(1558)*XX(227)-JVS(1940)& &*XX(261)-JVS(2024)*XX(265)-JVS(2120)*XX(270)-JVS(2575)*XX(294))/(JVS(2780)) XX(303) = (X(303)-JVS(399)*XX(35)-JVS(764)*XX(103)-JVS(1203)*XX(182)-JVS(1279)*XX(194)-JVS(1399)*XX(210)-JVS(1559)& &*XX(227)-JVS(1730)*XX(244)-JVS(1773)*XX(247)-JVS(1789)*XX(248)-JVS(1941)*XX(261)-JVS(2025)*XX(265)-JVS(2053)& &*XX(266)-JVS(2121)*XX(270)-JVS(2414)*XX(287)-JVS(2447)*XX(288)-JVS(2525)*XX(293)-JVS(2576)*XX(294)-JVS(2728)& &*XX(299)-JVS(2757)*XX(301)-JVS(2781)*XX(302))/(JVS(2811)) XX(304) = (X(304)-JVS(283)*XX(34)-JVS(504)*XX(36)-JVS(971)*XX(144)-JVS(1114)*XX(168)-JVS(1257)*XX(190)-JVS(1266)& &*XX(192)-JVS(1309)*XX(199)-JVS(1451)*XX(215)-JVS(1524)*XX(224)-JVS(1585)*XX(231)-JVS(1591)*XX(232)-JVS(1655)& &*XX(238)-JVS(1718)*XX(243)-JVS(1731)*XX(244)-JVS(1790)*XX(248)-JVS(1832)*XX(253)-JVS(1905)*XX(258)-JVS(2026)& &*XX(265)-JVS(2054)*XX(266)-JVS(2067)*XX(268)-JVS(2122)*XX(270)-JVS(2366)*XX(285)-JVS(2386)*XX(286)-JVS(2415)& &*XX(287)-JVS(2448)*XX(288)-JVS(2577)*XX(294)-JVS(2729)*XX(299)-JVS(2758)*XX(301)-JVS(2782)*XX(302)-JVS(2812)& &*XX(303))/(JVS(2826)) XX(305) = (X(305)-JVS(284)*XX(34)-JVS(505)*XX(36)-JVS(1007)*XX(150)-JVS(1162)*XX(175)-JVS(1231)*XX(187)-JVS(1363)& &*XX(205)-JVS(1390)*XX(209)-JVS(1400)*XX(210)-JVS(1452)*XX(215)-JVS(1517)*XX(223)-JVS(1579)*XX(230)-JVS(1592)& &*XX(232)-JVS(1656)*XX(238)-JVS(1719)*XX(243)-JVS(1791)*XX(248)-JVS(1843)*XX(254)-JVS(1906)*XX(258)-JVS(2027)& &*XX(265)-JVS(2055)*XX(266)-JVS(2061)*XX(267)-JVS(2123)*XX(270)-JVS(2367)*XX(285)-JVS(2387)*XX(286)-JVS(2416)& &*XX(287)-JVS(2449)*XX(288)-JVS(2578)*XX(294)-JVS(2730)*XX(299)-JVS(2759)*XX(301)-JVS(2783)*XX(302)-JVS(2813)& &*XX(303)-JVS(2827)*XX(304))/(JVS(2841)) XX(306) = (X(306)-JVS(60)*XX(7)-JVS(400)*XX(35)-JVS(506)*XX(36)-JVS(1419)*XX(213)-JVS(2028)*XX(265)-JVS(2124)*XX(270)& &-JVS(2285)*XX(282))/(JVS(2894)) XX(307) = (X(307)-JVS(61)*XX(7)-JVS(507)*XX(36)-JVS(2029)*XX(265)-JVS(2319)*XX(283)-JVS(2579)*XX(294))/(JVS(2954)) XX(308) = (X(308)-JVS(62)*XX(7)-JVS(285)*XX(34)-JVS(401)*XX(35)-JVS(1214)*XX(184)-JVS(1464)*XX(216)-JVS(1774)*XX(247)& &-JVS(1792)*XX(248)-JVS(1913)*XX(259)-JVS(2030)*XX(265)-JVS(2580)*XX(294)-JVS(2955)*XX(307))/(JVS(2978)) XX(309) = (X(309)-JVS(402)*XX(35)-JVS(508)*XX(36)-JVS(1732)*XX(244)-JVS(1775)*XX(247)-JVS(1833)*XX(253)-JVS(1914)& &*XX(259)-JVS(2031)*XX(265)-JVS(2417)*XX(287)-JVS(2581)*XX(294)-JVS(2956)*XX(307)-JVS(2979)*XX(308))& &/(JVS(3003)) XX(310) = (X(310)-JVS(63)*XX(7)-JVS(286)*XX(34)-JVS(403)*XX(35)-JVS(976)*XX(145)-JVS(1509)*XX(222)-JVS(2068)*XX(268)& &-JVS(2125)*XX(270)-JVS(2136)*XX(271)-JVS(2286)*XX(282)-JVS(2368)*XX(285)-JVS(2388)*XX(286)-JVS(2418)*XX(287)& &-JVS(2450)*XX(288)-JVS(2526)*XX(293)-JVS(2582)*XX(294)-JVS(2731)*XX(299)-JVS(2760)*XX(301)-JVS(2784)*XX(302)& &-JVS(2814)*XX(303)-JVS(2895)*XX(306)-JVS(2957)*XX(307)-JVS(2980)*XX(308)-JVS(3004)*XX(309))/(JVS(3016)) XX(311) = (X(311)-JVS(64)*XX(7)-JVS(287)*XX(34)-JVS(404)*XX(35)-JVS(977)*XX(145)-JVS(1227)*XX(186)-JVS(1453)*XX(215)& &-JVS(1510)*XX(222)-JVS(1542)*XX(226)-JVS(1733)*XX(244)-JVS(1776)*XX(247)-JVS(1942)*XX(261)-JVS(2056)*XX(266)& &-JVS(2062)*XX(267)-JVS(2069)*XX(268)-JVS(2126)*XX(270)-JVS(2137)*XX(271)-JVS(2287)*XX(282)-JVS(2369)*XX(285)& &-JVS(2389)*XX(286)-JVS(2419)*XX(287)-JVS(2451)*XX(288)-JVS(2527)*XX(293)-JVS(2583)*XX(294)-JVS(2732)*XX(299)& &-JVS(2761)*XX(301)-JVS(2785)*XX(302)-JVS(2815)*XX(303)-JVS(2828)*XX(304)-JVS(2842)*XX(305)-JVS(2896)*XX(306)& &-JVS(2958)*XX(307)-JVS(2981)*XX(308)-JVS(3005)*XX(309)-JVS(3017)*XX(310))/(JVS(3029)) XX(312) = (X(312)-JVS(65)*XX(7)-JVS(181)*XX(32)-JVS(288)*XX(34)-JVS(405)*XX(35)-JVS(523)*XX(37)-JVS(531)*XX(38)& &-JVS(545)*XX(40)-JVS(692)*XX(88)-JVS(923)*XX(134)-JVS(1997)*XX(264)-JVS(2032)*XX(265))/(JVS(3049)) XX(313) = (X(313)-JVS(66)*XX(7)-JVS(289)*XX(34)-JVS(1734)*XX(244)-JVS(2288)*XX(282)-JVS(2320)*XX(283)-JVS(2584)& &*XX(294)-JVS(2959)*XX(307))/(JVS(3077)) XX(314) = (X(314)-JVS(406)*XX(35)-JVS(509)*XX(36)-JVS(546)*XX(40)-JVS(820)*XX(115)-JVS(1844)*XX(254)-JVS(1998)*XX(264)& &-JVS(2452)*XX(288)-JVS(2475)*XX(290)-JVS(2585)*XX(294)-JVS(2701)*XX(298)-JVS(2786)*XX(302)-JVS(2897)*XX(306)& &-JVS(2960)*XX(307)-JVS(3050)*XX(312))/(JVS(3112)) XX(315) = (X(315)-JVS(67)*XX(7)-JVS(290)*XX(34)-JVS(836)*XX(118)-JVS(1041)*XX(156)-JVS(2289)*XX(282)-JVS(2321)& &*XX(283))/(JVS(3129)) XX(316) = (X(316)-JVS(407)*XX(35)-JVS(532)*XX(38)-JVS(924)*XX(134)-JVS(994)*XX(148)-JVS(1048)*XX(157))/(JVS(3148)) XX(317) = (X(317)-JVS(291)*XX(34)-JVS(408)*XX(35)-JVS(1049)*XX(157)-JVS(1742)*XX(245))/(JVS(3164)) XX(318) = (X(318)-JVS(68)*XX(7)-JVS(292)*XX(34)-JVS(1240)*XX(188)-JVS(1814)*XX(251)-JVS(2290)*XX(282)-JVS(2322)& &*XX(283)-JVS(2509)*XX(292)-JVS(2615)*XX(295)-JVS(2702)*XX(298)-JVS(3078)*XX(313)-JVS(3130)*XX(315))& &/(JVS(3179)) XX(319) = (X(319)-JVS(69)*XX(7)-JVS(293)*XX(34)-JVS(730)*XX(97)-JVS(1241)*XX(188)-JVS(1815)*XX(251)-JVS(2291)*XX(282)& &-JVS(2323)*XX(283)-JVS(2510)*XX(292)-JVS(2616)*XX(295)-JVS(2703)*XX(298)-JVS(3079)*XX(313)-JVS(3131)*XX(315)& &-JVS(3180)*XX(318))/(JVS(3206)) XX(320) = (X(320)-JVS(70)*XX(7)-JVS(294)*XX(34)-JVS(1242)*XX(188)-JVS(1735)*XX(244)-JVS(1755)*XX(246)-JVS(1816)& &*XX(251)-JVS(2234)*XX(279)-JVS(2292)*XX(282)-JVS(2324)*XX(283)-JVS(2511)*XX(292)-JVS(2586)*XX(294)-JVS(2617)& &*XX(295)-JVS(2640)*XX(296)-JVS(2704)*XX(298)-JVS(2898)*XX(306)-JVS(3080)*XX(313)-JVS(3132)*XX(315)-JVS(3181)& &*XX(318)-JVS(3207)*XX(319))/(JVS(3222)) XX(321) = (X(321)-JVS(71)*XX(7)-JVS(295)*XX(34)-JVS(719)*XX(95)-JVS(738)*XX(99)-JVS(1243)*XX(188)-JVS(2293)*XX(282)& &-JVS(2325)*XX(283)-JVS(2705)*XX(298)-JVS(3133)*XX(315))/(JVS(3243)) XX(322) = (X(322)-JVS(72)*XX(7)-JVS(296)*XX(34)-JVS(864)*XX(124)-JVS(1036)*XX(155)-JVS(1151)*XX(173)-JVS(2641)*XX(296)& &-JVS(3134)*XX(315)-JVS(3244)*XX(321))/(JVS(3276)) XX(323) = (X(323)-JVS(73)*XX(7)-JVS(297)*XX(34)-JVS(704)*XX(91)-JVS(742)*XX(100)-JVS(1244)*XX(188)-JVS(2294)*XX(282)& &-JVS(2326)*XX(283)-JVS(2618)*XX(295)-JVS(2706)*XX(298)-JVS(3081)*XX(313)-JVS(3135)*XX(315)-JVS(3245)*XX(321)& &-JVS(3277)*XX(322))/(JVS(3301)) XX(324) = (X(324)-JVS(74)*XX(7)-JVS(298)*XX(34)-JVS(708)*XX(92)-JVS(890)*XX(129)-JVS(949)*XX(139)-JVS(978)*XX(145)& &-JVS(1152)*XX(173)-JVS(1533)*XX(225)-JVS(1643)*XX(237)-JVS(1704)*XX(242)-JVS(1799)*XX(249)-JVS(1807)*XX(250)& &-JVS(1852)*XX(255)-JVS(1874)*XX(256)-JVS(1887)*XX(257)-JVS(1923)*XX(260)-JVS(1952)*XX(262)-JVS(1986)*XX(263)& &-JVS(2146)*XX(272)-JVS(2159)*XX(273)-JVS(2181)*XX(274)-JVS(2193)*XX(275)-JVS(2209)*XX(277)-JVS(2223)*XX(278)& &-JVS(2235)*XX(279)-JVS(2249)*XX(280)-JVS(2260)*XX(281)-JVS(2295)*XX(282)-JVS(2327)*XX(283)-JVS(2467)*XX(289)& &-JVS(2483)*XX(291)-JVS(2512)*XX(292)-JVS(2528)*XX(293)-JVS(2587)*XX(294)-JVS(2619)*XX(295)-JVS(2642)*XX(296)& &-JVS(2707)*XX(298)-JVS(2733)*XX(299)-JVS(2743)*XX(300)-JVS(2762)*XX(301)-JVS(2787)*XX(302)-JVS(2816)*XX(303)& &-JVS(2899)*XX(306)-JVS(2961)*XX(307)-JVS(2982)*XX(308)-JVS(3006)*XX(309)-JVS(3018)*XX(310)-JVS(3030)*XX(311)& &-JVS(3051)*XX(312)-JVS(3082)*XX(313)-JVS(3113)*XX(314)-JVS(3136)*XX(315)-JVS(3182)*XX(318)-JVS(3208)*XX(319)& &-JVS(3223)*XX(320)-JVS(3246)*XX(321)-JVS(3278)*XX(322)-JVS(3302)*XX(323))/(JVS(3389)) XX(325) = (X(325)-JVS(409)*XX(35)-JVS(510)*XX(36)-JVS(696)*XX(89)-JVS(925)*XX(134)-JVS(1472)*XX(217))/(JVS(3527)) XX(326) = (X(326)-JVS(410)*XX(35)-JVS(511)*XX(36)-JVS(1565)*XX(228)-JVS(3390)*XX(324)-JVS(3528)*XX(325))/(JVS(3573)) XX(327) = (X(327)-JVS(299)*XX(34)-JVS(609)*XX(64)-JVS(613)*XX(65)-JVS(1105)*XX(166)-JVS(1188)*XX(179)-JVS(1669)& &*XX(239))/(JVS(3665)) XX(328) = (X(328)-JVS(75)*XX(7)-JVS(300)*XX(34)-JVS(411)*XX(35)-JVS(512)*XX(36)-JVS(617)*XX(66)-JVS(668)*XX(80)& &-JVS(712)*XX(93)-JVS(779)*XX(106)-JVS(796)*XX(110)-JVS(891)*XX(129)-JVS(899)*XX(130)-JVS(937)*XX(136)& &-JVS(979)*XX(145)-JVS(1042)*XX(156)-JVS(1072)*XX(160)-JVS(1077)*XX(161)-JVS(1089)*XX(163)-JVS(1095)*XX(164)& &-JVS(1120)*XX(169)-JVS(1245)*XX(188)-JVS(1341)*XX(203)-JVS(1465)*XX(216)-JVS(1511)*XX(222)-JVS(1534)*XX(225)& &-JVS(1609)*XX(234)-JVS(1620)*XX(235)-JVS(1634)*XX(236)-JVS(1644)*XX(237)-JVS(1657)*XX(238)-JVS(1705)*XX(242)& &-JVS(1743)*XX(245)-JVS(1777)*XX(247)-JVS(1800)*XX(249)-JVS(1808)*XX(250)-JVS(1853)*XX(255)-JVS(1875)*XX(256)& &-JVS(1888)*XX(257)-JVS(1924)*XX(260)-JVS(1953)*XX(262)-JVS(1987)*XX(263)-JVS(2063)*XX(267)-JVS(2070)*XX(268)& &-JVS(2082)*XX(269)-JVS(2127)*XX(270)-JVS(2138)*XX(271)-JVS(2147)*XX(272)-JVS(2160)*XX(273)-JVS(2182)*XX(274)& &-JVS(2194)*XX(275)-JVS(2210)*XX(277)-JVS(2224)*XX(278)-JVS(2236)*XX(279)-JVS(2250)*XX(280)-JVS(2261)*XX(281)& &-JVS(2296)*XX(282)-JVS(2328)*XX(283)-JVS(2370)*XX(285)-JVS(2390)*XX(286)-JVS(2420)*XX(287)-JVS(2453)*XX(288)& &-JVS(2468)*XX(289)-JVS(2484)*XX(291)-JVS(2513)*XX(292)-JVS(2529)*XX(293)-JVS(2588)*XX(294)-JVS(2620)*XX(295)& &-JVS(2643)*XX(296)-JVS(2708)*XX(298)-JVS(2734)*XX(299)-JVS(2744)*XX(300)-JVS(2763)*XX(301)-JVS(2788)*XX(302)& &-JVS(2817)*XX(303)-JVS(2829)*XX(304)-JVS(2843)*XX(305)-JVS(2900)*XX(306)-JVS(2962)*XX(307)-JVS(2983)*XX(308)& &-JVS(3007)*XX(309)-JVS(3019)*XX(310)-JVS(3031)*XX(311)-JVS(3052)*XX(312)-JVS(3083)*XX(313)-JVS(3114)*XX(314)& &-JVS(3137)*XX(315)-JVS(3183)*XX(318)-JVS(3209)*XX(319)-JVS(3224)*XX(320)-JVS(3247)*XX(321)-JVS(3279)*XX(322)& &-JVS(3303)*XX(323)-JVS(3391)*XX(324)-JVS(3529)*XX(325)-JVS(3574)*XX(326)-JVS(3666)*XX(327))/(JVS(3748)) XX(329) = (X(329)-JVS(76)*XX(7)-JVS(524)*XX(37)-JVS(1693)*XX(241)-JVS(1999)*XX(264)-JVS(2329)*XX(283)-JVS(3053)& &*XX(312)-JVS(3530)*XX(325)-JVS(3575)*XX(326)-JVS(3667)*XX(327)-JVS(3749)*XX(328))/(JVS(3871)) XX(330) = (X(330)-JVS(92)*XX(9)-JVS(100)*XX(10)-JVS(412)*XX(35)-JVS(657)*XX(77)-JVS(768)*XX(104)-JVS(2344)*XX(284))& &/(JVS(3888)) XX(331) = (X(331)-JVS(601)*XX(62)-JVS(642)*XX(73)-JVS(1126)*XX(170)-JVS(1821)*XX(252)-JVS(2345)*XX(284)-JVS(3889)& &*XX(330))/(JVS(3918)) XX(332) = (X(332)-JVS(93)*XX(9)-JVS(101)*XX(10)-JVS(413)*XX(35)-JVS(658)*XX(77)-JVS(769)*XX(104)-JVS(1127)*XX(170)& &-JVS(2346)*XX(284)-JVS(3668)*XX(327)-JVS(3890)*XX(330)-JVS(3919)*XX(331))/(JVS(3938)) XX(333) = (X(333)-JVS(414)*XX(35)-JVS(533)*XX(38)-JVS(926)*XX(134)-JVS(1050)*XX(157)-JVS(1744)*XX(245))/(JVS(3963)) XX(334) = (X(334)-JVS(415)*XX(35)-JVS(539)*XX(39)-JVS(564)*XX(46)-JVS(566)*XX(47)-JVS(568)*XX(48)-JVS(570)*XX(49)& &-JVS(572)*XX(50)-JVS(574)*XX(51)-JVS(578)*XX(53)-JVS(580)*XX(54)-JVS(599)*XX(61)-JVS(605)*XX(63)-JVS(662)& &*XX(78)-JVS(671)*XX(81)-JVS(680)*XX(84)-JVS(683)*XX(85)-JVS(686)*XX(86)-JVS(689)*XX(87)-JVS(774)*XX(105)& &-JVS(1198)*XX(181)-JVS(1473)*XX(217)-JVS(1566)*XX(228)-JVS(1745)*XX(245)-JVS(3531)*XX(325)-JVS(3669)*XX(327)& &-JVS(3750)*XX(328)-JVS(3872)*XX(329)-JVS(3964)*XX(333))/(JVS(4014)) XX(335) = (X(335)-JVS(301)*XX(34)-JVS(416)*XX(35)-JVS(586)*XX(56)-JVS(589)*XX(57)-JVS(594)*XX(59)-JVS(606)*XX(63)& &-JVS(621)*XX(67)-JVS(669)*XX(80)-JVS(701)*XX(90)-JVS(787)*XX(108)-JVS(811)*XX(113)-JVS(815)*XX(114)-JVS(831)& &*XX(117)-JVS(857)*XX(122)-JVS(865)*XX(124)-JVS(873)*XX(126)-JVS(950)*XX(139)-JVS(1134)*XX(171)-JVS(1140)& &*XX(172)-JVS(1215)*XX(184)-JVS(1297)*XX(197)-JVS(1342)*XX(203)-JVS(1420)*XX(213)-JVS(1426)*XX(214)-JVS(1482)& &*XX(218)-JVS(1621)*XX(235)-JVS(1635)*XX(236)-JVS(1670)*XX(239)-JVS(1686)*XX(240)-JVS(1694)*XX(241)-JVS(1756)& &*XX(246)-JVS(1793)*XX(248)-JVS(1822)*XX(252)-JVS(1834)*XX(253)-JVS(1845)*XX(254)-JVS(1889)*XX(257)-JVS(1915)& &*XX(259)-JVS(2000)*XX(264)-JVS(2033)*XX(265)-JVS(2083)*XX(269)-JVS(2128)*XX(270)-JVS(2183)*XX(274)-JVS(2225)& &*XX(278)-JVS(2297)*XX(282)-JVS(2330)*XX(283)-JVS(2347)*XX(284)-JVS(2421)*XX(287)-JVS(2454)*XX(288)-JVS(2514)& &*XX(292)-JVS(2589)*XX(294)-JVS(2621)*XX(295)-JVS(2644)*XX(296)-JVS(2654)*XX(297)-JVS(2709)*XX(298)-JVS(2789)& &*XX(302)-JVS(2901)*XX(306)-JVS(2963)*XX(307)-JVS(2984)*XX(308)-JVS(3054)*XX(312)-JVS(3084)*XX(313)-JVS(3138)& &*XX(315)-JVS(3149)*XX(316)-JVS(3165)*XX(317)-JVS(3184)*XX(318)-JVS(3210)*XX(319)-JVS(3225)*XX(320)-JVS(3248)& &*XX(321)-JVS(3280)*XX(322)-JVS(3304)*XX(323)-JVS(3392)*XX(324)-JVS(3532)*XX(325)-JVS(3576)*XX(326)-JVS(3670)& &*XX(327)-JVS(3751)*XX(328)-JVS(3873)*XX(329)-JVS(3891)*XX(330)-JVS(3920)*XX(331)-JVS(3939)*XX(332)-JVS(3965)& &*XX(333)-JVS(4015)*XX(334))/(JVS(4189)) XX(336) = (X(336)-JVS(417)*XX(35)-JVS(547)*XX(40)-JVS(693)*XX(88)-JVS(1427)*XX(214)-JVS(1483)*XX(218)-JVS(1695)& &*XX(241)-JVS(2001)*XX(264)-JVS(2034)*XX(265)-JVS(2331)*XX(283)-JVS(2655)*XX(297)-JVS(3055)*XX(312)-JVS(3150)& &*XX(316)-JVS(3166)*XX(317)-JVS(3533)*XX(325)-JVS(3577)*XX(326)-JVS(3671)*XX(327)-JVS(3752)*XX(328)-JVS(3874)& &*XX(329)-JVS(3892)*XX(330)-JVS(3921)*XX(331)-JVS(3940)*XX(332)-JVS(3966)*XX(333)-JVS(4016)*XX(334)-JVS(4190)& &*XX(335))/(JVS(4291)) XX(337) = (X(337)-JVS(77)*XX(7)-JVS(104)*XX(11)-JVS(110)*XX(13)-JVS(121)*XX(16)-JVS(127)*XX(18)-JVS(134)*XX(20)& &-JVS(140)*XX(22)-JVS(153)*XX(25)-JVS(159)*XX(27)-JVS(302)*XX(34)-JVS(418)*XX(35)-JVS(513)*XX(36)-JVS(548)& &*XX(40)-JVS(618)*XX(66)-JVS(635)*XX(71)-JVS(639)*XX(72)-JVS(643)*XX(73)-JVS(647)*XX(74)-JVS(709)*XX(92)& &-JVS(731)*XX(97)-JVS(735)*XX(98)-JVS(739)*XX(99)-JVS(743)*XX(100)-JVS(749)*XX(102)-JVS(788)*XX(108)-JVS(803)& &*XX(111)-JVS(807)*XX(112)-JVS(832)*XX(117)-JVS(837)*XX(118)-JVS(852)*XX(121)-JVS(861)*XX(123)-JVS(869)& &*XX(125)-JVS(892)*XX(129)-JVS(900)*XX(130)-JVS(905)*XX(131)-JVS(910)*XX(132)-JVS(915)*XX(133)-JVS(932)& &*XX(135)-JVS(938)*XX(136)-JVS(985)*XX(146)-JVS(1024)*XX(153)-JVS(1037)*XX(155)-JVS(1068)*XX(159)-JVS(1073)& &*XX(160)-JVS(1078)*XX(161)-JVS(1096)*XX(164)-JVS(1101)*XX(165)-JVS(1121)*XX(169)-JVS(1135)*XX(171)-JVS(1141)& &*XX(172)-JVS(1153)*XX(173)-JVS(1159)*XX(174)-JVS(1183)*XX(178)-JVS(1194)*XX(180)-JVS(1204)*XX(182)-JVS(1228)& &*XX(186)-JVS(1232)*XX(187)-JVS(1251)*XX(189)-JVS(1258)*XX(190)-JVS(1267)*XX(192)-JVS(1290)*XX(196)-JVS(1298)& &*XX(197)-JVS(1306)*XX(198)-JVS(1310)*XX(199)-JVS(1343)*XX(203)-JVS(1356)*XX(204)-JVS(1364)*XX(205)-JVS(1369)& &*XX(206)-JVS(1374)*XX(207)-JVS(1386)*XX(208)-JVS(1391)*XX(209)-JVS(1401)*XX(210)-JVS(1412)*XX(212)-JVS(1421)& &*XX(213)-JVS(1454)*XX(215)-JVS(1466)*XX(216)-JVS(1474)*XX(217)-JVS(1512)*XX(222)-JVS(1518)*XX(223)-JVS(1525)& &*XX(224)-JVS(1535)*XX(225)-JVS(1543)*XX(226)-JVS(1560)*XX(227)-JVS(1572)*XX(229)-JVS(1580)*XX(230)-JVS(1586)& &*XX(231)-JVS(1593)*XX(232)-JVS(1599)*XX(233)-JVS(1610)*XX(234)-JVS(1622)*XX(235)-JVS(1636)*XX(236)-JVS(1645)& &*XX(237)-JVS(1658)*XX(238)-JVS(1687)*XX(240)-JVS(1706)*XX(242)-JVS(1720)*XX(243)-JVS(1736)*XX(244)-JVS(1757)& &*XX(246)-JVS(1778)*XX(247)-JVS(1794)*XX(248)-JVS(1801)*XX(249)-JVS(1809)*XX(250)-JVS(1817)*XX(251)-JVS(1835)& &*XX(253)-JVS(1846)*XX(254)-JVS(1854)*XX(255)-JVS(1876)*XX(256)-JVS(1890)*XX(257)-JVS(1907)*XX(258)-JVS(1916)& &*XX(259)-JVS(1925)*XX(260)-JVS(1943)*XX(261)-JVS(1954)*XX(262)-JVS(1988)*XX(263)-JVS(2002)*XX(264)-JVS(2035)& &*XX(265)-JVS(2057)*XX(266)-JVS(2084)*XX(269)-JVS(2129)*XX(270)-JVS(2139)*XX(271)-JVS(2148)*XX(272)-JVS(2161)& &*XX(273)-JVS(2184)*XX(274)-JVS(2195)*XX(275)-JVS(2211)*XX(277)-JVS(2226)*XX(278)-JVS(2237)*XX(279)-JVS(2251)& &*XX(280)-JVS(2262)*XX(281)-JVS(2298)*XX(282)-JVS(2332)*XX(283)-JVS(2348)*XX(284)-JVS(2371)*XX(285)-JVS(2391)& &*XX(286)-JVS(2422)*XX(287)-JVS(2455)*XX(288)-JVS(2469)*XX(289)-JVS(2485)*XX(291)-JVS(2515)*XX(292)-JVS(2530)& &*XX(293)-JVS(2590)*XX(294)-JVS(2622)*XX(295)-JVS(2645)*XX(296)-JVS(2710)*XX(298)-JVS(2735)*XX(299)-JVS(2745)& &*XX(300)-JVS(2764)*XX(301)-JVS(2790)*XX(302)-JVS(2818)*XX(303)-JVS(2830)*XX(304)-JVS(2844)*XX(305)-JVS(2902)& &*XX(306)-JVS(2964)*XX(307)-JVS(2985)*XX(308)-JVS(3008)*XX(309)-JVS(3020)*XX(310)-JVS(3032)*XX(311)-JVS(3056)& &*XX(312)-JVS(3085)*XX(313)-JVS(3115)*XX(314)-JVS(3139)*XX(315)-JVS(3151)*XX(316)-JVS(3185)*XX(318)-JVS(3211)& &*XX(319)-JVS(3226)*XX(320)-JVS(3249)*XX(321)-JVS(3281)*XX(322)-JVS(3305)*XX(323)-JVS(3393)*XX(324)-JVS(3534)& &*XX(325)-JVS(3578)*XX(326)-JVS(3672)*XX(327)-JVS(3753)*XX(328)-JVS(3875)*XX(329)-JVS(3893)*XX(330)-JVS(3922)& &*XX(331)-JVS(3941)*XX(332)-JVS(3967)*XX(333)-JVS(4017)*XX(334)-JVS(4191)*XX(335)-JVS(4292)*XX(336))& &/(JVS(4500)) XX(338) = (X(338)-JVS(419)*XX(35)-JVS(653)*XX(76)-JVS(770)*XX(104)-JVS(797)*XX(110)-JVS(846)*XX(120)-JVS(1051)*XX(157)& &-JVS(1746)*XX(245)-JVS(2349)*XX(284)-JVS(3167)*XX(317)-JVS(3535)*XX(325)-JVS(3673)*XX(327)-JVS(3754)*XX(328)& &-JVS(3876)*XX(329)-JVS(3894)*XX(330)-JVS(3923)*XX(331)-JVS(3942)*XX(332)-JVS(3968)*XX(333)-JVS(4018)*XX(334)& &-JVS(4192)*XX(335)-JVS(4293)*XX(336)-JVS(4501)*XX(337))/(JVS(4556)) XX(339) = (X(339)-JVS(420)*XX(35)-JVS(1052)*XX(157)-JVS(1106)*XX(166)-JVS(1189)*XX(179)-JVS(1428)*XX(214)-JVS(1475)& &*XX(217)-JVS(1484)*XX(218)-JVS(1671)*XX(239)-JVS(1747)*XX(245)-JVS(2656)*XX(297)-JVS(3152)*XX(316)-JVS(3168)& &*XX(317)-JVS(3674)*XX(327)-JVS(3969)*XX(333)-JVS(4019)*XX(334)-JVS(4193)*XX(335)-JVS(4294)*XX(336)-JVS(4502)& &*XX(337)-JVS(4557)*XX(338))/(JVS(4634)) XX(340) = (X(340)-JVS(78)*XX(7)-JVS(303)*XX(34)-JVS(514)*XX(36)-JVS(540)*XX(39)-JVS(650)*XX(75)-JVS(665)*XX(79)& &-JVS(798)*XX(110)-JVS(957)*XX(141)-JVS(961)*XX(142)-JVS(1043)*XX(156)-JVS(1097)*XX(164)-JVS(1199)*XX(181)& &-JVS(1208)*XX(183)-JVS(1476)*XX(217)-JVS(1567)*XX(228)-JVS(1748)*XX(245)-JVS(1926)*XX(260)-JVS(2003)*XX(264)& &-JVS(2036)*XX(265)-JVS(2201)*XX(276)-JVS(2299)*XX(282)-JVS(2333)*XX(283)-JVS(2423)*XX(287)-JVS(2456)*XX(288)& &-JVS(2476)*XX(290)-JVS(2591)*XX(294)-JVS(2623)*XX(295)-JVS(2646)*XX(296)-JVS(2711)*XX(298)-JVS(2746)*XX(300)& &-JVS(2791)*XX(302)-JVS(2831)*XX(304)-JVS(2845)*XX(305)-JVS(2903)*XX(306)-JVS(2965)*XX(307)-JVS(2986)*XX(308)& &-JVS(3009)*XX(309)-JVS(3021)*XX(310)-JVS(3033)*XX(311)-JVS(3057)*XX(312)-JVS(3086)*XX(313)-JVS(3116)*XX(314)& &-JVS(3140)*XX(315)-JVS(3169)*XX(317)-JVS(3212)*XX(319)-JVS(3227)*XX(320)-JVS(3250)*XX(321)-JVS(3282)*XX(322)& &-JVS(3306)*XX(323)-JVS(3394)*XX(324)-JVS(3536)*XX(325)-JVS(3579)*XX(326)-JVS(3675)*XX(327)-JVS(3755)*XX(328)& &-JVS(3877)*XX(329)-JVS(3970)*XX(333)-JVS(4020)*XX(334)-JVS(4194)*XX(335)-JVS(4295)*XX(336)-JVS(4503)*XX(337)& &-JVS(4558)*XX(338)-JVS(4635)*XX(339))/(JVS(4730)) XX(341) = (X(341)-JVS(79)*XX(7)-JVS(167)*XX(29)-JVS(421)*XX(35)-JVS(515)*XX(36)-JVS(534)*XX(38)-JVS(549)*XX(40)& &-JVS(792)*XX(109)-JVS(821)*XX(115)-JVS(893)*XX(129)-JVS(927)*XX(134)-JVS(953)*XX(140)-JVS(966)*XX(143)& &-JVS(1030)*XX(154)-JVS(1090)*XX(163)-JVS(1107)*XX(166)-JVS(1110)*XX(167)-JVS(1176)*XX(177)-JVS(1190)*XX(179)& &-JVS(1262)*XX(191)-JVS(1271)*XX(193)-JVS(1284)*XX(195)-JVS(1321)*XX(201)-JVS(1329)*XX(202)-JVS(1344)*XX(203)& &-JVS(1357)*XX(204)-JVS(1406)*XX(211)-JVS(1413)*XX(212)-JVS(1477)*XX(217)-JVS(1488)*XX(219)-JVS(1492)*XX(220)& &-JVS(1505)*XX(221)-JVS(1536)*XX(225)-JVS(1568)*XX(228)-JVS(1573)*XX(229)-JVS(1600)*XX(233)-JVS(1611)*XX(234)& &-JVS(1623)*XX(235)-JVS(1637)*XX(236)-JVS(1646)*XX(237)-JVS(1672)*XX(239)-JVS(1696)*XX(241)-JVS(1707)*XX(242)& &-JVS(1855)*XX(255)-JVS(1877)*XX(256)-JVS(1891)*XX(257)-JVS(1955)*XX(262)-JVS(1989)*XX(263)-JVS(2004)*XX(264)& &-JVS(2037)*XX(265)-JVS(2085)*XX(269)-JVS(2130)*XX(270)-JVS(2149)*XX(272)-JVS(2162)*XX(273)-JVS(2185)*XX(274)& &-JVS(2196)*XX(275)-JVS(2202)*XX(276)-JVS(2212)*XX(277)-JVS(2227)*XX(278)-JVS(2252)*XX(280)-JVS(2263)*XX(281)& &-JVS(2300)*XX(282)-JVS(2334)*XX(283)-JVS(2350)*XX(284)-JVS(2424)*XX(287)-JVS(2457)*XX(288)-JVS(2470)*XX(289)& &-JVS(2477)*XX(290)-JVS(2486)*XX(291)-JVS(2516)*XX(292)-JVS(2592)*XX(294)-JVS(2624)*XX(295)-JVS(2647)*XX(296)& &-JVS(2712)*XX(298)-JVS(2747)*XX(300)-JVS(2792)*XX(302)-JVS(2832)*XX(304)-JVS(2846)*XX(305)-JVS(2904)*XX(306)& &-JVS(2966)*XX(307)-JVS(2987)*XX(308)-JVS(3010)*XX(309)-JVS(3022)*XX(310)-JVS(3034)*XX(311)-JVS(3058)*XX(312)& &-JVS(3087)*XX(313)-JVS(3117)*XX(314)-JVS(3141)*XX(315)-JVS(3153)*XX(316)-JVS(3186)*XX(318)-JVS(3213)*XX(319)& &-JVS(3228)*XX(320)-JVS(3251)*XX(321)-JVS(3283)*XX(322)-JVS(3307)*XX(323)-JVS(3395)*XX(324)-JVS(3537)*XX(325)& &-JVS(3580)*XX(326)-JVS(3676)*XX(327)-JVS(3756)*XX(328)-JVS(3878)*XX(329)-JVS(3895)*XX(330)-JVS(3924)*XX(331)& &-JVS(3943)*XX(332)-JVS(3971)*XX(333)-JVS(4021)*XX(334)-JVS(4195)*XX(335)-JVS(4296)*XX(336)-JVS(4504)*XX(337)& &-JVS(4559)*XX(338)-JVS(4636)*XX(339)-JVS(4731)*XX(340))/(JVS(4808)) XX(342) = (X(342)-JVS(516)*XX(36)-JVS(595)*XX(59)-JVS(958)*XX(141)-JVS(995)*XX(148)-JVS(1209)*XX(183)-JVS(1485)& &*XX(218)-JVS(1927)*XX(260)-JVS(2301)*XX(282)-JVS(2335)*XX(283)-JVS(2478)*XX(290)-JVS(2593)*XX(294)-JVS(2625)& &*XX(295)-JVS(2648)*XX(296)-JVS(2713)*XX(298)-JVS(2967)*XX(307)-JVS(3059)*XX(312)-JVS(3088)*XX(313)-JVS(3142)& &*XX(315)-JVS(3154)*XX(316)-JVS(3252)*XX(321)-JVS(3284)*XX(322)-JVS(3308)*XX(323)-JVS(3396)*XX(324)-JVS(3538)& &*XX(325)-JVS(3581)*XX(326)-JVS(3677)*XX(327)-JVS(3757)*XX(328)-JVS(3879)*XX(329)-JVS(3972)*XX(333)-JVS(4022)& &*XX(334)-JVS(4196)*XX(335)-JVS(4297)*XX(336)-JVS(4505)*XX(337)-JVS(4560)*XX(338)-JVS(4637)*XX(339)-JVS(4732)& &*XX(340)-JVS(4809)*XX(341))/(JVS(4865)) XX(343) = (X(343)-JVS(422)*XX(35)-JVS(517)*XX(36)-JVS(624)*XX(68)-JVS(1478)*XX(217)-JVS(2005)*XX(264)-JVS(3155)& &*XX(316)-JVS(3170)*XX(317)-JVS(3539)*XX(325)-JVS(3678)*XX(327)-JVS(3880)*XX(329)-JVS(3973)*XX(333)-JVS(4023)& &*XX(334)-JVS(4197)*XX(335)-JVS(4298)*XX(336)-JVS(4506)*XX(337)-JVS(4561)*XX(338)-JVS(4638)*XX(339)-JVS(4733)& &*XX(340)-JVS(4810)*XX(341)-JVS(4866)*XX(342))/(JVS(4926)) XX(344) = (X(344)-JVS(423)*XX(35)-JVS(771)*XX(104)-JVS(1053)*XX(157)-JVS(1429)*XX(214)-JVS(1673)*XX(239)-JVS(1749)& &*XX(245)-JVS(1823)*XX(252)-JVS(2657)*XX(297)-JVS(3156)*XX(316)-JVS(3171)*XX(317)-JVS(3679)*XX(327)-JVS(3896)& &*XX(330)-JVS(3925)*XX(331)-JVS(3944)*XX(332)-JVS(3974)*XX(333)-JVS(4024)*XX(334)-JVS(4198)*XX(335)-JVS(4299)& &*XX(336)-JVS(4507)*XX(337)-JVS(4562)*XX(338)-JVS(4639)*XX(339)-JVS(4734)*XX(340)-JVS(4811)*XX(341)-JVS(4867)& &*XX(342)-JVS(4927)*XX(343))/(JVS(4960)) XX(345) = (X(345)-JVS(13)*XX(6)-JVS(80)*XX(7)-JVS(111)*XX(13)-JVS(115)*XX(14)-JVS(128)*XX(18)-JVS(131)*XX(19)-JVS(141)& &*XX(22)-JVS(150)*XX(24)-JVS(160)*XX(27)-JVS(164)*XX(28)-JVS(182)*XX(32)-JVS(186)*XX(33)-JVS(304)*XX(34)& &-JVS(424)*XX(35)-JVS(518)*XX(36)-JVS(525)*XX(37)-JVS(535)*XX(38)-JVS(541)*XX(39)-JVS(550)*XX(40)-JVS(552)& &*XX(41)-JVS(556)*XX(43)-JVS(576)*XX(52)-JVS(592)*XX(58)-JVS(597)*XX(60)-JVS(619)*XX(66)-JVS(625)*XX(68)& &-JVS(627)*XX(69)-JVS(631)*XX(70)-JVS(636)*XX(71)-JVS(640)*XX(72)-JVS(644)*XX(73)-JVS(648)*XX(74)-JVS(651)& &*XX(75)-JVS(654)*XX(76)-JVS(663)*XX(78)-JVS(666)*XX(79)-JVS(672)*XX(81)-JVS(674)*XX(82)-JVS(677)*XX(83)& &-JVS(681)*XX(84)-JVS(684)*XX(85)-JVS(687)*XX(86)-JVS(690)*XX(87)-JVS(694)*XX(88)-JVS(697)*XX(89)-JVS(702)& &*XX(90)-JVS(705)*XX(91)-JVS(710)*XX(92)-JVS(713)*XX(93)-JVS(716)*XX(94)-JVS(720)*XX(95)-JVS(732)*XX(97)& &-JVS(736)*XX(98)-JVS(740)*XX(99)-JVS(744)*XX(100)-JVS(746)*XX(101)-JVS(750)*XX(102)-JVS(775)*XX(105)-JVS(785)& &*XX(107)-JVS(789)*XX(108)-JVS(793)*XX(109)-JVS(799)*XX(110)-JVS(804)*XX(111)-JVS(808)*XX(112)-JVS(812)& &*XX(113)-JVS(816)*XX(114)-JVS(822)*XX(115)-JVS(825)*XX(116)-JVS(833)*XX(117)-JVS(838)*XX(118)-JVS(843)& &*XX(119)-JVS(847)*XX(120)-JVS(853)*XX(121)-JVS(858)*XX(122)-JVS(862)*XX(123)-JVS(866)*XX(124)-JVS(870)& &*XX(125)-JVS(874)*XX(126)-JVS(877)*XX(127)-JVS(884)*XX(128)-JVS(894)*XX(129)-JVS(901)*XX(130)-JVS(906)& &*XX(131)-JVS(911)*XX(132)-JVS(916)*XX(133)-JVS(928)*XX(134)-JVS(933)*XX(135)-JVS(939)*XX(136)-JVS(942)& &*XX(137)-JVS(946)*XX(138)-JVS(951)*XX(139)-JVS(954)*XX(140)-JVS(959)*XX(141)-JVS(962)*XX(142)-JVS(967)& &*XX(143)-JVS(972)*XX(144)-JVS(986)*XX(146)-JVS(991)*XX(147)-JVS(996)*XX(148)-JVS(1002)*XX(149)-JVS(1008)& &*XX(150)-JVS(1014)*XX(151)-JVS(1020)*XX(152)-JVS(1025)*XX(153)-JVS(1031)*XX(154)-JVS(1038)*XX(155)-JVS(1044)& &*XX(156)-JVS(1064)*XX(158)-JVS(1069)*XX(159)-JVS(1074)*XX(160)-JVS(1079)*XX(161)-JVS(1084)*XX(162)-JVS(1091)& &*XX(163)-JVS(1098)*XX(164)-JVS(1102)*XX(165)-JVS(1111)*XX(167)-JVS(1115)*XX(168)-JVS(1122)*XX(169)-JVS(1128)& &*XX(170)-JVS(1154)*XX(173)-JVS(1160)*XX(174)-JVS(1163)*XX(175)-JVS(1169)*XX(176)-JVS(1177)*XX(177)-JVS(1184)& &*XX(178)-JVS(1195)*XX(180)-JVS(1200)*XX(181)-JVS(1205)*XX(182)-JVS(1210)*XX(183)-JVS(1216)*XX(184)-JVS(1225)& &*XX(185)-JVS(1229)*XX(186)-JVS(1233)*XX(187)-JVS(1246)*XX(188)-JVS(1252)*XX(189)-JVS(1259)*XX(190)-JVS(1263)& &*XX(191)-JVS(1268)*XX(192)-JVS(1272)*XX(193)-JVS(1280)*XX(194)-JVS(1285)*XX(195)-JVS(1291)*XX(196)-JVS(1299)& &*XX(197)-JVS(1307)*XX(198)-JVS(1311)*XX(199)-JVS(1313)*XX(200)-JVS(1322)*XX(201)-JVS(1330)*XX(202)-JVS(1345)& &*XX(203)-JVS(1358)*XX(204)-JVS(1365)*XX(205)-JVS(1370)*XX(206)-JVS(1375)*XX(207)-JVS(1387)*XX(208)-JVS(1392)& &*XX(209)-JVS(1402)*XX(210)-JVS(1407)*XX(211)-JVS(1414)*XX(212)-JVS(1422)*XX(213)-JVS(1455)*XX(215)-JVS(1467)& &*XX(216)-JVS(1479)*XX(217)-JVS(1489)*XX(219)-JVS(1493)*XX(220)-JVS(1506)*XX(221)-JVS(1513)*XX(222)-JVS(1519)& &*XX(223)-JVS(1526)*XX(224)-JVS(1537)*XX(225)-JVS(1544)*XX(226)-JVS(1561)*XX(227)-JVS(1569)*XX(228)-JVS(1574)& &*XX(229)-JVS(1581)*XX(230)-JVS(1587)*XX(231)-JVS(1594)*XX(232)-JVS(1601)*XX(233)-JVS(1612)*XX(234)-JVS(1624)& &*XX(235)-JVS(1638)*XX(236)-JVS(1647)*XX(237)-JVS(1659)*XX(238)-JVS(1674)*XX(239)-JVS(1688)*XX(240)-JVS(1708)& &*XX(242)-JVS(1721)*XX(243)-JVS(1737)*XX(244)-JVS(1750)*XX(245)-JVS(1758)*XX(246)-JVS(1779)*XX(247)-JVS(1795)& &*XX(248)-JVS(1802)*XX(249)-JVS(1810)*XX(250)-JVS(1818)*XX(251)-JVS(1836)*XX(253)-JVS(1847)*XX(254)-JVS(1856)& &*XX(255)-JVS(1878)*XX(256)-JVS(1892)*XX(257)-JVS(1908)*XX(258)-JVS(1917)*XX(259)-JVS(1928)*XX(260)-JVS(1944)& &*XX(261)-JVS(1956)*XX(262)-JVS(1990)*XX(263)-JVS(2006)*XX(264)-JVS(2038)*XX(265)-JVS(2058)*XX(266)-JVS(2064)& &*XX(267)-JVS(2071)*XX(268)-JVS(2086)*XX(269)-JVS(2131)*XX(270)-JVS(2140)*XX(271)-JVS(2150)*XX(272)-JVS(2163)& &*XX(273)-JVS(2186)*XX(274)-JVS(2197)*XX(275)-JVS(2203)*XX(276)-JVS(2213)*XX(277)-JVS(2228)*XX(278)-JVS(2238)& &*XX(279)-JVS(2253)*XX(280)-JVS(2264)*XX(281)-JVS(2302)*XX(282)-JVS(2336)*XX(283)-JVS(2351)*XX(284)-JVS(2372)& &*XX(285)-JVS(2392)*XX(286)-JVS(2425)*XX(287)-JVS(2458)*XX(288)-JVS(2471)*XX(289)-JVS(2479)*XX(290)-JVS(2487)& &*XX(291)-JVS(2517)*XX(292)-JVS(2531)*XX(293)-JVS(2594)*XX(294)-JVS(2626)*XX(295)-JVS(2649)*XX(296)-JVS(2658)& &*XX(297)-JVS(2714)*XX(298)-JVS(2736)*XX(299)-JVS(2748)*XX(300)-JVS(2765)*XX(301)-JVS(2793)*XX(302)-JVS(2819)& &*XX(303)-JVS(2833)*XX(304)-JVS(2847)*XX(305)-JVS(2905)*XX(306)-JVS(2968)*XX(307)-JVS(2988)*XX(308)-JVS(3011)& &*XX(309)-JVS(3023)*XX(310)-JVS(3035)*XX(311)-JVS(3060)*XX(312)-JVS(3089)*XX(313)-JVS(3118)*XX(314)-JVS(3143)& &*XX(315)-JVS(3157)*XX(316)-JVS(3172)*XX(317)-JVS(3187)*XX(318)-JVS(3214)*XX(319)-JVS(3229)*XX(320)-JVS(3253)& &*XX(321)-JVS(3285)*XX(322)-JVS(3309)*XX(323)-JVS(3397)*XX(324)-JVS(3540)*XX(325)-JVS(3582)*XX(326)-JVS(3680)& &*XX(327)-JVS(3758)*XX(328)-JVS(3881)*XX(329)-JVS(3897)*XX(330)-JVS(3926)*XX(331)-JVS(3945)*XX(332)-JVS(3975)& &*XX(333)-JVS(4025)*XX(334)-JVS(4199)*XX(335)-JVS(4300)*XX(336)-JVS(4508)*XX(337)-JVS(4563)*XX(338)-JVS(4640)& &*XX(339)-JVS(4735)*XX(340)-JVS(4812)*XX(341)-JVS(4868)*XX(342)-JVS(4928)*XX(343)-JVS(4961)*XX(344))& &/(JVS(5236)) XX(346) = (X(346)-JVS(81)*XX(7)-JVS(107)*XX(12)-JVS(112)*XX(13)-JVS(124)*XX(17)-JVS(129)*XX(18)-JVS(137)*XX(21)& &-JVS(142)*XX(22)-JVS(156)*XX(26)-JVS(161)*XX(27)-JVS(305)*XX(34)-JVS(519)*XX(36)-JVS(602)*XX(62)-JVS(622)& &*XX(67)-JVS(632)*XX(70)-JVS(678)*XX(83)-JVS(706)*XX(91)-JVS(714)*XX(93)-JVS(721)*XX(95)-JVS(727)*XX(96)& &-JVS(780)*XX(106)-JVS(826)*XX(116)-JVS(854)*XX(121)-JVS(878)*XX(127)-JVS(895)*XX(129)-JVS(907)*XX(131)& &-JVS(912)*XX(132)-JVS(917)*XX(133)-JVS(934)*XX(135)-JVS(943)*XX(137)-JVS(947)*XX(138)-JVS(980)*XX(145)& &-JVS(987)*XX(146)-JVS(1026)*XX(153)-JVS(1085)*XX(162)-JVS(1092)*XX(163)-JVS(1103)*XX(165)-JVS(1116)*XX(168)& &-JVS(1129)*XX(170)-JVS(1136)*XX(171)-JVS(1142)*XX(172)-JVS(1164)*XX(175)-JVS(1170)*XX(176)-JVS(1178)*XX(177)& &-JVS(1185)*XX(178)-JVS(1196)*XX(180)-JVS(1206)*XX(182)-JVS(1253)*XX(189)-JVS(1260)*XX(190)-JVS(1273)*XX(193)& &-JVS(1292)*XX(196)-JVS(1300)*XX(197)-JVS(1346)*XX(203)-JVS(1359)*XX(204)-JVS(1366)*XX(205)-JVS(1371)*XX(206)& &-JVS(1376)*XX(207)-JVS(1388)*XX(208)-JVS(1403)*XX(210)-JVS(1408)*XX(211)-JVS(1415)*XX(212)-JVS(1423)*XX(213)& &-JVS(1456)*XX(215)-JVS(1468)*XX(216)-JVS(1520)*XX(223)-JVS(1527)*XX(224)-JVS(1538)*XX(225)-JVS(1545)*XX(226)& &-JVS(1562)*XX(227)-JVS(1595)*XX(232)-JVS(1602)*XX(233)-JVS(1613)*XX(234)-JVS(1625)*XX(235)-JVS(1639)*XX(236)& &-JVS(1648)*XX(237)-JVS(1660)*XX(238)-JVS(1675)*XX(239)-JVS(1689)*XX(240)-JVS(1697)*XX(241)-JVS(1709)*XX(242)& &-JVS(1722)*XX(243)-JVS(1738)*XX(244)-JVS(1759)*XX(246)-JVS(1780)*XX(247)-JVS(1796)*XX(248)-JVS(1803)*XX(249)& &-JVS(1811)*XX(250)-JVS(1819)*XX(251)-JVS(1837)*XX(253)-JVS(1848)*XX(254)-JVS(1857)*XX(255)-JVS(1879)*XX(256)& &-JVS(1893)*XX(257)-JVS(1909)*XX(258)-JVS(1918)*XX(259)-JVS(1929)*XX(260)-JVS(1945)*XX(261)-JVS(1957)*XX(262)& &-JVS(1991)*XX(263)-JVS(2007)*XX(264)-JVS(2039)*XX(265)-JVS(2059)*XX(266)-JVS(2065)*XX(267)-JVS(2072)*XX(268)& &-JVS(2087)*XX(269)-JVS(2132)*XX(270)-JVS(2141)*XX(271)-JVS(2151)*XX(272)-JVS(2164)*XX(273)-JVS(2187)*XX(274)& &-JVS(2198)*XX(275)-JVS(2214)*XX(277)-JVS(2229)*XX(278)-JVS(2239)*XX(279)-JVS(2254)*XX(280)-JVS(2265)*XX(281)& &-JVS(2303)*XX(282)-JVS(2337)*XX(283)-JVS(2352)*XX(284)-JVS(2373)*XX(285)-JVS(2393)*XX(286)-JVS(2426)*XX(287)& &-JVS(2459)*XX(288)-JVS(2472)*XX(289)-JVS(2488)*XX(291)-JVS(2518)*XX(292)-JVS(2532)*XX(293)-JVS(2595)*XX(294)& &-JVS(2627)*XX(295)-JVS(2650)*XX(296)-JVS(2715)*XX(298)-JVS(2737)*XX(299)-JVS(2749)*XX(300)-JVS(2766)*XX(301)& &-JVS(2794)*XX(302)-JVS(2820)*XX(303)-JVS(2834)*XX(304)-JVS(2848)*XX(305)-JVS(2906)*XX(306)-JVS(2969)*XX(307)& &-JVS(2989)*XX(308)-JVS(3012)*XX(309)-JVS(3024)*XX(310)-JVS(3036)*XX(311)-JVS(3061)*XX(312)-JVS(3090)*XX(313)& &-JVS(3119)*XX(314)-JVS(3144)*XX(315)-JVS(3188)*XX(318)-JVS(3215)*XX(319)-JVS(3230)*XX(320)-JVS(3254)*XX(321)& &-JVS(3286)*XX(322)-JVS(3310)*XX(323)-JVS(3398)*XX(324)-JVS(3541)*XX(325)-JVS(3583)*XX(326)-JVS(3681)*XX(327)& &-JVS(3759)*XX(328)-JVS(3882)*XX(329)-JVS(3898)*XX(330)-JVS(3927)*XX(331)-JVS(3946)*XX(332)-JVS(3976)*XX(333)& &-JVS(4026)*XX(334)-JVS(4200)*XX(335)-JVS(4301)*XX(336)-JVS(4509)*XX(337)-JVS(4564)*XX(338)-JVS(4641)*XX(339)& &-JVS(4736)*XX(340)-JVS(4813)*XX(341)-JVS(4869)*XX(342)-JVS(4929)*XX(343)-JVS(4962)*XX(344)-JVS(5237)*XX(345))& &/(JVS(5358)) XX(347) = (X(347)-JVS(425)*XX(35)-JVS(728)*XX(96)-JVS(800)*XX(110)-JVS(848)*XX(120)-JVS(997)*XX(148)-JVS(1054)*XX(157)& &-JVS(1486)*XX(218)-JVS(1751)*XX(245)-JVS(2353)*XX(284)-JVS(3158)*XX(316)-JVS(3682)*XX(327)-JVS(3899)*XX(330)& &-JVS(3928)*XX(331)-JVS(3947)*XX(332)-JVS(3977)*XX(333)-JVS(4027)*XX(334)-JVS(4201)*XX(335)-JVS(4302)*XX(336)& &-JVS(4510)*XX(337)-JVS(4565)*XX(338)-JVS(4642)*XX(339)-JVS(4737)*XX(340)-JVS(4814)*XX(341)-JVS(4870)*XX(342)& &-JVS(4930)*XX(343)-JVS(4963)*XX(344)-JVS(5238)*XX(345)-JVS(5359)*XX(346))/(JVS(5391)) XX(348) = (X(348)-JVS(168)*XX(29)-JVS(183)*XX(32)-JVS(187)*XX(33)-JVS(426)*XX(35)-JVS(536)*XX(38)-JVS(698)*XX(89)& &-JVS(929)*XX(134)-JVS(1108)*XX(166)-JVS(1191)*XX(179)-JVS(1676)*XX(239)-JVS(1698)*XX(241)-JVS(2008)*XX(264)& &-JVS(2338)*XX(283)-JVS(3062)*XX(312)-JVS(3159)*XX(316)-JVS(3542)*XX(325)-JVS(3584)*XX(326)-JVS(3683)*XX(327)& &-JVS(3760)*XX(328)-JVS(3883)*XX(329)-JVS(3978)*XX(333)-JVS(4028)*XX(334)-JVS(4202)*XX(335)-JVS(4303)*XX(336)& &-JVS(4511)*XX(337)-JVS(4566)*XX(338)-JVS(4643)*XX(339)-JVS(4738)*XX(340)-JVS(4815)*XX(341)-JVS(4871)*XX(342)& &-JVS(4931)*XX(343)-JVS(4964)*XX(344)-JVS(5239)*XX(345)-JVS(5360)*XX(346)-JVS(5392)*XX(347))/(JVS(5433)) XX(349) = (X(349)-JVS(427)*XX(35)-JVS(659)*XX(77)-JVS(998)*XX(148)-JVS(1055)*XX(157)-JVS(1677)*XX(239)-JVS(1824)& &*XX(252)-JVS(2659)*XX(297)-JVS(3160)*XX(316)-JVS(3173)*XX(317)-JVS(3684)*XX(327)-JVS(3900)*XX(330)-JVS(3929)& &*XX(331)-JVS(3948)*XX(332)-JVS(3979)*XX(333)-JVS(4029)*XX(334)-JVS(4203)*XX(335)-JVS(4304)*XX(336)-JVS(4512)& &*XX(337)-JVS(4567)*XX(338)-JVS(4644)*XX(339)-JVS(4739)*XX(340)-JVS(4816)*XX(341)-JVS(4872)*XX(342)-JVS(4932)& &*XX(343)-JVS(4965)*XX(344)-JVS(5240)*XX(345)-JVS(5361)*XX(346)-JVS(5393)*XX(347)-JVS(5434)*XX(348))& &/(JVS(5460)) XX(350) = (X(350)-JVS(428)*XX(35)-JVS(660)*XX(77)-JVS(999)*XX(148)-JVS(1056)*XX(157)-JVS(1678)*XX(239)-JVS(1825)& &*XX(252)-JVS(2660)*XX(297)-JVS(3161)*XX(316)-JVS(3174)*XX(317)-JVS(3685)*XX(327)-JVS(3901)*XX(330)-JVS(3930)& &*XX(331)-JVS(3949)*XX(332)-JVS(3980)*XX(333)-JVS(4030)*XX(334)-JVS(4204)*XX(335)-JVS(4305)*XX(336)-JVS(4513)& &*XX(337)-JVS(4568)*XX(338)-JVS(4645)*XX(339)-JVS(4740)*XX(340)-JVS(4817)*XX(341)-JVS(4873)*XX(342)-JVS(4933)& &*XX(343)-JVS(4966)*XX(344)-JVS(5241)*XX(345)-JVS(5362)*XX(346)-JVS(5394)*XX(347)-JVS(5435)*XX(348)-JVS(5461)& &*XX(349))/(JVS(5487)) XX(351) = (X(351)-JVS(82)*XX(7)-JVS(118)*XX(15)-JVS(429)*XX(35)-JVS(520)*XX(36)-JVS(610)*XX(64)-JVS(614)*XX(65)& &-JVS(628)*XX(69)-JVS(717)*XX(94)-JVS(781)*XX(106)-JVS(896)*XX(129)-JVS(955)*XX(140)-JVS(963)*XX(142)-JVS(981)& &*XX(145)-JVS(1003)*XX(149)-JVS(1032)*XX(154)-JVS(1065)*XX(158)-JVS(1093)*XX(163)-JVS(1112)*XX(167)-JVS(1130)& &*XX(170)-JVS(1179)*XX(177)-JVS(1186)*XX(178)-JVS(1211)*XX(183)-JVS(1254)*XX(189)-JVS(1264)*XX(191)-JVS(1274)& &*XX(193)-JVS(1286)*XX(195)-JVS(1293)*XX(196)-JVS(1314)*XX(200)-JVS(1323)*XX(201)-JVS(1331)*XX(202)-JVS(1347)& &*XX(203)-JVS(1360)*XX(204)-JVS(1409)*XX(211)-JVS(1416)*XX(212)-JVS(1424)*XX(213)-JVS(1430)*XX(214)-JVS(1490)& &*XX(219)-JVS(1494)*XX(220)-JVS(1507)*XX(221)-JVS(1539)*XX(225)-JVS(1575)*XX(229)-JVS(1603)*XX(233)-JVS(1614)& &*XX(234)-JVS(1626)*XX(235)-JVS(1640)*XX(236)-JVS(1649)*XX(237)-JVS(1679)*XX(239)-JVS(1690)*XX(240)-JVS(1710)& &*XX(242)-JVS(1781)*XX(247)-JVS(1812)*XX(250)-JVS(1858)*XX(255)-JVS(1880)*XX(256)-JVS(1894)*XX(257)-JVS(1919)& &*XX(259)-JVS(1946)*XX(261)-JVS(1958)*XX(262)-JVS(1992)*XX(263)-JVS(2040)*XX(265)-JVS(2088)*XX(269)-JVS(2133)& &*XX(270)-JVS(2152)*XX(272)-JVS(2165)*XX(273)-JVS(2188)*XX(274)-JVS(2199)*XX(275)-JVS(2204)*XX(276)-JVS(2215)& &*XX(277)-JVS(2230)*XX(278)-JVS(2255)*XX(280)-JVS(2266)*XX(281)-JVS(2304)*XX(282)-JVS(2339)*XX(283)-JVS(2427)& &*XX(287)-JVS(2460)*XX(288)-JVS(2473)*XX(289)-JVS(2480)*XX(290)-JVS(2489)*XX(291)-JVS(2519)*XX(292)-JVS(2533)& &*XX(293)-JVS(2596)*XX(294)-JVS(2628)*XX(295)-JVS(2651)*XX(296)-JVS(2661)*XX(297)-JVS(2716)*XX(298)-JVS(2738)& &*XX(299)-JVS(2750)*XX(300)-JVS(2767)*XX(301)-JVS(2795)*XX(302)-JVS(2821)*XX(303)-JVS(2835)*XX(304)-JVS(2849)& &*XX(305)-JVS(2907)*XX(306)-JVS(2970)*XX(307)-JVS(2990)*XX(308)-JVS(3013)*XX(309)-JVS(3025)*XX(310)-JVS(3037)& &*XX(311)-JVS(3063)*XX(312)-JVS(3091)*XX(313)-JVS(3120)*XX(314)-JVS(3145)*XX(315)-JVS(3189)*XX(318)-JVS(3216)& &*XX(319)-JVS(3231)*XX(320)-JVS(3255)*XX(321)-JVS(3287)*XX(322)-JVS(3311)*XX(323)-JVS(3399)*XX(324)-JVS(3543)& &*XX(325)-JVS(3585)*XX(326)-JVS(3686)*XX(327)-JVS(3761)*XX(328)-JVS(3884)*XX(329)-JVS(3902)*XX(330)-JVS(3931)& &*XX(331)-JVS(3950)*XX(332)-JVS(3981)*XX(333)-JVS(4031)*XX(334)-JVS(4205)*XX(335)-JVS(4306)*XX(336)-JVS(4514)& &*XX(337)-JVS(4569)*XX(338)-JVS(4646)*XX(339)-JVS(4741)*XX(340)-JVS(4818)*XX(341)-JVS(4874)*XX(342)-JVS(4934)& &*XX(343)-JVS(4967)*XX(344)-JVS(5242)*XX(345)-JVS(5363)*XX(346)-JVS(5395)*XX(347)-JVS(5436)*XX(348)-JVS(5462)& &*XX(349)-JVS(5488)*XX(350))/(JVS(5609)) XX(352) = (X(352)-JVS(430)*XX(35)-JVS(1000)*XX(148)-JVS(1057)*XX(157)-JVS(1480)*XX(217)-JVS(1680)*XX(239)-JVS(2662)& &*XX(297)-JVS(3162)*XX(316)-JVS(3175)*XX(317)-JVS(3687)*XX(327)-JVS(3982)*XX(333)-JVS(4032)*XX(334)-JVS(4206)& &*XX(335)-JVS(4307)*XX(336)-JVS(4515)*XX(337)-JVS(4570)*XX(338)-JVS(4647)*XX(339)-JVS(4742)*XX(340)-JVS(4819)& &*XX(341)-JVS(4875)*XX(342)-JVS(4935)*XX(343)-JVS(4968)*XX(344)-JVS(5243)*XX(345)-JVS(5364)*XX(346)-JVS(5396)& &*XX(347)-JVS(5437)*XX(348)-JVS(5463)*XX(349)-JVS(5489)*XX(350)-JVS(5610)*XX(351))/(JVS(5649)) XX(353) = (X(353)-JVS(431)*XX(35)-JVS(772)*XX(104)-JVS(1058)*XX(157)-JVS(1431)*XX(214)-JVS(1681)*XX(239)-JVS(1752)& &*XX(245)-JVS(1826)*XX(252)-JVS(2663)*XX(297)-JVS(3163)*XX(316)-JVS(3176)*XX(317)-JVS(3688)*XX(327)-JVS(3903)& &*XX(330)-JVS(3932)*XX(331)-JVS(3951)*XX(332)-JVS(3983)*XX(333)-JVS(4033)*XX(334)-JVS(4207)*XX(335)-JVS(4308)& &*XX(336)-JVS(4516)*XX(337)-JVS(4571)*XX(338)-JVS(4648)*XX(339)-JVS(4743)*XX(340)-JVS(4820)*XX(341)-JVS(4876)& &*XX(342)-JVS(4936)*XX(343)-JVS(4969)*XX(344)-JVS(5244)*XX(345)-JVS(5365)*XX(346)-JVS(5397)*XX(347)-JVS(5438)& &*XX(348)-JVS(5464)*XX(349)-JVS(5490)*XX(350)-JVS(5611)*XX(351)-JVS(5650)*XX(352))/(JVS(5683)) XX(353) = XX(353) XX(352) = XX(352)-JVS(5682)*XX(353) XX(351) = XX(351)-JVS(5648)*XX(352)-JVS(5681)*XX(353) XX(350) = XX(350)-JVS(5608)*XX(351)-JVS(5647)*XX(352)-JVS(5680)*XX(353) XX(349) = XX(349)-JVS(5486)*XX(350)-JVS(5607)*XX(351)-JVS(5646)*XX(352)-JVS(5679)*XX(353) XX(348) = XX(348)-JVS(5459)*XX(349)-JVS(5485)*XX(350)-JVS(5606)*XX(351)-JVS(5645)*XX(352)-JVS(5678)*XX(353) XX(347) = XX(347)-JVS(5432)*XX(348)-JVS(5458)*XX(349)-JVS(5484)*XX(350)-JVS(5605)*XX(351)-JVS(5644)*XX(352)-JVS(5677)& &*XX(353) XX(346) = XX(346)-JVS(5390)*XX(347)-JVS(5431)*XX(348)-JVS(5457)*XX(349)-JVS(5483)*XX(350)-JVS(5604)*XX(351)-JVS(5643)& &*XX(352)-JVS(5676)*XX(353) XX(345) = XX(345)-JVS(5357)*XX(346)-JVS(5389)*XX(347)-JVS(5430)*XX(348)-JVS(5456)*XX(349)-JVS(5482)*XX(350)-JVS(5603)& &*XX(351)-JVS(5642)*XX(352)-JVS(5675)*XX(353) XX(344) = XX(344)-JVS(5235)*XX(345)-JVS(5356)*XX(346)-JVS(5388)*XX(347)-JVS(5429)*XX(348)-JVS(5455)*XX(349)-JVS(5481)& &*XX(350)-JVS(5602)*XX(351)-JVS(5641)*XX(352)-JVS(5674)*XX(353) XX(343) = XX(343)-JVS(4959)*XX(344)-JVS(5234)*XX(345)-JVS(5355)*XX(346)-JVS(5387)*XX(347)-JVS(5428)*XX(348)-JVS(5454)& &*XX(349)-JVS(5480)*XX(350)-JVS(5601)*XX(351)-JVS(5640)*XX(352)-JVS(5673)*XX(353) XX(342) = XX(342)-JVS(4925)*XX(343)-JVS(4958)*XX(344)-JVS(5233)*XX(345)-JVS(5354)*XX(346)-JVS(5386)*XX(347)-JVS(5427)& &*XX(348)-JVS(5453)*XX(349)-JVS(5479)*XX(350)-JVS(5600)*XX(351)-JVS(5639)*XX(352)-JVS(5672)*XX(353) XX(341) = XX(341)-JVS(4864)*XX(342)-JVS(4924)*XX(343)-JVS(4957)*XX(344)-JVS(5232)*XX(345)-JVS(5353)*XX(346)-JVS(5385)& &*XX(347)-JVS(5426)*XX(348)-JVS(5452)*XX(349)-JVS(5478)*XX(350)-JVS(5599)*XX(351)-JVS(5638)*XX(352)-JVS(5671)& &*XX(353) XX(340) = XX(340)-JVS(4807)*XX(341)-JVS(4863)*XX(342)-JVS(4923)*XX(343)-JVS(4956)*XX(344)-JVS(5231)*XX(345)-JVS(5352)& &*XX(346)-JVS(5384)*XX(347)-JVS(5425)*XX(348)-JVS(5451)*XX(349)-JVS(5477)*XX(350)-JVS(5598)*XX(351)-JVS(5637)& &*XX(352)-JVS(5670)*XX(353) XX(339) = XX(339)-JVS(4729)*XX(340)-JVS(4806)*XX(341)-JVS(4862)*XX(342)-JVS(4922)*XX(343)-JVS(4955)*XX(344)-JVS(5230)& &*XX(345)-JVS(5351)*XX(346)-JVS(5383)*XX(347)-JVS(5424)*XX(348)-JVS(5450)*XX(349)-JVS(5476)*XX(350)-JVS(5597)& &*XX(351)-JVS(5636)*XX(352)-JVS(5669)*XX(353) XX(338) = XX(338)-JVS(4633)*XX(339)-JVS(4728)*XX(340)-JVS(4805)*XX(341)-JVS(4861)*XX(342)-JVS(4921)*XX(343)-JVS(4954)& &*XX(344)-JVS(5229)*XX(345)-JVS(5350)*XX(346)-JVS(5382)*XX(347)-JVS(5423)*XX(348)-JVS(5449)*XX(349)-JVS(5475)& &*XX(350)-JVS(5596)*XX(351)-JVS(5635)*XX(352)-JVS(5668)*XX(353) XX(337) = XX(337)-JVS(4555)*XX(338)-JVS(4632)*XX(339)-JVS(4727)*XX(340)-JVS(4804)*XX(341)-JVS(4860)*XX(342)-JVS(4920)& &*XX(343)-JVS(4953)*XX(344)-JVS(5228)*XX(345)-JVS(5349)*XX(346)-JVS(5381)*XX(347)-JVS(5422)*XX(348)-JVS(5448)& &*XX(349)-JVS(5474)*XX(350)-JVS(5595)*XX(351)-JVS(5634)*XX(352)-JVS(5667)*XX(353) XX(336) = XX(336)-JVS(4499)*XX(337)-JVS(4554)*XX(338)-JVS(4631)*XX(339)-JVS(4726)*XX(340)-JVS(4803)*XX(341)-JVS(4859)& &*XX(342)-JVS(4919)*XX(343)-JVS(4952)*XX(344)-JVS(5227)*XX(345)-JVS(5348)*XX(346)-JVS(5380)*XX(347)-JVS(5421)& &*XX(348)-JVS(5447)*XX(349)-JVS(5473)*XX(350)-JVS(5594)*XX(351)-JVS(5633)*XX(352)-JVS(5666)*XX(353) XX(335) = XX(335)-JVS(4290)*XX(336)-JVS(4498)*XX(337)-JVS(4553)*XX(338)-JVS(4630)*XX(339)-JVS(4725)*XX(340)-JVS(4802)& &*XX(341)-JVS(4858)*XX(342)-JVS(4918)*XX(343)-JVS(4951)*XX(344)-JVS(5226)*XX(345)-JVS(5347)*XX(346)-JVS(5379)& &*XX(347)-JVS(5420)*XX(348)-JVS(5446)*XX(349)-JVS(5472)*XX(350)-JVS(5593)*XX(351)-JVS(5632)*XX(352)-JVS(5665)& &*XX(353) XX(334) = XX(334)-JVS(4188)*XX(335)-JVS(4289)*XX(336)-JVS(4497)*XX(337)-JVS(4552)*XX(338)-JVS(4629)*XX(339)-JVS(4724)& &*XX(340)-JVS(4801)*XX(341)-JVS(4857)*XX(342)-JVS(4917)*XX(343)-JVS(4950)*XX(344)-JVS(5225)*XX(345)-JVS(5346)& &*XX(346)-JVS(5378)*XX(347)-JVS(5419)*XX(348)-JVS(5592)*XX(351)-JVS(5631)*XX(352)-JVS(5664)*XX(353) XX(333) = XX(333)-JVS(4013)*XX(334)-JVS(4288)*XX(336)-JVS(4551)*XX(338)-JVS(4628)*XX(339)-JVS(4723)*XX(340)-JVS(4856)& &*XX(342)-JVS(4916)*XX(343)-JVS(4949)*XX(344)-JVS(5224)*XX(345)-JVS(5418)*XX(348)-JVS(5630)*XX(352)-JVS(5663)& &*XX(353) XX(332) = XX(332)-JVS(3962)*XX(333)-JVS(4187)*XX(335)-JVS(4287)*XX(336)-JVS(4496)*XX(337)-JVS(4550)*XX(338)-JVS(4627)& &*XX(339)-JVS(4722)*XX(340)-JVS(4800)*XX(341)-JVS(4855)*XX(342)-JVS(4915)*XX(343)-JVS(4948)*XX(344)-JVS(5223)& &*XX(345)-JVS(5345)*XX(346)-JVS(5377)*XX(347)-JVS(5417)*XX(348)-JVS(5445)*XX(349)-JVS(5471)*XX(350)-JVS(5591)& &*XX(351)-JVS(5662)*XX(353) XX(331) = XX(331)-JVS(3937)*XX(332)-JVS(3961)*XX(333)-JVS(4186)*XX(335)-JVS(4286)*XX(336)-JVS(4495)*XX(337)-JVS(4549)& &*XX(338)-JVS(4721)*XX(340)-JVS(4799)*XX(341)-JVS(4854)*XX(342)-JVS(4914)*XX(343)-JVS(4947)*XX(344)-JVS(5222)& &*XX(345)-JVS(5344)*XX(346)-JVS(5376)*XX(347)-JVS(5444)*XX(349)-JVS(5470)*XX(350)-JVS(5590)*XX(351)-JVS(5661)& &*XX(353) XX(330) = XX(330)-JVS(3917)*XX(331)-JVS(3936)*XX(332)-JVS(3960)*XX(333)-JVS(4185)*XX(335)-JVS(4285)*XX(336)-JVS(4494)& &*XX(337)-JVS(4548)*XX(338)-JVS(4720)*XX(340)-JVS(4853)*XX(342)-JVS(4913)*XX(343)-JVS(4946)*XX(344)-JVS(5221)& &*XX(345)-JVS(5343)*XX(346)-JVS(5375)*XX(347)-JVS(5443)*XX(349)-JVS(5469)*XX(350)-JVS(5660)*XX(353) XX(329) = XX(329)-JVS(3959)*XX(333)-JVS(4012)*XX(334)-JVS(4184)*XX(335)-JVS(4284)*XX(336)-JVS(4493)*XX(337)-JVS(4547)& &*XX(338)-JVS(4626)*XX(339)-JVS(4719)*XX(340)-JVS(4798)*XX(341)-JVS(4852)*XX(342)-JVS(4912)*XX(343)-JVS(4945)& &*XX(344)-JVS(5220)*XX(345)-JVS(5342)*XX(346)-JVS(5416)*XX(348)-JVS(5589)*XX(351)-JVS(5629)*XX(352)-JVS(5659)& &*XX(353) XX(328) = XX(328)-JVS(3870)*XX(329)-JVS(3958)*XX(333)-JVS(4011)*XX(334)-JVS(4183)*XX(335)-JVS(4283)*XX(336)-JVS(4492)& &*XX(337)-JVS(4546)*XX(338)-JVS(4625)*XX(339)-JVS(4718)*XX(340)-JVS(4797)*XX(341)-JVS(4851)*XX(342)-JVS(4911)& &*XX(343)-JVS(4944)*XX(344)-JVS(5219)*XX(345)-JVS(5341)*XX(346)-JVS(5415)*XX(348)-JVS(5588)*XX(351)-JVS(5628)& &*XX(352)-JVS(5658)*XX(353) XX(327) = XX(327)-JVS(4182)*XX(335)-JVS(4282)*XX(336)-JVS(4624)*XX(339)-JVS(4796)*XX(341)-JVS(4943)*XX(344)-JVS(5218)& &*XX(345)-JVS(5340)*XX(346)-JVS(5414)*XX(348)-JVS(5587)*XX(351)-JVS(5657)*XX(353) XX(326) = XX(326)-JVS(3664)*XX(327)-JVS(3747)*XX(328)-JVS(3869)*XX(329)-JVS(4010)*XX(334)-JVS(4181)*XX(335)-JVS(4281)& &*XX(336)-JVS(4491)*XX(337)-JVS(4545)*XX(338)-JVS(4623)*XX(339)-JVS(4717)*XX(340)-JVS(4795)*XX(341)-JVS(4850)& &*XX(342)-JVS(4910)*XX(343)-JVS(5217)*XX(345)-JVS(5339)*XX(346)-JVS(5413)*XX(348)-JVS(5586)*XX(351)-JVS(5627)& &*XX(352) XX(325) = XX(325)-JVS(3663)*XX(327)-JVS(3868)*XX(329)-JVS(4280)*XX(336)-JVS(4490)*XX(337)-JVS(4622)*XX(339)-JVS(4716)& &*XX(340)-JVS(4794)*XX(341)-JVS(4849)*XX(342)-JVS(4909)*XX(343)-JVS(5216)*XX(345)-JVS(5412)*XX(348)-JVS(5585)& &*XX(351)-JVS(5626)*XX(352) XX(324) = XX(324)-JVS(3526)*XX(325)-JVS(3572)*XX(326)-JVS(3662)*XX(327)-JVS(3746)*XX(328)-JVS(3867)*XX(329)-JVS(4009)& &*XX(334)-JVS(4180)*XX(335)-JVS(4279)*XX(336)-JVS(4489)*XX(337)-JVS(4544)*XX(338)-JVS(4621)*XX(339)-JVS(4715)& &*XX(340)-JVS(4793)*XX(341)-JVS(4848)*XX(342)-JVS(4908)*XX(343)-JVS(5215)*XX(345)-JVS(5338)*XX(346)-JVS(5411)& &*XX(348)-JVS(5584)*XX(351)-JVS(5625)*XX(352) XX(323) = XX(323)-JVS(3388)*XX(324)-JVS(3525)*XX(325)-JVS(3571)*XX(326)-JVS(3661)*XX(327)-JVS(3745)*XX(328)-JVS(3866)& &*XX(329)-JVS(4179)*XX(335)-JVS(4278)*XX(336)-JVS(4488)*XX(337)-JVS(4543)*XX(338)-JVS(4620)*XX(339)-JVS(4714)& &*XX(340)-JVS(4792)*XX(341)-JVS(4847)*XX(342)-JVS(5214)*XX(345)-JVS(5337)*XX(346)-JVS(5583)*XX(351)-JVS(5624)& &*XX(352) XX(322) = XX(322)-JVS(3300)*XX(323)-JVS(3387)*XX(324)-JVS(3524)*XX(325)-JVS(3570)*XX(326)-JVS(3660)*XX(327)-JVS(3744)& &*XX(328)-JVS(3865)*XX(329)-JVS(4178)*XX(335)-JVS(4277)*XX(336)-JVS(4487)*XX(337)-JVS(4542)*XX(338)-JVS(4619)& &*XX(339)-JVS(4713)*XX(340)-JVS(4791)*XX(341)-JVS(5213)*XX(345)-JVS(5336)*XX(346)-JVS(5582)*XX(351) XX(321) = XX(321)-JVS(3275)*XX(322)-JVS(3299)*XX(323)-JVS(3386)*XX(324)-JVS(3523)*XX(325)-JVS(3569)*XX(326)-JVS(3659)& &*XX(327)-JVS(3743)*XX(328)-JVS(3864)*XX(329)-JVS(4177)*XX(335)-JVS(4276)*XX(336)-JVS(4486)*XX(337)-JVS(4541)& &*XX(338)-JVS(4618)*XX(339)-JVS(4712)*XX(340)-JVS(5212)*XX(345)-JVS(5335)*XX(346)-JVS(5581)*XX(351) XX(320) = XX(320)-JVS(3242)*XX(321)-JVS(3274)*XX(322)-JVS(3298)*XX(323)-JVS(3385)*XX(324)-JVS(3522)*XX(325)-JVS(3568)& &*XX(326)-JVS(3658)*XX(327)-JVS(3742)*XX(328)-JVS(3863)*XX(329)-JVS(4176)*XX(335)-JVS(4275)*XX(336)-JVS(4485)& &*XX(337)-JVS(4540)*XX(338)-JVS(4617)*XX(339)-JVS(4711)*XX(340)-JVS(4790)*XX(341)-JVS(4846)*XX(342)-JVS(5211)& &*XX(345)-JVS(5334)*XX(346)-JVS(5580)*XX(351)-JVS(5623)*XX(352) XX(319) = XX(319)-JVS(3221)*XX(320)-JVS(3241)*XX(321)-JVS(3273)*XX(322)-JVS(3297)*XX(323)-JVS(3384)*XX(324)-JVS(3521)& &*XX(325)-JVS(3567)*XX(326)-JVS(3657)*XX(327)-JVS(3741)*XX(328)-JVS(3862)*XX(329)-JVS(4175)*XX(335)-JVS(4274)& &*XX(336)-JVS(4484)*XX(337)-JVS(4539)*XX(338)-JVS(4616)*XX(339)-JVS(4710)*XX(340)-JVS(4845)*XX(342)-JVS(5210)& &*XX(345)-JVS(5333)*XX(346)-JVS(5579)*XX(351)-JVS(5622)*XX(352) XX(318) = XX(318)-JVS(3205)*XX(319)-JVS(3220)*XX(320)-JVS(3240)*XX(321)-JVS(3272)*XX(322)-JVS(3296)*XX(323)-JVS(3383)& &*XX(324)-JVS(3520)*XX(325)-JVS(3566)*XX(326)-JVS(3656)*XX(327)-JVS(3740)*XX(328)-JVS(3861)*XX(329)-JVS(4174)& &*XX(335)-JVS(4273)*XX(336)-JVS(4483)*XX(337)-JVS(4538)*XX(338)-JVS(4615)*XX(339)-JVS(4709)*XX(340)-JVS(4844)& &*XX(342)-JVS(5209)*XX(345)-JVS(5332)*XX(346)-JVS(5578)*XX(351)-JVS(5621)*XX(352) XX(317) = XX(317)-JVS(3655)*XX(327)-JVS(3957)*XX(333)-JVS(4008)*XX(334)-JVS(4173)*XX(335)-JVS(4272)*XX(336)-JVS(4537)& &*XX(338)-JVS(4614)*XX(339)-JVS(4708)*XX(340)-JVS(4843)*XX(342)-JVS(4907)*XX(343)-JVS(4942)*XX(344)-JVS(5208)& &*XX(345)-JVS(5442)*XX(349)-JVS(5468)*XX(350)-JVS(5577)*XX(351)-JVS(5620)*XX(352)-JVS(5656)*XX(353) XX(316) = XX(316)-JVS(4271)*XX(336)-JVS(4613)*XX(339)-JVS(4707)*XX(340)-JVS(4842)*XX(342)-JVS(4906)*XX(343)-JVS(4941)& &*XX(344)-JVS(5207)*XX(345)-JVS(5374)*XX(347)-JVS(5410)*XX(348)-JVS(5441)*XX(349)-JVS(5467)*XX(350)-JVS(5619)& &*XX(352)-JVS(5655)*XX(353) XX(315) = XX(315)-JVS(3382)*XX(324)-JVS(3519)*XX(325)-JVS(3565)*XX(326)-JVS(3739)*XX(328)-JVS(4172)*XX(335)-JVS(4270)& &*XX(336)-JVS(4482)*XX(337)-JVS(4536)*XX(338)-JVS(4612)*XX(339)-JVS(4706)*XX(340)-JVS(5206)*XX(345)-JVS(5331)& &*XX(346) XX(314) = XX(314)-JVS(3128)*XX(315)-JVS(3239)*XX(321)-JVS(3271)*XX(322)-JVS(3295)*XX(323)-JVS(3381)*XX(324)-JVS(3518)& &*XX(325)-JVS(3564)*XX(326)-JVS(3654)*XX(327)-JVS(3738)*XX(328)-JVS(3860)*XX(329)-JVS(4007)*XX(334)-JVS(4171)& &*XX(335)-JVS(4269)*XX(336)-JVS(4481)*XX(337)-JVS(4611)*XX(339)-JVS(4705)*XX(340)-JVS(4789)*XX(341)-JVS(4841)& &*XX(342)-JVS(4905)*XX(343)-JVS(5205)*XX(345)-JVS(5330)*XX(346)-JVS(5409)*XX(348)-JVS(5576)*XX(351)-JVS(5618)& &*XX(352) XX(313) = XX(313)-JVS(3380)*XX(324)-JVS(3517)*XX(325)-JVS(3653)*XX(327)-JVS(3737)*XX(328)-JVS(3859)*XX(329)-JVS(4170)& &*XX(335)-JVS(4268)*XX(336)-JVS(4480)*XX(337)-JVS(4610)*XX(339)-JVS(4704)*XX(340)-JVS(5204)*XX(345)-JVS(5329)& &*XX(346)-JVS(5575)*XX(351) XX(312) = XX(312)-JVS(3516)*XX(325)-JVS(3858)*XX(329)-JVS(4169)*XX(335)-JVS(4267)*XX(336)-JVS(4479)*XX(337)-JVS(4609)& &*XX(339)-JVS(4703)*XX(340)-JVS(4788)*XX(341)-JVS(4904)*XX(343)-JVS(5203)*XX(345)-JVS(5328)*XX(346)-JVS(5408)& &*XX(348)-JVS(5574)*XX(351) XX(311) = XX(311)-JVS(3048)*XX(312)-JVS(3076)*XX(313)-JVS(3111)*XX(314)-JVS(3379)*XX(324)-JVS(3515)*XX(325)-JVS(3652)& &*XX(327)-JVS(3736)*XX(328)-JVS(3857)*XX(329)-JVS(4168)*XX(335)-JVS(4266)*XX(336)-JVS(4478)*XX(337)-JVS(4608)& &*XX(339)-JVS(4702)*XX(340)-JVS(4787)*XX(341)-JVS(5202)*XX(345)-JVS(5327)*XX(346)-JVS(5573)*XX(351) XX(310) = XX(310)-JVS(3028)*XX(311)-JVS(3047)*XX(312)-JVS(3075)*XX(313)-JVS(3110)*XX(314)-JVS(3378)*XX(324)-JVS(3514)& &*XX(325)-JVS(3651)*XX(327)-JVS(3735)*XX(328)-JVS(3856)*XX(329)-JVS(4167)*XX(335)-JVS(4265)*XX(336)-JVS(4477)& &*XX(337)-JVS(4607)*XX(339)-JVS(4701)*XX(340)-JVS(4786)*XX(341)-JVS(5201)*XX(345)-JVS(5326)*XX(346)-JVS(5572)& &*XX(351) XX(309) = XX(309)-JVS(3046)*XX(312)-JVS(3074)*XX(313)-JVS(3377)*XX(324)-JVS(3513)*XX(325)-JVS(3650)*XX(327)-JVS(3734)& &*XX(328)-JVS(3855)*XX(329)-JVS(4166)*XX(335)-JVS(4264)*XX(336)-JVS(4476)*XX(337)-JVS(4606)*XX(339)-JVS(4700)& &*XX(340)-JVS(4785)*XX(341)-JVS(5200)*XX(345)-JVS(5325)*XX(346)-JVS(5571)*XX(351) XX(308) = XX(308)-JVS(3376)*XX(324)-JVS(3512)*XX(325)-JVS(3649)*XX(327)-JVS(3733)*XX(328)-JVS(3854)*XX(329)-JVS(4165)& &*XX(335)-JVS(4263)*XX(336)-JVS(4475)*XX(337)-JVS(4605)*XX(339)-JVS(4699)*XX(340)-JVS(4784)*XX(341)-JVS(5199)& &*XX(345)-JVS(5324)*XX(346)-JVS(5570)*XX(351) XX(307) = XX(307)-JVS(3375)*XX(324)-JVS(3511)*XX(325)-JVS(3648)*XX(327)-JVS(3732)*XX(328)-JVS(3853)*XX(329)-JVS(4262)& &*XX(336)-JVS(4474)*XX(337)-JVS(4604)*XX(339)-JVS(4698)*XX(340)-JVS(5198)*XX(345)-JVS(5569)*XX(351) XX(306) = XX(306)-JVS(3510)*XX(325)-JVS(3647)*XX(327)-JVS(3852)*XX(329)-JVS(4164)*XX(335)-JVS(4261)*XX(336)-JVS(4473)& &*XX(337)-JVS(4603)*XX(339)-JVS(4697)*XX(340)-JVS(4783)*XX(341)-JVS(5197)*XX(345)-JVS(5323)*XX(346)-JVS(5568)& &*XX(351) XX(305) = XX(305)-JVS(2893)*XX(306)-JVS(2953)*XX(307)-JVS(2977)*XX(308)-JVS(3002)*XX(309)-JVS(3073)*XX(313)-JVS(3109)& &*XX(314)-JVS(3374)*XX(324)-JVS(3509)*XX(325)-JVS(3646)*XX(327)-JVS(3731)*XX(328)-JVS(3851)*XX(329)-JVS(4163)& &*XX(335)-JVS(4260)*XX(336)-JVS(4472)*XX(337)-JVS(4602)*XX(339)-JVS(4696)*XX(340)-JVS(5196)*XX(345)-JVS(5322)& &*XX(346)-JVS(5567)*XX(351) XX(304) = XX(304)-JVS(2840)*XX(305)-JVS(2892)*XX(306)-JVS(2952)*XX(307)-JVS(2976)*XX(308)-JVS(3001)*XX(309)-JVS(3072)& &*XX(313)-JVS(3108)*XX(314)-JVS(3373)*XX(324)-JVS(3508)*XX(325)-JVS(3645)*XX(327)-JVS(3730)*XX(328)-JVS(3850)& &*XX(329)-JVS(4162)*XX(335)-JVS(4259)*XX(336)-JVS(4471)*XX(337)-JVS(4601)*XX(339)-JVS(4695)*XX(340)-JVS(5195)& &*XX(345)-JVS(5321)*XX(346)-JVS(5566)*XX(351) XX(303) = XX(303)-JVS(2891)*XX(306)-JVS(2951)*XX(307)-JVS(2975)*XX(308)-JVS(3000)*XX(309)-JVS(3071)*XX(313)-JVS(3107)& &*XX(314)-JVS(3372)*XX(324)-JVS(3507)*XX(325)-JVS(3644)*XX(327)-JVS(3849)*XX(329)-JVS(4161)*XX(335)-JVS(4258)& &*XX(336)-JVS(4470)*XX(337)-JVS(4600)*XX(339)-JVS(4694)*XX(340)-JVS(5194)*XX(345)-JVS(5320)*XX(346)-JVS(5565)& &*XX(351) XX(302) = XX(302)-JVS(2890)*XX(306)-JVS(3371)*XX(324)-JVS(3506)*XX(325)-JVS(3643)*XX(327)-JVS(3848)*XX(329)-JVS(4160)& &*XX(335)-JVS(4257)*XX(336)-JVS(4469)*XX(337)-JVS(4599)*XX(339)-JVS(4693)*XX(340)-JVS(5193)*XX(345)-JVS(5564)& &*XX(351) XX(301) = XX(301)-JVS(2779)*XX(302)-JVS(2889)*XX(306)-JVS(2950)*XX(307)-JVS(2974)*XX(308)-JVS(3070)*XX(313)-JVS(3370)& &*XX(324)-JVS(3505)*XX(325)-JVS(3642)*XX(327)-JVS(3847)*XX(329)-JVS(4159)*XX(335)-JVS(4256)*XX(336)-JVS(4468)& &*XX(337)-JVS(4598)*XX(339)-JVS(4692)*XX(340)-JVS(5192)*XX(345)-JVS(5319)*XX(346)-JVS(5563)*XX(351) XX(300) = XX(300)-JVS(3069)*XX(313)-JVS(3127)*XX(315)-JVS(3204)*XX(319)-JVS(3219)*XX(320)-JVS(3238)*XX(321)-JVS(3270)& &*XX(322)-JVS(3294)*XX(323)-JVS(3369)*XX(324)-JVS(3504)*XX(325)-JVS(3563)*XX(326)-JVS(3641)*XX(327)-JVS(3729)& &*XX(328)-JVS(3846)*XX(329)-JVS(4158)*XX(335)-JVS(4255)*XX(336)-JVS(4467)*XX(337)-JVS(4597)*XX(339)-JVS(4691)& &*XX(340)-JVS(4840)*XX(342)-JVS(5191)*XX(345)-JVS(5318)*XX(346)-JVS(5562)*XX(351)-JVS(5617)*XX(352) XX(299) = XX(299)-JVS(2755)*XX(301)-JVS(2778)*XX(302)-JVS(2810)*XX(303)-JVS(2888)*XX(306)-JVS(2949)*XX(307)-JVS(2999)& &*XX(309)-JVS(3106)*XX(314)-JVS(3368)*XX(324)-JVS(3503)*XX(325)-JVS(3640)*XX(327)-JVS(3845)*XX(329)-JVS(4157)& &*XX(335)-JVS(4466)*XX(337)-JVS(5190)*XX(345)-JVS(5317)*XX(346)-JVS(5561)*XX(351) XX(298) = XX(298)-JVS(3126)*XX(315)-JVS(3237)*XX(321)-JVS(3269)*XX(322)-JVS(3293)*XX(323)-JVS(3639)*XX(327)-JVS(3844)& &*XX(329)-JVS(4254)*XX(336)-JVS(4465)*XX(337)-JVS(5189)*XX(345)-JVS(5560)*XX(351) XX(297) = XX(297)-JVS(3956)*XX(333)-JVS(4006)*XX(334)-JVS(4156)*XX(335)-JVS(4253)*XX(336)-JVS(4535)*XX(338)-JVS(4596)& &*XX(339)-JVS(4690)*XX(340)-JVS(4839)*XX(342)-JVS(4903)*XX(343)-JVS(4940)*XX(344)-JVS(5188)*XX(345)-JVS(5316)& &*XX(346)-JVS(5440)*XX(349)-JVS(5466)*XX(350)-JVS(5616)*XX(352)-JVS(5654)*XX(353) XX(296) = XX(296)-JVS(3125)*XX(315)-JVS(3367)*XX(324)-JVS(3502)*XX(325)-JVS(3562)*XX(326)-JVS(3728)*XX(328)-JVS(4155)& &*XX(335)-JVS(4252)*XX(336)-JVS(4464)*XX(337)-JVS(4534)*XX(338)-JVS(4595)*XX(339)-JVS(4689)*XX(340)-JVS(5187)& &*XX(345)-JVS(5315)*XX(346) XX(295) = XX(295)-JVS(3068)*XX(313)-JVS(3366)*XX(324)-JVS(3727)*XX(328)-JVS(3843)*XX(329)-JVS(4251)*XX(336)-JVS(4594)& &*XX(339)-JVS(4688)*XX(340)-JVS(4838)*XX(342)-JVS(5186)*XX(345)-JVS(5615)*XX(352) XX(294) = XX(294)-JVS(3365)*XX(324)-JVS(3638)*XX(327)-JVS(3842)*XX(329)-JVS(4463)*XX(337)-JVS(5185)*XX(345)-JVS(5559)& &*XX(351) XX(293) = XX(293)-JVS(2571)*XX(294)-JVS(2726)*XX(299)-JVS(2777)*XX(302)-JVS(2809)*XX(303)-JVS(2887)*XX(306)-JVS(2948)& &*XX(307)-JVS(3364)*XX(324)-JVS(3501)*XX(325)-JVS(3637)*XX(327)-JVS(3841)*XX(329)-JVS(4154)*XX(335)-JVS(4462)& &*XX(337)-JVS(5184)*XX(345)-JVS(5314)*XX(346)-JVS(5558)*XX(351) XX(292) = XX(292)-JVS(3124)*XX(315)-JVS(3218)*XX(320)-JVS(3236)*XX(321)-JVS(3268)*XX(322)-JVS(3292)*XX(323)-JVS(3363)& &*XX(324)-JVS(3636)*XX(327)-JVS(3726)*XX(328)-JVS(4250)*XX(336)-JVS(5183)*XX(345)-JVS(5557)*XX(351) XX(291) = XX(291)-JVS(2506)*XX(292)-JVS(2612)*XX(295)-JVS(2638)*XX(296)-JVS(2698)*XX(298)-JVS(2886)*XX(306)-JVS(2947)& &*XX(307)-JVS(3105)*XX(314)-JVS(3362)*XX(324)-JVS(3500)*XX(325)-JVS(3635)*XX(327)-JVS(3725)*XX(328)-JVS(4153)& &*XX(335)-JVS(4249)*XX(336)-JVS(4461)*XX(337)-JVS(4593)*XX(339)-JVS(4687)*XX(340)-JVS(4782)*XX(341)-JVS(5182)& &*XX(345)-JVS(5313)*XX(346)-JVS(5556)*XX(351) XX(290) = XX(290)-JVS(2570)*XX(294)-JVS(2697)*XX(298)-JVS(2946)*XX(307)-JVS(3045)*XX(312)-JVS(3361)*XX(324)-JVS(3499)& &*XX(325)-JVS(3561)*XX(326)-JVS(3724)*XX(328)-JVS(3840)*XX(329)-JVS(4005)*XX(334)-JVS(4152)*XX(335)-JVS(4248)& &*XX(336)-JVS(4460)*XX(337)-JVS(4592)*XX(339)-JVS(4686)*XX(340)-JVS(4781)*XX(341)-JVS(4837)*XX(342)-JVS(4902)& &*XX(343)-JVS(5181)*XX(345)-JVS(5312)*XX(346)-JVS(5407)*XX(348)-JVS(5555)*XX(351)-JVS(5614)*XX(352) XX(289) = XX(289)-JVS(2505)*XX(292)-JVS(2637)*XX(296)-JVS(2696)*XX(298)-JVS(2945)*XX(307)-JVS(3360)*XX(324)-JVS(3498)& &*XX(325)-JVS(3634)*XX(327)-JVS(3723)*XX(328)-JVS(4151)*XX(335)-JVS(4247)*XX(336)-JVS(4459)*XX(337)-JVS(4591)& &*XX(339)-JVS(4685)*XX(340)-JVS(4780)*XX(341)-JVS(5180)*XX(345)-JVS(5311)*XX(346)-JVS(5554)*XX(351) XX(288) = XX(288)-JVS(2569)*XX(294)-JVS(2885)*XX(306)-JVS(3359)*XX(324)-JVS(3497)*XX(325)-JVS(3633)*XX(327)-JVS(3839)& &*XX(329)-JVS(4458)*XX(337)-JVS(5179)*XX(345)-JVS(5553)*XX(351) XX(287) = XX(287)-JVS(2568)*XX(294)-JVS(2944)*XX(307)-JVS(3067)*XX(313)-JVS(3358)*XX(324)-JVS(3496)*XX(325)-JVS(3838)& &*XX(329)-JVS(4246)*XX(336)-JVS(4457)*XX(337)-JVS(5178)*XX(345) XX(286) = XX(286)-JVS(2411)*XX(287)-JVS(2444)*XX(288)-JVS(2567)*XX(294)-JVS(2884)*XX(306)-JVS(2943)*XX(307)-JVS(3357)& &*XX(324)-JVS(3495)*XX(325)-JVS(3632)*XX(327)-JVS(3837)*XX(329)-JVS(4150)*XX(335)-JVS(4456)*XX(337)-JVS(5177)& &*XX(345)-JVS(5310)*XX(346)-JVS(5552)*XX(351) XX(285) = XX(285)-JVS(2384)*XX(286)-JVS(2410)*XX(287)-JVS(2443)*XX(288)-JVS(2566)*XX(294)-JVS(2883)*XX(306)-JVS(2942)& &*XX(307)-JVS(3356)*XX(324)-JVS(3494)*XX(325)-JVS(3631)*XX(327)-JVS(3836)*XX(329)-JVS(4149)*XX(335)-JVS(4455)& &*XX(337)-JVS(5176)*XX(345)-JVS(5309)*XX(346)-JVS(5551)*XX(351) XX(284) = XX(284)-JVS(3887)*XX(330)-JVS(3916)*XX(331)-JVS(3935)*XX(332)-JVS(3955)*XX(333)-JVS(4148)*XX(335)-JVS(4454)& &*XX(337)-JVS(4533)*XX(338)-JVS(4684)*XX(340)-JVS(4836)*XX(342)-JVS(4901)*XX(343)-JVS(5175)*XX(345)-JVS(5308)& &*XX(346)-JVS(5373)*XX(347) XX(283) = XX(283)-JVS(3722)*XX(328)-JVS(4245)*XX(336)-JVS(4590)*XX(339)-JVS(4683)*XX(340)-JVS(5174)*XX(345) XX(282) = XX(282)-JVS(3493)*XX(325)-JVS(4453)*XX(337)-JVS(4589)*XX(339)-JVS(4682)*XX(340)-JVS(5173)*XX(345) XX(281) = XX(281)-JVS(2278)*XX(282)-JVS(2313)*XX(283)-JVS(2504)*XX(292)-JVS(2695)*XX(298)-JVS(2941)*XX(307)-JVS(3044)& &*XX(312)-JVS(3203)*XX(319)-JVS(3355)*XX(324)-JVS(3492)*XX(325)-JVS(3630)*XX(327)-JVS(3721)*XX(328)-JVS(3835)& &*XX(329)-JVS(4147)*XX(335)-JVS(4452)*XX(337)-JVS(4779)*XX(341)-JVS(5172)*XX(345)-JVS(5307)*XX(346)-JVS(5550)& &*XX(351) XX(280) = XX(280)-JVS(2464)*XX(289)-JVS(2503)*XX(292)-JVS(2694)*XX(298)-JVS(2940)*XX(307)-JVS(3354)*XX(324)-JVS(3491)& &*XX(325)-JVS(3629)*XX(327)-JVS(3720)*XX(328)-JVS(4146)*XX(335)-JVS(4451)*XX(337)-JVS(4778)*XX(341)-JVS(5171)& &*XX(345)-JVS(5306)*XX(346)-JVS(5549)*XX(351) XX(279) = XX(279)-JVS(2277)*XX(282)-JVS(2312)*XX(283)-JVS(2502)*XX(292)-JVS(2611)*XX(295)-JVS(2693)*XX(298)-JVS(3123)& &*XX(315)-JVS(3202)*XX(319)-JVS(3235)*XX(321)-JVS(3291)*XX(323)-JVS(3353)*XX(324)-JVS(3490)*XX(325)-JVS(3560)& &*XX(326)-JVS(3719)*XX(328)-JVS(4145)*XX(335)-JVS(4244)*XX(336)-JVS(4450)*XX(337)-JVS(5170)*XX(345)-JVS(5305)& &*XX(346) XX(278) = XX(278)-JVS(2276)*XX(282)-JVS(2501)*XX(292)-JVS(2610)*XX(295)-JVS(2939)*XX(307)-JVS(3267)*XX(322)-JVS(3352)& &*XX(324)-JVS(3489)*XX(325)-JVS(3628)*XX(327)-JVS(3718)*XX(328)-JVS(4144)*XX(335)-JVS(4449)*XX(337)-JVS(5169)& &*XX(345)-JVS(5304)*XX(346)-JVS(5548)*XX(351) XX(277) = XX(277)-JVS(2221)*XX(278)-JVS(2275)*XX(282)-JVS(2311)*XX(283)-JVS(2500)*XX(292)-JVS(2609)*XX(295)-JVS(2938)& &*XX(307)-JVS(3266)*XX(322)-JVS(3351)*XX(324)-JVS(3488)*XX(325)-JVS(3627)*XX(327)-JVS(3717)*XX(328)-JVS(3834)& &*XX(329)-JVS(4143)*XX(335)-JVS(4448)*XX(337)-JVS(4777)*XX(341)-JVS(5168)*XX(345)-JVS(5303)*XX(346)-JVS(5547)& &*XX(351) XX(276) = XX(276)-JVS(2409)*XX(287)-JVS(2442)*XX(288)-JVS(2565)*XX(294)-JVS(2776)*XX(302)-JVS(2825)*XX(304)-JVS(2839)& &*XX(305)-JVS(2882)*XX(306)-JVS(2937)*XX(307)-JVS(2973)*XX(308)-JVS(2998)*XX(309)-JVS(3015)*XX(310)-JVS(3027)& &*XX(311)-JVS(3043)*XX(312)-JVS(3066)*XX(313)-JVS(3104)*XX(314)-JVS(3350)*XX(324)-JVS(3487)*XX(325)-JVS(3626)& &*XX(327)-JVS(3716)*XX(328)-JVS(3833)*XX(329)-JVS(4142)*XX(335)-JVS(4243)*XX(336)-JVS(4447)*XX(337)-JVS(4588)& &*XX(339)-JVS(4681)*XX(340)-JVS(4776)*XX(341)-JVS(4900)*XX(343)-JVS(5167)*XX(345)-JVS(5302)*XX(346)-JVS(5406)& &*XX(348)-JVS(5546)*XX(351) XX(275) = XX(275)-JVS(2274)*XX(282)-JVS(2310)*XX(283)-JVS(2499)*XX(292)-JVS(2608)*XX(295)-JVS(2692)*XX(298)-JVS(2936)& &*XX(307)-JVS(3201)*XX(319)-JVS(3349)*XX(324)-JVS(3486)*XX(325)-JVS(3625)*XX(327)-JVS(3715)*XX(328)-JVS(4141)& &*XX(335)-JVS(4446)*XX(337)-JVS(4775)*XX(341)-JVS(5166)*XX(345)-JVS(5301)*XX(346)-JVS(5545)*XX(351) XX(274) = XX(274)-JVS(2691)*XX(298)-JVS(3200)*XX(319)-JVS(3348)*XX(324)-JVS(3485)*XX(325)-JVS(3714)*XX(328)-JVS(4140)& &*XX(335)-JVS(4445)*XX(337)-JVS(4774)*XX(341)-JVS(5165)*XX(345)-JVS(5300)*XX(346)-JVS(5544)*XX(351) XX(273) = XX(273)-JVS(2177)*XX(274)-JVS(2273)*XX(282)-JVS(2498)*XX(292)-JVS(2607)*XX(295)-JVS(2690)*XX(298)-JVS(2935)& &*XX(307)-JVS(3199)*XX(319)-JVS(3484)*XX(325)-JVS(3624)*XX(327)-JVS(3713)*XX(328)-JVS(4139)*XX(335)-JVS(4444)& &*XX(337)-JVS(5164)*XX(345)-JVS(5299)*XX(346)-JVS(5543)*XX(351) XX(272) = XX(272)-JVS(2176)*XX(274)-JVS(2272)*XX(282)-JVS(2497)*XX(292)-JVS(2689)*XX(298)-JVS(2934)*XX(307)-JVS(3198)& &*XX(319)-JVS(3347)*XX(324)-JVS(3483)*XX(325)-JVS(3623)*XX(327)-JVS(3712)*XX(328)-JVS(4138)*XX(335)-JVS(4443)& &*XX(337)-JVS(5163)*XX(345)-JVS(5298)*XX(346)-JVS(5542)*XX(351) XX(271) = XX(271)-JVS(2408)*XX(287)-JVS(2441)*XX(288)-JVS(2564)*XX(294)-JVS(2725)*XX(299)-JVS(2775)*XX(302)-JVS(2808)& &*XX(303)-JVS(2881)*XX(306)-JVS(2933)*XX(307)-JVS(3065)*XX(313)-JVS(3346)*XX(324)-JVS(3482)*XX(325)-JVS(3622)& &*XX(327)-JVS(3832)*XX(329)-JVS(4137)*XX(335)-JVS(4242)*XX(336)-JVS(4442)*XX(337)-JVS(5162)*XX(345)-JVS(5297)& &*XX(346)-JVS(5541)*XX(351) XX(270) = XX(270)-JVS(3481)*XX(325)-JVS(3621)*XX(327)-JVS(3831)*XX(329)-JVS(4441)*XX(337)-JVS(5161)*XX(345)-JVS(5540)& &*XX(351) XX(269) = XX(269)-JVS(2112)*XX(270)-JVS(2636)*XX(296)-JVS(2688)*XX(298)-JVS(2880)*XX(306)-JVS(3178)*XX(318)-JVS(3265)& &*XX(322)-JVS(3620)*XX(327)-JVS(3830)*XX(329)-JVS(4136)*XX(335)-JVS(4241)*XX(336)-JVS(4440)*XX(337)-JVS(4587)& &*XX(339)-JVS(4680)*XX(340)-JVS(4773)*XX(341)-JVS(5160)*XX(345)-JVS(5296)*XX(346)-JVS(5539)*XX(351) XX(268) = XX(268)-JVS(2111)*XX(270)-JVS(2363)*XX(285)-JVS(2383)*XX(286)-JVS(2407)*XX(287)-JVS(2440)*XX(288)-JVS(2563)& &*XX(294)-JVS(2724)*XX(299)-JVS(2754)*XX(301)-JVS(2807)*XX(303)-JVS(2879)*XX(306)-JVS(2932)*XX(307)-JVS(3345)& &*XX(324)-JVS(3480)*XX(325)-JVS(3619)*XX(327)-JVS(3829)*XX(329)-JVS(4135)*XX(335)-JVS(4439)*XX(337)-JVS(5159)& &*XX(345)-JVS(5295)*XX(346) XX(267) = XX(267)-JVS(2110)*XX(270)-JVS(2362)*XX(285)-JVS(2382)*XX(286)-JVS(2406)*XX(287)-JVS(2439)*XX(288)-JVS(2562)& &*XX(294)-JVS(2723)*XX(299)-JVS(2753)*XX(301)-JVS(2774)*XX(302)-JVS(2806)*XX(303)-JVS(2878)*XX(306)-JVS(2931)& &*XX(307)-JVS(3344)*XX(324)-JVS(3479)*XX(325)-JVS(3618)*XX(327)-JVS(3828)*XX(329)-JVS(4134)*XX(335)-JVS(4438)& &*XX(337)-JVS(5158)*XX(345)-JVS(5294)*XX(346)-JVS(5538)*XX(351) XX(266) = XX(266)-JVS(2405)*XX(287)-JVS(2438)*XX(288)-JVS(2561)*XX(294)-JVS(2877)*XX(306)-JVS(3617)*XX(327)-JVS(3827)& &*XX(329)-JVS(4133)*XX(335)-JVS(4437)*XX(337)-JVS(5157)*XX(345) XX(265) = XX(265)-JVS(4240)*XX(336)-JVS(4436)*XX(337)-JVS(4586)*XX(339)-JVS(4679)*XX(340)-JVS(5156)*XX(345) XX(264) = XX(264)-JVS(4239)*XX(336)-JVS(4435)*XX(337)-JVS(4585)*XX(339)-JVS(4678)*XX(340)-JVS(4899)*XX(343)-JVS(5155)& &*XX(345)-JVS(5405)*XX(348) XX(263) = XX(263)-JVS(3343)*XX(324)-JVS(3478)*XX(325)-JVS(3711)*XX(328)-JVS(4132)*XX(335)-JVS(4434)*XX(337)-JVS(5154)& &*XX(345)-JVS(5293)*XX(346)-JVS(5537)*XX(351) XX(262) = XX(262)-JVS(1979)*XX(263)-JVS(2245)*XX(280)-JVS(2496)*XX(292)-JVS(2606)*XX(295)-JVS(2876)*XX(306)-JVS(3103)& &*XX(314)-JVS(3477)*XX(325)-JVS(4131)*XX(335)-JVS(4433)*XX(337)-JVS(4772)*XX(341)-JVS(5153)*XX(345)-JVS(5536)& &*XX(351) XX(261) = XX(261)-JVS(3342)*XX(324)-JVS(3476)*XX(325)-JVS(3616)*XX(327)-JVS(3826)*XX(329)-JVS(4130)*XX(335)-JVS(4432)& &*XX(337)-JVS(5152)*XX(345)-JVS(5535)*XX(351) XX(260) = XX(260)-JVS(2271)*XX(282)-JVS(2309)*XX(283)-JVS(2687)*XX(298)-JVS(2930)*XX(307)-JVS(3341)*XX(324)-JVS(3475)& &*XX(325)-JVS(3559)*XX(326)-JVS(3710)*XX(328)-JVS(4129)*XX(335)-JVS(4431)*XX(337)-JVS(5151)*XX(345)-JVS(5292)& &*XX(346) XX(259) = XX(259)-JVS(2019)*XX(265)-JVS(2560)*XX(294)-JVS(2929)*XX(307)-JVS(3340)*XX(324)-JVS(3474)*XX(325)-JVS(3709)& &*XX(328)-JVS(3825)*XX(329)-JVS(4128)*XX(335)-JVS(4430)*XX(337)-JVS(4771)*XX(341)-JVS(5150)*XX(345)-JVS(5291)& &*XX(346)-JVS(5534)*XX(351) XX(258) = XX(258)-JVS(2109)*XX(270)-JVS(2404)*XX(287)-JVS(2559)*XX(294)-JVS(2875)*XX(306)-JVS(2928)*XX(307)-JVS(3339)& &*XX(324)-JVS(3473)*XX(325)-JVS(3824)*XX(329)-JVS(4429)*XX(337)-JVS(5149)*XX(345) XX(257) = XX(257)-JVS(2220)*XX(278)-JVS(3338)*XX(324)-JVS(3472)*XX(325)-JVS(3708)*XX(328)-JVS(4127)*XX(335)-JVS(4428)& &*XX(337)-JVS(4770)*XX(341)-JVS(5148)*XX(345)-JVS(5290)*XX(346)-JVS(5533)*XX(351) XX(256) = XX(256)-JVS(2495)*XX(292)-JVS(2927)*XX(307)-JVS(3615)*XX(327)-JVS(4126)*XX(335)-JVS(5147)*XX(345)-JVS(5532)& &*XX(351) XX(255) = XX(255)-JVS(1864)*XX(256)-JVS(1978)*XX(263)-JVS(2175)*XX(274)-JVS(3042)*XX(312)-JVS(3471)*XX(325)-JVS(3823)& &*XX(329)-JVS(4125)*XX(335)-JVS(4427)*XX(337)-JVS(4769)*XX(341)-JVS(5146)*XX(345)-JVS(5531)*XX(351) XX(254) = XX(254)-JVS(2437)*XX(288)-JVS(2558)*XX(294)-JVS(2773)*XX(302)-JVS(2874)*XX(306)-JVS(3337)*XX(324)-JVS(3470)& &*XX(325)-JVS(3822)*XX(329)-JVS(4124)*XX(335)-JVS(4426)*XX(337)-JVS(5145)*XX(345)-JVS(5289)*XX(346) XX(253) = XX(253)-JVS(2403)*XX(287)-JVS(2557)*XX(294)-JVS(2926)*XX(307)-JVS(2972)*XX(308)-JVS(3469)*XX(325)-JVS(3614)& &*XX(327)-JVS(3821)*XX(329)-JVS(4123)*XX(335)-JVS(4425)*XX(337)-JVS(5144)*XX(345)-JVS(5288)*XX(346) XX(252) = XX(252)-JVS(3886)*XX(330)-JVS(3915)*XX(331)-JVS(3934)*XX(332)-JVS(4122)*XX(335)-JVS(4238)*XX(336)-JVS(4677)& &*XX(340)-JVS(4835)*XX(342)-JVS(4939)*XX(344)-JVS(5143)*XX(345)-JVS(5287)*XX(346)-JVS(5439)*XX(349)-JVS(5465)& &*XX(350)-JVS(5530)*XX(351)-JVS(5653)*XX(353) XX(251) = XX(251)-JVS(2494)*XX(292)-JVS(2605)*XX(295)-JVS(2686)*XX(298)-JVS(3122)*XX(315)-JVS(3177)*XX(318)-JVS(3234)& &*XX(321)-JVS(3290)*XX(323)-JVS(3558)*XX(326)-JVS(3613)*XX(327)-JVS(3707)*XX(328)-JVS(4121)*XX(335)-JVS(4237)& &*XX(336)-JVS(4424)*XX(337)-JVS(5142)*XX(345) XX(250) = XX(250)-JVS(2270)*XX(282)-JVS(2308)*XX(283)-JVS(2556)*XX(294)-JVS(2685)*XX(298)-JVS(3336)*XX(324)-JVS(3468)& &*XX(325)-JVS(3557)*XX(326)-JVS(3706)*XX(328)-JVS(4120)*XX(335)-JVS(4423)*XX(337)-JVS(5141)*XX(345)-JVS(5286)& &*XX(346) XX(249) = XX(249)-JVS(2231)*XX(279)-JVS(2269)*XX(282)-JVS(2307)*XX(283)-JVS(2684)*XX(298)-JVS(3197)*XX(319)-JVS(3335)& &*XX(324)-JVS(3467)*XX(325)-JVS(3556)*XX(326)-JVS(3705)*XX(328)-JVS(4119)*XX(335)-JVS(4422)*XX(337)-JVS(5140)& &*XX(345)-JVS(5285)*XX(346) XX(248) = XX(248)-JVS(2925)*XX(307)-JVS(2971)*XX(308)-JVS(3612)*XX(327)-JVS(3820)*XX(329)-JVS(4118)*XX(335)-JVS(4421)& &*XX(337)-JVS(5139)*XX(345) XX(247) = XX(247)-JVS(2555)*XX(294)-JVS(3334)*XX(324)-JVS(3466)*XX(325)-JVS(4117)*XX(335)-JVS(5138)*XX(345) XX(246) = XX(246)-JVS(2268)*XX(282)-JVS(2635)*XX(296)-JVS(2873)*XX(306)-JVS(3264)*XX(322)-JVS(3465)*XX(325)-JVS(3555)& &*XX(326)-JVS(3704)*XX(328)-JVS(3819)*XX(329)-JVS(4116)*XX(335)-JVS(4236)*XX(336)-JVS(4420)*XX(337)-JVS(4768)& &*XX(341)-JVS(5137)*XX(345)-JVS(5284)*XX(346)-JVS(5529)*XX(351) XX(245) = XX(245)-JVS(3954)*XX(333)-JVS(4004)*XX(334)-JVS(4532)*XX(338)-JVS(4676)*XX(340)-JVS(4898)*XX(343)-JVS(5136)& &*XX(345) XX(244) = XX(244)-JVS(2554)*XX(294)-JVS(3064)*XX(313)-JVS(3333)*XX(324)-JVS(3464)*XX(325)-JVS(4235)*XX(336)-JVS(5135)& &*XX(345) XX(243) = XX(243)-JVS(1899)*XX(258)-JVS(2046)*XX(266)-JVS(2924)*XX(307)-JVS(3332)*XX(324)-JVS(3463)*XX(325)-JVS(3818)& &*XX(329)-JVS(4115)*XX(335)-JVS(4419)*XX(337)-JVS(5134)*XX(345)-JVS(5283)*XX(346) XX(242) = XX(242)-JVS(2683)*XX(298)-JVS(2923)*XX(307)-JVS(3611)*XX(327)-JVS(4114)*XX(335)-JVS(4767)*XX(341)-JVS(5133)& &*XX(345)-JVS(5528)*XX(351) XX(241) = XX(241)-JVS(1993)*XX(264)-JVS(2306)*XX(283)-JVS(3554)*XX(326)-JVS(3817)*XX(329)-JVS(4113)*XX(335)-JVS(4234)& &*XX(336)-JVS(5132)*XX(345)-JVS(5282)*XX(346)-JVS(5404)*XX(348)-JVS(5527)*XX(351) XX(240) = XX(240)-JVS(2634)*XX(296)-JVS(3263)*XX(322)-JVS(3331)*XX(324)-JVS(3462)*XX(325)-JVS(3553)*XX(326)-JVS(3703)& &*XX(328)-JVS(3816)*XX(329)-JVS(4112)*XX(335)-JVS(4233)*XX(336)-JVS(4418)*XX(337)-JVS(4766)*XX(341)-JVS(5131)& &*XX(345)-JVS(5281)*XX(346) XX(239) = XX(239)-JVS(4111)*XX(335)-JVS(4232)*XX(336)-JVS(5130)*XX(345)-JVS(5280)*XX(346) XX(238) = XX(238)-JVS(2361)*XX(285)-JVS(2381)*XX(286)-JVS(2402)*XX(287)-JVS(2436)*XX(288)-JVS(2553)*XX(294)-JVS(3815)& &*XX(329)-JVS(4417)*XX(337)-JVS(5129)*XX(345) XX(237) = XX(237)-JVS(1863)*XX(256)-JVS(1977)*XX(263)-JVS(2143)*XX(272)-JVS(2174)*XX(274)-JVS(4110)*XX(335)-JVS(4765)& &*XX(341)-JVS(5128)*XX(345)-JVS(5526)*XX(351) XX(236) = XX(236)-JVS(2080)*XX(269)-JVS(3461)*XX(325)-JVS(3702)*XX(328)-JVS(4109)*XX(335)-JVS(4416)*XX(337)-JVS(4764)& &*XX(341)-JVS(5127)*XX(345)-JVS(5279)*XX(346)-JVS(5525)*XX(351) XX(235) = XX(235)-JVS(1632)*XX(236)-JVS(2079)*XX(269)-JVS(3460)*XX(325)-JVS(3701)*XX(328)-JVS(4108)*XX(335)-JVS(4415)& &*XX(337)-JVS(4763)*XX(341)-JVS(5126)*XX(345)-JVS(5278)*XX(346) XX(234) = XX(234)-JVS(2267)*XX(282)-JVS(2872)*XX(306)-JVS(3459)*XX(325)-JVS(3700)*XX(328)-JVS(4107)*XX(335)-JVS(4414)& &*XX(337)-JVS(5125)*XX(345)-JVS(5277)*XX(346)-JVS(5524)*XX(351) XX(233) = XX(233)-JVS(1606)*XX(234)-JVS(2108)*XX(270)-JVS(2871)*XX(306)-JVS(3041)*XX(312)-JVS(3458)*XX(325)-JVS(3814)& &*XX(329)-JVS(4106)*XX(335)-JVS(4413)*XX(337)-JVS(4762)*XX(341)-JVS(5124)*XX(345)-JVS(5276)*XX(346)-JVS(5523)& &*XX(351) XX(232) = XX(232)-JVS(1898)*XX(258)-JVS(2107)*XX(270)-JVS(2401)*XX(287)-JVS(2435)*XX(288)-JVS(2552)*XX(294)-JVS(2805)& &*XX(303)-JVS(2870)*XX(306)-JVS(2922)*XX(307)-JVS(4105)*XX(335)-JVS(4412)*XX(337)-JVS(5123)*XX(345)-JVS(5275)& &*XX(346) XX(231) = XX(231)-JVS(1784)*XX(248)-JVS(1828)*XX(253)-JVS(2018)*XX(265)-JVS(2106)*XX(270)-JVS(2400)*XX(287)-JVS(2551)& &*XX(294)-JVS(2921)*XX(307)-JVS(2997)*XX(309)-JVS(3330)*XX(324)-JVS(3457)*XX(325)-JVS(3813)*XX(329)-JVS(4104)& &*XX(335)-JVS(4411)*XX(337)-JVS(5122)*XX(345)-JVS(5274)*XX(346) XX(230) = XX(230)-JVS(1839)*XX(254)-JVS(2017)*XX(265)-JVS(2105)*XX(270)-JVS(2434)*XX(288)-JVS(2550)*XX(294)-JVS(2772)& &*XX(302)-JVS(2920)*XX(307)-JVS(3102)*XX(314)-JVS(3329)*XX(324)-JVS(3456)*XX(325)-JVS(3812)*XX(329)-JVS(4103)& &*XX(335)-JVS(4410)*XX(337)-JVS(5121)*XX(345)-JVS(5273)*XX(346) XX(229) = XX(229)-JVS(1949)*XX(262)-JVS(1976)*XX(263)-JVS(2244)*XX(280)-JVS(2604)*XX(295)-JVS(2682)*XX(298)-JVS(3101)& &*XX(314)-JVS(3455)*XX(325)-JVS(4102)*XX(335)-JVS(4409)*XX(337)-JVS(4761)*XX(341)-JVS(5120)*XX(345)-JVS(5522)& &*XX(351) XX(228) = XX(228)-JVS(3454)*XX(325)-JVS(3699)*XX(328)-JVS(4003)*XX(334)-JVS(4231)*XX(336)-JVS(4408)*XX(337)-JVS(4584)& &*XX(339)-JVS(4675)*XX(340)-JVS(4760)*XX(341)-JVS(4897)*XX(343)-JVS(5119)*XX(345) XX(227) = XX(227)-JVS(2104)*XX(270)-JVS(2549)*XX(294)-JVS(3328)*XX(324)-JVS(3811)*XX(329)-JVS(4407)*XX(337) XX(226) = XX(226)-JVS(1725)*XX(244)-JVS(1765)*XX(247)-JVS(1933)*XX(261)-JVS(2045)*XX(266)-JVS(2103)*XX(270)-JVS(2722)& &*XX(299)-JVS(2771)*XX(302)-JVS(2804)*XX(303)-JVS(3453)*XX(325)-JVS(3610)*XX(327)-JVS(3810)*XX(329)-JVS(4101)& &*XX(335)-JVS(4406)*XX(337)-JVS(5118)*XX(345)-JVS(5272)*XX(346) XX(225) = XX(225)-JVS(1884)*XX(257)-JVS(2219)*XX(278)-JVS(3609)*XX(327)-JVS(3809)*XX(329)-JVS(4405)*XX(337)-JVS(5117)& &*XX(345)-JVS(5521)*XX(351) XX(224) = XX(224)-JVS(1724)*XX(244)-JVS(1897)*XX(258)-JVS(2102)*XX(270)-JVS(2399)*XX(287)-JVS(2433)*XX(288)-JVS(2548)& &*XX(294)-JVS(2803)*XX(303)-JVS(2869)*XX(306)-JVS(2919)*XX(307)-JVS(3452)*XX(325)-JVS(4100)*XX(335)-JVS(4404)& &*XX(337)-JVS(5116)*XX(345)-JVS(5271)*XX(346) XX(223) = XX(223)-JVS(1896)*XX(258)-JVS(2101)*XX(270)-JVS(2398)*XX(287)-JVS(2432)*XX(288)-JVS(2547)*XX(294)-JVS(2802)& &*XX(303)-JVS(2868)*XX(306)-JVS(2918)*XX(307)-JVS(3451)*XX(325)-JVS(3808)*XX(329)-JVS(4099)*XX(335)-JVS(4403)& &*XX(337)-JVS(5115)*XX(345)-JVS(5270)*XX(346) XX(222) = XX(222)-JVS(2134)*XX(271)-JVS(2522)*XX(293)-JVS(2801)*XX(303)-JVS(2996)*XX(309)-JVS(3014)*XX(310)-JVS(3100)& &*XX(314)-JVS(3450)*XX(325)-JVS(3608)*XX(327)-JVS(4098)*XX(335)-JVS(4402)*XX(337)-JVS(5114)*XX(345) XX(221) = XX(221)-JVS(2016)*XX(265)-JVS(2100)*XX(270)-JVS(2633)*XX(296)-JVS(2681)*XX(298)-JVS(2867)*XX(306)-JVS(3262)& &*XX(322)-JVS(3807)*XX(329)-JVS(4230)*XX(336)-JVS(4401)*XX(337)-JVS(4759)*XX(341)-JVS(5113)*XX(345) XX(220) = XX(220)-JVS(1502)*XX(221)-JVS(1618)*XX(235)-JVS(1631)*XX(236)-JVS(1975)*XX(263)-JVS(2078)*XX(269)-JVS(2099)& &*XX(270)-JVS(2866)*XX(306)-JVS(3040)*XX(312)-JVS(3449)*XX(325)-JVS(3607)*XX(327)-JVS(3806)*XX(329)-JVS(4097)& &*XX(335)-JVS(4229)*XX(336)-JVS(4400)*XX(337)-JVS(4758)*XX(341)-JVS(5112)*XX(345)-JVS(5269)*XX(346)-JVS(5520)& &*XX(351) XX(219) = XX(219)-JVS(1948)*XX(262)-JVS(1974)*XX(263)-JVS(2191)*XX(275)-JVS(2207)*XX(277)-JVS(2243)*XX(280)-JVS(2258)& &*XX(281)-JVS(2463)*XX(289)-JVS(2481)*XX(291)-JVS(2493)*XX(292)-JVS(2603)*XX(295)-JVS(2680)*XX(298)-JVS(3099)& &*XX(314)-JVS(3217)*XX(320)-JVS(3448)*XX(325)-JVS(4399)*XX(337)-JVS(4757)*XX(341)-JVS(5111)*XX(345)-JVS(5519)& &*XX(351) XX(218) = XX(218)-JVS(3147)*XX(316)-JVS(3606)*XX(327)-JVS(4096)*XX(335)-JVS(4228)*XX(336)-JVS(4583)*XX(339)-JVS(4674)& &*XX(340)-JVS(4834)*XX(342)-JVS(5110)*XX(345)-JVS(5372)*XX(347)-JVS(5518)*XX(351) XX(217) = XX(217)-JVS(4227)*XX(336)-JVS(4398)*XX(337)-JVS(4756)*XX(341)-JVS(4896)*XX(343)-JVS(5109)*XX(345) XX(216) = XX(216)-JVS(1764)*XX(247)-JVS(3605)*XX(327)-JVS(3805)*XX(329)-JVS(4397)*XX(337)-JVS(5108)*XX(345) XX(215) = XX(215)-JVS(2546)*XX(294)-JVS(2917)*XX(307)-JVS(3447)*XX(325)-JVS(3804)*XX(329) XX(214) = XX(214)-JVS(2652)*XX(297)-JVS(3604)*XX(327)-JVS(4095)*XX(335)-JVS(4226)*XX(336)-JVS(4582)*XX(339)-JVS(4938)& &*XX(344)-JVS(5517)*XX(351)-JVS(5652)*XX(353) XX(213) = XX(213)-JVS(3446)*XX(325)-JVS(3803)*XX(329)-JVS(4094)*XX(335)-JVS(4396)*XX(337)-JVS(4755)*XX(341)-JVS(5107)& &*XX(345)-JVS(5268)*XX(346)-JVS(5516)*XX(351) XX(212) = XX(212)-JVS(1597)*XX(233)-JVS(2679)*XX(298)-JVS(2865)*XX(306)-JVS(3445)*XX(325)-JVS(3802)*XX(329)-JVS(4093)& &*XX(335)-JVS(4395)*XX(337)-JVS(5106)*XX(345)-JVS(5267)*XX(346) XX(211) = XX(211)-JVS(1862)*XX(256)-JVS(1973)*XX(263)-JVS(2142)*XX(272)-JVS(2173)*XX(274)-JVS(3444)*XX(325)-JVS(4092)& &*XX(335)-JVS(4754)*XX(341)-JVS(5105)*XX(345)-JVS(5515)*XX(351) XX(210) = XX(210)-JVS(2098)*XX(270)-JVS(3443)*XX(325)-JVS(3801)*XX(329)-JVS(4394)*XX(337)-JVS(5104)*XX(345) XX(209) = XX(209)-JVS(1393)*XX(210)-JVS(1443)*XX(215)-JVS(1515)*XX(223)-JVS(1576)*XX(230)-JVS(1651)*XX(238)-JVS(1714)& &*XX(243)-JVS(2431)*XX(288)-JVS(2545)*XX(294)-JVS(2838)*XX(305)-JVS(3098)*XX(314)-JVS(3327)*XX(324)-JVS(3442)& &*XX(325)-JVS(3800)*XX(329)-JVS(4393)*XX(337)-JVS(5103)*XX(345) XX(208) = XX(208)-JVS(3326)*XX(324)-JVS(3441)*XX(325)-JVS(3799)*XX(329)-JVS(4392)*XX(337)-JVS(5102)*XX(345) XX(207) = XX(207)-JVS(1932)*XX(261)-JVS(2044)*XX(266)-JVS(2721)*XX(299)-JVS(2770)*XX(302)-JVS(2800)*XX(303)-JVS(2916)& &*XX(307)-JVS(3440)*XX(325)-JVS(4091)*XX(335)-JVS(4391)*XX(337)-JVS(5101)*XX(345)-JVS(5266)*XX(346) XX(206) = XX(206)-JVS(1457)*XX(216)-JVS(1763)*XX(247)-JVS(2043)*XX(266)-JVS(2720)*XX(299)-JVS(2799)*XX(303)-JVS(2864)& &*XX(306)-JVS(3439)*XX(325)-JVS(4090)*XX(335)-JVS(4390)*XX(337)-JVS(5100)*XX(345)-JVS(5265)*XX(346) XX(205) = XX(205)-JVS(1783)*XX(248)-JVS(2042)*XX(266)-JVS(2719)*XX(299)-JVS(2798)*XX(303)-JVS(2863)*XX(306)-JVS(2915)& &*XX(307)-JVS(3438)*XX(325)-JVS(4089)*XX(335)-JVS(4389)*XX(337)-JVS(5099)*XX(345)-JVS(5264)*XX(346) XX(204) = XX(204)-JVS(1617)*XX(235)-JVS(1630)*XX(236)-JVS(3603)*XX(327)-JVS(3798)*XX(329)-JVS(4388)*XX(337)-JVS(5098)& &*XX(345)-JVS(5514)*XX(351) XX(203) = XX(203)-JVS(1629)*XX(236)-JVS(2077)*XX(269)-JVS(4088)*XX(335)-JVS(4753)*XX(341) XX(202) = XX(202)-JVS(1336)*XX(203)-JVS(1501)*XX(221)-JVS(1972)*XX(263)-JVS(2076)*XX(269)-JVS(2862)*XX(306)-JVS(3602)& &*XX(327)-JVS(4387)*XX(337)-JVS(4752)*XX(341)-JVS(5097)*XX(345)-JVS(5513)*XX(351) XX(201) = XX(201)-JVS(2015)*XX(265)-JVS(2305)*XX(283)-JVS(2544)*XX(294)-JVS(2632)*XX(296)-JVS(2678)*XX(298)-JVS(2741)& &*XX(300)-JVS(2861)*XX(306)-JVS(3261)*XX(322)-JVS(3797)*XX(329)-JVS(4225)*XX(336)-JVS(4386)*XX(337)-JVS(4751)& &*XX(341)-JVS(5096)*XX(345) XX(200) = XX(200)-JVS(1319)*XX(201)-JVS(1326)*XX(202)-JVS(1335)*XX(203)-JVS(1353)*XX(204)-JVS(1500)*XX(221)-JVS(1684)& &*XX(240)-JVS(1971)*XX(263)-JVS(2075)*XX(269)-JVS(2097)*XX(270)-JVS(2543)*XX(294)-JVS(2631)*XX(296)-JVS(3325)& &*XX(324)-JVS(3437)*XX(325)-JVS(3601)*XX(327)-JVS(3796)*XX(329)-JVS(4087)*XX(335)-JVS(4224)*XX(336)-JVS(4385)& &*XX(337)-JVS(5095)*XX(345)-JVS(5263)*XX(346)-JVS(5512)*XX(351) XX(199) = XX(199)-JVS(1442)*XX(215)-JVS(1522)*XX(224)-JVS(1582)*XX(231)-JVS(1650)*XX(238)-JVS(1713)*XX(243)-JVS(1723)& &*XX(244)-JVS(2397)*XX(287)-JVS(2542)*XX(294)-JVS(2824)*XX(304)-JVS(2995)*XX(309)-JVS(3436)*XX(325)-JVS(3795)& &*XX(329)-JVS(4384)*XX(337)-JVS(5094)*XX(345) XX(198) = XX(198)-JVS(2096)*XX(270)-JVS(2396)*XX(287)-JVS(2430)*XX(288)-JVS(2541)*XX(294)-JVS(2860)*XX(306)-JVS(2914)& &*XX(307)-JVS(4383)*XX(337)-JVS(5093)*XX(345) XX(197) = XX(197)-JVS(2859)*XX(306)-JVS(3435)*XX(325)-JVS(3794)*XX(329)-JVS(4086)*XX(335)-JVS(4382)*XX(337)-JVS(5092)& &*XX(345)-JVS(5262)*XX(346)-JVS(5511)*XX(351) XX(196) = XX(196)-JVS(2677)*XX(298)-JVS(3260)*XX(322)-JVS(3324)*XX(324)-JVS(3434)*XX(325)-JVS(3552)*XX(326)-JVS(4085)& &*XX(335)-JVS(4223)*XX(336)-JVS(4381)*XX(337)-JVS(5091)*XX(345)-JVS(5261)*XX(346) XX(195) = XX(195)-JVS(1325)*XX(202)-JVS(1334)*XX(203)-JVS(1499)*XX(221)-JVS(1970)*XX(263)-JVS(2074)*XX(269)-JVS(2095)& &*XX(270)-JVS(3600)*XX(327)-JVS(4380)*XX(337)-JVS(5090)*XX(345)-JVS(5510)*XX(351) XX(194) = XX(194)-JVS(1549)*XX(227)-JVS(2014)*XX(265)-JVS(2094)*XX(270)-JVS(2540)*XX(294)-JVS(3323)*XX(324)-JVS(3793)& &*XX(329)-JVS(4379)*XX(337)-JVS(5089)*XX(345) XX(193) = XX(193)-JVS(1699)*XX(242)-JVS(1947)*XX(262)-JVS(1969)*XX(263)-JVS(2242)*XX(280)-JVS(4084)*XX(335)-JVS(4750)& &*XX(341)-JVS(5088)*XX(345)-JVS(5509)*XX(351) XX(192) = XX(192)-JVS(1441)*XX(215)-JVS(1521)*XX(224)-JVS(1589)*XX(232)-JVS(1712)*XX(243)-JVS(2360)*XX(285)-JVS(2380)& &*XX(286)-JVS(2395)*XX(287)-JVS(2823)*XX(304)-JVS(2994)*XX(309)-JVS(3433)*XX(325)-JVS(3792)*XX(329)-JVS(4378)& &*XX(337)-JVS(5087)*XX(345) XX(191) = XX(191)-JVS(1530)*XX(225)-JVS(2156)*XX(273)-JVS(2190)*XX(275)-JVS(2206)*XX(277)-JVS(2241)*XX(280)-JVS(2257)& &*XX(281)-JVS(2462)*XX(289)-JVS(3039)*XX(312)-JVS(3432)*XX(325)-JVS(3791)*XX(329)-JVS(4749)*XX(341)-JVS(5086)& &*XX(345)-JVS(5508)*XX(351) XX(190) = XX(190)-JVS(2041)*XX(266)-JVS(2718)*XX(299)-JVS(2769)*XX(302)-JVS(2797)*XX(303)-JVS(3431)*XX(325)-JVS(4083)& &*XX(335)-JVS(4377)*XX(337)-JVS(5085)*XX(345)-JVS(5260)*XX(346) XX(189) = XX(189)-JVS(1352)*XX(204)-JVS(4082)*XX(335)-JVS(4222)*XX(336)-JVS(4376)*XX(337)-JVS(5084)*XX(345)-JVS(5259)& &*XX(346) XX(188) = XX(188)-JVS(2676)*XX(298)-JVS(4375)*XX(337)-JVS(5083)*XX(345) XX(187) = XX(187)-JVS(1440)*XX(215)-JVS(1514)*XX(223)-JVS(1588)*XX(232)-JVS(2359)*XX(285)-JVS(2379)*XX(286)-JVS(2429)& &*XX(288)-JVS(2837)*XX(305)-JVS(3097)*XX(314)-JVS(3430)*XX(325)-JVS(3790)*XX(329)-JVS(4374)*XX(337)-JVS(5082)& &*XX(345) XX(186) = XX(186)-JVS(1439)*XX(215)-JVS(1540)*XX(226)-JVS(2521)*XX(293)-JVS(2752)*XX(301)-JVS(2796)*XX(303)-JVS(2822)& &*XX(304)-JVS(2836)*XX(305)-JVS(3026)*XX(311)-JVS(3599)*XX(327)-JVS(4081)*XX(335)-JVS(4373)*XX(337)-JVS(5081)& &*XX(345) XX(185) = XX(185)-JVS(2093)*XX(270)-JVS(2539)*XX(294)-JVS(3322)*XX(324)-JVS(3789)*XX(329)-JVS(4372)*XX(337)-JVS(5080)& &*XX(345) XX(184) = XX(184)-JVS(1911)*XX(259)-JVS(2013)*XX(265)-JVS(2538)*XX(294)-JVS(2913)*XX(307)-JVS(3321)*XX(324)-JVS(3788)& &*XX(329)-JVS(4080)*XX(335)-JVS(5079)*XX(345)-JVS(5507)*XX(351) XX(183) = XX(183)-JVS(2630)*XX(296)-JVS(3598)*XX(327)-JVS(4221)*XX(336)-JVS(4581)*XX(339)-JVS(4673)*XX(340)-JVS(4833)& &*XX(342)-JVS(5078)*XX(345)-JVS(5506)*XX(351)-JVS(5613)*XX(352) XX(182) = XX(182)-JVS(1762)*XX(247)-JVS(1931)*XX(261)-JVS(3787)*XX(329)-JVS(4079)*XX(335)-JVS(4371)*XX(337)-JVS(5077)& &*XX(345)-JVS(5258)*XX(346) XX(181) = XX(181)-JVS(1469)*XX(217)-JVS(3698)*XX(328)-JVS(3786)*XX(329)-JVS(4002)*XX(334)-JVS(4220)*XX(336)-JVS(4370)& &*XX(337)-JVS(4531)*XX(338)-JVS(4580)*XX(339)-JVS(4672)*XX(340)-JVS(4895)*XX(343)-JVS(5076)*XX(345) XX(180) = XX(180)-JVS(1761)*XX(247)-JVS(1930)*XX(261)-JVS(2717)*XX(299)-JVS(2858)*XX(306)-JVS(4078)*XX(335)-JVS(4369)& &*XX(337)-JVS(5075)*XX(345)-JVS(5257)*XX(346) XX(179) = XX(179)-JVS(1664)*XX(239)-JVS(3597)*XX(327)-JVS(4077)*XX(335)-JVS(4579)*XX(339)-JVS(4748)*XX(341)-JVS(5074)& &*XX(345)-JVS(5403)*XX(348)-JVS(5651)*XX(353) XX(178) = XX(178)-JVS(1288)*XX(196)-JVS(2492)*XX(292)-JVS(2675)*XX(298)-JVS(3196)*XX(319)-JVS(4076)*XX(335)-JVS(4368)& &*XX(337)-JVS(5073)*XX(345)-JVS(5256)*XX(346) XX(177) = XX(177)-JVS(1861)*XX(256)-JVS(2172)*XX(274)-JVS(4075)*XX(335)-JVS(5072)*XX(345) XX(176) = XX(176)-JVS(1860)*XX(256)-JVS(1968)*XX(263)-JVS(2491)*XX(292)-JVS(2602)*XX(295)-JVS(3259)*XX(322)-JVS(3429)& &*XX(325)-JVS(4074)*XX(335)-JVS(5071)*XX(345) XX(175) = XX(175)-JVS(1361)*XX(205)-JVS(1438)*XX(215)-JVS(2358)*XX(285)-JVS(2378)*XX(286)-JVS(3096)*XX(314)-JVS(3428)& &*XX(325)-JVS(3596)*XX(327)-JVS(4073)*XX(335)-JVS(4367)*XX(337)-JVS(5070)*XX(345) XX(174) = XX(174)-JVS(1301)*XX(198)-JVS(1895)*XX(258)-JVS(2857)*XX(306)-JVS(2912)*XX(307)-JVS(4366)*XX(337)-JVS(5069)& &*XX(345) XX(173) = XX(173)-JVS(2629)*XX(296)-JVS(4219)*XX(336)-JVS(5068)*XX(345) XX(172) = XX(172)-JVS(1782)*XX(248)-JVS(1827)*XX(253)-JVS(4072)*XX(335)-JVS(4365)*XX(337)-JVS(5067)*XX(345)-JVS(5255)& &*XX(346) XX(171) = XX(171)-JVS(1838)*XX(254)-JVS(2768)*XX(302)-JVS(4071)*XX(335)-JVS(4364)*XX(337)-JVS(5066)*XX(345)-JVS(5254)& &*XX(346) XX(170) = XX(170)-JVS(3885)*XX(330)-JVS(3914)*XX(331)-JVS(3933)*XX(332)-JVS(5065)*XX(345)-JVS(5505)*XX(351) XX(169) = XX(169)-JVS(2171)*XX(274)-JVS(2674)*XX(298)-JVS(3195)*XX(319)-JVS(3320)*XX(324)-JVS(3427)*XX(325)-JVS(5064)& &*XX(345) XX(168) = XX(168)-JVS(1255)*XX(190)-JVS(1437)*XX(215)-JVS(2357)*XX(285)-JVS(2377)*XX(286)-JVS(2993)*XX(309)-JVS(3426)& &*XX(325)-JVS(3595)*XX(327)-JVS(4070)*XX(335)-JVS(4363)*XX(337)-JVS(5063)*XX(345) XX(167) = XX(167)-JVS(1849)*XX(255)-JVS(1967)*XX(263)-JVS(2170)*XX(274)-JVS(2240)*XX(280)-JVS(2256)*XX(281)-JVS(2461)& &*XX(289)-JVS(3785)*XX(329)-JVS(4747)*XX(341)-JVS(5062)*XX(345)-JVS(5504)*XX(351) XX(166) = XX(166)-JVS(1663)*XX(239)-JVS(3594)*XX(327)-JVS(4069)*XX(335)-JVS(4578)*XX(339)-JVS(4746)*XX(341)-JVS(4937)& &*XX(344)-JVS(5402)*XX(348) XX(165) = XX(165)-JVS(1287)*XX(196)-JVS(2673)*XX(298)-JVS(3425)*XX(325)-JVS(3551)*XX(326)-JVS(4068)*XX(335)-JVS(4362)& &*XX(337)-JVS(5253)*XX(346) XX(164) = XX(164)-JVS(3424)*XX(325)-JVS(3697)*XX(328)-JVS(4218)*XX(336)-JVS(4361)*XX(337)-JVS(4577)*XX(339)-JVS(4671)& &*XX(340)-JVS(5061)*XX(345) XX(163) = XX(163)-JVS(2169)*XX(274)-JVS(4067)*XX(335)-JVS(5060)*XX(345)-JVS(5503)*XX(351) XX(162) = XX(162)-JVS(1859)*XX(256)-JVS(2168)*XX(274)-JVS(2601)*XX(295)-JVS(2672)*XX(298)-JVS(3194)*XX(319)-JVS(4066)& &*XX(335)-JVS(5059)*XX(345) XX(161) = XX(161)-JVS(2155)*XX(273)-JVS(2167)*XX(274)-JVS(2600)*XX(295)-JVS(2671)*XX(298)-JVS(3193)*XX(319)-JVS(4360)& &*XX(337)-JVS(5058)*XX(345) XX(160) = XX(160)-JVS(1966)*XX(263)-JVS(2218)*XX(278)-JVS(2490)*XX(292)-JVS(2599)*XX(295)-JVS(3258)*XX(322)-JVS(3423)& &*XX(325)-JVS(5057)*XX(345) XX(159) = XX(159)-JVS(1910)*XX(259)-JVS(2012)*XX(265)-JVS(2537)*XX(294)-JVS(2911)*XX(307)-JVS(3319)*XX(324)-JVS(3422)& &*XX(325)-JVS(3696)*XX(328)-JVS(3784)*XX(329)-JVS(5056)*XX(345) XX(158) = XX(158)-JVS(1318)*XX(201)-JVS(1324)*XX(202)-JVS(1333)*XX(203)-JVS(1965)*XX(263)-JVS(2073)*XX(269)-JVS(3593)& &*XX(327)-JVS(4359)*XX(337)-JVS(5055)*XX(345)-JVS(5502)*XX(351) XX(157) = XX(157)-JVS(4670)*XX(340)-JVS(4832)*XX(342) XX(156) = XX(156)-JVS(3550)*XX(326)-JVS(4358)*XX(337)-JVS(4576)*XX(339)-JVS(4669)*XX(340)-JVS(5054)*XX(345) XX(155) = XX(155)-JVS(3257)*XX(322)-JVS(3549)*XX(326)-JVS(3695)*XX(328)-JVS(4357)*XX(337)-JVS(5053)*XX(345) XX(154) = XX(154)-JVS(2910)*XX(307)-JVS(3592)*XX(327)-JVS(4065)*XX(335)-JVS(5052)*XX(345)-JVS(5501)*XX(351) XX(153) = XX(153)-JVS(1548)*XX(227)-JVS(2909)*XX(307)-JVS(3783)*XX(329)-JVS(4356)*XX(337)-JVS(5051)*XX(345) XX(152) = XX(152)-JVS(1436)*XX(215)-JVS(2356)*XX(285)-JVS(2376)*XX(286)-JVS(4355)*XX(337)-JVS(5050)*XX(345) XX(151) = XX(151)-JVS(1435)*XX(215)-JVS(2355)*XX(285)-JVS(2375)*XX(286)-JVS(4354)*XX(337)-JVS(5049)*XX(345) XX(150) = XX(150)-JVS(1434)*XX(215)-JVS(2428)*XX(288)-JVS(3095)*XX(314)-JVS(3782)*XX(329)-JVS(4353)*XX(337)-JVS(5048)& &*XX(345) XX(149) = XX(149)-JVS(1061)*XX(158)-JVS(1247)*XX(189)-JVS(1317)*XX(201)-JVS(1351)*XX(204)-JVS(1498)*XX(221)-JVS(1964)& &*XX(263)-JVS(3421)*XX(325)-JVS(3548)*XX(326)-JVS(3591)*XX(327)-JVS(4352)*XX(337)-JVS(5047)*XX(345)-JVS(5500)& &*XX(351) XX(148) = XX(148)-JVS(3146)*XX(316)-JVS(4831)*XX(342)-JVS(5046)*XX(345) XX(147) = XX(147)-JVS(1218)*XX(185)-JVS(1378)*XX(208)-JVS(1547)*XX(227)-JVS(2354)*XX(285)-JVS(2374)*XX(286)-JVS(3781)& &*XX(329)-JVS(4351)*XX(337)-JVS(5045)*XX(345) XX(146) = XX(146)-JVS(1683)*XX(240)-JVS(3318)*XX(324)-JVS(3420)*XX(325)-JVS(3780)*XX(329)-JVS(4350)*XX(337)-JVS(5044)& &*XX(345) XX(145) = XX(145)-JVS(2520)*XX(293)-JVS(2751)*XX(301)-JVS(4349)*XX(337) XX(144) = XX(144)-JVS(1433)*XX(215)-JVS(2394)*XX(287)-JVS(2992)*XX(309)-JVS(3779)*XX(329)-JVS(4348)*XX(337)-JVS(5043)& &*XX(345) XX(143) = XX(143)-JVS(1281)*XX(195)-JVS(1497)*XX(221)-JVS(1963)*XX(263)-JVS(2092)*XX(270)-JVS(3778)*XX(329)-JVS(4347)& &*XX(337)-JVS(5042)*XX(345) XX(142) = XX(142)-JVS(2740)*XX(300)-JVS(3192)*XX(319)-JVS(3590)*XX(327)-JVS(4575)*XX(339)-JVS(4668)*XX(340)-JVS(5041)& &*XX(345)-JVS(5499)*XX(351) XX(141) = XX(141)-JVS(3233)*XX(321)-JVS(3289)*XX(323)-JVS(4574)*XX(339)-JVS(4667)*XX(340)-JVS(4830)*XX(342)-JVS(5040)& &*XX(345)-JVS(5612)*XX(352) XX(140) = XX(140)-JVS(1410)*XX(212)-JVS(1596)*XX(233)-JVS(3419)*XX(325)-JVS(4064)*XX(335)-JVS(4745)*XX(341)-JVS(5039)& &*XX(345)-JVS(5498)*XX(351) XX(139) = XX(139)-JVS(3317)*XX(324)-JVS(3418)*XX(325)-JVS(3694)*XX(328)-JVS(3777)*XX(329)-JVS(4063)*XX(335)-JVS(5038)& &*XX(345)-JVS(5497)*XX(351) XX(138) = XX(138)-JVS(1080)*XX(162)-JVS(1962)*XX(263)-JVS(2154)*XX(273)-JVS(3417)*XX(325)-JVS(4062)*XX(335)-JVS(4346)& &*XX(337)-JVS(5037)*XX(345) XX(137) = XX(137)-JVS(1165)*XX(176)-JVS(1529)*XX(225)-JVS(1961)*XX(263)-JVS(3416)*XX(325)-JVS(4061)*XX(335)-JVS(4345)& &*XX(337)-JVS(5036)*XX(345) XX(136) = XX(136)-JVS(1605)*XX(234)-JVS(2856)*XX(306)-JVS(3415)*XX(325)-JVS(4344)*XX(337)-JVS(5035)*XX(345) XX(135) = XX(135)-JVS(2991)*XX(309)-JVS(4060)*XX(335)-JVS(4343)*XX(337)-JVS(5034)*XX(345)-JVS(5252)*XX(346) XX(134) = XX(134)-JVS(5033)*XX(345)-JVS(5401)*XX(348) XX(133) = XX(133)-JVS(3094)*XX(314)-JVS(4059)*XX(335)-JVS(4342)*XX(337)-JVS(5032)*XX(345)-JVS(5251)*XX(346) XX(132) = XX(132)-JVS(2855)*XX(306)-JVS(3776)*XX(329)-JVS(4058)*XX(335)-JVS(4341)*XX(337)-JVS(5250)*XX(346) XX(131) = XX(131)-JVS(1377)*XX(208)-JVS(1546)*XX(227)-JVS(4340)*XX(337)-JVS(5031)*XX(345) XX(130) = XX(130)-JVS(2670)*XX(298)-JVS(3191)*XX(319)-JVS(3316)*XX(324)-JVS(3414)*XX(325)-JVS(5030)*XX(345) XX(129) = XX(129)-JVS(2153)*XX(273)-JVS(5029)*XX(345) XX(128) = XX(128)-JVS(1432)*XX(215)-JVS(1711)*XX(243)-JVS(4339)*XX(337)-JVS(5028)*XX(345) XX(127) = XX(127)-JVS(2854)*XX(306)-JVS(3413)*XX(325)-JVS(3775)*XX(329)-JVS(4057)*XX(335)-JVS(4338)*XX(337)-JVS(5027)& &*XX(345) XX(126) = XX(126)-JVS(1294)*XX(197)-JVS(2853)*XX(306)-JVS(3774)*XX(329)-JVS(4056)*XX(335)-JVS(5026)*XX(345)-JVS(5496)& &*XX(351) XX(125) = XX(125)-JVS(1760)*XX(247)-JVS(1804)*XX(250)-JVS(2669)*XX(298)-JVS(4055)*XX(335)-JVS(4337)*XX(337)-JVS(5025)& &*XX(345) XX(124) = XX(124)-JVS(3256)*XX(322)-JVS(3547)*XX(326)-JVS(3773)*XX(329)-JVS(4054)*XX(335)-JVS(5024)*XX(345)-JVS(5495)& &*XX(351) XX(123) = XX(123)-JVS(1920)*XX(260)-JVS(2908)*XX(307)-JVS(3412)*XX(325)-JVS(3546)*XX(326)-JVS(4336)*XX(337)-JVS(5023)& &*XX(345) XX(122) = XX(122)-JVS(1682)*XX(240)-JVS(3315)*XX(324)-JVS(3411)*XX(325)-JVS(3772)*XX(329)-JVS(4053)*XX(335)-JVS(5022)& &*XX(345) XX(121) = XX(121)-JVS(982)*XX(146)-JVS(4052)*XX(335)-JVS(4335)*XX(337)-JVS(5249)*XX(346) XX(120) = XX(120)-JVS(3953)*XX(333)-JVS(4530)*XX(338)-JVS(4894)*XX(343)-JVS(5021)*XX(345) XX(119) = XX(119)-JVS(1217)*XX(185)-JVS(3771)*XX(329)-JVS(4334)*XX(337)-JVS(5020)*XX(345) XX(118) = XX(118)-JVS(3121)*XX(315)-JVS(3545)*XX(326)-JVS(4333)*XX(337)-JVS(5019)*XX(345) XX(117) = XX(117)-JVS(1332)*XX(203)-JVS(1628)*XX(236)-JVS(5018)*XX(345) XX(116) = XX(116)-JVS(1350)*XX(204)-JVS(4051)*XX(335)-JVS(4217)*XX(336)-JVS(4332)*XX(337)-JVS(5017)*XX(345) XX(115) = XX(115)-JVS(3314)*XX(324)-JVS(4331)*XX(337)-JVS(5016)*XX(345) XX(114) = XX(114)-JVS(1417)*XX(213)-JVS(3410)*XX(325)-JVS(3770)*XX(329)-JVS(4050)*XX(335)-JVS(5015)*XX(345) XX(113) = XX(113)-JVS(1753)*XX(246)-JVS(2852)*XX(306)-JVS(3769)*XX(329)-JVS(4049)*XX(335)-JVS(5014)*XX(345) XX(112) = XX(112)-JVS(885)*XX(129)-JVS(2189)*XX(275)-JVS(3409)*XX(325)-JVS(4330)*XX(337)-JVS(5013)*XX(345) XX(111) = XX(111)-JVS(1528)*XX(225)-JVS(1883)*XX(257)-JVS(2205)*XX(277)-JVS(4329)*XX(337)-JVS(5012)*XX(345) XX(110) = XX(110)-JVS(1739)*XX(245)-JVS(4529)*XX(338)-JVS(4666)*XX(340) XX(109) = XX(109)-JVS(1604)*XX(234)-JVS(3038)*XX(312)-JVS(3408)*XX(325)-JVS(4744)*XX(341)-JVS(5011)*XX(345) XX(108) = XX(108)-JVS(4048)*XX(335)-JVS(4216)*XX(336)-JVS(4328)*XX(337)-JVS(5010)*XX(345)-JVS(5494)*XX(351) XX(107) = XX(107)-JVS(2011)*XX(265)-JVS(2536)*XX(294)-JVS(3313)*XX(324)-JVS(3768)*XX(329)-JVS(5009)*XX(345) XX(106) = XX(106)-JVS(2851)*XX(306)-JVS(3407)*XX(325)-JVS(4327)*XX(337) XX(105) = XX(105)-JVS(3693)*XX(328)-JVS(4001)*XX(334)-JVS(4215)*XX(336)-JVS(4326)*XX(337)-JVS(4829)*XX(342)-JVS(5008)& &*XX(345)-JVS(5371)*XX(347) XX(104) = XX(104)-JVS(3913)*XX(331)-JVS(4665)*XX(340) XX(103) = XX(103)-JVS(3589)*XX(327) XX(102) = XX(102)-JVS(2668)*XX(298)-JVS(2739)*XX(300)-JVS(4325)*XX(337)-JVS(5007)*XX(345) XX(101) = XX(101)-JVS(1060)*XX(158)-JVS(1143)*XX(173)-JVS(1316)*XX(201)-JVS(1349)*XX(204)-JVS(1496)*XX(221)-JVS(1960)& &*XX(263)-JVS(2091)*XX(270)-JVS(2535)*XX(294)-JVS(3093)*XX(314)-JVS(3767)*XX(329)-JVS(4324)*XX(337)-JVS(5006)& &*XX(345) XX(100) = XX(100)-JVS(2598)*XX(295)-JVS(3288)*XX(323)-JVS(4323)*XX(337)-JVS(5005)*XX(345) XX(99) = XX(99)-JVS(2667)*XX(298)-JVS(3232)*XX(321)-JVS(4322)*XX(337)-JVS(5004)*XX(345) XX(98) = XX(98)-JVS(1181)*XX(178)-JVS(2666)*XX(298)-JVS(4321)*XX(337)-JVS(5003)*XX(345) XX(97) = XX(97)-JVS(2665)*XX(298)-JVS(3190)*XX(319)-JVS(4320)*XX(337)-JVS(5002)*XX(345) XX(96) = XX(96)-JVS(2342)*XX(284)-JVS(3912)*XX(331)-JVS(4047)*XX(335)-JVS(5248)*XX(346) XX(95) = XX(95)-JVS(2664)*XX(298)-JVS(4046)*XX(335)-JVS(4319)*XX(337)-JVS(5001)*XX(345) XX(94) = XX(94)-JVS(3406)*XX(325)-JVS(3588)*XX(327)-JVS(3692)*XX(328)-JVS(5000)*XX(345)-JVS(5400)*XX(348)-JVS(5493)& &*XX(351) XX(93) = XX(93)-JVS(3405)*XX(325)-JVS(4045)*XX(335)-JVS(4318)*XX(337)-JVS(4999)*XX(345) XX(92) = XX(92)-JVS(3312)*XX(324)-JVS(3404)*XX(325)-JVS(3691)*XX(328)-JVS(4998)*XX(345) XX(91) = XX(91)-JVS(2597)*XX(295)-JVS(4044)*XX(335)-JVS(4317)*XX(337)-JVS(4997)*XX(345) XX(90) = XX(90)-JVS(827)*XX(117)-JVS(1616)*XX(235)-JVS(4043)*XX(335)-JVS(4996)*XX(345) XX(89) = XX(89)-JVS(918)*XX(134)-JVS(3403)*XX(325)-JVS(4995)*XX(345)-JVS(5399)*XX(348) XX(88) = XX(88)-JVS(2010)*XX(265)-JVS(3402)*XX(325)-JVS(4316)*XX(337)-JVS(4994)*XX(345) XX(87) = XX(87)-JVS(4000)*XX(334)-JVS(4214)*XX(336)-JVS(4528)*XX(338)-JVS(4664)*XX(340)-JVS(4893)*XX(343)-JVS(4993)& &*XX(345) XX(86) = XX(86)-JVS(3999)*XX(334)-JVS(4213)*XX(336)-JVS(4527)*XX(338)-JVS(4663)*XX(340)-JVS(4892)*XX(343)-JVS(4992)& &*XX(345) XX(85) = XX(85)-JVS(3998)*XX(334)-JVS(4212)*XX(336)-JVS(4526)*XX(338)-JVS(4662)*XX(340)-JVS(4891)*XX(343)-JVS(4991)& &*XX(345) XX(84) = XX(84)-JVS(3997)*XX(334)-JVS(4211)*XX(336)-JVS(4525)*XX(338)-JVS(4661)*XX(340)-JVS(4890)*XX(343)-JVS(4990)& &*XX(345) XX(83) = XX(83)-JVS(3544)*XX(326)-JVS(4042)*XX(335)-JVS(4315)*XX(337)-JVS(4989)*XX(345) XX(82) = XX(82)-JVS(1059)*XX(158)-JVS(1315)*XX(201)-JVS(1348)*XX(204)-JVS(1495)*XX(221)-JVS(1959)*XX(263)-JVS(2090)& &*XX(270)-JVS(2534)*XX(294)-JVS(3092)*XX(314)-JVS(3766)*XX(329)-JVS(4314)*XX(337)-JVS(4988)*XX(345) XX(81) = XX(81)-JVS(3996)*XX(334)-JVS(4828)*XX(342)-JVS(4889)*XX(343)-JVS(4987)*XX(345)-JVS(5370)*XX(347) XX(80) = XX(80)-JVS(3401)*XX(325)-JVS(3690)*XX(328)-JVS(4041)*XX(335)-JVS(4313)*XX(337)-JVS(5492)*XX(351) XX(79) = XX(79)-JVS(3765)*XX(329)-JVS(4312)*XX(337)-JVS(4573)*XX(339)-JVS(4660)*XX(340)-JVS(4986)*XX(345) XX(78) = XX(78)-JVS(3995)*XX(334)-JVS(4827)*XX(342)-JVS(4888)*XX(343)-JVS(4985)*XX(345)-JVS(5369)*XX(347) XX(77) = XX(77)-JVS(3911)*XX(331)-JVS(4826)*XX(342) XX(76) = XX(76)-JVS(794)*XX(110)-JVS(3952)*XX(333)-JVS(4524)*XX(338)-JVS(4659)*XX(340)-JVS(4984)*XX(345) XX(75) = XX(75)-JVS(3764)*XX(329)-JVS(4311)*XX(337)-JVS(4572)*XX(339)-JVS(4658)*XX(340)-JVS(4983)*XX(345) XX(74) = XX(74)-JVS(1882)*XX(257)-JVS(2217)*XX(278)-JVS(4982)*XX(345) XX(73) = XX(73)-JVS(3910)*XX(331)-JVS(4210)*XX(336)-JVS(4981)*XX(345) XX(72) = XX(72)-JVS(3400)*XX(325)-JVS(4310)*XX(337)-JVS(4980)*XX(345) XX(71) = XX(71)-JVS(1615)*XX(235)-JVS(1627)*XX(236)-JVS(4979)*XX(345) XX(70) = XX(70)-JVS(2850)*XX(306)-JVS(4040)*XX(335)-JVS(4978)*XX(345) XX(69) = XX(69)-JVS(1180)*XX(178)-JVS(3587)*XX(327)-JVS(4977)*XX(345)-JVS(5491)*XX(351) XX(68) = XX(68)-JVS(3763)*XX(329)-JVS(4887)*XX(343)-JVS(4976)*XX(345)-JVS(5398)*XX(348) XX(67) = XX(67)-JVS(3994)*XX(334)-JVS(4039)*XX(335)-JVS(4886)*XX(343)-JVS(5247)*XX(346) XX(66) = XX(66)-JVS(2216)*XX(278)-JVS(4975)*XX(345) XX(65) = XX(65)-JVS(1662)*XX(239)-JVS(4038)*XX(335) XX(64) = XX(64)-JVS(1661)*XX(239)-JVS(4037)*XX(335) XX(63) = XX(63)-JVS(3993)*XX(334)-JVS(5246)*XX(346) XX(62) = XX(62)-JVS(1123)*XX(170)-JVS(3909)*XX(331)-JVS(5245)*XX(346) XX(61) = XX(61)-JVS(3992)*XX(334)-JVS(4523)*XX(338)-JVS(4657)*XX(340)-JVS(4825)*XX(342)-JVS(4885)*XX(343)-JVS(5368)& &*XX(347) XX(60) = XX(60)-JVS(2009)*XX(265)-JVS(2089)*XX(270)-JVS(3762)*XX(329)-JVS(4309)*XX(337)-JVS(4974)*XX(345) XX(59) = XX(59)-JVS(4036)*XX(335)-JVS(4824)*XX(342) XX(58) = XX(58)-JVS(849)*XX(121)-JVS(4973)*XX(345) XX(57) = XX(57)-JVS(2166)*XX(274)-JVS(4035)*XX(335) XX(56) = XX(56)-JVS(1881)*XX(257)-JVS(4034)*XX(335) XX(55) = XX(55)-JVS(724)*XX(96)-JVS(2341)*XX(284) XX(54) = XX(54)-JVS(3991)*XX(334)-JVS(4823)*XX(342)-JVS(4884)*XX(343)-JVS(5367)*XX(347) XX(53) = XX(53)-JVS(3990)*XX(334)-JVS(4822)*XX(342)-JVS(4883)*XX(343)-JVS(5366)*XX(347) XX(52) = XX(52)-JVS(3689)*XX(328)-JVS(3908)*XX(331)-JVS(4209)*XX(336)-JVS(4972)*XX(345) XX(51) = XX(51)-JVS(3989)*XX(334)-JVS(4522)*XX(338)-JVS(4656)*XX(340)-JVS(4882)*XX(343) XX(50) = XX(50)-JVS(3988)*XX(334)-JVS(4521)*XX(338)-JVS(4655)*XX(340)-JVS(4881)*XX(343) XX(49) = XX(49)-JVS(3987)*XX(334)-JVS(4520)*XX(338)-JVS(4654)*XX(340)-JVS(4880)*XX(343) XX(48) = XX(48)-JVS(3986)*XX(334)-JVS(4519)*XX(338)-JVS(4653)*XX(340)-JVS(4879)*XX(343) XX(47) = XX(47)-JVS(3985)*XX(334)-JVS(4518)*XX(338)-JVS(4652)*XX(340)-JVS(4878)*XX(343) XX(46) = XX(46)-JVS(3984)*XX(334)-JVS(4517)*XX(338)-JVS(4651)*XX(340)-JVS(4877)*XX(343) XX(45) = XX(45)-JVS(3586)*XX(327) XX(44) = XX(44)-JVS(723)*XX(96)-JVS(2340)*XX(284)-JVS(3907)*XX(331) XX(43) = XX(43)-JVS(4208)*XX(336)-JVS(4650)*XX(340)-JVS(4971)*XX(345) XX(42) = XX(42)-JVS(722)*XX(96) XX(41) = XX(41)-JVS(4970)*XX(345) XX(40) = XX(40) XX(39) = XX(39) XX(38) = XX(38) XX(37) = XX(37) XX(36) = XX(36) XX(35) = XX(35) XX(34) = XX(34) XX(33) = XX(33) XX(32) = XX(32) XX(31) = XX(31) XX(30) = XX(30) XX(29) = XX(29) XX(28) = XX(28) XX(27) = XX(27) XX(26) = XX(26) XX(25) = XX(25) XX(24) = XX(24) XX(23) = XX(23) XX(22) = XX(22) XX(21) = XX(21) XX(20) = XX(20) XX(19) = XX(19) XX(18) = XX(18) XX(17) = XX(17) XX(16) = XX(16) XX(15) = XX(15) XX(14) = XX(14) XX(13) = XX(13) XX(12) = XX(12) XX(11) = XX(11) XX(10) = XX(10) XX(9) = XX(9) XX(8) = XX(8) XX(7) = XX(7) XX(6) = XX(6) XX(5) = XX(5) XX(4) = XX(4) XX(3) = XX(3)-JVS(3906)*XX(331)-JVS(4649)*XX(340) XX(2) = XX(2)-JVS(3905)*XX(331)-JVS(4821)*XX(342) XX(1) = XX(1)-JVS(3904)*XX(331) END SUBROUTINE KppSolveTR ! End of KppSolveTR function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! BLAS_UTIL - BLAS-LIKE utility functions ! Arguments : ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !-------------------------------------------------------------- ! ! BLAS/LAPACK-like subroutines used by the integration algorithms ! It is recommended to replace them by calls to the optimized ! BLAS/LAPACK library for your machine ! ! (C) Adrian Sandu, Aug. 2004 ! Virginia Polytechnic Institute and State University !-------------------------------------------------------------- !-------------------------------------------------------------- SUBROUTINE WCOPY(N,X,incX,Y,incY) !-------------------------------------------------------------- ! copies a vector, x, to a vector, y: y <- x ! only for incX=incY=1 ! after BLAS ! replace this by the function from the optimized BLAS implementation: ! CALL SCOPY(N,X,1,Y,1) or CALL DCOPY(N,X,1,Y,1) !-------------------------------------------------------------- ! USE gckpp_Precision INTEGER :: i,incX,incY,M,MP1,N REAL(kind=dp) :: X(N),Y(N) IF (N.LE.0) RETURN M = MOD(N,8) IF( M .NE. 0 ) THEN DO i = 1,M Y(i) = X(i) END DO IF( N .LT. 8 ) RETURN END IF MP1 = M+1 DO i = MP1,N,8 Y(i) = X(i) Y(i + 1) = X(i + 1) Y(i + 2) = X(i + 2) Y(i + 3) = X(i + 3) Y(i + 4) = X(i + 4) Y(i + 5) = X(i + 5) Y(i + 6) = X(i + 6) Y(i + 7) = X(i + 7) END DO END SUBROUTINE WCOPY !-------------------------------------------------------------- SUBROUTINE WAXPY(N,Alpha,X,incX,Y,incY) !-------------------------------------------------------------- ! constant times a vector plus a vector: y <- y + Alpha*x ! only for incX=incY=1 ! after BLAS ! replace this by the function from the optimized BLAS implementation: ! CALL SAXPY(N,Alpha,X,1,Y,1) or CALL DAXPY(N,Alpha,X,1,Y,1) !-------------------------------------------------------------- INTEGER :: i,incX,incY,M,MP1,N REAL(kind=dp) :: X(N),Y(N),Alpha REAL(kind=dp), PARAMETER :: ZERO = 0.0_dp IF (Alpha .EQ. ZERO) RETURN IF (N .LE. 0) RETURN M = MOD(N,4) IF( M .NE. 0 ) THEN DO i = 1,M Y(i) = Y(i) + Alpha*X(i) END DO IF( N .LT. 4 ) RETURN END IF MP1 = M + 1 DO i = MP1,N,4 Y(i) = Y(i) + Alpha*X(i) Y(i + 1) = Y(i + 1) + Alpha*X(i + 1) Y(i + 2) = Y(i + 2) + Alpha*X(i + 2) Y(i + 3) = Y(i + 3) + Alpha*X(i + 3) END DO END SUBROUTINE WAXPY !-------------------------------------------------------------- SUBROUTINE WSCAL(N,Alpha,X,incX) !-------------------------------------------------------------- ! constant times a vector: x(1:N) <- Alpha*x(1:N) ! only for incX=incY=1 ! after BLAS ! replace this by the function from the optimized BLAS implementation: ! CALL SSCAL(N,Alpha,X,1) or CALL DSCAL(N,Alpha,X,1) !-------------------------------------------------------------- INTEGER :: i,incX,M,MP1,N REAL(kind=dp) :: X(N),Alpha REAL(kind=dp), PARAMETER :: ZERO=0.0_dp, ONE=1.0_dp IF (Alpha .EQ. ONE) RETURN IF (N .LE. 0) RETURN M = MOD(N,5) IF( M .NE. 0 ) THEN IF (Alpha .EQ. (-ONE)) THEN DO i = 1,M X(i) = -X(i) END DO ELSEIF (Alpha .EQ. ZERO) THEN DO i = 1,M X(i) = ZERO END DO ELSE DO i = 1,M X(i) = Alpha*X(i) END DO END IF IF( N .LT. 5 ) RETURN END IF MP1 = M + 1 IF (Alpha .EQ. (-ONE)) THEN DO i = MP1,N,5 X(i) = -X(i) X(i + 1) = -X(i + 1) X(i + 2) = -X(i + 2) X(i + 3) = -X(i + 3) X(i + 4) = -X(i + 4) END DO ELSEIF (Alpha .EQ. ZERO) THEN DO i = MP1,N,5 X(i) = ZERO X(i + 1) = ZERO X(i + 2) = ZERO X(i + 3) = ZERO X(i + 4) = ZERO END DO ELSE DO i = MP1,N,5 X(i) = Alpha*X(i) X(i + 1) = Alpha*X(i + 1) X(i + 2) = Alpha*X(i + 2) X(i + 3) = Alpha*X(i + 3) X(i + 4) = Alpha*X(i + 4) END DO END IF END SUBROUTINE WSCAL !-------------------------------------------------------------- REAL(kind=dp) FUNCTION WLAMCH( C ) !-------------------------------------------------------------- ! returns epsilon machine ! after LAPACK ! replace this by the function from the optimized LAPACK implementation: ! CALL SLAMCH('E') or CALL DLAMCH('E') !-------------------------------------------------------------- ! USE gckpp_Precision CHARACTER :: C INTEGER :: i REAL(kind=dp), SAVE :: Eps REAL(kind=dp) :: Suma REAL(kind=dp), PARAMETER :: ONE=1.0_dp, HALF=0.5_dp LOGICAL, SAVE :: First=.TRUE. !$OMP THREADPRIVATE( Eps, First ) IF (First) THEN First = .FALSE. Eps = HALF**(16) DO i = 17, 80 Eps = Eps*HALF CALL WLAMCH_ADD(ONE,Eps,Suma) IF (Suma.LE.ONE) GOTO 10 END DO PRINT*,'ERROR IN WLAMCH. EPS < ',Eps RETURN 10 Eps = Eps*2 i = i-1 END IF WLAMCH = Eps END FUNCTION WLAMCH SUBROUTINE WLAMCH_ADD( A, B, Suma ) ! USE gckpp_Precision REAL(kind=dp) A, B, Suma Suma = A + B END SUBROUTINE WLAMCH_ADD !-------------------------------------------------------------- !-------------------------------------------------------------- SUBROUTINE SET2ZERO(N,Y) !-------------------------------------------------------------- ! copies zeros into the vector y: y <- 0 ! after BLAS !-------------------------------------------------------------- INTEGER :: i,M,MP1,N REAL(kind=dp) :: Y(N) REAL(kind=dp), PARAMETER :: ZERO = 0.0d0 IF (N.LE.0) RETURN M = MOD(N,8) IF( M .NE. 0 ) THEN DO i = 1,M Y(i) = ZERO END DO IF( N .LT. 8 ) RETURN END IF MP1 = M+1 DO i = MP1,N,8 Y(i) = ZERO Y(i + 1) = ZERO Y(i + 2) = ZERO Y(i + 3) = ZERO Y(i + 4) = ZERO Y(i + 5) = ZERO Y(i + 6) = ZERO Y(i + 7) = ZERO END DO END SUBROUTINE SET2ZERO !-------------------------------------------------------------- REAL(kind=dp) FUNCTION WDOT (N, DX, incX, DY, incY) !-------------------------------------------------------------- ! dot produce: wdot = x(1:N)*y(1:N) ! only for incX=incY=1 ! after BLAS ! replace this by the function from the optimized BLAS implementation: ! CALL SDOT(N,X,1,Y,1) or CALL DDOT(N,X,1,Y,1) !-------------------------------------------------------------- ! USE messy_mecca_kpp_Precision !-------------------------------------------------------------- IMPLICIT NONE INTEGER :: N, incX, incY REAL(kind=dp) :: DX(N), DY(N) INTEGER :: i, IX, IY, M, MP1, NS WDOT = 0.0D0 IF (N .LE. 0) RETURN IF (incX .EQ. incY) IF (incX-1) 5,20,60 ! ! Code for unequal or nonpositive increments. ! 5 IX = 1 IY = 1 IF (incX .LT. 0) IX = (-N+1)*incX + 1 IF (incY .LT. 0) IY = (-N+1)*incY + 1 DO i = 1,N WDOT = WDOT + DX(IX)*DY(IY) IX = IX + incX IY = IY + incY END DO RETURN ! ! Code for both increments equal to 1. ! ! Clean-up loop so remaining vector length is a multiple of 5. ! 20 M = MOD(N,5) IF (M .EQ. 0) GO TO 40 DO i = 1,M WDOT = WDOT + DX(i)*DY(i) END DO IF (N .LT. 5) RETURN 40 MP1 = M + 1 DO i = MP1,N,5 WDOT = WDOT + DX(i)*DY(i) + DX(i+1)*DY(i+1) + DX(i+2)*DY(i+2) + & DX(i+3)*DY(i+3) + DX(i+4)*DY(i+4) END DO RETURN ! ! Code for equal, positive, non-unit increments. ! 60 NS = N*incX DO i = 1,NS,incX WDOT = WDOT + DX(i)*DY(i) END DO END FUNCTION WDOT !-------------------------------------------------------------- SUBROUTINE WADD(N,X,Y,Z) !-------------------------------------------------------------- ! adds two vectors: z <- x + y ! BLAS - like !-------------------------------------------------------------- ! USE gckpp_Precision INTEGER :: i, M, MP1, N REAL(kind=dp) :: X(N),Y(N),Z(N) IF (N.LE.0) RETURN M = MOD(N,5) IF( M /= 0 ) THEN DO i = 1,M Z(i) = X(i) + Y(i) END DO IF( N < 5 ) RETURN END IF MP1 = M+1 DO i = MP1,N,5 Z(i) = X(i) + Y(i) Z(i + 1) = X(i + 1) + Y(i + 1) Z(i + 2) = X(i + 2) + Y(i + 2) Z(i + 3) = X(i + 3) + Y(i + 3) Z(i + 4) = X(i + 4) + Y(i + 4) END DO END SUBROUTINE WADD !-------------------------------------------------------------- SUBROUTINE WGEFA(N,A,Ipvt,info) !-------------------------------------------------------------- ! WGEFA FACTORS THE MATRIX A (N,N) BY ! GAUSS ELIMINATION WITH PARTIAL PIVOTING ! LINPACK - LIKE !-------------------------------------------------------------- ! INTEGER :: N,Ipvt(N),info REAL(kind=dp) :: A(N,N) REAL(kind=dp) :: t, dmax, da INTEGER :: j,k,l REAL(kind=dp), PARAMETER :: ZERO = 0.0, ONE = 1.0 info = 0 size: IF (n > 1) THEN col: DO k = 1, n-1 ! find l = pivot index ! l = idamax(n-k+1,A(k,k),1) + k - 1 l = k; dmax = abs(A(k,k)) DO j = k+1,n da = ABS(A(j,k)) IF (da > dmax) THEN l = j; dmax = da END IF END DO Ipvt(k) = l ! zero pivot implies this column already triangularized IF (ABS(A(l,k)) < TINY(ZERO)) THEN info = k return ELSE IF (l /= k) THEN t = A(l,k); A(l,k) = A(k,k); A(k,k) = t END IF t = -ONE/A(k,k) CALL WSCAL(n-k,t,A(k+1,k),1) DO j = k+1, n t = A(l,j) IF (l /= k) THEN A(l,j) = A(k,j); A(k,j) = t END IF CALL WAXPY(n-k,t,A(k+1,k),1,A(k+1,j),1) END DO END IF END DO col END IF size Ipvt(N) = N IF (ABS(A(N,N)) == ZERO) info = N END SUBROUTINE WGEFA !-------------------------------------------------------------- SUBROUTINE WGESL(Trans,N,A,Ipvt,b) !-------------------------------------------------------------- ! WGESL solves the system ! a * x = b or trans(a) * x = b ! using the factors computed by WGEFA. ! ! Trans = 'N' to solve A*x = b , ! = 'T' to solve transpose(A)*x = b ! LINPACK - LIKE !-------------------------------------------------------------- INTEGER :: N,Ipvt(N) CHARACTER :: trans REAL(kind=dp) :: A(N,N),b(N) REAL(kind=dp) :: t INTEGER :: k,kb,l SELECT CASE (Trans) CASE ('n','N') ! Solve A * x = b ! first solve L*y = b IF (n >= 2) THEN DO k = 1, n-1 l = Ipvt(k) t = b(l) IF (l /= k) THEN b(l) = b(k) b(k) = t END IF CALL WAXPY(n-k,t,a(k+1,k),1,b(k+1),1) END DO END IF ! now solve U*x = y DO kb = 1, n k = n + 1 - kb b(k) = b(k)/a(k,k) t = -b(k) CALL WAXPY(k-1,t,a(1,k),1,b(1),1) END DO CASE ('t','T') ! Solve transpose(A) * x = b ! first solve trans(U)*y = b DO k = 1, n t = WDOT(k-1,a(1,k),1,b(1),1) b(k) = (b(k) - t)/a(k,k) END DO ! now solve trans(L)*x = y IF (n >= 2) THEN DO kb = 1, n-1 k = n - kb b(k) = b(k) + WDOT(n-k,a(k+1,k),1,b(k+1),1) l = Ipvt(k) IF (l /= k) THEN t = b(l); b(l) = b(k); b(k) = t END IF END DO END IF END SELECT END SUBROUTINE WGESL ! End of BLAS_UTIL function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ END MODULE gckpp_LinearAlgebra ================================================ FILE: KPP/fullchem/gckpp_Model.F90 ================================================ MODULE gckpp_Model !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Completely defines the model gckpp ! by using all the associated modules !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ USE gckpp_Precision USE gckpp_Parameters USE gckpp_Global USE gckpp_Function USE gckpp_Integrator USE gckpp_Rates USE gckpp_Jacobian USE gckpp_LinearAlgebra USE gckpp_Monitor USE gckpp_Util END MODULE gckpp_Model ================================================ FILE: KPP/fullchem/gckpp_Monitor.F90 ================================================ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Utility Data Module File ! ! Generated by KPP-3.2.0 symbolic chemistry Kinetics PreProcessor ! (https:/github.com/KineticPreProcessor/KPP ! KPP is distributed under GPL, the general public licence ! (http://www.gnu.org/copyleft/gpl.html) ! (C) 1995-1997, V. Damian & A. Sandu, CGRER, Univ. Iowa ! (C) 1997-2022, A. Sandu, Michigan Tech, Virginia Tech ! With important contributions from: ! M. Damian, Villanova University, Philadelphia, PA, USA ! R. Sander, Max-Planck Institute for Chemistry, Mainz, Germany ! M. Long, Renaissance Fiber, LLC, North Carolina, USA ! H. Lin, Harvard University, Cambridge, MA, USA ! R. Yantosca, Harvard University, Cambridge, MA, USA ! ! File : gckpp_Monitor.F90 ! Equation file : gckpp.kpp ! Output root filename : gckpp ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MODULE gckpp_Monitor CHARACTER(LEN=32), PARAMETER, DIMENSION(90) :: SPC_NAMES_0 = (/ & 'CH2I2 ','CH2IBr ','CH2ICl ', & ! index 1 - 3 'AERI ','AONITA ','BUTDI ', & ! index 4 - 6 'CO2 ','INDIOL ','ISALA ', & ! index 7 - 9 'ISALC ','LBRO2H ','LBRO2N ', & ! index 10 - 12 'BRO2 ','LISOPOH ','LISOPNO3 ', & ! index 13 - 15 'LNRO2H ','LNRO2N ','NRO2 ', & ! index 16 - 18 'NAP ','LTRO2H ','LTRO2N ', & ! index 19 - 21 'TRO2 ','LVOCOA ','LVOC ', & ! index 22 - 24 'LXRO2H ','LXRO2N ','XRO2 ', & ! index 25 - 27 'MSA ','SO4s ','SOAGX ', & ! index 28 - 30 'SOAIE ','PH2SO4 ','PSO4AQ ', & ! index 31 - 33 'POx ','LOx ','PCO ', & ! index 34 - 36 'LCO ','PSO4 ','LCH4 ', & ! index 37 - 39 'PH2O2 ','FURA ','I2O4 ', & ! index 40 - 42 'CH3CCl3 ','I2O2 ','MONITA ', & ! index 43 - 45 'CCl4 ','CFC11 ','CFC12 ', & ! index 46 - 48 'CFC113 ','CFC114 ','CFC115 ', & ! index 49 - 51 'CH3I ','H1301 ','H2402 ', & ! index 52 - 54 'I2O3 ','PINPAN ','LIMPAN ', & ! index 55 - 57 'TLFUONE ','BrNO2 ','C2H2 ', & ! index 58 - 60 'H1211 ','INO ','N2O ', & ! index 61 - 63 'NIT ','NITs ','PINONIC ', & ! index 64 - 66 'N ','OCS ','ALK6 ', & ! index 67 - 69 'ETHN ','BZCO3H ','HACTA ', & ! index 70 - 72 'HI ','PINO3H ','CHCl3 ', & ! index 73 - 75 'Cl2O2 ','IBr ','CH2Br2 ', & ! index 76 - 78 'CH2Cl2 ','MPN ','CHBr3 ', & ! index 79 - 81 'TOLU ','ETNO3 ','HCFC123 ', & ! index 82 - 84 'HCFC141b ','HCFC142b ','HCFC22 ', & ! index 85 - 87 'HMHP ','HMS ','BZPAN ' /) ! index up to 90 CHARACTER(LEN=32), PARAMETER, DIMENSION(90) :: SPC_NAMES_1 = (/ & 'IPRNO3 ','MAP ','MENO3 ', & ! index 91 - 93 'DMS ','NPRNO3 ','OIO ', & ! index 94 - 96 'R4P ','R7P ','RA3P ', & ! index 97 - 99 'RB3P ','XYLE ','ALK4P ', & ! index 100 - 102 'IONITA ','ICl ','CH3Br ', & ! index 103 - 105 'ETO ','HMML ','HNO4 ', & ! index 106 - 108 'C2H4 ','ClOO ','APINP ', & ! index 109 - 111 'BPINP ','MEKPN ','PHAN ', & ! index 112 - 114 'PYAC ','RNO3 ','BENZP ', & ! index 115 - 117 'ETP ','IDC ','OClO ', & ! index 118 - 120 'TLFUO2 ','AROMPN ','PP ', & ! index 121 - 123 'PPN ','PRPN ','APAN ', & ! index 124 - 126 'BUTN ','IEPOXD ','BPINO ', & ! index 127 - 129 'LIMO2H ','MVKDH ','ACRO2 ', & ! index 130 - 132 'HPALD1OO ','SO4 ','HPALD2OO ', & ! index 133 - 135 'ETHP ','APINN ','BPINN ', & ! index 136 - 138 'PAN ','C4H6 ','C3H8 ', & ! index 139 - 141 'ALK4 ','BENZ ','HPALD4 ', & ! index 142 - 144 'INA ','AROMCHO ','IDCHP ', & ! index 145 - 147 'Br2 ','EBZ ','HPALD3 ', & ! index 148 - 150 'IEPOXA ','IEPOXB ','MCRDH ', & ! index 151 - 153 'HONIT ','RP ','EOH ', & ! index 154 - 156 'BrCl ','CSL ','MACR1OOH ', & ! index 157 - 159 'C96O2H ','BPINOOH ','BPINON ', & ! index 160 - 162 'LIMKB ','MP ','R7N1 ', & ! index 163 - 165 'SALCAL ','LIMO ','IHN3 ', & ! index 166 - 168 'LIMO3H ','I2 ','C4HVP1 ', & ! index 169 - 171 'C4HVP2 ','RCOOH ','IDHDP ', & ! index 172 - 174 'IHN2 ','C96N ','LIMNB ', & ! index 175 - 177 'R7O2 ','SALAAL ','IDNOO ' /) ! index up to 180 CHARACTER(LEN=32), PARAMETER, DIMENSION(90) :: SPC_NAMES_2 = (/ & 'CH3Cl ','ICNOO ','C2H6 ', & ! index 181 - 183 'MPAN ','MVKPC ','INPD ', & ! index 184 - 186 'RIPA ','ROH ','ZRO2 ', & ! index 187 - 189 'ISOPNOO2 ','MTPA ','RIPB ', & ! index 190 - 192 'PIN ','MCRENOL ','PHEN ', & ! index 193 - 195 'R7N2 ','ACO3 ','IDHPE ', & ! index 196 - 198 'RIPD ','TMB ','AROMP5 ', & ! index 199 - 201 'MCT ','BENZO ','BALD ', & ! index 202 - 204 'ISOPNOO1 ','IDHNDOO1 ','IDHNDOO2 ', & ! index 205 - 207 'MVKHC ','RIPC ','HPETHNL ', & ! index 208 - 210 'LIMN ','BUTO2 ','GCO3 ', & ! index 211 - 213 'N2O5 ','ICHE ','MCRHNB ', & ! index 214 - 216 'H ','BrNO3 ','MTPO ', & ! index 217 - 219 'STYR ','AROMP4 ','INPB ', & ! index 220 - 222 'IHPOO1 ','IHPOO2 ','PINAL ', & ! index 223 - 225 'IHPNDOO ','MVKHCB ','CH4 ', & ! index 226 - 228 'PIP ','HPALD1 ','HPALD2 ', & ! index 229 - 231 'IHPOO3 ','ACR ','ETOO ', & ! index 232 - 234 'BZCO3 ','BENZO2 ','LIMKET ', & ! index 235 - 237 'HC5A ','HNO2 ','AROMCO3 ', & ! index 238 - 240 'CH3CHOO ','MONITU ','ICHOO ', & ! index 241 - 243 'ATOOH ','Cl2 ','MEKCO3 ', & ! index 244 - 246 'PROPNN ','MCRHN ','ALK4N1 ', & ! index 247 - 249 'PRN1 ','R4N2 ','IONO ', & ! index 250 - 252 'MCROHOO ','MVKOHOO ','LIMAL ', & ! index 253 - 255 'MONITS ','PINO3 ','ICPDH ', & ! index 256 - 258 'MACR1OO ','PO2 ','ETHLN ', & ! index 259 - 261 'MYRCO ','AROMRO2 ','H2O2 ', & ! index 262 - 264 'HCOOH ','ITCN ','IHN4 ', & ! index 265 - 267 'IHN1 ','NPHEN ','GLYX ' /) ! index up to 270 CHARACTER(LEN=32), PARAMETER, DIMENSION(86) :: SPC_NAMES_3 = (/ & 'IHPNBOO ','LIMKO2 ','BPINOO2 ', & ! index 271 - 273 'LIMO3 ','BPINO2 ','ISOP ', & ! index 274 - 276 'APINO2 ','C96O2 ','ALK4N2 ', & ! index 277 - 279 'OLNN ','LIMO2 ','MOH ', & ! index 280 - 282 'ACTA ','IO ','IEPOXBOO ', & ! index 283 - 285 'IEPOXAOO ','MCRHP ','MVKHP ', & ! index 286 - 288 'OLND ','PRPE ','PIO2 ', & ! index 289 - 291 'MEK ','IDHNBOO ','MGLY ', & ! index 292 - 294 'ACET ','ETO2 ','ClNO2 ', & ! index 295 - 297 'RCHO ','IDN ','ALK4O2 ', & ! index 298 - 300 'ICN ','MVKN ','ITHN ', & ! index 301 - 303 'IHOO4 ','IHOO1 ','GLYC ', & ! index 304 - 306 'HAC ','MACRNO2 ','MACR ', & ! index 307 - 309 'INO2B ','INO2D ','CH2OO ', & ! index 310 - 312 'ATO2 ','MVK ','OTHRO2 ', & ! index 313 - 315 'HOBr ','ClNO3 ','R4N1 ', & ! index 316 - 318 'R4O2 ','KO2 ','A3O2 ', & ! index 319 - 321 'RCO3 ','B3O2 ','MCO3 ', & ! index 322 - 324 'CH2O ','ALD2 ','HNO3 ', & ! index 325 - 327 'MO2 ','CO ','HOI ', & ! index 328 - 330 'I ','IONO2 ','HOCl ', & ! index 331 - 333 'O1D ','NO2 ','H2O ', & ! index 334 - 336 'HO2 ','ClO ','HCl ', & ! index 337 - 339 'Cl ','O3 ','Br ', & ! index 340 - 342 'O ','SALCCL ','OH ', & ! index 343 - 345 'NO ','BrO ','SO2 ', & ! index 346 - 348 'BrSALA ','BrSALC ','NO3 ', & ! index 349 - 351 'HBr ','SALACL ','H2 ', & ! index 352 - 354 'N2 ','O2 ' /) ! index up to 356 CHARACTER(LEN=32), PARAMETER, DIMENSION(356) :: SPC_NAMES = (/& SPC_NAMES_0, SPC_NAMES_1, SPC_NAMES_2, SPC_NAMES_3 /) INTEGER, DIMENSION(1) :: LOOKAT INTEGER, DIMENSION(1) :: MONITOR CHARACTER(LEN=32), DIMENSION(1) :: SMASS CHARACTER(LEN=100), PARAMETER, DIMENSION(30) :: EQN_NAMES_0 = (/ & 'SALAAL + O3 + SO2 --> LOx + PSO4 + SO4 - SALAAL ', & ! index 1 ' SALAAL + HCl --> SALACL ', & ! index 2 ' SALAAL + HNO3 --> NIT ', & ! index 3 'SALCAL + O3 + SO2 --> SO4s + LOx - SALCAL ', & ! index 4 ' SALCAL + HCl --> SALCCL ', & ! index 5 ' SALCAL + HNO3 --> NITs ', & ! index 6 ' H2O2 + SO2 --> PSO4 + SO4 ', & ! index 7 ' O3 + SO2 --> LOx + PSO4 + SO4 ', & ! index 8 ' SO2 --> PSO4 + SO4 ', & ! index 9 ' CH2O + SO2 --> HMS ', & ! index 10 ' HMS --> CH2O + SO2 ', & ! index 11 ' HMS + OH + SO2 --> 2 PSO4AQ + 2 PSO4 + 2 SO4 + CH2O ', & ! index 12 ' O3 + NO --> NO2 + O2 ', & ! index 13 ' O3 + OH --> LOx + HO2 + O2 ', & ! index 14 ' HO2 + O3 --> LOx + OH + 2 O2 ', & ! index 15 ' NO2 + O3 --> NO3 + O2 ', & ! index 16 ' MO2 + O3 --> LOx + CH2O + HO2 + O2 ', & ! index 17 ' 2 OH --> POx + H2O + O ', & ! index 18 ' 2 OH --> PH2O2 + H2O2 ', & ! index 19 ' HO2 + OH --> H2O + O2 ', & ! index 20 ' H2O2 + OH --> H2O + HO2 ', & ! index 21 ' HO2 + NO --> POx + NO2 + OH ', & ! index 22 ' 2 HO2 --> PH2O2 + H2O2 + O2 ', & ! index 23 ' CO + OH --> CO2 + LCO + HO2 ', & ! index 24 ' CH4 + OH --> LCH4 + MO2 + H2O ', & ! index 25 ' MO2 + NO --> POx + CH2O + NO2 + HO2 ', & ! index 26 ' MO2 + NO --> MENO3 ', & ! index 27 ' MO2 + HO2 --> MP + O2 ', & ! index 28 ' 2 MO2 --> MOH + CH2O + O2 ', & ! index 29 ' 2 MO2 --> 2 CH2O + 2 HO2 ' /) ! index up to 30 CHARACTER(LEN=100), PARAMETER, DIMENSION(30) :: EQN_NAMES_1 = (/ & ' MO2 + OH --> 0.13 MOH + 0.87 CH2O + 1.74 HO2 ', & ! index 31 ' MP + OH --> 0.3 CH2O + 0.7 MO2 + H2O + 0.3 OH ', & ! index 32 ' ATOOH + OH --> 0.3 MGLY + 0.7 ATO2 + H2O + 0.3 OH ', & ! index 33 ' CH2O + OH --> PCO + CO + H2O + HO2 ', & ! index 34 ' NO2 + OH --> HNO3 ', & ! index 35 ' HNO3 + OH --> POx + H2O + NO3 ', & ! index 36 ' OH + NO --> HNO2 ', & ! index 37 ' HNO2 + OH --> POx + NO2 + H2O ', & ! index 38 ' NO2 + HO2 --> HNO4 ', & ! index 39 ' HNO4 --> NO2 + HO2 ', & ! index 40 ' HNO4 + OH --> NO2 + H2O + O2 ', & ! index 41 ' HO2 + NO3 --> LOx + NO2 + OH + O2 ', & ! index 42 ' NO + NO3 --> 2 NO2 ', & ! index 43 ' OH + NO3 --> LOx + NO2 + HO2 ', & ! index 44 ' NO2 + NO3 --> N2O5 ', & ! index 45 ' N2O5 --> NO2 + NO3 ', & ! index 46 ' HCOOH + OH --> CO2 + H2O + HO2 ', & ! index 47 ' MOH + OH --> CH2O + HO2 ', & ! index 48 ' NO2 + NO3 --> 2 LOx + NO2 + NO + O2 ', & ! index 49 ' CH2O + NO3 --> LOx + PCO + HNO3 + CO + HO2 ', & ! index 50 ' ALD2 + OH --> 0.05 PCO + 0.95 MCO3 + 0.05 CH2O + 0.05 CO + H2O + 0.05 HO2 ', & ! index 51 ' ALD2 + NO3 --> LOx + MCO3 + HNO3 ', & ! index 52 ' MCO3 + NO2 --> PAN ', & ! index 53 ' PAN --> MCO3 + NO2 ', & ! index 54 ' PAN + OH --> PCO + CH2O + CO + NO2 ', & ! index 55 ' MCO3 + NO --> CO2 + POx + MO2 + NO2 ', & ! index 56 ' C2H6 + OH --> ETO2 + H2O ', & ! index 57 ' ETO2 + NO --> POx + ALD2 + NO2 + HO2 ', & ! index 58 ' ETO2 + NO --> ETNO3 ', & ! index 59 ' OTHRO2 + NO --> POx + ALD2 + NO2 + HO2 ' /) ! index up to 60 CHARACTER(LEN=100), PARAMETER, DIMENSION(30) :: EQN_NAMES_2 = (/ & ' C3H8 + OH --> B3O2 ', & ! index 61 ' C3H8 + OH --> A3O2 ', & ! index 62 ' A3O2 + NO --> POx + RCHO + NO2 + HO2 ', & ! index 63 ' A3O2 + NO --> NPRNO3 ', & ! index 64 ' PO2 + NO --> POx + CH2O + ALD2 + NO2 + HO2 ', & ! index 65 ' ALK6 + OH --> R7O2 ', & ! index 66 ' ALK6 + NO3 --> LOx + R7O2 + HNO3 ', & ! index 67 ' R7O2 + NO --> POx + 0.25 MEK + 0.75 RCHO + 0.25 R4O2 + NO2 + 0.75 HO2 ', & ! index 68 ' R7O2 + NO --> R7N2 ', & ! index 69 ' R7O2 + HO2 --> R7P ', & ! index 70 ' R7P + OH --> 0.5 R7O2 + 0.5 RCHO + 0.5 OH ', & ! index 71 ' R7N2 + OH --> R7N1 + H2O ', & ! index 72 ' R7N1 + NO --> 2 POx + 1.24 RCHO + 0.98 CH2O + 0.65 ALD2 + 2 NO2 ', & ! index 73 ' R7N1 + HO2 --> R7N2 ', & ! index 74 ' C4H6 + OH --> BUTO2 ', & ! index 75 ' C4H6 + NO3 --> LOx + ACR + CH2O + NO2 ', & ! index 76 ' C4H6 + O3 --> LOx + ACR + CH2O ', & ! index 77 ' BUTO2 + NO --> 0.942 POx + 0.058 BUTN + 0.73 ACR + 0.326 RCHO + 0.603 CH2O + 0.942 NO... etc.', & ! index 78 ' BUTO2 + HO2 --> 0.894 RCHO + 0.659 GLYC ', & ! index 79 ' BUTN + OH --> POx + PCO + GLYC + CH2O + CO + NO2 + HO2 ', & ! index 80 ' ACR + OH --> 0.255 ACRO2 + 0.68 ACO3 + 0.065 GLYX + 0.065 CH2O + 0.425 HO2 ', & ! index 81 ' ACRO2 + NO --> POx + PCO + GLYC + CO + NO2 + HO2 ', & ! index 82 ' ACRO2 + HO2 --> PCO + GLYC + CO + HO2 ', & ! index 83 ' ACO3 + HO2 --> PCO + 0.5 GLYC + CH2O + CO + 0.25 HO2 + 0.25 OH ', & ! index 84 ' ACO3 + NO --> POx + PCO + CH2O + CO + NO2 + HO2 ', & ! index 85 ' ACO3 + NO2 --> LOx + APAN ', & ! index 86 ' APAN --> POx + ACO3 + NO2 ', & ! index 87 ' APAN + OH --> 2 POx + PCO + GLYC + CO + NO3 ', & ! index 88 ' ALK4 + OH --> R4O2 ', & ! index 89 ' ALK4O2 + NO --> POx + 0.19 MEK + 0.34 ACET + 0.15 RCHO + 0.34 OTHRO2 + 0.05 A3O2 + 0.1... etc.' /) ! index up to 90 CHARACTER(LEN=100), PARAMETER, DIMENSION(30) :: EQN_NAMES_3 = (/ & ' ALK4O2 + NO --> POx + ALK4N2 ', & ! index 91 ' ALK4N1 + NO --> POx + 0.64 RCHO + 0.64 CH2O + 0.97 ALD2 + 2 NO2 ', & ! index 92 ' R4O2 + NO --> POx + 0.19 MEK + 0.34 ACET + 0.15 RCHO + 0.34 OTHRO2 + 0.05 A3O2 + 0.1... etc.', & ! index 93 ' R4O2 + NO --> POx + R4N2 ', & ! index 94 ' R4N1 + NO --> POx + 0.64 RCHO + 0.64 CH2O + 0.97 ALD2 + 2 NO2 ', & ! index 95 ' ATO2 + NO --> POx + MCO3 + CH2O + NO2 ', & ! index 96 ' KO2 + NO --> POx + 0.072 ALK4N2 + 0.919 MCO3 + 0.919 ALD2 + 0.928 NO2 ', & ! index 97 ' B3O2 + NO --> POx + ACET + NO2 + HO2 ', & ! index 98 ' B3O2 + NO --> IPRNO3 ', & ! index 99 ' PRN1 + NO --> POx + CH2O + ALD2 + 2 NO2 ', & ! index 100 ' ALK4 + NO3 --> LOx + ALK4O2 + HNO3 ', & ! index 101 ' R4N2 + OH --> R4N1 + H2O ', & ! index 102 ' ALK4N2 + OH --> ALK4N1 + H2O ', & ! index 103 ' ACTA + OH --> CO2 + MO2 + H2O ', & ! index 104 ' RCHO + OH --> RCO3 + H2O ', & ! index 105 ' RCO3 + NO2 --> PPN ', & ! index 106 ' PPN --> RCO3 + NO2 ', & ! index 107 ' PPN + OH --> PCO + ALD2 + CO + NO2 ', & ! index 108 ' RCO3 + NO --> CO2 + POx + 0.49 OTHRO2 + 0.07 A3O2 + 0.27 B3O2 + NO2 ', & ! index 109 ' RCHO + NO3 --> LOx + RCO3 + HNO3 ', & ! index 110 ' ACET + OH --> ATO2 + H2O ', & ! index 111 ' A3O2 + MO2 --> 0.25 ROH + 0.25 MOH + 0.75 RCHO + 0.75 CH2O + HO2 ', & ! index 112 ' PO2 + MO2 --> 0.25 ROH + 0.25 MOH + 0.09 RCHO + 0.16 HAC + 1.25 CH2O + 0.5 ALD2 + HO2 ', & ! index 113 ' R4O2 + HO2 --> R4P ', & ! index 114 ' R4N1 + HO2 --> R4N2 ', & ! index 115 ' ALK4O2 + HO2 --> ALK4P ', & ! index 116 ' ALK4N1 + HO2 --> ALK4N2 ', & ! index 117 ' ATO2 + HO2 --> 0.85 ATOOH + 0.15 MCO3 + 0.15 CH2O + 0.15 OH ', & ! index 118 ' KO2 + HO2 --> 0.85 ATOOH + 0.15 MCO3 + 0.15 ALD2 + 0.85 MO2 + 0.15 OH ', & ! index 119 ' B3O2 + HO2 --> RB3P ' /) ! index up to 120 CHARACTER(LEN=100), PARAMETER, DIMENSION(30) :: EQN_NAMES_4 = (/ & ' PRN1 + HO2 --> PRPN ', & ! index 121 ' MEK + OH --> KO2 + H2O ', & ! index 122 ' KO2 + NO --> POx + 0.31 MEKCO3 + 0.07 R4N2 + 0.62 MCO3 + 0.31 CH2O + 0.62 ALD2 + 0.93 NO2 ', & ! index 123 ' MEKCO3 + NO2 --> LOx + MEKPN ', & ! index 124 ' MEKPN --> POx + MEKCO3 + NO2 ', & ! index 125 ' MEKPN + OH --> POx + PCO + GLYC + CO + NO2 ', & ! index 126 ' MEKCO3 + NO --> CO2 + POx + ETOO + NO2 ', & ! index 127 ' MEKCO3 + HO2 --> 0.44 CO2 + 0.15 POx + 0.41 RP + 0.15 RCOOH + 0.44 ETOO + 0.15 O3 + 0.44 OH ', & ! index 128 ' ETO2 + MO2 --> 0.25 EOH + 0.25 MOH + 0.75 CH2O + 0.75 ALD2 + HO2 ', & ! index 129 ' OTHRO2 + MO2 --> 0.25 EOH + 0.25 MOH + 0.75 CH2O + 0.75 ALD2 + HO2 ', & ! index 130 ' MEK + NO3 --> LOx + KO2 + HNO3 ', & ! index 131 ' R4O2 + MO2 --> 0.38 ROH + 0.25 MOH + 0.35 MEK + 0.16 ACET + 0.13 RCHO + 0.16 OTHRO2 +... etc.', & ! index 132 ' R4N1 + MO2 --> 0.375 ROH + 0.25 MOH + 0.58 RCHO + 0.15 R4O2 + 0.95 CH2O + 0.38 ALD2 +... etc.', & ! index 133 ' ALK4O2 + MO2 --> 0.38 ROH + 0.25 MOH + 0.35 MEK + 0.16 ACET + 0.13 RCHO + 0.16 OTHRO2 +... etc.', & ! index 134 ' ALK4N1 + MO2 --> 0.375 ROH + 0.25 MOH + 0.58 RCHO + 0.15 R4O2 + 0.95 CH2O + 0.38 ALD2 +... etc.', & ! index 135 ' ATO2 + MO2 --> 0.3 CO2 + 0.5 MOH + 0.5 MGLY + 0.2 HAC + 0.3 MCO3 + 0.5 CH2O + 0.3 HO2 ', & ! index 136 ' KO2 + MO2 --> 0.25 ROH + 0.25 MOH + 0.25 MEK + 0.5 MCO3 + 0.75 CH2O + 0.5 ALD2 + 0.2... etc.', & ! index 137 ' B3O2 + MO2 --> 0.25 ROH + 0.25 MOH + 0.75 ACET + 0.75 CH2O + HO2 ', & ! index 138 ' PRN1 + MO2 --> 0.25 ROH + 0.25 MOH + 0.25 RCHO + 1.25 CH2O + 0.5 ALD2 + NO2 + 0.5 HO2 ', & ! index 139 ' EOH + OH --> ALD2 + HO2 ', & ! index 140 ' ROH + OH --> RCHO + HO2 ', & ! index 141 ' 2 ETO2 --> 0.4 EOH + 1.6 ALD2 + 1.2 HO2 ', & ! index 142 ' 2 OTHRO2 --> 0.4 EOH + 1.6 ALD2 + 1.2 HO2 ', & ! index 143 ' ETO2 + HO2 --> ETP ', & ! index 144 ' OTHRO2 + HO2 --> ETP ', & ! index 145 ' A3O2 + HO2 --> RA3P ', & ! index 146 ' PO2 + HO2 --> PP ', & ! index 147 ' RCO3 + HO2 --> 0.43 CO2 + 0.15 POx + 0.41 RP + 0.15 RCOOH + 0.22 OTHRO2 + 0.03 A3O2 +... etc.', & ! index 148 ' PRPE + OH --> PO2 ', & ! index 149 ' PRPE + O3 --> 0.1 CO2 + LOx + 0.56 PCO + 0.1 CH4 + 0.12 CH3CHOO + 0.22 CH2OO + 0.5 C... etc.' /) ! index up to 150 CHARACTER(LEN=100), PARAMETER, DIMENSION(30) :: EQN_NAMES_5 = (/ & ' GLYC + OH --> 0.361 CO2 + 0.505 PCO + 0.134 HCOOH + 0.134 GLYX + 0.732 CH2O + 0.505 ... etc.', & ! index 151 ' GLYC + OH --> PCO + HCOOH + CO + OH ', & ! index 152 ' GLYC + OH --> 0.8 GCO3 + 0.2 GLYX + 0.2 HO2 ', & ! index 153 ' GLYC + NO3 --> LOx + GCO3 + HNO3 ', & ! index 154 ' GCO3 + NO2 --> LOx + PHAN ', & ! index 155 ' PHAN --> POx + GCO3 + NO2 ', & ! index 156 ' GCO3 + NO --> POx + CH2O + NO2 + HO2 ', & ! index 157 ' GCO3 + HO2 --> 0.44 CO2 + 0.15 POx + 0.56 HACTA + 0.44 CH2O + 0.44 HO2 + 0.15 O3 + 0.44 OH ', & ! index 158 ' GCO3 + NO3 --> LOx + CH2O + NO2 + HO2 ', & ! index 159 ' PHAN + OH --> POx + PCO + CH2O + CO + NO2 ', & ! index 160 ' HACTA + OH --> CH2O + HO2 ', & ! index 161 ' PRPE + NO3 --> LOx + PRN1 ', & ! index 162 ' GLYX + OH --> 2 PCO + 2 CO + HO2 ', & ! index 163 ' MGLY + OH --> PCO + MCO3 + CO ', & ! index 164 ' GLYX + NO3 --> LOx + 2 PCO + HNO3 + 2 CO + HO2 ', & ! index 165 ' MGLY + NO3 --> LOx + PCO + MCO3 + HNO3 + CO ', & ! index 166 ' HAC + OH --> MGLY + HO2 ', & ! index 167 ' HAC + OH --> 0.5 CO2 + 0.5 PCO + 0.5 HCOOH + 0.5 ACTA + 0.5 MO2 + 0.5 CO + OH ', & ! index 168 ' PRPN + OH --> 0.791 PROPNN + 0.209 PRN1 + 0.791 OH ', & ! index 169 ' ETP + OH --> 0.36 OTHRO2 + 0.64 ALD2 + 0.64 OH ', & ! index 170 ' RA3P + OH --> 0.64 RCHO + 0.36 A3O2 + 0.64 OH ', & ! index 171 ' RB3P + OH --> 0.791 ACET + 0.209 B3O2 + 0.791 OH ', & ! index 172 ' R4P + OH --> 1.185 RCHO + 0.21 R4O2 + 0.79 OH ', & ! index 173 ' ALK4P + OH --> 1.185 RCHO + 0.21 ALK4O2 + 0.79 OH ', & ! index 174 ' RP + OH --> RCO3 ', & ! index 175 ' PP + OH --> 0.209 PO2 + 0.791 HAC + 0.791 OH ', & ! index 176 ' LVOC + OH --> OH ', & ! index 177 ' MAP + OH --> 0.22 CO2 + 0.78 MCO3 + 0.22 CH2O + 0.22 OH ', & ! index 178 ' C2H6 + NO3 --> LOx + ETO2 + HNO3 ', & ! index 179 ' 2 MCO3 --> 2 CO2 + 2 MO2 ' /) ! index up to 180 CHARACTER(LEN=100), PARAMETER, DIMENSION(30) :: EQN_NAMES_6 = (/ & ' MCO3 + MO2 --> 0.9 CO2 + 0.1 ACTA + CH2O + 0.9 MO2 + 0.9 HO2 ', & ! index 181 ' R4O2 + MCO3 --> 0.9 CO2 + 0.1 ACTA + 0.271 MEK + 0.29 ACET + 0.255 RCHO + 0.29 OTHRO2 ... etc.', & ! index 182 ' ALK4O2 + MCO3 --> 0.9 CO2 + 0.1 ACTA + 0.271 MEK + 0.29 ACET + 0.255 RCHO + 0.29 OTHRO2 ... etc.', & ! index 183 ' ATO2 + MCO3 --> 0.9 CO2 + 0.1 ACTA + 0.1 MGLY + 0.9 MCO3 + 0.9 CH2O + 0.9 MO2 ', & ! index 184 ' KO2 + MCO3 --> 0.9 CO2 + 0.1 ACTA + 0.1 MEK + 0.9 MCO3 + 0.9 ALD2 + 0.9 MO2 ', & ! index 185 ' B3O2 + MCO3 --> 0.9 CO2 + 0.1 ACTA + ACET + 0.9 MO2 + 0.9 HO2 ', & ! index 186 ' R4N1 + MCO3 --> 0.645 CO2 + 0.1 ACTA + 0.613 RCHO + 0.27 R4O2 + 0.351 CH2O + 0.675 ALD... etc.', & ! index 187 ' ALK4N1 + MCO3 --> 0.645 CO2 + 0.1 ACTA + 0.613 RCHO + 0.27 R4O2 + 0.351 CH2O + 0.675 ALD... etc.', & ! index 188 ' PRN1 + MCO3 --> 0.9 CO2 + 0.1 ACTA + 0.1 RCHO + 0.9 CH2O + 0.9 ALD2 + 0.9 MO2 + NO2 ', & ! index 189 ' ETO2 + MCO3 --> 0.9 CO2 + 0.1 ACTA + ALD2 + 0.9 MO2 + 0.9 HO2 ', & ! index 190 ' OTHRO2 + MCO3 --> 0.9 CO2 + 0.1 ACTA + ALD2 + 0.9 MO2 + 0.9 HO2 ', & ! index 191 ' PO2 + MCO3 --> 0.9 CO2 + 0.1 ACTA + 0.035 RCHO + 0.065 HAC + 0.9 CH2O + 0.9 ALD2 + 0.... etc.', & ! index 192 ' A3O2 + MCO3 --> 0.9 CO2 + 0.1 ACTA + RCHO + 0.9 MO2 + 0.9 HO2 ', & ! index 193 ' RCO3 + MCO3 --> 2 CO2 + 0.49 OTHRO2 + 0.07 A3O2 + 0.27 B3O2 + MO2 ', & ! index 194 ' RCO3 + MO2 --> CO2 + 0.49 OTHRO2 + 0.07 A3O2 + 0.27 B3O2 + CH2O + HO2 ', & ! index 195 ' 2 NO3 --> 2 LOx + 2 NO2 + O2 ', & ! index 196 ' MO2 + NO2 --> MPN ', & ! index 197 ' MPN --> MO2 + NO2 ', & ! index 198 ' DMS + OH --> CH2O + MO2 + SO2 ', & ! index 199 ' DMS + OH --> 0.25 MSA + MO2 + 0.75 SO2 ', & ! index 200 ' DMS + NO3 --> LOx + CH2O + HNO3 + MO2 + SO2 ', & ! index 201 ' OH + SO2 --> PH2SO4 + PSO4 + SO4 + HO2 ', & ! index 202 ' O3 + Br --> BrO + O2 ', & ! index 203 ' HO2 + BrO --> HOBr + O2 ', & ! index 204 ' HO2 + Br --> HBr + O2 ', & ! index 205 ' OH + HBr --> H2O + Br ', & ! index 206 ' 2 BrO --> 2 LOx + 2 Br + O2 ', & ! index 207 ' 2 BrO --> 2 LOx + Br2 + O2 ', & ! index 208 ' NO + BrO --> NO2 + Br ', & ! index 209 ' BrNO3 + Br --> Br2 + NO3 ' /) ! index up to 210 CHARACTER(LEN=100), PARAMETER, DIMENSION(30) :: EQN_NAMES_7 = (/ & ' Br2 + OH --> POx + HOBr + Br ', & ! index 211 ' HOBr + O --> LOx + OH + BrO ', & ! index 212 ' O + HBr --> LOx + Br + OH ', & ! index 213 ' OH + BrO --> LOx + HO2 + Br ', & ! index 214 ' Br + NO3 --> NO2 + BrO ', & ! index 215 ' CH2O + Br --> PCO + CO + HO2 + HBr ', & ! index 216 ' ALD2 + Br --> MCO3 + HBr ', & ! index 217 ' ACET + Br --> ATO2 + HBr ', & ! index 218 ' C2H6 + Br --> ETO2 + HBr ', & ! index 219 ' C3H8 + Br --> A3O2 + HBr ', & ! index 220 ' NO2 + Br --> BrNO2 ', & ! index 221 ' NO2 + BrO --> BrNO3 ', & ! index 222 ' CHBr3 + OH --> 3 Br ', & ! index 223 ' CH2Br2 + OH --> 2 Br ', & ! index 224 ' CH3Br + OH --> H2O + HO2 + Br ', & ! index 225 ' O1D + H2O --> LOx + 2 OH ', & ! index 226 ' O1D + N2 --> O + N2 ', & ! index 227 ' O1D + O2 --> O + O2 ', & ! index 228 ' O1D + H2 --> LOx + H + OH ', & ! index 229 ' N2O + O1D --> LOx + 1.22 NO + 0.39 N2 + 0.39 O2 ', & ! index 230 ' CH4 + O1D --> LOx + LCH4 + 0.2 H + 0.25 CH2O + 0.75 MO2 + 0.2 HO2 + 0.75 OH + 0.05 H2 ', & ! index 231 ' O + O2 --> O3 ', & ! index 232 ' O3 + O --> 2 LOx + 2 O2 ', & ! index 233 ' OH + H2 --> H + H2O ', & ! index 234 ' O + OH --> LOx + H + O2 ', & ! index 235 ' HO2 + O --> LOx + OH + O2 ', & ! index 236 ' O1D + O3 --> LOx + O + 1.5 O2 ', & ! index 237 ' OCS + O --> LOx + PCO + CO + SO2 ', & ! index 238 ' OCS + OH --> CO2 + SO2 ', & ! index 239 ' NO2 + O --> 2 LOx + NO + O2 ' /) ! index up to 240 CHARACTER(LEN=100), PARAMETER, DIMENSION(30) :: EQN_NAMES_8 = (/ & ' O + NO3 --> 2 LOx + NO2 + O2 ', & ! index 241 ' O + NO --> NO2 ', & ! index 242 ' NO2 + O --> NO3 ', & ! index 243 ' H2O2 + O --> LOx + HO2 + OH ', & ! index 244 ' H + O2 --> HO2 ', & ! index 245 ' H + O3 --> LOx + OH + O2 ', & ! index 246 ' H + HO2 --> 0.02 POx + 0.02 H2O + 0.02 O + 1.788 OH + 0.086 H2 + 0.086 O2 ', & ! index 247 ' N + O2 --> POx + O + NO ', & ! index 248 ' N + NO --> POx + O + N2 ', & ! index 249 ' N + NO2 --> N2O + O ', & ! index 250 ' O + BrO --> 2 LOx + Br + O2 ', & ! index 251 ' CH2O + O --> LOx + PCO + CO + HO2 + OH ', & ! index 252 ' O1D + HCl --> 0.66 LOx + 0.22 H + 0.22 ClO + 0.12 HCl + 0.66 Cl + 0.12 O + 0.66 OH ', & ! index 253 ' O1D + HBr --> 0.6 LOx + 0.2 H + 0.6 Br + 0.2 O + 0.6 OH + 0.2 BrO + 0.2 HBr ', & ! index 254 ' Cl2 + O1D --> 0.25 Cl2 + 0.75 ClO + 0.75 Cl + 0.25 O ', & ! index 255 ' CCl4 + O1D --> 0.21 CCl4 + 0.79 ClO + 2.37 Cl + 0.21 O ', & ! index 256 ' CH3Cl + O1D --> 0.44 LOx + 0.1 CH3Cl + 0.09 H + 0.9 MO2 + 0.46 ClO + 0.35 Cl + 0.1 O ', & ! index 257 ' CH3Br + O1D --> 0.56 LOx + MO2 + 0.56 Br + 0.44 BrO ', & ! index 258 ' CH2Br2 + O1D --> 0.05 CH2Br2 + 0.95 Br + 0.05 O + 0.95 BrO ', & ! index 259 ' CHBr3 + O1D --> 0.3 CHBr3 + 1.4 Br + 0.3 O + 0.7 BrO ', & ! index 260 ' HCFC22 + O1D --> 0.19 LOx + 0.25 HCFC22 + 0.56 ClO + 0.19 Cl + 0.25 O + 0.05 OH ', & ! index 261 ' CFC11 + O1D --> 0.1 CFC11 + 0.9 ClO + 1.8 Cl + 0.1 O ', & ! index 262 ' CFC12 + O1D --> 0.14 CFC12 + 0.86 ClO + 0.86 Cl + 0.14 O ', & ! index 263 ' H1211 + O1D --> 0.35 H1211 + 0.34 ClO + 0.31 Cl + 0.34 Br + 0.35 O + 0.31 BrO ', & ! index 264 ' H1301 + O1D --> 0.55 H1301 + 0.55 O + 0.45 BrO ', & ! index 265 ' HCFC141b + O1D --> 0.31 HCFC141b + 0.69 ClO + 0.69 Cl + 0.31 O ', & ! index 266 ' HCFC142b + O1D --> 0.35 HCFC142b + 0.65 ClO + 0.35 O ', & ! index 267 ' HCFC123 + O1D --> 0.21 HCFC123 + 0.79 ClO + 0.79 Cl + 0.21 O ', & ! index 268 ' CFC113 + O1D --> 0.1 LOx + 0.1 CFC113 + 0.8 ClO + 1.9 Cl + 0.1 O ', & ! index 269 ' CFC114 + O1D --> 0.05 LOx + 0.1 CFC114 + 0.85 ClO + 0.95 Cl + 0.1 O ' /) ! index up to 270 CHARACTER(LEN=100), PARAMETER, DIMENSION(30) :: EQN_NAMES_9 = (/ & ' CFC115 + O1D --> 0.14 CFC115 + 0.86 ClO + 0.14 O ', & ! index 271 ' H2402 + O1D --> 0.25 H2402 + 0.75 Br + 0.25 O + 0.75 BrO ', & ! index 272 ' Cl2 + OH --> POx + HOCl + Cl ', & ! index 273 ' MO2 + ClO --> LOx + ClOO + CH2O + HO2 ', & ! index 274 ' ClO + OH --> LOx + HO2 + Cl ', & ! index 275 ' ClO + OH --> LOx + HCl + O2 ', & ! index 276 ' OClO + OH --> LOx + HOCl + O2 ', & ! index 277 ' Cl2O2 + OH --> LOx + ClOO + HOCl ', & ! index 278 ' HCl + OH --> H2O + Cl ', & ! index 279 ' HOCl + OH --> H2O + ClO ', & ! index 280 ' ClNO2 + OH --> POx + HOCl + NO2 ', & ! index 281 ' ClNO3 + OH --> POx + HOCl + NO3 ', & ! index 282 ' CH3Cl + OH --> H2O + HO2 + Cl ', & ! index 283 ' CH2Cl2 + OH --> HO2 + 2 Cl ', & ! index 284 ' CHCl3 + OH --> HO2 + 3 Cl ', & ! index 285 ' CH3CCl3 + OH --> H2O + 3 Cl ', & ! index 286 ' HCFC22 + OH --> H2O + Cl ', & ! index 287 ' HCFC141b + OH --> H2O + 2 Cl ', & ! index 288 ' HCFC142b + OH --> H2O + Cl ', & ! index 289 ' HCFC123 + OH --> H2O + 2 Cl ', & ! index 290 ' CH4 + Cl --> LCH4 + MO2 + HCl ', & ! index 291 ' CH2O + Cl --> PCO + CO + HO2 + HCl ', & ! index 292 ' Cl + O3 --> ClO + O2 ', & ! index 293 ' Cl + H2 --> H + HCl ', & ! index 294 ' H2O2 + Cl --> HO2 + HCl ', & ! index 295 ' HO2 + Cl --> HCl + O2 ', & ! index 296 ' HO2 + Cl --> POx + ClO + OH ', & ! index 297 ' ClO + O --> 2 LOx + Cl + O2 ', & ! index 298 ' HO2 + ClO --> HOCl + O2 ', & ! index 299 ' ClO + NO --> NO2 + Cl ' /) ! index up to 300 CHARACTER(LEN=100), PARAMETER, DIMENSION(30) :: EQN_NAMES_10 = (/ & ' NO2 + ClO --> ClNO3 ', & ! index 301 ' 2 ClO --> 2 LOx + Cl2 + O2 ', & ! index 302 ' 2 ClO --> 2 LOx + ClOO + Cl ', & ! index 303 ' 2 ClO --> OClO + Cl ', & ! index 304 ' Cl + O2 --> ClOO ', & ! index 305 ' ClOO --> Cl + O2 ', & ! index 306 ' 2 ClO --> Cl2O2 ', & ! index 307 ' Cl2O2 --> 2 ClO ', & ! index 308 ' ClOO + Cl --> 0.1 POx + 0.95 Cl2 + 0.1 ClO + 0.95 O2 ', & ! index 309 ' ClO + BrO --> OClO + Br ', & ! index 310 ' ClO + BrO --> 2 LOx + ClOO + Br ', & ! index 311 ' ClO + BrO --> 2 LOx + BrCl + O2 ', & ! index 312 ' ClNO3 + O --> ClO + NO3 ', & ! index 313 ' ClNO3 + Cl --> Cl2 + NO3 ', & ! index 314 ' CH3Cl + Cl --> PCO + CO + HO2 + 2 HCl ', & ! index 315 ' CH2Cl2 + Cl --> PCO + CO + HO2 + HCl + 2 Cl ', & ! index 316 ' CHCl3 + Cl --> PCO + CO + HO2 + HCl + 3 Cl ', & ! index 317 ' HCOOH + Cl --> CO2 + H2O + HCl ', & ! index 318 ' MO2 + Cl --> POx + CH2O + HO2 + ClO ', & ! index 319 ' MP + Cl --> MO2 + HCl ', & ! index 320 ' C2H6 + Cl --> ETO2 + HCl ', & ! index 321 ' ETO2 + Cl --> POx + ALD2 + HO2 + ClO ', & ! index 322 ' OTHRO2 + Cl --> POx + ALD2 + HO2 + ClO ', & ! index 323 ' MOH + Cl --> CH2O + HO2 + HCl ', & ! index 324 ' EOH + Cl --> ALD2 + HCl ', & ! index 325 ' ACTA + Cl --> CO2 + MO2 + HCl ', & ! index 326 ' C3H8 + Cl --> B3O2 + HCl ', & ! index 327 ' C3H8 + Cl --> A3O2 + HCl ', & ! index 328 ' ACET + Cl --> ATO2 + HCl ', & ! index 329 ' ISOP + Cl --> 0.5 IHOO4 + 0.5 IHOO1 + HCl ' /) ! index up to 330 CHARACTER(LEN=100), PARAMETER, DIMENSION(30) :: EQN_NAMES_11 = (/ & ' ALK4 + Cl --> ALK4O2 + HCl ', & ! index 331 ' PRPE + Cl --> PO2 + HCl ', & ! index 332 ' PRPE + Br --> PO2 + HBr ', & ! index 333 ' I + NO --> INO ', & ! index 334 ' 2 INO --> I2 + 2 NO ', & ! index 335 ' I + NO2 --> IONO ', & ! index 336 ' IONO --> I + NO2 ', & ! index 337 ' 2 IONO --> I2 + 2 NO2 ', & ! index 338 ' I2 + NO3 --> I + IONO2 ', & ! index 339 ' IO + NO2 --> IONO2 ', & ! index 340 ' IONO2 --> IO + NO2 ', & ! index 341 ' I + IONO2 --> I2 + NO3 ', & ! index 342 ' I + BrO --> IO + Br ', & ! index 343 ' IO + BrO --> 0.4 LOx + 0.8 OIO + 0.2 I + Br + 0.2 O2 ', & ! index 344 ' OIO + IO --> I2O3 ', & ! index 345 ' 2 OIO --> I2O4 ', & ! index 346 ' I2O4 --> 2 OIO ', & ! index 347 ' OIO + NO --> IO + NO2 ', & ! index 348 ' IO + ClO --> 0.88 LOx + 0.191 ICl + 0.56 OClO + 0.809 I + 0.249 Cl + 0.44 O2 ', & ! index 349 ' I + O3 --> IO + O2 ', & ! index 350 ' I + HO2 --> HI + O2 ', & ! index 351 ' I2 + OH --> POx + HOI + I ', & ! index 352 ' HI + OH --> I + H2O ', & ! index 353 ' HOI + OH --> IO + H2O ', & ! index 354 ' IO + HO2 --> HOI + O2 ', & ! index 355 ' IO + NO --> I + NO2 ', & ! index 356 ' 2 IO --> 0.6 I2O2 + 0.4 OIO + 0.4 I ', & ! index 357 ' I2O2 --> 0.996 OIO + 0.008 IO + 0.996 I ', & ! index 358 ' CH3I + OH --> MO2 + I + H2O ', & ! index 359 ' ETHLN + OH --> CO2 + CH2O + NO2 ' /) ! index up to 360 CHARACTER(LEN=100), PARAMETER, DIMENSION(30) :: EQN_NAMES_12 = (/ & ' PROPNN + OH --> MGLY + NO2 ', & ! index 361 ' CH2OO + CO --> CO2 + LCO + CH2O ', & ! index 362 ' CH2OO + NO --> POx + CH2O + NO2 ', & ! index 363 ' CH2OO + NO2 --> POx + CH2O + NO3 ', & ! index 364 ' CH2OO + H2O --> 0.06 PH2O2 + 0.73 HMHP + 0.06 H2O2 + 0.21 HCOOH + 0.06 CH2O ', & ! index 365 ' CH2OO + 2 H2O --> 0.06 PH2O2 + 0.4 HMHP + 0.06 H2O2 + 0.54 HCOOH + 0.06 CH2O ', & ! index 366 ' CH2OO + O3 --> LOx + CH2O ', & ! index 367 ' CH2OO + SO2 --> PH2SO4 + PSO4 + SO4 + CH2O ', & ! index 368 ' CH3CHOO + CO --> CO2 + LCO + ALD2 ', & ! index 369 ' CH3CHOO + NO --> POx + ALD2 + NO2 ', & ! index 370 ' CH3CHOO + NO2 --> POx + ALD2 + NO3 ', & ! index 371 ' CH3CHOO + SO2 --> PH2SO4 + PSO4 + SO4 + ALD2 ', & ! index 372 ' CH3CHOO + H2O --> PH2O2 + H2O2 + ALD2 ', & ! index 373 ' CH3CHOO + H2O --> ACTA ', & ! index 374 ' MTPA + NO3 --> LOx + 0.1 OLNN + 0.9 OLND ', & ! index 375 ' MTPO + NO3 --> LOx + 0.1 OLNN + 0.9 OLND ', & ! index 376 ' LIMO + NO3 --> LOx + 0.5 OLNN + 0.5 OLND ', & ! index 377 ' LIMO + OH --> LIMO2 ', & ! index 378 ' LIMO + O3 --> LOx + 0.15 PCO + 0.27 LIMAL + 0.15 AROMRO2 + 0.715 LIMO3 + 0.15 CO + 0.865 OH ', & ! index 379 ' MTPO + OH --> 0.15 BPINO2 + 0.15 APINO2 + 0.2 LIMO2 + 0.5 PIO2 ', & ! index 380 ' MTPO + O3 --> LOx + 0.4 MYRCO + 0.5 AROMRO2 + 0.5 MEK + 0.5 ACET + 0.3 RCHO + 0.15 M... etc.', & ! index 381 ' MTPA + OH --> 0.255 BPINO2 + 0.67 APINO2 + 0.075 LIMO2 ', & ! index 382 ' MTPA + O3 --> LOx + 0.1 PCO + 0.2 BPINO + 0.2 PINAL + 0.1 BPINOO2 + 0.5 APINO2 + 0.1... etc.', & ! index 383 ' APINO2 + HO2 --> APINP ', & ! index 384 ' APINO2 + NO --> 0.75 POx + 0.25 APINN + 0.75 PINAL + 0.75 NO2 + 0.75 HO2 ', & ! index 385 ' APINO2 + NO3 --> LOx + PINAL + NO2 + HO2 ', & ! index 386 ' APINP + OH --> 0.4 PINO3 + 0.6 APINO2 ', & ! index 387 ' APINN + OH --> 0.5 POx + 0.5 C96N + 0.5 PINAL + 0.5 AROMRO2 + 0.5 CH2O + 0.5 NO2 + 0.5 HO2 ', & ! index 388 ' PINAL + NO3 --> LOx + PINO3 + HNO3 ', & ! index 389 ' PINAL + OH --> PINO3 ' /) ! index up to 390 CHARACTER(LEN=100), PARAMETER, DIMENSION(30) :: EQN_NAMES_13 = (/ & ' PINO3 + HO2 --> 0.15 POx + 0.15 PINONIC + 0.41 PINO3H + 0.44 C96O2 + 0.15 O3 + 0.44 OH ', & ! index 391 ' PINO3 + NO --> CO2 + POx + C96O2 + NO2 ', & ! index 392 ' PINO3 + NO2 --> LOx + PINPAN ', & ! index 393 ' PINPAN --> POx + PINO3 + NO2 ', & ! index 394 ' PINO3 + NO3 --> CO2 + LOx + C96O2 + NO2 ', & ! index 395 ' PINO3H + OH --> PINO3 ', & ! index 396 ' PINONIC + OH --> CO2 + C96O2 ', & ! index 397 ' C96O2 + HO2 --> C96O2H ', & ! index 398 ' C96O2 + NO --> 0.84 POx + 0.16 C96N + 0.84 AROMRO2 + 0.42 MEK + 0.84 ACET + 0.84 RCO3... etc.', & ! index 399 ' C96O2 + NO3 --> LOx + AROMRO2 + 0.5 MEK + ACET + RCO3 + CH2O + NO2 ', & ! index 400 ' C96O2 + MO2 --> 0.25 C96O2H + 0.75 AROMRO2 + 0.25 MOH + 0.375 MEK + 0.75 ACET + 0.75 R... etc.', & ! index 401 ' C96O2H + OH --> 0.5 AROMRO2 + 0.5 C96O2 + 0.25 MEK + 0.5 ACET + 0.5 RCO3 + 0.5 CH2O ', & ! index 402 ' C96N + OH --> POx + 0.5 MONITS + 0.55 AROMRO2 + 0.3 MEK + 0.4 ACET + 0.4 RCO3 + 0.4 ... etc.', & ! index 403 ' BPINO2 + HO2 --> BPINP ', & ! index 404 ' BPINO2 + NO --> 0.75 POx + 0.75 BPINO + 0.25 BPINN + 0.75 CH2O + 0.75 NO2 + 0.75 HO2 ', & ! index 405 ' BPINO2 + NO3 --> LOx + BPINO + CH2O + NO2 + HO2 ', & ! index 406 ' BPINN + OH --> 0.5 POx + 0.5 BPINO + 0.5 BPINON + 0.5 AROMRO2 + CH2O + 0.5 NO2 + 0.5 HO2 ', & ! index 407 ' BPINP + OH --> BPINO2 ', & ! index 408 ' BPINO + OH --> BPINOO2 ', & ! index 409 ' BPINOO2 + HO2 --> BPINOOH ', & ! index 410 ' BPINOO2 + NO --> BPINON ', & ! index 411 ' BPINOO2 + NO --> POx + 0.27 LIMO3 + 0.6 ACET + 0.6 RCHO + 0.6 R4O2 + NO2 + HO2 ', & ! index 412 ' BPINOO2 + MO2 --> 0.25 BPINOOH + 0.23 LIMO3 + 0.25 MOH + 0.4 ACET + 0.4 RCHO + 0.4 R4O2 ... etc.', & ! index 413 ' BPINOO2 + NO3 --> LOx + 0.27 LIMO3 + 0.6 ACET + 0.6 RCHO + 0.6 R4O2 + NO2 + HO2 ', & ! index 414 ' BPINOOH + OH --> BPINOO2 ', & ! index 415 ' BPINON + OH --> POx + 0.5 MONITS + 0.085 LIMO3 + 0.3 ACET + 0.3 RCHO + 0.3 R4O2 + 0.5 NO2 ', & ! index 416 ' LIMO2 + HO2 --> 0.37 LIMKET + 0.63 LIMAL ', & ! index 417 ' LIMO2 + NO --> 0.75 POx + 0.25 LIMN + 0.28 LIMKET + 0.47 LIMAL + 0.75 NO2 + 0.75 HO2 ', & ! index 418 ' LIMO2 + NO3 --> LOx + 0.37 LIMKET + 0.63 LIMAL + NO2 + HO2 ', & ! index 419 ' LIMAL + OH --> LIMO3 ' /) ! index up to 420 CHARACTER(LEN=100), PARAMETER, DIMENSION(30) :: EQN_NAMES_14 = (/ & ' LIMAL + O3 --> LOx + 0.3 LIMKB + 0.6 LIMO3 + 0.33 CH2OO + 0.67 CH2O + 0.6 OH ', & ! index 421 ' LIMAL + NO3 --> 2 LOx + LIMNB + AROMRO2 ', & ! index 422 ' LIMKET + OH --> LIMKO2 ', & ! index 423 ' LIMKET + O3 --> LOx + 0.27 LIMKO2 + 0.73 LIMO3 + 0.865 OH ', & ! index 424 ' LIMKET + NO3 --> 2 LOx + LIMNB + AROMRO2 ', & ! index 425 ' LIMN + OH --> 0.5 POx + 0.5 LIMNB + 0.18 LIMKO2 + 0.32 LIMO3 + 0.5 NO2 ', & ! index 426 ' LIMN + O3 --> 0.5 LOx + 0.5 LIMNB + 0.4 LIMO3 + CH2O + 0.5 NO2 ', & ! index 427 ' LIMN + NO3 --> LOx + LIMNB + AROMRO2 + NO2 ', & ! index 428 ' LIMKO2 + NO --> 0.84 POx + 0.84 LIMKB + 0.16 LIMNB + 0.84 NO2 + 0.84 HO2 ', & ! index 429 ' LIMKO2 + HO2 --> LIMO3H ', & ! index 430 ' LIMKO2 + NO3 --> LOx + LIMKB + NO2 + HO2 ', & ! index 431 ' LIMKO2 + MO2 --> 0.75 LIMKB + 0.25 LIMO3H + 0.25 MOH + 0.75 CH2O + HO2 ', & ! index 432 ' LIMKB + OH --> LIMO3 ', & ! index 433 ' LIMKB + NO3 --> LOx + LIMO3 + NO2 ', & ! index 434 ' LIMNB + OH --> POx + 0.5 MONITS + 0.5 LIMO3 + 0.5 NO2 ', & ! index 435 ' LIMO3 + HO2 --> 0.44 CO2 + 0.15 POx + 0.15 LIMO2H + 0.41 LIMO3H + 0.44 RCHO + 0.352 R4... etc.', & ! index 436 ' LIMO3 + NO --> CO2 + POx + RCHO + 0.8 R4O2 + MCO3 + 0.4 CH2O + NO2 ', & ! index 437 ' LIMO3 + NO2 --> LOx + LIMPAN ', & ! index 438 ' LIMPAN --> POx + LIMO3 + NO2 ', & ! index 439 ' LIMO3 + NO3 --> CO2 + LOx + RCHO + 0.8 R4O2 + MCO3 + 0.4 CH2O + NO2 ', & ! index 440 ' LIMO3H + OH --> LIMO3 ', & ! index 441 ' LIMO2H + OH --> CO2 + RCHO + 0.8 R4O2 + MCO3 + 0.4 CH2O ', & ! index 442 ' PIO2 + HO2 --> PIP ', & ! index 443 ' PIO2 + NO --> PIN ', & ! index 444 ' PIO2 + NO --> POx + 0.675 MYRCO + 0.45 ACET + 0.45 MVK + 0.1 CH2O + NO2 + HO2 ', & ! index 445 ' PIO2 + NO3 --> LOx + 0.675 MYRCO + 0.45 ACET + 0.45 MVK + 0.1 CH2O + NO2 + HO2 ', & ! index 446 ' PIP + OH --> 0.78 MYRCO + 0.7 AROMRO2 + 0.3 ACET + 0.3 MVK + 0.1 CH2O + 0.3 OH ', & ! index 447 ' PIP + O3 --> LOx + 0.78 MYRCO + 0.7 AROMRO2 + 0.3 ACET + 0.3 MVK + 0.1 CH2O + 0.3 OH ', & ! index 448 ' PIP + NO3 --> LOx + 0.39 MYRCO + 0.35 AROMRO2 + 0.5 OLNN + 0.15 ACET + 0.15 MVK + 0.... etc.', & ! index 449 ' PIN + OH --> POx + 0.7 MONITU + 0.3 MYRCO + 0.7 AROMRO2 + 0.3 NO2 ' /) ! index up to 450 CHARACTER(LEN=100), PARAMETER, DIMENSION(30) :: EQN_NAMES_15 = (/ & ' PIN + O3 --> 0.7 MONITU + 0.3 MYRCO + 0.7 AROMRO2 + 0.3 NO2 ', & ! index 451 ' PIN + NO3 --> 0.35 MONITU + 0.15 MYRCO + 0.35 AROMRO2 + 0.5 OLNN + 1.15 NO2 ', & ! index 452 ' MYRCO + OH --> AROMRO2 + MEK + 0.5 ACET + 0.5 GLYC + 0.5 MVK + 1.5 CH2O + HO2 ', & ! index 453 ' MYRCO + O3 --> LOx + AROMRO2 + MEK + 0.5 ACET + 0.5 GLYC + 0.5 MVK + 1.5 CH2O + OH ', & ! index 454 ' MYRCO + NO3 --> LOx + 0.5 AROMRO2 + 0.5 OLNN + 0.5 MEK + 0.25 ACET + 0.25 GLYC + 0.25 ... etc.', & ! index 455 ' APINO2 + MO2 --> PINAL + 0.25 MOH + 0.75 CH2O + 1.75 HO2 ', & ! index 456 ' APINO2 + MCO3 --> 0.9 CO2 + PINAL + 0.1 ACTA + 0.9 MO2 + HO2 ', & ! index 457 ' BPINO2 + MO2 --> BPINO + 0.25 MOH + 1.75 CH2O + 1.75 HO2 ', & ! index 458 ' BPINO2 + MCO3 --> 0.9 CO2 + BPINO + 0.1 ACTA + CH2O + 0.9 MO2 + HO2 ', & ! index 459 ' LIMO2 + MO2 --> 0.37 LIMKET + 0.63 LIMAL + 0.25 MOH + 0.75 CH2O + 1.75 HO2 ', & ! index 460 ' LIMO2 + MCO3 --> 0.9 CO2 + 0.37 LIMKET + 0.63 LIMAL + 0.1 ACTA + 0.9 MO2 + HO2 ', & ! index 461 ' PIO2 + MO2 --> 0.675 MYRCO + 0.25 MOH + 0.45 ACET + 0.45 MVK + 0.85 CH2O + 1.75 HO2 ', & ! index 462 ' PIO2 + MCO3 --> 0.9 CO2 + 0.675 MYRCO + 0.1 ACTA + 0.45 ACET + 0.45 MVK + 0.1 CH2O + 0... etc.', & ! index 463 ' PINO3 + MO2 --> 0.75 CO2 + 0.25 PINONIC + 0.75 C96O2 + CH2O + 0.75 HO2 ', & ! index 464 ' PINO3 + MCO3 --> 2 CO2 + C96O2 + MO2 ', & ! index 465 ' LIMO3 + MO2 --> 0.75 CO2 + 0.25 LIMO2H + 0.75 RCHO + 0.6 R4O2 + 0.75 MCO3 + 1.3 CH2O +... etc.', & ! index 466 ' LIMO3 + MCO3 --> CO2 + RCHO + 0.8 R4O2 + MCO3 + 0.4 CH2O + MO2 ', & ! index 467 ' OLNN + NO --> POx + MONITS + NO2 + HO2 ', & ! index 468 ' OLND + NO --> POx + 0.464 MEK + 1.24 RCHO + 0.287 CH2O + 2 NO2 ', & ! index 469 ' OLNN + HO2 --> 0.3 MONITU + 0.7 MONITS ', & ! index 470 ' OLND + HO2 --> 0.3 MONITU + 0.7 MONITS ', & ! index 471 ' OLNN + MO2 --> 0.3 MONITU + 0.7 MONITS + CH2O + 2 HO2 ', & ! index 472 ' OLND + MO2 --> 0.25 ROH + 0.15 MONITU + 0.35 MONITS + 0.25 MOH + 0.34 MEK + 0.93 RCHO... etc.', & ! index 473 ' OLNN + MCO3 --> CO2 + 0.3 MONITU + 0.7 MONITS + MO2 + HO2 ', & ! index 474 ' OLND + MCO3 --> 0.5 RCOOH + 0.464 MEK + 1.24 RCHO + 0.287 CH2O + 0.5 MO2 + NO2 ', & ! index 475 ' OLNN + NO3 --> LOx + 0.3 MONITU + 0.7 MONITS + NO2 + HO2 ', & ! index 476 ' OLND + NO3 --> LOx + 0.464 MEK + 1.24 RCHO + 0.287 CH2O + 2 NO2 ', & ! index 477 ' 2 OLNN --> 0.6 MONITU + 1.4 MONITS + HO2 ', & ! index 478 ' OLNN + OLND --> 0.45 MONITU + 1.05 MONITS + 0.149 MEK + 0.64 RCHO + 0.202 CH2O + 0.5 N... etc.', & ! index 479 ' 2 OLND --> 0.3 MONITU + 0.7 MONITS + 0.285 MEK + 1.21 RCHO + 0.504 CH2O + NO2 ' /) ! index up to 480 CHARACTER(LEN=100), PARAMETER, DIMENSION(30) :: EQN_NAMES_16 = (/ & ' MONITS + OH --> HONIT ', & ! index 481 ' MONITU + OH --> HONIT ', & ! index 482 ' MONITU + O3 --> LOx + HONIT ', & ! index 483 ' MONITU + NO3 --> 2 LOx + HONIT ', & ! index 484 ' MONITS + NO3 --> 2 LOx + HONIT ', & ! index 485 ' IONITA --> INDIOL + POx + HNO3 ', & ! index 486 ' MONITA --> INDIOL + POx + HNO3 ', & ! index 487 ' HONIT + OH --> POx + HAC + NO3 ', & ! index 488 ' MENO3 + OH --> POx + CH2O + NO2 ', & ! index 489 ' ETNO3 + OH --> POx + ALD2 + NO2 ', & ! index 490 ' IPRNO3 + OH --> POx + ACET + NO2 ', & ! index 491 ' NPRNO3 + OH --> POx + RCHO + NO2 ', & ! index 492 ' ISOP + O3 --> 0.407 CO2 + LOx + 0.407 PCO + 0.013 PH2O2 + 0.013 H2O2 + 0.416 MACR + ... etc.', & ! index 493 ' ISOP + OH --> LISOPOH + IHOO1 ', & ! index 494 ' ISOP + OH --> LISOPOH + IHOO4 ', & ! index 495 ' ISOP + OH --> LISOPOH + 0.6 PCO + 0.15 HPALD3 + 0.3 HPETHNL + 0.25 HPALD1 + 0.3 MGLY... etc.', & ! index 496 ' ISOP + OH --> LISOPOH + 0.9 PCO + 0.15 HPALD4 + 0.25 HPALD2 + 0.3 ATOOH + 0.3 MGLY +... etc.', & ! index 497 ' IHOO1 + HO2 --> 0.937 RIPA + 0.063 MVK + 0.063 CH2O + 0.063 HO2 + 0.063 OH ', & ! index 498 ' IHOO1 + HO2 --> RIPC ', & ! index 499 ' IHOO4 + HO2 --> 0.937 RIPB + 0.063 MACR + 0.063 CH2O + 0.063 HO2 + 0.063 OH ', & ! index 500 ' IHOO4 + HO2 --> RIPD ', & ! index 501 ' IHOO1 --> MVK + CH2O + OH ', & ! index 502 ' IHOO1 --> 0.6 PCO + 0.15 HPALD3 + 0.3 HPETHNL + 0.25 HPALD1 + 0.3 MGLY + 0.3 MCO... etc.', & ! index 503 ' IHOO4 --> MACR + CH2O + OH ', & ! index 504 ' IHOO4 --> 0.9 PCO + 0.15 HPALD4 + 0.25 HPALD2 + 0.3 ATOOH + 0.3 MGLY + 0.3 CH2O ... etc.', & ! index 505 ' 2 IHOO1 --> 2 MVK + 2 CH2O + 2 HO2 ', & ! index 506 ' 2 IHOO4 --> 2 MACR + 2 CH2O + 2 HO2 ', & ! index 507 ' IHOO4 + IHOO1 --> MACR + MVK + 2 CH2O + 2 HO2 ', & ! index 508 ' 2 IHOO1 --> PCO + HC5A + MVKHP + CO + HO2 + OH ', & ! index 509 ' 2 IHOO4 --> PCO + HC5A + MCRHP + CO + HO2 + OH ' /) ! index up to 510 CHARACTER(LEN=100), PARAMETER, DIMENSION(30) :: EQN_NAMES_17 = (/ & ' IHOO4 + IHOO1 --> PCO + HC5A + 0.5 MCRHP + 0.5 MVKHP + CO + HO2 + OH ', & ! index 511 ' IHOO1 + MO2 --> MVK + 2 CH2O + 2 HO2 ', & ! index 512 ' IHOO1 + MO2 --> 0.5 PCO + 0.5 HC5A + 0.5 MVKHP + CH2O + 0.5 CO + 1.5 HO2 + 0.5 OH ', & ! index 513 ' IHOO4 + MO2 --> MACR + 2 CH2O + 2 HO2 ', & ! index 514 ' IHOO4 + MO2 --> 0.5 PCO + 0.5 HC5A + 0.5 MCRHP + CH2O + 0.5 CO + 1.5 HO2 + 0.5 OH ', & ! index 515 ' IHOO1 + NO --> POx + IHN2 ', & ! index 516 ' IHOO1 + NO --> POx + MVK + CH2O + NO2 + HO2 ', & ! index 517 ' IHOO1 + NO --> POx + IHN4 ', & ! index 518 ' IHOO1 + NO --> POx + 0.55 PCO + 0.45 HC5A + 0.55 MVKHP + 0.55 CO + NO2 + 0.45 HO2 + 0.55 OH ', & ! index 519 ' IHOO4 + NO --> POx + IHN3 ', & ! index 520 ' IHOO4 + NO --> POx + MACR + CH2O + NO2 + HO2 ', & ! index 521 ' IHOO4 + NO --> POx + IHN1 ', & ! index 522 ' IHOO4 + NO --> POx + 0.55 PCO + 0.45 HC5A + 0.55 MCRHP + 0.55 CO + NO2 + 0.45 HO2 + 0.55 OH ', & ! index 523 ' HPALD1 + OH --> 0.45 PCO + 0.15 IDC + 0.315 HPALD1OO + 0.085 ICHE + 0.33 MVKHP + 0.085... etc.', & ! index 524 ' HPALD2 + OH --> 0.37 PCO + 0.15 IDC + 0.315 HPALD2OO + 0.165 ICHE + 0.17 MCRHP + 0.165... etc.', & ! index 525 ' HPALD3 + OH --> 0.42 PCO + 0.58 ICHE + 0.19 MVKHP + 0.23 MVK + 0.42 CO + OH ', & ! index 526 ' HPALD4 + OH --> 0.23 PCO + 0.77 ICHE + 0.09 MCRHP + 0.14 MACR + 0.23 CO + OH ', & ! index 527 ' HC5A + OH --> 0.355 CO2 + 0.638 PCO + 0.068 IEPOXBOO + 0.294 IEPOXAOO + 0.158 MCRHP ... etc.', & ! index 528 ' ICHE + OH --> 1.5 PCO + 0.5 MGLY + 0.5 HAC + 0.5 CH2O + 1.5 CO + OH ', & ! index 529 ' IDC + OH --> PCO + MVKPC + CO + HO2 ', & ! index 530 ' RIPA + OH --> 0.005 LVOC + 0.345 IHPOO1 + 0.655 IHPOO3 ', & ! index 531 ' RIPA + OH --> 0.005 LVOC + 0.67 IEPOXA + 0.33 IEPOXB + OH ', & ! index 532 ' RIPB + OH --> 0.005 LVOC + 0.345 IHPOO2 + 0.655 IHPOO3 ', & ! index 533 ' RIPB + OH --> 0.005 LVOC + 0.68 IEPOXA + 0.32 IEPOXB + OH ', & ! index 534 ' RIPA + OH --> 0.005 LVOC + 0.25 PCO + 0.125 MVKHP + 0.75 IHOO1 + 0.125 MVK + 0.25 CO... etc.', & ! index 535 ' RIPB + OH --> 0.005 LVOC + 0.33 PCO + 0.16 ICHOO + 0.165 MCRHP + 0.51 IHOO4 + 0.165 ... etc.', & ! index 536 ' RIPC + OH --> 0.005 LVOC + 0.036 PCO + 0.255 IEPOXD + 0.009 HPALD3 + 0.018 HPETHNL +... etc.', & ! index 537 ' RIPD + OH --> 0.005 LVOC + 0.054 PCO + 0.595 IEPOXD + 0.009 HPALD4 + 0.255 IHPOO2 + ... etc.', & ! index 538 ' IHPOO1 --> 0.824 IDHPE + 0.176 ICPDH + OH ', & ! index 539 ' IHPOO1 + NO --> POx + 0.284 HPETHNL + 0.716 MCRHP + 0.284 HAC + 0.716 CH2O + NO2 + HO2 ' /) ! index up to 540 CHARACTER(LEN=100), PARAMETER, DIMENSION(30) :: EQN_NAMES_18 = (/ & ' IHPOO1 + NO --> POx + ITHN ', & ! index 541 ' IHPOO1 + HO2 --> 0.725 IDHDP + 0.135 HPETHNL + 0.14 MCRHP + 0.135 HAC + 0.14 CH2O + 0.2... etc.', & ! index 542 ' IHPOO2 --> 0.452 IDHPE + 0.548 ICPDH + OH ', & ! index 543 ' IHPOO2 + NO --> POx + 0.294 ATOOH + 0.706 MVKHP + 0.294 GLYC + 0.706 CH2O + NO2 + HO2 ', & ! index 544 ' IHPOO2 + NO --> POx + ITHN ', & ! index 545 ' IHPOO2 + HO2 --> 0.725 IDHDP + 0.135 ATOOH + 0.14 MVKHP + 0.135 GLYC + 0.14 CH2O + 0.27... etc.', & ! index 546 ' IHPOO3 --> IDHPE ', & ! index 547 ' IHPOO3 + NO --> POx + GLYC + HAC + NO2 + OH ', & ! index 548 ' IHPOO3 + NO --> POx + ITHN ', & ! index 549 ' IHPOO3 + HO2 --> 0.35 IDHDP + 0.65 GLYC + 0.65 HAC + 1.3 OH ', & ! index 550 ' IEPOXD + OH --> 0.75 ICHE + 0.25 ICHOO + 0.75 HO2 ', & ! index 551 ' IEPOXA + OH --> ICHE + HO2 ', & ! index 552 ' IEPOXA + OH --> 0.33 IEPOXBOO + 0.67 IEPOXAOO ', & ! index 553 ' IEPOXB + OH --> ICHE + HO2 ', & ! index 554 ' IEPOXB + OH --> 0.19 IEPOXBOO + 0.81 IEPOXAOO ', & ! index 555 ' IEPOXAOO --> IDCHP + HO2 ', & ! index 556 ' IEPOXAOO --> PCO + MVKDH + CO + OH ', & ! index 557 ' IEPOXAOO + HO2 --> 0.13 PCO + 0.13 MVKDH + 0.35 ICPDH + 0.52 MGLY + 0.52 GLYC + 0.13 CO +... etc.', & ! index 558 ' IEPOXAOO + NO --> POx + 0.2 PCO + 0.2 MVKDH + 0.8 MGLY + 0.8 GLYC + 0.2 CO + NO2 + HO2 ', & ! index 559 ' IEPOXAOO + NO --> POx + ITCN ', & ! index 560 ' IEPOXBOO --> IDCHP + HO2 ', & ! index 561 ' IEPOXBOO --> PCO + MCRDH + CO + OH ', & ! index 562 ' IEPOXBOO + NO --> POx + 0.2 PCO + 0.2 MCRDH + 0.8 GLYX + 0.8 HAC + 0.2 CO + NO2 + HO2 ', & ! index 563 ' IEPOXBOO + NO --> POx + ITCN ', & ! index 564 ' IEPOXBOO + HO2 --> 0.13 PCO + 0.13 MCRDH + 0.35 ICPDH + 0.52 GLYX + 0.52 HAC + 0.13 CO + ... etc.', & ! index 565 ' ICHOO + HO2 --> 0.52 PCO + 0.13 MVKHC + 0.35 ICPDH + 0.52 HAC + 0.65 CH2O + 0.52 CO + ... etc.', & ! index 566 ' ICHOO + NO --> POx + ITCN ', & ! index 567 ' ICHOO + NO --> POx + 0.8 PCO + 0.2 MVKHC + 0.8 HAC + CH2O + 0.8 CO + NO2 + HO2 ', & ! index 568 ' ICHOO --> 2 PCO + HAC + 2 CO + HO2 + OH ', & ! index 569 ' HPALD1OO + NO --> CO2 + POx + MVK + NO2 + OH ' /) ! index up to 570 CHARACTER(LEN=100), PARAMETER, DIMENSION(30) :: EQN_NAMES_19 = (/ & ' HPALD1OO + HO2 --> CO2 + MVK + 2 OH ', & ! index 571 ' HPALD2OO + NO --> CO2 + POx + MACR + NO2 + OH ', & ! index 572 ' HPALD2OO + HO2 --> CO2 + MACR + 2 OH ', & ! index 573 ' IHN2 + OH --> ISOPNOO1 ', & ! index 574 ' IHN2 + OH --> 0.67 IEPOXA + 0.33 IEPOXB + NO2 ', & ! index 575 ' IHN3 + OH --> ISOPNOO2 ', & ! index 576 ' IHN3 + OH --> 0.67 IEPOXA + 0.33 IEPOXB + NO2 ', & ! index 577 ' IHN1 + OH --> IEPOXD + NO2 ', & ! index 578 ' IHN1 + OH --> IDHNDOO1 ', & ! index 579 ' IHN4 + OH --> IEPOXD + NO2 ', & ! index 580 ' IHN4 + OH --> IDHNDOO2 ', & ! index 581 ' IHN1 + OH --> 0.6 PCO + 0.6 MCRHNB + 0.4 ICN + 0.6 CO + 0.4 HO2 + 0.6 OH ', & ! index 582 ' IHN4 + OH --> 0.6 PCO + 0.4 ICN + 0.6 MVKN + 0.6 CO + 0.4 HO2 + 0.6 OH ', & ! index 583 ' ISOPNOO1 --> ITCN + HO2 ', & ! index 584 ' ISOPNOO1 + HO2 --> 0.059 MCRHN + 0.482 ITHN + 0.459 GLYC + 0.459 HAC + 0.059 CH2O + 0.459... etc.', & ! index 585 ' ISOPNOO1 + NO --> POx + 0.272 MCRHN + 0.728 GLYC + 0.728 HAC + 0.272 CH2O + 1.728 NO2 + ... etc.', & ! index 586 ' ISOPNOO1 + NO --> POx + IDN ', & ! index 587 ' ISOPNOO2 --> ITCN + HO2 ', & ! index 588 ' ISOPNOO2 + HO2 --> 0.599 MVKN + 0.401 ITHN + 0.599 CH2O + 0.599 HO2 + 0.599 OH ', & ! index 589 ' ISOPNOO2 + NO --> POx + MVKN + CH2O + NO2 + HO2 ', & ! index 590 ' ISOPNOO2 + NO --> POx + IDN ', & ! index 591 ' IDHNDOO1 --> ITCN + HO2 ', & ! index 592 ' IDHNDOO2 --> ITCN + HO2 ', & ! index 593 ' IDHNDOO1 + HO2 --> 0.031 MCRHNB + 0.551 PROPNN + 0.418 ITHN + 0.551 GLYC + 0.031 CH2O + 0... etc.', & ! index 594 ' IDHNDOO1 + NO --> POx + 0.065 MCRHNB + 0.935 PROPNN + 0.935 GLYC + 0.065 CH2O + NO2 + HO2 ', & ! index 595 ' IDHNDOO1 + NO --> POx + IDN ', & ! index 596 ' IDHNDOO2 + HO2 --> 0.441 ETHLN + 0.065 MVKN + 0.494 ITHN + 0.441 HAC + 0.065 CH2O + 0.506... etc.', & ! index 597 ' IDHNDOO2 + NO --> POx + 0.858 ETHLN + 0.142 MVKN + 0.858 HAC + 0.142 CH2O + NO2 + HO2 ', & ! index 598 ' IDHNDOO2 + NO --> POx + IDN ', & ! index 599 ' IDHNBOO + HO2 --> 0.094 MCRHNB + 0.242 PROPNN + 0.033 ETHLN + 0.01 MVKN + 0.621 ITHN + 0... etc.' /) ! index up to 600 CHARACTER(LEN=100), PARAMETER, DIMENSION(30) :: EQN_NAMES_20 = (/ & ' IDHNBOO + NO --> POx + 0.355 MCRHNB + 0.546 PROPNN + 0.071 ETHLN + 0.028 MVKN + 0.546 G... etc.', & ! index 601 ' IDHNBOO + NO --> POx + IDN ', & ! index 602 ' ISOP + NO3 --> LISOPNO3 + LOx + 0.465 INO2B + 0.535 INO2D ', & ! index 603 ' INO2B + HO2 --> 0.473 INPB + 0.048 MACR + 0.479 MVK + 0.527 CH2O + 0.527 NO2 + 0.527 OH ', & ! index 604 ' INO2D + HO2 --> INPD ', & ! index 605 ' 2 INO2B --> 0.07 INPB + 0.07 ICN + 0.123 MACR + 1.737 MVK + 1.86 CH2O + 1.86 NO2 ', & ! index 606 ' INO2B + INO2D --> 0.474 INA + 0.399 INPB + 0.032 IHN1 + 0.532 ICN + 0.019 MACR + 0.544 M... etc.', & ! index 607 ' 2 INO2D --> 0.34 INA + 0.127 IHN4 + 0.671 IHN1 + 0.862 ICN + 0.064 HO2 ', & ! index 608 ' INO2D + MO2 --> 0.244 INA + 0.057 IHN4 + 0.298 IHN1 + 0.355 MOH + 0.401 ICN + 0.645 CH... etc.', & ! index 609 ' INO2B + MO2 --> 0.355 INPB + 0.034 MOH + 0.034 ICN + 0.028 MACR + 0.583 MVK + 1.577 CH... etc.', & ! index 610 ' INO2B + MCO3 --> CO2 + 0.097 MACR + 0.903 MVK + CH2O + MO2 + NO2 ', & ! index 611 ' INO2D + MCO3 --> CO2 + 0.841 INA + 0.159 ICN + MO2 + 0.159 HO2 ', & ! index 612 ' INO2B + NO3 --> LOx + 0.097 MACR + 0.903 MVK + CH2O + 2 NO2 ', & ! index 613 ' INO2D + NO3 --> LOx + 0.841 INA + 0.159 ICN + NO2 + 0.159 HO2 ', & ! index 614 ' INO2B + NO --> POx + 0.096 MACR + 0.904 MVK + CH2O + 2 NO2 ', & ! index 615 ' INO2B + NO --> POx + IDN ', & ! index 616 ' INO2D + NO --> POx + 0.841 INA + 0.159 ICN + NO2 + 0.159 HO2 ', & ! index 617 ' INO2D + NO --> POx + IDN ', & ! index 618 ' INA + O2 --> ICN + HO2 ', & ! index 619 ' INA --> IDHNBOO ', & ! index 620 ' INPB + OH --> 0.67 IHPNBOO + 0.33 IDHNBOO ', & ! index 621 ' INPD + OH --> IHPNDOO ', & ! index 622 ' INPB + OH --> ITHN + OH ', & ! index 623 ' INPD + OH --> ITHN + OH ', & ! index 624 ' INPD + OH --> ICHE + NO2 ', & ! index 625 ' INPB + OH --> INO2B ', & ! index 626 ' INPD + OH --> INO2D ', & ! index 627 ' INPD + OH --> ICN + OH ', & ! index 628 ' IHPNDOO --> ITCN + OH ', & ! index 629 ' IHPNBOO --> 0.5 ITCN + 0.5 ITHN + OH ' /) ! index up to 630 CHARACTER(LEN=100), PARAMETER, DIMENSION(30) :: EQN_NAMES_21 = (/ & ' IHPNBOO + HO2 --> 0.249 HPETHNL + 0.06 MCRHNB + 0.009 ATOOH + 0.589 PROPNN + 0.051 ETHLN... etc.', & ! index 631 ' IHPNDOO + HO2 --> 0.471 HPETHNL + 0.073 MCRHNB + 0.054 ATOOH + 0.471 PROPNN + 0.054 ETHL... etc.', & ! index 632 ' IHPNBOO + NO --> POx + 0.303 HPETHNL + 0.17 MCRHNB + 0.013 ATOOH + 0.687 PROPNN + 0.064... etc.', & ! index 633 ' IHPNBOO + NO --> POx + IDN ', & ! index 634 ' IHPNDOO + NO --> POx + 0.59 HPETHNL + 0.291 MCRHNB + 0.07 ATOOH + 0.59 PROPNN + 0.07 ET... etc.', & ! index 635 ' IHPNDOO + NO --> POx + IDN ', & ! index 636 ' ICN + OH --> ICHE + NO2 ', & ! index 637 ' ICN + OH --> 0.539 PCO + 0.461 ICNOO + 0.378 MCRHNB + 0.161 MVKN + 0.539 CO + 0.295... etc.', & ! index 638 ' ICNOO + NO --> 0.429 CO2 + POx + 0.33 PCO + 0.67 ICNOO + 0.231 PROPNN + 0.099 ETHLN +... etc.', & ! index 639 ' ICNOO + HO2 --> 0.429 CO2 + 0.33 PCO + 0.67 ICNOO + 0.231 PROPNN + 0.099 ETHLN + 0.33 ... etc.', & ! index 640 ' IDN + OH --> 0.435 IDNOO + 0.565 ITHN + 0.565 NO2 ', & ! index 641 ' IDNOO + NO --> POx + PROPNN + 0.89 ETHLN + 0.11 GLYC + 1.11 NO2 + 0.89 HO2 ', & ! index 642 ' IDNOO + HO2 --> 0.82 PROPNN + 0.73 ETHLN + 0.18 IDN + 0.09 GLYC + 0.09 NO2 + 0.73 HO2 ... etc.', & ! index 643 ' MVK + OH --> MVKOHOO ', & ! index 644 ' MVK + O3 --> LOx + 0.28 PCO + 0.045 PH2O2 + 0.075 PYAC + 0.045 H2O2 + 0.545 MGLY + ... etc.', & ! index 645 ' MACR + OH --> 0.036 PCO + 0.036 ATOOH + 0.964 MCROHOO + 0.036 CO + 0.036 HO2 ', & ! index 646 ' MACR + OH --> MACR1OO ', & ! index 647 ' MACR + O3 --> LOx + 0.12 PCO + 0.88 MGLY + 0.88 CH2OO + 0.12 MCO3 + 0.12 CH2O + 0.12... etc.', & ! index 648 ' MACR + NO3 --> LOx + 0.68 PCO + 0.68 PROPNN + 0.32 MACR1OO + 0.32 HNO3 + 0.68 CO + 0.68 OH ', & ! index 649 ' MVKN + OH --> 0.69 POx + 0.241 PYAC + 0.29 MVKHCB + 0.449 HCOOH + 0.449 MGLY + 0.04 ... etc.', & ! index 650 ' MVKHP + OH --> 0.53 MVKHC + 0.47 MVKHCB + OH ', & ! index 651 ' MCRHP + OH --> 0.23 CO2 + 0.77 PCO + 0.23 ATOOH + 0.77 HAC + 0.77 CO + OH ', & ! index 652 ' MCRHN + OH --> MACRNO2 ', & ! index 653 ' MCRHNB + OH --> 0.75 CO2 + 0.25 PCO + PROPNN + 0.25 CO + OH ', & ! index 654 ' C4HVP1 + NO --> POx + MVKOHOO + NO2 ', & ! index 655 ' C4HVP1 + HO2 --> MVKOHOO + OH ', & ! index 656 ' C4HVP1 + NO2 --> MVKN ', & ! index 657 ' C4HVP2 + NO --> POx + MCROHOO + NO2 ', & ! index 658 ' C4HVP2 + HO2 --> MCROHOO + OH ', & ! index 659 ' C4HVP2 + NO2 --> MCRHN ' /) ! index up to 660 CHARACTER(LEN=100), PARAMETER, DIMENSION(30) :: EQN_NAMES_22 = (/ & ' MCRENOL + OH --> 0.097 CO2 + 0.75 PCO + 0.653 PYAC + 0.063 MVKHCB + 0.187 HCOOH + 0.187... etc.', & ! index 661 ' MVKPC + OH --> PCO + MGLY + CO + OH ', & ! index 662 ' MVKDH + OH --> 0.6 MVKHC + 0.4 MVKHCB + HO2 ', & ! index 663 ' MVKHCB + OH --> PCO + MGLY + CO + OH ', & ! index 664 ' MVKHC + OH --> 2 PCO + MCO3 + 2 CO + HO2 ', & ! index 665 ' MCRDH + OH --> 0.84 PCO + 0.16 MVKHCB + 0.84 HAC + 0.84 CO + HO2 ', & ! index 666 ' MVKOHOO + HO2 --> 0.255 MVKHC + 0.335 MVKHP + 0.05 MGLY + 0.36 GLYC + 0.36 MCO3 + 0.05 C... etc.', & ! index 667 ' MVKOHOO + NO --> POx + 0.242 MGLY + 0.758 GLYC + 0.758 MCO3 + 0.242 CH2O + NO2 + 0.242 HO2 ', & ! index 668 ' MVKOHOO + NO --> POx + MVKN ', & ! index 669 ' MCROHOO + HO2 --> 0.507 PCO + 0.41 MCRHP + 0.083 MGLY + 0.507 HAC + 0.083 CH2O + 0.507 C... etc.', & ! index 670 ' MACR1OO + HO2 --> 0.5 CO2 + 0.13 POx + 0.325 PCO + 0.5 MACR1OOH + 0.175 MCO3 + 0.5 CH2O ... etc.', & ! index 671 ' MACR1OOH + OH --> 0.41 CO2 + 0.488 PCO + 0.098 HMML + 0.165 MACR1OO + 0.488 HAC + 0.087 ... etc.', & ! index 672 ' MCROHOO --> PCO + HAC + CO + OH ', & ! index 673 ' MCROHOO + NO --> POx + 0.86 PCO + 0.14 MGLY + 0.86 HAC + 0.14 CH2O + 0.86 CO + NO2 + 0.86 HO2 ', & ! index 674 ' MCROHOO + NO --> POx + MCRHN ', & ! index 675 ' MACR1OO + NO --> CO2 + POx + 0.65 PCO + 0.35 MCO3 + CH2O + 0.65 MO2 + 0.65 CO + NO2 ', & ! index 676 ' MACR1OO + NO2 --> MPAN ', & ! index 677 ' MACRNO2 + HO2 --> 0.5 CO2 + 0.13 POx + 0.13 MCRHNB + 0.37 MCRHN + 0.5 HAC + 0.5 NO2 + 0.... etc.', & ! index 678 ' MACRNO2 + NO --> CO2 + POx + HAC + 2 NO2 ', & ! index 679 ' MACRNO2 + NO2 --> MPAN + NO2 ', & ! index 680 ' MACRNO2 + NO3 --> CO2 + LOx + HAC + 2 NO2 ', & ! index 681 ' MACRNO2 + MO2 --> 0.7 CO2 + 0.3 MCRHNB + 0.7 HAC + CH2O + 0.7 NO2 + 0.7 HO2 ', & ! index 682 ' MPAN --> MACR1OO + NO2 ', & ! index 683 ' MPAN + OH --> POx + 0.25 PCO + 0.75 HMML + 0.25 HAC + 0.25 CO + NO3 ', & ! index 684 ' HMML + OH --> PCO + 0.3 HCOOH + 0.7 MGLY + 0.3 MCO3 + CO + 0.7 OH ', & ! index 685 ' ICPDH + OH --> PCO + 0.35 MVKDH + 0.15 MCRDH + 0.5 MCRHP + CO + 0.5 HO2 + 0.5 OH ', & ! index 686 ' IDCHP + OH --> 0.888 PCO + 0.444 MVKPC + 0.318 MVKHC + 0.126 MVKHCB + 0.032 IEPOXBOO ... etc.', & ! index 687 ' IDHDP + OH --> 0.667 IDHPE + 0.333 ICPDH + OH ', & ! index 688 ' IDHPE + OH --> CO2 + 0.571 MCRHP + 0.429 MVKHP + OH ', & ! index 689 ' ITCN + OH --> PCO + 0.25 MCRHP + 0.75 MVKHP + CO + NO2 ' /) ! index up to 690 CHARACTER(LEN=100), PARAMETER, DIMENSION(30) :: EQN_NAMES_23 = (/ & ' ITHN + OH --> 0.041 ICNOO + 0.022 MCRENOL + 0.9 ITCN + 0.037 IDHNBOO + 0.022 CH2O + ... etc.', & ! index 691 ' ETHLN + NO3 --> LOx + MCO3 + HNO3 + NO2 ', & ! index 692 ' PYAC + OH --> CO2 + MCO3 ', & ! index 693 ' HMHP + OH --> 0.5 HCOOH + 0.5 CH2O + 0.5 HO2 + 0.5 OH ', & ! index 694 ' MCO3 + HO2 --> 0.5 CO2 + 0.13 POx + 0.37 MAP + 0.13 ACTA + 0.5 MO2 + 0.13 O3 + 0.5 OH ', & ! index 695 ' HPETHNL + OH --> PCO + CH2O + CO + OH ', & ! index 696 ' HPETHNL + OH --> GLYX + OH ', & ! index 697 ' NAP + OH --> NRO2 + OH ', & ! index 698 ' NRO2 + HO2 --> LNRO2H + HO2 ', & ! index 699 ' NRO2 + NO --> LNRO2N + NO ', & ! index 700 ' RCOOH + OH --> CO2 + ETO2 + H2O ', & ! index 701 ' STYR + OH --> 0.3 ZRO2 + 0.7 BALD + 0.7 AROMRO2 + CH2O + 0.7 HO2 ', & ! index 702 ' STYR + NO3 --> LOx + BALD + AROMRO2 + CH2O + NO2 ', & ! index 703 ' STYR + O3 --> LOx + 0.18 PCO + 0.1 BENZ + 0.62 BALD + 0.28 BENZO2 + 0.5 CH2OO + 0.5 ... etc.', & ! index 704 ' EBZ + OH --> 0.18 CSL + 0.07 ZRO2 + 0.4 AROMP5 + 0.8 AROMP4 + 0.813 AROMRO2 + 0.25 ... etc.', & ! index 705 ' EBZ + NO3 --> LOx + BALD + AROMRO2 + CH2O + HNO3 ', & ! index 706 ' TMB + OH --> 0.12 PCO + 0.15 TLFUONE + 0.03 CSL + 0.5 RCOOH + 0.05 ZRO2 + 0.6 AROMP... etc.', & ! index 707 ' TMB + NO3 --> LOx + 0.4 AROMP5 + BALD + AROMRO2 + HNO3 ', & ! index 708 ' ZRO2 + NO --> 0.89 POx + 0.11 RNO3 + 0.89 BALD + 0.89 NO2 + HO2 ', & ! index 709 ' ZRO2 + HO2 --> BALD + OH ', & ! index 710 ' RNO3 + OH --> POx + BALD + NO2 + HO2 ', & ! index 711 ' C2H4 + O3 --> LOx + CH2OO + CH2O ', & ! index 712 ' C2H4 + OH --> ETOO ', & ! index 713 ' C2H2 + OH --> 0.364 PCO + 0.364 HCOOH + 0.636 GLYX + 0.364 CO + 0.364 HO2 + 0.636 OH ', & ! index 714 ' ETOO + HO2 --> ETHP ', & ! index 715 ' ETOO + NO --> 0.995 POx + 0.005 ETHN + 0.995 ETO + 0.995 NO2 ', & ! index 716 ' ETOO + NO3 --> LOx + ETO + NO2 ', & ! index 717 ' ETOO + MO2 --> 0.6 ETO + 0.2 ETHP + 0.2 MOH + 0.2 GLYC + 0.8 CH2O + 0.6 HO2 ', & ! index 718 ' ETO --> 2 CH2O + HO2 ', & ! index 719 ' ETO + O2 --> GLYC + HO2 ' /) ! index up to 720 CHARACTER(LEN=100), PARAMETER, DIMENSION(30) :: EQN_NAMES_24 = (/ & ' ETHN + OH --> POx + GLYC + NO2 ', & ! index 721 ' ETHP + OH --> ETOO ', & ! index 722 ' ETHP + OH --> GLYC + OH ', & ! index 723 ' BENZ + OH --> BRO2 + 0.2 PCO + 0.54 PHEN + 0.55 AROMP4 + 0.46 AROMRO2 + 0.18 GLYX + ... etc.', & ! index 724 ' TOLU + OH --> TRO2 + 0.27 PCO + 0.19 CSL + 0.3 AROMP5 + 0.06 BALD + 0.68 AROMP4 + 0.... etc.', & ! index 725 ' XYLE + OH --> XRO2 + 0.3 PCO + 0.15 CSL + 0.45 RCOOH + 0.56 AROMP5 + 0.06 BALD + 0.2... etc.', & ! index 726 ' AROMRO2 + HO2 --> HO2 + OH ', & ! index 727 ' AROMRO2 + NO --> POx + NO2 + HO2 ', & ! index 728 ' AROMRO2 + NO3 --> LOx + NO2 + HO2 ', & ! index 729 ' AROMRO2 + MO2 --> CH2O + 2 HO2 ', & ! index 730 ' AROMRO2 + MCO3 --> CO2 + MO2 + HO2 ', & ! index 731 ' TLFUONE + OH --> TLFUO2 ', & ! index 732 ' TLFUO2 + NO --> POx + AROMCHO + NO2 + HO2 ', & ! index 733 ' TLFUO2 + HO2 --> AROMCHO ', & ! index 734 ' AROMCHO + OH --> AROMCO3 ', & ! index 735 ' AROMCO3 + NO --> 2 CO2 + POx + RCO3 + NO2 ', & ! index 736 ' AROMCO3 + HO2 --> 0.44 CO2 + 0.15 POx + 0.41 RP + 0.15 RCOOH + 0.44 RCO3 + 0.15 O3 + 0.44 OH ', & ! index 737 ' AROMCO3 + NO2 --> LOx + AROMPN ', & ! index 738 ' AROMPN --> POx + AROMCO3 + NO2 ', & ! index 739 ' AROMPN + OH --> POx + 2 PCO + MCO3 + CH2O + 2 CO + NO2 ', & ! index 740 ' PHEN + OH --> 0.8 MCT + 0.06 BENZO + 0.18 AROMP4 + 0.14 AROMRO2 + 0.06 GLYX + 0.8 HO2 ', & ! index 741 ' PHEN + NO3 --> 1.258 LOx + 0.742 BENZO + 0.258 NPHEN + 0.742 HNO3 ', & ! index 742 ' CSL + OH --> 0.44 AROMP5 + 0.727 MCT + 0.073 BENZO + 0.2 AROMRO2 + 0.727 HO2 ', & ! index 743 ' CSL + NO3 --> 1.5 LOx + 0.44 AROMP5 + 0.3 BENZO + 0.2 AROMRO2 + 0.5 NPHEN + 0.5 HNO3 ', & ! index 744 ' MCT + OH --> 0.3 BENZO + 1.05 AROMP4 + 0.7 AROMRO2 ', & ! index 745 ' MCT + O3 --> LOx + AROMP4 + GLYC + HO2 + OH ', & ! index 746 ' MCT + NO3 --> 1.5 LOx + 0.3 BENZO + 0.3 AROMP4 + 0.2 AROMRO2 + 0.5 NPHEN + 0.5 HNO3 ', & ! index 747 ' BALD + OH --> BZCO3 ', & ! index 748 ' BALD + NO3 --> LOx + BZCO3 + HNO3 ', & ! index 749 ' BZCO3 + HO2 --> 0.35 CO2 + 0.15 POx + 0.65 BZCO3H + 0.15 BENZP + 0.2 BENZO2 + 0.15 O3 + 0.2 OH' /) ! index up to 750 CHARACTER(LEN=100), PARAMETER, DIMENSION(30) :: EQN_NAMES_25 = (/ & ' BZCO3 + NO --> CO2 + POx + BENZO2 + NO2 ', & ! index 751 ' BZCO3 + NO2 --> LOx + BZPAN ', & ! index 752 ' BZCO3H + OH --> BZCO3 ', & ! index 753 ' BZPAN --> POx + BZCO3 + NO2 ', & ! index 754 ' BZPAN + OH --> CO2 + POx + BENZP + NO2 ', & ! index 755 ' BENZO2 + NO2 --> POx + BENZO + NO3 ', & ! index 756 ' BENZO2 + NO --> POx + BENZO + NO2 ', & ! index 757 ' BENZO2 + NO3 --> LOx + BENZO + NO2 ', & ! index 758 ' BENZO2 + HO2 --> BENZP ', & ! index 759 ' BENZP + OH --> BENZO2 ', & ! index 760 ' BENZO + O3 --> LOx + BENZO2 ', & ! index 761 ' BENZO + NO2 --> LOx + NPHEN ', & ! index 762 ' NPHEN + OH --> POx + 0.15 PCO + 0.9 AROMP4 + 0.5 R4N1 + 0.15 CO + 0.5 NO2 ', & ! index 763 ' NPHEN + NO3 --> 0.15 PCO + 0.9 AROMP4 + 0.5 R4N1 + 0.5 HNO3 + 0.15 CO + NO2 ', & ! index 764 ' BENZO2 + MO2 --> BENZO + CH2O + HO2 ', & ! index 765 ' BZCO3 + MO2 --> CO2 + BENZO2 + CH2O + HO2 ', & ! index 766 ' AROMP4 + OH --> 0.26 PCO + 0.43 RCOOH + 0.26 HCOOH + 0.6 GLYX + 0.33 RCO3 + 0.26 CO + ... etc.', & ! index 767 ' AROMP4 + O3 --> LOx + 0.5 PCO + 0.5 HCOOH + 0.6 GLYX + 0.9 GLYC + 0.5 CO + 0.1 HO2 + 0.1 OH ', & ! index 768 ' AROMP4 --> 0.2 GLYX + 1.2 RCHO + 0.2 HO2 ', & ! index 769 ' AROMP5 + OH --> 0.25 PCO + 0.52 RCOOH + 0.1 HCOOH + 0.15 ACTA + 0.6 MGLY + 0.33 RCO3 +... etc.', & ! index 770 ' AROMP5 + O3 --> LOx + 0.5 PCO + 0.2 HCOOH + 0.3 ACTA + 0.6 MGLY + 0.95 GLYC + 0.5 CO +... etc.', & ! index 771 ' AROMP5 --> 0.05 PCO + 0.2 MGLY + 1.15 RCHO + 0.2 ALK4O2 + 0.05 CO + 0.2 HO2 ', & ! index 772 ' BRO2 + HO2 --> LBRO2H + HO2 ', & ! index 773 ' BRO2 + NO --> LBRO2N + NO ', & ! index 774 ' TRO2 + HO2 --> LTRO2H + HO2 ', & ! index 775 ' TRO2 + NO --> LTRO2N + NO ', & ! index 776 ' XRO2 + HO2 --> LXRO2H + HO2 ', & ! index 777 ' XRO2 + NO --> LXRO2N + NO ', & ! index 778 ' MO2 + NO3 --> LOx + CH2O + NO2 + HO2 ', & ! index 779 ' FURA + OH --> BUTDI ' /) ! index up to 780 CHARACTER(LEN=100), PARAMETER, DIMENSION(30) :: EQN_NAMES_26 = (/ & ' HO2 --> H2O ', & ! index 781 ' NO2 --> 0.5 LOx + 0.5 HNO2 + 0.5 HNO3 ', & ! index 782 ' NO3 --> LOx + HNO3 ', & ! index 783 ' NO3 --> LOx + NIT ', & ! index 784 ' NO3 --> LOx + NITs ', & ! index 785 ' N2O5 + H2O --> LOx + 2 HNO3 ', & ! index 786 ' N2O5 + HCl --> LOx + ClNO2 + HNO3 ', & ! index 787 ' N2O5 --> LOx + 2 HNO3 ', & ! index 788 ' N2O5 + SALACL --> LOx + ClNO2 + HNO3 ', & ! index 789 ' N2O5 + SALCCL --> LOx + ClNO2 + HNO3 ', & ! index 790 ' OH + SALACL --> 0.5 Cl2 ', & ! index 791 ' SALCCL + OH --> 0.5 Cl2 ', & ! index 792 ' BrNO3 + H2O --> HOBr + HNO3 ', & ! index 793 ' BrNO3 + HCl --> LOx + BrCl + HNO3 ', & ! index 794 ' ClNO3 + H2O --> HNO3 + HOCl ', & ! index 795 ' ClNO3 + HCl --> LOx + Cl2 + HNO3 ', & ! index 796 ' ClNO3 + HBr --> LOx + BrCl + HNO3 ', & ! index 797 ' ClNO3 + BrSALA --> LOx + BrCl + HNO3 ', & ! index 798 ' ClNO3 + BrSALC --> LOx + BrCl + HNO3 ', & ! index 799 ' ClNO3 + SALACL --> LOx + Cl2 + HNO3 ', & ! index 800 ' ClNO3 + SALCCL --> LOx + Cl2 + HNO3 ', & ! index 801 ' ClNO2 + SALACL --> LOx + HNO2 + Cl2 ', & ! index 802 ' ClNO2 + SALCCL --> LOx + HNO2 + Cl2 ', & ! index 803 ' ClNO2 + HCl --> LOx + HNO2 + Cl2 ', & ! index 804 ' ClNO2 + BrSALA --> LOx + BrCl + HNO2 ', & ! index 805 ' ClNO2 + BrSALC --> LOx + BrCl + HNO2 ', & ! index 806 ' ClNO2 + HBr --> LOx + BrCl + HNO2 ', & ! index 807 ' HOCl + HCl --> LOx + Cl2 + H2O ', & ! index 808 ' HOCl + HBr --> LOx + BrCl + H2O ', & ! index 809 ' HOCl + SALACL --> LOx + Cl2 + H2O ' /) ! index up to 810 CHARACTER(LEN=100), PARAMETER, DIMENSION(30) :: EQN_NAMES_27 = (/ & ' HOCl + SALCCL --> LOx + Cl2 + H2O ', & ! index 811 ' HOCl + SO2 --> LOx + PSO4 + SO4 + HCl ', & ! index 812 ' HOBr + HBr --> LOx + Br2 + H2O ', & ! index 813 ' HOBr + HCl --> LOx + BrCl + H2O ', & ! index 814 ' HOBr + SALACL --> LOx + BrCl + H2O ', & ! index 815 ' HOBr + SALCCL --> LOx + BrCl + H2O ', & ! index 816 ' HOBr + BrSALA --> LOx + Br2 ', & ! index 817 ' HOBr + BrSALC --> LOx + Br2 ', & ! index 818 ' HOBr + SO2 --> LOx + PSO4 + SO4 + HBr ', & ! index 819 ' O3 + HBr --> HOBr ', & ! index 820 ' O3 + BrSALA --> HOBr ', & ! index 821 ' O3 + BrSALC --> HOBr ', & ! index 822 ' HBr --> BrSALA ', & ! index 823 ' HBr --> BrSALC ', & ! index 824 ' HI --> AERI ', & ! index 825 ' HI --> ISALA ', & ! index 826 ' HI --> ISALC ', & ! index 827 ' HOI --> ISALA + LOx ', & ! index 828 ' HOI --> ISALC + LOx ', & ! index 829 ' I2O2 --> 2 AERI + 2 LOx ', & ! index 830 ' I2O2 --> 2 ISALA + 2 LOx ', & ! index 831 ' I2O2 --> 2 ISALC + 2 LOx ', & ! index 832 ' I2O3 --> 2 AERI + 3 LOx ', & ! index 833 ' I2O3 --> 2 ISALA + 3 LOx ', & ! index 834 ' I2O3 --> 2 ISALC + 3 LOx ', & ! index 835 ' I2O4 --> 2 AERI + 4 LOx ', & ! index 836 ' I2O4 --> 2 ISALA + 4 LOx ', & ! index 837 ' I2O4 --> 2 ISALC + 4 LOx ', & ! index 838 ' IONO --> ISALA + LOx + HNO2 ', & ! index 839 ' IONO --> ISALC + LOx + HNO2 ' /) ! index up to 840 CHARACTER(LEN=100), PARAMETER, DIMENSION(30) :: EQN_NAMES_28 = (/ & ' IONO2 --> ISALA + LOx + HNO3 ', & ! index 841 ' IONO2 --> ISALC + LOx + HNO3 ', & ! index 842 ' IONO2 + H2O --> HNO3 + HOI ', & ! index 843 ' IONO + BrSALA --> LOx + IBr + HNO2 ', & ! index 844 ' IONO + BrSALC --> LOx + IBr + HNO2 ', & ! index 845 ' IONO + SALACL --> LOx + ICl + HNO2 ', & ! index 846 ' IONO + SALCCL --> LOx + ICl + HNO2 ', & ! index 847 ' IONO2 + BrSALA --> LOx + IBr + HNO3 ', & ! index 848 ' IONO2 + BrSALC --> LOx + IBr + HNO3 ', & ! index 849 ' IONO2 + SALACL --> LOx + ICl + HNO3 ', & ! index 850 ' IONO2 + SALCCL --> LOx + ICl + HNO3 ', & ! index 851 ' HOI + BrSALA --> LOx + IBr ', & ! index 852 ' HOI + BrSALC --> LOx + IBr ', & ! index 853 ' HOI + SALACL --> LOx + ICl ', & ! index 854 ' HOI + SALCCL --> LOx + ICl ', & ! index 855 ' GLYX --> SOAGX ', & ! index 856 ' MGLY --> 1.5 SOAGX ', & ! index 857 ' IEPOXA --> SOAIE ', & ! index 858 ' IEPOXB --> SOAIE ', & ! index 859 ' IEPOXD --> SOAIE ', & ! index 860 ' LVOC --> LVOCOA ', & ! index 861 ' MVKN --> LOx + IONITA ', & ! index 862 ' R4N2 --> LOx + IONITA ', & ! index 863 ' MONITS --> LOx + MONITA ', & ! index 864 ' MONITU --> LOx + MONITA ', & ! index 865 ' HONIT --> LOx + MONITA ', & ! index 866 ' PYAC --> 1.5 SOAGX ', & ! index 867 ' HMML --> 0.8 SOAIE ', & ! index 868 ' IHN1 --> LOx + IONITA ', & ! index 869 ' IHN2 --> LOx + IONITA ' /) ! index up to 870 CHARACTER(LEN=100), PARAMETER, DIMENSION(30) :: EQN_NAMES_29 = (/ & ' IHN3 --> LOx + IONITA ', & ! index 871 ' IHN4 --> LOx + IONITA ', & ! index 872 ' ICHE --> SOAIE ', & ! index 873 ' INPD --> LOx + IONITA ', & ! index 874 ' INPB --> LOx + IONITA ', & ! index 875 ' IDN --> 2 LOx + IONITA ', & ! index 876 ' ITCN --> LOx + IONITA ', & ! index 877 ' ITHN --> LOx + IONITA ', & ! index 878 ' MCRHNB --> LOx + IONITA ', & ! index 879 ' MCRHN --> LOx + IONITA ', & ! index 880 ' NPHEN --> AONITA ', & ! index 881 ' O3 --> O + O2 ', & ! index 882 ' O3 --> O1D + O2 ', & ! index 883 ' O2 --> 2 POx + 2 O ', & ! index 884 ' NO2 --> O + NO ', & ! index 885 ' H2O2 --> 2 OH ', & ! index 886 ' MP --> CH2O + HO2 + OH ', & ! index 887 ' CH2O --> PCO + H + CO + HO2 ', & ! index 888 ' CH2O --> PCO + CO + H2 ', & ! index 889 ' HNO3 --> NO2 + OH ', & ! index 890 ' HNO2 --> OH + NO ', & ! index 891 ' HNO4 --> POx + OH + NO3 ', & ! index 892 ' HNO4 --> NO2 + HO2 ', & ! index 893 ' NO3 --> NO2 + O ', & ! index 894 ' NO3 --> 2 LOx + NO + O2 ', & ! index 895 ' N2O5 --> NO2 + NO3 ', & ! index 896 ' ALD2 --> 0.88 PCO + 0.12 MCO3 + 0.88 MO2 + 0.88 CO + HO2 ', & ! index 897 ' ALD2 --> PCO + CH4 + CO ', & ! index 898 ' PAN --> 0.3 CO2 + 0.3 POx + 0.7 MCO3 + 0.3 MO2 + 0.7 NO2 + 0.3 NO3 ', & ! index 899 ' APAN --> POx + ACO3 + NO2 ' /) ! index up to 900 CHARACTER(LEN=100), PARAMETER, DIMENSION(30) :: EQN_NAMES_30 = (/ & ' ACR --> 0.7 PCO + 0.4 C2H4 + 0.3 ACO3 + 0.3 CH2O + 0.7 CO + 0.3 HO2 ', & ! index 901 ' AROMCHO --> PCO + MCO3 + CH2O + CO + HO2 ', & ! index 902 ' RCHO --> PCO + 0.49 OTHRO2 + 0.07 A3O2 + 0.27 B3O2 + CO + HO2 ', & ! index 903 ' ACET --> MCO3 + MO2 ', & ! index 904 ' ACET --> PCO + 2 MO2 + CO ', & ! index 905 ' MEK --> 0.415 OTHRO2 + 0.06 A3O2 + 0.15 RCO3 + 0.23 B3O2 + 0.85 MCO3 + 0.15 MO2 ', & ! index 906 ' GLYC --> PCO + 0.1 MOH + 0.9 CH2O + CO + 1.73 HO2 + 0.07 OH ', & ! index 907 ' GLYX --> 2 PCO + 2 CO + 2 HO2 ', & ! index 908 ' GLYX --> 2 PCO + 2 CO + H2 ', & ! index 909 ' GLYX --> PCO + CH2O + CO ', & ! index 910 ' MGLY --> PCO + MCO3 + CO + HO2 ', & ! index 911 ' MVK --> PCO + PRPE + CO ', & ! index 912 ' MVK --> PCO + MCO3 + CH2O + CO + HO2 ', & ! index 913 ' MVK --> RCO3 + MO2 ', & ! index 914 ' MACR --> PCO + MCO3 + CH2O + CO + HO2 ', & ! index 915 ' HAC --> MCO3 + CH2O + HO2 ', & ! index 916 ' PRPN --> RCHO + NO2 + HO2 + OH ', & ! index 917 ' ETP --> ALD2 + HO2 + OH ', & ! index 918 ' RA3P --> RCHO + HO2 + OH ', & ! index 919 ' RB3P --> ACET + HO2 + OH ', & ! index 920 ' R4P --> 1.5 RCHO + HO2 + OH ', & ! index 921 ' R7P --> RCHO + HO2 + OH ', & ! index 922 ' ALK4P --> 1.5 RCHO + HO2 + OH ', & ! index 923 ' PP --> CH2O + ALD2 + HO2 + OH ', & ! index 924 ' RP --> ALD2 + MO2 + HO2 + OH ', & ! index 925 ' R4N2 --> 0.19 MEK + 0.34 ACET + 0.15 RCHO + 0.34 OTHRO2 + 0.05 A3O2 + 0.19 B3O2... etc.', & ! index 926 ' R7N2 --> POx + 1.558 RCHO + 0.326 RCO3 + 0.326 MCO3 + 0.348 ALD2 + NO2 + 0.326 HO2 ', & ! index 927 ' RNO3 --> POx + BALD + NO2 + H2O + HO2 ', & ! index 928 ' ALK4N2 --> 0.19 MEK + 0.34 ACET + 0.15 RCHO + 0.34 OTHRO2 + 0.05 A3O2 + 0.19 B3O2... etc.', & ! index 929 ' MAP --> CO2 + MO2 + OH ' /) ! index up to 930 CHARACTER(LEN=100), PARAMETER, DIMENSION(30) :: EQN_NAMES_31 = (/ & ' Br2 --> 2 Br ', & ! index 931 ' BrO --> Br + O ', & ! index 932 ' HOBr --> LOx + Br + OH ', & ! index 933 ' BrNO3 --> Br + NO3 ', & ! index 934 ' BrNO3 --> NO2 + BrO ', & ! index 935 ' BrNO2 --> NO2 + Br ', & ! index 936 ' CHBr3 --> 3 Br ', & ! index 937 ' CH2Br2 --> 2 Br ', & ! index 938 ' CH3Br --> MO2 + Br ', & ! index 939 ' CH3Cl --> MO2 + Cl ', & ! index 940 ' CH2Cl2 --> 2 Cl ', & ! index 941 ' BrCl --> Cl + Br ', & ! index 942 ' Cl2 --> 2 Cl ', & ! index 943 ' ClO --> Cl + O ', & ! index 944 ' OClO --> ClO + O ', & ! index 945 ' Cl2O2 --> 2 LOx + ClOO + Cl ', & ! index 946 ' ClNO2 --> NO2 + Cl ', & ! index 947 ' ClNO3 --> Cl + NO3 ', & ! index 948 ' ClNO3 --> NO2 + ClO ', & ! index 949 ' HOCl --> LOx + Cl + OH ', & ! index 950 ' CH3CCl3 --> 3 Cl ', & ! index 951 ' CCl4 --> 4 Cl ', & ! index 952 ' CFC11 --> 3 Cl ', & ! index 953 ' CFC12 --> 2 Cl ', & ! index 954 ' CFC113 --> 3 Cl ', & ! index 955 ' CFC114 --> 2 Cl ', & ! index 956 ' CFC115 --> Cl ', & ! index 957 ' HCFC123 --> 2 Cl ', & ! index 958 ' HCFC141b --> 2 Cl ', & ! index 959 ' HCFC142b --> Cl ' /) ! index up to 960 CHARACTER(LEN=100), PARAMETER, DIMENSION(30) :: EQN_NAMES_32 = (/ & ' HCFC22 --> Cl ', & ! index 961 ' H1301 --> Br ', & ! index 962 ' H1211 --> Cl + Br ', & ! index 963 ' H2402 --> 2 Br ', & ! index 964 ' ClOO --> Cl + O2 ', & ! index 965 ' I2 --> 2 I ', & ! index 966 ' HOI --> LOx + I + OH ', & ! index 967 ' IO --> I + O ', & ! index 968 ' OIO --> 2 LOx + I + O2 ', & ! index 969 ' INO --> I + NO ', & ! index 970 ' IONO --> I + NO2 ', & ! index 971 ' IONO2 --> I + NO3 ', & ! index 972 ' I2O2 --> OIO + I ', & ! index 973 ' CH3I --> I ', & ! index 974 ' CH2I2 --> 2 I ', & ! index 975 ' CH2ICl --> I + Cl ', & ! index 976 ' CH2IBr --> I + Br ', & ! index 977 ' I2O4 --> 2 OIO ', & ! index 978 ' I2O3 --> OIO + IO ', & ! index 979 ' IBr --> I + Br ', & ! index 980 ' ICl --> I + Cl ', & ! index 981 ' MPN --> POx + CH2O + HO2 + NO3 ', & ! index 982 ' MPN --> MO2 + NO2 ', & ! index 983 ' ATOOH --> MCO3 + CH2O + OH ', & ! index 984 ' N2O --> POx + O1D + N2 ', & ! index 985 ' OCS --> PCO + CO + SO2 ', & ! index 986 ' SO4 --> 2 OH + SO2 ', & ! index 987 ' NO --> POx + N + O ', & ! index 988 ' PIP --> RCHO + HO2 + OH ', & ! index 989 ' ETHLN --> PCO + CH2O + CO + NO2 + HO2 ' /) ! index up to 990 CHARACTER(LEN=100), PARAMETER, DIMENSION(30) :: EQN_NAMES_33 = (/ & ' MONITS --> MEK + NO2 ', & ! index 991 ' MONITU --> RCHO + NO2 ', & ! index 992 ' HONIT --> HAC + NO2 ', & ! index 993 ' NITs --> LOx + HNO2 ', & ! index 994 ' NITs --> NO2 ', & ! index 995 ' NIT --> LOx + HNO2 ', & ! index 996 ' NIT --> NO2 ', & ! index 997 ' MENO3 --> POx + CH2O + NO2 + HO2 ', & ! index 998 ' ETNO3 --> POx + ALD2 + NO2 + HO2 ', & ! index 999 ' IPRNO3 --> POx + ACET + NO2 + HO2 ', & ! index 1000 ' NPRNO3 --> POx + RCHO + NO2 + HO2 ', & ! index 1001 ' HMHP --> CH2O + 2 OH ', & ! index 1002 ' HPETHNL --> PCO + CH2O + CO + HO2 + OH ', & ! index 1003 ' PYAC --> CO2 + MCO3 + HO2 ', & ! index 1004 ' PROPNN --> MCO3 + CH2O + NO2 ', & ! index 1005 ' MVKHC --> PCO + MCO3 + CH2O + CO + HO2 ', & ! index 1006 ' MVKHCB --> 0.5 PCO + 0.5 GLYX + 0.5 MGLY + 0.5 MCO3 + 0.5 CO + 1.5 HO2 ', & ! index 1007 ' MVKHP --> 0.47 MGLY + 0.53 GLYC + 0.53 MCO3 + 0.47 CH2O + 0.47 HO2 + OH ', & ! index 1008 ' MVKPC --> 0.571 PCO + 0.429 GLYX + 0.571 MGLY + 0.429 MCO3 + 0.571 CO + 0.571 HO2 + OH ', & ! index 1009 ' MCRENOL --> 0.875 PCO + 0.75 PYAC + 0.125 GLYX + 0.125 MGLY + 0.125 MCO3 + 0.875 C... etc.', & ! index 1010 ' MCRHP --> 0.77 PCO + 0.23 MGLY + 0.77 HAC + 0.23 CH2O + 0.77 CO + HO2 + OH ', & ! index 1011 ' MACR1OOH --> 1.238 CO2 + 0.25 MACR1OOH + 0.262 MCO3 + 0.75 CH2O + 0.488 MO2 + 0.75 OH ', & ! index 1012 ' MVKN --> 0.3 ETHLN + 0.69 GLYC + 1.01 MCO3 + 0.7 NO2 + 0.29 HO2 + 0.01 OH ', & ! index 1013 ' MCRHN --> PCO + HAC + CO + NO2 + HO2 ', & ! index 1014 ' MCRHNB --> PCO + PROPNN + CO + HO2 + OH ', & ! index 1015 ' RIPA --> MVK + CH2O + HO2 + OH ', & ! index 1016 ' RIPB --> MACR + CH2O + HO2 + OH ', & ! index 1017 ' RIPC --> HC5A + HO2 + OH ', & ! index 1018 ' RIPD --> HC5A + HO2 + OH ', & ! index 1019 ' HPALD1 --> 0.888 PCO + 0.112 IDC + 0.224 C4HVP1 + 0.112 MVKPC + 0.552 MCRENOL + 0... etc.' /) ! index up to 1020 CHARACTER(LEN=100), PARAMETER, DIMENSION(30) :: EQN_NAMES_34 = (/ & ' HPALD2 --> 0.818 PCO + 0.182 IDC + 0.182 C4HVP2 + 0.182 MVKPC + 0.454 MCRENOL + 0... etc.', & ! index 1021 ' HPALD3 --> PCO + MVK + CO + HO2 + OH ', & ! index 1022 ' HPALD4 --> PCO + MACR + CO + HO2 + OH ', & ! index 1023 ' IHN1 --> 0.55 PCO + 0.45 HC5A + 0.55 MVKHP + 0.55 CO + NO2 + 0.45 HO2 + 0.55 OH ', & ! index 1024 ' IHN2 --> MVK + CH2O + NO2 + HO2 ', & ! index 1025 ' IHN3 --> MACR + CH2O + NO2 + HO2 ', & ! index 1026 ' IHN4 --> 0.55 PCO + 0.45 HC5A + 0.55 MCRHP + 0.55 CO + NO2 + 0.45 HO2 + 0.55 OH ', & ! index 1027 ' INPB --> 0.097 MACR + 0.903 MVK + CH2O + NO2 + 0.33 HO2 + 0.67 OH ', & ! index 1028 ' INPD --> 0.841 INA + 0.159 ICN + 0.159 HO2 + OH ', & ! index 1029 ' INPD --> 0.159 IHOO4 + 0.841 IHOO1 + NO2 ', & ! index 1030 ' ICN --> 0.839 PCO + 0.161 IDC + 0.068 C4HVP1 + 0.128 C4HVP2 + 0.162 MVKPC + 0.... etc.', & ! index 1031 ' IDN --> 0.222 INA + 0.223 ICN + 0.5 GLYC + 0.5 HAC + 0.005 MACR + 0.05 MVK + 0... etc.', & ! index 1032 ' ICPDH --> PCO + 0.35 MVKDH + 0.15 MCRDH + 0.5 MCRHP + CO + 1.5 HO2 + 0.5 OH ', & ! index 1033 ' ICPDH --> 0.163 PCO + 0.163 MCRDH + 0.133 MVKHCB + 0.586 GLYX + 0.118 MGLY + 0.1... etc.', & ! index 1034 ' IDHDP --> 0.75 ICPDH + 0.25 GLYC + 0.25 HAC + 0.75 HO2 + 1.25 OH ', & ! index 1035 ' IDHPE --> 0.571 GLYX + 0.429 MGLY + 0.429 GLYC + 0.571 HAC + HO2 + OH ', & ! index 1036 ' IDCHP --> PCO + 0.454 MVKPC + 0.391 MVKHC + 0.155 MVKHCB + CO + 1.454 HO2 + 0.546 OH ', & ! index 1037 ' ITHN --> 0.5 MCRHN + 0.15 ETHLN + 0.05 MVKN + 0.3 GLYC + 0.45 HAC + 0.55 CH2O +... etc.', & ! index 1038 ' ITHN --> 0.5 HPETHNL + 0.05 ATOOH + 0.15 MCRHP + 0.35 GLYC + 0.8 HAC + 0.15 CH2... etc.', & ! index 1039 ' ITCN --> MGLY + GLYC + NO2 + OH ', & ! index 1040 ' ITCN --> PCO + 0.5 MCRHP + 0.5 MVKHP + CO + NO2 + HO2 ', & ! index 1041 ' ETHP --> ETO + OH ', & ! index 1042 ' BALD --> PCO + BENZO2 + CO + HO2 ', & ! index 1043 ' BZCO3H --> CO2 + BENZO2 + OH ', & ! index 1044 ' BENZP --> BENZO ', & ! index 1045 ' NPHEN --> CO2 + PCO + AROMP4 + HNO2 + CO + HO2 ', & ! index 1046 ' PPN --> 0.3 POx + 0.7 RCO3 + 0.7 NO2 + 0.3 NO3 ', & ! index 1047 ' APINP --> PINAL + HO2 + OH ', & ! index 1048 ' PINAL --> PCO + C96O2 + CO + HO2 ', & ! index 1049 ' PINO3H --> CO2 + C96O2 + OH ' /) ! index up to 1050 CHARACTER(LEN=100), PARAMETER, DIMENSION(8) :: EQN_NAMES_35 = (/ & ' PINONIC --> CO2 + C96O2 + OH ', & ! index 1051 ' C96O2H --> AROMRO2 + 0.5 MEK + ACET + RCO3 + CH2O + OH ', & ! index 1052 ' BPINP --> BPINO + CH2O + HO2 + OH ', & ! index 1053 ' BPINOOH --> 0.27 LIMO3 + 0.6 ACET + 0.6 RCHO + 0.6 R4O2 + HO2 + OH ', & ! index 1054 ' LIMO3H --> CO2 + RCHO + 0.8 R4O2 + MCO3 + 0.4 CH2O + OH ', & ! index 1055 ' LIMO2H --> CO2 + RCHO + 0.8 R4O2 + MCO3 + 0.4 CH2O + OH ', & ! index 1056 ' PIP --> 0.675 MYRCO + 0.45 ACET + 0.45 MVK + 0.1 CH2O + HO2 + OH ', & ! index 1057 ' LIMAL --> PCO + 0.9 LIMO3 + CO + HO2 ' /) ! index up to 1058 CHARACTER(LEN=100), PARAMETER, DIMENSION(1058) :: EQN_NAMES = (/& EQN_NAMES_0, EQN_NAMES_1, EQN_NAMES_2, EQN_NAMES_3, EQN_NAMES_4, & EQN_NAMES_5, EQN_NAMES_6, EQN_NAMES_7, EQN_NAMES_8, EQN_NAMES_9, & EQN_NAMES_10, EQN_NAMES_11, EQN_NAMES_12, EQN_NAMES_13, EQN_NAMES_14, & EQN_NAMES_15, EQN_NAMES_16, EQN_NAMES_17, EQN_NAMES_18, EQN_NAMES_19, & EQN_NAMES_20, EQN_NAMES_21, EQN_NAMES_22, EQN_NAMES_23, EQN_NAMES_24, & EQN_NAMES_25, EQN_NAMES_26, EQN_NAMES_27, EQN_NAMES_28, EQN_NAMES_29, & EQN_NAMES_30, EQN_NAMES_31, EQN_NAMES_32, EQN_NAMES_33, EQN_NAMES_34, & EQN_NAMES_35 /) CHARACTER(LEN=32), PARAMETER, DIMENSION(7) :: FAM_NAMES = (/ & 'POx ','LOx ','PCO ', & ! index 1 - 3 'LCO ','PSO4 ','LCH4 ', & ! index 4 - 6 'PH2O2 ' /) ! index up to 7 ! Begin inlined code from F90_DATA ! End inlined code from F90_DATA END MODULE gckpp_Monitor ================================================ FILE: KPP/fullchem/gckpp_Parameters.F90 ================================================ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Parameter Module File ! ! Generated by KPP-3.2.0 symbolic chemistry Kinetics PreProcessor ! (https:/github.com/KineticPreProcessor/KPP ! KPP is distributed under GPL, the general public licence ! (http://www.gnu.org/copyleft/gpl.html) ! (C) 1995-1997, V. Damian & A. Sandu, CGRER, Univ. Iowa ! (C) 1997-2022, A. Sandu, Michigan Tech, Virginia Tech ! With important contributions from: ! M. Damian, Villanova University, Philadelphia, PA, USA ! R. Sander, Max-Planck Institute for Chemistry, Mainz, Germany ! M. Long, Renaissance Fiber, LLC, North Carolina, USA ! H. Lin, Harvard University, Cambridge, MA, USA ! R. Yantosca, Harvard University, Cambridge, MA, USA ! ! File : gckpp_Parameters.F90 ! Equation file : gckpp.kpp ! Output root filename : gckpp ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MODULE gckpp_Parameters USE gckpp_Precision PUBLIC SAVE ! NSPEC - Number of chemical species INTEGER, PARAMETER :: NSPEC = 356 ! NVAR - Number of Variable species INTEGER, PARAMETER :: NVAR = 353 ! NFAM - Number of Prod/Loss Families INTEGER, PARAMETER :: NFAM = 7 ! NVARACT - Number of Active species INTEGER, PARAMETER :: NVARACT = 322 ! NFIX - Number of Fixed species INTEGER, PARAMETER :: NFIX = 3 ! NREACT - Number of reactions INTEGER, PARAMETER :: NREACT = 1058 ! NVARST - Starting of variables in conc. vect. INTEGER, PARAMETER :: NVARST = 1 ! NFIXST - Starting of fixed in conc. vect. INTEGER, PARAMETER :: NFIXST = 354 ! NONZERO - Number of nonzero entries in Jacobian INTEGER, PARAMETER :: NONZERO = 4401 ! LU_NONZERO - Number of nonzero entries in LU factoriz. of Jacobian INTEGER, PARAMETER :: LU_NONZERO = 5683 ! CNVAR - (NVAR+1) Number of elements in compressed row format INTEGER, PARAMETER :: CNVAR = 354 ! NLOOKAT - Number of species to look at INTEGER, PARAMETER :: NLOOKAT = 0 ! NMONITOR - Number of species to monitor INTEGER, PARAMETER :: NMONITOR = 0 ! NMASS - Number of atoms to check mass balance INTEGER, PARAMETER :: NMASS = 1 ! Index declaration for variable species in C and VAR ! VAR(ind_spc) = C(ind_spc) INTEGER, PARAMETER :: ind_CH2I2 = 1 INTEGER, PARAMETER :: ind_CH2IBr = 2 INTEGER, PARAMETER :: ind_CH2ICl = 3 INTEGER, PARAMETER :: ind_AERI = 4 INTEGER, PARAMETER :: ind_AONITA = 5 INTEGER, PARAMETER :: ind_BUTDI = 6 INTEGER, PARAMETER :: ind_CO2 = 7 INTEGER, PARAMETER :: ind_INDIOL = 8 INTEGER, PARAMETER :: ind_ISALA = 9 INTEGER, PARAMETER :: ind_ISALC = 10 INTEGER, PARAMETER :: ind_LBRO2H = 11 INTEGER, PARAMETER :: ind_LBRO2N = 12 INTEGER, PARAMETER :: ind_BRO2 = 13 INTEGER, PARAMETER :: ind_LISOPOH = 14 INTEGER, PARAMETER :: ind_LISOPNO3 = 15 INTEGER, PARAMETER :: ind_LNRO2H = 16 INTEGER, PARAMETER :: ind_LNRO2N = 17 INTEGER, PARAMETER :: ind_NRO2 = 18 INTEGER, PARAMETER :: ind_NAP = 19 INTEGER, PARAMETER :: ind_LTRO2H = 20 INTEGER, PARAMETER :: ind_LTRO2N = 21 INTEGER, PARAMETER :: ind_TRO2 = 22 INTEGER, PARAMETER :: ind_LVOCOA = 23 INTEGER, PARAMETER :: ind_LVOC = 24 INTEGER, PARAMETER :: ind_LXRO2H = 25 INTEGER, PARAMETER :: ind_LXRO2N = 26 INTEGER, PARAMETER :: ind_XRO2 = 27 INTEGER, PARAMETER :: ind_MSA = 28 INTEGER, PARAMETER :: ind_SO4s = 29 INTEGER, PARAMETER :: ind_SOAGX = 30 INTEGER, PARAMETER :: ind_SOAIE = 31 INTEGER, PARAMETER :: ind_PH2SO4 = 32 INTEGER, PARAMETER :: ind_PSO4AQ = 33 INTEGER, PARAMETER :: ind_POx = 34 INTEGER, PARAMETER :: ind_LOx = 35 INTEGER, PARAMETER :: ind_PCO = 36 INTEGER, PARAMETER :: ind_LCO = 37 INTEGER, PARAMETER :: ind_PSO4 = 38 INTEGER, PARAMETER :: ind_LCH4 = 39 INTEGER, PARAMETER :: ind_PH2O2 = 40 INTEGER, PARAMETER :: ind_FURA = 41 INTEGER, PARAMETER :: ind_I2O4 = 42 INTEGER, PARAMETER :: ind_CH3CCl3 = 43 INTEGER, PARAMETER :: ind_I2O2 = 44 INTEGER, PARAMETER :: ind_MONITA = 45 INTEGER, PARAMETER :: ind_CCl4 = 46 INTEGER, PARAMETER :: ind_CFC11 = 47 INTEGER, PARAMETER :: ind_CFC12 = 48 INTEGER, PARAMETER :: ind_CFC113 = 49 INTEGER, PARAMETER :: ind_CFC114 = 50 INTEGER, PARAMETER :: ind_CFC115 = 51 INTEGER, PARAMETER :: ind_CH3I = 52 INTEGER, PARAMETER :: ind_H1301 = 53 INTEGER, PARAMETER :: ind_H2402 = 54 INTEGER, PARAMETER :: ind_I2O3 = 55 INTEGER, PARAMETER :: ind_PINPAN = 56 INTEGER, PARAMETER :: ind_LIMPAN = 57 INTEGER, PARAMETER :: ind_TLFUONE = 58 INTEGER, PARAMETER :: ind_BrNO2 = 59 INTEGER, PARAMETER :: ind_C2H2 = 60 INTEGER, PARAMETER :: ind_H1211 = 61 INTEGER, PARAMETER :: ind_INO = 62 INTEGER, PARAMETER :: ind_N2O = 63 INTEGER, PARAMETER :: ind_NIT = 64 INTEGER, PARAMETER :: ind_NITs = 65 INTEGER, PARAMETER :: ind_PINONIC = 66 INTEGER, PARAMETER :: ind_N = 67 INTEGER, PARAMETER :: ind_OCS = 68 INTEGER, PARAMETER :: ind_ALK6 = 69 INTEGER, PARAMETER :: ind_ETHN = 70 INTEGER, PARAMETER :: ind_BZCO3H = 71 INTEGER, PARAMETER :: ind_HACTA = 72 INTEGER, PARAMETER :: ind_HI = 73 INTEGER, PARAMETER :: ind_PINO3H = 74 INTEGER, PARAMETER :: ind_CHCl3 = 75 INTEGER, PARAMETER :: ind_Cl2O2 = 76 INTEGER, PARAMETER :: ind_IBr = 77 INTEGER, PARAMETER :: ind_CH2Br2 = 78 INTEGER, PARAMETER :: ind_CH2Cl2 = 79 INTEGER, PARAMETER :: ind_MPN = 80 INTEGER, PARAMETER :: ind_CHBr3 = 81 INTEGER, PARAMETER :: ind_TOLU = 82 INTEGER, PARAMETER :: ind_ETNO3 = 83 INTEGER, PARAMETER :: ind_HCFC123 = 84 INTEGER, PARAMETER :: ind_HCFC141b = 85 INTEGER, PARAMETER :: ind_HCFC142b = 86 INTEGER, PARAMETER :: ind_HCFC22 = 87 INTEGER, PARAMETER :: ind_HMHP = 88 INTEGER, PARAMETER :: ind_HMS = 89 INTEGER, PARAMETER :: ind_BZPAN = 90 INTEGER, PARAMETER :: ind_IPRNO3 = 91 INTEGER, PARAMETER :: ind_MAP = 92 INTEGER, PARAMETER :: ind_MENO3 = 93 INTEGER, PARAMETER :: ind_DMS = 94 INTEGER, PARAMETER :: ind_NPRNO3 = 95 INTEGER, PARAMETER :: ind_OIO = 96 INTEGER, PARAMETER :: ind_R4P = 97 INTEGER, PARAMETER :: ind_R7P = 98 INTEGER, PARAMETER :: ind_RA3P = 99 INTEGER, PARAMETER :: ind_RB3P = 100 INTEGER, PARAMETER :: ind_XYLE = 101 INTEGER, PARAMETER :: ind_ALK4P = 102 INTEGER, PARAMETER :: ind_IONITA = 103 INTEGER, PARAMETER :: ind_ICl = 104 INTEGER, PARAMETER :: ind_CH3Br = 105 INTEGER, PARAMETER :: ind_ETO = 106 INTEGER, PARAMETER :: ind_HMML = 107 INTEGER, PARAMETER :: ind_HNO4 = 108 INTEGER, PARAMETER :: ind_C2H4 = 109 INTEGER, PARAMETER :: ind_ClOO = 110 INTEGER, PARAMETER :: ind_APINP = 111 INTEGER, PARAMETER :: ind_BPINP = 112 INTEGER, PARAMETER :: ind_MEKPN = 113 INTEGER, PARAMETER :: ind_PHAN = 114 INTEGER, PARAMETER :: ind_PYAC = 115 INTEGER, PARAMETER :: ind_RNO3 = 116 INTEGER, PARAMETER :: ind_BENZP = 117 INTEGER, PARAMETER :: ind_ETP = 118 INTEGER, PARAMETER :: ind_IDC = 119 INTEGER, PARAMETER :: ind_OClO = 120 INTEGER, PARAMETER :: ind_TLFUO2 = 121 INTEGER, PARAMETER :: ind_AROMPN = 122 INTEGER, PARAMETER :: ind_PP = 123 INTEGER, PARAMETER :: ind_PPN = 124 INTEGER, PARAMETER :: ind_PRPN = 125 INTEGER, PARAMETER :: ind_APAN = 126 INTEGER, PARAMETER :: ind_BUTN = 127 INTEGER, PARAMETER :: ind_IEPOXD = 128 INTEGER, PARAMETER :: ind_BPINO = 129 INTEGER, PARAMETER :: ind_LIMO2H = 130 INTEGER, PARAMETER :: ind_MVKDH = 131 INTEGER, PARAMETER :: ind_ACRO2 = 132 INTEGER, PARAMETER :: ind_HPALD1OO = 133 INTEGER, PARAMETER :: ind_SO4 = 134 INTEGER, PARAMETER :: ind_HPALD2OO = 135 INTEGER, PARAMETER :: ind_ETHP = 136 INTEGER, PARAMETER :: ind_APINN = 137 INTEGER, PARAMETER :: ind_BPINN = 138 INTEGER, PARAMETER :: ind_PAN = 139 INTEGER, PARAMETER :: ind_C4H6 = 140 INTEGER, PARAMETER :: ind_C3H8 = 141 INTEGER, PARAMETER :: ind_ALK4 = 142 INTEGER, PARAMETER :: ind_BENZ = 143 INTEGER, PARAMETER :: ind_HPALD4 = 144 INTEGER, PARAMETER :: ind_INA = 145 INTEGER, PARAMETER :: ind_AROMCHO = 146 INTEGER, PARAMETER :: ind_IDCHP = 147 INTEGER, PARAMETER :: ind_Br2 = 148 INTEGER, PARAMETER :: ind_EBZ = 149 INTEGER, PARAMETER :: ind_HPALD3 = 150 INTEGER, PARAMETER :: ind_IEPOXA = 151 INTEGER, PARAMETER :: ind_IEPOXB = 152 INTEGER, PARAMETER :: ind_MCRDH = 153 INTEGER, PARAMETER :: ind_HONIT = 154 INTEGER, PARAMETER :: ind_RP = 155 INTEGER, PARAMETER :: ind_EOH = 156 INTEGER, PARAMETER :: ind_BrCl = 157 INTEGER, PARAMETER :: ind_CSL = 158 INTEGER, PARAMETER :: ind_MACR1OOH = 159 INTEGER, PARAMETER :: ind_C96O2H = 160 INTEGER, PARAMETER :: ind_BPINOOH = 161 INTEGER, PARAMETER :: ind_BPINON = 162 INTEGER, PARAMETER :: ind_LIMKB = 163 INTEGER, PARAMETER :: ind_MP = 164 INTEGER, PARAMETER :: ind_R7N1 = 165 INTEGER, PARAMETER :: ind_SALCAL = 166 INTEGER, PARAMETER :: ind_LIMO = 167 INTEGER, PARAMETER :: ind_IHN3 = 168 INTEGER, PARAMETER :: ind_LIMO3H = 169 INTEGER, PARAMETER :: ind_I2 = 170 INTEGER, PARAMETER :: ind_C4HVP1 = 171 INTEGER, PARAMETER :: ind_C4HVP2 = 172 INTEGER, PARAMETER :: ind_RCOOH = 173 INTEGER, PARAMETER :: ind_IDHDP = 174 INTEGER, PARAMETER :: ind_IHN2 = 175 INTEGER, PARAMETER :: ind_C96N = 176 INTEGER, PARAMETER :: ind_LIMNB = 177 INTEGER, PARAMETER :: ind_R7O2 = 178 INTEGER, PARAMETER :: ind_SALAAL = 179 INTEGER, PARAMETER :: ind_IDNOO = 180 INTEGER, PARAMETER :: ind_CH3Cl = 181 INTEGER, PARAMETER :: ind_ICNOO = 182 INTEGER, PARAMETER :: ind_C2H6 = 183 INTEGER, PARAMETER :: ind_MPAN = 184 INTEGER, PARAMETER :: ind_MVKPC = 185 INTEGER, PARAMETER :: ind_INPD = 186 INTEGER, PARAMETER :: ind_RIPA = 187 INTEGER, PARAMETER :: ind_ROH = 188 INTEGER, PARAMETER :: ind_ZRO2 = 189 INTEGER, PARAMETER :: ind_ISOPNOO2 = 190 INTEGER, PARAMETER :: ind_MTPA = 191 INTEGER, PARAMETER :: ind_RIPB = 192 INTEGER, PARAMETER :: ind_PIN = 193 INTEGER, PARAMETER :: ind_MCRENOL = 194 INTEGER, PARAMETER :: ind_PHEN = 195 INTEGER, PARAMETER :: ind_R7N2 = 196 INTEGER, PARAMETER :: ind_ACO3 = 197 INTEGER, PARAMETER :: ind_IDHPE = 198 INTEGER, PARAMETER :: ind_RIPD = 199 INTEGER, PARAMETER :: ind_TMB = 200 INTEGER, PARAMETER :: ind_AROMP5 = 201 INTEGER, PARAMETER :: ind_MCT = 202 INTEGER, PARAMETER :: ind_BENZO = 203 INTEGER, PARAMETER :: ind_BALD = 204 INTEGER, PARAMETER :: ind_ISOPNOO1 = 205 INTEGER, PARAMETER :: ind_IDHNDOO1 = 206 INTEGER, PARAMETER :: ind_IDHNDOO2 = 207 INTEGER, PARAMETER :: ind_MVKHC = 208 INTEGER, PARAMETER :: ind_RIPC = 209 INTEGER, PARAMETER :: ind_HPETHNL = 210 INTEGER, PARAMETER :: ind_LIMN = 211 INTEGER, PARAMETER :: ind_BUTO2 = 212 INTEGER, PARAMETER :: ind_GCO3 = 213 INTEGER, PARAMETER :: ind_N2O5 = 214 INTEGER, PARAMETER :: ind_ICHE = 215 INTEGER, PARAMETER :: ind_MCRHNB = 216 INTEGER, PARAMETER :: ind_H = 217 INTEGER, PARAMETER :: ind_BrNO3 = 218 INTEGER, PARAMETER :: ind_MTPO = 219 INTEGER, PARAMETER :: ind_STYR = 220 INTEGER, PARAMETER :: ind_AROMP4 = 221 INTEGER, PARAMETER :: ind_INPB = 222 INTEGER, PARAMETER :: ind_IHPOO1 = 223 INTEGER, PARAMETER :: ind_IHPOO2 = 224 INTEGER, PARAMETER :: ind_PINAL = 225 INTEGER, PARAMETER :: ind_IHPNDOO = 226 INTEGER, PARAMETER :: ind_MVKHCB = 227 INTEGER, PARAMETER :: ind_CH4 = 228 INTEGER, PARAMETER :: ind_PIP = 229 INTEGER, PARAMETER :: ind_HPALD1 = 230 INTEGER, PARAMETER :: ind_HPALD2 = 231 INTEGER, PARAMETER :: ind_IHPOO3 = 232 INTEGER, PARAMETER :: ind_ACR = 233 INTEGER, PARAMETER :: ind_ETOO = 234 INTEGER, PARAMETER :: ind_BZCO3 = 235 INTEGER, PARAMETER :: ind_BENZO2 = 236 INTEGER, PARAMETER :: ind_LIMKET = 237 INTEGER, PARAMETER :: ind_HC5A = 238 INTEGER, PARAMETER :: ind_HNO2 = 239 INTEGER, PARAMETER :: ind_AROMCO3 = 240 INTEGER, PARAMETER :: ind_CH3CHOO = 241 INTEGER, PARAMETER :: ind_MONITU = 242 INTEGER, PARAMETER :: ind_ICHOO = 243 INTEGER, PARAMETER :: ind_ATOOH = 244 INTEGER, PARAMETER :: ind_Cl2 = 245 INTEGER, PARAMETER :: ind_MEKCO3 = 246 INTEGER, PARAMETER :: ind_PROPNN = 247 INTEGER, PARAMETER :: ind_MCRHN = 248 INTEGER, PARAMETER :: ind_ALK4N1 = 249 INTEGER, PARAMETER :: ind_PRN1 = 250 INTEGER, PARAMETER :: ind_R4N2 = 251 INTEGER, PARAMETER :: ind_IONO = 252 INTEGER, PARAMETER :: ind_MCROHOO = 253 INTEGER, PARAMETER :: ind_MVKOHOO = 254 INTEGER, PARAMETER :: ind_LIMAL = 255 INTEGER, PARAMETER :: ind_MONITS = 256 INTEGER, PARAMETER :: ind_PINO3 = 257 INTEGER, PARAMETER :: ind_ICPDH = 258 INTEGER, PARAMETER :: ind_MACR1OO = 259 INTEGER, PARAMETER :: ind_PO2 = 260 INTEGER, PARAMETER :: ind_ETHLN = 261 INTEGER, PARAMETER :: ind_MYRCO = 262 INTEGER, PARAMETER :: ind_AROMRO2 = 263 INTEGER, PARAMETER :: ind_H2O2 = 264 INTEGER, PARAMETER :: ind_HCOOH = 265 INTEGER, PARAMETER :: ind_ITCN = 266 INTEGER, PARAMETER :: ind_IHN4 = 267 INTEGER, PARAMETER :: ind_IHN1 = 268 INTEGER, PARAMETER :: ind_NPHEN = 269 INTEGER, PARAMETER :: ind_GLYX = 270 INTEGER, PARAMETER :: ind_IHPNBOO = 271 INTEGER, PARAMETER :: ind_LIMKO2 = 272 INTEGER, PARAMETER :: ind_BPINOO2 = 273 INTEGER, PARAMETER :: ind_LIMO3 = 274 INTEGER, PARAMETER :: ind_BPINO2 = 275 INTEGER, PARAMETER :: ind_ISOP = 276 INTEGER, PARAMETER :: ind_APINO2 = 277 INTEGER, PARAMETER :: ind_C96O2 = 278 INTEGER, PARAMETER :: ind_ALK4N2 = 279 INTEGER, PARAMETER :: ind_OLNN = 280 INTEGER, PARAMETER :: ind_LIMO2 = 281 INTEGER, PARAMETER :: ind_MOH = 282 INTEGER, PARAMETER :: ind_ACTA = 283 INTEGER, PARAMETER :: ind_IO = 284 INTEGER, PARAMETER :: ind_IEPOXBOO = 285 INTEGER, PARAMETER :: ind_IEPOXAOO = 286 INTEGER, PARAMETER :: ind_MCRHP = 287 INTEGER, PARAMETER :: ind_MVKHP = 288 INTEGER, PARAMETER :: ind_OLND = 289 INTEGER, PARAMETER :: ind_PRPE = 290 INTEGER, PARAMETER :: ind_PIO2 = 291 INTEGER, PARAMETER :: ind_MEK = 292 INTEGER, PARAMETER :: ind_IDHNBOO = 293 INTEGER, PARAMETER :: ind_MGLY = 294 INTEGER, PARAMETER :: ind_ACET = 295 INTEGER, PARAMETER :: ind_ETO2 = 296 INTEGER, PARAMETER :: ind_ClNO2 = 297 INTEGER, PARAMETER :: ind_RCHO = 298 INTEGER, PARAMETER :: ind_IDN = 299 INTEGER, PARAMETER :: ind_ALK4O2 = 300 INTEGER, PARAMETER :: ind_ICN = 301 INTEGER, PARAMETER :: ind_MVKN = 302 INTEGER, PARAMETER :: ind_ITHN = 303 INTEGER, PARAMETER :: ind_IHOO4 = 304 INTEGER, PARAMETER :: ind_IHOO1 = 305 INTEGER, PARAMETER :: ind_GLYC = 306 INTEGER, PARAMETER :: ind_HAC = 307 INTEGER, PARAMETER :: ind_MACRNO2 = 308 INTEGER, PARAMETER :: ind_MACR = 309 INTEGER, PARAMETER :: ind_INO2B = 310 INTEGER, PARAMETER :: ind_INO2D = 311 INTEGER, PARAMETER :: ind_CH2OO = 312 INTEGER, PARAMETER :: ind_ATO2 = 313 INTEGER, PARAMETER :: ind_MVK = 314 INTEGER, PARAMETER :: ind_OTHRO2 = 315 INTEGER, PARAMETER :: ind_HOBr = 316 INTEGER, PARAMETER :: ind_ClNO3 = 317 INTEGER, PARAMETER :: ind_R4N1 = 318 INTEGER, PARAMETER :: ind_R4O2 = 319 INTEGER, PARAMETER :: ind_KO2 = 320 INTEGER, PARAMETER :: ind_A3O2 = 321 INTEGER, PARAMETER :: ind_RCO3 = 322 INTEGER, PARAMETER :: ind_B3O2 = 323 INTEGER, PARAMETER :: ind_MCO3 = 324 INTEGER, PARAMETER :: ind_CH2O = 325 INTEGER, PARAMETER :: ind_ALD2 = 326 INTEGER, PARAMETER :: ind_HNO3 = 327 INTEGER, PARAMETER :: ind_MO2 = 328 INTEGER, PARAMETER :: ind_CO = 329 INTEGER, PARAMETER :: ind_HOI = 330 INTEGER, PARAMETER :: ind_I = 331 INTEGER, PARAMETER :: ind_IONO2 = 332 INTEGER, PARAMETER :: ind_HOCl = 333 INTEGER, PARAMETER :: ind_O1D = 334 INTEGER, PARAMETER :: ind_NO2 = 335 INTEGER, PARAMETER :: ind_H2O = 336 INTEGER, PARAMETER :: ind_HO2 = 337 INTEGER, PARAMETER :: ind_ClO = 338 INTEGER, PARAMETER :: ind_HCl = 339 INTEGER, PARAMETER :: ind_Cl = 340 INTEGER, PARAMETER :: ind_O3 = 341 INTEGER, PARAMETER :: ind_Br = 342 INTEGER, PARAMETER :: ind_O = 343 INTEGER, PARAMETER :: ind_SALCCL = 344 INTEGER, PARAMETER :: ind_OH = 345 INTEGER, PARAMETER :: ind_NO = 346 INTEGER, PARAMETER :: ind_BrO = 347 INTEGER, PARAMETER :: ind_SO2 = 348 INTEGER, PARAMETER :: ind_BrSALA = 349 INTEGER, PARAMETER :: ind_BrSALC = 350 INTEGER, PARAMETER :: ind_NO3 = 351 INTEGER, PARAMETER :: ind_HBr = 352 INTEGER, PARAMETER :: ind_SALACL = 353 ! Index declaration for fixed species in C ! C(ind_spc) INTEGER, PARAMETER :: ind_H2 = 354 INTEGER, PARAMETER :: ind_N2 = 355 INTEGER, PARAMETER :: ind_O2 = 356 ! Index declaration for fixed species in FIX ! FIX(indf_spc) = C(ind_spc) = C(NVAR+indf_spc) INTEGER, PARAMETER :: indf_H2 = 1 INTEGER, PARAMETER :: indf_N2 = 2 INTEGER, PARAMETER :: indf_O2 = 3 END MODULE gckpp_Parameters ================================================ FILE: KPP/fullchem/gckpp_Precision.F90 ================================================ MODULE gckpp_Precision ! ! Definition of different levels of accuracy ! for REAL variables using KIND parameterization ! ! KPP SP - Single precision kind INTEGER, PARAMETER :: sp = SELECTED_REAL_KIND(6,30) ! KPP DP - Double precision kind INTEGER, PARAMETER :: dp = SELECTED_REAL_KIND(14,300) ! KPP QP - Quadruple precision kind INTEGER, PARAMETER :: qp = SELECTED_REAL_KIND(18,400) END MODULE gckpp_Precision ================================================ FILE: KPP/fullchem/gckpp_Rates.F90 ================================================ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! The Reaction Rates File ! ! Generated by KPP-3.2.0 symbolic chemistry Kinetics PreProcessor ! (https:/github.com/KineticPreProcessor/KPP ! KPP is distributed under GPL, the general public licence ! (http://www.gnu.org/copyleft/gpl.html) ! (C) 1995-1997, V. Damian & A. Sandu, CGRER, Univ. Iowa ! (C) 1997-2022, A. Sandu, Michigan Tech, Virginia Tech ! With important contributions from: ! M. Damian, Villanova University, Philadelphia, PA, USA ! R. Sander, Max-Planck Institute for Chemistry, Mainz, Germany ! M. Long, Renaissance Fiber, LLC, North Carolina, USA ! H. Lin, Harvard University, Cambridge, MA, USA ! R. Yantosca, Harvard University, Cambridge, MA, USA ! ! File : gckpp_Rates.F90 ! Equation file : gckpp.kpp ! Output root filename : gckpp ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MODULE gckpp_Rates USE gckpp_Parameters USE gckpp_Global IMPLICIT NONE INTEGER, PARAMETER :: ASSOC = 1, DISSOC = 2 PRIVATE :: ARR_abc_dp, ARR_abc_sp INTERFACE ARR_abc MODULE PROCEDURE ARR_abc_dp MODULE PROCEDURE ARR_abc_sp END INTERFACE ARR_abc PRIVATE :: ARR_ab_dp, ARR_ab_sp INTERFACE ARR_ab MODULE PROCEDURE ARR_ab_dp MODULE PROCEDURE ARR_ab_sp END INTERFACE ARR_ab PRIVATE :: ARR_ac_dp, ARR_ac_sp INTERFACE ARR_ac MODULE PROCEDURE ARR_ac_dp MODULE PROCEDURE ARR_ac_sp END INTERFACE ARR_ac PRIVATE :: EP2_dp, EP2_sp INTERFACE EP2 MODULE PROCEDURE EP2_dp MODULE PROCEDURE EP2_sp END INTERFACE EP2 PRIVATE :: EP3_dp, EP3_sp INTERFACE EP3 MODULE PROCEDURE EP3_dp MODULE PROCEDURE EP3_sp END INTERFACE EP3 PRIVATE :: FALL_dp, FALL_sp INTERFACE FALL MODULE PROCEDURE FALL_dp MODULE PROCEDURE FALL_sp END INTERFACE FALL PRIVATE :: k3rd_jpl_dp, k3rd_jpl_sp INTERFACE k3rd_jpl MODULE PROCEDURE k3rd_jpl_dp MODULE PROCEDURE k3rd_jpl_sp END INTERFACE k3rd_jpl PRIVATE :: k3rd_jpl_activation_dp, k3rd_jpl_activation_sp INTERFACE k3rd_jpl_activation MODULE PROCEDURE k3rd_jpl_activation_dp MODULE PROCEDURE k3rd_jpl_activation_sp END INTERFACE k3rd_jpl_activation PRIVATE :: k3rd_iupac_dp, k3rd_iupac_sp INTERFACE k3rd_iupac MODULE PROCEDURE k3rd_iupac_dp MODULE PROCEDURE k3rd_iupac_sp END INTERFACE k3rd_iupac CONTAINS ! Begin Rate Law Functions from KPP_HOME/util/UserRateLaws !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! User-defined Rate Law functions ! ! NOTE: For computational efficiency, we have created duplicate rate law ! routines here that take either all single precision or all double precision ! arguments. Explicit casts to DBLE are skipped in the functions that take ! all double precision arguments (as this removes unneeded computations). ! ! These functions are overloaded by INTERFACE statements, which are located ! in file UserRateLawsInterfaces.f90. The UserRateLawsInterfaces.f90 file ! will be in-lined into the top of the gckpp_Rates module. !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ FUNCTION ARR_abc_dp( a0, b0, c0 ) RESULT( k ) ! Arrhenius function, for nonzero a0, b0, c0 (dp args) REAL(dp), INTENT(IN) :: a0, b0, c0 REAL(kind=dp) :: k k = a0 * EXP(-b0/TEMP) * (TEMP/300.0_dp)**C0 END FUNCTION ARR_abc_dp FUNCTION ARR_abc_sp( a0, b0, c0 ) RESULT( k ) ! Arrhenius function, for nonzero a0, b0, c0 (sp args) REAL(sp), INTENT(IN) :: a0, b0, c0 REAL(kind=dp) :: k k = DBLE(a0) * EXP(-DBLE(b0)/TEMP) * (TEMP/300.0_dp)**DBLE(c0) END FUNCTION ARR_abc_sp !--------------------------------------------------------------------------- FUNCTION ARR_ab_dp( a0, b0 ) RESULT( k ) ! Arrhenius function, for nonzero a0, b0 (dp args) REAL(dp), INTENT(IN) :: a0, b0 REAL(kind=dp) :: k k = a0 * EXP(-b0/TEMP) END FUNCTION ARR_ab_dp FUNCTION ARR_ab_sp( a0, b0 ) RESULT( k ) ! Arrhenius function, for nonzero a0, b0 (sp args) REAL(sp), INTENT(IN) :: a0, b0 REAL(kind=dp) :: k k = DBLE(a0) * EXP(-DBLE(b0)/TEMP) END FUNCTION ARR_ab_sp !--------------------------------------------------------------------------- FUNCTION ARR_ac_dp( a0, c0 ) RESULT( k ) ! Arrhenius function, for nonzero a0, c0 (dp args) REAL(dp), INTENT(IN) :: a0, c0 REAL(kind=dp) :: k k = a0 * (TEMP/300.0_dp)**C0 END FUNCTION ARR_ac_dp FUNCTION ARR_ac_sp( a0, c0 ) RESULT( k ) ! Arrhenius function, for nonzero a0, c0 (sp args) REAL(sp), INTENT(IN) :: a0, c0 REAL(kind=dp) :: k k = DBLE(a0) * (TEMP/300.0_dp)**DBLE(c0) END FUNCTION ARR_ac_sp !--------------------------------------------------------------------------- FUNCTION EP2_dp( a0, c0, a2, c2, a3, c3 ) RESULT( k ) ! EP2 function, for saprc99 and saprcnov (dp args) REAL(dp), INTENT(IN) :: a0, c0, a2, c2, a3, c3 REAL(dp) :: k0, k2, k3 REAL(kind=dp) :: k k0 = a0 * EXP(-c0/temp) k2 = a2 * EXP(-c2/temp) k3 = a3 * EXP(-c3/temp) k3 = k3 * CFACTOR * 1.0E6_dp k = k0 + k3/(1.0_dp + k3/k2) END FUNCTION EP2_dp FUNCTION EP2_sp( a0, c0, a2, c2, a3, c3 ) RESULT( k ) ! EP2 function, for saprc99 and saprcnov (sp args) REAL(sp), INTENT(IN) :: a0, c0, a2, c2, a3, c3 REAL(dp) :: k0, k2, k3 REAL(kind=dp) :: k k0 = DBLE(a0) * EXP(-DBLE(c0)/TEMP) k2 = DBLE(a2) * EXP(-DBLE(c2)/TEMP) k3 = DBLE(a3) * EXP(-DBLE(c3)/TEMP) k3 = k3 * CFACTOR * 1.0E6_dp k = k0 + K3/(1.0_dp + k3/k2) END FUNCTION EP2_sp !--------------------------------------------------------------------------- FUNCTION EP3_dp( a1, c1, a2, c2) RESULT( k ) ! EP3 function, for saprc99 and saprcnov (dp args) REAL(dp), INTENT(IN) :: a1, c1, a2, c2 REAL(dp) :: k1, k2 REAL(kind=dp) :: k k1 = a1 * EXP(-c1/TEMP) k2 = a2 * EXP(-c2/TEMP) k = k1 + k2*(1.0E6_dp * CFACTOR) END FUNCTION EP3_dp FUNCTION EP3_sp( a1, c1, a2, c2 ) RESULT( k ) ! EP3 function, for saprc99 and saprcnov (sp args) REAL(sp), INTENT(IN) :: a1, c1, a2, c2 REAL(dp) :: k1, k2 REAL(kind=dp) :: k k1 = DBLE(a1) * EXP(-DBLE(c1)/TEMP) k2 = DBLE(a2) * EXP(-DBLE(c2)/TEMP) k = k1 + k2*(1.0E6_dp * CFACTOR) END FUNCTION EP3_sp !--------------------------------------------------------------------------- FUNCTION FALL_dp( a0, b0, c0, a1, b1, c1, cf ) RESULT( k ) ! FALL function, for saprc99 and saprcnov (dp args) REAL(dp), INTENT(IN) :: a0, b0, c0, a1, b1, c1, cf REAL(dp) :: k0, k1 REAL(kind=dp) :: k k0 = a0 * EXP(-b0/TEMP) * (TEMP/300.0_dp)**c0 k1 = a1 * EXP(-b1/TEMP) * (TEMP/300.0_dp)**c1 k0 = k0 * CFACTOR * 1.0E6_dp k1 = k0 / k1 k = (k0/(1.0_dp+k1)) * cf**(1.0_dp/(1.0_dp+(LOG10(k1))**2)) END FUNCTION FALL_dp FUNCTION FALL_sp( a0, b0, c0, a1, b1, c1, cf ) RESULT( k ) ! FALL function, for saprc99 and saprcnov (sp args) REAL(sp), INTENT(IN) :: a0, b0, c0, a1, b1, c1, cf REAL(dp) :: k0, k1 REAL(kind=dp) :: k k0 = DBLE(A0) * EXP(-DBLE(B0)/TEMP)* (TEMP/300.0_dp)**DBLE(C0) k1 = DBLE(A1) * EXP(-DBLE(B1)/TEMP)* (TEMP/300.0_dp)**DBLE(C1) k0 = k0 * CFACTOR * 1.0E6_dp k1 = k0 / k1 k = (k0/(1.0_dp+k1)) * DBLE(cf)**(1.0_dp/(1.0_dp+(LOG10(k1))**2)) END FUNCTION FALL_sp !--------------------------------------------------------------------------- ! JPL (jpldataeval.jpl.nasa.gov) three-body reaction formula: REAL(dp) FUNCTION k3rd_jpl_dp(cair,k0_300K,n,kinf_300K,m,fc) ! dp args INTRINSIC LOG10 REAL(dp), INTENT(IN) :: cair ! air concentration [molecules/cm3] REAL(dp), INTENT(IN) :: k0_300K ! low pressure limit at 300 K REAL(dp), INTENT(IN) :: n ! exponent for low pressure limit REAL(dp), INTENT(IN) :: kinf_300K ! high pressure limit at 300 K REAL(dp), INTENT(IN) :: m ! exponent for high pressure limit REAL(dp), INTENT(IN) :: fc ! broadening factor (usually fc=0.6) REAL(dp) :: zt_help, k0_T, kinf_T, k_ratio zt_help = 300._dp/temp k0_T = k0_300K * zt_help**(n) * cair ! k_0 at current T kinf_T = kinf_300K * zt_help**(m) ! k_inf at current T k_ratio = k0_T/kinf_T k3rd_jpl_dp = k0_T/(1._dp+k_ratio)*fc**(1._dp/(1._dp+LOG10(k_ratio)**2)) END FUNCTION k3rd_jpl_dp REAL(kind=dp) FUNCTION k3rd_jpl_sp(cair,k0_300K,n,kinf_300K,m,fc) ! sp args INTRINSIC LOG10 REAL(sp), INTENT(IN) :: cair ! air concentration [molecules/cm3] REAL(sp), INTENT(IN) :: k0_300K ! low pressure limit at 300 K REAL(sp), INTENT(IN) :: n ! exponent for low pressure limit REAL(sp), INTENT(IN) :: kinf_300K ! high pressure limit at 300 K REAL(sp), INTENT(IN) :: m ! exponent for high pressure limit REAL(sp), INTENT(IN) :: fc ! broadening factor (usually fc=0.6) REAL(sp) :: zt_help, k0_T, kinf_T, k_ratio zt_help = 300._dp/temp k0_T = k0_300K * zt_help**(n) * cair ! k_0 at current T kinf_T = kinf_300K * zt_help**(m) ! k_inf at current T k_ratio = k0_T/kinf_T k3rd_jpl_sp = k0_T/(1._dp+k_ratio)*fc**(1._dp/(1._dp+LOG10(k_ratio)**2)) END FUNCTION k3rd_jpl_sp ! -------------------------------------------------------------------------- ! JPL (jpldataeval.jpl.nasa.gov) termolecular chemical activation reaction: FUNCTION k3rd_jpl_activation_dp(cair,k0_298K,n,kinf_298K,m,A,B) ! dp args INTRINSIC :: LOG10 REAL(dp), DIMENSION(2) :: k3rd_jpl_activation_dp REAL(dp), INTENT(IN) :: cair ! air concentration [molecules/cm3] REAL(dp), INTENT(IN) :: k0_298K ! low pressure limit at 300 K REAL(dp), INTENT(IN) :: n ! exponent for low pressure limit REAL(dp), INTENT(IN) :: kinf_298K ! high pressure limit at 300 K REAL(dp), INTENT(IN) :: m ! exponent for high pressure limit REAL(dp), INTENT(IN) :: A ! for k_int REAL(dp), INTENT(IN) :: B ! for k_int REAL(dp) :: zt_help, k0_TM, kinf_T, k_ratio, k_f, k_int, k_fCA zt_help = 298./temp k0_TM = k0_298K * zt_help**n * cair ! k_0 at current T * M kinf_T = kinf_298K * zt_help**m ! k_inf at current T k_ratio = k0_TM/kinf_T k_f = k0_TM/(1.+k_ratio)*0.6**(1./(1.+LOG10(k_ratio)**2)) k_int = A * exp(-B/temp) k_fCA = k_int * (1. - k_f/kinf_T) k3rd_jpl_activation_dp(ASSOC) = k_f k3rd_jpl_activation_dp(DISSOC) = k_fCA END FUNCTION k3rd_jpl_activation_dp FUNCTION k3rd_jpl_activation_sp(cair,k0_298K,n,kinf_298K,m,A,B) ! sp args INTRINSIC :: LOG10 REAL(kind=dp), DIMENSION(2) :: k3rd_jpl_activation_sp REAL(sp), INTENT(IN) :: cair ! air concentration [molecules/cm3] REAL(sp), INTENT(IN) :: k0_298K ! low pressure limit at 300 K REAL(sp), INTENT(IN) :: n ! exponent for low pressure limit REAL(sp), INTENT(IN) :: kinf_298K ! high pressure limit at 300 K REAL(sp), INTENT(IN) :: m ! exponent for high pressure limit REAL(sp), INTENT(IN) :: A ! for k_int REAL(sp), INTENT(IN) :: B ! for k_int REAL(sp) :: zt_help, k0_TM, kinf_T, k_ratio, k_f, k_int, k_fCA zt_help = 298./temp k0_TM = k0_298K * zt_help**n * cair ! k_0 at current T * M kinf_T = kinf_298K * zt_help**m ! k_inf at current T k_ratio = k0_TM/kinf_T k_f = k0_TM/(1.+k_ratio)*0.6**(1./(1.+LOG10(k_ratio)**2)) k_int = A * exp(-B/temp) k_fCA = k_int * (1. - k_f/kinf_T) k3rd_jpl_activation_sp(ASSOC) = k_f k3rd_jpl_activation_sp(DISSOC) = k_fCA END FUNCTION k3rd_jpl_activation_sp ! -------------------------------------------------------------------------- ! IUPAC (iupac.pole-ether.fr) three-body reaction formula: REAL(dp) FUNCTION k3rd_iupac_dp(cair,k0_300K,n,kinf_300K,m,fc) ! dp args INTRINSIC :: LOG10 REAL(dp), INTENT(IN) :: cair ! air concentration [molecules/cm3] REAL(dp), INTENT(IN) :: k0_300K ! low pressure limit at 300 K REAL(dp), INTENT(IN) :: n ! exponent for low pressure limit REAL(dp), INTENT(IN) :: kinf_300K ! high pressure limit at 300 K REAL(dp), INTENT(IN) :: m ! exponent for high pressure limit REAL(dp), INTENT(IN) :: fc ! broadening factor (e.g. 0.45 or 0.6...) REAL(dp) :: nu ! N REAL(dp) :: zt_help, k0_T, kinf_T, k_ratio zt_help = 300._dp/temp k0_T = k0_300K * zt_help**(n) * cair ! k_0 at current T kinf_T = kinf_300K * zt_help**(m) ! k_inf at current T k_ratio = k0_T/kinf_T nu = 0.75-1.27*LOG10(fc) k3rd_iupac_dp = k0_T/(1._dp+k_ratio)* & fc**(1._dp/(1._dp+(LOG10(k_ratio)/nu)**2)) END FUNCTION k3rd_iupac_dp REAL(kind=dp) FUNCTION k3rd_iupac_sp(cair,k0_300K,n,kinf_300K,m,fc) ! sp args INTRINSIC :: LOG10 REAL(sp), INTENT(IN) :: cair ! air concentration [molecules/cm3] REAL(sp), INTENT(IN) :: k0_300K ! low pressure limit at 300 K REAL(sp), INTENT(IN) :: n ! exponent for low pressure limit REAL(sp), INTENT(IN) :: kinf_300K ! high pressure limit at 300 K REAL(sp), INTENT(IN) :: m ! exponent for high pressure limit REAL(sp), INTENT(IN) :: fc ! broadening factor (e.g. 0.45 or 0.6...) REAL(sp) :: nu ! N REAL(sp) :: zt_help, k0_T, kinf_T, k_ratio zt_help = 300._dp/temp k0_T = k0_300K * zt_help**(n) * cair ! k_0 at current T kinf_T = kinf_300K * zt_help**(m) ! k_inf at current T k_ratio = k0_T/kinf_T nu = 0.75-1.27*LOG10(fc) k3rd_iupac_sp = k0_T/(1._dp+k_ratio)* & fc**(1._dp/(1._dp+(LOG10(k_ratio)/nu)**2)) END FUNCTION k3rd_iupac_sp !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! End of User-defined Rate Law functions !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! End Rate Law Functions from KPP_HOME/util/UserRateLaws ! Begin inlined code from F90_RATES ! All rates are included in fullchem_RateLawFuncs.F90, which ! gets referenced directly from subroutine Update_Rconst. ! End inlined code from F90_RATES ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Update_SUN - update SUN light using TIME ! Arguments : ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Update_SUN() USE gckpp_Parameters USE gckpp_Global IMPLICIT NONE REAL(kind=dp) :: SunRise, SunSet REAL(kind=dp) :: Thour, Tlocal, Ttmp ! PI - Value of pi REAL(kind=dp), PARAMETER :: PI = 3.14159265358979d0 SunRise = 4.5_dp SunSet = 19.5_dp Thour = TIME/3600.0_dp Tlocal = Thour - (INT(Thour)/24)*24 IF ((Tlocal>=SunRise).AND.(Tlocal<=SunSet)) THEN Ttmp = (2.0*Tlocal-SunRise-SunSet)/(SunSet-SunRise) IF (Ttmp.GT.0) THEN Ttmp = Ttmp*Ttmp ELSE Ttmp = -Ttmp*Ttmp END IF SUN = ( 1.0_dp + COS(PI*Ttmp) )/2.0_dp ELSE SUN = 0.0_dp END IF END SUBROUTINE Update_SUN ! End of Update_SUN function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Update_RCONST ( YIN ) ! Begin inlined code from F90_RCONST_USE ! Inline an include file containing rate law definitions, which ! will be inserted directly into subroutine Update_Rconst(). ! This is necessary as a workaround for KPP not being able to ! include very large files ( > 200000 chars) directly. ! -- Bob Yantosca (11 Jun 2021) USE fullchem_RateLawFuncs ! End inlined code from F90_RCONST_USE ! YIN - Optional input concentrations of variable species REAL(kind=dp), OPTIONAL :: YIN(NVAR) ! Y - Concentrations of species (local) REAL(kind=dp) :: Y(NSPEC) ! Ensure local Y array is filled with variable and constant concentrations Y(1:NSPEC) = C(1:NSPEC) ! Update local Y array if variable concentrations are provided if (present(YIN)) Y(1:NVAR) = YIN(1:NVAR) ! Begin inlined code from F90_RCONST ! End inlined code from F90_RCONST RCONST(1) = (K_MT(1)) RCONST(2) = (K_MT(2)) RCONST(3) = (K_MT(3)) RCONST(4) = (K_MT(4)) RCONST(5) = (K_MT(5)) RCONST(6) = (K_MT(6)) RCONST(7) = (K_CLD(1)) RCONST(8) = (K_CLD(2)) RCONST(9) = (K_CLD(3)) RCONST(10) = (K_CLD(4)) RCONST(11) = (K_CLD(5)) RCONST(12) = (K_CLD(6)) RCONST(13) = (GCARR_ac(3.00d-12,-1500.0d0)) RCONST(14) = (GCARR_ac(1.70d-12,-940.0d0)) RCONST(15) = (GCARR_ac(1.00d-14,-490.0d0)) RCONST(16) = (GCARR_ac(1.20d-13,-2450.0d0)) RCONST(17) = (GCARR_ac(2.90d-16,-1000.0d0)) RCONST(18) = (1.80d-12) RCONST(19) = (GCJPLPR_aba(6.90d-31,1.0d+00,2.6d-11,0.6d0)) RCONST(20) = (GCARR_ac(4.80d-11,250.0d0)) RCONST(21) = (1.80d-12) RCONST(22) = (GCARR_ac(3.44d-12,260.0d0)) RCONST(23) = (GC_HO2HO2_acac(3.00d-13,460.0d0,2.1d-33,920.0d0)) RCONST(24) = (GCJPLPR_abab(6.9d-33,2.1d0,1.1d-12,-1.3d0,0.6d0)+GCJPLAC_ababac(6.9d-33,2.1d0,1.1d-12,-1.3d0,1.85d-13,& &-6.5d1,0.6d0)) RCONST(25) = (GCARR_ac(2.45d-12,-1775.0d0)) RCONST(26) = (GC_RO2NO_B1_ac(2.80d-12,300.0d0)) RCONST(27) = (GC_RO2NO_A1_ac(2.80d-12,300.0d0)) RCONST(28) = (GCARR_ac(4.10d-13,750.0d0)) RCONST(29) = (GC_TBRANCH_1_acac(9.50d-14,390.0d0,2.62d1,-1130.0d0)) RCONST(30) = (GC_TBRANCH_1_acac(9.50d-14,390.0d0,4.0d-2,1130.0d0)) RCONST(31) = (1.60d-10) RCONST(32) = (GCARR_ac(3.80d-12,200.0d0)) RCONST(33) = (GCARR_ac(3.80d-12,200.0d0)) RCONST(34) = (GCARR_ac(5.50d-12,125.0d0)) RCONST(35) = (GCJPLPR_aba(1.80d-30,3.0d+00,2.8d-11,0.6d0)) RCONST(36) = (GCJPLPR_abab(3.9d-31,7.2d0,1.5d-13,4.8d0,0.6d0)+GCJPLAC_ababac(3.9d-31,7.2d0,1.5d-13,4.8d0,3.7d-14,2.4d2,& &0.6d0)) RCONST(37) = (GCJPLPR_abab(7.00d-31,2.6d+00,3.60d-11,0.1d0,0.6d0)) RCONST(38) = (GCARR_ac(3.00d-12,250.0d0)) RCONST(39) = (GCJPLPR_abab(1.90d-31,3.4d+00,4.0d-12,0.3d0,0.6d0)) RCONST(40) = (GCJPLPR_abcabc(9.05d-05,3.4d0,-10900.0d0,1.90d15,0.3d0,-10900.0d0,0.6d0)) RCONST(41) = (GCARR_ac(4.50d-13,610.0d0)) RCONST(42) = (3.50d-12) RCONST(43) = (GCARR_ac(1.70d-11,125.0d0)) RCONST(44) = (2.00d-11) RCONST(45) = (GCJPLPR_abab(2.40d-30,3.0d+00,1.6d-12,-0.1d0,0.6d0)) RCONST(46) = (GCJPLPR_abcabc(4.14d-04,3.0d0,-10840.0d0,2.76d14,-0.1d0,-10840.0d0,0.6d0)) RCONST(47) = (4.00d-13) RCONST(48) = (GCARR_ac(2.90d-12,-345.0d0)) RCONST(49) = (GCARR_ac(4.35d-14,-1335.0d0)) RCONST(50) = (5.80d-16) RCONST(51) = (GCARR_ac(4.63d-12,350.0d0)) RCONST(52) = (GCARR_ac(1.40d-12,-1900.0d0)) RCONST(53) = (GCJPLPR_abab(7.30d-29,4.1d+00,9.5d-12,1.6d0,0.6d0)) RCONST(54) = (GCJPLEQ_acabab(9.00d-29,14000.0d0,7.3d-29,4.1d0,9.5d-12,1.6d0,0.6d0)) RCONST(55) = (3.00d-14) RCONST(56) = (GCARR_ac(8.10d-12,270.0d0)) RCONST(57) = (GCARR_ac(7.66d-12,-1020.0d0)) RCONST(58) = (GC_RO2NO_B2_aca(2.60d-12,365.0d0,2.0d0)) RCONST(59) = (GC_RO2NO_A2_aca(2.60d-12,365.0d0,2.0d0)) RCONST(60) = (GCARR_ac(2.60d-12,365.0d0)) RCONST(61) = (GCARR_abc(8.54d-13,1.54d0,-19.0d0)) RCONST(62) = (GCARR_abc(1.97d-12,1.23d0,-675.0d0)) RCONST(63) = (GC_RO2NO_B2_aca(2.90d-12,350.0d0,3.0d0)) RCONST(64) = (GC_RO2NO_A2_aca(2.90d-12,350.0d0,3.0d0)) RCONST(65) = (GCARR_ac(2.70d-12,350.0d0)) RCONST(66) = (GCARR_ac(2.00d-11,-359.0d0)) RCONST(67) = (6.0d-17) RCONST(68) = (GC_RO2NO_B2_aca(2.70d-12,350.0d0,7.0d0)) RCONST(69) = (GC_RO2NO_A2_aca(2.70d-12,350.0d0,7.0d0)) RCONST(70) = (3.0d-12) RCONST(71) = (1.00d-11) RCONST(72) = (4.00d-12) RCONST(73) = (GCARR_ac(4.20d-12,180.0d0)) RCONST(74) = (GCARR_ac(7.40d-13,700.0d0)) RCONST(75) = (GCARR_ac(1.48d-11,448.0d0)) RCONST(76) = (1.03d-13) RCONST(77) = (GCARR_ac(1.34d-14,-2283.0d0)) RCONST(78) = (GCARR_ac(2.70d-12,360.0d0)) RCONST(79) = (GCARR_ac(1.82d-13,1300d0)) RCONST(80) = (3.59d-11) RCONST(81) = (2.00d-11) RCONST(82) = (GCARR_ac(2.70d-12,360.0d0)) RCONST(83) = (GCARR_ac(1.51d-13,1300.0d0)) RCONST(84) = (GCARR_ac(5.2d-13,980.0d0)) RCONST(85) = (GCARR_ac(7.5d-12,290.0d0)) RCONST(86) = (GCJPLPR_abab(9.70d-29,5.6d+00,9.3d-12,1.5d0,0.6d0)) RCONST(87) = (GCJPLEQ_acabab(9.30d-29,14000.0d0,9.7d-29,5.6d0,9.3d-12,1.5d0,0.6d0)) RCONST(88) = (1.47d-11) RCONST(89) = (GCARR_ac(9.10d-12,-405.0d0)) RCONST(90) = (GC_RO2NO_B2_aca(2.70d-12,350.0d0,4.5d0)) RCONST(91) = (GC_RO2NO_A2_aca(2.70d-12,350.0d0,4.5d0)) RCONST(92) = (GCARR_ac(2.70d-12,350.0d0)) RCONST(93) = (GC_RO2NO_B2_aca(2.70d-12,350.0d0,4.5d0)) RCONST(94) = (GC_RO2NO_A2_aca(2.70d-12,350.0d0,4.5d0)) RCONST(95) = (GCARR_ac(2.70d-12,350.0d0)) RCONST(96) = (GCARR_ac(2.90d-12,300.0d0)) RCONST(97) = (GCARR_ac(2.70d-12,350.0d0)) RCONST(98) = (GC_RO2NO_B2_aca(2.70d-12,360.0d0,3.0d0)) RCONST(99) = (GC_RO2NO_A2_aca(2.70d-12,360.0d0,3.0d0)) RCONST(100) = (GCARR_ac(2.70d-12,350.0d0)) RCONST(101) = (GCARR_ac(2.80d-12,-3280.0d0)) RCONST(102) = (1.60d-12) RCONST(103) = (1.60d-12) RCONST(104) = (GCARR_ac(3.15d-14,920.0d0)) RCONST(105) = (GCARR_ac(6.00d-12,410.0d0)) RCONST(106) = (GCJPLPR_abab(9.00d-28,8.9d0,7.7d-12,0.2d0,0.6d0)) RCONST(107) = (GCJPLEQ_acabab(9.00d-29,14000.0d0,9.00d-28,8.9d0,7.7d-12,0.2d0,0.6d0)) RCONST(108) = (1.27d-12) RCONST(109) = (GCARR_ac(6.70d-12,340.0d0)) RCONST(110) = (6.50d-15) RCONST(111) = (1.33d-13+3.82d-11*exp(-2000.0d0/TEMP)) RCONST(112) = (5.92d-13) RCONST(113) = (5.92d-13) RCONST(114) = (GCARR_ac(7.40d-13,700.0d0)) RCONST(115) = (GCARR_ac(7.40d-13,700.0d0)) RCONST(116) = (GCARR_ac(7.40d-13,700.0d0)) RCONST(117) = (GCARR_ac(7.40d-13,700.0d0)) RCONST(118) = (GCARR_ac(8.60d-13,700.0d0)) RCONST(119) = (GC_RO2HO2_aca(2.91d-13,1300.0d0,4.0d0)) RCONST(120) = (GC_RO2HO2_aca(2.91d-13,1300.0d0,3.0d0)) RCONST(121) = (GC_RO2HO2_aca(2.91d-13,1300.0d0,3.0d0)) RCONST(122) = (GCARR_ac(1.50d-12,-90.0d0)) RCONST(123) = (GCARR_ac(2.70d-12,350.0d0)) RCONST(124) = (GCJPLPR_abab(9.70d-29,5.6d+00,9.3d-12,1.5d0,0.6d0)) RCONST(125) = (GCJPLEQ_acabab(9.30d-29,14000.0d0,9.7d-29,5.6d0,9.3d-12,1.5d0,0.6d0)) ! RCONST(126) = constant rate coefficient RCONST(127) = (GCARR_ac(7.50d-12,290.0d0)) RCONST(128) = (GCARR_ac(5.20d-13,980.0d0)) RCONST(129) = (3.00d-13) RCONST(130) = (3.00d-13) RCONST(131) = (8.00d-16) RCONST(132) = (8.37d-14) RCONST(133) = (8.37d-14) RCONST(134) = (8.37d-14) RCONST(135) = (8.37d-14) RCONST(136) = (GCARR_ac(7.50d-13,500.0d0)) RCONST(137) = (8.37d-14) RCONST(138) = (8.37d-14) RCONST(139) = (8.37d-14) RCONST(140) = (3.35d-12) RCONST(141) = (GCARR_ac(4.40d-12,70.0d0)) RCONST(142) = (6.80d-14) RCONST(143) = (6.80d-14) RCONST(144) = (GCARR_ac(7.50d-13,700.0d0)) RCONST(145) = (GCARR_ac(7.50d-13,700.0d0)) RCONST(146) = (GC_RO2HO2_aca(2.91d-13,1300.0d0,3.0d0)) RCONST(147) = (GC_RO2HO2_aca(2.91d-13,1300.0d0,3.0d0)) RCONST(148) = (GCARR_ac(4.30d-13,1040.0d0)) RCONST(149) = (GCJPLPR_abab(4.60d-27,4.0d0,2.6d-11,1.3d0,0.5d0)) RCONST(150) = (GCARR_ac(6.50d-15,-1900.0d0)) RCONST(151) = (GC_GLYCOH_A_a(8.00d-12)) RCONST(152) = (GC_GLYCOH_B_a(8.00d-12)) RCONST(153) = (1.0d-11) RCONST(154) = (GCARR_ac(1.44d-12,-1862.0d0)) RCONST(155) = (GCJPLPR_abab(9.70d-29,5.6d+00,9.3d-12,1.5d0,0.6d0)) RCONST(156) = (GCJPLEQ_acabab(9.30d-29,14000.0d0,9.7d-29,5.6d0,9.3d-12,1.5d0,0.6d0)) RCONST(157) = (GCARR_ac(7.5d-12,290d0)) RCONST(158) = (GCARR_ac(5.2d-13,980d0)) RCONST(159) = (4.0d-12) RCONST(160) = (1.12d-12) RCONST(161) = (2.73d-12) RCONST(162) = (GCARR_ac(4.59d-13,-1156.0d0)) RCONST(163) = (GCARR_ac(3.10d-12,340.0d0)) RCONST(164) = (GCARR_ac(1.90d-12,575.0d0)) RCONST(165) = (GC_GLYXNO3_ac(1.40d-12,-1860.0d0)) RCONST(166) = (GCARR_ac(3.36d-12,-1860.0d0)) RCONST(167) = (GC_HACOH_A_ac(2.00d-12,320.0d0)) RCONST(168) = (GC_HACOH_B_ac(2.00d-12,320.0d0)) RCONST(169) = (GCARR_ac(8.78d-12,200.0d0)) RCONST(170) = (GCARR_ac(5.18d-12,200.0d0)) RCONST(171) = (GCARR_ac(5.18d-12,200.0d0)) RCONST(172) = (GCARR_ac(8.78d-12,200.0d0)) RCONST(173) = (GCARR_ac(8.78d-12,200.0d0)) RCONST(174) = (GCARR_ac(8.78d-12,200.0d0)) RCONST(175) = (GCARR_ac(6.13d-13,200.0d0)) RCONST(176) = (GCARR_ac(8.78d-12,200.0d0)) RCONST(177) = (GCARR_ac(4.82d-11,-400.0d0)) RCONST(178) = (3.00d-14) RCONST(179) = (1.40d-18) RCONST(180) = (GCARR_ac(2.90d-12,500.0d0)) RCONST(181) = (GCARR_ac(2.00d-12,500.0d0)) RCONST(182) = (GCARR_ac(1.87d-12,500.0d0)) RCONST(183) = (GCARR_ac(1.87d-12,500.0d0)) RCONST(184) = (GCARR_ac(1.87d-12,500.0d0)) RCONST(185) = (GCARR_ac(1.87d-12,500.0d0)) RCONST(186) = (GCARR_ac(1.87d-12,500.0d0)) RCONST(187) = (GCARR_ac(1.87d-12,500.0d0)) RCONST(188) = (GCARR_ac(1.87d-12,500.0d0)) RCONST(189) = (GCARR_ac(1.87d-12,500.0d0)) RCONST(190) = (GCARR_ac(1.87d-12,500.0d0)) RCONST(191) = (GCARR_ac(1.87d-12,500.0d0)) RCONST(192) = (GCARR_ac(1.87d-12,500.0d0)) RCONST(193) = (GCARR_ac(1.87d-12,500.0d0)) RCONST(194) = (GCARR_ac(2.50d-12,500.0d0)) RCONST(195) = (GCARR_ac(1.87d-12,500.0d0)) RCONST(196) = (GCARR_ac(8.50d-13,-2450.0d0)) RCONST(197) = (GCJPLPR_abab(1.00d-30,4.8d+00,7.2d-12,2.1d0,0.6d0)) RCONST(198) = (GCJPLPR_abcabc(1.05d-02,4.8d+00,-11234.0d0,7.58d16,2.1d0,-11234.0d0,0.6d0)) RCONST(199) = (GCARR_ac(1.20d-11,-280.0d0)) RCONST(200) = (GC_DMSOH_acac(8.20d-39,5376.0d0,1.05d-5,3644.0d0)) RCONST(201) = (GCARR_ac(1.90d-13,530.0d0)) RCONST(202) = (GCJPLPR_abab(2.90d-31,4.1d+00,1.7d-12,-0.2d0,0.6d0)) RCONST(203) = (GCARR_ac(1.60d-11,-780.0d0)) RCONST(204) = (GCARR_ac(4.50d-12,460.0d0)) RCONST(205) = (GCARR_ac(4.80d-12,-310.0d0)) RCONST(206) = (GCARR_ac(5.50d-12,200.0d0)) RCONST(207) = (GCARR_ac(2.40d-12,40.0d0)) RCONST(208) = (GCARR_ac(2.80d-14,860.0d0)) RCONST(209) = (GCARR_ac(8.80d-12,260.0d0)) RCONST(210) = (4.90d-11) RCONST(211) = (GCARR_ac(2.10d-11,240.0d0)) RCONST(212) = (GCARR_ac(1.20d-10,-430.0d0)) RCONST(213) = (GCARR_ac(5.80d-12,-1500.0d0)) RCONST(214) = (GCARR_ac(1.70d-11,250.0d0)) RCONST(215) = (1.60d-11) RCONST(216) = (GCARR_ac(1.70d-11,-800.0d0)) RCONST(217) = (GCARR_ac(1.80d-11,-460.0d0)) RCONST(218) = (GCARR_ac(1.66d-10,-7000.0d0)) RCONST(219) = (GCARR_ac(2.36d-10,-6411.0d0)) RCONST(220) = (GCARR_ac(8.77d-11,-4330.0d0)) RCONST(221) = (GCJPLPR_aba(4.20d-31,2.4d0,2.7d-11,0.6d0)) RCONST(222) = (GCJPLPR_abab(5.40d-31,3.1d0,6.5d-12,2.9d0,0.6d0)) RCONST(223) = (GCARR_ac(9.00d-13,-360.0d0)) RCONST(224) = (GCARR_ac(2.00d-12,-840.0d0)) RCONST(225) = (GCARR_ac(1.42d-12,-1150.0d0)) RCONST(226) = (GCARR_ac(1.63d-10,60.0d0)) RCONST(227) = (GCARR_ac(2.15d-11,110.0d0)) RCONST(228) = (GCARR_ac(3.30d-11,55.0d0)) RCONST(229) = (1.20d-10) RCONST(230) = (GCARR_ac(1.19d-10,20.0d0)) RCONST(231) = (1.75d-10) RCONST(232) = (GCARR_ab(6.00d-34,2.4d0)*NUMDEN) RCONST(233) = (GCARR_ac(8.00d-12,-2060.0d0)) RCONST(234) = (GCARR_ac(2.80d-12,-1800.0d0)) RCONST(235) = (GCARR_ac(1.80d-11,180.0d0)) RCONST(236) = (GCARR_ac(3.00d-11,200.0d0)) RCONST(237) = (2.40d-10) RCONST(238) = (GCARR_ac(2.10d-11,-2200.0d0)) RCONST(239) = (GCARR_ac(7.20d-14,-1070.0d0)) RCONST(240) = (GCJPLAC_ababac(3.4d-31,1.6d0,2.3d-11,0.2d0,5.3d-12,2.0d2,0.6d0)) RCONST(241) = (1.30d-11) RCONST(242) = (GCJPLPR_aba(9.00d-32,1.5d+00,3.0d-11,0.6d0)) RCONST(243) = (GCJPLPR_abab(3.4d-31,1.6d0,2.3d-11,0.2d0,0.6d0)) RCONST(244) = (GCARR_ac(1.40d-12,-2000.0d0)) RCONST(245) = (GCJPLPR_abab(5.30d-32,1.8d+00,9.5d-11,-0.4d0,0.6d0)) RCONST(246) = (GCARR_ac(1.40d-10,-470.0d0)) RCONST(247) = (8.05d-11) RCONST(248) = (GCARR_ac(3.30d-12,-3150.0d0)) RCONST(249) = (GCARR_ac(2.10d-11,100.0d0)) RCONST(250) = (GCARR_ac(5.80d-12,220.0d0)) RCONST(251) = (GCARR_ac(1.90d-11,230.0d0)) RCONST(252) = (GCARR_ac(3.40d-11,-1600.0d0)) RCONST(253) = (1.50d-10) RCONST(254) = (1.50d-10) RCONST(255) = (2.70d-10) RCONST(256) = (3.30d-10) RCONST(257) = (2.60d-10) RCONST(258) = (1.80d-10) RCONST(259) = (2.70d-10) RCONST(260) = (6.60d-10) RCONST(261) = (1.02d-10) RCONST(262) = (2.30d-10) RCONST(263) = (1.40d-10) RCONST(264) = (1.50d-10) RCONST(265) = (1.00d-10) RCONST(266) = (2.60d-10) RCONST(267) = (2.00d-10) RCONST(268) = (2.00d-10) RCONST(269) = (2.32d-10) RCONST(270) = (GCARR_ac(1.30d-10,25.0d0)) RCONST(271) = (GCARR_ac(5.40d-11,30.0d0)) RCONST(272) = (GCARR_ac(1.60d-10,0.0d0)) RCONST(273) = (GCARR_ac(2.60d-12,-1100.0d0)) RCONST(274) = (GCARR_ac(1.80d-11,-600.0d0)) RCONST(275) = (GCARR_ac(7.40d-12,270.0d0)) RCONST(276) = (GCARR_ac(6.00d-13,230.0d0)) RCONST(277) = (GCARR_ac(1.40d-12,600.0d0)) RCONST(278) = (GCARR_ac(6.00d-13,670.0d0)) RCONST(279) = (GCARR_ac(1.80d-12,-250.0d0)) RCONST(280) = (GCARR_ac(3.00d-12,-500.0d0)) RCONST(281) = (GCARR_ac(2.40d-12,-1250.0d0)) RCONST(282) = (GCARR_ac(1.20d-12,-330.0d0)) RCONST(283) = (GCARR_ac(1.96d-12,-1200.0d0)) RCONST(284) = (GCARR_ac(1.92d-12,-880.0d0)) RCONST(285) = (GCARR_ac(2.20d-12,-920.0d0)) RCONST(286) = (GCARR_ac(1.64d-12,-1520.0d0)) RCONST(287) = (GCARR_ac(9.20d-13,-1560.0d0)) RCONST(288) = (GCARR_ac(1.25d-12,-1600.0d0)) RCONST(289) = (GCARR_ac(1.30d-12,-1770.0d0)) RCONST(290) = (GCARR_ac(7.40d-13,-900.0d0)) RCONST(291) = (GCARR_ac(7.10d-12,-1270.0d0)) RCONST(292) = (GCARR_ac(8.10d-11,-30.0d0)) RCONST(293) = (GCARR_ac(2.30d-11,-200.0d0)) RCONST(294) = (GCARR_ac(3.05d-11,-2270.0d0)) RCONST(295) = (GCARR_ac(1.10d-11,-980.0d0)) RCONST(296) = (GCARR_ac(1.40d-11,270.0d0)) RCONST(297) = (GCARR_ac(3.60d-11,-375.0d0)) RCONST(298) = (GCARR_ac(2.80d-11,85.0d0)) RCONST(299) = (GCARR_ac(2.60d-12,290.0d0)) RCONST(300) = (GCARR_ac(6.40d-12,290.0d0)) RCONST(301) = (GCJPLPR_abab(1.80d-31,3.4d+00,1.50d-11,1.9d0,0.6d0)) RCONST(302) = (GCARR_ac(1.00d-12,-1590.0d0)) RCONST(303) = (GCARR_ac(3.00d-11,-2450.0d0)) RCONST(304) = (GCARR_ac(3.50d-13,-1370.0d0)) RCONST(305) = (GCJPLPR_aba(2.20d-33,3.1d+00,1.8d-10,0.6d0)) RCONST(306) = (GCJPLEQ_acabab(6.60d-25,2502.0d0,2.20d-33,3.1d+00,1.8d-10,0.0d0,0.6d0)) RCONST(307) = (GCJPLPR_abab(1.90d-32,3.6d+00,3.7d-12,1.6d0,0.6d0)) RCONST(308) = (GCJPLEQ_acabab(2.16d-27,8537.0d0,1.90d-32,3.6d+00,3.7d-12,1.6d0,0.6d0)) RCONST(309) = (2.42d-10) RCONST(310) = (GCARR_ac(9.50d-13,550.0d0)) RCONST(311) = (GCARR_ac(2.30d-12,260.0d0)) RCONST(312) = (GCARR_ac(4.10d-13,290.0d0)) RCONST(313) = (GCARR_ac(3.60d-12,-840.0d0)) RCONST(314) = (GCARR_ac(6.50d-12,135.0d0)) RCONST(315) = (GCARR_ac(2.03d-11,-1110.0d0)) RCONST(316) = (GCARR_ac(7.40d-12,-910.0d0)) RCONST(317) = (GCARR_ac(3.30d-12,-990.0d0)) RCONST(318) = (2.00d-13) RCONST(319) = (1.60d-10) RCONST(320) = (5.7d-11) RCONST(321) = (GCARR_ac(7.2d-11,-70.0d0)) RCONST(322) = (7.4d-11) RCONST(323) = (7.4d-11) RCONST(324) = (5.5d-11) RCONST(325) = (9.6d-11) RCONST(326) = (2.8d-14) RCONST(327) = (GCARR_ac(6.54d-11,60.0d0)) RCONST(328) = (GCARR_ac(8.12d-11,-90.0d0)) RCONST(329) = (GCARR_ac(1.63d-11,-610.0d0)) RCONST(330) = (GCARR_ac(7.60d-11,500.0d0)) RCONST(331) = (2.05d-10) RCONST(332) = (GCJPLPR_aa(4.00d-28,2.8d-10,0.6d0)) RCONST(333) = (3.60d-12) RCONST(334) = (GCJPLPR_aba(1.80d-32,1.0d0,1.70d-11,0.6d0)) RCONST(335) = (GCARR_ac(8.40d-11,-2620.0d0)) RCONST(336) = (GCJPLPR_aba(3.00d-31,1.0d0,6.6d-11,0.6d0)) RCONST(337) = (GCARR_ac(9.94d+17,-11859.0d0)) RCONST(338) = (GCARR_ac(2.90d-11,-2600.0d0)) RCONST(339) = (1.50d-12) RCONST(340) = (GCJPLPR_abab(7.50d-31,3.5d0,7.6d-12,1.5d0,0.6d0)) RCONST(341) = (GCARR_ac(2.10d+15,-13670.0d0)) RCONST(342) = (GCARR_ac(9.10d-11,-146.0d0)) RCONST(343) = (1.20d-11) RCONST(344) = (GCARR_ac(5.50d-12,760.0d0)) RCONST(345) = (1.00d-10) RCONST(346) = (1.50d-10) RCONST(347) = (3.80d-02) RCONST(348) = (GCARR_ac(1.10d-12,542.0d0)) RCONST(349) = (GCARR_ac(4.82d-12,280.0d0)) RCONST(350) = (GCARR_ac(2.00d-11,-830.0d0)) RCONST(351) = (GCARR_ac(1.50d-11,-1090.0d0)) RCONST(352) = (1.80d-10) RCONST(353) = (3.00d-11) RCONST(354) = (5.00d-12) RCONST(355) = (GCARR_ac(1.30d-11,570.0d0)) RCONST(356) = (GCARR_ac(8.60d-12,230.0d0)) RCONST(357) = (GCARR_ac(1.50d-11,500.0d0)) RCONST(358) = (GCARR_ac(2.51d+14,-9770.0d0)) RCONST(359) = (GCARR_ac(2.90d-12,-1100.0d0)) RCONST(360) = (2.40d-12) RCONST(361) = (6.70d-13) RCONST(362) = (1.20d-15) RCONST(363) = (1.00d-14) RCONST(364) = (4.25d-12) RCONST(365) = (2.80d-16) RCONST(366) = (GCARR_ac(2.88d-35,1391.0d0)) RCONST(367) = (1.40d-12) RCONST(368) = (3.80d-11) RCONST(369) = (1.20d-15) RCONST(370) = (1.00d-14) RCONST(371) = (4.25d-12) RCONST(372) = (2.65d-11) RCONST(373) = (6.00d-18) RCONST(374) = (1.00d-17) RCONST(375) = (GCARR_ac(8.33d-13,490.0d0)) RCONST(376) = (GCARR_ac(8.33d-13,490.0d0)) RCONST(377) = (1.22d-11) RCONST(378) = (GCARR_ac(4.20d-11,401.0d0)) RCONST(379) = (GCARR_ac(2.95d-15,-783.0d0)) RCONST(380) = (GCARR_ac(1.21d-11,440.0d0)) RCONST(381) = (GCARR_ac(2.7d-15,-520.0d0)) RCONST(382) = (GCARR_ac(1.34d-11,410.0d0)) RCONST(383) = (GCARR_ac(8.22d-16,-640.0d0)) RCONST(384) = (GCARR_ac(2.66d-13,1300.0d0)) RCONST(385) = (GCARR_ac(2.7d-12,360.0d0)) RCONST(386) = (2.3d-12) RCONST(387) = (1.83d-11) RCONST(388) = (5.50d-12) RCONST(389) = (2.0d-14) RCONST(390) = (GCARR_ac(5.2d-12,600.0d0)) RCONST(391) = (GCARR_ac(2.66d-13,1300.0d0)) RCONST(392) = (GCARR_ac(2.7d-12,360.0d0)) RCONST(393) = (GCJPLPR_abab(9.70d-29,5.6d+00,9.3d-12,1.5d0,0.6d0)) RCONST(394) = (GCJPLEQ_acabab(9.30d-29,14000.0d0,9.7d-29,5.6d0,9.3d-12,1.5d0,0.6d0)) RCONST(395) = (2.3d-12) RCONST(396) = (9.73d-12) RCONST(397) = (6.65d-12) RCONST(398) = (GCARR_ac(2.66d-13,1300.0d0)) RCONST(399) = (GCARR_ac(2.7d-12,360.0d0)) RCONST(400) = (2.3d-12) RCONST(401) = (GCARR_ac(3.75d-13,500.0d0)) RCONST(402) = (2.6d-11) RCONST(403) = (2.88d-12) RCONST(404) = (GCARR_ac(2.66d-13,1300.0d0)) RCONST(405) = (GCARR_ac(2.7d-12,360.0d0)) RCONST(406) = (2.3d-12) RCONST(407) = (4.7d-12) RCONST(408) = (1.33d-11) RCONST(409) = (1.55d-11) RCONST(410) = (GCARR_ac(2.66d-13,1300.0d0)) RCONST(411) = (GCARR_ac(4.32d-13,360.0d0)) RCONST(412) = (GCARR_ac(2.27d-12,360.0d0)) RCONST(413) = (GCARR_ac(3.75d-13,500.0d0)) RCONST(414) = (2.3d-12) RCONST(415) = (8.59d-11) RCONST(416) = (3.24d-12) RCONST(417) = (GCARR_ac(2.66d-13,1300.0d0)) RCONST(418) = (GCARR_ac(2.7d-12,360.0d0)) RCONST(419) = (2.3d-12) RCONST(420) = (1.1d-10) RCONST(421) = (8.3d-18) RCONST(422) = (2.6d-13) RCONST(423) = (9.97d-11) RCONST(424) = (1.5d-16) RCONST(425) = (9.4d-12) RCONST(426) = (1.1d-10) RCONST(427) = (8.3d-18) RCONST(428) = (2.6d-13) RCONST(429) = (GCARR_ac(2.7d-12,360.0d0)) RCONST(430) = (GCARR_ac(2.66d-13,1300.0d0)) RCONST(431) = (2.3d-12) RCONST(432) = (GCARR_ac(3.75d-13,500.0d0)) RCONST(433) = (3.6d-11) RCONST(434) = (GCARR_ac(1.22d-11,-1862.0d0)) RCONST(435) = (6.3d-12) RCONST(436) = (GCARR_ac(2.66d-13,1300.0d0)) RCONST(437) = (GCARR_ac(2.7d-12,360.0d0)) RCONST(438) = (GCJPLPR_abab(9.70d-29,5.6d+00,9.3d-12,1.5d0,0.6d0)) RCONST(439) = (GCJPLEQ_acabab(9.30d-29,14000.0d0,9.7d-29,5.6d0,9.3d-12,1.5d0,0.6d0)) RCONST(440) = (2.3d-12) RCONST(441) = (9.73d-12) RCONST(442) = (6.65d-12) RCONST(443) = (GCARR_ac(2.66d-13,1300.0d0)) RCONST(444) = (GCARR_ac(6.75d-13,360.0d0)) RCONST(445) = (GCARR_ac(2.03d-12,360.0d0)) RCONST(446) = (2.3d-12) RCONST(447) = (GCARR_ac(6.05d-12,440.0d0)) RCONST(448) = (GCARR_ac(1.35d-15,-520.0d0)) RCONST(449) = (GCARR_ac(1.06d-12,490.0d0)) RCONST(450) = (GCARR_ac(6.05d-12,440.0d0)) RCONST(451) = (GCARR_ac(1.35d-15,-520.0d0)) RCONST(452) = (GCARR_ac(1.06d-12,490.0d0)) RCONST(453) = (GCARR_ac(6.05d-12,440.0d0)) RCONST(454) = (GCARR_ac(1.35d-15,-520.0d0)) RCONST(455) = (GCARR_ac(1.06d-12,490.0d0)) RCONST(456) = (GCARR_ac(3.75d-13,500.0d0)) RCONST(457) = (GCARR_ac(1.87d-12,500.0d0)) RCONST(458) = (GCARR_ac(3.75d-13,500.0d0)) RCONST(459) = (GCARR_ac(1.87d-12,500.0d0)) RCONST(460) = (GCARR_ac(3.75d-13,500.0d0)) RCONST(461) = (GCARR_ac(1.87d-12,500.0d0)) RCONST(462) = (GCARR_ac(3.75d-13,500.0d0)) RCONST(463) = (GCARR_ac(1.87d-12,500.0d0)) RCONST(464) = (GCARR_ac(1.87d-12,500.0d0)) RCONST(465) = (GCARR_ac(3.75d-14,500.0d0)) RCONST(466) = (GCARR_ac(1.87d-12,500.0d0)) RCONST(467) = (GCARR_ac(3.75d-14,500.0d0)) RCONST(468) = (4.00d-12) RCONST(469) = (4.00d-12) RCONST(470) = (GCARR_ac(1.66d-13,1300.0d0)) RCONST(471) = (GCARR_ac(1.66d-13,1300.0d0)) RCONST(472) = (GCARR_ac(1.60d-13,708.0d0)) RCONST(473) = (GCARR_ac(9.68d-14,708.0d0)) RCONST(474) = (GCARR_ac(8.85d-13,765.0d0)) RCONST(475) = (GCARR_ac(5.37d-13,765.0d0)) RCONST(476) = (1.20d-12) RCONST(477) = (1.20d-12) RCONST(478) = (GCARR_ac(7.00d-14,1000.0d0)) RCONST(479) = (GCARR_ac(4.25d-14,1000.0d0)) RCONST(480) = (GCARR_ac(2.96d-14,1000.0d0)) RCONST(481) = (4.80d-12) RCONST(482) = (7.29d-11) RCONST(483) = (1.67d-16) RCONST(484) = (GCARR_ac(3.15d-13,-448.0d0)) RCONST(485) = (GCARR_ac(3.15d-13,-448.0d0)) RCONST(486) = (2.78d-04) RCONST(487) = (2.78d-04) RCONST(488) = (GCJPLPR_abab(3.9d-31,7.2d0,1.5d-13,4.8d0,0.6d0)+GCJPLAC_ababac(3.9d-31,7.2d0,1.5d-13,4.8d0,3.7d-14,& &2.4d2,0.6d0)) RCONST(489) = (GCARR_ac(8.00d-13,-1000.0d0)) RCONST(490) = (GCARR_ac(1.00d-12,-490.0d0)) RCONST(491) = (GCARR_ac(1.20d-12,-320.0d0)) RCONST(492) = (7.10d-13) RCONST(493) = (GCARR_ac(1.10d-14,-2000.0d0)) RCONST(494) = (GC_ISO1(1.7d-11,3.90d2,9.33d-2,5.05d15,-1.22d4,1.79d14,-8.830d3)) RCONST(495) = (GC_ISO1(1.0d-11,3.90d2,2.26d-1,2.22d9,-7.160d3,1.75d14,-9.054d3)) RCONST(496) = (GC_ISO2(1.7d-11,3.90d2,9.33d-2,5.05d15,-1.22d4,1.79d14,-8.830d3)) RCONST(497) = (GC_ISO2(1.0d-11,3.90d2,2.26d-1,2.22d9,-7.160d3,1.75d14,-9.054d3)) RCONST(498) = (ARRPLUS_abde(2.12d-13,-1300d0,1.1644d0,-7.0485d-4)) RCONST(499) = (ARRPLUS_abde(2.12d-13,-1300d0,-0.1644d0,7.0485d-4)) RCONST(500) = (ARRPLUS_abde(2.12d-13,-1300d0,1.2038d0,-9.0435d-4)) RCONST(501) = (ARRPLUS_abde(2.12d-13,-1300d0,-0.2038d0,9.0435d-4)) RCONST(502) = (ARRPLUS_abde(1.04d11,9.746d3,1.1644d0,-7.0485d-4)) RCONST(503) = (TUNPLUS_abcde(5.05d15,-1.22d4,1.0d8,-0.0128d0,5.1242d-5)) RCONST(504) = (ARRPLUS_abde(1.88d11,9.752d3,1.2038d0,-9.0435d-4)) RCONST(505) = (TUNPLUS_abcde(2.22d9,-7.160d3,1.0d8,-0.0306d0,1.1346d-4)) RCONST(506) = (ARRPLUS_ade(6.92d-14,1.1644d0,-7.0485d-4)) RCONST(507) = (ARRPLUS_ade(5.74d-12,1.2038d0,-9.0435d-4)) RCONST(508) = (ARRPLUS_ade(1.54d-12,2.3682d0,-1.6092d-3)) RCONST(509) = (ARRPLUS_ade(2.49d-12,-0.1644d0,7.0485d-4)) RCONST(510) = (ARRPLUS_ade(3.94d-12,-0.2038d0,9.0435d-4)) RCONST(511) = (ARRPLUS_ade(1.54d-12,-0.3682d0,1.6092d-3)) RCONST(512) = (ARRPLUS_ade(2.0d-12,1.1644d0,-7.0485d-4)) RCONST(513) = (ARRPLUS_ade(2.0d-12,-0.1644d0,7.0485d-4)) RCONST(514) = (ARRPLUS_ade(2.0d-12,1.2038d0,-9.0435d-4)) RCONST(515) = (ARRPLUS_ade(2.0d-12,-0.2038d0,9.0435d-4)) RCONST(516) = (GC_NIT(2.7d-12,3.50d2,1.19d0,6.0d0,1.1644d0,7.05d-4)) RCONST(517) = (GC_ALK(2.7d-12,3.50d2,1.19d0,6.0d0,1.1644d0,7.05d-4)) RCONST(518) = (GC_NIT(2.7d-12,3.50d2,1.421d0,6.0d0,-0.1644d0,-7.05d-4)) RCONST(519) = (GC_ALK(2.7d-12,3.50d2,1.421d0,6.0d0,-0.1644d0,-7.05d-4)) RCONST(520) = (GC_NIT(2.7d-12,3.50d2,1.297d0,6.0d0,1.2038d0,9.04d-4)) RCONST(521) = (GC_ALK(2.7d-12,3.50d2,1.297d0,6.0d0,1.2038d0,9.04d-4)) RCONST(522) = (GC_NIT(2.7d-12,3.50d2,1.421d0,6.0d0,-0.2038d0,-9.04d-4)) RCONST(523) = (GC_ALK(2.7d-12,3.50d2,1.421d0,6.0d0,-0.2038d0,-9.04d-4)) RCONST(524) = (GCARR_ac(1.17d-11,450.0d0)) RCONST(525) = (GCARR_ac(1.17d-11,450.0d0)) RCONST(526) = (GCARR_ac(2.20d-11,390.0d0)) RCONST(527) = (GCARR_ac(3.50d-11,390.0d0)) RCONST(528) = (GCARR_ac(4.64d-12,650.0d0)) RCONST(529) = (GCARR_ac(9.85d-12,410.0d0)) RCONST(530) = (GCARR_ac(3.00d-12,650.0d0)) RCONST(531) = (GCARR_ac(2.47d-12,390.0d0)) RCONST(532) = (GC_EPO_a(1.62d-11,3.90d2,4.77d-21)) RCONST(533) = (GCARR_ac(4.35d-12,390.0d0)) RCONST(534) = (GC_EPO_a(2.85d-11,390.0d0,4.77d-21)) RCONST(535) = (GCARR_ac(6.10d-12,200.0d0)) RCONST(536) = (GCARR_ac(4.10d-12,200.0d0)) RCONST(537) = (GCARR_ac(3.53d-11,390.0d0)) RCONST(538) = (GCARR_ac(3.53d-11,390.0d0)) RCONST(539) = (GCARR_ac(1.59d+13,-10000.0d0)) RCONST(540) = (GC_ALK(2.7d-12,3.50d2,2.1d0,9.0d0,1.0d0,0.0d0)) RCONST(541) = (GC_NIT(2.7d-12,3.50d2,2.1d0,9.0d0,1.0d0,0.0d0)) RCONST(542) = (GCARR_ac(2.47d-13,1300.0d0)) RCONST(543) = (GCARR_ac(2.91d+13,-10000.0d0)) RCONST(544) = (GC_ALK(2.7d-12,3.50d2,2.315d0,9.0d0,1.0d0,0.0d0)) RCONST(545) = (GC_NIT(2.7d-12,3.50d2,2.315d0,9.0d0,1.0d0,0.0d0)) RCONST(546) = (GCARR_ac(2.47d-13,1300.0d0)) RCONST(547) = (GCARR_ac(1.875d+13,-10000.0d0)) RCONST(548) = (GC_ALK(2.7d-12,3.50d2,3.079d0,9.0d0,1.0d0,0.0d0)) RCONST(549) = (GC_NIT(2.7d-12,3.50d2,3.079d0,9.0d0,1.0d0,0.0d0)) RCONST(550) = (GCARR_ac(2.47d-13,1300.0d0)) RCONST(551) = (GCARR_ac(3.22d-11,-400.0d0)) RCONST(552) = (GCARR_ac(1.05d-11,-400.0d0)) RCONST(553) = (GC_EPO_a(5.82d-11,-4.00d2,1.14d-20)) RCONST(554) = (GCARR_ac(8.25d-12,-400.0d0)) RCONST(555) = (GC_EPO_a(3.75d-11,-4.00d2,8.91d-21)) RCONST(556) = (GCARR_ac(1.875d+13,-10000.0d0)) RCONST(557) = (GCARR_ac(1.0d+7,-5000.0d0)) RCONST(558) = (GCARR_ac(2.38d-13,1300.0d0)) RCONST(559) = (GC_ALK(2.7d-12,3.50d2,13.098d0,8.0d0,1.0d0,0.0d0)) RCONST(560) = (GC_NIT(2.7d-12,3.50d2,13.098d0,8.0d0,1.0d0,0.0d0)) RCONST(561) = (GCARR_ac(1.875d+13,-10000.0d0)) RCONST(562) = (GCARR_ac(1.0d+7,-5000.0d0)) RCONST(563) = (GC_ALK(2.7d-12,3.50d2,16.463d0,8.0d0,1.0d0,0.0d0)) RCONST(564) = (GC_NIT(2.7d-12,3.50d2,16.463d0,8.0d0,1.0d0,0.0d0)) RCONST(565) = (GCARR_ac(2.38d-13,1300.0d0)) RCONST(566) = (GCARR_ac(2.38d-13,1300.0d0)) RCONST(567) = (GC_NIT(2.7d-12,3.50d2,13.098d0,8.0d0,1.0d0,0.0d0)) RCONST(568) = (GC_ALK(2.7d-12,3.50d2,13.098d0,8.0d0,1.0d0,0.0d0)) RCONST(569) = (GCARR_ac(1.875d+13,-10000.0d0)) RCONST(570) = (GCARR_ac(2.70d-12,350.0d0)) RCONST(571) = (GCARR_ac(2.38d-13,1300.0d0)) RCONST(572) = (GCARR_ac(2.70d-12,350.0d0)) RCONST(573) = (GCARR_ac(2.38d-13,1300.0d0)) RCONST(574) = (GCARR_ac(7.14d-12,390.0d0)) RCONST(575) = (GC_EPO_a(6.30d-12,390.0d0,1.62d-19)) RCONST(576) = (GCARR_ac(1.02d-11,390.0d0)) RCONST(577) = (GC_EPO_a(1.05d-11,390.0d0,2.49d-19)) RCONST(578) = (GC_EPO_a(1.55d-11,390.0d0,2.715d-19)) RCONST(579) = (GCARR_ac(2.04d-11,390.0d0)) RCONST(580) = (GC_EPO_a(9.52d-12,390.0d0,2.715d-19)) RCONST(581) = (GCARR_ac(2.95d-11,390.0d0)) RCONST(582) = (GCARR_ac(7.5d-12,20.0d0)) RCONST(583) = (GCARR_ac(7.5d-12,20.0d0)) RCONST(584) = (GCARR_ac(1.875d+13,-10000.0d0)) RCONST(585) = (GCARR_ac(2.60d-13,1300.0d0)) RCONST(586) = (GC_ALK(2.7d-12,350.0d0,6.32d0,11.0d0,1.0d0,0.0d0)) RCONST(587) = (GC_NIT(2.7d-12,350.0d0,6.32d0,11.0d0,1.0d0,0.0d0)) RCONST(588) = (GCARR_ac(1.875d+13,-10000.0d0)) RCONST(589) = (GCARR_ac(2.60d-13,1300.0d0)) RCONST(590) = (GC_ALK(2.7d-12,350.0d0,7.941d0,11.0d0,1.0d0,0.0d0)) RCONST(591) = (GC_NIT(2.7d-12,350.0d0,7.941d0,11.0d0,1.0d0,0.0d0)) RCONST(592) = (GCARR_ac(1.256d+13,-10000.0d0)) RCONST(593) = (GCARR_ac(5.092d+12,-10000.0d0)) RCONST(594) = (GCARR_ac(2.60d-13,1300.0d0)) RCONST(595) = (GC_ALK(2.7d-12,350.0d0,4.712d0,11.0d0,1.0d0,0.0d0)) RCONST(596) = (GC_NIT(2.7d-12,350.0d0,4.712d0,11.0d0,1.0d0,0.0d0)) RCONST(597) = (GCARR_ac(2.60d-13,1300.0d0)) RCONST(598) = (GC_ALK(2.7d-12,350.0d0,2.258d0,11.0d0,1.0d0,0.0d0)) RCONST(599) = (GC_NIT(2.7d-12,350.0d0,2.258d0,11.0d0,1.0d0,0.0d0)) RCONST(600) = (GCARR_ac(2.60d-13,1300.0d0)) RCONST(601) = (GC_ALK(2.7d-12,350.0d0,1.851d0,11.0d0,1.0d0,0.0d0)) RCONST(602) = (GC_NIT(2.7d-12,350.0d0,1.851d0,11.0d0,1.0d0,0.0d0)) RCONST(603) = (GCARR_ac(2.95d-12,-450.0d0)) RCONST(604) = (GCARR_ac(2.47d-13,1300.0d0)) RCONST(605) = (GCARR_ac(2.47d-13,1300.0d0)) RCONST(606) = (1.61d-12) RCONST(607) = (2.56d-12) RCONST(608) = (3.71d-12) RCONST(609) = (1.18d-12) RCONST(610) = (2.80d-13) RCONST(611) = (1.92d-12) RCONST(612) = (7.71d-12) RCONST(613) = (2.3d-12) RCONST(614) = (2.3d-12) RCONST(615) = (GC_ALK(2.7d-12,350.0d0,12.915d0,9.0d0,1.0d0,0.0d0)) RCONST(616) = (GC_NIT(2.7d-12,350.0d0,12.915d0,9.0d0,1.0d0,0.0d0)) RCONST(617) = (GC_ALK(2.7d-12,350.0d0,1.412d0,9.0d0,1.0d0,0.0d0)) RCONST(618) = (GC_NIT(2.7d-12,350.0d0,1.412d0,9.0d0,1.0d0,0.0d0)) RCONST(619) = (GCARR_ac(2.50d-14,-300.0d0)) RCONST(620) = (GCARR_ac(1.00d+20,-10000.0d0)) RCONST(621) = (GCARR_ac(5.88d-12,390.0d0)) RCONST(622) = (GCARR_ac(1.61d-11,390.0d0)) RCONST(623) = (GC_EPO_a(4.471d-12,390.0d0,2.28d-20)) RCONST(624) = (GC_EPO_a(8.77d-12,390.0d0,2.185d-20)) RCONST(625) = (GC_EPO_a(1.493d-11,390.0d0,2.715d-19)) RCONST(626) = (GCARR_ac(2.278d-12,200.0d0)) RCONST(627) = (GCARR_ac(3.40d-12,200.0d0)) RCONST(628) = (GCARR_ac(7.50d-12,20.0d0)) RCONST(629) = (GCARR_ac(6.55d+12,-10000.0d0)) RCONST(630) = (GCARR_ac(8.72d+12,-10000.0d0)) RCONST(631) = (GCARR_ac(2.64d-13,1300.0d0)) RCONST(632) = (GCARR_ac(2.64d-13,1300.0d0)) RCONST(633) = (GC_ALK(2.7d-12,350.0d0,6.092d0,12.0d0,1.0d0,0.0d0)) RCONST(634) = (GC_NIT(2.7d-12,350.0d0,6.092d0,12.0d0,1.0d0,0.0d0)) RCONST(635) = (GC_ALK(2.7d-12,350.0d0,4.383d0,12.0d0,1.0d0,0.0d0)) RCONST(636) = (GC_NIT(2.7d-12,350.0d0,4.383d0,12.0d0,1.0d0,0.0d0)) RCONST(637) = (GC_EPO_a(2.97d-12,390.0d0,2.715d-19)) RCONST(638) = (GCARR_ac(9.35d-12,390.0d0)) RCONST(639) = (GCARR_ac(2.70d-12,350.0d0)) RCONST(640) = (GCARR_ac(2.54d-13,1300.0d0)) RCONST(641) = (GCARR_ac(1.00d-11,0.0d0)) RCONST(642) = (GCARR_ac(2.70d-12,350.0d0)) RCONST(643) = (GCARR_ac(2.71d-13,1300.0d0)) RCONST(644) = (GCARR_ac(2.60d-12,610.0d0)) RCONST(645) = (GCARR_ac(8.50d-16,-1520.0d0)) RCONST(646) = (GCARR_ac(4.40d-12,380.0d0)) RCONST(647) = (GCARR_ac(2.70d-12,470.0d0)) RCONST(648) = (GCARR_ac(1.50d-15,-2110.0d0)) RCONST(649) = (GCARR_ac(1.80d-13,-1190.0d0)) RCONST(650) = (GCARR_ac(1.24d-12,380.0d0)) RCONST(651) = (5.77d-11) RCONST(652) = (GCARR_ac(2.70d-12,470.0d0)) RCONST(653) = (GCARR_ac(1.39d-11,380.0d0)) RCONST(654) = (GCARR_ac(2.70d-12,470.0d0)) RCONST(655) = (GCARR_ac(2.70d-12,350.0d0)) RCONST(656) = (GCARR_ac(1.93d-13,1300.0d0)) RCONST(657) = (9.00d-12) RCONST(658) = (GCARR_ac(2.70d-12,350.0d0)) RCONST(659) = (GCARR_ac(1.93d-13,1300.0d0)) RCONST(660) = (9.00d-12) RCONST(661) = (GCARR_ac(3.71d-12,983.0d0)) RCONST(662) = (GCARR_ac(5.00d-12,470.0d0)) RCONST(663) = (GCARR_ac(8.70d-12,70.0d0)) RCONST(664) = (GCARR_ac(5.00d-12,470.0d0)) RCONST(665) = (GCARR_ac(2.00d-12,70.0d0)) RCONST(666) = (GCARR_ac(2.4d-11,70.0d0)) RCONST(667) = (GCARR_ac(2.12d-13,1300.0d0)) RCONST(668) = (GC_ALK(2.7d-12,350.0d0,4.573d0,6.0d0,1.0d0,0.0d0)) RCONST(669) = (GC_NIT(2.7d-12,350.0d0,4.573d0,6.0d0,1.0d0,0.0d0)) RCONST(670) = (GCARR_ac(2.12d-13,1300.0d0)) RCONST(671) = (GCARR_ac(3.14d-12,580.0d0)) RCONST(672) = (1.66d-11) RCONST(673) = (GCARR_ac(2.90d+7,-5297.0d0)) RCONST(674) = (GC_ALK(2.7d-12,350.0d0,2.985d0,6.0d0,1.0d0,0.0d0)) RCONST(675) = (GC_NIT(2.7d-12,350.0d0,2.985d0,6.0d0,1.0d0,0.0d0)) RCONST(676) = (GCARR_ac(8.7d-12,290.0d0)) RCONST(677) = (GC_PAN_acac(2.591d-28,-6.87d0,1.125d-11,-1.105d0,0.3d0)) RCONST(678) = (GCARR_ac(3.14d-12,580.0d0)) RCONST(679) = (GCARR_ac(7.50d-12,290.0d0)) RCONST(680) = (GC_PAN_acac(2.591d-28,-6.87d0,1.125d-11,-1.105d0,0.3d0)) RCONST(681) = (4.00d-12) RCONST(682) = (GCARR_ac(2.9d-12,500.0d0)) RCONST(683) = (GCARR_ac(1.58d+16,-13500.0d0)) RCONST(684) = (2.90d-11) RCONST(685) = (4.33d-12) RCONST(686) = (1.00d-11) RCONST(687) = (2.25d-11) RCONST(688) = (3.00d-12) RCONST(689) = (3.00d-12) RCONST(690) = (1.00d-11) RCONST(691) = (3.00d-12) RCONST(692) = (GCARR_ac(1.40d-12,-1860.0d0)) RCONST(693) = (8.00d-13) RCONST(694) = (GCARR_ac(1.30d-12,500.0d0)) RCONST(695) = (GCARR_ac(3.14d-12,580.0d0)) RCONST(696) = (GCARR_ac(1.55d-12,340.0d0)) RCONST(697) = (2.91d-11) RCONST(698) = (GCARR_ac(1.56d-11,117.0d0)) RCONST(699) = (GCARR_ac(1.40d-12,700.0d0)) RCONST(700) = (GCARR_ac(2.60d-12,350.0d0)) RCONST(701) = (1.20d-12) RCONST(702) = (5.8d-11) RCONST(703) = (1.5d-12) RCONST(704) = (1.7d-17) RCONST(705) = (7.0d-12) RCONST(706) = (1.2d-16) RCONST(707) = (3.92d-11) RCONST(708) = (1.4d-15) RCONST(709) = (GCARR_ac(2.7d-12,360.0d0)) RCONST(710) = (GCARR_ac(1.5d-13,1310.0d0)) RCONST(711) = (7.16d-11) RCONST(712) = (GCARR_ac(1.20d-14,-2630.0d0)) RCONST(713) = (GCJPLPR_abab(1.10d-28,3.5d+00,8.4d-12,1.75d0,0.5d0)) RCONST(714) = (GCJPLPR_abab(5.50d-30,0.0d0,8.3d-13,-2.0d0,0.5d0)) RCONST(715) = (GCARR_ac(1.53d-13,1300.0d0)) RCONST(716) = (GCARR_ac(2.7d-12,360.0d0)) RCONST(717) = (2.3d-12) RCONST(718) = (6.00d-13) RCONST(719) = (GCARR_ac(9.5d+13,-5988.0d0)) RCONST(720) = (GCARR_ac(2.5d-14,-300.0d0)) RCONST(721) = (8.40d-13) RCONST(722) = (GCARR_ac(1.90d-12,190.0d0)) RCONST(723) = (1.38d-11) RCONST(724) = (GCARR_ac(2.3d-12,-193.0d0)) RCONST(725) = (GCARR_ac(1.8d-12,340.0d0)) RCONST(726) = (1.7d-11) RCONST(727) = (2.91d-13*EXP(1300.0d0/TEMP)*0.82d0) RCONST(728) = (GCARR_ac(2.60d-12,365.0d0)) RCONST(729) = (2.30d-12) RCONST(730) = (GCARR_ac(1.70d-14,220.0d0)) RCONST(731) = (GCARR_ac(4.20d-14,220.0d0)) RCONST(732) = (6.9d-11) RCONST(733) = (GCARR_abc(2.7d-12,0.0d0,360.0d0)) RCONST(734) = (GCARR_abc(2.05d-13,0.0d0,1300.0d0)) ! RCONST(735) = constant rate coefficient RCONST(736) = (GCARR_abc(7.50d-12,0.0d0,290.0d0)) RCONST(737) = (GCARR_abc(5.20d-13,0.0d0,980.0d0)) RCONST(738) = (GC_PAN_acac(3.28d-28,-6.87d0,1.125d-11,-1.105d0,0.3d0)) RCONST(739) = (GC_PAN_abab(1.10d-5,-10100.0d0,1.90d+17,-14100.0d0,0.3d0)*0.67d0) RCONST(740) = (1.0d-14) RCONST(741) = (GCARR_ac(4.70d-13,1220.0d0)) RCONST(742) = (3.8d-12) RCONST(743) = (4.7d-11) RCONST(744) = (1.4d-11) RCONST(745) = (2.0d-11) RCONST(746) = (9.2d-18) RCONST(747) = (9.9d-11) RCONST(748) = (GCARR_ac(5.90d-12,225.0d0)) RCONST(749) = (2.4d-15) RCONST(750) = (GCARR_ac(1.10d-11,340.0d0)) RCONST(751) = (GCARR_ac(7.50d-12,290.0d0)) RCONST(752) = (GC_PAN_acac(3.28d-28,-6.87d0,1.125d-11,-1.105d0,0.3d0)) RCONST(753) = (4.66d-12) RCONST(754) = (GC_PAN_abab(1.10d-5,-10100.0d0,1.90d+17,-14100.0d0,0.3d0)*0.67d0) RCONST(755) = (1.06d-12) RCONST(756) = (7.00d-12) RCONST(757) = (GCARR_ac(2.670d-12,365.0d0)) RCONST(758) = (2.30d-12) RCONST(759) = (GCARR_ac(2.24d-13,1300.0d0)) RCONST(760) = (3.60d-12) RCONST(761) = (2.86d-13) RCONST(762) = (2.08d-12) RCONST(763) = (3.47d-12) RCONST(764) = (2.60d-12) RCONST(765) = (GCARR_ac(2.670d-13,365.0d0)) RCONST(766) = (GCARR_ac(2.670d-12,365.0d0)) RCONST(767) = (5.0d-11) RCONST(768) = (8.0d-16) RCONST(769) = (1.5d-3) RCONST(770) = (5.0d-11) RCONST(771) = (8.0d-16) RCONST(772) = (1.5d-3) RCONST(773) = (GCARR_ac(1.40d-12,700.0d0)) RCONST(774) = (GCARR_ac(2.60d-12,350.0d0)) RCONST(775) = (GCARR_ac(1.40d-12,700.0d0)) RCONST(776) = (GCARR_ac(2.60d-12,350.0d0)) RCONST(777) = (GCARR_ac(1.40d-12,700.0d0)) RCONST(778) = (GCARR_ac(2.60d-12,350.0d0)) RCONST(779) = (1.20d-12) RCONST(780) = (GCARR_ac(1.32d-11,334.0d0)) RCONST(781) = (HO2uptk1stOrd(State_Het)) RCONST(782) = (NO2uptk1stOrdAndCloud(State_Het)) RCONST(783) = (NO3uptk1stOrdAndCloud(State_Het)) RCONST(784) = (NO3hypsisClonSALA(State_Het)) RCONST(785) = (NO3hypsisClonSALC(State_Het)) RCONST(786) = (N2O5uptkByH2O(State_Het)) RCONST(787) = (N2O5uptkByStratHCl(State_Het)) RCONST(788) = (N2O5uptkByCloud(State_Het)) RCONST(789) = (N2O5uptkBySALACl(State_Het)) RCONST(790) = (N2O5uptkBySALCCl(State_Het)) RCONST(791) = (OHuptkBySALACl(State_Het)) RCONST(792) = (OHuptkBySALCCl(State_Het)) RCONST(793) = (BrNO3uptkByH2O(State_Het)) RCONST(794) = (BrNO3uptkByHCl(State_Het)) RCONST(795) = (ClNO3uptkByH2O(State_Het)) RCONST(796) = (ClNO3uptkByHCl(State_Het)) RCONST(797) = (ClNO3uptkByHBr(State_Het)) RCONST(798) = (ClNO3uptkByBrSALA(State_Het)) RCONST(799) = (ClNO3uptkByBrSALC(State_Het)) RCONST(800) = (ClNO3uptkBySALACL(State_Het)) RCONST(801) = (ClNO3uptkBySALCCL(State_Het)) RCONST(802) = (ClNO2uptkBySALACL(State_Het)) RCONST(803) = (ClNO2uptkBySALCCL(State_Het)) RCONST(804) = (ClNO2uptkByHCl(State_Het)) RCONST(805) = (ClNO2uptkByBrSALA(State_Het)) RCONST(806) = (ClNO2uptkByBrSALC(State_Het)) RCONST(807) = (ClNO2uptkByHBr(State_Het)) RCONST(808) = (HOClUptkByHCl(State_Het)) RCONST(809) = (HOClUptkByHBr(State_Het)) RCONST(810) = (HOClUptkBySALACL(State_Het)) RCONST(811) = (HOClUptkBySALCCL(State_Het)) RCONST(812) = (HOClUptkByHSO3m(State_Het)+HOClUptkBySO3mm(State_Het)+SRHOCl) RCONST(813) = (HOBrUptkByHBr(State_Het)) RCONST(814) = (HOBrUptkByHCl(State_Het)) RCONST(815) = (HOBrUptkBySALACL(State_Het)) RCONST(816) = (HOBrUptkBySALCCL(State_Het)) RCONST(817) = (HOBrUptkByBrSALA(State_Het)) RCONST(818) = (HOBrUptkByBrSALC(State_Het)) RCONST(819) = (HOBrUptkByHSO3m(State_Het)+HOBrUptkBySO3mm(State_Het)+SRHOBr) RCONST(820) = (O3uptkByHBr(State_Het)) RCONST(821) = (O3uptkByBrSALA(State_Het)) RCONST(822) = (O3uptkByBrSALC(State_Het)) RCONST(823) = (HBrUptkBySALA(State_Het)) RCONST(824) = (HBrUptkBySALC(State_Het)) RCONST(825) = (IuptkBySulf1stOrd(SR_MW(ind_HI),0.10_dp,State_Het)) RCONST(826) = (IuptkBySALA1stOrd(SR_MW(ind_HI),0.10_dp,State_Het)) RCONST(827) = (IuptkBySALC1stOrd(SR_MW(ind_HI),0.10_dp,State_Het)) RCONST(828) = (IuptkByAlkSALA1stOrd(SR_MW(ind_HOI),0.01_dp,State_Het)) RCONST(829) = (IuptkByAlkSALC1stOrd(SR_MW(ind_HOI),0.01_dp,State_Het)) RCONST(830) = (IuptkBySulf1stOrd(SR_MW(ind_I2O2),0.02_dp,State_Het)) RCONST(831) = (IuptkBySALA1stOrd(SR_MW(ind_I2O2),0.02_dp,State_Het)) RCONST(832) = (IuptkBySALC1stOrd(SR_MW(ind_I2O2),0.02_dp,State_Het)) RCONST(833) = (IuptkBySulf1stOrd(SR_MW(ind_I2O3),0.02_dp,State_Het)) RCONST(834) = (IuptkBySALA1stOrd(SR_MW(ind_I2O3),0.02_dp,State_Het)) RCONST(835) = (IuptkBySALC1stOrd(SR_MW(ind_I2O3),0.02_dp,State_Het)) RCONST(836) = (IuptkBySulf1stOrd(SR_MW(ind_I2O4),0.02_dp,State_Het)) RCONST(837) = (IuptkBySALA1stOrd(SR_MW(ind_I2O4),0.02_dp,State_Het)) RCONST(838) = (IuptkBySALC1stOrd(SR_MW(ind_I2O4),0.02_dp,State_Het)) RCONST(839) = (IuptkByAlkSALA1stOrd(SR_MW(ind_IONO),0.02_dp,State_Het)) RCONST(840) = (IuptkByAlkSALC1stOrd(SR_MW(ind_IONO),0.02_dp,State_Het)) RCONST(841) = (IuptkByAlkSALA1stOrd(SR_MW(ind_IONO2),0.01_dp,State_Het)) RCONST(842) = (IuptkByAlkSALC1stOrd(SR_MW(ind_IONO2),0.01_dp,State_Het)) RCONST(843) = (IONO2uptkByH2O(State_Het)) RCONST(844) = (IbrkdnByAcidBrSALA(SR_MW(ind_IONO),C(ind_IONO),0.02_dp,State_Het)) RCONST(845) = (IbrkdnByAcidBrSALC(SR_MW(ind_IONO),C(ind_IONO),0.02_dp,State_Het)) RCONST(846) = (IbrkdnByAcidSALACl(SR_MW(ind_IONO),C(ind_IONO),0.02_dp,State_Het)) RCONST(847) = (IbrkdnByAcidSALCCl(SR_MW(ind_IONO),C(ind_IONO),0.02_dp,State_Het)) RCONST(848) = (IbrkdnByAcidBrSALA(SR_MW(ind_IONO2),C(ind_IONO2),0.01_dp,State_Het)) RCONST(849) = (IbrkdnByAcidBrSALC(SR_MW(ind_IONO2),C(ind_IONO2),0.01_dp,State_Het)) RCONST(850) = (IbrkdnByAcidSALACl(SR_MW(ind_IONO2),C(ind_IONO2),0.01_dp,State_Het)) RCONST(851) = (IbrkdnByAcidSALCCl(SR_MW(ind_IONO2),C(ind_IONO2),0.01_dp,State_Het)) RCONST(852) = (IbrkdnByAcidBrSALA(SR_MW(ind_HOI),C(ind_HOI),0.01_dp,State_Het)) RCONST(853) = (IbrkdnByAcidBrSALC(SR_MW(ind_HOI),C(ind_HOI),0.01_dp,State_Het)) RCONST(854) = (IbrkdnByAcidSALACl(SR_MW(ind_HOI),C(ind_HOI),0.01_dp,State_Het)) RCONST(855) = (IbrkdnByAcidSALCCl(SR_MW(ind_HOI),C(ind_HOI),0.01_dp,State_Het)) RCONST(856) = (GLYXuptk1stOrd(SR_MW(ind_GLYX),State_Het)) RCONST(857) = (MGLYuptk1stOrd(SR_MW(ind_MGLY),State_Het)) RCONST(858) = (IEPOXuptk1stOrd(SR_MW(ind_IEPOXA),.FALSE.,State_Het)) RCONST(859) = (IEPOXuptk1stOrd(SR_MW(ind_IEPOXB),.FALSE.,State_Het)) RCONST(860) = (IEPOXuptk1stOrd(SR_MW(ind_IEPOXD),.FALSE.,State_Het)) RCONST(861) = (VOCuptk1stOrd(SR_MW(ind_LVOC),1.0_dp,State_Het)) RCONST(862) = (VOCuptk1stOrd(SR_MW(ind_MVKN),5.0E-3_dp,State_Het)) RCONST(863) = (VOCuptk1stOrd(SR_MW(ind_R4N2),5.0E-3_dp,State_Het)) RCONST(864) = (VOCuptk1stOrd(SR_MW(ind_MONITS),1.0E-2_dp,State_Het)) RCONST(865) = (VOCuptk1stOrd(SR_MW(ind_MONITU),1.0E-2_dp,State_Het)) RCONST(866) = (VOCuptk1stOrd(SR_MW(ind_HONIT),1.0E-2_dp,State_Het)) RCONST(867) = (MGLYuptk1stOrd(SR_MW(ind_PYAC),State_Het)) RCONST(868) = (IEPOXuptk1stOrd(SR_MW(ind_HMML),.TRUE.,State_Het)) RCONST(869) = (VOCuptk1stOrd(SR_MW(ind_IHN1),5.0E-3_dp,State_Het)) RCONST(870) = (VOCuptk1stOrd(SR_MW(ind_IHN2),5.0E-2_dp,State_Het)) RCONST(871) = (VOCuptk1stOrd(SR_MW(ind_IHN3),5.0E-3_dp,State_Het)) RCONST(872) = (VOCuptk1stOrd(SR_MW(ind_IHN4),5.0E-3_dp,State_Het)) RCONST(873) = (IEPOXuptk1stOrd(SR_MW(ind_ICHE),.FALSE.,State_Het)) RCONST(874) = (VOCuptk1stOrd(SR_MW(ind_INPD),5.0E-3_dp,State_Het)) RCONST(875) = (VOCuptk1stOrd(SR_MW(ind_INPB),5.0E-3_dp,State_Het)) RCONST(876) = (VOCuptk1stOrd(SR_MW(ind_IDN),5.0E-3_dp,State_Het)) RCONST(877) = (VOCuptk1stOrd(SR_MW(ind_ITCN),5.0E-3_dp,State_Het)) RCONST(878) = (VOCuptk1stOrd(SR_MW(ind_ITHN),5.0E-3_dp,State_Het)) RCONST(879) = (VOCuptk1stOrd(SR_MW(ind_MCRHNB),5.0E-3_dp,State_Het)) RCONST(880) = (VOCuptk1stOrd(SR_MW(ind_MCRHN),5.0E-3_dp,State_Het)) RCONST(881) = (VOCuptk1stOrd(SR_MW(ind_NPHEN),1.0E-2_dp,State_Het)) RCONST(882) = (PHOTOL(2)) RCONST(883) = (PHOTOL(3)) RCONST(884) = (PHOTOL(1)) RCONST(885) = (PHOTOL(11)) RCONST(886) = (PHOTOL(9)) RCONST(887) = (PHOTOL(10)) RCONST(888) = (PHOTOL(7)) RCONST(889) = (PHOTOL(8)) RCONST(890) = (PHOTOL(16)) RCONST(891) = (PHOTOL(15)) RCONST(892) = (PHOTOL(17)) RCONST(893) = (PHOTOL(18)) RCONST(894) = (PHOTOL(12)) RCONST(895) = (PHOTOL(13)) RCONST(896) = (PHOTOL(14)) RCONST(897) = (PHOTOL(61)) RCONST(898) = (PHOTOL(62)) RCONST(899) = (PHOTOL(59)) RCONST(900) = (PHOTOL(59)) RCONST(901) = (PHOTOL(66)) RCONST(902) = (PHOTOL(70)) RCONST(903) = (PHOTOL(70)) RCONST(904) = (PHOTOL(76)) RCONST(905) = (PHOTOL(77)) RCONST(906) = (PHOTOL(69)) RCONST(907) = (PHOTOL(68)) RCONST(908) = (PHOTOL(72)) RCONST(909) = (PHOTOL(73)) RCONST(910) = (PHOTOL(74)) RCONST(911) = (PHOTOL(71)) RCONST(912) = (PHOTOL(63)) RCONST(913) = (PHOTOL(64)) RCONST(914) = (PHOTOL(65)) RCONST(915) = (PHOTOL(66)) RCONST(916) = (PHOTOL(75)) RCONST(917) = (PHOTOL(79)) RCONST(918) = (PHOTOL(80)) RCONST(919) = (PHOTOL(81)) RCONST(920) = (PHOTOL(82)) RCONST(921) = (PHOTOL(83)) RCONST(922) = (PHOTOL(83)) RCONST(923) = (PHOTOL(83)) RCONST(924) = (PHOTOL(84)) RCONST(925) = (PHOTOL(85)) RCONST(926) = (PHOTOL(98)) RCONST(927) = (PHOTOL(98)) RCONST(928) = (PHOTOL(98)) RCONST(929) = (PHOTOL(98)) RCONST(930) = (PHOTOL(99)) RCONST(931) = (PHOTOL(23)) RCONST(932) = (PHOTOL(28)) RCONST(933) = (PHOTOL(32)) RCONST(934) = (PHOTOL(29)) RCONST(935) = (PHOTOL(30)) RCONST(936) = (PHOTOL(31)) RCONST(937) = (PHOTOL(56)) RCONST(938) = (PHOTOL(55)) RCONST(939) = (PHOTOL(50)) RCONST(940) = (PHOTOL(43)) RCONST(941) = (PHOTOL(45)) RCONST(942) = (PHOTOL(33)) RCONST(943) = (PHOTOL(22)) RCONST(944) = (PHOTOL(27)) RCONST(945) = (PHOTOL(25)) RCONST(946) = (PHOTOL(26)) RCONST(947) = (PHOTOL(21)) RCONST(948) = (PHOTOL(19)) RCONST(949) = (PHOTOL(20)) RCONST(950) = (PHOTOL(24)) RCONST(951) = (PHOTOL(44)) RCONST(952) = (PHOTOL(42)) RCONST(953) = (PHOTOL(37)) RCONST(954) = (PHOTOL(38)) RCONST(955) = (PHOTOL(39)) RCONST(956) = (PHOTOL(40)) RCONST(957) = (PHOTOL(41)) RCONST(958) = (PHOTOL(47)) RCONST(959) = (PHOTOL(48)) RCONST(960) = (PHOTOL(49)) RCONST(961) = (PHOTOL(46)) RCONST(962) = (PHOTOL(53)) RCONST(963) = (PHOTOL(51)) RCONST(964) = (PHOTOL(54)) RCONST(965) = (PHOTOL(101)) RCONST(966) = (PHOTOL(114)) RCONST(967) = (PHOTOL(115)) RCONST(968) = (PHOTOL(116)) RCONST(969) = (PHOTOL(117)) RCONST(970) = (PHOTOL(118)) RCONST(971) = (PHOTOL(119)) RCONST(972) = (PHOTOL(120)) RCONST(973) = (PHOTOL(121)) RCONST(974) = (PHOTOL(122)) RCONST(975) = (PHOTOL(123)) RCONST(976) = (PHOTOL(124)) RCONST(977) = (PHOTOL(125)) RCONST(978) = (PHOTOL(126)) RCONST(979) = (PHOTOL(127)) RCONST(980) = (PHOTOL(128)) RCONST(981) = (PHOTOL(129)) RCONST(982) = (PHOTOL(103)) RCONST(983) = (PHOTOL(104)) RCONST(984) = (PHOTOL(97)) RCONST(985) = (PHOTOL(36)) RCONST(986) = (PHOTOL(34)) RCONST(987) = (PHOTOL(100)) RCONST(988) = (PHOTOL(6)) RCONST(989) = (PHOTOL(105)) RCONST(990) = (PHOTOL(107)) RCONST(991) = (PHOTOL(111)) RCONST(992) = (PHOTOL(112)) RCONST(993) = (PHOTOL(113)) RCONST(994) = (PHOTOL(130)) RCONST(995) = (PHOTOL(131)) RCONST(996) = (PHOTOL(132)) RCONST(997) = (PHOTOL(133)) RCONST(998) = (PHOTOL(134)) RCONST(999) = (PHOTOL(135)) RCONST(1000) = (PHOTOL(136)) RCONST(1001) = (PHOTOL(137)) RCONST(1002) = (PHOTOL(86)) RCONST(1003) = (PHOTOL(87)) RCONST(1004) = (PHOTOL(88)) RCONST(1005) = (PHOTOL(89)) RCONST(1006) = (PHOTOL(90)) RCONST(1007) = (PHOTOL(91)) RCONST(1008) = (PHOTOL(92)) RCONST(1009) = (PHOTOL(93)) RCONST(1010) = (PHOTOL(94)) RCONST(1011) = (PHOTOL(95)) RCONST(1012) = (PHOTOL(96)) RCONST(1013) = (PHOTOL(108)) RCONST(1014) = (PHOTOL(109)) RCONST(1015) = (PHOTOL(110)) RCONST(1016) = (PHOTOL(138)) RCONST(1017) = (PHOTOL(139)) RCONST(1018) = (PHOTOL(140)) RCONST(1019) = (PHOTOL(141)) RCONST(1020) = (PHOTOL(142)) RCONST(1021) = (PHOTOL(143)) RCONST(1022) = (PHOTOL(144)) RCONST(1023) = (PHOTOL(145)) RCONST(1024) = (PHOTOL(146)) RCONST(1025) = (PHOTOL(147)) RCONST(1026) = (PHOTOL(148)) RCONST(1027) = (PHOTOL(149)) RCONST(1028) = (PHOTOL(150)) RCONST(1029) = (PHOTOL(151)) RCONST(1030) = (PHOTOL(152)) RCONST(1031) = (PHOTOL(106)) RCONST(1032) = (PHOTOL(78)) RCONST(1033) = (PHOTOL(153)) RCONST(1034) = (PHOTOL(154)) RCONST(1035) = (PHOTOL(155)) RCONST(1036) = (PHOTOL(156)) RCONST(1037) = (PHOTOL(157)) RCONST(1038) = (PHOTOL(158)) RCONST(1039) = (PHOTOL(159)) RCONST(1040) = (PHOTOL(160)) RCONST(1041) = (PHOTOL(161)) RCONST(1042) = (PHOTOL(162)) RCONST(1043) = (PHOTOL(163)) RCONST(1044) = (PHOTOL(164)) RCONST(1045) = (PHOTOL(165)) RCONST(1046) = (PHOTOL(166)) RCONST(1047) = (PHOTOL(167)) RCONST(1048) = (PHOTOL(168)) RCONST(1049) = (PHOTOL(169)) RCONST(1050) = (PHOTOL(170)) RCONST(1051) = (PHOTOL(171)) RCONST(1052) = (PHOTOL(172)) RCONST(1053) = (PHOTOL(173)) RCONST(1054) = (PHOTOL(174)) RCONST(1055) = (PHOTOL(175)) RCONST(1056) = (PHOTOL(176)) RCONST(1057) = (PHOTOL(105)) RCONST(1058) = (PHOTOL(177)) END SUBROUTINE UPDATE_RCONST ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Update_PHOTO - function to update photolytical rate constants ! Arguments : ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Update_PHOTO ( ) ! Begin inlined code from F90_RCONST_USE ! Inline an include file containing rate law definitions, which ! will be inserted directly into subroutine Update_Rconst(). ! This is necessary as a workaround for KPP not being able to ! include very large files ( > 200000 chars) directly. ! -- Bob Yantosca (11 Jun 2021) USE fullchem_RateLawFuncs ! End inlined code from F90_RCONST_USE ! Begin inlined code from F90_RCONST ! End inlined code from F90_RCONST RCONST(882) = (PHOTOL(2)) RCONST(883) = (PHOTOL(3)) RCONST(884) = (PHOTOL(1)) RCONST(885) = (PHOTOL(11)) RCONST(886) = (PHOTOL(9)) RCONST(887) = (PHOTOL(10)) RCONST(888) = (PHOTOL(7)) RCONST(889) = (PHOTOL(8)) RCONST(890) = (PHOTOL(16)) RCONST(891) = (PHOTOL(15)) RCONST(892) = (PHOTOL(17)) RCONST(893) = (PHOTOL(18)) RCONST(894) = (PHOTOL(12)) RCONST(895) = (PHOTOL(13)) RCONST(896) = (PHOTOL(14)) RCONST(897) = (PHOTOL(61)) RCONST(898) = (PHOTOL(62)) RCONST(899) = (PHOTOL(59)) RCONST(900) = (PHOTOL(59)) RCONST(901) = (PHOTOL(66)) RCONST(902) = (PHOTOL(70)) RCONST(903) = (PHOTOL(70)) RCONST(904) = (PHOTOL(76)) RCONST(905) = (PHOTOL(77)) RCONST(906) = (PHOTOL(69)) RCONST(907) = (PHOTOL(68)) RCONST(908) = (PHOTOL(72)) RCONST(909) = (PHOTOL(73)) RCONST(910) = (PHOTOL(74)) RCONST(911) = (PHOTOL(71)) RCONST(912) = (PHOTOL(63)) RCONST(913) = (PHOTOL(64)) RCONST(914) = (PHOTOL(65)) RCONST(915) = (PHOTOL(66)) RCONST(916) = (PHOTOL(75)) RCONST(917) = (PHOTOL(79)) RCONST(918) = (PHOTOL(80)) RCONST(919) = (PHOTOL(81)) RCONST(920) = (PHOTOL(82)) RCONST(921) = (PHOTOL(83)) RCONST(922) = (PHOTOL(83)) RCONST(923) = (PHOTOL(83)) RCONST(924) = (PHOTOL(84)) RCONST(925) = (PHOTOL(85)) RCONST(926) = (PHOTOL(98)) RCONST(927) = (PHOTOL(98)) RCONST(928) = (PHOTOL(98)) RCONST(929) = (PHOTOL(98)) RCONST(930) = (PHOTOL(99)) RCONST(931) = (PHOTOL(23)) RCONST(932) = (PHOTOL(28)) RCONST(933) = (PHOTOL(32)) RCONST(934) = (PHOTOL(29)) RCONST(935) = (PHOTOL(30)) RCONST(936) = (PHOTOL(31)) RCONST(937) = (PHOTOL(56)) RCONST(938) = (PHOTOL(55)) RCONST(939) = (PHOTOL(50)) RCONST(940) = (PHOTOL(43)) RCONST(941) = (PHOTOL(45)) RCONST(942) = (PHOTOL(33)) RCONST(943) = (PHOTOL(22)) RCONST(944) = (PHOTOL(27)) RCONST(945) = (PHOTOL(25)) RCONST(946) = (PHOTOL(26)) RCONST(947) = (PHOTOL(21)) RCONST(948) = (PHOTOL(19)) RCONST(949) = (PHOTOL(20)) RCONST(950) = (PHOTOL(24)) RCONST(951) = (PHOTOL(44)) RCONST(952) = (PHOTOL(42)) RCONST(953) = (PHOTOL(37)) RCONST(954) = (PHOTOL(38)) RCONST(955) = (PHOTOL(39)) RCONST(956) = (PHOTOL(40)) RCONST(957) = (PHOTOL(41)) RCONST(958) = (PHOTOL(47)) RCONST(959) = (PHOTOL(48)) RCONST(960) = (PHOTOL(49)) RCONST(961) = (PHOTOL(46)) RCONST(962) = (PHOTOL(53)) RCONST(963) = (PHOTOL(51)) RCONST(964) = (PHOTOL(54)) RCONST(965) = (PHOTOL(101)) RCONST(966) = (PHOTOL(114)) RCONST(967) = (PHOTOL(115)) RCONST(968) = (PHOTOL(116)) RCONST(969) = (PHOTOL(117)) RCONST(970) = (PHOTOL(118)) RCONST(971) = (PHOTOL(119)) RCONST(972) = (PHOTOL(120)) RCONST(973) = (PHOTOL(121)) RCONST(974) = (PHOTOL(122)) RCONST(975) = (PHOTOL(123)) RCONST(976) = (PHOTOL(124)) RCONST(977) = (PHOTOL(125)) RCONST(978) = (PHOTOL(126)) RCONST(979) = (PHOTOL(127)) RCONST(980) = (PHOTOL(128)) RCONST(981) = (PHOTOL(129)) RCONST(982) = (PHOTOL(103)) RCONST(983) = (PHOTOL(104)) RCONST(984) = (PHOTOL(97)) RCONST(985) = (PHOTOL(36)) RCONST(986) = (PHOTOL(34)) RCONST(987) = (PHOTOL(100)) RCONST(988) = (PHOTOL(6)) RCONST(989) = (PHOTOL(105)) RCONST(990) = (PHOTOL(107)) RCONST(991) = (PHOTOL(111)) RCONST(992) = (PHOTOL(112)) RCONST(993) = (PHOTOL(113)) RCONST(994) = (PHOTOL(130)) RCONST(995) = (PHOTOL(131)) RCONST(996) = (PHOTOL(132)) RCONST(997) = (PHOTOL(133)) RCONST(998) = (PHOTOL(134)) RCONST(999) = (PHOTOL(135)) RCONST(1000) = (PHOTOL(136)) RCONST(1001) = (PHOTOL(137)) RCONST(1002) = (PHOTOL(86)) RCONST(1003) = (PHOTOL(87)) RCONST(1004) = (PHOTOL(88)) RCONST(1005) = (PHOTOL(89)) RCONST(1006) = (PHOTOL(90)) RCONST(1007) = (PHOTOL(91)) RCONST(1008) = (PHOTOL(92)) RCONST(1009) = (PHOTOL(93)) RCONST(1010) = (PHOTOL(94)) RCONST(1011) = (PHOTOL(95)) RCONST(1012) = (PHOTOL(96)) RCONST(1013) = (PHOTOL(108)) RCONST(1014) = (PHOTOL(109)) RCONST(1015) = (PHOTOL(110)) RCONST(1016) = (PHOTOL(138)) RCONST(1017) = (PHOTOL(139)) RCONST(1018) = (PHOTOL(140)) RCONST(1019) = (PHOTOL(141)) RCONST(1020) = (PHOTOL(142)) RCONST(1021) = (PHOTOL(143)) RCONST(1022) = (PHOTOL(144)) RCONST(1023) = (PHOTOL(145)) RCONST(1024) = (PHOTOL(146)) RCONST(1025) = (PHOTOL(147)) RCONST(1026) = (PHOTOL(148)) RCONST(1027) = (PHOTOL(149)) RCONST(1028) = (PHOTOL(150)) RCONST(1029) = (PHOTOL(151)) RCONST(1030) = (PHOTOL(152)) RCONST(1031) = (PHOTOL(106)) RCONST(1032) = (PHOTOL(78)) RCONST(1033) = (PHOTOL(153)) RCONST(1034) = (PHOTOL(154)) RCONST(1035) = (PHOTOL(155)) RCONST(1036) = (PHOTOL(156)) RCONST(1037) = (PHOTOL(157)) RCONST(1038) = (PHOTOL(158)) RCONST(1039) = (PHOTOL(159)) RCONST(1040) = (PHOTOL(160)) RCONST(1041) = (PHOTOL(161)) RCONST(1042) = (PHOTOL(162)) RCONST(1043) = (PHOTOL(163)) RCONST(1044) = (PHOTOL(164)) RCONST(1045) = (PHOTOL(165)) RCONST(1046) = (PHOTOL(166)) RCONST(1047) = (PHOTOL(167)) RCONST(1048) = (PHOTOL(168)) RCONST(1049) = (PHOTOL(169)) RCONST(1050) = (PHOTOL(170)) RCONST(1051) = (PHOTOL(171)) RCONST(1052) = (PHOTOL(172)) RCONST(1053) = (PHOTOL(173)) RCONST(1054) = (PHOTOL(174)) RCONST(1055) = (PHOTOL(175)) RCONST(1056) = (PHOTOL(176)) RCONST(1057) = (PHOTOL(105)) RCONST(1058) = (PHOTOL(177)) END SUBROUTINE Update_PHOTO ! End of Update_PHOTO function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ END MODULE gckpp_Rates ================================================ FILE: KPP/fullchem/gckpp_Util.F90 ================================================ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Auxiliary Routines File ! ! Generated by KPP-3.2.0 symbolic chemistry Kinetics PreProcessor ! (https:/github.com/KineticPreProcessor/KPP ! KPP is distributed under GPL, the general public licence ! (http://www.gnu.org/copyleft/gpl.html) ! (C) 1995-1997, V. Damian & A. Sandu, CGRER, Univ. Iowa ! (C) 1997-2022, A. Sandu, Michigan Tech, Virginia Tech ! With important contributions from: ! M. Damian, Villanova University, Philadelphia, PA, USA ! R. Sander, Max-Planck Institute for Chemistry, Mainz, Germany ! M. Long, Renaissance Fiber, LLC, North Carolina, USA ! H. Lin, Harvard University, Cambridge, MA, USA ! R. Yantosca, Harvard University, Cambridge, MA, USA ! ! File : gckpp_Util.F90 ! Equation file : gckpp.kpp ! Output root filename : gckpp ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MODULE gckpp_Util USE gckpp_Parameters IMPLICIT NONE CONTAINS ! Begin inlined code from F90_UTIL ! End inlined code from F90_UTIL ! Begin Utility Functions from KPP_HOME/util/util ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! UTIL - Utility functions ! Arguments : ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! **************************************************************** ! ! InitSaveData - Opens the data file for writing ! Parameters : ! ! **************************************************************** SUBROUTINE InitSaveData () USE gckpp_Parameters open(10, file='gckpp.dat') END SUBROUTINE InitSaveData ! End of InitSaveData function ! **************************************************************** ! **************************************************************** ! ! SaveData - Write LOOKAT species in the data file ! Parameters : ! ! **************************************************************** SUBROUTINE SaveData () USE gckpp_Global USE gckpp_Monitor INTEGER i WRITE(10,999) (TIME-TSTART)/3600.D0, & (C(LOOKAT(i))/CFACTOR, i=1,NLOOKAT) 999 FORMAT(E24.16,100(1X,E24.16)) END SUBROUTINE SaveData ! End of SaveData function ! **************************************************************** ! **************************************************************** ! ! CloseSaveData - Close the data file ! Parameters : ! ! **************************************************************** SUBROUTINE CloseSaveData () USE gckpp_Parameters CLOSE(10) END SUBROUTINE CloseSaveData ! End of CloseSaveData function ! **************************************************************** ! **************************************************************** ! ! GenerateMatlab - Generates MATLAB file to load the data file ! Parameters : ! It will have a character string to prefix each ! species name with. ! ! **************************************************************** SUBROUTINE GenerateMatlab ( PREFIX ) USE gckpp_Parameters USE gckpp_Global USE gckpp_Monitor CHARACTER(LEN=8) PREFIX INTEGER i open(20, file='gckpp.m') write(20,*) 'load gckpp.dat;' write(20,990) PREFIX 990 FORMAT(A1,'c = gckpp;') write(20,*) 'clear gckpp;' write(20,991) PREFIX, PREFIX 991 FORMAT(A1,'t=',A1,'c(:,1);') write(20,992) PREFIX 992 FORMAT(A1,'c(:,1)=[];') do i=1,NLOOKAT write(20,993) PREFIX, SPC_NAMES(LOOKAT(i)), PREFIX, i 993 FORMAT(A1,A6,' = ',A1,'c(:,',I2,');') end do CLOSE(20) END SUBROUTINE GenerateMatlab ! End of GenerateMatlab function ! **************************************************************** ! **************************************************************** ! ! Integrator_Update_Options - determine whether to call Update_RCONST, ! Update_PHOTO, and Update_SUN from within the integrator ! ! Parameters: ! option (input) ! = -1 : Do not call Update_* functions within the integrator ! = 0 : Status quo: Call whichever functions are normally called ! = 1 : Call Update_RCONST from within the integrator ! = 2 : Call Update_PHOTO from within the integrator ! = 3 : Call Update_RCONST and Update_PHOTO from within the int. ! = 4 : Call Update_SUN from within the integrator ! = 5 : Call Update_SUN and Update_RCONST from within the int. ! = 6 : not implemented ! = 7 : not implemented ! ! Do_Update_RCONST (output): ! =T : Calls Update_RCONST from within the integrator ! =F : Does not call UPDATE_RCONST from w/in the int. ! ! Do_Update_PHOTO (output): ! =T : Calls Update_PHOTO from within the integrator ! =F : Does not call UPDATE_PHOTO from w/in the int. ! ! Do_Update_SUN (output): ! =T : Calls Update_SUN from within the integrator ! =F : Does not call UPDATE_SUN from w/in the int. ! ! **************************************************************** SUBROUTINE Integrator_Update_Options( option, & Do_Update_RConst, & Do_Update_Photo, & Do_Update_Sun ) !~~~> Input variables INTEGER, INTENT(IN) :: option !~~~> Output variables LOGICAL, INTENT(OUT) :: Do_Update_RCONST LOGICAL, INTENT(OUT) :: Do_Update_PHOTO LOGICAL, INTENT(OUT) :: Do_Update_SUN ! Option -1: turn off all Update_* calls within the integrator IF ( option == -1 ) THEN Do_Update_RCONST = .FALSE. Do_Update_PHOTO = .FALSE. Do_Update_SUN = .FALSE. RETURN ENDIF ! Otherwise determine from the value passed Do_Update_RCONST = ( IAND( option, 1 ) > 0 ) Do_Update_PHOTO = ( IAND( option, 2 ) > 0 ) Do_Update_SUN = ( IAND( option, 4 ) > 0 ) END SUBROUTINE Integrator_Update_Options ! End of Integrator_Update_Options function ! **************************************************************** ! End Utility Functions from KPP_HOME/util/util ! End of UTIL function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Shuffle_user2kpp - function to copy concentrations from USER to KPP ! Arguments : ! V_USER - Concentration of variable species in USER's order ! V - Concentrations of variable species (local) ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Shuffle_user2kpp ( V_USER, V ) ! V_USER - Concentration of variable species in USER's order REAL(kind=dp) :: V_USER(NVAR) ! V - Concentrations of variable species (local) REAL(kind=dp) :: V(NVAR) V(321) = V_USER(1) V(233) = V_USER(2) V(132) = V_USER(3) V(197) = V_USER(4) V(295) = V_USER(5) V(283) = V_USER(6) V(4) = V_USER(7) V(326) = V_USER(8) V(142) = V_USER(9) V(249) = V_USER(10) V(279) = V_USER(11) V(300) = V_USER(12) V(102) = V_USER(13) V(69) = V_USER(14) V(5) = V_USER(15) V(126) = V_USER(16) V(146) = V_USER(17) V(263) = V_USER(18) V(221) = V_USER(19) V(201) = V_USER(20) V(122) = V_USER(21) V(240) = V_USER(22) V(313) = V_USER(23) V(244) = V_USER(24) V(323) = V_USER(25) V(204) = V_USER(26) V(143) = V_USER(27) V(203) = V_USER(28) V(236) = V_USER(29) V(117) = V_USER(30) V(342) = V_USER(31) V(148) = V_USER(32) V(157) = V_USER(33) V(59) = V_USER(34) V(218) = V_USER(35) V(347) = V_USER(36) V(13) = V_USER(37) V(349) = V_USER(38) V(350) = V_USER(39) V(6) = V_USER(40) V(127) = V_USER(41) V(212) = V_USER(42) V(235) = V_USER(43) V(71) = V_USER(44) V(90) = V_USER(45) V(60) = V_USER(46) V(109) = V_USER(47) V(183) = V_USER(48) V(141) = V_USER(49) V(140) = V_USER(50) V(171) = V_USER(51) V(172) = V_USER(52) V(46) = V_USER(53) V(47) = V_USER(54) V(48) = V_USER(55) V(49) = V_USER(56) V(50) = V_USER(57) V(51) = V_USER(58) V(78) = V_USER(59) V(79) = V_USER(60) V(1) = V_USER(61) V(2) = V_USER(62) V(3) = V_USER(63) V(325) = V_USER(64) V(312) = V_USER(65) V(105) = V_USER(66) V(43) = V_USER(67) V(241) = V_USER(68) V(181) = V_USER(69) V(52) = V_USER(70) V(228) = V_USER(71) V(81) = V_USER(72) V(75) = V_USER(73) V(340) = V_USER(74) V(245) = V_USER(75) V(76) = V_USER(76) V(297) = V_USER(77) V(317) = V_USER(78) V(338) = V_USER(79) V(110) = V_USER(80) V(329) = V_USER(81) V(7) = V_USER(82) V(158) = V_USER(83) V(94) = V_USER(84) V(149) = V_USER(85) V(156) = V_USER(86) V(261) = V_USER(87) V(70) = V_USER(88) V(136) = V_USER(89) V(83) = V_USER(90) V(106) = V_USER(91) V(234) = V_USER(92) V(296) = V_USER(93) V(118) = V_USER(94) V(41) = V_USER(95) V(213) = V_USER(96) V(306) = V_USER(97) V(270) = V_USER(98) V(217) = V_USER(99) V(61) = V_USER(100) V(53) = V_USER(101) V(54) = V_USER(102) V(336) = V_USER(103) V(264) = V_USER(104) V(307) = V_USER(105) V(72) = V_USER(106) V(352) = V_USER(107) V(238) = V_USER(108) V(84) = V_USER(109) V(85) = V_USER(110) V(86) = V_USER(111) V(87) = V_USER(112) V(339) = V_USER(113) V(265) = V_USER(114) V(73) = V_USER(115) V(88) = V_USER(116) V(107) = V_USER(117) V(89) = V_USER(118) V(239) = V_USER(119) V(327) = V_USER(120) V(108) = V_USER(121) V(337) = V_USER(122) V(316) = V_USER(123) V(333) = V_USER(124) V(330) = V_USER(125) V(154) = V_USER(126) V(230) = V_USER(127) V(133) = V_USER(128) V(231) = V_USER(129) V(135) = V_USER(130) V(150) = V_USER(131) V(144) = V_USER(132) V(210) = V_USER(133) V(331) = V_USER(134) V(170) = V_USER(135) V(44) = V_USER(136) V(55) = V_USER(137) V(42) = V_USER(138) V(77) = V_USER(139) V(215) = V_USER(140) V(243) = V_USER(141) V(104) = V_USER(142) V(301) = V_USER(143) V(182) = V_USER(144) V(258) = V_USER(145) V(119) = V_USER(146) V(147) = V_USER(147) V(174) = V_USER(148) V(293) = V_USER(149) V(206) = V_USER(150) V(207) = V_USER(151) V(198) = V_USER(152) V(299) = V_USER(153) V(180) = V_USER(154) V(151) = V_USER(155) V(286) = V_USER(156) V(152) = V_USER(157) V(285) = V_USER(158) V(128) = V_USER(159) V(268) = V_USER(160) V(175) = V_USER(161) V(168) = V_USER(162) V(267) = V_USER(163) V(305) = V_USER(164) V(304) = V_USER(165) V(271) = V_USER(166) V(226) = V_USER(167) V(223) = V_USER(168) V(224) = V_USER(169) V(232) = V_USER(170) V(145) = V_USER(171) V(8) = V_USER(172) V(62) = V_USER(173) V(310) = V_USER(174) V(311) = V_USER(175) V(222) = V_USER(176) V(186) = V_USER(177) V(284) = V_USER(178) V(103) = V_USER(179) V(252) = V_USER(180) V(332) = V_USER(181) V(91) = V_USER(182) V(9) = V_USER(183) V(10) = V_USER(184) V(276) = V_USER(185) V(205) = V_USER(186) V(190) = V_USER(187) V(266) = V_USER(188) V(303) = V_USER(189) V(320) = V_USER(190) V(11) = V_USER(191) V(12) = V_USER(192) V(167) = V_USER(193) V(281) = V_USER(194) V(111) = V_USER(195) V(137) = V_USER(196) V(225) = V_USER(197) V(56) = V_USER(198) V(66) = V_USER(199) V(74) = V_USER(200) V(160) = V_USER(201) V(176) = V_USER(202) V(129) = V_USER(203) V(138) = V_USER(204) V(112) = V_USER(205) V(161) = V_USER(206) V(162) = V_USER(207) V(255) = V_USER(208) V(211) = V_USER(209) V(237) = V_USER(210) V(163) = V_USER(211) V(177) = V_USER(212) V(57) = V_USER(213) V(130) = V_USER(214) V(169) = V_USER(215) V(262) = V_USER(216) V(193) = V_USER(217) V(277) = V_USER(218) V(257) = V_USER(219) V(278) = V_USER(220) V(275) = V_USER(221) V(273) = V_USER(222) V(272) = V_USER(223) V(274) = V_USER(224) V(14) = V_USER(225) V(15) = V_USER(226) V(16) = V_USER(227) V(17) = V_USER(228) V(20) = V_USER(229) V(21) = V_USER(230) V(24) = V_USER(231) V(23) = V_USER(232) V(25) = V_USER(233) V(26) = V_USER(234) V(309) = V_USER(235) V(259) = V_USER(236) V(159) = V_USER(237) V(308) = V_USER(238) V(92) = V_USER(239) V(324) = V_USER(240) V(153) = V_USER(241) V(194) = V_USER(242) V(248) = V_USER(243) V(216) = V_USER(244) V(287) = V_USER(245) V(253) = V_USER(246) V(202) = V_USER(247) V(246) = V_USER(248) V(292) = V_USER(249) V(113) = V_USER(250) V(93) = V_USER(251) V(294) = V_USER(252) V(328) = V_USER(253) V(282) = V_USER(254) V(45) = V_USER(255) V(256) = V_USER(256) V(242) = V_USER(257) V(164) = V_USER(258) V(184) = V_USER(259) V(80) = V_USER(260) V(28) = V_USER(261) V(191) = V_USER(262) V(219) = V_USER(263) V(314) = V_USER(264) V(131) = V_USER(265) V(208) = V_USER(266) V(227) = V_USER(267) V(288) = V_USER(268) V(302) = V_USER(269) V(254) = V_USER(270) V(185) = V_USER(271) V(67) = V_USER(272) V(63) = V_USER(273) V(214) = V_USER(274) V(19) = V_USER(275) V(64) = V_USER(276) V(65) = V_USER(277) V(346) = V_USER(278) V(335) = V_USER(279) V(351) = V_USER(280) V(269) = V_USER(281) V(95) = V_USER(282) V(18) = V_USER(283) V(343) = V_USER(284) V(334) = V_USER(285) V(341) = V_USER(286) V(120) = V_USER(289) V(68) = V_USER(290) V(345) = V_USER(291) V(96) = V_USER(292) V(289) = V_USER(293) V(280) = V_USER(294) V(315) = V_USER(295) V(139) = V_USER(296) V(114) = V_USER(297) V(195) = V_USER(298) V(291) = V_USER(299) V(229) = V_USER(300) V(260) = V_USER(301) V(123) = V_USER(302) V(124) = V_USER(303) V(250) = V_USER(304) V(247) = V_USER(305) V(290) = V_USER(306) V(125) = V_USER(307) V(115) = V_USER(308) V(318) = V_USER(309) V(251) = V_USER(310) V(319) = V_USER(311) V(97) = V_USER(312) V(178) = V_USER(313) V(165) = V_USER(314) V(98) = V_USER(315) V(196) = V_USER(316) V(99) = V_USER(317) V(100) = V_USER(318) V(298) = V_USER(319) V(322) = V_USER(320) V(173) = V_USER(321) V(187) = V_USER(322) V(192) = V_USER(323) V(209) = V_USER(324) V(199) = V_USER(325) V(116) = V_USER(326) V(188) = V_USER(327) V(155) = V_USER(328) V(179) = V_USER(329) V(166) = V_USER(330) V(353) = V_USER(331) V(344) = V_USER(332) V(348) = V_USER(337) V(134) = V_USER(338) V(29) = V_USER(339) V(30) = V_USER(340) V(31) = V_USER(341) V(220) = V_USER(342) V(58) = V_USER(343) V(121) = V_USER(344) V(200) = V_USER(345) V(82) = V_USER(346) V(22) = V_USER(347) V(101) = V_USER(348) V(27) = V_USER(349) V(32) = V_USER(350) V(33) = V_USER(351) V(189) = V_USER(352) END SUBROUTINE Shuffle_user2kpp ! End of Shuffle_user2kpp function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! Shuffle_kpp2user - function to restore concentrations from KPP to USER ! Arguments : ! V - Concentrations of variable species (local) ! V_USER - Concentration of variable species in USER's order ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Shuffle_kpp2user ( V, V_USER ) ! V - Concentrations of variable species (local) REAL(kind=dp) :: V(NVAR) ! V_USER - Concentration of variable species in USER's order REAL(kind=dp) :: V_USER(NVAR) V_USER(1) = V(321) V_USER(2) = V(233) V_USER(3) = V(132) V_USER(4) = V(197) V_USER(5) = V(295) V_USER(6) = V(283) V_USER(7) = V(4) V_USER(8) = V(326) V_USER(9) = V(142) V_USER(10) = V(249) V_USER(11) = V(279) V_USER(12) = V(300) V_USER(13) = V(102) V_USER(14) = V(69) V_USER(15) = V(5) V_USER(16) = V(126) V_USER(17) = V(146) V_USER(18) = V(263) V_USER(19) = V(221) V_USER(20) = V(201) V_USER(21) = V(122) V_USER(22) = V(240) V_USER(23) = V(313) V_USER(24) = V(244) V_USER(25) = V(323) V_USER(26) = V(204) V_USER(27) = V(143) V_USER(28) = V(203) V_USER(29) = V(236) V_USER(30) = V(117) V_USER(31) = V(342) V_USER(32) = V(148) V_USER(33) = V(157) V_USER(34) = V(59) V_USER(35) = V(218) V_USER(36) = V(347) V_USER(37) = V(13) V_USER(38) = V(349) V_USER(39) = V(350) V_USER(40) = V(6) V_USER(41) = V(127) V_USER(42) = V(212) V_USER(43) = V(235) V_USER(44) = V(71) V_USER(45) = V(90) V_USER(46) = V(60) V_USER(47) = V(109) V_USER(48) = V(183) V_USER(49) = V(141) V_USER(50) = V(140) V_USER(51) = V(171) V_USER(52) = V(172) V_USER(53) = V(46) V_USER(54) = V(47) V_USER(55) = V(48) V_USER(56) = V(49) V_USER(57) = V(50) V_USER(58) = V(51) V_USER(59) = V(78) V_USER(60) = V(79) V_USER(61) = V(1) V_USER(62) = V(2) V_USER(63) = V(3) V_USER(64) = V(325) V_USER(65) = V(312) V_USER(66) = V(105) V_USER(67) = V(43) V_USER(68) = V(241) V_USER(69) = V(181) V_USER(70) = V(52) V_USER(71) = V(228) V_USER(72) = V(81) V_USER(73) = V(75) V_USER(74) = V(340) V_USER(75) = V(245) V_USER(76) = V(76) V_USER(77) = V(297) V_USER(78) = V(317) V_USER(79) = V(338) V_USER(80) = V(110) V_USER(81) = V(329) V_USER(82) = V(7) V_USER(83) = V(158) V_USER(84) = V(94) V_USER(85) = V(149) V_USER(86) = V(156) V_USER(87) = V(261) V_USER(88) = V(70) V_USER(89) = V(136) V_USER(90) = V(83) V_USER(91) = V(106) V_USER(92) = V(234) V_USER(93) = V(296) V_USER(94) = V(118) V_USER(95) = V(41) V_USER(96) = V(213) V_USER(97) = V(306) V_USER(98) = V(270) V_USER(99) = V(217) V_USER(100) = V(61) V_USER(101) = V(53) V_USER(102) = V(54) V_USER(103) = V(336) V_USER(104) = V(264) V_USER(105) = V(307) V_USER(106) = V(72) V_USER(107) = V(352) V_USER(108) = V(238) V_USER(109) = V(84) V_USER(110) = V(85) V_USER(111) = V(86) V_USER(112) = V(87) V_USER(113) = V(339) V_USER(114) = V(265) V_USER(115) = V(73) V_USER(116) = V(88) V_USER(117) = V(107) V_USER(118) = V(89) V_USER(119) = V(239) V_USER(120) = V(327) V_USER(121) = V(108) V_USER(122) = V(337) V_USER(123) = V(316) V_USER(124) = V(333) V_USER(125) = V(330) V_USER(126) = V(154) V_USER(127) = V(230) V_USER(128) = V(133) V_USER(129) = V(231) V_USER(130) = V(135) V_USER(131) = V(150) V_USER(132) = V(144) V_USER(133) = V(210) V_USER(134) = V(331) V_USER(135) = V(170) V_USER(136) = V(44) V_USER(137) = V(55) V_USER(138) = V(42) V_USER(139) = V(77) V_USER(140) = V(215) V_USER(141) = V(243) V_USER(142) = V(104) V_USER(143) = V(301) V_USER(144) = V(182) V_USER(145) = V(258) V_USER(146) = V(119) V_USER(147) = V(147) V_USER(148) = V(174) V_USER(149) = V(293) V_USER(150) = V(206) V_USER(151) = V(207) V_USER(152) = V(198) V_USER(153) = V(299) V_USER(154) = V(180) V_USER(155) = V(151) V_USER(156) = V(286) V_USER(157) = V(152) V_USER(158) = V(285) V_USER(159) = V(128) V_USER(160) = V(268) V_USER(161) = V(175) V_USER(162) = V(168) V_USER(163) = V(267) V_USER(164) = V(305) V_USER(165) = V(304) V_USER(166) = V(271) V_USER(167) = V(226) V_USER(168) = V(223) V_USER(169) = V(224) V_USER(170) = V(232) V_USER(171) = V(145) V_USER(172) = V(8) V_USER(173) = V(62) V_USER(174) = V(310) V_USER(175) = V(311) V_USER(176) = V(222) V_USER(177) = V(186) V_USER(178) = V(284) V_USER(179) = V(103) V_USER(180) = V(252) V_USER(181) = V(332) V_USER(182) = V(91) V_USER(183) = V(9) V_USER(184) = V(10) V_USER(185) = V(276) V_USER(186) = V(205) V_USER(187) = V(190) V_USER(188) = V(266) V_USER(189) = V(303) V_USER(190) = V(320) V_USER(191) = V(11) V_USER(192) = V(12) V_USER(193) = V(167) V_USER(194) = V(281) V_USER(195) = V(111) V_USER(196) = V(137) V_USER(197) = V(225) V_USER(198) = V(56) V_USER(199) = V(66) V_USER(200) = V(74) V_USER(201) = V(160) V_USER(202) = V(176) V_USER(203) = V(129) V_USER(204) = V(138) V_USER(205) = V(112) V_USER(206) = V(161) V_USER(207) = V(162) V_USER(208) = V(255) V_USER(209) = V(211) V_USER(210) = V(237) V_USER(211) = V(163) V_USER(212) = V(177) V_USER(213) = V(57) V_USER(214) = V(130) V_USER(215) = V(169) V_USER(216) = V(262) V_USER(217) = V(193) V_USER(218) = V(277) V_USER(219) = V(257) V_USER(220) = V(278) V_USER(221) = V(275) V_USER(222) = V(273) V_USER(223) = V(272) V_USER(224) = V(274) V_USER(225) = V(14) V_USER(226) = V(15) V_USER(227) = V(16) V_USER(228) = V(17) V_USER(229) = V(20) V_USER(230) = V(21) V_USER(231) = V(24) V_USER(232) = V(23) V_USER(233) = V(25) V_USER(234) = V(26) V_USER(235) = V(309) V_USER(236) = V(259) V_USER(237) = V(159) V_USER(238) = V(308) V_USER(239) = V(92) V_USER(240) = V(324) V_USER(241) = V(153) V_USER(242) = V(194) V_USER(243) = V(248) V_USER(244) = V(216) V_USER(245) = V(287) V_USER(246) = V(253) V_USER(247) = V(202) V_USER(248) = V(246) V_USER(249) = V(292) V_USER(250) = V(113) V_USER(251) = V(93) V_USER(252) = V(294) V_USER(253) = V(328) V_USER(254) = V(282) V_USER(255) = V(45) V_USER(256) = V(256) V_USER(257) = V(242) V_USER(258) = V(164) V_USER(259) = V(184) V_USER(260) = V(80) V_USER(261) = V(28) V_USER(262) = V(191) V_USER(263) = V(219) V_USER(264) = V(314) V_USER(265) = V(131) V_USER(266) = V(208) V_USER(267) = V(227) V_USER(268) = V(288) V_USER(269) = V(302) V_USER(270) = V(254) V_USER(271) = V(185) V_USER(272) = V(67) V_USER(273) = V(63) V_USER(274) = V(214) V_USER(275) = V(19) V_USER(276) = V(64) V_USER(277) = V(65) V_USER(278) = V(346) V_USER(279) = V(335) V_USER(280) = V(351) V_USER(281) = V(269) V_USER(282) = V(95) V_USER(283) = V(18) V_USER(284) = V(343) V_USER(285) = V(334) V_USER(286) = V(341) V_USER(289) = V(120) V_USER(290) = V(68) V_USER(291) = V(345) V_USER(292) = V(96) V_USER(293) = V(289) V_USER(294) = V(280) V_USER(295) = V(315) V_USER(296) = V(139) V_USER(297) = V(114) V_USER(298) = V(195) V_USER(299) = V(291) V_USER(300) = V(229) V_USER(301) = V(260) V_USER(302) = V(123) V_USER(303) = V(124) V_USER(304) = V(250) V_USER(305) = V(247) V_USER(306) = V(290) V_USER(307) = V(125) V_USER(308) = V(115) V_USER(309) = V(318) V_USER(310) = V(251) V_USER(311) = V(319) V_USER(312) = V(97) V_USER(313) = V(178) V_USER(314) = V(165) V_USER(315) = V(98) V_USER(316) = V(196) V_USER(317) = V(99) V_USER(318) = V(100) V_USER(319) = V(298) V_USER(320) = V(322) V_USER(321) = V(173) V_USER(322) = V(187) V_USER(323) = V(192) V_USER(324) = V(209) V_USER(325) = V(199) V_USER(326) = V(116) V_USER(327) = V(188) V_USER(328) = V(155) V_USER(329) = V(179) V_USER(330) = V(166) V_USER(331) = V(353) V_USER(332) = V(344) V_USER(337) = V(348) V_USER(338) = V(134) V_USER(339) = V(29) V_USER(340) = V(30) V_USER(341) = V(31) V_USER(342) = V(220) V_USER(343) = V(58) V_USER(344) = V(121) V_USER(345) = V(200) V_USER(346) = V(82) V_USER(347) = V(22) V_USER(348) = V(101) V_USER(349) = V(27) V_USER(350) = V(32) V_USER(351) = V(33) V_USER(352) = V(189) END SUBROUTINE Shuffle_kpp2user ! End of Shuffle_kpp2user function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! GetMass - compute total mass of selected atoms ! Arguments : ! CL - Concentration of all species (local) ! Mass - value of mass balance ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE GetMass ( CL, Mass ) ! CL - Concentration of all species (local) REAL(kind=dp) :: CL(NSPEC) ! Mass - value of mass balance REAL(kind=dp) :: Mass(1) END SUBROUTINE GetMass ! End of GetMass function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Get_OHreactivity - returns the OH reactivity ! The OH reactivity is defined as the inverse of its lifetime. ! This routine was auto-generated using script OHreact_parser.py. ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE Get_OHreactivity ( CC, RR, OHreact ) ! CC - Concentrations of species (local) REAL(kind=dp) :: CC(NSPEC) ! RR - reaction rates (local) REAL(kind=dp) :: RR(NREACT) ! OHreact - OH reactivity [s-1] REAL(kind=dp) :: OHreact OHreact = RR(12)*CC(89) + RR(14)*CC(341) + 2*RR(18) + 2*RR(19) + RR(20)*CC(337) & + RR(21)*CC(264) + RR(24)*CC(329) + RR(25)*CC(228) + RR(31)*CC(328) + RR(32)*CC(164) & + RR(33)*CC(244) + RR(34)*CC(325) + RR(35)*CC(335) + RR(36)*CC(327) + RR(37)*CC(346) & + RR(38)*CC(239) + RR(41)*CC(108) + RR(44)*CC(351) + RR(47)*CC(265) + RR(48)*CC(282) & + RR(51)*CC(326) + RR(55)*CC(139) + RR(57)*CC(183) + RR(61)*CC(141) + RR(62)*CC(141) & + RR(66)*CC(69) + RR(71)*CC(98) + RR(72)*CC(196) + RR(75)*CC(140) + RR(80)*CC(127) & + RR(81)*CC(233) + RR(88)*CC(126) + RR(89)*CC(142) + RR(102)*CC(251) + RR(103)*CC(279) & + RR(104)*CC(283) + RR(105)*CC(298) + RR(108)*CC(124) + RR(111)*CC(295) + RR(122)*CC(292) & + RR(126)*CC(113) + RR(140)*CC(156) + RR(141)*CC(188) + RR(149)*CC(290) + RR(151)*CC(306) & + RR(152)*CC(306) + RR(153)*CC(306) + RR(160)*CC(114) + RR(161)*CC(72) + RR(163)*CC(270) & + RR(164)*CC(294) + RR(167)*CC(307) + RR(168)*CC(307) + RR(169)*CC(125) + RR(170)*CC(118) & + RR(171)*CC(99) + RR(172)*CC(100) + RR(173)*CC(97) + RR(174)*CC(102) + RR(175)*CC(155) & + RR(176)*CC(123) + RR(177)*CC(24) + RR(178)*CC(92) + RR(199)*CC(94) + RR(200)*CC(94) & + RR(202)*CC(348) + RR(206)*CC(352) + RR(211)*CC(148) + RR(214)*CC(347) + RR(223)*CC(81) & + RR(224)*CC(78) + RR(225)*CC(105) + RR(234)*CC(354) + RR(235)*CC(343) + RR(239)*CC(68) & + RR(273)*CC(245) + RR(275)*CC(338) + RR(276)*CC(338) + RR(277)*CC(120) + RR(278)*CC(76) & + RR(279)*CC(339) + RR(280)*CC(333) + RR(281)*CC(297) + RR(282)*CC(317) + RR(283)*CC(181) & + RR(284)*CC(79) + RR(285)*CC(75) + RR(286)*CC(43) + RR(287)*CC(87) + RR(288)*CC(85) & + RR(289)*CC(86) + RR(290)*CC(84) + RR(352)*CC(170) + RR(353)*CC(73) + RR(354)*CC(330) & + RR(359)*CC(52) + RR(360)*CC(261) + RR(361)*CC(247) + RR(378)*CC(167) + RR(380)*CC(219) & + RR(382)*CC(191) + RR(387)*CC(111) + RR(388)*CC(137) + RR(390)*CC(225) + RR(396)*CC(74) & + RR(397)*CC(66) + RR(402)*CC(160) + RR(403)*CC(176) + RR(407)*CC(138) + RR(408)*CC(112) & + RR(409)*CC(129) + RR(415)*CC(161) + RR(416)*CC(162) + RR(420)*CC(255) + RR(423)*CC(237) & + RR(426)*CC(211) + RR(433)*CC(163) + RR(435)*CC(177) + RR(441)*CC(169) + RR(442)*CC(130) & + RR(447)*CC(229) + RR(450)*CC(193) + RR(453)*CC(262) + RR(481)*CC(256) + RR(482)*CC(242) & + RR(488)*CC(154) + RR(489)*CC(93) + RR(490)*CC(83) + RR(491)*CC(91) + RR(492)*CC(95) & + RR(494)*CC(276) + RR(495)*CC(276) + RR(496)*CC(276) + RR(497)*CC(276) + RR(524)*CC(230) & + RR(525)*CC(231) + RR(526)*CC(150) + RR(527)*CC(144) + RR(528)*CC(238) + RR(529)*CC(215) & + RR(530)*CC(119) + RR(531)*CC(187) + RR(532)*CC(187) + RR(533)*CC(192) + RR(534)*CC(192) & + RR(535)*CC(187) + RR(536)*CC(192) + RR(537)*CC(209) + RR(538)*CC(199) + RR(551)*CC(128) & + RR(552)*CC(151) + RR(553)*CC(151) + RR(554)*CC(152) + RR(555)*CC(152) + RR(574)*CC(175) & + RR(575)*CC(175) + RR(576)*CC(168) + RR(577)*CC(168) + RR(578)*CC(268) + RR(579)*CC(268) & + RR(580)*CC(267) + RR(581)*CC(267) + RR(582)*CC(268) + RR(583)*CC(267) + RR(621)*CC(222) & + RR(622)*CC(186) + RR(623)*CC(222) + RR(624)*CC(186) + RR(625)*CC(186) + RR(626)*CC(222) & + RR(627)*CC(186) + RR(628)*CC(186) + RR(637)*CC(301) + RR(638)*CC(301) + RR(641)*CC(299) & + RR(644)*CC(314) + RR(646)*CC(309) + RR(647)*CC(309) + RR(650)*CC(302) + RR(651)*CC(288) & + RR(652)*CC(287) + RR(653)*CC(248) + RR(654)*CC(216) + RR(661)*CC(194) + RR(662)*CC(185) & + RR(663)*CC(131) + RR(664)*CC(227) + RR(665)*CC(208) + RR(666)*CC(153) + RR(672)*CC(159) & + RR(684)*CC(184) + RR(685)*CC(107) + RR(686)*CC(258) + RR(687)*CC(147) + RR(688)*CC(174) & + RR(689)*CC(198) + RR(690)*CC(266) + RR(691)*CC(303) + RR(693)*CC(115) + RR(694)*CC(88) & + RR(696)*CC(210) + RR(697)*CC(210) + RR(698)*CC(19) + RR(701)*CC(173) + RR(702)*CC(220) & + RR(705)*CC(149) + RR(707)*CC(200) + RR(711)*CC(116) + RR(713)*CC(109) + RR(714)*CC(60) & + RR(721)*CC(70) + RR(722)*CC(136) + RR(723)*CC(136) + RR(724)*CC(143) + RR(725)*CC(82) & + RR(726)*CC(101) + RR(732)*CC(58) + RR(735)*CC(146) + RR(740)*CC(122) + RR(741)*CC(195) & + RR(743)*CC(158) + RR(745)*CC(202) + RR(748)*CC(204) + RR(753)*CC(71) + RR(755)*CC(90) & + RR(760)*CC(117) + RR(763)*CC(269) + RR(767)*CC(221) + RR(770)*CC(201) + RR(780)*CC(41) & + RR(791)*CC(353) + RR(792)*CC(344) END SUBROUTINE Get_OHreactivity ! End of Get_OHreactivity subroutine ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ END MODULE gckpp_Util ================================================ FILE: KPP/fullchem/rateLawUtilFuncs.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: rateLawUtilFuncs ! ! !DESCRIPTION: Provides common functions for computing reaction rates. !\\ !\\ ! !INTERFACE: ! MODULE rateLawUtilFuncs ! ! !USES: ! USE gckpp_Global USE gckpp_Precision IMPLICIT NONE PUBLIC ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: coth ! ! !DEFINED PARAMETERS: ! ! Minimum heterogeneous chemistry lifetime and reaction rate REAL(dp), PRIVATE, PARAMETER :: HET_MIN_LIFE = 1.e-3_dp REAL(dp), PRIVATE, PARAMETER :: HET_MIN_RATE = 1.0_dp / HET_MIN_LIFE !EOP !----------------------------------------------------------------------------- !BOC CONTAINS !######################################################################### !##### ARRHENIUS FUNCTIONS ##### !######################################################################### FUNCTION GCARR_ab( a0, b0 ) RESULT( k ) ! Arrhenius function, skipping computation of EXP( c0/T ), ! which evaluates to 1 when c0=0. This avoids excess CPU ! cycles. (bmy, 12/18/20) ! REAL(dp), INTENT(IN) :: a0, b0 REAL(dp) :: k ! k = a0 * K300_OVER_TEMP**b0 END FUNCTION GCARR_ab FUNCTION GCARR_ac( a0, c0 ) RESULT( k ) ! Arrhenius function, skipping computation of ( 300/T )**b0, ! which evaluates to 1 when b0=0. This avoids excess CPU ! cycles (bmy, 12/18/20) ! REAL(dp), INTENT(IN) :: a0, c0 REAL(dp) :: k ! k = a0 * EXP( c0 / TEMP ) END FUNCTION GCARR_ac FUNCTION GCARR_abc( a0, b0, c0 ) RESULT( k ) ! Arrhenius function, using all 3 terms. ! Use this when a0, b0, c0 are all nonzero. ! REAL(dp), INTENT(IN) :: a0, b0, c0 REAL(dp) :: k ! k = a0 * EXP( c0 / TEMP ) * K300_OVER_TEMP**b0 END FUNCTION GCARR_abc !######################################################################### !##### COMMON FUNCTIONS FOR COMPUTING UPTAKE RATES ##### !######################################################################### FUNCTION Ars_L1k( area, radius, gamma, srMw ) RESULT( k ) ! ! Calculates the 1st-order loss rate of species on wet aerosol surface. ! REAL(dp), INTENT(IN) :: area, radius, gamma, srMw REAL(dp) :: k, dfkg ! ! If gamma or radius is very small, set rate to zero and return IF ( gamma < 1.0e-30_dp .or. radius < 1.0e-30_dp ) THEN k = 0.0_dp RETURN ENDIF ! ! DFKG = Gas phase diffusion coeff [cm2/s] (order of 0.1) dfkg = ( 9.45E+17_dp / NUMDEN ) * SR_TEMP * & SQRT( 3.472E-2_dp + 1.0_dp / ( srMw * srMw ) ) ! ! Compute ArsL1k according to the formula listed above k = area / ( (radius / dfkg) + 2.749064E-4_dp * srMw / (gamma * SR_TEMP) ) END FUNCTION Ars_L1k FUNCTION kIIR1Ltd( concGas, concEduct, kISource ) RESULT( kII ) ! ! Determine removal rates for both species in an uptake reaction. ! - Assume that the 1st reactant (concGas) is limiting. ! - Assume that the 2nd reactant (concEduct) is "abundant". ! - Calculate the overall rate (kII) based only on the uptake ! rate of the first reactant. ! NOTE: Rewritten for computational efficiency (bmy, 5/13/21) ! REAL(dp), INTENT(IN) :: concGas, concEduct, kISource REAL(dp) :: kIGas, kIEduct, lifeA, lifeB, kII ! kIGas = 0.0_dp kIEduct = 0.0_dp kII = 0.0_dp ! ! Prevent div by zero. Now use 1.0 as the error trap for concEduct. ! 100 and 1e-8 (the previous criteria) were too large and too small, ! respectively. See https://github.com/geoschem/geos-chem/issues/1115. ! -- Seb Eastham, Bob Yantosca (09 Feb 2022) IF ( concEduct < 1.0_dp ) RETURN IF ( .not. Is_SafeDiv( concGas*kISource, concEduct ) ) RETURN ! ! Compute rates kIGas = kISource kIEduct = kIGas * concGas / concEduct kII = kIGas / concEduct ! ! Enforce a minimum lifetime? IF ( kIGas > 0.0_dp ) THEN ! ! Calculate lifetime of each reactant against removal lifeA = SafeDiv( 1.0_dp, kIGas, 0.0_dp ) lifeB = SafeDiv( 1.0_dp, kIEduct, 0.0_dp ) ! ! Check if either lifetime is "too short" IF ( ( lifeA < lifeB ) .and. ( lifeA < HET_MIN_LIFE ) ) THEN kII = SafeDiv( HET_MIN_RATE, concEduct, 0.0_dp ) ELSE IF ( lifeB < HET_MIN_LIFE ) THEN kII = SafeDiv( HET_MIN_RATE, concGas, 0.0_dp ) ENDIF ENDIF END FUNCTION kIIR1Ltd FUNCTION CloudHet( H, srMw, gamLiq, gamIce, brLiq, brIce ) RESULT( kHet ) ! ! Function CloudHet calculates the loss frequency (1/s) of gas species ! due to heterogeneous chemistry on clouds in a partially cloudy grid ! cell. The function uses the "entrainment limited uptake" equations of ! Holmes et al. (2019). Both liquid and ice water clouds are treated. ! ! For gasses that are that are consumed in multiple aqueous reactions ! with different products, CloudHet can provide the loss frequency for ! each reaction branch using the branch ratios (branchLiq, branchIce). ! ! Reference: ! Holmes, C.D., Bertram, T. H., Confer, K. L., Ronan, A. C., Wirks, ! C. K., Graham, K. A., Shah, V. (2019) The role of clouds in the ! tropospheric NOx cycle: a new modeling approach for cloud chemistry ! and its global implications, Geophys. Res. Lett. 46, 4980-4990, ! https://doi.org/10.1029/2019GL081990 ! TYPE(HetState), INTENT(IN) :: H ! Hetchem State object REAL(dp), INTENT(IN) :: srMw ! SQRT( mol wt [g/mole] ) REAL(dp), INTENT(IN) :: gamLiq ! Rxn prob, liquid [1] REAL(dp), INTENT(IN) :: gamIce ! Rxn prob, ice [1] REAL(dp), INTENT(IN) :: brLiq ! Frac of reactant consumed REAL(dp), INTENT(IN) :: brIce ! in liq & ice branches [0-1] REAL(dp) :: kHet ! Grid-avg loss frequency [1/s] ! REAL(dp), PARAMETER :: tauc = 3600.0_dp REAL(dp) :: kI, gam, rd, area REAL(dp) :: kk, ff, xx, branch, kIb, ktmp LOGICAL :: isCloud ! If cloud fraction < 0.0001 (0.01%) or there is zero cloud surface ! area, then return zero uptake IF ( ( H%CldFr < 0.0001_dp ) .or. ( H%aLiq + H%aIce <= 0.0_dp ) ) THEN kHet = 0.0_dp RETURN ENDIF !----------------------------------------------------------------------- ! Loss frequency inside cloud ! ! Assume both water and ice phases are inside the same cloud, so mass ! transport to both phases works in parallel (additive) !----------------------------------------------------------------------- ! initialize kI = 0.0_dp kIb = 0.0_dp ktmp = 0.0_dp kHet = 0.0_dp !----------------------------------------------------------------------- ! Liquid branch (skip if the liquid branching ratio is zero) !----------------------------------------------------------------------- IF ( brLiq > 0.0_dp ) THEN ! Convert grid-average cloud condensate surface area density ! to in-cloud surface area density area = SafeDiv( H%aLiq, H%CldFr, 0.0_dp ) ! Skip if no area IF ( area > 0.0_dp ) THEN ! In-cloud loss frequency [1/s] ktmp = Ars_L1K( area, H%rLiq, gamLiq, srMw ) kI = kI + ktmp ! In-cloud loss frequency for liquid rxn branch [1/s] kIb = kIb + ( ktmp * brLiq ) ENDIF ENDIF !------------------------------------------------------------------ ! Ice branch (skip if the ice branching ratio is zero) !------------------------------------------------------------------ IF ( brIce > 0.0_dp ) THEN ! Convert grid-average cloud condensate surface area density ! to in-cloud surface area density area = SafeDiv( H%aIce, H%CldFr, 0.0_dp ) ! Skip if no area IF ( area > 0.0_dp ) THEN ! In-cloud loss frequency [1/s] ktmp = Ars_L1K( area, H%rIce, gamIce, srMw ) kI = kI + ktmp ! In-continue loud loss frequency for ice rxn branch [1/s] kIb = kIb + ( ktmp * brIce ) ENDIF ENDIF !------------------------------------------------------------------ ! Mean branch ratio for reaction of interest in cloud ! (averaged over ice and liquid) ! ! If the division can't be done, set kHet = 0 and return !------------------------------------------------------------------ branch = SafeDiv( kiB, kI, 0.0_dp ) IF ( .not. branch > 0.0_dp ) THEN kHet = 0.0_dp RETURN ENDIF !------------------------------------------------------------------------ ! Grid-average loss frequency ! ! EXACT expression for entrainment-limited uptake !------------------------------------------------------------------------ ! Ratio (in cloud) of heterogeneous loss to detrainment, s/s kk = kI * tauc ! Ratio of volume inside to outside cloud ! ff has a range [0,+inf], so cap it at 1e30 ff = SafeDiv( H%CldFr, H%ClearFr, 1.0e+30_dp ) ff = MIN( ff, 1.0e+30_dp ) ! Ratio of mass inside to outside cloud ! xx has range [0,+inf], but ff is capped at 1e30, so shouldn't overflow. xx = ( ff - kk - 1.0_dp ) / 2.0_dp + & SQRT( 1.0_dp + ff*ff + kk*kk + & 2.0_dp*ff + 2.0_dp*kk - 2.0_dp*ff*kk ) / 2.0_dp ! Do not let xx go negative, as this can cause numerical instability. ! See https://github.com/geoschem/geos-chem/issues/1205 xx = MAX( xx, 0.0_dp ) ! Overall heterogeneous loss rate, grid average, 1/s ! kHet = kI * xx / ( 1d0 + xx ) ! Since the expression ( xx / (1+xx) ) may behave badly when xx>>1, ! use the equivalent 1 / (1 + 1/x) with an upper bound on 1/x kHet = kI / ( 1.0_dp + SafeDiv( 1.0_dp, xx, 1.0e+30_dp ) ) ! Overall loss rate in a particular reaction branch, 1/s kHet = kHet * branch END FUNCTION CloudHet SUBROUTINE Cld_Params( AD, CLDF, FRLAND, FROCEAN, QI, QL, T, H ) ! ! Returns ice and liquid cloud parameters (based on State_Met) ! for cloud particles. ! ! References: ! Heymsfield, A. J., Winker, D., Avery, M., et al. (2014). Relationships ! between ice water content and volume extinction coefficient from in ! situ observations for temperatures from 0° to –86°C: implications ! for spaceborne lidar retrievals. Journal of Applied Meteorology and ! Climatology, 53(2), 479–505. https://doi.org/10.1175/JAMC-D-13-087.1 ! ! Schmitt, C. G., & Heymsfield, A. J. (2005). Total Surface Area Estimates ! for Individual Ice Particles and Particle Populations. Journal of ! Applied Meteorology, 44(4), 467–474. https://doi.org/10.1175/JAM2209.1 ! REAL(dp), INTENT(IN) :: AD ! Air mass [kg] REAL(dp), INTENT(IN) :: CLDF ! Cloud fraction [1] REAL(dp), INTENT(IN) :: FRLAND ! Land fraction [1] REAL(dp), INTENT(IN) :: FROCEAN ! Ocean fraction [1] REAL(dp), INTENT(IN) :: QI ! Ice mixing ratio [kg/kg] REAL(dp), INTENT(IN) :: QL ! Liquid mixing ratio [kg/kg] REAL(dp), INTENT(IN) :: T ! Temperature [K] ! ! !OUTPUT PARAMETERS: ! TYPE(HetState), INTENT(INOUT) :: H ! Hetchem State object ! ! !REMARKS: !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! ! Cloud droplet radius in continental warm clouds [cm] REAL(dp), PARAMETER :: CLDR_CONT = 6.0e-4_dp ! Cloud droplet radius in marine warm clouds [cm] REAL(dp), PARAMETER :: CLDR_MARI = 10.0e-4_dp ! Ice cloud droplet radius [cm] REAL(dp), PARAMETER :: CLDR_ICE = 38.5e-4_dp ! Density of H2O liquid [kg/cm3] REAL(dp), PARAMETER :: DENS_LIQ = 0.001_dp ! Density of H2O ice [kg/cm3] REAL(dp), PARAMETER :: DENS_ICE = 0.91e-3_dp ! ! !LOCAL VARIABLES: ! REAL(dp) :: alpha, beta !======================================================================= ! CLD_PARAMS begins here! !======================================================================= ! Exit if there is no cloud IF ( ( QL + QI <= 0.0_dp ) .or. ( CLDF <= 0.0_dp ) ) THEN H%rLiq = CLDR_CONT H%rIce = CLDR_ICE H%ALiq = 0.0_dp H%VLiq = 0.0_dp H%AIce = 0.0_dp H%VIce = 0.0_dp RETURN ENDIF !----------------------------------------------------------------------- ! In GC 12.0 and earlier, the liquid water volume was set to zero at ! temperatures colder than 258K and over land ice (Antarctica & ! Greenland). That was likely legacy code from GEOS-4, which provided ! no information on cloud phase. As of GC 12.0, all met data sources ! provide explicit liquid and ice condensate amounts, so we use those ! as provided. (C.D. Holmes) ! ! Liquid water clouds ! ! Droplets are spheres, so ! Surface area = 3 * Volume / Radius ! ! Surface area density = Surface area / Grid volume !----------------------------------------------------------------------- IF ( FRLAND > FROCEAN ) THEN H%rLiq = CLDR_CONT ! Continental cloud droplet radius [cm] ELSE H%rLiq = CLDR_MARI ! Marine cloud droplet radius [cm] ENDIF ! get the volume of cloud condensate [cm3(condensate)/cm3(air)] ! QL is [g/g] H%VLiq = QL * AD / DENS_LIQ / H%vAir H%VIce = QI * AD / DENS_ICE / H%vAir H%ALiq = 3.0_dp * H%vLiq / H%rLiq !----------------------------------------------------------------------- ! Ice water clouds ! ! Surface area calculation requires information about ice crystal size ! and shape, which is a function of temperature. Use Heymsfield (2014) ! empirical relationships between temperature, effective radius, ! surface area and ice water content. ! ! Schmitt and Heymsfield (2005) found that ice surface area is about ! 9 times its cross-sectional area. ! ! For any shape, ! Cross section area = pi * (Effective Radius)^2, so ! Cross section area = 3 * Volume / ( 4 * Effective Radius ). ! ! Thus, for ice ! Surface area = 9 * Cross section area ! = 2.25 * 3 * Volume / Effective Radius ! (C.D. Holmes) !----------------------------------------------------------------------- ! Heymsfield (2014) ice size parameters IF ( T < 202.0_dp ) THEN ! -71 C alpha = 83.3_dp beta = 0.0184_dp ELSE IF ( T < 217.0_dp ) THEN ! -56 C alpha = 9.1744e+4_dp beta = 0.117_dp ELSE alpha = 308.4_dp beta = 0.0152_dp ENDIF ! Effective radius, cm H%rIce = 0.5_dp * alpha * EXP( beta * ( T - 273.15_dp ) ) / 1e+4_dp ! Ice surface area density, cm2/cm3 H%aIce = 3.0_dp * H%vIce / H%rIce * 2.25_dp END SUBROUTINE Cld_Params !######################################################################### !##### COMMON FUNCTIONS FOR COMPUTING UPTAKE RATES ##### !######################################################################### FUNCTION coth( x ) RESULT( f_x ) ! ! Hyperbolic cotangent = [1 + exp(-2x)] / [1 - exp(-2x)] ! REAL(dp), INTENT(IN) :: x REAL(dp) :: y, f_x ! y = EXP( -2.0_dp * x ) f_x = ( 1.0_dp + y ) / ( 1.0_dp - y ) END FUNCTION coth FUNCTION ReactoDiff_Corr( radius, l ) RESULT( corr ) ! ! For x = radius / l, correction = COTH( x ) - ( 1/x ) ! Correction approaches 1 as x becomes large, corr(x>1000)~1 ! Correction approaches x/3 as x goes towards 0 ! REAL(dp), INTENT(IN) :: l, radius ! [cm] and [cm] REAL(dp) :: x, corr ! x = radius / l IF ( x > 1000.0_dp ) THEN corr = 1.0_dp RETURN ENDIF IF ( x < 0.1_dp ) THEN corr = x / 3.0_dp; RETURN ENDIF corr = coth(x) - ( 1.0_dp / x ) END FUNCTION ReactoDiff_Corr !######################################################################### !##### COMMON FUNCTIONS FOR ENFORCING SAFE NUMERICAL OPERATIONS ##### !######################################################################### FUNCTION SafeDiv( num, denom, alt ) RESULT( quot ) ! ! Performs "safe division", that is to prevent overflow, underlow, ! NaN, or infinity errors. An alternate value is returned if the ! division cannot be performed. REAL(dp), INTENT(IN) :: num, denom, alt REAL(dp) :: ediff, quot ! ! Exponent difference (base 2) ! For REAL*8, max exponent = 1024 and min = -1021 ediff = EXPONENT( num ) - EXPONENT( denom ) ! IF ( ediff > 1023 .OR. denom == 0.0_dp ) THEN quot = alt ELSE IF ( ediff < -1020 ) THEN quot = 0.0_dp ELSE quot = num / denom ENDIF END FUNCTION SafeDiv FUNCTION Is_SafeDiv( num, denom ) RESULT( safe ) ! ! Returns TRUE if a division can be performed safely. REAL(dp), INTENT(IN) :: num, denom LOGICAL :: safe REAL(dp) :: ediff ! ! Exponent difference (base 2) ! For REAL*8, max exponent = 1024 and min = -1021 safe = .TRUE. ediff = EXPONENT( num ) - EXPONENT( denom ) ! IF ( ediff < -1020 .or. ediff > 1023 .or. denom == 0.0_dp ) THEN safe = .FALSE. ENDIF END FUNCTION Is_SafeDiv FUNCTION IsSafeExp( x ) RESULT( safe ) ! ! Returns TRUE if an exponential can be performed safely ! REAL(dp), INTENT(IN) :: x LOGICAL :: safe ! ! Note EXP( 708 ) = 8.2e+307 and EXP( -708 ) = 3.3e-308, which are ! very close to the maximum representable values at double precision. safe = ( ABS( x ) < 709.0_dp ) END FUNCTION IsSafeExp FUNCTION SafeExp( x, alt ) RESULT( y ) ! ! Performs a "safe exponential", that is to prevent overflow, underflow, ! underlow, NaN, or infinity errors when taking the value EXP( x ). An ! alternate value is returned if the exponential cannot be performed. ! REAL(dp), INTENT(IN) :: x, alt REAL(dp) :: y ! y = alt IF ( ABS( X ) < 709.0_dp ) y = EXP( x ) END FUNCTION SafeExp !EOC END MODULE rateLawUtilFuncs ================================================ FILE: KPP/stubs/stub_Hg_HetStateFuncs.F90 ================================================ MODULE Hg_HetStateFuncs ! ! Stub module to avoid compilation errors ! IMPLICIT NONE PRIVATE ! PUBLIC :: Hg_SetStateHet ! CONTAINS ! SUBROUTINE Hg_SetStateHet( I, J, L, & Input_Opt, State_Chm, State_Met, & fracOrgAer, H, RC ) ! ! Stub routine to avoid compilation errors ! USE GcKpp_Global, ONLY : HetState USE GcKpp_Precision USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Met_Mod, ONLY : MetState ! INTEGER, INTENT(IN) :: I INTEGER, INTENT(IN) :: J INTEGER, INTENT(IN) :: L TYPE(OptInput), INTENT(IN) :: Input_Opt TYPE(ChmState), INTENT(IN) :: State_Chm TYPE(MetState), INTENT(IN) :: State_Met REAL(sp), INTENT(IN) :: fracOrgAer TYPE(HetState), INTENT(INOUT) :: H INTEGER, INTENT(OUT) :: RC ! RC = 0 END SUBROUTINE Hg_SetStateHet ! END MODULE Hg_HetStateFuncs ================================================ FILE: KPP/stubs/stub_aciduptake_DustChemFuncs.F90 ================================================ MODULE aciduptake_DustChemFuncs ! ! Stub routine for GeosCore/fullchem_mod.F90 ! IMPLICIT NONE PRIVATE ! PUBLIC :: aciduptake_InitDustChem ! CONTAINS ! SUBROUTINE aciduptake_InitDustChem( RC ) ! ! Stub routine for GeosCore/fullchem_mod.F90, ! INTEGER, INTENT(INOUT) :: RC ! Success or failure ! RC = 0 END SUBROUTINE aciduptake_InitDustChem ! END MODULE aciduptake_DustChemFuncs ================================================ FILE: KPP/stubs/stub_carbon_Funcs.F90 ================================================ MODULE carbon_Funcs ! Stub module for KPP/carbon/carbon_Funcs.F90 needed to satisfy ! compile-time dependencies for non-carbon chemistry mechanisms. USE gckpp_Precision USE gckpp_Parameters USE gckpp_Global USE Precision_Mod, ONLY : fp USE rateLawUtilFuncs CONTAINS !------------------------------------------------------------ SUBROUTINE carbon_ConvertKgToMolecCm3( I, J, L, State_Chm, State_Met ) USE State_Chm_Mod, ONLY : ChmState USE State_Met_Mod, ONLY : MetState INTEGER, INTENT(IN) :: I, J, L TYPE(MetState), INTENT(IN) :: State_Met TYPE(ChmState), INTENT(IN) :: State_Chm END SUBROUTINE carbon_ConvertKgToMolecCm3 !------------------------------------------------------------ SUBROUTINE carbon_ComputeRateConstants( & I, J, L, & ConcClMnd, ConcOHMnd, LCH4_in_Strat, & LCO_in_Strat, OHdiurnalFac, PCO_fr_CH4_use, & PCO_fr_CH4, PCO_fr_NMVOC_use, PCO_fr_NMVOC, & PCO_in_Strat, dtChem, State_Chm, & State_Met ) USE State_Chm_Mod, ONLY : ChmState USE State_Met_Mod, ONLY : MetState INTEGER, INTENT(IN) :: I, J, L REAL(fp), INTENT(IN) :: ConcClMnd REAL(fp), INTENT(IN) :: ConcOHmnd REAL(fp), INTENT(IN) :: LCH4_in_Strat REAL(fp), INTENT(IN) :: LCO_in_Strat REAL(fp), INTENT(IN) :: OHdiurnalFac LOGICAL, INTENT(IN) :: PCO_fr_CH4_use REAL(fp), INTENT(IN) :: PCO_fr_CH4 LOGICAL, INTENT(IN) :: PCO_fr_NMVOC_use REAL(fp), INTENT(IN) :: PCO_fr_NMVOC REAL(fp), INTENT(IN) :: PCO_in_Strat REAL(fp), INTENT(IN) :: dtChem TYPE(ChmState), INTENT(IN) :: State_Chm TYPE(MetState), INTENT(IN) :: State_Met END SUBROUTINE carbon_ComputeRateConstants !------------------------------------------------------------ SUBROUTINE carbon_ConvertMolecCm3ToKg( I, J, L, State_Chm, State_Met ) USE State_Chm_Mod, ONLY : ChmState USE State_Met_Mod, ONLY : MetState TYPE(MetState), INTENT(IN) :: State_Met TYPE(ChmState), INTENT(INOUT) :: State_Chm END SUBROUTINE carbon_ConvertMolecCm3ToKg !------------------------------------------------------------ SUBROUTINE carbon_InitCarbonKPPFuncs( kgmolec_CH4, kgmolec_CO, kgmolec_CO2, RC ) USE ErrCode_Mod USE State_Chm_Mod, ONLY : Ind_ REAL(fp), INTENT(IN) :: kgmolec_CH4 REAL(fp), INTENT(IN) :: kgmolec_CO REAL(fp), INTENT(IN) :: kgmolec_CO2 INTEGER, INTENT(OUT) :: RC END SUBROUTINE carbon_InitCarbonKPPFuncs !------------------------------------------------------------ SUBROUTINE carbon_CleanupCarbonKPPFuncs( RC ) USE ErrCode_Mod INTEGER, INTENT(OUT) :: RC END SUBROUTINE carbon_CleanupCarbonKPPFuncs !------------------------------------------------------------ FUNCTION carbon_Get_COfromCH4_Flux( dtChem ) RESULT ( flux ) REAL(dp), INTENT(IN) :: dtChem REAL(dp) :: flux END FUNCTION carbon_Get_COfromCH4_Flux !------------------------------------------------------------ FUNCTION carbon_Get_COfromNMVOC_Flux( dtChem ) RESULT ( flux ) REAL(dp), INTENT(IN) :: dtChem REAL(dp) :: flux END FUNCTION carbon_Get_COfromNMVOC_Flux END MODULE carbon_Funcs ================================================ FILE: KPP/stubs/stub_fullchem_AutoReduceFuncs.F90 ================================================ #ifdef KPP_INTEGRATOR_AUTOREDUCE !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: stub_fullchem_AutoReduceFuncs ! ! !DESCRIPTION: Stub routines corresponding to fullchem_AutoReduceFuncs.F90. ! This allows us to satisfy compilation requirements for fullchem_mod.F90 ! when building other KPP mechanisms (e.g. Hg, carbon, etc.) !\\ !\\ ! !INTERFACE: ! MODULE fullchem_AutoReduceFuncs ! ! !USES: ! IMPLICIT NONE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: fullchem_AR_KeepHalogensActive PUBLIC :: fullchem_AR_SetKeepActive PUBLIC :: fullchem_AR_UpdateKppDiags ! !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC SUBROUTINE fullchem_AR_KeepHalogensActive( doPrint ) ! ! Sets halogen species to "fast" for the rosenbrock_autoreduce integrator. ! LOGICAL, INTENT(IN) :: doPrint ! END SUBROUTINE fullchem_AR_KeepHalogensActive ! SUBROUTINE fullchem_AR_SetKeepActive( option ) ! ! Abstracts setting the rosenbrock_autoreduce keepActive flag ! out of fullchem_mod.F90 ! LOGICAL, INTENT(IN) :: option ! END SUBROUTINE fullchem_AR_SetKeepActive ! SUBROUTINE fullchem_AR_UpdateKppDiags( I, J, L, RSTATE, State_Diag ) ! ! Updates KPP diagnostics for the rosenbrock_autoreduce solver ! USE gckpp_Precision USE State_Diag_Mod, ONLY : DgnState ! INTEGER, INTENT(IN) :: I, J, L REAL(dp), INTENT(IN) :: RSTATE(20) TYPE(DgnState), INTENT(INOUT) :: State_Diag ! END SUBROUTINE fullchem_AR_UpdateKppDiags SUBROUTINE fullchem_AR_SetIntegratorOptions( Input_Opt, State_Chm, & State_Met, FirstChem, & I, J, L, & ICNTRL, RCNTRL ) ! USE gckpp_Parameters USE gckpp_Precision USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Met_Mod, ONLY : MetState ! TYPE(OptInput), INTENT(IN) :: Input_Opt TYPE(ChmState), INTENT(IN) :: State_Chm TYPE(MetState), INTENT(IN) :: State_Met LOGICAL, INTENT(IN) :: FirstChem INTEGER, INTENT(IN) :: I, J, L INTEGER, INTENT(INOUT) :: ICNTRL(20) REAL(dp), INTENT(INOUT) :: RCNTRL(20) END SUBROUTINE fullchem_AR_SetIntegratorOptions !EOC END MODULE fullchem_AutoReduceFuncs #endif ================================================ FILE: KPP/stubs/stub_fullchem_HetStateFuncs.F90 ================================================ MODULE fullchem_HetStateFuncs ! ! Contains stub routines to satisfy compilation requirements in ! fullchem_mod.F90 when building other KPP-based mechanisms. ! IMPLICIT NONE PRIVATE ! PUBLIC :: fullchem_SetStateHet ! CONTAINS ! SUBROUTINE fullChem_SetStateHet( I, J, L, & id_SALA, id_SALAAL, id_SALC, & id_SALCAL, Input_Opt, State_Chm, & State_Met, H, RC ) ! ! Stub routine to avoid compilation errors ! USE GcKpp_Global, ONLY : HetState USE GcKpp_Precision USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Met_Mod, ONLY : MetState ! INTEGER, INTENT(IN) :: I INTEGER, INTENT(IN) :: J INTEGER, INTENT(IN) :: L INTEGER, INTENT(IN) :: id_SALA INTEGER, INTENT(IN) :: id_SALAAL INTEGER, INTENT(IN) :: id_SALC INTEGER, INTENT(IN) :: id_SALCAL TYPE(OptInput), INTENT(IN) :: Input_Opt TYPE(ChmState), INTENT(IN) :: State_Chm TYPE(MetState), INTENT(IN) :: State_Met TYPE(HetState), INTENT(INOUT) :: H INTEGER, INTENT(OUT) :: RC ! RC = 0 END SUBROUTINE fullchem_SetStateHet ! END MODULE fullchem_HetStateFuncs ================================================ FILE: KPP/stubs/stub_fullchem_SulfurChemFuncs.F90 ================================================ MODULE fullchem_SulfurChemFuncs ! ! Stub module for GeosCore/fullchem_mod.F90 ! This allows us to satisfy compilation dependencies for the "fullchem" ! mechanism when compiling other mechanisms (e.g. Hg) ! IMPLICIT NONE PUBLIC ! CONTAINS ! SUBROUTINE fullchem_ConvertAlkToEquiv() ! ! Stub for GeosCore/fullchem_mod.F90:fullchem_ConvertAlkToEquiv ! END SUBROUTINE fullchem_ConvertAlkToEquiv ! SUBROUTINE fullchem_ConvertEquivToAlk() ! ! Stub for GeosCore/fullchem_mod.F90:fullchem_ConvertEquivToAlk ! END SUBROUTINE fullchem_ConvertEquivToAlk ! SUBROUTINE fullchem_HetDropChem( I, J, L, & Input_Opt, State_Met, State_Chm ) ! ! Stub for GeosCore/fullchem_mod.F90:fullchem_HetDropChem ! USE gckpp_Precision, ONLY : dp USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Met_Mod, ONLY : MetState ! INTEGER, INTENT(IN) :: I, J, L TYPE(OptInput), INTENT(IN) :: Input_Opt TYPE(MetState), INTENT(IN) :: State_Met TYPE(ChmState), INTENT(INOUT) :: State_Chm END SUBROUTINE fullchem_HetDropChem ! SUBROUTINE fullchem_InitSulfurChem( RC ) ! ! Stub for GeosCore/fullchem_mod.F90:fullchem_InitSulfurChem ! INTEGER, INTENT(OUT) :: RC ! RC = 0 END SUBROUTINE fullchem_InitSulfurChem ! SUBROUTINE fullchem_SulfurAqChem( I, J, L, & Input_Opt, State_Chm, State_Grid, & State_Met, RC ) ! ! Stub for GeosCore/fullchem_mod.F90:fullchem_SulfurAqChem ! USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Met_Mod, ONLY : MetState USE State_Grid_Mod, ONLY : GrdState ! INTEGER, INTENT(IN) :: I, J, L ! Lon, lat, level indices TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object INTEGER, INTENT(OUT) :: RC ! Success or failure ! RC = 0 END SUBROUTINE fullchem_SulfurAqChem ! SUBROUTINE fullchem_SulfurCldChem( I, J, L, & Input_Opt, State_Chm, State_Diag, & State_Grid, State_Met, size_res, & RC ) ! ! Stub for GeosCore/fullchem_mod.F90:fullchem_SulfurCldChem ! USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object INTEGER, INTENT(IN) :: I, J, L TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object LOGICAL, INTENT(OUT) :: size_res ! Should we call HetDropChem? INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! RC = 0 size_res = .FALSE. END SUBROUTINE fullchem_SulfurCldChem ! SUBROUTINE fullchem_UpdateHSO3mAndSO3mm( I, J, L, & State_Chm, State_Het, State_Met ) ! ! Stub for GeosCore/fullchem_mod.F90:fullchem_UpdateHSO3mAndSO3mm ! USE gckpp_Global, ONLY : HetState USE State_Chm_Mod, ONLY : ChmState USE State_Met_Mod, ONLY : MetState ! INTEGER, INTENT(IN) :: I, J, L TYPE(ChmState), INTENT(IN) :: State_Chm TYPE(HetState), INTENT(IN) :: State_Het TYPE(MetState), INTENT(IN) :: State_Met END SUBROUTINE fullchem_UpdateHSO3mAndSO3mm ! END MODULE fullchem_SulfurChemFuncs ================================================ FILE: LICENSE.txt ================================================ ############################################################################ ### License Agreement for GEOS-Chem, HEMCO, and Related Software ### ### (The MIT License, http://opensource.org/licenses/MIT) ### ############################################################################ Copyright (c) 2017-2023 Developers of GEOS-Chem, HEMCO, and Related Software Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. NOTE: Please see the AUTHORS.txt file (in this folder) for the list of Developers of GEOS-Chem, HEMCO and Related Software. This list will be updated frequently, such as at each major GEOS-Chem release. ############################################################################# ### License agreements for third-party code packages ### ### used by GEOS-Chem, HEMCO, and Related Software ### ############################################################################# Linked list code (used in v11-02 and later versions): ----------------------------------------------------------------------------- Copyright © 2005 Arjen Markus http://flibs.sourceforge.net/linked_list.html RRTM/RRTMG Copyright and Disclaimer: ----------------------------------------------------------------------------- Copyright © 2002-2010, Atmospheric and Environmental Research, Inc. (AER, Inc.). This software may be used, copied, or redistributed as long as it is not sold and this copyright notice is reproduced on each copy made. This model is provided as is without any express or implied warranties. http://rtweb.aer.com/rrtm_frame.html Fortran hash table code (used in 12.7.0 and later): https://github.com/pdebuyl/fortran_hash_table ----------------------------------------------------------------------------- Copyright (c) 2018, Pierre de Buyl Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Modular Earth Submodel System (MESSy) tools: ----------------------------------------------------------------------------- See https://messy-interface.org/licence/conditions/ QFYAML: Quick Fortran YAML ------------------------------------------------------------------------------ See GPLv3 License text under The KineticPreProcessor (KPP). FAST-J, FAST-JX, Cloud-J, and developments: ------------------------------------------------------------------------------ Fast-J code, including developments such as Cloud-J, is distributed under GNU General Public License version 3.0 (GPLv3). https://www.ess.uci.edu/researchgrp/prather/scholar_software See GPLv3 License text under the KPP section. The Kinetic PreProcessor (KPP) ------------------------------------------------------------------------------ KPP - symbolic chemistry Kinetics PreProcessor (http://www.cs.vt.edu/~asandu/Software/KPP) KPP is distributed under GPL, the general public licence (http://www.gnu.org/copyleft/gpl.html) (C) 1995-1997, V. Damian & A. Sandu, CGRER, Univ. Iowa (C) 1997-2005, A. Sandu, Michigan Tech, Virginia Tech with contributions from: R. Sander, Max-Planck Institute for Chemistry, Mainz, Germany GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . MAPL (used by GCHP and the interface to the NASA-GEOS model): ----------------------------------------------------------------------------- Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work To apply the Apache License to your work, attach the following boilerplate notice with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. NASA Docket No. GSC-15,354-1, and identified as "GEOS-5 GCM Modeling Software” “Copyright © 2008 United States Government as represented by the Administrator of the National Aeronautics and Space Administration. All Rights Reserved.” Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. NASA OPEN SOURCE SOFTWARE AGREEMENT NASA OPEN SOURCE AGREEMENT VERSION 1.3 THIS OPEN SOURCE AGREEMENT ("AGREEMENT") DEFINES THE RIGHTS OF USE, REPRODUCTION, DISTRIBUTION, MODIFICATION AND REDISTRIBUTION OF CERTAIN COMPUTER SOFTWARE ORIGINALLY RELEASED BY THE UNITED STATES GOVERNMENT AS REPRESENTED BY THE GOVERNMENT AGENCY LISTED BELOW ("GOVERNMENT AGENCY"). THE UNITED STATES GOVERNMENT, AS REPRESENTED BY GOVERNMENT AGENCY, IS AN INTENDED THIRD-PARTY BENEFICIARY OF ALL SUBSEQUENT DISTRIBUTIONS OR REDISTRIBUTIONS OF THE SUBJECT SOFTWARE. ANYONE WHO USES, REPRODUCES, DISTRIBUTES, MODIFIES OR REDISTRIBUTES THE SUBJECT SOFTWARE, AS DEFINED HEREIN, OR ANY PART THEREOF, IS, BY THAT ACTION, ACCEPTING IN FULL THE RESPONSIBILITIES AND OBLIGATIONS CONTAINED IN THIS AGREEMENT. Government Agency: National Aeronautics and Space Administration Government Agency Original Software Designation: GSC-15354-1 Government Agency Original Software Title: GEOS-5 GCM Modeling Software User Registration Requested. Please Visit http://opensource.gsfc.nasa.gov Government Agency Point of Contact for Original Software: Dale Hithon, SRA Assistant, (301) 286-2691 1. DEFINITIONS A. "Contributor" means Government Agency, as the developer of the Original Software, and any entity that makes a Modification. B. "Covered Patents" mean patent claims licensable by a Contributor that are necessarily infringed by the use or sale of its Modification alone or when combined with the Subject Software. C. "Display" means the showing of a copy of the Subject Software, either directly or by means of an image, or any other device. D. "Distribution" means conveyance or transfer of the Subject Software, regardless of means, to another. E. "Larger Work" means computer software that combines Subject Software, or portions thereof, with software separate from the Subject Software that is not governed by the terms of this Agreement. F. "Modification" means any alteration of, including addition to or deletion from, the substance or structure of either the Original Software or Subject Software, and includes derivative works, as that term is defined in the Copyright Statute, 17 USC 101. However, the act of including Subject Software as part of a Larger Work does not in and of itself constitute a Modification. G. "Original Software" means the computer software first released under this Agreement by Government Agency with Government Agency designation GSC-15354-1 and entitled GEOS-5 GCM Modeling Software, including source code, object code and accompanying documentation, if any. H. "Recipient" means anyone who acquires the Subject Software under this Agreement, including all Contributors. I. "Redistribution" means Distribution of the Subject Software after a Modification has been made. J. "Reproduction" means the making of a counterpart, image or copy of the Subject Software. K. "Sale" means the exchange of the Subject Software for money or equivalent value. L. "Subject Software" means the Original Software, Modifications, or any respective parts thereof. M. "Use" means the application or employment of the Subject Software for any purpose. 2. GRANT OF RIGHTS A. Under Non-Patent Rights: Subject to the terms and conditions of this Agreement, each Contributor, with respect to its own contribution to the Subject Software, hereby grants to each Recipient a non-exclusive, world-wide, royalty-free license to engage in the following activities pertaining to the Subject Software: 1. Use 2. Distribution 3. Reproduction 4. Modification 5. Redistribution 6. Display B. Under Patent Rights: Subject to the terms and conditions of this Agreement, each Contributor, with respect to its own contribution to the Subject Software, hereby grants to each Recipient under Covered Patents a non-exclusive, world-wide, royalty-free license to engage in the following activities pertaining to the Subject Software: 1. Use 2. Distribution 3. Reproduction 4. Sale 5. Offer for Sale C. The rights granted under Paragraph B. also apply to the combination of a Contributor's Modification and the Subject Software if, at the time the Modification is added by the Contributor, the addition of such Modification causes the combination to be covered by the Covered Patents. It does not apply to any other combinations that include a Modification. D. The rights granted in Paragraphs A. and B. allow the Recipient to sublicense those same rights. Such sublicense must be under the same terms and conditions of this Agreement. 3. OBLIGATIONS OF RECIPIENT A. Distribution or Redistribution of the Subject Software must be made under this Agreement except for additions covered under paragraph 3H. 1. Whenever a Recipient distributes or redistributes the Subject Software, a copy of this Agreement must be included with each copy of the Subject Software; and 2. If Recipient distributes or redistributes the Subject Software in any form other than source code, Recipient must also make the source code freely available, and must provide with each copy of the Subject Software information on how to obtain the source code in a reasonable manner on or through a medium customarily used for software exchange. B. Each Recipient must ensure that the following copyright notice appears prominently in the Subject Software: Copyright © 2003-2018 United States Government as represented by the Administrator of the National Aeronautics and Space Administration. All Rights Reserved. C. Each Contributor must characterize its alteration of the Subject Software as a Modification and must identify itself as the originator of its Modification in a manner that reasonably allows subsequent Recipients to identify the originator of the Modification. In fulfillment of these requirements, Contributor must include a file (e.g., a change log file) that describes the alterations made and the date of the alterations, identifies Contributor as originator of the alterations, and consents to characterization of the alterations as a Modification, for example, by including a statement that the Modification is derived, directly or indirectly, from Original Software provided by Government Agency. Once consent is granted, it may not thereafter be revoked. D. A Contributor may add its own copyright notice to the Subject Software. Once a copyright notice has been added to the Subject Software, a Recipient may not remove it without the express permission of the Contributor who added the notice. E. A Recipient may not make any representation in the Subject Software or in any promotional, advertising or other material that may be construed as an endorsement by Government Agency or by any prior Recipient of any product or service provided by Recipient, or that may seek to obtain commercial advantage by the fact of Government Agency's or a prior Recipient's participation in this Agreement. F. In an effort to track usage and maintain accurate records of the Subject Software, each Recipient, upon receipt of the Subject Software, is requested to register with Government Agency by visiting the following website: http://opensource.gsfc.nasa.gov. Recipient's name and personal information shall be used for statistical purposes only. Once a Recipient makes a Modification available, it is requested that the Recipient inform Government Agency at the web site provided above how to access the Modification. G. Each Contributor represents that its Modification is believed to be Contributor's original creation and does not violate any existing agreements, regulations, statutes or rules, and further that Contributor has sufficient rights to grant the rights conveyed by this Agreement. H. A Recipient may choose to offer, and to charge a fee for, warranty, support, indemnity and/or liability obligations to one or more other Recipients of the Subject Software. A Recipient may do so, however, only on its own behalf and not on behalf of Government Agency or any other Recipient. Such a Recipient must make it absolutely clear that any such warranty, support, indemnity and/or liability obligation is offered by that Recipient alone. Further, such Recipient agrees to indemnify Government Agency and every other Recipient for any liability incurred by them as a result of warranty, support, indemnity and/or liability offered by such Recipient. I. A Recipient may create a Larger Work by combining Subject Software with separate software not governed by the terms of this agreement and distribute the Larger Work as a single product. In such case, the Recipient must make sure Subject Software, or portions thereof, included in the Larger Work is subject to this Agreement. J. Notwithstanding any provisions contained herein, Recipient is hereby put on notice that export of any goods or technical data from the United States may require some form of export license from the U.S. Government. Failure to obtain necessary export licenses may result in criminal liability under U.S. laws. Government Agency neither represents that a license shall not be required nor that, if required, it shall be issued. Nothing granted herein provides any such export license. 4. DISCLAIMER OF WARRANTIES AND LIABILITIES; WAIVER AND INDEMNIFICATION A. No Warranty: THE SUBJECT SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY OF ANY KIND, EITHER EXPRESSED, IMPLIED, OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTY THAT THE SUBJECT SOFTWARE WILL CONFORM TO SPECIFICATIONS, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR FREEDOM FROM INFRINGEMENT, ANY WARRANTY THAT THE SUBJECT SOFTWARE WILL BE ERROR FREE, OR ANY WARRANTY THAT DOCUMENTATION, IF PROVIDED, WILL CONFORM TO THE SUBJECT SOFTWARE. THIS AGREEMENT DOES NOT, IN ANY MANNER, CONSTITUTE AN ENDORSEMENT BY GOVERNMENT AGENCY OR ANY PRIOR RECIPIENT OF ANY RESULTS, RESULTING DESIGNS, HARDWARE, SOFTWARE PRODUCTS OR ANY OTHER APPLICATIONS RESULTING FROM USE OF THE SUBJECT SOFTWARE. FURTHER, GOVERNMENT AGENCY DISCLAIMS ALL WARRANTIES AND LIABILITIES REGARDING THIRD-PARTY SOFTWARE, IF PRESENT IN THE ORIGINAL SOFTWARE, AND DISTRIBUTES IT "AS IS." B. Waiver and Indemnity: RECIPIENT AGREES TO WAIVE ANY AND ALL CLAIMS AGAINST THE UNITED STATES GOVERNMENT, ITS CONTRACTORS AND SUBCONTRACTORS, AS WELL AS ANY PRIOR RECIPIENT. IF RECIPIENT'S USE OF THE SUBJECT SOFTWARE RESULTS IN ANY LIABILITIES, DEMANDS, DAMAGES, EXPENSES OR LOSSES ARISING FROM SUCH USE, INCLUDING ANY DAMAGES FROM PRODUCTS BASED ON, OR RESULTING FROM, RECIPIENT'S USE OF THE SUBJECT SOFTWARE, RECIPIENT SHALL INDEMNIFY AND HOLD HARMLESS THE UNITED STATES GOVERNMENT, ITS CONTRACTORS AND SUBCONTRACTORS, AS WELL AS ANY PRIOR RECIPIENT, TO THE EXTENT PERMITTED BY LAW. RECIPIENT'S SOLE REMEDY FOR ANY SUCH MATTER SHALL BE THE IMMEDIATE, UNILATERAL TERMINATION OF THIS AGREEMENT. 5. GENERAL TERMS A. Termination: This Agreement and the rights granted hereunder will terminate automatically if a Recipient fails to comply with these terms and conditions, and fails to cure such noncompliance within thirty (30) days of becoming aware of such noncompliance. Upon termination, a Recipient agrees to immediately cease use and distribution of the Subject Software. All sublicenses to the Subject Software properly granted by the breaching Recipient shall survive any such termination of this Agreement. B. Severability: If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement. C. Applicable Law: This Agreement shall be subject to United States federal law only for all purposes, including, but not limited to, determining the validity of this Agreement, the meaning of its provisions and the rights, obligations and remedies of the parties. D. Entire Understanding: This Agreement constitutes the entire understanding and agreement of the parties relating to release of the Subject Software and may not be superseded, modified or amended except by further written agreement duly executed by the parties. E. Binding Authority: By accepting and using the Subject Software under this Agreement, a Recipient affirms its authority to bind the Recipient to all terms and conditions of this Agreement and that that Recipient hereby agrees to all terms and conditions herein. F. Point of Contact: Any Recipient contact with Government Agency is to be directed to the designated representative as follows: Dale Hithon, SRA Assistant, (301) 286-2691. SMVGEAR chemical solver (used in GEOS-Chem v10-01 and prior versions): ----------------------------------------------------------------------------- ********************************************************************* ************ WRITTEN BY MARK JACOBSON (1993) ************ *** (C) COPYRIGHT, 1993 BY MARK Z. JACOBSON *** *** U.S. COPYRIGHT OFFICE REGISTRATION NO. TXu 670-279 *** *** (650) 723-6836 *** ********************************************************************* ================================================ FILE: NcdfUtil/.gitignore ================================================ *.[oax] *.mod *.MOD *~* geos geostomas geosapm *.nc *.pp.* *.pdb *.inst.* *.continue.* *.ppk core.* ================================================ FILE: NcdfUtil/CMakeLists.txt ================================================ add_library(NcdfUtil STATIC EXCLUDE_FROM_ALL m_do_err_out.F90 m_netcdf_io_checks.F90 m_netcdf_io_close.F90 m_netcdf_io_create.F90 m_netcdf_io_define.F90 m_netcdf_io_get_dimlen.F90 m_netcdf_io_handle_err.F90 m_netcdf_io_open.F90 m_netcdf_io_read.F90 m_netcdf_io_readattr.F90 m_netcdf_io_write.F90 ncdf_mod.F90 ) target_link_libraries(NcdfUtil PUBLIC JulDay ) ================================================ FILE: NcdfUtil/README.md ================================================ # NcdfUtil: NetCDF Utility routines for GEOS-Chem This folder contains netCDF utiliity routines for GEOS-Chem. ## Contents - `CMakeLists.txt`: CMake build file - `charpak_mod.F90`: Copy of `Headers/charpak_mod.F90`, used locally. - `julday_mod.F90`: Copy of `Headers/julday_mod.F90`, used locally. - `m_do_err_out.F90`: Error handling module - `m_netcdf_io_checks.F90`: Error checking routines - `m_netcdf_io_close.F90`: Routines to close netCDF files - `m_netcdf_io_create.F90`: Routines to create netCDF files - `m_netcdf_io_define.F90`: Routines to define netCDF variables - `m_netcdf_io_get_dimlen.F90`: Reoutines - `m_netcdf_io_handle_err.F90`: Error checking routines - `m_netcdf_io_open.F90`: Routines for opening netCDF files - `m_netcdf_io_readattr.F90`: Routines for reading netCDF attributes - `m_netcdf_io_read.F90`: Routines for reading data to a netCDF file - `m_netcdf_io_write.F90`: Routines for writing data to a netCDF file - `ncdf_mod.F90`: Convenience routines for netCDF handling - `TestNcdfUtil.F90`: Test program ## Scripts We have now moved netCDF utility scripts (such as `isCoards` and `nc_chunk.pl`) to a separate Github repository. You may download them from https://github.com/geoschem/netcdf-scripts. ================================================ FILE: NcdfUtil/TestNcdfUtil.F90 ================================================ !------------------------------------------------------------------------------ ! NcdfUtilities: by Harvard Atmospheric Chemistry Modeling Group ! ! and NASA/GSFC, SIVO, Code 610.3 ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: TestNcdfUtil.F90 ! ! !DESCRIPTION: Program TestNcdfUtilities.F90 is the standalone driver that ! tests if the libNcUtils.a file was built correctly. !\\ !\\ ! !INTERFACE: ! PROGRAM TestNcdfUtil ! ! !USES: ! ! Modules for netCDF write USE m_netcdf_io_define USE m_netcdf_io_create USE m_netcdf_io_write ! Modules for netCDF read USE m_netcdf_io_open USE m_netcdf_io_get_dimlen USE m_netcdf_io_read USE m_netcdf_io_readattr USE m_netcdf_io_close IMPLICIT NONE ! netCDF include files # include "netcdf.inc" ! ! !BUGS: ! None known at this time ! ! !SEE ALSO: ! m_do_err_out.F90 ! m_netcdf_io_checks.F90 ! m_netcdf_io_close.F90 ! m_netcdf_io_create.F90 ! m_netcdf_io_define.F90 ! m_netcdf_io_get_dimlen.F90 ! m_netcdf_io_handle_err.F90 ! m_netcdf_io_open.F90 ! m_netcdf_io_read.F90 ! m_netcdf_io_write.F90 ! ! !SYSTEM ROUTINES: ! None ! ! !REMARKS: ! netCDF library modules originally written by Jules Kouatchou, GSFC ! and re-packaged into NcdfUtilities by Bob Yantosca, Harvard Univ. ! !REVISION HISTORY: ! 03 Jul 2008 - R. Yantosca (Harvard University) - Initial version ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Global private variables INTEGER, PARAMETER :: ILONG = 72 ! # of longitude grid points INTEGER, PARAMETER :: ILAT = 46 ! # of latitude grid points INTEGER, PARAMETER :: IVERT = 55 ! # of altitude levels INTEGER, PARAMETER :: ITIME = 1 ! # of times INTEGER, PARAMETER :: ICHAR1 = 2 ! # of times INTEGER, PARAMETER :: ICHAR2 = 20 ! # of times INTEGER :: pCt ! # of passed tests INTEGER :: tCt ! # of total tests INTEGER :: I ! Loop index INTEGER :: longdeg, latdeg ! For longdat, latdat REAL*8 :: longDat(ILONG) ! Longitude data REAL*8 :: latDat (ILAT ) ! Latitude data REAL*8 :: levDat (IVERT) ! Altitude data INTEGER :: timeDat(ITIME) ! Time data ! Initialize pCt = 0 tCt = 0 ! Longitude data longdeg = 360.0 / REAL( ILONG ) if ( mod( 360, ILONG) /= 0 ) longdeg = longdeg + 1 do i = 1, ILONG longDat(i) = i*longdeg enddo ! Writing latitude data point latdeg = 180.0 / REAL( ILAT ) if ( mod( 180, ILAT ) /= 0 ) latdeg = latdeg + 1 do i = 1, ilong latDat(i) = -90 + (i-0.5)*latdeg enddo ! Pressure do i = 1, IVERT levDat(i) = 1000.00 - (i-1)*(920.00/IVERT) enddo ! Time data do i = 1, ITIME timeDat(i) = 0 enddo ! Echo info WRITE( 6, '(a)' ) '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%' WRITE( 6, '(a)' ) '%%% Testing libNcdfUtilities.a %%%' WRITE( 6, '(a)' ) '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%' ! Create a netCDF file CALL TestNcdfCreate ! And try to read it back CALL TestNcdfRead !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! NcdfUtilities: by Harvard Atmospheric Chemistry Modeling Group ! ! and NASA/GSFC, SIVO, Code 610.3 ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: TestNcdfCreate ! ! !DESCRIPTION: Subroutine TestNcdfCreate creates a netCDF file ! named \texttt{my\_filename.nc} with the following variables: ! ! \begin{description} ! \item[PSF] Surface pressure (2D variable) ! \item[KEL] Temperature (3D variable) ! \end{description} ! ! Fake values are used for the data. An unlimited dimension is employed ! to write out several records of kel. !\\ !\\ ! !INTERFACE: ! SUBROUTINE TestNcdfCreate ! ! !REVISION HISTORY: ! 03 Jul 2008 - R. Yantosca (Harvard University) - Initial version ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! For netCDF file I/O INTEGER :: idLon, idLat, idLev, idTime INTEGER :: idChar1, idChar2 INTEGER :: fId, vId, omode, i INTEGER :: ct1d(1), ct2d(2), ct3d(3), ct4d(4) INTEGER :: st1d(1), st2d(2), st3d(3), st4d(4) INTEGER :: var1(1), var2(2), var3(3), var4(4) CHARACTER(LEN=255) :: units, delta_t, begin_d CHARACTER(LEN=255) :: begin_t, incr ! "Fake" data arrays REAL*4 :: PS( ILONG, ILAT, ITIME ) ! surface pressure REAL*4 :: T ( ILONG, ILAT, IVERT, ITIME ) ! temperature CHARACTER :: DESC( ICHAR1, ICHAR2 ) ! Description ! ! !DEFINED PARAMETERS: ! LOGICAL, PARAMETER :: COMPRESS = .TRUE. ! Use compression !========================================================================= ! Create the netCDF file !========================================================================= ! Echo info WRITE( 6, '(a)' ) '=== Begin netCDF file creation test ===' CALL NcCr_Wr( fId, 'my_filename.nc' ) ! Turn filling off CALL NcSetFill( fId, NF_NOFILL, omode ) !========================================================================= ! Define the dimensions !========================================================================= ! Time dimension WRITE( 6, '(a)' ) 'Writing time (dim ) to netCDF file' CALL NcDef_Dimension( fId, 'time', ITIME, idTime ) ! Altitude dimension WRITE( 6, '(a)' ) 'Writing lev (dim ) to netCDF file' CALL NcDef_Dimension( fId, 'lev', IVERT, idLev ) ! Latitude dimension WRITE( 6, '(a)' ) 'Writing lat (dim ) to netCDF file' CALL NcDef_Dimension( fId, 'lat', ILAT , idLat ) ! Longitude dimension WRITE( 6, '(a)' ) 'Writing lon (dim ) to netCDF file' CALL NcDef_Dimension( fId, 'lon', ILONG, idLon ) ! Character dimension 1 WRITE( 6, '(a)' ) 'Writing cdim1 (dim ) to netCDF file' CALL NcDef_Dimension( fId, 'cdim1', ICHAR1, idChar1 ) ! Character dimension 1 WRITE( 6, '(a)' ) 'Writing cdim2 (dim ) to netCDF file' CALL NcDef_Dimension( fId, 'cdim2', ICHAR2, idChar2 ) !========================================================================= ! Define the variables and variable attributes ! for COARDS compliance and GAMAP compliance !========================================================================= CALL NcDef_Glob_Attributes( fId, 'Title', 'NcdfUtilities test file' ) CALL NcDef_Glob_Attributes( fId, 'History', 'test file - 24 Jan 2011' ) CALL NcDef_Glob_Attributes( fId, 'Conventions', 'COARDS' ) CALL NcDef_Glob_Attributes( fId, 'Model', 'GEOS4' ) CALL NcDef_Glob_Attributes( fId, 'Nlayers', '55' ) CALL NcDef_Glob_Attributes( fId, 'Start_Date', '20110101' ) CALL NcDef_Glob_Attributes( fId, 'Start_Time', '00:00:00.0' ) CALL NcDef_Glob_Attributes( fId, 'End_Date', '20110101' ) CALL NcDef_Glob_Attributes( fId, 'End_Time', '23:59:59.0' ) CALL NcDef_Glob_Attributes( fId, 'Delta_Lon', '5' ) CALL NcDef_Glob_Attributes( fId, 'Delta_Lat', '4' ) CALL NcDef_Glob_Attributes( fId, 'Delta_time', '000000' ) CALL NcDef_Glob_Attributes( fId, 'Format', 'netCDF-3' ) CALL NcDef_Glob_Attributes( fId, 'valid_range', (/ -1e15, +1e15 /) ) CALL NcDef_Glob_Attributes( fId, 'id_number', 1 ) !========================================================================= ! Define the variables and variable attributes !========================================================================= ! Time index array (hardwire date to 2011/01/01) var1 = (/ idTime /) units = 'minutes since 2011-01-01 00:00:00 GMT' delta_t = '0000-00-00 00:00:00' begin_d = '20110101' begin_t = '000000' incr = '000000' CALL NcDef_Variable ( fId, 'time', NF_INT, 1, var1, vId, COMPRESS ) CALL NcDef_Var_Attributes( fId, vId, 'long_name', 'time' ) CALL NcDef_Var_Attributes( fId, vId, 'units', TRIM( units ) ) CALL NcDef_Var_Attributes( fId, vId, 'delta_t', TRIM( delta_t ) ) CALL NcDef_Var_Attributes( fId, vId, 'begin_date', TRIM( begin_d ) ) CALL NcDef_Var_Attributes( fId, vId, 'begin_time', TRIM( begin_t ) ) CALL NcDef_Var_Attributes( fId, vId, 'time_increment', TRIM( incr ) ) ! Define vertical (pressure) variable var1 = (/ idLev /) CALL NcDef_Variable( fId, 'lev', NF_DOUBLE, 1, var1, vId, COMPRESS ) CALL NcDef_Var_Attributes( fId, vId, 'long_name', 'Pressure' ) CALL NcDef_Var_Attributes( fId, vId, 'units', 'hPa' ) ! Define latitude variable var1 = (/ idLat /) CALL NcDef_Variable( fId, 'lat', NF_DOUBLE, 1, var1, vId, COMPRESS ) CALL NcDef_Var_Attributes( fId, vId, 'long_name', 'Latitude' ) CALL NcDef_Var_Attributes( fId, vId, 'units', 'degrees_north' ) ! Define longitude variable var1 = (/ idLon /) CALL NcDef_Variable( fId, 'lon', NF_DOUBLE, 1, var1, vId, COMPRESS ) CALL NcDef_Var_Attributes( fId, vId, 'long_name', 'Longitude' ) CALL NcDef_Var_Attributes( fId, vId, 'units', 'degrees_east' ) ! Define surface pressure variable var3 = (/ idLon, idLat, idTime /) CALL NcDef_Variable ( fId, 'PS', NF_FLOAT, 3, var3, vId, COMPRESS ) CALL NcDef_Var_Attributes( fId, vId, 'long_name', 'Surface Pressure' ) CALL NcDef_Var_Attributes( fId, vId, 'units', 'hPa' ) CALL NcDef_Var_Attributes( fId, vId, 'gamap_category', 'GMAO-2D' ) CALL NcDef_Var_Attributes( fId, vId, 'missing_value', 1e15 ) CALL NcDef_Var_Attributes( fId, vId, '_FillValue', 1e15 ) CALL NcDef_Var_Attributes( fId, vId, 'valid_range', (/-1e15, +1e15/) ) !========================================================================= ! %%% TEST RE-OPENING OF DEFINE MODE %%% !========================================================================= CALL NcEnd_Def( fId ) WRITE( 6, '(a)' ) 'Testing re-opening of define mode' CALL NcBegin_Def( fId ) ! Define temperature variable var4 = (/ idLon, idLat, idLev, idTime /) CALL NcDef_Variable ( fId, 'T', NF_FLOAT, 4, var4, vId, COMPRESS ) CALL NcDef_Var_Attributes( fId, vId, 'long_name', 'Temperature' ) CALL NcDef_Var_Attributes( fId, vId, 'units', 'K' ) CALL NcDef_Var_Attributes( fId, vId, 'gamap_category', 'GMAO-3D$' ) CALL NcDef_Var_Attributes( fId, vId, 'missing_value', 1e15 ) CALL NcDef_Var_Attributes( fId, vId, '_FillValue', 1e15 ) CALL NcDef_Var_Attributes( fId, vId, 'valid_range', (/-1e15, +1e15/) ) ! Define description variable var2 = (/ idChar1, idChar2 /) CALL NcDef_Variable ( fId, 'DESC', NF_CHAR, 2, var2, vId, COMPRESS ) CALL NcDef_Var_Attributes( fId, vId, 'long_name', 'Description' ) CALL NcDef_Var_Attributes( fId, vId, 'units', '1' ) CALL NcDef_Var_Attributes( fId, vId, 'gamap_category', 'none' ) !========================================================================= ! %%% END OF DEFINITION SECTION %%% ! %%% NOW WRITE DATA TO FILE %%% !========================================================================= CALL NcEnd_def( fId ) ! Write longitude WRITE( 6, '(a)' ) 'Writing lon (1D array) to netCDF file' st1d = (/ 1 /) ct1d = (/ ILONG /) CALL NcWr( longDat, fId, 'lon', st1d, ct1d ) ! Write latitude WRITE( 6, '(a)' ) 'Writing lat (1D array) to netCDF file' st1d = (/ 1 /) ct1d = (/ ILAT /) CALL NcWr( latDat, fId, 'lat', st1d, ct1d ) ! Write pressure levels WRITE( 6, '(a)' ) 'Writing lev (1D array) to netCDF file' st1d = (/ 1 /) ct1d = (/ IVERT /) CALL NcWr( levDat, fId, 'lev', st1d, ct1d ) ! Write pressure levels WRITE( 6, '(a)' ) 'Writing time (1D array) to netCDF file' st1d = (/ 1 /) ct1d = (/ ITIME /) CALL NcWr( timeDat, fId, 'time', st1d, ct1d ) ! Write surface pressure (w/ fake values) WRITE( 6, '(a)' ) 'Writing PS (3D array) to netCDF file' PS = 1e0 st3d = (/ 1, 1, 1 /) ct3d = (/ ILONG, ILAT, ITIME /) CALL NcWr( PS, fId, 'PS', st3d, ct3d ) ! Write temperature (w/ fake values) WRITE( 6, '(a)' ) 'Writing T (4D array) to netCDF file' T = 1e0 st4d = (/ 1, 1, 1, 1 /) ct4d = (/ ILONG, ILAT, IVERT, ITIME /) CALL NcWr( T, fId, 'T', st4d, ct4d ) ! Initialzie the character array DO i = 1, ICHAR2 DESC(1,i) = ACHAR(64+I) DESC(2,i) = ACHAR(96+I) ENDDO ! Write temperature (w/ fake values) WRITE( 6, '(a)' ) 'Writing DESC (2D char ) to netCDF file' st2d = (/ 1, 1 /) ct2d = (/ ICHAR1, ICHAR2 /) CALL NcWr( DESC, fId, 'DESC', st2d, ct2d ) !========================================================================= ! Close the netCDF file !========================================================================= CALL NcCl( fId ) ! Echo info WRITE( 6, '(a)' ) '=== End netCDF file creation test ===' END SUBROUTINE TestNcdfCreate !EOC !------------------------------------------------------------------------------ ! NcdfUtilities: by Harvard Atmospheric Chemistry Modeling Group ! ! and NASA/GSFC, SIVO, Code 610.3 ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: TestNcdfRead ! ! !DESCRIPTION: Routine TestNcdfRead extracts the following fields from ! the netCDF file \texttt{my\_filename.nc}: ! ! \begin{description} ! \item[PSF] Surface pressure (2D variable) ! \item[KEL] Temperature (3D variable). ! \end{description} ! ! Note that the file \texttt{my\_filename.nc} was created with fake data ! values by subroutine TestNcdfCreate. !\\ !\\ ! !INTERFACE: ! SUBROUTINE TestNcdfRead ! ! !REVISION HISTORY: ! 03 Jul 2008 - R. Yantosca (Harvard University) - Initial version ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: fId, rc, XDim, CDim1 INTEGER :: YDim, ZDim, TDim, CDim2 INTEGER :: ct1d(1), ct2d(2), ct3d(3), ct4d(4) INTEGER :: st1d(1), st2d(2), st3d(3), st4d(4) CHARACTER(LEN=255) :: attValue REAL*4 :: attValR4 ! Arrays REAL*4 :: valid(2) REAL*8, ALLOCATABLE :: lon(:), lat(:), lev(:) INTEGER, ALLOCATABLE :: time(:) REAL*4, ALLOCATABLE :: PS(:,:,:) REAL*4, ALLOCATABLE :: T(:,:,:,:) CHARACTER, ALLOCATABLE :: DESC(:,:) !========================================================================= ! Open the netCDF file !========================================================================= ! Echo info WRITE( 6, '(a)' ) '=== Begin netCDF file reading test ===' CALL Ncop_Rd( fId, 'my_filename.nc' ) !========================================================================= ! Get the dimensions !========================================================================= CALL Ncget_Dimlen( fId, 'lon', XDim ) CALL Ncget_Dimlen( fId, 'lat', YDim ) CALL Ncget_Dimlen( fId, 'lev', ZDim ) CALL Ncget_Dimlen( fId, 'time', TDim ) CALL Ncget_Dimlen( fId, 'cdim1', CDim1 ) CALL Ncget_Dimlen( fId, 'cdim2', CDim2 ) rc = XDim - ILONG CALL Check( 'Reading lon (dim ) back from netCDF file', rc, pCt, tCt ) rc = YDim - ILAT CALL Check( 'Reading lat (dim ) back from netCDF file', rc, pCt, tCt ) rc = ZDim - IVERT CALL Check( 'Reading lev (dim ) back from netCDF file', rc, pCt, tCt ) rc = TDim - ITIME CALL Check( 'Reading time (dim ) back from netCDF file', rc, pCt, tCt ) rc = CDim1 - ICHAR1 CALL Check( 'Reading cdim1 (dim ) back from netCDF file', rc, pCt, tCt ) rc = CDim2 - ICHAR2 CALL Check( 'Reading cdim2 (dim ) back from netCDF file', rc, pCt, tCt ) !========================================================================= ! Read the LON variable !========================================================================= ! Read data ALLOCATE( lon( XDim ) ) st1d = (/ 1 /) ct1d = (/ XDim /) CALL NcRd( lon, fId, 'lon', st1d, ct1d ) ! Equality test rc = SUM( lon - longDat ) CALL Check( 'Reading lon (array) back from netCDF file', rc, pCt, tCt ) !========================================================================= ! Read the LAT variable !========================================================================= ! Read data ALLOCATE( lat( YDim ) ) st1d = (/ 1 /) ct1d = (/ YDim /) CALL NcRd( lat, fId, 'lat', st1d, ct1d ) ! Equality test rc = SUM( lat - latDat ) CALL Check( 'Reading lat (array) back from netCDF file', rc, pCt, tCt ) !========================================================================= ! Read the LEV variable !========================================================================= ! Read data ALLOCATE( lev( ZDim ) ) st1d = (/ 1 /) ct1d = (/ ZDim /) CALL NcRd( lev, fId, 'lev', st1d, ct1d ) ! Equality test rc = SUM( lev - levDat ) CALL Check( 'Reading lev (array) back from netCDF file', rc, pCt, tCt ) !========================================================================= ! Read the TIME variable !========================================================================= ! Read data ALLOCATE( time( TDim ) ) st1d = (/ 1 /) ct1d = (/ TDim /) CALL NcRd( time, fId, 'time', st1d, ct1d ) ! Equality test rc = SUM( time - timeDat ) CALL Check( 'Reading time (array) back from netCDF file', rc, pCt, tCt ) !========================================================================= ! Read the PS variable !========================================================================= ! Read data ALLOCATE( ps( XDim, YDim, TDim ) ) st3d = (/ 1, 1, 1 /) ct3d = (/ XDim, YDim, TDim /) CALL NcRd( ps, fId, 'PS', st3d, ct3d ) ! Equality test rc = SUM( PS ) - SIZE( PS ) CALL Check( 'Reading PS back from netCDF file', rc, pCt, tCt ) ! Read units attribute CALL NcGet_Var_Attributes( fId, 'PS', 'units', attValue ) IF ( TRIM( attValue ) == 'hPa' ) THEN rc = 0 ELSE rc = -1 ENDIF CALL Check( 'Reading PS:units back from netCDF file', rc, pCt, tCt ) ! Read long_name attribute CALL NcGet_Var_Attributes( fId, 'PS', 'long_name', attValue ) IF ( TRIM( attValue ) == 'Surface Pressure' ) THEN rc = 0 ELSE rc = -1 ENDIF CALL Check( 'Reading PS:long_name back from netCDF file', rc, pCt, tCt ) ! Read _FillValue attribute CALL NcGet_Var_Attributes( fId, 'PS', '_FillValue', attValR4 ) IF ( attValR4 == 1e15 ) THEN rc = 0 ELSE rc = -1 ENDIF CALL Check( 'Reading PS:_FillValue back from netCDF file', rc, pCt, tCt ) ! Read valid_range attribute CALL NcGet_Var_Attributes( fId, 'PS', 'valid_range', valid ) IF ( valid(1) == -1e15 .and. valid(2) == 1e15 ) THEN rc = 0 ELSE rc = -1 ENDIF CALL Check( 'Reading PS:valid_range back from netCDF file', rc, pCt, tCt ) !========================================================================= ! Read the T variable !========================================================================= ! Read data ALLOCATE( T( XDim, YDim, ZDim, TDim ) ) st4d = (/ 1, 1, 1, 1 /) ct4d = (/ XDim, YDim, ZDim, TDim /) CALL NcRd( T, fId, 'T', st4d, ct4d ) ! Equality test rc = SUM( t ) - SIZE( t ) CALL Check( 'Reading T back from netCDF file', rc, pCt, tCt ) ! Read units attribute CALL NcGet_Var_Attributes( fId, 'T', 'units', attValue ) IF ( TRIM( attValue ) == 'K' ) THEN rc = 0 ELSE rc = -1 ENDIF CALL Check( 'Reading T:units back from netCDF file', rc, pCt, tCt ) ! Read long_name CALL NcGet_Var_Attributes( fId, 'T', 'long_name', attValue ) IF ( TRIM( attValue ) == 'Temperature' ) THEN rc = 0 ELSE rc = -1 ENDIF CALL Check( 'Reading T:long_name back from netCDF file', rc, pCt, tCt ) ! Read _FillValue attribute CALL NcGet_Var_Attributes( fId, 'T', '_FillValue', attValR4 ) IF ( attValR4 == 1e15 ) THEN rc = 0 ELSE rc = -1 ENDIF CALL Check( 'Reading T:_FillValue back from netCDF file', rc, pCt, tCt ) ! Read valid_range attribute CALL NcGet_Var_Attributes( fId, 'T', 'valid_range', valid ) IF ( valid(1) == -1e15 .and. valid(2) == 1e15 ) THEN rc = 0 ELSE rc = -1 ENDIF CALL Check( 'Reading T:valid_range back from netCDF file', rc, pCt, tCt ) !========================================================================= ! Read the DESC variable !========================================================================= ! Read data ALLOCATE( DESC( CDim1, CDim2 ) ) st2d = (/ 1, 1 /) ct2d = (/ CDim1, CDim2 /) CALL NcRd( DESC, fId, 'DESC', st2d, ct2d ) ! Check that DESC was read properly rc = 0 DO i = 1, ICHAR2 IF ( ICHAR( DESC(1,i) ) - 64 /= I ) rc = 1 IF ( ICHAR( DESC(2,i) ) - 96 /= I ) rc = 1 ENDDO CALL Check( 'Reading DESC back from netCDF file', rc, pCt, tCt ) ! Read units attribute CALL NcGet_Var_Attributes( fId, 'DESC', 'units', attValue ) IF ( TRIM( attValue ) == '1' ) THEN rc = 0 ELSE rc = -1 ENDIF CALL Check( 'Reading DESC:units back from netCDF file', rc, pCt, tCt ) ! Read long_name attribute CALL NcGet_Var_Attributes( fId, 'T', 'long_name', attValue ) IF ( TRIM( attValue ) == 'Temperature' ) THEN rc = 0 ELSE rc = -1 ENDIF CALL Check( 'Reading DESC:long_name back from netCDF file', rc, pCt, tCt ) !========================================================================= ! Read global attributes !========================================================================= ! Read title attribute CALL NcGet_Glob_Attributes( fId, 'Title', attValue ) IF ( TRIM( attValue ) == 'NcdfUtilities test file' ) THEN rc = 0 ELSE rc = -1 ENDIF CALL Check( 'Reading title back from netCDF file', rc, pCt, tCt ) ! Read start_date CALL NcGet_Glob_Attributes( fId, 'Start_Date', attValue ) IF ( TRIM( attValue ) == '20110101' ) THEN rc = 0 ELSE rc = -1 ENDIF CALL Check( 'Reading start_date back from netCDF file', rc, pCt, tCt ) ! Read start_time CALL NcGet_Glob_Attributes( fId, 'Start_Time', attValue ) IF ( TRIM( attValue ) == '00:00:00.0' ) THEN rc = 0 ELSE rc = -1 ENDIF CALL Check( 'Reading start_time back from netCDF file', rc, pCt, tCt ) ! Close netCDF file CALL NcCl( fId ) ! Cleanup IF ( ALLOCATED( lon ) ) DEALLOCATE( lon ) IF ( ALLOCATED( lat ) ) DEALLOCATE( lat ) IF ( ALLOCATED( lev ) ) DEALLOCATE( lev ) IF ( ALLOCATED( time ) ) DEALLOCATE( time ) IF ( ALLOCATED( PS ) ) DEALLOCATE( PS ) IF ( ALLOCATED( T ) ) DEALLOCATE( T ) ! Echo info WRITE( 6, '(a)' ) '=== End of netCDF file read test! ===' END SUBROUTINE TestNcdfRead !EOC !------------------------------------------------------------------------------ ! NcdfUtilities: by Harvard Atmospheric Chemistry Modeling Group ! ! and NASA/GSFC, SIVO, Code 610.3 ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Check ! ! !DESCRIPTION: Subroutine that prints "PASSED" or "FAILED" after each test. ! Also increments the various counters of passed or failed tests. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Check( msg, rc, passCt, totCt ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: msg ! message to print INTEGER, INTENT(IN) :: rc ! Return code ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: passCt ! # of passed tests INTEGER, INTENT(INOUT) :: totCt ! # of total tests ! ! !REVISION HISTORY: ! 03 Jul 2008 - R. Yantosca (Harvard University) - Initial version ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: s ! length of message s = LEN( msg ) IF ( rc == 0 ) THEN WRITE( 6, '(a)' ) msg // REPEAT( '.', 55-s ) // 'PASSED' passCt = passCt + 1 ELSE WRITE( 6, '(a)' ) msg // REPEAT( '.', 55-s ) // 'FAILED' ENDIF totCt = totCt + 1 END SUBROUTINE Check !EOC END PROGRAM TestNcdfUtil ================================================ FILE: NcdfUtil/charpak_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: charpak_mod.F90 ! ! !DESCRIPTION: Module CHARPAK\_MOD contains routines from the CHARPAK ! string and character manipulation package used by GEOS-Chem. !\\ !\\ ! !INTERFACE: ! MODULE Charpak_Mod ! ! !USES: ! IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: CleanText PUBLIC :: CntMat PUBLIC :: CopyTxt PUBLIC :: CStrip PUBLIC :: IsDigit PUBLIC :: ReadOneLine PUBLIC :: StrRepl PUBLIC :: StrSplit PUBLIC :: StrSqueeze PUBLIC :: To_UpperCase PUBLIC :: TranLc PUBLIC :: TranUc PUBLIC :: Txtext PUBLIC :: WordWrapPrint PUBLIC :: Unique ! ! !PRIVATE MEMBER FUNCTIONS ! ! ! !REMARKS: ! CHARPAK routines by Robert D. Stewart, 1992. Subsequent modifications ! made for GEOS-CHEM by Bob Yantosca (1998, 2002, 2004). ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS ! ! Maximum string length INTEGER, PARAMETER, PUBLIC :: MAXSTRLEN = 500 CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: CntMat ! ! !DESCRIPTION: Counts the number of characters in str1 that match ! a character in str2. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CntMat( Str1, Str2, Imat, Locations ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: Str1 ! Text to scan CHARACTER(LEN=*), INTENT(IN) :: Str2 ! Character to match ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: imat ! Number of matches INTEGER, OPTIONAL :: Locations(255) ! Positions of matches ! ! !REVISION HISTORY: ! DATE: JAN. 6, 1995 ! AUTHOR: R.D. STEWART ! COMMENTS: Revised slightly (2-5-1996) so that trailing ! blanks in str1 are ignored. Revised again ! on 3-6-1996. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: L1, L2, i, j LOGICAL :: again ! Arrays INTEGER :: TmpLocations(255) ! Initialize TmpLocations = 0 L1 = MAX(1,LEN_TRIM(str1)) L2 = LEN(str2) imat = 0 DO i=1,L1 again = .true. j = 1 DO WHILE (again) IF (str2(j:j).EQ.str1(i:i)) THEN imat = imat+1 TmpLocations(imat) = i again = .false. ELSEIF (j.LT.L2) THEN j=j+1 ELSE again = .false. ENDIF ENDDO ENDDO ! Return positions where matches occured (OPTIONAL) IF ( PRESENT( Locations ) ) Locations = TmpLocations END SUBROUTINE CntMat !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: CopyTxt ! ! !DESCRIPTION: Write all of the characters in str1 into variable ! str2 beginning at column, col. If the length of str1 ! + col is longer than the number of characters str2 ! can store, some characters will not be transfered to ! str2. Any characters already existing in str2 will ! will be overwritten. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CopyTxt( col, str1, str2 ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: col CHARACTER(LEN=*), INTENT(IN) :: str1 ! ! !OUTPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(INOUT) :: str2 ! ! !REVISION HISTORY: ! DATE: DEC. 24, 1993 ! AUTHOR: R.D. STEWART ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: ilt1,i1,i,j,ic i1 = LEN(str2) IF (i1.GT.0) THEN ilt1 = LEN(str1) IF (ilt1.GT.0) THEN ic = MAX0(col,1) i = 1 j = ic DO WHILE ((i.LE.ilt1).and.(j.LE.i1)) str2(j:j) = str1(i:i) i = i + 1 j = ic + (i-1) ENDDO ENDIF ENDIF END SUBROUTINE CopyTxt !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Cstrip ! ! !DESCRIPTION: Strip blanks and null characters for the variable TEXT. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CStrip( text, KeepSpaces ) ! ! !INPUT PARAMETERS: ! LOGICAL, OPTIONAL :: KeepSpaces ! If =T, then keep spaces ! but skip all other ! non-printing chars ! ! !INPUT/OUTPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(INOUT) :: TEXT ! Text to be modified ! ! !REMARKS: ! The original "text" is destroyed upon exit. ! ! !REVISION HISTORY: ! AUTHOR: Robert D. Stewart ! DATE: May 19, 1992 ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: ilen, iasc, icnt, i, Start CHARACTER(LEN=1) :: ch ! Default: Skip space characters Start = 32 ! If KEEPSPACES=T then skip all non-printing characters, ! but keep space characters. (bmy, 1/30/18) IF ( PRESENT( KeepSpaces ) ) THEN IF ( KeepSpaces ) Start = 31 ENDIF ilen = LEN(text) IF (ilen.GT.1) THEN icnt = 1 DO i=1,ilen iasc = ICHAR(text(i:i)) ! Keep characters between these limits IF ( ( iasc > Start ).AND. (iasc < 255 ) ) THEN ch = text(i:i) text(icnt:icnt) = ch icnt = icnt + 1 ENDIF ENDDO ! Fill remainder of text with blanks DO i=icnt,ilen text(i:i) = ' ' ENDDO ENDIF END SUBROUTINE CStrip !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: IsDigit ! ! !DESCRIPTION: Returned as true if ch is a numeric character (i.e., one of ! the numbers from 0 to 9). !\\ !\\ ! !INTERFACE: ! FUNCTION IsDigit( ch ) RESULT( lnum ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=1), INTENT(IN) :: ch ! ! !RETURN VALUE: ! LOGICAL :: lnum ! ! !REMARKS: ! NOTE: Changed name from ISNUM to ISDIGIT (bmy, 7/15/04) ! ! !REVISION HISTORY: ! DATE: NOV. 11, 1993 ! AUTHOR: R.D. STEWART ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER iasc iasc = ICHAR(ch) lnum = .FALSE. IF ((iasc.GE.48).AND.(iasc.LE.57)) THEN lnum = .TRUE. ENDIF END FUNCTION IsDigit !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: StrRepl ! ! !DESCRIPTION: Subroutine StrRepl replaces all instances of PATTERN within ! a string STR with replacement text REPLTXT. !\\ !\\ ! !INTERFACE: ! SUBROUTINE StrRepl( Str, Pattern, ReplTxt ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: Pattern ! Pattern to search for CHARACTER(LEN=*), INTENT(IN) :: ReplTxt ! Text to replace ! ! !INPUT/OUTPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(INOUT) :: Str ! String to be manipulated ! ! !REMARKS: ! PATTERN and REPLTXT can now have a different number of characters. ! ! !REVISION HISTORY: ! 25 Jun 2002 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Local variables INTEGER :: I1, I2 !================================================================= ! StrRepl begins here! !================================================================= DO ! I1 is the first character that matches the search pattern; ! it must be 1 or larger. Otherwise exit the routine. I1 = INDEX( Str, Pattern ) IF ( I1 < 1 ) RETURN ! Replace the text. I2 is the starting position of the ! string following the point of text replacement. I2 = I1 + LEN( Pattern ) Str = Str(1:I1-1) // ReplTxt // Str(I2:) ENDDO END SUBROUTINE StrRepl !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: StrSplit ! ! !DESCRIPTION: Subroutine STRSPLIT returns substrings in a string, separated ! by a separator character (similar to IDL's StrSplit function). This is ! mainly a convenience wrapper for CHARPAK routine TxtExt. !\\ !\\ ! !INTERFACE: ! SUBROUTINE StrSplit( Str, Sep, Result, N_SubStrs ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: STR ! String to be searched CHARACTER(LEN=1), INTENT(IN) :: SEP ! Separator character ! ! !OUTPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(OUT) :: Result(255) ! Returned substrings INTEGER, OPTIONAL :: N_SubStrs ! # of substrings ! ! !REVISION HISTORY: ! 11 Jul 2002 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, IFLAG, COL CHARACTER(LEN=2047) :: WORD !======================================================================= ! STRSPLIT begins here! !======================================================================= ! Initialize I = 0 COL = 1 IFLAG = 0 RESULT(:) = '' ! Loop until all matches found, or end of string DO WHILE ( IFLAG == 0 ) ! Look for strings beteeen separator string CALL TXTEXT ( SEP, TRIM( STR ), COL, WORD, IFLAG ) ! Store substrings in RESULT array I = I + 1 RESULT(I) = TRIM( WORD ) ENDDO ! Optional argument: return # of substrings found IF ( PRESENT( N_SUBSTRS ) ) N_SUBSTRS = I END SUBROUTINE StrSplit !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: StrSqueeze ! ! !DESCRIPTION: Subroutine STRSQUEEZE strips white space from both ends of a ! string. White space in the middle of the string (i.e. between characters) ! will be preserved as-is. Somewhat similar (though not exactly) to IDL's ! STRCOMPRESS function. !\\ !\\ ! !INTERFACE: ! SUBROUTINE StrSqueeze( Str ) ! ! !INPUT/OUTPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(INOUT) :: Str ! String to be squeezed ! ! !REVISION HISTORY: ! 11 Jul 2002 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC !================================================================= ! STRSQUEEZE begins here! !================================================================= Str = ADJUSTR( TRIM( Str ) ) Str = ADJUSTL( TRIM( Str ) ) END SUBROUTINE StrSqueeze !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: TranLc ! ! !DESCRIPTION: Tranlate a character variable to all lowercase letters. ! Non-alphabetic characters are not affected. !\\ !\\ ! !INTERFACE: ! SUBROUTINE TranLc( text ) ! ! !INPUT/OUTPUT PARAMETERS: ! CHARACTER(LEN=*) :: text ! ! !REMARKS: ! The original "text" is destroyed. ! ! !REVISION HISTORY: ! AUTHOR: Robert D. Stewart ! DATE: May 19, 1992 ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: iasc,i,ilen ilen = LEN(text) DO I=1,ilen iasc = ICHAR(text(i:i)) IF ((iasc.GT.64).AND.(iasc.LT.91)) THEN text(i:i) = CHAR(iasc+32) ENDIF ENDDO END SUBROUTINE TRANLC !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: TranUc ! ! !DESCRIPTION: Tranlate a character variable to all upper case letters. ! Non-alphabetic characters are not affected. !\\ !\\ ! !INTERFACE: ! SUBROUTINE TranUc( text ) ! ! !INPUT/OUTPUT PARAMETERS: ! CHARACTER(LEN=*) :: text ! ! !REMARKS: ! The original "text" is destroyed. ! ! !REVISION HISTORY: ! AUTHOR: Robert D. Stewart ! DATE: May 19, 1992 ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: iasc,i,ilen ilen = LEN(text) DO i=1,ilen iasc = ICHAR(text(i:i)) IF ((iasc.GT.96).AND.(iasc.LT.123)) THEN text(i:i) = CHAR(iasc-32) ENDIF ENDDO END SUBROUTINE TRANUC !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: TxtExt ! ! !DESCRIPTION: TxtExt extracts a sequence of characters from ! text and transfers them to word. The extraction ! procedure uses a set of character "delimiters" ! to denote the desired sequence of characters. ! For example if ch=' ', the first character sequence ! bracketed by blank spaces will be returned in word. ! The extraction procedure begins in column, col, ! of TEXT. If text(col:col) = ch (any character in ! the character string), the text is returned beginning ! with col+1 in text (i.e., the first match with ch ! is ignored). !\\ !\\ ! After completing the extraction, col is incremented to ! the location of the first character following the ! end of the extracted text. !\\ !\\ ! A status flag is also returned with the following ! meaning(s) !\\ !\\ ! IF iflg = -1, found a text block, but no more characters ! are available in TEXT ! iflg = 0, task completed sucessfully (normal term) ! iflg = 1, ran out of text before finding a block of ! text. !\\ !\\ ! !INTERFACE: ! SUBROUTINE TxtExt(ch,text,col,word,iflg) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: ch,text ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: col ! ! !OUTPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(OUT) :: word INTEGER :: iflg ! ! !REMARKS: ! TxtExt is short for Text Extraction. This routine provides a set of ! powerful line-by-line text search and extraction capabilities in ! standard FORTRAN. ! ! !REVISION HISTORY: ! AUTHOR: Robert D. Stewart ! DATE: Jan. 1st, 1995 ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: Tmax,T1,T2,imat LOGICAL :: again,prev ! Length of text Tmax = LEN(text) ! Fill Word with blanks WORD = REPEAT( ' ', LEN( WORD ) ) IF (col.GT.Tmax) THEN ! Text does not contain any characters past Tmax. ! Reset col to one and return flag = {error condition} iflg = 1 col = 1 ELSEIF (col.EQ.Tmax) THEN ! End of TEXT reached CALL CntMat(ch,text(Tmax:Tmax),imat) IF (imat.EQ.0) THEN ! Copy character into Word and set col=1 CALL CopyTxt(1,Text(Tmax:Tmax),Word) col = 1 iflg = -1 ELSE ! Same error condition as if col.GT.Tmax iflg = 1 ENDIF ELSE ! Make sure column is not less than 1 IF (col.LT.1) col=1 CALL CntMat(ch,text(col:col),imat) IF (imat.GT.0) THEN prev=.true. ELSE prev=.false. ENDIF T1=col T2 = T1 again = .true. DO WHILE (again) ! Check for a match with a character in ch CALL CntMat(ch,text(T2:T2),imat) IF (imat.GT.0) THEN ! Current character in TEXT matches one (or more) of the ! characters in ch. IF (prev) THEN IF (T2.LT.Tmax) THEN ! Keep searching for a block of text T2=T2+1 T1=T2 ELSE ! Did not find any text blocks before running ! out of characters in TEXT. again=.false. iflg=1 ENDIF ELSE ! Previous character did not match ch, so terminate. ! NOTE: This is "NORMAL" termination of the loop again=.false. T2=T2-1 iflg = 0 ENDIF ELSEIF (T2.LT.Tmax) THEN ! Add a letter to the current block of text prev = .false. T2=T2+1 ELSE ! Reached the end of the characters in TEXT before reaching ! another delimiting character. A text block was identified ! however. again=.false. iflg=-1 ENDIF ENDDO IF (iflg.EQ.0) THEN ! Copy characters into WORD and set col for return CALL CopyTxt(1,Text(T1:T2),Word) col = T2+1 ELSE ! Copy characters into WORD and set col for return CALL CopyTxt(1,Text(T1:T2),Word) col = 1 ENDIF ENDIF END SUBROUTINE TxtExt !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: To_Uppercase ! ! !DESCRIPTION: Converts a string to uppercase, so that we can reliably ! do string matching. !\\ !\\ ! !INTERFACE: ! FUNCTION To_UpperCase( Text ) RESULT( UpCaseText ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: Text ! Input test ! ! !RETURN VALUE: ! CHARACTER(LEN=255) :: UpCaseText ! Output text, uppercase ! ! !REMARKS: ! Code originally from routine TRANUC (Author: R. D. Stewart, 19 May 1992) ! ! !REVISION HISTORY: ! 26 Jun 2017 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: C, Ascii !======================================================================= ! Convert to uppercase !======================================================================= ! Initialize UpCaseText = Text ! Loop over all characters DO C = 1, LEN_TRIM( UpCaseText ) ! Get the ASCII code for each character Ascii = ICHAR( UpCaseText(C:C) ) ! If lowercase, convert to uppercase IF ( Ascii > 96 .and. Ascii < 123 ) THEN UpCaseText(C:C) = CHAR( Ascii - 32 ) ENDIF ENDDO END FUNCTION To_UpperCase !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ReadOneLine ! ! !DESCRIPTION: Subroutine READ\_ONE\_LINE reads a line from the input file. ! If the global variable VERBOSE is set, the line will be printed to stdout. ! READ\_ONE\_LINE can trap an unexpected EOF if LOCATION is passed. ! Otherwise, it will pass a logical flag back to the calling routine, ! where the error trapping will be done. !\\ !\\ ! !INTERFACE: ! FUNCTION ReadOneLine( fId, EndOfFile, IoStatus, Squeeze ) RESULT( Line ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: fId ! File unit number LOGICAL, OPTIONAL :: Squeeze ! Call Strsqueeze? ! ! !OUTPUT PARAMETERS: ! LOGICAL, INTENT(OUT) :: EndOfFile ! Denotes EOF condition INTEGER, INTENT(OUT) :: IoStatus ! I/O status code ! ! !RETURN VALUE: ! CHARACTER(LEN=MAXSTRLEN) :: Line ! Single line from the input file ! ! !REMARKS: ! Mostly used by routines in the History/ folder. ! ! !REVISION HISTORY: ! 16 Jun 2017 - R. Yantosca - Initial version, based on GEOS-Chem ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC !================================================================= ! Initialize !================================================================= EndOfFile = .FALSE. IoStatus = 0 Line = '' !================================================================= ! Read data from the file !================================================================= ! Read a line from the file READ( fId, '(a)', IOSTAT=IoStatus ) Line ! IO Status < 0: EOF condition IF ( IoStatus < 0 ) THEN EndOfFile = .TRUE. RETURN ENDIF ! If desired, call StrSqueeze to strip leading and trailing blanks IF ( PRESENT( Squeeze ) ) THEN IF ( Squeeze ) THEN CALL StrSqueeze( Line ) ENDIF ENDIF END FUNCTION ReadOneLine !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: CleanText ! ! !DESCRIPTION: Strips commas, apostrophes, spaces, and tabs from a string. !\\ !\\ ! !INTERFACE: ! FUNCTION CleanText( Str ) RESULT( CleanStr ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: Str ! Original string ! ! !RETURN VALUE ! CHARACTER(LEN=255) :: CleanStr ! Cleaned-up string ! ! !REMARKS: ! Mostly used by routines in the History/ folder. ! ! !REVISION HISTORY: ! 06 Jan 2015 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! Initialize CleanStr = Str ! Strip out non-printing characters (e.g. tabs) CALL CStrip ( CleanStr ) ! Remove commas and quotes CALL StrRepl ( CleanStr, ",", " " ) CALL StrRepl ( CleanStr, "'", " " ) ! Remove leading and trailing spaces CALL StrSqueeze( CleanStr ) END FUNCTION CleanText !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: WordWrapPrint ! ! !DESCRIPTION: Prints a text string wrapped to a specified line width. ! Useful for displaying error and warning messages. !\\ !\\ ! !INTERFACE: ! SUBROUTINE WordWrapPrint( Text, LineWidth, Delimiter ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: Text ! Text to print INTEGER, INTENT(IN) :: LineWidth ! Width (characters) of lines CHARACTER(LEN=1), OPTIONAL :: Delimiter ! Delimiter between words ! ! !REMARKS: ! The default DELIMITER is the space (" ") character. ! ! !REVISION HISTORY: ! 20 Dec 2015 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: C, S, B, Matches, Length ! Arrays INTEGER :: BreakPts(100) INTEGER :: SpaceLoc(500) ! Strings CHARACTER(LEN=1) :: Delim !======================================================================= ! WordWrapPrint begins here! !======================================================================= ! SpaceLoc is the array of where delimiters (usually the " " ! character) occur in the text, and S is its index. S = 1 SpaceLoc = 0 ! BreakPts is the array of where line breaks occur ! and B is its index. BreakPts = 0 B = 1 BreakPts(B) = 1 ! Delimiter for separating words (will be the space character by default) IF ( PRESENT( Delimiter ) ) THEN Delim = Delimiter ELSE Delim = ' ' ENDIF ! Find the Location of spaces in the text CALL CntMat( Text, ' ', Matches, SpaceLoc ) ! Loop through the number of matches DO ! Move to the next delimiter location S = S + 1 ! Compute the length of the line Length = SpaceLoc(S) - BreakPts(B) ! If the length of this segment is greater than the requested ! line length, store the position of this line break IF ( Length > LineWidth ) THEN B = B + 1 BreakPts(B) = SpaceLoc(S-1) + 1 ENDIF ! If we have exceeded the number of delimiters in the text, then set ! the last breakpoint at the end of the text and exit the loop. IF ( S > Matches ) THEN B = B + 1 BreakPts(B) = LEN_TRIM( Text ) + 1 EXIT ENDIF ENDDO ! Print each line DO C = 1, B-1 WRITE( 6, '(a)' ) Text( BreakPts(C):BreakPts(C+1)-1 ) ENDDO END SUBROUTINE WordWrapPrint !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Unique ! ! !DESCRIPTION: Returns only the unique values in a vector of strings. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Unique( vec, vec_unique ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: vec(:) ! ! !OUTPUT PARAMETERS: ! CHARACTER(LEN=*), ALLOCATABLE, INTENT(INOUT) :: vec_unique(:) ! ! !AUTHOR: ! Jacob Williams (jacob@degenerateconic.com) ! Source code at: http://degenerateconic.com/unique/ ! Modified for string handling by Bob Yantosca ! ! !REVISION HISTORY: ! See the subsequent Git history with the gitk browser! !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! integer :: i,num logical,dimension(size(vec)) :: mask mask = .false. ! Loop over all elements do i = 1, SIZE( vec ) ! Assume that all valid array elements are located ! contiguously Exit upon the encountering the ! first null character. (bmy, 7/23/19) IF ( LEN_TRIM( vec(I) ) == 0 ) EXIT !count the number of occurrences of this element: num = count( vec(i)==vec ) if (num==1) then !there is only one, flag it: mask(i) = .true. else !flag this value only if it hasn't already been flagged: if (.not. any(vec(i)==vec .and. mask) ) mask(i) = .true. end if end do !return only flagged elements: IF ( ALLOCATED( vec_unique ) ) DEALLOCATE( vec_unique ) ALLOCATE( vec_unique(count(mask)) ) vec_unique = PACK( vec, mask ) !if you also need it sorted, then do so. ! For example, with slatec routine: !call ISORT (vec_unique, [0], size(vec_unique), 1) END SUBROUTINE Unique !EOC END MODULE CharPak_Mod ================================================ FILE: NcdfUtil/julday_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: julday_mod.F90 ! ! !DESCRIPTION: Module JULDAY\_MOD contains routines used to convert from ! month/day/year to Astronomical Julian Date and back again. !\\ !\\ ! !INTERFACE: ! MODULE JULDAY_MOD ! ! !USES: ! USE PRECISION_MOD ! For GEOS-Chem Precision (fp) IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: JULDAY PUBLIC :: CALDATE ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: MINT ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: JulDay ! ! !DESCRIPTION: Function JULDAY returns the astronomical Julian day. !\\ !\\ ! !INTERFACE: ! FUNCTION JULDAY( YYYY, MM, DD ) RESULT( JULIANDAY ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: YYYY ! Year (must be in 4-digit format!) INTEGER, INTENT(IN) :: MM ! Month (1-12) REAL*8, INTENT(IN) :: DD ! Day of month (may be fractional!) ! ! !RETURN VALUE: ! REAL*8 :: JULIANDAY ! Astronomical Julian Date ! ! !REMARKS: ! (1) Algorithm taken from "Practical Astronomy With Your Calculator", ! Third Edition, by Peter Duffett-Smith, Cambridge UP, 1992. ! (2) Requires the external function MINT.F. ! (3) JulDay will compute the correct Julian day for any BC or AD date. ! (4) For BC dates, subtract 1 from the year and append a minus sign. ! For example, 1 BC is 0, 2 BC is -1, etc. This is necessary for ! the algorithm. ! ! !REVISION HISTORY: ! 26 Nov 2001 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: YEAR1, MONTH1 REAL*8 :: X1, A, B, C, D LOGICAL :: ISGREGORIAN !================================================================== ! JULDAY begins here! ! ! Follow algorithm from Peter Duffett-Smith (1992) !================================================================== ! Compute YEAR and MONTH1 IF ( ( MM == 1 ) .OR. ( MM == 2 ) ) THEN YEAR1 = YYYY - 1 MONTH1 = MM + 12 ELSE YEAR1 = YYYY MONTH1 = MM ENDIF ! Compute the "A" term. X1 = DBLE( YEAR1 ) / 100.0d0 A = MINT( X1 ) ! The Gregorian calendar begins on 10 October 1582 ! Any dates prior to this will be in the Julian calendar IF ( YYYY > 1582 ) THEN ISGREGORIAN = .TRUE. ELSE IF ( ( YYYY == 1582 ) .AND. & ( MONTH1 >= 10 ) .AND. & ( DD >= 15.0 ) ) THEN ISGREGORIAN = .TRUE. ELSE ISGREGORIAN = .FALSE. ENDIF ENDIF ! Compute the "B" term according to Gregorian or Julian calendar IF ( ISGREGORIAN ) THEN B = 2.0d0 - A + MINT( A / 4.0d0 ) ELSE B = 0.0d0 ENDIF ! Compute the "C" term for BC dates (YEAR1 <= 0 ) ! or AD dates (YEAR1 > 0) IF ( YEAR1 < 0 ) THEN X1 = ( 365.25d0 * YEAR1 ) - 0.75d0 C = MINT( X1 ) ELSE X1 = 365.25d0 * YEAR1 C = MINT( X1 ) ENDIF ! Compute the "D" term X1 = 30.6001d0 * DBLE( MONTH1 + 1 ) D = MINT( X1 ) ! Add the terms to get the Julian Day number JULIANDAY = B + C + D + DD + 1720994.5d0 END FUNCTION JULDAY !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Mint ! ! !DESCRIPTION: Function MINT is the modified integer function. !\\ !\\ ! !INTERFACE: ! FUNCTION MINT( X ) RESULT ( VALUE ) ! ! !INPUT PARAMETERS: ! REAL*8, INTENT(IN) :: X ! ! !RETURN VALUE: ! REAL*8 :: VALUE ! ! !REMARKS: ! The modified integer function is defined as follows: ! ! { -INT( ABS( X ) ) for X < 0 ! MINT = { ! { INT( ABS( X ) ) for X >= 0 ! ! !REVISION HISTORY: ! 20 Nov 2001 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC IF ( X < 0d0 ) THEN VALUE = -INT( ABS( X ) ) ELSE VALUE = INT( ABS( X ) ) ENDIF END FUNCTION MINT !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: CalDate ! ! !DESCRIPTION: Subroutine CALDATE converts an astronomical Julian day to ! the YYYYMMDD and HHMMSS format. !\\ !\\ ! !INTERFACE: ! SUBROUTINE CALDATE( JULIANDAY, YYYYMMDD, HHMMSS ) ! ! !INPUT PARAMETERS: ! REAL*8, INTENT(IN) :: JULIANDAY ! Astronomical Julian Date ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: YYYYMMDD ! Date in YYYY/MM/DD format INTEGER, INTENT(OUT) :: HHMMSS ! Time in hh:mm:ss format ! ! !REMARKS: ! Algorithm taken from "Practical Astronomy With Your Calculator", ! Third Edition, by Peter Duffett-Smith, Cambridge UP, 1992. ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! REAL*4 :: HH, MM, SS REAL*8 :: A, B, C, D, DAY, E, F REAL*8 :: FDAY, G, I, J, JD, M, Y !================================================================= ! CALDATE begins here! ! See "Practical astronomy with your calculator", Peter Duffett- ! Smith 1992, for an explanation of the following algorithm. !================================================================= JD = JULIANDAY + 0.5d0 I = INT( JD ) F = JD - INT( I ) IF ( I > 2299160d0 ) THEN A = INT( ( I - 1867216.25d0 ) / 36524.25d0 ) B = I + 1 + A - INT( A / 4 ) ELSE B = I ENDIF C = B + 1524d0 D = INT( ( C - 122.1d0 ) / 365.25d0 ) E = INT( 365.25d0 * D ) G = INT( ( C - E ) / 30.6001d0 ) ! DAY is the day number DAY = C - E + F - INT( 30.6001d0 * G ) ! FDAY is the fractional day number FDAY = DAY - INT( DAY ) ! M is the month number IF ( G < 13.5d0 ) THEN M = G - 1d0 ELSE M = G - 13d0 ENDIF ! Y is the year number IF ( M > 2.5d0 ) THEN Y = D - 4716d0 ELSE Y = D - 4715d0 ENDIF ! Year-month-day value YYYYMMDD = ( INT( Y ) * 10000 ) + ( INT( M ) * 100 ) + INT( DAY ) ! Hour-minute-second value ! NOTE: HH, MM, SS are REAL*4 to avoid numerical roundoff errors HH = FDAY * 24d0 MM = ( HH - INT( HH ) ) * 60d0 SS = ( MM - INT( MM ) ) * 60d0 !------------------------------------------------------------------ ! NOTE: Some times (like 40min = 0.6666 hrs) will cause a roundoff ! error that will make the minutes eg. 39.9999 instead of 40. ! For now put in a kludge to rectify this situation. IF ( INT(SS) == 59 ) THEN SS = 0.0e0 MM = NINT( MM ) ENDIF !--------------------------------------------------------------- HHMMSS = ( INT( HH ) * 10000 ) + ( INT( MM ) * 100 ) + INT( SS ) END SUBROUTINE CALDATE !EOC END MODULE JULDAY_MOD ================================================ FILE: NcdfUtil/m_do_err_out.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: m_do_err_out.F90 ! ! !INTERFACE: ! module m_Do_Err_Out ! implicit none ! ! !PUBLIC MEMBER FUNCTIONS: ! public Do_Err_Out ! ! !DESCRIPTION: Provides a routine to print an error message and exit the code. !\\ !\\ ! !AUTHOR: ! Jules Kouatchou ! ! !REMARKS: ! This file is based on code from NASA/GSFC, SIVO, Code 610.3 ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Do_Err_Out ! ! !INTERFACE: ! subroutine Do_Err_Out & (err_msg, err_do_stop, err_num_ints, err_int1, err_int2, & err_num_reals, err_real1, err_real2) ! implicit none ! ! !INPUT PARAMETERS: !! err_msg : error message to be printed out !! err_do_stop : do stop on error? !! err_num_ints : number of integers to be printed out (0, 1, or 2) !! err_int1 : integer 1 to print out !! err_int2 : integer 2 to print out !! err_num_reals : number of reals to be printed out (0, 1, or 2) !! err_real1 : real 1 to print out !! err_real2 : real 2 to print out character (len=*), intent(in) :: err_msg logical , intent(in) :: err_do_stop integer , intent(in) :: err_num_ints integer , intent(in) :: err_int1 integer , intent(in) :: err_int2 integer , intent(in) :: err_num_reals real*8 , intent(in) :: err_real1 real*8 , intent(in) :: err_real2 ! ! !DESCRIPTION: Outputs error messages, and exits if requested. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REMARKS: ! NOTE: SHOULD PROPAGATE ERROR CODE TO MAIN PROGRAM LEVEL! ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! Write separator WRITE( 6, '(/,a,/)' ) REPEAT( '!', 79 ) ! Write error message WRITE( 6,'(a)' ) TRIM( err_msg ) ! Write error codes IF ( err_num_ints == 1 ) THEN WRITE( 6,'(i10)' ) err_int1 ELSE IF ( err_num_ints == 2 ) then WRITE( 6, '(2i10)' ) err_int1, err_int2 ENDIF IF ( err_num_reals == 1 ) THEN WRITE( 6, '(f13.6 )' ) err_real1 ELSE IF ( err_num_reals == 2 ) THEN WRITE( 6, '(2f13.6 )' ) err_real1, err_real2 ENDIF ! Write separator WRITE( 6, '(/,a,/)' ) REPEAT( '!', 79 ) ! Flush the buffer CALL Flush( 6 ) ! Stop with error (if requested) ! NOTE: We should pass back the error code to the main routine IF ( err_do_stop ) THEN WRITE( 6, '(a,/)' ) 'Code stopped from DO_ERR_OUT ' // & '(in module NcdfUtil/m_do_err_out.F90) ' WRITE( 6, '(a)' ) 'This is an error that was encountered ' // & 'in one of the netCDF I/O modules,' WRITE( 6, '(a)' ) 'which indicates an error in writing to ' // & 'or reading from a netCDF file!' ! Write separator WRITE( 6, '(/,a,/)' ) REPEAT( '!', 79 ) ! Flush stdout buffer CALL Flush( 6 ) ! NOTE: Should not exit but pass error code up ! work on this for a future version CALL Exit( 999 ) ENDIF RETURN end subroutine Do_Err_Out !EOC end module m_Do_Err_Out ================================================ FILE: NcdfUtil/m_netcdf_io_checks.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: m_netcdf_io_checks.F90 ! ! !INTERFACE: ! module m_netcdf_io_checks ! implicit none ! ! !PUBLIC MEMBER FUNCTIONS: ! public Ncdoes_Udim_Exist public Ncdoes_Var_Exist public Ncdoes_Attr_Exist ! ! !DESCRIPTION: Routines to check if a netCDF file contains a specified ! variable. !\\ !\\ ! !AUTHOR: ! Jules Kouatchou ! ! !REMARKS: ! This file is based on code from NASA/GSFC, SIVO, Code 610.3 ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !FUNCTION: Ncdoes_Udim_Exist ! ! !INTERFACE: ! function Ncdoes_Udim_Exist (ncid) ! use netCDF ! ! !INPUT PARAMETERS: !! ncid : netCDF file id to check integer, intent (in) :: ncid ! ! !DESCRIPTION: Checks a given netCDF file to see if it contains an ! unlimited dimension. !\\ !\\ ! !RETURN VALUE: logical :: Ncdoes_Udim_Exist ! ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: integer :: ierr, udim_id Ncdoes_Udim_Exist = .false. ierr = NF90_Inquire(ncid, unlimitedDimId=udim_id) IF ( ierr /= NF90_NOERR ) Ncdoes_Udim_Exist = .true. end function Ncdoes_Udim_Exist !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !FUNCTION: Ncdoes_Var_Exist ! ! !INTERFACE: ! function Ncdoes_Var_Exist (ncid, varname) ! use netCDF ! ! !INPUT PARAMETERS: !! ncid : netCDF file id to check !! varname : netCDF variable name to check integer, intent (in) :: ncid character (len=*), intent (in) :: varname ! ! !DESCRIPTION: Checks a given netCDF file to see if a given netCDF variable ! exists in it. !\\ !\\ ! !RETURN VALUE: logical :: Ncdoes_Var_Exist ! ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: integer :: ierr integer :: varid ! ierr = NF90_Inq_Varid(ncid, varname, varid) Ncdoes_Var_Exist = .false. if (ierr == NF90_NOERR) Ncdoes_Var_Exist = .true. end function Ncdoes_Var_Exist !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !FUNCTION: Ncdoes_Attr_Exist ! ! !INTERFACE: ! function Ncdoes_Attr_Exist(ncid, varname, attname, attType) ! use netCDF ! ! !INPUT PARAMETERS: !! ncid : netCDF file id to check !! varname : netCDF variable name to check !! attname : netCDF attribute name to check integer, intent (in) :: ncid character (len=*), intent (in) :: varname character (len=*), intent (in) :: attname ! ! !OUTPUT PARAMETERS: ! !! attType : Attribute type. This value is will be set to one of the !! following: NF_BYTE, NF_CHAR, NF_SHORT, NF_INT, NF_FLOAT, or NF_DOUBLE. INTEGER, INTENT(OUT) :: attType ! ! !DESCRIPTION: Checks a given netCDF file to see if a given netCDF variable ! exists in it. !\\ !\\ ! !RETURN VALUE: logical :: Ncdoes_Attr_Exist ! ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: INTEGER :: ierr, varId, attLen, attNum ! Init Ncdoes_Attr_Exist = .false. attType = -1 ! First check the variable ierr = NF90_Inq_Varid (ncid, varname, varid) ! Check the attribute if variable was found IF ( ierr == NF90_NOERR ) THEN ierr = NF90_Inquire_Attribute( ncId, varId, attName, & attType, attLen, attNum ) IF ( ierr == NF90_NOERR ) THEN NcDoes_Attr_Exist = .TRUE. ENDIF ENDIF return end function Ncdoes_Attr_Exist !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !FUNCTION: Ncdoes_Dim_Exist ! ! !INTERFACE: ! function Ncdoes_Dim_Exist (ncid, dimname ) ! use netCDF ! ! !INPUT PARAMETERS: !! ncid : netCDF file id to check !! dimname : netCDF dimenison name to check integer, intent (in) :: ncid character (len=*), intent (in) :: dimname ! ! !DESCRIPTION: Checks a given netCDF file to see if a given netCDF variable ! exists in it. !\\ !\\ ! !RETURN VALUE: logical :: Ncdoes_Dim_Exist ! ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !----------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: integer :: ierr integer :: dimid ! First check the variable ierr = NF90_Inq_Dimid(ncid, dimname, dimid) ! Check the attribute if variable was found Ncdoes_Dim_Exist = .false. if (ierr == NF90_NOERR) Ncdoes_Dim_Exist = .true. return end function Ncdoes_Dim_Exist !EOC end module m_netcdf_io_checks ================================================ FILE: NcdfUtil/m_netcdf_io_close.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: m_netcdf_io_close.F90 ! ! !INTERFACE: ! module m_netcdf_io_close ! implicit none ! ! !PUBLIC MEMBER FUNCTIONS: ! public Nccl public Nccl_Noerr ! ! !DESCRIPTION: Routines to close a netCDF file. !\\ !\\ ! !AUTHOR: ! Jules Kouatchou ! ! !REMARKS: ! This file is based on code from NASA/GSFC, SIVO, Code 610.3 ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nccl ! ! !INTERFACE: ! subroutine Nccl (ncid) ! ! !USES: ! use m_do_err_out ! implicit none ! include "netcdf.inc" ! ! !INPUT PARAMETERS: !! ncid : netCDF file id integer, intent (in) :: ncid ! ! !DESCRIPTION: Closes a netCDF file with file id ncid. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: character (len=512) :: err_msg integer :: ierr ! ierr = Nf_Close (ncid) if (ierr /= NF_NOERR) then err_msg = 'In Nccl: ' // Nf_Strerror (ierr) call Do_Err_Out (err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) end if return end subroutine Nccl !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nccl_Noerr ! ! !INTERFACE: ! subroutine Nccl_Noerr (ncid) ! implicit none ! include "netcdf.inc" ! ! !INPUT PARAMETERS: !! ncid : netCDF file id integer, intent (in) :: ncid ! ! !DESCRIPTION: Closes a netCDF file (with file id ncid) if it is open and ! suppresses Ncclos error messages/exit if it is not. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: integer :: ierr ! ierr = Nf_Close (ncid) return end subroutine Nccl_Noerr !EOC end module m_netcdf_io_close ================================================ FILE: NcdfUtil/m_netcdf_io_create.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: m_netcdf_io_create.F90 ! ! !INTERFACE: ! module m_netcdf_io_create ! implicit none ! ! !PUBLIC MEMBER FUNCTIONS: ! public Nccr_Wr public Ncdo_Sync ! ! !DESCRIPTION: Routines for creating and syncronizing netCDF files. !\\ !\\ ! !AUTHOR: ! Jules Kouatchou ! ! !REMARKS: ! This file is based on code from NASA/GSFC, SIVO, Code 610.3 ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nccr_Wr ! ! !INTERFACE: ! subroutine Nccr_Wr (ncid, filname, WRITE_NC4) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: ! ncid : opened netCDF file id ! filname : name of netCDF file to open for writing integer , intent(INOUT) :: ncid character (len=*), intent(IN) :: filname LOGICAL, OPTIONAL, INTENT(IN) :: WRITE_NC4 ! ! !DESCRIPTION: Creates a netCDF file for writing and does some error checking. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REMARKS: ! If the netCDF4 library is used, then the NF90_CLOBBER flag will write ! a classic (i.e. netCDF3) file. Use OR(NF_NETCDF4,NF_CLASSIC_MODEL) to ! create netCDF-4 file that supports compression and uses "classic" ! netcdf data model (no groups, no user-defined types) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character (len=128) :: err_msg integer :: ierr INTEGER :: mode LOGICAL :: TMP_NC4 ! ! Save the value of the optional WRITE_NC4 variable in ! a local shadow variable (bmy, 11/7/11) IF ( PRESENT( WRITE_NC4 ) ) THEN TMP_NC4 = WRITE_NC4 ELSE TMP_NC4 = .FALSE. ENDIF IF ( TMP_NC4 ) THEN #ifdef NC_HAS_COMPRESSION ) mode = IOR( NF90_NETCDF4, NF90_CLASSIC_MODEL ) ! netCDF4 file ierr = NF90_Create(filname, mode, ncid) ! w/ compression #else ierr = NF90_Create(filname, NF90_64BIT_OFFSET, ncid) ! netCDF4 file ! w/o compression #endif ELSE ierr = NF90_Create(filname, NF90_CLOBBER, ncid) ! netCDF3 file ENDIF if (ierr /= NF90_NOERR) then err_msg = 'In Nccr_Wr, cannot create: ' // Trim (filname) call Do_Err_Out (err_msg, .true., 0, 0, 0, 0 , 0.0d0, 0.0d0) end if return end subroutine Nccr_Wr !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ncdo_Sync ! ! !INTERFACE: ! subroutine Ncdo_Sync (ncid) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id integer, intent(in) :: ncid ! ! !DESCRIPTION: Synchronizes a netCDF file. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: character (len=128) :: err_msg integer :: ierr ! ierr = NF90_Sync (ncid) if (ierr /= NF90_NOERR) then err_msg = 'In Ncdo_Sync: ' // NF90_Strerror (ierr) call Do_Err_Out (err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) end if end subroutine Ncdo_Sync !EOC end module m_netcdf_io_create ================================================ FILE: NcdfUtil/m_netcdf_io_define.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: m_netcdf_io_define.F90 ! ! !INTERFACE: ! MODULE m_netcdf_io_define ! ! !USES: ! IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: NcDef_Dimension PUBLIC :: NcDef_Variable PUBLIC :: NcSetFill PUBLIC :: NcEnd_Def PUBLIC :: NcBegin_Def PUBLIC :: NcDef_glob_attributes INTERFACE NcDef_glob_attributes MODULE PROCEDURE NcDef_glob_attributes_c MODULE PROCEDURE NcDef_glob_attributes_i MODULE PROCEDURE NcDef_glob_attributes_r4 MODULE PROCEDURE NcDef_glob_attributes_r8 MODULE PROCEDURE NcDef_glob_attributes_i_arr MODULE PROCEDURE NcDef_glob_attributes_r4_arr MODULE PROCEDURE NcDef_glob_attributes_r8_arr END INTERFACE NcDef_glob_attributes PUBLIC :: NcDef_var_attributes INTERFACE NcDef_var_attributes MODULE PROCEDURE NcDef_var_attributes_c MODULE PROCEDURE NcDef_var_attributes_i MODULE PROCEDURE NcDef_var_attributes_r4 MODULE PROCEDURE NcDef_var_attributes_r8 MODULE PROCEDURE NcDef_var_attributes_i_arr MODULE PROCEDURE NcDef_var_attributes_r4_arr MODULE PROCEDURE NcDef_var_attributes_r8_arr END INTERFACE NcDef_var_attributes ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: NcDef_glob_attributes_c PRIVATE :: NcDef_glob_attributes_i PRIVATE :: NcDef_glob_attributes_r4 PRIVATE :: NcDef_glob_attributes_r8 PRIVATE :: NcDef_glob_attributes_i_arr PRIVATE :: NcDef_glob_attributes_r4_arr PRIVATE :: NcDef_glob_attributes_r8_arr PRIVATE :: NcDef_var_attributes_c PRIVATE :: NcDef_var_attributes_i PRIVATE :: NcDef_var_attributes_r4 PRIVATE :: NcDef_var_attributes_r8 PRIVATE :: NcDef_var_attributes_i_arr PRIVATE :: NcDef_var_attributes_r4_arr PRIVATE :: NcDef_var_attributes_r8_arr ! ! !DESCRIPTION: Provides netCDF utility routines to define dimensions, ! variables and attributes. !\\ !\\ ! !AUTHOR: ! Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: NcDef_dimension ! ! !INTERFACE: ! SUBROUTINE NcDef_dimension(ncid,name,len,id,unlimited) ! ! !USES: ! USE netCDF USE m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id !! name : dimension name !! len : dimension number CHARACTER (LEN=*), INTENT(IN) :: name INTEGER, INTENT(IN) :: ncid, len LOGICAL, OPTIONAL, INTENT(IN) :: unlimited ! ! !OUTPUT PARAMETERS: !! id : dimension id INTEGER, INTENT(OUT) :: id INTEGER :: len0 ! ! !DESCRIPTION: Defines dimension. !\\ !\\ ! !AUTHOR: ! Jules Kouatchou and Maharaj Bhat ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: CHARACTER (len=512) :: err_msg INTEGER :: ierr ! If unlimited variable is present and true, ! then make this dimension unlimited len0 = len if (present(unlimited)) then if (unlimited) then len0 = NF90_UNLIMITED endif endif ierr = NF90_Def_Dim(ncid, name, len0, id) IF (ierr.ne.NF90_NOERR) then err_msg = 'NF90_Def_Dim: can not define dimension : '// Trim (name) CALL Do_Err_Out (err_msg, .true., 0, 0, 0, 0, 0.0d0, 0.0d0) END IF END SUBROUTINE NcDef_dimension !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: NcDef_variable ! ! !INTERFACE: ! SUBROUTINE NcDef_variable(ncid, name, xtype, ndims, dims, var_id, compress) ! ! !USES: ! USE netCDF USE m_do_err_out ! ! !INPUT PARAMETERS: ! !! ncid : netCDF file id !! name : name of the variable !! type : type of the variable !! (NF90_FLOAT, NF90_CHAR, NF90_INT, !! NF90_DOUBLE, NF90_BYTE, NF90_SHORT) !! ndims : number of dimensions of the variable !! dims : netCDF dimension id of the variable CHARACTER (LEN=*), INTENT(IN) :: name INTEGER, INTENT(IN) :: ncid, ndims INTEGER, INTENT(IN) :: dims(ndims) INTEGER, INTENT(IN) :: xtype LOGICAL, OPTIONAL, INTENT(IN) :: compress ! ! !OUTPUT PARAMETERS: ! !! varid : netCDF variable id returned by NF90_DEF_VAR INTEGER, INTENT(OUT) :: var_id ! ! !DESCRIPTION: Defines a netCDF variable. !\\ !\\ ! !AUTHOR: ! Jules Kouatchou and Maharaj Bhat ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: character(len=512) :: err_msg integer :: ierr logical :: doStop #ifdef NC_HAS_COMPRESSION !===================================================================== ! Create a compressed (deflated) netCDF variable ! ! NOTE: We need to block this out with an #ifdef because some ! netCDF installations might lack the deflation capability, ! which would cause a compile-time error. (bmy, 3/1/17) !======================================================================== IF ( PRESENT( Compress ) ) then !------------------------------------------------------------------ ! If COMPRESS is passed as an optional argument, and is TRUE, ! then define the variable with deflate_level=1. Higher values ! of deflate_level yield minimal additiional benefit. ! ! ALSO NOTE: Newer versions of netCDF balk when you try to compress ! a scalar variable. This generates an annoying warning message. ! To avoid this, only compress array variables. (bmy, 11/30/20) !------------------------------------------------------------------- IF ( Compress .and. ndims > 0 ) THEN ! Create deflated variable ierr = NF90_Def_Var( ncid, name, xtype, dims, var_id, & shuffle=.TRUE., deflate_level=1 ) ! Check for errors. ! No message will be generated if the error is simply that the ! file is not netCDF-4 (as netCDF-3 doesn't support compression) IF ( (ierr.ne.NF90_NOERR) .and. (ierr.ne.NF90_ENOTNC4)) THEN ! Errors enabling compression will not halt the program doStop = .False. ! Print error err_msg = 'NF90_Def_Var: can not create compressed variable : '//& Trim(name) CALL Do_Err_Out (err_msg, doStop, 0, 0, 0, 0, 0.0d0, 0.0d0) END IF ! Return successfully RETURN ENDIF ENDIF #endif !======================================================================== ! Create an uncompressed netCDF variable if: ! (1) COMPRESS is not passed as an optional argument ! (2) COMPRESS is passed as an optional argument but is FALSE ! (3) The variable is a scalar (ndims == 0) !======================================================================== ierr = NF90_Def_Var( ncid, name, xtype, dims, var_id ) IF ( ierr /= NF90_NOERR ) THEN err_msg = 'NF90_Def_Var_Deflate: can not create variable : '// & Trim (name) CALL Do_Err_Out (err_msg, doStop, 0, 0, 0, 0, 0.0d0, 0.0d0) ENDIF END SUBROUTINE NcDef_variable !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: NcDef_var_attributes ! ! !INTERFACE: ! SUBROUTINE NcDef_var_attributes_c(ncid, var_id, att_name, att_val) ! ! !USES: ! USE netCDF USE m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id !! var_id : netCDF variable id !! att_name: attribute name !! att_val : attribute value CHARACTER (LEN=*), INTENT(IN) :: att_name, att_val INTEGER, INTENT(IN) :: ncid, var_id ! ! !DESCRIPTION: Defines a netCDF variable attribute of type: CHARACTER. !\\ !\\ ! !AUTHOR: ! Bob Yantosca (based on code by Jules Kouatchou and Maharaj Bhat) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: CHARACTER (LEN=512) :: err_msg INTEGER :: ierr ! ierr = NF90_Put_Att(ncid, var_id, att_name, att_val) IF (ierr /= NF90_NOERR) THEN err_msg = 'NcDef_var_attributes_c: can not define attribute : ' // & TRIM (att_name) CALL Do_Err_Out (err_msg, .true., 0, 0, 0, 0, 0.0d0, 0.0d0) END IF END SUBROUTINE NcDef_var_attributes_c !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: NcDef_var_attributes_i ! ! !INTERFACE: ! SUBROUTINE NcDef_var_attributes_i(ncid, var_id, att_name, att_val) ! ! !USES: ! USE netCDF USE m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id !! var_id : netCDF variable id !! att_name: attribute name !! att_val : attribute value INTEGER, INTENT(IN) :: att_val CHARACTER (LEN=*), INTENT(IN) :: att_name INTEGER, INTENT(IN) :: ncid, var_id ! ! !DESCRIPTION: Defines a netCDF variable attribute of type: INTEGER. !\\ !\\ ! !AUTHOR: ! Bob Yantosca (based on code by Jules Kouatchou and Maharaj Bhat) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: character (len=512) :: err_msg integer :: mylen, ierr ! ierr = NF90_Put_Att( ncid, var_id, att_name, att_val ) IF (ierr.ne.NF90_NOERR) THEN err_msg = 'NcDef_var_attributes_i: can not define attribute : ' // & TRIM (att_name) CALL Do_Err_Out (err_msg, .true., 0, 0, 0, 0, 0.0d0, 0.0d0) END IF END SUBROUTINE NcDef_var_attributes_i !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: NcDef_var_attributes_r4 ! ! !INTERFACE: ! SUBROUTINE NcDef_var_attributes_r4(ncid, var_id, att_name, att_val) ! ! !USES: ! USE netCDF USE m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id !! var_id : netCDF variable id !! att_name: attribute name !! att_val : attribute value REAL*4, INTENT(IN) :: att_val CHARACTER (LEN=*), INTENT(IN) :: att_name INTEGER, INTENT(IN) :: ncid, var_id ! ! !DESCRIPTION: Defines a netCDF variable attribute of type: REAL*4. !\\ !\\ ! !AUTHOR: ! Bob Yantosca (based on code by Jules Kouatchou and Maharaj Bhat) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: CHARACTER (LEN=512) :: err_msg INTEGER :: ierr ! ierr = NF90_Put_Att( ncid, var_id, att_name, att_val ) IF (ierr.ne.NF90_NOERR) THEN err_msg = 'NcDef_var_attributes_r4: can not define attribute : ' // & TRIM (att_name) CALL Do_Err_Out (err_msg, .true., 0, 0, 0, 0, 0.0d0, 0.0d0) END IF END SUBROUTINE NcDef_var_attributes_r4 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: NcDef_var_attributes_r8 ! ! !INTERFACE: ! SUBROUTINE NcDef_var_attributes_r8(ncid, var_id, att_name, att_val) ! ! !USES: ! USE netCDF USE m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id !! var_id : netCDF variable id !! att_name: attribute name !! att_val : attribute value REAL*8, INTENT(IN) :: att_val CHARACTER (LEN=*), INTENT(IN) :: att_name INTEGER, INTENT(IN) :: ncid, var_id ! ! !DESCRIPTION: Defines a netCDF variable attribute of type: REAL*4. !\\ !\\ ! !AUTHOR: ! Bob Yantosca (based on code by Jules Kouatchou and Maharaj Bhat) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: CHARACTER (LEN=512) :: err_msg INTEGER :: ierr ! ierr = NF90_Put_Att( ncid, var_id, att_name, att_val ) IF (ierr.ne.NF90_NOERR) THEN err_msg = 'NcDef_var_attributes_r8: can not define attribute : ' // & TRIM (att_name) CALL Do_Err_Out (err_msg, .true., 0, 0, 0, 0, 0.0d0, 0.0d0) END IF END SUBROUTINE NcDef_var_attributes_r8 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: NcDef_var_attributes_i_arr ! ! !INTERFACE: ! SUBROUTINE NcDef_var_attributes_i_arr(ncid, var_id, att_name, att_val) ! ! !USES: ! USE netCDF USE m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id !! var_id : netCDF variable id !! att_name: attribute name !! att_val : attribute value INTEGER, INTENT(IN) :: att_val(:) CHARACTER (LEN=*), INTENT(IN) :: att_name INTEGER, INTENT(IN) :: ncid, var_id ! ! !DESCRIPTION: Defines a netCDF variable attribute of type: INTEGER vector. !\\ !\\ ! !AUTHOR: ! Bob Yantosca (based on code by Jules Kouatchou and Maharaj Bhat) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: CHARACTER (LEN=512) :: err_msg INTEGER :: ierr ! ierr = NF90_Put_Att( ncid, var_id, att_name, att_val ) iF (ierr.ne.NF90_NOERR) THEN err_msg = 'NcDef_var_attributes_i_arr: can not define attribute : ' & // TRIM (att_name) CALL Do_Err_Out (err_msg, .true., 0, 0, 0, 0, 0.0d0, 0.0d0) END IF END SUBROUTINE NcDef_var_attributes_i_arr !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: NcDef_var_attributes_r4_arr ! ! !INTERFACE: ! SUBROUTINE NcDef_var_attributes_r4_arr(ncid, var_id, att_name, att_val) ! ! !USES: ! USE netCDF USE m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id !! var_id : netCDF variable id !! att_name: attribute name !! att_val : attribute value REAL*4, INTENT(IN) :: att_val(:) CHARACTER (LEN=*), INTENT(IN) :: att_name INTEGER, INTENT(IN) :: ncid, var_id ! ! !DESCRIPTION: Defines a netCDF variable attribute of type: REAL*4 vector !\\ !\\ ! !AUTHOR: ! Bob Yantosca (based on code by Jules Kouatchou and Maharaj Bhat) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: CHARACTER (LEN=512) :: err_msg INTEGER :: ierr ! ierr = NF90_Put_Att( ncid, var_id, att_name, att_val ) IF (ierr.ne.NF90_NOERR) THEN err_msg = 'NcDef_var_attributes_r4_arr: can not define attribute : ' & // TRIM (att_name) CALL Do_Err_Out (err_msg, .true., 0, 0, 0, 0, 0.0d0, 0.0d0) END IF END SUBROUTINE NcDef_var_attributes_r4_arr !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: NcDef_var_attributes_r8_arr ! ! !INTERFACE: ! SUBROUTINE NcDef_var_attributes_r8_arr(ncid, var_id, att_name, att_val) ! ! !USES: ! USE netCDF USE m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id !! var_id : netCDF variable id !! att_name: attribute name !! att_val : attribute value REAL*8, INTENT(IN) :: att_val(:) CHARACTER (LEN=*), INTENT(IN) :: att_name INTEGER, INTENT(IN) :: ncid, var_id ! ! !DESCRIPTION: Defines a netCDF variable attribute of type: REAL*8 vector !\\ !\\ ! !AUTHOR: ! Jules Kouatchou and Maharaj Bhat ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: character (len=512) :: err_msg integer :: ierr ! ierr = NF90_Put_Att( ncid, var_id, att_name, att_val ) IF (ierr.ne.NF90_NOERR) THEN err_msg = 'NcDef_var_attributes_r4_arr: can not define attribute : '& // Trim (att_name) CALL Do_Err_Out (err_msg, .true., 0, 0, 0, 0, 0.0d0, 0.0d0) END IF END SUBROUTINE NcDef_var_attributes_r8_arr !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: NcDef_glob_attributes_c ! ! !INTERFACE: ! SUBROUTINE NcDef_glob_attributes_c(ncid, att_name, att_val) ! ! !USES: ! USE netCDF USE m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id !! att_name: attribute name !! att_val : attribute value ! CHARACTER (LEN=*), INTENT(IN) :: att_val CHARACTER (LEN=*), INTENT(IN) :: att_name INTEGER, INTENT(IN) :: ncid ! ! !DESCRIPTION: Defines global attributes of type: CHARACTER !\\ !\\ ! !AUTHOR: ! Bob Yantosca( based on code by Jules Kouatchou) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: CHARACTER (LEN=512) :: err_msg INTEGER :: ierr ! ierr = NF90_Put_Att(ncid, NF90_GLOBAL, att_name, att_val) IF (ierr.ne.NF90_NOERR) THEN err_msg = 'NcDef_glob_attributes_c: can not define attribute : ' // & TRIM (att_name) CALL Do_Err_Out (err_msg, .true., 0, 0, 0, 0, 0.0d0, 0.0d0) END IF END SUBROUTINE NcDef_glob_attributes_c !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: NcDef_glob_attributes_i ! ! !INTERFACE: ! SUBROUTINE NcDef_glob_attributes_i(ncid, att_name, att_val) ! ! !USES: ! USE netCDF USE m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id !! att_name: attribute name !! att_val : attribute value ! INTEGER, INTENT(IN) :: att_val CHARACTER (LEN=*), INTENT(IN) :: att_name INTEGER, INTENT(IN) :: NCID ! ! !DESCRIPTION: Defines global attributes of type: INTEGER !\\ !\\ ! !AUTHOR: ! Bob Yantosca( based on code by Jules Kouatchou) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: CHARACTER (LEN=512) :: err_msg INTEGER :: ierr ! ierr = NF90_Put_Att( ncid, NF90_GLOBAL, att_name, att_val ) IF (ierr.ne.NF90_NOERR) THEN err_msg = 'NcDef_glob_attributes_i: can not define attribute : ' // & TRIM (att_name) CALL Do_Err_Out (err_msg, .true., 0, 0, 0, 0, 0.0d0, 0.0d0) END IF END SUBROUTINE NcDef_glob_attributes_i !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: NcDef_glob_attributes_r4 ! ! !INTERFACE: ! SUBROUTINE NcDef_glob_attributes_r4(ncid, att_name, att_val) ! ! !USES: ! USE netCDF USE m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id !! att_name: attribute name !! att_val : attribute value ! REAL*4, INTENT(IN) :: att_val CHARACTER (LEN=*), INTENT(IN) :: att_name INTEGER, INTENT(IN) :: ncid ! ! !DESCRIPTION: Defines global attributes of type: REAL*4 !\\ !\\ ! !AUTHOR: ! Bob Yantosca( based on code by Jules Kouatchou) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character (len=512) :: err_msg integer :: ierr ! ierr = NF90_Put_Att( ncid, NF90_GLOBAL, att_name, att_val ) IF (ierr.ne.NF90_NOERR) THEN err_msg = 'NcDef_glob_attributes_r4: can not define attribute : ' // & TRIM (att_name) CALL Do_Err_Out (err_msg, .true., 0, 0, 0, 0, 0.0d0, 0.0d0) END IF END SUBROUTINE NcDef_glob_attributes_r4 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: NcDef_glob_attributes_r8 ! ! !INTERFACE: ! SUBROUTINE NcDef_glob_attributes_r8(ncid, att_name, att_val) ! ! !USES: ! USE netCDF USE m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id !! att_name: attribute name !! att_val : attribute value ! REAL*8, INTENT(IN) :: att_val CHARACTER (LEN=*), INTENT(IN) :: att_name INTEGER, INTENT(IN) :: ncid ! ! !DESCRIPTION: Defines global attributes of type: REAL*4 !\\ !\\ ! !AUTHOR: ! Bob Yantosca( based on code by Jules Kouatchou) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character (len=512) :: err_msg integer :: ierr ! ierr = NF90_Put_Att( ncid, NF90_GLOBAL, att_name, att_val ) IF (ierr.ne.NF90_NOERR) THEN err_msg = 'NcDef_glob_attributes_r8: can not define attribute : ' // & TRIM (att_name) CALL Do_Err_Out (err_msg, .true., 0, 0, 0, 0, 0.0d0, 0.0d0) END IF END SUBROUTINE NcDef_glob_attributes_r8 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: NcDef_glob_attributes_i_arr ! ! !INTERFACE: ! SUBROUTINE NcDef_glob_attributes_i_arr(ncid, att_name, att_val) ! ! !USES: ! USE netCDF USE m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id !! att_name: attribute name !! att_val : attribute value ! INTEGER, INTENT(IN) :: att_val(:) CHARACTER (LEN=*), INTENT(IN) :: att_name INTEGER, INTENT(IN) :: ncid ! ! !DESCRIPTION: Defines global attributes of type: INTEGER vector !\\ !\\ ! !AUTHOR: ! Bob Yantosca( based on code by Jules Kouatchou) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: CHARACTER (LEN=512) :: err_msg INTEGER :: ierr ! ierr = NF90_Put_Att( ncid, NF90_GLOBAL, att_name, att_val ) IF (ierr.ne.NF90_NOERR) THEN err_msg = 'NcDef_glob_attributes_i_arr: can not define attribute : ' & // Trim (att_name) CALL Do_Err_Out (err_msg, .true., 0, 0, 0, 0, 0.0d0, 0.0d0) END IF END SUBROUTINE NcDef_glob_attributes_i_arr !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: NcDef_glob_attributes_r4_arr ! ! !INTERFACE: ! SUBROUTINE NcDef_glob_attributes_r4_arr(ncid,att_name,att_val) ! ! !USES: ! USE netCDF USE m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id !! att_name: attribute name !! att_val : attribute value ! REAL*4, INTENT(IN) :: att_val(:) CHARACTER (LEN=*), INTENT(IN) :: att_name INTEGER, INTENT(IN) :: ncid ! ! !DESCRIPTION: Defines global attributes of type: REAL*4 vector !\\ !\\ ! !AUTHOR: ! Bob Yantosca( based on code by Jules Kouatchou) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character (len=512) :: err_msg integer :: ierr ! ierr = NF90_Put_Att( ncid, NF90_GLOBAL, att_name, att_val ) IF (ierr.ne.NF90_NOERR) THEN err_msg = 'NcDef_glob_attributes_r4_arr: can not define attribute : ' & // TRIM (att_name) CALL Do_Err_Out (err_msg, .true., 0, 0, 0, 0, 0.0d0, 0.0d0) END IF END SUBROUTINE NcDef_glob_attributes_r4_arr !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: NcDef_glob_attributes_r8_arr ! ! !INTERFACE: ! SUBROUTINE NcDef_glob_attributes_r8_arr(ncid, att_name, att_val) ! ! !USES: ! USE netCDF USE m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id !! att_name: attribute name !! att_val : attribute value ! REAL*8, intent(in) :: att_val(:) character (len=*), intent(in) :: att_name integer, intent(in) :: ncid ! ! !DESCRIPTION: Defines global attributes of type: REAL*8 vector !\\ !\\ ! !AUTHOR: ! Bob Yantosca( based on code by Jules Kouatchou) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character (len=512) :: err_msg integer :: ierr ! ierr = NF90_Put_Att( ncid, NF90_GLOBAL, att_name, att_val ) IF (ierr.ne.NF90_NOERR) THEN err_msg = 'NcDef_glob_attributes_r8_arr: can not define attribute : ' & // TRIM (att_name) CALL Do_Err_Out (err_msg, .true., 0, 0, 0, 0, 0.0d0, 0.0d0) END IF END SUBROUTINE NcDef_glob_attributes_r8_arr !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: NcSetFill ! ! !INTERFACE: ! SUBROUTINE NcSetFill(ncid, ifill, omode) ! ! !USES: ! USE netCDF USE m_do_err_out ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN ) :: ncid, ifill INTEGER, INTENT(INOUT) :: omode ! ! !DESCRIPTION: Sets fill method. !\\ !\\ ! !AUTHOR: ! Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character (len=512) :: err_msg integer :: ierr ! ierr = NF90_Set_Fill(ncid, ifill, omode) IF (ierr.ne.NF90_NOERR) THEN err_msg = 'NF90_Set_FIll: Error in omode ' CALL Do_Err_Out (err_msg, .true., 0, 0, 0, 0, 0.0d0, 0.0d0) END IF END SUBROUTINE NcSetFill !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: NcEnd_Def ! ! !INTERFACE: ! SUBROUTINE NcEnd_Def(ncid) ! ! !USES: ! USE netCDF USE m_do_err_out ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: ncid ! ! !DESCRIPTION: Ends definitions of variables and their attributes. !\\ !\\ ! !AUTHOR: ! Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: CHARACTER (LEN=512) :: err_msg INTEGER :: ierr ! ierr = NF90_Enddef(ncid) IF (ierr.ne.NF90_NOERR) THEN err_msg = 'NF90_EndDef: Error in closing netCDF define mode!' CALL Do_Err_Out (err_msg, .true., 0, 0, 0, 0, 0.0d0, 0.0d0) END IF END SUBROUTINE NcEnd_def !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: NcBegin_Def ! ! !INTERFACE: ! SUBROUTINE NcBegin_Def(ncid) ! ! !USES: ! USE netCDF USE m_do_err_out ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: ncid ! ! !DESCRIPTION: Opens (or re-opens) netCDF define mode, where variables ! and attributes can be defined. !\\ !\\ ! !AUTHOR: ! Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character (len=512) :: err_msg integer :: ierr ! ierr = NF90_Redef (ncid) IF (ierr.ne.NF90_NOERR) THEN err_msg = 'NF90_ReDef: Error in opening netCDF define mode!' CALL Do_Err_Out (err_msg, .true., 0, 0, 0, 0, 0.0d0, 0.0d0) END IF END SUBROUTINE NcBegin_Def !EOC END MODULE m_netcdf_io_define ================================================ FILE: NcdfUtil/m_netcdf_io_get_dimlen.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: m_netcdf_io_get_dimlen ! ! !INTERFACE: ! MODULE m_netcdf_io_get_dimlen ! IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: Ncget_Dimlen PUBLIC :: Ncget_Unlim_Dimlen ! ! !DESCRIPTION: Provides routines to obtain the length of a given dimension. !\\ !\\ ! !AUTHOR: ! Jules Kouatchou ! ! !REMARKS: ! This file is based on code from NASA/GSFC, SIVO, Code 610.3 ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ncget_Dimlen ! ! !INTERFACE: ! SUBROUTINE Ncget_Dimlen(ncid, dim_name, dim_len) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: !! dim_name : netCDF dimension name !! ncid : netCDF file id character (len=*), intent(in) :: dim_name integer, intent(in) :: ncid ! ! !OUTPUT PARAMETERS: !! dim_len: netCDF dimension length integer, intent(out) :: dim_len ! ! !DESCRIPTION: Returns the length of a given netCDF dimension. ! If err\_stop is set to FALSE, -1 is returned if ! the given dimension cannot be found. Otherwise, ! an error is prompted and the program stops. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: CHARACTER(len=512) :: err_msg INTEGER :: dimid INTEGER :: ierr ierr = NF90_Inq_Dimid(ncid, dim_name, dimid) IF (ierr /= NF90_NOERR ) THEN err_msg = 'In Ncget_Dimlen #1: ' // TRIM(dim_name) // & ', ' // NF90_Strerror (ierr) CALL Do_Err_Out (err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) ENDIF ierr = NF90_Inquire_Dimension(ncid, dimid, len=dim_len) IF (ierr /= NF90_NOERR) THEN err_msg = 'In Ncget_Dimlen #2: ' // NF90_Strerror (ierr) CALL Do_Err_Out (err_msg, .true., 2, ncid, dimid, 0, 0.0d0, 0.0d0) ENDIF END SUBROUTINE Ncget_Dimlen !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ncget_Unlim_Dimlen ! ! !INTERFACE: ! SUBROUTINE Ncget_Unlim_Dimlen (ncid, udim_len) ! ! !USES: ! USE netCDF USE m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id INTEGER, INTENT(IN) :: ncid ! ! !OUTPUT PARAMETERS: !! udim_len : netCDF unlimited dimension length INTEGER, INTENT(OUT) :: udim_len ! ! !DESCRIPTION: Returns the length of the unlimited netCDF dimension. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: CHARACTER(len=512) :: err_msg INTEGER :: ierr, udim_id udim_len = -1 ierr = NF90_Inquire(ncid, unlimitedDimId=udim_id) IF ( ierr /= NF90_NOERR ) THEN ierr = NF90_Inquire_Dimension( ncid, udim_id, len=udim_len ) ENDIF END SUBROUTINE Ncget_Unlim_Dimlen !EOC END MODULE m_netcdf_io_get_dimlen ================================================ FILE: NcdfUtil/m_netcdf_io_handle_err.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: m_netcdf_io_handle_err.F90 ! ! !INTERFACE: ! module m_netcdf_io_handle_err ! implicit none ! ! !PUBLIC MEMBER FUNCTIONS: ! public Nchandle_Err ! ! !DESCRIPTION: Provides a routine to handle error messages. !\\ !\\ ! !AUTHOR: ! Jules Kouatchou ! ! !REMARKS: ! This file is based on code from NASA/GSFC, SIVO, Code 610.3 ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !----------------------------------------------------------------------------- !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nchandle_Err ! ! !INTERFACE: ! subroutine Nchandle_Err (ierr) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: ! ierr : netCDF error number integer, intent (in) :: ierr ! ! !DESCRIPTION: Handles netCDF errors. Prints out a message and then exit. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character (len=512) :: err_msg ! err_msg = 'In Nchandle_Err: ' // NF90_Strerror (ierr) call Do_Err_Out (err_msg, .true., 0, 0, 0, 0, 0.0d0, 0.0d0) return end subroutine Nchandle_Err !EOC end module m_netcdf_io_handle_err ================================================ FILE: NcdfUtil/m_netcdf_io_open.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: m_netcdf_io_open.F90 ! ! !INTERFACE: ! module m_netcdf_io_open ! implicit none ! ! !PUBLIC MEMBER FUNCTIONS: ! public Ncop_Rd public Ncop_Wr ! ! !DESCRIPTION: Routines to open a netCDF file. !\\ !\\ ! !AUTHOR: ! Jules Kouatchou ! ! !REMARKS: ! This file is based on code from NASA/GSFC, SIVO, Code 610.3 ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !----------------------------------------------------------------------------- !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ncop_Rd ! ! !INTERFACE: ! subroutine Ncop_Rd (ncid, filname) ! ! !USES: ! USE netCDF use m_do_err_out ! ! !INPUT PARAMETERS: !! filname : name of netCDF file to open for reading character (len=*), intent (in) :: filname ! ! !OUTPUT PARAMETERS: !! ncid : opened netCDF file id integer , intent (out) :: ncid ! ! !DESCRIPTION: Opens a netCDF file for reading and does some error checking. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: character(len=512) :: err_msg integer :: ierr ! ierr = Nf90_Open( filname, NF90_NOWRITE, ncid ) if (ierr /= NF90_NOERR) then err_msg = 'In Ncop_Rd, cannot open: ' // Trim (filname) call Do_Err_Out (err_msg, .true., 0, 0, 0, 0, 0.0d0, 0.0d0) end if end subroutine Ncop_Rd !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ncop_Wr ! ! !INTERFACE: ! subroutine Ncop_Wr (ncid, filname) ! ! !USES: ! USE netCDF use m_do_err_out ! ! !INPUT PARAMETERS: !! filname : name of netCDF file to open for reading character (len=*), intent (in) :: filname ! ! !OUTPUT PARAMETERS: !! ncid : opened netCDF file id integer , intent (out) :: ncid ! ! !DESCRIPTION: Opens a netCDF file for reading/writing and does some ! error checking. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: character (len=512) :: err_msg integer :: ierr ! ierr = Nf90_Open (filname, NF90_WRITE, ncid) if (ierr /= NF90_NOERR) then err_msg = 'In Ncop_Rd, cannot open: ' // Trim (filname) call Do_Err_Out (err_msg, .true., 0, 0, 0, 0, 0.0d0, 0.0d0) end if return end subroutine Ncop_Wr !EOC !------------------------------------------------------------------------ end module m_netcdf_io_open ================================================ FILE: NcdfUtil/m_netcdf_io_read.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: m_netcdf_io_read ! ! !INTERFACE: ! MODULE m_netcdf_io_read ! ! !USES: ! IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! ! Public interface PUBLIC :: NcRd ! Private methods overloaded by public interface ! (see below for info about these routines & the arguments they take) INTERFACE NcRd MODULE PROCEDURE Ncrd_Scal MODULE PROCEDURE Ncrd_Scal_Int MODULE PROCEDURE Ncrd_1d_R8 MODULE PROCEDURE Ncrd_1d_R4 MODULE PROCEDURE Ncrd_1d_Int MODULE PROCEDURE Ncrd_1d_Char MODULE PROCEDURE Ncrd_2d_R8 MODULE PROCEDURE Ncrd_2d_R4 MODULE PROCEDURE Ncrd_2d_Int MODULE PROCEDURE Ncrd_2d_Char MODULE PROCEDURE Ncrd_3d_R8 MODULE PROCEDURE Ncrd_3d_R4 MODULE PROCEDURE Ncrd_3d_Int MODULE PROCEDURE Ncrd_4d_R8 MODULE PROCEDURE Ncrd_4d_R4 MODULE PROCEDURE Ncrd_4d_Int MODULE PROCEDURE Ncrd_5d_R8 MODULE PROCEDURE Ncrd_5d_R4 MODULE PROCEDURE Ncrd_6d_R8 MODULE PROCEDURE Ncrd_6d_R4 MODULE PROCEDURE Ncrd_7d_R8 MODULE PROCEDURE Ncrd_7d_R4 END INTERFACE NcRd ! ! !DESCRIPTION: Routines for reading variables in a netCDF file. !\\ !\\ ! !AUTHOR: ! Jules Kouatchou ! ! !REMARKS: ! This file is based on code from NASA/GSFC, SIVO, Code 610.3 ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ncrd_Scal ! ! !INTERFACE: ! subroutine Ncrd_Scal(varrd_scal, ncid, varname) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id to read variable from !! varname : netCDF variable name integer , intent(in) :: ncid character (len=*), intent(in) :: varname ! ! !OUTPUT PARAMETERS: !! varrd_scal : variable to fill real*8 , intent(out) :: varrd_scal ! ! !DESCRIPTION: Reads in a netCDF scalar variable. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character (len=512) :: err_msg integer :: ierr integer :: varid real*4 :: varrd_scal_tmp ! ierr = NF90_Inq_VarId(ncid, varname, varid) if (ierr /= NF90_NOERR) then err_msg = 'In Ncrd_Scal #1: ' // Trim (varname) // & ', ' // NF90_Strerror(ierr) call Do_Err_Out (err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) end if ierr = NF90_Get_Var(ncid, varid, varrd_scal_tmp) if (ierr /= NF90_NOERR) then err_msg = 'In Ncrd_Scal #2: ' // NF90_Strerror(ierr) call Do_Err_Out (err_msg, .true., 2, ncid, varid, 0, 0.0d0, 0.0d0) end if varrd_scal = varrd_scal_tmp end subroutine Ncrd_Scal !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ncrd_Scal_Int ! ! !INTERFACE: ! subroutine Ncrd_Scal_Int(varrd_scali, ncid, varname) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id to read variable from !! varname : netCDF variable name integer , intent(in) :: ncid character (len=*), intent(in) :: varname ! ! !OUTPUT PARAMETERS: !! varrd_scali : integer variable to fill integer , intent(out) :: varrd_scali ! ! !DESCRIPTION: Reads in a netCDF integer scalar variable. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character (len=512) :: err_msg integer :: ierr integer :: varid ! ierr = NF90_Inq_VarId(ncid, varname, varid) if (ierr /= NF90_NOERR) then err_msg = 'In Ncrd_Scal_Int #1: ' // Trim (varname) // & ', ' // NF90_Strerror(ierr) call Do_Err_Out (err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) end if ierr = NF90_Get_Var(ncid, varid, varrd_scali) if (ierr /= NF90_NOERR) then err_msg = 'In Ncrd_Scal_Int #2: ' // NF90_Strerror(ierr) call Do_Err_Out (err_msg, .true., 2, ncid, varid, 0, 0.0d0, 0.0d0) end if end subroutine Ncrd_Scal_Int !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ncrd_1d_R8 ! ! !INTERFACE: ! subroutine Ncrd_1d_R8(varrd_1d, ncid, varname, strt1d, cnt1d, err_stop, stat) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id to read array input data from !! varname : netCDF variable name for array !! strt1d : vector specifying the index in varrd_1d where !! the first of the data values will be read !! cnt1d : varrd_1d dimension integer , intent(in) :: ncid character (len=*), intent(in) :: varname integer , intent(in) :: strt1d(1) integer , intent(in) :: cnt1d (1) logical, optional, intent(in) :: err_stop ! ! !OUTPUT PARAMETERS: !! varrd_1d : array to fill real*8 , intent(out) :: varrd_1d(cnt1d(1)) integer, optional, intent(out) :: stat ! ! !DESCRIPTION: Reads in a 1D netCDF real array and does some error checking. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: ! character (len=512) :: err_msg integer :: ierr integer :: varid logical :: dostop ! set dostop flag dostop = .true. if ( present ( err_stop ) ) dostop = err_stop ierr = NF90_Inq_VarId(ncid, varname, varid) if (ierr /= NF90_NOERR) then if ( dostop ) then err_msg = 'In Ncrd_1d_R8 #1: ' // Trim (varname) // & ', ' // NF90_Strerror(ierr) call Do_Err_Out (err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) else varrd_1d(:) = -999d0 if ( present ( stat ) ) stat = 1 return end if end if ierr = NF90_Get_Var(ncid, varid, varrd_1d, start=strt1d, count=cnt1d) if (ierr /= NF90_NOERR) then if ( dostop ) then err_msg = 'In Ncrd_1d_R8 #2: ' // NF90_Strerror(ierr) call Do_Err_Out (err_msg, .true., 2, ncid, varid, 0, 0.0d0, 0.0d0) else varrd_1d(:) = -999d0 if ( present ( stat ) ) stat = 2 return endif end if ! set stat to 0 (= success) if ( present ( stat ) ) stat = 0 end subroutine Ncrd_1d_R8 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ncrd_1d_R4 ! ! !INTERFACE: ! subroutine Ncrd_1d_R4(varrd_1d, ncid, varname, strt1d, cnt1d, err_stop, stat) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id to read array input data from !! varname : netCDF variable name for array !! strt1d : vector specifying the index in varrd_1d where !! the first of the data values will be read !! cnt1d : varrd_1d dimension integer , intent(in) :: ncid character (len=*), intent(in) :: varname integer , intent(in) :: strt1d(1) integer , intent(in) :: cnt1d (1) logical, optional, intent(in) :: err_stop ! ! !OUTPUT PARAMETERS: !! varrd_1d : array to fill real*4 , intent(out) :: varrd_1d(cnt1d(1)) integer, optional, intent(out) :: stat ! ! !DESCRIPTION: Reads in a 1D netCDF real array and does some error checking. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: ! character (len=512) :: err_msg integer :: ierr integer :: varid logical :: dostop ! set dostop flag dostop = .true. if ( present ( err_stop ) ) dostop = err_stop ierr = NF90_Inq_VarId(ncid, varname, varid) if (ierr /= NF90_NOERR) then if ( dostop ) then err_msg = 'In Ncrd_1d_R4 #1: ' // Trim (varname) // & ', ' // NF90_Strerror(ierr) call Do_Err_Out (err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) else varrd_1d(:) = -999.0 if ( present ( stat ) ) stat = 1 return end if end if ierr = NF90_Get_Var(ncid, varid, varrd_1d, start=strt1d, count=cnt1d) if (ierr /= NF90_NOERR) then if ( dostop ) then err_msg = 'In Ncrd_1d_R4 #2: ' // NF90_Strerror(ierr) call Do_Err_Out (err_msg, .true., 2, ncid, varid, 0, 0.0d0, 0.0d0) else varrd_1d(:) = -999.0 if ( present ( stat ) ) stat = 2 return endif end if ! set stat to 0 (= success) if ( present ( stat ) ) stat = 0 return end subroutine Ncrd_1d_R4 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ncrd_1d_Int ! ! !INTERFACE: ! subroutine Ncrd_1d_Int(varrd_1di, ncid, varname, strt1d, & cnt1d, err_stop, stat) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: ! !! ncid : netCDF file id to read array input data from !! varname : netCDF variable name for array !! strt1d : vector specifying the index in varrd_1di where !! the first of the data values will be read !! cnt1d : varrd_1di dimension integer , intent(in) :: ncid character (len=*), intent(in) :: varname integer , intent(in) :: strt1d(1) integer , intent(in) :: cnt1d (1) logical, optional, intent(in) :: err_stop ! ! !OUTPUT PARAMETERS: !! varrd_1di : intger array to fill integer , intent(out) :: varrd_1di(cnt1d(1)) integer, optional, intent(out) :: stat ! ! !DESCRIPTION: Reads in a 1D netCDF integer array and does some error ! checking. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: ! character (len=512) :: err_msg integer :: ierr integer :: varid logical :: dostop ! set dostop flag dostop = .true. if ( present ( err_stop ) ) dostop = err_stop ierr = NF90_Inq_VarId(ncid, varname, varid) if (ierr /= NF90_NOERR) then if ( dostop ) then err_msg = 'In Ncrd_1d_Int #1: ' // Trim (varname) // & ', ' // NF90_Strerror(ierr) call Do_Err_Out (err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) else varrd_1di(:) = -999 if ( present ( stat ) ) stat = 1 return end if end if ierr = NF90_Get_Var(ncid, varid, varrd_1di, start=strt1d, count=cnt1d) if (ierr /= NF90_NOERR) then if ( dostop ) then err_msg = 'In Ncrd_1d_Int #2: ' // NF90_Strerror(ierr) call Do_Err_Out (err_msg, .true., 2, ncid, varid, 0, 0.0d0, 0.0d0) else varrd_1di(:) = -999 if ( present ( stat ) ) stat = 2 return endif end if ! set stat to 0 (= success) if ( present ( stat ) ) stat = 0 return end subroutine Ncrd_1d_Int !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ncrd_2d_R8 ! ! !INTERFACE: ! subroutine Ncrd_2d_R8(varrd_2d, ncid, varname, strt2d, cnt2d) ! ! !USES: ! use netCDF use m_do_err_out !! ncid : netCDF file id to read array input data from !! varname : netCDF variable name for array !! strt2d : vector specifying the index in varrd_2d where !! the first of the data values will be read !! cnt2d : varrd_2d dimensions integer , intent(in) :: ncid character (len=*), intent(in) :: varname integer , intent(in) :: strt2d(2) integer , intent(in) :: cnt2d (2) ! ! !OUTPUT PARAMETERS: !! varrd_2d : array to fill real*8 , intent(out) :: varrd_2d(cnt2d(1), cnt2d(2)) ! ! !DESCRIPTION: Reads in a 2D netCDF real array and does some error checking. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character (len=512) :: err_msg integer :: ierr integer :: varid ! ierr = NF90_Inq_VarId(ncid, varname, varid) if (ierr /= NF90_NOERR) then err_msg = 'In Ncrd_2d_R8 #1: ' // Trim (varname) // & ', ' // NF90_Strerror(ierr) call Do_Err_Out (err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) end if ierr = NF90_Get_Var(ncid, varid, varrd_2d, start=strt2d, count=cnt2d) if (ierr /= NF90_NOERR) then err_msg = 'In Ncrd_2d_R8 #2: ' // NF90_Strerror(ierr) call Do_Err_Out (err_msg, .true., 2, ncid, varid, 0, 0.0d0, 0.0d0) end if end subroutine Ncrd_2d_R8 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ncrd_2d_R4 ! ! !INTERFACE: ! subroutine Ncrd_2d_R4(varrd_2d, ncid, varname, strt2d, cnt2d) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id to read array input data from !! varname : netCDF variable name for array !! strt2d : vector specifying the index in varrd_2d where !! the first of the data values will be read !! cnt2d : varrd_2d dimensions integer , intent(in) :: ncid character (len=*), intent(in) :: varname integer , intent(in) :: strt2d(2) integer , intent(in) :: cnt2d (2) ! ! !OUTPUT PARAMETERS: !! varrd_2d : array to fill real*4 , intent(out) :: varrd_2d(cnt2d(1), cnt2d(2)) ! ! !DESCRIPTION: Reads in a 2D netCDF real array and does some error checking. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character (len=512) :: err_msg integer :: ierr integer :: varid ! ierr = NF90_Inq_VarId(ncid, varname, varid) if (ierr /= NF90_NOERR) then err_msg = 'In Ncrd_2d_R4 #1: ' // Trim (varname) // & ', ' // NF90_Strerror(ierr) call Do_Err_Out (err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) end if ierr = NF90_Get_Var(ncid, varid, varrd_2d, start=strt2d, count=cnt2d) if (ierr /= NF90_NOERR) then err_msg = 'In Ncrd_2d_R4 #2: ' // NF90_Strerror(ierr) call Do_Err_Out (err_msg, .true., 2, ncid, varid, 0, 0.0d0, 0.0d0) end if end subroutine Ncrd_2d_R4 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ncrd_2d_Int ! ! !INTERFACE: ! subroutine Ncrd_2d_Int(varrd_2di, ncid, varname, strt2d, cnt2d) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id to read array input data from !! varname : netCDF variable name for array !! strt2d : vector specifying the index in varrd_2d where !! the first of the data values will be read !! cnt2d : varrd_2di dimensions integer , intent(in) :: ncid character (len=*), intent(in) :: varname integer , intent(in) :: strt2d(2) integer , intent(in) :: cnt2d (2) ! ! !OUTPUT PARAMETERS: !! varrd_2di : intger array to fill integer , intent(out) :: varrd_2di(cnt2d(1), cnt2d(2)) ! ! !DESCRIPTION: Reads in a 2D netCDF integer array and does some error ! checking. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character (len=512) :: err_msg integer :: ierr integer :: varid ! ierr = NF90_Inq_VarId(ncid, varname, varid) if (ierr /= NF90_NOERR) then err_msg = 'In Ncrd_2d_Int #1: ' // Trim (varname) // & ', ' // NF90_Strerror(ierr) call Do_Err_Out (err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) end if ierr = NF90_Get_Var(ncid, varid, varrd_2di, start=strt2d, count=cnt2d) if (ierr /= NF90_NOERR) then err_msg = 'In Ncrd_2d_Int #2: ' // NF90_Strerror(ierr) call Do_Err_Out (err_msg, .true., 2, ncid, varid, 0, 0.0d0, 0.0d0) end if end subroutine Ncrd_2d_Int !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ncrd_3d_R8 ! ! !INTERFACE: ! subroutine Ncrd_3d_R8(varrd_3d, ncid, varname, strt3d, cnt3d) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id to read array input data from !! varname : netCDF variable name for array !! strt3d : vector specifying the index in varrd_3d where !! the first of the data values will be read !! cnt3d : varrd_3d dimensions integer , intent(in) :: ncid character (len=*), intent(in) :: varname integer , intent(in) :: strt3d(3) integer , intent(in) :: cnt3d (3) ! ! !OUTPUT PARAMETERS: !! varrd_3d : array to fill real*8 , intent(out) :: varrd_3d(cnt3d(1), cnt3d(2), & cnt3d(3)) ! ! !DESCRIPTION: Reads in a 3D netCDF real array and does some error checking. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character (len=512) :: err_msg integer :: ierr integer :: varid ! ierr = NF90_Inq_VarId(ncid, varname, varid) if (ierr /= NF90_NOERR) then err_msg = 'In Ncrd_3d_R8 #1: ' // Trim (varname) // & ', ' // NF90_Strerror(ierr) call Do_Err_Out (err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) end if ierr = NF90_Get_Var(ncid, varid, varrd_3d, start=strt3d, count=cnt3d) if (ierr /= NF90_NOERR) then err_msg = 'In Ncrd_3d_R8 #2: ' // NF90_Strerror(ierr) call Do_Err_Out (err_msg, .true., 2, ncid, varid, 0, 0.0d0, 0.0d0) end if end subroutine Ncrd_3d_R8 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ncrd_3d_R4 ! ! !INTERFACE: ! subroutine Ncrd_3d_R4(varrd_3d, ncid, varname, strt3d, cnt3d) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id to read array input data from !! varname : netCDF variable name for array !! strt3d : vector specifying the index in varrd_3d where !! the first of the data values will be read !! cnt3d : varrd_3d dimensions integer , intent(in) :: ncid character (len=*), intent(in) :: varname integer , intent(in) :: strt3d(3) integer , intent(in) :: cnt3d (3) ! ! !OUTPUT PARAMETERS: !! varrd_3d : array to fill real*4 , intent(out) :: varrd_3d(cnt3d(1), cnt3d(2), & cnt3d(3)) ! ! !DESCRIPTION: Reads in a 3D netCDF real array and does some error checking. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character (len=512) :: err_msg integer :: ierr integer :: varid ! ierr = NF90_Inq_VarId(ncid, varname, varid) if (ierr /= NF90_NOERR) then err_msg = 'In Ncrd_3d_R4 #1: ' // Trim (varname) // & ', ' // NF90_Strerror(ierr) call Do_Err_Out (err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) end if ierr = NF90_Get_Var(ncid, varid, varrd_3d, start=strt3d, count=cnt3d) if (ierr /= NF90_NOERR) then err_msg = 'In Ncrd_3d_R4 #2: ' // NF90_Strerror(ierr) call Do_Err_Out (err_msg, .true., 2, ncid, varid, 0, 0.0d0, 0.0d0) end if end subroutine Ncrd_3d_R4 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ncrd_3d_Int ! ! !INTERFACE: ! subroutine Ncrd_3d_Int(varrd_3di, ncid, varname, strt3d, cnt3d) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id to read array input data from !! varname : netCDF variable name for array !! strt3d : vector specifying the index in varrd_3d where !! the first of the data values will be read !! cnt3d : varrd_3di dimensions integer , intent(in) :: ncid character (len=*), intent(in) :: varname integer , intent(in) :: strt3d(3) integer , intent(in) :: cnt3d (3) ! ! !OUTPUT PARAMETERS: !! varrd_3di : intger array to fill integer , intent(out) :: varrd_3di(cnt3d(1), cnt3d(2), & cnt3d(3)) ! ! !DESCRIPTION: Reads in a 3D netCDF integer array and does some error ! checking. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character (len=512) :: err_msg integer :: ierr integer :: varid ! ierr = NF90_Inq_VarId(ncid, varname, varid) if (ierr /= NF90_NOERR) then err_msg = 'In Ncrd_3d_Int #1: ' // Trim (varname) // & ', ' // NF90_Strerror(ierr) call Do_Err_Out (err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) end if ierr = NF90_Get_Var(ncid, varid, varrd_3di, start=strt3d, count=cnt3d) if (ierr /= NF90_NOERR) then err_msg = 'In Ncrd_3d_Int #2: ' // NF90_Strerror(ierr) call Do_Err_Out (err_msg, .true., 2, ncid, varid, 0, 0.0d0, 0.0d0) end if end subroutine Ncrd_3d_Int !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ncrd_4d_R8 ! ! !INTERFACE: ! subroutine Ncrd_4d_R8(varrd_4d, ncid, varname, strt4d, cnt4d) ! ! !USES: ! use netCDF use m_do_err_out ! implicit none ! ! !INPUT PARAMETERS: !! ncid : netCDF file id to read array input data from !! varname : netCDF variable name for array !! strt4d : vector specifying the index in varrd_4d where !! the first of the data values will be read !! cnt4d : varrd_4d dimensions integer , intent(in) :: ncid character (len=*), intent(in) :: varname integer , intent(in) :: strt4d(4) integer , intent(in) :: cnt4d (4) ! ! !OUTPUT PARAMETERS: !! varrd_4d : array to fill real*8 , intent(out) :: varrd_4d(cnt4d(1), cnt4d(2), & cnt4d(3), cnt4d(4)) ! ! !DESCRIPTION: Reads in a 4D netCDF real array and does some error checking. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character (len=512) :: err_msg integer :: ierr integer :: varid ! ierr = NF90_Inq_VarId(ncid, varname, varid) if (ierr /= NF90_NOERR) then err_msg = 'In Ncrd_4d_R8 #1: ' // Trim (varname) // & ', ' // NF90_Strerror(ierr) call Do_Err_Out (err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) end if ierr = NF90_Get_Var(ncid, varid, varrd_4d, start=strt4d, count=cnt4d) if (ierr /= NF90_NOERR) then err_msg = 'In Ncrd_4d_R8 #2: ' // NF90_Strerror(ierr) call Do_Err_Out (err_msg, .true., 2, ncid, varid, 0, 0.0d0, 0.0d0) end if end subroutine Ncrd_4d_R8 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ncrd_4d_R4 ! ! !INTERFACE: ! subroutine Ncrd_4d_R4(varrd_4d, ncid, varname, strt4d, cnt4d) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id to read array input data from !! varname : netCDF variable name for array !! strt4d : vector specifying the index in varrd_4d where !! the first of the data values will be read !! cnt4d : varrd_4d dimensions integer , intent(in) :: ncid character (len=*), intent(in) :: varname integer , intent(in) :: strt4d(4) integer , intent(in) :: cnt4d (4) ! ! !OUTPUT PARAMETERS: !! varrd_4d : array to fill real*4 , intent(out) :: varrd_4d(cnt4d(1), cnt4d(2), & cnt4d(3), cnt4d(4)) ! ! !DESCRIPTION: Reads in a 4D netCDF real array and does some error checking. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character (len=512) :: err_msg integer :: ierr integer :: varid ! ierr = NF90_Inq_VarId(ncid, varname, varid) if (ierr /= NF90_NOERR) then err_msg = 'In Ncrd_4d_R4 #1: ' // Trim (varname) // & ', ' // NF90_Strerror(ierr) call Do_Err_Out (err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) end if ierr = NF90_Get_Var(ncid, varid, varrd_4d, start=strt4d, count=cnt4d) if (ierr /= NF90_NOERR) then err_msg = 'In Ncrd_4d_R4 #2: ' // NF90_Strerror(ierr) call Do_Err_Out (err_msg, .true., 2, ncid, varid, 0, 0.0d0, 0.0d0) end if end subroutine Ncrd_4d_R4 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ncrd_4d_Int ! ! !INTERFACE: ! subroutine Ncrd_4d_Int (varrd_4di, ncid, varname, strt4d, cnt4d) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id to read array input data from !! varname : netCDF variable name for array !! strt3d : vector specifying the index in varrd_3d where !! the first of the data values will be read !! cnt3d : varrd_3di dimensions integer , intent(in) :: ncid character (len=*), intent(in) :: varname integer , intent(in) :: strt4d(4) integer , intent(in) :: cnt4d (4) ! ! !OUTPUT PARAMETERS: !! varrd_3di : intger array to fill integer , intent(out) :: varrd_4di(cnt4d(1), cnt4d(2), & cnt4d(3), cnt4d(4)) ! ! !DESCRIPTION: Reads in a 3D netCDF integer array and does some error ! checking. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character (len=512) :: err_msg integer :: ierr integer :: varid ! ierr = NF90_Inq_VarId(ncid, varname, varid) if (ierr /= NF90_NOERR) then err_msg = 'In Ncrd_3d_Int #1: ' // Trim (varname) // & ', ' // NF90_Strerror(ierr) call Do_Err_Out (err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) end if ierr = NF90_Get_Var(ncid, varid, varrd_4di, start=strt4d, count=cnt4d) if (ierr /= NF90_NOERR) then err_msg = 'In Ncrd_3d_Int #2: ' // NF90_Strerror(ierr) call Do_Err_Out (err_msg, .true., 2, ncid, varid, 0, 0.0d0, 0.0d0) end if end subroutine Ncrd_4d_Int !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ncrd_5d_R8 ! ! !INTERFACE: ! subroutine Ncrd_5d_R8(varrd_5d, ncid, varname, strt5d, cnt5d) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id to read array input data from !! varname : netCDF variable name for array !! strt5d : vector specifying the index in varrd_5d where !! the first of the data values will be read !! cnt5d : varrd_5d dimensions integer , intent(in) :: ncid character (len=*), intent(in) :: varname integer , intent(in) :: strt5d(5) integer , intent(in) :: cnt5d (5) ! ! !OUTPUT PARAMETERS: !! varrd_5d : array to fill real*8 , intent(out) :: varrd_5d(cnt5d(1), cnt5d(2), & cnt5d(3), cnt5d(4), & cnt5d(5)) ! ! !DESCRIPTION: Reads in a 5D netCDF real array and does some error checking. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character (len=512) :: err_msg integer :: ierr integer :: varid ! ierr = NF90_Inq_VarId(ncid, varname, varid) if (ierr /= NF90_NOERR) then err_msg = 'In Ncrd_5d_R8 #1: ' // Trim (varname) // & ', ' // NF90_Strerror(ierr) call Do_Err_Out (err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) end if ierr = NF90_Get_Var(ncid, varid, varrd_5d, start=strt5d, count=cnt5d) if (ierr /= NF90_NOERR) then err_msg = 'In Ncrd_5d_R8 #2: ' // NF90_Strerror(ierr) call Do_Err_Out (err_msg, .true., 2, ncid, varid, 0, 0.0d0, 0.0d0) end if end subroutine Ncrd_5d_R8 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ncrd_5d_R4 ! ! !INTERFACE: ! subroutine Ncrd_5d_R4(varrd_5d, ncid, varname, strt5d, cnt5d) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id to read array input data from !! varname : netCDF variable name for array !! strt5d : vector specifying the index in varrd_5d where !! the first of the data values will be read !! cnt5d : varrd_5d dimensions integer , intent(in) :: ncid character (len=*), intent(in) :: varname integer , intent(in) :: strt5d(5) integer , intent(in) :: cnt5d (5) ! ! !OUTPUT PARAMETERS: !! varrd_5d : array to fill real*4 , intent(out) :: varrd_5d(cnt5d(1), cnt5d(2), & cnt5d(3), cnt5d(4), & cnt5d(5)) ! ! !DESCRIPTION: Reads in a 5D netCDF real array and does some error checking. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character (len=512) :: err_msg integer :: ierr integer :: varid ! ierr = NF90_Inq_VarId(ncid, varname, varid) if (ierr /= NF90_NOERR) then err_msg = 'In Ncrd_5d_R4 #1: ' // Trim (varname) // & ', ' // NF90_Strerror(ierr) call Do_Err_Out (err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) end if ierr = NF90_Get_Var(ncid, varid, varrd_5d, start=strt5d, count=cnt5d) if (ierr /= NF90_NOERR) then err_msg = 'In Ncrd_5d_R4 #2: ' // NF90_Strerror(ierr) call Do_Err_Out (err_msg, .true., 2, ncid, varid, 0, 0.0d0, 0.0d0) end if end subroutine Ncrd_5d_R4 !EOC !------------------------------------------------------------------------- !BOP ! ! !IROUTINE: Ncrd_6d_R8 ! ! !INTERFACE: ! subroutine Ncrd_6d_R8(varrd_6d, ncid, varname, strt6d, cnt6d) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id to read array input data from !! varname : netCDF variable name for array !! strt5d : vector specifying the index in varrd_5d where !! the first of the data values will be read !! cnt5d : varrd_5d dimensions integer , intent(in) :: ncid character (len=*), intent(in) :: varname integer , intent(in) :: strt6d(6) integer , intent(in) :: cnt6d (6) ! ! !OUTPUT PARAMETERS: !! varrd_5d : array to fill real*8 , intent(out) :: varrd_6d(cnt6d(1), cnt6d(2), & cnt6d(3), cnt6d(4), & cnt6d(5), cnt6d(6)) ! ! !DESCRIPTION: Reads in a 5D netCDF real array and does some error checking. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character (len=512) :: err_msg integer :: ierr integer :: varid ! ierr = NF90_Inq_VarId(ncid, varname, varid) if (ierr /= NF90_NOERR) then err_msg = 'In Ncrd_6d_R8 #1: ' // Trim (varname) // & ', ' // NF90_Strerror(ierr) call Do_Err_Out (err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) end if ierr = NF90_Get_Var(ncid, varid, varrd_6d, start=strt6d, count=cnt6d) if (ierr /= NF90_NOERR) then err_msg = 'In Ncrd_6d_R8 #2: ' // NF90_Strerror(ierr) call Do_Err_Out (err_msg, .true., 2, ncid, varid, 0, 0.0d0, 0.0d0) end if end subroutine Ncrd_6d_R8 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ncrd_6d_R4 ! ! !INTERFACE: ! subroutine Ncrd_6d_R4(varrd_6d, ncid, varname, strt6d, cnt6d) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id to read array input data from !! varname : netCDF variable name for array !! strt5d : vector specifying the index in varrd_5d where !! the first of the data values will be read !! cnt5d : varrd_5d dimensions integer , intent(in) :: ncid character (len=*), intent(in) :: varname integer , intent(in) :: strt6d(6) integer , intent(in) :: cnt6d (6) ! ! !OUTPUT PARAMETERS: !! varrd_5d : array to fill real*4 , intent(out) :: varrd_6d(cnt6d(1), cnt6d(2), & cnt6d(3), cnt6d(4), & cnt6d(5), cnt6d(6)) ! ! !DESCRIPTION: Reads in a 5D netCDF real array and does some error checking. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character (len=512) :: err_msg integer :: ierr integer :: varid ! ierr = NF90_Inq_VarId(ncid, varname, varid) if ( ierr /= NF90_NOERR) then err_msg = 'In Ncrd_6d_R4 #1: ' // Trim (varname) // & ', ' // NF90_Strerror(ierr) call Do_Err_Out (err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) end if ierr = NF90_Get_Var(ncid, varid, varrd_6d, start=strt6d, count=cnt6d) if (ierr /= NF90_NOERR) then err_msg = 'In Ncrd_6d_R4 #2: ' // NF90_Strerror(ierr) call Do_Err_Out (err_msg, .true., 2, ncid, varid, 0, 0.0d0, 0.0d0) end if end subroutine Ncrd_6d_R4 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ncrd_7d_R8 ! ! !INTERFACE: ! subroutine Ncrd_7d_R8(varrd_7d, ncid, varname, strt7d, cnt7d) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id to read array input data from !! varname : netCDF variable name for array !! strt7d : vector specifying the index in varrd_7d where !! the first of the data values will be read !! cnt7d : varrd_7d dimensions integer , intent(in) :: ncid character (len=*), intent(in) :: varname integer , intent(in) :: strt7d(7) integer , intent(in) :: cnt7d (7) ! ! !OUTPUT PARAMETERS: !! varrd_5d : array to fill real*8 , intent(out) :: varrd_7d(cnt7d(1), cnt7d(2), & cnt7d(3), cnt7d(4), & cnt7d(5), cnt7d(6), & cnt7d(7)) ! ! !DESCRIPTION: Reads in a 7D netCDF real array and does some error checking. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character (len=512) :: err_msg integer :: ierr integer :: varid ! ierr = NF90_Inq_VarId(ncid, varname, varid) if (ierr /= NF90_NOERR) then err_msg = 'In Ncrd_7d_R8 #1: ' // Trim (varname) // & ', ' // NF90_Strerror(ierr) call Do_Err_Out (err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) end if ierr = NF90_Get_Var(ncid, varid, varrd_7d, start=strt7d, count=cnt7d) if (ierr /= NF90_NOERR) then err_msg = 'In Ncrd_7d_R8 #2: ' // NF90_Strerror(ierr) call Do_Err_Out (err_msg, .true., 2, ncid, varid, 0, 0.0d0, 0.0d0) end if end subroutine Ncrd_7d_R8 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ncrd_7d_R4 ! ! !INTERFACE: ! subroutine Ncrd_7d_R4(varrd_7d, ncid, varname, strt7d, cnt7d) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id to read array input data from !! varname : netCDF variable name for array !! strt7d : vector specifying the index in varrd_7d where !! the first of the data values will be read !! cnt7d : varrd_7d dimensions integer , intent(in) :: ncid character (len=*), intent(in) :: varname integer , intent(in) :: strt7d(7) integer , intent(in) :: cnt7d (7) ! ! !OUTPUT PARAMETERS: !! varrd_7d : array to fill real*4 , intent(out) :: varrd_7d(cnt7d(1), cnt7d(2), & cnt7d(3), cnt7d(4), & cnt7d(5), cnt7d(6), & cnt7d(7)) ! ! !DESCRIPTION: Reads in a 7D netCDF real array and does some error checking. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character (len=512) :: err_msg integer :: ierr integer :: varid ! ierr = NF90_Inq_VarId(ncid, varname, varid) if (ierr /= NF90_NOERR) then err_msg = 'In Ncrd_7d_R4 #1: ' // Trim (varname) // & ', ' // NF90_Strerror(ierr) call Do_Err_Out (err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) end if ierr = NF90_Get_Var(ncid, varid, varrd_7d, start=strt7d, count=cnt7d) if (ierr /= NF90_NOERR) then err_msg = 'In Ncrd_7d_R4 #2: ' // NF90_Strerror(ierr) call Do_Err_Out (err_msg, .true., 2, ncid, varid, 0, 0.0d0, 0.0d0) end if end subroutine Ncrd_7d_R4 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ncrd_1d_Char ! ! !INTERFACE: ! subroutine Ncrd_1d_Char(varrd_1dc, ncid, varname, strt1d, cnt1d) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: ! !! ncid : netCDF file id to read array input data from !! varname : netCDF variable name for array !! strt1d : vector specifying the index in varrd_1dc where !! the first of the data values will be read !! cnt1d : varrd_1dc dimension integer , intent(in) :: ncid character (len=*), intent(in) :: varname integer , intent(in) :: strt1d(1) integer , intent(in) :: cnt1d (1) ! ! !OUTPUT PARAMETERS: !! varrd_1dc : intger array to fill character (len=1), intent(out) :: varrd_1dc(cnt1d(1)) ! ! !DESCRIPTION: Reads in a 1D netCDF character array and does some error ! checking. !\\ !\\ !AUTHOR: ! Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character (len=512) :: err_msg integer :: ierr integer :: varid ! ierr = NF90_Inq_VarId(ncid, varname, varid) if (ierr /= NF90_NOERR) then err_msg = 'In Ncrd_1d_Char #1: ' // Trim (varname) // & ', ' // NF90_Strerror(ierr) call Do_Err_Out (err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) end if ierr = NF90_Get_Var(ncid, varid, varrd_1dc, start=strt1d, count=cnt1d) if (ierr /= NF90_NOERR) then err_msg = 'In Ncrd_1d_Char #2: ' // NF90_Strerror(ierr) call Do_Err_Out (err_msg, .true., 2, ncid, varid, 0, 0.0d0, 0.0d0) end if end subroutine Ncrd_1d_Char !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ncrd_2d_Char ! ! !INTERFACE: ! subroutine Ncrd_2d_Char(varrd_2dc, ncid, varname, strt2d, cnt2d) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id to read array input data from !! varname : netCDF variable name for array !! strt2d : vector specifying the index in varrd_2dc where !! the first of the data values will be read !! cnt2d : varrd_2dc dimensions integer , intent(in) :: ncid character (len=*), intent(in) :: varname integer , intent(in) :: strt2d(2) integer , intent(in) :: cnt2d (2) ! ! !OUTPUT PARAMETERS: !! varrd_2dc : charcter array to fill character , intent(out) :: varrd_2dc(cnt2d(1), cnt2d(2)) ! ! !DESCRIPTION: Reads in a 2D netCDF character array and does some error ! checking. !\\ !\\ ! !AUTHOR: ! Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character (len=512) :: err_msg integer :: ierr integer :: varid ! ierr = NF90_Inq_VarId(ncid, varname, varid) if (ierr /= NF90_NOERR) then err_msg = 'In Ncrd_2d_Char #1: ' // Trim (varname) // & ', ' // NF90_Strerror(ierr) call Do_Err_Out (err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) end if ierr = NF90_Get_Var(ncid, varid, varrd_2dc, start=strt2d, count=cnt2d) if (ierr /= NF90_NOERR) then err_msg = 'In Ncrd_2d_Char #2: ' // NF90_Strerror(ierr) call Do_Err_Out (err_msg, .true., 2, ncid, varid, 0, 0.0d0, 0.0d0) end if end subroutine Ncrd_2d_Char !EOC end module m_netcdf_io_read ================================================ FILE: NcdfUtil/m_netcdf_io_readattr.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: m_netcdf_io_readattr.F90 ! ! !INTERFACE: ! MODULE m_netcdf_io_readattr ! ! !USES: ! IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: NcGet_Var_Attributes INTERFACE NcGet_Var_Attributes MODULE PROCEDURE NcGet_Var_Attr_C MODULE PROCEDURE NcGet_Var_Attr_C_nostop MODULE PROCEDURE NcGet_Var_Attr_I4 MODULE PROCEDURE NcGet_Var_Attr_R4 MODULE PROCEDURE NcGet_Var_Attr_R8 MODULE PROCEDURE NcGet_Var_Attr_I4_arr MODULE PROCEDURE NcGet_Var_Attr_R4_arr MODULE PROCEDURE NcGet_Var_Attr_R8_arr END INTERFACE PUBLIC :: NcGet_Glob_Attributes INTERFACE NcGet_Glob_Attributes MODULE PROCEDURE NcGet_Glob_Attr_C MODULE PROCEDURE NcGet_Glob_Attr_I4 MODULE PROCEDURE NcGet_Glob_Attr_R4 MODULE PROCEDURE NcGet_Glob_Attr_R8 MODULE PROCEDURE NcGet_Glob_Attr_I4_arr MODULE PROCEDURE NcGet_Glob_Attr_R4_arr MODULE PROCEDURE NcGet_Glob_Attr_R8_arr END INTERFACE ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: NcGet_Var_Attr_C PRIVATE :: NcGet_Var_Attr_I4 PRIVATE :: NcGet_Var_Attr_R4 PRIVATE :: NcGet_Var_Attr_R8 PRIVATE :: NcGet_Var_Attr_I4_arr PRIVATE :: NcGet_Var_Attr_R4_arr PRIVATE :: NcGet_Var_Attr_R8_arr PRIVATE :: NcGet_Glob_Attr_C PRIVATE :: NcGet_Glob_Attr_I4 PRIVATE :: NcGet_Glob_Attr_R4 PRIVATE :: NcGet_Glob_Attr_R8 PRIVATE :: NcGet_Glob_Attr_I4_arr PRIVATE :: NcGet_Glob_Attr_R4_arr PRIVATE :: NcGet_Glob_Attr_R8_arr ! ! !DESCRIPTION: Provides netCDF utility routines to read both netCDF ! variable attributes and global attributes. Individual routines for ! reading attributes of different types are overloaded with F90 ! interfaces. !\\ !\\ ! !AUTHOR: ! Bob Yantosca (based on code by Jules Kouatchou and Maharaj Bhat) ! ! !REMARKS: ! This file is based on code from NASA/GSFC, SIVO, Code 610.3 ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: NcGet_Var_Attr_C ! ! !DESCRIPTION: Returns a variable attribute of type CHARACTER. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NcGet_Var_Attr_C( fid, varName, attName, attValue ) ! ! USES: ! USE netCDF USE m_do_err_out ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: fId ! netCDF file ID CHARACTER(LEN=*), INTENT(IN) :: varName ! netCDF variable name CHARACTER(LEN=*), INTENT(IN) :: attName ! Name of variable attribute ! ! !OUTPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(OUT) :: attValue ! Attribute value ! ! !DESCRIPTION: Reads a variable attribute (CHARACTER type) from a netCDF file. !\\ !\\ ! !AUTHOR: ! Bob Yantosca (based on code by Jules Kouatchou and Maharaj Bhat) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=512) :: errMsg INTEGER :: status, vId, EC ! Zero return value attValue = '' ! Check if VARNAME is a valid variable status = NF90_Inq_VarId( fId, varName, vId ) ! Exit w/ error message if VARNAME is not valid IF ( status /= NF90_NOERR ) THEN errMsg = 'In NcGet_Var_Attr_C: ' // TRIM( varName ) // & ', ' // NF90_Strerror( status ) CALL Do_Err_Out( errMsg, .TRUE., 0, 0, 0, 0, 0.0d0, 0.0d0 ) ENDIF ! Get the attribute status = NF90_Get_Att( fId, vId, attName, attValue ) ! Exit w/ error message if unsuccessful IF ( status /= NF90_NOERR ) THEN errMsg = 'In NcGet_Var_Attr_C: cannot read attribute : ' // & TRIM( attName ) CALL Do_Err_Out( errMsg, .TRUE., 0, 0, 0, 0, 0.0d0, 0.0d0 ) endif END SUBROUTINE NcGet_Var_Attr_C !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: NcGet_Var_Attr_I4 ! ! !DESCRIPTION: Returns a variable attribute of type INTEGER*4. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NcGet_Var_Attr_I4( fid, varName, attName, attValue ) ! ! USES: ! USE netCDF USE m_do_err_out ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: fId ! netCDF file ID CHARACTER(LEN=*), INTENT(IN) :: varName ! netCDF variable name CHARACTER(LEN=*), INTENT(IN) :: attName ! Name of variable attribute ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: attValue ! Attribute value ! ! !DESCRIPTION: Reads a variable attribute (INTEGER type) from a netCDF file. !\\ !\\ ! !AUTHOR: ! Bob Yantosca (based on code by Jules Kouatchou and Maharaj Bhat) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=512) :: errMsg INTEGER :: status, vId ! Zero return value attValue = 0 ! Check if VARNAME is a valid variable status = NF90_Inq_VarId( fId, varName, vId ) ! Exit w/ error message if VARNAME is not valid IF ( status /= NF90_NOERR ) THEN errMsg = 'In NcGet_Var_Attr_I4: ' // TRIM( varName ) // & ', ' // NF90_Strerror( status ) CALL Do_Err_Out ( errMsg, .TRUE., 1, fId, 0, 0, 0.0d0, 0.0d0) ENDIF ! Get the attribute status = NF90_Get_Att( fId, vId, attName, attValue ) ! Exit w/ error message if unsuccessful IF ( status /= NF90_NOERR ) THEN errMsg = 'In NcGet_Var_Attr_I4: cannot read attribute : ' // & TRIM( attName ) CALL Do_Err_Out( errMsg, .TRUE., 0, 0, 0, 0, 0.0d0, 0.0d0 ) endif END SUBROUTINE NcGet_Var_Attr_I4 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: NcGet_Var_Attr_R4 ! ! !DESCRIPTION: Returns a variable attribute of type REAL*4. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NcGet_Var_Attr_R4( fid, varName, attName, attValue ) ! ! USES: ! USE netCDF USE m_do_err_out ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: fId ! netCDF file ID CHARACTER(LEN=*), INTENT(IN) :: varName ! netCDF variable name CHARACTER(LEN=*), INTENT(IN) :: attName ! Name of variable attribute ! ! !OUTPUT PARAMETERS: ! REAL*4, INTENT(OUT) :: attValue ! Attribute value ! ! !DESCRIPTION: Reads a variable attribute (REAL*4 type) from a netCDF file. !\\ !\\ ! !AUTHOR: ! Bob Yantosca (based on code by Jules Kouatchou and Maharaj Bhat) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=512) :: errMsg INTEGER :: status, vId ! Zero return value attValue = 0e0 ! Check if VARNAME is a valid variable status = NF90_Inq_VarId( fId, varName, vId ) ! Exit w/ error message if VARNAME is not valid IF ( status /= NF90_NOERR ) THEN errMsg = 'In NcGet_Var_Attr_R4: ' // TRIM( varName ) // & ', ' // NF90_Strerror( status ) CALL Do_Err_Out ( errMsg, .TRUE., 1, fId, 0, 0, 0.0d0, 0.0d0) ENDIF ! Get the attribute status = NF90_Get_Att( fId, vId, attName, attValue ) ! Exit w/ error message if unsuccessful IF ( status /= NF90_NOERR ) THEN errMsg = 'In NcGet_Var_Attr_R4: cannot read attribute : ' // & TRIM( attName ) CALL Do_Err_Out( errMsg, .TRUE., 0, 0, 0, 0, 0.0d0, 0.0d0 ) endif END SUBROUTINE NcGet_Var_Attr_R4 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: NcGet_Var_Attr_R8 ! ! !DESCRIPTION: Returns a variable attribute of type REAL*8. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NcGet_Var_Attr_R8( fid, varName, attName, attValue ) ! ! USES: ! USE netCDF USE m_do_err_out ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: fId ! netCDF file ID CHARACTER(LEN=*), INTENT(IN) :: varName ! netCDF variable name CHARACTER(LEN=*), INTENT(IN) :: attName ! Name of variable attribute ! ! !OUTPUT PARAMETERS: ! REAL*8, INTENT(OUT) :: attValue ! Attribute value ! ! !DESCRIPTION: Reads a variable attribute (REAL*4 type) from a netCDF file. !\\ !\\ ! !AUTHOR: ! Bob Yantosca (based on code by Jules Kouatchou and Maharaj Bhat) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=512) :: errMsg INTEGER :: status, vId ! Zero return value attValue = 0d0 ! Check if VARNAME is a valid variable status = NF90_Inq_VarId( fId, varName, vId ) ! Exit w/ error message if VARNAME is not valid IF ( status /= NF90_NOERR ) THEN errMsg = 'In NcGet_Var_Attr_R8: ' // TRIM( varName ) // & ', ' // NF90_Strerror( status ) CALL Do_Err_Out ( errMsg, .TRUE., 1, fId, 0, 0, 0.0d0, 0.0d0) ENDIF ! Get the attribute status = NF90_Get_Att( fId, vId, attName, attValue ) ! Exit w/ error message if unsuccessful IF ( status /= NF90_NOERR ) THEN errMsg = 'In NcGet_Var_Attr_R8: cannot read attribute : ' // & TRIM( attName ) CALL Do_Err_Out( errMsg, .TRUE., 0, 0, 0, 0, 0.0d0, 0.0d0 ) endif END SUBROUTINE NcGet_Var_Attr_R8 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: NcGet_Var_Attr_I4_arr ! ! !DESCRIPTION: Returns a vector variable attribute of type INTEGER*4. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NcGet_Var_Attr_I4_arr( fid, varName, attName, attValue ) ! ! USES: ! USE netCDF USE m_do_err_out ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: fId ! netCDF file ID CHARACTER(LEN=*), INTENT(IN) :: varName ! netCDF variable name CHARACTER(LEN=*), INTENT(IN) :: attName ! Name of variable attribute ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: attValue(:) ! Attribute value ! ! !DESCRIPTION: Reads a variable attribute (INTEGER type) from a netCDF file. !\\ !\\ ! !AUTHOR: ! Bob Yantosca (based on code by Jules Kouatchou and Maharaj Bhat) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=512) :: errMsg INTEGER :: status, vId ! Zero return value attValue = 0 ! Check if VARNAME is a valid variable status = NF90_Inq_VarId( fId, varName, vId ) ! Exit w/ error message if VARNAME is not valid IF ( status /= NF90_NOERR ) THEN errMsg = 'In NcGet_Var_Attr_I4_arr: ' // TRIM( varName ) // & ', ' // NF90_Strerror( status ) CALL Do_Err_Out ( errMsg, .TRUE., 1, fId, 0, 0, 0.0d0, 0.0d0) ENDIF ! Get the attribute status = NF90_Get_Att( fId, vId, attName, attValue ) ! Exit w/ error message if unsuccessful IF ( status /= NF90_NOERR ) THEN errMsg = 'In NcGet_Var_Attr_I4_arr: cannot read attribute : ' // & TRIM( attName ) CALL Do_Err_Out( errMsg, .TRUE., 0, 0, 0, 0, 0.0d0, 0.0d0 ) endif END SUBROUTINE NcGet_Var_Attr_I4_arr !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: NcGet_Var_Attr_R4_arr ! ! !DESCRIPTION: Returns a vector variable attribute of type REAL*4. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NcGet_Var_Attr_R4_arr( fid, varName, attName, attValue ) ! ! USES: ! USE netCDF USE m_do_err_out ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: fId ! netCDF file ID CHARACTER(LEN=*), INTENT(IN) :: varName ! netCDF variable name CHARACTER(LEN=*), INTENT(IN) :: attName ! Name of variable attribute ! ! !OUTPUT PARAMETERS: ! REAL*4, INTENT(OUT) :: attValue(:) ! Attribute value ! ! !DESCRIPTION: Reads a variable attribute (REAL*4 type) from a netCDF file. !\\ !\\ ! !AUTHOR: ! Bob Yantosca (based on code by Jules Kouatchou and Maharaj Bhat) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=512) :: errMsg INTEGER :: status, vId ! Zero return value attValue = 0e0 ! Check if VARNAME is a valid variable status = NF90_Inq_VarId( fId, varName, vId ) ! Exit w/ error message if VARNAME is not valid IF ( status /= NF90_NOERR ) THEN errMsg = 'In NcGet_Var_Attr_R4_arr: ' // TRIM( varName ) // & ', ' // NF90_Strerror( status ) CALL Do_Err_Out ( errMsg, .TRUE., 1, fId, 0, 0, 0.0d0, 0.0d0) ENDIF ! Get the attribute status = NF90_Get_Att( fId, vId, attName, attValue ) ! Exit w/ error message if unsuccessful IF ( status /= NF90_NOERR ) THEN errMsg = 'In NcGet_Var_Attr_R4_arr: cannot read attribute : ' // & TRIM( attName ) CALL Do_Err_Out( errMsg, .TRUE., 0, 0, 0, 0, 0.0d0, 0.0d0 ) endif END SUBROUTINE NcGet_Var_Attr_R4_arr !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: NcGet_Var_Attr_R8_arr ! ! !DESCRIPTION: Returns a vector variable attribute of type REAL*8. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NcGet_Var_Attr_R8_arr( fid, varName, attName, attValue ) ! ! USES: ! USE netCDF USE m_do_err_out ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: fId ! netCDF file ID CHARACTER(LEN=*), INTENT(IN) :: varName ! netCDF variable name CHARACTER(LEN=*), INTENT(IN) :: attName ! Name of variable attribute ! ! !OUTPUT PARAMETERS: ! REAL*8, INTENT(OUT) :: attValue(:) ! Attribute value ! ! !DESCRIPTION: Reads a variable attribute (REAL*4 type) from a netCDF file. !\\ !\\ ! !AUTHOR: ! Bob Yantosca (based on code by Jules Kouatchou and Maharaj Bhat) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=512) :: errMsg INTEGER :: status, vId ! Zero return value attValue = 0d0 ! Check if VARNAME is a valid variable status = NF90_Inq_VarId( fId, varName, vId ) ! Exit w/ error message if VARNAME is not valid IF ( status /= NF90_NOERR ) THEN errMsg = 'In NcGet_Var_Attr_R8_arr: ' // TRIM( varName ) // & ', ' // NF90_Strerror( status ) CALL Do_Err_Out ( errMsg, .TRUE., 1, fId, 0, 0, 0.0d0, 0.0d0) ENDIF ! Get the attribute status = NF90_Get_Att( fId, vId, attName, attValue ) ! Exit w/ error message if unsuccessful IF ( status /= NF90_NOERR ) THEN errMsg = 'In NcGet_Var_Attr_R8_arr: cannot read attribute : ' // & TRIM( attName ) CALL Do_Err_Out( errMsg, .TRUE., 0, 0, 0, 0, 0.0d0, 0.0d0 ) endif END SUBROUTINE NcGet_Var_Attr_R8_arr !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: NcGet_Glob_Attr_C ! ! !DESCRIPTION: Returns a variable attribute of type CHARACTER. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NcGet_Glob_Attr_C( fid, attName, attValue ) ! ! USES: ! USE netCDF USE m_do_err_out ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: fId ! netCDF file ID CHARACTER(LEN=*), INTENT(IN) :: attName ! Name of variable attribute ! ! !OUTPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(OUT) :: attValue ! Attribute value ! ! !DESCRIPTION: Reads a global attribute (CHARACTER type) from a netCDF file. !\\ !\\ ! !AUTHOR: ! Bob Yantosca (based on code by Jules Kouatchou and Maharaj Bhat) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=512) :: errMsg, varName INTEGER :: status ! Zero return value attValue = '' ! Get the attribute status = NF90_Get_Att( fId, NF90_GLOBAL, attName, attValue ) ! Exit w/ error message if unsuccessful IF ( status /= NF90_NOERR ) THEN errMsg = 'In NcGet_Glob_Attr_C: cannot read attribute : ' // & TRIM( attName ) CALL Do_Err_Out( errMsg, .TRUE., 0, 0, 0, 0, 0.0d0, 0.0d0 ) endif END SUBROUTINE NcGet_Glob_Attr_C !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: NcGet_Glob_Attr_I4 ! ! !DESCRIPTION: Returns a variable attribute of type INTEGER*4. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NcGet_Glob_Attr_I4( fid, attName, attValue ) ! ! USES: ! USE netCDF USE m_do_err_out ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: fId ! netCDF file ID CHARACTER(LEN=*), INTENT(IN) :: attName ! Name of variable attribute ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: attValue ! Attribute value ! ! !DESCRIPTION: Reads a global attribute (INTEGER type) from a netCDF file. !\\ !\\ ! !AUTHOR: ! Bob Yantosca (based on code by Jules Kouatchou and Maharaj Bhat) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=512) :: errMsg, varName INTEGER :: status ! Zero return value attValue = 0 ! Get the attribute status = NF90_Get_Att( fId, NF90_GLOBAL, attName, attValue ) ! Exit w/ error message if unsuccessful IF ( status /= NF90_NOERR ) THEN errMsg = 'In NcGet_Glob_Attr_I4: cannot read attribute : ' // & TRIM( attName ) CALL Do_Err_Out( errMsg, .TRUE., 0, 0, 0, 0, 0.0d0, 0.0d0 ) endif END SUBROUTINE NcGet_Glob_Attr_I4 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: NcGet_Glob_Attr_R4 ! ! !DESCRIPTION: Returns a variable attribute of type REAL*4. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NcGet_Glob_Attr_R4( fid, attName, attValue ) ! ! USES: ! USE netCDF USE m_do_err_out ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: fId ! netCDF file ID CHARACTER(LEN=*), INTENT(IN) :: attName ! Name of variable attribute ! ! !OUTPUT PARAMETERS: ! REAL*4, INTENT(OUT) :: attValue ! Attribute value ! ! !DESCRIPTION: Reads a global attribute (REAL*4 type) from a netCDF file. !\\ !\\ ! !AUTHOR: ! Bob Yantosca (based on code by Jules Kouatchou and Maharaj Bhat) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=512) :: errMsg, varName INTEGER :: status ! Zero return value attValue = 0e0 ! Get the attribute status = NF90_Get_Att( fId, NF90_GLOBAL, attName, attValue ) ! Exit w/ error message if unsuccessful IF ( status /= NF90_NOERR ) THEN errMsg = 'In NcGet_Glob_Attr_R4: cannot read attribute : ' // & TRIM( attName ) CALL Do_Err_Out( errMsg, .TRUE., 0, 0, 0, 0, 0.0d0, 0.0d0 ) endif END SUBROUTINE NcGet_Glob_Attr_R4 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: NcGet_Glob_Attr_R8 ! ! !DESCRIPTION: Returns a variable attribute of type REAL*8. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NcGet_Glob_Attr_R8( fid, attName, attValue ) ! ! USES: ! USE netCDF USE m_do_err_out ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: fId ! netCDF file ID CHARACTER(LEN=*), INTENT(IN) :: attName ! Name of variable attribute ! ! !OUTPUT PARAMETERS: ! REAL*8, INTENT(OUT) :: attValue ! Attribute value ! ! !DESCRIPTION: Reads a global attribute (REAL*8 type) from a netCDF file. !\\ !\\ ! !AUTHOR: ! Bob Yantosca (based on code by Jules Kouatchou and Maharaj Bhat) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=512) :: errMsg, varName INTEGER :: status ! Zero return value attValue = 0d0 ! Get the attribute status = NF90_Get_Att( fId, NF90_GLOBAL, attName, attValue ) ! Exit w/ error message if unsuccessful IF ( status /= NF90_NOERR ) THEN errMsg = 'In NcGet_Glob_Attr_R8: cannot read attribute : ' // & TRIM( attName ) CALL Do_Err_Out( errMsg, .TRUE., 0, 0, 0, 0, 0.0d0, 0.0d0 ) endif END SUBROUTINE NcGet_Glob_Attr_R8 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: NcGet_Glob_Attr_I4_arr ! ! !DESCRIPTION: Returns a variable attribute of type INTEGER*4. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NcGet_Glob_Attr_I4_arr( fid, attName, attValue ) ! ! USES: ! USE netCDF USE m_do_err_out ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: fId ! netCDF file ID CHARACTER(LEN=*), INTENT(IN) :: attName ! Name of variable attribute ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: attValue(:) ! Attribute value ! ! !DESCRIPTION: Reads a global attribute (INTEGER type) from a netCDF file. !\\ !\\ ! !AUTHOR: ! Bob Yantosca (based on code by Jules Kouatchou and Maharaj Bhat) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=512) :: errMsg, varName INTEGER :: status ! Zero return value attValue = 0 ! Get the attribute status = NF90_Get_Att( fId, NF90_GLOBAL, attName, attValue ) ! Exit w/ error message if unsuccessful IF ( status /= NF90_NOERR ) THEN errMsg = 'In NcGet_Glob_Attr_I4_arr: cannot read attribute : ' // & TRIM( attName ) CALL Do_Err_Out( errMsg, .TRUE., 0, 0, 0, 0, 0.0d0, 0.0d0 ) endif END SUBROUTINE NcGet_Glob_Attr_I4_arr !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: NcGet_Glob_Attr_R4_arr ! ! !DESCRIPTION: Returns a variable attribute of type REAL*4. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NcGet_Glob_Attr_R4_arr( fid, attName, attValue ) ! ! !USES: ! USE netCDF USE m_do_err_out ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: fId ! netCDF file ID CHARACTER(LEN=*), INTENT(IN) :: attName ! Name of variable attribute ! ! !OUTPUT PARAMETERS: ! REAL*4, INTENT(OUT) :: attValue(:) ! Attribute value ! ! !DESCRIPTION: Reads a global attribute (REAL*4 type) from a netCDF file. !\\ !\\ ! !AUTHOR: ! Bob Yantosca (based on code by Jules Kouatchou and Maharaj Bhat) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=512) :: errMsg, varName INTEGER :: status ! Zero return value attValue = 0e0 ! Get the attribute status = NF90_Get_Att( fId, NF90_GLOBAL, attName, attValue ) ! Exit w/ error message if unsuccessful IF ( status /= NF90_NOERR ) THEN errMsg = 'In NcGet_Glob_Attr_R4_arr: cannot read attribute : ' // & TRIM( attName ) CALL Do_Err_Out( errMsg, .TRUE., 0, 0, 0, 0, 0.0d0, 0.0d0 ) endif END SUBROUTINE NcGet_Glob_Attr_R4_arr !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: NcGet_Glob_Attr_R8 ! ! !DESCRIPTION: Returns a variable attribute of type REAL*8. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NcGet_Glob_Attr_R8_arr( fid, attName, attValue ) ! ! USES: ! USE netCDF USE m_do_err_out ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: fId ! netCDF file ID CHARACTER(LEN=*), INTENT(IN) :: attName ! Name of variable attribute ! ! !OUTPUT PARAMETERS: ! REAL*8, INTENT(OUT) :: attValue(:) ! Attribute value ! ! !DESCRIPTION: Reads a global attribute (REAL*8 type) from a netCDF file. !\\ !\\ ! !AUTHOR: ! Bob Yantosca (based on code by Jules Kouatchou and Maharaj Bhat) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=512) :: errMsg, varName INTEGER :: status ! Zero return value attValue = 0d0 ! Get the attribute status = NF90_Get_Att( fId, NF90_GLOBAL, attName, attValue ) ! Exit w/ error message if unsuccessful IF ( status /= NF90_NOERR ) THEN errMsg = 'In NcGet_Glob_Attr_R8_arr: cannot read attribute : ' // & TRIM( attName ) CALL Do_Err_Out( errMsg, .TRUE., 0, 0, 0, 0, 0.0d0, 0.0d0 ) endif END SUBROUTINE NcGet_Glob_Attr_R8_arr !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: NcGet_Var_Attr_C_nostop ! ! !DESCRIPTION: Returns a variable attribute of type CHARACTER. Similar ! to NcGet_Var_Attr_C, but does not stop upon error, Instead, a status ! flag is passed back to the calling routine. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NcGet_Var_Attr_C_nostop( fId, varName, attName, attValue, RC ) ! ! USES: ! USE netCDF USE m_do_err_out ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: fId ! netCDF file ID CHARACTER(LEN=*), INTENT(IN) :: varName ! netCDF variable name CHARACTER(LEN=*), INTENT(IN) :: attName ! Name of variable attribute ! ! !OUTPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(OUT) :: attValue ! Attribute value INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !DESCRIPTION: Reads a variable attribute (CHARACTER type) from a netCDF file. !\\ !\\ ! !AUTHOR: ! Bob Yantosca (based on code by Jules Kouatchou and Maharaj Bhat) ! ! !REVISION HISTORY: ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=512) :: errMsg INTEGER :: status, vId ! Zero return value attValue = '' ! Check if VARNAME is a valid variable status = NF90_Inq_VarId( fId, varName, vId ) ! Exit w/ error message if VARNAME is not valid IF ( status /= NF90_NOERR ) THEN RC = status RETURN ENDIF ! Get the attribute status = NF90_Get_Att( fId, vId, attName, attValue ) ! Exit w/ error message if unsuccessful IF ( status /= NF90_NOERR ) THEN RC = status RETURN ENDIF END SUBROUTINE NcGet_Var_Attr_C_nostop !EOC END MODULE m_netcdf_io_readattr ================================================ FILE: NcdfUtil/m_netcdf_io_write.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: m_netcdf_io_write ! ! !INTERFACE: ! MODULE m_netcdf_io_write ! IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! ! Public interface PUBLIC :: NcWr ! Private methods overloaded by public interface ! (see below for info about these routines & the arguments they take) INTERFACE NcWr MODULE PROCEDURE Ncwr_Scal_R4 MODULE PROCEDURE Ncwr_Scal_R8 MODULE PROCEDURE Ncwr_Scal_Int MODULE PROCEDURE Ncwr_1d_R8 MODULE PROCEDURE Ncwr_1d_R4 MODULE PROCEDURE Ncwr_1d_Int MODULE PROCEDURE Ncwr_1d_Char MODULE PROCEDURE Ncwr_2d_R8 MODULE PROCEDURE Ncwr_2d_R4 MODULE PROCEDURE Ncwr_2d_Int MODULE PROCEDURE Ncwr_2d_Char MODULE PROCEDURE Ncwr_3d_R8 MODULE PROCEDURE Ncwr_3d_R4 MODULE PROCEDURE Ncwr_3d_Int MODULE PROCEDURE Ncwr_4d_R8 MODULE PROCEDURE Ncwr_4d_R4 MODULE PROCEDURE Ncwr_4d_Int MODULE PROCEDURE Ncwr_5d_R8 MODULE PROCEDURE Ncwr_5d_R4 MODULE PROCEDURE Ncwr_6d_R8 MODULE PROCEDURE Ncwr_6d_R4 END INTERFACE NcWr ! ! !DESCRIPTION: Routines for writing variables in a netCDF file. !\\ !\\ ! !AUTHOR: ! Jules Kouatchou ! ! !REMARKS: ! This file is based on code from NASA/GSFC, SIVO, Code 610.3 ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ncwr_Scal_R4 ! ! !INTERFACE: ! subroutine NcWr_Scal_R4(varwr_scal, ncid, varname) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id to write variable to !! varname : netCDF variable name !! varwr_scal : variable to write out integer , intent(in) :: ncid character(len=*), intent(in) :: varname real*4 , intent(in) :: varwr_scal ! ! !DESCRIPTION: Writes out a netCDF real scalar variable. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character(len=512) :: err_msg integer :: ierr integer :: varid ! ierr = NF90_Inq_VarId(ncid, varname, varid) if (ierr /= NF90_NOERR) then err_msg = 'In Ncwr_Scal_R4 #1: ' // Trim(varname) // & ', ' // NF90_strerror(ierr) call Do_Err_Out(err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) end if ierr = Nf90_Put_Var(ncid, varid, varwr_scal) if (ierr /= NF90_NOERR) then err_msg = 'In Ncwr_Scal+R4 #2: ' // NF90_strerror(ierr) call Do_Err_Out(err_msg, .true., 2, ncid, varid, 0, 0.0d0, 0.0d0) end if end subroutine Ncwr_Scal_R4 !------------------------------------------------------------------------- !BOP ! ! !IROUTINE: Ncwr_Scal_R8 ! ! !INTERFACE: ! subroutine Ncwr_Scal_R8(varwr_scal, ncid, varname) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id to write variable to !! varname : netCDF variable name !! varwr_scal : variable to write out integer , intent(in) :: ncid character(len=*), intent(in) :: varname real*8 , intent(in) :: varwr_scal ! ! !DESCRIPTION: Writes out a netCDF real scalar variable. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character(len=512) :: err_msg integer :: ierr integer :: varid ! ierr = NF90_Inq_Varid(ncid, varname, varid) if (ierr /= NF90_NOERR) then err_msg = 'In Ncwr_Scal_R8 #1: ' // Trim(varname) // & ', ' // NF90_strerror(ierr) call Do_Err_Out(err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) end if ierr = NF90_Put_Var(ncid, varid, varwr_scal) if (ierr /= NF90_NOERR) then err_msg = 'In Ncwr_Scal_R8 #2: ' // NF90_strerror(ierr) call Do_Err_Out(err_msg, .true., 2, ncid, varid, 0, 0.0d0, 0.0d0) end if end subroutine Ncwr_Scal_R8 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ncwr_Scal_Int ! ! !INTERFACE: ! subroutine Ncwr_Scal_Int(varwr_scali, ncid, varname) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id to write variable to !! varname : netCDF variable name !! varwr_scali : integer variable to write out integer , intent(in) :: ncid character(len=*), intent(in) :: varname integer , intent(in) :: varwr_scali ! ! !DESCRIPTION: Writes out a netCDF integer scalar variable. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character(len=512) :: err_msg integer :: ierr integer :: varid ! ierr = NF90_Inq_Varid(ncid, varname, varid) if (ierr /= NF90_NOERR) then err_msg = 'In Ncwr_Scal_Int #1: ' // Trim(varname) // & ', ' // NF90_strerror(ierr) call Do_Err_Out(err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) end if ierr = NF90_Put_Var(ncid, varid, varwr_scali) if (ierr /= NF90_NOERR) then err_msg = 'In Ncwr_Scal_Int #2: ' // NF90_strerror(ierr) call Do_Err_Out(err_msg, .true., 2, ncid, varid, 0, 0.0d0, 0.0d0) end if end subroutine Ncwr_Scal_Int !EOC !------------------------------------------------------------------------- !BOP ! ! !IROUTINE: Ncwr_1d_R8 ! ! !INTERFACE: ! subroutine Ncwr_1d_R8(varwr_1d, ncid, varname, strt1d, cnt1d) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id to write array output data to !! varname : netCDF variable name for array !! strt1d : vector specifying the index in varwr_1d where !! the first of the data values will be written !! cnt1d : varwr_1d dimension !! varwr_1d : array to write out integer , intent(in) :: ncid character(len=*), intent(in) :: varname integer , intent(in) :: strt1d(1) integer , intent(in) :: cnt1d (1) real*8 , intent(in) :: varwr_1d(cnt1d(1)) ! ! !DESCRIPTION: Writes out a 1D netCDF real array and does some error ! checking. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character(len=512) :: err_msg integer :: ierr integer :: varid ! ierr = NF90_Inq_Varid(ncid, varname, varid) if (ierr /= NF90_NOERR) then err_msg = 'In Ncwr_1d_R8 #1: ' // Trim(varname) // & ', ' // NF90_strerror(ierr) call Do_Err_Out(err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) end if ierr = NF90_Put_Var(ncid, varid, varwr_1d, start=strt1d, count=cnt1d) if (ierr /= NF90_NOERR) then err_msg = 'In Ncwr_1d_R8 #2: ' // NF90_strerror(ierr) call Do_Err_Out(err_msg, .true., 2, ncid, varid, 0, 0.0d0, 0.0d0) end if end subroutine Ncwr_1d_R8 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ncwr_1d_R4 ! ! !INTERFACE: ! subroutine Ncwr_1d_R4(varwr_1d, ncid, varname, strt1d, cnt1d) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id to write array output data to !! varname : netCDF variable name for array !! strt1d : vector specifying the index in varwr_1d where !! the first of the data values will be written !! cnt1d : varwr_1d dimension !! varwr_1d : array to write out integer , intent(in) :: ncid character (len=*), intent(in) :: varname integer , intent(in) :: strt1d(1) integer , intent(in) :: cnt1d (1) real*4 , intent(in) :: varwr_1d(cnt1d(1)) ! ! !DESCRIPTION: Writes out a 1D netCDF real array and does some error ! checking. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character(len=512) :: err_msg integer :: ierr integer :: varid ! ierr = NF90_Inq_Varid(ncid, varname, varid) if (ierr /= NF90_NOERR) then err_msg = 'In Ncwr_1d_R4 #1: ' // Trim(varname) // & ', ' // NF90_strerror(ierr) call Do_Err_Out(err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) end if ierr = NF90_Put_Var(ncid, varid, varwr_1d, start=strt1d, count=cnt1d) if (ierr /= NF90_NOERR) then err_msg = 'In Ncwr_1d_R4 #2: ' // NF90_strerror(ierr) call Do_Err_Out(err_msg, .true., 2, ncid, varid, 0, 0.0d0, 0.0d0) end if end subroutine Ncwr_1d_R4 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ncwr_1d_Int ! ! !INTERFACE: ! subroutine Ncwr_1d_Int(varwr_1di, ncid, varname, strt1d, cnt1d) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id to write array output data to !! varname : netCDF variable name for array !! strt1d : vector specifying the index in varwr_1di where !! the first of the data values will be written !! cnt1d : varwr_1di dimension !! varwr_1di : intger array to write out integer , intent(in) :: ncid character(len=*), intent(in) :: varname integer , intent(in) :: strt1d(1) integer , intent(in) :: cnt1d (1) integer , intent(in) :: varwr_1di(cnt1d(1)) ! ! !DESCRIPTION: Writes out a 1D netCDF integer array and does some error ! checking. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character(len=512) :: err_msg integer :: ierr integer :: varid ! ierr = NF90_Inq_Varid(ncid, varname, varid) if (ierr /= NF90_NOERR) then err_msg = 'In Ncwr_1d_Int #1: ' // Trim(varname) // & ', ' // NF90_strerror(ierr) call Do_Err_Out(err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) end if ierr = NF90_Put_Var(ncid, varid, varwr_1di, start=strt1d, count=cnt1d) if (ierr /= NF90_NOERR) then err_msg = 'In Ncwr_1d_Int #2: ' // NF90_strerror(ierr) call Do_Err_Out(err_msg, .true., 2, ncid, varid, 0, 0.0d0, 0.0d0) end if end subroutine Ncwr_1d_Int !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ncwr_2d_R8 ! ! !INTERFACE: ! subroutine Ncwr_2d_R8(varwr_2d, ncid, varname, strt2d, cnt2d) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id to write array output data to !! varname : netCDF variable name for array !! strt2d : vector specifying the index in varwr_2d where !! the first of the data values will be written !! cnt2d : varwr_2d dimensions !! varwr_2d : array to write out integer , intent(in) :: ncid character(len=*), intent(in) :: varname integer , intent(in) :: strt2d(2) integer , intent(in) :: cnt2d (2) real*8 , intent(in) :: varwr_2d(cnt2d(1), cnt2d(2)) ! ! !DESCRIPTION: Writes out a 2D netCDF real array and does some error checking. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character(len=512) :: err_msg integer :: ierr integer :: varid ! ierr = NF90_Inq_Varid (ncid, varname, varid) if (ierr /= NF90_NOERR) then err_msg = 'In Ncwr_2d_R8 #1: ' // Trim(varname) // & ', ' // NF90_strerror(ierr) call Do_Err_Out(err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) end if ierr = NF90_Put_Var(ncid, varid, varwr_2d, start=strt2d, count=cnt2d) if (ierr /= NF90_NOERR) then err_msg = 'In Ncwr_2d_R8 #2: ' // NF90_strerror(ierr) call Do_Err_Out(err_msg, .true., 2, ncid, varid, 0, 0.0d0, 0.0d0) end if end subroutine Ncwr_2d_R8 !EOC !------------------------------------------------------------------------- !BOP ! ! !IROUTINE: Ncwr_2d_R4 ! ! !INTERFACE: ! subroutine Ncwr_2d_R4(varwr_2d, ncid, varname, strt2d, cnt2d) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id to write array output data to !! varname : netCDF variable name for array !! strt2d : vector specifying the index in varwr_2d where !! the first of the data values will be written !! cnt2d : varwr_2d dimensions !! varwr_2d : array to write out integer , intent(in) :: ncid character (len=*), intent(in) :: varname integer , intent(in) :: strt2d(2) integer , intent(in) :: cnt2d (2) real*4 , intent(in) :: varwr_2d(cnt2d(1), cnt2d(2)) ! ! !DESCRIPTION: Writes out a 2D netCDF real array and does some error checking. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character(len=512) :: err_msg integer :: ierr integer :: varid ! ierr = NF90_Inq_Varid(ncid, varname, varid) if (ierr /= NF90_NOERR) then err_msg = 'In Ncwr_2d_R4 #1: ' // Trim(varname) // & ', ' // NF90_strerror(ierr) call Do_Err_Out(err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) end if ierr = NF90_Put_Var(ncid, varid, varwr_2d, start=strt2d, count=cnt2d) if (ierr /= NF90_NOERR) then err_msg = 'In Ncwr_2d_R4 #2: ' // NF90_strerror(ierr) call Do_Err_Out(err_msg, .true., 2, ncid, varid, 0, 0.0d0, 0.0d0) end if end subroutine Ncwr_2d_R4 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ncwr_2d_Int ! ! !INTERFACE: ! subroutine Ncwr_2d_Int(varwr_2di, ncid, varname, strt2d, cnt2d) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id to write array output data to !! varname : netCDF variable name for array !! strt2d : vector specifying the index in varwr_2di where !! the first of the data values will be written !! cnt2d : varwr_2di dimensions !! varwr_2di : intger array to write out integer , intent(in) :: ncid character(len=*), intent(in) :: varname integer , intent(in) :: strt2d(2) integer , intent(in) :: cnt2d (2) integer , intent(in) :: varwr_2di(cnt2d(1), cnt2d(2)) ! ! !DESCRIPTION: Writes out a 2D netCDF integer array and does some error ! checking. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character(len=512) :: err_msg integer :: ierr integer :: varid ! ierr = NF90_Inq_Varid(ncid, varname, varid) if (ierr /= NF90_NOERR) then err_msg = 'In Ncwr_2d_Int #1: ' // Trim(varname) // & ', ' // NF90_strerror(ierr) call Do_Err_Out(err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) end if ierr = NF90_Put_Var(ncid, varid, varwr_2di, start=strt2d, count=cnt2d) if (ierr /= NF90_NOERR) then err_msg = 'In Ncwr_2d_Int #2: ' // NF90_strerror(ierr) call Do_Err_Out(err_msg, .true., 2, ncid, varid, 0, 0.0d0, 0.0d0) end if end subroutine Ncwr_2d_Int !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ncwr_3d_R8 ! ! !INTERFACE: ! subroutine Ncwr_3d_R8(varwr_3d, ncid, varname, strt3d, cnt3d) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id to write array output data to !! varname : netCDF variable name for array !! strt3d : vector specifying the index in varwr_3d where !! the first of the data values will be written !! cnt3d : varwr_3d dimensions !! varwr_3d : array to write out integer , intent(in) :: ncid character(len=*), intent(in) :: varname integer , intent(in) :: strt3d(3) integer , intent(in) :: cnt3d (3) real*8 , intent(in) :: varwr_3d(cnt3d(1), cnt3d(2), cnt3d(3)) ! ! !DESCRIPTION: Writes out a 3D netCDF real array and does some error checking. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character(len=512) :: err_msg integer :: ierr integer :: varid ! ierr = NF90_Inq_Varid(ncid, varname, varid) if (ierr /= NF90_NOERR) then err_msg = 'In Ncwr_3d_R8 #1: ' // Trim(varname) // & ', ' // NF90_strerror(ierr) call Do_Err_Out(err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) end if ierr = NF90_Put_Var(ncid, varid, varwr_3d, start=strt3d, count=cnt3d) if (ierr /= NF90_NOERR) then err_msg = 'In Ncwr_3d_R8 #2: ' // NF90_strerror(ierr) call Do_Err_Out(err_msg, .true., 2, ncid, varid, 0, 0.0d0, 0.0d0) end if end subroutine Ncwr_3d_R8 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ncwr_3d_R4 ! ! !INTERFACE: ! subroutine Ncwr_3d_R4(varwr_3d, ncid, varname, strt3d, cnt3d) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id to write array output data to !! varname : netCDF variable name for array !! strt3d : vector specifying the index in varwr_3d where !! the first of the data values will be written !! cnt3d : varwr_3d dimensions !! varwr_3d : array to write out integer , intent(in) :: ncid character(len=*), intent(in) :: varname integer , intent(in) :: strt3d(3) integer , intent(in) :: cnt3d (3) real*4 , intent(in) :: varwr_3d(cnt3d(1), cnt3d(2), cnt3d(3)) ! ! !DESCRIPTION: Writes out a 3D netCDF real array and does some error checking. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character(len=512) :: err_msg integer :: ierr integer :: varid ! ierr = NF90_Inq_Varid(ncid, varname, varid) if (ierr /= NF90_NOERR) then err_msg = 'In Ncwr_3d_R4 #1: ' // Trim(varname) // & ', ' // NF90_strerror(ierr) call Do_Err_Out(err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) end if ierr = NF90_Put_Var(ncid, varid, varwr_3d, start=strt3d, count=cnt3d) if (ierr /= NF90_NOERR) then err_msg = 'In Ncwr_3d_R4 #2: ' // NF90_Strerror(ierr) call Do_Err_Out(err_msg, .true., 2, ncid, varid, 0, 0.0d0, 0.0d0) end if end subroutine Ncwr_3d_R4 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ncwr_3d_Int ! ! !INTERFACE: ! subroutine Ncwr_3d_Int(varwr_3di, ncid, varname, strt3d, cnt3d) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id to write array output data to !! varname : netCDF variable name for array !! strt3d : vector specifying the index in varwr_3di where !! the first of the data values will be written !! cnt3d : varwr_3di dimensions !! varwr_3di : intger array to write out integer , intent(in) :: ncid character(len=*), intent(in) :: varname integer , intent(in) :: strt3d(3) integer , intent(in) :: cnt3d (3) integer , intent(in) :: varwr_3di(cnt3d(1), cnt3d(2), cnt3d(3)) ! ! !DESCRIPTION: Writes out a 3D netCDF integer array and does some error ! checking. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character(len=512) :: err_msg integer :: ierr integer :: varid ! ierr = NF90_Inq_Varid(ncid, varname, varid) if (ierr /= NF90_NOERR) then err_msg = 'In Ncwr_3d_Int #1: ' // Trim(varname) // & ', ' // NF90_strerror(ierr) call Do_Err_Out(err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) end if ierr = NF90_Put_Var(ncid, varid, varwr_3di, start=strt3d, count=cnt3d) if (ierr /= NF90_NOERR) then err_msg = 'In Ncwr_3d_Int #2: ' // NF90_Strerror(ierr) call Do_Err_Out(err_msg, .true., 2, ncid, varid, 0, 0.0d0, 0.0d0) end if end subroutine Ncwr_3d_Int !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ncwr_4d_R8 ! ! !INTERFACE: ! subroutine Ncwr_4d_R8(varwr_4d, ncid, varname, strt4d, cnt4d) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id to write array output data to !! varname : netCDF variable name for array !! strt4d : vector specifying the index in varwr_4d where !! the first of the data values will be written !! cnt4d : varwr_4d dimensions !! varwr_4d : array to write out integer , intent(in) :: ncid character(len=*), intent(in) :: varname integer , intent(in) :: strt4d(4) integer , intent(in) :: cnt4d (4) real*8 , intent(in) :: varwr_4d(cnt4d(1), cnt4d(2), & cnt4d(3), cnt4d(4)) ! ! !DESCRIPTION: Writes out a 4D netCDF real array and does some error checking. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character(len=512) :: err_msg integer :: ierr integer :: varid ! ierr = NF90_Inq_Varid(ncid, varname, varid) if (ierr /= NF90_NOERR) then err_msg = 'In Ncwr_4d_R8 #1: ' // Trim(varname) // & ', ' // NF90_strerror(ierr) call Do_Err_Out(err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) end if ierr = NF90_Put_Var(ncid, varid, varwr_4d, start=strt4d, count=cnt4d) if (ierr /= NF90_NOERR) then err_msg = 'In Ncwr_4d_R8 #2: ' // NF90_strerror(ierr) call Do_Err_Out(err_msg, .true., 2, ncid, varid, 0, 0.0d0, 0.0d0) end if end subroutine Ncwr_4d_R8 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ncwr_4d_R4 ! ! !INTERFACE: ! subroutine Ncwr_4d_R4(varwr_4d, ncid, varname, strt4d, cnt4d) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id to write array output data to !! varname : netCDF variable name for array !! strt4d : vector specifying the index in varwr_4d where !! the first of the data values will be written !! cnt4d : varwr_4d dimensions !! varwr_4d : array to write out integer , intent(in) :: ncid character(len=*), intent(in) :: varname integer , intent(in) :: strt4d(4) integer , intent(in) :: cnt4d (4) real*4 , intent(in) :: varwr_4d(cnt4d(1), cnt4d(2), & cnt4d(3), cnt4d(4)) ! ! !DESCRIPTION: Writes out a 4D netCDF real array and does some error checking. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character(len=512) :: err_msg integer :: ierr integer :: varid ! ierr = NF90_Inq_Varid(ncid, varname, varid) if (ierr /= NF90_NOERR) then err_msg = 'In Ncwr_4d_R4 #1: ' // Trim(varname) // & ', ' // NF90_strerror(ierr) call Do_Err_Out(err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) end if ierr = NF90_Put_Var(ncid, varid, varwr_4d, start=strt4d, count=cnt4d) if (ierr /= NF90_NOERR) then err_msg = 'In Ncwr_4d_R4 #2: ' // NF90_strerror(ierr) call Do_Err_Out(err_msg, .true., 2, ncid, varid, 0, 0.0d0, 0.0d0) end if end subroutine Ncwr_4d_R4 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ncwr_4d_Int ! ! !INTERFACE: ! subroutine Ncwr_4d_Int(varwr_4di, ncid, varname, strt4d, cnt4d) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id to write array output data to !! varname : netCDF variable name for array !! strt3d : vector specifying the index in varwr_3di where !! the first of the data values will be written !! cnt3d : varwr_3di dimensions !! varwr_3di : intger array to write out integer , intent(in) :: ncid character(len=*), intent(in) :: varname integer , intent(in) :: strt4d(4) integer , intent(in) :: cnt4d (4) integer , intent(in) :: varwr_4di(cnt4d(1), cnt4d(2), & cnt4d(3), cnt4d(4)) ! ! !DESCRIPTION: Writes out a 3D netCDF integer array and does some error ! checking. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character(len=512) :: err_msg integer :: ierr integer :: varid ! ierr = NF90_Inq_Varid(ncid, varname, varid) if (ierr /= NF90_NOERR) then err_msg = 'In Ncwr_4d_Int #1: ' // Trim(varname) // & ', ' // NF90_strerror(ierr) call Do_Err_Out(err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) end if ierr = NF90_Put_Var(ncid, varid, varwr_4di, start=strt4d, count=cnt4d) if (ierr /= NF90_NOERR) then err_msg = 'In Ncwr_4d_Int #2: ' // NF90_strerror(ierr) call Do_Err_Out(err_msg, .true., 2, ncid, varid, 0, 0.0d0, 0.0d0) end if end subroutine Ncwr_4d_Int !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ncwr_5d_R8 ! ! !INTERFACE: ! subroutine Ncwr_5d_R8(varwr_5d, ncid, varname, strt5d, cnt5d) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id to write array output data to !! varname : netCDF variable name for array !! strt5d : vector specifying the index in varwr_5d where !! the first of the data values will be written !! cnt5d : varwr_5d dimensions !! varwr_5d : array to write out integer , intent(in) :: ncid character(len=*), intent(in) :: varname integer , intent(in) :: strt5d(5) integer , intent(in) :: cnt5d (5) real*8 , intent(in) :: varwr_5d(cnt5d(1), cnt5d(2), & cnt5d(3), cnt5d(4), & cnt5d(5)) ! ! !DESCRIPTION: Writes out a 5D netCDF real array and does some error checking. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character(len=512) :: err_msg integer :: ierr integer :: varid ! ierr = NF90_Inq_Varid(ncid, varname, varid) if (ierr /= NF90_NOERR) then err_msg = 'In Ncwr_5d_R8 #1: ' // Trim(varname) // & ', ' // NF90_strerror(ierr) call Do_Err_Out(err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) end if ierr = NF90_Put_Var(ncid, varid, varwr_5d, start=strt5d, count=cnt5d) if (ierr /= NF90_NOERR) then err_msg = 'In Ncwr_5d_R8 #2: ' // NF90_Strerror(ierr) call Do_Err_Out(err_msg, .true., 2, ncid, varid, 0, 0.0d0, 0.0d0) end if end subroutine Ncwr_5d_R8 !EOC !------------------------------------------------------------------------- !BOP ! ! !IROUTINE: Ncwr_5d_R4 ! ! !INTERFACE: ! subroutine Ncwr_5d_R4(varwr_5d, ncid, varname, strt5d, cnt5d) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id to write array output data to !! varname : netCDF variable name for array !! strt5d : vector specifying the index in varwr_5d where !! the first of the data values will be written !! cnt5d : varwr_5d dimensions !! varwr_5d : array to write out integer , intent(in) :: ncid character(len=*), intent(in) :: varname integer , intent(in) :: strt5d(5) integer , intent(in) :: cnt5d (5) real*4 , intent(in) :: varwr_5d(cnt5d(1), cnt5d(2), & cnt5d(3), cnt5d(4), & cnt5d(5)) ! ! !DESCRIPTION: Writes out a 5D netCDF real array and does some error checking. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character(len=512) :: err_msg integer :: ierr integer :: varid ! ierr = NF90_Inq_Varid (ncid, varname, varid) if (ierr /= NF90_NOERR) then err_msg = 'In Ncwr_5d_R4 #1: ' // Trim(varname) // & ', ' // NF90_Strerror(ierr) call Do_Err_Out(err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) end if ierr = NF90_Put_Var(ncid, varid, varwr_5d, start=strt5d, count=cnt5d) if (ierr /= NF90_NOERR) then err_msg = 'In Ncwr_5d_R4 #2: ' // NF90_strerror(ierr) call Do_Err_Out(err_msg, .true., 2, ncid, varid, 0, 0.0d0, 0.0d0) end if end subroutine Ncwr_5d_R4 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ncwr_6d_R8 ! ! !INTERFACE: ! subroutine Ncwr_6d_R8(varwr_6d, ncid, varname, strt6d, cnt6d) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id to write array output data to !! varname : netCDF variable name for array !! strt6d : vector specifying the index in varwr_6d where !! the first of the data values will be written !! cnt6d : varwr_6d dimensions !! varwr_6d : array to write out integer , intent(in) :: ncid character(len=*), intent(in) :: varname integer , intent(in) :: strt6d(6) integer , intent(in) :: cnt6d (6) real*8 , intent(in) :: varwr_6d(cnt6d(1), cnt6d(2), & cnt6d(3), cnt6d(4), & cnt6d(5), cnt6d(6)) ! ! !DESCRIPTION: Writes out a 6D netCDF real array and does some error checking. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character(len=512) :: err_msg integer :: ierr integer :: varid ! ierr = NF90_Inq_Varid(ncid, varname, varid) if (ierr /= NF90_NOERR) then err_msg = 'In Ncwr_6d_R8 #1: ' // Trim(varname) // & ', ' // NF90_Strerror(ierr) call Do_Err_Out(err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) end if ierr = NF90_Put_Var(ncid, varid, varwr_6d, start=strt6d, count=cnt6d) if (ierr /= NF90_NOERR) then err_msg = 'In Ncwr_6d_R8 #2: ' // NF90_strerror(ierr) call Do_Err_Out(err_msg, .true., 2, ncid, varid, 0, 0.0d0, 0.0d0) end if end subroutine Ncwr_6d_R8 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Ncwr_6d_R4 ! ! !INTERFACE: ! subroutine Ncwr_6d_R4(varwr_6d, ncid, varname, strt6d, cnt6d) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id to write array output data to !! varname : netCDF variable name for array !! strt6d : vector specifying the index in varwr_6d where !! the first of the data values will be written !! cnt6d : varwr_6d dimensions !! varwr_6d : array to write out integer , intent(in) :: ncid character(len=*), intent(in) :: varname integer , intent(in) :: strt6d(6) integer , intent(in) :: cnt6d (6) real*4 , intent(in) :: varwr_6d(cnt6d(1), cnt6d(2), & cnt6d(3), cnt6d(4), & cnt6d(5), cnt6d(6)) ! ! !DESCRIPTION: Writes out a 6D netCDF real array and does some error checking. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character(len=512) :: err_msg integer :: ierr integer :: varid ! ierr = NF90_Inq_Varid(ncid, varname, varid) if (ierr /= NF90_NOERR) then err_msg = 'In Ncwr_6d_R4 #1: ' // Trim(varname) // & ', ' // NF90_Strerror(ierr) call Do_Err_Out(err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) end if ierr = NF90_Put_Var(ncid, varid, varwr_6d, start=strt6d, count=cnt6d) if (ierr /= NF90_NOERR) then err_msg = 'In Ncwr_6d_R4 #2: ' // NF90_Strerror(ierr) call Do_Err_Out(err_msg, .true., 2, ncid, varid, 0, 0.0d0, 0.0d0) end if end subroutine Ncwr_6d_R4 !EOC !------------------------------------------------------------------------- !BOP ! ! !IROUTINE: Ncwr_1d_Char ! ! !INTERFACE: ! subroutine Ncwr_1d_Char(varwr_1dc, ncid, varname, strt1d, cnt1d) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id to write array output data to !! varname : netCDF variable name for array !! strt1d : vector specifying the index in varwr_1dc where !! the first of the data values will be written !! cnt1d : varwr_1dc dimension !! varwr_1dc : intger array to write out integer , intent(in) :: ncid character (len=*), intent(in) :: varname integer , intent(in) :: strt1d(1) integer , intent(in) :: cnt1d (1) character (len=1), intent(in) :: varwr_1dc(cnt1d(1)) ! ! !DESCRIPTION: Writes out a 1D netCDF character array and does some error ! checking. !\\ !\\ ! !AUTHOR: ! Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character(len=512) :: err_msg integer :: ierr integer :: varid ! ierr = NF90_Inq_Varid(ncid, varname, varid) if (ierr /= NF90_NOERR) then err_msg = 'In Ncwr_1d_Char #1: ' // Trim(varname) // & ', ' // NF90_strerror(ierr) call Do_Err_Out(err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) end if ierr = NF90_Put_Var(ncid, varid, varwr_1dc, start=strt1d, count=cnt1d) if (ierr /= NF90_NOERR) then err_msg = 'In Ncwr_1d_Char #2: ' // NF90_strerror(ierr) call Do_Err_Out(err_msg, .true., 2, ncid, varid, 0, 0.0d0, 0.0d0) end if end subroutine Ncwr_1d_Char !EOC !------------------------------------------------------------------------- !BOP ! ! !IROUTINE: Ncwr_2d_Char ! ! !INTERFACE: ! subroutine Ncwr_2d_Char(char_2d, ncid, tvarname, strt2d, cnt2d) ! ! !USES: ! use netCDF use m_do_err_out ! ! !INPUT PARAMETERS: !! ncid : netCDF file id to write text to !! tvarname : netCDF variable name for text !! strt2d : vector specifying the index in char_2d where !! the first of the data values will be written !! cnt2d : char_2d dimensions !! char_2d : text to write integer , intent(in) :: ncid character(len=*), intent(in) :: tvarname integer , intent(in) :: strt2d(2) integer , intent(in) :: cnt2d (2) character(len=1), intent(in) :: char_2d(cnt2d(1), cnt2d(2)) ! ! !DESCRIPTION: Writes out a 2D netCDF character array and does some error ! checking. !\\ !\\ ! !AUTHOR: ! John Tannahill (LLNL) and Jules Kouatchou ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------- !BOC ! ! !LOCAL VARIABLES: character(len=512) :: err_msg integer :: ierr integer :: tvarid ! ierr = NF90_Inq_Varid(ncid, tvarname, tvarid) if (ierr /= NF90_NOERR) then err_msg = 'In Ncwr_2d_Char #1: ' // Trim(tvarname) // & ', ' // NF90_Strerror(ierr) call Do_Err_Out(err_msg, .true., 1, ncid, 0, 0, 0.0d0, 0.0d0) end if ierr = NF90_Put_Var(ncid, tvarid, char_2d, start=strt2d, count=cnt2d) if (ierr /= NF90_NOERR) then err_msg = 'In Ncwr_2d_Char #2: ' // NF90_Strerror(ierr) call Do_Err_Out(err_msg, .true., 2, ncid, tvarid, 0, 0.0d0, 0.0d0) end if end subroutine Ncwr_2d_Char !EOC end module m_netcdf_io_write ================================================ FILE: NcdfUtil/ncdf_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: ncdf_mod.F90 ! ! !DESCRIPTION: Module NCDF\_MOD contains routines to read data from ! netCDF files. !\\ !\\ ! !INTERFACE: ! MODULE NCDF_MOD ! ! !USES: ! IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: NC_OPEN PUBLIC :: NC_APPEND PUBLIC :: NC_CREATE PUBLIC :: NC_SET_DEFMODE PUBLIC :: NC_VAR_DEF PUBLIC :: NC_VAR_CHUNK PUBLIC :: NC_VAR_WRITE PUBLIC :: NC_CLOSE PUBLIC :: NC_READ_TIME PUBLIC :: NC_READ_TIME_YYYYMMDDhhmm PUBLIC :: NC_READ_VAR PUBLIC :: NC_READ_ARR PUBLIC :: NC_GET_REFDATETIME PUBLIC :: NC_GET_GRID_EDGES PUBLIC :: NC_GET_SIGMA_LEVELS PUBLIC :: NC_WRITE PUBLIC :: NC_ISMODELLEVEL PUBLIC :: NC_ISSIGMALEVEL PUBLIC :: GET_TAU0 ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: GET_TIDX PRIVATE :: TIMEUNIT_CHECK PRIVATE :: NC_WRITE_3D PRIVATE :: NC_WRITE_4D PRIVATE :: NC_VAR_WRITE_INT_1D PRIVATE :: NC_VAR_WRITE_INT_2D PRIVATE :: NC_VAR_WRITE_INT_3D PRIVATE :: NC_VAR_WRITE_INT_4D PRIVATE :: NC_VAR_WRITE_R4_1D PRIVATE :: NC_VAR_WRITE_R4_2D PRIVATE :: NC_VAR_WRITE_R4_3D PRIVATE :: NC_VAR_WRITE_R4_4D PRIVATE :: NC_VAR_WRITE_R8_0D PRIVATE :: NC_VAR_WRITE_R8_1D PRIVATE :: NC_VAR_WRITE_R8_2D PRIVATE :: NC_VAR_WRITE_R8_3D PRIVATE :: NC_VAR_WRITE_R8_4D PRIVATE :: NC_READ_VAR_SP PRIVATE :: NC_READ_VAR_DP PRIVATE :: NC_GET_GRID_EDGES_SP PRIVATE :: NC_GET_GRID_EDGES_DP PRIVATE :: NC_GET_GRID_EDGES_C PRIVATE :: NC_GET_SIGMA_LEVELS_SP PRIVATE :: NC_GET_SIGMA_LEVELS_DP PRIVATE :: NC_GET_SIGMA_LEVELS_C PRIVATE :: NC_GET_SIG_FROM_HYBRID ! ! !REMARKS: ! This file is based on code from NASA/GSFC, SIVO, Code 610.3 ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !MODULE INTERFACES: ! INTERFACE NC_WRITE MODULE PROCEDURE NC_WRITE_3D MODULE PROCEDURE NC_WRITE_4D END INTERFACE NC_WRITE INTERFACE NC_READ_VAR MODULE PROCEDURE NC_READ_VAR_SP MODULE PROCEDURE NC_READ_VAR_DP END INTERFACE NC_READ_VAR INTERFACE NC_GET_GRID_EDGES MODULE PROCEDURE NC_GET_GRID_EDGES_SP MODULE PROCEDURE NC_GET_GRID_EDGES_DP END INTERFACE NC_GET_GRID_EDGES INTERFACE NC_GET_SIGMA_LEVELS MODULE PROCEDURE NC_GET_SIGMA_LEVELS_SP MODULE PROCEDURE NC_GET_SIGMA_LEVELS_DP END INTERFACE NC_GET_SIGMA_LEVELS INTERFACE NC_VAR_WRITE MODULE PROCEDURE NC_VAR_WRITE_INT_0D MODULE PROCEDURE NC_VAR_WRITE_INT_1D MODULE PROCEDURE NC_VAR_WRITE_INT_2D MODULE PROCEDURE NC_VAR_WRITE_INT_3D MODULE PROCEDURE NC_VAR_WRITE_INT_4D MODULE PROCEDURE NC_VAR_WRITE_R4_0D MODULE PROCEDURE NC_VAR_WRITE_R4_1D MODULE PROCEDURE NC_VAR_WRITE_R4_2D MODULE PROCEDURE NC_VAR_WRITE_R4_3D MODULE PROCEDURE NC_VAR_WRITE_R4_4D MODULE PROCEDURE NC_VAR_WRITE_R8_0D MODULE PROCEDURE NC_VAR_WRITE_R8_1D MODULE PROCEDURE NC_VAR_WRITE_R8_2D MODULE PROCEDURE NC_VAR_WRITE_R8_3D MODULE PROCEDURE NC_VAR_WRITE_R8_4D END INTERFACE NC_VAR_WRITE CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nc_Open ! ! !DESCRIPTION: Simple wrapper routine to open the given netCDF file. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NC_OPEN( FileName, fID ) ! ! !USES: ! USE m_netcdf_io_open ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: FileName ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: fID ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC !================================================================= ! NC_OPEN begins here !================================================================= ! Open netCDF file CALL Ncop_Rd( fId, TRIM( FileName ) ) END SUBROUTINE NC_OPEN !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nc_Append ! ! !DESCRIPTION: Simple wrapper routine to open the given netCDF file. ! for appending extra values along a record dimension. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NC_APPEND( FileName, fID, nTime ) ! ! !USES: ! USE m_netcdf_io_get_dimlen USE m_netcdf_io_open ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: FileName ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: fID INTEGER, OPTIONAL :: nTime ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: RC, vId !================================================================= ! NC_APPEND begins here !================================================================= ! Open netCDF file CALL NcOp_Wr( fId, TRIM(FileName) ) ! Also return the number of time slices so that we can ! append to an existing file w/o clobbering any data IF ( PRESENT( nTime ) ) THEN CALL Ncget_Unlim_Dimlen( fId, nTime ) ENDIF END SUBROUTINE NC_APPEND !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nc_Close ! ! !DESCRIPTION: Simple wrapper routine to close the given lun. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NC_CLOSE( fID ) ! ! !USES: ! USE m_netcdf_io_close ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN ) :: fID ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC !================================================================= ! NC_CLOSE begins here !================================================================= CALL NcCl( fID ) END SUBROUTINE NC_CLOSE !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nc_Set_DefMode ! ! !DESCRIPTION: Toggles netCDF define mode on or off. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Nc_Set_DefMode( fId, On, Off ) ! ! !USES: ! USE m_netcdf_io_define ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: fId ! netCDF file ID LOGICAL, OPTIONAL :: On ! On=T will turn on netCDF define mode LOGICAL, OPTIONAL :: Off ! Off=T will turn off netCDF define mdoe ! ! !REMARKS: ! This is a convenience wrapper for routines NcBegin_Def and NcEnd_Def in ! NcdfUtil module m_netcdf_define_mod.F90. ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! If the ON switch is passed then ... IF ( PRESENT( On ) ) THEN ! Turn define mode on IF ( On ) THEN CALL NcBegin_Def( fId ) RETURN ENDIF ! Else turn define mode off CALL NcEnd_Def( fId ) RETURN ENDIF ! If the OFF switch is passed then ,,, IF ( PRESENT( Off ) ) THEN ! Turn define mode off IF ( Off ) THEN CALL NcEnd_Def( fId ) RETURN ENDIF ! Else turn define mode on CALL NcBegin_Def( fId ) RETURN ENDIF END SUBROUTINE Nc_Set_DefMode !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nc_Read_Time ! ! !DESCRIPTION: Subroutine NC\_READ\_TIME reads the time variable of the ! given fID and returns the time slices and unit. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NC_READ_TIME( fID, nTime, timeUnit, & timeVec, timeCalendar, RC ) ! ! !USES: ! USE m_netcdf_io_checks USE m_netcdf_io_get_dimlen USE m_netcdf_io_read USE m_netcdf_io_readattr ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN ) :: fID ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT( OUT) :: nTime CHARACTER(LEN=*), INTENT( OUT) :: timeUnit REAL*8, POINTER, OPTIONAL :: timeVec(:) CHARACTER(LEN=*), INTENT( OUT), OPTIONAL :: timeCalendar ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: RC ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: hasTime CHARACTER(LEN=255) :: v_name ! netCDF variable name CHARACTER(LEN=255) :: a_name ! netCDF attribute name CHARACTER(LEN=255) :: a_val ! netCDF attribute value INTEGER :: st1d(1), ct1d(1) ! For 1D arrays ! Arrays REAL*8 , ALLOCATABLE :: tmpTime(:) !================================================================= ! NC_READ_TIME begins here !================================================================= ! Init RC = 0 nTime = 0 hasTime = .FALSE. ! Variable name v_name = "time" ! Check if dimension "time" exist hasTime = Ncdoes_Dim_Exist( fID, TRIM(v_name) ) ! If time dim not found, also check for dimension "date" IF ( .NOT. hasTime ) THEN v_name = "date" hasTime = Ncdoes_Dim_Exist( fID, TRIM(v_name) ) ENDIF ! Return here if no time variable defined IF ( .NOT. hasTime ) RETURN ! Get dimension length CALL Ncget_Dimlen( fID, TRIM(v_name), nTime ) ! Read time/date units attribute a_name = "units" CALL NcGet_Var_Attributes( fID, TRIM(v_name), & TRIM(a_name), timeUnit ) ! Read time vector from file. IF ( PRESENT(timeVec) ) THEN IF ( ASSOCIATED(timeVec) ) DEALLOCATE ( timeVec) ALLOCATE ( tmpTime(nTime) ) ALLOCATE ( timeVec(nTime) ) st1d = (/ 1 /) ct1d = (/ nTime /) CALL NcRd( tmpTime, fID, TRIM(v_name), st1d, ct1d ) timevec(:) = tmpTime DEALLOCATE(tmpTime) ENDIF ! Read calendar attribute IF ( PRESENT( timeCalendar ) ) THEN ! We now get the status variable RC. This will allow program ! flow to continue if the "time:calendar" attribute is not found. CALL NcGet_Var_Attributes( fId, v_name, 'calendar', timeCalendar, RC ) ! If "time:calendar" is found, then throw an error for ! climatological calendars without leap years. IF ( RC == 0 ) THEN SELECT CASE( TRIM( v_name ) ) CASE( '360_day', '365_day', '366_day', 'all_leap', & 'allleap', 'no_leap', 'noleap' ) WRITE( 6, '(/,a)' ) REPEAT( '=', 79 ) WRITE( 6, '(a )' ) 'HEMCO does not support calendar type ' // & TRIM( v_name ) WRITE( 6, '(/,a)' ) 'HEMCO supports the following calendars:' WRITE( 6, '(a)' ) ' - standard (i.e. mixed gregorian/julian)' WRITE( 6, '(a)' ) ' - gregorian' WRITE( 6, '(a,/)' ) REPEAT( '=', 79 ) RC = -1 CASE DEFAULT ! Do nothing END SELECT ENDIF ! Reset RC so that we won't halt execution elsewhere RC = 0 ENDIF END SUBROUTINE NC_READ_TIME !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nc_Read_Var_Sp ! ! !DESCRIPTION: Subroutine NC\_READ\_VAR\_SP reads the given variable from the ! given fID and returns the corresponding variable values and units. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NC_READ_VAR_SP( fID, Var, nVar, varUnit, varVec, RC ) ! ! !USES: ! USE m_netcdf_io_checks USE m_netcdf_io_get_dimlen USE m_netcdf_io_read USE m_netcdf_io_readattr ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN ) :: fID CHARACTER(LEN=*), INTENT(IN ) :: var ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT( OUT) :: nVar CHARACTER(LEN=*), INTENT( OUT) :: varUnit REAL*4, POINTER :: varVec(:) ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: RC ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! LOGICAL :: hasVar CHARACTER(LEN=255) :: v_name ! netCDF variable name CHARACTER(LEN=255) :: a_name ! netCDF attribute name CHARACTER(LEN=255) :: a_val ! netCDF attribute value INTEGER :: a_type ! netCDF attribute type INTEGER :: st1d(1), ct1d(1) ! For 1D arrays INTEGER :: I ! Init RC = 0 nVar = 0 hasVar = .FALSE. ! Variable name v_name = var ! Check if variable exists hasVar = Ncdoes_Dim_Exist( fID, TRIM(v_name) ) ! Return here if variable not defined IF ( .NOT. hasVar ) RETURN ! Get dimension length CALL Ncget_Dimlen( fID, TRIM(v_name), nVar ) ! Read vector from file. IF ( ASSOCIATED( VarVec ) ) DEALLOCATE(VarVec) ALLOCATE ( VarVec(nVar) ) st1d = (/ 1 /) ct1d = (/ nVar /) CALL NcRd( VarVec, fID, TRIM(v_name), st1d, ct1d ) ! Read units attribute. If unit attribute does not exist, return ! empty string (dimensionless vertical coordinates do not require ! a units attribute). a_name = "units" hasVar = Ncdoes_Attr_Exist( fId, TRIM(v_name), TRIM(a_name), a_type ) IF ( .NOT. hasVar ) THEN varUnit = '' ELSE CALL NcGet_Var_Attributes( fID, TRIM(v_name), & TRIM(a_name), varUnit ) ! Check if the last character of VarUnit is the ASCII null character ! ("\0", ASCII value = 0), which is used to denote the end of a string. ! The ASCII null character may be introduced if the netCDF file was ! written using a language other than Fortran. The compiler might ! interpret the null character as part of the string instead of as ! an empty space. If the null space is there, then replace it with ! a Fortran empty string value (''). (bmy, 7/17/18) I = LEN_TRIM( VarUnit ) IF ( ICHAR( VarUnit(I:I) ) == 0 ) THEN VarUnit(I:I) = '' ENDIF ENDIF END SUBROUTINE NC_READ_VAR_SP !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nc_Read_Var_Dp ! ! !DESCRIPTION: Subroutine NC\_READ\_VAR\_DP reads the given variable from the ! given fID and returns the corresponding variable values and units. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NC_READ_VAR_DP( fID, Var, nVar, varUnit, varVec, RC ) ! ! !USES: ! USE m_netcdf_io_checks USE m_netcdf_io_get_dimlen USE m_netcdf_io_read USE m_netcdf_io_readattr ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN ) :: fID CHARACTER(LEN=*), INTENT(IN ) :: var ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT( OUT) :: nVar CHARACTER(LEN=*), INTENT( OUT) :: varUnit REAL*8, POINTER :: varVec(:) ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: RC ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! LOGICAL :: hasVar CHARACTER(LEN=255) :: v_name ! netCDF variable name CHARACTER(LEN=255) :: a_name ! netCDF attribute name CHARACTER(LEN=255) :: a_val ! netCDF attribute value INTEGER :: a_type ! netCDF attribute type INTEGER :: st1d(1), ct1d(1) ! For 1D arrays INTEGER :: I ! Init RC = 0 nVar = 0 hasVar = .FALSE. ! Variable name v_name = var ! Check if variable exists hasVar = Ncdoes_Dim_Exist( fID, TRIM(v_name) ) ! Return here if variable not defined IF ( .NOT. hasVar ) RETURN ! Get dimension length CALL Ncget_Dimlen( fID, TRIM(v_name), nVar ) ! Read vector from file. IF ( ASSOCIATED( VarVec ) ) DEALLOCATE( VarVec ) ALLOCATE ( VarVec(nVar) ) st1d = (/ 1 /) ct1d = (/ nVar /) CALL NcRd( VarVec, fID, TRIM(v_name), st1d, ct1d ) ! Read units attribute. If unit attribute does not exist, return ! empty string (dimensionless vertical coordinates do not require ! a units attribute). a_name = "units" hasVar = Ncdoes_Attr_Exist( fId, TRIM(v_name), TRIM(a_name), a_type ) IF ( .NOT. hasVar ) THEN varUnit = '' ELSE CALL NcGet_Var_Attributes( fID, TRIM(v_name), & TRIM(a_name), varUnit ) ! Check if the last character of VarUnit is the ASCII null character ! ("\0", ASCII value = 0), which is used to denote the end of a string. ! The ASCII null character may be introduced if the netCDF file was ! written using a language other than Fortran. The compiler might ! interpret the null character as part of the string instead of as ! an empty space. If the null space is there, then replace it with ! a Fortran empty string value (''). (bmy, 7/17/18) I = LEN_TRIM( VarUnit ) IF ( ICHAR( VarUnit(I:I) ) == 0 ) THEN VarUnit(I:I) = '' ENDIF ENDIF END SUBROUTINE NC_READ_VAR_DP !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nc_Read_Arr ! ! !DESCRIPTION: Routine NC\_READ\_ARR reads variable ncVar into a 4-D array ! (lon,lat,lev,time). Domain boundaries can be provided by input arguments ! lon1,lon2, lat1,lat2, lev1,lev2, and time1,time2. The level and time bounds ! are optional and can be set to zero (lev1=0 and/or time1=0) for data with ! undefined level/time coordinates. !\\ !\\ ! The default behavior for time slices is to read all slices (time1:time2), ! and pass all of them to the output array. It is also possible to assign ! specific weights (wgt1 and wgt2) to the two time slices time1 and time2, ! respectively. In this case, only those two slices will be read and merged ! using the given weights. The output array will then contain only one time ! dimension. Negative weights are currently not supported and will be ignored, ! e.g. providing negative weights has the same effect as providing no weights ! at all. !\\ !\\ ! If the passed variable contains attribute names `offset` and/or ! `scale\_factor`, those operations will be applied to the data array ! before returning it. !\\ !\\ ! Missing values in the netCDF file are replaced with value 'MissVal' ! (default = 0). Currently, the routine identifies attributes 'missing\_value' ! and '\_FillValue' as missing values. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NC_READ_ARR( fID, ncVar, lon1, lon2, lat1, & lat2, lev1, lev2, time1, time2, & ncArr, VarUnit, MissVal, wgt1, wgt2, & ArbIdx, RC ) ! ! !USES: ! USE CharPak_Mod, ONLY : TRANLC USE m_netcdf_io_checks USE m_netcdf_io_get_dimlen USE m_netcdf_io_read USE m_netcdf_io_readattr USE netCDF ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: fID CHARACTER(LEN=*), INTENT(IN) :: ncVar ! variable to read INTEGER, INTENT(IN) :: lon1, lon2 INTEGER, INTENT(IN) :: lat1, lat2 INTEGER, INTENT(IN) :: lev1, lev2 INTEGER, INTENT(IN) :: time1, time2 REAL*4, INTENT(IN ), OPTIONAL :: MissVal REAL*4, INTENT(IN ), OPTIONAL :: wgt1 REAL*4, INTENT(IN ), OPTIONAL :: wgt2 INTEGER, INTENT(IN ), OPTIONAL :: ArbIdx ! Index of arbitrary additional dimension (-1 if none) ! ! !OUTPUT PARAMETERS: ! ! Array to write data REAL*4, POINTER :: ncArr(:,:,:,:) ! Optional output CHARACTER(LEN=*), INTENT(OUT), OPTIONAL :: VarUnit ! ! !INPUT/OUTPUT PARAMETERS: ! ! Error handling INTEGER, INTENT(INOUT) :: RC ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! !================================================================= ! Variable declarations !================================================================= ! Data arrays CHARACTER(LEN=255) :: v_name ! netCDF variable name CHARACTER(LEN=255) :: a_name ! netCDF attribute name CHARACTER(LEN=255) :: a_val ! netCDF attribute value INTEGER :: a_type ! netCDF attribute type REAL*8 :: corr ! netCDF attribute value ! Arrays for netCDF start and count values INTEGER :: I, nRead, l1, l2 INTEGER :: ndims INTEGER :: nlon, nlat, nlev, ntime, arbdim INTEGER :: nclev, nctime INTEGER :: s1, s2, s3, s4, s5 INTEGER :: n1, n2, n3, n4, n5 INTEGER :: nt, st, tdim, sti, nti INTEGER :: st2d(2), ct2d(2) ! For 2D arrays INTEGER :: st3d(3), ct3d(3) ! For 3D arrays INTEGER :: st4d(4), ct4d(4) ! For 4D arrays INTEGER :: st5d(5), ct5d(5) ! For 5D arrays ! Temporary arrays REAL*4, ALLOCATABLE :: TMPARR_5D(:,:,:,:,:) REAL*4, ALLOCATABLE :: WGTARR_5D(:,:,:,:,:) REAL*4, ALLOCATABLE :: TMPARR_4D(:,:,:,:) REAL*4, ALLOCATABLE :: WGTARR_4D(:,:,:,:) REAL*4, ALLOCATABLE :: TMPARR_3D(:,:,:) REAL*4, ALLOCATABLE :: WGTARR_3D(:,:,:) REAL*4, ALLOCATABLE :: TMPARR_2D(:,:) ! Logicals LOGICAL :: FlipZ LOGICAL :: ReadAtt ! Missing value REAL*8 :: miss8 REAL*4 :: miss4 REAL*4 :: MissValue ! Weights LOGICAL :: ApplyWeights REAL*4 :: weight1, weight2 ! For error handling CHARACTER(LEN=255) :: LOC, MSG !================================================================= ! NC_READ_ARR begins here !================================================================= !----------------------------------------------------------------- ! Initialize !----------------------------------------------------------------- ! For error handling LOC = 'NC_READ_ARR ("ncdf_mod.F")' ! Eventually deallocate output array IF ( ASSOCIATED ( ncArr ) ) DEALLOCATE ( ncArr ) ! weights to be applied to time1 and time2 (if any): weight1 = -999.0 weight2 = -999.0 IF(PRESENT(wgt1)) weight1 = wgt1 IF(PRESENT(wgt2)) weight2 = wgt2 ! apply weights? IF ( time1 > 0 .AND. weight1 >= 0.0 ) THEN ApplyWeights = .TRUE. ELSE ApplyWeights = .FALSE. ENDIF ! # of horizontal dimensions to read nLon = lon2 - lon1 + 1 nLat = lat2 - lat1 + 1 ! # of vertical levels FlipZ = .FALSE. ! Flip z-axis? l1 = lev1 ! Lower level to be read l2 = lev2 ! Upper level to be read IF ( lev1 > 0 ) THEN ! Check if we need to flip the vertical axis IF ( lev1 > lev2 ) THEN FlipZ = .TRUE. l1 = lev2 l2 = lev1 ENDIF ! Number of levels to be read nLev = l2 - l1 + 1 ! no vertical levels: ELSE nLev = 0 ENDIF ! # of time slices ! read all time slices time1:time2: IF ( time1 > 0 .AND. weight1 < 0.0 ) THEN ntime = time2 - time1 + 1 ! Interpolate amongs 2 time slices: ELSEIF ( ApplyWeights ) THEN ntime = 1 ! no time dimension: ELSE ntime = 0 ENDIF ! # of arbitrary other dimensions arbdim = -1 IF ( PRESENT(ArbIdx) ) THEN IF ( ArbIdx > 0 ) THEN arbdim = ArbIdx ENDIF ENDIF ! Set dimensions of output array ! --> must have at least dimension 1 nclev = max(nlev ,1) nctime = max(ntime,1) ! set total number of dimensions to be read. This is at least 2 and ! at most 5. ndims = 2 if ( nlev > 0 ) ndims = ndims + 1 if ( ntime > 0 ) ndims = ndims + 1 if ( arbdim > 0 ) ndims = ndims + 1 !---------------------------------------- ! Read array !---------------------------------------- ! Variable name v_name = TRIM(ncVar) ! Allocate the output array ALLOCATE ( ncArr( nLon, nLat, ncLev, ncTime ) ) ncArr = 0.0 ! Define number of required reads and time dimension on temporary array nRead = 1 IF ( ntime > 0 ) THEN IF ( ApplyWeights ) THEN nRead = 2 nt = 2 ELSE nRead = 1 nt = ntime ENDIF ENDIF !---------------------------------------- ! Read 5D array: IF ( ndims == 5 ) THEN ! Allocate array. If time weights are applied, the two ! time slices are read into TMPARR_5D and then temporarily ! stored in WGTARR_5D. Same applies to 4D and 3D below. ! (ckeller, 01/09/17) IF ( ApplyWeights ) THEN ALLOCATE ( TMPARR_5D( nlon, nlat, nlev, 1, 1 ) ) TMPARR_5D = 0.0 ALLOCATE ( WGTARR_5D( nlon, nlat, nlev, nt, 1 ) ) WGTARR_5D = 0.0 ELSE ALLOCATE ( TMPARR_5D( nlon, nlat, nlev, nt, 1 ) ) TMPARR_5D = 0.0 ENDIF ! Set default start/end indeces s1 = lon1 n1 = nlon s2 = lat1 n2 = nlat s3 = l1 n3 = nlev s5 = arbdim n5 = 1 ! Read arrays from file DO I = 1, nRead ! time index IF ( .NOT. ApplyWeights ) THEN s4 = time1 n4 = ntime ELSE IF ( I == 1 ) THEN s4 = time1 ELSE s4 = time2 ENDIF n4 = 1 ENDIF st5d = (/ s1, s2, s3, s4, s5 /) ct5d = (/ n1, n2, n3, n4, n5 /) CALL NcRd( TMPARR_5D, fId, TRIM(v_name), st5d, ct5d ) ! Eventually pass time weighted arrays to temporary array IF ( ApplyWeights ) THEN WGTARR_5D(:,:,:,I,:) = TMPARR_5D(:,:,:,1,:) ENDIF ENDDO ! Pass to output array. Eventually apply time weights. IF ( ApplyWeights ) THEN ncArr(:,:,:,1) = WGTARR_5D(:,:,:,1,1) * weight1 & + WGTARR_5D(:,:,:,2,1) * weight2 ELSE ncArr(:,:,:,:) = TMPARR_5D(:,:,:,:,1) ENDIF ! Cleanup DEALLOCATE(TMPARR_5D) IF(ALLOCATED(WGTARR_5D)) DEALLOCATE(WGTARR_5D) ENDIF !---------------------------------------- ! Read 4D array: ! This can be: ! - lon,lat,lev,time ! - lon,lat,lev,arb ! - lon,lat,time,arb IF ( ndims == 4 ) THEN ! Allocate temporary array s1 = lon1 n1 = nlon s2 = lat1 n2 = nlat tdim = -1 ! 3rd and 4th dim ! lev is defined IF ( nlev > 0 ) THEN s3 = l1 n3 = nlev ! plus time... IF ( ntime > 0 ) THEN n4 = nt tdim = 4 ! ... or plus arbitrary dim ELSE s4 = arbdim n4 = 1 ENDIF ! lev not defined: time + arbitrary dim ELSE n3 = nt tdim = 3 s4 = arbdim n4 = 1 ENDIF IF ( ApplyWeights ) THEN ALLOCATE ( WGTARR_4D(n1,n2,n3,n4) ) WGTARR_4D = 0.0 IF ( tdim == 3 ) THEN ALLOCATE ( TMPARR_4D(n1,n2,1,n4) ) TMPARR_4D = 0.0 ELSEIF ( tdim == 4 ) THEN ALLOCATE ( TMPARR_4D(n1,n2,n3,1) ) TMPARR_4D = 0.0 ENDIF ELSE ALLOCATE ( TMPARR_4D(n1,n2,n3,n4) ) TMPARR_4D = 0.0 ENDIF ! Read arrays from file DO I = 1, nRead ! time index IF ( .NOT. ApplyWeights ) THEN sti = time1 nti = ntime ELSE IF ( I == 1 ) THEN sti = time1 ELSE sti = time2 ENDIF nti = 1 ENDIF ! need to adjust time index: this is either 3rd or 4th dimension: IF ( tdim == 3 ) THEN s3 = sti n3 = nti ELSEIF ( tdim == 4 ) THEN s4 = sti n4 = nti ENDIF st4d = (/ s1, s2, s3, s4 /) ct4d = (/ n1, n2, n3, n4 /) ! Read data from disk CALL NcRd( TMPARR_4D, fId, TRIM(v_name), st4d, ct4d ) ! Eventually pass time weighted arrays to temporary array IF ( ApplyWeights ) THEN IF ( tdim == 3 ) THEN WGTARR_4D(:,:,I,:) = TMPARR_4D(:,:,1,:) ELSEIF ( tdim == 4 ) THEN WGTARR_4D(:,:,:,I) = TMPARR_4D(:,:,:,1) ENDIF ENDIF ENDDO ! Pass to output array. Eventually apply time weights. IF ( ApplyWeights ) THEN IF ( tdim == 3 ) THEN ncArr(:,:,:,1) = WGTARR_4D(:,:,1,:) * weight1 & + WGTARR_4D(:,:,2,:) * weight2 ELSEIF ( tdim == 4 ) THEN ncArr(:,:,:,1) = WGTARR_4D(:,:,:,1) * weight1 & + WGTARR_4D(:,:,:,2) * weight2 ENDIF ELSE ncArr(:,:,:,:) = TMPARR_4D(:,:,:,:) ENDIF ! Cleanup DEALLOCATE(TMPARR_4D) IF(ALLOCATED(WGTARR_4D)) DEALLOCATE(WGTARR_4D) ENDIF !---------------------------------------- ! Read 3D array: ! This can be: ! - lon,lat,lev ! - lon,lat,time ! - lon,lat,arb IF ( ndims == 3 ) THEN ! Allocate temporary array s1 = lon1 n1 = nlon s2 = lat1 n2 = nlat tdim = -1 ! 3rd dim: ! - lev is defined: IF ( nlev > 0 ) THEN s3 = l1 n3 = nlev ! - time is defined: ELSEIF ( ntime > 0 ) THEN n3 = nt tdim = 3 ! - arbitrary dimension is defined: ELSEIF ( arbdim > 0 ) THEN s3 = arbdim n3 = 1 ENDIF IF ( ApplyWeights ) THEN ALLOCATE ( TMPARR_3D(n1,n2,1) ) TMPARR_3D = 0.0 ALLOCATE ( WGTARR_3D(n1,n2,n3) ) WGTARR_3D = 0.0 ELSE ALLOCATE ( TMPARR_3D(n1,n2,n3) ) TMPARR_3D = 0.0 ENDIF ! Read arrays from file DO I = 1, nRead ! time index IF ( tdim == 3 ) THEN IF ( .NOT. ApplyWeights ) THEN s3 = time1 n3 = ntime ELSE IF ( I == 1 ) THEN s3 = time1 ELSE s3 = time2 ENDIF n3 = 1 ENDIF ENDIF st3d = (/ s1, s2, s3 /) ct3d = (/ n1, n2, n3 /) CALL NcRd( TMPARR_3D, fId, TRIM(v_name), st3d, ct3d ) ! Eventually pass time weighted arrays to temporary array IF ( ApplyWeights ) THEN WGTARR_3D(:,:,I) = TMPARR_3D(:,:,1) ENDIF ENDDO ! Pass to output array. Eventually apply time weights. IF ( ApplyWeights ) THEN ncArr(:,:,1,1) = WGTARR_3D(:,:,1) * weight1 & + WGTARR_3D(:,:,2) * weight2 ELSE IF ( tdim == 3 ) THEN ncArr(:,:,1,:) = TMPARR_3D(:,:,:) ELSE ncArr(:,:,:,1) = TMPARR_3D(:,:,:) ENDIF ENDIF ! Cleanup IF(ALLOCATED(TMPARR_3D)) DEALLOCATE(TMPARR_3D) IF(ALLOCATED(WGTARR_3D)) DEALLOCATE(WGTARR_3D) ENDIF !---------------------------------------- ! Read a 2D array (lon and lat only): IF ( ndims == 2 ) THEN ALLOCATE ( TMPARR_2D( nLon, nLat ) ) TMPARR_2D = 0.0 st2d = (/ lon1, lat1 /) ct2d = (/ nlon, nlat /) CALL NcRd( TMPARR_2D, fId, TRIM(v_name), st2d, ct2d ) ncArr(:,:,1,1) = TMPARR_2D(:,:) DEALLOCATE(TMPARR_2D) ENDIF ! ------------------------------------------ ! Eventually apply scale / offset factors ! ------------------------------------------ ! Check for scale factor a_name = "scale_factor" ReadAtt = Ncdoes_Attr_Exist( fId, TRIM(v_name), TRIM(a_name), a_type ) IF ( ReadAtt ) THEN CALL NcGet_Var_Attributes(fId,TRIM(v_name),TRIM(a_name),corr) ncArr(:,:,:,:) = ncArr(:,:,:,:) * corr ENDIF ! Check for offset factor a_name = "add_offset" ReadAtt = Ncdoes_Attr_Exist( fId, TRIM(v_name), TRIM(a_name), a_type ) IF ( ReadAtt ) THEN CALL NcGet_Var_Attributes(fId,TRIM(v_name),TRIM(a_name),corr) ncArr(:,:,:,:) = ncArr(:,:,:,:) + corr ENDIF ! ------------------------------------------ ! Check for filling values ! NOTE: Test for REAL*4 and REAL*8 ! ------------------------------------------ ! Define missing value IF ( PRESENT(MissVal) ) THEN MissValue = MissVal ELSE MissValue = 0.0 ENDIF ! 1: 'missing_value' a_name = "missing_value" ReadAtt = Ncdoes_Attr_Exist( fId, TRIM(v_name), TRIM(a_name), a_type ) IF ( ReadAtt ) THEN IF ( a_type == NF90_REAL ) THEN CALL NcGet_Var_Attributes( fId, TRIM(v_name), TRIM(a_name), miss4 ) WHERE ( ncArr == miss4 ) ncArr = MissValue END WHERE ELSE IF ( a_type == NF90_DOUBLE ) THEN CALL NcGet_Var_Attributes( fId, TRIM(v_name), TRIM(a_name), miss8 ) miss4 = REAL( miss8 ) WHERE ( ncArr == miss4 ) ncArr = MissValue END WHERE ENDIF ENDIF ! 2: '_FillValue' a_name = "_FillValue" ReadAtt = Ncdoes_Attr_Exist( fId, TRIM(v_name), TRIM(a_name), a_type ) IF ( ReadAtt ) THEN IF ( a_type == NF90_REAL ) THEN CALL NcGet_Var_Attributes( fId, TRIM(v_name), TRIM(a_name), miss4 ) WHERE ( ncArr == miss4 ) ncArr = MissValue END WHERE ELSE IF ( a_type == NF90_DOUBLE ) THEN CALL NcGet_Var_Attributes( fId, TRIM(v_name), TRIM(a_name), miss8 ) miss4 = REAL( miss8 ) WHERE ( ncArr == miss4 ) ncArr = MissValue END WHERE ENDIF ENDIF ! ------------------------------------------ ! Flip z-axis if needed ! ------------------------------------------ IF ( FlipZ ) THEN ncArr(:,:,:,:) = ncArr(:,:,ncLev:1:-1,:) ENDIF ! ---------------------------- ! Read optional arguments ! ---------------------------- ! Read units IF ( PRESENT(VarUnit) )THEN a_name = "units" CALL NcGet_Var_Attributes(fId,TRIM(v_name),TRIM(a_name),a_val) VarUnit = TRIM(a_val) ! Check if the last character of VarUnit is the ASCII null character ! ("\0", ASCII value = 0), which is used to denote the end of a string. ! The ASCII null character may be introduced if the netCDF file was ! written using a language other than Fortran. The compiler might ! interpret the null character as part of the string instead of as ! an empty space. If the null space is there, then replace it with ! a Fortran empty string value (''). (bmy, 7/17/18) I = LEN_TRIM( VarUnit ) IF ( ICHAR( VarUnit(I:I) ) == 0 ) THEN VarUnit(I:I) = '' ENDIF ENDIF !================================================================= ! Cleanup and quit !================================================================= ! Return w/ success RC = 0 END SUBROUTINE NC_READ_ARR !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nc_Read_Time_yyyymmddhhmm ! ! !DESCRIPTION: Returns a vector containing the datetimes (YYYYMMDDhhmm) of ! all time slices in the netCDF file. !\\ ! !INTERFACE: ! SUBROUTINE NC_READ_TIME_YYYYMMDDhhmm( fID, nTime, & all_YYYYMMDDhhmm, timeUnit, & refYear, RC ) ! ! !USES: ! USE JULDAY_MOD, ONLY : JULDAY, CALDATE ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN ) :: fID ! ! !INPUT/OUTPUT PARAMETERS: ! REAL*8, POINTER :: all_YYYYMMDDhhmm(:) CHARACTER(LEN=*), INTENT( OUT), OPTIONAL :: timeUnit INTEGER, INTENT( OUT), OPTIONAL :: refYear ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: nTime INTEGER, INTENT(INOUT) :: RC ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars CHARACTER(LEN=255) :: ncUnit, cal INTEGER :: refYr, refMt, refDy, refHr, refMn, refSc INTEGER :: T, YYYYMMDD, hhmmss REAL*8 :: realrefDy, refJulday, tJulday ! Pointers REAL*8, POINTER :: tVec(:) !================================================================= ! NC_READ_TIME_YYYYMMDDhhmm begins here !================================================================= ! Init values RC = 0 tVec => NULL() IF ( PRESENT(TimeUnit) ) TimeUnit = '' IF ( PRESENT(refYear ) ) refYear = 0 ! Read time vector CALL NC_READ_TIME ( fID, nTime, ncUnit, & timeVec=tVec, timeCalendar=cal, RC=RC ) IF ( RC/=0 ) THEN WRITE( 6, '(/,a)' ) REPEAT( '=', 79 ) WRITE( 6, '(a)' ) 'Error encountered in NC_READ_TIME (ncdf_mod.F90)' WRITE( 6, '(a,/)' ) REPEAT( '=', 79 ) RETURN ENDIF ! If nTime is zero, return here! IF ( nTime == 0 ) RETURN ! Get reference date in julian days CALL NC_GET_REFDATETIME ( ncUnit, refYr, refMt, & refDy, refHr, refMn, refSc, RC ) IF ( RC /= 0 ) RETURN realrefDy = refDy & + ( MAX(0,refHr) / 24d0 ) & + ( MAX(0,refMn) / 1440d0 ) & + ( MAX(0,refSc) / 86400d0 ) refJulday = JULDAY ( refYr, refMt, realrefDy ) ! NOTE: It seems that there is an issue with reference dates ! between 1800 and 1901: the respective time stamps all seem to ! be off by one day (this problem doesn't appear for netCDF files ! with reference date zero, i.e. hours since 1-1-1)! ! I'm not sure what causes this problem, but adding one day to ! reference dates that lie between 1600 and 1900 seems to fix the ! problem. ! TODO: requires more testing! IF ( refYr <= 1900 .AND. refYr >= 1600 ) THEN refJulday = refJulday + 1.0 !PRINT *, 'Reference julian day increased by one day!!!' ENDIF ! Get calendar dates IF ( ASSOCIATED ( all_YYYYMMDDhhmm ) ) DEALLOCATE( all_YYYYMMDDhhmm ) ALLOCATE( all_YYYYMMDDhhmm(nTime) ) all_YYYYMMDDhhmm = 0.0d0 ! Construct julian date for every available time slice. Make sure it is ! in the proper 'units', e.g. in days, hours or minutes, depending on ! the reference unit. DO T = 1, nTime tJulDay = tVec(T) IF ( refHr >= 0 ) tJulday = tJulday / 24.d0 IF ( refMn >= 0 ) tJulday = tJulday / 60.d0 IF ( refSc >= 0 ) tJulday = tJulday / 60.d0 tJulday = tJulday + refJulday CALL CALDATE ( tJulday, YYYYMMDD, hhmmss ) all_YYYYMMDDhhmm(T) = ( DBLE( YYYYMMDD ) * 1d4 ) + & ( DBLE( hhmmss / 100 ) ) ENDDO ! Cleanup IF ( ASSOCIATED( tVec ) ) DEALLOCATE( tVec ) ! Return IF ( PRESENT(timeUnit) ) timeUnit = ncUnit IF ( PRESENT(refYear ) ) refYear = refYr RC = 0 END SUBROUTINE NC_READ_TIME_YYYYMMDDhhmm !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nc_Get_RefDateTime ! ! !DESCRIPTION: Returns the reference datetime (tYr / tMt / tDy / tHr / ! tMn ) of the provided time unit. For now, supported formats are ! "days since YYYY-MM-DD", "hours since YYYY-MM-DD HH:MM:SS", and ! "minutes since YYYY-MM-DD HH:NN:SS". For times in days since refdate, ! the returned reference hour rHr is set to -1. The same applies for the ! reference minute for units in days / hours since XXX. !\\ ! !INTERFACE: ! SUBROUTINE NC_GET_REFDATETIME( tUnit, tYr, tMt, tDy, tHr, tMn, tSc, RC ) ! ! !USES: ! USE CHARPAK_MOD, ONLY : TRANLC ! ! !INPUT PARAMETERS: ! ! Required CHARACTER(LEN=*), INTENT( IN) :: tUnit ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: tYr INTEGER, INTENT(OUT) :: tMt INTEGER, INTENT(OUT) :: tDy INTEGER, INTENT(OUT) :: tHr INTEGER, INTENT(OUT) :: tMn INTEGER, INTENT(OUT) :: tSc ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: RC ! ! !REMARKS: ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=255) :: LOC, MSG CHARACTER(LEN=255) :: MIRRUNIT INTEGER :: TTYPE, STAT, L1, L2 INTEGER :: MINLEN, STRLEN, I !================================================================= ! NC_GET_REFDATETIME starts here !================================================================= ! Init LOC = 'NC_GET_REFDATETIME (ncdf_mod.F)' ! ---------------------------------------------------------------------- ! Determine time unit type ! ---------------------------------------------------------------------- ! Mirror time unit and convert to lower case MIRRUNIT = tUnit CALL TRANLC( MIRRUNIT ) ! Check for reference time unit '(days, hours, minutes) since ...' ! Set beginning of reference date according to the unit and define ! minimum string length required by unit. ! 'days since YYYY-M-D' IF ( MIRRUNIT(1:10) == 'days since' ) THEN TTYPE = 1 L1 = 12 MINLEN = 19 ! 'hours since YYYY-M-D h:m:s' ELSEIF ( MIRRUNIT(1:11) == 'hours since' ) THEN TTYPE = 2 L1 = 13 MINLEN = 26 ! 'minutes since YYYY-M-D h:m:s' ELSEIF ( MIRRUNIT(1:13) == 'minutes since' ) THEN TTYPE = 3 L1 = 15 MINLEN = 28 ! 'seconds since YYYY-M-D h:m:s' ELSEIF ( MIRRUNIT(1:13) == 'seconds since' ) THEN TTYPE = 4 L1 = 15 MINLEN = 28 ! Return w/ error otherwise ELSE PRINT *, 'Invalid time unit: ' // TRIM(tUnit) RC = -999; RETURN ENDIF ! Check if time string is long enough or not STRLEN = LEN(tUnit) IF ( STRLEN < MINLEN ) THEN PRINT *, 'Time unit string too short: ' // TRIM(tUnit) RC = -999; RETURN ENDIF ! ---------------------------------------------------------------------- ! Determine reference time/date ! Get the year, month, day and hour from the string ! '... since YYYY-MM-DD hh:mm:ss ! Read reference year, i.e. from beginning of date string until ! first separator sign (-). DO I=L1,STRLEN IF(tUnit(I:I) == '-') EXIT ENDDO L2 = I-1 READ( tUnit(L1:L2),'(i4)', IOSTAT=STAT ) tYr IF ( STAT /= 0 ) THEN PRINT *, 'Invalid year in ' // TRIM(tUnit) RC = -999; RETURN ENDIF ! Advance in date string: now read reference month. L1 = L2 + 2 DO I=L1,STRLEN IF(tUnit(I:I) == '-') EXIT ENDDO L2 = I-1 READ( tUnit(L1:L2), '(i2)', IOSTAT=STAT ) tMt IF ( STAT /= 0 ) THEN PRINT *, 'Invalid month in ' // TRIM(tUnit) RC = -999; RETURN ENDIF ! Advance in date string: now read reference day. L1 = L2 + 2 DO I=L1,STRLEN IF(tUnit(I:I) == ' ') EXIT ENDDO L2 = I-1 READ( tUnit(L1:L2), '(i2)', IOSTAT=STAT ) tDy IF ( STAT /= 0 ) THEN PRINT *, 'Invalid day in ' // TRIM(tUnit) RC = -999; RETURN ENDIF ! Get reference hour only if 'hours/minutes/seconds since'. IF ( TTYPE > 1 ) THEN ! Reference hour L1 = L2 + 2 DO I=L1,STRLEN IF(tUnit(I:I) == ':') EXIT ENDDO L2 = I-1 READ( tUnit(L1:L2), '(i2)', IOSTAT=STAT ) tHr IF ( STAT /= 0 ) THEN PRINT *, 'Invalid hour in ', TRIM(tUnit) RC = -999; RETURN ENDIF ELSE ! Set reference hour to -1 tHr = -1 ENDIF ! Get reference minute only if 'minutes since...' IF ( TTYPE>2 ) THEN ! Reference minute L1 = L2 + 2 DO I=L1,STRLEN IF(tUnit(I:I) == ':') EXIT ENDDO L2 = I-1 READ( tUnit(L1:L2), '(i2)', IOSTAT=STAT ) tMn IF ( STAT /= 0 ) THEN PRINT *, 'Invalid minute in ', TRIM(tUnit) RC = -999; RETURN ENDIF ELSE ! Set reference minute to -1 tMn = -1 ENDIF ! Get reference minute only if 'seconds since...' IF ( TTYPE>3 ) THEN ! Reference second L1 = L2 + 2 DO I=L1,STRLEN IF(tUnit(I:I) == ':') EXIT ENDDO L2 = I-1 READ( tUnit(L1:L2), '(i2)', IOSTAT=STAT ) tSc IF ( STAT /= 0 ) THEN PRINT *, 'Invalid second in ', TRIM(tUnit) RC = -999; RETURN ENDIF ELSE ! Set reference second to -1 tSc = -1 ENDIF ! Return w/ success RC = 0 END SUBROUTINE NC_GET_REFDATETIME !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_Tidx ! ! !DESCRIPTION: Routine GET\_TIDX returns the index with the specified time ! for a given time vector. !\\ !\\ ! !INTERFACE: ! SUBROUTINE GET_TIDX( TDIM, TIMEVEC, TTYPE, TOFFSET, & YEAR, MONTH, DAY, HOUR, & TIDX, TDIMREAD, RC ) ! ! !INPUT PARAMETERS: ! ! Required INTEGER, INTENT( IN) :: TDIM INTEGER, INTENT( IN) :: TTYPE REAL*8, INTENT( IN) :: TOFFSET ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: TIMEVEC(TDIM) INTEGER, INTENT(INOUT) :: YEAR INTEGER, INTENT(INOUT) :: MONTH INTEGER, INTENT(INOUT) :: DAY INTEGER, INTENT(INOUT) :: HOUR INTEGER, INTENT(INOUT) :: RC ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT( OUT) :: TIDX INTEGER, INTENT( OUT) :: TDIMREAD ! ! !REMARKS: ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: II, iiDiff, minDiff REAL*8 :: TAU CHARACTER(LEN=255) :: MSG, LOC !================================================================= ! GET_TIDX starts here !================================================================= ! Init LOC = 'GET_TIDX (ncdf_mod.F)' TIDX = 0 minDiff = -999 !----------------------------------------------------------------- ! If year is given, compare netcdf-tau against desired tau !----------------------------------------------------------------- IF ( YEAR > 0 ) THEN ! Restrict month, day and hour to valid values MONTH = MIN ( MAX( 1, MONTH ), 12 ) DAY = MIN ( MAX( 1, DAY ), 31 ) HOUR = MIN ( MAX( 0, HOUR ), 23 ) ! Read desired tau => hours relative to G-C reference time TAU = GET_TAU0( MONTH, DAY, YEAR, HOUR ) ! Convert to 'hours since ...' if unit is 'days since ...' IF ( TTYPE == 2 ) THEN TIMEVEC(:) = TIMEVEC(:) * 24 ENDIF ! Convert time stamps to hours since G-C reference time TIMEVEC(:) = TIMEVEC(:) + INT(TOFFSET) ! Compare wanted tau to tau's of ncdf-file. ! Loop over all time stamps and check which one is closest ! to the specified one. Print a warning if time stamps don't ! match! DO II = 1, TDIM ! Difference between time stamps iiDiff = ABS( TIMEVEC(II) - INT(TAU) ) ! Check if this is closest time stamp so far, and save this ! index and difference IF ( iiDiff < minDiff .OR. II == 1 ) THEN minDiff = iiDiff TIDX = II ENDIF ! Exit loop if difference is zero IF ( minDiff == 0 ) EXIT ENDDO ! Warning if time stamps did not match IF ( minDiff /= 0 ) THEN PRINT *, 'In NCDF_MOD: Time stamp not found ' // & 'take closest timestamp!' ENDIF ! Set number of time stamps to be read to 1 TDIMREAD = 1 !----------------------------------------------------------------- ! If only month is given, assume netCDF file to contain monthly ! data and pick the desired month. !----------------------------------------------------------------- ELSEIF ( MONTH > 0 ) THEN ! Check if it's indeed monthly data: IF ( TDIM /= 12 ) THEN PRINT *, 'Array is not monthly ' RC = -999; RETURN ENDIF ! Set time index to specified month TIDX = MONTH ! Set number of time stamps to be read to 1 TDIMREAD = 1 !----------------------------------------------------------------- ! If hour is given, assume netCDF file to contain hourly data ! and pick the desired hour. !----------------------------------------------------------------- ELSEIF ( HOUR >= 0 ) THEN ! Check if it's indeed hourly data: IF ( TDIM /= 24 ) THEN PRINT *, 'Array is not hourly' RC = -999; RETURN ENDIF ! Set time index to specified hour (+1 since hour 0 is idx 1) TIDX = HOUR + 1 ! Set number of time stamps to be read to 1 TDIMREAD = 1 !----------------------------------------------------------------- ! Otherwise, read all time dimensions !----------------------------------------------------------------- ELSE TIDX = 1 TDIMREAD = TDIM ENDIF ! Return w/ success RC = 0 END SUBROUTINE GET_TIDX !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: TimeUnit_Check ! ! !DESCRIPTION: Makes a validity check of the passed unit string. ! Supported formats are "days since YYYY-MM-DD" (TIMETYPE=1) and ! "hours since YYYY-MM-DD HH:MM:SS" (TIMETYPE=2). !\\ !\\ ! The output argument TOFFSET gives the offset of the ncdf reference ! time relative to Geos-Chem reference time (in hours). !\\ !\\ ! !INTERFACE: ! SUBROUTINE TIMEUNIT_CHECK( TIMEUNIT, TIMETYPE, TOFFSET, FILENAME, RC ) ! ! !USES: ! USE CHARPAK_MOD, ONLY : TRANLC ! ! !INPUT PARAMETERS: ! ! Required CHARACTER(LEN=*), INTENT(IN ) :: TIMEUNIT CHARACTER(LEN=*), INTENT(IN ) :: FILENAME ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT( OUT) :: TIMETYPE REAL*8, INTENT( OUT) :: TOFFSET ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: RC ! ! !REMARKS: ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! CHARACTER(LEN=255) :: LOC, MSG CHARACTER(LEN=255) :: MIRRUNIT INTEGER :: STAT, L1, L2 INTEGER :: TTYPE INTEGER :: YYYY, MM, DD, HH INTEGER :: STRLEN !================================================================= ! TIMEUNIT_CHECK starts here !================================================================= ! Init LOC = 'TIMEUNIT_CHECK (ncdf_mod.F)' ! Check length of time unit string. This must be at least 21 ! ("days since YYYY:MM:DD" is of length 21) STRLEN = LEN(TIMEUNIT) IF ( STRLEN < 21 ) THEN PRINT *, 'Time unit string too short: ' // TRIM(FILENAME) RC = -999; RETURN ENDIF ! ---------------------------------------------------------------------- ! Determine time unit type ! ---------------------------------------------------------------------- ! Mirror time unit and convert to lower case MIRRUNIT = TIMEUNIT CALL TRANLC( MIRRUNIT ) ! Check for 'hours since'. If true, set TTYPE to 1 and set the ! begin of the effective date string to 12. Also check if the time ! string is at least of length 25, which is required for this ! unit. IF ( MIRRUNIT(1:11) == 'hours since' ) THEN TTYPE = 1 L1 = 13 IF ( STRLEN < 25 ) THEN PRINT *, 'Time unit string too short: ' // TRIM(FILENAME) RC = -999; RETURN ENDIF ! Check for 'days since'. If true, set TTYPE to 2 and set the ! begin of the effective date string to 11. ELSEIF ( MIRRUNIT(1:10) == 'days since' ) THEN TTYPE = 2 L1 = 12 ELSE ! Return w/ error PRINT *, 'Invalid time unit in', TRIM(FILENAME) RC = -999; RETURN ENDIF ! ---------------------------------------------------------------------- ! Determine reference time/date ! Get the year, month, day and hour from the string ! '... since YYYY-MM-DD hh:mm:ss ! ---------------------------------------------------------------------- ! Read reference year, i.e. first four integers L2 = L1 + 3 READ( TIMEUNIT(L1:L2),'(i4)', IOSTAT=STAT ) YYYY IF ( STAT /= 0 ) THEN PRINT *, 'Invalid year in ', TRIM(TIMEUNIT), & ' in file' , TRIM(FILENAME) RC = -999; RETURN ENDIF ! Read reference month. Typically, the month is represented by ! two characters, i.e. 1 is 01, etc. L1 = L2 + 2 L2 = L1 + 1 READ( TIMEUNIT(L1:L2), '(i2)', IOSTAT=STAT ) MM ! Also check for the case where the month is only one character: IF ( STAT /= 0 ) THEN L2 = L1 READ( TIMEUNIT(L1:L2), '(i2)', IOSTAT=STAT ) MM IF ( STAT /= 0 ) THEN PRINT *, 'Invalid month in ', TRIM(TIMEUNIT), & ' in file' , TRIM(FILENAME) RC = -999; RETURN ENDIF ENDIF ! Reference day. Typically, the day is represented by two ! characters, i.e. 1 is 01, etc. L1 = L2 + 2 L2 = L1 + 1 READ( TIMEUNIT(L1:L2), '(i2)', IOSTAT=STAT ) DD ! Also check for the case where the day is only one character: IF ( STAT /= 0 ) THEN L2 = L1 READ( TIMEUNIT(L1:L2), '(i2)', IOSTAT=STAT ) DD IF ( STAT /= 0 ) THEN PRINT *, 'Invalid day in ', TRIM(TIMEUNIT), & ' in file' , TRIM(FILENAME) RC = -999; RETURN ENDIF ENDIF ! Get reference hour only if 'hours since...' IF ( TTYPE == 1 ) THEN ! Reference hour L1 = L2 + 2 L2 = L1 + 1 READ( TIMEUNIT(L1:L2), '(i2)', IOSTAT=STAT ) HH IF ( STAT /= 0 ) THEN L2 = L1 READ( TIMEUNIT(L1:L2), '(i2)', IOSTAT=STAT ) HH IF ( STAT /= 0 ) THEN PRINT *, 'Invalid hour in ', TRIM(TIMEUNIT), & ' in file' , TRIM(FILENAME) RC = -999; RETURN ENDIF ENDIF ELSE ! Set reference hour to 0 HH = 0 ENDIF ! Get reference tau relative to G-C reference time, i.e. the ! offset of the netCDF reference time to the G-C reference time. ! This is hours since G-C reftime. TOFFSET = GET_TAU0( MM, DD, YYYY, HH ) ! Remove one day if TOFFSET is negative, i.e. if the netCDF ! reference time is older than G-C reference time. We have to do ! this because GET_TAU0 does count the last day in this case! IF ( TOFFSET < 0d0 ) THEN TOFFSET = TOFFSET + 24d0 ENDIF ! Output argument TIMETYPE = TTYPE ! Return w/ success RC = 0 END SUBROUTINE TIMEUNIT_CHECK !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nc_Get_Grid_Edges_Sp ! ! !DESCRIPTION: Routine to get the longitude or latitude edges. If the edge ! cannot be read from the netCDF file, they are calculated from the provided ! grid midpoints. Use the axis input argument to discern between longitude ! (axis 1) and latitude (axis 2). !\\ !\\ ! !INTERFACE: ! SUBROUTINE NC_GET_GRID_EDGES_SP( fID, AXIS, MID, NMID, EDGE, NEDGE, RC ) ! ! !USES: ! IMPLICIT NONE ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN ) :: fID ! Ncdf File ID INTEGER, INTENT(IN ) :: AXIS ! 1=lon, 2=lat REAL*4, INTENT(IN ) :: MID(NMID) ! midpoints INTEGER, INTENT(IN ) :: NMID ! # of midpoints ! ! !INPUT/OUTPUT PARAMETERS: ! REAL*4, POINTER :: EDGE(:) ! edges INTEGER, INTENT(INOUT) :: NEDGE ! # of edges INTEGER, INTENT(INOUT) :: RC ! Return code ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC !====================================================================== ! NC_GET_GRID_EDGES_SP begins here !====================================================================== CALL NC_GET_GRID_EDGES_C( fID, AXIS, NMID, NEDGE, RC, & MID4=MID, EDGE4=EDGE ) END SUBROUTINE NC_GET_GRID_EDGES_SP !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nc_Get_Grid_Edges_Dp ! ! !DESCRIPTION: Routine to get the longitude or latitude edges. If the edge ! cannot be read from the netCDF file, they are calculated from the provided ! grid midpoints. Use the axis input argument to discern between longitude ! (axis 1) and latitude (axis 2). !\\ !\\ ! !INTERFACE: ! SUBROUTINE NC_GET_GRID_EDGES_DP( fID, AXIS, MID, NMID, EDGE, NEDGE, RC ) ! ! !USES: ! IMPLICIT NONE ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN ) :: fID ! Ncdf File ID INTEGER, INTENT(IN ) :: AXIS ! 1=lon, 2=lat REAL*8, INTENT(IN ) :: MID(NMID) ! midpoints INTEGER, INTENT(IN ) :: NMID ! # of midpoints ! ! !INPUT/OUTPUT PARAMETERS: ! REAL*8, POINTER :: EDGE(:) ! edges INTEGER, INTENT(INOUT) :: NEDGE ! # of edges INTEGER, INTENT(INOUT) :: RC ! Return code ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC !====================================================================== ! NC_GET_GRID_EDGES_DP begins here !====================================================================== CALL NC_GET_GRID_EDGES_C( fID, AXIS, NMID, NEDGE, RC, & MID8=MID, EDGE8=EDGE ) END SUBROUTINE NC_GET_GRID_EDGES_DP !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nc_Get_Grid_Edges_C ! ! !DESCRIPTION: Routine to get the longitude or latitude edges. If the edge ! cannot be read from the netCDF file, they are calculated from the provided ! grid midpoints. Use the axis input argument to discern between longitude ! (axis 1) and latitude (axis 2). !\\ !\\ ! !INTERFACE: ! SUBROUTINE NC_GET_GRID_EDGES_C( fID, AXIS, NMID, NEDGE, RC, & MID4, MID8, EDGE4, EDGE8 ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN ) :: fID ! Ncdf File ID INTEGER, INTENT(IN ) :: AXIS ! 1=lon, 2=lat REAL*4, OPTIONAL, INTENT(IN ) :: MID4(NMID) ! midpoints REAL*8, OPTIONAL, INTENT(IN ) :: MID8(NMID) ! midpoints INTEGER, INTENT(IN ) :: NMID ! # of midpoints ! ! !INPUT/OUTPUT PARAMETERS: ! REAL*4, OPTIONAL, POINTER :: EDGE4(:) ! edges REAL*8, OPTIONAL, POINTER :: EDGE8(:) ! edges INTEGER, INTENT(INOUT) :: NEDGE ! # of edges INTEGER, INTENT(INOUT) :: RC ! Return code ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! LOGICAL :: PoleMid INTEGER :: I, AS CHARACTER(LEN=255) :: ncVar, ThisUnit !====================================================================== ! NC_GET_GRID_EDGES_DP begins here !====================================================================== ! Error trap: edge and mid must be same kind IF ( PRESENT(EDGE4) ) THEN IF ( .NOT. PRESENT(MID4) ) THEN PRINT *, 'If you provide EDGE4, you must also provide MID4' RC = -999 RETURN ENDIF ELSEIF ( PRESENT(EDGE8) ) THEN IF ( .NOT. PRESENT(MID8) ) THEN PRINT *, 'If you provide EDGE8, you must also provide MID8' RC = -999 RETURN ENDIF ELSE PRINT *, 'EDGE4 or EDGE8 must be given' RC = -999 RETURN ENDIF ! Try to read edges from ncdf file IF ( AXIS == 1 ) THEN ncVar = 'lon_edge' ELSEIF ( AXIS == 2 ) THEN ncVar = 'lat_edge' ENDIF IF ( PRESENT(EDGE4) ) THEN CALL NC_READ_VAR( fID, TRIM(ncVar), nEdge, ThisUnit, Edge4, RC ) ELSE CALL NC_READ_VAR( fID, TRIM(ncVar), nEdge, ThisUnit, Edge8, RC ) ENDIF IF ( RC /= 0 ) RETURN ! Also try 'XXX_edges' IF ( nEdge == 0 ) THEN IF ( AXIS == 1 ) THEN ncVar = 'lon_edges' ELSEIF ( AXIS == 2 ) THEN ncVar = 'lat_edges' ENDIF IF ( PRESENT(EDGE4) ) THEN CALL NC_READ_VAR( fID, 'lon_edges', nEdge, ThisUnit, Edge4, RC ) ELSE CALL NC_READ_VAR( fID, 'lon_edges', nEdge, ThisUnit, Edge8, RC ) ENDIF IF ( RC /= 0 ) RETURN ENDIF ! Sanity check if edges are read from files: dimension must be nlon + 1! IF ( nEdge > 0 ) THEN IF ( nEdge /= (nMid + 1) ) THEN PRINT *, 'Edge has incorrect length!' RC = -999; RETURN ENDIF ! If not read from file, calculate from provided lon midpoints. ELSE nEdge = nMid + 1 IF ( PRESENT(EDGE4) ) THEN IF ( ASSOCIATED ( Edge4 ) ) DEALLOCATE( Edge4 ) ALLOCATE ( Edge4(nEdge), STAT=AS ) IF ( AS /= 0 ) THEN PRINT *, 'Edge alloc. error in NC_GET_LON_EDGES (ncdf_mod.F90)' RC = -999; RETURN ENDIF Edge4 = 0.0 ELSE IF ( ASSOCIATED ( Edge8 ) ) DEALLOCATE( Edge8 ) ALLOCATE ( Edge8(nEdge), STAT=AS ) IF ( AS /= 0 ) THEN PRINT *, 'Edge alloc. error in NC_GET_LON_EDGES (ncdf_mod.F90)' RC = -999; RETURN ENDIF Edge8 = 0.0d0 ENDIF ! Get leftmost edge by extrapolating from first two midpoints. ! Error trap: for latitude axis, first edge must not be below -90! IF ( PRESENT(EDGE4) ) THEN Edge4(1) = Mid4(1) - ( (Mid4(2) - Mid4(1) ) / 2.0 ) IF ( Edge4(1) < -90.0 .AND. AXIS == 2 ) Edge4(1) = -90.0 ELSE Edge8(1) = Mid8(1) - ( (Mid8(2) - Mid8(1) ) / 2.0d0 ) IF ( Edge8(1) < -90.0d0 .AND. AXIS == 2 ) Edge8(1) = -90.0d0 ENDIF ! Calculate second edge. We need to catch the case where the first ! latitude mid-point is -90 (this is the case for GEOS-5 generic ! grids...). In that case, the second edge is put in the middle of ! the first two mid points (e.g. between -90 and -89). In all other ! case, we calculate it from the previously calculated left edge. IF ( PRESENT(EDGE4) ) THEN IF ( Mid4(1) == Edge4(1) ) THEN Edge4(2) = Mid4(1) + ( Mid4(2) - Mid4(1) ) / 2.0 PoleMid = .TRUE. ELSE Edge4(2) = Mid4(1) + Mid4(1) - Edge4(1) PoleMid = .FALSE. ENDIF ! Sequentially calculate the right edge from the previously ! calculated left edge. DO I = 2, nMid Edge4(I+1) = Mid4(I) + Mid4(I) - Edge4(I) ENDDO ! Error check: max. lat edge must not exceed +90! IF ( Edge4(nMId+1) > 90.01 .AND. AXIS == 2 ) THEN IF ( PoleMid ) THEN Edge4(nMid+1) = 90.0 ELSE PRINT *, 'Uppermost latitude edge above 90 deg north!' PRINT *, Edge4 RC = -999; RETURN ENDIF ENDIF ! Real8 ELSE IF ( Mid8(1) == Edge8(1) ) THEN Edge8(2) = Mid8(1) + ( Mid8(2) - Mid8(1) ) / 2.0d0 PoleMid = .TRUE. ELSE Edge8(2) = Mid8(1) + Mid8(1) - Edge8(1) PoleMid = .FALSE. ENDIF ! Sequentially calculate the right edge from the previously ! calculated left edge. DO I = 2, nMid Edge8(I+1) = Mid8(I) + Mid8(I) - Edge8(I) ENDDO ! Error check: max. lat edge must not exceed +90! IF ( Edge8(nMId+1) > 90.01d0 .AND. AXIS == 2 ) THEN IF ( PoleMid ) THEN Edge8(nMid+1) = 90.0d0 ELSE PRINT *, 'Uppermost latitude edge above 90 deg north!' PRINT *, Edge8 RC = -999; RETURN ENDIF ENDIF ENDIF ENDIF ! Return w/ success RC = 0 END SUBROUTINE NC_GET_GRID_EDGES_C !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nc_Get_Sigma_Levels_Sp ! ! !DESCRIPTION: Wrapper routine to get the sigma levels in single precision. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NC_GET_SIGMA_LEVELS_SP( fID, ncFile, levName, lon1, lon2, lat1, & lat2, lev1, lev2, time, SigLev, dir, RC ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN ) :: fID ! Ncdf File ID CHARACTER(LEN=*), INTENT(IN ) :: ncFile ! ncFile CHARACTER(LEN=*), INTENT(IN ) :: levName ! variable name INTEGER, INTENT(IN ) :: lon1 ! lon lower bound INTEGER, INTENT(IN ) :: lon2 ! lon upper bound INTEGER, INTENT(IN ) :: lat1 ! lat lower bound INTEGER, INTENT(IN ) :: lat2 ! lat upper bound INTEGER, INTENT(IN ) :: lev1 ! lev lower bound INTEGER, INTENT(IN ) :: lev2 ! lev upper bound INTEGER, INTENT(IN ) :: time ! time index ! ! !INPUT/OUTPUT PARAMETERS: ! REAL*4, POINTER :: SigLev(:,:,:) ! sigma levels INTEGER, INTENT(INOUT) :: dir ! axis direction (1=up;-1=down) INTEGER, INTENT(INOUT) :: RC ! Return code ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC CALL NC_GET_SIGMA_LEVELS_C( fID, ncFile, levName, lon1, lon2, lat1, & lat2, lev1, lev2, time, dir, RC, & SigLev4=SigLev ) END SUBROUTINE NC_GET_SIGMA_LEVELS_SP !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nc_Get_Sigma_Levels_Dp ! ! !DESCRIPTION: Wrapper routine to get the sigma levels in double precision. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NC_GET_SIGMA_LEVELS_DP( fID, ncFile, levName, lon1, lon2, lat1, & lat2, lev1, lev2, time, SigLev, dir, RC ) ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN ) :: fID ! Ncdf File ID CHARACTER(LEN=*), INTENT(IN ) :: ncFile ! ncFile CHARACTER(LEN=*), INTENT(IN ) :: levName ! variable name INTEGER, INTENT(IN ) :: lon1 ! lon lower bound INTEGER, INTENT(IN ) :: lon2 ! lon upper bound INTEGER, INTENT(IN ) :: lat1 ! lat lower bound INTEGER, INTENT(IN ) :: lat2 ! lat upper bound INTEGER, INTENT(IN ) :: lev1 ! lev lower bound INTEGER, INTENT(IN ) :: lev2 ! lev upper bound INTEGER, INTENT(IN ) :: time ! time index ! ! !INPUT/OUTPUT PARAMETERS: ! REAL*8, POINTER :: SigLev(:,:,:) ! sigma levels INTEGER, INTENT(INOUT) :: dir ! axis direction (1=up;-1=down) INTEGER, INTENT(INOUT) :: RC ! Return code ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC CALL NC_GET_SIGMA_LEVELS_C( fID, ncFile, levName, lon1, lon2, lat1, & lat2, lev1, lev2, time, dir, RC, & SigLev8=SigLev ) END SUBROUTINE NC_GET_SIGMA_LEVELS_DP !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nc_Get_Sigma_Levels_C ! ! !DESCRIPTION: Routine to get the sigma levels from the netCDF file ! within the given grid bounds and for the given time index. This routine ! attempts to construct the 3D sigma values from provided variable levName. ! The vertical coordinate system is determined based upon the variable ! attribute "standard\_name". !\\ !\\ ! For now, only hybrid sigma coordinate systems are supported, and the ! standard\_name attribute must follow CF conventions and be set to ! "atmosphere\_hybrid\_sigma\_pressure\_coordinate". !\\ !\\ ! !INTERFACE: ! SUBROUTINE NC_GET_SIGMA_LEVELS_C( fID, ncFile, levName, lon1, lon2, lat1, & lat2, lev1, lev2, time, dir, RC, & SigLev4, SigLev8 ) ! ! !USES: ! USE m_netcdf_io_checks USE m_netcdf_io_readattr ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN ) :: fID ! Ncdf File ID CHARACTER(LEN=*), INTENT(IN ) :: ncFile ! ncFile CHARACTER(LEN=*), INTENT(IN ) :: levName ! variable name INTEGER, INTENT(IN ) :: lon1 ! lon lower bound INTEGER, INTENT(IN ) :: lon2 ! lon upper bound INTEGER, INTENT(IN ) :: lat1 ! lat lower bound INTEGER, INTENT(IN ) :: lat2 ! lat upper bound INTEGER, INTENT(IN ) :: lev1 ! lev lower bound INTEGER, INTENT(IN ) :: lev2 ! lev upper bound INTEGER, INTENT(IN ) :: time ! time index ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT( OUT) :: dir ! axis direction (1=up;-1=down) INTEGER, INTENT(INOUT) :: RC ! Return code REAL*4, OPTIONAL, POINTER :: SigLev4(:,:,:) ! sigma levels w/in REAL*8, OPTIONAL, POINTER :: SigLev8(:,:,:) ! specified boundaries ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: found INTEGER :: a_type ! netCDF attribute type ! Straings CHARACTER(LEN=255) :: stdname CHARACTER(LEN=255) :: a_name ! netCDF attribute name CHARACTER(LEN=255) :: a_val ! netCDF attribute value !======================================================================== ! NC_GET_SIGMA_LEVELS begins here !======================================================================== ! Initialize RC = 0 !------------------------------------------------------------------------ ! Test that the level index variable exists !------------------------------------------------------------------------ found = Ncdoes_Var_Exist( fID, TRIM(levName) ) IF ( .not. found ) THEN WRITE(*,*) 'Cannot find level variable ', & TRIM(levName), ' in ', TRIM(ncFile), '!' RC = -999 RETURN ENDIF !------------------------------------------------------------------------ ! Look for the "standard_name" or "long_name" attribute, ! which will be used to identify the vertical coordinate !------------------------------------------------------------------------ ! First look for "standard_name" a_name = "standard_name" found = NcDoes_Attr_Exist( fId, TRIM(levName), TRIM(a_name), a_type ) ! If not found, then look for "long_name" IF ( .not. found ) THEN a_name = "long_name" found = NcDoes_Attr_Exist( fId, TRIM(levName), TRIM(a_name), a_type ) ! If neither attribute is found, then exit with error IF ( .not. found ) THEN WRITE(*,*) 'Cannot find level attribute ', TRIM(a_name), & ' in variable ', TRIM(levName), ' - File: ', TRIM(ncFile), '!' RC = -999 RETURN ENDIF ENDIF ! Read the "standard_name" or "long_name" attribute (whichever is found) CALL NcGet_Var_Attributes( fID, TRIM(levName), TRIM(a_name), a_val ) !------------------------------------------------------------------------ ! Call functions to calculate sigma levels depending on the coordinate ! system. !------------------------------------------------------------------------ IF ( TRIM(a_val) == 'atmosphere_hybrid_sigma_pressure_coordinate' ) THEN IF ( PRESENT( SigLev4 ) ) THEN ! Return 4-byte real array CALL NC_GET_SIG_FROM_HYBRID( fID, levName, lon1, lon2, & lat1, lat2, lev1, lev2, & time, dir, RC, SigLev4=SigLev4 ) ELSE IF ( PRESENT( SigLev8 ) ) THEN ! Return 8-byte real array CALL NC_GET_SIG_FROM_HYBRID( fID, levName, lon1, lon2, & lat1, lat2, lev1, lev2, & time, dir, RC, SigLev8=SigLev8 ) ELSE ! Othrwise exit with error WRITE(*,*) 'SigLev array is missing!' RC = -999 RETURN ENDIF IF ( RC /= 0 ) RETURN ELSE ! NOTE: for now, only hybrid sigma coordinates are supported! ! So exit with error if we get this far WRITE(*,*) 'Invalid level standard name: ', TRIM(stdname), & ' in ', TRIM(ncFile) RC = -999 RETURN ENDIF ! Return w/ success RC = 0 END SUBROUTINE NC_GET_SIGMA_LEVELS_C !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nc_Get_Sig_From_Hybrid ! ! !DESCRIPTION: Calculates the sigma level field for a hybrid sigma coordinate ! system: ! ! sigma(i,j,l,t) = ( a(l) * p0 + b(l) * ps(i,j,t) ) / ps(i,j,t) ! ! or (p0=1): ! ! sigma(i,j,l,t) = ( ap(l) + b(l) * ps(i,j,t) ) / ps(i,j,t) ! ! where sigma are the sigma levels, ap and bp are the hybrid sigma coordinates, ! p0 is the constant reference pressure, and ps is the surface pressure. The ! variable names of ap, p0, bp, and ps are taken from level attribute ! `formula\_terms`. !\\ !\\ ! The direction of the vertical coordinate system is determined from attribute ! `positive` (up or down) or - if not found - from the b values, whereby it is ! assumed that the higher b value is found at the surface. The return argument ! dir is set to 1 for upward coordinates (level 1 is surface level) and -1 for ! downward coordinates (level 1 is top of atmosphere). !\\ !\\ ! !REMARKS: ! Example of valid netCDF meta-data: The attributes `standard\_name` and ! `formula\_terms` are required, as is the 3D surface pressure field. ! ! double lev(lev) ;\\ ! lev:standard_name = "atmosphere_hybrid_sigma_pressure_coordinate" ;\\ ! lev:units = "level" ;\\ ! lev:positive = "down" ;\\ ! lev:formula_terms = "ap: hyam b: hybm ps: PS" ;\\ ! double hyam(nhym) ;\\ ! hyam:long_name = "hybrid A coefficient at layer midpoints" ;\\ ! hyam:units = "hPa" ;\\ ! double hybm(nhym) ;\\ ! hybm:long_name = "hybrid B coefficient at layer midpoints" ;\\ ! hybm:units = "1" ;\\ ! double time(time) ;\\ ! time:standard_name = "time" ;\\ ! time:units = "days since 2000-01-01 00:00:00" ;\\ ! time:calendar = "standard" ;\\ ! double PS(time, lat, lon) ;\\ ! PS:long_name = "surface pressure" ;\\ ! PS:units = "hPa" ;\\ ! ! !INTERFACE: ! SUBROUTINE NC_GET_SIG_FROM_HYBRID ( fID, levName, lon1, lon2, lat1, & lat2, lev1, lev2, time, dir, & RC, sigLev4, sigLev8 ) ! ! !USES: ! USE m_netcdf_io_checks USE m_netcdf_io_get_dimlen USE m_netcdf_io_read USE m_netcdf_io_readattr ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN ) :: fID ! Ncdf File ID CHARACTER(LEN=*), INTENT(IN ) :: levName ! variable name INTEGER, INTENT(IN ) :: lon1 ! lon lower bound INTEGER, INTENT(IN ) :: lon2 ! lon upper bound INTEGER, INTENT(IN ) :: lat1 ! lat lower bound INTEGER, INTENT(IN ) :: lat2 ! lat upper bound INTEGER, INTENT(IN ) :: lev1 ! lev lower bound INTEGER, INTENT(IN ) :: lev2 ! lev upper bound INTEGER, INTENT(IN ) :: time ! time index ! ! !INPUT/OUTPUT PARAMETERS: ! REAL*4, OPTIONAL, POINTER :: SigLev4(:,:,:) ! sigma levels w/in REAL*8, OPTIONAL, POINTER :: SigLev8(:,:,:) ! specified boundaries INTEGER, INTENT( OUT) :: dir ! axis direction (1=up;-1=down) INTEGER, INTENT(INOUT) :: RC ! Return code ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, J, l1, l2, AS INTEGER :: nlev, nlat, nlon INTEGER :: nlevs INTEGER :: st1d(1), ct1d(1) LOGICAL :: ok REAL*4, POINTER :: a(:) REAL*4, POINTER :: b(:) REAL*4, POINTER :: ps(:,:,:,:) REAL*8 :: p0 CHARACTER(LEN=255) :: formula, ThisUnit CHARACTER(LEN=255) :: aname, bname, psname, p0name CHARACTER(LEN=255) :: a_name ! netCDF attribute name INTEGER :: a_type ! netCDF attribute type !====================================================================== ! NC_GET_SIG_FROM_HYBRID begins here !====================================================================== ! Init p0 = -999.d0 a => NULL() b => NULL() ps => NULL() ! Get desired grid dimensions. nlon = lon2 - lon1 + 1 nlat = lat2 - lat1 + 1 nlev = lev2 - lev1 + 1 ! Get dimension length CALL Ncget_Dimlen ( fID, TRIM(LevName), nlevs ) ! Sanity check IF ( nlevs < nlev ) THEN WRITE(*,*) TRIM(LevName), ' is only of length ', nlevs, ' - required is: ', nlev RC = -999 RETURN ENDIF !------------------------------------------------------------------------ ! Get formula and parse variable names (ap, bp, p0, ps) !------------------------------------------------------------------------ ! Get formula a_name = "formula_terms" IF ( .NOT. NcDoes_Attr_Exist ( fID, TRIM(levName), & TRIM(a_name), a_type ) ) THEN WRITE(*,*) 'Cannot find attribute ', TRIM(a_name), ' in variable ', & TRIM(levName) RC = -999 RETURN ENDIF CALL NcGet_Var_Attributes( fID, TRIM(levName), TRIM(a_name), formula ) ! Get variable names !------------------- I = INDEX( formula, 'a:' ) IF ( I > 0 ) THEN CALL GetVarFromFormula( formula, 'a:', aname, RC ) IF ( RC /= 0 ) RETURN CALL GetVarFromFormula( formula, 'p0:', p0name, RC ) IF ( RC /= 0 ) RETURN ELSE CALL GetVarFromFormula( formula, 'ap:', aname, RC ) IF ( RC /= 0 ) RETURN p0 = 1.0d0 ENDIF IF ( RC /= 0 ) RETURN CALL GetVarFromFormula( formula, 'b:', bname, RC ) IF ( RC /= 0 ) RETURN CALL GetVarFromFormula( formula, 'ps:', psname, RC ) IF ( RC /= 0 ) RETURN !------------------------------------------------------------------------ ! Read variables from file. !------------------------------------------------------------------------ ALLOCATE ( a(nlevs), b(nlevs) ) st1d = (/ 1 /) ct1d = (/ nlevs /) ! read a !------- IF ( .NOT. Ncdoes_Var_Exist( fID, TRIM(aname) ) ) THEN WRITE(*,*) 'Cannot find variable ', TRIM(aname), '!' RC = -999 RETURN ENDIF CALL NcRd( a, fID, TRIM(aname), st1d, ct1d ) ! eventually read p0 !------------------- IF ( p0 < 0.0d0 ) THEN IF ( .NOT. Ncdoes_Var_Exist( fID, TRIM(p0name) ) ) THEN WRITE(*,*) 'Cannot find variable ', TRIM(p0name), '!' RC = -999 RETURN ENDIF CALL NcRd( p0, fID, TRIM(p0name) ) ENDIF ! read b !------- IF ( .NOT. Ncdoes_Var_Exist( fID, TRIM(bname) ) ) THEN WRITE(*,*) 'Cannot find variable ', TRIM(bname), '!' RC = -999 RETURN ENDIF CALL NcRd( b, fID, TRIM(bname), st1d, ct1d ) ! Read ps !-------- CALL NC_READ_ARR( fID, TRIM(psname), lon1, lon2, lat1, & lat2, 0, 0, time, time, ps, VarUnit=thisUnit, RC=RC ) IF ( RC /= 0 ) RETURN !------------------------------------------------------------------------ ! Determine positive axis ('up' or 'down') ! Try to read it from the netCDF meta data (attribute `positive`). If not ! found, determine it from b values (b value at surface higher than at ! top of atmosphere). !------------------------------------------------------------------------ a_name = "positive" IF ( NcDoes_Attr_Exist( fID, TRIM(levName), TRIM(a_name), a_type ) ) THEN CALL NcGet_Var_Attributes( fID, TRIM(levName), TRIM(a_name), formula ) IF ( TRIM(formula) == 'up' ) THEN dir = 1 ELSEIF ( TRIM(formula) == 'down' ) THEN dir = -1 ELSE WRITE(*,*) 'level attribute `positive` must be `up` ', & 'or `down`, instead: ', TRIM(formula) RC = -999 RETURN ENDIF ! determine direction from b values. ELSE IF ( b(1) > b(nlevs) ) THEN dir = 1 ELSE dir = -1 ENDIF ENDIF !------------------------------------------------------------------------ ! Determine vertical indeces to be used. It is possible to calculate ! the pressure only for a given number of layers (as specified by input ! arguments lev1 and lev2). Assume those are always from bottom to top, ! i.e. counting `upwards`. !------------------------------------------------------------------------ IF ( dir == -1 ) THEN l1 = nlevs - lev2 + 1 l2 = nlevs - lev1 + 1 ELSE l1 = lev1 l2 = lev2 ENDIF !------------------------------------------------------------------------ ! Calculate sigma values at grid edges !------------------------------------------------------------------------ IF ( PRESENT(SigLev4) ) THEN IF ( ASSOCIATED(SigLev4) ) DEALLOCATE(SigLev4) ALLOCATE(SigLev4(nlon,nlat,nlev),STAT=AS) ELSEIF ( PRESENT(SigLev8) ) THEN IF ( ASSOCIATED(SigLev8) ) DEALLOCATE(SigLev8) ALLOCATE(SigLev8(nlon,nlat,nlev),STAT=AS) ELSE WRITE(*,*) 'SigLev must be provided!' RC = -999 RETURN ENDIF IF ( AS /= 0 ) THEN WRITE(*,*) 'Cannot allocate SigLev!' RC = -999 RETURN ENDIF DO J=1,nlat DO I=1,nlon IF ( PRESENT(SigLev4) ) THEN SigLev4(i,j,:) = ( ( a(l1:l2) * p0 ) + ( b(l1:l2) * ps(i,j,1,1) ) ) & / ps(i,j,1,1) ELSE SigLev8(i,j,:) = ( ( a(l1:l2) * p0 ) + ( b(l1:l2) * ps(i,j,1,1) ) ) & / ps(i,j,1,1) ENDIF ENDDO ENDDO ! Cleanup IF ( ASSOCIATED(a ) ) DEALLOCATE(a ) IF ( ASSOCIATED(b ) ) DEALLOCATE(b ) IF ( ASSOCIATED(ps) ) DEALLOCATE(ps) ! Return w/ success RC = 0 END SUBROUTINE NC_GET_SIG_FROM_HYBRID !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: GetVarFromFormula ! ! !DESCRIPTION: helper function to extract the variable name from a vertical ! coordinate formula. !\\ !\\ ! !INTERFACE: ! SUBROUTINE GetVarFromFormula ( formula, inname, outname, RC ) ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN ) :: formula CHARACTER(LEN=*), INTENT(IN ) :: inname ! ! !INPUT/OUTPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT( OUT) :: outname INTEGER, INTENT(INOUT) :: RC ! Return code ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: I, J, IDX, LN !====================================================================== ! GetVarFromFormula begins here !====================================================================== ! maximum length LN = LEN(TRIM(formula)) ! Get start index of string !-------------------------- I = INDEX( TRIM(formula), TRIM(inname) ) IF ( I <= 0 ) THEN WRITE(*,*) 'Cannot extract ', TRIM(inname), ' from ', TRIM(formula) RC = -999 RETURN ENDIF ! The variable name follows the formula string plus one space! I = I + LEN(inname) + 1 outname = '' IDX = 1 DO J = I, LN IF ( formula(J:J) == ' ' ) EXIT outname(IDX:IDX) = formula(J:J) IDX = IDX + 1 ENDDO ! Return w/ success RC = 0 END SUBROUTINE GetVarFromFormula !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nc_Write_3d ! ! !DESCRIPTION: Routine to write time slices of 2D fields into netCDF. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NC_WRITE_3D( ncFile, I, J, T, N, lon, lat, & time, timeUnit, ncVars, ncUnits, & ncLongs, ncShorts, ncArrays ) ! ! !USES: ! USE m_netcdf_io_close USE m_netcdf_io_define USE m_netcdf_io_write USE netCDF ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: ncFile ! file path+name INTEGER, INTENT(IN) :: I ! # of lons INTEGER, INTENT(IN) :: J ! # of lats INTEGER, INTENT(IN) :: T ! # of time slices INTEGER, INTENT(IN) :: N ! # of vars REAL*4, INTENT(IN) :: lon(I) ! longitude REAL*4, INTENT(IN) :: lat(J) ! latitude REAL*4, INTENT(IN) :: time(T) ! time CHARACTER(LEN=*), INTENT(IN) :: timeUnit ! time unit CHARACTER(LEN=*), INTENT(IN) :: ncVars(N) ! nc variables CHARACTER(LEN=*), INTENT(IN) :: ncUnits(N) ! var units CHARACTER(LEN=*), INTENT(IN) :: ncLongs(N) ! var long names CHARACTER(LEN=*), INTENT(IN) :: ncShorts(N) ! var short names REAL*4, TARGET, INTENT(IN) :: ncArrays(I,J,T,N) ! var arrays ! ! !REMARKS: ! Created with the ncCodeRead script of the NcdfUtilities package, ! with subsequent hand-editing. ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: fId, II REAL*4, POINTER :: tmpArr(:,:,:) => NULL() !====================================================================== ! NC_WRITE_3D begins here !====================================================================== CALL NC_DEFINE(ncFile=ncFile, nLon=I, nLat=J, & nTime=T, timeUnit=timeUnit, ncVars=ncVars, & ncUnits=ncUnits,ncLongs=ncLongs,ncShorts=ncShorts,& fId=fId ) CALL NC_WRITE_DIMS( fID=fId, lon=lon, lat=lat, time=time ) DO II = 1, N tmpArr => ncArrays(:,:,:,II) CALL NC_WRITE_DATA_3D ( fId, ncVars(II), tmpArr ) tmpArr => NULL() ENDDO CALL NcCl( fId ) END SUBROUTINE NC_WRITE_3D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nc_Write_4d ! ! !DESCRIPTION: Routine to write time slices of 3D fields into netCDF. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NC_WRITE_4D (ncFile, I, J, L, T, N, lon, lat, lev, & time, timeUnit, ncVars, ncUnits, & ncLongs, ncShorts, ncArrays ) ! ! !USES: ! USE m_netcdf_io_create USE m_netcdf_io_close USE m_netcdf_io_define USE m_netcdf_io_write USE netCDF ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN) :: ncFile ! file path+name INTEGER, INTENT(IN) :: I ! # of lons INTEGER, INTENT(IN) :: J ! # of lats INTEGER, INTENT(IN) :: L ! # of levs INTEGER, INTENT(IN) :: T ! # of time slices INTEGER, INTENT(IN) :: N ! # of vars REAL*4, INTENT(IN) :: lon(:) ! longitude REAL*4, INTENT(IN) :: lat(:) ! latitude REAL*4, INTENT(IN) :: lev(:) ! levels REAL*4, INTENT(IN) :: time(:) ! time CHARACTER(LEN=*), INTENT(IN) :: timeUnit ! time unit CHARACTER(LEN=*), INTENT(IN) :: ncVars(:) ! nc variables CHARACTER(LEN=*), INTENT(IN) :: ncUnits(:) ! var units CHARACTER(LEN=*), INTENT(IN) :: ncLongs(:) ! var long names CHARACTER(LEN=*), INTENT(IN) :: ncShorts(:) ! var short names REAL*4, TARGET, INTENT(IN) :: ncArrays(:,:,:,:,:) ! var arrays ! ! !REMARKS: ! Created with the ncCodeRead script of the NcdfUtilities package, ! with subsequent hand-editing. ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: II, fID REAL*4, POINTER :: tmpArr(:,:,:,:) => NULL() !====================================================================== ! NC_WRITE begins here !====================================================================== CALL NC_DEFINE(ncFile=ncFile, nLon=I, nLat=J, nLev=L, & nTime=T, timeUnit=timeUnit, ncVars=ncVars, & ncUnits=ncUnits,ncLongs=ncLongs,ncShorts=ncShorts,& fId=fId ) CALL NC_WRITE_DIMS( fID=fId, lon=lon, lat=lat, time=time, lev=lev) DO II = 1, size(ncVars) tmpArr => ncArrays(:,:,:,:,II) CALL NC_WRITE_DATA_4D ( fId, ncVars(II), tmpArr ) tmpArr => NULL() ENDDO CALL NcCl( fId ) END SUBROUTINE NC_WRITE_4D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nc_Define ! ! !DESCRIPTION: Routine to define the variables and attributes of a netCDF ! file. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NC_DEFINE( ncFile, nLon, nLat, nLev, nTime, & timeUnit, ncVars, ncUnits, ncLongs, ncShorts, fId ) ! ! !USES: ! USE m_netcdf_io_close USE m_netcdf_io_create USE m_netcdf_io_define USE m_netcdf_io_write USE netCDF ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN ) :: ncFile ! ncdf file path + name INTEGER, INTENT(IN ) :: nLon ! # of lons INTEGER, INTENT(IN ) :: nLat ! # of lats INTEGER, OPTIONAL, INTENT(IN ) :: nLev ! # of levels INTEGER, INTENT(IN ) :: nTime ! # of time stamps CHARACTER(LEN=*), INTENT(IN ) :: timeUnit ! time unit CHARACTER(LEN=*), INTENT(IN ) :: ncVars(:) ! ncdf variables CHARACTER(LEN=*), INTENT(IN ) :: ncUnits(:) ! var units CHARACTER(LEN=*), INTENT(IN ) :: ncLongs(:) ! var long names CHARACTER(LEN=*), INTENT(IN ) :: ncShorts(:) ! var short names ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT( OUT) :: fId ! netCDF file ID ! ! !REMARKS: ! Assumes that you have: ! (1) A netCDF library (either v3 or v4) installed on your system ! (2) The NcdfUtilities package (from Bob Yantosca) source code ! . ! Although this routine was generated automatically, some further ! hand-editing may be required. ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Declare netCDF variable ID and fill mode INTEGER :: vId INTEGER :: omode ! Variables for netCDF dimensions INTEGER :: id_lon INTEGER :: id_lat INTEGER :: id_time INTEGER :: id_lev ! Character strings CHARACTER(LEN=255) :: v_name ! netCDF variable name CHARACTER(LEN=255) :: a_name ! netCDF attribute name CHARACTER(LEN=255) :: a_val ! netCDF attribute value CHARACTER(LEN=3 ) :: idstr ! tracer ID string ! Arrays for netCDF dimension IDs INTEGER :: var1d(1) ! For 1D arrays INTEGER :: var3d(3) ! For 3D arrays INTEGER :: var4d(4) ! For 4D arrays ! Other variables INTEGER :: I !================================================================= ! %%%%% NETCDF DEFINITION SECTION %%%%% !================================================================= ! Initialize the variable ID counter vId = 0 ! Open filename CALL NcCr_Wr( fId, TRIM(ncFile) ) ! Turn filling off CALL NcSetFill( fId, NF90_NOFILL, omode ) !-------------------------------- ! GLOBAL ATTRIBUTES !-------------------------------- ! Define the title global attribute a_name = "Title" a_val = "Field generated by ncdf_util.F" CALL NcDef_Glob_Attributes( fId, TRIM(a_name), TRIM(a_val) ) ! Define the history global attribute a_name = "History" a_val = "Initial version" CALL NcDef_Glob_Attributes( fId, TRIM(a_name), TRIM(a_val) ) ! Define the conventions global attribute a_name = "Conventions" a_val = "COARDS" CALL NcDef_Glob_Attributes( fId, TRIM(a_name), TRIM(a_val) ) ! Define the format global attribute a_name = "Format" a_val = "netCDF-3" CALL NcDef_Glob_Attributes( fId, TRIM(a_name), TRIM(a_val) ) !-------------------------------- ! DIMENSIONS !-------------------------------- ! Define lon dimension v_name = "lon" CALL NcDef_Dimension( fId, TRIM(v_name), nlon, id_lon ) ! Define lat dimension v_name = "lat" CALL NcDef_Dimension( fId, TRIM(v_name), nlat, id_lat ) ! Define lev dimension IF ( PRESENT(nlev) ) THEN v_name = "lev" CALL NcDef_Dimension( fId, TRIM(v_name), nlev, id_lev ) ENDIF ! Define time dimension v_name = "time" CALL NcDef_Dimension( fId, TRIM(v_name), ntime, id_time, unlimited=.true. ) !-------------------------------- ! VARIABLE: lon !-------------------------------- ! Define the "lon" variable v_name = "lon" var1d = (/ id_lon /) CALL NcDef_Variable( fId, TRIM(v_name), NF90_FLOAT, 1, var1d, vId ) ! Define the "lon:long_name" attribute a_name = "long_name" a_val = "Longitude" CALL NcDef_Var_Attributes( fId, vId, TRIM(a_name), TRIM(a_val) ) ! Define the "lon:units" attribute a_name = "units" a_val = "degrees_east" CALL NcDef_Var_Attributes( fId, vId, TRIM(a_name), TRIM(a_val) ) !-------------------------------- ! VARIABLE: lat !-------------------------------- ! Define the "lat" variable v_name = "lat" var1d = (/ id_lat /) CALL NcDef_Variable( fId, TRIM(v_name), NF90_FLOAT, 1, var1d, vId ) ! Define the "lat:long_name" attribute a_name = "long_name" a_val = "Latitude" CALL NcDef_Var_Attributes( fId, vId, TRIM(a_name), TRIM(a_val) ) ! Define the "lat:units" attribute a_name = "units" a_val = "degrees_north" CALL NcDef_Var_Attributes( fId, vId, TRIM(a_name), TRIM(a_val) ) !-------------------------------- ! VARIABLE: lev !-------------------------------- IF ( PRESENT(nlev) ) THEN ! Define the "levels" variable v_name = "lev" var1d = (/ id_lev /) CALL NcDef_Variable( fId, TRIM(v_name), NF90_INT, 1, var1d, vId ) ! Define the "time:long_name" attribute a_name = "long_name" a_val = "Levels" CALL NcDef_Var_Attributes( fId, vId, TRIM(a_name), TRIM(a_val)) ! Define the "time:units" attribute a_name = "units" a_val = "unitless" CALL NcDef_Var_Attributes( fId, vId, TRIM(a_name), TRIM(a_val)) ENDIF !-------------------------------- ! VARIABLE: time !-------------------------------- ! Define the "time" variable v_name = "time" var1d = (/ id_time /) CALL NcDef_Variable( fId, TRIM(v_name), NF90_INT, 1, var1d, vId ) ! Define the "time:long_name" attribute a_name = "long_name" a_val = "Time" CALL NcDef_Var_Attributes( fId, vId, TRIM(a_name), TRIM(a_val) ) ! Define the "time:units" attribute a_name = "units" a_val = trim(timeUnit) CALL NcDef_Var_Attributes( fId, vId, TRIM(a_name), TRIM(a_val) ) !-------------------------------- ! Define variables !-------------------------------- DO I = 1, SIZE(ncVars) v_name = TRIM(ncVars(I)) IF ( PRESENT(nlev) ) THEN var4d = (/ id_lon, id_lat, id_lev, id_time /) CALL NcDef_Variable(fId,TRIM(v_name),NF90_DOUBLE,4,var4d,vId) ELSE var3d = (/ id_lon, id_lat, id_time /) CALL NcDef_Variable(fId,TRIM(v_name),NF90_DOUBLE,3,var3d,vId) ENDIF ! Define the long_name attribute a_name = "long_name" a_val = TRIM(ncLongs(I)) CALL NcDef_Var_Attributes(fId, vId, TRIM(a_name), TRIM(a_val) ) ! Define the short_name attribute a_name = "short_name" a_val = TRIM(ncShorts(I)) CALL NcDef_Var_Attributes(fId, vId, TRIM(a_name), TRIM(a_val) ) ! Define the units attribute a_name = "units" a_val = TRIM(ncUnits(I)) CALL NcDef_Var_Attributes(fId, vId, TRIM(a_name), TRIM(a_val) ) ENDDO !================================================================= ! %%%%% END OF NETCDF DEFINITION SECTION %%%%% !================================================================= CALL NcEnd_Def( fId ) END SUBROUTINE NC_DEFINE !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nc_Write_Dims ! ! !DESCRIPTION: Routine to write dimension arrays to a netCDF file. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NC_WRITE_DIMS( fID, lon, lat, time, lev ) ! ! !USES: ! USE m_netcdf_io_write ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: fId ! ! !INPUT PARAMETERS: ! REAL*4, INTENT(IN ) :: lon(:) REAL*4, INTENT(IN ) :: lat(:) REAL*4, INTENT(IN ) :: time(:) REAL*4, OPTIONAL, INTENT(IN ) :: lev(:) ! ! !REMARKS: ! Assumes that you have: ! (1) A netCDF library (either v3 or v4) installed on your system ! (2) The NcdfUtilities package (from Bob Yantosca) source code ! . ! Although this routine was generated automatically, some further ! hand-editing may be required. ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Character strings CHARACTER(LEN=255) :: v_name ! netCDF variable name ! Arrays for netCDF start and count values INTEGER :: st1d(1), ct1d(1) ! For 1D arrays INTEGER :: v_size !================================================================= ! Define lon/lat !================================================================= ! Write lon to netCDF file v_name = "lon" v_size = size( lon, 1 ) st1d = (/ 1 /) ct1d = (/ v_size /) CALL NcWr( lon, fId, TRIM(v_name), st1d, ct1d ) ! Write lat to netCDF file v_name = "lat" v_size = size( lat, 1 ) st1d = (/ 1 /) ct1d = (/ v_size /) CALL NcWr( lat, fId, TRIM(v_name), st1d, ct1d ) ! Write lev to netCDF file IF ( PRESENT(lev) ) THEN v_name = "lev" v_size = size( lev, 1 ) st1d = (/ 1 /) ct1d = (/ v_size /) CALL NcWr( lev, fId, TRIM(v_name), st1d, ct1d ) ENDIF ! Write passed time integer to netCDF file v_name = "time" v_size = size( time, 1 ) st1d = (/ 1 /) ct1d = (/ v_size /) CALL NcWr( time, fId, TRIM(v_name), st1d, ct1d ) END SUBROUTINE NC_WRITE_DIMS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nc_Nrite_Data_3d ! ! !DESCRIPTION: Routine to write a 3-D array to a netCDF file. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NC_WRITE_DATA_3D ( fID, ncVar, Array ) ! ! !USES: ! USE m_netcdf_io_write ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: fId ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN ) :: ncVar REAL*4, POINTER :: Array(:,:,:) ! ! !REMARKS: ! Assumes that you have: ! (1) A netCDF library (either v3 or v4) installed on your system ! (2) The NcdfUtilities package (from Bob Yantosca) source code ! . ! Although this routine was generated automatically, some further ! hand-editing may be required. ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Arrays for netCDF start and count values INTEGER :: st3d(3), ct3d(3) ! For 3D arrays !================================================================= ! Write data to netCDF file !================================================================= st3d = (/ 1, 1, 1 /) ct3d = (/ size(array,1), size(array,2), size(array,3) /) CALL NcWr( ARRAY, fId, TRIM(ncVar), st3d, ct3d ) END SUBROUTINE NC_WRITE_DATA_3D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nc_Write_Data_4d ! ! !DESCRIPTION: Routine to write a 4-D array to a netCDF file. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NC_WRITE_DATA_4D ( fID, ncVar, Array ) ! ! !USES: ! USE m_netcdf_io_write ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: fId ! ! !INPUT PARAMETERS: ! CHARACTER(LEN=*), INTENT(IN ) :: ncVar REAL*4, POINTER :: Array(:,:,:,:) ! ! !REMARKS: ! Assumes that you have: ! (1) A netCDF library (either v3 or v4) installed on your system ! (2) The NcdfUtilities package (from Bob Yantosca) source code ! . ! Although this routine was generated automatically, some further ! hand-editing may be required. ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Arrays for netCDF start and count values INTEGER :: st4d(4), ct4d(4) ! For 4D arrays !================================================================= ! Write data to netCDF file !================================================================= st4d = (/ 1, 1, 1, 1 /) ct4d = (/ size(array,1), size(array,2), & size(array,3), size(array,4) /) CALL NcWr( ARRAY, fId, TRIM(ncVar), st4d, ct4d ) END SUBROUTINE NC_WRITE_DATA_4D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nc_Create ! ! !DESCRIPTION: Creates a new netCDF file and defines several global ! attributes. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Nc_Create( NcFile, Title, nLon, & nLat, nLev, nTime, & fId, lonID, latId, & levId, timeId, VarCt, & Create_NC4, KeepDefMode, NcFormat, & Conventions, History, ProdDateTime, & Reference, Contact, nIlev, & iLevId, StartTimeStamp, EndTimeStamp, & nBounds, boundsId ) ! ! !USES: ! USE m_netcdf_io_create USE m_netcdf_io_define USE netCDF ! ! !INPUT PARAMETERS: ! ! Required arguments CHARACTER(LEN=*), INTENT(IN ) :: ncFile ! ncdf file path + name CHARACTER(LEN=*), INTENT(IN ) :: title ! ncdf file title INTEGER, INTENT(IN ) :: nLon ! # of lons INTEGER, INTENT(IN ) :: nLat ! # of lats INTEGER, INTENT(IN ) :: nLev ! # of level midpoints INTEGER, INTENT(IN ) :: nTime ! # of times INTEGER, OPTIONAL :: nILev ! # of level interfaces ! Optional arguments (mostly global attributes) LOGICAL, OPTIONAL :: Create_Nc4 ! Save as netCDF-4 LOGICAL, OPTIONAL :: KeepDefMode ! If = T, then don't ! exit define mode CHARACTER(LEN=*), OPTIONAL :: NcFormat ! e.g. netCDF-4 CHARACTER(LEN=*), OPTIONAL :: Conventions ! e.g. COARDS, CF, etc. CHARACTER(LEN=*), OPTIONAL :: History ! History glob attribute CHARACTER(LEN=*), OPTIONAL :: ProdDateTime ! Time/date of production CHARACTER(LEN=*), OPTIONAL :: Reference ! Reference string CHARACTER(LEN=*), OPTIONAL :: Contact ! People to contact CHARACTER(LEN=*), OPTIONAL :: StartTimeStamp ! Timestamps at start CHARACTER(LEN=*), OPTIONAL :: EndTimeStamp ! and end of simulation INTEGER, OPTIONAL :: nBounds ! # of bounds ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT( OUT) :: fId ! file id INTEGER, INTENT( OUT) :: lonId ! lon dimension id INTEGER, INTENT( OUT) :: latId ! lat dimension id INTEGER, INTENT( OUT) :: levId ! lev dimension id INTEGER, INTENT( OUT) :: timeId ! time dimension id INTEGER, INTENT( OUT) :: VarCt ! variable counter INTEGER, OPTIONAL :: ilevId ! ilev dimension id INTEGER, OPTIONAL :: boundsId ! bounds dimension id ! ! !REMARKS: ! Assumes that you have: ! (1) A netCDF library (either v3 or v4) installed on your system ! (2) The NcdfUtilities package (from Bob Yantosca) source code ! . ! Although this routine was generated automatically, some further ! hand-editing may be required. ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: omode LOGICAL :: Save_As_Nc4 LOGICAL :: QuitDefMode ! Strings CHARACTER(LEN=255) :: ThisHistory CHARACTER(LEN=255) :: ThisNcFormat CHARACTER(LEN=255) :: ThisConv CHARACTER(LEN=255) :: ThisPdt CHARACTER(LEN=255) :: ThisReference CHARACTER(LEN=255) :: ThisContact CHARACTER(LEN=255) :: ThisStartTimeStamp CHARACTER(LEN=255) :: ThisEndTimeStamp !======================================================================= ! Initialize !======================================================================= ! Create file as NetCDF4? IF ( PRESENT( Create_Nc4 ) ) THEN Save_As_Nc4 = Create_Nc4 ELSE Save_As_Nc4 = .FALSE. ENDIF ! Should we exit netCDF define mode before leaving this routine? IF ( PRESENT( KeepDefMode ) ) THEN QuitDefMode = ( .not. KeepDefMode ) ELSE QuitDefMode = .TRUE. ENDIF ! History global attribute IF ( PRESENT( History ) ) THEN ThisHistory = TRIM( History ) ELSE ThisHistory = 'Created by routine NC_CREATE (in ncdf_mod.F90)' ENDIF ! NetCDF format global attribute IF ( PRESENT( NcFormat ) ) Then ThisNcFormat = NcFormat ELSE IF ( Save_As_Nc4 ) THEN ThisNcFormat = 'NetCDF-4' ELSE ThisNcFormat = 'NetCDF-3' ENDIF ENDIF ! Conventions global attribute (assume COARDS) IF ( PRESENT( Conventions ) ) THEN ThisConv = TRIM( Conventions ) ELSE ThisConv = 'COARDS' ENDIF ! Conventions global attribute (assume COARDS) IF ( PRESENT( ProdDateTime ) ) THEN ThisPdt= TRIM( ProdDateTime ) ENDIF ! Conventions global attribute (assume COARDS) IF ( PRESENT( Reference ) ) THEN ThisReference = TRIM( Reference ) ELSE ThisReference = '' ENDIF ! Contact IF ( PRESENT( Contact ) ) THEN ThisContact = TRIM( Contact ) ELSE ThisContact = '' ENDIF ! Starting date and time of the simulation IF ( PRESENT( StartTimeStamp ) ) THEN ThisStartTimeStamp = TRIM( StartTimeStamp ) ELSE ThisStartTimeStamp = '' ENDIF ! Ending date and time of the simulation IF ( PRESENT( EndTimeStamp ) ) THEN ThisEndTimeStamp = TRIM( EndTimeStamp ) ELSE ThisEndTimeStamp = '' ENDIF !======================================================================= ! Open the file !======================================================================= ! Open filename. Save file in netCDF-4 format if requested by user. CALL NcCr_Wr( fId, TRIM( ncFile ), Save_As_Nc4 ) ! Turn filling off CALL NcSetFill( fId, NF90_NOFILL, omode ) !======================================================================= ! Set global attributes !======================================================================= ! These attributes are required for COARDS or CF conventions CALL NcDef_Glob_Attributes( fId, 'title', TRIM( Title ) ) CALL NcDef_Glob_Attributes( fId, 'history', TRIM( ThisHistory ) ) CALL NcDef_Glob_Attributes( fId, 'format', TRIM( ThisNcFormat ) ) CALL NcDef_Glob_Attributes( fId, 'conventions', TRIM( ThisConv ) ) ! These attributes are optional IF ( PRESENT( ProdDateTime ) ) THEN CALL NcDef_Glob_Attributes( fId, 'ProdDateTime', TRIM( ThisPdt ) ) ENDIF IF ( PRESENT( Reference ) ) THEN CALL NcDef_Glob_Attributes( fId, 'reference', TRIM( ThisReference ) ) ENDIF IF ( PRESENT( Contact ) ) THEN CALL NcDef_Glob_Attributes( fId, 'contact', TRIM( ThisContact ) ) ENDIF IF ( PRESENT( StartTimeStamp ) ) THEN CALL NcDef_Glob_Attributes( fId, 'simulation_start_date_and_time', & TRIM( ThisStartTimeStamp ) ) ENDIF IF ( PRESENT( EndTimeStamp ) ) THEN CALL NcDef_Glob_Attributes( fId, 'simulation_end_date_and_time', & TRIM( ThisEndTimeStamp ) ) ENDIF !======================================================================= ! Set dimensions !======================================================================= ! Time CALL NcDef_Dimension( fId, 'time', nTime, TimeId, unlimited=.true. ) ! Level midpoints IF ( nLev > 0 ) THEN CALL NcDef_Dimension( fId, 'lev', nLev, levId ) ELSE levId = -1 ENDIF ! Optional ILev dimension: level interfaces IF ( PRESENT( nIlev ) .and. PRESENT( iLevId ) ) THEN IF ( nILev > 0 ) THEN CALL NcDef_Dimension( fId, 'ilev', nIlev, iLevId ) ELSE iLevId = -1 ENDIF ENDIF ! Lat and lon CALL NcDef_Dimension( fId, 'lat', nLat, latId ) CALL NcDef_Dimension( fId, 'lon', nLon, lonId ) ! Optional ILev dimension: level interfaces IF ( PRESENT( nBounds ) .and. PRESENT( boundsId ) ) THEN IF ( nBounds > 0 ) THEN CALL NcDef_Dimension( fId, 'nb', nBounds, boundsId ) ELSE boundsId = -1 ENDIF ENDIF ! Close definition section IF ( QuitDefMode ) THEN CALL NcEnd_Def( fId ) ENDIF ! Initialize variable counter VarCt = -1 END SUBROUTINE Nc_Create !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nc_Var_Def ! ! !DESCRIPTION: Defines a new netCDF variable along with its attributes. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NC_Var_Def( fId, lonId, latId, levId, & TimeId, VarName, VarLongName, VarUnit, & DataType, VarCt, DefMode, Compress, & AddOffset, MissingValue, ScaleFactor, Calendar, & Axis, StandardName, FormulaTerms, AvgMethod, & Positive, iLevId, nUpdates, boundsId, & bounds ) ! ! !USES: ! USE m_netcdf_io_create USE m_netcdf_io_define USE netCDF ! ! !INPUT PARAMETERS: ! ! Required inputs INTEGER, INTENT(IN ) :: fId ! file ID INTEGER, INTENT(IN ) :: lonId ! ID of lon (X) dim INTEGER, INTENT(IN ) :: latId ! ID of lat (Y) dim INTEGER, INTENT(IN ) :: levId ! ID of lev ctr (Z) dim INTEGER, INTENT(IN ) :: TimeId ! ID of time (T) dim CHARACTER(LEN=*), INTENT(IN ) :: VarName ! Variable name CHARACTER(LEN=*), INTENT(IN ) :: VarLongName ! Long name description CHARACTER(LEN=*), INTENT(IN ) :: VarUnit ! Units INTEGER, INTENT(IN ) :: DataType ! 1=Int, 4=float, 8=double ! Optional inputs LOGICAL, OPTIONAL :: DefMode ! Toggles define mode LOGICAL, OPTIONAL :: Compress ! Toggles compression REAL*4, OPTIONAL :: AddOffset ! Add offset attribute REAL*4, OPTIONAL :: MissingValue ! Missing value attribute REAL*4, OPTIONAL :: ScaleFactor ! Scale factor attribute CHARACTER(LEN=*), OPTIONAL :: Calendar ! Calendar for time var CHARACTER(LEN=*), OPTIONAL :: Axis ! Axis for index vars CHARACTER(LEN=*), OPTIONAL :: StandardName ! Standard name attribute CHARACTER(LEN=*), OPTIONAL :: FormulaTerms ! Formula for vert coords CHARACTER(LEN=*), OPTIONAL :: AvgMethod ! Averaging method CHARACTER(LEN=*), OPTIONAL :: Positive ! Positive dir (up or down) INTEGER, OPTIONAL :: iLevId ! ID of lev edge (I) dim REAL*4, OPTIONAL :: nUpdates ! # of updates (for time- ! averaged fields only) INTEGER, OPTIONAL :: boundsId ! ID of bounds (B) dim CHARACTER(LEN=*), OPTIONAL :: bounds ! Specify a bounds variable ! ! !INPUT/OUTPUT PARAMETERS: ! INTEGER, INTENT(INOUT) :: VarCt ! variable counter ! ! !REMARKS: ! Assumes that you have: ! (1) A netCDF library (either v3 or v4) installed on your system ! (2) The NcdfUtilities package (from Bob Yantosca) source code ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Arrays INTEGER, ALLOCATABLE :: VarDims(:) ! Scalars INTEGER :: nDim, Pos INTEGER :: NF90_TYPE, tmpIlevId, tmpBoundsId LOGICAL :: isDefMode ! Strings CHARACTER(LEN=80) :: Att !======================================================================= ! Initialize !======================================================================= ! Assume file is not in define mode unless explicitly told otherwise IF ( PRESENT( DefMode ) ) THEN isDefMode = DefMode ELSE isDefMode = .FALSE. ENDIF ! Test if iLevId (dimension for level interfaces) is present IF ( PRESENT( iLevId ) ) THEN tmpIlevId = iLevId ELSE tmpIlevId = -1 ENDIF ! Test if iLevId (dimension for level interfaces) is present IF ( PRESENT( boundsId ) ) THEN tmpBoundsId = boundsId ELSE tmpBoundsId = -1 ENDIF !======================================================================= ! DEFINE VARIABLE !======================================================================= ! Reopen definition section, if necessary IF ( .not. isDefMode ) CALL NcBegin_Def( fId ) VarCt = VarCt + 1 ! number of dimensions nDim = 0 IF ( lonId >= 0 ) nDim = nDim + 1 IF ( latId >= 0 ) nDim = nDim + 1 IF ( levId >= 0 ) nDim = nDim + 1 IF ( tmpIlevId >= 0 ) nDim = nDim + 1 if ( timeId >= 0 ) nDim = nDim + 1 if ( tmpBoundsId >= 0 ) nDim = nDim + 1 ! write dimensions ! NOTE: Need to put bounds before lon & lat so that it will be ! defined in the proper order for the COARDS/CF conventions ALLOCATE( VarDims(nDim) ) Pos = 1 IF ( tmpBoundsId >= 0 ) THEN VarDims(Pos) = tmpBoundsId Pos = Pos + 1 ENDIF IF ( lonId >= 0 ) THEN VarDims(Pos) = lonId Pos = Pos + 1 ENDIF IF ( latId >= 0 ) THEN VarDims(Pos) = latId Pos = Pos + 1 ENDIF IF ( levId >= 0 ) THEN VarDims(Pos) = levId Pos = Pos + 1 ENDIF IF ( tmpIlevId >= 0 ) THEN VarDims(Pos) = tmpIlevId Pos = Pos + 1 ENDIF IF ( timeId >= 0 ) THEN VarDims(Pos) = timeId Pos = Pos + 1 ENDIF ! Set data type IF ( DataType == 1 ) THEN NF90_TYPE = NF90_INT ELSEIF ( DataType == 4 ) THEN NF90_TYPE = NF90_FLOAT ELSEIF ( DataType == 8 ) THEN NF90_TYPE = NF90_DOUBLE ELSE NF90_TYPE = NF90_FLOAT ENDIF !----------------------------------------------------------------------- ! Define variable !----------------------------------------------------------------------- CALL NcDef_Variable( fId, TRIM(VarName), NF90_TYPE, & nDim, VarDims, VarCt, Compress ) DEALLOCATE( VarDims ) !----------------------------------------------------------------------- ! Define variable atttibutes (some are optional) !----------------------------------------------------------------------- ! long_name (reuired) Att = 'long_name' CALL NcDef_Var_Attributes( fId, VarCt, TRIM(Att), TRIM(VarLongName) ) ! units (requited) Att = 'units' CALL NcDef_Var_Attributes( fId, VarCt, TRIM(Att), TRIM(VarUnit) ) ! add_offset (optional) IF ( PRESENT( AddOffset ) ) THEN Att = 'add_offset' CALL NcDef_Var_Attributes( fId, VarCt, TRIM(Att), AddOffset ) ENDIF ! scale_factor (optional) IF ( PRESENT( ScaleFactor ) ) THEN Att = 'scale_factor' CALL NcDef_Var_Attributes( fId, VarCt, TRIM(Att), ScaleFactor ) ENDIF ! missing_value (optional but recommended) IF ( PRESENT( MissingValue ) ) THEN Att = '_FillValue' CALL NcDef_Var_Attributes( fId, VarCt, TRIM(Att), MissingValue ) ENDIF ! calendar (only used for time) -- skip if null string IF ( PRESENT( Calendar ) ) THEN IF ( LEN_TRIM( Calendar ) > 0 ) THEN Att = 'calendar' CALL NcDef_Var_Attributes( fId, VarCt, TRIM(Att), TRIM(Calendar) ) ENDIF ENDIF ! axis (only used for index variables) -- skip if null string IF ( PRESENT( Axis ) ) THEN IF ( LEN_TRIM( Axis ) > 0 ) THEN Att = 'axis' CALL NcDef_Var_Attributes( fId, VarCt, TRIM(Att), TRIM(Axis) ) ENDIF ENDIF ! averaging_method (optional) -- skip if null string IF ( PRESENT( AvgMethod ) ) THEN IF ( LEN_TRIM( AvgMethod ) > 0 ) THEN Att = 'averaging_method' CALL NcDef_Var_Attributes( fId, VarCt, TRIM(Att), TRIM(AvgMethod) ) ENDIF ENDIF ! averaging_method (optional) -- skip if null string IF ( PRESENT( Positive ) ) THEN IF ( LEN_TRIM( Positive ) > 0 ) THEN Att = 'positive' CALL NcDef_Var_Attributes( fId, VarCt, TRIM(Att), TRIM(Positive) ) ENDIF ENDIF ! Standard name (optional) -- skip if null string IF ( PRESENT( StandardName ) ) THEN IF ( LEN_TRIM( StandardName ) > 0 ) THEN Att = 'standard_name' CALL NcDef_Var_Attributes( fId, VarCt, TRIM(Att), TRIM(StandardName)) ENDIF ENDIF ! Formula terms (optional) -- skip if null string IF ( PRESENT( FormulaTerms ) ) THEN IF ( LEN_TRIM( FormulaTerms ) > 0 ) THEN Att = 'formula_terms' CALL NcDef_Var_Attributes( fId, VarCt, TRIM(Att), TRIM(FormulaTerms)) ENDIF ENDIF ! Number of updates IF ( PRESENT( nUpdates ) ) THEN IF ( nUpdates > 0.0 ) THEN Att = 'number_of_updates' CALL NcDef_Var_Attributes( fId, VarCt, TRIM(Att), nUpdates ) ENDIF ENDIF ! Specify a variable that contains bounds information IF ( PRESENT( bounds ) ) THEN IF ( LEN_TRIM( bounds ) > 0 ) THEN Att = 'bounds' CALL NcDef_Var_Attributes( fId, VarCt, TRIM(Att), TRIM(bounds) ) ENDIF ENDIF ! Close definition section, if necessary IF ( .not. isDefMode ) CALL NcEnd_Def( fId ) END SUBROUTINE NC_Var_Def !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nc_Var_Chunk ! ! !DESCRIPTION: Turns on chunking for a netCDF variable. !\\ !\\ ! !INTERFACE: ! SUBROUTINE Nc_Var_Chunk( fId, vId, ChunkSizes, RC ) ! ! !USES: ! USE netCDF ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: fId ! NetCDF file ID INTEGER, INTENT(IN) :: vId ! NetCDF variable ID INTEGER, INTENT(IN) :: ChunkSizes(:) ! NetCDF chunk sizes for each dim ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! RC will return an error (nonzero) status if chunking cannot be activated. ! Most often, this is because support for netCDF-4 compression is disabled, ! or if the netCDF file is not a netCDF-4 file. In this case, RC will have ! an error code of -111. ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! #if defined( NC_HAS_COMPRESSION ) ! Turn on chunking for this variable ! But only if the netCDF library supports it RC = NF90_Def_Var_Chunking( fId, vId, NF90_CHUNKED, ChunkSizes ) #else ! Otherwise return success RC = 0 #endif END SUBROUTINE Nc_Var_Chunk !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nc_Var_Write_R8_0d ! ! !DESCRIPTION: Writes data of a 0-D double precision variable. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NC_VAR_WRITE_R8_0D( fId, VarName, Var ) ! ! !USES: ! USE m_netcdf_io_write ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: fId ! file ID CHARACTER(LEN=*), INTENT(IN) :: VarName ! variable name REAL(kind=8) :: Var ! Variable to be written ! ! !REMARKS: ! Assumes that you have: ! (1) A netCDF library (either v3 or v4) installed on your system ! (2) The NcdfUtilities package (from Bob Yantosca) source code ! . ! Although this routine was generated automatically, some further ! hand-editing may be required. ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! !-------------------------------- ! WRITE DATA !-------------------------------- ! Write to netCDF file CALL NcWr( Var, fId, VarName ) END SUBROUTINE NC_VAR_WRITE_R8_0d !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nc_Var_Write_R8_1d ! ! !DESCRIPTION: Writes data of a 1-D double precision variable. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NC_VAR_WRITE_R8_1D( fId, VarName, Arr1D ) ! ! !USES: ! USE m_netcdf_io_write ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: fId ! file ID CHARACTER(LEN=*), INTENT(IN) :: VarName ! variable name REAL(kind=8), POINTER :: Arr1D(:) ! array to be written ! ! !REMARKS: ! Assumes that you have: ! (1) A netCDF library (either v3 or v4) installed on your system ! (2) The NcdfUtilities package (from Bob Yantosca) source code ! . ! Although this routine was generated automatically, some further ! hand-editing may be required. ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Arrays INTEGER :: St1d(1), Ct1d(1) !-------------------------------- ! WRITE DATA !-------------------------------- ! Set start & count arrays St1d(1) = 1 Ct1d(1) = SIZE( Arr1d, 1 ) ! Write to netCDF file CALL NcWr( Arr1d, fId, VarName, St1d, Ct1d ) END SUBROUTINE NC_VAR_WRITE_R8_1D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nc_Var_Write_R8_2d ! ! !DESCRIPTION: Writes data of a 2-D double precision variable. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NC_VAR_WRITE_R8_2D( fId, VarName, Arr2D ) ! ! !USES: ! USE m_netcdf_io_write ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: fId ! file ID CHARACTER(LEN=*), INTENT(IN) :: VarName ! variable name REAL(kind=8), POINTER :: Arr2D(:,:) ! array to be written ! ! !REMARKS: ! Assumes that you have: ! (1) A netCDF library (either v3 or v4) installed on your system ! (2) The NcdfUtilities package (from Bob Yantosca) source code ! . ! Although this routine was generated automatically, some further ! hand-editing may be required. ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Arrays INTEGER :: St2d(2), Ct2d(2) ! Scalars INTEGER :: I, nDim !-------------------------------- ! WRITE DATA !-------------------------------- ! Set start & count arrays nDim = 2 DO I =1, nDim St2d(I) = 1 Ct2d(I) = SIZE( Arr2d, I ) ENDDO ! Write to netCDF file CALL NcWr( Arr2d, fId, VarName, St2d, Ct2d ) END SUBROUTINE NC_VAR_WRITE_R8_2D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nc_Var_Write_R8_3D ! ! !DESCRIPTION: Writes data of a 3-D double precision variable. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NC_VAR_WRITE_R8_3D( fId, VarName, Arr3D ) ! ! !USES: ! USE m_netcdf_io_write ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: fId ! file ID CHARACTER(LEN=*), INTENT(IN) :: VarName ! variable name REAL(kind=8), POINTER :: Arr3D(:,:,:) ! array to be written ! ! !REMARKS: ! Assumes that you have: ! (1) A netCDF library (either v3 or v4) installed on your system ! (2) The NcdfUtilities package (from Bob Yantosca) source code ! . ! Although this routine was generated automatically, some further ! hand-editing may be required. ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Arrays INTEGER :: St3d(3), Ct3d(3) ! Scalars INTEGER :: I, nDim !-------------------------------- ! WRITE DATA !-------------------------------- ! Set start & count arrays nDim = 3 DO I = 1, nDim St3d(I) = 1 Ct3d(I) = SIZE( Arr3d, I ) ENDDO ! Write data to netCDF file CALL NcWr( Arr3d, fId, VarName, St3d, Ct3d ) END SUBROUTINE NC_VAR_WRITE_R8_3D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nc_Var_Write_r8_4d ! ! !DESCRIPTION: Writes data of a 4-D double precision variable. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NC_VAR_WRITE_R8_4D( fId, VarName, Arr4D ) ! ! !USES: ! USE m_netcdf_io_write ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: fId ! file ID CHARACTER(LEN=*), INTENT(IN) :: VarName ! variable name REAL(kind=8), POINTER :: Arr4D(:,:,:,:) ! array to be written ! ! !REMARKS: ! Assumes that you have: ! (1) A netCDF library (either v3 or v4) installed on your system ! (2) The NcdfUtilities package (from Bob Yantosca) source code ! . ! Although this routine was generated automatically, some further ! hand-editing may be required. ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Arrays INTEGER :: St4d(4), Ct4d(4) ! Scalars INTEGER :: I, nDim !-------------------------------- ! WRITE DATA !-------------------------------- ! Set start & count arrays nDim = 4 DO I = 1, nDim St4d(I) = 1 Ct4d(I) = SIZE( Arr4d, I ) ENDDO ! Write to netCDF file CALL NcWr( Arr4d, fId, VarName, St4d, Ct4d ) END SUBROUTINE NC_VAR_WRITE_R8_4D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nc_Var_Write_R4_0d ! ! !DESCRIPTION: Writes data of a 0-D single-precision variable. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NC_VAR_WRITE_R4_0d( fId, VarName, Var ) ! ! !USES: ! USE m_netcdf_io_write ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: fId ! file ID CHARACTER(LEN=*), INTENT(IN) :: VarName ! variable name REAL(kind=4) :: Var ! Variable to be written ! ! !REMARKS: ! Assumes that you have: ! (1) A netCDF library (either v3 or v4) installed on your system ! (2) The NcdfUtilities package (from Bob Yantosca) source code ! . ! Although this routine was generated automatically, some further ! hand-editing may be required. ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! !-------------------------------- ! WRITE DATA !-------------------------------- ! Write to netCDF file CALL NcWr( Var, fId, VarName ) END SUBROUTINE NC_VAR_WRITE_R4_0D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nc_Var_Write_r4_1d ! ! !DESCRIPTION: Writes data of a single precision variable. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NC_VAR_WRITE_R4_1D( fId, VarName, Arr1D ) ! ! !USES: ! USE m_netcdf_io_write ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: fId ! file ID CHARACTER(LEN=*), INTENT(IN) :: VarName ! variable name REAL(kind=4), POINTER :: Arr1D(:) ! array to be written ! ! !REMARKS: ! Assumes that you have: ! (1) A netCDF library (either v3 or v4) installed on your system ! (2) The NcdfUtilities package (from Bob Yantosca) source code ! . ! Although this routine was generated automatically, some further ! hand-editing may be required. ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Arrays INTEGER :: St1d(1), Ct1d(1) !-------------------------------- ! WRITE DATA !-------------------------------- ! Set start & count arrays St1d(1) = 1 Ct1d(1) = SIZE( Arr1d, 1 ) ! Write to netCDF file CALL NcWr( Arr1d, fId, VarName, St1d, Ct1d ) END SUBROUTINE NC_VAR_WRITE_R4_1D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nc_Var_Write_r4_2D ! ! !DESCRIPTION: Writes data of a 2-D single precision variable. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NC_VAR_WRITE_R4_2D( fId, VarName, Arr2D ) ! ! !USES: ! USE m_netcdf_io_write ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: fId ! file ID CHARACTER(LEN=*), INTENT(IN) :: VarName ! variable name REAL(kind=4), POINTER :: Arr2D(:,:) ! array to be written ! ! !REMARKS: ! Assumes that you have: ! (1) A netCDF library (either v3 or v4) installed on your system ! (2) The NcdfUtilities package (from Bob Yantosca) source code ! . ! Although this routine was generated automatically, some further ! hand-editing may be required. ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Arrays INTEGER :: St2d(2), Ct2d(2) ! Scalars INTEGER :: I, nDim !-------------------------------- ! WRITE DATA !-------------------------------- ! Set start & count arrays nDim = 2 DO I = 1, nDim St2d(I) = 1 Ct2d(I) = SIZE( Arr2d, I ) ENDDO ! Write to netCDF file CALL NcWr( Arr2d, fId, VarName, St2d, Ct2d ) END SUBROUTINE NC_VAR_WRITE_R4_2D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nc_Var_Write_r4_3d ! ! !DESCRIPTION: Writes data of a 3-D single precision variable. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NC_VAR_WRITE_R4_3D( fId, VarName, Arr3D ) ! ! !USES: ! USE m_netcdf_io_write ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: fId ! file ID CHARACTER(LEN=*), INTENT(IN) :: VarName ! variable name REAL(kind=4), POINTER :: Arr3D(:,:,:) ! array to be written ! ! !REMARKS: ! Assumes that you have: ! (1) A netCDF library (either v3 or v4) installed on your system ! (2) The NcdfUtilities package (from Bob Yantosca) source code ! . ! Although this routine was generated automatically, some further ! hand-editing may be required. ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Arrays INTEGER :: St3d(3), Ct3d(3) ! Scalars INTEGER :: I, nDim !-------------------------------- ! WRITE DATA !-------------------------------- ! Set start & count arrays nDim = 3 DO I = 1, nDim St3d(I) = 1 Ct3d(I) = SIZE( Arr3d, I ) ENDDO ! Write to netCDF file CALL NcWr( Arr3d, fId, VarName, St3d, Ct3d ) END SUBROUTINE NC_VAR_WRITE_R4_3D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nc_Var_Write_r4_4d ! ! !DESCRIPTION: Writes data of a 4-D single precision variable. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NC_VAR_WRITE_R4_4D( fId, VarName, Arr4D ) ! ! !USES: ! USE m_netcdf_io_write ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: fId ! file ID CHARACTER(LEN=*), INTENT(IN) :: VarName ! variable name REAL(kind=4), POINTER :: Arr4D(:,:,:,:) ! array to be written ! ! !REMARKS: ! Assumes that you have: ! (1) A netCDF library (either v3 or v4) installed on your system ! (2) The NcdfUtilities package (from Bob Yantosca) source code ! . ! Although this routine was generated automatically, some further ! hand-editing may be required. ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Arrays INTEGER :: St4d(4), Ct4d(4) ! Scalars INTEGER :: I, nDim !-------------------------------- ! WRITE DATA !-------------------------------- nDim = 4 DO I = 1, nDim St4d(I) = 1 Ct4d(I) = SIZE( Arr4d, I ) ENDDO ! Write to netCDF file CALL NcWr( Arr4d, fId, VarName, St4d, Ct4d ) END SUBROUTINE NC_VAR_WRITE_R4_4D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nc_Var_Write_Int_0d ! ! !DESCRIPTION: Writes data of a 0-D integer variable. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NC_VAR_WRITE_INT_0d( fId, VarName, Var ) ! ! !USES: ! USE m_netcdf_io_write ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: fId ! file ID CHARACTER(LEN=*), INTENT(IN) :: VarName ! variable name INTEGER :: Var ! Variable to be written ! ! !REMARKS: ! Assumes that you have: ! (1) A netCDF library (either v3 or v4) installed on your system ! (2) The NcdfUtilities package (from Bob Yantosca) source code ! . ! Although this routine was generated automatically, some further ! hand-editing may be required. ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! !-------------------------------- ! WRITE DATA !-------------------------------- ! Write to netCDF file CALL NcWr( Var, fId, VarName ) END SUBROUTINE NC_VAR_WRITE_INT_0D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nc_Var_Write_int_1d ! ! !DESCRIPTION: Writes data of an 1-D integer variable. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NC_VAR_WRITE_INT_1D( fId, VarName, Arr1D ) ! ! !USES: ! USE m_netcdf_io_write ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: fId ! file ID CHARACTER(LEN=*), INTENT(IN) :: VarName ! variable name INTEGER, POINTER :: Arr1D(:) ! array to be written ! ! !REMARKS: ! Assumes that you have: ! (1) A netCDF library (either v3 or v4) installed on your system ! (2) The NcdfUtilities package (from Bob Yantosca) source code ! . ! Although this routine was generated automatically, some further ! hand-editing may be required. ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Arrays INTEGER :: St1d(1), Ct1d(1) !-------------------------------- ! WRITE DATA !-------------------------------- ! Set start & count arrays St1d(1) = 1 Ct1d(1) = SIZE( Arr1d, 1 ) ! Write to netCDF file CALL NcWr( Arr1d, fId, VarName, St1d, Ct1d ) END SUBROUTINE NC_VAR_WRITE_INT_1D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nc_Var_Write_int_2d ! ! !DESCRIPTION: writes data of an 2-D integer variable. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NC_VAR_WRITE_INT_2D( fId, VarName, Arr2D ) ! ! !USES: ! USE m_netcdf_io_write ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: fId ! file ID CHARACTER(LEN=*), INTENT(IN) :: VarName ! variable name INTEGER, POINTER :: Arr2D(:,:) ! array to be written ! ! !REMARKS: ! Assumes that you have: ! (1) A netCDF library (either v3 or v4) installed on your system ! (2) The NcdfUtilities package (from Bob Yantosca) source code ! . ! Although this routine was generated automatically, some further ! hand-editing may be required. ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Arrays INTEGER :: St2d(2), Ct2d(2) ! Scalars INTEGER :: I, nDim !-------------------------------- ! WRITE DATA !-------------------------------- ! Set start & count arrays nDim = 2 DO I = 1, nDim St2d(I) = 1 Ct2d(I) = SIZE( Arr2d, I ) ENDDO ! Write to netCDF file CALL NcWr( Arr2d, fId, VarName, St2d, Ct2d ) END SUBROUTINE NC_VAR_WRITE_INT_2D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nc_Var_Write_int_3d ! ! !DESCRIPTION: writes data of an 3-D integer variable. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NC_VAR_WRITE_INT_3D( fId, VarName, Arr3D ) ! ! !USES: ! USE m_netcdf_io_write ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: fId ! file ID CHARACTER(LEN=*), INTENT(IN) :: VarName ! variable name INTEGER, POINTER :: Arr3D(:,:,:) ! array to be written ! ! !REMARKS: ! Assumes that you have: ! (1) A netCDF library (either v3 or v4) installed on your system ! (2) The NcdfUtilities package (from Bob Yantosca) source code ! . ! Although this routine was generated automatically, some further ! hand-editing may be required. ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Arrays INTEGER :: St3d(3), Ct3d(3) ! Scalars INTEGER :: I, nDim !-------------------------------- ! WRITE DATA !-------------------------------- ! Set start & count arrays nDim = 3 DO I = 1, nDim St3d(I) = 1 Ct3d(I) = SIZE( Arr3d, I ) ENDDO ! Write to netCDF file CALL NcWr( Arr3d, fId, trim(VarName), St3d, Ct3d ) END SUBROUTINE NC_VAR_WRITE_INT_3D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nc_Var_Write_int_4d ! ! !DESCRIPTION: writes data of an 4-Dinteger variable. !\\ !\\ ! !INTERFACE: ! SUBROUTINE NC_VAR_WRITE_INT_4D( fId, VarName, Arr4D ) ! ! !USES: ! USE m_netcdf_io_write ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: fId ! file ID CHARACTER(LEN=*), INTENT(IN) :: VarName ! variable name INTEGER, POINTER :: Arr4D(:,:,:,:) ! array to be written ! ! !REMARKS: ! Assumes that you have: ! (1) A netCDF library (either v3 or v4) installed on your system ! (2) The NcdfUtilities package (from Bob Yantosca) source code ! . ! Although this routine was generated automatically, some further ! hand-editing may be required. ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Arrays INTEGER :: St4d(4), Ct4d(4) ! Scalars INTEGER :: I, nDim !-------------------------------- ! WRITE DATA !-------------------------------- ! Set start & count arrays nDim = 4 DO I = 1, nDim St4d(I) = 1 Ct4d(I) = SIZE( Arr4d, I ) ENDDO ! Write to netCDF file CALL NcWr( Arr4d, fId, VarName, St4d, Ct4d ) END SUBROUTINE NC_VAR_WRITE_INT_4D !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Get_Tau0 ! ! !DESCRIPTION: Function GET\_TAU0\_6A returns the corresponding TAU0 value ! for the first day of a given MONTH of a given YEAR. This is necessary to ! index monthly mean binary punch files, which are used as input to GEOS-Chem. !\\ !\\ ! This function takes 3 mandatory arguments (MONTH, DAY, YEAR) and 3 ! optional arguments (HOUR, MIN, SEC). It is intended to replace the current ! 2-argument version of GET\_TAU0. The advantage being that GET\_TAU0\_6A ! can compute a TAU0 for any date and time in the GEOS-Chem epoch, rather ! than just the first day of each month. Overload this w/ an interface so ! that the user can also choose the version of GET\_TAU0 w/ 2 arguments ! (MONTH, YEAR), which is the prior version. !\\ !\\ ! !INTERFACE: ! FUNCTION GET_TAU0( MONTH, DAY, YEAR, HOUR, MIN, SEC ) RESULT( THIS_TAU0 ) ! ! !USES: ! USE JULDAY_MOD, ONLY : JULDAY ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: MONTH INTEGER, INTENT(IN) :: DAY INTEGER, INTENT(IN) :: YEAR INTEGER, INTENT(IN), OPTIONAL :: HOUR INTEGER, INTENT(IN), OPTIONAL :: MIN INTEGER, INTENT(IN), OPTIONAL :: SEC ! ! !RETURN VALUE: ! REAL*8 :: THIS_TAU0 ! TAU0 timestamp ! ! !REMARKS: ! TAU0 is hours elapsed since 00:00 GMT on 01 Jan 1985. ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: TMP_HOUR, TMP_MIN, TMP_SEC REAL*8 :: DAYS !======================================================================= ! GET_TAU0 begins here! !======================================================================= ! Error checking IF ( MONTH < 1 .or. MONTH > 12 ) THEN WRITE( 6, 100 ) 100 FORMAT( 'Invalid MONTH selection! STOP in GET_TAU0 (ncdf_mod.F90)!' ) STOP ENDIF ! Error checking IF ( DAY < 1 .or. DAY > 31 ) THEN WRITE( 6, 110 ) 110 FORMAT( 'Invalid DAY selection! STOP in GET_TAU0 (ncdf_mod.F90)!' ) STOP ENDIF ! If HOUR isn't passed, default to 0 IF ( PRESENT( HOUR ) ) THEN TMP_HOUR = HOUR ELSE TMP_HOUR = 0 ENDIF ! If MIN isn't passed, default to 0 IF ( PRESENT( MIN ) ) THEN TMP_MIN = MIN ELSE TMP_MIN = 0 ENDIF ! If SEC isn't passed, default to 0 IF ( PRESENT( SEC ) ) THEN TMP_SEC = SEC ELSE TMP_SEC = 0 ENDIF ! Number of days since midnight on 1/1/1985 THIS_TAU0 = JULDAY( YEAR, MONTH, DBLE( DAY ) ) - 2446066.5d0 ! Multiply by 24 to get hours since 1/1/1985 ! Also add in the hours elapsed since midnight on this date THIS_TAU0 = ( THIS_TAU0 * 24d0 ) + ( TMP_HOUR ) + & ( TMP_MIN / 60d0 ) + ( TMP_SEC / 3600d0 ) END FUNCTION GET_TAU0 !EOC !------------------------------------------------------------------------------ ! NcdfUtilities: by Harvard Atmospheric Chemistry Modeling Group ! ! and NASA/GFSC, SIVO, Code 610.3 ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nc_IsModelLevel ! ! !DESCRIPTION: Function NC\_IsModelLevel returns true if (and only if) the ! long name of the level variable name of the given file ID contains the ! character "GEOS-Chem level". !\\ !\\ ! !INTERFACE: ! FUNCTION NC_IsModelLevel( fID, lev_name ) RESULT ( IsModelLevel ) ! ! !USES: ! USE m_netcdf_io_checks USE m_netcdf_io_readattr ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: fID ! file ID CHARACTER(LEN=*), INTENT(IN) :: lev_name ! level variable name ! ! !RETURN VALUE: ! LOGICAL :: IsModelLevel ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! LOGICAL :: HasLngN CHARACTER(LEN=255) :: a_name, LngName INTEGER :: a_type !======================================================================= ! NC_IsModelLevel begins here! !======================================================================= ! Init IsModelLevel = .FALSE. ! Check if there is a long_name attribute a_name = "long_name" HasLngN = Ncdoes_Attr_Exist ( fId, TRIM(lev_name), TRIM(a_name), a_type ) ! Only if attribute exists... IF ( HasLngN ) THEN ! Read attribute CALL NcGet_Var_Attributes( fID, TRIM(lev_name), TRIM(a_name), LngName ) ! See if this is a GEOS-Chem model level IF ( INDEX( TRIM(LngName), "GEOS-Chem level" ) > 0 ) THEN IsModelLevel = .TRUE. ENDIF ENDIF END FUNCTION NC_IsModelLevel !EOC !------------------------------------------------------------------------------ ! NcdfUtilities: by Harvard Atmospheric Chemistry Modeling Group ! ! and NASA/GFSC, SIVO, Code 610.3 ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Nc_IsSigmaLevel ! ! !DESCRIPTION: Function NC\_IsSigmaLevels returns true if (and only if) the ! long name of the level variable name of the given file ID contains the ! character "atmospheric_hybrid_sigma_pressure_coordinate". !\\ !\\ ! !INTERFACE: ! FUNCTION NC_IsSigmaLevel( fID, lev_name ) RESULT ( IsSigmaLevel ) ! ! !USES: ! USE m_netcdf_io_checks USE m_netcdf_io_readattr ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: fID ! file ID CHARACTER(LEN=*), INTENT(IN) :: lev_name ! level variable name ! ! !RETURN VALUE: ! LOGICAL :: IsSigmaLevel ! ! !REVISION HISTORY: ! See https://github.com/geoschem/ncdfutil for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: found INTEGER :: a_type ! Strings CHARACTER(LEN=255) :: a_name CHARACTER(LEN=255) :: a_val !======================================================================= ! NC_IsSigmaLevel begins here! !======================================================================= ! Initialize IsSigmaLevel = .FALSE. ! Check if there is a long_name attribute a_name = "standard_name" found = Ncdoes_Attr_Exist( fId, TRIM(lev_name), TRIM(a_name), a_type ) ! First check if the "standard_name" attribute exists IF ( found ) THEN ! Read "standard_name" attribute CALL NcGet_Var_Attributes( fID, TRIM(lev_name), TRIM(a_name), a_val ) ELSE ! If the "standard_name" attribute isn't found, try "long_name" a_name = "long_name" found = Ncdoes_Attr_Exist( fId, TRIM(lev_name), TRIM(a_name), a_type ) ! Read "long_name" attribute IF ( found ) THEN CALL NcGet_Var_Attributes( fID, TRIM(lev_name), TRIM(a_name), a_val ) ENDIF ENDIF ! Test if the attribute value indicates a hybrid sigma-pressure grid IF ( INDEX( TRIM( a_val ), & "atmospheric_hybrid_sigma_pressure_coordinate" ) > 0 ) THEN IsSigmaLevel = .TRUE. ENDIF END FUNCTION NC_IsSigmaLevel !EOC END MODULE NCDF_MOD ================================================ FILE: ObsPack/.gitignore ================================================ *.[oax] *.mod *.MOD *~* geos geostomas geosapm *.pp.* *.pdb *.inst.* *.continue.* *.ppk core.* ================================================ FILE: ObsPack/CMakeLists.txt ================================================ add_library(ObsPack STATIC EXCLUDE_FROM_ALL obspack_mod.F90 ) target_link_libraries(ObsPack PUBLIC GeosUtil ) ================================================ FILE: ObsPack/obspack_mod.F90 ================================================ !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: obspack_mod.F90 ! ! !DESCRIPTION: Module OBSPACK\_MOD contains variables and routines ! which to sample a GEOS-Chem model simulation for in situ observations ! contained in an ObsPack file. !\\ !\\ ! !INTERFACE: ! MODULE ObsPack_Mod ! ! !USES: ! USE Precision_Mod ! For GEOS-Chem Precision (fp) IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: ObsPack_Init PUBLIC :: ObsPack_Cleanup PUBLIC :: ObsPack_Sample PUBLIC :: ObsPack_Write_Output PUBLIC :: ObsPack_SpeciesMap_Init PUBLIC :: ObsPack_SpeciesMap_Cleanup ! ! !PRIVATE MEMBER FUNCTIONS: ! PRIVATE :: ObsPack_Read_Input PRIVATE :: ObsPack_Get_Indices PRIVATE :: Seconds_Since_1970 ! ! !AUTHOR: ! Andrew Jacobson (NOAA); andy.jacobson@noaa.gov ! Andrew Schuh (Colorado State University), aschuh@colostate.edu ! ! !REMARKS: ! NOTE: All ObsPack variables are saved as fields of State_Diag, ! which will also facilitate using ObsPack in other model contexts. ! Right now this has only been validated with GEOS-Chem "Classic", though. ! ! !REVISION HISTORY: ! 04 Jun 2015 - A. Jacobson - Adapted from v10.1 planeflight_mod.f, following ! similar work done in v9.2 by Andrew Schuh. ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !DEFINED PARAMETERS: ! INTEGER, PARAMETER :: CHAR_LEN_OBS = 200 ! Length of ObsPack ID strings INTEGER, PARAMETER :: CHAR_LEN_SPEC = 31 ! Length of species names CONTAINS !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: obspack_init ! ! !DESCRIPTION: Subroutine OBSPACK\_INIT reads information from ! the input ObsPack file in order to initialize the obspack ! diagnostic. It allocates memory in the obs array. If this ! structure is already allocated, the routine presumes that the ! current samples need to be written out before the new ObsPack ! information is read. In that case, OBSPACK\_WRITE\_OUTPUT is ! called. !\\ !\\ ! !INTERFACE: ! SUBROUTINE ObsPack_Init( yyyymmdd, hhmmss, Input_Opt, State_Diag, RC ) ! ! !USES: ! USE ErrCode_Mod USE Error_Mod, ONLY : Debug_Msg USE File_Mod, ONLY : File_Exists USE Input_Opt_Mod, ONLY : OptInput USE State_Diag_Mod, ONLY : DgnState USE Time_Mod, ONLY : Expand_Date ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: yyyymmdd ! Current date INTEGER, INTENT(IN) :: hhmmss ! Current time TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Chemistry State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY ! 05 Dec 2018 - R. Yantosca - Implemented into the standard GEOS-Chem code ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: N ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc !======================================================================= ! OBSPACK_INIT begins here !======================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at ObsPack_Init (in module ObsPack/obspack_mod.F90' ! Assume that there are ObsPack data for today State_Diag%Do_ObsPack = .TRUE. IF ( Input_Opt%Verbose ) THEN CALL DEBUG_MSG( '### OBSPACK_INIT: starting' ) ENDIF !----------------------------------------------------------------------- ! If obs array is already allocated, assume that we need to ! write out existing results before reading new input. This ! could happen in a multi-day run with daily input files. !----------------------------------------------------------------------- IF ( ASSOCIATED( State_Diag%ObsPack_Id ) ) THEN ! Write any remaining ObsPack data to disk, and immediately ! thereafter free the ObsPack pointer fields of State_Diag CALL ObsPack_Write_Output( Input_Opt, State_Diag, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "ObsPack_Write_Output"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF ! Reset the number of observations State_Diag%ObsPack_nObs = 0 !----------------------------------------------------------------------- ! Form input and output file names with daily timestamps. ! Example: flask_input.2011063000_2011070100.nc and ! flask_output.2011063000_2011070100.nc. The current ! implementation uses today's time for the first timestamp, and ! today's time plus 24 hours for the second. We could also use ! the IVALb and IVALe times, if the input files have been ! processed accordingly !----------------------------------------------------------------------- State_Diag%ObsPack_InFile = TRIM( Input_Opt%ObsPack_InputFile ) State_Diag%ObsPack_OutFile = TRIM( Input_Opt%ObsPack_OutputFile ) ! Replace YYYYMMDD with date and time CALL Expand_Date( State_Diag%ObsPack_InFile, yyyymmdd, hhmmss ) CALL Expand_Date( State_Diag%ObsPack_OutFile, yyyymmdd, hhmmss ) ! If we can't find a ObsPack file for today's date, return IF ( .NOT. FILE_EXISTS( TRIM( State_Diag%ObsPack_InFile ) ) ) THEN State_Diag%Do_ObsPack = .FALSE. State_Diag%ObsPack_nObs = 0 RETURN ENDIF !----------------------------------------------------------------------- ! Get the list of lon/lat/alt at which to save out GEOS-Chem data !----------------------------------------------------------------------- CALL ObsPack_Read_Input( Input_Opt, State_Diag, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "ObsPack_Write_Output"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF !----------------------------------------------------------------------- ! Print info about diagnostics that will be saved out !----------------------------------------------------------------------- IF ( Input_Opt%amIRoot ) THEN ! Print info WRITE( 6, '(/,a)' ) REPEAT( '=', 79 ) WRITE( 6, 100 ) yyyymmdd WRITE( 6, 110 ) TRIM( State_Diag%ObsPack_InFile ) WRITE( 6, 120 ) TRIM( State_Diag%ObsPack_OutFile ) WRITE( 6, 130 ) State_Diag%ObsPack_nObs WRITE( 6, 140 ) State_Diag%ObsPack_nSpecies WRITE( 6, '(a,/)' ) REPEAT( '=', 79 ) ! FORMAT statements 100 FORMAT( 'OBSPACK for date ', i8 ) 110 FORMAT( '-> Input file : ', a ) 120 FORMAT( '-> Output file : ', a ) 130 FORMAT( '-> # observations : ', i10 ) 140 FORMAT( '-> # species/obs : ', i10 ) ENDIF END SUBROUTINE OBSPACK_INIT !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: obspack_read_input ! ! !DESCRIPTION: Subroutine OBSPACK\_READ\_INPUT allocates space ! for variables in the input file, and reads those data into the ! module arrays. !\\ !\\ ! !INTERFACE: ! SUBROUTINE ObsPack_Read_Input( Input_Opt, State_Diag, RC ) ! ! !USES: ! USE CharPak_Mod, ONLY : charArr2Str, cStrip USE ErrCode_Mod USE File_Mod, ONLY : File_Exists USE Input_Opt_Mod, ONLY : OptInput USE netCDF USE State_Diag_Mod, ONLY : DgnState USE m_netcdf_io_open, ONLY : Ncop_Rd USE m_netcdf_io_get_dimlen, ONLY : Ncget_Dimlen USE m_netcdf_io_read USE m_netcdf_io_close, ONLY : Nccl USE m_netcdf_io_checks, ONLY : NcDoes_Var_Exist ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object ! ! !OUTPUT PARAMETERS: ! TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! We read in all data available in the input file, ! but it is possible that there are observations that ! fall outside the IVALb-IVALe time period. ! ! NOTE: Starting in ObsPack v6, "time_components" indicates the start-time ! of the sampling interval, not the center time. For the center time, we ! need to read the "time" variable. The "time" variable represents the ! center of the averaging window in all OBSPACK data versions. Therefore, ! we need to skip reading the "time_components" netCDF variable, and ! we don't need to allocate the "central_time" work array. Changes to the ! code will be commented out with "%%% FIX FOR OBSPACK V6 DATA" tags. ! -- Andy Jacobson and Bob Yantosca (26 Feb 2021) ! ! !REVISION HISTORY: ! 05 Jun 2015 - A. Jacobson - first version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: It_Exists, Window_Start_Time INTEGER :: fId, vId INTEGER :: N, nObs INTEGER :: nSpecies REAL(fp) :: tsDyn, halfTsDyn ! Arrays INTEGER, ALLOCATABLE :: tmp_int(:) INTEGER :: st1d(1), ct1d(1) INTEGER :: st2d(2), ct2d(2) ! Strings CHARACTER(LEN=30 ) :: varName CHARACTER(LEN=512) :: ErrMsg CHARACTER(LEN=255) :: ThisLoc CHARACTER(LEN=255) :: comment !======================================================================= ! OBSPACK_READ_INPUT begins here !======================================================================= ! Initialize RC = GC_SUCCESS Window_Start_Time = .TRUE. tsDyn = DBLE( Input_Opt%Ts_Dyn ) halfTsDyn = tsDyn * 0.5_fp ErrMsg = '' ThisLoc = & ' -> at ObsPack_Read_Input (in module ObsPack/obspack_mod.F90)' !======================================================================= ! If obs array is already allocated, assume that we need to ! write out existing results before reading new input. This ! could happen in a multi-day run with daily input files. !======================================================================= IF ( ASSOCIATED( State_Diag%ObsPack_Id ) ) THEN CALL ObsPack_Write_Output( Input_Opt, State_Diag, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "ObsPack_Write_Output"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ENDIF !======================================================================= ! Exit if we are not on the root core ! ! Or for MPI (e.g. WRF-GC), gather inforamation here from all cores !======================================================================= IF ( .not. Input_Opt%amIRoot ) RETURN !======================================================================= ! Get the number of observations in the input netCDF file !======================================================================= ! If the file exists, open it. Save the file ID to State_Diag. CALL Ncop_Rd( fId, State_Diag%ObsPack_InFile ) State_Diag%ObsPack_fId = fId ! Get the # of observations in the file (and save it to State_Diag). CALL Ncget_Dimlen( fId, 'obs', nObs ) State_Diag%ObsPack_nObs = nObs !======================================================================= ! Allocate the relevant fields of State_Diag !======================================================================= ALLOCATE( State_Diag%ObsPack_CharArray( CHAR_LEN_OBS, nObs ), STAT=RC ) CALL GC_CheckVar( 'State_Diag%ObsPack_CharArray', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Diag%ObsPack_CharArray = ACHAR(0) ! NULL byte ALLOCATE( State_Diag%ObsPack_ID( nObs ), STAT=RC ) CALL GC_CheckVar( 'State_Diag%ObsPack_Id', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Diag%ObsPack_Id = '' ALLOCATE( State_Diag%ObsPack_nSamples( nObs ), STAT=RC ) CALL GC_CheckVar( 'State_Diag%ObsPack_nSamples', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Diag%ObsPack_nSamples = 0 ALLOCATE( State_Diag%ObsPack_Strategy( nObs ), STAT=RC ) CALL GC_CheckVar( 'State_Diag%ObsPack_Strategy', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN ALLOCATE( State_Diag%ObsPack_Latitude( nObs ), STAT=RC ) CALL GC_CheckVar( 'State_Diag%ObsPack_Latitude', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Diag%ObsPack_Latitude = 0.0_f4 ALLOCATE( State_Diag%ObsPack_Longitude( nObs ), STAT=RC ) CALL GC_CheckVar( 'State_Diag%ObsPack_Longitude', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Diag%ObsPack_Longitude = 0.0_f4 ALLOCATE( State_Diag%ObsPack_Altitude( nObs ), STAT=RC ) CALL GC_CheckVar( 'State_Diag%ObsPack_Altitude', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Diag%ObsPack_Altitude = 0.0_f4 ALLOCATE( State_Diag%ObsPack_Ival_Start( nObs ), STAT=RC ) CALL GC_CheckVar( 'State_Diag%ObsPack_Ival_Start', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Diag%ObsPack_Ival_Start = 0.0_f8 ALLOCATE( State_Diag%ObsPack_Ival_Center( nObs ), STAT=RC ) CALL GC_CheckVar( 'State_Diag%ObsPack_Ival_Center', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Diag%ObsPack_Ival_Center = 0.0_f8 ALLOCATE( State_Diag%ObsPack_Ival_End( nObs ), STAT=RC ) CALL GC_CheckVar( 'State_Diag%ObsPack_Ival_End', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Diag%ObsPack_Ival_End = 0.0_f8 ALLOCATE( State_Diag%ObsPack_U( nObs ), STAT=RC ) CALL GC_CheckVar( 'State_Diag%ObsPack_U', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Diag%ObsPack_U = 0.0_f4 ALLOCATE( State_Diag%ObsPack_V( nObs ), STAT=RC ) CALL GC_CheckVar( 'State_Diag%ObsPack_V', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Diag%ObsPack_V = 0.0_f4 ALLOCATE( State_Diag%ObsPack_BLH( nObs ), STAT=RC ) CALL GC_CheckVar( 'State_Diag%ObsPack_BLH', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Diag%ObsPack_BLH = 0.0_f4 ALLOCATE( State_Diag%ObsPack_Q( nObs ), STAT=RC ) CALL GC_CheckVar( 'State_Diag%ObsPack_Q', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Diag%ObsPack_Q = 0.0_f4 ALLOCATE( State_Diag%ObsPack_P( nObs ), STAT=RC ) CALL GC_CheckVar( 'State_Diag%ObsPack_P', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Diag%ObsPack_P = 0.0_f4 ALLOCATE( State_Diag%ObsPack_T( nObs ), STAT=RC ) CALL GC_CheckVar( 'State_Diag%ObsPack_T', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Diag%ObsPack_T = 0.0_f4 nSpecies = State_Diag%ObsPack_nSpecies ALLOCATE( State_Diag%ObsPack_Species( nObs, nSpecies ), STAT=RC ) CALL GC_CheckVar( 'State_Diag%ObsPack_nSpecies', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Diag%ObsPack_Species = 0.0_f4 ! Work array (for time) ALLOCATE( tmp_int( nObs ), STAT=RC ) CALL GC_CheckVar( 'obspack_mod.F:central_time', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN !======================================================================= ! Read input information from the netCDF file: !======================================================================= !---------------------------- ! Read coordinate arrays !---------------------------- st1d = (/ 1 /) ct1d = (/ nObs /) varName = 'latitude' CALL NcRd( State_Diag%ObsPack_Latitude, fId, TRIM(varName), st1d, ct1d ) varName = 'longitude' CALL NcRd( State_Diag%ObsPack_Longitude, fId, TRIM(varName), st1d, ct1d ) varName = 'altitude' CALL NcRd( State_Diag%ObsPack_Altitude, fId, TRIM(varName), st1d, ct1d ) ! First check if the "CT_sampling_strategy" variable exists. ! If it does not, assume hourly sampling (strategy value = 2). varName = 'CT_sampling_strategy' It_Exists = NcDoes_Var_Exist( fId, varName ) IF ( It_Exists ) THEN CALL NcRd( State_Diag%ObsPack_Strategy, fId, TRIM(varName), st1d, ct1d) ELSE ErrMsg = 'Could not find "CT_sampling_strategy" in file: ' // & TRIM( State_Diag%ObsPack_InFile ) // & '. Will use hourly sampling by default.' CALL GC_Warning( ErrMsg, RC, ThisLoc ) State_Diag%ObsPack_Strategy = 2 ENDIF !---------------------------- ! Read time ! (seconds since 1970) !---------------------------- varName = 'time' CALL NcRd( tmp_int, fId, TRIM(varName), st1d, ct1d ) ! Look for time:comment string, as this will determine if "time" is ! the start time or midpoint time of the averaging window. ! If the comment is not found, we time = start fo the averaging window. RC = NF90_Inq_Varid( fId, varName, vId ) RC = NF90_Get_Att( fId, vId, "comment", comment ) IF ( RC == NF90_NOERR ) THEN N = INDEX( comment, 'middle of the averaging interval' ) IF ( N > 0 ) THEN Window_Start_Time = .FALSE. ELSE N = INDEX( comment, 'midpoint of the averaging interval' ) IF ( N > 0 ) Window_Start_Time = .FALSE. ENDIF ENDIF ! Assign the values from "time" to the proper tracking array ! which will be used to define the bounds of the sample window IF ( Window_Start_Time ) THEN State_Diag%ObsPack_Ival_Start = tmp_int IF ( Input_Opt%amIRoot ) WRITE( 6, 50 ) 'start' ELSE State_Diag%ObsPack_Ival_Center = tmp_int IF ( Input_Opt%amIRoot ) WRITE( 6, 50 ) 'midpoint' ENDIF 50 FORMAT( ' - OBSPACK: "time" indicates ', a, ' of sample window' ) !---------------------------- ! Read ID string !---------------------------- st2d = (/ 1, 1 /) ct2d = (/ CHAR_LEN_OBS, nObs /) varName = 'obspack_id' CALL NcRd( State_Diag%ObsPack_CharArray, fId, TRIM(varName), st2d, ct2d ) ! Convert character array (needed to read strings from netCDF) ! to a string. Also strip white space (e.g. tab characters). DO N = 1, nObs State_Diag%ObsPack_Id(N) = charArr2Str( & State_Diag%ObsPack_CharArray(:,N), CHAR_LEN_OBS ) CALL CStrip( State_Diag%ObsPack_Id(N), KeepSpaces=.TRUE. ) ENDDO ! Close input netCDF file CALL NcCl( fId ) State_Diag%ObsPack_fId = fId !======================================================================= ! Fill sampling window start and end times !======================================================================= DO N = 1, nObs !----------------------- ! Test for valid data !----------------------- IF ( State_Diag%ObsPack_Longitude(N) < -180.0_f4 .or. & State_Diag%ObsPack_Longitude(N) > 180.0_f4 .or. & State_Diag%ObsPack_Latitude(N) < -90.0_f4 .or. & State_Diag%ObsPack_Latitude(N) > 90.0_f4 .or. & State_Diag%ObsPack_Altitude(N) < -1000.0_f4 .or. & State_Diag%ObsPack_Altitude(N) > 200000.0_f4 ) THEN ! Write an error message if the data is bad ErrMsg = '"WARNING! Bad coordinates on obs with ObsPack_id: ' WRITE( 6, '(2a)' ) TRIM( ErrMsg ), & TRIM( State_Diag%ObsPack_id(N) ) WRITE (6,'(" - lon ",f12.4,", lat ",f12.4,", alt ",f12.4,".")') & State_Diag%ObsPack_Longitude(N), & State_Diag%ObsPack_Latitude(N), & State_Diag%ObsPack_Altitude(N) ! Mark that the data will be skipped State_Diag%ObsPack_strategy(N) = 0 ENDIF !==================================================================== ! Construct the sampling intervals from the center time !==================================================================== ! Pick the start and end time of the averaging interval ! depending on the averaging strategy listed in the file SELECT CASE ( State_Diag%ObsPack_Strategy(N) ) !------------------ ! DO-NOT-SAMPLE ! set start > end !------------------ CASE( 0 ) IF ( Window_Start_Time ) THEN State_Diag%ObsPack_Ival_Center(N) = & State_Diag%ObsPack_Ival_Start(N) - 1.0_f8 ELSE State_Diag%ObsPack_Ival_Start(N) = & State_Diag%ObsPack_Ival_Center(N) + 1.0_f8 ENDIF State_Diag%ObsPack_Ival_End(N) = & State_Diag%ObsPack_Ival_Center(N) - 1.0_f8 !------------------ ! 4-hour window !------------------ CASE( 1 ) IF ( Window_Start_Time ) THEN State_Diag%ObsPack_Ival_Center(N) = & State_Diag%ObsPack_Ival_Start(N) + 7200.0_f8 ELSE State_Diag%ObsPack_Ival_Start(N) = & State_Diag%ObsPack_Ival_Center(N) - 7200.0_f8 ENDIF State_Diag%ObsPack_Ival_End(N) = & State_Diag%ObsPack_Ival_Center(N) + 7200.0_f8 !------------------ ! 1-hour window !------------------ CASE( 2 ) IF ( Window_Start_Time ) THEN State_Diag%ObsPack_Ival_Center(N) = & State_Diag%ObsPack_Ival_Start(N) + 1800.0_f8 ELSE State_Diag%ObsPack_Ival_Start(N) = & State_Diag%ObsPack_Ival_Center(N) - 1800.0_f8 ENDIF State_Diag%ObsPack_Ival_End(N) = & State_Diag%ObsPack_Ival_center(N) + 1800.0_f8 !------------------ ! 90-minute window !------------------ CASE( 3 ) IF ( Window_Start_Time ) THEN State_Diag%ObsPack_Ival_Center(N) = & State_Diag%ObsPack_Ival_Start(N) + 2700.0_f8 ELSE State_Diag%ObsPack_Ival_Start(N) = & State_Diag%ObsPack_Ival_Center(N) - 2700.0_f8 ENDIF State_Diag%ObsPack_Ival_End(N) = & State_Diag%ObsPack_Ival_Center(N) + 2700.0_f8 !--------------------- ! Instaneous Sampling !--------------------- CASE( 4 ) IF ( Window_Start_Time ) THEN State_Diag%ObsPack_Ival_Center(N) = & State_Diag%ObsPack_Ival_Start(N) ELSE State_Diag%ObsPack_Ival_Start(N) = & State_Diag%ObsPack_Ival_Center(N) ENDIF State_Diag%ObsPack_Ival_End(N) = & State_Diag%ObsPack_Ival_Center(N) ! Extend the averaging interval end to capture data points ! that are within half a dynamic timestep of the day's end IF ( State_Diag%ObsPack_Ival_End(N) + tsDyn > 86400.0 ) THEN State_Diag%ObsPack_Ival_End(N) = & State_Diag%ObsPack_Ival_End(N) + halfTsDyn ENDIF !------------------ ! Exit w/ error !------------------ CASE DEFAULT ErrMsg = 'Observation with ObsPack_id: ' // & TRIM( ADJUSTL( State_Diag%ObsPack_id(N) ) ) // & ' has an unknown or invalid sampling strategy!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN END SELECT ENDDO !======================================================================== ! Cleanup and quit !======================================================================== IF ( ALLOCATED( tmp_int ) ) THEN DEALLOCATE( tmp_int, STAT=RC ) CALL GC_CheckVar( 'tmp_int', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF END SUBROUTINE ObsPack_Read_Input !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ObsPack_Cleanup ! ! !DESCRIPTION: Subroutine ObsPack\_CLEANUP deallocates all ObsPack ! fields of State_Diag. !\\ !\\ ! !INTERFACE: ! SUBROUTINE ObsPack_Cleanup( Input_Opt, State_Diag, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Diag_Mod, ONLY : DgnState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 05 Jun 2015 - A. Jacobson - first version ! 05 Dec 2018 - R. Yantosca - Implemented into GEOS-Chem standard code ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! Assume success RC = GC_SUCCESS !======================================================================= ! Deallocate ObsPack variables !======================================================================= IF ( ASSOCIATED( State_Diag%ObsPack_CharArray ) ) THEN DEALLOCATE( State_Diag%ObsPack_CharArray, STAT=RC ) CALL GC_CheckVar( 'State_Diag%ObsPack_CharArray', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Diag%ObsPack_CharArray => NULL() ENDIF IF ( ASSOCIATED( State_Diag%ObsPack_Id ) ) THEN DEALLOCATE( State_Diag%ObsPack_Id, STAT=RC ) CALL GC_CheckVar( 'State_Diag%ObsPack_Id', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Diag%ObsPack_Id => NULL() ENDIF IF ( ASSOCIATED( State_Diag%ObsPack_nSamples ) ) THEN DEALLOCATE( State_Diag%ObsPack_nSamples, STAT=RC ) CALL GC_CheckVar( 'State_Diag%ObsPack_nSamples', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Diag%ObsPack_nSamples => NULL() ENDIF IF ( ASSOCIATED( State_Diag%ObsPack_Strategy ) ) THEN DEALLOCATE( State_Diag%ObsPack_Strategy, STAT=RC ) CALL GC_CheckVar( 'State_Diag%ObsPack_Strategy', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Diag%ObsPack_Strategy => NULL() ENDIF IF ( ASSOCIATED( State_Diag%ObsPack_Latitude ) ) THEN DEALLOCATE( State_Diag%ObsPack_Latitude, STAT=RC ) CALL GC_CheckVar( 'State_Diag%ObsPack_Latitude', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Diag%ObsPack_Latitude => NULL() ENDIF IF ( ASSOCIATED( State_Diag%ObsPack_Longitude ) ) THEN DEALLOCATE( State_Diag%ObsPack_Longitude, STAT=RC ) CALL GC_CheckVar( 'State_Diag%ObsPack_Longitude', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Diag%ObsPack_Longitude => NULL() ENDIF IF ( ASSOCIATED( State_Diag%ObsPack_Altitude ) ) THEN DEALLOCATE( State_Diag%ObsPack_Altitude, STAT=RC ) CALL GC_CheckVar( 'State_Diag%ObsPack_Altitude', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Diag%ObsPack_Altitude => NULL() ENDIF IF ( ASSOCIATED( State_Diag%ObsPack_Ival_Start ) ) THEN DEALLOCATE( State_Diag%ObsPack_Ival_Start, STAT=RC ) CALL GC_CheckVar( 'State_Diag%ObsPack_Ival_Start', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Diag%ObsPack_Ival_Start => NULL() ENDIF IF ( ASSOCIATED( State_Diag%ObsPack_Ival_Center ) ) THEN DEALLOCATE( State_Diag%ObsPack_Ival_Center, STAT=RC ) CALL GC_CheckVar( 'State_Diag%ObsPack_Ival_Center', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Diag%ObsPack_Ival_Center => NULL() ENDIF IF ( ASSOCIATED( State_Diag%ObsPack_Ival_End ) ) THEN DEALLOCATE( State_Diag%ObsPack_Ival_End, STAT=RC ) CALL GC_CheckVar( 'State_Diag%ObsPack_Ival_End', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Diag%ObsPack_Ival_End => NULL() ENDIF IF ( ASSOCIATED( State_Diag%ObsPack_U ) ) THEN DEALLOCATE( State_Diag%ObsPack_U, STAT=RC ) CALL GC_CheckVar( 'State_Diag%ObsPack_U', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Diag%ObsPack_U => NULL() ENDIF IF ( ASSOCIATED( State_Diag%ObsPack_V ) ) THEN DEALLOCATE( State_Diag%ObsPack_V, STAT=RC ) CALL GC_CheckVar( 'State_Diag%ObsPack_V', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Diag%ObsPack_V => NULL() ENDIF IF ( ASSOCIATED( State_Diag%ObsPack_BLH ) ) THEN DEALLOCATE( State_Diag%ObsPack_BLH, STAT=RC ) CALL GC_CheckVar( 'State_Diag%ObsPack_BLH', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Diag%ObsPack_BLH => NULL() ENDIF IF ( ASSOCIATED( State_Diag%ObsPack_Q ) ) THEN DEALLOCATE( State_Diag%ObsPack_Q, STAT=RC ) CALL GC_CheckVar( 'State_Diag%ObsPack_Q', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Diag%ObsPack_Q => NULL() ENDIF IF ( ASSOCIATED( State_Diag%ObsPack_P ) ) THEN DEALLOCATE( State_Diag%ObsPack_P, STAT=RC ) CALL GC_CheckVar( 'State_Diag%ObsPack_P', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Diag%ObsPack_P => NULL() ENDIF IF ( ASSOCIATED( State_Diag%ObsPack_T ) ) THEN DEALLOCATE( State_Diag%ObsPack_T, STAT=RC ) CALL GC_CheckVar( 'State_Diag%ObsPack_T', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Diag%ObsPack_T => NULL() ENDIF IF ( ASSOCIATED( State_Diag%ObsPack_Species ) ) THEN DEALLOCATE( State_Diag%ObsPack_Species, STAT=RC ) CALL GC_CheckVar( 'State_Diag%ObsPack_Species', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Diag%ObsPack_Species => NULL() ENDIF END SUBROUTINE ObsPack_Cleanup !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: obspack_write_output ! ! !DESCRIPTION: Subroutine ObsPack\_WRITE\_OUTPUT computes window averages ! and writes data to an output file. !\\ !\\ ! !INTERFACE: ! SUBROUTINE ObsPack_Write_Output( Input_Opt, State_Diag, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE netCDF USE State_Diag_Mod, ONLY : DgnState USE Time_Mod, ONLY : Get_NHMSb USE Time_Mod, ONLY : Get_NHMSe USE Time_Mod, ONLY : Get_NYMDb USE Time_Mod, ONLY : Get_NYMDe USE Time_Mod, ONLY : System_Timestamp USE Time_Mod, ONLY : Ymd_Extract ! NetCDF modules USE m_netcdf_io_define USE m_netcdf_io_create USE m_netcdf_io_write USE m_netcdf_io_close ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostic State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REVISION HISTORY: ! 05 Jun 2015 - A. Jacobson - First version ! 06 Dec 2018 - R. Yantosca - Implemented into the standard GEOS-Chem code ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES ! ! Scalars INTEGER :: fId, nObs, nSpecies INTEGER :: ymd, hms, omode INTEGER :: yr, mo, da INTEGER :: hr, mn, sc INTEGER :: vid, nSamples INTEGER :: N, S INTEGER :: dId_obs, dId_spec INTEGER :: dId_obslen, dId_speclen ! Arrays INTEGER :: st1d(1), ct1d(1), dims_1d(1) INTEGER :: st2d(2), ct2d(2), dims_2d(2) INTEGER, ALLOCATABLE :: aveStart(:) INTEGER, ALLOCATABLE :: aveEnd(:) REAL(f8), ALLOCATABLE :: aveTime(:) ! Pointers REAL(f4), POINTER :: ptr1d(:) ! Strings CHARACTER(LEN=31) :: varName CHARACTER(LEN=255) :: attVal CHARACTER(LEN=255) :: ThisLoc CHARACTER(LEN=512) :: ErrMsg !======================================================================= ! ObsPack_Write_Output begins here! !======================================================================= ! Initialize RC = GC_SUCCESS ErrMsg = '' ThisLoc = ' -> at ObsPack_Write_Output (in module Obspack/obspack_mod.F90)' fId = 0 vId = 0 ptr1d => NULL() ! Exit if no ObsPack observations are found nObs = State_Diag%ObsPack_nObs IF ( nObs == 0 ) RETURN ! Number of species to save out per observation nSpecies = State_Diag%ObsPack_nSpecies !======================================================================= ! Allocate temporary arrays !======================================================================= ! Cast averaging interval start to integer ALLOCATE( aveStart( nObs ), STAT=RC ) CALL GC_CheckVar( 'obspack_mod.F90:aveStart', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN aveStart = State_Diag%ObsPack_Ival_Start ! Cast averaging interval end to integer ALLOCATE( aveEnd( nObs ), STAT=RC ) CALL GC_CheckVar( 'obspack_mod.F90:aveEnd', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN aveEnd = State_Diag%ObsPack_Ival_End ! Compute averaging interval ALLOCATE( aveTime( nObs ), STAT=RC ) CALL GC_CheckVar( 'obspack_mod.F90:aveTime', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN aveTime = State_Diag%ObsPack_Ival_End - State_Diag%ObsPack_Ival_Start !======================================================================= ! Compute averages !======================================================================= !$OMP PARALLEL DO & !$OMP DEFAULT( SHARED ) & !$OMP PRIVATE( N, S, nSamples ) DO N = 1, nObs ! Number of GEOS-Chem samples for each observation nSamples = State_Diag%ObsPack_nSamples(N) ! Compute averages of all GEOS-Chem samples for each observation ! Only compute averages if there are samples IF ( nSamples > 0 ) THEN ! Met field quantities State_Diag%ObsPack_U(N) = State_Diag%ObsPack_U(N) / nSamples State_Diag%ObsPack_V(N) = State_Diag%ObsPack_V(N) / nSamples State_Diag%ObsPack_BLH(N) = State_Diag%ObsPack_BLH(N) / nSamples State_Diag%ObsPack_Q(N) = State_Diag%ObsPack_Q(N) / nSamples State_Diag%ObsPack_T(N) = State_Diag%ObsPack_T(N) / nSamples State_Diag%ObsPack_P(N) = State_Diag%ObsPack_P(N) / nSamples ! Species concentrations DO S = 1, State_Diag%ObsPack_nSpecies State_Diag%ObsPack_Species(N,S) = & State_Diag%ObsPack_Species(N,S) / nSamples ENDDO ENDIF ENDDO !$OMP END PARALLEL DO !======================================================================= ! Open netCDF file for output !======================================================================= ! Print info IF ( Input_Opt%amIRoot ) THEN WRITE( 6, 100 ) TRIM( State_Diag%ObsPack_OutFile ) 100 FORMAT( ' - OBSPACK: Writing file ', a ) ENDIF ! Create netCDF file and save the file ID in State_Diag CALL NcCr_Wr( fId, State_Diag%ObsPack_OutFile, WRITE_NC4=.TRUE. ) State_Diag%ObsPack_fId = fId ! Trap potential errors IF ( State_Diag%ObsPack_fId < 0 ) THEN ErrMsg = 'Invalid netCDF file Id!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Turn filling off CALL NcSetFill( fId, NF90_NOFILL, omode ) !======================================================================= ! Define dimensions of netCDF variables !======================================================================= ! Number of observations varName = 'obs' CALL NcDef_Dimension( fId, TRIM(varName), NF90_UNLIMITED, dId_obs ) ! Number of species varName = 'species' CALL NcDef_Dimension( fId, TRIM(varName), nSpecies, dId_spec ) ! Character length of ObsPack Id strings varName = 'char_len_obs' CALL NcDef_Dimension( fId, TRIM(varName), CHAR_LEN_OBS, dId_obslen ) !======================================================================= ! Set global attributes !======================================================================= ! History attVal = 'GEOS-Chem simulation' CALL NcDef_Glob_Attributes( fId, 'history', TRIM(attVal) ) ! Conventions CALL NcDef_Glob_Attributes( fId, 'conventions', 'CF-1.4' ) ! Reference attVal= 'www.geos-chem.org; wiki.geos-chem.org' CALL NcDef_Glob_Attributes( fId, 'references', TRIM(attVal) ) ! Model start date ymd = GET_NYMDb() hms = GET_NHMSb() CALL Ymd_Extract( ymd, yr, mo, da ) CALL Ymd_Extract( hms, hr, mn, sc ) WRITE( attVal, 150 ) yr, mo, da, hr, mn, sc 150 FORMAT( i4.4,"/",i2.2,"/",i2.2," ",i2.2,":",i2.2,":",i2.2, " UTC" ) CALL NcDef_Glob_Attributes( fId, 'model_start_date', TRIM(attVal) ) ! Model end date ymd = GET_NYMDe() hms = GET_NHMSe() CALL Ymd_Extract( ymd, yr, mo, da ) CALL Ymd_Extract( hms, hr, mn, sc ) WRITE( attVal, 150 ) yr,mo,da,hr,mn,sc CALL NcDef_Glob_Attributes( fId, 'model_end_date', TRIM(attVal) ) !======================================================================= ! Define variables and attributes ! NOTE: Dimension order is row-major (i.e. the reverse of Fortran) !======================================================================= ! Dimension arrays dims_1d = (/ dId_obs /) dims_2d = (/ dId_obslen, dId_obs /) ! ID varName = 'obspack_id' CALL NcDef_Variable ( fId, TRIM(varName), NF90_CHAR, 2, dims_2d, vId) CALL NcDef_Var_Attributes( fId, vId, 'long_name', 'obspack_id' ) CALL NcDef_Var_Attributes( fId, vId, 'units', '1' ) ! # of samples varName = 'nsamples' CALL NcDef_Variable( fId, TRIM(varName), NF90_INT, 1, dims_1d, vId ) attVal = 'no. of model samples' CALL NcDef_Var_Attributes( fId, vId, 'long_name', TRIM(attVal) ) CALL NcDef_Var_Attributes( fId, vId, 'units', '1' ) attVal = 'Number of discrete model samples in average' CALL NcDef_Var_Attributes( fId, vId, 'comment', TRIM(attVal) ) ! Averaging interval varName = 'averaging_interval' CALL NcDef_Variable( fId, TRIM(varName), NF90_INT, 1, dims_1d, vId ) attVal = 'Amount of model time over which this observation is averaged' CALL NcDef_Var_Attributes( fId, vId, 'long_name', TRIM(attVal) ) CALL NcDef_Var_Attributes( fId, vId, 'units', 'seconds' ) ! Averaging interval start time varName = 'averaging_interval_start' CALL NcDef_Variable( fId, TRIM(varName), NF90_INT, 1, dims_1d, vId ) attVal = 'Start of averaging interval' CALL NcDef_Var_Attributes( fId, vId, 'long_name', TRIM(attVal) ) attVal = 'seconds since 1970-01-01 00:00:00 UTC' CALL NcDef_Var_Attributes( fId, vId, 'units', TRIM(attVal) ) CALL NcDef_Var_Attributes( fId, vId, 'calendar', 'standard' ) ! Averaging interval end time varName = 'averaging_interval_end' CALL NcDef_Variable( fId, TRIM(varName), NF90_INT, 1, dims_1d, vId ) attVal = 'End of averaging interval' CALL NcDef_Var_Attributes( fId, vId, 'long_name', TRIM(attVal) ) attVal = 'seconds since 1970-01-01 00:00:00 UTC' CALL NcDef_Var_Attributes( fId, vId, 'units', TRIM(attVal) ) CALL NcDef_Var_Attributes( fId, vId, 'calendar', 'standard' ) ! Longitude CALL NcDef_Variable( fId, 'lon', NF90_FLOAT, 1, dims_1d, vId ) CALL NcDef_Var_Attributes( fId, vId, 'long_name', 'longitude' ) CALL NcDef_Var_Attributes( fId, vId, 'units', 'degrees_east' ) ! Latitude CALL NcDef_Variable( fId, 'lat', NF90_FLOAT, 1, dims_1d, vId ) CALL NcDef_Var_Attributes( fId, vId, 'long_name', 'latitude' ) CALL NcDef_Var_Attributes( fId, vId, 'units', 'degrees_north' ) ! ! Altitude ! CALL NcDef_Variable( fId, 'height', NF90_FLOAT, 1, dims_1d, vId ) ! CALL NcDef_Var_Attributes( fId, vId, 'long_name', 'longitude' ) ! CALL NcDef_Var_Attributes( fId, vId, 'units', 'degrees_east' ) ! U-wind CALL NcDef_Variable( fId, 'u', NF90_FLOAT, 1, dims_1d, vId ) attVal = 'Zonal component of wind' CALL NcDef_Var_Attributes( fId, vId, 'long_name', TRIM(attVal) ) CALL NcDef_Var_Attributes( fId, vId, 'units', 'm s^-1' ) ! V-wind CALL NcDef_Variable( fId, 'v', NF90_FLOAT, 1, dims_1d, vId ) attVal = 'Meridional component of wind' CALL NcDef_Var_Attributes( fId, vId, 'long_name', TRIM(attVal) ) CALL NcDef_Var_Attributes( fId, vId, 'units', 'm s^-1' ) ! Boundary layer height CALL NcDef_Variable( fId, 'blh', NF90_FLOAT, 1, dims_1d, vId ) attVal = 'Boundary layer height' CALL NcDef_Var_Attributes( fId, vId, 'long_name', TRIM(attVal) ) CALL NcDef_Var_Attributes( fId, vId, 'units', 'm' ) ! Specific humidity CALL NcDef_Variable( fId, 'q', NF90_FLOAT, 1, dims_1d, vId ) attVal = 'mass_fraction_of_water_inair' CALL NcDef_Var_Attributes( fId, vId, 'long_name', TRIM(attVal) ) attVal = 'g water (kg air)^-1' CALL NcDef_Var_Attributes( fId, vId, 'units', TRIM(attVal) ) ! Pressure CALL NcDef_Variable( fId, 'pressure', NF90_FLOAT, 1, dims_1d, vId ) CALL NcDef_Var_Attributes( fId, vId, 'long_name', 'pressure' ) CALL NcDef_Var_Attributes( fId, vId, 'units', 'hPa' ) ! Temperature CALL NcDef_Variable( fId, 'temperature', NF90_FLOAT, 1, dims_1d, vId ) CALL NcDef_Var_Attributes( fId, vId, 'long_name', 'temperature' ) CALL NcDef_Var_Attributes( fId, vId, 'units', 'K' ) ! Species concentration DO S = 1, State_Diag%ObsPack_nSpecies varName = State_Diag%ObsPack_Species_Name(S) attVal = State_Diag%ObsPack_Species_LName(S) CALL NcDef_Variable( fId, TRIM(varName), NF90_FLOAT, 1, dims_1d, vId ) CALL NcDef_Var_Attributes( fId, vId, 'long_name', TRIM(attVal) ) CALL NcDef_Var_Attributes( fId, vId, 'units', 'mol mol-1' ) CALL NcDef_Var_Attributes( fId, vId, '_FillValue', -1e34 ) ENDDO ! End the definition section CALL NcEnd_def( fId ) !======================================================================= ! Write variables to disk ! NOTE: Dimension order is row-major (i.e. the reverse of Fortran) !======================================================================= !--------------------------------------- ! Write 2-D variables !--------------------------------------- st2d = (/ 1, 1 /) ct2d = (/ CHAR_LEN_OBS, nObs /) varName = 'obspack_id' CALL NcWr(State_Diag%ObsPack_CharArray, fId, TRIM(varName), st2d, ct2d ) !--------------------------------------- ! Write 1-D variables !--------------------------------------- st1d = (/ 1 /) ct1d = (/ nObs /) varName = 'nsamples' CALL NcWr( State_Diag%ObsPack_nSamples, fId, TRIM(varName), st1d, ct1d ) varname = 'averaging_interval' CALL NcWr( aveTime, fId, TRIM(varName), st1d, ct1d ) varname = 'averaging_interval_start' CALL NcWr( aveStart, fId, TRIM(varName), st1d, ct1d ) varname = 'averaging_interval_end' CALL NcWr( aveEnd, fId, TRIM(varName), st1d, ct1d ) varName = 'lon' CALL NcWr( State_Diag%ObsPack_Longitude,fId, TRIM(varName), st1d, ct1d ) varName = 'lat' CALL NcWr( State_Diag%ObsPack_Latitude, fId, TRIM(varName), st1d, ct1d ) varName = 'u' CALL NcWr( State_Diag%ObsPack_U, fId, TRIM(varName), st1d, ct1d ) varName = 'v' CALL NcWr( State_Diag%ObsPack_V, fId, TRIM(varName), st1d, ct1d ) varName = 'blh' CALL NcWr( State_Diag%ObsPack_BLH, fId, TRIM(varName), st1d, ct1d ) varName = 'q' CALL NcWr( State_Diag%ObsPack_Q, fId, TRIM(varName), st1d, ct1d ) varName = 'pressure' CALL NcWr( State_Diag%ObsPack_P, fId, TRIM(varName), st1d, ct1d ) varName = 'temperature' CALL NcWr( State_Diag%ObsPack_T, fId, TRIM(varName), st1d, ct1d ) !--------------------------------------- ! Write species concentrations !--------------------------------------- DO S = 1, State_Diag%ObsPack_nSpecies varName = State_Diag%ObsPack_Species_Name(S) ptr1d => State_Diag%ObsPack_Species(:,S) CALL NcWr( ptr1d, fId, TRIM(varName), st1d, ct1d ) ptr1d => NULL() ENDDO ! Close the netCDF file CALL NcCl( fId ) !======================================================================= ! Cleanup and quit !======================================================================= IF ( ALLOCATED( aveStart ) ) THEN DEALLOCATE( aveStart, STAT=RC ) CALL GC_CheckVar( 'obspack_mod.F90:aveStart', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( aveEnd ) ) THEN DEALLOCATE( aveEnd, STAT=RC ) CALL GC_CheckVar( 'obspack_mod.F90:aveEnd', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF IF ( ALLOCATED( aveTime ) ) THEN DEALLOCATE( aveTime, STAT=RC ) CALL GC_CheckVar( 'obspack_mod.F90:aveTime', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN ENDIF CALL ObsPack_Cleanup( Input_Opt, State_Diag, RC ) IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "ObsPack_Cleanup!"' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF END SUBROUTINE ObsPack_Write_Output !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ObsPack_Sample ! ! !DESCRIPTION: Subroutine ObsPack\_Sample performs the model sampling ! and saves concentrations to locations corresponding to a flight track. !\\ !\\ ! !INTERFACE: ! SUBROUTINE ObsPack_Sample( yyyymmdd, hhmmss, Input_Opt, State_Chm, & State_Diag, State_Grid, State_Met, RC ) ! ! !USES: ! USE ErrCode_Mod USE Error_Mod, ONLY : Debug_Msg USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState USE Time_Mod, ONLY : Ymd_Extract USE Timers_Mod, ONLY : Timer_End, Timer_Start USE UnitConv_Mod, ONLY : Check_Units, MOLES_SPECIES_PER_MOLES_DRY_AIR ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: yyyymmdd ! Current date INTEGER, INTENT(IN) :: hhmmss ! Current time TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 08 Jun 2015 - A. Jacobson, A. Schuh - imported from Andrew Schuh's ! ct_mod.F, itself modified from ! planeflight_mod.F ! 03 Mar 2017 - A. Jacobson - Update to v11 (get species in "v/v dry") ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: doSample, endOfDay LOGICAL :: prtLog, validObs INTEGER :: I, J, L INTEGER :: N, R, S INTEGER :: Yr, Mo, Da INTEGER :: Hr, Mn, Sc REAL(f8) :: HalfTsDyn, Interval, Tomorrow REAL(f8) :: TsStart, TsDyn, TsEnd REAL(f8) :: TsEndPlusTsDyn ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc !======================================================================== ! ObsPack_Sample begins here !======================================================================== ! Initialize RC = GC_SUCCESS TsDyn = DBLE( Input_Opt%TS_DYN ) HalfTsDyn = tsDyn * 0.5_f8 ErrMsg = '' ThisLoc = ' -> at ObsPack_Sample (in module ObsPack/obspack_mod.F90)' prtLog = (Input_Opt%amIRoot .and. ( .not. Input_Opt%ObsPack_Quiet ) ) ! Return if ObsPack sampling is turned off (perhaps ! because there are no data at this time). IF ( .not. State_Diag%Do_ObsPack ) RETURN !======================================================================== ! Unit conversion !======================================================================== ! Halt diags timer (so that unit conv can be timed separately) IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "Diagnostics", RC ) ENDIF ! Verify that incoming State_Chm%Species units are mol/mol dry air. IF ( .not. Check_Units( State_Chm, MOLES_SPECIES_PER_MOLES_DRY_AIR ) ) THEN ErrMsg = 'Not all species are in "mol/mol dry" units!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Start diags timer again IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "Diagnostics", RC ) ENDIF !======================================================================== ! Sample the GEOS-Chem data corresponding to this location & time !======================================================================== ! Extract date and time into components CALL Ymd_Extract( yyyymmdd, Yr, Mo, Da ) CALL Ymd_Extract( hhmmss, Hr, Mn, Sc ) ! Compute elapsed seconds since 1970 at model date/time TsEnd = Seconds_Since_1970( Yr, Mo, Da, Hr, Mn, Sc ) TsStart = TsEnd - TsDyn TsEndPlusTsDyn = TsEnd + TsDyn ! Compute elapsed seconds since 1970 at the start of the next day Tomorrow = Seconds_Since_1970( Yr, Mo, Da, 0, 0, 0 ) + 86400.0_f8 ! Are we within 1 model timestep of the next model day? endOfDay = ( ( Tomorrow - TsEnd ) <= TsDyn ) ! Logfile header IF ( prtLog ) THEN WRITE( 6, '(/,a)' ) REPEAT( '=', 79 ) WRITE( 6, 100 ) Yr, Mo, Da, Hr, Mn, Sc 100 FORMAT( 'OBSPACK SAMPLING at ', i4, '/', i2.2, '/', i2.2, & ' ', i2.2, ':', i2.2, ':', i2.2 ) WRITE( 6, '(/,a)' ) ' Obs # ID string' WRITE( 6, '(a)' ) '------ -----------------' ENDIF ! Loop over observations DO N = 1, State_Diag%ObsPack_nObs !initializing flag for whether sampling should occur at this timestep doSample = .FALSE. validObs = .TRUE. SELECT CASE( State_Diag%ObsPack_Strategy(N) ) !------------------------------------------------------------------- ! Skip observation if the sampling strategy says to do so !------------------------------------------------------------------- CASE( 0 ) CYCLE !------------------------------------------------------------------ ! Time-averaging sampling strategies: ! 1: 4-hour averaging window ! 2: 1-hour averaging window ! 3: 90-min averaging window !------------------------------------------------------------------ CASE( 1:3 ) ! If the averaging window completely covers the dynamic ! timestep, then take the sample IF ( State_Diag%ObsPack_Ival_Start(N) <= TsStart .and. & State_Diag%ObsPack_Ival_End(N) >= TsEnd ) THEN doSample = .TRUE. ! If the averaging window spans past the end of the UTC date. ! take the sample but truncate the averaging interval accordingly ELSE IF ( State_Diag%ObsPack_Ival_Start(N) > TsStart .and. & State_Diag%ObsPack_Ival_End(N) > TsEnd .and. & MOD( TsEndPlusTsDyn, 86400.0_fp ) == 0 ) THEN doSample = .TRUE. State_Diag%ObsPack_Ival_End(N) = TsEndPlusTsDyn ENDIF !------------------------------------------------------------------ ! Instantaneous sampling strategies ! 4: Choose the closest timestep !------------------------------------------------------------------ CASE( 4 ) ! Take the sample if it lies within 1/2 of a model dynamic ! timestep on either side of the current model time Interval = TsEnd - State_Diag%ObsPack_Ival_Center(N) doSample = ( -Interval <= HalfTsDyn .and. Interval < HalfTsDyn ) ! EDGE CASE: If we are on the last timestep before the end ! of the model day, then also include data points that lie ! within 1/2 model timestep of the end of the model day. IF ( endOfDay .and. .not. doSample ) THEN Interval = Tomorrow - State_Diag%ObsPack_Ival_Center(N) doSample = ( Interval <= HalfTsDyn ) ENDIF CASE DEFAULT ErrMsg = & "Sample Strategy not implemented in ObsPack_Sample Subroutine" CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN END SELECT !--------------------------------------------------------------------- ! If sampling strategy time-step conditions are met, ! sample at these times !--------------------------------------------------------------------- IF ( doSample ) THEN ! Return grid box indices for the chemistry region CALL ObsPack_Get_Indices( N, State_Diag, State_Grid, & State_Met, I, J, & L, validObs, RC ) ! Trap potential errors IF ( RC /= GC_SUCCESS ) THEN ErrMsg = 'Error encountered in "ObsPack_Get_Indices"!' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! If the observation location is not valid (i.e. if it is outside ! of a nested-grid domain) then go to the next observation IF ( .not. validObs ) THEN doSample = .FALSE. CYCLE ENDIF ! Print the observations that are sampled here (valid obs only) IF ( prtLog ) THEN WRITE( 6, '(i6,1x,a)' ) N, TRIM( State_Diag%ObsPack_Id(N) ) ENDIF !------------------------ ! Update sample counter !------------------------ State_Diag%ObsPack_nSamples(N) = State_Diag%ObsPack_nSamples(N) + 1 !------------------------ ! Archive species !------------------------ ! Loop over the # of requested species DO R = 1, State_Diag%ObsPack_nSpecies ! Get the proper index for State_Chm%Species S = State_Diag%ObsPack_Species_Ind(R) ! Add the species concentration State_Diag%ObsPack_Species(N,R) = & State_Diag%ObsPack_Species(N,R) + State_Chm%Species(S)%Conc(I,J,L) ENDDO !----------------------- ! Archive met fields !----------------------- State_Diag%ObsPack_U(N) = State_Diag%ObsPack_U(N) & + State_Met%U(I,J,L) State_Diag%ObsPack_V(N) = State_Diag%ObsPack_V(N) & + State_Met%V(I,J,L) State_Diag%ObsPack_BLH(N) = State_Diag%ObsPack_BLH(N) & + State_Met%PBLH(I,J) State_Diag%ObsPack_Q(N) = State_Diag%ObsPack_Q(N) & + State_Met%SPHU(I,J,L) State_Diag%ObsPack_P(N) = State_Diag%ObsPack_P(N) & + State_Met%PMID(I,J,L) State_Diag%ObsPack_T(N) = State_Diag%ObsPack_T(N) & + State_Met%T(I,J,L) ENDIF ENDDO ! Logfile footer IF ( prtLog ) THEN WRITE( 6, '(a,/)' ) REPEAT( '=', 79 ) ENDIF !======================================================================== ! Cleanup and quit !======================================================================== ! Halt diags timer (so that unit conv can be timed separately) IF ( Input_Opt%useTimers ) THEN CALL Timer_End( "Diagnostics", RC ) ENDIF ! Start diags timer again IF ( Input_Opt%useTimers ) THEN CALL Timer_Start( "Diagnostics", RC ) ENDIF END SUBROUTINE ObsPack_Sample !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ObsPack_Get_Grid_Indices ! ! !DESCRIPTION: Subroutine ObsPack\_GET\_GRID\_INDICES returns the ! grid box indices (I, J, L) corresponding to the input point ! defined by longitude, latitude, altitude. !\\ !\\ ! !INTERFACE: ! SUBROUTINE ObsPack_Get_Indices( iObs, State_Diag, State_Grid, & State_Met, I, J, & L, validObs, RC ) ! ! !USES: ! USE ErrCode_Mod USE State_Diag_Mod, ONLY : DgnState USE State_Grid_Mod, ONLY : GrdState USE State_Met_Mod, ONLY : MetState ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: iObs ! ObsPack Observation number TYPE(DgnState), INTENT(IN) :: State_Diag ! Diagnostics State object TYPE(GrdState), INTENT(IN) :: State_Grid ! Grid State object TYPE(MetState), INTENT(IN) :: State_Met ! Meteorology State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: I, J, L ! Lon, lat, level indices LOGICAL, INTENT(OUT) :: validObs ! Is obs inside model grid? INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! ! !REVISION HISTORY: ! 5 Jun 2015 - A. Jacobson - First version ! 3 Mar 2017 - A. Jacobson - Update to v11 (use State_Met%BXHEIGHT instead of my own hypsometry) ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars INTEGER :: idx, I0, J0 REAL(f8) :: Z ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc !======================================================================== ! ObsPack_Get_Indices begins here! !======================================================================== ! Initialize RC = GC_SUCCESS validObs = .TRUE. ErrMsg = '' ThisLoc = ' -> at ObsPack_Get_Indices (in module ObsPack/obspack_mod.F90' !------------------------------------------------------------------------ ! Exit with error if the observations have invalid lon/lat/alt values !------------------------------------------------------------------------ IF ( State_Diag%ObsPack_Longitude(iObs) < -180.0_f8 .or. & State_Diag%ObsPack_Longitude(iObs) > 180.0_f8 .or. & State_Diag%ObsPack_Latitude(iObs) < -90.0_f8 .or. & State_Diag%ObsPack_Latitude(iObs) > 90.0_f8 .or. & State_Diag%ObsPack_Altitude(iObs) < -1000.0_f8 .or. & State_Diag%ObsPack_Altitude(iObs) > 200000.0_f8 ) THEN ! Print error message and exit I = -1 J = -1 L = -1 CALL GC_Error( ErrMsg, Rc, ThisLoc ) RETURN ENDIF !------------------------------------------------------------------------ ! For nested grids, make sure the observation lies within the grid ! domain. Otherwise this will result in an out-of-bounds error. !------------------------------------------------------------------------ IF ( State_Grid%NestedGrid ) THEN IF ( State_Diag%ObsPack_Longitude(iObs) < State_Grid%XMin .or. & State_Diag%ObsPack_Longitude(iObs) > State_Grid%XMax .or. & State_Diag%ObsPack_Latitude(iObs) < State_Grid%YMin .or. & State_Diag%ObsPack_Latitude(iObs) > State_Grid%YMax ) THEN validObs = .FALSE. RETURN ENDIF ENDIF ! Added correct definitions for I and J based on nested regions ! (lds, 8/25/11) I0 = State_Grid%XMinOffset J0 = State_Grid%YMinOffset !------------------------------------------------------------------------ ! Find I corresponding to the ObsPack longitude value !------------------------------------------------------------------------ I = INT( ( State_Diag%ObsPack_Longitude(iObs) + 180.0_f8 & - ( I0 * State_Grid%DX ) ) & / State_Grid%DX + 1.5d0 ) ! Handle date line correctly (bmy, 4/23/04) IF ( I > State_Grid%NX ) I = I - State_Grid%NX !------------------------------------------------------------------------ ! Find J corresponding to the ObsPack latitude value !------------------------------------------------------------------------ J = INT( ( State_Diag%ObsPack_Latitude(iObs) + 90.0_f8 & - ( J0 * State_Grid%DY ) ) & / State_Grid%DY + 1.5d0 ) !------------------------------------------------------------------------ ! Find L corresponding to the ObsPack altitude value ! ObsPack altitude variable defined as MASL, so Z ! starts at surface height !------------------------------------------------------------------------ Z = State_Met%PHIS(I,J) ! units [m] DO L = 1, State_Grid%NZ Z = Z + State_Met%BXHEIGHT(I,J,L) IF ( Z >= State_Diag%ObsPack_Altitude(iObs) ) RETURN ENDDO !======================================================================== ! Issue error message if we get here. !======================================================================== !WRITE (6,*) 'At I,J =',i,j !FLUSH(6) Z = State_Met%PHIS(I,J) ! units [m] DO L = 1,State_Grid%NZ Z = Z + State_Met%BXHEIGHT(I,J,L) WRITE (6,*) L,' bxheight and z:', State_Met%BXHEIGHT(I,J,L), Z ENDDO WRITE( ErrMsg, 100 ) State_Diag%ObsPack_Altitude(iObs), Z, & State_Diag%ObsPack_Latitude(iObs), & State_Diag%ObsPack_Longitude 100 FORMAT( "Altitude ", f11.4, "m exceeds TOA of ", f11.4, & "m at ", f11.4, "N,", f11.4, "E" ) CALL GC_Error( ErrMsg, RC, ThisLoc ) END SUBROUTINE ObsPack_Get_Indices !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: Seconds_Since_1970 ! ! !DESCRIPTION: Computes the seconds that have elapsed since 1970/01/01 ! at 00:00 UTC. !\\ !\\ ! !INTERFACE: ! FUNCTION Seconds_Since_1970( Year, Month, Day, & Hour, Minute, Second ) RESULT( Elapsed_Sec ) ! ! !USES: ! USE Julday_Mod, ONLY : Julday ! ! !INPUT PARAMETERS: ! INTEGER, INTENT(IN) :: Year, Month, Day ! Current date INTEGER, INTENT(IN) :: Hour, Minute, Second ! Current time ! ! !RETURN VALUE: ! REAL(f8) :: Elapsed_Sec ! Elapsed seconds since ! 1970/01/01 00:00 UTC ! ! !REMARKS: ! ! !REVISION HISTORY: ! 06 Dec 2018 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars REAL(f8) :: FracDay, Jsec !======================================================================= ! Seconds_Since_1970 begins here! !======================================================================= ! Compute the fractional day FracDay = DBLE( Day ) + ( DBLE( Hour ) / 24.0_f8 ) + & ( DBLE( Minute ) / 1440.0_f8 ) + & ( DBLE( Second ) / 86400.0_f8 ) ! Compute the Astronomical Julian Date (in decimal days) ! and then convert the result to seconds. JSec = JulDay( Year, Month, FracDay ) * 86400.0_f8 ! Compute the Elapsed seconds since 1970/01/01 by subtracting the ! Astronomical Julian Date at 1970/01/01 00:00 UTC converted to seconds. ! Just keep the integer part, since we are dealing in integral seconds. ! NINT ensures that we round up in case there is underflow. Elapsed_Sec = NINT( JSec - 210866760000.0_f8 ) END FUNCTION Seconds_Since_1970 !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ObsPack_SpeciesMap_Init ! ! !DESCRIPTION: Gets the index, name, and long name for each requested ! ObsPack species from the GEOS-Chem Species Database. !\\ !\\ ! !INTERFACE: ! SUBROUTINE ObsPack_SpeciesMap_Init( Input_Opt, State_Chm, State_Diag, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE Species_Mod, ONLY : Species USE State_Chm_Mod, ONLY : ChmState, Ind_ USE State_Diag_Mod, ONLY : DgnState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(ChmState), INTENT(INOUT) :: State_Chm ! Chemistry State object TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! This routine can be called at the model initialization stage. ! (unlike ObsPack_Init, which is called every time a new input file is read). ! ! !REVISION HISTORY: ! 04 Jan 2019 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! ! Scalars LOGICAL :: WildCard INTEGER :: N, nSpc, R ! Strings CHARACTER(LEN=255) :: ErrMsg, ThisLoc, SpcName ! Objects TYPE(Species), POINTER :: ThisSpc !======================================================================= ! ObsPack_SpeciesMap_Innit begins here! !======================================================================= ! Initialize RC = GC_SUCCESS ErrMsg ='' ThisLoc = & ' -> at ObsPack_SpeciesMap_Init (in module Obspack/obspack_mod.F90)' !======================================================================= ! Allocate appropriate fields of State_Diag !======================================================================= ! Number of species that will be saved to ObsPack output ! (accounting for any wildcards) IF ( TRIM( Input_Opt%ObsPack_SpcName(1) ) == '?ADV?' ) THEN State_Diag%ObsPack_nSpecies = State_Chm%nAdvect WildCard = .TRUE. ELSE State_Diag%ObsPack_nSpecies = Input_Opt%ObsPack_nSpc WildCard = .FALSE. ENDIF ! Save in a shadow variable nSpc = State_Diag%ObsPack_nSpecies ! Trap potential errors IF ( nSpc < 1 ) THEN ErrMsg = 'OBSPACK: No valid species found! Exiting...' CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! ObsPack species index ALLOCATE( State_Diag%ObsPack_Species_Ind( nSpc ), STAT=RC ) CALL GC_CheckVar( 'State_Diag%ObsPack_Species_Ind', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Diag%ObsPack_Species_Ind = 0 ! ObsPack species name ALLOCATE( State_Diag%ObsPack_Species_Name( nSpc ), STAT=RC ) CALL GC_CheckVar( 'State_Diag%ObsPack_Species_Name', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Diag%ObsPack_Species_Name = '' ! ObsPack species long-name ALLOCATE( State_Diag%ObsPack_Species_LName( nSpc ), STAT=RC ) CALL GC_CheckVar( 'State_Diag%ObsPack_Species_LName', 0, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Diag%ObsPack_Species_LName = '' !======================================================================= ! Map species: for each ObsPack requested species, find the ! corresponding entry in the GEOS-Chem Species Database. !======================================================================= IF ( WildCard ) THEN !-------------------------------------------------------------- ! Take all advected species if the ?ADV? wildcard is found !-------------------------------------------------------------- ! Loop over all advected species DO R = 1, State_Chm%nAdvect ! Get the overall species index N = State_Chm%Map_Advect(R) ! Point to the relevant entry in the species database ThisSpc => State_Chm%SpcData(N)%Info ! Save metadata from species database to ObsPack arrays State_Diag%ObsPack_Species_Ind(R) = N State_Diag%ObsPack_Species_Name(R) = TRIM( ThisSpc%Name ) State_Diag%ObsPack_Species_LName(R) = TRIM( ThisSpc%FullName ) ! Free pointer ThisSpc => NULL() ENDDO ELSE !-------------------------------------------------------------- ! Otherwise look up individual species names !-------------------------------------------------------------- DO R = 1, State_Diag%ObsPack_nSpecies ! Get the species index N = Ind_( Input_Opt%ObsPack_SpcName(R) ) ! If the species isn't found, exit with error IF ( N < 0 ) THEN ErrMsg = 'Could not find species database info for the ' // & 'ObsPack requested species: ' // & TRIM( Input_Opt%ObsPack_SpcName(R) ) CALL GC_Error( ErrMsg, RC, ThisLoc ) RETURN ENDIF ! Point to the relevant entry in the species database ThisSpc => State_Chm%SpcData(N)%Info ! Save metadata from species database to ObsPack arrays State_Diag%ObsPack_Species_Ind(R) = N State_Diag%ObsPack_Species_Name(R) = TRIM( ThisSpc%Name ) State_Diag%ObsPack_Species_LName(R) = TRIM( ThisSpc%FullName ) ! Free pointer ThisSpc => NULL() ENDDO ENDIF !======================================================================= ! Print output of Obspack requested species names !======================================================================= IF ( Input_Opt%amIRoot .and. ( .not. Input_Opt%ObsPack_Quiet ) ) THEN ! Header WRITE( 6, '(/,a)' ) REPEAT( '=', 79 ) WRITE( 6, '(a,/)' ) 'OBSPACK: Species that will be saved as output' WRITE( 6, 100 ) WRITE( 6, 110 ) ! Species info DO R = 1, State_Diag%ObsPack_nSpecies WRITE( 6, 120 ) State_Diag%ObsPack_Species_Ind(R), & State_Diag%ObsPack_Species_Name(R)(1:31), & State_Diag%ObsPack_Species_Lname(R)(1:45) ENDDO ! FORMAT statements 100 FORMAT( ' Index Name', 29x, 'Long name' ) 110 FORMAT( '------ ----', 29x, '---------' ) 120 FORMAT( i6, 2x, a31, 2x, a40 ) ! Footer WRITE( 6, '(a,/)' ) REPEAT( '=', 79 ) ENDIF END SUBROUTINE ObsPack_SpeciesMap_Init !EOC !------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: ObsPack_SpeciesMap_Cleanup ! ! !DESCRIPTION: Deallocates and frees fields of State\_Diag that are ! relevant to the ObsPack species mapping. !\\ !\\ ! !INTERFACE: ! SUBROUTINE ObsPack_SpeciesMap_Cleanup( Input_Opt, State_Diag, RC ) ! ! !USES: ! USE ErrCode_Mod USE Input_Opt_Mod, ONLY : OptInput USE State_Chm_Mod, ONLY : ChmState USE State_Diag_Mod, ONLY : DgnState ! ! !INPUT PARAMETERS: ! TYPE(OptInput), INTENT(IN) :: Input_Opt ! Input Options object ! ! !INPUT/OUTPUT PARAMETERS: ! TYPE(DgnState), INTENT(INOUT) :: State_Diag ! Diagnostics State object ! ! !OUTPUT PARAMETERS: ! INTEGER, INTENT(OUT) :: RC ! Success or failure? ! ! !REMARKS: ! This routine can be called at the overall model finalization stage ! (unlike ObsPack_Cleanup, which is called every time a file is written). ! ! !REVISION HISTORY: ! 04 Jan 2019 - R. Yantosca - Initial version ! See https://github.com/geoschem/geos-chem for complete history !EOP !------------------------------------------------------------------------------ !BOC !======================================================================= ! ObsPack_SpeciesMap_Cleanup begins here! !======================================================================= ! Assume success RC = GC_SUCCESS ! Deallocate arrays IF ( ASSOCIATED( State_Diag%ObsPack_Species_Ind ) ) THEN DEALLOCATE( State_Diag%ObsPack_Species_Ind, STAT=RC ) CALL GC_CheckVar( 'State_Diag%ObsPack_Species_Ind', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Diag%ObsPack_Species_Ind => NULL() ENDIF IF ( ASSOCIATED( State_Diag%ObsPack_Species_Name ) ) THEN DEALLOCATE( State_Diag%ObsPack_Species_Name, STAT=RC ) CALL GC_CheckVar( 'State_Diag%ObsPack_Species_Name', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Diag%ObsPack_Species_Name => NULL() ENDIF IF ( ASSOCIATED( State_Diag%ObsPack_Species_Lname ) ) THEN DEALLOCATE( State_Diag%ObsPack_Species_LName, STAT=RC ) CALL GC_CheckVar( 'State_Diag%ObsPack_Species_LName', 2, RC ) IF ( RC /= GC_SUCCESS ) RETURN State_Diag%ObsPack_Species_Name => NULL() ENDIF END SUBROUTINE ObsPack_SpeciesMap_Cleanup !EOC END MODULE ObsPack_Mod ================================================ FILE: PKUCPL/.gitignore ================================================ *.[oax] *.mod *.MOD *~* geos geostomas geosapm *.pp.* *.pdb *.inst.* *.continue.* *.ppk core.* ================================================ FILE: PKUCPL/PKUCPL.F90 ================================================ PROGRAM MAIN !------------------------------------------------------------------------------- ! PKUCPL.f95 provides utility to interrupt the normal DO-Loop of main.f ! and wait for a dispatcher to coordinate runs. (yanyy,6/18/14) !------------------------------------------------------------------------------- !Define variables IMPLICIT NONE CHARACTER*8 :: strarg CHARACTER :: arg INTEGER :: narg, iarg REAL*8 :: interval=0.5 INTEGER,EXTERNAL :: ifsleep, ifnotend INTEGER,EXTERNAL :: ifsleeps, ifnotends LOGICAL :: ifdone=.FALSE., ifnest(3)=.FALSE. CHARACTER*400 :: command,sed,combash CHARACTER*400 :: rundir,lockdir,codedir,pkucpl CALL getarg(2,codedir) CALL getarg(3,rundir) pkucpl = TRIM(codedir) // "PKUCPL/PKUCPL.sh" lockdir = TRIM(rundir) // "lock/" sed="sed '7c rundir='" CALL getarg(1,strarg) narg=LEN_TRIM(ADJUSTL(strarg)) DO iarg=1,narg arg=strarg(iarg:iarg) SELECT CASE(arg) CASE("c") ifnest(1)=.true. CASE("n") ifnest(2)=.true. CASE("e") ifnest(3)=.true. CASE DEFAULT END SELECT ENDDO WRITE(combash,'(A,A)') TRIM(sed) // TRIM(rundir) // TRIM('' ) // TRIM(pkucpl) CALL SYSTEM(combash) WRITE(command,'(A,A)') TRIM(pkucpl) // " -",TRIM(ADJUSTL(strarg)) CALL SYSTEM(command) DO WHILE( ifnotends(ifnest,lockdir) == 1 ) DO WHILE( ifsleeps(ifnest,lockdir) == 1 & .AND. ifnotends(ifnest,lockdir) == 1 ) CALL SLEEP(interval) ENDDO PRINT *,"Get done signal-----------" PRINT *,"------------------Let GEOS-Chem go--------------" CALL TOUCH_RM(ifnest) ENDDO PRINT *,"Congratulation! The simulations is complete----------" CALL SYSTEM("date") !------------------------------------------------------------------------ ! Begin Subroutine Here !------------------------------------------------------------------------ CONTAINS SUBROUTINE TOUCH_RM(ifnest) IMPLICIT NONE LOGICAL, INTENT(IN) :: ifnest(3) CALL SYSTEM("rm " // TRIM(lockdir) // "done*done") CALL SYSTEM("touch " // TRIM(lockdir) // "key.GLOBAL.key") IF (ifnest(1)) THEN CALL SYSTEM("touch " // TRIM(lockdir) // "key.NESTED_CH.key") END IF IF (ifnest(2)) THEN CALL SYSTEM("touch " // TRIM(lockdir) // "key.NESTED_NA.key") END IF IF (ifnest(3)) THEN CALL SYSTEM("touch " // TRIM(lockdir) // "key.NESTED_EU.key") ENDIF END SUBROUTINE TOUCH_RM ! End Subtouine Touch_rm !----------------------------------------------------------------------- END PROGRAM MAIN ! End Program Main !----------------------------------------------------------------------- !----------------------------------------------------------------------- ! Begin Funtion Here !----------------------------------------------------------------------- FUNCTION ifsleeps(ifnest,lockdir) RESULT(ifsleep) IMPLICIT NONE LOGICAL, INTENT(IN) :: ifnest(3) INTEGER :: ifsleep LOGICAL :: done_global=.FALSE. LOGICAL :: done_nest(3)=.FALSE.,ifdone=.FALSE. CHARACTER*200 :: lockdir, done(4) done(1) = trim(lockdir) // "done.GLOBAL.done" done(2) = trim(lockdir) // "done.NESTED_CH.done" done(3) = trim(lockdir) // "done.NESTED_NA.done" done(4) = trim(lockdir) // "done.NESTED_EU.done" INQUIRE( FILE=TRIM(done(1)),EXIST=done_global ) INQUIRE( FILE=TRIM(done(2)),EXIST=done_nest(1) ) INQUIRE( FILE=TRIM(done(3)),EXIST=done_nest(2) ) INQUIRE( FILE=TRIM(done(4)),EXIST=done_nest(3) ) ifdone=done_global .AND. (ifnest(1) .EQV. done_nest(1)) .AND. & (ifnest(2) .EQV. done_nest(2)) .AND. & (ifnest(3) .EQV. done_nest(3)) IF (ifdone) THEN ifsleep= 0 ELSE ifsleep= 1 END IF RETURN END FUNCTION ifsleeps !---------------------------------------------------------------------- FUNCTION ifnotends(ifnest,lockdir) RESULT(ifnotend) IMPLICIT NONE LOGICAL, INTENT(IN) :: ifnest(3) LOGICAL :: ifend=.false. INTEGER :: ifnotend LOGICAL :: check(3)=.false.,end_global=.false. CHARACTER*200 :: lockdir, endrun(4) endrun(1) = trim(lockdir) // "end.GLOBAL.end" endrun(2) = trim(lockdir) // "end.NESTED_CH.end" endrun(3) = trim(lockdir) // "end.NESTED_NA.end" endrun(4) = trim(lockdir) // "end.NESTED_EU.end" INQUIRE( FILE=TRIM(endrun(1)),EXIST=end_global ) INQUIRE( FILE=TRIM(endrun(2)),EXIST=check(1) ) INQUIRE( FILE=TRIM(endrun(3)),EXIST=check(2) ) INQUIRE( FILE=TRIM(endrun(4)),EXIST=check(3) ) ifend=end_global .AND. (ifnest(1) .EQV. check(1)) .AND. & (ifnest(2) .EQV. check(2)) .AND. & (ifnest(3) .EQV. check(3)) IF (ifend) THEN ifnotend = 0 ELSE ifnotend = 1 ENDIF RETURN END FUNCTION ifnotends !------------------------------------------------------------------------- ! End Function !------------------------------------------------------------------------- ================================================ FILE: PKUCPL/PKUCPL.sh ================================================ #!/bin/bash #Record the beginning time date declare -i count=0 #Set the two-way coupled run dir and executable #rundir="template_dir_to_be_replaced_automatically_later" rundir='/data/users/yanyy/v11/twoway_test/' dir_nested_NA="NA/" dir_nested_CH="CH/" dir_nested_EU="EU/" dir_2x25="2x25/" dir_4x5="4x5/" mkdir $rundir/lock/ rm -f $rundir/lock/* mkdir $rundir/exchange/ rm -f $rundir/exchange/* #Options for two-way coupled runs while getopts ":24cne" optname do case $optname in c) if [ "$count" == 0 ];then nested1="NESTED_CH" nested1_dir=$rundir$dir_nested_CH count=1 elif [ "$count" == 1 ];then nested2="NESTED_CH" nested2_dir=$rundir$dir_nested_CH count=2 elif [ "$count" == 2 ];then nested3="NESTED_CH" nested3_dir=$rundir$dir_nested_CH count=3 fi ;; n) if [ "$count" == 0 ];then nested1="NESTED_NA" nested1_dir=$rundir$dir_nested_NA count=1 elif [ "$count" == 1 ];then nested2="NESTED_NA" nested2_dir=$rundir$dir_nested_NA count=2 elif [ "$count" == 2 ];then nested3="NESTED_NA" nested3_dir=$rundir$dir_nested_NA count=3 fi ;; e) if [ "$count" == 0 ];then nested1="NESTED_EU" nested1_dir=$rundir$dir_nested_EU count=1 elif [ "$count" == 1 ];then nested2="NESTED_EU" nested2_dir=$rundir$dir_nested_EU count=2 elif [ "$count" == 2 ];then nested3="NESTED_EU" nested3_dir=$rundir$dir_nested_EU count=3 fi ;; 2) global_dir=$rundir$dir_2x25 ;; 4) global_dir=$rundir$dir_4x5 ;; *) echo "unknown arguement" echo 'usage : ./run.sh [ -c ] [ -n ] [ -e ] ' exit 1 ;; esac done echo " GLOBAL is exchanging with $nested1 $nested2 $nested3" pushd $global_dir echo " @dir: $global_dir" ./gcclassic > log.gcclassic & popd if [ "$count" == 1 ] || [ "$count" == 2 ] || [ "$count" == 3 ];then pushd $nested1_dir echo " @dir: $nested1_dir" ./gcclassic > log.gcclassic & popd fi if [ "$count" == 2 ] || [ "$count" == 3 ];then pushd $nested2_dir echo " @dir:$nested2_dir" ./gcclassic > log.gcclassic & popd fi if [ "$count" == 3 ];then pushd $nested3_dir echo " @dir: $nested3_dir" ./gcclassic > log.gcclassic & popd fi ================================================ FILE: PKUCPL/README ================================================ README -- PeKing University CouPLer version 1 (PKUCPL) -- Yan Y.-Y. 2014/06/23 NOTE: Users can couple a global model with any numbers of nested models, see below *** Currently works with GEOS-5 met data (4x5, 2x2.5, 0.5x0.667) PKUCPL/: --------- - Twoway.compile.sh -> Bash script to compile the two-way coupled modeling - geos/ -> contains the executable 'geos' compiled for global model - geosch/ -> contains the executable 'geos' compiled for nested model in Asia - geosna/ -> contains the executable 'geos' compiled for nested model in North America - geoseu/ -> contains the executable 'geos' compiled for nested model in Europe - PKUCPL.f95 -> modulate the normal DO-Loop of GeosCore/main.F, to coordinate all models - PKUCPL.sh -> provide utility to run models in the right directories *** Users can modify the run dir -- normally needs to be done once - run -> outputted from PKUCPL.f95 and PKUCPL.sh, to modulate all models *** Users need to execute this file to finally activate the two-way coupled simulation Some examples: ./run 2cne codedir rundir: couple global model (2x2.5) with three nested models in Asia, North America and Europe ./run 2cn codedir rundir : couple global model (2x2.5) with three nested models in Asia and North America ./run 2c codedir rundir : couple global model (2x2.5) with three nested models in Asia ./run 2n codedir rundir : couple global model (2x2.5) with three nested models in North America ./run 2e codedir rundir : couple global model (2x2.5) with three nested models in Europe ./run 4cne codedir rundir: couple global model (4x5) with three nested models in Asia, North America and Europe ./run 4cn codedir rundir : couple global model (4x5) with three nested models in Asia and North America ./run 4c codedir rundir : couple global model (4x5) with three nested models in Asia ./run 4n codedir rundir : couple global model (4x5) with three nested models in North America ./run 4e codedir rundir : couple global model (4x5) with three nested models in Europe *** rundir is the run directory for two-way coupled simulation; codedir is the directory for code sources Additional code modification: ----------------------------- - GeosCore/main.F -> add the code of initialization, exchange, cleanup for two-way coupled model - GeosCore/exchange_mod.F -> new file: contain variables & routines for data exchange across all models, in a two-way framework - GeosCore/Makefile -> add code to compile exchange_mod.F - GeosUtil/time_mod.F -> add code to define the timestep for data exchange between models - Makefile_header.mk -> add options to compile for two-way coupled model Example run dir: -------------- - run.v9-02.geos5.twoway/ -> master run directory, inside which there are: - 2x25/ -> run directory for global mdel - run_global -> batch job script to submit global model - CH/ -> run directory for nested model in Aisa - run_nested -> batch job script to submit nested CH model - NA/ -> run directory for nested model in North America - run_nested -> batch job script to submit nested NA model - EU/ -> run directory for nested model in Europe - run_nested -> batch job script to submit nested EU model - lock/ -> directory for ancillary files communicating run imformation between models Example files inside: done*done: to pause a model and wait for data update key*key : to continue a model after all necessary data update - exchange/ -> temporary directory to contain data for exchange between models Batch job script: --------------- - run_twoway -> batch job script to do two-way coupled simulation Setup steps: --------------- 1. set up the run directories * e.g., master run dir : /home/yanyy/geoschem/run/run.v9-02.geos5.twoway/ run for Global 2x2.5: /home/yanyy/geoschem/run/run.v9-02.geos5.twoway/2x25/ run for Asia nested : /home/yanyy/geoschem/run/run.v9-02.geos5.twoway/CH/ 2. set up the batch job script in run directories 3. go to PKUCPL/ in the code directory 4. make sure the run directories for individual models defined in PKUCPL.sh are consistent with the setup at the 1st step * No need to change the variable 'rundir' in PKUCPL.sh -- It will be automatically corrected later 5. compile for two-way coupled model: ./Twoway.compile.sh * This step generates the executables for all global/nested models, and an additional executable 'run' as a coupling master 6. copy the executable 'run' and the batch job script 'run_twoway' to the master run directory 7. go to the master run directory, and submit the batch job script 'run_twoway' for two-way simulation: qsub run_twoway ================================================ FILE: PKUCPL/Twoway.compile.sh ================================================ #!/bin/bash #Record the beginning time for compiling date declare -i account=0 #Set the two-way coupled run (used in Makefile_header.mk) COUPLE="COUPLE=yes" #COUPLECH="COUPLECH=4x5ch" #COUPLENA="COUPLENA=4x5na" #COUPLEEU="COUPLEEU=4x5eu" COUPLECH="COUPLECH=2x25ch" COUPLENA="COUPLENA=2x25na" #COUPLEEU="COUPLEEU=2x25eu" #Set the nesting option NESTEU="NEST=eu" NESTNA="NEST=na" NESTCH="NEST=ch" #Set the MET input MET="MET=geos5" PRE="PRECISION=4" #Set the CHEM input CHEM='CHEM=TROPCHEM' #Set the GRID input GRID="GRID=2x25" #GRID="GRID=4x5" GRIDNEST="GRID=05x0666" #Set the name for geos geos="geos" geosna="geosna" geoseu="geoseu" geosch="geosch" #Option for making option="-j4" #Set the code dir and run dir dir_code="/data/users/yanyy/v11/Code_dir/twoway_test/" dir_coupler="PKUCPL/" dir_geos="geos/" dir_geosna="geosna/" dir_geoseu="geoseu/" dir_geosch="geosch/" dir_bin="bin/" dir_compile='Twoway.compile.sh' #Compile the code for nested model in Aisa if [ ${#COUPLECH} != 0 ]; then rm -f $dir_code$dir_coupler$dir_geosch$geos cd $dir_code make realclean make $option $MET $CHEM $GRIDNEST $NESTCH $COUPLE $COUPLECH #$PRE cp $dir_code$dir_bin$geos $dir_code$dir_coupler$dir_geosch fi #Compile the code for nested model in North America if [ ${#COUPLENA} != 0 ]; then rm -f $dir_code$dir_coupler$dir_geosna$geos cd $dir_code make realclean make $option $MET $CHEM $GRIDNEST $NESTNA $COUPLE $COUPLENA #$PRE cp $dir_code$dir_bin$geos $dir_code$dir_coupler$dir_geosna fi #Compile the code for nested model in Europe if [ ${#COUPLEEU} != 0 ]; then rm -f $dir_code$dir_coupler$dir_geoseu$geos cd $dir_code make realclean make $option $MET $CHEM $GRIDNEST $NESTEU $COUPLE $COUPLEEU #$PRE cp $dir_code$dir_bin$geos $dir_code$dir_coupler$dir_geoseu fi #Compile the code for global model rm -f $dir_code$dir_coupler$dir_geos$geos cd $dir_code make realclean make $option $MET $CHEM $GRID $COUPLE $COUPLENA $COUPLECH $COUPLEEU # $PRE cp $dir_code$dir_bin$geos $dir_code$dir_coupler$dir_geos #Compile the PKUCPL cd $dir_code$dir_coupler rm -f PKUCPL.o run #ifort -O2 -o run PKUCPL.F90 ifort -g -check bounds -traceback -o run PKUCPL.F90 ================================================ FILE: PKUCPL/run_twoway ================================================ #!/bin/bash #PBS -V ##PBS -N run_twoway #PBS -j oe ##PBS -m yanyy09@163.com #PBS -l nodes=1:ppn=1 ulimit -c 0 ulimit -s unlimited ulimit -f unlimited #export KMP_STACKSIZE=unlimited export KMP_STACKSIZE=100000000 # OMP_NUM_THREADS = number of ppn divided by number of global/nested models export OMP_NUM_THREADS=8 codedir=/home/yanyy/geoschem/run/src/Code.v9-02.two-way/ rundir=/home/yanyy/geoschem/run.v9-02.geos5.twoway/ cd $rundir date run 2cne $codedir $rundir > run.log date ================================================ FILE: README.md ================================================ [![Release](https://img.shields.io/github/v/release/geoschem/geos-chem?label=Latest%20Release)](http://wiki.geos-chem.org/GEOS-Chem_versions) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.1343546.svg)](https://doi.org/10.5281/zenodo.1343546) [![License](https://img.shields.io/badge/License-MIT-blue.svg)](https://github.com/geoschem/geos-chem/blob/master/LICENSE.txt) ## Description This repository contains the __GEOS-Chem science codebase__. Included in this repository are: * The source code for GEOS-Chem science routines; * Scripts to create GEOS-Chem run directories; * Template configuration files that specify run-time options; * Scripts to run GEOS-Chem tests; * Driver routines (e.g. `main.F90`) that enable GEOS-Chem to be run in several different implementations (as GEOS-Chem "Classic", as GCHP, etc.) ### Version 12.9.3 and prior GEOS-Chem 12.9.3 was the last version in which this "Science Codebase" repository was used in a standalone manner. ### Version 13.0.0 and later GEOS-Chem 13.0.0 and later versions use this "Science Codebase" repository as a submodule within the [GCClassic](https://github.com/geoschem/GCClassic) and [GCHP](https://github.com/geoschem/GCHP) repositories. Releases for GEOS-Chem 13.0.0 and later versions will be issued at the [GCClassic](https://github.com/geoschem/GCClassic) and [GCHP](https://github.com/geoschem/GCHP) Github repositories. We will also tag and release the corresponding versions at this repository for the sake of completeness. ## User Manuals Each implementation of GEOS-Chem has its own manual page. For more information, please see: * __GEOS-Chem "Classic":__ [https://geos-chem.readthedocs.io](https://geos-chem.readthedocs.io) * __GCHP:__ [https://gchp.readthedocs.io](https://gchp.readthedocs.io) * __WRF-GC:__ [http://wrf.geos-chem.org](http:/wrf.geos-chem.org) * __Other documentation:__ [View related documentation @ Read TheDocs](https://geos-chem.readthedocs.io/en/latest/geos-chem-shared-docs/supplemental-guides/related-docs.html) ## About GEOS-Chem GEOS-Chem is a global 3-D model of atmospheric chemistry driven by meteorological input from the Goddard Earth Observing System (GEOS) of the [NASA Global Modeling and Assimilation Office](http://gmao.gsfc.nasa.gov/). It is applied by [research groups around the world](http://geos-chem.org/people.html) to a wide range of atmospheric composition problems. Scientific direction of the model is provided by the international [GEOS-Chem Steering Committee](http://geos-chem.org/steering-committee.html) and by [User Working Groups](http://geos-chem.org/working-groups.html). The model is managed by the [GEOS-Chem Support Team](http://geos-chem.org/support-team.html), based at Harvard University and Washington University with support from the US NASA Earth Science Division, the Canadian National and Engineering Research Council, and the Nanjing University of Information Sciences and Technology. GEOS-Chem is a grass-roots open-access model owned by its [users](http://geos-chem.org/people.html), and ownership implies some responsibilities as listed in our [welcome page for new users](http://geos-chem.org/welcome.html). ================================================ FILE: run/.gitignore ================================================ *.[oax] *.mod *.MOD *~* *.swp *.bak *.patch *.diff diffs bak misc *.pp.* *.pdb *.inst.* *.continue.* *.ppk *.log bin/* build/ build_*/ *___.h *___.rc core.* ================================================ FILE: run/CESM/HEMCO_Config.rc ================================================ #------------------------------------------------------------------------------ # Harmonized Emissions Component (HEMCO) ! #------------------------------------------------------------------------------ #BOP # # !MODULE: HEMCO_Config.rc # # !DESCRIPTION: Contains configuration information for HEMCO. Define the # emissions inventories and corresponding file paths here. Entire # configuration files can be inserted into this configuration file with # an '>>>include' statement, e.g. '>>>include HEMCO\_Config\_test.rc' # The settings of include-files will be ignored. #\\ #\\ # !REMARKS: # See The HEMCO User's Guide for file details: # http://wiki.geos-chem.org/The_HEMCO_User%27s_Guide # # !REVISION HISTORY: # See https://github.com/geoschem/geos-chem for complete history #EOP #------------------------------------------------------------------------------ #BOC ############################################################################### ### BEGIN SECTION SETTINGS ############################################################################### ROOT: /glade/campaign/cesm/cesmdata/cseg/inputdata/atm/cam/geoschem/emis/ExtData/HEMCO GCAPSCENARIO: not_used GCAPVERTRES: 47 Logfile: * DiagnFile: HEMCO_Diagn.rc DiagnPrefix: ./OutputDir/HEMCO_diagnostics DiagnFreq: Monthly Wildcard: * Separator: / Unit tolerance: 1 Negative values: 0 Only unitless scale factors: false Verbose: false VerboseOnCores: root # Accepted values: root all ### END SECTION SETTINGS ### ############################################################################### ### BEGIN SECTION EXTENSION SWITCHES ############################################################################### # ExtNr ExtName on/off Species Years avail. 0 Base : on * # ----- MAIN SWITCHES --------------------------------------------------------- --> EMISSIONS : true --> CHEMISTRY_INPUT : true # ----- RESTART FIELDS -------------------------------------------------------- --> HEMCO_RESTART : false # ----- REGIONAL INVENTORIES -------------------------------------------------- --> APEI : false # 1989-2014 --> NEI2016_MONMEAN : false # 2002-2020 --> DICE_Africa : false # 2013 # ----- GLOBAL INVENTORIES ---------------------------------------------------- --> CEDSv2 : true # 1750-2019 --> CEDS_GBDMAPS : false # 1970-2017 --> CEDS_GBDMAPS_byFuelType: false # 1970-2017 --> EDGARv43 : false # 1970-2010 --> HTAPv3 : false # 2000-2018 --> GEIA_NH3 : true # 1990 --> SEABIRD_NH3 : true # 1990 --> POET_EOH : false # 1985 --> TZOMPASOSA_C2H6 : true # 2010 --> XIAO_C3H8 : true # 1985 --> LIANG_BROMOCARB : true # 2000 --> ORDONEZ_IODOCARB : true # 2000 --> GT_Chlorine : true # 1960-2014 --> DECAYING_PLANTS : true # 1985 --> AFCID : true # 2015 # ----- AIRCRAFT EMISSIONS ---------------------------------------------------- # There are 3 switches: # # 1. AEIC2019_DAILY selects daily AEIC 2019 emissions. For most simulations, # this is not recommended due to the amount of computational overhead # that will be incurred in regridding. But this may be useful for # research purposes. Recommended setting: "AEIC2019_DAILY: false". # # 2. AEIC2019_MONMEAN selects monthly-mean AEIC 2019 emisisons, which will # incur much less computational overhaead. This option should suffice # for most simulations. Recommended setting "AEIC2019_MONMEAN: true". # # 3. AEIC_SCALE_1990_2019: If "false", the AEIC 2019 data from the year # 2019 alone will be used. This will yield a "best estimate" of # aviation emisssion. This could be important because simply scaling # aviation emissions up and down is rather nonphysical. But if # AEIC_SCALE_1990_2019 is set to true, then aviation emissions for # 1990 to 2019 are estimated by: # # a. Scaling ALL aviation emissions based on the growth in fuelburn # from 1990 to 2019* estimated by Lee et al. (2021); and # # b. Scaling aviation NOx emissions by an additional factor to reflect # the changes in the NOx emissions index over the same period as # reported by Lee et al. (2021). # # Recommended setting: "AEIC_SCALE_1990_2019: true" # # See additional notes in the AEIC scale factor section below. #------------------------------------------------------------------------------ --> AEIC2019_DAILY : false # 2019 (daily data) --> AEIC2019_MONMEAN : true # 2019 (monthly-mean data) --> AEIC_SCALE_1990_2019 : true # Scale to year in 1990-2019 # ----- SHIP EMISSIONS -------------------------------------------------------- --> SHIP : true --> CEDSv2_SHIP : true # 1750-2017 --> CEDS_GBDMAPS_SHIP : false # 1970-2017 --> CEDS_GBDMAPS_SHIP_byFuelType: false # 1970-2017 --> HTAPv3_SHIP : false # 2000-2018 --> ICOADS_SHIP : false # 2002 --> ARCTAS_SHIP : false # 2008 --> CORBETT_SHIP : false # 1985 # ----- RCP FUTURE EMISSIONS -------------------------------------------------- --> RCP_3PD : false # 2005-2100 --> RCP_45 : false # 2005-2100 --> RCP_60 : false # 2005-2100 --> RCP_85 : false # 2005-2100 # ----- CMIP6 ANTHRO EMISSIONS / BOUNDARY CONDITIONS -------------------------- # Set GCAPSCENARIO (e.g., HIST, SSP585) above in SECTION SETTINGS --> CMIP6_SFC_BC : false # 1750-2100 --> CMIP6_SFC_LAND_ANTHRO : false # 1850-2100 --> CMIP6_AIRCRAFT : false # 1850-2100 --> CMIP6_SHIP : false # 1850-2100 # ----- BIOMASS BURNING EMISSIONS --------------------------------------------- --> QFED2 : false # 2000-2020 --> GFAS : false # 2003-2021 --> BB4MIPS : false # 1850-2100 --> GFED4_CLIMATOLOGY : false # If true, turn off GFED ext below # ----- OFFLINE EMISSIONS ----------------------------------------------------- # To use online emissions instead set the offline emissions to 'false' and the # corresponding HEMCO extension to 'on': # OFFLINE_DUST - DustL23M # OFFLINE_BIOGENICVOC - MEGAN # OFFLINE_SEASALT - SeaSalt # OFFLINE_SOILNOX - SoilNOx # # NOTE: When switching between offline and online emissions, make sure to also # update ExtNr and Cat in HEMCO_Diagn.rc to properly save out emissions for # any affected species. #------------------------------------------------------------------------------ --> OFFLINE_DUST : false # 1980-2019 --> OFFLINE_BIOGENICVOC : false # 1980-2020 --> OFFLINE_SEASALT : false # 1980-2019 --> CalcBrSeasalt : false --> OFFLINE_SOILNOX : true # 1980-2020 # ----- NON-EMISSIONS DATA ---------------------------------------------------- --> UVALBEDO : true # 1985 --> CCM_STRAT_Bry : false # 2007 --> GMI_OH : false # 2005 --> GMI_PROD_LOSS : false # 2005 --> OMOC_RATIO : true # 2010 --> GMD_SFC_CH4 : true # 1979-2020 --> CMIP6_SFC_CH4 : false # 1750-1978 --> OLSON_LANDMAP : true # 1985 --> YUAN_MODIS_LAI : true # 2000-2020 --> RRTMG : false # 2002 --> SfcVMR : true # 1750-2014 --> OCEAN_O3_DRYDEP : true # 1985 # ----------------------------------------------------------------------------- 100 Custom : off - 101 SeaFlux : on DMS/ACET/ALD2/MENO3/ETNO3/MOH 102 ParaNOx : off NO/NO2/O3/HNO3 --> LUT data format : nc --> LUT source dir : $ROOT/PARANOX/v2015-02 103 LightNOx : off NO --> LightningClimatology : off --> CDF table : $ROOT/LIGHTNOX/v2014-07/light_dist.ott2010.dat 104 SoilNOx : off NO --> Use fertilizer NOx : true #ewl: Use BRSALA or BrSALA, BrSALC or BRSALC. Did this change in standard model? 107 SeaSalt : off SALA/SALC/SALACL/SALCCL/SALAAL/SALCAL/BrSALA/BrSALC/MOPO/MOPI --> SALA lower radius : 0.01 --> SALA upper radius : 0.5 --> SALC lower radius : 0.5 --> SALC upper radius : 8.0 --> Reduce SS cold water : true --> Blowing Snow SS : true --> NH FYI snow salinity : 0.1 --> NH MYI snow salinity : 0.05 --> SH FYI snow salinity : 0.03 --> SH MYI snow salinity : 0.015 --> NH snow age : 3.0 --> SH snow age : 1.5 --> N per snowflake : 5.0 --> Model sea salt Br- : true --> Br- mass ratio : 2.11e-3 108 MEGAN : off ISOP/ACET/PRPE/C2H4/ALD2/MOH/EOH/MTPA/MTPO/LIMO/SESQ/SOAP/SOAS --> Isoprene scaling : 1.0 --> CO2 inhibition : true --> CO2 conc (ppmv) : 390.0 --> Isoprene to SOAP : 0.015 --> Isoprene to SOAS : 0.015 --> Monoterp to SOAP : 0.050 --> Monoterp to SOAS : 0.050 --> Othrterp to SOAP : 0.050 --> Othrterp to SOAS : 0.050 # For CESM: (1) use bc_a4 and pom_a4 instead of BCPO, BCPI, OCPO, and OCPI in GFED, and # (2) add scaling for bc_a4 and pom_a4 111 GFED : on NO/CO/ALK4/ACET/MEK/ALD2/PRPE/C2H2/C2H4/C3H8/CH2O/C2H6/SO2/NH3/bc_a4/pom_a4/POG1/POG2/MTPA/BENZ/TOLU/XYLE/NAP/EOH/MOH/SOAP/FURA/PHEN/MVK/ISOP/ACTA/MGLY/GLYX/RCHO/HCOOH/ACR/STYR/C4H6 --> GFED4 : true --> GFED_daily : false --> GFED_3hourly : false --> Scaling_CO : 1.05 --> Scaling_NAP : 2.75e-4 --> Scaling_bc_a4 : 1.0 --> Scaling_pom_a4 : 1.4 --> hydrophilic BC : 0.2 --> hydrophilic OC : 0.5 --> fraction POG1 : 0.49 --> CO to SOAP : 0.013 --> GFED_subgrid_coag : false #see the note near scale factor 281 for the source of this emis factor 114 FINN : off NO/CO/ALK4/ACET/MEK/ALD2/PRPE/C2H2/C2H4/C3H8/CH2O/C2H6/SO2/NH3/BCPI/BCPO/OCPI/OCPO/GLYC/HAC/SOAP/STYR/EBZ/TMB/ROH/RCOOH/RCHO/ACTA/EOH/HCOOH/ISOP/MACR/MVK/MOH/R4N2/FURA --> FINN_daily : false --> Scaling_CO : 1.0 --> Scaling_SOAP : 0.013 --> hydrophilic BC : 0.2 --> hydrophilic OC : 0.5 --> FINN_subgrid_coag : false 117 Volcano : on SO2 --> Volcano_Source : AeroCom --> Volcano_Table : $ROOT/VOLCANO/v2024-04/$YYYY/$MM/so2_volcanic_emissions_Carns.$YYYY$MM$DD.rc --> Volcano_Climatology : $ROOT/VOLCANO/v2024-04/so2_volcanic_emissions_CARN_v202401.degassing_only.rc 120 Inorg_Iodine : on HOI/I2 --> Emit HOI : true --> Emit I2 : true 125 DustL23M : off DSTbin1/DSTbin2/DSTbin3/DSTbin4/DSTbin5/DSTbin6/DSTbin7 --> Mass tuning factor : -999.0 #see the note near scale factor 281 for the source of this emis factor 126 DustAlk : off DSTALbin1/DSTALbin2/DSTALbin3/DSTALbin4/DSTALbin5/DSTALbin6/DSTALbin7 # ----- EXTENSIONS FOR TOMAS SIMULATIONS ONLY---------------------------------- 130 TOMAS_Jeagle : off SS01/SS02/SS03/SS04/SS05/SS06/SS07/SS08/SS09/SS10/SS11/SS12/SS13/SS14/SS15/SS16/SS17/SS18/SS19/SS20/SS21/SS22/SS23/SS24/SS25/SS26/SS27/SS28/SS29/SS30/SS31/SS32/SS33/SS34/SS35/SS36/SS37/SS38/SS39/SS40 --> Reduce SS cold water : true --> Blowing Snow SS : true --> NH FYI snow salinity : 0.1 --> NH MYI snow salinity : 0.05 --> SH FYI snow salinity : 0.03 --> SH MYI snow salinity : 0.015 --> NH snow age : 3.0 --> SH snow age : 1.5 --> N per snowflake : 1.0 --> Model sea salt Br- : false --> Br- mass ratio : 2.11e-3 131 TOMAS_DustDead : off DUST01/DUST02/DUST03/DUST04/DUST05/DUST06/DUST07/DUST08/DUST09/DUST10/DUST11/DUST12/DUST13/DUST14/DUST15/DUST16/DUST17/DUST18/DUST19/DUST20/DUST21/DUST22/DUST23/DUST24/DUST25/DUST26/DUST27/DUST28/DUST29/DUST30/DUST31/DUST32/DUST33/DUST34/DUST35/DUST36/DUST37/DUST38/DUST39/DUST40 --> Mass tuning factor : 4.7586e-4 ### END SECTION EXTENSION SWITCHES ### ############################################################################### ### BEGIN SECTION BASE EMISSIONS ############################################################################### # ExtNr Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Species ScalIDs Cat Hier (((EMISSIONS #============================================================================== # --- APEI (Canada) --- #============================================================================== (((APEI 0 APEI_NO $ROOT/APEI/v2016-11/APEI.0.1x0.1.nc NOx 1989-2014/1/1/0 RF xy kg/m2/s NO 25/1002/115 1 30 0 APEI_CO $ROOT/APEI/v2016-11/APEI.0.1x0.1.nc CO 1989-2014/1/1/0 RF xy kg/m2/s CO 26/52/1002 1 30 0 APEI_SOAP - - - - - - SOAP 26/52/1002/280 1 30 0 APEI_SO2 $ROOT/APEI/v2016-11/APEI.0.1x0.1.nc SOx 1989-2014/1/1/0 RF xy kg/m2/s SO2 60/1002 1 30 0 APEI_SO4 - - - - - - SO4 60/65/1002 1 30 0 APEI_pFe - - - - - - pFe 60/68/1002 1 30 0 APEI_NH3 $ROOT/APEI/v2016-11/APEI.0.1x0.1.nc NH3 1989-2014/1/1/0 RF xy kg/m2/s NH3 1002 1 30 0 APEI_BCPI $ROOT/APEI/v2016-11/APEI.0.1x0.1.nc EC 1989-2014/1/1/0 RF xy kg/m2/s BCPI 70/1002 1 30 0 APEI_BCPO $ROOT/APEI/v2016-11/APEI.0.1x0.1.nc EC 1989-2014/1/1/0 RF xy kg/m2/s BCPO 71/1002 1 30 0 APEI_OCPI $ROOT/APEI/v2016-11/APEI.0.1x0.1.nc OC 1989-2014/1/1/0 RF xy kg/m2/s OCPI 72/1002 1 30 0 APEI_OCPO $ROOT/APEI/v2016-11/APEI.0.1x0.1.nc OC 1989-2014/1/1/0 RF xy kg/m2/s OCPO 73/1002 1 30 0 APEI_POG1 - - - - - - POG1 74/76/1002 1 30 0 APEI_POG2 - - - - - - POG2 74/77/1002 1 30 )))APEI #============================================================================== # --- EPA NEI2016 v1 (USA) --- # # NOTES: # * Barron Henderson wrote, "The EPA emission modeling platform always # includes our best estimate of that year's emissions for Canada and Mexico # (othpt, othar, ptfire_oth). Using that estimate is likely good. However, # that can lead to a discontinuity in Mexico and Canada." # - By default only emissions over the CONUS are used (via Mask #1007) # - To include emissions over Canada and Mexico, users may revert to the old # US mask file $ROOT/MASKS/v2018-09/USA_LANDMASK_NEI2011_0.1x0.1.20160921.nc # * The base year of these emissions is 2016 and emissions are scaled to # 2002-2020 using data from the EPA Trends Report for Tier 1 CAPS (obtained # 21 Sep 2021). # - See NEI2016/v2021-06/national_tier1_caps+HEMCOscaling.xlsx for details. # - Cl2 and HCl emissions are only available for 2016 because those species # aren't included in the Tier 1 CAPS file/ #============================================================================== (((NEI2016_MONMEAN 0 EPA16_BCPI__afdustPEC $ROOT/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__afdustPEC $ROOT/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__afdustPNA $ROOT/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__afdustPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__afdustPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__afdustPOC $ROOT/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__afdustPOC $ROOT/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__afdustPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__afdustPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_SO4__afdustPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_ACET__agACET $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_ALD2__agALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__agALDX $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__agBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_C2H4__agETH $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__agETHA $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__agETOH $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__agFORM $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_PRPE__agIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__agKET $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__agMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__agNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_PRPE__agOLE $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__agPAR $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_C3H8__agPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_TOLU__agTOL $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__agXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__airportsACET $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__airportsACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__airportsALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__airportsALDX $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__airportsBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__airportsCO $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__airportsSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__airportsETH $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__airportsETHA $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__airportsETOH $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__airportsFORM $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__airportsHONO $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__airportsIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__airportsKET $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__airportsMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NO__airportsNO $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__airportsNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__airportsOLE $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__airportsPAR $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__airportsPEC $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__airportsPEC $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__airportsPNA $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__airportsPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__airportsPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__airportsPOC $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__airportsPOC $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__airportsPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__airportsPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__airportsPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__airportsPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__airportsSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__airportspFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__airportsSULF $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__airportsTOL $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__airportsXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__nonptACET $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__nonptACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__nonptALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__nonptALDX $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__nonptBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_Cl2__nonptCL2 $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf CL2 2016/1-12/1/0 R xy kg/m2/s Cl2 1007 1 50 0 EPA16_CO__nonptCO $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__nonptSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__nonptETH $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__nonptETHA $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__nonptETOH $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__nonptFORM $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HCl__nonptHCL $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf HCL 2016/1-12/1/0 R xy kg/m2/s HCl 1007 1 50 0 EPA16_HNO2__nonptHONO $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__nonptIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__nonptKET $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__nonptMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__nonptNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__nonptNO $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__nonptNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__nonptOLE $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__nonptPAR $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__nonptPEC $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__nonptPEC $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__nonptPNA $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__nonptPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__nonptPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__nonptPOC $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__nonptPOC $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__nonptPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__nonptPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__nonptPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__nonptPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__nonptSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__nonptpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__nonptSULF $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__nonptTOL $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__nonptXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__nonroadACET $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__nonroadACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__nonroadALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__nonroadALDX $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__nonroadBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__nonroadCO $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__nonroadSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__nonroadETH $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__nonroadETHA $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__nonroadETOH $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__nonroadFORM $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__nonroadHONO $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__nonroadIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__nonroadKET $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__nonroadMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__nonroadNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__nonroadNO $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__nonroadNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__nonroadOLE $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__nonroadPAR $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__nonroadPEC $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__nonroadPEC $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__nonroadPNA $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__nonroadPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__nonroadPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__nonroadPOC $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__nonroadPOC $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__nonroadPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__nonroadPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__nonroadPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__nonroadPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__nonroadSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__nonroadspFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__nonroadSULF $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__nonroadTOL $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__nonroadXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__npogACET $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__npogACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__npogALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__npogALDX $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__npogBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_Cl2__npogCL2 $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf CL2 2016/1-12/1/0 R xy kg/m2/s Cl2 1007 1 50 0 EPA16_CO__npogCO $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__npogSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__npogETH $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__npogETHA $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__npogETOH $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__npogFORM $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__npogHONO $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__npogIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__npogKET $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__npogMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__npogNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__npogNO $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__npogNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__npogOLE $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__npogPAR $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__npogPEC $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__npogPEC $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__npogPNA $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__npogPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__npogPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__npogPOC $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__npogPOC $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__npogPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__npogPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__npogPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__npogPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__npogSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__npogpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__npogSULF $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__npogTOL $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__npogXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__onroadACET $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__onroadACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__onroadALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__onroadALDX $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__onroadBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__onroadCO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__onroadSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__onroadETH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__onroadETHA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__onroadETOH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__onroadFORM $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__onroadHONO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__onroadIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__onroadKET $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__onroadMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__onroadNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__onroadNO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__onroadNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__onroadOLE $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__onroadPAR $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__onroadPEC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__onroadPEC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__onroadPNA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__onroadPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__onroadPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__onroadPOC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__onroadPOC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__onroadPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__onroadPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__onroadPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__onroadPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__onroadSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__onroadpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_TOLU__onroadTOL $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__onroadXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__onroad_caACET $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__onroad_caACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__onroad_caALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__onroad_caALDX $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__onroad_caBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__onroad_caCO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP_onroad__caSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__onroad_caETH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__onroad_caETHA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__onroad_caETOH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__onroad_caFORM $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__onroad_caHONO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__onroad_caIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__onroad_caKET $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__onroad_caMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__onroad_caNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__onroad_caNO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__onroad_caNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__onroad_caOLE $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__onroad_caPAR $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__onroad_caPEC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__onroad_caPEC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__onroad_caPNA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__onroad_caPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__onroad_caPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__onroad_caPOC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__onroad_caPOC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__onroad_caPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__onroad_caPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__onroad_caPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__onroad_caPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__onroad_caSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__onroad_capFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_TOLU__onroad_caTOL $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__onroad_caXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__railACET $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__railACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__railALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__railALDX $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__railBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__railCO $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__railSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__railETH $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__railETHA $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__railETOH $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__railFORM $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__railHONO $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__railIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__railKET $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__railMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__railNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__railNO $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__railNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__railOLE $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__railPAR $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__railPEC $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__railPEC $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__railPNA $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__railPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__railPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__railPOC $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__railPOC $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__railPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__railPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__railPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__railPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__railSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__railpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__railSULF $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__railTOL $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__railXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__rwcACET $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__rwcACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__rwcALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__rwcALDX $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__rwcBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_Cl2__rwcCL2 $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf CL2 2016/1-12/1/0 R xy kg/m2/s Cl2 1007 1 50 0 EPA16_CO__rwcCO $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__rwcSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__rwcETH $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__rwcETHA $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__rwcETOH $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__rwcFORM $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__rwcHONO $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__rwcIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__rwcKET $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__rwcMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__rwcNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__rwcNO $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__rwcNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__rwcOLE $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__rwcPAR $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__rwcPEC $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__rwcPEC $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__rwcPNA $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__rwcPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__rwcPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__rwcPOC $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__rwcPOC $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__rwcPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__rwcPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__rwcPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__rwcPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__rwcSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__rwcpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__rwcSULF $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__rwcTOL $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__rwcXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__c1c2ACET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xyz kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_ALD2__c1c2ALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xyz kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__c1c2ALDX $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xyz kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__c1c2BENZ $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xyz kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__c1c2CO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xyz kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__clc2SOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__c1c2ETH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__c1c2ETHA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__c1c2ETOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xyz kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__c1c2FORM $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xyz kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__c1c2HONO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__c1c2IOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__c1c2KET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xyz kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__c1c2MEOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xyz kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__c1c2NH3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xyz kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__c1c2NO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xyz kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__c1c2NO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xyz kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__c1c2OLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__c1c2PAR $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xyz kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__c1c2PEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__c1c2PEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__c1c2PNA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__c1c2PNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xyz kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__c1c2PNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xyz kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__c1c2POC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__c1c2POC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__clc2POC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__clc2POC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__c1c2PRPA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xyz kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__c1c2PSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__c1c2SO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xyz kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__clcpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__c1c2SULF $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__c1c2TOL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xyz kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__c1c2XYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xyz kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__c3ACET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xyz kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_ALD2__c3ALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xyz kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__c3ALDX $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xyz kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__c3BENZ $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xyz kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__c3CO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xyz kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__c3SOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__c3ETH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__c3ETHA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__c3ETOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xyz kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__c3FORM $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xyz kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__c3HONO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__c3IOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__c3KET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xyz kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__c3MEOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xyz kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__c3NH3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xyz kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__c3NO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xyz kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__c3NO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xyz kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__c3OLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__c3PAR $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xyz kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__c3PEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__c3PEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__c3PNA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__c3PNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xyz kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__c3PNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xyz kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__c3POC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__c3POC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__c3POC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__c3POC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__c3PRPA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xyz kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__c3PSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__c3SO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xyz kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__c2pFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__c3SULF $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__c3TOL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xyz kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__c3XYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xyz kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__pteguACET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xyz kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__pteguACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xyz kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__pteguALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xyz kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__pteguALDX $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xyz kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__pteguBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xyz kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_Cl2__pteguCL2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf CL2 2016/1-12/1/0 R xyz kg/m2/s Cl2 1007 1 50 0 EPA16_CO__pteguCO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xyz kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__pteguSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__pteguETH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__pteguETHA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__pteguETOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xyz kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__pteguFORM $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xyz kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HCl__pteguHCL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf HCL 2016/1-12/1/0 R xyz kg/m2/s HCl 1007 1 50 0 EPA16_HNO2__pteguHONO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__pteguIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__pteguKET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xyz kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__pteguMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xyz kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__pteguNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xyz kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__pteguNO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xyz kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__pteguNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xyz kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__pteguOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__pteguPAR $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xyz kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__pteguPEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__pteguPEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__pteguPNA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__pteguPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xyz kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__pteguPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xyz kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__pteguPOC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__pteguPOC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__pteguPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__pteguPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__pteguPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xyz kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__pteguPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__pteguSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xyz kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__ptegupFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__pteguSULF $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__pteguTOL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xyz kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__pteguXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xyz kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__ptogACET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xyz kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__ptogACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xyz kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__ptogALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xyz kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__ptogALDX $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xyz kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__ptogBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xyz kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_Cl2__ptogCL2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf CL2 2016/1-12/1/0 R xyz kg/m2/s Cl2 1007 1 50 0 EPA16_CO__ptogCO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xyz kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__ptogSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__ptogETH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__ptogETHA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__ptogETOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xyz kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__ptogFORM $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xyz kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HCl__ptogHCL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf HCL 2016/1-12/1/0 R xyz kg/m2/s HCl 1007 1 50 0 EPA16_HNO2__ptogHONO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__ptogIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__ptogKET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xyz kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__ptogMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xyz kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__ptogNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xyz kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__ptogNO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xyz kgNO2/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__ptogNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xyz kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__ptogOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__ptogPAR $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xyz kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__ptogPEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__ptogPEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__ptogPNA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__ptogPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xyz kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__ptogPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xyz kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__ptogPOC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__ptogPOC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__ptogPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__ptogPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__ptogPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xyz kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__ptogPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__ptogSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xyz kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__ptogpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__ptogSULF $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__ptogTOL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xyz kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__ptogXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xyz kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__ptnonipmACET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xyz kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__ptnonipmACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xyz kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__ptnonipmALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xyz kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__ptnonipmALDX $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xyz kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__ptnonipmBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xyz kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_Cl2__ptnonipmCL2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf CL2 2002-2020/1-12/1/0 R xyz kg/m2/s Cl2 1007 1 50 0 EPA16_CO__ptnonipmCO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xyz kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__ptnonipmSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__ptnonipmETH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__ptnonipmETHA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__ptnonipmETOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xyz kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__ptnonipmFORM $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xyz kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HCl__ptnonipmHCL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf HCL 2002-2020/1-12/1/0 R xyz kg/m2/s HCl 1007 1 50 0 EPA16_HNO2__ptnonipmHONO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__ptnonipmIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__ptnonipmKET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xyz kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__ptnonipmMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xyz kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__ptnonipmNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xyz kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__ptnonipmNO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xyz kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__ptnonipmNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xyz kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__ptnonipmOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__ptnonipmPAR $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xyz kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__ptnonipmPEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__ptnonipmPEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__ptnonipmPNA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__ptnonipmPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xyz kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__ptnonipmPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xyz kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__ptnonipmPOC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__ptnonipmPOC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__ptnonipmPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__ptnonipmPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__ptnonipmPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xyz kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__ptnonipmPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__ptnonipmSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xyz kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__ptnonipmpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__ptnonipmSULF $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__ptnonipmTOL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xyz kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__ptnonipmXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xyz kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__onroad_canACET $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_ALD2__onroad_canALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__onroad_canALDX $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__onroad_canBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__onroad_canCO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__onroad_canSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__onroad_canETH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__onroad_canETHA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__onroad_canETOH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__onroad_canFORM $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__onroad_canHONO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__onroad_canIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__onroad_canKET $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__onroad_canMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__onroad_canNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__onroad_canNO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__onroad_canNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__onroad_canOLE $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__onroad_canPAR $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__onroad_canPEC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__onroad_canPEC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__onroad_canPNA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__onroad_canPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__onroad_canPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__onroad_canPOC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__onroad_canPOC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__onroad_canPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__onroad_canPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__onroad_canPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__onroad_canPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__onroad_canSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__onroad_canpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__onroad_canSULF $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__onroad_canTOL $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__onroad_canXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__onroad_mexACET $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__onroad_mexACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__onroad_mexALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__onroad_mexALDX $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__onroad_mexBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__onroad_mexCO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__onroad_mexSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__onroad_mexETH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__onroad_mexETHA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__onroad_mexETOH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__onroad_mexFORM $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__onroad_mexHONO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__onroad_mexIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__onroad_mexKET $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__onroad_mexMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__onroad_mexNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__onroad_mexNO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__onroad_mexNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__onroad_mexOLE $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__onroad_mexPAR $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__onroad_mexPEC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__onroad_mexPEC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__onroad_mexPNA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__onroad_mexPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__onroad_mexPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__onroad_mexPOC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__onroad_mexPOC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__onroad_mexPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__onroad_mexPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__onroad_mexPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__onroad_mexPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__onroad_mexSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__onroad_mexpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__onroad_mexSULF $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__onroad_mexTOL $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__onroad_mexXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_BCPI__othafdustPEC $ROOT/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__othafdustPEC $ROOT/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__othafdustPNA $ROOT/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__othafdustPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__othafdustPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__othafdustPOC $ROOT/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__othafdustPOC $ROOT/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__othafdustPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__othafdustPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_SO4__othafdustPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_ACET__otharACET $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_ALD2__otharALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__otharALDX $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__otharBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__otharCO $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__otharSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__otharETH $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__otharETHA $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__otharETOH $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__otharFORM $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__otharHONO $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__otharIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__otharKET $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__otharMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__otharNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__otharNO $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__otharNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__otharOLE $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__otharPAR $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__otharPEC $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__otharPEC $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__otharPNA $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__otharPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__otharPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__otharPOC $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__otharPOC $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__otharPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__otharPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__otharPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__otharPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__otharSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__otharpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__otharSULF $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__otharTOL $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__otharXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_BCPI__othptdustPEC $ROOT/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__othptdustPEC $ROOT/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__othptdustPNA $ROOT/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__othptdustPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__othptdustPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__othptdustPOC $ROOT/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__othptdustPOC $ROOT/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__othptdustPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__othptdustPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_SO4__othptdustPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_ACET__othptACET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_ALD2__othptALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__othptALDX $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__othptBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__othptCO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__othptSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__othptETH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__othptETHA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__othptETOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__othptFORM $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__othptHONO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__othptIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__othptKET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__othptMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__othptNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__othptNO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__othptNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__othptOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__othptPAR $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__othptPEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__othptPEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__othptPNA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__othptPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__othptPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__othptPOC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__othptPOC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__othptPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__othptPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__othptPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__othptPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__othptSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__othptpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__othptSULF $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__othptTOL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__othptXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 )))NEI2016_MONMEAN #============================================================================== # --- DICE-Africa emission inventory (Marais and Wiedinmyer, ES&T, 2016) --- # # DICE-Africa includes regional (Africa) emissions of biofuel and diffuse # anthropogenic emissions from cars and motorcycles, biofuels, charcoal making # and use, backup generators, agricultural waste burning for cooking, gas # flares, and ad-hoc/informal oil refining. # # Other pollution sources (formal industry, power generation using fossil # fuels) are from the EDGAR v4.3 inventory for CO, SO2, NH3, NOx BC, and OC. # # NMVOCs from sources not accounted for in DICE-Africa aren't included here, # as these emissions are likely to be low compared to the DICE pollution # sources and RETRO v1 as implemented in GEOS-Chem doesn't distinguish # emissions by sector/activity. # # Emissions for 2013 are defined below, but DICE-Africa also includes # emissions for 2006. Developers recommend using population change to # estimate emissions, if users want to use annual trends in pollutant # emissions to estimate in other years. #============================================================================== (((DICE_Africa # ------------------------ # Cars # ------------------------ 0 DICE_CARS_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/1008 1 60 0 DICE_CARS_SOAP - - - - - - SOAP 26/1008/280 1 60 0 DICE_CARS_NO $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc NO 2013/1/1/0 C xy g/m2/yr NO 25/30/1008 1 60 0 DICE_CARS_ALK4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc ALK4 2013/1/1/0 C xy g/m2/yr ALK4 26/1008 1 60 0 DICE_CARS_ISOP $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc ISOP 2013/1/1/0 C xy g/m2/yr ISOP 26/1008 1 60 0 DICE_CARS_ACET $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc ACET 2013/1/1/0 C xy g/m2/yr ACET 26/1008 1 60 0 DICE_CARS_MEK $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc MEK 2013/1/1/0 C xy g/m2/yr MEK 26/1008 1 60 0 DICE_CARS_ALD2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc ALD2 2013/1/1/0 C xy g/m2/yr ALD2 26/1008 1 60 0 DICE_CARS_RCHO $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc RCHO 2013/1/1/0 C xy g/m2/yr RCHO 26/1008 1 60 0 DICE_CARS_PRPE $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc PRPE 2013/1/1/0 C xy g/m2/yr PRPE 26/1008 1 60 0 DICE_CARS_CH2O $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc CH2O 2013/1/1/0 C xy g/m2/yr CH2O 26/1008 1 60 0 DICE_CARS_SO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc SO2 2013/1/1/0 C xy g/m2/yr SO2 31/78/1008 1 60 0 DICE_CARS_SO4 - - - - - - SO4 31/63/1008 1 60 0 DICE_CARS_pFe - - - - - - pFe 31/78/66/1008 1 60 0 DICE_CARS_C2H4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc C2H4 2013/1/1/0 C xy g/m2/yr C2H4 26/1008 1 60 0 DICE_CARS_BENZ $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc BENZ 2013/1/1/0 C xy g/m2/yr BENZ 26/1008 1 60 0 DICE_CARS_TOLU $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc TOLU 2013/1/1/0 C xy g/m2/yr TOLU 26/1008 1 60 0 DICE_CARS_XYLE $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc XYLE 2013/1/1/0 C xy g/m2/yr XYLE 26/1008 1 60 0 DICE_CARS_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 1 60 0 DICE_CARS_BCPO - - - - - - BCPO 71/1008 1 60 0 DICE_CARS_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008/330 1 60 0 DICE_CARS_OCPO - - - - - - OCPO 73/1008/330 1 60 0 DICE_CARS_POG1 - - - - - - POG1 74/76/1008/330 1 60 0 DICE_CARS_POG2 - - - - - - POG2 74/77/1008/330 1 60 # ------------------------ # Motorcycles # ------------------------ 0 DICE_MOTORCYCLES_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/1008 1 60 0 DICE_MOTORCYCLES_SOAP - - - - - - SOAP 26/1008/280 1 60 0 DICE_MOTORCYCLES_NO $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc NO 2013/1/1/0 C xy g/m2/yr NO 25/30/1008 1 60 0 DICE_MOTORCYCLES_SO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc SO2 2013/1/1/0 C xy g/m2/yr SO2 31/78/1008 1 60 0 DICE_MOTORCYCLES_SO4 - - - - - - SO4 31/63/1008 1 60 0 DICE_MOTORCYCLES_pFe - - - - - - pFe 31/78/66/1008 1 60 0 DICE_MOTORCYCLES_ALK4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc ALK4 2013/1/1/0 C xy g/m2/yr ALK4 26/1008 1 60 0 DICE_MOTORCYCLES_MEK $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc MEK 2013/1/1/0 C xy g/m2/yr MEK 26/1008 1 60 0 DICE_MOTORCYCLES_ALD2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc ALD2 2013/1/1/0 C xy g/m2/yr ALD2 26/1008 1 60 0 DICE_MOTORCYCLES_PRPE $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc PRPE 2013/1/1/0 C xy g/m2/yr PRPE 26/1008 1 60 0 DICE_MOTORCYCLES_CH2O $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc CH2O 2013/1/1/0 C xy g/m2/yr CH2O 26/1008 1 60 0 DICE_MOTORCYCLES_BENZ $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc BENZ 2013/1/1/0 C xy g/m2/yr BENZ 26/1008 1 60 0 DICE_MOTORCYCLES_TOLU $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc TOLU 2013/1/1/0 C xy g/m2/yr TOLU 26/1008 1 60 0 DICE_MOTORCYCLES_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 1 60 0 DICE_MOTORCYCLES_BCPO - - - - - - BCPO 71/1008 1 60 0 DICE_MOTORCYCLES_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 1 60 0 DICE_MOTORCYCLES_OCPO - - - - - - OCPO 73/1008 1 60 0 DICE_MOTORCYCLES_POG1 - - - - - - POG1 74/76/1008 1 60 0 DICE_MOTORCYCLES_POG2 - - - - - - POG2 74/77/1008 1 60 # ------------------------ # Backup generators # ------------------------ 0 DICE_BACKUPGEN_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/1008 1 60 0 DICE_BACKUPGEN_SOAP - - - - - - SOAP 26/1008/280 1 60 0 DICE_BACKUPGEN_NO $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc NO 2013/1/1/0 C xy g/m2/yr NO 25/30/1008 1 60 0 DICE_BACKUPGEN_NO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc NO2 2013/1/1/0 C xy g/m2/yr NO2 25/30/1008 1 60 0 DICE_BACKUPGEN_SO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc SO2 2013/1/1/0 C xy g/m2/yr SO2 31/78/1008 1 60 0 DICE_BACKUPGEN_SO4 - - - - - - SO4 31/63/1008 1 60 0 DICE_BACKUPGEN_pFe - - - - - - pFe 31/78/66/1008 1 60 0 DICE_BACKUPGEN_ACET $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc ACET 2013/1/1/0 C xy g/m2/yr ACET 26/1008 1 60 0 DICE_BACKUPGEN_MEK $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc MEK 2013/1/1/0 C xy g/m2/yr MEK 26/1008 1 60 0 DICE_BACKUPGEN_ALD2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc ALD2 2013/1/1/0 C xy g/m2/yr ALD2 26/1008 1 60 0 DICE_BACKUPGEN_RCHO $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc RCHO 2013/1/1/0 C xy g/m2/yr RCHO 26/1008 1 60 0 DICE_BACKUPGEN_MVK $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc MVK 2013/1/1/0 C xy g/m2/yr MVK 26/1008 1 60 0 DICE_BACKUPGEN_MACR $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc MACR 2013/1/1/0 C xy g/m2/yr MACR 26/1008 1 60 0 DICE_BACKUPGEN_CH2O $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc CH2O 2013/1/1/0 C xy g/m2/yr CH2O 26/1008 1 60 #0 DICE_BACKUPGEN_MGLY $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc MGLY 2013/1/1/0 C xy g/m2/yr MGLY 26/1008 1 60 #0 DICE_BACKUPGEN_GLYX $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc GLYX 2013/1/1/0 C xy g/m2/yr GLYX 26/1008 1 60 0 DICE_BACKUPGEN_C2H4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc C2H4 2013/1/1/0 C xy g/m2/yr C2H4 26/1008 1 60 0 DICE_BACKUPGEN_BENZ $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc BENZ 2013/1/1/0 C xy g/m2/yr BENZ 26/1008 1 60 0 DICE_BACKUPGEN_TOLU $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc TOLU 2013/1/1/0 C xy g/m2/yr TOLU 26/1008 1 60 0 DICE_BACKUPGEN_XYLE $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc XYLE 2013/1/1/0 C xy g/m2/yr XYLE 26/1008 1 60 0 DICE_BACKUPGEN_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 1 60 0 DICE_BACKUPGEN_BCPO - - - - - - BCPO 71/1008 1 60 0 DICE_BACKUPGEN_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 1 60 0 DICE_BACKUPGEN_OCPO - - - - - - OCPO 73/1008 1 60 0 DICE_BACKUPGEN_POG1 - - - - - - POG1 74/76/1008 1 60 0 DICE_BACKUPGEN_POG2 - - - - - - POG2 74/77/1008 1 60 # ------------------------ # Charcoal production # ------------------------ 0 DICE_CHARCOALPROD_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/1008/320 1 60 0 DICE_CHARCOALPROD_SOAP - - - - - - SOAP 26/1008/280/320 1 60 0 DICE_CHARCOALPROD_NO $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc NO 2013/1/1/0 C xy g/m2/yr NO 25/30/1008/320 1 60 0 DICE_CHARCOALPROD_NH3 $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc NH3 2013/1/1/0 C xy g/m2/yr NH3 1008/320 1 60 0 DICE_CHARCOALPROD_PRPE $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc PRPE 2013/1/1/0 C xy g/m2/yr PRPE 26/1008/320 1 60 0 DICE_CHARCOALPROD_CH2O $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc CH2O 2013/1/1/0 C xy g/m2/yr CH2O 26/1008/320 1 60 0 DICE_CHARCOALPROD_C2H6 $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc C2H6 2013/1/1/0 C xy g/m2/yr C2H6 26/1008/320 1 60 0 DICE_CHARCOALPROD_HAC $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc HAC 2013/1/1/0 C xy g/m2/yr HAC 26/1008/320 1 60 0 DICE_CHARCOALPROD_C2H2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc C2H2 2013/1/1/0 C xy g/m2/yr C2H2 26/1008/320 1 60 0 DICE_CHARCOALPROD_C2H4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc C2H4 2013/1/1/0 C xy g/m2/yr C2H4 26/1008/320 1 60 0 DICE_CHARCOALPROD_TOLU $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc TOLU 2013/1/1/0 C xy g/m2/yr TOLU 26/1008/320 1 60 0 DICE_CHARCOALPROD_HCOOH $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc HCOOH 2013/1/1/0 C xy g/m2/yr HCOOH 26/1008/320 1 60 0 DICE_CHARCOALPROD_MOH $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc MOH 2013/1/1/0 C xy g/m2/yr MOH 26/1008/320 1 60 0 DICE_CHARCOALPROD_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008/320 1 60 0 DICE_CHARCOALPROD_BCPO - - - - - - BCPO 71/1008/320 1 60 0 DICE_CHARCOALPROD_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008/320 1 60 0 DICE_CHARCOALPROD_OCPO - - - - - - OCPO 73/1008/320 1 60 0 DICE_CHARCOALPROD_POG1 - - - - - - POG1 74/76/1008/320 1 60 0 DICE_CHARCOALPROD_POG2 - - - - - - POG2 74/77/1008/320 1 60 # ------------------------ # Flaring of natural gas # ------------------------ 0 DICE_GASFLARE_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/1008 1 60 0 DICE_GASFLARE_SOAP - - - - - - SOAP 26/1008/280 1 60 0 DICE_GASFLARE_NO $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc NO 2013/1/1/0 C xy g/m2/yr NO 25/30/1008 1 60 0 DICE_GASFLARE_ALK4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc ALK4 2013/1/1/0 C xy g/m2/yr ALK4 26/1008 1 60 0 DICE_GASFLARE_ALD2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc ALD2 2013/1/1/0 C xy g/m2/yr ALD2 26/1008 1 60 0 DICE_GASFLARE_PRPE $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc PRPE 2013/1/1/0 C xy g/m2/yr PRPE 26/1008 1 60 0 DICE_GASFLARE_CH2O $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc CH2O 2013/1/1/0 C xy g/m2/yr CH2O 26/1008 1 60 0 DICE_GASFLARE_BENZ $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc BENZ 2013/1/1/0 C xy g/m2/yr BENZ 26/1008 1 60 0 DICE_GASFLARE_TOLU $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc TOLU 2013/1/1/0 C xy g/m2/yr TOLU 26/1008 1 60 0 DICE_GASFLARE_XYLE $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc XYLE 2013/1/1/0 C xy g/m2/yr XYLE 26/1008 1 60 0 DICE_GASFLARE_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 1 60 0 DICE_GASFLARE_BCPO - - - - - - BCPO 71/1008 1 60 0 DICE_GASFLARE_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 1 60 0 DICE_GASFLARE_OCPO - - - - - - OCPO 73/1008 1 60 0 DICE_GASFLARE_POG1 - - - - - - POG1 74/76/1008 1 60 0 DICE_GASFLARE_POG2 - - - - - - POG2 74/77/1008 1 60 # ------------------------------ # Ag waste burning for energy # ------------------------------ 0 DICE_AGBURNING_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/1008 2 60 0 DICE_AGBURNING_SOAP - - - - - - SOAP 26/1008/280 2 60 0 DICE_AGBURNING_NO $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc NO 2013/1/1/0 C xy g/m2/yr NO 25/30/1008 2 60 0 DICE_AGBURNING_NO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc NO2 2013/1/1/0 C xy g/m2/yr NO2 25/30/1008 2 60 0 DICE_AGBURNING_SO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc SO2 2013/1/1/0 C xy g/m2/yr SO2 31/78/1008 2 60 0 DICE_AGBURNING_SO4 - - - - - - SO4 31/63/1008 2 60 0 DICE_AGBURNING_pFe - - - - - - pFe 31/78/66/1008 2 60 0 DICE_AGBURNING_NH3 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc NH3 2013/1/1/0 C xy g/m2/yr NH3 1008 2 60 0 DICE_AGBURNING_ALK4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc ALK4 2013/1/1/0 C xy g/m2/yr ALK4 26/1008 2 60 0 DICE_AGBURNING_ISOP $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc ISOP 2013/1/1/0 C xy g/m2/yr ISOP 26/1008 2 60 0 DICE_AGBURNING_ACET $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc ACET 2013/1/1/0 C xy g/m2/yr ACET 26/1008 2 60 0 DICE_AGBURNING_MEK $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc MEK 2013/1/1/0 C xy g/m2/yr MEK 26/1008 2 60 0 DICE_AGBURNING_ALD2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc ALD2 2013/1/1/0 C xy g/m2/yr ALD2 26/1008 2 60 0 DICE_AGBURNING_MVK $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc MVK 2013/1/1/0 C xy g/m2/yr MVK 26/1008 2 60 0 DICE_AGBURNING_MACR $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc MACR 2013/1/1/0 C xy g/m2/yr MACR 26/1008 2 60 0 DICE_AGBURNING_PRPE $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc PRPE 2013/1/1/0 C xy g/m2/yr PRPE 26/1008 2 60 0 DICE_AGBURNING_C3H8 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc C3H8 2013/1/1/0 C xy g/m2/yr C3H8 26/1008 2 60 0 DICE_AGBURNING_CH2O $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc CH2O 2013/1/1/0 C xy g/m2/yr CH2O 26/1008 2 60 0 DICE_AGBURNING_C2H6 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc C2H6 2013/1/1/0 C xy g/m2/yr C2H6 26/1008 2 60 0 DICE_AGBURNING_HAC $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc HAC 2013/1/1/0 C xy g/m2/yr HAC 26/1008 2 60 0 DICE_AGBURNING_GLYC $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc GLYC 2013/1/1/0 C xy g/m2/yr GLYC 26/1008 2 60 0 DICE_AGBURNING_MOH $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc MOH 2013/1/1/0 C xy g/m2/yr MOH 26/1008 2 60 #0 DICE_AGBURNING_MGLY $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc MGLY 2013/1/1/0 C xy g/m2/yr MGLY 26/1008 2 60 #0 DICE_AGBURNING_APIN $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc APIN 2013/1/1/0 C xy g/m2/yr APIN 26/1008 2 60 0 DICE_AGBURNING_C2H2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc C2H2 2013/1/1/0 C xy g/m2/yr C2H2 26/1008 2 60 0 DICE_AGBURNING_C2H4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc C2H4 2013/1/1/0 C xy g/m2/yr C2H4 26/1008 2 60 0 DICE_AGBURNING_BENZ $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc BENZ 2013/1/1/0 C xy g/m2/yr BENZ 26/1008 2 60 0 DICE_AGBURNING_TOLU $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc TOLU 2013/1/1/0 C xy g/m2/yr TOLU 26/1008 2 60 0 DICE_AGBURNING_XYLE $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc XYLE 2013/1/1/0 C xy g/m2/yr XYLE 26/1008 2 60 0 DICE_AGBURNING_HCOOH $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc HCOOH 2013/1/1/0 C xy g/m2/yr HCOOH 26/1008 2 60 0 DICE_AGBURNING_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 2 60 0 DICE_AGBURNING_BCPO - - - - - g/m2/yr BCPO 71/1008 2 60 0 DICE_AGBURNING_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 2 60 0 DICE_AGBURNING_OCPO - - - - - - OCPO 73/1008 2 60 0 DICE_AGBURNING_POG1 - - - - - - POG1 74/76/1008 2 60 0 DICE_AGBURNING_POG2 - - - - - - POG2 74/77/1008 2 60 # ------------------------------ # Charcoal use # ------------------------------ 0 DICE_CHARCOALUSE_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/1008 2 60 0 DICE_CHARCOALUSE_SOAP - - - - - - SOAP 26/1008/280 2 60 0 DICE_CHARCOALUSE_NO $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc NO 2013/1/1/0 C xy g/m2/yr NO 25/30/1008 2 60 0 DICE_CHARCOALUSE_ALK4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc ALK4 2013/1/1/0 C xy g/m2/yr ALK4 26/1008 2 60 0 DICE_CHARCOALUSE_NH3 $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc NH3 2013/1/1/0 C xy g/m2/yr NH3 1008 2 60 0 DICE_CHARCOALUSE_PRPE $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc PRPE 2013/1/1/0 C xy g/m2/yr PRPE 26/1008 2 60 0 DICE_CHARCOALUSE_CH2O $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc CH2O 2013/1/1/0 C xy g/m2/yr CH2O 26/1008 2 60 0 DICE_CHARCOALUSE_C2H6 $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc C2H6 2013/1/1/0 C xy g/m2/yr C2H6 26/1008 2 60 0 DICE_CHARCOALUSE_C2H2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc C2H2 2013/1/1/0 C xy g/m2/yr C2H2 26/1008 2 60 0 DICE_CHARCOALUSE_C2H4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc C2H4 2013/1/1/0 C xy g/m2/yr C2H4 26/1008 2 60 0 DICE_CHARCOALUSE_HCOOH $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc HCOOH 2013/1/1/0 C xy g/m2/yr HCOOH 26/1008 2 60 0 DICE_CHARCOALUSE_MOH $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc MOH 2013/1/1/0 C xy g/m2/yr MOH 26/1008 2 60 0 DICE_CHARCOALUSE_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 2 60 0 DICE_CHARCOALUSE_BCPO - - - - - - BCPO 71/1008 2 60 0 DICE_CHARCOALUSE_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 2 60 0 DICE_CHARCOALUSE_OCPO - - - - - - OCPO 73/1008 2 60 0 DICE_CHARCOALUSE_POG1 - - - - - - POG1 74/76/1008 2 60 0 DICE_CHARCOALUSE_POG2 - - - - - - POG2 74/77/1008 2 60 # ------------------------------ # Kerosene use # ------------------------------ 0 DICE_KEROSENE_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-kerosene-use-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/1008 1 60 0 DICE_KEROSENE_SOAP - - - - - - SOAP 26/1008/280 1 60 0 DICE_KEROSENE_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-kerosene-use-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 1 60 0 DICE_KEROSENE_BCPO - - - - - - BCPO 71/1008 1 60 0 DICE_KEROSENE_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-kerosene-use-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 1 60 0 DICE_KEROSENE_OCPO - - - - - - OCPO 73/1008 1 60 0 DICE_KEROSENE_POG1 - - - - - - POG1 74/76/1008 1 60 0 DICE_KEROSENE_POG2 - - - - - - POG2 74/77/1008 1 60 # ------------------------------ # Artisanal oil refining # ------------------------------ 0 DICE_OILREFINING_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/1008 1 60 0 DICE_OILREFINING_SOAP - - - - - - SOAP 26/1008/280 1 60 0 DICE_OILREFINING_NO $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc NO 2013/1/1/0 C xy g/m2/yr NO 25/30/1008 1 60 0 DICE_OILREFINING_SO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc SO2 2013/1/1/0 C xy g/m2/yr SO2 31/78/1008 1 60 0 DICE_OILREFINING_SO4 - - - - - - SO4 31/63/1008 1 60 0 DICE_OILREFINING_pFe - - - - - - pFe 31/78/66/1008 1 60 0 DICE_OILREFINING_ALK4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc ALK4 2013/1/1/0 C xy g/m2/yr ALK4 26/1008 1 60 0 DICE_OILREFINING_ACET $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc ACET 2013/1/1/0 C xy g/m2/yr ACET 26/1008 1 60 0 DICE_OILREFINING_MEK $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc MEK 2013/1/1/0 C xy g/m2/yr MEK 26/1008 1 60 0 DICE_OILREFINING_ALD2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc ALD2 2013/1/1/0 C xy g/m2/yr ALD2 26/1008 1 60 0 DICE_OILREFINING_RCHO $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc RCHO 2013/1/1/0 C xy g/m2/yr RCHO 26/1008 1 60 0 DICE_OILREFINING_C3H8 $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc C3H8 2013/1/1/0 C xy g/m2/yr C3H8 26/1008 1 60 0 DICE_OILREFINING_CH2O $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc CH2O 2013/1/1/0 C xy g/m2/yr CH2O 26/1008 1 60 0 DICE_OILREFINING_C2H6 $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc C2H6 2013/1/1/0 C xy g/m2/yr C2H6 26/1008 1 60 0 DICE_OILREFINING_BENZ $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc BENZ 2013/1/1/0 C xy g/m2/yr BENZ 26/1008 1 60 0 DICE_OILREFINING_TOLU $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc TOLU 2013/1/1/0 C xy g/m2/yr TOLU 26/1008 1 60 0 DICE_OILREFINING_XYLE $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc XYLE 2013/1/1/0 C xy g/m2/yr XYLE 26/1008 1 60 0 DICE_OILREFINING_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 1 60 0 DICE_OILREFINING_BCPO - - - - - - BCPO 71/1008 1 60 0 DICE_OILREFINING_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 1 60 0 DICE_OILREFINING_OCPO - - - - - - OCPO 73/1008 1 60 0 DICE_OILREFINING_POG1 - - - - - - POG1 74/76/1008 1 60 0 DICE_OILREFINING_POG2 - - - - - - POG2 74/77/1008 1 60 # -------------------------- # Household fuelwood use # -------------------------- 0 DICE_HOUSEFUELWOOD_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/1008 2 60 0 DICE_HOUSEFUELWOOD_SOAP - - - - - - SOAP 26/1008/280 2 60 0 DICE_HOUSEFUELWOOD_NO $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc NO 2013/1/1/0 C xy g/m2/yr NO 25/30/1008 2 60 0 DICE_HOUSEFUELWOOD_NO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc NO2 2013/1/1/0 C xy g/m2/yr NO2 25/30/1008 2 60 0 DICE_HOUSEFUELWOOD_SO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc SO2 2013/1/1/0 C xy g/m2/yr SO2 31/78/1008 2 60 0 DICE_HOUSEFUELWOOD_SO4 - - - - - - SO4 31/63/1008 2 60 0 DICE_HOUSEFUELWOOD_pFe - - - - - - pFe 31/78/66/1008 2 60 0 DICE_HOUSEFUELWOOD_NH3 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc NH3 2013/1/1/0 C xy g/m2/yr NH3 1008 2 60 0 DICE_HOUSEFUELWOOD_ALK4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc ALK4 2013/1/1/0 C xy g/m2/yr ALK4 26/1008 2 60 0 DICE_HOUSEFUELWOOD_ISOP $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc ISOP 2013/1/1/0 C xy g/m2/yr ISOP 26/1008 2 60 0 DICE_HOUSEFUELWOOD_MEK $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc MEK 2013/1/1/0 C xy g/m2/yr MEK 26/1008 2 60 0 DICE_HOUSEFUELWOOD_ALD2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc ALD2 2013/1/1/0 C xy g/m2/yr ALD2 26/1008 2 60 0 DICE_HOUSEFUELWOOD_MVK $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc MVK 2013/1/1/0 C xy g/m2/yr MVK 26/1008 2 60 0 DICE_HOUSEFUELWOOD_PRPE $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc PRPE 2013/1/1/0 C xy g/m2/yr PRPE 26/1008 2 60 0 DICE_HOUSEFUELWOOD_CH2O $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc CH2O 2013/1/1/0 C xy g/m2/yr CH2O 26/1008 2 60 0 DICE_HOUSEFUELWOOD_C2H6 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc C2H6 2013/1/1/0 C xy g/m2/yr C2H6 26/1008 2 60 0 DICE_HOUSEFUELWOOD_HAC $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc HAC 2013/1/1/0 C xy g/m2/yr HAC 26/1008 2 60 0 DICE_HOUSEFUELWOOD_GLYC $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc GLYC 2013/1/1/0 C xy g/m2/yr GLYC 26/1008 2 60 0 DICE_HOUSEFUELWOOD_MOH $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc MOH 2013/1/1/0 C xy g/m2/yr MOH 26/1008 2 60 #0 DICE_HOUSEFUELWOOD_MGLY $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc MGLY 2013/1/1/0 C xy g/m2/yr MGLY 26/1008 2 60 #0 DICE_HOUSEFUELWOOD_APIN $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc APIN 2013/1/1/0 C xy g/m2/yr APIN 26/1008 2 60 0 DICE_HOUSEFUELWOOD_C2H2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc C2H2 2013/1/1/0 C xy g/m2/yr C2H2 26/1008 2 60 0 DICE_HOUSEFUELWOOD_C2H4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc C2H4 2013/1/1/0 C xy g/m2/yr C2H4 26/1008 2 60 0 DICE_HOUSEFUELWOOD_BENZ $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc BENZ 2013/1/1/0 C xy g/m2/yr BENZ 26/1008 2 60 0 DICE_HOUSEFUELWOOD_TOLU $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc TOLU 2013/1/1/0 C xy g/m2/yr TOLU 26/1008 2 60 0 DICE_HOUSEFUELWOOD_XYLE $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc XYLE 2013/1/1/0 C xy g/m2/yr XYLE 26/1008 2 60 0 DICE_HOUSEFUELWOOD_HCOOH $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc HCOOH 2013/1/1/0 C xy g/m2/yr HCOOH 26/1008 2 60 0 DICE_HOUSEFUELWOOD_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 2 60 0 DICE_HOUSEFUELWOOD_BCPO - - - - - - BCPO 71/1008 2 60 0 DICE_HOUSEFUELWOOD_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 2 60 0 DICE_HOUSEFUELWOOD_OCPO - - - - - - OCPO 73/1008 2 60 0 DICE_HOUSEFUELWOOD_POG1 - - - - - - POG1 74/76/1008 2 60 0 DICE_HOUSEFUELWOOD_POG2 - - - - - - POG2 74/77/1008 2 60 # --------------------------------- # Commercial (other) fuelwood use # --------------------------------- 0 DICE_OTHERFUELWOOD_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/1008 2 60 0 DICE_OTHERFUELWOOD_SOAP - - - - - - SOAP 26/1008/280 2 60 0 DICE_OTHERFUELWOOD_NO $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc NO 2013/1/1/0 C xy g/m2/yr NO 25/30/1008 2 60 0 DICE_OTHERFUELWOOD_NO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc NO2 2013/1/1/0 C xy g/m2/yr NO2 25/30/1008 2 60 0 DICE_OTHERFUELWOOD_SO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc SO2 2013/1/1/0 C xy g/m2/yr SO2 31/78/1008 2 60 0 DICE_OTHERFUELWOOD_SO4 - - - - - - SO4 31/63/1008 2 60 0 DICE_OTHERFUELWOOD_pFe - - - - - - pFe 31/78/66/1008 2 60 0 DICE_OTHERFUELWOOD_NH3 $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc NH3 2013/1/1/0 C xy g/m2/yr NH3 1008 2 60 0 DICE_OTHERFUELWOOD_ALK4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc ALK4 2013/1/1/0 C xy g/m2/yr ALK4 26/1008 2 60 0 DICE_OTHERFUELWOOD_ISOP $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc ISOP 2013/1/1/0 C xy g/m2/yr ISOP 26/1008 2 60 0 DICE_OTHERFUELWOOD_MEK $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc MEK 2013/1/1/0 C xy g/m2/yr MEK 26/1008 2 60 0 DICE_OTHERFUELWOOD_ALD2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc ALD2 2013/1/1/0 C xy g/m2/yr ALD2 26/1008 2 60 0 DICE_OTHERFUELWOOD_MVK $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc MVK 2013/1/1/0 C xy g/m2/yr MVK 26/1008 2 60 0 DICE_OTHERFUELWOOD_PRPE $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc PRPE 2013/1/1/0 C xy g/m2/yr PRPE 26/1008 2 60 0 DICE_OTHERFUELWOOD_CH2O $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc CH2O 2013/1/1/0 C xy g/m2/yr CH2O 26/1008 2 60 0 DICE_OTHERFUELWOOD_C2H6 $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc C2H6 2013/1/1/0 C xy g/m2/yr C2H6 26/1008 2 60 0 DICE_OTHERFUELWOOD_HAC $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc HAC 2013/1/1/0 C xy g/m2/yr HAC 26/1008 2 60 0 DICE_OTHERFUELWOOD_GLYC $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc GLYC 2013/1/1/0 C xy g/m2/yr GLYC 26/1008 2 60 0 DICE_OTHERFUELWOOD_MOH $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc MOH 2013/1/1/0 C xy g/m2/yr MOH 26/1008 2 60 #0 DICE_OTHERFUELWOOD_MGLY $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc MGLY 2013/1/1/0 C xy g/m2/yr MGLY 26/1008 2 60 #0 DICE_OTHERFUELWOOD_APIN $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc APIN 2013/1/1/0 C xy g/m2/yr APIN 26/1008 2 60 0 DICE_OTHERFUELWOOD_C2H2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc C2H2 2013/1/1/0 C xy g/m2/yr C2H2 26/1008 2 60 0 DICE_OTHERFUELWOOD_C2H4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc C2H4 2013/1/1/0 C xy g/m2/yr C2H4 26/1008 2 60 0 DICE_OTHERFUELWOOD_BENZ $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc BENZ 2013/1/1/0 C xy g/m2/yr BENZ 26/1008 2 60 0 DICE_OTHERFUELWOOD_TOLU $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc TOLU 2013/1/1/0 C xy g/m2/yr TOLU 26/1008 2 60 0 DICE_OTHERFUELWOOD_XYLE $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc XYLE 2013/1/1/0 C xy g/m2/yr XYLE 26/1008 2 60 0 DICE_OTHERFUELWOOD_HCOOH $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc HCOOH 2013/1/1/0 C xy g/m2/yr HCOOH 26/1008 2 60 0 DICE_OTHERFUELWOOD_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 2 60 0 DICE_OTHERFUELWOOD_BCPO - - - - - - BCPO 71/1008 2 60 0 DICE_OTHERFUELWOOD_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 2 60 0 DICE_OTHERFUELWOOD_OCPO - - - - - - OCPO 73/1008 2 60 0 DICE_OTHERFUELWOOD_POG1 - - - - - - POG1 74/76/1008 2 60 0 DICE_OTHERFUELWOOD_POG2 - - - - - - POG2 74/77/1008 2 60 # --------------------------------------------------- # Efficient Combustion Emissions from EDGAR # This makes up for sources that DICE-Africa lacks # --------------------------------------------------- 0 AF_EDGAR_BCPI_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.POW.0.1x0.1.nc emi_bc 1970-2010/1/1/0 RF xy kg/m2/s BCPI 1201/1008/70 1 60 0 AF_EDGAR_BCPO_POW - - - - - - BCPO 1201/1008/71 1 60 0 AF_EDGAR_BCPI_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.ENG.0.1x0.1.nc emi_bc 1970-2010/1/1/0 RF xy kg/m2/s BCPI 1202/1008/70 1 60 0 AF_EDGAR_BCPO_ENG - - - - - - BCPO 1202/1008/71 1 60 0 AF_EDGAR_BCPI_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.IND.0.1x0.1.nc emi_bc 1970-2010/1/1/0 RF xy kg/m2/s BCPI 1203/1008/70 1 60 0 AF_EDGAR_BCPO_IND - - - - - - BCPO 1203/1008/71 1 60 0 AF_EDGAR_BCPI_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.TNG.0.1x0.1.nc emi_bc 1970-2010/1/1/0 RF xy kg/m2/s BCPI 1205/1008/70 1 60 0 AF_EDGAR_BCPO_TNG - - - - - - BCPO 1205/1008/71 1 60 0 AF_EDGAR_BCPI_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.SWD.0.1x0.1.nc emi_bc 1970-2010/1/1/0 RF xy kg/m2/s BCPI 1211/1008/70 1 60 0 AF_EDGAR_BCPO_SWD - - - - - - BCPO 1211/1008/71 1 60 0 AF_EDGAR_CO_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.POW.0.1x0.1.nc emi_co 1970-2010/1/1/0 RF xy kg/m2/s CO 1201/26/52/1008 1 60 0 AF_EDGAR_SOAP_POW - - - - - - SOAP 1201/26/52/1008/280 1 60 0 AF_EDGAR_CO_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.ENG.0.1x0.1.nc emi_co 1970-2010/1/1/0 RF xy kg/m2/s CO 1202/26/52/1008 1 60 0 AF_EDGAR_SOAP_ENG - - - - - - SOAP 1202/26/52/1008/280 1 60 0 AF_EDGAR_CO_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.IND.0.1x0.1.nc emi_co 1970-2010/1/1/0 RF xy kg/m2/s CO 1203/26/52/1008 1 60 0 AF_EDGAR_SOAP_IND - - - - - - SOAP 1203/26/52/1008/280 1 60 0 AF_EDGAR_CO_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.TNG.0.1x0.1.nc emi_co 1970-2010/1/1/0 RF xy kg/m2/s CO 1205/26/52/1008 1 60 0 AF_EDGAR_SOAP_TNG - - - - - - SOAP 1205/26/52/1008/280 1 60 0 AF_EDGAR_CO_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.PPA.0.1x0.1.nc emi_co 1970-2010/1/1/0 RF xy kg/m2/s CO 1207/26/52/1008 1 60 0 AF_EDGAR_SOAP_PPA - - - - - - SOAP 1207/26/52/1008/280 1 60 0 AF_EDGAR_CO_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.SWD.0.1x0.1.nc emi_co 1970-2010/1/1/0 RF xy kg/m2/s CO 1211/26/52/1008 1 60 0 AF_EDGAR_SOAP_SWD - - - - - - SOAP 1211/26/52/1008/280 1 60 0 AF_EDGAR_NO_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.POW.0.1x0.1.nc emi_nox 1970-2010/1/1/0 RF xy kg/m2/s NO 1201/25/115/1008 1 60 0 AF_EDGAR_NO_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.ENG.0.1x0.1.nc emi_nox 1970-2010/1/1/0 RF xy kg/m2/s NO 1202/25/115/1008 1 60 0 AF_EDGAR_NO_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.IND.0.1x0.1.nc emi_nox 1970-2010/1/1/0 RF xy kg/m2/s NO 1203/25/115/1008 1 60 0 AF_EDGAR_NO_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.TNG.0.1x0.1.nc emi_nox 1970-2010/1/1/0 RF xy kg/m2/s NO 1205/25/115/1008 1 60 0 AF_EDGAR_NO_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.PPA.0.1x0.1.nc emi_nox 1970-2010/1/1/0 RF xy kg/m2/s NO 1207/25/115/1008 1 60 0 AF_EDGAR_NO_AGR $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.AGR.0.1x0.1.nc emi_nox 1970-2010/1/1/0 RF xy kg/m2/s NO 1208/25/115/1008 1 60 0 AF_EDGAR_NO_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.SWD.0.1x0.1.nc emi_nox 1970-2010/1/1/0 RF xy kg/m2/s NO 1211/25/115/1008 1 60 0 AF_EDGAR_NH3_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.POW.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 RF xy kg/m2/s NH3 1201/1008 1 60 0 AF_EDGAR_NH3_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.ENG.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 RF xy kg/m2/s NH3 1202/1008 1 60 0 AF_EDGAR_NH3_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.IND.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 RF xy kg/m2/s NH3 1203/1008 1 60 0 AF_EDGAR_NH3_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.TNG.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 RF xy kg/m2/s NH3 1205/1008 1 60 0 AF_EDGAR_NH3_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.PPA.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 RF xy kg/m2/s NH3 1207/1008 1 60 0 AF_EDGAR_NH3_AGR $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.AGR.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 RF xy kg/m2/s NH3 1208/1008 1 60 0 AF_EDGAR_NH3_SOL $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.SOL.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 RF xy kg/m2/s NH3 1210/1008 1 60 0 AF_EDGAR_NH3_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.SWD.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 RF xy kg/m2/s NH3 1211/1008 1 60 0 AF_EDGAR_OCPI_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.POW.0.1x0.1.nc emi_oc 1970-2010/1/1/0 RF xy kg/m2/s OCPI 1201/1008/72 1 60 0 AF_EDGAR_OCPO_POW - - - - - - OCPO 1201/1008/73 1 60 0 AF_EDGAR_POG1_POW - - - - - - POG1 1201/1008/74/76 1 60 0 AF_EDGAR_POG2_POW - - - - - - POG2 1201/1008/74/77 1 60 0 AF_EDGAR_OCPI_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.ENG.0.1x0.1.nc emi_oc 1970-2010/1/1/0 RF xy kg/m2/s OCPI 1202/1008/72 1 60 0 AF_EDGAR_OCPO_ENG - - - - - - OCPO 1202/1008/73 1 60 0 AF_EDGAR_POG1_ENG - - - - - - POG1 1202/1008/74/76 1 60 0 AF_EDGAR_POG2_ENG - - - - - - POG2 1202/1008/74/77 1 60 0 AF_EDGAR_OCPI_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.IND.0.1x0.1.nc emi_oc 1970-2010/1/1/0 RF xy kg/m2/s OCPI 1203/1008/72 1 60 0 AF_EDGAR_OCPO_IND - - - - - - OCPO 1203/1008/73 1 60 0 AF_EDGAR_POG1_IND - - - - - - POG1 1203/1008/74/76 1 60 0 AF_EDGAR_POG2_IND - - - - - - POG2 1203/1008/74/77 1 60 0 AF_EDGAR_OCPI_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.TNG.0.1x0.1.nc emi_oc 1970-2010/1/1/0 RF xy kg/m2/s OCPI 1205/1008/72 1 60 0 AF_EDGAR_OCPO_TNG - - - - - - OCPO 1205/1008/73 1 60 0 AF_EDGAR_POG1_TNG - - - - - - POG1 1205/1008/74/76 1 60 0 AF_EDGAR_POG2_TNG - - - - - - POG2 1205/1008/74/77 1 60 0 AF_EDGAR_OCPI_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.SWD.0.1x0.1.nc emi_oc 1970-2010/1/1/0 RF xy kg/m2/s OCPI 1211/1008/72 1 60 0 AF_EDGAR_OCPO_SWD - - - - - - OCPO 1211/1008/73 1 60 0 AF_EDGAR_POG1_SWD - - - - - - POG1 1211/1008/74/76 1 60 0 AF_EDGAR_POG2_SWD - - - - - - POG2 1211/1008/74/77 1 60 0 AF_EDGAR_SO2_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.POW.0.1x0.1.nc emi_so2 1970-2010/1/1/0 RF xy kg/m2/s SO2 1201/1008 1 60 0 AF_EDGAR_SO4_POW - - - - - - SO4 1201/1008/63 1 60 0 AF_EDGAR_pFe_POW - - - - - - pFe 1201/1008/66 1 60 0 AF_EDGAR_SO2_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.ENG.0.1x0.1.nc emi_so2 1970-2010/1/1/0 RF xy kg/m2/s SO2 1202/1008 1 60 0 AF_EDGAR_SO4_ENG - - - - - - SO4 1202/1008/63 1 60 0 AF_EDGAR_pFe_ENG - - - - - - pFe 1202/1008/66 1 60 0 AF_EDGAR_SO2_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.IND.0.1x0.1.nc emi_so2 1970-2010/1/1/0 RF xy kg/m2/s SO2 1203/1008 1 60 0 AF_EDGAR_SO4_IND - - - - - - SO4 1203/1008/63 1 60 0 AF_EDGAR_pFe_IND - - - - - - pFe 1203/1008/66 1 60 0 AF_EDGAR_SO2_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.TNG.0.1x0.1.nc emi_so2 1970-2010/1/1/0 RF xy kg/m2/s SO2 1205/1008 1 60 0 AF_EDGAR_SO4_TNG - - - - - - SO4 1205/1008/63 1 60 0 AF_EDGAR_pFe_TNG - - - - - - pFe 1205/1008/66 1 60 0 AF_EDGAR_SO2_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.PPA.0.1x0.1.nc emi_so2 1970-2010/1/1/0 RF xy kg/m2/s SO2 1207/1008 1 60 0 AF_EDGAR_SO4_PPA - - - - - - SO4 1207/1008/63 1 60 0 AF_EDGAR_pFe_PPA - - - - - - pFe 1207/1008/66 1 60 0 AF_EDGAR_SO2_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.SWD.0.1x0.1.nc emi_so2 1970-2010/1/1/0 RF xy kg/m2/s SO2 1211/1008 1 60 0 AF_EDGAR_SO4_SWD - - - - - - SO4 1211/1008/63 1 60 0 AF_EDGAR_pFe_SWD - - - - - - pFe 1211/1008/66 1 60 )))DICE_Africa #============================================================================== # --- CEDS v2 --- # # %%% This is the default global inventory. You may select either CEDS, # EDGAR, HTAPv3 or CMIP6_SFC_LAND_ANTHRO for the global base emissions %%% # # NOTE: CO2 and CH4 are excluded in CEDS emissions for fullchem simulations. # # Note for CESM: # Scaling of enegy and industrial sectors is applied the same way # as in the GEOS-Chem offline model except for aerosols SO2, SO4, # black and organic carbon. These species use scaling # for CESM developed by Louisa Emmons. See scaling section titled # "CEDS to CAM-Chem scale factors" for reference. #============================================================================== (((CEDSv2 0 CEDS_NO_AGR $ROOT/CEDS/v2021-06/$YYYY/NO-em-anthro_CMIP_CEDS_$YYYY.nc NO_agr 1750-2019/1-12/1/0 C xy kg/m2/s NO 2401 1 5 0 CEDS_NO_ENE $ROOT/CEDS/v2021-06/$YYYY/NO-em-anthro_CMIP_CEDS_$YYYY.nc NO_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s NO 2406/706/315 1 5 0 CEDS_NO_IND $ROOT/CEDS/v2021-06/$YYYY/NO-em-anthro_CMIP_CEDS_$YYYY.nc NO_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s NO 2407/707/316 1 5 0 CEDS_NO_TRA $ROOT/CEDS/v2021-06/$YYYY/NO-em-anthro_CMIP_CEDS_$YYYY.nc NO_tra 1750-2019/1-12/1/0 C xy kg/m2/s NO 2411/711 1 5 0 CEDS_NO_RCO $ROOT/CEDS/v2021-06/$YYYY/NO-em-anthro_CMIP_CEDS_$YYYY.nc NO_rco 1750-2019/1-12/1/0 C xy kg/m2/s NO 2409/709 1 5 0 CEDS_NO_SLV $ROOT/CEDS/v2021-06/$YYYY/NO-em-anthro_CMIP_CEDS_$YYYY.nc NO_slv 1750-2019/1-12/1/0 C xy kg/m2/s NO 2407/707 1 5 0 CEDS_NO_WST $ROOT/CEDS/v2021-06/$YYYY/NO-em-anthro_CMIP_CEDS_$YYYY.nc NO_wst 1750-2019/1-12/1/0 C xy kg/m2/s NO 25 1 5 0 CEDS_CO_AGR $ROOT/CEDS/v2021-06/$YYYY/CO-em-anthro_CMIP_CEDS_$YYYY.nc CO_agr 1750-2019/1-12/1/0 C xy kg/m2/s CO 2401 1 5 0 CEDS_SOAP_AGR - - - - - - SOAP 280/2401 1 5 0 CEDS_CO_ENE $ROOT/CEDS/v2021-06/$YYYY/CO-em-anthro_CMIP_CEDS_$YYYY.nc CO_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s CO 2406/706/315 1 5 0 CEDS_SOAP_ENE - - - - - - SOAP 280/2406/706/315 1 5 0 CEDS_CO_IND $ROOT/CEDS/v2021-06/$YYYY/CO-em-anthro_CMIP_CEDS_$YYYY.nc CO_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s CO 2407/707/316 1 5 0 CEDS_SOAP_IND - - - - - - SOAP 280/2407/707/316 1 5 0 CEDS_CO_TRA $ROOT/CEDS/v2021-06/$YYYY/CO-em-anthro_CMIP_CEDS_$YYYY.nc CO_tra 1750-2019/1-12/1/0 C xy kg/m2/s CO 2411/711 1 5 0 CEDS_SOAP_TRA - - - - - - SOAP 280/2411/711 1 5 0 CEDS_CO_RCO $ROOT/CEDS/v2021-06/$YYYY/CO-em-anthro_CMIP_CEDS_$YYYY.nc CO_rco 1750-2019/1-12/1/0 C xy kg/m2/s CO 2409/709 1 5 0 CEDS_SOAP_RCO - - - - - - SOAP 280/2409/709 1 5 0 CEDS_CO_SLV $ROOT/CEDS/v2021-06/$YYYY/CO-em-anthro_CMIP_CEDS_$YYYY.nc CO_slv 1750-2019/1-12/1/0 C xy kg/m2/s CO 2407/707 1 5 0 CEDS_SOAP_SLV - - - - - - SOAP 280/2407/707 1 5 0 CEDS_CO_WST $ROOT/CEDS/v2021-06/$YYYY/CO-em-anthro_CMIP_CEDS_$YYYY.nc CO_wst 1750-2019/1-12/1/0 C xy kg/m2/s CO 26 1 5 0 CEDS_SOAP_WST - - - - - - SOAP 26/280 1 5 # Note for CESM: Apply SO4 to so4_a1 0 CEDS_SO2_AGR $ROOT/CEDS/v2021-06/$YYYY/SO2-em-anthro_CMIP_CEDS_$YYYY.nc SO2_agr 1750-2019/1-12/1/0 C xy kg/m2/s SO2 2401 1 5 0 CEDS_SO4_AGR - - - - - - so4_a1 8902/2401 1 5 0 CEDS_pFe_AGR - - - - - - pFe 66/2401 1 5 0 CEDS_SO2_ENE $ROOT/CEDS/v2021-06/$YYYY/SO2-em-anthro_CMIP_CEDS_$YYYY.nc SO2_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s SO2 2406/706/315 1 5 0 CEDS_SO4_ENE - - - - - - so4_a1 8907/2406/706/315 1 5 0 CEDS_pFe_ENE - - - - - - pFe 66/2406/706/315 1 5 0 CEDS_SO2_IND $ROOT/CEDS/v2021-06/$YYYY/SO2-em-anthro_CMIP_CEDS_$YYYY.nc SO2_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s SO2 2407/707/316 1 5 0 CEDS_SO4_IND - - - - - - so4_a1 8908/2407/707/316 1 5 0 CEDS_pFe_IND - - - - - - pFe 66/2407/707/316 1 5 0 CEDS_SO2_TRA $ROOT/CEDS/v2021-06/$YYYY/SO2-em-anthro_CMIP_CEDS_$YYYY.nc SO2_tra 1750-2019/1-12/1/0 C xy kg/m2/s SO2 2411/711 1 5 0 CEDS_SO4_TRA - - - - - - so4_a1 8906/2411/711 1 5 0 CEDS_pFe_TRA - - - - - - pFe 66/2411/711 1 5 0 CEDS_SO2_RCO $ROOT/CEDS/v2021-06/$YYYY/SO2-em-anthro_CMIP_CEDS_$YYYY.nc SO2_rco 1750-2019/1-12/1/0 C xy kg/m2/s SO2 2409/709 1 5 0 CEDS_SO4_RCO - - - - - - so4_a1 8905/2409/709 1 5 0 CEDS_pFe_RCO - - - - - - pFe 66/2409/709 1 5 0 CEDS_SO2_SLV $ROOT/CEDS/v2021-06/$YYYY/SO2-em-anthro_CMIP_CEDS_$YYYY.nc SO2_slv 1750-2019/1-12/1/0 C xy kg/m2/s SO2 2407/707 1 5 0 CEDS_SO4_SLV - - - - - - so4_a1 8904/2407/707 1 5 0 CEDS_pFe_SLV - - - - - - pFe 66/2407/707 1 5 0 CEDS_SO2_WST $ROOT/CEDS/v2021-06/$YYYY/SO2-em-anthro_CMIP_CEDS_$YYYY.nc SO2_wst 1750-2019/1-12/1/0 C xy kg/m2/s SO2 - 1 5 0 CEDS_SO4_WST - - - - - - so4_a1 8903 1 5 0 CEDS_pFe_WST - - - - - - pFe 66 1 5 ch 0 CEDS_NH3_AGR $ROOT/CEDS/v2021-06/$YYYY/NH3-em-anthro_CMIP_CEDS_$YYYY.nc NH3_agr 1750-2019/1-12/1/0 C xy kg/m2/s NH3 2401 1 5 0 CEDS_NH3_ENE $ROOT/CEDS/v2021-06/$YYYY/NH3-em-anthro_CMIP_CEDS_$YYYY.nc NH3_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s NH3 2406/706/315 1 5 0 CEDS_NH3_IND $ROOT/CEDS/v2021-06/$YYYY/NH3-em-anthro_CMIP_CEDS_$YYYY.nc NH3_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s NH3 2407/707/316 1 5 0 CEDS_NH3_TRA $ROOT/CEDS/v2021-06/$YYYY/NH3-em-anthro_CMIP_CEDS_$YYYY.nc NH3_tra 1750-2019/1-12/1/0 C xy kg/m2/s NH3 2411/711 1 5 0 CEDS_NH3_RCO $ROOT/CEDS/v2021-06/$YYYY/NH3-em-anthro_CMIP_CEDS_$YYYY.nc NH3_rco 1750-2019/1-12/1/0 C xy kg/m2/s NH3 2409/709 1 5 0 CEDS_NH3_SLV $ROOT/CEDS/v2021-06/$YYYY/NH3-em-anthro_CMIP_CEDS_$YYYY.nc NH3_slv 1750-2019/1-12/1/0 C xy kg/m2/s NH3 2407/707 1 5 0 CEDS_NH3_WST $ROOT/CEDS/v2021-06/$YYYY/NH3-em-anthro_CMIP_CEDS_$YYYY.nc NH3_wst 1750-2019/1-12/1/0 C xy kg/m2/s NH3 - 1 5 #----------------------------------------------------- # AEROSOL NUMBER EMISSIONS FOR CEDS in CESM - hplin 8/11/22 # note shp emiss in ship section #----------------------------------------------------- 0 CEDS_SO4n_AGR $ROOT/CEDS/v2021-06/$YYYY/SO2-em-anthro_CMIP_CEDS_$YYYY.nc SO2_agr 1750-2019/1-12/1/0 C xy kg/m2/s num_a1 8902/2401/8014 1 5 0 CEDS_SO4n_ENE $ROOT/CEDS/v2021-06/$YYYY/SO2-em-anthro_CMIP_CEDS_$YYYY.nc SO2_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s num_a1 8907/2406/706/315/8011 1 5 0 CEDS_SO4n_IND $ROOT/CEDS/v2021-06/$YYYY/SO2-em-anthro_CMIP_CEDS_$YYYY.nc SO2_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s num_a1 8908/2407/707/316/8011 1 5 0 CEDS_SO4n_TRA $ROOT/CEDS/v2021-06/$YYYY/SO2-em-anthro_CMIP_CEDS_$YYYY.nc SO2_tra 1750-2019/1-12/1/0 C xy kg/m2/s num_a2 8906/2411/711/8022 1 5 0 CEDS_SO4n_RCO $ROOT/CEDS/v2021-06/$YYYY/SO2-em-anthro_CMIP_CEDS_$YYYY.nc SO2_rco 1750-2019/1-12/1/0 C xy kg/m2/s num_a2 8905/2407/709/8022 1 5 0 CEDS_SO4n_SLV $ROOT/CEDS/v2021-06/$YYYY/SO2-em-anthro_CMIP_CEDS_$YYYY.nc SO2_slv 1750-2019/1-12/1/0 C xy kg/m2/s num_a1 8904/2407/707/8014 1 5 0 CEDS_SO4n_WST $ROOT/CEDS/v2021-06/$YYYY/SO2-em-anthro_CMIP_CEDS_$YYYY.nc SO2_wst 1750-2019/1-12/1/0 C xy kg/m2/s num_a1 8903/8014 1 5 # BC emiss are classified as a4 for all anthro 0 CEDS_BCn_AGR $ROOT/CEDS/v2021-06/$YYYY/BC-em-anthro_CMIP_CEDS_$YYYY.nc BC_agr 1750-2019/1-12/1/0 C xy kg/m2/s num_a4 8920/2401/8041 1 5 0 CEDS_BCn_ENE $ROOT/CEDS/v2021-06/$YYYY/BC-em-anthro_CMIP_CEDS_$YYYY.nc BC_ene 1750-2019/1-12/1/0 C xy kg/m2/s num_a4 8920/2406/706/315/8041 1 5 0 CEDS_BCn_IND $ROOT/CEDS/v2021-06/$YYYY/BC-em-anthro_CMIP_CEDS_$YYYY.nc BC_ind 1750-2019/1-12/1/0 C xy kg/m2/s num_a4 8920/2407/707/316/8041 1 5 0 CEDS_BCn_TRA $ROOT/CEDS/v2021-06/$YYYY/BC-em-anthro_CMIP_CEDS_$YYYY.nc BC_tra 1750-2019/1-12/1/0 C xy kg/m2/s num_a4 8920/2411/711/8041 1 5 0 CEDS_BCn_RCO $ROOT/CEDS/v2021-06/$YYYY/BC-em-anthro_CMIP_CEDS_$YYYY.nc BC_rco 1750-2019/1-12/1/0 C xy kg/m2/s num_a4 8920/2409/709/8041 1 5 0 CEDS_BCn_SLV $ROOT/CEDS/v2021-06/$YYYY/BC-em-anthro_CMIP_CEDS_$YYYY.nc BC_slv 1750-2019/1-12/1/0 C xy kg/m2/s num_a4 8920/2407/707/8041 1 5 0 CEDS_BCn_WST $ROOT/CEDS/v2021-06/$YYYY/BC-em-anthro_CMIP_CEDS_$YYYY.nc BC_wst 1750-2019/1-12/1/0 C xy kg/m2/s num_a4 8920/8041 1 5 # OC emiss are classified as a4 for all anthro 0 CEDS_OCn_AGR $ROOT/CEDS/v2021-06/$YYYY/OC-em-anthro_CMIP_CEDS_$YYYY.nc OC_agr 1750-2019/1-12/1/0 C xy kg/m2/s num_a4 8930/2401/8042 1 5 0 CEDS_OCn_ENE $ROOT/CEDS/v2021-06/$YYYY/OC-em-anthro_CMIP_CEDS_$YYYY.nc OC_ene 1750-2019/1-12/1/0 C xy kg/m2/s num_a4 8930/2406/706/315/8042 1 5 0 CEDS_OCn_IND $ROOT/CEDS/v2021-06/$YYYY/OC-em-anthro_CMIP_CEDS_$YYYY.nc OC_ind 1750-2019/1-12/1/0 C xy kg/m2/s num_a4 8930/2407/707/316/8042 1 5 0 CEDS_OCn_TRA $ROOT/CEDS/v2021-06/$YYYY/OC-em-anthro_CMIP_CEDS_$YYYY.nc OC_tra 1750-2019/1-12/1/0 C xy kg/m2/s num_a4 8930/2411/711/8042 1 5 0 CEDS_OCn_RCO $ROOT/CEDS/v2021-06/$YYYY/OC-em-anthro_CMIP_CEDS_$YYYY.nc OC_rco 1750-2019/1-12/1/0 C xy kg/m2/s num_a4 8930/2409/709/8042 1 5 0 CEDS_OCn_SLV $ROOT/CEDS/v2021-06/$YYYY/OC-em-anthro_CMIP_CEDS_$YYYY.nc OC_slv 1750-2019/1-12/1/0 C xy kg/m2/s num_a4 8930/2407/707/8042 1 5 0 CEDS_OCn_WST $ROOT/CEDS/v2021-06/$YYYY/OC-em-anthro_CMIP_CEDS_$YYYY.nc OC_wst 1750-2019/1-12/1/0 C xy kg/m2/s num_a4 8930/8042 1 5 #----------------------------------------------------- # // end AEROSOL NUMBER EMISSIONS FOR CEDS in CESM #----------------------------------------------------- # Note for CESM: Apply BCPI to bc_a4 0 CEDS_BCPI_AGR $ROOT/CEDS/v2021-06/$YYYY/BC-em-anthro_CMIP_CEDS_$YYYY.nc BC_agr 1750-2019/1-12/1/0 C xy kg/m2/s bc_a4 8920/2401 1 5 0 CEDS_BCPI_ENE $ROOT/CEDS/v2021-06/$YYYY/BC-em-anthro_CMIP_CEDS_$YYYY.nc BC_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s bc_a4 8920/2406/706/315 1 5 0 CEDS_BCPI_IND $ROOT/CEDS/v2021-06/$YYYY/BC-em-anthro_CMIP_CEDS_$YYYY.nc BC_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s bc_a4 8920/2407/707/316 1 5 0 CEDS_BCPI_TRA $ROOT/CEDS/v2021-06/$YYYY/BC-em-anthro_CMIP_CEDS_$YYYY.nc BC_tra 1750-2019/1-12/1/0 C xy kg/m2/s bc_a4 8920/2411/711 1 5 0 CEDS_BCPI_RCO $ROOT/CEDS/v2021-06/$YYYY/BC-em-anthro_CMIP_CEDS_$YYYY.nc BC_rco 1750-2019/1-12/1/0 C xy kg/m2/s bc_a4 8920/2409/709 1 5 0 CEDS_BCPI_SLV $ROOT/CEDS/v2021-06/$YYYY/BC-em-anthro_CMIP_CEDS_$YYYY.nc BC_slv 1750-2019/1-12/1/0 C xy kg/m2/s bc_a4 8920/2407/707 1 5 0 CEDS_BCPI_WST $ROOT/CEDS/v2021-06/$YYYY/BC-em-anthro_CMIP_CEDS_$YYYY.nc BC_wst 1750-2019/1-12/1/0 C xy kg/m2/s bc_a4 8920 1 5 # Note for CESM: Apply OCPI to pom_a4 0 CEDS_OCPI_AGR $ROOT/CEDS/v2021-06/$YYYY/OC-em-anthro_CMIP_CEDS_$YYYY.nc OC_agr 1750-2019/1-12/1/0 C xy kg/m2/s pom_a4 8930/2401 1 5 0 CEDS_POG1_AGR - - - - - - POG1 74/76/2401 1 5 0 CEDS_POG2_AGR - - - - - - POG2 74/77/2401 1 5 0 CEDS_OCPI_ENE $ROOT/CEDS/v2021-06/$YYYY/OC-em-anthro_CMIP_CEDS_$YYYY.nc OC_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s pom_a4 8930/2406/706/315 1 5 0 CEDS_POG1_ENE - - - - - - POG1 74/76/2406/706/315 1 5 0 CEDS_POG2_ENE - - - - - - POG2 74/77/2406/706/315 1 5 0 CEDS_OCPI_IND $ROOT/CEDS/v2021-06/$YYYY/OC-em-anthro_CMIP_CEDS_$YYYY.nc OC_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s pom_a4 8930/2407/707/316 1 5 0 CEDS_POG1_IND - - - - - - POG1 74/76/2407/707/316 1 5 0 CEDS_POG2_IND - - - - - - POG2 74/77/2407/707/316 1 5 0 CEDS_OCPI_TRA $ROOT/CEDS/v2021-06/$YYYY/OC-em-anthro_CMIP_CEDS_$YYYY.nc OC_tra 1750-2019/1-12/1/0 C xy kg/m2/s pom_a4 8930/2411/711 1 5 0 CEDS_POG1_TRA - - - - - - POG1 74/76/2411/711 1 5 0 CEDS_POG2_TRA - - - - - - POG2 74/77/2411/711 1 5 0 CEDS_OCPI_RCO $ROOT/CEDS/v2021-06/$YYYY/OC-em-anthro_CMIP_CEDS_$YYYY.nc OC_rco 1750-2019/1-12/1/0 C xy kg/m2/s pom_a4 8930/2409/709 1 5 0 CEDS_POG1_RCO - - - - - - POG1 74/76/2409/709 1 5 0 CEDS_POG2_RCO - - - - - - POG2 74/77/2409/709 1 5 0 CEDS_OCPI_SLV $ROOT/CEDS/v2021-06/$YYYY/OC-em-anthro_CMIP_CEDS_$YYYY.nc OC_slv 1750-2019/1-12/1/0 C xy kg/m2/s pom_a4 8930/2407/707 1 5 0 CEDS_POG1_SLV - - - - - - POG1 74/76/2407/707 1 5 0 CEDS_POG2_SLV - - - - - - POG2 74/77/2407/707 1 5 0 CEDS_OCPI_WST $ROOT/CEDS/v2021-06/$YYYY/OC-em-anthro_CMIP_CEDS_$YYYY.nc OC_wst 1750-2019/1-12/1/0 C xy kg/m2/s pom_a4 8930 1 5 0 CEDS_POG1_WST - - - - - - POG1 74/76 1 5 0 CEDS_POG2_WST - - - - - - POG2 74/77 1 5 # NOTE: EOH files in CEDS/v2021-06 are actually VOC1 (total alchohols) and are split into MOH, EOH, ROH here 0 CEDS_MOH_AGR $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_agr 1750-2019/1-12/1/0 C xy kg/m2/s MOH 90/2401 1 5 0 CEDS_EOH_AGR - - - - - - EOH 91/2401 1 5 0 CEDS_ROH_AGR - - - - - - ROH 92/2401 1 5 0 CEDS_MOH_ENE $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s MOH 90/2406/706/315 1 5 0 CEDS_EOH_ENE - - - - - - EOH 91/2406/706/315 1 5 0 CEDS_ROH_ENE - - - - - - ROH 92/2406/706/315 1 5 0 CEDS_MOH_IND $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s MOH 90/2407/707/316 1 5 0 CEDS_EOH_IND - - - - - - EOH 91/2407/707/316 1 5 0 CEDS_ROH_IND - - - - - - ROH 92/2407/707/316 1 5 0 CEDS_MOH_TRA $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_tra 1750-2019/1-12/1/0 C xy kg/m2/s MOH 90/2411/711 1 5 0 CEDS_EOH_TRA - - - - - - EOH 91/2411/711 1 5 0 CEDS_ROH_TRA - - - - - - ROH 92/2411/711 1 5 0 CEDS_MOH_RCO $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_rco 1750-2019/1-12/1/0 C xy kg/m2/s MOH 90/2409/709 1 5 0 CEDS_EOH_RCO - - - - - - EOH 91/2409/709 1 5 0 CEDS_ROH_RCO - - - - - - ROH 92/2409/709 1 5 0 CEDS_MOH_SLV $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_slv 1750-2019/1-12/1/0 C xy kg/m2/s MOH 90/2407/707 1 5 0 CEDS_EOH_SLV - - - - - - EOH 91/2407/707 1 5 0 CEDS_ROH_SLV - - - - - - ROH 92/2407/707 1 5 0 CEDS_MOH_WST $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_wst 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CEDS_EOH_WST - - - - - - EOH 26/91 1 5 0 CEDS_ROH_WST - - - - - - ROH 26/92 1 5 0 CEDS_C2H6_AGR $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_agr 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 2401 1 5 0 CEDS_C2H6_ENE $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s C2H6 2406/706/315 1 5 0 CEDS_C2H6_IND $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s C2H6 2407/707/316 1 5 0 CEDS_C2H6_TRA $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_tra 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 2411/711 1 5 0 CEDS_C2H6_RCO $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_rco 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 2409/709 1 5 0 CEDS_C2H6_SLV $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_slv 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 2407/707 1 5 0 CEDS_C2H6_WST $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_wst 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CEDS_C3H8_AGR $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_agr 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 2401 1 5 0 CEDS_C3H8_ENE $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s C3H8 2406/706/315 1 5 0 CEDS_C3H8_IND $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s C3H8 2407/707/316 1 5 0 CEDS_C3H8_TRA $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_tra 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 2411/711 1 5 0 CEDS_C3H8_RCO $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_rco 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 2409/709 1 5 0 CEDS_C3H8_SLV $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_slv 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 2407/707 1 5 0 CEDS_C3H8_WST $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_wst 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CEDS_C4H10_AGR $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_agr 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 2401 1 5 0 CEDS_C4H10_ENE $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s ALK4 2406/706/315 1 5 0 CEDS_C4H10_IND $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s ALK4 2407/707/316 1 5 0 CEDS_C4H10_TRA $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_tra 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 2411/711 1 5 0 CEDS_C4H10_RCO $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_rco 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 2409/709 1 5 0 CEDS_C4H10_SLV $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_slv 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 2407/707 1 5 0 CEDS_C4H10_WST $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_wst 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C5H12_AGR $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_agr 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 2401 1 5 0 CEDS_C5H12_ENE $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s ALK4 2406/706/315 1 5 0 CEDS_C5H12_IND $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s ALK4 2407/707/316 1 5 0 CEDS_C5H12_TRA $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_tra 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 2411/711 1 5 0 CEDS_C5H12_RCO $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_rco 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 2409/709 1 5 0 CEDS_C5H12_SLV $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_slv 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 2407/707 1 5 0 CEDS_C5H12_WST $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_wst 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C6H14_AGR $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_agr 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 2401 1 5 0 CEDS_C6H14_ENE $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s ALK6 2406/706/315 1 5 0 CEDS_C6H14_IND $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s ALK6 2407/707/316 1 5 0 CEDS_C6H14_TRA $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_tra 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 2411/711 1 5 0 CEDS_C6H14_RCO $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_rco 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 2409/709 1 5 0 CEDS_C6H14_SLV $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_slv 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 2407/707 1 5 0 CEDS_C6H14_WST $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_wst 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 1 5 0 CEDS_C2H4_AGR $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_agr 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 2401 1 5 0 CEDS_C2H4_ENE $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s C2H4 2406/706/315 1 5 0 CEDS_C2H4_IND $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s C2H4 2407/707/316 1 5 0 CEDS_C2H4_TRA $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_tra 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 2411/711 1 5 0 CEDS_C2H4_RCO $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_rco 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 2409/709 1 5 0 CEDS_C2H4_SLV $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_slv 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 2407/707 1 5 0 CEDS_C2H4_WST $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_wst 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CEDS_PRPE_AGR $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_agr 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 2401 1 5 0 CEDS_PRPE_ENE $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s PRPE 2406/706/315 1 5 0 CEDS_PRPE_IND $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s PRPE 2407/707/316 1 5 0 CEDS_PRPE_TRA $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_tra 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 2411/711 1 5 0 CEDS_PRPE_RCO $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_rco 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 2409/709 1 5 0 CEDS_PRPE_SLV $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_slv 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 2407/707 1 5 0 CEDS_PRPE_WST $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_wst 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CEDS_C2H2_AGR $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_agr 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 2401 1 5 0 CEDS_C2H2_ENE $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s C2H2 2406/706/315 1 5 0 CEDS_C2H2_IND $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s C2H2 2407/707/316 1 5 0 CEDS_C2H2_TRA $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_tra 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 2411/711 1 5 0 CEDS_C2H2_RCO $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_rco 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 2409/709 1 5 0 CEDS_C2H2_SLV $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_slv 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 2407/707 1 5 0 CEDS_C2H2_WST $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_wst 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CEDS_BENZ_AGR $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_agr 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 2401 1 5 0 CEDS_BENZ_ENE $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s BENZ 2406/706/315 1 5 0 CEDS_BENZ_IND $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s BENZ 2407/707/316 1 5 0 CEDS_BENZ_TRA $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_tra 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 2411/711 1 5 0 CEDS_BENZ_RCO $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_rco 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 2409/709 1 5 0 CEDS_BENZ_SLV $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_slv 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 2407/707 1 5 0 CEDS_BENZ_WST $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_wst 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CEDS_TOLU_AGR $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_agr 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 2401 1 5 0 CEDS_TOLU_ENE $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s TOLU 2406/706/315 1 5 0 CEDS_TOLU_IND $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s TOLU 2407/707/316 1 5 0 CEDS_TOLU_TRA $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_tra 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 2411/711 1 5 0 CEDS_TOLU_RCO $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_rco 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 2409/709 1 5 0 CEDS_TOLU_SLV $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_slv 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 2407/707 1 5 0 CEDS_TOLU_WST $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_wst 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CEDS_XYLE_AGR $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_agr 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 2401 1 5 0 CEDS_XYLE_ENE $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s XYLE 2406/706/315 1 5 0 CEDS_XYLE_IND $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s XYLE 2407/707/316 1 5 0 CEDS_XYLE_TRA $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_tra 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 2411/711 1 5 0 CEDS_XYLE_RCO $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_rco 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 2409/709 1 5 0 CEDS_XYLE_SLV $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_slv 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 2407/707 1 5 0 CEDS_XYLE_WST $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_wst 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CEDS_CH2O_AGR $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_agr 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 2401 1 5 0 CEDS_CH2O_ENE $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s CH2O 2406/706/315 1 5 0 CEDS_CH2O_IND $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s CH2O 2407/707/316 1 5 0 CEDS_CH2O_TRA $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_tra 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 2411/711 1 5 0 CEDS_CH2O_RCO $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_rco 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 2409/709 1 5 0 CEDS_CH2O_SLV $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_slv 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 2407/707 1 5 0 CEDS_CH2O_WST $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_wst 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CEDS_ALD2_AGR $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_agr 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 2401 1 5 0 CEDS_ALD2_ENE $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s ALD2 2406/706/315 1 5 0 CEDS_ALD2_IND $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s ALD2 2407/707/316 1 5 0 CEDS_ALD2_TRA $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_tra 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 2411/711 1 5 0 CEDS_ALD2_RCO $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_rco 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 2409/709 1 5 0 CEDS_ALD2_SLV $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_slv 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 2407/707 1 5 0 CEDS_ALD2_WST $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_wst 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CEDS_MEK_AGR $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_agr 1750-2019/1-12/1/0 C xy kg/m2/s MEK 2401 1 5 0 CEDS_MEK_ENE $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s MEK 2406/706/315 1 5 0 CEDS_MEK_IND $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s MEK 2407/707/316 1 5 0 CEDS_MEK_TRA $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_tra 1750-2019/1-12/1/0 C xy kg/m2/s MEK 2411/711 1 5 0 CEDS_MEK_RCO $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_rco 1750-2019/1-12/1/0 C xy kg/m2/s MEK 2409/709 1 5 0 CEDS_MEK_SLV $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_slv 1750-2019/1-12/1/0 C xy kg/m2/s MEK 2407/707 1 5 0 CEDS_MEK_WST $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_wst 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CEDS_HCOOH_AGR $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_agr 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 2401 1 5 0 CEDS_HCOOH_ENE $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s HCOOH 2406/706/315 1 5 0 CEDS_HCOOH_IND $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s HCOOH 2407/707/316 1 5 0 CEDS_HCOOH_TRA $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_tra 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 2411/711 1 5 0 CEDS_HCOOH_RCO $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_rco 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 2409/709 1 5 0 CEDS_HCOOH_SLV $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_slv 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 2407/707 1 5 0 CEDS_HCOOH_WST $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_wst 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CEDS_TMB_AGR $ROOT/CEDS/v2021-06/$YYYY/TMB-em-anthro_CMIP_CEDS_$YYYY.nc TMB_agr 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CEDS_TMB_ENE $ROOT/CEDS/v2021-06/$YYYY/TMB-em-anthro_CMIP_CEDS_$YYYY.nc TMB_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s HCOOH 26/315 1 5 0 CEDS_TMB_IND $ROOT/CEDS/v2021-06/$YYYY/TMB-em-anthro_CMIP_CEDS_$YYYY.nc TMB_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s HCOOH 26/316 1 5 0 CEDS_TMB_TRA $ROOT/CEDS/v2021-06/$YYYY/TMB-em-anthro_CMIP_CEDS_$YYYY.nc TMB_tra 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CEDS_TMB_RCO $ROOT/CEDS/v2021-06/$YYYY/TMB-em-anthro_CMIP_CEDS_$YYYY.nc TMB_rco 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CEDS_TMB_SLV $ROOT/CEDS/v2021-06/$YYYY/TMB-em-anthro_CMIP_CEDS_$YYYY.nc TMB_slv 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CEDS_TMB_WST $ROOT/CEDS/v2021-06/$YYYY/TMB-em-anthro_CMIP_CEDS_$YYYY.nc TMB_wst 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CEDS_OTH_AGR $ROOT/CEDS/v2021-06/$YYYY/OTHER_VOC-em-anthro_CMIP_CEDS_$YYYY.nc OTHER_VOC_agr 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 1 5 0 CEDS_OTH_ENE $ROOT/CEDS/v2021-06/$YYYY/OTHER_VOC-em-anthro_CMIP_CEDS_$YYYY.nc OTHER_VOC_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s ALK6 26/315 1 5 0 CEDS_OTH_IND $ROOT/CEDS/v2021-06/$YYYY/OTHER_VOC-em-anthro_CMIP_CEDS_$YYYY.nc OTHER_VOC_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s ALK6 26/316 1 5 0 CEDS_OTH_TRA $ROOT/CEDS/v2021-06/$YYYY/OTHER_VOC-em-anthro_CMIP_CEDS_$YYYY.nc OTHER_VOC_tra 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 1 5 0 CEDS_OTH_RCO $ROOT/CEDS/v2021-06/$YYYY/OTHER_VOC-em-anthro_CMIP_CEDS_$YYYY.nc OTHER_VOC_rco 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 1 5 0 CEDS_OTH_SLV $ROOT/CEDS/v2021-06/$YYYY/OTHER_VOC-em-anthro_CMIP_CEDS_$YYYY.nc OTHER_VOC_slv 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 1 5 0 CEDS_OTH_WST $ROOT/CEDS/v2021-06/$YYYY/OTHER_VOC-em-anthro_CMIP_CEDS_$YYYY.nc OTHER_VOC_wst 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 1 5 )))CEDSv2 #============================================================================== # --- CEDS GBD-MAPS --- # # NOTES: # -- Reference: McDuffie et al. (2020, Earth System Science Data) # -- Anthropogenic source sectors: agriculture, energy, industry, road transport, # non-road/off-road transport, residential, commercial, other energy use, # solvents, waste, international shipping # -- Fuel categories: the combustion of total coal, solid biofuel, liquid oil # and gas, and all remaining sources # **To use, enable CEDS_byFuelType and CEDS_SHIP_byFuelType** #============================================================================== (((CEDS_GBDMAPS >>>include $ROOT/CEDS/v2020-08/HEMCO_Config.CEDS_GBDMAPS.rc )))CEDS_GBDMAPS (((CEDS_GBDMAPS_byFuelType (((.not.CEDS_GBDMAPS (((.not.CEDSv2 >>>include $ROOT/CEDS/v2020-08/HEMCO_Config.CEDS_GBDMAPS_byFuelType.rc ))).not.CEDSv2 ))).not.CEDS_GBDMAPS )))CEDS_GBDMAPS_byFuelType #============================================================================== # --- CMIP6_SFC_LAND_ANTHRO --- # CEDS (historical) or Shared Socioeconomic Pathways (future), consistent with # the CMIP6 simulation experimental design. # # Make sure that the desired $GCAPSCENARIO is set above in SECTION SETTINGS # #============================================================================== (((CMIP6_SFC_LAND_ANTHRO 0 CMIP6_NO_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NO_agr 1750-2100/1-12/1/0 C xy kg/m2/s NO 25 1 5 0 CMIP6_NO_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NO_ene 1750-2100/1-12/1/0 C xy kg/m2/s NO 25 1 5 0 CMIP6_NO_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NO_ind 1750-2100/1-12/1/0 C xy kg/m2/s NO 25 1 5 0 CMIP6_NO_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NO_tra 1750-2100/1-12/1/0 C xy kg/m2/s NO 25 1 5 0 CMIP6_NO_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NO_rco 1750-2100/1-12/1/0 C xy kg/m2/s NO 25 1 5 0 CMIP6_NO_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NO_slv 1750-2100/1-12/1/0 C xy kg/m2/s NO 25 1 5 0 CMIP6_NO_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NO_wst 1750-2100/1-12/1/0 C xy kg/m2/s NO 25 1 5 0 CMIP6_CO_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_agr 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 1 5 0 CMIP6_SOAP_AGR - - - - - - SOAP 26/280 1 5 0 CMIP6_CO_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_ene 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 1 5 0 CMIP6_SOAP_ENE - - - - - - SOAP 26/280 1 5 0 CMIP6_CO_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_ind 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 1 5 0 CMIP6_SOAP_IND - - - - - - SOAP 26/280 1 5 0 CMIP6_CO_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_tra 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 1 5 0 CMIP6_SOAP_TRA - - - - - - SOAP 26/280 1 5 0 CMIP6_CO_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_rco 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 1 5 0 CMIP6_SOAP_RCO - - - - - - SOAP 26/280 1 5 0 CMIP6_CO_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_slv 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 1 5 0 CMIP6_SOAP_SLV - - - - - - SOAP 26/280 1 5 0 CMIP6_CO_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_wst 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 1 5 0 CMIP6_SOAP_WST - - - - - - SOAP 26/280 1 5 0 CMIP6_SO2_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_agr 1750-2100/1-12/1/0 C xy kg/m2/s SO2 - 1 5 0 CMIP6_SO4_AGR - - - - - - SO4 63 1 5 0 CMIP6_pFe_AGR - - - - - - pFe 66 1 5 0 CMIP6_SO2_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_ene 1750-2100/1-12/1/0 C xy kg/m2/s SO2 - 1 5 0 CMIP6_SO4_ENE - - - - - - SO4 63 1 5 0 CMIP6_pFe_ENE - - - - - - pFe 66 1 5 0 CMIP6_SO2_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_ind 1750-2100/1-12/1/0 C xy kg/m2/s SO2 - 1 5 0 CMIP6_SO4_IND - - - - - - SO4 63 1 5 0 CMIP6_pFe_IND - - - - - - pFe 66 1 5 0 CMIP6_SO2_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_tra 1750-2100/1-12/1/0 C xy kg/m2/s SO2 - 1 5 0 CMIP6_SO4_TRA - - - - - - SO4 63 1 5 0 CMIP6_pFe_TRA - - - - - - pFe 66 1 5 0 CMIP6_SO2_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_rco 1750-2100/1-12/1/0 C xy kg/m2/s SO2 - 1 5 0 CMIP6_SO4_RCO - - - - - - SO4 63 1 5 0 CMIP6_pFe_RCO - - - - - - pFe 66 1 5 0 CMIP6_SO2_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_slv 1750-2100/1-12/1/0 C xy kg/m2/s SO2 - 1 5 0 CMIP6_SO4_SLV - - - - - - SO4 63 1 5 0 CMIP6_pFe_SLV - - - - - - pFe 66 1 5 0 CMIP6_SO2_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_wst 1750-2100/1-12/1/0 C xy kg/m2/s SO2 - 1 5 0 CMIP6_SO4_WST - - - - - - SO4 63 1 5 0 CMIP6_pFe_WST - - - - - - pFe 66 1 5 0 CMIP6_NH3_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_agr 1750-2100/1-12/1/0 C xy kg/m2/s NH3 - 1 5 0 CMIP6_NH3_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_ene 1750-2100/1-12/1/0 C xy kg/m2/s NH3 - 1 5 0 CMIP6_NH3_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_ind 1750-2100/1-12/1/0 C xy kg/m2/s NH3 - 1 5 0 CMIP6_NH3_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_tra 1750-2100/1-12/1/0 C xy kg/m2/s NH3 - 1 5 0 CMIP6_NH3_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_rco 1750-2100/1-12/1/0 C xy kg/m2/s NH3 - 1 5 0 CMIP6_NH3_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_slv 1750-2100/1-12/1/0 C xy kg/m2/s NH3 - 1 5 0 CMIP6_NH3_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_wst 1750-2100/1-12/1/0 C xy kg/m2/s NH3 - 1 5 0 CMIP6_BCPI_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_agr 1750-2100/1-12/1/0 C xy kg/m2/s BCPI 70 1 5 0 CMIP6_BCPO_AGR - - - - - - BCPO 71 1 5 0 CMIP6_BCPI_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_ene 1750-2100/1-12/1/0 C xy kg/m2/s BCPI 70 1 5 0 CMIP6_BCPO_ENE - - - - - - BCPO 71 1 5 0 CMIP6_BCPI_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_ind 1750-2100/1-12/1/0 C xy kg/m2/s BCPI 70 1 5 0 CMIP6_BCPO_IND - - - - - - BCPO 71 1 5 0 CMIP6_BCPI_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_tra 1750-2100/1-12/1/0 C xy kg/m2/s BCPI 70 1 5 0 CMIP6_BCPO_TRA - - - - - - BCPO 71 1 5 0 CMIP6_BCPI_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_rco 1750-2100/1-12/1/0 C xy kg/m2/s BCPI 70 1 5 0 CMIP6_BCPO_RCO - - - - - - BCPO 71 1 5 0 CMIP6_BCPI_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_slv 1750-2100/1-12/1/0 C xy kg/m2/s BCPI 70 1 5 0 CMIP6_BCPO_SLV - - - - - - BCPO 71 1 5 0 CMIP6_BCPI_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_wst 1750-2100/1-12/1/0 C xy kg/m2/s BCPI 70 1 5 0 CMIP6_BCPO_WST - - - - - - BCPO 71 1 5 0 CMIP6_OCPI_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_agr 1750-2100/1-12/1/0 C xy kg/m2/s OCPI 72 1 5 0 CMIP6_OCPO_AGR - - - - - - OCPO 73 1 5 0 CMIP6_POG1_AGR - - - - - - POG1 74/76 1 5 0 CMIP6_POG2_AGR - - - - - - POG2 74/77 1 5 0 CMIP6_OCPI_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_ene 1750-2100/1-12/1/0 C xy kg/m2/s OCPI 72 1 5 0 CMIP6_OCPO_ENE - - - - - - OCPO 73 1 5 0 CMIP6_POG1_ENE - - - - - - POG1 74/76 1 5 0 CMIP6_POG2_ENE - - - - - - POG2 74/77 1 5 0 CMIP6_OCPI_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_ind 1750-2100/1-12/1/0 C xy kg/m2/s OCPI 72 1 5 0 CMIP6_OCPO_IND - - - - - - OCPO 73 1 5 0 CMIP6_POG1_IND - - - - - - POG1 74/76 1 5 0 CMIP6_POG2_IND - - - - - - POG2 74/77 1 5 0 CMIP6_OCPI_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_tra 1750-2100/1-12/1/0 C xy kg/m2/s OCPI 72 1 5 0 CMIP6_OCPO_TRA - - - - - - OCPO 73 1 5 0 CMIP6_POG1_TRA - - - - - - POG1 74/76 1 5 0 CMIP6_POG2_TRA - - - - - - POG2 74/77 1 5 0 CMIP6_OCPI_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_rco 1750-2100/1-12/1/0 C xy kg/m2/s OCPI 72 1 5 0 CMIP6_OCPO_RCO - - - - - - OCPO 73 1 5 0 CMIP6_POG1_RCO - - - - - - POG1 74/76 1 5 0 CMIP6_POG2_RCO - - - - - - POG2 74/77 1 5 0 CMIP6_OCPI_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_slv 1750-2100/1-12/1/0 C xy kg/m2/s OCPI 72 1 5 0 CMIP6_OCPO_SLV - - - - - - OCPO 73 1 5 0 CMIP6_POG1_SLV - - - - - - POG1 74/76 1 5 0 CMIP6_POG2_SLV - - - - - - POG2 74/77 1 5 0 CMIP6_OCPI_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_wst 1750-2100/1-12/1/0 C xy kg/m2/s OCPI 72 1 5 0 CMIP6_OCPO_WST - - - - - - OCPO 73 1 5 0 CMIP6_POG1_WST - - - - - - POG1 74/76 1 5 0 CMIP6_POG2_WST - - - - - - POG2 74/77 1 5 # Comment out CO2 for fullchem simulations: CO2 not advected #0 CMIP6_CO2_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO2_agr 1750-2100/1-12/1/0 C xy kg/m2/s CO2 - 1 5 #0 CMIP6_CO2_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO2_ene 1750-2100/1-12/1/0 C xy kg/m2/s CO2 - 1 5 #0 CMIP6_CO2_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO2_ind 1750-2100/1-12/1/0 C xy kg/m2/s CO2 - 1 5 #0 CMIP6_CO2_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO2_tra 1750-2100/1-12/1/0 C xy kg/m2/s CO2 - 1 5 #0 CMIP6_CO2_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO2_rco 1750-2100/1-12/1/0 C xy kg/m2/s CO2 - 1 5 #0 CMIP6_CO2_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO2_slv 1750-2100/1-12/1/0 C xy kg/m2/s CO2 - 1 5 #0 CMIP6_CO2_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO2_wst 1750-2100/1-12/1/0 C xy kg/m2/s CO2 - 1 5 # Comment out CH4 for fullchem simulations: do not use CH4 emissions # CMIP6 CH4 emissions are only available for 1970-2014 #0 CMIP6_CH4_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_agr 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 1 5 #0 CMIP6_CH4_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_ene 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 1 5 #0 CMIP6_CH4_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_ind 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 1 5 #0 CMIP6_CH4_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_tra 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 1 5 #0 CMIP6_CH4_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_rco 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 1 5 #0 CMIP6_CH4_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_slv 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 1 5 #0 CMIP6_CH4_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_wst 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 1 5 # NOTE: EOH files in CMIP6/v2021-01 are actually VOC1 (total alchohols) and are split into MOH, EOH, ROH here 0 CMIP6_MOH_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 EOH_agr 1750-2100/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CMIP6_EOH_AGR - - - - - - EOH 26/91 1 5 0 CMIP6_ROH_AGR - - - - - - ROH 26/92 1 5 0 CMIP6_MOH_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 EOH_ene 1750-2100/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CMIP6_EOH_ENE - - - - - - EOH 26/91 1 5 0 CMIP6_ROH_ENE - - - - - - ROH 26/92 1 5 0 CMIP6_MOH_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 EOH_ind 1750-2100/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CMIP6_EOH_IND - - - - - - EOH 26/91 1 5 0 CMIP6_ROH_IND - - - - - - ROH 26/92 1 5 0 CMIP6_MOH_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 EOH_tra 1750-2100/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CMIP6_EOH_TRA - - - - - - EOH 26/91 1 5 0 CMIP6_ROH_TRA - - - - - - ROH 26/92 1 5 0 CMIP6_MOH_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 EOH_rco 1750-2100/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CMIP6_EOH_RCO - - - - - - EOH 26/91 1 5 0 CMIP6_ROH_RCO - - - - - - ROH 26/92 1 5 0 CMIP6_MOH_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 EOH_slv 1750-2100/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CMIP6_EOH_SLV - - - - - - EOH 26/91 1 5 0 CMIP6_ROH_SLV - - - - - - ROH 26/92 1 5 0 CMIP6_MOH_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 EOH_wst 1750-2100/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CMIP6_EOH_WST - - - - - - EOH 26/91 1 5 0 CMIP6_ROH_WST - - - - - - ROH 26/92 1 5 0 CMIP6_C2H6_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H6_agr 1750-2100/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CMIP6_C2H6_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H6_ene 1750-2100/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CMIP6_C2H6_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H6_ind 1750-2100/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CMIP6_C2H6_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H6_tra 1750-2100/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CMIP6_C2H6_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H6_rco 1750-2100/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CMIP6_C2H6_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H6_slv 1750-2100/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CMIP6_C2H6_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H6_wst 1750-2100/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CMIP6_C3H8_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C3H8_agr 1750-2100/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CMIP6_C3H8_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C3H8_ene 1750-2100/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CMIP6_C3H8_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C3H8_ind 1750-2100/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CMIP6_C3H8_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C3H8_tra 1750-2100/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CMIP6_C3H8_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C3H8_rco 1750-2100/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CMIP6_C3H8_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C3H8_slv 1750-2100/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CMIP6_C3H8_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C3H8_wst 1750-2100/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CMIP6_C4H10_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_butanes_agr 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C4H10_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_butanes_ene 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C4H10_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_butanes_ind 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C4H10_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_butanes_tra 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C4H10_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_butanes_rco 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C4H10_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_butanes_slv 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C4H10_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_butanes_wst 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C5H12_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_pentanes_agr 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C5H12_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_pentanes_ene 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C5H12_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_pentanes_ind 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C5H12_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_pentanes_tra 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C5H12_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_pentanes_rco 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C5H12_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_pentanes_slv 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C5H12_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_pentanes_wst 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C6H14_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_hexanes_agr 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C6H14_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_hexanes_ene 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C6H14_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_hexanes_ind 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C6H14_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_hexanes_tra 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C6H14_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_hexanes_rco 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C6H14_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_hexanes_slv 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C6H14_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_hexanes_wst 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C2H4_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H4_agr 1750-2100/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CMIP6_C2H4_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H4_ene 1750-2100/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CMIP6_C2H4_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H4_ind 1750-2100/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CMIP6_C2H4_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H4_tra 1750-2100/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CMIP6_C2H4_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H4_rco 1750-2100/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CMIP6_C2H4_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H4_slv 1750-2100/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CMIP6_C2H4_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H4_wst 1750-2100/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CMIP6_PRPE_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 PRPE_agr 1750-2100/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CMIP6_PRPE_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 PRPE_ene 1750-2100/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CMIP6_PRPE_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 PRPE_ind 1750-2100/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CMIP6_PRPE_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 PRPE_tra 1750-2100/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CMIP6_PRPE_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 PRPE_rco 1750-2100/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CMIP6_PRPE_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 PRPE_slv 1750-2100/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CMIP6_PRPE_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 PRPE_wst 1750-2100/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CMIP6_C2H2_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H2_agr 1750-2100/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CMIP6_C2H2_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H2_ene 1750-2100/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CMIP6_C2H2_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H2_ind 1750-2100/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CMIP6_C2H2_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H2_tra 1750-2100/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CMIP6_C2H2_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H2_rco 1750-2100/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CMIP6_C2H2_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H2_slv 1750-2100/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CMIP6_C2H2_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H2_wst 1750-2100/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CMIP6_BENZ_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BENZ_agr 1750-2100/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CMIP6_BENZ_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BENZ_ene 1750-2100/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CMIP6_BENZ_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BENZ_ind 1750-2100/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CMIP6_BENZ_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BENZ_tra 1750-2100/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CMIP6_BENZ_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BENZ_rco 1750-2100/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CMIP6_BENZ_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BENZ_slv 1750-2100/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CMIP6_BENZ_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BENZ_wst 1750-2100/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CMIP6_TOLU_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 TOLU_agr 1750-2100/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CMIP6_TOLU_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 TOLU_ene 1750-2100/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CMIP6_TOLU_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 TOLU_ind 1750-2100/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CMIP6_TOLU_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 TOLU_tra 1750-2100/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CMIP6_TOLU_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 TOLU_rco 1750-2100/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CMIP6_TOLU_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 TOLU_slv 1750-2100/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CMIP6_TOLU_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 TOLU_wst 1750-2100/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CMIP6_XYLE_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 XYLE_agr 1750-2100/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CMIP6_XYLE_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 XYLE_ene 1750-2100/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CMIP6_XYLE_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 XYLE_ind 1750-2100/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CMIP6_XYLE_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 XYLE_tra 1750-2100/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CMIP6_XYLE_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 XYLE_rco 1750-2100/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CMIP6_XYLE_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 XYLE_slv 1750-2100/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CMIP6_XYLE_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 XYLE_wst 1750-2100/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CMIP6_CH2O_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH2O_agr 1750-2100/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CMIP6_CH2O_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH2O_ene 1750-2100/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CMIP6_CH2O_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH2O_ind 1750-2100/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CMIP6_CH2O_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH2O_tra 1750-2100/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CMIP6_CH2O_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH2O_rco 1750-2100/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CMIP6_CH2O_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH2O_slv 1750-2100/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CMIP6_CH2O_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH2O_wst 1750-2100/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CMIP6_ALD2_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALD2_agr 1750-2100/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CMIP6_ALD2_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALD2_ene 1750-2100/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CMIP6_ALD2_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALD2_ind 1750-2100/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CMIP6_ALD2_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALD2_tra 1750-2100/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CMIP6_ALD2_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALD2_rco 1750-2100/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CMIP6_ALD2_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALD2_slv 1750-2100/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CMIP6_ALD2_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALD2_wst 1750-2100/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CMIP6_MEK_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MEK_agr 1750-2100/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CMIP6_MEK_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MEK_ene 1750-2100/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CMIP6_MEK_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MEK_ind 1750-2100/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CMIP6_MEK_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MEK_tra 1750-2100/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CMIP6_MEK_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MEK_rco 1750-2100/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CMIP6_MEK_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MEK_slv 1750-2100/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CMIP6_MEK_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MEK_wst 1750-2100/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CMIP6_HCOOH_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 HCOOH_agr 1750-2100/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CMIP6_HCOOH_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 HCOOH_ene 1750-2100/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CMIP6_HCOOH_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 HCOOH_ind 1750-2100/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CMIP6_HCOOH_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 HCOOH_tra 1750-2100/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CMIP6_HCOOH_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 HCOOH_rco 1750-2100/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CMIP6_HCOOH_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 HCOOH_slv 1750-2100/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CMIP6_HCOOH_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 HCOOH_wst 1750-2100/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 )))CMIP6_SFC_LAND_ANTHRO #============================================================================== # CEDS (historical) or Shared Socioeconomic Pathways (future) aircraft # emissions, consistent with the CMIP6 simulation experimental design # # Make sure that the desired $GCAPSCENARIO is set above in SECTION SETTINGS # #============================================================================== (((CMIP6_AIRCRAFT 0 CMIP6_AIR_NO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY_AIR.$GCAPVERTRES.nc4 NO_air 1750-2100/1-12/1/0 C xyz kg/m2/s NO - 20 1 0 CMIP6_AIR_CO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY_AIR.$GCAPVERTRES.nc4 CO_air 1750-2100/1-12/1/0 C xyz kg/m2/s CO - 20 1 0 CMIP6_AIR_SOAP - - - - - - SOAP 280 20 1 0 CMIP6_AIR_SO2 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY_AIR.$GCAPVERTRES.nc4 SO2_air 1750-2100/1-12/1/0 C xyz kg/m2/s SO2 - 20 1 0 CMIP6_AIR_SO4 - - - - - - SO4 63 20 1 0 CMIP6_AIR_pFe - - - - - - pFe 66 20 1 0 CMIP6_AIR_ACET - - - - - - ACET 601 20 1 0 CMIP6_AIR_ALD2 - - - - - - ALD2 602 20 1 0 CMIP6_AIR_ALK4 - - - - - - ALK4 603 20 1 0 CMIP6_AIR_C2H6 - - - - - - C2H6 604 20 1 0 CMIP6_AIR_C3H8 - - - - - - C3H8 605 20 1 0 CMIP6_AIR_CH2O - - - - - - CH2O 606 20 1 0 CMIP6_AIR_PRPE - - - - - - PRPE 607 20 1 0 CMIP6_AIR_MACR - - - - - - MACR 608 20 1 0 CMIP6_AIR_RCHO - - - - - - RCHO 609 20 1 0 CMIP6_AIR_NH3 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY_AIR.$GCAPVERTRES.nc4 NH3_air 1750-2100/1-12/1/0 C xyz kg/m2/s NH3 - 20 1 # Assume all BC/OC is BCPI/OCPI 0 CMIP6_AIR_BCPI $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY_AIR.$GCAPVERTRES.nc4 BC_air 1750-2100/1-12/1/0 C xyz kg/m2/s BCPI - 20 1 0 CMIP6_AIR_OCPI $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY_AIR.$GCAPVERTRES.nc4 OC_air 1750-2100/1-12/1/0 C xyz kg/m2/s OCPI - 20 1 0 CMIP6_AIR_POG1 - - - - - - POG1 74/76 20 1 0 CMIP6_AIR_POG2 - - - - - - POG2 74/77 20 1 )))CMIP6_AIRCRAFT #============================================================================== # --- EDGAR v4.3 --- # # %%% This is an optional inventory. You may select either CEDS, EDGAR, # or HTAPv3 for the global base emissions %%% # # The following emissions are not included in EDGAR and will be added: # * Wiedinmyer et al. (2014) global trash emissions # * CEDS VOC emissions # # Aviation and shipping emissions from EDGAR are not included here. # We also do not include the following sources: # - Soil emissions of NOx (SOL). These emissions are calculated via the # SoilNOx extension. # - Open biomass burning (AWB). These emissions are obtained from # GFED, QFED, FINN, or GFAS. #============================================================================== (((EDGARv43 0 EDGAR_BCPI_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.POW.0.1x0.1.nc emi_bc 1970-2010/1/1/0 C xy kg/m2/s BCPI 1201/70 1 2 0 EDGAR_BCPO_POW - - - - - - BCPO 1201/71 1 2 0 EDGAR_BCPI_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.ENG.0.1x0.1.nc emi_bc 1970-2010/1/1/0 C xy kg/m2/s BCPI 1202/70 1 2 0 EDGAR_BCPO_ENG - - - - - - BCPO 1202/71 1 2 0 EDGAR_BCPI_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.IND.0.1x0.1.nc emi_bc 1970-2010/1/1/0 C xy kg/m2/s BCPI 1203/70 1 2 0 EDGAR_BCPO_IND - - - - - - BCPO 1203/71 1 2 0 EDGAR_BCPI_TRO $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.TRO.0.1x0.1.nc emi_bc 1970-2010/1/1/0 C xy kg/m2/s BCPI 1204/70 1 2 0 EDGAR_BCPO_TRO - - - - - - BCPO 1204/71 1 2 0 EDGAR_BCPI_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.TNG.0.1x0.1.nc emi_bc 1970-2010/1/1/0 C xy kg/m2/s BCPI 1205/70 1 2 0 EDGAR_BCPO_TNG - - - - - - BCPO 1205/71 1 2 0 EDGAR_BCPI_RCO $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.RCO.0.1x0.1.nc emi_bc 1970-2010/1/1/0 C xy kg/m2/s BCPI 1206/70 1 2 0 EDGAR_BCPO_RCO - - - - - - BCPO 1206/71 1 2 0 EDGAR_BCPI_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.PPA.0.1x0.1.nc emi_bc 1970-2010/1/1/0 C xy kg/m2/s BCPI 1207/70 1 2 0 EDGAR_BCPO_PPA - - - - - - BCPO 1207/71 1 2 #0 EDGAR_BCPI_AWB $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.AWB.0.1x0.1.nc emi_bc 1970-2010/1/1/0 C xy kg/m2/s BCPI 1209/70 1 2 #0 EDGAR_BCPO_AWB - - - - - - BCPO 1209/71 1 2 0 EDGAR_BCPI_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.SWD.0.1x0.1.nc emi_bc 1970-2010/1/1/0 C xy kg/m2/s BCPI 1211/70 1 2 0 EDGAR_BCPO_SWD - - - - - - BCPO 1211/71 1 2 0 EDGAR_BCPI_FFF $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.FFF.0.1x0.1.nc emi_bc 1970-2010/1/1/0 C xy kg/m2/s BCPI 1212/70 1 2 0 EDGAR_BCPO_FFF - - - - - - BCPO 1212/71 1 2 0 EDGAR_CO_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.POW.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO 1201/26/52 1 2 0 EDGAR_SOAP_POW - - - - - - SOAP 1201/26/52/280 1 2 0 EDGAR_CO_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.ENG.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO 1202/26/52 1 2 0 EDGAR_SOAP_ENG - - - - - - SOAP 1202/26/52/280 1 2 0 EDGAR_CO_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.IND.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO 1203/26/52 1 2 0 EDGAR_SOAP_IND - - - - - - SOAP 1203/26/52/280 1 2 0 EDGAR_CO_TRO $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.TRO.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO 1204/26/52 1 2 0 EDGAR_SOAP_TRO - - - - - - SOAP 1204/26/52/280 1 2 0 EDGAR_CO_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.TNG.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO 1205/26/52 1 2 0 EDGAR_SOAP_TNG - - - - - - SOAP 1205/26/52/280 1 2 0 EDGAR_CO_RCO $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.RCO.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO 1206/26/52 1 2 0 EDGAR_SOAP_RCO - - - - - - SOAP 1206/26/52/280 1 2 0 EDGAR_CO_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.PPA.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO 1207/26/52 1 2 0 EDGAR_SOAP_PPA - - - - - - SOAP 1207/26/52/280 1 2 #0 EDGAR_CO_AWB $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.AWB.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO 1209/26/52 1 2 #0 EDGAR_SOAP_AWB - - - - - - SOAP 1209/26/52/280 1 2 0 EDGAR_CO_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.SWD.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO 1211/26/52 1 2 0 EDGAR_SOAP_SWD - - - - - - SOAP 1211/26/52/280 1 2 0 EDGAR_CO_FFF $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.FFF.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO 1212/26/52 1 2 0 EDGAR_SOAP_FFF - - - - - - SOAP 1212/26/52/280 1 2 0 EDGAR_NH3_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.POW.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1201 1 2 0 EDGAR_NH3_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.ENG.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1202 1 2 0 EDGAR_NH3_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.IND.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1203 1 2 0 EDGAR_NH3_TRO $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.TRO.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1204 1 2 0 EDGAR_NH3_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.TNG.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1205 1 2 0 EDGAR_NH3_RCO $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.RCO.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1206 1 2 0 EDGAR_NH3_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.PPA.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1207 1 2 0 EDGAR_NH3_AGR $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.AGR.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1208 1 2 #0 EDGAR_NH3_AWB $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.AWB.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1209 1 2 0 EDGAR_NH3_SOL $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.SOL.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1210 1 2 0 EDGAR_NH3_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.SWD.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1211 1 2 0 EDGAR_NO_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.POW.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1201/25/115 1 2 0 EDGAR_NO_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.ENG.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1202/25/115 1 2 0 EDGAR_NO_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.IND.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1203/25/115 1 2 0 EDGAR_NO_TRO $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.TRO.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1204/25/115 1 2 0 EDGAR_NO_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.TNG.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1205/25/115 1 2 0 EDGAR_NO_RCO $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.RCO.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1206/25/115 1 2 0 EDGAR_NO_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.PPA.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1207/25/115 1 2 0 EDGAR_NO_AGR $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.AGR.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1208/25/115 1 2 #0 EDGAR_NO_AWB $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.AWB.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1209/25/115 1 2 #0 EDGAR_NO_SOL $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.SOL.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1210/25/115 1 2 0 EDGAR_NO_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.SWD.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1211/25/115 1 2 0 EDGAR_NO_FFF $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.FFF.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1212/25/115 1 2 0 EDGAR_OCPI_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.POW.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1201/72 1 2 0 EDGAR_OCPO_POW - - - - - - OCPO 1201/73 1 2 0 EDGAR_POG1_POW - - - - - - POG1 1201/74/76 1 2 0 EDGAR_POG2_POW - - - - - - POG2 1201/74/77 1 2 0 EDGAR_OCPI_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.ENG.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1202/72 1 2 0 EDGAR_OCPO_ENG - - - - - - OCPO 1202/73 1 2 0 EDGAR_POG1_ENG - - - - - - POG1 1202/74/76 1 2 0 EDGAR_POG2_ENG - - - - - - POG2 1202/74/77 1 2 0 EDGAR_OCPI_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.IND.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1203/72 1 2 0 EDGAR_OCPO_IND - - - - - - OCPO 1203/73 1 2 0 EDGAR_POG1_IND - - - - - - POG1 1203/74/76 1 2 0 EDGAR_POG2_IND - - - - - - POG2 1203/74/77 1 2 0 EDGAR_OCPI_TRO $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.TRO.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1204/72 1 2 0 EDGAR_OCPO_TRO - - - - - - OCPO 1204/73 1 2 0 EDGAR_POG1_TRO - - - - - - POG1 1204/74/76 1 2 0 EDGAR_POG2_TRO - - - - - - POG2 1204/74/77 1 2 0 EDGAR_OCPI_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.TNG.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1205/72 1 2 0 EDGAR_OCPO_TNG - - - - - - OCPO 1205/73 1 2 0 EDGAR_POG1_TNG - - - - - - POG1 1205/74/76 1 2 0 EDGAR_POG2_TNG - - - - - - POG2 1205/74/77 1 2 0 EDGAR_OCPI_RCO $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.RCO.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1206/72 1 2 0 EDGAR_OCPO_RCO - - - - - - OCPO 1206/73 1 2 0 EDGAR_POG1_RCO - - - - - - POG1 1206/74/76 1 2 0 EDGAR_POG2_RCO - - - - - - POG2 1206/74/77 1 2 #0 EDGAR_OCPI_AWB $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.AWB.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1209/72 1 2 #0 EDGAR_OCPO_AWB - - - - - - OCPO 1209/73 1 2 #0 EDGAR_POG1_AWB - - - - - - POG1 1209/74/76 1 2 #0 EDGAR_POG2_AWB - - - - - - POG2 1209/74/77 1 2 0 EDGAR_OCPI_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.SWD.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1211/72 1 2 0 EDGAR_OCPO_SWD - - - - - - OCPO 1211/73 1 2 0 EDGAR_POG1_SWD - - - - - - POG1 1211/74/76 1 2 0 EDGAR_POG2_SWD - - - - - - POG2 1211/74/77 1 2 0 EDGAR_OCPI_FFF $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.FFF.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1212/72 1 2 0 EDGAR_OCPO_FFF - - - - - - OCPO 1212/73 1 2 0 EDGAR_POG1_FFF - - - - - - POG1 1212/74/76 1 2 0 EDGAR_POG2_FFF - - - - - - POG2 1212/74/77 1 2 0 EDGAR_SO2_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.POW.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1201 1 2 0 EDGAR_SO4_POW - - - - - - SO4 1201/63 1 2 0 EDGAR_pFe_POW - - - - - - pFe 1201/66 1 2 0 EDGAR_SO2_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.ENG.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1202 1 2 0 EDGAR_SO4_ENG - - - - - - SO4 1202/63 1 2 0 EDGAR_pFe_ENG - - - - - - pFe 1202/66 1 2 0 EDGAR_SO2_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.IND.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1203 1 2 0 EDGAR_SO4_IND - - - - - - SO4 1203/63 1 2 0 EDGAR_pFe_IND - - - - - - pFe 1203/66 1 2 0 EDGAR_SO2_TRO $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.TRO.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1204 1 2 0 EDGAR_SO4_TRO - - - - - - SO4 1204/63 1 2 0 EDGAR_pFe_TRO - - - - - - pFe 1204/66 1 2 0 EDGAR_SO2_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.TNG.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1205 1 2 0 EDGAR_SO4_TNG - - - - - - SO4 1205/63 1 2 0 EDGAR_pFe_TNG - - - - - - pFe 1205/66 1 2 0 EDGAR_SO2_RCO $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.RCO.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1206 1 2 0 EDGAR_SO4_RCO - - - - - - SO4 1206/63 1 2 0 EDGAR_pFe_RCO - - - - - - pFe 1206/66 1 2 0 EDGAR_SO2_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.PPA.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1207 1 2 0 EDGAR_SO4_PPA - - - - - - SO4 1207/63 1 2 0 EDGAR_pFe_PPA - - - - - - pFe 1207/66 1 2 #0 EDGAR_SO2_AWB $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.AWB.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1209 1 2 #0 EDGAR_SO4_AWB - - - - - - SO4 1209/63 1 2 #0 EDGAR_pFe_AWB - - - - - - pFe 1209/66 1 2 0 EDGAR_SO2_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.SWD.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1211 1 2 0 EDGAR_SO4_SWD - - - - - - SO4 1211/63 1 2 0 EDGAR_pFe_SWD - - - - - - pFe 1211/66 1 2 0 EDGAR_SO2_FFF $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.FFF.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1212 1 2 0 EDGAR_SO4_FFF - - - - - - SO4 1212/63 1 2 0 EDGAR_pFe_FFF - - - - - - pFe 1212/66 1 2 #============================================================================== # --- NAP ANTHROPOGENIC EMISSIONS: approximate from EDGAR BENZ --- # # NOTE: Although this data comes from EDGAR version 2, we are storing it # in the EDGARv42 data path for convenience. #============================================================================== 0 EDGAR_NAP $ROOT/EDGARv42/v2015-02/VOCv2/EDGAR2_1985_FF_IND.1x1geos.nc BENZ 1985/1/1/0 C xy kgC/m2/s NAP 80/81/82/43 1 2 #============================================================================== # --- Wiedinmyer et al. (2014) global trash emissions to be added to EDGAR --- #============================================================================== 0 TRASH_CO $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc CO 2008/1/1/0 C xy kg/m2/s CO - 1 2 0 TRASH_SOAP - - - - - - SOAP 280 1 2 0 TRASH_NO $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc NO 2008/1/1/0 C xy kg/m2/s NO - 1 2 0 TRASH_SO2 $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc SO2 2008/1/1/0 C xy kg/m2/s SO2 78 1 2 0 TRASH_SO4 - - - - - - SO4 63 1 2 0 TRASH_pFe - - - - - - pFe 78/66 1 2 0 TRASH_BCPI $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc BC 2008/1/1/0 C xy kg/m2/s BCPI 70 1 2 0 TRASH_BCPO - - - - - - BCPO 71 1 2 0 TRASH_OCPI $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc OC 2008/1/1/0 C xy kg/m2/s OCPI 72 1 2 0 TRASH_OCPO - - - - - - OCPO 73 1 2 0 TRASH_POG1 - - - - - - POG1 74/76 1 2 0 TRASH_POG2 - - - - - - POG2 74/77 1 2 0 TRASH_NH3 $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc NH3 2008/1/1/0 C xy kg/m2/s NH3 - 1 2 #============================================================================== # --- CEDS VOC emissions to be added to EDGAR --- #============================================================================== 0 CEDS_MOH_AGR $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_agr 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CEDS_EOH_AGR - - - - - - EOH 26/91 1 5 0 CEDS_ROH_AGR - - - - - - ROH 26/92 1 5 0 CEDS_MOH_ENE $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_ene 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CEDS_EOH_ENE - - - - - - EOH 26/91 1 5 0 CEDS_ROH_ENE - - - - - - ROH 26/92 1 5 0 CEDS_MOH_IND $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_ind 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CEDS_EOH_IND - - - - - - EOH 26/91 1 5 0 CEDS_ROH_IND - - - - - - ROH 26/92 1 5 0 CEDS_MOH_TRA $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_tra 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CEDS_EOH_TRA - - - - - - EOH 26/91 1 5 0 CEDS_ROH_TRA - - - - - - ROH 26/92 1 5 0 CEDS_MOH_RCO $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_rco 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CEDS_EOH_RCO - - - - - - EOH 26/91 1 5 0 CEDS_ROH_RCO - - - - - - ROH 26/92 1 5 0 CEDS_MOH_SLV $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_slv 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CEDS_EOH_SLV - - - - - - EOH 26/91 1 5 0 CEDS_ROH_SLV - - - - - - ROH 26/92 1 5 0 CEDS_MOH_WST $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_wst 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CEDS_EOH_WST - - - - - - EOH 26/91 1 5 0 CEDS_ROH_WST - - - - - - ROH 26/92 1 5 0 CEDS_C2H6_AGR $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_agr 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CEDS_C2H6_ENE $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_ene 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CEDS_C2H6_IND $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_ind 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CEDS_C2H6_TRA $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_tra 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CEDS_C2H6_RCO $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_rco 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CEDS_C2H6_SLV $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_slv 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CEDS_C2H6_WST $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_wst 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CEDS_C3H8_AGR $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_agr 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CEDS_C3H8_ENE $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_ene 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CEDS_C3H8_IND $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_ind 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CEDS_C3H8_TRA $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_tra 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CEDS_C3H8_RCO $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_rco 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CEDS_C3H8_SLV $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_slv 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CEDS_C3H8_WST $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_wst 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CEDS_C4H10_AGR $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_agr 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C4H10_ENE $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_ene 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C4H10_IND $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_ind 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C4H10_TRA $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_tra 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C4H10_RCO $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_rco 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C4H10_SLV $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_slv 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C4H10_WST $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_wst 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C5H12_AGR $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_agr 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C5H12_ENE $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_ene 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C5H12_IND $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_ind 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C5H12_TRA $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_tra 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C5H12_RCO $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_rco 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C5H12_SLV $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_slv 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C5H12_WST $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_wst 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C6H14_AGR $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_agr 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C6H14_ENE $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_ene 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C6H14_IND $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_ind 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C6H14_TRA $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_tra 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C6H14_RCO $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_rco 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C6H14_SLV $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_slv 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C6H14_WST $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_wst 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C2H4_AGR $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_agr 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CEDS_C2H4_ENE $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_ene 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CEDS_C2H4_IND $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_ind 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CEDS_C2H4_TRA $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_tra 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CEDS_C2H4_RCO $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_rco 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CEDS_C2H4_SLV $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_slv 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CEDS_C2H4_WST $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_wst 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CEDS_PRPE_AGR $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_agr 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CEDS_PRPE_ENE $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_ene 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CEDS_PRPE_IND $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_ind 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CEDS_PRPE_TRA $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_tra 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CEDS_PRPE_RCO $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_rco 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CEDS_PRPE_SLV $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_slv 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CEDS_PRPE_WST $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_wst 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CEDS_C2H2_AGR $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_agr 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CEDS_C2H2_ENE $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_ene 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CEDS_C2H2_IND $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_ind 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CEDS_C2H2_TRA $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_tra 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CEDS_C2H2_RCO $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_rco 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CEDS_C2H2_SLV $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_slv 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CEDS_C2H2_WST $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_wst 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CEDS_BENZ_AGR $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_agr 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CEDS_BENZ_ENE $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_ene 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CEDS_BENZ_IND $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_ind 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CEDS_BENZ_TRA $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_tra 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CEDS_BENZ_RCO $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_rco 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CEDS_BENZ_SLV $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_slv 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CEDS_BENZ_WST $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_wst 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CEDS_TOLU_AGR $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_agr 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CEDS_TOLU_ENE $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_ene 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CEDS_TOLU_IND $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_ind 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CEDS_TOLU_TRA $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_tra 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CEDS_TOLU_RCO $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_rco 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CEDS_TOLU_SLV $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_slv 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CEDS_TOLU_WST $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_wst 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CEDS_XYLE_AGR $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_agr 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CEDS_XYLE_ENE $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_ene 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CEDS_XYLE_IND $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_ind 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CEDS_XYLE_TRA $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_tra 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CEDS_XYLE_RCO $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_rco 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CEDS_XYLE_SLV $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_slv 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CEDS_XYLE_WST $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_wst 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CEDS_CH2O_AGR $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_agr 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CEDS_CH2O_ENE $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_ene 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CEDS_CH2O_IND $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_ind 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CEDS_CH2O_TRA $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_tra 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CEDS_CH2O_RCO $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_rco 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CEDS_CH2O_SLV $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_slv 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CEDS_CH2O_WST $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_wst 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CEDS_ALD2_AGR $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_agr 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CEDS_ALD2_ENE $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_ene 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CEDS_ALD2_IND $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_ind 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CEDS_ALD2_TRA $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_tra 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CEDS_ALD2_RCO $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_rco 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CEDS_ALD2_SLV $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_slv 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CEDS_ALD2_WST $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_wst 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CEDS_MEK_AGR $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_agr 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CEDS_MEK_ENE $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_ene 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CEDS_MEK_IND $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_ind 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CEDS_MEK_TRA $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_tra 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CEDS_MEK_RCO $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_rco 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CEDS_MEK_SLV $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_slv 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CEDS_MEK_WST $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_wst 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CEDS_HCOOH_AGR $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_agr 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CEDS_HCOOH_ENE $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_ene 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CEDS_HCOOH_IND $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_ind 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CEDS_HCOOH_TRA $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_tra 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CEDS_HCOOH_RCO $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_rco 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CEDS_HCOOH_SLV $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_slv 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CEDS_HCOOH_WST $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_wst 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 )))EDGARv43 #============================================================================== # --- HTAP v3 --- # # %%% This is an optional inventory. You may select either CEDS, EDGAR, # or HTAPv3 for the global base emissions %%% # # ==> HTAPv3 ship emissions are listed in the ship emissions section below #============================================================================== (((HTAPv3 0 HTAPv3_NO_AGR $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NO_0.1x0.1_$YYYY.nc NO_AGR 2000-2018/1-12/1/0 C xy kg/m2/s NO 25 1 4 0 HTAPv3_NO_ENE $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NO_0.1x0.1_$YYYY.nc NO_ENE 2000-2018/1-12/1/0 C xy kg/m2/s NO 25 1 4 0 HTAPv3_NO_IND $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NO_0.1x0.1_$YYYY.nc NO_IND 2000-2018/1-12/1/0 C xy kg/m2/s NO 25 1 4 0 HTAPv3_NO_TRA $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NO_0.1x0.1_$YYYY.nc NO_TRA 2000-2018/1-12/1/0 C xy kg/m2/s NO 25 1 4 0 HTAPv3_NO_RCO $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NO_0.1x0.1_$YYYY.nc NO_RCO 2000-2018/1-12/1/0 C xy kg/m2/s NO 25 1 4 0 HTAPv3_NO_SLV $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NO_0.1x0.1_$YYYY.nc NO_SLV 2000-2018/1-12/1/0 C xy kg/m2/s NO 25 1 4 0 HTAPv3_NO_WST $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NO_0.1x0.1_$YYYY.nc NO_WST 2000-2018/1-12/1/0 C xy kg/m2/s NO 25 1 4 0 HTAPv3_CO_AGR $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_CO_0.1x0.1_$YYYY.nc CO_AGR 2000-2018/1-12/1/0 C xy kg/m2/s CO 26 1 4 0 HTAPv3_SOAP_AGR - - - - - - SOAP 26/280 1 4 0 HTAPv3_CO_ENE $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_CO_0.1x0.1_$YYYY.nc CO_ENE 2000-2018/1-12/1/0 C xy kg/m2/s CO 26 1 4 0 HTAPv3_SOAP_ENE - - - - - - SOAP 26/280 1 4 0 HTAPv3_CO_IND $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_CO_0.1x0.1_$YYYY.nc CO_IND 2000-2018/1-12/1/0 C xy kg/m2/s CO 26 1 4 0 HTAPv3_SOAP_IND - - - - - - SOAP 26/280 1 4 0 HTAPv3_CO_TRA $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_CO_0.1x0.1_$YYYY.nc CO_TRA 2000-2018/1-12/1/0 C xy kg/m2/s CO 26 1 4 0 HTAPv3_SOAP_TRA - - - - - - SOAP 26/280 1 4 0 HTAPv3_CO_RCO $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_CO_0.1x0.1_$YYYY.nc CO_RCO 2000-2018/1-12/1/0 C xy kg/m2/s CO 26 1 4 0 HTAPv3_SOAP_RCO - - - - - - SOAP 26/280 1 4 0 HTAPv3_CO_SLV $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_CO_0.1x0.1_$YYYY.nc CO_SLV 2000-2018/1-12/1/0 C xy kg/m2/s CO 26 1 4 0 HTAPv3_SOAP_SLV - - - - - - SOAP 26/280 1 4 0 HTAPv3_CO_WST $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_CO_0.1x0.1_$YYYY.nc CO_WST 2000-2018/1-12/1/0 C xy kg/m2/s CO 26 1 4 0 HTAPv3_SOAP_WST - - - - - - SOAP 26/280 1 4 0 HTAPv3_SO2_AGR $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_SO2_0.1x0.1_$YYYY.nc SO2_AGR 2000-2018/1-12/1/0 C xy kg/m2/s SO2 - 1 4 0 HTAPv3_SO4_AGR - - - - - - SO4 63 1 4 0 HTAPv3_pFe_AGR - - - - - - pFe 66 1 4 0 HTAPv3_SO2_ENE $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_SO2_0.1x0.1_$YYYY.nc SO2_ENE 2000-2018/1-12/1/0 C xy kg/m2/s SO2 - 1 4 0 HTAPv3_SO4_ENE - - - - - - SO4 63 1 4 0 HTAPv3_pFe_ENE - - - - - - pFe 66 1 4 0 HTAPv3_SO2_IND $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_SO2_0.1x0.1_$YYYY.nc SO2_IND 2000-2018/1-12/1/0 C xy kg/m2/s SO2 - 1 4 0 HTAPv3_SO4_IND - - - - - - SO4 63 1 4 0 HTAPv3_pFe_IND - - - - - - pFe 66 1 4 0 HTAPv3_SO2_TRA $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_SO2_0.1x0.1_$YYYY.nc SO2_TRA 2000-2018/1-12/1/0 C xy kg/m2/s SO2 - 1 4 0 HTAPv3_SO4_TRA - - - - - - SO4 63 1 4 0 HTAPv3_pFe_TRA - - - - - - pFe 66 1 4 0 HTAPv3_SO2_RCO $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_SO2_0.1x0.1_$YYYY.nc SO2_RCO 2000-2018/1-12/1/0 C xy kg/m2/s SO2 - 1 4 0 HTAPv3_SO4_RCO - - - - - - SO4 63 1 4 0 HTAPv3_pFe_RCO - - - - - - pFe 66 1 4 0 HTAPv3_SO2_SLV $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_SO2_0.1x0.1_$YYYY.nc SO2_SLV 2000-2018/1-12/1/0 C xy kg/m2/s SO2 - 1 4 0 HTAPv3_SO4_SLV - - - - - - SO4 63 1 4 0 HTAPv3_pFe_SLV - - - - - - pFe 66 1 4 0 HTAPv3_SO2_WST $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_SO2_0.1x0.1_$YYYY.nc SO2_WST 2000-2018/1-12/1/0 C xy kg/m2/s SO2 - 1 4 0 HTAPv3_SO4_WST - - - - - - SO4 63 1 4 0 HTAPv3_pFe_WST - - - - - - pFe 66 1 4 0 HTAPv3_NH3_AGR $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NH3_0.1x0.1_$YYYY.nc NH3_AGR 2000-2018/1-12/1/0 C xy kg/m2/s NH3 - 1 4 0 HTAPv3_NH3_ENE $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NH3_0.1x0.1_$YYYY.nc NH3_ENE 2000-2018/1-12/1/0 C xy kg/m2/s NH3 - 1 4 0 HTAPv3_NH3_IND $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NH3_0.1x0.1_$YYYY.nc NH3_IND 2000-2018/1-12/1/0 C xy kg/m2/s NH3 - 1 4 0 HTAPv3_NH3_TRA $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NH3_0.1x0.1_$YYYY.nc NH3_TRA 2000-2018/1-12/1/0 C xy kg/m2/s NH3 - 1 4 0 HTAPv3_NH3_RCO $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NH3_0.1x0.1_$YYYY.nc NH3_RCO 2000-2018/1-12/1/0 C xy kg/m2/s NH3 - 1 4 0 HTAPv3_NH3_SLV $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NH3_0.1x0.1_$YYYY.nc NH3_SLV 2000-2018/1-12/1/0 C xy kg/m2/s NH3 - 1 4 0 HTAPv3_NH3_WST $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NH3_0.1x0.1_$YYYY.nc NH3_WST 2000-2018/1-12/1/0 C xy kg/m2/s NH3 - 1 4 0 HTAPv3_BCPI_AGR $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_BC_0.1x0.1_$YYYY.nc BC_AGR 2000-2018/1-12/1/0 C xy kg/m2/s BCPI 70 1 4 0 HTAPv3_BCPO_AGR - - - - - - BCPO 71 1 4 0 HTAPv3_BCPI_ENE $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_BC_0.1x0.1_$YYYY.nc BC_ENE 2000-2018/1-12/1/0 C xy kg/m2/s BCPI 70 1 4 0 HTAPv3_BCPO_ENE - - - - - - BCPO 71 1 4 0 HTAPv3_BCPI_IND $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_BC_0.1x0.1_$YYYY.nc BC_IND 2000-2018/1-12/1/0 C xy kg/m2/s BCPI 70 1 4 0 HTAPv3_BCPO_IND - - - - - - BCPO 71 1 4 0 HTAPv3_BCPI_TRA $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_BC_0.1x0.1_$YYYY.nc BC_TRA 2000-2018/1-12/1/0 C xy kg/m2/s BCPI 70 1 4 0 HTAPv3_BCPO_TRA - - - - - - BCPO 71 1 4 0 HTAPv3_BCPI_RCO $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_BC_0.1x0.1_$YYYY.nc BC_RCO 2000-2018/1-12/1/0 C xy kg/m2/s BCPI 70 1 4 0 HTAPv3_BCPO_RCO - - - - - - BCPO 71 1 4 0 HTAPv3_BCPI_SLV $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_BC_0.1x0.1_$YYYY.nc BC_SLV 2000-2018/1-12/1/0 C xy kg/m2/s BCPI 70 1 4 0 HTAPv3_BCPO_SLV - - - - - - BCPO 71 1 4 0 HTAPv3_BCPI_WST $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_BC_0.1x0.1_$YYYY.nc BC_WST 2000-2018/1-12/1/0 C xy kg/m2/s BCPI 70 1 4 0 HTAPv3_BCPO_WST - - - - - - BCPO 71 1 4 0 HTAPv3_OCPI_AGR $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_OC_0.1x0.1_$YYYY.nc OC_AGR 2000-2018/1-12/1/0 C xy kg/m2/s OCPI 72 1 4 0 HTAPv3_OCPO_AGR - - - - - - OCPO 73 1 4 0 HTAPv3_POG1_AGR - - - - - - POG1 73/74/76 1 4 0 HTAPv3_POG2_AGR - - - - - - POG2 73/74/77 1 4 0 HTAPv3_OCPI_ENE $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_OC_0.1x0.1_$YYYY.nc OC_ENE 2000-2018/1-12/1/0 C xy kg/m2/s OCPI 72 1 4 0 HTAPv3_OCPO_ENE - - - - - - OCPO 73 1 4 0 HTAPv3_POG1_ENE - - - - - - POG1 73/74/76 1 4 0 HTAPv3_POG2_ENE - - - - - - POG2 73/74/77 1 4 0 HTAPv3_OCPI_IND $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_OC_0.1x0.1_$YYYY.nc OC_IND 2000-2018/1-12/1/0 C xy kg/m2/s OCPI 72 1 4 0 HTAPv3_OCPO_IND - - - - - - OCPO 73 1 4 0 HTAPv3_POG1_IND - - - - - - POG1 73/74/76 1 4 0 HTAPv3_POG2_IND - - - - - - POG2 73/74/77 1 4 0 HTAPv3_OCPI_TRA $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_OC_0.1x0.1_$YYYY.nc OC_TRA 2000-2018/1-12/1/0 C xy kg/m2/s OCPI 72 1 4 0 HTAPv3_OCPO_TRA - - - - - - OCPO 73 1 4 0 HTAPv3_POG1_TRA - - - - - - POG1 73/74/76 1 4 0 HTAPv3_POG2_TRA - - - - - - POG2 73/74/77 1 4 0 HTAPv3_OCPI_RCO $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_OC_0.1x0.1_$YYYY.nc OC_RCO 2000-2018/1-12/1/0 C xy kg/m2/s OCPI 72 1 4 0 HTAPv3_OCPO_RCO - - - - - - OCPO 73 1 4 0 HTAPv3_POG1_RCO - - - - - - POG1 73/74/76 1 4 0 HTAPv3_POG2_RCO - - - - - - POG2 73/74/77 1 4 0 HTAPv3_OCPI_SLV $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_OC_0.1x0.1_$YYYY.nc OC_SLV 2000-2018/1-12/1/0 C xy kg/m2/s OCPI 72 1 4 0 HTAPv3_OCPO_SLV - - - - - - OCPO 73 1 4 0 HTAPv3_POG1_SLV - - - - - - POG1 73/74/76 1 4 0 HTAPv3_POG2_SLV - - - - - - POG2 73/74/77 1 4 0 HTAPv3_OCPI_WST $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_OC_0.1x0.1_$YYYY.nc OC_WST 2000-2018/1-12/1/0 C xy kg/m2/s OCPI 72 1 4 0 HTAPv3_OCPO_WST - - - - - - OCPO 73 1 4 0 HTAPv3_POG1_WST - - - - - - POG1 73/74/76 1 4 0 HTAPv3_POG2_WST - - - - - - POG2 73/74/77 1 4 # # Use CEDSv2 for species that are not in the HTAPv3 inventory # NOTE: EOH files in CEDS/v2021-06 are actually VOC1 (total alchohols) and are split into MOH, EOH, ROH here 0 CEDS_MOH_AGR $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_agr 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 4 0 CEDS_EOH_AGR - - - - - - EOH 26/91 1 4 0 CEDS_ROH_AGR - - - - - - ROH 26/92 1 4 0 CEDS_MOH_ENE $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_ene 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 4 0 CEDS_EOH_ENE - - - - - - EOH 26/91 1 4 0 CEDS_ROH_ENE - - - - - - ROH 26/92 1 4 0 CEDS_MOH_IND $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_ind 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 4 0 CEDS_EOH_IND - - - - - - EOH 26/91 1 4 0 CEDS_ROH_IND - - - - - - ROH 26/92 1 4 0 CEDS_MOH_TRA $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_tra 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 4 0 CEDS_EOH_TRA - - - - - - EOH 26/91 1 4 0 CEDS_ROH_TRA - - - - - - ROH 26/92 1 4 0 CEDS_MOH_RCO $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_rco 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 4 0 CEDS_EOH_RCO - - - - - - EOH 26/91 1 4 0 CEDS_ROH_RCO - - - - - - ROH 26/92 1 4 0 CEDS_MOH_SLV $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_slv 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 4 0 CEDS_EOH_SLV - - - - - - EOH 26/91 1 4 0 CEDS_ROH_SLV - - - - - - ROH 26/92 1 4 0 CEDS_MOH_WST $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_wst 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 4 0 CEDS_EOH_WST - - - - - - EOH 26/91 1 4 0 CEDS_ROH_WST - - - - - - ROH 26/92 1 4 0 CEDS_C2H6_AGR $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_agr 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 4 0 CEDS_C2H6_ENE $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_ene 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 4 0 CEDS_C2H6_IND $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_ind 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 4 0 CEDS_C2H6_TRA $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_tra 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 4 0 CEDS_C2H6_RCO $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_rco 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 4 0 CEDS_C2H6_SLV $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_slv 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 4 0 CEDS_C2H6_WST $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_wst 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 4 0 CEDS_C3H8_AGR $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_agr 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 4 0 CEDS_C3H8_ENE $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_ene 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 4 0 CEDS_C3H8_IND $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_ind 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 4 0 CEDS_C3H8_TRA $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_tra 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 4 0 CEDS_C3H8_RCO $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_rco 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 4 0 CEDS_C3H8_SLV $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_slv 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 4 0 CEDS_C3H8_WST $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_wst 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 4 0 CEDS_C4H10_AGR $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_agr 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C4H10_ENE $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_ene 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C4H10_IND $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_ind 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C4H10_TRA $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_tra 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C4H10_RCO $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_rco 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C4H10_SLV $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_slv 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C4H10_WST $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_wst 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C5H12_AGR $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_agr 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C5H12_ENE $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_ene 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C5H12_IND $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_ind 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C5H12_TRA $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_tra 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C5H12_RCO $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_rco 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C5H12_SLV $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_slv 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C5H12_WST $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_wst 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C6H14_AGR $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_agr 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C6H14_ENE $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_ene 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C6H14_IND $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_ind 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C6H14_TRA $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_tra 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C6H14_RCO $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_rco 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C6H14_SLV $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_slv 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C6H14_WST $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_wst 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C2H4_AGR $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_agr 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 4 0 CEDS_C2H4_ENE $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_ene 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 4 0 CEDS_C2H4_IND $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_ind 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 4 0 CEDS_C2H4_TRA $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_tra 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 4 0 CEDS_C2H4_RCO $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_rco 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 4 0 CEDS_C2H4_SLV $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_slv 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 4 0 CEDS_C2H4_WST $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_wst 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 4 0 CEDS_PRPE_AGR $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_agr 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 4 0 CEDS_PRPE_ENE $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_ene 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 4 0 CEDS_PRPE_IND $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_ind 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 4 0 CEDS_PRPE_TRA $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_tra 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 4 0 CEDS_PRPE_RCO $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_rco 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 4 0 CEDS_PRPE_SLV $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_slv 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 4 0 CEDS_PRPE_WST $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_wst 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 4 0 CEDS_C2H2_AGR $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_agr 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 4 0 CEDS_C2H2_ENE $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_ene 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 4 0 CEDS_C2H2_IND $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_ind 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 4 0 CEDS_C2H2_TRA $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_tra 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 4 0 CEDS_C2H2_RCO $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_rco 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 4 0 CEDS_C2H2_SLV $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_slv 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 4 0 CEDS_C2H2_WST $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_wst 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 4 0 CEDS_BENZ_AGR $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_agr 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 4 0 CEDS_BENZ_ENE $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_ene 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 4 0 CEDS_BENZ_IND $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_ind 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 4 0 CEDS_BENZ_TRA $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_tra 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 4 0 CEDS_BENZ_RCO $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_rco 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 4 0 CEDS_BENZ_SLV $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_slv 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 4 0 CEDS_BENZ_WST $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_wst 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 4 0 CEDS_TOLU_AGR $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_agr 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 4 0 CEDS_TOLU_ENE $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_ene 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 4 0 CEDS_TOLU_IND $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_ind 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 4 0 CEDS_TOLU_TRA $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_tra 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 4 0 CEDS_TOLU_RCO $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_rco 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 4 0 CEDS_TOLU_SLV $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_slv 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 4 0 CEDS_TOLU_WST $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_wst 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 4 0 CEDS_XYLE_AGR $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_agr 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 4 0 CEDS_XYLE_ENE $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_ene 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 4 0 CEDS_XYLE_IND $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_ind 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 4 0 CEDS_XYLE_TRA $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_tra 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 4 0 CEDS_XYLE_RCO $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_rco 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 4 0 CEDS_XYLE_SLV $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_slv 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 4 0 CEDS_XYLE_WST $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_wst 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 4 0 CEDS_CH2O_AGR $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_agr 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 4 0 CEDS_CH2O_ENE $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_ene 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 4 0 CEDS_CH2O_IND $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_ind 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 4 0 CEDS_CH2O_TRA $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_tra 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 4 0 CEDS_CH2O_RCO $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_rco 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 4 0 CEDS_CH2O_SLV $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_slv 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 4 0 CEDS_CH2O_WST $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_wst 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 4 0 CEDS_ALD2_AGR $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_agr 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 4 0 CEDS_ALD2_ENE $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_ene 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 4 0 CEDS_ALD2_IND $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_ind 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 4 0 CEDS_ALD2_TRA $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_tra 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 4 0 CEDS_ALD2_RCO $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_rco 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 4 0 CEDS_ALD2_SLV $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_slv 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 4 0 CEDS_ALD2_WST $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_wst 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 4 0 CEDS_MEK_AGR $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_agr 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 4 0 CEDS_MEK_ENE $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_ene 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 4 0 CEDS_MEK_IND $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_ind 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 4 0 CEDS_MEK_TRA $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_tra 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 4 0 CEDS_MEK_RCO $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_rco 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 4 0 CEDS_MEK_SLV $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_slv 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 4 0 CEDS_MEK_WST $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_wst 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 4 0 CEDS_HCOOH_AGR $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_agr 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 4 0 CEDS_HCOOH_ENE $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_ene 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 4 0 CEDS_HCOOH_IND $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_ind 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 4 0 CEDS_HCOOH_TRA $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_tra 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 4 0 CEDS_HCOOH_RCO $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_rco 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 4 0 CEDS_HCOOH_SLV $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_slv 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 4 0 CEDS_HCOOH_WST $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_wst 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 4 )))HTAPv3 #============================================================================== # --- GEIA NH3 from natural sources --- #============================================================================== (((GEIA_NH3 0 GEIA_NH3_NATU $ROOT/NH3/v2019-08/NH3_geos.2x25.nc NH3_NATU 1990/1-12/1/0 C xy kg/m2/s NH3 - 3 1 )))GEIA_NH3 #============================================================================== # --- NH3 from arctic seabirds --- # Source: Riddick et al., 2012, NERC Environmental Information Data Centre #============================================================================== (((SEABIRD_NH3 0 SEABIRD_NH3 $ROOT/NH3/v2018-04/NH3_Arctic_seabirds.nc NH3_SEABIRDS 1990/1-12/1/0 C xy kg/m2/s NH3 - 30 1 )))SEABIRD_NH3 #============================================================================== # --- POET EOH --- #============================================================================== (((POET_EOH 0 POET_EOH $ROOT/POET/v2017-03/POET_EOH.geos.2x25.nc EOH 1985/1/1/0 C xy kgC/m2/s EOH 26/47 1 1 )))POET_EOH #============================================================================== # --- 2010 Global fossil fuel and biofuel emissions of C2H6 (Tzompa-Sosa et al. (2017) --- # # NOTES: # - These C2H6 emissions are used in place of CEDS #============================================================================== (((TZOMPASOSA_C2H6 0 C2H6_2010_oilgas $ROOT/C2H6_2010/v2019-06/C2H6_global_anth_biof.2010$MM.2x25.nc ANTHR_C2H6 2010/1-12/1/0 C xy kgC/m2/s C2H6 45 1 100 0 C2H6_2010_biofuel $ROOT/C2H6_2010/v2019-06/C2H6_global_anth_biof.2010$MM.2x25.nc BIOFUEL_C2H6 2010/1-12/1/0 C xy kgC/m2/s C2H6 45 1 100 )))TZOMPASOSA_C2H6 #============================================================================== # --- Xiao et al., JGR, 2008 --- # # NOTES: # - Xiao et al. C3H8 emissions are used in place of CEDS # - Priority is set to 10 to overwrite CEDS, but not newer regional inventories (e.g. EPA/NEI) #============================================================================== (((XIAO_C3H8 0 XIAO_C3H8 $ROOT/XIAO/v2014-09/C3H8_C2H6_ngas.geos.1x1.nc C3H8 1985/1/1/0 C xy kgC/m2/s C3H8 6/7/26/22/46 1 10 0 BIOFUEL_C3H8 $ROOT/BIOFUEL/v2019-08/biofuel.geos.2x25.nc BIOFUEL_C3H8 1985/1/1/0 C xy kgC/m2/s C3H8 46 1 10 )))XIAO_C3H8 #============================================================================== # --- Very-short-lived (VSL) bromocarbon emissions (cf. Qing Liang) --- #============================================================================== (((LIANG_BROMOCARB 0 LIANG_CHBR3 $ROOT/BROMINE/v2015-02/Bromocarb_Liang2010.nc CHBr3_emission 2000/1/1/0 C xy kg/m2/s CHBr3 39 1 1 0 LIANG_CH2BR2 $ROOT/BROMINE/v2015-02/Bromocarb_Liang2010.nc CH2Br2_emission 2000/1/1/0 C xy kg/m2/s CH2Br2 - 1 1 )))LIANG_BROMOCARB #============================================================================== # --- Very-short-lived (VSL) iodocarbon emissions (cf. Carlos Ordonez) --- #============================================================================== (((ORDONEZ_IODOCARB 0 ORDONEZ_CH3I $ROOT/IODINE/v2020-02/CH3I_monthly_emissions_Ordonez_2012_COARDS.nc CH3I 2000/1-12/1/0 C xy kg/m2/s CH3I - 1 1 0 ORDONEZ_CH2I2 $ROOT/IODINE/v2020-02/CH2I2_monthly_emissions_Ordonez_2012_COARDS.nc CH2I2 2000/1-12/1/0 C xy kg/m2/s CH2I2 - 1 1 0 ORDONEZ_CH2ICL $ROOT/IODINE/v2020-02/CH2ICl_monthly_emissions_Ordonez_2012_COARDS.nc CH2ICl 2000/1-12/1/0 C xy kg/m2/s CH2ICl - 1 1 0 ORDONEZ_CH2IBR $ROOT/IODINE/v2020-02/CH2IBr_monthly_emissions_Ordonez_2012_COARDS.nc CH2IBr 2000/1-12/1/0 C xy kg/m2/s CH2IBr - 1 1 )))ORDONEZ_IODOCARB #============================================================================== # --- GT_Chlorine --- # # Emission inventory for HCl and particulate Cl from continental sources # # Reference: # Zhang, B., & Liu, P., et al (2022). Global Emissions of Hydrogen Chloride # and Particulate Chloride from Continental Sources. Environmental Science & # Technology, 56(7), 3894-3904. https://doi.org/10.1021/acs.est.1c05634 # # Notes: # - The HCl emission from open biomass burning (HCL_BIO, HCL_AGR) used the same # activity data for GFED4 (1998-2014) and BB4CMIP (1960-2014). If your # emission inventory for open biomass burning has already include HCl # emissions, shut down either of them to avoid the duplicated emission sources # - Emissions of particulate Cl are added as HCl as ISORROPIA will reparition # Cl between particle phase and gas phase. #============================================================================== (((GT_Chlorine 0 HCL_ENE $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc HCl_ene 1960-2014/1-12/1/0 C xy kg/m2/s HCl 26 1/2 1 0 HCL_IND $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc HCl_ind 1960-2014/1-12/1/0 C xy kg/m2/s HCl 26 1/2 1 0 HCL_RES $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc HCl_res 1960-2014/1-12/1/0 C xy kg/m2/s HCl 26 1/2 1 0 HCL_WST $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc HCl_wstop 1960-2014/1-12/1/0 C xy kg/m2/s HCl 26 1/2 1 0 HCL_BIO $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc HCl_bbop 1960-2014/1-12/1/0 C xy kg/m2/s HCl 75 1/2 1 0 HCL_AGR $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc HCl_agri 1960-2014/1-12/1/0 C xy kg/m2/s HCl 75 1/2 1 0 PCL_ENE $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc pCl_ene 1960-2014/1-12/1/0 C xy kg/m2/s HCl 26 1/2 1 0 PCL_IND $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc pCl_ind 1960-2014/1-12/1/0 C xy kg/m2/s HCl 26 1/2 1 0 PCL_RES $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc pCl_res 1960-2014/1-12/1/0 C xy kg/m2/s HCl 26 1/2 1 0 PCL_WST $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc pCl_wstop 1960-2014/1-12/1/0 C xy kg/m2/s HCl 26 1/2 1 0 PCL_BIO $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc pCl_bbop 1960-2014/1-12/1/0 C xy kg/m2/s HCl 75 1/2 1 0 PCL_AGR $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc pCl_agri 1960-2014/1-12/1/0 C xy kg/m2/s HCl 75 1/2 1 )))GT_Chlorine #============================================================================== # --- Ship emissions --- # # ==> CEDS ship emissions are now the default. # ==> If CEDS_SHIP is turned off above then ARCTAS should be used over ICOADS, # CORBETT, and HTAPv3 for SO2 and ICOADS should be used for CO and NO. # ==> Ship NO emissions are used by PARANOx and the extension number must be # adjusted accordingly. If PARANOx is turned off, set the ExtNr back to # zero. #============================================================================== (((SHIP (((ARCTAS_SHIP 0 ARCTAS_SHIP_SO2 $ROOT/ARCTAS_SHIP/v2014-07/ARCTAS_ship.generic.1x1.nc SO2 2008/1/1/0 C xy kg/m2/s SO2 11/19 10 1 )))ARCTAS_SHIP (((ICOADS_SHIP 0 ICOADS_SHIP_SO2 $ROOT/ICOADS_SHIP/v2014-07/ICOADS.generic.1x1.nc SO2 2002/1-12/1/0 C xy kg/m2/s SO2 11/15/60 10 2 0 ICOADS_SHIP_CO $ROOT/ICOADS_SHIP/v2014-07/ICOADS.generic.1x1.nc CO 2002/1-12/1/0 C xy kg/m2/s CO 6/10 10 2 0 ICOADS_SHIP_SOAP - - - - - - SOAP 6/10/280 10 2 )))ICOADS_SHIP (((CORBETT_SHIP 0 CORBETT_SHIP_SO2 $ROOT/CORBETT_SHIP/v2014-07/CORBETT_ship.geos.1x1.nc SO2_SHIP 1985/1-12/1/0 C xy kg/m2/s SO2 - 10 3 )))CORBETT_SHIP (((HTAPv3_SHIP 0 HTAPv3_CO_SHP $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_CO_0.1x0.1_$YYYY.nc CO_SHP 2000-2018/1-12/1/0 C xy kg/m2/s CO 26 10 4 0 HTAPv3_SOAP_SHP - - - - - - SOAP 26/280 10 4 0 HTAPv3_SO2_SHP $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_SO2_0.1x0.1_$YYYY.nc SO2_SHP 2000-2018/1-12/1/0 C xy kg/m2/s SO2 - 10 4 0 HTAPv3_SO4_SHP - - - - - - SO4 63 10 4 0 HTAPv3_pFe_SHP - - - - - - pFe 66 10 4 0 HTAPv3_NH3_SHP $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NH3_0.1x0.1_$YYYY.nc NH3_SHP 2000-2018/1-12/1/0 C xy kg/m2/s NH3 - 10 4 0 HTAPv3_BCPI_SHP $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_BC_0.1x0.1_$YYYY.nc BC_SHP 2000-2018/1-12/1/0 C xy kg/m2/s BCPI 70 10 4 0 HTAPv3_BCPO_SHP - - - - - - BCPO 71 10 4 0 HTAPv3_OCPI_SHP $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_OC_0.1x0.1_$YYYY.nc OC_SHP 2000-2018/1-12/1/0 C xy kg/m2/s OCPI 72 10 4 0 HTAPv3_OCPO_SHP - - - - - - OCPO 73 10 4 # Use CEDSv2 ship emissions for species not in HTAPv3 0 CEDS_MOH_SHP $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_shp 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 10 4 0 CEDS_EOH_SHP - - - - - - EOH 26/91 10 4 0 CEDS_ROH_SHP - - - - - - ROH 26/92 10 4 0 CEDS_C2H6_SHP $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_shp 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 10 4 0 CEDS_C3H8_SHP $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_shp 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 10 4 0 CEDS_C4H10_SHP $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_shp 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 10 4 0 CEDS_C5H12_SHP $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_shp 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 10 4 0 CEDS_C6H14_SHP $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_shp 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 10 4 0 CEDS_C2H4_SHP $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_shp 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 10 4 0 CEDS_PRPE_SHP $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_shp 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 10 4 0 CEDS_C2H2_SHP $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_shp 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 10 4 0 CEDS_BENZ_SHP $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_shp 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 10 4 0 CEDS_TOLU_SHP $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_shp 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 10 4 0 CEDS_XYLE_SHP $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_shp 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 10 4 0 CEDS_CH2O_SHP $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_shp 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 10 4 0 CEDS_ALD2_SHP $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_shp 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 10 4 0 CEDS_MEK_SHP $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_shp 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 10 4 0 CEDS_HCOOH_SHP $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_shp 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 10 4 0 CEDS_TMB_SHP $ROOT/CEDS/v2021-06/$YYYY/TMB-em-anthro_CMIP_CEDS_$YYYY.nc TMB_shp 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 10 4 0 CEDS_OTH_SHP $ROOT/CEDS/v2021-06/$YYYY/OTHER_VOC-em-anthro_CMIP_CEDS_$YYYY.nc OTHER_VOC_shp 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 10 4 )))HTAPv3_SHIP (((CEDSv2_SHIP 0 CEDS_CO_SHP $ROOT/CEDS/v2021-06/$YYYY/CO-em-anthro_CMIP_CEDS_$YYYY.nc CO_shp 1750-2019/1-12/1/0 C xy kg/m2/s CO 26 10 5 0 CEDS_SOAP_SHP - - - - - - SOAP 26/280 10 5 0 CEDS_SO2_SHP $ROOT/CEDS/v2021-06/$YYYY/SO2-em-anthro_CMIP_CEDS_$YYYY.nc SO2_shp 1750-2019/1-12/1/0 C xy kg/m2/s SO2 - 10 5 0 CEDS_SO4_SHP - - - - - - SO4 63 10 5 0 CEDS_pFe_SHP - - - - - - pFe 66 10 5 0 CEDS_NH3_SHP $ROOT/CEDS/v2021-06/$YYYY/NH3-em-anthro_CMIP_CEDS_$YYYY.nc NH3_shp 1750-2019/1-12/1/0 C xy kg/m2/s NH3 - 10 5 0 CEDS_BCPI_SHP $ROOT/CEDS/v2021-06/$YYYY/BC-em-anthro_CMIP_CEDS_$YYYY.nc BC_shp 1750-2019/1-12/1/0 C xy kg/m2/s BCPI 70 10 5 0 CEDS_BCPO_SHP - - - - - - BCPO 71 10 5 0 CEDS_OCPI_SHP $ROOT/CEDS/v2021-06/$YYYY/OC-em-anthro_CMIP_CEDS_$YYYY.nc OC_shp 1750-2019/1-12/1/0 C xy kg/m2/s OCPI 72 10 5 0 CEDS_OCPO_SHP - - - - - - OCPO 73 10 5 0 CEDS_POG1_SHP - - - - - - POG1 74/76 10 5 0 CEDS_POG2_SHP - - - - - - POG2 74/77 10 5 0 CEDS_MOH_SHP $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_shp 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 10 5 0 CEDS_EOH_SHP - - - - - - EOH 26/91 10 5 0 CEDS_ROH_SHP - - - - - - ROH 26/92 10 5 0 CEDS_C2H6_SHP $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_shp 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 10 5 0 CEDS_C3H8_SHP $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_shp 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 10 5 0 CEDS_C4H10_SHP $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_shp 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 10 5 0 CEDS_C5H12_SHP $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_shp 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 10 5 0 CEDS_C6H14_SHP $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_shp 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 10 5 0 CEDS_C2H4_SHP $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_shp 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 10 5 0 CEDS_PRPE_SHP $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_shp 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 10 5 0 CEDS_C2H2_SHP $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_shp 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 10 5 0 CEDS_BENZ_SHP $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_shp 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 10 5 0 CEDS_TOLU_SHP $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_shp 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 10 5 0 CEDS_XYLE_SHP $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_shp 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 10 5 0 CEDS_CH2O_SHP $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_shp 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 10 5 0 CEDS_ALD2_SHP $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_shp 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 10 5 0 CEDS_MEK_SHP $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_shp 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 10 5 0 CEDS_HCOOH_SHP $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_shp 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 10 5 0 CEDS_TMB_SHP $ROOT/CEDS/v2021-06/$YYYY/TMB-em-anthro_CMIP_CEDS_$YYYY.nc TMB_shp 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 10 5 0 CEDS_OTH_SHP $ROOT/CEDS/v2021-06/$YYYY/OTHER_VOC-em-anthro_CMIP_CEDS_$YYYY.nc OTHER_VOC_shp 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 10 5 #----------------------------------------------------- # AEROSOL NUMBER EMISSIONS FOR CEDS in CESM - hplin 8/11/22 #----------------------------------------------------- 0 CEDS_SO4n_SHP $ROOT/CEDS/v2021-06/$YYYY/SO2-em-anthro_CMIP_CEDS_$YYYY.nc SO2_shp 1750-2019/1-12/1/0 C xy kg/m2/s num_a1 8909/8013 1 5 0 CEDS_BCn_SHP $ROOT/CEDS/v2021-06/$YYYY/BC-em-anthro_CMIP_CEDS_$YYYY.nc BC_shp 1750-2019/1-12/1/0 C xy kg/m2/s num_a4 8920/8041 1 5 0 CEDS_OCn_SHP $ROOT/CEDS/v2021-06/$YYYY/OC-em-anthro_CMIP_CEDS_$YYYY.nc OC_shp 1750-2019/1-12/1/0 C xy kg/m2/s num_a4 8920/8041 1 5 #----------------------------------------------------- # // end AEROSOL NUMBER EMISSIONS FOR CEDS in CESM #----------------------------------------------------- )))CEDSv2_SHIP (((CEDS_GBDMAPS_SHIP >>>include $ROOT/CEDS/v2020-08/HEMCO_Config.CEDS_GBDMAPS_SHIP.rc )))CEDS_GBDMAPS_SHIP (((CEDS_SHIP_byFuelType (((.not.CEDS_GBDMAPS_SHIP (((.not.CEDSv2_SHIP >>>include $ROOT/CEDS/v2020-08/HEMCO_Config.CEDS_GBD-MAPS_SHIP_byFuelType.rc ))).not.CEDSv2_SHIP ))).not.CEDS_GBDMAPS_SHIP )))CEDS_SHIP_byFuelType #============================================================================== # --- CMIP6_SHIP --- # CEDS (historical) or Shared Socioeconomic Pathways (future), consistent with # the CMIP6 simulation experimental design. # # Make sure that the desired $GCAPSCENARIO is set above in SECTION SETTINGS # #============================================================================== (((CMIP6_SHIP 0 CMIP6_CO_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_shp 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 10 5 0 CMIP6_SOAP_SHP - - - - - - SOAP 26/280 10 5 0 CMIP6_SO2_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_shp 1750-2100/1-12/1/0 C xy kg/m2/s SO2 - 10 5 0 CMIP6_SO4_SHP - - - - - - SO4 63 10 5 0 CMIP6_pFe_SHP - - - - - - pFe 66 10 5 0 CMIP6_NH3_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_shp 1750-2100/1-12/1/0 C xy kg/m2/s NH3 - 10 5 0 CMIP6_BCPI_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_shp 1750-2100/1-12/1/0 C xy kg/m2/s BCPI 70 10 5 0 CMIP6_BCPO_SHP - - - - - - BCPO 71 10 5 0 CMIP6_OCPI_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_shp 1750-2100/1-12/1/0 C xy kg/m2/s OCPI 72 10 5 0 CMIP6_OCPO_SHP - - - - - - OCPO 73 10 5 0 CMIP6_POG1_SHP - - - - - - POG1 74/76 10 5 0 CMIP6_POG2_SHP - - - - - - POG2 74/77 10 5 # NOTE: EOH files in CMIP6/v2021-01 are actually VOC1 (total alchohols) and are split into MOH, EOH, ROH here 0 CMIP6_MOH_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 EOH_shp 1750-2100/1-12/1/0 C xy kg/m2/s MOH 26/90 10 5 0 CMIP6_EOH_SHP - - - - - - EOH 26/91 10 5 0 CMIP6_ROH_SHP - - - - - - ROH 26/92 10 5 0 CMIP6_C2H6_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H6_shp 1750-2100/1-12/1/0 C xy kg/m2/s C2H6 26 10 5 0 CMIP6_C3H8_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C3H8_shp 1750-2100/1-12/1/0 C xy kg/m2/s C3H8 26 10 5 0 CMIP6_C4H10_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_butanes_shp 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 10 5 0 CMIP6_C5H12_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_pentanes_shp 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 10 5 0 CMIP6_C6H14_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_hexanes_shp 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 10 5 0 CMIP6_C2H4_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H4_shp 1750-2100/1-12/1/0 C xy kg/m2/s C2H4 26 10 5 0 CMIP6_PRPE_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 PRPE_shp 1750-2100/1-12/1/0 C xy kg/m2/s PRPE 26 10 5 0 CMIP6_C2H2_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H2_shp 1750-2100/1-12/1/0 C xy kg/m2/s C2H2 26 10 5 0 CMIP6_BENZ_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BENZ_shp 1750-2100/1-12/1/0 C xy kg/m2/s BENZ 26 10 5 0 CMIP6_TOLU_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 TOLU_shp 1750-2100/1-12/1/0 C xy kg/m2/s TOLU 26 10 5 0 CMIP6_XYLE_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 XYLE_shp 1750-2100/1-12/1/0 C xy kg/m2/s XYLE 26 10 5 0 CMIP6_CH2O_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH2O_shp 1750-2100/1-12/1/0 C xy kg/m2/s CH2O 26 10 5 0 CMIP6_ALD2_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALD2_shp 1750-2100/1-12/1/0 C xy kg/m2/s ALD2 26 10 5 0 CMIP6_MEK_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MEK_shp 1750-2100/1-12/1/0 C xy kg/m2/s MEK 26 10 5 0 CMIP6_HCOOH_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 HCOOH_shp 1750-2100/1-12/1/0 C xy kg/m2/s HCOOH 26 10 5 )))CMIP6_SHIP #------------------------------------------------------------------------------ # ### IF THE PARANOX EXTENSION IS TURNED ON ### # # Cosine(SZA) will be read from the restart file. Use the PARANOX extension # number (# 102) to specify these quantities and the NEI emissions. # This will make sure everything will be passed to the HEMCO PARANOX extension # rather than sending them into the base emissions. #------------------------------------------------------------------------------ (((ParaNOx (((ICOADS_SHIP 102 ICOADS_SHIP_NO $ROOT/ICOADS_SHIP/v2014-07/ICOADS.generic.1x1.nc NO 2002/1-12/1/0 C xy kg/m2/s NO 1/5 10 1 )))ICOADS_SHIP (((HTAPv3_SHIP 102 HTAPv3_NO_SHP $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NO_0.1x0.1_$YYYY.nc NO_SHP 2000-2018/1-12/1/0 C xy kg/m2/s NO 25 10 4 )))HTAPv3_SHIP (((CEDSv2_SHIP 102 CEDS_NO_SHP $ROOT/CEDS/v2021-06/$YYYY/NO-em-anthro_CMIP_CEDS_$YYYY.nc NO_shp 1750-2019/1-12/1/0 C xy kg/m2/s NO 25 10 5 )))CEDSv2_SHIP (((CEDS_GBDMAPS_SHIP 102 CEDS_NO_SHP $ROOT/CEDS/v2020-08/$YYYY/NO-em-total-anthro_CEDS_$YYYY.nc NO_shp 1970-2017/1-12/1/0 C xy kg/m2/s NO 25 10 5 )))CEDS_GBDMAPS_SHIP )))ParaNOx #------------------------------------------------------------------------------ # ### IF THE PARANOX EXTENSION IS TURNED OFF ### # # Use extension # 0 to specify these emissions. This will put them # into the base emissions rather than sending them through PARANOX. #------------------------------------------------------------------------------ (((.not.ParaNOx (((ICOADS_SHIP 0 ICOADS_SHIP_NO $ROOT/ICOADS_SHIP/v2014-07/ICOADS.generic.1x1.nc NO 2002/1-12/1/0 C xy kg/m2/s NO 1/5 10 1 )))ICOADS_SHIP (((HTAPv3_SHIP 0 HTAPv3_NO_SHIP $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NO_0.1x0.1_$YYYY.nc NO_SHP 2000-2018/1-12/1/0 C xy kg/m2/s NO 25 10 4 )))HTAPv3_SHIP (((CEDSv2_SHIP 0 CEDS_NO_SHP $ROOT/CEDS/v2021-06/$YYYY/NO-em-anthro_CMIP_CEDS_$YYYY.nc NO_shp 1750-2019/1-12/1/0 C xy kg/m2/s NO 25 10 5 )))CEDSv2_SHIP (((CEDS_GBDMAPS_SHIP 0 CEDS_NO_SHP $ROOT/CEDS/v2020-08/$YYYY/NO-em-total-anthro_CEDS_$YYYY.nc NO_shp 1970-2017/1-12/1/0 C xy kg/m2/s NO 25 10 5 )))CEDS_GBDMAPS_SHIP (((CMIP6_SHIP 102 CMIP6_NO_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NO_shp 1750-2100/1-12/1/0 C xy kg/m2/s NO 25 10 5 )))CMIP6_SHIP ))).not.ParaNOx )))SHIP #============================================================================== # --- AEIC 2019 aircraft emissions (daily & monthly mean) --- # # Data files are for 2019, but scale factors from 1990-2019 can be applied # in order to get year-specific emissions. See the notes in the AEIC2019 # scale factor section below for more information. # # Notes for CESM: # (1) Map to species so4_a1 for SO4 instead of SO4 # (2) Add SO4n and map to species num_a1 with custom scaling # (3) Change BCPI/OCPI to BC/OC and map to species bc_a4 and pom_a4 # (4) Add BCn and OCn and map to num_a4 for both with custom scaling #============================================================================== (((AEIC2019_DAILY 0 AEIC19_DAILY_NO $ROOT/AEIC2019/v2022-03/2019/$MM/AEIC_2019$MM$DD.0.5x0.625.36L.nc NO * C xyz kg/m2/s NO 241/240 20 1 0 AEIC19_DAILY_NO2 $ROOT/AEIC2019/v2022-03/2019/$MM/AEIC_2019$MM$DD.0.5x0.625.36L.nc NO2 * C xyz kg/m2/s NO2 241/240 20 1 0 AEIC19_DAILY_HONO $ROOT/AEIC2019/v2022-03/2019/$MM/AEIC_2019$MM$DD.0.5x0.625.36L.nc HONO * C xyz kg/m2/s HNO2 241/240 20 1 0 AEIC19_DAILY_CO $ROOT/AEIC2019/v2022-03/2019/$MM/AEIC_2019$MM$DD.0.5x0.625.36L.nc CO * C xyz kg/m2/s CO 241 20 1 0 AEIC19_DAILY_SOAP - - - - - - SOAP 241/280 20 1 0 AEIC19_DAILY_SO2 $ROOT/AEIC2019/v2022-03/2019/$MM/AEIC_2019$MM$DD.0.5x0.625.36L.nc FUELBURN * C xyz kg/m2/s SO2 241/111 20 1 0 AEIC19_DAILY_pFe - - - - - - pFe 241/111/66 20 1 0 AEIC19_DAILY_SO4 - - - - - - so4_a1 241/112 20 1 0 AEIC19_DAILY_SO4n - - - - - - num_a1 8011/241/112 20 1 0 AEIC19_DAILY_H2O - - - - - - H2O 241/120 20 1 0 AEIC19_DAILY_BC $ROOT/AEIC2019/v2022-03/2019/$MM/AEIC_2019$MM$DD.0.5x0.625.36L.nc BC * C xyz kg/m2/s bc_a4 241 20 1 0 AEIC19_DAILY_BCn - - - - - - num_a4 8041/241 20 1 0 AEIC19_DAILY_OC $ROOT/AEIC2019/v2022-03/2019/$MM/AEIC_2019$MM$DD.0.5x0.625.36L.nc OC * C xyz kg/m2/s pom_a4 241 20 1 0 AEIC19_DAILY_OCn - - - - - - num_a4 8042/241 20 1 0 AEIC19_DAILY_POG1 - - - - - - POG1 241/74/76 20 1 0 AEIC19_DAILY_POG2 - - - - - - POG2 241/74/77 20 1 0 AEIC19_DAILY_ACET $ROOT/AEIC2019/v2022-03/2019/$MM/AEIC_2019$MM$DD.0.5x0.625.36L.nc HC * C xyz kg/m2/s ACET 241/114/101 20 1 0 AEIC19_DAILY_ALD2 - - - - - - ALD2 241/114/102 20 1 0 AEIC19_DAILY_ALK4 - - - - - - ALK4 241/114/103 20 1 0 AEIC19_DAILY_C2H6 - - - - - - C2H6 241/114/104 20 1 0 AEIC19_DAILY_C3H8 - - - - - - C3H8 241/114/105 20 1 0 AEIC19_DAILY_CH2O - - - - - - CH2O 241/114/106 20 1 0 AEIC19_DAILY_PRPE - - - - - - PRPE 241/114/107 20 1 0 AEIC19_DAILY_MACR - - - - - - MACR 241/114/108 20 1 0 AEIC19_DAILY_RCHO - - - - - - RCHO 241/114/109 20 1 )))AEIC2019_DAILY (((AEIC2019_MONMEAN 0 AEIC19_MONMEAN_NO $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc NO * C xyz kg/m2/s NO 241/240 20 1 0 AEIC19_MONMEAN_NO2 $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc NO2 * C xyz kg/m2/s NO2 241/240 20 1 0 AEIC19_MONMEAN_HONO $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc HONO * C xyz kg/m2/s HNO2 241/240 20 1 0 AEIC19_MONMEAN_CO $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc CO * C xyz kg/m2/s CO 241 20 1 0 AEIC19_MONMEAN_SOAP - - - - - - SOAP 241/280 20 1 0 AEIC19_MONMEAN_SO2 $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc FUELBURN * C xyz kg/m2/s SO2 241/111 20 1 0 AEIC19_MONMEAN_pFe - - - - - - pFe 241/111/66 20 1 0 AEIC19_MONMEAN_SO4 - - - - - - so4_a1 241/112 20 1 0 AEIC19_MONMEAN_SO4n - - - - - - num_a1 8011/241/112 20 1 0 AEIC19_MONMEAN_H2O - - - - - - H2O 241/120 20 1 0 AEIC19_MONMEAN_BC $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc BC * C xyz kg/m2/s bc_a4 241 20 1 0 AEIC19_MONMEAN_BCn - - - - - - num_a4 8041/241 20 1 0 AEIC19_MONMEAN_OC $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc OC * C xyz kg/m2/s pom_a4 241 20 1 0 AEIC19_MONMEAN_OCn - - - - - - num_a4 8042/241 20 1 0 AEIC19_MONMEAN_POG1 - - - - - - POG1 241/74/76 20 1 0 AEIC19_MONMEAN_POG2 - - - - - - POG2 241/74/77 20 1 0 AEIC19_MONMEAN_ACET $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc HC * C xyz kg/m2/s ACET 241/114/101 20 1 0 AEIC19_MONMEAN_ALD2 - - - - - - ALD2 241/114/102 20 1 0 AEIC19_MONMEAN_ALK4 - - - - - - ALK4 241/114/103 20 1 0 AEIC19_MONMEAN_C2H6 - - - - - - C2H6 241/114/104 20 1 0 AEIC19_MONMEAN_C3H8 - - - - - - C3H8 241/114/105 20 1 0 AEIC19_MONMEAN_CH2O - - - - - - CH2O 241/114/106 20 1 0 AEIC19_MONMEAN_PRPE - - - - - - PRPE 241/114/107 20 1 0 AEIC19_MONMEAN_MACR - - - - - - MACR 241/114/108 20 1 0 AEIC19_MONMEAN_RCHO - - - - - - RCHO 241/114/109 20 1 )))AEIC2019_MONMEAN #============================================================================== # --- Emissions from decaying plants --- #============================================================================== (((DECAYING_PLANTS 0 ALD2_PLANTDECAY $ROOT/ALD2/v2017-03/resp.geos.2x25.nc HET_RESP 1985/1-12/1/0 C xy kgC/m2/s ALD2 85/41 3 1 0 EOH_PLANTDECAY - - - - - - EOH 86/47 3 1 )))DECAYING_PLANTS #============================================================================== # --- RCP future emissions scenarios --- #============================================================================== (((RCP_3PD 0 RCP3PD_CH4 $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_CH4_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CH4 - 1 1 0 RCP3PD_NOx $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_NOx_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s NO - 1 1 0 RCP3PD_CO $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_CO_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CO - 1 1 0 RCP3PD_SOAP - - - - - - SOAP 280 1 1 0 RCP3PD_BCPO $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_BC_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s BCPO - 1 1 0 RCP3PD_OCPO $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_OC_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s OCPO - 1 1 0 RCP3PD_POG1 - - - - - - POG1 74/76 1 1 0 RCP3PD_POG2 - - - - - - POG2 74/77 1 1 0 RCP3PD_SO2 $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_SO2_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s SO2 - 1 1 0 RCP3PD_pFe - - - - - - pFe 66 1 1 0 RCP3PD_NH3 $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_NH3_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s NH3 - 1 1 0 RCP3PD_C2H2 $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_acetylene_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H2 59 1 1 0 RCP3PD_CH2O $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_formaldehyde_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CH2O - 1 1 0 RCP3PD_BENZ $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_benzene_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s BENZ 43 1 1 0 RCP3PD_TOLU $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_toluene_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s TOLU 55 1 1 0 RCP3PD_XYLE $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_xylene_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s XYLE 56 1 1 0 RCP3PD_ALD2 $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_other_aldehydes_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALD2 41 1 1 0 RCP3PD_ALK4__A $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_butanes_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP3PD_ALK4__B $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_pentanes_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP3PD_ALK4__C $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_hexanes_and_higher_alkanes_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP3PD_ACET $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_total_ketones_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ACET 51/40 1 1 0 RCP3PD_MEK - - - - - - MEK 50/48 1 1 0 RCP3PD_C2H6 $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_ethane_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H6 45 1 1 0 RCP3PD_C2H4 $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_ethene_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H4 44 1 1 0 RCP3PD_C3H8 $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_propane_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C3H8 46 1 1 0 RCP3PD_PRPE $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_propene_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s PRPE 49 1 1 0 RCP3PD_HCOOH $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_total_acids_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s HCOOH 57/58 1 1 )))RCP_3PD (((RCP_45 0 RCP45_CH4 $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_CH4_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CH4 - 1 1 0 RCP45_NOx $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_NOx_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s NO - 1 1 0 RCP45_CO $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_CO_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CO - 1 1 0 RCP45_SOAP - - - - - - SOAP 280 1 1 0 RCP45_BCPO $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_BC_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s BCPO - 1 1 0 RCP45_OCPO $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_OC_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s OCPO - 1 1 0 RCP45_POG1 - - - - - - POG1 74/76 1 1 0 RCP45_POG2 - - - - - - POG2 74/77 1 1 0 RCP45_SO2 $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_SO2_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s SO2 - 1 1 0 RCP45_pFe - - - - - - pFe 66 1 1 0 RCP45_NH3 $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_NH3_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s NH3 - 1 1 0 RCP45_C2H2 $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_acetylene_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H2 59 1 1 0 RCP45_CH2O $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_formaldehyde_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CH2O - 1 1 0 RCP45_BENZ $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_benzene_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s BENZ 43 1 1 0 RCP45_TOLU $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_toluene_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s TOLU 55 1 1 0 RCP45_XYLE $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_xylene_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s XYLE 56 1 1 0 RCP45_ALD2 $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_other_aldehydes_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALD2 41 1 1 0 RCP45_ALK4__A $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_butanes_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP45_ALK4__B $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_pentanes_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP45_ALK4__C $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_hexanes_and_higher_alkanes_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP45_ACET $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_total_ketones_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ACET 51/40 1 1 0 RCP45_MEK - - - - - - MEK 50/48 1 1 0 RCP45_C2H6 $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_ethane_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H6 45 1 1 0 RCP45_C2H4 $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_ethene_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H4 44 1 1 0 RCP45_C3H8 $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_propane_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C3H8 46 1 1 0 RCP45_PRPE $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_propene_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s PRPE 49 1 1 0 RCP45_HCOOH $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_total_acids_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s HCOOH 57/58 1 1 )))RCP_45 (((RCP_60 0 RCP60_CH4 $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_CH4_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CH4 - 1 1 0 RCP60_NOx $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_NOx_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s NO - 1 1 0 RCP60_CO $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_CO_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CO - 1 1 0 RCP60_SOAP - - - - - - SOAP 280 1 1 0 RCP60_BCPO $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_BC_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s BCPO - 1 1 0 RCP60_OCPO $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_OC_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s OCPO - 1 1 0 RCP60_POG1 - - - - - - POG1 74/76 1 1 0 RCP60_POG2 - - - - - - POG2 74/77 1 1 0 RCP60_SO2 $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_SO2_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s SO2 - 1 1 0 RCP60_pFe - - - - - - pFe 66 1 1 0 RCP60_NH3 $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_NH3_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s NH3 - 1 1 0 RCP60_C2H2 $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_acetylene_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H2 59 1 1 0 RCP60_CH2O $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_formaldehyde_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CH2O - 1 1 0 RCP60_BENZ $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_benzene_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s BENZ 43 1 1 0 RCP60_TOLU $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_toluene_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s TOLU 55 1 1 0 RCP60_XYLE $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_xylene_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s XYLE 56 1 1 0 RCP60_ALD2 $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_other_aldehydes_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALD2 41 1 1 0 RCP60_ALK4__A $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_butanes_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP60_ALK4__B $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_pentanes_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP60_ALK4__C $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_hexanes_and_higher_alkanes_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP60_ACET $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_total_ketones_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ACET 51/40 1 1 0 RCP60_MEK - - - - - - MEK 50/48 1 1 0 RCP60_C2H6 $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_ethane_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H6 45 1 1 0 RCP60_C2H4 $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_ethene_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H4 44 1 1 0 RCP60_C3H8 $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_propane_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C3H8 46 1 1 0 RCP60_PRPE $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_propene_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s PRPE 49 1 1 0 RCP60_HCOOH $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_total_acids_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s HCOOH 57/58 1 1 )))RCP_60 (((RCP_85 0 RCP85_CH4 $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_CH4_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CH4 - 1 1 0 RCP85_NOx $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_NOx_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s NO - 1 1 0 RCP85_CO $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_CO_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CO - 1 1 0 RCP85_SOAP - - - - - - SOAP 280 1 1 0 RCP85_BCPO $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_BC_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s BCPO - 1 1 0 RCP85_OCPO $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_OC_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s OCPO - 1 1 0 RCP85_POG1 - - - - - - POG1 74/76 1 1 0 RCP85_POG2 - - - - - - POG2 74/77 1 1 0 RCP85_SO2 $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_SO2_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s SO2 - 1 1 0 RCP80_pFe - - - - - - pFe 66 1 1 0 RCP85_NH3 $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_NH3_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s NH3 - 1 1 0 RCP85_C2H2 $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_acetylene_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H2 59 1 1 0 RCP85_CH2O $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_formaldehyde_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CH2O - 1 1 0 RCP85_BENZ $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_benzene_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s BENZ 43 1 1 0 RCP85_TOLU $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_toluene_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s TOLU 55 1 1 0 RCP85_XYLE $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_xylene_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s XYLE 56 1 1 0 RCP85_ALD2 $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_other_aldehydes_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALD2 41 1 1 0 RCP85_ALK4__A $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_butanes_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP85_ALK4__B $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_pentanes_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP85_ALK4__C $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_hexanes_and_higher_alkanes_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP85_ACET $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_total_ketones_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ACET 51/40 1 1 0 RCP85_MEK - - - - - - MEK 50/48 1 1 0 RCP85_C2H6 $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_ethane_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H6 45 1 1 0 RCP85_C2H4 $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_ethene_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H4 44 1 1 0 RCP85_C3H8 $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_propane_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C3H8 46 1 1 0 RCP85_PRPE $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_propene_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s PRPE 49 1 1 0 RCP85_HCOOH $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_total_acids_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s HCOOH 57/58 1 1 )))RCP_85 #============================================================================== # --- QFED2 biomass burning (v2.5r1) --- # # Note: Use EF instead of EFY when using CESM #============================================================================== (((QFED2 0 QFED_ACET_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_acet.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EF xyL=1:PBL kg/m2/s ACET 75/311 5 2 0 QFED_ACET_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_acet.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EF xyL=PBL:5500m kg/m2/s ACET 75/312 5 2 0 QFED_ALD2_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_ald2.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EF xyL=1:PBL kg/m2/s ALD2 75/311 5 2 0 QFED_ALD2_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_ald2.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EF xyL=PBL:5500m kg/m2/s ALD2 75/312 5 2 0 QFED_ALK4_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_alk4.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EF xyL=1:PBL kg/m2/s ALK4 75/311 5 2 0 QFED_ALK4_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_alk4.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EF xyL=PBL:5500m kg/m2/s ALK4 75/312 5 2 0 QFED_BCPI_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_bc.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EF xyL=1:PBL kg/m2/s BCPI 70/75/311 5 2 0 QFED_BCPO_PBL - - - - - - BCPO 71/75/311 5 2 0 QFED_BCPI_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_bc.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EF xyL=PBL:5500m kg/m2/s BCPI 70/75/312 5 2 0 QFED_BCPO_FT - - - - - - BCPO 71/75/312 5 2 0 QFED_OCPI_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_oc.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EF xyL=1:PBL kg/m2/s OCPI 72/75/311 5 2 0 QFED_OCPO_PBL - - - - - - OCPO 73/75/311 5 2 0 QFED_POG1_PBL - - - - - - POG1 74/76/75/311 5 2 0 QFED_POG2_PBL - - - - - - POG2 74/77/75/311 5 2 0 QFED_OCPI_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_oc.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EF xyL=PBL:5500m kg/m2/s OCPI 72/75/312 5 2 0 QFED_OCPO_FT - - - - - - OCPO 73/75/312 5 2 0 QFED_POG1_FT - - - - - - POG1 74/76/75/312 5 2 0 QFED_POG2_FT - - - - - - POG2 74/77/75/312 5 2 0 QFED_C2H6_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_c2h6.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EF xyL=1:PBL kg/m2/s C2H6 75/311 5 2 0 QFED_C2H6_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_c2h6.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EF xyL=PBL:5500m kg/m2/s C2H6 75/312 5 2 0 QFED_C3H8_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_c3h8.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EF xyL=1:PBL kg/m2/s C3H8 75/311 5 2 0 QFED_C3H8_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_c3h8.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EF xyL=PBL:5500m kg/m2/s C3H8 75/312 5 2 0 QFED_CH2O_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_ch2o.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EF xyL=1:PBL kg/m2/s CH2O 75/311 5 2 0 QFED_CH2O_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_ch2o.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EF xyL=PBL:5500m kg/m2/s CH2O 75/312 5 2 0 QFED_CH4_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_ch4.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EF xyL=1:PBL kg/m2/s CH4 75/311 5 2 0 QFED_CH4_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_ch4.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EF xyL=PBL:5500m kg/m2/s CH4 75/312 5 2 0 QFED_CO_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_co.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EF xyL=1:PBL kg/m2/s CO 54/75/311 5 2 0 QFED_SOAP_PBL - - - - - - SOAP 54/75/281/311 5 2 0 QFED_CO_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_co.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EF xyL=PBL:5500m kg/m2/s CO 54/75/312 5 2 0 QFED_SOAP_FT - - - - - - SOAP 54/75/281/312 5 2 0 QFED_CO2_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_co2.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EF xyL=1:PBL kg/m2/s CO2 75/311 5 2 0 QFED_CO2_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_co2.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EF xyL=PBL:5500m kg/m2/s CO2 75/312 5 2 0 QFED_MEK_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_mek.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EF xyL=1:PBL kg/m2/s MEK 75/311 5 2 0 QFED_MEK_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_mek.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EF xyL=PBL:5500m kg/m2/s MEK 75/312 5 2 0 QFED_NH3_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_nh3.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EF xyL=1:PBL kg/m2/s NH3 75/311 5 2 0 QFED_NH3_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_nh3.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EF xyL=PBL:5500m kg/m2/s NH3 75/312 5 2 0 QFED_NO_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_no.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EF xyL=1:PBL kg/m2/s NO 75/311 5 2 0 QFED_NO_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_no.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EF xyL=PBL:5500m kg/m2/s NO 75/312 5 2 0 QFED_SO2_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_so2.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EF xyL=1:PBL kg/m2/s SO2 75/311 5 2 0 QFED_pFe_PBL - - - - - - pFe 75/311/66 5 2 0 QFED_SO2_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_so2.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EF xyL=PBL:5500m kg/m2/s SO2 75/312 5 2 0 QFED_pFe_FT - - - - - - pF3 75/312/66 5 2 0 QFED_C3H6_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_c3h6.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EF xyL=1:PBL kg/m2/s PRPE 75/311 5 2 0 QFED_C3H6_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_c3h6.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EF xyL=PBL:5500m kg/m2/s PRPE 75/312 5 2 )))QFED2 #============================================================================== # --- GFAS biomass burning --- #============================================================================== (((GFAS 0 GFAS_CO $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc cofire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s CO 75 5 3 0 GFAS_SOAP $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc cofire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s SOAP 75/281 5 3 0 GFAS_CH3OH $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc ch3ohfire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s MOH 75 5 3 0 GFAS_NO $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc noxfire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s NO 75 5 3 0 GFAS_BCPI $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc bcfire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s BCPI 70/75 5 3 0 GFAS_BCPO $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc bcfire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s BCPO 71/75 5 3 0 GFAS_OCPI $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc ocfire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s OCPI 72/75 5 3 0 GFAS_OCPO $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc ocfire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s OCPO 73/75 5 3 0 GFAS_POG1 - - - - - - POG1 74/76/75 5 3 0 GFAS_POG2 - - - - - - POG2 74/77/75 5 3 0 GFAS_CO2 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc co2fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s CO2 75 5 3 0 GFAS_CH4 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc ch4fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s CH4 75 5 3 0 GFAS_SO2 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc so2fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s SO2 75 5 3 0 GFAS_pFe $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc so2fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s pFe 75/66 5 3 0 GFAS_NH3 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc nh3fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s NH3 75 5 3 0 GFAS_ACET $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c3h6ofire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s ACET 75 5 3 0 GFAS_ALD2 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c2h4ofire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s ALD2 75 5 3 0 GFAS_ALK4 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc hialkanesfire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s ALK4 75 5 3 0 GFAS_PRPE1 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc hialkenesfire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s PRPE 75 5 3 0 GFAS_PRPE2 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c3h6fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s PRPE 75 5 3 0 GFAS_C2H6 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c2h6fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s C2H6 75 5 3 0 GFAS_C3H8 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c3h8fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s C3H8 75 5 3 0 GFAS_CH2O $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc ch2ofire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s CH2O 75 5 3 0 GFAS_C2H4 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c2h4fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s C2H4 75 5 3 0 GFAS_ISOP $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c5h8fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s ISOP 75 5 3 0 GFAS_DMS $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c2h6sfire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s DMS 75 5 3 0 GFAS_TOLU $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c7h8fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s TOLU 75 5 3 0 GFAS_BENZ $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c6h6fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s BENZ 75 5 3 0 GFAS_XYLE $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c8h10fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s XYLE 75 5 3 )))GFAS #============================================================================== # --- BB4MIPs biomass burning --- #============================================================================== (((BB4MIPS # 75 is time-of-day scaling 0 CMIP6_BB_CO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s CO 75 5 3 0 CMIP6_BB_SOAP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s SOAP 75/281 5 3 0 CMIP6_BB_NO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NO_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s NO 75 5 3 0 CMIP6_BB_BCPI $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s BCPI 70/75 5 3 0 CMIP6_BB_BCPO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s BCPO 71/75 5 3 0 CMIP6_BB_OCPI $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s OCPI 72/75 5 3 0 CMIP6_BB_OCPO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s OCPO 73/75 5 3 0 CMIP6_BB_POG1 - - - - - - POG1 74/76/75 5 3 0 CMIP6_BB_POG2 - - - - - - POG2 74/77/75 5 3 0 CMIP6_BB_SO2 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s SO2 75 5 3 0 CMIP6_BB_pFe - - - - - - pFe 75/66 5 3 0 CMIP6_BB_NH3 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s NH3 75 5 3 0 CMIP6_BB_ALD2 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALD2_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s ALD2 75 5 3 0 CMIP6_BB_ALK4 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s ALK4 75 5 3 0 CMIP6_BB_PRPE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 PRPE_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s PRPE 75 5 3 0 CMIP6_BB_C2H6 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H6_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s C2H6 75 5 3 0 CMIP6_BB_C3H8 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C3H8_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s C3H8 75 5 3 0 CMIP6_BB_CH2O $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH2O_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s CH2O 75 5 3 0 CMIP6_BB_C2H4 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H4_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s C2H4 75 5 3 0 CMIP6_BB_ISOP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ISOP_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s ISOP 75 5 3 0 CMIP6_BB_DMS $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 DMS_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s DMS 75 5 3 0 CMIP6_BB_TOLU $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 TOLU_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s TOLU 75 5 3 0 CMIP6_BB_BENZ $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BENZ_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s BENZ 75 5 3 0 CMIP6_BB_XYLE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 XYLE_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s XYLE 75 5 3 0 CMIP6_BB_H2 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 H2_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s H2 75 5 3 0 CMIP6_BB_MTPA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MONOT_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s MTPA 75 5 3 #0 CMIP6_BB_MTPO - - - - - - MTPO 75 5 3 #0 CMIP6_BB_LIMO - - - - - - LIMO 75 5 3 0 CMIP6_BB_EOH $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 EOH_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s EOH 75 5 3 0 CMIP6_BB_MOH $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MOH_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s MOH 75 5 3 0 CMIP6_BB_ACET - - - - - - ACET 79/75 5 3 0 CMIP6_BB_MGLY $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MGLY_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s MGLY 75 5 3 0 CMIP6_BB_ACTA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ACTA_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s ACTA 75 5 3 0 CMIP6_BB_HCN $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 HCN_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s HCN 75 5 3 0 CMIP6_BB_HCOOH $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 HCOOH_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s HCOOH 75 5 3 0 CMIP6_BB_MEK $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MEK_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s MEK 75 5 3 )))BB4MIPS #============================================================================== # --- GFED4 biomass burning emissions climatology # NOTE: # - These emissions were generated for 2010-2019 using the GFED extension # in a 0.5x0.625 HEMCO 3.6.1 standalone simulation. #============================================================================== (((GFED4_CLIMATOLOGY 0 GFED4_CLIM_ACET $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2019_05x0625.nc GFED4_ACET 2019/1-12/1/0 C xy kg/m2/s ACET - 5 1 0 GFED4_CLIM_ALD2 $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2019_05x0625.nc GFED4_ALD2 2019/1-12/1/0 C xy kg/m2/s ALD2 - 5 1 0 GFED4_CLIM_ALK4 $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2019_05x0625.nc GFED4_ALK4 2019/1-12/1/0 C xy kg/m2/s ALK4 - 5 1 0 GFED4_CLIM_BCPI $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2019_05x0625.nc GFED4_BCPI 2019/1-12/1/0 C xy kg/m2/s BCPI - 5 1 0 GFED4_CLIM_BCPO $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2019_05x0625.nc GFED4_BCPO 2019/1-12/1/0 C xy kg/m2/s BCPO - 5 1 0 GFED4_CLIM_BENZ $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2019_05x0625.nc GFED4_BENZ 2019/1-12/1/0 C xy kg/m2/s BENZ - 5 1 0 GFED4_CLIM_C2H6 $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2019_05x0625.nc GFED4_C2H6 2019/1-12/1/0 C xy kg/m2/s C2H6 - 5 1 0 GFED4_CLIM_C3H8 $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2019_05x0625.nc GFED4_C3H8 2019/1-12/1/0 C xy kg/m2/s C3H8 - 5 1 0 GFED4_CLIM_CH2O $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2019_05x0625.nc GFED4_ACET 2019/1-12/1/0 C xy kg/m2/s CH2O - 5 1 0 GFED4_CLIM_CO $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2019_05x0625.nc GFED4_CO 2019/1-12/1/0 C xy kg/m2/s CO - 5 1 0 GFED4_CLIM_EOH $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2019_05x0625.nc GFED4_EOH 2019/1-12/1/0 C xy kg/m2/s EOH - 5 1 0 GFED4_CLIM_MEK $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2019_05x0625.nc GFED4_MEK 2019/1-12/1/0 C xy kg/m2/s MEK - 5 1 0 GFED4_CLIM_NO $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2019_05x0625.nc GFED4_NO 2019/1-12/1/0 C xy kg/m2/s NO - 5 1 0 GFED4_CLIM_OCPI $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2019_05x0625.nc GFED4_OCPI 2019/1-12/1/0 C xy kg/m2/s OCPI - 5 1 0 GFED4_CLIM_OCPO $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2019_05x0625.nc GFED4_OCPO 2019/1-12/1/0 C xy kg/m2/s OCPO - 5 1 0 GFED4_CLIM_PRPE $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2019_05x0625.nc GFED4_PRPE 2019/1-12/1/0 C xy kg/m2/s PRPE - 5 1 0 GFED4_CLIM_SO2 $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2019_05x0625.nc GFED4_SO2 2019/1-12/1/0 C xy kg/m2/s SO2 - 5 1 0 GFED4_CLIM_SOAP $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2019_05x0625.nc GFED4_SOAP 2019/1-12/1/0 C xy kg/m2/s SOAP - 5 1 0 GFED4_CLIM_TOLU $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2019_05x0625.nc GFED4_TOLU 2019/1-12/1/0 C xy kg/m2/s TOLU - 5 1 0 GFED4_CLIM_XYLE $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2019_05x0625.nc GFED4_XYLE 2019/1-12/1/0 C xy kg/m2/s XYLE - 5 1 )))GFED4_CLIMATOLOGY #============================================================================== # --- Anthropogenic Fugitive, Combustion and Industrial Dust --- # (Philip et al., 2017, ERL) #============================================================================== (((AFCID 0 PM25FINE_1 $ROOT/AFCID/v2018-04/PM25FINE_ECLIPSE_2015.geos.2x25.nc PM25FINE 2015/1-12/1/0 C xy kg/m2/s DST1 - 1 1 0 PM25FINE_2 $ROOT/AFCID/v2018-04/PM25FINE_MEIC_2012.generic.025x025.nc PM25FINE 2012/1-12/1/0 C xy kg/m2/s DST1 1009 1 2 0 PM25FINE_3 $ROOT/AFCID/v2018-04/PM25FINE_IITB_2013.generic.025x025.nc PM25FINE 2013/1-12/1/0 C xy kg/m2/s DST1 1010 1 3 )))AFCID #============================================================================== # --- Offline dust emissions --- # # NOTE: Use flag C if running in CESM #============================================================================== (((OFFLINE_DUST (((.not.DustL23M 0 EMIS_DSTbin1 $ROOT/OFFLINE_DUST/v2025-03/${RUNDIR_OFFLINE_EMIS_RES}/${RUNDIR_MET}/$YYYY/$MM/dust_emissions_${RUNDIR_OFFLINE_EMIS_LAT_RES}.${RUNDIR_MET}.$YYYY$MM$DD.nc EMIS 1980-2022/1-12/1-31/* C xy kg/m2/s DSTbin1 621 3 2 0 EMIS_DSTbin2 $ROOT/OFFLINE_DUST/v2025-03/${RUNDIR_OFFLINE_EMIS_RES}/${RUNDIR_MET}/$YYYY/$MM/dust_emissions_${RUNDIR_OFFLINE_EMIS_LAT_RES}.${RUNDIR_MET}.$YYYY$MM$DD.nc EMIS 1980-2022/1-12/1-31/* C xy kg/m2/s DSTbin2 622 3 2 0 EMIS_DSTbin3 $ROOT/OFFLINE_DUST/v2025-03/${RUNDIR_OFFLINE_EMIS_RES}/${RUNDIR_MET}/$YYYY/$MM/dust_emissions_${RUNDIR_OFFLINE_EMIS_LAT_RES}.${RUNDIR_MET}.$YYYY$MM$DD.nc EMIS 1980-2022/1-12/1-31/* C xy kg/m2/s DSTbin3 623 3 2 0 EMIS_DSTbin4 $ROOT/OFFLINE_DUST/v2025-03/${RUNDIR_OFFLINE_EMIS_RES}/${RUNDIR_MET}/$YYYY/$MM/dust_emissions_${RUNDIR_OFFLINE_EMIS_LAT_RES}.${RUNDIR_MET}.$YYYY$MM$DD.nc EMIS 1980-2022/1-12/1-31/* C xy kg/m2/s DSTbin4 624 3 2 0 EMIS_DSTbin5 $ROOT/OFFLINE_DUST/v2025-03/${RUNDIR_OFFLINE_EMIS_RES}/${RUNDIR_MET}/$YYYY/$MM/dust_emissions_${RUNDIR_OFFLINE_EMIS_LAT_RES}.${RUNDIR_MET}.$YYYY$MM$DD.nc EMIS 1980-2022/1-12/1-31/* C xy kg/m2/s DSTbin5 625 3 2 0 EMIS_DSTbin6 $ROOT/OFFLINE_DUST/v2025-03/${RUNDIR_OFFLINE_EMIS_RES}/${RUNDIR_MET}/$YYYY/$MM/dust_emissions_${RUNDIR_OFFLINE_EMIS_LAT_RES}.${RUNDIR_MET}.$YYYY$MM$DD.nc EMIS 1980-2022/1-12/1-31/* C xy kg/m2/s DSTbin6 626 3 2 0 EMIS_DSTbin7 $ROOT/OFFLINE_DUST/v2025-03/${RUNDIR_OFFLINE_EMIS_RES}/${RUNDIR_MET}/$YYYY/$MM/dust_emissions_${RUNDIR_OFFLINE_EMIS_LAT_RES}.${RUNDIR_MET}.$YYYY$MM$DD.nc EMIS 1980-2022/1-12/1-31/* C xy kg/m2/s DSTbin7 627 3 2 ))).not.DustL23M )))OFFLINE_DUST #============================================================================== # --- Offline biogenic VOC emissions --- # NOTE: Use flag C if running in CESM #============================================================================== (((OFFLINE_BIOGENICVOC 0 BIOGENIC_ACET $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/0.5x0.625/$YYYY/$MM/biovoc_05.$YYYY$MM$DD.nc ACET_MEGAN 1980-2022/1-12/1-31/* C xy kg/m2/s ACET - 4 2 0 BIOGENIC_ALD2 $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/0.5x0.625/$YYYY/$MM/biovoc_05.$YYYY$MM$DD.nc ALD2_MEGAN 1980-2022/1-12/1-31/* C xy kg/m2/s ALD2 - 4 2 0 BIOGENIC_C2H4 $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/0.5x0.625/$YYYY/$MM/biovoc_05.$YYYY$MM$DD.nc C2H4_MEGAN 1980-2022/1-12/1-31/* C xy kg/m2/s C2H4 - 4 2 0 BIOGENIC_EOH $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/0.5x0.625/$YYYY/$MM/biovoc_05.$YYYY$MM$DD.nc EOH_MEGAN 1980-2022/1-12/1-31/* C xy kg/m2/s EOH - 4 2 0 BIOGENIC_ISOP $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/0.5x0.625/$YYYY/$MM/biovoc_05.$YYYY$MM$DD.nc ISOP_MEGAN 1980-2022/1-12/1-31/* C xy kg/m2/s ISOP - 4 2 0 BIOGENIC_ISOP_SOAP - - - - - - SOAP 610 4 2 0 BIOGENIC_ISOP_SOAS - - - - - - SOAS 610 4 2 0 BIOGENIC_LIMO $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/0.5x0.625/$YYYY/$MM/biovoc_05.$YYYY$MM$DD.nc LIMO_MEGAN 1980-2022/1-12/1-31/* C xy kg/m2/s LIMO - 4 2 0 BIOGENIC_LIMO_SOAP - - - - - - SOAP 611 4 2 0 BIOGENIC_LIMO_SOAS - - - - - - SOAS 611 4 2 0 BIOGENIC_MOH $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/0.5x0.625/$YYYY/$MM/biovoc_05.$YYYY$MM$DD.nc MOH_MEGAN 1980-2022/1-12/1-31/* C xy kg/m2/s MOH - 4 2 0 BIOGENIC_MTPA $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/0.5x0.625/$YYYY/$MM/biovoc_05.$YYYY$MM$DD.nc MTPA_MEGAN 1980-2022/1-12/1-31/* C xy kg/m2/s MTPA - 4 2 0 BIOGENIC_MTPA_SOAP - - - - - - SOAP 611 4 2 0 BIOGENIC_MTPA_SOAS - - - - - - SOAS 611 4 2 0 BIOGENIC_MTPO $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/0.5x0.625/$YYYY/$MM/biovoc_05.$YYYY$MM$DD.nc MTPO_MEGAN 1980-2022/1-12/1-31/* C xy kg/m2/s MTPO - 4 2 0 BIOGENIC_MTPO_SOAP - - - - - - SOAP 611 4 2 0 BIOGENIC_MTPO_SOAS - - - - - - SOAS 611 4 2 0 BIOGENIC_PRPE $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/0.5x0.625/$YYYY/$MM/biovoc_05.$YYYY$MM$DD.nc PRPE_MEGAN 1980-2022/1-12/1-31/* C xy kg/m2/s PRPE - 4 2 0 BIOGENIC_SESQ $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/0.5x0.625/$YYYY/$MM/biovoc_05.$YYYY$MM$DD.nc SESQ_MEGAN 1980-2022/1-12/1-31/* C xy kg/m2/s SESQ - 4 2 0 BIOGENIC_SESQ_SOAP - - - - - - SOAP 612 4 2 0 BIOGENIC_SESQ_SOAS - - - - - - SOAS 612 4 2 )))OFFLINE_BIOGENICVOC #============================================================================== # --- Offline sea salt emissions --- # Note: Seasalt emissions in GEOS-Chem within CESM are generally handled by MAM4. # However, it does not include emissions of SSA alkalinity, chlorine, and bromine. # # If OFFLINE_SEASALT is used in GEOS-Chem within CESM, SALA and SALC will not be # emitted by HEMCO, but the offline emissions will be used to scale for AL/Cl/Br. # Alternatively, do not use OFFLINE_SEASALT and scale emissions within chemistry.F90. # The latter approach is preferred but not implemented, so we scale the offline # emissions for now. # # This means that the below entries differ from GEOS-Chem "Classic" and others # by not having SALA / SALC entries. (hplin, 5/23/23) # # NOTE: Use flag C if running in CESM #============================================================================== (((OFFLINE_SEASALT (((.not.SeaSalt 0 SEASALT_SALAAL $ROOT/OFFLINE_SEASALT/${RUNDIR_OFFLINE_SEASALT_DIR}/0.5x0.625/$YYYY/$MM/seasalt_05.$YYYY$MM$DD.nc SALA_TOTAL 1980-2021/1-12/1-31/* C xy kg/m2/s SALAAL 615 3 2 0 SEASALT_SALACL - - - - - - SALACL 616 3 2 (((CalcBrSeasalt 0 SEASALT_BrSALA - - - - - - BrSALA 617 3 2 )))CalcBrSeasalt 0 SEASALT_SALCAL $ROOT/OFFLINE_SEASALT/${RUNDIR_OFFLINE_SEASALT_DIR}/0.5x0.625/$YYYY/$MM/seasalt_05.$YYYY$MM$DD.nc SALC_TOTAL 1980-2021/1-12/1-31/* C xy kg/m2/s SALCAL 615 3 2 0 SEASALT_SALCCL - - - - - - SALCCL 616 3 2 (((CalcBrSeasalt 0 SEASALT_BrSALC - - - - - - BrSALC 617 3 2 )))CalcBrSeasalt ))).not.SeaSalt )))OFFLINE_SEASALT #============================================================================== # --- Offline soil NOx emissions --- # NOTE: Use flag C if running in CESM #============================================================================== (((OFFLINE_SOILNOX (((.not.SoilNOx 0 SOILNOX_NO $ROOT/OFFLINE_SOILNOX/${RUNDIR_OFFLINE_SOILNOX_DIR}/0.5x0.625/$YYYY/$MM/soilnox_05.$YYYY$MM$DD.nc SOIL_NOx 1980-2022/1-12/1-31/* C xy kg/m2/s NO - 3 2 ))).not.SoilNOx )))OFFLINE_SOILNOX ############################################################################### ### EXTENSION DATA (subsection of BASE EMISSIONS SECTION) ### ### These fields are needed by the extensions listed above. The assigned ExtNr ### must match the ExtNr entry in section 'Extension switches'. These fields ### are only read if the extension is enabled. The fields are imported by the ### extensions by field name. The name given here must match the name used ### in the extension's source code. ############################################################################### #============================================================================== # --- Seawater concentrations for oceanic emissions (Extension 101) --- #============================================================================== (((SeaFlux #101 CH3I_SEAWATER $ROOT/CH3I/v2014-07/ocean_ch3i.geos.4x5.nc CH3I_OCEAN 1985/1-12/1/0 C xy kg/m3 CH3I - 1 1 101 DMS_SEAWATER $ROOT/DMS/v2015-07/DMS_lana.geos.1x1.nc DMS_OCEAN 1985/1-12/1/0 C xy kg/m3 DMS - 1 1 101 ACET_SEAWATER $ROOT/ACET/v2014-07/ACET_seawater.generic.1x1.nc ACET 2005/1/1/0 C xy kgC/m3 ACET 40 1 1 101 ALD2_SEAWATER $ROOT/ALD2/v2017-03/ALD2_seawater.geos.2x25.nc ALD2 2006/1-12/1/0 C xy kgC/m3 ALD2 41 1 1 101 MENO3_SEAWATER $ROOT/RONO2/v2019-05/RONO2_seawater.geos.2x25.nc MENO3 2006/1-12/1/0 C xy kg/m3 MENO3 - 1 1 101 ETNO3_SEAWATER $ROOT/RONO2/v2019-05/RONO2_seawater.geos.2x25.nc ETNO3 2006/1-12/1/0 C xy kg/m3 ETNO3 - 1 1 101 MOH_SEAWATER $ROOT/MOH/v2019-12/MOH_seawater.low.kgCm3.generic.1x1.nc MOH 2005/1/1/0 C xy kg/m3 MOH - 1 1 )))SeaFlux #============================================================================== # --- SOILNOX emissions (Extension 104) --- #============================================================================== (((SoilNOx 104 DEP_RESERVOIR_DEFAULT $ROOT/SOILNOX/v2014-07/DepReservoirDefault.nc DEP_RESERVOIR 2013/7/1/0 C xy kg/m3 NO - 1 1 (((HEMCO_RESTART 104 PFACTOR ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc PFACTOR $YYYY/$MM/$DD/$HH EY xy 1 NO - 1 1 104 DRYPERIOD ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc DRYPERIOD $YYYY/$MM/$DD/$HH EY xy 1 NO - 1 1 104 GWET_PREV ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc GWET_PREV $YYYY/$MM/$DD/$HH EY xy 1 NO - 1 1 104 DEP_RESERVOIR ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc DEP_RESERVOIR $YYYY/$MM/$DD/$HH EY xy kg/m3 NO - 1 1 )))HEMCO_RESTART 104 SOILNOX_FERT $ROOT/SOILNOX/v2014-07/soilNOx.fert_res.generic.05x05.nc FERT 2000/1-12/1-31/0 C xy kg/m3 NO - 1 1 104 SOILNOX_LANDK1 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K01 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK2 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K02 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK3 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K03 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK4 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K04 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK5 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K05 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK6 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K06 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK7 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K07 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK8 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K08 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK9 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K09 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK10 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K10 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK11 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K11 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK12 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K12 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK13 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K13 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK14 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K14 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK15 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K15 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK16 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K16 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK17 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K17 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK18 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K18 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK19 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K19 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK20 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K20 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK21 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K21 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK22 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K22 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK23 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K23 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK24 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K24 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_ARID $ROOT/SOILNOX/v2014-07/soilNOx.climate.generic.05x05.nc ARID 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_NONARID $ROOT/SOILNOX/v2014-07/soilNOx.climate.generic.05x05.nc NON_ARID 2000/1/1/0 C xy 1 NO - 1 1 )))SoilNOx #============================================================================== # --- Dust emissions using DEAD model (Extension 131) --- #============================================================================== (((TOMAS_DustDead 131 DEAD_EF_GEO $ROOT/DUST_DEAD/v2019-06/dst_tibds.geos.2x25.nc EF_GEO 1985/1/1/0 C xy factor * - 1 1 131 DEAD_LF_DRY $ROOT/DUST_DEAD/v2019-06/dst_tibds.geos.2x25.nc LF_DRY 1985/1/1/0 C xy factor * - 1 1 131 DEAD_MF_CACO3 $ROOT/DUST_DEAD/v2019-06/dst_tibds.geos.2x25.nc MF_CaCO3 1985/1/1/0 C xy fraction * - 1 1 131 DEAD_MF_CLY $ROOT/DUST_DEAD/v2019-06/dst_tibds.geos.2x25.nc MF_CLY 1985/1/1/0 C xy fraction * - 1 1 131 DEAD_MF_SND $ROOT/DUST_DEAD/v2019-06/dst_tibds.geos.2x25.nc MF_SND 1985/1/1/0 C xy fraction * - 1 1 131 DEAD_SFC_TYP $ROOT/DUST_DEAD/v2019-06/dst_tibds.geos.2x25.nc SFC_TYP 1985/1/1/0 C xy unitless * - 1 1 131 DEAD_GOC_SRC $ROOT/DUST_DEAD/v2019-06/GOCART_src_fn.geos.2x25.nc GOC_SRC 1985/1/1/0 C xy unitless * - 1 1 131 DEAD_VAI $ROOT/DUST_DEAD/v2019-06/dst_tvbds.geos.2x25.nc VAI 1985/1-12/1/0 C xy unitless * - 1 1 )))TOMAS_DustDead #============================================================================== # --- Sea salt emissions (Extensions 107 and 130) # # MODIS Chlorophyll-A fields used for emissions of marine organic aerosols #============================================================================== (((SeaSalt 107 MODIS_CHLR $ROOT/MODIS_CHLR/v2019-11/MODIS.CHLRv.V5.generic.025x025.$YYYY.nc MODIS 2005-2014/1-12/1/0 C xy 1 * - 1 1 107 MULTISEAICE $ROOT/MULTI_ICE/v2021-07/multiyearice.merra2.05x0625.$YYYY.nc FRSEAICE 1980-2020/1-12/1-31/0 C xy 1 * - 1 1 # Climatology CHLR #107 MODIS_CHLR $ROOT/MODIS_CHLR/v2019-11/MODIS.CHLRv.V5.generic.025x025.Clim.nc MODIS 2007/1-12/1/0 C xy 1 * - 1 1 )))SeaSalt (((TOMAS_Jeagle 130 MODIS_CHLR $ROOT/MODIS_CHLR/v2019-11/MODIS.CHLRv.V5.generic.025x025.$YYYY.nc MODIS 2005-2014/1-12/1/0 C xy 1 * - 1 1 130 MULTISEAICE $ROOT/MULTI_ICE/v2021-07/multiyearice.merra2.05x0625.$YYYY.nc FRSEAICE 1984-2017/1-12/1-31/0 C xy 1 * - 1 1 # Climatology CHLR #130 MODIS_CHLR $ROOT/MODIS_CHLR/v2019-11/MODIS.CHLRv.V5.generic.025x025.Clim.nc MODIS 2007/1-12/1/0 C xy 1 * - 1 1 )))TOMAS_Jeagle #============================================================================== # --- MEGAN biogenic emissions (Extension 108) # # NOTE: These are the base emissions, which will be converted to kgC/m2/s by # HEMCO. The specified species (OCPI/ISOP/ACET) are required for proper unit # conversion. Since netCDF files are already in mass carbon (ug(C)), the only # important thing is to specify a VOC with a specified MW of 12g/mol. # This is the case for OCPI, ISOP and ACET. # # We don't need to read EF maps for acetone, a-pinene or myrcene. We now # compute those values in the MEGAN extension. #============================================================================== (((MEGAN (((HEMCO_RESTART 108 T_DAVG ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc T_DAVG $YYYY/$MM/$DD/$HH EY xy K * - 1 1 108 T_PREVDAY ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc T_PREVDAY $YYYY/$MM/$DD/$HH EY xy K * - 1 1 108 LAI_PREVDAY ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc LAI_PREVDAY $YYYY/$MM/$DD/$HH EY xy 1 * - 1 1 108 PARDR_DAVG ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc PARDR_DAVG $YYYY/$MM/$DD/$HH EY xy W/m2 * - 1 1 108 PARDF_DAVG ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc PARDF_DAVG $YYYY/$MM/$DD/$HH EY xy W/m2 * - 1 1 )))HEMCO_RESTART 108 MEGAN_AEF_ISOP $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_ISOPRENE 1985/1/1/0 C xy kgC/m2/s * 61 1 1 108 MEGAN_AEF_MBOX $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_MBO 1985/1/1/0 C xy kgC/m2/s * 64 1 1 #108 MEGAN_AEF_APIN $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_ALPHA_PINENE 1985/1/1/0 C xy kgC/m2/s * 62 1 1 108 MEGAN_AEF_BPIN $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_BETA_PINENE 1985/1/1/0 C xy kgC/m2/s * 62 1 1 108 MEGAN_AEF_CARE $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_CARENE 1985/1/1/0 C xy kgC/m2/s * 62 1 1 108 MEGAN_AEF_LIMO $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_LIMONENE 1985/1/1/0 C xy kgC/m2/s * 62 1 1 #108 MEGAN_AEF_MYRC $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_MYRCENE 1985/1/1/0 C xy kgC/m2/s * 62 1 1 108 MEGAN_AEF_OCIM $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_OCIMENE 1985/1/1/0 C xy kgC/m2/s * 62 1 1 108 MEGAN_AEF_SABI $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_SABINENE 1985/1/1/0 C xy kgC/m2/s * 62 1 1 108 CLM4_PFT_BARE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BARE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_NDLF_EVGN_TMPT_TREE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_NDLF_EVGN_TMPT_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_NDLF_EVGN_BORL_TREE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_NDLF_EVGN_BORL_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_NDLF_DECD_BORL_TREE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_NDLF_DECD_BORL_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_EVGN_TROP_TREE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BDLF_EVGN_TROP_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_EVGN_TMPT_TREE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BDLF_EVGN_TMPT_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_DECD_TROP_TREE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BDLF_DECD_TROP_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_DECD_TMPT_TREE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BDLF_DECD_TMPT_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_DECD_BORL_TREE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BDLF_DECD_BORL_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_EVGN_SHRB $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BDLF_EVGN_SHRB 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_DECD_TMPT_SHRB $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BDLF_DECD_TMPT_SHRB 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_DECD_BORL_SHRB $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BDLF_DECD_BORL_SHRB 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_C3_ARCT_GRSS $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_C3_ARCT_GRSS 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_C3_NARC_GRSS $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_C3_NARC_GRSS 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_C4_GRSS $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_C4_GRSS 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_CROP $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_CROP 2000/1/1/0 C xy 1 * - 1 1 )))MEGAN #============================================================================== # --- GFED biomass burning emissions (Extension 111) # NOTES: # - These are the base emissions in kgDM/m2/s # - If a year is not available, you may use the GFED4_CLIMATOLOGY option instead #============================================================================== (((GFED4 111 GFED_TEMP $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_TEMP 1997-2022/1-12/01/0 RF xy kgDM/m2/s * - 1 1 111 GFED_AGRI $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_AGRI 1997-2022/1-12/01/0 RF xy kgDM/m2/s * - 1 1 111 GFED_DEFO $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_DEFO 1997-2022/1-12/01/0 RF xy kgDM/m2/s * - 1 1 111 GFED_BORF $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_BORF 1997-2022/1-12/01/0 RF xy kgDM/m2/s * - 1 1 111 GFED_PEAT $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_PEAT 1997-2022/1-12/01/0 RF xy kgDM/m2/s * - 1 1 111 GFED_SAVA $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_SAVA 1997-2022/1-12/01/0 RF xy kgDM/m2/s * - 1 1 (((GFED_subgrid_coag 111 FINN_DAILY_NUMBER $ROOT/FINN/v2015-02/FINN_daily_$YYYY_0.25x0.25_with_num.nc number 2002-2016/1-12/1/0 RF xy unitless * - 1 1 )))GFED_subgrid_coag (((GFED_daily 111 GFED_FRAC_DAY $ROOT/GFED4/v2023-03/$YYYY/GFED4_dailyfrac_gen.025x025.$YYYY$MM.nc GFED_FRACDAY 2003-2022/1-12/1-31/0 RF xy 1 * - 1 1 )))GFED_daily (((GFED_3hourly 111 GFED_FRAC_3HOUR $ROOT/GFED4/v2023-03/$YYYY/GFED4_3hrfrac_gen.025x025.$YYYY$MM.nc GFED_FRAC3HR 2003-2022/1-12/1/0-23 RF xy 1 * - 1 1 )))GFED_3hourly )))GFED4 #============================================================================== # --- FINN v1.5 biomass burning emissions (Extension 114) #============================================================================== (((.not.FINN_daily 114 FINN_VEGTYP1 $ROOT/FINN/v2015-02/FINN_monthly_$YYYY_0.25x0.25.compressed.nc fire_vegtype1 2002-2016/1-12/1/0 RF xy kg/m2/s * - 1 1 114 FINN_VEGTYP2 $ROOT/FINN/v2015-02/FINN_monthly_$YYYY_0.25x0.25.compressed.nc fire_vegtype2 2002-2016/1-12/1/0 RF xy kg/m2/s * - 1 1 114 FINN_VEGTYP3 $ROOT/FINN/v2015-02/FINN_monthly_$YYYY_0.25x0.25.compressed.nc fire_vegtype3 2002-2016/1-12/1/0 RF xy kg/m2/s * - 1 1 114 FINN_VEGTYP4 $ROOT/FINN/v2015-02/FINN_monthly_$YYYY_0.25x0.25.compressed.nc fire_vegtype4 2002-2016/1-12/1/0 RF xy kg/m2/s * - 1 1 114 FINN_VEGTYP5 $ROOT/FINN/v2015-02/FINN_monthly_$YYYY_0.25x0.25.compressed.nc fire_vegtype5 2002-2016/1-12/1/0 RF xy kg/m2/s * - 1 1 114 FINN_VEGTYP9 $ROOT/FINN/v2015-02/FINN_monthly_$YYYY_0.25x0.25.compressed.nc fire_vegtype9 2002-2016/1-12/1/0 RF xy kg/m2/s * - 1 1 ))).not.FINN_daily (((FINN_daily 114 FINN_DAILY_VEGTYP1 $ROOT/FINN/v2015-02/FINN_daily_$YYYY_0.25x0.25.compressed.nc fire_vegtype1 2002-2016/1-12/1/0 RF xy kg/m2/s * - 1 1 114 FINN_DAILY_VEGTYP2 $ROOT/FINN/v2015-02/FINN_daily_$YYYY_0.25x0.25.compressed.nc fire_vegtype2 2002-2016/1-12/1/0 RF xy kg/m2/s * - 1 1 114 FINN_DAILY_VEGTYP3 $ROOT/FINN/v2015-02/FINN_daily_$YYYY_0.25x0.25.compressed.nc fire_vegtype3 2002-2016/1-12/1/0 RF xy kg/m2/s * - 1 1 114 FINN_DAILY_VEGTYP4 $ROOT/FINN/v2015-02/FINN_daily_$YYYY_0.25x0.25.compressed.nc fire_vegtype4 2002-2016/1-12/1/0 RF xy kg/m2/s * - 1 1 114 FINN_DAILY_VEGTYP5 $ROOT/FINN/v2015-02/FINN_daily_$YYYY_0.25x0.25.compressed.nc fire_vegtype5 2002-2016/1-12/1/0 RF xy kg/m2/s * - 1 1 114 FINN_DAILY_VEGTYP9 $ROOT/FINN/v2015-02/FINN_daily_$YYYY_0.25x0.25.compressed.nc fire_vegtype9 2002-2016/1-12/1/0 RF xy kg/m2/s * - 1 1 (((FINN_subgrid_coag 114 FINN_DAILY_NUMBER $ROOT/FINN/v2015-02/FINN_daily_$YYYY_0.25x0.25_with_num.nc number 2002-2016/1-12/1/0 RF xy unitless * - 1 1 )))FINN_subgrid_coag )))FINN_daily )))EMISSIONS ############################################################################### ### NON-EMISSIONS DATA (subsection of BASE EMISSIONS SECTION) ### ### Non-emissions data. The following fields are read through HEMCO but do ### not contain emissions data. The extension number is set to wildcard ### character denoting that these fields will not be considered for emission ### calculation. A given entry is only read if the assigned species name is ### an HEMCO species. ############################################################################### #============================================================================== # --- Time zones (offset to UTC) --- #============================================================================== * TIMEZONES $ROOT/TIMEZONES/v2024-02/timezones_vohra_2017_0.1x0.1.nc UTC_OFFSET 2017/1-12/1/0 C xy count * - 1 1 (((CHEMISTRY_INPUT #============================================================================== # --- UV albedo, for photolysis (cf Hermann & Celarier, 1997) --- #============================================================================== (((UVALBEDO * UV_ALBEDO $ROOT/UVALBEDO/v2019-06/uvalbedo.geos.2x25.nc UVALBD 1985/1-12/1/0 C xy percent * - 1 1 )))UVALBEDO #============================================================================== # --- Stratospheric Bry data from the CCM model --- #============================================================================== (((CCM_STRAT_Bry * GEOSCCM_Br_DAY $ROOT/STRAT/v2015-01/Bry/GEOSCCM_Bry.2007$MM.day.nc BR 2007/1-12/1/0 C xyz pptv * - 60 1 * GEOSCCM_Br2_DAY $ROOT/STRAT/v2015-01/Bry/GEOSCCM_Bry.2007$MM.day.nc BRCL 2007/1-12/1/0 C xyz pptv * - 60 1 * GEOSCCM_BrO_DAY $ROOT/STRAT/v2015-01/Bry/GEOSCCM_Bry.2007$MM.day.nc BRO 2007/1-12/1/0 C xyz pptv * - 60 1 * GEOSCCM_BrNO3_DAY $ROOT/STRAT/v2015-01/Bry/GEOSCCM_Bry.2007$MM.day.nc BRONO2 2007/1-12/1/0 C xyz pptv * - 60 1 * GEOSCCM_HBr_DAY $ROOT/STRAT/v2015-01/Bry/GEOSCCM_Bry.2007$MM.day.nc HBR 2007/1-12/1/0 C xyz pptv * - 60 1 * GEOSCCM_HOBr_DAY $ROOT/STRAT/v2015-01/Bry/GEOSCCM_Bry.2007$MM.day.nc HOBR 2007/1-12/1/0 C xyz pptv * - 60 1 * GEOSCCM_Br_NIGHT $ROOT/STRAT/v2015-01/Bry/GEOSCCM_Bry.2007$MM.night.nc BR 2007/1-12/1/0 C xyz pptv * - 60 1 * GEOSCCM_Br2_NIGHT $ROOT/STRAT/v2015-01/Bry/GEOSCCM_Bry.2007$MM.night.nc BRCL 2007/1-12/1/0 C xyz pptv * - 60 1 * GEOSCCM_BrO_NIGHT $ROOT/STRAT/v2015-01/Bry/GEOSCCM_Bry.2007$MM.night.nc BRO 2007/1-12/1/0 C xyz pptv * - 60 1 * GEOSCCM_BrNO3_NIGHT $ROOT/STRAT/v2015-01/Bry/GEOSCCM_Bry.2007$MM.night.nc BRONO2 2007/1-12/1/0 C xyz pptv * - 60 1 * GEOSCCM_HBr_NIGHT $ROOT/STRAT/v2015-01/Bry/GEOSCCM_Bry.2007$MM.night.nc HBR 2007/1-12/1/0 C xyz pptv * - 60 1 * GEOSCCM_HOBr_NIGHT $ROOT/STRAT/v2015-01/Bry/GEOSCCM_Bry.2007$MM.night.nc HOBR 2007/1-12/1/0 C xyz pptv * - 60 1 )))CCM_STRAT_Bry #============================================================================== #--- Archived GMI OH concentrations --- #============================================================================== (((GMI_OH * GMI_OH $ROOT/GMI/v2015-02/gmi.clim.OH.geos5.2x25.nc species 2005/1-12/1/0 C xyz v/v * - 1 1 )))GMI_OH #============================================================================== #--- GMI chemistry: prod/loss rates --- # # Used for linearized mesospheric chemistry #============================================================================== (((GMI_PROD_LOSS * GMI_LOSS_A3O2 $ROOT/GMI/v2015-02/gmi.clim.A3O2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 A3O2 - 1 1 * GMI_PROD_A3O2 $ROOT/GMI/v2015-02/gmi.clim.A3O2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s A3O2 - 1 1 * GMI_LOSS_ACET $ROOT/GMI/v2015-02/gmi.clim.ACET.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ACET - 1 1 * GMI_PROD_ACET $ROOT/GMI/v2015-02/gmi.clim.ACET.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ACET - 1 1 * GMI_LOSS_ACTA $ROOT/GMI/v2015-02/gmi.clim.ACTA.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ACTA - 1 1 * GMI_PROD_ACTA $ROOT/GMI/v2015-02/gmi.clim.ACTA.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ACTA - 1 1 * GMI_LOSS_ALD2 $ROOT/GMI/v2015-02/gmi.clim.ALD2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ALD2 - 1 1 * GMI_PROD_ALD2 $ROOT/GMI/v2015-02/gmi.clim.ALD2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ALD2 - 1 1 * GMI_LOSS_ALK4 $ROOT/GMI/v2015-02/gmi.clim.ALK4.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ALK4 - 1 1 * GMI_PROD_ALK4 $ROOT/GMI/v2015-02/gmi.clim.ALK4.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ALK4 - 1 1 * GMI_LOSS_ATO2 $ROOT/GMI/v2015-02/gmi.clim.ATO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ATO2 - 1 1 * GMI_PROD_ATO2 $ROOT/GMI/v2015-02/gmi.clim.ATO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ATO2 - 1 1 * GMI_LOSS_B3O2 $ROOT/GMI/v2015-02/gmi.clim.B3O2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 B3O2 - 1 1 * GMI_PROD_B3O2 $ROOT/GMI/v2015-02/gmi.clim.B3O2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s B3O2 - 1 1 #* GMI_LOSS_Br $ROOT/GMI/v2015-02/gmi.clim.Br.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 Br - 1 1 #* GMI_PROD_Br $ROOT/GMI/v2015-02/gmi.clim.Br.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s Br - 1 1 #* GMI_LOSS_BrCl $ROOT/GMI/v2015-02/gmi.clim.BrCl.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 BrCl - 1 1 #* GMI_PROD_BrCl $ROOT/GMI/v2015-02/gmi.clim.BrCl.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s BrCl - 1 1 #* GMI_LOSS_BrO $ROOT/GMI/v2015-02/gmi.clim.BrO.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 BrO - 1 1 #* GMI_PROD_BrO $ROOT/GMI/v2015-02/gmi.clim.BrO.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s BrO - 1 1 #* GMI_LOSS_BrNO3 $ROOT/GMI/v2015-02/gmi.clim.BrONO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 BrNO3 - 1 1 #* GMI_PROD_BrNO3 $ROOT/GMI/v2015-02/gmi.clim.BrONO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s BrNO3 - 1 1 * GMI_LOSS_C2H6 $ROOT/GMI/v2015-02/gmi.clim.C2H6.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 C2H6 - 1 1 * GMI_PROD_C2H6 $ROOT/GMI/v2015-02/gmi.clim.C2H6.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s C2H6 - 1 1 * GMI_LOSS_C3H8 $ROOT/GMI/v2015-02/gmi.clim.C3H8.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 C3H8 - 1 1 * GMI_PROD_C3H8 $ROOT/GMI/v2015-02/gmi.clim.C3H8.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s C3H8 - 1 1 * GMI_LOSS_CCl4 $ROOT/GMI/v2015-02/gmi.clim.CCl4.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CCl4 - 1 1 * GMI_PROD_CCl4 $ROOT/GMI/v2015-02/gmi.clim.CCl4.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CCl4 - 1 1 #* GMI_LOSS_H1202 $ROOT/GMI/v2015-02/gmi.clim.CF2Br2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 H1202 - 1 1 #* GMI_PROD_H1202 $ROOT/GMI/v2015-02/gmi.clim.CF2Br2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s H1202 - 1 1 * GMI_LOSS_CFC12 $ROOT/GMI/v2015-02/gmi.clim.CF2Cl2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CFC12 - 1 1 * GMI_PROD_CFC12 $ROOT/GMI/v2015-02/gmi.clim.CF2Cl2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CFC12 - 1 1 * GMI_LOSS_H1211 $ROOT/GMI/v2015-02/gmi.clim.CF2ClBr.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 H1211 - 1 1 * GMI_PROD_H1211 $ROOT/GMI/v2015-02/gmi.clim.CF2ClBr.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s H1211 - 1 1 #* GMI_LOSS_H1311 $ROOT/GMI/v2015-02/gmi.clim.CF3Br.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 H1311 - 1 1 #* GMI_PROD_H1311 $ROOT/GMI/v2015-02/gmi.clim.CF3Br.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s H1311 - 1 1 * GMI_LOSS_CFC113 $ROOT/GMI/v2015-02/gmi.clim.CFC113.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CFC113 - 1 1 * GMI_PROD_CFC113 $ROOT/GMI/v2015-02/gmi.clim.CFC113.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CFC113 - 1 1 * GMI_LOSS_CFC114 $ROOT/GMI/v2015-02/gmi.clim.CFC114.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CFC114 - 1 1 * GMI_PROD_CFC114 $ROOT/GMI/v2015-02/gmi.clim.CFC114.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CFC114 - 1 1 * GMI_LOSS_CFC115 $ROOT/GMI/v2015-02/gmi.clim.CFC115.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CFC115 - 1 1 * GMI_PROD_CFC115 $ROOT/GMI/v2015-02/gmi.clim.CFC115.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CFC115 - 1 1 * GMI_LOSS_CFC11 $ROOT/GMI/v2015-02/gmi.clim.CFCl3.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CFC11 - 1 1 * GMI_PROD_CFC11 $ROOT/GMI/v2015-02/gmi.clim.CFCl3.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CFC11 - 1 1 * GMI_LOSS_CH2O $ROOT/GMI/v2015-02/gmi.clim.CH2O.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CH2O - 1 1 * GMI_PROD_CH2O $ROOT/GMI/v2015-02/gmi.clim.CH2O.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CH2O - 1 1 #* GMI_LOSS_CH3Br $ROOT/GMI/v2015-02/gmi.clim.CH3Br.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CH3Br - 1 1 #* GMI_PROD_CH3Br $ROOT/GMI/v2015-02/gmi.clim.CH3Br.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CH3Br - 1 1 * GMI_LOSS_CH3CCl3 $ROOT/GMI/v2015-02/gmi.clim.CH3CCl3.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CH3CCl3 - 1 1 * GMI_PROD_CH3CCl3 $ROOT/GMI/v2015-02/gmi.clim.CH3CCl3.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CH3CCl3 - 1 1 * GMI_LOSS_CH3Cl $ROOT/GMI/v2015-02/gmi.clim.CH3Cl.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CH3Cl - 1 1 * GMI_PROD_CH3Cl $ROOT/GMI/v2015-02/gmi.clim.CH3Cl.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CH3Cl - 1 1 * GMI_LOSS_CH4 $ROOT/GMI/v2015-02/gmi.clim.CH4.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CH4 - 1 1 * GMI_PROD_CH4 $ROOT/GMI/v2015-02/gmi.clim.CH4.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CH4 - 1 1 * GMI_LOSS_CO $ROOT/GMI/v2015-02/gmi.clim.CO.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CO - 1 1 * GMI_PROD_CO $ROOT/GMI/v2015-02/gmi.clim.CO.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CO - 1 1 * GMI_LOSS_Cl $ROOT/GMI/v2015-02/gmi.clim.Cl.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 Cl - 1 1 * GMI_PROD_Cl $ROOT/GMI/v2015-02/gmi.clim.Cl.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s Cl - 1 1 * GMI_LOSS_Cl2 $ROOT/GMI/v2015-02/gmi.clim.Cl2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 Cl2 - 1 1 * GMI_PROD_Cl2 $ROOT/GMI/v2015-02/gmi.clim.Cl2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s Cl2 - 1 1 * GMI_LOSS_Cl2O2 $ROOT/GMI/v2015-02/gmi.clim.Cl2O2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 Cl2O2 - 1 1 * GMI_PROD_Cl2O2 $ROOT/GMI/v2015-02/gmi.clim.Cl2O2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s Cl2O2 - 1 1 * GMI_LOSS_ClO $ROOT/GMI/v2015-02/gmi.clim.ClO.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ClO - 1 1 * GMI_PROD_ClO $ROOT/GMI/v2015-02/gmi.clim.ClO.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ClO - 1 1 * GMI_LOSS_ClONO2 $ROOT/GMI/v2015-02/gmi.clim.ClONO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ClONO2 - 1 1 * GMI_PROD_ClONO2 $ROOT/GMI/v2015-02/gmi.clim.ClONO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ClONO2 - 1 1 * GMI_LOSS_EOH $ROOT/GMI/v2015-02/gmi.clim.EOH.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 EOH - 1 1 * GMI_PROD_EOH $ROOT/GMI/v2015-02/gmi.clim.EOH.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s EOH - 1 1 * GMI_LOSS_ETO2 $ROOT/GMI/v2015-02/gmi.clim.ETO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ETO2 - 1 1 * GMI_PROD_ETO2 $ROOT/GMI/v2015-02/gmi.clim.ETO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ETO2 - 1 1 * GMI_LOSS_ETP $ROOT/GMI/v2015-02/gmi.clim.ETP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ETP - 1 1 * GMI_PROD_ETP $ROOT/GMI/v2015-02/gmi.clim.ETP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ETP - 1 1 * GMI_LOSS_GCO3 $ROOT/GMI/v2015-02/gmi.clim.GCO3.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 GCO3 - 1 1 * GMI_PROD_GCO3 $ROOT/GMI/v2015-02/gmi.clim.GCO3.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s GCO3 - 1 1 * GMI_LOSS_GLYC $ROOT/GMI/v2015-02/gmi.clim.GLYC.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 GLYC - 1 1 * GMI_PROD_GLYC $ROOT/GMI/v2015-02/gmi.clim.GLYC.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s GLYC - 1 1 * GMI_LOSS_GLYX $ROOT/GMI/v2015-02/gmi.clim.GLYX.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 GLYX - 1 1 * GMI_PROD_GLYX $ROOT/GMI/v2015-02/gmi.clim.GLYX.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s GLYX - 1 1 * GMI_LOSS_GP $ROOT/GMI/v2015-02/gmi.clim.GP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 GP - 1 1 * GMI_PROD_GP $ROOT/GMI/v2015-02/gmi.clim.GP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s GP - 1 1 * GMI_LOSS_GPAN $ROOT/GMI/v2015-02/gmi.clim.GPAN.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 GPAN - 1 1 * GMI_PROD_GPAN $ROOT/GMI/v2015-02/gmi.clim.GPAN.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s GPAN - 1 1 * GMI_LOSS_H $ROOT/GMI/v2015-02/gmi.clim.H.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 H - 1 1 * GMI_PROD_H $ROOT/GMI/v2015-02/gmi.clim.H.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s H - 1 1 * GMI_LOSS_H2 $ROOT/GMI/v2015-02/gmi.clim.H2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 H2 - 1 1 * GMI_PROD_H2 $ROOT/GMI/v2015-02/gmi.clim.H2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s H2 - 1 1 * GMI_LOSS_H2402 $ROOT/GMI/v2015-02/gmi.clim.H2402.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 H2402 - 1 1 * GMI_PROD_H2402 $ROOT/GMI/v2015-02/gmi.clim.H2402.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s H2402 - 1 1 * GMI_LOSS_H2O $ROOT/GMI/v2015-02/gmi.clim.H2O.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 H2O - 1 1 * GMI_PROD_H2O $ROOT/GMI/v2015-02/gmi.clim.H2O.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s H2O - 1 1 * GMI_LOSS_H2O2 $ROOT/GMI/v2015-02/gmi.clim.H2O2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 H2O2 - 1 1 * GMI_PROD_H2O2 $ROOT/GMI/v2015-02/gmi.clim.H2O2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s H2O2 - 1 1 * GMI_LOSS_HAC $ROOT/GMI/v2015-02/gmi.clim.HAC.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HAC - 1 1 * GMI_PROD_HAC $ROOT/GMI/v2015-02/gmi.clim.HAC.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HAC - 1 1 #* GMI_LOSS_HBr $ROOT/GMI/v2015-02/gmi.clim.HBr.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HBr - 1 1 #* GMI_PROD_HBr $ROOT/GMI/v2015-02/gmi.clim.HBr.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HBr - 1 1 * GMI_LOSS_HCFC141b $ROOT/GMI/v2015-02/gmi.clim.HCFC141b.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HCFC141b - 1 1 * GMI_PROD_HCFC141b $ROOT/GMI/v2015-02/gmi.clim.HCFC141b.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HCFC141b - 1 1 * GMI_LOSS_HCFC142b $ROOT/GMI/v2015-02/gmi.clim.HCFC142b.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HCFC142b - 1 1 * GMI_PROD_HCFC142b $ROOT/GMI/v2015-02/gmi.clim.HCFC142b.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HCFC142b - 1 1 * GMI_LOSS_HCFC22 $ROOT/GMI/v2015-02/gmi.clim.HCFC22.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HCFC22 - 1 1 * GMI_PROD_HCFC22 $ROOT/GMI/v2015-02/gmi.clim.HCFC22.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HCFC22 - 1 1 * GMI_LOSS_HCOOH $ROOT/GMI/v2015-02/gmi.clim.HCOOH.geos5.2x25.20170108.nc loss 2005/1-12/1/0 C xyz s-1 HCOOH - 1 1 * GMI_PROD_HCOOH $ROOT/GMI/v2015-02/gmi.clim.HCOOH.geos5.2x25.20170108.nc prod 2005/1-12/1/0 C xyz v/v/s HCOOH - 1 1 * GMI_LOSS_HCl $ROOT/GMI/v2015-02/gmi.clim.HCl.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HCl - 1 1 * GMI_PROD_HCl $ROOT/GMI/v2015-02/gmi.clim.HCl.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HCl - 1 1 * GMI_LOSS_HNO2 $ROOT/GMI/v2015-02/gmi.clim.HNO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HNO2 - 1 1 * GMI_PROD_HNO2 $ROOT/GMI/v2015-02/gmi.clim.HNO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HNO2 - 1 1 * GMI_LOSS_HNO3 $ROOT/GMI/v2015-02/gmi.clim.HNO3.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HNO3 - 1 1 * GMI_PROD_HNO3 $ROOT/GMI/v2015-02/gmi.clim.HNO3.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HNO3 - 1 1 * GMI_LOSS_HNO4 $ROOT/GMI/v2015-02/gmi.clim.HNO4.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HNO4 - 1 1 * GMI_PROD_HNO4 $ROOT/GMI/v2015-02/gmi.clim.HNO4.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HNO4 - 1 1 * GMI_LOSS_HO2 $ROOT/GMI/v2015-02/gmi.clim.HO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HO2 - 1 1 * GMI_PROD_HO2 $ROOT/GMI/v2015-02/gmi.clim.HO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HO2 - 1 1 #* GMI_LOSS_HOBr $ROOT/GMI/v2015-02/gmi.clim.HOBr.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HOBr - 1 1 #* GMI_PROD_HOBr $ROOT/GMI/v2015-02/gmi.clim.HOBr.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HOBr - 1 1 * GMI_LOSS_HOCl $ROOT/GMI/v2015-02/gmi.clim.HOCl.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HOCl - 1 1 * GMI_PROD_HOCl $ROOT/GMI/v2015-02/gmi.clim.HOCl.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HOCl - 1 1 * GMI_LOSS_IALD $ROOT/GMI/v2015-02/gmi.clim.IALD.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 IALD - 1 1 * GMI_PROD_IALD $ROOT/GMI/v2015-02/gmi.clim.IALD.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s IALD - 1 1 * GMI_LOSS_IAO2 $ROOT/GMI/v2015-02/gmi.clim.IAO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 IAO2 - 1 1 * GMI_PROD_IAO2 $ROOT/GMI/v2015-02/gmi.clim.IAO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s IAO2 - 1 1 * GMI_LOSS_IAP $ROOT/GMI/v2015-02/gmi.clim.IAP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 IAP - 1 1 * GMI_PROD_IAP $ROOT/GMI/v2015-02/gmi.clim.IAP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s IAP - 1 1 * GMI_LOSS_INO2 $ROOT/GMI/v2015-02/gmi.clim.INO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 INO2 - 1 1 * GMI_PROD_INO2 $ROOT/GMI/v2015-02/gmi.clim.INO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s INO2 - 1 1 * GMI_LOSS_INPN $ROOT/GMI/v2015-02/gmi.clim.INPN.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 INPN - 1 1 * GMI_PROD_INPN $ROOT/GMI/v2015-02/gmi.clim.INPN.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s INPN - 1 1 * GMI_LOSS_ISN1 $ROOT/GMI/v2015-02/gmi.clim.ISN1.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ISN1 - 1 1 * GMI_PROD_ISN1 $ROOT/GMI/v2015-02/gmi.clim.ISN1.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ISN1 - 1 1 * GMI_LOSS_ISNP $ROOT/GMI/v2015-02/gmi.clim.ISNP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ISNP - 1 1 * GMI_PROD_ISNP $ROOT/GMI/v2015-02/gmi.clim.ISNP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ISNP - 1 1 * GMI_LOSS_ISOP $ROOT/GMI/v2015-02/gmi.clim.ISOP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ISOP - 1 1 * GMI_PROD_ISOP $ROOT/GMI/v2015-02/gmi.clim.ISOP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ISOP - 1 1 * GMI_LOSS_KO2 $ROOT/GMI/v2015-02/gmi.clim.KO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 KO2 - 1 1 * GMI_PROD_KO2 $ROOT/GMI/v2015-02/gmi.clim.KO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s KO2 - 1 1 * GMI_LOSS_MACR $ROOT/GMI/v2015-02/gmi.clim.MACR.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MACR - 1 1 * GMI_PROD_MACR $ROOT/GMI/v2015-02/gmi.clim.MACR.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MACR - 1 1 * GMI_LOSS_MAN2 $ROOT/GMI/v2015-02/gmi.clim.MAN2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MAN2 - 1 1 * GMI_PROD_MAN2 $ROOT/GMI/v2015-02/gmi.clim.MAN2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MAN2 - 1 1 * GMI_LOSS_MAO3 $ROOT/GMI/v2015-02/gmi.clim.MAO3.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MAO3 - 1 1 * GMI_PROD_MAO3 $ROOT/GMI/v2015-02/gmi.clim.MAO3.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MAO3 - 1 1 * GMI_LOSS_MAOP $ROOT/GMI/v2015-02/gmi.clim.MAOP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MAOP - 1 1 * GMI_PROD_MAOP $ROOT/GMI/v2015-02/gmi.clim.MAOP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MAOP - 1 1 * GMI_LOSS_MAP $ROOT/GMI/v2015-02/gmi.clim.MAP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MAP - 1 1 * GMI_PROD_MAP $ROOT/GMI/v2015-02/gmi.clim.MAP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MAP - 1 1 * GMI_LOSS_MCO3 $ROOT/GMI/v2015-02/gmi.clim.MCO3.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MCO3 - 1 1 * GMI_PROD_MCO3 $ROOT/GMI/v2015-02/gmi.clim.MCO3.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MCO3 - 1 1 * GMI_LOSS_MEK $ROOT/GMI/v2015-02/gmi.clim.MEK.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MEK - 1 1 * GMI_PROD_MEK $ROOT/GMI/v2015-02/gmi.clim.MEK.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MEK - 1 1 * GMI_LOSS_MGLY $ROOT/GMI/v2015-02/gmi.clim.MGLY.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MGLY - 1 1 * GMI_PROD_MGLY $ROOT/GMI/v2015-02/gmi.clim.MGLY.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MGLY - 1 1 * GMI_LOSS_MO2 $ROOT/GMI/v2015-02/gmi.clim.MO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MO2 - 1 1 * GMI_PROD_MO2 $ROOT/GMI/v2015-02/gmi.clim.MO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MO2 - 1 1 * GMI_LOSS_MOH $ROOT/GMI/v2015-02/gmi.clim.MOH.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MOH - 1 1 * GMI_PROD_MOH $ROOT/GMI/v2015-02/gmi.clim.MOH.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MOH - 1 1 * GMI_LOSS_MP $ROOT/GMI/v2015-02/gmi.clim.MP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MP - 1 1 * GMI_PROD_MP $ROOT/GMI/v2015-02/gmi.clim.MP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MP - 1 1 * GMI_LOSS_MRO2 $ROOT/GMI/v2015-02/gmi.clim.MRO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MRO2 - 1 1 * GMI_PROD_MRO2 $ROOT/GMI/v2015-02/gmi.clim.MRO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MRO2 - 1 1 * GMI_LOSS_MRP $ROOT/GMI/v2015-02/gmi.clim.MRP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MRP - 1 1 * GMI_PROD_MRP $ROOT/GMI/v2015-02/gmi.clim.MRP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MRP - 1 1 * GMI_LOSS_MVK $ROOT/GMI/v2015-02/gmi.clim.MVK.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MVK - 1 1 * GMI_PROD_MVK $ROOT/GMI/v2015-02/gmi.clim.MVK.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MVK - 1 1 * GMI_LOSS_MVN2 $ROOT/GMI/v2015-02/gmi.clim.MVN2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MVN2 - 1 1 * GMI_PROD_MVN2 $ROOT/GMI/v2015-02/gmi.clim.MVN2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MVN2 - 1 1 * GMI_LOSS_N $ROOT/GMI/v2015-02/gmi.clim.N.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 N - 1 1 * GMI_PROD_N $ROOT/GMI/v2015-02/gmi.clim.N.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s N - 1 1 * GMI_LOSS_N2O $ROOT/GMI/v2015-02/gmi.clim.N2O.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 N2O - 1 1 * GMI_PROD_N2O $ROOT/GMI/v2015-02/gmi.clim.N2O.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s N2O - 1 1 * GMI_LOSS_N2O5 $ROOT/GMI/v2015-02/gmi.clim.N2O5.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 N2O5 - 1 1 * GMI_PROD_N2O5 $ROOT/GMI/v2015-02/gmi.clim.N2O5.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s N2O5 - 1 1 * GMI_LOSS_NO $ROOT/GMI/v2015-02/gmi.clim.NO.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 NO - 1 1 * GMI_PROD_NO $ROOT/GMI/v2015-02/gmi.clim.NO.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s NO - 1 1 * GMI_LOSS_NO2 $ROOT/GMI/v2015-02/gmi.clim.NO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 NO2 - 1 1 * GMI_PROD_NO2 $ROOT/GMI/v2015-02/gmi.clim.NO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s NO2 - 1 1 * GMI_LOSS_NO3 $ROOT/GMI/v2015-02/gmi.clim.NO3.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 NO3 - 1 1 * GMI_PROD_NO3 $ROOT/GMI/v2015-02/gmi.clim.NO3.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s NO3 - 1 1 * GMI_LOSS_NOx $ROOT/GMI/v2015-02/gmi.clim.NOx.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 NOx - 1 1 * GMI_PROD_NOx $ROOT/GMI/v2015-02/gmi.clim.NOx.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s NOx - 1 1 * GMI_LOSS_O $ROOT/GMI/v2015-02/gmi.clim.O.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 O - 1 1 * GMI_PROD_O $ROOT/GMI/v2015-02/gmi.clim.O.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s O - 1 1 * GMI_LOSS_O1D $ROOT/GMI/v2015-02/gmi.clim.O1D.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 O1D - 1 1 * GMI_PROD_O1D $ROOT/GMI/v2015-02/gmi.clim.O1D.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s O1D - 1 1 * GMI_LOSS_O3 $ROOT/GMI/v2015-02/gmi.clim.O3.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 O3 - 1 1 * GMI_PROD_O3 $ROOT/GMI/v2015-02/gmi.clim.O3.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s O3 - 1 1 * GMI_LOSS_OClO $ROOT/GMI/v2015-02/gmi.clim.OClO.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 OClO - 1 1 * GMI_PROD_OClO $ROOT/GMI/v2015-02/gmi.clim.OClO.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s OClO - 1 1 * GMI_LOSS_OH $ROOT/GMI/v2015-02/gmi.clim.OH.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 OH - 1 1 * GMI_PROD_OH $ROOT/GMI/v2015-02/gmi.clim.OH.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s OH - 1 1 * GMI_LOSS_Ox $ROOT/GMI/v2015-02/gmi.clim.Ox.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 Ox - 1 1 * GMI_PROD_Ox $ROOT/GMI/v2015-02/gmi.clim.Ox.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s Ox - 1 1 * GMI_LOSS_PAN $ROOT/GMI/v2015-02/gmi.clim.PAN.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 PAN - 1 1 * GMI_PROD_PAN $ROOT/GMI/v2015-02/gmi.clim.PAN.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s PAN - 1 1 * GMI_LOSS_NPMN $ROOT/GMI/v2015-02/gmi.clim.NPMN.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 NPMN - 1 1 * GMI_PROD_NPMN $ROOT/GMI/v2015-02/gmi.clim.NPMN.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s NPMN - 1 1 * GMI_LOSS_IPMN $ROOT/GMI/v2015-02/gmi.clim.IPMN.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 IPMN - 1 1 * GMI_PROD_IPMN $ROOT/GMI/v2015-02/gmi.clim.IPMN.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s IPMN - 1 1 * GMI_LOSS_PO2 $ROOT/GMI/v2015-02/gmi.clim.PO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 PO2 - 1 1 * GMI_PROD_PO2 $ROOT/GMI/v2015-02/gmi.clim.PO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s PO2 - 1 1 * GMI_LOSS_PP $ROOT/GMI/v2015-02/gmi.clim.PP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 PP - 1 1 * GMI_PROD_PP $ROOT/GMI/v2015-02/gmi.clim.PP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s PP - 1 1 * GMI_LOSS_PPN $ROOT/GMI/v2015-02/gmi.clim.PPN.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 PPN - 1 1 * GMI_PROD_PPN $ROOT/GMI/v2015-02/gmi.clim.PPN.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s PPN - 1 1 * GMI_LOSS_PRN1 $ROOT/GMI/v2015-02/gmi.clim.PRN1.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 PRN1 - 1 1 * GMI_PROD_PRN1 $ROOT/GMI/v2015-02/gmi.clim.PRN1.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s PRN1 - 1 1 * GMI_LOSS_PRPE $ROOT/GMI/v2015-02/gmi.clim.PRPE.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 PRPE - 1 1 * GMI_PROD_PRPE $ROOT/GMI/v2015-02/gmi.clim.PRPE.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s PRPE - 1 1 * GMI_LOSS_PRPN $ROOT/GMI/v2015-02/gmi.clim.PRPN.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 PRPN - 1 1 * GMI_PROD_PRPN $ROOT/GMI/v2015-02/gmi.clim.PRPN.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s PRPN - 1 1 * GMI_LOSS_R4N1 $ROOT/GMI/v2015-02/gmi.clim.R4N1.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 R4N1 - 1 1 * GMI_PROD_R4N1 $ROOT/GMI/v2015-02/gmi.clim.R4N1.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s R4N1 - 1 1 * GMI_LOSS_R4N2 $ROOT/GMI/v2015-02/gmi.clim.R4N2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 R4N2 - 1 1 * GMI_PROD_R4N2 $ROOT/GMI/v2015-02/gmi.clim.R4N2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s R4N2 - 1 1 * GMI_LOSS_R4O2 $ROOT/GMI/v2015-02/gmi.clim.R4O2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 R4O2 - 1 1 * GMI_PROD_R4O2 $ROOT/GMI/v2015-02/gmi.clim.R4O2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s R4O2 - 1 1 * GMI_LOSS_R4P $ROOT/GMI/v2015-02/gmi.clim.R4P.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 R4P - 1 1 * GMI_PROD_R4P $ROOT/GMI/v2015-02/gmi.clim.R4P.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s R4P - 1 1 * GMI_LOSS_RA3P $ROOT/GMI/v2015-02/gmi.clim.RA3P.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 RA3P - 1 1 * GMI_PROD_RA3P $ROOT/GMI/v2015-02/gmi.clim.RA3P.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s RA3P - 1 1 * GMI_LOSS_RB3P $ROOT/GMI/v2015-02/gmi.clim.RB3P.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 RB3P - 1 1 * GMI_PROD_RB3P $ROOT/GMI/v2015-02/gmi.clim.RB3P.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s RB3P - 1 1 * GMI_LOSS_RCHO $ROOT/GMI/v2015-02/gmi.clim.RCHO.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 RCHO - 1 1 * GMI_PROD_RCHO $ROOT/GMI/v2015-02/gmi.clim.RCHO.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s RCHO - 1 1 * GMI_LOSS_RCO3 $ROOT/GMI/v2015-02/gmi.clim.RCO3.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 RCO3 - 1 1 * GMI_PROD_RCO3 $ROOT/GMI/v2015-02/gmi.clim.RCO3.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s RCO3 - 1 1 * GMI_LOSS_RCOOH $ROOT/GMI/v2015-02/gmi.clim.RCOOH.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 RCOOH - 1 1 * GMI_PROD_RCOOH $ROOT/GMI/v2015-02/gmi.clim.RCOOH.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s RCOOH - 1 1 * GMI_LOSS_RIO1 $ROOT/GMI/v2015-02/gmi.clim.RIO1.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 RIO1 - 1 1 * GMI_PROD_RIO1 $ROOT/GMI/v2015-02/gmi.clim.RIO1.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s RIO1 - 1 1 * GMI_LOSS_RIPA $ROOT/GMI/v2015-02/gmi.clim.RIPA.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 RIPA - 1 1 * GMI_PROD_RIPA $ROOT/GMI/v2015-02/gmi.clim.RIPA.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s RIPA - 1 1 * GMI_LOSS_RIPB $ROOT/GMI/v2015-02/gmi.clim.RIPB.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 RIPB - 1 1 * GMI_PROD_RIPB $ROOT/GMI/v2015-02/gmi.clim.RIPB.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s RIPB - 1 1 * GMI_LOSS_RIPD $ROOT/GMI/v2015-02/gmi.clim.RIPD.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 RIPD - 1 1 * GMI_PROD_RIPD $ROOT/GMI/v2015-02/gmi.clim.RIPD.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s RIPD - 1 1 * GMI_LOSS_ROH $ROOT/GMI/v2015-02/gmi.clim.ROH.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ROH - 1 1 * GMI_PROD_ROH $ROOT/GMI/v2015-02/gmi.clim.ROH.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ROH - 1 1 * GMI_LOSS_RP $ROOT/GMI/v2015-02/gmi.clim.RP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 RP - 1 1 * GMI_PROD_RP $ROOT/GMI/v2015-02/gmi.clim.RP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s RP - 1 1 * GMI_LOSS_VRO2 $ROOT/GMI/v2015-02/gmi.clim.VRO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 VRO2 - 1 1 * GMI_PROD_VRO2 $ROOT/GMI/v2015-02/gmi.clim.VRO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s VRO2 - 1 1 * GMI_LOSS_VRP $ROOT/GMI/v2015-02/gmi.clim.VRP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 VRP - 1 1 * GMI_PROD_VRP $ROOT/GMI/v2015-02/gmi.clim.VRP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s VRP - 1 1 )))GMI_PROD_LOSS #============================================================================== # --- Spatially varying OM/OC --- #============================================================================== (((OMOC_RATIO * OMOC_DJF $ROOT/OMOC/v2018-01/OMOC.DJF.01x01.nc OMOC 2010/1/1/0 C xy 1 * - 1 1 * OMOC_MAM $ROOT/OMOC/v2018-01/OMOC.MAM.01x01.nc OMOC 2010/1/1/0 C xy 1 * - 1 1 * OMOC_JJA $ROOT/OMOC/v2018-01/OMOC.JJA.01x01.nc OMOC 2010/1/1/0 C xy 1 * - 1 1 * OMOC_SON $ROOT/OMOC/v2018-01/OMOC.SON.01x01.nc OMOC 2010/1/1/0 C xy 1 * - 1 1 )))OMOC_RATIO )))CHEMISTRY_INPUT #============================================================================== # --- NOAA GMD monthly mean surface CH4 --- # NOTE: Turn off in CESM since GHGs are prescribed from CAM #============================================================================== (((GMD_SFC_CH4 * NOAA_GMD_CH4 $ROOT/NOAA_GMD/v2023-10/monthly.gridded.surface.methane.1975-2022.1x1.nc SFC_CH4 1975-2022/1-12/1/0 RY xy ppbv * - 1 1 )))GMD_SFC_CH4 #============================================================================== # --- CMIP6 monthly mean surface CH4 --- # NOTE: This is only used if NOAA data is unavailable (pre 1979) #============================================================================== (((CMIP6_SFC_CH4 * CMIP6_Sfc_CH4 $ROOT/CMIP6/v2020-03/2x2.5/CMIP6_GHG_surface_VMR_$YYYY.2x25.nc CH4 1750-1978/1-12/1/0 EY xy ppbv * - 1 1 )))CMIP6_SFC_CH4 #============================================================================== # --- Olson land map masks --- #============================================================================== (((OLSON_LANDMAP * LANDTYPE00 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE00 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE01 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE01 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE02 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE02 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE03 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE03 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE04 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE04 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE05 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE05 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE06 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE06 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE07 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE07 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE08 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE08 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE09 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE09 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE10 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE10 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE11 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE11 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE12 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE12 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE13 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE13 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE14 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE14 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE15 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE15 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE16 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE16 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE17 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE17 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE18 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE18 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE19 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE19 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE20 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE20 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE21 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE21 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE22 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE22 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE23 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE23 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE24 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE24 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE25 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE25 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE26 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE26 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE27 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE27 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE28 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE28 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE29 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE29 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE30 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE30 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE31 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE31 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE32 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE32 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE33 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE33 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE34 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE34 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE35 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE35 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE36 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE36 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE37 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE37 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE38 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE38 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE39 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE39 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE40 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE40 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE41 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE41 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE42 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE42 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE43 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE43 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE44 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE44 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE45 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE45 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE46 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE46 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE47 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE47 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE48 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE48 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE49 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE49 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE50 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE50 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE51 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE51 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE52 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE52 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE53 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE53 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE54 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE54 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE55 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE55 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE56 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE56 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE57 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE57 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE58 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE58 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE59 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE59 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE60 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE60 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE61 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE61 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE62 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE62 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE63 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE63 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE64 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE64 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE65 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE65 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE66 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE66 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE67 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE67 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE68 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE68 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE69 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE69 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE70 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE70 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE71 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE71 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE72 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE72 1985/1/1/0 C xy 1 * - 1 1 )))OLSON_LANDMAP #============================================================================== # --- Yuan processed MODIS leaf area index data --- # # Source: Yuan et al 2011, doi:10.1016/j.rse.2011.01.001 # http://globalchange.bnu.edu.cn/research/lai # # NOTES: # (1) LAI data corresponding to each Olson land type is stored in # separate netCDF variables (XLAI00, XLAI01, ... XLAI72). # The "XLAI" denotes that the files are prepared in this way. # (2) Units are "cm2 leaf/cm2 grid box". # (3) Data is timestamped every 8 days, starting from the 2nd of the month. # (4) Use flag C if running in CESM #============================================================================== (((YUAN_MODIS_LAI * XLAI00 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI00 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI01 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI01 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI02 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI02 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI03 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI03 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI04 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI04 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI05 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI05 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI06 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI06 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI07 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI07 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI08 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI08 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI09 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI09 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI10 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI10 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI11 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI11 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI12 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI12 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI13 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI13 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI14 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI14 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI15 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI15 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI16 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI16 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI17 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI17 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI18 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI18 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI19 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI19 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI20 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI20 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI21 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI21 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI22 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI22 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI23 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI23 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI24 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI24 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI25 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI25 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI26 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI26 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI27 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI27 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI28 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI28 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI29 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI29 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI30 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI30 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI31 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI31 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI32 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI32 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI33 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI33 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI34 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI34 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI35 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI35 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI36 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI36 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI37 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI37 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI38 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI38 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI39 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI39 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI40 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI40 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI41 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI41 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI42 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI42 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI43 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI43 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI44 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI44 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI45 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI45 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI46 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI46 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI47 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI47 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI48 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI48 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI49 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI49 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI50 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI50 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI51 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI51 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI52 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI52 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI53 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI53 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI54 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI54 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI55 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI55 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI56 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI56 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI57 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI57 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI58 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI58 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI59 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI59 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI60 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI60 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI61 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI61 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI62 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI62 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI63 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI63 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI64 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI64 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI65 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI65 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI66 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI66 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI67 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI67 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI68 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI68 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI69 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI69 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI70 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI70 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI71 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI71 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 * XLAI72 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI72 2000-2020/1-12/1-31/0 C xy cm2/cm2 * - 1 1 )))YUAN_MODIS_LAI #============================================================================== # --- Inputs for the RRTMG radiative transfer model --- # # NOTE: The 2 x 2.5 albedo fields and emissivity fields will produce # differences at the level of numerical noise when comparing output to # simulations from prior versions (esp. when running at 4 x 5 resolution). # You might see larger differences w/r/t prior verisons for a few grid boxes # along the coastline of Antarctica, where the difference in resolution # and regridding will be more apparent in the sharp transition from ice to # ocean. If this is a problem, you can use the data files at 4x5 resolution # for 4x5 RRTMG simulations. # # ALSO NOTE: The algorithm that HEMCO uses to select each time slice is # likely different than what was implemented when reading the old bpch # data from disk. This can also cause differences when comparing to # prior versions. #============================================================================== (((RRTMG * MODIS_ALBDFNIR $ROOT/RRTMG/v2018-11/modis_surf_albedo.2x25.nc ALBDFNIR 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_ALBDFVIS $ROOT/RRTMG/v2018-11/modis_surf_albedo.2x25.nc ALBDFVIS 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_ALBDRNIR $ROOT/RRTMG/v2018-11/modis_surf_albedo.2x25.nc ALBDRNIR 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_ALBDRVIS $ROOT/RRTMG/v2018-11/modis_surf_albedo.2x25.nc ALBDRVIS 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_01 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band01 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_02 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band02 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_03 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band03 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_04 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band04 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_05 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band05 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_06 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band06 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_07 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band07 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_08 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band08 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_09 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band09 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_10 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band10 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_11 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band11 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_12 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band12 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_13 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band13 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_14 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band14 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_15 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band15 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_16 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band16 2002/1-12/1-31/0 C xy 1 * - 1 1 * TES_CLIM_CCL4 $ROOT/RRTMG/v2018-11/species_clim_profiles.2x25.nc CCl4 2000/1/1/0 C xyz ppbv * - 1 1 * TES_CLIM_CFC11 $ROOT/RRTMG/v2018-11/species_clim_profiles.2x25.nc CFC11 2000/1/1/0 C xyz ppbv * - 1 1 * TES_CLIM_CFC12 $ROOT/RRTMG/v2018-11/species_clim_profiles.2x25.nc CFC12 2000/1/1/0 C xyz ppbv * - 1 1 * TES_CLIM_CFC22 $ROOT/RRTMG/v2018-11/species_clim_profiles.2x25.nc CFC22 2000/1/1/0 C xyz ppbv * - 1 1 * TES_CLIM_CH4 $ROOT/RRTMG/v2018-11/species_clim_profiles.2x25.nc CH4 2000/1/1/0 C xyz ppbv * - 1 1 * TES_CLIM_N2O $ROOT/RRTMG/v2018-11/species_clim_profiles.2x25.nc N2O 2000/1/1/0 C xyz ppbv * - 1 1 )))RRTMG (((SfcVMR #============================================================================== # --- CMIP6 files --- # # Use core CMIP6 observationally constrained data from Meinshausen et al. (2017) GMD #============================================================================== * SfcVMR_CH3Cl $ROOT/CMIP6/v2020-03/2x2.5/CMIP6_GHG_surface_VMR_$YYYY.2x25.nc CH3Cl 1750-2014/1-12/1/0 C xy ppbv * 801 1 1 * SfcVMR_CH2Cl2 $ROOT/CMIP6/v2020-03/2x2.5/CMIP6_GHG_surface_VMR_$YYYY.2x25.nc CH2Cl2 1750-2014/1-12/1/0 C xy ppbv * 801 1 1 * SfcVMR_CHCl3 $ROOT/CMIP6/v2020-03/2x2.5/CMIP6_GHG_surface_VMR_$YYYY.2x25.nc CHCl3 1750-2014/1-12/1/0 C xy ppbv * 801 1 1 * SfcVMR_CH3Br $ROOT/CMIP6/v2020-03/2x2.5/CMIP6_GHG_surface_VMR_$YYYY.2x25.nc CH3Br 1750-2014/1-12/1/0 C xy ppbv * 801 1 1 #============================================================================== # --- WMO-2018 files (GMI) --- #============================================================================== * SfcVMR_CCl4 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CCl4 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_CFC113 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CFC113 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_CFC114 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CFC114 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_CFC115 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CFC115 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_CFC11 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CFC11 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_CFC12 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CFC12 1960-2100/1-12/1/0 C xy v/v * 802 1 1 #* SfcVMR_CH3Br $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CH3Br 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_CH3CCl3 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CH3CCl3 1960-2100/1-12/1/0 C xy v/v * 802 1 1 #* SfcVMR_CH3Cl $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CH3Cl 1960-2100/1-12/1/0 C xy v/v * 802 1 1 #* SfcVMR_CH4 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CH4 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_H1211 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc H1211 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_H1301 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc H1301 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_H2402 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc C2BR2F4 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_HCFC141b $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc HCFC141b 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_HCFC142b $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc HCFC142b 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_HCFC22 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc HCFC22 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_N2O $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc N2O 1960-2100/1-12/1/0 C xy v/v * 802 1 1 #============================================================================== # --- Dummy files with a single surface concentration (for OCS and H2) --- #============================================================================== * SfcVMR_OCS $ROOT/SfcFix/v2019-12/surface_VMR_OCS.2x25.nc OCS 1985/1/1/0 C xy ppbv * - 1 1 * SfcVMR_H2 $ROOT/SfcFix/v2019-12/surface_VMR_H2.2x25.nc H2 1985/1/1/0 C xy ppbv * - 1 1 )))SfcVMR (((CMIP6_SFC_BC #============================================================================== # --- CMIP6 surface boundary conditions for 1750-2100 --- #============================================================================== # Commented-out tracers do not exist in GEOS-Chem yet # * SfcVMR_C2F6 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 C2F6 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_C3F8 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 C3F8 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_C4F10 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 C4F10 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_C5F12 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 C5F12 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_C6F14 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 C6F14 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_C7F16 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 C7F16 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_C8F18 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 C8F18 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_CC4F8 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CC4F8 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 * SfcVMR_CCl4 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CCl4 1750-2100/1-12/1/0 RY xy v/v CCl4 802 1 1 # * SfcVMR_CF4 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CF4 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 * SfcVMR_CFC11 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CFC11 1750-2100/1-12/1/0 RY xy v/v CFC11 802 1 1 * SfcVMR_CFC113 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CFC113 1750-2100/1-12/1/0 RY xy v/v CFC113 802 1 1 * SfcVMR_CFC114 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CFC114 1750-2100/1-12/1/0 RY xy v/v CFC114 802 1 1 * SfcVMR_CFC115 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CFC115 1750-2100/1-12/1/0 RY xy v/v CFC115 802 1 1 * SfcVMR_CFC12 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CFC12 1750-2100/1-12/1/0 RY xy v/v CFC12 802 1 1 * SfcVMR_CH2Cl2 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CH2Cl2 1750-2100/1-12/1/0 RY xy v/v CH2Cl2 802 1 1 * SfcVMR_CH3Br $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CH3Br 1750-2100/1-12/1/0 RY xy v/v CH3Br 802 1 1 * SfcVMR_CH3CCl3 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CH3CCl3 1750-2100/1-12/1/0 RY xy v/v CH3CCl3 802 1 1 * SfcVMR_CH3Cl $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CH3Cl 1750-2100/1-12/1/0 RY xy v/v CH3Cl 802 1 1 * SfcVMR_CH4 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CH4 1750-2100/1-12/1/0 RY xy v/v CH4 802 1 1 * SfcVMR_CHCl3 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CHCl3 1750-2100/1-12/1/0 RY xy v/v CHCl3 802 1 1 # * SfcVMR_CO2 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CO2 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 * SfcVMR_H1211 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 H1211 1750-2100/1-12/1/0 RY xy v/v H1211 802 1 1 * SfcVMR_H1301 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 H1301 1750-2100/1-12/1/0 RY xy v/v H1301 802 1 1 * SfcVMR_H2402 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 H2402 1750-2100/1-12/1/0 RY xy v/v H2402 802 1 1 # SFC_BC_HCFC123 <- exists in UCX with lifetime of 2 years but has no surface boundary conditions; 200-600 pptv in https://doi.org/10.1021/es802308m * SfcVMR_HCFC141b $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HCFC141b 1750-2100/1-12/1/0 RY xy v/v HCFC141b 802 1 1 * SfcVMR_HCFC142b $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HCFC142b 1750-2100/1-12/1/0 RY xy v/v HCFC142b 802 1 1 * SfcVMR_HCFC22 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HCFC22 1750-2100/1-12/1/0 RY xy v/v HCFC22 802 1 1 # * SfcVMR_HFC125 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HFC125 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_HFC134a $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HFC134a 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_HFC143a $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HFC143a 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_HFC152a $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HFC152a 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_HFC227ea $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HFC227ea 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_HFC23 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HFC23 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_HFC236fa $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HFC236fa 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_HFC245fa $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HFC245fa 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_HFC32 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HFC32 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_HFC365mfc $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HFC365mfc 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_HFC4310mee $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HFC4310mee 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 * SfcVMR_N2O $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 N2O 1750-2100/1-12/1/0 RY xy v/v N2O 802 1 1 # * SfcVMR_NF3 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 NF3 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_SF6 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 SF6 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_SO2F2 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 SO2F2 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 #============================================================================== # -- Not part of CMIP6 experimental design; use GEOS-Chem defaults #============================================================================== * SfcVMR_OCS $ROOT/SfcFix/v2019-12/surface_VMR_OCS.2x25.nc OCS 1985/1/1/0 C xy ppbv * - 1 1 * SfcVMR_H2 $ROOT/SfcFix/v2019-12/surface_VMR_H2.2x25.nc H2 1985/1/1/0 C xy ppbv * - 1 1 )))CMIP6_SFC_BC #============================================================================== # --- Oceanic ozone deposition --- # # Sea surface iodide concentration and salinity to be read in for the # new calculations for ozone deposition to the ocean #============================================================================== (((OCEAN_O3_DRYDEP * surf_salinity $ROOT/OCEAN_O3_DRYDEP/v2020-02/WOA_2013_salinity.nc s_mn 1985/1/1/0 C xy 1 * - 1 1 * surf_iodide $ROOT/OCEAN_O3_DRYDEP/v2020-02/Oi_prj_predicted_iodide_0.125x0.125_No_Skagerrak_Just_Ensemble.nc Ensemble_Monthly_mean 1970/1-12/1/0 C xy 1 * - 1 1 )))OCEAN_O3_DRYDEP ### END SECTION BASE EMISSIONS ### ############################################################################### ### BEGIN SECTION SCALE FACTORS ############################################################################### # ScalID Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Oper (((EMISSIONS #============================================================================== # --- Annual scale factors --- #============================================================================== (((XIAO_C3H8 6 LIQFUEL_THISYR $ROOT/AnnualScalar/v2014-07/AnnualScalar.geos.1x1.nc COscalar 1985-2010/1/1/0 C xy 1 1 7 LIQFUEL_1985 $ROOT/AnnualScalar/v2014-07/AnnualScalar.geos.1x1.nc COscalar 1985/1/1/0 C xy 1 -1 )))XIAO_C3H8 #============================================================================== # --- Diurnal scale factors --- #============================================================================== 25 EDGAR_TODNOX $ROOT/EDGARv42/v2015-02/NO/EDGAR_hourly_NOxScal.nc NOXscale 2000/1/1/* C xy unitless 1 26 GEIA_TOD_FOSSIL 0.45/0.45/0.6/0.6/0.6/0.6/1.45/1.45/1.45/1.45/1.4/1.4/1.4/1.4/1.45/1.45/1.45/1.45/0.65/0.65/0.65/0.65/0.45/0.45 - - - xy unitless 1 #============================================================================== # Diurnal variablity of Chinese power plants from Liu et al. (EST, 2019) #============================================================================== 33 PKU_pow_NOx 0.94/0.93/0.93/0.92/0.93/0.96/0.98/0.99/0.98/1.00/1.05/1.03/1.01/1.04/1.05/1.05/1.07/1.06/1.05/1.05/1.03/1.01/0.99/0.96 - - - xy unitless 1 1009 34 PKU_pow_SO2 0.92/0.91/0.90/0.89/0.90/0.93/0.97/0.98/0.99/1.02/1.07/1.04/1.03/1.06/1.06/1.07/1.10/1.10/1.06/1.05/1.03/1.01/0.99/0.93 - - - xy unitless 1 1009 35 PKU_pow_PM_BC_POC_VOC_CO 0.95/0.93/0.92/0.91/0.90/0.93/0.97/0.97/0.99/1.03/1.04/1.03/1.02/1.03/1.05/1.07/1.07/1.07/1.06/1.04/1.03/1.02/1.00/0.97 - - - xy unitless 1 1009 # These scale factors undo (Oper=-1) the global diurnal scale factors over China (Mask=1009) 36 EDGAR_TODNOX_UNDO $ROOT/EDGARv42/v2015-02/NO/EDGAR_hourly_NOxScal.nc NOXscale 2000/1/1/* C xy unitless -1 1009 37 GEIA_TOD_FOSSIL_UNDO 0.45/0.45/0.6/0.6/0.6/0.6/1.45/1.45/1.45/1.45/1.4/1.4/1.4/1.4/1.45/1.45/1.45/1.45/0.65/0.65/0.65/0.65/0.45/0.45 - - - xy unitless -1 1009 #============================================================================== # --- Day-of-week scale factors --- # ==> data is Sun/Mon/.../Sat #============================================================================== (((XIAO_C3H8 22 GEIA_DOW_HC 0.671/1.1102/1.1102/1.1102/1.1102/1.1102/0.768 - - - xy unitless 1 )))XIAO_C3H8 #============================================================================== # --- Seasonal scale factors --- #============================================================================== (((DICE_Africa # from GEIA: 30 GEIA_SEASON_NOX $ROOT/GEIA/v2014-07/GEIA_monthscal.generic.1x1.nc NOXrat 1985/1-12/1/0 C xy unitless 1 31 GEIA_SEASON_SO2 $ROOT/GEIA/v2014-07/GEIA_monthscal.generic.1x1.nc SO2rat 1985/1-12/1/0 C xy unitless 1 )))DICE_Africa #============================================================================== # --- For Bromocarbons --- #============================================================================== (((LIANG_BROMOCARB 39 BROMOCARB_SEASON $ROOT/BROMINE/v2015-02/BromoCarb_Season.nc CHXBRY_scale 2000/1-12/1/0 C xy unitless 1 )))LIANG_BROMOCARB #============================================================================== # --- Scale factors used for species conversions --- #============================================================================== # Units carbon to species conversions # Factor = # carbon atoms * MW carbon) / MW species 40 CtoACET MATH:58.09/(3.0*12.0) - - - xy unitless 1 41 CtoALD2 MATH:44.06/(2.0*12.0) - - - xy unitless 1 42 CtoALK4 MATH:58.12/(4.3*12.0) - - - xy unitless 1 43 CtoBENZ MATH:78.12/(6.0*12.0) - - - xy unitless 1 44 CtoC2H4 MATH:28.05/(2.0*12.0) - - - xy unitless 1 45 CtoC2H6 MATH:30.08/(2.0*12.0) - - - xy unitless 1 46 CtoC3H8 MATH:44.11/(3.0*12.0) - - - xy unitless 1 47 CtoEOH MATH:46.07/(2.0*12.0) - - - xy unitless 1 48 CtoMEK MATH:72.11/(4.0*12.0) - - - xy unitless 1 49 CtoPRPE MATH:42.09/(3.0*12.0) - - - xy unitless 1 55 CtoTOLU MATH:92.15/(7.0*12.0) - - - xy unitless 1 56 CtoXYLE MATH:106.18/(8.0*12.0) - - - xy unitless 1 59 CtoC2H2 MATH:26.04/(2.0*12.0) - - - xy unitless 1 61 CtoISOP MATH:68.13/(5.0*12.0) - - - xy unitless 1 62 CtoMTPA MATH:136.26/(10.0*12.0) - - - xy unitless 1 64 CtoMBOX MATH:86.13/(5.0*12.0) - - - xy unitless 1 67 CtoSESQ MATH:204.4/(15.0*12.0) - - - xy unitless 1 83 CtoMACR MATH:70.10/(4.0*12.0) - - - xy unitless 1 84 CtoRCHO MATH:58.09/(3.0*12.0) - - - xy unitless 1 # VOC speciations (((RCP_3PD.or.RCP_45.or.RCP_60.or.RCP_85 50 KET2MEK 0.25 - - - xy unitless 1 51 KET2ACET 0.75 - - - xy unitless 1 )))RCP_3PD.or.RCP_45.or.RCP_60.or.RCP_85 (((APEI.or.EDGARv43.or.DICE_Africa.or.QFED2 52 COPROD_FOSSIL 1.02 - - - xy unitless 1 54 COPROD_BIOMASS 1.05 - - - xy unitless 1 )))APEI.or.EDGARv43.or.DICE_Africa.or.QFED2 # RCP acids to HCOOH conversion (((RCP_3PD.or.RCP_45.or.RCP_60.or.RCP_85 57 RCP_HCOOHfraction 0.25 - - - xy unitless 1 58 RCP_ACIDStoHCOOH 0.779661 - - - xy unitless 1 )))RCP_3PD.or.RCP_45.or.RCP_60.or.RCP_85 # SOx to SO2 conversion (Chin et al., 2000) 60 SOX2SO2_GLOBAL 0.986 - - - xy unitless 1 63 SO2toSO4 0.031 - - - xy unitless 1 65 SO2toSO4_APEI 0.014 - - - xy unitless 1 66 SO2toPFe 1.0e-3 - - - xy unitless 1 68 SO2toPFe_APEI 4.7e-4 - - - xy unitless 1 69 SO2toPFe_NEI 1.0e-3 - - - xy unitless 1 78 SO2FRAC 0.969 - - - xy unitless 1 # Carbon aerosols: speciation of hydrophilic and hydrophobic fractions # (Fractions applied to the biomass burning extensions (GFED or FINN) are # specified separately in the extensions section.) 70 BC2BCPI 0.2 - - - xy unitless 1 71 BC2BCPO 0.8 - - - xy unitless 1 72 OC2OCPI 0.5 - - - xy unitless 1 73 OC2OCPO 0.5 - - - xy unitless 1 74 POGSCAL 1.27 - - - xy unitless 1 76 SV2POG1 0.49 - - - xy unitless 1 77 SV2POG2 0.51 - - - xy unitless 1 (((BB4MIPS # Convert MOH to ACET emissions for CMIP6 Scenarios 79 MOH2ACET 0.2094649 - - - xy unitless 1 )))BB4MIPS # Convert CEDS total alchohols to methanol, ethanol, and other alcohols following Chen et al. (2019, ACP) 90 VOC1toMOH 0.5 - - - xy 1 1 91 VOC1toEOH 0.375 - - - xy 1 1 92 VOC1toROH 0.125 - - - xy 1 1 # NOx/NO2 to NO conversion 115 NO2toNO 6.521739e-1 - - - xy unitless 1 # SOA-Precursor scale factors # # From Kim, P.S., et. al. 2015 "Sources, seasonality, and trends # of southeast US aerosol: ..." # AVOCs and BBVOCs are emitted in proportion to CO, with an emission ratio of # 0.069 g AVOC (g CO)−1 (Hayes et al., 2015) and # 0.013 g BBVOC (g CO)−1 (Cubison et al., 2011). # They are both oxidized by OH in the model ... to generate SOA. 280 COtoSOAP_anth 0.069 - - - xy 1 1 281 COtoSOAP_burn 0.013 - - - xy 1 1 #============================================================================== # --- QFED2 diurnal scale factors --- # # Fire diurnal scaling factors (% per hour) from WRAP Report to Project # No. 178-6, July 2005 #============================================================================== (((QFED2.or.GFAS.or.BB4MIPS 75 QFED2_TOD 0.1392/0.1392/0.1368/0.1368/0.1368/0.1368/0.1368/0.1368/0.1368/0.48/0.96/1.68/2.4/3.12/3.84/4.08/2.88/1.68/0.96/0.1368/0.1368/0.1368/0.1368/0.1368 - - - xy unitless 1 )))QFED2.or.GFAS.or.BB4MIPS #============================================================================== # --- NAP scale factors --- # # Get anthropogenic (FF) NAP emissions by scaling BENZ emissions with the # following factor. Factor is ratio of TgC NAP to TgC BENZ emissions # or equivalently, molec C NAP to molec C BENZ. Scaling should produce # about 0.09 TgC NAP/year, consistent with non-BB,BF emissions predicted # by Zhang and Tao 2009 Atm Env # Based on year 2000 1x1 inv (hotp 11/14/09) #REAL*8, PARAMETER :: NAPTOBENZSCALE = 0.06861d0 # NAPTOTSCAL: factor to scale total NAP emissions to POA (hotp 7/24/09) #REAL*8, PARAMETER :: NAPTOTALSCALE = 66.09027d0 # = CO emissions * emissions ratio of mol NAP / mol CO # * kg C / mol NAP * mol CO / kg CO # mmol NAP / mol CO = 0.025 g NAP/ kg DM / # ( 78 g CO/ kg DM ) * 28 g CO / mol CO # / ( 128 g NAP / mol NAP ) *1000 mmol/mol # scale emissions down if appropriate to remove the # effect of VOC ox on CO emission # EF for NAP from Andreae and Merlet 2001 Glob Biog Cyc # EF for CO from Andreae and Merlet 2001 Glob Biog Cyc #BIOFUEL_KG(N,:,:) = BIOFUEL_KG(IDBFCO,:,:) * 0.0701d-3 # * 120d0 / 28d0 * COSCALEDOWN #============================================================================== (((EDGARv43 80 NAPEMISS 1.0 - - - xy unitless 1 81 NAPTOTSCAL 66.09 - - - xy unitless 1 82 BENZTONAP 6.86e-2 - - - xy unitless 1 )))EDGARv43 #============================================================================== # --- BIOGENIC EMISSIONS FROM DRY LEAF MATTER --- # # Use yield of 40ug/dDW. # Assume organic matter has molecular formula CH2O (MW 30.03), which # means 0.4 gC / g plant # ALD2 MW = 44.05 g/mole ==> 0.55 gC/g ALD2 # Therefore 40ug (ALD2) / g (plant) ==> 55 ug C in ALD2 / gC plant # EOH MW = 46 g/mole ==> 0.52 gC/g EOH # Therefore 40ug (EOH) / g (plant) ==> 52 ug C in EOH / gC plant #============================================================================== (((DECAYING_PLANTS 85 YIELD_RESP_ALD2 55.0e-6 - - - xy unitless 1 86 YIELD_RESP_EOH 52.0e-6 - - - xy unitless 1 )))DECAYING_PLANTS #============================================================================== # --- AEIC2019 aircraft emissions scale factors --- # # See http://geoschemdata.wustl.edu/ExtData/HEMCO/AEIC2019/v2022-03/AEIC_2019_technical_note.pdf #============================================================================== (((AEIC2019_DAILY.or.AEIC2019_MONMEAN # Conversions from AEIC2019 inventory quantities to individual species 101 AEICACET 3.693477e-3 - - - xy unitless 1 102 AEICALD2 4.271822e-2 - - - xy unitless 1 103 AEICALK4 2.137911e-1 - - - xy unitless 1 104 AEICC2H6 5.214505e-3 - - - xy unitless 1 105 AEICC3H8 7.808710e-4 - - - xy unitless 1 106 AEICCH2O 1.230811e-1 - - - xy unitless 1 107 AEICPRPE 1.780418e-1 - - - xy unitless 1 108 AEICMACR 5.362609e-2 - - - xy unitless 1 109 AEICRCHO 3.676944e-2 - - - xy unitless 1 111 AEICSO2 1.176000e-3 - - - xy unitless 1 112 AEICSO4 3.600000e-5 - - - xy unitless 1 113 AEICBC 3.000000e-5 - - - xy unitless 1 114 AEICHC 1.160000e+0 - - - xy unitless 1 120 FB2H2O 1.231000e+0 - - - xy unitless 1 #------------------------------------------------------------------------------ # Scaling factors for 1990-2019 derived from Lee et al. (2021). Increase # from 2018 to 2019 is estimated based on the growth from 2017 to 2018. # Lee et al. (2021) only covers 1990 to 2018, so to get to 2019 it is # assumed that the growth from 2017 to 2018 is the same as that from 2018 # to 2019. So the formula is something like: # # Emissions of CO in 2009 = AEIC 2019 emissions of CO # * (Lee 2017 CO / Lee 2018 fuel burn) # * (Lee 2009 fuel burn / Lee 2018 fuel burn) # # So in this case, we use the Lee 2017/Lee 2018 value to scale AEIC’s # emissions to the “2018” values, and then scale directly using the Lee et al # fuel burn. This ensures that, when running with year 2019, you get an # unadjusted version of the AEIC2019 inventory, and all previous years are # scaled down. For NOx, the same procedure is applied but with an additional # factor to account for changes in NOx EI: # # Emissions of NOx in 2009 = [ AEIC 2019 emissions of NOx # * (Lee 2017 CO / Lee 2018 fuel burn) # * (Lee 2009 fuel burn / Lee 2018 fuel burn) ] # * [ (Lee 2017 NOx EI / Lee 2018 NOx EI) # * (Lee 2009 NOx EI / Lee 2018 NOx EI) ] # # In this case though the Lee et al 2018 and 2017 NOx EIs are identical. # All scaling factors are included in here in HEMCO_Config.rc. #------------------------------------------------------------------------------ (((AEIC_SCALE_1990_2019 240 AC_EINOX 0.852/0.852/0.852/0.859/0.866/0.873/0.881/0.888/0.896/0.903/0.911/0.916/0.922/0.927/0.932/0.937/0.950/0.962/0.974/0.987/1.000/1.000/1.000/1.000/1.000/1.000/1.000/1.000/1.000/1.000 - 1990-2019/1/1/0 C xy 1 1 241 AC_FBMULT 0.506/0.489/0.490/0.493/0.517/0.529/0.553/0.570/0.581/0.600/0.631/0.607/0.608/0.608/0.646/0.678/0.686/0.706/0.703/0.666/0.700/0.721/0.728/0.749/0.773/0.815/0.854/0.905/0.952/1.000 - 1990-2019/1/1/0 C xy 1 1 )))AEIC_SCALE_1990_2019 # If not applying 1990-2019 scale factors, use 1.0 (((.not.AEIC_SCALE_1990_2019 240 AC_EINOX 1.000000e+0 - - - xy 1 1 241 AC_FBMULT 1.000000e+0 - - - xy 1 1 ))).not.AEIC_SCALE_1990_2019 )))AEIC2019_DAILY.or.AEIC2019_MONMEAN (((CMIP6_AIRCRAFT # Conversions for SO2 to HCs taken from AEIC 601 CMIP6_SO2_TO_ACET 3.140712 - - - xy unitless 1 602 CMIP6_SO2_TO_ALD2 36.32502 - - - xy unitless 1 603 CMIP6_SO2_TO_ALK4 181.7952 - - - xy unitless 1 604 CMIP6_SO2_TO_C2H6 4.434103 - - - xy unitless 1 605 CMIP6_SO2_TO_C3H8 0.664006 - - - xy unitless 1 606 CMIP6_SO2_TO_CH2O 104.6608 - - - xy unitless 1 607 CMIP6_SO2_TO_PRPE 151.3961 - - - xy unitless 1 608 CMIP6_SO2_TO_MACR 45.60042 - - - xy unitless 1 609 CMIP6_SO2_TO_RCHO 31.26653 - - - xy unitless 1 )))CMIP6_AIRCRAFT #============================================================================== # --- EPA NEI day-of-week scale factors --- #============================================================================== (((NEI2016_MONMEAN 210 NEI99_DOW_NOX $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc NOX 1999/1-12/WD/0 C xy 1 1 211 NEI99_DOW_CO $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc CO 1999/1-12/WD/0 C xy 1 1 212 NEI99_DOW_ALK4 $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc ALK4 1999/1-12/WD/0 C xy 1 1 213 NEI99_DOW_ACET $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc ACET 1999/1-12/WD/0 C xy 1 1 214 NEI99_DOW_MEK $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc MEK 1999/1-12/WD/0 C xy 1 1 215 NEI99_DOW_PRPE $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc PRPE 1999/1-12/WD/0 C xy 1 1 216 NEI99_DOW_C3H8 $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc C3H8 1999/1-12/WD/0 C xy 1 1 217 NEI99_DOW_C2H6 $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc C2H6 1999/1-12/WD/0 C xy 1 1 218 NEI99_DOW_SO2 $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc SO2 1999/1-12/WD/0 C xy 1 1 219 NEI99_DOW_SO4 $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc SO4 1999/1-12/WD/0 C xy 1 1 220 NEI99_DOW_MSA $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc MSA 1999/1-12/WD/0 C xy 1 1 221 NEI99_DOW_BCPI $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc BCPI 1999/1-12/WD/0 C xy 1 1 222 NEI99_DOW_OCPI $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc OCPI 1999/1-12/WD/0 C xy 1 1 )))NEI2016_MONMEAN #============================================================================== # --- EPA NEI2016 annual scale factors --- # # Annual scale factors were computed from the EPA Trends Report for Tier 1 CAPS # (obtained 21 Sep 2021) using the "Total without wildfires" field. NH3 and # PM2.5 only had values for 2002-2020, while the remaining species had yearly # values for 1990-2020 (we include only 2002-2020 here). # # See NEI2016/v2021-06/national_tier1_caps+HEMCOscaling.xlsx for details. #============================================================================== (((NEI2016_MONMEAN 251 NEI2016_NOx_YRSCALE 2.341/2.213/2.083/1.989/1.879/1.768/1.651/1.539/1.448/1.407/1.345/1.282/1.224/1.135/1.000/0.943/0.895/0.840/0.785 - 2002-2020/1/1/0 C xy 1 1 252 NEI2016_CO_YRSCALE 1.817/1.767/1.716/1.666/1.610/1.554/1.393/1.251/1.272/1.261/1.220/1.178/1.137/1.095/1.000/0.973/0.950/0.927/0.904 - 2002-2020/1/1/0 C xy 1 1 253 NEI2016_NH3_YRSCALE 0.996/0.999/1.002/1.005/1.043/1.082/1.100/1.088/1.077/1.012/0.957/0.954/0.899/0.950/1.000/1.052/1.051/1.050/1.049 - 2002-2020/1/1/0 C xy 1 1 254 NEI2016_VOC_YRSCALE 1.314/1.285/1.255/1.223/1.234/1.246/1.148/1.135/1.154/1.175/1.153/1.131/1.110/1.067/1.000/0.970/0.956/0.941/0.926 - 2002-2020/1/1/0 C xy 1 1 255 NEI2016_SO2_YRSCALE 4.773/4.701/4.626/4.625/4.171/3.717/3.273/2.879/2.446/2.038/1.591/1.525/1.469/1.237/1.000/0.767/0.735/0.641/0.583 - 2002-2020/1/1/0 C xy 1 1 256 NEI2016_PM25_YRSCALE 1.120/1.140/1.159/1.178/1.213/1.248/1.202/1.195/1.190/1.192/1.153/1.115/1.077/1.040/1.000/0.964/0.961/0.958/0.955 - 2002-2020/1/1/0 C xy 1 1 )))NEI2016_MONMEAN #============================================================================== # --- GFAS scale factors --- #============================================================================== (((GFAS 300 GFAS_EMITL $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc mami 2003-2021/1-12/1-31/0 C xy m 1 )))GFAS #============================================================================== # --- QFED vertical partitioning --- # Following Fischer et al. (2014) and Travis et al. (2016), emit 35% of QFED # emissions above the PBL. #============================================================================== (((QFED2 311 QFED_PBL_FRAC 0.65 - - - xy 1 1 312 QFED_FT_FRAC 0.35 - - - xy 1 1 )))QFED2 #============================================================================== # --- CEDS vertical partitioning --- #============================================================================== (((CEDSv2.or.CEDS_GBDMAPS 315 ENERGY_LEVS $ROOT/VerticalScaleFactors/v2021-05/gc_layers.nc g_energy 2017/1/1/0 C xyz 1 1 316 INDUSTRY_LEVS $ROOT/VerticalScaleFactors/v2021-05/gc_layers.nc g_industry 2017/1/1/0 C xyz 1 1 317 SHIP_LEVS $ROOT/VerticalScaleFactors/v2021-05/gc_layers.nc cmv_c3 2017/1/1/0 C xyz 1 1 )))CEDSv2.or.CEDS_GBDMAPS #============================================================================== # --- DICE-Africa --- #============================================================================== (((DICE_Africa # Charcoal production scale factor to reduce charcoal production # by a factor of 5 after finding error in implementation of emission factors. 320 DICE_CP_SF 0.20 - - - xy 1 1 # Car emissions of OCPI and OCPO scale factor to address a factor of 7 overestimate # in car OC emissions that results from incorrect emission factors used in the original inventory 330 DICE_CAR_OC_SF 0.14 - - - xy 1 1 )))DICE_Africa #============================================================================== # --- Offline biogenic VOC scale factors --- # # Isoprene : 1.5% mass yield SOAP, 1.5% mass yield SOAS # Monoterpenes : 5.0% mass yield SOAP, 5.0% mass yield SOAS # Other terpenes: 5.0% mass yield SOAP, 5.0% mass yield SOAS # --> Need to multiply by 1.133 to convert from carbon basis to mass basis #============================================================================== (((OFFLINE_BIOGENICVOC 610 ISOPtoSOA 0.0170 - - - xy 1 1 611 MONOtoSOA 0.0567 - - - xy 1 1 612 OTHRtoSOA 0.0567 - - - xy 1 1 )))OFFLINE_BIOGENICVOC #============================================================================== # --- Offline sea salt scale factors --- # # NOTES: # - Sea salt alkalinity and chloride values obtained from hcox_seasalt_mod.F90 # - BrContent obtained from '--> Br- mass ratio' in SeaSalt extension above #============================================================================== (((OFFLINE_SEASALT 615 SSAlkalinity 1.0 - - - xy 1 1 616 SSChloride 0.5504 - - - xy 1 1 617 BrContent 2.11e-3 - - - xy 1 1 )))OFFLINE_SEASALT #============================================================================== # --- CEDS to CAM-Chem scale factors --- # # NOTES: # Reference: Table S4. Emmons, L. K., Schwantes, R. H., Orlando, J. J., # Tyndall, G., Kinnison, D., Lamarque, J.‐F., et al. (2020). # The Chemistry Mechanism in the Community Earth System Model version 2 (CESM2). # Journal of Advances in Modeling Earth Systems, 12, e2019MS001882. # https://doi.org/10.1029/2019MS001882 # # CEDS sectors: (from CEDS readme) # sector Description SO4_aX SF# SO4_NUM SF# BC_NUM SF# POM_NUM SF# # 0: AGR Non-combustion agricultural sector 8902 8014 # 1: ENE Energy transformation and extraction 8907 8011 # 2: IND Industrial combustion and processes 8908 8011 # 3: TRA Surface Transportation (Road, Rail, Other) 8906 8022 --8041-- --8042-- # 4: RCO Residential, commercial, and other 8905 8022 # 5: SLV Solvents 8904 8014 # 6: WST Waste disposal and handling 8903 8014 # 7: SHP International shipping (including VOCs from oil tanker loading/leakage) 8909 8013 #============================================================================= 8902 CESM_SO4a1_AGR 0.025 - - - xy 1 1 8903 CESM_SO4a1_WST 0.025 - - - xy 1 1 8904 CESM_SO4a1_SLV 0.025 - - - xy 1 1 8905 CESM_SO4a2_RCO 0.025 - - - xy 1 1 8906 CESM_SO4a2_TRA 0.025 - - - xy 1 1 8907 CESM_SO4a1_ENE 0.025 - - - xy 1 1 8908 CESM_SO4a1_IND 0.025 - - - xy 1 1 8909 CESM_SO4a1_SHP 0.025 - - - xy 1 1 8910 CESM_CH3CHOCH3 0.2 - - - xy 1 1 8911 CESM_MEK 0.8 - - - xy 1 1 8912 CESM_HCOOH 0.5 - - - xy 1 1 8913 CESM_CH3COOH 0.5 - - - xy 1 1 # BC/OC 8920 CESM_BCa4_ANTH 1.0 - - - xy 1 1 8921 CESM_BCa4_BB 1.0 - - - xy 1 1 8922 CESM_BCa4_AIR 1.0 - - - xy 1 1 8930 CESM_POMa4_ANTH 1.4 - - - xy 1 1 8931 CESM_POMa4_BB 1.4 - - - xy 1 1 # Does not seem to be in CEDS, have to look closer later (hplin, 8/6/20) 8985 CESM_SO4a1_BB 0.025 - - - xy 1 1 8986 CESM_SO4a1_VOL 0.5 - - - xy 1 1 8987 CESM_SO4a2_VOL 0.5 - - - xy 1 1 # Convert CEDS total alcohols to methanol and ethanol following Emmons et al. (2020, JAMES) 8990 CESM_VOC1toMOH 0.15 - - - xy 1 1 8991 CESM_VOC1toEOH 0.85 - - - xy 1 1 #----------------------------------------- # AEROSOL NUMBER EMISSIONS FOR CEDS # Based on Emmons et al., 2020 CESM2 #----------------------------------------- # sector Description # 0: AGR Non-combustion agricultural sector # 1: ENE Energy transformation and extraction # 2: IND Industrial combustion and processes # 3: TRA Surface Transportation (Road, Rail, Other) # 4: RCO Residential, commercial, and other # 5: SLV Solvents # 6: WST Waste disposal and handling # 7: SHP International shipping (including VOCs from oil tanker loading/leakage) # The scaling is performed ON TOP of original bins to convert aerosol mass to aerosol number # # Enumber = Emass * (1 / ( pi/6 * rho * D_emit^3 )) # # kg/m2/s kg/m3 um^3=10^-18 m^3 # = 1/m2/s # # where pi = 3.1415926 # rho = specdens_amode(SM,M) --> species corresponding to the given aerosol mode # D_emit is dependent by sector # # WARNING: THE FOLLOWING FACTORS ARE APPLIED ON TOP OF THE EXISTING CESM SCALE FACTORS FOR CEDS (i.e. 0.025) # THUS THEY SHOULD ALWAYS BE USED IN COMBINATION, e.g., 908/8001 # # Refer to the parameter table in Emmons et al., 2020 SUPPLEMENT # # 1/(3.1415926/6*1770*(0.261e-6)**3) 8011 CESM_SO4a1toNUM_ENE_IND 6.068853e16 - - - xy 1 1 8013 CESM_SO4a1toNUM_SHP 6.068853e16 - - - xy 1 1 # 1/(3.1415926/6*1770*(0.134e-6)**3) # BB, Volcano, Agr, Wst, Solvents 8013 CESM_SO4a1toNUM_BB_VOL 4.484497e17 - - - xy 1 1 8014 CESM_SO4a1toNUM_AG_WS 4.484497e17 - - - xy 1 1 # 1/(3.1415926/6*1770*(0.0504e-6)**3) 8021 CESM_SO4a2toNUM_VOL 8.428233e18 - - - xy 1 1 # 1/(3.1415926/6*1770*(0.0504e-6)**3) 8022 CESM_SO4a2toNUM_RES_TRA 8.428233e18 - - - xy 1 1 # BC total anthro, BB, aircraft # 1/(3.1415926/6*1770*(0.134e-6)**3) 8041 CESM_BCa4toNUM 4.484497e17 - - - xy 1 1 # 1/(3.1415926/6*1000*(0.134e-6)**3) 8042 CESM_OCa4toNUM 7.937559e17 - - - xy 1 1 )))EMISSIONS #============================================================================== # Scale the CMIP6 values in pptv to ppbv #============================================================================== 801 pptv2ppbv 0.001 - - - xy 1 1 802 vv2ppbv 1000000000 - - - xy 1 1 #============================================================================== # --- EDGAR 4.3.1 --- # Using data of 2010, the calculated seasonal ratio for different species in the # same sector are nearly identical, possibly due to consistent activity data used. # Therefore we use the seasonal scale factors of CO in 2010 for most sectors, # except for AGR, AWB and SOL. # For AGR, the NH3 AGR seasonal scale factors are used. # For AWB, the CO AGR seasonal scale factors are used. # For SOL, the NOx AGR seasonal scale factors are used. #============================================================================== (((EDGARv43.or.DICE_Africa 1201 POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc POW 2010/1-12/1/0 C xy unitless 1 1202 ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc ENG 2010/1-12/1/0 C xy unitless 1 1203 IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc IND 2010/1-12/1/0 C xy unitless 1 1204 TRO $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc TRO 2010/1-12/1/0 C xy unitless 1 1205 TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc TNG 2010/1-12/1/0 C xy unitless 1 1206 RCO $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc RCO 2010/1-12/1/0 C xy unitless 1 1207 PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc PPA 2010/1-12/1/0 C xy unitless 1 1208 AGR $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc AGR 2010/1-12/1/0 C xy unitless 1 1209 AWB $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc AWB 2010/1-12/1/0 C xy unitless 1 1210 SOL $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc SOL 2010/1-12/1/0 C xy unitless 1 1211 SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc SWD 2010/1-12/1/0 C xy unitless 1 1212 FFF $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc FFF 2010/1-12/1/0 C xy unitless 1 )))EDGARv43.or.DICE_Africa (((CEDSv2 #========================================================================= # --- Sector-wise diel scale factors for CEDSv2 --- # These scale factors could potentially be used for other global base emissions if modified accordingly. #========================================================================= 2401 TOD_AGRICULTURE 0.599/0.599/0.599/0.599/0.599/0.649/0.748/0.898/1.098/1.247/1.447/1.597/1.796/1.746/1.696/1.547/1.347/1.098/0.898/0.748/0.649/0.599/0.599/0.599 - - - xy unitless 1 2406 TOD_ENERGY 0.790/0.720/0.720/0.710/0.740/0.800/0.920/1.080/1.190/1.220/1.210/1.210/1.170/1.150/1.140/1.130/1.100/1.070/1.040/1.020/1.020/1.010/0.960/0.880 - - - xy unitless 1 2407 TOD_INDUSTRY 0.750/0.750/0.780/0.820/0.880/0.950/1.020/1.090/1.160/1.220/1.280/1.300/1.220/1.240/1.250/1.160/1.080/1.010/0.950/0.900/0.850/0.810/0.780/0.750 - - - xy unitless 1 2409 TOD_RESIDENTIAL 0.393/0.393/0.393/0.393/0.393/0.492/1.180/1.475/1.574/1.574/1.377/1.180/1.082/1.082/0.984/0.984/0.984/1.082/1.377/1.475/1.377/1.377/0.984/0.393 - - - xy unitless 1 2411 TOD_TRANSPORT 0.190/0.090/0.060/0.050/0.090/0.220/0.860/1.840/1.860/1.410/1.240/1.200/1.320/1.440/1.450/1.590/2.030/2.080/1.510/1.060/0.740/0.620/0.610/0.440 - - - xy unitless 1 #========================================================================= # --- Sector-wise day-of-week scale factors for CEDSv2 --- # These scale factors could potentially be used for other global base emissions if modified accordingly. #========================================================================= 706 DOW_ENERGY 0.850/1.060/1.060/1.060/1.060/1.060/0.850 - - - xy unitless 1 707 DOW_INDUSTRY 0.800/1.080/1.080/1.080/1.080/1.080/0.800 - - - xy unitless 1 709 DOW_RESIDENTIAL 0.800/1.080/1.080/1.080/1.080/1.080/0.800 - - - xy unitless 1 711 DOW_TRANSPORT 0.790/1.020/1.060/1.080/1.100/1.140/0.810 - - - xy unitless 1 )))CEDSv2 ### END SECTION SCALE FACTORS ### ############################################################################### ### BEGIN SECTION MASKS ############################################################################### # ScalID Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Oper Lon1/Lat1/Lon2/Lat2 (((EMISSIONS #============================================================================== # Country/region masks #============================================================================== (((APEI 1002 CANADA_MASK $ROOT/MASKS/v2018-09/Canada_mask.geos.1x1.nc MASK 2000/1/1/0 C xy 1 1 -141/40/-52/85 )))APEI (((NEI2016_MONMEAN 1007 CONUS_MASK $ROOT/MASKS/v2018-09/CONUS_Mask.01x01.nc MASK 2000/1/1/0 C xy 1 1 -140/20/-50/60 )))NEI2016_MONMEAN (((DICE_Africa 1008 AFRICA_MASK $ROOT/MASKS/v2018-09/AF_LANDMASK.geos.05x0666.global.nc LANDMASK 1985/1/1/0 C xy 1 1 -20/-37/54/40 )))DICE_Africa 1009 CHINA_MASK $ROOT/MASKS/v2018-09/China_mask.generic.1x1.nc MASK 2000/1/1/0 C xy 1 1 70/10/150/60 (((AFCID 1010 INDIA_MASK $ROOT/MASKS/v2019-05/India_mask.generic.1x1.nc MASK 2000/1/1/0 C xy 1 1 67/7/99/39 )))AFCID )))EMISSIONS ### END SECTION MASKS ### ### END OF HEMCO INPUT FILE ### #EOC ================================================ FILE: run/CESM/HISTORY.rc ================================================ ############################################################################### ### HISTORY.rc file for GEOS-Chem full chemistry simulations ### ### Contact: GEOS-Chem Support Team (geos-chem-support@g.harvard.edu) ### ############################################################################### #============================================================================ # This HISTORY.rc file is specific for running GEOS-Chem within the # Community Earth System Model (CESM) # # There are two steps to configure GEOS-Chem "History" diagnostics in CESM: # # 1) Uncomment the names of the diagnostics you wish to output in this file. # Make sure the collections they are included in are also uncommented in the # COLLECTIONS list at the top of the file. # # 2) Write the names of the diagnostics you wish to output into the 'finclX' # namelist variable in CESM case file 'user_nl_cam'. Use that file instead # of this one to configure averaging/instantaneous, frequency, duration, # and other collection features in the same way as other CESM outputs. # # Important notes: # # 1) Collection name, frequency, duration, and mode in this file are ignored. # CESM diagnostic collections and their attributes must be specified in # file 'user_nl_cam' within the CESM case directory. # # 2) Mixing ratio diagnostics are always available without using this file. # For example, you may output ozone mixing ratio by specifying # 'O3' in CESM file 'user_nl_cam' rather than 'SpeciesConcVV_O3'. # The SpeciesConc collection is therefore excluded. Note that the CESM # mixing ratio diagnostics are computed from State_Chm%Species(N)%Conc # rather than State_Diag%SpeciesConc. # # 3) Diagnostic name wildcards (e.g. ?ADV?) are NOT available for use in CESM. # All diagnostic tags, such as 'O2' in 'JVAL_O2', must be written out # explicitly. # # 4) Many physical/chemical processes in CESM are handled outside of GEOS-Chem, # such as wet deposition and advection. GEOS-Chem diagnostics computed in # those components are therefore not available and are excluded in this file. # #============================================================================ #============================================================================ # EXPID allows you to specify the beginning of the file path corresponding # to each diagnostic collection. For example: # # EXPID: ./GEOSChem # Will create netCDF files whose names begin "GEOSChem", # in this run directory. # # EXPID: ./OutputDir/GEOSChem # Will create netCDF files whose names begin with "GEOSChem" # in the OutputDir sub-folder of this run directory. # #============================================================================ EXPID: ./IGNORED_USE_user_nl_cam #============================================================================== # %%%%% COLLECTION NAME DECLARATIONS %%%%% # # To enable a collection, remove the "#" character in front of its name. The # Restart collection should always be turned on. # # NOTE: These are the "default" collections for GEOS-Chem, but you can create # your own customized diagnostic collections as well. #============================================================================== COLLECTIONS: 'Metrics', #'AerosolMass', #'Aerosols', #'Budget', ##'ConcAboveSfc', #'ConcAfterChem', #'DryDep', 'JValues', #'KppDiags', #'KppARDiags', 'ProdLoss', #'RxnRates', #'RxnConst', 'StateChm', #'StateMet', #'StateMetLevEdge', #'StratBM', #'UVFlux', :: ############################################################################### ### The rest of this file consists of collection definitions. ### ### Above collections whose declarations are commented out will be ignored. ### ### Make sure that each collection definition, as well as the list of ### ### collections above, ends with a double-colon ("::"). ### ############################################################################### #============================================================================== # %%%%% Metrics %%%%% # # Diagnostics for chemistry metrics such as global mean OH concentration, # MCF lifetime, and CH4 lifetime. # # This diagnostic collection should always be left on. # Use the run-directory script ./metrics_fullchem.py to print results. # # Available for full-chemistry and CH4 simulations only. #============================================================================== Metrics.template: '%y4%m2%d2_%h2%n2z.nc4', Metrics.frequency: {FREQUENCY} Metrics.duration: {DURATION} Metrics.mode: 'time-averaged' Metrics.fields: 'AirMassColumnFull ', 'LossOHbyCH4columnTrop ', 'LossOHbyMCFcolumnTrop ', 'OHwgtByAirMassColumnFull ', :: #============================================================================== # %%%%% AerosolMass %%%%% # # Aerosol and PM2.5 mass #============================================================================== AerosolMass.template: '%y4%m2%d2_%h2%n2z.nc4', AerosolMass.frequency: {FREQUENCY} AerosolMass.duration: {DURATION} AerosolMass.mode: 'time-averaged' AerosolMass.fields: 'AerMassASOA ', 'AerMassBC ', 'AerMassINDIOL ', 'AerMassLVOCOA ', 'AerMassNH4 ', 'AerMassNIT ', 'AerMassOPOA ', 'AerMassPOA ', 'AerMassSAL ', 'AerMassSO4 ', 'AerMassSOAGX ', 'AerMassSOAIE ', 'AerMassTSOA ', 'BetaNO ', #'PM25 ', # duplicate name in CESM 'TotalBiogenicOA ', 'TotalOA ', 'TotalOC ', :: #============================================================================== # %%%%% Aerosols %%%%% # # Aerosol optical depth, surface area, number density, and hygroscopic growth #============================================================================== Aerosols.template: '%y4%m2%d2_%h2%n2z.nc4', Aerosols.frequency: {FREQUENCY} Aerosols.duration: {DURATION} Aerosols.mode: 'time-averaged' Aerosols.fields: 'AODHygWL1_SO4 ', 'AODHygWL1_BCPI ', 'AODHygWL1_OCPI ', 'AODHygWL1_SALA ', 'AODHygWL1_SALC ', 'AODDust ', 'AODDustWL1_bin1 ', 'AODDustWL1_bin2 ', 'AODDustWL1_bin3 ', 'AODDustWL1_bin4 ', 'AODDustWL1_bin5 ', 'AODDustWL1_bin6 ', 'AODDustWL1_bin7 ', 'AODSOAfromAqIsopreneWL1 ', 'AODStratLiquidAerWL1 ', 'AODPolarStratCloudWL1 ', 'AerHygroscopicGrowth_SO4 ', 'AerHygroscopicGrowth_BCPI ', 'AerHygroscopicGrowth_OCPI ', 'AerHygroscopicGrowth_SALA ', 'AerHygroscopicGrowth_SALC ', 'AerNumDensityStratLiquid ', 'AerNumDensityStratParticulate ', 'AerAqueousVolume ', 'AerSurfAreaDust ', 'AerSurfAreaHyg_SO4 ', 'AerSurfAreaHyg_BCPI ', 'AerSurfAreaHyg_OCPI ', 'AerSurfAreaHyg_SALA ', 'AerSurfAreaHyg_SALC ', 'AerSurfAreaStratLiquid ', 'AerSurfAreaPolarStratCloud ', 'Chem_AeroAreaMDUST1 ', 'Chem_AeroAreaMDUST2 ', 'Chem_AeroAreaMDUST3 ', 'Chem_AeroAreaMDUST4 ', 'Chem_AeroAreaMDUST5 ', 'Chem_AeroAreaMDUST6 ', 'Chem_AeroAreaMDUST7 ', 'Chem_AeroAreaSULF ', 'Chem_AeroAreaBC ', 'Chem_AeroAreaOC ', 'Chem_AeroAreaSSA ', 'Chem_AeroAreaSSC ', 'Chem_AeroAreaBGSULF ', 'Chem_AeroAreaICEI ', 'Chem_AeroRadiMDUST1 ', 'Chem_AeroRadiMDUST2 ', 'Chem_AeroRadiMDUST3 ', 'Chem_AeroRadiMDUST4 ', 'Chem_AeroRadiMDUST5 ', 'Chem_AeroRadiMDUST6 ', 'Chem_AeroRadiMDUST7 ', 'Chem_AeroRadiSULF ', 'Chem_AeroRadiBC ', 'Chem_AeroRadiOC ', 'Chem_AeroRadiSSA ', 'Chem_AeroRadiSSC ', 'Chem_AeroRadiBGSULF ', 'Chem_AeroRadiICEI ', 'Chem_WetAeroAreaMDUST1 ', 'Chem_WetAeroAreaMDUST2 ', 'Chem_WetAeroAreaMDUST3 ', 'Chem_WetAeroAreaMDUST4 ', 'Chem_WetAeroAreaMDUST5 ', 'Chem_WetAeroAreaMDUST6 ', 'Chem_WetAeroAreaMDUST7 ', 'Chem_WetAeroAreaSULF ', 'Chem_WetAeroAreaBC ', 'Chem_WetAeroAreaOC ', 'Chem_WetAeroAreaSSA ', 'Chem_WetAeroAreaSSC ', 'Chem_WetAeroAreaBGSULF ', 'Chem_WetAeroAreaICEI ', 'Chem_WetAeroRadiMDUST1 ', 'Chem_WetAeroRadiMDUST2 ', 'Chem_WetAeroRadiMDUST3 ', 'Chem_WetAeroRadiMDUST4 ', 'Chem_WetAeroRadiMDUST5 ', 'Chem_WetAeroRadiMDUST6 ', 'Chem_WetAeroRadiMDUST7 ', 'Chem_WetAeroRadiSULF ', 'Chem_WetAeroRadiBC ', 'Chem_WetAeroRadiOC ', 'Chem_WetAeroRadiSSA ', 'Chem_WetAeroRadiSSC ', 'Chem_WetAeroRadiBGSULF ', 'Chem_WetAeroRadiICEI ', 'Chem_StatePSC ', 'Chem_KhetiSLAN2O5H2O ', 'Chem_KhetiSLAN2O5HCl ', 'Chem_KhetiSLAClNO3H2O ', 'Chem_KhetiSLAClNO3HCl ', 'Chem_KhetiSLAClNO3HBr ', 'Chem_KhetiSLABrNO3H2O ', 'Chem_KhetiSLABrNO3HCl ', 'Chem_KhetiSLAHOClHCl ', 'Chem_KhetiSLAHOClHBr ', 'Chem_KhetiSLAHOBrHCl ', 'Chem_KhetiSLAHOBrHBr ', :: #============================================================================== # %%%%% Budget %%%%% # # GEOS-Chem budget diagnostics defined as species kg/s in the column # (full, troposphere, or PBL) due to a single component (e.g. chemistry) # This diagnostic is avaiable for all advected species. #============================================================================== Budget.template: '%y4%m2%d2_%h2%n2z.nc4', Budget.frequency: {FREQUENCY} Budget.duration: {DURATION} Budget.mode: 'time-averaged' Budget.fields: 'BudgetChemistryFull_O3 ', 'BudgetChemistryTrop_O3 ', 'BudgetChemistryPBL_O3 ', 'BudgetChemistryLevs1to35_O3 ', :: #============================================================================== # %%%%% ConcAboveSfc %%%%% # # Concentrations of O3 and HNO3 at a user-specified altitude above # the surface, such as 10m. Set the desired output altitude in meters # in the deposition settings in geoschem_config.yml. # # NOTES: # (1) This collection requires dry deposition to be turned on. # (2) All of the fields in the collection must be turned on. # (3) This collection is best used with mode "instantaneous". #============================================================================== ConcAboveSfc.template: '%y4%m2%d2_%h2%n2z.nc4', ConcAboveSfc.frequency: {FREQUENCY} ConcAboveSfc.duration: {DURATION} ConcAboveSfc.mode: 'instantaneous' ConcAboveSfc.fields: 'DryDepRaALT1 ', 'DryDepVelForALT1_O3 ', 'DryDepVelForALT1_HNO3 ', 'SpeciesConcALT1_O3 ', 'SpeciesConcALT1_HNO3 ', :: #============================================================================== # %%%%% ConcAfterChem %%%%% # # Concentrations of OH, HO2, O1D, O3P immediately after exiting the KPP solver # or OH after the CH4 specialty-simulation chemistry routine. # # OH: Available for all full-chemistry simulations and CH4 specialty sim # HO2: Available for all full-chemistry simulations # O1D, O3P: Availalbe for full-chemistry simulations using UCX mechanism #============================================================================== ConcAfterChem.template: '%y4%m2%d2_%h2%n2z.nc4', ConcAfterChem.frequency: {FREQUENCY} ConcAfterChem.duration: {DURATION} ConcAfterChem.mode: 'time-averaged' ConcAfterChem.fields: 'OHconcAfterChem ', 'HO2concAfterChem ', 'O1DconcAfterChem ', 'O3PconcAfterChem ', :: #============================================================================== # %%%%% JValues %%%%% # # Photolysis rates (from the photolysis module) #============================================================================== JValues.template: '%y4%m2%d2_%h2%n2z.nc4', JValues.frequency: {FREQUENCY} JValues.duration: {DURATION} JValues.mode: 'time-averaged' JValues.fields: 'JvalO3O3P ', 'JvalO3O1D ', 'Jval_ACET ', 'Jval_ALD2 ', 'Jval_APINP ', 'Jval_ATOOH ', 'Jval_BALD ', 'Jval_BENZP ', 'Jval_BPINOOH ', 'Jval_BPINP ', 'Jval_Br2 ', 'Jval_BrCl ', 'Jval_BrNO3 ', 'Jval_BrNO2 ', 'Jval_BrO ', 'Jval_BZCO3H ', 'Jval_C96O2H ', 'Jval_CCl4 ', 'Jval_CFC11 ', 'Jval_CFC12 ', 'Jval_CFC113 ', 'Jval_CFC114 ', 'Jval_CFC115 ', 'Jval_CH2Br2 ', 'Jval_CH2Cl2 ', 'Jval_CH2I2 ', 'Jval_CH2IBr ', 'Jval_CH2ICl ', 'Jval_CH2O ', 'Jval_CH3Br ', 'Jval_CH3Cl ', 'Jval_CH3CCl3 ', 'Jval_CH3I ', 'Jval_CHBr3 ', 'Jval_Cl2 ', 'Jval_Cl2O2 ', 'Jval_ClNO2 ', 'Jval_ClNO3 ', 'Jval_ClO ', 'Jval_ClOO ', 'Jval_ETHLN ', 'Jval_ETHP ', 'Jval_ETNO3 ', 'Jval_ETP ', 'Jval_GLYC ', 'Jval_GLYX ', 'Jval_HAC ', 'Jval_H2O2 ', 'Jval_HCFC123 ', 'Jval_HCFC141b ', 'Jval_HCFC142b ', 'Jval_HCFC22 ', 'Jval_H1211 ', 'Jval_H1301 ', 'Jval_H2402 ', 'Jval_HMHP ', 'Jval_HNO2 ', 'Jval_HNO3 ', 'Jval_HNO4 ', 'Jval_HOBr ', 'Jval_HOCl ', 'Jval_HONIT ', 'Jval_HOI ', 'Jval_HPALD1 ', 'Jval_HPALD2 ', 'Jval_HPALD3 ', 'Jval_HPALD4 ', 'Jval_HPETHNL ', 'Jval_I2 ', 'Jval_I2O2 ', 'Jval_I2O3 ', 'Jval_I2O4 ', 'Jval_IBr ', 'Jval_ICl ', 'Jval_ICN ', 'Jval_ICPDH ', 'Jval_IDN ', 'Jval_IDCHP ', 'Jval_IDHDP ', 'Jval_IDHPE ', 'Jval_IHN1 ', 'Jval_IHN2 ', 'Jval_IHN3 ', 'Jval_IHN4 ', 'Jval_INO ', 'Jval_INPB ', 'Jval_INPD ', 'Jval_ITCN ', 'Jval_ITHN ', 'Jval_IO ', 'Jval_IONO ', 'Jval_IONO2 ', 'Jval_IPRNO3 ', 'Jval_LIMAL ', 'Jval_LIMO2H ', 'Jval_LIMO3H ', 'Jval_MACR ', 'Jval_MACR1OOH ', 'Jval_MAP ', 'Jval_MCRENOL ', 'Jval_MCRHN ', 'Jval_MCRHNB ', 'Jval_MCRHP ', 'Jval_MEK ', 'Jval_MENO3 ', 'Jval_MGLY ', 'Jval_MVK ', 'Jval_MP ', 'Jval_MPN ', 'Jval_MONITS ', 'Jval_MONITU ', 'Jval_MVKHC ', 'Jval_MVKHCB ', 'Jval_MVKHP ', 'Jval_MVKN ', 'Jval_MVKPC ', 'Jval_N2O ', 'Jval_N2O5 ', 'Jval_NIT ', 'Jval_NITs ', 'Jval_NO ', 'Jval_NO2 ', 'Jval_NO3 ', 'Jval_NPHEN ', 'Jval_NPRNO3 ', 'Jval_O2 ', 'Jval_O3 ', 'Jval_OClO ', 'Jval_OCS ', 'Jval_OIO ', 'Jval_PAN ', 'Jval_PINAL ', 'Jval_PINO3H ', 'Jval_PINONIC ', 'Jval_PIP ', 'Jval_PP ', 'Jval_PPN ', 'Jval_PROPNN ', 'Jval_PRPN ', 'Jval_PYAC ', 'Jval_R4P ', 'Jval_R4N2 ', 'Jval_RA3P ', 'Jval_RB3P ', 'Jval_RCHO ', 'Jval_RIPA ', 'Jval_RIPB ', 'Jval_RIPC ', 'Jval_RIPD ', 'Jval_RP ', 'Jval_SO4 ', :: #============================================================================== # %%%%% UVFlux %%%%% # # UV fluxes (from the photolysis module) #============================================================================== UVFlux.template: '%y4%m2%d2_%h2%n2z.nc4', UVFlux.frequency: {FREQUENCY} UVFlux.duration: {DURATION} UVFlux.mode: 'time-averaged' UVFlux.fields: 'UVFluxNet_574nm ', 'UVFluxNet_380nm ', 'UVFluxNet_333nm ', 'UVFluxNet_316nm ', 'UVFluxNet_310nm ', 'UVFluxNet_303nm ', 'UVFluxNet_295nm ', 'UVFluxNet_277nm ', 'UVFluxNet_267nm ', 'UVFluxNet_261nm ', 'UVFluxNet_214nm ', 'UVFluxNet_211nm ', 'UVFluxNet_208nm ', 'UVFluxNet_202nm ', 'UVFluxNet_196nm ', 'UVFluxNet_193nm ', 'UVFluxNet_191nm ', 'UVFluxNet_187nm ', 'UVFluxDirect_574nm ', 'UVFluxDirect_380nm ', 'UVFluxDirect_333nm ', 'UVFluxDirect_316nm ', 'UVFluxDirect_310nm ', 'UVFluxDirect_303nm ', 'UVFluxDirect_295nm ', 'UVFluxDirect_277nm ', 'UVFluxDirect_267nm ', 'UVFluxDirect_261nm ', 'UVFluxDirect_214nm ', 'UVFluxDirect_211nm ', 'UVFluxDirect_208nm ', 'UVFluxDirect_202nm ', 'UVFluxDirect_196nm ', 'UVFluxDirect_193nm ', 'UVFluxDirect_191nm ', 'UVFluxDirect_187nm ', 'UVFluxDiffuse_574nm ', 'UVFluxDiffuse_380nm ', 'UVFluxDiffuse_333nm ', 'UVFluxDiffuse_316nm ', 'UVFluxDiffuse_310nm ', 'UVFluxDiffuse_303nm ', 'UVFluxDiffuse_295nm ', 'UVFluxDiffuse_277nm ', 'UVFluxDiffuse_267nm ', 'UVFluxDiffuse_261nm ', 'UVFluxDiffuse_214nm ', 'UVFluxDiffuse_211nm ', 'UVFluxDiffuse_208nm ', 'UVFluxDiffuse_202nm ', 'UVFluxDiffuse_196nm ', 'UVFluxDiffuse_193nm ', 'UVFluxDiffuse_191nm ', 'UVFluxDiffuse_187nm ', :: #============================================================================== # %%%%% KppDiags %%%%% # # Diagnostics from the KPP solver. #============================================================================== KppDiags.template: '%y4%m2%d2_%h2%n2z.nc4', KppDiags.frequency: {FREQUENCY} KppDiags.duration: {DURATION} KppDiags.mode: 'time-averaged' KppDiags.fields: 'KppIntCounts ', 'KppJacCounts ', 'KppTotSteps ', 'KppAccSteps ', 'KppRejSteps ', 'KppLuDecomps ', 'KppSubsts ', 'KppSmDecomps ', #'KppNegatives ', #'KppNegatives0 ', 'KppTime ', :: #============================================================================== # %%%%% KppARDiags %%%%% # # Diagnostics from the KPP solver when auto-reduction solver is used. #============================================================================== KppARDiags.template: '%y4%m2%d2_%h2%n2z.nc4', KppARDiags.frequency: {FREQUENCY} KppARDiags.duration: {DURATION} KppARDiags.mode: 'time-averaged' KppARDiags.fields: 'KppAutoReducerNVAR ', 'KppAutoReduceThres ', 'KppcNONZERO ', :: #============================================================================== # %%%%% ProdLoss %%%%% # # Chemical production and loss rates #============================================================================== ProdLoss.template: '%y4%m2%d2_%h2%n2z.nc4', ProdLoss.frequency: {FREQUENCY} ProdLoss.duration: {DURATION} ProdLoss.mode: 'time-averaged' ProdLoss.fields: 'Prod_Ox ', 'Prod_SO4 ', 'Prod_CO ', 'Prod_H2O2 ', 'Loss_CH4 ', 'Loss_CO ', 'Loss_Ox ', 'ProdBCPIfromBCPO ', 'ProdOCPIfromOCPO ', 'ProdSO4fromH2O2inCloud ', 'ProdSO4fromO2inCloudMetal ', 'ProdSO4fromO3inCloud ', 'ProdSO4fromO3inSeaSalt ', 'ProdSO4fromHOBrInCloud ', 'ProdSO4fromSRO3 ', 'ProdSO4fromSRHObr ', 'ProdSO4fromO3s ', 'LossHNO3onSeaSalt ', 'ProdCOfromCH4 ', 'ProdCOfromNMVOC ', :: #============================================================================== # %%%%% RxnRates %%%%% # # Archives chemical reaction rates from the KPP solver. # It is best to list individual reactions to avoid using too much memory. # Reactions should be listed as "RxnRate_EQnnnn", where nnnn is the reaction # index as listed in KPP/fullchem/gckpp_Monitor.F90 (pad zeroes as needed). #============================================================================== RxnRates.template: '%y4%m2%d2_%h2%n2z.nc4', RxnRates.frequency: {FREQUENCY} RxnRates.duration: {DURATION} RxnRates.mode: 'time-averaged' RxnRates.fields: 'RxnRate_EQ0001 ', 'RxnRate_EQ0002 ', :: #============================================================================== # %%%%% RxnConst %%%%% # # Archives chemical reaction rates constants from the KPP solver. # It is best to list individual reactions to avoid using too much memory. # Reactions should be listed as "RxnConst_EQnnnn", where nnnn is the reaction # index as listed in KPP/fullchem/gckpp_Monitor.F90 (pad zeroes as needed). # # The units of reaction rate constants vary according to the number of reactants # in the reaction. #============================================================================== RxnConst.template: '%y4%m2%d2_%h2%n2z.nc4', RxnConst.frequency: {FREQUENCY} RxnConst.duration: {DURATION} RxnConst.mode: 'time-averaged' RxnConst.fields: 'RxnConst_EQ0001 ', 'RxnConst_EQ0002 ', :: #============================================================================== # %%%%% StateChm %%%%% # # Fields of the State_Chm object (see also Aerosols collection) #============================================================================== StateChm.template: '%y4%m2%d2_%h2%n2z.nc4', StateChm.frequency: {FREQUENCY} StateChm.duration: {DURATION} StateChm.mode: 'time-averaged' StateChm.fields: 'Chem_IsorropAeropHAccum ', 'Chem_IsorropAeropHCoarse ', 'Chem_IsorropHplusAccum ', 'Chem_IsorropHplusCoarse ', 'Chem_IsorropAeroH2OAccum ', 'Chem_IsorropAeroH2OCoarse ', 'Chem_IsorropSulfate ', 'Chem_IsorropNitrateAccum ', 'Chem_IsorropNitrateCoarse ', 'Chem_IsorropChlorideAccum ', 'Chem_IsorropChlorideCoarse ', 'Chem_IsorropBisulfate ', 'Chem_pHCloud ', 'Chem_isCloud ', 'Chem_SSAlkAccumMode ', 'Chem_SSAlkCoarseMode ', 'Chem_HSO3AQ ', 'Chem_SO3AQ ', 'Chem_fupdateHOBr ', 'Chem_GammaN2O5overall ', 'Chem_GammaN2O5fine ', 'Chem_YieldClNO2fine ', :: #============================================================================== # %%%%% StateMet %%%%% # # Fields of the State_Met object (also see the StateMetLevEdge collection). All # 3D fields are centered in the grid box, i.e. not at level edges. Vertical # dimension size is one more than 3D fields in the StateMetLevEdge collection. #============================================================================== StateMet.template: '%y4%m2%d2_%h2%n2z.nc4', StateMet.frequency: {FREQUENCY} StateMet.duration: {DURATION} StateMet.mode: 'time-averaged' StateMet.fields: 'Met_AD ', 'Met_AIRDEN ', 'Met_AIRVOL ', 'Met_ALBD ', 'Met_AVGW ', 'Met_BXHEIGHT ', 'Met_ChemGridLev ', 'Met_CLDF ', 'Met_CLDFRC ', 'Met_CLDTOPS ', 'Met_CONVDEPTH ', 'Met_DELP ', 'Met_DELPDRY ', 'Met_DQRCU ', 'Met_DQRLSAN ', 'Met_DTRAIN ', 'Met_EFLUX ', 'Met_FLASHDENS ', 'Met_FRCLND ', 'Met_FRLAKE ', 'Met_FRLAND ', 'Met_FRLANDICE ', 'Met_FROCEAN ', 'Met_FRSEAICE ', 'Met_FRSNOW ', 'Met_GWETROOT ', 'Met_GWETTOP ', 'Met_HFLUX ', 'Met_LAI ', 'Met_PARDR ', 'Met_PARDF ', 'Met_PBLTOPL ', 'Met_PBLH ', 'Met_PHIS ', 'Met_PMID ', 'Met_PMIDDRY ', 'Met_PRECANV ', 'Met_PRECCON ', 'Met_PRECLSC ', 'Met_PRECTOT ', 'Met_PS1DRY ', 'Met_PS1WET ', 'Met_PS2DRY ', 'Met_PS2WET ', 'Met_PSC2WET ', 'Met_PSC2DRY ', 'Met_QI ', 'Met_QL ', 'Met_OMEGA ', 'Met_OPTD ', 'Met_REEVAPCN ', 'Met_REEVAPLS ', 'Met_SLP ', 'Met_SNODP ', 'Met_SNOMAS ', 'Met_SPHU ', 'Met_SPHU1 ', 'Met_SPHU2 ', 'Met_SUNCOS ', 'Met_SUNCOSmid ', 'Met_SWGDN ', 'Met_T ', 'Met_TAUCLI ', 'Met_TAUCLW ', 'Met_THETA ', 'Met_TMPU1 ', 'Met_TMPU2 ', 'Met_TO3 ', 'Met_TropHt ', 'Met_TropLev ', 'Met_TropP ', 'Met_TS ', 'Met_TSKIN ', 'Met_TV ', 'Met_U ', 'Met_U10M ', 'Met_USTAR ', 'Met_UVALBEDO ', 'Met_V ', 'Met_V10M ', 'Met_Z0 ', 'FracOfTimeInTrop ', :: #============================================================================== # %%%%% StateMetLevEdge %%%%% # # State_Met arrays that are defined on grid box level edges. Vertical dimension # size is one more than 3D fields in the StateMet collection. #============================================================================== StateMetLevEdge.template: '%y4%m2%d2_%h2%n2z.nc4', StateMetLevEdge.frequency: {FREQUENCY} StateMetLevEdge.duration: {DURATION} StateMetLevEdge.mode: 'time-averaged' StateMetLevEdge.fields: 'Met_CMFMC ', 'Met_PEDGE ', 'Met_PEDGEDRY ', 'Met_PFICU ', 'Met_PFILSAN ', 'Met_PFLCU ', 'Met_PFLLSAN ', :: ================================================ FILE: run/CESM/geoschem_config.yml ================================================ --- ### geoschem_config.yml: GEOS-Chem Runtime configuration options. ### Customized for GCHP simulations using the KPP "fullchem" mechanism. ### ### NOTE: Add quotes around nitrogen oxide ('NO'), because YAML ### parsers will confuse this with a negative "no" value. #============================================================================ # Simulation settings #============================================================================ simulation: name: fullchem start_date: 20000101 000000 end_date: 20000101 010000 chem_inputs_dir: ./ species_database_file: ./species_database.yml verbose: activate: false on_cores: root # Allowed values: root all #============================================================================ # Settings for GEOS-Chem operations #============================================================================ operations: chemistry: activate: true linear_chemistry_aloft: activate: true use_linoz_for_O3: true active_strat_H2O: activate: true use_static_bnd_cond: true gamma_HO2: 0.2 autoreduce_solver: activate: false use_target_threshold: activate: true oh_tuning_factor: 0.00005 no2_tuning_factor: 0.0001 use_absolute_threshold: scale_by_pressure: true absolute_threshold: 100.0 keep_halogens_active: false append_in_internal_timestep: false photolysis: activate: true cloud-j: cloudj_input_dir: /see/namelist/file verbose: false num_levs_with_cloud: 22 cloud_scheme_flag: 3 opt_depth_increase_factor: 1.050 min_top_inserted_cloud_OD: 0.005 cloud_overlap_correlation: 0.33 num_cloud_overlap_blocks: 6 sphere_correction: 1 num_wavelength_bins: 18 use_H2O_UV_absorption: true overhead_O3: use_online_O3_from_model: true use_column_O3_from_met: true use_TOMS_SBUV_O3: false photolyze_nitrate_aerosol: activate: true NITs_Jscale: 100.0 NIT_Jscale: 100.0 percent_channel_A_HONO: 66.667 percent_channel_B_NO2: 33.333 dry_deposition: activate: true CO2_effect: activate: false CO2_level: 600.0 reference_CO2_level: 380.0 diag_alt_above_sfc_in_m: 10 wet_deposition: activate: true pbl_mixing: activate: true use_non_local_pbl: true convection: activate: false rrtmg_rad_transfer_model: activate: false aod_wavelengths_in_nm: - 550 longwave_fluxes: false shortwave_fluxes: false clear_sky_flux: false all_sky_flux: false transport: transported_species: - ACET - ACR - ACTA - AERI - ALD2 - ALK4 - ALK4N2 - ALK4P - ALK6 - AONITA - APAN - APINN - APINP - AROMCHO - AROMP4 - AROMP5 - AROMPN - ASOA1 - ASOA2 - ASOA3 - ASOAN - ASOG1 - ASOG2 - ASOG3 - ATOOH - BALD - BCPI - BCPO - BENZ - BENZP - BPINN - BPINO - BPINON - BPINOOH - BPINP - Br - Br2 - BrCl - BrNO2 - BrNO3 - BrO - BrSALA - BrSALC - BUTDI - BUTN - BZCO3H - BZPAN - C2H2 - C2H4 - C2H6 - C3H8 - C4H6 - C96N - C96O2H - CCl4 - CFC11 - CFC113 - CFC114 - CFC115 - CFC12 - CH2Br2 - CH2Cl2 - CH2I2 - CH2IBr - CH2ICl - CH2O - CH3Br - CH3CCl3 - CH3Cl - CH3I - CH4 - CHBr3 - CHCl3 - Cl - Cl2 - Cl2O2 - ClNO2 - ClNO3 - ClO - ClOO - CLOCK - CO - CSL - DMS - DSTbin1 - DSTbin2 - DSTbin3 - DSTbin4 - DSTbin5 - DSTbin6 - DSTbin7 - EBZ - EOH - ETHLN - ETHN - ETHP - ETNO3 - ETP - FURA - GLYC - GLYX - H1211 - H1301 - H2402 - H2O - H2O2 - HAC - HACTA - HBr - HC5A - HCFC123 - HCFC141b - HCFC142b - HCFC22 - HCl - HCOOH - HI - HMHP - HMML - HMS - HNO2 - HNO3 - HNO4 - HOBr - HOCl - HOI - HONIT - HPALD1 - HPALD2 - HPALD3 - HPALD4 - HPETHNL - I - I2 - I2O2 - I2O3 - I2O4 - IBr - ICHE - ICl - ICN - ICPDH - IDC - IDCHP - IDHDP - IDHPE - IDN - IEPOXA - IEPOXB - IEPOXD - IHN1 - IHN2 - IHN3 - IHN4 - INDIOL - INO - INPB - INPD - IO - IONITA - IONO - IONO2 - IPRNO3 - ISALA - ISALC - ISOP - ITCN - ITHN - LIMAL - LIMKB - LIMKET - LIMN - LIMNB - LIMO - LIMO2H - LIMO3H - LIMPAN - LVOC - LVOCOA - MACR - MACR1OOH - MAP - MCRDH - MCRENOL - MCRHN - MCRHNB - MCRHP - MCT - MEK - MEKPN - MENO3 - MGLY - MOH - MONITA - MONITS - MONITU - MP - MPAN - MPN - MSA - MTPA - MTPO - MVK - MVKDH - MVKHC - MVKHCB - MVKHP - MVKN - MVKPC - MYRCO - N2O - N2O5 - NH3 - NH4 - NIT - NITs - 'NO' - NO2 - NO3 - NPHEN - NPRNO3 - O3 - OClO - OCPI - OCPO - OCS - OIO - PAN - pFe - PHAN - PHEN - PIN - PINAL - PINO3H - PINONIC - PINPAN - PIP - PP - PPN - PROPNN - PRPE - PRPN - PYAC - R4N2 - R4P - R7N2 - R7P - RA3P - RB3P - RCHO - RCOOH - RIPA - RIPB - RIPC - RIPD - RNO3 - RP - SALA - SALAAL - SALACL - SALC - SALCAL - SALCCL - SO2 - SO4 - SO4s - SOAGX - SOAIE - STYR - TLFUONE - TMB - TOLU - TSOA0 - TSOA1 - TSOA2 - TSOA3 - TSOG0 - TSOG1 - TSOG2 - TSOG3 - XYLE #============================================================================ # Settings for GEOS-Chem aerosols #============================================================================ aerosols: optics: input_dir: /see/namelist/file carbon: activate: true brown_carbon: false enhance_black_carbon_absorption: activate: true hydrophilic: 1.5 hydrophobic: 1.0 complex_SOA: activate: true semivolatile_POA: false dust: activate: true acid_uptake_on_dust: false sea_salt: activate: true SALA_radius_bin_in_um: [0.01, 0.5] SALC_radius_bin_in_um: [0.5, 8.0] marine_organic_aerosols: false stratosphere: settle_strat_aerosol: true polar_strat_clouds: activate: true het_chem: true allow_homogeneous_NAT: false NAT_supercooling_req_in_K: 3.0 supersat_factor_req_for_ice_nucl: 1.2 calc_strat_aod: true sulfate: activate: true metal_cat_SO2_oxidation: true ================================================ FILE: run/CESM/util/README ================================================ Use dep_data_file.cdl to generate the netcdf file for inputting Henry's Law coefficients and molectular weights to CESM for use in deposition. This file must be updated every time a new wet or dry deposited species is added to GEOS-Chem. Once created, the netcdf file should be renamed to include GEOS-Chem version number and data created, and then copied to the location set in cam/bld/namelist_files/namelist_defaults_cam.xml. Instructions to using ncgen: ncgen x.cdl # checks syntax ncgen -b x.cdl # writes x.nc ncgen -o y.nc x.cdl # writes y.nc Notes: - Added OX since shr_drydep_mod maps dry deposited species O3 to OX in the deposition file. Parameters for OX are the same as O3. ================================================ FILE: run/CESM/util/dep_data_file.cdl ================================================ netcdf drydep_tables { dimensions: n_species_table = 168; NHen = 6; chars = 16; variables: char species_name_table(n_species_table,chars); species_name_table:long_name = "names of species in dry deposition tables" ; double dfoxd(n_species_table); dfoxd:long_name = "data for foxd (reactivity factor for oxidation)"; double dheff(n_species_table,NHen); dheff:long_name = "data for effective Henry's Law coefficient"; double mol_wghts(n_species_table); mol_wghts:long_name = "species molecular mass"; mol_wghts:units = "grams/mole"; // global attributes: :Created_by = "Elizabeth Lundgren (Harvard University), Haipeng Lin (Harvard University)"; :Source = "GEOS-Chem version 14.3 gas-phase and aerosol dry or wet deposited species"; data: // care has been taken to list gas-phase species first and aerosols (including gaseous SOA) // at the end. species_name_table = "ACET ", "ACTA ", "ALD2 ", "AROMP4 ", "AROMP5 ", "ATOOH ", "BALD ", "BENZP ", "BR2 ", "BRCL ", "BRNO3 ", "BZCO3H ", "BZPAN ", "CH2O ", "CL2 ", "CLNO2 ", "CLNO3 ", "CLO ", "CLOO ", "CSL ", "EOH ", "ETHLN ", "ETHN ", "ETHP ", "ETNO3 ", "ETP ", "FURA ", "GLYC ", "GLYX ", "H2O2 ", "HAC ", "HBR ", "HC5A ", "HCL ", "HCOOH ", "HI ", "HMHP ", "HMML ", "HNO3 ", "HOBR ", "HOCL ", "HOI ", "HONIT ", "HPALD1 ", "HPALD2 ", "HPALD3 ", "HPALD4 ", "HPETHNL ", "I2 ", "I2O2 ", "I2O3 ", "I2O4 ", "IBR ", "ICHE ", "ICL ", "ICN ", "ICPDH ", "IDC ", "IDCHP ", "IDHDP ", "IDHPE ", "IDN ", "IEPOXA ", "IEPOXB ", "IEPOXD ", "IHN1 ", "IHN2 ", "IHN3 ", "IHN4 ", "INPB ", "INPD ", "IONO ", "IONO2 ", "IPRNO3 ", "ITCN ", "ITHN ", "LIMO ", "LVOC ", "LVOCOA ", "MACR ", "MACR1OOH ", "MAP ", "MCRDH ", "MCRENOL ", "MCRHN ", "MCRHNB ", "MCRHP ", "MCT ", "MEK ", "MENO3 ", "MGLY ", "MOH ", "MONITS ", "MONITU ", "MP ", "MPAN ", "MPN ", "MTPA ", "MTPO ", "MVK ", "MVKDH ", "MVKHC ", "MVKHCB ", "MVKHP ", "MVKN ", "MVKPC ", "N2O5 ", "NH3 ", "NO2 ", "NPHEN ", "NPRNO3 ", "O3 ", "OX ", "PAN ", "PHEN ", "PP ", "PPN ", "PROPNN ", "PRPN ", "PRPE ", "PYAC ", "R4N2 ", "R4P ", "RA3P ", "RB3P ", "RIPA ", "RIPB ", "RIPC ", "RIPD ", "RP ", "SO2 ", "AERI ", "AONITA ", "ASOA1 ", "ASOA2 ", "ASOA3 ", "ASOAN ", "ASOG1 ", "ASOG2 ", "ASOG3 ", "BRSALA ", "BRSALC ", "INDIOL ", "IONITA ", "ISALA ", "ISALC ", "MONITA ", "MSA ", "NH4 ", "NIT ", "NITS ", "SALAAL ", "SALACL ", "SALCAL ", "SALCCL ", "SO4 ", "SO4S ", "SOAGX ", "SOAIE ", "TSOA0 ", "TSOA1 ", "TSOA2 ", "TSOA3 ", "TSOG0 ", "TSOG1 ", "TSOG2 ", "TSOG3 ", "PFE " ; // dfoxd (reactivity factor for oxidation) dfoxd = 1. // ACET ,1. // ACTA ,1. // ALD2 ,1. // AROMP4 ,1. // AROMP5 ,1. // ATOOH ,1. // BALD ,1. // BENZP ,1.e-36 // BR2 ,1.e-36 // BRCL ,1.e-36 // BRNO3 ,1. // BZCO3H ,1. // BZPAN ,1. // CH2O ,1.e-36 // CL2 ,1.e-36 // CLNO2 ,1.e-36 // CLNO3 ,1.e-36 // CLO ,1.e-36 // CLOO ,1. // CSL ,1.e-36 // EOH ,1 // ETHLN ,.1 // ETHN ,.1 // ETHP ,.1 // ETNO3 ,1. // ETP ,1. // FURA ,1. // GLYC ,1. // GLYX ,1. // H2O2 ,1. // HAC ,1.e-36 // HBR ,1.e-36 // HC5A ,1.e-36 // HCL ,1. // HCOOH ,1.e-36 // HI ,1. // HMHP ,1. // HMML ,1.e-36 // HNO3 ,1.e-36 // HOBR ,1.e-36 // HOCL ,1.e-36 // HOI ,1. // HONIT ,1.e-36 // HPALD1 ,1.e-36 // HPALD2 ,1.e-36 // HPALD3 ,1.e-36 // HPALD4 ,1. // HPETHNL ,1.e-36 // I2 ,1.e-36 // I2O2 ,1.e-36 // I2O3 ,1.e-36 // I2O4 ,1.e-36 // IBR ,1. // ICHE ,1.e-36 // ICL ,1. // ICN ,1. // ICPDH ,1.e-36 // IDC ,1. // IDCHP ,1. // IDHDP ,1. // IDHPE ,1. // IDN ,1. // IEPOXA ,1. // IEPOXB ,1. // IEPOXD ,1. // IHN1 ,1. // IHN2 ,1. // IHN3 ,1. // IHN4 ,1. // INPB ,1. // INPD ,1.e-36 // IONO ,1.e-36 // IONO2 ,.1 // IPRNO3 ,1. // ITCN ,1. // ITHN ,1.e-36 // LIMO ,1. // LVOC ,1.e-36 // LVOCOA ,1 // MACR ,1 // MACR1OOH ,1 // MAP ,1 // MCRDH ,1 // MCRENOL ,1 // MCRHN ,1 // MCRHNB ,1 // MCRHP ,1 // MCT ,1.e-36 // MEK ,.1 // MENO3 ,1. // MGLY ,1. // MOH ,1. // MONITS ,1. // MONITU ,1.e-36 // MP ,1. // MPAN ,1.e-36 // MPN ,1.e-36 // MTPA ,1.e-36 // MTPO ,1. // MVK ,1. // MVKDH ,1. // MVKHC ,1. // MVKHCB ,1. // MVKHP ,1. // MVKN ,1. // MVKPC ,1.e-36 // N2O5 ,1.e-36 // NH3 ,.1 // NO2 ,1. // NPHEN ,.1 // NPRNO3 ,1. // O3 ,1. // OX ,1. // PAN ,1. // PHEN ,1. // PP ,1. // PPN ,1. // PROPNN ,1.e-36 // PRPE ,1. // PRPN ,1. // PYAC ,1. // R4N2 ,1. // R4P ,1. // RA3P ,1. // RB3P ,1. // RIPA ,1. // RIPB ,1. // RIPC ,1. // RIPD ,1. // RP ,1.e-36 // SO2 ,1.e-36 // AERI ,1.e-36 // AONITA ,1.e-36 // ASOA1 ,1.e-36 // ASOA2 ,1.e-36 // ASOA3 ,1.e-36 // ASOAN ,1.e-36 // ASOG1 ,1.e-36 // ASOG2 ,1.e-36 // ASOG3 ,1.e-36 // BRSALA ,1.e-36 // BRSALC ,1.e-36 // INDIOL ,1.e-36 // IONITA ,1.e-36 // ISALA ,1.e-36 // ISALC ,1.e-36 // MONITA ,1.e-36 // MSA ,1.e-36 // NH4 ,1.e-36 // NIT ,1.e-36 // NITS ,1.e-36 // SALAAL ,1.e-36 // SALACL ,1.e-36 // SALCAL ,1.e-36 // SALCCL ,1.e-36 // SO4 ,1.e-36 // SO4S ,1.e-36 // SOAGX ,1.e-36 // SOAIE ,1.e-36 // TSOA0 ,1.e-36 // TSOA1 ,1.e-36 // TSOA2 ,1.e-36 // TSOA3 ,1.e-36 // TSOG0 ,1.e-36 // TSOG1 ,1.e-36 // TSOG2 ,1.e-36 // TSOG3 ,1.e-36 ; // PFE // dheff: Effective Henry Law coefficients. // Use species_database.yml: Henry_K0, Henry_CR, 0., 0., 0., 0., // According to Fritz et al. (GMD 2022), aerosols not found will use // coefficients from HNO3. dheff = 27.399999618530273 , 5500.0, 0., 0., 0., 0., // ACET 4050.0000000000000 , 6200.0, 0., 0., 0., 0., // ACTA 13.199999809265137 , 5900.0, 0., 0., 0., 0., // ALD2 410000.00000000000 , 7500.0, 0., 0., 0., 0., // AROMP4 2000000.0000000000 , 7500.0, 0., 0., 0., 0., // AROMP5 294.00000000000000 , 5200.0, 0., 0., 0., 0., // ATOOH 38.000000000000000 , 5500.0, 0., 0., 0., 0., // BALD 2900.0000000000000 , 6800.0, 0., 0., 0., 0., // BENZP 0.75999999046325684 , 3720.0, 0., 0., 0., 0., // BR2 0.97000002861022949 , 5600.0, 0., 0., 0., 0., // BRCL 0.00000000000000 , 0.0, 0., 0., 0., 0., // BRNO3 24000.000000000000 , 0.0, 0., 0., 0., 0., // BZCO3H 70.000000000000000 , 4600.0, 0., 0., 0., 0., // BZPAN 3240.0000000000000 , 6800.0, 0., 0., 0., 0., // CH2O 9.2000000178813934E-002 , 2000.0, 0., 0., 0., 0., // CL2 0.00000000000000 , 0.0, 0., 0., 0., 0., // CLNO2 1.0000000200408773E+020 , 0.0, 0., 0., 0., 0., // CLNO3 0.00000000000000 , 0.0, 0., 0., 0., 0., // CLO 1.0000000000000000 , 3500.0, 0., 0., 0., 0., // CLOO 420.00000000000000 , 8500.0, 0., 0., 0., 0., // CSL 193.00000000000000 , 6400.0, 0., 0., 0., 0., // EOH 17000.000000000000 , 9200.0, 0., 0., 0., 0., // ETHLN 39000.000000000000 , 8600.0, 0., 0., 0., 0., // ETHN 650000.00000000000 , 8800.0, 0., 0., 0., 0., // ETHP 1.6000000238418579 , 5400.0, 0., 0., 0., 0., // ETNO3 334.00000000000000 , 6000.0, 0., 0., 0., 0., // ETP 1.8000000000000000E-001 , 6100.0, 0., 0., 0., 0., // FURA 41500.000000000000 , 4600.0, 0., 0., 0., 0., // GLYC 415000.00000000000 , 7500.0, 0., 0., 0., 0., // GLYX 83000.000000000000 , 7400.0, 0., 0., 0., 0., // H2O2 7800.0000000000000 , 0.0, 0., 0., 0., 0., // HAC 71000003706880.000 , 10200.0, 0., 0., 0., 0., // HBR 7800.0000000000000 , 0.0, 0., 0., 0., 0., // HC5A 62999998464.000000 , 9000.0, 0., 0., 0., 0., // HCL 8920.0000000000000 , 6100.0, 0., 0., 0., 0., // HCOOH 74299998208000.000 , 3187.2, 0., 0., 0., 0., // HI 1300000.0000000000 , 5200.0, 0., 0., 0., 0., // HMHP 120000.00000000000 , 7200.0, 0., 0., 0., 0., // HMML 83000.000000000000 , 7400.0, 0., 0., 0., 0., // HNO3 1300.0000000000000 , 4000.0, 0., 0., 0., 0., // HOBR 650.00000000000000 , 5900.0, 0., 0., 0., 0., // HOCL 15400.000000000000 , 8371.0, 0., 0., 0., 0., // HOI 26900000931840.000 , 5487.0, 0., 0., 0., 0., // HONIT 40000.000000000000 , 0.0, 0., 0., 0., 0., // HPALD1 40000.000000000000 , 0.0, 0., 0., 0., 0., // HPALD2 40000.000000000000 , 0.0, 0., 0., 0., 0., // HPALD3 40000.000000000000 , 0.0, 0., 0., 0., 0., // HPALD4 41000.000000000000 , 4600.0, 0., 0., 0., 0., // HPETHNL 2.7000000476837158 , 7507.4, 0., 0., 0., 0., // I2 1.0000000200408773E+020 , 18900.0, 0., 0., 0., 0., // I2O2 1.0000000200408773E+020 , 13400.0, 0., 0., 0., 0., // I2O3 1.0000000200408773E+020 , 13400.0, 0., 0., 0., 0., // I2O4 24.000000000000000 , 4916.7, 0., 0., 0., 0., // IBR 80000000.000000000 , 0.0, 0., 0., 0., 0., // ICHE 111.00000000000000 , 2105.5, 0., 0., 0., 0., // ICL 17000.000000000000 , 9200.0, 0., 0., 0., 0., // ICN 100000000.00000000 , 7200.0, 0., 0., 0., 0., // ICPDH 40000.000000000000 , 0.0, 0., 0., 0., 0., // IDC 100000000.00000000 , 7200.0, 0., 0., 0., 0., // IDCHP 100000000.00000000 , 7200.0, 0., 0., 0., 0., // IDHDP 100000000.00000000 , 7200.0, 0., 0., 0., 0., // IDHPE 100000000.00000000 , 7200.0, 0., 0., 0., 0., // IDN 80000000.000000000 , 0.0, 0., 0., 0., 0., // IEPOXA 80000000.000000000 , 0.0, 0., 0., 0., 0., // IEPOXB 80000000.000000000 , 0.0, 0., 0., 0., 0., // IEPOXD 17000.000000000000 , 9200.0, 0., 0., 0., 0., // IHN1 17000.000000000000 , 9200.0, 0., 0., 0., 0., // IHN2 17000.000000000000 , 9200.0, 0., 0., 0., 0., // IHN3 17000.000000000000 , 9200.0, 0., 0., 0., 0., // IHN4 17000.000000000000 , 9200.0, 0., 0., 0., 0., // INPB 17000.000000000000 , 9200.0, 0., 0., 0., 0., // INPD 0.30000001192092896 , 7240.4, 0., 0., 0., 0., // IONO 1.0000000200408773E+020 , 3980.0, 0., 0., 0., 0., // IONO2 0.79000002145767212 , 5400.0, 0., 0., 0., 0., // IPRNO3 100000000.00000000 , 7200.0, 0., 0., 0., 0., // ITCN 100000000.00000000 , 7200.0, 0., 0., 0., 0., // ITHN 7.0000000298023224E-002 , 0.0, 0., 0., 0., 0., // LIMO 100000000.00000000 , 7200.0, 0., 0., 0., 0., // LVOC 0.00000000000000 , 0.0, 0., 0., 0., 0., // LVOCOA 4.8600001335144043 , 4300.0, 0., 0., 0., 0., // MACR 294.00000000000000 , 5200.0, 0., 0., 0., 0., // MACR1OOH 840.00000000000000 , 5300.0, 0., 0., 0., 0., // MAP 1400000.0000000000 , 7200.0, 0., 0., 0., 0., // MCRDH 294.00000000000000 , 5200.0, 0., 0., 0., 0., // MCRENOL 17000.000000000000 , 9200.0, 0., 0., 0., 0., // MCRHN 17000.000000000000 , 9200.0, 0., 0., 0., 0., // MCRHNB 1400000.0000000000 , 7200.0, 0., 0., 0., 0., // MCRHP 420.00000000000000 , 8500.0, 0., 0., 0., 0., // MCT 18.200000000000000 , 5700.0, 0., 0., 0., 0., // MEK 11.000000000000000 , 4700.0, 0., 0., 0., 0., // MENO3 32400.000000000000 , 6200.0, 0., 0., 0., 0., // MGLY 203.00000000000000 , 5600.0, 0., 0., 0., 0., // MOH 17000.000000000000 , 9200.0, 0., 0., 0., 0., // MONITS 17000.000000000000 , 9200.0, 0., 0., 0., 0., // MONITU 294.00000000000000 , 5200.0, 0., 0., 0., 0., // MP 1.7200000286102295 , 0.0, 0., 0., 0., 0., // MPAN 294.00000000000000 , 5200.0, 0., 0., 0., 0., // MPN 4.8999998718500137E-002 , 0.0, 0., 0., 0., 0., // MTPA 4.8999998718500137E-002 , 0.0, 0., 0., 0., 0., // MTPO 26.299999237060547 , 4800.0, 0., 0., 0., 0., // MVK 1400000.0000000000 , 7200.0, 0., 0., 0., 0., // MVKDH 1400000.0000000000 , 7200.0, 0., 0., 0., 0., // MVKHC 1400000.0000000000 , 7200.0, 0., 0., 0., 0., // MVKHCB 1400000.0000000000 , 7200.0, 0., 0., 0., 0., // MVKHP 17000.000000000000 , 9200.0, 0., 0., 0., 0., // MVKN 1400000.0000000000 , 7200.0, 0., 0., 0., 0., // MVKPC 0.0000000000000000 , 0.0, 0., 0., 0., 0., // N2O5 3300000.0000000000 , 4100.0, 0., 0., 0., 0., // NH3 0.0000000000000000 , 0.0, 0., 0., 0., 0., // NO2 2300.0000000000000 , 0.0, 0., 0., 0., 0., // NPHEN 1.1000000238418579 , 5500.0, 0., 0., 0., 0., // NPRNO3 1.0132499970495701E-002 , 2800.0, 0., 0., 0., 0., // O3 1.0132499970495701E-002 , 2800.0, 0., 0., 0., 0., // OX 2.940000572204590 , 5700.0, 0., 0., 0., 0., // PAN 2800.0000000000000 , 2700.0, 0., 0., 0., 0., // PHEN 294.00000000000000 , 5200.0, 0., 0., 0., 0., // PP 2.9400000572204590 , 0.0, 0., 0., 0., 0., // PPN 1000.0000000000000 , 0.0, 0., 0., 0., 0., // PROPNN 7.4000000000000000E-003 , 3400.0, 0., 0., 0., 0., // PRPE 294.00000000000000 , 5200.0, 0., 0., 0., 0., // PRPN 314000.00000000000 , 5100.0, 0., 0., 0., 0., // PYAC 1.0000000000000000 , 5800.0, 0., 0., 0., 0., // R4N2 294.00000000000000 , 5200.0, 0., 0., 0., 0., // R4P 294.00000000000000 , 5200.0, 0., 0., 0., 0., // RA3P 294.00000000000000 , 5200.0, 0., 0., 0., 0., // RB3P 1700000.0000000000 , 0.0, 0., 0., 0., 0., // RIPA 1700000.0000000000 , 0.0, 0., 0., 0., 0., // RIPB 1700000.0000000000 , 0.0, 0., 0., 0., 0., // RIPC 1700000.0000000000 , 0.0, 0., 0., 0., 0., // RIPD 294.00000000000000 , 5200.0, 0., 0., 0., 0., // RP 1.36e+00, 3100., 1.30e-02, 1960., 6.6e-08, 1500., // SO2 - uses CAM-chem params as GC handling is special 83000.000000000000 , 7400.0, 0., 0., 0., 0., // AERI 2900.0000000000000 , 6800.0, 0., 0., 0., 0., // AONITA 83000.000000000000 , 7400.0, 0., 0., 0., 0., // ASOA1 83000.000000000000 , 7400.0, 0., 0., 0., 0., // ASOA2 83000.000000000000 , 7400.0, 0., 0., 0., 0., // ASOA3 83000.000000000000 , 7400.0, 0., 0., 0., 0., // ASOAN 100000.00000000000 , 6039.0, 0., 0., 0., 0., // ASOG1 100000.00000000000 , 6039.0, 0., 0., 0., 0., // ASOG2 100000.00000000000 , 6039.0, 0., 0., 0., 0., // ASOG3 83000.000000000000 , 7400.0, 0., 0., 0., 0., // BRSALA 83000.000000000000 , 7400.0, 0., 0., 0., 0., // BRSALC 83000.000000000000 , 7400.0, 0., 0., 0., 0., // INDIOL 83000.000000000000 , 7400.0, 0., 0., 0., 0., // IONITA 83000.000000000000 , 7400.0, 0., 0., 0., 0., // ISALA 83000.000000000000 , 7400.0, 0., 0., 0., 0., // ISALC 83000.000000000000 , 7400.0, 0., 0., 0., 0., // MONITA 83000.000000000000 , 7400.0, 0., 0., 0., 0., // MSA 83000.000000000000 , 7400.0, 0., 0., 0., 0., // NH4 83000.000000000000 , 7400.0, 0., 0., 0., 0., // NIT 83000.000000000000 , 7400.0, 0., 0., 0., 0., // NITS 83000.000000000000 , 7400.0, 0., 0., 0., 0., // SALAAL 83000.000000000000 , 7400.0, 0., 0., 0., 0., // SALACL 83000.000000000000 , 7400.0, 0., 0., 0., 0., // SALCAL 83000.000000000000 , 7400.0, 0., 0., 0., 0., // SALCCL 1.36e+00, 3100., 1.30e-02, 1960., 6.6e-08, 1500., // SO4 1.36e+00, 3100., 1.30e-02, 1960., 6.6e-08, 1500., // SO4S 83000.000000000000 , 7400.0, 0., 0., 0., 0., // SOAGX 83000.000000000000 , 7400.0, 0., 0., 0., 0., // SOAIE 83000.000000000000 , 7400.0, 0., 0., 0., 0., // TSOA0 83000.000000000000 , 7400.0, 0., 0., 0., 0., // TSOA1 83000.000000000000 , 7400.0, 0., 0., 0., 0., // TSOA2 83000.000000000000 , 7400.0, 0., 0., 0., 0., // TSOA3 100000.00000000000 , 6039.0, 0., 0., 0., 0., // TSOG0 100000.00000000000 , 6039.0, 0., 0., 0., 0., // TSOG1 100000.00000000000 , 6039.0, 0., 0., 0., 0., // TSOG2 100000.00000000000 , 6039.0, 0., 0., 0., 0., // TSOG3 83000.000000000000 , 7400.0, 0., 0., 0., 0. ; // PFE mol_wghts = ,58.090000000000003 // ACET ,60.060000000000002 // ACTA ,44.060000000000002 // ALD2 ,68.079999999999998 // AROMP4 ,98.099999999999994 // AROMP5 ,90.090000000000003 // ATOOH ,106.12000000000000 // BALD ,110.11000000000000 // BENZP ,159.80000000000001 // BR2 ,115.45000000000000 // BRCL ,141.91000000000000 // BRNO3 ,138.12000000000000 // BZCO3H ,183.12000000000000 // BZPAN ,30.030000000000001 // CH2O ,70.900000000000006 // CL2 ,81.450000000000003 // CLNO2 ,97.450000000000003 // CLNO3 ,51.450000000000003 // CLO ,67.450000000000003 // CLOO ,108.14000000000000 // CSL ,46.070000000000000 // EOH ,105.06000000000000 // ETHLN ,107.06999999999999 // ETHN ,78.069999999999993 // ETHP ,91.079999999999998 // ETNO3 ,62.079999999999998 // ETP ,68.070000000000000 // FURA ,60.060000000000002 // GLYC ,58.039999999999999 // GLYX ,34.020000000000003 // H2O2 ,74.079999999999998 // HAC ,80.909999999999997 // HBR ,100.13000000000000 // HC5A ,36.450000000000003 // HCL ,46.030000000000001 // HCOOH ,127.91000000000000 // HI ,64.049999999999997 // HMHP ,102.09999999999999 // HMML ,63.009999999999998 // HNO3 ,96.909999999999997 // HOBR ,52.450000000000003 // HOCL ,143.88999999999999 // HOI ,215.00000000000000 // HONIT ,116.13000000000000 // HPALD1 ,116.13000000000000 // HPALD2 ,116.13000000000000 // HPALD3 ,116.13000000000000 // HPALD4 ,76.060000000000002 // HPETHNL ,253.80000000000001 // I2 ,285.80000000000001 // I2O2 ,301.80000000000001 // I2O3 ,317.80000000000001 // I2O4 ,206.90000000000001 // IBR ,116.13000000000000 // ICHE ,162.44999999999999 // ICL ,145.13000000000000 // ICN ,150.15000000000001 // ICPDH ,98.109999999999999 // IDC ,148.13000000000000 // IDCHP ,168.16999999999999 // IDHDP ,150.15000000000001 // IDHPE ,192.15000000000001 // IDN ,106.14000000000000 // IEPOXA ,106.14000000000000 // IEPOXB ,106.14000000000000 // IEPOXD ,147.15000000000001 // IHN1 ,147.15000000000001 // IHN2 ,147.15000000000001 // IHN3 ,147.15000000000001 // IHN4 ,163.15000000000001 // INPB ,163.15000000000001 // INPD ,172.91000000000000 // IONO ,188.91000000000000 // IONO2 ,105.11000000000000 // IPRNO3 ,195.15000000000000 // ITCN ,197.16999999999999 // ITHN ,136.25999999999999 // LIMO ,154.19000000000000 // LVOC ,154.19000000000000 // LVOCOA ,70.099999999999994 // MACR ,102.09999999999999 // MACR1OOH ,76.060000000000002 // MAP ,104.12000000000000 // MCRDH ,86.099999999999994 // MCRENOL ,149.11000000000001 // MCRHN ,149.11000000000001 // MCRHNB ,120.12000000000000 // MCRHP ,124.00000000000000 // MCT ,72.110000000000000 // MEK ,77.049999999999997 // MENO3 ,72.069999999999993 // MGLY ,32.049999999999997 // MOH ,215.28000000000000 // MONITS ,215.28000000000000 // MONITU ,48.050000000000000 // MP ,147.09999999999999 // MPAN ,93.050000000000000 // MPN ,136.25999999999999 // MTPA ,136.25999999999999 // MTPO ,70.090000000000003 // MVK ,105.13000000000000 // MVKDH ,102.09999999999999 // MVKHC ,102.09999999999999 // MVKHCB ,120.12000000000000 // MVKHP ,149.12000000000000 // MVKN ,118.09999999999999 // MVKPC ,108.02000000000000 // N2O5 ,17.039999999999999 // NH3 ,46.009999999999998 // NO2 ,139.11000000000001 // NPHEN ,105.11000000000000 // NPRNO3 ,48.000000000000000 // O3 ,48.000000000000000 // OX ,121.06000000000000 // PAN ,94.109999999999999 // PHEN ,92.109999999999999 // PP ,135.08000000000001 // PPN ,119.08000000000000 // PROPNN ,42.090000000000000 // PRPE ,137.11000000000001 // PRPN ,88.069999999999993 // PYAC ,119.09999999999999 // R4N2 ,90.140000000000001 // R4P ,76.109999999999999 // RA3P ,76.109999999999999 // RB3P ,118.15000000000001 // RIPA ,118.15000000000001 // RIPB ,118.15000000000001 // RIPC ,118.15000000000001 // RIPD ,90.090000000000003 // RP ,64.040000000000006 // SO2 ,126.90000000000000 // AERI ,189.12000000000000 // AONITA ,150.00000000000000 // ASOA1 ,150.00000000000000 // ASOA2 ,150.00000000000000 // ASOA3 ,150.00000000000000 // ASOAN ,150.00000000000000 // ASOG1 ,150.00000000000000 // ASOG2 ,150.00000000000000 // ASOG3 ,79.900000000000000 // BRSALA ,79.900000000000000 // BRSALC ,102.00000000000000 // INDIOL ,14.010000000000000 // IONITA ,126.90000000000000 // ISALA ,126.90000000000000 // ISALC ,14.010000000000000 // MONITA ,96.100000000000000 // MSA ,18.050000000000000 // NH4 ,62.010000000000000 // NIT ,31.400000000000000 // NITS ,31.400000000000000 // SALAAL ,35.450000000000000 // SALACL ,31.400000000000000 // SALCAL ,35.450000000000000 // SALCCL ,31.400000000000000 // SO4 ,31.400000000000000 // SO4S ,58.040000000000000 // SOAGX ,118.15000000000000 // SOAIE ,150.00000000000000 // TSOA0 ,150.00000000000000 // TSOA1 ,150.00000000000000 // TSOA2 ,150.00000000000000 // TSOA3 ,150.00000000000000 // TSOG0 ,150.00000000000000 // TSOG1 ,150.00000000000000 // TSOG2 ,150.00000000000000 // TSOG3 ,55.850000000000000 ; // PFE } ================================================ FILE: run/GCClassic/.gitignore ================================================ *.[oax] *.mod *.MOD *~* *.swp *.bak *.patch *.diff diffs bak misc *.pp.* *.pdb *.inst.* *.continue.* *.ppk *.log bin/* build/ build_*/ *___.h *___.rc core.* ================================================ FILE: run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.Hg ================================================ #------------------------------------------------------------------------------ # Harmonized Emissions Component (HEMCO) ! #------------------------------------------------------------------------------ #BOP # # !MODULE: HEMCO_Config.rc # # !DESCRIPTION: Contains configuration information for HEMCO. Define the # emissions inventories and corresponding file paths here. Entire # configuration files can be inserted into this configuration file with # an '>>>include' statement, e.g. '>>>include HEMCO\_Config\_test.rc' # The settings of include-files will be ignored. #\\ #\\ # !REMARKS: # See hemco.readthedocs.io for more information. # # !REVISION HISTORY: # See https://github.com/geoschem/geos-chem for complete history #EOP #------------------------------------------------------------------------------ #BOC ############################################################################### ### BEGIN SECTION SETTINGS ############################################################################### ROOT: ${RUNDIR_DATA_ROOT}/HEMCO GCAPSCENARIO: ${RUNDIR_GCAP2_SCENARIO} GCAPVERTRES: ${RUNDIR_GCAP2_VERTRES} Logfile: * DiagnFile: HEMCO_Diagn.rc DiagnPrefix: ./OutputDir/HEMCO_diagnostics DiagnFreq: Monthly Wildcard: * Separator: / Unit tolerance: 1 Negative values: 0 Only unitless scale factors: false Verbose: false VerboseOnCores: root # Accepted values: root all ### END SECTION SETTINGS ### ############################################################################### ### BEGIN SECTION EXTENSION SWITCHES ############################################################################### # ExtNr ExtName on/off Species Years avail. 0 Base : on * # ----- MAIN SWITCHES --------------------------------------------------------- --> EMISSIONS : true --> METEOROLOGY : true ${RUNDIR_MET_AVAIL} --> CHEMISTRY_INPUT : true # ----- RESTART FIELDS -------------------------------------------------------- --> GC_RESTART : true # ----- NESTED GRID FIELDS ---------------------------------------------------- --> GC_BCs : ${RUNDIR_USE_BCs} # ----- REGIONAL INVENTORIES -------------------------------------------------- --> MACFARLANE : true # 2000-2019 --> ZHAOZHANG : false # 2010 --> CHAKRABORTY : false # 2010 --> EMISS_CONTROLS : false # 2010 # ----- GLOBAL INVENTORIES ---------------------------------------------------- --> AMAP_COMB : false # 2010 --> AMAP_INDS : false # 2010 --> AMAP_INTW : false # 2010 --> GMA_ASGM : true # 2015 --> GMA_POWERGEN : true # 2015 --> GMA_INDS : true # 2015 --> GMA_INTW : true # 2015 --> WHET : false # 2010 --> STREETS : false # 2015 --> ARTISANAL : false # 1985 --> NATURAL : false # 1985 --> MCHgMAP_NATURAL : true # 2010-2020 --> MCHgMAP_BB_GFED : false # 2010-2020 --> MCHgMAP_BB_FINN : true # 2010-2020 --> SOILDIST : true # 1985 --> QFED2 : false # 2000-2020 --> EDGAR_TOT : false # 1970-2012 --> EDGAR_CEM : false # 1970-2012 --> EDGAR_CHLOR : false # 1970-2012 --> EDGAR_COMB_A : false # 1970-2012 --> EDGAR_COMB_B : false # 1970-2012 --> EDGAR_GLASS : false # 1970-2012 --> EDGAR_GOLDA : false # 1970-2012 --> EDGAR_GOLDB : false # 1970-2012 --> EDGAR_IRO : false # 1970-2012 --> EDGAR_NFEOTH : false # 1970-2012 --> EDGAR_SHIP : false # 1970-2012 --> EDGAR_TRO : false # 1970-2012 --> EDGAR_WASTE : false # 1970-2012 # ----- NON-EMISSIONS DATA ---------------------------------------------------- --> OXIDANT_FIELDS : true # 2010-2019 --> OCEAN_Hg : true # 1985,2003,2009 --> TOMS_SBUV_O3 : true # 1971-2010 --> LHALOGENCHEM : true --> LHGAQCHEM : true --> LOHO3CHEM : false --> LRED_INPLUME : false --> OLSON_LANDMAP : true # 1985 --> YUAN_MODIS_LAI : true # 2000-2020 # ----------------------------------------------------------------------------- # NOTE: Changing these options will require a change in reduction rate in order # to maintain agreement with observations. Please see wiki for details # http://wiki.seas.harvard.edu/geos-chem/index.php/Mercury # ----------------------------------------------------------------------------- 111 GFED : off Hg0 --> GFED4 : false --> GFED_daily : false --> GFED_3hourly : false --> Scaling_CO : 1.05 --> Scaling_NAP : 2.75e-4 --> hydrophilic BC : 0.2 --> hydrophilic OC : 0.5 --> fraction POG1 : 0.49 114 FINN : off Hg0 --> FINN_daily : false --> Scaling_CO : 1.0 --> hydrophilic BC : 0.2 --> hydrophilic OC : 0.5 --> Scaling_Hg0 : 7.16e-7 ### END SECTION EXTENSION SWITCHES ### ############################################################################### ### BEGIN SECTION BASE EMISSIONS ############################################################################### # ExtNr Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Species ScalIDs Cat Hier (((EMISSIONS #============================================================================== # NOTE: HgP emissions must be added as Hg2 emissions under the Species column #============================================================================== #============================================================================== # --- GMA 2018 emissions --- # # NOTES: # - HgP emissions are added to Hg2 emissions! # - Hg2 and HgP emissions are 0 everywhere for ASGM source and are not read #============================================================================== (((GMA_ASGM 0 GMA_ASGM_HG0 $ROOT/MERCURY/v2022-10/GMA_emissions_Hg.0.25x0.25.2015.nc emi_hg_0_asgm 2015/1/1/0 C xy kg/m2/s Hg0 - 8 1 #0 GMA_ASGM_HG2 $ROOT/MERCURY/v2022-10/GMA_emissions_Hg.0.25x0.25.2015.nc emi_hg_2_asgm 2015/1/1/0 C xy * HgCl2 - 8 1 #0 GMA_ASGM_HGP $ROOT/MERCURY/v2022-10/GMA_emissions_Hg.0.25x0.25.2015.nc emi_hg_p_asgm 2015/1/1/0 C xy * Hg2ClP - 8 1 )))GMA_ASGM (((GMA_INDS 0 GMA_IND_HG0 $ROOT/MERCURY/v2022-10/GMA_emissions_Hg.0.25x0.25.2015.nc emi_hg_0_inds 2015/1/1/0 C xy kg/m2/s Hg0 - 1 1 0 GMA_IND_HG2 $ROOT/MERCURY/v2022-10/GMA_emissions_Hg.0.25x0.25.2015.nc emi_hg_2_inds 2015/1/1/0 C xy * HgCl2 - 1 1 0 GMA_IND_HGP $ROOT/MERCURY/v2022-10/GMA_emissions_Hg.0.25x0.25.2015.nc emi_hg_p_inds 2015/1/1/0 C xy * Hg2ClP - 1 1 )))GMA_INDS (((GMA_INTW 0 GMA_INTW_HG0 $ROOT/MERCURY/v2022-10/GMA_emissions_Hg.0.25x0.25.2015.nc emi_hg_0_intw 2015/1/1/0 C xy kg/m2/s Hg0 - 1 1 0 GMA_INTW_HG2 $ROOT/MERCURY/v2022-10/GMA_emissions_Hg.0.25x0.25.2015.nc emi_hg_2_intw 2015/1/1/0 C xy * HgCl2 - 1 1 0 GMA_INTW_HGP $ROOT/MERCURY/v2022-10/GMA_emissions_Hg.0.25x0.25.2015.nc emi_hg_p_intw 2015/1/1/0 C xy * Hg2ClP - 1 1 )))GMA_INTW (((GMA_POWERGEN 0 GMA_POWERGEN_HG0 $ROOT/MERCURY/v2022-10/GMA_emissions_Hg.0.25x0.25.2015.nc emi_hg_0_pg 2015/1/1/0 C xy kg/m2/s Hg0 - 1 1 0 GMA_POWERGEN_HG2 $ROOT/MERCURY/v2022-10/GMA_emissions_Hg.0.25x0.25.2015.nc emi_hg_2_pg 2015/1/1/0 C xy * HgCl2 - 1 1 0 GMA_POWERGEN_HGP $ROOT/MERCURY/v2022-10/GMA_emissions_Hg.0.25x0.25.2015.nc emi_hg_p_pg 2015/1/1/0 C xy * Hg2ClP - 1 1 )))GMA_POWERGEN #============================================================================== # --- AMAP/UNEP emissions --- #============================================================================== (((AMAP_COMB 0 AMAP_COMB_HG0 $ROOT/MERCURY/v2014-09/AMAP/AMAP_comb.0.5x0.5.2010.nc Hg0 2010/1/1/0 C xy kg/m2/s Hg0 - 1 1 0 AMAP_COMB_HG2 $ROOT/MERCURY/v2014-09/AMAP/AMAP_comb.0.5x0.5.2010.nc Hg2 2010/1/1/0 C xy * HgCl2 - 1 1 0 AMAP_COMB_HGP $ROOT/MERCURY/v2014-09/AMAP/AMAP_comb.0.5x0.5.2010.nc HgP 2010/1/1/0 C xy * Hg2ClP - 1 1 )))AMAP_COMB (((AMAP_INDS 0 AMAP_INDS_HG0 $ROOT/MERCURY/v2014-09/AMAP/AMAP_inds.0.5x0.5.2010.nc Hg0 2010/1/1/0 C xy kg/m2/s Hg0 - 1 1 0 AMAP_INDS_HG2 $ROOT/MERCURY/v2014-09/AMAP/AMAP_inds.0.5x0.5.2010.nc Hg2 2010/1/1/0 C xy * HgCl2 - 1 1 0 AMAP_INDS_HGP $ROOT/MERCURY/v2014-09/AMAP/AMAP_inds.0.5x0.5.2010.nc HgP 2010/1/1/0 C xy * Hg2ClP - 1 1 )))AMAP_INDS (((AMAP_INTW 0 AMAP_INTW_HG0 $ROOT/MERCURY/v2014-09/AMAP/AMAP_intw.0.5x0.5.2010.nc Hg0 2010/1/1/0 C xy kg/m2/s Hg0 - 1 1 0 AMAP_INTW_HG2 $ROOT/MERCURY/v2014-09/AMAP/AMAP_intw.0.5x0.5.2010.nc Hg2 2010/1/1/0 C xy * HgCl2 - 1 1 0 AMAP_INTW_HGP $ROOT/MERCURY/v2014-09/AMAP/AMAP_intw.0.5x0.5.2010.nc HgP 2010/1/1/0 C xy * Hg2ClP - 1 1 )))AMAP_INTW #============================================================================== # --- MacFarlane et al. 2022 Australian emissions --- #============================================================================== (((MACFARLANE 0 AUS_BLKCOAL_HG0 $ROOT/MERCURY/v2025-01/MACFARLANE/BlackCoalEmissions_kgm2s.nc Hg0 2000-2019/1/1/0 C xy kg/m2/s Hg0 1010 1 3 0 AUS_BLKCOAL_HG2 $ROOT/MERCURY/v2025-01/MACFARLANE/BlackCoalEmissions_kgm2s.nc Hg2 2000-2019/1/1/0 C xy kg/m2/s HGCL2 13/1010 1 3 0 AUS_BLKCOAL_HGP $ROOT/MERCURY/v2025-01/MACFARLANE/BlackCoalEmissions_kgm2s.nc HgP 2000-2019/1/1/0 C xy kg/m2/s HGCL2 13/1010 1 3 0 AUS_BRNCOAL_HG0 $ROOT/MERCURY/v2025-01/MACFARLANE/BrownCoalEmissions_kgm2s.nc Hg0 2000-2019/1/1/0 C xy kg/m2/s Hg0 1010 1 3 0 AUS_BRNCOAL_HG2 $ROOT/MERCURY/v2025-01/MACFARLANE/BrownCoalEmissions_kgm2s.nc Hg2 2000-2019/1/1/0 C xy kg/m2/s HGCL2 13/1010 1 3 0 AUS_BRNCOAL_HGP $ROOT/MERCURY/v2025-01/MACFARLANE/BrownCoalEmissions_kgm2s.nc HgP 2000-2019/1/1/0 C xy kg/m2/s HGCL2 13/1010 1 3 0 AUS_CEMENT_HG0 $ROOT/MERCURY/v2025-01/MACFARLANE/CementEmissions_kgm2s.nc Hg0 2000-2019/1/1/0 C xy kg/m2/s Hg0 1010 1 3 0 AUS_CEMENT_HG2 $ROOT/MERCURY/v2025-01/MACFARLANE/CementEmissions_kgm2s.nc Hg2 2000-2019/1/1/0 C xy kg/m2/s HGCL2 13/1010 1 3 0 AUS_CEMENT_HGP $ROOT/MERCURY/v2025-01/MACFARLANE/CementEmissions_kgm2s.nc HgP 2000-2019/1/1/0 C xy kg/m2/s HGCL2 13/1010 1 3 0 AUS_CHLOR_HG0 $ROOT/MERCURY/v2025-01/MACFARLANE/ChlorAlkaliEmissions_kgm2s.nc Hg0 2000-2019/1/1/0 C xy kg/m2/s Hg0 1010 1 3 0 AUS_CHLOR_HG2 $ROOT/MERCURY/v2025-01/MACFARLANE/ChlorAlkaliEmissions_kgm2s.nc Hg2 2000-2019/1/1/0 C xy kg/m2/s HGCL2 13/1010 1 3 0 AUS_CHLOR_HGP $ROOT/MERCURY/v2025-01/MACFARLANE/ChlorAlkaliEmissions_kgm2s.nc HgP 2000-2019/1/1/0 C xy kg/m2/s HGCL2 13/1010 1 3 0 AUS_COPPER_HG0 $ROOT/MERCURY/v2025-01/MACFARLANE/CopperEmissions_kgm2s.nc Hg0 2000-2019/1/1/0 C xy kg/m2/s Hg0 1010 1 3 0 AUS_COPPER_HG2 $ROOT/MERCURY/v2025-01/MACFARLANE/CopperEmissions_kgm2s.nc Hg2 2000-2019/1/1/0 C xy kg/m2/s HGCL2 13/1010 1 3 0 AUS_COPPER_HGP $ROOT/MERCURY/v2025-01/MACFARLANE/CopperEmissions_kgm2s.nc HgP 2000-2019/1/1/0 C xy kg/m2/s HGCL2 13/1010 1 3 0 AUS_CREM_HG0 $ROOT/MERCURY/v2025-01/MACFARLANE/CremationEmissions_kgm2s.nc Hg0 2000-2019/1/1/0 C xy kg/m2/s Hg0 1010 1 3 0 AUS_CREM_HG2 $ROOT/MERCURY/v2025-01/MACFARLANE/CremationEmissions_kgm2s.nc Hg2 2000-2019/1/1/0 C xy kg/m2/s HGCL2 13/1010 1 3 0 AUS_CREM_HGP $ROOT/MERCURY/v2025-01/MACFARLANE/CremationEmissions_kgm2s.nc HgP 2000-2019/1/1/0 C xy kg/m2/s HGCL2 13/1010 1 3 0 AUS_FERROUS_HG0 $ROOT/MERCURY/v2025-01/MACFARLANE/FerrousMetalEmissions_kgm2s.nc Hg0 2000-2019/1/1/0 C xy kg/m2/s Hg0 1010 1 3 0 AUS_FERROUS_HG2 $ROOT/MERCURY/v2025-01/MACFARLANE/FerrousMetalEmissions_kgm2s.nc Hg2 2000-2019/1/1/0 C xy kg/m2/s HGCL2 13/1010 1 3 0 AUS_FERROUS_HGP $ROOT/MERCURY/v2025-01/MACFARLANE/FerrousMetalEmissions_kgm2s.nc HgP 2000-2019/1/1/0 C xy kg/m2/s HGCL2 13/1010 1 3 0 AUS_GOLD_HG0 $ROOT/MERCURY/v2025-01/MACFARLANE/GoldEmissions_kgm2s.nc Hg0 2000-2019/1/1/0 C xy kg/m2/s Hg0 1010 1 3 0 AUS_GOLD_HG2 $ROOT/MERCURY/v2025-01/MACFARLANE/GoldEmissions_kgm2s.nc Hg2 2000-2019/1/1/0 C xy kg/m2/s HGCL2 13/1010 1 3 0 AUS_GOLD_HGP $ROOT/MERCURY/v2025-01/MACFARLANE/GoldEmissions_kgm2s.nc HgP 2000-2019/1/1/0 C xy kg/m2/s HGCL2 13/1010 1 3 0 AUS_LEAD_HG0 $ROOT/MERCURY/v2025-01/MACFARLANE/LeadEmissions_kgm2s.nc Hg0 2000-2019/1/1/0 C xy kg/m2/s Hg0 1010 1 3 0 AUS_LEAD_HG2 $ROOT/MERCURY/v2025-01/MACFARLANE/LeadEmissions_kgm2s.nc Hg2 2000-2019/1/1/0 C xy kg/m2/s HGCL2 13/1010 1 3 0 AUS_LEAD_HGP $ROOT/MERCURY/v2025-01/MACFARLANE/LeadEmissions_kgm2s.nc HgP 2000-2019/1/1/0 C xy kg/m2/s HGCL2 13/1010 1 3 0 AUS_OILREF_HG0 $ROOT/MERCURY/v2025-01/MACFARLANE/OilRefiningEmissions_kgm2s.nc Hg0 2000-2019/1/1/0 C xy kg/m2/s Hg0 1010 1 3 0 AUS_OILREF_HG2 $ROOT/MERCURY/v2025-01/MACFARLANE/OilRefiningEmissions_kgm2s.nc Hg2 2000-2019/1/1/0 C xy kg/m2/s HGCL2 13/1010 1 3 0 AUS_OILREF_HGP $ROOT/MERCURY/v2025-01/MACFARLANE/OilRefiningEmissions_kgm2s.nc HgP 2000-2019/1/1/0 C xy kg/m2/s HGCL2 13/1010 1 3 0 AUS_OTHIND_HG0 $ROOT/MERCURY/v2025-01/MACFARLANE/OtherIndustryEmissions_kgm2s.nc Hg0 2000-2019/1/1/0 C xy kg/m2/s Hg0 1010 1 3 0 AUS_OTHIND_HG2 $ROOT/MERCURY/v2025-01/MACFARLANE/OtherIndustryEmissions_kgm2s.nc Hg2 2000-2019/1/1/0 C xy kg/m2/s HGCL2 13/1010 1 3 0 AUS_OTHIND_HGP $ROOT/MERCURY/v2025-01/MACFARLANE/OtherIndustryEmissions_kgm2s.nc HgP 2000-2019/1/1/0 C xy kg/m2/s HGCL2 13/1010 1 3 0 AUS_NONFERROUS_HG0 $ROOT/MERCURY/v2025-01/MACFARLANE/NonFerrousMetalEmissions_kgm2s.nc Hg0 2000-2019/1/1/0 C xy kg/m2/s Hg0 1010 1 3 0 AUS_NONFERROUS_HG2 $ROOT/MERCURY/v2025-01/MACFARLANE/NonFerrousMetalEmissions_kgm2s.nc Hg2 2000-2019/1/1/0 C xy kg/m2/s HGCL2 13/1010 1 3 0 AUS_NONFERROUS_HGP $ROOT/MERCURY/v2025-01/MACFARLANE/NonFerrousMetalEmissions_kgm2s.nc HgP 2000-2019/1/1/0 C xy kg/m2/s HGCL2 13/1010 1 3 0 AUS_REFPETR_HG0 $ROOT/MERCURY/v2025-01/MACFARLANE/RefinedPetroleumProductEmissions_kgm2s.nc Hg0 2000-2019/1/1/0 C xy kg/m2/s Hg0 1010 1 3 0 AUS_REFPETR_HG2 $ROOT/MERCURY/v2025-01/MACFARLANE/RefinedPetroleumProductEmissions_kgm2s.nc Hg2 2000-2019/1/1/0 C xy kg/m2/s HGCL2 13/1010 1 3 0 AUS_REFPETR_HGP $ROOT/MERCURY/v2025-01/MACFARLANE/RefinedPetroleumProductEmissions_kgm2s.nc HgP 2000-2019/1/1/0 C xy kg/m2/s HGCL2 13/1010 1 3 0 AUS_WASTE_HG0 $ROOT/MERCURY/v2025-01/MACFARLANE/WasteEmissions_kgm2s.nc Hg0 2000-2019/1/1/0 C xy kg/m2/s Hg0 1010 1 3 0 AUS_WASTE_HG2 $ROOT/MERCURY/v2025-01/MACFARLANE/WasteEmissions_kgm2s.nc Hg2 2000-2019/1/1/0 C xy kg/m2/s HGCL2 13/1010 1 3 0 AUS_WASTE_HGP $ROOT/MERCURY/v2025-01/MACFARLANE/WasteEmissions_kgm2s.nc HgP 2000-2019/1/1/0 C xy kg/m2/s HGCL2 13/1010 1 3 0 AUS_ZINC_HG0 $ROOT/MERCURY/v2025-01/MACFARLANE/ZincEmissions_kgm2s.nc Hg0 2000-2019/1/1/0 C xy kg/m2/s Hg0 1010 1 3 0 AUS_ZINC_HG2 $ROOT/MERCURY/v2025-01/MACFARLANE/ZincEmissions_kgm2s.nc Hg2 2000-2019/1/1/0 C xy kg/m2/s HGCL2 13/1010 1 3 0 AUS_ZINC_HGP $ROOT/MERCURY/v2025-01/MACFARLANE/ZincEmissions_kgm2s.nc HgP 2000-2019/1/1/0 C xy kg/m2/s HGCL2 13/1010 1 3 )))MACFARLANE #============================================================================== # --- Yanxu Zhang et al. 2015 and Zhao et al. 2015 China emissions totals --- #============================================================================== (((ZHAOZHANG (((AMAP_COMB 0 AMAP_COMB_HG0 $ROOT/MERCURY/v2014-09/AMAP/AMAP_comb.0.5x0.5.2010.nc Hg0 2010/1/1/0 C xy kg/m2/s Hg0 3/1006 1 3 0 AMAP_COMB_HG2 $ROOT/MERCURY/v2014-09/AMAP/AMAP_comb.0.5x0.5.2010.nc Hg2 2010/1/1/0 C xy * HgCl2 4/1006 1 3 0 AMAP_COMB_HGP $ROOT/MERCURY/v2014-09/AMAP/AMAP_comb.0.5x0.5.2010.nc HgP 2010/1/1/0 C xy * Hg2ClP 5/1006 1 3 )))AMAP_COMB (((AMAP_INDS 0 AMAP_INDS_HG0 $ROOT/MERCURY/v2014-09/AMAP/AMAP_inds.0.5x0.5.2010.nc Hg0 2010/1/1/0 C xy kg/m2/s Hg0 3/1006 1 3 0 AMAP_INDS_HG2 $ROOT/MERCURY/v2014-09/AMAP/AMAP_inds.0.5x0.5.2010.nc Hg2 2010/1/1/0 C xy * HgCl2 4/1006 1 3 0 AMAP_INDS_HGP $ROOT/MERCURY/v2014-09/AMAP/AMAP_inds.0.5x0.5.2010.nc HgP 2010/1/1/0 C xy * Hg2ClP 5/1006 1 3 )))AMAP_INDS (((AMAP_INTW 0 AMAP_INTW_HG0 $ROOT/MERCURY/v2014-09/AMAP/AMAP_intw.0.5x0.5.2010.nc Hg0 2010/1/1/0 C xy kg/m2/s Hg0 3/1006 1 3 0 AMAP_INTW_HG2 $ROOT/MERCURY/v2014-09/AMAP/AMAP_intw.0.5x0.5.2010.nc Hg2 2010/1/1/0 C xy * HgCl2 4/1006 1 3 0 AMAP_INTW_HGP $ROOT/MERCURY/v2014-09/AMAP/AMAP_intw.0.5x0.5.2010.nc HgP 2010/1/1/0 C xy * Hg2ClP 5/1006 1 3 )))AMAP_INTW )))ZHAOZHANG #============================================================================== # --- Chakraborty et al. 2013 India emissions totals --- #============================================================================== (((CHAKRABORTY (((AMAP_COMB 0 AMAP_COMB_HG0 $ROOT/MERCURY/v2014-09/AMAP/AMAP_comb.0.5x0.5.2010.nc Hg0 2010/1/1/0 C xy kg/m2/s Hg0 6/1007 1 3 0 AMAP_COMB_HG2 $ROOT/MERCURY/v2014-09/AMAP/AMAP_comb.0.5x0.5.2010.nc Hg2 2010/1/1/0 C xy * HgCl2 7/1007 1 3 0 AMAP_COMB_HGP $ROOT/MERCURY/v2014-09/AMAP/AMAP_comb.0.5x0.5.2010.nc HgP 2010/1/1/0 C xy * Hg2ClP 8/1007 1 3 )))AMAP_COMB (((AMAP_INDS 0 AMAP_INDS_HG0 $ROOT/MERCURY/v2014-09/AMAP/AMAP_inds.0.5x0.5.2010.nc Hg0 2010/1/1/0 C xy kg/m2/s Hg0 6/1007 1 3 0 AMAP_INDS_HG2 $ROOT/MERCURY/v2014-09/AMAP/AMAP_inds.0.5x0.5.2010.nc Hg2 2010/1/1/0 C xy * HgCl2 7/1007 1 3 0 AMAP_INDS_HGP $ROOT/MERCURY/v2014-09/AMAP/AMAP_inds.0.5x0.5.2010.nc HgP 2010/1/1/0 C xy * Hg2ClP 8/1007 1 3 )))AMAP_INDS (((AMAP_INTW 0 AMAP_INTW_HG0 $ROOT/MERCURY/v2014-09/AMAP/AMAP_intw.0.5x0.5.2010.nc Hg0 2010/1/1/0 C xy kg/m2/s Hg0 6/1007 1 3 0 AMAP_INTW_HG2 $ROOT/MERCURY/v2014-09/AMAP/AMAP_intw.0.5x0.5.2010.nc Hg2 2010/1/1/0 C xy * HgCl2 7/1007 1 3 0 AMAP_INTW_HGP $ROOT/MERCURY/v2014-09/AMAP/AMAP_intw.0.5x0.5.2010.nc HgP 2010/1/1/0 C xy * Hg2ClP 8/1007 1 3 )))AMAP_INTW )))CHAKRABORTY #============================================================================== # WHET emissions inventory #============================================================================== (((WHET 0 WHET_HG0 $ROOT/MERCURY/v2018-04/WHET_Hg0.geos.1x1.2010_final.nc Hg0 2010/1/1/0 C xy kg/m2/s Hg0 - 1 1 0 WHET_HG2 $ROOT/MERCURY/v2018-04/WHET_Hg2.geos.1x1.2010_final.nc Hg2 2010/1/1/0 C xy * HgCl2 - 1 1 0 WHET_HGP $ROOT/MERCURY/v2018-04/WHET_HgP.geos.1x1.2010_final.nc HgP 2010/1/1/0 C xy * Hg2ClP - 1 1 )))WHET #============================================================================== # Streets et al. 2019 emissions inventory #============================================================================== (((STREETS 0 STREETS_HG0 $ROOT/MERCURY/v2021-09/Streets/Streets2019_Hg.nc Hg0 2015/1/1/0 C xy kg/m2/s Hg0 - 1 1 0 STREETS_HG2 $ROOT/MERCURY/v2021-09/Streets/Streets2019_Hg.nc Hg2 2015/1/1/0 C xy * HgCl2 - 1 1 0 STREETS_HGP $ROOT/MERCURY/v2021-09/Streets/Streets2019_Hg.nc HgP 2015/1/1/0 C xy * Hg2ClP - 1 1 )))STREETS #============================================================================== # EDGAR emissions inventory # Either use total (all sectors) or individual sectors, but not both #============================================================================== (((EDGAR_TOT 0 EDGAR_TOT_HG0 $ROOT/MERCURY/v2020-07/EDGAR/$YYYY/EDGAR_totals_$YYYY_Hg.nc emi_hg_g 1970-2012/1/1/0 C xy kg/m2/s Hg0 - 1 1 0 EDGAR_TOT_HG2 $ROOT/MERCURY/v2020-07/EDGAR/$YYYY/EDGAR_totals_$YYYY_Hg.nc emi_hg_d 1970-2012/1/1/0 C xy * HgCl2 - 1 1 0 EDGAR_TOT_HGP $ROOT/MERCURY/v2020-07/EDGAR/$YYYY/EDGAR_totals_$YYYY_Hg.nc emi_hg_p 1970-2012/1/1/0 C xy * Hg2ClP - 1 1 )))EDGAR_TOT (((EDGAR_CEM 0 EDGAR_CEM_HG0 $ROOT/MERCURY/v2020-07/EDGAR/$YYYY/EDGAR_cement_$YYYY_Hg.nc emi_hg_g 1970-2012/1/1/0 C xy kg/m2/s Hg0 - 1 1 0 EDGAR_CEM_HG2 $ROOT/MERCURY/v2020-07/EDGAR/$YYYY/EDGAR_cement_$YYYY_Hg.nc emi_hg_d 1970-2012/1/1/0 C xy * HgCl2 - 1 1 0 EDGAR_CEM_HGP $ROOT/MERCURY/v2020-07/EDGAR/$YYYY/EDGAR_cement_$YYYY_Hg.nc emi_hg_p 1970-2012/1/1/0 C xy * Hg2ClP - 1 1 )))EDGAR_CEM (((EDGAR_CHLOR 0 EDGAR_CHLOR_HG0 $ROOT/MERCURY/v2020-07/EDGAR/$YYYY/EDGAR_chlor_$YYYY_Hg.nc emi_hg_g 1970-2012/1/1/0 C xy kg/m2/s Hg0 - 1 1 0 EDGAR_CHLOR_HG2 $ROOT/MERCURY/v2020-07/EDGAR/$YYYY/EDGAR_chlor_$YYYY_Hg.nc emi_hg_d 1970-2012/1/1/0 C xy * HgCl2 - 1 1 )))EDGAR_CHLOR (((EDGAR_COMB_A 0 EDGAR_COMB_A_HG0 $ROOT/MERCURY/v2020-07/EDGAR/$YYYY/EDGAR_comb_power_ind_$YYYY_Hg.nc emi_hg_g 1970-2012/1/1/0 C xy kg/m2/s Hg0 - 1 1 0 EDGAR_COMB_A_HG2 $ROOT/MERCURY/v2020-07/EDGAR/$YYYY/EDGAR_comb_power_ind_$YYYY_Hg.nc emi_hg_d 1970-2012/1/1/0 C xy * HgCl2 - 1 1 0 EDGAR_COMB_A_HGP $ROOT/MERCURY/v2020-07/EDGAR/$YYYY/EDGAR_comb_power_ind_$YYYY_Hg.nc emi_hg_p 1970-2012/1/1/0 C xy * Hg2ClP - 1 1 )))EDGAR_COMB_A (((EDGAR_COMB_B 0 EDGAR_COMB_B_HG0 $ROOT/MERCURY/v2020-07/EDGAR/$YYYY/EDGAR_comb_res_oth_$YYYY_Hg.nc emi_hg_g 1970-2012/1/1/0 C xy kg/m2/s Hg0 - 1 1 0 EDGAR_COMB_B_HG2 $ROOT/MERCURY/v2020-07/EDGAR/$YYYY/EDGAR_comb_res_oth_$YYYY_Hg.nc emi_hg_d 1970-2012/1/1/0 C xy * HgCl2 - 1 1 0 EDGAR_COMB_B_HGP $ROOT/MERCURY/v2020-07/EDGAR/$YYYY/EDGAR_comb_res_oth_$YYYY_Hg.nc emi_hg_p 1970-2012/1/1/0 C xy * Hg2ClP - 1 1 )))EDGAR_COMB_B (((EDGAR_GLASS 0 EDGAR_GLASS_HG0 $ROOT/MERCURY/v2020-07/EDGAR/$YYYY/EDGAR_glass_$YYYY_Hg.nc emi_hg_g 1970-2012/1/1/0 C xy * Hg0 - 1 1 0 EDGAR_GLASS_HG2 $ROOT/MERCURY/v2020-07/EDGAR/$YYYY/EDGAR_glass_$YYYY_Hg.nc emi_hg_d 1970-2012/1/1/0 C xy * HgCl2 - 1 1 0 EDGAR_GLASS_HGP $ROOT/MERCURY/v2020-07/EDGAR/$YYYY/EDGAR_glass_$YYYY_Hg.nc emi_hg_p 1970-2012/1/1/0 C xy * Hg2ClP - 1 1 )))EDGAR_GLASS (((EDGAR_GOLDA 0 EDGAR_GOLDA_HG0 $ROOT/MERCURY/v2020-07/EDGAR/$YYYY/EDGAR_gold_A_$YYYY_Hg.nc emi_hg_g 1970-2012/1/1/0 C xy * Hg0 - 1 1 )))EDGAR_GOLDA (((EDGAR_GOLDB 0 EDGAR_GOLDB_HG0 $ROOT/MERCURY/v2020-07/EDGAR/$YYYY/EDGAR_gold_L_$YYYY_Hg.nc emi_hg_g 1970-2012/1/1/0 C xy * Hg0 - 1 1 0 EDGAR_GOLDB_HG2 $ROOT/MERCURY/v2020-07/EDGAR/$YYYY/EDGAR_gold_L_$YYYY_Hg.nc emi_hg_d 1970-2012/1/1/0 C xy * HgCl2 - 1 1 0 EDGAR_GOLDB_HGP $ROOT/MERCURY/v2020-07/EDGAR/$YYYY/EDGAR_gold_L_$YYYY_Hg.nc emi_hg_p 1970-2012/1/1/0 C xy * Hg2ClP - 1 1 )))EDGAR_GOLDB (((EDGAR_IRO 0 EDGAR_IRO_HG0 $ROOT/MERCURY/v2020-07/EDGAR/$YYYY/EDGAR_Iro_$YYYY_Hg.nc emi_hg_g 1970-2012/1/1/0 C xy * Hg0 - 1 1 0 EDGAR_IRO_HG2 $ROOT/MERCURY/v2020-07/EDGAR/$YYYY/EDGAR_Iro_$YYYY_Hg.nc emi_hg_d 1970-2012/1/1/0 C xy * HgCl2 - 1 1 0 EDGAR_IRO_HGP $ROOT/MERCURY/v2020-07/EDGAR/$YYYY/EDGAR_Iro_$YYYY_Hg.nc emi_hg_p 1970-2012/1/1/0 C xy * Hg2ClP - 1 1 )))EDGAR_IRO (((EDGAR_NFEOTH 0 EDGAR_NFEOTH_HG0 $ROOT/MERCURY/v2020-07/EDGAR/$YYYY/EDGAR_nfe_oth_$YYYY_Hg.nc emi_hg_g 1970-2012/1/1/0 C xy * Hg0 - 1 1 0 EDGAR_NFEOTH_HG2 $ROOT/MERCURY/v2020-07/EDGAR/$YYYY/EDGAR_nfe_oth_$YYYY_Hg.nc emi_hg_d 1970-2012/1/1/0 C xy * HgCl2 - 1 1 0 EDGAR_NFEOTH_HGP $ROOT/MERCURY/v2020-07/EDGAR/$YYYY/EDGAR_nfe_oth_$YYYY_Hg.nc emi_hg_p 1970-2012/1/1/0 C xy * Hg2ClP - 1 1 )))EDGAR_NFEOTH (((EDGAR_SHIP 0 EDGAR_SHIP_HG0 $ROOT/MERCURY/v2020-07/EDGAR/$YYYY/EDGAR_shipping_$YYYY_Hg.nc emi_hg_g 1970-2012/1/1/0 C xy * Hg0 - 1 1 0 EDGAR_SHIP_HG2 $ROOT/MERCURY/v2020-07/EDGAR/$YYYY/EDGAR_shipping_$YYYY_Hg.nc emi_hg_d 1970-2012/1/1/0 C xy * HgCl2 - 1 1 0 EDGAR_SHIP_HGP $ROOT/MERCURY/v2020-07/EDGAR/$YYYY/EDGAR_shipping_$YYYY_Hg.nc emi_hg_p 1970-2012/1/1/0 C xy * Hg2ClP - 1 1 )))EDGAR_SHIP (((EDGAR_TRO 0 EDGAR_TRO_HG0 $ROOT/MERCURY/v2020-07/EDGAR/$YYYY/EDGAR_tro_roa_$YYYY_Hg.nc emi_hg_g 1970-2012/1/1/0 C xy * Hg0 - 1 1 0 EDGAR_TRO_HG2 $ROOT/MERCURY/v2020-07/EDGAR/$YYYY/EDGAR_tro_roa_$YYYY_Hg.nc emi_hg_d 1970-2012/1/1/0 C xy * HgCl2 - 1 1 0 EDGAR_TRO_HGP $ROOT/MERCURY/v2020-07/EDGAR/$YYYY/EDGAR_tro_roa_$YYYY_Hg.nc emi_hg_p 1970-2012/1/1/0 C xy * Hg2ClP - 1 1 )))EDGAR_TRO (((EDGAR_WASTE 0 EDGAR_WASTE_HG0 $ROOT/MERCURY/v2020-07/EDGAR/$YYYY/EDGAR_waste_$YYYY_Hg.nc emi_hg_g 1970-2012/1/1/0 C xy * Hg0 - 1 1 0 EDGAR_WASTE_HG2 $ROOT/MERCURY/v2020-07/EDGAR/$YYYY/EDGAR_waste_$YYYY_Hg.nc emi_hg_d 1970-2012/1/1/0 C xy * HgCl2 - 1 1 0 EDGAR_WASTE_HGP $ROOT/MERCURY/v2020-07/EDGAR/$YYYY/EDGAR_waste_$YYYY_Hg.nc emi_hg_p 1970-2012/1/1/0 C xy * Hg2ClP - 1 1 )))EDGAR_WASTE #============================================================================== # --- Emissions Controls for Coal Fired Power Plants --- # Only applies to US, Canada, EU, and China # NOTE: Should only be used with the AMAP/UNEP 2010 emissions (AMAP_COMB, # AMAP_INDS, AMAP_CONT set to true) # See Yanxu Zhang et al. 2016 for details #============================================================================== (((EMISS_CONTROLS 0 NPRI2011_HG0 $ROOT/MERCURY/v2014-09/NPRI2011/Hg0.NPRI_2011_def_spec.025x03125.nc Hg0 2011/1/1/0 C xy kg/m2/s Hg0 10/1008 1 2 0 NPRI2011_HG2 $ROOT/MERCURY/v2014-09/NPRI2011/Hg2.NPRI_2011_def_spec.025x03125.nc Hg2 2011/1/1/0 C xy * HgCl2 9/1008 1 2 0 NPRI2011_HGP $ROOT/MERCURY/v2014-09/NPRI2011/HgP.NPRI_2011_def_spec.025x03125.nc HgP 2011/1/1/0 C xy * Hg2ClP 1008 1 2 0 EU_CONT_HG0 $ROOT/MERCURY/v2014-09/AMAP/AMAP_comb.0.5x0.5.2010.nc Hg0 2010/1/1/0 C xy kg/m2/s Hg0 11/1009 1 3 0 EU_INDS_HG0 $ROOT/MERCURY/v2014-09/AMAP/AMAP_inds.0.5x0.5.2010.nc Hg0 2010/1/1/0 C xy kg/m2/s Hg0 1009 1 3 0 EU_INTW_HG0 $ROOT/MERCURY/v2014-09/AMAP/AMAP_intw.0.5x0.5.2010.nc Hg0 2010/1/1/0 C xy kg/m2/s Hg0 1009 1 3 0 EU_CONT_HG2 $ROOT/MERCURY/v2014-09/AMAP/AMAP_comb.0.5x0.5.2010.nc Hg2 2010/1/1/0 C xy * HgCl2 9/1009 1 3 0 EU_INDS_HG2 $ROOT/MERCURY/v2014-09/AMAP/AMAP_inds.0.5x0.5.2010.nc Hg2 2010/1/1/0 C xy * HgCl2 1009 1 3 0 EU_INTW_HG2 $ROOT/MERCURY/v2014-09/AMAP/AMAP_intw.0.5x0.5.2010.nc Hg2 2010/1/1/0 C xy * HgCl2 1009 1 3 0 EU_COMB_HGP $ROOT/MERCURY/v2014-09/AMAP/AMAP_comb.0.5x0.5.2010.nc HgP 2010/1/1/0 C xy * Hg2ClP 1009 1 3 0 EU_INTW_HGP $ROOT/MERCURY/v2014-09/AMAP/AMAP_intw.0.5x0.5.2010.nc HgP 2010/1/1/0 C xy * Hg2ClP 1009 1 3 0 EU_INDS_HGP $ROOT/MERCURY/v2014-09/AMAP/AMAP_inds.0.5x0.5.2010.nc HgP 2010/1/1/0 C xy * Hg2ClP 1009 1 3 0 CHN_CONT_HG0 $ROOT/MERCURY/v2014-09/AMAP/AMAP_comb.0.5x0.5.2010.nc Hg0 2010/1/1/0 C xy kg/m2/s Hg0 12/1006 1 4 0 CHN_INDS_HG0 $ROOT/MERCURY/v2014-09/AMAP/AMAP_inds.0.5x0.5.2010.nc Hg0 2010/1/1/0 C xy kg/m2/s Hg0 1006 1 4 0 CHN_INTW_HG0 $ROOT/MERCURY/v2014-09/AMAP/AMAP_intw.0.5x0.5.2010.nc Hg0 2010/1/1/0 C xy kg/m2/s Hg0 1006 1 4 0 CHN_CONT_HG2 $ROOT/MERCURY/v2014-09/AMAP/AMAP_comb.0.5x0.5.2010.nc Hg2 2010/1/1/0 C xy * HgCl2 9/1006 1 4 0 CHN_INDS_HG2 $ROOT/MERCURY/v2014-09/AMAP/AMAP_inds.0.5x0.5.2010.nc Hg2 2010/1/1/0 C xy * HgCl2 1006 1 4 0 CHN_INTW_HG2 $ROOT/MERCURY/v2014-09/AMAP/AMAP_intw.0.5x0.5.2010.nc Hg2 2010/1/1/0 C xy * HgCl2 1006 1 4 0 CHN_COMB_HGP $ROOT/MERCURY/v2014-09/AMAP/AMAP_comb.0.5x0.5.2010.nc HgP 2010/1/1/0 C xy * Hg2ClP 1006 1 4 0 CHN_INDS_HGP $ROOT/MERCURY/v2014-09/AMAP/AMAP_inds.0.5x0.5.2010.nc HgP 2010/1/1/0 C xy * Hg2ClP 1006 1 4 0 CHN_INTW_HGP $ROOT/MERCURY/v2014-09/AMAP/AMAP_intw.0.5x0.5.2010.nc HgP 2010/1/1/0 C xy * Hg2ClP 1006 1 4 0 NEI2011_HG0 $ROOT/MERCURY/v2014-09/NEI2011/US_NEI2011_Hg0.geos5.05x0666.nc Hg0 2010/1/1/0 C xy kg/m2/s Hg0 1005 1 5 0 NEI2011_HG2 $ROOT/MERCURY/v2014-09/NEI2011/US_NEI2011_Hg2.geos5.05x0666.nc Hg2 2010/1/1/0 C xy * HgCl2 1005 1 5 0 NEI2011_HGP $ROOT/MERCURY/v2014-09/NEI2011/US_NEI2011_HgP.geos5.05x0666.nc HgP 2010/1/1/0 C xy * Hg2ClP 1005 1 5 )))EMISS_CONTROLS #============================================================================== # --- Artisanal mining --- #============================================================================== (((ARTISANAL 0 ARTISANAL_HG0 $ROOT/MERCURY/v2014-09/ARTISANAL/artisanal.geos.4x5.nc Hg0 1985/1/1/0 C xy kg/m2/s Hg0 1 8 1 )))ARTISANAL #============================================================================== # --- Natural emissions --- #============================================================================== (((NATURAL 0 NATURAL_HG0 $ROOT/MERCURY/v2014-09/NATURAL/newnatural.geos.4x5.nc Hg0 1985/1/1/0 C xy kg/m2/s Hg0 2 3 1 )))NATURAL #============================================================================== # --- MCHgMAP natural emissions --- # Dastoor et al. 2025 # https://doi.org/10.5194/gmd-18-2747-2025 #============================================================================== (((MCHgMAP_NATURAL 0 RockWeathering_Hg0 $ROOT/MERCURY/v2025-06/GeogenicEmissions/Hg_geogenic.kgm2s.nc4 Hg_rock_weathering_emission 2010-2020/1/1/0 C xy kg/m2/s Hg0 - 3 1 0 Volcanic_Hg0 $ROOT/MERCURY/v2025-06/GeogenicEmissions/Hg_geogenic.kgm2s.nc4 Hg_volcanic_emission 2010-2020/1/1/0 C xy kg/m2/s Hg0 - 3 1 )))MCHgMAP_NATURAL #============================================================================== # --- Soil distribution factor (pointer is imported in mercury_mod.F) --- # # NOTE: Here we use the 4x5 GEOS-FP file, but users may want to change this # for other met fields and resolutions. #============================================================================== (((SOILDIST 0 HG0_SOILDIST $ROOT/MERCURY/v2014-09/SOIL/soilHg.presentday.v11-01.geosfp.4x5.nc HG0_DIST 1985/1/1/0 C xy unitless * - 1 1 )))SOILDIST #============================================================================== # --- QFED2 biomass burning --- #============================================================================== (((QFED2 0 QFED_Hg_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_co.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s Hg0 54/75/311 5 2 0 QFED_Hg_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_co.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s Hg0 54/75/312 5 2 )))QFED2 #============================================================================== # --- MCHgMAP (GFED) biomass burning (90% Hg0,10% HgP) --- # Dastoor et al. 2025 # https://doi.org/10.5194/gmd-18-2747-2025 #============================================================================== (((MCHgMAP_BB_GFED 0 GFED_Hg0 $ROOT/MERCURY/v2025-06/BioBurn_emissions_GFED4s/$YYYY/Hg_wildfire_monthly_gfed4s_flux_$YYYY$MM.nc4 Hg0 2010-2020/1-12/1-31/0 C xy kg/m2/s Hg0 - 12 1 0 GFED_HgP $ROOT/MERCURY/v2025-06/BioBurn_emissions_GFED4s/$YYYY/Hg_wildfire_monthly_gfed4s_flux_$YYYY$MM.nc4 HgP 2010-2020/1-12/1-31/0 C xy kg/m2/s Hg2ClP - 12 1 )))MCHgMAP_BB_GFED #============================================================================== # --- MCHgMAP (FINN) biomass burning (90% Hg0,10% HgP) --- # Dastoor et al. 2025 # https://doi.org/10.5194/gmd-18-2747-2025 #============================================================================== (((MCHgMAP_BB_FINN 0 FINN_Hg0 $ROOT/MERCURY/v2025-06/BioBurn_emissions_FINN2p5/$YYYY/Hg_wildfire_monthly_finn_flux_$YYYY$MM.nc Hg0 2010-2020/1-12/1-31/0 C xy kg/m2/s Hg0 - 12 1 0 FINN_HgP $ROOT/MERCURY/v2025-06/BioBurn_emissions_FINN2p5/$YYYY/Hg_wildfire_monthly_finn_flux_$YYYY$MM.nc HgP 2010-2020/1-12/1-31/0 C xy kg/m2/s Hg2ClP - 12 1 )))MCHgMAP_BB_FINN ############################################################################### ### EXTENSION DATA (subsection of BASE EMISSIONS SECTION) ### ### These fields are needed by the extensions listed above. The assigned ExtNr ### must match the ExtNr entry in section 'Extension switches'. These fields ### are only read if the extension is enabled. The fields are imported by the ### extensions by field name. The name given here must match the name used ### in the extension's source code. ############################################################################### #============================================================================== # --- GFED biomass burning emissions (Extension 111) # NOTE: These are the base emissions in kgDM/m2/s. #============================================================================== (((GFED4 111 GFED_TEMP $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_TEMP 2010-2023/1-12/01/0 RF xy kgDM/m2/s * - 1 1 111 GFED_AGRI $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_AGRI 2010-2023/1-12/01/0 RF xy kgDM/m2/s * - 1 1 111 GFED_DEFO $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_DEFO 2010-2023/1-12/01/0 RF xy kgDM/m2/s * - 1 1 111 GFED_BORF $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_BORF 2010-2023/1-12/01/0 RF xy kgDM/m2/s * - 1 1 111 GFED_PEAT $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_PEAT 2010-2023/1-12/01/0 RF xy kgDM/m2/s * - 1 1 111 GFED_SAVA $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_SAVA 2010-2023/1-12/01/0 RF xy kgDM/m2/s * - 1 1 (((GFED_daily 111 GFED_FRAC_DAY $ROOT/GFED4/v2023-03/$YYYY/GFED4_dailyfrac_gen.025x025.$YYYY$MM.nc GFED_FRACDAY 2010-2023/1-12/1-31/0 RF xy 1 * - 1 1 )))GFED_daily (((GFED_3hourly 111 GFED_FRAC_3HOUR $ROOT/GFED4/v2023-03/$YYYY/GFED4_3hrfrac_gen.025x025.$YYYY$MM.nc GFED_FRAC3HR 2010-2023/1-12/1/0-23 RF xy 1 * - 1 1 )))GFED_3hourly )))GFED4 #============================================================================== # --- FINN v1.5 biomass burning emissions (Extension 114) #============================================================================== (((.not.FINN_daily 114 FINN_VEGTYP1 $ROOT/FINN/v2015-02/FINN_monthly_$YYYY_0.25x0.25.compressed.nc fire_vegtype1 2002-2016/1-12/1/0 RF xy kg/m2/s * - 1 1 114 FINN_VEGTYP2 $ROOT/FINN/v2015-02/FINN_monthly_$YYYY_0.25x0.25.compressed.nc fire_vegtype2 2002-2016/1-12/1/0 RF xy kg/m2/s * - 1 1 114 FINN_VEGTYP3 $ROOT/FINN/v2015-02/FINN_monthly_$YYYY_0.25x0.25.compressed.nc fire_vegtype3 2002-2016/1-12/1/0 RF xy kg/m2/s * - 1 1 114 FINN_VEGTYP4 $ROOT/FINN/v2015-02/FINN_monthly_$YYYY_0.25x0.25.compressed.nc fire_vegtype4 2002-2016/1-12/1/0 RF xy kg/m2/s * - 1 1 114 FINN_VEGTYP5 $ROOT/FINN/v2015-02/FINN_monthly_$YYYY_0.25x0.25.compressed.nc fire_vegtype5 2002-2016/1-12/1/0 RF xy kg/m2/s * - 1 1 114 FINN_VEGTYP9 $ROOT/FINN/v2015-02/FINN_monthly_$YYYY_0.25x0.25.compressed.nc fire_vegtype9 2002-2016/1-12/1/0 RF xy kg/m2/s * - 1 1 ))).not.FINN_daily (((FINN_daily 114 FINN_DAILY_VEGTYP1 $ROOT/FINN/v2015-02/FINN_daily_$YYYY_0.25x0.25.compressed.nc fire_vegtype1 2002-2016/1-12/1/0 RF xy kg/m2/s * - 1 1 114 FINN_DAILY_VEGTYP2 $ROOT/FINN/v2015-02/FINN_daily_$YYYY_0.25x0.25.compressed.nc fire_vegtype2 2002-2016/1-12/1/0 RF xy kg/m2/s * - 1 1 114 FINN_DAILY_VEGTYP3 $ROOT/FINN/v2015-02/FINN_daily_$YYYY_0.25x0.25.compressed.nc fire_vegtype3 2002-2016/1-12/1/0 RF xy kg/m2/s * - 1 1 114 FINN_DAILY_VEGTYP4 $ROOT/FINN/v2015-02/FINN_daily_$YYYY_0.25x0.25.compressed.nc fire_vegtype4 2002-2016/1-12/1/0 RF xy kg/m2/s * - 1 1 114 FINN_DAILY_VEGTYP5 $ROOT/FINN/v2015-02/FINN_daily_$YYYY_0.25x0.25.compressed.nc fire_vegtype5 2002-2016/1-12/1/0 RF xy kg/m2/s * - 1 1 114 FINN_DAILY_VEGTYP9 $ROOT/FINN/v2015-02/FINN_daily_$YYYY_0.25x0.25.compressed.nc fire_vegtype9 2002-2016/1-12/1/0 RF xy kg/m2/s * - 1 1 )))FINN_daily )))EMISSIONS ############################################################################### ### NON-EMISSIONS DATA (subsection of BASE EMISSIONS SECTION) ### ### Non-emissions data. The following fields are read through HEMCO but do ### not contain emissions data. The extension number is set to wildcard ### character denoting that these fields will not be considered for emission ### calculation. A given entry is only read if the assigned species name is ### an HEMCO species. ############################################################################### #============================================================================== # --- Time zones (offset to UTC) --- #============================================================================== * TIMEZONES $ROOT/TIMEZONES/v2024-02/timezones_vohra_2017_0.1x0.1.nc UTC_OFFSET 2017/1-12/1/0 C xy count * - 1 1 #============================================================================== # --- Meteorology fields --- #============================================================================== (((METEOROLOGY >>>include ${RUNDIR_MET_FIELD_CONFIG} )))METEOROLOGY #============================================================================== # --- GEOS-Chem restart file --- #============================================================================== (((GC_RESTART * SPC_ ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 SpeciesRst_?ALL? $YYYY/$MM/$DD/$HH EFYO xyz 1 * - 1 1 * DELPDRY ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Met_DELPDRY $YYYY/$MM/$DD/$HH EY xyz 1 * - 1 1 * OCEAN_Hg0 ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Chem_OceanHg0 $YYYY/$MM/$DD/$HH EY xy 1 * - 1 1 * OCEAN_Hg2 ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Chem_OceanHg2 $YYYY/$MM/$DD/$HH EY xy 1 * - 1 1 * OCEAN_HgP ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Chem_OceanHgP $YYYY/$MM/$DD/$HH EY xy 1 * - 1 1 * SNOW_HG_OCEAN ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Chem_SnowHgOcean $YYYY/$MM/$DD/$HH EY xy 1 * - 1 1 * SNOW_HG_LAND ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Chem_SnowHgLand $YYYY/$MM/$DD/$HH EY xy 1 * - 1 1 * SNOW_HG_OCEAN_STORED ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Chem_SnowHgOceanStored $YYYY/$MM/$DD/$HH EY xy 1 * - 1 1 * SNOW_HG_LAND_STORED ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Chem_SnowHgLandStored $YYYY/$MM/$DD/$HH EY xy 1 * - 1 1 )))GC_RESTART #============================================================================== # --- GEOS-Chem boundary condition file --- #============================================================================== (((GC_BCs * BC_ $ROOT/SAMPLE_BCs/v2019-05/tropchem/GEOSChem.BoundaryConditions.$YYYY$MM$DD_$HH$MNz.nc4 SpeciesBC_?ADV? 1900-2100/1-12/1-31/* EFY xyz 1 * - 1 1 )))GC_BCs (((CHEMISTRY_INPUT #============================================================================== # --- Oxidant fields (from GEOS-Chem 10-yr benchmark output) --- #============================================================================== (((OXIDANT_FIELDS # --- Oxidant fields [molec/cm3], for 2010-2019 --- # Consider supplying other years as necessary ${RUNDIR_Hg_GLOBAL_Br} ${RUNDIR_Hg_GLOBAL_BrO} ${RUNDIR_Hg_GLOBAL_CH4} ${RUNDIR_Hg_GLOBAL_Cl} ${RUNDIR_Hg_GLOBAL_ClO} ${RUNDIR_Hg_GLOBAL_CO} ${RUNDIR_Hg_GLOBAL_HO2} ${RUNDIR_Hg_GLOBAL_NO} ${RUNDIR_Hg_GLOBAL_NO2} ${RUNDIR_Hg_GLOBAL_O3} ${RUNDIR_Hg_GLOBAL_OH} # --- Aerosol optical depths [unitless], for 2010-2019 --- # Consider supplying other years as necessary ${RUNDIR_Hg_GLOBAL_AOD_BC} ${RUNDIR_Hg_GLOBAL_AOD_BGSULF} ${RUNDIR_Hg_GLOBAL_AOD_DST1} ${RUNDIR_Hg_GLOBAL_AOD_DST2} ${RUNDIR_Hg_GLOBAL_AOD_DST3} ${RUNDIR_Hg_GLOBAL_AOD_DST4} ${RUNDIR_Hg_GLOBAL_AOD_DST5} ${RUNDIR_Hg_GLOBAL_AOD_DST6} ${RUNDIR_Hg_GLOBAL_AOD_DST7} ${RUNDIR_Hg_GLOBAL_AOD_ICEI} ${RUNDIR_Hg_GLOBAL_AOD_OC} ${RUNDIR_Hg_GLOBAL_AOD_SO4} ${RUNDIR_Hg_GLOBAL_AOD_SSA} ${RUNDIR_Hg_GLOBAL_AOD_SSC} # --- Aerosol areas [cm2/cm3], for 2010-2019 --- # Consider supplying other years as necessary ${RUNDIR_Hg_GLOBAL_AREA_BC} ${RUNDIR_Hg_GLOBAL_AREA_BGSULF} ${RUNDIR_Hg_GLOBAL_AREA_DST1} ${RUNDIR_Hg_GLOBAL_AREA_DST2} ${RUNDIR_Hg_GLOBAL_AREA_DST3} ${RUNDIR_Hg_GLOBAL_AREA_DST4} ${RUNDIR_Hg_GLOBAL_AREA_DST5} ${RUNDIR_Hg_GLOBAL_AREA_DST6} ${RUNDIR_Hg_GLOBAL_AREA_DST7} ${RUNDIR_Hg_GLOBAL_AREA_ICEI} ${RUNDIR_Hg_GLOBAL_AREA_OC} ${RUNDIR_Hg_GLOBAL_AREA_SO4} ${RUNDIR_Hg_GLOBAL_AREA_SSA} ${RUNDIR_Hg_GLOBAL_AREA_SSC} # --- Aerosol radii [cm], for 2010-2019 --- # Consider supplying other years as necessary ${RUNDIR_Hg_GLOBAL_RADI_BC} ${RUNDIR_Hg_GLOBAL_RADI_BGSULF} ${RUNDIR_Hg_GLOBAL_RADI_DST1} ${RUNDIR_Hg_GLOBAL_RADI_DST2} ${RUNDIR_Hg_GLOBAL_RADI_DST3} ${RUNDIR_Hg_GLOBAL_RADI_DST4} ${RUNDIR_Hg_GLOBAL_RADI_DST5} ${RUNDIR_Hg_GLOBAL_RADI_DST6} ${RUNDIR_Hg_GLOBAL_RADI_DST7} ${RUNDIR_Hg_GLOBAL_RADI_ICEI} ${RUNDIR_Hg_GLOBAL_RADI_OC} ${RUNDIR_Hg_GLOBAL_RADI_SO4} ${RUNDIR_Hg_GLOBAL_RADI_SSA} ${RUNDIR_Hg_GLOBAL_RADI_SSC} # --- Other fields --- # fOA and RH (2016) and ocean_conc (2007) are unitless; PM25 (2016) is in [ug/m3] # Consider supplying other years as necessary ${RUNDIR_Hg_GLOBAL_fOA} ${RUNDIR_Hg_GLOBAL_OCEAN} ${RUNDIR_Hg_GLOBAL_PM25} ${RUNDIR_Hg_GLOBAL_RH} )))OXIDANT_FIELDS #============================================================================== # --- Data for the ocean mercury module --- #============================================================================== (((OCEAN_Hg * OCEAN_CHLA $ROOT/CHLA/v2014-07/Chl_2003.geos.1x1.nc CHLA 2003/1-12/1/0 C xy kg/m3 * - 1 1 * OCEAN_CHLA_A $ROOT/MERCURY/v2014-09/OCEAN/CHL_ocn_2009.geos.2x25.nc CHLO_A 2009/1-12/1/0 C xy 1 * - 1 1 * OCEAN_EKMAN_V $ROOT/MERCURY/v2014-09/OCEAN/ekman_upvel.geos.2x25.nc EKMAN_V 1985/1-12/1/0 C xy m/s * - 1 1 * OCEAN_MLD $ROOT/MERCURY/v2014-09/OCEAN/MLD_DReqDT.geos.2x25.nc MLD 1985/1-12/1/0 C xy m * - 1 1 * OCEAN_NPP $ROOT/MERCURY/v2014-09/OCEAN/NPP_2003.geos.2x25.nc NPP 2003/1-12/1/0 C xy kg/m2 * - 1 1 * OCEAN_NPP_A $ROOT/MERCURY/v2014-09/OCEAN/NPP_ocn_2009.geos.2x25.nc NPP_A 2009/1-12/1/0 C xy 1 * - 1 1 * OCEAN_dMLD1 $ROOT/MERCURY/v2014-09/OCEAN/dMLD1_DreqDT.geos.2x25.nc dMLD1 1985/1-12/1/0 C xy cm/s * - 1 1 * OCEAN_dMLD2 $ROOT/MERCURY/v2014-09/OCEAN/dMLD2_DreqDT.geos.2x25.nc dMLD2 1985/1-12/1/0 C xy cm/s * - 1 1 )))OCEAN_Hg #============================================================================== # --- TOMS/SBUV overhead ozone columns --- #============================================================================== (((TOMS_SBUV_O3 * TOMS_O3_COL $ROOT/TOMS_SBUV/v2015-03/TOMS_O3col_$YYYY.geos.1x1.nc TOMS 1971-2010/1-12/1/0 C xy dobsons * - 1 1 * TOMS_O3_PD $ROOT/TOMS_SBUV/v2015-03/TOMS_O3col_presentday.geos.2x25.nc TOMS_PD 1985/1-12/1/0 C xy dobsons * - 1 1 * TOMS_O3_LT $ROOT/TOMS_SBUV/v2015-03/TOMS_O3col_longterm.geos.2x25.nc TOMS_LT 1985/1-12/1/0 C xy dobsons * - 1 1 )))TOMS_SBUV_O3 )))CHEMISTRY_INPUT #============================================================================== # --- Olson land map masks --- #============================================================================== (((OLSON_LANDMAP * LANDTYPE00 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE00 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE01 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE01 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE02 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE02 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE03 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE03 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE04 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE04 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE05 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE05 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE06 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE06 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE07 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE07 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE08 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE08 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE09 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE09 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE10 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE10 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE11 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE11 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE12 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE12 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE13 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE13 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE14 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE14 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE15 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE15 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE16 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE16 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE17 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE17 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE18 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE18 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE19 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE19 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE20 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE20 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE21 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE21 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE22 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE22 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE23 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE23 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE24 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE24 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE25 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE25 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE26 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE26 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE27 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE27 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE28 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE28 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE29 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE29 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE30 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE30 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE31 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE31 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE32 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE32 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE33 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE33 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE34 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE34 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE35 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE35 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE36 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE36 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE37 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE37 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE38 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE38 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE39 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE39 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE40 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE40 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE41 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE41 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE42 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE42 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE43 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE43 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE44 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE44 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE45 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE45 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE46 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE46 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE47 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE47 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE48 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE48 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE49 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE49 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE50 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE50 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE51 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE51 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE52 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE52 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE53 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE53 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE54 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE54 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE55 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE55 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE56 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE56 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE57 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE57 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE58 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE58 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE59 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE59 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE60 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE60 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE61 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE61 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE62 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE62 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE63 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE63 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE64 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE64 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE65 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE65 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE66 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE66 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE67 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE67 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE68 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE68 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE69 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE69 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE70 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE70 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE71 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE71 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE72 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE72 1985/1/1/0 C xy 1 * - 1 1 )))OLSON_LANDMAP #============================================================================== # --- Yuan processed MODIS leaf area index data --- # # Source: Yuan et al 2011, doi:10.1016/j.rse.2011.01.001 # http://globalchange.bnu.edu.cn/research/lai # # NOTES: # (1) LAI data corresponding to each Olson land type is stored in # separate netCDF variables (XLAI00, XLAI01, ... XLAI72). # The "XLAI" denotes that the files are prepared in this way. # (2) Units are "cm2 leaf/cm2 grid box". # (3) Data is timestamped every 8 days, starting from the 2nd of the month. #============================================================================== (((YUAN_MODIS_LAI * XLAI00 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI00 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI01 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI01 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI02 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI02 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI03 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI03 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI04 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI04 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI05 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI05 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI06 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI06 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI07 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI07 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI08 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI08 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI09 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI09 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI10 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI10 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI11 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI11 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI12 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI12 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI13 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI13 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI14 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI14 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI15 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI15 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI16 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI16 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI17 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI17 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI18 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI18 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI19 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI19 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI20 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI20 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI21 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI21 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI22 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI22 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI23 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI23 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI24 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI24 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI25 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI25 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI26 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI26 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI27 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI27 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI28 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI28 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI29 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI29 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI30 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI30 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI31 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI31 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI32 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI32 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI33 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI33 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI34 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI34 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI35 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI35 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI36 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI36 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI37 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI37 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI38 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI38 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI39 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI39 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI40 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI40 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI41 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI41 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI42 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI42 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI43 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI43 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI44 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI44 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI45 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI45 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI46 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI46 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI47 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI47 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI48 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI48 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI49 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI49 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI50 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI50 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI51 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI51 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI52 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI52 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI53 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI53 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI54 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI54 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI55 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI55 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI56 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI56 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI57 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI57 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI58 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI58 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI59 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI59 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI60 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI60 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI61 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI61 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI62 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI62 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI63 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI63 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI64 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI64 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI65 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI65 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI66 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI66 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI67 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI67 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI68 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI68 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI69 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI69 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI70 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI70 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI71 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI71 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI72 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI72 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 )))YUAN_MODIS_LAI ### END SECTION BASE EMISSIONS ### ############################################################################### ### BEGIN SECTION SCALE FACTORS ############################################################################### # ScalID Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Oper # --- Scale factors for anthropogenic, artisinal, and soil emissions --- 1 ARTISANALSCALE 0.75 - - - xy 1 1 2 SOILSCALE 0.5 - - - xy 1 1 3 ZHANGZHAO_0 1.120 - - - xy 1 1 4 ZHANGZHAO_2 2.467 - - - xy 1 1 5 ZHANGZHAO_P 0.557 - - - xy 1 1 6 CHAKRABORTY_0 1.401 - - - xy 1 1 7 CHAKRABORTY_2 2.120 - - - xy 1 1 8 CHAKRABORTY_P 2.856 - - - xy 1 1 9 EMISSCONT_2 0.5 - - - xy 1 1 10 NPRI_CONT_0 1.343 - - - xy 1 1 11 EU_CONT_0 1.396 - - - xy 1 1 12 CHN_CONT_0 1.400 - - - xy 1 1 13 HgCl2_to_Hg 0.7403 - - - xy 1 1 54 COtoHg0_BB 7.16e-7 - - - xy 1 1 #============================================================================== # --- QFED2 diurnal scale factors --- # # Fire diurnal scaling factors (% per hour) from WRAP Report to Project # No. 178-6, July 2005 #============================================================================== 75 QFED2_TOD 0.1392/0.1392/0.1368/0.1368/0.1368/0.1368/0.1368/0.1368/0.1368/0.48/0.96/1.68/2.4/3.12/3.84/4.08/2.88/1.68/0.96/0.1368/0.1368/0.1368/0.1368/0.1368 - - - xy unitless 1 #============================================================================== # --- QFED vertical partitioning --- # Following Fischer et al. (2014) and Travis et al. (2016), emit 35% of QFED # emissions above the PBL. #============================================================================== 311 QFED_PBL_FRAC 0.65 - - - xy 1 1 312 QFED_FT_FRAC 0.35 - - - xy 1 1 ### END SECTION SCALE FACTORS ### ############################################################################### ### BEGIN SECTION MASKS ############################################################################### # ScalID Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Oper Lon1/Lat1/Lon2/Lat2 #============================================================================== # Country/region masks #============================================================================== 1005 USA_MASK $ROOT/MASKS/v2014-07/USA_mask.geos.1x1.nc MASK 1985/1/1/0 C xy 1 1 -140/10/-40/70 1006 CHINA_MASK $ROOT/MASKS/v2014-07/China_mask.generic.1x1.nc MASK 1985/1/1/0 C xy 1 1 70/15/125/50 1007 INDIA_MASK $ROOT/MASKS/v2014-07/India_mask.generic.1x1.nc MASK 1985/1/1/0 C xy 1 1 65/5/100/35 1008 CANADA_MASK $ROOT/MASKS/v2014-07/Canada_mask.gen.1x1.nc MASK 2000/1/1/0 C xy 1 1 -130/45/-50/85 1009 EUROPE_MASK $ROOT/MASKS/v2014-07/EU_mask.generic.1x1.nc MASK 1985/1/1/0 C xy 1 1 20/35/50/80 1010 AUSTRALIA_MASK $ROOT/MASKS/v2025-01/AU_mask.generic.0.25x0.25.nc MASK 1985/1/1/0 C xy 1 1 110/-45/155/-10 ### END SECTION MASKS ### ### END OF HEMCO INPUT FILE ### #EOC ================================================ FILE: run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.POPs ================================================ #------------------------------------------------------------------------------ # Harmonized Emissions Component (HEMCO) ! #------------------------------------------------------------------------------ #BOP # # !MODULE: HEMCO_Config.rc # # !DESCRIPTION: Contains configuration information for HEMCO. Define the # emissions inventories and corresponding file paths here. Entire # configuration files can be inserted into this configuration file with # an '>>>include' statement, e.g. '>>>include HEMCO\_Config\_test.rc' # The settings of include-files will be ignored. #\\ #\\ # !REMARKS: # See hemco.readthedocs.io for more information. # # !REVISION HISTORY: # See https://github.com/geoschem/geos-chem for complete history #EOP #------------------------------------------------------------------------------ #BOC ############################################################################### ### BEGIN SECTION SETTINGS ############################################################################### ROOT: ${RUNDIR_DATA_ROOT}/HEMCO GCAPSCENARIO: ${RUNDIR_GCAP2_SCENARIO} GCAPVERTRES: ${RUNDIR_GCAP2_VERTRES} Logfile: * DiagnPrefix: ./OutputDir/HEMCO_diagnostics DiagnFreq: Monthly Wildcard: * Separator: / Unit tolerance: 2 Negative values: 0 Only unitless scale factors: false Verbose: false VerboseOnCores: root # Accepted values: root all ### END SECTION SETTINGS ### ############################################################################### ### BEGIN SECTION EXTENSION SWITCHES ############################################################################### # ExtNr ExtName on/off Species Years avail. 0 Base : on * # ----- MAIN SWITCHES --------------------------------------------------------- --> EMISSIONS : true --> METEOROLOGY : true ${RUNDIR_MET_AVAIL} --> CHEMISTRY_INPUT : true # ----- RESTART FIELDS -------------------------------------------------------- --> GC_RESTART : true # ----- NON-EMISSIONS DATA ---------------------------------------------------- --> OXIDANT_FIELDS : true # 2010-2019 --> OLSON_LANDMAP : true # 1985 --> YUAN_MODIS_LAI : true # 2000-2020 #------------------------------------------------------------------------------ 1002 GC_POPs : on POPG_${RUNDIR_POP_SPC}/POPPOCPO_${RUNDIR_POP_SPC}/POPPBCPO_${RUNDIR_POP_SPC} ### END SECTION EXTENSION SWITCHES ### ############################################################################### ### BEGIN SECTION BASE EMISSIONS ############################################################################### # ExtNr Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Species ScalIDs Cat Hier ############################################################################### ### EXTENSION DATA (subsection of BASE EMISSIONS SECTION) ### ### These fields are needed by the extensions listed above. The assigned ExtNr ### must match the ExtNr entry in section 'Extension switches'. These fields ### are only read if the extension is enabled. The fields are imported by the ### extensions by field name. The name given here must match the name used ### in the extension's source code. ############################################################################### (((EMISSIONS #============================================================================== # --- GEOS-Chem POPs emissions (Extension 1002) --- #============================================================================== (((GC_POPs 1002 TOT_POP $ROOT/POPs/v2015-08/${RUNDIR_POP_SPC}_wildfredist.generic.1x1.nc PG_SRCE__POPG 2004/1/1/0 C xy kg/m2/s * - 1 1 1002 SURF_POP $ROOT/POPs/v2015-08/${RUNDIR_POP_SPC}_soil_conc.geos5.4x5.nc IJ_AVG_S__POPG 2009/1/1/0 C xy 1 * - 1 1 1002 SOIL_CARBON $ROOT/POPs/v2015-08/GTMM_carbon.generic.1x1.nc SOIL_CARBON 1985/1/1/0 C xy 1 * - 1 1 ${RUNDIR_GLOBAL_OC} ${RUNDIR_GLOBAL_BC} )))GC_POPs )))EMISSIONS ############################################################################### ### NON-EMISSIONS DATA (subsection of BASE EMISSIONS SECTION) ### ### Non-emissions data. The following fields are read through HEMCO but do ### not contain emissions data. The extension number is set to wildcard ### character denoting that these fields will not be considered for emission ### calculation. A given entry is only read if the assigned species name is ### an HEMCO species. ############################################################################### #============================================================================== # --- Time zones (offset to UTC) --- #============================================================================== * TIMEZONES $ROOT/TIMEZONES/v2024-02/timezones_vohra_2017_0.1x0.1.nc UTC_OFFSET 2017/1-12/1/0 C xy count * - 1 1 #============================================================================== # --- Meteorology fields --- #============================================================================== (((METEOROLOGY >>>include ${RUNDIR_MET_FIELD_CONFIG} )))METEOROLOGY #============================================================================== # --- GEOS-Chem restart file --- #============================================================================== (((GC_RESTART * SPC_ ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 SpeciesRst_?ALL? $YYYY/$MM/$DD/$HH EFYO xyz 1 * - 1 1 * DELPDRY ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Met_DELPDRY $YYYY/$MM/$DD/$HH EY xyz 1 * - 1 1 )))GC_RESTART (((CHEMISTRY_INPUT #============================================================================== # --- Oxidant fields -- #============================================================================== (((OXIDANT_FIELDS ${RUNDIR_GLOBAL_O3} ${RUNDIR_GLOBAL_OH} )))OXIDANT_FIELDS )))CHEMISTRY_INPUT #============================================================================== # --- Olson land map masks --- #============================================================================== (((OLSON_LANDMAP * LANDTYPE00 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE00 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE01 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE01 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE02 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE02 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE03 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE03 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE04 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE04 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE05 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE05 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE06 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE06 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE07 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE07 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE08 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE08 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE09 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE09 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE10 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE10 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE11 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE11 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE12 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE12 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE13 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE13 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE14 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE14 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE15 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE15 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE16 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE16 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE17 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE17 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE18 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE18 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE19 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE19 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE20 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE20 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE21 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE21 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE22 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE22 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE23 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE23 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE24 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE24 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE25 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE25 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE26 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE26 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE27 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE27 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE28 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE28 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE29 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE29 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE30 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE30 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE31 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE31 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE32 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE32 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE33 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE33 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE34 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE34 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE35 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE35 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE36 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE36 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE37 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE37 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE38 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE38 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE39 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE39 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE40 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE40 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE41 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE41 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE42 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE42 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE43 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE43 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE44 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE44 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE45 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE45 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE46 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE46 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE47 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE47 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE48 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE48 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE49 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE49 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE50 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE50 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE51 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE51 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE52 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE52 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE53 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE53 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE54 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE54 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE55 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE55 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE56 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE56 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE57 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE57 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE58 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE58 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE59 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE59 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE60 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE60 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE61 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE61 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE62 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE62 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE63 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE63 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE64 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE64 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE65 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE65 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE66 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE66 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE67 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE67 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE68 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE68 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE69 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE69 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE70 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE70 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE71 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE71 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE72 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE72 1985/1/1/0 C xy 1 * - 1 1 )))OLSON_LANDMAP #============================================================================== # --- Yuan processed MODIS leaf area index data --- # # Source: Yuan et al 2011, doi:10.1016/j.rse.2011.01.001 # http://globalchange.bnu.edu.cn/research/lai # # NOTES: # (1) LAI data corresponding to each Olson land type is stored in # separate netCDF variables (XLAI00, XLAI01, ... XLAI72). # The "XLAI" denotes that the files are prepared in this way. # (2) Units are "cm2 leaf/cm2 grid box". # (3) Data is timestamped every 8 days, starting from the 2nd of the month. #============================================================================== (((YUAN_MODIS_LAI * XLAI00 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI00 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI01 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI01 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI02 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI02 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI03 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI03 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI04 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI04 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI05 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI05 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI06 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI06 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI07 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI07 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI08 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI08 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI09 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI09 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI10 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI10 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI11 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI11 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI12 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI12 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI13 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI13 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI14 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI14 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI15 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI15 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI16 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI16 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI17 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI17 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI18 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI18 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI19 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI19 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI20 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI20 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI21 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI21 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI22 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI22 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI23 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI23 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI24 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI24 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI25 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI25 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI26 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI26 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI27 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI27 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI28 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI28 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI29 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI29 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI30 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI30 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI31 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI31 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI32 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI32 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI33 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI33 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI34 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI34 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI35 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI35 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI36 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI36 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI37 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI37 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI38 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI38 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI39 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI39 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI40 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI40 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI41 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI41 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI42 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI42 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI43 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI43 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI44 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI44 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI45 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI45 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI46 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI46 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI47 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI47 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI48 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI48 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI49 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI49 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI50 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI50 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI51 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI51 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI52 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI52 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI53 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI53 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI54 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI54 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI55 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI55 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI56 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI56 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI57 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI57 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI58 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI58 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI59 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI59 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI60 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI60 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI61 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI61 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI62 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI62 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI63 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI63 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI64 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI64 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI65 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI65 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI66 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI66 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI67 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI67 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI68 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI68 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI69 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI69 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI70 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI70 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI71 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI71 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI72 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI72 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 )))YUAN_MODIS_LAI ### END SECTION BASE EMISSIONS ### ############################################################################### ### BEGIN SECTION SCALE FACTORS ############################################################################### # ScalID Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Oper ### END SECTION SCALE FACTORS ### ############################################################################### ### BEGIN SECTION MASKS ############################################################################### # ScalID Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Oper Lon1/Lat1/Lon2/Lat2 ### END SECTION MASKS ### ### END OF HEMCO INPUT FILE ### #EOC ================================================ FILE: run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.TransportTracers ================================================ #------------------------------------------------------------------------------ # Harmonized Emissions Component (HEMCO) ! #------------------------------------------------------------------------------ #BOP # # !MODULE: HEMCO_Config.rc # # !DESCRIPTION: Contains configuration information for HEMCO. Define the # emissions inventories and corresponding file paths here. Entire # configuration files can be inserted into this configuration file with # an '>>>include' statement, e.g. '>>>include HEMCO\_Config\_test.rc' # The settings of include-files will be ignored. #\\ #\\ # !REMARKS: # See hemco.readthedocs.io for more information. # # !REVISION HISTORY: # See https://github.com/geoschem/geos-chem for complete history #EOP #------------------------------------------------------------------------------ #BOC ############################################################################### ### BEGIN SECTION SETTINGS ############################################################################### ROOT: ${RUNDIR_DATA_ROOT}/HEMCO GCAPSCENARIO: ${RUNDIR_GCAP2_SCENARIO} GCAPVERTRES: ${RUNDIR_GCAP2_VERTRES} Logfile: * DiagnFile: HEMCO_Diagn.rc DiagnPrefix: ./OutputDir/HEMCO_diagnostics DiagnFreq: Monthly Wildcard: * Separator: / Unit tolerance: 1 Negative values: 0 Only unitless scale factors: false Verbose: false VerboseOnCores: root # Accepted values: root all ### END SECTION SETTINGS ### ############################################################################### ### BEGIN SECTION EXTENSION SWITCHES ############################################################################### # ExtNr ExtName on/off Species Years avail. 0 Base : on * # ----- MAIN SWITCHES --------------------------------------------------------- --> EMISSIONS : true --> METEOROLOGY : true ${RUNDIR_MET_AVAIL} # ----- RESTART FIELDS -------------------------------------------------------- --> GC_RESTART : true # ----- GLOBAL INVENTORIES ---------------------------------------------------- --> EDGARv42_SF6 : true # 1970-2008 --> OCEAN_CH3I : true --> CEDS_01x01 : true # 1980-2019 --> EDGARv43 : false # 1970-2010 --> HTAP : false # 2008-2010 --> UNIFORM_CO : true # ----- NON-EMISSIONS DATA ---------------------------------------------------- --> OLSON_LANDMAP : true # 1985 --> YUAN_MODIS_LAI : true # 2000-2020 #------------------------------------------------------------------------------ 100 GC_Rn-Pb-Be : on Rn222/Be7/Be7s/Be10/Be10s # ----- Always Leave Extension 100 turned on. Furthermore: # ----- Turning on ZHANG_Rn222 will use Zhang et al [2020] Rn222 emissions # ----- Turning off ZHANG_Rn222 will use default emissions (Jacob et al [1997]) 101 ZHANG_Rn222 : on Rn222 ### END SECTION EXTENSION SWITCHES ### ############################################################################### ### BEGIN SECTION BASE EMISSIONS ############################################################################### # ExtNr Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Species ScalIDs Cat Hier (((EMISSIONS #============================================================================== # SF6 emissions from EDGAR v4.2 #============================================================================== (((EDGARv42_SF6 0 EDGAR_SF6 $ROOT/SF6/v2019-01/EDGAR_v42_SF6_IPCC_2.generic.01x01.nc emi_sf6 1970-2008/1/1/0 C xy kg/m2/s SF6 - 1 1 )))EDGARv42_SF6 #============================================================================== # CH3I emitted over the oceans at rate of 1 molec/cm2/s #============================================================================== (((OCEAN_CH3I 0 SRC_2D_CH3I 1.0 - - - xy molec/cm2/s CH3I 1000 1 1 )))OCEAN_CH3I #============================================================================== # Anthropogenic CO 25-day and 50-day tracers # # Choose CEDS, EDGAR, or HTAP #============================================================================== (((CEDS_01x01 0 CEDS_CO_25_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_agr 1980-2019/1-12/1/0 C xy kg/m2/s CO_25 26 1 5 0 CEDS_CO_50_AGR - - - - - - CO_50 26 1 5 0 CEDS_CO_25_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_ene 1980-2019/1-12/1/0 C xy kg/m2/s CO_25 26 1 5 0 CEDS_CO_50_ENE - - - - - - CO_50 26 1 5 0 CEDS_CO_25_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_ind 1980-2019/1-12/1/0 C xy kg/m2/s CO_25 26 1 5 0 CEDS_CO_50_IND - - - - - - CO_50 26 1 5 0 CEDS_CO_25_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_tra 1980-2019/1-12/1/0 C xy kg/m2/s CO_25 26 1 5 0 CEDS_CO_50_TRA - - - - - - CO_50 26 1 5 0 CEDS_CO_25_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_rco 1980-2019/1-12/1/0 C xy kg/m2/s CO_25 26 1 5 0 CEDS_CO_50_RCO - - - - - - CO_50 26 1 5 0 CEDS_CO_25_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_slv 1980-2019/1-12/1/0 C xy kg/m2/s CO_25 26 1 5 0 CEDS_CO_50_SLV - - - - - - CO_50 26 1 5 0 CEDS_CO_25_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_wst 1980-2019/1-12/1/0 C xy kg/m2/s CO_25 26 1 5 0 CEDS_CO_50_WST - - - - - - CO_50 26 1 5 0 CEDS_CO_25_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_shp 1980-2019/1-12/1/0 C xy kg/m2/s CO_25 26 1 5 0 CEDS_CO_50_SHP - - - - - - CO_50 26 1 5 )))CEDS_01x01 (((EDGARv43 0 EDGAR_CO_25_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.POW.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO_25 1201/26/52 1/2 2 0 EDGAR_CO_50_POW - - - - - - CO_50 1201/26/52 1/2 2 0 EDGAR_CO_25_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.ENG.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO_25 1202/26/52 1/2 2 0 EDGAR_CO_50_ENG - - - - - - CO_50 1202/26/52 1/2 2 0 EDGAR_CO_25_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.IND.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO_25 1203/26/52 1/2 2 0 EDGAR_CO_50_IND - - - - - - CO_50 1203/26/52 1/2 2 0 EDGAR_CO_25_TRO $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.TRO.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO_25 1204/26/52 1/2 2 0 EDGAR_CO_50_TRO - - - - - - CO_50 1204/26/52 1/2 2 0 EDGAR_CO_25_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.TNG.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO_25 1205/26/52 1/2 2 0 EDGAR_CO_50_TNG - - - - - - CO_50 1205/26/52 1/2 2 0 EDGAR_CO_25_RCO $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.RCO.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO_25 1206/26/52 1/2 2 0 EDGAR_CO_50_RCO - - - - - - CO_50 1206/26/52 1/2 2 0 EDGAR_CO_25_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.PPA.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO_25 1207/26/52 1/2 2 0 EDGAR_CO_50_PPA - - - - - - CO_50 1207/26/52 1/2 2 #0 EDGAR_CO_25_AWB $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.AWB.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO_25 1209/26/52 1/2 2 #0 EDGAR_CO_50_AWB - - - - - - CO_50 1209/26/52 1/2 2 0 EDGAR_CO_25_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.SWD.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO_25 1211/26/52 1/2 2 0 EDGAR_CO_50_SWD - - - - - - CO_50 1211/26/52 1/2 2 0 EDGAR_CO_25_FFF $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.FFF.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO_25 1212/26/52 1/2 2 0 EDGAR_CO_50_FFF - - - - - - CO_50 1211/26/52 1/2 2 )))EDGARv43 ############################################################################### ### EXTENSION DATA (subsection of BASE EMISSIONS SECTION) ### ### These fields are needed by the extensions listed above. The assigned ExtNr ### must match the ExtNr entry in section 'Extension switches'. These fields ### are only read if the extension is enabled. The fields are imported by the ### extensions by field name. The name given here must match the name used ### in the extension's source code. ############################################################################### #============================================================================== # --- Zhang et al [2021] Rn222 emissions --- # --- cf https://acp.copernicus.org/articles/21/1861/2021/ --- #============================================================================== (((ZHANG_Rn222 101 ZHANG_Rn222_EMIS $ROOT/ZHANG_Rn222/v2021-11/Rn222_Emis_Zhang_Liu_et_al_05x05_mass.nc rnemis 2001/1-12/1/0 C xy kg/m2/s Rn222 - 1 1 )))ZHANG_Rn222 )))EMISSIONS ############################################################################### ### NON-EMISSIONS DATA (subsection of BASE EMISSIONS SECTION) ### ### Non-emissions data. The following fields are read through HEMCO but do ### not contain emissions data. The extension number is set to wildcard ### character denoting that these fields will not be considered for emission ### calculation. A given entry is only read if the assigned species name is ### an HEMCO species. ############################################################################### #============================================================================== # --- Time zones (offset to UTC) --- #============================================================================== * TIMEZONES $ROOT/TIMEZONES/v2024-02/timezones_vohra_2017_0.1x0.1.nc UTC_OFFSET 2017/1-12/1/0 C xy count * - 1 1 #============================================================================== # --- Meteorology fields --- #============================================================================== (((METEOROLOGY >>>include ${RUNDIR_MET_FIELD_CONFIG} )))METEOROLOGY #============================================================================== # --- GEOS-Chem restart file --- #============================================================================== (((GC_RESTART * SPC_ ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 SpeciesRst_?ALL? $YYYY/$MM/$DD/$HH EFYO xyz 1 * - 1 1 * DELPDRY ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Met_DELPDRY $YYYY/$MM/$DD/$HH EY xyz 1 * - 1 1 )))GC_RESTART #============================================================================== # --- Olson land map masks --- #============================================================================== (((OLSON_LANDMAP * LANDTYPE00 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE00 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE01 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE01 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE02 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE02 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE03 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE03 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE04 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE04 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE05 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE05 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE06 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE06 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE07 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE07 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE08 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE08 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE09 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE09 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE10 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE10 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE11 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE11 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE12 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE12 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE13 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE13 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE14 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE14 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE15 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE15 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE16 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE16 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE17 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE17 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE18 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE18 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE19 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE19 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE20 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE20 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE21 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE21 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE22 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE22 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE23 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE23 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE24 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE24 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE25 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE25 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE26 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE26 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE27 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE27 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE28 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE28 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE29 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE29 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE30 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE30 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE31 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE31 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE32 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE32 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE33 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE33 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE34 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE34 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE35 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE35 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE36 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE36 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE37 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE37 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE38 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE38 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE39 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE39 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE40 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE40 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE41 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE41 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE42 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE42 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE43 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE43 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE44 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE44 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE45 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE45 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE46 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE46 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE47 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE47 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE48 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE48 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE49 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE49 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE50 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE50 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE51 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE51 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE52 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE52 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE53 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE53 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE54 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE54 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE55 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE55 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE56 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE56 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE57 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE57 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE58 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE58 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE59 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE59 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE60 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE60 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE61 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE61 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE62 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE62 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE63 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE63 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE64 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE64 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE65 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE65 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE66 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE66 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE67 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE67 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE68 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE68 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE69 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE69 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE70 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE70 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE71 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE71 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE72 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE72 1985/1/1/0 C xy 1 * - 1 1 )))OLSON_LANDMAP #============================================================================== # --- Yuan processed MODIS leaf area index data --- # # Source: Yuan et al 2011, doi:10.1016/j.rse.2011.01.001 # http://globalchange.bnu.edu.cn/research/lai # # NOTES: # (1) LAI data corresponding to each Olson land type is stored in # separate netCDF variables (XLAI00, XLAI01, ... XLAI72). # The "XLAI" denotes that the files are prepared in this way. # (2) Units are "cm2 leaf/cm2 grid box". # (3) Data is timestamped every 8 days, starting from the 2nd of the month. #============================================================================== (((YUAN_MODIS_LAI * XLAI00 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI00 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI01 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI01 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI02 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI02 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI03 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI03 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI04 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI04 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI05 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI05 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI06 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI06 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI07 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI07 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI08 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI08 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI09 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI09 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI10 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI10 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI11 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI11 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI12 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI12 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI13 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI13 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI14 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI14 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI15 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI15 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI16 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI16 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI17 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI17 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI18 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI18 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI19 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI19 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI20 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI20 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI21 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI21 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI22 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI22 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI23 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI23 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI24 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI24 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI25 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI25 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI26 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI26 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI27 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI27 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI28 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI28 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI29 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI29 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI30 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI30 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI31 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI31 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI32 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI32 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI33 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI33 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI34 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI34 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI35 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI35 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI36 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI36 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI37 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI37 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI38 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI38 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI39 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI39 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI40 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI40 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI41 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI41 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI42 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI42 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI43 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI43 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI44 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI44 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI45 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI45 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI46 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI46 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI47 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI47 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI48 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI48 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI49 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI49 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI50 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI50 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI51 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI51 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI52 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI52 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI53 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI53 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI54 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI54 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI55 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI55 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI56 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI56 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI57 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI57 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI58 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI58 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI59 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI59 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI60 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI60 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI61 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI61 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI62 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI62 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI63 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI63 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI64 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI64 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI65 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI65 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI66 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI66 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI67 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI67 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI68 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI68 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI69 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI69 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI70 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI70 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI71 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI71 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI72 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI72 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 )))YUAN_MODIS_LAI ### END SECTION BASE EMISSIONS ### ############################################################################### ### BEGIN SECTION SCALE FACTORS ############################################################################### # ScalID Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Oper (((EMISSIONS #============================================================================== # --- Annual scale factors --- #============================================================================== (((HTAP 6 LIQFUEL_THISYR $ROOT/AnnualScalar/v2014-07/AnnualScalar.geos.1x1.nc COscalar 1985-2010/1/1/0 C xy 1 1 28 LIQFUEL_2008_2010 $ROOT/AnnualScalar/v2014-07/AnnualScalar.geos.1x1.nc COscalar 2008-2010/1/1/0 C xy 1 -1 )))HTAP #============================================================================== # --- Diurnal scale factors --- #============================================================================== 26 GEIA_TOD_FOSSIL 0.45/0.45/0.6/0.6/0.6/0.6/1.45/1.45/1.45/1.45/1.4/1.4/1.4/1.4/1.45/1.45/1.45/1.45/0.65/0.65/0.65/0.65/0.45/0.45 - - - xy unitless 1 #============================================================================== # --- VOC speciations --- #============================================================================== (((EDGARv43 52 COPROD_FOSSIL 1.02 - - - xy unitless 1 )))EDGARv43 #============================================================================== # --- EDGAR 4.3.1 --- # Using data of 2010, the calculated seasonal ratio for different species in the # same sector are nearly identical, possibly due to consistent activity data used. # Therefore we use the seasonal scale factors of CO in 2010 for most sectors, # except for AGR, AWB and SOL. # For AGR, the NH3 AGR seasonal scale factors are used. # For AWB, the CO AGR seasonal scale factors are used. # For SOL, the NOx AGR seasonal scale factors are used. #============================================================================== (((EDGARv43 1201 POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc POW 2010/1-12/1/0 C xy unitless 1 1202 ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc ENG 2010/1-12/1/0 C xy unitless 1 1203 IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc IND 2010/1-12/1/0 C xy unitless 1 1204 TRO $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc TRO 2010/1-12/1/0 C xy unitless 1 1205 TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc TNG 2010/1-12/1/0 C xy unitless 1 1206 RCO $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc RCO 2010/1-12/1/0 C xy unitless 1 1207 PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc PPA 2010/1-12/1/0 C xy unitless 1 1208 AGR $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc AGR 2010/1-12/1/0 C xy unitless 1 1209 AWB $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc AWB 2010/1-12/1/0 C xy unitless 1 1210 SOL $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc SOL 2010/1-12/1/0 C xy unitless 1 1211 SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc SWD 2010/1-12/1/0 C xy unitless 1 1212 FFF $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc FFF 2010/1-12/1/0 C xy unitless 1 )))EDGARv43 )))EMISSIONS ### END SECTION SCALE FACTORS ### ############################################################################### ### BEGIN SECTION MASKS ############################################################################### # ScalID Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Oper Lon1/Lat1/Lon2/Lat2 (((EMISSIONS (((OCEAN_CH3I ${RUNDIR_OCEAN_MASK} )))OCEAN_CH3I )))EMISSIONS ### END SECTION MASKS ### ### END OF HEMCO INPUT FILE ### #EOC ================================================ FILE: run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.aerosol ================================================ #------------------------------------------------------------------------------ # Harmonized Emissions Component (HEMCO) ! #------------------------------------------------------------------------------ #BOP # # !MODULE: HEMCO_Config.rc # # !DESCRIPTION: Contains configuration information for HEMCO. Define the # emissions inventories and corresponding file paths here. Entire # configuration files can be inserted into this configuration file with # an '>>>include' statement, e.g. '>>>include HEMCO\_Config\_test.rc' # The settings of include-files will be ignored. #\\ #\\ # !REMARKS: # See hemco.readthedocs.io for more information. # # !REVISION HISTORY: # See https://github.com/geoschem/geos-chem for complete history #EOP #------------------------------------------------------------------------------ #BOC ############################################################################### ### BEGIN SECTION SETTINGS ############################################################################### ROOT: ${RUNDIR_DATA_ROOT}/HEMCO GCAPSCENARIO: ${RUNDIR_GCAP2_SCENARIO} GCAPVERTRES: ${RUNDIR_GCAP2_VERTRES} Logfile: * DiagnFile: HEMCO_Diagn.rc DiagnPrefix: ./OutputDir/HEMCO_diagnostics DiagnFreq: Monthly Wildcard: * Separator: / Unit tolerance: 1 Negative values: 0 Only unitless scale factors: false Verbose: false VerboseOnCores: root # Accepted values: root all ### END SECTION SETTINGS ### ############################################################################### ### BEGIN SECTION EXTENSION SWITCHES ############################################################################### # ExtNr ExtName on/off Species Years avail. 0 Base : on * # ----- MAIN SWITCHES --------------------------------------------------------- --> EMISSIONS : true --> METEOROLOGY : true ${RUNDIR_MET_AVAIL} --> CHEMISTRY_INPUT : true # ----- RESTART FIELDS -------------------------------------------------------- --> GC_RESTART : true --> HEMCO_RESTART : true # ----- NESTED GRID FIELDS ---------------------------------------------------- --> GC_BCs : ${RUNDIR_USE_BCs} # ----- REGIONAL INVENTORIES -------------------------------------------------- --> APEI : false # 1989-2014 --> NEI2016_MONMEAN : false # 2002-2020 --> DICE_Africa : false # 2013 # ----- GLOBAL INVENTORIES ---------------------------------------------------- --> CEDS_01x01 : ${RUNDIR_USE_CEDS} # 1980-2019 --> EDGARv43 : false # 1970-2010 --> HTAPv3 : false # 2000-2018 --> GEIA_NH3 : true # 1990 --> SEABIRD_NH3 : true # 1990 --> DECAYING_PLANTS : true # 1985 --> AFCID : true # 2015 # ----- AIRCRAFT EMISSIONS ---------------------------------------------------- # There are 3 switches: # # 1. AEIC2019_DAILY selects daily AEIC 2019 emissions. For most simulations, # this is not recommended due to the amount of computational overhead # that will be incurred in regridding. But this may be useful for # research purposes. Recommended setting: "AEIC2019_DAILY: false". # # 2. AEIC2019_MONMEAN selects monthly-mean AEIC 2019 emisisons, which will # incur much less computational overhaead. This option should suffice # for most simulations. Recommended setting "AEIC2019_MONMEAN: true". # # 3. AEIC_SCALE_1990_2019: If "false", the AEIC 2019 data from the year # 2019 alone will be used. This will yield a "best estimate" of # aviation emisssion. This could be important because simply scaling # aviation emissions up and down is rather nonphysical. But if # AEIC_SCALE_1990_2019 is set to true, then aviation emissions for # 1990 to 2019 are estimated by: # # a. Scaling ALL aviation emissions based on the growth in fuelburn # from 1990 to 2019* estimated by Lee et al. (2021) # # Recommended setting: "AEIC_SCALE_1990_2019: true" # # See additional notes in the AEIC scale factor section below. #------------------------------------------------------------------------------ --> AEIC2019_DAILY : false # 2019 (daily data) --> AEIC2019_MONMEAN : ${RUNDIR_USE_AEIC} # 2019 (monthly-mean data) --> AEIC_SCALE_1990_2019 : ${RUNDIR_USE_AEIC} # Scale to year in 1990-2019 # ----- SHIP EMISSIONS -------------------------------------------------------- --> SHIP : true --> CEDS_01x01_SHIP : ${RUNDIR_USE_CEDS} # 1980-2019 --> HTAPv3_SHIP : false # 2000-2018 # ----- RCP FUTURE EMISSIONS -------------------------------------------------- --> RCP_3PD : false # 2005-2100 --> RCP_45 : false # 2005-2100 --> RCP_60 : false # 2005-2100 --> RCP_85 : false # 2005-2100 # ----- CMIP6 ANTHRO EMISSIONS / BOUNDARY CONDITIONS -------------------------- # Set GCAPSCENARIO (e.g., HIST, SSP585) above in SECTION SETTINGS --> CMIP6_SFC_BC : ${RUNDIR_CMIP6_FIELDS} # 1750-2100 --> CMIP6_SFC_LAND_ANTHRO : ${RUNDIR_CMIP6_FIELDS} # 1850-2100 --> CMIP6_AIRCRAFT : ${RUNDIR_CMIP6_FIELDS} # 1850-2100 --> CMIP6_SHIP : ${RUNDIR_CMIP6_FIELDS} # 1850-2100 # ----- BIOMASS BURNING EMISSIONS --------------------------------------------- --> QFED2 : false # 2000-2020 --> GFAS : false # 2003-2021 --> BB4MIPS : ${RUNDIR_CMIP6_FIELDS} # 1850-2100 --> GFED4_CLIMATOLOGY : false # If true, turn off GFED ext below --> FINNv25 : false # 2012-2023 # ----- OFFLINE EMISSIONS ----------------------------------------------------- # To use online emissions instead set the offline emissions to 'false' and the # corresponding HEMCO extension to 'on': # OFFLINE_DUST - DustL23M # OFFLINE_BIOGENICVOC - MEGAN # OFFLINE_SEASALT - SeaSalt # OFFLINE_SOILNOX - SoilNOx # # NOTE: When switching between offline and online emissions, make sure to also # update ExtNr and Cat in HEMCO_Diagn.rc to properly save out emissions for # any affected species. #------------------------------------------------------------------------------ --> OFFLINE_DUST : ${RUNDIR_OFFLINE_DUST} # 1980-2019 --> OFFLINE_BIOGENICVOC : ${RUNDIR_OFFLINE_BIOVOC} # 1980-2020 --> OFFLINE_SEASALT : ${RUNDIR_OFFLINE_SEASALT} # 1980-2019 --> CalcBrSeasalt : false --> OFFLINE_SOILNOX : ${RUNDIR_OFFLINE_SOILNOX} # 1980-2020 # ----- NON-EMISSIONS DATA ---------------------------------------------------- --> UVALBEDO : true # 1985 --> OMOC_RATIO : false # 2010 --> OXIDANT_FIELDS : true # 2010-2019 --> OLSON_LANDMAP : true # 1985 --> YUAN_MODIS_LAI : true # 2000-2020 --> RRTMG : ${RUNDIR_USE_RRTMG} # 2002 # ----------------------------------------------------------------------------- 100 Custom : off - 101 SeaFlux : on DMS 107 SeaSalt : ${RUNDIR_SEASALT_EXT} SALA/SALC/SALACL/SALCCL/SALAAL/SALCAL/BrSALA/BrSALC/MOPO/MOPI --> SALA lower radius : 0.01 --> SALA upper radius : 0.5 --> SALC lower radius : 0.5 --> SALC upper radius : 8.0 --> Reduce SS cold water : true --> Blowing Snow SS : true --> NH FYI snow salinity : 0.1 --> NH MYI snow salinity : 0.05 --> SH FYI snow salinity : 0.03 --> SH MYI snow salinity : 0.015 --> NH snow age : 3.0 --> SH snow age : 1.5 --> N per snowflake : 5.0 --> Model sea salt Br- : false --> Br- mass ratio : 2.11e-3 108 MEGAN : ${RUNDIR_MEGAN_EXT} ISOP/ACET/PRPE/C2H4/ALD2/MOH/EOH/MTPA/MTPO/LIMO/SESQ/SOAP/SOAS --> Isoprene scaling : 1.0 --> CO2 inhibition : true --> CO2 conc (ppmv) : 390.0 --> Isoprene to SOAP : 0.015 --> Isoprene to SOAS : 0.015 --> Monoterp to SOAP : 0.050 --> Monoterp to SOAS : 0.050 --> Othrterp to SOAP : 0.050 --> Othrterp to SOAS : 0.050 111 GFED : ${RUNDIR_GFED_EXT} NO/CO/ALK4/ACET/MEK/ALD2/PRPE/C2H2/C2H4/C3H8/CH2O/C2H6/SO2/NH3/BCPO/BCPI/OCPO/OCPI/POG1/POG2/MTPA/BENZ/TOLU/XYLE/NAP/EOH/MOH/SOAP/FURA/PHEN/MVK/ISOP/ACTA/MGLY/GLYX/RCHO --> GFED4 : true --> GFED_daily : false --> GFED_3hourly : false --> Scaling_CO : 1.05 --> Scaling_NAP : 2.75e-4 --> hydrophilic BC : 0.2 --> hydrophilic OC : 0.5 --> fraction POG1 : 0.49 --> CO to SOAP : 0.013 --> GFED_subgrid_coag : false 117 Volcano : on SO2 --> Volcano_Source : AeroCom --> Volcano_Table : ${RUNDIR_VOLC_TABLE} --> Volcano_Climatology : ${RUNDIR_VOLC_CLIMATOLOGY} 125 DustL23M : on TDST/DSTbin1/DSTbin2/DSTbin3/DSTbin4/DSTbin5/DSTbin6/DSTbin7 --> Mass tuning factor : ${RUNDIR_DUSTL23M_TF} ### END SECTION EXTENSION SWITCHES ### ############################################################################### ### BEGIN SECTION BASE EMISSIONS ############################################################################### # ExtNr Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Species ScalIDs Cat Hier (((EMISSIONS #============================================================================== # --- APEI (Canada) --- #============================================================================== (((APEI 0 APEI_SOAP $ROOT/APEI/v2016-11/APEI.0.1x0.1.nc CO 1989-2014/1/1/0 RF xy kg/m2/s CO 26/52/1002/280 1 30 0 APEI_SO2 $ROOT/APEI/v2016-11/APEI.0.1x0.1.nc SOx 1989-2014/1/1/0 RF xy kg/m2/s SO2 60/1002 1 30 0 APEI_SO4 - - - - - - SO4 60/65/1002 1 30 0 APEI_pFe - - - - - - pFe 60/68/1002 1 30 0 APEI_NH3 $ROOT/APEI/v2016-11/APEI.0.1x0.1.nc NH3 1989-2014/1/1/0 RF xy kg/m2/s NH3 1002 1 30 0 APEI_BCPI $ROOT/APEI/v2016-11/APEI.0.1x0.1.nc EC 1989-2014/1/1/0 RF xy kg/m2/s BCPI 70/1002 1 30 0 APEI_BCPO $ROOT/APEI/v2016-11/APEI.0.1x0.1.nc EC 1989-2014/1/1/0 RF xy kg/m2/s BCPO 71/1002 1 30 0 APEI_OCPI $ROOT/APEI/v2016-11/APEI.0.1x0.1.nc OC 1989-2014/1/1/0 RF xy kg/m2/s OCPI 72/1002 1 30 0 APEI_OCPO $ROOT/APEI/v2016-11/APEI.0.1x0.1.nc OC 1989-2014/1/1/0 RF xy kg/m2/s OCPO 73/1002 1 30 )))APEI #============================================================================== # --- EPA NEI2016 v1 (USA) --- # # NOTES: # * Barron Henderson wrote, "The EPA emission modeling platform always # includes our best estimate of that year's emissions for Canada and Mexico # (othpt, othar, ptfire_oth). Using that estimate is likely good. However, # that can lead to a discontinuity in Mexico and Canada." # - By default only emissions over the CONUS are used (via Mask #1007) # - To include emissions over Canada and Mexico, users may revert to the old # US mask file $ROOT/MASKS/v2018-09/USA_LANDMASK_NEI2011_0.1x0.1.20160921.nc # * The base year of these emissions is 2016 and emissions are scaled to # 2002-2020 using data from the EPA Trends Report for Tier 1 CAPS (obtained # 21 Sep 2021). # - See NEI2016/v2021-06/national_tier1_caps+HEMCOscaling.xlsx for details. # - Cl2 and HCl emissions are only available for 2016 because those species # aren't included in the Tier 1 CAPS file/ #============================================================================== (((NEI2016_MONMEAN 0 EPA16_BCPI__afdustPEC $ROOT/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__afdustPEC $ROOT/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__afdustPNA $ROOT/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__afdustPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__afdustPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__afdustPOC $ROOT/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__afdustPOC $ROOT/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_SO4__afdustPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_ACET__agACET $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_ALD2__agALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__agALDX $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__agBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_C2H4__agETH $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__agETHA $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__agETOH $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__agFORM $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_PRPE__agIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__agKET $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__agMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__agNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_PRPE__agOLE $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__agPAR $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_C3H8__agPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_TOLU__agTOL $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__agXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__airportsACET $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__airportsACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s MACR 26/213/254/1007 1 50 0 EPA16_ALD2__airportsALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__airportsALDX $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__airportsBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__airportsCO $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__airportsSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__airportsETH $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__airportsETHA $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__airportsETOH $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__airportsFORM $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__airportsHONO $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__airportsIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__airportsKET $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__airportsMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NO__airportsNO $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__airportsNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__airportsOLE $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__airportsPAR $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__airportsPEC $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__airportsPEC $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__airportsPNA $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__airportsPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__airportsPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__airportsPOC $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__airportsPOC $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_C3H8__airportsPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__airportsPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__airportsSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__airportspFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__airportsSULF $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__airportsTOL $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__airportsXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__nonptACET $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__nonptACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s MACR 26/213/254/1007 1 50 0 EPA16_ALD2__nonptALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__nonptALDX $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__nonptBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_Cl2__nonptCL2 $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf CL2 2016/1-12/1/0 R xy kg/m2/s Cl2 1007 1 50 0 EPA16_CO__nonptCO $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__nonptSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__nonptETH $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__nonptETHA $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__nonptETOH $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__nonptFORM $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HCl__nonptHCL $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf HCL 2016/1-12/1/0 R xy kg/m2/s HCl 1007 1 50 0 EPA16_HNO2__nonptHONO $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__nonptIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__nonptKET $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__nonptMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__nonptNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__nonptNO $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__nonptNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__nonptOLE $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__nonptPAR $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__nonptPEC $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__nonptPEC $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__nonptPNA $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__nonptPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__nonptPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__nonptPOC $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__nonptPOC $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_C3H8__nonptPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__nonptPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__nonptSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__nonptpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__nonptSULF $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__nonptTOL $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__nonptXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__nonroadACET $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__nonroadACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s MACR 26/213/254/1007 1 50 0 EPA16_ALD2__nonroadALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__nonroadALDX $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__nonroadBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__nonroadCO $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__nonroadSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__nonroadETH $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__nonroadETHA $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__nonroadETOH $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__nonroadFORM $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__nonroadHONO $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__nonroadIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__nonroadKET $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__nonroadMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__nonroadNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__nonroadNO $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__nonroadNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__nonroadOLE $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__nonroadPAR $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__nonroadPEC $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__nonroadPEC $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__nonroadPNA $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__nonroadPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__nonroadPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__nonroadPOC $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__nonroadPOC $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_C3H8__nonroadPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__nonroadPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__nonroadSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__nonroadspFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__nonroadSULF $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__nonroadTOL $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__nonroadXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__npogACET $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__npogACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s MACR 26/213/254/1007 1 50 0 EPA16_ALD2__npogALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__npogALDX $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__npogBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_Cl2__npogCL2 $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf CL2 2016/1-12/1/0 R xy kg/m2/s Cl2 1007 1 50 0 EPA16_CO__npogCO $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__npogSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__npogETH $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__npogETHA $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__npogETOH $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__npogFORM $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__npogHONO $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__npogIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__npogKET $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__npogMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__npogNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__npogNO $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__npogNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__npogOLE $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__npogPAR $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__npogPEC $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__npogPEC $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__npogPNA $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__npogPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__npogPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__npogPOC $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__npogPOC $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_C3H8__npogPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__npogPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__npogSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__npogpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__npogSULF $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__npogTOL $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__npogXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__onroadACET $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__onroadACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s MACR 26/213/254/1007 1 50 0 EPA16_ALD2__onroadALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__onroadALDX $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__onroadBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__onroadCO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__onroadSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__onroadETH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__onroadETHA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__onroadETOH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__onroadFORM $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__onroadHONO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__onroadIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__onroadKET $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__onroadMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__onroadNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__onroadNO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__onroadNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__onroadOLE $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__onroadPAR $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__onroadPEC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__onroadPEC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__onroadPNA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__onroadPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__onroadPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__onroadPOC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__onroadPOC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_C3H8__onroadPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__onroadPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__onroadSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__onroadpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_TOLU__onroadTOL $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__onroadXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__onroad_caACET $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__onroad_caACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s MACR 26/213/254/1007 1 50 0 EPA16_ALD2__onroad_caALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__onroad_caALDX $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__onroad_caBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__onroad_caCO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP_onroad__caSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__onroad_caETH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__onroad_caETHA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__onroad_caETOH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__onroad_caFORM $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__onroad_caHONO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__onroad_caIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__onroad_caKET $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__onroad_caMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__onroad_caNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__onroad_caNO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__onroad_caNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__onroad_caOLE $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__onroad_caPAR $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__onroad_caPEC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__onroad_caPEC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__onroad_caPNA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__onroad_caPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__onroad_caPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__onroad_caPOC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__onroad_caPOC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_C3H8__onroad_caPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__onroad_caPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__onroad_caSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__onroad_capFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_TOLU__onroad_caTOL $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__onroad_caXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__railACET $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__railACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s MACR 26/213/254/1007 1 50 0 EPA16_ALD2__railALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__railALDX $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__railBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__railCO $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__railSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__railETH $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__railETHA $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__railETOH $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__railFORM $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__railHONO $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__railIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__railKET $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__railMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__railNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__railNO $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__railNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__railOLE $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__railPAR $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__railPEC $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__railPEC $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__railPNA $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__railPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__railPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__railPOC $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__railPOC $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_C3H8__railPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__railPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__railSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__railpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__railSULF $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__railTOL $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__railXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__rwcACET $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__rwcACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s MACR 26/213/254/1007 1 50 0 EPA16_ALD2__rwcALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__rwcALDX $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__rwcBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_Cl2__rwcCL2 $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf CL2 2016/1-12/1/0 R xy kg/m2/s Cl2 1007 1 50 0 EPA16_CO__rwcCO $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__rwcSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__rwcETH $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__rwcETHA $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__rwcETOH $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__rwcFORM $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__rwcHONO $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__rwcIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__rwcKET $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__rwcMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__rwcNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__rwcNO $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__rwcNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__rwcOLE $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__rwcPAR $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__rwcPEC $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__rwcPEC $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__rwcPNA $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__rwcPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__rwcPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__rwcPOC $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__rwcPOC $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_C3H8__rwcPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__rwcPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__rwcSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__rwcpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__rwcSULF $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__rwcTOL $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__rwcXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__c1c2ACET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xyz kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_ALD2__c1c2ALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xyz kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__c1c2ALDX $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xyz kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__c1c2BENZ $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xyz kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__c1c2CO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xyz kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__clc2SOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__c1c2ETH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__c1c2ETHA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__c1c2ETOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xyz kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__c1c2FORM $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xyz kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__c1c2HONO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__c1c2IOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__c1c2KET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xyz kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__c1c2MEOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xyz kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__c1c2NH3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xyz kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__c1c2NO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xyz kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__c1c2NO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xyz kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__c1c2OLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__c1c2PAR $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xyz kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__c1c2PEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__c1c2PEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__c1c2PNA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__c1c2PNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xyz kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__c1c2PNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xyz kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__c1c2POC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__c1c2POC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_C3H8__c1c2PRPA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xyz kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__c1c2PSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__c1c2SO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xyz kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__clcpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__c1c2SULF $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__c1c2TOL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xyz kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__c1c2XYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xyz kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__c3ACET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xyz kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_ALD2__c3ALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xyz kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__c3ALDX $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xyz kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__c3BENZ $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xyz kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__c3CO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xyz kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__c3SOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__c3ETH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__c3ETHA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__c3ETOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xyz kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__c3FORM $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xyz kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__c3HONO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__c3IOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__c3KET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xyz kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__c3MEOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xyz kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__c3NH3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xyz kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__c3NO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xyz kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__c3NO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xyz kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__c3OLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__c3PAR $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xyz kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__c3PEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__c3PEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__c3PNA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__c3PNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xyz kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__c3PNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xyz kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__c3POC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__c3POC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_C3H8__c3PRPA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xyz kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__c3PSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__c3SO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xyz kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__c2pFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__c3SULF $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__c3TOL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xyz kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__c3XYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xyz kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__pteguACET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xyz kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__pteguACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xyz kg/m2/s MACR 26/213/254/1007 1 50 0 EPA16_ALD2__pteguALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xyz kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__pteguALDX $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xyz kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__pteguBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xyz kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_Cl2__pteguCL2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf CL2 2016/1-12/1/0 R xyz kg/m2/s Cl2 1007 1 50 0 EPA16_CO__pteguCO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xyz kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__pteguSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__pteguETH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__pteguETHA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__pteguETOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xyz kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__pteguFORM $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xyz kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HCl__pteguHCL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf HCL 2016/1-12/1/0 R xyz kg/m2/s HCl 1007 1 50 0 EPA16_HNO2__pteguHONO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__pteguIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__pteguKET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xyz kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__pteguMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xyz kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__pteguNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xyz kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__pteguNO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xyz kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__pteguNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xyz kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__pteguOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__pteguPAR $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xyz kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__pteguPEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__pteguPEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__pteguPNA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__pteguPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xyz kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__pteguPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xyz kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__pteguPOC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__pteguPOC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_C3H8__pteguPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xyz kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__pteguPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__pteguSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xyz kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__ptegupFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__pteguSULF $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__pteguTOL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xyz kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__pteguXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xyz kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__ptogACET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xyz kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__ptogACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xyz kg/m2/s MACR 26/213/254/1007 1 50 0 EPA16_ALD2__ptogALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xyz kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__ptogALDX $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xyz kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__ptogBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xyz kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_Cl2__ptogCL2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf CL2 2016/1-12/1/0 R xyz kg/m2/s Cl2 1007 1 50 0 EPA16_CO__ptogCO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xyz kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__ptogSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__ptogETH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__ptogETHA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__ptogETOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xyz kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__ptogFORM $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xyz kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HCl__ptogHCL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf HCL 2016/1-12/1/0 R xyz kg/m2/s HCl 1007 1 50 0 EPA16_HNO2__ptogHONO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__ptogIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__ptogKET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xyz kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__ptogMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xyz kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__ptogNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xyz kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__ptogNO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xyz kgNO2/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__ptogNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xyz kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__ptogOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__ptogPAR $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xyz kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__ptogPEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__ptogPEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__ptogPNA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__ptogPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xyz kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__ptogPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xyz kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__ptogPOC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__ptogPOC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_C3H8__ptogPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xyz kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__ptogPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__ptogSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xyz kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__ptogpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__ptogSULF $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__ptogTOL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xyz kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__ptogXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xyz kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__ptnonipmACET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xyz kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__ptnonipmACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xyz kg/m2/s MACR 26/213/254/1007 1 50 0 EPA16_ALD2__ptnonipmALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xyz kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__ptnonipmALDX $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xyz kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__ptnonipmBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xyz kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_Cl2__ptnonipmCL2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf CL2 2002-2020/1-12/1/0 R xyz kg/m2/s Cl2 1007 1 50 0 EPA16_CO__ptnonipmCO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xyz kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__ptnonipmSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__ptnonipmETH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__ptnonipmETHA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__ptnonipmETOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xyz kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__ptnonipmFORM $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xyz kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HCl__ptnonipmHCL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf HCL 2002-2020/1-12/1/0 R xyz kg/m2/s HCl 1007 1 50 0 EPA16_HNO2__ptnonipmHONO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__ptnonipmIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__ptnonipmKET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xyz kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__ptnonipmMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xyz kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__ptnonipmNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xyz kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__ptnonipmNO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xyz kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__ptnonipmNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xyz kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__ptnonipmOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__ptnonipmPAR $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xyz kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__ptnonipmPEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__ptnonipmPEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__ptnonipmPNA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__ptnonipmPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xyz kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__ptnonipmPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xyz kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__ptnonipmPOC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__ptnonipmPOC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_C3H8__ptnonipmPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xyz kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__ptnonipmPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__ptnonipmSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xyz kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__ptnonipmpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__ptnonipmSULF $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__ptnonipmTOL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xyz kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__ptnonipmXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xyz kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__onroad_canACET $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_ALD2__onroad_canALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__onroad_canALDX $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__onroad_canBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__onroad_canCO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__onroad_canSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__onroad_canETH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__onroad_canETHA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__onroad_canETOH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__onroad_canFORM $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__onroad_canHONO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__onroad_canIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__onroad_canKET $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__onroad_canMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__onroad_canNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__onroad_canNO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__onroad_canNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__onroad_canOLE $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__onroad_canPAR $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__onroad_canPEC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__onroad_canPEC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__onroad_canPNA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__onroad_canPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__onroad_canPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__onroad_canPOC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__onroad_canPOC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_C3H8__onroad_canPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__onroad_canPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__onroad_canSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__onroad_canpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__onroad_canSULF $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__onroad_canTOL $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__onroad_canXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__onroad_mexACET $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__onroad_mexACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s MACR 26/213/254/1007 1 50 0 EPA16_ALD2__onroad_mexALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__onroad_mexALDX $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__onroad_mexBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__onroad_mexCO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__onroad_mexSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__onroad_mexETH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__onroad_mexETHA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__onroad_mexETOH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__onroad_mexFORM $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__onroad_mexHONO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__onroad_mexIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__onroad_mexKET $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__onroad_mexMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__onroad_mexNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__onroad_mexNO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__onroad_mexNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__onroad_mexOLE $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__onroad_mexPAR $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__onroad_mexPEC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__onroad_mexPEC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__onroad_mexPNA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__onroad_mexPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__onroad_mexPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__onroad_mexPOC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__onroad_mexPOC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_C3H8__onroad_mexPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__onroad_mexPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__onroad_mexSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__onroad_mexpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__onroad_mexSULF $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__onroad_mexTOL $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__onroad_mexXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_BCPI__othafdustPEC $ROOT/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__othafdustPEC $ROOT/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__othafdustPNA $ROOT/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__othafdustPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__othafdustPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__othafdustPOC $ROOT/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__othafdustPOC $ROOT/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_SO4__othafdustPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_ACET__otharACET $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_ALD2__otharALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__otharALDX $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__otharBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__otharCO $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__otharSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__otharETH $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__otharETHA $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__otharETOH $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__otharFORM $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__otharHONO $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__otharIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__otharKET $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__otharMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__otharNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__otharNO $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__otharNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__otharOLE $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__otharPAR $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__otharPEC $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__otharPEC $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__otharPNA $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__otharPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__otharPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__otharPOC $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__otharPOC $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_C3H8__otharPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__otharPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__otharSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__otharpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__otharSULF $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__otharTOL $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__otharXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_BCPI__othptdustPEC $ROOT/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__othptdustPEC $ROOT/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__othptdustPNA $ROOT/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__othptdustPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__othptdustPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__othptdustPOC $ROOT/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__othptdustPOC $ROOT/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_SO4__othptdustPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_ACET__othptACET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_ALD2__othptALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__othptALDX $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__othptBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__othptCO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__othptSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__othptETH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__othptETHA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__othptETOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__othptFORM $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__othptHONO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__othptIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__othptKET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__othptMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__othptNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__othptNO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__othptNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__othptOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__othptPAR $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__othptPEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__othptPEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__othptPNA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__othptPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__othptPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__othptPOC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__othptPOC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_C3H8__othptPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__othptPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__othptSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__othptpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__othptSULF $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__othptTOL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__othptXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 )))NEI2016_MONMEAN #============================================================================== # --- DICE-Africa emission inventory (Marais and Wiedinmyer, ES&T, 2016) --- # # DICE-Africa includes regional (Africa) emissions of biofuel and diffuse # anthropogenic emissions from cars and motorcycles, biofuels, charcoal making # and use, backup generators, agricultural waste burning for cooking, gas # flares, and ad-hoc/informal oil refining. # # Other pollution sources (formal industry, power generation using fossil # fuels) are from the EDGAR v4.3 inventory for CO, SO2, NH3, NOx BC, and OC. # # NMVOCs from sources not accounted for in DICE-Africa aren't included here, # as these emissions are likely to be low compared to the DICE pollution # sources and RETRO v1 as implemented in GEOS-Chem doesn't distinguish # emissions by sector/activity. # # Emissions for 2013 are defined below, but DICE-Africa also includes # emissions for 2006. Developers recommend using population change to # estimate emissions, if users want to use annual trends in pollutant # emissions to estimate in other years. #============================================================================== (((DICE_Africa # ------------------------ # Cars # ------------------------ 0 DICE_CARS_SOAP $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr SOAP 26/1008/280 1 60 0 DICE_CARS_SO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc SO2 2013/1/1/0 C xy g/m2/yr SO2 31/78/1008 1 60 0 DICE_CARS_SO4 - - - - - - SO4 31/63/1008 1 60 0 DICE_CARS_pFe - - - - - - pFe 31/78/66/1008 1 60 0 DICE_CARS_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 1 60 0 DICE_CARS_BCPO - - - - - - BCPO 71/1008 1 60 0 DICE_CARS_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008/330 1 60 0 DICE_CARS_OCPO - - - - - - OCPO 73/1008/330 1 60 # ------------------------ # Motorcycles # ------------------------ 0 DICE_MOTORCYCLES_SOAP $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr SOAP 26/1008/280 1 60 0 DICE_MOTORCYCLES_SO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc SO2 2013/1/1/0 C xy g/m2/yr SO2 31/78/1008 1 60 0 DICE_MOTORCYCLES_SO4 - - - - - - SO4 31/63/1008 1 60 0 DICE_MOTORCYCLES_pFe - - - - - - pFe 31/78/66/1008 1 60 0 DICE_MOTORCYCLES_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 1 60 0 DICE_MOTORCYCLES_BCPO - - - - - - BCPO 71/1008 1 60 0 DICE_MOTORCYCLES_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 1 60 0 DICE_MOTORCYCLES_OCPO - - - - - - OCPO 73/1008 1 60 # ------------------------ # Backup generators # ------------------------ 0 DICE_BACKUPGEN_SOAP $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr SOAP 26/1008/280 1 60 0 DICE_BACKUPGEN_SO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc SO2 2013/1/1/0 C xy g/m2/yr SO2 31/78/1008 1 60 0 DICE_BACKUPGEN_SO4 - - - - - - SO4 31/63/1008 1 60 0 DICE_BACKUPGEN_pFe - - - - - - pFe 31/78/66/1008 1 60 0 DICE_BACKUPGEN_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 1 60 0 DICE_BACKUPGEN_BCPO - - - - - - BCPO 71/1008 1 60 0 DICE_BACKUPGEN_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 1 60 0 DICE_BACKUPGEN_OCPO - - - - - - OCPO 73/1008 1 60 # ------------------------ # Charcoal production # ------------------------ 0 DICE_CHARCOALPROD_SOAP $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr SOAP 26/1008/280/320 1 60 0 DICE_CHARCOALPROD_NH3 $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc NH3 2013/1/1/0 C xy g/m2/yr NH3 1008/320 1 60 0 DICE_CHARCOALPROD_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008/320 1 60 0 DICE_CHARCOALPROD_BCPO - - - - - - BCPO 71/1008/320 1 60 0 DICE_CHARCOALPROD_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008/320 1 60 0 DICE_CHARCOALPROD_OCPO - - - - - - OCPO 73/1008/320 1 60 # ------------------------ # Flaring of natural gas # ------------------------ 0 DICE_GASFLARE_SOAP $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr SOAP 26/1008/280 1 60 0 DICE_GASFLARE_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 1 60 0 DICE_GASFLARE_BCPO - - - - - - BCPO 71/1008 1 60 0 DICE_GASFLARE_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 1 60 0 DICE_GASFLARE_OCPO - - - - - - OCPO 73/1008 1 60 # ------------------------------ # Ag waste burning for energy # ------------------------------ 0 DICE_AGBURNING_SOAP $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr SOAP 26/1008/280 2 60 0 DICE_AGBURNING_SO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc SO2 2013/1/1/0 C xy g/m2/yr SO2 31/78/1008 2 60 0 DICE_AGBURNING_SO4 - - - - - - SO4 31/63/1008 2 60 0 DICE_AGBURNING_pFe - - - - - - pFe 31/78/66/1008 2 60 0 DICE_AGBURNING_NH3 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc NH3 2013/1/1/0 C xy g/m2/yr NH3 1008 2 60 0 DICE_AGBURNING_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 2 60 0 DICE_AGBURNING_BCPO - - - - - g/m2/yr BCPO 71/1008 2 60 0 DICE_AGBURNING_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 2 60 0 DICE_AGBURNING_OCPO - - - - - g/m2/yr OCPO 73/1008 2 60 # ------------------------------ # Charcoal use # ------------------------------ 0 DICE_CHARCOALUSE_SOAP $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr SOAP 26/1008/280 2 60 0 DICE_CHARCOALUSE_NH3 $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc NH3 2013/1/1/0 C xy g/m2/yr NH3 1008 2 60 0 DICE_CHARCOALUSE_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 2 60 0 DICE_CHARCOALUSE_BCPO - - - - - - BCPO 71/1008 2 60 0 DICE_CHARCOALUSE_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 2 60 0 DICE_CHARCOALUSE_OCPO - - - - - - OCPO 73/1008 2 60 # ------------------------------ # Kerosene use # ------------------------------ 0 DICE_KEROSENE_SOAP $ROOT/DICE_Africa/v2016-10/DICE-Africa-kerosene-use-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr SOAP 26/1008/280 1 60 0 DICE_KEROSENE_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-kerosene-use-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 1 60 0 DICE_KEROSENE_BCPO - - - - - - BCPO 71/1008 1 60 0 DICE_KEROSENE_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-kerosene-use-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 1 60 0 DICE_KEROSENE_OCPO - - - - - - OCPO 73/1008 1 60 # ------------------------------ # Artisanal oil refining # ------------------------------ 0 DICE_OILREFINING_SOAP $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr SOAP 26/1008/280 1 60 0 DICE_OILREFINING_SO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc SO2 2013/1/1/0 C xy g/m2/yr SO2 31/78/1008 1 60 0 DICE_OILREFINING_SO4 - - - - - - SO4 31/63/1008 1 60 0 DICE_OILREFINING_pFe - - - - - - pFe 31/78/66/1008 1 60 0 DICE_OILREFINING_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 1 60 0 DICE_OILREFINING_BCPO - - - - - - BCPO 71/1008 1 60 0 DICE_OILREFINING_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 1 60 0 DICE_OILREFINING_OCPO - - - - - - OCPO 73/1008 1 60 # -------------------------- # Household fuelwood use # -------------------------- 0 DICE_HOUSEFUELWOOD_SOAP $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr SOAP 26/1008/280 2 60 0 DICE_HOUSEFUELWOOD_SO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc SO2 2013/1/1/0 C xy g/m2/yr SO2 31/78/1008 2 60 0 DICE_HOUSEFUELWOOD_SO4 - - - - - - SO4 31/63/1008 2 60 0 DICE_HOUSEFUELWOOD_pFe - - - - - - pFe 31/78/66/1008 2 60 0 DICE_HOUSEFUELWOOD_NH3 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc NH3 2013/1/1/0 C xy g/m2/yr NH3 1008 2 60 0 DICE_HOUSEFUELWOOD_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 2 60 0 DICE_HOUSEFUELWOOD_BCPO - - - - - - BCPO 71/1008 2 60 0 DICE_HOUSEFUELWOOD_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 2 60 0 DICE_HOUSEFUELWOOD_OCPO - - - - - - OCPO 73/1008 2 60 # --------------------------------- # Commercial (other) fuelwood use # --------------------------------- 0 DICE_OTHERFUELWOOD_SOAP $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr SOAP 26/1008/280 2 60 0 DICE_OTHERFUELWOOD_SO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc SO2 2013/1/1/0 C xy g/m2/yr SO2 31/78/1008 2 60 0 DICE_OTHERFUELWOOD_SO4 - - - - - - SO4 31/63/1008 2 60 0 DICE_OTHERFUELWOOD_pFe - - - - - - pFe 31/78/66/1008 2 60 0 DICE_OTHERFUELWOOD_NH3 $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc NH3 2013/1/1/0 C xy g/m2/yr NH3 1008 2 60 0 DICE_OTHERFUELWOOD_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 2 60 0 DICE_OTHERFUELWOOD_BCPO - - - - - - BCPO 71/1008 2 60 0 DICE_OTHERFUELWOOD_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 2 60 0 DICE_OTHERFUELWOOD_OCPO - - - - - - OCPO 73/1008 2 60 # --------------------------------------------------- # Efficient Combustion Emissions from EDGAR # This makes up for sources that DICE-Africa lacks # --------------------------------------------------- 0 AF_EDGAR_BCPI_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.POW.0.1x0.1.nc emi_bc 1970-2010/1/1/0 RF xy kg/m2/s BCPI 1201/1008/70 1 60 0 AF_EDGAR_BCPO_POW - - - - - - BCPO 1201/1008/71 1 60 0 AF_EDGAR_BCPI_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.ENG.0.1x0.1.nc emi_bc 1970-2010/1/1/0 RF xy kg/m2/s BCPI 1202/1008/70 1 60 0 AF_EDGAR_BCPO_ENG - - - - - - BCPO 1202/1008/71 1 60 0 AF_EDGAR_BCPI_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.IND.0.1x0.1.nc emi_bc 1970-2010/1/1/0 RF xy kg/m2/s BCPI 1203/1008/70 1 60 0 AF_EDGAR_BCPO_IND - - - - - - BCPO 1203/1008/71 1 60 0 AF_EDGAR_BCPI_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.TNG.0.1x0.1.nc emi_bc 1970-2010/1/1/0 RF xy kg/m2/s BCPI 1205/1008/70 1 60 0 AF_EDGAR_BCPO_TNG - - - - - - BCPO 1205/1008/71 1 60 0 AF_EDGAR_BCPI_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.SWD.0.1x0.1.nc emi_bc 1970-2010/1/1/0 RF xy kg/m2/s BCPI 1211/1008/70 1 60 0 AF_EDGAR_BCPO_SWD - - - - - - BCPO 1211/1008/71 1 60 0 AF_EDGAR_SOAP_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.POW.0.1x0.1.nc emi_co 1970-2010/1/1/0 RF xy kg/m2/s SOAP 1201/26/52/1008/280 1 60 0 AF_EDGAR_SOAP_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.ENG.0.1x0.1.nc emi_co 1970-2010/1/1/0 RF xy kg/m2/s SOAP 1202/26/52/1008/280 1 60 0 AF_EDGAR_SOAP_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.IND.0.1x0.1.nc emi_co 1970-2010/1/1/0 RF xy kg/m2/s SOAP 1203/26/52/1008/280 1 60 0 AF_EDGAR_SOAP_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.TNG.0.1x0.1.nc emi_co 1970-2010/1/1/0 RF xy kg/m2/s SOAP 1205/26/52/1008/280 1 60 0 AF_EDGAR_SOAP_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.PPA.0.1x0.1.nc emi_co 1970-2010/1/1/0 RF xy kg/m2/s SOAP 1207/26/52/1008/280 1 60 0 AF_EDGAR_SOAP_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.SWD.0.1x0.1.nc emi_co 1970-2010/1/1/0 RF xy kg/m2/s SOAP 1211/26/52/1008/280 1 60 0 AF_EDGAR_NH3_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.POW.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 RF xy kg/m2/s NH3 1201/1008 1 60 0 AF_EDGAR_NH3_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.ENG.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 RF xy kg/m2/s NH3 1202/1008 1 60 0 AF_EDGAR_NH3_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.IND.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 RF xy kg/m2/s NH3 1203/1008 1 60 0 AF_EDGAR_NH3_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.TNG.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 RF xy kg/m2/s NH3 1205/1008 1 60 0 AF_EDGAR_NH3_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.PPA.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 RF xy kg/m2/s NH3 1207/1008 1 60 0 AF_EDGAR_NH3_AGR $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.AGR.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 RF xy kg/m2/s NH3 1208/1008 1 60 0 AF_EDGAR_NH3_SOL $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.SOL.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 RF xy kg/m2/s NH3 1210/1008 1 60 0 AF_EDGAR_NH3_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.SWD.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 RF xy kg/m2/s NH3 1211/1008 1 60 0 AF_EDGAR_OCPI_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.POW.0.1x0.1.nc emi_oc 1970-2010/1/1/0 RF xy kg/m2/s OCPI 1201/1008/72 1 60 0 AF_EDGAR_OCPO_POW - - - - - - OCPO 1201/1008/73 1 60 0 AF_EDGAR_OCPI_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.ENG.0.1x0.1.nc emi_oc 1970-2010/1/1/0 RF xy kg/m2/s OCPI 1202/1008/72 1 60 0 AF_EDGAR_OCPO_ENG - - - - - - OCPO 1202/1008/73 1 60 0 AF_EDGAR_OCPI_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.IND.0.1x0.1.nc emi_oc 1970-2010/1/1/0 RF xy kg/m2/s OCPI 1203/1008/72 1 60 0 AF_EDGAR_OCPO_IND - - - - - - OCPO 1203/1008/73 1 60 0 AF_EDGAR_OCPI_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.TNG.0.1x0.1.nc emi_oc 1970-2010/1/1/0 RF xy kg/m2/s OCPI 1205/1008/72 1 60 0 AF_EDGAR_OCPO_TNG - - - - - - OCPO 1205/1008/73 1 60 0 AF_EDGAR_OCPI_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.SWD.0.1x0.1.nc emi_oc 1970-2010/1/1/0 RF xy kg/m2/s OCPI 1211/1008/72 1 60 0 AF_EDGAR_OCPO_SWD - - - - - - OCPO 1211/1008/73 1 60 0 AF_EDGAR_SO2_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.POW.0.1x0.1.nc emi_so2 1970-2010/1/1/0 RF xy kg/m2/s SO2 1201/1008 1 60 0 AF_EDGAR_SO4_POW - - - - - - SO4 1201/1008/63 1 60 0 AF_EDGAR_pFe_POW - - - - - - pFe 1201/1008/66 1 60 0 AF_EDGAR_SO2_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.ENG.0.1x0.1.nc emi_so2 1970-2010/1/1/0 RF xy kg/m2/s SO2 1202/1008 1 60 0 AF_EDGAR_SO4_ENG - - - - - - SO4 1202/1008/63 1 60 0 AF_EDGAR_pFe_ENG - - - - - - pFe 1202/1008/66 1 60 0 AF_EDGAR_SO2_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.IND.0.1x0.1.nc emi_so2 1970-2010/1/1/0 RF xy kg/m2/s SO2 1203/1008 1 60 0 AF_EDGAR_SO4_IND - - - - - - SO4 1203/1008/63 1 60 0 AF_EDGAR_pFe_IND - - - - - - pFe 1203/1008/66 1 60 0 AF_EDGAR_SO2_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.TNG.0.1x0.1.nc emi_so2 1970-2010/1/1/0 RF xy kg/m2/s SO2 1205/1008 1 60 0 AF_EDGAR_SO4_TNG - - - - - - SO4 1205/1008/63 1 60 0 AF_EDGAR_pFe_TNG - - - - - - pFe 1205/1008/66 1 60 0 AF_EDGAR_SO2_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.PPA.0.1x0.1.nc emi_so2 1970-2010/1/1/0 RF xy kg/m2/s SO2 1207/1008 1 60 0 AF_EDGAR_SO4_PPA - - - - - - SO4 1207/1008/63 1 60 0 AF_EDGAR_pFe_PPA - - - - - - pFe 1207/1008/66 1 60 0 AF_EDGAR_SO2_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.SWD.0.1x0.1.nc emi_so2 1970-2010/1/1/0 RF xy kg/m2/s SO2 1211/1008 1 60 0 AF_EDGAR_SO4_SWD - - - - - - SO4 1211/1008/63 1 60 0 AF_EDGAR_pFe_SWD - - - - - - pFe 1211/1008/66 1 60 )))DICE_Africa #============================================================================== # --- CEDS_01x01 --- # # %%% This is the default global inventory. %%% # %%% You may select either CEDS, EDGAR, HTAP or CMIP6_SFC_LAND_ANTHRO %%% # %%% for the global base emissions. %%% #============================================================================== (((CEDS_01x01 0 CEDS_SOAP_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_agr 1980-2019/1-12/1/0 C xy kg/m2/s SOAP 280/2401 1 5 0 CEDS_SOAP_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s SOAP 280/2406/706/315 1 5 0 CEDS_SOAP_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s SOAP 280/2407/707/316 1 5 0 CEDS_SOAP_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_tra 1980-2019/1-12/1/0 C xy kg/m2/s SOAP 280/2411/711 1 5 0 CEDS_SOAP_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_rco 1980-2019/1-12/1/0 C xy kg/m2/s SOAP 280/2409/709 1 5 0 CEDS_SOAP_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_slv 1980-2019/1-12/1/0 C xy kg/m2/s SOAP 280/2407/707 1 5 0 CEDS_SOAP_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_wst 1980-2019/1-12/1/0 C xy kg/m2/s SOAP 26/280 1 5 0 CEDS_SO2_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_SO2_0.1x0.1_$YYYY.nc SO2_agr 1980-2019/1-12/1/0 C xy kg/m2/s SO2 2401 1 5 0 CEDS_SO4_AGR - - - - - - SO4 63/2401 1 5 0 CEDS_pFe_AGR - - - - - - pFe 66/2401 1 5 0 CEDS_SO2_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_SO2_0.1x0.1_$YYYY.nc SO2_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s SO2 2406/706/315 1 5 0 CEDS_SO4_ENE - - - - - - SO4 63/2406/706/315 1 5 0 CEDS_pFe_ENE - - - - - - pFe 66/2406/706/315 1 5 0 CEDS_SO2_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_SO2_0.1x0.1_$YYYY.nc SO2_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s SO2 2407/707/316 1 5 0 CEDS_SO4_IND - - - - - - SO4 63/2407/707/316 1 5 0 CEDS_pFe_IND - - - - - - pFe 66/2407/707/316 1 5 0 CEDS_SO2_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_SO2_0.1x0.1_$YYYY.nc SO2_tra 1980-2019/1-12/1/0 C xy kg/m2/s SO2 2411/711 1 5 0 CEDS_SO4_TRA - - - - - - SO4 63/2411/711 1 5 0 CEDS_pFe_TRA - - - - - - pFe 66/2411/711 1 5 0 CEDS_SO2_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_SO2_0.1x0.1_$YYYY.nc SO2_rco 1980-2019/1-12/1/0 C xy kg/m2/s SO2 2409/709 1 5 0 CEDS_SO4_RCO - - - - - - SO4 63/2409/709 1 5 0 CEDS_pFe_RCO - - - - - - pFe 66/2409/709 1 5 0 CEDS_SO2_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_SO2_0.1x0.1_$YYYY.nc SO2_slv 1980-2019/1-12/1/0 C xy kg/m2/s SO2 2407/707 1 5 0 CEDS_SO4_SLV - - - - - - SO4 63/2407/707 1 5 0 CEDS_pFe_SLV - - - - - - pFe 66/2407/707 1 5 0 CEDS_SO2_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_SO2_0.1x0.1_$YYYY.nc SO2_wst 1980-2019/1-12/1/0 C xy kg/m2/s SO2 - 1 5 0 CEDS_SO4_WST - - - - - - SO4 63 1 5 0 CEDS_pFe_WST - - - - - - pFe 66 1 5 0 CEDS_NH3_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_NH3_0.1x0.1_$YYYY.nc NH3_agr 1980-2019/1-12/1/0 C xy kg/m2/s NH3 2401 1 5 0 CEDS_NH3_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_NH3_0.1x0.1_$YYYY.nc NH3_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s NH3 2406/706/315 1 5 0 CEDS_NH3_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_NH3_0.1x0.1_$YYYY.nc NH3_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s NH3 2407/707/316 1 5 0 CEDS_NH3_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_NH3_0.1x0.1_$YYYY.nc NH3_tra 1980-2019/1-12/1/0 C xy kg/m2/s NH3 2411/711 1 5 0 CEDS_NH3_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_NH3_0.1x0.1_$YYYY.nc NH3_rco 1980-2019/1-12/1/0 C xy kg/m2/s NH3 2409/709 1 5 0 CEDS_NH3_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_NH3_0.1x0.1_$YYYY.nc NH3_slv 1980-2019/1-12/1/0 C xy kg/m2/s NH3 2407/707 1 5 0 CEDS_NH3_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_NH3_0.1x0.1_$YYYY.nc NH3_wst 1980-2019/1-12/1/0 C xy kg/m2/s NH3 - 1 5 0 CEDS_BCPI_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_BC_0.1x0.1_$YYYY.nc BC_agr 1980-2019/1-12/1/0 C xy kg/m2/s BCPI 70/2401 1 5 0 CEDS_BCPO_AGR - - - - - - BCPO 71/2401 1 5 0 CEDS_BCPI_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_BC_0.1x0.1_$YYYY.nc BC_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s BCPI 70/2406/706/315 1 5 0 CEDS_BCPO_ENE - - - - - - BCPO 71/2406/706/315 1 5 0 CEDS_BCPI_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_BC_0.1x0.1_$YYYY.nc BC_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s BCPI 70/2407/707/316 1 5 0 CEDS_BCPO_IND - - - - - - BCPO 71/2407/707/316 1 5 0 CEDS_BCPI_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_BC_0.1x0.1_$YYYY.nc BC_tra 1980-2019/1-12/1/0 C xy kg/m2/s BCPI 70/2411/711 1 5 0 CEDS_BCPO_TRA - - - - - - BCPO 71/2411/711 1 5 0 CEDS_BCPI_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_BC_0.1x0.1_$YYYY.nc BC_rco 1980-2019/1-12/1/0 C xy kg/m2/s BCPI 70/2409/709 1 5 0 CEDS_BCPO_RCO - - - - - - BCPO 71/2409/709 1 5 0 CEDS_BCPI_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_BC_0.1x0.1_$YYYY.nc BC_slv 1980-2019/1-12/1/0 C xy kg/m2/s BCPI 70/2407/707 1 5 0 CEDS_BCPO_SLV - - - - - - BCPO 71/2407/707 1 5 0 CEDS_BCPI_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_BC_0.1x0.1_$YYYY.nc BC_wst 1980-2019/1-12/1/0 C xy kg/m2/s BCPI 70 1 5 0 CEDS_BCPO_WST - - - - - - BCPO 71 1 5 0 CEDS_OCPI_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_OC_0.1x0.1_$YYYY.nc OC_agr 1980-2019/1-12/1/0 C xy kg/m2/s OCPI 72/2401 1 5 0 CEDS_OCPO_AGR - - - - - - OCPO 73/2401 1 5 0 CEDS_OCPI_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_OC_0.1x0.1_$YYYY.nc OC_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s OCPI 72/2406/706/315 1 5 0 CEDS_OCPO_ENE - - - - - - OCPO 73/2406/706/315 1 5 0 CEDS_OCPI_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_OC_0.1x0.1_$YYYY.nc OC_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s OCPI 72/2407/707/316 1 5 0 CEDS_OCPO_IND - - - - - - OCPO 73/2407/707/316 1 5 0 CEDS_OCPI_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_OC_0.1x0.1_$YYYY.nc OC_tra 1980-2019/1-12/1/0 C xy kg/m2/s OCPI 72/2411/711 1 5 0 CEDS_OCPO_TRA - - - - - - OCPO 73/2411/711 1 5 0 CEDS_OCPI_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_OC_0.1x0.1_$YYYY.nc OC_rco 1980-2019/1-12/1/0 C xy kg/m2/s OCPI 72/2409/709 1 5 0 CEDS_OCPO_RCO - - - - - - OCPO 73/2409/709 1 5 0 CEDS_OCPI_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_OC_0.1x0.1_$YYYY.nc OC_slv 1980-2019/1-12/1/0 C xy kg/m2/s OCPI 72/2407/707 1 5 0 CEDS_OCPO_SLV - - - - - - OCPO 73/2407/707 1 5 0 CEDS_OCPI_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_OC_0.1x0.1_$YYYY.nc OC_wst 1980-2019/1-12/1/0 C xy kg/m2/s OCPI 72 1 5 0 CEDS_OCPO_WST - - - - - - OCPO 73 1 5 )))CEDS_01x01 #============================================================================== # --- CMIP6_SFC_LAND_ANTHRO --- # CEDS (historical) or Shared Socioeconomic Pathways (future), consistent with # the CMIP6 simulation experimental design. # # Make sure that the desired $GCAPSCENARIO is set above in SECTION SETTINGS # #============================================================================== (((CMIP6_SFC_LAND_ANTHRO 0 CMIP6_SOAP_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_agr 1750-2100/1-12/1/0 C xy kg/m2/s SOAP 26/280 1 5 0 CMIP6_SOAP_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_ene 1750-2100/1-12/1/0 C xy kg/m2/s SOAP 26/280 1 5 0 CMIP6_SOAP_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_ind 1750-2100/1-12/1/0 C xy kg/m2/s SOAP 26/280 1 5 0 CMIP6_SOAP_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_tra 1750-2100/1-12/1/0 C xy kg/m2/s SOAP 26/280 1 5 0 CMIP6_SOAP_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_rco 1750-2100/1-12/1/0 C xy kg/m2/s SOAP 26/280 1 5 0 CMIP6_SOAP_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_slv 1750-2100/1-12/1/0 C xy kg/m2/s SOAP 26/280 1 5 0 CMIP6_SOAP_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_wst 1750-2100/1-12/1/0 C xy kg/m2/s SOAP 26/280 1 5 0 CMIP6_SO2_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_agr 1750-2100/1-12/1/0 C xy kg/m2/s SO2 - 1 5 0 CMIP6_SO4_AGR - - - - - - SO4 63 1 5 0 CMIP6_pFe_AGR - - - - - - pFe 66 1 5 0 CMIP6_SO2_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_ene 1750-2100/1-12/1/0 C xy kg/m2/s SO2 - 1 5 0 CMIP6_SO4_ENE - - - - - - SO4 63 1 5 0 CMIP6_pFe_ENE - - - - - - pFe 66 1 5 0 CMIP6_SO2_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_ind 1750-2100/1-12/1/0 C xy kg/m2/s SO2 - 1 5 0 CMIP6_SO4_IND - - - - - - SO4 63 1 5 0 CMIP6_pFe_IND - - - - - - pFe 66 1 5 0 CMIP6_SO2_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_tra 1750-2100/1-12/1/0 C xy kg/m2/s SO2 - 1 5 0 CMIP6_SO4_TRA - - - - - - SO4 63 1 5 0 CMIP6_pFe_TRA - - - - - - pFe 66 1 5 0 CMIP6_SO2_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_rco 1750-2100/1-12/1/0 C xy kg/m2/s SO2 - 1 5 0 CMIP6_SO4_RCO - - - - - - SO4 63 1 5 0 CMIP6_pFe_RCO - - - - - - pFe 66 1 5 0 CMIP6_SO2_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_slv 1750-2100/1-12/1/0 C xy kg/m2/s SO2 - 1 5 0 CMIP6_SO4_SLV - - - - - - SO4 63 1 5 0 CMIP6_pFe_SLV - - - - - - pFe 66 1 5 0 CMIP6_SO2_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_wst 1750-2100/1-12/1/0 C xy kg/m2/s SO2 - 1 5 0 CMIP6_SO4_WST - - - - - - SO4 63 1 5 0 CMIP6_pFe_WST - - - - - - pFe 66 1 5 0 CMIP6_NH3_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_agr 1750-2100/1-12/1/0 C xy kg/m2/s NH3 - 1 5 0 CMIP6_NH3_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_ene 1750-2100/1-12/1/0 C xy kg/m2/s NH3 - 1 5 0 CMIP6_NH3_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_ind 1750-2100/1-12/1/0 C xy kg/m2/s NH3 - 1 5 0 CMIP6_NH3_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_tra 1750-2100/1-12/1/0 C xy kg/m2/s NH3 - 1 5 0 CMIP6_NH3_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_rco 1750-2100/1-12/1/0 C xy kg/m2/s NH3 - 1 5 0 CMIP6_NH3_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_slv 1750-2100/1-12/1/0 C xy kg/m2/s NH3 - 1 5 0 CMIP6_NH3_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_wst 1750-2100/1-12/1/0 C xy kg/m2/s NH3 - 1 5 0 CMIP6_BCPI_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_agr 1750-2100/1-12/1/0 C xy kg/m2/s BCPI 70 1 5 0 CMIP6_BCPO_AGR - - - - - - BCPO 71 1 5 0 CMIP6_BCPI_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_ene 1750-2100/1-12/1/0 C xy kg/m2/s BCPI 70 1 5 0 CMIP6_BCPO_ENE - - - - - - BCPO 71 1 5 0 CMIP6_BCPI_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_ind 1750-2100/1-12/1/0 C xy kg/m2/s BCPI 70 1 5 0 CMIP6_BCPO_IND - - - - - - BCPO 71 1 5 0 CMIP6_BCPI_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_tra 1750-2100/1-12/1/0 C xy kg/m2/s BCPI 70 1 5 0 CMIP6_BCPO_TRA - - - - - - BCPO 71 1 5 0 CMIP6_BCPI_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_rco 1750-2100/1-12/1/0 C xy kg/m2/s BCPI 70 1 5 0 CMIP6_BCPO_RCO - - - - - - BCPO 71 1 5 0 CMIP6_BCPI_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_slv 1750-2100/1-12/1/0 C xy kg/m2/s BCPI 70 1 5 0 CMIP6_BCPO_SLV - - - - - - BCPO 71 1 5 0 CMIP6_BCPI_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_wst 1750-2100/1-12/1/0 C xy kg/m2/s BCPI 70 1 5 0 CMIP6_BCPO_WST - - - - - - BCPO 71 1 5 0 CMIP6_OCPI_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_agr 1750-2100/1-12/1/0 C xy kg/m2/s OCPI 72 1 5 0 CMIP6_OCPO_AGR - - - - - - OCPO 73 1 5 0 CMIP6_OCPI_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_ene 1750-2100/1-12/1/0 C xy kg/m2/s OCPI 72 1 5 0 CMIP6_OCPO_ENE - - - - - - OCPO 73 1 5 0 CMIP6_OCPI_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_ind 1750-2100/1-12/1/0 C xy kg/m2/s OCPI 72 1 5 0 CMIP6_OCPO_IND - - - - - - OCPO 73 1 5 0 CMIP6_OCPI_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_tra 1750-2100/1-12/1/0 C xy kg/m2/s OCPI 72 1 5 0 CMIP6_OCPO_TRA - - - - - - OCPO 73 1 5 0 CMIP6_OCPI_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_rco 1750-2100/1-12/1/0 C xy kg/m2/s OCPI 72 1 5 0 CMIP6_OCPO_RCO - - - - - - OCPO 73 1 5 0 CMIP6_OCPI_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_slv 1750-2100/1-12/1/0 C xy kg/m2/s OCPI 72 1 5 0 CMIP6_OCPO_SLV - - - - - - OCPO 73 1 5 0 CMIP6_OCPI_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_wst 1750-2100/1-12/1/0 C xy kg/m2/s OCPI 72 1 5 0 CMIP6_OCPO_WST - - - - - - OCPO 73 1 5 )))CMIP6_SFC_LAND_ANTHRO #============================================================================== # CEDS (historical) or Shared Socioeconomic Pathways (future) aircraft # emissions, consistent with the CMIP6 simulation experimental design # # Make sure that the desired $GCAPSCENARIO is set above in SECTION SETTINGS # #============================================================================== (((CMIP6_AIRCRAFT 0 CMIP6_AIR_SOAP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY_AIR.$GCAP2VERTRESL.nc4 CO_air 1750-2100/1-12/1/0 C xyz kg/m2/s SOAP 280 20 1 0 CMIP6_AIR_SO2 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY_AIR.$GCAP2VERTRESL.nc4 SO2_air 1750-2100/1-12/1/0 C xyz kg/m2/s SO2 - 20 1 0 CMIP6_AIR_SO4 - - - - - - SO4 63 20 1 0 CMIP6_AIR_pFe - - - - - - pFe 66 20 1 0 CMIP6_AIR_NH3 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY_AIR.$GCAP2VERTRESL.nc4 NH3_air 1750-2100/1-12/1/0 C xyz kg/m2/s NH3 - 20 1 # Assume all BC/OC is BCPI/OCPI 0 CMIP6_AIR_BCPI $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY_AIR.$GCAPVERTRES.nc4 BC_air 1750-2100/1-12/1/0 C xyz kg/m2/s BCPI - 20 1 0 CMIP6_AIR_OCPI $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY_AIR.$GCAPVERTRES.nc4 OC_air 1750-2100/1-12/1/0 C xyz kg/m2/s OCPI - 20 1 )))CMIP6_AIRCRAFT #============================================================================== # --- EDGAR v4.3 --- # # %%% This is an optional inventory. You may select either CEDS, EDGAR, # or HTAPv3 for the global base emissions %%% # # The following emissions are not included in EDGAR and will be added: # * Wiedinmyer et al. (2014) global trash emissions # * CEDS VOC emissions # # Aviation and shipping emissions from EDGAR are not included here. # We also do not include the following sources: # - Soil emissions of NOx (SOL). These emissions are calculated via the # SoilNOx extension. # - Open biomass burning (AWB). These emissions are obtained from # GFED, QFED, FINN, or GFAS. #============================================================================== (((EDGARv43 0 EDGAR_SOAP_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.POW.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s SOAP 1201/26/52/280 1 2 0 EDGAR_SOAP_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.ENG.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s SOAP 1202/26/52/280 1 2 0 EDGAR_SOAP_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.IND.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s SOAP 1203/26/52/280 1 2 0 EDGAR_SOAP_TRO $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.TRO.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s SOAP 1204/26/52/280 1 2 0 EDGAR_SOAP_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.TNG.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s SOAP 1205/26/52/280 1 2 0 EDGAR_SOAP_RCO $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.RCO.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s SOAP 1206/26/52/280 1 2 0 EDGAR_SOAP_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.PPA.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s SOAP 1207/26/52/280 1 2 #0 EDGAR_SOAP_AWB $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.AWB.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s SOAP 1209/26/52/280 1 2 0 EDGAR_SOAP_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.SWD.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s SOAP 1211/26/52/280 1 2 0 EDGAR_NH3_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.POW.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1201 1 2 0 EDGAR_NH3_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.ENG.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1202 1 2 0 EDGAR_NH3_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.IND.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1203 1 2 0 EDGAR_NH3_TRO $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.TRO.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1204 1 2 0 EDGAR_NH3_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.TNG.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1205 1 2 0 EDGAR_NH3_RCO $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.RCO.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1206 1 2 0 EDGAR_NH3_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.PPA.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1207 1 2 0 EDGAR_NH3_AGR $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.AGR.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1208 1 2 #0 EDGAR_NH3_AWB $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.AWB.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1209 1 2 0 EDGAR_NH3_SOL $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.SOL.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1210 1 2 0 EDGAR_NH3_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.SWD.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1211 1 2 0 EDGAR_OCPI_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.POW.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1201/72 1 2 0 EDGAR_OCPO_POW - - - - - - OCPO 1201/73 1 2 0 EDGAR_OCPI_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.ENG.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1202/72 1 2 0 EDGAR_OCPO_ENG - - - - - - OCPO 1202/73 1 2 0 EDGAR_OCPI_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.IND.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1203/72 1 2 0 EDGAR_OCPO_IND - - - - - - OCPO 1203/73 1 2 0 EDGAR_OCPI_TRO $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.TRO.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1204/72 1 2 0 EDGAR_OCPO_TRO - - - - - - OCPO 1204/73 1 2 0 EDGAR_OCPI_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.TNG.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1205/72 1 2 0 EDGAR_OCPO_TNG - - - - - - OCPO 1205/73 1 2 0 EDGAR_OCPI_RCO $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.RCO.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1206/72 1 2 0 EDGAR_OCPO_RCO - - - - - - OCPO 1206/73 1 2 #0 EDGAR_OCPI_AWB $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.AWB.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1209/72 1 2 #0 EDGAR_OCPO_AWB - - - - - - OCPO 1209/73 1 2 0 EDGAR_OCPI_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.SWD.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1211/72 1 2 0 EDGAR_OCPO_SWD - - - - - - OCPO 1211/73 1 2 0 EDGAR_OCPI_FFF $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.FFF.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1212/72 1 2 0 EDGAR_OCPO_FFF - - - - - - OCPO 1212/73 1 2 0 EDGAR_SO2_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.POW.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1201 1 2 0 EDGAR_SO4_POW - - - - - - SO4 1201/63 1 2 0 EDGAR_pFe_POW - - - - - - pFe 1201/66 1 2 0 EDGAR_SO2_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.ENG.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1202 1 2 0 EDGAR_SO4_ENG - - - - - - SO4 1202/63 1 2 0 EDGAR_pFe_ENG - - - - - - pFe 1202/66 1 2 0 EDGAR_SO2_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.IND.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1203 1 2 0 EDGAR_SO4_IND - - - - - - SO4 1203/63 1 2 0 EDGAR_pFe_IND - - - - - - pFe 1203/66 1 2 0 EDGAR_SO2_TRO $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.TRO.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1204 1 2 0 EDGAR_SO4_TRO - - - - - - SO4 1204/63 1 2 0 EDGAR_pFe_TRO - - - - - - pFe 1204/66 1 2 0 EDGAR_SO2_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.TNG.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1205 1 2 0 EDGAR_SO4_TNG - - - - - - SO4 1205/63 1 2 0 EDGAR_pFe_TNG - - - - - - pFe 1205/66 1 2 0 EDGAR_SO2_RCO $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.RCO.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1206 1 2 0 EDGAR_SO4_RCO - - - - - - SO4 1206/63 1 2 0 EDGAR_pFe_RCO - - - - - - pFe 1206/66 1 2 0 EDGAR_SO2_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.PPA.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1207 1 2 0 EDGAR_SO4_PPA - - - - - - SO4 1207/63 1 2 0 EDGAR_pFe_PPA - - - - - - pFe 1207/66 1 2 #0 EDGAR_SO2_AWB $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.AWB.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1209 1 2 #0 EDGAR_SO4_AWB - - - - - - SO4 1209/63 1 2 #0 EDGAR_pFe_AWB - - - - - - pFe 1209/66 1 2 0 EDGAR_SO2_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.SWD.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1211 1 2 0 EDGAR_SO4_SWD - - - - - - SO4 1211/63 1 2 0 EDGAR_pFe_SWD - - - - - - pFe 1211/66 1 2 0 EDGAR_SO2_FFF $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.FFF.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1212 1 2 0 EDGAR_SO4_FFF - - - - - - SO4 1212/63 1 2 0 EDGAR_pFe_FFF - - - - - - pFe 1212/66 1 2 #============================================================================== # --- NAP ANTHROPOGENIC EMISSIONS: approximate from EDGAR BENZ --- # # NOTE: Although this data comes from EDGAR version 2, we are storing it # in the EDGARv42 data path for convenience. #============================================================================== 0 EDGAR_NAP $ROOT/EDGARv42/v2015-02/VOCv2/EDGAR2_1985_FF_IND.1x1geos.nc BENZ 1985/1/1/0 C xy kgC/m2/s NAP 80/81/82 1 2 #============================================================================== # --- Wiedinmyer et al. (2014) global trash emissions to be added to EDGAR --- #============================================================================== 0 TRASH_SOAP $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc CO 2008/1/1/0 C xy kg/m2/s SOAP 280 1 30 0 TRASH_SO2 $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc SO2 2008/1/1/0 C xy kg/m2/s SO2 78 1 30 0 TRASH_SO4 - - - - - - SO4 63 1 30 0 TRASH_pFe - - - - - - pFe 78/66 1 30 0 TRASH_NH3 $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc NH3 2008/1/1/0 C xy kg/m2/s NH3 - 1 30 0 TRASH_BCPI $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc BC 2008/1/1/0 C xy kg/m2/s BCPI 70 1 30 0 TRASH_BCPO - - - - - - BCPO 71 1 30 0 TRASH_OCPI $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc OC 2008/1/1/0 C xy kg/m2/s OCPI 72 1 30 0 TRASH_OCPO - - - - - - OCPO 73 1 30 )))EDGARv43 #============================================================================== # --- HTAP v3 --- # # %%% This is an optional inventory. You may select either CEDS, EDGAR, # or HTAPv3 for the global base emissions %%% # # ==> HTAPv3 ship emissions are listed in the ship emissions section below #============================================================================== (((HTAPv3 0 HTAPv3_SOAP_AGR $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_CO_0.1x0.1_$YYYY.nc CO_AGR 2000-2018/1-12/1/0 C xy kg/m2/s SOAP 26/280 1 4 0 HTAPv3_SOAP_ENE $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_CO_0.1x0.1_$YYYY.nc CO_ENE 2000-2018/1-12/1/0 C xy kg/m2/s SOAP 26/280 1 4 0 HTAPv3_SOAP_IND $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_CO_0.1x0.1_$YYYY.nc CO_IND 2000-2018/1-12/1/0 C xy kg/m2/s SOAP 26/280 1 4 0 HTAPv3_SOAP_TRA $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_CO_0.1x0.1_$YYYY.nc CO_TRA 2000-2018/1-12/1/0 C xy kg/m2/s SOAP 26/280 1 4 0 HTAPv3_SOAP_RCO $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_CO_0.1x0.1_$YYYY.nc CO_RCO 2000-2018/1-12/1/0 C xy kg/m2/s SOAP 26/280 1 4 0 HTAPv3_SOAP_SLV $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_CO_0.1x0.1_$YYYY.nc CO_SLV 2000-2018/1-12/1/0 C xy kg/m2/s SOAP 26/280 1 4 0 HTAPv3_SOAP_WST $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_CO_0.1x0.1_$YYYY.nc CO_WST 2000-2018/1-12/1/0 C xy kg/m2/s SOAP 26/280 1 4 0 HTAPv3_SO2_AGR $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_SO2_0.1x0.1_$YYYY.nc SO2_AGR 2000-2018/1-12/1/0 C xy kg/m2/s SO2 - 1 4 0 HTAPv3_SO4_AGR - - - - - - SO4 63 1 4 0 HTAPv3_pFe_AGR - - - - - - pFe 66 1 4 0 HTAPv3_SO2_ENE $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_SO2_0.1x0.1_$YYYY.nc SO2_ENE 2000-2018/1-12/1/0 C xy kg/m2/s SO2 - 1 4 0 HTAPv3_SO4_ENE - - - - - - SO4 63 1 4 0 HTAPv3_pFe_ENE - - - - - - pFe 66 1 4 0 HTAPv3_SO2_IND $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_SO2_0.1x0.1_$YYYY.nc SO2_IND 2000-2018/1-12/1/0 C xy kg/m2/s SO2 - 1 4 0 HTAPv3_SO4_IND - - - - - - SO4 63 1 4 0 HTAPv3_pFe_IND - - - - - - pFe 66 1 4 0 HTAPv3_SO2_TRA $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_SO2_0.1x0.1_$YYYY.nc SO2_TRA 2000-2018/1-12/1/0 C xy kg/m2/s SO2 - 1 4 0 HTAPv3_SO4_TRA - - - - - - SO4 63 1 4 0 HTAPv3_pFe_TRA - - - - - - pFe 66 1 4 0 HTAPv3_SO2_RCO $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_SO2_0.1x0.1_$YYYY.nc SO2_RCO 2000-2018/1-12/1/0 C xy kg/m2/s SO2 - 1 4 0 HTAPv3_SO4_RCO - - - - - - SO4 63 1 4 0 HTAPv3_pFe_RCO - - - - - - pFe 66 1 4 0 HTAPv3_SO2_SLV $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_SO2_0.1x0.1_$YYYY.nc SO2_SLV 2000-2018/1-12/1/0 C xy kg/m2/s SO2 - 1 4 0 HTAPv3_SO4_SLV - - - - - - SO4 63 1 4 0 HTAPv3_pFe_SLV - - - - - - pFe 66 1 4 0 HTAPv3_SO2_WST $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_SO2_0.1x0.1_$YYYY.nc SO2_WST 2000-2018/1-12/1/0 C xy kg/m2/s SO2 - 1 4 0 HTAPv3_SO4_WST - - - - - - SO4 63 1 4 0 HTAPv3_pFe_WST - - - - - - pFe 66 1 4 0 HTAPv3_NH3_AGR $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NH3_0.1x0.1_$YYYY.nc NH3_AGR 2000-2018/1-12/1/0 C xy kg/m2/s NH3 - 1 4 0 HTAPv3_NH3_ENE $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NH3_0.1x0.1_$YYYY.nc NH3_ENE 2000-2018/1-12/1/0 C xy kg/m2/s NH3 - 1 4 0 HTAPv3_NH3_IND $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NH3_0.1x0.1_$YYYY.nc NH3_IND 2000-2018/1-12/1/0 C xy kg/m2/s NH3 - 1 4 0 HTAPv3_NH3_TRA $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NH3_0.1x0.1_$YYYY.nc NH3_TRA 2000-2018/1-12/1/0 C xy kg/m2/s NH3 - 1 4 0 HTAPv3_NH3_RCO $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NH3_0.1x0.1_$YYYY.nc NH3_RCO 2000-2018/1-12/1/0 C xy kg/m2/s NH3 - 1 4 0 HTAPv3_NH3_SLV $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NH3_0.1x0.1_$YYYY.nc NH3_SLV 2000-2018/1-12/1/0 C xy kg/m2/s NH3 - 1 4 0 HTAPv3_NH3_WST $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NH3_0.1x0.1_$YYYY.nc NH3_WST 2000-2018/1-12/1/0 C xy kg/m2/s NH3 - 1 4 0 HTAPv3_BCPI_AGR $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_BC_0.1x0.1_$YYYY.nc BC_AGR 2000-2018/1-12/1/0 C xy kg/m2/s BCPI 70 1 4 0 HTAPv3_BCPO_AGR - - - - - - BCPO 71 1 4 0 HTAPv3_BCPI_ENE $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_BC_0.1x0.1_$YYYY.nc BC_ENE 2000-2018/1-12/1/0 C xy kg/m2/s BCPI 70 1 4 0 HTAPv3_BCPO_ENE - - - - - - BCPO 71 1 4 0 HTAPv3_BCPI_IND $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_BC_0.1x0.1_$YYYY.nc BC_IND 2000-2018/1-12/1/0 C xy kg/m2/s BCPI 70 1 4 0 HTAPv3_BCPO_IND - - - - - - BCPO 71 1 4 0 HTAPv3_BCPI_TRA $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_BC_0.1x0.1_$YYYY.nc BC_TRA 2000-2018/1-12/1/0 C xy kg/m2/s BCPI 70 1 4 0 HTAPv3_BCPO_TRA - - - - - - BCPO 71 1 4 0 HTAPv3_BCPI_RCO $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_BC_0.1x0.1_$YYYY.nc BC_RCO 2000-2018/1-12/1/0 C xy kg/m2/s BCPI 70 1 4 0 HTAPv3_BCPO_RCO - - - - - - BCPO 71 1 4 0 HTAPv3_BCPI_SLV $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_BC_0.1x0.1_$YYYY.nc BC_SLV 2000-2018/1-12/1/0 C xy kg/m2/s BCPI 70 1 4 0 HTAPv3_BCPO_SLV - - - - - - BCPO 71 1 4 0 HTAPv3_BCPI_WST $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_BC_0.1x0.1_$YYYY.nc BC_WST 2000-2018/1-12/1/0 C xy kg/m2/s BCPI 70 1 4 0 HTAPv3_BCPO_WST - - - - - - BCPO 71 1 4 0 HTAPv3_OCPI_AGR $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_OC_0.1x0.1_$YYYY.nc OC_AGR 2000-2018/1-12/1/0 C xy kg/m2/s OCPI 72 1 4 0 HTAPv3_OCPO_AGR - - - - - - OCPO 73 1 4 0 HTAPv3_POG1_AGR - - - - - - POG1 73/74/76 1 4 0 HTAPv3_POG2_AGR - - - - - - POG2 73/74/77 1 4 0 HTAPv3_OCPI_ENE $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_OC_0.1x0.1_$YYYY.nc OC_ENE 2000-2018/1-12/1/0 C xy kg/m2/s OCPI 72 1 4 0 HTAPv3_OCPO_ENE - - - - - - OCPO 73 1 4 0 HTAPv3_POG1_ENE - - - - - - POG1 73/74/76 1 4 0 HTAPv3_POG2_ENE - - - - - - POG2 73/74/77 1 4 0 HTAPv3_OCPI_IND $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_OC_0.1x0.1_$YYYY.nc OC_IND 2000-2018/1-12/1/0 C xy kg/m2/s OCPI 72 1 4 0 HTAPv3_OCPO_IND - - - - - - OCPO 73 1 4 0 HTAPv3_POG1_IND - - - - - - POG1 73/74/76 1 4 0 HTAPv3_POG2_IND - - - - - - POG2 73/74/77 1 4 0 HTAPv3_OCPI_TRA $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_OC_0.1x0.1_$YYYY.nc OC_TRA 2000-2018/1-12/1/0 C xy kg/m2/s OCPI 72 1 4 0 HTAPv3_OCPO_TRA - - - - - - OCPO 73 1 4 0 HTAPv3_POG1_TRA - - - - - - POG1 73/74/76 1 4 0 HTAPv3_POG2_TRA - - - - - - POG2 73/74/77 1 4 0 HTAPv3_OCPI_RCO $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_OC_0.1x0.1_$YYYY.nc OC_RCO 2000-2018/1-12/1/0 C xy kg/m2/s OCPI 72 1 4 0 HTAPv3_OCPO_RCO - - - - - - OCPO 73 1 4 0 HTAPv3_POG1_RCO - - - - - - POG1 73/74/76 1 4 0 HTAPv3_POG2_RCO - - - - - - POG2 73/74/77 1 4 0 HTAPv3_OCPI_SLV $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_OC_0.1x0.1_$YYYY.nc OC_SLV 2000-2018/1-12/1/0 C xy kg/m2/s OCPI 72 1 4 0 HTAPv3_OCPO_SLV - - - - - - OCPO 73 1 4 0 HTAPv3_POG1_SLV - - - - - - POG1 73/74/76 1 4 0 HTAPv3_POG2_SLV - - - - - - POG2 73/74/77 1 4 0 HTAPv3_OCPI_WST $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_OC_0.1x0.1_$YYYY.nc OC_WST 2000-2018/1-12/1/0 C xy kg/m2/s OCPI 72 1 4 0 HTAPv3_OCPO_WST - - - - - - OCPO 73 1 4 0 HTAPv3_POG1_WST - - - - - - POG1 73/74/76 1 4 0 HTAPv3_POG2_WST - - - - - - POG2 73/74/77 1 4 )))HTAPv3 #============================================================================== # --- GEIA NH3 from natural sources --- #============================================================================== (((GEIA_NH3 0 GEIA_NH3_NATU $ROOT/NH3/v2019-08/NH3_geos.2x25.nc NH3_NATU 1990/1-12/1/0 C xy kg/m2/s NH3 - 3 1 )))GEIA_NH3 #============================================================================== # --- NH3 from arctic seabirds --- # Source: Riddick et al., 2012, NERC Environmental Information Data Centre #============================================================================== (((SEABIRD_NH3 0 SEABIRD_NH3 $ROOT/NH3/v2018-04/NH3_Arctic_seabirds.nc NH3_SEABIRDS 1990/1-12/1/0 C xy kg/m2/s NH3 - 30 1 )))SEABIRD_NH3 #============================================================================== # --- Ship emissions --- # # ==> CEDS ship emissions are now the default. # ==> If CEDS_SHIP is turned off above then ARCTAS should be used over ICOADS, # CORBETT, and HTAP for SO2 and ICOADS should be used for CO and NO. #============================================================================== (((SHIP (((HTAPv3_SHIP 0 HTAPv3_SOAP_SHP $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_CO_0.1x0.1_$YYYY.nc CO_SHP 2000-2018/1-12/1/0 C xy kg/m2/s SOAP 26/280 10 4 0 HTAPv3_SO2_SHP $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_SO2_0.1x0.1_$YYYY.nc SO2_SHP 2000-2018/1-12/1/0 C xy kg/m2/s SO2 - 10 4 0 HTAPv3_SO4_SHP - - - - - - SO4 63 10 4 0 HTAPv3_pFe_SHP - - - - - - pFe 66 10 4 0 HTAPv3_NH3_SHP $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NH3_0.1x0.1_$YYYY.nc NH3_SHP 2000-2018/1-12/1/0 C xy kg/m2/s NH3 - 10 4 0 HTAPv3_BCPI_SHP $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_BC_0.1x0.1_$YYYY.nc BC_SHP 2000-2018/1-12/1/0 C xy kg/m2/s BCPI 70 10 4 0 HTAPv3_BCPO_SHP - - - - - - BCPO 71 10 4 0 HTAPv3_OCPI_SHP $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_OC_0.1x0.1_$YYYY.nc OC_SHP 2000-2018/1-12/1/0 C xy kg/m2/s OCPI 72 10 4 0 HTAPv3_OCPO_SHP - - - - - - OCPO 73 10 4 )))HTAPv3_SHIP (((CEDS_01x01_SHIP 0 CEDS_SOAP_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_shp 1980-2019/1-12/1/0 C xy kg/m2/s SOAP 26/280 10 5 0 CEDS_SO2_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_SO2_0.1x0.1_$YYYY.nc SO2_shp 1980-2019/1-12/1/0 C xy kg/m2/s SO2 - 10 5 0 CEDS_SO4_SHP - - - - - - SO4 63 10 5 0 CEDS_pFe_SHP - - - - - - pFe 66 10 5 0 CEDS_NH3_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_NH3_0.1x0.1_$YYYY.nc NH3_shp 1980-2019/1-12/1/0 C xy kg/m2/s NH3 - 10 5 0 CEDS_BCPI_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_BC_0.1x0.1_$YYYY.nc BC_shp 1980-2019/1-12/1/0 C xy kg/m2/s BCPI 70 10 5 0 CEDS_BCPO_SHP - - - - - - BCPO 71 10 5 0 CEDS_OCPI_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_OC_0.1x0.1_$YYYY.nc OC_shp 1980-2019/1-12/1/0 C xy kg/m2/s OCPI 72 10 5 0 CEDS_OCPO_SHP - - - - - - OCPO 73 10 5 0 CEDS_MOH_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_EOH_0.1x0.1_$YYYY.nc EOH_shp 1980-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 10 5 0 CEDS_EOH_SHP - - - - - - EOH 26/91 10 5 0 CEDS_ROH_SHP - - - - - - ROH 26/92 10 5 0 CEDS_C2H6_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H6_0.1x0.1_$YYYY.nc C2H6_shp 1980-2019/1-12/1/0 C xy kg/m2/s C2H6 26 10 5 0 CEDS_C3H8_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_C3H8_0.1x0.1_$YYYY.nc C3H8_shp 1980-2019/1-12/1/0 C xy kg/m2/s C3H8 26 10 5 0 CEDS_C4H10_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_butanes_0.1x0.1_$YYYY.nc ALK4_butanes_shp 1980-2019/1-12/1/0 C xy kg/m2/s ALK4 26 10 5 0 CEDS_C5H12_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_pentanes_0.1x0.1_$YYYY.nc ALK4_pentanes_shp 1980-2019/1-12/1/0 C xy kg/m2/s ALK4 26 10 5 0 CEDS_C6H14_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_hexanes_0.1x0.1_$YYYY.nc ALK4_hexanes_shp 1980-2019/1-12/1/0 C xy kg/m2/s ALK4 26 10 5 0 CEDS_C2H4_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H4_0.1x0.1_$YYYY.nc C2H4_shp 1980-2019/1-12/1/0 C xy kg/m2/s C2H4 26 10 5 0 CEDS_PRPE_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_PRPE_0.1x0.1_$YYYY.nc PRPE_shp 1980-2019/1-12/1/0 C xy kg/m2/s PRPE 26 10 5 0 CEDS_C2H2_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H2_0.1x0.1_$YYYY.nc C2H2_shp 1980-2019/1-12/1/0 C xy kg/m2/s C2H2 26 10 5 0 CEDS_BENZ_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_BENZ_0.1x0.1_$YYYY.nc BENZ_shp 1980-2019/1-12/1/0 C xy kg/m2/s BENZ 26 10 5 0 CEDS_TOLU_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_TOLU_0.1x0.1_$YYYY.nc TOLU_shp 1980-2019/1-12/1/0 C xy kg/m2/s TOLU 26 10 5 0 CEDS_XYLE_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_XYLE_0.1x0.1_$YYYY.nc XYLE_shp 1980-2019/1-12/1/0 C xy kg/m2/s XYLE 26 10 5 0 CEDS_CH2O_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_CH2O_0.1x0.1_$YYYY.nc CH2O_shp 1980-2019/1-12/1/0 C xy kg/m2/s CH2O 26 10 5 0 CEDS_ALD2_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALD2_0.1x0.1_$YYYY.nc ALD2_shp 1980-2019/1-12/1/0 C xy kg/m2/s ALD2 26 10 5 0 CEDS_MEK_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_MEK_0.1x0.1_$YYYY.nc MEK_shp 1980-2019/1-12/1/0 C xy kg/m2/s MEK 26 10 5 0 CEDS_HCOOH_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_HCOOH_0.1x0.1_$YYYY.nc HCOOH_shp 1980-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 10 5 )))CEDS_01x01_SHIP #============================================================================== # --- CMIP6_SHIP --- # CEDS (historical) or Shared Socioeconomic Pathways (future), consistent with # the CMIP6 simulation experimental design. # # Make sure that the desired $GCAPSCENARIO is set above in SECTION SETTINGS # #============================================================================== (((CMIP6_SHIP 0 CMIP6_SOAP_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_shp 1750-2100/1-12/1/0 C xy kg/m2/s SOAP 26/280 10 5 0 CMIP6_SO2_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_shp 1750-2100/1-12/1/0 C xy kg/m2/s SO2 - 10 5 0 CMIP6_SO4_SHP - - - - - - SO4 63 10 5 0 CMIP6_pFe_SHP - - - - - - pFe 66 10 5 0 CMIP6_NH3_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_shp 1750-2100/1-12/1/0 C xy kg/m2/s NH3 - 10 5 0 CMIP6_BCPI_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_shp 1750-2100/1-12/1/0 C xy kg/m2/s BCPI 70 10 5 0 CMIP6_BCPO_SHP - - - - - - BCPO 71 10 5 0 CMIP6_OCPI_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_shp 1750-2100/1-12/1/0 C xy kg/m2/s OCPI 72 10 5 0 CMIP6_OCPO_SHP - - - - - - OCPO 73 10 5 )))CMIP6_SHIP )))SHIP #============================================================================== # --- AEIC 2019 aircraft emissions --- # # Data files are for 2019, but scale factors from 1990-2019 can be applied # in order to get year-specific emissions. See the notes in the AEIC2019 # scale factor section below for more information. #============================================================================== (((AEIC2019_DAILY 0 AEIC19_DAILY_SOAP $ROOT/AEIC2019/v2022-03/2019/$MM/AEIC_2019$MM$DD.0.5x0.625.36L.nc CO 2019/1-12/1-31/0 C xyz kg/m2/s SOAP 241/280 20 1 0 AEIC19_DAILY_SO2 $ROOT/AEIC2019/v2022-03/2019/$MM/AEIC_2019$MM$DD.0.5x0.625.36L.nc FUELBURN 2019/1-12/1-31/0 C xyz kg/m2/s SO2 241/111 20 1 0 AEIC19_DAILY_pFe - - - - - - pFe 241/111/66 20 1 0 AEIC19_DAILY_SO4 - - - - - - SO4 241/112 20 1 0 AEIC19_DAILY_BCPI $ROOT/AEIC2019/v2022-03/2019/$MM/AEIC_2019$MM$DD.0.5x0.625.36L.nc BC 2019/1-12/1-31/0 C xyz kg/m2/s BCPI 241 20 1 0 AEIC19_DAILY_OCPI $ROOT/AEIC2019/v2022-03/2019/$MM/AEIC_2019$MM$DD.0.5x0.625.36L.nc OC 2019/1-12/1-31/0 C xyz kg/m2/s OCPI 241 20 1 )))AEIC2019_DAILY (((AEIC2019_MONMEAN 0 AEIC19_MONMEAN_SOAP $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc CO 2019/1-12/1/0 C xyz kg/m2/s SOAP 241/280 20 1 0 AEIC19_MONMEAN_SO2 $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc FUELBURN 2019/1-12/1/0 C xyz kg/m2/s SO2 241/111 20 1 0 AEIC19_MONMEAN_pFe - - - - - - pFe 241/111/66 20 1 0 AEIC19_MONMEAN_SO4 - - - - - - SO4 241/112 20 1 0 AEIC19_MONMEAN_BCPI $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc BC 2019/1-12/1/0 C xyz kg/m2/s BCPI 241 20 1 0 AEIC19_MONMEAN_OCPI $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc OC 2019/1-12/1/0 C xyz kg/m2/s OCPI 241 20 1 )))AEIC2019_MONMEAN #============================================================================== # --- RCP future emissions scenarios --- #============================================================================== (((RCP_3PD 0 RCP3PD_SOAP $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_CO_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s SOAP 280 1 1 0 RCP3PD_BCPO $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_BC_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s BCPO - 1 1 0 RCP3PD_OCPO $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_OC_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s OCPO - 1 1 0 RCP3PD_SO2 $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_SO2_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s SO2 - 1 1 0 RCP3PD_pFe - - - - - - pFe 66 1 1 0 RCP3PD_NH3 $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_NH3_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s NH3 - 1 1 )))RCP_3PD (((RCP_45 0 RCP45_SOAP $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_CO_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s SOAP 280 1 1 0 RCP45_BCPO $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_BC_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s BCPO - 1 1 0 RCP45_OCPO $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_OC_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s OCPO - 1 1 0 RCP45_SO2 $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_SO2_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s SO2 - 1 1 0 RCP45_pFe - - - - - - pFe 66 1 1 0 RCP45_NH3 $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_NH3_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s NH3 - 1 1 )))RCP_45 (((RCP_60 0 RCP60_SOAP $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_CO_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s SOAP 280 1 1 0 RCP60_BCPO $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_BC_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s BCPO - 1 1 0 RCP60_OCPO $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_OC_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s OCPO - 1 1 0 RCP60_SO2 $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_SO2_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s SO2 - 1 1 0 RCP60_pFe - - - - - - pFe 66 1 1 0 RCP60_NH3 $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_NH3_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s NH3 - 1 1 )))RCP_60 (((RCP_85 0 RCP85_SOAP $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_CO_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s SOAP 280 1 1 0 RCP85_BCPO $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_BC_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s BCPO - 1 1 0 RCP85_OCPO $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_OC_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s OCPO - 1 1 0 RCP85_SO2 $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_SO2_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s SO2 - 1 1 0 RCP85_pFe - - - - - - pFe 66 1 1 0 RCP85_NH3 $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_NH3_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s NH3 - 1 1 )))RCP_85 #============================================================================== # --- QFED2 biomass burning (v2.5r1) --- #============================================================================== (((QFED2 0 QFED_BCPI_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_bc.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s BCPI 70/75/311 5 2 0 QFED_BCPO_PBL - - - - - - BCPO 71/75/311 5 2 0 QFED_BCPI_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_bc.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s BCPI 70/75/312 5 2 0 QFED_BCPO_FT - - - - - - BCPO 71/75/312 5 2 0 QFED_OCPI_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_oc.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s OCPI 72/75/311 5 2 0 QFED_OCPO_PBL - - - - - - OCPO 73/75/311 5 2 0 QFED_OCPI_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_oc.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s OCPI 72/75/312 5 2 0 QFED_OCPO_FT - - - - - - OCPO 73/75/312 5 2 0 QFED_SOAP_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_co.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s SOAP 54/75/281/311 5 2 0 QFED_SOAP_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_co.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s SOAP 54/75/281/312 5 2 0 QFED_NH3_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_nh3.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s NH3 75/311 5 2 0 QFED_NH3_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_nh3.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s NH3 75/312 5 2 0 QFED_SO2_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_so2.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s SO2 75/311 5 2 0 QFED_pFe_PBL - - - - - - pFe 75/311/66 5 2 0 QFED_SO2_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_so2.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s SO2 75/312 5 2 0 QFED_pFe_FT - - - - - - pF3 75/312/66 5 2 )))QFED2 #============================================================================== # --- GFAS biomass burning --- #============================================================================== (((GFAS 0 GFAS_SOAP $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc cofire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s SOAP 75/281 5 3 0 GFAS_BCPI $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc bcfire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s BCPI 70/75 5 3 0 GFAS_BCPO $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc bcfire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s BCPO 71/75 5 3 0 GFAS_OCPI $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc ocfire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s OCPI 72/75 5 3 0 GFAS_OCPO $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc ocfire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s OCPO 73/75 5 3 0 GFAS_SO2 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc so2fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s SO2 75 5 3 0 GFAS_pFe $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc so2fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s pFe 75/66 5 3 0 GFAS_NH3 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc nh3fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s NH3 75 5 3 0 GFAS_DMS $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c2h6sfire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s DMS 75 5 3 )))GFAS (((EMISSIONS #============================================================================== # --- FINNv2.5 biomass burning --- # Uses dataset derived with combined fire detection from MODIS and VIIRS. # Data downloaded from: https://rda.ucar.edu/datasets/d312009/dataaccess/ # Uses FINN emissions processed for MOZART for multiple species not processed # for general use (not specific to any model) or for GEOS-Chem. # Naming convention of inventory developers preserved for traceability. # Description of development of data available here: # https://gmd.copernicus.org/articles/16/3873/2023/ #============================================================================== (((FINNv25 0 FINNv25_SOAP $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_CO_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_CO 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s SOAP 75/281 5 3 0 FINNv25_BCPI $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_BC_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_BC 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s BCPI 75/70 5 3 0 FINNv25_BCPO $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_BC_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_BC 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s BCPO 75/71 5 3 0 FINNv25_OCPI $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_OC_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_OC 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s OCPI 75/72 5 3 0 FINNv25_OCPO $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_OC_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_OC 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s OCPO 75/73 5 3 0 FINNv25_SO2 $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_SO2_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_SO2 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s SO2 75 5 3 0 FINNv25_NH3 $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_MOZART-NH3_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_MOZART-NH3 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s NH3 75 5 3 0 FINNv25_ACET $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-ACET_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-ACET 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s ACET 75 5 3 0 FINNv25_ALK4 $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-ALK4_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-ALK4 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s ALK4 75 5 3 0 FINNv25_PRPE $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-PRPE_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-PRPE 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s PRPE 75 5 3 0 FINNv25_C2H2 $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-C2H2_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-C2H2 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s C2H2 75 5 3 0 FINNv25_C2H4 $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-C2H4_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-C2H4 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s C2H4 75 5 3 0 FINNv25_C2H6 $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-C2H6_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-C2H6 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s C2H6 75 5 3 0 FINNv25_C3H8 $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-C3H8_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-C3H8 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s C3H8 75 5 3 0 FINNv25_CH2O $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-CH2O_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-CH2O 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s CH2O 75 5 3 0 FINNv25_ISOP $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_MOZART-ISOP_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_MOZART-ISOP 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s ISOP 75 5 3 0 FINNv25_BENZ $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-BENZ_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-BENZ 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s BENZ 75 5 3 0 FINNv25_TOLU $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-TOLU_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-TOLU 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s TOLU 75 5 3 0 FINNv25_XYLE $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-XYLE_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-XYLE 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s XYLE 75 5 3 0 FINNv25_GLYC $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-GLYC_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-GLYC 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s GLYC 75 5 3 0 FINNv25_MGLY $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-MGLY_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-MGLY 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s MGLY 75 5 3 0 FINNv25_HAC $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-HAC_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-HAC 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s HAC 75 5 3 0 FINNv25_MEK $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-MEK_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-MEK 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s MEK 75 5 3 0 FINNv25_HCOOH $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_MOZART-HCOOH_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_MOZART-HCOOH 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s HCOOH 75 5 3 0 FINNv25_HONO $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_MOZART-HONO_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_MOZART-HONO 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s HNO2 75 5 3 0 FINNv25_ALD2 $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_MOZART-CH3CHO_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_MOZART-CH3CHO 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s ALD2 75 5 3 0 FINNv25_EOH $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_MOZART-C2H5OH_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_MOZART-C2H5OH 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s EOH 75 5 3 0 FINNv25_MOH $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_MOZART-CH3OH_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_MOZART-CH3OH 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s MOH 75 5 3 0 FINNv25_ACTA $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_MOZART-CH3COOH_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_MOZART-CH3COOH 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s ACTA 75 5 3 0 FINNv25_MVK $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_MOZART-MVK_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_MOZART-MVK 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s MVK 75 5 3 0 FINNv25_MACR $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_MOZART-MACR_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_MOZART-MACR 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s MACR 75 5 3 )))FINNv25 #============================================================================== # --- BB4MIPs biomass burning --- #============================================================================== (((BB4MIPS # 75 is time-of-day scaling 0 CMIP6_BB_SOAP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s SOAP 75/281 5 3 0 CMIP6_BB_BCPI $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s BCPI 70/75 5 3 0 CMIP6_BB_BCPO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s BCPO 71/75 5 3 0 CMIP6_BB_OCPI $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s OCPI 72/75 5 3 0 CMIP6_BB_OCPO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s OCPO 73/75 5 3 0 CMIP6_BB_SO2 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s SO2 75 5 3 0 CMIP6_BB_pFe - - - - - - pFe 75/66 5 3 0 CMIP6_BB_NH3 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s NH3 75 5 3 0 CMIP6_BB_DMS $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 DMS_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s DMS 75 5 3 )))BB4MIPS #============================================================================== # --- GFED4 biomass burning emissions climatology # NOTE: These emissions were generated for 2010-2019 using the GFED extension # in a 0.5x0.625 HEMCO 3.6.1 standalone simulation. #============================================================================== (((GFED4_CLIMATOLOGY 0 GFED4_CLIM_BCPI $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_BCPI 2019/1-12/1/0 C xy kg/m2/s BCPI - 5 1 0 GFED4_CLIM_BCPO $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_BCPO 2019/1-12/1/0 C xy kg/m2/s BCPO - 5 1 0 GFED4_CLIM_OCPI $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_OCPI 2019/1-12/1/0 C xy kg/m2/s OCPI - 5 1 0 GFED4_CLIM_OCPO $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_OCPO 2019/1-12/1/0 C xy kg/m2/s OCPO - 5 1 0 GFED4_CLIM_SO2 $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_SO2 2019/1-12/1/0 C xy kg/m2/s SO2 - 5 1 0 GFED4_CLIM_SOAP $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_SOAP 2019/1-12/1/0 C xy kg/m2/s SOAP - 5 1 )))GFED4_CLIMATOLOGY #============================================================================== # --- Anthropogenic Fugitive, Combustion and Industrial Dust --- # (Philip et al., 2017, ERL) #============================================================================== (((AFCID 0 PM25FINE_1_bin1 $ROOT/AFCID/v2018-04/PM25FINE_ECLIPSE_2015.geos.2x25.nc PM25FINE 2015/1-12/1/0 C xy kg/m2/s DSTbin1 630/631 1 1 0 PM25FINE_1_bin2 $ROOT/AFCID/v2018-04/PM25FINE_ECLIPSE_2015.geos.2x25.nc PM25FINE 2015/1-12/1/0 C xy kg/m2/s DSTbin2 630/632 1 1 0 PM25FINE_1_bin3 $ROOT/AFCID/v2018-04/PM25FINE_ECLIPSE_2015.geos.2x25.nc PM25FINE 2015/1-12/1/0 C xy kg/m2/s DSTbin3 630/633 1 1 0 PM25FINE_1_bin4 $ROOT/AFCID/v2018-04/PM25FINE_ECLIPSE_2015.geos.2x25.nc PM25FINE 2015/1-12/1/0 C xy kg/m2/s DSTbin4 630/634 1 1 0 PM25FINE_2_bin1 $ROOT/AFCID/v2018-04/PM25FINE_MEIC_2012.generic.025x025.nc PM25FINE 2012/1-12/1/0 C xy kg/m2/s DSTbin1 630/631/1009 1 2 0 PM25FINE_2_bin2 $ROOT/AFCID/v2018-04/PM25FINE_MEIC_2012.generic.025x025.nc PM25FINE 2012/1-12/1/0 C xy kg/m2/s DSTbin2 630/632/1009 1 2 0 PM25FINE_2_bin3 $ROOT/AFCID/v2018-04/PM25FINE_MEIC_2012.generic.025x025.nc PM25FINE 2012/1-12/1/0 C xy kg/m2/s DSTbin3 630/633/1009 1 2 0 PM25FINE_2_bin4 $ROOT/AFCID/v2018-04/PM25FINE_MEIC_2012.generic.025x025.nc PM25FINE 2012/1-12/1/0 C xy kg/m2/s DSTbin4 630/634/1009 1 2 0 PM25FINE_3_bin1 $ROOT/AFCID/v2018-04/PM25FINE_IITB_2013.generic.025x025.nc PM25FINE 2013/1-12/1/0 C xy kg/m2/s DSTbin1 630/631/1010 1 3 0 PM25FINE_3_bin2 $ROOT/AFCID/v2018-04/PM25FINE_IITB_2013.generic.025x025.nc PM25FINE 2013/1-12/1/0 C xy kg/m2/s DSTbin2 630/632/1010 1 3 0 PM25FINE_3_bin3 $ROOT/AFCID/v2018-04/PM25FINE_IITB_2013.generic.025x025.nc PM25FINE 2013/1-12/1/0 C xy kg/m2/s DSTbin3 630/633/1010 1 3 0 PM25FINE_3_bin4 $ROOT/AFCID/v2018-04/PM25FINE_IITB_2013.generic.025x025.nc PM25FINE 2013/1-12/1/0 C xy kg/m2/s DSTbin4 630/634/1010 1 3 )))AFCID #============================================================================== # --- Offline dust emissions --- #============================================================================== (((OFFLINE_DUST (((.not.DustL23M 0 EMIS_DSTbin1 $ROOT/OFFLINE_DUST/v2025-03/${RUNDIR_OFFLINE_EMIS_RES}/${RUNDIR_MET}/$YYYY/$MM/dust_emissions_${RUNDIR_OFFLINE_EMIS_LAT_RES}.${RUNDIR_MET}.$YYYY$MM$DD.nc EMIS 1980-2022/1-12/1-31/* EFY xy kg/m2/s DSTbin1 621 3 2 0 EMIS_DSTbin2 $ROOT/OFFLINE_DUST/v2025-03/${RUNDIR_OFFLINE_EMIS_RES}/${RUNDIR_MET}/$YYYY/$MM/dust_emissions_${RUNDIR_OFFLINE_EMIS_LAT_RES}.${RUNDIR_MET}.$YYYY$MM$DD.nc EMIS 1980-2022/1-12/1-31/* EFY xy kg/m2/s DSTbin2 622 3 2 0 EMIS_DSTbin3 $ROOT/OFFLINE_DUST/v2025-03/${RUNDIR_OFFLINE_EMIS_RES}/${RUNDIR_MET}/$YYYY/$MM/dust_emissions_${RUNDIR_OFFLINE_EMIS_LAT_RES}.${RUNDIR_MET}.$YYYY$MM$DD.nc EMIS 1980-2022/1-12/1-31/* EFY xy kg/m2/s DSTbin3 623 3 2 0 EMIS_DSTbin4 $ROOT/OFFLINE_DUST/v2025-03/${RUNDIR_OFFLINE_EMIS_RES}/${RUNDIR_MET}/$YYYY/$MM/dust_emissions_${RUNDIR_OFFLINE_EMIS_LAT_RES}.${RUNDIR_MET}.$YYYY$MM$DD.nc EMIS 1980-2022/1-12/1-31/* EFY xy kg/m2/s DSTbin4 624 3 2 0 EMIS_DSTbin5 $ROOT/OFFLINE_DUST/v2025-03/${RUNDIR_OFFLINE_EMIS_RES}/${RUNDIR_MET}/$YYYY/$MM/dust_emissions_${RUNDIR_OFFLINE_EMIS_LAT_RES}.${RUNDIR_MET}.$YYYY$MM$DD.nc EMIS 1980-2022/1-12/1-31/* EFY xy kg/m2/s DSTbin5 625 3 2 0 EMIS_DSTbin6 $ROOT/OFFLINE_DUST/v2025-03/${RUNDIR_OFFLINE_EMIS_RES}/${RUNDIR_MET}/$YYYY/$MM/dust_emissions_${RUNDIR_OFFLINE_EMIS_LAT_RES}.${RUNDIR_MET}.$YYYY$MM$DD.nc EMIS 1980-2022/1-12/1-31/* EFY xy kg/m2/s DSTbin6 626 3 2 0 EMIS_DSTbin7 $ROOT/OFFLINE_DUST/v2025-03/${RUNDIR_OFFLINE_EMIS_RES}/${RUNDIR_MET}/$YYYY/$MM/dust_emissions_${RUNDIR_OFFLINE_EMIS_LAT_RES}.${RUNDIR_MET}.$YYYY$MM$DD.nc EMIS 1980-2022/1-12/1-31/* EFY xy kg/m2/s DSTbin7 627 3 2 ))).not.DustL23M )))OFFLINE_DUST #============================================================================== # --- Offline biogenic VOC emissions --- #============================================================================== (((OFFLINE_BIOGENICVOC 0 BIOGENIC_ACET $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.$YYYY$MM$DD.nc ACET_MEGAN 1980-2022/1-12/1-31/* EFY xy kg/m2/s ACET - 4 2 0 BIOGENIC_ALD2 $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.$YYYY$MM$DD.nc ALD2_MEGAN 1980-2022/1-12/1-31/* EFY xy kg/m2/s ALD2 - 4 2 0 BIOGENIC_C2H4 $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.$YYYY$MM$DD.nc C2H4_MEGAN 1980-2022/1-12/1-31/* EFY xy kg/m2/s C2H4 - 4 2 0 BIOGENIC_EOH $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.$YYYY$MM$DD.nc EOH_MEGAN 1980-2022/1-12/1-31/* EFY xy kg/m2/s EOH - 4 2 0 BIOGENIC_ISOP $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.$YYYY$MM$DD.nc ISOP_MEGAN 1980-2022/1-12/1-31/* EFY xy kg/m2/s ISOP - 4 2 0 BIOGENIC_ISOP_SOAP - - - - - - SOAP 610 4 2 0 BIOGENIC_ISOP_SOAS - - - - - - SOAS 610 4 2 0 BIOGENIC_LIMO $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.$YYYY$MM$DD.nc LIMO_MEGAN 1980-2022/1-12/1-31/* EFY xy kg/m2/s LIMO - 4 2 0 BIOGENIC_LIMO_SOAP - - - - - - SOAP 611 4 2 0 BIOGENIC_LIMO_SOAS - - - - - - SOAS 611 4 2 0 BIOGENIC_MOH $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.$YYYY$MM$DD.nc MOH_MEGAN 1980-2022/1-12/1-31/* EFY xy kg/m2/s MOH - 4 2 0 BIOGENIC_MTPA $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.$YYYY$MM$DD.nc MTPA_MEGAN 1980-2022/1-12/1-31/* EFY xy kg/m2/s MTPA - 4 2 0 BIOGENIC_MTPA_SOAP - - - - - - SOAP 611 4 2 0 BIOGENIC_MTPA_SOAS - - - - - - SOAS 611 4 2 0 BIOGENIC_MTPO $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.$YYYY$MM$DD.nc MTPO_MEGAN 1980-2022/1-12/1-31/* EFY xy kg/m2/s MTPO - 4 2 0 BIOGENIC_MTPO_SOAP - - - - - - SOAP 611 4 2 0 BIOGENIC_MTPO_SOAS - - - - - - SOAS 611 4 2 0 BIOGENIC_PRPE $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.$YYYY$MM$DD.nc PRPE_MEGAN 1980-2022/1-12/1-31/* EFY xy kg/m2/s PRPE - 4 2 0 BIOGENIC_SESQ $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.$YYYY$MM$DD.nc SESQ_MEGAN 1980-2022/1-12/1-31/* EFY xy kg/m2/s SESQ - 4 2 0 BIOGENIC_SESQ_SOAP - - - - - - SOAP 612 4 2 0 BIOGENIC_SESQ_SOAS - - - - - - SOAS 612 4 2 )))OFFLINE_BIOGENICVOC #============================================================================== # --- Offline sea salt emissions --- #============================================================================== (((OFFLINE_SEASALT (((.not.SeaSalt 0 SEASALT_SALA $ROOT/OFFLINE_SEASALT/${RUNDIR_OFFLINE_SEASALT_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/seasalt_${RUNDIR_OFFLINE_EMIS_LAT_RES}.$YYYY$MM$DD.nc SALA_TOTAL 1980-2022/1-12/1-31/* EFY xy kg/m2/s SALA - 3 2 0 SEASALT_SALAAL - - - - - - SALAAL 615 3 2 0 SEASALT_SALACL - - - - - - SALACL 616 3 2 (((CalcBrSeasalt 0 SEASALT_BrSALA - - - - - - BrSALA 617 3 2 )))CalcBrSeasalt 0 SEASALT_SALC $ROOT/OFFLINE_SEASALT/${RUNDIR_OFFLINE_SEASALT_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/seasalt_${RUNDIR_OFFLINE_EMIS_LAT_RES}.$YYYY$MM$DD.nc SALC_TOTAL 1980-2022/1-12/1-31/* EFY xy kg/m2/s SALC - 3 2 0 SEASALT_SALCAL - - - - - - SALCAL 615 3 2 0 SEASALT_SALCCL - - - - - - SALCCL 616 3 2 (((CalcBrSeasalt 0 SEASALT_BrSALC - - - - - - BrSALC 617 3 2 )))CalcBrSeasalt ))).not.SeaSalt )))OFFLINE_SEASALT ############################################################################### ### EXTENSION DATA (subsection of BASE EMISSIONS SECTION) ### ### These fields are needed by the extensions listed above. The assigned ExtNr ### must match the ExtNr entry in section 'Extension switches'. These fields ### are only read if the extension is enabled. The fields are imported by the ### extensions by field name. The name given here must match the name used ### in the extension's source code. ############################################################################### #============================================================================== # --- Seawater concentrations for oceanic emissions (Extension 101) --- #============================================================================== (((SeaFlux 101 DMS_SEAWATER $ROOT/DMS/v2015-07/DMS_lana.geos.1x1.nc DMS_OCEAN 1985/1-12/1/0 C xy kg/m3 DMS - 1 1 101 ACET_SEAWATER $ROOT/ACET/v2014-07/ACET_seawater.generic.1x1.nc ACET 2005/1/1/0 C xy kgC/m3 ACET 40 1 1 )))SeaFlux #=========================================================================== # --- External fields needed for online DustL23M (Extension 125) --- #=========================================================================== (((DustL23M 125 L23M_A_bare $ROOT/DustL23M/v2025-07/LandCover/MCD12C1.LC.$YYYY.0.1.nc4 LC_bare 1998-2022/1/1/0 C xy 1 * - 1 1 125 L23M_A_veg $ROOT/DustL23M/v2025-07/LandCover/MCD12C1.LC.$YYYY.0.1.nc4 LC_veg 1998-2022/1/1/0 C xy 1 * - 1 1 125 L23M_Csah $ROOT/DustL23M/v2025-07/scale/DustL23_scale_025x03125_scaleSAv2.nc4 scale 2000/1/1/0 C xy 1 * - 1 1 125 L23M_LAI $ROOT/DustL23M/v2025-07/LandCover/XLAI_025x025_$YYYY_MonMean.nc4 LAI 2000-2020/1-12/1/0 C xy 1 * - 1 1 125 L23M_fclay $ROOT/DustL23M/v2025-07/GSDE/GSDE_clay-sand-silt_0.1.nc4 f_clay 2000/1/1/0 C xy 1 * - 1 1 125 L23M_BD $ROOT/DustL23M/v2025-07/GSDE/GSDE_clay-sand-silt_0.1.nc4 bulk_density 2000/1/1/0 C xy kg-soil/m3 * - 1 1 125 L23M_poros $ROOT/DustL23M/v2025-07/poros/MERRA2.const_2d_lnd_Nx.poros.nc4 poros 1980/1/1/0 C xy 1 * - 1 1 125 L23M_roughness_r $ROOT/DustL23M/v2025-07/roughness/Surf_roughness_min_rocks_1997.nc4 roughness_r 1997/1/1/0 C xy m * - 1 1 )))DustL23M #============================================================================== # --- Sea salt emissions (Extension 107) # # MODIS Chlorophyll-A fields used for emissions of marine organic aerosols #============================================================================== (((SeaSalt 107 MODIS_CHLR $ROOT/MODIS_CHLR/v2019-11/MODIS.CHLRv.V5.generic.025x025.$YYYY.nc MODIS 2005-2014/1-12/1/0 C xy 1 * - 1 1 107 MULTISEAICE $ROOT/MULTI_ICE/v2021-07/multiyearice.merra2.05x0625.$YYYY.nc FRSEAICE 1980-2020/1-12/1-31/0 C xy 1 * - 1 1 # Climatology CHLR #107 MODIS_CHLR $ROOT/MODIS_CHLR/v2019-11/MODIS.CHLRv.V5.generic.025x025.Clim.nc MODIS 2007/1-12/1/0 C xy 1 * - 1 1 )))SeaSalt #============================================================================== # --- MEGAN biogenic emissions (Extension 108) # # NOTE: These are the base emissions, which will be converted to kgC/m2/s by # HEMCO. The specified species (OCPI/ISOP/ACET) are required for proper unit # conversion. Since netCDF files are already in mass carbon (ug(C)), the only # important thing is to specify a VOC with a specified MW of 12g/mol. # This is the case for OCPI, ISOP and ACET. # # We don't need to read EF maps for acetone, a-pinene or myrcene. We now # compute those values in the MEGAN extension. #============================================================================== (((MEGAN (((HEMCO_RESTART 108 T_DAVG ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc T_DAVG $YYYY/$MM/$DD/$HH EY xy K * - 1 1 108 T_PREVDAY ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc T_PREVDAY $YYYY/$MM/$DD/$HH EY xy K * - 1 1 108 LAI_PREVDAY ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc LAI_PREVDAY $YYYY/$MM/$DD/$HH EY xy 1 * - 1 1 108 PARDR_DAVG ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc PARDR_DAVG $YYYY/$MM/$DD/$HH EY xy W/m2 * - 1 1 108 PARDF_DAVG ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc PARDF_DAVG $YYYY/$MM/$DD/$HH EY xy W/m2 * - 1 1 )))HEMCO_RESTART 108 MEGAN_AEF_ISOP $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_ISOPRENE 1985/1/1/0 C xy kgC/m2/s * 61 1 1 108 MEGAN_AEF_MBOX $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_MBO 1985/1/1/0 C xy kgC/m2/s * 64 1 1 #108 MEGAN_AEF_APIN $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_ALPHA_PINENE 1985/1/1/0 C xy kgC/m2/s * 62 1 1 108 MEGAN_AEF_BPIN $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_BETA_PINENE 1985/1/1/0 C xy kgC/m2/s * 62 1 1 108 MEGAN_AEF_CARE $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_CARENE 1985/1/1/0 C xy kgC/m2/s * 62 1 1 108 MEGAN_AEF_LIMO $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_LIMONENE 1985/1/1/0 C xy kgC/m2/s * 62 1 1 #108 MEGAN_AEF_MYRC $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_MYRCENE 1985/1/1/0 C xy kgC/m2/s * 62 1 1 108 MEGAN_AEF_OCIM $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_OCIMENE 1985/1/1/0 C xy kgC/m2/s * 62 1 1 108 MEGAN_AEF_SABI $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_SABINENE 1985/1/1/0 C xy kgC/m2/s * 62 1 1 108 CLM4_PFT_BARE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BARE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_NDLF_EVGN_TMPT_TREE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_NDLF_EVGN_TMPT_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_NDLF_EVGN_BORL_TREE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_NDLF_EVGN_BORL_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_NDLF_DECD_BORL_TREE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_NDLF_DECD_BORL_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_EVGN_TROP_TREE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BDLF_EVGN_TROP_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_EVGN_TMPT_TREE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BDLF_EVGN_TMPT_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_DECD_TROP_TREE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BDLF_DECD_TROP_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_DECD_TMPT_TREE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BDLF_DECD_TMPT_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_DECD_BORL_TREE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BDLF_DECD_BORL_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_EVGN_SHRB $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BDLF_EVGN_SHRB 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_DECD_TMPT_SHRB $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BDLF_DECD_TMPT_SHRB 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_DECD_BORL_SHRB $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BDLF_DECD_BORL_SHRB 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_C3_ARCT_GRSS $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_C3_ARCT_GRSS 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_C3_NARC_GRSS $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_C3_NARC_GRSS 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_C4_GRSS $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_C4_GRSS 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_CROP $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_CROP 2000/1/1/0 C xy 1 * - 1 1 )))MEGAN #============================================================================== # --- GFED biomass burning emissions (Extension 111) # NOTES: # - These are the base emissions in kgDM/m2/s # - If a year is not available, you may use the GFED4_CLIMATOLOGY option instead #============================================================================== (((GFED4 111 GFED_TEMP $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_TEMP 2010-2023/1-12/01/0 RF xy kgDM/m2/s * - 1 1 111 GFED_AGRI $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_AGRI 2010-2023/1-12/01/0 RF xy kgDM/m2/s * - 1 1 111 GFED_DEFO $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_DEFO 2010-2023/1-12/01/0 RF xy kgDM/m2/s * - 1 1 111 GFED_BORF $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_BORF 2010-2023/1-12/01/0 RF xy kgDM/m2/s * - 1 1 111 GFED_PEAT $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_PEAT 2010-2023/1-12/01/0 RF xy kgDM/m2/s * - 1 1 111 GFED_SAVA $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_SAVA 2010-2023/1-12/01/0 RF xy kgDM/m2/s * - 1 1 (((GFED_subgrid_coag 111 FINN_DAILY_NUMBER $ROOT/FINN/v2015-02/FINN_daily_$YYYY_0.25x0.25_with_num.nc number 2002-2016/1-12/1/0 RF xy unitless * - 1 1 )))GFED_subgrid_coag (((GFED_daily 111 GFED_FRAC_DAY $ROOT/GFED4/v2023-03/$YYYY/GFED4_dailyfrac_gen.025x025.$YYYY$MM.nc GFED_FRACDAY 2010-2023/1-12/1-31/0 RF xy 1 * - 1 1 )))GFED_daily (((GFED_3hourly 111 GFED_FRAC_3HOUR $ROOT/GFED4/v2023-03/$YYYY/GFED4_3hrfrac_gen.025x025.$YYYY$MM.nc GFED_FRAC3HR 2010-2023/1-12/1/0-23 RF xy 1 * - 1 1 )))GFED_3hourly )))GFED4 )))EMISSIONS ############################################################################### ### NON-EMISSIONS DATA (subsection of BASE EMISSIONS SECTION) ### ### Non-emissions data. The following fields are read through HEMCO but do ### not contain emissions data. The extension number is set to wildcard ### character denoting that these fields will not be considered for emission ### calculation. A given entry is only read if the assigned species name is ### an HEMCO species. ############################################################################### #============================================================================== # --- Time zones (offset to UTC) --- #============================================================================== * TIMEZONES $ROOT/TIMEZONES/v2024-02/timezones_vohra_2017_0.1x0.1.nc UTC_OFFSET 2017/1-12/1/0 C xy count * - 1 1 #============================================================================== # --- Meteorology fields --- #============================================================================== (((METEOROLOGY >>>include ${RUNDIR_MET_FIELD_CONFIG} )))METEOROLOGY #============================================================================== # --- GEOS-Chem restart file --- #============================================================================== (((GC_RESTART * SPC_ ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 SpeciesRst_?ALL? $YYYY/$MM/$DD/$HH EFYO xyz 1 * - 1 1 * DELPDRY ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Met_DELPDRY $YYYY/$MM/$DD/$HH EY xyz 1 * - 1 1 * WETDEP_N ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Chem_WetDepNitrogen $YYYY/$MM/$DD/$HH EY xy 1 * - 1 1 * DRYDEP_N ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Chem_DryDepNitrogen $YYYY/$MM/$DD/$HH EY xy 1 * - 1 1 * SO2_AFTERCHEM ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Chem_SO2AfterChem $YYYY/$MM/$DD/$HH EY xyz 1 * - 1 1 * H2O2_AFTERCHEM ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Chem_H2O2AfterChem $YYYY/$MM/$DD/$HH EY xyz 1 * - 1 1 * AEROH2O_SNA ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Chem_AeroH2OSNA $YYYY/$MM/$DD/$HH EY xyz 1 * - 1 1 * ORVCSESQ ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Chem_ORVCsesq $YYYY/$MM/$DD/$HH EY xyz 1 * - 1 1 * STATE_PSC ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Chem_StatePSC $YYYY/$MM/$DD/$HH EY xyz count * - 1 1 )))GC_RESTART #============================================================================== # --- GEOS-Chem boundary condition file --- #============================================================================== (((GC_BCs * BC_ $ROOT/SAMPLE_BCs/GC_14.3.0/fullchem/GEOSChem.BoundaryConditions.$YYYY$MM$DD_$HH$MNz.nc4 SpeciesBC_?ADV? 1900-2100/1-12/1-31/* EFY xyz 1 * - 1 1 )))GC_BCs (((CHEMISTRY_INPUT #============================================================================== # --- UV albedo, for photolysis (cf Hermann & Celarier, 1997) --- #============================================================================== (((UVALBEDO * UV_ALBEDO $ROOT/UVALBEDO/v2019-06/uvalbedo.geos.2x25.nc UVALBD 1985/1-12/1/0 C xy percent * - 1 1 )))UVALBEDO #============================================================================== # --- Spatially varying OM/OC --- #============================================================================== (((OMOC_RATIO * OMOC_DJF $ROOT/OMOC/v2018-01/OMOC.DJF.01x01.nc OMOC 2010/1/1/0 C xy 1 * - 1 1 * OMOC_MAM $ROOT/OMOC/v2018-01/OMOC.MAM.01x01.nc OMOC 2010/1/1/0 C xy 1 * - 1 1 * OMOC_JJA $ROOT/OMOC/v2018-01/OMOC.JJA.01x01.nc OMOC 2010/1/1/0 C xy 1 * - 1 1 * OMOC_SON $ROOT/OMOC/v2018-01/OMOC.SON.01x01.nc OMOC 2010/1/1/0 C xy 1 * - 1 1 )))OMOC_RATIO #============================================================================== # --- Oxidant fields for offline aerosols --- # # (needed for chemistry, not used for emission calculation) #============================================================================== (((OXIDANT_FIELDS ${RUNDIR_PH2O2} ${RUNDIR_JH2O2} ${RUNDIR_GLOBAL_ACTA} ${RUNDIR_GLOBAL_HCl} ${RUNDIR_GLOBAL_HCOOH} ${RUNDIR_GLOBAL_HNO3} ${RUNDIR_GLOBAL_NIT} ${RUNDIR_GLOBAL_NO3} ${RUNDIR_GLOBAL_O3} ${RUNDIR_GLOBAL_OH} )))OXIDANT_FIELDS )))CHEMISTRY_INPUT #============================================================================== # --- Olson land map masks --- #============================================================================== (((OLSON_LANDMAP * LANDTYPE00 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE00 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE01 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE01 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE02 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE02 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE03 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE03 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE04 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE04 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE05 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE05 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE06 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE06 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE07 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE07 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE08 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE08 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE09 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE09 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE10 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE10 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE11 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE11 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE12 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE12 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE13 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE13 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE14 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE14 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE15 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE15 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE16 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE16 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE17 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE17 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE18 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE18 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE19 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE19 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE20 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE20 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE21 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE21 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE22 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE22 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE23 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE23 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE24 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE24 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE25 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE25 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE26 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE26 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE27 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE27 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE28 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE28 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE29 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE29 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE30 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE30 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE31 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE31 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE32 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE32 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE33 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE33 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE34 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE34 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE35 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE35 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE36 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE36 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE37 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE37 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE38 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE38 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE39 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE39 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE40 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE40 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE41 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE41 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE42 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE42 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE43 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE43 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE44 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE44 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE45 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE45 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE46 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE46 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE47 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE47 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE48 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE48 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE49 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE49 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE50 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE50 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE51 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE51 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE52 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE52 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE53 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE53 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE54 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE54 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE55 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE55 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE56 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE56 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE57 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE57 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE58 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE58 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE59 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE59 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE60 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE60 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE61 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE61 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE62 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE62 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE63 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE63 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE64 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE64 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE65 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE65 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE66 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE66 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE67 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE67 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE68 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE68 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE69 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE69 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE70 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE70 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE71 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE71 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE72 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE72 1985/1/1/0 C xy 1 * - 1 1 )))OLSON_LANDMAP #============================================================================== # --- Yuan processed MODIS leaf area index data --- # # Source: Yuan et al 2011, doi:10.1016/j.rse.2011.01.001 # http://globalchange.bnu.edu.cn/research/lai # # NOTES: # (1) LAI data corresponding to each Olson land type is stored in # separate netCDF variables (XLAI00, XLAI01, ... XLAI72). # The "XLAI" denotes that the files are prepared in this way. # (2) Units are "cm2 leaf/cm2 grid box". # (3) Data is timestamped every 8 days, starting from the 2nd of the month. #============================================================================== (((YUAN_MODIS_LAI * XLAI00 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI00 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI01 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI01 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI02 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI02 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI03 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI03 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI04 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI04 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI05 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI05 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI06 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI06 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI07 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI07 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI08 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI08 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI09 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI09 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI10 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI10 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI11 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI11 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI12 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI12 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI13 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI13 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI14 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI14 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI15 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI15 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI16 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI16 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI17 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI17 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI18 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI18 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI19 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI19 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI20 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI20 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI21 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI21 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI22 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI22 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI23 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI23 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI24 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI24 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI25 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI25 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI26 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI26 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI27 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI27 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI28 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI28 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI29 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI29 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI30 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI30 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI31 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI31 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI32 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI32 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI33 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI33 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI34 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI34 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI35 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI35 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI36 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI36 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI37 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI37 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI38 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI38 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI39 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI39 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI40 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI40 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI41 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI41 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI42 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI42 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI43 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI43 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI44 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI44 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI45 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI45 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI46 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI46 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI47 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI47 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI48 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI48 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI49 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI49 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI50 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI50 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI51 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI51 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI52 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI52 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI53 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI53 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI54 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI54 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI55 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI55 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI56 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI56 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI57 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI57 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI58 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI58 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI59 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI59 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI60 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI60 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI61 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI61 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI62 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI62 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI63 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI63 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI64 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI64 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI65 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI65 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI66 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI66 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI67 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI67 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI68 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI68 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI69 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI69 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI70 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI70 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI71 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI71 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI72 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI72 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 )))YUAN_MODIS_LAI #============================================================================== # --- Inputs for the RRTMG radiative transfer model --- # # NOTE: The 2 x 2.5 albedo fields and emissivity fields will produce # differences at the level of numerical noise when comparing output to # simulations from prior versions (esp. when running at 4 x 5 resolution). # You might see larger differences w/r/t prior verisons for a few grid boxes # along the coastline of Antarctica, where the difference in resolution # and regridding will be more apparent in the sharp transition from ice to # ocean. If this is a problem, you can use the data files at 4x5 resolution # for 4x5 RRTMG simulations. # # ALSO NOTE: The algorithm that HEMCO uses to select each time slice is # likely different than what was implemented when reading the old bpch # data from disk. This can also cause differences when comparing to # prior versions. #============================================================================== (((RRTMG * MODIS_ALBDFNIR $ROOT/RRTMG/v2018-11/modis_surf_albedo.2x25.nc ALBDFNIR 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_ALBDFVIS $ROOT/RRTMG/v2018-11/modis_surf_albedo.2x25.nc ALBDFVIS 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_ALBDRNIR $ROOT/RRTMG/v2018-11/modis_surf_albedo.2x25.nc ALBDRNIR 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_ALBDRVIS $ROOT/RRTMG/v2018-11/modis_surf_albedo.2x25.nc ALBDRVIS 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_01 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band01 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_02 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band02 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_03 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band03 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_04 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band04 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_05 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band05 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_06 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band06 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_07 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band07 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_08 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band08 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_09 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band09 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_10 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band10 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_11 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band11 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_12 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band12 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_13 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band13 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_14 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band14 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_15 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band15 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_16 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band16 2002/1-12/1-31/0 C xy 1 * - 1 1 ${RUNDIR_TES_CLIM_CCL4} ${RUNDIR_TES_CLIM_CFC11} ${RUNDIR_TES_CLIM_CFC12} ${RUNDIR_TES_CLIM_CFC22} ${RUNDIR_TES_CLIM_CH4} ${RUNDIR_TES_CLIM_N2O} )))RRTMG ### END SECTION BASE EMISSIONS ### ############################################################################### ### BEGIN SECTION SCALE FACTORS ############################################################################### # ScalID Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Oper (((EMISSIONS #============================================================================== # --- Annual scale factors --- #============================================================================== (((XIAO_C3H8 6 LIQFUEL_THISYR $ROOT/AnnualScalar/v2014-07/AnnualScalar.geos.1x1.nc COscalar 1985-2010/1/1/0 C xy 1 1 7 LIQFUEL_1985 $ROOT/AnnualScalar/v2014-07/AnnualScalar.geos.1x1.nc COscalar 1985/1/1/0 C xy 1 -1 )))XIAO_C3H8 #============================================================================== # --- Diurnal scale factors --- #============================================================================== 25 EDGAR_TODNOX $ROOT/EDGARv42/v2015-02/NO/EDGAR_hourly_NOxScal.nc NOXscale 2000/1/1/* C xy unitless 1 26 GEIA_TOD_FOSSIL 0.45/0.45/0.6/0.6/0.6/0.6/1.45/1.45/1.45/1.45/1.4/1.4/1.4/1.4/1.45/1.45/1.45/1.45/0.65/0.65/0.65/0.65/0.45/0.45 - - - xy unitless 1 #============================================================================== # Diurnal variablity of Chinese power plants from Liu et al. (EST, 2019) #============================================================================== 33 PKU_pow_NOx 0.94/0.93/0.93/0.92/0.93/0.96/0.98/0.99/0.98/1.00/1.05/1.03/1.01/1.04/1.05/1.05/1.07/1.06/1.05/1.05/1.03/1.01/0.99/0.96 - - - xy unitless 1 1009 34 PKU_pow_SO2 0.92/0.91/0.90/0.89/0.90/0.93/0.97/0.98/0.99/1.02/1.07/1.04/1.03/1.06/1.06/1.07/1.10/1.10/1.06/1.05/1.03/1.01/0.99/0.93 - - - xy unitless 1 1009 35 PKU_pow_PM_BC_POC_VOC_CO 0.95/0.93/0.92/0.91/0.90/0.93/0.97/0.97/0.99/1.03/1.04/1.03/1.02/1.03/1.05/1.07/1.07/1.07/1.06/1.04/1.03/1.02/1.00/0.97 - - - xy unitless 1 1009 # These scale factors undo (Oper=-1) the global diurnal scale factors over China (Mask=1009) 36 EDGAR_TODNOX_UNDO $ROOT/EDGARv42/v2015-02/NO/EDGAR_hourly_NOxScal.nc NOXscale 2000/1/1/* C xy unitless -1 1009 37 GEIA_TOD_FOSSIL_UNDO 0.45/0.45/0.6/0.6/0.6/0.6/1.45/1.45/1.45/1.45/1.4/1.4/1.4/1.4/1.45/1.45/1.45/1.45/0.65/0.65/0.65/0.65/0.45/0.45 - - - xy unitless -1 1009 #============================================================================== # --- Day-of-week scale factors --- # ==> data is Sun/Mon/.../Sat #============================================================================== (((XIAO_C3H8 22 GEIA_DOW_HC 0.671/1.1102/1.1102/1.1102/1.1102/1.1102/0.768 - - - xy unitless 1 )))XIAO_C3H8 #============================================================================== # --- Seasonal scale factors --- #============================================================================== (((DICE_Africa # from GEIA: 30 GEIA_SEASON_NOX $ROOT/GEIA/v2014-07/GEIA_monthscal.generic.1x1.nc NOXrat 1985/1-12/1/0 C xy unitless 1 31 GEIA_SEASON_SO2 $ROOT/GEIA/v2014-07/GEIA_monthscal.generic.1x1.nc SO2rat 1985/1-12/1/0 C xy unitless 1 )))DICE_Africa #============================================================================== # --- For Bromocarbons --- #============================================================================== (((LIANG_BROMOCARB 39 BROMOCARB_SEASON $ROOT/BROMINE/v2015-02/BromoCarb_Season.nc CHXBRY_scale 2000/1-12/1/0 C xy unitless 1 )))LIANG_BROMOCARB #============================================================================== # --- Scale factors used for species conversions --- #============================================================================== # Units carbon to species conversions # Factor = # carbon atoms * MW carbon) / MW species 40 CtoACET MATH:58.09/(3.0*12.0) - - - xy unitless 1 41 CtoALD2 MATH:44.06/(2.0*12.0) - - - xy unitless 1 42 CtoALK4 MATH:58.12/(4.3*12.0) - - - xy unitless 1 43 CtoBENZ MATH:78.12/(6.0*12.0) - - - xy unitless 1 44 CtoC2H4 MATH:28.05/(2.0*12.0) - - - xy unitless 1 45 CtoC2H6 MATH:30.08/(2.0*12.0) - - - xy unitless 1 46 CtoC3H8 MATH:46.08/(3.0*12.0) - - - xy unitless 1 47 CtoEOH MATH:46.06/(2.0*12.0) - - - xy unitless 1 48 CtoMEK MATH:72.11/(4.0*12.0) - - - xy unitless 1 49 CtoPRPE MATH:42.09/(3.0*12.0) - - - xy unitless 1 55 CtoTOLU MATH:92.15/(7.0*12.0) - - - xy unitless 1 56 CtoXYLE MATH:106.18/(8.0*12.0) - - - xy unitless 1 59 CtoC2H2 MATH:26.04/(2.0*12.0) - - - xy unitless 1 61 CtoISOP MATH:68.13/(5.0*12.0) - - - xy unitless 1 62 CtoMTPA MATH:136.26/(10.0*12.0) - - - xy unitless 1 64 CtoMBOX MATH:86.13/(5.0*12.0) - - - xy unitless 1 67 CtoSESQ MATH:204.4/(15.0*12.0) - - - xy unitless 1 # VOC speciations (((RCP_3PD.or.RCP_45.or.RCP_60.or.RCP_85 50 KET2MEK 0.25 - - - xy unitless 1 51 KET2ACET 0.75 - - - xy unitless 1 )))RCP_3PD.or.RCP_45.or.RCP_60.or.RCP_85 (((APEI.or.EDGARv43.or.DICE_Africa.or.QFED2 52 COPROD_FOSSIL 1.02 - - - xy unitless 1 54 COPROD_BIOMASS 1.05 - - - xy unitless 1 )))APEI.or.EDGARv43.or.DICE_Africa.or.QFED2 # RCP acids to HCOOH conversion (((RCP_3PD.or.RCP_45.or.RCP_60.or.RCP_85 57 RCP_HCOOHfraction 0.25 - - - xy unitless 1 58 RCP_ACIDStoHCOOH 0.779661 - - - xy unitless 1 )))RCP_3PD.or.RCP_45.or.RCP_60.or.RCP_85 # SOx to SO2 conversion (Chin et al., 2000) 60 SOX2SO2_GLOBAL 0.986 - - - xy unitless 1 63 SO2toSO4 0.031 - - - xy unitless 1 65 SO2toSO4_APEI 0.014 - - - xy unitless 1 66 SO2toPFe 1.0e-3 - - - xy unitless 1 68 SO2toPFe_APEI 4.7e-4 - - - xy unitless 1 69 SO2toPFe_NEI 1.0e-3 - - - xy unitless 1 78 SO2FRAC 0.969 - - - xy unitless 1 # Carbon aerosols: speciation of hydrophilic and hydrophobic fractions # (Fractions applied to the biomass burning extensions (GFED or FINN) are # specified separately in the extensions section.) 70 BC2BCPI 0.2 - - - xy unitless 1 71 BC2BCPO 0.8 - - - xy unitless 1 72 OC2OCPI 0.5 - - - xy unitless 1 73 OC2OCPO 0.5 - - - xy unitless 1 74 POGSCAL 1.27 - - - xy unitless 1 76 SV2POG1 0.49 - - - xy unitless 1 77 SV2POG2 0.51 - - - xy unitless 1 # Convert CEDS total alchohols to methanol, ethanol, and other alcohols following Chen et al. (2019, ACP) 90 VOC1toMOH 0.5 - - - xy 1 1 91 VOC1toEOH 0.375 - - - xy 1 1 92 VOC1toROH 0.125 - - - xy 1 1 # NOx/NO2 to NO conversion 115 NO2toNO 6.521739e-1 - - - xy unitless 1 # SOA-Precursor scale factors # # From Kim, P.S., et. al. 2015 "Sources, seasonality, and trends # of southeast US aerosol: ..." # AVOCs and BBVOCs are emitted in proportion to CO, with an emission ratio of # 0.069 g AVOC (g CO)−1 (Hayes et al., 2015) and # 0.013 g BBVOC (g CO)−1 (Cubison et al., 2011). # They are both oxidized by OH in the model ... to generate SOA. 280 COtoSOAP_anth 0.069 - - - xy 1 1 281 COtoSOAP_burn 0.013 - - - xy 1 1 #============================================================================== # --- QFED2 diurnal scale factors --- # # Fire diurnal scaling factors (% per hour) from WRAP Report to Project # No. 178-6, July 2005 #============================================================================== (((QFED2.or.GFAS.or.BB4MIPS 75 QFED2_TOD 0.1392/0.1392/0.1368/0.1368/0.1368/0.1368/0.1368/0.1368/0.1368/0.48/0.96/1.68/2.4/3.12/3.84/4.08/2.88/1.68/0.96/0.1368/0.1368/0.1368/0.1368/0.1368 - - - xy unitless 1 )))QFED2.or.GFAS.or.BB4MIPS #============================================================================== # --- NAP scale factors --- # # Get anthropogenic (FF) NAP emissions by scaling BENZ emissions with the # following factor. Factor is ratio of TgC NAP to TgC BENZ emissions # or equivalently, molec C NAP to molec C BENZ. Scaling should produce # about 0.09 TgC NAP/year, consistent with non-BB,BF emissions predicted # by Zhang and Tao 2009 Atm Env # Based on year 2000 1x1 inv (hotp 11/14/09) #REAL*8, PARAMETER :: NAPTOBENZSCALE = 0.06861d0 # NAPTOTSCAL: factor to scale total NAP emissions to POA (hotp 7/24/09) #REAL*8, PARAMETER :: NAPTOTALSCALE = 66.09027d0 # = CO emissions * emissions ratio of mol NAP / mol CO # * kg C / mol NAP * mol CO / kg CO # mmol NAP / mol CO = 0.025 g NAP/ kg DM / # ( 78 g CO/ kg DM ) * 28 g CO / mol CO # / ( 128 g NAP / mol NAP ) *1000 mmol/mol # scale emissions down if appropriate to remove the # effect of VOC ox on CO emission # EF for NAP from Andreae and Merlet 2001 Glob Biog Cyc # EF for CO from Andreae and Merlet 2001 Glob Biog Cyc #BIOFUEL_KG(N,:,:) = BIOFUEL_KG(IDBFCO,:,:) * 0.0701d-3 # * 120d0 / 28d0 * COSCALEDOWN #============================================================================== (((EDGARv43 80 NAPEMISS 1.0 - - - xy unitless 1 81 NAPTOTSCAL 66.09 - - - xy unitless 1 82 BENZTONAP 6.86e-2 - - - xy unitless 1 )))EDGARv43 #============================================================================== # --- BIOGENIC EMISSIONS FROM DRY LEAF MATTER --- # # Use yield of 40ug/dDW. # Assume organic matter has molecular formula CH2O (MW 30.03), which # means 0.4 gC / g plant # ALD2 MW = 44.05 g/mole ==> 0.55 gC/g ALD2 # Therefore 40ug (ALD2) / g (plant) ==> 55 ug C in ALD2 / gC plant # EOH MW = 46 g/mole ==> 0.52 gC/g EOH # Therefore 40ug (EOH) / g (plant) ==> 52 ug C in EOH / gC plant #============================================================================== (((DECAYING_PLANTS 85 YIELD_RESP_ALD2 55.0e-6 - - - xy unitless 1 86 YIELD_RESP_EOH 52.0e-6 - - - xy unitless 1 )))DECAYING_PLANTS #============================================================================== # --- AEIC2019 aircraft emissions scale factors --- # # See http://geoschemdata.wustl.edu/ExtData/HEMCO/AEIC2019/v2022-03/AEIC_2019_technical_note.pdf #============================================================================== (((AEIC2019_DAILY.or.AEIC2019_MONMEAN # Conversions from AEIC2019 inventory quantities to individual species 111 AEICSO2 1.176000e-3 - - - xy unitless 1 112 AEICSO4 3.600000e-5 - - - xy unitless 1 #------------------------------------------------------------------------------ # Scaling factors for 1990-2019 derived from Lee et al. (2021). Increase # from 2018 to 2019 is estimated based on the growth from 2017 to 2018. # Lee et al. (2021) only covers 1990 to 2018, so to get to 2019 it is # assumed that the growth from 2017 to 2018 is the same as that from 2018 # to 2019. So the formula is something like: # # Emissions of CO in 2009 = AEIC 2019 emissions of CO # * (Lee 2017 CO / Lee 2018 fuel burn) # * (Lee 2009 fuel burn / Lee 2018 fuel burn) # # So in this case, we use the Lee 2017/Lee 2018 value to scale AEIC’s # emissions to the “2018” values, and then scale directly using the Lee et al # fuel burn. This ensures that, when running with year 2019, you get an # unadjusted version of the AEIC2019 inventory, and all previous years are # scaled down. # # All scaling factors are included in here in HEMCO_Config.rc. #------------------------------------------------------------------------------ (((AEIC_SCALE_1990_2019 241 AC_FBMULT 0.506/0.489/0.490/0.493/0.517/0.529/0.553/0.570/0.581/0.600/0.631/0.607/0.608/0.608/0.646/0.678/0.686/0.706/0.703/0.666/0.700/0.721/0.728/0.749/0.773/0.815/0.854/0.905/0.952/1.000 - 1990-2019/1/1/0 C xy 1 1 )))AEIC_SCALE_1990_2019 # If not applying 1990-2019 scale factors, use 1.0 (((.not.AEIC_SCALE_1990_2019 241 AC_FBMULT 1.000000e+0 - - - xy 1 1 ))).not.AEIC_SCALE_1990_2019 )))AEIC2019_DAILY.or.AEIC2019_MONMEAN #============================================================================== # --- EPA NEI day-of-week scale factors --- #============================================================================== (((NEI2016_MONMEAN 210 NEI99_DOW_NOX $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc NOX 1999/1-12/WD/0 C xy 1 1 211 NEI99_DOW_CO $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc CO 1999/1-12/WD/0 C xy 1 1 212 NEI99_DOW_ALK4 $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc ALK4 1999/1-12/WD/0 C xy 1 1 213 NEI99_DOW_ACET $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc ACET 1999/1-12/WD/0 C xy 1 1 214 NEI99_DOW_MEK $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc MEK 1999/1-12/WD/0 C xy 1 1 215 NEI99_DOW_PRPE $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc PRPE 1999/1-12/WD/0 C xy 1 1 216 NEI99_DOW_C3H8 $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc C3H8 1999/1-12/WD/0 C xy 1 1 217 NEI99_DOW_C2H6 $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc C2H6 1999/1-12/WD/0 C xy 1 1 218 NEI99_DOW_SO2 $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc SO2 1999/1-12/WD/0 C xy 1 1 219 NEI99_DOW_SO4 $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc SO4 1999/1-12/WD/0 C xy 1 1 220 NEI99_DOW_MSA $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc MSA 1999/1-12/WD/0 C xy 1 1 221 NEI99_DOW_BCPI $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc BCPI 1999/1-12/WD/0 C xy 1 1 222 NEI99_DOW_OCPI $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc OCPI 1999/1-12/WD/0 C xy 1 1 )))NEI2016_MONMEAN #============================================================================== # --- EPA NEI2016 annual scale factors --- # # Annual scale factors were computed from the EPA Trends Report for Tier 1 CAPS # (obtained 21 Sep 2021) using the "Total without wildfires" field. NH3 and # PM2.5 only had values for 2002-2020, while the remaining species had yearly # values for 1990-2020 (we include only 2002-2020 here). # # See NEI2016/v2021-06/national_tier1_caps+HEMCOscaling.xlsx for details. #============================================================================== (((NEI2016_MONMEAN 251 NEI2016_NOx_YRSCALE 2.341/2.213/2.083/1.989/1.879/1.768/1.651/1.539/1.448/1.407/1.345/1.282/1.224/1.135/1.000/0.943/0.895/0.840/0.785 - 2002-2020/1/1/0 C xy 1 1 252 NEI2016_CO_YRSCALE 1.817/1.767/1.716/1.666/1.610/1.554/1.393/1.251/1.272/1.261/1.220/1.178/1.137/1.095/1.000/0.973/0.950/0.927/0.904 - 2002-2020/1/1/0 C xy 1 1 253 NEI2016_NH3_YRSCALE 0.996/0.999/1.002/1.005/1.043/1.082/1.100/1.088/1.077/1.012/0.957/0.954/0.899/0.950/1.000/1.052/1.051/1.050/1.049 - 2002-2020/1/1/0 C xy 1 1 254 NEI2016_VOC_YRSCALE 1.314/1.285/1.255/1.223/1.234/1.246/1.148/1.135/1.154/1.175/1.153/1.131/1.110/1.067/1.000/0.970/0.956/0.941/0.926 - 2002-2020/1/1/0 C xy 1 1 255 NEI2016_SO2_YRSCALE 4.773/4.701/4.626/4.625/4.171/3.717/3.273/2.879/2.446/2.038/1.591/1.525/1.469/1.237/1.000/0.767/0.735/0.641/0.583 - 2002-2020/1/1/0 C xy 1 1 256 NEI2016_PM25_YRSCALE 1.120/1.140/1.159/1.178/1.213/1.248/1.202/1.195/1.190/1.192/1.153/1.115/1.077/1.040/1.000/0.964/0.961/0.958/0.955 - 2002-2020/1/1/0 C xy 1 1 )))NEI2016_MONMEAN #============================================================================== # --- GFAS scale factors --- #============================================================================== (((GFAS 300 GFAS_EMITL $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc mami 2003-2021/1-12/1-31/0 C xy m 1 )))GFAS #============================================================================== # --- QFED vertical partitioning --- # Following Fischer et al. (2014) and Travis et al. (2016), emit 35% of QFED # emissions above the PBL. #============================================================================== (((QFED2 311 QFED_PBL_FRAC 0.65 - - - xy 1 1 312 QFED_FT_FRAC 0.35 - - - xy 1 1 )))QFED2 #============================================================================== # --- CEDS vertical partitioning --- #============================================================================== (((CEDS_01x01 315 ENERGY_LEVS $ROOT/VerticalScaleFactors/v2021-05/gc_layers.nc g_energy 2017/1/1/0 C xyz 1 1 316 INDUSTRY_LEVS $ROOT/VerticalScaleFactors/v2021-05/gc_layers.nc g_industry 2017/1/1/0 C xyz 1 1 317 SHIP_LEVS $ROOT/VerticalScaleFactors/v2021-05/gc_layers.nc cmv_c3 2017/1/1/0 C xyz 1 1 )))CEDS_01x01 #============================================================================== # --- DICE-Africa --- #============================================================================== (((DICE_Africa # Charcoal production scale factor to reduce charcoal production # by a factor of 5 after finding error in implementation of emission factors. 320 DICE_CP_SF 0.20 - - - xy 1 1 # Car emissions of OCPI and OCPO scale factor to address a factor of 7 overestimate # in car OC emissions that results from incorrect emission factors used in the original inventory 330 DICE_CAR_OC_SF 0.14 - - - xy 1 1 )))DICE_Africa #============================================================================== # --- Offline biogenic VOC scale factors --- # # Isoprene : 1.5% mass yield SOAP, 1.5% mass yield SOAS # Monoterpenes : 5.0% mass yield SOAP, 5.0% mass yield SOAS # Other terpenes: 5.0% mass yield SOAP, 5.0% mass yield SOAS # --> Need to multiply by 1.133 to convert from carbon basis to mass basis #============================================================================== (((OFFLINE_BIOGENICVOC 610 ISOPtoSOA 0.0170 - - - xy 1 1 611 MONOtoSOA 0.0567 - - - xy 1 1 612 OTHRtoSOA 0.0567 - - - xy 1 1 )))OFFLINE_BIOGENICVOC #============================================================================== # --- Offline sea salt scale factors --- # # NOTES: # - Sea salt alkalinity and chloride values obtained from hcox_seasalt_mod.F90 # - BrContent obtained from '--> Br- mass ratio' in SeaSalt extension above #============================================================================== (((OFFLINE_SEASALT 615 SSAlkalinity 1.0 - - - xy 1 1 616 SSChloride 0.5504 - - - xy 1 1 617 BrContent 2.11e-3 - - - xy 1 1 )))OFFLINE_SEASALT (((OFFLINE_DUST 621 mfrac_DSTbin1 3.344e-4 - - - xy 1 1 622 mfrac_DSTbin2 1.593e-3 - - - xy 1 1 623 mfrac_DSTbin3 1.194e-2 - - - xy 1 1 624 mfrac_DSTbin4 3.430e-2 - - - xy 1 1 625 mfrac_DSTbin5 1.248e-1 - - - xy 1 1 626 mfrac_DSTbin6 2.573e-1 - - - xy 1 1 627 mfrac_DSTbin7 5.698e-1 - - - xy 1 1 )))OFFLINE_DUST (((AFCID 630 half_AFCID 0.5 - - - xy 1 1 631 mfrac_bin1 6.944e-3 - - - xy 1 1 632 mfrac_bin2 3.307e-2 - - - xy 1 1 633 mfrac_bin3 2.478e-1 - - - xy 1 1 634 mfrac_bin4 7.121e-1 - - - xy 1 1 )))AFCID )))EMISSIONS #============================================================================== # Scale the CMIP6 values in pptv to ppbv #============================================================================== 801 pptv2ppbv 0.001 - - - xy 1 1 802 vv2ppbv 1000000000 - - - xy 1 1 #============================================================================== # --- EDGAR 4.3.1 --- # Using data of 2010, the calculated seasonal ratio for different species in the # same sector are nearly identical, possibly due to consistent activity data used. # Therefore we use the seasonal scale factors of CO in 2010 for most sectors, # except for AGR, AWB and SOL. # For AGR, the NH3 AGR seasonal scale factors are used. # For AWB, the CO AGR seasonal scale factors are used. # For SOL, the NOx AGR seasonal scale factors are used. #============================================================================== (((EDGARv43.or.DICE_Africa 1201 POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc POW 2010/1-12/1/0 C xy unitless 1 1202 ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc ENG 2010/1-12/1/0 C xy unitless 1 1203 IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc IND 2010/1-12/1/0 C xy unitless 1 1204 TRO $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc TRO 2010/1-12/1/0 C xy unitless 1 1205 TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc TNG 2010/1-12/1/0 C xy unitless 1 1206 RCO $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc RCO 2010/1-12/1/0 C xy unitless 1 1207 PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc PPA 2010/1-12/1/0 C xy unitless 1 1208 AGR $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc AGR 2010/1-12/1/0 C xy unitless 1 1209 AWB $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc AWB 2010/1-12/1/0 C xy unitless 1 1210 SOL $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc SOL 2010/1-12/1/0 C xy unitless 1 1211 SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc SWD 2010/1-12/1/0 C xy unitless 1 1212 FFF $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc FFF 2010/1-12/1/0 C xy unitless 1 )))EDGARv43.or.DICE_Africa (((CEDS_01x01 #========================================================================= # --- Sector-wise diel scale factors for CEDSv2 --- # These scale factors could potentially be used for other global base emissions if modified accordingly. #========================================================================= 2401 TOD_AGRICULTURE 0.599/0.599/0.599/0.599/0.599/0.649/0.748/0.898/1.098/1.247/1.447/1.597/1.796/1.746/1.696/1.547/1.347/1.098/0.898/0.748/0.649/0.599/0.599/0.599 - - - xy unitless 1 2406 TOD_ENERGY 0.790/0.720/0.720/0.710/0.740/0.800/0.920/1.080/1.190/1.220/1.210/1.210/1.170/1.150/1.140/1.130/1.100/1.070/1.040/1.020/1.020/1.010/0.960/0.880 - - - xy unitless 1 2407 TOD_INDUSTRY 0.750/0.750/0.780/0.820/0.880/0.950/1.020/1.090/1.160/1.220/1.280/1.300/1.220/1.240/1.250/1.160/1.080/1.010/0.950/0.900/0.850/0.810/0.780/0.750 - - - xy unitless 1 2409 TOD_RESIDENTIAL 0.393/0.393/0.393/0.393/0.393/0.492/1.180/1.475/1.574/1.574/1.377/1.180/1.082/1.082/0.984/0.984/0.984/1.082/1.377/1.475/1.377/1.377/0.984/0.393 - - - xy unitless 1 2411 TOD_TRANSPORT 0.190/0.090/0.060/0.050/0.090/0.220/0.860/1.840/1.860/1.410/1.240/1.200/1.320/1.440/1.450/1.590/2.030/2.080/1.510/1.060/0.740/0.620/0.610/0.440 - - - xy unitless 1 #========================================================================= # --- Sector-wise day-of-week scale factors for CEDSv2 --- # These scale factors could potentially be used for other global base emissions if modified accordingly. #========================================================================= 706 DOW_ENERGY 0.850/1.060/1.060/1.060/1.060/1.060/0.850 - - - xy unitless 1 707 DOW_INDUSTRY 0.800/1.080/1.080/1.080/1.080/1.080/0.800 - - - xy unitless 1 709 DOW_RESIDENTIAL 0.800/1.080/1.080/1.080/1.080/1.080/0.800 - - - xy unitless 1 711 DOW_TRANSPORT 0.790/1.020/1.060/1.080/1.100/1.140/0.810 - - - xy unitless 1 )))CEDS_01x01 ### END SECTION SCALE FACTORS ### ############################################################################### ### BEGIN SECTION MASKS ############################################################################### # ScalID Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Oper Lon1/Lat1/Lon2/Lat2 (((EMISSIONS #============================================================================== # Country/region masks #============================================================================== (((APEI 1002 CANADA_MASK $ROOT/MASKS/v2018-09/Canada_mask.geos.1x1.nc MASK 2000/1/1/0 C xy 1 1 -141/40/-52/85 )))APEI (((NEI2016_MONMEAN 1007 CONUS_MASK $ROOT/MASKS/v2018-09/CONUS_Mask.01x01.nc MASK 2000/1/1/0 C xy 1 1 -140/20/-50/60 )))NEI2016_MONMEAN (((DICE_Africa 1008 AFRICA_MASK $ROOT/MASKS/v2018-09/AF_LANDMASK.geos.05x0666.global.nc LANDMASK 1985/1/1/0 C xy 1 1 -20/-37/54/40 )))DICE_Africa 1009 CHINA_MASK $ROOT/MASKS/v2018-09/China_mask.generic.1x1.nc MASK 2000/1/1/0 C xy 1 1 70/10/150/60 (((AFCID 1010 INDIA_MASK $ROOT/MASKS/v2019-05/India_mask.generic.1x1.nc MASK 2000/1/1/0 C xy 1 1 67/7/99/39 )))AFCID )))EMISSIONS ### END SECTION MASKS ### ### END OF HEMCO INPUT FILE ### #EOC ================================================ FILE: run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.carbon ================================================ #------------------------------------------------------------------------------ # Harmonized Emissions Component (HEMCO) ! #------------------------------------------------------------------------------ #BOP # # !MODULE: HEMCO_Config.rc # # !DESCRIPTION: Contains configuration information for HEMCO. Define the # emissions inventories and corresponding file paths here. Entire # configuration files can be inserted into this configuration file with # an '>>>include' statement, e.g. '>>>include HEMCO\_Config\_test.rc' # The settings of include-files will be ignored. #\\ #\\ # !REMARKS: # See hemco.readthedocs.io for more information. # # !REVISION HISTORY: # See https://github.com/geoschem/geos-chem for complete history #EOP #------------------------------------------------------------------------------ #BOC ############################################################################### ### BEGIN SECTION SETTINGS ############################################################################### ROOT: ${RUNDIR_DATA_ROOT}/HEMCO GCAPSCENARIO: ${RUNDIR_GCAP2_SCENARIO} GCAPVERTRES: ${RUNDIR_GCAP2_VERTRES} Logfile: * DiagnFile: HEMCO_Diagn.rc DiagnPrefix: ./OutputDir/HEMCO_diagnostics DiagnFreq: Monthly Wildcard: * Separator: / Unit tolerance: 1 Negative values: 2 Only unitless scale factors: false Verbose: false VerboseOnCores: root # Accepted values: root all Mask fractions: false ### END SECTION SETTINGS ### ############################################################################### ### BEGIN SECTION EXTENSION SWITCHES ############################################################################### # ExtNr ExtName on/off Species Years avail. 0 Base : on * # ----- MAIN SWITCHES --------------------------------------------------------- --> EMISSIONS : true --> METEOROLOGY : true ${RUNDIR_MET_AVAIL} --> CHEMISTRY_INPUT : true --> USE_CH4_DATA : true --> USE_CO_DATA : true --> USE_CO2_DATA : true --> USE_OCS_DATA : true # 2012-2016 # ----- RESTART FIELDS -------------------------------------------------------- --> GC_RESTART : true --> HEMCO_RESTART : true # ----- NESTED GRID FIELDS ---------------------------------------------------- --> GC_BCs : ${RUNDIR_USE_BCs} # ----- CH4 INVENTORIES AND DATA ---------------------------------------------- # ..... Regional Inventories ......... --> GHGI_v2 : false # 2012-2018 --> GHGI_v2_Express_Ext : true # 2012-2020 --> Scarpelli_Canada : true # 2018 --> Scarpelli_Mexico : true # 2015 # ..... Global Inventories ........... --> GFEIv3 : true # 2020 --> GRPI : true # 2022 --> EDGARv8 : true # 2010-2022 --> QFED2 : false # 2009-2015 --> JPL_WETCHARTS : true # 2010 --> LPJ_MERRA2 : false # 2018-2023 --> SEEPS : true # 2012 --> LAKES : false # 2009-2015 --> RESERVOIRS : true # 2022 --> CAMS_TERMITES : true # 2000 --> MeMo_SOIL_ABSORPTION : true # 1990-2009 or clim. --> CMIP6_SFC_LAND_ANTHRO : false # 1850-2100 --> CMIP6_SHIP : false # 1850-2100 --> BB4MIPS : false # 1850-2100 # ..... Non-Emissions Data ........... --> CH4_LOSS_FREQ : true # 1985 --> GLOBAL_CL : true # 2010-2019 # ----- CO and CO2-only INVENTORIES AND DATA ---------------------------------- # ..... Global inventories ........... --> AEIC2019_DAILY : false # 2019 (daily data) --> AEIC2019_MONMEAN : true # 2019 (monthly-mean data) --> AEIC_SCALE_1990_2019 : true # Scale to year in 1990-2019 --> CEDS_01x01 : true # 1980-2019 --> HTAP : false # 2008-2010 --> FOSSIL_ODIAC : true # 2000-2018 --> FOSSIL_CDIAC : false # 1980-2014 --> OCEAN_EXCH_TAKA09 : false # 2000 --> OCEAN_EXCH_SCALED : true # 2000-2013 --> BBIO_DIURNAL : false # 1985 --> BBIO_SIB3 : true # 2006-2010 --> NET_TERR_EXCH : true # 2000 --> CO2CORR : true # 2000-2018 --> FINNv25 : false # 2012-2023 # ..... Regional inventories ......... --> APEI : false # 1989-2014 --> NEI2016_MONMEAN : false # 2002-2020 --> DICE_Africa : false # 2013 # ..... Non-emissions data ........... --> CO2_COPROD : true # 2004-2009 --> PROD_CO_CH4 : true # 2010-2019 --> PROD_CO_NMVOC : true # 2010-2019 --> GMI_PROD_LOSS : true # 2005 --> GMD_SFC_CH4 : true # 1979-2020 --> CMIP6_SFC_CH4 : false # 1750-1978 # ..... Ship emissions ............... --> SHIP : true --> CEDS_01x01_SHIP : true # 1980-2019 --> HTAP_SHIP : false # 2000-2018 #------ OCS FLUX DATA --------------------------------------------------------- --> OCS_ANTHRO_FLUX : true # 2012-2016 --> OCS_BIOMASS_FLUX : true # 2012-2016 --> OCS_MISSING_OCEAN_FLUX : true # 2012-2016 --> OCS_OCEAN_FLUX : true # 2012-2016 # ----- FUTURE EMISSIONS ------------------------------------------------------ --> RCP_3PD : false # 2005-2100 --> RCP_45 : false # 2005-2100 --> RCP_60 : false # 2005-2100 --> RCP_85 : false # 2005-2100 # ----- NON-EMISSIONS DATA ---------------------------------------------------- --> OLSON_LANDMAP : true # 1985 --> YUAN_MODIS_LAI : true # 2000-2020 --> GLOBAL_OH_GC14 : false # 2010-2019 --> GLOBAL_OH_GCv5 : true # 1985 (recommended for CH4) # ----- Options for analytical inversions ------------------------------------- --> AnalyticalInversion : false --> UseTotalPriorEmis : false # Skips global/regional inventories --> Emis_PosteriorSF : false # Apply posterior scale factors to total emis? # ----------------------------------------------------------------------------- 111 GFED : on CH4/CO/CO2 --> GFED4 : true --> GFED_daily : true --> GFED_3hourly : false --> Scaling_CO : 1.05 ### END SECTION EXTENSION SWITCHES ### ############################################################################### ### BEGIN SECTION BASE EMISSIONS ############################################################################### # ExtNr Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Species ScalIDs Cat Hier (((EMISSIONS #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #%%%%% CH4 EMISSIONS %%%%% #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% (((USE_CH4_DATA #============================================================================== # ---Total CH4 emissions (all sectors) from prior simulation --- #============================================================================== (((UseTotalPriorEmis (((Emis_PosteriorSF 0 CH4_Emis_Prior ../../prior_run/OutputDir/HEMCO_sa_diagnostics.$YYYY$MM$DD0000.nc EmisCH4_Total $YYYY/$MM/$DD/0 C xy kg/m2/s CH4 3 1 500 )))Emis_PosteriorSF (((.not.Emis_PosteriorSF 0 CH4_Emis_Prior ../../prior_run/OutputDir/HEMCO_sa_diagnostics.$YYYY$MM$DD0000.nc EmisCH4_Total $YYYY/$MM/$DD/0 C xy kg/m2/s CH4 - 1 500 ))).not.Emis_PosteriorSF )))UseTotalPriorEmis (((.not.UseTotalPriorEmis #============================================================================== # --- CH4: Gridded GHGI v2 (Maasakkers et al., submitted to ES&T, 2023) --- # # NOTES: # - This is the main Gridded GHGI v2 dataset based off the US GHGI # published in 2020 # - Use Hier=100 to add to Canada and Mexico regional inventories # - Make sure to include offshore/coastal emissions (Hier=1 to add to EDGAR, # Hier=5 to add to GFEI; mask=1009) ### #============================================================================== (((GHGI_v2 ### Oil ### 0 GHGI_OIL_EXPLORATION $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B2a_Petroleum_Systems_Exploration 2012-2018/1-12/1/0 EFY xy molec/cm2/s CH4 51/1008 1 100 0 GHGI_COAST_OIL_EXPLORATION - - - - - - CH4 51/1009 1 5 0 GHGI_OIL_PRODUCTION $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B2a_Petroleum_Systems_Production 2012-2018/1-12/1/0 EFY xy molec/cm2/s CH4 52/1008 1 100 0 GHGI_COAST_OIL_PRODUCTION - - - - - - CH4 52/1009 1 5 0 GHGI_OIL_REFINING $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B2a_Petroleum_Systems_Refining 2012-2018/1-12/1/0 EFY xy molec/cm2/s CH4 53/1008 1 100 0 GHGI_COAST_OIL_REFINING - - - - - - CH4 53/1009 1 5 0 GHGI_OIL_TRANSPORT $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B2a_Petroleum_Systems_Transport 2012-2018/1-12/1/0 EFY xy molec/cm2/s CH4 54/1008 1 100 0 GHGI_COAST_OIL_TRANSPORT - - - - - - CH4 54/1009 1 5 ### Gas ### 0 GHGI_GAS_DISTRIBUTION $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B2b_Natural_Gas_Distribution 2012-2018/1/1/0 EFY xy molec/cm2/s CH4 1008 2 100 0 GHGI_COAST_GAS_DISTRIBUTION - - - - - - CH4 1009 2 5 0 GHGI_GAS_EXPLORATION $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B2b_Natural_Gas_Exploration 2012-2018/1-12/1/0 EFY xy molec/cm2/s CH4 55/1008 2 100 0 GHGI_COAST_GAS_EXPLORATION - - - - - - CH4 55/1009 2 5 0 GHGI_GAS_PROCESSING $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B2b_Natural_Gas_Processing 2012-2018/1/1/0 EFY xy molec/cm2/s CH4 1008 2 100 0 GHGI_COAST_GAS_PROCESSING - - - - - - CH4 1009 2 5 0 GHGI_GAS_PRODUCTION $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B2b_Natural_Gas_Production 2012-2018/1-12/1/0 EFY xy molec/cm2/s CH4 56/1008 2 100 0 GHGI_COAST_GAS_PRODUCTION - - - - - - CH4 56/1009 2 5 0 GHGI_GAS_TRANSMISSION $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B2b_Natural_Gas_TransmissionStorage 2012-2018/1/1/0 EFY xy molec/cm2/s CH4 1008 2 100 0 GHGI_COAST_GAS_TRANSMISSION - - - - - - CH4 1009 2 5 ### Coal ### 0 GHGI_COAL_UNDERGROUND $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B1a_Underground_Coal 2012-2018/1/1/0 EFY xy molec/cm2/s CH4 1008 3 100 0 GHGI_COAST_COAL_UNDERGROUND - - - - - - CH4 1009 3 5 0 GHGI_COAL_SURFACE $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B1a_Surface_Coal 2012-2018/1/1/0 EFY xy molec/cm2/s CH4 1008 3 100 0 GHGI_COAST_COAL_SURFACE - - - - - - CH4 1009 3 5 0 GHGI_COAL_ABANDONED $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B1a_Abandoned_Coal 2012-2018/1/1/0 EFY xy molec/cm2/s CH4 1008 3 100 0 GHGI_COAST_COAL_ABANDONED - - - - - - CH4 1009 3 5 ### Livestock ### 0 GHGI_LIVESTOCK_ENT $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_3A_Enteric_Fermentation 2012-2018/1/1/0 EFY xy molec/cm2/s CH4 1008 4 100 0 GHGI_COAST_LIVESTOCK_ENT - - - - - - CH4 1009 4 1 0 GHGI_LIVESTOCK_MAN $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_3B_Manure_Management 2012-2018/1-12/1/0 EFY xy molec/cm2/s CH4 57/1008 4 100 0 GHGI_COAST_LIVESTOCK_MAN - - - - - - CH4 57/1009 4 1 ### Landfills ### 0 GHGI_LANDFILLS_IND $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_5A1_Landfills_Industrial 2012-2018/1/1/0 EFY xy molec/cm2/s CH4 1008 5 100 0 GHGI_COAST_LANDFILLS_IND - - - - - - CH4 1009 5 1 0 GHGI_LANDFILLS_MSW $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_5A1_Landfills_MSW 2012-2018/1/1/0 EFY xy molec/cm2/s CH4 1008 5 100 0 GHGI_COAST_LANDFILLS_MSW - - - - - - CH4 1009 5 1 0 GHGI_LANDFILLS_COMP $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_5B1_Composting 2012-2018/1/1/0 EFY xy molec/cm2/s CH4 1008 5 100 0 GHGI_COAST_LANDFILLS_COMP - - - - - - CH4 1009 5 1 ### Wastewater ### 0 GHGI_WASTEWATER_DOM $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_5D_Wastewater_Treatment_Domestic 2012-2018/1/1/0 EFY xy molec/cm2/s CH4 1008 6 100 0 GHGI_COAST_WASTEWATER_DOM - - - - - - CH4 1009 6 1 0 GHGI_WASTEWATER_IND $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_5D_Wastewater_Treatment_Industrial 2012-2018/1/1/0 EFY xy molec/cm2/s CH4 1008 6 100 0 GHGI_COAST_WASTEWATER_IND - - - - - - CH4 1009 6 1 ### Rice ### 0 GHGI_RICE $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_3C_Rice_Cultivation 2012-2018/1-12/1/0 EFY xy molec/cm2/s CH4 58/1008 7 100 0 GHGI_COAST_RICE - - - - - - CH4 58/1009 7 1 ### Other Anthro ### 0 GHGI_OTHER_MCOMB $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1A_Combustion_Mobile 2012-2018/1/1/0 EFY xy molec/cm2/s CH4 1008 8 100 0 GHGI_COAST_OTHER_MCOMB - - - - - - CH4 1009 8 1 0 GHGI_OTHER_SCOMB $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1A_Combustion_Stationary 2012-2018/1-12/1/0 EFY xy molec/cm2/s CH4 50/1008 8 100 0 GHGI_COAST_OTHER_SCOMB - - - - - - CH4 50/1009 8 1 0 GHGI_OTHER_PIND $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_2B8_Industry_Petrochemical 2012-2018/1/1/0 EFY xy molec/cm2/s CH4 1008 8 100 0 GHGI_COAST_OTHER_PIND - - - - - - CH4 1009 8 1 0 GHGI_OTHER_FIND $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_2C2_Industry_Ferroalloy 2012-2018/1/1/0 EFY xy molec/cm2/s CH4 1008 8 100 0 GHGI_COAST_OTHER_FIND - - - - - - CH4 1009 8 1 0 GHGI_OTHER_BURN $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_3F_Field_Burning 2012-2018/1-12/1/0 EFY xy molec/cm2/s CH4 59/1008 8 100 0 GHGI_COAST_OTHER_BURN - - - - - - CH4 59/1009 8 1 0 GHGI_OTHER_ABOG $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B2ab_Abandoned_Oil_Gas 2012-2018/1/1/0 EFY xy molec/cm2/s CH4 1008 8 100 0 GHGI_COAST_OTHER_ABOG - - - - - - CH4 1009 8 1 )))GHGI_v2 #======================================================================================= # --- CH4: Gridded GHGI v2 Express Extension (Maasakkers et al., submitted to ES&T, 2023) --- # # NOTES: # - Based off the US GHGI published in 2022. # - Uses annual source-specific spatial patterns from 2012-2018 from the main # dataset to quickly incorporate more recent national methane emission estimates. # - Emissions for years after 2018 follow the 2018 spatial patterns. # - Make sure to include offshore/coastal emissions (Hier=1 to add to EDGAR, # Hier=5 to add to GFEI; mask=1009) ### #======================================================================================= (((GHGI_v2_Express_Ext (((.not.GHGI_v2 ### Oil ### 0 GHGI_EE_OIL_EXPLORATION $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B2a_Petroleum_Systems_Exploration 2012-2020/1-12/1/0 C xy molec/cm2/s CH4 51/1008 1 100 0 GHGI_EE_COAST_OIL_EXPLORATION - - - - - - CH4 51/1009 1 5 0 GHGI_EE_OIL_PRODUCTION $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B2a_Petroleum_Systems_Production 2012-2020/1-12/1/0 C xy molec/cm2/s CH4 52/1008 1 100 0 GHGI_EE_COAST_OIL_PRODUCTION - - - - - - CH4 52/1009 1 5 0 GHGI_EE_OIL_REFINING $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B2a_Petroleum_Systems_Refining 2012-2020/1-12/1/0 C xy molec/cm2/s CH4 53/1008 1 100 0 GHGI_EE_COAST_OIL_REFINING - - - - - - CH4 53/1009 1 5 0 GHGI_EE_OIL_TRANSPORT $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B2a_Petroleum_Systems_Transport 2012-2020/1-12/1/0 C xy molec/cm2/s CH4 54/1008 1 100 0 GHGI_EE_COAST_OIL_TRANSPORT - - - - - - CH4 54/1009 1 5 ### Gas ### 0 GHGI_EE_GAS_DISTRIBUTION $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B2b_Natural_Gas_Distribution 2012-2020/1/1/0 C xy molec/cm2/s CH4 1008 2 100 0 GHGI_EE_COAST_GAS_DISTRIBUTION - - - - - - CH4 1009 2 5 0 GHGI_EE_GAS_EXPLORATION $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B2b_Natural_Gas_Exploration 2012-2020/1-12/1/0 C xy molec/cm2/s CH4 55/1008 2 100 0 GHGI_EE_COAST_GAS_EXPLORATION - - - - - - CH4 55/1009 2 5 0 GHGI_EE_GAS_PROCESSING $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B2b_Natural_Gas_Processing 2012-2020/1/1/0 C xy molec/cm2/s CH4 1008 2 100 0 GHGI_EE_COAST_GAS_PROCESSING - - - - - - CH4 1009 2 5 0 GHGI_EE_GAS_PRODUCTION $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B2b_Natural_Gas_Production 2012-2020/1-12/1/0 C xy molec/cm2/s CH4 56/1008 2 100 0 GHGI_EE_COAST_GAS_PRODUCTION - - - - - - CH4 56/1009 2 5 0 GHGI_EE_GAS_TRANSMISSION $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B2b_Natural_Gas_TransmissionStorage 2012-2020/1/1/0 C xy molec/cm2/s CH4 1008 2 100 0 GHGI_EE_COAST_GAS_TRANSMISSION - - - - - - CH4 1009 2 5 0 GHGI_EE_GAS_POSTMETER $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_Supp_1B2b_PostMeter 2012-2020/1/1/0 C xy molec/cm2/s CH4 1008 2 100 ### Coal ### 0 GHGI_EE_COAL_UNDERGROUND $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B1a_Underground_Coal 2012-2020/1/1/0 C xy molec/cm2/s CH4 1008 3 100 0 GHGI_EE_COAST_COAL_UNDERGROUND - - - - - - CH4 1009 3 5 0 GHGI_EE_COAL_SURFACE $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B1a_Surface_Coal 2012-2020/1/1/0 C xy molec/cm2/s CH4 1008 3 100 0 GHGI_EE_COAST_COAL_SURFACE - - - - - - CH4 1009 3 5 0 GHGI_EE_COAL_ABANDONED $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B1a_Abandoned_Coal 2012-2020/1/1/0 C xy molec/cm2/s CH4 1008 3 100 0 GHGI_EE_COAST_COAL_ABANDONED - - - - - - CH4 1009 3 5 ### Livestock ### 0 GHGI_EE_LIVESTOCK_ENT $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_3A_Enteric_Fermentation 2012-2020/1/1/0 C xy molec/cm2/s CH4 1008 4 100 0 GHGI_EE_COAST_LIVESTOCK_ENT - - - - - - CH4 1009 4 1 0 GHGI_EE_LIVESTOCK_MAN $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_3B_Manure_Management 2012-2020/1-12/1/0 C xy molec/cm2/s CH4 57/1008 4 100 0 GHGI_EE_COAST_LIVESTOCK_MAN - - - - - - CH4 57/1009 4 1 ### Landfills ### 0 GHGI_EE_LANDFILLS_IND $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_5A1_Landfills_Industrial 2012-2020/1/1/0 C xy molec/cm2/s CH4 1008 5 100 0 GHGI_EE_COAST_LANDFILLS_IND - - - - - - CH4 1009 5 1 0 GHGI_EE_LANDFILLS_MSW $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_5A1_Landfills_MSW 2012-2020/1/1/0 C xy molec/cm2/s CH4 1008 5 100 0 GHGI_EE_COAST_LANDFILLS_MSW - - - - - - CH4 1009 5 1 0 GHGI_EE_LANDFILLS_COMP $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_5B1_Composting 2012-2020/1/1/0 C xy molec/cm2/s CH4 1008 5 100 0 GHGI_EE_COAST_LANDFILLS_COMP - - - - - - CH4 1009 5 1 ### Wastewater ### 0 GHGI_EE_WASTEWATER_DOM $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_5D_Wastewater_Treatment_Domestic 2012-2020/1/1/0 C xy molec/cm2/s CH4 1008 6 100 0 GHGI_EE_COAST_WASTEWATER_DOM - - - - - - CH4 1009 6 1 0 GHGI_EE_WASTEWATER_IND $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_5D_Wastewater_Treatment_Industrial 2012-2020/1/1/0 C xy molec/cm2/s CH4 1008 6 100 0 GHGI_EE_COAST_WASTEWATER_IND - - - - - - CH4 1009 6 1 ### Rice ### 0 GHGI_EE_RICE $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_3C_Rice_Cultivation 2012-2020/1-12/1/0 C xy molec/cm2/s CH4 58/1008 7 100 0 GHGI_EE_COAST_RICE - - - - - - CH4 58/1009 7 1 ### Other Anthro ### 0 GHGI_EE_OTHER_MCOMB $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1A_Combustion_Mobile 2012-2020/1/1/0 C xy molec/cm2/s CH4 1008 8 100 0 GHGI_EE_COAST_OTHER_MCOMB - - - - - - CH4 1009 8 1 0 GHGI_EE_OTHER_SCOMB $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1A_Combustion_Stationary 2012-2020/1-12/1/0 C xy molec/cm2/s CH4 50/1008 8 100 0 GHGI_EE_COAST_OTHER_SCOMB - - - - - - CH4 50/1009 8 1 0 GHGI_EE_OTHER_PIND $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_2B8_Industry_Petrochemical 2012-2020/1/1/0 C xy molec/cm2/s CH4 1008 8 100 0 GHGI_EE_COAST_OTHER_PIND - - - - - - CH4 1009 8 1 0 GHGI_EE_OTHER_FIND $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_2C2_Industry_Ferroalloy 2012-2020/1/1/0 C xy molec/cm2/s CH4 1008 8 100 0 GHGI_EE_COAST_OTHER_FIND - - - - - - CH4 1009 8 1 0 GHGI_EE_OTHER_BURN $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_3F_Field_Burning 2012-2020/1-12/1/0 C xy molec/cm2/s CH4 59/1008 8 100 0 GHGI_EE_COAST_OTHER_BURN - - - - - - CH4 59/1009 8 1 0 GHGI_EE_OTHER_ABOG $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B2ab_Abandoned_Oil_Gas 2012-2020/1/1/0 C xy molec/cm2/s CH4 1008 8 100 0 GHGI_EE_COAST_OTHER_ABOG - - - - - - CH4 1009 8 1 ))).not.GHGI_v2 )))GHGI_v2_Express_Ext #============================================================================== # --- CH4: Mexico emissions (Scarpelli et. al, Environ. Res. Lett., 2020) --- # # NOTES: # - Use Hier=100 to add to Canada and USA regional inventories # - Make sure to include offshore/coastal emissions # (Hier=1 to add to EDGAR, Hier=5 to add to GFEI) #============================================================================== (((Scarpelli_Mexico 0 MEX_OIL $ROOT/CH4/v2022-11/Scarpelli_Mexico/MEX_Tia2020_oil_2015.nc emis_ch4 2015/1/1/0 C xy molec/cm2/s CH4 1001 1 100 0 MEX_OIL_COAST - - - - - - CH4 1010 1 5 0 MEX_GAS $ROOT/CH4/v2022-11/Scarpelli_Mexico/MEX_Tia2020_gas_2015.nc emis_ch4 2015/1/1/0 C xy molec/cm2/s CH4 1001 2 100 0 MEX_GAS_COAST - - - - - - CH4 1010 2 5 0 MEX_COAL $ROOT/CH4/v2022-11/Scarpelli_Mexico/MEX_Tia2020_coal_2015.nc emis_ch4 2015/1/1/0 C xy molec/cm2/s CH4 1001 3 100 0 MEX_COAL_COAST - - - - - - CH4 1010 3 5 0 MEX_LIVESTOCK_A $ROOT/CH4/v2022-11/Scarpelli_Mexico/MEX_Tia2020_livestock_A_2015.nc emis_ch4 2015/1/1/0 C xy molec/cm2/s CH4 1001 4 100 0 MEX_LIVESTOCK_A_COAST - - - - - - CH4 1010 4 1 0 MEX_LIVESTOCK_B $ROOT/CH4/v2022-11/Scarpelli_Mexico/MEX_Tia2020_livestock_B_2015.nc emis_ch4 2015/1/1/0 C xy molec/cm2/s CH4 10/1001 4 100 0 MEX_LIVESTOCK_B_COAST - - - - - - CH4 10/1010 4 1 0 MEX_LANDFILLS $ROOT/CH4/v2022-11/Scarpelli_Mexico/MEX_Tia2020_landfill_2015.nc emis_ch4 2015/1/1/0 C xy molec/cm2/s CH4 1001 5 100 0 MEX_LANDFILLS_COAST - - - - - - CH4 1010 5 1 0 MEX_WASTEWATER $ROOT/CH4/v2022-11/Scarpelli_Mexico/MEX_Tia2020_waste_2015.nc emis_ch4 2015/1/1/0 C xy molec/cm2/s CH4 1001 6 100 0 MEX_WASTEWATER_COAST - - - - - - CH4 1010 6 1 0 MEX_RICE $ROOT/CH4/v2022-11/Scarpelli_Mexico/MEX_Tia2020_rice_2015.nc emis_ch4 2015/1/1/0 C xy molec/cm2/s CH4 11/1001 7 100 0 MEX_RICE_COAST - - - - - - CH4 11/1010 7 1 0 MEX_OTHER $ROOT/CH4/v2022-11/Scarpelli_Mexico/MEX_Tia2020_other_anthro_2015.nc emis_ch4 2015/1/1/0 C xy molec/cm2/s CH4 1001 8 100 0 MEX_OTHER_COAST - - - - - - CH4 1010 8 1 )))Scarpelli_Mexico #============================================================================== # --- CH4: Canada emissions (Scarpelli et al., Environ. Res. Lett., 2022) --- # # NOTES: # - Use Hier=100 to add to USA and Mexico regional inventories # - Make sure to include offshore/coastal emissions # (Hier=1 to add to EDGAR, Hier=5 to add to GFEI) #============================================================================== (((Scarpelli_Canada 0 CAN_OIL_GAS_COMBUSTION $ROOT/CH4/v2022-01/Scarpelli_Canada/can_emis_oil_gas_combustion_2018.nc oil_gas_combustion_total 2018/1/1/0 C xy kg/m2/s CH4 1002 1/2 100 0 CAN_OIL_GAS_COMBUSTION_COAST - - - - - - CH4 1011 1/2 5 0 CAN_OIL_GAS_LEAKAGE $ROOT/CH4/v2022-01/Scarpelli_Canada/can_emis_oil_gas_leakage_2018.nc oil_gas_leakage_total 2018/1/1/0 C xy kg/m2/s CH4 1002 1/2 100 0 CAN_OIL_GAS_LEAKAGE_COAST - - - - - - CH4 1011 1/2 5 0 CAN_OIL_GAS_VENT_FLARE $ROOT/CH4/v2022-01/Scarpelli_Canada/can_emis_oil_gas_vent_flare_2018.nc oil_gas_vent_flare_total 2018/1/1/0 C xy kg/m2/s CH4 1002 1/2 100 0 CAN_OIL_GAS_VENT_FLARE_COAST - - - - - - CH4 1011 1/2 5 0 CAN_COAL $ROOT/CH4/v2022-01/Scarpelli_Canada/can_emis_coal_2018.nc coal_total 2018/1/1/0 C xy kg/m2/s CH4 1002 3 100 0 CAN_COAL_COAST - - - - - - CH4 1011 3 5 0 CAN_LIVESTOCK $ROOT/CH4/v2022-01/Scarpelli_Canada/can_emis_livestock_2018.nc livestock_total 2018/1/1/0 C xy kg/m2/s CH4 1002 4 100 0 CAN_LIVESTOCK_COAST - - - - - - CH4 1011 4 1 0 CAN_SOLID_WASTE $ROOT/CH4/v2022-01/Scarpelli_Canada/can_emis_solid_waste_2018.nc solid_waste_total 2018/1/1/0 C xy kg/m2/s CH4 1002 5 100 0 CAN_SOLID_WASTE_COAST - - - - - - CH4 1011 5 1 0 CAN_WASTEWATER $ROOT/CH4/v2022-01/Scarpelli_Canada/can_emis_wastewater_2018.nc wastewater_total 2018/1/1/0 C xy kg/m2/s CH4 1002 6 100 0 CAN_WASTEWATER_COAST - - - - - - CH4 1011 6 1 0 CAN_OTHER $ROOT/CH4/v2022-01/Scarpelli_Canada/can_emis_other_minor_sources_2018.nc other_minor_sources_total 2018/1/1/0 C xy kg/m2/s CH4 1002 8 100 0 CAN_OTHER_COAST - - - - - - CH4 1011 8 1 )))Scarpelli_Canada #============================================================================== # --- CH4: Global Fuel Exploitation Inventory (GFEI v3, Scarpelli et al., 2025) --- # # This inventory will replace EDGAR (oil, gas, & coal) #============================================================================== (((GFEIv3 0 GFEI_CH4_OIL $ROOT/CH4/v2025-08/GFEIv3/Global_Fuel_Exploitation_Inventory_v3_2020_Oil_All.nc Oil_All 2020/1/1/0 C xy kg/m2/s CH4 - 1 5 0 GFEI_CH4_GAS $ROOT/CH4/v2025-08/GFEIv3/Global_Fuel_Exploitation_Inventory_v3_2020_Gas_All.nc Gas_All 2020/1/1/0 C xy kg/m2/s CH4 - 2 5 0 GFEI_CH4_COAL $ROOT/CH4/v2025-08/GFEIv3/Global_Fuel_Exploitation_Inventory_v3_2020_Coal.nc Coal 2020/1/1/0 C xy kg/m2/s CH4 - 3 5 )))GFEIv3 #============================================================================== # --- Global Rice Patty Inventory (GRPI, Zichong Chen et al., 2025) --- # # This inventory will replace EDGAR (rice) #============================================================================== (((GRPI 0 GRPI_CH4_RICE $ROOT/CH4/v2025-01/GRPI/GRPI_01x01.nc emi_ch4 2022/1-12/1/0 C xy kg/m2/s CH4 - 7 5 )))GRPI #============================================================================== # --- CH4: EDGAR v8.0 emissions --- # # NOTES: # - EDGAR v8 livestock emissions have unexplained hotspots and no seasonality. # Use EDGAR v7 emissions for that sector instead. #============================================================================== (((EDGARv8 ### Oil ### 0 EDGAR8_CH4_PRO_OIL $ROOT/CH4/v2024-02/EDGARv8/$YYYY/v8.0_FT2022_GHG_CH4_$YYYY_PRO_OIL_flx.nc emi_ch4 2010-2022/1-12/1/0 C xy kg/m2/s CH4 - 1 1 0 EDGAR8_CH4_REF_TRF $ROOT/CH4/v2024-02/EDGARv8/$YYYY/v8.0_FT2022_GHG_CH4_$YYYY_REF_TRF_flx.nc emi_ch4 2010-2022/1-12/1/0 C xy kg/m2/s CH4 - 1 1 ### Gas ### 0 EDGAR8_CH4_PRO_GAS $ROOT/CH4/v2024-02/EDGARv8/$YYYY/v8.0_FT2022_GHG_CH4_$YYYY_PRO_GAS_flx.nc emi_ch4 2010-2022/1-12/1/0 C xy kg/m2/s CH4 - 2 1 ### Coal ### 0 EDGAR8_CH4_PRO_COAL $ROOT/CH4/v2024-02/EDGARv8/$YYYY/v8.0_FT2022_GHG_CH4_$YYYY_PRO_COAL_flx.nc emi_ch4 2010-2022/1-12/1/0 C xy kg/m2/s CH4 - 3 1 ### Livestock (from EDGAR v7) ### 0 EDGAR7_CH4_LIVESTOCK__4A $ROOT/CH4/v2023-04/EDGARv7/$YYYY/v7.0_FT2021_CH4_$YYYY_ENF.0.1x0.1.nc emi_ch4 2010-2021/1-12/1/0 C xy kg/m2/s CH4 24 4 1 0 EDGAR7_CH4_LIVESTOCK__4B $ROOT/CH4/v2023-04/EDGARv7/$YYYY/v7.0_FT2021_CH4_$YYYY_MNM.0.1x0.1.nc emi_ch4 2010-2021/1-12/1/0 C xy kg/m2/s CH4 28 4 1 ### Landfills ### 0 EDGAR8_CH4_SWD_LDF $ROOT/CH4/v2024-02/EDGARv8/$YYYY/v8.0_FT2022_GHG_CH4_$YYYY_SWD_LDF_flx.nc emi_ch4 2010-2022/1-12/1/0 C xy kg/m2/s CH4 - 5 1 ### Wastewater ### 0 EDGAR8_CH4_WWT $ROOT/CH4/v2024-02/EDGARv8/$YYYY/v8.0_FT2022_GHG_CH4_$YYYY_WWT_flx.nc emi_ch4 2010-2022/1-12/1/0 C xy kg/m2/s CH4 - 6 1 ### Rice ### 0 EDGAR8_CH4_AGS $ROOT/CH4/v2024-02/EDGARv8/$YYYY/v8.0_FT2022_GHG_CH4_$YYYY_AGS_flx.nc emi_ch4 2010-2022/1-12/1/0 C xy kg/m2/s CH4 - 7 1 ### Other Anthro ### 0 EDGAR8_CH4_ENE $ROOT/CH4/v2024-02/EDGARv8/$YYYY/v8.0_FT2022_GHG_CH4_$YYYY_ENE_flx.nc emi_ch4 2010-2022/1-12/1/0 C xy kg/m2/s CH4 - 8 1 0 EDGAR8_CH4_IND $ROOT/CH4/v2024-02/EDGARv8/$YYYY/v8.0_FT2022_GHG_CH4_$YYYY_IND_flx.nc emi_ch4 2010-2022/1-12/1/0 C xy kg/m2/s CH4 - 8 1 0 EDGAR8_CH4_TNR_Aviation_CDS $ROOT/CH4/v2024-02/EDGARv8/$YYYY/v8.0_FT2022_GHG_CH4_$YYYY_TNR_Aviation_CDS_flx.nc emi_ch4 2010-2022/1-12/1/0 C xy kg/m2/s CH4 - 8 1 0 EDGAR8_CH4_TNR_Aviation_CRS $ROOT/CH4/v2024-02/EDGARv8/$YYYY/v8.0_FT2022_GHG_CH4_$YYYY_TNR_Aviation_CRS_flx.nc emi_ch4 2010-2022/1-12/1/0 C xy kg/m2/s CH4 - 8 1 0 EDGAR8_CH4_TNR_Aviation_LTO $ROOT/CH4/v2024-02/EDGARv8/$YYYY/v8.0_FT2022_GHG_CH4_$YYYY_TNR_Aviation_LTO_flx.nc emi_ch4 2010-2022/1-12/1/0 C xy kg/m2/s CH4 - 8 1 0 EDGAR8_CH4_TRO $ROOT/CH4/v2024-02/EDGARv8/$YYYY/v8.0_FT2022_GHG_CH4_$YYYY_TRO_flx.nc emi_ch4 2010-2022/1-12/1/0 C xy kg/m2/s CH4 - 8 1 0 EDGAR8_CH4_TNR_Other $ROOT/CH4/v2024-02/EDGARv8/$YYYY/v8.0_FT2022_GHG_CH4_$YYYY_TNR_Other_flx.nc emi_ch4 2010-2022/1-12/1/0 C xy kg/m2/s CH4 - 8 1 0 EDGAR8_CH4_TNR_Ship $ROOT/CH4/v2024-02/EDGARv8/$YYYY/v8.0_FT2022_GHG_CH4_$YYYY_TNR_Ship_flx.nc emi_ch4 2010-2022/1-12/1/0 C xy kg/m2/s CH4 - 8 1 0 EDGAR8_CH4_RCO $ROOT/CH4/v2024-02/EDGARv8/$YYYY/v8.0_FT2022_GHG_CH4_$YYYY_RCO_flx.nc emi_ch4 2010-2022/1-12/1/0 C xy kg/m2/s CH4 - 8 1 0 EDGAR8_CH4_CHE $ROOT/CH4/v2024-02/EDGARv8/$YYYY/v8.0_FT2022_GHG_CH4_$YYYY_CHE_flx.nc emi_ch4 2010-2022/1-12/1/0 C xy kg/m2/s CH4 - 8 1 0 EDGAR8_CH4_IRO $ROOT/CH4/v2024-02/EDGARv8/$YYYY/v8.0_FT2022_GHG_CH4_$YYYY_IRO_flx.nc emi_ch4 2010-2022/1-12/1/0 C xy kg/m2/s CH4 - 8 1 # Comment out to avoid double counting with GFED #0 EDGAR8_CH4_AWB $ROOT/CH4/v2024-02/EDGARv8/$YYYY/v8.0_FT2022_GHG_CH4_$YYYY_AWB_flx.nc emi_ch4 2010-2022/1-12/1/0 C xy kg/m2/s CH4 - 8 1 0 EDGAR8_CH4_SWD_INC $ROOT/CH4/v2024-02/EDGARv8/$YYYY/v8.0_FT2022_GHG_CH4_$YYYY_SWD_INC_flx.nc emi_ch4 2010-2022/1-12/1/0 C xy kg/m2/s CH4 - 8 1 )))EDGARv8 #============================================================================== # --- CH4: CEDS (historical) or Shared Socioeconomic Pathways (future) --- #============================================================================== (((CMIP6_SFC_LAND_ANTHRO 0 CMIP6_CH4_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_agr 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 4 1 0 CMIP6_CH4_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_ene 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 2 1 0 CMIP6_CH4_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_ind 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 8 1 0 CMIP6_CH4_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_tra 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 8 1 0 CMIP6_CH4_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_rco 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 2 1 0 CMIP6_CH4_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_slv 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 8 1 0 CMIP6_CH4_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_wst 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 5 1 )))CMIP6_SFC_LAND_ANTHRO (((CMIP6_SHIP 0 CMIP6_CH4_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_shp 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 8 1 )))CMIP6_SHIP #============================================================================== # --- CH4: BB4MIPs historical / SSP future biomass burning inventories --- #============================================================================== (((BB4MIPS 0 CMIP6_BB_CH4 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_bbn 1750-2015/1-12/1/0 C xyL=1:PBL kg/m2/s CH4 75 9 1 )))BB4MIPS #============================================================================== # --- CH4: QFED2 biomass burning --- # # Use QFED v2.4r8 for CH4. The data in QFED/v2014-09 are for v2.4r5 and have # been found to be buggy for CH4 (same emissions on each day). #============================================================================== (((QFED2 0 QFED_CH4 $ROOT/CH4/v2017-10/QFED/QFEDv2.4r8.emis_ch4.$YYYY.nc emi_ch4 2009-2015/1-12/1-31/0 C xy molec/cm2/s CH4 - 9 2 )))QFED2 #============================================================================== # --- JPL WetCHARTs v1.0 wetland emissions --- # # Reference: Bloom et al., https://doi.org/10.3334/ORNLDAAC/1502 # Use updated files (v2024-01); these are COARDS-compliant. #============================================================================== (((JPL_WETCHARTS 0 JPLW_CH4 $ROOT/CH4/v2024-01/JPL_WetCharts/HEensemble/JPL_WetCharts_2010-2019.Ensemble_Mean.0.5x0.5.nc emi_ch4 2010/1-12/1/0 C xy molec/cm2/s CH4 - 10 1 )))JPL_WETCHARTS #============================================================================== # --- LPJ MERRA-2 wetland emissions --- # # Reference: East et al., https://agupubs.onlinelibrary.wiley.com/doi/full/10.1029/2024GL108494 #============================================================================== (((LPJ_MERRA2 0 LPJ_CH4 $ROOT/CH4/v2025-09/LPJ_MERRA2/LPJ_MERRA2_$YYYY_0.5x0.5.nc emis_ch4 2018-2023/1-12/1/0 C xy kg/m2/s CH4 - 10 2 )))LPJ_MERRA2 #============================================================================== # --- CH4: Geological Seeps --- #============================================================================== (((SEEPS 0 CH4_SEEPS $ROOT/CH4/v2020-04/Seeps/Etiope_CH4GeologicalEmis_ScaledToHmiel.1x1.nc emi_ch4 2012/1/1/0 C xy kg/m2/s CH4 - 11 1 )))SEEPS #============================================================================== # --- CH4: Emissions from Lakes (Maasakkers et al., 2019) --- #============================================================================== (((LAKES 0 CH4_LAKES $ROOT/CH4/v2022-11/Lakes/Maasakkers_Lakes_$YYYY.01x01.nc emi_ch4 $YYYY/1-12/1/0 C xy molec/cm2/s CH4 - 12 1 )))LAKES #============================================================================== # --- Emissions from Hydroelectric Reservoirs (Delwich et al., 2022) --- # # Use updated files (v2024-01); these are COARDS-compliant. #============================================================================== (((RESERVOIRS 0 CH4_RES_DAM $ROOT/CH4/v2024-01/ResME/ResME_Dam_Emissions.0.1x0.1.nc CH4emis 2022/1-12/1/0 C xy kg/m2/s CH4 1500 15 1 0 CH4_RES_SFC $ROOT/CH4/v2024-01/ResME/ResME_Surface_Emissions.0.1x0.1.nc CH4emis 2022/1-12/1/0 C xy kg/m2/s CH4 1500 15 1 )))RESERVOIRS #============================================================================== # --- CH4: Termites from CAMS-GLOB-TERM.v1.1 --- #============================================================================== (((CAMS_TERMITES 0 CH4_TERMITES $ROOT/CH4/v2026-02/CAMS_Termites/CAMS-GLOB-TERM_v1.1_methane_2000.nc CH4 2000/1-12/1/0 C xy kg/m2/s CH4 - 13 1 )))CAMS_TERMITES #============================================================================== # --- CH4: Soil absorption from MeMo model (Murguia-Flores et al. 2018, GMD) --- # # - Multiply soil absorption by -1 to get a "negative" flux #============================================================================== (((MeMo_SOIL_ABSORPTION # Climatology 0 CH4_SOILABSORB $ROOT/CH4/v2019-10/MeMo_SoilAbs/MeMo_CH4uptake_Climatology.nc CH4uptake 2009/1-12/1/0 C xy kg/m2/s CH4 1 14 2 # 1990-2009 #0 CH4_SOILABSORB $ROOT/CH4/v2019-10/MeMo_SoilAbs/MeMo_CH4uptake_1990-2009.nc CH4uptake 1990-2009/1-12/1/0 C xy kg/m2/s CH4 1 14 2 )))MeMo_SOIL_ABSORPTION #============================================================================== # --- CH4: RCP future emission scenarios --- #============================================================================== (((RCP_3PD 0 RCP3PD_CH4 $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_CH4_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CH4 - 1 1 )))RCP_3PD (((RCP_45 0 RCP45_CH4 $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_CH4_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CH4 - 1 1 )))RCP_45 (((RCP_60 0 RCP60_CH4 $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_CH4_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CH4 - 1 1 )))RCP_60 (((RCP_85 0 RCP85_CH4 $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_CH4_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CH4 - 1 1 )))RCP_85 ))).not.UseTotalPriorEmis )))USE_CH4_DATA #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #%%%%% CO EMISSIONS %%%%% #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% (((USE_CO_DATA #============================================================================== # --- CO: APEI (Canada) --- #============================================================================== (((APEI 0 APEI_CO $ROOT/APEI/v2016-11/APEI.0.1x0.1.nc CO 1989-2014/1/1/0 RF xy kg/m2/s CO 26/52/2002 1 30 )))APEI #============================================================================== # --- CO: EPA NEI2016 v1 (USA) --- # # NOTES: # * Barron Henderson wrote, "The EPA emission modeling platform always # includes our best estimate of that year's emissions for Canada and Mexico # (othpt, othar, ptfire_oth). Using that estimate is likely good. However, # that can lead to a discontinuity in Mexico and Canada." # - By default only emissions over the CONUS are used (via Mask #2007) # - To include emissions over Canada and Mexico, users may revert to the old # US mask file $ROOT/MASKS/v2018-09/USA_LANDMASK_NEI2011_0.1x0.1.20160921.nc # * The base year of these emissions is 2016 and emissions are scaled to # 2002-2020 using data from the EPA Trends Report for Tier 1 CAPS (obtained # 21 Sep 2021). # - See NEI2016/v2021-06/national_tier1_caps+HEMCOscaling.xlsx for details. # - Cl2 and HCl emissions are only available for 2016 because those species # aren't included in the Tier 1 CAPS file/ #============================================================================== (((NEI2016_MONMEAN 0 EPA16_CO__airportsCO $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/2007 1 50 0 EPA16_CO__nonptCO $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/2007 1 50 0 EPA16_CO__nonroadCO $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/2007 1 50 0 EPA16_CO__npogCO $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/2007 1 50 0 EPA16_CO__onroadCO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/2007 1 50 0 EPA16_CO__onroad_caCO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/2007 1 50 0 EPA16_CO__railCO $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/2007 1 50 0 EPA16_CO__c1c2CO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xyz kg/m2/s CO 26/211/252/2007 1 50 0 EPA16_CO__c3CO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xyz kg/m2/s CO 26/211/252/2007 1 50 0 EPA16_CO__pteguCO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xyz kg/m2/s CO 26/211/252/2007 1 50 0 EPA16_CO__ptogCO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xyz kg/m2/s CO 26/211/252/2007 1 50 0 EPA16_CO__ptnonipmCO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xyz kg/m2/s CO 26/211/252/2007 1 50 0 EPA16_CO__onroad_canCO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/2007 1 50 0 EPA16_CO__onroad_mexCO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/2007 1 50 0 EPA16_CO__otharCO $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/2007 1 50 0 EPA16_CO__othptCO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/2007 1 50 )))NEI2016_MONMEAN #============================================================================== # --- CO: DICE-Africa emission inventory (Marais and Wiedinmyer, ES&T, 2016) --- # # DICE-Africa includes regional (Africa) emissions of biofuel and diffuse # anthropogenic emissions from cars and motorcycles, biofuels, charcoal making # and use, backup generators, agricultural waste burning for cooking, gas # flares, and ad-hoc/informal oil refining. # # Other pollution sources (formal industry, power generation using fossil # fuels) are from the EDGAR v4.3 inventory for CO, SO2, NH3, NOx BC, and OC. # # NMVOCs from sources not accounted for in DICE-Africa aren't included here, # as these emissions are likely to be low compared to the DICE pollution # sources and RETRO v1 as implemented in GEOS-Chem doesn't distinguish # emissions by sector/activity. # # Emissions for 2013 are defined below, but DICE-Africa also includes # emissions for 2006. Developers recommend using population change to # estimate emissions, if users want to use annual trends in pollutant # emissions to estimate in other years. #============================================================================== (((DICE_Africa 0 DICE_CARS_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/2008 1 60 0 DICE_MOTORCYCLES_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/2008 1 60 0 DICE_BACKUPGEN_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/2008 1 60 0 DICE_CHARCOALPROD_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/2008/320 1 60 0 DICE_GASFLARE_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/2008 1 60 0 DICE_AGBURNING_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/2008 2 60 0 DICE_CHARCOALUSE_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/2008 2 60 0 DICE_KEROSENE_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-kerosene-use-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/2008 1 60 0 DICE_OILREFINING_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/2008 1 60 0 DICE_HOUSEFUELWOOD_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/2008 2 60 0 DICE_OTHERFUELWOOD_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/2008 2 60 # --------------------------------------------------- # Efficient Combustion Emissions from EDGAR # This makes up for sources that DICE-Africa lacks # --------------------------------------------------- 0 AF_EDGAR_CO_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.POW.0.1x0.1.nc emi_co 1970-2010/1/1/0 RF xy kg/m2/s CO 1201/26/52/2008 1 60 0 AF_EDGAR_CO_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.ENG.0.1x0.1.nc emi_co 1970-2010/1/1/0 RF xy kg/m2/s CO 1202/26/52/2008 1 60 0 AF_EDGAR_CO_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.IND.0.1x0.1.nc emi_co 1970-2010/1/1/0 RF xy kg/m2/s CO 1203/26/52/2008 1 60 0 AF_EDGAR_CO_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.TNG.0.1x0.1.nc emi_co 1970-2010/1/1/0 RF xy kg/m2/s CO 1205/26/52/2008 1 60 0 AF_EDGAR_CO_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.PPA.0.1x0.1.nc emi_co 1970-2010/1/1/0 RF xy kg/m2/s CO 1207/26/52/2008 1 60 0 AF_EDGAR_CO_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.SWD.0.1x0.1.nc emi_co 1970-2010/1/1/0 RF xy kg/m2/s CO 1211/26/52/2008 1 60 )))DICE_Africa #============================================================================== # --- CO: CEDS_01x01 --- # # %%% This is the default global inventory. %%% # %%% You may select either CEDS, EDGAR, HTAP or CMIP6_SFC_LAND_ANTHRO %%% # %%% for the global base emissions. %%% #============================================================================== (((CEDS_01x01 0 CEDS_CO_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_agr 1980-2019/1-12/1/0 C xy kg/m2/s CO 2401 1 5 0 CEDS_CO_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s CO 2406/706/315 1 5 0 CEDS_CO_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s CO 2407/707/316 1 5 0 CEDS_CO_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_tra 1980-2019/1-12/1/0 C xy kg/m2/s CO 2411/711 1 5 0 CEDS_CO_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_rco 1980-2019/1-12/1/0 C xy kg/m2/s CO 2409/709 1 5 0 CEDS_CO_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_slv 1980-2019/1-12/1/0 C xy kg/m2/s CO 2407/707 1 5 0 CEDS_CO_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_wst 1980-2019/1-12/1/0 C xy kg/m2/s CO 26 1 5 )))CEDS_01x01 #============================================================================== # --- CO: CMIP6_SFC_LAND_ANTHRO --- # CEDS (historical) or Shared Socioeconomic Pathways (future), consistent with # the CMIP6 simulation experimental design. # # Make sure that the desired $GCAPSCENARIO is set above in SECTION SETTINGS #============================================================================== (((CMIP6_SFC_LAND_ANTHRO 0 CMIP6_CO_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_agr 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 1 5 0 CMIP6_CO_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_ene 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 1 5 0 CMIP6_CO_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_ind 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 1 5 0 CMIP6_CO_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_tra 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 1 5 0 CMIP6_CO_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_rco 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 1 5 0 CMIP6_CO_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_slv 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 1 5 0 CMIP6_CO_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_wst 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 1 5 )))CMIP6_SFC_LAND_ANTHRO #============================================================================== # CO: CEDS (historical) or Shared Socioeconomic Pathways (future) aircraft # emissions, consistent with the CMIP6 simulation experimental design # # Make sure that the desired $GCAPSCENARIO is set above in SECTION SETTINGS #============================================================================== (((CMIP6_AIRCRAFT 0 CMIP6_AIR_CO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY_AIR.$GCAP2VERTRESL.nc4 CO_air 1750-2100/1-12/1/0 C xyz kg/m2/s CO 26 20 1 )))CMIP6_AIRCRAFT #============================================================================== # --- CO: HTAP v2 --- # # %%% This is an optional inventory. You may select either CEDS, EDGAR, # or HTAP for the global base emissions %%% # # ==> HTAP ship emissions are listed in the ship emissions section below # ==> Disable aircraft emissions and get them from AEIC instead. #============================================================================== (((HTAP 0 HTAP_CO_IND $ROOT/HTAP/v2015-03/CO/EDGAR_HTAP_CO_INDUSTRY.generic.01x01.nc emi_co 2008-2010/1-12/1/0 C xy kg/m2/s CO 506/528/26 1 4 0 HTAP_CO_POW $ROOT/HTAP/v2015-03/CO/EDGAR_HTAP_CO_ENERGY.generic.01x01.nc emi_co 2008-2010/1-12/1/0 C xy kg/m2/s CO 506/528/26 1 4 0 HTAP_CO_RES $ROOT/HTAP/v2015-03/CO/EDGAR_HTAP_CO_RESIDENTIAL.generic.01x01.nc emi_co 2008-2010/1-12/1/0 C xy kg/m2/s CO 506/528/26 1 4 0 HTAP_CO_TRA $ROOT/HTAP/v2015-03/CO/EDGAR_HTAP_CO_TRANSPORT.generic.01x01.nc emi_co 2008-2010/1-12/1/0 C xy kg/m2/s CO 506/528/26 1 4 #0 HTAP_CO_AIR1 $ROOT/HTAP/v2015-03/CO/EDGAR_HTAP_CO_AIR_LTO.generic.01x01.nc emi_co 2008-2010/1/1/0 C xy kg/m2/s CO 506/528/26 1 4 #0 HTAP_CO_AIR2 $ROOT/HTAP/v2015-03/CO/EDGAR_HTAP_CO_AIR_CDS.generic.01x01.nc emi_co 2008-2010/1/1/0 C xy kg/m2/s CO 506/528/26 1 4 #0 HTAP_CO_AIR3 $ROOT/HTAP/v2015-03/CO/EDGAR_HTAP_CO_AIR_CRS.generic.01x01.nc emi_co 2008-2010/1/1/0 C xy kg/m2/s CO 506/528/26 1 4 )))HTAP #============================================================================== # --- CO: Ship emissions --- # # ==> CEDS ship emissions are now the default. # ==> If CEDS_SHIP is turned off above then ARCTAS should be used over ICOADS, # CORBETT, and HTAP for SO2 and ICOADS should be used for CO and NO. # ==> Ship NO emissions are used by PARANOx and the extension number must be # adjusted accordingly. If PARANOx is turned off, set the ExtNr back to # zero. #============================================================================== (((SHIP (((HTAP_SHIP 0 HTAP_SHIP_CO $ROOT/HTAP/v2015-03/EDGAR_HTAP_CO_SHIPS.generic.01x01.nc CO 2008-2010/1/1/0 C xy kg/m2/s CO 506/528 10 4 )))HTAP_SHIP (((CEDS_01x01_SHIP 0 CEDS_CO_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_shp 1980-2019/1-12/1/0 C xy kg/m2/s CO 26 10 5 )))CEDS_01x01_SHIP #============================================================================== # --- CO: CMIP6_SHIP --- # CEDS (historical) or Shared Socioeconomic Pathways (future), consistent with # the CMIP6 simulation experimental design. # # Make sure that the desired $GCAPSCENARIO is set above in SECTION SETTINGS #============================================================================== (((CMIP6_SHIP 0 CMIP6_CO_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_shp 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 10 5 )))CMIP6_SHIP )))SHIP #============================================================================== # --- CO: AEIC 2019 aircraft emissions --- # # Data files are for 2019, but scale factors from 1990-2019 can be applied # in order to get year-specific emissions. See the notes in the AEIC2019 # scale factor section below for more information. #============================================================================== (((AEIC2019_DAILY 0 AEIC19_DAILY_CO $ROOT/AEIC2019/v2022-03/2019/AEIC_2019$MM$DD.0.5x0.625.36L.nc CO 2019/1-12/1-31/0 C xyz kg/m2/s CO 241 20 1 )))AEIC2019_DAILY (((AEIC2019_MONMEAN 0 AEIC19_MONMEAN_CO $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc CO 2019/1-12/1/0 C xyz kg/m2/s CO 241 20 1 )))AEIC2019_MONMEAN #============================================================================== # --- CO: RCP future emissions scenarios --- #============================================================================== (((RCP_3PD 0 RCP3PD_CO $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_CO_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CO - 1 1 )))RCP_3PD (((RCP_45 0 RCP45_CO $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_CO_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CO - 1 1 )))RCP_45 (((RCP_60 0 RCP60_CO $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_CO_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CO - 1 1 )))RCP_60 (((RCP_85 0 RCP85_CO $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_CO_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CO - 1 1 )))RCP_85 #============================================================================== # --- CO biomass burning (base emissions) --- #============================================================================== # --- QFED2 (v2.5r1) --- (((QFED2 0 QFED_CO_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_co.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EF xyL=1:PBL kg/m2/s CO 54/75/311 5 2 0 QFED_CO_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_co.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EF xyL=PBL:5500m kg/m2/s CO 54/75/312 5 2 )))QFED2 # --- GFAS --- (((GFAS 0 GFAS_CO $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc cofire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s CO 75 5 3 )))GFAS # --- FINNv2.5 biomass burning --- (((FINNv25 0 FINNv25_CO $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_CO_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_CO 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s CO 75 5 3 )))FINNv25 # --- BB4MIPs --- (((BB4MIPS 0 CMIP6_BB_CO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s CO 75 5 3 )))BB4MIPS )))USE_CO_DATA #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #%%%%% CO2 EMISSIONS %%%%% #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% (((USE_CO2_DATA #============================================================================== # --- CO2: FOSSIL FUEL EMISSIONS --- # # National CO2 fossil fuel emissions exclude international shipping and aviation # Carbon Dioxide Information Analysis Center (CDIAC) 1x1 national emissions # (Andres et al., 2011) # Open-source Data Inventory of Anthropogenic CO2 (ODIAC) 1x1 national emissions # (Oda & Maksyutov, 2011) # # ---> Recommended option: ODIAC (set FOSSIL_ODIAC = true) # ODIAC updated to v2019 by J. Fisher and Y. Cao, 12/2019 #============================================================================== (((FOSSIL_CDIAC 0 FOSSILCO2_CDIAC $ROOT/CO2/v2014-09/FOSSIL/CDIAC_v2014.monthly.generic.1x1.nc CO2 1980-2014/1-12/1/0 C xy kg/m2/s CO2 440/441/480 1 1 )))FOSSIL_CDIAC (((FOSSIL_ODIAC 0 FOSSILCO2_ODIAC $ROOT/CO2/v2022-11/FOSSIL/ODIAC_CO2.monthly.generic.1x1.nc CO2 2000-2018/1-12/1/0 C xy kg/m2/s CO2 440/441/480 1 2 )))FOSSIL_ODIAC #============================================================================== # --- CO2: OCEAN EXCHANGE EMISSIONS --- # # Ocean uptake/emission from Takahashi et al. (2009) and earlier works. # Climatological exchange for 2000 (-1.4 PgC/yr) or scaled ocean exchange, which # accounts for changing atmospheric CO2 (as in the paper) are now available. # # ---> Recommended option: scaled ocean exchange (set OCEAN_EXCH_SCALED = true) #============================================================================== (((OCEAN_EXCH_TAKA09 0 OCEANCO2_TAKA_ANNUAL $ROOT/CO2/v2022-11/OCEAN/Taka2009_CO2_Annual.nc CO2 2000/1/1/0 C xy kg/m2/s CO2 - 2 1 0 OCEANCO2_TAKA_MONTHLY $ROOT/CO2/v2022-11/OCEAN/Taka2009_CO2_Monthly.nc CO2 2000/1-12/1/0 C xy kg/m2/s CO2 - 2 2 )))OCEAN_EXCH_TAKA09 (((OCEAN_EXCH_SCALED 0 OCEANCO2_SCALED_MONTHLY $ROOT/CO2/v2022-11/OCEAN/Scaled_Ocean_CO2_monthly.nc CO2 2000-2013/1-12/1/0 C xy kg/m2/s CO2 - 2 3 )))OCEAN_EXCH_SCALED #============================================================================== # --- CO2: BALANCED BIOSPHERE EXCHANGE --- # # These emissions have a seasonal cycle of uptake/emission but have a net # annual uptake of close to zero (balanced). # CASA model daily emissions for a single year at coarse resolution have a # diurnal cycle imposed (Olsen & Randerson, 2004) # SiB3 emissions are from Nick Parazoo (Messerschmidt et al., 2011) for # 2006-2010. # # ---> Recommended option: SiB3 (set BBIO_SIB3 = true) #============================================================================== (((BBIO_DIURNAL 0 BBIOCO2_DIURNAL $ROOT/CO2/v2014-09/BBIO/BBIO_diurnal_CO2.nc CO2 1985/1-12/1-31/0-23 C xy kg/m2/s CO2 - 3 1 )))BBIO_DIURNAL (((BBIO_SIB3 0 SIB_BBIO_CO2 $ROOT/CO2/v2022-11/BIO/SiB3_3hr_NEP.nc CO2 2006-2010/1-12/1-31/0-23 C xy kg/m2/s CO2 - 3 1 )))BBIO_SIB3 #============================================================================== # --- CO2: NET TERRESTRIAL EXCHANGE --- # # TransCom annual net/residual terrestrial biosperhic CO2 (Baker et al., 2006) # # ---> Recommended for use in forward modelling, optional for # inversion/assimilation #============================================================================== (((NET_TERR_EXCH 0 CO2_NET_TERRESTRIAL $ROOT/CO2/v2022-11/BIO/Net_terrestrial_exch_5.29Pg.generic.1x1.nc CO2 2000/1/1/0 C xy kg/m2/s CO2 - 5 1 )))NET_TERR_EXCH #============================================================================== # --- CO2: SHIP EMISSIONS --- #============================================================================== (((SHIP (((ICOADS_SHIP # The spatial distribution is scaled with global annual scale factors #50 0 ICOADS_CO2_SHIP $ROOT/ICOADS_SHIP/v2014-07/ICOADS_ship_CO2_2004.generic.1x1.nc CO2 2004/1-12/1/0 C xy kg/m2/s CO2 50 6 1 )))ICOADS_SHIP (((CEDS_01x01_SHIP 0 CEDS_CO2_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO2_0.1x0.1_$YYYY.nc CO2_shp 1980-2019/1-12/1/0 C xy kg/m2/s CO2 - 6 1 )))CEDS_01x01_SHIP )))SHIP #============================================================================== # --- CO2: AEIC 2019 aircraft emissions --- # # Data files are for 2019, but scale factors from 1990-2019 can be applied # in order to get year-specific emissions. See the notes in the AEIC2019 # scale factor section below for more information. #============================================================================== (((AEIC2019_DAILY 0 AEIC19_DAILY_CO2 $ROOT/AEIC2019/v2022-03/2019/AEIC_2019$MM$DD.0.5x0.625.36L.nc FUELBURN 2019/1-12/1-31/0 C xyz kg/m2/s CO2 241/260 20 1 )))AEIC2019_DAILY (((AEIC2019_MONMEAN 0 AEIC19_MONMEAN_CO2 $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc FUELBURN 2019/1-12/1/0 C xyz kg/m2/s CO2 241/260 20 1 )))AEIC2019_MONMEAN #============================================================================== # --- CO2: SURFACE CORRECTION FOR CO OXIDATION --- # # These emissions will be subtracted! # Fossil fuel CO and CH4 are based on the national distribution scaled with #10. # Biogenic CH4 data is converted to CO2 using scale factor #20. # Isoprene and monoterpene are converted from kgC to kgCO2 by scale factor #21. # Approach is described in Nassar et al. (2010) # # ---> Recommended for use if chemical production (above) is turned on # # Now multiply by scale factor of -1.0 (#1 in scale factor section below) # to make these emissions negative, so that they will be subtracted. =============================================================================== (((CO2CORR 0 FOSSILCO2_MONTHLY $ROOT/CO2/v2022-11/FOSSIL/ODIAC_CO2.monthly.generic.1x1.nc CO2 2000-2018/1-12/1/0 C xy kg/m2/s CO2 410/440/441/480/1 8 1 0 CO2_LIVESTOCK $ROOT/CO2/v2022-11/CHEM/CH4_source.geos.2x25.nc CH4_004 2004/1-12/1/0 C xy kg/m2/s CO2 420/1 8 1 0 CO2_WASTE $ROOT/CO2/v2022-11/CHEM/CH4_source.geos.2x25.nc CH4_005 2004/1-12/1/0 C xy kg/m2/s CO2 420/1 8 1 0 CO2_RICE $ROOT/CO2/v2022-11/CHEM/CH4_source.geos.2x25.nc CH4_007 2004/1-12/1/0 C xy kg/m2/s CO2 420/1 8 1 0 CO2_WETLANDS $ROOT/CO2/v2022-11/CHEM/CH4_source.geos.2x25.nc CH4_010 2004/1-12/1/0 C xy kg/m2/s CO2 420/1 8 1 0 CO2_NATURAL $ROOT/CO2/v2022-11/CHEM/CH4_source.geos.2x25.nc CH4_012 2004/1-12/1/0 C xy kg/m2/s CO2 420/1 8 1 0 CO2_ISOPRENE $ROOT/CO2/v2022-11/CHEM/Isoprene-2004.geos.2x25.nc ISOP 2004/1-12/1/0 C xy kg/m2/s CO2 421/430/1 8 1 0 CO2_MONOTERP $ROOT/CO2/v2022-11/CHEM/Monoterpene-2004.geos.2x25.nc MONOT 2004/1-12/1/0 C xy kg/m2/s CO2 421/430/1 8 1 )))CO2CORR )))USE_CO2_DATA #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #%%%%% OCS FLUXES (cf Kevin Bowman/JPL) %%%%% #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% (((USE_OCS_DATA (((OCS_ANTHRO_FLUX 0 OCS_ANTHRO $ROOT/OCS_FLUX/v2022-11/anthro_v3/v3_anthro/$YYYY/$MM.nc COS_Flux 2012-2016/1-12/1/0 C xy kgS/km2/s OCS 70 1 1 )))OCS_ANTHRO_FLUX (((OCS_BIOMASS_FLUX 0 OCS_BIOMASS $ROOT/OCS_FLUX/v2022-11/Biomassburn/CMSV2-CO2-GFED3-ZC/$YYYY/$MM.nc COS_Flux 2012-2016/1-12/1/0 C xy kgS/km2/s OCS 70 2 1 )))OCS_BIOMASS_FLUX (((OCS_MISSING_OCEAN_FLUX 0 OCS_MISSING_OCEAN $ROOT/OCS_FLUX/v2022-11/MissingOcean/LUKAI/$YYYY/$MM.nc COS_Flux 2012-2016/1-12/1/0 C xy kgS/km2/s OCS 70 3 1 )))OCS_MISSING_OCEAN_FLUX (((OCS_OCEAN_FLUX 0 OCS_OCEAN $ROOT/OCS_FLUX/v2022-11/OceanCOS/Kettle/$YYYY/$MM.nc COS_Flux 2012-2016/1-12/1/0 C xy kgS/km2/s OCS 70 4 1 )))OCS_OCEAN_FLUX )))USE_OCS_DATA ############################################################################### ### EXTENSION DATA (subsection of BASE EMISSIONS SECTION) ### ### These fields are needed by the extensions listed above. The assigned ExtNr ### must match the ExtNr entry in section 'Extension switches'. These fields ### are only read if the extension is enabled. The fields are imported by the ### extensions by field name. The name given here must match the name used ### in the extension's source code. ############################################################################### #============================================================================== # --- GFED biomass burning emissions (Extension 111) # NOTE: These are the base emissions in kgDM/m2/s. #============================================================================== (((GFED4 111 GFED_TEMP $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_TEMP 2010-2023/1-12/01/0 RF xy kgDM/m2/s * - 1 1 111 GFED_AGRI $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_AGRI 2010-2023/1-12/01/0 RF xy kgDM/m2/s * - 1 1 111 GFED_DEFO $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_DEFO 2010-2023/1-12/01/0 RF xy kgDM/m2/s * - 1 1 111 GFED_BORF $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_BORF 2010-2023/1-12/01/0 RF xy kgDM/m2/s * - 1 1 111 GFED_PEAT $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_PEAT 2010-2023/1-12/01/0 RF xy kgDM/m2/s * - 1 1 111 GFED_SAVA $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_SAVA 2010-2023/1-12/01/0 RF xy kgDM/m2/s * - 1 1 (((GFED_daily 111 GFED_FRAC_DAY $ROOT/GFED4/v2023-03/$YYYY/GFED4_dailyfrac_gen.025x025.$YYYY$MM.nc GFED_FRACDAY 2010-2023/1-12/1-31/0 RF xy 1 * - 1 1 )))GFED_daily (((GFED_3hourly 111 GFED_FRAC_3HOUR $ROOT/GFED4/v2023-03/$YYYY/GFED4_3hrfrac_gen.025x025.$YYYY$MM.nc GFED_FRAC3HR 2010-2023/1-12/1/0-23 RF xy 1 * - 1 1 )))GFED_3hourly )))GFED4 )))EMISSIONS ############################################################################### ### NON-EMISSIONS DATA (subsection of BASE EMISSIONS SECTION) ### ### Non-emissions data. The following fields are read through HEMCO but do ### not contain emissions data. The extension number is set to wildcard ### character denoting that these fields will not be considered for emission ### calculation. A given entry is only read if the assigned species name is ### an HEMCO species. ############################################################################### #============================================================================== # --- Time zones (offset to UTC) --- #============================================================================== * TIMEZONES $ROOT/TIMEZONES/v2024-02/timezones_vohra_2017_0.1x0.1.nc UTC_OFFSET 2017/1-12/1/0 C xy count * - 1 1 #============================================================================== # --- Meteorology fields --- #============================================================================== (((METEOROLOGY >>>include ${RUNDIR_MET_FIELD_CONFIG} )))METEOROLOGY #============================================================================== # --- GEOS-Chem restart file --- #============================================================================== (((GC_RESTART * SPC_ ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 SpeciesRst_?ALL? $YYYY/$MM/$DD/$HH EFYO xyz 1 * - 1 1 * DELPDRY ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Met_DELPDRY $YYYY/$MM/$DD/$HH EY xyz 1 * - 1 1 )))GC_RESTART #============================================================================== # --- GEOS-Chem boundary condition file --- #============================================================================== (((GC_BCs * BC_ $ROOT/SAMPLE_BCs/v2021-07/CH4/GEOSChem.BoundaryConditions.$YYYY$MM$DD_0000z.nc4 SpeciesBC_?ADV? 1900-2100/1-12/1-31/* EFY xyz 1 * - 1 1 )))GC_BCs #============================================================================== # --- Olson land map masks --- #============================================================================== (((OLSON_LANDMAP * LANDTYPE00 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE00 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE01 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE01 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE02 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE02 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE03 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE03 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE04 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE04 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE05 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE05 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE06 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE06 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE07 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE07 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE08 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE08 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE09 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE09 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE10 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE10 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE11 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE11 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE12 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE12 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE13 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE13 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE14 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE14 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE15 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE15 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE16 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE16 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE17 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE17 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE18 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE18 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE19 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE19 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE20 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE20 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE21 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE21 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE22 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE22 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE23 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE23 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE24 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE24 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE25 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE25 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE26 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE26 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE27 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE27 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE28 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE28 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE29 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE29 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE30 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE30 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE31 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE31 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE32 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE32 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE33 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE33 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE34 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE34 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE35 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE35 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE36 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE36 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE37 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE37 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE38 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE38 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE39 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE39 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE40 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE40 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE41 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE41 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE42 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE42 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE43 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE43 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE44 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE44 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE45 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE45 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE46 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE46 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE47 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE47 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE48 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE48 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE49 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE49 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE50 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE50 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE51 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE51 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE52 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE52 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE53 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE53 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE54 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE54 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE55 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE55 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE56 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE56 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE57 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE57 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE58 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE58 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE59 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE59 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE60 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE60 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE61 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE61 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE62 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE62 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE63 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE63 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE64 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE64 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE65 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE65 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE66 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE66 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE67 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE67 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE68 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE68 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE69 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE69 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE70 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE70 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE71 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE71 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE72 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE72 1985/1/1/0 C xy 1 * - 1 1 )))OLSON_LANDMAP #============================================================================== # --- Yuan processed MODIS leaf area index data --- # # Source: Yuan et al 2011, doi:10.1016/j.rse.2011.01.001 # http://globalchange.bnu.edu.cn/research/lai # # NOTES: # (1) LAI data corresponding to each Olson land type is stored in # separate netCDF variables (XLAI00, XLAI01, ... XLAI72). # The "XLAI" denotes that the files are prepared in this way. # (2) Units are "cm2 leaf/cm2 grid box". # (3) Data is timestamped every 8 days, starting from the 2nd of the month. #============================================================================== (((YUAN_MODIS_LAI * XLAI00 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI00 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI01 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI01 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI02 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI02 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI03 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI03 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI04 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI04 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI05 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI05 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI06 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI06 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI07 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI07 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI08 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI08 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI09 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI09 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI10 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI10 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI11 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI11 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI12 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI12 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI13 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI13 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI14 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI14 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI15 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI15 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI16 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI16 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI17 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI17 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI18 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI18 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI19 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI19 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI20 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI20 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI21 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI21 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI22 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI22 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI23 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI23 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI24 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI24 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI25 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI25 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI26 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI26 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI27 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI27 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI28 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI28 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI29 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI29 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI30 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI30 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI31 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI31 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI32 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI32 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI33 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI33 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI34 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI34 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI35 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI35 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI36 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI36 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI37 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI37 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI38 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI38 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI39 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI39 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI40 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI40 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI41 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI41 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI42 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI42 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI43 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI43 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI44 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI44 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI45 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI45 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI46 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI46 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI47 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI47 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI48 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI48 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI49 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI49 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI50 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI50 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI51 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI51 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI52 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI52 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI53 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI53 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI54 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI54 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI55 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI55 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI56 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI56 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI57 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI57 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI58 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI58 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI59 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI59 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI60 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI60 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI61 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI61 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI62 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI62 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI63 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI63 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI64 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI64 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI65 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI65 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI66 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI66 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI67 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI67 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI68 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI68 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI69 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI69 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI70 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI70 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI71 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI71 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI72 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI72 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 )))YUAN_MODIS_LAI #============================================================================== # --- Chemistry inputs --- #============================================================================== (((CHEMISTRY_INPUT #------------------------------------------------------------------------------ # --- Global OH fields --- #------------------------------------------------------------------------------ (((USE_CH4_DATA.or.USE_CO_DATA # --- OH from GEOS-Chem v5-07 [kg/m3], needed for CH4/IMI --- (((GLOBAL_OH_GCv5 * GLOBAL_OH $ROOT/OH/v2022-11/v5-07-08/OH_3Dglobal.geos5.72L.4x5.nc OH 1985/1-12/1/0 C xyz kg/m3 * 2 1 1 )))GLOBAL_OH_GCv5 # --- OH from the last 10-yr benchmark [mol/mol dry] --- (((GLOBAL_OH_GC14 (((.not.GLOBAL_OH_GCv5 ${RUNDIR_GLOBAL_OH} ))).not.GLOBAL_OH_GCv5 )))GLOBAL_OH_GC14 )))USE_CH4_DATA.or.USE_CO_DATA #------------------------------------------------------------------------------ # --- Quantities needed for CH4 chemistry --- #------------------------------------------------------------------------------ (((USE_CH4_DATA # --- Global CH4 loss frequencies [1/s] ----------- (((CH4_LOSS_FREQ ${RUNDIR_CH4_LOSS} )))CH4_LOSS_FREQ # --- Global Cl [mol/mol dry air] --- (((GLOBAL_CL ${RUNDIR_GLOBAL_Cl} )))GLOBAL_CL )))USE_CH4_DATA #------------------------------------------------------------------------------ # --- Quantities needed for CO chemistry --- #------------------------------------------------------------------------------ (((USE_CO_DATA # -- P(CO) from CH4 and NMVOC from the last 10-yr benchmark [molec/cm3/s] --- (((PROD_CO_CH4 ${RUNDIR_PCO_CH4} )))PROD_CO_CH4 (((PROD_CO_NMVOC ${RUNDIR_PCO_NMVOC} )))PROD_CO_NMVOC # --- GMI chemistry: prod/loss rates (for strato-/mesosphere) --- # --- Units: prod [v/v/s]; loss [1/s] --- (((GMI_PROD_LOSS * GMI_LOSS_CO $ROOT/GMI/v2022-11/gmi.clim.CO.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CO - 1 1 * GMI_PROD_CO $ROOT/GMI/v2022-11/gmi.clim.CO.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CO - 1 1 )))GMI_PROD_LOSS )))USE_CO_DATA #------------------------------------------------------------------------------ # --- Quantities needed for CO2 chemistry --- #------------------------------------------------------------------------------ (((USE_CO2_DATA # --- CHEMICAL PRODUCTION FROM CO OXIDATION ------ # --- Recommended for use in forward modelling --- # --- Optional for inversion/assimilation -------- (((CO2_COPROD ${RUNDIR_CO2_COPROD} )))CO2_COPROD )))USE_CO2_DATA )))CHEMISTRY_INPUT ### END SECTION BASE EMISSIONS ### ############################################################################### ### BEGIN SECTION SCALE FACTORS ############################################################################### # ScalID Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Oper #------------------------------------------------------------------------------ # --- Multiply by -1 to get a "negative" flux. #------------------------------------------------------------------------------ 1 NEGATIVE -1.0 - - - xy 1 1 #------------------------------------------------------------------------------ # --- Perturbation factors --- # # Default scaling factor of 1.0 for OH field, which will be changed for Jacobian and posterior OptimizeOH run #------------------------------------------------------------------------------ 2 OH_pert_factor 1.0 - - - xy 1 1 #============================================================================== # --- Scale factors for posterior run --- # # Entries below are provided for examples only. Add your own here! #============================================================================== (((Emis_PosteriorSF 3 EMIS_SF gridded_posterior.nc ScaleFactor 2000/1/1/0 C xy 1 1 )))Emis_PosteriorSF #============================================================================== # --- Scale factors for analytical inversions --- #============================================================================== (((AnalyticalInversion 4 SCALE_PERT ./gridded_pert_scale_1.nc scale 2000/1/1/0 C xy 1 1 # Add perturbations to individual state vector element (N) following this format # Start scale factor ID at 3000 to avoid conflicts with other SFs/masks #300N SCALE_ELEM_000N ./StateVector.nc StateVector 2000/1/1/0 C xy 1 1 N )))AnalyticalInversion (((EMISSIONS #============================================================================== # --- CH4: Seasonal scaling factors ---- #============================================================================== (((USE_CH4_DATA #------------------------------------------------------------------------------ # --- GHGI monthly scaling factors --- #------------------------------------------------------------------------------ (((GHGI_v2.or.GHGI_v2_Express_Ext 50 GHGI_OTH_STA_SF $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_Monthly_Scale_Factors_$YYYY.nc monthly_scale_factor_1A_Combustion_Stationary 2012-2018/1-12/1/0 C xy 1 1 51 GHGI_OIL_EXP_SF $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_Monthly_Scale_Factors_$YYYY.nc monthly_scale_factor_1B2a_Petroleum_Systems_Exploration 2012-2018/1-12/1/0 C xy 1 1 52 GHGI_OIL_PRD_SF $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_Monthly_Scale_Factors_$YYYY.nc monthly_scale_factor_1B2a_Petroleum_Systems_Production 2012-2018/1-12/1/0 C xy 1 1 53 GHGI_OIL_REF_SF $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_Monthly_Scale_Factors_$YYYY.nc monthly_scale_factor_1B2a_Petroleum_Systems_Refining 2012-2018/1-12/1/0 C xy 1 1 54 GHGI_OIL_TRA_SF $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_Monthly_Scale_Factors_$YYYY.nc monthly_scale_factor_1B2a_Petroleum_Systems_Transport 2012-2018/1-12/1/0 C xy 1 1 55 GHGI_GAS_EXP_SF $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_Monthly_Scale_Factors_$YYYY.nc monthly_scale_factor_1B2b_Natural_Gas_Exploration 2012-2018/1-12/1/0 C xy 1 1 56 GHGI_GAS_PRD_SF $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_Monthly_Scale_Factors_$YYYY.nc monthly_scale_factor_1B2b_Natural_Gas_Production 2012-2018/1-12/1/0 C xy 1 1 57 GHGI_LIV_MAN_SF $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_Monthly_Scale_Factors_$YYYY.nc monthly_scale_factor_3B_Manure_Management 2012-2018/1-12/1/0 C xy 1 1 58 GHGI_RIC_CUL_SF $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_Monthly_Scale_Factors_$YYYY.nc monthly_scale_factor_3C_Rice_Cultivation 2012-2018/1-12/1/0 C xy 1 1 59 GHGI_OTH_BUR_SF $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_Monthly_Scale_Factors_$YYYY.nc monthly_scale_factor_3F_Field_Burning 2012-2018/1-12/1/0 C xy 1 1 )))GHGI_v2.or.GHGI_v2_Express_Ext #------------------------------------------------------------------------------ # --- Scarpelli_Mexico manure & rice scale factors --- #------------------------------------------------------------------------------ (((Scarpelli_Mexico 10 MANURE_SF $ROOT/CH4/v2017-10/Seasonal_SF/EMICH4_Manure_ScalingFactors.WithClimatology.nc sf_ch4 2008-2016/1-12/1/0 C xy 1 1 11 RICE_SF $ROOT/CH4/v2017-10/Seasonal_SF/EMICH4_Rice_ScalingFactors.SetMissing.nc sf_ch4 2012/1-12/1/0 C xy 1 1 )))Scarpelli_Mexico #------------------------------------------------------------------------------ # --- Seasonality for EDGAR livestock emissions --- #------------------------------------------------------------------------------ (((EDGARv8 24 EDGAR_SEASONAL_SF_ENF $ROOT/CH4/v2023-04/EDGARv6_SF/EDGARv6_CH4_MonthlyScaleFactors_ENF.0.1x0.1.nc sf_ch4 2018/1-12/1/0 C xy 1 1 28 EDGAR_SEASONAL_SF_MNM $ROOT/CH4/v2023-04/EDGARv6_SF/EDGARv6_CH4_MonthlyScaleFactors_MNM.0.1x0.1.nc sf_ch4 2018/1-12/1/0 C xy 1 1 )))EDGARv8 )))USE_CH4_DATA #============================================================================== # --- Scale factors for CO2 emissions --- #============================================================================== (((USE_CO2_DATA #------------------------------------------------------------------------------ # --- FOSSIL FUEL CO2 SURFACE CORRECTION FACTOR --- # # Fossil fuel CO2 emissions must be scaled down to avoid counting emissions # already accounted for by CO and CH4 oxidation to CO2. # # The necssary annual reduction in emissions related to fossil fuels is # determined as: global C mass from FF (CO+CH4) / global C mass from FF CO2 # # Note: GEOS-Chem v8-03-02 to v9-02, assumed: 0.0489 for all years but that # value seems to correspond to mid-1980s fossil fuel combustion since CO # emissions have held constant (Granier et al., 2011) while CO2 has risen. # # All scale factors for years 2000-2013 lumped into a single entry #------------------------------------------------------------------------------ (((CO2CORR #410 CO2_FOSSFUEL_CORR 0.0489 - - - xy 1 1 ## CO2 scale factors from CO oxidation by decade (comment out for now) ##410 CO2_FOSSFUEL_CORR 0.052815/0.054486/0.054902/0.055107/0.053166/0.051611/0.050065/0.048803/0.047060/0.046041 - 1980-1989/1/1/0 C xy 1 1 ##410 CO2_FOSSFUEL_CORR 0.045816/0.045153/0.045541/0.045556/0.044800/0.043875/0.042910/0.042206/0.042257/0.042468 - 1990-1999/1/1/0 C xy 1 1 ##410 CO2_FOSSFUEL_CORR 0.041495/0.040525/0.040125/0.037853/0.035957/0.034686/0.033538/0.032771/0.031961/0.032118 - 2000-2009/1/1/0 C xy 1 1 ##410 CO2_FOSSFUEL_CORR 0.030622/0.029674/0.029029/0.028355 - 2010-2013/1/1/0 C xy 1 1 410 CO2_FOSSFUEL_CORR 0.041495/0.040525/0.040125/0.037853/0.035957/0.034686/0.033538/0.032771/0.031961/0.032118/0.030622/0.029674/0.029029/0.028355 - 2000-2013/1/1/0 C xy 1 1 )))CO2CORR # ----------------------------------------------------------------------------- # --- CO2 conversion factors --- # ----------------------------------------------------------------------------- 420 CH4TOCO2 2.75 - - - xy 1 1 421 CTOCO2 3.6667 - - - xy 1 1 430 NMHCSCALE 0.3333 - - - xy 1 1 #------------------------------------------------------------------------------ # --- National fossil fuel CO2 scale factors (Nassar et al, 2013) --- #------------------------------------------------------------------------------ (((FOSSIL_CDIAC.or.FOSSIL_ODIAC.or.CO2CORR 440 CO2_DIURNAL $ROOT/CO2/v2015-04/FOSSIL/TIMES_diurnal_scale_factors.nc diurnal_scale_factors 2006/1/1/1-24 C xy 1 1 441 CO2_WEEKLY $ROOT/CO2/v2015-04/FOSSIL/TIMES_weekly_scale_factors.nc weekly_scale_factors 2006/1/WD/0 C xy 1 1 )))FOSSIL_CDIAC.or.FOSSIL_ODIAC.or.CO2CORR #------------------------------------------------------------------------------ # --- DOMESTIC AVIATION SURFACE CORRECTION FACTOR --- # # Regional scale factors slightly less than 1 remove surface contribution from # domestic aviation in national fossil fuel emisisons, which should instead be # counted in the air as a 3D field. This scale factor should be applied to the # main/national fossil fuel emission field if using avaition emissions. #------------------------------------------------------------------------------ (((FOSSIL_CDIAC.or.FOSSIL_ODIAC.or.CO2CORR 480 AVIATION_SURF_CORR $ROOT/CO2/v2022-11/FOSSIL/Aviation_SurfCorr_SclFac.1x1.nc CO2 2004/1/1/0 C xy 1 1 )))FOSSIL_CDIAC.or.FOSSIL_ODIAC.or.CO2CORR )))USE_CO2_DATA #============================================================================== # --- Scale factors for CO emissions --- #============================================================================== (((USE_CO_DATA #------------------------------------------------------------------------------ # --- Diurnal scale factors for CO --- #------------------------------------------------------------------------------ 26 GEIA_TOD_FOSSIL 0.45/0.45/0.6/0.6/0.6/0.6/1.45/1.45/1.45/1.45/1.4/1.4/1.4/1.4/1.45/1.45/1.45/1.45/0.65/0.65/0.65/0.65/0.45/0.45 - - - xy 1 1 #------------------------------------------------------------------------------ # --- Diurnal variablity of Chinese power plants from Liu et al. (EST, 2019) --- # # Also need to undo (Oper=-1) the global diurnal scale factors over China #------------------------------------------------------------------------------ 35 PKU_pow_PM_BC_POC_VOC_CO 0.95/0.93/0.92/0.91/0.90/0.93/0.97/0.97/0.99/1.03/1.04/1.03/1.02/1.03/1.05/1.07/1.07/1.07/1.06/1.04/1.03/1.02/1.00/0.97 - - - xy unitless 1 2009 37 GEIA_TOD_FOSSIL_UNDO 0.45/0.45/0.6/0.6/0.6/0.6/1.45/1.45/1.45/1.45/1.4/1.4/1.4/1.4/1.45/1.45/1.45/1.45/0.65/0.65/0.65/0.65/0.45/0.45 - - - xy unitless -1 2009 #------------------------------------------------------------------------------ # --- Account for CO production by VOCs --- #------------------------------------------------------------------------------ (((APEI.or.EDGARv43.or.DICE_Africa.or.QFED2 52 COPROD_FOSSIL 1.02 - - - xy unitless 1 54 COPROD_BIOMASS 1.05 - - - xy unitless 1 )))APEI.or.EDGARv43.or.DICE_Africa.or.QFED2 #------------------------------------------------------------------------------ # --- DICE-Africa --- # Charcoal production scale factor to reduce charcoal production # by a factor of 5 after finding error in implementation of emission factors. #------------------------------------------------------------------------------ (((DICE_Africa 320 DICE_CP_SF 0.20 - - - xy 1 1 )))DICE_Africa #------------------------------------------------------------------------------ # --- CO: HTAP Annual scale factors --- #------------------------------------------------------------------------------ (((HTAP 506 LIQFUEL_THISYR $ROOT/AnnualScalar/v2014-07/AnnualScalar.geos.1x1.nc COscalar 1985-2010/1/1/0 C xy 1 1 507 LIQFUEL_1985 $ROOT/AnnualScalar/v2014-07/AnnualScalar.geos.1x1.nc COscalar 1985/1/1/0 C xy 1 -1 509 LIQFUEL_2006 $ROOT/AnnualScalar/v2014-07/AnnualScalar.geos.1x1.nc COscalar 2006/1/1/0 C xy 1 -1 510 LIQFUEL_2002 $ROOT/AnnualScalar/v2014-07/AnnualScalar.geos.1x1.nc COscalar 2002/1/1/0 C xy 1 -1 528 LIQFUEL_2008_2010 $ROOT/AnnualScalar/v2014-07/AnnualScalar.geos.1x1.nc COscalar 2008-2010/1/1/0 C xy 1 -1 )))HTAP )))USE_CO_DATA #============================================================================== # --- Scale factors for OCS emissions --- #============================================================================== (((USE_OCS_DATA #------------------------------------------------------------------------------ # --- S to OCS ratio --- #------------------------------------------------------------------------------ 70 StoOCS MATH:60.07/32.06 - - - xy unitless 1 )))USE_OCS_DATA #============================================================================== # --- Inventory-specific scale factors --- #============================================================================== #------------------------------------------------------------------------------ # --- AEIC2019 aircraft emissions scale factors --- # # See http://geoschemdata.wustl.edu/ExtData/HEMCO/AEIC2019/v2022-03/AEIC_2019_technical_note.pdf # # Scaling factors for 1990-2019 derived from Lee et al. (2021). Lee et al. # (2021) only covers 1990 to 2018, so to get to 2019 it is assumed that the # growth from 2017 to 2018 is the same as that from 2018 to 2019. # So the formula is something like: # # Emissions of CO in 2009 = AEIC 2019 emissions of CO # * (Lee 2017 CO / Lee 2018 fuel burn) # * (Lee 2009 fuel burn / Lee 2018 fuel burn) # # So in this case, we use the Lee 2017/Lee 2018 value to scale AEIC’s # emissions to the “2018” values, and then scale directly using the Lee et al # fuel burn. This ensures that, when running with year 2019, you get an # unadjusted version of the AEIC2019 inventory, and all previous years are # scaled down. # # All scaling factors are included in here in HEMCO_Config.rc. #------------------------------------------------------------------------------ (((AEIC2019_DAILY.or.AEIC2019_MONMEAN # If applying 1990-2019 scale factors (((AEIC_SCALE_1990_2019 241 AC_FBMULT 0.506/0.489/0.490/0.493/0.517/0.529/0.553/0.570/0.581/0.600/0.631/0.607/0.608/0.608/0.646/0.678/0.686/0.706/0.703/0.666/0.700/0.721/0.728/0.749/0.773/0.815/0.854/0.905/0.952/1.000 - 1990-2019/1/1/0 C xy 1 1 )))AEIC_SCALE_1990_2019 # If not applying 1990-2019 scale factors, use 1.0 (((.not.AEIC_SCALE_1990_2019 241 AC_FBMULT 1.000000e+0 - - - xy 1 1 ))).not.AEIC_SCALE_1990_2019 # Assume 3.159 kg CO2 from every kg of fuel burned # cf Hileman, Stratton, & Donohoo, _J. Propul. Power_, 26(6), 1184–1196, 2010. 260 AEIC19_FBtoCO2 3.159 - - - xy unitless 1 )))AEIC2019_DAILY.or.AEIC2019_MONMEAN #------------------------------------------------------------------------------ # --- CEDS vertical partitioning --- #------------------------------------------------------------------------------ (((CEDS_01x01 315 ENERGY_LEVS $ROOT/VerticalScaleFactors/v2021-05/gc_layers.nc g_energy 2017/1/1/0 C xyz 1 1 316 INDUSTRY_LEVS $ROOT/VerticalScaleFactors/v2021-05/gc_layers.nc g_industry 2017/1/1/0 C xyz 1 1 317 SHIP_LEVS $ROOT/VerticalScaleFactors/v2021-05/gc_layers.nc cmv_c3 2017/1/1/0 C xyz 1 1 )))CEDS_01x01 #------------------------------------------------------------------------------ # --- GFAS scale factors --- #------------------------------------------------------------------------------ (((GFAS 300 GFAS_EMITL $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc mami 2003-2021/1-12/1-31/0 C xy m 1 )))GFAS #------------------------------------------------------------------------------ # --- EPA NEI2016 (monthly-mean inventory) scale factors --- #------------------------------------------------------------------------------ (((NEI2016_MONMEAN # Weekday/Weekend scale factors 211 NEI99_DOW_CO $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc CO 1999/1-12/WD/0 C xy 1 1 # Annual scale factors were computed from the EPA Trends Report for Tier 1 CAPS # (obtained 21 Sep 2021) using the "Total without wildfires" field. NH3 and # PM2.5 only had values for 2002-2020, while the remaining species had yearly # values for 1990-2020 (we include only 2002-2020 here). # See NEI2016/v2021-06/national_tier1_caps+HEMCOscaling.xlsx for details. 252 NEI2016_CO_YRSCALE 1.817/1.767/1.716/1.666/1.610/1.554/1.393/1.251/1.272/1.261/1.220/1.178/1.137/1.095/1.000/0.973/0.950/0.927/0.904 - 2002-2020/1/1/0 C xy 1 1 )))NEI2016_MONMEAN #------------------------------------------------------------------------------ # --- QFED2 diurnal scale factors --- # Fire diurnal scaling factors (% per hour) from WRAP Report to Project # No. 178-6, July 2005 #------------------------------------------------------------------------------ (((QFED2.or.GFAS.or.BB4MIPS 75 QFED2_TOD 0.1392/0.1392/0.1368/0.1368/0.1368/0.1368/0.1368/0.1368/0.1368/0.48/0.96/1.68/2.4/3.12/3.84/4.08/2.88/1.68/0.96/0.1368/0.1368/0.1368/0.1368/0.1368 - - - xy unitless 1 )))QFED2.or.GFAS.or.BB4MIPS #------------------------------------------------------------------------------ # --- QFED vertical partitioning --- # Following Fischer et al. (2014) and Travis et al. (2016), # emit 35% of QFED emissions above the PBL. #------------------------------------------------------------------------------ (((QFED2 311 QFED_PBL_FRAC 0.65 - - - xy 1 1 312 QFED_FT_FRAC 0.35 - - - xy 1 1 )))QFED2 (((CEDS_01x01 #========================================================================= # --- Sector-wise diel scale factors for CEDS --- # These scale factors could potentially be used for other global base emissions if modified accordingly. #========================================================================= 2401 TOD_AGRICULTURE 0.599/0.599/0.599/0.599/0.599/0.649/0.748/0.898/1.098/1.247/1.447/1.597/1.796/1.746/1.696/1.547/1.347/1.098/0.898/0.748/0.649/0.599/0.599/0.599 - - - xy unitless 1 2406 TOD_ENERGY 0.790/0.720/0.720/0.710/0.740/0.800/0.920/1.080/1.190/1.220/1.210/1.210/1.170/1.150/1.140/1.130/1.100/1.070/1.040/1.020/1.020/1.010/0.960/0.880 - - - xy unitless 1 2407 TOD_INDUSTRY 0.750/0.750/0.780/0.820/0.880/0.950/1.020/1.090/1.160/1.220/1.280/1.300/1.220/1.240/1.250/1.160/1.080/1.010/0.950/0.900/0.850/0.810/0.780/0.750 - - - xy unitless 1 2409 TOD_RESIDENTIAL 0.393/0.393/0.393/0.393/0.393/0.492/1.180/1.475/1.574/1.574/1.377/1.180/1.082/1.082/0.984/0.984/0.984/1.082/1.377/1.475/1.377/1.377/0.984/0.393 - - - xy unitless 1 2411 TOD_TRANSPORT 0.190/0.090/0.060/0.050/0.090/0.220/0.860/1.840/1.860/1.410/1.240/1.200/1.320/1.440/1.450/1.590/2.030/2.080/1.510/1.060/0.740/0.620/0.610/0.440 - - - xy unitless 1 #========================================================================= # --- Sector-wise day-of-week scale factors for CEDS --- # These scale factors could potentially be used for other global base emissions if modified accordingly. #========================================================================= 706 DOW_ENERGY 0.850/1.060/1.060/1.060/1.060/1.060/0.850 - - - xy unitless 1 707 DOW_INDUSTRY 0.800/1.080/1.080/1.080/1.080/1.080/0.800 - - - xy unitless 1 709 DOW_RESIDENTIAL 0.800/1.080/1.080/1.080/1.080/1.080/0.800 - - - xy unitless 1 711 DOW_TRANSPORT 0.790/1.020/1.060/1.080/1.100/1.140/0.810 - - - xy unitless 1 )))CEDS_01x01 )))EMISSIONS ### END SECTION SCALE FACTORS ### ############################################################################### ### BEGIN SECTION MASKS ############################################################################### # ScalID Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Oper Lon1/Lat1/Lon2/Lat2 (((EMISSIONS #============================================================================== # --- Masks used for CH4 simulation emissions --- #============================================================================== (((USE_CH4_DATA (((Scarpelli_Mexico 1001 MEX_MASK $ROOT/MASKS/v2024-04/Mexico_Mask.01x01.nc MASK 2000/1/1/0 C xy 1 1 -118/17/-95/33 1010 MEX_MASK_MIRROR $ROOT/MASKS/v2024-04/Mexico_Mask_Mirror.01x01.nc MASK 2000/1/1/0 C xy 1 1 -118/17/-95/33 )))Scarpelli_Mexico (((Scarpelli_Canada 1002 CAN_MASK $ROOT/MASKS/v2024-04/Canada_Mask.01x01.nc MASK 2000/1/1/0 C xy 1 1 -141/40/-52/85 1011 CAN_MASK_MIRROR $ROOT/MASKS/v2024-04/Canada_Mask_Mirror.01x01.nc MASK 2000/1/1/0 C xy 1 1 -141/40/-52/85 )))Scarpelli_Canada (((GHGI_v2.or.GHGI_v2_Express_Ext 1008 CONUS_MASK $ROOT/MASKS/v2024-04/CONUS_Mask.01x01.nc MASK 2000/1/1/0 C xy 1 1 -140/20/-50/60 1009 CONUS_MASK_MIRROR $ROOT/MASKS/v2024-04/CONUS_Mask_Mirror.01x01.nc MASK 2000/1/1/0 C xy 1 1 -140/20/-50/60 )))GHGI_v2.or.GHGI_v2_Express_Ext )))USE_CH4_DATA #============================================================================== # --- Masks used for CO and CO2 simulation emissions --- #============================================================================== (((USE_CO_DATA.or.USE_CO2_DATA (((APEI 2002 CANADA_MASK $ROOT/MASKS/v2018-09/Canada_mask.geos.1x1.nc MASK 2000/1/1/0 C xy 1 1 -141/40/-52/85 )))APEI # Renamed to avoid a namespace collision w/ GHGI mask above!!! (((NEI2016_MONMEAN 2007 NEI_CONUS_MASK $ROOT/MASKS/v2018-09/CONUS_Mask.01x01.nc MASK 2000/1/1/0 C xy 1 1 -140/20/-50/60 )))NEI2016_MONMEAN (((DICE_Africa 2008 AFRICA_MASK $ROOT/MASKS/v2018-09/AF_LANDMASK.geos.05x0666.global.nc LANDMASK 1985/1/1/0 C xy 1 1 -20/-37/54/40 )))DICE_Africa )))USE_CO_DATA.or.USE_CO2_DATA #============================================================================== # --- Masks used for CH4, CO and CO2 simulation emissions --- #============================================================================== (((CEDS_01x01 2009 CHINA_MASK $ROOT/MASKS/v2018-09/China_mask.generic.1x1.nc MASK 2000/1/1/0 C xy 1 1 70/10/150/60 )))CEDS_01x01 (((RESERVOIRS 1500 SEASONAL_RES_MASK $ROOT/CH4/v2024-01/ResME/reservoir_mask.01x01.nc Mask 2022/1-12/1/0 C xy 1 1 -180/-90/180/90 )))RESERVOIRS )))EMISSIONS ### END SECTION MASKS ### ############################################################################### ### REFERENCES ############################################################################### # # Andres. R.J., J.S Gregg, L. Losey, G. Marland, T.A. Boden (2011), Montly, # global emissions of carbon dioxide from fossil fuel consumption, Tellus 63B, # 309-327. # # Baker, D.F. et al. (2006) TransCom3 inversion intercomparison: Impact of # transport model errors on the interannual variability of regional CO2 fluxes, # 1998-2003, Global Biogeochem., Cy., 20, GB1002, doi:10.29/2004GB002439. # # Endresen, O. et al. (2007), A historical reconstuctino of ships fuel # consuption and emissions, J. Geophys. Res., 112, D12301, # doi:10.1029/2006JD007630. # # Granier, C. et al. (2011), Evolution of anthropogenic and biomass burning # emissions of air pollutants at global and regional scales during the 1980-2010 # period, Climatic Change, 109:163-190, doi:10.1007/s10584-011-0154-1. # # Keller, C.A., M.S. Long, R.M. Yantosca, A.M. DaSilva, S. Pawson, D.J. Jacob # (2014), HEMCO v1.0: a versatile, ESMF-compliant component for calculating # emissions in atmospheric models, Geosci., Model Dev., 7, 1409?1417, # doi:10.5194/gmd-7-1409-2014. # # Messerschmidt, J., N. Parazoo, N.M. Deutscher, C. Roehl, T. Warneke, P.O. # Wennberg, and D. Wunch (2012) Evaluation of atmosphere-biosphere exchange # estimations with TCCON measurements, Atmos. Chem. Phys. Discussions, 12, # 12759-12800, doi:10.5194/acpd-12-12759-2012. # # Nassar, R., D.B.A. Jones, P. Suntharalingam, J.M. Chen, R.J. Andres, K.J. # Wecht, R.M. Yantosca, S.S. Kulawik, K.W. Bowman, J.R. Worden, T. Machida and # H. Matsueda (2010), Modeling global atmospheric CO2 with improved emission # inventories and CO2 production from the oxidation of other carbon species, # Geoscientific Model Development, 3, 689-716. # # Nassar, R., L. Napier-Linton, K.R. Gurney, R.J. Andres, T. Oda, F.R. Vogel, # F. Deng (2013), Improving the temporal and spatial distribution of CO2 # emissions from global fossil fuel emission datasets, Journal of Geophysical # Research: Atmospheres, 118, 917-933, doi:10.1029/2012JD018196. # # Oda, T. and S. Maksyutov (2011), A very high-resolution (1 km x 1 km) global # fossil fuel CO2 emission inventory derived using a point source database and # satellite observations of nighttime lights, Atmos. Chem. Phys., 11, 543?556, # doi:10.5194/acp-11-543-2011. # # Olsen, S.C. and J.T. Randerson (2004), Differences between surface and column # atmospheric CO2 and implications for carbon cycle research, J. Geophys. Res. # 109, D02301, doi:10.1029/2003JD003968. # # Olsen, S.C., D.J. Weubbles, B. Owen (2013) Comparison of global 3-D aviation # datasets, Atmos. Chem. Phys., 13, 429?441, doi:10.5194/acp-13-429-2013. # # Simone, N., M. Stettler, S. Eastham, S. Barrett, Aviation Emissions Inventory # Code (AEIC ) User Manual (R1), Laboratory for Aviation and the Environment, # Massachusetts Institute of Technology, January 2013, Report No: # LAE-2013-001-N, # www.LAE.MIT.edu. # # Takahashi, T., et al. (2009), Climatological mean and decadal change in # surface ocean pCO2, and net sea-air CO2 flux over the global oceans, Deep-Sea # Res. II, 56(8?10), 554?577, doi:10.1016/j.dsr2.2008.12.009. # ### END OF HEMCO INPUT FILE ### #EOC ================================================ FILE: run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.fullchem ================================================ #------------------------------------------------------------------------------ # Harmonized Emissions Component (HEMCO) ! #------------------------------------------------------------------------------ #BOP # # !MODULE: HEMCO_Config.rc # # !DESCRIPTION: Contains configuration information for HEMCO. Define the # emissions inventories and corresponding file paths here. Entire # configuration files can be inserted into this configuration file with # an '>>>include' statement, e.g. '>>>include HEMCO\_Config\_test.rc' # The settings of include-files will be ignored. #\\ #\\ # !REMARKS: # See hemco.readthedocs.io for more information. # # !REVISION HISTORY: # See https://github.com/geoschem/geos-chem for complete history #EOP #------------------------------------------------------------------------------ #BOC ############################################################################### ### BEGIN SECTION SETTINGS ############################################################################### ROOT: ${RUNDIR_DATA_ROOT}/HEMCO GCAPSCENARIO: ${RUNDIR_GCAP2_SCENARIO} GCAPVERTRES: ${RUNDIR_GCAP2_VERTRES} Logfile: * DiagnFile: HEMCO_Diagn.rc DiagnPrefix: ./OutputDir/HEMCO_diagnostics DiagnFreq: Monthly Wildcard: * Separator: / Unit tolerance: 1 Negative values: 0 Only unitless scale factors: false Verbose: false VerboseOnCores: root # Accepted values: root all ### END SECTION SETTINGS ### ############################################################################### ### BEGIN SECTION EXTENSION SWITCHES ############################################################################### # ExtNr ExtName on/off Species Years avail. 0 Base : on * # ----- MAIN SWITCHES --------------------------------------------------------- --> EMISSIONS : true --> METEOROLOGY : true ${RUNDIR_MET_AVAIL} --> CHEMISTRY_INPUT : true # ----- RESTART FIELDS -------------------------------------------------------- --> GC_RESTART : true --> HEMCO_RESTART : true # ----- NESTED GRID FIELDS ---------------------------------------------------- --> GC_BCs : ${RUNDIR_USE_BCs} # ----- REGIONAL INVENTORIES -------------------------------------------------- --> APEI : false # 1989-2014 --> NEI2016_MONMEAN : false # 2002-2020 --> DICE_Africa : false # 2013 # ----- GLOBAL INVENTORIES ---------------------------------------------------- --> CEDS_01x01 : ${RUNDIR_USE_CEDS} # 1980-2019 --> EDGARv43 : false # 1970-2010 --> HTAPv3 : false # 2000-2018 --> GEIA_NH3 : true # 1990 --> SEABIRD_NH3 : true # 1990 --> POET_EOH : false # 1985 --> TZOMPASOSA_C2H6 : ${RUNDIR_USE_TSC2H6} # 2010 --> XIAO_C3H8 : ${RUNDIR_USE_XIAOC3H8} # 1985 --> LIANG_BROMOCARB : true # 2000 --> ORDONEZ_IODOCARB : true # 2000 --> GT_Chlorine : true # 1960-2014 --> DECAYING_PLANTS : true # 1985 --> AFCID : true # 2015 # ----- AIRCRAFT EMISSIONS ---------------------------------------------------- # There are 3 switches: # # 1. AEIC2019_DAILY selects daily AEIC 2019 emissions. For most simulations, # this is not recommended due to the amount of computational overhead # that will be incurred in regridding. But this may be useful for # research purposes. Recommended setting: "AEIC2019_DAILY: false". # # 2. AEIC2019_MONMEAN selects monthly-mean AEIC 2019 emisisons, which will # incur much less computational overhaead. This option should suffice # for most simulations. Recommended setting "AEIC2019_MONMEAN: true". # # 3. AEIC_SCALE_1990_2019: If "false", the AEIC 2019 data from the year # 2019 alone will be used. This will yield a "best estimate" of # aviation emisssion. This could be important because simply scaling # aviation emissions up and down is rather nonphysical. But if # AEIC_SCALE_1990_2019 is set to true, then aviation emissions for # 1990 to 2019 are estimated by: # # a. Scaling ALL aviation emissions based on the growth in fuelburn # from 1990 to 2019* estimated by Lee et al. (2021); and # # b. Scaling aviation NOx emissions by an additional factor to reflect # the changes in the NOx emissions index over the same period as # reported by Lee et al. (2021). # # Recommended setting: "AEIC_SCALE_1990_2019: true" # # See additional notes in the AEIC scale factor section below. #------------------------------------------------------------------------------ --> AEIC2019_DAILY : false # 2019 (daily data) --> AEIC2019_MONMEAN : ${RUNDIR_USE_AEIC} # 2019 (monthly-mean data) --> AEIC_SCALE_1990_2019 : ${RUNDIR_USE_AEIC} # Scale to year in 1990-2019 # ----- SHIP EMISSIONS -------------------------------------------------------- --> SHIP : true --> CEDS_01x01_SHIP : ${RUNDIR_USE_CEDS} # 1980-2019 --> HTAPv3_SHIP : false # 2000-2018 # ----- RCP FUTURE EMISSIONS -------------------------------------------------- --> RCP_3PD : false # 2005-2100 --> RCP_45 : false # 2005-2100 --> RCP_60 : false # 2005-2100 --> RCP_85 : false # 2005-2100 # ----- CMIP6 ANTHRO EMISSIONS / BOUNDARY CONDITIONS -------------------------- # Set GCAPSCENARIO (e.g., HIST, SSP585) above in SECTION SETTINGS --> CMIP6_SFC_BC : ${RUNDIR_CMIP6_FIELDS} # 1750-2100 --> CMIP6_SFC_LAND_ANTHRO : ${RUNDIR_CMIP6_FIELDS} # 1850-2100 --> CMIP6_AIRCRAFT : ${RUNDIR_CMIP6_FIELDS} # 1850-2100 --> CMIP6_SHIP : ${RUNDIR_CMIP6_FIELDS} # 1850-2100 # ----- BIOMASS BURNING EMISSIONS --------------------------------------------- --> QFED2 : false # 2000-2020 --> GFAS : false # 2003-2021 --> BB4MIPS : ${RUNDIR_CMIP6_FIELDS} # 1850-2100 --> GFED4_CLIMATOLOGY : false # If true, turn off GFED ext below --> FINNv25 : false # 2012-2023 # ----- OFFLINE EMISSIONS ----------------------------------------------------- # To use online emissions instead set the offline emissions to 'false' and the # corresponding HEMCO extension to 'on': # OFFLINE_DUST - DustL23M # OFFLINE_BIOGENICVOC - MEGAN # OFFLINE_SEASALT - SeaSalt # OFFLINE_SOILNOX - SoilNOx # # NOTE: When switching between offline and online emissions, make sure to also # update ExtNr and Cat in HEMCO_Diagn.rc to properly save out emissions for # any affected species. #------------------------------------------------------------------------------ --> OFFLINE_DUST : ${RUNDIR_OFFLINE_DUST} # 1980-2019 --> OFFLINE_BIOGENICVOC : ${RUNDIR_OFFLINE_BIOVOC} # 1980-2020 --> OFFLINE_SEASALT : ${RUNDIR_OFFLINE_SEASALT} # 1980-2019 --> CalcBrSeasalt : true --> OFFLINE_SOILNOX : ${RUNDIR_OFFLINE_SOILNOX} # 1980-2020 # ----- NON-EMISSIONS DATA ---------------------------------------------------- --> UVALBEDO : true # 1985 --> CCM_STRAT_Bry : true # 2007 --> GMI_OH : true # 2005 --> GMI_PROD_LOSS : true # 2005 --> OMOC_RATIO : false # 2010 --> GMD_SFC_CH4 : ${RUNDIR_USE_GMDCH4} # 1975-2022 --> CMIP6_SFC_CH4 : false # 1750-1978 --> OLSON_LANDMAP : true # 1985 --> YUAN_MODIS_LAI : true # 2000-2020 --> RRTMG : ${RUNDIR_USE_RRTMG} # 2002 --> SfcVMR : ${RUNDIR_USE_SFCVMR} # 1750-2014 --> OCEAN_O3_DRYDEP : true # 1985 # ----------------------------------------------------------------------------- 100 Custom : off - 101 SeaFlux : on DMS/ACET/ALD2/MENO3/ETNO3/MOH 102 ParaNOx : ${RUNDIR_PARANOX_EXT} NO/NO2/O3/HNO3 --> LUT data format : nc --> LUT source dir : $ROOT/PARANOX/v2015-02 103 LightNOx : on NO --> LightningClimatology : ${RUNDIR_LIGHTNOX_CLIM} --> CDF table : $ROOT/LIGHTNOX/v2014-07/light_dist.ott2010.dat 104 SoilNOx : ${RUNDIR_SOILNOX_EXT} NO --> UseSoilTemperature : false --> Use fertilizer NOx : true 107 SeaSalt : ${RUNDIR_SEASALT_EXT} SALA/SALC/SALACL/SALCCL/SALAAL/SALCAL/BrSALA/BrSALC/MOPO/MOPI --> SALA lower radius : 0.01 --> SALA upper radius : 0.5 --> SALC lower radius : 0.5 --> SALC upper radius : 8.0 --> Reduce SS cold water : true --> Blowing Snow SS : true --> NH FYI snow salinity : 0.1 --> NH MYI snow salinity : 0.05 --> SH FYI snow salinity : 0.03 --> SH MYI snow salinity : 0.015 --> NH snow age : 3.0 --> SH snow age : 1.5 --> N per snowflake : 5.0 --> Model sea salt Br- : true --> Br- mass ratio : 2.11e-3 108 MEGAN : ${RUNDIR_MEGAN_EXT} ISOP/ACET/PRPE/C2H4/ALD2/MOH/EOH/MTPA/MTPO/LIMO/SESQ/SOAP/SOAS --> Isoprene scaling : 1.0 --> CO2 inhibition : true --> CO2 conc (ppmv) : 390.0 --> Isoprene to SOAP : 0.015 --> Isoprene to SOAS : 0.015 --> Monoterp to SOAP : 0.050 --> Monoterp to SOAS : 0.050 --> Othrterp to SOAP : 0.050 --> Othrterp to SOAS : 0.050 111 GFED : ${RUNDIR_GFED_EXT} NO/CO/ALK4/ACET/MEK/ALD2/PRPE/C2H2/C2H4/C3H8/CH2O/C2H6/SO2/NH3/BCPO/BCPI/OCPO/OCPI/POG1/POG2/MTPA/BENZ/TOLU/XYLE/NAP/EOH/MOH/SOAP/FURA/PHEN/MVK/ISOP/ACTA/MGLY/GLYX/RCHO/HCOOH/ACR/STYR/C4H6 --> GFED4 : true --> GFED_daily : false --> GFED_3hourly : false --> Scaling_CO : 1.05 --> Scaling_NAP : 2.75e-4 --> hydrophilic BC : 0.2 --> hydrophilic OC : 0.5 --> fraction POG1 : 0.49 --> CO to SOAP : 0.013 --> GFED_subgrid_coag : false 117 Volcano : on SO2 --> Volcano_Source : AeroCom --> Volcano_Table : ${RUNDIR_VOLC_TABLE} --> Volcano_Climatology : ${RUNDIR_VOLC_CLIMATOLOGY} 120 Inorg_Iodine : on HOI/I2 --> Emit HOI : true --> Emit I2 : true 125 DustL23M : ${RUNDIR_DUSTL23M_EXT} TDST/DSTbin1/DSTbin2/DSTbin3/DSTbin4/DSTbin5/DSTbin6/DSTbin7 --> Mass tuning factor : ${RUNDIR_DUSTL23M_TF} #see the note near scale factor 281 for the source of this emis factor 126 DustAlk : ${RUNDIR_DUSTALK_EXT} DSTALbin1/DSTALbin2/DSTALbin3/DSTALbin4/DSTALbin5/DSTALbin6/DSTALbin7 # ----- EXTENSIONS FOR TOMAS SIMULATIONS ONLY---------------------------------- 130 TOMAS_Jeagle : ${RUNDIR_TOMAS_SEASALT} SS01/SS02/SS03/SS04/SS05/SS06/SS07/SS08/SS09/SS10/SS11/SS12/SS13/SS14/SS15/SS16/SS17/SS18/SS19/SS20/SS21/SS22/SS23/SS24/SS25/SS26/SS27/SS28/SS29/SS30/SS31/SS32/SS33/SS34/SS35/SS36/SS37/SS38/SS39/SS40 --> Reduce SS cold water : true --> Blowing Snow SS : true --> NH FYI snow salinity : 0.1 --> NH MYI snow salinity : 0.05 --> SH FYI snow salinity : 0.03 --> SH MYI snow salinity : 0.015 --> NH snow age : 3.0 --> SH snow age : 1.5 --> N per snowflake : 1.0 --> Model sea salt Br- : false --> Br- mass ratio : 2.11e-3 131 TOMAS_DustDead : ${RUNDIR_TOMAS_DUSTDEAD} DUST01/DUST02/DUST03/DUST04/DUST05/DUST06/DUST07/DUST08/DUST09/DUST10/DUST11/DUST12/DUST13/DUST14/DUST15/DUST16/DUST17/DUST18/DUST19/DUST20/DUST21/DUST22/DUST23/DUST24/DUST25/DUST26/DUST27/DUST28/DUST29/DUST30/DUST31/DUST32/DUST33/DUST34/DUST35/DUST36/DUST37/DUST38/DUST39/DUST40 --> Mass tuning factor : ${RUNDIR_DUSTDEAD_TF} ### END SECTION EXTENSION SWITCHES ### ############################################################################### ### BEGIN SECTION BASE EMISSIONS ############################################################################### # ExtNr Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Species ScalIDs Cat Hier (((EMISSIONS #============================================================================== # --- APEI (Canada) --- #============================================================================== (((APEI 0 APEI_NO $ROOT/APEI/v2016-11/APEI.0.1x0.1.nc NOx 1989-2014/1/1/0 RF xy kg/m2/s NO 25/1002/115 1 30 0 APEI_CO $ROOT/APEI/v2016-11/APEI.0.1x0.1.nc CO 1989-2014/1/1/0 RF xy kg/m2/s CO 26/52/1002 1 30 0 APEI_SOAP - - - - - - SOAP 26/52/1002/280 1 30 0 APEI_SO2 $ROOT/APEI/v2016-11/APEI.0.1x0.1.nc SOx 1989-2014/1/1/0 RF xy kg/m2/s SO2 60/1002 1 30 0 APEI_SO4 - - - - - - SO4 60/65/1002 1 30 0 APEI_pFe - - - - - - pFe 60/68/1002 1 30 0 APEI_NH3 $ROOT/APEI/v2016-11/APEI.0.1x0.1.nc NH3 1989-2014/1/1/0 RF xy kg/m2/s NH3 1002 1 30 0 APEI_BCPI $ROOT/APEI/v2016-11/APEI.0.1x0.1.nc EC 1989-2014/1/1/0 RF xy kg/m2/s BCPI 70/1002 1 30 0 APEI_BCPO $ROOT/APEI/v2016-11/APEI.0.1x0.1.nc EC 1989-2014/1/1/0 RF xy kg/m2/s BCPO 71/1002 1 30 0 APEI_OCPI $ROOT/APEI/v2016-11/APEI.0.1x0.1.nc OC 1989-2014/1/1/0 RF xy kg/m2/s OCPI 72/1002 1 30 0 APEI_OCPO $ROOT/APEI/v2016-11/APEI.0.1x0.1.nc OC 1989-2014/1/1/0 RF xy kg/m2/s OCPO 73/1002 1 30 0 APEI_POG1 - - - - - - POG1 74/76/1002 1 30 0 APEI_POG2 - - - - - - POG2 74/77/1002 1 30 )))APEI #============================================================================== # --- EPA NEI2016 v1 (USA) --- # # NOTES: # * Barron Henderson wrote, "The EPA emission modeling platform always # includes our best estimate of that year's emissions for Canada and Mexico # (othpt, othar, ptfire_oth). Using that estimate is likely good. However, # that can lead to a discontinuity in Mexico and Canada." # - By default only emissions over the CONUS are used (via Mask #1007) # - To include emissions over Canada and Mexico, users may revert to the old # US mask file $ROOT/MASKS/v2018-09/USA_LANDMASK_NEI2011_0.1x0.1.20160921.nc # * The base year of these emissions is 2016 and emissions are scaled to # 2002-2020 using data from the EPA Trends Report for Tier 1 CAPS (obtained # 21 Sep 2021). # - See NEI2016/v2021-06/national_tier1_caps+HEMCOscaling.xlsx for details. # - Cl2 and HCl emissions are only available for 2016 because those species # aren't included in the Tier 1 CAPS file/ #============================================================================== (((NEI2016_MONMEAN 0 EPA16_BCPI__afdustPEC $ROOT/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__afdustPEC $ROOT/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__afdustPNA $ROOT/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__afdustPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__afdustPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__afdustPOC $ROOT/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__afdustPOC $ROOT/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__afdustPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__afdustPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_SO4__afdustPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_ACET__agACET $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_ALD2__agALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__agALDX $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__agBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_C2H4__agETH $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__agETHA $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__agETOH $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__agFORM $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_PRPE__agIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__agKET $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__agMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__agNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_PRPE__agOLE $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__agPAR $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_C3H8__agPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_TOLU__agTOL $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__agXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__airportsACET $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__airportsACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__airportsALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__airportsALDX $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__airportsBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__airportsCO $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__airportsSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__airportsETH $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__airportsETHA $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__airportsETOH $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__airportsFORM $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__airportsHONO $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__airportsIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__airportsKET $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__airportsMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NO__airportsNO $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__airportsNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__airportsOLE $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__airportsPAR $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__airportsPEC $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__airportsPEC $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__airportsPNA $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__airportsPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__airportsPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__airportsPOC $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__airportsPOC $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__airportsPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__airportsPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__airportsPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__airportsPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__airportsSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__airportspFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__airportsSULF $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__airportsTOL $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__airportsXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__nonptACET $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__nonptACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__nonptALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__nonptALDX $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__nonptBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_Cl2__nonptCL2 $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf CL2 2016/1-12/1/0 R xy kg/m2/s Cl2 1007 1 50 0 EPA16_CO__nonptCO $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__nonptSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__nonptETH $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__nonptETHA $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__nonptETOH $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__nonptFORM $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HCl__nonptHCL $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf HCL 2016/1-12/1/0 R xy kg/m2/s HCl 1007 1 50 0 EPA16_HNO2__nonptHONO $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__nonptIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__nonptKET $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__nonptMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__nonptNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__nonptNO $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__nonptNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__nonptOLE $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__nonptPAR $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__nonptPEC $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__nonptPEC $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__nonptPNA $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__nonptPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__nonptPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__nonptPOC $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__nonptPOC $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__nonptPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__nonptPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__nonptPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__nonptPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__nonptSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__nonptpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__nonptSULF $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__nonptTOL $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__nonptXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__nonroadACET $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__nonroadACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__nonroadALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__nonroadALDX $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__nonroadBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__nonroadCO $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__nonroadSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__nonroadETH $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__nonroadETHA $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__nonroadETOH $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__nonroadFORM $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__nonroadHONO $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__nonroadIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__nonroadKET $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__nonroadMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__nonroadNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__nonroadNO $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__nonroadNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__nonroadOLE $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__nonroadPAR $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__nonroadPEC $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__nonroadPEC $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__nonroadPNA $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__nonroadPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__nonroadPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__nonroadPOC $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__nonroadPOC $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__nonroadPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__nonroadPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__nonroadPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__nonroadPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__nonroadSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__nonroadspFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__nonroadSULF $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__nonroadTOL $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__nonroadXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__npogACET $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__npogACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__npogALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__npogALDX $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__npogBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_Cl2__npogCL2 $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf CL2 2016/1-12/1/0 R xy kg/m2/s Cl2 1007 1 50 0 EPA16_CO__npogCO $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__npogSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__npogETH $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__npogETHA $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__npogETOH $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__npogFORM $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__npogHONO $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__npogIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__npogKET $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__npogMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__npogNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__npogNO $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__npogNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__npogOLE $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__npogPAR $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__npogPEC $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__npogPEC $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__npogPNA $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__npogPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__npogPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__npogPOC $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__npogPOC $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__npogPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__npogPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__npogPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__npogPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__npogSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__npogpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__npogSULF $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__npogTOL $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__npogXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__onroadACET $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__onroadACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__onroadALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__onroadALDX $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__onroadBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__onroadCO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__onroadSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__onroadETH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__onroadETHA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__onroadETOH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__onroadFORM $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__onroadHONO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__onroadIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__onroadKET $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__onroadMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__onroadNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__onroadNO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__onroadNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__onroadOLE $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__onroadPAR $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__onroadPEC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__onroadPEC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__onroadPNA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__onroadPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__onroadPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__onroadPOC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__onroadPOC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__onroadPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__onroadPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__onroadPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__onroadPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__onroadSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__onroadpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_TOLU__onroadTOL $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__onroadXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__onroad_caACET $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__onroad_caACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__onroad_caALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__onroad_caALDX $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__onroad_caBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__onroad_caCO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP_onroad__caSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__onroad_caETH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__onroad_caETHA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__onroad_caETOH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__onroad_caFORM $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__onroad_caHONO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__onroad_caIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__onroad_caKET $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__onroad_caMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__onroad_caNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__onroad_caNO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__onroad_caNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__onroad_caOLE $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__onroad_caPAR $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__onroad_caPEC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__onroad_caPEC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__onroad_caPNA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__onroad_caPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__onroad_caPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__onroad_caPOC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__onroad_caPOC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__onroad_caPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__onroad_caPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__onroad_caPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__onroad_caPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__onroad_caSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__onroad_capFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_TOLU__onroad_caTOL $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__onroad_caXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__railACET $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__railACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__railALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__railALDX $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__railBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__railCO $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__railSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__railETH $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__railETHA $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__railETOH $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__railFORM $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__railHONO $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__railIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__railKET $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__railMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__railNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__railNO $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__railNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__railOLE $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__railPAR $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__railPEC $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__railPEC $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__railPNA $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__railPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__railPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__railPOC $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__railPOC $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__railPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__railPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__railPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__railPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__railSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__railpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__railSULF $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__railTOL $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__railXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__rwcACET $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__rwcACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__rwcALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__rwcALDX $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__rwcBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_Cl2__rwcCL2 $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf CL2 2016/1-12/1/0 R xy kg/m2/s Cl2 1007 1 50 0 EPA16_CO__rwcCO $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__rwcSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__rwcETH $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__rwcETHA $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__rwcETOH $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__rwcFORM $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__rwcHONO $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__rwcIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__rwcKET $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__rwcMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__rwcNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__rwcNO $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__rwcNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__rwcOLE $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__rwcPAR $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__rwcPEC $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__rwcPEC $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__rwcPNA $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__rwcPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__rwcPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__rwcPOC $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__rwcPOC $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__rwcPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__rwcPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__rwcPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__rwcPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__rwcSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__rwcpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__rwcSULF $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__rwcTOL $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__rwcXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__c1c2ACET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xyz kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_ALD2__c1c2ALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xyz kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__c1c2ALDX $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xyz kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__c1c2BENZ $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xyz kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__c1c2CO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xyz kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__clc2SOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__c1c2ETH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__c1c2ETHA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__c1c2ETOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xyz kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__c1c2FORM $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xyz kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__c1c2HONO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__c1c2IOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__c1c2KET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xyz kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__c1c2MEOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xyz kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__c1c2NH3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xyz kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__c1c2NO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xyz kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__c1c2NO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xyz kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__c1c2OLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__c1c2PAR $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xyz kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__c1c2PEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__c1c2PEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__c1c2PNA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__c1c2PNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xyz kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__c1c2PNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xyz kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__c1c2POC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__c1c2POC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__clc2POC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__clc2POC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__c1c2PRPA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xyz kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__c1c2PSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__c1c2SO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xyz kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__clcpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__c1c2SULF $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__c1c2TOL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xyz kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__c1c2XYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xyz kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__c3ACET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xyz kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_ALD2__c3ALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xyz kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__c3ALDX $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xyz kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__c3BENZ $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xyz kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__c3CO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xyz kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__c3SOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__c3ETH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__c3ETHA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__c3ETOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xyz kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__c3FORM $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xyz kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__c3HONO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__c3IOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__c3KET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xyz kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__c3MEOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xyz kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__c3NH3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xyz kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__c3NO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xyz kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__c3NO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xyz kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__c3OLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__c3PAR $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xyz kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__c3PEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__c3PEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__c3PNA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__c3PNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xyz kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__c3PNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xyz kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__c3POC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__c3POC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__c3POC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__c3POC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__c3PRPA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xyz kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__c3PSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__c3SO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xyz kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__c2pFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__c3SULF $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__c3TOL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xyz kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__c3XYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xyz kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__pteguACET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xyz kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__pteguACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xyz kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__pteguALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xyz kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__pteguALDX $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xyz kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__pteguBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xyz kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_Cl2__pteguCL2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf CL2 2016/1-12/1/0 R xyz kg/m2/s Cl2 1007 1 50 0 EPA16_CO__pteguCO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xyz kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__pteguSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__pteguETH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__pteguETHA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__pteguETOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xyz kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__pteguFORM $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xyz kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HCl__pteguHCL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf HCL 2016/1-12/1/0 R xyz kg/m2/s HCl 1007 1 50 0 EPA16_HNO2__pteguHONO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__pteguIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__pteguKET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xyz kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__pteguMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xyz kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__pteguNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xyz kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__pteguNO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xyz kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__pteguNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xyz kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__pteguOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__pteguPAR $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xyz kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__pteguPEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__pteguPEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__pteguPNA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__pteguPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xyz kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__pteguPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xyz kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__pteguPOC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__pteguPOC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__pteguPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__pteguPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__pteguPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xyz kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__pteguPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__pteguSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xyz kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__ptegupFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__pteguSULF $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__pteguTOL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xyz kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__pteguXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xyz kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__ptogACET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xyz kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__ptogACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xyz kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__ptogALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xyz kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__ptogALDX $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xyz kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__ptogBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xyz kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_Cl2__ptogCL2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf CL2 2016/1-12/1/0 R xyz kg/m2/s Cl2 1007 1 50 0 EPA16_CO__ptogCO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xyz kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__ptogSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__ptogETH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__ptogETHA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__ptogETOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xyz kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__ptogFORM $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xyz kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HCl__ptogHCL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf HCL 2016/1-12/1/0 R xyz kg/m2/s HCl 1007 1 50 0 EPA16_HNO2__ptogHONO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__ptogIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__ptogKET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xyz kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__ptogMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xyz kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__ptogNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xyz kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__ptogNO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xyz kgNO2/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__ptogNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xyz kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__ptogOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__ptogPAR $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xyz kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__ptogPEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__ptogPEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__ptogPNA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__ptogPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xyz kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__ptogPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xyz kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__ptogPOC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__ptogPOC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__ptogPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__ptogPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__ptogPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xyz kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__ptogPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__ptogSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xyz kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__ptogpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__ptogSULF $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__ptogTOL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xyz kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__ptogXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xyz kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__ptnonipmACET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xyz kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__ptnonipmACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xyz kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__ptnonipmALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xyz kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__ptnonipmALDX $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xyz kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__ptnonipmBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xyz kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_Cl2__ptnonipmCL2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf CL2 2002-2020/1-12/1/0 R xyz kg/m2/s Cl2 1007 1 50 0 EPA16_CO__ptnonipmCO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xyz kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__ptnonipmSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__ptnonipmETH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__ptnonipmETHA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__ptnonipmETOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xyz kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__ptnonipmFORM $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xyz kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HCl__ptnonipmHCL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf HCL 2002-2020/1-12/1/0 R xyz kg/m2/s HCl 1007 1 50 0 EPA16_HNO2__ptnonipmHONO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__ptnonipmIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__ptnonipmKET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xyz kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__ptnonipmMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xyz kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__ptnonipmNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xyz kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__ptnonipmNO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xyz kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__ptnonipmNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xyz kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__ptnonipmOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__ptnonipmPAR $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xyz kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__ptnonipmPEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__ptnonipmPEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__ptnonipmPNA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__ptnonipmPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xyz kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__ptnonipmPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xyz kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__ptnonipmPOC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__ptnonipmPOC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__ptnonipmPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__ptnonipmPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__ptnonipmPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xyz kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__ptnonipmPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__ptnonipmSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xyz kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__ptnonipmpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__ptnonipmSULF $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__ptnonipmTOL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xyz kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__ptnonipmXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xyz kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__onroad_canACET $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_ALD2__onroad_canALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__onroad_canALDX $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__onroad_canBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__onroad_canCO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__onroad_canSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__onroad_canETH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__onroad_canETHA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__onroad_canETOH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__onroad_canFORM $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__onroad_canHONO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__onroad_canIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__onroad_canKET $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__onroad_canMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__onroad_canNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__onroad_canNO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__onroad_canNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__onroad_canOLE $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__onroad_canPAR $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__onroad_canPEC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__onroad_canPEC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__onroad_canPNA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__onroad_canPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__onroad_canPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__onroad_canPOC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__onroad_canPOC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__onroad_canPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__onroad_canPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__onroad_canPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__onroad_canPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__onroad_canSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__onroad_canpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__onroad_canSULF $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__onroad_canTOL $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__onroad_canXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__onroad_mexACET $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__onroad_mexACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__onroad_mexALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__onroad_mexALDX $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__onroad_mexBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__onroad_mexCO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__onroad_mexSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__onroad_mexETH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__onroad_mexETHA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__onroad_mexETOH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__onroad_mexFORM $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__onroad_mexHONO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__onroad_mexIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__onroad_mexKET $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__onroad_mexMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__onroad_mexNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__onroad_mexNO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__onroad_mexNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__onroad_mexOLE $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__onroad_mexPAR $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__onroad_mexPEC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__onroad_mexPEC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__onroad_mexPNA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__onroad_mexPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__onroad_mexPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__onroad_mexPOC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__onroad_mexPOC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__onroad_mexPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__onroad_mexPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__onroad_mexPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__onroad_mexPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__onroad_mexSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__onroad_mexpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__onroad_mexSULF $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__onroad_mexTOL $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__onroad_mexXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_BCPI__othafdustPEC $ROOT/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__othafdustPEC $ROOT/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__othafdustPNA $ROOT/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__othafdustPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__othafdustPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__othafdustPOC $ROOT/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__othafdustPOC $ROOT/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__othafdustPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__othafdustPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_SO4__othafdustPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_ACET__otharACET $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_ALD2__otharALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__otharALDX $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__otharBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__otharCO $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__otharSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__otharETH $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__otharETHA $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__otharETOH $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__otharFORM $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__otharHONO $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__otharIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__otharKET $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__otharMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__otharNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__otharNO $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__otharNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__otharOLE $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__otharPAR $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__otharPEC $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__otharPEC $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__otharPNA $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__otharPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__otharPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__otharPOC $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__otharPOC $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__otharPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__otharPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__otharPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__otharPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__otharSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__otharpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__otharSULF $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__otharTOL $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__otharXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_BCPI__othptdustPEC $ROOT/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__othptdustPEC $ROOT/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__othptdustPNA $ROOT/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__othptdustPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__othptdustPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__othptdustPOC $ROOT/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__othptdustPOC $ROOT/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__othptdustPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__othptdustPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_SO4__othptdustPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_ACET__othptACET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_ALD2__othptALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__othptALDX $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__othptBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__othptCO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__othptSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__othptETH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__othptETHA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__othptETOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__othptFORM $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__othptHONO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__othptIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__othptKET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__othptMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__othptNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__othptNO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__othptNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__othptOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__othptPAR $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__othptPEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__othptPEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__othptPNA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__othptPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__othptPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__othptPOC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__othptPOC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__othptPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__othptPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__othptPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__othptPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__othptSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__othptpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__othptSULF $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__othptTOL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__othptXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 )))NEI2016_MONMEAN #============================================================================== # --- DICE-Africa emission inventory (Marais and Wiedinmyer, ES&T, 2016) --- # # DICE-Africa includes regional (Africa) emissions of biofuel and diffuse # anthropogenic emissions from cars and motorcycles, biofuels, charcoal making # and use, backup generators, agricultural waste burning for cooking, gas # flares, and ad-hoc/informal oil refining. # # Other pollution sources (formal industry, power generation using fossil # fuels) are from the EDGAR v4.3 inventory for CO, SO2, NH3, NOx BC, and OC. # # NMVOCs from sources not accounted for in DICE-Africa aren't included here, # as these emissions are likely to be low compared to the DICE pollution # sources and RETRO v1 as implemented in GEOS-Chem doesn't distinguish # emissions by sector/activity. # # Emissions for 2013 are defined below, but DICE-Africa also includes # emissions for 2006. Developers recommend using population change to # estimate emissions, if users want to use annual trends in pollutant # emissions to estimate in other years. #============================================================================== (((DICE_Africa # ------------------------ # Cars # ------------------------ 0 DICE_CARS_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/1008 1 60 0 DICE_CARS_SOAP - - - - - - SOAP 26/1008/280 1 60 0 DICE_CARS_NO $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc NO 2013/1/1/0 C xy g/m2/yr NO 25/30/1008 1 60 0 DICE_CARS_ALK4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc ALK4 2013/1/1/0 C xy g/m2/yr ALK4 26/1008 1 60 0 DICE_CARS_ISOP $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc ISOP 2013/1/1/0 C xy g/m2/yr ISOP 26/1008 1 60 0 DICE_CARS_ACET $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc ACET 2013/1/1/0 C xy g/m2/yr ACET 26/1008 1 60 0 DICE_CARS_MEK $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc MEK 2013/1/1/0 C xy g/m2/yr MEK 26/1008 1 60 0 DICE_CARS_ALD2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc ALD2 2013/1/1/0 C xy g/m2/yr ALD2 26/1008 1 60 0 DICE_CARS_RCHO $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc RCHO 2013/1/1/0 C xy g/m2/yr RCHO 26/1008 1 60 0 DICE_CARS_PRPE $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc PRPE 2013/1/1/0 C xy g/m2/yr PRPE 26/1008 1 60 0 DICE_CARS_CH2O $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc CH2O 2013/1/1/0 C xy g/m2/yr CH2O 26/1008 1 60 0 DICE_CARS_SO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc SO2 2013/1/1/0 C xy g/m2/yr SO2 31/78/1008 1 60 0 DICE_CARS_SO4 - - - - - - SO4 31/63/1008 1 60 0 DICE_CARS_pFe - - - - - - pFe 31/78/66/1008 1 60 0 DICE_CARS_C2H4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc C2H4 2013/1/1/0 C xy g/m2/yr C2H4 26/1008 1 60 0 DICE_CARS_BENZ $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc BENZ 2013/1/1/0 C xy g/m2/yr BENZ 26/1008 1 60 0 DICE_CARS_TOLU $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc TOLU 2013/1/1/0 C xy g/m2/yr TOLU 26/1008 1 60 0 DICE_CARS_XYLE $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc XYLE 2013/1/1/0 C xy g/m2/yr XYLE 26/1008 1 60 0 DICE_CARS_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 1 60 0 DICE_CARS_BCPO - - - - - - BCPO 71/1008 1 60 0 DICE_CARS_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008/330 1 60 0 DICE_CARS_OCPO - - - - - - OCPO 73/1008/330 1 60 0 DICE_CARS_POG1 - - - - - - POG1 74/76/1008/330 1 60 0 DICE_CARS_POG2 - - - - - - POG2 74/77/1008/330 1 60 # ------------------------ # Motorcycles # ------------------------ 0 DICE_MOTORCYCLES_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/1008 1 60 0 DICE_MOTORCYCLES_SOAP - - - - - - SOAP 26/1008/280 1 60 0 DICE_MOTORCYCLES_NO $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc NO 2013/1/1/0 C xy g/m2/yr NO 25/30/1008 1 60 0 DICE_MOTORCYCLES_SO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc SO2 2013/1/1/0 C xy g/m2/yr SO2 31/78/1008 1 60 0 DICE_MOTORCYCLES_SO4 - - - - - - SO4 31/63/1008 1 60 0 DICE_MOTORCYCLES_pFe - - - - - - pFe 31/78/66/1008 1 60 0 DICE_MOTORCYCLES_ALK4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc ALK4 2013/1/1/0 C xy g/m2/yr ALK4 26/1008 1 60 0 DICE_MOTORCYCLES_MEK $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc MEK 2013/1/1/0 C xy g/m2/yr MEK 26/1008 1 60 0 DICE_MOTORCYCLES_ALD2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc ALD2 2013/1/1/0 C xy g/m2/yr ALD2 26/1008 1 60 0 DICE_MOTORCYCLES_PRPE $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc PRPE 2013/1/1/0 C xy g/m2/yr PRPE 26/1008 1 60 0 DICE_MOTORCYCLES_CH2O $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc CH2O 2013/1/1/0 C xy g/m2/yr CH2O 26/1008 1 60 0 DICE_MOTORCYCLES_BENZ $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc BENZ 2013/1/1/0 C xy g/m2/yr BENZ 26/1008 1 60 0 DICE_MOTORCYCLES_TOLU $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc TOLU 2013/1/1/0 C xy g/m2/yr TOLU 26/1008 1 60 0 DICE_MOTORCYCLES_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 1 60 0 DICE_MOTORCYCLES_BCPO - - - - - - BCPO 71/1008 1 60 0 DICE_MOTORCYCLES_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 1 60 0 DICE_MOTORCYCLES_OCPO - - - - - - OCPO 73/1008 1 60 0 DICE_MOTORCYCLES_POG1 - - - - - - POG1 74/76/1008 1 60 0 DICE_MOTORCYCLES_POG2 - - - - - - POG2 74/77/1008 1 60 # ------------------------ # Backup generators # ------------------------ 0 DICE_BACKUPGEN_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/1008 1 60 0 DICE_BACKUPGEN_SOAP - - - - - - SOAP 26/1008/280 1 60 0 DICE_BACKUPGEN_NO $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc NO 2013/1/1/0 C xy g/m2/yr NO 25/30/1008 1 60 0 DICE_BACKUPGEN_NO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc NO2 2013/1/1/0 C xy g/m2/yr NO2 25/30/1008 1 60 0 DICE_BACKUPGEN_SO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc SO2 2013/1/1/0 C xy g/m2/yr SO2 31/78/1008 1 60 0 DICE_BACKUPGEN_SO4 - - - - - - SO4 31/63/1008 1 60 0 DICE_BACKUPGEN_pFe - - - - - - pFe 31/78/66/1008 1 60 0 DICE_BACKUPGEN_ACET $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc ACET 2013/1/1/0 C xy g/m2/yr ACET 26/1008 1 60 0 DICE_BACKUPGEN_MEK $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc MEK 2013/1/1/0 C xy g/m2/yr MEK 26/1008 1 60 0 DICE_BACKUPGEN_ALD2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc ALD2 2013/1/1/0 C xy g/m2/yr ALD2 26/1008 1 60 0 DICE_BACKUPGEN_RCHO $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc RCHO 2013/1/1/0 C xy g/m2/yr RCHO 26/1008 1 60 0 DICE_BACKUPGEN_MVK $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc MVK 2013/1/1/0 C xy g/m2/yr MVK 26/1008 1 60 0 DICE_BACKUPGEN_MACR $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc MACR 2013/1/1/0 C xy g/m2/yr MACR 26/1008 1 60 0 DICE_BACKUPGEN_CH2O $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc CH2O 2013/1/1/0 C xy g/m2/yr CH2O 26/1008 1 60 #0 DICE_BACKUPGEN_MGLY $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc MGLY 2013/1/1/0 C xy g/m2/yr MGLY 26/1008 1 60 #0 DICE_BACKUPGEN_GLYX $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc GLYX 2013/1/1/0 C xy g/m2/yr GLYX 26/1008 1 60 0 DICE_BACKUPGEN_C2H4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc C2H4 2013/1/1/0 C xy g/m2/yr C2H4 26/1008 1 60 0 DICE_BACKUPGEN_BENZ $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc BENZ 2013/1/1/0 C xy g/m2/yr BENZ 26/1008 1 60 0 DICE_BACKUPGEN_TOLU $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc TOLU 2013/1/1/0 C xy g/m2/yr TOLU 26/1008 1 60 0 DICE_BACKUPGEN_XYLE $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc XYLE 2013/1/1/0 C xy g/m2/yr XYLE 26/1008 1 60 0 DICE_BACKUPGEN_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 1 60 0 DICE_BACKUPGEN_BCPO - - - - - - BCPO 71/1008 1 60 0 DICE_BACKUPGEN_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 1 60 0 DICE_BACKUPGEN_OCPO - - - - - - OCPO 73/1008 1 60 0 DICE_BACKUPGEN_POG1 - - - - - - POG1 74/76/1008 1 60 0 DICE_BACKUPGEN_POG2 - - - - - - POG2 74/77/1008 1 60 # ------------------------ # Charcoal production # ------------------------ 0 DICE_CHARCOALPROD_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/1008/320 1 60 0 DICE_CHARCOALPROD_SOAP - - - - - - SOAP 26/1008/280/320 1 60 0 DICE_CHARCOALPROD_NO $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc NO 2013/1/1/0 C xy g/m2/yr NO 25/30/1008/320 1 60 0 DICE_CHARCOALPROD_NH3 $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc NH3 2013/1/1/0 C xy g/m2/yr NH3 1008/320 1 60 0 DICE_CHARCOALPROD_PRPE $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc PRPE 2013/1/1/0 C xy g/m2/yr PRPE 26/1008/320 1 60 0 DICE_CHARCOALPROD_CH2O $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc CH2O 2013/1/1/0 C xy g/m2/yr CH2O 26/1008/320 1 60 0 DICE_CHARCOALPROD_C2H6 $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc C2H6 2013/1/1/0 C xy g/m2/yr C2H6 26/1008/320 1 60 0 DICE_CHARCOALPROD_HAC $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc HAC 2013/1/1/0 C xy g/m2/yr HAC 26/1008/320 1 60 0 DICE_CHARCOALPROD_C2H2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc C2H2 2013/1/1/0 C xy g/m2/yr C2H2 26/1008/320 1 60 0 DICE_CHARCOALPROD_C2H4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc C2H4 2013/1/1/0 C xy g/m2/yr C2H4 26/1008/320 1 60 0 DICE_CHARCOALPROD_TOLU $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc TOLU 2013/1/1/0 C xy g/m2/yr TOLU 26/1008/320 1 60 0 DICE_CHARCOALPROD_HCOOH $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc HCOOH 2013/1/1/0 C xy g/m2/yr HCOOH 26/1008/320 1 60 0 DICE_CHARCOALPROD_MOH $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc MOH 2013/1/1/0 C xy g/m2/yr MOH 26/1008/320 1 60 0 DICE_CHARCOALPROD_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008/320 1 60 0 DICE_CHARCOALPROD_BCPO - - - - - - BCPO 71/1008/320 1 60 0 DICE_CHARCOALPROD_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008/320 1 60 0 DICE_CHARCOALPROD_OCPO - - - - - - OCPO 73/1008/320 1 60 0 DICE_CHARCOALPROD_POG1 - - - - - - POG1 74/76/1008/320 1 60 0 DICE_CHARCOALPROD_POG2 - - - - - - POG2 74/77/1008/320 1 60 # ------------------------ # Flaring of natural gas # ------------------------ 0 DICE_GASFLARE_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/1008 1 60 0 DICE_GASFLARE_SOAP - - - - - - SOAP 26/1008/280 1 60 0 DICE_GASFLARE_NO $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc NO 2013/1/1/0 C xy g/m2/yr NO 25/30/1008 1 60 0 DICE_GASFLARE_ALK4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc ALK4 2013/1/1/0 C xy g/m2/yr ALK4 26/1008 1 60 0 DICE_GASFLARE_ALD2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc ALD2 2013/1/1/0 C xy g/m2/yr ALD2 26/1008 1 60 0 DICE_GASFLARE_PRPE $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc PRPE 2013/1/1/0 C xy g/m2/yr PRPE 26/1008 1 60 0 DICE_GASFLARE_CH2O $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc CH2O 2013/1/1/0 C xy g/m2/yr CH2O 26/1008 1 60 0 DICE_GASFLARE_BENZ $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc BENZ 2013/1/1/0 C xy g/m2/yr BENZ 26/1008 1 60 0 DICE_GASFLARE_TOLU $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc TOLU 2013/1/1/0 C xy g/m2/yr TOLU 26/1008 1 60 0 DICE_GASFLARE_XYLE $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc XYLE 2013/1/1/0 C xy g/m2/yr XYLE 26/1008 1 60 0 DICE_GASFLARE_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 1 60 0 DICE_GASFLARE_BCPO - - - - - - BCPO 71/1008 1 60 0 DICE_GASFLARE_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 1 60 0 DICE_GASFLARE_OCPO - - - - - - OCPO 73/1008 1 60 0 DICE_GASFLARE_POG1 - - - - - - POG1 74/76/1008 1 60 0 DICE_GASFLARE_POG2 - - - - - - POG2 74/77/1008 1 60 # ------------------------------ # Ag waste burning for energy # ------------------------------ 0 DICE_AGBURNING_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/1008 2 60 0 DICE_AGBURNING_SOAP - - - - - - SOAP 26/1008/280 2 60 0 DICE_AGBURNING_NO $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc NO 2013/1/1/0 C xy g/m2/yr NO 25/30/1008 2 60 0 DICE_AGBURNING_NO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc NO2 2013/1/1/0 C xy g/m2/yr NO2 25/30/1008 2 60 0 DICE_AGBURNING_SO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc SO2 2013/1/1/0 C xy g/m2/yr SO2 31/78/1008 2 60 0 DICE_AGBURNING_SO4 - - - - - - SO4 31/63/1008 2 60 0 DICE_AGBURNING_pFe - - - - - - pFe 31/78/66/1008 2 60 0 DICE_AGBURNING_NH3 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc NH3 2013/1/1/0 C xy g/m2/yr NH3 1008 2 60 0 DICE_AGBURNING_ALK4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc ALK4 2013/1/1/0 C xy g/m2/yr ALK4 26/1008 2 60 0 DICE_AGBURNING_ISOP $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc ISOP 2013/1/1/0 C xy g/m2/yr ISOP 26/1008 2 60 0 DICE_AGBURNING_ACET $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc ACET 2013/1/1/0 C xy g/m2/yr ACET 26/1008 2 60 0 DICE_AGBURNING_MEK $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc MEK 2013/1/1/0 C xy g/m2/yr MEK 26/1008 2 60 0 DICE_AGBURNING_ALD2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc ALD2 2013/1/1/0 C xy g/m2/yr ALD2 26/1008 2 60 0 DICE_AGBURNING_MVK $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc MVK 2013/1/1/0 C xy g/m2/yr MVK 26/1008 2 60 0 DICE_AGBURNING_MACR $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc MACR 2013/1/1/0 C xy g/m2/yr MACR 26/1008 2 60 0 DICE_AGBURNING_PRPE $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc PRPE 2013/1/1/0 C xy g/m2/yr PRPE 26/1008 2 60 0 DICE_AGBURNING_C3H8 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc C3H8 2013/1/1/0 C xy g/m2/yr C3H8 26/1008 2 60 0 DICE_AGBURNING_CH2O $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc CH2O 2013/1/1/0 C xy g/m2/yr CH2O 26/1008 2 60 0 DICE_AGBURNING_C2H6 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc C2H6 2013/1/1/0 C xy g/m2/yr C2H6 26/1008 2 60 0 DICE_AGBURNING_HAC $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc HAC 2013/1/1/0 C xy g/m2/yr HAC 26/1008 2 60 0 DICE_AGBURNING_GLYC $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc GLYC 2013/1/1/0 C xy g/m2/yr GLYC 26/1008 2 60 0 DICE_AGBURNING_MOH $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc MOH 2013/1/1/0 C xy g/m2/yr MOH 26/1008 2 60 #0 DICE_AGBURNING_MGLY $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc MGLY 2013/1/1/0 C xy g/m2/yr MGLY 26/1008 2 60 #0 DICE_AGBURNING_APIN $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc APIN 2013/1/1/0 C xy g/m2/yr APIN 26/1008 2 60 0 DICE_AGBURNING_C2H2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc C2H2 2013/1/1/0 C xy g/m2/yr C2H2 26/1008 2 60 0 DICE_AGBURNING_C2H4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc C2H4 2013/1/1/0 C xy g/m2/yr C2H4 26/1008 2 60 0 DICE_AGBURNING_BENZ $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc BENZ 2013/1/1/0 C xy g/m2/yr BENZ 26/1008 2 60 0 DICE_AGBURNING_TOLU $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc TOLU 2013/1/1/0 C xy g/m2/yr TOLU 26/1008 2 60 0 DICE_AGBURNING_XYLE $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc XYLE 2013/1/1/0 C xy g/m2/yr XYLE 26/1008 2 60 0 DICE_AGBURNING_HCOOH $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc HCOOH 2013/1/1/0 C xy g/m2/yr HCOOH 26/1008 2 60 0 DICE_AGBURNING_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 2 60 0 DICE_AGBURNING_BCPO - - - - - g/m2/yr BCPO 71/1008 2 60 0 DICE_AGBURNING_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 2 60 0 DICE_AGBURNING_OCPO - - - - - - OCPO 73/1008 2 60 0 DICE_AGBURNING_POG1 - - - - - - POG1 74/76/1008 2 60 0 DICE_AGBURNING_POG2 - - - - - - POG2 74/77/1008 2 60 # ------------------------------ # Charcoal use # ------------------------------ 0 DICE_CHARCOALUSE_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/1008 2 60 0 DICE_CHARCOALUSE_SOAP - - - - - - SOAP 26/1008/280 2 60 0 DICE_CHARCOALUSE_NO $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc NO 2013/1/1/0 C xy g/m2/yr NO 25/30/1008 2 60 0 DICE_CHARCOALUSE_ALK4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc ALK4 2013/1/1/0 C xy g/m2/yr ALK4 26/1008 2 60 0 DICE_CHARCOALUSE_NH3 $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc NH3 2013/1/1/0 C xy g/m2/yr NH3 1008 2 60 0 DICE_CHARCOALUSE_PRPE $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc PRPE 2013/1/1/0 C xy g/m2/yr PRPE 26/1008 2 60 0 DICE_CHARCOALUSE_CH2O $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc CH2O 2013/1/1/0 C xy g/m2/yr CH2O 26/1008 2 60 0 DICE_CHARCOALUSE_C2H6 $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc C2H6 2013/1/1/0 C xy g/m2/yr C2H6 26/1008 2 60 0 DICE_CHARCOALUSE_C2H2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc C2H2 2013/1/1/0 C xy g/m2/yr C2H2 26/1008 2 60 0 DICE_CHARCOALUSE_C2H4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc C2H4 2013/1/1/0 C xy g/m2/yr C2H4 26/1008 2 60 0 DICE_CHARCOALUSE_HCOOH $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc HCOOH 2013/1/1/0 C xy g/m2/yr HCOOH 26/1008 2 60 0 DICE_CHARCOALUSE_MOH $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc MOH 2013/1/1/0 C xy g/m2/yr MOH 26/1008 2 60 0 DICE_CHARCOALUSE_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 2 60 0 DICE_CHARCOALUSE_BCPO - - - - - - BCPO 71/1008 2 60 0 DICE_CHARCOALUSE_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 2 60 0 DICE_CHARCOALUSE_OCPO - - - - - - OCPO 73/1008 2 60 0 DICE_CHARCOALUSE_POG1 - - - - - - POG1 74/76/1008 2 60 0 DICE_CHARCOALUSE_POG2 - - - - - - POG2 74/77/1008 2 60 # ------------------------------ # Kerosene use # ------------------------------ 0 DICE_KEROSENE_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-kerosene-use-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/1008 1 60 0 DICE_KEROSENE_SOAP - - - - - - SOAP 26/1008/280 1 60 0 DICE_KEROSENE_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-kerosene-use-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 1 60 0 DICE_KEROSENE_BCPO - - - - - - BCPO 71/1008 1 60 0 DICE_KEROSENE_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-kerosene-use-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 1 60 0 DICE_KEROSENE_OCPO - - - - - - OCPO 73/1008 1 60 0 DICE_KEROSENE_POG1 - - - - - - POG1 74/76/1008 1 60 0 DICE_KEROSENE_POG2 - - - - - - POG2 74/77/1008 1 60 # ------------------------------ # Artisanal oil refining # ------------------------------ 0 DICE_OILREFINING_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/1008 1 60 0 DICE_OILREFINING_SOAP - - - - - - SOAP 26/1008/280 1 60 0 DICE_OILREFINING_NO $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc NO 2013/1/1/0 C xy g/m2/yr NO 25/30/1008 1 60 0 DICE_OILREFINING_SO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc SO2 2013/1/1/0 C xy g/m2/yr SO2 31/78/1008 1 60 0 DICE_OILREFINING_SO4 - - - - - - SO4 31/63/1008 1 60 0 DICE_OILREFINING_pFe - - - - - - pFe 31/78/66/1008 1 60 0 DICE_OILREFINING_ALK4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc ALK4 2013/1/1/0 C xy g/m2/yr ALK4 26/1008 1 60 0 DICE_OILREFINING_ACET $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc ACET 2013/1/1/0 C xy g/m2/yr ACET 26/1008 1 60 0 DICE_OILREFINING_MEK $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc MEK 2013/1/1/0 C xy g/m2/yr MEK 26/1008 1 60 0 DICE_OILREFINING_ALD2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc ALD2 2013/1/1/0 C xy g/m2/yr ALD2 26/1008 1 60 0 DICE_OILREFINING_RCHO $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc RCHO 2013/1/1/0 C xy g/m2/yr RCHO 26/1008 1 60 0 DICE_OILREFINING_C3H8 $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc C3H8 2013/1/1/0 C xy g/m2/yr C3H8 26/1008 1 60 0 DICE_OILREFINING_CH2O $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc CH2O 2013/1/1/0 C xy g/m2/yr CH2O 26/1008 1 60 0 DICE_OILREFINING_C2H6 $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc C2H6 2013/1/1/0 C xy g/m2/yr C2H6 26/1008 1 60 0 DICE_OILREFINING_BENZ $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc BENZ 2013/1/1/0 C xy g/m2/yr BENZ 26/1008 1 60 0 DICE_OILREFINING_TOLU $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc TOLU 2013/1/1/0 C xy g/m2/yr TOLU 26/1008 1 60 0 DICE_OILREFINING_XYLE $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc XYLE 2013/1/1/0 C xy g/m2/yr XYLE 26/1008 1 60 0 DICE_OILREFINING_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 1 60 0 DICE_OILREFINING_BCPO - - - - - - BCPO 71/1008 1 60 0 DICE_OILREFINING_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 1 60 0 DICE_OILREFINING_OCPO - - - - - - OCPO 73/1008 1 60 0 DICE_OILREFINING_POG1 - - - - - - POG1 74/76/1008 1 60 0 DICE_OILREFINING_POG2 - - - - - - POG2 74/77/1008 1 60 # -------------------------- # Household fuelwood use # -------------------------- 0 DICE_HOUSEFUELWOOD_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/1008 2 60 0 DICE_HOUSEFUELWOOD_SOAP - - - - - - SOAP 26/1008/280 2 60 0 DICE_HOUSEFUELWOOD_NO $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc NO 2013/1/1/0 C xy g/m2/yr NO 25/30/1008 2 60 0 DICE_HOUSEFUELWOOD_NO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc NO2 2013/1/1/0 C xy g/m2/yr NO2 25/30/1008 2 60 0 DICE_HOUSEFUELWOOD_SO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc SO2 2013/1/1/0 C xy g/m2/yr SO2 31/78/1008 2 60 0 DICE_HOUSEFUELWOOD_SO4 - - - - - - SO4 31/63/1008 2 60 0 DICE_HOUSEFUELWOOD_pFe - - - - - - pFe 31/78/66/1008 2 60 0 DICE_HOUSEFUELWOOD_NH3 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc NH3 2013/1/1/0 C xy g/m2/yr NH3 1008 2 60 0 DICE_HOUSEFUELWOOD_ALK4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc ALK4 2013/1/1/0 C xy g/m2/yr ALK4 26/1008 2 60 0 DICE_HOUSEFUELWOOD_ISOP $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc ISOP 2013/1/1/0 C xy g/m2/yr ISOP 26/1008 2 60 0 DICE_HOUSEFUELWOOD_MEK $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc MEK 2013/1/1/0 C xy g/m2/yr MEK 26/1008 2 60 0 DICE_HOUSEFUELWOOD_ALD2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc ALD2 2013/1/1/0 C xy g/m2/yr ALD2 26/1008 2 60 0 DICE_HOUSEFUELWOOD_MVK $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc MVK 2013/1/1/0 C xy g/m2/yr MVK 26/1008 2 60 0 DICE_HOUSEFUELWOOD_PRPE $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc PRPE 2013/1/1/0 C xy g/m2/yr PRPE 26/1008 2 60 0 DICE_HOUSEFUELWOOD_CH2O $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc CH2O 2013/1/1/0 C xy g/m2/yr CH2O 26/1008 2 60 0 DICE_HOUSEFUELWOOD_C2H6 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc C2H6 2013/1/1/0 C xy g/m2/yr C2H6 26/1008 2 60 0 DICE_HOUSEFUELWOOD_HAC $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc HAC 2013/1/1/0 C xy g/m2/yr HAC 26/1008 2 60 0 DICE_HOUSEFUELWOOD_GLYC $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc GLYC 2013/1/1/0 C xy g/m2/yr GLYC 26/1008 2 60 0 DICE_HOUSEFUELWOOD_MOH $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc MOH 2013/1/1/0 C xy g/m2/yr MOH 26/1008 2 60 #0 DICE_HOUSEFUELWOOD_MGLY $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc MGLY 2013/1/1/0 C xy g/m2/yr MGLY 26/1008 2 60 #0 DICE_HOUSEFUELWOOD_APIN $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc APIN 2013/1/1/0 C xy g/m2/yr APIN 26/1008 2 60 0 DICE_HOUSEFUELWOOD_C2H2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc C2H2 2013/1/1/0 C xy g/m2/yr C2H2 26/1008 2 60 0 DICE_HOUSEFUELWOOD_C2H4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc C2H4 2013/1/1/0 C xy g/m2/yr C2H4 26/1008 2 60 0 DICE_HOUSEFUELWOOD_BENZ $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc BENZ 2013/1/1/0 C xy g/m2/yr BENZ 26/1008 2 60 0 DICE_HOUSEFUELWOOD_TOLU $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc TOLU 2013/1/1/0 C xy g/m2/yr TOLU 26/1008 2 60 0 DICE_HOUSEFUELWOOD_XYLE $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc XYLE 2013/1/1/0 C xy g/m2/yr XYLE 26/1008 2 60 0 DICE_HOUSEFUELWOOD_HCOOH $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc HCOOH 2013/1/1/0 C xy g/m2/yr HCOOH 26/1008 2 60 0 DICE_HOUSEFUELWOOD_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 2 60 0 DICE_HOUSEFUELWOOD_BCPO - - - - - - BCPO 71/1008 2 60 0 DICE_HOUSEFUELWOOD_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 2 60 0 DICE_HOUSEFUELWOOD_OCPO - - - - - - OCPO 73/1008 2 60 0 DICE_HOUSEFUELWOOD_POG1 - - - - - - POG1 74/76/1008 2 60 0 DICE_HOUSEFUELWOOD_POG2 - - - - - - POG2 74/77/1008 2 60 # --------------------------------- # Commercial (other) fuelwood use # --------------------------------- 0 DICE_OTHERFUELWOOD_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/1008 2 60 0 DICE_OTHERFUELWOOD_SOAP - - - - - - SOAP 26/1008/280 2 60 0 DICE_OTHERFUELWOOD_NO $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc NO 2013/1/1/0 C xy g/m2/yr NO 25/30/1008 2 60 0 DICE_OTHERFUELWOOD_NO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc NO2 2013/1/1/0 C xy g/m2/yr NO2 25/30/1008 2 60 0 DICE_OTHERFUELWOOD_SO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc SO2 2013/1/1/0 C xy g/m2/yr SO2 31/78/1008 2 60 0 DICE_OTHERFUELWOOD_SO4 - - - - - - SO4 31/63/1008 2 60 0 DICE_OTHERFUELWOOD_pFe - - - - - - pFe 31/78/66/1008 2 60 0 DICE_OTHERFUELWOOD_NH3 $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc NH3 2013/1/1/0 C xy g/m2/yr NH3 1008 2 60 0 DICE_OTHERFUELWOOD_ALK4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc ALK4 2013/1/1/0 C xy g/m2/yr ALK4 26/1008 2 60 0 DICE_OTHERFUELWOOD_ISOP $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc ISOP 2013/1/1/0 C xy g/m2/yr ISOP 26/1008 2 60 0 DICE_OTHERFUELWOOD_MEK $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc MEK 2013/1/1/0 C xy g/m2/yr MEK 26/1008 2 60 0 DICE_OTHERFUELWOOD_ALD2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc ALD2 2013/1/1/0 C xy g/m2/yr ALD2 26/1008 2 60 0 DICE_OTHERFUELWOOD_MVK $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc MVK 2013/1/1/0 C xy g/m2/yr MVK 26/1008 2 60 0 DICE_OTHERFUELWOOD_PRPE $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc PRPE 2013/1/1/0 C xy g/m2/yr PRPE 26/1008 2 60 0 DICE_OTHERFUELWOOD_CH2O $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc CH2O 2013/1/1/0 C xy g/m2/yr CH2O 26/1008 2 60 0 DICE_OTHERFUELWOOD_C2H6 $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc C2H6 2013/1/1/0 C xy g/m2/yr C2H6 26/1008 2 60 0 DICE_OTHERFUELWOOD_HAC $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc HAC 2013/1/1/0 C xy g/m2/yr HAC 26/1008 2 60 0 DICE_OTHERFUELWOOD_GLYC $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc GLYC 2013/1/1/0 C xy g/m2/yr GLYC 26/1008 2 60 0 DICE_OTHERFUELWOOD_MOH $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc MOH 2013/1/1/0 C xy g/m2/yr MOH 26/1008 2 60 #0 DICE_OTHERFUELWOOD_MGLY $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc MGLY 2013/1/1/0 C xy g/m2/yr MGLY 26/1008 2 60 #0 DICE_OTHERFUELWOOD_APIN $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc APIN 2013/1/1/0 C xy g/m2/yr APIN 26/1008 2 60 0 DICE_OTHERFUELWOOD_C2H2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc C2H2 2013/1/1/0 C xy g/m2/yr C2H2 26/1008 2 60 0 DICE_OTHERFUELWOOD_C2H4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc C2H4 2013/1/1/0 C xy g/m2/yr C2H4 26/1008 2 60 0 DICE_OTHERFUELWOOD_BENZ $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc BENZ 2013/1/1/0 C xy g/m2/yr BENZ 26/1008 2 60 0 DICE_OTHERFUELWOOD_TOLU $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc TOLU 2013/1/1/0 C xy g/m2/yr TOLU 26/1008 2 60 0 DICE_OTHERFUELWOOD_XYLE $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc XYLE 2013/1/1/0 C xy g/m2/yr XYLE 26/1008 2 60 0 DICE_OTHERFUELWOOD_HCOOH $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc HCOOH 2013/1/1/0 C xy g/m2/yr HCOOH 26/1008 2 60 0 DICE_OTHERFUELWOOD_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 2 60 0 DICE_OTHERFUELWOOD_BCPO - - - - - - BCPO 71/1008 2 60 0 DICE_OTHERFUELWOOD_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 2 60 0 DICE_OTHERFUELWOOD_OCPO - - - - - - OCPO 73/1008 2 60 0 DICE_OTHERFUELWOOD_POG1 - - - - - - POG1 74/76/1008 2 60 0 DICE_OTHERFUELWOOD_POG2 - - - - - - POG2 74/77/1008 2 60 # --------------------------------------------------- # Efficient Combustion Emissions from EDGAR # This makes up for sources that DICE-Africa lacks # --------------------------------------------------- 0 AF_EDGAR_BCPI_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.POW.0.1x0.1.nc emi_bc 1970-2010/1/1/0 RF xy kg/m2/s BCPI 1201/1008/70 1 60 0 AF_EDGAR_BCPO_POW - - - - - - BCPO 1201/1008/71 1 60 0 AF_EDGAR_BCPI_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.ENG.0.1x0.1.nc emi_bc 1970-2010/1/1/0 RF xy kg/m2/s BCPI 1202/1008/70 1 60 0 AF_EDGAR_BCPO_ENG - - - - - - BCPO 1202/1008/71 1 60 0 AF_EDGAR_BCPI_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.IND.0.1x0.1.nc emi_bc 1970-2010/1/1/0 RF xy kg/m2/s BCPI 1203/1008/70 1 60 0 AF_EDGAR_BCPO_IND - - - - - - BCPO 1203/1008/71 1 60 0 AF_EDGAR_BCPI_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.TNG.0.1x0.1.nc emi_bc 1970-2010/1/1/0 RF xy kg/m2/s BCPI 1205/1008/70 1 60 0 AF_EDGAR_BCPO_TNG - - - - - - BCPO 1205/1008/71 1 60 0 AF_EDGAR_BCPI_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.SWD.0.1x0.1.nc emi_bc 1970-2010/1/1/0 RF xy kg/m2/s BCPI 1211/1008/70 1 60 0 AF_EDGAR_BCPO_SWD - - - - - - BCPO 1211/1008/71 1 60 0 AF_EDGAR_CO_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.POW.0.1x0.1.nc emi_co 1970-2010/1/1/0 RF xy kg/m2/s CO 1201/26/52/1008 1 60 0 AF_EDGAR_SOAP_POW - - - - - - SOAP 1201/26/52/1008/280 1 60 0 AF_EDGAR_CO_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.ENG.0.1x0.1.nc emi_co 1970-2010/1/1/0 RF xy kg/m2/s CO 1202/26/52/1008 1 60 0 AF_EDGAR_SOAP_ENG - - - - - - SOAP 1202/26/52/1008/280 1 60 0 AF_EDGAR_CO_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.IND.0.1x0.1.nc emi_co 1970-2010/1/1/0 RF xy kg/m2/s CO 1203/26/52/1008 1 60 0 AF_EDGAR_SOAP_IND - - - - - - SOAP 1203/26/52/1008/280 1 60 0 AF_EDGAR_CO_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.TNG.0.1x0.1.nc emi_co 1970-2010/1/1/0 RF xy kg/m2/s CO 1205/26/52/1008 1 60 0 AF_EDGAR_SOAP_TNG - - - - - - SOAP 1205/26/52/1008/280 1 60 0 AF_EDGAR_CO_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.PPA.0.1x0.1.nc emi_co 1970-2010/1/1/0 RF xy kg/m2/s CO 1207/26/52/1008 1 60 0 AF_EDGAR_SOAP_PPA - - - - - - SOAP 1207/26/52/1008/280 1 60 0 AF_EDGAR_CO_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.SWD.0.1x0.1.nc emi_co 1970-2010/1/1/0 RF xy kg/m2/s CO 1211/26/52/1008 1 60 0 AF_EDGAR_SOAP_SWD - - - - - - SOAP 1211/26/52/1008/280 1 60 0 AF_EDGAR_NO_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.POW.0.1x0.1.nc emi_nox 1970-2010/1/1/0 RF xy kg/m2/s NO 1201/25/115/1008 1 60 0 AF_EDGAR_NO_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.ENG.0.1x0.1.nc emi_nox 1970-2010/1/1/0 RF xy kg/m2/s NO 1202/25/115/1008 1 60 0 AF_EDGAR_NO_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.IND.0.1x0.1.nc emi_nox 1970-2010/1/1/0 RF xy kg/m2/s NO 1203/25/115/1008 1 60 0 AF_EDGAR_NO_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.TNG.0.1x0.1.nc emi_nox 1970-2010/1/1/0 RF xy kg/m2/s NO 1205/25/115/1008 1 60 0 AF_EDGAR_NO_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.PPA.0.1x0.1.nc emi_nox 1970-2010/1/1/0 RF xy kg/m2/s NO 1207/25/115/1008 1 60 0 AF_EDGAR_NO_AGR $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.AGR.0.1x0.1.nc emi_nox 1970-2010/1/1/0 RF xy kg/m2/s NO 1208/25/115/1008 1 60 0 AF_EDGAR_NO_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.SWD.0.1x0.1.nc emi_nox 1970-2010/1/1/0 RF xy kg/m2/s NO 1211/25/115/1008 1 60 0 AF_EDGAR_NH3_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.POW.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 RF xy kg/m2/s NH3 1201/1008 1 60 0 AF_EDGAR_NH3_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.ENG.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 RF xy kg/m2/s NH3 1202/1008 1 60 0 AF_EDGAR_NH3_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.IND.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 RF xy kg/m2/s NH3 1203/1008 1 60 0 AF_EDGAR_NH3_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.TNG.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 RF xy kg/m2/s NH3 1205/1008 1 60 0 AF_EDGAR_NH3_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.PPA.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 RF xy kg/m2/s NH3 1207/1008 1 60 0 AF_EDGAR_NH3_AGR $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.AGR.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 RF xy kg/m2/s NH3 1208/1008 1 60 0 AF_EDGAR_NH3_SOL $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.SOL.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 RF xy kg/m2/s NH3 1210/1008 1 60 0 AF_EDGAR_NH3_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.SWD.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 RF xy kg/m2/s NH3 1211/1008 1 60 0 AF_EDGAR_OCPI_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.POW.0.1x0.1.nc emi_oc 1970-2010/1/1/0 RF xy kg/m2/s OCPI 1201/1008/72 1 60 0 AF_EDGAR_OCPO_POW - - - - - - OCPO 1201/1008/73 1 60 0 AF_EDGAR_POG1_POW - - - - - - POG1 1201/1008/74/76 1 60 0 AF_EDGAR_POG2_POW - - - - - - POG2 1201/1008/74/77 1 60 0 AF_EDGAR_OCPI_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.ENG.0.1x0.1.nc emi_oc 1970-2010/1/1/0 RF xy kg/m2/s OCPI 1202/1008/72 1 60 0 AF_EDGAR_OCPO_ENG - - - - - - OCPO 1202/1008/73 1 60 0 AF_EDGAR_POG1_ENG - - - - - - POG1 1202/1008/74/76 1 60 0 AF_EDGAR_POG2_ENG - - - - - - POG2 1202/1008/74/77 1 60 0 AF_EDGAR_OCPI_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.IND.0.1x0.1.nc emi_oc 1970-2010/1/1/0 RF xy kg/m2/s OCPI 1203/1008/72 1 60 0 AF_EDGAR_OCPO_IND - - - - - - OCPO 1203/1008/73 1 60 0 AF_EDGAR_POG1_IND - - - - - - POG1 1203/1008/74/76 1 60 0 AF_EDGAR_POG2_IND - - - - - - POG2 1203/1008/74/77 1 60 0 AF_EDGAR_OCPI_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.TNG.0.1x0.1.nc emi_oc 1970-2010/1/1/0 RF xy kg/m2/s OCPI 1205/1008/72 1 60 0 AF_EDGAR_OCPO_TNG - - - - - - OCPO 1205/1008/73 1 60 0 AF_EDGAR_POG1_TNG - - - - - - POG1 1205/1008/74/76 1 60 0 AF_EDGAR_POG2_TNG - - - - - - POG2 1205/1008/74/77 1 60 0 AF_EDGAR_OCPI_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.SWD.0.1x0.1.nc emi_oc 1970-2010/1/1/0 RF xy kg/m2/s OCPI 1211/1008/72 1 60 0 AF_EDGAR_OCPO_SWD - - - - - - OCPO 1211/1008/73 1 60 0 AF_EDGAR_POG1_SWD - - - - - - POG1 1211/1008/74/76 1 60 0 AF_EDGAR_POG2_SWD - - - - - - POG2 1211/1008/74/77 1 60 0 AF_EDGAR_SO2_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.POW.0.1x0.1.nc emi_so2 1970-2010/1/1/0 RF xy kg/m2/s SO2 1201/1008 1 60 0 AF_EDGAR_SO4_POW - - - - - - SO4 1201/1008/63 1 60 0 AF_EDGAR_pFe_POW - - - - - - pFe 1201/1008/66 1 60 0 AF_EDGAR_SO2_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.ENG.0.1x0.1.nc emi_so2 1970-2010/1/1/0 RF xy kg/m2/s SO2 1202/1008 1 60 0 AF_EDGAR_SO4_ENG - - - - - - SO4 1202/1008/63 1 60 0 AF_EDGAR_pFe_ENG - - - - - - pFe 1202/1008/66 1 60 0 AF_EDGAR_SO2_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.IND.0.1x0.1.nc emi_so2 1970-2010/1/1/0 RF xy kg/m2/s SO2 1203/1008 1 60 0 AF_EDGAR_SO4_IND - - - - - - SO4 1203/1008/63 1 60 0 AF_EDGAR_pFe_IND - - - - - - pFe 1203/1008/66 1 60 0 AF_EDGAR_SO2_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.TNG.0.1x0.1.nc emi_so2 1970-2010/1/1/0 RF xy kg/m2/s SO2 1205/1008 1 60 0 AF_EDGAR_SO4_TNG - - - - - - SO4 1205/1008/63 1 60 0 AF_EDGAR_pFe_TNG - - - - - - pFe 1205/1008/66 1 60 0 AF_EDGAR_SO2_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.PPA.0.1x0.1.nc emi_so2 1970-2010/1/1/0 RF xy kg/m2/s SO2 1207/1008 1 60 0 AF_EDGAR_SO4_PPA - - - - - - SO4 1207/1008/63 1 60 0 AF_EDGAR_pFe_PPA - - - - - - pFe 1207/1008/66 1 60 0 AF_EDGAR_SO2_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.SWD.0.1x0.1.nc emi_so2 1970-2010/1/1/0 RF xy kg/m2/s SO2 1211/1008 1 60 0 AF_EDGAR_SO4_SWD - - - - - - SO4 1211/1008/63 1 60 0 AF_EDGAR_pFe_SWD - - - - - - pFe 1211/1008/66 1 60 )))DICE_Africa #============================================================================== # --- CEDS_01x01 --- # # %%% This is the default global inventory. %%% # %%% You may select either CEDS, EDGAR, HTAP or CMIP6_SFC_LAND_ANTHRO %%% # %%% for the global base emissions. %%% #============================================================================== (((CEDS_01x01 0 CEDS_NO_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_NO_0.1x0.1_$YYYY.nc NO_agr 1980-2019/1-12/1/0 C xy kg/m2/s NO 2401 1 5 0 CEDS_NO_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_NO_0.1x0.1_$YYYY.nc NO_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s NO 2401/706/315 1 5 0 CEDS_NO_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_NO_0.1x0.1_$YYYY.nc NO_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s NO 2407/707/316 1 5 0 CEDS_NO_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_NO_0.1x0.1_$YYYY.nc NO_tra 1980-2019/1-12/1/0 C xy kg/m2/s NO 2411/711 1 5 0 CEDS_NO_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_NO_0.1x0.1_$YYYY.nc NO_rco 1980-2019/1-12/1/0 C xy kg/m2/s NO 2409/709 1 5 0 CEDS_NO_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_NO_0.1x0.1_$YYYY.nc NO_slv 1980-2019/1-12/1/0 C xy kg/m2/s NO 2407/707 1 5 0 CEDS_NO_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_NO_0.1x0.1_$YYYY.nc NO_wst 1980-2019/1-12/1/0 C xy kg/m2/s NO 25 1 5 0 CEDS_CO_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_agr 1980-2019/1-12/1/0 C xy kg/m2/s CO 2401 1 5 0 CEDS_SOAP_AGR - - - - - - SOAP 280/2401 1 5 0 CEDS_CO_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s CO 2406/706/315 1 5 0 CEDS_SOAP_ENE - - - - - - SOAP 280/2406/706/315 1 5 0 CEDS_CO_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s CO 2407/707/316 1 5 0 CEDS_SOAP_IND - - - - - - SOAP 280/2407/707/316 1 5 0 CEDS_CO_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_tra 1980-2019/1-12/1/0 C xy kg/m2/s CO 2411/711 1 5 0 CEDS_SOAP_TRA - - - - - - SOAP 280/2411/711 1 5 0 CEDS_CO_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_rco 1980-2019/1-12/1/0 C xy kg/m2/s CO 2409/709 1 5 0 CEDS_SOAP_RCO - - - - - - SOAP 280/2409/709 1 5 0 CEDS_CO_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_slv 1980-2019/1-12/1/0 C xy kg/m2/s CO 2407/707 1 5 0 CEDS_SOAP_SLV - - - - - - SOAP 280/2407/707 1 5 0 CEDS_CO_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_wst 1980-2019/1-12/1/0 C xy kg/m2/s CO 26 1 5 0 CEDS_SOAP_WST - - - - - - SOAP 26/280 1 5 0 CEDS_SO2_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_SO2_0.1x0.1_$YYYY.nc SO2_agr 1980-2019/1-12/1/0 C xy kg/m2/s SO2 2401 1 5 0 CEDS_SO4_AGR - - - - - - SO4 63/2401 1 5 0 CEDS_pFe_AGR - - - - - - pFe 66/2401 1 5 0 CEDS_SO2_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_SO2_0.1x0.1_$YYYY.nc SO2_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s SO2 2406/706/315 1 5 0 CEDS_SO4_ENE - - - - - - SO4 63/2406/706/315 1 5 0 CEDS_pFe_ENE - - - - - - pFe 66/2406/706/315 1 5 0 CEDS_SO2_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_SO2_0.1x0.1_$YYYY.nc SO2_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s SO2 2407/707/316 1 5 0 CEDS_SO4_IND - - - - - - SO4 63/2407/707/316 1 5 0 CEDS_pFe_IND - - - - - - pFe 66/2407/707/316 1 5 0 CEDS_SO2_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_SO2_0.1x0.1_$YYYY.nc SO2_tra 1980-2019/1-12/1/0 C xy kg/m2/s SO2 2411/711 1 5 0 CEDS_SO4_TRA - - - - - - SO4 63/2411/711 1 5 0 CEDS_pFe_TRA - - - - - - pFe 66/2411/711 1 5 0 CEDS_SO2_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_SO2_0.1x0.1_$YYYY.nc SO2_rco 1980-2019/1-12/1/0 C xy kg/m2/s SO2 2409/709 1 5 0 CEDS_SO4_RCO - - - - - - SO4 63/2409/709 1 5 0 CEDS_pFe_RCO - - - - - - pFe 66/2409/709 1 5 0 CEDS_SO2_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_SO2_0.1x0.1_$YYYY.nc SO2_slv 1980-2019/1-12/1/0 C xy kg/m2/s SO2 2407/707 1 5 0 CEDS_SO4_SLV - - - - - - SO4 63/2407/707 1 5 0 CEDS_pFe_SLV - - - - - - pFe 66/2407/707 1 5 0 CEDS_SO2_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_SO2_0.1x0.1_$YYYY.nc SO2_wst 1980-2019/1-12/1/0 C xy kg/m2/s SO2 - 1 5 0 CEDS_SO4_WST - - - - - - SO4 63 1 5 0 CEDS_pFe_WST - - - - - - pFe 66 1 5 0 CEDS_NH3_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_NH3_0.1x0.1_$YYYY.nc NH3_agr 1980-2019/1-12/1/0 C xy kg/m2/s NH3 2401 1 5 0 CEDS_NH3_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_NH3_0.1x0.1_$YYYY.nc NH3_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s NH3 2406/706/315 1 5 0 CEDS_NH3_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_NH3_0.1x0.1_$YYYY.nc NH3_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s NH3 2407/707/316 1 5 0 CEDS_NH3_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_NH3_0.1x0.1_$YYYY.nc NH3_tra 1980-2019/1-12/1/0 C xy kg/m2/s NH3 2411/711 1 5 0 CEDS_NH3_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_NH3_0.1x0.1_$YYYY.nc NH3_rco 1980-2019/1-12/1/0 C xy kg/m2/s NH3 2409/709 1 5 0 CEDS_NH3_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_NH3_0.1x0.1_$YYYY.nc NH3_slv 1980-2019/1-12/1/0 C xy kg/m2/s NH3 2407/707 1 5 0 CEDS_NH3_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_NH3_0.1x0.1_$YYYY.nc NH3_wst 1980-2019/1-12/1/0 C xy kg/m2/s NH3 - 1 5 0 CEDS_BCPI_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_BC_0.1x0.1_$YYYY.nc BC_agr 1980-2019/1-12/1/0 C xy kg/m2/s BCPI 70/2401 1 5 0 CEDS_BCPO_AGR - - - - - - BCPO 71/2401 1 5 0 CEDS_BCPI_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_BC_0.1x0.1_$YYYY.nc BC_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s BCPI 70/2406/706/315 1 5 0 CEDS_BCPO_ENE - - - - - - BCPO 71/2406/706/315 1 5 0 CEDS_BCPI_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_BC_0.1x0.1_$YYYY.nc BC_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s BCPI 70/2407/707/316 1 5 0 CEDS_BCPO_IND - - - - - - BCPO 71/2407/707/316 1 5 0 CEDS_BCPI_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_BC_0.1x0.1_$YYYY.nc BC_tra 1980-2019/1-12/1/0 C xy kg/m2/s BCPI 70/2411/711 1 5 0 CEDS_BCPO_TRA - - - - - - BCPO 71/2411/711 1 5 0 CEDS_BCPI_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_BC_0.1x0.1_$YYYY.nc BC_rco 1980-2019/1-12/1/0 C xy kg/m2/s BCPI 70/2409/709 1 5 0 CEDS_BCPO_RCO - - - - - - BCPO 71/2409/709 1 5 0 CEDS_BCPI_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_BC_0.1x0.1_$YYYY.nc BC_slv 1980-2019/1-12/1/0 C xy kg/m2/s BCPI 70/2407/707 1 5 0 CEDS_BCPO_SLV - - - - - - BCPO 71/2407/707 1 5 0 CEDS_BCPI_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_BC_0.1x0.1_$YYYY.nc BC_wst 1980-2019/1-12/1/0 C xy kg/m2/s BCPI 70 1 5 0 CEDS_BCPO_WST - - - - - - BCPO 71 1 5 0 CEDS_OCPI_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_OC_0.1x0.1_$YYYY.nc OC_agr 1980-2019/1-12/1/0 C xy kg/m2/s OCPI 72/2401 1 5 0 CEDS_OCPO_AGR - - - - - - OCPO 73/2401 1 5 0 CEDS_POG1_AGR - - - - - - POG1 74/76/2401 1 5 0 CEDS_POG2_AGR - - - - - - POG2 74/77/2401 1 5 0 CEDS_OCPI_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_OC_0.1x0.1_$YYYY.nc OC_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s OCPI 72/2406/706/315 1 5 0 CEDS_OCPO_ENE - - - - - - OCPO 73/2406/706/315 1 5 0 CEDS_POG1_ENE - - - - - - POG1 74/76/2406/706/315 1 5 0 CEDS_POG2_ENE - - - - - - POG2 74/76/2406/706/315 1 5 0 CEDS_OCPI_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_OC_0.1x0.1_$YYYY.nc OC_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s OCPI 72/2407/707/316 1 5 0 CEDS_OCPO_IND - - - - - - OCPO 73/2407/707/316 1 5 0 CEDS_POG1_IND - - - - - - POG1 74/76/2407/707/316 1 5 0 CEDS_POG2_IND - - - - - - POG2 74/77/2407/707/316 1 5 0 CEDS_OCPI_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_OC_0.1x0.1_$YYYY.nc OC_tra 1980-2019/1-12/1/0 C xy kg/m2/s OCPI 72/2411/711 1 5 0 CEDS_OCPO_TRA - - - - - - OCPO 73/2411/711 1 5 0 CEDS_POG1_TRA - - - - - - POG1 74/76/2411/711 1 5 0 CEDS_POG2_TRA - - - - - - POG2 74/77/2411/711 1 5 0 CEDS_OCPI_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_OC_0.1x0.1_$YYYY.nc OC_rco 1980-2019/1-12/1/0 C xy kg/m2/s OCPI 72/2409/709 1 5 0 CEDS_OCPO_RCO - - - - - - OCPO 73/2409/709 1 5 0 CEDS_POG1_RCO - - - - - - POG1 74/76/2409/709 1 5 0 CEDS_POG2_RCO - - - - - - POG2 74/77/2409/709 1 5 0 CEDS_OCPI_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_OC_0.1x0.1_$YYYY.nc OC_slv 1980-2019/1-12/1/0 C xy kg/m2/s OCPI 72/2407/707 1 5 0 CEDS_OCPO_SLV - - - - - - OCPO 73/2407/707 1 5 0 CEDS_POG1_SLV - - - - - - POG1 74/76/2407/707 1 5 0 CEDS_POG2_SLV - - - - - - POG2 74/77/2407/707 1 5 0 CEDS_OCPI_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_OC_0.1x0.1_$YYYY.nc OC_wst 1980-2019/1-12/1/0 C xy kg/m2/s OCPI 72 1 5 0 CEDS_OCPO_WST - - - - - - OCPO 73 1 5 0 CEDS_POG1_WST - - - - - - POG1 74/76 1 5 0 CEDS_POG2_WST - - - - - - POG2 74/77 1 5 # NOTE: EOH files in CEDS/v2024-06 are actually VOC1 (total alchohols) and are split into MOH, EOH, ROH here 0 CEDS_MOH_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_EOH_0.1x0.1_$YYYY.nc EOH_agr 1980-2019/1-12/1/0 C xy kg/m2/s MOH 90/2401 1 5 0 CEDS_EOH_AGR - - - - - - EOH 91/2401 1 5 0 CEDS_ROH_AGR - - - - - - ROH 92/2401 1 5 0 CEDS_MOH_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_EOH_0.1x0.1_$YYYY.nc EOH_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s MOH 90/2406/706/315 1 5 0 CEDS_EOH_ENE - - - - - - EOH 91/2406/706/315 1 5 0 CEDS_ROH_ENE - - - - - - ROH 92/2406/706/315 1 5 0 CEDS_MOH_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_EOH_0.1x0.1_$YYYY.nc EOH_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s MOH 90/2407/707/316 1 5 0 CEDS_EOH_IND - - - - - - EOH 91/2407/707/316 1 5 0 CEDS_ROH_IND - - - - - - ROH 92/2407/707/316 1 5 0 CEDS_MOH_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_EOH_0.1x0.1_$YYYY.nc EOH_tra 1980-2019/1-12/1/0 C xy kg/m2/s MOH 90/2411/711 1 5 0 CEDS_EOH_TRA - - - - - - EOH 91/2411/711 1 5 0 CEDS_ROH_TRA - - - - - - ROH 92/2411/711 1 5 0 CEDS_MOH_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_EOH_0.1x0.1_$YYYY.nc EOH_rco 1980-2019/1-12/1/0 C xy kg/m2/s MOH 90/2409/709 1 5 0 CEDS_EOH_RCO - - - - - - EOH 91/2409/709 1 5 0 CEDS_ROH_RCO - - - - - - ROH 92/2409/709 1 5 0 CEDS_MOH_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_EOH_0.1x0.1_$YYYY.nc EOH_slv 1980-2019/1-12/1/0 C xy kg/m2/s MOH 90/2407/707 1 5 0 CEDS_EOH_SLV - - - - - - EOH 91/2407/707 1 5 0 CEDS_ROH_SLV - - - - - - ROH 92/2407/707 1 5 0 CEDS_MOH_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_EOH_0.1x0.1_$YYYY.nc EOH_wst 1980-2019/1-12/1/0 C xy kg/m2/s MOH 90 1 5 0 CEDS_EOH_WST - - - - - - EOH 91 1 5 0 CEDS_ROH_WST - - - - - - ROH 92 1 5 0 CEDS_C2H6_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H6_0.1x0.1_$YYYY.nc C2H6_agr 1980-2019/1-12/1/0 C xy kg/m2/s C2H6 2401 1 5 0 CEDS_C2H6_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H6_0.1x0.1_$YYYY.nc C2H6_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s C2H6 2406/706/315 1 5 0 CEDS_C2H6_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H6_0.1x0.1_$YYYY.nc C2H6_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s C2H6 2407/707/316 1 5 0 CEDS_C2H6_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H6_0.1x0.1_$YYYY.nc C2H6_tra 1980-2019/1-12/1/0 C xy kg/m2/s C2H6 2411/711 1 5 0 CEDS_C2H6_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H6_0.1x0.1_$YYYY.nc C2H6_rco 1980-2019/1-12/1/0 C xy kg/m2/s C2H6 2409/709 1 5 0 CEDS_C2H6_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H6_0.1x0.1_$YYYY.nc C2H6_slv 1980-2019/1-12/1/0 C xy kg/m2/s C2H6 2407/707 1 5 0 CEDS_C2H6_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H6_0.1x0.1_$YYYY.nc C2H6_wst 1980-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CEDS_C3H8_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_C3H8_0.1x0.1_$YYYY.nc C3H8_agr 1980-2019/1-12/1/0 C xy kg/m2/s C3H8 2401 1 5 0 CEDS_C3H8_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_C3H8_0.1x0.1_$YYYY.nc C3H8_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s C3H8 2406/706/315 1 5 0 CEDS_C3H8_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_C3H8_0.1x0.1_$YYYY.nc C3H8_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s C3H8 2407/707/316 1 5 0 CEDS_C3H8_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_C3H8_0.1x0.1_$YYYY.nc C3H8_tra 1980-2019/1-12/1/0 C xy kg/m2/s C3H8 2411/711 1 5 0 CEDS_C3H8_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_C3H8_0.1x0.1_$YYYY.nc C3H8_rco 1980-2019/1-12/1/0 C xy kg/m2/s C3H8 2409/709 1 5 0 CEDS_C3H8_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_C3H8_0.1x0.1_$YYYY.nc C3H8_slv 1980-2019/1-12/1/0 C xy kg/m2/s C3H8 2407/707 1 5 0 CEDS_C3H8_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_C3H8_0.1x0.1_$YYYY.nc C3H8_wst 1980-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CEDS_C4H10_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_butanes_0.1x0.1_$YYYY.nc ALK4_butanes_agr 1980-2019/1-12/1/0 C xy kg/m2/s ALK4 2401 1 5 0 CEDS_C4H10_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_butanes_0.1x0.1_$YYYY.nc ALK4_butanes_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s ALK4 2406/706/315 1 5 0 CEDS_C4H10_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_butanes_0.1x0.1_$YYYY.nc ALK4_butanes_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s ALK4 2407/707/316 1 5 0 CEDS_C4H10_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_butanes_0.1x0.1_$YYYY.nc ALK4_butanes_tra 1980-2019/1-12/1/0 C xy kg/m2/s ALK4 2411/711 1 5 0 CEDS_C4H10_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_butanes_0.1x0.1_$YYYY.nc ALK4_butanes_rco 1980-2019/1-12/1/0 C xy kg/m2/s ALK4 2409/709 1 5 0 CEDS_C4H10_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_butanes_0.1x0.1_$YYYY.nc ALK4_butanes_slv 1980-2019/1-12/1/0 C xy kg/m2/s ALK4 2407/707 1 5 0 CEDS_C4H10_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_butanes_0.1x0.1_$YYYY.nc ALK4_butanes_wst 1980-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C5H12_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_pentanes_0.1x0.1_$YYYY.nc ALK4_pentanes_agr 1980-2019/1-12/1/0 C xy kg/m2/s ALK4 2401 1 5 0 CEDS_C5H12_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_pentanes_0.1x0.1_$YYYY.nc ALK4_pentanes_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s ALK4 2406/706/315 1 5 0 CEDS_C5H12_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_pentanes_0.1x0.1_$YYYY.nc ALK4_pentanes_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s ALK4 2407/707/316 1 5 0 CEDS_C5H12_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_pentanes_0.1x0.1_$YYYY.nc ALK4_pentanes_tra 1980-2019/1-12/1/0 C xy kg/m2/s ALK4 2411/711 1 5 0 CEDS_C5H12_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_pentanes_0.1x0.1_$YYYY.nc ALK4_pentanes_rco 1980-2019/1-12/1/0 C xy kg/m2/s ALK4 2409/709 1 5 0 CEDS_C5H12_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_pentanes_0.1x0.1_$YYYY.nc ALK4_pentanes_slv 1980-2019/1-12/1/0 C xy kg/m2/s ALK4 2407/707 1 5 0 CEDS_C5H12_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_pentanes_0.1x0.1_$YYYY.nc ALK4_pentanes_wst 1980-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C6H14_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_hexanes_0.1x0.1_$YYYY.nc ALK4_hexanes_agr 1980-2019/1-12/1/0 C xy kg/m2/s ALK6 2401 1 5 0 CEDS_C6H14_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_hexanes_0.1x0.1_$YYYY.nc ALK4_hexanes_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s ALK6 2406/706/315 1 5 0 CEDS_C6H14_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_hexanes_0.1x0.1_$YYYY.nc ALK4_hexanes_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s ALK6 2407/707/316 1 5 0 CEDS_C6H14_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_hexanes_0.1x0.1_$YYYY.nc ALK4_hexanes_tra 1980-2019/1-12/1/0 C xy kg/m2/s ALK6 2411/711 1 5 0 CEDS_C6H14_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_hexanes_0.1x0.1_$YYYY.nc ALK4_hexanes_rco 1980-2019/1-12/1/0 C xy kg/m2/s ALK6 2409/709 1 5 0 CEDS_C6H14_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_hexanes_0.1x0.1_$YYYY.nc ALK4_hexanes_slv 1980-2019/1-12/1/0 C xy kg/m2/s ALK6 2407/707 1 5 0 CEDS_C6H14_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_hexanes_0.1x0.1_$YYYY.nc ALK4_hexanes_wst 1980-2019/1-12/1/0 C xy kg/m2/s ALK6 26 1 5 0 CEDS_C2H4_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H4_0.1x0.1_$YYYY.nc C2H4_agr 1980-2019/1-12/1/0 C xy kg/m2/s C2H4 2401 1 5 0 CEDS_C2H4_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H4_0.1x0.1_$YYYY.nc C2H4_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s C2H4 2406/706/315 1 5 0 CEDS_C2H4_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H4_0.1x0.1_$YYYY.nc C2H4_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s C2H4 2407/707/316 1 5 0 CEDS_C2H4_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H4_0.1x0.1_$YYYY.nc C2H4_tra 1980-2019/1-12/1/0 C xy kg/m2/s C2H4 2411/711 1 5 0 CEDS_C2H4_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H4_0.1x0.1_$YYYY.nc C2H4_rco 1980-2019/1-12/1/0 C xy kg/m2/s C2H4 2409/709 1 5 0 CEDS_C2H4_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H4_0.1x0.1_$YYYY.nc C2H4_slv 1980-2019/1-12/1/0 C xy kg/m2/s C2H4 2407/707 1 5 0 CEDS_C2H4_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H4_0.1x0.1_$YYYY.nc C2H4_wst 1980-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CEDS_PRPE_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_PRPE_0.1x0.1_$YYYY.nc PRPE_agr 1980-2019/1-12/1/0 C xy kg/m2/s PRPE 2401 1 5 0 CEDS_PRPE_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_PRPE_0.1x0.1_$YYYY.nc PRPE_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s PRPE 2406/706/315 1 5 0 CEDS_PRPE_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_PRPE_0.1x0.1_$YYYY.nc PRPE_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s PRPE 2407/707/316 1 5 0 CEDS_PRPE_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_PRPE_0.1x0.1_$YYYY.nc PRPE_tra 1980-2019/1-12/1/0 C xy kg/m2/s PRPE 2411/711 1 5 0 CEDS_PRPE_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_PRPE_0.1x0.1_$YYYY.nc PRPE_rco 1980-2019/1-12/1/0 C xy kg/m2/s PRPE 2409/709 1 5 0 CEDS_PRPE_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_PRPE_0.1x0.1_$YYYY.nc PRPE_slv 1980-2019/1-12/1/0 C xy kg/m2/s PRPE 2407/707 1 5 0 CEDS_PRPE_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_PRPE_0.1x0.1_$YYYY.nc PRPE_wst 1980-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CEDS_C2H2_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H2_0.1x0.1_$YYYY.nc C2H2_agr 1980-2019/1-12/1/0 C xy kg/m2/s C2H2 2401 1 5 0 CEDS_C2H2_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H2_0.1x0.1_$YYYY.nc C2H2_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s C2H2 2406/706/315 1 5 0 CEDS_C2H2_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H2_0.1x0.1_$YYYY.nc C2H2_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s C2H2 2407/707/316 1 5 0 CEDS_C2H2_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H2_0.1x0.1_$YYYY.nc C2H2_tra 1980-2019/1-12/1/0 C xy kg/m2/s C2H2 2411/711 1 5 0 CEDS_C2H2_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H2_0.1x0.1_$YYYY.nc C2H2_rco 1980-2019/1-12/1/0 C xy kg/m2/s C2H2 2409/709 1 5 0 CEDS_C2H2_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H2_0.1x0.1_$YYYY.nc C2H2_slv 1980-2019/1-12/1/0 C xy kg/m2/s C2H2 2407/707 1 5 0 CEDS_C2H2_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H2_0.1x0.1_$YYYY.nc C2H2_wst 1980-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CEDS_BENZ_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_BENZ_0.1x0.1_$YYYY.nc BENZ_agr 1980-2019/1-12/1/0 C xy kg/m2/s BENZ 2401 1 5 0 CEDS_BENZ_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_BENZ_0.1x0.1_$YYYY.nc BENZ_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s BENZ 2406/706/315 1 5 0 CEDS_BENZ_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_BENZ_0.1x0.1_$YYYY.nc BENZ_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s BENZ 2407/707/316 1 5 0 CEDS_BENZ_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_BENZ_0.1x0.1_$YYYY.nc BENZ_tra 1980-2019/1-12/1/0 C xy kg/m2/s BENZ 2411/711 1 5 0 CEDS_BENZ_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_BENZ_0.1x0.1_$YYYY.nc BENZ_rco 1980-2019/1-12/1/0 C xy kg/m2/s BENZ 2409/709 1 5 0 CEDS_BENZ_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_BENZ_0.1x0.1_$YYYY.nc BENZ_slv 1980-2019/1-12/1/0 C xy kg/m2/s BENZ 2407/707 1 5 0 CEDS_BENZ_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_BENZ_0.1x0.1_$YYYY.nc BENZ_wst 1980-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CEDS_TOLU_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_TOLU_0.1x0.1_$YYYY.nc TOLU_agr 1980-2019/1-12/1/0 C xy kg/m2/s TOLU 2401 1 5 0 CEDS_TOLU_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_TOLU_0.1x0.1_$YYYY.nc TOLU_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s TOLU 2406/706/315 1 5 0 CEDS_TOLU_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_TOLU_0.1x0.1_$YYYY.nc TOLU_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s TOLU 2407/707/316 1 5 0 CEDS_TOLU_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_TOLU_0.1x0.1_$YYYY.nc TOLU_tra 1980-2019/1-12/1/0 C xy kg/m2/s TOLU 2411/711 1 5 0 CEDS_TOLU_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_TOLU_0.1x0.1_$YYYY.nc TOLU_rco 1980-2019/1-12/1/0 C xy kg/m2/s TOLU 2409/709 1 5 0 CEDS_TOLU_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_TOLU_0.1x0.1_$YYYY.nc TOLU_slv 1980-2019/1-12/1/0 C xy kg/m2/s TOLU 2407/707 1 5 0 CEDS_TOLU_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_TOLU_0.1x0.1_$YYYY.nc TOLU_wst 1980-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CEDS_XYLE_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_XYLE_0.1x0.1_$YYYY.nc XYLE_agr 1980-2019/1-12/1/0 C xy kg/m2/s XYLE 2401 1 5 0 CEDS_XYLE_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_XYLE_0.1x0.1_$YYYY.nc XYLE_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s XYLE 2406/706/315 1 5 0 CEDS_XYLE_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_XYLE_0.1x0.1_$YYYY.nc XYLE_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s XYLE 2407/707/316 1 5 0 CEDS_XYLE_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_XYLE_0.1x0.1_$YYYY.nc XYLE_tra 1980-2019/1-12/1/0 C xy kg/m2/s XYLE 2411/711 1 5 0 CEDS_XYLE_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_XYLE_0.1x0.1_$YYYY.nc XYLE_rco 1980-2019/1-12/1/0 C xy kg/m2/s XYLE 2409/709 1 5 0 CEDS_XYLE_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_XYLE_0.1x0.1_$YYYY.nc XYLE_slv 1980-2019/1-12/1/0 C xy kg/m2/s XYLE 2407/707 1 5 0 CEDS_XYLE_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_XYLE_0.1x0.1_$YYYY.nc XYLE_wst 1980-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CEDS_CH2O_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_CH2O_0.1x0.1_$YYYY.nc CH2O_agr 1980-2019/1-12/1/0 C xy kg/m2/s CH2O 2401 1 5 0 CEDS_CH2O_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_CH2O_0.1x0.1_$YYYY.nc CH2O_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s CH2O 2406/706/315 1 5 0 CEDS_CH2O_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_CH2O_0.1x0.1_$YYYY.nc CH2O_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s CH2O 2407/707/316 1 5 0 CEDS_CH2O_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_CH2O_0.1x0.1_$YYYY.nc CH2O_tra 1980-2019/1-12/1/0 C xy kg/m2/s CH2O 2411/711 1 5 0 CEDS_CH2O_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_CH2O_0.1x0.1_$YYYY.nc CH2O_rco 1980-2019/1-12/1/0 C xy kg/m2/s CH2O 2409/709 1 5 0 CEDS_CH2O_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_CH2O_0.1x0.1_$YYYY.nc CH2O_slv 1980-2019/1-12/1/0 C xy kg/m2/s CH2O 2407/707 1 5 0 CEDS_CH2O_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_CH2O_0.1x0.1_$YYYY.nc CH2O_wst 1980-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CEDS_ALD2_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALD2_0.1x0.1_$YYYY.nc ALD2_agr 1980-2019/1-12/1/0 C xy kg/m2/s ALD2 2401 1 5 0 CEDS_ALD2_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALD2_0.1x0.1_$YYYY.nc ALD2_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s ALD2 2406/706/315 1 5 0 CEDS_ALD2_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALD2_0.1x0.1_$YYYY.nc ALD2_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s ALD2 2407/707/316 1 5 0 CEDS_ALD2_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALD2_0.1x0.1_$YYYY.nc ALD2_tra 1980-2019/1-12/1/0 C xy kg/m2/s ALD2 2411/711 1 5 0 CEDS_ALD2_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALD2_0.1x0.1_$YYYY.nc ALD2_rco 1980-2019/1-12/1/0 C xy kg/m2/s ALD2 2409/709 1 5 0 CEDS_ALD2_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALD2_0.1x0.1_$YYYY.nc ALD2_slv 1980-2019/1-12/1/0 C xy kg/m2/s ALD2 2407/707 1 5 0 CEDS_ALD2_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALD2_0.1x0.1_$YYYY.nc ALD2_wst 1980-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CEDS_MEK_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_MEK_0.1x0.1_$YYYY.nc MEK_agr 1980-2019/1-12/1/0 C xy kg/m2/s MEK 2401 1 5 0 CEDS_MEK_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_MEK_0.1x0.1_$YYYY.nc MEK_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s MEK 2406/706/315 1 5 0 CEDS_MEK_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_MEK_0.1x0.1_$YYYY.nc MEK_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s MEK 2407/707/316 1 5 0 CEDS_MEK_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_MEK_0.1x0.1_$YYYY.nc MEK_tra 1980-2019/1-12/1/0 C xy kg/m2/s MEK 2411/711 1 5 0 CEDS_MEK_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_MEK_0.1x0.1_$YYYY.nc MEK_rco 1980-2019/1-12/1/0 C xy kg/m2/s MEK 2409/709 1 5 0 CEDS_MEK_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_MEK_0.1x0.1_$YYYY.nc MEK_slv 1980-2019/1-12/1/0 C xy kg/m2/s MEK 2407/707 1 5 0 CEDS_MEK_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_MEK_0.1x0.1_$YYYY.nc MEK_wst 1980-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CEDS_HCOOH_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_HCOOH_0.1x0.1_$YYYY.nc HCOOH_agr 1980-2019/1-12/1/0 C xy kg/m2/s HCOOH 2401 1 5 0 CEDS_HCOOH_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_HCOOH_0.1x0.1_$YYYY.nc HCOOH_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s HCOOH 2406/706/315 1 5 0 CEDS_HCOOH_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_HCOOH_0.1x0.1_$YYYY.nc HCOOH_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s HCOOH 2407/707/316 1 5 0 CEDS_HCOOH_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_HCOOH_0.1x0.1_$YYYY.nc HCOOH_tra 1980-2019/1-12/1/0 C xy kg/m2/s HCOOH 2411/711 1 5 0 CEDS_HCOOH_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_HCOOH_0.1x0.1_$YYYY.nc HCOOH_rco 1980-2019/1-12/1/0 C xy kg/m2/s HCOOH 2409/709 1 5 0 CEDS_HCOOH_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_HCOOH_0.1x0.1_$YYYY.nc HCOOH_slv 1980-2019/1-12/1/0 C xy kg/m2/s HCOOH 2407/707 1 5 0 CEDS_HCOOH_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_HCOOH_0.1x0.1_$YYYY.nc HCOOH_wst 1980-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 # # TMB and OTHER_VOC are absent from the CEDS 0.1 x 0.1 emissions. # Read the previous CEDSv2 data for these instead. # 0 CEDS_TMB_AGR $ROOT/CEDS/v2021-06/$YYYY/TMB-em-anthro_CMIP_CEDS_$YYYY.nc TMB_agr 1980-2019/1-12/1/0 C xy kg/m2/s TMB 2401 1 5 0 CEDS_TMB_ENE $ROOT/CEDS/v2021-06/$YYYY/TMB-em-anthro_CMIP_CEDS_$YYYY.nc TMB_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s TMB 2406/706/315 1 5 0 CEDS_TMB_IND $ROOT/CEDS/v2021-06/$YYYY/TMB-em-anthro_CMIP_CEDS_$YYYY.nc TMB_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s TMB 2407/707/316 1 5 0 CEDS_TMB_TRA $ROOT/CEDS/v2021-06/$YYYY/TMB-em-anthro_CMIP_CEDS_$YYYY.nc TMB_tra 1980-2019/1-12/1/0 C xy kg/m2/s TMB 2411/711 1 5 0 CEDS_TMB_RCO $ROOT/CEDS/v2021-06/$YYYY/TMB-em-anthro_CMIP_CEDS_$YYYY.nc TMB_rco 1980-2019/1-12/1/0 C xy kg/m2/s TMB 2409/709 1 5 0 CEDS_TMB_SLV $ROOT/CEDS/v2021-06/$YYYY/TMB-em-anthro_CMIP_CEDS_$YYYY.nc TMB_slv 1980-2019/1-12/1/0 C xy kg/m2/s TMB 2407/707 1 5 0 CEDS_TMB_WST $ROOT/CEDS/v2021-06/$YYYY/TMB-em-anthro_CMIP_CEDS_$YYYY.nc TMB_wst 1980-2019/1-12/1/0 C xy kg/m2/s TMB 26 1 5 0 CEDS_OTH_AGR $ROOT/CEDS/v2021-06/$YYYY/OTHER_VOC-em-anthro_CMIP_CEDS_$YYYY.nc OTHER_VOC_agr 1980-2019/1-12/1/0 C xy kg/m2/s ALK6 2401 1 5 0 CEDS_OTH_ENE $ROOT/CEDS/v2021-06/$YYYY/OTHER_VOC-em-anthro_CMIP_CEDS_$YYYY.nc OTHER_VOC_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s ALK6 2406/706/315 1 5 0 CEDS_OTH_IND $ROOT/CEDS/v2021-06/$YYYY/OTHER_VOC-em-anthro_CMIP_CEDS_$YYYY.nc OTHER_VOC_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s ALK6 2407/707/316 1 5 0 CEDS_OTH_TRA $ROOT/CEDS/v2021-06/$YYYY/OTHER_VOC-em-anthro_CMIP_CEDS_$YYYY.nc OTHER_VOC_tra 1980-2019/1-12/1/0 C xy kg/m2/s ALK6 2411/711 1 5 0 CEDS_OTH_RCO $ROOT/CEDS/v2021-06/$YYYY/OTHER_VOC-em-anthro_CMIP_CEDS_$YYYY.nc OTHER_VOC_rco 1980-2019/1-12/1/0 C xy kg/m2/s ALK6 2409/709 1 5 0 CEDS_OTH_SLV $ROOT/CEDS/v2021-06/$YYYY/OTHER_VOC-em-anthro_CMIP_CEDS_$YYYY.nc OTHER_VOC_slv 1980-2019/1-12/1/0 C xy kg/m2/s ALK6 2407/707 1 5 0 CEDS_OTH_WST $ROOT/CEDS/v2021-06/$YYYY/OTHER_VOC-em-anthro_CMIP_CEDS_$YYYY.nc OTHER_VOC_wst 1980-2019/1-12/1/0 C xy kg/m2/s ALK6 26 1 5 )))CEDS_01x01 #============================================================================== # --- CMIP6_SFC_LAND_ANTHRO --- # CEDS (historical) or Shared Socioeconomic Pathways (future), consistent with # the CMIP6 simulation experimental design. # # Make sure that the desired $GCAPSCENARIO is set above in SECTION SETTINGS # #============================================================================== (((CMIP6_SFC_LAND_ANTHRO 0 CMIP6_NO_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NO_agr 1750-2100/1-12/1/0 C xy kg/m2/s NO 25 1 5 0 CMIP6_NO_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NO_ene 1750-2100/1-12/1/0 C xy kg/m2/s NO 25 1 5 0 CMIP6_NO_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NO_ind 1750-2100/1-12/1/0 C xy kg/m2/s NO 25 1 5 0 CMIP6_NO_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NO_tra 1750-2100/1-12/1/0 C xy kg/m2/s NO 25 1 5 0 CMIP6_NO_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NO_rco 1750-2100/1-12/1/0 C xy kg/m2/s NO 25 1 5 0 CMIP6_NO_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NO_slv 1750-2100/1-12/1/0 C xy kg/m2/s NO 25 1 5 0 CMIP6_NO_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NO_wst 1750-2100/1-12/1/0 C xy kg/m2/s NO 25 1 5 0 CMIP6_CO_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_agr 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 1 5 0 CMIP6_SOAP_AGR - - - - - - SOAP 26/280 1 5 0 CMIP6_CO_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_ene 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 1 5 0 CMIP6_SOAP_ENE - - - - - - SOAP 26/280 1 5 0 CMIP6_CO_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_ind 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 1 5 0 CMIP6_SOAP_IND - - - - - - SOAP 26/280 1 5 0 CMIP6_CO_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_tra 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 1 5 0 CMIP6_SOAP_TRA - - - - - - SOAP 26/280 1 5 0 CMIP6_CO_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_rco 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 1 5 0 CMIP6_SOAP_RCO - - - - - - SOAP 26/280 1 5 0 CMIP6_CO_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_slv 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 1 5 0 CMIP6_SOAP_SLV - - - - - - SOAP 26/280 1 5 0 CMIP6_CO_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_wst 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 1 5 0 CMIP6_SOAP_WST - - - - - - SOAP 26/280 1 5 0 CMIP6_SO2_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_agr 1750-2100/1-12/1/0 C xy kg/m2/s SO2 - 1 5 0 CMIP6_SO4_AGR - - - - - - SO4 63 1 5 0 CMIP6_pFe_AGR - - - - - - pFe 66 1 5 0 CMIP6_SO2_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_ene 1750-2100/1-12/1/0 C xy kg/m2/s SO2 - 1 5 0 CMIP6_SO4_ENE - - - - - - SO4 63 1 5 0 CMIP6_pFe_ENE - - - - - - pFe 66 1 5 0 CMIP6_SO2_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_ind 1750-2100/1-12/1/0 C xy kg/m2/s SO2 - 1 5 0 CMIP6_SO4_IND - - - - - - SO4 63 1 5 0 CMIP6_pFe_IND - - - - - - pFe 66 1 5 0 CMIP6_SO2_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_tra 1750-2100/1-12/1/0 C xy kg/m2/s SO2 - 1 5 0 CMIP6_SO4_TRA - - - - - - SO4 63 1 5 0 CMIP6_pFe_TRA - - - - - - pFe 66 1 5 0 CMIP6_SO2_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_rco 1750-2100/1-12/1/0 C xy kg/m2/s SO2 - 1 5 0 CMIP6_SO4_RCO - - - - - - SO4 63 1 5 0 CMIP6_pFe_RCO - - - - - - pFe 66 1 5 0 CMIP6_SO2_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_slv 1750-2100/1-12/1/0 C xy kg/m2/s SO2 - 1 5 0 CMIP6_SO4_SLV - - - - - - SO4 63 1 5 0 CMIP6_pFe_SLV - - - - - - pFe 66 1 5 0 CMIP6_SO2_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_wst 1750-2100/1-12/1/0 C xy kg/m2/s SO2 - 1 5 0 CMIP6_SO4_WST - - - - - - SO4 63 1 5 0 CMIP6_pFe_WST - - - - - - pFe 66 1 5 0 CMIP6_NH3_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_agr 1750-2100/1-12/1/0 C xy kg/m2/s NH3 - 1 5 0 CMIP6_NH3_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_ene 1750-2100/1-12/1/0 C xy kg/m2/s NH3 - 1 5 0 CMIP6_NH3_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_ind 1750-2100/1-12/1/0 C xy kg/m2/s NH3 - 1 5 0 CMIP6_NH3_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_tra 1750-2100/1-12/1/0 C xy kg/m2/s NH3 - 1 5 0 CMIP6_NH3_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_rco 1750-2100/1-12/1/0 C xy kg/m2/s NH3 - 1 5 0 CMIP6_NH3_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_slv 1750-2100/1-12/1/0 C xy kg/m2/s NH3 - 1 5 0 CMIP6_NH3_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_wst 1750-2100/1-12/1/0 C xy kg/m2/s NH3 - 1 5 0 CMIP6_BCPI_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_agr 1750-2100/1-12/1/0 C xy kg/m2/s BCPI 70 1 5 0 CMIP6_BCPO_AGR - - - - - - BCPO 71 1 5 0 CMIP6_BCPI_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_ene 1750-2100/1-12/1/0 C xy kg/m2/s BCPI 70 1 5 0 CMIP6_BCPO_ENE - - - - - - BCPO 71 1 5 0 CMIP6_BCPI_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_ind 1750-2100/1-12/1/0 C xy kg/m2/s BCPI 70 1 5 0 CMIP6_BCPO_IND - - - - - - BCPO 71 1 5 0 CMIP6_BCPI_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_tra 1750-2100/1-12/1/0 C xy kg/m2/s BCPI 70 1 5 0 CMIP6_BCPO_TRA - - - - - - BCPO 71 1 5 0 CMIP6_BCPI_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_rco 1750-2100/1-12/1/0 C xy kg/m2/s BCPI 70 1 5 0 CMIP6_BCPO_RCO - - - - - - BCPO 71 1 5 0 CMIP6_BCPI_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_slv 1750-2100/1-12/1/0 C xy kg/m2/s BCPI 70 1 5 0 CMIP6_BCPO_SLV - - - - - - BCPO 71 1 5 0 CMIP6_BCPI_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_wst 1750-2100/1-12/1/0 C xy kg/m2/s BCPI 70 1 5 0 CMIP6_BCPO_WST - - - - - - BCPO 71 1 5 0 CMIP6_OCPI_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_agr 1750-2100/1-12/1/0 C xy kg/m2/s OCPI 72 1 5 0 CMIP6_OCPO_AGR - - - - - - OCPO 73 1 5 0 CMIP6_POG1_AGR - - - - - - POG1 74/76 1 5 0 CMIP6_POG2_AGR - - - - - - POG2 74/77 1 5 0 CMIP6_OCPI_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_ene 1750-2100/1-12/1/0 C xy kg/m2/s OCPI 72 1 5 0 CMIP6_OCPO_ENE - - - - - - OCPO 73 1 5 0 CMIP6_POG1_ENE - - - - - - POG1 74/76 1 5 0 CMIP6_POG2_ENE - - - - - - POG2 74/77 1 5 0 CMIP6_OCPI_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_ind 1750-2100/1-12/1/0 C xy kg/m2/s OCPI 72 1 5 0 CMIP6_OCPO_IND - - - - - - OCPO 73 1 5 0 CMIP6_POG1_IND - - - - - - POG1 74/76 1 5 0 CMIP6_POG2_IND - - - - - - POG2 74/77 1 5 0 CMIP6_OCPI_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_tra 1750-2100/1-12/1/0 C xy kg/m2/s OCPI 72 1 5 0 CMIP6_OCPO_TRA - - - - - - OCPO 73 1 5 0 CMIP6_POG1_TRA - - - - - - POG1 74/76 1 5 0 CMIP6_POG2_TRA - - - - - - POG2 74/77 1 5 0 CMIP6_OCPI_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_rco 1750-2100/1-12/1/0 C xy kg/m2/s OCPI 72 1 5 0 CMIP6_OCPO_RCO - - - - - - OCPO 73 1 5 0 CMIP6_POG1_RCO - - - - - - POG1 74/76 1 5 0 CMIP6_POG2_RCO - - - - - - POG2 74/77 1 5 0 CMIP6_OCPI_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_slv 1750-2100/1-12/1/0 C xy kg/m2/s OCPI 72 1 5 0 CMIP6_OCPO_SLV - - - - - - OCPO 73 1 5 0 CMIP6_POG1_SLV - - - - - - POG1 74/76 1 5 0 CMIP6_POG2_SLV - - - - - - POG2 74/77 1 5 0 CMIP6_OCPI_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_wst 1750-2100/1-12/1/0 C xy kg/m2/s OCPI 72 1 5 0 CMIP6_OCPO_WST - - - - - - OCPO 73 1 5 0 CMIP6_POG1_WST - - - - - - POG1 74/76 1 5 0 CMIP6_POG2_WST - - - - - - POG2 74/77 1 5 # Comment out CO2 for fullchem simulations: CO2 not advected #0 CMIP6_CO2_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO2_agr 1750-2100/1-12/1/0 C xy kg/m2/s CO2 - 1 5 #0 CMIP6_CO2_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO2_ene 1750-2100/1-12/1/0 C xy kg/m2/s CO2 - 1 5 #0 CMIP6_CO2_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO2_ind 1750-2100/1-12/1/0 C xy kg/m2/s CO2 - 1 5 #0 CMIP6_CO2_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO2_tra 1750-2100/1-12/1/0 C xy kg/m2/s CO2 - 1 5 #0 CMIP6_CO2_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO2_rco 1750-2100/1-12/1/0 C xy kg/m2/s CO2 - 1 5 #0 CMIP6_CO2_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO2_slv 1750-2100/1-12/1/0 C xy kg/m2/s CO2 - 1 5 #0 CMIP6_CO2_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO2_wst 1750-2100/1-12/1/0 C xy kg/m2/s CO2 - 1 5 # Comment out CH4 for fullchem simulations: do not use CH4 emissions # CMIP6 CH4 emissions are only available for 1970-2014 #0 CMIP6_CH4_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_agr 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 1 5 #0 CMIP6_CH4_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_ene 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 1 5 #0 CMIP6_CH4_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_ind 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 1 5 #0 CMIP6_CH4_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_tra 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 1 5 #0 CMIP6_CH4_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_rco 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 1 5 #0 CMIP6_CH4_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_slv 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 1 5 #0 CMIP6_CH4_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_wst 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 1 5 # NOTE: EOH files in CMIP6/v2021-01 are actually VOC1 (total alchohols) and are split into MOH, EOH, ROH here 0 CMIP6_MOH_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 EOH_agr 1750-2100/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CMIP6_EOH_AGR - - - - - - EOH 26/91 1 5 0 CMIP6_ROH_AGR - - - - - - ROH 26/92 1 5 0 CMIP6_MOH_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 EOH_ene 1750-2100/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CMIP6_EOH_ENE - - - - - - EOH 26/91 1 5 0 CMIP6_ROH_ENE - - - - - - ROH 26/92 1 5 0 CMIP6_MOH_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 EOH_ind 1750-2100/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CMIP6_EOH_IND - - - - - - EOH 26/91 1 5 0 CMIP6_ROH_IND - - - - - - ROH 26/92 1 5 0 CMIP6_MOH_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 EOH_tra 1750-2100/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CMIP6_EOH_TRA - - - - - - EOH 26/91 1 5 0 CMIP6_ROH_TRA - - - - - - ROH 26/92 1 5 0 CMIP6_MOH_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 EOH_rco 1750-2100/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CMIP6_EOH_RCO - - - - - - EOH 26/91 1 5 0 CMIP6_ROH_RCO - - - - - - ROH 26/92 1 5 0 CMIP6_MOH_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 EOH_slv 1750-2100/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CMIP6_EOH_SLV - - - - - - EOH 26/91 1 5 0 CMIP6_ROH_SLV - - - - - - ROH 26/92 1 5 0 CMIP6_MOH_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 EOH_wst 1750-2100/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CMIP6_EOH_WST - - - - - - EOH 26/91 1 5 0 CMIP6_ROH_WST - - - - - - ROH 26/92 1 5 0 CMIP6_C2H6_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H6_agr 1750-2100/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CMIP6_C2H6_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H6_ene 1750-2100/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CMIP6_C2H6_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H6_ind 1750-2100/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CMIP6_C2H6_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H6_tra 1750-2100/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CMIP6_C2H6_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H6_rco 1750-2100/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CMIP6_C2H6_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H6_slv 1750-2100/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CMIP6_C2H6_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H6_wst 1750-2100/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CMIP6_C3H8_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C3H8_agr 1750-2100/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CMIP6_C3H8_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C3H8_ene 1750-2100/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CMIP6_C3H8_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C3H8_ind 1750-2100/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CMIP6_C3H8_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C3H8_tra 1750-2100/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CMIP6_C3H8_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C3H8_rco 1750-2100/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CMIP6_C3H8_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C3H8_slv 1750-2100/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CMIP6_C3H8_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C3H8_wst 1750-2100/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CMIP6_C4H10_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_butanes_agr 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C4H10_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_butanes_ene 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C4H10_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_butanes_ind 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C4H10_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_butanes_tra 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C4H10_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_butanes_rco 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C4H10_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_butanes_slv 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C4H10_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_butanes_wst 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C5H12_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_pentanes_agr 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C5H12_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_pentanes_ene 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C5H12_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_pentanes_ind 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C5H12_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_pentanes_tra 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C5H12_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_pentanes_rco 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C5H12_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_pentanes_slv 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C5H12_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_pentanes_wst 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C6H14_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_hexanes_agr 1750-2100/1-12/1/0 C xy kg/m2/s ALK6 26 1 5 0 CMIP6_C6H14_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_hexanes_ene 1750-2100/1-12/1/0 C xy kg/m2/s ALK6 26 1 5 0 CMIP6_C6H14_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_hexanes_ind 1750-2100/1-12/1/0 C xy kg/m2/s ALK6 26 1 5 0 CMIP6_C6H14_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_hexanes_tra 1750-2100/1-12/1/0 C xy kg/m2/s ALK6 26 1 5 0 CMIP6_C6H14_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_hexanes_rco 1750-2100/1-12/1/0 C xy kg/m2/s ALK6 26 1 5 0 CMIP6_C6H14_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_hexanes_slv 1750-2100/1-12/1/0 C xy kg/m2/s ALK6 26 1 5 0 CMIP6_C6H14_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_hexanes_wst 1750-2100/1-12/1/0 C xy kg/m2/s ALK6 26 1 5 0 CMIP6_C2H4_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H4_agr 1750-2100/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CMIP6_C2H4_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H4_ene 1750-2100/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CMIP6_C2H4_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H4_ind 1750-2100/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CMIP6_C2H4_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H4_tra 1750-2100/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CMIP6_C2H4_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H4_rco 1750-2100/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CMIP6_C2H4_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H4_slv 1750-2100/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CMIP6_C2H4_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H4_wst 1750-2100/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CMIP6_PRPE_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 PRPE_agr 1750-2100/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CMIP6_PRPE_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 PRPE_ene 1750-2100/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CMIP6_PRPE_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 PRPE_ind 1750-2100/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CMIP6_PRPE_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 PRPE_tra 1750-2100/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CMIP6_PRPE_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 PRPE_rco 1750-2100/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CMIP6_PRPE_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 PRPE_slv 1750-2100/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CMIP6_PRPE_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 PRPE_wst 1750-2100/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CMIP6_C2H2_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H2_agr 1750-2100/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CMIP6_C2H2_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H2_ene 1750-2100/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CMIP6_C2H2_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H2_ind 1750-2100/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CMIP6_C2H2_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H2_tra 1750-2100/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CMIP6_C2H2_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H2_rco 1750-2100/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CMIP6_C2H2_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H2_slv 1750-2100/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CMIP6_C2H2_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H2_wst 1750-2100/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CMIP6_BENZ_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BENZ_agr 1750-2100/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CMIP6_BENZ_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BENZ_ene 1750-2100/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CMIP6_BENZ_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BENZ_ind 1750-2100/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CMIP6_BENZ_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BENZ_tra 1750-2100/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CMIP6_BENZ_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BENZ_rco 1750-2100/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CMIP6_BENZ_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BENZ_slv 1750-2100/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CMIP6_BENZ_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BENZ_wst 1750-2100/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CMIP6_TOLU_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 TOLU_agr 1750-2100/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CMIP6_TOLU_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 TOLU_ene 1750-2100/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CMIP6_TOLU_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 TOLU_ind 1750-2100/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CMIP6_TOLU_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 TOLU_tra 1750-2100/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CMIP6_TOLU_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 TOLU_rco 1750-2100/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CMIP6_TOLU_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 TOLU_slv 1750-2100/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CMIP6_TOLU_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 TOLU_wst 1750-2100/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CMIP6_XYLE_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 XYLE_agr 1750-2100/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CMIP6_XYLE_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 XYLE_ene 1750-2100/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CMIP6_XYLE_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 XYLE_ind 1750-2100/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CMIP6_XYLE_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 XYLE_tra 1750-2100/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CMIP6_XYLE_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 XYLE_rco 1750-2100/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CMIP6_XYLE_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 XYLE_slv 1750-2100/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CMIP6_XYLE_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 XYLE_wst 1750-2100/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CMIP6_CH2O_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH2O_agr 1750-2100/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CMIP6_CH2O_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH2O_ene 1750-2100/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CMIP6_CH2O_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH2O_ind 1750-2100/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CMIP6_CH2O_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH2O_tra 1750-2100/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CMIP6_CH2O_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH2O_rco 1750-2100/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CMIP6_CH2O_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH2O_slv 1750-2100/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CMIP6_CH2O_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH2O_wst 1750-2100/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CMIP6_ALD2_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALD2_agr 1750-2100/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CMIP6_ALD2_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALD2_ene 1750-2100/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CMIP6_ALD2_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALD2_ind 1750-2100/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CMIP6_ALD2_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALD2_tra 1750-2100/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CMIP6_ALD2_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALD2_rco 1750-2100/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CMIP6_ALD2_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALD2_slv 1750-2100/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CMIP6_ALD2_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALD2_wst 1750-2100/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CMIP6_MEK_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MEK_agr 1750-2100/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CMIP6_MEK_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MEK_ene 1750-2100/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CMIP6_MEK_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MEK_ind 1750-2100/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CMIP6_MEK_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MEK_tra 1750-2100/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CMIP6_MEK_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MEK_rco 1750-2100/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CMIP6_MEK_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MEK_slv 1750-2100/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CMIP6_MEK_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MEK_wst 1750-2100/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CMIP6_HCOOH_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 HCOOH_agr 1750-2100/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CMIP6_HCOOH_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 HCOOH_ene 1750-2100/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CMIP6_HCOOH_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 HCOOH_ind 1750-2100/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CMIP6_HCOOH_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 HCOOH_tra 1750-2100/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CMIP6_HCOOH_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 HCOOH_rco 1750-2100/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CMIP6_HCOOH_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 HCOOH_slv 1750-2100/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CMIP6_HCOOH_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 HCOOH_wst 1750-2100/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 )))CMIP6_SFC_LAND_ANTHRO #============================================================================== # CEDS (historical) or Shared Socioeconomic Pathways (future) aircraft # emissions, consistent with the CMIP6 simulation experimental design # # Make sure that the desired $GCAPSCENARIO is set above in SECTION SETTINGS # #============================================================================== (((CMIP6_AIRCRAFT 0 CMIP6_AIR_NO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY_AIR.$GCAPVERTRES.nc4 NO_air 1750-2100/1-12/1/0 C xyz kg/m2/s NO - 20 1 0 CMIP6_AIR_CO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY_AIR.$GCAPVERTRES.nc4 CO_air 1750-2100/1-12/1/0 C xyz kg/m2/s CO - 20 1 0 CMIP6_AIR_SOAP - - - - - - SOAP 280 20 1 0 CMIP6_AIR_SO2 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY_AIR.$GCAPVERTRES.nc4 SO2_air 1750-2100/1-12/1/0 C xyz kg/m2/s SO2 - 20 1 0 CMIP6_AIR_SO4 - - - - - - SO4 63 20 1 0 CMIP6_AIR_pFe - - - - - - pFe 66 20 1 0 CMIP6_AIR_ACET - - - - - - ACET 601 20 1 0 CMIP6_AIR_ALD2 - - - - - - ALD2 602 20 1 0 CMIP6_AIR_ALK4 - - - - - - ALK4 603 20 1 0 CMIP6_AIR_C2H6 - - - - - - C2H6 604 20 1 0 CMIP6_AIR_C3H8 - - - - - - C3H8 605 20 1 0 CMIP6_AIR_CH2O - - - - - - CH2O 606 20 1 0 CMIP6_AIR_PRPE - - - - - - PRPE 607 20 1 0 CMIP6_AIR_MACR - - - - - - MACR 608 20 1 0 CMIP6_AIR_RCHO - - - - - - RCHO 609 20 1 0 CMIP6_AIR_NH3 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY_AIR.$GCAPVERTRES.nc4 NH3_air 1750-2100/1-12/1/0 C xyz kg/m2/s NH3 - 20 1 # Assume all BC/OC is BCPI/OCPI 0 CMIP6_AIR_BCPI $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY_AIR.$GCAPVERTRES.nc4 BC_air 1750-2100/1-12/1/0 C xyz kg/m2/s BCPI - 20 1 0 CMIP6_AIR_OCPI $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY_AIR.$GCAPVERTRES.nc4 OC_air 1750-2100/1-12/1/0 C xyz kg/m2/s OCPI - 20 1 0 CMIP6_AIR_POG1 - - - - - - POG1 74/76 20 1 0 CMIP6_AIR_POG2 - - - - - - POG2 74/77 20 1 )))CMIP6_AIRCRAFT #============================================================================== # --- EDGAR v4.3 --- # # %%% This is an optional inventory. You may select either CEDS, EDGAR, # or HTAPv3 for the global base emissions %%% # # The following emissions are not included in EDGAR and will be added: # * Wiedinmyer et al. (2014) global trash emissions # * CEDS VOC emissions # # Aviation and shipping emissions from EDGAR are not included here. # We also do not include the following sources: # - Soil emissions of NOx (SOL). These emissions are calculated via the # SoilNOx extension. # - Open biomass burning (AWB). These emissions are obtained from # GFED, QFED, FINN, or GFAS. #============================================================================== (((EDGARv43 0 EDGAR_BCPI_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.POW.0.1x0.1.nc emi_bc 1970-2010/1/1/0 C xy kg/m2/s BCPI 1201/70 1 2 0 EDGAR_BCPO_POW - - - - - - BCPO 1201/71 1 2 0 EDGAR_BCPI_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.ENG.0.1x0.1.nc emi_bc 1970-2010/1/1/0 C xy kg/m2/s BCPI 1202/70 1 2 0 EDGAR_BCPO_ENG - - - - - - BCPO 1202/71 1 2 0 EDGAR_BCPI_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.IND.0.1x0.1.nc emi_bc 1970-2010/1/1/0 C xy kg/m2/s BCPI 1203/70 1 2 0 EDGAR_BCPO_IND - - - - - - BCPO 1203/71 1 2 0 EDGAR_BCPI_TRO $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.TRO.0.1x0.1.nc emi_bc 1970-2010/1/1/0 C xy kg/m2/s BCPI 1204/70 1 2 0 EDGAR_BCPO_TRO - - - - - - BCPO 1204/71 1 2 0 EDGAR_BCPI_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.TNG.0.1x0.1.nc emi_bc 1970-2010/1/1/0 C xy kg/m2/s BCPI 1205/70 1 2 0 EDGAR_BCPO_TNG - - - - - - BCPO 1205/71 1 2 0 EDGAR_BCPI_RCO $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.RCO.0.1x0.1.nc emi_bc 1970-2010/1/1/0 C xy kg/m2/s BCPI 1206/70 1 2 0 EDGAR_BCPO_RCO - - - - - - BCPO 1206/71 1 2 0 EDGAR_BCPI_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.PPA.0.1x0.1.nc emi_bc 1970-2010/1/1/0 C xy kg/m2/s BCPI 1207/70 1 2 0 EDGAR_BCPO_PPA - - - - - - BCPO 1207/71 1 2 #0 EDGAR_BCPI_AWB $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.AWB.0.1x0.1.nc emi_bc 1970-2010/1/1/0 C xy kg/m2/s BCPI 1209/70 1 2 #0 EDGAR_BCPO_AWB - - - - - - BCPO 1209/71 1 2 0 EDGAR_BCPI_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.SWD.0.1x0.1.nc emi_bc 1970-2010/1/1/0 C xy kg/m2/s BCPI 1211/70 1 2 0 EDGAR_BCPO_SWD - - - - - - BCPO 1211/71 1 2 0 EDGAR_BCPI_FFF $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.FFF.0.1x0.1.nc emi_bc 1970-2010/1/1/0 C xy kg/m2/s BCPI 1212/70 1 2 0 EDGAR_BCPO_FFF - - - - - - BCPO 1212/71 1 2 0 EDGAR_CO_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.POW.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO 1201/26/52 1 2 0 EDGAR_SOAP_POW - - - - - - SOAP 1201/26/52/280 1 2 0 EDGAR_CO_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.ENG.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO 1202/26/52 1 2 0 EDGAR_SOAP_ENG - - - - - - SOAP 1202/26/52/280 1 2 0 EDGAR_CO_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.IND.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO 1203/26/52 1 2 0 EDGAR_SOAP_IND - - - - - - SOAP 1203/26/52/280 1 2 0 EDGAR_CO_TRO $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.TRO.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO 1204/26/52 1 2 0 EDGAR_SOAP_TRO - - - - - - SOAP 1204/26/52/280 1 2 0 EDGAR_CO_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.TNG.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO 1205/26/52 1 2 0 EDGAR_SOAP_TNG - - - - - - SOAP 1205/26/52/280 1 2 0 EDGAR_CO_RCO $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.RCO.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO 1206/26/52 1 2 0 EDGAR_SOAP_RCO - - - - - - SOAP 1206/26/52/280 1 2 0 EDGAR_CO_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.PPA.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO 1207/26/52 1 2 0 EDGAR_SOAP_PPA - - - - - - SOAP 1207/26/52/280 1 2 #0 EDGAR_CO_AWB $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.AWB.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO 1209/26/52 1 2 #0 EDGAR_SOAP_AWB - - - - - - SOAP 1209/26/52/280 1 2 0 EDGAR_CO_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.SWD.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO 1211/26/52 1 2 0 EDGAR_SOAP_SWD - - - - - - SOAP 1211/26/52/280 1 2 0 EDGAR_CO_FFF $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.FFF.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO 1212/26/52 1 2 0 EDGAR_SOAP_FFF - - - - - - SOAP 1212/26/52/280 1 2 0 EDGAR_NH3_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.POW.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1201 1 2 0 EDGAR_NH3_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.ENG.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1202 1 2 0 EDGAR_NH3_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.IND.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1203 1 2 0 EDGAR_NH3_TRO $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.TRO.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1204 1 2 0 EDGAR_NH3_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.TNG.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1205 1 2 0 EDGAR_NH3_RCO $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.RCO.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1206 1 2 0 EDGAR_NH3_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.PPA.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1207 1 2 0 EDGAR_NH3_AGR $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.AGR.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1208 1 2 #0 EDGAR_NH3_AWB $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.AWB.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1209 1 2 0 EDGAR_NH3_SOL $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.SOL.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1210 1 2 0 EDGAR_NH3_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.SWD.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1211 1 2 0 EDGAR_NO_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.POW.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1201/25/115 1 2 0 EDGAR_NO_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.ENG.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1202/25/115 1 2 0 EDGAR_NO_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.IND.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1203/25/115 1 2 0 EDGAR_NO_TRO $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.TRO.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1204/25/115 1 2 0 EDGAR_NO_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.TNG.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1205/25/115 1 2 0 EDGAR_NO_RCO $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.RCO.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1206/25/115 1 2 0 EDGAR_NO_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.PPA.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1207/25/115 1 2 0 EDGAR_NO_AGR $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.AGR.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1208/25/115 1 2 #0 EDGAR_NO_AWB $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.AWB.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1209/25/115 1 2 #0 EDGAR_NO_SOL $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.SOL.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1210/25/115 1 2 0 EDGAR_NO_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.SWD.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1211/25/115 1 2 0 EDGAR_NO_FFF $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.FFF.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1212/25/115 1 2 0 EDGAR_OCPI_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.POW.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1201/72 1 2 0 EDGAR_OCPO_POW - - - - - - OCPO 1201/73 1 2 0 EDGAR_POG1_POW - - - - - - POG1 1201/74/76 1 2 0 EDGAR_POG2_POW - - - - - - POG2 1201/74/77 1 2 0 EDGAR_OCPI_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.ENG.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1202/72 1 2 0 EDGAR_OCPO_ENG - - - - - - OCPO 1202/73 1 2 0 EDGAR_POG1_ENG - - - - - - POG1 1202/74/76 1 2 0 EDGAR_POG2_ENG - - - - - - POG2 1202/74/77 1 2 0 EDGAR_OCPI_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.IND.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1203/72 1 2 0 EDGAR_OCPO_IND - - - - - - OCPO 1203/73 1 2 0 EDGAR_POG1_IND - - - - - - POG1 1203/74/76 1 2 0 EDGAR_POG2_IND - - - - - - POG2 1203/74/77 1 2 0 EDGAR_OCPI_TRO $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.TRO.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1204/72 1 2 0 EDGAR_OCPO_TRO - - - - - - OCPO 1204/73 1 2 0 EDGAR_POG1_TRO - - - - - - POG1 1204/74/76 1 2 0 EDGAR_POG2_TRO - - - - - - POG2 1204/74/77 1 2 0 EDGAR_OCPI_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.TNG.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1205/72 1 2 0 EDGAR_OCPO_TNG - - - - - - OCPO 1205/73 1 2 0 EDGAR_POG1_TNG - - - - - - POG1 1205/74/76 1 2 0 EDGAR_POG2_TNG - - - - - - POG2 1205/74/77 1 2 0 EDGAR_OCPI_RCO $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.RCO.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1206/72 1 2 0 EDGAR_OCPO_RCO - - - - - - OCPO 1206/73 1 2 0 EDGAR_POG1_RCO - - - - - - POG1 1206/74/76 1 2 0 EDGAR_POG2_RCO - - - - - - POG2 1206/74/77 1 2 #0 EDGAR_OCPI_AWB $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.AWB.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1209/72 1 2 #0 EDGAR_OCPO_AWB - - - - - - OCPO 1209/73 1 2 #0 EDGAR_POG1_AWB - - - - - - POG1 1209/74/76 1 2 #0 EDGAR_POG2_AWB - - - - - - POG2 1209/74/77 1 2 0 EDGAR_OCPI_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.SWD.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1211/72 1 2 0 EDGAR_OCPO_SWD - - - - - - OCPO 1211/73 1 2 0 EDGAR_POG1_SWD - - - - - - POG1 1211/74/76 1 2 0 EDGAR_POG2_SWD - - - - - - POG2 1211/74/77 1 2 0 EDGAR_OCPI_FFF $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.FFF.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1212/72 1 2 0 EDGAR_OCPO_FFF - - - - - - OCPO 1212/73 1 2 0 EDGAR_POG1_FFF - - - - - - POG1 1212/74/76 1 2 0 EDGAR_POG2_FFF - - - - - - POG2 1212/74/77 1 2 0 EDGAR_SO2_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.POW.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1201 1 2 0 EDGAR_SO4_POW - - - - - - SO4 1201/63 1 2 0 EDGAR_pFe_POW - - - - - - pFe 1201/66 1 2 0 EDGAR_SO2_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.ENG.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1202 1 2 0 EDGAR_SO4_ENG - - - - - - SO4 1202/63 1 2 0 EDGAR_pFe_ENG - - - - - - pFe 1202/66 1 2 0 EDGAR_SO2_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.IND.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1203 1 2 0 EDGAR_SO4_IND - - - - - - SO4 1203/63 1 2 0 EDGAR_pFe_IND - - - - - - pFe 1203/66 1 2 0 EDGAR_SO2_TRO $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.TRO.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1204 1 2 0 EDGAR_SO4_TRO - - - - - - SO4 1204/63 1 2 0 EDGAR_pFe_TRO - - - - - - pFe 1204/66 1 2 0 EDGAR_SO2_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.TNG.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1205 1 2 0 EDGAR_SO4_TNG - - - - - - SO4 1205/63 1 2 0 EDGAR_pFe_TNG - - - - - - pFe 1205/66 1 2 0 EDGAR_SO2_RCO $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.RCO.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1206 1 2 0 EDGAR_SO4_RCO - - - - - - SO4 1206/63 1 2 0 EDGAR_pFe_RCO - - - - - - pFe 1206/66 1 2 0 EDGAR_SO2_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.PPA.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1207 1 2 0 EDGAR_SO4_PPA - - - - - - SO4 1207/63 1 2 0 EDGAR_pFe_PPA - - - - - - pFe 1207/66 1 2 #0 EDGAR_SO2_AWB $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.AWB.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1209 1 2 #0 EDGAR_SO4_AWB - - - - - - SO4 1209/63 1 2 #0 EDGAR_pFe_AWB - - - - - - pFe 1209/66 1 2 0 EDGAR_SO2_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.SWD.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1211 1 2 0 EDGAR_SO4_SWD - - - - - - SO4 1211/63 1 2 0 EDGAR_pFe_SWD - - - - - - pFe 1211/66 1 2 0 EDGAR_SO2_FFF $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.FFF.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1212 1 2 0 EDGAR_SO4_FFF - - - - - - SO4 1212/63 1 2 0 EDGAR_pFe_FFF - - - - - - pFe 1212/66 1 2 #============================================================================== # --- NAP ANTHROPOGENIC EMISSIONS: approximate from EDGAR BENZ --- # # NOTE: Although this data comes from EDGAR version 2, we are storing it # in the EDGARv42 data path for convenience. #============================================================================== 0 EDGAR_NAP $ROOT/EDGARv42/v2015-02/VOCv2/EDGAR2_1985_FF_IND.1x1geos.nc BENZ 1985/1/1/0 C xy kgC/m2/s NAP 80/81/82/43 1 2 #============================================================================== # --- Wiedinmyer et al. (2014) global trash emissions to be added to EDGAR --- #============================================================================== 0 TRASH_CO $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc CO 2008/1/1/0 C xy kg/m2/s CO - 1 2 0 TRASH_SOAP - - - - - - SOAP 280 1 2 0 TRASH_NO $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc NO 2008/1/1/0 C xy kg/m2/s NO - 1 2 0 TRASH_SO2 $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc SO2 2008/1/1/0 C xy kg/m2/s SO2 78 1 2 0 TRASH_SO4 - - - - - - SO4 63 1 2 0 TRASH_pFe - - - - - - pFe 78/66 1 2 0 TRASH_BCPI $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc BC 2008/1/1/0 C xy kg/m2/s BCPI 70 1 2 0 TRASH_BCPO - - - - - - BCPO 71 1 2 0 TRASH_OCPI $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc OC 2008/1/1/0 C xy kg/m2/s OCPI 72 1 2 0 TRASH_OCPO - - - - - - OCPO 73 1 2 0 TRASH_POG1 - - - - - - POG1 74/76 1 2 0 TRASH_POG2 - - - - - - POG2 74/77 1 2 0 TRASH_NH3 $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc NH3 2008/1/1/0 C xy kg/m2/s NH3 - 1 2 #============================================================================== # --- CEDS VOC emissions to be added to EDGAR --- #============================================================================== 0 CEDS_MOH_AGR $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_agr 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CEDS_EOH_AGR - - - - - - EOH 26/91 1 5 0 CEDS_ROH_AGR - - - - - - ROH 26/92 1 5 0 CEDS_MOH_ENE $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_ene 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CEDS_EOH_ENE - - - - - - EOH 26/91 1 5 0 CEDS_ROH_ENE - - - - - - ROH 26/92 1 5 0 CEDS_MOH_IND $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_ind 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CEDS_EOH_IND - - - - - - EOH 26/91 1 5 0 CEDS_ROH_IND - - - - - - ROH 26/92 1 5 0 CEDS_MOH_TRA $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_tra 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CEDS_EOH_TRA - - - - - - EOH 26/91 1 5 0 CEDS_ROH_TRA - - - - - - ROH 26/92 1 5 0 CEDS_MOH_RCO $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_rco 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CEDS_EOH_RCO - - - - - - EOH 26/91 1 5 0 CEDS_ROH_RCO - - - - - - ROH 26/92 1 5 0 CEDS_MOH_SLV $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_slv 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CEDS_EOH_SLV - - - - - - EOH 26/91 1 5 0 CEDS_ROH_SLV - - - - - - ROH 26/92 1 5 0 CEDS_MOH_WST $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_wst 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CEDS_EOH_WST - - - - - - EOH 26/91 1 5 0 CEDS_ROH_WST - - - - - - ROH 26/92 1 5 0 CEDS_C2H6_AGR $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_agr 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CEDS_C2H6_ENE $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_ene 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CEDS_C2H6_IND $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_ind 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CEDS_C2H6_TRA $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_tra 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CEDS_C2H6_RCO $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_rco 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CEDS_C2H6_SLV $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_slv 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CEDS_C2H6_WST $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_wst 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CEDS_C3H8_AGR $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_agr 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CEDS_C3H8_ENE $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_ene 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CEDS_C3H8_IND $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_ind 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CEDS_C3H8_TRA $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_tra 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CEDS_C3H8_RCO $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_rco 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CEDS_C3H8_SLV $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_slv 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CEDS_C3H8_WST $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_wst 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CEDS_C4H10_AGR $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_agr 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C4H10_ENE $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_ene 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C4H10_IND $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_ind 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C4H10_TRA $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_tra 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C4H10_RCO $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_rco 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C4H10_SLV $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_slv 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C4H10_WST $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_wst 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C5H12_AGR $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_agr 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C5H12_ENE $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_ene 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C5H12_IND $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_ind 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C5H12_TRA $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_tra 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C5H12_RCO $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_rco 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C5H12_SLV $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_slv 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C5H12_WST $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_wst 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C6H14_AGR $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_agr 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 1 5 0 CEDS_C6H14_ENE $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_ene 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 1 5 0 CEDS_C6H14_IND $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_ind 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 1 5 0 CEDS_C6H14_TRA $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_tra 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 1 5 0 CEDS_C6H14_RCO $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_rco 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 1 5 0 CEDS_C6H14_SLV $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_slv 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 1 5 0 CEDS_C6H14_WST $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_wst 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 1 5 0 CEDS_C2H4_AGR $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_agr 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CEDS_C2H4_ENE $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_ene 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CEDS_C2H4_IND $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_ind 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CEDS_C2H4_TRA $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_tra 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CEDS_C2H4_RCO $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_rco 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CEDS_C2H4_SLV $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_slv 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CEDS_C2H4_WST $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_wst 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CEDS_PRPE_AGR $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_agr 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CEDS_PRPE_ENE $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_ene 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CEDS_PRPE_IND $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_ind 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CEDS_PRPE_TRA $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_tra 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CEDS_PRPE_RCO $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_rco 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CEDS_PRPE_SLV $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_slv 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CEDS_PRPE_WST $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_wst 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CEDS_C2H2_AGR $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_agr 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CEDS_C2H2_ENE $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_ene 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CEDS_C2H2_IND $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_ind 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CEDS_C2H2_TRA $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_tra 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CEDS_C2H2_RCO $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_rco 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CEDS_C2H2_SLV $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_slv 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CEDS_C2H2_WST $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_wst 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CEDS_BENZ_AGR $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_agr 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CEDS_BENZ_ENE $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_ene 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CEDS_BENZ_IND $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_ind 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CEDS_BENZ_TRA $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_tra 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CEDS_BENZ_RCO $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_rco 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CEDS_BENZ_SLV $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_slv 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CEDS_BENZ_WST $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_wst 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CEDS_TOLU_AGR $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_agr 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CEDS_TOLU_ENE $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_ene 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CEDS_TOLU_IND $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_ind 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CEDS_TOLU_TRA $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_tra 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CEDS_TOLU_RCO $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_rco 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CEDS_TOLU_SLV $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_slv 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CEDS_TOLU_WST $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_wst 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CEDS_XYLE_AGR $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_agr 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CEDS_XYLE_ENE $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_ene 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CEDS_XYLE_IND $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_ind 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CEDS_XYLE_TRA $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_tra 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CEDS_XYLE_RCO $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_rco 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CEDS_XYLE_SLV $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_slv 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CEDS_XYLE_WST $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_wst 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CEDS_CH2O_AGR $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_agr 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CEDS_CH2O_ENE $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_ene 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CEDS_CH2O_IND $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_ind 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CEDS_CH2O_TRA $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_tra 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CEDS_CH2O_RCO $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_rco 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CEDS_CH2O_SLV $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_slv 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CEDS_CH2O_WST $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_wst 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CEDS_ALD2_AGR $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_agr 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CEDS_ALD2_ENE $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_ene 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CEDS_ALD2_IND $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_ind 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CEDS_ALD2_TRA $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_tra 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CEDS_ALD2_RCO $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_rco 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CEDS_ALD2_SLV $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_slv 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CEDS_ALD2_WST $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_wst 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CEDS_MEK_AGR $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_agr 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CEDS_MEK_ENE $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_ene 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CEDS_MEK_IND $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_ind 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CEDS_MEK_TRA $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_tra 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CEDS_MEK_RCO $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_rco 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CEDS_MEK_SLV $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_slv 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CEDS_MEK_WST $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_wst 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CEDS_HCOOH_AGR $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_agr 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CEDS_HCOOH_ENE $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_ene 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CEDS_HCOOH_IND $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_ind 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CEDS_HCOOH_TRA $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_tra 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CEDS_HCOOH_RCO $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_rco 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CEDS_HCOOH_SLV $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_slv 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CEDS_HCOOH_WST $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_wst 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 )))EDGARv43 #============================================================================== # --- HTAP v3 --- # # %%% This is an optional inventory. You may select either CEDS, EDGAR, # or HTAPv3 for the global base emissions %%% # # ==> HTAPv3 ship emissions are listed in the ship emissions section below #============================================================================== (((HTAPv3 0 HTAPv3_NO_AGR $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NO_0.1x0.1_$YYYY.nc NO_AGR 2000-2018/1-12/1/0 C xy kg/m2/s NO 25 1 4 0 HTAPv3_NO_ENE $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NO_0.1x0.1_$YYYY.nc NO_ENE 2000-2018/1-12/1/0 C xy kg/m2/s NO 25 1 4 0 HTAPv3_NO_IND $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NO_0.1x0.1_$YYYY.nc NO_IND 2000-2018/1-12/1/0 C xy kg/m2/s NO 25 1 4 0 HTAPv3_NO_TRA $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NO_0.1x0.1_$YYYY.nc NO_TRA 2000-2018/1-12/1/0 C xy kg/m2/s NO 25 1 4 0 HTAPv3_NO_RCO $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NO_0.1x0.1_$YYYY.nc NO_RCO 2000-2018/1-12/1/0 C xy kg/m2/s NO 25 1 4 0 HTAPv3_NO_SLV $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NO_0.1x0.1_$YYYY.nc NO_SLV 2000-2018/1-12/1/0 C xy kg/m2/s NO 25 1 4 0 HTAPv3_NO_WST $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NO_0.1x0.1_$YYYY.nc NO_WST 2000-2018/1-12/1/0 C xy kg/m2/s NO 25 1 4 0 HTAPv3_CO_AGR $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_CO_0.1x0.1_$YYYY.nc CO_AGR 2000-2018/1-12/1/0 C xy kg/m2/s CO 26 1 4 0 HTAPv3_SOAP_AGR - - - - - - SOAP 26/280 1 4 0 HTAPv3_CO_ENE $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_CO_0.1x0.1_$YYYY.nc CO_ENE 2000-2018/1-12/1/0 C xy kg/m2/s CO 26 1 4 0 HTAPv3_SOAP_ENE - - - - - - SOAP 26/280 1 4 0 HTAPv3_CO_IND $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_CO_0.1x0.1_$YYYY.nc CO_IND 2000-2018/1-12/1/0 C xy kg/m2/s CO 26 1 4 0 HTAPv3_SOAP_IND - - - - - - SOAP 26/280 1 4 0 HTAPv3_CO_TRA $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_CO_0.1x0.1_$YYYY.nc CO_TRA 2000-2018/1-12/1/0 C xy kg/m2/s CO 26 1 4 0 HTAPv3_SOAP_TRA - - - - - - SOAP 26/280 1 4 0 HTAPv3_CO_RCO $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_CO_0.1x0.1_$YYYY.nc CO_RCO 2000-2018/1-12/1/0 C xy kg/m2/s CO 26 1 4 0 HTAPv3_SOAP_RCO - - - - - - SOAP 26/280 1 4 0 HTAPv3_CO_SLV $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_CO_0.1x0.1_$YYYY.nc CO_SLV 2000-2018/1-12/1/0 C xy kg/m2/s CO 26 1 4 0 HTAPv3_SOAP_SLV - - - - - - SOAP 26/280 1 4 0 HTAPv3_CO_WST $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_CO_0.1x0.1_$YYYY.nc CO_WST 2000-2018/1-12/1/0 C xy kg/m2/s CO 26 1 4 0 HTAPv3_SOAP_WST - - - - - - SOAP 26/280 1 4 0 HTAPv3_SO2_AGR $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_SO2_0.1x0.1_$YYYY.nc SO2_AGR 2000-2018/1-12/1/0 C xy kg/m2/s SO2 - 1 4 0 HTAPv3_SO4_AGR - - - - - - SO4 63 1 4 0 HTAPv3_pFe_AGR - - - - - - pFe 66 1 4 0 HTAPv3_SO2_ENE $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_SO2_0.1x0.1_$YYYY.nc SO2_ENE 2000-2018/1-12/1/0 C xy kg/m2/s SO2 - 1 4 0 HTAPv3_SO4_ENE - - - - - - SO4 63 1 4 0 HTAPv3_pFe_ENE - - - - - - pFe 66 1 4 0 HTAPv3_SO2_IND $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_SO2_0.1x0.1_$YYYY.nc SO2_IND 2000-2018/1-12/1/0 C xy kg/m2/s SO2 - 1 4 0 HTAPv3_SO4_IND - - - - - - SO4 63 1 4 0 HTAPv3_pFe_IND - - - - - - pFe 66 1 4 0 HTAPv3_SO2_TRA $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_SO2_0.1x0.1_$YYYY.nc SO2_TRA 2000-2018/1-12/1/0 C xy kg/m2/s SO2 - 1 4 0 HTAPv3_SO4_TRA - - - - - - SO4 63 1 4 0 HTAPv3_pFe_TRA - - - - - - pFe 66 1 4 0 HTAPv3_SO2_RCO $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_SO2_0.1x0.1_$YYYY.nc SO2_RCO 2000-2018/1-12/1/0 C xy kg/m2/s SO2 - 1 4 0 HTAPv3_SO4_RCO - - - - - - SO4 63 1 4 0 HTAPv3_pFe_RCO - - - - - - pFe 66 1 4 0 HTAPv3_SO2_SLV $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_SO2_0.1x0.1_$YYYY.nc SO2_SLV 2000-2018/1-12/1/0 C xy kg/m2/s SO2 - 1 4 0 HTAPv3_SO4_SLV - - - - - - SO4 63 1 4 0 HTAPv3_pFe_SLV - - - - - - pFe 66 1 4 0 HTAPv3_SO2_WST $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_SO2_0.1x0.1_$YYYY.nc SO2_WST 2000-2018/1-12/1/0 C xy kg/m2/s SO2 - 1 4 0 HTAPv3_SO4_WST - - - - - - SO4 63 1 4 0 HTAPv3_pFe_WST - - - - - - pFe 66 1 4 0 HTAPv3_NH3_AGR $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NH3_0.1x0.1_$YYYY.nc NH3_AGR 2000-2018/1-12/1/0 C xy kg/m2/s NH3 - 1 4 0 HTAPv3_NH3_ENE $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NH3_0.1x0.1_$YYYY.nc NH3_ENE 2000-2018/1-12/1/0 C xy kg/m2/s NH3 - 1 4 0 HTAPv3_NH3_IND $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NH3_0.1x0.1_$YYYY.nc NH3_IND 2000-2018/1-12/1/0 C xy kg/m2/s NH3 - 1 4 0 HTAPv3_NH3_TRA $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NH3_0.1x0.1_$YYYY.nc NH3_TRA 2000-2018/1-12/1/0 C xy kg/m2/s NH3 - 1 4 0 HTAPv3_NH3_RCO $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NH3_0.1x0.1_$YYYY.nc NH3_RCO 2000-2018/1-12/1/0 C xy kg/m2/s NH3 - 1 4 0 HTAPv3_NH3_SLV $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NH3_0.1x0.1_$YYYY.nc NH3_SLV 2000-2018/1-12/1/0 C xy kg/m2/s NH3 - 1 4 0 HTAPv3_NH3_WST $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NH3_0.1x0.1_$YYYY.nc NH3_WST 2000-2018/1-12/1/0 C xy kg/m2/s NH3 - 1 4 0 HTAPv3_BCPI_AGR $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_BC_0.1x0.1_$YYYY.nc BC_AGR 2000-2018/1-12/1/0 C xy kg/m2/s BCPI 70 1 4 0 HTAPv3_BCPO_AGR - - - - - - BCPO 71 1 4 0 HTAPv3_BCPI_ENE $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_BC_0.1x0.1_$YYYY.nc BC_ENE 2000-2018/1-12/1/0 C xy kg/m2/s BCPI 70 1 4 0 HTAPv3_BCPO_ENE - - - - - - BCPO 71 1 4 0 HTAPv3_BCPI_IND $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_BC_0.1x0.1_$YYYY.nc BC_IND 2000-2018/1-12/1/0 C xy kg/m2/s BCPI 70 1 4 0 HTAPv3_BCPO_IND - - - - - - BCPO 71 1 4 0 HTAPv3_BCPI_TRA $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_BC_0.1x0.1_$YYYY.nc BC_TRA 2000-2018/1-12/1/0 C xy kg/m2/s BCPI 70 1 4 0 HTAPv3_BCPO_TRA - - - - - - BCPO 71 1 4 0 HTAPv3_BCPI_RCO $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_BC_0.1x0.1_$YYYY.nc BC_RCO 2000-2018/1-12/1/0 C xy kg/m2/s BCPI 70 1 4 0 HTAPv3_BCPO_RCO - - - - - - BCPO 71 1 4 0 HTAPv3_BCPI_SLV $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_BC_0.1x0.1_$YYYY.nc BC_SLV 2000-2018/1-12/1/0 C xy kg/m2/s BCPI 70 1 4 0 HTAPv3_BCPO_SLV - - - - - - BCPO 71 1 4 0 HTAPv3_BCPI_WST $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_BC_0.1x0.1_$YYYY.nc BC_WST 2000-2018/1-12/1/0 C xy kg/m2/s BCPI 70 1 4 0 HTAPv3_BCPO_WST - - - - - - BCPO 71 1 4 0 HTAPv3_OCPI_AGR $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_OC_0.1x0.1_$YYYY.nc OC_AGR 2000-2018/1-12/1/0 C xy kg/m2/s OCPI 72 1 4 0 HTAPv3_OCPO_AGR - - - - - - OCPO 73 1 4 0 HTAPv3_POG1_AGR - - - - - - POG1 73/74/76 1 4 0 HTAPv3_POG2_AGR - - - - - - POG2 73/74/77 1 4 0 HTAPv3_OCPI_ENE $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_OC_0.1x0.1_$YYYY.nc OC_ENE 2000-2018/1-12/1/0 C xy kg/m2/s OCPI 72 1 4 0 HTAPv3_OCPO_ENE - - - - - - OCPO 73 1 4 0 HTAPv3_POG1_ENE - - - - - - POG1 73/74/76 1 4 0 HTAPv3_POG2_ENE - - - - - - POG2 73/74/77 1 4 0 HTAPv3_OCPI_IND $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_OC_0.1x0.1_$YYYY.nc OC_IND 2000-2018/1-12/1/0 C xy kg/m2/s OCPI 72 1 4 0 HTAPv3_OCPO_IND - - - - - - OCPO 73 1 4 0 HTAPv3_POG1_IND - - - - - - POG1 73/74/76 1 4 0 HTAPv3_POG2_IND - - - - - - POG2 73/74/77 1 4 0 HTAPv3_OCPI_TRA $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_OC_0.1x0.1_$YYYY.nc OC_TRA 2000-2018/1-12/1/0 C xy kg/m2/s OCPI 72 1 4 0 HTAPv3_OCPO_TRA - - - - - - OCPO 73 1 4 0 HTAPv3_POG1_TRA - - - - - - POG1 73/74/76 1 4 0 HTAPv3_POG2_TRA - - - - - - POG2 73/74/77 1 4 0 HTAPv3_OCPI_RCO $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_OC_0.1x0.1_$YYYY.nc OC_RCO 2000-2018/1-12/1/0 C xy kg/m2/s OCPI 72 1 4 0 HTAPv3_OCPO_RCO - - - - - - OCPO 73 1 4 0 HTAPv3_POG1_RCO - - - - - - POG1 73/74/76 1 4 0 HTAPv3_POG2_RCO - - - - - - POG2 73/74/77 1 4 0 HTAPv3_OCPI_SLV $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_OC_0.1x0.1_$YYYY.nc OC_SLV 2000-2018/1-12/1/0 C xy kg/m2/s OCPI 72 1 4 0 HTAPv3_OCPO_SLV - - - - - - OCPO 73 1 4 0 HTAPv3_POG1_SLV - - - - - - POG1 73/74/76 1 4 0 HTAPv3_POG2_SLV - - - - - - POG2 73/74/77 1 4 0 HTAPv3_OCPI_WST $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_OC_0.1x0.1_$YYYY.nc OC_WST 2000-2018/1-12/1/0 C xy kg/m2/s OCPI 72 1 4 0 HTAPv3_OCPO_WST - - - - - - OCPO 73 1 4 0 HTAPv3_POG1_WST - - - - - - POG1 73/74/76 1 4 0 HTAPv3_POG2_WST - - - - - - POG2 73/74/77 1 4 # # Use CEDSv2 for species that are not in the HTAPv3 inventory # NOTE: EOH files in CEDS/v2021-06 are actually VOC1 (total alchohols) and are split into MOH, EOH, ROH here 0 CEDS_MOH_AGR $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_agr 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 4 0 CEDS_EOH_AGR - - - - - - EOH 26/91 1 4 0 CEDS_ROH_AGR - - - - - - ROH 26/92 1 4 0 CEDS_MOH_ENE $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_ene 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 4 0 CEDS_EOH_ENE - - - - - - EOH 26/91 1 4 0 CEDS_ROH_ENE - - - - - - ROH 26/92 1 4 0 CEDS_MOH_IND $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_ind 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 4 0 CEDS_EOH_IND - - - - - - EOH 26/91 1 4 0 CEDS_ROH_IND - - - - - - ROH 26/92 1 4 0 CEDS_MOH_TRA $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_tra 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 4 0 CEDS_EOH_TRA - - - - - - EOH 26/91 1 4 0 CEDS_ROH_TRA - - - - - - ROH 26/92 1 4 0 CEDS_MOH_RCO $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_rco 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 4 0 CEDS_EOH_RCO - - - - - - EOH 26/91 1 4 0 CEDS_ROH_RCO - - - - - - ROH 26/92 1 4 0 CEDS_MOH_SLV $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_slv 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 4 0 CEDS_EOH_SLV - - - - - - EOH 26/91 1 4 0 CEDS_ROH_SLV - - - - - - ROH 26/92 1 4 0 CEDS_MOH_WST $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_wst 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 4 0 CEDS_EOH_WST - - - - - - EOH 26/91 1 4 0 CEDS_ROH_WST - - - - - - ROH 26/92 1 4 0 CEDS_C2H6_AGR $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_agr 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 4 0 CEDS_C2H6_ENE $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_ene 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 4 0 CEDS_C2H6_IND $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_ind 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 4 0 CEDS_C2H6_TRA $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_tra 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 4 0 CEDS_C2H6_RCO $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_rco 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 4 0 CEDS_C2H6_SLV $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_slv 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 4 0 CEDS_C2H6_WST $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_wst 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 4 0 CEDS_C3H8_AGR $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_agr 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 4 0 CEDS_C3H8_ENE $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_ene 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 4 0 CEDS_C3H8_IND $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_ind 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 4 0 CEDS_C3H8_TRA $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_tra 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 4 0 CEDS_C3H8_RCO $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_rco 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 4 0 CEDS_C3H8_SLV $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_slv 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 4 0 CEDS_C3H8_WST $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_wst 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 4 0 CEDS_C4H10_AGR $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_agr 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C4H10_ENE $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_ene 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C4H10_IND $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_ind 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C4H10_TRA $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_tra 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C4H10_RCO $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_rco 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C4H10_SLV $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_slv 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C4H10_WST $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_wst 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C5H12_AGR $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_agr 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C5H12_ENE $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_ene 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C5H12_IND $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_ind 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C5H12_TRA $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_tra 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C5H12_RCO $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_rco 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C5H12_SLV $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_slv 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C5H12_WST $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_wst 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C6H14_AGR $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_agr 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 1 4 0 CEDS_C6H14_ENE $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_ene 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 1 4 0 CEDS_C6H14_IND $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_ind 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 1 4 0 CEDS_C6H14_TRA $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_tra 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 1 4 0 CEDS_C6H14_RCO $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_rco 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 1 4 0 CEDS_C6H14_SLV $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_slv 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 1 4 0 CEDS_C6H14_WST $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_wst 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 1 4 0 CEDS_C2H4_AGR $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_agr 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 4 0 CEDS_C2H4_ENE $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_ene 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 4 0 CEDS_C2H4_IND $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_ind 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 4 0 CEDS_C2H4_TRA $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_tra 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 4 0 CEDS_C2H4_RCO $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_rco 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 4 0 CEDS_C2H4_SLV $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_slv 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 4 0 CEDS_C2H4_WST $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_wst 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 4 0 CEDS_PRPE_AGR $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_agr 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 4 0 CEDS_PRPE_ENE $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_ene 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 4 0 CEDS_PRPE_IND $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_ind 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 4 0 CEDS_PRPE_TRA $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_tra 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 4 0 CEDS_PRPE_RCO $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_rco 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 4 0 CEDS_PRPE_SLV $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_slv 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 4 0 CEDS_PRPE_WST $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_wst 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 4 0 CEDS_C2H2_AGR $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_agr 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 4 0 CEDS_C2H2_ENE $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_ene 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 4 0 CEDS_C2H2_IND $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_ind 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 4 0 CEDS_C2H2_TRA $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_tra 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 4 0 CEDS_C2H2_RCO $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_rco 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 4 0 CEDS_C2H2_SLV $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_slv 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 4 0 CEDS_C2H2_WST $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_wst 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 4 0 CEDS_BENZ_AGR $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_agr 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 4 0 CEDS_BENZ_ENE $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_ene 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 4 0 CEDS_BENZ_IND $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_ind 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 4 0 CEDS_BENZ_TRA $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_tra 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 4 0 CEDS_BENZ_RCO $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_rco 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 4 0 CEDS_BENZ_SLV $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_slv 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 4 0 CEDS_BENZ_WST $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_wst 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 4 0 CEDS_TOLU_AGR $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_agr 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 4 0 CEDS_TOLU_ENE $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_ene 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 4 0 CEDS_TOLU_IND $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_ind 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 4 0 CEDS_TOLU_TRA $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_tra 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 4 0 CEDS_TOLU_RCO $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_rco 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 4 0 CEDS_TOLU_SLV $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_slv 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 4 0 CEDS_TOLU_WST $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_wst 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 4 0 CEDS_XYLE_AGR $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_agr 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 4 0 CEDS_XYLE_ENE $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_ene 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 4 0 CEDS_XYLE_IND $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_ind 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 4 0 CEDS_XYLE_TRA $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_tra 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 4 0 CEDS_XYLE_RCO $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_rco 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 4 0 CEDS_XYLE_SLV $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_slv 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 4 0 CEDS_XYLE_WST $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_wst 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 4 0 CEDS_CH2O_AGR $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_agr 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 4 0 CEDS_CH2O_ENE $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_ene 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 4 0 CEDS_CH2O_IND $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_ind 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 4 0 CEDS_CH2O_TRA $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_tra 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 4 0 CEDS_CH2O_RCO $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_rco 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 4 0 CEDS_CH2O_SLV $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_slv 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 4 0 CEDS_CH2O_WST $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_wst 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 4 0 CEDS_ALD2_AGR $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_agr 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 4 0 CEDS_ALD2_ENE $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_ene 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 4 0 CEDS_ALD2_IND $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_ind 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 4 0 CEDS_ALD2_TRA $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_tra 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 4 0 CEDS_ALD2_RCO $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_rco 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 4 0 CEDS_ALD2_SLV $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_slv 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 4 0 CEDS_ALD2_WST $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_wst 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 4 0 CEDS_MEK_AGR $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_agr 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 4 0 CEDS_MEK_ENE $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_ene 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 4 0 CEDS_MEK_IND $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_ind 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 4 0 CEDS_MEK_TRA $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_tra 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 4 0 CEDS_MEK_RCO $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_rco 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 4 0 CEDS_MEK_SLV $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_slv 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 4 0 CEDS_MEK_WST $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_wst 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 4 0 CEDS_HCOOH_AGR $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_agr 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 4 0 CEDS_HCOOH_ENE $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_ene 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 4 0 CEDS_HCOOH_IND $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_ind 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 4 0 CEDS_HCOOH_TRA $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_tra 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 4 0 CEDS_HCOOH_RCO $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_rco 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 4 0 CEDS_HCOOH_SLV $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_slv 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 4 0 CEDS_HCOOH_WST $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_wst 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 4 )))HTAPv3 #============================================================================== # --- GEIA NH3 from natural sources --- #============================================================================== (((GEIA_NH3 0 GEIA_NH3_NATU $ROOT/NH3/v2019-08/NH3_geos.2x25.nc NH3_NATU 1990/1-12/1/0 C xy kg/m2/s NH3 - 3 1 )))GEIA_NH3 #============================================================================== # --- NH3 from arctic seabirds --- # Source: Riddick et al., 2012, NERC Environmental Information Data Centre #============================================================================== (((SEABIRD_NH3 0 SEABIRD_NH3 $ROOT/NH3/v2018-04/NH3_Arctic_seabirds.nc NH3_SEABIRDS 1990/1-12/1/0 C xy kg/m2/s NH3 - 30 1 )))SEABIRD_NH3 #============================================================================== # --- POET EOH --- #============================================================================== (((POET_EOH 0 POET_EOH $ROOT/POET/v2017-03/POET_EOH.geos.2x25.nc EOH 1985/1/1/0 C xy kgC/m2/s EOH 26/47 1 1 )))POET_EOH #============================================================================== # --- 2010 Global fossil fuel and biofuel emissions of C2H6 (Tzompa-Sosa et al. (2017) --- # # NOTES: # - These C2H6 emissions are used in place of CEDS #============================================================================== (((TZOMPASOSA_C2H6 0 C2H6_2010_oilgas $ROOT/C2H6_2010/v2019-06/C2H6_global_anth_biof.2010$MM.2x25.nc ANTHR_C2H6 2010/1-12/1/0 C xy kgC/m2/s C2H6 45 1 100 0 C2H6_2010_biofuel $ROOT/C2H6_2010/v2019-06/C2H6_global_anth_biof.2010$MM.2x25.nc BIOFUEL_C2H6 2010/1-12/1/0 C xy kgC/m2/s C2H6 45 1 100 )))TZOMPASOSA_C2H6 #============================================================================== # --- Xiao et al., JGR, 2008 --- # # NOTES: # - Xiao et al. C3H8 emissions are used in place of CEDS # - Priority is set to 10 to overwrite CEDS, but not newer regional inventories (e.g. EPA/NEI) #============================================================================== (((XIAO_C3H8 0 XIAO_C3H8 $ROOT/XIAO/v2014-09/C3H8_C2H6_ngas.geos.1x1.nc C3H8 1985/1/1/0 C xy kgC/m2/s C3H8 6/7/26/22/46 1 10 0 BIOFUEL_C3H8 $ROOT/BIOFUEL/v2019-08/biofuel.geos.2x25.nc BIOFUEL_C3H8 1985/1/1/0 C xy kgC/m2/s C3H8 46 1 10 )))XIAO_C3H8 #============================================================================== # --- Very-short-lived (VSL) bromocarbon emissions (cf. Qing Liang) --- #============================================================================== (((LIANG_BROMOCARB 0 LIANG_CHBR3 $ROOT/BROMINE/v2015-02/Bromocarb_Liang2010.nc CHBr3_emission 2000/1/1/0 C xy kg/m2/s CHBr3 39 1 1 0 LIANG_CH2BR2 $ROOT/BROMINE/v2015-02/Bromocarb_Liang2010.nc CH2Br2_emission 2000/1/1/0 C xy kg/m2/s CH2Br2 - 1 1 )))LIANG_BROMOCARB #============================================================================== # --- Very-short-lived (VSL) iodocarbon emissions (cf. Carlos Ordonez) --- #============================================================================== (((ORDONEZ_IODOCARB 0 ORDONEZ_CH3I $ROOT/IODINE/v2020-02/CH3I_monthly_emissions_Ordonez_2012_COARDS.nc CH3I 2000/1-12/1/0 C xy kg/m2/s CH3I - 1 1 0 ORDONEZ_CH2I2 $ROOT/IODINE/v2020-02/CH2I2_monthly_emissions_Ordonez_2012_COARDS.nc CH2I2 2000/1-12/1/0 C xy kg/m2/s CH2I2 - 1 1 0 ORDONEZ_CH2ICL $ROOT/IODINE/v2020-02/CH2ICl_monthly_emissions_Ordonez_2012_COARDS.nc CH2ICl 2000/1-12/1/0 C xy kg/m2/s CH2ICl - 1 1 0 ORDONEZ_CH2IBR $ROOT/IODINE/v2020-02/CH2IBr_monthly_emissions_Ordonez_2012_COARDS.nc CH2IBr 2000/1-12/1/0 C xy kg/m2/s CH2IBr - 1 1 )))ORDONEZ_IODOCARB #============================================================================== # --- GT_Chlorine --- # # Emission inventory for HCl and particulate Cl from continental sources # # Reference: # Zhang, B., & Liu, P., et al (2022). Global Emissions of Hydrogen Chloride # and Particulate Chloride from Continental Sources. Environmental Science & # Technology, 56(7), 3894-3904. https://doi.org/10.1021/acs.est.1c05634 # # Notes: # - The HCl emission from open biomass burning (HCL_BIO, HCL_AGR) used the same # activity data for GFED4 (1998-2014) and BB4CMIP (1960-2014). If your # emission inventory for open biomass burning has already include HCl # emissions, shut down either of them to avoid the duplicated emission sources # - Emissions of particulate Cl are added as HCl as ISORROPIA will reparition # Cl between particle phase and gas phase. #============================================================================== (((GT_Chlorine 0 HCL_ENE $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc HCl_ene 1960-2014/1-12/1/0 C xy kg/m2/s HCl 26 1/2 1 0 HCL_IND $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc HCl_ind 1960-2014/1-12/1/0 C xy kg/m2/s HCl 26 1/2 1 0 HCL_RES $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc HCl_res 1960-2014/1-12/1/0 C xy kg/m2/s HCl 26 1/2 1 0 HCL_WST $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc HCl_wstop 1960-2014/1-12/1/0 C xy kg/m2/s HCl 26 1/2 1 0 HCL_BIO $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc HCl_bbop 1960-2014/1-12/1/0 C xy kg/m2/s HCl 75 1/2 1 0 HCL_AGR $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc HCl_agri 1960-2014/1-12/1/0 C xy kg/m2/s HCl 75 1/2 1 0 PCL_ENE $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc pCl_ene 1960-2014/1-12/1/0 C xy kg/m2/s HCl 26 1/2 1 0 PCL_IND $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc pCl_ind 1960-2014/1-12/1/0 C xy kg/m2/s HCl 26 1/2 1 0 PCL_RES $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc pCl_res 1960-2014/1-12/1/0 C xy kg/m2/s HCl 26 1/2 1 0 PCL_WST $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc pCl_wstop 1960-2014/1-12/1/0 C xy kg/m2/s HCl 26 1/2 1 0 PCL_BIO $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc pCl_bbop 1960-2014/1-12/1/0 C xy kg/m2/s HCl 75 1/2 1 0 PCL_AGR $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc pCl_agri 1960-2014/1-12/1/0 C xy kg/m2/s HCl 75 1/2 1 )))GT_Chlorine #============================================================================== # --- Ship emissions --- # # ==> CEDS ship emissions are now the default. # ==> If CEDS_SHIP is turned off above then ARCTAS should be used over ICOADS, # CORBETT, and HTAPv3 for SO2 and ICOADS should be used for CO and NO. # ==> Ship NO emissions are used by PARANOx and the extension number must be # adjusted accordingly. If PARANOx is turned off, set the ExtNr back to # zero. #============================================================================== (((SHIP (((HTAPv3_SHIP 0 HTAPv3_CO_SHP $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_CO_0.1x0.1_$YYYY.nc CO_SHP 2000-2018/1-12/1/0 C xy kg/m2/s CO 26 10 4 0 HTAPv3_SOAP_SHP - - - - - - SOAP 26/280 10 4 0 HTAPv3_SO2_SHP $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_SO2_0.1x0.1_$YYYY.nc SO2_SHP 2000-2018/1-12/1/0 C xy kg/m2/s SO2 - 10 4 0 HTAPv3_SO4_SHP - - - - - - SO4 63 10 4 0 HTAPv3_pFe_SHP - - - - - - pFe 66 10 4 0 HTAPv3_NH3_SHP $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NH3_0.1x0.1_$YYYY.nc NH3_SHP 2000-2018/1-12/1/0 C xy kg/m2/s NH3 - 10 4 0 HTAPv3_BCPI_SHP $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_BC_0.1x0.1_$YYYY.nc BC_SHP 2000-2018/1-12/1/0 C xy kg/m2/s BCPI 70 10 4 0 HTAPv3_BCPO_SHP - - - - - - BCPO 71 10 4 0 HTAPv3_OCPI_SHP $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_OC_0.1x0.1_$YYYY.nc OC_SHP 2000-2018/1-12/1/0 C xy kg/m2/s OCPI 72 10 4 0 HTAPv3_OCPO_SHP - - - - - - OCPO 73 10 4 # Use CEDSv2 ship emissions for species not in HTAPv3 0 CEDS_MOH_SHP $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_shp 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 10 4 0 CEDS_EOH_SHP - - - - - - EOH 26/91 10 4 0 CEDS_ROH_SHP - - - - - - ROH 26/92 10 4 0 CEDS_C2H6_SHP $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_shp 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 10 4 0 CEDS_C3H8_SHP $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_shp 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 10 4 0 CEDS_C4H10_SHP $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_shp 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 10 4 0 CEDS_C5H12_SHP $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_shp 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 10 4 0 CEDS_C6H14_SHP $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_shp 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 10 4 0 CEDS_C2H4_SHP $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_shp 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 10 4 0 CEDS_PRPE_SHP $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_shp 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 10 4 0 CEDS_C2H2_SHP $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_shp 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 10 4 0 CEDS_BENZ_SHP $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_shp 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 10 4 0 CEDS_TOLU_SHP $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_shp 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 10 4 0 CEDS_XYLE_SHP $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_shp 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 10 4 0 CEDS_CH2O_SHP $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_shp 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 10 4 0 CEDS_ALD2_SHP $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_shp 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 10 4 0 CEDS_MEK_SHP $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_shp 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 10 4 0 CEDS_HCOOH_SHP $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_shp 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 10 4 0 CEDS_TMB_SHP $ROOT/CEDS/v2021-06/$YYYY/TMB-em-anthro_CMIP_CEDS_$YYYY.nc TMB_shp 1750-2019/1-12/1/0 C xy kg/m2/s TMB 26 10 4 0 CEDS_OTH_SHP $ROOT/CEDS/v2021-06/$YYYY/OTHER_VOC-em-anthro_CMIP_CEDS_$YYYY.nc OTHER_VOC_shp 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 10 4 )))HTAPv3_SHIP (((CEDS_01x01_SHIP 0 CEDS_CO_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_shp 1980-2019/1-12/1/0 C xy kg/m2/s CO 26 10 5 0 CEDS_SOAP_SHP - - - - - - SOAP 26/280 10 5 0 CEDS_SO2_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_SO2_0.1x0.1_$YYYY.nc SO2_shp 1980-2019/1-12/1/0 C xy kg/m2/s SO2 - 10 5 0 CEDS_SO4_SHP - - - - - - SO4 63 10 5 0 CEDS_pFe_SHP - - - - - - pFe 66 10 5 0 CEDS_NH3_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_NH3_0.1x0.1_$YYYY.nc NH3_shp 1980-2019/1-12/1/0 C xy kg/m2/s NH3 - 10 5 0 CEDS_BCPI_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_BC_0.1x0.1_$YYYY.nc BC_shp 1980-2019/1-12/1/0 C xy kg/m2/s BCPI 70 10 5 0 CEDS_BCPO_SHP - - - - - - BCPO 71 10 5 0 CEDS_OCPI_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_OC_0.1x0.1_$YYYY.nc OC_shp 1980-2019/1-12/1/0 C xy kg/m2/s OCPI 72 10 5 0 CEDS_OCPO_SHP - - - - - - OCPO 73 10 5 0 CEDS_MOH_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_EOH_0.1x0.1_$YYYY.nc EOH_shp 1980-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 10 5 0 CEDS_EOH_SHP - - - - - - EOH 26/91 10 5 0 CEDS_ROH_SHP - - - - - - ROH 26/92 10 5 0 CEDS_C2H6_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H6_0.1x0.1_$YYYY.nc C2H6_shp 1980-2019/1-12/1/0 C xy kg/m2/s C2H6 26 10 5 0 CEDS_C3H8_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_C3H8_0.1x0.1_$YYYY.nc C3H8_shp 1980-2019/1-12/1/0 C xy kg/m2/s C3H8 26 10 5 0 CEDS_C4H10_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_butanes_0.1x0.1_$YYYY.nc ALK4_butanes_shp 1980-2019/1-12/1/0 C xy kg/m2/s ALK4 26 10 5 0 CEDS_C5H12_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_pentanes_0.1x0.1_$YYYY.nc ALK4_pentanes_shp 1980-2019/1-12/1/0 C xy kg/m2/s ALK4 26 10 5 0 CEDS_C6H14_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_hexanes_0.1x0.1_$YYYY.nc ALK4_hexanes_shp 1980-2019/1-12/1/0 C xy kg/m2/s ALK6 26 10 5 0 CEDS_C2H4_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H4_0.1x0.1_$YYYY.nc C2H4_shp 1980-2019/1-12/1/0 C xy kg/m2/s C2H4 26 10 5 0 CEDS_PRPE_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_PRPE_0.1x0.1_$YYYY.nc PRPE_shp 1980-2019/1-12/1/0 C xy kg/m2/s PRPE 26 10 5 0 CEDS_C2H2_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H2_0.1x0.1_$YYYY.nc C2H2_shp 1980-2019/1-12/1/0 C xy kg/m2/s C2H2 26 10 5 0 CEDS_BENZ_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_BENZ_0.1x0.1_$YYYY.nc BENZ_shp 1980-2019/1-12/1/0 C xy kg/m2/s BENZ 26 10 5 0 CEDS_TOLU_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_TOLU_0.1x0.1_$YYYY.nc TOLU_shp 1980-2019/1-12/1/0 C xy kg/m2/s TOLU 26 10 5 0 CEDS_XYLE_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_XYLE_0.1x0.1_$YYYY.nc XYLE_shp 1980-2019/1-12/1/0 C xy kg/m2/s XYLE 26 10 5 0 CEDS_CH2O_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_CH2O_0.1x0.1_$YYYY.nc CH2O_shp 1980-2019/1-12/1/0 C xy kg/m2/s CH2O 26 10 5 0 CEDS_ALD2_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALD2_0.1x0.1_$YYYY.nc ALD2_shp 1980-2019/1-12/1/0 C xy kg/m2/s ALD2 26 10 5 0 CEDS_MEK_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_MEK_0.1x0.1_$YYYY.nc MEK_shp 1980-2019/1-12/1/0 C xy kg/m2/s MEK 26 10 5 0 CEDS_HCOOH_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_HCOOH_0.1x0.1_$YYYY.nc HCOOH_shp 1980-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 10 5 # # TMB and OTHER_VOC are absent from the CEDS 0.1 x 0.1 emissions. # Read the previous CEDSv2 data for these instead. # 0 CEDS_TMB_SHP $ROOT/CEDS/v2021-06/$YYYY/TMB-em-anthro_CMIP_CEDS_$YYYY.nc TMB_shp 1980-2019/1-12/1/0 C xy kg/m2/s TMB 26 10 5 0 CEDS_OTH_SHP $ROOT/CEDS/v2021-06/$YYYY/OTHER_VOC-em-anthro_CMIP_CEDS_$YYYY.nc OTHER_VOC_shp 1980-2019/1-12/1/0 C xy kg/m2/s ALK6 26 10 5 )))CEDS_01x01_SHIP #============================================================================== # --- CMIP6_SHIP --- # CEDS (historical) or Shared Socioeconomic Pathways (future), consistent with # the CMIP6 simulation experimental design. # # Make sure that the desired $GCAPSCENARIO is set above in SECTION SETTINGS # #============================================================================== (((CMIP6_SHIP 0 CMIP6_CO_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_shp 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 10 5 0 CMIP6_SOAP_SHP - - - - - - SOAP 26/280 10 5 0 CMIP6_SO2_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_shp 1750-2100/1-12/1/0 C xy kg/m2/s SO2 - 10 5 0 CMIP6_SO4_SHP - - - - - - SO4 63 10 5 0 CMIP6_pFe_SHP - - - - - - pFe 66 10 5 0 CMIP6_NH3_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_shp 1750-2100/1-12/1/0 C xy kg/m2/s NH3 - 10 5 0 CMIP6_BCPI_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_shp 1750-2100/1-12/1/0 C xy kg/m2/s BCPI 70 10 5 0 CMIP6_BCPO_SHP - - - - - - BCPO 71 10 5 0 CMIP6_OCPI_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_shp 1750-2100/1-12/1/0 C xy kg/m2/s OCPI 72 10 5 0 CMIP6_OCPO_SHP - - - - - - OCPO 73 10 5 0 CMIP6_POG1_SHP - - - - - - POG1 74/76 10 5 0 CMIP6_POG2_SHP - - - - - - POG2 74/77 10 5 # NOTE: EOH files in CMIP6/v2021-01 are actually VOC1 (total alchohols) and are split into MOH, EOH, ROH here 0 CMIP6_MOH_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 EOH_shp 1750-2100/1-12/1/0 C xy kg/m2/s MOH 26/90 10 5 0 CMIP6_EOH_SHP - - - - - - EOH 26/91 10 5 0 CMIP6_ROH_SHP - - - - - - ROH 26/92 10 5 0 CMIP6_C2H6_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H6_shp 1750-2100/1-12/1/0 C xy kg/m2/s C2H6 26 10 5 0 CMIP6_C3H8_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C3H8_shp 1750-2100/1-12/1/0 C xy kg/m2/s C3H8 26 10 5 0 CMIP6_C4H10_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_butanes_shp 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 10 5 0 CMIP6_C5H12_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_pentanes_shp 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 10 5 0 CMIP6_C6H14_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_hexanes_shp 1750-2100/1-12/1/0 C xy kg/m2/s ALK6 26 10 5 0 CMIP6_C2H4_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H4_shp 1750-2100/1-12/1/0 C xy kg/m2/s C2H4 26 10 5 0 CMIP6_PRPE_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 PRPE_shp 1750-2100/1-12/1/0 C xy kg/m2/s PRPE 26 10 5 0 CMIP6_C2H2_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H2_shp 1750-2100/1-12/1/0 C xy kg/m2/s C2H2 26 10 5 0 CMIP6_BENZ_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BENZ_shp 1750-2100/1-12/1/0 C xy kg/m2/s BENZ 26 10 5 0 CMIP6_TOLU_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 TOLU_shp 1750-2100/1-12/1/0 C xy kg/m2/s TOLU 26 10 5 0 CMIP6_XYLE_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 XYLE_shp 1750-2100/1-12/1/0 C xy kg/m2/s XYLE 26 10 5 0 CMIP6_CH2O_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH2O_shp 1750-2100/1-12/1/0 C xy kg/m2/s CH2O 26 10 5 0 CMIP6_ALD2_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALD2_shp 1750-2100/1-12/1/0 C xy kg/m2/s ALD2 26 10 5 0 CMIP6_MEK_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MEK_shp 1750-2100/1-12/1/0 C xy kg/m2/s MEK 26 10 5 0 CMIP6_HCOOH_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 HCOOH_shp 1750-2100/1-12/1/0 C xy kg/m2/s HCOOH 26 10 5 )))CMIP6_SHIP #------------------------------------------------------------------------------ # ### IF THE PARANOX EXTENSION IS TURNED ON ### # # Cosine(SZA) will be read from the restart file. Use the PARANOX extension # number (# 102) to specify these quantities and the NEI emissions. # This will make sure everything will be passed to the HEMCO PARANOX extension # rather than sending them into the base emissions. #------------------------------------------------------------------------------ (((ParaNOx (((HTAPv3_SHIP 102 HTAPv3_NO_SHP $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NO_0.1x0.1_$YYYY.nc NO_SHP 2000-2018/1-12/1/0 C xy kg/m2/s NO 25 10 4 )))HTAPv3_SHIP (((CEDS_01x01_SHIP 102 CEDS_NO_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_NO_0.1x0.1_$YYYY.nc NO_shp 1980-2019/1-12/1/0 C xy kg/m2/s NO 25 10 5 )))CEDS_01x01_SHIP )))ParaNOx #------------------------------------------------------------------------------ # ### IF THE PARANOX EXTENSION IS TURNED OFF ### # # Use extension # 0 to specify these emissions. This will put them # into the base emissions rather than sending them through PARANOX. #------------------------------------------------------------------------------ (((.not.ParaNOx (((HTAPv3_SHIP 0 HTAPv3_NO_SHIP $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NO_0.1x0.1_$YYYY.nc NO_SHP 2000-2018/1-12/1/0 C xy kg/m2/s NO 25 10 4 )))HTAPv3_SHIP (((CEDS_01x01_SHIP 0 CEDS_NO_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_NO_0.1x0.1_$YYYY.nc NO_shp 1980-2019/1-12/1/0 C xy kg/m2/s NO 25 10 5 )))CEDS_01x01_SHIP (((CMIP6_SHIP 102 CMIP6_NO_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NO_shp 1750-2100/1-12/1/0 C xy kg/m2/s NO 25 10 5 )))CMIP6_SHIP ))).not.ParaNOx )))SHIP #============================================================================== # --- AEIC 2019 aircraft emissions (daily & monthly mean) --- # # Data files are for 2019, but scale factors from 1990-2019 can be applied # in order to get year-specific emissions. See the notes in the AEIC2019 # scale factor section below for more information. #============================================================================== (((AEIC2019_DAILY 0 AEIC19_DAILY_NO $ROOT/AEIC2019/v2022-03/2019/$MM/AEIC_2019$MM$DD.0.5x0.625.36L.nc NO 2019/1-12/1-31/0 C xyz kg/m2/s NO 241/240 20 1 0 AEIC19_DAILY_NO2 $ROOT/AEIC2019/v2022-03/2019/$MM/AEIC_2019$MM$DD.0.5x0.625.36L.nc NO2 2019/1-12/1-31/0 C xyz kg/m2/s NO2 241/240 20 1 0 AEIC19_DAILY_HONO $ROOT/AEIC2019/v2022-03/2019/$MM/AEIC_2019$MM$DD.0.5x0.625.36L.nc HONO 2019/1-12/1-31/0 C xyz kg/m2/s HNO2 241/240 20 1 0 AEIC19_DAILY_CO $ROOT/AEIC2019/v2022-03/2019/$MM/AEIC_2019$MM$DD.0.5x0.625.36L.nc CO 2019/1-12/1-31/0 C xyz kg/m2/s CO 241 20 1 0 AEIC19_DAILY_SOAP - - - - - - SOAP 241/280 20 1 0 AEIC19_DAILY_SO2 $ROOT/AEIC2019/v2022-03/2019/$MM/AEIC_2019$MM$DD.0.5x0.625.36L.nc FUELBURN 2019/1-12/1-31/0 C xyz kg/m2/s SO2 241/111 20 1 0 AEIC19_DAILY_pFe - - - - - - pFe 241/111/66 20 1 0 AEIC19_DAILY_SO4 - - - - - - SO4 241/112 20 1 0 AEIC19_DAILY_H2O - - - - - - H2O 241/120 20 1 0 AEIC19_DAILY_BCPI $ROOT/AEIC2019/v2022-03/2019/$MM/AEIC_2019$MM$DD.0.5x0.625.36L.nc BC 2019/1-12/1-31/0 C xyz kg/m2/s BCPI 241 20 1 0 AEIC19_DAILY_OCPI $ROOT/AEIC2019/v2022-03/2019/$MM/AEIC_2019$MM$DD.0.5x0.625.36L.nc OC 2019/1-12/1-31/0 C xyz kg/m2/s OCPI 241 20 1 0 AEIC19_DAILY_POG1 - - - - - - POG1 241/74/76 20 1 0 AEIC19_DAILY_POG2 - - - - - - POG2 241/74/77 20 1 0 AEIC19_DAILY_ACET $ROOT/AEIC2019/v2022-03/2019/$MM/AEIC_2019$MM$DD.0.5x0.625.36L.nc HC 2019/1-12/1-31/0 C xyz kg/m2/s ACET 241/114/101 20 1 0 AEIC19_DAILY_ALD2 - - - - - - ALD2 241/114/102 20 1 0 AEIC19_DAILY_ALK4 - - - - - - ALK4 241/114/103 20 1 0 AEIC19_DAILY_C2H6 - - - - - - C2H6 241/114/104 20 1 0 AEIC19_DAILY_C3H8 - - - - - - C3H8 241/114/105 20 1 0 AEIC19_DAILY_CH2O - - - - - - CH2O 241/114/106 20 1 0 AEIC19_DAILY_PRPE - - - - - - PRPE 241/114/107 20 1 0 AEIC19_DAILY_MACR - - - - - - MACR 241/114/108 20 1 0 AEIC19_DAILY_RCHO - - - - - - RCHO 241/114/109 20 1 )))AEIC2019_DAILY (((AEIC2019_MONMEAN 0 AEIC19_MONMEAN_NO $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc NO 2019/1-12/1/0 C xyz kg/m2/s NO 241/240 20 1 0 AEIC19_MONMEAN_NO2 $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc NO2 2019/1-12/1/0 C xyz kg/m2/s NO2 241/240 20 1 0 AEIC19_MONMEAN_HONO $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc HONO 2019/1-12/1/0 C xyz kg/m2/s HNO2 241/240 20 1 0 AEIC19_MONMEAN_CO $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc CO 2019/1-12/1/0 C xyz kg/m2/s CO 241 20 1 0 AEIC19_MONMEAN_SOAP - - - - - - SOAP 241/280 20 1 0 AEIC19_MONMEAN_SO2 $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc FUELBURN 2019/1-12/1/0 C xyz kg/m2/s SO2 241/111 20 1 0 AEIC19_MONMEAN_pFe - - - - - - pFe 241/111/66 20 1 0 AEIC19_MONMEAN_SO4 - - - - - - SO4 241/112 20 1 0 AEIC19_MONMEAN_H2O - - - - - - H2O 241/120 20 1 0 AEIC19_MONMEAN_BCPI $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc BC 2019/1-12/1/0 C xyz kg/m2/s BCPI 241 20 1 0 AEIC19_MONMEAN_OCPI $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc OC 2019/1-12/1/0 C xyz kg/m2/s OCPI 241 20 1 0 AEIC19_MONMEAN_POG1 - - - - - - POG1 241/74/76 20 1 0 AEIC19_MONMEAN_POG2 - - - - - - POG2 241/74/77 20 1 0 AEIC19_MONMEAN_ACET $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc HC 2019/1-12/1/0 C xyz kg/m2/s ACET 241/114/101 20 1 0 AEIC19_MONMEAN_ALD2 - - - - - - ALD2 241/114/102 20 1 0 AEIC19_MONMEAN_ALK4 - - - - - - ALK4 241/114/103 20 1 0 AEIC19_MONMEAN_C2H6 - - - - - - C2H6 241/114/104 20 1 0 AEIC19_MONMEAN_C3H8 - - - - - - C3H8 241/114/105 20 1 0 AEIC19_MONMEAN_CH2O - - - - - - CH2O 241/114/106 20 1 0 AEIC19_MONMEAN_PRPE - - - - - - PRPE 241/114/107 20 1 0 AEIC19_MONMEAN_MACR - - - - - - MACR 241/114/108 20 1 0 AEIC19_MONMEAN_RCHO - - - - - - RCHO 241/114/109 20 1 )))AEIC2019_MONMEAN #============================================================================== # --- Emissions from decaying plants --- #============================================================================== (((DECAYING_PLANTS 0 ALD2_PLANTDECAY $ROOT/ALD2/v2017-03/resp.geos.2x25.nc HET_RESP 1985/1-12/1/0 C xy kgC/m2/s ALD2 85/41 3 1 0 EOH_PLANTDECAY - - - - - - EOH 86/47 3 1 )))DECAYING_PLANTS #============================================================================== # --- RCP future emissions scenarios --- #============================================================================== (((RCP_3PD 0 RCP3PD_CH4 $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_CH4_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CH4 - 1 1 0 RCP3PD_NOx $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_NOx_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s NO - 1 1 0 RCP3PD_CO $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_CO_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CO - 1 1 0 RCP3PD_SOAP - - - - - - SOAP 280 1 1 0 RCP3PD_BCPO $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_BC_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s BCPO - 1 1 0 RCP3PD_OCPO $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_OC_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s OCPO - 1 1 0 RCP3PD_POG1 - - - - - - POG1 74/76 1 1 0 RCP3PD_POG2 - - - - - - POG2 74/77 1 1 0 RCP3PD_SO2 $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_SO2_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s SO2 - 1 1 0 RCP3PD_pFe - - - - - - pFe 66 1 1 0 RCP3PD_NH3 $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_NH3_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s NH3 - 1 1 0 RCP3PD_C2H2 $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_acetylene_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H2 59 1 1 0 RCP3PD_CH2O $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_formaldehyde_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CH2O - 1 1 0 RCP3PD_BENZ $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_benzene_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s BENZ 43 1 1 0 RCP3PD_TOLU $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_toluene_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s TOLU 55 1 1 0 RCP3PD_XYLE $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_xylene_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s XYLE 56 1 1 0 RCP3PD_ALD2 $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_other_aldehydes_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALD2 41 1 1 0 RCP3PD_ALK4__A $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_butanes_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP3PD_ALK4__B $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_pentanes_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP3PD_ALK4__C $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_hexanes_and_higher_alkanes_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP3PD_ACET $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_total_ketones_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ACET 51/40 1 1 0 RCP3PD_MEK - - - - - - MEK 50/48 1 1 0 RCP3PD_C2H6 $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_ethane_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H6 45 1 1 0 RCP3PD_C2H4 $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_ethene_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H4 44 1 1 0 RCP3PD_C3H8 $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_propane_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C3H8 46 1 1 0 RCP3PD_PRPE $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_propene_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s PRPE 49 1 1 0 RCP3PD_HCOOH $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_total_acids_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s HCOOH 57/58 1 1 )))RCP_3PD (((RCP_45 0 RCP45_CH4 $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_CH4_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CH4 - 1 1 0 RCP45_NOx $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_NOx_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s NO - 1 1 0 RCP45_CO $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_CO_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CO - 1 1 0 RCP45_SOAP - - - - - - SOAP 280 1 1 0 RCP45_BCPO $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_BC_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s BCPO - 1 1 0 RCP45_OCPO $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_OC_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s OCPO - 1 1 0 RCP45_POG1 - - - - - - POG1 74/76 1 1 0 RCP45_POG2 - - - - - - POG2 74/77 1 1 0 RCP45_SO2 $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_SO2_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s SO2 - 1 1 0 RCP45_pFe - - - - - - pFe 66 1 1 0 RCP45_NH3 $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_NH3_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s NH3 - 1 1 0 RCP45_C2H2 $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_acetylene_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H2 59 1 1 0 RCP45_CH2O $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_formaldehyde_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CH2O - 1 1 0 RCP45_BENZ $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_benzene_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s BENZ 43 1 1 0 RCP45_TOLU $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_toluene_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s TOLU 55 1 1 0 RCP45_XYLE $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_xylene_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s XYLE 56 1 1 0 RCP45_ALD2 $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_other_aldehydes_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALD2 41 1 1 0 RCP45_ALK4__A $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_butanes_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP45_ALK4__B $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_pentanes_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP45_ALK4__C $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_hexanes_and_higher_alkanes_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP45_ACET $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_total_ketones_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ACET 51/40 1 1 0 RCP45_MEK - - - - - - MEK 50/48 1 1 0 RCP45_C2H6 $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_ethane_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H6 45 1 1 0 RCP45_C2H4 $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_ethene_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H4 44 1 1 0 RCP45_C3H8 $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_propane_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C3H8 46 1 1 0 RCP45_PRPE $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_propene_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s PRPE 49 1 1 0 RCP45_HCOOH $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_total_acids_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s HCOOH 57/58 1 1 )))RCP_45 (((RCP_60 0 RCP60_CH4 $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_CH4_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CH4 - 1 1 0 RCP60_NOx $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_NOx_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s NO - 1 1 0 RCP60_CO $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_CO_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CO - 1 1 0 RCP60_SOAP - - - - - - SOAP 280 1 1 0 RCP60_BCPO $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_BC_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s BCPO - 1 1 0 RCP60_OCPO $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_OC_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s OCPO - 1 1 0 RCP60_POG1 - - - - - - POG1 74/76 1 1 0 RCP60_POG2 - - - - - - POG2 74/77 1 1 0 RCP60_SO2 $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_SO2_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s SO2 - 1 1 0 RCP60_pFe - - - - - - pFe 66 1 1 0 RCP60_NH3 $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_NH3_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s NH3 - 1 1 0 RCP60_C2H2 $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_acetylene_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H2 59 1 1 0 RCP60_CH2O $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_formaldehyde_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CH2O - 1 1 0 RCP60_BENZ $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_benzene_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s BENZ 43 1 1 0 RCP60_TOLU $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_toluene_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s TOLU 55 1 1 0 RCP60_XYLE $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_xylene_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s XYLE 56 1 1 0 RCP60_ALD2 $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_other_aldehydes_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALD2 41 1 1 0 RCP60_ALK4__A $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_butanes_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP60_ALK4__B $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_pentanes_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP60_ALK4__C $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_hexanes_and_higher_alkanes_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP60_ACET $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_total_ketones_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ACET 51/40 1 1 0 RCP60_MEK - - - - - - MEK 50/48 1 1 0 RCP60_C2H6 $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_ethane_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H6 45 1 1 0 RCP60_C2H4 $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_ethene_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H4 44 1 1 0 RCP60_C3H8 $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_propane_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C3H8 46 1 1 0 RCP60_PRPE $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_propene_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s PRPE 49 1 1 0 RCP60_HCOOH $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_total_acids_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s HCOOH 57/58 1 1 )))RCP_60 (((RCP_85 0 RCP85_CH4 $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_CH4_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CH4 - 1 1 0 RCP85_NOx $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_NOx_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s NO - 1 1 0 RCP85_CO $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_CO_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CO - 1 1 0 RCP85_SOAP - - - - - - SOAP 280 1 1 0 RCP85_BCPO $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_BC_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s BCPO - 1 1 0 RCP85_OCPO $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_OC_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s OCPO - 1 1 0 RCP85_POG1 - - - - - - POG1 74/76 1 1 0 RCP85_POG2 - - - - - - POG2 74/77 1 1 0 RCP85_SO2 $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_SO2_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s SO2 - 1 1 0 RCP80_pFe - - - - - - pFe 66 1 1 0 RCP85_NH3 $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_NH3_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s NH3 - 1 1 0 RCP85_C2H2 $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_acetylene_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H2 59 1 1 0 RCP85_CH2O $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_formaldehyde_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CH2O - 1 1 0 RCP85_BENZ $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_benzene_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s BENZ 43 1 1 0 RCP85_TOLU $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_toluene_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s TOLU 55 1 1 0 RCP85_XYLE $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_xylene_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s XYLE 56 1 1 0 RCP85_ALD2 $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_other_aldehydes_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALD2 41 1 1 0 RCP85_ALK4__A $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_butanes_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP85_ALK4__B $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_pentanes_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP85_ALK4__C $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_hexanes_and_higher_alkanes_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP85_ACET $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_total_ketones_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ACET 51/40 1 1 0 RCP85_MEK - - - - - - MEK 50/48 1 1 0 RCP85_C2H6 $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_ethane_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H6 45 1 1 0 RCP85_C2H4 $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_ethene_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H4 44 1 1 0 RCP85_C3H8 $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_propane_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C3H8 46 1 1 0 RCP85_PRPE $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_propene_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s PRPE 49 1 1 0 RCP85_HCOOH $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_total_acids_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s HCOOH 57/58 1 1 )))RCP_85 #============================================================================== # --- QFED2 biomass burning (v2.5r1) --- #============================================================================== (((QFED2 0 QFED_ACET_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_acet.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s ACET 75/311 5 2 0 QFED_ACET_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_acet.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s ACET 75/312 5 2 0 QFED_ALD2_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_ald2.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s ALD2 75/311 5 2 0 QFED_ALD2_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_ald2.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s ALD2 75/312 5 2 0 QFED_ALK4_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_alk4.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s ALK4 75/311 5 2 0 QFED_ALK4_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_alk4.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s ALK4 75/312 5 2 0 QFED_BCPI_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_bc.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s BCPI 70/75/311 5 2 0 QFED_BCPO_PBL - - - - - - BCPO 71/75/311 5 2 0 QFED_BCPI_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_bc.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s BCPI 70/75/312 5 2 0 QFED_BCPO_FT - - - - - - BCPO 71/75/312 5 2 0 QFED_OCPI_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_oc.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s OCPI 72/75/311 5 2 0 QFED_OCPO_PBL - - - - - - OCPO 73/75/311 5 2 0 QFED_POG1_PBL - - - - - - POG1 74/76/75/311 5 2 0 QFED_POG2_PBL - - - - - - POG2 74/77/75/311 5 2 0 QFED_OCPI_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_oc.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s OCPI 72/75/312 5 2 0 QFED_OCPO_FT - - - - - - OCPO 73/75/312 5 2 0 QFED_POG1_FT - - - - - - POG1 74/76/75/312 5 2 0 QFED_POG2_FT - - - - - - POG2 74/77/75/312 5 2 0 QFED_C2H6_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_c2h6.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s C2H6 75/311 5 2 0 QFED_C2H6_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_c2h6.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s C2H6 75/312 5 2 0 QFED_C3H8_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_c3h8.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s C3H8 75/311 5 2 0 QFED_C3H8_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_c3h8.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s C3H8 75/312 5 2 0 QFED_CH2O_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_ch2o.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s CH2O 75/311 5 2 0 QFED_CH2O_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_ch2o.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s CH2O 75/312 5 2 0 QFED_CH4_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_ch4.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s CH4 75/311 5 2 0 QFED_CH4_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_ch4.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s CH4 75/312 5 2 0 QFED_CO_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_co.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s CO 54/75/311 5 2 0 QFED_SOAP_PBL - - - - - - SOAP 54/75/281/311 5 2 0 QFED_CO_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_co.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s CO 54/75/312 5 2 0 QFED_SOAP_FT - - - - - - SOAP 54/75/281/312 5 2 0 QFED_CO2_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_co2.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s CO2 75/311 5 2 0 QFED_CO2_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_co2.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s CO2 75/312 5 2 0 QFED_MEK_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_mek.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s MEK 75/311 5 2 0 QFED_MEK_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_mek.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s MEK 75/312 5 2 0 QFED_NH3_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_nh3.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s NH3 75/311 5 2 0 QFED_NH3_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_nh3.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s NH3 75/312 5 2 0 QFED_NO_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_no.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s NO 75/311 5 2 0 QFED_NO_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_no.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s NO 75/312 5 2 0 QFED_SO2_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_so2.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s SO2 75/311 5 2 0 QFED_pFe_PBL - - - - - - pFe 75/311/66 5 2 0 QFED_SO2_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_so2.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s SO2 75/312 5 2 0 QFED_pFe_FT - - - - - - pF3 75/312/66 5 2 0 QFED_C3H6_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_c3h6.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s PRPE 75/311 5 2 0 QFED_C3H6_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_c3h6.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s PRPE 75/312 5 2 )))QFED2 #============================================================================== # --- GFAS biomass burning --- #============================================================================== (((GFAS 0 GFAS_CO $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc cofire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s CO 75 5 3 0 GFAS_SOAP $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc cofire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s SOAP 75/281 5 3 0 GFAS_CH3OH $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc ch3ohfire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s MOH 75 5 3 0 GFAS_NO $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc noxfire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s NO 75 5 3 0 GFAS_BCPI $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc bcfire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s BCPI 70/75 5 3 0 GFAS_BCPO $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc bcfire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s BCPO 71/75 5 3 0 GFAS_OCPI $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc ocfire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s OCPI 72/75 5 3 0 GFAS_OCPO $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc ocfire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s OCPO 73/75 5 3 0 GFAS_POG1 - - - - - - POG1 74/76/75 5 3 0 GFAS_POG2 - - - - - - POG2 74/77/75 5 3 0 GFAS_CO2 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc co2fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s CO2 75 5 3 0 GFAS_CH4 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc ch4fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s CH4 75 5 3 0 GFAS_SO2 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc so2fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s SO2 75 5 3 0 GFAS_pFe $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc so2fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s pFe 75/66 5 3 0 GFAS_NH3 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc nh3fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s NH3 75 5 3 0 GFAS_ACET $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c3h6ofire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s ACET 75 5 3 0 GFAS_ALD2 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c2h4ofire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s ALD2 75 5 3 0 GFAS_ALK4 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc hialkanesfire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s ALK4 75 5 3 0 GFAS_PRPE1 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc hialkenesfire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s PRPE 75 5 3 0 GFAS_PRPE2 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c3h6fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s PRPE 75 5 3 0 GFAS_C2H6 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c2h6fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s C2H6 75 5 3 0 GFAS_C3H8 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c3h8fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s C3H8 75 5 3 0 GFAS_CH2O $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc ch2ofire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s CH2O 75 5 3 0 GFAS_C2H4 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c2h4fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s C2H4 75 5 3 0 GFAS_ISOP $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c5h8fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s ISOP 75 5 3 0 GFAS_DMS $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c2h6sfire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s DMS 75 5 3 0 GFAS_TOLU $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c7h8fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s TOLU 75 5 3 0 GFAS_BENZ $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c6h6fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s BENZ 75 5 3 0 GFAS_XYLE $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c8h10fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s XYLE 75 5 3 )))GFAS #============================================================================== # --- FINNv2.5 biomass burning --- # Uses dataset derived with combined fire detection from MODIS and VIIRS. # Data downloaded from: https://rda.ucar.edu/datasets/d312009/dataaccess/ # Uses FINN emissions processed for MOZART for multiple species not processed # for general use (not specific to any model) or for GEOS-Chem. # Naming convention of inventory developers preserved for traceability. # Description of development of data available here: # https://gmd.copernicus.org/articles/16/3873/2023/ #============================================================================== (((FINNv25 0 FINNv25_CO $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_CO_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_CO 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s CO 75 5 3 0 FINNv25_SOAP - - - - - - SOAP 75/281 5 3 0 FINNv25_NO $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_NO_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_NO 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s NO 75 5 3 0 FINNv25_NO2 $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_NO2_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_NO2 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s NO2 75 5 3 0 FINNv25_BCPI $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_BC_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_BC 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s BCPI 75/70 5 3 0 FINNv25_BCPO $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_BC_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_BC 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s BCPO 75/71 5 3 0 FINNv25_OCPI $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_OC_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_OC 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s OCPI 75/72 5 3 0 FINNv25_OCPO $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_OC_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_OC 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s OCPO 75/73 5 3 0 FINNv25_SO2 $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_SO2_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_SO2 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s SO2 75 5 3 0 FINNv25_pFe - - - - - - pFe 75/66 5 3 0 FINNv25_NH3 $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_MOZART-NH3_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_MOZART-NH3 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s NH3 75 5 3 0 FINNv25_ACET $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-ACET_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-ACET 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s ACET 75 5 3 0 FINNv25_ALK4 $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-ALK4_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-ALK4 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s ALK4 75 5 3 0 FINNv25_PRPE $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-PRPE_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-PRPE 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s PRPE 75 5 3 0 FINNv25_C2H2 $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-C2H2_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-C2H2 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s C2H2 75 5 3 0 FINNv25_C2H4 $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-C2H4_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-C2H4 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s C2H4 75 5 3 0 FINNv25_C2H6 $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-C2H6_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-C2H6 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s C2H6 75 5 3 0 FINNv25_C3H8 $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-C3H8_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-C3H8 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s C3H8 75 5 3 0 FINNv25_CH2O $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-CH2O_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-CH2O 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s CH2O 75 5 3 0 FINNv25_ISOP $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_MOZART-ISOP_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_MOZART-ISOP 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s ISOP 75 5 3 0 FINNv25_BENZ $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-BENZ_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-BENZ 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s BENZ 75 5 3 0 FINNv25_TOLU $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-TOLU_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-TOLU 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s TOLU 75 5 3 0 FINNv25_XYLE $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-XYLE_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-XYLE 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s XYLE 75 5 3 0 FINNv25_GLYC $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-GLYC_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-GLYC 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s GLYC 75 5 3 0 FINNv25_MGLY $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-MGLY_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-MGLY 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s MGLY 75 5 3 0 FINNv25_HAC $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-HAC_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-HAC 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s HAC 75 5 3 0 FINNv25_MEK $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-MEK_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-MEK 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s MEK 75 5 3 0 FINNv25_HCOOH $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_MOZART-HCOOH_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_MOZART-HCOOH 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s HCOOH 75 5 3 0 FINNv25_HONO $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_MOZART-HONO_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_MOZART-HONO 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s HNO2 75 5 3 0 FINNv25_ALD2 $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_MOZART-CH3CHO_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_MOZART-CH3CHO 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s ALD2 75 5 3 0 FINNv25_EOH $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_MOZART-C2H5OH_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_MOZART-C2H5OH 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s EOH 75 5 3 0 FINNv25_MOH $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_MOZART-CH3OH_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_MOZART-CH3OH 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s MOH 75 5 3 0 FINNv25_ACTA $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_MOZART-CH3COOH_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_MOZART-CH3COOH 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s ACTA 75 5 3 0 FINNv25_MVK $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_MOZART-MVK_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_MOZART-MVK 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s MVK 75 5 3 0 FINNv25_MACR $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_MOZART-MACR_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_MOZART-MACR 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s MACR 75 5 3 )))FINNv25 #============================================================================== # --- BB4MIPs biomass burning --- #============================================================================== (((BB4MIPS # 75 is time-of-day scaling 0 CMIP6_BB_CO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s CO 75 5 3 0 CMIP6_BB_SOAP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s SOAP 75/281 5 3 0 CMIP6_BB_NO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NO_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s NO 75 5 3 0 CMIP6_BB_BCPI $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s BCPI 70/75 5 3 0 CMIP6_BB_BCPO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s BCPO 71/75 5 3 0 CMIP6_BB_OCPI $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s OCPI 72/75 5 3 0 CMIP6_BB_OCPO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s OCPO 73/75 5 3 0 CMIP6_BB_POG1 - - - - - - POG1 74/76/75 5 3 0 CMIP6_BB_POG2 - - - - - - POG2 74/77/75 5 3 0 CMIP6_BB_SO2 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s SO2 75 5 3 0 CMIP6_BB_pFe - - - - - - pFe 75/66 5 3 0 CMIP6_BB_NH3 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s NH3 75 5 3 0 CMIP6_BB_ALD2 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALD2_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s ALD2 75 5 3 0 CMIP6_BB_ALK4 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s ALK4 75 5 3 0 CMIP6_BB_PRPE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 PRPE_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s PRPE 75 5 3 0 CMIP6_BB_C2H6 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H6_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s C2H6 75 5 3 0 CMIP6_BB_C3H8 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C3H8_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s C3H8 75 5 3 0 CMIP6_BB_CH2O $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH2O_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s CH2O 75 5 3 0 CMIP6_BB_C2H4 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H4_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s C2H4 75 5 3 0 CMIP6_BB_ISOP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ISOP_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s ISOP 75 5 3 0 CMIP6_BB_DMS $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 DMS_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s DMS 75 5 3 0 CMIP6_BB_TOLU $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 TOLU_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s TOLU 75 5 3 0 CMIP6_BB_BENZ $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BENZ_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s BENZ 75 5 3 0 CMIP6_BB_XYLE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 XYLE_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s XYLE 75 5 3 0 CMIP6_BB_H2 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 H2_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s H2 75 5 3 0 CMIP6_BB_MTPA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MONOT_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s MTPA 75 5 3 #0 CMIP6_BB_MTPO - - - - - - MTPO 75 5 3 #0 CMIP6_BB_LIMO - - - - - - LIMO 75 5 3 0 CMIP6_BB_EOH $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 EOH_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s EOH 75 5 3 0 CMIP6_BB_MOH $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MOH_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s MOH 75 5 3 0 CMIP6_BB_ACET - - - - - - ACET 79/75 5 3 0 CMIP6_BB_MGLY $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MGLY_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s MGLY 75 5 3 0 CMIP6_BB_ACTA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ACTA_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s ACTA 75 5 3 0 CMIP6_BB_HCN $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 HCN_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s HCN 75 5 3 0 CMIP6_BB_HCOOH $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 HCOOH_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s HCOOH 75 5 3 0 CMIP6_BB_MEK $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MEK_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s MEK 75 5 3 )))BB4MIPS #============================================================================== # --- GFED4 biomass burning emissions climatology # NOTE: # - These emissions were generated for 2010-2019 using the GFED extension # in a 0.5x0.625 HEMCO 3.6.1 standalone simulation. #============================================================================== (((GFED4_CLIMATOLOGY 0 GFED4_CLIM_ACET $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_ACET 2023/1-12/1/0 C xy kg/m2/s ACET - 5 1 0 GFED4_CLIM_ACR $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_ACR 2023/1-12/1/0 C xy kg/m2/s ACR - 5 1 0 GFED4_CLIM_ACTA $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_ACTA 2023/1-12/1/0 C xy kg/m2/s ACTA - 5 1 0 GFED4_CLIM_ALD2 $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_ALD2 2023/1-12/1/0 C xy kg/m2/s ALD2 - 5 1 0 GFED4_CLIM_ALK4 $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_ALK4 2023/1-12/1/0 C xy kg/m2/s ALK4 - 5 1 0 GFED4_CLIM_BCPI $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_BCPI 2023/1-12/1/0 C xy kg/m2/s BCPI - 5 1 0 GFED4_CLIM_BCPO $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_BCPO 2023/1-12/1/0 C xy kg/m2/s BCPO - 5 1 0 GFED4_CLIM_BENZ $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_BENZ 2023/1-12/1/0 C xy kg/m2/s BENZ - 5 1 0 GFED4_CLIM_C2H2 $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_C2H2 2023/1-12/1/0 C xy kg/m2/s C2H2 - 5 1 0 GFED4_CLIM_C2H4 $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_C2H4 2023/1-12/1/0 C xy kg/m2/s C2H4 - 5 1 0 GFED4_CLIM_C2H6 $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_C2H6 2023/1-12/1/0 C xy kg/m2/s C2H6 - 5 1 0 GFED4_CLIM_C3H8 $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_C3H8 2023/1-12/1/0 C xy kg/m2/s C3H8 - 5 1 0 GFED4_CLIM_C4H6 $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_C4H6 2023/1-12/1/0 C xy kg/m2/s C4H6 - 5 1 0 GFED4_CLIM_CH2O $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_CH2O 2023/1-12/1/0 C xy kg/m2/s CH2O - 5 1 0 GFED4_CLIM_CO $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_CO 2023/1-12/1/0 C xy kg/m2/s CO - 5 1 0 GFED4_CLIM_EOH $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_EOH 2023/1-12/1/0 C xy kg/m2/s EOH - 5 1 0 GFED4_CLIM_FURA $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_FURA 2023/1-12/1/0 C xy kg/m2/s FURA - 5 1 0 GFED4_CLIM_GLYX $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_GLYX 2023/1-12/1/0 C xy kg/m2/s GLYX - 5 1 0 GFED4_CLIM_HCOOH $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_HCOOH 2023/1-12/1/0 C xy kg/m2/s HCOOH - 5 1 0 GFED4_CLIM_ISOP $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_ISOP 2023/1-12/1/0 C xy kg/m2/s ISOP - 5 1 0 GFED4_CLIM_MEK $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_MEK 2023/1-12/1/0 C xy kg/m2/s MEK - 5 1 0 GFED4_CLIM_MGLY $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_MGLY 2023/1-12/1/0 C xy kg/m2/s MGLY - 5 1 0 GFED4_CLIM_MOH $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_MOH 2023/1-12/1/0 C xy kg/m2/s MOH - 5 1 0 GFED4_CLIM_MVK $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_MVK 2023/1-12/1/0 C xy kg/m2/s MVK - 5 1 0 GFED4_CLIM_MTPA $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_MTPA 2023/1-12/1/0 C xy kg/m2/s MTPA - 5 1 0 GFED4_CLIM_NAP $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_NAP 2023/1-12/1/0 C xy kg/m2/s NAP - 5 1 0 GFED4_CLIM_NH3 $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_NH3 2023/1-12/1/0 C xy kg/m2/s NH3 - 5 1 0 GFED4_CLIM_NO $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_NO 2023/1-12/1/0 C xy kg/m2/s NO - 5 1 0 GFED4_CLIM_OCPI $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_OCPI 2023/1-12/1/0 C xy kg/m2/s OCPI - 5 1 0 GFED4_CLIM_OCPO $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_OCPO 2023/1-12/1/0 C xy kg/m2/s OCPO - 5 1 0 GFED4_CLIM_PHEN $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_PHEN 2023/1-12/1/0 C xy kg/m2/s PHEN - 5 1 0 GFED4_CLIM_POG1 $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_POG1 2023/1-12/1/0 C xy kg/m2/s POG1 - 5 1 0 GFED4_CLIM_POG2 $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_POG2 2023/1-12/1/0 C xy kg/m2/s POG2 - 5 1 0 GFED4_CLIM_PRPE $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_PRPE 2023/1-12/1/0 C xy kg/m2/s PRPE - 5 1 0 GFED4_CLIM_RCHO $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_RCHO 2023/1-12/1/0 C xy kg/m2/s RCHO - 5 1 0 GFED4_CLIM_SO2 $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_SO2 2023/1-12/1/0 C xy kg/m2/s SO2 - 5 1 0 GFED4_CLIM_SOAP $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_SOAP 2023/1-12/1/0 C xy kg/m2/s SOAP - 5 1 0 GFED4_CLIM_STYR $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_STYR 2023/1-12/1/0 C xy kg/m2/s STRY - 5 1 0 GFED4_CLIM_TOLU $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_TOLU 2023/1-12/1/0 C xy kg/m2/s TOLU - 5 1 0 GFED4_CLIM_XYLE $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_XYLE 2023/1-12/1/0 C xy kg/m2/s XYLE - 5 1 )))GFED4_CLIMATOLOGY #============================================================================== # --- Anthropogenic Fugitive, Combustion and Industrial Dust --- # (Philip et al., 2017, ERL) #============================================================================== (((AFCID 0 PM25FINE_1_bin1 $ROOT/AFCID/v2018-04/PM25FINE_ECLIPSE_2015.geos.2x25.nc PM25FINE 2015/1-12/1/0 C xy kg/m2/s DSTbin1 630/631 1 1 0 PM25FINE_1_bin2 $ROOT/AFCID/v2018-04/PM25FINE_ECLIPSE_2015.geos.2x25.nc PM25FINE 2015/1-12/1/0 C xy kg/m2/s DSTbin2 630/632 1 1 0 PM25FINE_1_bin3 $ROOT/AFCID/v2018-04/PM25FINE_ECLIPSE_2015.geos.2x25.nc PM25FINE 2015/1-12/1/0 C xy kg/m2/s DSTbin3 630/633 1 1 0 PM25FINE_1_bin4 $ROOT/AFCID/v2018-04/PM25FINE_ECLIPSE_2015.geos.2x25.nc PM25FINE 2015/1-12/1/0 C xy kg/m2/s DSTbin4 630/634 1 1 0 PM25FINE_2_bin1 $ROOT/AFCID/v2018-04/PM25FINE_MEIC_2012.generic.025x025.nc PM25FINE 2012/1-12/1/0 C xy kg/m2/s DSTbin1 630/631/1009 1 2 0 PM25FINE_2_bin2 $ROOT/AFCID/v2018-04/PM25FINE_MEIC_2012.generic.025x025.nc PM25FINE 2012/1-12/1/0 C xy kg/m2/s DSTbin2 630/632/1009 1 2 0 PM25FINE_2_bin3 $ROOT/AFCID/v2018-04/PM25FINE_MEIC_2012.generic.025x025.nc PM25FINE 2012/1-12/1/0 C xy kg/m2/s DSTbin3 630/633/1009 1 2 0 PM25FINE_2_bin4 $ROOT/AFCID/v2018-04/PM25FINE_MEIC_2012.generic.025x025.nc PM25FINE 2012/1-12/1/0 C xy kg/m2/s DSTbin4 630/634/1009 1 2 0 PM25FINE_3_bin1 $ROOT/AFCID/v2018-04/PM25FINE_IITB_2013.generic.025x025.nc PM25FINE 2013/1-12/1/0 C xy kg/m2/s DSTbin1 630/631/1010 1 3 0 PM25FINE_3_bin2 $ROOT/AFCID/v2018-04/PM25FINE_IITB_2013.generic.025x025.nc PM25FINE 2013/1-12/1/0 C xy kg/m2/s DSTbin2 630/632/1010 1 3 0 PM25FINE_3_bin3 $ROOT/AFCID/v2018-04/PM25FINE_IITB_2013.generic.025x025.nc PM25FINE 2013/1-12/1/0 C xy kg/m2/s DSTbin3 630/633/1010 1 3 0 PM25FINE_3_bin4 $ROOT/AFCID/v2018-04/PM25FINE_IITB_2013.generic.025x025.nc PM25FINE 2013/1-12/1/0 C xy kg/m2/s DSTbin4 630/634/1010 1 3 )))AFCID #============================================================================== # --- Offline dust emissions --- #============================================================================== (((OFFLINE_DUST (((.not.DustL23M 0 EMIS_DSTbin1 $ROOT/OFFLINE_DUST/v2025-03/${RUNDIR_OFFLINE_EMIS_RES}/${RUNDIR_MET}/$YYYY/$MM/dust_emissions_${RUNDIR_OFFLINE_EMIS_LAT_RES}.${RUNDIR_MET}.$YYYY$MM$DD.nc EMIS 1980-2022/1-12/1-31/* EFY xy kg/m2/s DSTbin1 621 3 2 0 EMIS_DSTbin2 $ROOT/OFFLINE_DUST/v2025-03/${RUNDIR_OFFLINE_EMIS_RES}/${RUNDIR_MET}/$YYYY/$MM/dust_emissions_${RUNDIR_OFFLINE_EMIS_LAT_RES}.${RUNDIR_MET}.$YYYY$MM$DD.nc EMIS 1980-2022/1-12/1-31/* EFY xy kg/m2/s DSTbin2 622 3 2 0 EMIS_DSTbin3 $ROOT/OFFLINE_DUST/v2025-03/${RUNDIR_OFFLINE_EMIS_RES}/${RUNDIR_MET}/$YYYY/$MM/dust_emissions_${RUNDIR_OFFLINE_EMIS_LAT_RES}.${RUNDIR_MET}.$YYYY$MM$DD.nc EMIS 1980-2022/1-12/1-31/* EFY xy kg/m2/s DSTbin3 623 3 2 0 EMIS_DSTbin4 $ROOT/OFFLINE_DUST/v2025-03/${RUNDIR_OFFLINE_EMIS_RES}/${RUNDIR_MET}/$YYYY/$MM/dust_emissions_${RUNDIR_OFFLINE_EMIS_LAT_RES}.${RUNDIR_MET}.$YYYY$MM$DD.nc EMIS 1980-2022/1-12/1-31/* EFY xy kg/m2/s DSTbin4 624 3 2 0 EMIS_DSTbin5 $ROOT/OFFLINE_DUST/v2025-03/${RUNDIR_OFFLINE_EMIS_RES}/${RUNDIR_MET}/$YYYY/$MM/dust_emissions_${RUNDIR_OFFLINE_EMIS_LAT_RES}.${RUNDIR_MET}.$YYYY$MM$DD.nc EMIS 1980-2022/1-12/1-31/* EFY xy kg/m2/s DSTbin5 625 3 2 0 EMIS_DSTbin6 $ROOT/OFFLINE_DUST/v2025-03/${RUNDIR_OFFLINE_EMIS_RES}/${RUNDIR_MET}/$YYYY/$MM/dust_emissions_${RUNDIR_OFFLINE_EMIS_LAT_RES}.${RUNDIR_MET}.$YYYY$MM$DD.nc EMIS 1980-2022/1-12/1-31/* EFY xy kg/m2/s DSTbin6 626 3 2 0 EMIS_DSTbin7 $ROOT/OFFLINE_DUST/v2025-03/${RUNDIR_OFFLINE_EMIS_RES}/${RUNDIR_MET}/$YYYY/$MM/dust_emissions_${RUNDIR_OFFLINE_EMIS_LAT_RES}.${RUNDIR_MET}.$YYYY$MM$DD.nc EMIS 1980-2022/1-12/1-31/* EFY xy kg/m2/s DSTbin7 627 3 2 ))).not.DustL23M )))OFFLINE_DUST #============================================================================== # --- Offline biogenic VOC emissions --- #============================================================================== (((OFFLINE_BIOGENICVOC 0 BIOGENIC_ACET $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.$YYYY$MM$DD.nc ACET_MEGAN 1980-2022/1-12/1-31/* EFY xy kg/m2/s ACET - 4 2 0 BIOGENIC_ALD2 $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.$YYYY$MM$DD.nc ALD2_MEGAN 1980-2022/1-12/1-31/* EFY xy kg/m2/s ALD2 - 4 2 0 BIOGENIC_C2H4 $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.$YYYY$MM$DD.nc C2H4_MEGAN 1980-2022/1-12/1-31/* EFY xy kg/m2/s C2H4 - 4 2 0 BIOGENIC_EOH $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.$YYYY$MM$DD.nc EOH_MEGAN 1980-2022/1-12/1-31/* EFY xy kg/m2/s EOH - 4 2 0 BIOGENIC_ISOP $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.$YYYY$MM$DD.nc ISOP_MEGAN 1980-2022/1-12/1-31/* EFY xy kg/m2/s ISOP - 4 2 0 BIOGENIC_ISOP_SOAP - - - - - - SOAP 610 4 2 0 BIOGENIC_ISOP_SOAS - - - - - - SOAS 610 4 2 0 BIOGENIC_LIMO $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.$YYYY$MM$DD.nc LIMO_MEGAN 1980-2022/1-12/1-31/* EFY xy kg/m2/s LIMO - 4 2 0 BIOGENIC_LIMO_SOAP - - - - - - SOAP 611 4 2 0 BIOGENIC_LIMO_SOAS - - - - - - SOAS 611 4 2 0 BIOGENIC_MOH $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.$YYYY$MM$DD.nc MOH_MEGAN 1980-2022/1-12/1-31/* EFY xy kg/m2/s MOH - 4 2 0 BIOGENIC_MTPA $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.$YYYY$MM$DD.nc MTPA_MEGAN 1980-2022/1-12/1-31/* EFY xy kg/m2/s MTPA - 4 2 0 BIOGENIC_MTPA_SOAP - - - - - - SOAP 611 4 2 0 BIOGENIC_MTPA_SOAS - - - - - - SOAS 611 4 2 0 BIOGENIC_MTPO $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.$YYYY$MM$DD.nc MTPO_MEGAN 1980-2022/1-12/1-31/* EFY xy kg/m2/s MTPO - 4 2 0 BIOGENIC_MTPO_SOAP - - - - - - SOAP 611 4 2 0 BIOGENIC_MTPO_SOAS - - - - - - SOAS 611 4 2 0 BIOGENIC_PRPE $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.$YYYY$MM$DD.nc PRPE_MEGAN 1980-2022/1-12/1-31/* EFY xy kg/m2/s PRPE - 4 2 0 BIOGENIC_SESQ $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.$YYYY$MM$DD.nc SESQ_MEGAN 1980-2022/1-12/1-31/* EFY xy kg/m2/s SESQ - 4 2 0 BIOGENIC_SESQ_SOAP - - - - - - SOAP 612 4 2 0 BIOGENIC_SESQ_SOAS - - - - - - SOAS 612 4 2 )))OFFLINE_BIOGENICVOC #============================================================================== # --- Offline sea salt emissions --- #============================================================================== (((OFFLINE_SEASALT (((.not.SeaSalt 0 SEASALT_SALA $ROOT/OFFLINE_SEASALT/${RUNDIR_OFFLINE_SEASALT_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/seasalt_${RUNDIR_OFFLINE_EMIS_LAT_RES}.$YYYY$MM$DD.nc SALA_TOTAL 1980-2022/1-12/1-31/* EFY xy kg/m2/s SALA - 3 2 0 SEASALT_SALAAL - - - - - - SALAAL 615 3 2 0 SEASALT_SALACL - - - - - - SALACL 616 3 2 (((CalcBrSeasalt 0 SEASALT_BrSALA - - - - - - BrSALA 617 3 2 )))CalcBrSeasalt 0 SEASALT_SALC $ROOT/OFFLINE_SEASALT/${RUNDIR_OFFLINE_SEASALT_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/seasalt_${RUNDIR_OFFLINE_EMIS_LAT_RES}.$YYYY$MM$DD.nc SALC_TOTAL 1980-2022/1-12/1-31/* EFY xy kg/m2/s SALC - 3 2 0 SEASALT_SALCAL - - - - - - SALCAL 615 3 2 0 SEASALT_SALCCL - - - - - - SALCCL 616 3 2 (((CalcBrSeasalt 0 SEASALT_BrSALC - - - - - - BrSALC 617 3 2 )))CalcBrSeasalt ))).not.SeaSalt )))OFFLINE_SEASALT #============================================================================== # --- Offline soil NOx emissions --- #============================================================================== (((OFFLINE_SOILNOX (((.not.SoilNOx 0 SOILNOX_NO $ROOT/OFFLINE_SOILNOX/${RUNDIR_OFFLINE_SOILNOX_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/soilnox_${RUNDIR_OFFLINE_EMIS_LAT_RES}.$YYYY$MM$DD.nc SOIL_NOx 1980-2022/1-12/1-31/* EFY xy kg/m2/s NO - 3 2 ))).not.SoilNOx )))OFFLINE_SOILNOX ############################################################################### ### EXTENSION DATA (subsection of BASE EMISSIONS SECTION) ### ### These fields are needed by the extensions listed above. The assigned ExtNr ### must match the ExtNr entry in section 'Extension switches'. These fields ### are only read if the extension is enabled. The fields are imported by the ### extensions by field name. The name given here must match the name used ### in the extension's source code. ############################################################################### #============================================================================== # --- Seawater concentrations for oceanic emissions (Extension 101) --- #============================================================================== (((SeaFlux #101 CH3I_SEAWATER $ROOT/CH3I/v2014-07/ocean_ch3i.geos.4x5.nc CH3I_OCEAN 1985/1-12/1/0 C xy kg/m3 CH3I - 1 1 101 DMS_SEAWATER $ROOT/DMS/v2015-07/DMS_lana.geos.1x1.nc DMS_OCEAN 1985/1-12/1/0 C xy kg/m3 DMS - 1 1 101 ACET_SEAWATER $ROOT/ACET/v2014-07/ACET_seawater.generic.1x1.nc ACET 2005/1/1/0 C xy kgC/m3 ACET 40 1 1 101 ALD2_SEAWATER $ROOT/ALD2/v2017-03/ALD2_seawater.geos.2x25.nc ALD2 2006/1-12/1/0 C xy kgC/m3 ALD2 41 1 1 101 MENO3_SEAWATER $ROOT/RONO2/v2019-05/RONO2_seawater.geos.2x25.nc MENO3 2006/1-12/1/0 C xy kg/m3 MENO3 - 1 1 101 ETNO3_SEAWATER $ROOT/RONO2/v2019-05/RONO2_seawater.geos.2x25.nc ETNO3 2006/1-12/1/0 C xy kg/m3 ETNO3 - 1 1 101 MOH_SEAWATER $ROOT/MOH/v2019-12/MOH_seawater.low.kgCm3.generic.1x1.nc MOH 2005/1/1/0 C xy kg/m3 MOH - 1 1 )))SeaFlux #============================================================================== # --- SOILNOX emissions (Extension 104) --- #============================================================================== (((SoilNOx 104 DEP_RESERVOIR_DEFAULT $ROOT/SOILNOX/v2014-07/DepReservoirDefault.nc DEP_RESERVOIR 2013/7/1/0 C xy kg/m3 NO - 1 1 (((HEMCO_RESTART 104 PFACTOR ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc PFACTOR $YYYY/$MM/$DD/$HH EY xy 1 NO - 1 1 104 DRYPERIOD ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc DRYPERIOD $YYYY/$MM/$DD/$HH EY xy 1 NO - 1 1 104 GWET_PREV ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc GWET_PREV $YYYY/$MM/$DD/$HH EY xy 1 NO - 1 1 104 DEP_RESERVOIR ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc DEP_RESERVOIR $YYYY/$MM/$DD/$HH EY xy kg/m3 NO - 1 1 )))HEMCO_RESTART 104 SOILNOX_FERT $ROOT/SOILNOX/v2014-07/soilNOx.fert_res.generic.05x05.nc FERT 2000/1-12/1-31/0 C xy kg/m3 NO - 1 1 104 SOILNOX_LANDK1 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K01 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK2 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K02 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK3 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K03 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK4 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K04 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK5 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K05 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK6 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K06 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK7 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K07 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK8 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K08 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK9 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K09 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK10 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K10 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK11 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K11 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK12 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K12 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK13 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K13 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK14 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K14 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK15 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K15 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK16 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K16 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK17 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K17 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK18 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K18 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK19 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K19 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK20 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K20 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK21 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K21 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK22 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K22 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK23 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K23 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK24 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K24 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_ARID $ROOT/SOILNOX/v2014-07/soilNOx.climate.generic.05x05.nc ARID 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_NONARID $ROOT/SOILNOX/v2014-07/soilNOx.climate.generic.05x05.nc NON_ARID 2000/1/1/0 C xy 1 NO - 1 1 )))SoilNOx #=========================================================================== # --- External fields needed for online DustL23M (Extension 125) --- #=========================================================================== (((DustL23M 125 L23M_A_bare $ROOT/DustL23M/v2025-07/LandCover/MCD12C1.LC.$YYYY.0.1.nc4 LC_bare 1998-2022/1/1/0 C xy 1 * - 1 1 125 L23M_A_veg $ROOT/DustL23M/v2025-07/LandCover/MCD12C1.LC.$YYYY.0.1.nc4 LC_veg 1998-2022/1/1/0 C xy 1 * - 1 1 125 L23M_Csah $ROOT/DustL23M/v2025-07/scale/DustL23_scale_025x03125_scaleSAv2.nc4 scale 2000/1/1/0 C xy 1 * - 1 1 125 L23M_LAI $ROOT/DustL23M/v2025-07/LandCover/XLAI_025x025_$YYYY_MonMean.nc4 LAI 2000-2020/1-12/1/0 C xy 1 * - 1 1 125 L23M_fclay $ROOT/DustL23M/v2025-07/GSDE/GSDE_clay-sand-silt_0.1.nc4 f_clay 2000/1/1/0 C xy 1 * - 1 1 125 L23M_BD $ROOT/DustL23M/v2025-07/GSDE/GSDE_clay-sand-silt_0.1.nc4 bulk_density 2000/1/1/0 C xy kg-soil/m3 * - 1 1 125 L23M_poros $ROOT/DustL23M/v2025-07/poros/MERRA2.const_2d_lnd_Nx.poros.nc4 poros 1980/1/1/0 C xy 1 * - 1 1 125 L23M_roughness_r $ROOT/DustL23M/v2025-07/roughness/Surf_roughness_min_rocks_1997.nc4 roughness_r 1997/1/1/0 C xy m * - 1 1 )))DustL23M #============================================================================== # --- Sea salt emissions (Extensions 107 and 130) # # MODIS Chlorophyll-A fields used for emissions of marine organic aerosols #============================================================================== (((SeaSalt 107 MODIS_CHLR $ROOT/MODIS_CHLR/v2019-11/MODIS.CHLRv.V5.generic.025x025.$YYYY.nc MODIS 2005-2014/1-12/1/0 C xy 1 * - 1 1 107 MULTISEAICE $ROOT/MULTI_ICE/v2021-07/multiyearice.merra2.05x0625.$YYYY.nc FRSEAICE 1980-2020/1-12/1-31/0 C xy 1 * - 1 1 # Climatology CHLR #107 MODIS_CHLR $ROOT/MODIS_CHLR/v2019-11/MODIS.CHLRv.V5.generic.025x025.Clim.nc MODIS 2007/1-12/1/0 C xy 1 * - 1 1 )))SeaSalt (((TOMAS_Jeagle 130 MODIS_CHLR $ROOT/MODIS_CHLR/v2019-11/MODIS.CHLRv.V5.generic.025x025.$YYYY.nc MODIS 2005-2014/1-12/1/0 C xy 1 * - 1 1 130 MULTISEAICE $ROOT/MULTI_ICE/v2021-07/multiyearice.merra2.05x0625.$YYYY.nc FRSEAICE 1984-2017/1-12/1-31/0 C xy 1 * - 1 1 # Climatology CHLR #130 MODIS_CHLR $ROOT/MODIS_CHLR/v2019-11/MODIS.CHLRv.V5.generic.025x025.Clim.nc MODIS 2007/1-12/1/0 C xy 1 * - 1 1 )))TOMAS_Jeagle #============================================================================== # --- Dust emissions using DEAD model (Extension 131) --- #============================================================================== (((TOMAS_DustDead 131 DEAD_EF_GEO $ROOT/DUST_DEAD/v2019-06/dst_tibds.geos.2x25.nc EF_GEO 1985/1/1/0 C xy factor * - 1 1 131 DEAD_LF_DRY $ROOT/DUST_DEAD/v2019-06/dst_tibds.geos.2x25.nc LF_DRY 1985/1/1/0 C xy factor * - 1 1 131 DEAD_MF_CACO3 $ROOT/DUST_DEAD/v2019-06/dst_tibds.geos.2x25.nc MF_CaCO3 1985/1/1/0 C xy fraction * - 1 1 131 DEAD_MF_CLY $ROOT/DUST_DEAD/v2019-06/dst_tibds.geos.2x25.nc MF_CLY 1985/1/1/0 C xy fraction * - 1 1 131 DEAD_MF_SND $ROOT/DUST_DEAD/v2019-06/dst_tibds.geos.2x25.nc MF_SND 1985/1/1/0 C xy fraction * - 1 1 131 DEAD_SFC_TYP $ROOT/DUST_DEAD/v2019-06/dst_tibds.geos.2x25.nc SFC_TYP 1985/1/1/0 C xy unitless * - 1 1 131 DEAD_GOC_SRC $ROOT/DUST_DEAD/v2019-06/GOCART_src_fn.geos.2x25.nc GOC_SRC 1985/1/1/0 C xy unitless * - 1 1 131 DEAD_VAI $ROOT/DUST_DEAD/v2019-06/dst_tvbds.geos.2x25.nc VAI 1985/1-12/1/0 C xy unitless * - 1 1 )))TOMAS_DustDead #============================================================================== # --- MEGAN biogenic emissions (Extension 108) # # NOTE: These are the base emissions, which will be converted to kgC/m2/s by # HEMCO. The specified species (OCPI/ISOP/ACET) are required for proper unit # conversion. Since netCDF files are already in mass carbon (ug(C)), the only # important thing is to specify a VOC with a specified MW of 12g/mol. # This is the case for OCPI, ISOP and ACET. # # We don't need to read EF maps for acetone, a-pinene or myrcene. We now # compute those values in the MEGAN extension. #============================================================================== (((MEGAN (((HEMCO_RESTART 108 T_DAVG ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc T_DAVG $YYYY/$MM/$DD/$HH EY xy K * - 1 1 108 T_PREVDAY ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc T_PREVDAY $YYYY/$MM/$DD/$HH EY xy K * - 1 1 108 LAI_PREVDAY ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc LAI_PREVDAY $YYYY/$MM/$DD/$HH EY xy 1 * - 1 1 108 PARDR_DAVG ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc PARDR_DAVG $YYYY/$MM/$DD/$HH EY xy W/m2 * - 1 1 108 PARDF_DAVG ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc PARDF_DAVG $YYYY/$MM/$DD/$HH EY xy W/m2 * - 1 1 )))HEMCO_RESTART 108 MEGAN_AEF_ISOP $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_ISOPRENE 1985/1/1/0 C xy kgC/m2/s * 61 1 1 108 MEGAN_AEF_MBOX $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_MBO 1985/1/1/0 C xy kgC/m2/s * 64 1 1 #108 MEGAN_AEF_APIN $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_ALPHA_PINENE 1985/1/1/0 C xy kgC/m2/s * 62 1 1 108 MEGAN_AEF_BPIN $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_BETA_PINENE 1985/1/1/0 C xy kgC/m2/s * 62 1 1 108 MEGAN_AEF_CARE $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_CARENE 1985/1/1/0 C xy kgC/m2/s * 62 1 1 108 MEGAN_AEF_LIMO $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_LIMONENE 1985/1/1/0 C xy kgC/m2/s * 62 1 1 #108 MEGAN_AEF_MYRC $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_MYRCENE 1985/1/1/0 C xy kgC/m2/s * 62 1 1 108 MEGAN_AEF_OCIM $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_OCIMENE 1985/1/1/0 C xy kgC/m2/s * 62 1 1 108 MEGAN_AEF_SABI $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_SABINENE 1985/1/1/0 C xy kgC/m2/s * 62 1 1 108 CLM4_PFT_BARE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BARE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_NDLF_EVGN_TMPT_TREE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_NDLF_EVGN_TMPT_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_NDLF_EVGN_BORL_TREE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_NDLF_EVGN_BORL_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_NDLF_DECD_BORL_TREE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_NDLF_DECD_BORL_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_EVGN_TROP_TREE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BDLF_EVGN_TROP_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_EVGN_TMPT_TREE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BDLF_EVGN_TMPT_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_DECD_TROP_TREE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BDLF_DECD_TROP_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_DECD_TMPT_TREE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BDLF_DECD_TMPT_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_DECD_BORL_TREE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BDLF_DECD_BORL_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_EVGN_SHRB $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BDLF_EVGN_SHRB 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_DECD_TMPT_SHRB $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BDLF_DECD_TMPT_SHRB 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_DECD_BORL_SHRB $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BDLF_DECD_BORL_SHRB 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_C3_ARCT_GRSS $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_C3_ARCT_GRSS 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_C3_NARC_GRSS $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_C3_NARC_GRSS 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_C4_GRSS $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_C4_GRSS 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_CROP $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_CROP 2000/1/1/0 C xy 1 * - 1 1 )))MEGAN #============================================================================== # --- GFED biomass burning emissions (Extension 111) # NOTES: # - These are the base emissions in kgDM/m2/s # - If a year is not available, you may use the GFED4_CLIMATOLOGY option instead #============================================================================== (((GFED4 111 GFED_TEMP $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_TEMP 2010-2023/1-12/01/0 RF xy kgDM/m2/s * - 1 1 111 GFED_AGRI $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_AGRI 2010-2023/1-12/01/0 RF xy kgDM/m2/s * - 1 1 111 GFED_DEFO $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_DEFO 2010-2023/1-12/01/0 RF xy kgDM/m2/s * - 1 1 111 GFED_BORF $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_BORF 2010-2023/1-12/01/0 RF xy kgDM/m2/s * - 1 1 111 GFED_PEAT $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_PEAT 2010-2023/1-12/01/0 RF xy kgDM/m2/s * - 1 1 111 GFED_SAVA $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_SAVA 2010-2023/1-12/01/0 RF xy kgDM/m2/s * - 1 1 (((GFED_subgrid_coag 111 FINN_DAILY_NUMBER $ROOT/FINN/v2015-02/FINN_daily_$YYYY_0.25x0.25_with_num.nc number 2002-2016/1-12/1/0 RF xy unitless * - 1 1 )))GFED_subgrid_coag (((GFED_daily 111 GFED_FRAC_DAY $ROOT/GFED4/v2023-03/$YYYY/GFED4_dailyfrac_gen.025x025.$YYYY$MM.nc GFED_FRACDAY 2010-2023/1-12/1-31/0 RF xy 1 * - 1 1 )))GFED_daily (((GFED_3hourly 111 GFED_FRAC_3HOUR $ROOT/GFED4/v2023-03/$YYYY/GFED4_3hrfrac_gen.025x025.$YYYY$MM.nc GFED_FRAC3HR 2010-2023/1-12/1/0-23 RF xy 1 * - 1 1 )))GFED_3hourly )))GFED4 )))EMISSIONS ############################################################################### ### NON-EMISSIONS DATA (subsection of BASE EMISSIONS SECTION) ### ### Non-emissions data. The following fields are read through HEMCO but do ### not contain emissions data. The extension number is set to wildcard ### character denoting that these fields will not be considered for emission ### calculation. A given entry is only read if the assigned species name is ### an HEMCO species. ############################################################################### #============================================================================== # --- Time zones (offset to UTC) --- #============================================================================== * TIMEZONES $ROOT/TIMEZONES/v2024-02/timezones_vohra_2017_0.1x0.1.nc UTC_OFFSET 2017/1-12/1/0 C xy count * - 1 1 #============================================================================== # --- Meteorology fields --- #============================================================================== (((METEOROLOGY >>>include ${RUNDIR_MET_FIELD_CONFIG} )))METEOROLOGY #============================================================================== # --- GEOS-Chem restart file --- #============================================================================== (((GC_RESTART * SPC_ ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 SpeciesRst_?ALL? $YYYY/$MM/$DD/$HH EFYO xyz 1 * - 1 1 * DELPDRY ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Met_DELPDRY $YYYY/$MM/$DD/$HH EY xyz 1 * - 1 1 * KPP_HVALUE ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Chem_KPPHvalue $YYYY/$MM/$DD/$HH EY xyz 1 * - 1 1 * WETDEP_N ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Chem_WetDepNitrogen $YYYY/$MM/$DD/$HH EY xy 1 * - 1 1 * DRYDEP_N ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Chem_DryDepNitrogen $YYYY/$MM/$DD/$HH EY xy 1 * - 1 1 * SO2_AFTERCHEM ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Chem_SO2AfterChem $YYYY/$MM/$DD/$HH EY xyz 1 * - 1 1 * H2O2_AFTERCHEM ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Chem_H2O2AfterChem $YYYY/$MM/$DD/$HH EY xyz 1 * - 1 1 * AEROH2O_SNA ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Chem_AeroH2OSNA $YYYY/$MM/$DD/$HH EY xyz 1 * - 1 1 * ORVCSESQ ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Chem_ORVCsesq $YYYY/$MM/$DD/$HH EY xyz 1 * - 1 1 * JOH ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Chem_JOH $YYYY/$MM/$DD/$HH EY xy 1 * - 1 1 * JNO2 ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Chem_JNO2 $YYYY/$MM/$DD/$HH EY xy 1 * - 1 1 * STATE_PSC ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Chem_StatePSC $YYYY/$MM/$DD/$HH EY xyz count * - 1 1 )))GC_RESTART #============================================================================== # --- GEOS-Chem boundary condition file --- #============================================================================== (((GC_BCs * BC_ $ROOT/SAMPLE_BCs/GC_14.3.0/fullchem/GEOSChem.BoundaryConditions.$YYYY$MM$DD_$HH$MNz.nc4 SpeciesBC_?ADV? 1900-2100/1-12/1-31/* EFY xyz 1 * - 1 1 )))GC_BCs (((CHEMISTRY_INPUT #============================================================================== # --- UV albedo, for photolysis (cf Hermann & Celarier, 1997) --- #============================================================================== (((UVALBEDO * UV_ALBEDO $ROOT/UVALBEDO/v2019-06/uvalbedo.geos.2x25.nc UVALBD 1985/1-12/1/0 C xy percent * - 1 1 )))UVALBEDO #============================================================================== # --- Stratospheric Bry data from the CCM model --- #============================================================================== (((CCM_STRAT_Bry * GEOSCCM_Br_DAY $ROOT/${RUNDIR_Bry_DIR}/GEOSCCM_Bry.2007$MM.day.nc BR 2007/1-12/1/0 C xyz pptv * - 60 1 * GEOSCCM_Br2_DAY $ROOT/${RUNDIR_Bry_DIR}/GEOSCCM_Bry.2007$MM.day.nc BRCL 2007/1-12/1/0 C xyz pptv * - 60 1 * GEOSCCM_BrO_DAY $ROOT/${RUNDIR_Bry_DIR}/GEOSCCM_Bry.2007$MM.day.nc BRO 2007/1-12/1/0 C xyz pptv * - 60 1 * GEOSCCM_BrNO3_DAY $ROOT/${RUNDIR_Bry_DIR}/GEOSCCM_Bry.2007$MM.day.nc BRONO2 2007/1-12/1/0 C xyz pptv * - 60 1 * GEOSCCM_HBr_DAY $ROOT/${RUNDIR_Bry_DIR}/GEOSCCM_Bry.2007$MM.day.nc HBR 2007/1-12/1/0 C xyz pptv * - 60 1 * GEOSCCM_HOBr_DAY $ROOT/${RUNDIR_Bry_DIR}/GEOSCCM_Bry.2007$MM.day.nc HOBR 2007/1-12/1/0 C xyz pptv * - 60 1 * GEOSCCM_Br_NIGHT $ROOT/${RUNDIR_Bry_DIR}/GEOSCCM_Bry.2007$MM.night.nc BR 2007/1-12/1/0 C xyz pptv * - 60 1 * GEOSCCM_Br2_NIGHT $ROOT/${RUNDIR_Bry_DIR}/GEOSCCM_Bry.2007$MM.night.nc BRCL 2007/1-12/1/0 C xyz pptv * - 60 1 * GEOSCCM_BrO_NIGHT $ROOT/${RUNDIR_Bry_DIR}/GEOSCCM_Bry.2007$MM.night.nc BRO 2007/1-12/1/0 C xyz pptv * - 60 1 * GEOSCCM_BrNO3_NIGHT $ROOT/${RUNDIR_Bry_DIR}/GEOSCCM_Bry.2007$MM.night.nc BRONO2 2007/1-12/1/0 C xyz pptv * - 60 1 * GEOSCCM_HBr_NIGHT $ROOT/${RUNDIR_Bry_DIR}/GEOSCCM_Bry.2007$MM.night.nc HBR 2007/1-12/1/0 C xyz pptv * - 60 1 * GEOSCCM_HOBr_NIGHT $ROOT/${RUNDIR_Bry_DIR}/GEOSCCM_Bry.2007$MM.night.nc HOBR 2007/1-12/1/0 C xyz pptv * - 60 1 )))CCM_STRAT_Bry #============================================================================== #--- Archived GMI OH concentrations --- #============================================================================== (((GMI_OH * GMI_OH $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.OH.geos5.2x25.nc species 2005/1-12/1/0 C xyz v/v * - 1 1 )))GMI_OH #============================================================================== #--- GMI chemistry: prod/loss rates --- # # Used for linearized mesospheric chemistry #============================================================================== (((GMI_PROD_LOSS * GMI_LOSS_A3O2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.A3O2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 A3O2 - 1 1 * GMI_PROD_A3O2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.A3O2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s A3O2 - 1 1 * GMI_LOSS_ACET $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ACET.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ACET - 1 1 * GMI_PROD_ACET $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ACET.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ACET - 1 1 * GMI_LOSS_ACTA $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ACTA.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ACTA - 1 1 * GMI_PROD_ACTA $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ACTA.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ACTA - 1 1 * GMI_LOSS_ALD2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ALD2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ALD2 - 1 1 * GMI_PROD_ALD2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ALD2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ALD2 - 1 1 * GMI_LOSS_ALK4 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ALK4.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ALK4 - 1 1 * GMI_PROD_ALK4 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ALK4.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ALK4 - 1 1 * GMI_LOSS_ATO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ATO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ATO2 - 1 1 * GMI_PROD_ATO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ATO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ATO2 - 1 1 * GMI_LOSS_B3O2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.B3O2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 B3O2 - 1 1 * GMI_PROD_B3O2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.B3O2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s B3O2 - 1 1 #* GMI_LOSS_Br $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.Br.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 Br - 1 1 #* GMI_PROD_Br $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.Br.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s Br - 1 1 #* GMI_LOSS_BrCl $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.BrCl.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 BrCl - 1 1 #* GMI_PROD_BrCl $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.BrCl.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s BrCl - 1 1 #* GMI_LOSS_BrO $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.BrO.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 BrO - 1 1 #* GMI_PROD_BrO $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.BrO.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s BrO - 1 1 #* GMI_LOSS_BrNO3 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.BrONO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 BrNO3 - 1 1 #* GMI_PROD_BrNO3 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.BrONO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s BrNO3 - 1 1 * GMI_LOSS_C2H6 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.C2H6.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 C2H6 - 1 1 * GMI_PROD_C2H6 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.C2H6.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s C2H6 - 1 1 * GMI_LOSS_C3H8 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.C3H8.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 C3H8 - 1 1 * GMI_PROD_C3H8 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.C3H8.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s C3H8 - 1 1 * GMI_LOSS_CCl4 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CCl4.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CCl4 - 1 1 * GMI_PROD_CCl4 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CCl4.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CCl4 - 1 1 #* GMI_LOSS_H1202 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CF2Br2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 H1202 - 1 1 #* GMI_PROD_H1202 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CF2Br2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s H1202 - 1 1 * GMI_LOSS_CFC12 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CF2Cl2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CFC12 - 1 1 * GMI_PROD_CFC12 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CF2Cl2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CFC12 - 1 1 * GMI_LOSS_H1211 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CF2ClBr.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 H1211 - 1 1 * GMI_PROD_H1211 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CF2ClBr.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s H1211 - 1 1 #* GMI_LOSS_H1311 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CF3Br.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 H1311 - 1 1 #* GMI_PROD_H1311 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CF3Br.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s H1311 - 1 1 * GMI_LOSS_CFC113 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CFC113.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CFC113 - 1 1 * GMI_PROD_CFC113 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CFC113.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CFC113 - 1 1 * GMI_LOSS_CFC114 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CFC114.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CFC114 - 1 1 * GMI_PROD_CFC114 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CFC114.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CFC114 - 1 1 * GMI_LOSS_CFC115 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CFC115.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CFC115 - 1 1 * GMI_PROD_CFC115 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CFC115.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CFC115 - 1 1 * GMI_LOSS_CFC11 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CFCl3.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CFC11 - 1 1 * GMI_PROD_CFC11 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CFCl3.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CFC11 - 1 1 * GMI_LOSS_CH2O $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CH2O.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CH2O - 1 1 * GMI_PROD_CH2O $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CH2O.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CH2O - 1 1 #* GMI_LOSS_CH3Br $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CH3Br.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CH3Br - 1 1 #* GMI_PROD_CH3Br $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CH3Br.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CH3Br - 1 1 * GMI_LOSS_CH3CCl3 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CH3CCl3.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CH3CCl3 - 1 1 * GMI_PROD_CH3CCl3 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CH3CCl3.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CH3CCl3 - 1 1 * GMI_LOSS_CH3Cl $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CH3Cl.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CH3Cl - 1 1 * GMI_PROD_CH3Cl $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CH3Cl.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CH3Cl - 1 1 * GMI_LOSS_CH4 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CH4.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CH4 - 1 1 * GMI_PROD_CH4 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CH4.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CH4 - 1 1 * GMI_LOSS_CO $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CO.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CO - 1 1 * GMI_PROD_CO $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CO.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CO - 1 1 * GMI_LOSS_Cl $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.Cl.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 Cl - 1 1 * GMI_PROD_Cl $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.Cl.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s Cl - 1 1 * GMI_LOSS_Cl2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.Cl2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 Cl2 - 1 1 * GMI_PROD_Cl2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.Cl2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s Cl2 - 1 1 * GMI_LOSS_Cl2O2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.Cl2O2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 Cl2O2 - 1 1 * GMI_PROD_Cl2O2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.Cl2O2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s Cl2O2 - 1 1 * GMI_LOSS_ClO $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ClO.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ClO - 1 1 * GMI_PROD_ClO $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ClO.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ClO - 1 1 * GMI_LOSS_ClONO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ClONO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ClONO2 - 1 1 * GMI_PROD_ClONO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ClONO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ClONO2 - 1 1 * GMI_LOSS_EOH $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.EOH.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 EOH - 1 1 * GMI_PROD_EOH $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.EOH.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s EOH - 1 1 * GMI_LOSS_ETO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ETO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ETO2 - 1 1 * GMI_PROD_ETO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ETO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ETO2 - 1 1 * GMI_LOSS_ETP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ETP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ETP - 1 1 * GMI_PROD_ETP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ETP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ETP - 1 1 * GMI_LOSS_GCO3 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.GCO3.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 GCO3 - 1 1 * GMI_PROD_GCO3 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.GCO3.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s GCO3 - 1 1 * GMI_LOSS_GLYC $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.GLYC.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 GLYC - 1 1 * GMI_PROD_GLYC $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.GLYC.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s GLYC - 1 1 * GMI_LOSS_GLYX $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.GLYX.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 GLYX - 1 1 * GMI_PROD_GLYX $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.GLYX.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s GLYX - 1 1 * GMI_LOSS_GP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.GP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 GP - 1 1 * GMI_PROD_GP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.GP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s GP - 1 1 * GMI_LOSS_GPAN $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.GPAN.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 GPAN - 1 1 * GMI_PROD_GPAN $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.GPAN.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s GPAN - 1 1 * GMI_LOSS_H $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.H.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 H - 1 1 * GMI_PROD_H $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.H.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s H - 1 1 * GMI_LOSS_H2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.H2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 H2 - 1 1 * GMI_PROD_H2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.H2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s H2 - 1 1 * GMI_LOSS_H2402 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.H2402.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 H2402 - 1 1 * GMI_PROD_H2402 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.H2402.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s H2402 - 1 1 * GMI_LOSS_H2O $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.H2O.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 H2O - 1 1 * GMI_PROD_H2O $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.H2O.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s H2O - 1 1 * GMI_LOSS_H2O2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.H2O2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 H2O2 - 1 1 * GMI_PROD_H2O2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.H2O2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s H2O2 - 1 1 * GMI_LOSS_HAC $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HAC.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HAC - 1 1 * GMI_PROD_HAC $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HAC.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HAC - 1 1 #* GMI_LOSS_HBr $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HBr.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HBr - 1 1 #* GMI_PROD_HBr $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HBr.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HBr - 1 1 * GMI_LOSS_HCFC141b $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HCFC141b.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HCFC141b - 1 1 * GMI_PROD_HCFC141b $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HCFC141b.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HCFC141b - 1 1 * GMI_LOSS_HCFC142b $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HCFC142b.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HCFC142b - 1 1 * GMI_PROD_HCFC142b $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HCFC142b.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HCFC142b - 1 1 * GMI_LOSS_HCFC22 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HCFC22.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HCFC22 - 1 1 * GMI_PROD_HCFC22 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HCFC22.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HCFC22 - 1 1 * GMI_LOSS_HCOOH $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HCOOH.geos5.2x25.20170108.nc loss 2005/1-12/1/0 C xyz s-1 HCOOH - 1 1 * GMI_PROD_HCOOH $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HCOOH.geos5.2x25.20170108.nc prod 2005/1-12/1/0 C xyz v/v/s HCOOH - 1 1 * GMI_LOSS_HCl $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HCl.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HCl - 1 1 * GMI_PROD_HCl $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HCl.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HCl - 1 1 * GMI_LOSS_HNO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HNO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HNO2 - 1 1 * GMI_PROD_HNO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HNO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HNO2 - 1 1 * GMI_LOSS_HNO3 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HNO3.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HNO3 - 1 1 * GMI_PROD_HNO3 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HNO3.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HNO3 - 1 1 * GMI_LOSS_HNO4 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HNO4.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HNO4 - 1 1 * GMI_PROD_HNO4 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HNO4.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HNO4 - 1 1 * GMI_LOSS_HO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HO2 - 1 1 * GMI_PROD_HO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HO2 - 1 1 #* GMI_LOSS_HOBr $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HOBr.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HOBr - 1 1 #* GMI_PROD_HOBr $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HOBr.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HOBr - 1 1 * GMI_LOSS_HOCl $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HOCl.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HOCl - 1 1 * GMI_PROD_HOCl $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HOCl.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HOCl - 1 1 * GMI_LOSS_IALD $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.IALD.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 IALD - 1 1 * GMI_PROD_IALD $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.IALD.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s IALD - 1 1 * GMI_LOSS_IAO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.IAO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 IAO2 - 1 1 * GMI_PROD_IAO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.IAO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s IAO2 - 1 1 * GMI_LOSS_IAP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.IAP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 IAP - 1 1 * GMI_PROD_IAP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.IAP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s IAP - 1 1 * GMI_LOSS_INO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.INO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 INO2 - 1 1 * GMI_PROD_INO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.INO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s INO2 - 1 1 * GMI_LOSS_INPN $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.INPN.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 INPN - 1 1 * GMI_PROD_INPN $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.INPN.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s INPN - 1 1 * GMI_LOSS_ISN1 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ISN1.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ISN1 - 1 1 * GMI_PROD_ISN1 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ISN1.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ISN1 - 1 1 * GMI_LOSS_ISNP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ISNP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ISNP - 1 1 * GMI_PROD_ISNP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ISNP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ISNP - 1 1 * GMI_LOSS_ISOP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ISOP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ISOP - 1 1 * GMI_PROD_ISOP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ISOP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ISOP - 1 1 * GMI_LOSS_KO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.KO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 KO2 - 1 1 * GMI_PROD_KO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.KO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s KO2 - 1 1 * GMI_LOSS_MACR $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MACR.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MACR - 1 1 * GMI_PROD_MACR $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MACR.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MACR - 1 1 * GMI_LOSS_MAN2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MAN2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MAN2 - 1 1 * GMI_PROD_MAN2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MAN2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MAN2 - 1 1 * GMI_LOSS_MAO3 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MAO3.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MAO3 - 1 1 * GMI_PROD_MAO3 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MAO3.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MAO3 - 1 1 * GMI_LOSS_MAOP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MAOP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MAOP - 1 1 * GMI_PROD_MAOP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MAOP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MAOP - 1 1 * GMI_LOSS_MAP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MAP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MAP - 1 1 * GMI_PROD_MAP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MAP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MAP - 1 1 * GMI_LOSS_MCO3 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MCO3.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MCO3 - 1 1 * GMI_PROD_MCO3 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MCO3.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MCO3 - 1 1 * GMI_LOSS_MEK $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MEK.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MEK - 1 1 * GMI_PROD_MEK $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MEK.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MEK - 1 1 * GMI_LOSS_MGLY $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MGLY.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MGLY - 1 1 * GMI_PROD_MGLY $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MGLY.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MGLY - 1 1 * GMI_LOSS_MO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MO2 - 1 1 * GMI_PROD_MO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MO2 - 1 1 * GMI_LOSS_MOH $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MOH.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MOH - 1 1 * GMI_PROD_MOH $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MOH.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MOH - 1 1 * GMI_LOSS_MP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MP - 1 1 * GMI_PROD_MP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MP - 1 1 * GMI_LOSS_MRO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MRO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MRO2 - 1 1 * GMI_PROD_MRO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MRO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MRO2 - 1 1 * GMI_LOSS_MRP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MRP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MRP - 1 1 * GMI_PROD_MRP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MRP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MRP - 1 1 * GMI_LOSS_MVK $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MVK.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MVK - 1 1 * GMI_PROD_MVK $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MVK.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MVK - 1 1 * GMI_LOSS_MVN2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MVN2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MVN2 - 1 1 * GMI_PROD_MVN2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MVN2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MVN2 - 1 1 * GMI_LOSS_N $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.N.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 N - 1 1 * GMI_PROD_N $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.N.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s N - 1 1 * GMI_LOSS_N2O $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.N2O.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 N2O - 1 1 * GMI_PROD_N2O $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.N2O.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s N2O - 1 1 * GMI_LOSS_N2O5 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.N2O5.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 N2O5 - 1 1 * GMI_PROD_N2O5 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.N2O5.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s N2O5 - 1 1 * GMI_LOSS_NO $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.NO.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 NO - 1 1 * GMI_PROD_NO $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.NO.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s NO - 1 1 * GMI_LOSS_NO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.NO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 NO2 - 1 1 * GMI_PROD_NO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.NO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s NO2 - 1 1 * GMI_LOSS_NO3 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.NO3.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 NO3 - 1 1 * GMI_PROD_NO3 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.NO3.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s NO3 - 1 1 * GMI_LOSS_NOx $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.NOx.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 NOx - 1 1 * GMI_PROD_NOx $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.NOx.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s NOx - 1 1 * GMI_LOSS_O $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.O.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 O - 1 1 * GMI_PROD_O $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.O.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s O - 1 1 * GMI_LOSS_O1D $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.O1D.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 O1D - 1 1 * GMI_PROD_O1D $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.O1D.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s O1D - 1 1 * GMI_LOSS_O3 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.O3.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 O3 - 1 1 * GMI_PROD_O3 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.O3.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s O3 - 1 1 * GMI_LOSS_OClO $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.OClO.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 OClO - 1 1 * GMI_PROD_OClO $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.OClO.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s OClO - 1 1 * GMI_LOSS_OH $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.OH.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 OH - 1 1 * GMI_PROD_OH $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.OH.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s OH - 1 1 * GMI_LOSS_Ox $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.Ox.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 Ox - 1 1 * GMI_PROD_Ox $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.Ox.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s Ox - 1 1 * GMI_LOSS_PAN $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.PAN.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 PAN - 1 1 * GMI_PROD_PAN $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.PAN.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s PAN - 1 1 * GMI_LOSS_NPMN $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.NPMN.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 NPMN - 1 1 * GMI_PROD_NPMN $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.NPMN.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s NPMN - 1 1 * GMI_LOSS_IPMN $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.IPMN.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 IPMN - 1 1 * GMI_PROD_IPMN $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.IPMN.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s IPMN - 1 1 * GMI_LOSS_PO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.PO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 PO2 - 1 1 * GMI_PROD_PO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.PO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s PO2 - 1 1 * GMI_LOSS_PP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.PP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 PP - 1 1 * GMI_PROD_PP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.PP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s PP - 1 1 * GMI_LOSS_PPN $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.PPN.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 PPN - 1 1 * GMI_PROD_PPN $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.PPN.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s PPN - 1 1 * GMI_LOSS_PRN1 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.PRN1.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 PRN1 - 1 1 * GMI_PROD_PRN1 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.PRN1.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s PRN1 - 1 1 * GMI_LOSS_PRPE $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.PRPE.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 PRPE - 1 1 * GMI_PROD_PRPE $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.PRPE.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s PRPE - 1 1 * GMI_LOSS_PRPN $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.PRPN.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 PRPN - 1 1 * GMI_PROD_PRPN $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.PRPN.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s PRPN - 1 1 * GMI_LOSS_R4N1 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.R4N1.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 R4N1 - 1 1 * GMI_PROD_R4N1 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.R4N1.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s R4N1 - 1 1 * GMI_LOSS_R4N2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.R4N2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 R4N2 - 1 1 * GMI_PROD_R4N2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.R4N2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s R4N2 - 1 1 * GMI_LOSS_R4O2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.R4O2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 R4O2 - 1 1 * GMI_PROD_R4O2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.R4O2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s R4O2 - 1 1 * GMI_LOSS_R4P $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.R4P.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 R4P - 1 1 * GMI_PROD_R4P $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.R4P.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s R4P - 1 1 * GMI_LOSS_RA3P $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.RA3P.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 RA3P - 1 1 * GMI_PROD_RA3P $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.RA3P.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s RA3P - 1 1 * GMI_LOSS_RB3P $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.RB3P.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 RB3P - 1 1 * GMI_PROD_RB3P $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.RB3P.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s RB3P - 1 1 * GMI_LOSS_RCHO $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.RCHO.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 RCHO - 1 1 * GMI_PROD_RCHO $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.RCHO.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s RCHO - 1 1 * GMI_LOSS_RCO3 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.RCO3.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 RCO3 - 1 1 * GMI_PROD_RCO3 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.RCO3.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s RCO3 - 1 1 * GMI_LOSS_RCOOH $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.RCOOH.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 RCOOH - 1 1 * GMI_PROD_RCOOH $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.RCOOH.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s RCOOH - 1 1 * GMI_LOSS_RIO1 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.RIO1.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 RIO1 - 1 1 * GMI_PROD_RIO1 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.RIO1.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s RIO1 - 1 1 * GMI_LOSS_RIPA $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.RIPA.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 RIPA - 1 1 * GMI_PROD_RIPA $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.RIPA.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s RIPA - 1 1 * GMI_LOSS_RIPB $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.RIPB.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 RIPB - 1 1 * GMI_PROD_RIPB $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.RIPB.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s RIPB - 1 1 * GMI_LOSS_RIPD $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.RIPD.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 RIPD - 1 1 * GMI_PROD_RIPD $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.RIPD.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s RIPD - 1 1 * GMI_LOSS_ROH $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ROH.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ROH - 1 1 * GMI_PROD_ROH $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ROH.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ROH - 1 1 * GMI_LOSS_RP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.RP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 RP - 1 1 * GMI_PROD_RP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.RP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s RP - 1 1 * GMI_LOSS_VRO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.VRO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 VRO2 - 1 1 * GMI_PROD_VRO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.VRO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s VRO2 - 1 1 * GMI_LOSS_VRP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.VRP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 VRP - 1 1 * GMI_PROD_VRP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.VRP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s VRP - 1 1 )))GMI_PROD_LOSS #============================================================================== # --- Spatially varying OM/OC --- #============================================================================== (((OMOC_RATIO * OMOC_DJF $ROOT/OMOC/v2018-01/OMOC.DJF.01x01.nc OMOC 2010/1/1/0 C xy 1 * - 1 1 * OMOC_MAM $ROOT/OMOC/v2018-01/OMOC.MAM.01x01.nc OMOC 2010/1/1/0 C xy 1 * - 1 1 * OMOC_JJA $ROOT/OMOC/v2018-01/OMOC.JJA.01x01.nc OMOC 2010/1/1/0 C xy 1 * - 1 1 * OMOC_SON $ROOT/OMOC/v2018-01/OMOC.SON.01x01.nc OMOC 2010/1/1/0 C xy 1 * - 1 1 )))OMOC_RATIO )))CHEMISTRY_INPUT #============================================================================== # --- NOAA GMD monthly mean surface CH4 --- #============================================================================== (((GMD_SFC_CH4 * NOAA_GMD_CH4 $ROOT/NOAA_GMD/v2023-10/monthly.gridded.surface.methane.1975-2022.1x1.nc SFC_CH4 1975-2022/1-12/1/0 RY xy ppbv * - 1 1 )))GMD_SFC_CH4 #============================================================================== # --- CMIP6 monthly mean surface CH4 --- # NOTE: This is only used if NOAA data is unavailable (pre 1979) #============================================================================== (((CMIP6_SFC_CH4 * CMIP6_Sfc_CH4 $ROOT/CMIP6/v2020-03/2x2.5/CMIP6_GHG_surface_VMR_$YYYY.2x25.nc CH4 1750-1978/1-12/1/0 EY xy ppbv * - 1 1 )))CMIP6_SFC_CH4 #============================================================================== # --- Olson land map masks --- #============================================================================== (((OLSON_LANDMAP * LANDTYPE00 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE00 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE01 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE01 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE02 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE02 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE03 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE03 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE04 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE04 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE05 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE05 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE06 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE06 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE07 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE07 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE08 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE08 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE09 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE09 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE10 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE10 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE11 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE11 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE12 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE12 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE13 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE13 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE14 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE14 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE15 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE15 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE16 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE16 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE17 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE17 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE18 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE18 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE19 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE19 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE20 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE20 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE21 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE21 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE22 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE22 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE23 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE23 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE24 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE24 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE25 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE25 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE26 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE26 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE27 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE27 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE28 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE28 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE29 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE29 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE30 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE30 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE31 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE31 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE32 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE32 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE33 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE33 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE34 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE34 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE35 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE35 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE36 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE36 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE37 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE37 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE38 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE38 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE39 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE39 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE40 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE40 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE41 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE41 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE42 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE42 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE43 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE43 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE44 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE44 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE45 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE45 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE46 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE46 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE47 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE47 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE48 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE48 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE49 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE49 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE50 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE50 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE51 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE51 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE52 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE52 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE53 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE53 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE54 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE54 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE55 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE55 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE56 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE56 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE57 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE57 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE58 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE58 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE59 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE59 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE60 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE60 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE61 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE61 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE62 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE62 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE63 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE63 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE64 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE64 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE65 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE65 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE66 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE66 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE67 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE67 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE68 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE68 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE69 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE69 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE70 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE70 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE71 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE71 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE72 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE72 1985/1/1/0 C xy 1 * - 1 1 )))OLSON_LANDMAP #============================================================================== # --- Yuan processed MODIS leaf area index data --- # # Source: Yuan et al 2011, doi:10.1016/j.rse.2011.01.001 # http://globalchange.bnu.edu.cn/research/lai # # NOTES: # (1) LAI data corresponding to each Olson land type is stored in # separate netCDF variables (XLAI00, XLAI01, ... XLAI72). # The "XLAI" denotes that the files are prepared in this way. # (2) Units are "cm2 leaf/cm2 grid box". # (3) Data is timestamped every 8 days, starting from the 2nd of the month. #============================================================================== (((YUAN_MODIS_LAI * XLAI00 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI00 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI01 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI01 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI02 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI02 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI03 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI03 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI04 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI04 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI05 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI05 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI06 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI06 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI07 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI07 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI08 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI08 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI09 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI09 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI10 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI10 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI11 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI11 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI12 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI12 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI13 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI13 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI14 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI14 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI15 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI15 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI16 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI16 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI17 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI17 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI18 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI18 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI19 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI19 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI20 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI20 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI21 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI21 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI22 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI22 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI23 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI23 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI24 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI24 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI25 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI25 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI26 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI26 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI27 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI27 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI28 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI28 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI29 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI29 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI30 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI30 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI31 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI31 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI32 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI32 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI33 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI33 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI34 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI34 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI35 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI35 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI36 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI36 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI37 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI37 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI38 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI38 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI39 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI39 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI40 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI40 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI41 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI41 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI42 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI42 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI43 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI43 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI44 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI44 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI45 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI45 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI46 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI46 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI47 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI47 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI48 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI48 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI49 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI49 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI50 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI50 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI51 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI51 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI52 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI52 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI53 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI53 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI54 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI54 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI55 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI55 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI56 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI56 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI57 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI57 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI58 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI58 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI59 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI59 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI60 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI60 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI61 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI61 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI62 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI62 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI63 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI63 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI64 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI64 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI65 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI65 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI66 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI66 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI67 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI67 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI68 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI68 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI69 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI69 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI70 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI70 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI71 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI71 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI72 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI72 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 )))YUAN_MODIS_LAI #============================================================================== # --- Inputs for the RRTMG radiative transfer model --- # # NOTE: The 2 x 2.5 albedo fields and emissivity fields will produce # differences at the level of numerical noise when comparing output to # simulations from prior versions (esp. when running at 4 x 5 resolution). # You might see larger differences w/r/t prior verisons for a few grid boxes # along the coastline of Antarctica, where the difference in resolution # and regridding will be more apparent in the sharp transition from ice to # ocean. If this is a problem, you can use the data files at 4x5 resolution # for 4x5 RRTMG simulations. # # ALSO NOTE: The algorithm that HEMCO uses to select each time slice is # likely different than what was implemented when reading the old bpch # data from disk. This can also cause differences when comparing to # prior versions. #============================================================================== (((RRTMG * MODIS_ALBDFNIR $ROOT/RRTMG/v2018-11/modis_surf_albedo.2x25.nc ALBDFNIR 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_ALBDFVIS $ROOT/RRTMG/v2018-11/modis_surf_albedo.2x25.nc ALBDFVIS 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_ALBDRNIR $ROOT/RRTMG/v2018-11/modis_surf_albedo.2x25.nc ALBDRNIR 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_ALBDRVIS $ROOT/RRTMG/v2018-11/modis_surf_albedo.2x25.nc ALBDRVIS 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_01 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band01 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_02 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band02 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_03 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band03 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_04 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band04 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_05 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band05 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_06 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band06 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_07 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band07 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_08 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band08 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_09 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band09 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_10 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band10 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_11 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band11 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_12 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band12 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_13 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band13 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_14 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band14 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_15 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band15 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_16 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band16 2002/1-12/1-31/0 C xy 1 * - 1 1 ${RUNDIR_TES_CLIM_CCL4} ${RUNDIR_TES_CLIM_CFC11} ${RUNDIR_TES_CLIM_CFC12} ${RUNDIR_TES_CLIM_CFC22} ${RUNDIR_TES_CLIM_CH4} ${RUNDIR_TES_CLIM_N2O} )))RRTMG (((SfcVMR #============================================================================== # --- CMIP6 files --- # # Use core CMIP6 observationally constrained data from Meinshausen et al. (2017) GMD #============================================================================== * SfcVMR_CH3Cl $ROOT/CMIP6/v2020-03/2x2.5/CMIP6_GHG_surface_VMR_$YYYY.2x25.nc CH3Cl 1750-2014/1-12/1/0 C xy ppbv * 801 1 1 * SfcVMR_CH2Cl2 $ROOT/CMIP6/v2020-03/2x2.5/CMIP6_GHG_surface_VMR_$YYYY.2x25.nc CH2Cl2 1750-2014/1-12/1/0 C xy ppbv * 801 1 1 * SfcVMR_CHCl3 $ROOT/CMIP6/v2020-03/2x2.5/CMIP6_GHG_surface_VMR_$YYYY.2x25.nc CHCl3 1750-2014/1-12/1/0 C xy ppbv * 801 1 1 * SfcVMR_CH3Br $ROOT/CMIP6/v2020-03/2x2.5/CMIP6_GHG_surface_VMR_$YYYY.2x25.nc CH3Br 1750-2014/1-12/1/0 C xy ppbv * 801 1 1 #============================================================================== # --- WMO-2018 files (GMI) --- #============================================================================== * SfcVMR_CCl4 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CCl4 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_CFC113 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CFC113 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_CFC114 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CFC114 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_CFC115 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CFC115 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_CFC11 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CFC11 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_CFC12 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CFC12 1960-2100/1-12/1/0 C xy v/v * 802 1 1 #* SfcVMR_CH3Br $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CH3Br 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_CH3CCl3 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CH3CCl3 1960-2100/1-12/1/0 C xy v/v * 802 1 1 #* SfcVMR_CH3Cl $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CH3Cl 1960-2100/1-12/1/0 C xy v/v * 802 1 1 #* SfcVMR_CH4 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CH4 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_H1211 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc H1211 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_H1301 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc H1301 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_H2402 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc C2BR2F4 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_HCFC141b $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc HCFC141b 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_HCFC142b $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc HCFC142b 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_HCFC22 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc HCFC22 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_N2O $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc N2O 1960-2100/1-12/1/0 C xy v/v * 802 1 1 #============================================================================== # --- Dummy files with a single surface concentration (for OCS and H2) --- #============================================================================== * SfcVMR_OCS $ROOT/SfcFix/v2019-12/surface_VMR_OCS.2x25.nc OCS 1985/1/1/0 C xy ppbv * - 1 1 * SfcVMR_H2 $ROOT/SfcFix/v2019-12/surface_VMR_H2.2x25.nc H2 1985/1/1/0 C xy ppbv * - 1 1 )))SfcVMR (((CMIP6_SFC_BC #============================================================================== # --- CMIP6 surface boundary conditions for 1750-2100 --- #============================================================================== # Commented-out tracers do not exist in GEOS-Chem yet # * SfcVMR_C2F6 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 C2F6 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_C3F8 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 C3F8 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_C4F10 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 C4F10 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_C5F12 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 C5F12 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_C6F14 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 C6F14 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_C7F16 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 C7F16 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_C8F18 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 C8F18 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_CC4F8 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CC4F8 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 * SfcVMR_CCl4 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CCl4 1750-2100/1-12/1/0 RY xy v/v CCl4 802 1 1 # * SfcVMR_CF4 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CF4 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 * SfcVMR_CFC11 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CFC11 1750-2100/1-12/1/0 RY xy v/v CFC11 802 1 1 * SfcVMR_CFC113 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CFC113 1750-2100/1-12/1/0 RY xy v/v CFC113 802 1 1 * SfcVMR_CFC114 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CFC114 1750-2100/1-12/1/0 RY xy v/v CFC114 802 1 1 * SfcVMR_CFC115 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CFC115 1750-2100/1-12/1/0 RY xy v/v CFC115 802 1 1 * SfcVMR_CFC12 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CFC12 1750-2100/1-12/1/0 RY xy v/v CFC12 802 1 1 * SfcVMR_CH2Cl2 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CH2Cl2 1750-2100/1-12/1/0 RY xy v/v CH2Cl2 802 1 1 * SfcVMR_CH3Br $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CH3Br 1750-2100/1-12/1/0 RY xy v/v CH3Br 802 1 1 * SfcVMR_CH3CCl3 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CH3CCl3 1750-2100/1-12/1/0 RY xy v/v CH3CCl3 802 1 1 * SfcVMR_CH3Cl $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CH3Cl 1750-2100/1-12/1/0 RY xy v/v CH3Cl 802 1 1 * SfcVMR_CH4 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CH4 1750-2100/1-12/1/0 RY xy v/v CH4 802 1 1 * SfcVMR_CHCl3 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CHCl3 1750-2100/1-12/1/0 RY xy v/v CHCl3 802 1 1 # * SfcVMR_CO2 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CO2 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 * SfcVMR_H1211 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 H1211 1750-2100/1-12/1/0 RY xy v/v H1211 802 1 1 * SfcVMR_H1301 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 H1301 1750-2100/1-12/1/0 RY xy v/v H1301 802 1 1 * SfcVMR_H2402 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 H2402 1750-2100/1-12/1/0 RY xy v/v H2402 802 1 1 # SFC_BC_HCFC123 <- exists in UCX with lifetime of 2 years but has no surface boundary conditions; 200-600 pptv in https://doi.org/10.1021/es802308m * SfcVMR_HCFC141b $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HCFC141b 1750-2100/1-12/1/0 RY xy v/v HCFC141b 802 1 1 * SfcVMR_HCFC142b $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HCFC142b 1750-2100/1-12/1/0 RY xy v/v HCFC142b 802 1 1 * SfcVMR_HCFC22 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HCFC22 1750-2100/1-12/1/0 RY xy v/v HCFC22 802 1 1 # * SfcVMR_HFC125 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HFC125 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_HFC134a $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HFC134a 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_HFC143a $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HFC143a 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_HFC152a $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HFC152a 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_HFC227ea $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HFC227ea 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_HFC23 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HFC23 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_HFC236fa $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HFC236fa 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_HFC245fa $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HFC245fa 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_HFC32 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HFC32 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_HFC365mfc $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HFC365mfc 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_HFC4310mee $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HFC4310mee 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 * SfcVMR_N2O $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 N2O 1750-2100/1-12/1/0 RY xy v/v N2O 802 1 1 # * SfcVMR_NF3 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 NF3 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_SF6 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 SF6 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_SO2F2 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 SO2F2 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 #============================================================================== # -- Not part of CMIP6 experimental design; use GEOS-Chem defaults #============================================================================== * SfcVMR_OCS $ROOT/SfcFix/v2019-12/surface_VMR_OCS.2x25.nc OCS 1985/1/1/0 C xy ppbv * - 1 1 * SfcVMR_H2 $ROOT/SfcFix/v2019-12/surface_VMR_H2.2x25.nc H2 1985/1/1/0 C xy ppbv * - 1 1 )))CMIP6_SFC_BC #============================================================================== # --- Oceanic ozone deposition --- # # Sea surface iodide concentration and salinity to be read in for the # new calculations for ozone deposition to the ocean #============================================================================== (((OCEAN_O3_DRYDEP * surf_salinity $ROOT/OCEAN_O3_DRYDEP/v2020-02/WOA_2013_salinity.nc s_mn 1985/1/1/0 C xy 1 * - 1 1 * surf_iodide $ROOT/OCEAN_O3_DRYDEP/v2020-02/Oi_prj_predicted_iodide_0.125x0.125_No_Skagerrak_Just_Ensemble.nc Ensemble_Monthly_mean 1970/1-12/1/0 C xy 1 * - 1 1 )))OCEAN_O3_DRYDEP ### END SECTION BASE EMISSIONS ### ############################################################################### ### BEGIN SECTION SCALE FACTORS ############################################################################### # ScalID Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Oper (((EMISSIONS #============================================================================== # --- Annual scale factors --- #============================================================================== (((XIAO_C3H8 6 LIQFUEL_THISYR $ROOT/AnnualScalar/v2014-07/AnnualScalar.geos.1x1.nc COscalar 1985-2010/1/1/0 C xy 1 1 7 LIQFUEL_1985 $ROOT/AnnualScalar/v2014-07/AnnualScalar.geos.1x1.nc COscalar 1985/1/1/0 C xy 1 -1 )))XIAO_C3H8 #============================================================================== # --- Diurnal scale factors --- #============================================================================== 25 EDGAR_TODNOX $ROOT/EDGARv42/v2015-02/NO/EDGAR_hourly_NOxScal.nc NOXscale 2000/1/1/* C xy unitless 1 26 GEIA_TOD_FOSSIL 0.45/0.45/0.6/0.6/0.6/0.6/1.45/1.45/1.45/1.45/1.4/1.4/1.4/1.4/1.45/1.45/1.45/1.45/0.65/0.65/0.65/0.65/0.45/0.45 - - - xy unitless 1 #============================================================================== # Diurnal variablity of Chinese power plants from Liu et al. (EST, 2019) #============================================================================== 33 PKU_pow_NOx 0.94/0.93/0.93/0.92/0.93/0.96/0.98/0.99/0.98/1.00/1.05/1.03/1.01/1.04/1.05/1.05/1.07/1.06/1.05/1.05/1.03/1.01/0.99/0.96 - - - xy unitless 1 1009 34 PKU_pow_SO2 0.92/0.91/0.90/0.89/0.90/0.93/0.97/0.98/0.99/1.02/1.07/1.04/1.03/1.06/1.06/1.07/1.10/1.10/1.06/1.05/1.03/1.01/0.99/0.93 - - - xy unitless 1 1009 35 PKU_pow_PM_BC_POC_VOC_CO 0.95/0.93/0.92/0.91/0.90/0.93/0.97/0.97/0.99/1.03/1.04/1.03/1.02/1.03/1.05/1.07/1.07/1.07/1.06/1.04/1.03/1.02/1.00/0.97 - - - xy unitless 1 1009 # These scale factors undo (Oper=-1) the global diurnal scale factors over China (Mask=1009) 36 EDGAR_TODNOX_UNDO $ROOT/EDGARv42/v2015-02/NO/EDGAR_hourly_NOxScal.nc NOXscale 2000/1/1/* C xy unitless -1 1009 37 GEIA_TOD_FOSSIL_UNDO 0.45/0.45/0.6/0.6/0.6/0.6/1.45/1.45/1.45/1.45/1.4/1.4/1.4/1.4/1.45/1.45/1.45/1.45/0.65/0.65/0.65/0.65/0.45/0.45 - - - xy unitless -1 1009 #============================================================================== # --- Day-of-week scale factors --- # ==> data is Sun/Mon/.../Sat #============================================================================== (((XIAO_C3H8 22 GEIA_DOW_HC 0.671/1.1102/1.1102/1.1102/1.1102/1.1102/0.768 - - - xy unitless 1 )))XIAO_C3H8 #============================================================================== # --- Seasonal scale factors --- #============================================================================== (((DICE_Africa # from GEIA: 30 GEIA_SEASON_NOX $ROOT/GEIA/v2014-07/GEIA_monthscal.generic.1x1.nc NOXrat 1985/1-12/1/0 C xy unitless 1 31 GEIA_SEASON_SO2 $ROOT/GEIA/v2014-07/GEIA_monthscal.generic.1x1.nc SO2rat 1985/1-12/1/0 C xy unitless 1 )))DICE_Africa #============================================================================== # --- For Bromocarbons --- #============================================================================== (((LIANG_BROMOCARB 39 BROMOCARB_SEASON $ROOT/BROMINE/v2015-02/BromoCarb_Season.nc CHXBRY_scale 2000/1-12/1/0 C xy unitless 1 )))LIANG_BROMOCARB #============================================================================== # --- Scale factors used for species conversions --- #============================================================================== # Units carbon to species conversions # Factor = # carbon atoms * MW carbon) / MW species 40 CtoACET MATH:58.09/(3.0*12.0) - - - xy unitless 1 41 CtoALD2 MATH:44.06/(2.0*12.0) - - - xy unitless 1 42 CtoALK4 MATH:58.12/(4.3*12.0) - - - xy unitless 1 43 CtoBENZ MATH:78.12/(6.0*12.0) - - - xy unitless 1 44 CtoC2H4 MATH:28.05/(2.0*12.0) - - - xy unitless 1 45 CtoC2H6 MATH:30.08/(2.0*12.0) - - - xy unitless 1 46 CtoC3H8 MATH:44.11/(3.0*12.0) - - - xy unitless 1 47 CtoEOH MATH:46.07/(2.0*12.0) - - - xy unitless 1 48 CtoMEK MATH:72.11/(4.0*12.0) - - - xy unitless 1 49 CtoPRPE MATH:42.09/(3.0*12.0) - - - xy unitless 1 55 CtoTOLU MATH:92.15/(7.0*12.0) - - - xy unitless 1 56 CtoXYLE MATH:106.18/(8.0*12.0) - - - xy unitless 1 59 CtoC2H2 MATH:26.04/(2.0*12.0) - - - xy unitless 1 61 CtoISOP MATH:68.13/(5.0*12.0) - - - xy unitless 1 62 CtoMTPA MATH:136.26/(10.0*12.0) - - - xy unitless 1 64 CtoMBOX MATH:86.13/(5.0*12.0) - - - xy unitless 1 67 CtoSESQ MATH:204.4/(15.0*12.0) - - - xy unitless 1 83 CtoMACR MATH:70.10/(4.0*12.0) - - - xy unitless 1 84 CtoRCHO MATH:58.09/(3.0*12.0) - - - xy unitless 1 # VOC speciations (((RCP_3PD.or.RCP_45.or.RCP_60.or.RCP_85 50 KET2MEK 0.25 - - - xy unitless 1 51 KET2ACET 0.75 - - - xy unitless 1 )))RCP_3PD.or.RCP_45.or.RCP_60.or.RCP_85 (((APEI.or.EDGARv43.or.DICE_Africa.or.QFED2 52 COPROD_FOSSIL 1.02 - - - xy unitless 1 54 COPROD_BIOMASS 1.05 - - - xy unitless 1 )))APEI.or.EDGARv43.or.DICE_Africa.or.QFED2 # RCP acids to HCOOH conversion (((RCP_3PD.or.RCP_45.or.RCP_60.or.RCP_85 57 RCP_HCOOHfraction 0.25 - - - xy unitless 1 58 RCP_ACIDStoHCOOH 0.779661 - - - xy unitless 1 )))RCP_3PD.or.RCP_45.or.RCP_60.or.RCP_85 # SOx to SO2 conversion (Chin et al., 2000) 60 SOX2SO2_GLOBAL 0.986 - - - xy unitless 1 63 SO2toSO4 0.031 - - - xy unitless 1 65 SO2toSO4_APEI 0.014 - - - xy unitless 1 66 SO2toPFe 1.0e-3 - - - xy unitless 1 68 SO2toPFe_APEI 4.7e-4 - - - xy unitless 1 69 SO2toPFe_NEI 1.0e-3 - - - xy unitless 1 78 SO2FRAC 0.969 - - - xy unitless 1 # Carbon aerosols: speciation of hydrophilic and hydrophobic fractions # (Fractions applied to the biomass burning extensions (GFED or FINN) are # specified separately in the extensions section.) 70 BC2BCPI 0.2 - - - xy unitless 1 71 BC2BCPO 0.8 - - - xy unitless 1 72 OC2OCPI 0.5 - - - xy unitless 1 73 OC2OCPO 0.5 - - - xy unitless 1 74 POGSCAL 1.27 - - - xy unitless 1 76 SV2POG1 0.49 - - - xy unitless 1 77 SV2POG2 0.51 - - - xy unitless 1 (((BB4MIPS # Convert MOH to ACET emissions for CMIP6 Scenarios 79 MOH2ACET 0.2094649 - - - xy unitless 1 )))BB4MIPS # Convert CEDS total alchohols to methanol, ethanol, and other alcohols following Chen et al. (2019, ACP) 90 VOC1toMOH 0.5 - - - xy 1 1 91 VOC1toEOH 0.375 - - - xy 1 1 92 VOC1toROH 0.125 - - - xy 1 1 # NOx/NO2 to NO conversion 115 NO2toNO 6.521739e-1 - - - xy unitless 1 # SOA-Precursor scale factors # # From Kim, P.S., et. al. 2015 "Sources, seasonality, and trends # of southeast US aerosol: ..." # AVOCs and BBVOCs are emitted in proportion to CO, with an emission ratio of # 0.069 g AVOC (g CO)−1 (Hayes et al., 2015) and # 0.013 g BBVOC (g CO)−1 (Cubison et al., 2011). # They are both oxidized by OH in the model ... to generate SOA. 280 COtoSOAP_anth 0.069 - - - xy 1 1 281 COtoSOAP_burn 0.013 - - - xy 1 1 #============================================================================== # --- Diurnal scale factors for biomass burning --- # # Fire diurnal scaling factors (% per hour) from WRAP Report to Project # No. 178-6, July 2005 #============================================================================== 75 QFED2_TOD 0.1392/0.1392/0.1368/0.1368/0.1368/0.1368/0.1368/0.1368/0.1368/0.48/0.96/1.68/2.4/3.12/3.84/4.08/2.88/1.68/0.96/0.1368/0.1368/0.1368/0.1368/0.1368 - - - xy unitless 1 #============================================================================== # --- NAP scale factors --- # # Get anthropogenic (FF) NAP emissions by scaling BENZ emissions with the # following factor. Factor is ratio of TgC NAP to TgC BENZ emissions # or equivalently, molec C NAP to molec C BENZ. Scaling should produce # about 0.09 TgC NAP/year, consistent with non-BB,BF emissions predicted # by Zhang and Tao 2009 Atm Env # Based on year 2000 1x1 inv (hotp 11/14/09) #REAL*8, PARAMETER :: NAPTOBENZSCALE = 0.06861d0 # NAPTOTSCAL: factor to scale total NAP emissions to POA (hotp 7/24/09) #REAL*8, PARAMETER :: NAPTOTALSCALE = 66.09027d0 # = CO emissions * emissions ratio of mol NAP / mol CO # * kg C / mol NAP * mol CO / kg CO # mmol NAP / mol CO = 0.025 g NAP/ kg DM / # ( 78 g CO/ kg DM ) * 28 g CO / mol CO # / ( 128 g NAP / mol NAP ) *1000 mmol/mol # scale emissions down if appropriate to remove the # effect of VOC ox on CO emission # EF for NAP from Andreae and Merlet 2001 Glob Biog Cyc # EF for CO from Andreae and Merlet 2001 Glob Biog Cyc #BIOFUEL_KG(N,:,:) = BIOFUEL_KG(IDBFCO,:,:) * 0.0701d-3 # * 120d0 / 28d0 * COSCALEDOWN #============================================================================== (((EDGARv43 80 NAPEMISS 1.0 - - - xy unitless 1 81 NAPTOTSCAL 66.09 - - - xy unitless 1 82 BENZTONAP 6.86e-2 - - - xy unitless 1 )))EDGARv43 #============================================================================== # --- BIOGENIC EMISSIONS FROM DRY LEAF MATTER --- # # Use yield of 40ug/dDW. # Assume organic matter has molecular formula CH2O (MW 30.03), which # means 0.4 gC / g plant # ALD2 MW = 44.05 g/mole ==> 0.55 gC/g ALD2 # Therefore 40ug (ALD2) / g (plant) ==> 55 ug C in ALD2 / gC plant # EOH MW = 46 g/mole ==> 0.52 gC/g EOH # Therefore 40ug (EOH) / g (plant) ==> 52 ug C in EOH / gC plant #============================================================================== (((DECAYING_PLANTS 85 YIELD_RESP_ALD2 55.0e-6 - - - xy unitless 1 86 YIELD_RESP_EOH 52.0e-6 - - - xy unitless 1 )))DECAYING_PLANTS #============================================================================== # --- AEIC2019 aircraft emissions scale factors --- # # See http://geoschemdata.wustl.edu/ExtData/HEMCO/AEIC2019/v2022-03/AEIC_2019_technical_note.pdf #============================================================================== (((AEIC2019_DAILY.or.AEIC2019_MONMEAN # Conversions from AEIC2019 inventory quantities to individual species 101 AEICACET 3.693477e-3 - - - xy unitless 1 102 AEICALD2 4.271822e-2 - - - xy unitless 1 103 AEICALK4 2.137911e-1 - - - xy unitless 1 104 AEICC2H6 5.214505e-3 - - - xy unitless 1 105 AEICC3H8 7.808710e-4 - - - xy unitless 1 106 AEICCH2O 1.230811e-1 - - - xy unitless 1 107 AEICPRPE 1.780418e-1 - - - xy unitless 1 108 AEICMACR 5.362609e-2 - - - xy unitless 1 109 AEICRCHO 3.676944e-2 - - - xy unitless 1 111 AEICSO2 1.176000e-3 - - - xy unitless 1 112 AEICSO4 3.600000e-5 - - - xy unitless 1 113 AEICBC 3.000000e-5 - - - xy unitless 1 114 AEICHC 1.160000e+0 - - - xy unitless 1 120 FB2H2O 1.231000e+0 - - - xy unitless 1 #------------------------------------------------------------------------------ # Scaling factors for 1990-2019 derived from Lee et al. (2021). Increase # from 2018 to 2019 is estimated based on the growth from 2017 to 2018. # Lee et al. (2021) only covers 1990 to 2018, so to get to 2019 it is # assumed that the growth from 2017 to 2018 is the same as that from 2018 # to 2019. So the formula is something like: # # Emissions of CO in 2009 = AEIC 2019 emissions of CO # * (Lee 2017 CO / Lee 2018 fuel burn) # * (Lee 2009 fuel burn / Lee 2018 fuel burn) # # So in this case, we use the Lee 2017/Lee 2018 value to scale AEIC’s # emissions to the “2018” values, and then scale directly using the Lee et al # fuel burn. This ensures that, when running with year 2019, you get an # unadjusted version of the AEIC2019 inventory, and all previous years are # scaled down. For NOx, the same procedure is applied but with an additional # factor to account for changes in NOx EI: # # Emissions of NOx in 2009 = [ AEIC 2019 emissions of NOx # * (Lee 2017 CO / Lee 2018 fuel burn) # * (Lee 2009 fuel burn / Lee 2018 fuel burn) ] # * [ (Lee 2017 NOx EI / Lee 2018 NOx EI) # * (Lee 2009 NOx EI / Lee 2018 NOx EI) ] # # In this case though the Lee et al 2018 and 2017 NOx EIs are identical. # All scaling factors are included in here in HEMCO_Config.rc. #------------------------------------------------------------------------------ (((AEIC_SCALE_1990_2019 240 AC_EINOX 0.852/0.852/0.852/0.859/0.866/0.873/0.881/0.888/0.896/0.903/0.911/0.916/0.922/0.927/0.932/0.937/0.950/0.962/0.974/0.987/1.000/1.000/1.000/1.000/1.000/1.000/1.000/1.000/1.000/1.000 - 1990-2019/1/1/0 C xy 1 1 241 AC_FBMULT 0.506/0.489/0.490/0.493/0.517/0.529/0.553/0.570/0.581/0.600/0.631/0.607/0.608/0.608/0.646/0.678/0.686/0.706/0.703/0.666/0.700/0.721/0.728/0.749/0.773/0.815/0.854/0.905/0.952/1.000 - 1990-2019/1/1/0 C xy 1 1 )))AEIC_SCALE_1990_2019 # If not applying 1990-2019 scale factors, use 1.0 (((.not.AEIC_SCALE_1990_2019 240 AC_EINOX 1.000000e+0 - - - xy 1 1 241 AC_FBMULT 1.000000e+0 - - - xy 1 1 ))).not.AEIC_SCALE_1990_2019 )))AEIC2019_DAILY.or.AEIC2019_MONMEAN (((CMIP6_AIRCRAFT # Conversions for SO2 to HCs taken from AEIC 601 CMIP6_SO2_TO_ACET 3.140712 - - - xy unitless 1 602 CMIP6_SO2_TO_ALD2 36.32502 - - - xy unitless 1 603 CMIP6_SO2_TO_ALK4 181.7952 - - - xy unitless 1 604 CMIP6_SO2_TO_C2H6 4.434103 - - - xy unitless 1 605 CMIP6_SO2_TO_C3H8 0.664006 - - - xy unitless 1 606 CMIP6_SO2_TO_CH2O 104.6608 - - - xy unitless 1 607 CMIP6_SO2_TO_PRPE 151.3961 - - - xy unitless 1 608 CMIP6_SO2_TO_MACR 45.60042 - - - xy unitless 1 609 CMIP6_SO2_TO_RCHO 31.26653 - - - xy unitless 1 )))CMIP6_AIRCRAFT #============================================================================== # --- EPA NEI day-of-week scale factors --- #============================================================================== (((NEI2016_MONMEAN 210 NEI99_DOW_NOX $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc NOX 1999/1-12/WD/0 C xy 1 1 211 NEI99_DOW_CO $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc CO 1999/1-12/WD/0 C xy 1 1 212 NEI99_DOW_ALK4 $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc ALK4 1999/1-12/WD/0 C xy 1 1 213 NEI99_DOW_ACET $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc ACET 1999/1-12/WD/0 C xy 1 1 214 NEI99_DOW_MEK $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc MEK 1999/1-12/WD/0 C xy 1 1 215 NEI99_DOW_PRPE $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc PRPE 1999/1-12/WD/0 C xy 1 1 216 NEI99_DOW_C3H8 $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc C3H8 1999/1-12/WD/0 C xy 1 1 217 NEI99_DOW_C2H6 $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc C2H6 1999/1-12/WD/0 C xy 1 1 218 NEI99_DOW_SO2 $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc SO2 1999/1-12/WD/0 C xy 1 1 219 NEI99_DOW_SO4 $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc SO4 1999/1-12/WD/0 C xy 1 1 220 NEI99_DOW_MSA $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc MSA 1999/1-12/WD/0 C xy 1 1 221 NEI99_DOW_BCPI $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc BCPI 1999/1-12/WD/0 C xy 1 1 222 NEI99_DOW_OCPI $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc OCPI 1999/1-12/WD/0 C xy 1 1 )))NEI2016_MONMEAN #============================================================================== # --- EPA NEI2016 annual scale factors --- # # Annual scale factors were computed from the EPA Trends Report for Tier 1 CAPS # (obtained 21 Sep 2021) using the "Total without wildfires" field. NH3 and # PM2.5 only had values for 2002-2020, while the remaining species had yearly # values for 1990-2020 (we include only 2002-2020 here). # # See NEI2016/v2021-06/national_tier1_caps+HEMCOscaling.xlsx for details. #============================================================================== (((NEI2016_MONMEAN 251 NEI2016_NOx_YRSCALE 2.341/2.213/2.083/1.989/1.879/1.768/1.651/1.539/1.448/1.407/1.345/1.282/1.224/1.135/1.000/0.943/0.895/0.840/0.785 - 2002-2020/1/1/0 C xy 1 1 252 NEI2016_CO_YRSCALE 1.817/1.767/1.716/1.666/1.610/1.554/1.393/1.251/1.272/1.261/1.220/1.178/1.137/1.095/1.000/0.973/0.950/0.927/0.904 - 2002-2020/1/1/0 C xy 1 1 253 NEI2016_NH3_YRSCALE 0.996/0.999/1.002/1.005/1.043/1.082/1.100/1.088/1.077/1.012/0.957/0.954/0.899/0.950/1.000/1.052/1.051/1.050/1.049 - 2002-2020/1/1/0 C xy 1 1 254 NEI2016_VOC_YRSCALE 1.314/1.285/1.255/1.223/1.234/1.246/1.148/1.135/1.154/1.175/1.153/1.131/1.110/1.067/1.000/0.970/0.956/0.941/0.926 - 2002-2020/1/1/0 C xy 1 1 255 NEI2016_SO2_YRSCALE 4.773/4.701/4.626/4.625/4.171/3.717/3.273/2.879/2.446/2.038/1.591/1.525/1.469/1.237/1.000/0.767/0.735/0.641/0.583 - 2002-2020/1/1/0 C xy 1 1 256 NEI2016_PM25_YRSCALE 1.120/1.140/1.159/1.178/1.213/1.248/1.202/1.195/1.190/1.192/1.153/1.115/1.077/1.040/1.000/0.964/0.961/0.958/0.955 - 2002-2020/1/1/0 C xy 1 1 )))NEI2016_MONMEAN #============================================================================== # --- GFAS scale factors --- #============================================================================== (((GFAS 300 GFAS_EMITL $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc mami 2003-2021/1-12/1-31/0 C xy m 1 )))GFAS #============================================================================== # --- QFED vertical partitioning --- # Following Fischer et al. (2014) and Travis et al. (2016), emit 35% of QFED # emissions above the PBL. #============================================================================== (((QFED2 311 QFED_PBL_FRAC 0.65 - - - xy 1 1 312 QFED_FT_FRAC 0.35 - - - xy 1 1 )))QFED2 #============================================================================== # --- CEDS vertical partitioning --- #============================================================================== (((CEDS_01x01 315 ENERGY_LEVS $ROOT/VerticalScaleFactors/v2021-05/gc_layers.nc g_energy 2017/1/1/0 C xyz 1 1 316 INDUSTRY_LEVS $ROOT/VerticalScaleFactors/v2021-05/gc_layers.nc g_industry 2017/1/1/0 C xyz 1 1 317 SHIP_LEVS $ROOT/VerticalScaleFactors/v2021-05/gc_layers.nc cmv_c3 2017/1/1/0 C xyz 1 1 )))CEDS_01x01 #============================================================================== # --- DICE-Africa --- #============================================================================== (((DICE_Africa # Charcoal production scale factor to reduce charcoal production # by a factor of 5 after finding error in implementation of emission factors. 320 DICE_CP_SF 0.20 - - - xy 1 1 # Car emissions of OCPI and OCPO scale factor to address a factor of 7 overestimate # in car OC emissions that results from incorrect emission factors used in the original inventory 330 DICE_CAR_OC_SF 0.14 - - - xy 1 1 )))DICE_Africa #============================================================================== # --- Offline biogenic VOC scale factors --- # # Isoprene : 1.5% mass yield SOAP, 1.5% mass yield SOAS # Monoterpenes : 5.0% mass yield SOAP, 5.0% mass yield SOAS # Other terpenes: 5.0% mass yield SOAP, 5.0% mass yield SOAS # --> Need to multiply by 1.133 to convert from carbon basis to mass basis #============================================================================== (((OFFLINE_BIOGENICVOC 610 ISOPtoSOA 0.0170 - - - xy 1 1 611 MONOtoSOA 0.0567 - - - xy 1 1 612 OTHRtoSOA 0.0567 - - - xy 1 1 )))OFFLINE_BIOGENICVOC #============================================================================== # --- Offline sea salt scale factors --- # # NOTES: # - Sea salt alkalinity and chloride values obtained from hcox_seasalt_mod.F90 # - BrContent obtained from '--> Br- mass ratio' in SeaSalt extension above #============================================================================== (((OFFLINE_SEASALT 615 SSAlkalinity 1.0 - - - xy 1 1 616 SSChloride 0.5504 - - - xy 1 1 617 BrContent 2.11e-3 - - - xy 1 1 )))OFFLINE_SEASALT (((OFFLINE_DUST 621 mfrac_DSTbin1 3.344e-4 - - - xy 1 1 622 mfrac_DSTbin2 1.593e-3 - - - xy 1 1 623 mfrac_DSTbin3 1.194e-2 - - - xy 1 1 624 mfrac_DSTbin4 3.430e-2 - - - xy 1 1 625 mfrac_DSTbin5 1.248e-1 - - - xy 1 1 626 mfrac_DSTbin6 2.573e-1 - - - xy 1 1 627 mfrac_DSTbin7 5.698e-1 - - - xy 1 1 )))OFFLINE_DUST (((AFCID 630 half_AFCID 0.5 - - - xy 1 1 631 mfrac_bin1 6.944e-3 - - - xy 1 1 632 mfrac_bin2 3.307e-2 - - - xy 1 1 633 mfrac_bin3 2.478e-1 - - - xy 1 1 634 mfrac_bin4 7.121e-1 - - - xy 1 1 )))AFCID )))EMISSIONS #============================================================================== # Scale the CMIP6 values in pptv to ppbv #============================================================================== 801 pptv2ppbv 0.001 - - - xy 1 1 802 vv2ppbv 1000000000 - - - xy 1 1 #============================================================================== # --- EDGAR 4.3.1 --- # Using data of 2010, the calculated seasonal ratio for different species in the # same sector are nearly identical, possibly due to consistent activity data used. # Therefore we use the seasonal scale factors of CO in 2010 for most sectors, # except for AGR, AWB and SOL. # For AGR, the NH3 AGR seasonal scale factors are used. # For AWB, the CO AGR seasonal scale factors are used. # For SOL, the NOx AGR seasonal scale factors are used. #============================================================================== (((EDGARv43.or.DICE_Africa 1201 POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc POW 2010/1-12/1/0 C xy unitless 1 1202 ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc ENG 2010/1-12/1/0 C xy unitless 1 1203 IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc IND 2010/1-12/1/0 C xy unitless 1 1204 TRO $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc TRO 2010/1-12/1/0 C xy unitless 1 1205 TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc TNG 2010/1-12/1/0 C xy unitless 1 1206 RCO $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc RCO 2010/1-12/1/0 C xy unitless 1 1207 PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc PPA 2010/1-12/1/0 C xy unitless 1 1208 AGR $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc AGR 2010/1-12/1/0 C xy unitless 1 1209 AWB $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc AWB 2010/1-12/1/0 C xy unitless 1 1210 SOL $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc SOL 2010/1-12/1/0 C xy unitless 1 1211 SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc SWD 2010/1-12/1/0 C xy unitless 1 1212 FFF $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc FFF 2010/1-12/1/0 C xy unitless 1 )))EDGARv43.or.DICE_Africa (((CEDS_01x01 #========================================================================= # --- Sector-wise diel scale factors for CEDS --- # These scale factors could potentially be used for other global base emissions if modified accordingly. #========================================================================= 2401 TOD_AGRICULTURE 0.599/0.599/0.599/0.599/0.599/0.649/0.748/0.898/1.098/1.247/1.447/1.597/1.796/1.746/1.696/1.547/1.347/1.098/0.898/0.748/0.649/0.599/0.599/0.599 - - - xy unitless 1 2406 TOD_ENERGY 0.790/0.720/0.720/0.710/0.740/0.800/0.920/1.080/1.190/1.220/1.210/1.210/1.170/1.150/1.140/1.130/1.100/1.070/1.040/1.020/1.020/1.010/0.960/0.880 - - - xy unitless 1 2407 TOD_INDUSTRY 0.750/0.750/0.780/0.820/0.880/0.950/1.020/1.090/1.160/1.220/1.280/1.300/1.220/1.240/1.250/1.160/1.080/1.010/0.950/0.900/0.850/0.810/0.780/0.750 - - - xy unitless 1 2409 TOD_RESIDENTIAL 0.393/0.393/0.393/0.393/0.393/0.492/1.180/1.475/1.574/1.574/1.377/1.180/1.082/1.082/0.984/0.984/0.984/1.082/1.377/1.475/1.377/1.377/0.984/0.393 - - - xy unitless 1 2411 TOD_TRANSPORT 0.190/0.090/0.060/0.050/0.090/0.220/0.860/1.840/1.860/1.410/1.240/1.200/1.320/1.440/1.450/1.590/2.030/2.080/1.510/1.060/0.740/0.620/0.610/0.440 - - - xy unitless 1 #========================================================================= # --- Sector-wise day-of-week scale factors for CEDS --- # These scale factors could potentially be used for other global base emissions if modified accordingly. #========================================================================= 706 DOW_ENERGY 0.850/1.060/1.060/1.060/1.060/1.060/0.850 - - - xy unitless 1 707 DOW_INDUSTRY 0.800/1.080/1.080/1.080/1.080/1.080/0.800 - - - xy unitless 1 709 DOW_RESIDENTIAL 0.800/1.080/1.080/1.080/1.080/1.080/0.800 - - - xy unitless 1 711 DOW_TRANSPORT 0.790/1.020/1.060/1.080/1.100/1.140/0.810 - - - xy unitless 1 )))CEDS_01x01 ### END SECTION SCALE FACTORS ### ############################################################################### ### BEGIN SECTION MASKS ############################################################################### # ScalID Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Oper Lon1/Lat1/Lon2/Lat2 (((EMISSIONS #============================================================================== # Country/region masks #============================================================================== (((APEI 1002 CANADA_MASK $ROOT/MASKS/v2018-09/Canada_mask.geos.1x1.nc MASK 2000/1/1/0 C xy 1 1 -141/40/-52/85 )))APEI (((NEI2016_MONMEAN 1007 CONUS_MASK $ROOT/MASKS/v2018-09/CONUS_Mask.01x01.nc MASK 2000/1/1/0 C xy 1 1 -140/20/-50/60 )))NEI2016_MONMEAN (((DICE_Africa 1008 AFRICA_MASK $ROOT/MASKS/v2018-09/AF_LANDMASK.geos.05x0666.global.nc LANDMASK 1985/1/1/0 C xy 1 1 -20/-37/54/40 )))DICE_Africa 1009 CHINA_MASK $ROOT/MASKS/v2018-09/China_mask.generic.1x1.nc MASK 2000/1/1/0 C xy 1 1 70/10/150/60 (((AFCID 1010 INDIA_MASK $ROOT/MASKS/v2019-05/India_mask.generic.1x1.nc MASK 2000/1/1/0 C xy 1 1 67/7/99/39 )))AFCID )))EMISSIONS ### END SECTION MASKS ### ### END OF HEMCO INPUT FILE ### #EOC ================================================ FILE: run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.gcap2_metfields ================================================ #------------------------------------------------------------------------------ # Harmonized Emissions Component (HEMCO) ! #------------------------------------------------------------------------------ #BOP # # !MODULE: HEMCO_Config.rc.gcap2_metfields # # !DESCRIPTION: Contains configuration information for GCAP2 meteorology fields # in HEMCO. #\\ #\\ # !REMARKS: # See hemco.readthedocs.io for more information. # # !REVISION HISTORY: # See https://github.com/geoschem/geos-chem for complete history #EOP #------------------------------------------------------------------------------ #BOC ############################################################################### ### BEGIN SECTION SETTINGS ############################################################################### ROOT: ${RUNDIR_DATA_ROOT}/HEMCO METDIR: ${RUNDIR_MET_DIR} RUNID: ${RUNDIR_GCAP2_RUNID} ### END SECTION SETTINGS ### ############################################################################### ### BEGIN SECTION BASE EMISSIONS ############################################################################### # ExtNr Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Species ScalIDs Cat Hier #============================================================================== # --- Meteorology fields --- #============================================================================== # --- CN fields --- * FRLAKE $METDIR/TOPO flake */1/1/0 C xy 1 * - 1 1 * FRLAND $METDIR/TOPO fgrnd */1/1/0 C xy 1 * - 1 1 * FRLANDIC $METDIR/TOPO fgice */1/1/0 C xy 1 * - 1 1 * FROCEAN $METDIR/TOPO focean */1/1/0 C xy 1 * - 1 1 * PHIS $METDIR/TOPO zatmo */1/1/0 C xy 1 * - 1 1 # --- aijh2 fields --- * ALBEDO $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh2$RUNID.nc4 ALBEDO 1851-2099/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 * CLDTOT $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh2$RUNID.nc4 CLDTOT 1851-2099/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 * EFLUX $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh2$RUNID.nc4 EFLUX 1851-2099/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 * FRSEAICE $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh2$RUNID.nc4 FRSEAICE 1851-2099/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 * FRSNO $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh2$RUNID.nc4 FRSNO 1851-2099/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 * GWETTOP $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh2$RUNID.nc4 GWETTOP 1851-2099/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 * GWETROOT $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh2$RUNID.nc4 GWETROOT 1851-2099/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 * HFLUX $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh2$RUNID.nc4 HFLUX 1851-2099/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 * LAI $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh2$RUNID.nc4 LAI 1851-2099/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 * PARDF $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh2$RUNID.nc4 PARDF 1851-2099/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 * PARDR $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh2$RUNID.nc4 PARDR 1851-2099/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 * PBLH $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh2$RUNID.nc4 PBLH 1851-2099/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 * PRECANV $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh2$RUNID.nc4 PRECANV 1851-2099/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 * PRECCON $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh2$RUNID.nc4 PRECCON 1851-2099/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 * PRECLSC $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh2$RUNID.nc4 PRECLSC 1851-2099/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 * PRECSNO $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh2$RUNID.nc4 PRECSNO 1851-2099/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 * PRECTOT $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh2$RUNID.nc4 PRECTOT 1851-2099/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 * QV2M $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh2$RUNID.nc4 QV2M 1851-2099/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 * SLP $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh2$RUNID.nc4 SLP 1851-2099/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 * SNODP $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh2$RUNID.nc4 SNODP 1851-2099/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 * SNOMAS $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh2$RUNID.nc4 SNOMAS 1851-2099/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 * SWGDN $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh2$RUNID.nc4 SWGDN 1851-2099/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 * T2M $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh2$RUNID.nc4 T2M 1851-2099/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 * TO3 $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh2$RUNID.nc4 TO3 1851-2099/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 * TROPPT $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh2$RUNID.nc4 TROPPT 1851-2099/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 * TS $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh2$RUNID.nc4 TS 1851-2099/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 * U10M $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh2$RUNID.nc4 U10M 1851-2099/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 * USTAR $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh2$RUNID.nc4 USTAR 1851-2099/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 * V10M $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh2$RUNID.nc4 V10M 1851-2099/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 * Z0M $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh2$RUNID.nc4 Z0M 1851-2099/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 * FLASH_DENS $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh2$RUNID.nc4 FLASH_DENS 1851-2099/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 * CONV_DEPTH $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh2$RUNID.nc4 CTH 1851-2099/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 # --- aijleh6 fields --- * CMFMC $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijleh6$RUNID.nc4 CMFMC 1851-2099/1-12/1-31/*/+90minute RFY xyz 1 * - 1 1 * PFICU $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijleh6$RUNID.nc4 PFICU 1851-2099/1-12/1-31/*/+90minute RFY xyz 1 * - 1 1 * PFILSAN $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijleh6$RUNID.nc4 PFILSAN 1851-2099/1-12/1-31/*/+90minute RFY xyz 1 * - 1 1 * PFLCU $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijleh6$RUNID.nc4 PFLCU 1851-2099/1-12/1-31/*/+90minute RFY xyz 1 * - 1 1 * PFLLSAN $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijleh6$RUNID.nc4 PFLLSAN 1851-2099/1-12/1-31/*/+90minute RFY xyz 1 * - 1 1 # --- aijlh6 fields --- * DTRAIN $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijlh6$RUNID.nc4 DTRAIN 1851-2099/1-12/1-31/*/+90minute RFY xyz 1 * - 1 1 * OMEGA $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijlh6$RUNID.nc4 OMEGA 1851-2099/1-12/1-31/*/+90minute RFY xyz 1 * - 1 1 * RH $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijlh6$RUNID.nc4 RH 1851-2099/1-12/1-31/*/+90minute RFY xyz 1 * - 1 1 * U $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijlh6$RUNID.nc4 U 1851-2099/1-12/1-31/*/+90minute RFY xyz 1 * - 1 1 * V $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijlh6$RUNID.nc4 V 1851-2099/1-12/1-31/*/+90minute RFY xyz 1 * - 1 1 * CLOUD $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijlh6$RUNID.nc4 CLOUD 1851-2099/1-12/1-31/*/+90minute RFY xyz 1 * - 1 1 * OPTDEPTH $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijlh6$RUNID.nc4 OPTDEPTH 1851-2099/1-12/1-31/*/+90minute RFY xyz 1 * - 1 1 * QI $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijlh6$RUNID.nc4 QI 1851-2099/1-12/1-31/*/+90minute RFY xyz 1 * - 1 1 * QL $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijlh6$RUNID.nc4 QL 1851-2099/1-12/1-31/*/+90minute RFY xyz 1 * - 1 1 * TAUCLI $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijlh6$RUNID.nc4 TAUCLI 1851-2099/1-12/1-31/*/+90minute RFY xyz 1 * - 1 1 * TAUCLW $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijlh6$RUNID.nc4 TAUCLW 1851-2099/1-12/1-31/*/+90minute RFY xyz 1 * - 1 1 * DQRCU $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijlh6$RUNID.nc4 DQRCU 1851-2099/1-12/1-31/*/+90minute RFY xyz 1 * - 1 1 * DQRLSAN $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijlh6$RUNID.nc4 DQRLSAN 1851-2099/1-12/1-31/*/+90minute RFY xyz 1 * - 1 1 * REEVAPCN $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijlh6$RUNID.nc4 REEVAPCN 1851-2099/1-12/1-31/*/+90minute RFY xyz 1 * - 1 1 * REEVAPLS $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijlh6$RUNID.nc4 REEVAPLS 1851-2099/1-12/1-31/*/+90minute RFY xyz 1 * - 1 1 # --- aijh6i/aijlh6i fields --- * PS $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh6i$RUNID.nc4 PS 1851-2099/1-12/1-31/* RFY xy 1 * - 1 1 * SPHU $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijlh6i$RUNID.nc4 QV 1851-2099/1-12/1-31/* RFY xyz 1 * - 1 1 * TMPU $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijlh6i$RUNID.nc4 T 1851-2099/1-12/1-31/* RFY xyz 1 * - 1 1 * PS_NEXTDAY $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh6i$RUNID.nc4 PS 1851-2099/1-12/1-31/1/+1day RFY xy 1 * - 1 1 * SPHU_NEXTDAY $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijlh6i$RUNID.nc4 QV 1851-2099/1-12/1-31/1/+1day RFY xyz 1 * - 1 1 * TMPU_NEXTDAY $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijlh6i$RUNID.nc4 T 1851-2099/1-12/1-31/1/+1day RFY xyz 1 * - 1 1 # --- Not used by GEOS-Chem --- #* EVAP $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh2$RUNID.nc4 FRSEAICE 1851-2099/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 #* GRN $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh2$RUNID.nc4 FRSEAICE 1851-2099/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 * SEAICE00 $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh2$RUNID.nc4 FRSEAICE 1851-2099/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 * SEAICE10 $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh2$RUNID.nc4 FRSEAICE 1851-2099/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 * SEAICE20 $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh2$RUNID.nc4 FRSEAICE 1851-2099/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 * SEAICE30 $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh2$RUNID.nc4 FRSEAICE 1851-2099/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 * SEAICE40 $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh2$RUNID.nc4 FRSEAICE 1851-2099/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 * SEAICE50 $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh2$RUNID.nc4 FRSEAICE 1851-2099/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 * SEAICE60 $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh2$RUNID.nc4 FRSEAICE 1851-2099/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 * SEAICE70 $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh2$RUNID.nc4 FRSEAICE 1851-2099/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 * SEAICE80 $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh2$RUNID.nc4 FRSEAICE 1851-2099/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 * SEAICE90 $METDIR/$YYYY/$MM/$YYYY$MM$DD.aijh2$RUNID.nc4 FRSEAICE 1851-2099/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 ### END SECTION BASE EMISSIONS ### ### END OF HEMCO INPUT FILE ### #EOC ================================================ FILE: run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.gmao_metfields ================================================ #------------------------------------------------------------------------------ # Harmonized Emissions Component (HEMCO) ! #------------------------------------------------------------------------------ #BOP # # !MODULE: HEMCO_Config.rc # # !DESCRIPTION: Contains configuration information for GMAO meteorology fields # in HEMCO. #\\ #\\ # !REMARKS: # See hemco.readthedocs.io for more information. # # !REVISION HISTORY: # See https://github.com/geoschem/geos-chem for complete history #EOP #------------------------------------------------------------------------------ #BOC ############################################################################### ### BEGIN SECTION SETTINGS ############################################################################### ROOT: ${RUNDIR_DATA_ROOT}/HEMCO METDIR: ${RUNDIR_MET_DIR} ### END SECTION SETTINGS ### ############################################################################### ### BEGIN SECTION BASE EMISSIONS ############################################################################### # ExtNr Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Species ScalIDs Cat Hier #============================================================================== # --- Meteorology fields --- #============================================================================== # --- CN fields --- * FRLAKE $METDIR/$CNYR/01/$MET.$CNYR0101.CN.$RES.$NC FRLAKE */1/1/0 C xy 1 * - 1 1 * FRLAND $METDIR/$CNYR/01/$MET.$CNYR0101.CN.$RES.$NC FRLAND */1/1/0 C xy 1 * - 1 1 * FRLANDIC $METDIR/$CNYR/01/$MET.$CNYR0101.CN.$RES.$NC FRLANDIC */1/1/0 C xy 1 * - 1 1 * FROCEAN $METDIR/$CNYR/01/$MET.$CNYR0101.CN.$RES.$NC FROCEAN */1/1/0 C xy 1 * - 1 1 * PHIS $METDIR/$CNYR/01/$MET.$CNYR0101.CN.$RES.$NC PHIS */1/1/0 C xy 1 * - 1 1 # --- A1 fields --- * ALBEDO $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC ALBEDO 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * CLDTOT $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC CLDTOT 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * EFLUX $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC EFLUX 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * EVAP $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC EVAP 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * FRSEAICE $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC FRSEAICE 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * FRSNO $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC FRSNO 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * GRN $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC GRN 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * GWETROOT $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC GWETROOT 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * GWETTOP $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC GWETTOP 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * HFLUX $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC HFLUX 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * LAI $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC LAI 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * PARDF $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC PARDF 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * PARDR $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC PARDR 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * PBLH $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC PBLH 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * PRECANV $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC PRECANV 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * PRECCON $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC PRECCON 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * PRECLSC $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC PRECLSC 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * PRECSNO $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC PRECSNO 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * PRECTOT $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC PRECTOT 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * QV2M $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC QV2M 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * SEAICE00 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC SEAICE00 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * SEAICE10 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC SEAICE10 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * SEAICE20 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC SEAICE20 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * SEAICE30 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC SEAICE30 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * SEAICE40 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC SEAICE40 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * SEAICE50 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC SEAICE50 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * SEAICE60 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC SEAICE60 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * SEAICE70 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC SEAICE70 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * SEAICE80 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC SEAICE80 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * SEAICE90 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC SEAICE90 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * SLP $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC SLP 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * SNODP $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC SNODP 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * SNOMAS $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC SNOMAS 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * SWGDN $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC SWGDN 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * TO3 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC TO3 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * TROPPT $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC TROPPT 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * TS $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC TS 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * T2M $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC T2M 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * U10M $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC U10M 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * USTAR $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC USTAR 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * V10M $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC V10M 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * Z0M $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC Z0M 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 # --- A3cld fields --- * CLOUD $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3cld.$RES.$NC CLOUD 1900-2100/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 * OPTDEPTH $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3cld.$RES.$NC OPTDEPTH 1900-2100/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 * QI $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3cld.$RES.$NC QI 1900-2100/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 * QL $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3cld.$RES.$NC QL 1900-2100/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 * TAUCLI $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3cld.$RES.$NC TAUCLI 1900-2100/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 * TAUCLW $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3cld.$RES.$NC TAUCLW 1900-2100/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 # --- A3dyn fields --- * DTRAIN $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3dyn.$RES.$NC DTRAIN 1900-2100/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 * OMEGA $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3dyn.$RES.$NC OMEGA 1900-2100/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 * RH $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3dyn.$RES.$NC RH 1900-2100/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 * U $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3dyn.$RES.$NC U 1900-2100/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 * V $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3dyn.$RES.$NC V 1900-2100/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 # --- A3mstC fields --- * DQRCU $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3mstC.$RES.$NC DQRCU 1900-2100/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 * DQRLSAN $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3mstC.$RES.$NC DQRLSAN 1900-2100/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 * REEVAPCN $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3mstC.$RES.$NC REEVAPCN 1900-2100/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 * REEVAPLS $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3mstC.$RES.$NC REEVAPLS 1900-2100/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 # --- A3mstE fields --- * CMFMC $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3mstE.$RES.$NC CMFMC 1900-2100/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 * PFICU $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3mstE.$RES.$NC PFICU 1900-2100/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 * PFILSAN $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3mstE.$RES.$NC PFILSAN 1900-2100/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 * PFLCU $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3mstE.$RES.$NC PFLCU 1900-2100/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 * PFLLSAN $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3mstE.$RES.$NC PFLLSAN 1900-2100/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 # --- I3 fields --- * PS $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.I3.$RES.$NC PS 1900-2100/1-12/1-31/* EFY xy 1 * - 1 1 * SPHU $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.I3.$RES.$NC QV 1900-2100/1-12/1-31/* EFY xyz 1 * - 1 1 * TMPU $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.I3.$RES.$NC T 1900-2100/1-12/1-31/* EFY xyz 1 * - 1 1 * PS_NEXTDAY $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.I3.$RES.$NC PS 1900-2100/1-12/1-31/1/+1day EFY xy 1 * - 1 1 * SPHU_NEXTDAY $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.I3.$RES.$NC QV 1900-2100/1-12/1-31/1/+1day EFY xyz 1 * - 1 1 * TMPU_NEXTDAY $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.I3.$RES.$NC T 1900-2100/1-12/1-31/1/+1day EFY xyz 1 * - 1 1 #============================================================================== # --- Fields for lightning emissions (Extension 103) --- # # Native-resolution lightning flash rates constrained to LIS/OTD climatology # and convective depth are now prescribed as offline meteorology. # --Lee Murray (16 Jan 2019) #============================================================================== (((LightNOx (((.not.LightningClimatology * FLASH_DENS $ROOT/OFFLINE_LIGHTNING/${RUNDIR_LIGHTNOX_DIR}/${RUNDIR_METLIGHTNING}/$YYYY/FLASH_CTH_${RUNDIR_METLIGHTNING}_${RUNDIR_METLIGHTNING_RES}_$YYYY_$MM.nc4 LDENS 1900-2100/1-12/1-31/0-23/+90minute RFY3 xy 1 * - 1 1 * CONV_DEPTH $ROOT/OFFLINE_LIGHTNING/${RUNDIR_LIGHTNOX_DIR}/${RUNDIR_METLIGHTNING}/$YYYY/FLASH_CTH_${RUNDIR_METLIGHTNING}_${RUNDIR_METLIGHTNING_RES}_$YYYY_$MM.nc4 CTH 1900-2100/1-12/1-31/0-23/+90minute RFY3 xy 1 * - 1 1 ))).not.LightningClimatology (((LightningClimatology * FLASH_DENS $ROOT/OFFLINE_LIGHTNING/v2020-03/${RUNDIR_METLIGHTNING}/CLIM/FLASH_CTH_${RUNDIR_METLIGHTNING}_${RUNDIR_METLIGHTNING_RES}_${RUNDIR_MET_LCLIM}.ymonmean.nc4 LDENS 2019/1-12/1/0 C xy 1 * - 1 1 * CONV_DEPTH $ROOT/OFFLINE_LIGHTNING/v2020-03/${RUNDIR_METLIGHTNING}/CLIM/FLASH_CTH_${RUNDIR_METLIGHTNING}_${RUNDIR_METLIGHTNING_RES}_${RUNDIR_MET_LCLIM}.ymonmean.nc4 CTH 2019/1-12/1/0 C xy 1 * - 1 1 )))LightningClimatology )))LightNOx #============================================================================== # --- Fields for soil NOx emissions (Extension 104) --- #============================================================================== (((SoilNOx (((UseSoilTemperature * TSOIL1 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1soil.$RES.$NC TSOIL1 1980-2100/1-12/1-31/*/+30minute RFY xy 1 * - 1 1 )))UseSoilTemperature )))SoilNOx ### END SECTION BASE EMISSIONS ### ### END OF HEMCO INPUT FILE ### #EOC ================================================ FILE: run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.gmao_metfields_0125 ================================================ #------------------------------------------------------------------------------ # Harmonized Emissions Component (HEMCO) ! #------------------------------------------------------------------------------ #BOP # # !MODULE: HEMCO_Config.rc # # !DESCRIPTION: Contains configuration information for GMAO meteorology fields # in HEMCO. #\\ #\\ # !REMARKS: # See hemco.readthedocs.io for more information. # # !REVISION HISTORY: # See https://github.com/geoschem/geos-chem for complete history #EOP #------------------------------------------------------------------------------ #BOC ############################################################################### ### BEGIN SECTION SETTINGS ############################################################################### ROOT: ${RUNDIR_DATA_ROOT}/HEMCO METDIR: ${RUNDIR_DATA_ROOT}/GEOS_0.25x0.3125/GEOS_FP HIGHRES: ${RUNDIR_DATA_ROOT}/GEOS_0.125x0.15625/GEOS_FP_DerivedWinds ### END SECTION SETTINGS ### ############################################################################### ### BEGIN SECTION BASE EMISSIONS ############################################################################### # ExtNr Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Species ScalIDs Cat Hier #============================================================================== # --- Meteorology fields --- #============================================================================== # --- CN fields --- * FRLAKE $METDIR/$CNYR/01/$MET.$CNYR0101.CN.025x03125.$NC FRLAKE */1/1/0 C xy 1 * - 1 1 * FRLAND $METDIR/$CNYR/01/$MET.$CNYR0101.CN.025x03125.$NC FRLAND */1/1/0 C xy 1 * - 1 1 * FRLANDIC $METDIR/$CNYR/01/$MET.$CNYR0101.CN.025x03125.$NC FRLANDIC */1/1/0 C xy 1 * - 1 1 * FROCEAN $METDIR/$CNYR/01/$MET.$CNYR0101.CN.025x03125.$NC FROCEAN */1/1/0 C xy 1 * - 1 1 * PHIS $METDIR/$CNYR/01/$MET.$CNYR0101.CN.025x03125.$NC PHIS */1/1/0 C xy 1 * - 1 1 # --- A1 fields --- * ALBEDO $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.025x03125.$NC ALBEDO 1980-2021/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * CLDTOT $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.025x03125.$NC CLDTOT 1980-2021/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * EFLUX $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.025x03125.$NC EFLUX 1980-2021/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * EVAP $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.025x03125.$NC EVAP 1980-2021/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * FRSEAICE $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.025x03125.$NC FRSEAICE 1980-2021/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * FRSNO $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.025x03125.$NC FRSNO 1980-2021/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * GRN $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.025x03125.$NC GRN 1980-2021/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * GWETROOT $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.025x03125.$NC GWETROOT 1980-2021/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * GWETTOP $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.025x03125.$NC GWETTOP 1980-2021/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * HFLUX $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.025x03125.$NC HFLUX 1980-2021/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * LAI $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.025x03125.$NC LAI 1980-2021/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * LWGNT $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.025x03125.$NC LWGNT 1980-2021/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * PARDF $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.025x03125.$NC PARDF 1980-2021/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * PARDR $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.025x03125.$NC PARDR 1980-2021/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * PBLH $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.025x03125.$NC PBLH 1980-2021/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * PRECANV $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.025x03125.$NC PRECANV 1980-2021/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * PRECCON $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.025x03125.$NC PRECCON 1980-2021/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * PRECLSC $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.025x03125.$NC PRECLSC 1980-2021/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * PRECSNO $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.025x03125.$NC PRECSNO 1980-2021/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * PRECTOT $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.025x03125.$NC PRECTOT 1980-2021/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * QV2M $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.025x03125.$NC QV2M 1980-2021/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * SEAICE00 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.025x03125.$NC SEAICE00 1980-2021/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * SEAICE10 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.025x03125.$NC SEAICE10 1980-2021/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * SEAICE20 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.025x03125.$NC SEAICE20 1980-2021/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * SEAICE30 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.025x03125.$NC SEAICE30 1980-2021/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * SEAICE40 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.025x03125.$NC SEAICE40 1980-2021/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * SEAICE50 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.025x03125.$NC SEAICE50 1980-2021/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * SEAICE60 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.025x03125.$NC SEAICE60 1980-2021/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * SEAICE70 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.025x03125.$NC SEAICE70 1980-2021/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * SEAICE80 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.025x03125.$NC SEAICE80 1980-2021/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * SEAICE90 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.025x03125.$NC SEAICE90 1980-2021/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * SLP $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.025x03125.$NC SLP 1980-2021/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * SNODP $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.025x03125.$NC SNODP 1980-2021/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * SNOMAS $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.025x03125.$NC SNOMAS 1980-2021/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * SWGDN $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.025x03125.$NC SWGDN 1980-2021/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * TO3 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.025x03125.$NC TO3 1980-2021/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * TROPPT $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.025x03125.$NC TROPPT 1980-2021/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * TS $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.025x03125.$NC TS 1980-2021/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * T2M $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.025x03125.$NC T2M 1980-2021/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * U10M $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.025x03125.$NC U10M 1980-2021/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * USTAR $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.025x03125.$NC USTAR 1980-2021/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * V10M $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.025x03125.$NC V10M 1980-2021/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 * Z0M $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.025x03125.$NC Z0M 1980-2021/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 # --- A3cld fields --- * CLOUD $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3cld.025x03125.$NC CLOUD 1980-2021/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 * OPTDEPTH $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3cld.025x03125.$NC OPTDEPTH 1980-2021/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 * QI $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3cld.025x03125.$NC QI 1980-2021/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 * QL $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3cld.025x03125.$NC QL 1980-2021/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 * TAUCLI $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3cld.025x03125.$NC TAUCLI 1980-2021/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 * TAUCLW $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3cld.025x03125.$NC TAUCLW 1980-2021/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 # --- A3dyn fields --- * DTRAIN $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3dyn.025x03125.$NC DTRAIN 1980-2021/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 * OMEGA $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3dyn.025x03125.$NC OMEGA 1980-2021/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 * RH $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3dyn.025x03125.$NC RH 1980-2021/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 # --- A3mstC fields --- * DQRCU $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3mstC.025x03125.$NC DQRCU 1980-2021/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 * DQRLSAN $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3mstC.025x03125.$NC DQRLSAN 1980-2021/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 * REEVAPCN $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3mstC.025x03125.$NC REEVAPCN 1980-2021/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 * REEVAPLS $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3mstC.025x03125.$NC REEVAPLS 1980-2021/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 # --- A3mstE fields --- * CMFMC $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3mstE.025x03125.$NC CMFMC 1980-2021/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 * PFICU $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3mstE.025x03125.$NC PFICU 1980-2021/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 * PFILSAN $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3mstE.025x03125.$NC PFILSAN 1980-2021/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 * PFLCU $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3mstE.025x03125.$NC PFLCU 1980-2021/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 * PFLLSAN $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3mstE.025x03125.$NC PFLLSAN 1980-2021/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 # --- I3 fields --- * TMPU $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.I3.025x03125.$NC T 1980-2021/1-12/1-31/* EFY xyz 1 * - 1 1 * TMPU_NEXTDAY $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.I3.025x03125.$NC T 1980-2021/1-12/1-31/1/+1day EFY xyz 1 * - 1 1 # --- 0.125x0.15625 fields --- * U $HIGHRES/Y$YYYY/M$MM/D$DD/GEOS.fp.asm.A1dyn.$RES.$YYYY$MM$DD.nc4 UA 2021-2023/1-12/1-31/* EFY xyz 1 * - 1 1 * V $HIGHRES/Y$YYYY/M$MM/D$DD/GEOS.fp.asm.A1dyn.$RES.$YYYY$MM$DD.nc4 VA 2021-2023/1-12/1-31/* EFY xyz 1 * - 1 1 * PS $HIGHRES/Y$YYYY/M$MM/D$DD/GEOS.fp.asm.I1dyn.$RES.$YYYY$MM$DD.nc4 PS 2021-2023/1-12/1-31/* EFY xy 1 * - 1 1 * SPHU $HIGHRES/Y$YYYY/M$MM/D$DD/GEOS.fp.asm.I1dyn.$RES.$YYYY$MM$DD.nc4 QV 2021-2023/1-12/1-31/* EFY xyz 1 * - 1 1 * PS_NEXTDAY $HIGHRES/Y$YYYY/M$MM/D$DD/GEOS.fp.asm.I1dyn.$RES.$YYYY$MM$DD.nc4 PS 2021-2023/1-12/1-31/*/+1day EFY xy 1 * - 1 1 * SPHU_NEXTDAY $HIGHRES/Y$YYYY/M$MM/D$DD/GEOS.fp.asm.I1dyn.$RES.$YYYY$MM$DD.nc4 QV 2021-2023/1-12/1-31/*/+1day EFY xyz 1 * - 1 1 #============================================================================== # --- Fields for lightning emissions (Extension 103) --- # # Native-resolution lightning flash rates constrained to LIS/OTD climatology # and convective depth are now prescribed as offline meteorology. # --Lee Murray (16 Jan 2019) # # These fields are currently not available for 0.125x0.15625 resolution # (M. Sulprizio, 27 Mar 2025) #============================================================================== (((LightNOx (((.not.LightningClimatology * FLASH_DENS $ROOT/OFFLINE_LIGHTNING/${RUNDIR_LIGHTNOX_DIR}/$MET/$YYYY/FLASH_CTH_$MET_0.25x0.3125_$YYYY_$MM.nc4 LDENS 1980-2021/1-12/1-31/0-23/+90minute RFY3 xy 1 * - 1 1 * CONV_DEPTH $ROOT/OFFLINE_LIGHTNING/${RUNDIR_LIGHTNOX_DIR}/$MET/$YYYY/FLASH_CTH_$MET_0.25x0.3125_$YYYY_$MM.nc4 CTH 1980-2021/1-12/1-31/0-23/+90minute RFY3 xy 1 * - 1 1 ))).not.LightningClimatology (((LightningClimatology * FLASH_DENS $ROOT/OFFLINE_LIGHTNING/v2020-03/$MET/CLIM/FLASH_CTH_$MET_0.25x0.3125_2014-2019.ymonmean.nc4 LDENS 2019/1-12/1/0 C xy 1 * - 1 1 * CONV_DEPTH $ROOT/OFFLINE_LIGHTNING/v2020-03/$MET/CLIM/FLASH_CTH_$MET_0.25x0.3125_2014-2019.ymonmean.nc4 CTH 2019/1-12/1/0 C xy 1 * - 1 1 )))LightningClimatology )))LightNOx ### END SECTION BASE EMISSIONS ### ### END OF HEMCO INPUT FILE ### #EOC ================================================ FILE: run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.metals ================================================ #------------------------------------------------------------------------------ # Harmonized Emissions Component (HEMCO) ! #------------------------------------------------------------------------------ #BOP # # !MODULE: HEMCO_Config.rc # # !DESCRIPTION: Contains configuration information for HEMCO. Define the # emissions inventories and corresponding file paths here. Entire # configuration files can be inserted into this configuration file with # an '>>>include' statement, e.g. '>>>include HEMCO\_Config\_test.rc' # The settings of include-files will be ignored. #\\ #\\ # !REMARKS: # See hemco.readthedocs.io for more information. # # !REVISION HISTORY: # See https://github.com/geoschem/geos-chem for complete history #EOP #------------------------------------------------------------------------------ #BOC ############################################################################### ### BEGIN SECTION SETTINGS ############################################################################### ROOT: ${RUNDIR_DATA_ROOT}/HEMCO GCAPSCENARIO: ${RUNDIR_GCAP2_SCENARIO} GCAPVERTRES: ${RUNDIR_GCAP2_VERTRES} Logfile: * DiagnFile: HEMCO_Diagn.rc DiagnPrefix: ./OutputDir/HEMCO_diagnostics DiagnFreq: Monthly Wildcard: * Separator: / Unit tolerance: 1 Negative values: 0 Only unitless scale factors: false Verbose: false VerboseOnCores: root # Accepted values: root all ### END SECTION SETTINGS ### ############################################################################### ### BEGIN SECTION EXTENSION SWITCHES ############################################################################### # ExtNr ExtName on/off Species Years avail. 0 Base : on * # ----- MAIN SWITCHES --------------------------------------------------------- --> EMISSIONS : true --> METEOROLOGY : true ${RUNDIR_MET_AVAIL} # ----- RESTART FIELDS -------------------------------------------------------- --> GC_RESTART : true # ----- REGIONAL INVENTORIES -------------------------------------------------- --> CA_Metal : true --> NEI2011_Metal : true # ----- NON-EMISSIONS DATA ---------------------------------------------------- --> OLSON_LANDMAP : true # 1985 --> YUAN_MODIS_LAI : true # 2000-2020 #------------------------------------------------------------------------------ ### END SECTION EXTENSION SWITCHES ### ############################################################################### ### BEGIN SECTION BASE EMISSIONS ############################################################################### # ExtNr Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Species ScalIDs Cat Hier (((EMISSIONS #============================================================================== # --- CANADA Trace Metal Inventory --- #============================================================================== (((CA_Metal 0 CAN_Al_F1 $ROOT/TRACE_METALS/v2021-06/Canada/2011/$MM/CA_Crust_0.1x0.1_2011$MM$DD.nc Al 2011-2013/1-12/1-31/0-23 R xy kg/m2/s AlF1 1002/782/801 1 1 0 CAN_Al_F2 - - - - - - AlF2 1002/782/802 1 1 0 CAN_As_F1 $ROOT/TRACE_METALS/v2021-06/Canada/2013/CA_HeavyMetal_0.1x0.1_2013.nc As 2011-2013/1-12/1-31/0-23 R xy kg/m2/s AsF1 1002/801 1 1 0 CAN_As_F2 - - - - - - AsF2 1002/802 1 1 0 CAN_Ca_F1 $ROOT/TRACE_METALS/v2021-06/Canada/2011/$MM/CA_Crust_0.1x0.1_2011$MM$DD.nc Ca 2011-2013/1-12/1-31/0-23 R xy kg/m2/s CaF1 1002/787/801 1 1 0 CAN_Ca_F2 - - - - - - CaF2 1002/787/802 1 1 0 CAN_Ca_C3 - - - - - - CaC3 1002/787/800/803 1 1 0 CAN_Ca_C4 - - - - - - CaC4 1002/787/800/804 1 1 0 CAN_Cd_F1 $ROOT/TRACE_METALS/v2021-06/Canada/2013/CA_HeavyMetal_0.1x0.1_2013.nc Cd 2011-2013/1-12/1-31/0-23 R xy kg/m2/s CdF1 1002/801 1 1 0 CAN_Cd_F2 - - - - - - CdF2 1002/802 1 1 0 CAN_Fe_F1 $ROOT/TRACE_METALS/v2021-06/Canada/2011/$MM/CA_Crust_0.1x0.1_2011$MM$DD.nc Fe 2011-2013/1-12/1-31/0-23 R xy kg/m2/s FeF1 1002/781/801 1 1 0 CAN_Fe_F2 - - - - - - FeF2 1002/781/802 1 1 0 CAN_K_F1 $ROOT/TRACE_METALS/v2021-06/Canada/2011/$MM/CA_Crust_0.1x0.1_2011$MM$DD.nc K 2011-2013/1-12/1-31/0-23 R xy kg/m2/s KF1 1002/785/801 1 1 0 CAN_K_F2 - - - - - - KF2 1002/785/802 1 1 0 CAN_K_C3 - - - - - - KC3 1002/785/800/803 1 1 0 CAN_K_C4 - - - - - - KC4 1002/785/800/804 1 1 0 CAN_Mg_F1 $ROOT/TRACE_METALS/v2021-06/Canada/2011/$MM/CA_Crust_0.1x0.1_2011$MM$DD.nc Mg 2011-2013/1-12/1-31/0-23 R xy kg/m2/s MgF1 1002/784/801 1 1 0 CAN_Mg_F2 - - - - - - MgF2 1002/784/802 1 1 0 CAN_Mg_C3 - - - - - - MgC3 1002/784/800/803 1 1 0 CAN_Mg_C4 - - - - - - MgC4 1002/784/800/804 1 1 0 CAN_Mn_F1 $ROOT/TRACE_METALS/v2021-06/Canada/2011/$MM/CA_Crust_0.1x0.1_2011$MM$DD.nc Mn 2011-2013/1-12/1-31/0-23 R xy kg/m2/s MnF1 1002/788/801 1 1 0 CAN_Mn_F2 - - - - - - MnF2 1002/788/802 1 1 0 CAN_Ni_F1 $ROOT/TRACE_METALS/v2021-06/Canada/2013/CA_HeavyMetal_0.1x0.1_2013.nc Ni 2011-2013/1-12/1-31/0-23 R xy kg/m2/s NiF1 1002/801 1 1 0 CAN_Ni_F2 - - - - - - NiF2 1002/802 1 1 0 CAN_Pb_F1 $ROOT/TRACE_METALS/v2021-06/Canada/2013/CA_HeavyMetal_0.1x0.1_2013.nc Pb 2011-2013/1-12/1-31/0-23 R xy kg/m2/s PbF1 1002/801 1 1 0 CAN_Pb_F2 - - - - - - PbF2 1002/802 1 1 0 CAN_Si_F1 $ROOT/TRACE_METALS/v2021-06/Canada/2011/$MM/CA_Crust_0.1x0.1_2011$MM$DD.nc Si 2011-2013/1-12/1-31/0-23 R xy kg/m2/s SiF1 1002/786/801 1 1 0 CAN_Si_F2 - - - - - - SiF2 1002/786/802 1 1 0 CAN_Ti_F1 $ROOT/TRACE_METALS/v2021-06/Canada/2011/$MM/CA_Crust_0.1x0.1_2011$MM$DD.nc Ti 2011-2013/1-12/1-31/0-23 R xy kg/m2/s TiF1 1002/783/801 1 1 0 CAN_Ti_F2 - - - - - - TiF2 1002/783/802 1 1 )))CA_Metal #============================================================================== # --- NEI 2011 Trace Metal Inventory --- #============================================================================== (((NEI2011_Metal # # Surface inventory # 0 NEI11_SURFACE_Al_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_0.1x0.1_2011$MM$DD_all.nc Al 2011-2013/1-12/1-31/0-23 R xy kg/m2/s AlF1 1007/801 2 1 0 NEI11_SURFACE_AL_F2 - - - - - - AlF2 1007/802 2 1 0 NEI11_SURFACE_As_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_0.1x0.1_2011$MM$DD_all.nc As 2011-2013/1-12/1-31/0-23 R xy kg/m2/s AsF1 1007/801 2 1 0 NEI11_SURFACE_As_F2 - - - - - - AsF2 1007/802 2 1 0 NEI11_SURFACE_Ca_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_0.1x0.1_2011$MM$DD_all.nc Ca 2011-2013/1-12/1-31/0-23 R xy kg/m2/s CaF1 1007/801 2 1 0 NEI11_SURFACE_Ca_F2 - - - - - - CaF2 1007/802 2 1 0 NEI11_SURFACE_Ca_C3 - - - - - - CaC3 1007/787/803 2 1 0 NEI11_SURFACE_Ca_C4 - - - - - - CaC4 1007/787/804 2 1 0 NEI11_SURFACE_Cd_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_0.1x0.1_2011$MM$DD_all.nc Cd 2011-2013/1-12/1-31/0-23 R xy kg/m2/s CdF1 1007/801 2 1 0 NEI11_SURFACE_Cd_F2 - - - - - - CdF2 1007/802 2 1 0 NEI11_SURFACE_Fe_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_0.1x0.1_2011$MM$DD_all.nc Fe 2011-2013/1-12/1-31/0-23 R xy kg/m2/s FeF1 1007/801 2 1 0 NEI11_SURFACE_Fe_F2 - - - - - - FeF2 1007/802 2 1 0 NEI11_SURFACE_K_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_0.1x0.1_2011$MM$DD_all.nc K 2011-2013/1-12/1-31/0-23 R xy kg/m2/s KF1 1007/801 2 1 0 NEI11_SURFACE_K_F2 - - - - - - KF2 1007/802 2 1 0 NEI11_SURFACE_K_C3 - - - - - - KC3 1007/785/803 2 1 0 NEI11_SURFACE_K_C4 - - - - - - KC4 1007/785/804 2 1 0 NEI11_SURFACE_Mg_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_0.1x0.1_2011$MM$DD_all.nc Mg 2011-2013/1-12/1-31/0-23 R xy kg/m2/s MgF1 1007/801 2 1 0 NEI11_SURFACE_Mg_F2 - - - - - - MgF2 1007/802 2 1 0 NEI11_SURFACE_Mg_C3 - - - - - - MgC3 1007/784/803 2 1 0 NEI11_SURFACE_Mg_C4 - - - - - - MgC4 1007/784/804 2 1 0 NEI11_SURFACE_Mn_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_0.1x0.1_2011$MM$DD_all.nc Mn 2011-2013/1-12/1-31/0-23 R xy kg/m2/s MnF1 1007/801 2 1 0 NEI11_SURFACE_Mn_F2 - - - - - - MnF2 1007/802 2 1 0 NEI11_SURFACE_Ni_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_0.1x0.1_2011$MM$DD_all.nc Ni 2011-2013/1-12/1-31/0-23 R xy kg/m2/s NiF1 1007/801 2 1 0 NEI11_SURFACE_Ni_F2 - - - - - - NiF2 1007/802 2 1 0 NEI11_SURFACE_Pb_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_0.1x0.1_2011$MM$DD_all.nc Pb 2011-2013/1-12/1-31/0-23 R xy kg/m2/s PbF1 1007/801 2 1 0 NEI11_SURFACE_Pb_F2 - - - - - - PbF2 1007/802 2 1 0 NEI11_SURFACE_Si_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_0.1x0.1_2011$MM$DD_all.nc Si 2011-2013/1-12/1-31/0-23 R xy kg/m2/s SiF1 1007/801 2 1 0 NEI11_SURFACE_Si_F2 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_0.1x0.1_2011$MM$DD_all.nc Si 2011-2013/1-12/1-31/0-23 R xy kg/m2/s SiF2 1007/802 2 1 0 NEI11_SURFACE_Ti_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_0.1x0.1_2011$MM$DD_all.nc Ti 2011-2013/1-12/1-31/0-23 R xy kg/m2/s TiF1 1007/801 2 1 0 NEI11_SURFACE_Ti_F2 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_0.1x0.1_2011$MM$DD_all.nc Ti 2011-2013/1-12/1-31/0-23 R xy kg/m2/s TiF2 1007/802 2 1 # # Electric Generating Units (ptegu) # 0 NEI11_INLN_PTEGU_Al_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_stack_0.1x0.1_2011$MM$DD_ptegu.nc Al 2011-2013/1-12/1-31/0-23 R xy kg/m2/s AlF1 1007/801 3 1 0 NEI11_INLN_PTEGU_Al_F2 - - - - - - AlF2 1007/802 3 1 0 NEI11_INLN_PTEGU_As_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_stack_0.1x0.1_2011$MM$DD_ptegu.nc As 2011-2013/1-12/1-31/0-23 R xy kg/m2/s AsF1 1007/801 3 1 0 NEI11_INLN_PTEGU_As_F2 - - - - - - AsF2 1007/802 3 1 0 NEI11_INLN_PTEGU_Ca_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_stack_0.1x0.1_2011$MM$DD_ptegu.nc Ca 2011-2013/1-12/1-31/0-23 R xy kg/m2/s CaF1 1007/801 3 1 0 NEI11_INLN_PTEGU_Ca_F2 - - - - - - CaF2 1007/802 3 1 0 NEI11_INLN_PTEGU_Cd_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_stack_0.1x0.1_2011$MM$DD_ptegu.nc Cd 2011-2013/1-12/1-31/0-23 R xy kg/m2/s CdF1 1007/801 3 1 0 NEI11_INLN_PTEGU_Cd_F2 - - - - - - CdF2 1007/802 3 1 0 NEI11_INLN_PTEGU_Fe_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_stack_0.1x0.1_2011$MM$DD_ptegu.nc Fe 2011-2013/1-12/1-31/0-23 R xy kg/m2/s FeF1 1007/801 3 1 0 NEI11_INLN_PTEGU_Fe_F2 - - - - - - FeF2 1007/802 3 1 0 NEI11_INLN_PTEGU_K_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_stack_0.1x0.1_2011$MM$DD_ptegu.nc PK 2011-2013/1-12/1-31/0-23 R xy kg/m2/s KF1 1007/801 3 1 0 NEI11_INLN_PTEGU_K_F2 - - - - - - KF2 1007/802 3 1 0 NEI11_INLN_PTEGU_Mg_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_stack_0.1x0.1_2011$MM$DD_ptegu.nc Mg 2011-2013/1-12/1-31/0-23 R xy kg/m2/s MgF1 1007/801 3 1 0 NEI11_INLN_PTEGU_Mg_F2 - - - - - - MgF2 1007/802 3 1 0 NEI11_INLN_PTEGU_Mn_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_stack_0.1x0.1_2011$MM$DD_ptegu.nc Mn 2011-2013/1-12/1-31/0-23 R xy kg/m2/s MnF1 1007/801 3 1 0 NEI11_INLN_PTEGU_Mn_F2 - - - - - - MnF2 1007/802 3 1 0 NEI11_INLN_PTEGU_Ni_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_stack_0.1x0.1_2011$MM$DD_ptegu.nc Ni 2011-2013/1-12/1-31/0-23 R xy kg/m2/s NiF1 1007/801 3 1 0 NEI11_INLN_PTEGU_Ni_F2 - - - - - - NiF2 1007/802 3 1 0 NEI11_INLN_PTEGU_Pb_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_stack_0.1x0.1_2011$MM$DD_ptegu.nc Pb 2011-2013/1-12/1-31/0-23 R xy kg/m2/s PbF1 1007/801 3 1 0 NEI11_INLN_PTEGU_Pb_F2 - - - - - - PbF2 1007/802 3 1 0 NEI11_INLN_PTEGU_Si_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_stack_0.1x0.1_2011$MM$DD_ptegu.nc Si 2011-2013/1-12/1-31/0-23 R xy kg/m2/s SiF1 1007/801 3 1 0 NEI11_INLN_PTEGU_Si_F2 - - - - - - SiF2 1007/802 3 1 0 NEI11_INLN_PTEGU_Ti_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_stack_0.1x0.1_2011$MM$DD_ptegu.nc Ti 2011-2013/1-12/1-31/0-23 R xy kg/m2/s TiF1 1007/801 3 1 0 NEI11_INLN_PTEGU_Ti_F2 - - - - - - TiF2 1007/802 3 1 # # Non-EGU PM (non industrial pm; ptnonipm) # 0 NEI11_INLN_PTNONIPM_Al_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_stack_0.1x0.1_2013$MM$DD_ptnonipm.nc Al 2011-2013/1-12/1-31/0-23 E xy kg/m2/s AlF1 1007/801 4 1 0 NEI11_INLN_PTNONIPM_Al_F2 - - - - - - AlF2 1007/802 4 1 0 NEI11_INLN_PTNONIPM_As_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_stack_0.1x0.1_2013$MM$DD_ptnonipm.nc As 2011-2013/1-12/1-31/0-23 E xy kg/m2/s AsF1 1007/801 4 1 0 NEI11_INLN_PTNONIPM_As_F2 - - - - - - AsF2 1007/802 4 1 0 NEI11_INLN_PTNONIPM_Ca_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_stack_0.1x0.1_2013$MM$DD_ptnonipm.nc Ca 2011-2013/1-12/1-31/0-23 E xy kg/m2/s CaF1 1007/801 4 1 0 NEI11_INLN_PTNONIPM_Ca_F2 - - - - - - CaF2 1007/802 4 1 0 NEI11_INLN_PTNONIPM_Cd_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_stack_0.1x0.1_2013$MM$DD_ptnonipm.nc Cd 2011-2013/1-12/1-31/0-23 E xy kg/m2/s CdF1 1007/801 4 1 0 NEI11_INLN_PTNONIPM_Cd_F2 - - - - - - CdF2 1007/802 4 1 0 NEI11_INLN_PTNONIPM_Fe_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_stack_0.1x0.1_2013$MM$DD_ptnonipm.nc Fe 2011-2013/1-12/1-31/0-23 E xy kg/m2/s FeF1 1007/801 4 1 0 NEI11_INLN_PTNONIPM_Fe_F2 - - - - - - FeF2 1007/802 4 1 0 NEI11_INLN_PTNONIPM_K_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_stack_0.1x0.1_2013$MM$DD_ptnonipm.nc PK 2011-2013/1-12/1-31/0-23 E xy kg/m2/s KF1 1007/801 4 1 0 NEI11_INLN_PTNONIPM_K_F2 - - - - - - KF2 1007/802 4 1 0 NEI11_INLN_PTNONIPM_Mg_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_stack_0.1x0.1_2013$MM$DD_ptnonipm.nc Mg 2011-2013/1-12/1-31/0-23 E xy kg/m2/s MgF1 1007/801 4 1 0 NEI11_INLN_PTNONIPM_Mg_F2 - - - - - - MgF2 1007/802 4 1 0 NEI11_INLN_PTNONIPM_Mn_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_stack_0.1x0.1_2013$MM$DD_ptnonipm.nc Mn 2011-2013/1-12/1-31/0-23 E xy kg/m2/s MnF1 1007/801 4 1 0 NEI11_INLN_PTNONIPM_Mn_F2 - - - - - - MnF2 1007/802 4 1 0 NEI11_INLN_PTNONIPM_Ni_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_stack_0.1x0.1_2013$MM$DD_ptnonipm.nc Ni 2011-2013/1-12/1-31/0-23 E xy kg/m2/s NiF1 1007/801 4 1 0 NEI11_INLN_PTNONIPM_Ni_F2 - - - - - - NiF2 1007/802 4 1 0 NEI11_INLN_PTNONIPM_Pb_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_stack_0.1x0.1_2013$MM$DD_ptnonipm.nc Pb 2011-2013/1-12/1-31/0-23 E xy kg/m2/s PbF1 1007/801 4 1 0 NEI11_INLN_PTNONIPM_Pb_F2 - - - - - - PbF2 1007/802 4 1 0 NEI11_INLN_PTNONIPM_Si_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_stack_0.1x0.1_2013$MM$DD_ptnonipm.nc Si 2011-2013/1-12/1-31/0-23 E xy kg/m2/s SiF1 1007/801 4 1 0 NEI11_INLN_PTNONIPM_Si_F2 - - - - - - SiF2 1007/802 4 1 0 NEI11_INLN_PTNONIPM_Ti_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_stack_0.1x0.1_2013$MM$DD_ptnonipm.nc Ti 2011-2013/1-12/1-31/0-23 E xy kg/m2/s TiF1 1007/801 4 1 0 NEI11_INLN_PTNONIPM_Ti_F2 - - - - - - TiF2 1007/802 4 1 # # Oil & Gas # 0 NEI11_INLN_PTOILGAS_Al_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_stack_0.1x0.1_2013$MM$DD_pt_oilgas.nc Al 2011-2013/1-12/1-31/0-23 E xy kg/m2/s AlF1 1007/801 5 1 0 NEI11_INLN_PTOILGAS_Al_F2 - - - - - - AlF2 1007/802 5 1 0 NEI11_INLN_PTOILGAS_As_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_stack_0.1x0.1_2013$MM$DD_pt_oilgas.nc As 2011-2013/1-12/1-31/0-23 E xy kg/m2/s AsF1 1007/801 5 1 0 NEI11_INLN_PTOILGAS_As_F2 - - - - - - AsF2 1007/802 5 1 0 NEI11_INLN_PTOILGAS_Ca_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_stack_0.1x0.1_2013$MM$DD_pt_oilgas.nc Ca 2011-2013/1-12/1-31/0-23 E xy kg/m2/s CaF1 1007/801 5 1 0 NEI11_INLN_PTOILGAS_Ca_F2 - - - - - - CaF2 1007/802 5 1 0 NEI11_INLN_PTOILGAS_Cd_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_stack_0.1x0.1_2013$MM$DD_pt_oilgas.nc Cd 2011-2013/1-12/1-31/0-23 E xy kg/m2/s CdF1 1007/801 5 1 0 NEI11_INLN_PTOILGAS_Cd_F2 - - - - - - CdF2 1007/802 5 1 0 NEI11_INLN_PTOILGAS_Fe_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_stack_0.1x0.1_2013$MM$DD_pt_oilgas.nc Fe 2011-2013/1-12/1-31/0-23 E xy kg/m2/s FeF1 1007/801 5 1 0 NEI11_INLN_PTOILGAS_Fe_F2 - - - - - - FeF2 1007/802 5 1 0 NEI11_INLN_PTOILGAS_K_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_stack_0.1x0.1_2013$MM$DD_pt_oilgas.nc PK 2011-2013/1-12/1-31/0-23 E xy kg/m2/s KF1 1007/801 5 1 0 NEI11_INLN_PTOILGAS_K_F2 - - - - - - KF2 1007/802 5 1 0 NEI11_INLN_PTOILGAS_Mg_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_stack_0.1x0.1_2013$MM$DD_pt_oilgas.nc Mg 2011-2013/1-12/1-31/0-23 E xy kg/m2/s MgF1 1007/801 5 1 0 NEI11_INLN_PTOILGAS_Mg_F2 - - - - - - MgF2 1007/802 5 1 0 NEI11_INLN_PTOILGAS_Mn_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_stack_0.1x0.1_2013$MM$DD_pt_oilgas.nc Mn 2011-2013/1-12/1-31/0-23 E xy kg/m2/s MnF1 1007/801 5 1 0 NEI11_INLN_PTOILGAS_Mn_F2 - - - - - - MnF2 1007/802 5 1 0 NEI11_INLN_PTOILGAS_Ni_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_stack_0.1x0.1_2013$MM$DD_pt_oilgas.nc Ni 2011-2013/1-12/1-31/0-23 E xy kg/m2/s NiF1 1007/801 5 1 0 NEI11_INLN_PTOILGAS_Ni_F2 - - - - - - NiF2 1007/802 5 1 0 NEI11_INLN_PTOILGAS_Pb_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_stack_0.1x0.1_2013$MM$DD_pt_oilgas.nc Pb 2011-2013/1-12/1-31/0-23 E xy kg/m2/s PbF1 1007/801 5 1 0 NEI11_INLN_PTOILGAS_Pb_F2 - - - - - - PbF2 1007/802 5 1 0 NEI11_INLN_PTOILGAS_Si_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_stack_0.1x0.1_2013$MM$DD_pt_oilgas.nc Si 2011-2013/1-12/1-31/0-23 E xy kg/m2/s SiF1 1007/801 5 1 0 NEI11_INLN_PTOILGAS_Si_F2 - - - - - - SiF2 1007/802 5 1 0 NEI11_INLN_PTOILGAS_Ti_F1 $ROOT/TRACE_METALS/v2021-06/USA/2011/$MM/NEI11_stack_0.1x0.1_2013$MM$DD_pt_oilgas.nc Ti 2011-2013/1-12/1-31/0-23 E xy kg/m2/s TiF1 1007/801 5 1 0 NEI11_INLN_PTOILGAS_Ti_F2 - - - - - - TiF2 1007/802 5 1 )))NEI2011_Metal )))EMISSIONS ############################################################################### ### EXTENSION DATA (subsection of BASE EMISSIONS SECTION) ### ### These fields are needed by the extensions listed above. The assigned ExtNr ### must match the ExtNr entry in section 'Extension switches'. These fields ### are only read if the extension is enabled. The fields are imported by the ### extensions by field name. The name given here must match the name used ### in the extension's source code. ############################################################################### ############################################################################### ### NON-EMISSIONS DATA (subsection of BASE EMISSIONS SECTION) ### ### Non-emissions data. The following fields are read through HEMCO but do ### not contain emissions data. The extension number is set to wildcard ### character denoting that these fields will not be considered for emission ### calculation. A given entry is only read if the assigned species name is ### an HEMCO species. ############################################################################### #============================================================================== # --- Time zones (offset to UTC) --- #============================================================================== * TIMEZONES $ROOT/TIMEZONES/v2024-02/timezones_vohra_2017_0.1x0.1.nc UTC_OFFSET 2017/1-12/1/0 C xy count * - 1 1 #============================================================================== # --- Meteorology fields --- #============================================================================== (((METEOROLOGY >>>include ${RUNDIR_MET_FIELD_CONFIG} )))METEOROLOGY #============================================================================== # --- GEOS-Chem restart file --- #============================================================================== (((GC_RESTART * SPC_ ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 SpeciesRst_?ALL? $YYYY/$MM/$DD/$HH EFYO xyz 1 * - 1 1 * DELPDRY ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Met_DELPDRY $YYYY/$MM/$DD/$HH EY xyz 1 * - 1 1 )))GC_RESTART #============================================================================== # --- Olson land map masks --- #============================================================================== (((OLSON_LANDMAP * LANDTYPE00 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE00 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE01 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE01 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE02 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE02 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE03 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE03 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE04 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE04 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE05 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE05 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE06 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE06 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE07 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE07 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE08 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE08 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE09 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE09 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE10 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE10 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE11 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE11 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE12 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE12 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE13 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE13 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE14 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE14 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE15 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE15 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE16 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE16 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE17 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE17 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE18 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE18 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE19 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE19 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE20 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE20 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE21 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE21 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE22 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE22 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE23 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE23 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE24 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE24 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE25 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE25 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE26 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE26 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE27 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE27 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE28 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE28 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE29 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE29 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE30 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE30 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE31 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE31 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE32 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE32 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE33 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE33 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE34 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE34 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE35 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE35 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE36 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE36 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE37 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE37 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE38 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE38 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE39 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE39 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE40 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE40 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE41 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE41 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE42 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE42 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE43 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE43 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE44 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE44 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE45 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE45 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE46 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE46 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE47 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE47 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE48 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE48 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE49 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE49 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE50 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE50 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE51 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE51 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE52 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE52 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE53 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE53 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE54 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE54 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE55 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE55 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE56 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE56 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE57 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE57 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE58 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE58 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE59 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE59 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE60 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE60 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE61 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE61 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE62 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE62 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE63 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE63 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE64 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE64 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE65 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE65 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE66 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE66 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE67 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE67 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE68 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE68 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE69 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE69 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE70 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE70 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE71 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE71 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE72 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE72 1985/1/1/0 C xy 1 * - 1 1 )))OLSON_LANDMAP #============================================================================== # --- Yuan processed MODIS leaf area index data --- # # Source: Yuan et al 2011, doi:10.1016/j.rse.2011.01.001 # http://globalchange.bnu.edu.cn/research/lai # # NOTES: # (1) LAI data corresponding to each Olson land type is stored in # separate netCDF variables (XLAI00, XLAI01, ... XLAI72). # The "XLAI" denotes that the files are prepared in this way. # (2) Units are "cm2 leaf/cm2 grid box". # (3) Data is timestamped every 8 days, starting from the 2nd of the month. #============================================================================== (((YUAN_MODIS_LAI * XLAI00 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI00 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI01 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI01 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI02 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI02 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI03 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI03 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI04 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI04 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI05 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI05 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI06 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI06 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI07 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI07 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI08 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI08 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI09 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI09 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI10 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI10 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI11 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI11 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI12 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI12 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI13 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI13 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI14 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI14 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI15 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI15 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI16 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI16 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI17 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI17 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI18 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI18 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI19 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI19 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI20 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI20 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI21 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI21 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI22 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI22 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI23 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI23 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI24 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI24 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI25 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI25 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI26 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI26 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI27 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI27 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI28 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI28 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI29 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI29 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI30 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI30 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI31 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI31 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI32 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI32 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI33 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI33 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI34 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI34 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI35 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI35 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI36 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI36 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI37 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI37 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI38 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI38 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI39 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI39 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI40 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI40 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI41 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI41 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI42 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI42 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI43 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI43 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI44 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI44 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI45 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI45 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI46 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI46 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI47 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI47 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI48 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI48 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI49 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI49 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI50 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI50 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI51 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI51 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI52 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI52 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI53 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI53 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI54 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI54 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI55 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI55 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI56 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI56 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI57 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI57 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI58 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI58 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI59 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI59 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI60 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI60 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI61 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI61 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI62 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI62 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI63 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI63 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI64 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI64 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI65 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI65 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI66 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI66 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI67 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI67 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI68 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI68 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI69 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI69 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI70 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI70 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI71 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI71 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI72 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI72 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 )))YUAN_MODIS_LAI ### END SECTION BASE EMISSIONS ### ############################################################################### ### BEGIN SECTION SCALE FACTORS ############################################################################### # ScalID Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Oper (((EMISSIONS #============================================================================== # --- Metal fractions in anthropogenic fugitive dust (jxu, Nov 30, 2018)--- # Based on IMPROVE and CSN observations #============================================================================== (((CA_Metal.or.NEI2011_Metal 781 Fe_DST 0.0876 - - - xy 1 1 782 Al_DST 0.0732 - - - xy 1 1 783 Ti_DST 0.0062 - - - xy 1 1 784 Mg_DST 0.0147 - - - xy 1 1 785 K_DST 0.0445 - - - xy 1 1 786 SI_DST 0.1992 - - - xy 1 1 787 CA_DST 0.0673 - - - xy 1 1 788 Mn_DST 0.0015 - - - xy 1 1 789 As_DST 0.000067 - - - xy 1 1 790 Cd_DST 0.0000067 - - - xy 1 1 791 Pb_DST 0.00065 - - - xy 1 1 792 Ni_DST 0.000146 - - - xy 1 1 )))CA_Metal.or.NEI2011_Metal #============================================================================== # --- Coarse/Fine metal scaling factor (jxu, Dec 30, 2018)--- # Based on Li Zhang JGR, 2015 # bin sizes in radius (note PM2.5 is diameter, so bin1 + 38% bin2 = PM25; 62% bin2 + bin3 + bin4 = coarse) # bin1 (0.7µm)= 0.0766; bin2 (1.4µm) = 0.1924; bin3 (2.4µm)= 0.3491; bin4 (4.5µm) = 0.3819 # note that bin3 in coarse actually includes the coarse fraction in bin2 #============================================================================== (((CA_Metal.or.NEI2011_Metal 800 CoarseFine 5.67 - - - xy 1 1 801 bin1infine 0.518 - - - xy 1 1 802 bin2infine 0.482 - - - xy 1 1 803 bin3incoarse 0.55 - - - xy 1 1 804 bin4incoarse 0.45 - - - xy 1 1 )))CA_Metal.or.NEI2011_Metal )))EMISSIONS ### END SECTION SCALE FACTORS ### ############################################################################### ### BEGIN SECTION MASKS ############################################################################### # ScalID Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Oper Lon1/Lat1/Lon2/Lat2 (((EMISSIONS (((CA_Metal 1002 CANADA_MASK $ROOT/MASKS/v2014-07/Canada_mask.geos.1x1.nc MASK 2000/1/1/0 C xy unitless 1 -141/40/-52/85 )))CA_Metal (((NEI2011_Metal 1007 NEI11_MASK $ROOT/MASKS/v2014-07/USA_LANDMASK_NEI2011_0.1x0.1.nc LANDMASK 2000/1/1/0 C xy 1 1 -140/20/-50/60 )))NEI2011_Metal )))EMISSIONS ### END SECTION MASKS ### ### END OF HEMCO INPUT FILE ### #EOC ================================================ FILE: run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.tagO3 ================================================ #------------------------------------------------------------------------------ # Harmonized Emissions Component (HEMCO) ! #------------------------------------------------------------------------------ #BOP # # !MODULE: HEMCO_Config.rc # # !DESCRIPTION: Contains configuration information for HEMCO. Define the # emissions inventories and corresponding file paths here. Entire # configuration files can be inserted into this configuration file with # an '>>>include' statement, e.g. '>>>include HEMCO\_Config\_test.rc' # The settings of include-files will be ignored. #\\ #\\ # !REMARKS: # See hemco.readthedocs.io for more information. # # !REVISION HISTORY: # See https://github.com/geoschem/geos-chem for complete history #EOP #------------------------------------------------------------------------------ #BOC ############################################################################### ### BEGIN SECTION SETTINGS ############################################################################### ROOT: ${RUNDIR_DATA_ROOT}/HEMCO GCAPSCENARIO: ${RUNDIR_GCAP2_SCENARIO} GCAPVERTRES: ${RUNDIR_GCAP2_VERTRES} Logfile: * DiagnPrefix: ./OutputDir/HEMCO_diagnostics DiagnFreq: Monthly Wildcard: * Separator: / Unit tolerance: 1 Negative values: 0 Only unitless scale factors: false Verbose: false VerboseOnCores: root # Accepted values: root all ### END SECTION SETTINGS ### ############################################################################### ### BEGIN SECTION EXTENSION SWITCHES ############################################################################### # ExtNr ExtName on/off Species Years avail. 0 Base : on * # ----- MAIN SWITCHES --------------------------------------------------------- --> EMISSIONS : true --> METEOROLOGY : true ${RUNDIR_MET_AVAIL} --> CHEMISTRY_INPUT : true # ----- RESTART FIELDS -------------------------------------------------------- --> GC_RESTART : true # ----- NON-EMISSIONS DATA ---------------------------------------------------- --> O3_PROD_LOSS : true # 2010-2019 --> OLSON_LANDMAP : true # 1985 --> YUAN_MODIS_LAI : true # 2000-2020 --> OCEAN_O3_DRYDEP : true # 1985 ### END SECTION EXTENSION SWITCHES ### ############################################################################### ### BEGIN SECTION BASE EMISSIONS ############################################################################### # ExtNr Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Species ScalIDs Cat Hier ############################################################################### ### EXTENSION DATA (subsection of BASE EMISSIONS SECTION) ### ### These fields are needed by the extensions listed above. The assigned ExtNr ### must match the ExtNr entry in section 'Extension switches'. These fields ### are only read if the extension is enabled. The fields are imported by the ### extensions by field name. The name given here must match the name used ### in the extension's source code. ############################################################################### ############################################################################### ### NON-EMISSIONS DATA (subsection of BASE EMISSIONS SECTION) ### ### Non-emissions data. The following fields are read through HEMCO but do ### not contain emissions data. The extension number is set to wildcard ### character denoting that these fields will not be considered for emission ### calculation. A given entry is only read if the assigned species name is ### an HEMCO species. ############################################################################### #============================================================================== # --- Time zones (offset to UTC) --- #============================================================================== * TIMEZONES $ROOT/TIMEZONES/v2024-02/timezones_vohra_2017_0.1x0.1.nc UTC_OFFSET 2017/1-12/1/0 C xy count * - 1 1 #============================================================================== # --- Meteorology fields --- #============================================================================== (((METEOROLOGY >>>include ${RUNDIR_MET_FIELD_CONFIG} )))METEOROLOGY #============================================================================== # --- GEOS-Chem restart file --- #============================================================================== (((GC_RESTART * SPC_ ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 SpeciesRst_?ALL? $YYYY/$MM/$DD/$HH EFYO xyz 1 * - 1 1 * DELPDRY ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Met_DELPDRY $YYYY/$MM/$DD/$HH EY xyz 1 * - 1 1 )))GC_RESTART #============================================================================== # --- O3 production and loss rates --- #============================================================================== (((CHEMISTRY_INPUT (((O3_PROD_LOSS ${RUNDIR_O3_PROD} ${RUNDIR_O3_LOSS} )))O3_PROD_LOSS )))CHEMISTRY_INPUT #============================================================================== # --- Olson land map masks --- #============================================================================== (((OLSON_LANDMAP * LANDTYPE00 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE00 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE01 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE01 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE02 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE02 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE03 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE03 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE04 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE04 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE05 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE05 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE06 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE06 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE07 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE07 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE08 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE08 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE09 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE09 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE10 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE10 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE11 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE11 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE12 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE12 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE13 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE13 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE14 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE14 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE15 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE15 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE16 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE16 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE17 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE17 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE18 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE18 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE19 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE19 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE20 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE20 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE21 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE21 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE22 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE22 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE23 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE23 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE24 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE24 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE25 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE25 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE26 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE26 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE27 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE27 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE28 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE28 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE29 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE29 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE30 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE30 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE31 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE31 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE32 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE32 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE33 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE33 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE34 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE34 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE35 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE35 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE36 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE36 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE37 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE37 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE38 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE38 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE39 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE39 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE40 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE40 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE41 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE41 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE42 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE42 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE43 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE43 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE44 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE44 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE45 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE45 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE46 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE46 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE47 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE47 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE48 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE48 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE49 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE49 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE50 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE50 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE51 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE51 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE52 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE52 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE53 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE53 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE54 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE54 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE55 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE55 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE56 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE56 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE57 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE57 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE58 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE58 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE59 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE59 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE60 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE60 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE61 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE61 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE62 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE62 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE63 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE63 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE64 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE64 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE65 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE65 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE66 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE66 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE67 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE67 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE68 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE68 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE69 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE69 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE70 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE70 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE71 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE71 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE72 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE72 1985/1/1/0 C xy 1 * - 1 1 )))OLSON_LANDMAP #============================================================================== # --- Yuan processed MODIS leaf area index data --- # # Source: Yuan et al 2011, doi:10.1016/j.rse.2011.01.001 # http://globalchange.bnu.edu.cn/research/lai # # NOTES: # (1) LAI data corresponding to each Olson land type is stored in # separate netCDF variables (XLAI00, XLAI01, ... XLAI72). # The "XLAI" denotes that the files are prepared in this way. # (2) Units are "cm2 leaf/cm2 grid box". # (3) Data is timestamped every 8 days, starting from the 2nd of the month. #============================================================================== (((YUAN_MODIS_LAI * XLAI00 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI00 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI01 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI01 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI02 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI02 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI03 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI03 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI04 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI04 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI05 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI05 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI06 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI06 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI07 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI07 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI08 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI08 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI09 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI09 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI10 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI10 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI11 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI11 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI12 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI12 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI13 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI13 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI14 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI14 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI15 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI15 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI16 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI16 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI17 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI17 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI18 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI18 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI19 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI19 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI20 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI20 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI21 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI21 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI22 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI22 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI23 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI23 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI24 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI24 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI25 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI25 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI26 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI26 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI27 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI27 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI28 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI28 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI29 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI29 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI30 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI30 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI31 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI31 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI32 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI32 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI33 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI33 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI34 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI34 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI35 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI35 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI36 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI36 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI37 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI37 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI38 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI38 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI39 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI39 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI40 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI40 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI41 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI41 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI42 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI42 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI43 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI43 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI44 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI44 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI45 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI45 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI46 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI46 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI47 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI47 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI48 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI48 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI49 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI49 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI50 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI50 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI51 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI51 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI52 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI52 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI53 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI53 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI54 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI54 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI55 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI55 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI56 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI56 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI57 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI57 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI58 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI58 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI59 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI59 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI60 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI60 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI61 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI61 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI62 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI62 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI63 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI63 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI64 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI64 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI65 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI65 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI66 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI66 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI67 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI67 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI68 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI68 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI69 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI69 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI70 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI70 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI71 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI71 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI72 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI72 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 )))YUAN_MODIS_LAI #============================================================================== # --- Oceanic ozone deposition --- # # Sea surface iodide concentration and salinity to be read in for the # new calculations for ozone deposition to the ocean #============================================================================== (((OCEAN_O3_DRYDEP * surf_salinity $ROOT/OCEAN_O3_DRYDEP/v2020-02/WOA_2013_salinity.nc s_mn 1985/1/1/0 C xy 1 * - 1 1 * surf_iodide $ROOT/OCEAN_O3_DRYDEP/v2020-02/Oi_prj_predicted_iodide_0.125x0.125_No_Skagerrak_Just_Ensemble.nc Ensemble_Monthly_mean 1970/1-12/1/0 C xy 1 * - 1 1 )))OCEAN_O3_DRYDEP ### END SECTION BASE EMISSIONS ### ############################################################################### ### BEGIN SECTION SCALE FACTORS ############################################################################### # ScalID Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Oper ### END SECTION SCALE FACTORS ### ############################################################################### ### BEGIN SECTION MASKS ############################################################################### # ScalID Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Oper Lon1/Lat1/Lon2/Lat2 ### END SECTION MASKS ### ### END OF HEMCO INPUT FILE ### #EOC ================================================ FILE: run/GCClassic/HEMCO_Diagn.rc.templates/HEMCO_Diagn.rc.Hg ================================================ #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !MODULE: HEMCO_Diagn.rc # # !DESCRIPTION: Configuration file for netCDF diagnostic output from HEMCO # (for the Hg simulation). #\\ #\\ # !REMARKS: # For more information about HEMCO diagnostics, see hemco.readthedocs.io. # # !REVISION HISTORY: # Use the gitk browser to view the Git history #EOP #------------------------------------------------------------------------------ #BOC # Name Spec ExtNr Cat Hier Dim OutUnit LongName ############################################################################### ##### Hg0 emissions ##### ############################################################################### EmisHg0_Total Hg0 -1 -1 -1 2 kg/m2/s Hg0_emission_flux_from_all_sectors EmisHg0_Anthro Hg0 0 1 -1 2 kg/m2/s Hg0_emission_flux_from_anthropogenic EmisHg0_ASGM Hg0 0 8 -1 2 kg/m2/s Hg0_emission_flux_from_ASGM EmisHg0_BioBurn Hg0 111 -1 -1 2 kg/m2/s Hg0_emission_flux_from_biomass_burning EmisHg0_Natural Hg0 0 3 -1 2 kg/m2/s Hg0_emission_flux_from_natural_sources ############################################################################### ##### Hg2 emissions ##### ############################################################################### # Note ASGM Hg2 emissions are 0, so anthro=total in default configuration EmisHgCl2_Anthro HgCl2 0 -1 -1 2 kg/m2/s HgCl2_emission_flux_from_anthropogenic ############################################################################### ##### HgP emissions ##### ############################################################################### # Note ASGM Hg2 emissions are 0, so anthro=total in default configuration EmisHg2ClP_Anthro Hg2ClP 0 -1 -1 2 kg/m2/s Hg2ClP_emission_flux_from_anthropogenic #EOC ================================================ FILE: run/GCClassic/HEMCO_Diagn.rc.templates/HEMCO_Diagn.rc.POPs ================================================ #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !MODULE: HEMCO_Diagn.rc # # !DESCRIPTION: Configuration file for netCDF diagnostic output from HEMCO # (for POPs simulations). #\\ #\\ # !REMARKS: # For more information about HEMCO diagnostics, see hemco.readthedocs.io. # # !REVISION HISTORY: # 13 Mar 2019 - M. Sulprizio- Initial version #EOP #------------------------------------------------------------------------------ #BOC # Name Spec ExtNr Cat Hier Dim OutUnit LongName EmisPOPG POPG_${RUNDIR_POP_SPC} 1002 -1 -1 2 kg/m2/s Primary_emission_of_POPG EmisPOPPOCPO POPPOCPO_${RUNDIR_POP_SPC} 1002 -1 -1 2 kg/m2/s Primary_emission_of_POPPOCPO EmisPOPPBCPO POPPBCPO_${RUNDIR_POP_SPC} 1002 -1 -1 2 kg/m2/s Primary_emission_of_POPPBCPO EmisPOPGfromSoil -1 1002 -1 -1 2 kg/m2/s Secondary_emission_of_POPG_from_soil EmisPOPGfromLake -1 1002 -1 -1 2 kg/m2/s Secondary_emission_of_POPG_from_lakes EmisPOPGfromLeaf -1 1002 -1 -1 2 kg/m2/s Secondary_emission_of_POPG_from_leaves FluxPOPGfromSoilToAir -1 1002 -1 -1 2 ng/m2/day Secondary_(positive)_flux_of_POPG_from_soils_to_air FluxPOPGfromAirToSoil -1 1002 -1 -1 2 ng/m2/day Secondary_(negative)_flux_of_POPG_from_air_to_soils FluxPOPGfromLakeToAir -1 1002 -1 -1 2 ng/m2/day Secondary_(positive)_flux_of_POPG_from_lakes_to_air FluxPOPGfromAirToLake -1 1002 -1 -1 2 ng/m2/day Secondary_(negative)_flux_of_POPG_from_air_to_lakes FluxPOPGfromLeafToAir -1 1002 -1 -1 2 ng/m2/day Secondary_(positive)_flux_of_POPG_from_leaves_to_air FluxPOPGfromAirtoLeaf -1 1002 -1 -1 2 ng/m2/day Secondary_(negative)_flux_of_POPG_from_air_to_leaves FugacitySoilToAir -1 1002 -1 -1 2 1 Fugacity_ratio_soil_to_air FugacityLakeToAir -1 1002 -1 -1 2 1 Fugacity_ratio_soil_to_air FugacityLeafToAir -1 1002 -1 -1 2 1 Fugacity_ratio__to_air #EOC ================================================ FILE: run/GCClassic/HEMCO_Diagn.rc.templates/HEMCO_Diagn.rc.TransportTracers ================================================ #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !MODULE: HEMCO_Diagn.rc # # !DESCRIPTION: Configuration file for netCDF diagnostic output from HEMCO # (for TransportTracers simulations). #\\ #\\ # !REMARKS: # For more information about HEMCO diagnostics, see hemco.readthedocs.io. # # !REVISION HISTORY: # 13 Feb 2018 - E. Lundgren - Initial version #EOP #------------------------------------------------------------------------------ #BOC # Name Spec ExtNr Cat Hier Dim OutUnit LongName ############################################################################### ##### Rn222 emissions ##### ############################################################################### EmisRn_Soil Rn222 100 -1 -1 2 kg/m2/s ############################################################################### ##### Be emissions ##### ############################################################################### EmisBe7_Cosmic Be7 100 -1 -1 3 kg/m2/s EmisBe7s_Cosmic Be7s 100 -1 -1 3 kg/m2/s EmisBe10_Cosmic Be10 100 -1 -1 3 kg/m2/s EmisBe10s_Cosmic Be10s 100 -1 -1 3 kg/m2/s ############################################################################### ##### Transport tracer emissions ##### ############################################################################### EmisSF6 SF6 -1 -1 -1 2 kg/m2/s EmisCH3I CH3I -1 -1 -1 2 kg/m2/s EmisCO_25 CO_25 -1 -1 -1 2 kg/m2/s EmisCO_50 CO_50 -1 -1 -1 2 kg/m2/s #EOC ================================================ FILE: run/GCClassic/HEMCO_Diagn.rc.templates/HEMCO_Diagn.rc.aerosol ================================================ #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !MODULE: HEMCO_Diagn.rc # # !DESCRIPTION: Configuration file for netCDF diagnostic output from HEMCO # (for aerosol-only simulation). #\\ #\\ # !REMARKS: # For more information about HEMCO diagnostics, see hemco.readthedocs.io. # # NOTES FOR BIOMASS BURNING: # 1. For GFED extension, set ExtNr = 111, Cat = -1, Hier = -1. # 2. For offline emissions, set ExtNr = 0, Cat = 5, Hier = -1 # # !REVISION HISTORY: # 13 Feb 2018 - E. Lundgren - Initial version # 30 Jan 2019 - R. Yantosca - Changed units to kg/m2/s # 08 Feb 2019 - R. Yantosca - Validated that all sectors sum to the total #EOP #------------------------------------------------------------------------------ #BOC # Name Spec ExtNr Cat Hier Dim OutUnit LongName ############################################################################### ##### BCPI and BCPO emissions ##### ############################################################################### EmisBCPI_Total BCPI -1 -1 -1 3 kg/m2/s BCPI_emission_flux_from_all_sectors EmisBCPI_Aircraft BCPI 0 20 -1 3 kg/m2/s BCPI_emission_flux_from_aircraft EmisBCPI_Anthro BCPI 0 1 -1 3 kg/m2/s BCPI_emission_flux_from_anthropogenic EmisBCPI_BioBurn BCPI 111 -1 -1 2 kg/m2/s BCPI_emission_flux_from_biomass_burning EmisBCPI_Ship BCPI 0 10 -1 2 kg/m2/s BCPI_emission_flux_from_ships EmisBCPO_Total BCPO -1 -1 -1 3 kg/m2/s BCPO_emission_flux_from_all_sectors EmisBCPO_Anthro BCPO 0 1 -1 3 kg/m2/s BCPO_emission_flux_from_anthropogenic EmisBCPO_BioBurn BCPO 111 -1 -1 2 kg/m2/s BCPO_emission_flux_from_biomass_burning EmisBCPO_Ship BCPO 0 10 -1 2 kg/m2/s BCPO_emission_flux_from_ships ############################################################################### ##### DMS emissions ##### ############################################################################### EmisDMS_Ocean DMS 101 -1 -1 2 kg/m2/s DMS_emission_flux_from_ocean ############################################################################### ##### Dust emissions ##### ############################################################################### # NOTE: Uncomment EmisDST_Total if you wish to obtain total # dust emissions from HEMCO standalone simulations #EmisDST_Total TDST -1 -1 -1 2 kg/m2/s Total_dust_emission_flux_from_natural_sources EmisDSTbin1_Total DSTbin1 -1 -1 -1 2 kg/m2/s DSTbin1_emission_flux_from_all_sectors EmisDSTbin1_Anthro DSTbin1 0 1 -1 2 kg/m2/s DSTbin1_emission_flux_from_anthropogenic EmisDSTbin1_Natural DSTbin1 0 3 -1 2 kg/m2/s DSTbin1_emission_flux_from_natural_sources EmisDSTbin2_Total DSTbin2 -1 -1 -1 2 kg/m2/s DSTbin2_emission_flux_from_all_sectors EmisDSTbin2_Anthro DSTbin2 0 1 -1 2 kg/m2/s DSTbin2_emission_flux_from_anthropogenic EmisDSTbin2_Natural DSTbin2 0 3 -1 2 kg/m2/s DSTbin2_emission_flux_from_natural_sources EmisDSTbin3_Total DSTbin3 -1 -1 -1 2 kg/m2/s DSTbin3_emission_flux_from_all_sectors EmisDSTbin3_Anthro DSTbin3 0 1 -1 2 kg/m2/s DSTbin3_emission_flux_from_anthropogenic EmisDSTbin3_Natural DSTbin3 0 3 -1 2 kg/m2/s DSTbin3_emission_flux_from_natural_sources EmisDSTbin4_Total DSTbin4 -1 -1 -1 2 kg/m2/s DSTbin4_emission_flux_from_all_sectors EmisDSTbin4_Anthro DSTbin4 0 1 -1 2 kg/m2/s DSTbin4_emission_flux_from_anthropogenic EmisDSTbin4_Natural DSTbin4 0 3 -1 2 kg/m2/s DSTbin4_emission_flux_from_natural_sources EmisDSTbin5_Natural DSTbin5 0 3 -1 2 kg/m2/s DSTbin5_emission_flux_from_natural_sources EmisDSTbin6_Natural DSTbin6 0 3 -1 2 kg/m2/s DSTbin6_emission_flux_from_natural_sources EmisDSTbin7_Natural DSTbin7 0 3 -1 2 kg/m2/s DSTbin7_emission_flux_from_natural_sources ############################################################################### ##### LIMO emissions ##### ############################################################################### EmisLIMO_Biogenic LIMO 0 3 -1 2 kg/m2/s LIMO_emission_flux_from_biogenic_sources ############################################################################### ##### MTPA emissions ##### ############################################################################### EmisMTPA_Total MTPA -1 -1 -1 3 kg/m2/s MTPA_emission_flux_from_all_sectors EmisMTPA_BioBurn MTPA 111 -1 -1 2 kg/m2/s MTPA_emission_flux_from_biomass_burning EmisMTPA_Biogenic MTPA 0 3 -1 2 kg/m2/s MTPA_emission_flux_from_biogenic_sources ############################################################################### ##### MTPO emissions ##### ############################################################################### EmisMTPO_Biogenic MTPO 0 3 -1 2 kg/m2/s MTPO_emission_flux_from_biogenic_sources ############################################################################### ##### NH3 emissions ##### ############################################################################### EmisNH3_Total NH3 -1 -1 -1 3 kg/m2/s NH3_emission_flux_from_all_sectors EmisNH3_Anthro NH3 0 1 -1 3 kg/m2/s NH3_emission_flux_from_anthropogenic EmisNH3_BioBurn NH3 111 -1 -1 2 kg/m2/s NH3_emission_flux_from_biomass_burning EmisNH3_Natural NH3 0 3 -1 2 kg/m2/s NH3_emission_flux_from_natural_sources EmisNH3_Seabirds NH3 0 30 -1 2 kg/m2/s NH3_emission_flux_from_seabirds EmisNH3_Ship NH3 0 10 -1 2 kg/m2/s NH3_emission_flux_from_ships ############################################################################### ##### OCPI and OCPO emissions ##### ############################################################################### EmisOCPI_Total OCPI -1 -1 -1 3 kg/m2/s OCPI_emission_flux_from_all_sectors EmisOCPI_Aircraft OCPI 0 20 -1 3 kg/m2/s OCPI_emission_flux_from_aircraft EmisOCPI_Anthro OCPI 0 1 -1 3 kg/m2/s OCPI_emission_flux_from_anthropogenic EmisOCPI_BioBurn OCPI 111 -1 -1 2 kg/m2/s OCPI_emission_flux_from_biomass_burning EmisOCPI_Ship OCPI 0 10 -1 2 kg/m2/s OCPI_emission_flux_from_ships EmisOCPO_Total OCPO -1 -1 -1 3 kg/m2/s OCPO_emission_flux_from_all_sectors EmisOCPO_Anthro OCPO 0 1 -1 3 kg/m2/s OCPO_emission_flux_from_anthropogenic EmisOCPO_BioBurn OCPO 111 -1 -1 2 kg/m2/s OCPO_emission_flux_from_biomass_burning EmisOCPO_Ship OCPO 0 10 -1 2 kg/m2/s OCPO_emission_flux_from_ships ############################################################################### ##### pFe emissions ##### ############################################################################### EmispFe_Total pFe -1 -1 -1 3 kg/m2/s pFe_emission_flux_from_all_sectors EmispFe_Anthro pFe 0 1 -1 3 kg/m2/s pFe_emission_flux_from_anthropogenic EmispFe_BioBurn pFe 111 -1 -1 2 kg/m2/s pFe_emission_flux_from_GFED_inventory EmispFe_Ship pFe 0 10 -1 2 kg/m2/s pFe_emission_flux_from_ships ############################################################################### ##### SESQ emissions ##### ############################################################################### # SESQ is not an active species in GEOS-Chem; disable for now #EmisSESQ_Biogenic SESQ 0 3 -1 2 kg/m2/s SESQ_emission_flux_from_biogenic_sources ############################################################################### ##### Sea salt emissions ##### ############################################################################### EmisSALA_Natural SALA 0 3 -1 2 kg/m2/s SALA_emission_flux_from_natural_sources EmisSALC_Natural SALC 0 3 -1 2 kg/m2/s SALC_emission_flux_from_natural_sources EmisSALAAL_Natural SALAAL 0 3 -1 2 kg/m2/s SALAAL_emission_flux_from_natural_sources EmisSALACL_Natural SALACL 0 3 -1 2 kg/m2/s SALACL_emission_flux_from_natural_sources EmisSALCAL_Natural SALCAL 0 3 -1 2 kg/m2/s SALCAL_emission_flux_from_natural_sources EmisSALCCL_Natural SALCCL 0 3 -1 2 kg/m2/s SALCCL_emission_flux_from_natural_sources ############################################################################### ##### SO2 emissions ##### ############################################################################### EmisSO2_Total SO2 -1 -1 -1 3 kg/m2/s SO2_emission_flux_from_all_sectors EmisSO2_Aircraft SO2 0 20 -1 3 kg/m2/s SO2_emission_flux_from_aircraft EmisSO2_Anthro SO2 0 1 -1 3 kg/m2/s SO2_emission_flux_from_anthropogenic EmisSO2_BioBurn SO2 111 -1 -1 2 kg/m2/s SO2_emission_flux_from_biomass_burning EmisSO2_VolcErupt SO2 117 51 -1 3 kg/m2/s SO2_emission_flux_from_eruptive_volcano EmisSO2_VolcDegas SO2 117 52 -1 3 kg/m2/s SO2_emission_flux_from_noneruptive_volcano EmisSO2_Ship SO2 0 10 -1 2 kg/m2/s SO2_emission_flux_from_ships ############################################################################### ##### SO4 emissions ##### ############################################################################### EmisSO4_Total SO4 -1 -1 -1 3 kg/m2/s SO4_emission_flux_from_all_sectors EmisSO4_Aircraft SO4 0 20 -1 3 kg/m2/s SO4_emission_flux_from_aircraft EmisSO4_Anthro SO4 0 1 -1 3 kg/m2/s SO4_emission_flux_from_anthropogenic EmisSO4_Ship SO4 0 10 -1 2 kg/m2/s SO4_emission_flux_from_ship ############################################################################### ##### SOAP sources ##### ############################################################################### EmisSOAP_Total SOAP -1 -1 -1 3 kg/m2/s SOAP_emission_flux_from_all_sectors EmisSOAP_Aircraft SOAP 0 20 -1 3 kg/m2/s SOAP_emission_flux_from_aircraft EmisSOAP_Anthro SOAP 0 1 -1 3 kg/m2/s SOAP_emission_flux_from_anthropogenic EmisSOAP_Biogenic SOAP 0 3 -1 2 kg/m2/s SOAP_emission_flux_from_monoterpenes EmisSOAP_BioBurn SOAP 111 -1 -1 2 kg/m2/s SOAP_emission_flux_from_biomass_burning EmisSOAP_Ship SOAP 0 10 -1 2 kg/m2/s SOAP_emission_flux_from_ships ############################################################################### ##### SOAS sources ##### ############################################################################### EmisSOAS_Biogenic SOAS 0 3 -1 2 kg/m2/s SOAS_emission_flux_from_biogenic_sources #EOC ================================================ FILE: run/GCClassic/HEMCO_Diagn.rc.templates/HEMCO_Diagn.rc.aerosol.onlineE ================================================ #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !MODULE: HEMCO_Diagn.rc # # !DESCRIPTION: Configuration file for netCDF diagnostic output from HEMCO. # (for aerosol-only simulations with ModelE meteorology). #\\ #\\ # !REMARKS: # For more information about HEMCO diagnostics, see hemco.readthedocs.io. # # NOTES FOR BIOMASS BURNING: # 1. For GFED extension, set ExtNr = 111, Cat = -1, Hier = -1. # 2. For offline emissions, set ExtNr = 0, Cat = 5, Hier = -1 # # !REVISION HISTORY: # 13 Feb 2018 - E. Lundgren - Initial version # 30 Jan 2019 - R. Yantosca - Changed units to kg/m2/s # 08 Feb 2019 - R. Yantosca - Validated that all sectors sum to the total #EOP #------------------------------------------------------------------------------ #BOC # Name Spec ExtNr Cat Hier Dim OutUnit LongName ############################################################################### ##### BCPI and BCPO emissions ##### ############################################################################### EmisBCPI_Total BCPI -1 -1 -1 3 kg/m2/s BCPI_emission_flux_from_all_sectors EmisBCPI_Aircraft BCPI 0 20 -1 3 kg/m2/s BCPI_emission_flux_from_aircraft EmisBCPI_Anthro BCPI 0 1 -1 3 kg/m2/s BCPI_emission_flux_from_anthropogenic EmisBCPI_BioBurn BCPI 111 -1 -1 2 kg/m2/s BCPI_emission_flux_from_biomass_burning EmisBCPI_Ship BCPI 0 10 -1 2 kg/m2/s BCPI_emission_flux_from_ships EmisBCPO_Total BCPO -1 -1 -1 2 kg/m2/s BCPO_emission_flux_from_all_sectors EmisBCPO_Anthro BCPO 0 1 -1 2 kg/m2/s BCPO_emission_flux_from_anthropogenic EmisBCPO_BioBurn BCPO 111 -1 -1 2 kg/m2/s BCPO_emission_flux_from_biomass_burning EmisBCPO_Ship BCPO 0 10 -1 2 kg/m2/s BCPO_emission_flux_from_ships ############################################################################### ##### DMS emissions ##### ############################################################################### EmisDMS_Ocean DMS 101 -1 -1 2 kg/m2/s DMS_emission_flux_from_ocean ############################################################################### ##### Dust emissions ##### ############################################################################### EmisDST1_Total DST1 -1 -1 -1 2 kg/m2/s DST1_emission_flux_from_all_sectors EmisDST1_Anthro DST1 0 1 -1 2 kg/m2/s DST1_emission_flux_from_anthropogenic EmisDST1_Natural DST1 105 -1 -1 2 kg/m2/s DST1_emission_flux_from_natural_sources EmisDST2_Natural DST2 105 -1 -1 2 kg/m2/s DST2_emission_flux_from_natural_sources EmisDST3_Natural DST3 105 -1 -1 2 kg/m2/s DST3_emission_flux_from_natural_sources EmisDST4_Natural DST4 105 -1 -1 2 kg/m2/s DST4_emission_flux_from_natural_sources ############################################################################### ##### LIMO emissions ##### ############################################################################### EmisLIMO_Biogenic LIMO 108 -1 -1 2 kg/m2/s LIMO_emission_flux_from_biogenic_sources ############################################################################### ##### MTPA emissions ##### ############################################################################### EmisMTPA_Total MTPA -1 -1 -1 3 kg/m2/s MTPA_emission_flux_from_all_sectors EmisMTPA_BioBurn MTPA 111 -1 -1 2 kg/m2/s MTPA_emission_flux_from_biomass_burning EmisMTPA_Biogenic MTPA 108 -1 -1 2 kg/m2/s MTPA_emission_flux_from_biogenic_sources ############################################################################### ##### MTPO emissions ##### ############################################################################### EmisMTPO_Biogenic MTPO 108 -1 -1 2 kg/m2/s MTPO_emission_flux_from_biogenic_sources ############################################################################### ##### NH3 emissions ##### ############################################################################### EmisNH3_Total NH3 -1 -1 -1 2 kg/m2/s NH3_emission_flux_from_all_sectors EmisNH3_Anthro NH3 0 1 -1 2 kg/m2/s NH3_emission_flux_from_anthropogenic EmisNH3_BioBurn NH3 111 -1 -1 2 kg/m2/s NH3_emission_flux_from_biomass_burning EmisNH3_Natural NH3 0 3 -1 2 kg/m2/s NH3_emission_flux_from_natural_sources EmisNH3_Seabirds NH3 0 30 -1 2 kg/m2/s NH3_emission_flux_from_seabirds EmisNH3_Ship NH3 0 10 -1 2 kg/m2/s NH3_emission_flux_from_ships ############################################################################### ##### OCPI and OCPO emissions ##### ############################################################################### EmisOCPI_Total OCPI -1 -1 -1 3 kg/m2/s OCPI_emission_flux_from_all_sectors EmisOCPI_Aircraft OCPI 0 20 -1 3 kg/m2/s OCPI_emission_flux_from_aircraft EmisOCPI_Anthro OCPI 0 1 -1 2 kg/m2/s OCPI_emission_flux_from_anthropogenic EmisOCPI_BioBurn OCPI 111 -1 -1 2 kg/m2/s OCPI_emission_flux_from_biomass_burning EmisOCPI_Ship OCPI 0 10 -1 2 kg/m2/s OCPI_emission_flux_from_ships EmisOCPO_Total OCPO -1 -1 -1 2 kg/m2/s OCPO_emission_flux_from_all_sectors EmisOCPO_Anthro OCPO 0 1 -1 2 kg/m2/s OCPO_emission_flux_from_anthropogenic EmisOCPO_BioBurn OCPO 111 -1 -1 2 kg/m2/s OCPO_emission_flux_from_biomass_burning EmisOCPO_Ship OCPO 0 10 -1 2 kg/m2/s OCPO_emission_flux_from_ships ############################################################################### ##### pFe emissions ##### ############################################################################### EmispFe_Total pFe -1 -1 -1 3 kg/m2/s pFe_emission_flux_from_all_sectors EmispFe_Anthro pFe 0 1 -1 3 kg/m2/s pFe_emission_flux_from_anthropogenic EmispFe_BioBurn pFe 111 -1 -1 2 kg/m2/s pFe_emission_flux_from_GFED_inventory EmispFe_Ship pFe 0 10 -1 2 kg/m2/s pFe_emission_flux_from_ships ############################################################################### ##### SESQ emissions ##### ############################################################################### # SESQ is not an active species in GEOS-Chem; disable for now #EmisSESQ_Biogenic SESQ 108 -1 -1 2 kg/m2/s SESQ_emission_flux_from_biogenic_sources ############################################################################### ##### Sea salt emissions ##### ############################################################################### EmisSALA_Natural SALA 107 -1 -1 2 kg/m2/s SALA_emission_flux_from_natural_sources EmisSALC_Natural SALC 107 -1 -1 2 kg/m2/s SALC_emission_flux_from_natural_sources EmisSALAAL_Natural SALAAL 107 -1 -1 2 kg/m2/s SALAAL_emission_flux_from_natural_sources EmisSALACL_Natural SALACL 107 -1 -1 2 kg/m2/s SALACL_emission_flux_from_natural_sources EmisSALCAL_Natural SALCAL 107 -1 -1 2 kg/m2/s SALCAL_emission_flux_from_natural_sources EmisSALCCL_Natural SALCCL 107 -1 -1 2 kg/m2/s SALCCL_emission_flux_from_natural_sources ############################################################################### ##### SO2 emissions ##### ############################################################################### EmisSO2_Total SO2 -1 -1 -1 3 kg/m2/s SO2_emission_flux_from_all_sectors EmisSO2_Aircraft SO2 0 20 -1 3 kg/m2/s SO2_emission_flux_from_aircraft EmisSO2_Anthro SO2 0 1 -1 3 kg/m2/s SO2_emission_flux_from_anthropogenic EmisSO2_BioBurn SO2 111 -1 -1 2 kg/m2/s SO2_emission_flux_from_biomass_burning EmisSO2_VolcErupt SO2 117 51 -1 3 kg/m2/s SO2_emission_flux_from_eruptive_volcano EmisSO2_VolcDegas SO2 117 52 -1 3 kg/m2/s SO2_emission_flux_from_noneruptive_volcano EmisSO2_Ship SO2 0 10 -1 2 kg/m2/s SO2_emission_flux_from_ships ############################################################################### ##### SO4 emissions ##### ############################################################################### EmisSO4_Total SO4 -1 -1 -1 3 kg/m2/s SO4_emission_flux_from_all_sectors EmisSO4_Aircraft SO4 0 20 -1 3 kg/m2/s SO4_emission_flux_from_aircraft EmisSO4_Anthro SO4 0 1 -1 3 kg/m2/s SO4_emission_flux_from_anthropogenic EmisSO4_Ship SO4 0 10 -1 2 kg/m2/s SO4_emission_flux_from_ship ############################################################################### ##### SOAP sources ##### ############################################################################### EmisSOAP_Total SOAP -1 -1 -1 3 kg/m2/s SOAP_emission_flux_from_all_sectors EmisSOAP_Aircraft SOAP 0 20 -1 3 kg/m2/s SOAP_emission_flux_from_aircraft EmisSOAP_Anthro SOAP 0 1 -1 3 kg/m2/s SOAP_emission_flux_from_anthropogenic EmisSOAP_Biogenic SOAP 108 -1 -1 2 kg/m2/s SOAP_emission_flux_from_monoterpenes EmisSOAP_BioBurn SOAP 111 -1 -1 2 kg/m2/s SOAP_emission_flux_from_biomass_burning EmisSOAP_Ship SOAP 0 10 -1 2 kg/m2/s SOAP_emission_flux_from_ships ############################################################################### ##### SOAS sources ##### ############################################################################### EmisSOAS_Biogenic SOAS 108 -1 -1 2 kg/m2/s SOAS_emission_flux_from_biogenic_sources #EOC ================================================ FILE: run/GCClassic/HEMCO_Diagn.rc.templates/HEMCO_Diagn.rc.carbon ================================================ #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !MODULE: HEMCO_Diagn.rc # # !DESCRIPTION: Configuration file for netCDF diagnostic output from HEMCO # (for carbon gases simulations). #\\ #\\ # !REMARKS: # For more information about HEMCO diagnostics, see hemco.readthedocs.io. # # NOTES FOR BIOMASS BURNING: # 1. For GFED extension, set ExtNr = 111, Cat = -1, Hier = -1. # 2. For offline emissions, set ExtNr = 0, Cat = 5, Hier = -1 #EOP #------------------------------------------------------------------------------ #BOC # Name Spec ExtNr Cat Hier Dim OutUnit LongName ############################################################################### ##### CH4 sources ##### ############################################################################### EmisCH4_Total CH4 -1 -1 -1 2 kg/m2/s CH4_emissions_from_all_sectors EmisCH4_Oil CH4 0 1 -1 2 kg/m2/s CH4_emissions_from_oil EmisCH4_Gas CH4 0 2 -1 2 kg/m2/s CH4_emissions_from_gas EmisCH4_Coal CH4 0 3 -1 2 kg/m2/s CH4_emissions_from_coal EmisCH4_Livestock CH4 0 4 -1 2 kg/m2/s CH4_emissions_from_livestock EmisCH4_Landfills CH4 0 5 -1 2 kg/m2/s CH4_emissions_from_landfills EmisCH4_Wastewater CH4 0 6 -1 2 kg/m2/s CH4_emissions_from_wastewater EmisCH4_Rice CH4 0 7 -1 2 kg/m2/s CH4_emissions_from_rice EmisCH4_OtherAnth CH4 0 8 -1 2 kg/m2/s CH4_emissions_from_other_anthropogenic_sources EmisCH4_BiomassBurn CH4 111 -1 -1 2 kg/m2/s CH4_emissions_from_biomass_burning EmisCH4_Wetlands CH4 0 10 -1 2 kg/m2/s CH4_emissions_from_wetlands EmisCH4_Seeps CH4 0 11 -1 2 kg/m2/s CH4_emissions_from_geological_seeps EmisCH4_Lakes CH4 0 12 -1 2 kg/m2/s CH4_emissions_from_lakes EmisCH4_Termites CH4 0 13 -1 2 kg/m2/s CH4_emissions_from_termites EmisCH4_SoilAbsorb CH4 0 14 -1 2 kg/m2/s CH4_emissions_from_soil_absorption EmisCH4_Reservoirs CH4 0 15 -1 2 kg/m2/s CH4_emissions_from_hydroelectric_reservoirs ############################################################################### ##### CO sources ##### ############################################################################### EmisCO_Total CO -1 -1 -1 3 kg/m2/s CO_emission_flux_from_all_sectors EmisCO_Aircraft CO 0 20 -1 3 kg/m2/s CO_emission_flux_from_aircraft EmisCO_Anthro CO 0 1 -1 3 kg/m2/s CO_emission_flux_from_anthropogenic EmisCO_BiomassBurn CO 111 -1 -1 2 kg/m2/s CO_emission_flux_from_biomass_burning EmisCO_Ship CO 0 10 -1 2 kg/m2/s CO_emission_flux_from_ships ############################################################################### ##### CO2 sources ##### ############################################################################### EmisCO2_Total CO2 0 -1 -1 3 kg/m2/s CO2_total_emissions EmisCO2_FossilFuel CO2 0 1 -1 2 kg/m2/s CO2_anthropogenic_emissions EmisCO2_Ocean CO2 0 2 -1 2 kg/m2/s CO2_ocean_emissions EmisCO2_BalBiosph CO2 0 3 -1 2 kg/m2/s CO2_balanced_biosphere EmisCO2_NetTerrExch CO2 0 5 -1 2 kg/m2/s CO2_net_terrestrial_exchange EmisCO2_Ship CO2 0 6 -1 2 kg/m2/s CO2_ship_emissions EmisCO2_Aviation CO2 0 7 -1 3 kg/m2/s CO2_aviation_emissions EmisCO2_CO2SurfCorr CO2 0 8 -1 2 kg/m2/s CO2_surface_correction_for_CO_oxidation EmisCO2_BiomassBurn CO2 111 -1 -1 2 kg/m2/s CO2_biomass_burning_emissions_from_GFED4 ############################################################################### ##### OCS sources ##### ############################################################################### EmisOCS_Total OCS 0 -1 -1 2 kg/m2/s OCS_emission_flux_from_all_sectors EmisOCS_Anthro OCS 0 1 -1 2 kg/m2/s OCS_emission_flux_from_anthropogenic EmisOCS_BiomassBurn OCS 0 2 -1 2 kg/m2/s OCS_emission_flux_from_biomass_burning EmisOCS_MissingOcean OCS 0 3 -1 2 kg/m2/s OCS_emission_flux_from_missing_ocean EmisOCS_Ocean OCS 0 4 -1 2 kg/m2/s OCS_emission_flux_from_ocean ================================================ FILE: run/GCClassic/HEMCO_Diagn.rc.templates/HEMCO_Diagn.rc.fullchem ================================================ #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !MODULE: HEMCO_Diagn.rc # # !DESCRIPTION: Configuration file for netCDF diagnostic output from HEMCO # (for fullchem simulations). #\\ #\\ # !REMARKS: # For more information about HEMCO diagnostics, see hemco.readthedocs.io. # # The INVENTORY DIAGNOSTICS (starting with "Inv") are only needed for # benchmark simulations, and can be left commented out for production runs. # # NOTES FOR BIOMASS BURNING: # 1. For GFED extension, set ExtNr = 111, Cat = -1, Hier = -1. # 2. For offline emissions, set ExtNr = 0, Cat = 5, Hier = -1 # # !REVISION HISTORY: # 13 Feb 2018 - E. Lundgren - Initial version # See https://github.com/geoschem/geos-chem for complete history #EOP #------------------------------------------------------------------------------ #BOC # Name Spec ExtNr Cat Hier Dim OutUnit LongName ############################################################################### ##### ACET emissions ##### ############################################################################### EmisACET_Total ACET -1 -1 -1 3 kg/m2/s ACET_emission_flux_from_all_sectors EmisACET_BioBurn ACET 111 -1 -1 2 kg/m2/s ACET_emission_flux_from_biomass_burning EmisACET_Biogenic ACET 0 4 -1 2 kg/m2/s ACET_emission_flux_from_biogenic_sources EmisACET_Ocean ACET 101 -1 -1 2 kg/m2/s ACET_emission_flux_from_ocean ############################################################################### ##### ACR emissions ##### ############################################################################### EmisACR_Total ACR -1 -1 -1 3 kg/m2/s ACR_emission_flux_from_all_sectors EmisACR_BioBurn ACR 111 -1 -1 2 kg/m2/s ACR_emission_flux_from_biomass_burning ############################################################################### ##### ACTA emissions ##### ############################################################################### EmisACTA_Total ACTA -1 -1 -1 3 kg/m2/s ACTA_emission_flux_from_all_sectors EmisACTA_BioBurn ACTA 111 -1 -1 2 kg/m2/s ACTA_emission_flux_from_biomass_burning ############################################################################### ##### ALD2 emissions ##### ############################################################################### EmisALD2_Total ALD2 -1 -1 -1 3 kg/m2/s ALD2_emission_flux_from_all_sectors EmisALD2_Anthro ALD2 0 1 -1 3 kg/m2/s ALD2_emission_flux_from_anthropogenic EmisALD2_BioBurn ALD2 111 -1 -1 2 kg/m2/s ALD2_emission_flux_from_biomass_burning EmisALD2_Biogenic ALD2 0 4 -1 2 kg/m2/s ALD2_emission_flux_from_biogenic_sources EmisALD2_Ocean ALD2 101 -1 -1 2 kg/m2/s ALD2_emission_flux_from_ocean EmisALD2_PlantDecay ALD2 0 3 -1 2 kg/m2/s ALD2_emission_flux_from_decaying_plants EmisALD2_Ship ALD2 0 10 -1 2 kg/m2/s ALD2_emission_flux_from_ships ############################################################################### ##### ALK4 emissions ##### ############################################################################### EmisALK4_Total ALK4 -1 -1 -1 3 kg/m2/s ALK4_emission_flux_from_all_sectors EmisALK4_Aircraft ALK4 0 20 -1 3 kg/m2/s ALK4_emission_flux_from_aircraft EmisALK4_Anthro ALK4 0 1 -1 3 kg/m2/s ALK4_emission_flux_from_anthropogenic EmisALK4_BioBurn ALK4 111 -1 -1 2 kg/m2/s ALK4_emission_flux_from_biomass_burning EmisALK4_Ship ALK4 0 10 -1 2 kg/m2/s ALK4_emission_flux_from_ships ############################################################################### ##### ALK6 emissions ##### ############################################################################### EmisALK6_Total ALK6 -1 -1 -1 3 kg/m2/s ALK6_emission_flux_from_all_sectors EmisALK6_Anthro ALK6 0 1 -1 3 kg/m2/s ALK6_emission_flux_from_anthropogenic EmisALK6_Ship ALK6 0 10 -1 2 kg/m2/s ALK6_emission_flux_from_ships ############################################################################### ##### BCPI and BCPO emissions ##### ############################################################################### EmisBCPI_Total BCPI -1 -1 -1 3 kg/m2/s BCPI_emission_flux_from_all_sectors EmisBCPI_Aircraft BCPI 0 20 -1 3 kg/m2/s BCPI_emission_flux_from_aircraft EmisBCPI_Anthro BCPI 0 1 -1 3 kg/m2/s BCPI_emission_flux_from_anthropogenic EmisBCPI_BioBurn BCPI 111 -1 -1 2 kg/m2/s BCPI_emission_flux_from_biomass_burning EmisBCPI_Ship BCPI 0 10 -1 2 kg/m2/s BCPI_emission_flux_from_ships EmisBCPO_Total BCPO -1 -1 -1 3 kg/m2/s BCPO_emission_flux_from_all_sectors EmisBCPO_Anthro BCPO 0 1 -1 3 kg/m2/s BCPO_emission_flux_from_anthropogenic EmisBCPO_BioBurn BCPO 111 -1 -1 2 kg/m2/s BCPO_emission_flux_from_biomass_burning EmisBCPO_Ship BCPO 0 10 -1 2 kg/m2/s BCPO_emission_flux_from_ships ############################################################################### ##### BENZ emissions ##### ############################################################################### EmisBENZ_Total BENZ -1 -1 -1 3 kg/m2/s BENZ_emission_flux_from_all_sectors EmisBENZ_Anthro BENZ 0 1 -1 3 kg/m2/s BENZ_emission_flux_from_anthropogenic EmisBENZ_BioBurn BENZ 111 -1 -1 2 kg/m2/s BENZ_emission_flux_from_biomass_burning EmisBENZ_Ship BENZ 0 10 -1 2 kg/m2/s BENZ_emission_flux_from_ships ############################################################################### ##### C2H2 emissions ###### ############################################################################### EmisC2H2_Total C2H2 -1 -1 -1 3 kg/m2/s C2H2_emission_flux_from_all_sectors EmisC2H2_Anthro C2H2 0 1 -1 3 kg/m2/s C2H2_emission_flux_from_anthropogenic EmisC2H2_BioBurn C2H2 111 -1 -1 2 kg/m2/s C2H2_emission_flux_from_biomass_burning EmisC2H2_Ship C2H2 0 10 -1 2 kg/m2/s C2H2_emission_flux_from_ships ############################################################################### ##### C2H4 emissions ###### ############################################################################### EmisC2H4_Total C2H4 -1 -1 -1 3 kg/m2/s C2H4_emission_flux_from_all_sectors EmisC2H4_Anthro C2H4 0 1 -1 3 kg/m2/s C2H4_emission_flux_from_anthropogenic EmisC2H4_BioBurn C2H4 111 -1 -1 2 kg/m2/s C2H4_emission_flux_from_biomass_burning EmisC2H4_Biogenic C2H4 0 4 -1 2 kg/m2/s C2H4_emission_flux_from_biogenic_sources EmisC2H4_Ship C2H4 0 10 -1 2 kg/m2/s C2H4_emission_flux_from_ships ############################################################################### ##### C2H6 emissions ###### ############################################################################### EmisC2H6_Total C2H6 -1 -1 -1 3 kg/m2/s C2H6_emission_flux_from_all_sectors EmisC2H6_Aircraft C2H6 0 20 -1 3 kg/m2/s C2H6_emission_flux_from_aircraft EmisC2H6_Anthro C2H6 0 1 -1 3 kg/m2/s C2H6_emission_flux_from_anthropogenic EmisC2H6_BioBurn C2H6 111 -1 -1 2 kg/m2/s C2H6_emission_flux_from_biomass_burning EmisC2H6_Ship C2H6 0 10 -1 2 kg/m2/s C2H6_emission_flux_from_ships ############################################################################### ##### C3H8 emissions ##### ############################################################################### EmisC3H8_Total C3H8 -1 -1 -1 3 kg/m2/s C3H8_emission_flux_from_all_sectors EmisC3H8_Aircraft C3H8 0 20 -1 3 kg/m2/s C3H8_emission_flux_from_aircraft EmisC3H8_Anthro C3H8 0 1 -1 3 kg/m2/s C3H8_emission_flux_from_anthropogenic EmisC3H8_BioBurn C3H8 111 -1 -1 2 kg/m2/s C3H8_emission_flux_from_biomass_burning EmisC3H8_Ship C3H8 0 10 -1 2 kg/m2/s C3H8_emission_flux_from_ships ############################################################################### ##### C4H6 emissions ##### ############################################################################### EmisC4H6_Total C4H6 -1 -1 -1 3 kg/m2/s C4H6_emission_flux_from_all_sectors EmisC4H6_BioBurn C4H6 111 -1 -1 2 kg/m2/s C4H6_emission_flux_from_biomass_burning ############################################################################### ##### CH2Br2 emissions ##### ############################################################################### EmisCH2Br2_Ocean CH2Br2 0 1 -1 2 kg/m2/s CH2Br2_emission_flux_from_ocean ############################################################################### ##### CH2I2 emissions ##### ############################################################################### EmisCH2I2_Ocean CH2I2 0 1 -1 2 kg/m2/s CH2I2_emission_flux_from_ocean ############################################################################### ##### CH2ICl emissions ##### ############################################################################### EmisCH2ICl_Ocean CH2ICl 0 1 -1 2 kg/m2/s CH2ICl_emission_flux_from_ocean ############################################################################### ##### CH2IBr emissions ##### ############################################################################### EmisCH2IBr_Ocean CH2IBr 0 1 -1 2 kg/m2/s CH2IBr_emission_flux_from_ocean ############################################################################### ##### CH2O emissions ##### ############################################################################### EmisCH2O_Total CH2O -1 -1 -1 3 kg/m2/s CH2O_emission_flux_from_all_sectors EmisCH2O_Aircraft CH2O 0 20 -1 3 kg/m2/s CH2O_emission_flux_from_aircraft EmisCH2O_Anthro CH2O 0 1 -1 3 kg/m2/s CH2O_emission_flux_from_anthropogenic EmisCH2O_BioBurn CH2O 111 -1 -1 2 kg/m2/s CH2O_emission_flux_from_biomass_burning EmisCH2O_Ship CH2O 0 10 -1 2 kg/m2/s CH2O_emission_flux_from_ships ############################################################################### ##### CH3I emissions ##### ############################################################################### EmisCH3I_Ocean CH3I 0 1 -1 2 kg/m2/s CH3I_emission_flux_from_ocean ############################################################################### ##### CH4 emissions ##### ############################################################################### # Zero for now, so comment out #EmisCH4_Total CH4 -1 -1 -1 3 kg/m2/s CH4_emission_flux_from_all_sectors #EmisCH4_Anthro CH4 0 1 -1 3 kg/m2/s CH4_emission_flux_from_anthropogenic #EmisCH4_BioBurn CH4 0 5 -1 2 kg/m2/s CH4_emission_flux_from_biomass_burning #EmisCH4_Ship CH4 0 10 -1 2 kg/m2/s CH4_emission_flux_from_ships ############################################################################### ##### CHBr3 emissions ##### ############################################################################### EmisCHBr3_Ocean CHBr3 0 1 -1 2 kg/m2/s CHBr3_emission_flux_from_ocean ############################################################################### ##### CO emissions ##### ############################################################################### EmisCO_Total CO -1 -1 -1 3 kg/m2/s CO_emission_flux_from_all_sectors EmisCO_Aircraft CO 0 20 -1 3 kg/m2/s CO_emission_flux_from_aircraft EmisCO_Anthro CO 0 1 -1 3 kg/m2/s CO_emission_flux_from_anthropogenic EmisCO_BioBurn CO 111 -1 -1 2 kg/m2/s CO_emission_flux_from_biomass_burning EmisCO_Ship CO 0 10 -1 2 kg/m2/s CO_emission_flux_from_ships ############################################################################### ##### CO2 emissions ##### ############################################################################### EmisCO2_Total CO2 -1 -1 -1 3 kg/m2/s CO2_emission_flux_from_all_sectors EmisCO2_Anthro CO2 0 1 -1 3 kg/m2/s CO2_emission_flux_from_anthropogenic EmisCO2_BioBurn CO2 0 5 -1 2 kg/m2/s CO2_emission_flux_from_biomass_burning EmisCO2_Ship CO2 0 10 -1 2 kg/m2/s CO2_emission_flux_from_ships ############################################################################### ##### DMS emissions ##### ############################################################################### EmisDMS_Ocean DMS 101 -1 -1 2 kg/m2/s DMS_emission_flux_from_ocean ############################################################################### ##### Dust emissions ##### ############################################################################### # NOTE: Uncomment EmisDST_Total if you wish to obtain total # dust emissions from HEMCO standalone simulations #EmisDST_Total TDST -1 -1 -1 2 kg/m2/s Total_dust_emission_flux_from_natural_sources EmisDSTbin1_Total DSTbin1 -1 -1 -1 2 kg/m2/s DSTbin1_emission_flux_from_all_sectors EmisDSTbin1_Anthro DSTbin1 0 1 -1 2 kg/m2/s DSTbin1_emission_flux_from_anthropogenic EmisDSTbin1_Natural DSTbin1 0 3 -1 2 kg/m2/s DSTbin1_emission_flux_from_natural_sources EmisDSTbin2_Total DSTbin2 -1 -1 -1 2 kg/m2/s DSTbin2_emission_flux_from_all_sectors EmisDSTbin2_Anthro DSTbin2 0 1 -1 2 kg/m2/s DSTbin2_emission_flux_from_anthropogenic EmisDSTbin2_Natural DSTbin2 0 3 -1 2 kg/m2/s DSTbin2_emission_flux_from_natural_sources EmisDSTbin3_Total DSTbin3 -1 -1 -1 2 kg/m2/s DSTbin3_emission_flux_from_all_sectors EmisDSTbin3_Anthro DSTbin3 0 1 -1 2 kg/m2/s DSTbin3_emission_flux_from_anthropogenic EmisDSTbin3_Natural DSTbin3 0 3 -1 2 kg/m2/s DSTbin3_emission_flux_from_natural_sources EmisDSTbin4_Total DSTbin4 -1 -1 -1 2 kg/m2/s DSTbin4_emission_flux_from_all_sectors EmisDSTbin4_Anthro DSTbin4 0 1 -1 2 kg/m2/s DSTbin4_emission_flux_from_anthropogenic EmisDSTbin4_Natural DSTbin4 0 3 -1 2 kg/m2/s DSTbin4_emission_flux_from_natural_sources EmisDSTbin5_Natural DSTbin5 0 3 -1 2 kg/m2/s DSTbin5_emission_flux_from_natural_sources EmisDSTbin6_Natural DSTbin6 0 3 -1 2 kg/m2/s DSTbin6_emission_flux_from_natural_sources EmisDSTbin7_Natural DSTbin7 0 3 -1 2 kg/m2/s DSTbin7_emission_flux_from_natural_sources ############################################################################### ##### EOH emissions ##### ############################################################################### EmisEOH_Total EOH -1 -1 -1 3 kg/m2/s EOH_emission_flux_from_all_sectors EmisEOH_Anthro EOH 0 1 -1 3 kg/m2/s EOH_emission_flux_from_anthropogenic EmisEOH_BioBurn EOH 111 -1 -1 2 kg/m2/s EOH_emission_flux_from_biomass_burning EmisEOH_Biogenic EOH 0 4 -1 2 kg/m2/s EOH_emission_flux_from_biogenic_sources EmisEOH_PlantDecay EOH 0 3 -1 2 kg/m2/s EOH_emission_flux_from_decaying_plants EmisEOH_Ship EOH 0 10 -1 2 kg/m2/s EOH_emission_flux_from_ships ############################################################################### ##### ETNO3 emissions ##### ############################################################################### EmisETNO3_Ocean ETNO3 101 -1 -1 2 kg/m2/s ETNO3_emission_flux_from_ocean ############################################################################### ##### FURA emissions ##### ############################################################################### EmisFURA_Total FURA -1 -1 -1 3 kg/m2/s FURA_emission_flux_from_all_sectors EmisFURA_BioBurn FURA 111 -1 -1 2 kg/m2/s FURA_emission_flux_from_biomass_burning ############################################################################### ##### GLYX emissions ##### ############################################################################### EmisGLYX_Total GLYX -1 -1 -1 3 kg/m2/s GLYX_emission_flux_from_all_sectors EmisGLYX_BioBurn GLYX 111 -1 -1 2 kg/m2/s GLYX_emission_flux_from_biomass_burning ############################################################################### ##### H2O emissions ##### ############################################################################### EmisH2O_Aircraft H2O 0 20 -1 3 kg/m2/s H2O_emission_flux_from_aircraft ############################################################################### ##### HCl emissions ##### ############################################################################### EmisHCl_Total HCl 0 -1 -1 3 kg/m2/s HCl_emission_flux_from_all_sectors EmisHCl_Anthro HCl 0 1 -1 3 kg/m2/s HCl_emission_flux_from_anthropogenic ############################################################################### ##### HCOOH sources ##### ############################################################################### EmisHCOOH_Total HCOOH -1 -1 -1 3 kg/m2/s HCOOH_emission_flux_from_all_sectors EmisHCOOH_Anthro HCOOH 0 1 -1 3 kg/m2/s HCOOH_emission_flux_from_anthropogenic EmisHCOOH_BioBurn HCOOH 111 -1 -1 2 kg/m2/s HCOOH_emission_flux_from_biomass_burning EmisHCOOH_Ship HCOOH 0 10 -1 2 kg/m2/s HCOOH_emission_flux_from_ship ############################################################################### ##### HNO3 emissions ##### ############################################################################### EmisHNO3_Ship HNO3 102 -1 -1 2 kg/m2/s HNO3_emission_flux_from_ships ############################################################################### ##### HONO emissions ##### ############################################################################### EmisHONO_Aircraft HONO 0 20 -1 3 kg/m2/s HONO_emission_flux_from_aircraft ############################################################################### ##### ISOP emissions ##### ############################################################################### EmisISOP_Total ISOP -1 -1 -1 3 kg/m2/s ISOP_emission_flux_from_all_sectors EmisISOP_BioBurn ISOP 111 -1 -1 2 kg/m2/s ISOP_emission_flux_from_biomass_burning EmisISOP_Biogenic ISOP 0 4 -1 2 kg/m2/s ISOP_emission_flux_from_biogenic_sources ############################################################################### ##### LIMO emissions ##### ############################################################################### EmisLIMO_Biogenic LIMO 0 4 -1 2 kg/m2/s LIMO_emission_flux_from_biogenic_sources ############################################################################### ##### MACR emissions ##### ############################################################################### EmisMACR_Total MACR -1 -1 -1 3 kg/m2/s MACR_emission_flux_from_all_sectors EmisMACR_Aircraft MACR 0 20 -1 3 kg/m2/s MACR_emission_flux_from_anthropogenic ############################################################################### ##### MEK emissions ##### ############################################################################### EmisMEK_Total MEK -1 -1 -1 3 kg/m2/s MEK_emission_flux_from_all_sectors EmisMEK_Anthro MEK 0 1 -1 3 kg/m2/s MEK_emission_flux_from_anthropogenic EmisMEK_BioBurn MEK 111 -1 -1 2 kg/m2/s MEK_emission_flux_from_biomass_burning EmisMEK_Ship MEK 0 10 -1 2 kg/m2/s MEK_emission_flux_from_ships ############################################################################### ##### MENO3 emissions ##### ############################################################################### EmisMENO3_Ocean MENO3 101 -1 -1 2 kg/m2/s MENO3_emission_flux_from_ocean ############################################################################### ##### MGLY emissions ##### ############################################################################### EmisMGLY_Total MGLY -1 -1 -1 3 kg/m2/s MGLY_emission_flux_from_all_sectors EmisMGLY_BioBurn MGLY 111 -1 -1 2 kg/m2/s MGLY_emission_flux_from_biomass_burning ############################################################################### ##### MOH emissions ##### ############################################################################### EmisMOH_Total MOH -1 -1 -1 3 kg/m2/s MOH_emission_flux_from_all_sectors EmisMOH_Anthro MOH 0 1 -1 3 kg/m2/s MOH_emission_flux_from_anthropogenic EmisMOH_BioBurn MOH 111 -1 -1 2 kg/m2/s MOH_emission_flux_from_biomass_burning EmisMOH_Biogenic MOH 0 4 -1 2 kg/m2/s MOH_emission_flux_from_biogenic_sources EmisMOH_Ocean MOH 101 -1 -1 2 kg/m2/s MOH_emission_flux_from_ocean EmisMOH_Ship MOH 0 10 -1 2 kg/m2/s MOH_emission_flux_from_ships ############################################################################### ##### MTPA emissions ##### ############################################################################### EmisMTPA_Total MTPA -1 -1 -1 3 kg/m2/s MTPA_emission_flux_from_all_sectors EmisMTPA_BioBurn MTPA 111 -1 -1 2 kg/m2/s MTPA_emission_flux_from_biomass_burning EmisMTPA_Biogenic MTPA 0 4 -1 2 kg/m2/s MTPA_emission_flux_from_biogenic_sources ############################################################################### ##### MTPO emissions ##### ############################################################################### EmisMTPO_Total MTPO -1 -1 -1 3 kg/m2/s MTPO_emission_flux_from_all_sectors EmisMTPO_Biogenic MTPO 0 4 -1 2 kg/m2/s MTPO_emission_flux_from_biogenic_sources ############################################################################### ##### MVK emissions ##### ############################################################################### EmisMVK_Total MVK -1 -1 -1 3 kg/m2/s MVK_emission_flux_from_all_sectors EmisMVK_BioBurn MVK 111 -1 -1 2 kg/m2/s MVK_emission_flux_from_biomass_burning ############################################################################### ##### NAP emissions ##### ############################################################################### EmisNAP_Total NAP -1 -1 -1 3 kg/m2/s NAP_emission_flux_from_all_sectors EmisNAP_Anthro NAP 0 1 -1 3 kg/m2/s NAP_emission_flux_from_anthropogenic EmisNAP_BioBurn NAP 111 -1 -1 2 kg/m2/s NAP_emission_flux_from_biomass_burning ############################################################################### ##### NH3 emissions ##### ############################################################################### EmisNH3_Total NH3 -1 -1 -1 3 kg/m2/s NH3_emission_flux_from_all_sectors EmisNH3_Anthro NH3 0 1 -1 3 kg/m2/s NH3_emission_flux_from_anthropogenic EmisNH3_BioBurn NH3 111 -1 -1 2 kg/m2/s NH3_emission_flux_from_biomass_burning EmisNH3_Natural NH3 0 3 -1 2 kg/m2/s NH3_emission_flux_from_natural_sources EmisNH3_Seabirds NH3 0 30 -1 2 kg/m2/s NH3_emission_flux_from_seabirds EmisNH3_Ship NH3 0 10 -1 2 kg/m2/s NH3_emission_flux_from_ships ############################################################################### ##### NO emissions ##### ##### ##### ##### - Separate fertilizer NOx emissions are only available when the ##### ##### SoilNOx extension is enabled ##### ############################################################################### EmisNO_Total NO -1 -1 -1 3 kg/m2/s NO_emission_flux_from_all_sectors EmisNO_Aircraft NO 0 20 -1 3 kg/m2/s NO_emission_flux_from_aircraft EmisNO_Anthro NO 0 1 -1 3 kg/m2/s NO_emission_flux_from_anthropogenic EmisNO_BioBurn NO 111 -1 -1 2 kg/m2/s NO_emission_flux_from_biomass_burning EmisNO_Lightning NO 103 -1 -1 3 kg/m2/s NO_emission_flux_from_lightning EmisNO_Ship NO 102 -1 -1 2 kg/m2/s NO_emission_flux_from_ships EmisNO_Soil NO 0 3 -1 2 kg/m2/s NO_emission_flux_from_soil_including_fertilizer #EmisNO_Fert -1 104 -1 -1 2 kg/m2/s NO_emission_flux_from_fertilizer_only ############################################################################### ##### NO2 emissions ##### ############################################################################### EmisNO2_Total NO2 -1 -1 -1 3 kg/m2/s NO2_emission_flux_from_all_sectors EmisNO2_Aircraft NO2 0 20 -1 3 kg/m2/s NO2_emission_flux_from_aircraft EmisNO2_Ship NO2 102 -1 -1 2 kg/m2/s NO2_emission_flux_from_ships ############################################################################### ##### O3 emissions ##### ############################################################################### EmisO3_Ship O3 102 -1 -1 2 kg/m2/s O3_emission_flux_from_ships ############################################################################### ##### OCPI and OCPO emissions ##### ############################################################################### EmisOCPI_Total OCPI -1 -1 -1 3 kg/m2/s OCPI_emission_flux_from_all_sectors EmisOCPI_Aircraft OCPI 0 20 -1 3 kg/m2/s OCPI_emission_flux_from_aircraft EmisOCPI_Anthro OCPI 0 1 -1 3 kg/m2/s OCPI_emission_flux_from_anthropogenic EmisOCPI_BioBurn OCPI 111 -1 -1 2 kg/m2/s OCPI_emission_flux_from_biomass_burning EmisOCPI_Ship OCPI 0 10 -1 2 kg/m2/s OCPI_emission_flux_from_ships EmisOCPO_Total OCPO -1 -1 -1 3 kg/m2/s OCPO_emission_flux_from_all_sectors EmisOCPO_Anthro OCPO 0 1 -1 3 kg/m2/s OCPO_emission_flux_from_anthropogenic EmisOCPO_BioBurn OCPO 111 -1 -1 2 kg/m2/s OCPO_emission_flux_from_biomass_burning EmisOCPO_Ship OCPO 0 10 -1 2 kg/m2/s OCPO_emission_flux_from_ships ############################################################################### ##### pFe emissions ##### ############################################################################### EmispFe_Total pFe -1 -1 -1 3 kg/m2/s pFe_emission_flux_from_all_sectors EmispFe_Anthro pFe 0 1 -1 3 kg/m2/s pFe_emission_flux_from_anthropogenic EmispFe_Ship pFe 0 10 -1 2 kg/m2/s pFe_emission_flux_from_ships ############################################################################### ##### PHEN emissions ##### ############################################################################### EmisPHEN_Total PHEN -1 -1 -1 3 kg/m2/s PHEN_emission_flux_from_all_sectors EmisPHEN_BioBurn PHEN 111 -1 -1 2 kg/m2/s PHEN_emission_flux_from_biomass_burning ############################################################################### ##### POG1 and POG2 emissions ##### ############################################################################### EmisPOG1_Total POG1 -1 -1 -1 3 kg/m2/s POG1_emission_flux_from_all_sectors EmisPOG1_Anthro POG1 0 1 -1 3 kg/m2/s POG1_emission_flux_from_anthropogenic EmisPOG1_BioBurn POG1 111 -1 -1 2 kg/m2/s POG1_emission_flux_from_GFED_inventory EmisPOG2_Total POG2 -1 -1 -1 3 kg/m2/s POG2_emission_flux_from_all_sectors EmisPOG2_Anthro POG2 0 1 -1 3 kg/m2/s POG2_emission_flux_from_anthropogenic EmisPOG2_BioBurn POG2 111 -1 -1 2 kg/m2/s POG2_emission_flux_from_GFED_inventory ############################################################################### ##### PRPE emissions ##### ############################################################################### EmisPRPE_Total PRPE -1 -1 -1 3 kg/m2/s PRPE_emission_flux_from_all_sectors EmisPRPE_Aircraft PRPE 0 20 -1 3 kg/m2/s PRPE_emission_flux_from_aircraft EmisPRPE_Anthro PRPE 0 1 -1 3 kg/m2/s PRPE_emission_flux_from_anthropogenic EmisPRPE_BioBurn PRPE 111 -1 -1 2 kg/m2/s PRPE_emission_flux_from_biomass_burning EmisPRPE_Biogenic PRPE 0 4 -1 2 kg/m2/s PRPE_emission_flux_from_biogenic_sources EmisPRPE_Ship PRPE 0 10 -1 2 kg/m2/s PRPE_emission_flux_from_ships ############################################################################### ##### RCHO emissions ##### ############################################################################### EmisRCHO_Total RCHO -1 -1 -1 3 kg/m2/s RCHO_emission_flux_from_all_sectors EmisRCHO_Aircraft RCHO 0 20 -1 3 kg/m2/s RCHO_emission_flux_from_aircraft EmisRCHO_BioBurn RCHO 111 -1 -1 2 kg/m2/s RCHO_emission_flux_from_biomass_burning ############################################################################### ##### SESQ emissions ##### ############################################################################### # SESQ is not an active species in GEOS-Chem; disable for now #EmisSESQ_Biogenic SESQ 0 4 -1 2 kg/m2/s SESQ_emission_flux_from_biogenic_sources ############################################################################### ##### Sea salt emissions ##### ############################################################################### EmisSALA_Natural SALA 0 3 -1 2 kg/m2/s SALA_emission_flux_from_natural_sources EmisBrSALA_Natural BrSALA 0 3 -1 2 kg/m2/s BrSALA_emission_flux_from_natural_sources EmisSALAAL_Natural SALAAL 0 3 -1 2 kg/m2/s SALAAL_emission_flux_from_natural_sources EmisSALACL_Natural SALACL 0 3 -1 2 kg/m2/s SALACL_emission_flux_from_natural_sources EmisSALC_Natural SALC 0 3 -1 2 kg/m2/s SALC_emission_flux_from_natural_sources EmisBrSALC_Natural BrSALC 0 3 -1 2 kg/m2/s BrSALC_emission_flux_from_natural_sources EmisSALCAL_Natural SALCAL 0 3 -1 2 kg/m2/s SALCAL_emission_flux_from_natural_sources EmisSALCCL_Natural SALCCL 0 3 -1 2 kg/m2/s SALCCL_emission_flux_from_natural_sources ############################################################################### ##### SO2 emissions ##### ############################################################################### EmisSO2_Total SO2 -1 -1 -1 3 kg/m2/s SO2_emission_flux_from_all_sectors EmisSO2_Aircraft SO2 0 20 -1 3 kg/m2/s SO2_emission_flux_from_aircraft EmisSO2_Anthro SO2 0 1 -1 3 kg/m2/s SO2_emission_flux_from_anthropogenic EmisSO2_BioBurn SO2 111 -1 -1 2 kg/m2/s SO2_emission_flux_from_biomass_burning EmisSO2_VolcErupt SO2 117 51 -1 3 kg/m2/s SO2_emission_flux_from_eruptive_volcano EmisSO2_VolcDegas SO2 117 52 -1 3 kg/m2/s SO2_emission_flux_from_noneruptive_volcano EmisSO2_Ship SO2 0 10 -1 2 kg/m2/s SO2_emission_flux_from_ships ############################################################################### ##### SO4 emissions ##### ############################################################################### EmisSO4_Total SO4 -1 -1 -1 3 kg/m2/s SO4_emission_flux_from_all_sectors EmisSO4_Aircraft SO4 0 20 -1 3 kg/m2/s SO4_emission_flux_from_aircraft EmisSO4_Anthro SO4 0 1 -1 3 kg/m2/s SO4_emission_flux_from_anthropogenic EmisSO4_Ship SO4 0 10 -1 2 kg/m2/s SO4_emission_flux_from_ship ############################################################################### ##### SOAP sources ##### ############################################################################### EmisSOAP_Total SOAP -1 -1 -1 3 kg/m2/s SOAP_emission_flux_from_all_sectors EmisSOAP_Aircraft SOAP 0 20 -1 3 kg/m2/s SOAP_emission_flux_from_aircraft EmisSOAP_Anthro SOAP 0 1 -1 3 kg/m2/s SOAP_emission_flux_from_anthropogenic EmisSOAP_Biogenic SOAP 0 4 -1 2 kg/m2/s SOAP_emission_flux_from_biogenic_sources EmisSOAP_BioBurn SOAP 111 -1 -1 2 kg/m2/s SOAP_emission_flux_from_biomass_burning EmisSOAP_Ship SOAP 0 10 -1 2 kg/m2/s SOAP_emission_flux_from_ships ############################################################################### ##### SOAS sources ##### ############################################################################### EmisSOAS_Biogenic SOAS 0 4 -1 2 kg/m2/s SOAS_emission_flux_from_biogenic_sources ############################################################################## ##### STYR emissions ##### ############################################################################### EmisSTYR_Total STYR -1 -1 -1 3 kg/m2/s STYR_emission_flux_from_all_sectors EmisSTYR_BioBurn STYR 111 -1 -1 2 kg/m2/s STYR_emission_flux_from_biomass_burning ############################################################################### ##### TMB emissions ##### ############################################################################### EmisTMB_Total TMB -1 -1 -1 3 kg/m2/s TMB_emission_flux_from_all_sectors EmisTMB_Anthro TMB 0 1 -1 3 kg/m2/s TMB_emission_flux_from_anthropogenic EmisTMB_Ship TMB 0 10 -1 2 kg/m2/s TMB_emission_flux_from_ships ############################################################################### ##### TOLU emissions ##### ############################################################################### EmisTOLU_Total TOLU -1 -1 -1 3 kg/m2/s TOLU_emission_flux_from_all_sectors EmisTOLU_Anthro TOLU 0 1 -1 3 kg/m2/s TOLU_emission_flux_from_anthropogenic EmisTOLU_BioBurn TOLU 111 -1 -1 2 kg/m2/s TOLU_emission_flux_from_biomass_burning EmisTOLU_Ship TOLU 0 10 -1 2 kg/m2/s TOLU_emission_flux_from_ships ############################################################################### ##### XYLE emissions ##### ############################################################################### EmisXYLE_Total XYLE -1 -1 -1 3 kg/m2/s XYLE_emission_flux_from_all_sectors EmisXYLE_Anthro XYLE 0 1 -1 3 kg/m2/s XYLE_emission_flux_from_anthropogenic EmisXYLE_BioBurn XYLE 111 -1 -1 2 kg/m2/s XYLE_emission_flux_from_biomass_burning EmisXYLE_Ship XYLE 0 10 -1 2 kg/m2/s XYLE_emission_flux_from_ships ############################################################################### ##### Additional diagnostics saved out via HEMCO extensions ##### ############################################################################### #============================= # LIGHTNOX extension #============================= HcoLightningFlashRate_Total -1 103 -1 -1 2 flashes/min/km2 Total_lightning_flash_rate HcoLightningFlashRate_IntraCld -1 103 -1 -1 2 flashes/min/km2 Intra-cloud_lightning_flash_rate HcoLightningFlashRate_CldGround -1 103 -1 -1 2 flashes/min/km2 Cloud-ground_lightning_flash_rate HcoConvectiveCloudTopHeight -1 103 -1 -1 2 level Convective_cloud_top_height ############################################################################### ##### INVENTORY DIAGNOSTICS, needed for benchmarking simulations only ##### ##### Listed in same order as HEMCO_Config.rc ##### ##### (You can comment these out for production runs, to save memory) ##### ############################################################################### #============================= # CEDS #============================= #InvCEDS_ALD2 ALD2 0 1 5 3 kg/m2/s ALD2_emission_flux_from_CEDS_inventory #InvCEDS_ALK4 ALK4 0 1 5 3 kg/m2/s ALK4_emission_flux_from_CEDS_inventory #InvCEDS_ALK6 ALK6 0 1 5 3 kg/m2/s ALK6_emission_flux_from_CEDS_inventory #InvCEDS_BCPI BCPI 0 1 5 3 kg/m2/s BCPI_emission_flux_from_CEDS_inventory #InvCEDS_BCPO BCPO 0 1 5 3 kg/m2/s BCPO_emission_flux_from_CEDS_inventory #InvCEDS_BENZ BENZ 0 1 5 3 kg/m2/s BENZ_emission_flux_from_CEDS_inventory #InvCEDS_C2H2 C2H2 0 1 5 3 kg/m2/s C2H2_emission_flux_from_CEDS_inventory #InvCEDS_C2H4 C2H4 0 1 5 3 kg/m2/s C2H4_emission_flux_from_CEDS_inventory #InvCEDS_C2H6 C2H6 0 1 5 3 kg/m2/s C2H6_emission_flux_from_CEDS_inventory #InvCEDS_C3H8 C3H8 0 1 5 3 kg/m2/s C3H8_emission_flux_from_CEDS_inventory #InvCEDS_CH2O CH2O 0 1 5 3 kg/m2/s CH2O_emission_flux_from_CEDS_inventory #InvCEDS_CO CO 0 1 5 3 kg/m2/s CO_emission_flux_from_CEDS_inventory #InvCEDS_MOH MOH 0 1 5 3 kg/m2/s MOH_emission_flux_from_CEDS_inventory #InvCEDS_EOH EOH 0 1 5 3 kg/m2/s EOH_emission_flux_from_CEDS_inventory #InvCEDS_ROH ROH 0 1 5 3 kg/m2/s ROH_emission_flux_from_CEDS_inventory #InvCEDS_HCOOH HCOOH 0 1 5 3 kg/m2/s HCOOH_emission_flux_from_CEDS_inventory #InvCEDS_MEK MEK 0 1 5 3 kg/m2/s MEK_emission_flux_from_CEDS_inventory #InvCEDS_NH3 NH3 0 1 5 3 kg/m2/s NH3_emission_flux_from_CEDS_inventory #InvCEDS_NO NO 0 1 5 3 kg/m2/s NO_emission_flux_from_CEDS_inventory #InvCEDS_OCPI OCPI 0 1 5 3 kg/m2/s OCPI_emission_flux_from_CEDS_inventory #InvCEDS_OCPO OCPO 0 1 5 3 kg/m2/s OCPO_emission_flux_from_CEDS_inventory #InvCEDS_pFe pFe 0 1 5 3 kg/m2/s pFe_emission_flux_from_CEDS_inventory #InvCEDS_POG1 POG1 0 1 5 3 kg/m2/s POG1_emission_flux_from_CEDS_inventory #InvCEDS_POG2 POG2 0 1 5 3 kg/m2/s POG2_emission_flux_from_CEDS_inventory #InvCEDS_PRPE PRPE 0 1 5 3 kg/m2/s PRPE_emission_flux_from_CEDS_inventory #InvCEDS_SO2 SO2 0 1 5 3 kg/m2/s SO2_emission_flux_from_CEDS_inventory #InvCEDS_SO4 SO4 0 1 5 3 kg/m2/s SO4_emission_flux_from_CEDS_inventory #InvCEDS_SOAP SOAP 0 1 5 3 kg/m2/s SOAP_emission_flux_from_CEDS_inventory #InvCEDS_TMB TMB 0 1 5 3 kg/m2/s TMB_emission_flux_from_CEDS_inventory #InvCEDS_TOLU TOLU 0 1 5 3 kg/m2/s TOLU_emission_flux_from_CEDS_inventory #InvCEDS_XYLE XYLE 0 1 5 3 kg/m2/s XYLE_emission_flux_from_CEDS_inventory #============================= # GEIA_NH3 #============================= #InvGEIAnatural_NH3 NH3 0 3 1 2 kg/m2/s NH3_emission_flux_from_GEIA_natural_source #============================= # Seabirds #============================= #InvSEABIRDS_NH3 NH3 0 30 1 2 kg/m2/s NH3_emission_flux_from_arctic_seabirds #============================= # C2H62010 #============================= #InvC2H62010_C2H6 C2H6 0 1 100 2 kg/m2/s C2H6_from_C2H62010_anthropogenic_inventory #============================= # XIAO_C3H8 #============================= #InvXIAO_C3H8 C3H8 0 1 10 2 kg/m2/s C3H8_from_XIAO_anthropogenic_inventory #============================= # LIANG_BROMOCARB #============================= #InvLIANG_CH2Br2 CH2Br2 0 1 1 2 kg/m2/s CH2Br2_emission_flux_from_LIANG_BROMOCARB_inventory #InvLIANG_CHBr3 CHBr3 0 1 1 2 kg/m2/s CHBr3_emission_flux_from_LIANG_BROMOCARB_inventory #============================= # ORDONEZ_IODOCARB #============================= #InvORDONEZ_CH2I2 CH2I2 0 1 1 2 kg/m2/s CH2I2_emission_flux_from_ORDONEZ_IODOCARB_inventory #InvORDONEZ_CH2ICl CH2ICl 0 1 1 2 kg/m2/s CH2ICl_emission_flux_from_ORDONEZ_IODOCARB_inventory #InvORDONEZ_CH2IBr CH2IBr 0 1 1 2 kg/m2/s CH2IBr_emission_flux_from_ORDONEZ_IODOCARB_inventory #InvORDONEZ_CH3I CH3I 0 1 1 2 kg/m2/s CH3I_emission_flux_from_ORDONEZ_IODOCARB_inventory #============================= # GT_Chlorine #============================= #InvGTChlorine_HCl HCl 0 1 1 2 kg/m2/s HCl_emission_flux_from_GT_Chlorine_inventory #============================= # CEDS_SHIP #============================= #InvCEDSship_ALD2 ALD2 0 10 5 2 kg/m2/s ALD2_emission_flux_from_CEDSship_inventory #InvCEDSship_ALK4 ALK4 0 10 5 2 kg/m2/s ALK4_emission_flux_from_CEDSship_inventory #InvCEDSship_ALK6 ALK6 0 10 5 2 kg/m2/s ALK4_emission_flux_from_CEDSship_inventory #InvCEDSship_BCPI BCPI 0 10 5 2 kg/m2/s BCPI_emission_flux_from_CEDSship_inventory #InvCEDSship_BCPO BCPO 0 10 5 2 kg/m2/s BCPO_emission_flux_from_CEDSship_inventory #InvCEDSship_BENZ BENZ 0 10 5 2 kg/m2/s BENZ_emission_flux_from_CEDSship_inventory #InvCEDSship_C2H2 C2H2 0 10 5 2 kg/m2/s C2H2_emission_flux_from_CEDSship_inventory #InvCEDSship_C2H4 C2H4 0 10 5 2 kg/m2/s C2H4_emission_flux_from_CEDSship_inventory #InvCEDSship_C2H6 C2H6 0 10 5 2 kg/m2/s C2H6_emission_flux_from_CEDSship_inventory #InvCEDSship_C3H8 C3H8 0 10 5 2 kg/m2/s C3H8_emission_flux_from_CEDSship_inventory #InvCEDSship_CH2O CH2O 0 10 5 2 kg/m2/s CH2O_emission_flux_from_CEDSship_inventory #InvCEDSship_CO CO 0 10 5 2 kg/m2/s CO_emission_flux_from_CEDSship_inventory #InvCEDSship_EOH EOH 0 10 5 2 kg/m2/s EOH_emission_flux_from_CEDSship_inventory #InvCEDSship_HCOOH HCOOH 0 10 5 2 kg/m2/s HCOOH_emission_flux_from_CEDSship_inventory #InvCEDSship_MEK MEK 0 10 5 2 kg/m2/s MEK_emission_flux_from_CEDSship_inventory #InvCEDSship_NH3 NH3 0 10 5 2 kg/m2/s NH3_emission_flux_from_CEDSship_inventory #InvCEDSship_pFe pFe 0 10 5 2 kg/m2/s pFe_emission_flux_from_CEDSship_inventory #InvCEDSship_PRPE PRPE 0 10 5 2 kg/m2/s PRPE_emission_flux_from_CEDSship_inventory #InvCEDSship_OCPI OCPI 0 10 5 2 kg/m2/s OCPI_emission_flux_from_CEDSship_inventory #InvCEDSship_OCPO OCPO 0 10 5 2 kg/m2/s OCPO_emission_flux_from_CEDSship_inventory #InvCEDSship_SO2 SO2 0 10 5 2 kg/m2/s SO2_emission_flux_from_CEDSship_inventory #InvCEDSship_SO4 SO4 0 10 5 2 kg/m2/s SO4_emission_flux_from_CEDSship_inventory #InvCEDSship_SOAP SOAP 0 10 5 2 kg/m2/s SOAP_emission_flux_from_CEDSship_inventory #InvCEDSship_TMB TMB 0 10 5 2 kg/m2/s TMB_emission_flux_from_CEDSship_inventory #InvCEDSship_TOLU TOLU 0 10 5 2 kg/m2/s TOLU_emission_flux_from_CEDSship_inventory #InvCEDSship_XYLE XYLE 0 10 5 2 kg/m2/s XYLE_emission_flux_from_CEDSship_inventory #============================= # AEIC #============================= #InvAEIC_ACET ACET 0 20 1 3 kg/m2/s ACET_emission_flux_from_AEIC_inventory #InvAEIC_ALD2 ALD2 0 20 1 3 kg/m2/s ALD2_emission_flux_from_AEIC_inventory #InvAEIC_ALK4 ALK4 0 20 1 3 kg/m2/s ALK4_emission_flux_from_AEIC_inventory #InvAEIC_BCPI BCPI 0 20 1 3 kg/m2/s BCPI_emission_flux_from_AEIC_inventory #InvAEIC_C2H6 C2H6 0 20 1 3 kg/m2/s C2H6_emission_flux_from_AEIC_inventory #InvAEIC_C3H8 C3H8 0 20 1 3 kg/m2/s C3H8_emission_flux_from_AEIC_inventory #InvAEIC_CH2O CH2O 0 20 1 3 kg/m2/s CH2O_emission_flux_from_AEIC_inventory #InvAEIC_CO CO 0 20 1 3 kg/m2/s CO_emission_flux_from_AEIC_inventory #InvAEIC_HONO HONO 0 20 1 3 kg/m2/s HONO_emission_flux_from_AEIC_inventory #InvAEIC_MACR MACR 0 20 1 3 kg/m2/s MACR_emission_flux_from_AEIC_inventory #InvAEIC_NO NO 0 20 1 3 kg/m2/s NO_emission_flux_from_AEIC_inventory #InvAEIC_NO2 NO2 0 20 1 3 kg/m2/s NO2_emission_flux_from_AEIC_inventory #InvAEIC_OCPI OCPI 0 20 1 3 kg/m2/s OCPI_emission_flux_from_AEIC_inventory #InvAEIC_PRPE PRPE 0 20 1 3 kg/m2/s PRPE_emission_flux_from_AEIC_inventory #InvAEIC_RCHO RCHO 0 20 1 3 kg/m2/s RCHO_emission_flux_from_AEIC_inventory #InvAEIC_SO2 SO2 0 20 1 3 kg/m2/s SO2_emission_flux_from_AEIC_inventory #InvAEIC_SO4 SO4 0 20 1 3 kg/m2/s SO4_emission_flux_from_AEIC_inventory #InvAEIC_SOAP SOAP 0 20 1 3 kg/m2/s SOAP_emission_flux_from_AEIC_inventory #============================= # Decaying plants #============================= #InvPLANTDECAY_ALD2 ALD2 0 3 1 2 kg/m2/s ALD2_emission_flux_from_PLANTDECAY_inventory #InvPLANTDECAY_EOH EOH 0 3 1 2 kg/m2/s EOH_emission_flux_from_PLANTDECAY_inventory #============================= # AFCID emissions #============================= #InvAFCID_DST1 DST1 0 1 -1 2 kg/m2/s DST1_emission_flux_from_AFCID_inventory #============================= # Seaflux extension #============================= #InvSeaFlux_ACET ACET 101 -1 -1 2 kg/m2/s ACET_emission_flux_from_SeaFlux_extension #InvSeaFlux_ALD2 ALD2 101 -1 -1 2 kg/m2/s ALD2_emission_flux_from_SeaFlux_extension #InvSeaFlux_DMS DMS 101 -1 -1 2 kg/m2/s DMS_emission_flux_from_SeaFlux_extension #InvSeaFlux_ETNO3 ETNO3 101 -1 -1 2 kg/m2/s ETNO3_emission_flux_from_SeaFlux_extension #InvSeaFlux_MENO3 MENO3 101 -1 -1 2 kg/m2/s MENO3_emission_flux_from_SeaFlux_extension #InvSeaFlux_MOH MOH 101 -1 -1 2 kg/m2/s MOH_emission_flux_from_SeaFlux_extension #============================= # PARANOX extension #============================= #InvPARANOX_HNO3 HNO3 102 -1 -1 2 kg/m2/s HNO3_emission_flux_from_PARANOX_extension #InvPARANOX_NO NO 102 -1 -1 2 kg/m2/s NO_emission_flux_from_PARANOX_extension #InvPARANOX_NO2 NO2 102 -1 -1 2 kg/m2/s NO2_emission_flux_from_PARANOX_extension #InvPARANOX_O3 O3 102 -1 -1 2 kg/m2/s O3_emission_flux_from_PARANOX_extension #============================= # LIGHTNOX extension #============================= #InvLIGHTNOX_NO NO 103 -1 -1 3 kg/m2/s NO_emission_flux_from_lightning_extension #============================= # SOILNOX extension #============================= #InvSOILNOX_NO NO 104 -1 -1 2 kg/m2/s NO_emission_flux_from_SOINOX_extension_including_soil_and_fertilizer_emissions #============================= # DustL23M (dust) Extension #============================= # NOTE: Uncomment InvDustL23M_TDST if you wish to obtain total # dust emissions from HEMCO standalone simulations ##InvDustL23M_TDST TDST 125 -1 -1 2 kg/m2/s Total_dust_emission_flux_from_DustL23M_extension #InvDustL23M_DSTbin1 DSTbin1 125 -1 -1 2 kg/m2/s DSTbin1_emission_flux_from_DustL23M_extension #InvDustL23M_DSTbin2 DSTbin2 125 -1 -1 2 kg/m2/s DSTbin2_emission_flux_from_DustL23M_extension #InvDustL23M_DSTbin3 DSTbin3 125 -1 -1 2 kg/m2/s DSTbin3_emission_flux_from_DustL23M_extension #InvDustL23M_DSTbin4 DSTbin4 125 -1 -1 2 kg/m2/s DSTbin4_emission_flux_from_DustL23M_extension #InvDustL23M_DSTbin5 DSTbin5 125 -1 -1 2 kg/m2/s DSTbin5_emission_flux_from_DustL23M_extension #InvDustL23M_DSTbin6 DSTbin6 125 -1 -1 2 kg/m2/s DSTbin6_emission_flux_from_DustL23M_extension #InvDustL23M_DSTbin7 DSTbin7 125 -1 -1 2 kg/m2/s DSTbin7_emission_flux_from_DustL23M_extension #=================================== # DEAD (dust) Extension, for TOMAS #=================================== #InvDEAD_DST1 DST1 131 -1 -1 2 kg/m2/s DST1_emission_flux_from_DEAD_extension #InvDEAD_DST2 DST2 131 -1 -1 2 kg/m2/s DST2_emission_flux_from_DEAD_extension #InvDEAD_DST3 DST3 131 -1 -1 2 kg/m2/s DST3_emission_flux_from_DEAD_extension #InvDEAD_DST4 DST4 131 -1 -1 2 kg/m2/s DST4_emission_flux_from_DEAD_extension #============================= # SeaSalt extension #============================= #InvSeaSalt_BrSALA BrSALA 107 -1 -1 2 kg/m2/s BrSALA_emission_flux_from_SeaSalt_extension #InvSeaSalt_BrSALC BrSALC 107 -1 -1 2 kg/m2/s BrSALC_emission_flux_from_SeaSalt_extension #InvSeaSalt_SALA SALA 107 -1 -1 2 kg/m2/s SALA_emission_flux_from_SeaSalt_extension #InvSeaSalt_SALC SALC 107 -1 -1 2 kg/m2/s SALC_emission_flux_from_SeaSalt_extension #InvSeaSalt_SALAAL SALAAL 107 -1 -1 2 kg/m2/s SALAAL_emission_flux_from_SeaSalt_extension #InvSeaSalt_SALACL SALACL 107 -1 -1 2 kg/m2/s SALACL_emission_flux_from_SeaSalt_extension #InvSeaSalt_SALCAL SALCAL 107 -1 -1 2 kg/m2/s SALAAL_emission_flux_from_SeaSalt_extension #InvSeaSalt_SALCCL SALCCL 107 -1 -1 2 kg/m2/s SALCCL_emission_flux_from_SeaSalt_extension #============================= # MEGAN Extension #============================= #InvMEGAN_ALD2 ALD2 108 -1 -1 2 kg/m2/s ALD2_biogenic_emission_flux_from_MEGAN_extension # C2H4 is not an active species in GEOS-Chem; disable for now ##InvMEGAN_C2H4 C2H4 108 -1 -1 2 kg/m2/s C2H4_biogenic_emission_flux_from_MEGAN_extension #InvMEGAN_EOH EOH 108 -1 -1 2 kg/m2/s EOH_biogenic_emission_flux_from_MEGAN_extension #InvMEGAN_ISOP ISOP 108 -1 -1 2 kg/m2/s ISOP_biogenic_emission_flux_from_MEGAN_extension #InvMEGAN_LIMO LIMO 108 -1 -1 2 kg/m2/s LIMO_biogenic_emission_flux_from_MEGAN_extension #InvMEGAN_MTPA MTPA 108 -1 -1 2 kg/m2/s MTPA_biogenic_emission_flux_from_MEGAN_extension #InvMEGAN_MTPO MTPO 108 -1 -1 2 kg/m2/s MTPO_biogenic_emission_flux_from_MEGAN_extension #InvMEGAN_PRPE PRPE 108 -1 -1 2 kg/m2/s PRPE_biogenic_emission_flux_from_MEGAN_extension # SESQ is not an active species in GEOS-Chem; disable for now ##InvMEGAN_SESQ SESQ 108 -1 -1 2 kg/m2/s SESQ_biogenic_emission_flux_from_MEGAN_extension #InvMEGAN_SOAP SOAP 108 -1 -1 2 kg/m2/s SOAP_biogenic_emission_flux_from_MEGAN_extension #InvMEGAN_SOAS SOAS 108 -1 -1 2 kg/m2/s SOAS_biogenic_emission_flux_from_MEGAN_extension #InvMEGAN_ACET ACET 108 -1 -1 2 kg/m2/s ACET_biogenic_emission_flux_from_MEGAN_extension #InvMEGAN_ACET_MONO -1 108 -1 -1 2 kg/m2/s Acetone_from_monoterpenes_biogenic_emission_flux_from_MEGAN_extension #InvMEGAN_ACET_MBOX -1 108 -1 -1 2 kg/m2/s Acetone_from_methyl_butenol_biogenic_emission_flux_from_MEGAN_extension #InvMEGAN_ACET_DIRECT -1 108 -1 -1 2 kg/m2/s Direct_acetone_biogenic_emission_flux_from_MEGAN_extension #InvMEGAN_MOH MOH 108 -1 -1 2 kg/m2/s Methanol_emission_flux_from_MEGAN_extension #InvMEGAN_APIN -1 108 -1 -1 2 kg/m2/s Alpha_pinene_emission_flux_from_MEGAN_extension #InvMEGAN_BPIN -1 108 -1 -1 2 kg/m2/s Beta_pinene_acid_emission_flux_from_MEGAN_extension #InvMEGAN_SABI -1 108 -1 -1 2 kg/m2/s Sabinene_emission_flux_from_MEGAN_extension #InvMEGAN_MYRC -1 108 -1 -1 2 kg/m2/s Mycrene_emission_flux_from_MEGAN_extension #InvMEGAN_CARE -1 108 -1 -1 2 kg/m2/s 3_Carene_emission_flux_from_MEGAN_extension #InvMEGAN_OCIM -1 108 -1 -1 2 kg/m2/s Ocimene_emission_flux_from_MEGAN_extension #InvMEGAN_OMON -1 108 -1 -1 2 kg/m2/s Other_monoterpene_emission_flux_from_MEGAN_extension #InvMEGAN_MONX -1 108 -1 -1 2 kg/m2/s Total_monoterpene_emission_flux_from_MEGAN_extension #InvMEGAN_FARN -1 108 -1 -1 2 kg/m2/s alpha_Farnesene_emission_flux_from_MEGAN_extension #InvMEGAN_BCAR -1 108 -1 -1 2 kg/m2/s beta_caryophyllene_emission_flux_from_MEGAN_extension #InvMEGAN_OSQT -1 108 -1 -1 2 kg/m2/s Other_sesquiterpenes_emission_flux_from_MEGAN_extension #InvMEGAN_MBOX -1 108 -1 -1 2 kg/m2/s Methyl_butenol_emission_flux_from_MEGAN_extension #InvMEGAN_FAXX -1 108 -1 -1 2 kg/m2/s Formic_acid_emission_flux_from_MEGAN_extension #InvMEGAN_AAXX -1 108 -1 -1 2 kg/m2/s Acetic_acid_emission_flux_from_MEGAN_extension #============================= # GFED Extension #============================= #InvGFED_ACET ACET 111 -1 -1 2 kg/m2/s ACET_emission_flux_from_GFED_extension #InvGFED_ACR ACR 111 -1 -1 2 kg/m2/s ACR_emission_flux_from_GFED_extension #InvGFED_ACTA ACTA 111 -1 -1 2 kg/m2/s ACTA_emission_flux_from_GFED_extension #InvGFED_ALD2 ALD2 111 -1 -1 2 kg/m2/s ALD2_emission_flux_from_GFED_extension #InvGFED_ALK4 ALK4 111 -1 -1 2 kg/m2/s ALK4_emission_flux_from_GFED_extension #InvGFED_BCPI BCPI 111 -1 -1 2 kg/m2/s BCPI_emission_flux_from_GFED_extension #InvGFED_BCPO BCPO 111 -1 -1 2 kg/m2/s BCPO_emission_flux_from_GFED_extension #InvGFED_BENZ BENZ 111 -1 -1 2 kg/m2/s BENZ_emission_flux_from_GFED_extension #InvGFED_C2H6 C2H6 111 -1 -1 2 kg/m2/s C2H6_emission_flux_from_GFED_extension #InvGFED_C3H8 C3H8 111 -1 -1 2 kg/m2/s C3H8_emission_flux_from_GFED_extension #InvGFED_C4H6 C4H6 111 -1 -1 2 kg/m2/s C4H6_emission_flux_from_GFED_extension #InvGFED_CH2O CH2O 111 -1 -1 2 kg/m2/s CH2O_emission_flux_from_GFED_extension #InvGFED_CO CO 111 -1 -1 2 kg/m2/s CO_emission_flux_from_GFED_extension #InvGFED_EOH EOH 111 -1 -1 2 kg/m2/s EOH_emission_flux_from_GFED_extension #InvGFED_FURA FURA 111 -1 -1 2 kg/m2/s FURA_emission_flux_from_GFED_extension #InvGFED_GLYX GLYX 111 -1 -1 2 kg/m2/s GLYX_emission_flux_from_GFED_extension #InvGFED_HCOOH HCOOH 111 -1 -1 2 kg/m2/s HCOOH_emission_flux_from_GFED_extension #InvGFED_ISOP ISOP 111 -1 -1 2 kg/m2/s ISOP_emission_flux_from_GFED_extension #InvGFED_MEK MEK 111 -1 -1 2 kg/m2/s MEK_emission_flux_from_GFED_extension #InvGFED_MVK MVK 111 -1 -1 2 kg/m2/s MVK_emission_flux_from_GFED_extension #InvGFED_MGLY MGLY 111 -1 -1 2 kg/m2/s MGLY_emission_flux_from_GFED_extension #InvGFED_MOH MOH 111 -1 -1 2 kg/m2/s MOH_emission_flux_from_GFED_extension #InvGFED_MTPA MTP 111 -1 -1 2 kg/m2/s MTPA_emission_flux_from_GFED_extension #InvGFED_MVK MVK 111 -1 -1 2 kg/m2/s MVK_emission_flux_from_GFED_extension #InvGFED_NAP NAP 111 -1 -1 2 kg/m2/s NAP_emission_flux_from_GFED_extension #InvGFED_NH3 NH3 111 -1 -1 2 kg/m2/s NH3_emission_flux_from_GFED_extension #InvGFED_NO NO 111 -1 -1 2 kg/m2/s NO_emission_flux_from_GFED_extension #InvGFED_OCPI OCPI 111 -1 -1 2 kg/m2/s OCPI_emission_flux_from_GFED_extension #InvGFED_OCPO OCPO 111 -1 -1 2 kg/m2/s OCPO_emission_flux_from_GFED_extension #InvGFED_PHEN PHEN 111 -1 -1 2 kg/m2/s PHEN_emission_flux_from_GFED_extension #InvGFED_POG1 POG1 111 -1 -1 2 kg/m2/s POG1_emission_flux_from_GFED_extension #InvGFED_POG2 POG2 111 -1 -1 2 kg/m2/s POG2_emission_flux_from_GFED_extension #InvGFED_PRPE PRPE 111 -1 -1 2 kg/m2/s PRPE_emission_flux_from_GFED_extension #InvGFED_RCHO RCHO 111 -1 -1 2 kg/m2/s RCHO_emission_flux_from_GFED_extension #InvGFED_SO2 SO2 111 -1 -1 2 kg/m2/s SO2_emission_flux_from_GFED_extension #InvGFED_SOAP SOAP 111 -1 -1 2 kg/m2/s SOAP_emission_flux_from_GFED_extension #InvGFED_STYR STYR 111 -1 -1 2 kg/m2/s STYR_emission_flux_from_GFED_extension #InvGFED_TOLU TOLU 111 -1 -1 2 kg/m2/s TOLU_emission_flux_from_GFED_extension #InvGFED_XYLE ACET 111 -1 -1 2 kg/m2/s XYLE_emission_flux_from_GFED_extension #============================= # Volcano extension #============================= #InvVOLCANOerupt_SO2 SO2 117 51 -1 3 kg/m2/s SO2_eruptive_emission_flux_from_Volcano_extension #InvVOLCANOdegas_SO2 SO2 117 52 -1 3 kg/m2/s SO2_degassing_emission_flux_from_Volcano_extension #============================= # INORG_IODINE Extension #============================= #InvIODINE_HOI HOI 120 -1 -1 2 kg/m2/s HOI_emission_flux_from_INORG_IODINE_extension #InvIODINE_I2 I2 120 -1 -1 2 kg/m2/s I2_emission_flux_from_INORG_IODINE_extension #EOC ================================================ FILE: run/GCClassic/HEMCO_Diagn.rc.templates/HEMCO_Diagn.rc.fullchem.onlineE ================================================ #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !MODULE: HEMCO_Diagn.rc # # !DESCRIPTION: Configuration file for netCDF diagnostic output from HEMCO # (for fullchem simulations with ModelE metoerology). #\\ #\\ # !REMARKS: # For more information about HEMCO diagnostics, see hemco.readthedocs.io. # # NOTES FOR BIOMASS BURNING: # 1. For GFED extension, set ExtNr = 111, Cat = -1, Hier = -1. # 2. For offline emissions, set ExtNr = 0, Cat = 5, Hier = -1 # # !REVISION HISTORY: # 13 Feb 2018 - E. Lundgren - Initial version # See https://github.com/geoschem/geos-chem for complete history #EOP #------------------------------------------------------------------------------ #BOC # Name Spec ExtNr Cat Hier Dim OutUnit LongName ############################################################################### ##### ACET emissions ##### ############################################################################### EmisACET_Total ACET -1 -1 -1 3 kg/m2/s ACET_emission_flux_from_all_sectors EmisACET_BioBurn ACET 111 -1 -1 2 kg/m2/s ACET_emission_flux_from_biomass_burning EmisACET_Biogenic ACET 108 -1 -1 2 kg/m2/s ACET_emission_flux_from_biogenic_sources EmisACET_Ocean ACET 101 -1 -1 2 kg/m2/s ACET_emission_flux_from_ocean ############################################################################### ##### ALD2 emissions ##### ############################################################################### EmisALD2_Total ALD2 -1 -1 -1 3 kg/m2/s ALD2_emission_flux_from_all_sectors EmisALD2_Anthro ALD2 0 1 -1 3 kg/m2/s ALD2_emission_flux_from_anthropogenic EmisALD2_BioBurn ALD2 111 -1 -1 2 kg/m2/s ALD2_emission_flux_from_biomass_burning EmisALD2_Biogenic ALD2 108 -1 -1 2 kg/m2/s ALD2_emission_flux_from_biogenic_sources EmisALD2_Ocean ALD2 101 -1 -1 2 kg/m2/s ALD2_emission_flux_from_ocean EmisALD2_PlantDecay ALD2 0 3 -1 2 kg/m2/s ALD2_emission_flux_from_decaying_plants EmisALD2_Ship ALD2 0 10 -1 2 kg/m2/s ALD2_emission_flux_from_ships ############################################################################### ##### ALK4 emissions ##### ############################################################################### EmisALK4_Total ALK4 -1 -1 -1 3 kg/m2/s ALK4_emission_flux_from_all_sectors EmisALK4_Aircraft ALK4 0 20 -1 3 kg/m2/s ALK4_emission_flux_from_aircraft EmisALK4_Anthro ALK4 0 1 -1 3 kg/m2/s ALK4_emission_flux_from_anthropogenic EmisALK4_BioBurn ALK4 111 -1 -1 2 kg/m2/s ALK4_emission_flux_from_biomass_burning EmisALK4_Ship ALK4 0 10 -1 2 kg/m2/s ALK4_emission_flux_from_ships ############################################################################### ##### BCPI and BCPO emissions ##### ############################################################################### EmisBCPI_Total BCPI -1 -1 -1 3 kg/m2/s BCPI_emission_flux_from_all_sectors EmisBCPI_Aircraft BCPI 0 20 -1 3 kg/m2/s BCPI_emission_flux_from_aircraft EmisBCPI_Anthro BCPI 0 1 -1 3 kg/m2/s BCPI_emission_flux_from_anthropogenic EmisBCPI_BioBurn BCPI 111 -1 -1 2 kg/m2/s BCPI_emission_flux_from_biomass_burning EmisBCPI_Ship BCPI 0 10 -1 2 kg/m2/s BCPI_emission_flux_from_ships EmisBCPO_Total BCPO -1 -1 -1 2 kg/m2/s BCPO_emission_flux_from_all_sectors EmisBCPO_Anthro BCPO 0 1 -1 2 kg/m2/s BCPO_emission_flux_from_anthropogenic EmisBCPO_BioBurn BCPO 111 -1 -1 2 kg/m2/s BCPO_emission_flux_from_biomass_burning EmisBCPO_Ship BCPO 0 10 -1 2 kg/m2/s BCPO_emission_flux_from_ships ############################################################################### ##### BENZ emissions ##### ############################################################################### EmisBENZ_Total BENZ -1 -1 -1 3 kg/m2/s BENZ_emission_flux_from_all_sectors EmisBENZ_Anthro BENZ 0 1 -1 3 kg/m2/s BENZ_emission_flux_from_anthropogenic EmisBENZ_BioBurn BENZ 111 -1 -1 2 kg/m2/s BENZ_emission_flux_from_biomass_burning EmisBENZ_Ship BENZ 0 10 -1 2 kg/m2/s BENZ_emission_flux_from_ships ############################################################################### ##### C2H2 emissions ###### ############################################################################### EmisC2H2_Total C2H2 -1 -1 -1 3 kg/m2/s C2H2_emission_flux_from_all_sectors EmisC2H2_Anthro C2H2 0 1 -1 3 kg/m2/s C2H2_emission_flux_from_anthropogenic EmisC2H2_BioBurn C2H2 111 -1 -1 2 kg/m2/s C2H2_emission_flux_from_biomass_burning EmisC2H2_Ship C2H2 0 10 -1 2 kg/m2/s C2H2_emission_flux_from_ships ############################################################################### ##### C2H4 emissions ###### ############################################################################### EmisC2H4_Total C2H4 -1 -1 -1 3 kg/m2/s C2H4_emission_flux_from_all_sectors EmisC2H4_Anthro C2H4 0 1 -1 3 kg/m2/s C2H4_emission_flux_from_anthropogenic EmisC2H4_BioBurn C2H4 111 -1 -1 2 kg/m2/s C2H4_emission_flux_from_biomass_burning EmisC2H4_Biogenic C2H4 108 -1 -1 2 kg/m2/s C2H4_emission_flux_from_biogenic_sources EmisC2H4_Ship C2H4 0 10 -1 2 kg/m2/s C2H4_emission_flux_from_ships ############################################################################### ##### C2H6 emissions ###### ############################################################################### EmisC2H6_Total C2H6 -1 -1 -1 3 kg/m2/s C2H6_emission_flux_from_all_sectors EmisC2H6_Aircraft C2H6 0 20 -1 3 kg/m2/s C2H6_emission_flux_from_aircraft EmisC2H6_Anthro C2H6 0 1 -1 3 kg/m2/s C2H6_emission_flux_from_anthropogenic EmisC2H6_BioBurn C2H6 111 -1 -1 2 kg/m2/s C2H6_emission_flux_from_biomass_burning EmisC2H6_Ship C2H6 0 10 -1 2 kg/m2/s C2H6_emission_flux_from_ships ############################################################################### ##### C3H8 emissions ##### ############################################################################### EmisC3H8_Total C3H8 -1 -1 -1 3 kg/m2/s C3H8_emission_flux_from_all_sectors EmisC3H8_Aircraft C3H8 0 20 -1 3 kg/m2/s C3H8_emission_flux_from_aircraft EmisC3H8_Anthro C3H8 0 1 -1 3 kg/m2/s C3H8_emission_flux_from_anthropogenic EmisC3H8_BioBurn C3H8 111 -1 -1 2 kg/m2/s C3H8_emission_flux_from_biomass_burning EmisC3H8_Ship C3H8 0 10 -1 2 kg/m2/s C3H8_emission_flux_from_ships ############################################################################### ##### CH2Br2 emissions ##### ############################################################################### EmisCH2Br2_Ocean CH2Br2 0 1 -1 2 kg/m2/s CH2Br2_emission_flux_from_ocean ############################################################################### ##### CH2I2 emissions ##### ############################################################################### EmisCH2I2_Ocean CH2I2 0 1 -1 2 kg/m2/s CH2I2_emission_flux_from_ocean ############################################################################### ##### CH2ICl emissions ##### ############################################################################### EmisCH2ICl_Ocean CH2ICl 0 1 -1 2 kg/m2/s CH2ICl_emission_flux_from_ocean ############################################################################### ##### CH2IBr emissions ##### ############################################################################### EmisCH2IBr_Ocean CH2IBr 0 1 -1 2 kg/m2/s CH2IBr_emission_flux_from_ocean ############################################################################### ##### CH2O emissions ##### ############################################################################### EmisCH2O_Total CH2O -1 -1 -1 3 kg/m2/s CH2O_emission_flux_from_all_sectors EmisCH2O_Aircraft CH2O 0 20 -1 3 kg/m2/s CH2O_emission_flux_from_aircraft EmisCH2O_Anthro CH2O 0 1 -1 3 kg/m2/s CH2O_emission_flux_from_anthropogenic EmisCH2O_BioBurn CH2O 111 -1 -1 2 kg/m2/s CH2O_emission_flux_from_biomass_burning EmisCH2O_Ship CH2O 0 10 -1 2 kg/m2/s CH2O_emission_flux_from_ships ############################################################################### ##### CH3I emissions ##### ############################################################################### EmisCH3I_Ocean CH3I 0 1 -1 2 kg/m2/s CH3I_emission_flux_from_ocean ############################################################################### ##### CH4 emissions ##### ############################################################################### # Zero for now, so comment out #EmisCH4_Total CH4 -1 -1 -1 3 kg/m2/s CH4_emission_flux_from_all_sectors #EmisCH4_Anthro CH4 0 1 -1 3 kg/m2/s CH4_emission_flux_from_anthropogenic #EmisCH4_BioBurn CH4 0 5 -1 2 kg/m2/s CH4_emission_flux_from_biomass_burning #EmisCH4_Ship CH4 0 10 -1 2 kg/m2/s CH4_emission_flux_from_ships ############################################################################### ##### CHBr3 emissions ##### ############################################################################### EmisCHBr3_Ocean CHBr3 0 1 -1 2 kg/m2/s CHBr3_emission_flux_from_ocean ############################################################################### ##### CO emissions ##### ############################################################################### EmisCO_Total CO -1 -1 -1 3 kg/m2/s CO_emission_flux_from_all_sectors EmisCO_Aircraft CO 0 20 -1 3 kg/m2/s CO_emission_flux_from_aircraft EmisCO_Anthro CO 0 1 -1 3 kg/m2/s CO_emission_flux_from_anthropogenic EmisCO_BioBurn CO 111 -1 -1 2 kg/m2/s CO_emission_flux_from_biomass_burning EmisCO_Ship CO 0 10 -1 2 kg/m2/s CO_emission_flux_from_ships ############################################################################### ##### CO2 emissions ##### ############################################################################### EmisCO2_Total CO2 -1 -1 -1 3 kg/m2/s CO2_emission_flux_from_all_sectors EmisCO2_Anthro CO2 0 1 -1 3 kg/m2/s CO2_emission_flux_from_anthropogenic EmisCO2_BioBurn CO2 0 5 -1 2 kg/m2/s CO2_emission_flux_from_biomass_burning EmisCO2_Ship CO2 0 10 -1 2 kg/m2/s CO2_emission_flux_from_ships ############################################################################### ##### DMS emissions ##### ############################################################################### EmisDMS_Ocean DMS 101 -1 -1 2 kg/m2/s DMS_emission_flux_from_ocean ############################################################################### ##### Dust emissions ##### ############################################################################### # NOTE: Uncomment EmisDST_Total if you wish to obtain total # dust emissions from HEMCO standalone simulations #EmisDST_Total TDST -1 -1 -1 2 kg/m2/s Total_dust_emission_flux_from_natural_sources EmisDSTbin1_Total DSTbin1 -1 -1 -1 2 kg/m2/s DSTbin1_emission_flux_from_all_sectors EmisDSTbin1_Anthro DSTbin1 0 1 -1 2 kg/m2/s DSTbin1_emission_flux_from_anthropogenic EmisDSTbin1_Natural DSTbin1 0 3 -1 2 kg/m2/s DSTbin1_emission_flux_from_natural_sources EmisDSTbin2_Total DSTbin2 -1 -1 -1 2 kg/m2/s DSTbin2_emission_flux_from_all_sectors EmisDSTbin2_Anthro DSTbin2 0 1 -1 2 kg/m2/s DSTbin2_emission_flux_from_anthropogenic EmisDSTbin2_Natural DSTbin2 0 3 -1 2 kg/m2/s DSTbin2_emission_flux_from_natural_sources EmisDSTbin3_Total DSTbin3 -1 -1 -1 2 kg/m2/s DSTbin3_emission_flux_from_all_sectors EmisDSTbin3_Anthro DSTbin3 0 1 -1 2 kg/m2/s DSTbin3_emission_flux_from_anthropogenic EmisDSTbin3_Natural DSTbin3 0 3 -1 2 kg/m2/s DSTbin3_emission_flux_from_natural_sources EmisDSTbin4_Total DSTbin4 -1 -1 -1 2 kg/m2/s DSTbin4_emission_flux_from_all_sectors EmisDSTbin4_Anthro DSTbin4 0 1 -1 2 kg/m2/s DSTbin4_emission_flux_from_anthropogenic EmisDSTbin4_Natural DSTbin4 0 3 -1 2 kg/m2/s DSTbin4_emission_flux_from_natural_sources EmisDSTbin5_Natural DSTbin5 0 3 -1 2 kg/m2/s DSTbin5_emission_flux_from_natural_sources EmisDSTbin6_Natural DSTbin6 0 3 -1 2 kg/m2/s DSTbin6_emission_flux_from_natural_sources EmisDSTbin7_Natural DSTbin7 0 3 -1 2 kg/m2/s DSTbin7_emission_flux_from_natural_sources ############################################################################### ##### EOH emissions ##### ############################################################################### EmisEOH_Total EOH -1 -1 -1 3 kg/m2/s EOH_emission_flux_from_all_sectors EmisEOH_Anthro EOH 0 1 -1 3 kg/m2/s EOH_emission_flux_from_anthropogenic EmisEOH_BioBurn EOH 111 -1 -1 2 kg/m2/s EOH_emission_flux_from_biomass_burning EmisEOH_Biogenic EOH 108 -1 -1 2 kg/m2/s EOH_emission_flux_from_biogenic_sources EmisEOH_PlantDecay EOH 0 3 -1 2 kg/m2/s EOH_emission_flux_from_decaying_plants EmisEOH_Ship EOH 0 10 -1 2 kg/m2/s EOH_emission_flux_from_ships ############################################################################### ##### ETNO3 emissions ##### ############################################################################### EmisETNO3_Ocean ETNO3 101 -1 -1 2 kg/m2/s ETNO3_emission_flux_from_ocean ############################################################################### ##### H2O emissions ##### ############################################################################### EmisH2O_Aircraft H2O 0 20 -1 3 kg/m2/s H2O_emission_flux_from_aircraft ############################################################################### ##### HCOOH sources ##### ############################################################################### EmisHCOOH_Total HCOOH -1 -1 -1 3 kg/m2/s HCOOH_emission_flux_from_all_sectors EmisHCOOH_Anthro HCOOH 0 1 -1 3 kg/m2/s HCOOH_emission_flux_from_anthropogenic EmisHCOOH_Ship HCOOH 0 10 -1 2 kg/m2/s HCOOH_emission_flux_from_ship ############################################################################### ##### HNO3 emissions ##### ############################################################################### EmisHNO3_Ship HNO3 102 -1 -1 2 kg/m2/s HNO3_emission_flux_from_ships ############################################################################### ##### HONO emissions ##### ############################################################################### EmisHONO_Aircraft HONO 0 20 -1 3 kg/m2/s HONO_emission_flux_from_aircraft ############################################################################### ##### ISOP emissions ##### ############################################################################### EmisISOP_Total ISOP -1 -1 -1 3 kg/m2/s ISOP_emission_flux_from_all_sectors EmisISOP_Biogenic ISOP 108 -1 -1 2 kg/m2/s ISOP_emission_flux_from_biogenic_sources ############################################################################### ##### LIMO emissions ##### ############################################################################### EmisLIMO_Biogenic LIMO 108 -1 -1 2 kg/m2/s LIMO_emission_flux_from_biogenic_sources ############################################################################### ##### MACR emissions ##### ############################################################################### EmisMACR_Total MACR -1 -1 -1 3 kg/m2/s MACR_emission_flux_from_all_sectors EmisMACR_Aircraft MACR 0 20 -1 3 kg/m2/s MACR_emission_flux_from_anthropogenic ############################################################################### ##### MEK emissions ##### ############################################################################### EmisMEK_Total MEK -1 -1 -1 3 kg/m2/s MEK_emission_flux_from_all_sectors EmisMEK_Anthro MEK 0 1 -1 3 kg/m2/s MEK_emission_flux_from_anthropogenic EmisMEK_BioBurn MEK 111 -1 -1 2 kg/m2/s MEK_emission_flux_from_biomass_burning EmisMEK_Ship MEK 0 10 -1 2 kg/m2/s MEK_emission_flux_from_ships ############################################################################### ##### MENO3 emissions ##### ############################################################################### EmisMENO3_Ocean MENO3 101 -1 -1 2 kg/m2/s MENO3_emission_flux_from_ocean ############################################################################### ##### MGLY emissions ##### ############################################################################### # Zero for now, so comment out #EmisMGLY_Total MGLY -1 -1 -1 3 kg/m2/s MGLY_emission_flux_from_all_sectors #EmisMGLY_Anthro MGLY 0 1 -1 3 kg/m2/s MGLY_emission_flux_from_anthropogenic ############################################################################### ##### MOH emissions ##### ############################################################################### EmisMOH_Total MOH -1 -1 -1 3 kg/m2/s MOH_emission_flux_from_all_sectors EmisMOH_Anthro MOH 0 1 -1 3 kg/m2/s MOH_emission_flux_from_anthropogenic EmisMOH_BioBurn MOH 111 -1 -1 2 kg/m2/s MOH_emission_flux_from_biomass_burning EmisMOH_Biogenic MOH 108 -1 -1 2 kg/m2/s MOH_emission_flux_from_biogenic_sources EmisMOH_Ocean MOH 101 -1 -1 2 kg/m2/s MOH_emission_flux_from_ocean EmisMOH_Ship MOH 0 10 -1 2 kg/m2/s MOH_emission_flux_from_ships ############################################################################### ##### MTPA emissions ##### ############################################################################### EmisMTPA_Total MTPA -1 -1 -1 3 kg/m2/s MTPA_emission_flux_from_all_sectors EmisMTPA_BioBurn MTPA 111 -1 -1 2 kg/m2/s MTPA_emission_flux_from_biomass_burning EmisMTPA_Biogenic MTPA 108 -1 -1 2 kg/m2/s MTPA_emission_flux_from_biogenic_sources ############################################################################### ##### MTPO emissions ##### ############################################################################### EmisMTPO_Biogenic MTPO 108 -1 -1 2 kg/m2/s MTPO_emission_flux_from_biogenic_sources ############################################################################### ##### NAP emissions ##### ############################################################################### EmisNAP_Total NAP -1 -1 -1 3 kg/m2/s NAP_emission_flux_from_all_sectors EmisNAP_Anthro NAP 0 1 -1 3 kg/m2/s NAP_emission_flux_from_anthropogenic EmisNAP_BioBurn NAP 111 -1 -1 2 kg/m2/s NAP_emission_flux_from_biomass_burning ############################################################################### ##### NH3 emissions ##### ############################################################################### EmisNH3_Total NH3 -1 -1 -1 3 kg/m2/s NH3_emission_flux_from_all_sectors EmisNH3_Anthro NH3 0 1 -1 3 kg/m2/s NH3_emission_flux_from_anthropogenic EmisNH3_BioBurn NH3 111 -1 -1 2 kg/m2/s NH3_emission_flux_from_biomass_burning EmisNH3_Natural NH3 0 3 -1 2 kg/m2/s NH3_emission_flux_from_natural_sources EmisNH3_Seabirds NH3 0 30 -1 2 kg/m2/s NH3_emission_flux_from_seabirds EmisNH3_Ship NH3 0 10 -1 2 kg/m2/s NH3_emission_flux_from_ships ############################################################################### ##### NO emissions ##### ##### ##### ##### - Separate fertilizer NOx emissions are only available when the ##### ##### SoilNOx extension is enabled ##### ############################################################################### EmisNO_Total NO -1 -1 -1 3 kg/m2/s NO_emission_flux_from_all_sectors EmisNO_Aircraft NO 0 20 -1 3 kg/m2/s NO_emission_flux_from_aircraft EmisNO_Anthro NO 0 1 -1 3 kg/m2/s NO_emission_flux_from_anthropogenic EmisNO_BioBurn NO 111 -1 -1 2 kg/m2/s NO_emission_flux_from_biomass_burning EmisNO_Lightning NO 103 -1 -1 3 kg/m2/s NO_emission_flux_from_lightning EmisNO_Ship NO 102 -1 -1 2 kg/m2/s NO_emission_flux_from_ships EmisNO_Soil NO 104 -1 -1 2 kg/m2/s NO_emission_flux_from_soil_including_fertilizer #EmisNO_Fert -1 104 -1 -1 2 kg/m2/s NO_emission_flux_from_fertilizer_only ############################################################################### ##### NO2 emissions ##### ############################################################################### EmisNO2_Total NO2 -1 -1 -1 3 kg/m2/s NO2_emission_flux_from_all_sectors EmisNO2_Aircraft NO2 0 20 -1 3 kg/m2/s NO2_emission_flux_from_aircraft EmisNO2_Ship NO2 102 -1 -1 2 kg/m2/s NO2_emission_flux_from_ships ############################################################################### ##### O3 emissions ##### ############################################################################### EmisO3_Ship O3 102 -1 -1 2 kg/m2/s O3_emission_flux_from_ships ############################################################################### ##### OCPI and OCPO emissions ##### ############################################################################### EmisOCPI_Total OCPI -1 -1 -1 3 kg/m2/s OCPI_emission_flux_from_all_sectors EmisOCPI_Aircraft OCPI 0 20 -1 3 kg/m2/s OCPI_emission_flux_from_aircraft EmisOCPI_Anthro OCPI 0 1 -1 3 kg/m2/s OCPI_emission_flux_from_anthropogenic EmisOCPI_BioBurn OCPI 111 -1 -1 2 kg/m2/s OCPI_emission_flux_from_biomass_burning EmisOCPI_Ship OCPI 0 10 -1 2 kg/m2/s OCPI_emission_flux_from_ships EmisOCPO_Total OCPO -1 -1 -1 3 kg/m2/s OCPO_emission_flux_from_all_sectors EmisOCPO_Anthro OCPO 0 1 -1 3 kg/m2/s OCPO_emission_flux_from_anthropogenic EmisOCPO_BioBurn OCPO 111 -1 -1 2 kg/m2/s OCPO_emission_flux_from_biomass_burning EmisOCPO_Ship OCPO 0 10 -1 2 kg/m2/s OCPO_emission_flux_from_ships ############################################################################### ##### pFe emissions ##### ############################################################################### EmispFe_Total pFe -1 -1 -1 3 kg/m2/s pFe_emission_flux_from_all_sectors EmispFe_Anthro pFe 0 1 -1 3 kg/m2/s pFe_emission_flux_from_anthropogenic EmispFe_Ship pFe 0 10 -1 2 kg/m2/s pFe_emission_flux_from_ships ############################################################################### ##### POG1 and POG2 emissions ##### ############################################################################### EmisPOG1_Total POG1 -1 -1 -1 3 kg/m2/s POG1_emission_flux_from_all_sectors EmisPOG1_Anthro POG1 0 1 -1 3 kg/m2/s POG1_emission_flux_from_anthropogenic EmisPOG1_BioBurn POG1 111 -1 -1 2 kg/m2/s POG1_emission_flux_from_GFED_inventory EmisPOG2_Total POG2 -1 -1 -1 3 kg/m2/s POG2_emission_flux_from_all_sectors EmisPOG2_Anthro POG2 0 1 -1 3 kg/m2/s POG2_emission_flux_from_anthropogenic EmisPOG2_BioBurn POG2 111 -1 -1 2 kg/m2/s POG2_emission_flux_from_GFED_inventory ############################################################################### ##### PRPE emissions ##### ############################################################################### EmisPRPE_Total PRPE -1 -1 -1 3 kg/m2/s PRPE_emission_flux_from_all_sectors EmisPRPE_Aircraft PRPE 0 20 -1 3 kg/m2/s PRPE_emission_flux_from_aircraft EmisPRPE_Anthro PRPE 0 1 -1 3 kg/m2/s PRPE_emission_flux_from_anthropogenic EmisPRPE_BioBurn PRPE 111 -1 -1 2 kg/m2/s PRPE_emission_flux_from_biomass_burning EmisPRPE_Biogenic PRPE 108 -1 -1 2 kg/m2/s PRPE_emission_flux_from_biogenic_sources EmisPRPE_Ship PRPE 0 10 -1 2 kg/m2/s PRPE_emission_flux_from_ships ############################################################################### ##### RCHO emissions ##### ############################################################################### EmisRCHO_Total RCHO -1 -1 -1 3 kg/m2/s RCHO_emission_flux_from_all_sectors EmisRCHO_Aircraft RCHO 0 20 -1 3 kg/m2/s RCHO_emission_flux_from_aircraft ############################################################################### ##### SESQ emissions ##### ############################################################################### # SESQ is not an active species in GEOS-Chem; disable for now #EmisSESQ_Biogenic SESQ 108 -1 -1 2 kg/m2/s SESQ_emission_flux_from_biogenic_sources ############################################################################### ##### Sea salt emissions ##### ############################################################################### EmisSALA_Natural SALA 107 -1 -1 2 kg/m2/s SALA_emission_flux_from_natural_sources EmisBrSALA_Natural BrSALA 107 -1 -1 2 kg/m2/s BrSALA_emission_flux_from_natural_sources EmisSALAAL_Natural SALAAL 107 -1 -1 2 kg/m2/s SALAAL_emission_flux_from_natural_sources EmisSALACL_Natural SALACL 107 -1 -1 2 kg/m2/s SALACL_emission_flux_from_natural_sources EmisSALC_Natural SALC 107 -1 -1 2 kg/m2/s SALC_emission_flux_from_natural_sources EmisBrSALC_Natural BrSALC 107 -1 -1 2 kg/m2/s BrSALC_emission_flux_from_natural_sources EmisSALCAL_Natural SALCAL 107 -1 -1 2 kg/m2/s SALCAL_emission_flux_from_natural_sources EmisSALCCL_Natural SALCCL 107 -1 -1 2 kg/m2/s SALCCL_emission_flux_from_natural_sources ############################################################################### ##### SO2 emissions ##### ############################################################################### EmisSO2_Total SO2 -1 -1 -1 3 kg/m2/s SO2_emission_flux_from_all_sectors EmisSO2_Aircraft SO2 0 20 -1 3 kg/m2/s SO2_emission_flux_from_aircraft EmisSO2_Anthro SO2 0 1 -1 3 kg/m2/s SO2_emission_flux_from_anthropogenic EmisSO2_BioBurn SO2 111 -1 -1 2 kg/m2/s SO2_emission_flux_from_biomass_burning EmisSO2_VolcErupt SO2 117 51 -1 3 kg/m2/s SO2_emission_flux_from_eruptive_volcano EmisSO2_VolcDegas SO2 117 52 -1 3 kg/m2/s SO2_emission_flux_from_noneruptive_volcano EmisSO2_Ship SO2 0 10 -1 2 kg/m2/s SO2_emission_flux_from_ships ############################################################################### ##### SO4 emissions ##### ############################################################################### EmisSO4_Total SO4 -1 -1 -1 3 kg/m2/s SO4_emission_flux_from_all_sectors EmisSO4_Aircraft SO4 0 20 -1 3 kg/m2/s SO4_emission_flux_from_aircraft EmisSO4_Anthro SO4 0 1 -1 3 kg/m2/s SO4_emission_flux_from_anthropogenic EmisSO4_Ship SO4 0 10 -1 2 kg/m2/s SO4_emission_flux_from_ship ############################################################################### ##### SOAP sources ##### ############################################################################### EmisSOAP_Total SOAP -1 -1 -1 3 kg/m2/s SOAP_emission_flux_from_all_sectors EmisSOAP_Aircraft SOAP 0 20 -1 3 kg/m2/s SOAP_emission_flux_from_aircraft EmisSOAP_Anthro SOAP 0 1 -1 3 kg/m2/s SOAP_emission_flux_from_anthropogenic EmisSOAP_Biogenic SOAP 108 -1 -1 2 kg/m2/s SOAP_emission_flux_from_biogenic_sources EmisSOAP_BioBurn SOAP 111 -1 -1 2 kg/m2/s SOAP_emission_flux_from_biomass_burning EmisSOAP_Ship SOAP 0 10 -1 2 kg/m2/s SOAP_emission_flux_from_ships ############################################################################### ##### SOAS sources ##### ############################################################################### EmisSOAS_Biogenic SOAS 108 -1 -1 2 kg/m2/s SOAS_emission_flux_from_biogenic_sources ############################################################################### ##### TOLU emissions ##### ############################################################################### EmisTOLU_Total TOLU -1 -1 -1 3 kg/m2/s TOLU_emission_flux_from_all_sectors EmisTOLU_Anthro TOLU 0 1 -1 3 kg/m2/s TOLU_emission_flux_from_anthropogenic EmisTOLU_BioBurn TOLU 111 -1 -1 2 kg/m2/s TOLU_emission_flux_from_biomass_burning EmisTOLU_Ship TOLU 0 10 -1 2 kg/m2/s TOLU_emission_flux_from_ships ############################################################################### ##### XYLE emissions ##### ############################################################################### EmisXYLE_Total XYLE -1 -1 -1 3 kg/m2/s XYLE_emission_flux_from_all_sectors EmisXYLE_Anthro XYLE 0 1 -1 3 kg/m2/s XYLE_emission_flux_from_anthropogenic EmisXYLE_BioBurn XYLE 111 -1 -1 2 kg/m2/s XYLE_emission_flux_from_biomass_burning EmisXYLE_Ship XYLE 0 10 -1 2 kg/m2/s XYLE_emission_flux_from_ships ############################################################################### ##### Additional diagnostics saved out via HEMCO extensions ##### ############################################################################### #============================= # LIGHTNOX extension #============================= HcoLightningFlashRate_Total -1 103 -1 -1 2 flashes/min/km2 Total_lightning_flash_rate HcoLightningFlashRate_IntraCld -1 103 -1 -1 2 flashes/min/km2 Intra-cloud_lightning_flash_rate HcoLightningFlashRate_CldGround -1 103 -1 -1 2 flashes/min/km2 Cloud-ground_lightning_flash_rate HcoConvectiveCloudTopHeight -1 103 -1 -1 2 level Convective_cloud_top_height #EOC ================================================ FILE: run/GCClassic/HEMCO_Diagn.rc.templates/HEMCO_Diagn.rc.metals ================================================ #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !MODULE: HEMCO_Diagn.rc # # !DESCRIPTION: Configuration file for netCDF diagnostic output from HEMCO # (for trace metals simulations). #\\ #\\ # !REMARKS: # For more information about HEMCO diagnostics, see hemco.readthedocs.io. # # !REVISION HISTORY: # 13 Feb 2018 - E. Lundgren - Initial version #EOP #------------------------------------------------------------------------------ #BOC # Name Spec ExtNr Cat Hier Dim OutUnit LongName # # Aluminum # EmisAlF1 AlF1 0 -1 -1 2 kg/m2/s Aluminum emissions from dust (Reff = 0.7 um) EmisAlF2 AlF2 0 -1 -1 2 kg/m2/s Aluminum emissions from dust (Reff = 1.4 um) # # Arsenic # EmisAsF1 AsF1 0 -1 -1 2 kg/m2/s Arsenic emissions from dust (Reff = 0.7 um) EmisAsF2 AsF1 0 -1 -1 2 kg/m2/s Arsenic emissions from dust (Reff = 1.4 um) # # Calcium # EmisCaF1 CaF1 0 -1 -1 2 kg/m2/s Calcium emissions from dust (Reff = 0.7 um) EmisCaF2 CaF2 0 -1 -1 2 kg/m2/s Calcium emissions from dust (Reff = 1.4 um) EmisCaC3 CaC3 0 -1 -1 2 kg/m2/s Calcium emissions from dust (Reff = 2.4 um) EmisCaC4 CaC4 0 -1 -1 2 kg/m2/s Calcium emissions from dust (Reff = 4.5 um) # # Cadmium # EmisCdF1 CdF1 0 -1 -1 2 kg/m2/s Cadmium emissions from dust (Reff = 0.7 um) EmisCdF2 CdF2 0 -1 -1 2 kg/m2/s Cadmium emissions from dust (Reff = 1.4 um) # # Iron # EmisFeF1 FeF1 0 -1 -1 2 kg/m2/s Iron emissions from dust (Reff = 0.7 um) EmisFeF2 FeF2 0 -1 -1 2 kg/m2/s Iron emissions from dust (Reff = 1.4 um) # # Potassium # EmisKF1 KF1 0 -1 -1 2 kg/m2/s Potassium emissions from dust (Reff = 0.7 um) EmisKF2 KF2 0 -1 -1 2 kg/m2/s Potassium emissions from dust (Reff = 1.4 um) EmisKC3 KC3 0 -1 -1 2 kg/m2/s Potassium emissions from dust (Reff = 2.4 um) EmisKC4 KC4 0 -1 -1 2 kg/m2/s Potassium emissions from dust (Reff = 4.5 um) # # Magnesium # EmisMgF1 MgF1 0 -1 -1 2 kg/m2/s Magnesium emissions from dust (Reff = 0.7 um) EmisMgF2 MgF2 0 -1 -1 2 kg/m2/s Magnesium emissions from dust (Reff = 1.4 um) EmisMgC3 MgC3 0 -1 -1 2 kg/m2/s Magnesium emissions from dust (Reff = 2.4 um) EmisMgC4 MgC4 0 -1 -1 2 kg/m2/s Magnesium emissions from dust (Reff = 4.5 um) # # Manganese # EmisMnF1 MnF1 0 -1 -1 2 kg/m2/s Manganese emissions from dust (Reff = 0.7 um) EmisMnF2 MnF2 0 -1 -1 2 kg/m2/s Manganese emissions from dust (Reff = 1.4 um) # # Nickel # EmisNiF1 NiF1 0 -1 -1 2 kg/m2/s Nickel emissions from dust (Reff = 0.7 um) EmisNiF2 NiF2 0 -1 -1 2 kg/m2/s Nickel emissions from dust (Reff = 1.4 um) # # Lead # EmisPbF1 PbF1 0 -1 -1 2 kg/m2/s Lead emissions from dust (Reff = 0.7 um) EmisPbF2 PbF2 0 -1 -1 2 kg/m2/s Lead emissions from dust (Reff = 1.4 um) # # Silicon # EmisSiF1 SiF1 0 -1 -1 2 kg/m2/s Silicon emissions from dust (Reff = 0.7 um) EmisSiF2 SiF2 0 -1 -1 2 kg/m2/s Silicon emissions from dust (Reff = 1.4 um) # # Titanium # EmisTiF1 SiF1 0 -1 -1 2 kg/m2/s Titanium emissions from dust (Reff = 0.7 um) EmisTiF2 SiF2 0 -1 -1 2 kg/m2/s Titanium emissions from dust (Reff = 1.4 um) #EOC ================================================ FILE: run/GCClassic/HEMCO_Diagn.rc.templates/HEMCO_Diagn.rc.tagO3 ================================================ #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !MODULE: HEMCO_Diagn.rc # # !DESCRIPTION: Configuration file for netCDF diagnostic output from HEMCO # (for tagO3 simulations). #\\ #\\ # !REMARKS: # For more information about HEMCO diagnostics, see hemco.readthedocs.io. # # !REVISION HISTORY: # 13 Mar 2019 - M. Sulprizio- Initial version #EOP #------------------------------------------------------------------------------ #BOC # Name Spec ExtNr Cat Hier Dim OutUnit LongName EmisO3_Total O3 -1 -1 -1 3 kg/m2/s O3_emission_flux_from_all_sectors #EOC ================================================ FILE: run/GCClassic/HISTORY.rc.templates/HISTORY.rc.Hg ================================================ ############################################################################### ### HISTORY.rc file for GEOS-Chem Hg specialty simulations ### ### Contact: GEOS-Chem Support Team (geos-chem-support@g.harvard.edu) ### ############################################################################### #============================================================================ # EXPID allows you to specify the beginning of the file path corresponding # to each diagnostic collection. For example: # # EXPID: ./GEOSChem # Will create netCDF files whose names begin "GEOSChem", # in this run directory. # # EXPID: ./OutputDir/GEOSChem # Will create netCDF files whose names begin with "GEOSChem" # in the OutputDir sub-folder of this run directory. # #============================================================================ EXPID: ./OutputDir/GEOSChem #============================================================================== # %%%%% COLLECTION NAME DECLARATIONS %%%%% # # To enable a collection, remove the "#" character in front of its name. The # Restart collection should always be turned on. # # NOTE: These are the "default" collections for GEOS-Chem, but you can create # your own customized diagnostic collections as well. #============================================================================== COLLECTIONS: 'Restart', #'MercuryChem', #'MercuryEmis', #'MercuryOcean', 'SpeciesConc', #'Budget', #'CloudConvFlux', #'DryDep', #'KppDiags', #'ProdLoss', #'RxnConst', #'RxnRates', #'SatDiagn', #'SatDiagnEdge', #'StateMet', #'StateMetLevEdge', #'WetLossConv', #'WetLossLS', #'BoundaryConditions', :: ############################################################################### ### The rest of this file consists of collection definitions. ### ### Above collections whose declarations are commented out will be ignored. ### ### Make sure that each collection definition, as well as the list of ### ### collections above, ends with a double-colon ("::"). ### ############################################################################### #============================================================================== # %%%%% THE Restart COLLECTION %%%%% # # GEOS-Chem restart file fields #============================================================================== Restart.filename: './Restarts/GEOSChem.Restart.%y4%m2%d2_%h2%n2z.nc4', Restart.frequency: 'End', Restart.duration: 'End', Restart.mode: 'instantaneous' Restart.fields: 'SpeciesRst_?ALL? ', 'Chem_KPPHvalue ', 'Met_DELPDRY ', 'Met_BXHEIGHT ', 'Met_TropLev ', 'Chem_OceanHg0 ', 'Chem_OceanHg2 ', 'Chem_OceanHgP ', 'Chem_SnowHgOcean ', 'Chem_SnowHgLand ', 'Chem_SnowHgOceanStored ', 'Chem_SnowHgLandStored ', :: #============================================================================== # %%%%% THE SpeciesConc COLLECTION %%%%% # # GEOS-Chem species concentrations (default = all species) # # Concentrations may be saved out as SpeciesConcVV [v/v dry air] or # SpeciesConcMND [molec/cm3] #============================================================================== SpeciesConc.template: '%y4%m2%d2_%h2%n2z.nc4', SpeciesConc.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} SpeciesConc.duration: ${RUNDIR_HIST_TIME_AVG_DUR} SpeciesConc.mode: 'time-averaged' SpeciesConc.fields: 'SpeciesConcVV_?ALL? ', #'SpeciesConcMND_?ALL? ', :: #============================================================================== # %%%%% THE Budget COLLECTION %%%%% # # GEOS-Chem budget diagnostics defined as species kg/s in the column # (full, troposphere, or PBL) due to a single component (e.g. chemistry) # (default = advected species) #============================================================================== Budget.template: '%y4%m2%d2_%h2%n2z.nc4', Budget.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} Budget.duration: ${RUNDIR_HIST_TIME_AVG_DUR} Budget.mode: 'time-averaged' Budget.fields: 'BudgetEmisDryDepFull_?ADV? ', 'BudgetEmisDryDepTrop_?ADV? ', 'BudgetEmisDryDepPBL_?ADV? ', 'BudgetEmisDryDepLevs1to35_?ADV? ', 'BudgetChemistryFull_?ADV? ', 'BudgetChemistryTrop_?ADV? ', 'BudgetChemistryPBL_?ADV? ', 'BudgetChemistryLevs1to35_?ADV? ', 'BudgetTransportFull_?ADV? ', 'BudgetTransportTrop_?ADV? ', 'BudgetTransportPBL_?ADV? ', 'BudgetTransportLevs1to35_?ADV? ', 'BudgetMixingFull_?ADV? ', 'BudgetMixingTrop_?ADV? ', 'BudgetMixingPBL_?ADV? ', 'BudgetMixingLevs1to35_?ADV? ', 'BudgetConvectionFull_?ADV? ', 'BudgetConvectionTrop_?ADV? ', 'BudgetConvectionPBL_?ADV? ', 'BudgetConvectionLevs1to35_?ADV? ', 'BudgetWetDepFull_?WET? ', 'BudgetWetDepTrop_?WET? ', 'BudgetWetDepPBL_?WET? ', 'BudgetWetDepLevs1to35_?WET? ', :: #============================================================================== # %%%%% THE CloudConvFlux COLLECTION %%%%% # # Cloud convective flux (default = advected species) # # Available for all simulations #============================================================================== CloudConvFlux.template: '%y4%m2%d2_%h2%n2z.nc4', CloudConvFlux.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} CloudConvFlux.duration: ${RUNDIR_HIST_TIME_AVG_DUR} CloudConvFlux.mode: 'time-averaged' CloudConvFlux.fields: 'CloudConvFlux_?ADV? ', :: #============================================================================== # %%%%% THE DryDep COLLECTION %%%%% # # Dry depositon fluxes and velocities (for all dry-depositing species) # # Available for all simuations that have dry-depositing species #============================================================================== DryDep.template: '%y4%m2%d2_%h2%n2z.nc4', DryDep.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} DryDep.duration: ${RUNDIR_HIST_TIME_AVG_DUR} DryDep.mode: 'time-averaged' DryDep.fields: 'DryDepVel_?DRY? ', 'DryDep_?DRY? ', #'DryDepChm_?DRY? ', #'DryDepMix_?DRY? ', :: #============================================================================== # %%%%% THE MercuryChem COLLECTION %%%%% # # Concentration and prod/loss diagnostics for mercury species #============================================================================== MercuryChem.template: '%y4%m2%d2_%h2%n2z.nc4', MercuryChem.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} MercuryChem.duration: ${RUNDIR_HIST_TIME_AVG_DUR} MercuryChem.mode: 'time-averaged' MercuryChem.fields: 'HgBrAfterChem ', 'HgClAfterChem ', 'HgOHAfterChem ', 'HgBrOAfterChem ', 'HgClOAfterChem ', 'HgOHOAfterChem ', 'Hg2GToHg2P ', 'Hg2PToHg2G ', 'Hg2GasToHg2StrP ', 'Hg2GasToSSA ', :: #============================================================================== # %%%%% THE MercuryEmis COLLECTION %%%%% # # Concentration and prod/loss diagnostics for mercury species that are # not archived by HEMCO. #============================================================================== MercuryEmis.template: '%y4%m2%d2_%h2%n2z.nc4', MercuryEmis.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} MercuryEmis.duration: ${RUNDIR_HIST_TIME_AVG_DUR} MercuryEmis.mode: 'time-averaged' MercuryEmis.fields: 'EmisHg0land ', 'EmisHg0ocean ', 'EmisHg0snow ', 'EmisHg0soil ', :: #============================================================================== # %%%%% THE MercuryOcean COLLECTION %%%%% # # Oceanic masses and fluxes of mercury species #============================================================================== MercuryOcean.template: '%y4%m2%d2_%h2%n2z.nc4', MercuryOcean.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} MercuryOcean.duration: ${RUNDIR_HIST_TIME_AVG_DUR} MercuryOcean.mode: 'time-averaged' MercuryOcean.fields: 'FluxHg0fromAirToOcean ', 'FluxHg0fromOceanToAir ', 'FluxHg2HgPfromAirToOcean ', 'FluxHg2toDeepOcean ', 'FluxOCtoDeepOcean ', 'MassHg0inOcean ', 'MassHg2inOcean ', 'MassHgPinOcean ', 'MassHgTotalInOcean ', :: #============================================================================== # %%%%% THE ProdLoss COLLECTION %%%%% # # Chemical production and loss rates #============================================================================== ProdLoss.template: '%y4%m2%d2_%h2%n2z.nc4', ProdLoss.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} ProdLoss.duration: ${RUNDIR_HIST_TIME_AVG_DUR} ProdLoss.mode: 'time-averaged' ProdLoss.fields: 'Prod_?PRD? ', :: #============================================================================== # %%%%% THE KppDiags COLLECTION %%%%% # # Diagnostics from the KPP solver. #============================================================================== KppDiags.template: '%y4%m2%d2_%h2%n2z.nc4', KppDiags.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} KppDiags.duration: ${RUNDIR_HIST_TIME_AVG_DUR} KppDiags.mode: 'time-averaged' KppDiags.fields: 'KppIntCounts ', 'KppJacCounts ', 'KppTotSteps ', 'KppAccSteps ', 'KppRejSteps ', 'KppLuDecomps ', 'KppSubsts ', 'KppSmDecomps ', 'KppTime ', :: #============================================================================== # %%%%% THE RxnConst COLLECTION %%%%% # # Archives chemical reaction rates constants from the KPP solver. # It is best to list individual reactions to avoid using too much memory. # Reactions should be listed as "RxnConst_EQnnnn", where nnnn is the reaction # index as listed in KPP/fullchem/gckpp_Monitor.F90 (pad zeroes as needed). # # The units of reaction rate constants vary according to the number of # reactants in the reaction. #============================================================================== RxnConst.template: '%y4%m2%d2_%h2%n2z.nc4', RxnConst.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} RxnConst.duration: ${RUNDIR_HIST_TIME_AVG_DUR} RxnConst.mode: 'time-averaged' RxnConst.fields: 'RxnConst_EQ0001 ', 'RxnConst_EQ0002 ', # ... add others as needed ... :: #============================================================================== # %%%%% THE RxnRates COLLECTION %%%%% # # Archives chemical reaction rates from the KPP solver. # It is best to list individual reactions to avoid using too much memory. # Reactions should be listed as "RxnRate_EQnnnn", where nnnn is the reaction # index as listed in KPP/fullchem/gckpp_Monitor.F90 (pad zeroes as needed). #============================================================================== RxnRates.template: '%y4%m2%d2_%h2%n2z.nc4', RxnRates.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} RxnRates.duration: ${RUNDIR_HIST_TIME_AVG_DUR} RxnRates.mode: 'time-averaged' RxnRates.fields: 'RxnRate_EQ0001 ', 'RxnRate_EQ0002 ', # ... add others as needed ... :: #============================================================================== # %%%%% THE SatDiagn COLLECTION %%%%% # # GEOS-Chem data during satellite overpass #============================================================================== SatDiagn.template: '%y4%m2%d2_%h2%n2z.nc4', SatDiagn.format: 'CFIO', SatDiagn.frequency: 00000001 000000 SatDiagn.duration: 00000100 000000 SatDiagn.hrrange: 11.98 15.02 SatDiagn.mode: 'time-averaged' SatDiagn.fields: 'SatDiagnConc_Hg0 ', 'SatDiagnRH ', 'SatDiagnAirDen ', 'SatDiagnBoxHeight ', 'SatDiagnTROPP ', 'SatDiagnPBLHeight ', 'SatDiagnPBLTop ', 'SatDiagnPBLTOPL ', 'SatDiagnPMID ', 'SatDiagnMODISLAI ', 'SatDiagnWetLossLS_Hg0 ', 'SatDiagnWetLossConv_Hg0 ', 'SatDiagnJval_Hg0 ', 'SatDiagnDryDep_Hg0 ', 'SatDiagnOHreactivity ', 'SatDiagnColEmis_Hg0 ', 'SatDiagnSurfFlux_Hg0 ', 'SatDiagnColEmis_CH2O ', 'SatDiagnSurfFlux_CH2O ', 'SatDiagnColEmis_NO ', 'SatDiagnSurfFlux_NO ', 'SatDiagnProd_?PRD? ', 'SatDiagnLoss_?LOS? ', :: #============================================================================== # %%%%% THE SatDiagnEdge COLLECTION %%%%% # # GEOS-Chem data (on level edges) during satellite overpass #============================================================================== SatDiagnEdge.template: '%y4%m2%d2_%h2%n2z.nc4', SatDiagnEdge.format: 'CFIO', SatDiagnEdge.frequency: 00000001 000000 SatDiagnEdge.duration: 00000100 000000 SatDiagnEdge.hrrange: 11.98 15.02 SatDiagnEdge.mode: 'time-averaged' SatDiagnEdge.fields: 'SatDiagnPEDGE ', :: #============================================================================== # %%%%% The StateMet COLLECTION %%%%% # # Fields of the State_Met object (also see the StateMetLevEdge collection) #============================================================================== StateMet.template: '%y4%m2%d2_%h2%n2z.nc4', StateMet.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} StateMet.duration: ${RUNDIR_HIST_TIME_AVG_DUR} StateMet.mode: 'time-averaged' StateMet.fields: 'Met_AD ', 'Met_AIRDEN ', 'Met_AIRVOL ', 'Met_ALBD ', 'Met_AVGW ', 'Met_BXHEIGHT ', 'Met_ChemGridLev ', 'Met_CLDF ', 'Met_CLDFRC ', 'Met_CLDTOPS ', 'Met_DELP ', 'Met_DQRCU ', 'Met_DQRLSAN ', 'Met_DTRAIN ', 'Met_EFLUX ', 'Met_FRCLND ', 'Met_FRLAKE ', 'Met_FRLAND ', 'Met_FRLANDICE ', 'Met_FROCEAN ', 'Met_FRSEAICE ', 'Met_FRSNOW ', 'Met_GWETROOT ', 'Met_GWETTOP ', 'Met_HFLUX ', 'Met_LAI ', 'Met_PARDR ', 'Met_PARDF ', 'Met_PBLTOPL ', 'Met_PBLH ', 'Met_PHIS ', 'Met_PMID ', 'Met_PMIDDRY ', 'Met_PRECANV ', 'Met_PRECCON ', 'Met_PRECLSC ', 'Met_PRECTOT ', 'Met_PS1DRY ', 'Met_PS1WET ', 'Met_PS2DRY ', 'Met_PS2WET ', 'Met_PSC2WET ', 'Met_PSC2DRY ', 'Met_QI ', 'Met_QL ', 'Met_OMEGA ', 'Met_OPTD ', 'Met_REEVAPCN ', 'Met_REEVAPLS ', 'Met_SLP ', 'Met_SNODP ', 'Met_SNOMAS ', 'Met_SPHU ', 'Met_SPHU1 ', 'Met_SPHU2 ', 'Met_SUNCOS ', 'Met_SUNCOSmid ', 'Met_SWGDN ', 'Met_T ', 'Met_TAUCLI ', 'Met_TAUCLW ', 'Met_THETA ', 'Met_TMPU1 ', 'Met_TMPU2 ', 'Met_TO3 ', 'Met_TropHt ', 'Met_TropLev ', 'Met_TropP ', 'Met_TS ', 'Met_TSKIN ', 'Met_TV ', 'Met_U ', 'Met_U10M ', 'Met_USTAR ', 'Met_UVALBEDO ', 'Met_V ', 'Met_V10M ', 'Met_Z0 ', :: #============================================================================== # %%%%% THE StateMetLevEdge COLLECTION %%%%% # # Diagnostics that are defined on grid box level edges #============================================================================== StateMetLevEdge.template: '%y4%m2%d2_%h2%n2z.nc4', StateMetLevEdge.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} StateMetLevEdge.duration: ${RUNDIR_HIST_TIME_AVG_DUR} StateMetLevEdge.mode: 'time-averaged' StateMetLevEdge.fields: 'Met_CMFMC ', 'Met_PEDGE ', 'Met_PEDGEDRY ', 'Met_PFICU ', 'Met_PFILSAN ', 'Met_PFLCU ', 'Met_PFLLSAN ', :: #============================================================================== # %%%%% THE WetLossConv COLLECTION %%%%% # # Loss of soluble species in convective updrafts #============================================================================== WetLossConv.template: '%y4%m2%d2_%h2%n2z.nc4', WetLossConv.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} WetLossConv.duration: ${RUNDIR_HIST_TIME_AVG_DUR} WetLossConv.mode: 'time-averaged' WetLossConv.fields: 'WetLossConv_?WET? ', 'WetLossConvFrac_?WET? ', :: #============================================================================== # %%%%% THE WetLossLS COLLECTION %%%%% # # Loss of soluble species in large-scale wetdep (i.e. rainout and washout) #============================================================================== # Loss due to rainout and washout (per deposited species) WetLossLS.template: '%y4%m2%d2_%h2%n2z.nc4', WetLossLS.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} WetLossLS.duration: ${RUNDIR_HIST_TIME_AVG_DUR} WetLossLS.mode: 'time-averaged' WetLossLS.fields: 'WetLossLS_?WET? ', :: #============================================================================== # %%%%% THE BoundaryConditions COLLECTION %%%%% # # GEOS-Chem boundary conditions for use in nested grid simulations # # NOTE: Do not change the BoundaryConditions.frequency setting below, # because GEOS-Chem nested-grid simulations expect to read boundary # condition data at 3 hour intervals. #============================================================================== BoundaryConditions.template: '%y4%m2%d2_%h2%n2z.nc4', BoundaryConditions.frequency: 00000000 030000 BoundaryConditions.duration: 00000001 000000 BoundaryConditions.mode: 'instantaneous' BoundaryConditions.fields: 'SpeciesBC_?ADV? ', :: ================================================ FILE: run/GCClassic/HISTORY.rc.templates/HISTORY.rc.POPs ================================================ ############################################################################### ### HISTORY.rc file for GEOS-Chem POPs specialty simulations ### ### Contact: GEOS-Chem Support Team (geos-chem-support@g.harvard.edu) ### ############################################################################### #============================================================================ # EXPID allows you to specify the beginning of the file path corresponding # to each diagnostic collection. For example: # # EXPID: ./GEOSChem # Will create netCDF files whose names begin "GEOSChem", # in this run directory. # # EXPID: ./OutputDir/GEOSChem # Will create netCDF files whose names begin with "GEOSChem" # in the OutputDir sub-folder of this run directory. # #============================================================================ EXPID: ./OutputDir/GEOSChem #============================================================================== # %%%%% COLLECTION NAME DECLARATIONS %%%%% # # To enable a collection, remove the "#" character in front of its name. The # Restart collection should always be turned on. # # NOTE: These are the "default" collections for GEOS-Chem, but you can create # your own customized diagnostic collections as well. #============================================================================== COLLECTIONS: 'Restart', #'POPS', 'SpeciesConc', #'Budget', #'CloudConvFlux', #'DryDep', #'StateMet', #'StateMetLevEdge', #'WetLossConv', #'WetLossLS', #'BoundaryConditions', :: ############################################################################### ### The rest of this file consists of collection definitions. ### ### Above collections whose declarations are commented out will be ignored. ### ### Make sure that each collection definition, as well as the list of ### ### collections above, ends with a double-colon ("::"). ### ############################################################################### #============================================================================== # %%%%% THE Restart COLLECTION %%%%% # # GEOS-Chem restart file fields #============================================================================== Restart.filename: './Restarts/GEOSChem.Restart.%y4%m2%d2_%h2%n2z.nc4', Restart.frequency: 'End', Restart.duration: 'End', Restart.mode: 'instantaneous' Restart.fields: 'SpeciesRst_?ALL? ', 'Met_DELPDRY ', 'Met_BXHEIGHT ', 'Met_TropLev ', :: #============================================================================== # %%%%% THE SpeciesConc COLLECTION %%%%% # # GEOS-Chem species concentrations (default = all species) # # Concentrations may be saved out as SpeciesConcVV [v/v dry air] or # SpeciesConcMND [molec/cm3] #============================================================================== SpeciesConc.template: '%y4%m2%d2_%h2%n2z.nc4', SpeciesConc.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} SpeciesConc.duration: ${RUNDIR_HIST_TIME_AVG_DUR} SpeciesConc.mode: 'time-averaged' SpeciesConc.fields: 'SpeciesConcVV_?ALL? ', #'SpeciesConcMND_?ALL? ', :: #============================================================================== # %%%%% THE Budget COLLECTION %%%%% # # GEOS-Chem budget diagnostics defined as species kg/s in the column # (full, troposphere, or PBL) due to a single component (e.g. chemistry) # (default = advected species) #============================================================================== Budget.template: '%y4%m2%d2_%h2%n2z.nc4', Budget.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} Budget.duration: ${RUNDIR_HIST_TIME_AVG_DUR} Budget.mode: 'time-averaged' Budget.fields: 'BudgetEmisDryDepFull_?ADV? ', 'BudgetEmisDryDepTrop_?ADV? ', 'BudgetEmisDryDepPBL_?ADV? ', 'BudgetEmisDryDepLevs1to35_?ADV? ', 'BudgetChemistryFull_?ADV? ', 'BudgetChemistryTrop_?ADV? ', 'BudgetChemistryPBL_?ADV? ', 'BudgetChemistryLevs1to35_?ADV? ', 'BudgetTransportFull_?ADV? ', 'BudgetTransportTrop_?ADV? ', 'BudgetTransportPBL_?ADV? ', 'BudgetTransportLevs1to35_?ADV? ', 'BudgetMixingFull_?ADV? ', 'BudgetMixingTrop_?ADV? ', 'BudgetMixingPBL_?ADV? ', 'BudgetMixingLevs1to35_?ADV? ', 'BudgetConvectionFull_?ADV? ', 'BudgetConvectionTrop_?ADV? ', 'BudgetConvectionPBL_?ADV? ', 'BudgetConvectionLevs1to35_?ADV? ', 'BudgetWetDepFull_?WET? ', 'BudgetWetDepTrop_?WET? ', 'BudgetWetDepPBL_?WET? ', 'BudgetWetDepLevs1to35_?WET? ', :: #============================================================================== # %%%%% THE CloudConvFlux COLLECTION %%%%% # # Cloud convective flux (default = advected species) #============================================================================== CloudConvFlux.template: '%y4%m2%d2_%h2%n2z.nc4', CloudConvFlux.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} CloudConvFlux.duration: ${RUNDIR_HIST_TIME_AVG_DUR} CloudConvFlux.mode: 'time-averaged' CloudConvFlux.fields: 'CloudConvFlux_?ADV? ', :: #============================================================================== # %%%%% THE DryDep COLLECTION %%%%% # # Dry depositon fluxes and velocities (for all dry-depositing species) #============================================================================== DryDep.template: '%y4%m2%d2_%h2%n2z.nc4', DryDep.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} DryDep.duration: ${RUNDIR_HIST_TIME_AVG_DUR} DryDep.mode: 'time-averaged' DryDep.fields: 'DryDepVel_?DRY? ', 'DryDep_?DRY? ', #'DryDepChm_?DRY? ', #'DryDepMix_?DRY? ', :: #============================================================================== # %%%%% THE POPS COLLECTION %%%%% # # Emissions, fluxes, and chemical prod/loss for persistent organic pollutants #============================================================================== POPS.template: '%y4%m2%d2_%h2%n2z.nc4', POPS.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} POPS.duration: ${RUNDIR_HIST_TIME_AVG_DUR} POPS.mode: 'time-averaged' POPS.fields: 'LossPOPPOCPObyGasPhase ', 'ProdPOPPOCPOfromGasPhase ', 'LossPOPPBCPObyGasPhase ', 'ProdPOPPBCPOfromGasPhase ', 'ProdPOPGfromOH ', 'ProdPOPPOCPOfromO3 ', 'ProdPOPPOCPIfromO3 ', 'ProdPOPPBCPIfromO3 ', 'ProdPOPPBCPOfromO3 ', 'ProdPOPPOCPOfromNO3 ', 'ProdPOPPOCPIfromNO3 ', 'ProdPOPPBCPIfromNO3 ', 'ProdPOPPBCPOfromNO3 ', :: #============================================================================== # %%%%% The StateMet COLLECTION %%%%% # # Fields of the State_Met object (also see the StateMetLevEdge collection) #============================================================================== StateMet.template: '%y4%m2%d2_%h2%n2z.nc4', StateMet.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} StateMet.duration: ${RUNDIR_HIST_TIME_AVG_DUR} StateMet.mode: 'time-averaged' StateMet.fields: 'Met_AD ', 'Met_AIRDEN ', 'Met_AIRVOL ', 'Met_ALBD ', 'Met_AVGW ', 'Met_BXHEIGHT ', 'Met_ChemGridLev ', 'Met_CLDF ', 'Met_CLDFRC ', 'Met_CLDTOPS ', 'Met_DELP ', 'Met_DQRCU ', 'Met_DQRLSAN ', 'Met_DTRAIN ', 'Met_EFLUX ', 'Met_FRCLND ', 'Met_FRLAKE ', 'Met_FRLAND ', 'Met_FRLANDICE ', 'Met_FROCEAN ', 'Met_FRSEAICE ', 'Met_FRSNOW ', 'Met_GWETROOT ', 'Met_GWETTOP ', 'Met_HFLUX ', 'Met_LAI ', 'Met_PARDR ', 'Met_PARDF ', 'Met_PBLTOPL ', 'Met_PBLH ', 'Met_PHIS ', 'Met_PMID ', 'Met_PMIDDRY ', 'Met_PRECANV ', 'Met_PRECCON ', 'Met_PRECLSC ', 'Met_PRECTOT ', 'Met_PS1DRY ', 'Met_PS1WET ', 'Met_PS2DRY ', 'Met_PS2WET ', 'Met_PSC2WET ', 'Met_PSC2DRY ', 'Met_QI ', 'Met_QL ', 'Met_OMEGA ', 'Met_OPTD ', 'Met_REEVAPCN ', 'Met_REEVAPLS ', 'Met_SLP ', 'Met_SNODP ', 'Met_SNOMAS ', 'Met_SPHU ', 'Met_SPHU1 ', 'Met_SPHU2 ', 'Met_SUNCOS ', 'Met_SUNCOSmid ', 'Met_SWGDN ', 'Met_T ', 'Met_TAUCLI ', 'Met_TAUCLW ', 'Met_THETA ', 'Met_TMPU1 ', 'Met_TMPU2 ', 'Met_TO3 ', 'Met_TropHt ', 'Met_TropLev ', 'Met_TropP ', 'Met_TS ', 'Met_TSKIN ', 'Met_TV ', 'Met_U ', 'Met_U10M ', 'Met_USTAR ', 'Met_UVALBEDO ', 'Met_V ', 'Met_V10M ', 'Met_Z0 ', :: #============================================================================== # %%%%% THE StateMetLevEdge COLLECTION %%%%% # # Diagnostics that are defined on grid box level edges #============================================================================== StateMetLevEdge.template: '%y4%m2%d2_%h2%n2z.nc4', StateMetLevEdge.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} StateMetLevEdge.duration: ${RUNDIR_HIST_TIME_AVG_DUR} StateMetLevEdge.mode: 'time-averaged' StateMetLevEdge.fields: 'Met_CMFMC ', 'Met_PEDGE ', 'Met_PEDGEDRY ', 'Met_PFICU ', 'Met_PFILSAN ', 'Met_PFLCU ', 'Met_PFLLSAN ', :: #============================================================================== # %%%%% THE WetLossConv COLLECTION %%%%% # # Loss of soluble species in convective updrafts #============================================================================== WetLossConv.template: '%y4%m2%d2_%h2%n2z.nc4', WetLossConv.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} WetLossConv.duration: ${RUNDIR_HIST_TIME_AVG_DUR} WetLossConv.mode: 'time-averaged' WetLossConv.fields: 'WetLossConv_?WET? ', 'WetLossConvFrac_?WET? ', :: #============================================================================== # %%%%% THE WetLossLS COLLECTION %%%%% # # Loss of soluble species in large-scale wetdep (i.e. rainout and washout) #============================================================================== # Loss due to rainout and washout (per deposited species) WetLossLS.template: '%y4%m2%d2_%h2%n2z.nc4', WetLossLS.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} WetLossLS.duration: ${RUNDIR_HIST_TIME_AVG_DUR} WetLossLS.mode: 'time-averaged' WetLossLS.fields: 'WetLossLS_?WET? ', :: #============================================================================== # %%%%% THE BoundaryConditions COLLECTION %%%%% # # GEOS-Chem boundary conditions for use in nested grid simulations # # NOTE: Do not change the BoundaryConditions.frequency setting below, # because GEOS-Chem nested-grid simulations expect to read boundary # condition data at 3 hour intervals. #============================================================================== BoundaryConditions.template: '%y4%m2%d2_%h2%n2z.nc4', BoundaryConditions.frequency: 00000000 030000 BoundaryConditions.duration: 00000001 000000 BoundaryConditions.mode: 'instantaneous' BoundaryConditions.fields: 'SpeciesBC_?ADV? ', :: ================================================ FILE: run/GCClassic/HISTORY.rc.templates/HISTORY.rc.TransportTracers ================================================ ############################################################################### ### HISTORY.rc file for GEOS-Chem Transport Tracers simulations ### ### Contact: GEOS-Chem Support Team (geos-chem-support@g.harvard.edu) ### ############################################################################### #============================================================================ # EXPID allows you to specify the beginning of the file path corresponding # to each diagnostic collection. For example: # # EXPID: ./GEOSChem # Will create netCDF files whose names begin "GEOSChem", # in this run directory. # # EXPID: ./OutputDir/GEOSChem # Will create netCDF files whose names begin with "GEOSChem" # in the OutputDir sub-folder of this run directory. # #============================================================================ EXPID: ./OutputDir/GEOSChem #============================================================================== # %%%%% COLLECTION NAME DECLARATIONS %%%%% # # To enable a collection, remove the "#" character in front of its name. The # Restart collection should always be turned on. # # NOTE: These are the "default" collections for GEOS-Chem, but you can create # your own customized diagnostic collections as well. #============================================================================== COLLECTIONS: 'Restart', 'RadioNuclide', 'SpeciesConc', #'Budget', 'CloudConvFlux', 'DryDep', #'SatDiagn', #'SatDiagnEdge', 'StateMet', 'StateMetLevEdge', 'WetLossConv', 'WetLossLS', 'AdvFluxVert', :: ############################################################################### ### The rest of this file consists of collection definitions. ### ### Above collections whose declarations are commented out will be ignored. ### ### Make sure that each collection definition, as well as the list of ### ### collections above, ends with a double-colon ("::"). ### ############################################################################### #============================================================================== # %%%%% THE Restart COLLECTION %%%%% # # GEOS-Chem restart file fields # #============================================================================== Restart.filename: './Restarts/GEOSChem.Restart.%y4%m2%d2_%h2%n2z.nc4', Restart.frequency: 'End', Restart.duration: 'End', Restart.mode: 'instantaneous' Restart.fields: 'SpeciesRst_?ALL? ', 'Met_DELPDRY ', 'Met_BXHEIGHT ', 'Met_TropLev ', :: #============================================================================== # %%%%% THE SpeciesConc COLLECTION %%%%% # # GEOS-Chem species concentrations (default = all species) # # Concentrations may be saved out as SpeciesConcVV [v/v dry air] or # SpeciesConcMND [molec/cm3] #============================================================================== SpeciesConc.template: '%y4%m2%d2_%h2%n2z.nc4', SpeciesConc.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} SpeciesConc.duration: ${RUNDIR_HIST_TIME_AVG_DUR} SpeciesConc.mode: 'time-averaged' SpeciesConc.fields: 'SpeciesConcVV_?ALL? ', #'SpeciesConcMND_?ALL? ', :: #============================================================================== # %%%%% THE Budget COLLECTION %%%%% # # GEOS-Chem budget diagnostics defined as species kg/s in the column # (full, troposphere, or PBL) due to a single component (e.g. chemistry) # (default = advected species) #============================================================================== Budget.template: '%y4%m2%d2_%h2%n2z.nc4', Budget.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} Budget.duration: ${RUNDIR_HIST_TIME_AVG_DUR} Budget.mode: 'time-averaged' Budget.fields: 'BudgetEmisDryDepFull_?ADV? ', 'BudgetEmisDryDepTrop_?ADV? ', 'BudgetEmisDryDepPBL_?ADV? ', 'BudgetEmisDryDepLevs1to35_?ADV? ', 'BudgetChemistryFull_?ADV? ', 'BudgetChemistryTrop_?ADV? ', 'BudgetChemistryPBL_?ADV? ', 'BudgetChemistryLevs1to35_?ADV? ', 'BudgetTransportFull_?ADV? ', 'BudgetTransportTrop_?ADV? ', 'BudgetTransportPBL_?ADV? ', 'BudgetTransportLevs1to35_?ADV? ', 'BudgetMixingFull_?ADV? ', 'BudgetMixingTrop_?ADV? ', 'BudgetMixingPBL_?ADV? ', 'BudgetMixingLevs1to35_?ADV? ', 'BudgetConvectionFull_?ADV? ', 'BudgetConvectionTrop_?ADV? ', 'BudgetConvectionPBL_?ADV? ', 'BudgetConvectionLevs1to35_?ADV? ', 'BudgetWetDepFull_?WET? ', 'BudgetWetDepTrop_?WET? ', 'BudgetWetDepPBL_?WET? ', 'BudgetWetDepLevs1to35_?WET? ', :: #============================================================================== # %%%%% THE CloudConvFlux COLLECTION %%%%% # # Cloud convective flux (default = advected species) #============================================================================== CloudConvFlux.template: '%y4%m2%d2_%h2%n2z.nc4', CloudConvFlux.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} CloudConvFlux.duration: ${RUNDIR_HIST_TIME_AVG_DUR} CloudConvFlux.mode: 'time-averaged' CloudConvFlux.fields: 'CloudConvFlux_?ADV? ', :: #============================================================================== # %%%%% THE DryDep COLLECTION %%%%% # # Dry depositon fluxes and velocities (for all dry-depositing species) #============================================================================== DryDep.template: '%y4%m2%d2_%h2%n2z.nc4', DryDep.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} DryDep.duration: ${RUNDIR_HIST_TIME_AVG_DUR} DryDep.mode: 'time-averaged' DryDep.fields: 'DryDepVel_?DRY? ', 'DryDep_?DRY? ', #'DryDepChm_?DRY? ', #'DryDepMix_?DRY? ', :: #============================================================================== # %%%%% THE RadioNuclide COLLECTION %%%%% # # Radioactive production and decay of radionuclide species #============================================================================== RadioNuclide.template: '%y4%m2%d2_%h2%n2z.nc4', RadioNuclide.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} RadioNuclide.duration: ${RUNDIR_HIST_TIME_AVG_DUR} RadioNuclide.mode: 'time-averaged' RadioNuclide.fields: 'PbFromRnDecay ', 'RadDecay_Rn222 ', 'RadDecay_Pb210 ', 'RadDecay_Pb210s ', 'RadDecay_Be7 ', 'RadDecay_Be7s ', 'RadDecay_Be10 ', 'RadDecay_Be10s ', :: #============================================================================== # %%%%% THE SatDiagn COLLECTION %%%%% # # GEOS-Chem data during satellite overpass #============================================================================== SatDiagn.template: '%y4%m2%d2_%h2%n2z.nc4', SatDiagn.format: 'CFIO', SatDiagn.frequency: 00000001 000000 SatDiagn.duration: 00000100 000000 SatDiagn.hrrange: 11.98 15.02 SatDiagn.mode: 'time-averaged' SatDiagn.fields: 'SatDiagnConc_Rn222 ', 'SatDiagnConc_Pb210 ', 'SatDiagnConc_Be7 ', 'SatDiagnRH ', 'SatDiagnAirDen ', 'SatDiagnBoxHeight ', 'SatDiagnTROPP ', 'SatDiagnPBLHeight ', 'SatDiagnPBLTop ', 'SatDiagnPMID ', 'SatDiagnTAir ', 'SatDiagnPBLTOPL ', 'SatDiagnMODISLAI ', 'SatDiagnWetLossLS_Pb210 ', 'SatDiagnWetLossConv_Pb210 ', 'SatDiagnWetLossLS_Be7 ', 'SatDiagnWetLossConv_Be7 ', 'SatDiagnDryDep_Pb210 ', 'SatDiagnDryDep_Be7 ', 'SatDiagnDryDepVel_Pb210 ', 'SatDiagnDryDepVel_Be7 ', 'SatDiagnOHreactivity ', 'SatDiagnColEmis_Rn222 ', 'SatDiagnSurfFlux_Rn222 ', 'SatDiagnColEmis_Pb210 ', 'SatDiagnSurfFlux_Pb210 ', 'SatDiagnColEmis_Be7 ', 'SatDiagnSurfFlux_Be7 ', :: #============================================================================== # %%%%% THE SatDiagnEdge COLLECTION %%%%% # # GEOS-Chem data (on level edges) during satellite overpass #============================================================================== SatDiagnEdge.template: '%y4%m2%d2_%h2%n2z.nc4', SatDiagnEdge.format: 'CFIO', SatDiagnEdge.frequency: 00000001 000000 SatDiagnEdge.duration: 00000100 000000 SatDiagnEdge.hrrange: 11.98 15.02 SatDiagnEdge.mode: 'time-averaged' SatDiagnEdge.fields: 'SatDiagnPEDGE ', :: #============================================================================== # %%%%% The StateMet COLLECTION %%%%% # # Fields of the State_Met object (also see the StateMetLevEdge collection) #============================================================================== StateMet.template: '%y4%m2%d2_%h2%n2z.nc4', StateMet.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} StateMet.duration: ${RUNDIR_HIST_TIME_AVG_DUR} StateMet.mode: 'time-averaged' StateMet.fields: 'Met_AD ', 'Met_AIRDEN ', 'Met_AIRVOL ', 'Met_ALBD ', 'Met_AVGW ', 'Met_BXHEIGHT ', 'Met_ChemGridLev ', 'Met_CLDF ', 'Met_CLDFRC ', 'Met_CLDTOPS ', 'Met_DELP ', 'Met_DQRCU ', 'Met_DQRLSAN ', 'Met_DTRAIN ', 'Met_EFLUX ', 'Met_FRCLND ', 'Met_FRLAKE ', 'Met_FRLAND ', 'Met_FRLANDICE ', 'Met_FROCEAN ', 'Met_FRSEAICE ', 'Met_FRSNOW ', 'Met_GWETROOT ', 'Met_GWETTOP ', 'Met_HFLUX ', 'Met_LAI ', 'Met_PARDR ', 'Met_PARDF ', 'Met_PBLTOPL ', 'Met_PBLH ', 'Met_PHIS ', 'Met_PMID ', 'Met_PMIDDRY ', 'Met_PRECANV ', 'Met_PRECCON ', 'Met_PRECLSC ', 'Met_PRECTOT ', 'Met_PS1DRY ', 'Met_PS1WET ', 'Met_PS2DRY ', 'Met_PS2WET ', 'Met_PSC2WET ', 'Met_PSC2DRY ', 'Met_QI ', 'Met_QL ', 'Met_OMEGA ', 'Met_OPTD ', 'Met_REEVAPCN ', 'Met_REEVAPLS ', 'Met_SLP ', 'Met_SNODP ', 'Met_SNOMAS ', 'Met_SPHU ', 'Met_SPHU1 ', 'Met_SPHU2 ', 'Met_SUNCOS ', 'Met_SUNCOSmid ', 'Met_SWGDN ', 'Met_T ', 'Met_TAUCLI ', 'Met_TAUCLW ', 'Met_THETA ', 'Met_TMPU1 ', 'Met_TMPU2 ', 'Met_TO3 ', 'Met_TropHt ', 'Met_TropLev ', 'Met_TropP ', 'Met_TS ', 'Met_TSKIN ', 'Met_TV ', 'Met_U ', 'Met_U10M ', 'Met_USTAR ', 'Met_UVALBEDO ', 'Met_V ', 'Met_V10M ', 'Met_Z0 ', :: #============================================================================== # %%%%% THE StateMetLevEdge COLLECTION %%%%% # # Diagnostics that are defined on grid box level edges #============================================================================== StateMetLevEdge.template: '%y4%m2%d2_%h2%n2z.nc4', StateMetLevEdge.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} StateMetLevEdge.duration: ${RUNDIR_HIST_TIME_AVG_DUR} StateMetLevEdge.mode: 'time-averaged' StateMetLevEdge.fields: 'Met_CMFMC ', 'Met_PEDGE ', 'Met_PEDGEDRY ', 'Met_PFICU ', 'Met_PFILSAN ', 'Met_PFLCU ', 'Met_PFLLSAN ', :: #============================================================================== # %%%%% THE WetLossConv COLLECTION %%%%% # # Loss of soluble species in convective updrafts #============================================================================== WetLossConv.template: '%y4%m2%d2_%h2%n2z.nc4', WetLossConv.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} WetLossConv.duration: ${RUNDIR_HIST_TIME_AVG_DUR} WetLossConv.mode: 'time-averaged' WetLossConv.fields: 'WetLossConv_?WET? ', 'WetLossConvFrac_?WET? ', :: #============================================================================== # %%%%% THE WetLossLS COLLECTION %%%%% # # Loss of soluble species in large-scale wetdep (i.e. rainout and washout) #============================================================================== WetLossLS.template: '%y4%m2%d2_%h2%n2z.nc4', WetLossLS.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} WetLossLS.duration: ${RUNDIR_HIST_TIME_AVG_DUR} WetLossLS.mode: 'time-averaged' WetLossLS.fields: 'WetLossLS_?WET? ', :: #============================================================================== # %%%%% THE AdvFluxVert COLLECTION %%%%% # # Diagnostics for evaluating transport, including age of air [s] # # NOTE: Do not change the BoundaryConditions.frequency setting below, # because GEOS-Chem nested-grid simulations expect to read boundary # condition data at 3 hour intervals. #============================================================================== AdvFluxVert.template: '%y4%m2%d2_%h2%n2z.nc4', AdvFluxVert.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} AdvFluxVert.duration: ${RUNDIR_HIST_TIME_AVG_DUR} AdvFluxVert.mode: 'time-averaged' AdvFluxVert.fields: 'AdvFluxVert_?ADV? ', :: ================================================ FILE: run/GCClassic/HISTORY.rc.templates/HISTORY.rc.aerosol ================================================ ############################################################################### ### HISTORY.rc file for GEOS-Chem aerosol-only specialty simulations ### ### Contact: GEOS-Chem Support Team (geos-chem-support@g.harvard.edu) ### ############################################################################### #============================================================================ # EXPID allows you to specify the beginning of the file path corresponding # to each diagnostic collection. For example: # # EXPID: ./GEOSChem # Will create netCDF files whose names begin "GEOSChem", # in this run directory. # # EXPID: ./OutputDir/GEOSChem # Will create netCDF files whose names begin with "GEOSChem" # in the OutputDir sub-folder of this run directory. # #============================================================================ EXPID: ./OutputDir/GEOSChem #============================================================================== # %%%%% COLLECTION NAME DECLARATIONS %%%%% # # To enable a collection, remove the "#" character in front of its name. The # Restart collection should always be turned on. # # NOTE: These are the "default" collections for GEOS-Chem, but you can create # your own customized diagnostic collections as well. #============================================================================== COLLECTIONS: 'Restart', 'SpeciesConc', #'Budget', #'AerosolMass', #'Aerosols', #'CloudConvFlux', #'DryDep', #'ProdLoss', #'SatDiagn', #'SatDiagnEdge', #'StateChm', #'StateMet', #'StateMetLevEdge', #'WetLossConv', #'WetLossLS', #'BoundaryConditions', :: ############################################################################### ### The rest of this file consists of collection definitions. ### ### Above collections whose declarations are commented out will be ignored. ### ### Make sure that each collection definition, as well as the list of ### ### collections above, ends with a double-colon ("::"). ### ############################################################################### #============================================================================== # %%%%% THE Restart COLLECTION %%%%% # # GEOS-Chem restart file fields #============================================================================== Restart.filename: './Restarts/GEOSChem.Restart.%y4%m2%d2_%h2%n2z.nc4', Restart.frequency: 'End', Restart.duration: 'End', Restart.mode: 'instantaneous' Restart.fields: 'SpeciesRst_?ALL? ', 'Chem_AeroH2OSNA ', 'Chem_H2O2AfterChem ', 'Chem_SO2AfterChem ', 'Chem_DryDepNitrogen ', 'Chem_WetDepNitrogen ', 'Met_DELPDRY ', 'Met_BXHEIGHT ', 'Met_TropLev ', :: #============================================================================== # %%%%% THE SpeciesConc COLLECTION %%%%% # # GEOS-Chem species concentrations (default = all species) # # Concentrations may be saved out as SpeciesConcVV [v/v dry air] or # SpeciesConcMND [molec/cm3] #============================================================================== SpeciesConc.template: '%y4%m2%d2_%h2%n2z.nc4', SpeciesConc.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} SpeciesConc.duration: ${RUNDIR_HIST_TIME_AVG_DUR} SpeciesConc.mode: 'time-averaged' SpeciesConc.fields: 'SpeciesConcVV_?ALL? ', #'SpeciesConcMND_?ALL? ', :: #============================================================================== # %%%%% THE Budget COLLECTION %%%%% # # GEOS-Chem budget diagnostics defined as species kg/s in the column # (full, troposphere, or PBL) due to a single component (e.g. chemistry) # (default = advected species) #============================================================================== Budget.template: '%y4%m2%d2_%h2%n2z.nc4', Budget.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} Budget.duration: ${RUNDIR_HIST_TIME_AVG_DUR} Budget.mode: 'time-averaged' Budget.fields: 'BudgetEmisDryDepFull_?ADV? ', 'BudgetEmisDryDepTrop_?ADV? ', 'BudgetEmisDryDepPBL_?ADV? ', 'BudgetEmisDryDepLevs1to35_?ADV? ', 'BudgetChemistryFull_?ADV? ', 'BudgetChemistryTrop_?ADV? ', 'BudgetChemistryPBL_?ADV? ', 'BudgetChemistryLevs1to35_?ADV? ', 'BudgetTransportFull_?ADV? ', 'BudgetTransportTrop_?ADV? ', 'BudgetTransportPBL_?ADV? ', 'BudgetTransportLevs1to35_?ADV? ', 'BudgetMixingFull_?ADV? ', 'BudgetMixingTrop_?ADV? ', 'BudgetMixingPBL_?ADV? ', 'BudgetMixingLevs1to35_?ADV? ', 'BudgetConvectionFull_?ADV? ', 'BudgetConvectionTrop_?ADV? ', 'BudgetConvectionPBL_?ADV? ', 'BudgetConvectionLevs1to35_?ADV? ', 'BudgetWetDepFull_?WET? ', 'BudgetWetDepTrop_?WET? ', 'BudgetWetDepPBL_?WET? ', 'BudgetWetDepLevs1to35_?WET? ', :: #============================================================================== # %%%%% THE AerosolMass COLLECTION %%%%% # # Aerosol and PM2.5 mass #============================================================================== AerosolMass.template: '%y4%m2%d2_%h2%n2z.nc4', AerosolMass.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} AerosolMass.duration: ${RUNDIR_HIST_TIME_AVG_DUR} AerosolMass.mode: 'time-averaged' AerosolMass.fields: 'AerMassBC ', 'AerMassNH4 ', 'AerMassNIT ', 'AerMassSAL ', 'AerMassSO4 ', 'PM25 ', 'PM10 ', 'TotalOA ', 'TotalOC ', :: #============================================================================== # %%%%% The Aerosols COLLECTION %%%%% # # Aerosol optical depth, surface area, number density, and hygroscopic growth #============================================================================== Aerosols.template: '%y4%m2%d2_%h2%n2z.nc4', Aerosols.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} Aerosols.duration: ${RUNDIR_HIST_TIME_AVG_DUR} Aerosols.mode: 'time-averaged' Aerosols.fields: 'AODDust ', 'AODDustWL1_?DUSTBIN? ', 'AODHygWL1_?HYG? ', 'AODSOAfromAqIsopreneWL1 ', 'AODStratLiquidAerWL1 ', 'AODPolarStratCloudWL1 ', 'AerHygroscopicGrowth_?HYG? ', 'AerNumDensityStratLiquid ', 'AerNumDensityStratParticulate ', 'AerAqueousVolume ', 'AerSurfAreaDust ', 'AerSurfAreaHyg_?HYG? ', 'AerSurfAreaStratLiquid ', 'AerSurfAreaPolarStratCloud ', 'Chem_AeroAreaMDUST1 ', 'Chem_AeroAreaMDUST2 ', 'Chem_AeroAreaMDUST3' ', 'Chem_AeroAreaMDUST4 ', 'Chem_AeroAreaMDUST5 ', 'Chem_AeroAreaMDUST6 ', 'Chem_AeroAreaMDUST7 ', 'Chem_AeroAreaSULF ', 'Chem_AeroAreaBC ', 'Chem_AeroAreaOC ', 'Chem_AeroAreaSSA ', 'Chem_AeroAreaSSC ', 'Chem_AeroRadiMDUST1 ', 'Chem_AeroRadiMDUST2 ', 'Chem_AeroRadiMDUST3 ', 'Chem_AeroRadiMDUST4 ', 'Chem_AeroRadiMDUST5 ', 'Chem_AeroRadiMDUST6 ', 'Chem_AeroRadiMDUST7 ', 'Chem_AeroRadiSULF ', 'Chem_AeroRadiBC ', 'Chem_AeroRadiOC ', 'Chem_AeroRadiSSA ', 'Chem_AeroRadiSSC ', 'Chem_WetAeroAreaMDUST1 ', 'Chem_WetAeroAreaMDUST2 ', 'Chem_WetAeroAreaMDUST3 ', 'Chem_WetAeroAreaMDUST4 ', 'Chem_WetAeroAreaMDUST5 ', 'Chem_WetAeroAreaMDUST6 ', 'Chem_WetAeroAreaMDUST7 ', 'Chem_WetAeroAreaSULF ', 'Chem_WetAeroAreaBC ', 'Chem_WetAeroAreaOC ', 'Chem_WetAeroAreaSSA ', 'Chem_WetAeroAreaSSC ', 'Chem_WetAeroRadiMDUST1 ', 'Chem_WetAeroRadiMDUST2 ', 'Chem_WetAeroRadiMDUST3 ', 'Chem_WetAeroRadiMDUST4 ', 'Chem_WetAeroRadiMDUST5 ', 'Chem_WetAeroRadiMDUST6 ', 'Chem_WetAeroRadiMDUST7 ', 'Chem_WetAeroRadiSULF ', 'Chem_WetAeroRadiBC ', 'Chem_WetAeroRadiOC ', 'Chem_WetAeroRadiSSA ', 'Chem_WetAeroRadiSSC ', :: #============================================================================== # %%%%% THE CloudConvFlux COLLECTION %%%%% # # Cloud convective flux (default = advected species) #============================================================================== CloudConvFlux.template: '%y4%m2%d2_%h2%n2z.nc4', CloudConvFlux.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} CloudConvFlux.duration: ${RUNDIR_HIST_TIME_AVG_DUR} CloudConvFlux.mode: 'time-averaged' CloudConvFlux.fields: 'CloudConvFlux_?ADV? ', :: #============================================================================== # %%%%% THE DryDep COLLECTION %%%%% # # Dry depositon fluxes and velocities (for all dry-depositing species) #============================================================================== DryDep.template: '%y4%m2%d2_%h2%n2z.nc4', DryDep.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} DryDep.duration: ${RUNDIR_HIST_TIME_AVG_DUR} DryDep.mode: 'time-averaged' DryDep.fields: 'DryDepVel_?DRY? ', 'DryDep_?DRY? ', #'DryDepChm_?DRY? ', #'DryDepMix_?DRY? ', :: #============================================================================== # %%%%% THE ProdLoss COLLECTION %%%%% # # Chemical production and loss rates #============================================================================== ProdLoss.template: '%y4%m2%d2_%h2%n2z.nc4', ProdLoss.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} ProdLoss.duration: ${RUNDIR_HIST_TIME_AVG_DUR} ProdLoss.mode: 'time-averaged' ProdLoss.fields: 'ProdBCPIfromBCPO ', 'ProdOCPIfromOCPO ', 'ProdSO2fromDMSandOH ', 'ProdSO2fromDMSandNO3 ', 'ProdSO2fromDMS ', 'ProdMSAfromDMS ', 'ProdSO4fromGasPhase ', 'ProdSO4fromH2O2inCloud ', # 'ProdSO4fromO2inCloudMetal ', 'ProdSO4fromO3inCloud ', 'ProdSO4fromO3inSeaSalt ', 'ProdSO4fromSRO3 ', 'ProdSO4fromO3s ', 'LossHNO3onSeaSalt ', :: #============================================================================== # %%%%% THE SatDiagn COLLECTION %%%%% # # GEOS-Chem data during satellite overpass #============================================================================== SatDiagn.template: '%y4%m2%d2_%h2%n2z.nc4', SatDiagn.format: 'CFIO', SatDiagn.frequency: 00000001 000000 SatDiagn.duration: 00000100 000000 SatDiagn.hrrange: 11.98 15.02 SatDiagn.mode: 'time-averaged' SatDiagn.fields: 'SatDiagnConc_BCPI ', 'SatDiagnConc_BCPO ', 'SatDiagnRH ', 'SatDiagnAirDen ', 'SatDiagnBoxHeight ', 'SatDiagnPEdge ', 'SatDiagnTROPP ', 'SatDiagnPBLHeight ', 'SatDiagnPBLTop ', 'SatDiagnPMID ', 'SatDiagnTAir ', 'SatDiagnSLP ', 'SatDiagnSPHU ', 'SatDiagnTS ', 'SatDiagnPBLTOPL ', 'SatDiagnMODISLAI ', 'SatDiagnWetLossLS_BCPI ', 'SatDiagnWetLossConv_BCPI ', 'SatDiagnDryDep_BCPI ', 'SatDiagnDryDepVel_BCPI ', 'SatDiagnColEmis_BCPI ', 'SatDiagnSurfFlux_BCPI ', 'SatDiagnProd_?PRD? ', 'SatDiagnLoss_?LOS? ', :: #============================================================================== # %%%%% THE SatDiagnEdge COLLECTION %%%%% # # GEOS-Chem data (on level edges) during satellite overpass #============================================================================== SatDiagnEdge.template: '%y4%m2%d2_%h2%n2z.nc4', SatDiagnEdge.format: 'CFIO', SatDiagnEdge.frequency: 00000001 000000 SatDiagnEdge.duration: 00000100 000000 SatDiagnEdge.hrrange: 11.98 15.02 SatDiagnEdge.mode: 'time-averaged' SatDiagnEdge.fields: 'SatDiagnPEDGE ', :: #============================================================================== # %%%%% THE StateChm COLLECTION %%%%% # # Fields of the State_Chm object (see also Aerosols collection) #============================================================================== StateChm.template: '%y4%m2%d2_%h2%n2z.nc4', StateChm.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} StateChm.duration: ${RUNDIR_HIST_TIME_AVG_DUR} StateChm.mode: 'time-averaged' StateChm.fields: 'Chem_IsorropAeropHAccum ', 'Chem_IsorropAeropHCoarse ', 'Chem_IsorropHplusAccum ', 'Chem_IsorropHplusCoarse ', 'Chem_IsorropAeroH2OAccum ', 'Chem_IsorropAeroH2OCoarse ', 'Chem_IsorropSulfate ', 'Chem_IsorropNitrateAccum ', 'Chem_IsorropNitrateCoarse ', 'Chem_IsorropChlorideAccum ', 'Chem_IsorropChlorideCoarse ', 'Chem_IsorropBisulfate ', 'Chem_pHCloud ', 'Chem_isCloud ', 'Chem_SSAlkAccumMode ', 'Chem_SSAlkCoarseMode ', 'Chem_HSO3AQ ', 'Chem_SO3AQ ', 'Chem_fupdateHOBr ', 'Chem_GammaN2O5overall ', 'Chem_GammaN2O5fine ', 'Chem_YieldClNO2fine ', :: #============================================================================== # %%%%% The StateMet COLLECTION %%%%% # # Fields of the State_Met object (also see the StateMetLevEdge collection) #============================================================================== StateMet.template: '%y4%m2%d2_%h2%n2z.nc4', StateMet.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} StateMet.duration: ${RUNDIR_HIST_TIME_AVG_DUR} StateMet.mode: 'time-averaged' StateMet.fields: 'Met_AD ', 'Met_AIRDEN ', 'Met_AIRVOL ', 'Met_ALBD ', 'Met_AVGW ', 'Met_BXHEIGHT ', 'Met_ChemGridLev ', 'Met_CLDF ', 'Met_CLDFRC ', 'Met_CLDTOPS ', 'Met_DELP ', 'Met_DQRCU ', 'Met_DQRLSAN ', 'Met_DTRAIN ', 'Met_EFLUX ', 'Met_FRCLND ', 'Met_FRLAKE ', 'Met_FRLAND ', 'Met_FRLANDICE ', 'Met_FROCEAN ', 'Met_FRSEAICE ', 'Met_FRSNOW ', 'Met_GWETROOT ', 'Met_GWETTOP ', 'Met_HFLUX ', 'Met_LAI ', 'Met_PARDR ', 'Met_PARDF ', 'Met_PBLTOPL ', 'Met_PBLH ', 'Met_PHIS ', 'Met_PMID ', 'Met_PMIDDRY ', 'Met_PRECANV ', 'Met_PRECCON ', 'Met_PRECLSC ', 'Met_PRECTOT ', 'Met_PS1DRY ', 'Met_PS1WET ', 'Met_PS2DRY ', 'Met_PS2WET ', 'Met_PSC2WET ', 'Met_PSC2DRY ', 'Met_QI ', 'Met_QL ', 'Met_OMEGA ', 'Met_OPTD ', 'Met_REEVAPCN ', 'Met_REEVAPLS ', 'Met_SLP ', 'Met_SNODP ', 'Met_SNOMAS ', 'Met_SPHU ', 'Met_SPHU1 ', 'Met_SPHU2 ', 'Met_SUNCOS ', 'Met_SUNCOSmid ', 'Met_SWGDN ', 'Met_T ', 'Met_TAUCLI ', 'Met_TAUCLW ', 'Met_THETA ', 'Met_TMPU1 ', 'Met_TMPU2 ', 'Met_TO3 ', 'Met_TropHt ', 'Met_TropLev ', 'Met_TropP ', 'Met_TS ', 'Met_TSKIN ', 'Met_TV ', 'Met_U ', 'Met_U10M ', 'Met_USTAR ', 'Met_UVALBEDO ', 'Met_V ', 'Met_V10M ', 'Met_Z0 ', :: #============================================================================== # %%%%% THE StateMetLevEdge COLLECTION %%%%% # # Diagnostics that are defined on grid box level edges #============================================================================== StateMetLevEdge.template: '%y4%m2%d2_%h2%n2z.nc4', StateMetLevEdge.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} StateMetLevEdge.duration: ${RUNDIR_HIST_TIME_AVG_DUR} StateMetLevEdge.mode: 'time-averaged' StateMetLevEdge.fields: 'Met_CMFMC ', 'Met_PEDGE ', 'Met_PEDGEDRY ', 'Met_PFICU ', 'Met_PFILSAN ', 'Met_PFLCU ', 'Met_PFLLSAN ', :: #============================================================================== # %%%%% THE WetLossConv COLLECTION %%%%% # # Loss of soluble species in convective updrafts #============================================================================== WetLossConv.template: '%y4%m2%d2_%h2%n2z.nc4', WetLossConv.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} WetLossConv.duration: ${RUNDIR_HIST_TIME_AVG_DUR} WetLossConv.mode: 'time-averaged' WetLossConv.fields: 'WetLossConv_?WET? ', 'WetLossConvFrac_?WET? ', :: #============================================================================== # %%%%% THE WetLossLS COLLECTION %%%%% # # Loss of soluble species in large-scale wetdep (i.e. rainout and washout) #============================================================================== # Loss due to rainout and washout (per deposited species) WetLossLS.template: '%y4%m2%d2_%h2%n2z.nc4', WetLossLS.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} WetLossLS.duration: ${RUNDIR_HIST_TIME_AVG_DUR} WetLossLS.mode: 'time-averaged' WetLossLS.fields: 'WetLossLS_?WET? ', :: #============================================================================== # %%%%% THE BoundaryConditions COLLECTION %%%%% # # GEOS-Chem boundary conditions for use in nested grid simulations # # NOTE: Do not change the BoundaryConditions.frequency setting below, # because GEOS-Chem nested-grid simulations expect to read boundary # condition data at 3 hour intervals. #============================================================================== BoundaryConditions.template: '%y4%m2%d2_%h2%n2z.nc4', BoundaryConditions.frequency: 00000000 030000 BoundaryConditions.duration: 00000001 000000 BoundaryConditions.mode: 'instantaneous' BoundaryConditions.fields: 'SpeciesBC_?ADV? ', :: ================================================ FILE: run/GCClassic/HISTORY.rc.templates/HISTORY.rc.carbon ================================================ ############################################################################### ### HISTORY.rc file for GEOS-Chem carbon simulation ### ### Contact: GEOS-Chem Support Team (geos-chem-support@g.harvard.edu) ### ############################################################################### #============================================================================ # EXPID allows you to specify the beginning of the file path corresponding # to each diagnostic collection. For example: # # EXPID: ./GEOSChem # Will create netCDF files whose names begin "GEOSChem", # in this run directory. # # EXPID: ./OutputDir/GEOSChem # Will create netCDF files whose names begin with "GEOSChem" # in the OutputDir sub-folder of this run directory. # #============================================================================ EXPID: ./OutputDir/GEOSChem #============================================================================== # %%%%% COLLECTION NAME DECLARATIONS %%%%% # # To enable a collection, remove the "#" character in front of its name. The # Restart collection should always be turned on. # # NOTE: These are the "default" collections for GEOS-Chem, but you can create # your own customized diagnostic collections as well. #============================================================================== COLLECTIONS: 'Restart', 'SpeciesConc', #'Budget', #'CloudConvFlux', #'ConcAfterChem', #'KppDiags', 'ProdLoss', #'RxnConst', #'RxnRates', #'SatDiagn', #'SatDiagnEdge', 'StateMet', 'StateMetLevEdge', #'BoundaryConditions', :: ############################################################################### ### The rest of this file consists of collection definitions. ### ### Above collections whose declarations are commented out will be ignored. ### ### Make sure that each collection definition, as well as the list of ### ### collections above, ends with a double-colon ("::"). ### ############################################################################### #============================================================================== # %%%%% THE Restart COLLECTION %%%%% # # GEOS-Chem restart file fields #============================================================================== Restart.filename: './Restarts/GEOSChem.Restart.%y4%m2%d2_%h2%n2z.nc4', Restart.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ}, Restart.duration: ${RUNDIR_HIST_TIME_AVG_FREQ}, Restart.mode: 'instantaneous' Restart.fields: 'SpeciesRst_?ALL? ', 'Met_DELPDRY ', 'Met_BXHEIGHT ', 'Met_TropLev ', :: #============================================================================== # %%%%% THE SpeciesConc COLLECTION %%%%% # # GEOS-Chem species concentrations (default = all species) # # Concentrations may be saved out as SpeciesConcVV [v/v dry air] or # SpeciesConcMND [molec/cm3] #============================================================================== SpeciesConc.template: '%y4%m2%d2_%h2%n2z.nc4', SpeciesConc.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} SpeciesConc.duration: ${RUNDIR_HIST_TIME_AVG_DUR} SpeciesConc.mode: 'time-averaged' SpeciesConc.fields: 'SpeciesConcVV_?ALL? ', #'SpeciesConcMND_?ALL? ', :: #============================================================================== # %%%%% THE Budget COLLECTION %%%%% # # GEOS-Chem budget diagnostics defined as species kg/s in the column # (full, troposphere, or PBL) due to a single component (e.g. chemistry) # (default = advected species) #============================================================================== Budget.template: '%y4%m2%d2_%h2%n2z.nc4', Budget.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} Budget.duration: ${RUNDIR_HIST_TIME_AVG_DUR} Budget.mode: 'time-averaged' Budget.fields: 'BudgetEmisDryDepFull_?ADV? ', 'BudgetEmisDryDepTrop_?ADV? ', 'BudgetEmisDryDepPBL_?ADV? ', 'BudgetEmisDryDepLevs1to35_?ADV? ', 'BudgetChemistryFull_?ADV? ', 'BudgetChemistryTrop_?ADV? ', 'BudgetChemistryPBL_?ADV? ', 'BudgetChemistryLevs1to35_?ADV? ', 'BudgetTransportFull_?ADV? ', 'BudgetTransportTrop_?ADV? ', 'BudgetTransportPBL_?ADV? ', 'BudgetTransportLevs1to35_?ADV? ', 'BudgetMixingFull_?ADV? ', 'BudgetMixingTrop_?ADV? ', 'BudgetMixingPBL_?ADV? ', 'BudgetMixingLevs1to35_?ADV? ', 'BudgetConvectionFull_?ADV? ', 'BudgetConvectionTrop_?ADV? ', 'BudgetConvectionPBL_?ADV? ', 'BudgetConvectionLevs1to35_?ADV? ', :: #============================================================================== # %%%%% THE CloudConvFlux COLLECTION %%%%% # # Cloud convective flux (default = advected species) #============================================================================== CloudConvFlux.template: '%y4%m2%d2_%h2%n2z.nc4', CloudConvFlux.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} CloudConvFlux.duration: ${RUNDIR_HIST_TIME_AVG_DUR} CloudConvFlux.mode: 'time-averaged' CloudConvFlux.fields: 'CloudConvFlux_?ADV? ', :: #============================================================================== # %%%%% THE KppDiags COLLECTION %%%%% # # Diagnostics from the KPP solver. # # NOTE: The carbon simulation uses the Forward Euler (feuler) solver, which # has no internal timestepping loop. Therefore many of these diagnostics # will have little or no variation across grid boxes. #============================================================================== KppDiags.template: '%y4%m2%d2_%h2%n2z.nc4', KppDiags.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} KppDiags.duration: ${RUNDIR_HIST_TIME_AVG_DUR} KppDiags.mode: 'time-averaged' KppDiags.fields: 'KppIntCounts ', 'KppJacCounts ', 'KppTotSteps ', 'KppAccSteps ', 'KppRejSteps ', 'KppLuDecomps ', 'KppSubsts ', 'KppSmDecomps ', 'KppTime ', :: #============================================================================== # %%%%% THE ProdLoss COLLECTION %%%%% # # Production and loss fields from the carbon simulation via KPP #============================================================================== ProdLoss.template: '%y4%m2%d2_%h2%n2z.nc4', ProdLoss.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} ProdLoss.duration: ${RUNDIR_HIST_TIME_AVG_DUR} ProdLoss.mode: 'time-averaged' ProdLoss.fields: 'ProdCOfromCH4 ', 'ProdCOfromNMVOC ', 'ProdCO2fromCO ', :: #============================================================================== # %%%%% THE RxnConst COLLECTION %%%%% # # Archives chemical reaction rates constants from the KPP solver. # It is best to list individual reactions to avoid using too much memory. # Reactions should be listed as "RxnConst_EQnnnn", where nnnn is the reaction # index as listed in KPP/fullchem/gckpp_Monitor.F90 (pad zeroes as needed). # # The units of reaction rate constants vary according to the number of # reactants in the reaction. #============================================================================== RxnConst.template: '%y4%m2%d2_%h2%n2z.nc4', RxnConst.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} RxnConst.duration: ${RUNDIR_HIST_TIME_AVG_DUR} RxnConst.mode: 'time-averaged' RxnConst.fields: 'RxnConst_EQ0001 ', 'RxnConst_EQ0002 ', 'RxnConst_EQ0003 ', 'RxnConst_EQ0004 ', 'RxnConst_EQ0005 ', 'RxnConst_EQ0006 ', 'RxnConst_EQ0007 ', 'RxnConst_EQ0008 ', :: #============================================================================== # %%%%% THE RxnRates COLLECTION %%%%% # # Archives chemical reaction rates from the KPP solver. # It is best to list individual reactions to avoid using too much memory. # Reactions should be listed as "RxnRate_EQnnnn", where nnnn is the reaction # index as listed in KPP/fullchem/gckpp_Monitor.F90 (pad zeroes as needed). #============================================================================== RxnRates.template: '%y4%m2%d2_%h2%n2z.nc4', RxnRates.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} RxnRates.duration: ${RUNDIR_HIST_TIME_AVG_DUR} RxnRates.mode: 'time-averaged' RxnRates.fields: 'RxnRate_EQ0001 ', 'RxnRate_EQ0002 ', 'RxnRate_EQ0003 ', 'RxnRate_EQ0004 ', 'RxnRate_EQ0005 ', 'RxnRate_EQ0006 ', 'RxnRate_EQ0007 ', 'RxnRate_EQ0008 ', :: #============================================================================== # %%%%% THE SatDiagn COLLECTION %%%%% # # GEOS-Chem data during satellite overpass #============================================================================== SatDiagn.template: '%y4%m2%d2_%h2%n2z.nc4', SatDiagn.format: 'CFIO', SatDiagn.frequency: 00000001 000000 SatDiagn.duration: 00000100 000000 SatDiagn.hrrange: 11.98 15.02 SatDiagn.mode: 'time-averaged' SatDiagn.fields: 'SatDiagnConc_CH4 ', 'SatDiagnConc_CO ', 'SatDiagnConc_CO2 ', 'SatDiagnConc_OCS ', 'SatDiagnOH ', 'SatDiagnRH ', 'SatDiagnAirDen ', 'SatDiagnBoxHeight ', 'SatDiagnTROPP ', 'SatDiagnPBLHeight ', 'SatDiagnPBLTop ', 'SatDiagnPBLTOPL ', 'SatDiagnPMID ', 'SatDiagnMODISLAI ', 'SatDiagnColEmis_CH4 ', 'SatDiagnSurfFlux_CH4 ', :: #============================================================================== # %%%%% THE SatDiagnEdge COLLECTION %%%%% # # GEOS-Chem data (on level edges) during satellite overpass #============================================================================== SatDiagnEdge.template: '%y4%m2%d2_%h2%n2z.nc4', SatDiagnEdge.format: 'CFIO', SatDiagnEdge.frequency: 00000001 000000 SatDiagnEdge.duration: 00000100 000000 SatDiagnEdge.hrrange: 11.98 15.02 SatDiagnEdge.mode: 'time-averaged' SatDiagnEdge.fields: 'SatDiagnPEDGE ', :: #============================================================================== # %%%%% The StateMet COLLECTION %%%%% # # Fields of the State_Met object (also see the StateMetLevEdge collection) #============================================================================== StateMet.template: '%y4%m2%d2_%h2%n2z.nc4', StateMet.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} StateMet.duration: ${RUNDIR_HIST_TIME_AVG_DUR} StateMet.mode: 'time-averaged' StateMet.fields: 'Met_AD ', 'Met_AIRDEN ', 'Met_AIRVOL ', 'Met_ALBD ', 'Met_AVGW ', 'Met_BXHEIGHT ', 'Met_ChemGridLev ', 'Met_CLDF ', 'Met_CLDFRC ', 'Met_CLDTOPS ', 'Met_DELP ', 'Met_DQRCU ', 'Met_DQRLSAN ', 'Met_DTRAIN ', 'Met_EFLUX ', 'Met_FRCLND ', 'Met_FRLAKE ', 'Met_FRLAND ', 'Met_FRLANDICE ', 'Met_FROCEAN ', 'Met_FRSEAICE ', 'Met_FRSNOW ', 'Met_GWETROOT ', 'Met_GWETTOP ', 'Met_HFLUX ', 'Met_LAI ', 'Met_PARDR ', 'Met_PARDF ', 'Met_PBLTOPL ', 'Met_PBLH ', 'Met_PHIS ', 'Met_PMID ', 'Met_PMIDDRY ', 'Met_PRECANV ', 'Met_PRECCON ', 'Met_PRECLSC ', 'Met_PRECTOT ', 'Met_PS1DRY ', 'Met_PS1WET ', 'Met_PS2DRY ', 'Met_PS2WET ', 'Met_PSC2WET ', 'Met_PSC2DRY ', 'Met_QI ', 'Met_QL ', 'Met_OMEGA ', 'Met_OPTD ', 'Met_REEVAPCN ', 'Met_REEVAPLS ', 'Met_SLP ', 'Met_SNODP ', 'Met_SNOMAS ', 'Met_SPHU ', 'Met_SPHU1 ', 'Met_SPHU2 ', 'Met_SUNCOS ', 'Met_SUNCOSmid ', 'Met_SWGDN ', 'Met_T ', 'Met_TAUCLI ', 'Met_TAUCLW ', 'Met_THETA ', 'Met_TMPU1 ', 'Met_TMPU2 ', 'Met_TO3 ', 'Met_TropHt ', 'Met_TropLev ', 'Met_TropP ', 'Met_TS ', 'Met_TSKIN ', 'Met_TV ', 'Met_U ', 'Met_U10M ', 'Met_USTAR ', 'Met_UVALBEDO ', 'Met_V ', 'Met_V10M ', 'Met_Z0 ', :: #============================================================================== # %%%%% THE StateMetLevEdge COLLECTION %%%%% # # Diagnostics that are defined on grid box level edges #============================================================================== StateMetLevEdge.template: '%y4%m2%d2_%h2%n2z.nc4', StateMetLevEdge.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} StateMetLevEdge.duration: ${RUNDIR_HIST_TIME_AVG_DUR} StateMetLevEdge.mode: 'time-averaged' StateMetLevEdge.fields: 'Met_PEDGE ', #'Met_CMFMC ', #'Met_PEDGEDRY ', #'Met_PFICU ', #'Met_PFILSAN ', #'Met_PFLCU ', #'Met_PFLLSAN ', :: #============================================================================== # %%%%% THE BoundaryConditions COLLECTION %%%%% # # GEOS-Chem boundary conditions for use in nested grid simulations # # NOTE: Do not change the BoundaryConditions.frequency setting below, # because GEOS-Chem nested-grid simulations expect to read boundary # condition data at 3 hour intervals. #============================================================================== BoundaryConditions.template: '%y4%m2%d2_%h2%n2z.nc4', BoundaryConditions.frequency: 00000000 030000 BoundaryConditions.duration: 00000001 000000 BoundaryConditions.mode: 'instantaneous' BoundaryConditions.fields: 'SpeciesBC_?ADV? ', :: ================================================ FILE: run/GCClassic/HISTORY.rc.templates/HISTORY.rc.fullchem ================================================ ############################################################################### ### HISTORY.rc file for GEOS-Chem full chemistry simulations ### ### Contact: GEOS-Chem Support Team (geos-chem-support@g.harvard.edu) ### ############################################################################### #============================================================================ # EXPID allows you to specify the beginning of the file path corresponding # to each diagnostic collection. For example: # # EXPID: ./GEOSChem # Will create netCDF files whose names begin "GEOSChem", # in this run directory. # # EXPID: ./OutputDir/GEOSChem # Will create netCDF files whose names begin with "GEOSChem" # in the OutputDir sub-folder of this run directory. # #============================================================================ EXPID: ./OutputDir/GEOSChem #============================================================================== # %%%%% COLLECTION NAME DECLARATIONS %%%%% # # To enable a collection, remove the "#" character in front of its name. The # Restart collection should always be turned on. # # NOTE: These are the "default" collections for GEOS-Chem, but you can create # your own customized diagnostic collections as well. #============================================================================== COLLECTIONS: 'Restart', 'Metrics', 'SpeciesConc', #'AdvFluxVert', #'AerosolMass', #'Aerosols', ##'Budget', ##'CloudConvFlux', ##'ConcAboveSfc', ##'ConcAfterChem', #'DryDep', #'JValues', ##'KppDiags', ##'KppARDiags', ##'ProdLoss', ##'RRTMG', ##'RxnRates', ##'RxnConst', ##'SatDiagn', ##'SatDiagnEdge', ##'StateChm', #'StateMet', ##'StateMetLevEdge', ##'StratBM', ##'Tomas', ##'UVFlux', ##'WetLossConv', ##'WetLossLS', ##'BoundaryConditions', :: ############################################################################### ### The rest of this file consists of collection definitions. ### ### Above collections whose declarations are commented out will be ignored. ### ### Make sure that each collection definition, as well as the list of ### ### collections above, ends with a double-colon ("::"). ### ############################################################################### #============================================================================== # %%%%% THE Restart COLLECTION %%%%% # # GEOS-Chem restart file fields #============================================================================== Restart.filename: './Restarts/GEOSChem.Restart.%y4%m2%d2_%h2%n2z.nc4', Restart.frequency: ${RUNDIR_HIST_INST_FREQ} Restart.duration: ${RUNDIR_HIST_INST_DUR} Restart.mode: 'instantaneous' Restart.fields: 'SpeciesRst_?ALL? ', 'Chem_AeroH2OSNA ', 'Chem_ORVCsesq ', 'Chem_H2O2AfterChem ', 'Chem_JOH ', 'Chem_JNO2 ', 'Chem_SO2AfterChem ', 'Chem_DryDepNitrogen ', 'Chem_WetDepNitrogen ', 'Chem_KPPHvalue ', 'Chem_StatePSC ', 'Met_DELPDRY ', 'Met_BXHEIGHT ', 'Met_TropLev ', :: #============================================================================== # %%%%% THE Metrics COLLECTION %%%%% # # Diagnostics for chemistry metrics such as global mean OH concentration, # MCF lifetime, and CH4 lifetime. # # This diagnostic collection should always be left on. # Use the run-directory script ./metrics_fullchem.py to print results. #============================================================================== Metrics.template: '%y4%m2%d2_%h2%n2z.nc4', Metrics.frequency: 'End', Metrics.duration: 'End', Metrics.mode: 'time-averaged' Metrics.fields: 'AirMassColumnFull ', 'LossOHbyCH4columnTrop ', 'LossOHbyMCFcolumnTrop ', 'OHwgtByAirMassColumnFull ', :: #============================================================================== # %%%%% THE SpeciesConc COLLECTION %%%%% # # GEOS-Chem species concentrations (default = all species) # # Concentrations may be saved out as SpeciesConcVV [v/v dry air] or # SpeciesConcMND [molec/cm3] #============================================================================== SpeciesConc.template: '%y4%m2%d2_%h2%n2z.nc4', SpeciesConc.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} SpeciesConc.duration: ${RUNDIR_HIST_TIME_AVG_DUR} SpeciesConc.mode: 'time-averaged' SpeciesConc.fields: 'SpeciesConcVV_?ALL? ', ##'SpeciesConcMND_?ALL? ', :: #============================================================================== # %%%%% THE AdvFluxVert COLLECTION %%%%% # # GEOS-Chem vertical mass flux of species in kg/s (default = O3 only) #============================================================================== AdvFluxVert.template: '%y4%m2%d2_%h2%n2z.nc4', AdvFluxVert.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} AdvFluxVert.duration: ${RUNDIR_HIST_TIME_AVG_DUR} AdvFluxVert.mode: 'time-averaged' AdvFluxVert.fields: 'AdvFluxVert_O3 ', :: #============================================================================== # %%%%% THE AerosolMass COLLECTION %%%%% # # Aerosol and PM2.5 mass #============================================================================== AerosolMass.template: '%y4%m2%d2_%h2%n2z.nc4', AerosolMass.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} AerosolMass.duration: ${RUNDIR_HIST_TIME_AVG_DUR} AerosolMass.mode: 'time-averaged' AerosolMass.fields: 'AerMassASOA ', 'AerMassBC ', 'AerMassHMS ', 'AerMassINDIOL ', 'AerMassLVOCOA ', 'AerMassNH4 ', 'AerMassNIT ', 'AerMassOPOA ', 'AerMassPOA ', 'AerMassSAL ', 'AerMassSO4 ', 'AerMassSOAGX ', 'AerMassSOAIE ', 'AerMassTSOA ', 'BetaNO ', 'PM25 ', 'PM10 ', 'TotalBiogenicOA ', 'TotalOA ', 'TotalOC ', :: #============================================================================== # %%%%% The Aerosols COLLECTION %%%%% # # Aerosol optical depth, surface area, number density, and hygroscopic growth #============================================================================== Aerosols.template: '%y4%m2%d2_%h2%n2z.nc4', Aerosols.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} Aerosols.duration: ${RUNDIR_HIST_TIME_AVG_DUR} Aerosols.mode: 'time-averaged' Aerosols.fields: 'AODDust ', 'AODDustWL1_?DUSTBIN? ', 'AODHygWL1_?HYG? ', 'AODSOAfromAqIsopreneWL1 ', 'AODStratLiquidAerWL1 ', 'AODPolarStratCloudWL1 ', 'AerHygroscopicGrowth_?HYG? ', 'AerNumDensityStratLiquid ', 'AerNumDensityStratParticulate ', 'AerAqueousVolume ', 'AerSurfAreaDust ', 'AerSurfAreaHyg_?HYG? ', 'AerSurfAreaStratLiquid ', 'AerSurfAreaPolarStratCloud ', 'Chem_AeroAreaMDUST1 ', 'Chem_AeroAreaMDUST2 ', 'Chem_AeroAreaMDUST3 ', 'Chem_AeroAreaMDUST4 ', 'Chem_AeroAreaMDUST5 ', 'Chem_AeroAreaMDUST6 ', 'Chem_AeroAreaMDUST7 ', 'Chem_AeroAreaSULF ', 'Chem_AeroAreaBC ', 'Chem_AeroAreaOC ', 'Chem_AeroAreaSSA ', 'Chem_AeroAreaSSC ', #'Chem_AeroAreaBGSULF ', #'Chem_AeroAreaICEI ', 'Chem_AeroRadiMDUST1 ', 'Chem_AeroRadiMDUST2 ', 'Chem_AeroRadiMDUST3 ', 'Chem_AeroRadiMDUST4 ', 'Chem_AeroRadiMDUST5 ', 'Chem_AeroRadiMDUST6 ', 'Chem_AeroRadiMDUST7 ', 'Chem_AeroRadiSULF ', 'Chem_AeroRadiBC ', 'Chem_AeroRadiOC ', 'Chem_AeroRadiSSA ', 'Chem_AeroRadiSSC ', #'Chem_AeroRadiBGSULF ', #'Chem_AeroRadiICEI ', 'Chem_WetAeroAreaMDUST1 ', 'Chem_WetAeroAreaMDUST2 ', 'Chem_WetAeroAreaMDUST3 ', 'Chem_WetAeroAreaMDUST4 ', 'Chem_WetAeroAreaMDUST5 ', 'Chem_WetAeroAreaMDUST6 ', 'Chem_WetAeroAreaMDUST7 ', 'Chem_WetAeroAreaSULF ', 'Chem_WetAeroAreaBC ', 'Chem_WetAeroAreaOC ', 'Chem_WetAeroAreaSSA ', 'Chem_WetAeroAreaSSC ', #'Chem_WetAeroAreaBGSULF ', #'Chem_WetAeroAreaICEI ', 'Chem_WetAeroRadiMDUST1 ', 'Chem_WetAeroRadiMDUST2 ', 'Chem_WetAeroRadiMDUST3 ', 'Chem_WetAeroRadiMDUST4 ', 'Chem_WetAeroRadiMDUST5 ', 'Chem_WetAeroRadiMDUST6 ', 'Chem_WetAeroRadiMDUST7 ', 'Chem_WetAeroRadiSULF ', 'Chem_WetAeroRadiBC ', 'Chem_WetAeroRadiOC ', 'Chem_WetAeroRadiSSA ', 'Chem_WetAeroRadiSSC ', #'Chem_WetAeroRadiBGSULF ', #'Chem_WetAeroRadiICEI ', #'Chem_StatePSC ', #'Chem_KhetiSLAN2O5H2O ', #'Chem_KhetiSLAN2O5HCl ', #'Chem_KhetiSLAClNO3H2O ', #'Chem_KhetiSLAClNO3HCl ', #'Chem_KhetiSLAClNO3HBr ', #'Chem_KhetiSLABrNO3H2O ', #'Chem_KhetiSLABrNO3HCl ', #'Chem_KhetiSLAHOClHCl ', #'Chem_KhetiSLAHOClHBr ', #'Chem_KhetiSLAHOBrHCl ', #'Chem_KhetiSLAHOBrHBr ', :: #============================================================================== # %%%%% THE Budget COLLECTION %%%%% # # GEOS-Chem budget diagnostics defined as species kg/s in the column # (full, troposphere, or PBL) due to a single component (e.g. chemistry) # (default = advected species) #============================================================================== Budget.template: '%y4%m2%d2_%h2%n2z.nc4', Budget.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} Budget.duration: ${RUNDIR_HIST_TIME_AVG_DUR} Budget.mode: 'time-averaged' Budget.fields: 'BudgetEmisDryDepFull_?ADV? ', 'BudgetEmisDryDepTrop_?ADV? ', 'BudgetEmisDryDepPBL_?ADV? ', 'BudgetEmisDryDepLevs1to35_?ADV? ', 'BudgetChemistryFull_?ADV? ', 'BudgetChemistryTrop_?ADV? ', 'BudgetChemistryPBL_?ADV? ', 'BudgetChemistryLevs1to35_?ADV? ', 'BudgetTransportFull_?ADV? ', 'BudgetTransportTrop_?ADV? ', 'BudgetTransportPBL_?ADV? ', 'BudgetTransportLevs1to35_?ADV? ', 'BudgetMixingFull_?ADV? ', 'BudgetMixingTrop_?ADV? ', 'BudgetMixingPBL_?ADV? ', 'BudgetMixingLevs1to35_?ADV? ', 'BudgetConvectionFull_?ADV? ', 'BudgetConvectionTrop_?ADV? ', 'BudgetConvectionPBL_?ADV? ', 'BudgetConvectionLevs1to35_?ADV? ', 'BudgetWetDepFull_?WET? ', 'BudgetWetDepTrop_?WET? ', 'BudgetWetDepPBL_?WET? ', 'BudgetWetDepLevs1to35_?WET? ', :: #============================================================================== # %%%%% THE CloudConvFlux COLLECTION %%%%% # # Cloud convective flux (default = advected species) #============================================================================== CloudConvFlux.template: '%y4%m2%d2_%h2%n2z.nc4', CloudConvFlux.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} CloudConvFlux.duration: ${RUNDIR_HIST_TIME_AVG_DUR} CloudConvFlux.mode: 'time-averaged' CloudConvFlux.fields: 'CloudConvFlux_?ADV? ', :: #============================================================================== # %%%%% THE ConcAboveSfc COLLECTION %%%%% # # Concentrations of O3 and HNO3 at a user-specified altitude above # the surface, such as 10m. Set the desired output altitude in meters # in the deposition settings in geoschem_config.yml. # # NOTES: # (1) This collection requires dry deposition to be turned on. # (2) All of the fields in the collection must be turned on. # (3) This collection is best used with mode "instantaneous". #============================================================================== ConcAboveSfc.template: '%y4%m2%d2_%h2%n2z.nc4', ConcAboveSfc.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} ConcAboveSfc.duration: ${RUNDIR_HIST_TIME_AVG_DUR} ConcAboveSfc.mode: 'instantaneous' ConcAboveSfc.fields: 'DryDepRaALT1 ', 'DryDepVelForALT1_?DRYALT? ', 'SpeciesConcALT1_?DRYALT? ', :: #============================================================================== # %%%%% THE ConcAfterChem COLLECTION %%%%% # # Concentrations of OH, HO2, O1D, O3P immediately after exiting the KPP solver #============================================================================== ConcAfterChem.template: '%y4%m2%d2_%h2%n2z.nc4', ConcAfterChem.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} ConcAfterChem.duration: ${RUNDIR_HIST_TIME_AVG_DUR} ConcAfterChem.mode: 'time-averaged' ConcAfterChem.fields: 'OHconcAfterChem ', 'HO2concAfterChem ', 'O1DconcAfterChem ', 'O3PconcAfterChem ', :: #============================================================================== # %%%%% THE DryDep COLLECTION %%%%% # # Dry depositon fluxes and velocities (for all dry-depositing species) #============================================================================== DryDep.template: '%y4%m2%d2_%h2%n2z.nc4', DryDep.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} DryDep.duration: ${RUNDIR_HIST_TIME_AVG_DUR} DryDep.mode: 'time-averaged' DryDep.fields: 'DryDep_?DRY? ', 'DryDepVel_?DRY? ', ##'DryDepChm_?DRY? ', ##'DryDepMix_?DRY? ', :: #============================================================================== # %%%%% THE JValues COLLECTION %%%%% # # Photolysis rates (from the photolysis module) #============================================================================== JValues.template: '%y4%m2%d2_%h2%n2z.nc4', JValues.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} JValues.duration: ${RUNDIR_HIST_TIME_AVG_DUR} JValues.mode: 'time-averaged' JValues.fields: 'Jval_?PHO? ', 'JvalO3O1D ', 'JvalO3O3P ', :: #============================================================================== # %%%%% THE UVFlux COLLECTION %%%%% # # UV fluxes (from the photolysis module) #============================================================================== UVFlux.template: '%y4%m2%d2_%h2%n2z.nc4', UVFlux.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} UVFlux.duration: ${RUNDIR_HIST_TIME_AVG_DUR} UVFlux.mode: 'time-averaged' UVFlux.fields: 'UVFluxDiffuse_?UVFLX? ', 'UVFluxDirect_?UVFLX? ', 'UVFluxNet_?UVFLX? ', :: #============================================================================== # %%%%% THE KppDiags COLLECTION %%%%% # # Diagnostics from the KPP solver. #============================================================================== KppDiags.template: '%y4%m2%d2_%h2%n2z.nc4', KppDiags.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} KppDiags.duration: ${RUNDIR_HIST_TIME_AVG_DUR} KppDiags.mode: 'time-averaged' KppDiags.fields: 'KppIntCounts ', 'KppJacCounts ', 'KppTotSteps ', 'KppAccSteps ', 'KppRejSteps ', 'KppLuDecomps ', 'KppSubsts ', 'KppSmDecomps ', 'KppTime ', #'KppNegatives ', #'KppNegatives0 ', :: #============================================================================== # %%%%% THE KppARDiags COLLECTION %%%%% # # Diagnostics from the KPP solver when auto-reduction solver is used. #============================================================================== KppARDiags.template: '%y4%m2%d2_%h2%n2z.nc4', KppARDiags.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} KppARDiags.duration: ${RUNDIR_HIST_TIME_AVG_DUR} KppARDiags.mode: 'time-averaged' KppARDiags.fields: 'KppAutoReducerNVAR ', 'KppAutoReduceThres ', 'KppcNONZERO ', :: #============================================================================== # %%%%% THE ProdLoss COLLECTION %%%%% # # Chemical production and loss rates #============================================================================== ProdLoss.template: '%y4%m2%d2_%h2%n2z.nc4', ProdLoss.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} ProdLoss.duration: ${RUNDIR_HIST_TIME_AVG_DUR} ProdLoss.mode: 'time-averaged' ProdLoss.fields: 'Prod_?PRD? ', 'ProdBCPIfromBCPO ', 'ProdOCPIfromOCPO ', 'ProdHMSfromSO2andHCHOinCloud ', 'ProdSO2andHCHOfromHMSinCloud ', 'ProdSO4fromHMSinCloud ', 'ProdSO4fromH2O2inCloud ', 'ProdSO4fromO2inCloudMetal ', 'ProdSO4fromO3inCloud ', 'ProdSO4fromO3inSeaSalt ', 'ProdSO4fromHOBrInCloud ', 'ProdSO4fromSRO3 ', 'ProdSO4fromSRHObr ', 'ProdSO4fromO3s ', 'Loss_?LOS? ', 'LossHNO3onSeaSalt ', 'ProdCOfromCH4 ', 'ProdCOfromNMVOC ', :: #============================================================================== # %%%%% THE RRTMG COLLECTION %%%%% # # Outputs for different species from the RRTMG radiative transfer model: # (See http://wiki.geos-chem.org/Coupling_GEOS-Chem_with_RRTMG) # # 0=BA (Baseline ) 1=O3 (Ozone ) 2=ME (Methane ) # 3=SU (Sulfate ) 4=NI (Nitrate ) 5=AM (Ammonium ) # 6=BC (Black carbon) 7=OA (Organic aerosol) 8=SS (Sea Salt ) # 9=DU (Mineral dust) 10=PM (All part. matter) 12=ST (Strat aer., UCX only) # # NOTES: # (1) Only request diagnostics you need to reduce the overall run time. # (2) The ?RRTMG? wildcard includes all output except ST (strat aerosols). # However, if ST is included explicitly for one diagnostic then it # will be included for all others that use the wildcard. # (3) Only enable ST if running with UCX. # (4) Optics diagnostics have a reduced set of output species (no BASE, O3, ME) #============================================================================== RRTMG.template: '%y4%m2%d2_%h2%n2z.nc4', RRTMG.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} RRTMG.duration: ${RUNDIR_HIST_TIME_AVG_DUR} RRTMG.mode: 'time-averaged' RRTMG.fields: 'RadClrSkyLWSurf_BASE ', 'RadClrSkyLWSurf_O3 ', 'RadClrSkyLWSurf_ME ', 'RadClrSkyLWSurf_SU ', 'RadClrSkyLWSurf_NI ', 'RadClrSkyLWSurf_AM ', 'RadClrSkyLWSurf_BC ', 'RadClrSkyLWSurf_OA ', 'RadClrSkyLWSurf_SS ', 'RadClrSkyLWSurf_DU ', 'RadClrSkyLWSurf_PM ', #'RadClrSkyLWSurf_ST ', 'RadAllSkyLWSurf_?RRTMG?', 'RadClrSkySWSurf_?RRTMG?', 'RadAllSkySWSurf_?RRTMG?', 'RadClrSkyLWTOA_?RRTMG? ', 'RadAllSkyLWTOA_?RRTMG? ', 'RadClrSkySWTOA_?RRTMG? ', 'RadAllSkySWTOA_?RRTMG? ', 'RadAODWL1_SU ', 'RadAODWL1_NI ', 'RadAODWL1_AM ', 'RadAODWL1_BC ', 'RadAODWL1_OA ', 'RadAODWL1_SS ', 'RadAODWL1_DU ', 'RadAODWL1_PM ', #'RadAODWL1_ST ', 'RadSSAWL1_SU ', 'RadSSAWL1_NI ', 'RadSSAWL1_AM ', 'RadSSAWL1_BC ', 'RadSSAWL1_OA ', 'RadSSAWL1_SS ', 'RadSSAWL1_DU ', 'RadSSAWL1_PM ', #'RadSSAWL1_ST ', 'RadAsymWL1_SU ', 'RadAsymWL1_NI ', 'RadAsymWL1_AM ', 'RadAsymWL1_BC ', 'RadAsymWL1_OA ', 'RadAsymWL1_SS ', 'RadAsymWL1_DU ', 'RadAsymWL1_PM ', #'RadAsymWL1_ST ', :: #============================================================================== # %%%%% THE RxnRates COLLECTION %%%%% # # Archives chemical reaction rates from the KPP solver. # It is best to list individual reactions to avoid using too much memory. # Reactions should be listed as "RxnRate_EQnnnn", where nnnn is the reaction # index as listed in KPP/fullchem/gckpp_Monitor.F90 (pad zeroes as needed). #============================================================================== RxnRates.template: '%y4%m2%d2_%h2%n2z.nc4', RxnRates.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} RxnRates.duration: ${RUNDIR_HIST_TIME_AVG_DUR} RxnRates.mode: 'time-averaged' RxnRates.fields: 'RxnRate_EQ0001 ', 'RxnRate_EQ0002 ', :: #============================================================================== # %%%%% THE RxnConst COLLECTION %%%%% # # Archives chemical reaction rates constants from the KPP solver. # It is best to list individual reactions to avoid using too much memory. # Reactions should be listed as "RxnConst_EQnnnn", where nnnn is the reaction # index as listed in KPP/fullchem/gckpp_Monitor.F90 (pad zeroes as needed). # # The units of reaction rate constants vary according to the number of reactants # in the reaction. #============================================================================== RxnConst.template: '%y4%m2%d2_%h2%n2z.nc4', RxnConst.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} RxnConst.duration: ${RUNDIR_HIST_TIME_AVG_DUR} RxnConst.mode: 'time-averaged' RxnConst.fields: 'RxnConst_EQ0001 ', 'RxnConst_EQ0002 ', :: #============================================================================== # %%%%% THE SatDiagn COLLECTION %%%%% # # GEOS-Chem data during satellite overpass #============================================================================== SatDiagn.template: '%y4%m2%d2_%h2%n2z.nc4', SatDiagn.format: 'CFIO', SatDiagn.frequency: 00000001 000000 SatDiagn.duration: 00000100 000000 SatDiagn.hrrange: 11.98 15.02 SatDiagn.mode: 'time-averaged' SatDiagn.fields: 'SatDiagnConc_ISOP ', 'SatDiagnConc_CH2O ', 'SatDiagnConc_MVK ', 'SatDiagnConc_MACR ', 'SatDiagnConc_MOH ', 'SatDiagnConc_CO ', 'SatDiagnConc_NO ', 'SatDiagnConc_NO2 ', 'SatDiagnConc_NO3 ', 'SatDiagnConc_O3 ', 'SatDiagnConc_HO2 ', 'SatDiagnOH ', 'SatDiagnRH ', 'SatDiagnAirDen ', 'SatDiagnBoxHeight ', 'SatDiagnTROPP ', 'SatDiagnPBLHeight ', 'SatDiagnPBLTop ', 'SatDiagnTAir ', 'SatDiagnGWETROOT ', 'SatDiagnGWETTOP ', 'SatDiagnPARDR ', 'SatDiagnPARDF ', 'SatDiagnPRECTOT ', 'SatDiagnSLP ', 'SatDiagnSPHU ', 'SatDiagnTS ', 'SatDiagnPBLTOPL ', 'SatDiagnPMID ', 'SatDiagnMODISLAI ', 'SatDiagnWetLossLS_CH2O ', 'SatDiagnWetLossConv_CH2O ', 'SatDiagnJval_CH2O ', 'SatDiagnJval_NO2 ', 'SatDiagnJval_NO3 ', 'SatDiagnJval_O3 ', 'SatDiagnJvalO3O1D ', 'SatDiagnJvalO3O3P ', 'SatDiagnDryDep_CH2O ', 'SatDiagnDryDep_NO2 ', 'SatDiagnDryDep_O3 ', 'SatDiagnDryDepVel_CH2O ', 'SatDiagnDryDepVel_NO2 ', 'SatDiagnDryDepVel_O3 ', 'SatDiagnOHreactivity ', 'SatDiagnColEmis_ISOP ', 'SatDiagnSurfFlux_ISOP ', 'SatDiagnColEmis_CH2O ', 'SatDiagnSurfFlux_CH2O ', 'SatDiagnColEmis_NO ', 'SatDiagnSurfFlux_NO ', 'SatDiagnProd_?PRD? ', 'SatDiagnLoss_?LOS? ', 'SatDiagnRxnRate_EQ0385 ', 'SatDiagnRxnRate_EQ0386 ', 'SatDiagnRxnRate_EQ0387 ', 'SatDiagnRxnRate_EQ0388 ', :: #============================================================================== # %%%%% THE SatDiagnEdge COLLECTION %%%%% # # GEOS-Chem data (on level edges) during satellite overpass #============================================================================== SatDiagnEdge.template: '%y4%m2%d2_%h2%n2z.nc4', SatDiagnEdge.format: 'CFIO', SatDiagnEdge.frequency: 00000001 000000 SatDiagnEdge.duration: 00000100 000000 SatDiagnEdge.hrrange: 11.98 15.02 SatDiagnEdge.mode: 'time-averaged' SatDiagnEdge.fields: 'SatDiagnPEDGE ', :: #============================================================================== # %%%%% THE StateChm COLLECTION %%%%% # # Fields of the State_Chm object (see also Aerosols collection) #============================================================================== StateChm.template: '%y4%m2%d2_%h2%n2z.nc4', StateChm.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} StateChm.duration: ${RUNDIR_HIST_TIME_AVG_DUR} StateChm.mode: 'time-averaged' StateChm.fields: 'Chem_IsorropAeropHAccum ', 'Chem_IsorropAeropHCoarse ', 'Chem_IsorropHplusAccum ', 'Chem_IsorropHplusCoarse ', 'Chem_IsorropAeroH2OAccum ', 'Chem_IsorropAeroH2OCoarse ', 'Chem_IsorropSulfate ', 'Chem_IsorropNitrateAccum ', 'Chem_IsorropNitrateCoarse ', 'Chem_IsorropChlorideAccum ', 'Chem_IsorropChlorideCoarse ', 'Chem_IsorropBisulfate ', 'Chem_pHCloud ', 'Chem_isCloud ', 'Chem_SSAlkAccumMode ', 'Chem_SSAlkCoarseMode ', 'Chem_HSO3AQ ', 'Chem_SO3AQ ', 'Chem_fupdateHOBr ', 'Chem_GammaN2O5overall ', 'Chem_GammaN2O5fine ', 'Chem_YieldClNO2fine ', :: #============================================================================== # %%%%% The StateMet COLLECTION %%%%% # # Fields of the State_Met object (also see the StateMetLevEdge collection) #============================================================================== StateMet.template: '%y4%m2%d2_%h2%n2z.nc4', StateMet.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} StateMet.duration: ${RUNDIR_HIST_TIME_AVG_DUR} StateMet.mode: 'time-averaged' StateMet.fields: 'Met_AD ', 'Met_AIRDEN ', 'Met_AIRVOL ', 'Met_ALBD ', 'Met_AVGW ', 'Met_BXHEIGHT ', 'Met_ChemGridLev ', 'Met_CLDF ', 'Met_CLDFRC ', 'Met_CLDTOPS ', 'Met_CONVDEPTH ', 'Met_DELP ', 'Met_DELPDRY ', 'Met_DQRCU ', 'Met_DQRLSAN ', 'Met_DTRAIN ', 'Met_EFLUX ', 'Met_FLASHDENS ', 'Met_FRCLND ', 'Met_FRLAKE ', 'Met_FRLAND ', 'Met_FRLANDICE ', 'Met_FROCEAN ', 'Met_FRSEAICE ', 'Met_FRSNOW ', 'Met_GWETROOT ', 'Met_GWETTOP ', 'Met_HFLUX ', 'Met_LAI ', 'Met_PARDR ', 'Met_PARDF ', 'Met_PBLTOPL ', 'Met_PBLH ', 'Met_PHIS ', 'Met_PMID ', 'Met_PMIDDRY ', 'Met_PRECANV ', 'Met_PRECCON ', 'Met_PRECLSC ', 'Met_PRECTOT ', 'Met_PS1DRY ', 'Met_PS1WET ', 'Met_PS2DRY ', 'Met_PS2WET ', 'Met_PSC2WET ', 'Met_PSC2DRY ', 'Met_QI ', 'Met_QL ', 'Met_OMEGA ', 'Met_OPTD ', 'Met_REEVAPCN ', 'Met_REEVAPLS ', 'Met_SLP ', 'Met_SNODP ', 'Met_SNOMAS ', 'Met_SPHU ', 'Met_SPHU1 ', 'Met_SPHU2 ', 'Met_SUNCOS ', 'Met_SUNCOSmid ', 'Met_SWGDN ', 'Met_T ', 'Met_TAUCLI ', 'Met_TAUCLW ', 'Met_THETA ', 'Met_TMPU1 ', 'Met_TMPU2 ', 'Met_TO3 ', 'Met_TropHt ', 'Met_TropLev ', 'Met_TropP ', 'Met_TS ', 'Met_TSKIN ', 'Met_TV ', 'Met_U ', 'Met_U10M ', 'Met_USTAR ', 'Met_UVALBEDO ', 'Met_V ', 'Met_V10M ', 'Met_Z0 ', 'FracOfTimeInTrop ', :: #============================================================================== # %%%%% THE StateMetLevEdge COLLECTION %%%%% # # Diagnostics that are defined on grid box level edges #============================================================================== StateMetLevEdge.template: '%y4%m2%d2_%h2%n2z.nc4', StateMetLevEdge.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} StateMetLevEdge.duration: ${RUNDIR_HIST_TIME_AVG_DUR} StateMetLevEdge.mode: 'time-averaged' StateMetLevEdge.fields: 'Met_CMFMC ', 'Met_PEDGE ', 'Met_PEDGEDRY ', 'Met_PFICU ', 'Met_PFILSAN ', 'Met_PFLCU ', 'Met_PFLLSAN ', :: #============================================================================== # %%%%% THE StratBM COLLECTION %%%%% # # Fields needed for GEOS-Chem 10-year stratospheric benchmarks #============================================================================== StratBM.template: '%y4%m2%d2_%h2%n2z.nc4', StratBM.frequency: 00000000 010000 StratBM.duration: 00000001 000000 StratBM.mode: 'time-averaged' StratBM.fields: 'SpeciesConcVV_NO2 ', 'SpeciesConcVV_O3 ', 'SpeciesConcVV_ClO ', 'Met_PSC2WET ', 'Met_BXHEIGHT ', 'Met_AIRDEN ', 'Met_AD ', :: #============================================================================== # %%%%% THE Tomas Microphysics Rate COLLECTION %%%%% # # Tomas microphysics rates #============================================================================== Tomas.template: '%y4%m2%d2_%h2%n2z.nc4', Tomas.format: 'CFIO', Tomas.timestampStart: .true. Tomas.monthly: 0 Tomas.frequency: 00000100 000000 Tomas.duration: 00000100 000000 Tomas.mode: 'time-averaged' Tomas.fields: 'TomasH2SO4mass_bin01 ', 'TomasH2SO4mass_bin02 ', 'TomasH2SO4mass_bin03 ', 'TomasH2SO4mass_bin04 ', 'TomasH2SO4mass_bin05 ', 'TomasH2SO4mass_bin06 ', 'TomasH2SO4mass_bin07 ', 'TomasH2SO4mass_bin08 ', 'TomasH2SO4mass_bin09 ', 'TomasH2SO4mass_bin10 ', 'TomasH2SO4mass_bin11 ', 'TomasH2SO4mass_bin12 ', 'TomasH2SO4mass_bin13 ', 'TomasH2SO4mass_bin14 ', 'TomasH2SO4mass_bin15 ', 'TomasH2SO4number_bin01 ', 'TomasH2SO4number_bin02 ', 'TomasH2SO4number_bin03 ', 'TomasH2SO4number_bin04 ', 'TomasH2SO4number_bin05 ', 'TomasH2SO4number_bin06 ', 'TomasH2SO4number_bin07 ', 'TomasH2SO4number_bin08 ', 'TomasH2SO4number_bin09 ', 'TomasH2SO4number_bin10 ', 'TomasH2SO4number_bin11 ', 'TomasH2SO4number_bin12 ', 'TomasH2SO4number_bin13 ', 'TomasH2SO4number_bin14 ', 'TomasH2SO4number_bin15 ', 'TomasCOAGmass_bin01 ', 'TomasCOAGmass_bin02 ', 'TomasCOAGmass_bin03 ', 'TomasCOAGmass_bin04 ', 'TomasCOAGmass_bin05 ', 'TomasCOAGmass_bin06 ', 'TomasCOAGmass_bin07 ', 'TomasCOAGmass_bin08 ', 'TomasCOAGmass_bin09 ', 'TomasCOAGmass_bin10 ', 'TomasCOAGmass_bin11 ', 'TomasCOAGmass_bin12 ', 'TomasCOAGmass_bin13 ', 'TomasCOAGmass_bin14 ', 'TomasCOAGmass_bin15 ', 'TomasCOAGnumber_bin01 ', 'TomasCOAGnumber_bin02 ', 'TomasCOAGnumber_bin03 ', 'TomasCOAGnumber_bin04 ', 'TomasCOAGnumber_bin05 ', 'TomasCOAGnumber_bin06 ', 'TomasCOAGnumber_bin07 ', 'TomasCOAGnumber_bin08 ', 'TomasCOAGnumber_bin09 ', 'TomasCOAGnumber_bin10 ', 'TomasCOAGnumber_bin11 ', 'TomasCOAGnumber_bin12 ', 'TomasCOAGnumber_bin13 ', 'TomasCOAGnumber_bin14 ', 'TomasCOAGnumber_bin15 ', 'TomasNUCRATEFN ', 'TomasNUCLmass_bin01 ', 'TomasNUCLmass_bin02 ', 'TomasNUCLmass_bin03 ', 'TomasNUCLmass_bin04 ', 'TomasNUCLmass_bin05 ', 'TomasNUCLmass_bin06 ', 'TomasNUCLmass_bin07 ', 'TomasNUCLmass_bin08 ', 'TomasNUCLmass_bin09 ', 'TomasNUCLmass_bin10 ', 'TomasNUCLmass_bin11 ', 'TomasNUCLmass_bin12 ', 'TomasNUCLmass_bin13 ', 'TomasNUCLmass_bin14 ', 'TomasNUCLmass_bin15 ', 'TomasNUCLnumber_bin01 ', 'TomasNUCLnumber_bin02 ', 'TomasNUCLnumber_bin03 ', 'TomasNUCLnumber_bin04 ', 'TomasNUCLnumber_bin05 ', 'TomasNUCLnumber_bin06 ', 'TomasNUCLnumber_bin07 ', 'TomasNUCLnumber_bin08 ', 'TomasNUCLnumber_bin09 ', 'TomasNUCLnumber_bin10 ', 'TomasNUCLnumber_bin11 ', 'TomasNUCLnumber_bin12 ', 'TomasNUCLnumber_bin13 ', 'TomasNUCLnumber_bin14 ', 'TomasNUCLnumber_bin15 ', 'TomasNUCRATEnumber_bin01 ', 'TomasNUCRATEnumber_bin02 ', 'TomasNUCRATEnumber_bin03 ', 'TomasNUCRATEnumber_bin04 ', 'TomasNUCRATEnumber_bin05 ', 'TomasNUCRATEnumber_bin06 ', 'TomasNUCRATEnumber_bin07 ', 'TomasNUCRATEnumber_bin08 ', 'TomasNUCRATEnumber_bin09 ', 'TomasNUCRATEnumber_bin10 ', 'TomasNUCRATEnumber_bin11 ', 'TomasNUCRATEnumber_bin12 ', 'TomasNUCRATEnumber_bin13 ', 'TomasNUCRATEnumber_bin14 ', 'TomasNUCRATEnumber_bin15 ', 'TomasAQOXmass_bin01 ', 'TomasAQOXmass_bin02 ', 'TomasAQOXmass_bin03 ', 'TomasAQOXmass_bin04 ', 'TomasAQOXmass_bin05 ', 'TomasAQOXmass_bin06 ', 'TomasAQOXmass_bin07 ', 'TomasAQOXmass_bin08 ', 'TomasAQOXmass_bin09 ', 'TomasAQOXmass_bin10 ', 'TomasAQOXmass_bin11 ', 'TomasAQOXmass_bin12 ', 'TomasAQOXmass_bin13 ', 'TomasAQOXmass_bin14 ', 'TomasAQOXmass_bin15 ', 'TomasAQOXnumber_bin01 ', 'TomasAQOXnumber_bin02 ', 'TomasAQOXnumber_bin03 ', 'TomasAQOXnumber_bin04 ', 'TomasAQOXnumber_bin05 ', 'TomasAQOXnumber_bin06 ', 'TomasAQOXnumber_bin07 ', 'TomasAQOXnumber_bin08 ', 'TomasAQOXnumber_bin09 ', 'TomasAQOXnumber_bin10 ', 'TomasAQOXnumber_bin11 ', 'TomasAQOXnumber_bin12 ', 'TomasAQOXnumber_bin13 ', 'TomasAQOXnumber_bin14 ', 'TomasAQOXnumber_bin15 ', 'TomasMNFIXmass_bin01 ', 'TomasMNFIXmass_bin02 ', 'TomasMNFIXmass_bin03 ', 'TomasMNFIXmass_bin04 ', 'TomasMNFIXmass_bin05 ', 'TomasMNFIXmass_bin06 ', 'TomasMNFIXmass_bin07 ', 'TomasMNFIXmass_bin08 ', 'TomasMNFIXmass_bin09 ', 'TomasMNFIXmass_bin10 ', 'TomasMNFIXmass_bin11 ', 'TomasMNFIXmass_bin12 ', 'TomasMNFIXmass_bin13 ', 'TomasMNFIXmass_bin14 ', 'TomasMNFIXmass_bin15 ', 'TomasMNFIXnumber_bin01 ', 'TomasMNFIXnumber_bin02 ', 'TomasMNFIXnumber_bin03 ', 'TomasMNFIXnumber_bin04 ', 'TomasMNFIXnumber_bin05 ', 'TomasMNFIXnumber_bin06 ', 'TomasMNFIXnumber_bin07 ', 'TomasMNFIXnumber_bin08 ', 'TomasMNFIXnumber_bin09 ', 'TomasMNFIXnumber_bin10 ', 'TomasMNFIXnumber_bin11 ', 'TomasMNFIXnumber_bin12 ', 'TomasMNFIXnumber_bin13 ', 'TomasMNFIXnumber_bin14 ', 'TomasMNFIXnumber_bin15 ', 'TomasMNFIXh2so4mass_bin01 ', 'TomasMNFIXh2so4mass_bin02 ', 'TomasMNFIXh2so4mass_bin03 ', 'TomasMNFIXh2so4mass_bin04 ', 'TomasMNFIXh2so4mass_bin05 ', 'TomasMNFIXh2so4mass_bin06 ', 'TomasMNFIXh2so4mass_bin07 ', 'TomasMNFIXh2so4mass_bin08 ', 'TomasMNFIXh2so4mass_bin09 ', 'TomasMNFIXh2so4mass_bin10 ', 'TomasMNFIXh2so4mass_bin11 ', 'TomasMNFIXh2so4mass_bin12 ', 'TomasMNFIXh2so4mass_bin13 ', 'TomasMNFIXh2so4mass_bin14 ', 'TomasMNFIXh2so4mass_bin15 ', 'TomasMNFIXh2so4number_bin01 ', 'TomasMNFIXh2so4number_bin02 ', 'TomasMNFIXh2so4number_bin03 ', 'TomasMNFIXh2so4number_bin04 ', 'TomasMNFIXh2so4number_bin05 ', 'TomasMNFIXh2so4number_bin06 ', 'TomasMNFIXh2so4number_bin07 ', 'TomasMNFIXh2so4number_bin08 ', 'TomasMNFIXh2so4number_bin09 ', 'TomasMNFIXh2so4number_bin10 ', 'TomasMNFIXh2so4number_bin11 ', 'TomasMNFIXh2so4number_bin12 ', 'TomasMNFIXh2so4number_bin13 ', 'TomasMNFIXh2so4number_bin14 ', 'TomasMNFIXh2so4number_bin15 ', 'TomasMNFIXcoagmass_bin01 ', 'TomasMNFIXcoagmass_bin02 ', 'TomasMNFIXcoagmass_bin03 ', 'TomasMNFIXcoagmass_bin04 ', 'TomasMNFIXcoagmass_bin05 ', 'TomasMNFIXcoagmass_bin06 ', 'TomasMNFIXcoagmass_bin07 ', 'TomasMNFIXcoagmass_bin08 ', 'TomasMNFIXcoagmass_bin09 ', 'TomasMNFIXcoagmass_bin10 ', 'TomasMNFIXcoagmass_bin11 ', 'TomasMNFIXcoagmass_bin12 ', 'TomasMNFIXcoagmass_bin13 ', 'TomasMNFIXcoagmass_bin14 ', 'TomasMNFIXcoagmass_bin15 ', 'TomasMNFIXcoagnumber_bin01 ', 'TomasMNFIXcoagnumber_bin02 ', 'TomasMNFIXcoagnumber_bin03 ', 'TomasMNFIXcoagnumber_bin04 ', 'TomasMNFIXcoagnumber_bin05 ', 'TomasMNFIXcoagnumber_bin06 ', 'TomasMNFIXcoagnumber_bin07 ', 'TomasMNFIXcoagnumber_bin08 ', 'TomasMNFIXcoagnumber_bin09 ', 'TomasMNFIXcoagnumber_bin10 ', 'TomasMNFIXcoagnumber_bin11 ', 'TomasMNFIXcoagnumber_bin12 ', 'TomasMNFIXcoagnumber_bin13 ', 'TomasMNFIXcoagnumber_bin14 ', 'TomasMNFIXcoagnumber_bin15 ', 'TomasMNFIXaqoxmass_bin01 ', 'TomasMNFIXaqoxmass_bin02 ', 'TomasMNFIXaqoxmass_bin03 ', 'TomasMNFIXaqoxmass_bin04 ', 'TomasMNFIXaqoxmass_bin05 ', 'TomasMNFIXaqoxmass_bin06 ', 'TomasMNFIXaqoxmass_bin07 ', 'TomasMNFIXaqoxmass_bin08 ', 'TomasMNFIXaqoxmass_bin09 ', 'TomasMNFIXaqoxmass_bin10 ', 'TomasMNFIXaqoxmass_bin11 ', 'TomasMNFIXaqoxmass_bin12 ', 'TomasMNFIXaqoxmass_bin13 ', 'TomasMNFIXaqoxmass_bin14 ', 'TomasMNFIXaqoxmass_bin15 ', 'TomasMNFIXaqoxnumber_bin01 ', 'TomasMNFIXaqoxnumber_bin02 ', 'TomasMNFIXaqoxnumber_bin03 ', 'TomasMNFIXaqoxnumber_bin04 ', 'TomasMNFIXaqoxnumber_bin05 ', 'TomasMNFIXaqoxnumber_bin06 ', 'TomasMNFIXaqoxnumber_bin07 ', 'TomasMNFIXaqoxnumber_bin08 ', 'TomasMNFIXaqoxnumber_bin09 ', 'TomasMNFIXaqoxnumber_bin10 ', 'TomasMNFIXaqoxnumber_bin11 ', 'TomasMNFIXaqoxnumber_bin12 ', 'TomasMNFIXaqoxnumber_bin13 ', 'TomasMNFIXaqoxnumber_bin14 ', 'TomasMNFIXaqoxnumber_bin15 ', 'TomasMNFIXezwat1mass_bin01 ', 'TomasMNFIXezwat1mass_bin02 ', 'TomasMNFIXezwat1mass_bin03 ', 'TomasMNFIXezwat1mass_bin04 ', 'TomasMNFIXezwat1mass_bin05 ', 'TomasMNFIXezwat1mass_bin06 ', 'TomasMNFIXezwat1mass_bin07 ', 'TomasMNFIXezwat1mass_bin08 ', 'TomasMNFIXezwat1mass_bin09 ', 'TomasMNFIXezwat1mass_bin10 ', 'TomasMNFIXezwat1mass_bin11 ', 'TomasMNFIXezwat1mass_bin12 ', 'TomasMNFIXezwat1mass_bin13 ', 'TomasMNFIXezwat1mass_bin14 ', 'TomasMNFIXezwat1mass_bin15 ', 'TomasMNFIXezwat1number_bin01 ', 'TomasMNFIXezwat1number_bin02 ', 'TomasMNFIXezwat1number_bin03 ', 'TomasMNFIXezwat1number_bin04 ', 'TomasMNFIXezwat1number_bin05 ', 'TomasMNFIXezwat1number_bin06 ', 'TomasMNFIXezwat1number_bin07 ', 'TomasMNFIXezwat1number_bin08 ', 'TomasMNFIXezwat1number_bin09 ', 'TomasMNFIXezwat1number_bin10 ', 'TomasMNFIXezwat1number_bin11 ', 'TomasMNFIXezwat1number_bin12 ', 'TomasMNFIXezwat1number_bin13 ', 'TomasMNFIXezwat1number_bin14 ', 'TomasMNFIXezwat1number_bin15 ', 'TomasMNFIXezwat2mass_bin01 ', 'TomasMNFIXezwat2mass_bin02 ', 'TomasMNFIXezwat2mass_bin03 ', 'TomasMNFIXezwat2mass_bin04 ', 'TomasMNFIXezwat2mass_bin05 ', 'TomasMNFIXezwat2mass_bin06 ', 'TomasMNFIXezwat2mass_bin07 ', 'TomasMNFIXezwat2mass_bin08 ', 'TomasMNFIXezwat2mass_bin09 ', 'TomasMNFIXezwat2mass_bin10 ', 'TomasMNFIXezwat2mass_bin11 ', 'TomasMNFIXezwat2mass_bin12 ', 'TomasMNFIXezwat2mass_bin13 ', 'TomasMNFIXezwat2mass_bin14 ', 'TomasMNFIXezwat2mass_bin15 ', 'TomasMNFIXezwat2number_bin01 ', 'TomasMNFIXezwat2number_bin02 ', 'TomasMNFIXezwat2number_bin03 ', 'TomasMNFIXezwat2number_bin04 ', 'TomasMNFIXezwat2number_bin05 ', 'TomasMNFIXezwat2number_bin06 ', 'TomasMNFIXezwat2number_bin07 ', 'TomasMNFIXezwat2number_bin08 ', 'TomasMNFIXezwat2number_bin09 ', 'TomasMNFIXezwat2number_bin10 ', 'TomasMNFIXezwat2number_bin11 ', 'TomasMNFIXezwat2number_bin12 ', 'TomasMNFIXezwat2number_bin13 ', 'TomasMNFIXezwat2number_bin14 ', 'TomasMNFIXezwat2number_bin15 ', 'TomasMNFIXezwat3mass_bin01 ', 'TomasMNFIXezwat3mass_bin02 ', 'TomasMNFIXezwat3mass_bin03 ', 'TomasMNFIXezwat3mass_bin04 ', 'TomasMNFIXezwat3mass_bin05 ', 'TomasMNFIXezwat3mass_bin06 ', 'TomasMNFIXezwat3mass_bin07 ', 'TomasMNFIXezwat3mass_bin08 ', 'TomasMNFIXezwat3mass_bin09 ', 'TomasMNFIXezwat3mass_bin10 ', 'TomasMNFIXezwat3mass_bin11 ', 'TomasMNFIXezwat3mass_bin12 ', 'TomasMNFIXezwat3mass_bin13 ', 'TomasMNFIXezwat3mass_bin14 ', 'TomasMNFIXezwat3mass_bin15 ', 'TomasMNFIXezwat3number_bin01 ', 'TomasMNFIXezwat3number_bin02 ', 'TomasMNFIXezwat3number_bin03 ', 'TomasMNFIXezwat3number_bin04 ', 'TomasMNFIXezwat3number_bin05 ', 'TomasMNFIXezwat3number_bin06 ', 'TomasMNFIXezwat3number_bin07 ', 'TomasMNFIXezwat3number_bin08 ', 'TomasMNFIXezwat3number_bin09 ', 'TomasMNFIXezwat3number_bin10 ', 'TomasMNFIXezwat3number_bin11 ', 'TomasMNFIXezwat3number_bin12 ', 'TomasMNFIXezwat3number_bin13 ', 'TomasMNFIXezwat3number_bin14 ', 'TomasMNFIXezwat3number_bin15 ', 'TomasMNFIXcheck1mass_bin01 ', 'TomasMNFIXcheck1mass_bin02 ', 'TomasMNFIXcheck1mass_bin03 ', 'TomasMNFIXcheck1mass_bin04 ', 'TomasMNFIXcheck1mass_bin05 ', 'TomasMNFIXcheck1mass_bin06 ', 'TomasMNFIXcheck1mass_bin07 ', 'TomasMNFIXcheck1mass_bin08 ', 'TomasMNFIXcheck1mass_bin09 ', 'TomasMNFIXcheck1mass_bin10 ', 'TomasMNFIXcheck1mass_bin11 ', 'TomasMNFIXcheck1mass_bin12 ', 'TomasMNFIXcheck1mass_bin13 ', 'TomasMNFIXcheck1mass_bin14 ', 'TomasMNFIXcheck1mass_bin15 ', 'TomasMNFIXcheck1number_bin01 ', 'TomasMNFIXcheck1number_bin02 ', 'TomasMNFIXcheck1number_bin03 ', 'TomasMNFIXcheck1number_bin04 ', 'TomasMNFIXcheck1number_bin05 ', 'TomasMNFIXcheck1number_bin06 ', 'TomasMNFIXcheck1number_bin07 ', 'TomasMNFIXcheck1number_bin08 ', 'TomasMNFIXcheck1number_bin09 ', 'TomasMNFIXcheck1number_bin10 ', 'TomasMNFIXcheck1number_bin11 ', 'TomasMNFIXcheck1number_bin12 ', 'TomasMNFIXcheck1number_bin13 ', 'TomasMNFIXcheck1number_bin14 ', 'TomasMNFIXcheck1number_bin15 ', 'TomasMNFIXcheck2mass_bin01 ', 'TomasMNFIXcheck2mass_bin02 ', 'TomasMNFIXcheck2mass_bin03 ', 'TomasMNFIXcheck2mass_bin04 ', 'TomasMNFIXcheck2mass_bin05 ', 'TomasMNFIXcheck2mass_bin06 ', 'TomasMNFIXcheck2mass_bin07 ', 'TomasMNFIXcheck2mass_bin08 ', 'TomasMNFIXcheck2mass_bin09 ', 'TomasMNFIXcheck2mass_bin10 ', 'TomasMNFIXcheck2mass_bin11 ', 'TomasMNFIXcheck2mass_bin12 ', 'TomasMNFIXcheck2mass_bin13 ', 'TomasMNFIXcheck2mass_bin14 ', 'TomasMNFIXcheck2mass_bin15 ', 'TomasMNFIXcheck2number_bin01 ', 'TomasMNFIXcheck2number_bin02 ', 'TomasMNFIXcheck2number_bin03 ', 'TomasMNFIXcheck2number_bin04 ', 'TomasMNFIXcheck2number_bin05 ', 'TomasMNFIXcheck2number_bin06 ', 'TomasMNFIXcheck2number_bin07 ', 'TomasMNFIXcheck2number_bin08 ', 'TomasMNFIXcheck2number_bin09 ', 'TomasMNFIXcheck2number_bin10 ', 'TomasMNFIXcheck2number_bin11 ', 'TomasMNFIXcheck2number_bin12 ', 'TomasMNFIXcheck2number_bin13 ', 'TomasMNFIXcheck2number_bin14 ', 'TomasMNFIXcheck2number_bin15 ', 'TomasMNFIXcheck3mass_bin01 ', 'TomasMNFIXcheck3mass_bin02 ', 'TomasMNFIXcheck3mass_bin03 ', 'TomasMNFIXcheck3mass_bin04 ', 'TomasMNFIXcheck3mass_bin05 ', 'TomasMNFIXcheck3mass_bin06 ', 'TomasMNFIXcheck3mass_bin07 ', 'TomasMNFIXcheck3mass_bin08 ', 'TomasMNFIXcheck3mass_bin09 ', 'TomasMNFIXcheck3mass_bin10 ', 'TomasMNFIXcheck3mass_bin11 ', 'TomasMNFIXcheck3mass_bin12 ', 'TomasMNFIXcheck3mass_bin13 ', 'TomasMNFIXcheck3mass_bin14 ', 'TomasMNFIXcheck3mass_bin15 ', 'TomasMNFIXcheck3number_bin01 ', 'TomasMNFIXcheck3number_bin02 ', 'TomasMNFIXcheck3number_bin03 ', 'TomasMNFIXcheck3number_bin04 ', 'TomasMNFIXcheck3number_bin05 ', 'TomasMNFIXcheck3number_bin06 ', 'TomasMNFIXcheck3number_bin07 ', 'TomasMNFIXcheck3number_bin08 ', 'TomasMNFIXcheck3number_bin09 ', 'TomasMNFIXcheck3number_bin10 ', 'TomasMNFIXcheck3number_bin11 ', 'TomasMNFIXcheck3number_bin12 ', 'TomasMNFIXcheck3number_bin13 ', 'TomasMNFIXcheck3number_bin14 ', 'TomasMNFIXcheck3number_bin15 ', 'TomasSOAmass_bin01 ', 'TomasSOAmass_bin02 ', 'TomasSOAmass_bin03 ', 'TomasSOAmass_bin04 ', 'TomasSOAmass_bin05 ', 'TomasSOAmass_bin06 ', 'TomasSOAmass_bin07 ', 'TomasSOAmass_bin08 ', 'TomasSOAmass_bin09 ', 'TomasSOAmass_bin10 ', 'TomasSOAmass_bin11 ', 'TomasSOAmass_bin12 ', 'TomasSOAmass_bin13 ', 'TomasSOAmass_bin14 ', 'TomasSOAmass_bin15 ', 'TomasSOAnumber_bin01 ', 'TomasSOAnumber_bin02 ', 'TomasSOAnumber_bin03 ', 'TomasSOAnumber_bin04 ', 'TomasSOAnumber_bin05 ', 'TomasSOAnumber_bin06 ', 'TomasSOAnumber_bin07 ', 'TomasSOAnumber_bin08 ', 'TomasSOAnumber_bin09 ', 'TomasSOAnumber_bin10 ', 'TomasSOAnumber_bin11 ', 'TomasSOAnumber_bin12 ', 'TomasSOAnumber_bin13 ', 'TomasSOAnumber_bin14 ', 'TomasSOAnumber_bin15 ', :: #============================================================================== # %%%%% THE WetLossConv COLLECTION %%%%% # # Loss of soluble species in convective updrafts #============================================================================== WetLossConv.template: '%y4%m2%d2_%h2%n2z.nc4', WetLossConv.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} WetLossConv.duration: ${RUNDIR_HIST_TIME_AVG_DUR} WetLossConv.mode: 'time-averaged' WetLossConv.fields: 'WetLossConv_?WET? ', 'WetLossConvFrac_?WET? ', :: #============================================================================== # %%%%% THE WetLossLS COLLECTION %%%%% # # Loss of soluble species in large-scale wetdep (i.e. rainout and washout) ##============================================================================== WetLossLS.template: '%y4%m2%d2_%h2%n2z.nc4', WetLossLS.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} WetLossLS.duration: ${RUNDIR_HIST_TIME_AVG_DUR} WetLossLS.mode: 'time-averaged' WetLossLS.fields: 'WetLossLS_?WET? ', :: #============================================================================== # %%%%% THE BoundaryConditions COLLECTION %%%%% # # GEOS-Chem boundary conditions for use in nested grid simulations # # NOTE: Do not change the BoundaryConditions.frequency setting below, # because GEOS-Chem nested-grid simulations expect to read boundary # condition data at 3 hour intervals. #============================================================================== BoundaryConditions.template: '%y4%m2%d2_%h2%n2z.nc4', BoundaryConditions.frequency: 00000000 030000 BoundaryConditions.duration: 00000001 000000 BoundaryConditions.mode: 'instantaneous' BoundaryConditions.fields: 'SpeciesBC_?ADV? ', :: ================================================ FILE: run/GCClassic/HISTORY.rc.templates/HISTORY.rc.metals ================================================ ############################################################################### ### HISTORY.rc file for GEOS-Chem trace metals simulations ### ### Contact: GEOS-Chem Support Team (geos-chem-support@g.harvard.edu) ### ############################################################################### #============================================================================ # EXPID allows you to specify the beginning of the file path corresponding # to each diagnostic collection. For example: # # EXPID: ./GEOSChem # Will create netCDF files whose names begin "GEOSChem", # in this run directory. # # EXPID: ./OutputDir/GEOSChem # Will create netCDF files whose names begin with "GEOSChem" # in the OutputDir sub-folder of this run directory. # #============================================================================ EXPID: ./OutputDir/GEOSChem #============================================================================== # %%%%% COLLECTION NAME DECLARATIONS %%%%% # # To enable a collection, remove the "#" character in front of its name. The # Restart collection should always be turned on. # # NOTE: These are the "default" collections for GEOS-Chem, but you can create # your own customized diagnostic collections as well. #============================================================================== COLLECTIONS: 'Restart', 'SpeciesConc', #'Budget', #'CloudConvFlux', #'DryDep', #'SatDiagn', #'SatDiagnEdge', #'StateMet', #'StateMetLevEdge', #'WetLossConv', #'WetLossLS', :: ############################################################################### ### The rest of this file consists of collection definitions. ### ### Above collections whose declarations are commented out will be ignored. ### ### Make sure that each collection definition, as well as the list of ### ### collections above, ends with a double-colon ("::"). ### ############################################################################### #============================================================================== # %%%%% THE Restart COLLECTION %%%%% # # GEOS-Chem restart file fields #============================================================================== Restart.filename: './Restarts/GEOSChem.Restart.%y4%m2%d2_%h2%n2z.nc4', Restart.frequency: 'End', Restart.duration: 'End', Restart.mode: 'instantaneous' Restart.fields: 'SpeciesRst_?ALL? ', 'Met_DELPDRY ', 'Met_BXHEIGHT ', 'Met_TropLev ', :: #============================================================================== # %%%%% THE SpeciesConc COLLECTION %%%%% # # GEOS-Chem species concentrations (default = all species) # # Concentrations may be saved out as SpeciesConcVV [v/v dry air] or # SpeciesConcMND [molec/cm3] #============================================================================== SpeciesConc.template: '%y4%m2%d2_%h2%n2z.nc4', SpeciesConc.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} SpeciesConc.duration: ${RUNDIR_HIST_TIME_AVG_DUR} SpeciesConc.mode: 'time-averaged' SpeciesConc.fields: 'SpeciesConcVV_?ALL? ', #'SpeciesConcMND_?ALL? ', :: #============================================================================== # %%%%% THE Budget COLLECTION %%%%% # # GEOS-Chem budget diagnostics defined as species kg/s in the column # (full, troposphere, or PBL) due to a single component (e.g. chemistry) # (default = advected species) # # Available for all simulations #============================================================================== Budget.template: '%y4%m2%d2_%h2%n2z.nc4', Budget.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} Budget.duration: ${RUNDIR_HIST_TIME_AVG_DUR} Budget.mode: 'time-averaged' Budget.fields: 'BudgetEmisDryDepFull_?ADV? ', 'BudgetEmisDryDepTrop_?ADV? ', 'BudgetEmisDryDepPBL_?ADV? ', 'BudgetEmisDryDepLevs1to35_?ADV? ', 'BudgetChemistryFull_?ADV? ', 'BudgetChemistryTrop_?ADV? ', 'BudgetChemistryPBL_?ADV? ', 'BudgetChemistryLevs1to35_?ADV? ', 'BudgetTransportFull_?ADV? ', 'BudgetTransportTrop_?ADV? ', 'BudgetTransportPBL_?ADV? ', 'BudgetTransportLevs1to35_?ADV? ', 'BudgetMixingFull_?ADV? ', 'BudgetMixingTrop_?ADV? ', 'BudgetMixingPBL_?ADV? ', 'BudgetMixingLevs1to35_?ADV? ', 'BudgetConvectionFull_?ADV? ', 'BudgetConvectionTrop_?ADV? ', 'BudgetConvectionPBL_?ADV? ', 'BudgetConvectionLevs1to35_?ADV? ', 'BudgetWetDepFull_?WET? ', 'BudgetWetDepTrop_?WET? ', 'BudgetWetDepPBL_?WET? ', 'BudgetWetDepLevs1to35_?WET? ', :: #============================================================================== # %%%%% THE CloudConvFlux COLLECTION %%%%% # # Cloud convective flux (default = advected species) # CloudConvFlux.template: '%y4%m2%d2_%h2%n2z.nc4', CloudConvFlux.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} CloudConvFlux.duration: ${RUNDIR_HIST_TIME_AVG_DUR} CloudConvFlux.mode: 'time-averaged' CloudConvFlux.fields: 'CloudConvFlux_?ADV? ', :: #============================================================================== # %%%%% THE DryDep COLLECTION %%%%% # # Dry depositon fluxes and velocities (for all dry-depositing species) #============================================================================== DryDep.template: '%y4%m2%d2_%h2%n2z.nc4', DryDep.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} DryDep.duration: ${RUNDIR_HIST_TIME_AVG_DUR} DryDep.mode: 'time-averaged' DryDep.fields: 'DryDepVel_?DRY? ', 'DryDep_?DRY? ', #'DryDepChm_?DRY? ', #'DryDepMix_?DRY? ', :: #============================================================================== # %%%%% THE SatDiagn COLLECTION %%%%% # # GEOS-Chem data during satellite overpass #============================================================================== SatDiagn.template: '%y4%m2%d2_%h2%n2z.nc4', SatDiagn.format: 'CFIO', SatDiagn.frequency: 00000001 000000 SatDiagn.duration: 00000100 000000 SatDiagn.hrrange: 11.98 15.02 SatDiagn.mode: 'time-averaged' SatDiagn.fields: 'SatDiagnConc_AlF1 ', 'SatDiagnRH ', 'SatDiagnAirDen ', 'SatDiagnBoxHeight ', 'SatDiagnTROPP ', 'SatDiagnPBLHeight ', 'SatDiagnPBLTop ', 'SatDiagnPBLTOPL ', 'SatDiagnPMID ', 'SatDiagnMODISLAI ', 'SatDiagnWetLossLS_AlF1 ', 'SatDiagnWetLossConv_AlF1 ', 'SatDiagnDryDep_AlF1 ', 'SatDiagnDryDepVel_AlF1 ', 'SatDiagnColEmis_AlF1 ', 'SatDiagnSurfFlux_AlF1 ', :: #============================================================================== # %%%%% THE SatDiagnEdge COLLECTION %%%%% # # GEOS-Chem data (on level edges) during satellite overpass #============================================================================== SatDiagnEdge.template: '%y4%m2%d2_%h2%n2z.nc4', SatDiagnEdge.format: 'CFIO', SatDiagnEdge.frequency: 00000001 000000 SatDiagnEdge.duration: 00000100 000000 SatDiagnEdge.hrrange: 11.98 15.02 SatDiagnEdge.mode: 'time-averaged' SatDiagnEdge.fields: 'SatDiagnPEDGE ', :: #============================================================================== # %%%%% The StateMet COLLECTION %%%%% # # Fields of the State_Met object (also see the StateMetLevEdge collection) #============================================================================== StateMet.template: '%y4%m2%d2_%h2%n2z.nc4', StateMet.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} StateMet.duration: ${RUNDIR_HIST_TIME_AVG_DUR} StateMet.mode: 'time-averaged' StateMet.fields: 'Met_AD ', 'Met_AIRDEN ', 'Met_AIRVOL ', 'Met_ALBD ', 'Met_AVGW ', 'Met_BXHEIGHT ', 'Met_ChemGridLev ', 'Met_CLDF ', 'Met_CLDFRC ', 'Met_CLDTOPS ', 'Met_DELP ', 'Met_DQRCU ', 'Met_DQRLSAN ', 'Met_DTRAIN ', 'Met_EFLUX ', 'Met_FRCLND ', 'Met_FRLAKE ', 'Met_FRLAND ', 'Met_FRLANDICE ', 'Met_FROCEAN ', 'Met_FRSEAICE ', 'Met_FRSNOW ', 'Met_GWETROOT ', 'Met_GWETTOP ', 'Met_HFLUX ', 'Met_LAI ', 'Met_PARDR ', 'Met_PARDF ', 'Met_PBLTOPL ', 'Met_PBLH ', 'Met_PHIS ', 'Met_PMID ', 'Met_PMIDDRY ', 'Met_PRECANV ', 'Met_PRECCON ', 'Met_PRECLSC ', 'Met_PRECTOT ', 'Met_PS1DRY ', 'Met_PS1WET ', 'Met_PS2DRY ', 'Met_PS2WET ', 'Met_PSC2WET ', 'Met_PSC2DRY ', 'Met_QI ', 'Met_QL ', 'Met_OMEGA ', 'Met_OPTD ', 'Met_REEVAPCN ', 'Met_REEVAPLS ', 'Met_SLP ', 'Met_SNODP ', 'Met_SNOMAS ', 'Met_SPHU ', 'Met_SPHU1 ', 'Met_SPHU2 ', 'Met_SUNCOS ', 'Met_SUNCOSmid ', 'Met_SWGDN ', 'Met_T ', 'Met_TAUCLI ', 'Met_TAUCLW ', 'Met_THETA ', 'Met_TMPU1 ', 'Met_TMPU2 ', 'Met_TO3 ', 'Met_TropHt ', 'Met_TropLev ', 'Met_TropP ', 'Met_TS ', 'Met_TSKIN ', 'Met_TV ', 'Met_U ', 'Met_U10M ', 'Met_USTAR ', 'Met_UVALBEDO ', 'Met_V ', 'Met_V10M ', 'Met_Z0 ', :: #============================================================================== # %%%%% THE StateMetLevEdge COLLECTION %%%%% # # Diagnostics that are defined on grid box level edges #============================================================================== StateMetLevEdge.template: '%y4%m2%d2_%h2%n2z.nc4', StateMetLevEdge.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} StateMetLevEdge.duration: ${RUNDIR_HIST_TIME_AVG_DUR} StateMetLevEdge.mode: 'time-averaged' StateMetLevEdge.fields: 'Met_CMFMC ', 'Met_PEDGE ', 'Met_PEDGEDRY ', 'Met_PFICU ', 'Met_PFILSAN ', 'Met_PFLCU ', 'Met_PFLLSAN ', :: #============================================================================== # %%%%% THE WetLossConv COLLECTION %%%%% # # Loss of soluble species in convective updrafts #============================================================================== WetLossConv.template: '%y4%m2%d2_%h2%n2z.nc4', WetLossConv.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} WetLossConv.duration: ${RUNDIR_HIST_TIME_AVG_DUR} WetLossConv.mode: 'time-averaged' WetLossConv.fields: 'WetLossConv_?WET? ', 'WetLossConvFrac_?WET? ', :: #============================================================================== # %%%%% THE WetLossLS COLLECTION %%%%% # # Loss of soluble species in large-scale wetdep (i.e. rainout and washout) #============================================================================== # Loss due to rainout and washout (per deposited species) WetLossLS.template: '%y4%m2%d2_%h2%n2z.nc4', WetLossLS.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} WetLossLS.duration: ${RUNDIR_HIST_TIME_AVG_DUR} WetLossLS.mode: 'time-averaged' WetLossLS.fields: 'WetLossLS_?WET? ', :: #============================================================================== # %%%%% THE AdvFluxVert COLLECTION %%%%% # # Diagnostics for evaluating transport, including age of air [s] # # NOTE: Do not change the BoundaryConditions.frequency setting below, # because GEOS-Chem nested-grid simulations expect to read boundary # condition data at 3 hour intervals. #============================================================================== AdvFluxVert.template: '%y4%m2%d2_%h2%n2z.nc4', AdvFluxVert.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} AdvFluxVert.duration: ${RUNDIR_HIST_TIME_AVG_DUR} AdvFluxVert.mode: 'time-averaged' AdvFluxVert.fields: 'AdvFluxVert_?ADV? ', :: ================================================ FILE: run/GCClassic/HISTORY.rc.templates/HISTORY.rc.tagO3 ================================================ ############################################################################### ### HISTORY.rc file for GEOS-Chem tagged O3 specialty simulations ### ### Contact: GEOS-Chem Support Team (geos-chem-support@g.harvard.edu) ### ############################################################################### #============================================================================ # EXPID allows you to specify the beginning of the file path corresponding # to each diagnostic collection. For example: # # EXPID: ./GEOSChem # Will create netCDF files whose names begin "GEOSChem", # in this run directory. # # EXPID: ./OutputDir/GEOSChem # Will create netCDF files whose names begin with "GEOSChem" # in the OutputDir sub-folder of this run directory. # #============================================================================ EXPID: ./OutputDir/GEOSChem #============================================================================== # %%%%% COLLECTION NAME DECLARATIONS %%%%% # # To enable a collection, remove the "#" character in front of its name. The # Restart collection should always be turned on. # # NOTE: These are the "default" collections for GEOS-Chem, but you can create # your own customized diagnostic collections as well. #============================================================================== COLLECTIONS: 'Restart', 'SpeciesConc', #'Budget', #'CloudConvFlux', #'ConcAboveSfc', #'DryDep', #'ProdLoss', #'SatDiagn', #'SatDiagnEdge', #'StateMet', #'StateMetLevEdge', #'BoundaryConditions', :: ############################################################################### ### The rest of this file consists of collection definitions. ### ### Above collections whose declarations are commented out will be ignored. ### ### Make sure that each collection definition, as well as the list of ### ### collections above, ends with a double-colon ("::"). ### ############################################################################### #============================================================================== # %%%%% THE Restart COLLECTION %%%%% # # GEOS-Chem restart file fields #============================================================================== Restart.filename: './Restarts/GEOSChem.Restart.%y4%m2%d2_%h2%n2z.nc4', Restart.frequency: 'End', Restart.duration: 'End', Restart.mode: 'instantaneous' Restart.fields: 'SpeciesRst_?ALL? ', 'Met_DELPDRY ', 'Met_BXHEIGHT ', 'Met_TropLev ', :: #============================================================================== # %%%%% THE SpeciesConc COLLECTION %%%%% # # GEOS-Chem species concentrations (default = all species) # # Concentrations may be saved out as SpeciesConcVV [v/v dry air] or # SpeciesConcMND [molec/cm3] #============================================================================== SpeciesConc.template: '%y4%m2%d2_%h2%n2z.nc4', SpeciesConc.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} SpeciesConc.duration: ${RUNDIR_HIST_TIME_AVG_DUR} SpeciesConc.mode: 'time-averaged' SpeciesConc.fields: 'SpeciesConcVV_?ALL? ', #'SpeciesConcMND_?ALL? ', :: #============================================================================== # %%%%% THE Budget COLLECTION %%%%% # # GEOS-Chem budget diagnostics defined as species kg/s in the column # (full, troposphere, or PBL) due to a single component (e.g. chemistry) # (default = advected species) # # Available for all simulations #============================================================================== Budget.template: '%y4%m2%d2_%h2%n2z.nc4', Budget.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} Budget.duration: ${RUNDIR_HIST_TIME_AVG_DUR} Budget.mode: 'time-averaged' Budget.fields: 'BudgetEmisDryDepFull_?ADV? ', 'BudgetEmisDryDepTrop_?ADV? ', 'BudgetEmisDryDepPBL_?ADV? ', 'BudgetEmisDryDepLevs1to35_?ADV? ', 'BudgetChemistryFull_?ADV? ', 'BudgetChemistryTrop_?ADV? ', 'BudgetChemistryPBL_?ADV? ', 'BudgetChemistryLevs1to35_?ADV? ', 'BudgetTransportFull_?ADV? ', 'BudgetTransportTrop_?ADV? ', 'BudgetTransportPBL_?ADV? ', 'BudgetTransportLevs1to35_?ADV? ', 'BudgetMixingFull_?ADV? ', 'BudgetMixingTrop_?ADV? ', 'BudgetMixingPBL_?ADV? ', 'BudgetMixingLevs1to35_?ADV? ', 'BudgetConvectionFull_?ADV? ', 'BudgetConvectionTrop_?ADV? ', 'BudgetConvectionPBL_?ADV? ', 'BudgetConvectionLevs1to35_?ADV? ', :: #============================================================================== # %%%%% THE CloudConvFlux COLLECTION %%%%% # # Cloud convective flux (default = advected species) #============================================================================== CloudConvFlux.template: '%y4%m2%d2_%h2%n2z.nc4', CloudConvFlux.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} CloudConvFlux.duration: ${RUNDIR_HIST_TIME_AVG_DUR} CloudConvFlux.mode: 'time-averaged' CloudConvFlux.fields: 'CloudConvFlux_?ADV? ', :: #============================================================================== # %%%%% THE ConcAboveSfc COLLECTION %%%%% # # Concentrations of O3 species at a user-specified altitude above # the surface, such as 10m. Set the desired output altitude in meters # in the deposition settings in geoschem_config.yml. # # NOTES: # (1) This collection requires dry deposition to be turned on. # (2) All of the fields in the collection must be turned on. # (3) This collection is best used with mode "instantaneous". #============================================================================== ConcAboveSfc.template: '%y4%m2%d2_%h2%n2z.nc4', ConcAboveSfc.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} ConcAboveSfc.duration: ${RUNDIR_HIST_TIME_AVG_DUR} ConcAboveSfc.mode: 'instantaneous' ConcAboveSfc.fields: 'DryDepRaALT1 ', 'DryDepVelForALT1_?DRYALT? ', 'SpeciesConcALT1_?DRYALT? ', :: #============================================================================== # %%%%% THE DryDep COLLECTION %%%%% # # Dry depositon fluxes and velocities (for all dry-depositing species) #============================================================================== DryDep.template: '%y4%m2%d2_%h2%n2z.nc4', DryDep.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} DryDep.duration: ${RUNDIR_HIST_TIME_AVG_DUR} DryDep.mode: 'time-averaged' DryDep.fields: 'DryDepVel_?DRY? ', 'DryDep_?DRY? ', #'DryDepChm_?DRY? ', #'DryDepMix_?DRY? ', :: #============================================================================== # %%%%% THE ProdLoss COLLECTION %%%%% # # Chemical production and loss rates # # Available for full-chemistry, aerosol-only, and tagO3 simulations #============================================================================== ProdLoss.template: '%y4%m2%d2_%h2%n2z.nc4', ProdLoss.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} ProdLoss.duration: ${RUNDIR_HIST_TIME_AVG_DUR} ProdLoss.mode: 'time-averaged' ProdLoss.fields: 'Prod_?PRD? ', 'Loss_?LOS? ', :: #============================================================================== # %%%%% THE SatDiagn COLLECTION %%%%% # # GEOS-Chem data during satellite overpass #============================================================================== SatDiagn.template: '%y4%m2%d2_%h2%n2z.nc4', SatDiagn.format: 'CFIO', SatDiagn.frequency: 00000001 000000 SatDiagn.duration: 00000100 000000 SatDiagn.hrrange: 11.98 15.02 SatDiagn.mode: 'time-averaged' SatDiagn.fields: 'SatDiagnConc_O3 ', 'SatDiagnRH ', 'SatDiagnAirDen ', 'SatDiagnBoxHeight ', 'SatDiagnPEdge ', 'SatDiagnTROPP ', 'SatDiagnPBLHeight ', 'SatDiagnPBLTop ', 'SatDiagnPBLTOPL ', 'SatDiagnPMID ', 'SatDiagnMODISLAI ', 'SatDiagnDryDep_O3 ', 'SatDiagnDryDepVel_O3 ', 'SatDiagnColEmis_O3 ', 'SatDiagnSurfFlux_O3 ', :: #============================================================================== # %%%%% THE SatDiagnEdge COLLECTION %%%%% # # GEOS-Chem data (on level edges) during satellite overpass #============================================================================== SatDiagnEdge.template: '%y4%m2%d2_%h2%n2z.nc4', SatDiagnEdge.format: 'CFIO', SatDiagnEdge.frequency: 00000001 000000 SatDiagnEdge.duration: 00000100 000000 SatDiagnEdge.hrrange: 11.98 15.02 SatDiagnEdge.mode: 'time-averaged' SatDiagnEdge.fields: 'SatDiagnPEDGE ', :: #============================================================================== # %%%%% The StateMet COLLECTION %%%%% # # Fields of the State_Met object (also see the StateMetLevEdge collection) #============================================================================== StateMet.template: '%y4%m2%d2_%h2%n2z.nc4', StateMet.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} StateMet.duration: ${RUNDIR_HIST_TIME_AVG_DUR} StateMet.mode: 'time-averaged' StateMet.fields: 'Met_AD ', 'Met_AIRDEN ', 'Met_AIRVOL ', 'Met_ALBD ', 'Met_AVGW ', 'Met_BXHEIGHT ', 'Met_ChemGridLev ', 'Met_CLDF ', 'Met_CLDFRC ', 'Met_CLDTOPS ', 'Met_DELP ', 'Met_DQRCU ', 'Met_DQRLSAN ', 'Met_DTRAIN ', 'Met_EFLUX ', 'Met_FRCLND ', 'Met_FRLAKE ', 'Met_FRLAND ', 'Met_FRLANDICE ', 'Met_FROCEAN ', 'Met_FRSEAICE ', 'Met_FRSNOW ', 'Met_GWETROOT ', 'Met_GWETTOP ', 'Met_HFLUX ', 'Met_LAI ', 'Met_PARDR ', 'Met_PARDF ', 'Met_PBLTOPL ', 'Met_PBLH ', 'Met_PHIS ', 'Met_PMID ', 'Met_PMIDDRY ', 'Met_PRECANV ', 'Met_PRECCON ', 'Met_PRECLSC ', 'Met_PRECTOT ', 'Met_PS1DRY ', 'Met_PS1WET ', 'Met_PS2DRY ', 'Met_PS2WET ', 'Met_PSC2WET ', 'Met_PSC2DRY ', 'Met_QI ', 'Met_QL ', 'Met_OMEGA ', 'Met_OPTD ', 'Met_REEVAPCN ', 'Met_REEVAPLS ', 'Met_SLP ', 'Met_SNODP ', 'Met_SNOMAS ', 'Met_SPHU ', 'Met_SPHU1 ', 'Met_SPHU2 ', 'Met_SUNCOS ', 'Met_SUNCOSmid ', 'Met_SWGDN ', 'Met_T ', 'Met_TAUCLI ', 'Met_TAUCLW ', 'Met_THETA ', 'Met_TMPU1 ', 'Met_TMPU2 ', 'Met_TO3 ', 'Met_TropHt ', 'Met_TropLev ', 'Met_TropP ', 'Met_TS ', 'Met_TSKIN ', 'Met_TV ', 'Met_U ', 'Met_U10M ', 'Met_USTAR ', 'Met_UVALBEDO ', 'Met_V ', 'Met_V10M ', 'Met_Z0 ', :: #============================================================================== # %%%%% THE StateMetLevEdge COLLECTION %%%%% # # Diagnostics that are defined on grid box level edges #============================================================================== StateMetLevEdge.template: '%y4%m2%d2_%h2%n2z.nc4', StateMetLevEdge.frequency: ${RUNDIR_HIST_TIME_AVG_FREQ} StateMetLevEdge.duration: ${RUNDIR_HIST_TIME_AVG_DUR} StateMetLevEdge.mode: 'time-averaged' StateMetLevEdge.fields: 'Met_CMFMC ', 'Met_PEDGE ', 'Met_PEDGEDRY ', 'Met_PFICU ', 'Met_PFILSAN ', 'Met_PFLCU ', 'Met_PFLLSAN ', :: #============================================================================== # %%%%% THE BoundaryConditions COLLECTION %%%%% # # GEOS-Chem boundary conditions for use in nested grid simulations # # NOTE: Do not change the BoundaryConditions.frequency setting below, # because GEOS-Chem nested-grid simulations expect to read boundary # condition data at 3 hour intervals. #============================================================================== BoundaryConditions.template: '%y4%m2%d2_%h2%n2z.nc4', BoundaryConditions.frequency: 00000000 030000 BoundaryConditions.duration: 00000001 000000 BoundaryConditions.mode: 'instantaneous' BoundaryConditions.fields: 'SpeciesBC_?ADV? ', :: ================================================ FILE: run/GCClassic/README.md ================================================ # This run directory is for GEOS-Chem Classic. ## For instructions on setting up, compiling, and running GEOS-Chem Classic, see: - https://geos-chem.readthedocs.org ## For additional information about GEOS-Chem, see: - http://wiki.geos-chem.org - http://geos-chem.org ## For help with GEOS-Chem Classic, see: - https://geos-chem.readthedocs.io/en/latest/reference/SUPPORT.html - https://geos-chem.readthedocs.io/en/latest/reference/CONTRIBUTING.html ================================================ FILE: run/GCClassic/archiveRun.sh ================================================ #!/bin/bash # Script to archive files after a run. # # Argument: archive directory name (can be non-existent) # # Example usage: ./archiveRun.sh 1mon_24hrDiag # # All output files are copied, including output data (OutputDir/*.nc4), # log files (*.log, slurm-*), config files (*.rc, *.yml), # run files (*.run, *.env, setCommonRunSettings.sh), and restarts. # Files are stored in subdirectories within the archive directory. # # NOTE: Clean the run directory AFTER archiving with './cleanupRunDir.sh' # if you plan on doing another run. Otherwise previous run files will also # be archived if this script is called again. # Initial version: Lizzie Lundgren - 7/12/2018 # Customize this script as needed to best fit your workflow. # Check that directory name passed if [[ $# == 1 ]]; then archivedir=$1 else echo "Usage: ./archiveRun.sh {ArchiveDirName}" exit fi # Check that directory does not already exist if [ -d "${archivedir}" ]; then echo "Warning: Directory ${archivedir} already exists." echo "Remove or rename that directory, or choose a different name." exit 1 fi # Function to move files and subdirs in directory except if string match # ( arg1 : source, arg2 : target, arg3 : exclude string ) movefiles () { numMoved=0 for item in $1/*; do if [[ $(basename $item) == $3 ]]; then continue elif [[ -e $item ]]; then if [[ -d $item ]]; then echo " -> $2/$(basename $item)/" else echo " -> $2/$(basename $item)" fi mv $item $2 numMoved=$numMoved+1 fi done if [[ $numMoved == "0" ]]; then echo " Warning: No files to move from $1" fi } # Function to copy all files matching string (arg2) to directory (arg1) # ( arg1 : source, arg2 : target ) copyfiles () { for file in $1; do if [ -e $file ]; then echo " -> $2/$file" cp -rt $2 $file else echo " Warning: $file not found" fi done } # Make Archive directory echo "Archiving files to directory $1" mkdir -p ${archivedir} mkdir -p ${archivedir}/Logs # Copy files echo "Copying files..." copyfiles "*.yml" ${archivedir} copyfiles "*.rc" ${archivedir} copyfiles "*.run" ${archivedir} copyfiles "*.sh" ${archivedir} copyfiles "*.env" ${archivedir} copyfiles "*.log" ${archivedir}/Logs copyfiles "slurm-*" ${archivedir}/Logs copyfiles "build_info/" ${archivedir} copyfiles "BenchmarkResults/" ${archivedir} copyfiles "OutputDir/" ${archivedir} copyfiles "CreateRunDirLogs/" ${archivedir} printf "WARNING: Restart files are not archived. Copy manually if you would like to store restarts in the archive directory." printf "Complete!\n" exit 0 ================================================ FILE: run/GCClassic/createRunDir.sh ================================================ #!/bin/bash #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !MODULE: createRunDir.sh # # !DESCRIPTION: Creates a GEOS-Chem Classic run directory. #\\ #\\ # !CALLING SEQUENCE: # ./createRunDir.sh [rundirname] # # !REMARKS: # If optional run directory name argument is not passed then the user # will be prompted to enter a name interactively, or choose to use the # default name gc_{grid_display}_{met}_{sim_name}_{sim_extra_option}. # # !REVISION HISTORY: # Initial version: M. Sulprizio, 6/24/2020 (based off GCHP/createRunDir.sh) # See the subsequent Git history with the gitk browser! #------------------------------------------------------------------------------ #BOC # Directory with GEOS-Chem Classic rundir scripts (i.e. this dir) # Current directory srcrundir=$(pwd -P) cd ${srcrundir} # GEOS-Chem "science codebase" directory cd ../.. gcdir=$(pwd -P) # GCClassic "wrapper" directory cd ../../ wrapperdir=$(pwd -P) # Return to directory w/ GEOS-Chem Classic rundir scripts cd ${srcrundir} # Source common bash functions from scripts in the run/shared folder . ${gcdir}/run/shared/setupConfigFiles.sh # Config file editing . ${gcdir}/run/GCClassic/setupForRestarts.sh # Functions for restart files . ${gcdir}/run/shared/newUserRegistration.sh # 1st-time user registration . ${gcdir}/run/shared/singleCarbonSpecies.sh # Single carbon species setup # Initialize run directory variables RUNDIR_VARS="" RUNDIR_VARS+="RUNDIR_GC_MODE='GCClassic'\n" # Define separator lines thickline="\n===========================================================\n" thinline="\n-----------------------------------------------------------\n" printf "${thickline}GEOS-CHEM RUN DIRECTORY CREATION${thickline}" #----------------------------------------------------------------- # Export data root path in ~/.geoschem/config if file exists #----------------------------------------------------------------- if [[ -f ${HOME}/.geoschem/config ]]; then source ${HOME}/.geoschem/config if [[ ! -d ${GC_DATA_ROOT} ]]; then printf "\nWarning: Default root data directory does not exist!" printf "\nSet new path below or manually edit ${HOME}/.geoschem/config.\n" fi else printf "${thinline}Define path to ExtData." printf "\nThis will be stored in ${HOME}/.geoschem/config for future automatic use.${thinline}" mkdir -p ${HOME}/.geoschem fi #----------------------------------------------------------------- # One-time configuration of data root path in ~/.geoschem/config #----------------------------------------------------------------- if [[ -z "${GC_DATA_ROOT}" ]]; then printf "${thinline}Enter path for ExtData:${thinline}" valid_path=0 while [ "$valid_path" -eq 0 ]; do read -e -p "${USER_PROMPT}" extdata if [[ ${extdata} = "q" ]]; then printf "\nExiting.\n" exit 1 elif [[ ! -d ${extdata} ]]; then printf "\nERROR: ${extdata} does not exist. Enter a new path or hit q to quit.\n" else valid_path=1 echo "export GC_DATA_ROOT=${extdata}" >> ${HOME}/.geoschem/config source ${HOME}/.geoschem/config fi done fi RUNDIR_VARS+="RUNDIR_DATA_ROOT=$GC_DATA_ROOT\n" # -------------------------------------------------------------- # registration for first time users # -------------------------------------------------------------- [[ -z "${GC_USER_REGISTERED}" ]] && registerNewUser "gcc" #----------------------------------------------------------------- # Ask user to select simulation type #----------------------------------------------------------------- printf "${thinline}Choose simulation type:${thinline}" printf " 1. Full chemistry\n" printf " 2. Aerosols only\n" printf " 3. Carbon\n" printf " 4. Hg\n" printf " 5. POPs\n" printf " 6. Tagged O3\n" printf " 7. TransportTracers\n" printf " 8. Trace metals\n" valid_sim=0 while [ "${valid_sim}" -eq 0 ]; do read -p "${USER_PROMPT}" sim_num valid_sim=1 if [[ ${sim_num} = "1" ]]; then sim_name=fullchem elif [[ ${sim_num} = "2" ]]; then sim_name=aerosol elif [[ ${sim_num} = "3" ]]; then sim_name=carbon elif [[ ${sim_num} = "4" ]]; then sim_name=Hg elif [[ ${sim_num} = "5" ]]; then sim_name=POPs elif [[ ${sim_num} = "6" ]]; then sim_name=tagO3 elif [[ ${sim_num} = "7" ]]; then sim_name=TransportTracers elif [[ ${sim_num} = "8" ]]; then sim_name=metals else valid_sim=0 printf "Invalid simulation option. Try again.\n" fi done RUNDIR_VARS+="RUNDIR_SIM_NAME=$sim_name\n" #----------------------------------------------------------------- # Ask user to specify full-chemistry simulation options #----------------------------------------------------------------- sim_extra_option=none # Ask user to specify full chemistry simulation options if [[ ${sim_name} = "fullchem" ]]; then printf "${thinline}Choose additional simulation option:${thinline}" printf " 1. Standard\n" printf " 2. Benchmark\n" printf " 3. Complex SOA\n" printf " 4. Marine POA\n" printf " 5. Acid uptake on dust\n" printf " 6. TOMAS\n" printf " 7. APM\n" printf " 8. RRTMG\n" valid_sim_option=0 while [ "${valid_sim_option}" -eq 0 ]; do read -p "${USER_PROMPT}" sim_option valid_sim_option=1 if [[ ${sim_option} = "1" ]]; then sim_extra_option=none elif [[ ${sim_option} = "2" ]]; then sim_extra_option="benchmark" elif [[ ${sim_option} = "3" ]]; then printf "${thinline}Choose complex SOA option:${thinline}" printf " 1. Complex SOA\n" printf " 2. Complex SOA with semivolatile POA\n" valid_soa=0 while [ "${valid_soa}" -eq 0 ]; do read -p "${USER_PROMPT}" soa_option valid_soa=1 if [[ ${soa_option} = "1" ]]; then sim_extra_option="complexSOA" elif [[ ${soa_option} = "2" ]]; then sim_extra_option="complexSOA_SVPOA" else valid_soa=0 printf "Invalid complex SOA option.Try again.\n" fi done elif [[ ${sim_option} = "4" ]]; then sim_extra_option="marinePOA" elif [[ ${sim_option} = "5" ]]; then sim_extra_option="aciduptake" elif [[ ${sim_option} = "6" ]]; then printf "${thinline}Choose TOMAS option:${thinline}" printf " 1. TOMAS with 15 bins\n" printf " 2. TOMAS with 40 bins\n" valid_tomas=0 while [ "${valid_tomas}" -eq 0 ]; do read -p "${USER_PROMPT}" tomas_option valid_tomas=1 if [[ ${tomas_option} = "1" ]]; then sim_extra_option="TOMAS15" elif [[ ${tomas_option} = "2" ]]; then sim_extra_option="TOMAS40" else valid_tomas=0 printf "Invalid TOMAS option. Try again.\n" fi done elif [[ ${sim_option} = "7" ]]; then sim_extra_option="APM" elif [[ ${sim_option} = "8" ]]; then sim_extra_option="RRTMG" else valid_sim_option=0 printf "Invalid simulation option. Try again.\n" fi done # Currently no transport tracer extra options elif [[ ${sim_name} = "TransportTracers" ]]; then sim_extra_option=none # Ask user to specify POPs simulation options elif [[ ${sim_name} = "POPs" ]]; then printf "${thinline}Choose POPs type:${thinline}" printf " 1. BaP\n" printf " 2. PHE\n" printf " 3. PYR\n" valid_pops=0 while [ "${valid_pops}" -eq 0 ]; do read -p "${USER_PROMPT}" pops_num valid_pops=1 if [[ ${pops_num} = "1" ]]; then sim_extra_option="BaP" elif [[ ${pops_num} = "2" ]]; then sim_extra_option="PHE" elif [[ ${pops_num} = "3" ]]; then sim_extra_option="PYR" else valid_pops=0 printf "Invalid POPs type. Try again.\n" fi done # Ask user to specify carbon simulation options elif [[ "x${sim_name}" == "xcarbon" ]]; then printf "${thinline}Do you wish to use a single advected species?${thinline}" printf " 1. Use all species\n" printf " 2. Use CH4 only\n" printf " 3. Use CO2 only\n" printf " 4. Use CO only\n" printf " 5. Use OCS only\n" valid=0 while [ "${valid}" -eq 0 ]; do read -p "${USER_PROMPT}" prompt valid=1 if [[ "x${prompt}" == "x1" ]]; then sim_extra_option="none" elif [[ "x${prompt}" == "x2" ]]; then sim_extra_option="CH4" elif [[ "x${prompt}" == "x3" ]]; then sim_extra_option="CO2" elif [[ "x${prompt}" == "x4" ]]; then sim_extra_option="CO" elif [[ "x${prompt}" == "x5" ]]; then sim_extra_option="OCS" else valid=0 printf "Invalid selection. Try again.\n" fi done fi RUNDIR_VARS+="RUNDIR_SIM_EXTRA_OPTION=$sim_extra_option\n" # Determine settings based on simulation type SettingsDir="${gcdir}/run/shared/settings" if [[ ${sim_extra_option} == "BaP" ]]; then RUNDIR_VARS+="$(cat ${SettingsDir}/POPs_BaP.txt)\n" elif [[ ${sim_extra_option} == "PHE" ]]; then RUNDIR_VARS+="$(cat ${SettingsDir}/POPs_PHE.txt)\n" elif [[ ${sim_extra_option} == "PYR" ]]; then RUNDIR_VARS+="$(cat ${SettingsDir}/POPs_PYR.txt)\n" fi if [[ ${sim_extra_option} == "benchmark" ]] || \ [[ ${sim_extra_option} =~ "complexSOA" ]] || \ [[ ${sim_extra_option} == "APM" ]]; then RUNDIR_VARS+="RUNDIR_COMPLEX_SOA='true '\n" if [[ ${sim_extra_option} == "complexSOA_SVPOA" ]]; then RUNDIR_VARS+="RUNDIR_SVPOA='true '\n" else RUNDIR_VARS+="RUNDIR_SVPOA='false'\n" fi else RUNDIR_VARS+="RUNDIR_COMPLEX_SOA='false'\n" RUNDIR_VARS+="RUNDIR_SVPOA='false'\n" fi if [[ ${sim_extra_option} == "aciduptake" ]]; then RUNDIR_VARS+="RUNDIR_DUSTALK_EXT='on '\n" RUNDIR_VARS+="RUNDIR_ACID_UPTAKE='true '\n" else RUNDIR_VARS+="RUNDIR_DUSTALK_EXT='off'\n" RUNDIR_VARS+="RUNDIR_ACID_UPTAKE='false'\n" fi if [[ ${sim_extra_option} == "marinePOA" ]]; then RUNDIR_VARS+="RUNDIR_MARINE_POA='true '\n" else RUNDIR_VARS+="RUNDIR_MARINE_POA='false'\n" fi if [[ ${sim_extra_option} == "RRTMG" ]]; then RUNDIR_VARS+="RUNDIR_RRTMG_OPTS='true '\n" RUNDIR_VARS+="RUNDIR_USE_RRTMG='true '\n" else RUNDIR_VARS+="RUNDIR_RRTMG_OPTS='false'\n" RUNDIR_VARS+="RUNDIR_USE_RRTMG='false'\n" fi if [[ ${sim_extra_option} =~ "TOMAS" ]]; then RUNDIR_VARS+="RUNDIR_USE_NLPBL='false'\n" RUNDIR_VARS+="RUNDIR_USE_ONLINE_O3='false'\n" else RUNDIR_VARS+="RUNDIR_USE_NLPBL='true '\n" RUNDIR_VARS+="RUNDIR_USE_ONLINE_O3='true '\n" fi #----------------------------------------------------------------- # Ask user to select meteorology source #----------------------------------------------------------------- printf "${thinline}Choose meteorology source:${thinline}" printf " 1. MERRA-2 (Recommended)\n" printf " 2. GEOS-FP \n" printf " 3. GEOS-IT \n" printf " 4. GISS ModelE2.1 (GCAP 2.0)\n" valid_met=0 while [ "${valid_met}" -eq 0 ]; do read -p "${USER_PROMPT}" met_num valid_met=1 if [[ ${met_num} = "1" ]]; then met="merra2" shared_met_settings=${gcdir}/run/shared/settings/merra2.txt RUNDIR_VARS+="RUNDIR_MET_FIELD_CONFIG='HEMCO_Config.rc.gmao_metfields'\n" elif [[ ${met_num} = "2" ]]; then met="geosfp" shared_met_settings=${gcdir}/run/shared/settings/geosfp/geosfp.nonadv_preprocessed_ll.txt RUNDIR_VARS+="RUNDIR_MET_FIELD_CONFIG='HEMCO_Config.rc.gmao_metfields'\n" # Print warning about GEOS-FP and require user to acknowledge it. fp_msg="WARNING: The convection scheme used to generate archived GEOS-FP meteorology \nfiles changed from RAS to Grell-Freitas starting June 1 2020 with impact on \nvertical transport. Discussion and analysis of the impact is available at \ngithub.com/geoschem/geos-chem/issues/1409. To fix this issue, different GEOS-Chem \nconvection schemes are called based on simulation start time. This ensures \ncomparability in GEOS-Chem runs using GEOS-FP fields generated using the RAS \nconvection scheme and fields generated using Grell-Freitas, but only if the \nsimulation does not cross the June 1 2020 boundary. We therefore recommend \nsplitting up GEOS-FP runs in time such that a single simulation does not span \nthis date. For example, configure one run to end on June 1 2020 and then use \nits output restart to start another run on June 1. Alternatively consider using \nMERRA2 which was entirely generated with RAS, or GEOS-IT which was entirely \ngenerated with Grell-Freitas. If you wish to use a GEOS-FP meteorology year \ndifferent from your simulation year please create a GEOS-Chem GitHub issue for \nassistance to avoid accidentally using zero convective precipitation flux.\n" printf "\n${fp_msg}\n" printf "This warning will be printed to run directory file warnings.txt.\n" printf "${thinline}Enter y to acknowledge and proceed, or q to quit:${thinline}" valid_fp_accept=0 while [ "${valid_fp_accept}" -eq 0 ]; do read -p "${USER_PROMPT}" fp_accept valid_fp_accept=1 if [[ ${fp_accept} = "y" ]]; then x=0 elif [[ ${fp_accept} = "q" ]]; then exit else valid_fp_accept=0 printf "Invalid option. Try again.\n" fi done elif [[ ${met_num} = "3" ]]; then met="geosit" shared_met_settings=${gcdir}/run/shared/settings/geosit/geosit.preprocessed_ll.txt RUNDIR_VARS+="RUNDIR_MET_FIELD_CONFIG='HEMCO_Config.rc.gmao_metfields'\n" elif [[ ${met_num} = "4" ]]; then met="ModelE2.1" shared_met_settings=${gcdir}/run/shared/settings/modele2.1.txt RUNDIR_VARS+="RUNDIR_MET_FIELD_CONFIG='HEMCO_Config.rc.gcap2_metfields'\n" else valid_met=0 printf "Invalid meteorology option. Try again.\n" fi done if [[ ${met} = "ModelE2.1" ]]; then printf "${thinline}Choose scenario (presently available years in parentheses):${thinline}" printf " 1. Historical (1851-1860; 2001-2014)\n" printf " 2. Historical nudged to MERRA-2 (2001-2014)\n" printf " 3. SSP1-1.9 (2040-2049; 2090-2099)\n" printf " 4. SSP1-2.6 (2040-2049; 2090-2099)\n" printf " 5. SSP4-3.4 (2040-2049; 2090-2099)\n" printf " 6. SSP2-4.5 (2040-2049; 2090-2099)\n" printf " 7. SSP4-6.0 (2040-2049; 2090-2099)\n" printf " 8. SSP3-7.0 (2040-2049; 2090-2099)\n" printf " 9. SSP5-8.5 (2040-2049; 2090-2099)\n" valid_scen=0 while [ "${valid_scen}" -eq 0 ]; do read -p "${USER_PROMPT}" scen_num valid_scen=1 if [[ ${scen_num} = "1" ]]; then scenario="HIST" runid="E213f10aF40oQ40" gissres="F40" vertres="40L" RUNDIR_VARS+="RUNDIR_MET_AVAIL='# 1851-1860; 2001-2014'\n" elif [[ ${scen_num} = "2" ]]; then scenario="HIST" runid="E213f10aF40oQ40nudge" gissres="F40" vertres="40L" RUNDIR_VARS+="RUNDIR_MET_AVAIL='# 2001-2014'\n" elif [[ ${scen_num} = "3" ]]; then scenario="SSP119" runid="E213SSP119aF40oQ40" gissres="F40" vertres="40L" RUNDIR_VARS+="RUNDIR_MET_AVAIL='# 2040-2049; 2090-2099'\n" elif [[ ${scen_num} = "4" ]]; then scenario="SSP126" runid="E213SSP126aF40oQ40" gissres="F40" vertres="40L" RUNDIR_VARS+="RUNDIR_MET_AVAIL='# 2040-2049; 2090-2099'\n" elif [[ ${scen_num} = "5" ]]; then scenario="SSP434" runid="E213SSP434aF40oQ40" gissres="F40" vertres="40L" RUNDIR_VARS+="RUNDIR_MET_AVAIL='# 2040-2049; 2090-2099'\n" elif [[ ${scen_num} = "6" ]]; then scenario="SSP245" runid="E213SSP245aF40oQ40" gissres="F40" vertres="40L" RUNDIR_VARS+="RUNDIR_MET_AVAIL='# 2040-2049; 2090-2099'\n" elif [[ ${scen_num} = "7" ]]; then scenario="SSP460" runid="E213SSP460aF40oQ40" gissres="F40" vertres="40L" RUNDIR_VARS+="RUNDIR_MET_AVAIL='# 2040-2049; 2090-2099'\n" elif [[ ${scen_num} = "8" ]]; then scenario="SSP370" runid="E213SSP370aF40oQ40" gissres="F40" vertres="40L" RUNDIR_VARS+="RUNDIR_MET_AVAIL='# 2040-2049; 2090-2099'\n" elif [[ ${scen_num} = "9" ]]; then scenario="SSP585" runid="E213SSP585aF40oQ40" gissres="F40" vertres="40L" RUNDIR_VARS+="RUNDIR_MET_AVAIL='# 2040-2049; 2090-2099'\n" else valid_scen=0 printf "Invalid GCAP 2.0 scenario. Try again.\n" fi RUNDIR_VARS+="RUNDIR_GCAP2_SCENARIO='$scenario'\n" RUNDIR_VARS+="RUNDIR_GISS_RES='$gissres'\n" RUNDIR_VARS+="RUNDIR_GCAP2_VERTRES='$vertres'\n" RUNDIR_VARS+="RUNDIR_GCAP2_RUNID='$runid'\n" done RUNDIR_VARS+="RUNDIR_USE_AEIC='false'\n" # Define the volcano paths for the HEMCO_Config.rc file # NOTE: Benchmark simulations always use the climatological emissions! if [[ "x${sim_name}" == "xfullchem" ]] || \ [[ "x${sim_name}" == "xaerosol" ]]; then RUNDIR_VARS+="RUNDIR_VOLC_CLIMATOLOGY='\$ROOT/VOLCANO/v2024-04/so2_volcanic_emissions_CARN_v202401.degassing_only.rc'\n" if [[ "x${sim_extra_option}" == "xbenchmark" ]]; then RUNDIR_VARS+="RUNDIR_VOLC_TABLE='\$ROOT/VOLCANO/v2024-04/so2_volcanic_emissions_CARN_v202401.degassing_only.rc'\n" else RUNDIR_VARS+="RUNDIR_VOLC_TABLE='\$ROOT/VOLCANO/v2024-04/\$YYYY/\$MM/so2_volcanic_emissions_Carns.\$YYYY\$MM\$DD.rc'\n" fi fi else RUNDIR_VARS+="RUNDIR_GCAP2_SCENARIO='not_used'\n" RUNDIR_VARS+="RUNDIR_GISS_RES='not_used'\n" RUNDIR_VARS+="RUNDIR_GCAP2_VERTRES='not_used'\n" RUNDIR_VARS+="RUNDIR_GCAP2_RUNID='not_used'\n" RUNDIR_VARS+="RUNDIR_MET_AVAIL='# 1980-2021'\n" RUNDIR_VARS+="RUNDIR_USE_AEIC='true'\n" # Define the volcano paths for the HEMCO_Config.rc file # NOTE: Benchmark simulations always use the climatological emissions! if [[ "x${sim_name}" == "xfullchem" ]] || \ [[ "x${sim_name}" == "xaerosol" ]]; then RUNDIR_VARS+="RUNDIR_VOLC_CLIMATOLOGY='\$ROOT/VOLCANO/v2024-04/so2_volcanic_emissions_CARN_v202401.degassing_only.rc'\n" if [[ "x${sim_extra_option}" == "xbenchmark" ]]; then RUNDIR_VARS+="RUNDIR_VOLC_TABLE='\$ROOT/VOLCANO/v2024-04/so2_volcanic_emissions_CARN_v202401.degassing_only.rc'\n" else RUNDIR_VARS+="RUNDIR_VOLC_TABLE='\$ROOT/VOLCANO/v2024-04/\$YYYY/\$MM/so2_volcanic_emissions_Carns.\$YYYY\$MM\$DD.rc'\n" fi fi fi # Turn off MEGAN for the aerosol-only simulation if [[ "x${sim_name}" == "xaerosol" ]]; then RUNDIR_VARS+="RUNDIR_MEGAN_EXT='off'\n" fi #----------------------------------------------------------------- # Ask user to select horizontal resolution #----------------------------------------------------------------- printf "${thinline}Choose horizontal resolution:${thinline}" if [[ "x${met}" == "xModelE2.1" || "x${met}" == "xModelE2.2" ]]; then printf " 1. 4.0 x 5.0 *\n" printf " 2. 2.0 x 2.5\n" printf " 3. 0.5 x 0.625 *\n" printf " 4. 0.25 x 0.3125 *${thinline}" printf " \n* Will be interpolated online via FlexGrid from native 2.0 x 2.5 resolution\n" elif [[ ${met} = "geosit" ]]; then printf " 1. 4.0 x 5.0\n" printf " 2. 2.0 x 2.5\n" if [[ "${sim_name}" = "TransportTracers" ]]; then printf " 3. 0.5 x 0.625\n" fi else printf " 1. 4.0 x 5.0\n" printf " 2. 2.0 x 2.5\n" printf " 3. 0.5 x 0.625\n" if [[ "x${met}" == "xgeosfp" ]]; then printf " 4. 0.25 x 0.3125\n" printf " 5. 0.125 x 0.15625\n" fi fi valid_res=0 while [ "${valid_res}" -eq 0 ]; do read -p "${USER_PROMPT}" res_num valid_res=1 if [[ "x${res_num}" == "x1" ]]; then grid_res='4x5' RUNDIR_VARS+="$(cat ${gcdir}/run/shared/settings/4x5.txt)\n" elif [[ "x${res_num}" == "x2" ]]; then grid_res='2x25' RUNDIR_VARS+="$(cat ${gcdir}/run/shared/settings/2x25.txt)\n" elif [[ "x${res_num}" == "x3" ]]; then grid_res='05x0625' grid_res_long='0.5x0.625' RUNDIR_VARS+="$(cat ${gcdir}/run/shared/settings/05x0625.txt)\n" elif [[ "x${met}" == "xgeosfp" ]] && [[ "x${res_num}" == "x4" ]]; then grid_res='025x03125' grid_res_long='0.25x0.3125' RUNDIR_VARS+="$(cat ${gcdir}/run/shared/settings/025x03125.txt)\n" elif [[ "x${met}" == "xgeosfp" ]] && [[ "x${res_num}" == "x5" ]]; then grid_res='0125x015625' grid_res_long='0.125x0.15625' RUNDIR_VARS+="$(cat ${gcdir}/run/shared/settings/0125x015625.txt)\n" RUNDIR_VARS+="RUNDIR_MET_FIELD_CONFIG='HEMCO_Config.rc.gmao_metfields_0125'\n" else valid_res=0 printf "Invalid horizontal resolution option.\n" printf "Please make another selection.\n" fi done if [[ "${met}" != "geosit" ]] && [[ "${grid_res}" = "05x0625" || "${grid_res}" = "025x03125" ]] || [[ ${grid_res} = "0125x015625" ]]; then printf "${thinline}Choose horizontal grid domain:${thinline}" printf " 1. Global\n" printf " 2. Asia\n" printf " 3. Europe\n" printf " 4. North America\n" if [[ "${grid_res}" = "025x03125" ]] || [[ ${grid_res} = "0125x015625" ]]; then printf " 5. South America\n" printf " 6. Africa\n" fi if [[ "${grid_res}" = "025x03125" ]]; then printf " 7. Middle East\n" printf " 8. Oceania\n" printf " 9. Russia\n" fi valid_domain=0 while [ "${valid_domain}" -eq 0 ]; do read -p "${USER_PROMPT}" domain_num valid_domain=1 if [[ ${domain_num} = "1" ]]; then RUNDIR_VARS+="$(cat ${gcdir}/run/shared/settings/global_grid.txt)\n" RUNDIR_VARS+="RUNDIR_GRID_HALF_POLAR='true '\n" nested_sim="F" else RUNDIR_VARS+="$(cat ${gcdir}/run/shared/settings/nested_grid.txt)\n" nested_sim="T" # Asia if [[ ${domain_num} = "2" ]]; then RUNDIR_VARS+="RUNDIR_GRID_DOMAIN_NAME='AS'\n" grid_nest="AS" if [[ ${grid_res} = "05x0625" ]]; then RUNDIR_VARS+="RUNDIR_GRID_LON_RANGE='[ 60.0, 150.0]'\n" RUNDIR_VARS+="RUNDIR_GRID_LAT_RANGE='[-11.0, 55.0]'\n" elif [[ ${grid_res} = "025x03125" ]] || [[ ${grid_res} = "0125x015625" ]]; then RUNDIR_VARS+="RUNDIR_GRID_LON_RANGE='[ 70.0, 140.0]'\n" RUNDIR_VARS+="RUNDIR_GRID_LAT_RANGE='[ 15.0, 55.0]'\n" fi # Europe elif [[ ${domain_num} = "3" ]]; then RUNDIR_VARS+="RUNDIR_GRID_DOMAIN_NAME='EU'\n" grid_nest="EU" if [[ ${grid_res} = "05x0625" ]]; then RUNDIR_VARS+="RUNDIR_GRID_LON_RANGE='[-30.0, 50.0]'\n" RUNDIR_VARS+="RUNDIR_GRID_LAT_RANGE='[ 30.0, 70.0]'\n" elif [[ ${grid_res} = "025x03125" ]] || [[ ${grid_res} = "0125x015625" ]]; then RUNDIR_VARS+="RUNDIR_GRID_LON_RANGE='[-15.0, 40.0 ]'\n" RUNDIR_VARS+="RUNDIR_GRID_LAT_RANGE='[ 32.75, 61.25]'\n" fi # North America elif [[ ${domain_num} = "4" ]]; then RUNDIR_VARS+="RUNDIR_GRID_DOMAIN_NAME='NA'\n" grid_nest="NA" if [[ ${grid_res} = "05x0625" ]]; then RUNDIR_VARS+="RUNDIR_GRID_LON_RANGE='[-140.0, -40.0]'\n" RUNDIR_VARS+="RUNDIR_GRID_LAT_RANGE='[ 10.0, 70.0]'\n" elif [[ ${grid_res} = "025x03125" ]] || [[ ${grid_res} = "0125x015625" ]]; then RUNDIR_VARS+="RUNDIR_GRID_LON_RANGE='[-130.0, -60.0]'\n" RUNDIR_VARS+="RUNDIR_GRID_LAT_RANGE='[ 9.75, 60.0]'\n" fi # South America (0.25 and 0.125 resolutions only) elif [[ ${grid_res} = "025x03125" ]] || [[ ${grid_res} = "0125x015625" ]] && [[ ${domain_num} = "5" ]]; then grid_nest="SA" RUNDIR_VARS+="RUNDIR_GRID_DOMAIN_NAME='SA'\n" RUNDIR_VARS+="RUNDIR_GRID_LON_RANGE='[-87.8125, -31.25]'\n" RUNDIR_VARS+="RUNDIR_GRID_LAT_RANGE='[-59.0, 16.0]'\n" # Africa (0.25 and 0.125 resolutions only) elif [[ ${grid_res} = "025x03125" ]] || [[ ${grid_res} = "0125x015625" ]] && [[ ${domain_num} = "6" ]]; then grid_nest="AF" RUNDIR_VARS+="RUNDIR_GRID_DOMAIN_NAME='AF'\n" RUNDIR_VARS+="RUNDIR_GRID_LON_RANGE='[-20.0, 52.8125]'\n" RUNDIR_VARS+="RUNDIR_GRID_LAT_RANGE='[-37.0, 40.0]'\n" # Middle East (0.25 resolution only) elif [[ ${grid_res} = "025x03125" ]] && [[ ${domain_num} = "7" ]]; then grid_nest="ME" RUNDIR_VARS+="RUNDIR_GRID_DOMAIN_NAME='ME'\n" RUNDIR_VARS+="RUNDIR_GRID_LON_RANGE='[-20.0, 70.0]'\n" RUNDIR_VARS+="RUNDIR_GRID_LAT_RANGE='[ 12.0, 44.0]'\n" # Oceania (0.25 resolution only) elif [[ ${grid_res} = "025x03125" ]] && [[ ${domain_num} = "8" ]]; then grid_nest="OC" RUNDIR_VARS+="RUNDIR_GRID_DOMAIN_NAME='OC'\n" RUNDIR_VARS+="RUNDIR_GRID_LON_RANGE='[110.0, 180.0]'\n" RUNDIR_VARS+="RUNDIR_GRID_LAT_RANGE='[-50.0, 5.0]'\n" # Russia (0.25 resolution only) elif [[ ${grid_res} = "025x03125" ]] && [[ ${domain_num} = "9" ]]; then grid_nest="RU" RUNDIR_VARS+="RUNDIR_GRID_DOMAIN_NAME='RU'\n" RUNDIR_VARS+="RUNDIR_GRID_LON_RANGE='[20.0, 180.0]'\n" RUNDIR_VARS+="RUNDIR_GRID_LAT_RANGE='[41.0, 83.0]'\n" else valid_domain=0 printf "Invalid horizontal grid domain option. Try again.\n" fi fi done else RUNDIR_VARS+="$(cat ${gcdir}/run/shared/settings/global_grid.txt)\n" if [[ ${met} = "ModelE2.1" ]] || [[ ${met} = "ModelE2.2" ]]; then if [[ "$grid_res" == "4x5" ]]; then RUNDIR_VARS+="RUNDIR_GRID_HALF_POLAR='true '\n" else RUNDIR_VARS+="RUNDIR_GRID_HALF_POLAR='false'\n" fi else RUNDIR_VARS+="RUNDIR_GRID_HALF_POLAR='true '\n" fi fi RUNDIR_VARS+="$(cat ${shared_met_settings})\n" # shared_met_settings needs to be included after RUNDIR_GRID_DIR is defined # Set timesteps according to grid resolution if [[ ${grid_res} = "05x0625" ]] || [[ ${grid_res} = "025x03125" ]]; then RUNDIR_VARS+="RUNDIR_TRANSPORT_TS='300'\n" RUNDIR_VARS+="RUNDIR_CHEMISTRY_TS='600'\n" elif [[ ${grid_res} = "0125x015625" ]]; then RUNDIR_VARS+="RUNDIR_TRANSPORT_TS='150'\n" RUNDIR_VARS+="RUNDIR_CHEMISTRY_TS='300'\n" else if [[ ${sim_extra_option} =~ "TOMAS" ]]; then RUNDIR_VARS+="RUNDIR_TRANSPORT_TS='1800'\n" RUNDIR_VARS+="RUNDIR_CHEMISTRY_TS='3600'\n" else RUNDIR_VARS+="RUNDIR_TRANSPORT_TS='600'\n" RUNDIR_VARS+="RUNDIR_CHEMISTRY_TS='1200'\n" fi fi #----------------------------------------------------------------- # Is International Date Line an edge or midpoint? #----------------------------------------------------------------- if [[ ${met} = "ModelE2.1" ]] || [[ ${met} = "ModelE2.2" ]] ; then if [[ "$grid_res" == "2x25" ]]; then # Native GISS fine resolution RUNDIR_VARS+="RUNDIR_CENTER_LON_180='false'\n" else # FlexGrid re-gridded resolutions RUNDIR_VARS+="RUNDIR_CENTER_LON_180='true '\n" fi else # All GMAO products RUNDIR_VARS+="RUNDIR_CENTER_LON_180='true '\n" fi #---------------------------------------------------------------------------- # Horizontal resolution-dependent settings: Dust tuning #---------------------------------------------------------------------------- if [[ ${met} = "ModelE2.1" ]]; then # ----------------------------------------------------------------------- # If using GCAP / ModelE2.1 meteorology fields: # # Current scale factors are based on U10 and V10, while the latest # implementation of DEAD is using USTAR. This may cause 10 times # larger dust emissions than if properly scaled. # # TODO: The dust tuning factors will need to be rescaled # for the ModelE2.1 meteorology, as we are retiring DustDead. # ---------------------------------------------------------------------- if [[ "$runid" == "E213f10aF40oQ40nudge" ]]; then if [[ "$grid_res" == "4x5" ]]; then RUNDIR_VARS+="RUNDIR_DUSTDEAD_TF='0.00474046'\n" elif [[ "$grid_res" == "2x25" ]]; then RUNDIR_VARS+="RUNDIR_DUSTDEAD_TF='0.00243979'\n" elif [[ "$grid_res" == "05x0625" ]]; then RUNDIR_VARS+="RUNDIR_DUSTDEAD_TF='0.00276896'\n" elif [[ "$grid_res" == "025x03125" ]]; then RUNDIR_VARS+="RUNDIR_DUSTDEAD_TF='0.00254319'\n" else RUNDIR_VARS+="RUNDIR_DUSTDEAD_TF='-999.0e0'\n" fi else if [[ "$grid_res" == "4x5" ]]; then RUNDIR_VARS+="RUNDIR_DUSTDEAD_TF='0.03564873'\n" elif [[ "$grid_res" == "2x25" ]]; then RUNDIR_VARS+="RUNDIR_DUSTDEAD_TF='0.01050036'\n" elif [[ "$grid_res" == "05x0625" ]]; then RUNDIR_VARS+="RUNDIR_DUSTDEAD_TF='0.01340854'\n" elif [[ "$grid_res" == "025x03125" ]]; then RUNDIR_VARS+="RUNDIR_DUSTDEAD_TF='0.01066495'\n" else RUNDIR_VARS+="RUNDIR_DUSTDEAD_TF='-999.0e0'\n" fi fi else #------------------------------------------------------------------------ # If using NASA GMAO meteorology fields: #------------------------------------------------------------------------ RUNDIR_VARS+="RUNDIR_GISS_RES='not_used'\n" if [[ "x${sim_name}" == "xfullchem" || \ "x${sim_name}" == "xaerosol" ]]; then if [[ "x${sim_extra_option}" == "xTOMAS15" || \ "x${sim_extra_option}" == "xTOMAS40" ]]; then #------------------------------------------------------------- # TOMAS simulations use the HEMCO TOMAS_DustDead extension. # Use the scaling factors previously computed for the # DustDead extension here. #------------------------------------------------------------- RUNDIR_VARS+="RUNDIR_DUSTL23M_TF='-999.0e0'\n" # GEOS-FP if [[ "x${met}" == "xgeosfp" ]]; then if [[ "x${grid_res}" == "x4x5" ]]; then RUNDIR_VARS+="RUNDIR_DUSTDEAD_TF='4.8632e-5'\n" elif [[ "x${grid_res}" == "x2x25" ]]; then RUNDIR_VARS+="RUNDIR_DUSTDEAD_TF='3.8197e-5'\n" else RUNDIR_VARS+="RUNDIR_DUSTDEAD_TF='-999.0e0'\n" fi # GEOS-IT elif [[ "x${met}" == "xgeosit" ]]; then if [[ "x${grid_res}" == "x4x5" ]]; then RUNDIR_VARS+="RUNDIR_DUSTDEAD_TF='3.8656e-5'\n" elif [[ "x${grid_res}" == "x2x25" ]]; then RUNDIR_VARS+="RUNDIR_DUSTDEAD_TF='3.1132e-5'\n" else RUNDIR_VARS+="RUNDIR_DUSTDEAD_TF='-999.0e0'\n" fi # MERRA-2 elif [[ "x${met}" == "xmerra2" ]]; then if [[ "x${grid_res}" == "x4x5" ]]; then RUNDIR_VARS+="RUNDIR_DUSTDEAD_TF='5.6659e-5'\n" elif [[ "x${grid_res}" == "x2x25" ]]; then RUNDIR_VARS+="RUNDIR_DUSTDEAD_TF='4.5412e-5'\n" else RUNDIR_VARS+="RUNDIR_DUSTDEAD_TF='-999.0e0'\n" fi # Other met fields have no tuning factors defined yet else RUNDIR_VARS+="RUNDIR_DUSTDEAD_TF='-999.0e0'\n" fi else #------------------------------------------------------------- # Fullchem simulations (non-TOMAS) and aerosol-only simulations # use the HEMCO DustL23M extension. Dandan Zhang (@1Dandan) # has computed mass tuning factors for each combination of # met fields and horizontal resolution. For more info, see: # https://github.com/geoschem/geos-chem/pull/2946#issuecomment-3304249852 #------------------------------------------------------------- # The DustDead extension is not used, set a missing value RUNDIR_VARS+="RUNDIR_DUSTDEAD_TF='-999.0e0'\n" # GEOS-FP if [[ "x${met}" == "xgeosfp" ]]; then if [[ "x${grid_res}" == "x4x5" ]]; then RUNDIR_VARS+="RUNDIR_DUSTL23M_TF='8.830E-03'\n" elif [[ "x${grid_res}" == "x2x25" ]]; then RUNDIR_VARS+="RUNDIR_DUSTL23M_TF='4.862E-03'\n" elif [[ "x${grid_res}" == "x025x03125" ]]; then RUNDIR_VARS+="RUNDIR_DUSTL23M_TF='2.832E-03'\n" fi # GEOS-IT elif [[ "x${met}" == "xgeosit" ]]; then if [[ "x${grid_res}" == "x4x5" ]]; then RUNDIR_VARS+="RUNDIR_DUSTL23M_TF='6.639E-03'\n" elif [[ "x${grid_res}" == "x2x25" ]]; then RUNDIR_VARS+="RUNDIR_DUSTL23M_TF='3.662E-03'\n" elif [[ "x${grid_res}" == "x05x0625" ]]; then RUNDIR_VARS+="RUNDIR_DUSTL23M_TF='2.411E-03'\n" fi # MERRA-2 elif [[ "x${met}" == "xmerra2" ]]; then if [[ "x${grid_res}" == "x4x5" ]]; then RUNDIR_VARS+="RUNDIR_DUSTL23M_TF='1.047E-02'\n" elif [[ "x${grid_res}" == "x2x25" ]]; then RUNDIR_VARS+="RUNDIR_DUSTL23M_TF='5.750E-03'\n" elif [[ "x${grid_res}" == "x05x0625" ]]; then RUNDIR_VARS+="RUNDIR_DUSTL23M_TF='3.758E-03'\n" fi # Other met fields have no tuning factors defined yet else RUNDIR_VARS+="RUNDIR_DUSTL23M_TF='-999.0e0'\n" fi fi else #-------------------------------------------------------------------- # Simulations other than fullchem/aerosol do not use dust, # so set missing values for the tuning factors #-------------------------------------------------------------------- RUNDIR_VARS+="RUNDIR_DUSTDEAD_TF='-999.0e0'\n" RUNDIR_VARS+="RUNDIR_DUSTL23M_TF='-999.0e0'\n" fi fi #----------------------------------------------------------------- # Ask user to select vertical resolution #----------------------------------------------------------------- printf "${thinline}Choose number of levels:${thinline}" if [[ ${met} = "geosfp" ]] || [[ ${met} = "merra2" || ${met} = "geosit" ]]; then printf " 1. 72 (native)\n" printf " 2. 47 (reduced)\n" grid_lev="" valid_lev=0 while [ "${valid_lev}" -eq 0 ]; do read -p "${USER_PROMPT}" lev_num valid_lev=1 if [[ ${lev_num} = "1" ]]; then RUNDIR_VARS+="RUNDIR_GRID_NLEV='72'\n" elif [[ ${lev_num} = "2" ]]; then grid_lev="47L" RUNDIR_VARS+="RUNDIR_GRID_NLEV='47'\n" else valid_lev=0 printf "Invalid vertical resolution option. Try again.\n" fi done fi if [[ ${met} = "ModelE2.1" ]]; then printf " 1. 40 (native)\n" valid_lev=0 while [ "${valid_lev}" -eq 0 ]; do read -p "${USER_PROMPT}" lev_num valid_lev=1 if [[ ${lev_num} = "1" ]]; then RUNDIR_VARS+="RUNDIR_GRID_NLEV='40'\n" else valid_lev=0 printf "Invalid vertical resolution option. Try again.\n" fi done fi if [[ ${met} = "ModelE2.2" ]]; then printf " 1. 102 (native)\n" printf " 2. 74 (reduced)\n" valid_lev=0 while [ "${valid_lev}" -eq 0 ]; do read -p "${USER_PROMPT}" lev_num valid_lev=1 if [[ ${lev_num} = "1" ]]; then RUNDIR_VARS+="RUNDIR_GRID_NLEV='102'\n" elif [[ ${lev_num} = "2" ]]; then RUNDIR_VARS+="RUNDIR_GRID_NLEV='74'\n" else valid_lev=0 printf "Invalid vertical resolution option. Try again.\n" fi done fi #----------------------------------------------------------------- # Ask user to define path where directory will be created #----------------------------------------------------------------- printf "${thinline}Enter path where the run directory will be created:${thinline}" valid_path=0 while [ "$valid_path" -eq 0 ]; do read -e -p "${USER_PROMPT}" rundir_path # Test for quitting if [[ "x${rundir_path}" == "xq" ]]; then printf "\nExiting.\n" exit 1 fi # Expand $rundir_path to an absolute path. # Also replace ~ with $HOME. rundir_path="${rundir_path/#\~/$HOME}" rundir_path=$(realpath "${rundir_path}") echo "Expanding to ${rundir_path}" # If this is just a new directory within an existing one, # give the user the option to proceed if [[ ! -d ${rundir_path} ]]; then if [[ -d $(dirname ${rundir_path} ) ]]; then printf "\nWarning: ${rundir_path} does not exist,\nbut the parent directory does.\nWould you like to make this directory? (y/n/q)\n" read -p "${USER_PROMPT}" mk_rundir if [[ "x${mk_rundir}" == "xy" ]]; then mkdir $rundir_path elif [[ "x${mk_rundir}" == "xq" ]]; then printf "\nExiting.\n" exit 1 fi fi fi # Ask user to supply a new path again if [[ ! -d ${rundir_path} ]]; then printf "\nERROR: ${rundir_path} does not exist. Enter a new path or hit q to quit.\n" else valid_path=1 fi done #----------------------------------------------------------------- # Ask user to define run directory name if not passed as argument #----------------------------------------------------------------- if [ -z "$1" ]; then printf "${thinline}Enter run directory name, or press return to use default:\n\n" printf "NOTE: This will be a subfolder of the path you entered above.${thinline}" read -e -p "${USER_PROMPT}" rundir_name if [[ -z "${rundir_name}" ]]; then grid_display="${grid_res}" [[ "x${grid_nest}" != "x" ]] && grid_display+="_${grid_nest}" [[ "x${grid_lev}" != "x" ]] && grid_display+="_${grid_lev}" if [[ "x${sim_extra_option}" = "xnone" ]]; then rundir_name=gc_${grid_display}_${met}_${sim_name} else rundir_name=gc_${grid_display}_${met}_${sim_name}_${sim_extra_option} fi printf " -- Using default directory name ${rundir_name}" fi else rundir_name=$1 fi #----------------------------------------------------------------- # Ask user for a new run directory name if specified one exists #----------------------------------------------------------------- rundir=${rundir_path}/${rundir_name} valid_rundir=0 while [ "${valid_rundir}" -eq 0 ]; do if [[ -d ${rundir} ]]; then printf "\nWARNING: ${rundir} already exists.\n" printf "Enter a different run directory name, or q to quit:\n" read -e -p "${USER_PROMPT}" new_rundir if [[ ${new_rundir} = "q" ]]; then printf "Exiting.\n" exit 1 else rundir=${rundir_path}/${new_rundir} fi else valid_rundir=1 fi done #----------------------------------------------------------------- # Create run directory #----------------------------------------------------------------- mkdir -p ${rundir} mkdir -p ${rundir}/Restarts # Copy run directory files and subdirectories cp ${gcdir}/run/shared/cleanRunDir.sh ${rundir} cp ${gcdir}/run/shared/download_data.py ${rundir} cp ${gcdir}/run/shared/download_data.yml ${rundir} cp ./getRunInfo ${rundir} cp ./archiveRun.sh ${rundir} cp ./README.md ${rundir} cp ./gitignore ${rundir}/.gitignore # Use data downloader that points to GCAP2 restart files if [[ ${met} = "ModelE2.1" ]] || [[ ${met} = "ModelE2.2" ]]; then cp ${gcdir}/run/shared/download_data.gcap2.40L.yml ${rundir}/download_data.yml fi # Copy the OH metrics Python script to the rundir (fullchem only) if [[ "x${sim_name}" == "xfullchem" ]]; then cp -r ${gcdir}/run/shared/metrics.py ${rundir} chmod 744 ${rundir}/metrics.py fi # Set permissions chmod 744 ${rundir}/cleanRunDir.sh chmod 744 ${rundir}/archiveRun.sh # Copy species database cp -r ${gcdir}/run/shared/species_database.yml ${rundir} # Append APM or TOMAS species to species database # Also copy APM input files to the run directory if [[ ${sim_extra_option} =~ "TOMAS" ]]; then cat ${gcdir}/run/shared/species_database_tomas.yml >> ${rundir}/species_database.yml elif [[ ${sim_extra_option} =~ "APM" ]]; then cat ${gcdir}/run/shared/species_database_apm.yml >> ${rundir}/species_database.yml cp ${gcdir}/run/shared/apm_tmp.dat ${rundir}/apm_tmp.dat cp ${gcdir}/run/shared/input.apm ${rundir}/input.apm fi # If benchmark simulation, put run script in directory if [[ "x${sim_extra_option}" == "xbenchmark" ]]; then scriptDir="./runScriptSamples/operational_examples/harvard_cannon" cp ${scriptDir}/geoschem.benchmark.run ${rundir} chmod 744 ${rundir}/geoschem.benchmark.run fi # Create symbolic link to code directory ln -s ${wrapperdir} ${rundir}/CodeDir ln -s ${wrapperdir}/run/GCClassic/runScriptSamples ${rundir}/runScriptSamples #-------------------------------------------------------------------- # Navigate to run directory and set up input files #-------------------------------------------------------------------- cd ${rundir} # Special handling for start/end date based on simulation so that # start year/month/day matches default initial restart file. if [[ "x${grid_res}" = "x0125x015625" ]]; then startdate='20230101' enddate='20230201' elif [[ "x${sim_name}" == "xHg" || "x${sim_name}" == "xcarbon" || "x${sim_name}" == "xTransportTracers" ]]; then startdate='20190101' enddate='20190201' elif [[ "x${sim_name}" == "xmetals" ]]; then startdate='20110101' enddate='20110201' else startdate='20190701' enddate='20190801' fi if [[ ${met} = "ModelE2.1" ]] || [[ ${met} = "ModelE2.2" ]]; then if [[ "$scenario" == "HIST" ]]; then startdate='20050701' enddate='20050801' else startdate='20900701' enddate='20900801' fi fi RUNDIR_VARS+="RUNDIR_SIM_START_DATE=$startdate\n" RUNDIR_VARS+="RUNDIR_SIM_END_DATE=$enddate\n" RUNDIR_VARS+="RUNDIR_SIM_START_TIME='000000'\n" RUNDIR_VARS+="RUNDIR_SIM_END_TIME='000000'\n" # Use monthly diagnostics by default RUNDIR_VARS+="RUNDIR_HIST_TIME_AVG_DUR='00000100 000000'\n" RUNDIR_VARS+="RUNDIR_HIST_TIME_AVG_FREQ='00000100 000000'\n" RUNDIR_VARS+="RUNDIR_HIST_INST_DUR='00000100 000000'\n" RUNDIR_VARS+="RUNDIR_HIST_INST_FREQ='00000100 000000'\n" RUNDIR_VARS+="RUNDIR_HIST_MONTHLY_DIAG='1'\n" # Turn on GEOS-Chem timers for benchmark simulations if [[ "${sim_extra_option}" == "benchmark" ]]; then RUNDIR_VARS+="RUNDIR_USE_GCCLASSIC_TIMERS='true '\n" else RUNDIR_VARS+="RUNDIR_USE_GCCLASSIC_TIMERS='false'\n" fi # Disable PARANOX for 0.25 x 0.3125 and finer grids # See: https://github.com/geoschem/geos-chem/issues/3009 if [[ "x${sim_name}" == "xfullchem" ]]; then if [[ "x${grid_res}" == "x0125x015625" ]] || \ [[ "x${grid_res}" == "x025x03125" ]]; then RUNDIR_VARS+="RUNDIR_PARANOX_EXT='off'\n" else RUNDIR_VARS+="RUNDIR_PARANOX_EXT='on '\n" fi fi # Assign appropriate file paths and settings in HEMCO_Config.rc if [[ ${met} = "ModelE2.1" ]]; then RUNDIR_VARS+="RUNDIR_DUSTDEAD_EXT='on '\n" RUNDIR_VARS+="RUNDIR_MEGAN_EXT='on '\n" RUNDIR_VARS+="RUNDIR_SEASALT_EXT='on '\n" RUNDIR_VARS+="RUNDIR_SOILNOX_EXT='on '\n" RUNDIR_VARS+="RUNDIR_OFFLINE_DUST='false'\n" RUNDIR_VARS+="RUNDIR_OFFLINE_BIOVOC='false'\n" RUNDIR_VARS+="RUNDIR_OFFLINE_SEASALT='false'\n" RUNDIR_VARS+="RUNDIR_OFFLINE_SOILNOX='false'\n" RUNDIR_VARS+="RUNDIR_TOMAS_SEASALT='off'\n" RUNDIR_VARS+="RUNDIR_TOMAS_DUSTDEAD='off'\n" RUNDIR_VARS+="$(cat ${gcdir}/run/shared/settings/gcap2_hemco.txt)\n" else if [[ "${sim_extra_option}" == "benchmark" ]]; then RUNDIR_VARS+="RUNDIR_DUSTDEAD_EXT='off '\n" RUNDIR_VARS+="RUNDIR_DUSTL23M_EXT='on '\n" RUNDIR_VARS+="RUNDIR_MEGAN_EXT='on '\n" RUNDIR_VARS+="RUNDIR_SEASALT_EXT='on '\n" RUNDIR_VARS+="RUNDIR_SOILNOX_EXT='on '\n" RUNDIR_VARS+="RUNDIR_OFFLINE_DUST='false'\n" RUNDIR_VARS+="RUNDIR_OFFLINE_BIOVOC='false'\n" RUNDIR_VARS+="RUNDIR_OFFLINE_SEASALT='false'\n" RUNDIR_VARS+="RUNDIR_OFFLINE_SOILNOX='false'\n" RUNDIR_VARS+="RUNDIR_TOMAS_SEASALT='off'\n" RUNDIR_VARS+="RUNDIR_TOMAS_DUSTDEAD='off'\n" else if [[ "${sim_extra_option}" == "marinePOA" ]]; then RUNDIR_VARS+="RUNDIR_SEASALT_EXT='on '\n" RUNDIR_VARS+="RUNDIR_OFFLINE_SEASALT='false'\n" RUNDIR_VARS+="RUNDIR_TOMAS_SEASALT='off'\n" else RUNDIR_VARS+="RUNDIR_SEASALT_EXT='off'\n" RUNDIR_VARS+="RUNDIR_OFFLINE_SEASALT='true '\n" if [[ ${sim_extra_option} =~ "TOMAS" ]]; then RUNDIR_VARS+="RUNDIR_TOMAS_SEASALT='on '\n" else RUNDIR_VARS+="RUNDIR_TOMAS_SEASALT='off'\n" fi fi if [[ ${sim_extra_option} =~ "TOMAS" ]]; then RUNDIR_VARS+="RUNDIR_TOMAS_DUSTDEAD='on '\n" else RUNDIR_VARS+="RUNDIR_TOMAS_DUSTDEAD='off'\n" fi RUNDIR_VARS+="RUNDIR_DUSTDEAD_EXT='off'\n" RUNDIR_VARS+="RUNDIR_DUSTL23M_EXT='off'\n" RUNDIR_VARS+="RUNDIR_MEGAN_EXT='off'\n" RUNDIR_VARS+="RUNDIR_SOILNOX_EXT='off'\n" RUNDIR_VARS+="RUNDIR_OFFLINE_BIOVOC='true '\n" RUNDIR_VARS+="RUNDIR_OFFLINE_SOILNOX='true '\n" RUNDIR_VARS+="RUNDIR_OFFLINE_DUST='true '\n" fi RUNDIR_VARS+="$(cat ${gcdir}/run/shared/settings/gmao_hemco.txt)\n" fi #-------------------------------------------------------------------- # Determine if we are to read the restart file as REAL*8 or not # # 1. fullchem+benchmark and 72L : Read as REAL*8 via GEOS-Chem # 2. TransportTracers and 72L : Read as REAL*8 via GEOS-Chem # 3. Everything else : Read as REAL*4 via HEMCO #-------------------------------------------------------------------- real8='false' if [[ "x${sim_name}" == "xfullchem" && \ "x${sim_extra_option}" == "xbenchmark" ]] || \ [[ "x${sim_name}" == "xTransportTracers" ]]; then real8='true' fi if [[ "x${grid_lev}" == "x47L" ]]; then real8='false' fi RUNDIR_VARS+="RUNDIR_READ_RESTART_AS_REAL8='${real8}'\n" #-------------------------------------------------------------------- # Replace settings in config files with RUNDIR variables #-------------------------------------------------------------------- # Define a subdirectory for rundir configuration files rundir_config_dirname=CreateRunDirLogs mkdir -p ${rundir}/${rundir_config_dirname} # Save RUNDIR variables to a file in the rundirConfig folder rundir_config_logname=rundir_vars.txt rundir_config_log=${rundir}/${rundir_config_dirname}/${rundir_config_logname} echo -e "$RUNDIR_VARS" > ${rundir_config_log} #sort -o ${rundir_config_log} ${rundir_config_log} # Initialize run directory # NOTE: This also copies configuration files to the run directory! ${srcrundir}/init_rd.sh ${rundir_config_log} #-------------------------------------------------------------------- # Print run directory setup info to screen #-------------------------------------------------------------------- printf "\n -- See ${rundir_config_dirname}/${rundir_config_logname} for summary of default run directory settings" printf "\n -- This run directory has been set up to start on ${startdate}" printf "\n -- A restart file for this date has been copied to the Restarts subdirectory" printf "\n -- You may add more restart files using format GEOSChem.Restart.YYYYMMDD_HHmmz.nc4" printf "\n -- Change simulation start and end dates in configuration file geoschem_config.yml" printf "\n -- Default frequency and duration of diagnostics are set to monthly" printf "\n -- Modify diagnostic settings in HISTORY.rc and HEMCO_Config.rc\n" if [[ "x${nested_sim}" == "xT" ]]; then printf "\n -- Nested-grid simulations use regional high-reoslution met fields" printf "\n by default. GEOS-Chem may also use a custom domain in which case" printf "\n global high-resolution met fields or custom cropped met fields" printf "\n can be used.\n" fi #-------------------------------------------------------------------- # Copy sample restart file to run directory # Bash functions used here are from ./setupForRestarts.sh #-------------------------------------------------------------------- # Parse the download_data.yml file, which returns variable declarations # prefixed by "RUNDIR_", such as: RUNDIR_restarts_root="GEOSCHEM_RESTARTS" if [[ "x${met}" == "xModelE2.1" || "x${met}" == "xModelE2.2" ]]; then config_file="${gcdir}/run/shared/download_data.gcap2.40L.yml" else config_file="${gcdir}/run/shared/download_data.yml" fi config=$(parseYaml "${config_file}" "RUNDIR_") # Export environment variables to be used by rundir scripts for var in ${config[@]}; do setRestartEnvVar "${var}" done # Root paths for restarts # Check the Linux Kernel version to see if we are on the AWS cloud. # If we are, define the command to copy the restart file from s3://gcgrid is_aws=$(uname -r | grep aws) rst_root=$(getRemoteRoot "${is_aws}") s3_cp=$(getS3CopyCmd "${is_aws}") loc_root="${rundir}/Restarts" # Copy the proper restart file to the run directory Restarts/ folder copyRestartToRunDir "${sim_name}" "${sim_extra_option}" \ "${rst_root}" "${loc_root}" # Change time cycle flags in HEMCO_Config.rc for those simulations # in which the restart files do not contain all species setEFYOtoEYinHemcoConfig "${sim_name}" "${sim_extra_option}" # Unset environment variables used by rundir scripts for var in ${config[@]}; do unsetRestartEnvVar "${var}" done #-------------------------------------------------------------------- # Other setup tasks #-------------------------------------------------------------------- # Call function to setup configuration files with settings common between # GEOS-Chem Classic and GCHP. This script mainly now adds species to # input_options.yml and modifies diagnostic output based on simulation type. if [[ "x${sim_name}" = "xfullchem" ]]; then set_common_settings "${sim_extra_option}" "GCClassic" fi # If necessary, edit config files for a carbon single species simulation if [[ "x${sim_name}" == "xcarbon" ]]; then if [[ "x${sim_extra_option}" != "xnone" ]]; then singleCarbonSpecies "${sim_extra_option}" "${rundir}" fi fi # Add nested grid region to met field file path and name to avoid reading # global files if [[ "x${nested_sim}" == "xT" ]]; then if [[ "x${grid_res}" = "x0125x015625" ]]; then hco_met='HEMCO_Config.rc.gmao_metfields_0125' sed_ie "s|GEOS_0.25x0.3125|GEOS_0.25x0.3125_${grid_nest}|" $hco_met sed_ie "s|025x03125.\$NC|025x03125.${grid_nest}.\$NC|" $hco_met else hco_met='HEMCO_Config.rc.gmao_metfields' fi sed_ie "s|GEOS_${grid_res_long}|GEOS_${grid_res_long}_${grid_nest}|" $hco_met sed_ie "s|\$RES|\$RES.${grid_nest}|" $hco_met fi #-------------------------------------------------------------------- # Navigate back to source code directory #-------------------------------------------------------------------- cd ${srcrundir} #---------------------------------------------------------------------- # Archive repository version in run directory file rundir.version #---------------------------------------------------------------------- # Get info about the current commit in geoschem/geos-chem cd ${gcdir} remote_url=$(git config --get remote.origin.url) code_branch=$(git rev-parse --abbrev-ref HEAD) last_commit=$(git log -n 1 --pretty=format:"%s") commit_date=$(git log -n 1 --pretty=format:"%cd") commit_user=$(git log -n 1 --pretty=format:"%cn") commit_hash=$(git log -n 1 --pretty=format:"%h") cd ${srcrundir} # Write commit info to a version log version_log=${rundir}/${rundir_config_dirname}/rundir.version printf " This run directory was created with:" > ${version_log} printf "\n ${srcrundir}/createRunDir.sh.\n" >> ${version_log} printf "\n GEOS-Chem repository version information:\n" >> ${version_log} printf "\n Remote URL: ${remote_url}" >> ${version_log} printf "\n Branch: ${code_branch}" >> ${version_log} printf "\n Commit: ${last_commit}" >> ${version_log} printf "\n Date: ${commit_date}" >> ${version_log} printf "\n User: ${commit_user}" >> ${version_log} printf "\n Hash: ${commit_hash}\n" >> ${version_log} #----------------------------------------------------------------- # Ask user whether to track run directory changes with git #----------------------------------------------------------------- printf "${thinline}Do you want to track run directory changes with git? (y/n)${thinline}" valid_response=0 while [ "$valid_response" -eq 0 ]; do read -p "${USER_PROMPT}" enable_git if [[ "x${enable_git}" == "xy" ]]; then cd ${rundir} printf "\n\nChanges to the following run directory files are tracked by git:\n\n" >> ${version_log} printf "\n" git init git add *.rc *.sh *.yml *.py geoschem_config.yml getRunInfo [[ -f geoschem.benchmark.run ]] && git add geoschem.benchmark.run [[ -f geoschem.run ]] && git add geoschem.run [[ -f HEMCO_Config.rc.gmao_metfields ]] && git add HEMCO_Config.rc.gmao_metfields [[ -f ${rundir_config_log} ]] && git add ${rundir_config_log} printf " " >> ${version_log} git commit -m "Initial run directory" >> ${version_log} cd ${srcrundir} valid_response=1 elif [[ ${enable_git} = "n" ]]; then valid_response=1 else printf "Input not recognized. Try again.\n" fi done #----------------------------------------------------------------- # Ask user whether to build the KPP-standalone box model #----------------------------------------------------------------- enable_kppsa="" if [[ "x${sim_name}" == "xfullchem" ]]; then printf "${thinline}Do you want to build the KPP-Standalone Box Model? (y/n)${thinline}" valid_response=0 while [ "$valid_response" -eq 0 ]; do read -p "${USER_PROMPT}" enable_kppsa if [[ "x${enable_kppsa}" == "xy" ]]; then cp -r ${gcdir}/run/shared/kpp_standalone_interface.yml ${rundir} chmod 644 ${rundir}/kpp_standalone_interface.yml valid_response=1 elif [[ "x${enable_kppsa}" = "xn" ]]; then valid_response=1 else printf "Input not recognized. Try again.\n" fi done fi #--------------------------------------------------------------------------- # Add reminders to compile with CMake options for simulations that need them #--------------------------------------------------------------------------- hdr="\n>>>> REMINDER: You must compile with options:" ftr="<<<<\n" EXTRA_CMAKE_OPTIONS="" [[ "x${sim_name}" == "xcarbon" ]] && EXTRA_CMAKE_OPTIONS="-DMECH=carbon " [[ "x${sim_name}" == "xHg" ]] && EXTRA_CMAKE_OPTIONS="-DMECH=Hg -DFASTJX=y " if [[ "x${sim_name}" == "xfullchem" ]]; then [[ "x${sim_extra_option}" == "xAPM" ]] && EXTRA_CMAKE_OPTIONS="-DAPM=y " [[ "x${sim_extra_option}" == "xRRTMG" ]] && EXTRA_CMAKE_OPTIONS="-DRRTMG=y " [[ "x${sim_extra_option}" == "xTOMAS15" ]] && EXTRA_CMAKE_OPTIONS="-DTOMAS=y -DTOMAS_BINS=15 " [[ "x${sim_extra_option}" == "xTOMAS40" ]] && EXTRA_CMAKE_OPTIONS="-DTOMAS=y -DTOMAS_BINS=40 " fi [[ "x${enable_kppsa}" == "xy" ]] && EXTRA_CMAKE_OPTIONS+="-DKPPSA=y" # Add to RUNDIR_VARS RUNDIR_VARS+="EXTRA_CMAKE_OPTIONS=${EXTRA_CMAKE_OPTIONS}" # Print a reminder to compile with extra CMake options, if necessary [[ "x${EXTRA_CMAKE_OPTIONS}" != "x" ]] && printf "${hdr} ${EXTRA_CMAKE_OPTIONS} ${ftr}" #--------------------------------------------------------------------------- # Create build directory README file #--------------------------------------------------------------------------- mkdir -p "${rundir}/build" msg="To build GEOS-Chem, type:\n\n" msg+="$ cmake ../CodeDir\n" msg+="$ cmake . -DRUNDIR=.. ${EXTRA_CMAKE_OPTIONS}\n" msg+="$ make -j\n" msg+="$ make install\n" printf "${msg}" > ${rundir}/build/README unset msg #----------------------------------------------------------------- # Add the version info to the top of the rundir configuration log #----------------------------------------------------------------- # Add a caveat that these rundir settings only go with this commit printf "\n\n IMPORTANT: ONLY USE THESE RUNDIR SETTINGS WITH THIS COMMIT!\n" >> ${version_log} # Add a "# " characters to the front of each line so we can use # it as a comment heading for ${rundir_config_logname} sed 's/^/# /' ${version_log} > tmp.txt mv tmp.txt ${version_log} # Add the version log to the top of the rundir config log cat ${version_log} ${rundir_config_log} > tmp.txt mv tmp.txt ${rundir_config_log} # Remove the version log rm -rf ${version_log} # Save the updated rundir_vars file to the git repo if [[ "x${enable_git}" == "xy" ]]; then if [[ -f ${rundir_config_log} ]]; then cd ${rundir} git add ${rundir_config_log} git commit -m "Update header of ${rundir_config_dirname}/${rundir_config_logname}" > /dev/null cd ${srcrundir} fi fi #----------------------------------------------------------------- # Create and populate warnings file #----------------------------------------------------------------- if [[ $met == "geosfp" ]]; then echo -e ${fp_msg} > ${rundir}/warnings.txt fi #----------------------------------------------------------------- # Done! #----------------------------------------------------------------- printf "\nCreated ${rundir}\n" exit 0 ================================================ FILE: run/GCClassic/geoschem_config.yml.templates/geoschem_config.yml.Hg ================================================ --- ### geoschem_config.yml: GEOS-Chem Runtime configuration options. ### Customized for simulations using the KPP "Hg" mechanism. ### ### NOTE: Add quotes around nitrogen oxide ('NO'), because YAML ### parsers will confuse this with a negative "no" value. #============================================================================ # Simulation settings #============================================================================ simulation: name: ${RUNDIR_SIM_NAME} start_date: [${RUNDIR_SIM_START_DATE}, ${RUNDIR_SIM_START_TIME}] end_date: [${RUNDIR_SIM_END_DATE}, ${RUNDIR_SIM_END_TIME}] root_data_dir: ${RUNDIR_DATA_ROOT} met_field: ${RUNDIR_MET} species_database_file: ./species_database.yml species_metadata_output_file: OutputDir/geoschem_species_metadata.yml verbose: activate: false on_cores: root # Allowed values: root all use_gcclassic_timers: ${RUNDIR_USE_GCCLASSIC_TIMERS} read_restart_as_real8: ${RUNDIR_READ_RESTART_AS_REAL8} #============================================================================ # Grid settings #============================================================================ grid: resolution: ${RUNDIR_GRID_RES_LONG} number_of_levels: ${RUNDIR_GRID_NLEV} longitude: range: ${RUNDIR_GRID_LON_RANGE} center_at_180: ${RUNDIR_CENTER_LON_180} latitude: range: ${RUNDIR_GRID_LAT_RANGE} half_size_polar_boxes: ${RUNDIR_GRID_HALF_POLAR} nested_grid_simulation: activate: ${RUNDIR_GRID_NESTED_SIM} buffer_zone_NSEW: ${RUNDIR_GRID_BUFFER_ZONE} #============================================================================ # Timesteps settings #============================================================================ timesteps: transport_timestep_in_s: ${RUNDIR_TRANSPORT_TS} chemistry_timestep_in_s: ${RUNDIR_CHEMISTRY_TS} #============================================================================ # Settings for GEOS-Chem operations #============================================================================ operations: chemistry: activate: true convection: activate: true dry_deposition: activate: true diag_alt_above_sfc_in_m: 10 pbl_mixing: activate: true use_non_local_pbl: ${RUNDIR_USE_NLPBL} photolysis: activate: true cloud-j: cloudj_input_dir: ${RUNDIR_DATA_ROOT}/CHEM_INPUTS/CLOUD_J/v2025-01-Hg/ num_levs_with_cloud: ${RUNDIR_PHOT_CLD_NLEV} cloud_scheme_flag: 3 opt_depth_increase_factor: 1.050 min_top_inserted_cloud_OD: 0.005 cloud_overlap_correlation: 0.33 num_cloud_overlap_blocks: 6 sphere_correction: 1 num_wavelength_bins: 18 use_H2O_UV_absorption: true fast-jx: fastjx_input_dir: ${RUNDIR_DATA_ROOT}/CHEM_INPUTS/FAST_JX/v2024-05-Hg/ overhead_O3: use_online_O3_from_model: ${RUNDIR_USE_ONLINE_O3} use_column_O3_from_met: true use_TOMS_SBUV_O3: false transport: gcclassic_tpcore: # GEOS-Chem Classic only activate: true # GEOS-Chem Classic only fill_negative_values: true # GEOS-Chem Classic only iord_jord_kord: [3, 3, 7] # GEOS-Chem Classic only transported_species: - Hg0 - HgBr - HgBrNO2 - HgBrHO2 - HgBrBrO - HgBrClO - HgBrOH - HgBr2 - HgCl - HgClNO2 - HgClHO2 - HgClClO - HgClBrO - HgClBr - HgClOH - HgOH - HgOHNO2 - HgOHHO2 - HgOHClO - HgOHBrO - HgOHOH - HgCl2 - Hg2ClP - Hg2ORGP - Hg2STRP wet_deposition: activate: true #============================================================================ # Settings for GEOS-Chem aerosols #============================================================================ aerosols: optics: input_dir: ${RUNDIR_DATA_ROOT}/CHEM_INPUTS/Aerosol_Optics/v2025-03/ #============================================================================ # Settings specific to the Hg simulation #============================================================================ Hg_simulation_options: sources: use_dynamic_ocean_Hg: false use_preindustrial_Hg: false use_arctic_river_Hg: true chemistry: tie_HgIIaq_reduction_to_UVB: true # NOTE: GTMM is currently, we look to the Hg & POPs community # to take the lead in restoring it. (bmy, 04 Apr 2022) GTMM_soil_model: activate: false restart_file: N/A #============================================================================ # Settings for diagnostics (other than HISTORY and HEMCO) #============================================================================ extra_diagnostics: obspack: activate: false quiet_logfile_output: false input_file: ./obspack_input_for_testing.20190701.nc output_file: ./OutputDir/GEOSChem.ObsPack.YYYYMMDD_hhmmz.nc4 output_species: - Hg0 planeflight: activate: false flight_track_file: Planeflight.dat.YYYYMMDD output_file: ./OutputDir/plane.log.YYYYMMDD ================================================ FILE: run/GCClassic/geoschem_config.yml.templates/geoschem_config.yml.POPs ================================================ --- ### geoschem_config.yml: GEOS-Chem Runtime configuration options. ### Customized for simulations using the POPs mechanism. ### ### NOTE: Add quotes around nitrogen oxide ('NO'), because YAML ### parsers will confuse this with a negative "no" value. #============================================================================ # Simulation settings #============================================================================ simulation: name: ${RUNDIR_SIM_NAME} start_date: [${RUNDIR_SIM_START_DATE}, ${RUNDIR_SIM_START_TIME}] end_date: [${RUNDIR_SIM_END_DATE}, ${RUNDIR_SIM_END_TIME}] root_data_dir: ${RUNDIR_DATA_ROOT} met_field: ${RUNDIR_MET} species_database_file: ./species_database.yml species_metadata_output_file: OutputDir/geoschem_species_metadata.yml verbose: activate: false on_cores: root # Allowed values: root all use_gcclassic_timers: ${RUNDIR_USE_GCCLASSIC_TIMERS} read_restart_as_real8: ${RUNDIR_READ_RESTART_AS_REAL8} #============================================================================ # Grid settings #============================================================================ grid: resolution: ${RUNDIR_GRID_RES_LONG} number_of_levels: ${RUNDIR_GRID_NLEV} longitude: range: ${RUNDIR_GRID_LON_RANGE} center_at_180: ${RUNDIR_CENTER_LON_180} latitude: range: ${RUNDIR_GRID_LAT_RANGE} half_size_polar_boxes: ${RUNDIR_GRID_HALF_POLAR} nested_grid_simulation: activate: ${RUNDIR_GRID_NESTED_SIM} buffer_zone_NSEW: ${RUNDIR_GRID_BUFFER_ZONE} #============================================================================ # Timesteps settings #============================================================================ timesteps: transport_timestep_in_s: ${RUNDIR_TRANSPORT_TS} chemistry_timestep_in_s: ${RUNDIR_CHEMISTRY_TS} #============================================================================ # Settings for GEOS-Chem operations #============================================================================ operations: chemistry: activate: true convection: activate: true dry_deposition: activate: true diag_alt_above_sfc_in_m: 10 pbl_mixing: activate: true use_non_local_pbl: false transport: gcclassic_tpcore: # GEOS-Chem Classic only activate: true # GEOS-Chem Classic only fill_negative_values: true # GEOS-Chem Classic only iord_jord_kord: [3, 3, 7] # GEOS-Chem Classic only transported_species: - POPG_${RUNDIR_POP_SPC} - POPPOCPO_${RUNDIR_POP_SPC} - POPPOCPI_${RUNDIR_POP_SPC} - POPPBCPO_${RUNDIR_POP_SPC} - POPPBCPI_${RUNDIR_POP_SPC} wet_deposition: activate: true #============================================================================ # Settings specific to the POPs simulation #============================================================================ POPs_simulation_options: POP_type: ${RUNDIR_POP_SPC} chemistry_processing: true POP_XMW: ${RUNDIR_POP_XMW} POP_KOA: ${RUNDIR_POP_KOA} POP_KBC: ${RUNDIR_POP_KBC} POP_K_POPG_OH: ${RUNDIR_POP_K_POPG_OH} POP_K_POPP_O3A: ${RUNDIR_POP_K_POPP_O3A} POP_K_POPP_O3B: ${RUNDIR_POP_K_POPP_O3B} POP_HSTAR: ${RUNDIR_POP_HSTAR} POP_DEL_H: ${RUNDIR_POP_DEL_H} POP_DEL_Hw: ${RUNDIR_POP_DEL_Hw} #============================================================================ # Settings for diagnostics (other than HISTORY and HEMCO) #============================================================================ extra_diagnostics: obspack: activate: false quiet_logfile_output: false input_file: ./obspack_input_for_testing.20190701.nc output_file: ./OutputDir/GEOSChem.ObsPack.YYYYMMDD_hhmmz.nc4 output_species: - POPG_${RUNDIR_POP_SPC} planeflight: activate: false flight_track_file: Planeflight.dat.YYYYMMDD output_file: ./OutputDir/plane.log.YYYYMMDD ================================================ FILE: run/GCClassic/geoschem_config.yml.templates/geoschem_config.yml.TransportTracers ================================================ --- ### geoschem_config.yml: GEOS-Chem Runtime configuration options. ### Customized for simulations using the TransportTracers mechanism. ### ### NOTE: Add quotes around nitrogen oxide ('NO'), because YAML ### parsers will confuse this with a negative "no" value. #============================================================================ # Simulation settings #============================================================================ simulation: name: ${RUNDIR_SIM_NAME} start_date: [${RUNDIR_SIM_START_DATE}, ${RUNDIR_SIM_START_TIME}] end_date: [${RUNDIR_SIM_END_DATE}, ${RUNDIR_SIM_END_TIME}] root_data_dir: ${RUNDIR_DATA_ROOT} met_field: ${RUNDIR_MET} species_database_file: ./species_database.yml species_metadata_output_file: OutputDir/geoschem_species_metadata.yml verbose: activate: false on_cores: root # Allowed values: root all use_gcclassic_timers: ${RUNDIR_USE_GCCLASSIC_TIMERS} read_restart_as_real8: ${RUNDIR_READ_RESTART_AS_REAL8} #============================================================================ # Grid settings #============================================================================ grid: resolution: ${RUNDIR_GRID_RES_LONG} number_of_levels: ${RUNDIR_GRID_NLEV} longitude: range: ${RUNDIR_GRID_LON_RANGE} center_at_180: ${RUNDIR_CENTER_LON_180} latitude: range: ${RUNDIR_GRID_LAT_RANGE} half_size_polar_boxes: ${RUNDIR_GRID_HALF_POLAR} nested_grid_simulation: activate: ${RUNDIR_GRID_NESTED_SIM} buffer_zone_NSEW: ${RUNDIR_GRID_BUFFER_ZONE} #============================================================================ # Timesteps settings #============================================================================ timesteps: transport_timestep_in_s: ${RUNDIR_TRANSPORT_TS} chemistry_timestep_in_s: ${RUNDIR_CHEMISTRY_TS} #============================================================================ # Settings for GEOS-Chem operations #============================================================================ operations: chemistry: activate: true convection: activate: true dry_deposition: activate: true pbl_mixing: activate: true use_non_local_pbl: ${RUNDIR_USE_NLPBL} transport: gcclassic_tpcore: # GEOS-Chem Classic only activate: true # GEOS-Chem Classic only fill_negative_values: true # GEOS-Chem Classic only iord_jord_kord: [3, 3, 7] # GEOS-Chem Classic only transported_species: - Rn222 - Pb210 - Pb210s - Be7 - Be7s - Be10 - Be10s - aoa - aoa_bl - aoa_nh - CH3I - CO_25 - CO_50 - e90 - e90_n - e90_s - nh_5 - nh_50 - PassiveTracer - SF6 - st80_25 wet_deposition: activate: true #============================================================================ # Settings for diagnostics (other than HISTORY and HEMCO) #============================================================================ extra_diagnostics: obspack: activate: false quiet_logfile_output: false input_file: ./obspack_input_for_testing.20190701.nc output_file: ./OutputDir/GEOSChem.ObsPack.YYYYMMDD_hhmmz.nc4 output_species: - Rn222 - Pb210 planeflight: activate: false flight_track_file: Planeflight.dat.YYYYMMDD output_file: ./OutputDir/plane.log.YYYYMMDD ================================================ FILE: run/GCClassic/geoschem_config.yml.templates/geoschem_config.yml.aerosol ================================================ --- ### geoschem_config.yml: GEOS-Chem Runtime configuration options. ### Customized for simulations using the aerosols-only mechanism. ### ### NOTE: Add quotes around nitrogen oxide ('NO'), because YAML ### parsers will confuse this with a negative "no" value. #============================================================================ # Simulation settings #============================================================================ simulation: name: ${RUNDIR_SIM_NAME} start_date: [${RUNDIR_SIM_START_DATE}, ${RUNDIR_SIM_START_TIME}] end_date: [${RUNDIR_SIM_END_DATE}, ${RUNDIR_SIM_END_TIME}] root_data_dir: ${RUNDIR_DATA_ROOT} met_field: ${RUNDIR_MET} species_database_file: ./species_database.yml species_metadata_output_file: OutputDir/geoschem_species_metadata.yml verbose: activate: false on_cores: root # Allowed values: root all use_gcclassic_timers: ${RUNDIR_USE_GCCLASSIC_TIMERS} read_restart_as_real8: false #============================================================================ # Grid settings #============================================================================ grid: resolution: ${RUNDIR_GRID_RES_LONG} number_of_levels: ${RUNDIR_GRID_NLEV} longitude: range: ${RUNDIR_GRID_LON_RANGE} center_at_180: ${RUNDIR_CENTER_LON_180} latitude: range: ${RUNDIR_GRID_LAT_RANGE} half_size_polar_boxes: ${RUNDIR_GRID_HALF_POLAR} nested_grid_simulation: activate: ${RUNDIR_GRID_NESTED_SIM} buffer_zone_NSEW: ${RUNDIR_GRID_BUFFER_ZONE} #============================================================================ # Timesteps settings #============================================================================ timesteps: transport_timestep_in_s: ${RUNDIR_TRANSPORT_TS} chemistry_timestep_in_s: ${RUNDIR_CHEMISTRY_TS} #============================================================================ # Settings for GEOS-Chem operations #============================================================================ operations: chemistry: activate: true convection: activate: true dry_deposition: activate: true diag_alt_above_sfc_in_m: 10 pbl_mixing: activate: true use_non_local_pbl: ${RUNDIR_USE_NLPBL} photolysis: overhead_O3: use_online_O3_from_model: false use_column_O3_from_met: true use_TOMS_SBUV_O3: false rrtmg_rad_transfer_model: # This menu is only used to specify the aod_wavelengths_in_nm: # AOD wavelength. RRTMG can only be - 550 # called from a fullchem simulation. transport: gcclassic_tpcore: # GEOS-Chem Classic only activate: true # GEOS-Chem Classic only fill_negative_values: true # GEOS-Chem Classic only iord_jord_kord: [3, 3, 7] # GEOS-Chem Classic only transported_species: - BCPI - BCPO - DMS - DSTbin1 - DSTbin2 - DSTbin3 - DSTbin4 - DSTbin5 - DSTbin6 - DSTbin7 - H2O2 - MSA - NH3 - NH4 - NIT - NITs - OCPI - OCPO - pFe - SALA - SALAAL - SALACL - SALC - SALCAL - SALCCL - SO2 - SO4 - SO4s - SOAP - SOAS wet_deposition: activate: true #============================================================================ # Settings for GEOS-Chem aerosols #============================================================================ aerosols: optics: input_dir: ${RUNDIR_DATA_ROOT}/CHEM_INPUTS/Aerosol_Optics/v2025-03/ carbon: activate: true brown_carbon: false enhance_black_carbon_absorption: activate: true hydrophilic: 1.5 hydrophobic: 1.0 dust: activate: true sea_salt: activate: true SALA_radius_bin_in_um: [0.01, 0.5] SALC_radius_bin_in_um: [0.5, 8.0] sulfate: activate: true metal_cat_SO2_oxidation: true #============================================================================ # Settings for diagnostics (other than HISTORY and HEMCO) #============================================================================ extra_diagnostics: obspack: activate: false quiet_logfile_output: false input_file: ./obspack_input_for_testing.20190701.nc output_file: ./OutputDir/GEOSChem.ObsPack.YYYYMMDD_hhmmz.nc4 output_species: - BCPI planeflight: activate: false flight_track_file: Planeflight.dat.YYYYMMDD output_file: ./OutputDir/plane.log.YYYYMMDD ================================================ FILE: run/GCClassic/geoschem_config.yml.templates/geoschem_config.yml.carbon ================================================ --- ### geoschem_config.yml: GEOS-Chem Runtime configuration options. ### Customized for simulations using the KPP carbon mechanism. #============================================================================ # Simulation settings #============================================================================ simulation: name: ${RUNDIR_SIM_NAME} start_date: [${RUNDIR_SIM_START_DATE}, ${RUNDIR_SIM_START_TIME}] end_date: [${RUNDIR_SIM_END_DATE}, ${RUNDIR_SIM_END_TIME}] root_data_dir: ${RUNDIR_DATA_ROOT} met_field: ${RUNDIR_MET} species_database_file: ./species_database.yml species_metadata_output_file: OutputDir/geoschem_species_metadata.yml verbose: activate: false on_cores: root # Allowed values: root all use_gcclassic_timers: ${RUNDIR_USE_GCCLASSIC_TIMERS} read_restart_as_real8: ${RUNDIR_READ_RESTART_AS_REAL8} #============================================================================ # Grid settings #============================================================================ grid: resolution: ${RUNDIR_GRID_RES_LONG} number_of_levels: ${RUNDIR_GRID_NLEV} longitude: range: ${RUNDIR_GRID_LON_RANGE} center_at_180: ${RUNDIR_CENTER_LON_180} latitude: range: ${RUNDIR_GRID_LAT_RANGE} half_size_polar_boxes: ${RUNDIR_GRID_HALF_POLAR} nested_grid_simulation: activate: ${RUNDIR_GRID_NESTED_SIM} buffer_zone_NSEW: ${RUNDIR_GRID_BUFFER_ZONE} #============================================================================ # Timesteps settings #============================================================================ timesteps: transport_timestep_in_s: ${RUNDIR_TRANSPORT_TS} chemistry_timestep_in_s: ${RUNDIR_CHEMISTRY_TS} #============================================================================ # Settings for GEOS-Chem operations #============================================================================ operations: chemistry: activate: true convection: activate: true pbl_mixing: activate: true use_non_local_pbl: ${RUNDIR_USE_NLPBL} transport: gcclassic_tpcore: # GEOS-Chem Classic only activate: true # GEOS-Chem Classic only fill_negative_values: true # GEOS-Chem Classic only iord_jord_kord: [3, 3, 7] # GEOS-Chem Classic only transported_species: - CH4 - CO - CO2 - OCS #============================================================================ # Options for CH4 #============================================================================ CH4_options: use_observational_operators: AIRS: false GOSAT: false TCCON: false analytical_inversion: perturb_CH4_boundary_conditions: false CH4_boundary_condition_ppb_increase_NSEW: [0.0, 0.0, 0.0, 0.0] #============================================================================ # Options for CO #============================================================================ CO_options: use_archived_PCO_from_CH4: true use_archived_PCO_from_NMVOC: true #============================================================================ # Options for CO2 #============================================================================ CO2_options: sources: use_archived_PCO2_from_CO: true tagged_species: tag_bio_and_ocean_CO2: false tag_land_fossil_fuel_CO2: false #============================================================================ # Settings for diagnostics (other than HISTORY and HEMCO) #============================================================================ extra_diagnostics: obspack: activate: false quiet_logfile_output: false input_file: ./obspack_input_for_testing.20190701.nc output_file: ./OutputDir/GEOSChem.ObsPack.YYYYMMDD_hhmmz.nc4 output_species: - CH4 - CO - CO2 planeflight: activate: false flight_track_file: Planeflight.dat.YYYYMMDD output_file: ./OutputDir/plane.log.YYYYMMDD ================================================ FILE: run/GCClassic/geoschem_config.yml.templates/geoschem_config.yml.fullchem ================================================ --- ### geoschem_config.yml: GEOS-Chem Runtime configuration options. ### Customized for simulations using the KPP "fullchem" mechanism. ### ### NOTE: Add quotes around nitrogen oxide ('NO'), because YAML ### parsers will confuse this with a negative "no" value. #============================================================================ # Simulation settings #============================================================================ simulation: name: ${RUNDIR_SIM_NAME} start_date: [${RUNDIR_SIM_START_DATE}, ${RUNDIR_SIM_START_TIME}] end_date: [${RUNDIR_SIM_END_DATE}, ${RUNDIR_SIM_END_TIME}] root_data_dir: ${RUNDIR_DATA_ROOT} met_field: ${RUNDIR_MET} species_database_file: ./species_database.yml species_metadata_output_file: OutputDir/geoschem_species_metadata.yml verbose: activate: false on_cores: root # Allowed values: root all use_gcclassic_timers: ${RUNDIR_USE_GCCLASSIC_TIMERS} read_restart_as_real8: ${RUNDIR_READ_RESTART_AS_REAL8} #============================================================================ # Grid settings #============================================================================ grid: resolution: ${RUNDIR_GRID_RES_LONG} number_of_levels: ${RUNDIR_GRID_NLEV} longitude: range: ${RUNDIR_GRID_LON_RANGE} center_at_180: ${RUNDIR_CENTER_LON_180} latitude: range: ${RUNDIR_GRID_LAT_RANGE} half_size_polar_boxes: ${RUNDIR_GRID_HALF_POLAR} nested_grid_simulation: activate: ${RUNDIR_GRID_NESTED_SIM} buffer_zone_NSEW: ${RUNDIR_GRID_BUFFER_ZONE} #============================================================================ # Timesteps settings #============================================================================ timesteps: transport_timestep_in_s: ${RUNDIR_TRANSPORT_TS} chemistry_timestep_in_s: ${RUNDIR_CHEMISTRY_TS} radiation_timestep_in_s: 10800 #============================================================================ # Settings for GEOS-Chem operations #============================================================================ operations: chemistry: activate: true linear_chemistry_aloft: activate: true use_linoz_for_O3: true active_strat_H2O: activate: true use_static_bnd_cond: true gamma_HO2: 0.2 autoreduce_solver: activate: false use_target_threshold: activate: true oh_tuning_factor: 0.00005 no2_tuning_factor: 0.0001 use_absolute_threshold: scale_by_pressure: true absolute_threshold: 100.0 keep_halogens_active: false append_in_internal_timestep: false convection: activate: true dry_deposition: activate: true CO2_effect: activate: false CO2_level: 600.0 reference_CO2_level: 380.0 diag_alt_above_sfc_in_m: 10 pbl_mixing: activate: true use_non_local_pbl: ${RUNDIR_USE_NLPBL} photolysis: activate: true cloud-j: cloudj_input_dir: ${RUNDIR_DATA_ROOT}/CHEM_INPUTS/CLOUD_J/v2025-01/ verbose: false num_levs_with_cloud: ${RUNDIR_PHOT_CLD_NLEV} cloud_scheme_flag: 3 opt_depth_increase_factor: 1.050 min_top_inserted_cloud_OD: 0.005 cloud_overlap_correlation: 0.33 num_cloud_overlap_blocks: 6 sphere_correction: 1 num_wavelength_bins: 18 use_H2O_UV_absorption: true overhead_O3: use_online_O3_from_model: ${RUNDIR_USE_ONLINE_O3} use_column_O3_from_met: true use_TOMS_SBUV_O3: false photolyze_nitrate_aerosol: activate: true NITs_Jscale: 100.0 NIT_Jscale: 100.0 percent_channel_A_HONO: 66.667 percent_channel_B_NO2: 33.333 rrtmg_rad_transfer_model: activate: ${RUNDIR_USE_RRTMG} aod_wavelengths_in_nm: - 550 longwave_fluxes: ${RUNDIR_RRTMG_OPTS} shortwave_fluxes: ${RUNDIR_RRTMG_OPTS} clear_sky_flux: ${RUNDIR_RRTMG_OPTS} all_sky_flux: ${RUNDIR_RRTMG_OPTS} fixed_dyn_heating: false seasonal_fdh: false read_dyn_heating: false co2_ppmv: 390.0 transport: gcclassic_tpcore: # GEOS-Chem Classic only activate: true # GEOS-Chem Classic only fill_negative_values: true # GEOS-Chem Classic only iord_jord_kord: [3, 3, 7] # GEOS-Chem Classic only transported_species: - ACET - ACTA - ACR - AERI - ALD2 - ALK4 - ALK4N2 - ALK4P - ALK6 - AONITA - APAN - APINP - APINN - AROMCHO - AROMP4 - AROMP5 - AROMPN - ATOOH - BALD - BCPI - BCPO - BENZ - BENZP - BPINO - BPINN - BPINP - BPINOOH - BPINON - Br - Br2 - BrCl - BrNO2 - BrNO3 - BrO - BrSALA - BrSALC - BUTDI - BUTN - BZCO3H - BZPAN - C96O2H - C96N - C2H2 - C2H4 - C2H6 - C3H8 - C4H6 - CCl4 - CFC11 - CFC113 - CFC114 - CFC115 - CFC12 - CH2Br2 - CH2Cl2 - CH2I2 - CH2IBr - CH2ICl - CH2O - CH3Br - CH3CCl3 - CH3Cl - CH3I - CH4 - CHBr3 - CHCl3 - Cl - Cl2 - Cl2O2 - ClNO2 - ClNO3 - ClO - ClOO - CLOCK - CO - CSL - DMS - DSTbin1 - DSTbin2 - DSTbin3 - DSTbin4 - DSTbin5 - DSTbin6 - DSTbin7 - EBZ - EOH - ETHLN - ETHN - ETHP - ETNO3 - ETP - FURA - GLYC - GLYX - HACTA - H1211 - H1301 - H2402 - H2O - H2O2 - HAC - HBr - HC5A - HCFC123 - HCFC141b - HCFC142b - HCFC22 - HCl - HCOOH - HI - HMHP - HMML - HMS - HNO2 - HNO3 - HNO4 - HOBr - HOCl - HOI - HONIT - HPALD1 - HPALD2 - HPALD3 - HPALD4 - HPETHNL - I - I2 - I2O2 - I2O3 - I2O4 - IBr - ICHE - ICl - ICN - ICPDH - IDC - IDCHP - IDHDP - IDHPE - IDN - IEPOXA - IEPOXB - IEPOXD - IHN1 - IHN2 - IHN3 - IHN4 - INDIOL - INO - INPB - INPD - IO - IONITA - IONO - IONO2 - IPRNO3 - ISALA - ISALC - ISOP - ITCN - ITHN - LIMAL - LIMKB - LIMKET - LIMN - LIMNB - LIMO - LIMO2H - LIMO3H - LIMPAN - LVOC - LVOCOA - MACR - MACR1OOH - MAP - MCRDH - MCRENOL - MCRHN - MCRHNB - MCRHP - MCT - MEK - MEKPN - MENO3 - MGLY - MOH - MONITA - MONITS - MONITU - MP - MPAN - MPN - MSA - MTPA - MTPO - MVK - MVKDH - MVKHC - MVKHCB - MVKHP - MVKN - MVKPC - MYRCO - N2O - N2O5 - NH3 - NH4 - NIT - NITs - 'NO' - NO2 - NO3 - NPHEN - NPRNO3 - O3 - OClO - OCPI - OCPO - OCS - OIO - PAN - pFe - PHAN - PHEN - PIN - PINAL - PINONIC - PINO3H - PINPAN - PIP - PP - PPN - PROPNN - PRPE - PRPN - PYAC - R4N2 - R4P - R7N2 - R7P - RA3P - RB3P - RCHO - RCOOH - RIPA - RIPB - RIPC - RIPD - RNO3 - RP - SALA - SALAAL - SALACL - SALC - SALCAL - SALCCL - SO2 - SO4 - SO4s - SOAGX - SOAIE - SOAP - SOAS - STYR - TLFUONE - TMB - TOLU - XYLE wet_deposition: activate: true #============================================================================ # Settings for GEOS-Chem aerosols #============================================================================ aerosols: optics: input_dir: ${RUNDIR_DATA_ROOT}/CHEM_INPUTS/Aerosol_Optics/v2025-03/ carbon: activate: true brown_carbon: false enhance_black_carbon_absorption: activate: true hydrophilic: 1.5 hydrophobic: 1.0 complex_SOA: activate: ${RUNDIR_COMPLEX_SOA} semivolatile_POA: ${RUNDIR_SVPOA} dust: activate: true acid_uptake_on_dust: ${RUNDIR_ACID_UPTAKE} sea_salt: activate: true SALA_radius_bin_in_um: [0.01, 0.5] SALC_radius_bin_in_um: [0.5, 8.0] marine_organic_aerosols: ${RUNDIR_MARINE_POA} stratosphere: settle_strat_aerosol: true polar_strat_clouds: activate: true het_chem: true allow_homogeneous_NAT: false NAT_supercooling_req_in_K: 3.0 supersat_factor_req_for_ice_nucl: 1.2 calc_strat_aod: true sulfate: activate: true metal_cat_SO2_oxidation: true #============================================================================ # Settings for diagnostics (other than HISTORY and HEMCO) #============================================================================ extra_diagnostics: obspack: activate: false quiet_logfile_output: false input_file: ./obspack_input_for_testing.20190701.nc output_file: ./OutputDir/GEOSChem.ObsPack.YYYYMMDD_hhmmz.nc4 output_species: - CO - 'NO' - O3 planeflight: activate: false flight_track_file: Planeflight.dat.YYYYMMDD output_file: ./OutputDir/plane.log.YYYYMMDD ================================================ FILE: run/GCClassic/geoschem_config.yml.templates/geoschem_config.yml.metals ================================================ --- ### geoschem_config.yml: GEOS-Chem Runtime configuration options. ### Customized for simulations using the metals mechanism. ### ### NOTE: Add quotes around nitrogen oxide ('NO'), because YAML ### parsers will confuse this with a negative "no" value. #============================================================================ # Simulation settings #============================================================================ simulation: name: ${RUNDIR_SIM_NAME} start_date: [${RUNDIR_SIM_START_DATE}, ${RUNDIR_SIM_START_TIME}] end_date: [${RUNDIR_SIM_END_DATE}, ${RUNDIR_SIM_END_TIME}] root_data_dir: ${RUNDIR_DATA_ROOT} met_field: ${RUNDIR_MET} species_database_file: ./species_database.yml species_metadata_output_file: OutputDir/geoschem_species_metadata.yml verbose: activate: false on_cores: root # Allowed values: root all use_gcclassic_timers: ${RUNDIR_USE_GCCLASSIC_TIMERS} read_restart_as_real8: ${RUNDIR_READ_RESTART_AS_REAL8} #============================================================================ # Grid settings #============================================================================ grid: resolution: ${RUNDIR_GRID_RES_LONG} number_of_levels: ${RUNDIR_GRID_NLEV} longitude: range: ${RUNDIR_GRID_LON_RANGE} center_at_180: ${RUNDIR_CENTER_LON_180} latitude: range: ${RUNDIR_GRID_LAT_RANGE} half_size_polar_boxes: ${RUNDIR_GRID_HALF_POLAR} nested_grid_simulation: activate: ${RUNDIR_GRID_NESTED_SIM} buffer_zone_NSEW: ${RUNDIR_GRID_BUFFER_ZONE} #============================================================================ # Timesteps settings #============================================================================ timesteps: transport_timestep_in_s: ${RUNDIR_TRANSPORT_TS} chemistry_timestep_in_s: ${RUNDIR_CHEMISTRY_TS} #============================================================================ # Settings for GEOS-Chem operations #============================================================================ operations: convection: activate: true dry_deposition: activate: true diag_alt_above_sfc_in_m: 10 pbl_mixing: activate: true use_non_local_pbl: ${RUNDIR_USE_NLPBL} transport: gcclassic_tpcore: # GEOS-Chem Classic only activate: true # GEOS-Chem Classic only fill_negative_values: true # GEOS-Chem Classic only iord_jord_kord: [3, 3, 7] # GEOS-Chem Classic only transported_species: - AlF1 - AlF2 - AsF1 - AsF2 - CaF1 - CaF2 - CaC3 - CaC4 - CdF1 - CdF2 - FeF1 - FeF2 - KF1 - KF2 - KC3 - KC4 - MgF1 - MgF2 - MgC3 - MgC4 - MnF1 - MnF2 - NiF1 - NiF2 - PbF1 - PbF2 - SiF1 - SiF2 - TiF1 - TiF2 wet_deposition: activate: true #============================================================================ # Settings for diagnostics (other than HISTORY and HEMCO) #============================================================================ extra_diagnostics: obspack: activate: false quiet_logfile_output: false input_file: ./obspack_input_for_testing.20190701.nc output_file: ./OutputDir/GEOSChem.ObsPack.YYYYMMDD_hhmmz.nc4 output_species: - AlF1 planeflight: activate: false flight_track_file: Planeflight.dat.YYYYMMDD output_file: ./OutputDir/plane.log.YYYYMMDD ================================================ FILE: run/GCClassic/geoschem_config.yml.templates/geoschem_config.yml.tagO3 ================================================ --- ### geoschem_config.yml: GEOS-Chem Runtime configuration options. ### Customized for simulations using the tagged O3 mechanism. ### ### NOTE: Add quotes around nitrogen oxide ('NO'), because YAML ### parsers will confuse this with a negative "no" value. #============================================================================ # Simulation settings #============================================================================ simulation: name: ${RUNDIR_SIM_NAME} start_date: [${RUNDIR_SIM_START_DATE}, ${RUNDIR_SIM_START_TIME}] end_date: [${RUNDIR_SIM_END_DATE}, ${RUNDIR_SIM_END_TIME}] root_data_dir: ${RUNDIR_DATA_ROOT} met_field: ${RUNDIR_MET} species_database_file: ./species_database.yml species_metadata_output_file: OutputDir/geoschem_species_metadata.yml verbose: activate: false on_cores: root # Allowed values: root all use_gcclassic_timers: ${RUNDIR_USE_GCCLASSIC_TIMERS} read_restart_as_real8: ${RUNDIR_READ_RESTART_AS_REAL8} #============================================================================ # Grid settings #============================================================================ grid: resolution: ${RUNDIR_GRID_RES_LONG} number_of_levels: ${RUNDIR_GRID_NLEV} longitude: range: ${RUNDIR_GRID_LON_RANGE} center_at_180: ${RUNDIR_CENTER_LON_180} latitude: range: ${RUNDIR_GRID_LAT_RANGE} half_size_polar_boxes: ${RUNDIR_GRID_HALF_POLAR} nested_grid_simulation: activate: ${RUNDIR_GRID_NESTED_SIM} buffer_zone_NSEW: ${RUNDIR_GRID_BUFFER_ZONE} #============================================================================ # Timesteps settings #============================================================================ timesteps: transport_timestep_in_s: ${RUNDIR_TRANSPORT_TS} chemistry_timestep_in_s: ${RUNDIR_CHEMISTRY_TS} #============================================================================ # Settings for GEOS-Chem operations #============================================================================ operations: chemistry: activate: true convection: activate: true dry_deposition: activate: true diag_alt_above_sfc_in_m: 10 pbl_mixing: activate: true use_non_local_pbl: ${RUNDIR_USE_NLPBL} transport: gcclassic_tpcore: # GEOS-Chem Classic only activate: true # GEOS-Chem Classic only fill_negative_values: true # GEOS-Chem Classic only iord_jord_kord: [3, 3, 7] # GEOS-Chem Classic only transported_species: - O3 - O3Strat - O3ut - O3mt - O3row - O3pcbl - O3nabl - O3atbl - O3eubl - O3afbl - O3asbl - O3init - O3usa #============================================================================ # Settings for diagnostics (other than HISTORY and HEMCO) #============================================================================ extra_diagnostics: obspack: activate: false quiet_logfile_output: false input_file: ./obspack_input_for_testing.20190701.nc output_file: ./OutputDir/GEOSChem.ObsPack.YYYYMMDD_hhmmz.nc4 output_species: - O3 planeflight: activate: false flight_track_file: Planeflight.dat.YYYYMMDD output_file: ./OutputDir/plane.log.YYYYMMDD ================================================ FILE: run/GCClassic/getRunInfo ================================================ #!/usr/bin/perl -w #EOC #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !MODULE: getRunInfo # # !DESCRIPTION: This script extracts information from the geoschem_config.yml # file and prints the result. The input arguments are (1) the location of file # geoschem_config.yml, and (2) the ID of run information to be extracted. # Mapping between ID and geoschem_config.yml information are is as follows: # 0:START, 1:END, 3:STARTDATE, 4:ENDDATE. #\\ #\\ # !USES: # require 5.003; # Need this version of Perl or newer use English; # Use English language use Carp; # Get detailed error messages use strict; # Use "IMPLICIT NONE" syntax # # !PUBLIC MEMBER FUNCTIONS # &getRunInfo # # !CALLING SEQUENCE: # getRunInfo RUNDIR ID # where RUNDIR is the path location of geoschem_config.yml and ID is the # ID of the run information to retrieve # # !REMARKS: # Designed for use with the root-level Makefile in a run directory when # using the unit test or a run directory copied from UnitTest. # . # ID value Information returned # ------------------------------------------------------------------- # 1 Start date & time (in YYYYMMDDhhmm format ) # 2 End date & time (in YYYYMMDDhhmm format ) # 3 Start date only (in YYYYMMDD format ) # 4 End date only (in YYYYMMDD format ) # 5 Simulation name # 6 RRTMG setting # # !REVISION HISTORY: # 06 Apr 2015 - E. Lundgren - Initial version #EOP #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !IROUTINE: getRunInfo # # !DESCRIPTION: Extracts run information from geoschem_config.yml. #\\ #\\ # !INTERFACE: # sub getInfo($$) { # # !INPUT PARAMETERS: # my ( $rundir, $id ) = @_; # # !CALLING SEQUENCE: # &getInfo( $rundir, $id ); # # !REVISION HISTORY: # 06 Apr 2015 - E. Lundgren - Initial version # 27 Apr 2015 - M. Sulprizio- Now use YYYYMMDDhhmm format for start/end time # 31 Mar 2015 - E. Lundgren - Add special case of soa_svpoa # 22 May 2017 - R. Yantosca - For HEMCO standalone, convert YYYY-MM-DD to # YYYYMMDD and hh:mm:ss to hhmmss # 19 Sep 2017 - R. Yantosca - Add options to return start & end time in just # YYYYMMDD format (e.g. for use in filenames) # 05 Nov 2018 - M. Sulprizio- Add options to return start & end time in hhmm # format for use in filenames #EOP #------------------------------------------------------------------------------ #BOC # # !LOCAL VARIABLES: # # Scalars my $runstr = ""; my $line = ""; my $runinfo = ""; # Arrays my @linestrings = (); my @dates = (); my @times = (); my @runinfoarray = (); # Make sure that an geoschem_config.yml file is found; otherwise print a ""; if ( -f "$rundir/geoschem_config.yml" ) { # Get start run time if $id is 1 or 3, end run time if $id is 2 or 4 if ( $id == 1 || $id == 2 || $id == 3 || $id == 4 ) { if ( $id == 1 || $id == 3 ) { $runstr = "start"; } elsif ( $id == 2 || $id == 4 ) { $runstr = "end"; } # Grep for date & time in geoschem_config.yml $line = qx( grep "$runstr.*YYYYMMDD" $rundir/geoschem_config.yml ); chomp( $line ); # Split by spaces @linestrings = split( ' ', $line ); # Place start and end times into YYYYMMDDhhmm format (ID = 1 or 2) # or just YYYYMMDD format (ID = 3 or 4) $runinfo = "$linestrings[4]$linestrings[5]"; if ( $id == 1 || $id == 2 ) { $runinfo = substr( $runinfo, 0, 12 ); } elsif ( $id == 3 || $id == 4 ) { $runinfo = substr( $runinfo, 0, 8 ); } } elsif ( $id == 5 ) { # Grep for line in geoschem_config.yml $line = qx( grep "name" $rundir/geoschem_config.yml ); chomp( $line ); # Split by spaces @linestrings = split( ' ', $line ); # Extract the simulation name $runinfo = "$linestrings[3]"; } elsif ( $id == 6 ) { # Grep for line in geoschem_config.yml $line = qx( grep "Turn on RRTMG" $rundir/geoschem_config.yml ); chomp( $line ); # Split by spaces @linestrings = split( ' ', $line ); # Extract the simulation name $runinfo = "$linestrings[4]"; } } elsif ( -f "$rundir/HEMCO_sa_Config.rc" ) { # Get start run time if $id is 1 or 3, end run time if $id is 2 or 4 if ( $id == 1 || $id == 2 || $id == 3 || $id == 4 ) { if ( -f "$rundir/HEMCO_sa_Time.rc" ) { if ( $id == 1 || $id == 3 ) { $runstr = "START"; } if ( $id == 2 || $id == 4 ) { $runstr = "END"; } # Grep for start and date $line = qx( grep "$runstr" $rundir/HEMCO_sa_Time.rc ); chomp( $line ); # Split by spaces @linestrings = split( ' ', $line ); # Translatet YYYY-MM-DD into YYYYMMDD # and hh:mm:ss to hhmmss @dates = split( '-', $linestrings[1] ); @times = split( ':', $linestrings[2] ); # Return start and end times in YYYYMMDDhhmm format (ID = 1 or 2) # or just YYYYMMDD format (ID = 3 or 4) if ( $id == 1 || $id == 2 ) { $runinfo = "$dates[0]$dates[1]$dates[2]$times[0]$times[1]"; } elsif ( $id == 3 || $id == 4 ) { $runinfo = "$dates[0]$dates[1]$dates[2]"; } } } elsif ( $id == 5 ) { # Hardcode simulation name; it doesn't matter for HEMCO SA $runinfo = "standard"; } } # Print the result print "$runinfo"; return(0) } #EOP #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !IROUTINE: main # # !DESCRIPTION: Driver routine for the getRunInfo script. #\\ #\\ # !INTERFACE: # sub main() { # # !CALLING SEQUENCE: # getRunInfo DIR ID # # !REVISION HISTORY: # 07 Apr 2015 - E. Lundgren - Initial version # 20 Sep 2017 - R. Yantosca - ID can now be from 0-8 # 05 Nov 2018 - M. Sulprizio- ID can now be from 0-10 #EOP #------------------------------------------------------------------------------ #BOC # # !LOCAL VARIABLES: # my $nArgs = scalar( @ARGV ); my $msg = ""; # Exits with an error message if the ID argument is not within valid range if ( $nArgs >= 0 && $nArgs <= 10 ) { &getInfo( @ARGV ); } else { $msg = "getRunInfo: $ARGV[1] is an invalid value for the ID argument!"; print "$msg"; exit(1); } return ( 0 ); } #------------------------------------------------------------------------------ # Call the main program main(); # Return normally exit(0); #EOC ================================================ FILE: run/GCClassic/gitignore ================================================ *.[oax] *~* job.* log.* *.log slurm* diaginfo.dat tracerinfo.dat geos core.* initial_GEOSChem_rst* GEOSChem.Restart.* HEMCO_restart.* OutputDir/GEOSChem.*nc4* OutputDir/HEMCO_diagnostics* CodeDir build Plots Results BenchmarkResults rundir.version runScriptSamples README ================================================ FILE: run/GCClassic/init_rd.sh ================================================ #!/bin/bash DESCRIPTION="""Initialize the current working directory as a run directory (minimal file set). usage: init_rd.sh FILE... FILE...: Files defining variables used to initialize run directory. The rightmost file has the highest precedence. Each FILE is sourced and the loaded variables are used to fill the run directory templates using envsubst. init_rd.sh --rundir-vars Lists all the RUNDIR variables found in the templates. init_rd.sh [-h] [--help] Prints this help message. """ if [[ ( $* == --help ) || ( $* == -h ) || $# -eq 0 ]]; then echo "$DESCRIPTION" exit 0 fi set -e THIS_SCRIPTS_DIRECTORY=$(realpath $(dirname "$0")) if [[ ( $* == --rundir-vars ) ]]; then grep -roh 'RUNDIR_[A-Z_][A-Z_]*' $THIS_SCRIPTS_DIRECTORY | grep -v 'RUNDIR_VARS' | sort | uniq exit 0 fi function get_rundir_vars_list() { sed -n 's#^\s*\([A-Za-z0-9_][A-Za-z0-9_]*\)=.*#\1#p' } # Source given files, and build variable list variables= for envfile in "$@"; do source $envfile variables+="$(cat $envfile | get_rundir_vars_list) " export $variables done # Source a second time to resolve dependent variables for envfile in "$@"; do source $envfile export $variables done variables=$(echo $variables | sort | uniq) envsubst_list="$(printf '${%s} ' $variables)" COPY_LIST=""" HEMCO_Diagn.rc.templates/HEMCO_Diagn.rc.${RUNDIR_SIM_NAME} """ SUBST_LIST=""" geoschem_config.yml.templates/geoschem_config.yml.${RUNDIR_SIM_NAME} HEMCO_Config.rc.templates/HEMCO_Config.rc.${RUNDIR_SIM_NAME} HISTORY.rc.templates/HISTORY.rc.${RUNDIR_SIM_NAME} HEMCO_Config.rc.templates/${RUNDIR_MET_FIELD_CONFIG} """ function filename_with_suffixes_removed() { basename $(basename $1 .${RUNDIR_SIM_NAME}) .template } # Copy files in COPY_LIST to cwd for fpath in $COPY_LIST; do cp $THIS_SCRIPTS_DIRECTORY/$fpath $(filename_with_suffixes_removed $fpath) done # Make OutputDir mkdir -p OutputDir # Copy and make substitutions for each file in SUBST_LIST for fpath in $SUBST_LIST; do envsubst "$envsubst_list" < $THIS_SCRIPTS_DIRECTORY/$fpath > $(filename_with_suffixes_removed $fpath) done # Make links unlink runScriptSamples ln -s $THIS_SCRIPTS_DIRECTORY/runScriptSamples runScriptSamples ================================================ FILE: run/GCClassic/runScriptSamples/operational_examples/harvard_cannon/README ================================================ Contact: GEOS-Chem Support Team at Harvard University geos-chem-support@g.harvard.edu ================================================ FILE: run/GCClassic/runScriptSamples/operational_examples/harvard_cannon/gcclassic.gcc10_cannon_rocky.env ================================================ ############################################################################### # gcclassic.rocky+gnu10.minimal.env # # Environment file for GCClassic + Rocky Linux + GNU Compiler Collection 10.2.0 # # Does not include any Spack-built modules, only FASRC-built modules. # Useful for running in the Cannon queues, or to start fresh Spack builds. ############################################################################### # Display message (if we are in a terminal window) if [[ $- = *i* ]] ; then echo "Loading modules for GEOS-Chem Classic, please wait ..." fi #============================================================================== # Unload all previously-unloaded software #============================================================================== # Unload packages loaded with "module load" module purge # Unload packages loaded with "spack load" if [[ "x${SPACK_ROOT}" != "x" ]]; then which spack &> /dev/null || spack unload --all fi #============================================================================== # Load FASRC-built software packages for Rocky Linux and GNU 10.2.0 #============================================================================== if [[ $- = *i* ]] ; then echo "... Loading FASRC-built software, please wait ..." fi # Load FASRC-built modules module load gcc/10.2.0-fasrc01 # gcc / g++ / gfortran module load openmpi/4.1.0-fasrc01 # MPI module load netcdf-c/4.8.0-fasrc01 # netcdf-c module load netcdf-fortran/4.5.3-fasrc01 # netcdf-fortran module load flex/2.6.4-fasrc01 # Flex lexer (needed for KPP) module load cmake/3.25.2-fasrc01 # CMake (needed to compile) # Additional FASRC-built modules # Uncomment if you need to use these #module load IDL/8.7.2-fasrc01 # IDL language (needed for GAMAP) ##module load R/4.2.2-fasrc01 # R language ##module load matlab/R2022b-fasrc01 # matlab language #============================================================================== # Environment variables and related settings # (NOTE: Lmod will define _HOME variables for each loaded module #============================================================================== # Make all files world-readable by default umask 022 # Set number of threads for OpenMP. If running in a SLURM environment, # use the number of requested cores. Otherwise use 8 cores for OpenMP. if [[ "x${SLURM_CPUS_PER_TASK}" == "x" ]]; then export OMP_NUM_THREADS=8 else export OMP_NUM_THREADS="${SLURM_CPUS_PER_TASK}" fi # Max out the stacksize memory limit export OMP_STACKSIZE="500m" # Compilers export CC="gcc" export CXX="g++" export FC="gfortran" export F77="${FC}" # netCDF if [[ "x${NETCDF_HOME}" == "x" ]]; then export NETCDF_HOME="${NETCDF_C_HOME}" fi export NETCDF_C_ROOT="${NETCDF_HOME}" export NETCDF_FORTRAN_ROOT="${NETCDF_FORTRAN_HOME}" # KPP 3.0.0+ export KPP_FLEX_LIB_DIR="${FLEX_HOME}/lib64" # If you are using GEOS-Chem 12.6.0 or earlier, # uncomment these lines and source this file again. #export GC_INCLUDE=$NETCDF_INCLUDE #export GC_BIN=$NETCDF_HOME/bin #export GC_LIB=$NETCDF_LIB #export GC_F_INCLUDE=$NETCDF_FORTRAN_INCLUDE #export GC_F_LIB=$NETCDF_FORTRAN_LIB #export GC_F_BIN=$NETCDF_FORTRAN_HOME/bin #============================================================================== # Set limits #============================================================================== ulimit -c unlimited # coredumpsize ulimit -u 50000 # maxproc ulimit -v unlimited # vmemoryuse ulimit -s unlimited # stacksize #============================================================================== # Print information #============================================================================== module list echo "" echo "Environment:" echo "" echo "CC : ${CC}" echo "CXX : ${CXX}" echo "FC : ${FC}" echo "KPP_FLEX_LIB_DIR : ${KPP_FLEX_LIB_DIR}" echo "NETCDF_HOME : ${NETCDF_HOME}" echo "NETCDF_FORTRAN_HOME : ${NETCDF_FORTRAN_HOME}" echo "OMP_NUM_THREADS : ${OMP_NUM_THREADS}" echo "" echo "Done sourcing ${BASH_SOURCE[0]}" ================================================ FILE: run/GCClassic/runScriptSamples/operational_examples/harvard_cannon/gcclassic.gcc12_cannon_rocky.env ================================================ ############################################################################### # gcclassic.rocky+gnu12.minimal.env # # Environment file for GCClassic + Rocky Linux + GNU Compiler Collection 12.2.0 # # Does not include any Spack-built modules, only FASRC-built modules. # Useful for running in the Cannon queues, or to start fresh Spack builds. ############################################################################### # Display message (if we are in a terminal window) if [[ $- = *i* ]] ; then echo "Loading modules for GEOS-Chem Classic, please wait ..." fi #============================================================================== # Unload all previously-unloaded software #============================================================================== # Unload packages loaded with "module load" module purge # Unload packages loaded with "spack load" if [[ "x${SPACK_ROOT}" != "x" ]]; then which spack &> /dev/null || spack unload --all fi #============================================================================== # Load FASRC-built software packages for Rocky Linux and GNU 12.2.0 #============================================================================== if [[ $- = *i* ]] ; then echo "... Loading FASRC-built software, please wait ..." fi # FASRC-built modules needed for GEOS-Chem module load gcc/12.2.0-fasrc01 # gcc / g++ / gfortran module load openmpi/4.1.4-fasrc01 # MPI module load netcdf-c/4.9.2-fasrc01 # netcdf-c module load netcdf-fortran/4.6.0-fasrc02 # netcdf-fortran module load flex/2.6.4-fasrc01 # Flex lexer (needed for KPP) module load cmake/3.25.2-fasrc01 # CMake (needed to compile) # Additional FASRC-built modules # Uncomment if you need to use these #module load IDL/8.7.2-fasrc01 # IDL language (needed for GAMAP) #module load R/4.2.2-fasrc01 # R language #module load matlab/R2022b-fasrc01 # matlab language #============================================================================== # Environment variables and related settings # (NOTE: Lmod will define _HOME variables for each loaded module) #============================================================================== # Make all files world-readable by default umask 022 # Set number of threads for OpenMP. If running in a SLURM environment, # use the number of requested cores. Otherwise use 8 cores for OpenMP. if [[ "x${SLURM_CPUS_PER_TASK}" == "x" ]]; then export OMP_NUM_THREADS=8 else export OMP_NUM_THREADS="${SLURM_CPUS_PER_TASK}" fi # Max out the stacksize memory limit export OMP_STACKSIZE="500m" # Compilers export CC="gcc" export CXX="g++" export FC="gfortran" export F77="${FC}" # netCDF if [[ "x${NETCDF_HOME}" == "x" ]]; then export NETCDF_HOME="${NETCDF_C_HOME}" fi export NETCDF_C_ROOT="${NETCDF_HOME}" export NETCDF_FORTRAN_ROOT=${NETCDF_FORTRAN_HOME} # KPP 3.0.0+ export KPP_FLEX_LIB_DIR=${FLEX_HOME}/lib64 # If you are using GEOS-Chem 12.6.0 or earlier, # uncomment these lines and source this file again. #export GC_INCLUDE=$NETCDF_INCLUDE #export GC_BIN=$NETCDF_HOME/bin #export GC_LIB=$NETCDF_LIB #export GC_F_INCLUDE=$NETCDF_FORTRAN_INCLUDE #export GC_F_LIB=$NETCDF_FORTRAN_LIB #export GC_F_BIN=$NETCDF_FORTRAN_HOME/bin #============================================================================== # Set limits #============================================================================== ulimit -c unlimited # coredumpsize ulimit -u 50000 # maxproc ulimit -v unlimited # vmemoryuse ulimit -s unlimited # stacksize #============================================================================== # Print information #============================================================================== module list echo "" echo "Environment:" echo "" echo "CC : ${CC}" echo "CXX : ${CXX}" echo "FC : ${FC}" echo "KPP_FLEX_LIB_DIR : ${KPP_FLEX_LIB_DIR}" echo "MPI_HOME : ${MPI_HOME}" echo "NETCDF_HOME : ${NETCDF_HOME}" echo "NETCDF_FORTRAN_HOME : ${NETCDF_FORTRAN_HOME}" echo "OMP_NUM_THREADS : ${OMP_NUM_THREADS}" echo "" echo "Done sourcing ${BASH_SOURCE[0]}" ================================================ FILE: run/GCClassic/runScriptSamples/operational_examples/harvard_cannon/gcclassic.gcc14_cannon_rocky.env ================================================ ############################################################################### # gcclassic.rocky+gnu14.minimal.env # # Environment file for GCClassic + Rocky Linux + GNU Compiler Collection 10.4.0 # # Does not include any Spack-built modules, only FASRC-built modules. # Useful for running in the Cannon queues, or to start fresh Spack builds. ############################################################################### # Display message (if we are in a terminal window) if [[ $- = *i* ]] ; then echo "Loading modules for GEOS-Chem Classic, please wait ..." fi #============================================================================== # Unload all previously-unloaded software #============================================================================== # Unload packages loaded with "module load" module purge # Unload packages loaded with "spack load" if [[ "x${SPACK_ROOT}" != "x" ]]; then which spack &> /dev/null || spack unload --all fi #============================================================================== # Load FASRC-built software packages for Rocky Linux and GNU 10.2.0 #============================================================================== if [[ $- = *i* ]] ; then echo "... Loading FASRC-built software, please wait ..." fi # Load FASRC-built modules module load gcc/14.2.0-fasrc01 # gcc / g++ / gfortran module load openmpi/5.0.5-fasrc01 # MPI module load netcdf-c/4.9.2-fasrc06 # netcdf-c module load netcdf-fortran/4.6.1-fasrc04 # netcdf-fortran module load flex/2.6.4-fasrc01 # Flex lexer (needed for KPP) module load cmake/3.25.2-fasrc01 # CMake (needed to compile) # Additional FASRC-built modules # Uncomment if you need to use these #module load IDL/8.7.2-fasrc01 # IDL language (needed for GAMAP) ##module load R/4.2.2-fasrc01 # R language ##module load matlab/R2022b-fasrc01 # matlab language #============================================================================== # Environment variables and related settings # (NOTE: Lmod will define _HOME variables for each loaded module #============================================================================== # Make all files world-readable by default umask 022 # Set number of threads for OpenMP. If running in a SLURM environment, # use the number of requested cores. Otherwise use 8 cores for OpenMP. if [[ "x${SLURM_CPUS_PER_TASK}" == "x" ]]; then export OMP_NUM_THREADS=8 else export OMP_NUM_THREADS="${SLURM_CPUS_PER_TASK}" fi # Max out the stacksize memory limit export OMP_STACKSIZE="500m" # Compilers export CC="gcc" export CXX="g++" export FC="gfortran" export F77="${FC}" # netCDF if [[ "x${NETCDF_HOME}" == "x" ]]; then export NETCDF_HOME="${NETCDF_C_HOME}" fi export NETCDF_C_ROOT="${NETCDF_HOME}" export NETCDF_FORTRAN_ROOT="${NETCDF_FORTRAN_HOME}" # KPP 3.0.0+ export KPP_FLEX_LIB_DIR="${FLEX_HOME}/lib64" # If you are using GEOS-Chem 12.6.0 or earlier, # uncomment these lines and source this file again. #export GC_INCLUDE=$NETCDF_INCLUDE #export GC_BIN=$NETCDF_HOME/bin #export GC_LIB=$NETCDF_LIB #export GC_F_INCLUDE=$NETCDF_FORTRAN_INCLUDE #export GC_F_LIB=$NETCDF_FORTRAN_LIB #export GC_F_BIN=$NETCDF_FORTRAN_HOME/bin #============================================================================== # Set limits #============================================================================== #ulimit -c unlimited # coredumpsize ulimit -u 50000 # maxproc ulimit -v unlimited # vmemoryuse ulimit -s unlimited # stacksize #============================================================================== # Print information #============================================================================== module list echo "" echo "Environment:" echo "" echo "CC : ${CC}" echo "CXX : ${CXX}" echo "FC : ${FC}" echo "KPP_FLEX_LIB_DIR : ${KPP_FLEX_LIB_DIR}" echo "NETCDF_HOME : ${NETCDF_HOME}" echo "NETCDF_FORTRAN_HOME : ${NETCDF_FORTRAN_HOME}" echo "OMP_NUM_THREADS : ${OMP_NUM_THREADS}" echo "" echo "Done sourcing ${BASH_SOURCE[0]}" ================================================ FILE: run/GCClassic/runScriptSamples/operational_examples/harvard_cannon/geoschem.benchmark.run ================================================ #!/bin/bash #SBATCH -c 48 #SBATCH -N 1 #SBATCH -t 0-5:00 #SBATCH -p sapphire,huce_cascade,seas_compute,shared #SBATCH --mem=16000 #SBATCH --mail-type=END #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !MODULE: geoschem.benchmark.run # # !DESCRIPTION: This bash script submits a 1-month benchmark simulation # to the SLURM scheduler. #\\ #\\ # !REMARKS: # Designed to be used with the gc_4x5_merra2_fullchem_benchmark folder # generated by the ./createRunDir.sh script. To use this script, you must # first compile GEOS-Chem with CMake to create the gcclassic executable. # # NOTES: # (1) This script is customized for the Harvard "Cannon" cluster. If you # are running a benchmark on a different machine, you can edit this # script accordingly. # # (2) SBATCH --exclusive will request an entire node, to prevent backfilling # jobs from affecting timing results. If you don't need the timing info, # then you can delete this. # # !CALLING SEQUENCE: # To submit run to the SLURM queue system: # sbatch geoschem.benchmark.run # # To run interactively: # ./geoschem.benchmark.run # # !REVISION HISTORY: # Type 'gitk' at the prompt to browse the revision history. #EOP #------------------------------------------------------------------------------ #BOC # Set the proper # of threads for OpenMP # SLURM_CPUS_PER_TASK ensures this matches the number you set with -c above export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK #------------------------------------------------- # Initialize #------------------------------------------------- # Define GEOS-Chem log file log=GC.log #------------------------------------------------- # Start the simulation #------------------------------------------------- # Run GEOS-Chem and pipe output to log srun -c $OMP_NUM_THREADS time -p ./gcclassic >> $log # Echo end time echo '===> Run ended at' `date` >> $log #------------------------------------------------- # Clean up #------------------------------------------------- # Echo info from computational cores to log file for displaying results nodeName=`uname -n` echo "# of CPUs: $OMP_NUM_THREADS" echo "NodeName : $nodeName" grep "vendor_id" /proc/cpuinfo grep "model name" /proc/cpuinfo grep "cpu MHz" /proc/cpuinfo # Clear variable unset log unset nodename # Exit normally exit 0 #EOC ================================================ FILE: run/GCClassic/runScriptSamples/operational_examples/harvard_cannon/geoschem.run ================================================ #!/bin/bash #SBATCH -c 8 #SBATCH -N 1 #SBATCH -t 0-12:00 #SBATCH -p sapphire,huce_cascade,seas_compute,shared #SBATCH --mem=15000 #SBATCH --mail-type=END ############################################################################### ### Sample GEOS-Chem Classic run script for Harvard Cannon (using SLURM). ### ### If you are running a nested-grid simulation at fine resolution, you ### will likely need to request additional memory, cores, and time. ### ### -c : Requests this many cores ### -N : Requests a single node ### --mem : Requests this amount of memory in GB ### -p : Requests these partitions where the job can run ### -t : Requests time for the job (days-hours:minutes) ### --exclusive : Reserves entire nodes (i.e. to prevent backfilling jobs) ############################################################################### # Set the proper # of threads for OpenMP # SLURM_CPUS_PER_TASK ensures this matches the number you set with -c above export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK # Run GEOS_Chem. The "time" command will return CPU and wall times. # Stdout and stderr will be directed to the "GC.log" log file # (you can change the log file name below if you wish) srun -c $OMP_NUM_THREADS time -p ./gcclassic >> GC.log # Exit normally exit 0 ================================================ FILE: run/GCClassic/runScriptSamples/operational_examples/harvard_cannon/geoschem.vtune-hotspots.run ================================================ #!/bin/bash #SBATCH -c 48 #SBATCH -N 1 #SBATCH -t 0-12:00 #SBATCH --exclusive #SBATCH -p huce_cascade,shared #SBATCH --mem=15000 #SBATCH --mail-type=END ############################################################################### ### Sample GEOS-Chem Classic run script for Harvard Cannon (using SLURM). ### ### If you are running a nested-grid simulation at fine resolution, you ### will likely need to request additional memory, cores, and time. ### ### -c : Requests this many cores ### -N : Requests a single node ### --mem : Requests this amount of memory in GB ### -p : Requests these partitions where the job can run ### -t : Requests time for the job (days-hours:minutes) ### --exclusive : Reserves entire nodes (i.e. to prevent backfilling jobs) ############################################################################### # Load the GNU 12.2.0 environment source CodeDir/run/runScriptSamples/operational_examples/harvard_cannon/gcclassic.gcc12_cannon_rocky.env # Set the proper # of threads for OpenMP # SLURM_CPUS_PER_TASK ensures this matches the number you set with -c above export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK # Run GEOS_Chem and collect hotspot information with Intel VTune srun -c $OMP_NUM_THREADS vtune -collect hotspots -- ./gcclassic > GC.log # Exit with return code exit $? ================================================ FILE: run/GCClassic/runScriptSamples/operational_examples/harvard_cannon/geoschem.vtune-perf-snapshot.run ================================================ #!/bin/bash #SBATCH -c 48 #SBATCH -N 1 #SBATCH -t 0-12:00 #SBATCH --exclusive #SBATCH -p huce_cascade,shared #SBATCH --mem=15000 #SBATCH --mail-type=END ############################################################################### ### Sample GEOS-Chem Classic run script for Harvard Cannon (using SLURM). ### ### If you are running a nested-grid simulation at fine resolution, you ### will likely need to request additional memory, cores, and time. ### ### -c : Requests this many cores ### -N : Requests a single node ### --mem : Requests this amount of memory in GB ### -p : Requests these partitions where the job can run ### -t : Requests time for the job (days-hours:minutes) ### --exclusive : Reserves entire nodes (i.e. to prevent backfilling jobs) ############################################################################### # Load the GNU 12.2.0 environment source CodeDir/run/runScriptSamples/operational_examples/harvard_cannon/gcclassic.gcc12_cannon_rocky.env # Set the proper # of threads for OpenMP # SLURM_CPUS_PER_TASK ensures this matches the number you set with -c above export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK # Run GEOS_Chem and collect microarchitectural information with Intel VTune srun -c $OMP_NUM_THREADS vtune -collect performance-snapshot -- ./gcclassic > GC.log # Exit with return code exit $? ================================================ FILE: run/GCClassic/runScriptSamples/operational_examples/harvard_cannon/geoschem.vtune-threading.run ================================================ #!/bin/bash #SBATCH -c 48 #SBATCH -N 1 #SBATCH -t 0-12:00 #SBATCH --exclusive #SBATCH -p huce_cascade,shared #SBATCH --mem=15000 #SBATCH --mail-type=END ############################################################################### ### Sample GEOS-Chem Classic run script for Harvard Cannon (using SLURM). ### ### If you are running a nested-grid simulation at fine resolution, you ### will likely need to request additional memory, cores, and time. ### ### -c : Requests this many cores ### -N : Requests a single node ### --mem : Requests this amount of memory in GB ### -p : Requests these partitions where the job can run ### -t : Requests time for the job (days-hours:minutes) ### --exclusive : Reserves entire nodes (i.e. to prevent backfilling jobs) ############################################################################### # Load the GNU 12.2.0 environment source CodeDir/run/runScriptSamples/operational_examples/harvard_cannon/gcclassic.gcc12_cannon_rocky.env # Set the proper # of threads for OpenMP # SLURM_CPUS_PER_TASK ensures this matches the number you set with -c above export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK # Run GEOS_Chem and collect microarchitectural information with Intel VTune # -knob stack-size=0 specifies unlimited stack size srun -c $OMP_NUM_THREADS vtune -collect threading -knob stack-size=0 -- ./gcclassic > GC.log # Exit with return code exit $? ================================================ FILE: run/GCClassic/runScriptSamples/operational_examples/harvard_cannon/geoschem.vtune-uarch-explore.run ================================================ #!/bin/bash #SBATCH -c 48 #SBATCH -N 1 #SBATCH -t 0-12:00 #SBATCH --exclusive #SBATCH -p huce_cascade,shared #SBATCH --mem=15000 #SBATCH --mail-type=END ############################################################################### ### Sample GEOS-Chem Classic run script for Harvard Cannon (using SLURM). ### ### If you are running a nested-grid simulation at fine resolution, you ### will likely need to request additional memory, cores, and time. ### ### -c : Requests this many cores ### -N : Requests a single node ### --mem : Requests this amount of memory in GB ### -p : Requests these partitions where the job can run ### -t : Requests time for the job (days-hours:minutes) ### --exclusive : Reserves entire nodes (i.e. to prevent backfilling jobs) ############################################################################### # Load the GNU 12.2.0 environment source CodeDir/run/runScriptSamples/operational_examples/harvard_cannon/gcclassic.gcc12_cannon_rocky.env # Set the proper # of threads for OpenMP # SLURM_CPUS_PER_TASK ensures this matches the number you set with -c above export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK # Run GEOS_Chem and collect microarchitectural information with Intel VTune srun -c $OMP_NUM_THREADS vtune -collect uarch-exploration -- ./gcclassic > GC.log # Exit with return code exit $? ================================================ FILE: run/GCClassic/runScriptSamples/operational_examples/harvard_cannon/parallelTest.sh ================================================ #!/bin/bash #SBATCH -c 24 #SBATCH -N 1 #SBATCH -t 0-03:00 #SBATCH -p sapphire,huce_cascade,seas_compute,shared #SBATCH --mem=30000 #SBATCH --mail-type=END ############################################################################# ### parallelTest.sh ### ### Performs a 1-hour GCClassic parallel test on Cannon within a ### freshly-created run directory. Uses 24 and 13 cores, which seems ### to reveal most parallelization issues. Useful for when you only ### want to run a single parallel test instead of a whole suite of tests. ############################################################################# #============================================================================ # %%% User-configurable settings %%% #============================================================================ allCores=24 # Run w/ same # cores as in #SBATCH -c fewerCores=13 # Run with fewer cores hhmm="0100" # Duration of run in hhmm resultsLog="parallel.results.log" # Logfile for results #============================================================================ # %%% Bash functions %%% #============================================================================ function get_subdir_name() { #======================================================================== # Returns the subdirectory of OutputDir (or Restarts) where files # corresponding to a certain number of cores will be moved. # # 1st argument: Number of cores #======================================================================== printf "${1}_cores" return 0 } function find_restart_file() { #======================================================================== # Returns the path of a GEOS-Chem restart file in a subdirectory # # 1st argument: Subdirectory (obtained from get_subdir_name) #======================================================================== r=$(ls -1 -tr "Restarts/${1}" | grep "GEOS" | grep "${hhmm}" | head -1) printf "Restarts/${1}/${r}" return 0 } function get_logfile_name() { #======================================================================== # Returns the log file name corresponding to the number of cores # # 1st argument: Number of cores #======================================================================== subdir=$(get_subdir_name "${1}") printf "parallel.${subdir}.log" return 0 } function score_parallel_test() { #======================================================================== # Determines if the parallelization test was successful by checking # that the restart files from both runs are bitwise identical. # # 1st argument: Folder where the 24 core restart file is located. # 2nd argument: Folder where the 13 core restart file is located. # 3rd argument: Name of the log file to print results #======================================================================== # Arguments subDir1=$(get_subdir_name "${1}") subDir2=$(get_subdir_name "${2}") results="${3}" # Restart file names from both parallel test runs rstFile1=$(find_restart_file "${subDir1}") rstFile2=$(find_restart_file "${subDir2}") # Exit if eiher restart file does not exist [[ ! -f "${rstFile1}" ]] && return 1 [[ ! -f "${rstFile2}" ]] && return 1 # Remove the results log if it exists [[ -f "${results}" ]] && rm -f "${results}" # If the files are bitwise identical then the pqarallel test is successful diff "${rstFile1}" "${rstFile2}" if [[ $? -eq 0 ]]; then printf "\n\nParallel test result: PASS\n" >> "${results}" date >> "${results}" return 0 fi printf "\n\nParallel test result: FAIL\n" >> "${results}" date >> "${results}" return 1 } function edit_config_files() { #======================================================================== # Edits start times, end times, frequency, and duration in the various # run directory configuration files. #======================================================================== # Replace ending time in geoschem_config.yml sed -i -e "s/20190801, ....../20190701, ${hhmm}00/" geoschem_config.yml sed -i -e "s/20190201, ....../20190101, ${hhmm}00/" geoschem_config.yml sed -i -e "s/20190201, ....../20190101, ${hhmm}00/" geoschem_config.yml sed -i -e "s/20130201, ....../20130101, ${hhmm}00/" geoschem_config.yml sed -i -e "s/20110201, ....../20110101, ${hhmm}00/" geoschem_config.yml # Replace freq & duration in HISTORY.rc sed -i -e "s/00000100 ....../00000000 ${hhmm}00/" HISTORY.rc # Change time cycle flag in HEMCO_Config.rc from EFYO to CYS, # to allow missing species to be set a default value. # Also make sure that sed -i -e "s/EFYO/CYS/" HEMCO_Config.rc # GC_RESTART sed -i -e "s/EFY xyz 1/CYS xyz 1/" HEMCO_Config.rc # GC_BCs # Make sure we get a HEMCO_diagnostics file in the output sed -i -e "s/DiagnFreq: Monthly/DiagnFreq: End/" HEMCO_Config.rc # Return success return 0 } function move_files() { #======================================================================== # Moves diagnostic or restart files to a subdirectory # # 1st argument: Directory name ("OutputDir" or "Restarts") #======================================================================== # Arguments dirName="${1}" subDir="${2}" runLog="${3}" # Make the folder if it does not exist [[ ! -d "${dirName}/${subDir}" ]] && mkdir -p "${dirName}/${subDir}" # Restart files have end timestamp; diagnostics have start timestamp [[ "x${dirName}" == "xRestarts" ]] && stamp="${hhmm}" || stamp="0000" # Move ouptut for file in ${dirName}/*${stamp}*.nc*; do file="${file/${dirName}\/}" srcFile="${dirName}/${file}" trgFile="${dirName}/${subDir}/${file}" echo "Moving ${srcFile} to ${trgFile}" >> "${runLog}" mv "${srcFile}" "${trgFile}" done } function run_gcclassic() { #======================================================================== # Runs a GEOS-Chem Classic simulation with the specified number of # OpenMP cores. Copies diagnostics and restart files to the proper # subdirectory in order to facilitate comparison. # # 1st argument: Number of cores for OpenMP #======================================================================== # Get the log file and subdirectory names from the # of cores runLog=$(get_logfile_name "${1}") subDir=$(get_subdir_name "${1}") # Remove any leftover files in the run dir ./cleanRunDir.sh --no-interactive >> "${runLog}" # Run GEOS-Chem Classic export OMP_NUM_THREADS="${1}" export OMP_STACKSIZE="500m" echo "Now using ${OMP_NUM_THREADS} cores" >> "${runLog}" srun -c ${OMP_NUM_THREADS} ./gcclassic >> "${runLog}" # Move files to the proper subdirectory for later comparison move_files "OutputDir" "${subDir}" "${runLog}" move_files "Restarts" "${subDir}" "${runLog}" # Return success return 0 } function main() { #======================================================================== # Performs a parallelization test with the settings specified above. #======================================================================== # Error check if [[ ! -f ./gcclassic ]]; then echo "Error...Could not find gcclassic executable!" >> $results exit 1 fi # Perform the Parallel test edit_config_files run_gcclassic "${allCores}" run_gcclassic "${fewerCores}" score_parallel_test "${allCores}" "${fewerCores}" "${resultsLog}" return $? } #============================================================================ # Call the main program and return its status #============================================================================ main $@ exit $? ================================================ FILE: run/GCClassic/runScriptSamples/operational_examples/msu_orion/README ================================================ Contact: Lizzie Lundgren GEOS-Chem Support Team at Harvard University geos-chem-support@g.harvard.edu ================================================ FILE: run/GCClassic/runScriptSamples/operational_examples/msu_orion/gcclassic.carbon.build ================================================ #!/bin/bash # For MSU Orion cluster #SBATCH --time 00:05:00 #SBATCH --nodes=1 --ntasks-per-node=12 #SBATCH --mem 3G #SBATCH --job-name=gcclassic.build # Assumes file or symbolic link gcclassic.env is in run directory source gcclassic.env cd build cmake ../CodeDir -DRUNDIR=.. -DMECH=carbon make -j make install cd .. ================================================ FILE: run/GCClassic/runScriptSamples/operational_examples/msu_orion/gcclassic.intel-2022.2.1.env ================================================ # Environment file to load before building and running GEOS-Chem Classic # on the MSU Orion cluster # - Lizzie Lundgren, GEOS-Chem Support Team, 27Jan2025 module purge # Modules need to build and run GEOS-Chem Classic module load intel-oneapi-compilers/2022.2.1 module load intel-oneapi-mpi/2021.7.1 module load hdf5/1.12.2 module load netcdf-c/4.9.0 module load netcdf-fortran/4.6.0 ## Other potentially useful modules for analyses and code development #module load intel-oneapi-mkl/2022.2.1 #module load hdf4/4.2.16 #module load r/4.2.2 #module load nco/5.0.1 #module load udunits/2.2.28 #module load zlib/1.2.13 #module load nco/5.0.1 #module load libszip/2.1.1 #module load ffmpeg/4.4.1 #module load ncl/6.6.2 #module load gdal/3.5.3 #module load gmt/6.2.0 #module load ghostscript/9.56.1 #module load imagemagick/7.0.8-7 #module load contrib noaatools #module load python/3.10.8 #module load ncview # Environment variables and settings needed for GEOS-Chem Classic export CC=icx export CXX=icx export FC=ifort export F77=${FC} if [[ "x${NETCDF_HOME}" == "x" ]]; then export NETCDF_HOME="${NETCDF_C_HOME}" fi export NETCDF_C_ROOT="${NETCDF_HOME}" export NETCDF_FORTRAN_ROOT="${NETCDF_FORTRAN_HOME}" # Require memory settings ulimit -c unlimited # coredumpsize ulimit -u 50000 # maxproc ulimit -v unlimited # vmemoryuse ulimit -s unlimited # stacksize export OMP_STACKSIZE=500m ================================================ FILE: run/GCClassic/runScriptSamples/operational_examples/msu_orion/gcclassic.run ================================================ #!/bin/bash #SBATCH -c 24 #SBATCH -N 1 #SBATCH -t 0-00:30 #SBATCH --mem=15G #SBATCH --qos=batch ############################################################################### ### Sample GEOS-Chem Classic run script for Harvard Cannon (using SLURM). ### ### If you are running a nested-grid simulation at fine resolution, you ### will likely need to request additional memory, cores, and time. ### ### -c : Requests this many cores ### -N : Requests a single node ### --mem : Requests this amount of memory in GB ### -p : Requests these partitions where the job can run ### -t : Requests time for the job (days-hours:minutes) ### --exclusive : Reserves entire nodes (i.e. to prevent backfilling jobs) ############################################################################### # Set the proper # of threads for OpenMP # SLURM_CPUS_PER_TASK ensures this matches the number you set with -c above export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK # Run GEOS_Chem ./gcclassic >> GC.log # Exit normally exit 0 ================================================ FILE: run/GCClassic/runScriptSamples/operational_examples/nasa_discover/README ================================================ Contact: Lizzie Lundgren GEOS-Chem Support Team at Harvard University geos-chem-support@g.harvard.edu ================================================ FILE: run/GCClassic/runScriptSamples/operational_examples/nasa_discover/gcclassic.build ================================================ #!/bin/bash # For discover #SBATCH --time 00:05:00 #SBATCH --nodes=1 --ntasks-per-node=12 #SBATCH --mem 3G #SBATCH --job-name=gcclassic.build #SBATCH --constraint=mil #SBATCH --account=s____ # Assumes file or symbolic link gcclassic.env is in run directory source gcclassic.env cd build cmake ../CodeDir -DRUNDIR=.. make -j make install cd .. ================================================ FILE: run/GCClassic/runScriptSamples/operational_examples/nasa_discover/gcclassic.run ================================================ #!/bin/bash # For use on NASA discover cluster. Edit prior to run. #SBATCH --time 00:10:00 #SBATCH --nodes=1 --ntasks-per-node=24 #SBATCH --mem 10G #SBATCH --job-name=gcclassic.run #SBATCH --constraint=mil #SBATCH --account=s____ ##SBATCH --exclusive ##SBATCH --qos=debug ##SBATCH --qos=long # Assume file or symbolic link gcclassic.env exists in run directory source gcclassic.env ./gcclassic > GC.log ================================================ FILE: run/GCClassic/runScriptSamples/operational_examples/nasa_discover/geoschem.SLES15.stack-gcc-12.3.0.env ================================================ #!/bin/bash # Use this environment with GC-Classic, GCHP, and ESMF on SLES15, e.g. milan ('ssh discover-mil') # See also https://spack-stack.readthedocs.io/en/latest/PreConfiguredSites.html#nasa-discover-scu17 module purge module use /discover/swdev/gmao_SIteam/modulefiles-SLES15 module use /discover/swdev/jcsda/spack-stack/scu17/modulefiles module load ecflow/5.11.4 module use /gpfsm/dswdev/jcsda/spack-stack/scu17/spack-stack-1.7.0/envs/ue-gcc-12.3.0/install/modulefiles/Core module load stack-gcc/12.3.0 module load stack-openmpi/4.1.6 module load stack-python/3.10.13 module load cmake/3.28.2 module load git/2.42.0 module load netcdf-fortran/4.6.1 umask 022 export CC=gcc export CXX=g++ export FC=gfortran # MPI export MPI_ROOT=${MPI_HOME} # For ESMF export ESMF_COMPILER=gfortran export ESMF_COMM=openmpi export ESMF_DIR=/gpfsm/dnb06/projects/p113/ewlundgr/GCHP/ESMF export ESMF_INSTALL_PREFIX=${ESMF_DIR}/INSTALL_SLES15_stack-gcc-12.3.0 # For GCHP export ESMF_ROOT=${ESMF_INSTALL_PREFIX} ulimit -l unlimited ulimit -u 50000 ulimit -v unlimited ulimit -s unlimited OMP_STACKSIZE=500m ================================================ FILE: run/GCClassic/runScriptSamples/operational_examples/nasa_discover/geoschem.SLES15.stack-intel-2021.10.0.env ================================================ #!/bin/bash # Use this environment with GC-Classic, GCHP, and ESMF on SLES15, e.g. milan ('ssh discover-mil') # See also https://spack-stack.readthedocs.io/en/latest/PreConfiguredSites.html#nasa-discover-scu17 module purge module use /discover/swdev/gmao_SIteam/modulefiles-SLES15 module use /discover/swdev/jcsda/spack-stack/scu17/modulefiles module load ecflow/5.11.4 module use /gpfsm/dswdev/jcsda/spack-stack/scu17/spack-stack-1.7.0/envs/ue-intel-2021.10.0/install/modulefiles/Core module load stack-intel/2021.10.0 module load stack-intel-oneapi-mpi/2021.10.0 module load stack-python/3.10.13 module load cmake/3.28.2 module load git/2.42.0 module load netcdf-fortran/4.6.1 umask 022 export CC=icc export CXX=icpc export FC=ifort # MPI export MPI_ROOT=${MPI_HOME} # For ESMF export ESMF_COMPILER=intel export ESMF_COMM=intelmpi export ESMF_DIR=/gpfsm/dnb06/projects/p113/ewlundgr/GCHP/ESMF export ESMF_INSTALL_PREFIX=${ESMF_DIR}/INSTALL_SLES15_stack-intel-2021.10.0 # For GCHP export ESMF_ROOT=${ESMF_INSTALL_PREFIX} ulimit -l unlimited ulimit -u 50000 ulimit -v unlimited ulimit -s unlimited OMP_STACKSIZE=500m ================================================ FILE: run/GCClassic/runScriptSamples/operational_examples/ncar_derecho/gcclassic.intel2024.env ================================================ # Environment file to load before building the GCClassic executable # on the Derecho cluster # - Samuel Akinjole, Drexel University, 27May2025 module purge #Load relevant modules module load intel/2024.2.1 module load hdf5/1.12.3 module load netcdf/4.9.2 module load cmake/3.26.6 module load nco/5.3.1 module load cdo/2.4.4 #Selecting compilers (specifying environment variables) export CC=icc export CXX=icpc export FC=ifort ================================================ FILE: run/GCClassic/runScriptSamples/operational_examples/ncar_derecho/geoschem.run ================================================ #!/bin/bash # Sample script for use on the NCAR Derecho Cluster. Edit before running. #PBS -N Project_title (e.g GCClassic run) #PBS -A Project_ID #PBS -j oe #PBS -k eod #PBS -m abe #PBS -M user@domain.edu #PBS -q main #PBS -l walltime=1:30:00 ## Request 128 CPUS for 128 threads and large memory nodes #PBS -l select=1:ncpus=128:ompthreads=128:mem=230GB #Load the modules with the environment file before compiling GCClassic source gcclassic.intel2024.env # An optional step, and can be commented out if not using scratch: export TMPDIR=/glade/derecho/scratch/$USER/tmp/$PBS_JOBID mkdir -p $TMPDIR cd "$TMPDIR" # Copy necessary input files from permanent storage cp -r /glade/work/$USER/rundirs/gc_4x5_merra2_fullchem/* . ### Run OpenMP program ulimit -s unlimited export OMP_STACKSIZE=500m #------------------------------------------------- # Initialize #------------------------------------------------- # Define GEOS-Chem log file log=GC.log #------------------------------------------------- # Start the simulation #------------------------------------------------- # Run GEOS-Chem and pipe output to log time -p ./gcclassic > $log 2>&1 # Echo end time echo '===> Run ended at' `date` >> $log #------------------------------------------------- # Clean up #------------------------------------------------- # Clear variable unset log # Copy necessary output files back (an optional step and can be commented out) cp -r ./OutputDir/* /glade/work/$USER/rundirs/gc_4x5_merra2_fullchem/OutputDir/ cp -r ./Restarts/* /glade/work/$USER/rundirs/gc_4x5_merra2_fullchem/Restarts/ cp -r ./GC.log /glade/work/$USER/rundirs/gc_4x5_merra2_fullchem/GC.log # Exit normally exit 0 #EOC ================================================ FILE: run/GCClassic/runScriptSamples/operational_examples/york_viking/README ================================================ Contact: Killian Murphy at The University of York killian.murphy@york.ac.uk ================================================ FILE: run/GCClassic/runScriptSamples/operational_examples/york_viking/gcclassic.intel.2021b.viking.env ================================================ #!/usr/bin/env bash #=============================================================================== # Load modules #=============================================================================== module purge module load toolchain/intel/2021b module load devel/CMake/3.22.1-GCCcore-11.2.0 module load tools/git/2.33.1-GCCcore-11.2.0-nodocs module load data/netCDF/4.8.1-iimpi-2021b module load data/netCDF-Fortran/4.5.3-iimpi-2021b module load data/netCDF-C++4/4.3.1-iimpi-2021b module load lang/flex/2.6.4-GCCcore-11.2.0 module load lang/Bison/3.7.6-GCCcore-11.2.0 #=============================================================================== # Set environment variables #=============================================================================== export CC="icc" export CXX="icpc" export FC="ifort" ================================================ FILE: run/GCClassic/runScriptSamples/operational_examples/york_viking/gcclassic.intel.sbatch ================================================ #!/usr/bin/env bash #=============================================================================== #SBATCH --job-name=GC-CLASSIC_JOB_NAME #SBATCH --mail-user=USER@york.ac.uk #SBATCH --mail-type=ALL #SBATCH --account=YOUR-VIKING-ACCOUNT-CODE #SBATCH --output=%x_%j.log #------------------------------------------------------------------------------- #SBATCH --partition=nodes #SBATCH --ntasks=1 #SBATCH --cpus-per-task=20 #SBATCH --mem=40G #SBATCH --time=JOB_TIME #=============================================================================== set -e # SET UP CLEAN MODULES: source runScriptSamples/operational_examples/york_viking/gcclassic.intel.2021b.viking.env # SET OPENMP VARIABLES: export OMP_NUM_THREADS="${SLURM_CPUS_PER_TASK}" export OMP_STACKSIZE=500m # CHANGE USER LIMITS: ulimit -s unlimited # RUN GC CLASSIC: srun ./gcclassic ================================================ FILE: run/GCClassic/setupForRestarts.sh ================================================ #!/bin/bash #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !MODULE: setupForRestarts.sh # # !DESCRIPTION: Contains bash functions for copying GEOS-Chem Classic # restart files from a remote location to the run directory. The restart # file paths are read from the relevant download_data.yml file so that # these paths can be updated in a single location. #\\ #\\ # !REVISION HISTORY: # 25 Nov 2023 - Initial version - R. Yantosca # See the Git history for additional updates #------------------------------------------------------------------------------ #BOC function parseYaml() { #======================================================================== # Portable bash YAML parser by Stefan Farestam # See: stackoverflow.com/questions/5014632/how-can-i-parse-a-yaml-file-from-a-linux-shell-script # # 1st argument: YAML file to be parsed # # Usage: list=$(parse_yaml myfile.yaml) #======================================================================== local prefix=$2 local s='[[:space:]]*' w='[a-zA-Z0-9_]*' fs=$(echo @|tr @ '\034') sed -ne "s|^\($s\):|\1|" \ -e "s|^\($s\)\($w\)$s:$s[\"']\(.*\)[\"']$s\$|\1$fs\2$fs\3|p" \ -e "s|^\($s\)\($w\)$s:$s\(.*\)$s\$|\1$fs\2$fs\3|p" $1 | awk -F$fs '{ indent = length($1)/2; vname[indent] = $2; for (i in vname) {if (i > indent) {delete vname[i]}} if (length($3) > 0) { vn=""; for (i=0; i EY) # sim_name="${1}" # 1st argument: Simulation name sim_extra_option="${2}" # 2nd argument: Simulation extra option #======================================================================== if [[ "x${sim_extra_option}" == "xaciduptake" || "x${sim_extra_option}" == "xmarinePOA" || "x${sim_extra_option}" == "xcomplexSOA_SVPOA" || "x${sim_extra_option}" == "xAPM" || "x${sim_name}" == "xPOPs" || "x${sim_name}" == "xtagO3" ]]; then old="SpeciesRst_?ALL? \$YYYY/\$MM/\$DD/\$HH EFYO" new="SpeciesRst_?ALL? \$YYYY/\$MM/\$DD/\$HH EY " sed_ie "s|${old}|${new}|" HEMCO_Config.rc printf "\n -- The sample restart provided for this simulation may not" printf "\n contain all species defined in this simulation. Missing" printf "\n species will be assigned default background concentrations." printf "\n Check your GEOS-Chem log file for details. As always, it" printf "\n is recommended that you spin up your simulation to ensure" printf "\n proper initial conditions.\n" fi return $? } function copyRestartToRunDir() { #======================================================================== # Copies a restart file to a run directory for a given # GEOS-Chem Classic simulation. # sim_name="${1}" # 1st argument: Simulation name sim_extra_option="${2}" # 2nd argument: Extra option for simulation rst_root="${3}" # 3rd argument: Remote restart file dir loc_root="${4}" # 4th argument: Local restart file dir #======================================================================== # Determine the remote and local restart file paths for each simulation if [[ "x${sim_name}" == "xaerosol" ]]; then remote_rst=$(getAerosolRemote "${rst_root}") local_rst=$(getAerosolLocal "${loc_root}") elif [[ "x${sim_name}" == "xcarbon" ]]; then remote_rst=$(getCarbonRemote "${rst_root}") local_rst=$(getCarbonLocal "${loc_root}") elif [[ "x${sim_name}" == "xfullchem" ]]; then # NOTE: Also handles TOMAS40 and TOMAS15 remote_rst=$(getFullchemRemote "${sim_extra_option}" "${rst_root}") local_rst=$(getFullchemLocal "${sim_extra_option}" "${loc_root}") elif [[ "x${sim_name}" == "xmetals" ]]; then remote_rst=$(getMetalsRemote "${rst_root}") local_rst=$(getMetalsLocal "${loc_root}") elif [[ "x${sim_name}" == "xHg" ]]; then remote_rst=$(getMercuryRemote "${rst_root}") local_rst=$(getMercuryLocal "${loc_root}") elif [[ "x${sim_name}" == "xPOPs" ]]; then remote_rst=$(getPOPsRemote "${rst_root}") local_rst=$(getPOPsLocal "${loc_root}") elif [[ "x${sim_name}" == "xtagO3" ]]; then remote_rst=$(getTagO3Remote "${rst_root}") local_rst=$(getTagO3Local "${loc_root}") elif [[ "x${sim_name}" == "xTransportTracers" ]]; then remote_rst=$(getTracersRemote "${rst_root}") local_rst=$(getTracersLocal "${loc_root}") fi # Copy the restart file to the run directory (for AWS or on a local server) copyRemoteToLocal "${remote_rst}" "${local_rst}" "${is_aws}" "${s3_cp}" return $? } ================================================ FILE: run/GCHP/.gitignore ================================================ *.[oax] *.mod *.MOD *~* *.swp *.bak *.patch *.diff diffs bak misc *.pp.* *.pdb *.inst.* *.continue.* *.ppk *.log bin/* build/ build_*/ *___.h *___.rc core.* ================================================ FILE: run/GCHP/CAP.rc.template ================================================ ROOT_NAME: GCHP ROOT_CF: GCHP.rc HIST_CF: HISTORY.rc BEG_DATE: 19600101 000000 END_DATE: 22000101 000000 JOB_SGMT: ${RUNDIR_SIM_DUR_YYYYMMDD} ${RUNDIR_SIM_DUR_HHmmSS} HEARTBEAT_DT: 600 MAPL_ENABLE_TIMERS: YES MAPL_ENABLE_MEMUTILS: YES PRINTSPEC: 0 # (0: OFF, 1: IMPORT & EXPORT, 2: IMPORT, 3: EXPORT) USE_SHMEM: 0 REVERSE_TIME: 0 USE_EXTDATA2G: .FALSE. ================================================ FILE: run/GCHP/ESMF.rc ================================================ logKindFlag: ESMF_LOGKIND_NONE # ESMF_LOGKIND options for ESMF logging. Options include: # ESMF_LOGKIND_NONE - no ESMF logging # ESMF_LOGKIND_SINGLE - one log file (ESMF_LogFile) # ESMF_LOGKIND_MULTI - one log file per core (PET#.ESMF_LogFile) # ESMF_LOGKIND_MULTI_ON_ERROR - one log file per core if error (PET#.ESMF_LogFile)) ================================================ FILE: run/GCHP/ExtData.rc.templates/ExtData.rc.TransportTracers ================================================ Ext_AllowExtrap: .true. # PrimaryExports%% #--------|-------|------|------------|---------------|--------|-------|---------------------| # Export | | | |___ Refresh ___|____ Factors ___|___ External File ___| # Name | Units | Clim |Conservative| Time Template | Offset | Scale | Variable | Template | #--------|-------|------|------------|---------------|--------|-------|----------|----------| # # Notes: # Units should be in single quotes if they contain whitespace # Climatology should be Y if the file contains monthly climatology; otherwise it should be N # Conservative should be Y if units imply mass conservation dependency on regrid method (e.g. value per area) # Refresh Time Template should be: # 1. - if the file contains time-invariant constants # 2. prefixed with F if no time interpolation between data reads (F = fixed) # 3. 0 if data should be kept up-to-date at all times # 4. 0:HHMMSS if data occurs in file with frequency HHMMSS and should be updated at that frequency # 5. %y4-%m2-%d2T%h2:00:00, with any tokens replaced by appropriate constant time value, if multiple time # values are in the same file. Note that including an F prefix indicates the data should be treated # as constant until the next refresh time. Omission of the F prefix will time-interpolate between # the values. # Minimize whitespace wherever possible to avoid surpassing the ESMF read buffer character limit, # applicable only for uncommented lines. # ############################################################################### ### ### Meteorology data ### ############################################################################### ${RUNDIR_MET_EXTDATA_PRIMARY_EXPORTS} # #============================================================================== # --- Fields for lightning emissions (Extension 103) --- # Not used but included in Chem_Registry.rc import list #============================================================================== FLASH_DENS 1 N N - none none LDENS /dev/null CONV_DEPTH 1 N N - none none CTH /dev/null ############################################################################### ### ### Land data (not handled by HEMCO) ### ############################################################################### # #============================================================================== # Olson land types #============================================================================== # Use conservative fraction regridding to extract land type fraction OLSON00 1 N F;0 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON01 1 N F;1 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON02 1 N F;2 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON03 1 N F;3 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON04 1 N F;4 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON05 1 N F;5 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON06 1 N F;6 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON07 1 N F;7 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON08 1 N F;8 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON09 1 N F;9 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON10 1 N F;10 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON11 1 N F;11 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON12 1 N F;12 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON13 1 N F;13 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON14 1 N F;14 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON15 1 N F;15 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON16 1 N F;16 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON17 1 N F;17 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON18 1 N F;18 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON19 1 N F;19 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON20 1 N F;20 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON21 1 N F;21 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON22 1 N F;22 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON23 1 N F;23 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON24 1 N F;24 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON25 1 N F;25 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON26 1 N F;26 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON27 1 N F;27 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON28 1 N F;28 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON29 1 N F;29 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON30 1 N F;30 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON31 1 N F;31 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON32 1 N F;32 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON33 1 N F;33 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON34 1 N F;34 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON35 1 N F;35 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON36 1 N F;36 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON37 1 N F;37 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON38 1 N F;38 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON39 1 N F;39 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON40 1 N F;40 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON41 1 N F;41 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON42 1 N F;42 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON43 1 N F;43 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON44 1 N F;44 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON45 1 N F;45 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON46 1 N F;46 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON47 1 N F;47 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON48 1 N F;48 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON49 1 N F;49 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON50 1 N F;50 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON51 1 N F;51 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON52 1 N F;52 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON53 1 N F;53 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON54 1 N F;54 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON55 1 N F;55 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON56 1 N F;56 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON57 1 N F;57 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON58 1 N F;58 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON59 1 N F;59 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON60 1 N F;60 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON61 1 N F;61 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON62 1 N F;62 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON63 1 N F;63 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON64 1 N F;64 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON65 1 N F;65 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON66 1 N F;66 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON67 1 N F;67 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON68 1 N F;68 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON69 1 N F;69 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON70 1 N F;70 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON71 1 N F;71 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON72 1 N F;72 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc # #============================================================================== # Yuan-processed MODIS Leaf Area Index #============================================================================== # # Use file with land type stored as 3rd dimension to speed up file read XLAIMULTI cm2_cm-2 N Y %y4-%m2-%d2T00:00:00 none none XLAIMULTI ./HcoDir/Yuan_XLAI/v2021-06/Condensed_Yuan_proc_MODIS_XLAI.025x025.%y4.nc # ############################################################################### ### ### HEMCO Base Emissions (Update if HEMCO_Config.rc changes) ### ############################################################################### # #============================================================================== # SF6 emissions from EDGAR v4.2 #============================================================================== EDGAR_SF6 1 N Y F%y4-01-01T00:00:00 none none emi_sf6 ./HcoDir/SF6/v2019-01/EDGAR_v42_SF6_IPCC_2.generic.01x01.nc # #============================================================================== # --- EDGAR v4.3 (EDGARv4.3) --- # EDGARv4.3 is turned off by default in HEMCO_Config.rc #============================================================================== EDGAR_CO_25_POW kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_co ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.CO.POW.0.1x0.1.nc EDGAR_CO_25_ENG kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_co ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.CO.ENG.0.1x0.1.nc EDGAR_CO_25_IND kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_co ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.CO.IND.0.1x0.1.nc EDGAR_CO_25_TRO kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_co ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.CO.TRO.0.1x0.1.nc EDGAR_CO_25_TNG kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_co ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.CO.TNG.0.1x0.1.nc EDGAR_CO_25_RCO kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_co ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.CO.RCO.0.1x0.1.nc EDGAR_CO_25_PPA kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_co ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.CO.PPA.0.1x0.1.nc #EDGAR_CO_25_AWB kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_co ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.CO.AWB.0.1x0.1.nc EDGAR_CO_25_SWD kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_co ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.CO.SWD.0.1x0.1.nc EDGAR_CO_25_FFF kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_co ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.CO.FFF.0.1x0.1.nc # #============================================================================== # --- CEDS (CEDS_01x01) --- #============================================================================== CEDS_CO_25_AGR kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CO_agr ./HcoDir/CEDS/v2024-06/%y4/CEDS_CO_0.1x0.1_%y4.nc CEDS_CO_25_ENE kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CO_ene ./HcoDir/CEDS/v2024-06/%y4/CEDS_CO_0.1x0.1_%y4.nc CEDS_CO_25_IND kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CO_ind ./HcoDir/CEDS/v2024-06/%y4/CEDS_CO_0.1x0.1_%y4.nc CEDS_CO_25_TRA kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CO_tra ./HcoDir/CEDS/v2024-06/%y4/CEDS_CO_0.1x0.1_%y4.nc CEDS_CO_25_RCO kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CO_rco ./HcoDir/CEDS/v2024-06/%y4/CEDS_CO_0.1x0.1_%y4.nc CEDS_CO_25_SLV kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CO_slv ./HcoDir/CEDS/v2024-06/%y4/CEDS_CO_0.1x0.1_%y4.nc CEDS_CO_25_WST kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CO_wst ./HcoDir/CEDS/v2024-06/%y4/CEDS_CO_0.1x0.1_%y4.nc CEDS_CO_25_SHP kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CO_shp ./HcoDir/CEDS/v2024-06/%y4/CEDS_CO_0.1x0.1_%y4.nc # ############################################################################### ### ### HEMCO Extensions Data (update if HEMCO_Config.rc changes) ### ############################################################################### # ZHANG_Rn222_EMIS kg/m2/s N Y F%y4-%m2-01T00:00:00 none none rnemis ./HcoDir/ZHANG_Rn222/v2021-11/Rn222_Emis_Zhang_Liu_et_al_05x05_mass.nc # ############################################################################### ### ### HEMCO Non-Emissions Data (update if HEMCO_Config.rc changes) ### ############################################################################### # #============================================================================== # --- Time zones (offset to UTC) --- #============================================================================== TIMEZONES count Y V 2017-%m2-01T00:00:00 none none UTC_OFFSET ./HcoDir/TIMEZONES/v2024-02/timezones_vohra_2017_0.1x0.1.nc # ############################################################################### ### ### HEMCO Scale Factors (update if HEMCO_Config.rc changes) ### ############################################################################### # #============================================================================== # --- annual scale factors --- #============================================================================== LIQFUEL_THISYR 1 N Y F%y4-01-01T00:00:00 none none COscalar ./HcoDir/AnnualScalar/v2014-07/AnnualScalar.geos.1x1.nc LIQFUEL_2008_2010 1 N Y F%y4-01-01T00:00:00 none none COscalar ./HcoDir/AnnualScalar/v2014-07/AnnualScalar.geos.1x1.nc # #============================================================================== # --- seasonal scale factors --- #============================================================================== # --- From EDGAR 4.3.1 --- POW 1 Y Y F2010-%m2-01T00:00:00 none none POW ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc ENG 1 Y Y F2010-%m2-01T00:00:00 none none ENG ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc IND 1 Y Y F2010-%m2-01T00:00:00 none none IND ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc TRO 1 Y Y F2010-%m2-01T00:00:00 none none TRO ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc TNG 1 Y Y F2010-%m2-01T00:00:00 none none TNG ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc RCO 1 Y Y F2010-%m2-01T00:00:00 none none RCO ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc PPA 1 Y Y F2010-%m2-01T00:00:00 none none PPA ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc AGR 1 Y Y F2010-%m2-01T00:00:00 none none AGR ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc AWB 1 Y Y F2010-%m2-01T00:00:00 none none AWB ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc SOL 1 Y Y F2010-%m2-01T00:00:00 none none SOL ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc SWD 1 Y Y F2010-%m2-01T00:00:00 none none SWD ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc FFF 1 Y Y F2010-%m2-01T00:00:00 none none FFF ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc # ############################################################################### ### ### Masks (update if HEMCO_Config.rc changes) ### ############################################################################### # #============================================================================== # Country/region masks #============================================================================== # See meteorology section for OCEAN_MASK # %% DerivedExports%% # ---------|---------|--------------------------------------------| # Export | Primary |_________________ Mask _____________________| # Name | Name | Name | Expression | # ---------|---------|------------|-------------------------------| # ---------|---------|------------|-------------------------------| ${RUNDIR_MET_EXTDATA_DERIVED_EXPORTS} %% ================================================ FILE: run/GCHP/ExtData.rc.templates/ExtData.rc.carbon ================================================ Ext_AllowExtrap: .true. # PrimaryExports%% #--------|-------|------|------------|---------------|--------|-------|---------------------| # Export | | | |___ Refresh ___|____ Factors ___|___ External File ___| # Name | Units | Clim |Conservative| Time Template | Offset | Scale | Variable | Template | #--------|-------|------|------------|---------------|--------|-------|----------|----------| # # Notes: # Units should be in single quotes if they contain whitespace # Climatology should be Y if the file contains monthly climatology; otherwise it should be N # Conservative should be Y if units imply mass conservation dependency on regrid method (e.g. value per area) # Refresh Time Template should be: # 1. - if the file contains time-invariant constants # 2. prefixed with F if no time interpolation between data reads (F = fixed) # 3. 0 if data should be kept up-to-date at all times # 4. 0:HHMMSS if data occurs in file with frequency HHMMSS and should be updated at that frequency # 5. %y4-%m2-%d2T%h2:00:00, with any tokens replaced by appropriate constant time value, if multiple time # values are in the same file. Note that including an F prefix indicates the data should be treated # as constant until the next refresh time. Omission of the F prefix will time-interpolate between # the values. # Minimize whitespace wherever possible to avoid surpassing the ESMF read buffer character limit, # applicable only for uncommented lines. # ############################################################################### ### ### Meteorology data ### ############################################################################### ${RUNDIR_MET_EXTDATA_PRIMARY_EXPORTS} #============================================================================== # --- Fields for lightning emissions (Extension 103) --- # Not used but included in Chem_Registry.rc import list #============================================================================== FLASH_DENS 1 N N - none none LDENS /dev/null CONV_DEPTH 1 N N - none none CTH /dev/null ############################################################################### ### ### Land data (not handled by HEMCO) ### ############################################################################### # #============================================================================== # Olson land types #============================================================================== # Use conservative fraction regridding to extract land type fraction OLSON00 1 N F;0 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON01 1 N F;1 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON02 1 N F;2 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON03 1 N F;3 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON04 1 N F;4 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON05 1 N F;5 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON06 1 N F;6 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON07 1 N F;7 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON08 1 N F;8 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON09 1 N F;9 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON10 1 N F;10 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON11 1 N F;11 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON12 1 N F;12 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON13 1 N F;13 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON14 1 N F;14 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON15 1 N F;15 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON16 1 N F;16 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON17 1 N F;17 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON18 1 N F;18 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON19 1 N F;19 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON20 1 N F;20 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON21 1 N F;21 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON22 1 N F;22 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON23 1 N F;23 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON24 1 N F;24 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON25 1 N F;25 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON26 1 N F;26 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON27 1 N F;27 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON28 1 N F;28 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON29 1 N F;29 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON30 1 N F;30 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON31 1 N F;31 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON32 1 N F;32 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON33 1 N F;33 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON34 1 N F;34 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON35 1 N F;35 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON36 1 N F;36 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON37 1 N F;37 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON38 1 N F;38 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON39 1 N F;39 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON40 1 N F;40 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON41 1 N F;41 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON42 1 N F;42 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON43 1 N F;43 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON44 1 N F;44 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON45 1 N F;45 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON46 1 N F;46 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON47 1 N F;47 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON48 1 N F;48 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON49 1 N F;49 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON50 1 N F;50 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON51 1 N F;51 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON52 1 N F;52 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON53 1 N F;53 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON54 1 N F;54 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON55 1 N F;55 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON56 1 N F;56 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON57 1 N F;57 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON58 1 N F;58 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON59 1 N F;59 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON60 1 N F;60 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON61 1 N F;61 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON62 1 N F;62 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON63 1 N F;63 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON64 1 N F;64 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON65 1 N F;65 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON66 1 N F;66 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON67 1 N F;67 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON68 1 N F;68 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON69 1 N F;69 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON70 1 N F;70 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON71 1 N F;71 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON72 1 N F;72 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc # #============================================================================== # Yuan-processed MODIS Leaf Area Index #============================================================================== # # Use file with land type stored as 3rd dimension to speed up file read XLAIMULTI cm2_cm-2 N Y %y4-%m2-%d2T00:00:00 none none XLAIMULTI ./HcoDir/Yuan_XLAI/v2021-06/Condensed_Yuan_proc_MODIS_XLAI.025x025.%y4.nc # ############################################################################### ### ### HEMCO Base Emissions (Update if HEMCO_Config.rc changes) ### ############################################################################### #============================================================================== # %%%%% CH4 emissions %%%%% #============================================================================== # --- UseTotalPriorEmis --- #CH4_Emis_Prior kg/m2/s N Y F%y4-%m2-%d2T00:00:00 none none EmisCH4_Total ../../prior_run/OutputDir/GEOSChem.Emissions.%y4%m2%d2_0000z.nc4 # --- Gridded GHGI v2 Express Extension (Maasakkers et al., ES&T, 2023) --- # Include scaling to convert molecules/cm2/s to kg/m2/s GHGI_EE_OIL_EXPLORATION kg/m2/s N Y F%y4-01-01T00:00:00 none 2.66350462E-22 emi_ch4_1B2a_Petroleum_Systems_Exploration ./HcoDir/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_%y4.nc GHGI_EE_OIL_PRODUCTION kg/m2/s N Y F%y4-01-01T00:00:00 none 2.66350462E-22 emi_ch4_1B2a_Petroleum_Systems_Production ./HcoDir/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_%y4.nc GHGI_EE_OIL_REFINING kg/m2/s N Y F%y4-01-01T00:00:00 none 2.66350462E-22 emi_ch4_1B2a_Petroleum_Systems_Refining ./HcoDir/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_%y4.nc GHGI_EE_OIL_TRANSPORT kg/m2/s N Y F%y4-01-01T00:00:00 none 2.66350462E-22 emi_ch4_1B2a_Petroleum_Systems_Transport ./HcoDir/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_%y4.nc GHGI_EE_GAS_DISTRIBUTION kg/m2/s N Y F%y4-01-01T00:00:00 none 2.66350462E-22 emi_ch4_1B2b_Natural_Gas_Distribution ./HcoDir/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_%y4.nc GHGI_EE_GAS_EXPLORATION kg/m2/s N Y F%y4-01-01T00:00:00 none 2.66350462E-22 emi_ch4_1B2b_Natural_Gas_Exploration ./HcoDir/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_%y4.nc GHGI_EE_GAS_PROCESSING kg/m2/s N Y F%y4-01-01T00:00:00 none 2.66350462E-22 emi_ch4_1B2b_Natural_Gas_Processing ./HcoDir/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_%y4.nc GHGI_EE_GAS_PRODUCTION kg/m2/s N Y F%y4-01-01T00:00:00 none 2.66350462E-22 emi_ch4_1B2b_Natural_Gas_Production ./HcoDir/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_%y4.nc GHGI_EE_GAS_TRANSMISSION kg/m2/s N Y F%y4-01-01T00:00:00 none 2.66350462E-22 emi_ch4_1B2b_Natural_Gas_TransmissionStorage ./HcoDir/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_%y4.nc GHGI_EE_GAS_POSTMETER kg/m2/s N Y F%y4-01-01T00:00:00 none 2.66350462E-22 emi_ch4_Supp_1B2b_PostMeter ./HcoDir/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_%y4.nc GHGI_EE_COAL_UNDERGROUND kg/m2/s N Y F%y4-01-01T00:00:00 none 2.66350462E-22 emi_ch4_1B1a_Underground_Coal ./HcoDir/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_%y4.nc GHGI_EE_COAL_SURFACE kg/m2/s N Y F%y4-01-01T00:00:00 none 2.66350462E-22 emi_ch4_1B1a_Surface_Coal ./HcoDir/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_%y4.nc GHGI_EE_COAL_ABANDONED kg/m2/s N Y F%y4-01-01T00:00:00 none 2.66350462E-22 emi_ch4_1B1a_Abandoned_Coal ./HcoDir/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_%y4.nc GHGI_EE_LIVESTOCK_ENT kg/m2/s N Y F%y4-01-01T00:00:00 none 2.66350462E-22 emi_ch4_3A_Enteric_Fermentation ./HcoDir/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_%y4.nc GHGI_EE_LIVESTOCK_MAN kg/m2/s N Y F%y4-01-01T00:00:00 none 2.66350462E-22 emi_ch4_3B_Manure_Management ./HcoDir/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_%y4.nc GHGI_EE_LANDFILLS_IND kg/m2/s N Y F%y4-01-01T00:00:00 none 2.66350462E-22 emi_ch4_5A1_Landfills_Industrial ./HcoDir/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_%y4.nc GHGI_EE_LANDFILLS_MSW kg/m2/s N Y F%y4-01-01T00:00:00 none 2.66350462E-22 emi_ch4_5A1_Landfills_MSW ./HcoDir/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_%y4.nc GHGI_EE_LANDFILLS_COMP kg/m2/s N Y F%y4-01-01T00:00:00 none 2.66350462E-22 emi_ch4_5B1_Composting ./HcoDir/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_%y4.nc GHGI_EE_WASTEWATER_DOM kg/m2/s N Y F%y4-01-01T00:00:00 none 2.66350462E-22 emi_ch4_5D_Wastewater_Treatment_Domestic ./HcoDir/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_%y4.nc GHGI_EE_WASTEWATER_IND kg/m2/s N Y F%y4-01-01T00:00:00 none 2.66350462E-22 emi_ch4_5D_Wastewater_Treatment_Industrial ./HcoDir/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_%y4.nc GHGI_EE_RICE kg/m2/s N Y F%y4-01-01T00:00:00 none 2.66350462E-22 emi_ch4_3C_Rice_Cultivation ./HcoDir/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_%y4.nc GHGI_EE_OTHER_MCOMB kg/m2/s N Y F%y4-01-01T00:00:00 none 2.66350462E-22 emi_ch4_1A_Combustion_Mobile ./HcoDir/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_%y4.nc GHGI_EE_OTHER_SCOMB kg/m2/s N Y F%y4-01-01T00:00:00 none 2.66350462E-22 emi_ch4_1A_Combustion_Stationary ./HcoDir/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_%y4.nc GHGI_EE_OTHER_PIND kg/m2/s N Y F%y4-01-01T00:00:00 none 2.66350462E-22 emi_ch4_2B8_Industry_Petrochemical ./HcoDir/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_%y4.nc GHGI_EE_OTHER_FIND kg/m2/s N Y F%y4-01-01T00:00:00 none 2.66350462E-22 emi_ch4_2C2_Industry_Ferroalloy ./HcoDir/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_%y4.nc GHGI_EE_OTHER_BURN kg/m2/s N Y F%y4-01-01T00:00:00 none 2.66350462E-22 emi_ch4_3F_Field_Burning ./HcoDir/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_%y4.nc GHGI_EE_OTHER_ABOG kg/m2/s N Y F%y4-01-01T00:00:00 none 2.66350462E-22 emi_ch4_1B2ab_Abandoned_Oil_Gas ./HcoDir/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_%y4.nc # --- Scarpelli Mexico --- # Include scaling to convert molecules/cm2/s to kg/m2/s MEX_OIL kg/m2/s N Y - none 2.66350462E-22 emis_ch4 ./HcoDir/CH4/v2022-11/Scarpelli_Mexico/MEX_Tia2020_oil_2015.nc MEX_GAS kg/m2/s N Y - none 2.66350462E-22 emis_ch4 ./HcoDir/CH4/v2022-11/Scarpelli_Mexico/MEX_Tia2020_gas_2015.nc MEX_COAL kg/m2/s N Y - none 2.66350462E-22 emis_ch4 ./HcoDir/CH4/v2022-11/Scarpelli_Mexico/MEX_Tia2020_coal_2015.nc MEX_LIVESTOCK_A kg/m2/s N Y - none 2.66350462E-22 emis_ch4 ./HcoDir/CH4/v2022-11/Scarpelli_Mexico/MEX_Tia2020_livestock_A_2015.nc MEX_LIVESTOCK_B kg/m2/s N Y - none 2.66350462E-22 emis_ch4 ./HcoDir/CH4/v2022-11/Scarpelli_Mexico/MEX_Tia2020_livestock_B_2015.nc MEX_LANDFILLS kg/m2/s N Y - none 2.66350462E-22 emis_ch4 ./HcoDir/CH4/v2022-11/Scarpelli_Mexico/MEX_Tia2020_landfill_2015.nc MEX_WASTEWATER kg/m2/s N Y - none 2.66350462E-22 emis_ch4 ./HcoDir/CH4/v2022-11/Scarpelli_Mexico/MEX_Tia2020_waste_2015.nc MEX_RICE kg/m2/s N Y - none 2.66350462E-22 emis_ch4 ./HcoDir/CH4/v2022-11/Scarpelli_Mexico/MEX_Tia2020_rice_2015.nc MEX_OTHER kg/m2/s N Y - none 2.66350462E-22 emis_ch4 ./HcoDir/CH4/v2022-11/Scarpelli_Mexico/MEX_Tia2020_other_anthro_2015.nc # --- Scarpelli Canada --- CAN_OIL_GAS_COMBUSTION kg/m2/s N Y - none none oil_gas_combustion_total ./HcoDir/CH4/v2022-01/Scarpelli_Canada/can_emis_oil_gas_combustion_2018.nc CAN_OIL_GAS_LEAKAGE kg/m2/s N Y - none none oil_gas_leakage_total ./HcoDir/CH4/v2022-01/Scarpelli_Canada/can_emis_oil_gas_leakage_2018.nc CAN_OIL_GAS_VENT_FLARE kg/m2/s N Y - none none oil_gas_vent_flare_total ./HcoDir/CH4/v2022-01/Scarpelli_Canada/can_emis_oil_gas_vent_flare_2018.nc CAN_COAL kg/m2/s N Y - none none coal_total ./HcoDir/CH4/v2022-01/Scarpelli_Canada/can_emis_coal_2018.nc CAN_LIVESTOCK kg/m2/s N Y - none none livestock_total ./HcoDir/CH4/v2022-01/Scarpelli_Canada/can_emis_livestock_2018.nc CAN_SOLID_WASTE kg/m2/s N Y - none none solid_waste_total ./HcoDir/CH4/v2022-01/Scarpelli_Canada/can_emis_solid_waste_2018.nc CAN_WASTEWATER kg/m2/s N Y - none none wastewater_total ./HcoDir/CH4/v2022-01/Scarpelli_Canada/can_emis_wastewater_2018.nc CAN_OTHER kg/m2/s N Y - none none other_minor_sources_total ./HcoDir/CH4/v2022-01/Scarpelli_Canada/can_emis_other_minor_sources_2018.nc # --- GFEI --- GFEI_CH4_OIL kg/m2/s N Y - none none Oil_All ./HcoDir/CH4/v2025-08/GFEIv3/Global_Fuel_Exploitation_Inventory_v3_2020_Oil_All.nc GFEI_CH4_GAS kg/m2/s N Y - none none Gas_All ./HcoDir/CH4/v2025-08/GFEIv3/Global_Fuel_Exploitation_Inventory_v3_2020_Gas_All.nc GFEI_CH4_COAL kg/m2/s N Y - none none Coal ./HcoDir/CH4/v2025-08/GFEIv3/Global_Fuel_Exploitation_Inventory_v3_2020_Coal.nc # --- GRPI --- GRPI_CH4_RICE kg/m2/s N Y F2022-%m2-01T00:00:00 none none emi_ch4 ./HcoDir/CH4/v2025-01/GRPI/GRPI_01x01.nc # --- EDGAR v8.0 --- EDGAR8_CH4_PRO_OIL kg/m2/s N Y F%y4-%m2-01T00:00:00 none none emi_ch4 ./HcoDir/CH4/v2024-02/EDGARv8/%y4/v8.0_FT2022_GHG_CH4_%y4_PRO_OIL_flx.nc EDGAR8_CH4_REF_TRF kg/m2/s N Y F%y4-%m2-01T00:00:00 none none emi_ch4 ./HcoDir/CH4/v2024-02/EDGARv8/%y4/v8.0_FT2022_GHG_CH4_%y4_REF_TRF_flx.nc EDGAR8_CH4_PRO_GAS kg/m2/s N Y F%y4-%m2-01T00:00:00 none none emi_ch4 ./HcoDir/CH4/v2024-02/EDGARv8/%y4/v8.0_FT2022_GHG_CH4_%y4_PRO_GAS_flx.nc EDGAR8_CH4_PRO_COAL kg/m2/s N Y F%y4-%m2-01T00:00:00 none none emi_ch4 ./HcoDir/CH4/v2024-02/EDGARv8/%y4/v8.0_FT2022_GHG_CH4_%y4_PRO_COAL_flx.nc ##EDGAR8_CH4_ENF kg/m2/s N Y F%y4-%m2-01T00:00:00 none none emi_ch4 ./HcoDir/CH4/v2024-02/EDGARv8/%y4/v8.0_FT2022_GHG_CH4_%y4_ENF_flx.nc ##EDGAR8_CH4_MNM kg/m2/s N Y F%y4-%m2-01T00:00:00 none none emi_ch4 ./HcoDir/CH4/v2024-02/EDGARv8/%y4/v8.0_FT2022_GHG_CH4_%y4_MNM_flx.nc EDGAR8_CH4_SWD_LDF kg/m2/s N Y F%y4-%m2-01T00:00:00 none none emi_ch4 ./HcoDir/CH4/v2024-02/EDGARv8/%y4/v8.0_FT2022_GHG_CH4_%y4_SWD_LDF_flx.nc EDGAR8_CH4_WWT kg/m2/s N Y F%y4-%m2-01T00:00:00 none none emi_ch4 ./HcoDir/CH4/v2024-02/EDGARv8/%y4/v8.0_FT2022_GHG_CH4_%y4_WWT_flx.nc EDGAR8_CH4_AGS kg/m2/s N Y F%y4-%m2-01T00:00:00 none none emi_ch4 ./HcoDir/CH4/v2024-02/EDGARv8/%y4/v8.0_FT2022_GHG_CH4_%y4_AGS_flx.nc EDGAR8_CH4_ENE kg/m2/s N Y F%y4-%m2-01T00:00:00 none none emi_ch4 ./HcoDir/CH4/v2024-02/EDGARv8/%y4/v8.0_FT2022_GHG_CH4_%y4_ENE_flx.nc EDGAR8_CH4_IND kg/m2/s N Y F%y4-%m2-01T00:00:00 none none emi_ch4 ./HcoDir/CH4/v2024-02/EDGARv8/%y4/v8.0_FT2022_GHG_CH4_%y4_IND_flx.nc EDGAR8_CH4_TNR_Aviation_CDS kg/m2/s N Y F%y4-%m2-01T00:00:00 none none emi_ch4 ./HcoDir/CH4/v2024-02/EDGARv8/%y4/v8.0_FT2022_GHG_CH4_%y4_TNR_Aviation_CDS_flx.nc EDGAR8_CH4_TNR_Aviation_CRS kg/m2/s N Y F%y4-%m2-01T00:00:00 none none emi_ch4 ./HcoDir/CH4/v2024-02/EDGARv8/%y4/v8.0_FT2022_GHG_CH4_%y4_TNR_Aviation_CRS_flx.nc EDGAR8_CH4_TNR_Aviation_LTO kg/m2/s N Y F%y4-%m2-01T00:00:00 none none emi_ch4 ./HcoDir/CH4/v2024-02/EDGARv8/%y4/v8.0_FT2022_GHG_CH4_%y4_TNR_Aviation_LTO_flx.nc EDGAR8_CH4_TRO kg/m2/s N Y F%y4-%m2-01T00:00:00 none none emi_ch4 ./HcoDir/CH4/v2024-02/EDGARv8/%y4/v8.0_FT2022_GHG_CH4_%y4_TRO_flx.nc EDGAR8_CH4_TNR_Other kg/m2/s N Y F%y4-%m2-01T00:00:00 none none emi_ch4 ./HcoDir/CH4/v2024-02/EDGARv8/%y4/v8.0_FT2022_GHG_CH4_%y4_TNR_Other_flx.nc EDGAR8_CH4_TNR_Ship kg/m2/s N Y F%y4-%m2-01T00:00:00 none none emi_ch4 ./HcoDir/CH4/v2024-02/EDGARv8/%y4/v8.0_FT2022_GHG_CH4_%y4_TNR_Ship_flx.nc EDGAR8_CH4_RCO kg/m2/s N Y F%y4-%m2-01T00:00:00 none none emi_ch4 ./HcoDir/CH4/v2024-02/EDGARv8/%y4/v8.0_FT2022_GHG_CH4_%y4_RCO_flx.nc EDGAR8_CH4_CHE kg/m2/s N Y F%y4-%m2-01T00:00:00 none none emi_ch4 ./HcoDir/CH4/v2024-02/EDGARv8/%y4/v8.0_FT2022_GHG_CH4_%y4_CHE_flx.nc EDGAR8_CH4_IRO kg/m2/s N Y F%y4-%m2-01T00:00:00 none none emi_ch4 ./HcoDir/CH4/v2024-02/EDGARv8/%y4/v8.0_FT2022_GHG_CH4_%y4_IRO_flx.nc # --- EDGAR v7 livestock --- EDGAR7_CH4_LIVESTOCK__4A kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_ch4 ./HcoDir/CH4/v2023-04/EDGARv7/%y4/v7.0_FT2021_CH4_%y4_ENF.0.1x0.1.nc EDGAR7_CH4_LIVESTOCK__4B kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_ch4 ./HcoDir/CH4/v2023-04/EDGARv7/%y4/v7.0_FT2021_CH4_%y4_MNM.0.1x0.1.nc ## Comment out to avoid double counting with GFED ##EDGAR8_CH4_AWB kg/m2/s N Y F%y4-%m2-01T00:00:00 none none emi_ch4 ./HcoDir/CH4/v2024-02/EDGARv8/%y4/v8.0_FT2022_GHG_CH4_%y4_AWB_flx.nc EDGAR8_CH4_SWD_INC kg/m2/s N Y F%y4-%m2-01T00:00:00 none none emi_ch4 ./HcoDir/CH4/v2024-02/EDGARv8/%y4/v8.0_FT2022_GHG_CH4_%y4_SWD_INC_flx.nc # --- CH4: CEDS (historical) or Shared Socioeconomic Pathways (future) --- # --- NOTE: This is only for GCAP2 meteorology, so we can comment out --- ##CMIP6_CH4_AGR kg/m2/s N Y %y4-%m2-01T00:00:00 none none CH4_agr ./HcoDir/CMIP6/v2021-01/$GCAP2SCENARIO/$GCAP2SCENARIO_%y4.nc4 ##CMIP6_CH4_ENE kg/m2/s N Y %y4-%m2-01T00:00:00 none none CH4_ene ./HcoDir/CMIP6/v2021-01/$GCAP2SCENARIO/$GCAP2SCENARIO_%y4.nc4 ##CMIP6_CH4_IND kg/m2/s N Y %y4-%m2-01T00:00:00 none none CH4_ind ./HcoDir/CMIP6/v2021-01/$GCAP2SCENARIO/$GCAP2SCENARIO_%y4.nc4 ##CMIP6_CH4_TRA kg/m2/s N Y %y4-%m2-01T00:00:00 none none CH4_tra ./HcoDir/CMIP6/v2021-01/$GCAP2SCENARIO/$GCAP2SCENARIO_%y4.nc4 ##CMIP6_CH4_RCO kg/m2/s N Y %y4-%m2-01T00:00:00 none none CH4_rco ./HcoDir/CMIP6/v2021-01/$GCAP2SCENARIO/$GCAP2SCENARIO_%y4.nc4 ##CMIP6_CH4_SLV kg/m2/s N Y %y4-%m2-01T00:00:00 none none CH4_slv ./HcoDir/CMIP6/v2021-01/$GCAP2SCENARIO/$GCAP2SCENARIO_%y4.nc4 ##CMIP6_CH4_WST kg/m2/s N Y %y4-%m2-01T00:00:00 none none CH4_wst ./HcoDir/CMIP6/v2021-01/$GCAP2SCENARIO/$GCAP2SCENARIO_%y4.nc4 ##CMIP6_CH4_SHP kg/m2/s N Y %y4-%m2-01T00:00:00 none none CH4_shp ./HcoDir/CMIP6/v2021-01/$GCAP2SCENARIO/$GCAP2SCENARIO_%y4.nc4 # --- CH4: BB4MIPs historical / SSP future biomass burning inventories --- # CMIP6_BB_CH4 %y4-%m2-01T00:00:00 none none CH4_shp ./HcoDir/CMIP6/v2021-01/$GCAP2SCENARIO/$GCAP2SCENARIO_%y4.nc4 # --- JPL WetCHARTs v1.0 (Bloom et al., https://doi.org/10.3334/ORNLDAAC/1502) --- # Include scaling to convert molecules/cm2/s to kg/m2/s JPLW_CH4 kg/m2/s Y Y F2010-%m2-01T00:00:00 none 2.66350462E-22 emi_ch4 ./HcoDir/CH4/v2024-01/JPL_WetCharts/HEensemble/JPL_WetCharts_2010-2019.Ensemble_Mean.0.5x0.5.nc # --- LPJ MERRA2 (East et al., https://doi.org/10.1029/2024GL108494) --- LPJ_CH4 kg/m2/s N Y F%y4-%m2-01T00:00:00 none none emis_ch4 ./HcoDir/CH4/v2025-09/LPJ_MERRA2/LPJ_MERRA2_%y4_0.5x0.5.nc # --- Geological seeps --- CH4_SEEPS kg/m2/s N Y - none none emi_ch4 ./HcoDir/CH4/v2020-04/Seeps/Etiope_CH4GeologicalEmis_ScaledToHmiel.1x1.nc # --- Emissions from reservoirs (Delwich et al 2022) --- CH4_RES_DAM kg/m2/s N Y - none none CH4emis ./HcoDir/CH4/v2024-01/ResME/ResME_Dam_Emissions.0.1x0.1.nc CH4_RES_SFC kg/m2/s N Y - none none CH4emis ./HcoDir/CH4/v2024-01/ResME/ResME_Surface_Emissions.0.1x0.1.nc # --- Emissions from termites (CAMS-GLOB-TERM.v1.1) --- CH4_TERMITES kg/m2/s Y Y F2000-%m2-01T00:00:00 none none CH4 ./HcoDir/CH4/v2026-02/CAMS_Termites/CAMS-GLOB-TERM_v1.1_methane_2000.nc # --- Soil absorption fro MeMo model (Murguia-Flores et al. 2018, GMD) --- # # Note: Use climatology by default CH4_SOILABSORB kg/m2/s 2009 Y F%y4-%m2-01T00:00:00 none none CH4uptake ./HcoDir/CH4/v2019-10/MeMo_SoilAbs/MeMo_CH4uptake_Climatology.nc # # Annual emissions are disabled by default #CH4_SOILABSORB kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CH4uptake ./HcoDir/CH4/v2019-10/MeMo_SoilAbs/MeMo_CH4uptake_1990-2009.nc #============================================================================== # %%%%% CO emissions %%%%% #============================================================================== # --- AEIC 2019 aircraft (AEIC) --- AEIC19_MONMEAN_CO kg/m2/s Y Y F2019-%m2-01T00:00:00 none none CO ./HcoDir/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019%m2.0.5x0.625.36L.nc # ##AEIC19_DAILY_CO kg/m2/s Y Y F%y4-%m2-%d2T00:00:00 none none CO ./HcoDir/AEIC2019/v2022-03/2019/%m2/AEIC_2019%m2%d2.0.5x0.625.36L.nc # --- CEDS 0.1 x 0.1 --- CEDS_CO_AGR kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CO_agr ./HcoDir/CEDS/v2024-06/%y4/CEDS_CO_0.1x0.1_%y4.nc CEDS_CO_ENE kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CO_ene ./HcoDir/CEDS/v2024-06/%y4/CEDS_CO_0.1x0.1_%y4.nc CEDS_CO_IND kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CO_ind ./HcoDir/CEDS/v2024-06/%y4/CEDS_CO_0.1x0.1_%y4.nc CEDS_CO_TRA kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CO_tra ./HcoDir/CEDS/v2024-06/%y4/CEDS_CO_0.1x0.1_%y4.nc CEDS_CO_RCO kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CO_rco ./HcoDir/CEDS/v2024-06/%y4/CEDS_CO_0.1x0.1_%y4.nc CEDS_CO_SLV kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CO_slv ./HcoDir/CEDS/v2024-06/%y4/CEDS_CO_0.1x0.1_%y4.nc CEDS_CO_WST kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CO_wst ./HcoDir/CEDS/v2024-06/%y4/CEDS_CO_0.1x0.1_%y4.nc CEDS_CO_SHP kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CO_shp ./HcoDir/CEDS/v2024-06/%y4/CEDS_CO_0.1x0.1_%y4.nc #============================================================================== # --- CO2 emissions --- #============================================================================== # --- CO2 Fossil Fuel --- FOSSILCO2_ODIAC kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CO2 ./HcoDir/CO2/v2022-11/FOSSIL/ODIAC_CO2.monthly.generic.1x1.nc # --- CO2 Ocean Exchange --- OCEANCO2_SCALED_MONTHLY kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CO2 ./HcoDir/CO2/v2022-11/OCEAN/Scaled_Ocean_CO2_monthly.nc # --- Balanced biosphere exchange --- SIB_BBIO_CO2 kg/m2/s N Y F%y4-%m2-%d2T%h2:00:00 none none CO2 ./HcoDir/CO2/v2022-11/BIO/SiB3_3hr_NEP.nc # --- Net Terrestrial Exchange --- CO2_NET_TERRESTRIAL kg/m2/s N Y - none none CO2 ./HcoDir/CO2/v2022-11/BIO/Net_terrestrial_exch_5.29Pg.generic.1x1.nc # --- CO2 Ship Emissions --- CEDS_CO2_SHP kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CO2_shp ./HcoDir/CEDS/v2024-06/%y4/CEDS_CO2_0.1x0.1_%y4.nc # --- CO2: AEIC 2019 aircraft emissions --- AEIC19_MONMEAN_CO2 kg/m2/s Y Y F2019-%m2-01T00:00:00 none none FUELBURN ./HcoDir/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019%m2.0.5x0.625.36L.nc # --- CO2: Surface correction for CO oxidation --- FOSSILCO2_MONTHLY kg/m/s N Y F%y4-%m2-01T01:00:00 none none CO2 ./HcoDir/CO2/v2022-11/FOSSIL/ODIAC_CO2.monthly.generic.1x1.nc CO2_LIVESTOCK kg/m/s Y Y F2004-%m2-01T01:00:00 none none CH4_004 ./HcoDir/CO2/v2022-11/CHEM/CH4_source.geos.2x25.nc CO2_WASTE kg/m/s Y Y F2004-%m2-01T01:00:00 none none CH4_005 ./HcoDir/CO2/v2022-11/CHEM/CH4_source.geos.2x25.nc CO2_RICE kg/m/s Y Y F2004-%m2-01T01:00:00 none none CH4_007 ./HcoDir/CO2/v2022-11/CHEM/CH4_source.geos.2x25.nc CO2_WETLANDS kg/m/s Y Y F2004-%m2-01T01:00:00 none none CH4_010 ./HcoDir/CO2/v2022-11/CHEM/CH4_source.geos.2x25.nc CO2_NATURAL kg/m/s Y Y F2004-%m2-01T01:00:00 none none CH4_012 ./HcoDir/CO2/v2022-11/CHEM/CH4_source.geos.2x25.nc CO2_ISOPRENE kg/m/s Y Y F2004-%m2-01T01:00:00 none none ISOP ./HcoDir/CO2/v2022-11/CHEM/Isoprene-2004.geos.2x25.nc CO2_MONOTERP kg/m/s Y Y F2004-%m2-01T01:00:00 none none MONOT ./HcoDir/CO2/v2022-11/CHEM/Monoterpene-2004.geos.2x25.nc # --- CO2 production from CO --- CO2_COPROD kgC/m3/s N Y F%y4-%m2-01T00:00:00 none none LCO ./HcoDir/CO2/v2024-01/CHEM/CO2_prod_rates.GEOS5.2x25.72L.nc #============================================================================== # --- OCS emission fluxes --- #============================================================================== OCS_ANTHRO kgS/km2/s N Y F%y4-%m2-01T00:00:00 none 1.0e-6 COS_Flux ./HcoDir/OCS_FLUX/v2022-11/anthro_v3/v3_anthro/%y4/%m2.nc OCS_BIOMASS kgS/km2/s N Y F%y4-%m2-01T00:00:00 none 1.0e-6 COS_Flux ./HcoDir/OCS_FLUX/v2022-11/Biomassburn/CMSV2-CO2-GFED3-ZC/%y4/%m2.nc OCS_MISSING_OCEAN kgS/km2/s N Y F%y4-%m2-01T00:00:00 none 1.0e-6 COS_Flux ./HcoDir/OCS_FLUX/v2022-11/MissingOcean/LUKAI/%y4/%m2.nc OCS_OCEAN kgS/km2/s N Y F%y4-%m2-01T00:00:00 none 1.0e-6 COS_Flux ./HcoDir/OCS_FLUX/v2022-11/OceanCOS/Kettle/%y4/%m2.nc ############################################################################### ### ### HEMCO Extension Data (update if HEMCO_Config.rc changes) ### ############################################################################### # --- GFED4 (Extension 111)--- GFED_TEMP kgDM/m2/s N Y F%y4-%m2-01T00:00:00 none none DM_TEMP ./HcoDir/GFED4/v2023-03/%y4/GFED4_gen.025x025.%y4%m2.nc GFED_AGRI kgDM/m2/s N Y F%y4-%m2-01T00:00:00 none none DM_AGRI ./HcoDir/GFED4/v2023-03/%y4/GFED4_gen.025x025.%y4%m2.nc GFED_DEFO kgDM/m2/s N Y F%y4-%m2-01T00:00:00 none none DM_DEFO ./HcoDir/GFED4/v2023-03/%y4/GFED4_gen.025x025.%y4%m2.nc GFED_BORF kgDM/m2/s N Y F%y4-%m2-01T00:00:00 none none DM_BORF ./HcoDir/GFED4/v2023-03/%y4/GFED4_gen.025x025.%y4%m2.nc GFED_PEAT kgDM/m2/s N Y F%y4-%m2-01T00:00:00 none none DM_PEAT ./HcoDir/GFED4/v2023-03/%y4/GFED4_gen.025x025.%y4%m2.nc GFED_SAVA kgDM/m2/s N Y F%y4-%m2-01T00:00:00 none none DM_SAVA ./HcoDir/GFED4/v2023-03/%y4/GFED4_gen.025x025.%y4%m2.nc # --- GFED_daily scale factors --- GFED_FRAC_DAY 1 N Y %y4-%m2-%d2T00:00:00 none none GFED_FRACDAY ./HcoDir/GFED4/v2023-03/%y4/GFED4_dailyfrac_gen.025x025.%y4%m2.nc # --- GFED_3hourly -- #GFED_FRAC_3HOUR 1 N Y %y4-%m2-01T%h2:00:00 none none GFED_FRAC3HR ./HcoDir/GFED4/v2023-03/%y4/GFED4_3hrfrac_gen.025x025.%y4%m2.nc ############################################################################### ### ### HEMCO Non-Emissions Data (update if HEMCO_Config.rc changes) ### ############################################################################### # --- Time zones (offset to UTC) --- TIMEZONES count Y V 2017-%m2-01T00:00:00 none none UTC_OFFSET ./HcoDir/TIMEZONES/v2024-02/timezones_vohra_2017_0.1x0.1.nc # --- OH from the latest 10-year benchmark --- ##GLOBAL_OH kg/m3 N N %y4-%m2-01T00:00:00 none none SpeciesConc_OH ./HcoDir/GCClassic_Output/14.0.0/%y4/GEOSChem.SpeciesConc.%y4%m201_0000z.nc4 # --- OH from GEOS-Chem v5-07-08 (used for CH4/IMI) --- GLOBAL_OH kg/m3 1985 Y F%y4-%m2-01T00:00:00 none none OH ./HcoDir/OH/v2022-11/v5-07-08/OH_3Dglobal.geos5.72L.4x5.nc # --- Global Cl concentrations --- GLOBAL_Cl mol/mol N Y F%y4-%m2-01T00:00:00 none none SpeciesConc_Cl ./HcoDir/CH4/v2024-01/GCC_14_Output/%y4/GEOSChem.SpeciesConc.%y4%m201_0000z.nc4 # --- Stratospheric L(CO) from GMI --- CH4_LOSS s-1 1985 Y F%y4-%m2-01T00:00:00 none none CH4loss ./HcoDir/CH4/v2024-01/GC_CH4_LOSS/GCC14_72LM.ch4loss.4x5.nc4 # --- P(CO) from CH4 and NMVOC from the last 10-yr benchmark --- PCO_CH4 molec/cm3/s N Y F%y4-%m2-01T00:00:00 none none ProdCOfromCH4 ./HcoDir/CH4/v2024-01/GCC_14_Output/%y4/GEOSChem.ProdLoss.%y4%m201_0000z.nc4 PCO_NMVOC molec/cm3/s N Y F%y4-%m2-01T00:00:00 none none ProdCOfromNMVOC ./HcoDir/CH4/v2024-01/GCC_14_Output/%y4/GEOSChem.ProdLoss.%y4%m201_0000z.nc4 #--- GMI chemistry: prod/loss rates (GMI_PROD_LOSS) --- GMI_LOSS_CO s-1 2005 Y F%y4-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2022-11/gmi.clim.CO.geos5.2x25.nc GMI_PROD_CO v/v/s 2005 Y F%y4-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2022-11/gmi.clim.CO.geos5.2x25.nc ############################################################################### ### ### HEMCO Scale Factors (update if HEMCO_Config.rc changes) ### ############################################################################### #============================================================================== # %%%%% Scale factors for CH4 emissions %%%%% #============================================================================== # --- GHGI seasonal scale factors --- GHGI_OTH_STA_SF 1 N Y F%y4-%m2-01T00:00:00 none none monthly_scale_factor_1A_Combustion_Stationary ./HcoDir/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_Monthly_Scale_Factors_%y4.nc GHGI_OIL_EXP_SF 1 N Y F%y4-%m2-01T00:00:00 none none monthly_scale_factor_1B2a_Petroleum_Systems_Exploration ./HcoDir/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_Monthly_Scale_Factors_%y4.nc GHGI_OIL_PRD_SF 1 N Y F%y4-%m2-01T00:00:00 none none monthly_scale_factor_1B2a_Petroleum_Systems_Production ./HcoDir/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_Monthly_Scale_Factors_%y4.nc GHGI_OIL_REF_SF 1 N Y F%y4-%m2-01T00:00:00 none none monthly_scale_factor_1B2a_Petroleum_Systems_Refining ./HcoDir/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_Monthly_Scale_Factors_%y4.nc GHGI_OIL_TRA_SF 1 N Y F%y4-%m2-01T00:00:00 none none monthly_scale_factor_1B2a_Petroleum_Systems_Transport ./HcoDir/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_Monthly_Scale_Factors_%y4.nc GHGI_GAS_EXP_SF 1 N Y F%y4-%m2-01T00:00:00 none none monthly_scale_factor_1B2b_Natural_Gas_Exploration ./HcoDir/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_Monthly_Scale_Factors_%y4.nc GHGI_GAS_PRD_SF 1 N Y F%y4-%m2-01T00:00:00 none none monthly_scale_factor_1B2b_Natural_Gas_Production ./HcoDir/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_Monthly_Scale_Factors_%y4.nc GHGI_LIV_MAN_SF 1 N Y F%y4-%m2-01T00:00:00 none none monthly_scale_factor_3B_Manure_Management ./HcoDir/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_Monthly_Scale_Factors_%y4.nc GHGI_RIC_CUL_SF 1 N Y F%y4-%m2-01T00:00:00 none none monthly_scale_factor_3C_Rice_Cultivation ./HcoDir/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_Monthly_Scale_Factors_%y4.nc GHGI_OTH_BUR_SF 1 N Y F%y4-%m2-01T00:00:00 none none monthly_scale_factor_3F_Field_Burning ./HcoDir/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_Monthly_Scale_Factors_%y4.nc # --- Scarpelli_Mexico manure and rice scale factors --- MANURE_SF 1 N Y F%y4-%m2-01T00:00:00 none none sf_ch4 ./HcoDir/CH4/v2017-10/Seasonal_SF/EMICH4_Manure_ScalingFactors.WithClimatology.nc RICE_SF 1 2012 Y F%y4-%m2-01T00:00:00 none none sf_ch4 ./HcoDir/CH4/v2017-10/Seasonal_SF/EMICH4_Rice_ScalingFactors.SetMissing.nc # --- Seasonal scale factors for EDGARv7 --- EDGAR_SEASONAL_SF_ENF 1 2018 Y F%y4-%m2-01T00:00:00 none none sf_ch4 ./HcoDir/CH4/v2023-04/EDGARv6_SF/EDGARv6_CH4_MonthlyScaleFactors_ENF.0.1x0.1.nc EDGAR_SEASONAL_SF_MNM 1 2018 Y F%y4-%m2-01T00:00:00 none none sf_ch4 ./HcoDir/CH4/v2023-04/EDGARv6_SF/EDGARv6_CH4_MonthlyScaleFactors_MNM.0.1x0.1.nc #============================================================================== # %%%%% Scale factors for CO emissions %%%%% #============================================================================== # --- CEDS vertical partitioning --- ENERGY_LEVS 1 N Y - none none g_energy ./HcoDir/VerticalScaleFactors/v2021-05/gc_layers.nc INDUSTRY_LEVS 1 N Y - none none g_industry ./HcoDir/VerticalScaleFactors/v2021-05/gc_layers.nc SHIP_LEVS 1 N Y - none none cmv_c3 ./HcoDir/VerticalScaleFactors/v2021-05/gc_layers.nc #============================================================================== # %%%%% Scale factors for CO2 emissions %%%%% #============================================================================== # --- National fossil fuel CO2 scale factors (Nassar et al, 2013) --- CO2_DIURNAL 1 N Y F2006-01-01T%h2:00:00 none none diurnal_scale_factors ./HcoDir/CO2/v2015-04/FOSSIL/TIMES_diurnal_scale_factors.nc CO2_WEEKLY 1 D Y F2006-01-%d2T00:00:00 none none weekly_scale_factors ./HcoDir/CO2/v2015-04/FOSSIL/TIMES_weekly_scale_factors.nc # --- Domestic aviation surface correction factor --- AVIATION_SURF_CORR 1 Y Y F2004-01-01T00:00:00 none none CO2 ./HcoDir/CO2/v2022-11/FOSSIL/Aviation_SurfCorr_SclFac.1x1.nc #======================================================== # --- Scale factors for OH --- #======================================================== #OH_pert_factor 1 N Y - none none oh_scale ./gridded_perturbation_oh_scale.nc #============================================================================== # --- Scale factors for posterior run --- #============================================================================== #EMIS_SF 1 N Y - none none ScaleFactor gridded_posterior.nc #============================================================================== # --- Scale factors for analytical inversions --- #============================================================================== # Add perturbations to individual state vector element (N) following this format #SCALE_PERT 1 N Y 2000-01-01T00:00:00 none none scale ./gridded_pert_scale_1.nc #SCALE_ELEM_000N 1 N Y 2000-01-01T00:00:00 none none StateVector ./StateVector.nc ############################################################################### ### ### Masks (update if HEMCO_Config.rc changes) ### ############################################################################### # Comment these lines if you are not using Scarpelli_Mexico MEX_MASK 1 N Y - none none MASK ./HcoDir/MASKS/v2024-04/Mexico_Mask.01x01.nc MEX_MASK_MIRROR 1 N Y - none none MASK ./HcoDir/MASKS/v2024-04/Mexico_Mask_Mirror.01x01.nc # Comment these lines if you are not using Scarpelli_Canada CAN_MASK 1 N Y - none none MASK ./HcoDir/MASKS/v2024-04/Canada_Mask.01x01.nc CAN_MASK_MIRROR 1 N Y - none none MASK ./HcoDir/MASKS/v2024-04/Canada_Mask_Mirror.01x01.nc # Comment these lines if you are not using GHGI_v2/GHGIv2_Express_Ext CONUS_MASK 1 N Y - none none MASK ./HcoDir/MASKS/v2024-04/CONUS_Mask.01x01.nc CONUS_MASK_MIRROR 1 N Y - none none MASK ./HcoDir/MASKS/v2024-04/CONUS_Mask_Mirror.01x01.nc # Comment these lines if you are not using any of the CEDS inventories CHINA_MASK 1 N Y - none none MASK ./HcoDir/MASKS/v2018-09/China_mask.generic.1x1.nc # For CH4 reservoir emissions from ResME SEASONAL_RES_MASK 1 Y Y F2022-%m2-01T00:00:00 none none Mask ./HcoDir/CH4/v2024-01/ResME/reservoir_mask.01x01.nc %% DerivedExports%% # ---------|---------|--------------------------------------------| # Export | Primary |_________________ Mask _____________________| # Name | Name | Name | Expression | # ---------|---------|------------|-------------------------------| # ---------|---------|------------|-------------------------------| ${RUNDIR_MET_EXTDATA_DERIVED_EXPORTS} %% ================================================ FILE: run/GCHP/ExtData.rc.templates/ExtData.rc.fullchem ================================================ Ext_AllowExtrap: .true. # PrimaryExports%% #--------|-------|------|------------|---------------|--------|-------|---------------------| # Export | | | |___ Refresh ___|____ Factors ___|___ External File ___| # Name | Units | Clim |Conservative| Time Template | Offset | Scale | Variable | Template | #--------|-------|------|------------|---------------|--------|-------|----------|----------| # # Notes: # Units should be in single quotes if they contain whitespace # Climatology should be Y if the file contains monthly climatology; otherwise it should be N # Conservative should be Y if units imply mass conservation dependency on regrid method (e.g. value per area) # Refresh Time Template should be: # 1. - if the file contains time-invariant constants # 2. prefixed with F if no time interpolation between data reads (F = fixed) # 3. 0 if data should be kept up-to-date at all times # 4. 0:HHMMSS if data occurs in file with frequency HHMMSS and should be updated at that frequency # 5. %y4-%m2-%d2T%h2:00:00, with any tokens replaced by appropriate constant time value, if multiple time # values are in the same file. Note that including an F prefix indicates the data should be treated # as constant until the next refresh time. Omission of the F prefix will time-interpolate between # the values. # Minimize whitespace wherever possible to avoid surpassing the ESMF read buffer character limit, # applicable only for uncommented lines. # ############################################################################### ### ### Meteorology data ### ############################################################################### ${RUNDIR_MET_EXTDATA_PRIMARY_EXPORTS} # #============================================================================== # --- Fields for lightning emissions (Extension 103) --- # These fields are stored in State_Met, along with the other met fields # Lines below are commented/uncommented by setCommonRunSettings.sh based # on setting in HEMCO_Config.rc. #============================================================================== #FLASH_DENS 1 N Y F0;013000 none none LDENS ./HcoDir/OFFLINE_LIGHTNING/${RUNDIR_LIGHTNOX_DIR}/${RUNDIR_METLIGHTNING}/%y4/FLASH_CTH_${RUNDIR_METLIGHTNING}_${RUNDIR_METLIGHTNING_RES}_%y4_%m2.nc4 #CONV_DEPTH 1 N Y F0;013000 none none CTH ./HcoDir/OFFLINE_LIGHTNING/${RUNDIR_LIGHTNOX_DIR}/${RUNDIR_METLIGHTNING}/%y4/FLASH_CTH_${RUNDIR_METLIGHTNING}_${RUNDIR_METLIGHTNING_RES}_%y4_%m2.nc4 # Climatology option FLASH_DENS 1 Y Y F1980-%m2-01T00:00:00 none none LDENS ./HcoDir/OFFLINE_LIGHTNING/v2020-03/${RUNDIR_METLIGHTNING}/CLIM/FLASH_CTH_${RUNDIR_METLIGHTNING}_${RUNDIR_METLIGHTNING_RES}_${RUNDIR_MET_LCLIM}.ymonmean.nc4 CONV_DEPTH 1 Y Y F1980-%m2-01T00:00:00 none none CTH ./HcoDir/OFFLINE_LIGHTNING/v2020-03/${RUNDIR_METLIGHTNING}/CLIM/FLASH_CTH_${RUNDIR_METLIGHTNING}_${RUNDIR_METLIGHTNING_RES}_${RUNDIR_MET_LCLIM}.ymonmean.nc4 # #============================================================================== # --- Fields for soil NOx emissions (Extension 104) --- # These fields are stored in State_Met, along with the other met fields # Manually uncomment this line is UseSoilTemperature is true in HEMCO config. #============================================================================== #TSOIL1 1 N Y F0;003000 none none TSOIL1 ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A1soil.025x03125.nc # #============================================================================== # --- Fields for RRTMG --- # Dynamical heating data is only read in when RRTMG FDH/SEFDH is used and # must be generated in a reference (companion) run. The time after P at # the end should be the RRTMG time step (3 hours by default) #============================================================================== DynHeating 1 N N F%y4-%m2-%d2T%h2:00:00 none none DynHeating ./DynHeating/GEOSChem.DynHeating.%y4%m2%d2_%h2%n2z.nc4 2000-01-01T00:00:00P03:00 # ############################################################################### ### ### Land data (not handled by HEMCO) ### ############################################################################### # #============================================================================== # Olson land types #============================================================================== # Use conservative fraction regridding to extract land type fraction OLSON00 1 N F;0 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON01 1 N F;1 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON02 1 N F;2 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON03 1 N F;3 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON04 1 N F;4 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON05 1 N F;5 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON06 1 N F;6 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON07 1 N F;7 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON08 1 N F;8 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON09 1 N F;9 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON10 1 N F;10 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON11 1 N F;11 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON12 1 N F;12 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON13 1 N F;13 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON14 1 N F;14 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON15 1 N F;15 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON16 1 N F;16 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON17 1 N F;17 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON18 1 N F;18 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON19 1 N F;19 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON20 1 N F;20 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON21 1 N F;21 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON22 1 N F;22 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON23 1 N F;23 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON24 1 N F;24 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON25 1 N F;25 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON26 1 N F;26 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON27 1 N F;27 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON28 1 N F;28 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON29 1 N F;29 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON30 1 N F;30 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON31 1 N F;31 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON32 1 N F;32 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON33 1 N F;33 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON34 1 N F;34 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON35 1 N F;35 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON36 1 N F;36 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON37 1 N F;37 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON38 1 N F;38 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON39 1 N F;39 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON40 1 N F;40 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON41 1 N F;41 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON42 1 N F;42 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON43 1 N F;43 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON44 1 N F;44 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON45 1 N F;45 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON46 1 N F;46 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON47 1 N F;47 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON48 1 N F;48 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON49 1 N F;49 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON50 1 N F;50 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON51 1 N F;51 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON52 1 N F;52 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON53 1 N F;53 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON54 1 N F;54 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON55 1 N F;55 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON56 1 N F;56 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON57 1 N F;57 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON58 1 N F;58 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON59 1 N F;59 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON60 1 N F;60 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON61 1 N F;61 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON62 1 N F;62 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON63 1 N F;63 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON64 1 N F;64 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON65 1 N F;65 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON66 1 N F;66 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON67 1 N F;67 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON68 1 N F;68 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON69 1 N F;69 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON70 1 N F;70 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON71 1 N F;71 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON72 1 N F;72 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc # #============================================================================== # Yuan-processed MODIS Leaf Area Index #============================================================================== # # Use file with land type stored as 3rd dimension to speed up file read XLAIMULTI cm2_cm-2 N Y %y4-%m2-%d2T00:00:00 none none XLAIMULTI ./HcoDir/Yuan_XLAI/v2021-06/Condensed_Yuan_proc_MODIS_XLAI.025x025.%y4.nc # ############################################################################### ### ### HEMCO Base Emissions (Update if HEMCO_Config.rc changes) ### ############################################################################### # #============================================================================== # --- APEI Canada (APEI) --- # APEI is off by default in HEMCO_Config.rc #============================================================================== #APEI_NO kg/m2/s N Y F%y4-01-01T00:00:00 none none NOx ./HcoDir/APEI/v2016-11/APEI.0.1x0.1.nc #APEI_CO kg/m2/s N Y F%y4-01-01T00:00:00 none none CO ./HcoDir/APEI/v2016-11/APEI.0.1x0.1.nc #APEI_SO2 kg/m2/s N Y F%y4-01-01T00:00:00 none none SOx ./HcoDir/APEI/v2016-11/APEI.0.1x0.1.nc #APEI_NH3 kg/m2/s N Y F%y4-01-01T00:00:00 none none NH3 ./HcoDir/APEI/v2016-11/APEI.0.1x0.1.nc #APEI_BCPI kg/m2/s N Y F%y4-01-01T00:00:00 none none EC ./HcoDir/APEI/v2016-11/APEI.0.1x0.1.nc #APEI_BCPO kg/m2/s N Y F%y4-01-01T00:00:00 none none EC ./HcoDir/APEI/v2016-11/APEI.0.1x0.1.nc #APEI_OCPI kg/m2/s N Y F%y4-01-01T00:00:00 none none OC ./HcoDir/APEI/v2016-11/APEI.0.1x0.1.nc #APEI_OCPO kg/m2/s N Y F%y4-01-01T00:00:00 none none OC ./HcoDir/APEI/v2016-11/APEI.0.1x0.1.nc # #============================================================================== # --- EPA NEI2016 USA monthly mean (NEI2016_MONMEAN) --- # NEI2016_MONMEAN is off by default in HEMCO_Config.rc #============================================================================== #EPA16_BCPI__afdustPEC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PEC ./HcoDir/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_%m2.ncf #EPA16_BCPO__afdustPEC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PEC ./HcoDir/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_%m2.ncf #EPA16_HNO4__afdustPNA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNA ./HcoDir/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_%m2.ncf #EPA16_NH4__afdustPNH4 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNH4 ./HcoDir/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_%m2.ncf #EPA16_NIT__afdustPNO3 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNO3 ./HcoDir/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_%m2.ncf #EPA16_OCPI__afdustPOC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none POC ./HcoDir/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_%m2.ncf #EPA16_OCPO__afdustPOC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none POC ./HcoDir/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_%m2.ncf #EPA16_SO4__afdustPSO4 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PSO4 ./HcoDir/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_%m2.ncf #EPA16_ACET__agACET kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ACET ./HcoDir/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_%m2.ncf #EPA16_ALD2__agALD2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ALD2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_%m2.ncf #EPA16_RCHO__agALDX kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ALDX ./HcoDir/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_%m2.ncf #EPA16_BENZ__agBENZ kg/m2/s Y Y F2016-%m2-01T00:00:00 none none BENZ ./HcoDir/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_%m2.ncf #EPA16_C2H4__agETH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETH ./HcoDir/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_%m2.ncf #EPA16_C2H6__agETHA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETHA ./HcoDir/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_%m2.ncf #EPA16_EOH__agETOH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETOH ./HcoDir/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_%m2.ncf #EPA16_CH2O__agFORM kg/m2/s Y Y F2016-%m2-01T00:00:00 none none FORM ./HcoDir/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_%m2.ncf #EPA16_PRPE__agIOLE kg/m2/s Y Y F2016-%m2-01T00:00:00 none none IOLE ./HcoDir/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_%m2.ncf #EPA16_MEK__agKET kg/m2/s Y Y F2016-%m2-01T00:00:00 none none KET ./HcoDir/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_%m2.ncf #EPA16_MOH__agMEOH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none MEOH ./HcoDir/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_%m2.ncf #EPA16_NH3__agNH3 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NH3 ./HcoDir/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_%m2.ncf #EPA16_PRPE__agOLE kg/m2/s Y Y F2016-%m2-01T00:00:00 none none OLE ./HcoDir/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_%m2.ncf #EPA16_ALK4__agPAR kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PAR ./HcoDir/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_%m2.ncf #EPA16_C3H8__agPRPA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PRPA ./HcoDir/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_%m2.ncf #EPA16_TOLU__agTOL kg/m2/s Y Y F2016-%m2-01T00:00:00 none none TOL ./HcoDir/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_%m2.ncf #EPA16_XYLE__agXYLMN kg/m2/s Y Y F2016-%m2-01T00:00:00 none none XYLMN ./HcoDir/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_%m2.ncf #EPA16_ACET__airportsACET kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ACET ./HcoDir/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_%m2.ncf #EPA16_MACR__airportsACROLEIN kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ACROLEIN ./HcoDir/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_%m2.ncf #EPA16_ALD2__airportsALD2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ALD2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_%m2.ncf #EPA16_RCHO__airportsALDX kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ALDX ./HcoDir/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_%m2.ncf #EPA16_BENZ__airportsBENZ kg/m2/s Y Y F2016-%m2-01T00:00:00 none none BENZ ./HcoDir/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_%m2.ncf #EPA16_CO__airportsCO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none CO ./HcoDir/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_%m2.ncf #EPA16_C2H4__airportsETH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETH ./HcoDir/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_%m2.ncf #EPA16_C2H6__airportsETHA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETHA ./HcoDir/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_%m2.ncf #EPA16_EOH__airportsETOH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETOH ./HcoDir/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_%m2.ncf #EPA16_CH2O__airportsFORM kg/m2/s Y Y F2016-%m2-01T00:00:00 none none FORM ./HcoDir/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_%m2.ncf #EPA16_HNO2__airportsHONO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none HONO ./HcoDir/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_%m2.ncf #EPA16_PRPE__airportsIOLE kg/m2/s Y Y F2016-%m2-01T00:00:00 none none IOLE ./HcoDir/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_%m2.ncf #EPA16_MEK__airportsKET kg/m2/s Y Y F2016-%m2-01T00:00:00 none none KET ./HcoDir/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_%m2.ncf #EPA16_MOH__airportsMEOH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none MEOH ./HcoDir/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_%m2.ncf #EPA16_NO__airportsNO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NO ./HcoDir/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_%m2.ncf #EPA16_NO2__airportsNO2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NO2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_%m2.ncf #EPA16_PRPE__airportsOLE kg/m2/s Y Y F2016-%m2-01T00:00:00 none none OLE ./HcoDir/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_%m2.ncf #EPA16_ALK4__airportsPAR kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PAR ./HcoDir/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_%m2.ncf #EPA16_BCPI__airportsPEC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PEC ./HcoDir/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_%m2.ncf #EPA16_BCPO__airportsPEC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PEC ./HcoDir/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_%m2.ncf #EPA16_HNO4__airportsPNA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNA ./HcoDir/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_%m2.ncf #EPA16_NH4__airportsPNH4 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNH4 ./HcoDir/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_%m2.ncf #EPA16_NIT__airportsPNO3 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNO3 ./HcoDir/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_%m2.ncf #EPA16_OCPI__airportsPOC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none POC ./HcoDir/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_%m2.ncf #EPA16_OCPO__airportsPOC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none POC ./HcoDir/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_%m2.ncf #EPA16_C3H8__airportsPRPA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PRPA ./HcoDir/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_%m2.ncf #EPA16_SO4__airportsPSO4 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PSO4 ./HcoDir/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_%m2.ncf #EPA16_SO2__airportsSO2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none SO2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_%m2.ncf #EPA16_SO4__airportsSULF kg/m2/s Y Y F2016-%m2-01T00:00:00 none none SULF ./HcoDir/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_%m2.ncf #EPA16_TOLU__airportsTOL kg/m2/s Y Y F2016-%m2-01T00:00:00 none none TOL ./HcoDir/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_%m2.ncf #EPA16_XYLE__airportsXYLMN kg/m2/s Y Y F2016-%m2-01T00:00:00 none none XYLMN ./HcoDir/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_%m2.ncf #EPA16_ACET__nonptACET kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ACET ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_%m2.ncf #EPA16_MACR__nonptACROLEIN kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ACROLEIN ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_%m2.ncf #EPA16_ALD2__nonptALD2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ALD2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_%m2.ncf #EPA16_RCHO__nonptALDX kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ALDX ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_%m2.ncf #EPA16_BENZ__nonptBENZ kg/m2/s Y Y F2016-%m2-01T00:00:00 none none BENZ ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_%m2.ncf #EPA16_Cl2__nonptCL2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none CL2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_%m2.ncf #EPA16_CO__nonptCO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none CO ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_%m2.ncf #EPA16_C2H4__nonptETH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETH ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_%m2.ncf #EPA16_C2H6__nonptETHA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETHA ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_%m2.ncf #EPA16_EOH__nonptETOH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETOH ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_%m2.ncf #EPA16_CH2O__nonptFORM kg/m2/s Y Y F2016-%m2-01T00:00:00 none none FORM ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_%m2.ncf #EPA16_HCl__nonptHCL kg/m2/s Y Y F2016-%m2-01T00:00:00 none none HCL ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_%m2.ncf #EPA16_HNO2__nonptHONO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none HONO ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_%m2.ncf #EPA16_PRPE__nonptIOLE kg/m2/s Y Y F2016-%m2-01T00:00:00 none none IOLE ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_%m2.ncf #EPA16_MEK__nonptKET kg/m2/s Y Y F2016-%m2-01T00:00:00 none none KET ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_%m2.ncf #EPA16_MOH__nonptMEOH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none MEOH ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_%m2.ncf #EPA16_NH3__nonptNH3 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NH3 ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_%m2.ncf #EPA16_NO__nonptNO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NO ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_%m2.ncf #EPA16_NO2__nonptNO2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NO2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_%m2.ncf #EPA16_PRPE__nonptOLE kg/m2/s Y Y F2016-%m2-01T00:00:00 none none OLE ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_%m2.ncf #EPA16_ALK4__nonptPAR kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PAR ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_%m2.ncf #EPA16_BCPI__nonptPEC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PEC ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_%m2.ncf #EPA16_BCPO__nonptPEC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PEC ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_%m2.ncf #EPA16_HNO4__nonptPNA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNA ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_%m2.ncf #EPA16_NH4__nonptPNH4 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNH4 ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_%m2.ncf #EPA16_NIT__nonptPNO3 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNO3 ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_%m2.ncf #EPA16_OCPI__nonptPOC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none POC ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_%m2.ncf #EPA16_OCPO__nonptPOC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none POC ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_%m2.ncf #EPA16_C3H8__nonptPRPA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PRPA ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_%m2.ncf #EPA16_SO4__nonptPSO4 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PSO4 ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_%m2.ncf #EPA16_SO2__nonptSO2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none SO2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_%m2.ncf #EPA16_SO4__nonptSULF kg/m2/s Y Y F2016-%m2-01T00:00:00 none none SULF ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_%m2.ncf #EPA16_TOLU__nonptTOL kg/m2/s Y Y F2016-%m2-01T00:00:00 none none TOL ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_%m2.ncf #EPA16_XYLE__nonptXYLMN kg/m2/s Y Y F2016-%m2-01T00:00:00 none none XYLMN ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_%m2.ncf #EPA16_ACET__nonroadACET kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ACET ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_%m2.ncf #EPA16_MACR__nonroadACROLEIN kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ACROLEIN ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_%m2.ncf #EPA16_ALD2__nonroadALD2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ALD2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_%m2.ncf #EPA16_RCHO__nonroadALDX kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ALDX ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_%m2.ncf #EPA16_BENZ__nonroadBENZ kg/m2/s Y Y F2016-%m2-01T00:00:00 none none BENZ ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_%m2.ncf #EPA16_CO__nonroadCO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none CO ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_%m2.ncf #EPA16_C2H4__nonroadETH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETH ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_%m2.ncf #EPA16_C2H6__nonroadETHA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETHA ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_%m2.ncf #EPA16_EOH__nonroadETOH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETOH ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_%m2.ncf #EPA16_CH2O__nonroadFORM kg/m2/s Y Y F2016-%m2-01T00:00:00 none none FORM ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_%m2.ncf #EPA16_HNO2__nonroadHONO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none HONO ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_%m2.ncf #EPA16_PRPE__nonroadIOLE kg/m2/s Y Y F2016-%m2-01T00:00:00 none none IOLE ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_%m2.ncf #EPA16_MEK__nonroadKET kg/m2/s Y Y F2016-%m2-01T00:00:00 none none KET ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_%m2.ncf #EPA16_MOH__nonroadMEOH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none MEOH ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_%m2.ncf #EPA16_NH3__nonroadNH3 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NH3 ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_%m2.ncf #EPA16_NO__nonroadNO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NO ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_%m2.ncf #EPA16_NO2__nonroadNO2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NO2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_%m2.ncf #EPA16_PRPE__nonroadOLE kg/m2/s Y Y F2016-%m2-01T00:00:00 none none OLE ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_%m2.ncf #EPA16_ALK4__nonroadPAR kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PAR ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_%m2.ncf #EPA16_BCPI__nonroadPEC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PEC ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_%m2.ncf #EPA16_BCPO__nonroadPEC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PEC ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_%m2.ncf #EPA16_HNO4__nonroadPNA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNA ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_%m2.ncf #EPA16_NH4__nonroadPNH4 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNH4 ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_%m2.ncf #EPA16_NIT__nonroadPNO3 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNO3 ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_%m2.ncf #EPA16_OCPI__nonroadPOC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none POC ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_%m2.ncf #EPA16_OCPO__nonroadPOC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none POC ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_%m2.ncf #EPA16_C3H8__nonroadPRPA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PRPA ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_%m2.ncf #EPA16_SO4__nonroadPSO4 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PSO4 ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_%m2.ncf #EPA16_SO2__nonroadSO2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none SO2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_%m2.ncf #EPA16_SO4__nonroadSULF kg/m2/s Y Y F2016-%m2-01T00:00:00 none none SULF ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_%m2.ncf #EPA16_TOLU__nonroadTOL kg/m2/s Y Y F2016-%m2-01T00:00:00 none none TOL ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_%m2.ncf #EPA16_XYLE__nonroadXYLMN kg/m2/s Y Y F2016-%m2-01T00:00:00 none none XYLMN ./HcoDir/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_%m2.ncf #EPA16_ACET__npogACET kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ACET ./HcoDir/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_%m2.ncf #EPA16_MACR__npogACROLEIN kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ACROLEIN ./HcoDir/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_%m2.ncf #EPA16_ALD2__npogALD2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ALD2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_%m2.ncf #EPA16_RCHO__npogALDX kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ALDX ./HcoDir/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_%m2.ncf #EPA16_BENZ__npogBENZ kg/m2/s Y Y F2016-%m2-01T00:00:00 none none BENZ ./HcoDir/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_%m2.ncf #EPA16_Cl2__npogCL2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none CL2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_%m2.ncf #EPA16_CO__npogCO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none CO ./HcoDir/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_%m2.ncf #EPA16_C2H4__npogETH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETH ./HcoDir/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_%m2.ncf #EPA16_C2H6__npogETHA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETHA ./HcoDir/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_%m2.ncf #EPA16_EOH__npogETOH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETOH ./HcoDir/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_%m2.ncf #EPA16_CH2O__npogFORM kg/m2/s Y Y F2016-%m2-01T00:00:00 none none FORM ./HcoDir/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_%m2.ncf #EPA16_HNO2__npogHONO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none HONO ./HcoDir/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_%m2.ncf #EPA16_PRPE__npogIOLE kg/m2/s Y Y F2016-%m2-01T00:00:00 none none IOLE ./HcoDir/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_%m2.ncf #EPA16_MEK__npogKET kg/m2/s Y Y F2016-%m2-01T00:00:00 none none KET ./HcoDir/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_%m2.ncf #EPA16_MOH__npogMEOH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none MEOH ./HcoDir/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_%m2.ncf #EPA16_NH3__npogNH3 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NH3 ./HcoDir/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_%m2.ncf #EPA16_NO__npogNO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NO ./HcoDir/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_%m2.ncf #EPA16_NO2__npogNO2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NO2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_%m2.ncf #EPA16_PRPE__npogOLE kg/m2/s Y Y F2016-%m2-01T00:00:00 none none OLE ./HcoDir/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_%m2.ncf #EPA16_ALK4__npogPAR kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PAR ./HcoDir/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_%m2.ncf #EPA16_BCPI__npogPEC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PEC ./HcoDir/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_%m2.ncf #EPA16_BCPO__npogPEC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PEC ./HcoDir/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_%m2.ncf #EPA16_HNO4__npogPNA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNA ./HcoDir/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_%m2.ncf #EPA16_NH4__npogPNH4 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNH4 ./HcoDir/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_%m2.ncf #EPA16_NIT__npogPNO3 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNO3 ./HcoDir/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_%m2.ncf #EPA16_OCPI__npogPOC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none POC ./HcoDir/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_%m2.ncf #EPA16_OCPO__npogPOC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none POC ./HcoDir/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_%m2.ncf #EPA16_C3H8__npogPRPA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PRPA ./HcoDir/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_%m2.ncf #EPA16_SO4__npogPSO4 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PSO4 ./HcoDir/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_%m2.ncf #EPA16_SO2__npogSO2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none SO2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_%m2.ncf #EPA16_SO4__npogSULF kg/m2/s Y Y F2016-%m2-01T00:00:00 none none SULF ./HcoDir/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_%m2.ncf #EPA16_TOLU__npogTOL kg/m2/s Y Y F2016-%m2-01T00:00:00 none none TOL ./HcoDir/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_%m2.ncf #EPA16_XYLE__npogXYLMN kg/m2/s Y Y F2016-%m2-01T00:00:00 none none XYLMN ./HcoDir/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_%m2.ncf #EPA16_ACET__onroadACET kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ACET ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_%m2.ncf #EPA16_MACR__onroadACROLEIN kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ACROLEIN ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_%m2.ncf #EPA16_ALD2__onroadALD2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ALD2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_%m2.ncf #EPA16_RCHO__onroadALDX kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ALDX ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_%m2.ncf #EPA16_BENZ__onroadBENZ kg/m2/s Y Y F2016-%m2-01T00:00:00 none none BENZ ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_%m2.ncf #EPA16_CO__onroadCO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none CO ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_%m2.ncf #EPA16_C2H4__onroadETH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETH ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_%m2.ncf #EPA16_C2H6__onroadETHA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETHA ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_%m2.ncf #EPA16_EOH__onroadETOH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETOH ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_%m2.ncf #EPA16_CH2O__onroadFORM kg/m2/s Y Y F2016-%m2-01T00:00:00 none none FORM ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_%m2.ncf #EPA16_HNO2__onroadHONO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none HONO ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_%m2.ncf #EPA16_PRPE__onroadIOLE kg/m2/s Y Y F2016-%m2-01T00:00:00 none none IOLE ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_%m2.ncf #EPA16_MEK__onroadKET kg/m2/s Y Y F2016-%m2-01T00:00:00 none none KET ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_%m2.ncf #EPA16_MOH__onroadMEOH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none MEOH ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_%m2.ncf #EPA16_NH3__onroadNH3 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NH3 ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_%m2.ncf #EPA16_NO__onroadNO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NO ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_%m2.ncf #EPA16_NO2__onroadNO2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NO2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_%m2.ncf #EPA16_PRPE__onroadOLE kg/m2/s Y Y F2016-%m2-01T00:00:00 none none OLE ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_%m2.ncf #EPA16_ALK4__onroadPAR kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PAR ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_%m2.ncf #EPA16_BCPI__onroadPEC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PEC ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_%m2.ncf #EPA16_BCPO__onroadPEC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PEC ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_%m2.ncf #EPA16_HNO4__onroadPNA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNA ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_%m2.ncf #EPA16_NH4__onroadPNH4 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNH4 ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_%m2.ncf #EPA16_NIT__onroadPNO3 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNO3 ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_%m2.ncf #EPA16_OCPI__onroadPOC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none POC ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_%m2.ncf #EPA16_OCPO__onroadPOC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none POC ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_%m2.ncf #EPA16_C3H8__onroadPRPA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PRPA ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_%m2.ncf #EPA16_SO4__onroadPSO4 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PSO4 ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_%m2.ncf #EPA16_SO2__onroadSO2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none SO2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_%m2.ncf #EPA16_TOLU__onroadTOL kg/m2/s Y Y F2016-%m2-01T00:00:00 none none TOL ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_%m2.ncf #EPA16_XYLE__onroadXYLMN kg/m2/s Y Y F2016-%m2-01T00:00:00 none none XYLMN ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_%m2.ncf #EPA16_ACET__onroad_caACET kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ACET ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_%m2.ncf #EPA16_MACR__onroad_caACROLEIN kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ACROLEIN ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_%m2.ncf #EPA16_ALD2__onroad_caALD2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ALD2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_%m2.ncf #EPA16_RCHO__onroad_caALDX kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ALDX ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_%m2.ncf #EPA16_BENZ__onroad_caBENZ kg/m2/s Y Y F2016-%m2-01T00:00:00 none none BENZ ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_%m2.ncf #EPA16_CO__onroad_caCO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none CO ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_%m2.ncf #EPA16_C2H4__onroad_caETH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETH ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_%m2.ncf #EPA16_C2H6__onroad_caETHA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETHA ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_%m2.ncf #EPA16_EOH__onroad_caETOH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETOH ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_%m2.ncf #EPA16_CH2O__onroad_caFORM kg/m2/s Y Y F2016-%m2-01T00:00:00 none none FORM ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_%m2.ncf #EPA16_HNO2__onroad_caHONO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none HONO ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_%m2.ncf #EPA16_PRPE__onroad_caIOLE kg/m2/s Y Y F2016-%m2-01T00:00:00 none none IOLE ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_%m2.ncf #EPA16_MEK__onroad_caKET kg/m2/s Y Y F2016-%m2-01T00:00:00 none none KET ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_%m2.ncf #EPA16_MOH__onroad_caMEOH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none MEOH ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_%m2.ncf #EPA16_NH3__onroad_caNH3 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NH3 ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_%m2.ncf #EPA16_NO__onroad_caNO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NO ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_%m2.ncf #EPA16_NO2__onroad_caNO2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NO2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_%m2.ncf #EPA16_PRPE__onroad_caOLE kg/m2/s Y Y F2016-%m2-01T00:00:00 none none OLE ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_%m2.ncf #EPA16_ALK4__onroad_caPAR kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PAR ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_%m2.ncf #EPA16_BCPI__onroad_caPEC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PEC ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_%m2.ncf #EPA16_BCPO__onroad_caPEC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PEC ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_%m2.ncf #EPA16_HNO4__onroad_caPNA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNA ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_%m2.ncf #EPA16_NH4__onroad_caPNH4 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNH4 ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_%m2.ncf #EPA16_NIT__onroad_caPNO3 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNO3 ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_%m2.ncf #EPA16_OCPI__onroad_caPOC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none POC ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_%m2.ncf #EPA16_OCPO__onroad_caPOC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none POC ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_%m2.ncf #EPA16_C3H8__onroad_caPRPA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PRPA ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_%m2.ncf #EPA16_SO4__onroad_caPSO4 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PSO4 ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_%m2.ncf #EPA16_SO2__onroad_caSO2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none SO2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_%m2.ncf #EPA16_TOLU__onroad_caTOL kg/m2/s Y Y F2016-%m2-01T00:00:00 none none TOL ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_%m2.ncf #EPA16_XYLE__onroad_caXYLMN kg/m2/s Y Y F2016-%m2-01T00:00:00 none none XYLMN ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_%m2.ncf #EPA16_ACET__railACET kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ACET ./HcoDir/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_%m2.ncf #EPA16_MACR__railACROLEIN kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ACROLEIN ./HcoDir/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_%m2.ncf #EPA16_ALD2__railALD2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ALD2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_%m2.ncf #EPA16_RCHO__railALDX kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ALDX ./HcoDir/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_%m2.ncf #EPA16_BENZ__railBENZ kg/m2/s Y Y F2016-%m2-01T00:00:00 none none BENZ ./HcoDir/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_%m2.ncf #EPA16_CO__railCO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none CO ./HcoDir/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_%m2.ncf #EPA16_C2H4__railETH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETH ./HcoDir/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_%m2.ncf #EPA16_C2H6__railETHA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETHA ./HcoDir/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_%m2.ncf #EPA16_EOH__railETOH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETOH ./HcoDir/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_%m2.ncf #EPA16_CH2O__railFORM kg/m2/s Y Y F2016-%m2-01T00:00:00 none none FORM ./HcoDir/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_%m2.ncf #EPA16_HNO2__railHONO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none HONO ./HcoDir/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_%m2.ncf #EPA16_PRPE__railIOLE kg/m2/s Y Y F2016-%m2-01T00:00:00 none none IOLE ./HcoDir/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_%m2.ncf #EPA16_MEK__railKET kg/m2/s Y Y F2016-%m2-01T00:00:00 none none KET ./HcoDir/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_%m2.ncf #EPA16_MOH__railMEOH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none MEOH ./HcoDir/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_%m2.ncf #EPA16_NH3__railNH3 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NH3 ./HcoDir/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_%m2.ncf #EPA16_NO__railNO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NO ./HcoDir/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_%m2.ncf #EPA16_NO2__railNO2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NO2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_%m2.ncf #EPA16_PRPE__railOLE kg/m2/s Y Y F2016-%m2-01T00:00:00 none none OLE ./HcoDir/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_%m2.ncf #EPA16_ALK4__railPAR kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PAR ./HcoDir/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_%m2.ncf #EPA16_BCPI__railPEC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PEC ./HcoDir/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_%m2.ncf #EPA16_BCPO__railPEC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PEC ./HcoDir/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_%m2.ncf #EPA16_HNO4__railPNA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNA ./HcoDir/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_%m2.ncf #EPA16_NH4__railPNH4 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNH4 ./HcoDir/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_%m2.ncf #EPA16_NIT__railPNO3 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNO3 ./HcoDir/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_%m2.ncf #EPA16_OCPI__railPOC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none POC ./HcoDir/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_%m2.ncf #EPA16_OCPO__railPOC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none POC ./HcoDir/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_%m2.ncf #EPA16_C3H8__railPRPA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PRPA ./HcoDir/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_%m2.ncf #EPA16_SO4__railPSO4 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PSO4 ./HcoDir/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_%m2.ncf #EPA16_SO2__railSO2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none SO2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_%m2.ncf #EPA16_SO4__railSULF kg/m2/s Y Y F2016-%m2-01T00:00:00 none none SULF ./HcoDir/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_%m2.ncf #EPA16_TOLU__railTOL kg/m2/s Y Y F2016-%m2-01T00:00:00 none none TOL ./HcoDir/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_%m2.ncf #EPA16_XYLE__railXYLMN kg/m2/s Y Y F2016-%m2-01T00:00:00 none none XYLMN ./HcoDir/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_%m2.ncf #EPA16_ACET__rwcACET kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ACET ./HcoDir/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_%m2.ncf #EPA16_MACR__rwcACROLEIN kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ACROLEIN ./HcoDir/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_%m2.ncf #EPA16_ALD2__rwcALD2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ALD2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_%m2.ncf #EPA16_RCHO__rwcALDX kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ALDX ./HcoDir/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_%m2.ncf #EPA16_BENZ__rwcBENZ kg/m2/s Y Y F2016-%m2-01T00:00:00 none none BENZ ./HcoDir/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_%m2.ncf #EPA16_Cl2__rwcCL2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none CL2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_%m2.ncf #EPA16_CO__rwcCO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none CO ./HcoDir/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_%m2.ncf #EPA16_C2H4__rwcETH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETH ./HcoDir/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_%m2.ncf #EPA16_C2H6__rwcETHA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETHA ./HcoDir/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_%m2.ncf #EPA16_EOH__rwcETOH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETOH ./HcoDir/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_%m2.ncf #EPA16_CH2O__rwcFORM kg/m2/s Y Y F2016-%m2-01T00:00:00 none none FORM ./HcoDir/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_%m2.ncf #EPA16_HNO2__rwcHONO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none HONO ./HcoDir/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_%m2.ncf #EPA16_PRPE__rwcIOLE kg/m2/s Y Y F2016-%m2-01T00:00:00 none none IOLE ./HcoDir/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_%m2.ncf #EPA16_MEK__rwcKET kg/m2/s Y Y F2016-%m2-01T00:00:00 none none KET ./HcoDir/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_%m2.ncf #EPA16_MOH__rwcMEOH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none MEOH ./HcoDir/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_%m2.ncf #EPA16_NH3__rwcNH3 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NH3 ./HcoDir/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_%m2.ncf #EPA16_NO__rwcNO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NO ./HcoDir/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_%m2.ncf #EPA16_NO2__rwcNO2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NO2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_%m2.ncf #EPA16_PRPE__rwcOLE kg/m2/s Y Y F2016-%m2-01T00:00:00 none none OLE ./HcoDir/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_%m2.ncf #EPA16_ALK4__rwcPAR kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PAR ./HcoDir/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_%m2.ncf #EPA16_BCPI__rwcPEC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PEC ./HcoDir/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_%m2.ncf #EPA16_BCPO__rwcPEC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PEC ./HcoDir/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_%m2.ncf #EPA16_HNO4__rwcPNA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNA ./HcoDir/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_%m2.ncf #EPA16_NH4__rwcPNH4 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNH4 ./HcoDir/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_%m2.ncf #EPA16_NIT__rwcPNO3 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNO3 ./HcoDir/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_%m2.ncf #EPA16_OCPI__rwcPOC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none POC ./HcoDir/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_%m2.ncf #EPA16_OCPO__rwcPOC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none POC ./HcoDir/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_%m2.ncf #EPA16_C3H8__rwcPRPA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PRPA ./HcoDir/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_%m2.ncf #EPA16_SO4__rwcPSO4 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PSO4 ./HcoDir/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_%m2.ncf #EPA16_SO2__rwcSO2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none SO2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_%m2.ncf #EPA16_SO4__rwcSULF kg/m2/s Y Y F2016-%m2-01T00:00:00 none none SULF ./HcoDir/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_%m2.ncf #EPA16_TOLU__rwcTOL kg/m2/s Y Y F2016-%m2-01T00:00:00 none none TOL ./HcoDir/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_%m2.ncf #EPA16_XYLE__rwcXYLMN kg/m2/s Y Y F2016-%m2-01T00:00:00 none none XYLMN ./HcoDir/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_%m2.ncf #EPA16_ACET__c1c2ACET kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ACET ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_%m2.ncf #EPA16_ALD2__c1c2ALD2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ALD2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_%m2.ncf #EPA16_RCHO__c1c2ALDX kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ALDX ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_%m2.ncf #EPA16_BENZ__c1c2BENZ kg/m2/s Y Y F2016-%m2-01T00:00:00 none none BENZ ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_%m2.ncf #EPA16_CO__c1c2CO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none CO ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_%m2.ncf #EPA16_C2H4__c1c2ETH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETH ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_%m2.ncf #EPA16_C2H6__c1c2ETHA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETHA ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_%m2.ncf #EPA16_EOH__c1c2ETOH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETOH ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_%m2.ncf #EPA16_CH2O__c1c2FORM kg/m2/s Y Y F2016-%m2-01T00:00:00 none none FORM ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_%m2.ncf #EPA16_HNO2__c1c2HONO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none HONO ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_%m2.ncf #EPA16_PRPE__c1c2IOLE kg/m2/s Y Y F2016-%m2-01T00:00:00 none none IOLE ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_%m2.ncf #EPA16_MEK__c1c2KET kg/m2/s Y Y F2016-%m2-01T00:00:00 none none KET ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_%m2.ncf #EPA16_MOH__c1c2MEOH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none MEOH ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_%m2.ncf #EPA16_NH3__c1c2NH3 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NH3 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_%m2.ncf #EPA16_NO__c1c2NO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NO ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_%m2.ncf #EPA16_NO2__c1c2NO2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NO2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_%m2.ncf #EPA16_PRPE__c1c2OLE kg/m2/s Y Y F2016-%m2-01T00:00:00 none none OLE ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_%m2.ncf #EPA16_ALK4__c1c2PAR kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PAR ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_%m2.ncf #EPA16_BCPI__c1c2PEC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PEC ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_%m2.ncf #EPA16_BCPO__c1c2PEC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PEC ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_%m2.ncf #EPA16_HNO4__c1c2PNA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNA ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_%m2.ncf #EPA16_NH4__c1c2PNH4 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNH4 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_%m2.ncf #EPA16_NIT__c1c2PNO3 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNO3 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_%m2.ncf #EPA16_OCPI__c1c2POC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none POC ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_%m2.ncf #EPA16_OCPO__c1c2POC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none POC ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_%m2.ncf #EPA16_C3H8__c1c2PRPA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PRPA ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_%m2.ncf #EPA16_SO4__c1c2PSO4 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PSO4 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_%m2.ncf #EPA16_SO2__c1c2SO2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none SO2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_%m2.ncf #EPA16_SO4__c1c2SULF kg/m2/s Y Y F2016-%m2-01T00:00:00 none none SULF ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_%m2.ncf #EPA16_TOLU__c1c2TOL kg/m2/s Y Y F2016-%m2-01T00:00:00 none none TOL ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_%m2.ncf #EPA16_XYLE__c1c2XYLMN kg/m2/s Y Y F2016-%m2-01T00:00:00 none none XYLMN ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_%m2.ncf #EPA16_ACET__c3ACET kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ACET ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_%m2.ncf #EPA16_ALD2__c3ALD2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ALD2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_%m2.ncf #EPA16_RCHO__c3ALDX kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ALDX ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_%m2.ncf #EPA16_BENZ__c3BENZ kg/m2/s Y Y F2016-%m2-01T00:00:00 none none BENZ ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_%m2.ncf #EPA16_CO__c3CO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none CO ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_%m2.ncf #EPA16_C2H4__c3ETH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETH ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_%m2.ncf #EPA16_C2H6__c3ETHA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETHA ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_%m2.ncf #EPA16_EOH__c3ETOH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETOH ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_%m2.ncf #EPA16_CH2O__c3FORM kg/m2/s Y Y F2016-%m2-01T00:00:00 none none FORM ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_%m2.ncf #EPA16_HNO2__c3HONO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none HONO ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_%m2.ncf #EPA16_PRPE__c3IOLE kg/m2/s Y Y F2016-%m2-01T00:00:00 none none IOLE ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_%m2.ncf #EPA16_MEK__c3KET kg/m2/s Y Y F2016-%m2-01T00:00:00 none none KET ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_%m2.ncf #EPA16_MOH__c3MEOH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none MEOH ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_%m2.ncf #EPA16_NH3__c3NH3 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NH3 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_%m2.ncf #EPA16_NO__c3NO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NO ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_%m2.ncf #EPA16_NO2__c3NO2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NO2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_%m2.ncf #EPA16_PRPE__c3OLE kg/m2/s Y Y F2016-%m2-01T00:00:00 none none OLE ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_%m2.ncf #EPA16_ALK4__c3PAR kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PAR ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_%m2.ncf #EPA16_BCPI__c3PEC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PEC ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_%m2.ncf #EPA16_BCPO__c3PEC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PEC ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_%m2.ncf #EPA16_HNO4__c3PNA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNA ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_%m2.ncf #EPA16_NH4__c3PNH4 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNH4 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_%m2.ncf #EPA16_NIT__c3PNO3 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNO3 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_%m2.ncf #EPA16_OCPI__c3POC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none POC ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_%m2.ncf #EPA16_OCPO__c3POC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none POC ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_%m2.ncf #EPA16_C3H8__c3PRPA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PRPA ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_%m2.ncf #EPA16_SO4__c3PSO4 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PSO4 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_%m2.ncf #EPA16_SO2__c3SO2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none SO2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_%m2.ncf #EPA16_SO4__c3SULF kg/m2/s Y Y F2016-%m2-01T00:00:00 none none SULF ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_%m2.ncf #EPA16_TOLU__c3TOL kg/m2/s Y Y F2016-%m2-01T00:00:00 none none TOL ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_%m2.ncf #EPA16_XYLE__c3XYLMN kg/m2/s Y Y F2016-%m2-01T00:00:00 none none XYLMN ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_%m2.ncf #EPA16_ACET__pteguACET kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ACET ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_%m2.ncf #EPA16_MACR__pteguACROLEIN kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ACROLEIN ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_%m2.ncf #EPA16_ALD2__pteguALD2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ALD2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_%m2.ncf #EPA16_RCHO__pteguALDX kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ALDX ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_%m2.ncf #EPA16_BENZ__pteguBENZ kg/m2/s Y Y F2016-%m2-01T00:00:00 none none BENZ ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_%m2.ncf #EPA16_Cl2__pteguCL2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none CL2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_%m2.ncf #EPA16_CO__pteguCO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none CO ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_%m2.ncf #EPA16_C2H4__pteguETH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETH ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_%m2.ncf #EPA16_C2H6__pteguETHA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETHA ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_%m2.ncf #EPA16_EOH__pteguETOH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETOH ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_%m2.ncf #EPA16_CH2O__pteguFORM kg/m2/s Y Y F2016-%m2-01T00:00:00 none none FORM ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_%m2.ncf #EPA16_HCl__pteguHCL kg/m2/s Y Y F2016-%m2-01T00:00:00 none none HCL ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_%m2.ncf #EPA16_HNO2__pteguHONO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none HONO ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_%m2.ncf #EPA16_PRPE__pteguIOLE kg/m2/s Y Y F2016-%m2-01T00:00:00 none none IOLE ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_%m2.ncf #EPA16_MEK__pteguKET kg/m2/s Y Y F2016-%m2-01T00:00:00 none none KET ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_%m2.ncf #EPA16_MOH__pteguMEOH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none MEOH ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_%m2.ncf #EPA16_NH3__pteguNH3 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NH3 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_%m2.ncf #EPA16_NO__pteguNO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NO ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_%m2.ncf #EPA16_NO2__pteguNO2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NO2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_%m2.ncf #EPA16_PRPE__pteguOLE kg/m2/s Y Y F2016-%m2-01T00:00:00 none none OLE ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_%m2.ncf #EPA16_ALK4__pteguPAR kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PAR ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_%m2.ncf #EPA16_BCPI__pteguPEC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PEC ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_%m2.ncf #EPA16_BCPO__pteguPEC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PEC ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_%m2.ncf #EPA16_HNO4__pteguPNA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNA ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_%m2.ncf #EPA16_NH4__pteguPNH4 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNH4 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_%m2.ncf #EPA16_NIT__pteguPNO3 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNO3 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_%m2.ncf #EPA16_OCPI__pteguPOC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none POC ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_%m2.ncf #EPA16_OCPO__pteguPOC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none POC ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_%m2.ncf #EPA16_C3H8__pteguPRPA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PRPA ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_%m2.ncf #EPA16_SO4__pteguPSO4 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PSO4 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_%m2.ncf #EPA16_SO2__pteguSO2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none SO2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_%m2.ncf #EPA16_SO4__pteguSULF kg/m2/s Y Y F2016-%m2-01T00:00:00 none none SULF ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_%m2.ncf #EPA16_TOLU__pteguTOL kg/m2/s Y Y F2016-%m2-01T00:00:00 none none TOL ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_%m2.ncf #EPA16_XYLE__pteguXYLMN kg/m2/s Y Y F2016-%m2-01T00:00:00 none none XYLMN ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_%m2.ncf #EPA16_ACET__ptogACET kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ACET ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_MACR__ptogACROLEIN kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ACROLEIN ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_ALD2__ptogALD2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ALD2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_RCHO__ptogALDX kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ALDX ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_BENZ__ptogBENZ kg/m2/s Y Y F2016-%m2-01T00:00:00 none none BENZ ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_Cl2__ptogCL2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none CL2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_CO__ptogCO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none CO ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_C2H4__ptogETH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETH ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_C2H6__ptogETHA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETHA ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_EOH__ptogETOH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETOH ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_CH2O__ptogFORM kg/m2/s Y Y F2016-%m2-01T00:00:00 none none FORM ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_HCl__ptogHCL kg/m2/s Y Y F2016-%m2-01T00:00:00 none none HCL ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_HNO2__ptogHONO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none HONO ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_PRPE__ptogIOLE kg/m2/s Y Y F2016-%m2-01T00:00:00 none none IOLE ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_MEK__ptogKET kg/m2/s Y Y F2016-%m2-01T00:00:00 none none KET ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_MOH__ptogMEOH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none MEOH ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_NH3__ptogNH3 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NH3 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_NO__ptogNO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NO ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_NO2__ptogNO2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NO2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_PRPE__ptogOLE kg/m2/s Y Y F2016-%m2-01T00:00:00 none none OLE ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_ALK4__ptogPAR kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PAR ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_BCPI__ptogPEC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PEC ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_BCPO__ptogPEC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PEC ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_HNO4__ptogPNA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNA ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_NH4__ptogPNH4 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNH4 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_NIT__ptogPNO3 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNO3 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_OCPI__ptogPOC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none POC ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_OCPO__ptogPOC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none POC ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_C3H8__ptogPRPA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PRPA ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_SO4__ptogPSO4 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PSO4 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_SO2__ptogSO2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none SO2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_SO4__ptogSULF kg/m2/s Y Y F2016-%m2-01T00:00:00 none none SULF ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_TOLU__ptogTOL kg/m2/s Y Y F2016-%m2-01T00:00:00 none none TOL ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_XYLE__ptogXYLMN kg/m2/s Y Y F2016-%m2-01T00:00:00 none none XYLMN ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_ACET__ptnonipmACET kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ACET ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_MACR__ptnonipmACROLEIN kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ACROLEIN ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_ALD2__ptnonipmALD2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ALD2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_RCHO__ptnonipmALDX kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ALDX ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_BENZ__ptnonipmBENZ kg/m2/s Y Y F2016-%m2-01T00:00:00 none none BENZ ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_Cl2__ptnonipmCL2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none CL2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_CO__ptnonipmCO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none CO ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_C2H4__ptnonipmETH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETH ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_C2H6__ptnonipmETHA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETHA ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_EOH__ptnonipmETOH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETOH ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_CH2O__ptnonipmFORM kg/m2/s Y Y F2016-%m2-01T00:00:00 none none FORM ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_HCl__ptnonipmHCL kg/m2/s Y Y F2016-%m2-01T00:00:00 none none HCL ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_HNO2__ptnonipmHONO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none HONO ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_PRPE__ptnonipmIOLE kg/m2/s Y Y F2016-%m2-01T00:00:00 none none IOLE ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_MEK__ptnonipmKET kg/m2/s Y Y F2016-%m2-01T00:00:00 none none KET ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_MOH__ptnonipmMEOH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none MEOH ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_NH3__ptnonipmNH3 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NH3 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_NO__ptnonipmNO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NO ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_NO2__ptnonipmNO2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NO2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_PRPE__ptnonipmOLE kg/m2/s Y Y F2016-%m2-01T00:00:00 none none OLE ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_ALK4__ptnonipmPAR kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PAR ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_BCPI__ptnonipmPEC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PEC ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_BCPO__ptnonipmPEC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PEC ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_HNO4__ptnonipmPNA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNA ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_NH4__ptnonipmPNH4 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNH4 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_NIT__ptnonipmPNO3 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNO3 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_OCPI__ptnonipmPOC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none POC ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_OCPO__ptnonipmPOC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none POC ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_C3H8__ptnonipmPRPA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PRPA ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_SO4__ptnonipmPSO4 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PSO4 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_SO2__ptnonipmSO2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none SO2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_SO4__ptnonipmSULF kg/m2/s Y Y F2016-%m2-01T00:00:00 none none SULF ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_TOLU__ptnonipmTOL kg/m2/s Y Y F2016-%m2-01T00:00:00 none none TOL ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_XYLE__ptnonipmXYLMN kg/m2/s Y Y F2016-%m2-01T00:00:00 none none XYLMN ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_%m2.ncf #EPA16_ACET__onroad_canACET kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ACET ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_%m2.ncf #EPA16_ALD2__onroad_canALD2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ALD2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_%m2.ncf #EPA16_RCHO__onroad_canALDX kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ALDX ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_%m2.ncf #EPA16_BENZ__onroad_canBENZ kg/m2/s Y Y F2016-%m2-01T00:00:00 none none BENZ ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_%m2.ncf #EPA16_CO__onroad_canCO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none CO ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_%m2.ncf #EPA16_C2H4__onroad_canETH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETH ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_%m2.ncf #EPA16_C2H6__onroad_canETHA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETHA ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_%m2.ncf #EPA16_EOH__onroad_canETOH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETOH ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_%m2.ncf #EPA16_CH2O__onroad_canFORM kg/m2/s Y Y F2016-%m2-01T00:00:00 none none FORM ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_%m2.ncf #EPA16_HNO2__onroad_canHONO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none HONO ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_%m2.ncf #EPA16_PRPE__onroad_canIOLE kg/m2/s Y Y F2016-%m2-01T00:00:00 none none IOLE ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_%m2.ncf #EPA16_MEK__onroad_canKET kg/m2/s Y Y F2016-%m2-01T00:00:00 none none KET ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_%m2.ncf #EPA16_MOH__onroad_canMEOH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none MEOH ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_%m2.ncf #EPA16_NH3__onroad_canNH3 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NH3 ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_%m2.ncf #EPA16_NO__onroad_canNO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NO ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_%m2.ncf #EPA16_NO2__onroad_canNO2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NO2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_%m2.ncf #EPA16_PRPE__onroad_canOLE kg/m2/s Y Y F2016-%m2-01T00:00:00 none none OLE ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_%m2.ncf #EPA16_ALK4__onroad_canPAR kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PAR ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_%m2.ncf #EPA16_BCPI__onroad_canPEC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PEC ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_%m2.ncf #EPA16_BCPO__onroad_canPEC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PEC ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_%m2.ncf #EPA16_HNO4__onroad_canPNA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNA ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_%m2.ncf #EPA16_NH4__onroad_canPNH4 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNH4 ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_%m2.ncf #EPA16_NIT__onroad_canPNO3 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNO3 ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_%m2.ncf #EPA16_OCPI__onroad_canPOC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none POC ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_%m2.ncf #EPA16_OCPO__onroad_canPOC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none POC ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_%m2.ncf #EPA16_C3H8__onroad_canPRPA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PRPA ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_%m2.ncf #EPA16_SO4__onroad_canPSO4 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PSO4 ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_%m2.ncf #EPA16_SO2__onroad_canSO2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none SO2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_%m2.ncf #EPA16_SO4__onroad_canSULF kg/m2/s Y Y F2016-%m2-01T00:00:00 none none SULF ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_%m2.ncf #EPA16_TOLU__onroad_canTOL kg/m2/s Y Y F2016-%m2-01T00:00:00 none none TOL ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_%m2.ncf #EPA16_XYLE__onroad_canXYLMN kg/m2/s Y Y F2016-%m2-01T00:00:00 none none XYLMN ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_%m2.ncf #EPA16_ACET__onroad_mexACET kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ACET ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_%m2.ncf #EPA16_MACR__onroad_mexACROLEIN kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ACROLEIN ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_%m2.ncf #EPA16_ALD2__onroad_mexALD2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ALD2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_%m2.ncf #EPA16_RCHO__onroad_mexALDX kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ALDX ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_%m2.ncf #EPA16_BENZ__onroad_mexBENZ kg/m2/s Y Y F2016-%m2-01T00:00:00 none none BENZ ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_%m2.ncf #EPA16_CO__onroad_mexCO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none CO ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_%m2.ncf #EPA16_C2H4__onroad_mexETH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETH ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_%m2.ncf #EPA16_C2H6__onroad_mexETHA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETHA ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_%m2.ncf #EPA16_EOH__onroad_mexETOH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETOH ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_%m2.ncf #EPA16_CH2O__onroad_mexFORM kg/m2/s Y Y F2016-%m2-01T00:00:00 none none FORM ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_%m2.ncf #EPA16_HNO2__onroad_mexHONO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none HONO ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_%m2.ncf #EPA16_PRPE__onroad_mexIOLE kg/m2/s Y Y F2016-%m2-01T00:00:00 none none IOLE ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_%m2.ncf #EPA16_MEK__onroad_mexKET kg/m2/s Y Y F2016-%m2-01T00:00:00 none none KET ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_%m2.ncf #EPA16_MOH__onroad_mexMEOH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none MEOH ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_%m2.ncf #EPA16_NH3__onroad_mexNH3 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NH3 ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_%m2.ncf #EPA16_NO__onroad_mexNO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NO ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_%m2.ncf #EPA16_NO2__onroad_mexNO2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NO2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_%m2.ncf #EPA16_PRPE__onroad_mexOLE kg/m2/s Y Y F2016-%m2-01T00:00:00 none none OLE ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_%m2.ncf #EPA16_ALK4__onroad_mexPAR kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PAR ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_%m2.ncf #EPA16_BCPI__onroad_mexPEC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PEC ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_%m2.ncf #EPA16_BCPO__onroad_mexPEC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PEC ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_%m2.ncf #EPA16_HNO4__onroad_mexPNA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNA ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_%m2.ncf #EPA16_NH4__onroad_mexPNH4 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNH4 ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_%m2.ncf #EPA16_NIT__onroad_mexPNO3 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNO3 ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_%m2.ncf #EPA16_OCPI__onroad_mexPOC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none POC ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_%m2.ncf #EPA16_OCPO__onroad_mexPOC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none POC ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_%m2.ncf #EPA16_C3H8__onroad_mexPRPA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PRPA ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_%m2.ncf #EPA16_SO4__onroad_mexPSO4 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PSO4 ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_%m2.ncf #EPA16_SO2__onroad_mexSO2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none SO2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_%m2.ncf #EPA16_SO4__onroad_mexSULF kg/m2/s Y Y F2016-%m2-01T00:00:00 none none SULF ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_%m2.ncf #EPA16_TOLU__onroad_mexTOL kg/m2/s Y Y F2016-%m2-01T00:00:00 none none TOL ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_%m2.ncf #EPA16_XYLE__onroad_mexXYLMN kg/m2/s Y Y F2016-%m2-01T00:00:00 none none XYLMN ./HcoDir/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_%m2.ncf #EPA16_BCPI__othafdustPEC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PEC ./HcoDir/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_%m2.ncf #EPA16_BCPO__othafdustPEC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PEC ./HcoDir/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_%m2.ncf #EPA16_HNO4__othafdustPNA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNA ./HcoDir/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_%m2.ncf #EPA16_NH4__othafdustPNH4 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNH4 ./HcoDir/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_%m2.ncf #EPA16_NIT__othafdustPNO3 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNO3 ./HcoDir/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_%m2.ncf #EPA16_OCPI__othafdustPOC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none POC ./HcoDir/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_%m2.ncf #EPA16_OCPO__othafdustPOC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none POC ./HcoDir/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_%m2.ncf #EPA16_SO4__othafdustPSO4 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PSO4 ./HcoDir/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_%m2.ncf #EPA16_ACET__otharACET kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ACET ./HcoDir/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_%m2.ncf #EPA16_ALD2__otharALD2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ALD2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_%m2.ncf #EPA16_RCHO__otharALDX kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ALDX ./HcoDir/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_%m2.ncf #EPA16_BENZ__otharBENZ kg/m2/s Y Y F2016-%m2-01T00:00:00 none none BENZ ./HcoDir/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_%m2.ncf #EPA16_CO__otharCO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none CO ./HcoDir/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_%m2.ncf #EPA16_C2H4__otharETH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETH ./HcoDir/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_%m2.ncf #EPA16_C2H6__otharETHA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETHA ./HcoDir/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_%m2.ncf #EPA16_EOH__otharETOH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETOH ./HcoDir/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_%m2.ncf #EPA16_CH2O__otharFORM kg/m2/s Y Y F2016-%m2-01T00:00:00 none none FORM ./HcoDir/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_%m2.ncf #EPA16_HNO2__otharHONO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none HONO ./HcoDir/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_%m2.ncf #EPA16_PRPE__otharIOLE kg/m2/s Y Y F2016-%m2-01T00:00:00 none none IOLE ./HcoDir/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_%m2.ncf #EPA16_MEK__otharKET kg/m2/s Y Y F2016-%m2-01T00:00:00 none none KET ./HcoDir/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_%m2.ncf #EPA16_MOH__otharMEOH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none MEOH ./HcoDir/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_%m2.ncf #EPA16_NH3__otharNH3 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NH3 ./HcoDir/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_%m2.ncf #EPA16_NO__otharNO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NO ./HcoDir/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_%m2.ncf #EPA16_NO2__otharNO2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NO2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_%m2.ncf #EPA16_PRPE__otharOLE kg/m2/s Y Y F2016-%m2-01T00:00:00 none none OLE ./HcoDir/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_%m2.ncf #EPA16_ALK4__otharPAR kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PAR ./HcoDir/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_%m2.ncf #EPA16_BCPI__otharPEC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PEC ./HcoDir/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_%m2.ncf #EPA16_BCPO__otharPEC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PEC ./HcoDir/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_%m2.ncf #EPA16_HNO4__otharPNA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNA ./HcoDir/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_%m2.ncf #EPA16_NH4__otharPNH4 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNH4 ./HcoDir/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_%m2.ncf #EPA16_NIT__otharPNO3 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNO3 ./HcoDir/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_%m2.ncf #EPA16_OCPI__otharPOC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none POC ./HcoDir/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_%m2.ncf #EPA16_OCPO__otharPOC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none POC ./HcoDir/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_%m2.ncf #EPA16_C3H8__otharPRPA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PRPA ./HcoDir/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_%m2.ncf #EPA16_SO4__otharPSO4 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PSO4 ./HcoDir/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_%m2.ncf #EPA16_SO2__otharSO2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none SO2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_%m2.ncf #EPA16_SO4__otharSULF kg/m2/s Y Y F2016-%m2-01T00:00:00 none none SULF ./HcoDir/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_%m2.ncf #EPA16_TOLU__otharTOL kg/m2/s Y Y F2016-%m2-01T00:00:00 none none TOL ./HcoDir/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_%m2.ncf #EPA16_XYLE__otharXYLMN kg/m2/s Y Y F2016-%m2-01T00:00:00 none none XYLMN ./HcoDir/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_%m2.ncf #EPA16_BCPI__othptdustPEC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PEC ./HcoDir/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_%m2.ncf #EPA16_BCPO__othptdustPEC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PEC ./HcoDir/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_%m2.ncf #EPA16_HNO4__othptdustPNA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNA ./HcoDir/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_%m2.ncf #EPA16_NH4__othptdustPNH4 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNH4 ./HcoDir/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_%m2.ncf #EPA16_NIT__othptdustPNO3 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNO3 ./HcoDir/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_%m2.ncf #EPA16_OCPI__othptdustPOC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none POC ./HcoDir/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_%m2.ncf #EPA16_OCPO__othptdustPOC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none POC ./HcoDir/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_%m2.ncf #EPA16_SO4__othptdustPSO4 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PSO4 ./HcoDir/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_%m2.ncf #EPA16_ACET__othptACET kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ACET ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_%m2.ncf #EPA16_ALD2__othptALD2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ALD2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_%m2.ncf #EPA16_RCHO__othptALDX kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ALDX ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_%m2.ncf #EPA16_BENZ__othptBENZ kg/m2/s Y Y F2016-%m2-01T00:00:00 none none BENZ ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_%m2.ncf #EPA16_CO__othptCO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none CO ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_%m2.ncf #EPA16_C2H4__othptETH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETH ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_%m2.ncf #EPA16_C2H6__othptETHA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETHA ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_%m2.ncf #EPA16_EOH__othptETOH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none ETOH ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_%m2.ncf #EPA16_CH2O__othptFORM kg/m2/s Y Y F2016-%m2-01T00:00:00 none none FORM ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_%m2.ncf #EPA16_HNO2__othptHONO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none HONO ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_%m2.ncf #EPA16_PRPE__othptIOLE kg/m2/s Y Y F2016-%m2-01T00:00:00 none none IOLE ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_%m2.ncf #EPA16_MEK__othptKET kg/m2/s Y Y F2016-%m2-01T00:00:00 none none KET ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_%m2.ncf #EPA16_MOH__othptMEOH kg/m2/s Y Y F2016-%m2-01T00:00:00 none none MEOH ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_%m2.ncf #EPA16_NH3__othptNH3 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NH3 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_%m2.ncf #EPA16_NO__othptNO kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NO ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_%m2.ncf #EPA16_NO2__othptNO2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none NO2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_%m2.ncf #EPA16_PRPE__othptOLE kg/m2/s Y Y F2016-%m2-01T00:00:00 none none OLE ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_%m2.ncf #EPA16_ALK4__othptPAR kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PAR ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_%m2.ncf #EPA16_BCPI__othptPEC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PEC ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_%m2.ncf #EPA16_BCPO__othptPEC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PEC ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_%m2.ncf #EPA16_HNO4__othptPNA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNA ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_%m2.ncf #EPA16_NH4__othptPNH4 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNH4 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_%m2.ncf #EPA16_NIT__othptPNO3 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PNO3 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_%m2.ncf #EPA16_OCPI__othptPOC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none POC ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_%m2.ncf #EPA16_OCPO__othptPOC kg/m2/s Y Y F2016-%m2-01T00:00:00 none none POC ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_%m2.ncf #EPA16_C3H8__othptPRPA kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PRPA ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_%m2.ncf #EPA16_SO4__othptPSO4 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none PSO4 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_%m2.ncf #EPA16_SO2__othptSO2 kg/m2/s Y Y F2016-%m2-01T00:00:00 none none SO2 ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_%m2.ncf #EPA16_SO4__othptSULF kg/m2/s Y Y F2016-%m2-01T00:00:00 none none SULF ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_%m2.ncf #EPA16_TOLU__othptTOL kg/m2/s Y Y F2016-%m2-01T00:00:00 none none TOL ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_%m2.ncf #EPA16_XYLE__othptXYLMN kg/m2/s Y Y F2016-%m2-01T00:00:00 none none XYLMN ./HcoDir/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_%m2.ncf # #============================================================================== # --- DICE-Africa emission inventory (DICE_Africa) --- # DICE_Africa is off by default in HEMCO_Config.rc #============================================================================== ## Scale factors convert from g/m2/yr to kg/m2/s ## ## --- Cars --- #DICE_CARS_CO g/m2/yr N Y - none 3.171e-11 CO ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc #DICE_CARS_NO g/m2/yr N Y - none 3.171e-11 NO ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc #DICE_CARS_ALK4 g/m2/yr N Y - none 3.171e-11 ALK4 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc #DICE_CARS_ISOP g/m2/yr N Y - none 3.171e-11 ISOP ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc #DICE_CARS_ACET g/m2/yr N Y - none 3.171e-11 ACET ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc #DICE_CARS_MEK g/m2/yr N Y - none 3.171e-11 MEK ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc #DICE_CARS_ALD2 g/m2/yr N Y - none 3.171e-11 ALD2 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc #DICE_CARS_RCHO g/m2/yr N Y - none 3.171e-11 RCHO ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc #DICE_CARS_PRPE g/m2/yr N Y - none 3.171e-11 PRPE ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc #DICE_CARS_CH2O g/m2/yr N Y - none 3.171e-11 CH2O ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc #DICE_CARS_SO2 g/m2/yr N Y - none 3.171e-11 SO2 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc #DICE_CARS_C2H4 g/m2/yr N Y - none 3.171e-11 C2H4 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc #DICE_CARS_BENZ g/m2/yr N Y - none 3.171e-11 BENZ ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc #DICE_CARS_TOLU g/m2/yr N Y - none 3.171e-11 TOLU ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc #DICE_CARS_XYLE g/m2/yr N Y - none 3.171e-11 XYLE ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc #DICE_CARS_BCPI g/m2/yr N Y - none 3.171e-11 BC ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc #DICE_CARS_OCPI g/m2/yr N Y - none 3.171e-11 OC ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc ## ## --- Motorcycles --- #DICE_MOTORCYCLES_CO g/m2/yr N Y - none 3.171e-11 CO ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc #DICE_MOTORCYCLES_NO g/m2/yr N Y - none 3.171e-11 NO ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc #DICE_MOTORCYCLES_SO2 g/m2/yr N Y - none 3.171e-11 SO2 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc #DICE_MOTORCYCLES_ALK4 g/m2/yr N Y - none 3.171e-11 ALK4 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc #DICE_MOTORCYCLES_MEK g/m2/yr N Y - none 3.171e-11 MEK ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc #DICE_MOTORCYCLES_ALD2 g/m2/yr N Y - none 3.171e-11 ALD2 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc #DICE_MOTORCYCLES_PRPE g/m2/yr N Y - none 3.171e-11 PRPE ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc #DICE_MOTORCYCLES_CH2O g/m2/yr N Y - none 3.171e-11 CH2O ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc #DICE_MOTORCYCLES_BENZ g/m2/yr N Y - none 3.171e-11 BENZ ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc #DICE_MOTORCYCLES_TOLU g/m2/yr N Y - none 3.171e-11 TOLU ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc #DICE_MOTORCYCLES_BCPI g/m2/yr N Y - none 3.171e-11 BC ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc #DICE_MOTORCYCLES_OCPI g/m2/yr N Y - none 3.171e-11 OC ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc ## ## --- Backup generators --- #DICE_BACKUPGEN_CO g/m2/yr N Y - none 3.171e-11 CO ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc #DICE_BACKUPGEN_NO g/m2/yr N Y - none 3.171e-11 NO ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc #DICE_BACKUPGEN_NO2 g/m2/yr N Y - none 3.171e-11 NO2 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc #DICE_BACKUPGEN_SO2 g/m2/yr N Y - none 3.171e-11 SO2 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc #DICE_BACKUPGEN_ACET g/m2/yr N Y - none 3.171e-11 ACET ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc #DICE_BACKUPGEN_MEK g/m2/yr N Y - none 3.171e-11 MEK ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc #DICE_BACKUPGEN_ALD2 g/m2/yr N Y - none 3.171e-11 ALD2 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc #DICE_BACKUPGEN_RCHO g/m2/yr N Y - none 3.171e-11 RCHO ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc #DICE_BACKUPGEN_MVK g/m2/yr N Y - none 3.171e-11 MVK ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc #DICE_BACKUPGEN_MACR g/m2/yr N Y - none 3.171e-11 MACR ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc #DICE_BACKUPGEN_CH2O g/m2/yr N Y - none 3.171e-11 CH2O ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc #DICE_BACKUPGEN_C2H4 g/m2/yr N Y - none 3.171e-11 C2H4 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc #DICE_BACKUPGEN_BENZ g/m2/yr N Y - none 3.171e-11 BENZ ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc #DICE_BACKUPGEN_TOLU g/m2/yr N Y - none 3.171e-11 TOLU ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc #DICE_BACKUPGEN_XYLE g/m2/yr N Y - none 3.171e-11 XYLE ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc #DICE_BACKUPGEN_BCPI g/m2/yr N Y - none 3.171e-11 BC ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc #DICE_BACKUPGEN_OCPI g/m2/yr N Y - none 3.171e-11 OC ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc ## ## --- Charcoal production --- #DICE_CHARCOALPROD_CO g/m2/yr N Y - none 3.171e-11 CO ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc #DICE_CHARCOALPROD_NO g/m2/yr N Y - none 3.171e-11 NO ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc #DICE_CHARCOALPROD_NH3 g/m2/yr N Y - none 3.171e-11 NH3 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc #DICE_CHARCOALPROD_PRPE g/m2/yr N Y - none 3.171e-11 PRPE ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc #DICE_CHARCOALPROD_CH2O g/m2/yr N Y - none 3.171e-11 CH2O ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc #DICE_CHARCOALPROD_C2H6 g/m2/yr N Y - none 3.171e-11 C2H6 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc #DICE_CHARCOALPROD_HAC g/m2/yr N Y - none 3.171e-11 HAC ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc #DICE_CHARCOALPROD_C2H2 g/m2/yr N Y - none 3.171e-11 C2H2 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc #DICE_CHARCOALPROD_C2H4 g/m2/yr N Y - none 3.171e-11 C2H4 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc #DICE_CHARCOALPROD_TOLU g/m2/yr N Y - none 3.171e-11 TOLU ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc #DICE_CHARCOALPROD_HCOOH g/m2/yr N Y - none 3.171e-11 HCOOH ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc #DICE_CHARCOALPROD_MOH g/m2/yr N Y - none 3.171e-11 MOH ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc ## #DICE_CHARCOALPROD_BCPI g/m2/yr N Y - none 3.171e-11 BC ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc #DICE_CHARCOALPROD_OCPI g/m2/yr N Y - none 3.171e-11 OC ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc ## ## --- Flaring of natural gas --- #DICE_GASFLARE_CO g/m2/yr N Y - none 3.171e-11 CO ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc #DICE_GASFLARE_NO g/m2/yr N Y - none 3.171e-11 NO ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc #DICE_GASFLARE_ALK4 g/m2/yr N Y - none 3.171e-11 ALK4 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc #DICE_GASFLARE_ALD2 g/m2/yr N Y - none 3.171e-11 ALD2 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc #DICE_GASFLARE_PRPE g/m2/yr N Y - none 3.171e-11 PRPE ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc #DICE_GASFLARE_CH2O g/m2/yr N Y - none 3.171e-11 CH2O ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc #DICE_GASFLARE_BENZ g/m2/yr N Y - none 3.171e-11 BENZ ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc #DICE_GASFLARE_TOLU g/m2/yr N Y - none 3.171e-11 TOLU ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc #DICE_GASFLARE_XYLE g/m2/yr N Y - none 3.171e-11 XYLE ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc #DICE_GASFLARE_BCPI g/m2/yr N Y - none 3.171e-11 BC ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc #DICE_GASFLARE_OCPI g/m2/yr N Y - none 3.171e-11 OC ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc ## ## --- Ag waste burning for energy --- #DICE_AGBURNING_CO g/m2/yr N Y - none 3.171e-11 CO ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc #DICE_AGBURNING_NO g/m2/yr N Y - none 3.171e-11 NO ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc #DICE_AGBURNING_NO2 g/m2/yr N Y - none 3.171e-11 NO2 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc #DICE_AGBURNING_SO2 g/m2/yr N Y - none 3.171e-11 SO2 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc #DICE_AGBURNING_NH3 g/m2/yr N Y - none 3.171e-11 NH3 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc #DICE_AGBURNING_ALK4 g/m2/yr N Y - none 3.171e-11 ALK4 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc #DICE_AGBURNING_ISOP g/m2/yr N Y - none 3.171e-11 ISOP ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc #DICE_AGBURNING_ACET g/m2/yr N Y - none 3.171e-11 ACET ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc #DICE_AGBURNING_MEK g/m2/yr N Y - none 3.171e-11 MEK ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc #DICE_AGBURNING_ALD2 g/m2/yr N Y - none 3.171e-11 ALD2 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc #DICE_AGBURNING_MVK g/m2/yr N Y - none 3.171e-11 MVK ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc #DICE_AGBURNING_MACR g/m2/yr N Y - none 3.171e-11 MACR ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc #DICE_AGBURNING_PRPE g/m2/yr N Y - none 3.171e-11 PRPE ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc #DICE_AGBURNING_C3H8 g/m2/yr N Y - none 3.171e-11 C3H8 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc #DICE_AGBURNING_CH2O g/m2/yr N Y - none 3.171e-11 CH2O ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc #DICE_AGBURNING_C2H6 g/m2/yr N Y - none 3.171e-11 C2H6 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc #DICE_AGBURNING_HAC g/m2/yr N Y - none 3.171e-11 HAC ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc #DICE_AGBURNING_GLYC g/m2/yr N Y - none 3.171e-11 GLYC ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc #DICE_AGBURNING_MOH g/m2/yr N Y - none 3.171e-11 MOH ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc #DICE_AGBURNING_C2H2 g/m2/yr N Y - none 3.171e-11 C2H2 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc #DICE_AGBURNING_C2H4 g/m2/yr N Y - none 3.171e-11 C2H4 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc #DICE_AGBURNING_BENZ g/m2/yr N Y - none 3.171e-11 BENZ ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc #DICE_AGBURNING_TOLU g/m2/yr N Y - none 3.171e-11 TOLU ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc #DICE_AGBURNING_XYLE g/m2/yr N Y - none 3.171e-11 XYLE ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc #DICE_AGBURNING_HCOOH g/m2/yr N Y - none 3.171e-11 HCOOH ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc #DICE_AGBURNING_BCPI g/m2/yr N Y - none 3.171e-11 BC ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc #DICE_AGBURNING_OCPI g/m2/yr N Y - none 3.171e-11 OC ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc ## ## --- Charcoal use --- #DICE_CHARCOALUSE_CO g/m2/yr N Y - none 3.171e-11 CO ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc #DICE_CHARCOALUSE_NO g/m2/yr N Y - none 3.171e-11 NO ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc #DICE_CHARCOALUSE_ALK4 g/m2/yr N Y - none 3.171e-11 ALK4 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc #DICE_CHARCOALUSE_NH3 g/m2/yr N Y - none 3.171e-11 NH3 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc #DICE_CHARCOALUSE_PRPE g/m2/yr N Y - none 3.171e-11 PRPE ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc #DICE_CHARCOALUSE_CH2O g/m2/yr N Y - none 3.171e-11 CH2O ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc #DICE_CHARCOALUSE_C2H6 g/m2/yr N Y - none 3.171e-11 C2H6 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc #DICE_CHARCOALUSE_C2H2 g/m2/yr N Y - none 3.171e-11 C2H2 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc #DICE_CHARCOALUSE_C2H4 g/m2/yr N Y - none 3.171e-11 C2H4 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc #DICE_CHARCOALUSE_HCOOH g/m2/yr N Y - none 3.171e-11 HCOOH ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc #DICE_CHARCOALUSE_MOH g/m2/yr N Y - none 3.171e-11 MOH ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc #DICE_CHARCOALUSE_BCPI g/m2/yr N Y - none 3.171e-11 BC ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc #DICE_CHARCOALUSE_OCPI g/m2/yr N Y - none 3.171e-11 OC ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc ## ## --- Kerosene use --- #DICE_KEROSENE_CO g/m2/yr N Y - none 3.171e-11 CO ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-kerosene-use-2013-v01-4Oct2016.nc #DICE_KEROSENE_BCPI g/m2/yr N Y - none 3.171e-11 BC ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-kerosene-use-2013-v01-4Oct2016.nc #DICE_KEROSENE_OCPI g/m2/yr N Y - none 3.171e-11 OC ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-kerosene-use-2013-v01-4Oct2016.nc ## ## --- Artisanal oil refining --- #DICE_OILREFINING_CO g/m2/yr N Y - none 3.171e-11 CO ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc #DICE_OILREFINING_NO g/m2/yr N Y - none 3.171e-11 NO ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc #DICE_OILREFINING_SO2 g/m2/yr N Y - none 3.171e-11 SO2 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc #DICE_OILREFINING_ALK4 g/m2/yr N Y - none 3.171e-11 ALK4 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc #DICE_OILREFINING_ACET g/m2/yr N Y - none 3.171e-11 ACET ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc #DICE_OILREFINING_MEK g/m2/yr N Y - none 3.171e-11 MEK ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc #DICE_OILREFINING_ALD2 g/m2/yr N Y - none 3.171e-11 ALD2 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc #DICE_OILREFINING_RCHO g/m2/yr N Y - none 3.171e-11 RCHO ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc #DICE_OILREFINING_C3H8 g/m2/yr N Y - none 3.171e-11 C3H8 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc #DICE_OILREFINING_CH2O g/m2/yr N Y - none 3.171e-11 CH2O ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc #DICE_OILREFINING_C2H6 g/m2/yr N Y - none 3.171e-11 C2H6 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc #DICE_OILREFINING_BENZ g/m2/yr N Y - none 3.171e-11 BENZ ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc #DICE_OILREFINING_TOLU g/m2/yr N Y - none 3.171e-11 TOLU ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc #DICE_OILREFINING_XYLE g/m2/yr N Y - none 3.171e-11 XYLE ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc #DICE_OILREFINING_BCPI g/m2/yr N Y - none 3.171e-11 BC ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc #DICE_OILREFINING_OCPI g/m2/yr N Y - none 3.171e-11 OC ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc ## ## --- Household fuelwood use --- #DICE_HOUSEFUELWOOD_CO g/m2/yr N Y - none 3.171e-11 CO ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc #DICE_HOUSEFUELWOOD_NO g/m2/yr N Y - none 3.171e-11 NO ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc #DICE_HOUSEFUELWOOD_NO2 g/m2/yr N Y - none 3.171e-11 NO2 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc #DICE_HOUSEFUELWOOD_SO2 g/m2/yr N Y - none 3.171e-11 SO2 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc #DICE_HOUSEFUELWOOD_NH3 g/m2/yr N Y - none 3.171e-11 NH3 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc #DICE_HOUSEFUELWOOD_ALK4 g/m2/yr N Y - none 3.171e-11 ALK4 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc #DICE_HOUSEFUELWOOD_ISOP g/m2/yr N Y - none 3.171e-11 ISOP ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc #DICE_HOUSEFUELWOOD_MEK g/m2/yr N Y - none 3.171e-11 MEK ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc #DICE_HOUSEFUELWOOD_ALD2 g/m2/yr N Y - none 3.171e-11 ALD2 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc #DICE_HOUSEFUELWOOD_MVK g/m2/yr N Y - none 3.171e-11 MVK ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc #DICE_HOUSEFUELWOOD_PRPE g/m2/yr N Y - none 3.171e-11 PRPE ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc #DICE_HOUSEFUELWOOD_CH2O g/m2/yr N Y - none 3.171e-11 CH2O ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc #DICE_HOUSEFUELWOOD_C2H6 g/m2/yr N Y - none 3.171e-11 C2H6 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc #DICE_HOUSEFUELWOOD_HAC g/m2/yr N Y - none 3.171e-11 HAC ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc #DICE_HOUSEFUELWOOD_GLYC g/m2/yr N Y - none 3.171e-11 GLYC ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc #DICE_HOUSEFUELWOOD_MOH g/m2/yr N Y - none 3.171e-11 MOH ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc #DICE_HOUSEFUELWOOD_C2H2 g/m2/yr N Y - none 3.171e-11 C2H2 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc #DICE_HOUSEFUELWOOD_C2H4 g/m2/yr N Y - none 3.171e-11 C2H4 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc #DICE_HOUSEFUELWOOD_BENZ g/m2/yr N Y - none 3.171e-11 BENZ ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc #DICE_HOUSEFUELWOOD_TOLU g/m2/yr N Y - none 3.171e-11 TOLU ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc #DICE_HOUSEFUELWOOD_XYLE g/m2/yr N Y - none 3.171e-11 XYLE ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc #DICE_HOUSEFUELWOOD_HCOOH g/m2/yr N Y - none 3.171e-11 HCOOH ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc #DICE_HOUSEFUELWOOD_BCPI g/m2/yr N Y - none 3.171e-11 BC ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc #DICE_HOUSEFUELWOOD_OCPI g/m2/yr N Y - none 3.171e-11 OC ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc ## ## --- Commercial (other) fuelwood use --- #DICE_OTHERFUELWOOD_CO g/m2/yr N Y - none 3.171e-11 CO ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc #DICE_OTHERFUELWOOD_NO g/m2/yr N Y - none 3.171e-11 NO ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc #DICE_OTHERFUELWOOD_NO2 g/m2/yr N Y - none 3.171e-11 NO2 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc #DICE_OTHERFUELWOOD_SO2 g/m2/yr N Y - none 3.171e-11 SO2 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc #DICE_OTHERFUELWOOD_NH3 g/m2/yr N Y - none 3.171e-11 NH3 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc #DICE_OTHERFUELWOOD_ALK4 g/m2/yr N Y - none 3.171e-11 ALK4 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc #DICE_OTHERFUELWOOD_ISOP g/m2/yr N Y - none 3.171e-11 ISOP ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc #DICE_OTHERFUELWOOD_MEK g/m2/yr N Y - none 3.171e-11 MEK ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc #DICE_OTHERFUELWOOD_ALD2 g/m2/yr N Y - none 3.171e-11 ALD2 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc #DICE_OTHERFUELWOOD_MVK g/m2/yr N Y - none 3.171e-11 MVK ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc #DICE_OTHERFUELWOOD_PRPE g/m2/yr N Y - none 3.171e-11 PRPE ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc #DICE_OTHERFUELWOOD_CH2O g/m2/yr N Y - none 3.171e-11 CH2O ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc #DICE_OTHERFUELWOOD_C2H6 g/m2/yr N Y - none 3.171e-11 C2H6 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc #DICE_OTHERFUELWOOD_HAC g/m2/yr N Y - none 3.171e-11 HAC ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc #DICE_OTHERFUELWOOD_GLYC g/m2/yr N Y - none 3.171e-11 GLYC ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc #DICE_OTHERFUELWOOD_MOH g/m2/yr N Y - none 3.171e-11 MOH ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc #DICE_OTHERFUELWOOD_C2H2 g/m2/yr N Y - none 3.171e-11 C2H2 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc #DICE_OTHERFUELWOOD_C2H4 g/m2/yr N Y - none 3.171e-11 C2H4 ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc #DICE_OTHERFUELWOOD_BENZ g/m2/yr N Y - none 3.171e-11 BENZ ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc #DICE_OTHERFUELWOOD_TOLU g/m2/yr N Y - none 3.171e-11 TOLU ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc #DICE_OTHERFUELWOOD_XYLE g/m2/yr N Y - none 3.171e-11 XYLE ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc #DICE_OTHERFUELWOOD_HCOOH g/m2/yr N Y - none 3.171e-11 HCOOH ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc #DICE_OTHERFUELWOOD_BCPI g/m2/yr N Y - none 3.171e-11 BC ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc #DICE_OTHERFUELWOOD_OCPI g/m2/yr N Y - none 3.171e-11 OC ./HcoDir/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc ## ## --- Efficient Combusions Emissions from EDGARv43 --- ## --- This covers sectors not included in DICE-Africa --- #AF_EDGAR_BCPI_POW kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_bc ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.BC.POW.0.1x0.1.nc #AF_EDGAR_BCPO_POW kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_bc ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.BC.POW.0.1x0.1.nc #AF_EDGAR_BCPI_ENG kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_bc ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.BC.ENG.0.1x0.1.nc #AF_EDGAR_BCPO_ENG kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_bc ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.BC.ENG.0.1x0.1.nc #AF_EDGAR_BCPI_IND kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_bc ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.BC.IND.0.1x0.1.nc #AF_EDGAR_BCPO_IND kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_bc ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.BC.IND.0.1x0.1.nc #AF_EDGAR_BCPI_TNG kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_bc ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.BC.TNG.0.1x0.1.nc #AF_EDGAR_BCPO_TNG kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_bc ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.BC.TNG.0.1x0.1.nc #AF_EDGAR_BCPI_SWD kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_bc ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.BC.SWD.0.1x0.1.nc #AF_EDGAR_BCPO_SWD kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_bc ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.BC.SWD.0.1x0.1.nc #AF_EDGAR_CO_POW kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_co ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.CO.POW.0.1x0.1.nc #AF_EDGAR_CO_ENG kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_co ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.CO.ENG.0.1x0.1.nc #AF_EDGAR_CO_IND kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_co ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.CO.IND.0.1x0.1.nc #AF_EDGAR_CO_TNG kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_co ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.CO.TNG.0.1x0.1.nc #AF_EDGAR_CO_PPA kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_co ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.CO.PPA.0.1x0.1.nc #AF_EDGAR_CO_SWD kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_co ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.CO.SWD.0.1x0.1.nc #AF_EDGAR_NO_POW kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_nox ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.NOx.POW.0.1x0.1.nc #AF_EDGAR_NO_ENG kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_nox ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.NOx.ENG.0.1x0.1.nc #AF_EDGAR_NO_IND kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_nox ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.NOx.IND.0.1x0.1.nc #AF_EDGAR_NO_TNG kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_nox ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.NOx.TNG.0.1x0.1.nc #AF_EDGAR_NO_PPA kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_nox ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.NOx.PPA.0.1x0.1.nc #AF_EDGAR_NO_AGR kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_nox ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.NOx.AGR.0.1x0.1.nc #AF_EDGAR_NO_SWD kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_nox ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.NOx.SWD.0.1x0.1.nc #AF_EDGAR_NH3_POW kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_nh3 ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.NH3.POW.0.1x0.1.nc #AF_EDGAR_NH3_ENG kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_nh3 ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.NH3.ENG.0.1x0.1.nc #AF_EDGAR_NH3_IND kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_nh3 ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.NH3.IND.0.1x0.1.nc #AF_EDGAR_NH3_TNG kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_nh3 ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.NH3.TNG.0.1x0.1.nc #AF_EDGAR_NH3_PPA kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_nh3 ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.NH3.PPA.0.1x0.1.nc #AF_EDGAR_NH3_AGR kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_nh3 ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.NH3.AGR.0.1x0.1.nc #AF_EDGAR_NH3_SOL kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_nh3 ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.NH3.SOL.0.1x0.1.nc #AF_EDGAR_NH3_SWD kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_nh3 ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.NH3.SWD.0.1x0.1.nc #AF_EDGAR_OCPI_POW kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_oc ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.OC.POW.0.1x0.1.nc #AF_EDGAR_OCPI_ENG kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_oc ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.OC.ENG.0.1x0.1.nc #AF_EDGAR_OCPI_IND kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_oc ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.OC.IND.0.1x0.1.nc #AF_EDGAR_OCPI_TNG kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_oc ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.OC.TNG.0.1x0.1.nc #AF_EDGAR_OCPI_SWD kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_oc ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.OC.SWD.0.1x0.1.nc #AF_EDGAR_SO2_POW kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_so2 ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.SO2.POW.0.1x0.1.nc #AF_EDGAR_SO2_ENG kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_so2 ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.SO2.ENG.0.1x0.1.nc #AF_EDGAR_SO2_IND kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_so2 ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.SO2.IND.0.1x0.1.nc #AF_EDGAR_SO2_TNG kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_so2 ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.SO2.TNG.0.1x0.1.nc #AF_EDGAR_SO2_PPA kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_so2 ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.SO2.PPA.0.1x0.1.nc #AF_EDGAR_SO2_SWD kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_so2 ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.SO2.SWD.0.1x0.1.nc # #============================================================================== # --- CEDS_01x01 --- #============================================================================== # CEDS_NO_AGR kg/m2/s N Y F%y4-%m2-01T00:00:00 none none NO_agr ./HcoDir/CEDS/v2024-06/%y4/CEDS_NO_0.1x0.1_%y4.nc CEDS_NO_ENE kg/m2/s N Y F%y4-%m2-01T00:00:00 none none NO_ene ./HcoDir/CEDS/v2024-06/%y4/CEDS_NO_0.1x0.1_%y4.nc CEDS_NO_IND kg/m2/s N Y F%y4-%m2-01T00:00:00 none none NO_ind ./HcoDir/CEDS/v2024-06/%y4/CEDS_NO_0.1x0.1_%y4.nc CEDS_NO_TRA kg/m2/s N Y F%y4-%m2-01T00:00:00 none none NO_tra ./HcoDir/CEDS/v2024-06/%y4/CEDS_NO_0.1x0.1_%y4.nc CEDS_NO_RCO kg/m2/s N Y F%y4-%m2-01T00:00:00 none none NO_rco ./HcoDir/CEDS/v2024-06/%y4/CEDS_NO_0.1x0.1_%y4.nc CEDS_NO_SLV kg/m2/s N Y F%y4-%m2-01T00:00:00 none none NO_slv ./HcoDir/CEDS/v2024-06/%y4/CEDS_NO_0.1x0.1_%y4.nc CEDS_NO_WST kg/m2/s N Y F%y4-%m2-01T00:00:00 none none NO_wst ./HcoDir/CEDS/v2024-06/%y4/CEDS_NO_0.1x0.1_%y4.nc # CEDS_CO_AGR kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CO_agr ./HcoDir/CEDS/v2024-06/%y4/CEDS_CO_0.1x0.1_%y4.nc CEDS_CO_ENE kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CO_ene ./HcoDir/CEDS/v2024-06/%y4/CEDS_CO_0.1x0.1_%y4.nc CEDS_CO_IND kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CO_ind ./HcoDir/CEDS/v2024-06/%y4/CEDS_CO_0.1x0.1_%y4.nc CEDS_CO_TRA kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CO_tra ./HcoDir/CEDS/v2024-06/%y4/CEDS_CO_0.1x0.1_%y4.nc CEDS_CO_RCO kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CO_rco ./HcoDir/CEDS/v2024-06/%y4/CEDS_CO_0.1x0.1_%y4.nc CEDS_CO_SLV kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CO_slv ./HcoDir/CEDS/v2024-06/%y4/CEDS_CO_0.1x0.1_%y4.nc CEDS_CO_WST kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CO_wst ./HcoDir/CEDS/v2024-06/%y4/CEDS_CO_0.1x0.1_%y4.nc # CEDS_SO2_AGR kg/m2/s N Y F%y4-%m2-01T00:00:00 none none SO2_agr ./HcoDir/CEDS/v2024-06/%y4/CEDS_SO2_0.1x0.1_%y4.nc CEDS_SO2_ENE kg/m2/s N Y F%y4-%m2-01T00:00:00 none none SO2_ene ./HcoDir/CEDS/v2024-06/%y4/CEDS_SO2_0.1x0.1_%y4.nc CEDS_SO2_IND kg/m2/s N Y F%y4-%m2-01T00:00:00 none none SO2_ind ./HcoDir/CEDS/v2024-06/%y4/CEDS_SO2_0.1x0.1_%y4.nc CEDS_SO2_TRA kg/m2/s N Y F%y4-%m2-01T00:00:00 none none SO2_tra ./HcoDir/CEDS/v2024-06/%y4/CEDS_SO2_0.1x0.1_%y4.nc CEDS_SO2_RCO kg/m2/s N Y F%y4-%m2-01T00:00:00 none none SO2_rco ./HcoDir/CEDS/v2024-06/%y4/CEDS_SO2_0.1x0.1_%y4.nc CEDS_SO2_SLV kg/m2/s N Y F%y4-%m2-01T00:00:00 none none SO2_slv ./HcoDir/CEDS/v2024-06/%y4/CEDS_SO2_0.1x0.1_%y4.nc CEDS_SO2_WST kg/m2/s N Y F%y4-%m2-01T00:00:00 none none SO2_wst ./HcoDir/CEDS/v2024-06/%y4/CEDS_SO2_0.1x0.1_%y4.nc # CEDS_NH3_AGR kg/m2/s N Y F%y4-%m2-01T00:00:00 none none NH3_agr ./HcoDir/CEDS/v2024-06/%y4/CEDS_NH3_0.1x0.1_%y4.nc CEDS_NH3_ENE kg/m2/s N Y F%y4-%m2-01T00:00:00 none none NH3_ene ./HcoDir/CEDS/v2024-06/%y4/CEDS_NH3_0.1x0.1_%y4.nc CEDS_NH3_IND kg/m2/s N Y F%y4-%m2-01T00:00:00 none none NH3_ind ./HcoDir/CEDS/v2024-06/%y4/CEDS_NH3_0.1x0.1_%y4.nc CEDS_NH3_TRA kg/m2/s N Y F%y4-%m2-01T00:00:00 none none NH3_tra ./HcoDir/CEDS/v2024-06/%y4/CEDS_NH3_0.1x0.1_%y4.nc CEDS_NH3_RCO kg/m2/s N Y F%y4-%m2-01T00:00:00 none none NH3_rco ./HcoDir/CEDS/v2024-06/%y4/CEDS_NH3_0.1x0.1_%y4.nc CEDS_NH3_SLV kg/m2/s N Y F%y4-%m2-01T00:00:00 none none NH3_slv ./HcoDir/CEDS/v2024-06/%y4/CEDS_NH3_0.1x0.1_%y4.nc CEDS_NH3_WST kg/m2/s N Y F%y4-%m2-01T00:00:00 none none NH3_wst ./HcoDir/CEDS/v2024-06/%y4/CEDS_NH3_0.1x0.1_%y4.nc # CEDS_BCPI_AGR kg/m2/s N Y F%y4-%m2-01T00:00:00 none none BC_agr ./HcoDir/CEDS/v2024-06/%y4/CEDS_BC_0.1x0.1_%y4.nc CEDS_BCPI_ENE kg/m2/s N Y F%y4-%m2-01T00:00:00 none none BC_ene ./HcoDir/CEDS/v2024-06/%y4/CEDS_BC_0.1x0.1_%y4.nc CEDS_BCPI_IND kg/m2/s N Y F%y4-%m2-01T00:00:00 none none BC_ind ./HcoDir/CEDS/v2024-06/%y4/CEDS_BC_0.1x0.1_%y4.nc CEDS_BCPI_TRA kg/m2/s N Y F%y4-%m2-01T00:00:00 none none BC_tra ./HcoDir/CEDS/v2024-06/%y4/CEDS_BC_0.1x0.1_%y4.nc CEDS_BCPI_RCO kg/m2/s N Y F%y4-%m2-01T00:00:00 none none BC_rco ./HcoDir/CEDS/v2024-06/%y4/CEDS_BC_0.1x0.1_%y4.nc CEDS_BCPI_SLV kg/m2/s N Y F%y4-%m2-01T00:00:00 none none BC_slv ./HcoDir/CEDS/v2024-06/%y4/CEDS_BC_0.1x0.1_%y4.nc CEDS_BCPI_WST kg/m2/s N Y F%y4-%m2-01T00:00:00 none none BC_wst ./HcoDir/CEDS/v2024-06/%y4/CEDS_BC_0.1x0.1_%y4.nc # CEDS_OCPI_AGR kg/m2/s N Y F%y4-%m2-01T00:00:00 none none OC_agr ./HcoDir/CEDS/v2024-06/%y4/CEDS_OC_0.1x0.1_%y4.nc CEDS_OCPI_ENE kg/m2/s N Y F%y4-%m2-01T00:00:00 none none OC_ene ./HcoDir/CEDS/v2024-06/%y4/CEDS_OC_0.1x0.1_%y4.nc CEDS_OCPI_IND kg/m2/s N Y F%y4-%m2-01T00:00:00 none none OC_ind ./HcoDir/CEDS/v2024-06/%y4/CEDS_OC_0.1x0.1_%y4.nc CEDS_OCPI_TRA kg/m2/s N Y F%y4-%m2-01T00:00:00 none none OC_tra ./HcoDir/CEDS/v2024-06/%y4/CEDS_OC_0.1x0.1_%y4.nc CEDS_OCPI_RCO kg/m2/s N Y F%y4-%m2-01T00:00:00 none none OC_rco ./HcoDir/CEDS/v2024-06/%y4/CEDS_OC_0.1x0.1_%y4.nc CEDS_OCPI_SLV kg/m2/s N Y F%y4-%m2-01T00:00:00 none none OC_slv ./HcoDir/CEDS/v2024-06/%y4/CEDS_OC_0.1x0.1_%y4.nc CEDS_OCPI_WST kg/m2/s N Y F%y4-%m2-01T00:00:00 none none OC_wst ./HcoDir/CEDS/v2024-06/%y4/CEDS_OC_0.1x0.1_%y4.nc # CEDS_MOH_AGR kg/m2/s N Y F%y4-%m2-01T00:00:00 none none EOH_agr ./HcoDir/CEDS/v2024-06/%y4/CEDS_EOH_0.1x0.1_%y4.nc CEDS_MOH_ENE kg/m2/s N Y F%y4-%m2-01T00:00:00 none none EOH_ene ./HcoDir/CEDS/v2024-06/%y4/CEDS_EOH_0.1x0.1_%y4.nc CEDS_MOH_IND kg/m2/s N Y F%y4-%m2-01T00:00:00 none none EOH_ind ./HcoDir/CEDS/v2024-06/%y4/CEDS_EOH_0.1x0.1_%y4.nc CEDS_MOH_TRA kg/m2/s N Y F%y4-%m2-01T00:00:00 none none EOH_tra ./HcoDir/CEDS/v2024-06/%y4/CEDS_EOH_0.1x0.1_%y4.nc CEDS_MOH_RCO kg/m2/s N Y F%y4-%m2-01T00:00:00 none none EOH_rco ./HcoDir/CEDS/v2024-06/%y4/CEDS_EOH_0.1x0.1_%y4.nc CEDS_MOH_SLV kg/m2/s N Y F%y4-%m2-01T00:00:00 none none EOH_slv ./HcoDir/CEDS/v2024-06/%y4/CEDS_EOH_0.1x0.1_%y4.nc CEDS_MOH_WST kg/m2/s N Y F%y4-%m2-01T00:00:00 none none EOH_wst ./HcoDir/CEDS/v2024-06/%y4/CEDS_EOH_0.1x0.1_%y4.nc # CEDS_C2H6_AGR kg/m2/s N Y F%y4-%m2-01T00:00:00 none none C2H6_agr ./HcoDir/CEDS/v2024-06/%y4/CEDS_C2H6_0.1x0.1_%y4.nc CEDS_C2H6_ENE kg/m2/s N Y F%y4-%m2-01T00:00:00 none none C2H6_ene ./HcoDir/CEDS/v2024-06/%y4/CEDS_C2H6_0.1x0.1_%y4.nc CEDS_C2H6_IND kg/m2/s N Y F%y4-%m2-01T00:00:00 none none C2H6_ind ./HcoDir/CEDS/v2024-06/%y4/CEDS_C2H6_0.1x0.1_%y4.nc CEDS_C2H6_TRA kg/m2/s N Y F%y4-%m2-01T00:00:00 none none C2H6_tra ./HcoDir/CEDS/v2024-06/%y4/CEDS_C2H6_0.1x0.1_%y4.nc CEDS_C2H6_RCO kg/m2/s N Y F%y4-%m2-01T00:00:00 none none C2H6_rco ./HcoDir/CEDS/v2024-06/%y4/CEDS_C2H6_0.1x0.1_%y4.nc CEDS_C2H6_SLV kg/m2/s N Y F%y4-%m2-01T00:00:00 none none C2H6_slv ./HcoDir/CEDS/v2024-06/%y4/CEDS_C2H6_0.1x0.1_%y4.nc CEDS_C2H6_WST kg/m2/s N Y F%y4-%m2-01T00:00:00 none none C2H6_wst ./HcoDir/CEDS/v2024-06/%y4/CEDS_C2H6_0.1x0.1_%y4.nc # CEDS_C3H8_AGR kg/m2/s N Y F%y4-%m2-01T00:00:00 none none C3H8_agr ./HcoDir/CEDS/v2024-06/%y4/CEDS_C3H8_0.1x0.1_%y4.nc CEDS_C3H8_ENE kg/m2/s N Y F%y4-%m2-01T00:00:00 none none C3H8_ene ./HcoDir/CEDS/v2024-06/%y4/CEDS_C3H8_0.1x0.1_%y4.nc CEDS_C3H8_IND kg/m2/s N Y F%y4-%m2-01T00:00:00 none none C3H8_ind ./HcoDir/CEDS/v2024-06/%y4/CEDS_C3H8_0.1x0.1_%y4.nc CEDS_C3H8_TRA kg/m2/s N Y F%y4-%m2-01T00:00:00 none none C3H8_tra ./HcoDir/CEDS/v2024-06/%y4/CEDS_C3H8_0.1x0.1_%y4.nc CEDS_C3H8_RCO kg/m2/s N Y F%y4-%m2-01T00:00:00 none none C3H8_rco ./HcoDir/CEDS/v2024-06/%y4/CEDS_C3H8_0.1x0.1_%y4.nc CEDS_C3H8_SLV kg/m2/s N Y F%y4-%m2-01T00:00:00 none none C3H8_slv ./HcoDir/CEDS/v2024-06/%y4/CEDS_C3H8_0.1x0.1_%y4.nc CEDS_C3H8_WST kg/m2/s N Y F%y4-%m2-01T00:00:00 none none C3H8_wst ./HcoDir/CEDS/v2024-06/%y4/CEDS_C3H8_0.1x0.1_%y4.nc # CEDS_C4H10_AGR kg/m2/s N Y F%y4-%m2-01T00:00:00 none none ALK4_butanes_agr ./HcoDir/CEDS/v2024-06/%y4/CEDS_ALK4_butanes_0.1x0.1_%y4.nc CEDS_C4H10_ENE kg/m2/s N Y F%y4-%m2-01T00:00:00 none none ALK4_butanes_ene ./HcoDir/CEDS/v2024-06/%y4/CEDS_ALK4_butanes_0.1x0.1_%y4.nc CEDS_C4H10_IND kg/m2/s N Y F%y4-%m2-01T00:00:00 none none ALK4_butanes_ind ./HcoDir/CEDS/v2024-06/%y4/CEDS_ALK4_butanes_0.1x0.1_%y4.nc CEDS_C4H10_TRA kg/m2/s N Y F%y4-%m2-01T00:00:00 none none ALK4_butanes_tra ./HcoDir/CEDS/v2024-06/%y4/CEDS_ALK4_butanes_0.1x0.1_%y4.nc CEDS_C4H10_RCO kg/m2/s N Y F%y4-%m2-01T00:00:00 none none ALK4_butanes_rco ./HcoDir/CEDS/v2024-06/%y4/CEDS_ALK4_butanes_0.1x0.1_%y4.nc CEDS_C4H10_SLV kg/m2/s N Y F%y4-%m2-01T00:00:00 none none ALK4_butanes_slv ./HcoDir/CEDS/v2024-06/%y4/CEDS_ALK4_butanes_0.1x0.1_%y4.nc CEDS_C4H10_WST kg/m2/s N Y F%y4-%m2-01T00:00:00 none none ALK4_butanes_wst ./HcoDir/CEDS/v2024-06/%y4/CEDS_ALK4_butanes_0.1x0.1_%y4.nc # CEDS_C5H12_AGR kg/m2/s N Y F%y4-%m2-01T00:00:00 none none ALK4_pentanes_agr ./HcoDir/CEDS/v2024-06/%y4/CEDS_ALK4_pentanes_0.1x0.1_%y4.nc CEDS_C5H12_ENE kg/m2/s N Y F%y4-%m2-01T00:00:00 none none ALK4_pentanes_ene ./HcoDir/CEDS/v2024-06/%y4/CEDS_ALK4_pentanes_0.1x0.1_%y4.nc CEDS_C5H12_IND kg/m2/s N Y F%y4-%m2-01T00:00:00 none none ALK4_pentanes_ind ./HcoDir/CEDS/v2024-06/%y4/CEDS_ALK4_pentanes_0.1x0.1_%y4.nc CEDS_C5H12_TRA kg/m2/s N Y F%y4-%m2-01T00:00:00 none none ALK4_pentanes_tra ./HcoDir/CEDS/v2024-06/%y4/CEDS_ALK4_pentanes_0.1x0.1_%y4.nc CEDS_C5H12_RCO kg/m2/s N Y F%y4-%m2-01T00:00:00 none none ALK4_pentanes_rco ./HcoDir/CEDS/v2024-06/%y4/CEDS_ALK4_pentanes_0.1x0.1_%y4.nc CEDS_C5H12_SLV kg/m2/s N Y F%y4-%m2-01T00:00:00 none none ALK4_pentanes_slv ./HcoDir/CEDS/v2024-06/%y4/CEDS_ALK4_pentanes_0.1x0.1_%y4.nc CEDS_C5H12_WST kg/m2/s N Y F%y4-%m2-01T00:00:00 none none ALK4_pentanes_wst ./HcoDir/CEDS/v2024-06/%y4/CEDS_ALK4_pentanes_0.1x0.1_%y4.nc # CEDS_C6H14_AGR kg/m2/s N Y F%y4-%m2-01T00:00:00 none none ALK4_hexanes_agr ./HcoDir/CEDS/v2024-06/%y4/CEDS_ALK4_hexanes_0.1x0.1_%y4.nc CEDS_C6H14_ENE kg/m2/s N Y F%y4-%m2-01T00:00:00 none none ALK4_hexanes_ene ./HcoDir/CEDS/v2024-06/%y4/CEDS_ALK4_hexanes_0.1x0.1_%y4.nc CEDS_C6H14_IND kg/m2/s N Y F%y4-%m2-01T00:00:00 none none ALK4_hexanes_ind ./HcoDir/CEDS/v2024-06/%y4/CEDS_ALK4_hexanes_0.1x0.1_%y4.nc CEDS_C6H14_TRA kg/m2/s N Y F%y4-%m2-01T00:00:00 none none ALK4_hexanes_tra ./HcoDir/CEDS/v2024-06/%y4/CEDS_ALK4_hexanes_0.1x0.1_%y4.nc CEDS_C6H14_RCO kg/m2/s N Y F%y4-%m2-01T00:00:00 none none ALK4_hexanes_rco ./HcoDir/CEDS/v2024-06/%y4/CEDS_ALK4_hexanes_0.1x0.1_%y4.nc CEDS_C6H14_SLV kg/m2/s N Y F%y4-%m2-01T00:00:00 none none ALK4_hexanes_slv ./HcoDir/CEDS/v2024-06/%y4/CEDS_ALK4_hexanes_0.1x0.1_%y4.nc CEDS_C6H14_WST kg/m2/s N Y F%y4-%m2-01T00:00:00 none none ALK4_hexanes_wst ./HcoDir/CEDS/v2024-06/%y4/CEDS_ALK4_hexanes_0.1x0.1_%y4.nc # CEDS_C2H4_AGR kg/m2/s N Y F%y4-%m2-01T00:00:00 none none C2H4_agr ./HcoDir/CEDS/v2024-06/%y4/CEDS_C2H4_0.1x0.1_%y4.nc CEDS_C2H4_ENE kg/m2/s N Y F%y4-%m2-01T00:00:00 none none C2H4_ene ./HcoDir/CEDS/v2024-06/%y4/CEDS_C2H4_0.1x0.1_%y4.nc CEDS_C2H4_IND kg/m2/s N Y F%y4-%m2-01T00:00:00 none none C2H4_ind ./HcoDir/CEDS/v2024-06/%y4/CEDS_C2H4_0.1x0.1_%y4.nc CEDS_C2H4_TRA kg/m2/s N Y F%y4-%m2-01T00:00:00 none none C2H4_tra ./HcoDir/CEDS/v2024-06/%y4/CEDS_C2H4_0.1x0.1_%y4.nc CEDS_C2H4_RCO kg/m2/s N Y F%y4-%m2-01T00:00:00 none none C2H4_rco ./HcoDir/CEDS/v2024-06/%y4/CEDS_C2H4_0.1x0.1_%y4.nc CEDS_C2H4_SLV kg/m2/s N Y F%y4-%m2-01T00:00:00 none none C2H4_slv ./HcoDir/CEDS/v2024-06/%y4/CEDS_C2H4_0.1x0.1_%y4.nc CEDS_C2H4_WST kg/m2/s N Y F%y4-%m2-01T00:00:00 none none C2H4_wst ./HcoDir/CEDS/v2024-06/%y4/CEDS_C2H4_0.1x0.1_%y4.nc # CEDS_PRPE_AGR kg/m2/s N Y F%y4-%m2-01T00:00:00 none none PRPE_agr ./HcoDir/CEDS/v2024-06/%y4/CEDS_PRPE_0.1x0.1_%y4.nc CEDS_PRPE_ENE kg/m2/s N Y F%y4-%m2-01T00:00:00 none none PRPE_ene ./HcoDir/CEDS/v2024-06/%y4/CEDS_PRPE_0.1x0.1_%y4.nc CEDS_PRPE_IND kg/m2/s N Y F%y4-%m2-01T00:00:00 none none PRPE_ind ./HcoDir/CEDS/v2024-06/%y4/CEDS_PRPE_0.1x0.1_%y4.nc CEDS_PRPE_TRA kg/m2/s N Y F%y4-%m2-01T00:00:00 none none PRPE_tra ./HcoDir/CEDS/v2024-06/%y4/CEDS_PRPE_0.1x0.1_%y4.nc CEDS_PRPE_RCO kg/m2/s N Y F%y4-%m2-01T00:00:00 none none PRPE_rco ./HcoDir/CEDS/v2024-06/%y4/CEDS_PRPE_0.1x0.1_%y4.nc CEDS_PRPE_SLV kg/m2/s N Y F%y4-%m2-01T00:00:00 none none PRPE_slv ./HcoDir/CEDS/v2024-06/%y4/CEDS_PRPE_0.1x0.1_%y4.nc CEDS_PRPE_WST kg/m2/s N Y F%y4-%m2-01T00:00:00 none none PRPE_wst ./HcoDir/CEDS/v2024-06/%y4/CEDS_PRPE_0.1x0.1_%y4.nc # CEDS_C2H2_AGR kg/m2/s N Y F%y4-%m2-01T00:00:00 none none C2H2_agr ./HcoDir/CEDS/v2024-06/%y4/CEDS_C2H2_0.1x0.1_%y4.nc CEDS_C2H2_ENE kg/m2/s N Y F%y4-%m2-01T00:00:00 none none C2H2_ene ./HcoDir/CEDS/v2024-06/%y4/CEDS_C2H2_0.1x0.1_%y4.nc CEDS_C2H2_IND kg/m2/s N Y F%y4-%m2-01T00:00:00 none none C2H2_ind ./HcoDir/CEDS/v2024-06/%y4/CEDS_C2H2_0.1x0.1_%y4.nc CEDS_C2H2_TRA kg/m2/s N Y F%y4-%m2-01T00:00:00 none none C2H2_tra ./HcoDir/CEDS/v2024-06/%y4/CEDS_C2H2_0.1x0.1_%y4.nc CEDS_C2H2_RCO kg/m2/s N Y F%y4-%m2-01T00:00:00 none none C2H2_rco ./HcoDir/CEDS/v2024-06/%y4/CEDS_C2H2_0.1x0.1_%y4.nc CEDS_C2H2_SLV kg/m2/s N Y F%y4-%m2-01T00:00:00 none none C2H2_slv ./HcoDir/CEDS/v2024-06/%y4/CEDS_C2H2_0.1x0.1_%y4.nc CEDS_C2H2_WST kg/m2/s N Y F%y4-%m2-01T00:00:00 none none C2H2_wst ./HcoDir/CEDS/v2024-06/%y4/CEDS_C2H2_0.1x0.1_%y4.nc # CEDS_BENZ_AGR kg/m2/s N Y F%y4-%m2-01T00:00:00 none none BENZ_agr ./HcoDir/CEDS/v2024-06/%y4/CEDS_BENZ_0.1x0.1_%y4.nc CEDS_BENZ_ENE kg/m2/s N Y F%y4-%m2-01T00:00:00 none none BENZ_ene ./HcoDir/CEDS/v2024-06/%y4/CEDS_BENZ_0.1x0.1_%y4.nc CEDS_BENZ_AGR kg/m2/s N Y F%y4-%m2-01T00:00:00 none none BENZ_agr ./HcoDir/CEDS/v2024-06/%y4/CEDS_BENZ_0.1x0.1_%y4.nc CEDS_BENZ_ENE kg/m2/s N Y F%y4-%m2-01T00:00:00 none none BENZ_ene ./HcoDir/CEDS/v2024-06/%y4/CEDS_BENZ_0.1x0.1_%y4.nc CEDS_BENZ_IND kg/m2/s N Y F%y4-%m2-01T00:00:00 none none BENZ_ind ./HcoDir/CEDS/v2024-06/%y4/CEDS_BENZ_0.1x0.1_%y4.nc CEDS_BENZ_TRA kg/m2/s N Y F%y4-%m2-01T00:00:00 none none BENZ_tra ./HcoDir/CEDS/v2024-06/%y4/CEDS_BENZ_0.1x0.1_%y4.nc CEDS_BENZ_RCO kg/m2/s N Y F%y4-%m2-01T00:00:00 none none BENZ_rco ./HcoDir/CEDS/v2024-06/%y4/CEDS_BENZ_0.1x0.1_%y4.nc CEDS_BENZ_SLV kg/m2/s N Y F%y4-%m2-01T00:00:00 none none BENZ_slv ./HcoDir/CEDS/v2024-06/%y4/CEDS_BENZ_0.1x0.1_%y4.nc CEDS_BENZ_WST kg/m2/s N Y F%y4-%m2-01T00:00:00 none none BENZ_wst ./HcoDir/CEDS/v2024-06/%y4/CEDS_BENZ_0.1x0.1_%y4.nc # CEDS_TOLU_AGR kg/m2/s N Y F%y4-%m2-01T00:00:00 none none TOLU_agr ./HcoDir/CEDS/v2024-06/%y4/CEDS_TOLU_0.1x0.1_%y4.nc CEDS_TOLU_ENE kg/m2/s N Y F%y4-%m2-01T00:00:00 none none TOLU_ene ./HcoDir/CEDS/v2024-06/%y4/CEDS_TOLU_0.1x0.1_%y4.nc CEDS_TOLU_AGR kg/m2/s N Y F%y4-%m2-01T00:00:00 none none TOLU_agr ./HcoDir/CEDS/v2024-06/%y4/CEDS_TOLU_0.1x0.1_%y4.nc CEDS_TOLU_ENE kg/m2/s N Y F%y4-%m2-01T00:00:00 none none TOLU_ene ./HcoDir/CEDS/v2024-06/%y4/CEDS_TOLU_0.1x0.1_%y4.nc CEDS_TOLU_IND kg/m2/s N Y F%y4-%m2-01T00:00:00 none none TOLU_ind ./HcoDir/CEDS/v2024-06/%y4/CEDS_TOLU_0.1x0.1_%y4.nc CEDS_TOLU_TRA kg/m2/s N Y F%y4-%m2-01T00:00:00 none none TOLU_tra ./HcoDir/CEDS/v2024-06/%y4/CEDS_TOLU_0.1x0.1_%y4.nc CEDS_TOLU_RCO kg/m2/s N Y F%y4-%m2-01T00:00:00 none none TOLU_rco ./HcoDir/CEDS/v2024-06/%y4/CEDS_TOLU_0.1x0.1_%y4.nc CEDS_TOLU_SLV kg/m2/s N Y F%y4-%m2-01T00:00:00 none none TOLU_slv ./HcoDir/CEDS/v2024-06/%y4/CEDS_TOLU_0.1x0.1_%y4.nc CEDS_TOLU_WST kg/m2/s N Y F%y4-%m2-01T00:00:00 none none TOLU_wst ./HcoDir/CEDS/v2024-06/%y4/CEDS_TOLU_0.1x0.1_%y4.nc # CEDS_XYLE_AGR kg/m2/s N Y F%y4-%m2-01T00:00:00 none none XYLE_agr ./HcoDir/CEDS/v2024-06/%y4/CEDS_XYLE_0.1x0.1_%y4.nc CEDS_XYLE_ENE kg/m2/s N Y F%y4-%m2-01T00:00:00 none none XYLE_ene ./HcoDir/CEDS/v2024-06/%y4/CEDS_XYLE_0.1x0.1_%y4.nc CEDS_XYLE_AGR kg/m2/s N Y F%y4-%m2-01T00:00:00 none none XYLE_agr ./HcoDir/CEDS/v2024-06/%y4/CEDS_XYLE_0.1x0.1_%y4.nc CEDS_XYLE_ENE kg/m2/s N Y F%y4-%m2-01T00:00:00 none none XYLE_ene ./HcoDir/CEDS/v2024-06/%y4/CEDS_XYLE_0.1x0.1_%y4.nc CEDS_XYLE_IND kg/m2/s N Y F%y4-%m2-01T00:00:00 none none XYLE_ind ./HcoDir/CEDS/v2024-06/%y4/CEDS_XYLE_0.1x0.1_%y4.nc CEDS_XYLE_TRA kg/m2/s N Y F%y4-%m2-01T00:00:00 none none XYLE_tra ./HcoDir/CEDS/v2024-06/%y4/CEDS_XYLE_0.1x0.1_%y4.nc CEDS_XYLE_RCO kg/m2/s N Y F%y4-%m2-01T00:00:00 none none XYLE_rco ./HcoDir/CEDS/v2024-06/%y4/CEDS_XYLE_0.1x0.1_%y4.nc CEDS_XYLE_SLV kg/m2/s N Y F%y4-%m2-01T00:00:00 none none XYLE_slv ./HcoDir/CEDS/v2024-06/%y4/CEDS_XYLE_0.1x0.1_%y4.nc CEDS_XYLE_WST kg/m2/s N Y F%y4-%m2-01T00:00:00 none none XYLE_wst ./HcoDir/CEDS/v2024-06/%y4/CEDS_XYLE_0.1x0.1_%y4.nc # CEDS_CH2O_AGR kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CH2O_agr ./HcoDir/CEDS/v2024-06/%y4/CEDS_CH2O_0.1x0.1_%y4.nc CEDS_CH2O_ENE kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CH2O_ene ./HcoDir/CEDS/v2024-06/%y4/CEDS_CH2O_0.1x0.1_%y4.nc CEDS_CH2O_IND kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CH2O_ind ./HcoDir/CEDS/v2024-06/%y4/CEDS_CH2O_0.1x0.1_%y4.nc CEDS_CH2O_TRA kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CH2O_tra ./HcoDir/CEDS/v2024-06/%y4/CEDS_CH2O_0.1x0.1_%y4.nc CEDS_CH2O_RCO kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CH2O_rco ./HcoDir/CEDS/v2024-06/%y4/CEDS_CH2O_0.1x0.1_%y4.nc CEDS_CH2O_SLV kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CH2O_slv ./HcoDir/CEDS/v2024-06/%y4/CEDS_CH2O_0.1x0.1_%y4.nc CEDS_CH2O_WST kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CH2O_wst ./HcoDir/CEDS/v2024-06/%y4/CEDS_CH2O_0.1x0.1_%y4.nc # CEDS_ALD2_AGR kg/m2/s N Y F%y4-%m2-01T00:00:00 none none ALD2_agr ./HcoDir/CEDS/v2024-06/%y4/CEDS_ALD2_0.1x0.1_%y4.nc CEDS_ALD2_ENE kg/m2/s N Y F%y4-%m2-01T00:00:00 none none ALD2_ene ./HcoDir/CEDS/v2024-06/%y4/CEDS_ALD2_0.1x0.1_%y4.nc CEDS_ALD2_IND kg/m2/s N Y F%y4-%m2-01T00:00:00 none none ALD2_ind ./HcoDir/CEDS/v2024-06/%y4/CEDS_ALD2_0.1x0.1_%y4.nc CEDS_ALD2_TRA kg/m2/s N Y F%y4-%m2-01T00:00:00 none none ALD2_tra ./HcoDir/CEDS/v2024-06/%y4/CEDS_ALD2_0.1x0.1_%y4.nc CEDS_ALD2_RCO kg/m2/s N Y F%y4-%m2-01T00:00:00 none none ALD2_rco ./HcoDir/CEDS/v2024-06/%y4/CEDS_ALD2_0.1x0.1_%y4.nc CEDS_ALD2_SLV kg/m2/s N Y F%y4-%m2-01T00:00:00 none none ALD2_slv ./HcoDir/CEDS/v2024-06/%y4/CEDS_ALD2_0.1x0.1_%y4.nc CEDS_ALD2_WST kg/m2/s N Y F%y4-%m2-01T00:00:00 none none ALD2_wst ./HcoDir/CEDS/v2024-06/%y4/CEDS_ALD2_0.1x0.1_%y4.nc # CEDS_MEK_AGR kg/m2/s N Y F%y4-%m2-01T00:00:00 none none MEK_agr ./HcoDir/CEDS/v2024-06/%y4/CEDS_MEK_0.1x0.1_%y4.nc CEDS_MEK_ENE kg/m2/s N Y F%y4-%m2-01T00:00:00 none none MEK_ene ./HcoDir/CEDS/v2024-06/%y4/CEDS_MEK_0.1x0.1_%y4.nc CEDS_MEK_IND kg/m2/s N Y F%y4-%m2-01T00:00:00 none none MEK_ind ./HcoDir/CEDS/v2024-06/%y4/CEDS_MEK_0.1x0.1_%y4.nc CEDS_MEK_TRA kg/m2/s N Y F%y4-%m2-01T00:00:00 none none MEK_tra ./HcoDir/CEDS/v2024-06/%y4/CEDS_MEK_0.1x0.1_%y4.nc CEDS_MEK_RCO kg/m2/s N Y F%y4-%m2-01T00:00:00 none none MEK_rco ./HcoDir/CEDS/v2024-06/%y4/CEDS_MEK_0.1x0.1_%y4.nc CEDS_MEK_SLV kg/m2/s N Y F%y4-%m2-01T00:00:00 none none MEK_slv ./HcoDir/CEDS/v2024-06/%y4/CEDS_MEK_0.1x0.1_%y4.nc CEDS_MEK_WST kg/m2/s N Y F%y4-%m2-01T00:00:00 none none MEK_wst ./HcoDir/CEDS/v2024-06/%y4/CEDS_MEK_0.1x0.1_%y4.nc # CEDS_HCOOH_AGR kg/m2/s N Y F%y4-%m2-01T00:00:00 none none HCOOH_agr ./HcoDir/CEDS/v2024-06/%y4/CEDS_HCOOH_0.1x0.1_%y4.nc CEDS_HCOOH_ENE kg/m2/s N Y F%y4-%m2-01T00:00:00 none none HCOOH_ene ./HcoDir/CEDS/v2024-06/%y4/CEDS_HCOOH_0.1x0.1_%y4.nc CEDS_HCOOH_IND kg/m2/s N Y F%y4-%m2-01T00:00:00 none none HCOOH_ind ./HcoDir/CEDS/v2024-06/%y4/CEDS_HCOOH_0.1x0.1_%y4.nc CEDS_HCOOH_TRA kg/m2/s N Y F%y4-%m2-01T00:00:00 none none HCOOH_tra ./HcoDir/CEDS/v2024-06/%y4/CEDS_HCOOH_0.1x0.1_%y4.nc CEDS_HCOOH_RCO kg/m2/s N Y F%y4-%m2-01T00:00:00 none none HCOOH_rco ./HcoDir/CEDS/v2024-06/%y4/CEDS_HCOOH_0.1x0.1_%y4.nc CEDS_HCOOH_SLV kg/m2/s N Y F%y4-%m2-01T00:00:00 none none HCOOH_slv ./HcoDir/CEDS/v2024-06/%y4/CEDS_HCOOH_0.1x0.1_%y4.nc CEDS_HCOOH_WST kg/m2/s N Y F%y4-%m2-01T00:00:00 none none HCOOH_wst ./HcoDir/CEDS/v2024-06/%y4/CEDS_HCOOH_0.1x0.1_%y4.nc # CEDS_TMB_AGR kg/m2/s N Y F%y4-%m2-01T00:00:00 none none TMB_agr ./HcoDir/CEDS/v2021-06/%y4/TMB-em-anthro_CMIP_CEDS_%y4.nc CEDS_TMB_ENE kg/m2/s N Y F%y4-%m2-01T00:00:00 none none TMB_ene ./HcoDir/CEDS/v2021-06/%y4/TMB-em-anthro_CMIP_CEDS_%y4.nc CEDS_TMB_IND kg/m2/s N Y F%y4-%m2-01T00:00:00 none none TMB_ind ./HcoDir/CEDS/v2021-06/%y4/TMB-em-anthro_CMIP_CEDS_%y4.nc CEDS_TMB_TRA kg/m2/s N Y F%y4-%m2-01T00:00:00 none none TMB_tra ./HcoDir/CEDS/v2021-06/%y4/TMB-em-anthro_CMIP_CEDS_%y4.nc CEDS_TMB_RCO kg/m2/s N Y F%y4-%m2-01T00:00:00 none none TMB_rco ./HcoDir/CEDS/v2021-06/%y4/TMB-em-anthro_CMIP_CEDS_%y4.nc CEDS_TMB_SLV kg/m2/s N Y F%y4-%m2-01T00:00:00 none none TMB_slv ./HcoDir/CEDS/v2021-06/%y4/TMB-em-anthro_CMIP_CEDS_%y4.nc CEDS_TMB_WST kg/m2/s N Y F%y4-%m2-01T00:00:00 none none TMB_wst ./HcoDir/CEDS/v2021-06/%y4/TMB-em-anthro_CMIP_CEDS_%y4.nc # CEDS_OTH_AGR kg/m2/s N Y F%y4-%m2-01T00:00:00 none none OTHER_VOC_agr ./HcoDir/CEDS/v2021-06/%y4/OTHER_VOC-em-anthro_CMIP_CEDS_%y4.nc CEDS_OTH_ENE kg/m2/s N Y F%y4-%m2-01T00:00:00 none none OTHER_VOC_ene ./HcoDir/CEDS/v2021-06/%y4/OTHER_VOC-em-anthro_CMIP_CEDS_%y4.nc CEDS_OTH_IND kg/m2/s N Y F%y4-%m2-01T00:00:00 none none OTHER_VOC_ind ./HcoDir/CEDS/v2021-06/%y4/OTHER_VOC-em-anthro_CMIP_CEDS_%y4.nc CEDS_OTH_TRA kg/m2/s N Y F%y4-%m2-01T00:00:00 none none OTHER_VOC_tra ./HcoDir/CEDS/v2021-06/%y4/OTHER_VOC-em-anthro_CMIP_CEDS_%y4.nc CEDS_OTH_RCO kg/m2/s N Y F%y4-%m2-01T00:00:00 none none OTHER_VOC_rco ./HcoDir/CEDS/v2021-06/%y4/OTHER_VOC-em-anthro_CMIP_CEDS_%y4.nc CEDS_OTH_SLV kg/m2/s N Y F%y4-%m2-01T00:00:00 none none OTHER_VOC_slv ./HcoDir/CEDS/v2021-06/%y4/OTHER_VOC-em-anthro_CMIP_CEDS_%y4.nc CEDS_OTH_WST kg/m2/s N Y F%y4-%m2-01T00:00:00 none none OTHER_VOC_wst ./HcoDir/CEDS/v2021-06/%y4/OTHER_VOC-em-anthro_CMIP_CEDS_%y4.nc # #============================================================================== # --- EDGAR v4.3 (EDGARv43) --- # EDGARv4.3 is off by default in HEMCO_Config.rc #============================================================================== #EDGAR_BCPI_POW kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_bc ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.BC.POW.0.1x0.1.nc #EDGAR_BCPI_ENG kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_bc ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.BC.ENG.0.1x0.1.nc #EDGAR_BCPI_IND kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_bc ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.BC.IND.0.1x0.1.nc #EDGAR_BCPI_TRO kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_bc ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.BC.TRO.0.1x0.1.nc #EDGAR_BCPI_TNG kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_bc ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.BC.TNG.0.1x0.1.nc #EDGAR_BCPI_RCO kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_bc ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.BC.RCO.0.1x0.1.nc #EDGAR_BCPI_PPA kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_bc ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.BC.PPA.0.1x0.1.nc #EDGAR_BCPI_AWB kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_bc ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.BC.AWB.0.1x0.1.nc #EDGAR_BCPI_SWD kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_bc ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.BC.SWD.0.1x0.1.nc #EDGAR_BCPI_FFF kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_bc ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.BC.FFF.0.1x0.1.nc #EDGAR_CO_POW kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_co ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.CO.POW.0.1x0.1.nc #EDGAR_CO_ENG kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_co ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.CO.ENG.0.1x0.1.nc #EDGAR_CO_IND kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_co ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.CO.IND.0.1x0.1.nc #EDGAR_CO_TRO kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_co ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.CO.TRO.0.1x0.1.nc #EDGAR_CO_TNG kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_co ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.CO.TNG.0.1x0.1.nc #EDGAR_CO_RCO kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_co ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.CO.RCO.0.1x0.1.nc #EDGAR_CO_PPA kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_co ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.CO.PPA.0.1x0.1.nc #EDGAR_CO_AWB kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_co ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.CO.AWB.0.1x0.1.nc #EDGAR_CO_SWD kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_co ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.CO.SWD.0.1x0.1.nc #EDGAR_CO_FFF kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_co ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.CO.FFF.0.1x0.1.nc #EDGAR_NH3_POW kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_nh3 ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.NH3.POW.0.1x0.1.nc #EDGAR_NH3_ENG kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_nh3 ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.NH3.ENG.0.1x0.1.nc #EDGAR_NH3_IND kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_nh3 ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.NH3.IND.0.1x0.1.nc #EDGAR_NH3_TRO kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_nh3 ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.NH3.TRO.0.1x0.1.nc #EDGAR_NH3_TNG kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_nh3 ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.NH3.TNG.0.1x0.1.nc #EDGAR_NH3_RCO kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_nh3 ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.NH3.RCO.0.1x0.1.nc #EDGAR_NH3_PPA kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_nh3 ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.NH3.PPA.0.1x0.1.nc #EDGAR_NH3_AGR kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_nh3 ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.NH3.AGR.0.1x0.1.nc #EDGAR_NH3_AWB kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_nh3 ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.NH3.AWB.0.1x0.1.nc #EDGAR_NH3_SOL kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_nh3 ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.NH3.SOL.0.1x0.1.nc #EDGAR_NH3_SWD kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_nh3 ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.NH3.SWD.0.1x0.1.nc #EDGAR_NO_POW kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_nox ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.NOx.POW.0.1x0.1.nc #EDGAR_NO_ENG kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_nox ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.NOx.ENG.0.1x0.1.nc #EDGAR_NO_IND kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_nox ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.NOx.IND.0.1x0.1.nc #EDGAR_NO_TRO kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_nox ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.NOx.TRO.0.1x0.1.nc #EDGAR_NO_TNG kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_nox ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.NOx.TNG.0.1x0.1.nc #EDGAR_NO_RCO kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_nox ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.NOx.RCO.0.1x0.1.nc #EDGAR_NO_PPA kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_nox ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.NOx.PPA.0.1x0.1.nc #EDGAR_NO_AGR kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_nox ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.NOx.AGR.0.1x0.1.nc #EDGAR_NO_AWB kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_nox ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.NOx.AWB.0.1x0.1.nc #EDGAR_NO_SOL kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_nox ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.NOx.SOL.0.1x0.1.nc #EDGAR_NO_SWD kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_nox ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.NOx.SWD.0.1x0.1.nc #EDGAR_NO_FFF kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_nox ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.NOx.FFF.0.1x0.1.nc #EDGAR_OCPI_POW kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_oc ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.OC.POW.0.1x0.1.nc #EDGAR_OCPI_ENG kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_oc ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.OC.ENG.0.1x0.1.nc #EDGAR_OCPI_IND kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_oc ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.OC.IND.0.1x0.1.nc #EDGAR_OCPI_TRO kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_oc ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.OC.TRO.0.1x0.1.nc #EDGAR_OCPI_TNG kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_oc ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.OC.TNG.0.1x0.1.nc #EDGAR_OCPI_RCO kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_oc ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.OC.RCO.0.1x0.1.nc #EDGAR_OCPI_AWB kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_oc ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.OC.AWB.0.1x0.1.nc #EDGAR_OCPI_SWD kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_oc ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.OC.SWD.0.1x0.1.nc #EDGAR_OCPI_FFF kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_oc ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.OC.FFF.0.1x0.1.nc #EDGAR_SO2_POW kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_so2 ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.SO2.POW.0.1x0.1.nc #EDGAR_SO2_ENG kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_so2 ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.SO2.ENG.0.1x0.1.nc #EDGAR_SO2_IND kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_so2 ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.SO2.IND.0.1x0.1.nc #EDGAR_SO2_TRO kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_so2 ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.SO2.TRO.0.1x0.1.nc #EDGAR_SO2_TNG kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_so2 ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.SO2.TNG.0.1x0.1.nc #EDGAR_SO2_RCO kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_so2 ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.SO2.RCO.0.1x0.1.nc #EDGAR_SO2_PPA kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_so2 ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.SO2.PPA.0.1x0.1.nc #EDGAR_SO2_AWB kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_so2 ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.SO2.AWB.0.1x0.1.nc #EDGAR_SO2_SWD kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_so2 ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.SO2.SWD.0.1x0.1.nc #EDGAR_SO2_FFF kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_so2 ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.SO2.FFF.0.1x0.1.nc # #============================================================================== # --- NAP Anthropogenic (EDGAR_NAP) --- # EDGAR_NAP is off by default in HEMCO_Config.rc #============================================================================== #EDGAR_NAP kgC/m2/s N Y - none none BENZ ./HcoDir/EDGARv42/v2015-02/VOCv2/EDGAR2_1985_FF_IND.1x1geos.nc # #============================================================================== # --- Wiedinmyer et al. 2014 global trash (TRASH) to be added to EDGAR --- #============================================================================== # Scale factors convert from kg/m2/s to kgC/m2/s for VOCs # TRASH_CO kg/m2/s N Y - none none CO ./HcoDir/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc TRASH_NO kg/m2/s N Y - none none NO ./HcoDir/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc TRASH_SO2 kg/m2/s N Y - none none SO2 ./HcoDir/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc TRASH_NH3 kg/m2/s N Y - none none NH3 ./HcoDir/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc TRASH_BCPI kg/m2/s N Y - none none BC ./HcoDir/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc TRASH_OCPI kg/m2/s N Y - none none OC ./HcoDir/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc # #============================================================================== # --- HTAP v3 (HTAPv3) --- # HTAPv3 is off by default in HEMCO_Config.rc; Make sure to uncomment # these entries if you activate HTAPv3 or HTAPv3_SHIP in HEMCO_Config.rc #============================================================================== ## HTAPv3 #HTAPv3_BCPI_AGR kg/m2/s N Y F%y4-%m2-01T00:00:00 none none BC_AGR ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_BC_0.1x0.1_%y4.nc #HTAPv3_BCPI_ENE kg/m2/s N Y F%y4-%m2-01T00:00:00 none none BC_ENE ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_BC_0.1x0.1_%y4.nc #HTAPv3_BCPI_IND kg/m2/s N Y F%y4-%m2-01T00:00:00 none none BC_IND ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_BC_0.1x0.1_%y4.nc #HTAPv3_BCPI_TRA kg/m2/s N Y F%y4-%m2-01T00:00:00 none none BC_TRA ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_BC_0.1x0.1_%y4.nc #HTAPv3_BCPI_RCO kg/m2/s N Y F%y4-%m2-01T00:00:00 none none BC_RCO ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_BC_0.1x0.1_%y4.nc #HTAPv3_BCPI_SLV kg/m2/s N Y F%y4-%m2-01T00:00:00 none none BC_SLV ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_BC_0.1x0.1_%y4.nc #HTAPv3_BCPI_WST kg/m2/s N Y F%y4-%m2-01T00:00:00 none none BC_WST ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_BC_0.1x0.1_%y4.nc #HTAPv3_CO_AGR kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CO_AGR ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_CO_0.1x0.1_%y4.nc #HTAPv3_CO_ENE kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CO_ENE ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_CO_0.1x0.1_%y4.nc #HTAPv3_CO_IND kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CO_IND ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_CO_0.1x0.1_%y4.nc #HTAPv3_CO_TRA kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CO_TRA ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_CO_0.1x0.1_%y4.nc #HTAPv3_CO_RCO kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CO_RCO ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_CO_0.1x0.1_%y4.nc #HTAPv3_CO_SLV kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CO_SLV ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_CO_0.1x0.1_%y4.nc #HTAPv3_CO_WST kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CO_WST ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_CO_0.1x0.1_%y4.nc #HTAPv3_NH3_AGR kg/m2/s N Y F%y4-%m2-01T00:00:00 none none NH3_AGR ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_NH3_0.1x0.1_%y4.nc #HTAPv3_NH3_ENE kg/m2/s N Y F%y4-%m2-01T00:00:00 none none NH3_ENE ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_NH3_0.1x0.1_%y4.nc #HTAPv3_NH3_IND kg/m2/s N Y F%y4-%m2-01T00:00:00 none none NH3_IND ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_NH3_0.1x0.1_%y4.nc #HTAPv3_NH3_TRA kg/m2/s N Y F%y4-%m2-01T00:00:00 none none NH3_TRA ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_NH3_0.1x0.1_%y4.nc #HTAPv3_NH3_RCO kg/m2/s N Y F%y4-%m2-01T00:00:00 none none NH3_RCO ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_NH3_0.1x0.1_%y4.nc #HTAPv3_NH3_SLV kg/m2/s N Y F%y4-%m2-01T00:00:00 none none NH3_SLV ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_NH3_0.1x0.1_%y4.nc #HTAPv3_NH3_WST kg/m2/s N Y F%y4-%m2-01T00:00:00 none none NH3_WST ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_NH3_0.1x0.1_%y4.nc #HTAPv3_NO_ENE kg/m2/s N Y F%y4-%m2-01T00:00:00 none none NO_ENE ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_NO_0.1x0.1_%y4.nc #HTAPv3_NO_IND kg/m2/s N Y F%y4-%m2-01T00:00:00 none none NO_IND ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_NO_0.1x0.1_%y4.nc #HTAPv3_NO_TRA kg/m2/s N Y F%y4-%m2-01T00:00:00 none none NO_TRA ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_NO_0.1x0.1_%y4.nc #HTAPv3_NO_RCO kg/m2/s N Y F%y4-%m2-01T00:00:00 none none NO_RCO ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_NO_0.1x0.1_%y4.nc #HTAPv3_NO_SLV kg/m2/s N Y F%y4-%m2-01T00:00:00 none none NO_SLV ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_NO_0.1x0.1_%y4.nc #HTAPv3_NO_WST kg/m2/s N Y F%y4-%m2-01T00:00:00 none none NO_WST ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_NO_0.1x0.1_%y4.nc #HTAPv3_OCPI_AGR kg/m2/s N Y F%y4-%m2-01T00:00:00 none none OC_AGR ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_OC_0.1x0.1_%y4.nc #HTAPv3_OCPI_ENE kg/m2/s N Y F%y4-%m2-01T00:00:00 none none OC_ENE ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_OC_0.1x0.1_%y4.nc #HTAPv3_OCPI_IND kg/m2/s N Y F%y4-%m2-01T00:00:00 none none OC_IND ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_OC_0.1x0.1_%y4.nc #HTAPv3_OCPI_TRA kg/m2/s N Y F%y4-%m2-01T00:00:00 none none OC_TRA ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_OC_0.1x0.1_%y4.nc #HTAPv3_OCPI_RCO kg/m2/s N Y F%y4-%m2-01T00:00:00 none none OC_RCO ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_OC_0.1x0.1_%y4.nc #HTAPv3_OCPI_SLV kg/m2/s N Y F%y4-%m2-01T00:00:00 none none OC_SLV ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_OC_0.1x0.1_%y4.nc #HTAPv3_OCPI_WST kg/m2/s N Y F%y4-%m2-01T00:00:00 none none OC_WST ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_OC_0.1x0.1_%y4.nc #HTAPv3_NO_AGR kg/m2/s N Y F%y4-%m2-01T00:00:00 none none NO_AGR ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_NO_0.1x0.1_%y4.nc #HTAPv3_SO2_AGR kg/m2/s N Y F%y4-%m2-01T00:00:00 none none SO2_AGR ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_SO2_0.1x0.1_%y4.nc #HTAPv3_SO2_ENE kg/m2/s N Y F%y4-%m2-01T00:00:00 none none SO2_ENE ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_SO2_0.1x0.1_%y4.nc #HTAPv3_SO2_IND kg/m2/s N Y F%y4-%m2-01T00:00:00 none none SO2_IND ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_SO2_0.1x0.1_%y4.nc #HTAPv3_SO2_TRA kg/m2/s N Y F%y4-%m2-01T00:00:00 none none SO2_TRA ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_SO2_0.1x0.1_%y4.nc #HTAPv3_SO2_RCO kg/m2/s N Y F%y4-%m2-01T00:00:00 none none SO2_RCO ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_SO2_0.1x0.1_%y4.nc #HTAPv3_SO2_SLV kg/m2/s N Y F%y4-%m2-01T00:00:00 none none SO2_SLV ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_SO2_0.1x0.1_%y4.nc #HTAPv3_SO2_WST kg/m2/s N Y F%y4-%m2-01T00:00:00 none none SO2_WST ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_SO2_0.1x0.1_%y4.nc ## HTAPv3_SHIP #HTAPv3_BCPI_SHP kg/m2/s N Y F%y4-%m2-01T00:00:00 none none BC_SHP ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_BC_0.1x0.1_%y4.nc #HTAPv3_CO_SHP kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CO_SHP ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_CO_0.1x0.1_%y4.nc #HTAPv3_NH3_SHP kg/m2/s N Y F%y4-%m2-01T00:00:00 none none NH3_SHP ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_NH3_0.1x0.1_%y4.nc #HTAPv3_NO_SHP kg/m2/s N Y F%y4-%m2-01T00:00:00 none none NO_SHP ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_NO_0.1x0.1_%y4.nc #HTAPv3_OCPI_SHP kg/m2/s N Y F%y4-%m2-01T00:00:00 none none OC_SHP ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_OC_0.1x0.1_%y4.nc #HTAPv3_SO2_SHP kg/m2/s N Y F%y4-%m2-01T00:00:00 none none SO2_SHP ./HcoDir/HTAPv3/v2022-12/%y4/HTAPv3_SO2_0.1x0.1_%y4.nc # #============================================================================== # --- GEIA (GEIA_NH3) --- #============================================================================== GEIA_NH3_NATU kg/m2/s Y Y F1990-%m2-01T00:00:00 none none NH3_NATU ./HcoDir/NH3/v2019-08/NH3_geos.2x25.nc # #============================================================================== # --- Arctic seabirds (SEABIRD_NH3) --- #============================================================================== SEABIRD_NH3 kg/m2/s Y Y F1990-%m2-01T00:00:00 none none NH3_SEABIRDS ./HcoDir/NH3/v2018-04/NH3_Arctic_seabirds.nc # #============================================================================== # --- POET EOH (POET_EOH) --- #============================================================================== POET_EOH kgC/m2/s Y Y - none none EOH ./HcoDir/POET/v2017-03/POET_EOH.geos.2x25.nc # #============================================================================== # --- 2010 Global C2H6 fossil fuel and biofuel (TZOMPASOSA_C2H6) --- #============================================================================== C2H6_2010_oilgas kgC/m2/s Y Y F2010-%m2-01T00:00:00 none none ANTHR_C2H6 ./HcoDir/C2H6_2010/v2019-06/C2H6_global_anth_biof.2010%m2.2x25.nc C2H6_2010_biofuel kgC/m2/s Y Y F2010-%m2-01T00:00:00 none none BIOFUEL_C2H6 ./HcoDir/C2H6_2010/v2019-06/C2H6_global_anth_biof.2010%m2.2x25.nc # #============================================================================== # --- Xiao et al., JGR, 2008 (XIAO_C3H8) --- #============================================================================== XIAO_C3H8 kgC/m2/s N Y - none none C3H8 ./HcoDir/XIAO/v2014-09/C3H8_C2H6_ngas.geos.1x1.nc BIOFUEL_C3H8 kgC/m2/s N Y - none none BIOFUEL_C3H8 ./HcoDir/BIOFUEL/v2019-08/biofuel.geos.2x25.nc # #============================================================================== # --- Very-short-lived bromocarbon (LIANG_BROMOCARB) --- #============================================================================== LIANG_CHBR3 kg/m2/s N Y - none none CHBr3_emission ./HcoDir/BROMINE/v2015-02/Bromocarb_Liang2010.nc LIANG_CH2BR2 kg/m2/s N Y - none none CH2Br2_emission ./HcoDir/BROMINE/v2015-02/Bromocarb_Liang2010.nc # #============================================================================== # --- Very-short-lived iodocarbon (ORDONEZ_IODOCARB) --- #============================================================================== ORDONEZ_CH3I kg/m2/s Y Y F2000-%m2-01T00:00:00 none none CH3I ./HcoDir/IODINE/v2020-02/CH3I_monthly_emissions_Ordonez_2012_COARDS.nc ORDONEZ_CH2I2 kg/m2/s Y Y F2000-%m2-01T00:00:00 none none CH2I2 ./HcoDir/IODINE/v2020-02/CH2I2_monthly_emissions_Ordonez_2012_COARDS.nc ORDONEZ_CH2ICL kg/m2/s Y Y F2000-%m2-01T00:00:00 none none CH2ICl ./HcoDir/IODINE/v2020-02/CH2ICl_monthly_emissions_Ordonez_2012_COARDS.nc ORDONEZ_CH2IBR kg/m2/s Y Y F2000-%m2-01T00:00:00 none none CH2IBr ./HcoDir/IODINE/v2020-02/CH2IBr_monthly_emissions_Ordonez_2012_COARDS.nc # #============================================================================== # --- GT_Chlorine --- #============================================================================== HCL_ENE kg/m2/s N Y F%y4-%m2-01T00:00:00 none none HCl_ene ./HcoDir/GT_Chlorine/v2024-05/GT_Chlorine_01_01_%y4_V1.0.0.nc HCL_IND kg/m2/s N Y F%y4-%m2-01T00:00:00 none none HCl_ind ./HcoDir/GT_Chlorine/v2024-05/GT_Chlorine_01_01_%y4_V1.0.0.nc HCL_RES kg/m2/s N Y F%y4-%m2-01T00:00:00 none none HCl_res ./HcoDir/GT_Chlorine/v2024-05/GT_Chlorine_01_01_%y4_V1.0.0.nc HCL_WST kg/m2/s N Y F%y4-%m2-01T00:00:00 none none HCl_wstop ./HcoDir/GT_Chlorine/v2024-05/GT_Chlorine_01_01_%y4_V1.0.0.nc HCL_BIO kg/m2/s N Y F%y4-%m2-01T00:00:00 none none HCl_bbop ./HcoDir/GT_Chlorine/v2024-05/GT_Chlorine_01_01_%y4_V1.0.0.nc HCL_AGR kg/m2/s N Y F%y4-%m2-01T00:00:00 none none HCl_agri ./HcoDir/GT_Chlorine/v2024-05/GT_Chlorine_01_01_%y4_V1.0.0.nc PCL_ENE kg/m2/s N Y F%y4-%m2-01T00:00:00 none none pCl_ene ./HcoDir/GT_Chlorine/v2024-05/GT_Chlorine_01_01_%y4_V1.0.0.nc PCL_IND kg/m2/s N Y F%y4-%m2-01T00:00:00 none none pCl_ind ./HcoDir/GT_Chlorine/v2024-05/GT_Chlorine_01_01_%y4_V1.0.0.nc PCL_RES kg/m2/s N Y F%y4-%m2-01T00:00:00 none none pCl_res ./HcoDir/GT_Chlorine/v2024-05/GT_Chlorine_01_01_%y4_V1.0.0.nc PCL_WST kg/m2/s N Y F%y4-%m2-01T00:00:00 none none pCl_wstop ./HcoDir/GT_Chlorine/v2024-05/GT_Chlorine_01_01_%y4_V1.0.0.nc PCL_BIO kg/m2/s N Y F%y4-%m2-01T00:00:00 none none pCl_bbop ./HcoDir/GT_Chlorine/v2024-05/GT_Chlorine_01_01_%y4_V1.0.0.nc PCL_AGR kg/m2/s N Y F%y4-%m2-01T00:00:00 none none pCl_agri ./HcoDir/GT_Chlorine/v2024-05/GT_Chlorine_01_01_%y4_V1.0.0.nc # #============================================================================== # --- Ship emissions (SHIP) --- #============================================================================== CEDS_NO_SHP kg/m2/s N Y F%y4-%m2-01T00:00:00 none none NO_shp ./HcoDir/CEDS/v2024-06/%y4/CEDS_NO_0.1x0.1_%y4.nc CEDS_CO_SHP kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CO_shp ./HcoDir/CEDS/v2024-06/%y4/CEDS_CO_0.1x0.1_%y4.nc CEDS_SO2_SHP kg/m2/s N Y F%y4-%m2-01T00:00:00 none none SO2_shp ./HcoDir/CEDS/v2024-06/%y4/CEDS_SO2_0.1x0.1_%y4.nc CEDS_NH3_SHP kg/m2/s N Y F%y4-%m2-01T00:00:00 none none NH3_shp ./HcoDir/CEDS/v2024-06/%y4/CEDS_NH3_0.1x0.1_%y4.nc CEDS_BCPI_SHP kg/m2/s N Y F%y4-%m2-01T00:00:00 none none BC_shp ./HcoDir/CEDS/v2024-06/%y4/CEDS_BC_0.1x0.1_%y4.nc CEDS_OCPI_SHP kg/m2/s N Y F%y4-%m2-01T00:00:00 none none OC_shp ./HcoDir/CEDS/v2024-06/%y4/CEDS_OC_0.1x0.1_%y4.nc CEDS_MOH_SHP kg/m2/s N Y F%y4-%m2-01T00:00:00 none none EOH_shp ./HcoDir/CEDS/v2024-06/%y4/CEDS_EOH_0.1x0.1_%y4.nc CEDS_C2H6_SHP kg/m2/s N Y F%y4-%m2-01T00:00:00 none none C2H6_shp ./HcoDir/CEDS/v2024-06/%y4/CEDS_C2H6_0.1x0.1_%y4.nc CEDS_C3H8_SHP kg/m2/s N Y F%y4-%m2-01T00:00:00 none none C3H8_shp ./HcoDir/CEDS/v2024-06/%y4/CEDS_C3H8_0.1x0.1_%y4.nc CEDS_C4H10_SHP kg/m2/s N Y F%y4-%m2-01T00:00:00 none none ALK4_butanes_shp ./HcoDir/CEDS/v2024-06/%y4/CEDS_ALK4_butanes_0.1x0.1_%y4.nc CEDS_C5H12_SHP kg/m2/s N Y F%y4-%m2-01T00:00:00 none none ALK4_pentanes_shp ./HcoDir/CEDS/v2024-06/%y4/CEDS_ALK4_pentanes_0.1x0.1_%y4.nc CEDS_C6H14_SHP kg/m2/s N Y F%y4-%m2-01T00:00:00 none none ALK4_hexanes_shp ./HcoDir/CEDS/v2024-06/%y4/CEDS_ALK4_hexanes_0.1x0.1_%y4.nc CEDS_C2H4_SHP kg/m2/s N Y F%y4-%m2-01T00:00:00 none none C2H4_shp ./HcoDir/CEDS/v2024-06/%y4/CEDS_C2H4_0.1x0.1_%y4.nc CEDS_PRPE_SHP kg/m2/s N Y F%y4-%m2-01T00:00:00 none none PRPE_shp ./HcoDir/CEDS/v2024-06/%y4/CEDS_PRPE_0.1x0.1_%y4.nc CEDS_C2H2_SHP kg/m2/s N Y F%y4-%m2-01T00:00:00 none none C2H2_shp ./HcoDir/CEDS/v2024-06/%y4/CEDS_C2H2_0.1x0.1_%y4.nc CEDS_BENZ_SHP kg/m2/s N Y F%y4-%m2-01T00:00:00 none none BENZ_shp ./HcoDir/CEDS/v2024-06/%y4/CEDS_BENZ_0.1x0.1_%y4.nc CEDS_TOLU_SHP kg/m2/s N Y F%y4-%m2-01T00:00:00 none none TOLU_shp ./HcoDir/CEDS/v2024-06/%y4/CEDS_TOLU_0.1x0.1_%y4.nc CEDS_XYLE_SHP kg/m2/s N Y F%y4-%m2-01T00:00:00 none none XYLE_shp ./HcoDir/CEDS/v2024-06/%y4/CEDS_XYLE_0.1x0.1_%y4.nc CEDS_CH2O_SHP kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CH2O_shp ./HcoDir/CEDS/v2024-06/%y4/CEDS_CH2O_0.1x0.1_%y4.nc CEDS_ALD2_SHP kg/m2/s N Y F%y4-%m2-01T00:00:00 none none ALD2_shp ./HcoDir/CEDS/v2024-06/%y4/CEDS_ALD2_0.1x0.1_%y4.nc CEDS_MEK_SHP kg/m2/s N Y F%y4-%m2-01T00:00:00 none none MEK_shp ./HcoDir/CEDS/v2024-06/%y4/CEDS_MEK_0.1x0.1_%y4.nc CEDS_HCOOH_SHP kg/m2/s N Y F%y4-%m2-01T00:00:00 none none HCOOH_shp ./HcoDir/CEDS/v2024-06/%y4/CEDS_HCOOH_0.1x0.1_%y4.nc # # TMB and OTHER_VOC are absent from the CEDS 0.1 x 0.1 emissions. # Read the previous CEDSv2 data for these instead. # CEDS_TMB_SHP kg/m2/s N Y F%y4-%m2-01T00:00:00 none none TMB_shp ./HcoDir/CEDS/v2021-06/%y4/TMB-em-anthro_CMIP_CEDS_%y4.nc CEDS_OTH_SHP kg/m2/s N Y F%y4-%m2-01T00:00:00 none none OTHER_VOC_shp ./HcoDir/CEDS/v2021-06/%y4/OTHER_VOC-em-anthro_CMIP_CEDS_%y4.nc # # --- if not ParaNOx --- # --- if EMEP_SHIP and not ParaNOx --- # ParaNOx is on by default in HEMCO_Config.rc. Fill out the sections above if turning off. # #============================================================================== # --- AEIC 2019 aircraft (AEIC) --- # # kg -> kgC scale factor is applied in HEMCO, # and therefore is unnecessary in ExtData.rc #============================================================================== # Daily data AEIC19_DAILY_NO kg/m2/s 2019 Y F%y4-%m2-%d2T00:00:00 none none NO ./HcoDir/AEIC2019/v2022-03/2019/%m2/AEIC_2019%m2%d2.0.5x0.625.36L.nc AEIC19_DAILY_NO2 kg/m2/s 2019 Y F%y4-%m2-%d2T00:00:00 none none NO2 ./HcoDir/AEIC2019/v2022-03/2019/%m2/AEIC_2019%m2%d2.0.5x0.625.36L.nc AEIC19_DAILY_HONO kg/m2/s 2019 Y F%y4-%m2-%d2T00:00:00 none none HONO ./HcoDir/AEIC2019/v2022-03/2019/%m2/AEIC_2019%m2%d2.0.5x0.625.36L.nc AEIC19_DAILY_CO kg/m2/s 2019 Y F%y4-%m2-%d2T00:00:00 none none CO ./HcoDir/AEIC2019/v2022-03/2019/%m2/AEIC_2019%m2%d2.0.5x0.625.36L.nc AEIC19_DAILY_SO2 kg/m2/s 2019 Y F%y4-%m2-%d2T00:00:00 none none FUELBURN ./HcoDir/AEIC2019/v2022-03/2019/%m2/AEIC_2019%m2%d2.0.5x0.625.36L.nc AEIC19_DAILY_BCPI kg/m2/s 2019 Y F%y4-%m2-%d2T00:00:00 none none BC ./HcoDir/AEIC2019/v2022-03/2019/%m2/AEIC_2019%m2%d2.0.5x0.625.36L.nc AEIC19_DAILY_OCPI kg/m2/s 2019 Y F%y4-%m2-%d2T00:00:00 none none OC ./HcoDir/AEIC2019/v2022-03/2019/%m2/AEIC_2019%m2%d2.0.5x0.625.36L.nc AEIC19_DAILY_ACET kg/m2/s 2019 Y F%y4-%m2-%d2T00:00:00 none none HC ./HcoDir/AEIC2019/v2022-03/2019/%m2/AEIC_2019%m2%d2.0.5x0.625.36L.nc # Monthly data AEIC19_MONMEAN_NO kg/m2/s Y Y F2019-%m2-01T00:00:00 none none NO ./HcoDir/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019%m2.0.5x0.625.36L.nc AEIC19_MONMEAN_NO2 kg/m2/s Y Y F2019-%m2-01T00:00:00 none none NO2 ./HcoDir/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019%m2.0.5x0.625.36L.nc AEIC19_MONMEAN_HONO kg/m2/s Y Y F2019-%m2-01T00:00:00 none none HONO ./HcoDir/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019%m2.0.5x0.625.36L.nc AEIC19_MONMEAN_CO kg/m2/s Y Y F2019-%m2-01T00:00:00 none none CO ./HcoDir/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019%m2.0.5x0.625.36L.nc AEIC19_MONMEAN_SO2 kg/m2/s Y Y F2019-%m2-01T00:00:00 none none FUELBURN ./HcoDir/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019%m2.0.5x0.625.36L.nc AEIC19_MONMEAN_BCPI kg/m2/s Y Y F2019-%m2-01T00:00:00 none none BC ./HcoDir/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019%m2.0.5x0.625.36L.nc AEIC19_MONMEAN_OCPI kg/m2/s Y Y F2019-%m2-01T00:00:00 none none OC ./HcoDir/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019%m2.0.5x0.625.36L.nc AEIC19_MONMEAN_ACET kg/m2/s Y Y F2019-%m2-01T00:00:00 none none HC ./HcoDir/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019%m2.0.5x0.625.36L.nc # #============================================================================== # --- Emissions from decaying plants (DECAYING_PLANTS) --- #============================================================================== ALD2_PLANTDECAY kgC/m2/s Y Y F1985-%m2-01T00:00:00 none none HET_RESP ./HcoDir/ALD2/v2017-03/resp.geos.2x25.nc EOH_PLANTDECAY kgC/m2/s Y Y F1985-%m2-01T00:00:00 none none HET_RESP ./HcoDir/ALD2/v2017-03/resp.geos.2x25.nc # #============================================================================== # --- RCP 3PD future emissions scenarios (RCP_3PD) --- # RCP_3PD is off by default in HEMCO_Config.rc #============================================================================== #RCP3PD_CH4 kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_3PD/RCPs_anthro_CH4_2005-2100_23474.nc #RCP3PD_NOx kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_3PD/RCPs_anthro_NOx_2005-2100_23474.nc #RCP3PD_CO kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_3PD/RCPs_anthro_CO_2005-2100_23474.nc #RCP3PD_BCPO kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_3PD/RCPs_anthro_BC_2005-2100_23474.nc #RCP3PD_OCPO kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_3PD/RCPs_anthro_OC_2005-2100_23474.nc #RCP3PD_SO2 kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_3PD/RCPs_anthro_SO2_2005-2100_23474.nc #RCP3PD_NH3 kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_3PD/RCPs_anthro_NH3_2005-2100_23474.nc #RCP3PD_C2H2 kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_3PD/RCPs_anthro_acetylene_2005-2100_23474_kgC.nc #RCP3PD_CH2O kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_3PD/RCPs_anthro_formaldehyde_2005-2100_23474.nc #RCP3PD_BENZ kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_3PD/RCPs_anthro_benzene_2005-2100_23474_kgC.nc #RCP3PD_TOLU kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_3PD/RCPs_anthro_toluene_2005-2100_23474_kgC.nc #RCP3PD_XYLE kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_3PD/RCPs_anthro_xylene_2005-2100_23474_kgC.nc #RCP3PD_ALD2 kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_3PD/RCPs_anthro_other_aldehydes_2005-2100_23474_kgC.nc # #RCP3PD_ALK4__A kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_3PD/RCPs_anthro_butanes_2005-2100_23474_kgC.nc #RCP3PD_ALK4__B kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_3PD/RCPs_anthro_pentanes_2005-2100_23474_kgC.nc #RCP3PD_ALK4__C kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_3PD/RCPs_anthro_hexanes_and_higher_alkanes_2005-2100_23474_kgC.nc # #RCP3PD_ACET kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_3PD/RCPs_anthro_total_ketones_2005-2100_23474_kgC.nc #RCP3PD_C2H6 kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_3PD/RCPs_anthro_ethane_2005-2100_23474_kgC.nc #RCP3PD_C2H4 kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_3PD/RCPs_anthro_ethene_2005-2100_23474_kgC.nc #RCP3PD_C3H8 kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_3PD/RCPs_anthro_propane_2005-2100_23474_kgC.nc #RCP3PD_PRPE kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_3PD/RCPs_anthro_propene_2005-2100_23474_kgC.nc #RCP3PD_HCOOH kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_3PD/RCPs_anthro_total_acids_2005-2100_23474.nc # #============================================================================== # --- RCP 45 future emissions scenarios (RCP_45) --- # RCP_45 is off by default in HEMCO_Config.rc #============================================================================== #RCP45_CH4 kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_45/RCPs_anthro_CH4_2005-2100_27424.nc #RCP45_NOx kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_45/RCPs_anthro_NOx_2005-2100_27424.nc #RCP45_CO kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_45/RCPs_anthro_CO_2005-2100_27424.nc #RCP45_BCPO kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_45/RCPs_anthro_BC_2005-2100_27424.nc #RCP45_OCPO kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_45/RCPs_anthro_OC_2005-2100_27424.nc #RCP45_SO2 kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_45/RCPs_anthro_SO2_2005-2100_27424.nc #RCP45_NH3 kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_45/RCPs_anthro_NH3_2005-2100_27424.nc #RCP45_C2H2 kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_45/RCPs_anthro_acetylene_2005-2100_27424_kgC.nc #RCP45_CH2O kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_45/RCPs_anthro_formaldehyde_2005-2100_27424.nc #RCP45_BENZ kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_45/RCPs_anthro_benzene_2005-2100_27424_kgC.nc #RCP45_TOLU kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_45/RCPs_anthro_toluene_2005-2100_27424_kgC.nc #RCP45_XYLE kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_45/RCPs_anthro_xylene_2005-2100_27424_kgC.nc #RCP45_ALD2 kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_45/RCPs_anthro_other_aldehydes_2005-2100_27424_kgC.nc # #RCP45_ALK4__A kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_45/RCPs_anthro_butanes_2005-2100_27424_kgC.nc #RCP45_ALK4__B kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_45/RCPs_anthro_pentanes_2005-2100_27424_kgC.nc #RCP45_ALK4__C kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_45/RCPs_anthro_hexanes_and_higher_alkanes_2005-2100_27424_kgC.nc # #RCP45_ACET kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_45/RCPs_anthro_total_ketones_2005-2100_27424_kgC.nc #RCP45_C2H6 kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_45/RCPs_anthro_ethane_2005-2100_27424_kgC.nc #RCP45_C2H4 kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_45/RCPs_anthro_ethene_2005-2100_27424_kgC.nc #RCP45_C3H8 kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_45/RCPs_anthro_propane_2005-2100_27424_kgC.nc #RCP45_PRPE kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_45/RCPs_anthro_propene_2005-2100_27424_kgC.nc #RCP45_HCOOH kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_45/RCPs_anthro_total_acids_2005-2100_27424.nc # #============================================================================== # --- RCP 60 future emissions scenarios (RCP_60) --- # RCP_60 is off by default in HEMCO_Config.rc #============================================================================== #RCP60_CH4 kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_60/RCPs_anthro_CH4_2005-2100_43190.nc #RCP60_NOx kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_60/RCPs_anthro_NOx_2005-2100_43190.nc #RCP60_CO kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_60/RCPs_anthro_CO_2005-2100_43190.nc #RCP60_BCPO kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_60/RCPs_anthro_BC_2005-2100_43190.nc #RCP60_OCPO kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_60/RCPs_anthro_OC_2005-2100_43190.nc #RCP60_SO2 kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_60/RCPs_anthro_SO2_2005-2100_43190.nc #RCP60_NH3 kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_60/RCPs_anthro_NH3_2005-2100_43190.nc #RCP60_C2H2 kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_60/RCPs_anthro_acetylene_2005-2100_43190_kgC.nc #RCP60_CH2O kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_60/RCPs_anthro_formaldehyde_2005-2100_43190.nc #RCP60_BENZ kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_60/RCPs_anthro_benzene_2005-2100_43190_kgC.nc #RCP60_TOLU kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_60/RCPs_anthro_toluene_2005-2100_43190_kgC.nc #RCP60_XYLE kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_60/RCPs_anthro_xylene_2005-2100_43190_kgC.nc #RCP60_ALD2 kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_60/RCPs_anthro_other_aldehydes_2005-2100_43190_kgC.nc # #RCP60_ALK4__A kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_60/RCPs_anthro_butanes_2005-2100_43190_kgC.nc #RCP60_ALK4__B kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_60/RCPs_anthro_pentanes_2005-2100_43190_kgC.nc #RCP60_ALK4__C kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_60/RCPs_anthro_hexanes_and_higher_alkanes_2005-2100_43190_kgC.nc # #RCP60_ACET kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_60/RCPs_anthro_total_ketones_2005-2100_43190_kgC.nc #RCP60_C2H6 kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_60/RCPs_anthro_ethane_2005-2100_43190_kgC.nc #RCP60_C2H4 kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_60/RCPs_anthro_ethene_2005-2100_43190_kgC.nc #RCP60_C3H8 kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_60/RCPs_anthro_propane_2005-2100_43190_kgC.nc #RCP60_PRPE kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_60/RCPs_anthro_propene_2005-2100_43190_kgC.nc #RCP60_HCOOH kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_60/RCPs_anthro_total_acids_2005-2100_43190.nc # #============================================================================== # --- RCP 85 future emissions scenarios (RCP_85) --- # RCP_85 is off by default in HEMCO_Config.rc #============================================================================== #RCP85_CH4 kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_85/RCPs_anthro_CH4_2005-2100_43533.nc #RCP85_NOx kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_85/RCPs_anthro_NOx_2005-2100_43533.nc #RCP85_CO kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_85/RCPs_anthro_CO_2005-2100_43533.nc #RCP85_BCPO kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_85/RCPs_anthro_BC_2005-2100_43533.nc #RCP85_OCPO kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_85/RCPs_anthro_OC_2005-2100_43533.nc #RCP85_SO2 kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_85/RCPs_anthro_SO2_2005-2100_43533.nc #RCP85_NH3 kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_85/RCPs_anthro_NH3_2005-2100_43533.nc #RCP85_C2H2 kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_85/RCPs_anthro_acetylene_2005-2100_43533_kgC.nc #RCP85_CH2O kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_85/RCPs_anthro_formaldehyde_2005-2100_43533.nc #RCP85_BENZ kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_85/RCPs_anthro_benzene_2005-2100_43533_kgC.nc #RCP85_TOLU kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_85/RCPs_anthro_toluene_2005-2100_43533_kgC.nc #RCP85_XYLE kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_85/RCPs_anthro_xylene_2005-2100_43533_kgC.nc #RCP85_ALD2 kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_85/RCPs_anthro_other_aldehydes_2005-2100_43533_kgC.nc # #RCP85_ALK4__A kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_85/RCPs_anthro_butanes_2005-2100_43533_kgC.nc #RCP85_ALK4__B kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_85/RCPs_anthro_pentanes_2005-2100_43533_kgC.nc #RCP85_ALK4__C kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_85/RCPs_anthro_hexanes_and_higher_alkanes_2005-2100_43533_kgC.nc # #RCP85_ACET kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_85/RCPs_anthro_total_ketones_2005-2100_43533_kgC.nc #RCP85_C2H6 kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_85/RCPs_anthro_ethane_2005-2100_43533_kgC.nc #RCP85_C2H4 kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_85/RCPs_anthro_ethene_2005-2100_43533_kgC.nc #RCP85_C3H8 kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_85/RCPs_anthro_propane_2005-2100_43533_kgC.nc #RCP85_PRPE kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_85/RCPs_anthro_propene_2005-2100_43533_kgC.nc #RCP85_HCOOH kg/m2/s N Y %y4-01-01T00:00:00 none none ACCMIP ./HcoDir/RCP/v2020-07/RCP_85/RCPs_anthro_total_acids_2005-2100_43533.nc # #============================================================================== # --- QFED2 biomass burning (QFED2) --- # QFED2 is off by default in HEMCO_Config.rc; fill in this section if turning on #============================================================================== # #============================================================================== # --- GFAS biomass burning (GFAS) --- # GFAS is off by default in HEMCO_Config.rc; fill in this section if turning on #============================================================================== #GFAS_CO kg/m2/s N Y F%y4-%m2-%d2T00:00:00 none none cofire ./HcoDir/GFAS/v2018-09/%y4/GFAS_%y4%m2.nc #GFAS_SOAP kg/m2/s N Y F%y4-%m2-%d2T00:00:00 none none cofire ./HcoDir/GFAS/v2018-09/%y4/GFAS_%y4%m2.nc #GFAS_CH3OH kg/m2/s N Y F%y4-%m2-%d2T00:00:00 none none ch3ohfire ./HcoDir/GFAS/v2018-09/%y4/GFAS_%y4%m2.nc #GFAS_NO kg/m2/s N Y F%y4-%m2-%d2T00:00:00 none none noxfire ./HcoDir/GFAS/v2018-09/%y4/GFAS_%y4%m2.nc #GFAS_BCPI kg/m2/s N Y F%y4-%m2-%d2T00:00:00 none none bcfire ./HcoDir/GFAS/v2018-09/%y4/GFAS_%y4%m2.nc #GFAS_BCPO kg/m2/s N Y F%y4-%m2-%d2T00:00:00 none none bcfire ./HcoDir/GFAS/v2018-09/%y4/GFAS_%y4%m2.nc #GFAS_OCPI kg/m2/s N Y F%y4-%m2-%d2T00:00:00 none none ocfire ./HcoDir/GFAS/v2018-09/%y4/GFAS_%y4%m2.nc #GFAS_OCPO kg/m2/s N Y F%y4-%m2-%d2T00:00:00 none none ocfire ./HcoDir/GFAS/v2018-09/%y4/GFAS_%y4%m2.nc #GFAS_CO2 kg/m2/s N Y F%y4-%m2-%d2T00:00:00 none none co2fire ./HcoDir/GFAS/v2018-09/%y4/GFAS_%y4%m2.nc #GFAS_CH4 kg/m2/s N Y F%y4-%m2-%d2T00:00:00 none none ch4fire ./HcoDir/GFAS/v2018-09/%y4/GFAS_%y4%m2.nc #GFAS_SO2 kg/m2/s N Y F%y4-%m2-%d2T00:00:00 none none so2fire ./HcoDir/GFAS/v2018-09/%y4/GFAS_%y4%m2.nc #GFAS_pFe kg/m2/s N Y F%y4-%m2-%d2T00:00:00 none none so2fire ./HcoDir/GFAS/v2018-09/%y4/GFAS_%y4%m2.nc #GFAS_NH3 kg/m2/s N Y F%y4-%m2-%d2T00:00:00 none none nh3fire ./HcoDir/GFAS/v2018-09/%y4/GFAS_%y4%m2.nc #GFAS_ACET kg/m2/s N Y F%y4-%m2-%d2T00:00:00 none none c3h6ofire ./HcoDir/GFAS/v2018-09/%y4/GFAS_%y4%m2.nc #GFAS_ALD2 kg/m2/s N Y F%y4-%m2-%d2T00:00:00 none none c2h4ofire ./HcoDir/GFAS/v2018-09/%y4/GFAS_%y4%m2.nc #GFAS_ALK4 kg/m2/s N Y F%y4-%m2-%d2T00:00:00 none none hialkanesfire ./HcoDir/GFAS/v2018-09/%y4/GFAS_%y4%m2.nc #GFAS_PRPE1 kg/m2/s N Y F%y4-%m2-%d2T00:00:00 none none hialkenesfire ./HcoDir/GFAS/v2018-09/%y4/GFAS_%y4%m2.nc #GFAS_PRPE2 kg/m2/s N Y F%y4-%m2-%d2T00:00:00 none none c3h6fire ./HcoDir/GFAS/v2018-09/%y4/GFAS_%y4%m2.nc #GFAS_C2H6 kg/m2/s N Y F%y4-%m2-%d2T00:00:00 none none c2h6fire ./HcoDir/GFAS/v2018-09/%y4/GFAS_%y4%m2.nc #GFAS_C3H8 kg/m2/s N Y F%y4-%m2-%d2T00:00:00 none none c3h8fire ./HcoDir/GFAS/v2018-09/%y4/GFAS_%y4%m2.nc #GFAS_CH2O kg/m2/s N Y F%y4-%m2-%d2T00:00:00 none none ch2ofire ./HcoDir/GFAS/v2018-09/%y4/GFAS_%y4%m2.nc #GFAS_C2H4 kg/m2/s N Y F%y4-%m2-%d2T00:00:00 none none c2h4fire ./HcoDir/GFAS/v2018-09/%y4/GFAS_%y4%m2.nc #GFAS_ISOP kg/m2/s N Y F%y4-%m2-%d2T00:00:00 none none c5h8fire ./HcoDir/GFAS/v2018-09/%y4/GFAS_%y4%m2.nc #GFAS_DMS kg/m2/s N Y F%y4-%m2-%d2T00:00:00 none none c2h6sfire ./HcoDir/GFAS/v2018-09/%y4/GFAS_%y4%m2.nc #GFAS_TOLU kg/m2/s N Y F%y4-%m2-%d2T00:00:00 none none c7h8fire ./HcoDir/GFAS/v2018-09/%y4/GFAS_%y4%m2.nc #GFAS_BENZ kg/m2/s N Y F%y4-%m2-%d2T00:00:00 none none c6h6fire ./HcoDir/GFAS/v2018-09/%y4/GFAS_%y4%m2.nc #GFAS_XYLE kg/m2/s N Y F%y4-%m2-%d2T00:00:00 none none c8h10fire ./HcoDir/GFAS/v2018-09/%y4/GFAS_%y4%m2.nc #GFAS_EMITL m N Y F%y4-%m2-%d2T00:00:00 none none mami ./HcoDir/GFAS/v2018-09/%y4/GFAS_%y4%m2.nc # #============================================================================== # --- GFED4 climatology --- # GFED4_CLIMATOLOGY is off by default in HEMCO_Config.rc; fill in this section if turning on #============================================================================== # #============================================================================== # --- Anthropogenic dust emissions (AFCID)--- #============================================================================== PM25FINE_1_bin1 kg/m2/s Y Y 2015-%m2-01T00:00:00 none none PM25FINE ./HcoDir/AFCID/v2018-04/PM25FINE_ECLIPSE_2015.geos.2x25.nc PM25FINE_1_bin2 kg/m2/s Y Y 2015-%m2-01T00:00:00 none none PM25FINE ./HcoDir/AFCID/v2018-04/PM25FINE_ECLIPSE_2015.geos.2x25.nc PM25FINE_1_bin3 kg/m2/s Y Y 2015-%m2-01T00:00:00 none none PM25FINE ./HcoDir/AFCID/v2018-04/PM25FINE_ECLIPSE_2015.geos.2x25.nc PM25FINE_1_bin4 kg/m2/s Y Y 2015-%m2-01T00:00:00 none none PM25FINE ./HcoDir/AFCID/v2018-04/PM25FINE_ECLIPSE_2015.geos.2x25.nc PM25FINE_2_bin1 kg/m2/s Y Y 2012-%m2-01T00:00:00 none none PM25FINE ./HcoDir/AFCID/v2018-04/PM25FINE_MEIC_2012.generic.025x025.nc PM25FINE_2_bin2 kg/m2/s Y Y 2012-%m2-01T00:00:00 none none PM25FINE ./HcoDir/AFCID/v2018-04/PM25FINE_MEIC_2012.generic.025x025.nc PM25FINE_2_bin3 kg/m2/s Y Y 2012-%m2-01T00:00:00 none none PM25FINE ./HcoDir/AFCID/v2018-04/PM25FINE_MEIC_2012.generic.025x025.nc PM25FINE_2_bin4 kg/m2/s Y Y 2012-%m2-01T00:00:00 none none PM25FINE ./HcoDir/AFCID/v2018-04/PM25FINE_MEIC_2012.generic.025x025.nc PM25FINE_3_bin1 kg/m2/s Y Y 2013-%m2-01T00:00:00 none none PM25FINE ./HcoDir/AFCID/v2018-04/PM25FINE_IITB_2013.generic.025x025.nc PM25FINE_3_bin2 kg/m2/s Y Y 2013-%m2-01T00:00:00 none none PM25FINE ./HcoDir/AFCID/v2018-04/PM25FINE_IITB_2013.generic.025x025.nc PM25FINE_3_bin3 kg/m2/s Y Y 2013-%m2-01T00:00:00 none none PM25FINE ./HcoDir/AFCID/v2018-04/PM25FINE_IITB_2013.generic.025x025.nc PM25FINE_3_bin4 kg/m2/s Y Y 2013-%m2-01T00:00:00 none none PM25FINE ./HcoDir/AFCID/v2018-04/PM25FINE_IITB_2013.generic.025x025.nc # #============================================================================== # --- Offline dust emissions (OFFLINE_DUST)--- #============================================================================== EMIS_DSTbin1 kg/m2/s N Y %y4-%m2-%d2T%h2:00:00 none none EMIS ./HcoDir/OFFLINE_DUST/v2025-03/${RUNDIR_OFFLINE_EMIS_RES}/${RUNDIR_MET}/%y4/%m2/dust_emissions_${RUNDIR_OFFLINE_EMIS_LAT_RES}.${RUNDIR_MET}.%y4%m2%d2.nc EMIS_DSTbin2 kg/m2/s N Y %y4-%m2-%d2T%h2:00:00 none none EMIS ./HcoDir/OFFLINE_DUST/v2025-03/${RUNDIR_OFFLINE_EMIS_RES}/${RUNDIR_MET}/%y4/%m2/dust_emissions_${RUNDIR_OFFLINE_EMIS_LAT_RES}.${RUNDIR_MET}.%y4%m2%d2.nc EMIS_DSTbin3 kg/m2/s N Y %y4-%m2-%d2T%h2:00:00 none none EMIS ./HcoDir/OFFLINE_DUST/v2025-03/${RUNDIR_OFFLINE_EMIS_RES}/${RUNDIR_MET}/%y4/%m2/dust_emissions_${RUNDIR_OFFLINE_EMIS_LAT_RES}.${RUNDIR_MET}.%y4%m2%d2.nc EMIS_DSTbin4 kg/m2/s N Y %y4-%m2-%d2T%h2:00:00 none none EMIS ./HcoDir/OFFLINE_DUST/v2025-03/${RUNDIR_OFFLINE_EMIS_RES}/${RUNDIR_MET}/%y4/%m2/dust_emissions_${RUNDIR_OFFLINE_EMIS_LAT_RES}.${RUNDIR_MET}.%y4%m2%d2.nc EMIS_DSTbin5 kg/m2/s N Y %y4-%m2-%d2T%h2:00:00 none none EMIS ./HcoDir/OFFLINE_DUST/v2025-03/${RUNDIR_OFFLINE_EMIS_RES}/${RUNDIR_MET}/%y4/%m2/dust_emissions_${RUNDIR_OFFLINE_EMIS_LAT_RES}.${RUNDIR_MET}.%y4%m2%d2.nc EMIS_DSTbin6 kg/m2/s N Y %y4-%m2-%d2T%h2:00:00 none none EMIS ./HcoDir/OFFLINE_DUST/v2025-03/${RUNDIR_OFFLINE_EMIS_RES}/${RUNDIR_MET}/%y4/%m2/dust_emissions_${RUNDIR_OFFLINE_EMIS_LAT_RES}.${RUNDIR_MET}.%y4%m2%d2.nc EMIS_DSTbin7 kg/m2/s N Y %y4-%m2-%d2T%h2:00:00 none none EMIS ./HcoDir/OFFLINE_DUST/v2025-03/${RUNDIR_OFFLINE_EMIS_RES}/${RUNDIR_MET}/%y4/%m2/dust_emissions_${RUNDIR_OFFLINE_EMIS_LAT_RES}.${RUNDIR_MET}.%y4%m2%d2.nc # #============================================================================== # --- Offline biogenic VOC emissions (OFFLINE_BIOGENICVOC) --- #============================================================================== BIOGENIC_ACET kg/m2/s N Y %y4-%m2-%d2T%h2:00:00 none none ACET_MEGAN ./HcoDir/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/%y4/%m2/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.%y4%m2%d2.nc BIOGENIC_ALD2 kg/m2/s N Y %y4-%m2-%d2T%h2:00:00 none none ALD2_MEGAN ./HcoDir/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/%y4/%m2/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.%y4%m2%d2.nc BIOGENIC_C2H4 kg/m2/s N Y %y4-%m2-%d2T%h2:00:00 none none C2H4_MEGAN ./HcoDir/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/%y4/%m2/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.%y4%m2%d2.nc BIOGENIC_EOH kg/m2/s N Y %y4-%m2-%d2T%h2:00:00 none none EOH_MEGAN ./HcoDir/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/%y4/%m2/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.%y4%m2%d2.nc BIOGENIC_ISOP kg/m2/s N Y %y4-%m2-%d2T%h2:00:00 none none ISOP_MEGAN ./HcoDir/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/%y4/%m2/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.%y4%m2%d2.nc BIOGENIC_PRPE kg/m2/s N Y %y4-%m2-%d2T%h2:00:00 none none PRPE_MEGAN ./HcoDir/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/%y4/%m2/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.%y4%m2%d2.nc BIOGENIC_SOAP kg/m2/s N Y %y4-%m2-%d2T%h2:00:00 none none SOAP_MEGAN ./HcoDir/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/%y4/%m2/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.%y4%m2%d2.nc BIOGENIC_SOAS kg/m2/s N Y %y4-%m2-%d2T%h2:00:00 none none SOAS_MEGAN ./HcoDir/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/%y4/%m2/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.%y4%m2%d2.nc BIOGENIC_MOH kg/m2/s N Y %y4-%m2-%d2T%h2:00:00 none none MOH_MEGAN ./HcoDir/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/%y4/%m2/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.%y4%m2%d2.nc BIOGENIC_MTPA kg/m2/s N Y %y4-%m2-%d2T%h2:00:00 none none MTPA_MEGAN ./HcoDir/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/%y4/%m2/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.%y4%m2%d2.nc BIOGENIC_MTPO kg/m2/s N Y %y4-%m2-%d2T%h2:00:00 none none MTPO_MEGAN ./HcoDir/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/%y4/%m2/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.%y4%m2%d2.nc BIOGENIC_LIMO kg/m2/s N Y %y4-%m2-%d2T%h2:00:00 none none LIMO_MEGAN ./HcoDir/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/%y4/%m2/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.%y4%m2%d2.nc BIOGENIC_SESQ kg/m2/s N Y %y4-%m2-%d2T%h2:00:00 none none SESQ_MEGAN ./HcoDir/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/%y4/%m2/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.%y4%m2%d2.nc # #============================================================================== # --- Offline sea salt emissions (OFFLINE_SEASALT) --- #============================================================================== SEASALT_SALA kg/m2/s N Y %y4-%m2-%d2T%h2:00:00 none none SALA_TOTAL ./HcoDir/OFFLINE_SEASALT/${RUNDIR_OFFLINE_SEASALT_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/%y4/%m2/seasalt_${RUNDIR_OFFLINE_EMIS_LAT_RES}.%y4%m2%d2.nc SEASALT_SALC kg/m2/s N Y %y4-%m2-%d2T%h2:00:00 none none SALC_TOTAL ./HcoDir/OFFLINE_SEASALT/${RUNDIR_OFFLINE_SEASALT_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/%y4/%m2/seasalt_${RUNDIR_OFFLINE_EMIS_LAT_RES}.%y4%m2%d2.nc # #SEASALT_Br2 kg/m2/s N Y %y4-%m2-%d2T%h2:00:00 none none Br2_TOTAL ./HcoDir/OFFLINE_SEASALT/${RUNDIR_OFFLINE_SEASALT_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/%y4/%m2/seasalt_${RUNDIR_OFFLINE_EMIS_LAT_RES}.%y4%m2%d2.nc #SEASALT_BrSALA kg/m2/s N Y %y4-%m2-%d2T%h2:00:00 none none BrSALA_TOTAL ./HcoDir/OFFLINE_SEASALT/${RUNDIR_OFFLINE_SEASALT_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/%y4/%m2/seasalt_${RUNDIR_OFFLINE_EMIS_LAT_RES}.%y4%m2%d2.nc #SEASALT_BrSALC kg/m2/s N Y %y4-%m2-%d2T%h2:00:00 none none BrSALC_TOTAL ./HcoDir/OFFLINE_SEASALT/${RUNDIR_OFFLINE_SEASALT_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/%y4/%m2/seasalt_${RUNDIR_OFFLINE_EMIS_LAT_RES}.%y4%m2%d2.nc # #============================================================================== # --- Offline soil NOx emissions (OFFLINE_SOILNOX) --- #============================================================================== SOILNOX_NO kg/m2/s N Y %y4-%m2-%d2T%h2:00:00 none none SOIL_NOx ./HcoDir/OFFLINE_SOILNOX/${RUNDIR_OFFLINE_SOILNOX_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/%y4/%m2/soilnox_${RUNDIR_OFFLINE_EMIS_LAT_RES}.%y4%m2%d2.nc # ############################################################################### ### ### HEMCO Extension Data (update if HEMCO_Config.rc changes) ### ############################################################################### # #============================================================================== # --- Seawater concentrations for oceanic emissions (Extension 101) --- # CH3I_SEAWATER is commented out by default in HEMCO_Config.rc #============================================================================== #CH3I_SEAWATER kg/m3 Y Y F1985-%m2-01T00:00:00 none none CH3I_OCEAN ./HcoDir/CH3I/v2014-07/ocean_ch3i.geos.4x5.nc DMS_SEAWATER kg/m3 Y Y F1985-%m2-01T00:00:00 none none DMS_OCEAN ./HcoDir/DMS/v2015-07/DMS_lana.geos.1x1.nc # ACET_SEAWATER kg/m3 N Y - none none ACET ./HcoDir/ACET/v2014-07/ACET_seawater.generic.1x1.nc # ALD2_SEAWATER kg/m3 Y Y F2006-%m2-01T00:00:00 none none ALD2 ./HcoDir/ALD2/v2017-03/ALD2_seawater.geos.2x25.nc MENO3_SEAWATER kg/m3 Y Y F2006-%m2-01T00:00:00 none none MENO3 ./HcoDir/RONO2/v2019-05/RONO2_seawater.geos.2x25.nc ETNO3_SEAWATER kg/m3 Y Y F2006-%m2-01T00:00:00 none none ETNO3 ./HcoDir/RONO2/v2019-05/RONO2_seawater.geos.2x25.nc # MOH_SEAWATER kgC/m3 N Y - none none MOH ./HcoDir/MOH/v2019-12/MOH_seawater.low.kgCm3.generic.1x1.nc # #============================================================================== # --- SOILNOX emissions (Extension 104) --- #============================================================================== DEP_RESERVOIR_DEFAULT kg/m3 N Y - none none DEP_RESERVOIR ./HcoDir/SOILNOX/v2014-07/DepReservoirDefault.nc SOILNOX_LANDK1 1 N Y - none none LANDFRAC_K01 ./HcoDir/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK2 1 N Y - none none LANDFRAC_K02 ./HcoDir/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK3 1 N Y - none none LANDFRAC_K03 ./HcoDir/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK4 1 N Y - none none LANDFRAC_K04 ./HcoDir/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK5 1 N Y - none none LANDFRAC_K05 ./HcoDir/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK6 1 N Y - none none LANDFRAC_K06 ./HcoDir/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK7 1 N Y - none none LANDFRAC_K07 ./HcoDir/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK8 1 N Y - none none LANDFRAC_K08 ./HcoDir/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK9 1 N Y - none none LANDFRAC_K09 ./HcoDir/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK10 1 N Y - none none LANDFRAC_K10 ./HcoDir/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK11 1 N Y - none none LANDFRAC_K11 ./HcoDir/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK12 1 N Y - none none LANDFRAC_K12 ./HcoDir/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK13 1 N Y - none none LANDFRAC_K13 ./HcoDir/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK14 1 N Y - none none LANDFRAC_K14 ./HcoDir/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK15 1 N Y - none none LANDFRAC_K15 ./HcoDir/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK16 1 N Y - none none LANDFRAC_K16 ./HcoDir/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK17 1 N Y - none none LANDFRAC_K17 ./HcoDir/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK18 1 N Y - none none LANDFRAC_K18 ./HcoDir/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK19 1 N Y - none none LANDFRAC_K19 ./HcoDir/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK20 1 N Y - none none LANDFRAC_K20 ./HcoDir/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK21 1 N Y - none none LANDFRAC_K21 ./HcoDir/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK22 1 N Y - none none LANDFRAC_K22 ./HcoDir/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK23 1 N Y - none none LANDFRAC_K23 ./HcoDir/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK24 1 N Y - none none LANDFRAC_K24 ./HcoDir/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc # SOILNOX_ARID 1 N Y - none none ARID ./HcoDir/SOILNOX/v2014-07/soilNOx.climate.generic.05x05.nc SOILNOX_NONARID 1 N Y - none none NON_ARID ./HcoDir/SOILNOX/v2014-07/soilNOx.climate.generic.05x05.nc # SOILNOX_FERT kg/m3 N Y 2000-%m2-%d2T00:00:00 none none FERT ./HcoDir/SOILNOX/v2014-07/soilNOx.fert_res.generic.05x05.time_corrected_for_GCHP.nc # #=========================================================================== # --- External fields needed for online DustL23M (Extension 125) --- #=========================================================================== L23M_A_bare 1 N Y %y4-01-01T00:00:00 none none LC_bare ./HcoDir/DustL23M/v2025-07/LandCover/MCD12C1.LC.%y4.0.1.nc4 L23M_A_veg 1 N Y %y4-01-01T00:00:00 none none LC_veg ./HcoDir/DustL23M/v2025-07/LandCover/MCD12C1.LC.%y4.0.1.nc4 L23M_Csah 1 N Y F2000-01-01T00:00:00 none none scale ./HcoDir/DustL23M/v2025-07/scale/DustL23_scale_025x03125_scaleSAv2.nc4 L23M_LAI 1 N Y %y4-%m2-01T00:00:00 none none LAI ./HcoDir/DustL23M/v2025-07/LandCover/XLAI_025x025_%y4_MonMean.nc4 L23M_fclay 1 N Y F2000-01-01T00:00:00 none none f_clay ./HcoDir/DustL23M/v2025-07/GSDE/GSDE_clay-sand-silt_0.1.nc4 L23M_BD kg/m3 N Y F2000-01-01T00:00:00 none none bulk_density ./HcoDir/DustL23M/v2025-07/GSDE/GSDE_clay-sand-silt_0.1.nc4 L23M_poros 1 N Y F1980-01-01T00:00:00 none none poros ./HcoDir/DustL23M/v2025-07/poros/MERRA2.const_2d_lnd_Nx.poros.nc4 L23M_roughness_r m N Y F1997-01-01T00:00:00 none none roughness_r ./HcoDir/DustL23M/v2025-07/roughness/Surf_roughness_min_rocks_1997.nc4 # #============================================================================== # --- Dust emissions using DEAD model (Extension 131) --- #============================================================================== DEAD_EF_GEO factor N Y - none none EF_GEO ./HcoDir/DUST_DEAD/v2019-06/dst_tibds.geos.2x25.nc DEAD_LF_DRY factor N Y - none none LF_DRY ./HcoDir/DUST_DEAD/v2019-06/dst_tibds.geos.2x25.nc DEAD_MF_CACO3 fraction N Y - none none MF_CaCO3 ./HcoDir/DUST_DEAD/v2019-06/dst_tibds.geos.2x25.nc DEAD_MF_CLY fraction N Y - none none MF_CLY ./HcoDir/DUST_DEAD/v2019-06/dst_tibds.geos.2x25.nc DEAD_MF_SND fraction N Y - none none MF_SND ./HcoDir/DUST_DEAD/v2019-06/dst_tibds.geos.2x25.nc DEAD_SFC_TYP count N V - none none SFC_TYP ./HcoDir/DUST_DEAD/v2019-06/dst_tibds.geos.2x25.nc # DEAD_GOC_SRC 1 N Y - none none GOC_SRC ./HcoDir/DUST_DEAD/v2019-06/GOCART_src_fn.geos.2x25.nc # DEAD_VAI 1 Y Y 1985-%m2-01T00:00:00 none none VAI ./HcoDir/DUST_DEAD/v2019-06/dst_tvbds.geos.2x25.nc # #============================================================================== # --- Sea salt emissions (Extension 107) #============================================================================== MODIS_CHLR mg_m-3 N Y F%y4-%m2-01T00:00:00 none none MODIS ./HcoDir/MODIS_CHLR/v2019-11/MODIS.CHLRv.V5.generic.025x025.%y4.nc MULTISEAICE 1 N Y F%y4-%m2-%d2T00:00:00 none none FRSEAICE ./HcoDir/MULTI_ICE/v2021-07/multiyearice.merra2.05x0625.%y4.nc # #============================================================================== # --- MEGAN biogenic emissions (Extension 108) #============================================================================== MEGAN_AEF_ISOP kgC/m2/s N Y - none none AEF_ISOPRENE ./HcoDir/MEGAN/v2020-02/MEGAN2.1_EF.geos.025x03125.nc MEGAN_AEF_MBOX kgC/m2/s N Y - none none AEF_MBO ./HcoDir/MEGAN/v2020-02/MEGAN2.1_EF.geos.025x03125.nc MEGAN_AEF_APIN kgC/m2/s N Y - none none AEF_ALPHA_PINENE ./HcoDir/MEGAN/v2020-02/MEGAN2.1_EF.geos.025x03125.nc MEGAN_AEF_BPIN kgC/m2/s N Y - none none AEF_BETA_PINENE ./HcoDir/MEGAN/v2020-02/MEGAN2.1_EF.geos.025x03125.nc MEGAN_AEF_CARE kgC/m2/s N Y - none none AEF_CARENE ./HcoDir/MEGAN/v2020-02/MEGAN2.1_EF.geos.025x03125.nc MEGAN_AEF_LIMO kgC/m2/s N Y - none none AEF_LIMONENE ./HcoDir/MEGAN/v2020-02/MEGAN2.1_EF.geos.025x03125.nc MEGAN_AEF_MYRC kgC/m2/s N Y - none none AEF_MYRCENE ./HcoDir/MEGAN/v2020-02/MEGAN2.1_EF.geos.025x03125.nc MEGAN_AEF_OCIM kgC/m2/s N Y - none none AEF_OCIMENE ./HcoDir/MEGAN/v2020-02/MEGAN2.1_EF.geos.025x03125.nc MEGAN_AEF_SABI kgC/m2/s N Y - none none AEF_SABINENE ./HcoDir/MEGAN/v2020-02/MEGAN2.1_EF.geos.025x03125.nc # CLM4_PFT_NDLF_EVGN_TMPT_TREE 1 N Y - none none PFT_NDLF_EVGN_TMPT_TREE ./HcoDir/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc CLM4_PFT_NDLF_EVGN_BORL_TREE 1 N Y - none none PFT_NDLF_EVGN_BORL_TREE ./HcoDir/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc CLM4_PFT_NDLF_DECD_BORL_TREE 1 N Y - none none PFT_NDLF_DECD_BORL_TREE ./HcoDir/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc CLM4_PFT_BDLF_EVGN_TROP_TREE 1 N Y - none none PFT_BDLF_EVGN_TROP_TREE ./HcoDir/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc CLM4_PFT_BDLF_EVGN_TMPT_TREE 1 N Y - none none PFT_BDLF_EVGN_TMPT_TREE ./HcoDir/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc CLM4_PFT_BDLF_DECD_TROP_TREE 1 N Y - none none PFT_BDLF_DECD_TROP_TREE ./HcoDir/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc CLM4_PFT_BDLF_DECD_TMPT_TREE 1 N Y - none none PFT_BDLF_DECD_TMPT_TREE ./HcoDir/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc CLM4_PFT_BDLF_DECD_BORL_TREE 1 N Y - none none PFT_BDLF_DECD_BORL_TREE ./HcoDir/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc CLM4_PFT_BDLF_EVGN_SHRB 1 N Y - none none PFT_BDLF_EVGN_SHRB ./HcoDir/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc CLM4_PFT_BDLF_DECD_TMPT_SHRB 1 N Y - none none PFT_BDLF_DECD_TMPT_SHRB ./HcoDir/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc CLM4_PFT_BDLF_DECD_BORL_SHRB 1 N Y - none none PFT_BDLF_DECD_BORL_SHRB ./HcoDir/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc # CLM4_PFT_BARE 1 N Y - none none PFT_BARE ./HcoDir/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc CLM4_PFT_C3_ARCT_GRSS 1 N Y - none none PFT_C3_ARCT_GRSS ./HcoDir/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc CLM4_PFT_C3_NARC_GRSS 1 N Y - none none PFT_C3_NARC_GRSS ./HcoDir/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc CLM4_PFT_C4_GRSS 1 N Y - none none PFT_C4_GRSS ./HcoDir/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc CLM4_PFT_CROP 1 N Y - none none PFT_CROP ./HcoDir/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc # MEGAN_ORVC 1 Y Y F1990-%m2-01T00:00:00 none none OCPI ./HcoDir/SOA/v2014-07/NVOC.geos.1x1.nc # #============================================================================== # --- GFED biomass burning emissions (Extension 111) #============================================================================== # --- GFED4 --- GFED_TEMP kgDM/m2/s N Y F%y4-%m2-01T00:00:00 none none DM_TEMP ./HcoDir/GFED4/v2023-03/%y4/GFED4_gen.025x025.%y4%m2.nc GFED_AGRI kgDM/m2/s N Y F%y4-%m2-01T00:00:00 none none DM_AGRI ./HcoDir/GFED4/v2023-03/%y4/GFED4_gen.025x025.%y4%m2.nc GFED_DEFO kgDM/m2/s N Y F%y4-%m2-01T00:00:00 none none DM_DEFO ./HcoDir/GFED4/v2023-03/%y4/GFED4_gen.025x025.%y4%m2.nc GFED_BORF kgDM/m2/s N Y F%y4-%m2-01T00:00:00 none none DM_BORF ./HcoDir/GFED4/v2023-03/%y4/GFED4_gen.025x025.%y4%m2.nc GFED_PEAT kgDM/m2/s N Y F%y4-%m2-01T00:00:00 none none DM_PEAT ./HcoDir/GFED4/v2023-03/%y4/GFED4_gen.025x025.%y4%m2.nc GFED_SAVA kgDM/m2/s N Y F%y4-%m2-01T00:00:00 none none DM_SAVA ./HcoDir/GFED4/v2023-03/%y4/GFED4_gen.025x025.%y4%m2.nc # # --- GFED_daily --- GFED_FRAC_DAY 1 N Y %y4-%m2-%d2T00:00:00 none none GFED_FRACDAY ./HcoDir/GFED4/v2023-03/%y4/GFED4_dailyfrac_gen.025x025.%y4%m2.nc # # --- GFED_3hourly --- GFED_FRAC_3HOUR 1 N Y %y4-%m2-01T%h2:00:00 none none GFED_FRAC3HR ./HcoDir/GFED4/v2023-03/%y4/GFED4_3hrfrac_gen.025x025.%y4%m2.nc # #============================================================================== # --- FINN v2.5 biomass burning emissions (Extension 114) # FINN is off by default in HEMCO_Config.rc; fill in this section if turning on #============================================================================== # ############################################################################### ### ### HEMCO Non-Emissions Data (update if HEMCO_Config.rc changes) ### ############################################################################### # #============================================================================== # --- Time zones (offset to UTC) --- #============================================================================== TIMEZONES count Y V 2017-%m2-01T00:00:00 none none UTC_OFFSET ./HcoDir/TIMEZONES/v2024-02/timezones_vohra_2017_0.1x0.1.nc # #============================================================================== # --- UV albedo (UVALBEDO) --- #============================================================================== UV_ALBEDO 1 Y Y 1985-%m2-01T00:00:00 none none UVALBD ./HcoDir/UVALBEDO/v2019-06/uvalbedo.geos.2x25.nc # #============================================================================== # --- Stratospheric Bry data from the CCM model (CCM_STRAT_Bry) --- #============================================================================== GEOSCCM_Br_DAY pptv Y Y F2007-%m2-01T00:00:00 none none BR ./HcoDir/STRAT/v2015-01/Bry/GEOSCCM_Bry.2007%m2.day.nc GEOSCCM_Br2_DAY pptv Y Y F2007-%m2-01T00:00:00 none none BRCL ./HcoDir/STRAT/v2015-01/Bry/GEOSCCM_Bry.2007%m2.day.nc GEOSCCM_BrO_DAY pptv Y Y F2007-%m2-01T00:00:00 none none BRO ./HcoDir/STRAT/v2015-01/Bry/GEOSCCM_Bry.2007%m2.day.nc GEOSCCM_BrNO3_DAY pptv Y Y F2007-%m2-01T00:00:00 none none BRONO2 ./HcoDir/STRAT/v2015-01/Bry/GEOSCCM_Bry.2007%m2.day.nc GEOSCCM_HBr_DAY pptv Y Y F2007-%m2-01T00:00:00 none none HBR ./HcoDir/STRAT/v2015-01/Bry/GEOSCCM_Bry.2007%m2.day.nc GEOSCCM_HOBr_DAY pptv Y Y F2007-%m2-01T00:00:00 none none HOBR ./HcoDir/STRAT/v2015-01/Bry/GEOSCCM_Bry.2007%m2.day.nc GEOSCCM_Br_NIGHT pptv Y Y F2007-%m2-01T00:00:00 none none BR ./HcoDir/STRAT/v2015-01/Bry/GEOSCCM_Bry.2007%m2.night.nc GEOSCCM_Br2_NIGHT pptv Y Y F2007-%m2-01T00:00:00 none none BRCL ./HcoDir/STRAT/v2015-01/Bry/GEOSCCM_Bry.2007%m2.night.nc GEOSCCM_BrO_NIGHT pptv Y Y F2007-%m2-01T00:00:00 none none BRO ./HcoDir/STRAT/v2015-01/Bry/GEOSCCM_Bry.2007%m2.night.nc GEOSCCM_BrNO3_NIGHT pptv Y Y F2007-%m2-01T00:00:00 none none BRONO2 ./HcoDir/STRAT/v2015-01/Bry/GEOSCCM_Bry.2007%m2.night.nc GEOSCCM_HBr_NIGHT pptv Y Y F2007-%m2-01T00:00:00 none none HBR ./HcoDir/STRAT/v2015-01/Bry/GEOSCCM_Bry.2007%m2.night.nc GEOSCCM_HOBr_NIGHT pptv Y Y F2007-%m2-01T00:00:00 none none HOBR ./HcoDir/STRAT/v2015-01/Bry/GEOSCCM_Bry.2007%m2.night.nc # #============================================================================== #--- Archived GMI OH concentrations (GMI_OH) --- #============================================================================== GMI_OH v/v Y N 2005-%m2-01T00:00:00 none none species ./HcoDir/GMI/v2015-02/gmi.clim.OH.geos5.2x25.nc # #============================================================================== #--- GMI chemistry: prod/loss rates (GMI_PROD_LOSS) --- #============================================================================== GMI_LOSS_A3O2 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.A3O2.geos5.2x25.nc GMI_PROD_A3O2 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.A3O2.geos5.2x25.nc GMI_LOSS_ACET s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.ACET.geos5.2x25.nc GMI_PROD_ACET v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.ACET.geos5.2x25.nc GMI_LOSS_ACTA s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.ACTA.geos5.2x25.nc GMI_PROD_ACTA v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.ACTA.geos5.2x25.nc GMI_LOSS_ALD2 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.ALD2.geos5.2x25.nc GMI_PROD_ALD2 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.ALD2.geos5.2x25.nc GMI_LOSS_ALK4 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.ALK4.geos5.2x25.nc GMI_PROD_ALK4 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.ALK4.geos5.2x25.nc GMI_LOSS_ATO2 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.ATO2.geos5.2x25.nc GMI_PROD_ATO2 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.ATO2.geos5.2x25.nc GMI_LOSS_B3O2 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.B3O2.geos5.2x25.nc GMI_PROD_B3O2 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.B3O2.geos5.2x25.nc GMI_LOSS_Br s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.Br.geos5.2x25.nc GMI_PROD_Br v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.Br.geos5.2x25.nc GMI_LOSS_BrCl s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.BrCl.geos5.2x25.nc GMI_PROD_BrCl v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.BrCl.geos5.2x25.nc GMI_LOSS_BrO s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.BrO.geos5.2x25.nc GMI_PROD_BrO v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.BrO.geos5.2x25.nc GMI_LOSS_BrNO3 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.BrONO2.geos5.2x25.nc GMI_PROD_BrNO3 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.BrONO2.geos5.2x25.nc GMI_LOSS_C2H6 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.C2H6.geos5.2x25.nc GMI_PROD_C2H6 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.C2H6.geos5.2x25.nc GMI_LOSS_C3H8 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.C3H8.geos5.2x25.nc GMI_PROD_C3H8 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.C3H8.geos5.2x25.nc GMI_LOSS_CCl4 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.CCl4.geos5.2x25.nc GMI_PROD_CCl4 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.CCl4.geos5.2x25.nc GMI_LOSS_H1202 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.CF2Br2.geos5.2x25.nc GMI_PROD_H1202 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.CF2Br2.geos5.2x25.nc GMI_LOSS_CFC12 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.CF2Cl2.geos5.2x25.nc GMI_PROD_CFC12 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.CF2Cl2.geos5.2x25.nc GMI_LOSS_H1211 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.CF2ClBr.geos5.2x25.nc GMI_PROD_H1211 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.CF2ClBr.geos5.2x25.nc GMI_LOSS_H1311 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.CF3Br.geos5.2x25.nc GMI_PROD_H1311 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.CF3Br.geos5.2x25.nc GMI_LOSS_CFC113 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.CFC113.geos5.2x25.nc GMI_PROD_CFC113 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.CFC113.geos5.2x25.nc GMI_LOSS_CFC114 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.CFC114.geos5.2x25.nc GMI_PROD_CFC114 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.CFC114.geos5.2x25.nc GMI_LOSS_CFC115 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.CFC115.geos5.2x25.nc GMI_PROD_CFC115 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.CFC115.geos5.2x25.nc GMI_LOSS_CFC11 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.CFCl3.geos5.2x25.nc GMI_PROD_CFC11 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.CFCl3.geos5.2x25.nc GMI_LOSS_CH2O s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.CH2O.geos5.2x25.nc GMI_PROD_CH2O v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.CH2O.geos5.2x25.nc GMI_LOSS_CH3Br s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.CH3Br.geos5.2x25.nc GMI_PROD_CH3Br v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.CH3Br.geos5.2x25.nc # GMI_LOSS_CH3CCl3 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.CH3CCl3.geos5.2x25.nc GMI_PROD_CH3CCl3 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.CH3CCl3.geos5.2x25.nc # GMI_LOSS_CH3Cl s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.CH3Cl.geos5.2x25.nc GMI_PROD_CH3Cl v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.CH3Cl.geos5.2x25.nc GMI_LOSS_CH4 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.CH4.geos5.2x25.nc GMI_PROD_CH4 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.CH4.geos5.2x25.nc GMI_LOSS_CO s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.CO.geos5.2x25.nc GMI_PROD_CO v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.CO.geos5.2x25.nc GMI_LOSS_Cl s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.Cl.geos5.2x25.nc GMI_PROD_Cl v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.Cl.geos5.2x25.nc GMI_LOSS_Cl2 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.Cl2.geos5.2x25.nc GMI_PROD_Cl2 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.Cl2.geos5.2x25.nc GMI_LOSS_Cl2O2 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.Cl2O2.geos5.2x25.nc GMI_PROD_Cl2O2 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.Cl2O2.geos5.2x25.nc GMI_LOSS_ClO s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.ClO.geos5.2x25.nc GMI_PROD_ClO v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.ClO.geos5.2x25.nc # GMI_LOSS_ClONO2 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.ClONO2.geos5.2x25.nc GMI_PROD_ClONO2 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.ClONO2.geos5.2x25.nc # GMI_LOSS_EOH s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.EOH.geos5.2x25.nc GMI_PROD_EOH v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.EOH.geos5.2x25.nc GMI_LOSS_ETO2 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.ETO2.geos5.2x25.nc GMI_PROD_ETO2 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.ETO2.geos5.2x25.nc GMI_LOSS_ETP s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.ETP.geos5.2x25.nc GMI_PROD_ETP v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.ETP.geos5.2x25.nc GMI_LOSS_GCO3 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.GCO3.geos5.2x25.nc GMI_PROD_GCO3 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.GCO3.geos5.2x25.nc GMI_LOSS_GLYC s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.GLYC.geos5.2x25.nc GMI_PROD_GLYC v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.GLYC.geos5.2x25.nc GMI_LOSS_GLYX s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.GLYX.geos5.2x25.nc GMI_PROD_GLYX v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.GLYX.geos5.2x25.nc GMI_LOSS_GP s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.GP.geos5.2x25.nc GMI_PROD_GP v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.GP.geos5.2x25.nc GMI_LOSS_GPAN s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.GPAN.geos5.2x25.nc GMI_PROD_GPAN v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.GPAN.geos5.2x25.nc GMI_LOSS_H s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.H.geos5.2x25.nc GMI_PROD_H v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.H.geos5.2x25.nc GMI_LOSS_H2 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.H2.geos5.2x25.nc GMI_PROD_H2 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.H2.geos5.2x25.nc GMI_LOSS_H2402 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.H2402.geos5.2x25.nc GMI_PROD_H2402 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.H2402.geos5.2x25.nc GMI_LOSS_H2O s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.H2O.geos5.2x25.nc GMI_PROD_H2O v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.H2O.geos5.2x25.nc GMI_LOSS_H2O2 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.H2O2.geos5.2x25.nc GMI_PROD_H2O2 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.H2O2.geos5.2x25.nc GMI_LOSS_HAC s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.HAC.geos5.2x25.nc GMI_PROD_HAC v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.HAC.geos5.2x25.nc GMI_LOSS_HBr s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.HBr.geos5.2x25.nc GMI_PROD_HBr v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.HBr.geos5.2x25.nc # GMI_LOSS_HCFC141b s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.HCFC141b.geos5.2x25.nc GMI_PROD_HCFC141b v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.HCFC141b.geos5.2x25.nc GMI_LOSS_HCFC142b s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.HCFC142b.geos5.2x25.nc GMI_PROD_HCFC142b v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.HCFC142b.geos5.2x25.nc # GMI_LOSS_HCFC22 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.HCFC22.geos5.2x25.nc GMI_PROD_HCFC22 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.HCFC22.geos5.2x25.nc # GMI_LOSS_HCOOH s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.HCOOH.geos5.2x25.20170108.nc GMI_PROD_HCOOH v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.HCOOH.geos5.2x25.20170108.nc # GMI_LOSS_HCl s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.HCl.geos5.2x25.nc GMI_PROD_HCl v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.HCl.geos5.2x25.nc GMI_LOSS_HNO2 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.HNO2.geos5.2x25.nc GMI_PROD_HNO2 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.HNO2.geos5.2x25.nc GMI_LOSS_HNO3 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.HNO3.geos5.2x25.nc GMI_PROD_HNO3 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.HNO3.geos5.2x25.nc GMI_LOSS_HNO4 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.HNO4.geos5.2x25.nc GMI_PROD_HNO4 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.HNO4.geos5.2x25.nc GMI_LOSS_HO2 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.HO2.geos5.2x25.nc GMI_PROD_HO2 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.HO2.geos5.2x25.nc GMI_LOSS_HOBr s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.HOBr.geos5.2x25.nc GMI_PROD_HOBr v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.HOBr.geos5.2x25.nc GMI_LOSS_HOCl s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.HOCl.geos5.2x25.nc GMI_PROD_HOCl v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.HOCl.geos5.2x25.nc GMI_LOSS_IALD s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.IALD.geos5.2x25.nc GMI_PROD_IALD v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.IALD.geos5.2x25.nc GMI_LOSS_IAO2 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.IAO2.geos5.2x25.nc GMI_PROD_IAO2 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.IAO2.geos5.2x25.nc GMI_LOSS_IAP s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.IAP.geos5.2x25.nc GMI_PROD_IAP v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.IAP.geos5.2x25.nc GMI_LOSS_INO2 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.INO2.geos5.2x25.nc GMI_PROD_INO2 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.INO2.geos5.2x25.nc GMI_LOSS_INPN s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.INPN.geos5.2x25.nc GMI_PROD_INPN v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.INPN.geos5.2x25.nc GMI_LOSS_ISN1 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.ISN1.geos5.2x25.nc GMI_PROD_ISN1 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.ISN1.geos5.2x25.nc GMI_LOSS_ISNP s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.ISNP.geos5.2x25.nc GMI_PROD_ISNP v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.ISNP.geos5.2x25.nc GMI_LOSS_ISOP s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.ISOP.geos5.2x25.nc GMI_PROD_ISOP v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.ISOP.geos5.2x25.nc GMI_LOSS_KO2 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.KO2.geos5.2x25.nc GMI_PROD_KO2 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.KO2.geos5.2x25.nc GMI_LOSS_MACR s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.MACR.geos5.2x25.nc GMI_PROD_MACR v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.MACR.geos5.2x25.nc GMI_LOSS_MAN2 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.MAN2.geos5.2x25.nc GMI_PROD_MAN2 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.MAN2.geos5.2x25.nc GMI_LOSS_MAO3 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.MAO3.geos5.2x25.nc GMI_PROD_MAO3 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.MAO3.geos5.2x25.nc GMI_LOSS_MAOP s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.MAOP.geos5.2x25.nc GMI_PROD_MAOP v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.MAOP.geos5.2x25.nc GMI_LOSS_MAP s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.MAP.geos5.2x25.nc GMI_PROD_MAP v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.MAP.geos5.2x25.nc GMI_LOSS_MCO3 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.MCO3.geos5.2x25.nc GMI_PROD_MCO3 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.MCO3.geos5.2x25.nc GMI_LOSS_MEK s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.MEK.geos5.2x25.nc GMI_PROD_MEK v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.MEK.geos5.2x25.nc GMI_LOSS_MGLY s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.MGLY.geos5.2x25.nc GMI_PROD_MGLY v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.MGLY.geos5.2x25.nc GMI_LOSS_MO2 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.MO2.geos5.2x25.nc GMI_PROD_MO2 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.MO2.geos5.2x25.nc GMI_LOSS_MOH s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.MOH.geos5.2x25.nc GMI_PROD_MOH v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.MOH.geos5.2x25.nc GMI_LOSS_MP s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.MP.geos5.2x25.nc GMI_PROD_MP v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.MP.geos5.2x25.nc GMI_LOSS_MRO2 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.MRO2.geos5.2x25.nc GMI_PROD_MRO2 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.MRO2.geos5.2x25.nc GMI_LOSS_MRP s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.MRP.geos5.2x25.nc GMI_PROD_MRP v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.MRP.geos5.2x25.nc GMI_LOSS_MVK s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.MVK.geos5.2x25.nc GMI_PROD_MVK v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.MVK.geos5.2x25.nc GMI_LOSS_MVN2 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.MVN2.geos5.2x25.nc GMI_PROD_MVN2 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.MVN2.geos5.2x25.nc GMI_LOSS_N s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.N.geos5.2x25.nc GMI_PROD_N v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.N.geos5.2x25.nc GMI_LOSS_N2O s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.N2O.geos5.2x25.nc GMI_PROD_N2O v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.N2O.geos5.2x25.nc GMI_LOSS_N2O5 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.N2O5.geos5.2x25.nc GMI_PROD_N2O5 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.N2O5.geos5.2x25.nc GMI_LOSS_NO s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.NO.geos5.2x25.nc GMI_PROD_NO v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.NO.geos5.2x25.nc GMI_LOSS_NO2 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.NO2.geos5.2x25.nc GMI_PROD_NO2 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.NO2.geos5.2x25.nc GMI_LOSS_NO3 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.NO3.geos5.2x25.nc GMI_PROD_NO3 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.NO3.geos5.2x25.nc GMI_LOSS_NOx s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.NOx.geos5.2x25.nc GMI_PROD_NOx v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.NOx.geos5.2x25.nc GMI_LOSS_O s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.O.geos5.2x25.nc GMI_PROD_O v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.O.geos5.2x25.nc GMI_LOSS_O1D s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.O1D.geos5.2x25.nc GMI_PROD_O1D v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.O1D.geos5.2x25.nc GMI_LOSS_O3 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.O3.geos5.2x25.nc GMI_PROD_O3 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.O3.geos5.2x25.nc GMI_LOSS_OClO s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.OClO.geos5.2x25.nc GMI_PROD_OClO v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.OClO.geos5.2x25.nc GMI_LOSS_OH s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.OH.geos5.2x25.nc GMI_PROD_OH v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.OH.geos5.2x25.nc GMI_LOSS_Ox s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.Ox.geos5.2x25.nc GMI_PROD_Ox v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.Ox.geos5.2x25.nc GMI_LOSS_PAN s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.PAN.geos5.2x25.nc GMI_PROD_PAN v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.PAN.geos5.2x25.nc GMI_LOSS_NPMN s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.NPMN.geos5.2x25.nc GMI_PROD_NPMN v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.NPMN.geos5.2x25.nc GMI_LOSS_IPMN s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.IPMN.geos5.2x25.nc GMI_PROD_IPMN v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.IPMN.geos5.2x25.nc GMI_LOSS_PO2 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.PO2.geos5.2x25.nc GMI_PROD_PO2 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.PO2.geos5.2x25.nc GMI_LOSS_PP s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.PP.geos5.2x25.nc GMI_PROD_PP v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.PP.geos5.2x25.nc GMI_LOSS_PPN s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.PPN.geos5.2x25.nc GMI_PROD_PPN v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.PPN.geos5.2x25.nc GMI_LOSS_PRN1 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.PRN1.geos5.2x25.nc GMI_PROD_PRN1 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.PRN1.geos5.2x25.nc GMI_LOSS_PRPE s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.PRPE.geos5.2x25.nc GMI_PROD_PRPE v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.PRPE.geos5.2x25.nc GMI_LOSS_PRPN s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.PRPN.geos5.2x25.nc GMI_PROD_PRPN v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.PRPN.geos5.2x25.nc GMI_LOSS_R4N1 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.R4N1.geos5.2x25.nc GMI_PROD_R4N1 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.R4N1.geos5.2x25.nc GMI_LOSS_R4N2 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.R4N2.geos5.2x25.nc GMI_PROD_R4N2 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.R4N2.geos5.2x25.nc GMI_LOSS_R4O2 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.R4O2.geos5.2x25.nc GMI_PROD_R4O2 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.R4O2.geos5.2x25.nc GMI_LOSS_R4P s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.R4P.geos5.2x25.nc GMI_PROD_R4P v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.R4P.geos5.2x25.nc GMI_LOSS_RA3P s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.RA3P.geos5.2x25.nc GMI_PROD_RA3P v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.RA3P.geos5.2x25.nc GMI_LOSS_RB3P s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.RB3P.geos5.2x25.nc GMI_PROD_RB3P v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.RB3P.geos5.2x25.nc GMI_LOSS_RCHO s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.RCHO.geos5.2x25.nc GMI_PROD_RCHO v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.RCHO.geos5.2x25.nc GMI_LOSS_RCO3 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.RCO3.geos5.2x25.nc GMI_PROD_RCO3 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.RCO3.geos5.2x25.nc # GMI_LOSS_RCOOH s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.RCOOH.geos5.2x25.nc GMI_PROD_RCOOH v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.RCOOH.geos5.2x25.nc # GMI_LOSS_RIO1 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.RIO1.geos5.2x25.nc GMI_PROD_RIO1 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.RIO1.geos5.2x25.nc GMI_LOSS_RIPA s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.RIPA.geos5.2x25.nc GMI_PROD_RIPA v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.RIPA.geos5.2x25.nc GMI_LOSS_RIPB s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.RIPB.geos5.2x25.nc GMI_PROD_RIPB v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.RIPB.geos5.2x25.nc GMI_LOSS_RIPD s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.RIPD.geos5.2x25.nc GMI_PROD_RIPD v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.RIPD.geos5.2x25.nc GMI_LOSS_ROH s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.ROH.geos5.2x25.nc GMI_PROD_ROH v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.ROH.geos5.2x25.nc GMI_LOSS_RP s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.RP.geos5.2x25.nc GMI_PROD_RP v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.RP.geos5.2x25.nc GMI_LOSS_VRO2 s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.VRO2.geos5.2x25.nc GMI_PROD_VRO2 v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.VRO2.geos5.2x25.nc GMI_LOSS_VRP s-1 Y Y F2000-%m2-01T00:00:00 none none loss ./HcoDir/GMI/v2015-02/gmi.clim.VRP.geos5.2x25.nc GMI_PROD_VRP v/v/s Y Y F2000-%m2-01T00:00:00 none none prod ./HcoDir/GMI/v2015-02/gmi.clim.VRP.geos5.2x25.nc # #============================================================================== # --- Spatially varying OM/OC (OMOC_RATIO) --- #============================================================================== #OMOC_DJF 1 N Y - none none OMOC ./HcoDir/OMOC/v2018-01/OMOC.DJF.01x01.nc #OMOC_MAM 1 N Y - none none OMOC ./HcoDir/OMOC/v2018-01/OMOC.MAM.01x01.nc #OMOC_JJA 1 N Y - none none OMOC ./HcoDir/OMOC/v2018-01/OMOC.JJA.01x01.nc #OMOC_SON 1 N Y - none none OMOC ./HcoDir/OMOC/v2018-01/OMOC.SON.01x01.nc # #============================================================================== # --- NOAA GMD monthly mean surface CH4 (GMD_SFC_CH4) --- #============================================================================== NOAA_GMD_CH4 ppbv N Y F%y4-%m2-01T00:00:00 none none SFC_CH4 ./HcoDir/NOAA_GMD/v2023-10/monthly.gridded.surface.methane.1975-2022.1x1.nc # #============================================================================== # --- CMIP6 monthly mean surface CH4 (pre 1970) (CMIP6_SFC_CH4) --- #============================================================================== #CMIP6_Sfc_CH4 ppbv N Y F%y4-%m2-01T00:00:00 none none CH4 ./HcoDir/CMIP6/v2020-03/2x2.5/CMIP6_GHG_surface_VMR_%y4.2x25.nc # #============================================================================== # --- RRTMG (RRTMG) --- #============================================================================== MODIS_ALBDFNIR 1 N Y F2002-%m2-%d2T00:00:00 none none ALBDFNIR ./HcoDir/RRTMG/v2018-11/modis_surf_albedo.2x25.nc MODIS_ALBDFVIS 1 N Y F2002-%m2-%d2T00:00:00 none none ALBDFVIS ./HcoDir/RRTMG/v2018-11/modis_surf_albedo.2x25.nc MODIS_ALBDRNIR 1 N Y F2002-%m2-%d2T00:00:00 none none ALBDRNIR ./HcoDir/RRTMG/v2018-11/modis_surf_albedo.2x25.nc MODIS_ALBDRVIS 1 N Y F2002-%m2-%d2T00:00:00 none none ALBDRVIS ./HcoDir/RRTMG/v2018-11/modis_surf_albedo.2x25.nc # MODIS_EMISSIVITY_01 1 N Y F2002-%m2-%d2T00:00:00 none none RTEMISS_band01 ./HcoDir/RRTMG/v2018-11/modis_emissivity.2x25.nc MODIS_EMISSIVITY_02 1 N Y F2002-%m2-%d2T00:00:00 none none RTEMISS_band02 ./HcoDir/RRTMG/v2018-11/modis_emissivity.2x25.nc MODIS_EMISSIVITY_03 1 N Y F2002-%m2-%d2T00:00:00 none none RTEMISS_band03 ./HcoDir/RRTMG/v2018-11/modis_emissivity.2x25.nc MODIS_EMISSIVITY_04 1 N Y F2002-%m2-%d2T00:00:00 none none RTEMISS_band04 ./HcoDir/RRTMG/v2018-11/modis_emissivity.2x25.nc MODIS_EMISSIVITY_05 1 N Y F2002-%m2-%d2T00:00:00 none none RTEMISS_band05 ./HcoDir/RRTMG/v2018-11/modis_emissivity.2x25.nc MODIS_EMISSIVITY_06 1 N Y F2002-%m2-%d2T00:00:00 none none RTEMISS_band06 ./HcoDir/RRTMG/v2018-11/modis_emissivity.2x25.nc MODIS_EMISSIVITY_07 1 N Y F2002-%m2-%d2T00:00:00 none none RTEMISS_band07 ./HcoDir/RRTMG/v2018-11/modis_emissivity.2x25.nc MODIS_EMISSIVITY_08 1 N Y F2002-%m2-%d2T00:00:00 none none RTEMISS_band08 ./HcoDir/RRTMG/v2018-11/modis_emissivity.2x25.nc MODIS_EMISSIVITY_09 1 N Y F2002-%m2-%d2T00:00:00 none none RTEMISS_band09 ./HcoDir/RRTMG/v2018-11/modis_emissivity.2x25.nc MODIS_EMISSIVITY_10 1 N Y F2002-%m2-%d2T00:00:00 none none RTEMISS_band10 ./HcoDir/RRTMG/v2018-11/modis_emissivity.2x25.nc MODIS_EMISSIVITY_11 1 N Y F2002-%m2-%d2T00:00:00 none none RTEMISS_band11 ./HcoDir/RRTMG/v2018-11/modis_emissivity.2x25.nc MODIS_EMISSIVITY_12 1 N Y F2002-%m2-%d2T00:00:00 none none RTEMISS_band12 ./HcoDir/RRTMG/v2018-11/modis_emissivity.2x25.nc MODIS_EMISSIVITY_13 1 N Y F2002-%m2-%d2T00:00:00 none none RTEMISS_band13 ./HcoDir/RRTMG/v2018-11/modis_emissivity.2x25.nc MODIS_EMISSIVITY_14 1 N Y F2002-%m2-%d2T00:00:00 none none RTEMISS_band14 ./HcoDir/RRTMG/v2018-11/modis_emissivity.2x25.nc MODIS_EMISSIVITY_15 1 N Y F2002-%m2-%d2T00:00:00 none none RTEMISS_band15 ./HcoDir/RRTMG/v2018-11/modis_emissivity.2x25.nc MODIS_EMISSIVITY_16 1 N Y F2002-%m2-%d2T00:00:00 none none RTEMISS_band16 ./HcoDir/RRTMG/v2018-11/modis_emissivity.2x25.nc # TES_CLIM_CCL4 ppbv N Y - none none CCl4 ./HcoDir/RRTMG/v2018-11/species_clim_profiles.2x25.nc TES_CLIM_CFC11 ppbv N Y - none none CFC11 ./HcoDir/RRTMG/v2018-11/species_clim_profiles.2x25.nc TES_CLIM_CFC12 ppbv N Y - none none CFC12 ./HcoDir/RRTMG/v2018-11/species_clim_profiles.2x25.nc TES_CLIM_CFC22 ppbv N Y - none none CFC22 ./HcoDir/RRTMG/v2018-11/species_clim_profiles.2x25.nc TES_CLIM_CH4 ppbv N Y - none none CH4 ./HcoDir/RRTMG/v2018-11/species_clim_profiles.2x25.nc TES_CLIM_N2O ppbv N Y - none none N2O ./HcoDir/RRTMG/v2018-11/species_clim_profiles.2x25.nc # # Dynamical heating rates from a previous reference (baseline) simulation DynHeating Kday-1 N N F%y4-%m2-%d2T%h2:00:00 none none DynHeating ./Heating_Baseline/GEOSChem.DynHeating.%y4%m2%d2_%h2%n2z.nc4 2000-01-01T00:00:00P03:00 # #============================================================================== # --- Surface VMR (SfcVMR) --- #============================================================================== SfcVMR_CH3Cl ppbv N Y F%y4-%m2-01T00:00:00 none none CH3Cl ./HcoDir/CMIP6/v2020-03/2x2.5/CMIP6_GHG_surface_VMR_%y4.2x25.nc SfcVMR_CH2Cl2 ppbv N Y F%y4-%m2-01T00:00:00 none none CH2Cl2 ./HcoDir/CMIP6/v2020-03/2x2.5/CMIP6_GHG_surface_VMR_%y4.2x25.nc SfcVMR_CHCl3 ppbv N Y F%y4-%m2-01T00:00:00 none none CHCl3 ./HcoDir/CMIP6/v2020-03/2x2.5/CMIP6_GHG_surface_VMR_%y4.2x25.nc SfcVMR_CH3Br ppbv N Y F%y4-%m2-01T00:00:00 none none CH3Br ./HcoDir/CMIP6/v2020-03/2x2.5/CMIP6_GHG_surface_VMR_%y4.2x25.nc # SfcVMR_CCl4 v/v N Y F%y4-%m2-01T00:00:00 none none CCl4 ./HcoDir/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_%y4.2x25.nc SfcVMR_CFC113 v/v N Y F%y4-%m2-01T00:00:00 none none CFC113 ./HcoDir/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_%y4.2x25.nc SfcVMR_CFC114 v/v N Y F%y4-%m2-01T00:00:00 none none CFC114 ./HcoDir/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_%y4.2x25.nc SfcVMR_CFC115 v/v N Y F%y4-%m2-01T00:00:00 none none CFC115 ./HcoDir/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_%y4.2x25.nc SfcVMR_CFC11 v/v N Y F%y4-%m2-01T00:00:00 none none CFC11 ./HcoDir/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_%y4.2x25.nc SfcVMR_CFC12 v/v N Y F%y4-%m2-01T00:00:00 none none CFC12 ./HcoDir/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_%y4.2x25.nc SfcVMR_CH3CCl3 v/v N Y F%y4-%m2-01T00:00:00 none none CH3CCl3 ./HcoDir/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_%y4.2x25.nc SfcVMR_H1211 v/v N Y F%y4-%m2-01T00:00:00 none none H1211 ./HcoDir/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_%y4.2x25.nc SfcVMR_H1301 v/v N Y F%y4-%m2-01T00:00:00 none none H1301 ./HcoDir/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_%y4.2x25.nc SfcVMR_H2402 v/v N Y F%y4-%m2-01T00:00:00 none none C2BR2F4 ./HcoDir/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_%y4.2x25.nc SfcVMR_HCFC141b v/v N Y F%y4-%m2-01T00:00:00 none none HCFC141b ./HcoDir/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_%y4.2x25.nc SfcVMR_HCFC142b v/v N Y F%y4-%m2-01T00:00:00 none none HCFC142b ./HcoDir/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_%y4.2x25.nc SfcVMR_HCFC22 v/v N Y F%y4-%m2-01T00:00:00 none none HCFC22 ./HcoDir/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_%y4.2x25.nc SfcVMR_N2O v/v N Y F%y4-%m2-01T00:00:00 none none N2O ./HcoDir/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_%y4.2x25.nc # SfcVMR_OCS ppbv N Y - none none OCS ./HcoDir/SfcFix/v2019-12/surface_VMR_OCS.2x25.nc SfcVMR_H2 ppbv N Y - none none H2 ./HcoDir/SfcFix/v2019-12/surface_VMR_H2.2x25.nc # #============================================================================== # --- Oceanic ozone deposition --- #============================================================================== surf_salinity 1 N Y - none none s_mn ./HcoDir/OCEAN_O3_DRYDEP/v2020-02/WOA_2013_salinity.nc # surf_iodide 1 Y Y F1970-%m2-01T00:00:00 none none Ensemble_Monthly_mean ./HcoDir/OCEAN_O3_DRYDEP/v2020-02/Oi_prj_predicted_iodide_0.125x0.125_No_Skagerrak_Just_Ensemble.nc # ############################################################################### ### ### HEMCO Scale Factors (update if HEMCO_Config.rc changes) ### ############################################################################### # #============================================================================== # --- annual scale factors --- #============================================================================== # Need DC0360xPC0181_CFnnnnx6C.bin LIQFUEL_THISYR 1 N Y F%y4-01-01T00:00:00 none none COscalar ./HcoDir/AnnualScalar/v2014-07/AnnualScalar.geos.1x1.nc LIQFUEL_1985 1 N Y F1985-01-01T00:00:00 none none COscalar ./HcoDir/AnnualScalar/v2014-07/AnnualScalar.geos.1x1.nc # #============================================================================== # --- Diurnal scale factors --- #============================================================================== EDGAR_TODNOX 1 N Y F2000-01-01T%h2:00:00 none none NOXscale ./HcoDir/EDGARv42/v2015-02/NO/EDGAR_hourly_NOxScal.nc EDGAR_TODNOX_UNDO 1 N Y F2000-01-01T%h2:00:00 none none NOXscale ./HcoDir/EDGARv42/v2015-02/NO/EDGAR_hourly_NOxScal.nc # #============================================================================== # --- Seasonal scale factors --- #============================================================================== # --- From GEIA --- GEIA_SEASON_NOX 1 Y Y F1985-%m2-01T00:00:00 none none NOXrat ./HcoDir/GEIA/v2014-07/GEIA_monthscal.generic.1x1.nc GEIA_SEASON_SO2 1 Y Y F1985-%m2-01T00:00:00 none none SO2rat ./HcoDir/GEIA/v2014-07/GEIA_monthscal.generic.1x1.nc # # --- From Bromocarbons --- BROMOCARB_SEASON 1 Y Y F2000-%m2-01T00:00:00 none none CHXBRY_scale ./HcoDir/BROMINE/v2015-02/BromoCarb_Season.nc # # --- From EDGAR 4.3.1 --- POW 1 Y Y F2010-%m2-01T00:00:00 none none POW ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc ENG 1 Y Y F2010-%m2-01T00:00:00 none none ENG ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc IND 1 Y Y F2010-%m2-01T00:00:00 none none IND ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc TRO 1 Y Y F2010-%m2-01T00:00:00 none none TRO ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc TNG 1 Y Y F2010-%m2-01T00:00:00 none none TNG ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc RCO 1 Y Y F2010-%m2-01T00:00:00 none none RCO ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc PPA 1 Y Y F2010-%m2-01T00:00:00 none none PPA ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc AGR 1 Y Y F2010-%m2-01T00:00:00 none none AGR ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc AWB 1 Y Y F2010-%m2-01T00:00:00 none none AWB ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc SOL 1 Y Y F2010-%m2-01T00:00:00 none none SOL ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc SWD 1 Y Y F2010-%m2-01T00:00:00 none none SWD ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc FFF 1 Y Y F2010-%m2-01T00:00:00 none none FFF ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc # #============================================================================== # --- NEI 2005 scale factors --- #============================================================================== NEI99_DOW_NOX 1 D N F1999-%m2-01T00:00:00 none none NOX ./HcoDir/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc NEI99_DOW_CO 1 D N F1999-%m2-01T00:00:00 none none CO ./HcoDir/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc NEI99_DOW_ALK4 1 D N F1999-%m2-01T00:00:00 none none ALK4 ./HcoDir/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc NEI99_DOW_ACET 1 D N F1999-%m2-01T00:00:00 none none ACET ./HcoDir/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc NEI99_DOW_MEK 1 D N F1999-%m2-01T00:00:00 none none MEK ./HcoDir/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc NEI99_DOW_PRPE 1 D N F1999-%m2-01T00:00:00 none none PRPE ./HcoDir/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc NEI99_DOW_C3H8 1 D N F1999-%m2-01T00:00:00 none none C3H8 ./HcoDir/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc NEI99_DOW_C2H6 1 D N F1999-%m2-01T00:00:00 none none C2H6 ./HcoDir/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc NEI99_DOW_SO2 1 D N F1999-%m2-01T00:00:00 none none SO2 ./HcoDir/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc NEI99_DOW_SO4 1 D N F1999-%m2-01T00:00:00 none none SO4 ./HcoDir/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc NEI99_DOW_MSA 1 D N F1999-%m2-01T00:00:00 none none MSA ./HcoDir/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc NEI99_DOW_BCPI 1 D N F1999-%m2-01T00:00:00 none none BCPI ./HcoDir/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc NEI99_DOW_OCPI 1 D N F1999-%m2-01T00:00:00 none none OCPI ./HcoDir/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc # #============================================================================== # --- CEDS vertical partitioning --- #============================================================================== ENERGY_LEVS 1 N Y - none none g_energy ./HcoDir/VerticalScaleFactors/v2021-05/gc_layers.nc INDUSTRY_LEVS 1 N Y - none none g_industry ./HcoDir/VerticalScaleFactors/v2021-05/gc_layers.nc SHIP_LEVS 1 N Y - none none cmv_c3 ./HcoDir/VerticalScaleFactors/v2021-05/gc_layers.nc # ############################################################################### ### ### Masks (update if HEMCO_Config.rc changes) ### ############################################################################### # #============================================================================== # Country/region masks #============================================================================== CANADA_MASK 1 N Y - none none MASK ./HcoDir/MASKS/v2018-09/Canada_mask.geos.1x1.nc CONUS_MASK 1 N Y - none none MASK ./HcoDir/MASKS/v2018-09/CONUS_Mask.01x01.nc CHINA_MASK 1 N Y - none none MASK ./HcoDir/MASKS/v2018-09/China_mask.generic.1x1.nc INDIA_MASK 1 N Y - none none MASK ./HcoDir/MASKS/v2019-05/India_mask.generic.1x1.nc AFRICA_MASK 1 N Y - none none LANDMASK ./HcoDir/MASKS/v2018-09/AF_LANDMASK.geos.05x0666.global.nc # %% DerivedExports%% # ---------|---------|--------------------------------------------| # Export | Primary |_________________ Mask _____________________| # Name | Name | Name | Expression | # ---------|---------|------------|-------------------------------| # ---------|---------|------------|-------------------------------| ${RUNDIR_MET_EXTDATA_DERIVED_EXPORTS} %% ================================================ FILE: run/GCHP/ExtData.rc.templates/ExtData.rc.tagO3 ================================================ Ext_AllowExtrap: .true. # PrimaryExports%% #--------|-------|------|------------|---------------|--------|-------|---------------------| # Export | | | |___ Refresh ___|____ Factors ___|___ External File ___| # Name | Units | Clim |Conservative| Time Template | Offset | Scale | Variable | Template | #--------|-------|------|------------|---------------|--------|-------|----------|----------| # # Notes: # Units should be in single quotes if they contain whitespace # Climatology should be Y if the file contains monthly climatology; otherwise it should be N # Conservative should be Y if units imply mass conservation dependency on regrid method (e.g. value per area) # Refresh Time Template should be: # 1. - if the file contains time-invariant constants # 2. prefixed with F if no time interpolation between data reads (F = fixed) # 3. 0 if data should be kept up-to-date at all times # 4. 0:HHMMSS if data occurs in file with frequency HHMMSS and should be updated at that frequency # 5. %y4-%m2-%d2T%h2:00:00, with any tokens replaced by appropriate constant time value, if multiple time # values are in the same file. Note that including an F prefix indicates the data should be treated # as constant until the next refresh time. Omission of the F prefix will time-interpolate between # the values. # Minimize whitespace wherever possible to avoid surpassing the ESMF read buffer character limit, # applicable only for uncommented lines. # ############################################################################### ### ### Meteorology data ### ############################################################################### ${RUNDIR_MET_EXTDATA_PRIMARY_EXPORTS} # #============================================================================== # --- Fields for lightning emissions (Extension 103) --- # Not used but included in Chem_Registry.rc import list #============================================================================== FLASH_DENS 1 N N - none none LDENS /dev/null CONV_DEPTH 1 N N - none none CTH /dev/null ############################################################################### ### ### Land data (not handled by HEMCO) ### ############################################################################### # #============================================================================== # Olson land types #============================================================================== # Use conservative fraction regridding to extract land type fraction OLSON00 1 N F;0 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON01 1 N F;1 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON02 1 N F;2 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON03 1 N F;3 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON04 1 N F;4 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON05 1 N F;5 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON06 1 N F;6 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON07 1 N F;7 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON08 1 N F;8 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON09 1 N F;9 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON10 1 N F;10 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON11 1 N F;11 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON12 1 N F;12 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON13 1 N F;13 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON14 1 N F;14 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON15 1 N F;15 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON16 1 N F;16 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON17 1 N F;17 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON18 1 N F;18 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON19 1 N F;19 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON20 1 N F;20 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON21 1 N F;21 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON22 1 N F;22 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON23 1 N F;23 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON24 1 N F;24 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON25 1 N F;25 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON26 1 N F;26 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON27 1 N F;27 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON28 1 N F;28 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON29 1 N F;29 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON30 1 N F;30 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON31 1 N F;31 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON32 1 N F;32 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON33 1 N F;33 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON34 1 N F;34 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON35 1 N F;35 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON36 1 N F;36 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON37 1 N F;37 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON38 1 N F;38 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON39 1 N F;39 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON40 1 N F;40 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON41 1 N F;41 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON42 1 N F;42 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON43 1 N F;43 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON44 1 N F;44 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON45 1 N F;45 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON46 1 N F;46 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON47 1 N F;47 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON48 1 N F;48 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON49 1 N F;49 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON50 1 N F;50 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON51 1 N F;51 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON52 1 N F;52 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON53 1 N F;53 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON54 1 N F;54 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON55 1 N F;55 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON56 1 N F;56 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON57 1 N F;57 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON58 1 N F;58 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON59 1 N F;59 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON60 1 N F;60 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON61 1 N F;61 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON62 1 N F;62 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON63 1 N F;63 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON64 1 N F;64 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON65 1 N F;65 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON66 1 N F;66 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON67 1 N F;67 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON68 1 N F;68 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON69 1 N F;69 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON70 1 N F;70 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON71 1 N F;71 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON72 1 N F;72 - none none OLSON ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc # # Alternatively read files containing land type masks. This implementation needs further testing to assess relative performance. #OLSON00 1 N Y - none none LANDTYPE00 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON01 1 N Y - none none LANDTYPE01 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON02 1 N Y - none none LANDTYPE02 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON03 1 N Y - none none LANDTYPE03 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON04 1 N Y - none none LANDTYPE04 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON05 1 N Y - none none LANDTYPE05 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON06 1 N Y - none none LANDTYPE06 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON07 1 N Y - none none LANDTYPE07 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON08 1 N Y - none none LANDTYPE08 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON09 1 N Y - none none LANDTYPE09 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON10 1 N Y - none none LANDTYPE10 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON11 1 N Y - none none LANDTYPE11 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON12 1 N Y - none none LANDTYPE12 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON13 1 N Y - none none LANDTYPE13 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON14 1 N Y - none none LANDTYPE14 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON15 1 N Y - none none LANDTYPE15 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON16 1 N Y - none none LANDTYPE16 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON17 1 N Y - none none LANDTYPE17 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON18 1 N Y - none none LANDTYPE18 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON19 1 N Y - none none LANDTYPE19 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON20 1 N Y - none none LANDTYPE20 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON21 1 N Y - none none LANDTYPE21 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON22 1 N Y - none none LANDTYPE22 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON23 1 N Y - none none LANDTYPE23 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON24 1 N Y - none none LANDTYPE24 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON25 1 N Y - none none LANDTYPE25 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON26 1 N Y - none none LANDTYPE26 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON27 1 N Y - none none LANDTYPE27 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON28 1 N Y - none none LANDTYPE28 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON29 1 N Y - none none LANDTYPE29 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON30 1 N Y - none none LANDTYPE30 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON31 1 N Y - none none LANDTYPE31 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON32 1 N Y - none none LANDTYPE32 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON33 1 N Y - none none LANDTYPE33 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON34 1 N Y - none none LANDTYPE34 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON35 1 N Y - none none LANDTYPE35 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON36 1 N Y - none none LANDTYPE36 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON37 1 N Y - none none LANDTYPE37 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON38 1 N Y - none none LANDTYPE38 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON39 1 N Y - none none LANDTYPE39 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON40 1 N Y - none none LANDTYPE40 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON41 1 N Y - none none LANDTYPE41 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON42 1 N Y - none none LANDTYPE42 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON43 1 N Y - none none LANDTYPE43 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON44 1 N Y - none none LANDTYPE44 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON45 1 N Y - none none LANDTYPE45 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON46 1 N Y - none none LANDTYPE46 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON47 1 N Y - none none LANDTYPE47 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON48 1 N Y - none none LANDTYPE48 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON49 1 N Y - none none LANDTYPE49 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON50 1 N Y - none none LANDTYPE50 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON51 1 N Y - none none LANDTYPE51 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON52 1 N Y - none none LANDTYPE52 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON53 1 N Y - none none LANDTYPE53 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON54 1 N Y - none none LANDTYPE54 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON55 1 N Y - none none LANDTYPE55 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON56 1 N Y - none none LANDTYPE56 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON57 1 N Y - none none LANDTYPE57 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON58 1 N Y - none none LANDTYPE58 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON59 1 N Y - none none LANDTYPE59 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON60 1 N Y - none none LANDTYPE60 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON61 1 N Y - none none LANDTYPE61 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON62 1 N Y - none none LANDTYPE62 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON63 1 N Y - none none LANDTYPE63 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON64 1 N Y - none none LANDTYPE64 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON65 1 N Y - none none LANDTYPE65 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON66 1 N Y - none none LANDTYPE66 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON67 1 N Y - none none LANDTYPE67 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON68 1 N Y - none none LANDTYPE68 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON69 1 N Y - none none LANDTYPE69 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON70 1 N Y - none none LANDTYPE70 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON71 1 N Y - none none LANDTYPE71 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc #OLSON72 1 N Y - none none LANDTYPE72 ./HcoDir/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc # #============================================================================== # Yuan-processed MODIS Leaf Area Index #============================================================================== # # Use file with land type stored as 3rd dimension to speed up file read XLAIMULTI cm2_cm-2 N Y %y4-%m2-%d2T00:00:00 none none XLAIMULTI ./HcoDir/Yuan_XLAI/v2021-06/Condensed_Yuan_proc_MODIS_XLAI.025x025.%y4.nc # ############################################################################### ### ### HEMCO Non-Emissions Data (update if HEMCO_Config.rc changes) ### ############################################################################### # #============================================================================== # --- Time zones (offset to UTC) --- #============================================================================== TIMEZONES count Y V 2017-%m2-01T00:00:00 none none UTC_OFFSET ./HcoDir/TIMEZONES/v2024-02/timezones_vohra_2017_0.1x0.1.nc # #============================================================================== #--- Prod/Loss rates from the fullchem simulation --- #============================================================================== O3_PROD 1 N Y F%y4-%m2-01T00:00:00 none none Prod_Ox ./HcoDir/GCClassic_Output/14.0.0/%y4/GEOSChem.ProdLoss.%y4%m201_0000z.nc4 O3_LOSS 1 N Y F%y4-%m2-01T00:00:00 none none Loss_Ox ./HcoDir/GCClassic_Output/14.0.0/%y4/GEOSChem.ProdLoss.%y4%m201_0000z.nc4 # #============================================================================== # --- Oceanic ozone deposition --- #============================================================================== surf_salinity 1 N Y - none none s_mn ./HcoDir/OCEAN_O3_DRYDEP/v2020-02/WOA_2013_salinity.nc # surf_iodide 1 Y Y F1970-%m2-01T00:00:00 none none Ensemble_Monthly_mean ./HcoDir/OCEAN_O3_DRYDEP/v2020-02/Oi_prj_predicted_iodide_0.125x0.125_No_Skagerrak_Just_Ensemble.nc # ############################################################################### ### ### HEMCO Scale Factors (update if HEMCO_Config.rc changes) ### ############################################################################### ############################################################################### ### ### Masks (update if HEMCO_Config.rc changes) ### ############################################################################### %% DerivedExports%% # ---------|---------|--------------------------------------------| # Export | Primary |_________________ Mask _____________________| # Name | Name | Name | Expression | # ---------|---------|------------|-------------------------------| # ---------|---------|------------|-------------------------------| %% ================================================ FILE: run/GCHP/ExtData2G.yaml.templates/extdata.yaml.TransportTracers ================================================ ###################################################################### Collections: ###################################################################### #------------------------------------------------------------------- # Meteorology collections #------------------------------------------------------------------- MERRA2.A3dyn.05x0625.nc4: template: ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A3dyn.05x0625.nc4 MERRA2.I3.05x0625.nc4: template: ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.I3.05x0625.nc4 MERRA2.A1.05x0625.nc4: template: ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A1.05x0625.nc4 MERRA2.A3cld.05x0625.nc4: template: ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A3cld.05x0625.nc4 MERRA2.A3mstC.05x0625.nc4: template: ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A3mstC.05x0625.nc4 MERRA2.A3mstE.05x0625.nc4: template: ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A3mstE.05x0625.nc4 MERRA2.20150101.CN.05x0625.nc4: template: ./MetDir/2015/01/MERRA2.20150101.CN.05x0625.nc4 #------------------------------------------------------------------- # Land map and LAI collections #------------------------------------------------------------------- Olson_2001_Land_Map.025x025.generic.nc: template: ./ChemDir/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc Condensed_Yuan_proc_MODIS_XLAI.025x025.%y4.nc: template: ./HcoDir/Yuan_XLAI/v2021-06/Condensed_Yuan_proc_MODIS_XLAI.025x025.%y4.nc #------------------------------------------------------------------- # SF6, CO, and Rn222 emissions collections #------------------------------------------------------------------- EDGAR_v42_SF6_IPCC_2.generic.01x01.nc: template: ./HcoDir/SF6/v2019-01/EDGAR_v42_SF6_IPCC_2.generic.01x01.nc EDGAR_v43.CO.ENG.0.1x0.1.nc: template: ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.CO.ENG.0.1x0.1.nc EDGAR_v43.CO.FFF.0.1x0.1.nc: template: ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.CO.FFF.0.1x0.1.nc EDGAR_v43.CO.IND.0.1x0.1.nc: template: ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.CO.IND.0.1x0.1.nc EDGAR_v43.CO.POW.0.1x0.1.nc: template: ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.CO.POW.0.1x0.1.nc EDGAR_v43.CO.PPA.0.1x0.1.nc: template: ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.CO.PPA.0.1x0.1.nc EDGAR_v43.CO.RCO.0.1x0.1.nc: template: ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.CO.RCO.0.1x0.1.nc EDGAR_v43.CO.SWD.0.1x0.1.nc: template: ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.CO.SWD.0.1x0.1.nc EDGAR_v43.CO.TNG.0.1x0.1.nc: template: ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.CO.TNG.0.1x0.1.nc EDGAR_v43.CO.TRO.0.1x0.1.nc: template: ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.CO.TRO.0.1x0.1.nc CEDS_CO_0.1x0.1_%y4.nc: template: ./HcoDir/CEDS/v2024-06/%y4/CEDS_CO_0.1x0.1_%y4.nc Rn222_Emis_Zhang_Liu_et_al_05x05_mass.nc: template: ./HcoDir/ZHANG_Rn222/v2021-11/Rn222_Emis_Zhang_Liu_et_al_05x05_mass.nc #------------------------------------------------------------------- # Timezones collection #------------------------------------------------------------------- timezones_vohra_2017_0.1x0.1.nc: template: ./HcoDir/TIMEZONES/v2024-02/timezones_vohra_2017_0.1x0.1.nc #------------------------------------------------------------------- # Scale factors collections #------------------------------------------------------------------- AnnualScalar.geos.1x1.nc: template: ./HcoDir/AnnualScalar/v2014-07/AnnualScalar.geos.1x1.nc EDGAR_v43.Seasonal.1x1.nc: template: ./HcoDir/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc ###################################################################### # Samplings (rules for data read and interpolation) ###################################################################### Samplings: #------------------------------------------------------------------- # Sampling rules for dynamic meteorology #------------------------------------------------------------------- offset_1hr30min_nointerp: update_offset: PT1H30M time_interpolation: False offset_30min_nointerp: update_offset: PT30M time_interpolation: False offset_10min_interp: update_offset: PT10M time_interpolation: True #------------------------------------------------------------------- # Sampling rule for constants #------------------------------------------------------------------- constant: extrapolation: persist_closest #------------------------------------------------------------------- # Sampling rule for monthly and daily #------------------------------------------------------------------- monthly_nointerp: update_frequency: P1M extrapolation: clim time_interpolation: False update_reference_time: '0' annual_nointerp: update_frequency: P1Y extrapolation: clim time_interpolation: False update_reference_time: '0' #------------------------------------------------------------------- # Sampling rule for daily with interpolation #------------------------------------------------------------------- daily_interp: update_frequency: PT24H time_interpolation: True update_reference_time: '0' ###################################################################### # Exports (each entry is equivalent to one row in ExtData.rc) ###################################################################### Exports: #------------------------------------------------------------------- # Fields from MERRA2.A3dyn.05x0625.nc4: #------------------------------------------------------------------- DTRAIN: collection: MERRA2.A3dyn.05x0625.nc4 regrid: CONSERVE sample: offset_1hr30min_nointerp variable: DTRAIN OMEGA: collection: MERRA2.A3dyn.05x0625.nc4 regrid: CONSERVE sample: offset_1hr30min_nointerp variable: OMEGA RH: collection: MERRA2.A3dyn.05x0625.nc4 regrid: CONSERVE sample: offset_1hr30min_nointerp variable: RH UA;VA: collection: MERRA2.A3dyn.05x0625.nc4 regrid: CONSERVE sample: offset_1hr30min_nointerp variable: U;V #------------------------------------------------------------------- # Fields from MERRA2.I3.05x0625.nc4: #------------------------------------------------------------------- PS1: collection: MERRA2.I3.05x0625.nc4 linear_transformation: - 0.0 - 0.01 regrid: CONSERVE variable: PS PS2: collection: MERRA2.I3.05x0625.nc4 linear_transformation: - 0.0 - 0.01 regrid: CONSERVE sample: offset_10min_interp variable: PS SPHU1: collection: MERRA2.I3.05x0625.nc4 regrid: CONSERVE variable: QV SPHU2: collection: MERRA2.I3.05x0625.nc4 regrid: CONSERVE sample: offset_10min_interp variable: QV TMPU1: collection: MERRA2.I3.05x0625.nc4 regrid: CONSERVE variable: T TMPU2: collection: MERRA2.I3.05x0625.nc4 regrid: CONSERVE sample: offset_10min_interp variable: T #------------------------------------------------------------------- # Fields from MERRA2.A1.05x0625.nc4: #------------------------------------------------------------------- ALBD: collection: MERRA2.A1.05x0625.nc4 regrid: CONSERVE sample: offset_30min_nointerp variable: ALBEDO CLDFRC: collection: MERRA2.A1.05x0625.nc4 regrid: CONSERVE sample: offset_30min_nointerp variable: CLDTOT EFLUX: collection: MERRA2.A1.05x0625.nc4 regrid: CONSERVE sample: offset_30min_nointerp variable: EFLUX EVAP: collection: MERRA2.A1.05x0625.nc4 regrid: CONSERVE sample: offset_30min_nointerp variable: EVAP FRSEAICE: collection: MERRA2.A1.05x0625.nc4 regrid: CONSERVE sample: offset_30min_nointerp variable: FRSEAICE FRSNO: collection: MERRA2.A1.05x0625.nc4 regrid: CONSERVE sample: offset_30min_nointerp variable: FRSNO GRN: collection: MERRA2.A1.05x0625.nc4 regrid: CONSERVE sample: offset_30min_nointerp variable: GRN GWETROOT: collection: MERRA2.A1.05x0625.nc4 regrid: CONSERVE sample: offset_30min_nointerp variable: GWETROOT GWETTOP: collection: MERRA2.A1.05x0625.nc4 regrid: CONSERVE sample: offset_30min_nointerp variable: GWETTOP HFLUX: collection: MERRA2.A1.05x0625.nc4 regrid: CONSERVE sample: offset_30min_nointerp variable: HFLUX LAI: collection: MERRA2.A1.05x0625.nc4 regrid: CONSERVE sample: offset_30min_nointerp variable: LAI PARDF: collection: MERRA2.A1.05x0625.nc4 regrid: CONSERVE sample: offset_30min_nointerp variable: PARDF PARDR: collection: MERRA2.A1.05x0625.nc4 regrid: CONSERVE sample: offset_30min_nointerp variable: PARDR PBLH: collection: MERRA2.A1.05x0625.nc4 regrid: CONSERVE sample: offset_30min_nointerp variable: PBLH PRECANV: collection: MERRA2.A1.05x0625.nc4 regrid: CONSERVE sample: offset_30min_nointerp variable: PRECANV PRECCON: collection: MERRA2.A1.05x0625.nc4 regrid: CONSERVE sample: offset_30min_nointerp variable: PRECCON PRECLSC: collection: MERRA2.A1.05x0625.nc4 regrid: CONSERVE sample: offset_30min_nointerp variable: PRECLSC PRECSNO: collection: MERRA2.A1.05x0625.nc4 regrid: CONSERVE sample: offset_30min_nointerp variable: PRECSNO PRECTOT: collection: MERRA2.A1.05x0625.nc4 regrid: CONSERVE sample: offset_30min_nointerp variable: PRECTOT QV2M: collection: MERRA2.A1.05x0625.nc4 regrid: CONSERVE sample: offset_30min_nointerp variable: QV2M RADSWG: collection: MERRA2.A1.05x0625.nc4 regrid: CONSERVE sample: offset_30min_nointerp variable: SWGDN SEAICE00: collection: MERRA2.A1.05x0625.nc4 regrid: CONSERVE sample: offset_30min_nointerp variable: SEAICE00 SEAICE10: collection: MERRA2.A1.05x0625.nc4 regrid: CONSERVE sample: offset_30min_nointerp variable: SEAICE10 SEAICE20: collection: MERRA2.A1.05x0625.nc4 regrid: CONSERVE sample: offset_30min_nointerp variable: SEAICE20 SEAICE30: collection: MERRA2.A1.05x0625.nc4 regrid: CONSERVE sample: offset_30min_nointerp variable: SEAICE30 SEAICE40: collection: MERRA2.A1.05x0625.nc4 regrid: CONSERVE sample: offset_30min_nointerp variable: SEAICE40 SEAICE50: collection: MERRA2.A1.05x0625.nc4 regrid: CONSERVE sample: offset_30min_nointerp variable: SEAICE50 SEAICE60: collection: MERRA2.A1.05x0625.nc4 regrid: CONSERVE sample: offset_30min_nointerp variable: SEAICE60 SEAICE70: collection: MERRA2.A1.05x0625.nc4 regrid: CONSERVE sample: offset_30min_nointerp variable: SEAICE70 SEAICE80: collection: MERRA2.A1.05x0625.nc4 regrid: CONSERVE sample: offset_30min_nointerp variable: SEAICE80 SEAICE90: collection: MERRA2.A1.05x0625.nc4 regrid: CONSERVE sample: offset_30min_nointerp variable: SEAICE90 SLP: collection: MERRA2.A1.05x0625.nc4 linear_transformation: - 0.0 - 0.01 regrid: CONSERVE sample: offset_30min_nointerp variable: SLP SNODP: collection: MERRA2.A1.05x0625.nc4 regrid: CONSERVE sample: offset_30min_nointerp variable: SNODP SNOMAS: collection: MERRA2.A1.05x0625.nc4 regrid: CONSERVE sample: offset_30min_nointerp variable: SNOMAS TO3: collection: MERRA2.A1.05x0625.nc4 regrid: CONSERVE sample: offset_30min_nointerp variable: TO3 TROPP: collection: MERRA2.A1.05x0625.nc4 linear_transformation: - 0.0 - 0.01 regrid: CONSERVE sample: offset_30min_nointerp variable: TROPPT TS: collection: MERRA2.A1.05x0625.nc4 regrid: CONSERVE sample: offset_30min_nointerp variable: T2M TSKIN: collection: MERRA2.A1.05x0625.nc4 regrid: CONSERVE sample: offset_30min_nointerp variable: TS U10M: collection: MERRA2.A1.05x0625.nc4 regrid: CONSERVE sample: offset_30min_nointerp variable: U10M USTAR: collection: MERRA2.A1.05x0625.nc4 regrid: CONSERVE sample: offset_30min_nointerp variable: USTAR V10M: collection: MERRA2.A1.05x0625.nc4 regrid: CONSERVE sample: offset_30min_nointerp variable: V10M Z0: collection: MERRA2.A1.05x0625.nc4 regrid: CONSERVE sample: offset_30min_nointerp variable: Z0M #------------------------------------------------------------------- # Fields from MERRA2.A3cld.05x0625.nc4: #------------------------------------------------------------------- CLDF: collection: MERRA2.A3cld.05x0625.nc4 regrid: CONSERVE sample: offset_1hr30min_nointerp variable: CLOUD OPTDEP: collection: MERRA2.A3cld.05x0625.nc4 regrid: CONSERVE sample: offset_1hr30min_nointerp variable: OPTDEPTH QI: collection: MERRA2.A3cld.05x0625.nc4 regrid: CONSERVE sample: offset_1hr30min_nointerp variable: QI QL: collection: MERRA2.A3cld.05x0625.nc4 regrid: CONSERVE sample: offset_1hr30min_nointerp variable: QL TAUCLI: collection: MERRA2.A3cld.05x0625.nc4 regrid: CONSERVE sample: offset_1hr30min_nointerp variable: TAUCLI TAUCLW: collection: MERRA2.A3cld.05x0625.nc4 regrid: CONSERVE sample: offset_1hr30min_nointerp variable: TAUCLW #------------------------------------------------------------------- # Fields from MERRA2.A3mstC.05x0625.nc4: #------------------------------------------------------------------- REEVAPCN: collection: MERRA2.A3mstC.05x0625.nc4 regrid: CONSERVE sample: offset_1hr30min_nointerp variable: REEVAPCN REEVAPLS: collection: MERRA2.A3mstC.05x0625.nc4 regrid: CONSERVE sample: offset_1hr30min_nointerp variable: REEVAPLS DQRCU: collection: MERRA2.A3mstC.05x0625.nc4 regrid: CONSERVE sample: offset_1hr30min_nointerp variable: DQRCU DQRLSAN: collection: MERRA2.A3mstC.05x0625.nc4 regrid: CONSERVE sample: offset_1hr30min_nointerp variable: DQRLSAN #------------------------------------------------------------------- # Fields from MERRA2.A3mstE.05x0625.nc4: #------------------------------------------------------------------- CMFMC: collection: MERRA2.A3mstE.05x0625.nc4 regrid: CONSERVE sample: offset_1hr30min_nointerp variable: CMFMC PFICU: collection: MERRA2.A3mstE.05x0625.nc4 regrid: CONSERVE sample: offset_1hr30min_nointerp variable: PFICU PFILSAN: collection: MERRA2.A3mstE.05x0625.nc4 regrid: CONSERVE sample: offset_1hr30min_nointerp variable: PFILSAN PFLCU: collection: MERRA2.A3mstE.05x0625.nc4 regrid: CONSERVE sample: offset_1hr30min_nointerp variable: PFLCU PFLLSAN: collection: MERRA2.A3mstE.05x0625.nc4 regrid: CONSERVE sample: offset_1hr30min_nointerp variable: PFLLSAN #------------------------------------------------------------------- # Fields from MERRA2.20150101.CN.05x0625.nc4: #------------------------------------------------------------------- FRLAKE: collection: MERRA2.20150101.CN.05x0625.nc4 regrid: CONSERVE sample: constant variable: FRLAKE FRLAND: collection: MERRA2.20150101.CN.05x0625.nc4 regrid: CONSERVE sample: constant variable: FRLAND FRLANDIC: collection: MERRA2.20150101.CN.05x0625.nc4 regrid: CONSERVE sample: constant variable: FRLANDIC FROCEAN: collection: MERRA2.20150101.CN.05x0625.nc4 regrid: CONSERVE sample: constant variable: FROCEAN OCEAN_MASK: collection: MERRA2.20150101.CN.05x0625.nc4 regrid: CONSERVE sample: constant variable: FROCEAN PHIS: collection: MERRA2.20150101.CN.05x0625.nc4 regrid: CONSERVE sample: constant variable: PHIS #------------------------------------------------------------------- # Fields from Olson land map #------------------------------------------------------------------- OLSON00: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;0 sample: constant variable: OLSON OLSON01: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;1 sample: constant variable: OLSON OLSON02: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;2 sample: constant variable: OLSON OLSON03: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;3 sample: constant variable: OLSON OLSON04: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;4 sample: constant variable: OLSON OLSON05: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;5 sample: constant variable: OLSON OLSON06: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;6 sample: constant variable: OLSON OLSON07: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;7 sample: constant variable: OLSON OLSON08: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;8 sample: constant variable: OLSON OLSON09: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;9 sample: constant variable: OLSON OLSON10: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;10 sample: constant variable: OLSON OLSON11: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;11 sample: constant variable: OLSON OLSON12: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;12 sample: constant variable: OLSON OLSON13: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;13 sample: constant variable: OLSON OLSON14: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;14 sample: constant variable: OLSON OLSON15: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;15 sample: constant variable: OLSON OLSON16: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;16 sample: constant variable: OLSON OLSON17: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;17 sample: constant variable: OLSON OLSON18: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;18 sample: constant variable: OLSON OLSON19: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;19 sample: constant variable: OLSON OLSON20: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;20 sample: constant variable: OLSON OLSON21: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;21 sample: constant variable: OLSON OLSON22: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;22 sample: constant variable: OLSON OLSON23: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;23 sample: constant variable: OLSON OLSON24: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;24 sample: constant variable: OLSON OLSON25: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;25 sample: constant variable: OLSON OLSON26: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;26 sample: constant variable: OLSON OLSON27: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;27 sample: constant variable: OLSON OLSON28: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;28 sample: constant variable: OLSON OLSON29: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;29 sample: constant variable: OLSON OLSON30: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;30 sample: constant variable: OLSON OLSON31: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;31 sample: constant variable: OLSON OLSON32: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;32 sample: constant variable: OLSON OLSON33: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;33 sample: constant variable: OLSON OLSON34: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;34 sample: constant variable: OLSON OLSON35: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;35 sample: constant variable: OLSON OLSON36: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;36 sample: constant variable: OLSON OLSON37: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;37 sample: constant variable: OLSON OLSON38: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;38 sample: constant variable: OLSON OLSON39: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;39 sample: constant variable: OLSON OLSON40: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;40 sample: constant variable: OLSON OLSON41: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;41 sample: constant variable: OLSON OLSON42: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;42 sample: constant variable: OLSON OLSON43: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;43 sample: constant variable: OLSON OLSON44: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;44 sample: constant variable: OLSON OLSON45: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;45 sample: constant variable: OLSON OLSON46: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;46 sample: constant variable: OLSON OLSON47: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;47 sample: constant variable: OLSON OLSON48: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;48 sample: constant variable: OLSON OLSON49: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;49 sample: constant variable: OLSON OLSON50: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;50 sample: constant variable: OLSON OLSON51: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;51 sample: constant variable: OLSON OLSON52: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;52 sample: constant variable: OLSON OLSON53: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;53 sample: constant variable: OLSON OLSON54: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;54 sample: constant variable: OLSON OLSON55: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;55 sample: constant variable: OLSON OLSON56: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;56 sample: constant variable: OLSON OLSON57: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;57 sample: constant variable: OLSON OLSON58: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;58 sample: constant variable: OLSON OLSON59: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;59 sample: constant variable: OLSON OLSON60: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;60 sample: constant variable: OLSON OLSON61: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;61 sample: constant variable: OLSON OLSON62: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;62 sample: constant variable: OLSON OLSON63: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;63 sample: constant variable: OLSON OLSON64: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;64 sample: constant variable: OLSON OLSON65: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;65 sample: constant variable: OLSON OLSON66: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;66 sample: constant variable: OLSON OLSON67: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;67 sample: constant variable: OLSON OLSON68: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;68 sample: constant variable: OLSON OLSON69: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;69 sample: constant variable: OLSON OLSON70: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;70 sample: constant variable: OLSON OLSON71: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;71 sample: constant variable: OLSON OLSON72: collection: Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;72 sample: constant variable: OLSON #------------------------------------------------------------------- # Fields from Condensed_Yuan_proc_MODIS_XLAI.025x025.%y4.nc: #------------------------------------------------------------------- XLAIMULTI: collection: Condensed_Yuan_proc_MODIS_XLAI.025x025.%y4.nc regrid: CONSERVE sample: daily_interp variable: XLAIMULTI #------------------------------------------------------------------- # Fields from EDGAR_v42_SF6_IPCC_2.generic.01x01.nc: #------------------------------------------------------------------- EDGAR_SF6: collection: EDGAR_v42_SF6_IPCC_2.generic.01x01.nc regrid: CONSERVE sample: annual_nointerp variable: emi_sf6 #------------------------------------------------------------------- # Fields from EDGAR_v43.CO.***.0.1x0.1.nc: #------------------------------------------------------------------- EDGAR_CO_25_ENG: collection: EDGAR_v43.CO.ENG.0.1x0.1.nc regrid: CONSERVE sample: annual_nointerp variable: emi_co EDGAR_CO_25_FFF: collection: EDGAR_v43.CO.FFF.0.1x0.1.nc regrid: CONSERVE sample: annual_nointerp variable: emi_co EDGAR_CO_25_IND: collection: EDGAR_v43.CO.IND.0.1x0.1.nc regrid: CONSERVE sample: annual_nointerp variable: emi_co EDGAR_CO_25_POW: collection: EDGAR_v43.CO.POW.0.1x0.1.nc regrid: CONSERVE sample: annual_nointerp variable: emi_co EDGAR_CO_25_PPA: collection: EDGAR_v43.CO.PPA.0.1x0.1.nc regrid: CONSERVE sample: annual_nointerp variable: emi_co EDGAR_CO_25_RCO: collection: EDGAR_v43.CO.RCO.0.1x0.1.nc regrid: CONSERVE sample: annual_nointerp variable: emi_co EDGAR_CO_25_SWD: collection: EDGAR_v43.CO.SWD.0.1x0.1.nc regrid: CONSERVE sample: annual_nointerp variable: emi_co EDGAR_CO_25_TNG: collection: EDGAR_v43.CO.TNG.0.1x0.1.nc regrid: CONSERVE sample: annual_nointerp variable: emi_co EDGAR_CO_25_TRO: collection: EDGAR_v43.CO.TRO.0.1x0.1.nc regrid: CONSERVE sample: annual_nointerp variable: emi_co #------------------------------------------------------------------- # Fields from CEDS_CO_0.1x0.1_%y4.nc: #------------------------------------------------------------------- CEDS_CO_25_AGR: collection: CEDS_CO_0.1x0.1_%y4.nc regrid: CONSERVE sample: monthly_nointerp variable: CO_agr CEDS_CO_25_ENE: collection: CEDS_CO_0.1x0.1_%y4.nc regrid: CONSERVE sample: monthly_nointerp variable: CO_ene CEDS_CO_25_IND: collection: CEDS_CO_0.1x0.1_%y4.nc regrid: CONSERVE sample: monthly_nointerp variable: CO_ind CEDS_CO_25_RCO: collection: CEDS_CO_0.1x0.1_%y4.nc regrid: CONSERVE sample: monthly_nointerp variable: CO_rco CEDS_CO_25_SHP: collection: CEDS_CO_0.1x0.1_%y4.nc regrid: CONSERVE sample: monthly_nointerp variable: CO_shp CEDS_CO_25_SLV: collection: CEDS_CO_0.1x0.1_%y4.nc regrid: CONSERVE sample: monthly_nointerp variable: CO_slv CEDS_CO_25_TRA: collection: CEDS_CO_0.1x0.1_%y4.nc regrid: CONSERVE sample: monthly_nointerp variable: CO_tra CEDS_CO_25_WST: collection: CEDS_CO_0.1x0.1_%y4.nc regrid: CONSERVE sample: monthly_nointerp variable: CO_wst #------------------------------------------------------------------- # Fields from Rn222_Emis_Zhang_Liu_et_al_05x05_mass.nc: #------------------------------------------------------------------- ZHANG_Rn222_EMIS: collection: Rn222_Emis_Zhang_Liu_et_al_05x05_mass.nc regrid: CONSERVE sample: monthly_nointerp variable: rnemis #------------------------------------------------------------------- # Fields from timezones_vohra_2017_0.1x0.1.nc: #------------------------------------------------------------------- TIMEZONES: collection: timezones_vohra_2017_0.1x0.1.nc regrid: VOTE sample: monthly_nointerp variable: UTC_OFFSET #------------------------------------------------------------------- # Fields from AnnualScalar.geos.1x1.nc: #------------------------------------------------------------------- LIQFUEL_2008_2010: collection: AnnualScalar.geos.1x1.nc regrid: CONSERVE sample: annual_nointerp variable: COscalar LIQFUEL_THISYR: collection: AnnualScalar.geos.1x1.nc regrid: CONSERVE sample: annual_nointerp variable: COscalar #------------------------------------------------------------------- # Fields from EDGAR_v43.Seasonal.1x1.nc: #------------------------------------------------------------------- AGR: collection: EDGAR_v43.Seasonal.1x1.nc regrid: CONSERVE sample: annual_nointerp variable: AGR AWB: collection: EDGAR_v43.Seasonal.1x1.nc regrid: CONSERVE sample: monthly_nointerp variable: AW ENG: collection: EDGAR_v43.Seasonal.1x1.nc regrid: CONSERVE sample: monthly_nointerp variable: ENG FFF: collection: EDGAR_v43.Seasonal.1x1.nc regrid: CONSERVE sample: monthly_nointerp variable: FFF IND: collection: EDGAR_v43.Seasonal.1x1.nc regrid: CONSERVE sample: monthly_nointerp variable: IND POW: collection: EDGAR_v43.Seasonal.1x1.nc regrid: CONSERVE sample: monthly_nointerp variable: POW PPA: collection: EDGAR_v43.Seasonal.1x1.nc regrid: CONSERVE sample: monthly_nointerp variable: PPA RCO: collection: EDGAR_v43.Seasonal.1x1.nc regrid: CONSERVE sample: monthly_nointerp variable: RCO SOL: collection: EDGAR_v43.Seasonal.1x1.nc regrid: CONSERVE sample: monthly_nointerp variable: SOL SWD: collection: EDGAR_v43.Seasonal.1x1.nc regrid: CONSERVE sample: monthly_nointerp variable: SWD TNG: collection: EDGAR_v43.Seasonal.1x1.nc regrid: CONSERVE sample: monthly_nointerp variable: TNG TRO: collection: EDGAR_v43.Seasonal.1x1.nc regrid: CONSERVE sample: monthly_nointerp variable: TRO #------------------------------------------------------------------- # Fields from /dev/null #------------------------------------------------------------------- CONV_DEPTH: collection: /dev/null variable: CONV_DEPTH FLASH_DENS: collection: /dev/null variable: FLASH_DENS ================================================ FILE: run/GCHP/GCHP.rc.template ================================================ # Atmospheric Model Configuration Parameters # ------------------------------------------ NX: 1 NY: 6 GCHP.GRID_TYPE: Cubed-Sphere GCHP.GRIDNAME: PE24x144-CF GCHP.NF: 6 GCHP.IM_WORLD: 24 GCHP.IM: 24 GCHP.JM: 144 GCHP.LM: 72 # For stretched grid #GCHP.STRETCH_FACTOR: 2.0 #GCHP.TARGET_LON: 242.0 #GCHP.TARGET_LAT: 37.0 # For FV advection do not use grid comp name prefix IM: 24 JM: 144 LM: 72 GEOSChem_CTM: 1 # Settings for vertical direction of imported met-fields # (false for processed files, true for raw GMAO files) #----------------------------------------------------------------------- MET_WIND_IS_TOP_DOWN: ${RUNDIR_MET_WIND_IS_TOP_DOWN} MET_HUMIDITY_IS_TOP_DOWN: ${RUNDIR_MET_HUMIDITY_IS_TOP_DOWN} MET_NONADVECTION_IS_TOP_DOWN: ${RUNDIR_MET_NONADVECTION_IS_TOP_DOWN} # Settings for using mass flux in advection # Note: mass flux top down setting not used if not using mass fluxes #----------------------------------------------------------------------- IMPORT_MASS_FLUX_FROM_EXTDATA: ${RUNDIR_IMPORT_MASS_FLUX_FROM_EXTDATA} MET_MASS_FLUX_IS_TOP_DOWN: ${RUNDIR_MET_MASS_FLUX_IS_TOP_DOWN} # Toggle to use total pressure (1) or dry pressure (0) in advection #----------------------------------------------------------------------- USE_TOTAL_AIR_PRESSURE_IN_ADVECTION: ${RUNDIR_USE_TOTAL_AIR_PRESSURE_IN_ADVECTION} # Use native mass fluxes (0) or convert to dry air mass flux (1) # This switch is ignored if computing mass fluxes from winds. #----------------------------------------------------------------------- CORRECT_MASS_FLUX_FOR_HUMIDITY: 1 # Print mass time series in advection (0=false, 1=true) #----------------------------------------------------------------------- PRINT_MASS_IN_ADVECTION: 0 # Use ExtData2G? (.true. or .false.) #----------------------------------------------------------------------- USE_EXTDATA2G: .false. # Use when running a perturbation # scenario with RRTMG's FDH or SEFDH # options. Set to 0 to CALCULATE dynamical # heating rates, set to 1 to READ rates # calculated from the reference scenario IMPORT_DYN_HEATING: 0 AdvCore_Advection: 1 DYCORE: OFF HEARTBEAT_DT: 600 SOLAR_DT: 600 IRRAD_DT: 600 RUN_DT: 600 GCHPchem_DT: 1200 RRTMG_DT: 10800 DYNAMICS_DT: 600 SOLARAvrg: 0 IRRADAvrg: 0 GCHPchem_REFERENCE_TIME: 121000 # Print Resource Parameters (0: Non-Default values, 1: ALL values) #----------------------------------------------------------------- PRINTRC: 0 PARALLEL_READFORCING: 0 # Set the number of parallel I/O processes to use when reading restarts. # Try something from 6 to 24 if reading a large restart file and have # poor performance #--------------------------------------------------------------- NUM_READERS: 1 # Set the number of parallel I/O processes to use when writing restarts. # Try something from 6 to 24 if writing a large restart file and have # poor performance #--------------------------------------------------------------- NUM_WRITERS: 1 # Active observer when desired # ---------------------------- BKG_FREQUENCY: 0 # Enable bootstrapping restart file fields missing from restart #----------------------------------------------------------------- MAPL_ENABLE_BOOTSTRAP: YES # Require all species in initial restart file (1 = yes; else no) #----------------------------------------------------------------- INITIAL_RESTART_SPECIES_REQUIRED: 0 # Settings for production of restart files #--------------------------------------------------------------- # Record frequency (HHMMSS, or monthly) : Frequency of restart file write # Can exceed 24 hours (e.g. 1680000 for 7 days) # Record ref date (YYYYMMDD): Reference date; set to before sim start date # Record ref time (HHMMSS) : Reference time RECORD_FREQUENCY: 240000 RECORD_REF_DATE: 20000101 RECORD_REF_TIME: 000000 # Chemistry/AEROSOL Model Restart Files # ------------------------------------- GCHPchem_INTERNAL_RESTART_FILE: gchp_restart.nc4 GCHPchem_INTERNAL_RESTART_TYPE: pnc4 GCHPchem_INTERNAL_CHECKPOINT_FILE: Restarts/gcchem_internal_checkpoint GCHPchem_INTERNAL_CHECKPOINT_TYPE: pnc4 # GCHP dynamics (FV3) does not use a restart file because its internal state is empty #DYN_INTERNAL_RESTART_FILE: fvcore_internal_rst #DYN_INTERNAL_RESTART_TYPE: pbinary #DYN_INTERNAL_CHECKPOINT_FILE: Restarts/fvcore_internal_checkpoint #DYN_INTERNAL_CHECKPOINT_TYPE: pbinary #DYN_INTERNAL_HEADER: 1 RUN_PHASES: 1 # # %%% HEMCO configuration file %%% # HEMCO_CONFIG: HEMCO_Config.rc # # %%% Log file names for redirecting stdout %%% # STDOUT_LOGFILE: PET%%%%%.GEOSCHEMchem.log STDOUT_LOGLUN: 700 # # %%% Memory debug print level (integer 0 to 3; 0=none, 3=highest) # MEMORY_DEBUG_LEVEL: 0 # # %%% Option to write restart files via o-server # %%% This should only be necessary with certain MPI stacks. Try changing # %%% this to true if writing checkpoints causes the run to hang. # WRITE_RESTART_BY_OSERVER: NO # # %%% Advection settings # EXCLUDE_ADVECTION_TRACERS: NO # # %%% Adjoint variables # # MODEL_PHASE indicates forward model (FORWARD) or adjoint model (ADJOINT) MODEL_PHASE: FORWARD # FD_TYPE: GLOBAL # FD_STEP: 0 # FD_SPEC: CO2 # #FD_LAT: 44.65 # #FD_LON: -63.58 # IFD: 3 # JFD: 56 # LFD: 1 # CF_IMIN: 2 # CF_IMAX: 5 # CF_JMIN: 55 # CF_JMAX: 58 # CF_LMIN: 1 # CF_LMAX: 4 ================================================ FILE: run/GCHP/HEMCO_Config.rc.templates/HEMCO_Config.rc.TransportTracers ================================================ #------------------------------------------------------------------------------ # Harmonized Emissions Component (HEMCO) ! #------------------------------------------------------------------------------ #BOP # # !MODULE: HEMCO_Config.rc # # !DESCRIPTION: Contains configuration information for HEMCO. Define the # emissions inventories and corresponding file paths here. Entire # configuration files can be inserted into this configuration file with # an '>>>include' statement, e.g. '>>>include HEMCO\_Config\_test.rc' # The settings of include-files will be ignored. #\\ #\\ # !REMARKS: # See hemco.readthedocs.io for more information. # # !REVISION HISTORY: # See https://github.com/geoschem/geos-chem for complete history #EOP #------------------------------------------------------------------------------ #BOC ############################################################################### ### BEGIN SECTION SETTINGS ############################################################################### ROOT: ${RUNDIR_DATA_ROOT}/HEMCO Logfile: * DiagnFile: HEMCO_Diagn.rc DiagnPrefix: ./OutputDir/HEMCO_diagnostics DiagnFreq: Monthly Wildcard: * Separator: / Unit tolerance: 1 Negative values: 0 Only unitless scale factors: false Verbose: false VerboseOnCores: root # Accepted values: root all ### END SECTION SETTINGS ### ############################################################################### ### BEGIN SECTION EXTENSION SWITCHES ############################################################################### # ExtNr ExtName on/off Species Years avail. 0 Base : on * # ----- MAIN SWITCHES --------------------------------------------------------- --> EMISSIONS : true --> METEOROLOGY : false # ----- RESTART FIELDS -------------------------------------------------------- --> GC_RESTART : false # ----- GLOBAL INVENTORIES ---------------------------------------------------- --> EDGARv42_SF6 : true # 1970-2008 --> OCEAN_CH3I : true --> CEDS_01x01 : true # 1980-2019 --> EDGARv43 : false # 1970-2010 --> HTAP : false # 2008-2010 --> UNIFORM_CO : true # ----- NON-EMISSIONS DATA ---------------------------------------------------- --> OLSON_LANDMAP : false # 1985 --> YUAN_MODIS_LAI : false # 2000-2020 #------------------------------------------------------------------------------ 100 GC_Rn-Pb-Be : on Rn222/Be7/Be7s/Be10/Be10s # ----- Always Leave Extension 100 turned on. Furthermore: # ----- Turning on ZHANG_Rn222 will use Zhang et al [2020] Rn222 emissions # ----- Turning off ZHANG_Rn222 will use default emissions (Jacob et al [1997]) 101 ZHANG_Rn222 : on Rn222 ### END SECTION EXTENSION SWITCHES ### ############################################################################### ### BEGIN SECTION BASE EMISSIONS ############################################################################### # ExtNr Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Species ScalIDs Cat Hier (((EMISSIONS #============================================================================== # SF6 emissions from EDGAR v4.2 #============================================================================== (((EDGARv42_SF6 0 EDGAR_SF6 $ROOT/SF6/v2019-01/EDGAR_v42_SF6_IPCC_2.generic.01x01.nc emi_sf6 1970-2008/1/1/0 C xy kg/m2/s SF6 - 1 1 )))EDGARv42_SF6 #============================================================================== # CH3I emitted over the oceans at rate of 1 molec/cm2/s #============================================================================== (((OCEAN_CH3I 0 SRC_2D_CH3I 1.0 - - - xy molec/cm2/s CH3I 1000 1 1 )))OCEAN_CH3I #============================================================================== # Anthropogenic CO 25-day and 50-day tracers # # Choose CEDS, EDGAR, or HTAP #============================================================================== (((CEDS_01x01 0 CEDS_CO_25_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_agr 1980-2019/1-12/1/0 C xy kg/m2/s CO_25 26 1 5 0 CEDS_CO_50_AGR - - - - - - CO_50 26 1 5 0 CEDS_CO_25_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_ene 1980-2019/1-12/1/0 C xy kg/m2/s CO_25 26 1 5 0 CEDS_CO_50_ENE - - - - - - CO_50 26 1 5 0 CEDS_CO_25_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_ind 1980-2019/1-12/1/0 C xy kg/m2/s CO_25 26 1 5 0 CEDS_CO_50_IND - - - - - - CO_50 26 1 5 0 CEDS_CO_25_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_tra 1980-2019/1-12/1/0 C xy kg/m2/s CO_25 26 1 5 0 CEDS_CO_50_TRA - - - - - - CO_50 26 1 5 0 CEDS_CO_25_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_rco 1980-2019/1-12/1/0 C xy kg/m2/s CO_25 26 1 5 0 CEDS_CO_50_RCO - - - - - - CO_50 26 1 5 0 CEDS_CO_25_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_slv 1980-2019/1-12/1/0 C xy kg/m2/s CO_25 26 1 5 0 CEDS_CO_50_SLV - - - - - - CO_50 26 1 5 0 CEDS_CO_25_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_wst 1980-2019/1-12/1/0 C xy kg/m2/s CO_25 26 1 5 0 CEDS_CO_50_WST - - - - - - CO_50 26 1 5 0 CEDS_CO_25_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_shp 1980-2019/1-12/1/0 C xy kg/m2/s CO_25 26 1 5 0 CEDS_CO_50_SHP - - - - - - CO_50 26 1 5 )))CEDS_01x01 (((EDGARv43 0 EDGAR_CO_25_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.POW.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO_25 1201/26/52 1/2 2 0 EDGAR_CO_50_POW - - - - - - CO_50 1201/26/52 1/2 2 0 EDGAR_CO_25_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.ENG.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO_25 1202/26/52 1/2 2 0 EDGAR_CO_50_ENG - - - - - - CO_50 1202/26/52 1/2 2 0 EDGAR_CO_25_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.IND.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO_25 1203/26/52 1/2 2 0 EDGAR_CO_50_IND - - - - - - CO_50 1203/26/52 1/2 2 0 EDGAR_CO_25_TRO $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.TRO.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO_25 1204/26/52 1/2 2 0 EDGAR_CO_50_TRO - - - - - - CO_50 1204/26/52 1/2 2 0 EDGAR_CO_25_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.TNG.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO_25 1205/26/52 1/2 2 0 EDGAR_CO_50_TNG - - - - - - CO_50 1205/26/52 1/2 2 0 EDGAR_CO_25_RCO $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.RCO.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO_25 1206/26/52 1/2 2 0 EDGAR_CO_50_RCO - - - - - - CO_50 1206/26/52 1/2 2 0 EDGAR_CO_25_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.PPA.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO_25 1207/26/52 1/2 2 0 EDGAR_CO_50_PPA - - - - - - CO_50 1207/26/52 1/2 2 #0 EDGAR_CO_25_AWB $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.AWB.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO_25 1209/26/52 1/2 2 #0 EDGAR_CO_50_AWB - - - - - - CO_50 1209/26/52 1/2 2 0 EDGAR_CO_25_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.SWD.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO_25 1211/26/52 1/2 2 0 EDGAR_CO_50_SWD - - - - - - CO_50 1211/26/52 1/2 2 0 EDGAR_CO_25_FFF $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.FFF.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO_25 1212/26/52 1/2 2 0 EDGAR_CO_50_FFF - - - - - - CO_50 1211/26/52 1/2 2 )))EDGARv43 ############################################################################### ### EXTENSION DATA (subsection of BASE EMISSIONS SECTION) ### ### These fields are needed by the extensions listed above. The assigned ExtNr ### must match the ExtNr entry in section 'Extension switches'. These fields ### are only read if the extension is enabled. The fields are imported by the ### extensions by field name. The name given here must match the name used ### in the extension's source code. ############################################################################### #============================================================================== # --- Zhang et al [2021] Rn222 emissions --- # --- cf https://acp.copernicus.org/articles/21/1861/2021/ --- #============================================================================== (((ZHANG_Rn222 101 ZHANG_Rn222_EMIS $ROOT/ZHANG_Rn222/v2021-11/Rn222_Emis_Zhang_Liu_et_al_05x05_mass.nc rnemis 2001/1-12/1/0 C xy kg/m2/s Rn222 - 1 1 )))ZHANG_Rn222 )))EMISSIONS ############################################################################### ### NON-EMISSIONS DATA (subsection of BASE EMISSIONS SECTION) ### ### Non-emissions data. The following fields are read through HEMCO but do ### not contain emissions data. The extension number is set to wildcard ### character denoting that these fields will not be considered for emission ### calculation. A given entry is only read if the assigned species name is ### an HEMCO species. ############################################################################### #============================================================================== # --- Time zones (offset to UTC) --- #============================================================================== * TIMEZONES $ROOT/TIMEZONES/v2024-02/timezones_vohra_2017_0.1x0.1.nc UTC_OFFSET 2017/1-12/1/0 C xy count * - 1 1 #============================================================================== # --- GEOS-Chem restart file --- #============================================================================== (((GC_RESTART * SPC_ ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 SpeciesRst_?ALL? $YYYY/$MM/$DD/$HH EFYO xyz 1 * - 1 1 * DELPDRY ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Met_DELPDRY $YYYY/$MM/$DD/$HH EY xyz 1 * - 1 1 )))GC_RESTART #============================================================================== # --- Olson land map masks --- #============================================================================== (((OLSON_LANDMAP * LANDTYPE00 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE00 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE01 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE01 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE02 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE02 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE03 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE03 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE04 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE04 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE05 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE05 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE06 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE06 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE07 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE07 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE08 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE08 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE09 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE09 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE10 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE10 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE11 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE11 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE12 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE12 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE13 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE13 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE14 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE14 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE15 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE15 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE16 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE16 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE17 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE17 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE18 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE18 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE19 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE19 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE20 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE20 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE21 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE21 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE22 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE22 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE23 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE23 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE24 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE24 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE25 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE25 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE26 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE26 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE27 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE27 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE28 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE28 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE29 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE29 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE30 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE30 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE31 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE31 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE32 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE32 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE33 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE33 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE34 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE34 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE35 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE35 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE36 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE36 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE37 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE37 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE38 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE38 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE39 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE39 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE40 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE40 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE41 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE41 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE42 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE42 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE43 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE43 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE44 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE44 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE45 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE45 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE46 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE46 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE47 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE47 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE48 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE48 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE49 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE49 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE50 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE50 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE51 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE51 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE52 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE52 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE53 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE53 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE54 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE54 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE55 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE55 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE56 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE56 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE57 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE57 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE58 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE58 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE59 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE59 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE60 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE60 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE61 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE61 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE62 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE62 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE63 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE63 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE64 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE64 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE65 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE65 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE66 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE66 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE67 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE67 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE68 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE68 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE69 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE69 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE70 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE70 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE71 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE71 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE72 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE72 1985/1/1/0 C xy 1 * - 1 1 )))OLSON_LANDMAP #============================================================================== # --- Yuan processed MODIS leaf area index data --- # # Source: Yuan et al 2011, doi:10.1016/j.rse.2011.01.001 # http://globalchange.bnu.edu.cn/research/lai # # NOTES: # (1) LAI data corresponding to each Olson land type is stored in # separate netCDF variables (XLAI00, XLAI01, ... XLAI72). # The "XLAI" denotes that the files are prepared in this way. # (2) Units are "cm2 leaf/cm2 grid box". # (3) Data is timestamped every 8 days, starting from the 2nd of the month. #============================================================================== (((YUAN_MODIS_LAI * XLAI00 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI00 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI01 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI01 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI02 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI02 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI03 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI03 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI04 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI04 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI05 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI05 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI06 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI06 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI07 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI07 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI08 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI08 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI09 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI09 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI10 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI10 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI11 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI11 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI12 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI12 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI13 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI13 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI14 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI14 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI15 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI15 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI16 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI16 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI17 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI17 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI18 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI18 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI19 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI19 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI20 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI20 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI21 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI21 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI22 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI22 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI23 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI23 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI24 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI24 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI25 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI25 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI26 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI26 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI27 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI27 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI28 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI28 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI29 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI29 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI30 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI30 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI31 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI31 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI32 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI32 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI33 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI33 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI34 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI34 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI35 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI35 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI36 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI36 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI37 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI37 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI38 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI38 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI39 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI39 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI40 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI40 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI41 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI41 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI42 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI42 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI43 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI43 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI44 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI44 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI45 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI45 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI46 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI46 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI47 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI47 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI48 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI48 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI49 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI49 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI50 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI50 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI51 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI51 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI52 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI52 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI53 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI53 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI54 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI54 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI55 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI55 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI56 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI56 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI57 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI57 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI58 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI58 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI59 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI59 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI60 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI60 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI61 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI61 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI62 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI62 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI63 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI63 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI64 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI64 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI65 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI65 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI66 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI66 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI67 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI67 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI68 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI68 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI69 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI69 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI70 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI70 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI71 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI71 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI72 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI72 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 )))YUAN_MODIS_LAI ### END SECTION BASE EMISSIONS ### ############################################################################### ### BEGIN SECTION SCALE FACTORS ############################################################################### # ScalID Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Oper (((EMISSIONS #============================================================================== # --- Annual scale factors --- #============================================================================== (((HTAP 6 LIQFUEL_THISYR $ROOT/AnnualScalar/v2014-07/AnnualScalar.geos.1x1.nc COscalar 1985-2010/1/1/0 C xy 1 1 28 LIQFUEL_2008_2010 $ROOT/AnnualScalar/v2014-07/AnnualScalar.geos.1x1.nc COscalar 2008-2010/1/1/0 C xy 1 -1 )))HTAP #============================================================================== # --- Diurnal scale factors --- #============================================================================== 26 GEIA_TOD_FOSSIL 0.45/0.45/0.6/0.6/0.6/0.6/1.45/1.45/1.45/1.45/1.4/1.4/1.4/1.4/1.45/1.45/1.45/1.45/0.65/0.65/0.65/0.65/0.45/0.45 - - - xy unitless 1 #============================================================================== # --- VOC speciations --- #============================================================================== (((EDGARv43 52 COPROD_FOSSIL 1.02 - - - xy unitless 1 )))EDGARv43 #============================================================================== # --- EDGAR 4.3.1 --- # Using data of 2010, the calculated seasonal ratio for different species in the # same sector are nearly identical, possibly due to consistent activity data used. # Therefore we use the seasonal scale factors of CO in 2010 for most sectors, # except for AGR, AWB and SOL. # For AGR, the NH3 AGR seasonal scale factors are used. # For AWB, the CO AGR seasonal scale factors are used. # For SOL, the NOx AGR seasonal scale factors are used. #============================================================================== (((EDGARv43 1201 POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc POW 2010/1-12/1/0 C xy unitless 1 1202 ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc ENG 2010/1-12/1/0 C xy unitless 1 1203 IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc IND 2010/1-12/1/0 C xy unitless 1 1204 TRO $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc TRO 2010/1-12/1/0 C xy unitless 1 1205 TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc TNG 2010/1-12/1/0 C xy unitless 1 1206 RCO $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc RCO 2010/1-12/1/0 C xy unitless 1 1207 PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc PPA 2010/1-12/1/0 C xy unitless 1 1208 AGR $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc AGR 2010/1-12/1/0 C xy unitless 1 1209 AWB $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc AWB 2010/1-12/1/0 C xy unitless 1 1210 SOL $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc SOL 2010/1-12/1/0 C xy unitless 1 1211 SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc SWD 2010/1-12/1/0 C xy unitless 1 1212 FFF $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc FFF 2010/1-12/1/0 C xy unitless 1 )))EDGARv43 )))EMISSIONS ### END SECTION SCALE FACTORS ### ############################################################################### ### BEGIN SECTION MASKS ############################################################################### # ScalID Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Oper Lon1/Lat1/Lon2/Lat2 (((EMISSIONS (((OCEAN_CH3I ${RUNDIR_OCEAN_MASK} )))OCEAN_CH3I )))EMISSIONS ### END SECTION MASKS ### ### END OF HEMCO INPUT FILE ### #EOC ================================================ FILE: run/GCHP/HEMCO_Config.rc.templates/HEMCO_Config.rc.carbon ================================================ #------------------------------------------------------------------------------ # Harmonized Emissions Component (HEMCO) ! #------------------------------------------------------------------------------ #BOP # # !MODULE: HEMCO_Config.rc # # !DESCRIPTION: Contains configuration information for HEMCO. Define the # emissions inventories and corresponding file paths here. Entire # configuration files can be inserted into this configuration file with # an '>>>include' statement, e.g. '>>>include HEMCO\_Config\_test.rc' # The settings of include-files will be ignored. #\\ #\\ # !REMARKS: # See hemco.readthedocs.io for more information. # # !REVISION HISTORY: # See https://github.com/geoschem/geos-chem for complete history #EOP #------------------------------------------------------------------------------ #BOC ############################################################################### ### BEGIN SECTION SETTINGS ############################################################################### ROOT: ${RUNDIR_DATA_ROOT}/HEMCO GCAPSCENARIO: not_used GCAPVERTRES: not_used Logfile: * DiagnFile: HEMCO_Diagn.rc DiagnPrefix: ./OutputDir/HEMCO_diagnostics DiagnFreq: Monthly Wildcard: * Separator: / Unit tolerance: 1 Negative values: 2 Only unitless scale factors: false Verbose: false VerboseOnCores: root # Accepted values: root all Mask fractions: false ### END SECTION SETTINGS ### ############################################################################### ### BEGIN SECTION EXTENSION SWITCHES ############################################################################### # ExtNr ExtName on/off Species Years avail. 0 Base : on * # ----- MAIN SWITCHES --------------------------------------------------------- --> EMISSIONS : true --> METEOROLOGY : false --> CHEMISTRY_INPUT : true --> USE_CH4_DATA : true --> USE_CO_DATA : true --> USE_CO2_DATA : true --> USE_OCS_DATA : true # 2012-2016 # ----- RESTART FIELDS -------------------------------------------------------- --> GC_RESTART : false --> HEMCO_RESTART : false # ----- NESTED GRID FIELDS ---------------------------------------------------- --> GC_BCs : false # ----- CH4 INVENTORIES AND DATA ---------------------------------------------- # ..... Regional Inventories ......... --> GHGI_v2 : false # 2012-2018 --> GHGI_v2_Express_Ext : true # 2012-2020 --> Scarpelli_Canada : true # 2018 --> Scarpelli_Mexico : true # 2015 # ..... Global Inventories ........... --> GFEIv3 : true # 2020 --> GRPI : true # 2022 --> EDGARv8 : true # 2010-2022 --> QFED2 : false # 2009-2015 --> JPL_WETCHARTS : true # 2010 --> LPJ_MERRA2 : false # 2018-2023 --> SEEPS : true # 2012 --> LAKES : false # 2009-2015 --> RESERVOIRS : true # 2022 --> CAMS_TERMITES : true # 2000 --> MeMo_SOIL_ABSORPTION : true # 1990-2009 or clim. --> CMIP6_SFC_LAND_ANTHRO : false # 1850-2100 --> CMIP6_SHIP : false # 1850-2100 --> BB4MIPS : false # 1850-2100 # ..... Non-Emissions Data ........... --> CH4_LOSS_FREQ : true # 1985 --> GLOBAL_CL : true # 2010-2019 # ----- CO and CO2-only INVENTORIES AND DATA ---------------------------------- # ..... Global inventories ........... --> AEIC2019_DAILY : false # 2019 (daily data) --> AEIC2019_MONMEAN : true # 2019 (monthly-mean data) --> AEIC_SCALE_1990_2019 : true # Scale to year in 1990-2019 --> CEDS_01x01 : true # 1980-2019 --> HTAP : false # 2008-2010 --> FOSSIL_ODIAC : true # 2000-2018 --> FOSSIL_CDIAC : false # 1980-2014 --> OCEAN_EXCH_TAKA09 : false # 2000 --> OCEAN_EXCH_SCALED : true # 2000-2013 --> BBIO_DIURNAL : false # 1985 --> BBIO_SIB3 : true # 2006-2010 --> NET_TERR_EXCH : true # 2000 --> CO2CORR : true # 2000-2018 --> FINNv25 : false # 2012-2023 # ..... Regional inventories ......... --> APEI : false # 1989-2014 --> NEI2016_MONMEAN : false # 2002-2020 --> DICE_Africa : false # 2013 # ..... Non-emissions data ........... --> CO2_COPROD : true # 2004-2009 --> PROD_CO_CH4 : true # 2010-2019 --> PROD_CO_NMVOC : true # 2010-2019 --> GMI_PROD_LOSS : true # 2005 --> GMD_SFC_CH4 : true # 1979-2020 --> CMIP6_SFC_CH4 : false # 1750-1978 # ..... Ship emissions ............... --> SHIP : true --> CEDS_01x01_SHIP : true # 1980-2019 --> HTAP_SHIP : false # 2000-2018 #------ OCS FLUX DATA --------------------------------------------------------- --> OCS_ANTHRO_FLUX : true # 2012-2016 --> OCS_BIOMASS_FLUX : true # 2012-2016 --> OCS_MISSING_OCEAN_FLUX : true # 2012-2016 --> OCS_OCEAN_FLUX : true # 2012-2016 # ----- FUTURE EMISSIONS ------------------------------------------------------ --> RCP_3PD : false # 2005-2100 --> RCP_45 : false # 2005-2100 --> RCP_60 : false # 2005-2100 --> RCP_85 : false # 2005-2100 # ----- NON-EMISSIONS DATA ---------------------------------------------------- --> OLSON_LANDMAP : false # 1985 --> YUAN_MODIS_LAI : false # 2000-2020 --> GLOBAL_OH_GC14 : false # 2010-2019 --> GLOBAL_OH_GCv5 : true # 1985 (recommended for CH4) # ----- Options for analytical inversions ------------------------------------- --> AnalyticalInversion : false --> UseTotalPriorEmis : false # Skips global/regional inventories --> Emis_PosteriorSF : false # Apply posterior scale factors to total emis? # ----------------------------------------------------------------------------- 111 GFED : on CH4/CO/CO2 --> GFED4 : true --> GFED_daily : true --> GFED_3hourly : false --> Scaling_CO : 1.05 ### END SECTION EXTENSION SWITCHES ### ############################################################################### ### BEGIN SECTION BASE EMISSIONS ############################################################################### # ExtNr Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Species ScalIDs Cat Hier (((EMISSIONS #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #%%%%% CH4 EMISSIONS %%%%% #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% (((USE_CH4_DATA #============================================================================== # ---Total CH4 emissions (all sectors) from prior simulation --- #============================================================================== (((UseTotalPriorEmis (((Emis_PosteriorSF 0 CH4_Emis_Prior ../../prior_run/OutputDir/GEOSChem.Emissions.$YYYY$MM$DD_0000z.nc4 EmisCH4_Total $YYYY/$MM/$DD/0 C xy kg/m2/s CH4 3 1 500 )))Emis_PosteriorSF (((.not.Emis_PosteriorSF 0 CH4_Emis_Prior ../../prior_run/OutputDir/GEOSChem.Emissions.$YYYY$MM$DD_0000z.nc4 EmisCH4_Total $YYYY/$MM/$DD/0 C xy kg/m2/s CH4 - 1 500 ))).not.Emis_PosteriorSF )))UseTotalPriorEmis (((.not.UseTotalPriorEmis #============================================================================== # --- CH4: Gridded GHGI v2 (Maasakkers et al., submitted to ES&T, 2023) --- # # NOTES: # - This is the main Gridded GHGI v2 dataset based off the US GHGI # published in 2020 # - Use Hier=100 to add to Canada and Mexico regional inventories # - Make sure to include offshore/coastal emissions (Hier=1 to add to EDGAR, # Hier=5 to add to GFEI; mask=1009) ### #============================================================================== (((GHGI_v2 ### Oil ### 0 GHGI_OIL_EXPLORATION $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B2a_Petroleum_Systems_Exploration 2012-2018/1-12/1/0 EFY xy molec/cm2/s CH4 51/1008 1 100 0 GHGI_COAST_OIL_EXPLORATION - - - - - - CH4 51/1009 1 5 0 GHGI_OIL_PRODUCTION $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B2a_Petroleum_Systems_Production 2012-2018/1-12/1/0 EFY xy molec/cm2/s CH4 52/1008 1 100 0 GHGI_COAST_OIL_PRODUCTION - - - - - - CH4 52/1009 1 5 0 GHGI_OIL_REFINING $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B2a_Petroleum_Systems_Refining 2012-2018/1-12/1/0 EFY xy molec/cm2/s CH4 53/1008 1 100 0 GHGI_COAST_OIL_REFINING - - - - - - CH4 53/1009 1 5 0 GHGI_OIL_TRANSPORT $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B2a_Petroleum_Systems_Transport 2012-2018/1-12/1/0 EFY xy molec/cm2/s CH4 54/1008 1 100 0 GHGI_COAST_OIL_TRANSPORT - - - - - - CH4 54/1009 1 5 ### Gas ### 0 GHGI_GAS_DISTRIBUTION $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B2b_Natural_Gas_Distribution 2012-2018/1/1/0 EFY xy molec/cm2/s CH4 1008 2 100 0 GHGI_COAST_GAS_DISTRIBUTION - - - - - - CH4 1009 2 5 0 GHGI_GAS_EXPLORATION $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B2b_Natural_Gas_Exploration 2012-2018/1-12/1/0 EFY xy molec/cm2/s CH4 55/1008 2 100 0 GHGI_COAST_GAS_EXPLORATION - - - - - - CH4 55/1009 2 5 0 GHGI_GAS_PROCESSING $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B2b_Natural_Gas_Processing 2012-2018/1/1/0 EFY xy molec/cm2/s CH4 1008 2 100 0 GHGI_COAST_GAS_PROCESSING - - - - - - CH4 1009 2 5 0 GHGI_GAS_PRODUCTION $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B2b_Natural_Gas_Production 2012-2018/1-12/1/0 EFY xy molec/cm2/s CH4 56/1008 2 100 0 GHGI_COAST_GAS_PRODUCTION - - - - - - CH4 56/1009 2 5 0 GHGI_GAS_TRANSMISSION $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B2b_Natural_Gas_TransmissionStorage 2012-2018/1/1/0 EFY xy molec/cm2/s CH4 1008 2 100 0 GHGI_COAST_GAS_TRANSMISSION - - - - - - CH4 1009 2 5 ### Coal ### 0 GHGI_COAL_UNDERGROUND $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B1a_Underground_Coal 2012-2018/1/1/0 EFY xy molec/cm2/s CH4 1008 3 100 0 GHGI_COAST_COAL_UNDERGROUND - - - - - - CH4 1009 3 5 0 GHGI_COAL_SURFACE $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B1a_Surface_Coal 2012-2018/1/1/0 EFY xy molec/cm2/s CH4 1008 3 100 0 GHGI_COAST_COAL_SURFACE - - - - - - CH4 1009 3 5 0 GHGI_COAL_ABANDONED $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B1a_Abandoned_Coal 2012-2018/1/1/0 EFY xy molec/cm2/s CH4 1008 3 100 0 GHGI_COAST_COAL_ABANDONED - - - - - - CH4 1009 3 5 ### Livestock ### 0 GHGI_LIVESTOCK_ENT $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_3A_Enteric_Fermentation 2012-2018/1/1/0 EFY xy molec/cm2/s CH4 1008 4 100 0 GHGI_COAST_LIVESTOCK_ENT - - - - - - CH4 1009 4 1 0 GHGI_LIVESTOCK_MAN $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_3B_Manure_Management 2012-2018/1-12/1/0 EFY xy molec/cm2/s CH4 57/1008 4 100 0 GHGI_COAST_LIVESTOCK_MAN - - - - - - CH4 57/1009 4 1 ### Landfills ### 0 GHGI_LANDFILLS_IND $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_5A1_Landfills_Industrial 2012-2018/1/1/0 EFY xy molec/cm2/s CH4 1008 5 100 0 GHGI_COAST_LANDFILLS_IND - - - - - - CH4 1009 5 1 0 GHGI_LANDFILLS_MSW $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_5A1_Landfills_MSW 2012-2018/1/1/0 EFY xy molec/cm2/s CH4 1008 5 100 0 GHGI_COAST_LANDFILLS_MSW - - - - - - CH4 1009 5 1 0 GHGI_LANDFILLS_COMP $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_5B1_Composting 2012-2018/1/1/0 EFY xy molec/cm2/s CH4 1008 5 100 0 GHGI_COAST_LANDFILLS_COMP - - - - - - CH4 1009 5 1 ### Wastewater ### 0 GHGI_WASTEWATER_DOM $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_5D_Wastewater_Treatment_Domestic 2012-2018/1/1/0 EFY xy molec/cm2/s CH4 1008 6 100 0 GHGI_COAST_WASTEWATER_DOM - - - - - - CH4 1009 6 1 0 GHGI_WASTEWATER_IND $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_5D_Wastewater_Treatment_Industrial 2012-2018/1/1/0 EFY xy molec/cm2/s CH4 1008 6 100 0 GHGI_COAST_WASTEWATER_IND - - - - - - CH4 1009 6 1 ### Rice ### 0 GHGI_RICE $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_3C_Rice_Cultivation 2012-2018/1-12/1/0 EFY xy molec/cm2/s CH4 58/1008 7 100 0 GHGI_COAST_RICE - - - - - - CH4 58/1009 7 1 ### Other Anthro ### 0 GHGI_OTHER_MCOMB $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1A_Combustion_Mobile 2012-2018/1/1/0 EFY xy molec/cm2/s CH4 1008 8 100 0 GHGI_COAST_OTHER_MCOMB - - - - - - CH4 1009 8 1 0 GHGI_OTHER_SCOMB $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1A_Combustion_Stationary 2012-2018/1-12/1/0 EFY xy molec/cm2/s CH4 50/1008 8 100 0 GHGI_COAST_OTHER_SCOMB - - - - - - CH4 50/1009 8 1 0 GHGI_OTHER_PIND $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_2B8_Industry_Petrochemical 2012-2018/1/1/0 EFY xy molec/cm2/s CH4 1008 8 100 0 GHGI_COAST_OTHER_PIND - - - - - - CH4 1009 8 1 0 GHGI_OTHER_FIND $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_2C2_Industry_Ferroalloy 2012-2018/1/1/0 EFY xy molec/cm2/s CH4 1008 8 100 0 GHGI_COAST_OTHER_FIND - - - - - - CH4 1009 8 1 0 GHGI_OTHER_BURN $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_3F_Field_Burning 2012-2018/1-12/1/0 EFY xy molec/cm2/s CH4 59/1008 8 100 0 GHGI_COAST_OTHER_BURN - - - - - - CH4 59/1009 8 1 0 GHGI_OTHER_ABOG $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B2ab_Abandoned_Oil_Gas 2012-2018/1/1/0 EFY xy molec/cm2/s CH4 1008 8 100 0 GHGI_COAST_OTHER_ABOG - - - - - - CH4 1009 8 1 )))GHGI_v2 #======================================================================================= # --- CH4: Gridded GHGI v2 Express Extension (Maasakkers et al., submitted to ES&T, 2023) --- # # NOTES: # - Based off the US GHGI published in 2022. # - Uses annual source-specific spatial patterns from 2012-2018 from the main # dataset to quickly incorporate more recent national methane emission estimates. # - Emissions for years after 2018 follow the 2018 spatial patterns. # - Make sure to include offshore/coastal emissions (Hier=1 to add to EDGAR, # Hier=5 to add to GFEI; mask=1009) ### #======================================================================================= (((GHGI_v2_Express_Ext (((.not.GHGI_v2 ### Oil ### 0 GHGI_EE_OIL_EXPLORATION $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B2a_Petroleum_Systems_Exploration 2012-2020/1-12/1/0 C xy molec/cm2/s CH4 51/1008 1 100 0 GHGI_EE_COAST_OIL_EXPLORATION - - - - - - CH4 51/1009 1 5 0 GHGI_EE_OIL_PRODUCTION $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B2a_Petroleum_Systems_Production 2012-2020/1-12/1/0 C xy molec/cm2/s CH4 52/1008 1 100 0 GHGI_EE_COAST_OIL_PRODUCTION - - - - - - CH4 52/1009 1 5 0 GHGI_EE_OIL_REFINING $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B2a_Petroleum_Systems_Refining 2012-2020/1-12/1/0 C xy molec/cm2/s CH4 53/1008 1 100 0 GHGI_EE_COAST_OIL_REFINING - - - - - - CH4 53/1009 1 5 0 GHGI_EE_OIL_TRANSPORT $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B2a_Petroleum_Systems_Transport 2012-2020/1-12/1/0 C xy molec/cm2/s CH4 54/1008 1 100 0 GHGI_EE_COAST_OIL_TRANSPORT - - - - - - CH4 54/1009 1 5 ### Gas ### 0 GHGI_EE_GAS_DISTRIBUTION $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B2b_Natural_Gas_Distribution 2012-2020/1/1/0 C xy molec/cm2/s CH4 1008 2 100 0 GHGI_EE_COAST_GAS_DISTRIBUTION - - - - - - CH4 1009 2 5 0 GHGI_EE_GAS_EXPLORATION $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B2b_Natural_Gas_Exploration 2012-2020/1-12/1/0 C xy molec/cm2/s CH4 55/1008 2 100 0 GHGI_EE_COAST_GAS_EXPLORATION - - - - - - CH4 55/1009 2 5 0 GHGI_EE_GAS_PROCESSING $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B2b_Natural_Gas_Processing 2012-2020/1/1/0 C xy molec/cm2/s CH4 1008 2 100 0 GHGI_EE_COAST_GAS_PROCESSING - - - - - - CH4 1009 2 5 0 GHGI_EE_GAS_PRODUCTION $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B2b_Natural_Gas_Production 2012-2020/1-12/1/0 C xy molec/cm2/s CH4 56/1008 2 100 0 GHGI_EE_COAST_GAS_PRODUCTION - - - - - - CH4 56/1009 2 5 0 GHGI_EE_GAS_TRANSMISSION $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B2b_Natural_Gas_TransmissionStorage 2012-2020/1/1/0 C xy molec/cm2/s CH4 1008 2 100 0 GHGI_EE_COAST_GAS_TRANSMISSION - - - - - - CH4 1009 2 5 0 GHGI_EE_GAS_POSTMETER $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_Supp_1B2b_PostMeter 2012-2020/1/1/0 C xy molec/cm2/s CH4 1008 2 100 ### Coal ### 0 GHGI_EE_COAL_UNDERGROUND $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B1a_Underground_Coal 2012-2020/1/1/0 C xy molec/cm2/s CH4 1008 3 100 0 GHGI_EE_COAST_COAL_UNDERGROUND - - - - - - CH4 1009 3 5 0 GHGI_EE_COAL_SURFACE $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B1a_Surface_Coal 2012-2020/1/1/0 C xy molec/cm2/s CH4 1008 3 100 0 GHGI_EE_COAST_COAL_SURFACE - - - - - - CH4 1009 3 5 0 GHGI_EE_COAL_ABANDONED $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B1a_Abandoned_Coal 2012-2020/1/1/0 C xy molec/cm2/s CH4 1008 3 100 0 GHGI_EE_COAST_COAL_ABANDONED - - - - - - CH4 1009 3 5 ### Livestock ### 0 GHGI_EE_LIVESTOCK_ENT $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_3A_Enteric_Fermentation 2012-2020/1/1/0 C xy molec/cm2/s CH4 1008 4 100 0 GHGI_EE_COAST_LIVESTOCK_ENT - - - - - - CH4 1009 4 1 0 GHGI_EE_LIVESTOCK_MAN $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_3B_Manure_Management 2012-2020/1-12/1/0 C xy molec/cm2/s CH4 57/1008 4 100 0 GHGI_EE_COAST_LIVESTOCK_MAN - - - - - - CH4 57/1009 4 1 ### Landfills ### 0 GHGI_EE_LANDFILLS_IND $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_5A1_Landfills_Industrial 2012-2020/1/1/0 C xy molec/cm2/s CH4 1008 5 100 0 GHGI_EE_COAST_LANDFILLS_IND - - - - - - CH4 1009 5 1 0 GHGI_EE_LANDFILLS_MSW $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_5A1_Landfills_MSW 2012-2020/1/1/0 C xy molec/cm2/s CH4 1008 5 100 0 GHGI_EE_COAST_LANDFILLS_MSW - - - - - - CH4 1009 5 1 0 GHGI_EE_LANDFILLS_COMP $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_5B1_Composting 2012-2020/1/1/0 C xy molec/cm2/s CH4 1008 5 100 0 GHGI_EE_COAST_LANDFILLS_COMP - - - - - - CH4 1009 5 1 ### Wastewater ### 0 GHGI_EE_WASTEWATER_DOM $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_5D_Wastewater_Treatment_Domestic 2012-2020/1/1/0 C xy molec/cm2/s CH4 1008 6 100 0 GHGI_EE_COAST_WASTEWATER_DOM - - - - - - CH4 1009 6 1 0 GHGI_EE_WASTEWATER_IND $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_5D_Wastewater_Treatment_Industrial 2012-2020/1/1/0 C xy molec/cm2/s CH4 1008 6 100 0 GHGI_EE_COAST_WASTEWATER_IND - - - - - - CH4 1009 6 1 ### Rice ### 0 GHGI_EE_RICE $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_3C_Rice_Cultivation 2012-2020/1-12/1/0 C xy molec/cm2/s CH4 58/1008 7 100 0 GHGI_EE_COAST_RICE - - - - - - CH4 58/1009 7 1 ### Other Anthro ### 0 GHGI_EE_OTHER_MCOMB $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1A_Combustion_Mobile 2012-2020/1/1/0 C xy molec/cm2/s CH4 1008 8 100 0 GHGI_EE_COAST_OTHER_MCOMB - - - - - - CH4 1009 8 1 0 GHGI_EE_OTHER_SCOMB $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1A_Combustion_Stationary 2012-2020/1-12/1/0 C xy molec/cm2/s CH4 50/1008 8 100 0 GHGI_EE_COAST_OTHER_SCOMB - - - - - - CH4 50/1009 8 1 0 GHGI_EE_OTHER_PIND $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_2B8_Industry_Petrochemical 2012-2020/1/1/0 C xy molec/cm2/s CH4 1008 8 100 0 GHGI_EE_COAST_OTHER_PIND - - - - - - CH4 1009 8 1 0 GHGI_EE_OTHER_FIND $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_2C2_Industry_Ferroalloy 2012-2020/1/1/0 C xy molec/cm2/s CH4 1008 8 100 0 GHGI_EE_COAST_OTHER_FIND - - - - - - CH4 1009 8 1 0 GHGI_EE_OTHER_BURN $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_3F_Field_Burning 2012-2020/1-12/1/0 C xy molec/cm2/s CH4 59/1008 8 100 0 GHGI_EE_COAST_OTHER_BURN - - - - - - CH4 59/1009 8 1 0 GHGI_EE_OTHER_ABOG $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Express_Extension_Gridded_GHGI_Methane_v2_$YYYY.nc emi_ch4_1B2ab_Abandoned_Oil_Gas 2012-2020/1/1/0 C xy molec/cm2/s CH4 1008 8 100 0 GHGI_EE_COAST_OTHER_ABOG - - - - - - CH4 1009 8 1 ))).not.GHGI_v2 )))GHGI_v2_Express_Ext #============================================================================== # --- CH4: Mexico emissions (Scarpelli et. al, Environ. Res. Lett., 2020) --- # # NOTES: # - Use Hier=100 to add to Canada and USA regional inventories # - Make sure to include offshore/coastal emissions # (Hier=1 to add to EDGAR, Hier=5 to add to GFEI) #============================================================================== (((Scarpelli_Mexico 0 MEX_OIL $ROOT/CH4/v2022-11/Scarpelli_Mexico/MEX_Tia2020_oil_2015.nc emis_ch4 2015/1/1/0 C xy molec/cm2/s CH4 1001 1 100 0 MEX_OIL_COAST - - - - - - CH4 1010 1 5 0 MEX_GAS $ROOT/CH4/v2022-11/Scarpelli_Mexico/MEX_Tia2020_gas_2015.nc emis_ch4 2015/1/1/0 C xy molec/cm2/s CH4 1001 2 100 0 MEX_GAS_COAST - - - - - - CH4 1010 2 5 0 MEX_COAL $ROOT/CH4/v2022-11/Scarpelli_Mexico/MEX_Tia2020_coal_2015.nc emis_ch4 2015/1/1/0 C xy molec/cm2/s CH4 1001 3 100 0 MEX_COAL_COAST - - - - - - CH4 1010 3 5 0 MEX_LIVESTOCK_A $ROOT/CH4/v2022-11/Scarpelli_Mexico/MEX_Tia2020_livestock_A_2015.nc emis_ch4 2015/1/1/0 C xy molec/cm2/s CH4 1001 4 100 0 MEX_LIVESTOCK_A_COAST - - - - - - CH4 1010 4 1 0 MEX_LIVESTOCK_B $ROOT/CH4/v2022-11/Scarpelli_Mexico/MEX_Tia2020_livestock_B_2015.nc emis_ch4 2015/1/1/0 C xy molec/cm2/s CH4 10/1001 4 100 0 MEX_LIVESTOCK_B_COAST - - - - - - CH4 10/1010 4 1 0 MEX_LANDFILLS $ROOT/CH4/v2022-11/Scarpelli_Mexico/MEX_Tia2020_landfill_2015.nc emis_ch4 2015/1/1/0 C xy molec/cm2/s CH4 1001 5 100 0 MEX_LANDFILLS_COAST - - - - - - CH4 1010 5 1 0 MEX_WASTEWATER $ROOT/CH4/v2022-11/Scarpelli_Mexico/MEX_Tia2020_waste_2015.nc emis_ch4 2015/1/1/0 C xy molec/cm2/s CH4 1001 6 100 0 MEX_WASTEWATER_COAST - - - - - - CH4 1010 6 1 0 MEX_RICE $ROOT/CH4/v2022-11/Scarpelli_Mexico/MEX_Tia2020_rice_2015.nc emis_ch4 2015/1/1/0 C xy molec/cm2/s CH4 11/1001 7 100 0 MEX_RICE_COAST - - - - - - CH4 11/1010 7 1 0 MEX_OTHER $ROOT/CH4/v2022-11/Scarpelli_Mexico/MEX_Tia2020_other_anthro_2015.nc emis_ch4 2015/1/1/0 C xy molec/cm2/s CH4 1001 8 100 0 MEX_OTHER_COAST - - - - - - CH4 1010 8 1 )))Scarpelli_Mexico #============================================================================== # --- CH4: Canada emissions (Scarpelli et al., Environ. Res. Lett., 2022) --- # # NOTES: # - Use Hier=100 to add to USA and Mexico regional inventories # - Make sure to include offshore/coastal emissions # (Hier=1 to add to EDGAR, Hier=5 to add to GFEI) #============================================================================== (((Scarpelli_Canada 0 CAN_OIL_GAS_COMBUSTION $ROOT/CH4/v2022-01/Scarpelli_Canada/can_emis_oil_gas_combustion_2018.nc oil_gas_combustion_total 2018/1/1/0 C xy kg/m2/s CH4 1002 1/2 100 0 CAN_OIL_GAS_COMBUSTION_COAST - - - - - - CH4 1011 1/2 5 0 CAN_OIL_GAS_LEAKAGE $ROOT/CH4/v2022-01/Scarpelli_Canada/can_emis_oil_gas_leakage_2018.nc oil_gas_leakage_total 2018/1/1/0 C xy kg/m2/s CH4 1002 1/2 100 0 CAN_OIL_GAS_LEAKAGE_COAST - - - - - - CH4 1011 1/2 5 0 CAN_OIL_GAS_VENT_FLARE $ROOT/CH4/v2022-01/Scarpelli_Canada/can_emis_oil_gas_vent_flare_2018.nc oil_gas_vent_flare_total 2018/1/1/0 C xy kg/m2/s CH4 1002 1/2 100 0 CAN_OIL_GAS_VENT_FLARE_COAST - - - - - - CH4 1011 1/2 5 0 CAN_COAL $ROOT/CH4/v2022-01/Scarpelli_Canada/can_emis_coal_2018.nc coal_total 2018/1/1/0 C xy kg/m2/s CH4 1002 3 100 0 CAN_COAL_COAST - - - - - - CH4 1011 3 5 0 CAN_LIVESTOCK $ROOT/CH4/v2022-01/Scarpelli_Canada/can_emis_livestock_2018.nc livestock_total 2018/1/1/0 C xy kg/m2/s CH4 1002 4 100 0 CAN_LIVESTOCK_COAST - - - - - - CH4 1011 4 1 0 CAN_SOLID_WASTE $ROOT/CH4/v2022-01/Scarpelli_Canada/can_emis_solid_waste_2018.nc solid_waste_total 2018/1/1/0 C xy kg/m2/s CH4 1002 5 100 0 CAN_SOLID_WASTE_COAST - - - - - - CH4 1011 5 1 0 CAN_WASTEWATER $ROOT/CH4/v2022-01/Scarpelli_Canada/can_emis_wastewater_2018.nc wastewater_total 2018/1/1/0 C xy kg/m2/s CH4 1002 6 100 0 CAN_WASTEWATER_COAST - - - - - - CH4 1011 6 1 0 CAN_OTHER $ROOT/CH4/v2022-01/Scarpelli_Canada/can_emis_other_minor_sources_2018.nc other_minor_sources_total 2018/1/1/0 C xy kg/m2/s CH4 1002 8 100 0 CAN_OTHER_COAST - - - - - - CH4 1011 8 1 )))Scarpelli_Canada #============================================================================== # --- CH4: Global Fuel Exploitation Inventory (GFEI v3, Scarpelli et al., 2025) --- # # This inventory will replace EDGAR (oil, gas, & coal) #============================================================================== (((GFEIv3 0 GFEI_CH4_OIL $ROOT/CH4/v2025-08/GFEIv3/Global_Fuel_Exploitation_Inventory_v3_2020_Oil_All.nc Oil_All 2020/1/1/0 C xy kg/m2/s CH4 - 1 5 0 GFEI_CH4_GAS $ROOT/CH4/v2025-08/GFEIv3/Global_Fuel_Exploitation_Inventory_v3_2020_Gas_All.nc Gas_All 2020/1/1/0 C xy kg/m2/s CH4 - 2 5 0 GFEI_CH4_COAL $ROOT/CH4/v2025-08/GFEIv3/Global_Fuel_Exploitation_Inventory_v3_2020_Coal.nc Coal 2020/1/1/0 C xy kg/m2/s CH4 - 3 5 )))GFEIv3 #============================================================================== # --- Global Rice Patty Inventory (GRPI, Zichong Chen et al., 2025) --- # # This inventory will replace EDGAR (rice) #============================================================================== (((GRPI 0 GRPI_CH4_RICE $ROOT/CH4/v2025-01/GRPI/GRPI_01x01.nc emi_ch4 2022/1-12/1/0 C xy kg/m2/s CH4 - 7 5 )))GRPI #============================================================================== # --- CH4: EDGAR v8.0 emissions --- # # NOTES: # - EDGAR v8 livestock emissions have unexplained hotspots and no seasonality. # Use EDGAR v7 emissions for that sector instead. #============================================================================== (((EDGARv8 ### Oil ### 0 EDGAR8_CH4_PRO_OIL $ROOT/CH4/v2024-02/EDGARv8/$YYYY/v8.0_FT2022_GHG_CH4_$YYYY_PRO_OIL_flx.nc emi_ch4 2010-2022/1-12/1/0 C xy kg/m2/s CH4 - 1 1 0 EDGAR8_CH4_REF_TRF $ROOT/CH4/v2024-02/EDGARv8/$YYYY/v8.0_FT2022_GHG_CH4_$YYYY_REF_TRF_flx.nc emi_ch4 2010-2022/1-12/1/0 C xy kg/m2/s CH4 - 1 1 ### Gas ### 0 EDGAR8_CH4_PRO_GAS $ROOT/CH4/v2024-02/EDGARv8/$YYYY/v8.0_FT2022_GHG_CH4_$YYYY_PRO_GAS_flx.nc emi_ch4 2010-2022/1-12/1/0 C xy kg/m2/s CH4 - 2 1 ### Coal ### 0 EDGAR8_CH4_PRO_COAL $ROOT/CH4/v2024-02/EDGARv8/$YYYY/v8.0_FT2022_GHG_CH4_$YYYY_PRO_COAL_flx.nc emi_ch4 2010-2022/1-12/1/0 C xy kg/m2/s CH4 - 3 1 ### Livestock (from EDGAR v7) ### 0 EDGAR7_CH4_LIVESTOCK__4A $ROOT/CH4/v2023-04/EDGARv7/$YYYY/v7.0_FT2021_CH4_$YYYY_ENF.0.1x0.1.nc emi_ch4 2010-2021/1-12/1/0 C xy kg/m2/s CH4 24 4 1 0 EDGAR7_CH4_LIVESTOCK__4B $ROOT/CH4/v2023-04/EDGARv7/$YYYY/v7.0_FT2021_CH4_$YYYY_MNM.0.1x0.1.nc emi_ch4 2010-2021/1-12/1/0 C xy kg/m2/s CH4 28 4 1 ### Landfills ### 0 EDGAR8_CH4_SWD_LDF $ROOT/CH4/v2024-02/EDGARv8/$YYYY/v8.0_FT2022_GHG_CH4_$YYYY_SWD_LDF_flx.nc emi_ch4 2010-2022/1-12/1/0 C xy kg/m2/s CH4 - 5 1 ### Wastewater ### 0 EDGAR8_CH4_WWT $ROOT/CH4/v2024-02/EDGARv8/$YYYY/v8.0_FT2022_GHG_CH4_$YYYY_WWT_flx.nc emi_ch4 2010-2022/1-12/1/0 C xy kg/m2/s CH4 - 6 1 ### Rice ### 0 EDGAR8_CH4_AGS $ROOT/CH4/v2024-02/EDGARv8/$YYYY/v8.0_FT2022_GHG_CH4_$YYYY_AGS_flx.nc emi_ch4 2010-2022/1-12/1/0 C xy kg/m2/s CH4 - 7 1 ### Other Anthro ### 0 EDGAR8_CH4_ENE $ROOT/CH4/v2024-02/EDGARv8/$YYYY/v8.0_FT2022_GHG_CH4_$YYYY_ENE_flx.nc emi_ch4 2010-2022/1-12/1/0 C xy kg/m2/s CH4 - 8 1 0 EDGAR8_CH4_IND $ROOT/CH4/v2024-02/EDGARv8/$YYYY/v8.0_FT2022_GHG_CH4_$YYYY_IND_flx.nc emi_ch4 2010-2022/1-12/1/0 C xy kg/m2/s CH4 - 8 1 0 EDGAR8_CH4_TNR_Aviation_CDS $ROOT/CH4/v2024-02/EDGARv8/$YYYY/v8.0_FT2022_GHG_CH4_$YYYY_TNR_Aviation_CDS_flx.nc emi_ch4 2010-2022/1-12/1/0 C xy kg/m2/s CH4 - 8 1 0 EDGAR8_CH4_TNR_Aviation_CRS $ROOT/CH4/v2024-02/EDGARv8/$YYYY/v8.0_FT2022_GHG_CH4_$YYYY_TNR_Aviation_CRS_flx.nc emi_ch4 2010-2022/1-12/1/0 C xy kg/m2/s CH4 - 8 1 0 EDGAR8_CH4_TNR_Aviation_LTO $ROOT/CH4/v2024-02/EDGARv8/$YYYY/v8.0_FT2022_GHG_CH4_$YYYY_TNR_Aviation_LTO_flx.nc emi_ch4 2010-2022/1-12/1/0 C xy kg/m2/s CH4 - 8 1 0 EDGAR8_CH4_TRO $ROOT/CH4/v2024-02/EDGARv8/$YYYY/v8.0_FT2022_GHG_CH4_$YYYY_TRO_flx.nc emi_ch4 2010-2022/1-12/1/0 C xy kg/m2/s CH4 - 8 1 0 EDGAR8_CH4_TNR_Other $ROOT/CH4/v2024-02/EDGARv8/$YYYY/v8.0_FT2022_GHG_CH4_$YYYY_TNR_Other_flx.nc emi_ch4 2010-2022/1-12/1/0 C xy kg/m2/s CH4 - 8 1 0 EDGAR8_CH4_TNR_Ship $ROOT/CH4/v2024-02/EDGARv8/$YYYY/v8.0_FT2022_GHG_CH4_$YYYY_TNR_Ship_flx.nc emi_ch4 2010-2022/1-12/1/0 C xy kg/m2/s CH4 - 8 1 0 EDGAR8_CH4_RCO $ROOT/CH4/v2024-02/EDGARv8/$YYYY/v8.0_FT2022_GHG_CH4_$YYYY_RCO_flx.nc emi_ch4 2010-2022/1-12/1/0 C xy kg/m2/s CH4 - 8 1 0 EDGAR8_CH4_CHE $ROOT/CH4/v2024-02/EDGARv8/$YYYY/v8.0_FT2022_GHG_CH4_$YYYY_CHE_flx.nc emi_ch4 2010-2022/1-12/1/0 C xy kg/m2/s CH4 - 8 1 0 EDGAR8_CH4_IRO $ROOT/CH4/v2024-02/EDGARv8/$YYYY/v8.0_FT2022_GHG_CH4_$YYYY_IRO_flx.nc emi_ch4 2010-2022/1-12/1/0 C xy kg/m2/s CH4 - 8 1 # Comment out to avoid double counting with GFED #0 EDGAR8_CH4_AWB $ROOT/CH4/v2024-02/EDGARv8/$YYYY/v8.0_FT2022_GHG_CH4_$YYYY_AWB_flx.nc emi_ch4 2010-2022/1-12/1/0 C xy kg/m2/s CH4 - 8 1 0 EDGAR8_CH4_SWD_INC $ROOT/CH4/v2024-02/EDGARv8/$YYYY/v8.0_FT2022_GHG_CH4_$YYYY_SWD_INC_flx.nc emi_ch4 2010-2022/1-12/1/0 C xy kg/m2/s CH4 - 8 1 )))EDGARv8 #============================================================================== # --- CH4: CEDS (historical) or Shared Socioeconomic Pathways (future) --- #============================================================================== (((CMIP6_SFC_LAND_ANTHRO 0 CMIP6_CH4_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_agr 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 4 1 0 CMIP6_CH4_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_ene 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 2 1 0 CMIP6_CH4_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_ind 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 8 1 0 CMIP6_CH4_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_tra 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 8 1 0 CMIP6_CH4_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_rco 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 2 1 0 CMIP6_CH4_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_slv 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 8 1 0 CMIP6_CH4_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_wst 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 5 1 )))CMIP6_SFC_LAND_ANTHRO (((CMIP6_SHIP 0 CMIP6_CH4_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_shp 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 8 1 )))CMIP6_SHIP #============================================================================== # --- CH4: BB4MIPs historical / SSP future biomass burning inventories --- #============================================================================== (((BB4MIPS 0 CMIP6_BB_CH4 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_bbn 1750-2015/1-12/1/0 C xyL=1:PBL kg/m2/s CH4 75 9 1 )))BB4MIPS #============================================================================== # --- CH4: QFED2 biomass burning --- # # Use QFED v2.4r8 for CH4. The data in QFED/v2014-09 are for v2.4r5 and have # been found to be buggy for CH4 (same emissions on each day). #============================================================================== (((QFED2 0 QFED_CH4 $ROOT/CH4/v2017-10/QFED/QFEDv2.4r8.emis_ch4.$YYYY.nc emi_ch4 2009-2015/1-12/1-31/0 C xy molec/cm2/s CH4 - 9 2 )))QFED2 #============================================================================== # --- JPL WetCHARTs v1.0 wetland emissions --- # # Reference: Bloom et al., https://doi.org/10.3334/ORNLDAAC/1502 # Use updated files (v2024-01); these are COARDS-compliant. #============================================================================== (((JPL_WETCHARTS 0 JPLW_CH4 $ROOT/CH4/v2024-01/JPL_WetCharts/HEensemble/JPL_WetCharts_2010-2019.Ensemble_Mean.0.5x0.5.nc emi_ch4 2010/1-12/1/0 C xy molec/cm2/s CH4 - 10 1 )))JPL_WETCHARTS #============================================================================== # --- LPJ MERRA-2 wetland emissions --- # # Reference: East et al., https://agupubs.onlinelibrary.wiley.com/doi/full/10.1029/2024GL108494 #============================================================================== (((LPJ_MERRA2 0 LPJ_CH4 $ROOT/CH4/v2025-09/LPJ_MERRA2/LPJ_MERRA2_$YYYY_0.5x0.5.nc emis_ch4 2018-2023/1-12/1/0 C xy kg/m2/s CH4 - 10 2 )))LPJ_MERRA2 #============================================================================== # --- CH4: Geological Seeps --- #============================================================================== (((SEEPS 0 CH4_SEEPS $ROOT/CH4/v2020-04/Seeps/Etiope_CH4GeologicalEmis_ScaledToHmiel.1x1.nc emi_ch4 2012/1/1/0 C xy kg/m2/s CH4 - 11 1 )))SEEPS #============================================================================== # --- CH4: Emissions from Lakes (Maasakkers et al., 2019) --- #============================================================================== (((LAKES 0 CH4_LAKES $ROOT/CH4/v2022-11/Lakes/Maasakkers_Lakes_$YYYY.01x01.nc emi_ch4 $YYYY/1-12/1/0 C xy molec/cm2/s CH4 - 12 1 )))LAKES #============================================================================== # --- Emissions from Hydroelectric Reservoirs (Delwich et al., 2022) --- # # Use updated files (v2024-01); these are COARDS-compliant. #============================================================================== (((RESERVOIRS 0 CH4_RES_DAM $ROOT/CH4/v2024-01/ResME/ResME_Dam_Emissions.0.1x0.1.nc CH4emis 2022/1-12/1/0 C xy kg/m2/s CH4 1500 15 1 0 CH4_RES_SFC $ROOT/CH4/v2024-01/ResME/ResME_Surface_Emissions.0.1x0.1.nc CH4emis 2022/1-12/1/0 C xy kg/m2/s CH4 1500 15 1 )))RESERVOIRS #============================================================================== # --- CH4: Termites from CAMS-GLOB-TERM.v1.1 --- #============================================================================== (((CAMS_TERMITES 0 CH4_TERMITES $ROOT/CH4/v2026-02/CAMS_Termites/CAMS-GLOB-TERM_v1.1_methane_2000.nc CH4 2000/1-12/1/0 C xy kg/m2/s CH4 - 13 1 )))CAMS_TERMITES #============================================================================== # --- CH4: Soil absorption from MeMo model (Murguia-Flores et al. 2018, GMD) --- # # - Multiply soil absorption by -1 to get a "negative" flux #============================================================================== (((MeMo_SOIL_ABSORPTION # Climatology 0 CH4_SOILABSORB $ROOT/CH4/v2019-10/MeMo_SoilAbs/MeMo_CH4uptake_Climatology.nc CH4uptake 2009/1-12/1/0 C xy kg/m2/s CH4 1 14 2 # 1990-2009 #0 CH4_SOILABSORB $ROOT/CH4/v2019-10/MeMo_SoilAbs/MeMo_CH4uptake_1990-2009.nc CH4uptake 1990-2009/1-12/1/0 C xy kg/m2/s CH4 1 14 2 )))MeMo_SOIL_ABSORPTION #============================================================================== # --- CH4: RCP future emission scenarios --- #============================================================================== (((RCP_3PD 0 RCP3PD_CH4 $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_CH4_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CH4 - 1 1 )))RCP_3PD (((RCP_45 0 RCP45_CH4 $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_CH4_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CH4 - 1 1 )))RCP_45 (((RCP_60 0 RCP60_CH4 $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_CH4_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CH4 - 1 1 )))RCP_60 (((RCP_85 0 RCP85_CH4 $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_CH4_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CH4 - 1 1 )))RCP_85 ))).not.UseTotalPriorEmis )))USE_CH4_DATA #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #%%%%% CO EMISSIONS %%%%% #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% (((USE_CO_DATA #============================================================================== # --- CO: APEI (Canada) --- #============================================================================== (((APEI 0 APEI_CO $ROOT/APEI/v2016-11/APEI.0.1x0.1.nc CO 1989-2014/1/1/0 RF xy kg/m2/s CO 26/52/2002 1 30 )))APEI #============================================================================== # --- CO: EPA NEI2016 v1 (USA) --- # # NOTES: # * Barron Henderson wrote, "The EPA emission modeling platform always # includes our best estimate of that year's emissions for Canada and Mexico # (othpt, othar, ptfire_oth). Using that estimate is likely good. However, # that can lead to a discontinuity in Mexico and Canada." # - By default only emissions over the CONUS are used (via Mask #2007) # - To include emissions over Canada and Mexico, users may revert to the old # US mask file $ROOT/MASKS/v2018-09/USA_LANDMASK_NEI2011_0.1x0.1.20160921.nc # * The base year of these emissions is 2016 and emissions are scaled to # 2002-2020 using data from the EPA Trends Report for Tier 1 CAPS (obtained # 21 Sep 2021). # - See NEI2016/v2021-06/national_tier1_caps+HEMCOscaling.xlsx for details. # - Cl2 and HCl emissions are only available for 2016 because those species # aren't included in the Tier 1 CAPS file/ #============================================================================== (((NEI2016_MONMEAN 0 EPA16_CO__airportsCO $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/2007 1 50 0 EPA16_CO__nonptCO $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/2007 1 50 0 EPA16_CO__nonroadCO $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/2007 1 50 0 EPA16_CO__npogCO $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/2007 1 50 0 EPA16_CO__onroadCO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/2007 1 50 0 EPA16_CO__onroad_caCO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/2007 1 50 0 EPA16_CO__railCO $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/2007 1 50 0 EPA16_CO__c1c2CO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xyz kg/m2/s CO 26/211/252/2007 1 50 0 EPA16_CO__c3CO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xyz kg/m2/s CO 26/211/252/2007 1 50 0 EPA16_CO__pteguCO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xyz kg/m2/s CO 26/211/252/2007 1 50 0 EPA16_CO__ptogCO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xyz kg/m2/s CO 26/211/252/2007 1 50 0 EPA16_CO__ptnonipmCO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xyz kg/m2/s CO 26/211/252/2007 1 50 0 EPA16_CO__onroad_canCO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/2007 1 50 0 EPA16_CO__onroad_mexCO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/2007 1 50 0 EPA16_CO__otharCO $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/2007 1 50 0 EPA16_CO__othptCO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/2007 1 50 )))NEI2016_MONMEAN #============================================================================== # --- CO: DICE-Africa emission inventory (Marais and Wiedinmyer, ES&T, 2016) --- # # DICE-Africa includes regional (Africa) emissions of biofuel and diffuse # anthropogenic emissions from cars and motorcycles, biofuels, charcoal making # and use, backup generators, agricultural waste burning for cooking, gas # flares, and ad-hoc/informal oil refining. # # Other pollution sources (formal industry, power generation using fossil # fuels) are from the EDGAR v4.3 inventory for CO, SO2, NH3, NOx BC, and OC. # # NMVOCs from sources not accounted for in DICE-Africa aren't included here, # as these emissions are likely to be low compared to the DICE pollution # sources and RETRO v1 as implemented in GEOS-Chem doesn't distinguish # emissions by sector/activity. # # Emissions for 2013 are defined below, but DICE-Africa also includes # emissions for 2006. Developers recommend using population change to # estimate emissions, if users want to use annual trends in pollutant # emissions to estimate in other years. #============================================================================== (((DICE_Africa 0 DICE_CARS_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/2008 1 60 0 DICE_MOTORCYCLES_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/2008 1 60 0 DICE_BACKUPGEN_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/2008 1 60 0 DICE_CHARCOALPROD_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/2008/320 1 60 0 DICE_GASFLARE_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/2008 1 60 0 DICE_AGBURNING_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/2008 2 60 0 DICE_CHARCOALUSE_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/2008 2 60 0 DICE_KEROSENE_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-kerosene-use-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/2008 1 60 0 DICE_OILREFINING_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/2008 1 60 0 DICE_HOUSEFUELWOOD_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/2008 2 60 0 DICE_OTHERFUELWOOD_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/2008 2 60 # --------------------------------------------------- # Efficient Combustion Emissions from EDGAR # This makes up for sources that DICE-Africa lacks # --------------------------------------------------- 0 AF_EDGAR_CO_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.POW.0.1x0.1.nc emi_co 1970-2010/1/1/0 RF xy kg/m2/s CO 1201/26/52/2008 1 60 0 AF_EDGAR_CO_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.ENG.0.1x0.1.nc emi_co 1970-2010/1/1/0 RF xy kg/m2/s CO 1202/26/52/2008 1 60 0 AF_EDGAR_CO_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.IND.0.1x0.1.nc emi_co 1970-2010/1/1/0 RF xy kg/m2/s CO 1203/26/52/2008 1 60 0 AF_EDGAR_CO_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.TNG.0.1x0.1.nc emi_co 1970-2010/1/1/0 RF xy kg/m2/s CO 1205/26/52/2008 1 60 0 AF_EDGAR_CO_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.PPA.0.1x0.1.nc emi_co 1970-2010/1/1/0 RF xy kg/m2/s CO 1207/26/52/2008 1 60 0 AF_EDGAR_CO_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.SWD.0.1x0.1.nc emi_co 1970-2010/1/1/0 RF xy kg/m2/s CO 1211/26/52/2008 1 60 )))DICE_Africa #============================================================================== # --- CO: CEDS_01x01 --- # # %%% This is the default global inventory. %%% # %%% You may select either CEDS, EDGAR, HTAP or CMIP6_SFC_LAND_ANTHRO %%% # %%% for the global base emissions. %%% #============================================================================== (((CEDS_01x01 0 CEDS_CO_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_agr 1980-2019/1-12/1/0 C xy kg/m2/s CO 2401 1 5 0 CEDS_CO_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s CO 2406/706/315 1 5 0 CEDS_CO_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s CO 2407/707/316 1 5 0 CEDS_CO_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_tra 1980-2019/1-12/1/0 C xy kg/m2/s CO 2411/711 1 5 0 CEDS_CO_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_rco 1980-2019/1-12/1/0 C xy kg/m2/s CO 2409/709 1 5 0 CEDS_CO_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_slv 1980-2019/1-12/1/0 C xy kg/m2/s CO 2407/707 1 5 0 CEDS_CO_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_wst 1980-2019/1-12/1/0 C xy kg/m2/s CO 26 1 5 )))CEDS_01x01 #============================================================================== # --- CO: CMIP6_SFC_LAND_ANTHRO --- # CEDS (historical) or Shared Socioeconomic Pathways (future), consistent with # the CMIP6 simulation experimental design. # # Make sure that the desired $GCAPSCENARIO is set above in SECTION SETTINGS #============================================================================== (((CMIP6_SFC_LAND_ANTHRO 0 CMIP6_CO_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_agr 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 1 5 0 CMIP6_CO_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_ene 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 1 5 0 CMIP6_CO_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_ind 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 1 5 0 CMIP6_CO_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_tra 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 1 5 0 CMIP6_CO_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_rco 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 1 5 0 CMIP6_CO_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_slv 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 1 5 0 CMIP6_CO_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_wst 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 1 5 )))CMIP6_SFC_LAND_ANTHRO #============================================================================== # CO: CEDS (historical) or Shared Socioeconomic Pathways (future) aircraft # emissions, consistent with the CMIP6 simulation experimental design # # Make sure that the desired $GCAPSCENARIO is set above in SECTION SETTINGS #============================================================================== (((CMIP6_AIRCRAFT 0 CMIP6_AIR_CO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY_AIR.$GCAP2VERTRESL.nc4 CO_air 1750-2100/1-12/1/0 C xyz kg/m2/s CO 26 20 1 )))CMIP6_AIRCRAFT #============================================================================== # --- CO: HTAP v2 --- # # %%% This is an optional inventory. You may select either CEDS, EDGAR, # or HTAP for the global base emissions %%% # # ==> HTAP ship emissions are listed in the ship emissions section below # ==> Disable aircraft emissions and get them from AEIC instead. #============================================================================== (((HTAP 0 HTAP_CO_IND $ROOT/HTAP/v2015-03/CO/EDGAR_HTAP_CO_INDUSTRY.generic.01x01.nc emi_co 2008-2010/1-12/1/0 C xy kg/m2/s CO 506/528/26 1 4 0 HTAP_CO_POW $ROOT/HTAP/v2015-03/CO/EDGAR_HTAP_CO_ENERGY.generic.01x01.nc emi_co 2008-2010/1-12/1/0 C xy kg/m2/s CO 506/528/26 1 4 0 HTAP_CO_RES $ROOT/HTAP/v2015-03/CO/EDGAR_HTAP_CO_RESIDENTIAL.generic.01x01.nc emi_co 2008-2010/1-12/1/0 C xy kg/m2/s CO 506/528/26 1 4 0 HTAP_CO_TRA $ROOT/HTAP/v2015-03/CO/EDGAR_HTAP_CO_TRANSPORT.generic.01x01.nc emi_co 2008-2010/1-12/1/0 C xy kg/m2/s CO 506/528/26 1 4 #0 HTAP_CO_AIR1 $ROOT/HTAP/v2015-03/CO/EDGAR_HTAP_CO_AIR_LTO.generic.01x01.nc emi_co 2008-2010/1/1/0 C xy kg/m2/s CO 506/528/26 1 4 #0 HTAP_CO_AIR2 $ROOT/HTAP/v2015-03/CO/EDGAR_HTAP_CO_AIR_CDS.generic.01x01.nc emi_co 2008-2010/1/1/0 C xy kg/m2/s CO 506/528/26 1 4 #0 HTAP_CO_AIR3 $ROOT/HTAP/v2015-03/CO/EDGAR_HTAP_CO_AIR_CRS.generic.01x01.nc emi_co 2008-2010/1/1/0 C xy kg/m2/s CO 506/528/26 1 4 )))HTAP #============================================================================== # --- CO: Ship emissions --- # # ==> CEDS ship emissions are now the default. # ==> If CEDS_SHIP is turned off above then ARCTAS should be used over ICOADS, # CORBETT, and HTAP for SO2 and ICOADS should be used for CO and NO. # ==> Ship NO emissions are used by PARANOx and the extension number must be # adjusted accordingly. If PARANOx is turned off, set the ExtNr back to # zero. #============================================================================== (((SHIP (((HTAP_SHIP 0 HTAP_SHIP_CO $ROOT/HTAP/v2015-03/EDGAR_HTAP_CO_SHIPS.generic.01x01.nc CO 2008-2010/1/1/0 C xy kg/m2/s CO 506/528 10 4 )))HTAP_SHIP (((CEDS_01x01_SHIP 0 CEDS_CO_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_shp 1980-2019/1-12/1/0 C xy kg/m2/s CO 26 10 5 )))CEDS_01x01_SHIP #============================================================================== # --- CO: CMIP6_SHIP --- # CEDS (historical) or Shared Socioeconomic Pathways (future), consistent with # the CMIP6 simulation experimental design. # # Make sure that the desired $GCAPSCENARIO is set above in SECTION SETTINGS #============================================================================== (((CMIP6_SHIP 0 CMIP6_CO_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_shp 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 10 5 )))CMIP6_SHIP )))SHIP #============================================================================== # --- CO: AEIC 2019 aircraft emissions --- # # Data files are for 2019, but scale factors from 1990-2019 can be applied # in order to get year-specific emissions. See the notes in the AEIC2019 # scale factor section below for more information. #============================================================================== (((AEIC2019_DAILY 0 AEIC19_DAILY_CO $ROOT/AEIC2019/v2022-03/2019/AEIC_2019$MM$DD.0.5x0.625.36L.nc CO 2019/1-12/1-31/0 C xyz kg/m2/s CO 241 20 1 )))AEIC2019_DAILY (((AEIC2019_MONMEAN 0 AEIC19_MONMEAN_CO $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc CO 2019/1-12/1/0 C xyz kg/m2/s CO 241 20 1 )))AEIC2019_MONMEAN #============================================================================== # --- CO: RCP future emissions scenarios --- #============================================================================== (((RCP_3PD 0 RCP3PD_CO $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_CO_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CO - 1 1 )))RCP_3PD (((RCP_45 0 RCP45_CO $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_CO_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CO - 1 1 )))RCP_45 (((RCP_60 0 RCP60_CO $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_CO_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CO - 1 1 )))RCP_60 (((RCP_85 0 RCP85_CO $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_CO_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CO - 1 1 )))RCP_85 #============================================================================== # --- CO biomass burning (base emissions) --- #============================================================================== # --- QFED2 (v2.5r1) --- (((QFED2 0 QFED_CO_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_co.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EF xyL=1:PBL kg/m2/s CO 54/75/311 5 2 0 QFED_CO_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_co.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EF xyL=PBL:5500m kg/m2/s CO 54/75/312 5 2 )))QFED2 # --- GFAS --- (((GFAS 0 GFAS_CO $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc cofire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s CO 75 5 3 )))GFAS # --- FINNv2.5 biomass burning --- (((FINNv25 0 FINNv25_CO $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_CO_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_CO 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s CO 75 5 3 )))FINNv25 # --- BB4MIPs --- (((BB4MIPS 0 CMIP6_BB_CO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s CO 75 5 3 )))BB4MIPS )))USE_CO_DATA #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #%%%%% CO2 EMISSIONS %%%%% #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% (((USE_CO2_DATA #============================================================================== # --- CO2: FOSSIL FUEL EMISSIONS --- # # National CO2 fossil fuel emissions exclude international shipping and aviation # Carbon Dioxide Information Analysis Center (CDIAC) 1x1 national emissions # (Andres et al., 2011) # Open-source Data Inventory of Anthropogenic CO2 (ODIAC) 1x1 national emissions # (Oda & Maksyutov, 2011) # # ---> Recommended option: ODIAC (set FOSSIL_ODIAC = true) # ODIAC updated to v2019 by J. Fisher and Y. Cao, 12/2019 #============================================================================== (((FOSSIL_CDIAC 0 FOSSILCO2_CDIAC $ROOT/CO2/v2014-09/FOSSIL/CDIAC_v2014.monthly.generic.1x1.nc CO2 1980-2014/1-12/1/0 C xy kg/m2/s CO2 440/441/480 1 1 )))FOSSIL_CDIAC (((FOSSIL_ODIAC 0 FOSSILCO2_ODIAC $ROOT/CO2/v2022-11/FOSSIL/ODIAC_CO2.monthly.generic.1x1.nc CO2 2000-2018/1-12/1/0 C xy kg/m2/s CO2 440/441/480 1 2 )))FOSSIL_ODIAC #============================================================================== # --- CO2: OCEAN EXCHANGE EMISSIONS --- # # Ocean uptake/emission from Takahashi et al. (2009) and earlier works. # Climatological exchange for 2000 (-1.4 PgC/yr) or scaled ocean exchange, which # accounts for changing atmospheric CO2 (as in the paper) are now available. # # ---> Recommended option: scaled ocean exchange (set OCEAN_EXCH_SCALED = true) #============================================================================== (((OCEAN_EXCH_TAKA09 0 OCEANCO2_TAKA_ANNUAL $ROOT/CO2/v2022-11/OCEAN/Taka2009_CO2_Annual.nc CO2 2000/1/1/0 C xy kg/m2/s CO2 - 2 1 0 OCEANCO2_TAKA_MONTHLY $ROOT/CO2/v2022-11/OCEAN/Taka2009_CO2_Monthly.nc CO2 2000/1-12/1/0 C xy kg/m2/s CO2 - 2 2 )))OCEAN_EXCH_TAKA09 (((OCEAN_EXCH_SCALED 0 OCEANCO2_SCALED_MONTHLY $ROOT/CO2/v2022-11/OCEAN/Scaled_Ocean_CO2_monthly.nc CO2 2000-2013/1-12/1/0 C xy kg/m2/s CO2 - 2 3 )))OCEAN_EXCH_SCALED #============================================================================== # --- CO2: BALANCED BIOSPHERE EXCHANGE --- # # These emissions have a seasonal cycle of uptake/emission but have a net # annual uptake of close to zero (balanced). # CASA model daily emissions for a single year at coarse resolution have a # diurnal cycle imposed (Olsen & Randerson, 2004) # SiB3 emissions are from Nick Parazoo (Messerschmidt et al., 2011) for # 2006-2010. # # ---> Recommended option: SiB3 (set BBIO_SIB3 = true) #============================================================================== (((BBIO_DIURNAL 0 BBIOCO2_DIURNAL $ROOT/CO2/v2014-09/BBIO/BBIO_diurnal_CO2.nc CO2 1985/1-12/1-31/0-23 C xy kg/m2/s CO2 - 3 1 )))BBIO_DIURNAL (((BBIO_SIB3 0 SIB_BBIO_CO2 $ROOT/CO2/v2022-11/BIO/SiB3_3hr_NEP.nc CO2 2006-2010/1-12/1-31/0-23 C xy kg/m2/s CO2 - 3 1 )))BBIO_SIB3 #============================================================================== # --- CO2: NET TERRESTRIAL EXCHANGE --- # # TransCom annual net/residual terrestrial biosperhic CO2 (Baker et al., 2006) # # ---> Recommended for use in forward modelling, optional for # inversion/assimilation #============================================================================== (((NET_TERR_EXCH 0 CO2_NET_TERRESTRIAL $ROOT/CO2/v2022-11/BIO/Net_terrestrial_exch_5.29Pg.generic.1x1.nc CO2 2000/1/1/0 C xy kg/m2/s CO2 - 5 1 )))NET_TERR_EXCH #============================================================================== # --- CO2: SHIP EMISSIONS --- #============================================================================== (((SHIP (((ICOADS_SHIP # The spatial distribution is scaled with global annual scale factors #50 0 ICOADS_CO2_SHIP $ROOT/ICOADS_SHIP/v2014-07/ICOADS_ship_CO2_2004.generic.1x1.nc CO2 2004/1-12/1/0 C xy kg/m2/s CO2 50 6 1 )))ICOADS_SHIP (((CEDS_01x01_SHIP 0 CEDS_CO2_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO2_0.1x0.1_$YYYY.nc CO2_shp 1980-2019/1-12/1/0 C xy kg/m2/s CO2 - 6 1 )))CEDS_01x01_SHIP )))SHIP #============================================================================== # --- CO2: AEIC 2019 aircraft emissions --- # # Data files are for 2019, but scale factors from 1990-2019 can be applied # in order to get year-specific emissions. See the notes in the AEIC2019 # scale factor section below for more information. #============================================================================== (((AEIC2019_DAILY 0 AEIC19_DAILY_CO2 $ROOT/AEIC2019/v2022-03/2019/AEIC_2019$MM$DD.0.5x0.625.36L.nc FUELBURN 2019/1-12/1-31/0 C xyz kg/m2/s CO2 241/260 20 1 )))AEIC2019_DAILY (((AEIC2019_MONMEAN 0 AEIC19_MONMEAN_CO2 $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc FUELBURN 2019/1-12/1/0 C xyz kg/m2/s CO2 241/260 20 1 )))AEIC2019_MONMEAN #============================================================================== # --- CO2: SURFACE CORRECTION FOR CO OXIDATION --- # # These emissions will be subtracted! # Fossil fuel CO and CH4 are based on the national distribution scaled with #10. # Biogenic CH4 data is converted to CO2 using scale factor #20. # Isoprene and monoterpene are converted from kgC to kgCO2 by scale factor #21. # Approach is described in Nassar et al. (2010) # # ---> Recommended for use if chemical production (above) is turned on # # Now multiply by scale factor of -1.0 (#1 in scale factor section below) # to make these emissions negative, so that they will be subtracted. =============================================================================== (((CO2CORR 0 FOSSILCO2_MONTHLY $ROOT/CO2/v2022-11/FOSSIL/ODIAC_CO2.monthly.generic.1x1.nc CO2 2000-2018/1-12/1/0 C xy kg/m2/s CO2 410/440/441/480/1 8 1 0 CO2_LIVESTOCK $ROOT/CO2/v2022-11/CHEM/CH4_source.geos.2x25.nc CH4_004 2004/1-12/1/0 C xy kg/m2/s CO2 420/1 8 1 0 CO2_WASTE $ROOT/CO2/v2022-11/CHEM/CH4_source.geos.2x25.nc CH4_005 2004/1-12/1/0 C xy kg/m2/s CO2 420/1 8 1 0 CO2_RICE $ROOT/CO2/v2022-11/CHEM/CH4_source.geos.2x25.nc CH4_007 2004/1-12/1/0 C xy kg/m2/s CO2 420/1 8 1 0 CO2_WETLANDS $ROOT/CO2/v2022-11/CHEM/CH4_source.geos.2x25.nc CH4_010 2004/1-12/1/0 C xy kg/m2/s CO2 420/1 8 1 0 CO2_NATURAL $ROOT/CO2/v2022-11/CHEM/CH4_source.geos.2x25.nc CH4_012 2004/1-12/1/0 C xy kg/m2/s CO2 420/1 8 1 0 CO2_ISOPRENE $ROOT/CO2/v2022-11/CHEM/Isoprene-2004.geos.2x25.nc ISOP 2004/1-12/1/0 C xy kg/m2/s CO2 421/430/1 8 1 0 CO2_MONOTERP $ROOT/CO2/v2022-11/CHEM/Monoterpene-2004.geos.2x25.nc MONOT 2004/1-12/1/0 C xy kg/m2/s CO2 421/430/1 8 1 )))CO2CORR )))USE_CO2_DATA #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #%%%%% OCS FLUXES (cf Kevin Bowman/JPL) %%%%% #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% (((USE_OCS_DATA (((OCS_ANTHRO_FLUX 0 OCS_ANTHRO $ROOT/OCS_FLUX/v2022-11/anthro_v3/v3_anthro/$YYYY/$MM.nc COS_Flux 2012-2016/1-12/1/0 C xy kgS/km2/s OCS 70 1 1 )))OCS_ANTHRO_FLUX (((OCS_BIOMASS_FLUX 0 OCS_BIOMASS $ROOT/OCS_FLUX/v2022-11/Biomassburn/CMSV2-CO2-GFED3-ZC/$YYYY/$MM.nc COS_Flux 2012-2016/1-12/1/0 C xy kgS/km2/s OCS 70 2 1 )))OCS_BIOMASS_FLUX (((OCS_MISSING_OCEAN_FLUX 0 OCS_MISSING_OCEAN $ROOT/OCS_FLUX/v2022-11/MissingOcean/LUKAI/$YYYY/$MM.nc COS_Flux 2012-2016/1-12/1/0 C xy kgS/km2/s OCS 70 3 1 )))OCS_MISSING_OCEAN_FLUX (((OCS_OCEAN_FLUX 0 OCS_OCEAN $ROOT/OCS_FLUX/v2022-11/OceanCOS/Kettle/$YYYY/$MM.nc COS_Flux 2012-2016/1-12/1/0 C xy kgS/km2/s OCS 70 4 1 )))OCS_OCEAN_FLUX )))USE_OCS_DATA ############################################################################### ### EXTENSION DATA (subsection of BASE EMISSIONS SECTION) ### ### These fields are needed by the extensions listed above. The assigned ExtNr ### must match the ExtNr entry in section 'Extension switches'. These fields ### are only read if the extension is enabled. The fields are imported by the ### extensions by field name. The name given here must match the name used ### in the extension's source code. ############################################################################### #============================================================================== # --- GFED biomass burning emissions (Extension 111) # NOTE: These are the base emissions in kgDM/m2/s. #============================================================================== (((GFED4 111 GFED_TEMP $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_TEMP 2010-2023/1-12/01/0 RF xy kgDM/m2/s * - 1 1 111 GFED_AGRI $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_AGRI 2010-2023/1-12/01/0 RF xy kgDM/m2/s * - 1 1 111 GFED_DEFO $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_DEFO 2010-2023/1-12/01/0 RF xy kgDM/m2/s * - 1 1 111 GFED_BORF $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_BORF 2010-2023/1-12/01/0 RF xy kgDM/m2/s * - 1 1 111 GFED_PEAT $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_PEAT 2010-2023/1-12/01/0 RF xy kgDM/m2/s * - 1 1 111 GFED_SAVA $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_SAVA 2010-2023/1-12/01/0 RF xy kgDM/m2/s * - 1 1 (((GFED_daily 111 GFED_FRAC_DAY $ROOT/GFED4/v2023-03/$YYYY/GFED4_dailyfrac_gen.025x025.$YYYY$MM.nc GFED_FRACDAY 2010-2023/1-12/1-31/0 RF xy 1 * - 1 1 )))GFED_daily (((GFED_3hourly 111 GFED_FRAC_3HOUR $ROOT/GFED4/v2023-03/$YYYY/GFED4_3hrfrac_gen.025x025.$YYYY$MM.nc GFED_FRAC3HR 2010-2023/1-12/1/0-23 RF xy 1 * - 1 1 )))GFED_3hourly )))GFED4 )))EMISSIONS ############################################################################### ### NON-EMISSIONS DATA (subsection of BASE EMISSIONS SECTION) ### ### Non-emissions data. The following fields are read through HEMCO but do ### not contain emissions data. The extension number is set to wildcard ### character denoting that these fields will not be considered for emission ### calculation. A given entry is only read if the assigned species name is ### an HEMCO species. ############################################################################### #============================================================================== # --- Time zones (offset to UTC) --- #============================================================================== * TIMEZONES $ROOT/TIMEZONES/v2024-02/timezones_vohra_2017_0.1x0.1.nc UTC_OFFSET 2017/1-12/1/0 C xy count * - 1 1 #============================================================================== # --- Meteorology fields --- #============================================================================== (((METEOROLOGY >>>include ${RUNDIR_MET_FIELD_CONFIG} )))METEOROLOGY #============================================================================== # --- GEOS-Chem restart file --- #============================================================================== (((GC_RESTART * SPC_ ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 SpeciesRst_?ALL? $YYYY/$MM/$DD/$HH EFYO xyz 1 * - 1 1 * DELPDRY ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Met_DELPDRY $YYYY/$MM/$DD/$HH EY xyz 1 * - 1 1 )))GC_RESTART #============================================================================== # --- GEOS-Chem boundary condition file --- #============================================================================== (((GC_BCs * BC_ $ROOT/SAMPLE_BCs/v2021-07/CH4/GEOSChem.BoundaryConditions.$YYYY$MM$DD_0000z.nc4 SpeciesBC_?ADV? 1900-2100/1-12/1-31/* EFY xyz 1 * - 1 1 )))GC_BCs #============================================================================== # --- Olson land map masks --- #============================================================================== (((OLSON_LANDMAP * LANDTYPE00 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE00 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE01 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE01 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE02 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE02 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE03 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE03 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE04 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE04 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE05 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE05 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE06 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE06 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE07 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE07 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE08 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE08 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE09 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE09 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE10 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE10 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE11 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE11 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE12 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE12 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE13 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE13 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE14 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE14 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE15 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE15 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE16 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE16 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE17 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE17 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE18 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE18 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE19 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE19 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE20 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE20 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE21 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE21 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE22 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE22 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE23 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE23 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE24 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE24 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE25 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE25 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE26 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE26 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE27 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE27 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE28 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE28 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE29 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE29 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE30 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE30 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE31 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE31 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE32 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE32 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE33 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE33 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE34 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE34 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE35 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE35 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE36 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE36 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE37 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE37 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE38 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE38 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE39 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE39 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE40 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE40 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE41 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE41 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE42 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE42 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE43 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE43 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE44 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE44 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE45 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE45 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE46 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE46 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE47 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE47 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE48 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE48 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE49 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE49 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE50 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE50 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE51 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE51 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE52 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE52 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE53 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE53 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE54 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE54 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE55 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE55 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE56 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE56 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE57 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE57 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE58 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE58 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE59 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE59 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE60 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE60 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE61 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE61 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE62 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE62 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE63 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE63 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE64 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE64 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE65 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE65 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE66 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE66 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE67 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE67 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE68 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE68 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE69 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE69 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE70 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE70 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE71 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE71 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE72 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE72 1985/1/1/0 C xy 1 * - 1 1 )))OLSON_LANDMAP #============================================================================== # --- Yuan processed MODIS leaf area index data --- # # Source: Yuan et al 2011, doi:10.1016/j.rse.2011.01.001 # http://globalchange.bnu.edu.cn/research/lai # # NOTES: # (1) LAI data corresponding to each Olson land type is stored in # separate netCDF variables (XLAI00, XLAI01, ... XLAI72). # The "XLAI" denotes that the files are prepared in this way. # (2) Units are "cm2 leaf/cm2 grid box". # (3) Data is timestamped every 8 days, starting from the 2nd of the month. #============================================================================== (((YUAN_MODIS_LAI * XLAI00 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI00 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI01 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI01 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI02 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI02 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI03 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI03 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI04 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI04 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI05 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI05 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI06 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI06 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI07 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI07 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI08 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI08 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI09 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI09 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI10 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI10 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI11 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI11 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI12 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI12 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI13 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI13 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI14 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI14 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI15 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI15 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI16 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI16 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI17 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI17 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI18 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI18 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI19 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI19 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI20 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI20 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI21 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI21 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI22 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI22 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI23 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI23 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI24 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI24 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI25 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI25 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI26 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI26 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI27 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI27 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI28 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI28 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI29 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI29 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI30 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI30 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI31 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI31 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI32 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI32 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI33 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI33 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI34 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI34 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI35 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI35 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI36 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI36 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI37 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI37 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI38 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI38 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI39 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI39 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI40 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI40 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI41 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI41 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI42 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI42 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI43 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI43 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI44 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI44 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI45 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI45 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI46 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI46 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI47 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI47 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI48 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI48 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI49 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI49 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI50 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI50 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI51 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI51 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI52 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI52 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI53 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI53 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI54 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI54 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI55 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI55 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI56 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI56 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI57 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI57 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI58 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI58 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI59 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI59 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI60 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI60 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI61 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI61 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI62 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI62 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI63 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI63 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI64 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI64 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI65 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI65 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI66 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI66 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI67 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI67 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI68 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI68 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI69 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI69 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI70 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI70 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI71 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI71 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI72 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI72 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 )))YUAN_MODIS_LAI #============================================================================== # --- Chemistry inputs --- #============================================================================== (((CHEMISTRY_INPUT #------------------------------------------------------------------------------ # --- Global OH fields --- #------------------------------------------------------------------------------ (((USE_CH4_DATA.or.USE_CO_DATA # --- OH from GEOS-Chem v5-07 [kg/m3], needed for CH4/IMI --- (((GLOBAL_OH_GCv5 * GLOBAL_OH $ROOT/OH/v2022-11/v5-07-08/OH_3Dglobal.geos5.72L.4x5.nc OH 1985/1-12/1/0 C xyz kg/m3 * 2 1 1 )))GLOBAL_OH_GCv5 # --- OH from the last 10-yr benchmark [mol/mol dry] --- (((GLOBAL_OH_GC14 (((.not.GLOBAL_OH_GCv5 ${RUNDIR_GLOBAL_OH} ))).not.GLOBAL_OH_GCv5 )))GLOBAL_OH_GC14 )))USE_CH4_DATA.or.USE_CO_DATA #------------------------------------------------------------------------------ # --- Quantities needed for CH4 chemistry --- #------------------------------------------------------------------------------ (((USE_CH4_DATA # --- Global CH4 loss frequencies [1/s] ----------- (((CH4_LOSS_FREQ ${RUNDIR_CH4_LOSS} )))CH4_LOSS_FREQ # --- Global Cl [mol/mol dry air] --- (((GLOBAL_CL ${RUNDIR_GLOBAL_Cl} )))GLOBAL_CL )))USE_CH4_DATA #------------------------------------------------------------------------------ # --- Quantities needed for CO chemistry --- #------------------------------------------------------------------------------ (((USE_CO_DATA # -- P(CO) from CH4 and NMVOC from the last 10-yr benchmark [molec/cm3/s] --- (((PROD_CO_CH4 ${RUNDIR_PCO_CH4} )))PROD_CO_CH4 (((PROD_CO_NMVOC ${RUNDIR_PCO_NMVOC} )))PROD_CO_NMVOC # --- GMI chemistry: prod/loss rates (for strato-/mesosphere) --- # --- Units: prod [v/v/s]; loss [1/s] --- (((GMI_PROD_LOSS * GMI_LOSS_CO $ROOT/GMI/v2022-11/gmi.clim.CO.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CO - 1 1 * GMI_PROD_CO $ROOT/GMI/v2022-11/gmi.clim.CO.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CO - 1 1 )))GMI_PROD_LOSS )))USE_CO_DATA #------------------------------------------------------------------------------ # --- Quantities needed for CO2 chemistry --- #------------------------------------------------------------------------------ (((USE_CO2_DATA # --- CHEMICAL PRODUCTION FROM CO OXIDATION ------ # --- Recommended for use in forward modelling --- # --- Optional for inversion/assimilation -------- (((CO2_COPROD ${RUNDIR_CO2_COPROD} )))CO2_COPROD )))USE_CO2_DATA )))CHEMISTRY_INPUT ### END SECTION BASE EMISSIONS ### ############################################################################### ### BEGIN SECTION SCALE FACTORS ############################################################################### # ScalID Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Oper #------------------------------------------------------------------------------ # --- Multiply by -1 to get a "negative" flux. #------------------------------------------------------------------------------ 1 NEGATIVE -1.0 - - - xy 1 1 #------------------------------------------------------------------------------ # --- Perturbation factors --- # # Default scaling factor of 1.0 for OH field, which will be changed for Jacobian and posterior OptimizeOH run #============================================================================== 2 OH_pert_factor 1.0 - - - xy 1 1 #============================================================================== # --- Scale factors for posterior run --- # # Entries below are provided for examples only. Add your own here! #============================================================================== (((Emis_PosteriorSF 3 EMIS_SF gridded_posterior.nc ScaleFactor 2000/1/1/0 C xy 1 1 )))Emis_PosteriorSF #============================================================================== # --- Scale factors for analytical inversions --- #============================================================================== (((AnalyticalInversion 4 SCALE_PERT ./gridded_pert_scale_1.nc scale 2000/1/1/0 C xy 1 1 # Add perturbations to individual state vector element (N) following this format # Start scale factor ID at 3000 to avoid conflicts with other SFs/masks #300N SCALE_ELEM_000N ./StateVector.nc StateVector 2000/1/1/0 C xy 1 1 N )))AnalyticalInversion (((EMISSIONS #============================================================================== # --- CH4: Seasonal scaling factors ---- #============================================================================== (((USE_CH4_DATA #------------------------------------------------------------------------------ # --- GHGI monthly scaling factors --- #------------------------------------------------------------------------------ (((GHGI_v2.or.GHGI_v2_Express_Ext 50 GHGI_OTH_STA_SF $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_Monthly_Scale_Factors_$YYYY.nc monthly_scale_factor_1A_Combustion_Stationary 2012-2018/1-12/1/0 C xy 1 1 51 GHGI_OIL_EXP_SF $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_Monthly_Scale_Factors_$YYYY.nc monthly_scale_factor_1B2a_Petroleum_Systems_Exploration 2012-2018/1-12/1/0 C xy 1 1 52 GHGI_OIL_PRD_SF $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_Monthly_Scale_Factors_$YYYY.nc monthly_scale_factor_1B2a_Petroleum_Systems_Production 2012-2018/1-12/1/0 C xy 1 1 53 GHGI_OIL_REF_SF $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_Monthly_Scale_Factors_$YYYY.nc monthly_scale_factor_1B2a_Petroleum_Systems_Refining 2012-2018/1-12/1/0 C xy 1 1 54 GHGI_OIL_TRA_SF $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_Monthly_Scale_Factors_$YYYY.nc monthly_scale_factor_1B2a_Petroleum_Systems_Transport 2012-2018/1-12/1/0 C xy 1 1 55 GHGI_GAS_EXP_SF $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_Monthly_Scale_Factors_$YYYY.nc monthly_scale_factor_1B2b_Natural_Gas_Exploration 2012-2018/1-12/1/0 C xy 1 1 56 GHGI_GAS_PRD_SF $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_Monthly_Scale_Factors_$YYYY.nc monthly_scale_factor_1B2b_Natural_Gas_Production 2012-2018/1-12/1/0 C xy 1 1 57 GHGI_LIV_MAN_SF $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_Monthly_Scale_Factors_$YYYY.nc monthly_scale_factor_3B_Manure_Management 2012-2018/1-12/1/0 C xy 1 1 58 GHGI_RIC_CUL_SF $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_Monthly_Scale_Factors_$YYYY.nc monthly_scale_factor_3C_Rice_Cultivation 2012-2018/1-12/1/0 C xy 1 1 59 GHGI_OTH_BUR_SF $ROOT/CH4/v2023-07/Gridded_GHGI_v2/Gridded_GHGI_Methane_v2_Monthly_Scale_Factors_$YYYY.nc monthly_scale_factor_3F_Field_Burning 2012-2018/1-12/1/0 C xy 1 1 )))GHGI_v2.or.GHGI_v2_Express_Ext #------------------------------------------------------------------------------ # --- Scarpelli_Mexico manure & rice scale factors --- #------------------------------------------------------------------------------ (((Scarpelli_Mexico 10 MANURE_SF $ROOT/CH4/v2017-10/Seasonal_SF/EMICH4_Manure_ScalingFactors.WithClimatology.nc sf_ch4 2008-2016/1-12/1/0 C xy 1 1 11 RICE_SF $ROOT/CH4/v2017-10/Seasonal_SF/EMICH4_Rice_ScalingFactors.SetMissing.nc sf_ch4 2012/1-12/1/0 C xy 1 1 )))Scarpelli_Mexico #------------------------------------------------------------------------------ # --- Seasonality for EDGAR livestock emissions --- #------------------------------------------------------------------------------ (((EDGARv8 24 EDGAR_SEASONAL_SF_ENF $ROOT/CH4/v2023-04/EDGARv6_SF/EDGARv6_CH4_MonthlyScaleFactors_ENF.0.1x0.1.nc sf_ch4 2018/1-12/1/0 C xy 1 1 28 EDGAR_SEASONAL_SF_MNM $ROOT/CH4/v2023-04/EDGARv6_SF/EDGARv6_CH4_MonthlyScaleFactors_MNM.0.1x0.1.nc sf_ch4 2018/1-12/1/0 C xy 1 1 )))EDGARv8 )))USE_CH4_DATA #============================================================================== # --- Scale factors for CO2 emissions --- #============================================================================== (((USE_CO2_DATA #------------------------------------------------------------------------------ # --- FOSSIL FUEL CO2 SURFACE CORRECTION FACTOR --- # # Fossil fuel CO2 emissions must be scaled down to avoid counting emissions # already accounted for by CO and CH4 oxidation to CO2. # # The necssary annual reduction in emissions related to fossil fuels is # determined as: global C mass from FF (CO+CH4) / global C mass from FF CO2 # # Note: GEOS-Chem v8-03-02 to v9-02, assumed: 0.0489 for all years but that # value seems to correspond to mid-1980s fossil fuel combustion since CO # emissions have held constant (Granier et al., 2011) while CO2 has risen. # # All scale factors for years 2000-2013 lumped into a single entry #------------------------------------------------------------------------------ (((CO2CORR #410 CO2_FOSSFUEL_CORR 0.0489 - - - xy 1 1 ## CO2 scale factors from CO oxidation by decade (comment out for now) ##410 CO2_FOSSFUEL_CORR 0.052815/0.054486/0.054902/0.055107/0.053166/0.051611/0.050065/0.048803/0.047060/0.046041 - 1980-1989/1/1/0 C xy 1 1 ##410 CO2_FOSSFUEL_CORR 0.045816/0.045153/0.045541/0.045556/0.044800/0.043875/0.042910/0.042206/0.042257/0.042468 - 1990-1999/1/1/0 C xy 1 1 ##410 CO2_FOSSFUEL_CORR 0.041495/0.040525/0.040125/0.037853/0.035957/0.034686/0.033538/0.032771/0.031961/0.032118 - 2000-2009/1/1/0 C xy 1 1 ##410 CO2_FOSSFUEL_CORR 0.030622/0.029674/0.029029/0.028355 - 2010-2013/1/1/0 C xy 1 1 410 CO2_FOSSFUEL_CORR 0.041495/0.040525/0.040125/0.037853/0.035957/0.034686/0.033538/0.032771/0.031961/0.032118/0.030622/0.029674/0.029029/0.028355 - 2000-2013/1/1/0 C xy 1 1 )))CO2CORR # ----------------------------------------------------------------------------- # --- CO2 conversion factors --- # ----------------------------------------------------------------------------- 420 CH4TOCO2 2.75 - - - xy 1 1 421 CTOCO2 3.6667 - - - xy 1 1 430 NMHCSCALE 0.3333 - - - xy 1 1 #------------------------------------------------------------------------------ # --- National fossil fuel CO2 scale factors (Nassar et al, 2013) --- #------------------------------------------------------------------------------ (((FOSSIL_CDIAC.or.FOSSIL_ODIAC.or.CO2CORR 440 CO2_DIURNAL $ROOT/CO2/v2015-04/FOSSIL/TIMES_diurnal_scale_factors.nc diurnal_scale_factors 2006/1/1/1-24 C xy 1 1 441 CO2_WEEKLY $ROOT/CO2/v2015-04/FOSSIL/TIMES_weekly_scale_factors.nc weekly_scale_factors 2006/1/WD/0 C xy 1 1 )))FOSSIL_CDIAC.or.FOSSIL_ODIAC.or.CO2CORR #------------------------------------------------------------------------------ # --- DOMESTIC AVIATION SURFACE CORRECTION FACTOR --- # # Regional scale factors slightly less than 1 remove surface contribution from # domestic aviation in national fossil fuel emisisons, which should instead be # counted in the air as a 3D field. This scale factor should be applied to the # main/national fossil fuel emission field if using avaition emissions. #------------------------------------------------------------------------------ (((FOSSIL_CDIAC.or.FOSSIL_ODIAC.or.CO2CORR 480 AVIATION_SURF_CORR $ROOT/CO2/v2022-11/FOSSIL/Aviation_SurfCorr_SclFac.1x1.nc CO2 2004/1/1/0 C xy 1 1 )))FOSSIL_CDIAC.or.FOSSIL_ODIAC.or.CO2CORR )))USE_CO2_DATA #============================================================================== # --- Scale factors for CO emissions --- #============================================================================== (((USE_CO_DATA #------------------------------------------------------------------------------ # --- Diurnal scale factors for CO --- #------------------------------------------------------------------------------ 26 GEIA_TOD_FOSSIL 0.45/0.45/0.6/0.6/0.6/0.6/1.45/1.45/1.45/1.45/1.4/1.4/1.4/1.4/1.45/1.45/1.45/1.45/0.65/0.65/0.65/0.65/0.45/0.45 - - - xy 1 1 #------------------------------------------------------------------------------ # --- Diurnal variablity of Chinese power plants from Liu et al. (EST, 2019) --- # # Also need to undo (Oper=-1) the global diurnal scale factors over China #------------------------------------------------------------------------------ 35 PKU_pow_PM_BC_POC_VOC_CO 0.95/0.93/0.92/0.91/0.90/0.93/0.97/0.97/0.99/1.03/1.04/1.03/1.02/1.03/1.05/1.07/1.07/1.07/1.06/1.04/1.03/1.02/1.00/0.97 - - - xy unitless 1 2009 37 GEIA_TOD_FOSSIL_UNDO 0.45/0.45/0.6/0.6/0.6/0.6/1.45/1.45/1.45/1.45/1.4/1.4/1.4/1.4/1.45/1.45/1.45/1.45/0.65/0.65/0.65/0.65/0.45/0.45 - - - xy unitless -1 2009 #------------------------------------------------------------------------------ # --- Account for CO production by VOCs --- #------------------------------------------------------------------------------ (((APEI.or.EDGARv43.or.DICE_Africa.or.QFED2 52 COPROD_FOSSIL 1.02 - - - xy unitless 1 54 COPROD_BIOMASS 1.05 - - - xy unitless 1 )))APEI.or.EDGARv43.or.DICE_Africa.or.QFED2 #------------------------------------------------------------------------------ # --- DICE-Africa --- # Charcoal production scale factor to reduce charcoal production # by a factor of 5 after finding error in implementation of emission factors. #------------------------------------------------------------------------------ (((DICE_Africa 320 DICE_CP_SF 0.20 - - - xy 1 1 )))DICE_Africa #------------------------------------------------------------------------------ # --- CO: HTAP Annual scale factors --- #------------------------------------------------------------------------------ (((HTAP 506 LIQFUEL_THISYR $ROOT/AnnualScalar/v2014-07/AnnualScalar.geos.1x1.nc COscalar 1985-2010/1/1/0 C xy 1 1 507 LIQFUEL_1985 $ROOT/AnnualScalar/v2014-07/AnnualScalar.geos.1x1.nc COscalar 1985/1/1/0 C xy 1 -1 509 LIQFUEL_2006 $ROOT/AnnualScalar/v2014-07/AnnualScalar.geos.1x1.nc COscalar 2006/1/1/0 C xy 1 -1 510 LIQFUEL_2002 $ROOT/AnnualScalar/v2014-07/AnnualScalar.geos.1x1.nc COscalar 2002/1/1/0 C xy 1 -1 528 LIQFUEL_2008_2010 $ROOT/AnnualScalar/v2014-07/AnnualScalar.geos.1x1.nc COscalar 2008-2010/1/1/0 C xy 1 -1 )))HTAP )))USE_CO_DATA #============================================================================== # --- Scale factors for OCS emissions --- #============================================================================== (((USE_OCS_DATA #------------------------------------------------------------------------------ # --- S to OCS ratio --- #------------------------------------------------------------------------------ 70 StoOCS MATH:60.07/32.06 - - - xy unitless 1 )))USE_OCS_DATA #============================================================================== # --- Inventory-specific scale factors --- #============================================================================== #------------------------------------------------------------------------------ # --- AEIC2019 aircraft emissions scale factors --- # # See http://geoschemdata.wustl.edu/ExtData/HEMCO/AEIC2019/v2022-03/AEIC_2019_technical_note.pdf # # Scaling factors for 1990-2019 derived from Lee et al. (2021). Lee et al. # (2021) only covers 1990 to 2018, so to get to 2019 it is assumed that the # growth from 2017 to 2018 is the same as that from 2018 to 2019. # So the formula is something like: # # Emissions of CO in 2009 = AEIC 2019 emissions of CO # * (Lee 2017 CO / Lee 2018 fuel burn) # * (Lee 2009 fuel burn / Lee 2018 fuel burn) # # So in this case, we use the Lee 2017/Lee 2018 value to scale AEIC’s # emissions to the “2018” values, and then scale directly using the Lee et al # fuel burn. This ensures that, when running with year 2019, you get an # unadjusted version of the AEIC2019 inventory, and all previous years are # scaled down. # # All scaling factors are included in here in HEMCO_Config.rc. #------------------------------------------------------------------------------ (((AEIC2019_DAILY.or.AEIC2019_MONMEAN # If applying 1990-2019 scale factors (((AEIC_SCALE_1990_2019 241 AC_FBMULT 0.506/0.489/0.490/0.493/0.517/0.529/0.553/0.570/0.581/0.600/0.631/0.607/0.608/0.608/0.646/0.678/0.686/0.706/0.703/0.666/0.700/0.721/0.728/0.749/0.773/0.815/0.854/0.905/0.952/1.000 - 1990-2019/1/1/0 C xy 1 1 )))AEIC_SCALE_1990_2019 # If not applying 1990-2019 scale factors, use 1.0 (((.not.AEIC_SCALE_1990_2019 241 AC_FBMULT 1.000000e+0 - - - xy 1 1 ))).not.AEIC_SCALE_1990_2019 # Assume 3.159 kg CO2 from every kg of fuel burned # cf Hileman, Stratton, & Donohoo, _J. Propul. Power_, 26(6), 1184–1196, 2010. 260 AEIC19_FBtoCO2 3.159 - - - xy unitless 1 )))AEIC2019_DAILY.or.AEIC2019_MONMEAN #------------------------------------------------------------------------------ # --- CEDS vertical partitioning --- #------------------------------------------------------------------------------ (((CEDS_01x01 315 ENERGY_LEVS $ROOT/VerticalScaleFactors/v2021-05/gc_layers.nc g_energy 2017/1/1/0 C xyz 1 1 316 INDUSTRY_LEVS $ROOT/VerticalScaleFactors/v2021-05/gc_layers.nc g_industry 2017/1/1/0 C xyz 1 1 317 SHIP_LEVS $ROOT/VerticalScaleFactors/v2021-05/gc_layers.nc cmv_c3 2017/1/1/0 C xyz 1 1 )))CEDS_01x01 #------------------------------------------------------------------------------ # --- GFAS scale factors --- #------------------------------------------------------------------------------ (((GFAS 300 GFAS_EMITL $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc mami 2003-2021/1-12/1-31/0 C xy m 1 )))GFAS #------------------------------------------------------------------------------ # --- EPA NEI2016 (monthly-mean inventory) scale factors --- #------------------------------------------------------------------------------ (((NEI2016_MONMEAN # Weekday/Weekend scale factors 211 NEI99_DOW_CO $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc CO 1999/1-12/WD/0 C xy 1 1 # Annual scale factors were computed from the EPA Trends Report for Tier 1 CAPS # (obtained 21 Sep 2021) using the "Total without wildfires" field. NH3 and # PM2.5 only had values for 2002-2020, while the remaining species had yearly # values for 1990-2020 (we include only 2002-2020 here). # See NEI2016/v2021-06/national_tier1_caps+HEMCOscaling.xlsx for details. 252 NEI2016_CO_YRSCALE 1.817/1.767/1.716/1.666/1.610/1.554/1.393/1.251/1.272/1.261/1.220/1.178/1.137/1.095/1.000/0.973/0.950/0.927/0.904 - 2002-2020/1/1/0 C xy 1 1 )))NEI2016_MONMEAN #------------------------------------------------------------------------------ # --- QFED2 diurnal scale factors --- # Fire diurnal scaling factors (% per hour) from WRAP Report to Project # No. 178-6, July 2005 #------------------------------------------------------------------------------ (((QFED2.or.GFAS.or.BB4MIPS 75 QFED2_TOD 0.1392/0.1392/0.1368/0.1368/0.1368/0.1368/0.1368/0.1368/0.1368/0.48/0.96/1.68/2.4/3.12/3.84/4.08/2.88/1.68/0.96/0.1368/0.1368/0.1368/0.1368/0.1368 - - - xy unitless 1 )))QFED2.or.GFAS.or.BB4MIPS #------------------------------------------------------------------------------ # --- QFED vertical partitioning --- # Following Fischer et al. (2014) and Travis et al. (2016), # emit 35% of QFED emissions above the PBL. #------------------------------------------------------------------------------ (((QFED2 311 QFED_PBL_FRAC 0.65 - - - xy 1 1 312 QFED_FT_FRAC 0.35 - - - xy 1 1 )))QFED2 (((CEDS_01x01 #========================================================================= # --- Sector-wise diel scale factors for CEDS --- # These scale factors could potentially be used for other global base emissions if modified accordingly. #========================================================================= 2401 TOD_AGRICULTURE 0.599/0.599/0.599/0.599/0.599/0.649/0.748/0.898/1.098/1.247/1.447/1.597/1.796/1.746/1.696/1.547/1.347/1.098/0.898/0.748/0.649/0.599/0.599/0.599 - - - xy unitless 1 2406 TOD_ENERGY 0.790/0.720/0.720/0.710/0.740/0.800/0.920/1.080/1.190/1.220/1.210/1.210/1.170/1.150/1.140/1.130/1.100/1.070/1.040/1.020/1.020/1.010/0.960/0.880 - - - xy unitless 1 2407 TOD_INDUSTRY 0.750/0.750/0.780/0.820/0.880/0.950/1.020/1.090/1.160/1.220/1.280/1.300/1.220/1.240/1.250/1.160/1.080/1.010/0.950/0.900/0.850/0.810/0.780/0.750 - - - xy unitless 1 2409 TOD_RESIDENTIAL 0.393/0.393/0.393/0.393/0.393/0.492/1.180/1.475/1.574/1.574/1.377/1.180/1.082/1.082/0.984/0.984/0.984/1.082/1.377/1.475/1.377/1.377/0.984/0.393 - - - xy unitless 1 2411 TOD_TRANSPORT 0.190/0.090/0.060/0.050/0.090/0.220/0.860/1.840/1.860/1.410/1.240/1.200/1.320/1.440/1.450/1.590/2.030/2.080/1.510/1.060/0.740/0.620/0.610/0.440 - - - xy unitless 1 #========================================================================= # --- Sector-wise day-of-week scale factors for CEDS --- # These scale factors could potentially be used for other global base emissions if modified accordingly. #========================================================================= 706 DOW_ENERGY 0.850/1.060/1.060/1.060/1.060/1.060/0.850 - - - xy unitless 1 707 DOW_INDUSTRY 0.800/1.080/1.080/1.080/1.080/1.080/0.800 - - - xy unitless 1 709 DOW_RESIDENTIAL 0.800/1.080/1.080/1.080/1.080/1.080/0.800 - - - xy unitless 1 711 DOW_TRANSPORT 0.790/1.020/1.060/1.080/1.100/1.140/0.810 - - - xy unitless 1 )))CEDS_01x01 )))EMISSIONS ### END SECTION SCALE FACTORS ### ############################################################################### ### BEGIN SECTION MASKS ############################################################################### # ScalID Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Oper Lon1/Lat1/Lon2/Lat2 (((EMISSIONS #============================================================================== # --- Masks used for CH4 simulation emissions --- #============================================================================== (((USE_CH4_DATA (((Scarpelli_Mexico 1001 MEX_MASK $ROOT/MASKS/v2024-04/Mexico_Mask.01x01.nc MASK 2000/1/1/0 C xy 1 1 -118/17/-95/33 1010 MEX_MASK_MIRROR $ROOT/MASKS/v2024-04/Mexico_Mask_Mirror.01x01.nc MASK 2000/1/1/0 C xy 1 1 -118/17/-95/33 )))Scarpelli_Mexico (((Scarpelli_Canada 1002 CAN_MASK $ROOT/MASKS/v2024-04/Canada_Mask.01x01.nc MASK 2000/1/1/0 C xy 1 1 -141/40/-52/85 1011 CAN_MASK_MIRROR $ROOT/MASKS/v2024-04/Canada_Mask_Mirror.01x01.nc MASK 2000/1/1/0 C xy 1 1 -141/40/-52/85 )))Scarpelli_Canada (((GHGI_v2.or.GHGI_v2_Express_Ext 1008 CONUS_MASK $ROOT/MASKS/v2024-04/CONUS_Mask.01x01.nc MASK 2000/1/1/0 C xy 1 1 -140/20/-50/60 1009 CONUS_MASK_MIRROR $ROOT/MASKS/v2024-04/CONUS_Mask_Mirror.01x01.nc MASK 2000/1/1/0 C xy 1 1 -140/20/-50/60 )))GHGI_v2.or.GHGI_v2_Express_Ext )))USE_CH4_DATA #============================================================================== # --- Masks used for CO and CO2 simulation emissions --- #============================================================================== (((USE_CO_DATA.or.USE_CO2_DATA (((APEI 2002 CANADA_MASK $ROOT/MASKS/v2018-09/Canada_mask.geos.1x1.nc MASK 2000/1/1/0 C xy 1 1 -141/40/-52/85 )))APEI # Renamed to avoid a namespace collision w/ GHGI mask above!!! (((NEI2016_MONMEAN 2007 NEI_CONUS_MASK $ROOT/MASKS/v2018-09/CONUS_Mask.01x01.nc MASK 2000/1/1/0 C xy 1 1 -140/20/-50/60 )))NEI2016_MONMEAN (((DICE_Africa 2008 AFRICA_MASK $ROOT/MASKS/v2018-09/AF_LANDMASK.geos.05x0666.global.nc LANDMASK 1985/1/1/0 C xy 1 1 -20/-37/54/40 )))DICE_Africa )))USE_CO_DATA.or.USE_CO2_DATA #============================================================================== # --- Masks used for CH4, CO and CO2 simulation emissions --- #============================================================================== (((CEDS_01x01 2009 CHINA_MASK $ROOT/MASKS/v2018-09/China_mask.generic.1x1.nc MASK 2000/1/1/0 C xy 1 1 70/10/150/60 )))CEDS_01x01 (((RESERVOIRS 1500 SEASONAL_RES_MASK $ROOT/CH4/v2024-01/ResME/reservoir_mask.01x01.nc Mask 2022/1-12/1/0 C xy 1 1 -180/-90/180/90 )))RESERVOIRS )))EMISSIONS ### END SECTION MASKS ### ############################################################################### ### REFERENCES ############################################################################### # # Andres. R.J., J.S Gregg, L. Losey, G. Marland, T.A. Boden (2011), Montly, # global emissions of carbon dioxide from fossil fuel consumption, Tellus 63B, # 309-327. # # Baker, D.F. et al. (2006) TransCom3 inversion intercomparison: Impact of # transport model errors on the interannual variability of regional CO2 fluxes, # 1998-2003, Global Biogeochem., Cy., 20, GB1002, doi:10.29/2004GB002439. # # Endresen, O. et al. (2007), A historical reconstuctino of ships fuel # consuption and emissions, J. Geophys. Res., 112, D12301, # doi:10.1029/2006JD007630. # # Granier, C. et al. (2011), Evolution of anthropogenic and biomass burning # emissions of air pollutants at global and regional scales during the 1980-2010 # period, Climatic Change, 109:163-190, doi:10.1007/s10584-011-0154-1. # # Keller, C.A., M.S. Long, R.M. Yantosca, A.M. DaSilva, S. Pawson, D.J. Jacob # (2014), HEMCO v1.0: a versatile, ESMF-compliant component for calculating # emissions in atmospheric models, Geosci., Model Dev., 7, 1409?1417, # doi:10.5194/gmd-7-1409-2014. # # Messerschmidt, J., N. Parazoo, N.M. Deutscher, C. Roehl, T. Warneke, P.O. # Wennberg, and D. Wunch (2012) Evaluation of atmosphere-biosphere exchange # estimations with TCCON measurements, Atmos. Chem. Phys. Discussions, 12, # 12759-12800, doi:10.5194/acpd-12-12759-2012. # # Nassar, R., D.B.A. Jones, P. Suntharalingam, J.M. Chen, R.J. Andres, K.J. # Wecht, R.M. Yantosca, S.S. Kulawik, K.W. Bowman, J.R. Worden, T. Machida and # H. Matsueda (2010), Modeling global atmospheric CO2 with improved emission # inventories and CO2 production from the oxidation of other carbon species, # Geoscientific Model Development, 3, 689-716. # # Nassar, R., L. Napier-Linton, K.R. Gurney, R.J. Andres, T. Oda, F.R. Vogel, # F. Deng (2013), Improving the temporal and spatial distribution of CO2 # emissions from global fossil fuel emission datasets, Journal of Geophysical # Research: Atmospheres, 118, 917-933, doi:10.1029/2012JD018196. # # Oda, T. and S. Maksyutov (2011), A very high-resolution (1 km x 1 km) global # fossil fuel CO2 emission inventory derived using a point source database and # satellite observations of nighttime lights, Atmos. Chem. Phys., 11, 543?556, # doi:10.5194/acp-11-543-2011. # # Olsen, S.C. and J.T. Randerson (2004), Differences between surface and column # atmospheric CO2 and implications for carbon cycle research, J. Geophys. Res. # 109, D02301, doi:10.1029/2003JD003968. # # Olsen, S.C., D.J. Weubbles, B. Owen (2013) Comparison of global 3-D aviation # datasets, Atmos. Chem. Phys., 13, 429?441, doi:10.5194/acp-13-429-2013. # # Simone, N., M. Stettler, S. Eastham, S. Barrett, Aviation Emissions Inventory # Code (AEIC ) User Manual (R1), Laboratory for Aviation and the Environment, # Massachusetts Institute of Technology, January 2013, Report No: # LAE-2013-001-N, # www.LAE.MIT.edu. # # Takahashi, T., et al. (2009), Climatological mean and decadal change in # surface ocean pCO2, and net sea-air CO2 flux over the global oceans, Deep-Sea # Res. II, 56(8?10), 554?577, doi:10.1016/j.dsr2.2008.12.009. # ### END OF HEMCO INPUT FILE ### #EOC ================================================ FILE: run/GCHP/HEMCO_Config.rc.templates/HEMCO_Config.rc.fullchem ================================================ #------------------------------------------------------------------------------ # Harmonized Emissions Component (HEMCO) ! #------------------------------------------------------------------------------ #BOP # # !MODULE: HEMCO_Config.rc # # !DESCRIPTION: Contains configuration information for HEMCO. Define the # emissions inventories and corresponding file paths here. Entire # configuration files can be inserted into this configuration file with # an '>>>include' statement, e.g. '>>>include HEMCO\_Config\_test.rc' # The settings of include-files will be ignored. #\\ #\\ # !REMARKS: # See hemco.readthedocs.io for more information. # # !REVISION HISTORY: # See https://github.com/geoschem/geos-chem for complete history #EOP #------------------------------------------------------------------------------ #BOC ############################################################################### ### BEGIN SECTION SETTINGS ############################################################################### ROOT: ${RUNDIR_DATA_ROOT}/HEMCO GCAPSCENARIO: not_used Logfile: * DiagnFile: HEMCO_Diagn.rc DiagnPrefix: ./OutputDir/HEMCO_diagnostics DiagnFreq: Monthly Wildcard: * Separator: / Unit tolerance: 1 Negative values: 0 Only unitless scale factors: false Verbose: false VerboseOnCores: root # Accepted values: root all ### END SECTION SETTINGS ### ############################################################################### ### BEGIN SECTION EXTENSION SWITCHES ############################################################################### # ExtNr ExtName on/off Species Years avail. 0 Base : on * # ----- MAIN SWITCHES --------------------------------------------------------- --> EMISSIONS : true --> METEOROLOGY : false --> CHEMISTRY_INPUT : true # ----- RESTART FIELDS -------------------------------------------------------- --> GC_RESTART : false --> HEMCO_RESTART : false # ----- NESTED GRID FIELDS ---------------------------------------------------- --> GC_BCs : false # ----- REGIONAL INVENTORIES -------------------------------------------------- --> APEI : false # 1989-2014 --> NEI2016_MONMEAN : false # 2002-2020 --> DICE_Africa : false # 2013 # ----- GLOBAL INVENTORIES ---------------------------------------------------- --> CEDS_01x01 : ${RUNDIR_USE_CEDS} # 1980-2019 --> EDGARv43 : false # 1970-2010 --> HTAPv3 : false # 2000-2018 --> GEIA_NH3 : true # 1990 --> SEABIRD_NH3 : true # 1990 --> POET_EOH : false # 1985 --> TZOMPASOSA_C2H6 : ${RUNDIR_USE_TSC2H6} # 2010 --> XIAO_C3H8 : ${RUNDIR_USE_XIAOC3H8} # 1985 --> LIANG_BROMOCARB : true # 2000 --> ORDONEZ_IODOCARB : true # 2000 --> GT_Chlorine : true # 1960-2014 --> DECAYING_PLANTS : true # 1985 --> AFCID : true # 2015 # ----- AIRCRAFT EMISSIONS ---------------------------------------------------- # There are 3 switches: # # 1. AEIC2019_DAILY selects daily AEIC 2019 emissions. For most simulations, # this is not recommended due to the amount of computational overhead # that will be incurred in regridding. But this may be useful for # research purposes. Recommended setting: "AEIC2019_DAILY: false". # # 2. AEIC2019_MONMEAN selects monthly-mean AEIC 2019 emisisons, which will # incur much less computational overhaead. This option should suffice # for most simulations. Recommended setting "AEIC2019_MONMEAN: true". # # 3. AEIC_SCALE_1990_2019: If "false", the AEIC 2019 data from the year # 2019 alone will be used. This will yield a "best estimate" of # aviation emisssion. This could be important because simply scaling # aviation emissions up and down is rather nonphysical. But if # AEIC_SCALE_1990_2019 is set to true, then aviation emissions for # 1990 to 2019 are estimated by: # # a. Scaling ALL aviation emissions based on the growth in fuelburn # from 1990 to 2019* estimated by Lee et al. (2021); and # # b. Scaling aviation NOx emissions by an additional factor to reflect # the changes in the NOx emissions index over the same period as # reported by Lee et al. (2021). # # Recommended setting: "AEIC_SCALE_1990_2019: true" # # See additional notes in the AEIC scale factor section below. #------------------------------------------------------------------------------ --> AEIC2019_DAILY : false # 2019 (daily data) --> AEIC2019_MONMEAN : ${RUNDIR_USE_AEIC} # 2019 (monthly-mean data) --> AEIC_SCALE_1990_2019 : ${RUNDIR_USE_AEIC} # Scale to year in 1990-2019 # ----- SHIP EMISSIONS -------------------------------------------------------- --> SHIP : true --> CEDS_01x01_SHIP : ${RUNDIR_USE_CEDS} # 1980-2019 --> HTAPv3_SHIP : false # 2000-2018 # ----- RCP FUTURE EMISSIONS -------------------------------------------------- --> RCP_3PD : false # 2005-2100 --> RCP_45 : false # 2005-2100 --> RCP_60 : false # 2005-2100 --> RCP_85 : false # 2005-2100 # ----- CMIP6 ANTHRO EMISSIONS / BOUNDARY CONDITIONS -------------------------- # Set GCAPSCENARIO (e.g., HIST, SSP585) above in SECTION SETTINGS --> CMIP6_SFC_BC : ${RUNDIR_CMIP6_FIELDS} # 1750-2100 --> CMIP6_SFC_LAND_ANTHRO : ${RUNDIR_CMIP6_FIELDS} # 1850-2100 --> CMIP6_AIRCRAFT : ${RUNDIR_CMIP6_FIELDS} # 1850-2100 --> CMIP6_SHIP : ${RUNDIR_CMIP6_FIELDS} # 1850-2100 # ----- BIOMASS BURNING EMISSIONS --------------------------------------------- --> QFED2 : false # 2000-2020 --> GFAS : false # 2003-2021 --> BB4MIPS : ${RUNDIR_CMIP6_FIELDS} # 1850-2100 --> GFED4_CLIMATOLOGY : false # If true, turn off GFED ext below --> FINNv25 : false # 2012-2023 # ----- OFFLINE EMISSIONS ----------------------------------------------------- # To use online emissions instead set the offline emissions to 'false' and the # corresponding HEMCO extension to 'on': # OFFLINE_DUST - DustL23M # OFFLINE_BIOGENICVOC - MEGAN # OFFLINE_SEASALT - SeaSalt # OFFLINE_SOILNOX - SoilNOx # # NOTE: When switching between offline and online emissions, make sure to also # update ExtNr and Cat in HEMCO_Diagn.rc to properly save out emissions for # any affected species. #------------------------------------------------------------------------------ --> OFFLINE_DUST : ${RUNDIR_OFFLINE_DUST} # 1980-2019 --> OFFLINE_BIOGENICVOC : ${RUNDIR_OFFLINE_BIOVOC} # 1980-2020 --> OFFLINE_SEASALT : ${RUNDIR_OFFLINE_SEASALT} # 1980-2019 --> CalcBrSeasalt : true --> OFFLINE_SOILNOX : ${RUNDIR_OFFLINE_SOILNOX} # 1980-2020 # ----- NON-EMISSIONS DATA ---------------------------------------------------- --> UVALBEDO : true # 1985 --> CCM_STRAT_Bry : true # 2007 --> GMI_OH : true # 2005 --> GMI_PROD_LOSS : true # 2005 --> OMOC_RATIO : false # 2010 --> GMD_SFC_CH4 : ${RUNDIR_USE_GMDCH4} # 1975-2022 --> CMIP6_SFC_CH4 : false # 1750-1978 --> OLSON_LANDMAP : false # 1985 --> YUAN_MODIS_LAI : false # 2000-2020 --> RRTMG : ${RUNDIR_USE_RRTMG} # 2002 --> SfcVMR : ${RUNDIR_USE_SFCVMR} # 1750-2014 --> OCEAN_O3_DRYDEP : true # 1985 # ----------------------------------------------------------------------------- 100 Custom : off - 101 SeaFlux : on DMS/ACET/ALD2/MENO3/ETNO3/MOH 102 ParaNOx : on NO/NO2/O3/HNO3 --> LUT data format : txt --> LUT source dir : $ROOT/PARANOX/v2015-02 103 LightNOx : on NO --> LightningClimatology : ${RUNDIR_LIGHTNOX_CLIM} --> CDF table : $ROOT/LIGHTNOX/v2014-07/light_dist.ott2010.dat 104 SoilNOx : ${RUNDIR_SOILNOX_EXT} NO --> UseSoilTemperature : false --> Use fertilizer NOx : true 107 SeaSalt : ${RUNDIR_SEASALT_EXT} SALA/SALC/SALACL/SALCCL/SALAAL/SALCAL/BrSALA/BrSALC/MOPO/MOPI --> SALA lower radius : 0.01 --> SALA upper radius : 0.5 --> SALC lower radius : 0.5 --> SALC upper radius : 8.0 --> Reduce SS cold water : true --> Blowing Snow SS : true --> NH FYI snow salinity : 0.1 --> NH MYI snow salinity : 0.05 --> SH FYI snow salinity : 0.03 --> SH MYI snow salinity : 0.015 --> NH snow age : 3.0 --> SH snow age : 1.5 --> N per snowflake : 5.0 --> Model sea salt Br- : true --> Br- mass ratio : 2.11e-3 108 MEGAN : ${RUNDIR_MEGAN_EXT} ISOP/ACET/PRPE/C2H4/ALD2/MOH/EOH/MTPA/MTPO/LIMO/SESQ/SOAP/SOAS --> Isoprene scaling : 1.0 --> CO2 inhibition : true --> CO2 conc (ppmv) : 390.0 --> Isoprene to SOAP : 0.015 --> Isoprene to SOAS : 0.015 --> Monoterp to SOAP : 0.050 --> Monoterp to SOAS : 0.050 --> Othrterp to SOAP : 0.050 --> Othrterp to SOAS : 0.050 111 GFED : ${RUNDIR_GFED_EXT} NO/CO/ALK4/ACET/MEK/ALD2/PRPE/C2H2/C2H4/C3H8/CH2O/C2H6/SO2/NH3/BCPO/BCPI/OCPO/OCPI/POG1/POG2/MTPA/BENZ/TOLU/XYLE/NAP/EOH/MOH/SOAP/FURA/PHEN/MVK/ISOP/ACTA/MGLY/GLYX/RCHO/HCOOH/ACR/STYR/C4H6 --> GFED4 : true --> GFED_daily : false --> GFED_3hourly : false --> Scaling_CO : 1.05 --> Scaling_NAP : 2.75e-4 --> hydrophilic BC : 0.2 --> hydrophilic OC : 0.5 --> fraction POG1 : 0.49 --> CO to SOAP : 0.013 --> GFED_subgrid_coag : false 117 Volcano : on SO2 --> Volcano_Source : AeroCom --> Volcano_Table : ${RUNDIR_VOLC_TABLE} --> Volcano_Climatology : ${RUNDIR_VOLC_CLIMATOLOGY} 120 Inorg_Iodine : on HOI/I2 --> Emit HOI : true --> Emit I2 : true 125 DustL23M : ${RUNDIR_DUSTL23M_EXT} TDST/DSTbin1/DSTbin2/DSTbin3/DSTbin4/DSTbin5/DSTbin6/DSTbin7 --> Mass tuning factor : ${RUNDIR_DUSTL23M_TF} #see the note near scale factor 281 for the source of this emis factor 126 DustAlk : ${RUNDIR_DUSTALK_EXT} DSTALbin1/DSTALbin2/DSTALbin3/DSTALbin4/DSTALbin5/DSTALbin6/DSTALbin7 # ----- EXTENSIONS FOR TOMAS SIMULATIONS ONLY---------------------------------- 130 TOMAS_Jeagle : ${RUNDIR_TOMAS_SEASALT} SS01/SS02/SS03/SS04/SS05/SS06/SS07/SS08/SS09/SS10/SS11/SS12/SS13/SS14/SS15/SS16/SS17/SS18/SS19/SS20/SS21/SS22/SS23/SS24/SS25/SS26/SS27/SS28/SS29/SS30/SS31/SS32/SS33/SS34/SS35/SS36/SS37/SS38/SS39/SS40 --> Reduce SS cold water : true --> Blowing Snow SS : true --> NH FYI snow salinity : 0.1 --> NH MYI snow salinity : 0.05 --> SH FYI snow salinity : 0.03 --> SH MYI snow salinity : 0.015 --> NH snow age : 3.0 --> SH snow age : 1.5 --> N per snowflake : 1.0 --> Model sea salt Br- : false --> Br- mass ratio : 2.11e-3 131 TOMAS_DustDead : ${RUNDIR_TOMAS_DUSTDEAD} DUST01/DUST02/DUST03/DUST04/DUST05/DUST06/DUST07/DUST08/DUST09/DUST10/DUST11/DUST12/DUST13/DUST14/DUST15/DUST16/DUST17/DUST18/DUST19/DUST20/DUST21/DUST22/DUST23/DUST24/DUST25/DUST26/DUST27/DUST28/DUST29/DUST30/DUST31/DUST32/DUST33/DUST34/DUST35/DUST36/DUST37/DUST38/DUST39/DUST40 --> Mass tuning factor : ${RUNDIR_DUSTDEAD_TF} ### END SECTION EXTENSION SWITCHES ### ############################################################################### ### BEGIN SECTION BASE EMISSIONS ############################################################################### # ExtNr Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Species ScalIDs Cat Hier (((EMISSIONS #============================================================================== # --- APEI (Canada) --- #============================================================================== (((APEI 0 APEI_NO $ROOT/APEI/v2016-11/APEI.0.1x0.1.nc NOx 1989-2014/1/1/0 RF xy kg/m2/s NO 25/1002/115 1 30 0 APEI_CO $ROOT/APEI/v2016-11/APEI.0.1x0.1.nc CO 1989-2014/1/1/0 RF xy kg/m2/s CO 26/52/1002 1 30 0 APEI_SOAP - - - - - - SOAP 26/52/1002/280 1 30 0 APEI_SO2 $ROOT/APEI/v2016-11/APEI.0.1x0.1.nc SOx 1989-2014/1/1/0 RF xy kg/m2/s SO2 60/1002 1 30 0 APEI_SO4 - - - - - - SO4 60/65/1002 1 30 0 APEI_pFe - - - - - - pFe 60/68/1002 1 30 0 APEI_NH3 $ROOT/APEI/v2016-11/APEI.0.1x0.1.nc NH3 1989-2014/1/1/0 RF xy kg/m2/s NH3 1002 1 30 0 APEI_BCPI $ROOT/APEI/v2016-11/APEI.0.1x0.1.nc EC 1989-2014/1/1/0 RF xy kg/m2/s BCPI 70/1002 1 30 0 APEI_BCPO $ROOT/APEI/v2016-11/APEI.0.1x0.1.nc EC 1989-2014/1/1/0 RF xy kg/m2/s BCPO 71/1002 1 30 0 APEI_OCPI $ROOT/APEI/v2016-11/APEI.0.1x0.1.nc OC 1989-2014/1/1/0 RF xy kg/m2/s OCPI 72/1002 1 30 0 APEI_OCPO $ROOT/APEI/v2016-11/APEI.0.1x0.1.nc OC 1989-2014/1/1/0 RF xy kg/m2/s OCPO 73/1002 1 30 0 APEI_POG1 - - - - - - POG1 74/76/1002 1 30 0 APEI_POG2 - - - - - - POG2 74/77/1002 1 30 )))APEI #============================================================================== # --- EPA NEI2016 v1 (USA) --- # # NOTES: # * Barron Henderson wrote, "The EPA emission modeling platform always # includes our best estimate of that year's emissions for Canada and Mexico # (othpt, othar, ptfire_oth). Using that estimate is likely good. However, # that can lead to a discontinuity in Mexico and Canada." # - By default only emissions over the CONUS are used (via Mask #1007) # - To include emissions over Canada and Mexico, users may revert to the old # US mask file $ROOT/MASKS/v2018-09/USA_LANDMASK_NEI2011_0.1x0.1.20160921.nc # * The base year of these emissions is 2016 and emissions are scaled to # 2002-2020 using data from the EPA Trends Report for Tier 1 CAPS (obtained # 21 Sep 2021). # - See NEI2016/v2021-06/national_tier1_caps+HEMCOscaling.xlsx for details. # - Cl2 and HCl emissions are only available for 2016 because those species # aren't included in the Tier 1 CAPS file/ #============================================================================== (((NEI2016_MONMEAN 0 EPA16_BCPI__afdustPEC $ROOT/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__afdustPEC $ROOT/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__afdustPNA $ROOT/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__afdustPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__afdustPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__afdustPOC $ROOT/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__afdustPOC $ROOT/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__afdustPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__afdustPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_SO4__afdustPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_ACET__agACET $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_ALD2__agALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__agALDX $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__agBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_C2H4__agETH $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__agETHA $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__agETOH $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__agFORM $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_PRPE__agIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__agKET $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__agMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__agNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_PRPE__agOLE $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__agPAR $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_C3H8__agPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_TOLU__agTOL $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__agXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__airportsACET $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__airportsACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__airportsALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__airportsALDX $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__airportsBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__airportsCO $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__airportsSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__airportsETH $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__airportsETHA $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__airportsETOH $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__airportsFORM $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__airportsHONO $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__airportsIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__airportsKET $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__airportsMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NO__airportsNO $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__airportsNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__airportsOLE $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__airportsPAR $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__airportsPEC $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__airportsPEC $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__airportsPNA $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__airportsPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__airportsPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__airportsPOC $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__airportsPOC $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__airportsPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__airportsPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__airportsPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__airportsPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__airportsSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__airportspFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__airportsSULF $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__airportsTOL $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__airportsXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__nonptACET $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__nonptACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__nonptALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__nonptALDX $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__nonptBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_Cl2__nonptCL2 $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf CL2 2016/1-12/1/0 R xy kg/m2/s Cl2 1007 1 50 0 EPA16_CO__nonptCO $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__nonptSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__nonptETH $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__nonptETHA $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__nonptETOH $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__nonptFORM $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HCl__nonptHCL $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf HCL 2016/1-12/1/0 R xy kg/m2/s HCl 1007 1 50 0 EPA16_HNO2__nonptHONO $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__nonptIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__nonptKET $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__nonptMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__nonptNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__nonptNO $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__nonptNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__nonptOLE $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__nonptPAR $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__nonptPEC $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__nonptPEC $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__nonptPNA $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__nonptPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__nonptPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__nonptPOC $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__nonptPOC $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__nonptPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__nonptPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__nonptPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__nonptPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__nonptSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__nonptpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__nonptSULF $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__nonptTOL $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__nonptXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__nonroadACET $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__nonroadACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__nonroadALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__nonroadALDX $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__nonroadBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__nonroadCO $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__nonroadSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__nonroadETH $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__nonroadETHA $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__nonroadETOH $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__nonroadFORM $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__nonroadHONO $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__nonroadIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__nonroadKET $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__nonroadMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__nonroadNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__nonroadNO $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__nonroadNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__nonroadOLE $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__nonroadPAR $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__nonroadPEC $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__nonroadPEC $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__nonroadPNA $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__nonroadPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__nonroadPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__nonroadPOC $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__nonroadPOC $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__nonroadPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__nonroadPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__nonroadPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__nonroadPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__nonroadSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__nonroadspFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__nonroadSULF $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__nonroadTOL $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__nonroadXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__npogACET $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__npogACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__npogALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__npogALDX $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__npogBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_Cl2__npogCL2 $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf CL2 2016/1-12/1/0 R xy kg/m2/s Cl2 1007 1 50 0 EPA16_CO__npogCO $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__npogSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__npogETH $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__npogETHA $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__npogETOH $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__npogFORM $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__npogHONO $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__npogIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__npogKET $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__npogMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__npogNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__npogNO $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__npogNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__npogOLE $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__npogPAR $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__npogPEC $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__npogPEC $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__npogPNA $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__npogPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__npogPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__npogPOC $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__npogPOC $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__npogPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__npogPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__npogPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__npogPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__npogSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__npogpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__npogSULF $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__npogTOL $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__npogXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__onroadACET $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__onroadACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__onroadALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__onroadALDX $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__onroadBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__onroadCO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__onroadSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__onroadETH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__onroadETHA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__onroadETOH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__onroadFORM $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__onroadHONO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__onroadIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__onroadKET $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__onroadMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__onroadNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__onroadNO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__onroadNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__onroadOLE $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__onroadPAR $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__onroadPEC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__onroadPEC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__onroadPNA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__onroadPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__onroadPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__onroadPOC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__onroadPOC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__onroadPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__onroadPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__onroadPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__onroadPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__onroadSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__onroadpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_TOLU__onroadTOL $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__onroadXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__onroad_caACET $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__onroad_caACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__onroad_caALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__onroad_caALDX $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__onroad_caBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__onroad_caCO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP_onroad__caSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__onroad_caETH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__onroad_caETHA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__onroad_caETOH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__onroad_caFORM $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__onroad_caHONO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__onroad_caIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__onroad_caKET $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__onroad_caMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__onroad_caNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__onroad_caNO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__onroad_caNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__onroad_caOLE $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__onroad_caPAR $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__onroad_caPEC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__onroad_caPEC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__onroad_caPNA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__onroad_caPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__onroad_caPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__onroad_caPOC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__onroad_caPOC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__onroad_caPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__onroad_caPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__onroad_caPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__onroad_caPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__onroad_caSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__onroad_capFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_TOLU__onroad_caTOL $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__onroad_caXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__railACET $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__railACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__railALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__railALDX $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__railBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__railCO $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__railSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__railETH $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__railETHA $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__railETOH $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__railFORM $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__railHONO $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__railIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__railKET $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__railMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__railNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__railNO $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__railNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__railOLE $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__railPAR $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__railPEC $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__railPEC $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__railPNA $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__railPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__railPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__railPOC $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__railPOC $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__railPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__railPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__railPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__railPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__railSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__railpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__railSULF $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__railTOL $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__railXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__rwcACET $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__rwcACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__rwcALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__rwcALDX $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__rwcBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_Cl2__rwcCL2 $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf CL2 2016/1-12/1/0 R xy kg/m2/s Cl2 1007 1 50 0 EPA16_CO__rwcCO $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__rwcSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__rwcETH $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__rwcETHA $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__rwcETOH $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__rwcFORM $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__rwcHONO $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__rwcIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__rwcKET $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__rwcMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__rwcNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__rwcNO $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__rwcNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__rwcOLE $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__rwcPAR $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__rwcPEC $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__rwcPEC $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__rwcPNA $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__rwcPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__rwcPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__rwcPOC $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__rwcPOC $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__rwcPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__rwcPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__rwcPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__rwcPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__rwcSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__rwcpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__rwcSULF $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__rwcTOL $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__rwcXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__c1c2ACET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xyz kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_ALD2__c1c2ALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xyz kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__c1c2ALDX $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xyz kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__c1c2BENZ $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xyz kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__c1c2CO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xyz kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__clc2SOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__c1c2ETH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__c1c2ETHA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__c1c2ETOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xyz kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__c1c2FORM $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xyz kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__c1c2HONO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__c1c2IOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__c1c2KET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xyz kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__c1c2MEOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xyz kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__c1c2NH3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xyz kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__c1c2NO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xyz kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__c1c2NO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xyz kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__c1c2OLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__c1c2PAR $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xyz kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__c1c2PEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__c1c2PEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__c1c2PNA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__c1c2PNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xyz kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__c1c2PNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xyz kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__c1c2POC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__c1c2POC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__clc2POC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__clc2POC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__c1c2PRPA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xyz kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__c1c2PSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__c1c2SO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xyz kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__clcpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__c1c2SULF $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__c1c2TOL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xyz kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__c1c2XYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xyz kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__c3ACET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xyz kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_ALD2__c3ALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xyz kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__c3ALDX $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xyz kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__c3BENZ $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xyz kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__c3CO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xyz kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__c3SOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__c3ETH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__c3ETHA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__c3ETOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xyz kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__c3FORM $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xyz kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__c3HONO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__c3IOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__c3KET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xyz kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__c3MEOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xyz kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__c3NH3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xyz kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__c3NO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xyz kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__c3NO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xyz kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__c3OLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__c3PAR $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xyz kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__c3PEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__c3PEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__c3PNA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__c3PNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xyz kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__c3PNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xyz kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__c3POC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__c3POC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__c3POC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__c3POC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__c3PRPA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xyz kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__c3PSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__c3SO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xyz kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__c2pFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__c3SULF $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__c3TOL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xyz kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__c3XYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xyz kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__pteguACET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xyz kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__pteguACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xyz kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__pteguALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xyz kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__pteguALDX $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xyz kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__pteguBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xyz kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_Cl2__pteguCL2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf CL2 2016/1-12/1/0 R xyz kg/m2/s Cl2 1007 1 50 0 EPA16_CO__pteguCO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xyz kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__pteguSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__pteguETH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__pteguETHA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__pteguETOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xyz kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__pteguFORM $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xyz kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HCl__pteguHCL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf HCL 2016/1-12/1/0 R xyz kg/m2/s HCl 1007 1 50 0 EPA16_HNO2__pteguHONO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__pteguIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__pteguKET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xyz kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__pteguMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xyz kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__pteguNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xyz kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__pteguNO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xyz kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__pteguNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xyz kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__pteguOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__pteguPAR $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xyz kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__pteguPEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__pteguPEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__pteguPNA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__pteguPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xyz kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__pteguPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xyz kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__pteguPOC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__pteguPOC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__pteguPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__pteguPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__pteguPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xyz kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__pteguPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__pteguSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xyz kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__ptegupFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__pteguSULF $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__pteguTOL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xyz kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__pteguXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xyz kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__ptogACET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xyz kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__ptogACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xyz kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__ptogALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xyz kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__ptogALDX $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xyz kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__ptogBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xyz kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_Cl2__ptogCL2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf CL2 2016/1-12/1/0 R xyz kg/m2/s Cl2 1007 1 50 0 EPA16_CO__ptogCO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xyz kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__ptogSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__ptogETH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__ptogETHA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__ptogETOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xyz kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__ptogFORM $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xyz kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HCl__ptogHCL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf HCL 2016/1-12/1/0 R xyz kg/m2/s HCl 1007 1 50 0 EPA16_HNO2__ptogHONO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__ptogIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__ptogKET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xyz kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__ptogMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xyz kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__ptogNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xyz kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__ptogNO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xyz kgNO2/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__ptogNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xyz kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__ptogOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__ptogPAR $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xyz kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__ptogPEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__ptogPEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__ptogPNA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__ptogPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xyz kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__ptogPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xyz kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__ptogPOC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__ptogPOC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__ptogPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__ptogPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__ptogPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xyz kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__ptogPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__ptogSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xyz kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__ptogpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__ptogSULF $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__ptogTOL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xyz kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__ptogXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xyz kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__ptnonipmACET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xyz kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__ptnonipmACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xyz kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__ptnonipmALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xyz kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__ptnonipmALDX $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xyz kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__ptnonipmBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xyz kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_Cl2__ptnonipmCL2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf CL2 2002-2020/1-12/1/0 R xyz kg/m2/s Cl2 1007 1 50 0 EPA16_CO__ptnonipmCO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xyz kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__ptnonipmSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__ptnonipmETH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__ptnonipmETHA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__ptnonipmETOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xyz kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__ptnonipmFORM $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xyz kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HCl__ptnonipmHCL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf HCL 2002-2020/1-12/1/0 R xyz kg/m2/s HCl 1007 1 50 0 EPA16_HNO2__ptnonipmHONO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__ptnonipmIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__ptnonipmKET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xyz kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__ptnonipmMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xyz kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__ptnonipmNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xyz kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__ptnonipmNO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xyz kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__ptnonipmNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xyz kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__ptnonipmOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__ptnonipmPAR $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xyz kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__ptnonipmPEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__ptnonipmPEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__ptnonipmPNA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__ptnonipmPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xyz kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__ptnonipmPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xyz kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__ptnonipmPOC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__ptnonipmPOC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__ptnonipmPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__ptnonipmPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__ptnonipmPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xyz kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__ptnonipmPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__ptnonipmSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xyz kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__ptnonipmpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__ptnonipmSULF $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__ptnonipmTOL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xyz kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__ptnonipmXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xyz kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__onroad_canACET $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_ALD2__onroad_canALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__onroad_canALDX $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__onroad_canBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__onroad_canCO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__onroad_canSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__onroad_canETH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__onroad_canETHA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__onroad_canETOH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__onroad_canFORM $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__onroad_canHONO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__onroad_canIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__onroad_canKET $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__onroad_canMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__onroad_canNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__onroad_canNO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__onroad_canNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__onroad_canOLE $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__onroad_canPAR $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__onroad_canPEC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__onroad_canPEC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__onroad_canPNA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__onroad_canPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__onroad_canPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__onroad_canPOC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__onroad_canPOC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__onroad_canPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__onroad_canPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__onroad_canPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__onroad_canPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__onroad_canSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__onroad_canpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__onroad_canSULF $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__onroad_canTOL $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__onroad_canXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__onroad_mexACET $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__onroad_mexACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__onroad_mexALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__onroad_mexALDX $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__onroad_mexBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__onroad_mexCO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__onroad_mexSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__onroad_mexETH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__onroad_mexETHA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__onroad_mexETOH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__onroad_mexFORM $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__onroad_mexHONO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__onroad_mexIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__onroad_mexKET $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__onroad_mexMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__onroad_mexNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__onroad_mexNO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__onroad_mexNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__onroad_mexOLE $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__onroad_mexPAR $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__onroad_mexPEC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__onroad_mexPEC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__onroad_mexPNA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__onroad_mexPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__onroad_mexPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__onroad_mexPOC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__onroad_mexPOC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__onroad_mexPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__onroad_mexPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__onroad_mexPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__onroad_mexPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__onroad_mexSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__onroad_mexpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__onroad_mexSULF $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__onroad_mexTOL $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__onroad_mexXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_BCPI__othafdustPEC $ROOT/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__othafdustPEC $ROOT/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__othafdustPNA $ROOT/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__othafdustPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__othafdustPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__othafdustPOC $ROOT/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__othafdustPOC $ROOT/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__othafdustPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__othafdustPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_SO4__othafdustPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_ACET__otharACET $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_ALD2__otharALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__otharALDX $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__otharBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__otharCO $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__otharSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__otharETH $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__otharETHA $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__otharETOH $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__otharFORM $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__otharHONO $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__otharIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__otharKET $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__otharMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__otharNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__otharNO $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__otharNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__otharOLE $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__otharPAR $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__otharPEC $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__otharPEC $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__otharPNA $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__otharPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__otharPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__otharPOC $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__otharPOC $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__otharPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__otharPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__otharPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__otharPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__otharSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__otharpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__otharSULF $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__otharTOL $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__otharXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_BCPI__othptdustPEC $ROOT/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__othptdustPEC $ROOT/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__othptdustPNA $ROOT/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__othptdustPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__othptdustPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__othptdustPOC $ROOT/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__othptdustPOC $ROOT/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__othptdustPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__othptdustPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_SO4__othptdustPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_ACET__othptACET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_ALD2__othptALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__othptALDX $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__othptBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__othptCO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__othptSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__othptETH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__othptETHA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__othptETOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__othptFORM $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__othptHONO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__othptIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__othptKET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__othptMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__othptNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__othptNO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__othptNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__othptOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__othptPAR $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__othptPEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__othptPEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__othptPNA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__othptPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__othptPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__othptPOC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__othptPOC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__othptPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__othptPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__othptPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__othptPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__othptSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__othptpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__othptSULF $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__othptTOL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__othptXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 )))NEI2016_MONMEAN #============================================================================== # --- DICE-Africa emission inventory (Marais and Wiedinmyer, ES&T, 2016) --- # # DICE-Africa includes regional (Africa) emissions of biofuel and diffuse # anthropogenic emissions from cars and motorcycles, biofuels, charcoal making # and use, backup generators, agricultural waste burning for cooking, gas # flares, and ad-hoc/informal oil refining. # # Other pollution sources (formal industry, power generation using fossil # fuels) are from the EDGAR v4.3 inventory for CO, SO2, NH3, NOx BC, and OC. # # NMVOCs from sources not accounted for in DICE-Africa aren't included here, # as these emissions are likely to be low compared to the DICE pollution # sources and RETRO v1 as implemented in GEOS-Chem doesn't distinguish # emissions by sector/activity. # # Emissions for 2013 are defined below, but DICE-Africa also includes # emissions for 2006. Developers recommend using population change to # estimate emissions, if users want to use annual trends in pollutant # emissions to estimate in other years. #============================================================================== (((DICE_Africa # ------------------------ # Cars # ------------------------ 0 DICE_CARS_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/1008 1 60 0 DICE_CARS_SOAP - - - - - - SOAP 26/1008/280 1 60 0 DICE_CARS_NO $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc NO 2013/1/1/0 C xy g/m2/yr NO 25/30/1008 1 60 0 DICE_CARS_ALK4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc ALK4 2013/1/1/0 C xy g/m2/yr ALK4 26/1008 1 60 0 DICE_CARS_ISOP $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc ISOP 2013/1/1/0 C xy g/m2/yr ISOP 26/1008 1 60 0 DICE_CARS_ACET $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc ACET 2013/1/1/0 C xy g/m2/yr ACET 26/1008 1 60 0 DICE_CARS_MEK $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc MEK 2013/1/1/0 C xy g/m2/yr MEK 26/1008 1 60 0 DICE_CARS_ALD2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc ALD2 2013/1/1/0 C xy g/m2/yr ALD2 26/1008 1 60 0 DICE_CARS_RCHO $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc RCHO 2013/1/1/0 C xy g/m2/yr RCHO 26/1008 1 60 0 DICE_CARS_PRPE $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc PRPE 2013/1/1/0 C xy g/m2/yr PRPE 26/1008 1 60 0 DICE_CARS_CH2O $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc CH2O 2013/1/1/0 C xy g/m2/yr CH2O 26/1008 1 60 0 DICE_CARS_SO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc SO2 2013/1/1/0 C xy g/m2/yr SO2 31/78/1008 1 60 0 DICE_CARS_SO4 - - - - - - SO4 31/63/1008 1 60 0 DICE_CARS_pFe - - - - - - pFe 31/78/66/1008 1 60 0 DICE_CARS_C2H4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc C2H4 2013/1/1/0 C xy g/m2/yr C2H4 26/1008 1 60 0 DICE_CARS_BENZ $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc BENZ 2013/1/1/0 C xy g/m2/yr BENZ 26/1008 1 60 0 DICE_CARS_TOLU $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc TOLU 2013/1/1/0 C xy g/m2/yr TOLU 26/1008 1 60 0 DICE_CARS_XYLE $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc XYLE 2013/1/1/0 C xy g/m2/yr XYLE 26/1008 1 60 0 DICE_CARS_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 1 60 0 DICE_CARS_BCPO - - - - - - BCPO 71/1008 1 60 0 DICE_CARS_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008/330 1 60 0 DICE_CARS_OCPO - - - - - - OCPO 73/1008/330 1 60 0 DICE_CARS_POG1 - - - - - - POG1 74/76/1008/330 1 60 0 DICE_CARS_POG2 - - - - - - POG2 74/77/1008/330 1 60 # ------------------------ # Motorcycles # ------------------------ 0 DICE_MOTORCYCLES_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/1008 1 60 0 DICE_MOTORCYCLES_SOAP - - - - - - SOAP 26/1008/280 1 60 0 DICE_MOTORCYCLES_NO $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc NO 2013/1/1/0 C xy g/m2/yr NO 25/30/1008 1 60 0 DICE_MOTORCYCLES_SO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc SO2 2013/1/1/0 C xy g/m2/yr SO2 31/78/1008 1 60 0 DICE_MOTORCYCLES_SO4 - - - - - - SO4 31/63/1008 1 60 0 DICE_MOTORCYCLES_pFe - - - - - - pFe 31/78/66/1008 1 60 0 DICE_MOTORCYCLES_ALK4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc ALK4 2013/1/1/0 C xy g/m2/yr ALK4 26/1008 1 60 0 DICE_MOTORCYCLES_MEK $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc MEK 2013/1/1/0 C xy g/m2/yr MEK 26/1008 1 60 0 DICE_MOTORCYCLES_ALD2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc ALD2 2013/1/1/0 C xy g/m2/yr ALD2 26/1008 1 60 0 DICE_MOTORCYCLES_PRPE $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc PRPE 2013/1/1/0 C xy g/m2/yr PRPE 26/1008 1 60 0 DICE_MOTORCYCLES_CH2O $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc CH2O 2013/1/1/0 C xy g/m2/yr CH2O 26/1008 1 60 0 DICE_MOTORCYCLES_BENZ $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc BENZ 2013/1/1/0 C xy g/m2/yr BENZ 26/1008 1 60 0 DICE_MOTORCYCLES_TOLU $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc TOLU 2013/1/1/0 C xy g/m2/yr TOLU 26/1008 1 60 0 DICE_MOTORCYCLES_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 1 60 0 DICE_MOTORCYCLES_BCPO - - - - - - BCPO 71/1008 1 60 0 DICE_MOTORCYCLES_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 1 60 0 DICE_MOTORCYCLES_OCPO - - - - - - OCPO 73/1008 1 60 0 DICE_MOTORCYCLES_POG1 - - - - - - POG1 74/76/1008 1 60 0 DICE_MOTORCYCLES_POG2 - - - - - - POG2 74/77/1008 1 60 # ------------------------ # Backup generators # ------------------------ 0 DICE_BACKUPGEN_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/1008 1 60 0 DICE_BACKUPGEN_SOAP - - - - - - SOAP 26/1008/280 1 60 0 DICE_BACKUPGEN_NO $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc NO 2013/1/1/0 C xy g/m2/yr NO 25/30/1008 1 60 0 DICE_BACKUPGEN_NO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc NO2 2013/1/1/0 C xy g/m2/yr NO2 25/30/1008 1 60 0 DICE_BACKUPGEN_SO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc SO2 2013/1/1/0 C xy g/m2/yr SO2 31/78/1008 1 60 0 DICE_BACKUPGEN_SO4 - - - - - - SO4 31/63/1008 1 60 0 DICE_BACKUPGEN_pFe - - - - - - pFe 31/78/66/1008 1 60 0 DICE_BACKUPGEN_ACET $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc ACET 2013/1/1/0 C xy g/m2/yr ACET 26/1008 1 60 0 DICE_BACKUPGEN_MEK $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc MEK 2013/1/1/0 C xy g/m2/yr MEK 26/1008 1 60 0 DICE_BACKUPGEN_ALD2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc ALD2 2013/1/1/0 C xy g/m2/yr ALD2 26/1008 1 60 0 DICE_BACKUPGEN_RCHO $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc RCHO 2013/1/1/0 C xy g/m2/yr RCHO 26/1008 1 60 0 DICE_BACKUPGEN_MVK $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc MVK 2013/1/1/0 C xy g/m2/yr MVK 26/1008 1 60 0 DICE_BACKUPGEN_MACR $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc MACR 2013/1/1/0 C xy g/m2/yr MACR 26/1008 1 60 0 DICE_BACKUPGEN_CH2O $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc CH2O 2013/1/1/0 C xy g/m2/yr CH2O 26/1008 1 60 #0 DICE_BACKUPGEN_MGLY $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc MGLY 2013/1/1/0 C xy g/m2/yr MGLY 26/1008 1 60 #0 DICE_BACKUPGEN_GLYX $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc GLYX 2013/1/1/0 C xy g/m2/yr GLYX 26/1008 1 60 0 DICE_BACKUPGEN_C2H4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc C2H4 2013/1/1/0 C xy g/m2/yr C2H4 26/1008 1 60 0 DICE_BACKUPGEN_BENZ $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc BENZ 2013/1/1/0 C xy g/m2/yr BENZ 26/1008 1 60 0 DICE_BACKUPGEN_TOLU $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc TOLU 2013/1/1/0 C xy g/m2/yr TOLU 26/1008 1 60 0 DICE_BACKUPGEN_XYLE $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc XYLE 2013/1/1/0 C xy g/m2/yr XYLE 26/1008 1 60 0 DICE_BACKUPGEN_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 1 60 0 DICE_BACKUPGEN_BCPO - - - - - - BCPO 71/1008 1 60 0 DICE_BACKUPGEN_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 1 60 0 DICE_BACKUPGEN_OCPO - - - - - - OCPO 73/1008 1 60 0 DICE_BACKUPGEN_POG1 - - - - - - POG1 74/76/1008 1 60 0 DICE_BACKUPGEN_POG2 - - - - - - POG2 74/77/1008 1 60 # ------------------------ # Charcoal production # ------------------------ 0 DICE_CHARCOALPROD_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/1008/320 1 60 0 DICE_CHARCOALPROD_SOAP - - - - - - SOAP 26/1008/280/320 1 60 0 DICE_CHARCOALPROD_NO $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc NO 2013/1/1/0 C xy g/m2/yr NO 25/30/1008/320 1 60 0 DICE_CHARCOALPROD_NH3 $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc NH3 2013/1/1/0 C xy g/m2/yr NH3 1008/320 1 60 0 DICE_CHARCOALPROD_PRPE $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc PRPE 2013/1/1/0 C xy g/m2/yr PRPE 26/1008/320 1 60 0 DICE_CHARCOALPROD_CH2O $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc CH2O 2013/1/1/0 C xy g/m2/yr CH2O 26/1008/320 1 60 0 DICE_CHARCOALPROD_C2H6 $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc C2H6 2013/1/1/0 C xy g/m2/yr C2H6 26/1008/320 1 60 0 DICE_CHARCOALPROD_HAC $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc HAC 2013/1/1/0 C xy g/m2/yr HAC 26/1008/320 1 60 0 DICE_CHARCOALPROD_C2H2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc C2H2 2013/1/1/0 C xy g/m2/yr C2H2 26/1008/320 1 60 0 DICE_CHARCOALPROD_C2H4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc C2H4 2013/1/1/0 C xy g/m2/yr C2H4 26/1008/320 1 60 0 DICE_CHARCOALPROD_TOLU $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc TOLU 2013/1/1/0 C xy g/m2/yr TOLU 26/1008/320 1 60 0 DICE_CHARCOALPROD_HCOOH $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc HCOOH 2013/1/1/0 C xy g/m2/yr HCOOH 26/1008/320 1 60 0 DICE_CHARCOALPROD_MOH $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc MOH 2013/1/1/0 C xy g/m2/yr MOH 26/1008/320 1 60 0 DICE_CHARCOALPROD_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008/320 1 60 0 DICE_CHARCOALPROD_BCPO - - - - - - BCPO 71/1008/320 1 60 0 DICE_CHARCOALPROD_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008/320 1 60 0 DICE_CHARCOALPROD_OCPO - - - - - - OCPO 73/1008/320 1 60 0 DICE_CHARCOALPROD_POG1 - - - - - - POG1 74/76/1008/320 1 60 0 DICE_CHARCOALPROD_POG2 - - - - - - POG2 74/77/1008/320 1 60 # ------------------------ # Flaring of natural gas # ------------------------ 0 DICE_GASFLARE_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/1008 1 60 0 DICE_GASFLARE_SOAP - - - - - - SOAP 26/1008/280 1 60 0 DICE_GASFLARE_NO $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc NO 2013/1/1/0 C xy g/m2/yr NO 25/30/1008 1 60 0 DICE_GASFLARE_ALK4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc ALK4 2013/1/1/0 C xy g/m2/yr ALK4 26/1008 1 60 0 DICE_GASFLARE_ALD2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc ALD2 2013/1/1/0 C xy g/m2/yr ALD2 26/1008 1 60 0 DICE_GASFLARE_PRPE $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc PRPE 2013/1/1/0 C xy g/m2/yr PRPE 26/1008 1 60 0 DICE_GASFLARE_CH2O $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc CH2O 2013/1/1/0 C xy g/m2/yr CH2O 26/1008 1 60 0 DICE_GASFLARE_BENZ $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc BENZ 2013/1/1/0 C xy g/m2/yr BENZ 26/1008 1 60 0 DICE_GASFLARE_TOLU $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc TOLU 2013/1/1/0 C xy g/m2/yr TOLU 26/1008 1 60 0 DICE_GASFLARE_XYLE $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc XYLE 2013/1/1/0 C xy g/m2/yr XYLE 26/1008 1 60 0 DICE_GASFLARE_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 1 60 0 DICE_GASFLARE_BCPO - - - - - - BCPO 71/1008 1 60 0 DICE_GASFLARE_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 1 60 0 DICE_GASFLARE_OCPO - - - - - - OCPO 73/1008 1 60 0 DICE_GASFLARE_POG1 - - - - - - POG1 74/76/1008 1 60 0 DICE_GASFLARE_POG2 - - - - - - POG2 74/77/1008 1 60 # ------------------------------ # Ag waste burning for energy # ------------------------------ 0 DICE_AGBURNING_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/1008 2 60 0 DICE_AGBURNING_SOAP - - - - - - SOAP 26/1008/280 2 60 0 DICE_AGBURNING_NO $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc NO 2013/1/1/0 C xy g/m2/yr NO 25/30/1008 2 60 0 DICE_AGBURNING_NO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc NO2 2013/1/1/0 C xy g/m2/yr NO2 25/30/1008 2 60 0 DICE_AGBURNING_SO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc SO2 2013/1/1/0 C xy g/m2/yr SO2 31/78/1008 2 60 0 DICE_AGBURNING_SO4 - - - - - - SO4 31/63/1008 2 60 0 DICE_AGBURNING_pFe - - - - - - pFe 31/78/66/1008 2 60 0 DICE_AGBURNING_NH3 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc NH3 2013/1/1/0 C xy g/m2/yr NH3 1008 2 60 0 DICE_AGBURNING_ALK4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc ALK4 2013/1/1/0 C xy g/m2/yr ALK4 26/1008 2 60 0 DICE_AGBURNING_ISOP $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc ISOP 2013/1/1/0 C xy g/m2/yr ISOP 26/1008 2 60 0 DICE_AGBURNING_ACET $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc ACET 2013/1/1/0 C xy g/m2/yr ACET 26/1008 2 60 0 DICE_AGBURNING_MEK $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc MEK 2013/1/1/0 C xy g/m2/yr MEK 26/1008 2 60 0 DICE_AGBURNING_ALD2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc ALD2 2013/1/1/0 C xy g/m2/yr ALD2 26/1008 2 60 0 DICE_AGBURNING_MVK $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc MVK 2013/1/1/0 C xy g/m2/yr MVK 26/1008 2 60 0 DICE_AGBURNING_MACR $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc MACR 2013/1/1/0 C xy g/m2/yr MACR 26/1008 2 60 0 DICE_AGBURNING_PRPE $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc PRPE 2013/1/1/0 C xy g/m2/yr PRPE 26/1008 2 60 0 DICE_AGBURNING_C3H8 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc C3H8 2013/1/1/0 C xy g/m2/yr C3H8 26/1008 2 60 0 DICE_AGBURNING_CH2O $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc CH2O 2013/1/1/0 C xy g/m2/yr CH2O 26/1008 2 60 0 DICE_AGBURNING_C2H6 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc C2H6 2013/1/1/0 C xy g/m2/yr C2H6 26/1008 2 60 0 DICE_AGBURNING_HAC $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc HAC 2013/1/1/0 C xy g/m2/yr HAC 26/1008 2 60 0 DICE_AGBURNING_GLYC $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc GLYC 2013/1/1/0 C xy g/m2/yr GLYC 26/1008 2 60 0 DICE_AGBURNING_MOH $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc MOH 2013/1/1/0 C xy g/m2/yr MOH 26/1008 2 60 #0 DICE_AGBURNING_MGLY $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc MGLY 2013/1/1/0 C xy g/m2/yr MGLY 26/1008 2 60 #0 DICE_AGBURNING_APIN $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc APIN 2013/1/1/0 C xy g/m2/yr APIN 26/1008 2 60 0 DICE_AGBURNING_C2H2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc C2H2 2013/1/1/0 C xy g/m2/yr C2H2 26/1008 2 60 0 DICE_AGBURNING_C2H4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc C2H4 2013/1/1/0 C xy g/m2/yr C2H4 26/1008 2 60 0 DICE_AGBURNING_BENZ $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc BENZ 2013/1/1/0 C xy g/m2/yr BENZ 26/1008 2 60 0 DICE_AGBURNING_TOLU $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc TOLU 2013/1/1/0 C xy g/m2/yr TOLU 26/1008 2 60 0 DICE_AGBURNING_XYLE $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc XYLE 2013/1/1/0 C xy g/m2/yr XYLE 26/1008 2 60 0 DICE_AGBURNING_HCOOH $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc HCOOH 2013/1/1/0 C xy g/m2/yr HCOOH 26/1008 2 60 0 DICE_AGBURNING_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 2 60 0 DICE_AGBURNING_BCPO - - - - - g/m2/yr BCPO 71/1008 2 60 0 DICE_AGBURNING_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 2 60 0 DICE_AGBURNING_OCPO - - - - - - OCPO 73/1008 2 60 0 DICE_AGBURNING_POG1 - - - - - - POG1 74/76/1008 2 60 0 DICE_AGBURNING_POG2 - - - - - - POG2 74/77/1008 2 60 # ------------------------------ # Charcoal use # ------------------------------ 0 DICE_CHARCOALUSE_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/1008 2 60 0 DICE_CHARCOALUSE_SOAP - - - - - - SOAP 26/1008/280 2 60 0 DICE_CHARCOALUSE_NO $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc NO 2013/1/1/0 C xy g/m2/yr NO 25/30/1008 2 60 0 DICE_CHARCOALUSE_ALK4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc ALK4 2013/1/1/0 C xy g/m2/yr ALK4 26/1008 2 60 0 DICE_CHARCOALUSE_NH3 $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc NH3 2013/1/1/0 C xy g/m2/yr NH3 1008 2 60 0 DICE_CHARCOALUSE_PRPE $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc PRPE 2013/1/1/0 C xy g/m2/yr PRPE 26/1008 2 60 0 DICE_CHARCOALUSE_CH2O $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc CH2O 2013/1/1/0 C xy g/m2/yr CH2O 26/1008 2 60 0 DICE_CHARCOALUSE_C2H6 $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc C2H6 2013/1/1/0 C xy g/m2/yr C2H6 26/1008 2 60 0 DICE_CHARCOALUSE_C2H2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc C2H2 2013/1/1/0 C xy g/m2/yr C2H2 26/1008 2 60 0 DICE_CHARCOALUSE_C2H4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc C2H4 2013/1/1/0 C xy g/m2/yr C2H4 26/1008 2 60 0 DICE_CHARCOALUSE_HCOOH $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc HCOOH 2013/1/1/0 C xy g/m2/yr HCOOH 26/1008 2 60 0 DICE_CHARCOALUSE_MOH $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc MOH 2013/1/1/0 C xy g/m2/yr MOH 26/1008 2 60 0 DICE_CHARCOALUSE_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 2 60 0 DICE_CHARCOALUSE_BCPO - - - - - - BCPO 71/1008 2 60 0 DICE_CHARCOALUSE_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 2 60 0 DICE_CHARCOALUSE_OCPO - - - - - - OCPO 73/1008 2 60 0 DICE_CHARCOALUSE_POG1 - - - - - - POG1 74/76/1008 2 60 0 DICE_CHARCOALUSE_POG2 - - - - - - POG2 74/77/1008 2 60 # ------------------------------ # Kerosene use # ------------------------------ 0 DICE_KEROSENE_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-kerosene-use-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/1008 1 60 0 DICE_KEROSENE_SOAP - - - - - - SOAP 26/1008/280 1 60 0 DICE_KEROSENE_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-kerosene-use-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 1 60 0 DICE_KEROSENE_BCPO - - - - - - BCPO 71/1008 1 60 0 DICE_KEROSENE_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-kerosene-use-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 1 60 0 DICE_KEROSENE_OCPO - - - - - - OCPO 73/1008 1 60 0 DICE_KEROSENE_POG1 - - - - - - POG1 74/76/1008 1 60 0 DICE_KEROSENE_POG2 - - - - - - POG2 74/77/1008 1 60 # ------------------------------ # Artisanal oil refining # ------------------------------ 0 DICE_OILREFINING_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/1008 1 60 0 DICE_OILREFINING_SOAP - - - - - - SOAP 26/1008/280 1 60 0 DICE_OILREFINING_NO $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc NO 2013/1/1/0 C xy g/m2/yr NO 25/30/1008 1 60 0 DICE_OILREFINING_SO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc SO2 2013/1/1/0 C xy g/m2/yr SO2 31/78/1008 1 60 0 DICE_OILREFINING_SO4 - - - - - - SO4 31/63/1008 1 60 0 DICE_OILREFINING_pFe - - - - - - pFe 31/78/66/1008 1 60 0 DICE_OILREFINING_ALK4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc ALK4 2013/1/1/0 C xy g/m2/yr ALK4 26/1008 1 60 0 DICE_OILREFINING_ACET $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc ACET 2013/1/1/0 C xy g/m2/yr ACET 26/1008 1 60 0 DICE_OILREFINING_MEK $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc MEK 2013/1/1/0 C xy g/m2/yr MEK 26/1008 1 60 0 DICE_OILREFINING_ALD2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc ALD2 2013/1/1/0 C xy g/m2/yr ALD2 26/1008 1 60 0 DICE_OILREFINING_RCHO $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc RCHO 2013/1/1/0 C xy g/m2/yr RCHO 26/1008 1 60 0 DICE_OILREFINING_C3H8 $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc C3H8 2013/1/1/0 C xy g/m2/yr C3H8 26/1008 1 60 0 DICE_OILREFINING_CH2O $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc CH2O 2013/1/1/0 C xy g/m2/yr CH2O 26/1008 1 60 0 DICE_OILREFINING_C2H6 $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc C2H6 2013/1/1/0 C xy g/m2/yr C2H6 26/1008 1 60 0 DICE_OILREFINING_BENZ $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc BENZ 2013/1/1/0 C xy g/m2/yr BENZ 26/1008 1 60 0 DICE_OILREFINING_TOLU $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc TOLU 2013/1/1/0 C xy g/m2/yr TOLU 26/1008 1 60 0 DICE_OILREFINING_XYLE $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc XYLE 2013/1/1/0 C xy g/m2/yr XYLE 26/1008 1 60 0 DICE_OILREFINING_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 1 60 0 DICE_OILREFINING_BCPO - - - - - - BCPO 71/1008 1 60 0 DICE_OILREFINING_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 1 60 0 DICE_OILREFINING_OCPO - - - - - - OCPO 73/1008 1 60 0 DICE_OILREFINING_POG1 - - - - - - POG1 74/76/1008 1 60 0 DICE_OILREFINING_POG2 - - - - - - POG2 74/77/1008 1 60 # -------------------------- # Household fuelwood use # -------------------------- 0 DICE_HOUSEFUELWOOD_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/1008 2 60 0 DICE_HOUSEFUELWOOD_SOAP - - - - - - SOAP 26/1008/280 2 60 0 DICE_HOUSEFUELWOOD_NO $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc NO 2013/1/1/0 C xy g/m2/yr NO 25/30/1008 2 60 0 DICE_HOUSEFUELWOOD_NO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc NO2 2013/1/1/0 C xy g/m2/yr NO2 25/30/1008 2 60 0 DICE_HOUSEFUELWOOD_SO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc SO2 2013/1/1/0 C xy g/m2/yr SO2 31/78/1008 2 60 0 DICE_HOUSEFUELWOOD_SO4 - - - - - - SO4 31/63/1008 2 60 0 DICE_HOUSEFUELWOOD_pFe - - - - - - pFe 31/78/66/1008 2 60 0 DICE_HOUSEFUELWOOD_NH3 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc NH3 2013/1/1/0 C xy g/m2/yr NH3 1008 2 60 0 DICE_HOUSEFUELWOOD_ALK4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc ALK4 2013/1/1/0 C xy g/m2/yr ALK4 26/1008 2 60 0 DICE_HOUSEFUELWOOD_ISOP $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc ISOP 2013/1/1/0 C xy g/m2/yr ISOP 26/1008 2 60 0 DICE_HOUSEFUELWOOD_MEK $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc MEK 2013/1/1/0 C xy g/m2/yr MEK 26/1008 2 60 0 DICE_HOUSEFUELWOOD_ALD2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc ALD2 2013/1/1/0 C xy g/m2/yr ALD2 26/1008 2 60 0 DICE_HOUSEFUELWOOD_MVK $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc MVK 2013/1/1/0 C xy g/m2/yr MVK 26/1008 2 60 0 DICE_HOUSEFUELWOOD_PRPE $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc PRPE 2013/1/1/0 C xy g/m2/yr PRPE 26/1008 2 60 0 DICE_HOUSEFUELWOOD_CH2O $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc CH2O 2013/1/1/0 C xy g/m2/yr CH2O 26/1008 2 60 0 DICE_HOUSEFUELWOOD_C2H6 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc C2H6 2013/1/1/0 C xy g/m2/yr C2H6 26/1008 2 60 0 DICE_HOUSEFUELWOOD_HAC $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc HAC 2013/1/1/0 C xy g/m2/yr HAC 26/1008 2 60 0 DICE_HOUSEFUELWOOD_GLYC $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc GLYC 2013/1/1/0 C xy g/m2/yr GLYC 26/1008 2 60 0 DICE_HOUSEFUELWOOD_MOH $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc MOH 2013/1/1/0 C xy g/m2/yr MOH 26/1008 2 60 #0 DICE_HOUSEFUELWOOD_MGLY $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc MGLY 2013/1/1/0 C xy g/m2/yr MGLY 26/1008 2 60 #0 DICE_HOUSEFUELWOOD_APIN $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc APIN 2013/1/1/0 C xy g/m2/yr APIN 26/1008 2 60 0 DICE_HOUSEFUELWOOD_C2H2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc C2H2 2013/1/1/0 C xy g/m2/yr C2H2 26/1008 2 60 0 DICE_HOUSEFUELWOOD_C2H4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc C2H4 2013/1/1/0 C xy g/m2/yr C2H4 26/1008 2 60 0 DICE_HOUSEFUELWOOD_BENZ $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc BENZ 2013/1/1/0 C xy g/m2/yr BENZ 26/1008 2 60 0 DICE_HOUSEFUELWOOD_TOLU $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc TOLU 2013/1/1/0 C xy g/m2/yr TOLU 26/1008 2 60 0 DICE_HOUSEFUELWOOD_XYLE $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc XYLE 2013/1/1/0 C xy g/m2/yr XYLE 26/1008 2 60 0 DICE_HOUSEFUELWOOD_HCOOH $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc HCOOH 2013/1/1/0 C xy g/m2/yr HCOOH 26/1008 2 60 0 DICE_HOUSEFUELWOOD_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 2 60 0 DICE_HOUSEFUELWOOD_BCPO - - - - - - BCPO 71/1008 2 60 0 DICE_HOUSEFUELWOOD_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 2 60 0 DICE_HOUSEFUELWOOD_OCPO - - - - - - OCPO 73/1008 2 60 0 DICE_HOUSEFUELWOOD_POG1 - - - - - - POG1 74/76/1008 2 60 0 DICE_HOUSEFUELWOOD_POG2 - - - - - - POG2 74/77/1008 2 60 # --------------------------------- # Commercial (other) fuelwood use # --------------------------------- 0 DICE_OTHERFUELWOOD_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/1008 2 60 0 DICE_OTHERFUELWOOD_SOAP - - - - - - SOAP 26/1008/280 2 60 0 DICE_OTHERFUELWOOD_NO $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc NO 2013/1/1/0 C xy g/m2/yr NO 25/30/1008 2 60 0 DICE_OTHERFUELWOOD_NO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc NO2 2013/1/1/0 C xy g/m2/yr NO2 25/30/1008 2 60 0 DICE_OTHERFUELWOOD_SO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc SO2 2013/1/1/0 C xy g/m2/yr SO2 31/78/1008 2 60 0 DICE_OTHERFUELWOOD_SO4 - - - - - - SO4 31/63/1008 2 60 0 DICE_OTHERFUELWOOD_pFe - - - - - - pFe 31/78/66/1008 2 60 0 DICE_OTHERFUELWOOD_NH3 $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc NH3 2013/1/1/0 C xy g/m2/yr NH3 1008 2 60 0 DICE_OTHERFUELWOOD_ALK4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc ALK4 2013/1/1/0 C xy g/m2/yr ALK4 26/1008 2 60 0 DICE_OTHERFUELWOOD_ISOP $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc ISOP 2013/1/1/0 C xy g/m2/yr ISOP 26/1008 2 60 0 DICE_OTHERFUELWOOD_MEK $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc MEK 2013/1/1/0 C xy g/m2/yr MEK 26/1008 2 60 0 DICE_OTHERFUELWOOD_ALD2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc ALD2 2013/1/1/0 C xy g/m2/yr ALD2 26/1008 2 60 0 DICE_OTHERFUELWOOD_MVK $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc MVK 2013/1/1/0 C xy g/m2/yr MVK 26/1008 2 60 0 DICE_OTHERFUELWOOD_PRPE $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc PRPE 2013/1/1/0 C xy g/m2/yr PRPE 26/1008 2 60 0 DICE_OTHERFUELWOOD_CH2O $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc CH2O 2013/1/1/0 C xy g/m2/yr CH2O 26/1008 2 60 0 DICE_OTHERFUELWOOD_C2H6 $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc C2H6 2013/1/1/0 C xy g/m2/yr C2H6 26/1008 2 60 0 DICE_OTHERFUELWOOD_HAC $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc HAC 2013/1/1/0 C xy g/m2/yr HAC 26/1008 2 60 0 DICE_OTHERFUELWOOD_GLYC $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc GLYC 2013/1/1/0 C xy g/m2/yr GLYC 26/1008 2 60 0 DICE_OTHERFUELWOOD_MOH $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc MOH 2013/1/1/0 C xy g/m2/yr MOH 26/1008 2 60 #0 DICE_OTHERFUELWOOD_MGLY $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc MGLY 2013/1/1/0 C xy g/m2/yr MGLY 26/1008 2 60 #0 DICE_OTHERFUELWOOD_APIN $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc APIN 2013/1/1/0 C xy g/m2/yr APIN 26/1008 2 60 0 DICE_OTHERFUELWOOD_C2H2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc C2H2 2013/1/1/0 C xy g/m2/yr C2H2 26/1008 2 60 0 DICE_OTHERFUELWOOD_C2H4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc C2H4 2013/1/1/0 C xy g/m2/yr C2H4 26/1008 2 60 0 DICE_OTHERFUELWOOD_BENZ $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc BENZ 2013/1/1/0 C xy g/m2/yr BENZ 26/1008 2 60 0 DICE_OTHERFUELWOOD_TOLU $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc TOLU 2013/1/1/0 C xy g/m2/yr TOLU 26/1008 2 60 0 DICE_OTHERFUELWOOD_XYLE $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc XYLE 2013/1/1/0 C xy g/m2/yr XYLE 26/1008 2 60 0 DICE_OTHERFUELWOOD_HCOOH $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc HCOOH 2013/1/1/0 C xy g/m2/yr HCOOH 26/1008 2 60 0 DICE_OTHERFUELWOOD_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 2 60 0 DICE_OTHERFUELWOOD_BCPO - - - - - - BCPO 71/1008 2 60 0 DICE_OTHERFUELWOOD_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 2 60 0 DICE_OTHERFUELWOOD_OCPO - - - - - - OCPO 73/1008 2 60 0 DICE_OTHERFUELWOOD_POG1 - - - - - - POG1 74/76/1008 2 60 0 DICE_OTHERFUELWOOD_POG2 - - - - - - POG2 74/77/1008 2 60 # --------------------------------------------------- # Efficient Combustion Emissions from EDGAR # This makes up for sources that DICE-Africa lacks # --------------------------------------------------- 0 AF_EDGAR_BCPI_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.POW.0.1x0.1.nc emi_bc 1970-2010/1/1/0 RF xy kg/m2/s BCPI 1201/1008/70 1 60 0 AF_EDGAR_BCPO_POW - - - - - - BCPO 1201/1008/71 1 60 0 AF_EDGAR_BCPI_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.ENG.0.1x0.1.nc emi_bc 1970-2010/1/1/0 RF xy kg/m2/s BCPI 1202/1008/70 1 60 0 AF_EDGAR_BCPO_ENG - - - - - - BCPO 1202/1008/71 1 60 0 AF_EDGAR_BCPI_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.IND.0.1x0.1.nc emi_bc 1970-2010/1/1/0 RF xy kg/m2/s BCPI 1203/1008/70 1 60 0 AF_EDGAR_BCPO_IND - - - - - - BCPO 1203/1008/71 1 60 0 AF_EDGAR_BCPI_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.TNG.0.1x0.1.nc emi_bc 1970-2010/1/1/0 RF xy kg/m2/s BCPI 1205/1008/70 1 60 0 AF_EDGAR_BCPO_TNG - - - - - - BCPO 1205/1008/71 1 60 0 AF_EDGAR_BCPI_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.SWD.0.1x0.1.nc emi_bc 1970-2010/1/1/0 RF xy kg/m2/s BCPI 1211/1008/70 1 60 0 AF_EDGAR_BCPO_SWD - - - - - - BCPO 1211/1008/71 1 60 0 AF_EDGAR_CO_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.POW.0.1x0.1.nc emi_co 1970-2010/1/1/0 RF xy kg/m2/s CO 1201/26/52/1008 1 60 0 AF_EDGAR_SOAP_POW - - - - - - SOAP 1201/26/52/1008/280 1 60 0 AF_EDGAR_CO_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.ENG.0.1x0.1.nc emi_co 1970-2010/1/1/0 RF xy kg/m2/s CO 1202/26/52/1008 1 60 0 AF_EDGAR_SOAP_ENG - - - - - - SOAP 1202/26/52/1008/280 1 60 0 AF_EDGAR_CO_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.IND.0.1x0.1.nc emi_co 1970-2010/1/1/0 RF xy kg/m2/s CO 1203/26/52/1008 1 60 0 AF_EDGAR_SOAP_IND - - - - - - SOAP 1203/26/52/1008/280 1 60 0 AF_EDGAR_CO_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.TNG.0.1x0.1.nc emi_co 1970-2010/1/1/0 RF xy kg/m2/s CO 1205/26/52/1008 1 60 0 AF_EDGAR_SOAP_TNG - - - - - - SOAP 1205/26/52/1008/280 1 60 0 AF_EDGAR_CO_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.PPA.0.1x0.1.nc emi_co 1970-2010/1/1/0 RF xy kg/m2/s CO 1207/26/52/1008 1 60 0 AF_EDGAR_SOAP_PPA - - - - - - SOAP 1207/26/52/1008/280 1 60 0 AF_EDGAR_CO_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.SWD.0.1x0.1.nc emi_co 1970-2010/1/1/0 RF xy kg/m2/s CO 1211/26/52/1008 1 60 0 AF_EDGAR_SOAP_SWD - - - - - - SOAP 1211/26/52/1008/280 1 60 0 AF_EDGAR_NO_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.POW.0.1x0.1.nc emi_nox 1970-2010/1/1/0 RF xy kg/m2/s NO 1201/25/115/1008 1 60 0 AF_EDGAR_NO_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.ENG.0.1x0.1.nc emi_nox 1970-2010/1/1/0 RF xy kg/m2/s NO 1202/25/115/1008 1 60 0 AF_EDGAR_NO_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.IND.0.1x0.1.nc emi_nox 1970-2010/1/1/0 RF xy kg/m2/s NO 1203/25/115/1008 1 60 0 AF_EDGAR_NO_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.TNG.0.1x0.1.nc emi_nox 1970-2010/1/1/0 RF xy kg/m2/s NO 1205/25/115/1008 1 60 0 AF_EDGAR_NO_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.PPA.0.1x0.1.nc emi_nox 1970-2010/1/1/0 RF xy kg/m2/s NO 1207/25/115/1008 1 60 0 AF_EDGAR_NO_AGR $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.AGR.0.1x0.1.nc emi_nox 1970-2010/1/1/0 RF xy kg/m2/s NO 1208/25/115/1008 1 60 0 AF_EDGAR_NO_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.SWD.0.1x0.1.nc emi_nox 1970-2010/1/1/0 RF xy kg/m2/s NO 1211/25/115/1008 1 60 0 AF_EDGAR_NH3_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.POW.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 RF xy kg/m2/s NH3 1201/1008 1 60 0 AF_EDGAR_NH3_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.ENG.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 RF xy kg/m2/s NH3 1202/1008 1 60 0 AF_EDGAR_NH3_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.IND.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 RF xy kg/m2/s NH3 1203/1008 1 60 0 AF_EDGAR_NH3_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.TNG.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 RF xy kg/m2/s NH3 1205/1008 1 60 0 AF_EDGAR_NH3_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.PPA.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 RF xy kg/m2/s NH3 1207/1008 1 60 0 AF_EDGAR_NH3_AGR $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.AGR.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 RF xy kg/m2/s NH3 1208/1008 1 60 0 AF_EDGAR_NH3_SOL $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.SOL.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 RF xy kg/m2/s NH3 1210/1008 1 60 0 AF_EDGAR_NH3_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.SWD.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 RF xy kg/m2/s NH3 1211/1008 1 60 0 AF_EDGAR_OCPI_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.POW.0.1x0.1.nc emi_oc 1970-2010/1/1/0 RF xy kg/m2/s OCPI 1201/1008/72 1 60 0 AF_EDGAR_OCPO_POW - - - - - - OCPO 1201/1008/73 1 60 0 AF_EDGAR_POG1_POW - - - - - - POG1 1201/1008/74/76 1 60 0 AF_EDGAR_POG2_POW - - - - - - POG2 1201/1008/74/77 1 60 0 AF_EDGAR_OCPI_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.ENG.0.1x0.1.nc emi_oc 1970-2010/1/1/0 RF xy kg/m2/s OCPI 1202/1008/72 1 60 0 AF_EDGAR_OCPO_ENG - - - - - - OCPO 1202/1008/73 1 60 0 AF_EDGAR_POG1_ENG - - - - - - POG1 1202/1008/74/76 1 60 0 AF_EDGAR_POG2_ENG - - - - - - POG2 1202/1008/74/77 1 60 0 AF_EDGAR_OCPI_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.IND.0.1x0.1.nc emi_oc 1970-2010/1/1/0 RF xy kg/m2/s OCPI 1203/1008/72 1 60 0 AF_EDGAR_OCPO_IND - - - - - - OCPO 1203/1008/73 1 60 0 AF_EDGAR_POG1_IND - - - - - - POG1 1203/1008/74/76 1 60 0 AF_EDGAR_POG2_IND - - - - - - POG2 1203/1008/74/77 1 60 0 AF_EDGAR_OCPI_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.TNG.0.1x0.1.nc emi_oc 1970-2010/1/1/0 RF xy kg/m2/s OCPI 1205/1008/72 1 60 0 AF_EDGAR_OCPO_TNG - - - - - - OCPO 1205/1008/73 1 60 0 AF_EDGAR_POG1_TNG - - - - - - POG1 1205/1008/74/76 1 60 0 AF_EDGAR_POG2_TNG - - - - - - POG2 1205/1008/74/77 1 60 0 AF_EDGAR_OCPI_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.SWD.0.1x0.1.nc emi_oc 1970-2010/1/1/0 RF xy kg/m2/s OCPI 1211/1008/72 1 60 0 AF_EDGAR_OCPO_SWD - - - - - - OCPO 1211/1008/73 1 60 0 AF_EDGAR_POG1_SWD - - - - - - POG1 1211/1008/74/76 1 60 0 AF_EDGAR_POG2_SWD - - - - - - POG2 1211/1008/74/77 1 60 0 AF_EDGAR_SO2_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.POW.0.1x0.1.nc emi_so2 1970-2010/1/1/0 RF xy kg/m2/s SO2 1201/1008 1 60 0 AF_EDGAR_SO4_POW - - - - - - SO4 1201/1008/63 1 60 0 AF_EDGAR_pFe_POW - - - - - - pFe 1201/1008/66 1 60 0 AF_EDGAR_SO2_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.ENG.0.1x0.1.nc emi_so2 1970-2010/1/1/0 RF xy kg/m2/s SO2 1202/1008 1 60 0 AF_EDGAR_SO4_ENG - - - - - - SO4 1202/1008/63 1 60 0 AF_EDGAR_pFe_ENG - - - - - - pFe 1202/1008/66 1 60 0 AF_EDGAR_SO2_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.IND.0.1x0.1.nc emi_so2 1970-2010/1/1/0 RF xy kg/m2/s SO2 1203/1008 1 60 0 AF_EDGAR_SO4_IND - - - - - - SO4 1203/1008/63 1 60 0 AF_EDGAR_pFe_IND - - - - - - pFe 1203/1008/66 1 60 0 AF_EDGAR_SO2_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.TNG.0.1x0.1.nc emi_so2 1970-2010/1/1/0 RF xy kg/m2/s SO2 1205/1008 1 60 0 AF_EDGAR_SO4_TNG - - - - - - SO4 1205/1008/63 1 60 0 AF_EDGAR_pFe_TNG - - - - - - pFe 1205/1008/66 1 60 0 AF_EDGAR_SO2_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.PPA.0.1x0.1.nc emi_so2 1970-2010/1/1/0 RF xy kg/m2/s SO2 1207/1008 1 60 0 AF_EDGAR_SO4_PPA - - - - - - SO4 1207/1008/63 1 60 0 AF_EDGAR_pFe_PPA - - - - - - pFe 1207/1008/66 1 60 0 AF_EDGAR_SO2_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.SWD.0.1x0.1.nc emi_so2 1970-2010/1/1/0 RF xy kg/m2/s SO2 1211/1008 1 60 0 AF_EDGAR_SO4_SWD - - - - - - SO4 1211/1008/63 1 60 0 AF_EDGAR_pFe_SWD - - - - - - pFe 1211/1008/66 1 60 )))DICE_Africa #============================================================================== # --- CEDS_01x01 --- # # %%% This is the default global inventory. %%% # %%% You may select either CEDS, EDGAR, HTAP or CMIP6_SFC_LAND_ANTHRO %%% # %%% for the global base emissions. %%% #============================================================================== (((CEDS_01x01 0 CEDS_NO_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_NO_0.1x0.1_$YYYY.nc NO_agr 1980-2019/1-12/1/0 C xy kg/m2/s NO 2401 1 5 0 CEDS_NO_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_NO_0.1x0.1_$YYYY.nc NO_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s NO 2401/706/315 1 5 0 CEDS_NO_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_NO_0.1x0.1_$YYYY.nc NO_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s NO 2407/707/316 1 5 0 CEDS_NO_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_NO_0.1x0.1_$YYYY.nc NO_tra 1980-2019/1-12/1/0 C xy kg/m2/s NO 2411/711 1 5 0 CEDS_NO_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_NO_0.1x0.1_$YYYY.nc NO_rco 1980-2019/1-12/1/0 C xy kg/m2/s NO 2409/709 1 5 0 CEDS_NO_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_NO_0.1x0.1_$YYYY.nc NO_slv 1980-2019/1-12/1/0 C xy kg/m2/s NO 2407/707 1 5 0 CEDS_NO_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_NO_0.1x0.1_$YYYY.nc NO_wst 1980-2019/1-12/1/0 C xy kg/m2/s NO 25 1 5 0 CEDS_CO_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_agr 1980-2019/1-12/1/0 C xy kg/m2/s CO 2401 1 5 0 CEDS_SOAP_AGR - - - - - - SOAP 280/2401 1 5 0 CEDS_CO_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s CO 2406/706/315 1 5 0 CEDS_SOAP_ENE - - - - - - SOAP 280/2406/706/315 1 5 0 CEDS_CO_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s CO 2407/707/316 1 5 0 CEDS_SOAP_IND - - - - - - SOAP 280/2407/707/316 1 5 0 CEDS_CO_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_tra 1980-2019/1-12/1/0 C xy kg/m2/s CO 2411/711 1 5 0 CEDS_SOAP_TRA - - - - - - SOAP 280/2411/711 1 5 0 CEDS_CO_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_rco 1980-2019/1-12/1/0 C xy kg/m2/s CO 2409/709 1 5 0 CEDS_SOAP_RCO - - - - - - SOAP 280/2409/709 1 5 0 CEDS_CO_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_slv 1980-2019/1-12/1/0 C xy kg/m2/s CO 2407/707 1 5 0 CEDS_SOAP_SLV - - - - - - SOAP 280/2407/707 1 5 0 CEDS_CO_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_wst 1980-2019/1-12/1/0 C xy kg/m2/s CO 26 1 5 0 CEDS_SOAP_WST - - - - - - SOAP 26/280 1 5 0 CEDS_SO2_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_SO2_0.1x0.1_$YYYY.nc SO2_agr 1980-2019/1-12/1/0 C xy kg/m2/s SO2 2401 1 5 0 CEDS_SO4_AGR - - - - - - SO4 63/2401 1 5 0 CEDS_pFe_AGR - - - - - - pFe 66/2401 1 5 0 CEDS_SO2_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_SO2_0.1x0.1_$YYYY.nc SO2_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s SO2 2406/706/315 1 5 0 CEDS_SO4_ENE - - - - - - SO4 63/2406/706/315 1 5 0 CEDS_pFe_ENE - - - - - - pFe 66/2406/706/315 1 5 0 CEDS_SO2_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_SO2_0.1x0.1_$YYYY.nc SO2_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s SO2 2407/707/316 1 5 0 CEDS_SO4_IND - - - - - - SO4 63/2407/707/316 1 5 0 CEDS_pFe_IND - - - - - - pFe 66/2407/707/316 1 5 0 CEDS_SO2_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_SO2_0.1x0.1_$YYYY.nc SO2_tra 1980-2019/1-12/1/0 C xy kg/m2/s SO2 2411/711 1 5 0 CEDS_SO4_TRA - - - - - - SO4 63/2411/711 1 5 0 CEDS_pFe_TRA - - - - - - pFe 66/2411/711 1 5 0 CEDS_SO2_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_SO2_0.1x0.1_$YYYY.nc SO2_rco 1980-2019/1-12/1/0 C xy kg/m2/s SO2 2409/709 1 5 0 CEDS_SO4_RCO - - - - - - SO4 63/2409/709 1 5 0 CEDS_pFe_RCO - - - - - - pFe 66/2409/709 1 5 0 CEDS_SO2_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_SO2_0.1x0.1_$YYYY.nc SO2_slv 1980-2019/1-12/1/0 C xy kg/m2/s SO2 2407/707 1 5 0 CEDS_SO4_SLV - - - - - - SO4 63/2407/707 1 5 0 CEDS_pFe_SLV - - - - - - pFe 66/2407/707 1 5 0 CEDS_SO2_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_SO2_0.1x0.1_$YYYY.nc SO2_wst 1980-2019/1-12/1/0 C xy kg/m2/s SO2 - 1 5 0 CEDS_SO4_WST - - - - - - SO4 63 1 5 0 CEDS_pFe_WST - - - - - - pFe 66 1 5 0 CEDS_NH3_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_NH3_0.1x0.1_$YYYY.nc NH3_agr 1980-2019/1-12/1/0 C xy kg/m2/s NH3 2401 1 5 0 CEDS_NH3_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_NH3_0.1x0.1_$YYYY.nc NH3_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s NH3 2406/706/315 1 5 0 CEDS_NH3_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_NH3_0.1x0.1_$YYYY.nc NH3_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s NH3 2407/707/316 1 5 0 CEDS_NH3_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_NH3_0.1x0.1_$YYYY.nc NH3_tra 1980-2019/1-12/1/0 C xy kg/m2/s NH3 2411/711 1 5 0 CEDS_NH3_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_NH3_0.1x0.1_$YYYY.nc NH3_rco 1980-2019/1-12/1/0 C xy kg/m2/s NH3 2409/709 1 5 0 CEDS_NH3_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_NH3_0.1x0.1_$YYYY.nc NH3_slv 1980-2019/1-12/1/0 C xy kg/m2/s NH3 2407/707 1 5 0 CEDS_NH3_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_NH3_0.1x0.1_$YYYY.nc NH3_wst 1980-2019/1-12/1/0 C xy kg/m2/s NH3 - 1 5 0 CEDS_BCPI_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_BC_0.1x0.1_$YYYY.nc BC_agr 1980-2019/1-12/1/0 C xy kg/m2/s BCPI 70/2401 1 5 0 CEDS_BCPO_AGR - - - - - - BCPO 71/2401 1 5 0 CEDS_BCPI_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_BC_0.1x0.1_$YYYY.nc BC_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s BCPI 70/2406/706/315 1 5 0 CEDS_BCPO_ENE - - - - - - BCPO 71/2406/706/315 1 5 0 CEDS_BCPI_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_BC_0.1x0.1_$YYYY.nc BC_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s BCPI 70/2407/707/316 1 5 0 CEDS_BCPO_IND - - - - - - BCPO 71/2407/707/316 1 5 0 CEDS_BCPI_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_BC_0.1x0.1_$YYYY.nc BC_tra 1980-2019/1-12/1/0 C xy kg/m2/s BCPI 70/2411/711 1 5 0 CEDS_BCPO_TRA - - - - - - BCPO 71/2411/711 1 5 0 CEDS_BCPI_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_BC_0.1x0.1_$YYYY.nc BC_rco 1980-2019/1-12/1/0 C xy kg/m2/s BCPI 70/2409/709 1 5 0 CEDS_BCPO_RCO - - - - - - BCPO 71/2409/709 1 5 0 CEDS_BCPI_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_BC_0.1x0.1_$YYYY.nc BC_slv 1980-2019/1-12/1/0 C xy kg/m2/s BCPI 70/2407/707 1 5 0 CEDS_BCPO_SLV - - - - - - BCPO 71/2407/707 1 5 0 CEDS_BCPI_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_BC_0.1x0.1_$YYYY.nc BC_wst 1980-2019/1-12/1/0 C xy kg/m2/s BCPI 70 1 5 0 CEDS_BCPO_WST - - - - - - BCPO 71 1 5 0 CEDS_OCPI_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_OC_0.1x0.1_$YYYY.nc OC_agr 1980-2019/1-12/1/0 C xy kg/m2/s OCPI 72/2401 1 5 0 CEDS_OCPO_AGR - - - - - - OCPO 73/2401 1 5 0 CEDS_POG1_AGR - - - - - - POG1 74/76/2401 1 5 0 CEDS_POG2_AGR - - - - - - POG2 74/77/2401 1 5 0 CEDS_OCPI_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_OC_0.1x0.1_$YYYY.nc OC_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s OCPI 72/2406/706/315 1 5 0 CEDS_OCPO_ENE - - - - - - OCPO 73/2406/706/315 1 5 0 CEDS_POG1_ENE - - - - - - POG1 74/76/2406/706/315 1 5 0 CEDS_POG2_ENE - - - - - - POG2 74/76/2406/706/315 1 5 0 CEDS_OCPI_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_OC_0.1x0.1_$YYYY.nc OC_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s OCPI 72/2407/707/316 1 5 0 CEDS_OCPO_IND - - - - - - OCPO 73/2407/707/316 1 5 0 CEDS_POG1_IND - - - - - - POG1 74/76/2407/707/316 1 5 0 CEDS_POG2_IND - - - - - - POG2 74/77/2407/707/316 1 5 0 CEDS_OCPI_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_OC_0.1x0.1_$YYYY.nc OC_tra 1980-2019/1-12/1/0 C xy kg/m2/s OCPI 72/2411/711 1 5 0 CEDS_OCPO_TRA - - - - - - OCPO 73/2411/711 1 5 0 CEDS_POG1_TRA - - - - - - POG1 74/76/2411/711 1 5 0 CEDS_POG2_TRA - - - - - - POG2 74/77/2411/711 1 5 0 CEDS_OCPI_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_OC_0.1x0.1_$YYYY.nc OC_rco 1980-2019/1-12/1/0 C xy kg/m2/s OCPI 72/2409/709 1 5 0 CEDS_OCPO_RCO - - - - - - OCPO 73/2409/709 1 5 0 CEDS_POG1_RCO - - - - - - POG1 74/76/2409/709 1 5 0 CEDS_POG2_RCO - - - - - - POG2 74/77/2409/709 1 5 0 CEDS_OCPI_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_OC_0.1x0.1_$YYYY.nc OC_slv 1980-2019/1-12/1/0 C xy kg/m2/s OCPI 72/2407/707 1 5 0 CEDS_OCPO_SLV - - - - - - OCPO 73/2407/707 1 5 0 CEDS_POG1_SLV - - - - - - POG1 74/76/2407/707 1 5 0 CEDS_POG2_SLV - - - - - - POG2 74/77/2407/707 1 5 0 CEDS_OCPI_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_OC_0.1x0.1_$YYYY.nc OC_wst 1980-2019/1-12/1/0 C xy kg/m2/s OCPI 72 1 5 0 CEDS_OCPO_WST - - - - - - OCPO 73 1 5 0 CEDS_POG1_WST - - - - - - POG1 74/76 1 5 0 CEDS_POG2_WST - - - - - - POG2 74/77 1 5 # NOTE: EOH files in CEDS/v2024-06 are actually VOC1 (total alchohols) and are split into MOH, EOH, ROH here 0 CEDS_MOH_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_EOH_0.1x0.1_$YYYY.nc EOH_agr 1980-2019/1-12/1/0 C xy kg/m2/s MOH 90/2401 1 5 0 CEDS_EOH_AGR - - - - - - EOH 91/2401 1 5 0 CEDS_ROH_AGR - - - - - - ROH 92/2401 1 5 0 CEDS_MOH_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_EOH_0.1x0.1_$YYYY.nc EOH_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s MOH 90/2406/706/315 1 5 0 CEDS_EOH_ENE - - - - - - EOH 91/2406/706/315 1 5 0 CEDS_ROH_ENE - - - - - - ROH 92/2406/706/315 1 5 0 CEDS_MOH_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_EOH_0.1x0.1_$YYYY.nc EOH_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s MOH 90/2407/707/316 1 5 0 CEDS_EOH_IND - - - - - - EOH 91/2407/707/316 1 5 0 CEDS_ROH_IND - - - - - - ROH 92/2407/707/316 1 5 0 CEDS_MOH_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_EOH_0.1x0.1_$YYYY.nc EOH_tra 1980-2019/1-12/1/0 C xy kg/m2/s MOH 90/2411/711 1 5 0 CEDS_EOH_TRA - - - - - - EOH 91/2411/711 1 5 0 CEDS_ROH_TRA - - - - - - ROH 92/2411/711 1 5 0 CEDS_MOH_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_EOH_0.1x0.1_$YYYY.nc EOH_rco 1980-2019/1-12/1/0 C xy kg/m2/s MOH 90/2409/709 1 5 0 CEDS_EOH_RCO - - - - - - EOH 91/2409/709 1 5 0 CEDS_ROH_RCO - - - - - - ROH 92/2409/709 1 5 0 CEDS_MOH_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_EOH_0.1x0.1_$YYYY.nc EOH_slv 1980-2019/1-12/1/0 C xy kg/m2/s MOH 90/2407/707 1 5 0 CEDS_EOH_SLV - - - - - - EOH 91/2407/707 1 5 0 CEDS_ROH_SLV - - - - - - ROH 92/2407/707 1 5 0 CEDS_MOH_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_EOH_0.1x0.1_$YYYY.nc EOH_wst 1980-2019/1-12/1/0 C xy kg/m2/s MOH 90 1 5 0 CEDS_EOH_WST - - - - - - EOH 91 1 5 0 CEDS_ROH_WST - - - - - - ROH 92 1 5 0 CEDS_C2H6_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H6_0.1x0.1_$YYYY.nc C2H6_agr 1980-2019/1-12/1/0 C xy kg/m2/s C2H6 2401 1 5 0 CEDS_C2H6_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H6_0.1x0.1_$YYYY.nc C2H6_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s C2H6 2406/706/315 1 5 0 CEDS_C2H6_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H6_0.1x0.1_$YYYY.nc C2H6_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s C2H6 2407/707/316 1 5 0 CEDS_C2H6_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H6_0.1x0.1_$YYYY.nc C2H6_tra 1980-2019/1-12/1/0 C xy kg/m2/s C2H6 2411/711 1 5 0 CEDS_C2H6_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H6_0.1x0.1_$YYYY.nc C2H6_rco 1980-2019/1-12/1/0 C xy kg/m2/s C2H6 2409/709 1 5 0 CEDS_C2H6_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H6_0.1x0.1_$YYYY.nc C2H6_slv 1980-2019/1-12/1/0 C xy kg/m2/s C2H6 2407/707 1 5 0 CEDS_C2H6_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H6_0.1x0.1_$YYYY.nc C2H6_wst 1980-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CEDS_C3H8_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_C3H8_0.1x0.1_$YYYY.nc C3H8_agr 1980-2019/1-12/1/0 C xy kg/m2/s C3H8 2401 1 5 0 CEDS_C3H8_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_C3H8_0.1x0.1_$YYYY.nc C3H8_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s C3H8 2406/706/315 1 5 0 CEDS_C3H8_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_C3H8_0.1x0.1_$YYYY.nc C3H8_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s C3H8 2407/707/316 1 5 0 CEDS_C3H8_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_C3H8_0.1x0.1_$YYYY.nc C3H8_tra 1980-2019/1-12/1/0 C xy kg/m2/s C3H8 2411/711 1 5 0 CEDS_C3H8_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_C3H8_0.1x0.1_$YYYY.nc C3H8_rco 1980-2019/1-12/1/0 C xy kg/m2/s C3H8 2409/709 1 5 0 CEDS_C3H8_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_C3H8_0.1x0.1_$YYYY.nc C3H8_slv 1980-2019/1-12/1/0 C xy kg/m2/s C3H8 2407/707 1 5 0 CEDS_C3H8_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_C3H8_0.1x0.1_$YYYY.nc C3H8_wst 1980-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CEDS_C4H10_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_butanes_0.1x0.1_$YYYY.nc ALK4_butanes_agr 1980-2019/1-12/1/0 C xy kg/m2/s ALK4 2401 1 5 0 CEDS_C4H10_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_butanes_0.1x0.1_$YYYY.nc ALK4_butanes_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s ALK4 2406/706/315 1 5 0 CEDS_C4H10_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_butanes_0.1x0.1_$YYYY.nc ALK4_butanes_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s ALK4 2407/707/316 1 5 0 CEDS_C4H10_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_butanes_0.1x0.1_$YYYY.nc ALK4_butanes_tra 1980-2019/1-12/1/0 C xy kg/m2/s ALK4 2411/711 1 5 0 CEDS_C4H10_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_butanes_0.1x0.1_$YYYY.nc ALK4_butanes_rco 1980-2019/1-12/1/0 C xy kg/m2/s ALK4 2409/709 1 5 0 CEDS_C4H10_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_butanes_0.1x0.1_$YYYY.nc ALK4_butanes_slv 1980-2019/1-12/1/0 C xy kg/m2/s ALK4 2407/707 1 5 0 CEDS_C4H10_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_butanes_0.1x0.1_$YYYY.nc ALK4_butanes_wst 1980-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C5H12_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_pentanes_0.1x0.1_$YYYY.nc ALK4_pentanes_agr 1980-2019/1-12/1/0 C xy kg/m2/s ALK4 2401 1 5 0 CEDS_C5H12_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_pentanes_0.1x0.1_$YYYY.nc ALK4_pentanes_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s ALK4 2406/706/315 1 5 0 CEDS_C5H12_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_pentanes_0.1x0.1_$YYYY.nc ALK4_pentanes_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s ALK4 2407/707/316 1 5 0 CEDS_C5H12_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_pentanes_0.1x0.1_$YYYY.nc ALK4_pentanes_tra 1980-2019/1-12/1/0 C xy kg/m2/s ALK4 2411/711 1 5 0 CEDS_C5H12_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_pentanes_0.1x0.1_$YYYY.nc ALK4_pentanes_rco 1980-2019/1-12/1/0 C xy kg/m2/s ALK4 2409/709 1 5 0 CEDS_C5H12_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_pentanes_0.1x0.1_$YYYY.nc ALK4_pentanes_slv 1980-2019/1-12/1/0 C xy kg/m2/s ALK4 2407/707 1 5 0 CEDS_C5H12_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_pentanes_0.1x0.1_$YYYY.nc ALK4_pentanes_wst 1980-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C6H14_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_hexanes_0.1x0.1_$YYYY.nc ALK4_hexanes_agr 1980-2019/1-12/1/0 C xy kg/m2/s ALK6 2401 1 5 0 CEDS_C6H14_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_hexanes_0.1x0.1_$YYYY.nc ALK4_hexanes_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s ALK6 2406/706/315 1 5 0 CEDS_C6H14_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_hexanes_0.1x0.1_$YYYY.nc ALK4_hexanes_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s ALK6 2407/707/316 1 5 0 CEDS_C6H14_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_hexanes_0.1x0.1_$YYYY.nc ALK4_hexanes_tra 1980-2019/1-12/1/0 C xy kg/m2/s ALK6 2411/711 1 5 0 CEDS_C6H14_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_hexanes_0.1x0.1_$YYYY.nc ALK4_hexanes_rco 1980-2019/1-12/1/0 C xy kg/m2/s ALK6 2409/709 1 5 0 CEDS_C6H14_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_hexanes_0.1x0.1_$YYYY.nc ALK4_hexanes_slv 1980-2019/1-12/1/0 C xy kg/m2/s ALK6 2407/707 1 5 0 CEDS_C6H14_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_hexanes_0.1x0.1_$YYYY.nc ALK4_hexanes_wst 1980-2019/1-12/1/0 C xy kg/m2/s ALK6 26 1 5 0 CEDS_C2H4_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H4_0.1x0.1_$YYYY.nc C2H4_agr 1980-2019/1-12/1/0 C xy kg/m2/s C2H4 2401 1 5 0 CEDS_C2H4_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H4_0.1x0.1_$YYYY.nc C2H4_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s C2H4 2406/706/315 1 5 0 CEDS_C2H4_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H4_0.1x0.1_$YYYY.nc C2H4_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s C2H4 2407/707/316 1 5 0 CEDS_C2H4_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H4_0.1x0.1_$YYYY.nc C2H4_tra 1980-2019/1-12/1/0 C xy kg/m2/s C2H4 2411/711 1 5 0 CEDS_C2H4_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H4_0.1x0.1_$YYYY.nc C2H4_rco 1980-2019/1-12/1/0 C xy kg/m2/s C2H4 2409/709 1 5 0 CEDS_C2H4_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H4_0.1x0.1_$YYYY.nc C2H4_slv 1980-2019/1-12/1/0 C xy kg/m2/s C2H4 2407/707 1 5 0 CEDS_C2H4_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H4_0.1x0.1_$YYYY.nc C2H4_wst 1980-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CEDS_PRPE_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_PRPE_0.1x0.1_$YYYY.nc PRPE_agr 1980-2019/1-12/1/0 C xy kg/m2/s PRPE 2401 1 5 0 CEDS_PRPE_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_PRPE_0.1x0.1_$YYYY.nc PRPE_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s PRPE 2406/706/315 1 5 0 CEDS_PRPE_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_PRPE_0.1x0.1_$YYYY.nc PRPE_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s PRPE 2407/707/316 1 5 0 CEDS_PRPE_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_PRPE_0.1x0.1_$YYYY.nc PRPE_tra 1980-2019/1-12/1/0 C xy kg/m2/s PRPE 2411/711 1 5 0 CEDS_PRPE_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_PRPE_0.1x0.1_$YYYY.nc PRPE_rco 1980-2019/1-12/1/0 C xy kg/m2/s PRPE 2409/709 1 5 0 CEDS_PRPE_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_PRPE_0.1x0.1_$YYYY.nc PRPE_slv 1980-2019/1-12/1/0 C xy kg/m2/s PRPE 2407/707 1 5 0 CEDS_PRPE_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_PRPE_0.1x0.1_$YYYY.nc PRPE_wst 1980-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CEDS_C2H2_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H2_0.1x0.1_$YYYY.nc C2H2_agr 1980-2019/1-12/1/0 C xy kg/m2/s C2H2 2401 1 5 0 CEDS_C2H2_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H2_0.1x0.1_$YYYY.nc C2H2_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s C2H2 2406/706/315 1 5 0 CEDS_C2H2_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H2_0.1x0.1_$YYYY.nc C2H2_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s C2H2 2407/707/316 1 5 0 CEDS_C2H2_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H2_0.1x0.1_$YYYY.nc C2H2_tra 1980-2019/1-12/1/0 C xy kg/m2/s C2H2 2411/711 1 5 0 CEDS_C2H2_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H2_0.1x0.1_$YYYY.nc C2H2_rco 1980-2019/1-12/1/0 C xy kg/m2/s C2H2 2409/709 1 5 0 CEDS_C2H2_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H2_0.1x0.1_$YYYY.nc C2H2_slv 1980-2019/1-12/1/0 C xy kg/m2/s C2H2 2407/707 1 5 0 CEDS_C2H2_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H2_0.1x0.1_$YYYY.nc C2H2_wst 1980-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CEDS_BENZ_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_BENZ_0.1x0.1_$YYYY.nc BENZ_agr 1980-2019/1-12/1/0 C xy kg/m2/s BENZ 2401 1 5 0 CEDS_BENZ_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_BENZ_0.1x0.1_$YYYY.nc BENZ_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s BENZ 2406/706/315 1 5 0 CEDS_BENZ_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_BENZ_0.1x0.1_$YYYY.nc BENZ_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s BENZ 2407/707/316 1 5 0 CEDS_BENZ_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_BENZ_0.1x0.1_$YYYY.nc BENZ_tra 1980-2019/1-12/1/0 C xy kg/m2/s BENZ 2411/711 1 5 0 CEDS_BENZ_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_BENZ_0.1x0.1_$YYYY.nc BENZ_rco 1980-2019/1-12/1/0 C xy kg/m2/s BENZ 2409/709 1 5 0 CEDS_BENZ_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_BENZ_0.1x0.1_$YYYY.nc BENZ_slv 1980-2019/1-12/1/0 C xy kg/m2/s BENZ 2407/707 1 5 0 CEDS_BENZ_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_BENZ_0.1x0.1_$YYYY.nc BENZ_wst 1980-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CEDS_TOLU_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_TOLU_0.1x0.1_$YYYY.nc TOLU_agr 1980-2019/1-12/1/0 C xy kg/m2/s TOLU 2401 1 5 0 CEDS_TOLU_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_TOLU_0.1x0.1_$YYYY.nc TOLU_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s TOLU 2406/706/315 1 5 0 CEDS_TOLU_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_TOLU_0.1x0.1_$YYYY.nc TOLU_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s TOLU 2407/707/316 1 5 0 CEDS_TOLU_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_TOLU_0.1x0.1_$YYYY.nc TOLU_tra 1980-2019/1-12/1/0 C xy kg/m2/s TOLU 2411/711 1 5 0 CEDS_TOLU_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_TOLU_0.1x0.1_$YYYY.nc TOLU_rco 1980-2019/1-12/1/0 C xy kg/m2/s TOLU 2409/709 1 5 0 CEDS_TOLU_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_TOLU_0.1x0.1_$YYYY.nc TOLU_slv 1980-2019/1-12/1/0 C xy kg/m2/s TOLU 2407/707 1 5 0 CEDS_TOLU_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_TOLU_0.1x0.1_$YYYY.nc TOLU_wst 1980-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CEDS_XYLE_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_XYLE_0.1x0.1_$YYYY.nc XYLE_agr 1980-2019/1-12/1/0 C xy kg/m2/s XYLE 2401 1 5 0 CEDS_XYLE_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_XYLE_0.1x0.1_$YYYY.nc XYLE_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s XYLE 2406/706/315 1 5 0 CEDS_XYLE_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_XYLE_0.1x0.1_$YYYY.nc XYLE_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s XYLE 2407/707/316 1 5 0 CEDS_XYLE_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_XYLE_0.1x0.1_$YYYY.nc XYLE_tra 1980-2019/1-12/1/0 C xy kg/m2/s XYLE 2411/711 1 5 0 CEDS_XYLE_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_XYLE_0.1x0.1_$YYYY.nc XYLE_rco 1980-2019/1-12/1/0 C xy kg/m2/s XYLE 2409/709 1 5 0 CEDS_XYLE_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_XYLE_0.1x0.1_$YYYY.nc XYLE_slv 1980-2019/1-12/1/0 C xy kg/m2/s XYLE 2407/707 1 5 0 CEDS_XYLE_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_XYLE_0.1x0.1_$YYYY.nc XYLE_wst 1980-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CEDS_CH2O_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_CH2O_0.1x0.1_$YYYY.nc CH2O_agr 1980-2019/1-12/1/0 C xy kg/m2/s CH2O 2401 1 5 0 CEDS_CH2O_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_CH2O_0.1x0.1_$YYYY.nc CH2O_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s CH2O 2406/706/315 1 5 0 CEDS_CH2O_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_CH2O_0.1x0.1_$YYYY.nc CH2O_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s CH2O 2407/707/316 1 5 0 CEDS_CH2O_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_CH2O_0.1x0.1_$YYYY.nc CH2O_tra 1980-2019/1-12/1/0 C xy kg/m2/s CH2O 2411/711 1 5 0 CEDS_CH2O_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_CH2O_0.1x0.1_$YYYY.nc CH2O_rco 1980-2019/1-12/1/0 C xy kg/m2/s CH2O 2409/709 1 5 0 CEDS_CH2O_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_CH2O_0.1x0.1_$YYYY.nc CH2O_slv 1980-2019/1-12/1/0 C xy kg/m2/s CH2O 2407/707 1 5 0 CEDS_CH2O_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_CH2O_0.1x0.1_$YYYY.nc CH2O_wst 1980-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CEDS_ALD2_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALD2_0.1x0.1_$YYYY.nc ALD2_agr 1980-2019/1-12/1/0 C xy kg/m2/s ALD2 2401 1 5 0 CEDS_ALD2_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALD2_0.1x0.1_$YYYY.nc ALD2_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s ALD2 2406/706/315 1 5 0 CEDS_ALD2_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALD2_0.1x0.1_$YYYY.nc ALD2_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s ALD2 2407/707/316 1 5 0 CEDS_ALD2_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALD2_0.1x0.1_$YYYY.nc ALD2_tra 1980-2019/1-12/1/0 C xy kg/m2/s ALD2 2411/711 1 5 0 CEDS_ALD2_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALD2_0.1x0.1_$YYYY.nc ALD2_rco 1980-2019/1-12/1/0 C xy kg/m2/s ALD2 2409/709 1 5 0 CEDS_ALD2_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALD2_0.1x0.1_$YYYY.nc ALD2_slv 1980-2019/1-12/1/0 C xy kg/m2/s ALD2 2407/707 1 5 0 CEDS_ALD2_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALD2_0.1x0.1_$YYYY.nc ALD2_wst 1980-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CEDS_MEK_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_MEK_0.1x0.1_$YYYY.nc MEK_agr 1980-2019/1-12/1/0 C xy kg/m2/s MEK 2401 1 5 0 CEDS_MEK_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_MEK_0.1x0.1_$YYYY.nc MEK_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s MEK 2406/706/315 1 5 0 CEDS_MEK_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_MEK_0.1x0.1_$YYYY.nc MEK_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s MEK 2407/707/316 1 5 0 CEDS_MEK_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_MEK_0.1x0.1_$YYYY.nc MEK_tra 1980-2019/1-12/1/0 C xy kg/m2/s MEK 2411/711 1 5 0 CEDS_MEK_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_MEK_0.1x0.1_$YYYY.nc MEK_rco 1980-2019/1-12/1/0 C xy kg/m2/s MEK 2409/709 1 5 0 CEDS_MEK_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_MEK_0.1x0.1_$YYYY.nc MEK_slv 1980-2019/1-12/1/0 C xy kg/m2/s MEK 2407/707 1 5 0 CEDS_MEK_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_MEK_0.1x0.1_$YYYY.nc MEK_wst 1980-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CEDS_HCOOH_AGR $ROOT/CEDS/v2024-06/$YYYY/CEDS_HCOOH_0.1x0.1_$YYYY.nc HCOOH_agr 1980-2019/1-12/1/0 C xy kg/m2/s HCOOH 2401 1 5 0 CEDS_HCOOH_ENE $ROOT/CEDS/v2024-06/$YYYY/CEDS_HCOOH_0.1x0.1_$YYYY.nc HCOOH_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s HCOOH 2406/706/315 1 5 0 CEDS_HCOOH_IND $ROOT/CEDS/v2024-06/$YYYY/CEDS_HCOOH_0.1x0.1_$YYYY.nc HCOOH_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s HCOOH 2407/707/316 1 5 0 CEDS_HCOOH_TRA $ROOT/CEDS/v2024-06/$YYYY/CEDS_HCOOH_0.1x0.1_$YYYY.nc HCOOH_tra 1980-2019/1-12/1/0 C xy kg/m2/s HCOOH 2411/711 1 5 0 CEDS_HCOOH_RCO $ROOT/CEDS/v2024-06/$YYYY/CEDS_HCOOH_0.1x0.1_$YYYY.nc HCOOH_rco 1980-2019/1-12/1/0 C xy kg/m2/s HCOOH 2409/709 1 5 0 CEDS_HCOOH_SLV $ROOT/CEDS/v2024-06/$YYYY/CEDS_HCOOH_0.1x0.1_$YYYY.nc HCOOH_slv 1980-2019/1-12/1/0 C xy kg/m2/s HCOOH 2407/707 1 5 0 CEDS_HCOOH_WST $ROOT/CEDS/v2024-06/$YYYY/CEDS_HCOOH_0.1x0.1_$YYYY.nc HCOOH_wst 1980-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 # # TMB and OTHER_VOC are absent from the CEDS 0.1 x 0.1 emissions. # Read the previous CEDSv2 data for these instead. # 0 CEDS_TMB_AGR $ROOT/CEDS/v2021-06/$YYYY/TMB-em-anthro_CMIP_CEDS_$YYYY.nc TMB_agr 1980-2019/1-12/1/0 C xy kg/m2/s TMB 2401 1 5 0 CEDS_TMB_ENE $ROOT/CEDS/v2021-06/$YYYY/TMB-em-anthro_CMIP_CEDS_$YYYY.nc TMB_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s TMB 2406/706/315 1 5 0 CEDS_TMB_IND $ROOT/CEDS/v2021-06/$YYYY/TMB-em-anthro_CMIP_CEDS_$YYYY.nc TMB_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s TMB 2407/707/316 1 5 0 CEDS_TMB_TRA $ROOT/CEDS/v2021-06/$YYYY/TMB-em-anthro_CMIP_CEDS_$YYYY.nc TMB_tra 1980-2019/1-12/1/0 C xy kg/m2/s TMB 2411/711 1 5 0 CEDS_TMB_RCO $ROOT/CEDS/v2021-06/$YYYY/TMB-em-anthro_CMIP_CEDS_$YYYY.nc TMB_rco 1980-2019/1-12/1/0 C xy kg/m2/s TMB 2409/709 1 5 0 CEDS_TMB_SLV $ROOT/CEDS/v2021-06/$YYYY/TMB-em-anthro_CMIP_CEDS_$YYYY.nc TMB_slv 1980-2019/1-12/1/0 C xy kg/m2/s TMB 2407/707 1 5 0 CEDS_TMB_WST $ROOT/CEDS/v2021-06/$YYYY/TMB-em-anthro_CMIP_CEDS_$YYYY.nc TMB_wst 1980-2019/1-12/1/0 C xy kg/m2/s TMB 26 1 5 0 CEDS_OTH_AGR $ROOT/CEDS/v2021-06/$YYYY/OTHER_VOC-em-anthro_CMIP_CEDS_$YYYY.nc OTHER_VOC_agr 1980-2019/1-12/1/0 C xy kg/m2/s ALK6 2401 1 5 0 CEDS_OTH_ENE $ROOT/CEDS/v2021-06/$YYYY/OTHER_VOC-em-anthro_CMIP_CEDS_$YYYY.nc OTHER_VOC_ene 1980-2019/1-12/1/0 C xyL* kg/m2/s ALK6 2406/706/315 1 5 0 CEDS_OTH_IND $ROOT/CEDS/v2021-06/$YYYY/OTHER_VOC-em-anthro_CMIP_CEDS_$YYYY.nc OTHER_VOC_ind 1980-2019/1-12/1/0 C xyL* kg/m2/s ALK6 2407/707/316 1 5 0 CEDS_OTH_TRA $ROOT/CEDS/v2021-06/$YYYY/OTHER_VOC-em-anthro_CMIP_CEDS_$YYYY.nc OTHER_VOC_tra 1980-2019/1-12/1/0 C xy kg/m2/s ALK6 2411/711 1 5 0 CEDS_OTH_RCO $ROOT/CEDS/v2021-06/$YYYY/OTHER_VOC-em-anthro_CMIP_CEDS_$YYYY.nc OTHER_VOC_rco 1980-2019/1-12/1/0 C xy kg/m2/s ALK6 2409/709 1 5 0 CEDS_OTH_SLV $ROOT/CEDS/v2021-06/$YYYY/OTHER_VOC-em-anthro_CMIP_CEDS_$YYYY.nc OTHER_VOC_slv 1980-2019/1-12/1/0 C xy kg/m2/s ALK6 2407/707 1 5 0 CEDS_OTH_WST $ROOT/CEDS/v2021-06/$YYYY/OTHER_VOC-em-anthro_CMIP_CEDS_$YYYY.nc OTHER_VOC_wst 1980-2019/1-12/1/0 C xy kg/m2/s ALK6 26 1 5 )))CEDS_01x01 #============================================================================== # --- CMIP6_SFC_LAND_ANTHRO --- # CEDS (historical) or Shared Socioeconomic Pathways (future), consistent with # the CMIP6 simulation experimental design. # # Make sure that the desired $GCAPSCENARIO is set above in SECTION SETTINGS # #============================================================================== (((CMIP6_SFC_LAND_ANTHRO 0 CMIP6_NO_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NO_agr 1750-2100/1-12/1/0 C xy kg/m2/s NO 25 1 5 0 CMIP6_NO_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NO_ene 1750-2100/1-12/1/0 C xy kg/m2/s NO 25 1 5 0 CMIP6_NO_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NO_ind 1750-2100/1-12/1/0 C xy kg/m2/s NO 25 1 5 0 CMIP6_NO_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NO_tra 1750-2100/1-12/1/0 C xy kg/m2/s NO 25 1 5 0 CMIP6_NO_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NO_rco 1750-2100/1-12/1/0 C xy kg/m2/s NO 25 1 5 0 CMIP6_NO_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NO_slv 1750-2100/1-12/1/0 C xy kg/m2/s NO 25 1 5 0 CMIP6_NO_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NO_wst 1750-2100/1-12/1/0 C xy kg/m2/s NO 25 1 5 0 CMIP6_CO_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_agr 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 1 5 0 CMIP6_SOAP_AGR - - - - - - SOAP 26/280 1 5 0 CMIP6_CO_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_ene 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 1 5 0 CMIP6_SOAP_ENE - - - - - - SOAP 26/280 1 5 0 CMIP6_CO_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_ind 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 1 5 0 CMIP6_SOAP_IND - - - - - - SOAP 26/280 1 5 0 CMIP6_CO_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_tra 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 1 5 0 CMIP6_SOAP_TRA - - - - - - SOAP 26/280 1 5 0 CMIP6_CO_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_rco 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 1 5 0 CMIP6_SOAP_RCO - - - - - - SOAP 26/280 1 5 0 CMIP6_CO_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_slv 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 1 5 0 CMIP6_SOAP_SLV - - - - - - SOAP 26/280 1 5 0 CMIP6_CO_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_wst 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 1 5 0 CMIP6_SOAP_WST - - - - - - SOAP 26/280 1 5 0 CMIP6_SO2_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_agr 1750-2100/1-12/1/0 C xy kg/m2/s SO2 - 1 5 0 CMIP6_SO4_AGR - - - - - - SO4 63 1 5 0 CMIP6_pFe_AGR - - - - - - pFe 66 1 5 0 CMIP6_SO2_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_ene 1750-2100/1-12/1/0 C xy kg/m2/s SO2 - 1 5 0 CMIP6_SO4_ENE - - - - - - SO4 63 1 5 0 CMIP6_pFe_ENE - - - - - - pFe 66 1 5 0 CMIP6_SO2_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_ind 1750-2100/1-12/1/0 C xy kg/m2/s SO2 - 1 5 0 CMIP6_SO4_IND - - - - - - SO4 63 1 5 0 CMIP6_pFe_IND - - - - - - pFe 66 1 5 0 CMIP6_SO2_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_tra 1750-2100/1-12/1/0 C xy kg/m2/s SO2 - 1 5 0 CMIP6_SO4_TRA - - - - - - SO4 63 1 5 0 CMIP6_pFe_TRA - - - - - - pFe 66 1 5 0 CMIP6_SO2_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_rco 1750-2100/1-12/1/0 C xy kg/m2/s SO2 - 1 5 0 CMIP6_SO4_RCO - - - - - - SO4 63 1 5 0 CMIP6_pFe_RCO - - - - - - pFe 66 1 5 0 CMIP6_SO2_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_slv 1750-2100/1-12/1/0 C xy kg/m2/s SO2 - 1 5 0 CMIP6_SO4_SLV - - - - - - SO4 63 1 5 0 CMIP6_pFe_SLV - - - - - - pFe 66 1 5 0 CMIP6_SO2_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_wst 1750-2100/1-12/1/0 C xy kg/m2/s SO2 - 1 5 0 CMIP6_SO4_WST - - - - - - SO4 63 1 5 0 CMIP6_pFe_WST - - - - - - pFe 66 1 5 0 CMIP6_NH3_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_agr 1750-2100/1-12/1/0 C xy kg/m2/s NH3 - 1 5 0 CMIP6_NH3_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_ene 1750-2100/1-12/1/0 C xy kg/m2/s NH3 - 1 5 0 CMIP6_NH3_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_ind 1750-2100/1-12/1/0 C xy kg/m2/s NH3 - 1 5 0 CMIP6_NH3_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_tra 1750-2100/1-12/1/0 C xy kg/m2/s NH3 - 1 5 0 CMIP6_NH3_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_rco 1750-2100/1-12/1/0 C xy kg/m2/s NH3 - 1 5 0 CMIP6_NH3_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_slv 1750-2100/1-12/1/0 C xy kg/m2/s NH3 - 1 5 0 CMIP6_NH3_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_wst 1750-2100/1-12/1/0 C xy kg/m2/s NH3 - 1 5 0 CMIP6_BCPI_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_agr 1750-2100/1-12/1/0 C xy kg/m2/s BCPI 70 1 5 0 CMIP6_BCPO_AGR - - - - - - BCPO 71 1 5 0 CMIP6_BCPI_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_ene 1750-2100/1-12/1/0 C xy kg/m2/s BCPI 70 1 5 0 CMIP6_BCPO_ENE - - - - - - BCPO 71 1 5 0 CMIP6_BCPI_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_ind 1750-2100/1-12/1/0 C xy kg/m2/s BCPI 70 1 5 0 CMIP6_BCPO_IND - - - - - - BCPO 71 1 5 0 CMIP6_BCPI_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_tra 1750-2100/1-12/1/0 C xy kg/m2/s BCPI 70 1 5 0 CMIP6_BCPO_TRA - - - - - - BCPO 71 1 5 0 CMIP6_BCPI_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_rco 1750-2100/1-12/1/0 C xy kg/m2/s BCPI 70 1 5 0 CMIP6_BCPO_RCO - - - - - - BCPO 71 1 5 0 CMIP6_BCPI_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_slv 1750-2100/1-12/1/0 C xy kg/m2/s BCPI 70 1 5 0 CMIP6_BCPO_SLV - - - - - - BCPO 71 1 5 0 CMIP6_BCPI_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_wst 1750-2100/1-12/1/0 C xy kg/m2/s BCPI 70 1 5 0 CMIP6_BCPO_WST - - - - - - BCPO 71 1 5 0 CMIP6_OCPI_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_agr 1750-2100/1-12/1/0 C xy kg/m2/s OCPI 72 1 5 0 CMIP6_OCPO_AGR - - - - - - OCPO 73 1 5 0 CMIP6_POG1_AGR - - - - - - POG1 74/76 1 5 0 CMIP6_POG2_AGR - - - - - - POG2 74/77 1 5 0 CMIP6_OCPI_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_ene 1750-2100/1-12/1/0 C xy kg/m2/s OCPI 72 1 5 0 CMIP6_OCPO_ENE - - - - - - OCPO 73 1 5 0 CMIP6_POG1_ENE - - - - - - POG1 74/76 1 5 0 CMIP6_POG2_ENE - - - - - - POG2 74/77 1 5 0 CMIP6_OCPI_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_ind 1750-2100/1-12/1/0 C xy kg/m2/s OCPI 72 1 5 0 CMIP6_OCPO_IND - - - - - - OCPO 73 1 5 0 CMIP6_POG1_IND - - - - - - POG1 74/76 1 5 0 CMIP6_POG2_IND - - - - - - POG2 74/77 1 5 0 CMIP6_OCPI_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_tra 1750-2100/1-12/1/0 C xy kg/m2/s OCPI 72 1 5 0 CMIP6_OCPO_TRA - - - - - - OCPO 73 1 5 0 CMIP6_POG1_TRA - - - - - - POG1 74/76 1 5 0 CMIP6_POG2_TRA - - - - - - POG2 74/77 1 5 0 CMIP6_OCPI_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_rco 1750-2100/1-12/1/0 C xy kg/m2/s OCPI 72 1 5 0 CMIP6_OCPO_RCO - - - - - - OCPO 73 1 5 0 CMIP6_POG1_RCO - - - - - - POG1 74/76 1 5 0 CMIP6_POG2_RCO - - - - - - POG2 74/77 1 5 0 CMIP6_OCPI_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_slv 1750-2100/1-12/1/0 C xy kg/m2/s OCPI 72 1 5 0 CMIP6_OCPO_SLV - - - - - - OCPO 73 1 5 0 CMIP6_POG1_SLV - - - - - - POG1 74/76 1 5 0 CMIP6_POG2_SLV - - - - - - POG2 74/77 1 5 0 CMIP6_OCPI_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_wst 1750-2100/1-12/1/0 C xy kg/m2/s OCPI 72 1 5 0 CMIP6_OCPO_WST - - - - - - OCPO 73 1 5 0 CMIP6_POG1_WST - - - - - - POG1 74/76 1 5 0 CMIP6_POG2_WST - - - - - - POG2 74/77 1 5 # Comment out CO2 for fullchem simulations: CO2 not advected #0 CMIP6_CO2_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO2_agr 1750-2100/1-12/1/0 C xy kg/m2/s CO2 - 1 5 #0 CMIP6_CO2_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO2_ene 1750-2100/1-12/1/0 C xy kg/m2/s CO2 - 1 5 #0 CMIP6_CO2_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO2_ind 1750-2100/1-12/1/0 C xy kg/m2/s CO2 - 1 5 #0 CMIP6_CO2_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO2_tra 1750-2100/1-12/1/0 C xy kg/m2/s CO2 - 1 5 #0 CMIP6_CO2_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO2_rco 1750-2100/1-12/1/0 C xy kg/m2/s CO2 - 1 5 #0 CMIP6_CO2_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO2_slv 1750-2100/1-12/1/0 C xy kg/m2/s CO2 - 1 5 #0 CMIP6_CO2_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO2_wst 1750-2100/1-12/1/0 C xy kg/m2/s CO2 - 1 5 # Comment out CH4 for fullchem simulations: do not use CH4 emissions # CMIP6 CH4 emissions are only available for 1970-2014 #0 CMIP6_CH4_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_agr 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 1 5 #0 CMIP6_CH4_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_ene 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 1 5 #0 CMIP6_CH4_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_ind 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 1 5 #0 CMIP6_CH4_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_tra 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 1 5 #0 CMIP6_CH4_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_rco 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 1 5 #0 CMIP6_CH4_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_slv 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 1 5 #0 CMIP6_CH4_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_wst 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 1 5 # NOTE: EOH files in CMIP6/v2021-01 are actually VOC1 (total alchohols) and are split into MOH, EOH, ROH here 0 CMIP6_MOH_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 EOH_agr 1750-2100/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CMIP6_EOH_AGR - - - - - - EOH 26/91 1 5 0 CMIP6_ROH_AGR - - - - - - ROH 26/92 1 5 0 CMIP6_MOH_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 EOH_ene 1750-2100/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CMIP6_EOH_ENE - - - - - - EOH 26/91 1 5 0 CMIP6_ROH_ENE - - - - - - ROH 26/92 1 5 0 CMIP6_MOH_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 EOH_ind 1750-2100/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CMIP6_EOH_IND - - - - - - EOH 26/91 1 5 0 CMIP6_ROH_IND - - - - - - ROH 26/92 1 5 0 CMIP6_MOH_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 EOH_tra 1750-2100/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CMIP6_EOH_TRA - - - - - - EOH 26/91 1 5 0 CMIP6_ROH_TRA - - - - - - ROH 26/92 1 5 0 CMIP6_MOH_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 EOH_rco 1750-2100/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CMIP6_EOH_RCO - - - - - - EOH 26/91 1 5 0 CMIP6_ROH_RCO - - - - - - ROH 26/92 1 5 0 CMIP6_MOH_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 EOH_slv 1750-2100/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CMIP6_EOH_SLV - - - - - - EOH 26/91 1 5 0 CMIP6_ROH_SLV - - - - - - ROH 26/92 1 5 0 CMIP6_MOH_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 EOH_wst 1750-2100/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CMIP6_EOH_WST - - - - - - EOH 26/91 1 5 0 CMIP6_ROH_WST - - - - - - ROH 26/92 1 5 0 CMIP6_C2H6_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H6_agr 1750-2100/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CMIP6_C2H6_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H6_ene 1750-2100/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CMIP6_C2H6_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H6_ind 1750-2100/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CMIP6_C2H6_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H6_tra 1750-2100/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CMIP6_C2H6_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H6_rco 1750-2100/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CMIP6_C2H6_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H6_slv 1750-2100/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CMIP6_C2H6_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H6_wst 1750-2100/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CMIP6_C3H8_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C3H8_agr 1750-2100/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CMIP6_C3H8_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C3H8_ene 1750-2100/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CMIP6_C3H8_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C3H8_ind 1750-2100/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CMIP6_C3H8_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C3H8_tra 1750-2100/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CMIP6_C3H8_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C3H8_rco 1750-2100/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CMIP6_C3H8_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C3H8_slv 1750-2100/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CMIP6_C3H8_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C3H8_wst 1750-2100/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CMIP6_C4H10_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_butanes_agr 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C4H10_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_butanes_ene 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C4H10_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_butanes_ind 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C4H10_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_butanes_tra 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C4H10_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_butanes_rco 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C4H10_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_butanes_slv 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C4H10_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_butanes_wst 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C5H12_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_pentanes_agr 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C5H12_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_pentanes_ene 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C5H12_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_pentanes_ind 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C5H12_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_pentanes_tra 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C5H12_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_pentanes_rco 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C5H12_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_pentanes_slv 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C5H12_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_pentanes_wst 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C6H14_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_hexanes_agr 1750-2100/1-12/1/0 C xy kg/m2/s ALK6 26 1 5 0 CMIP6_C6H14_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_hexanes_ene 1750-2100/1-12/1/0 C xy kg/m2/s ALK6 26 1 5 0 CMIP6_C6H14_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_hexanes_ind 1750-2100/1-12/1/0 C xy kg/m2/s ALK6 26 1 5 0 CMIP6_C6H14_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_hexanes_tra 1750-2100/1-12/1/0 C xy kg/m2/s ALK6 26 1 5 0 CMIP6_C6H14_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_hexanes_rco 1750-2100/1-12/1/0 C xy kg/m2/s ALK6 26 1 5 0 CMIP6_C6H14_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_hexanes_slv 1750-2100/1-12/1/0 C xy kg/m2/s ALK6 26 1 5 0 CMIP6_C6H14_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_hexanes_wst 1750-2100/1-12/1/0 C xy kg/m2/s ALK6 26 1 5 0 CMIP6_C2H4_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H4_agr 1750-2100/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CMIP6_C2H4_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H4_ene 1750-2100/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CMIP6_C2H4_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H4_ind 1750-2100/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CMIP6_C2H4_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H4_tra 1750-2100/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CMIP6_C2H4_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H4_rco 1750-2100/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CMIP6_C2H4_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H4_slv 1750-2100/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CMIP6_C2H4_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H4_wst 1750-2100/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CMIP6_PRPE_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 PRPE_agr 1750-2100/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CMIP6_PRPE_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 PRPE_ene 1750-2100/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CMIP6_PRPE_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 PRPE_ind 1750-2100/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CMIP6_PRPE_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 PRPE_tra 1750-2100/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CMIP6_PRPE_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 PRPE_rco 1750-2100/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CMIP6_PRPE_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 PRPE_slv 1750-2100/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CMIP6_PRPE_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 PRPE_wst 1750-2100/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CMIP6_C2H2_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H2_agr 1750-2100/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CMIP6_C2H2_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H2_ene 1750-2100/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CMIP6_C2H2_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H2_ind 1750-2100/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CMIP6_C2H2_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H2_tra 1750-2100/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CMIP6_C2H2_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H2_rco 1750-2100/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CMIP6_C2H2_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H2_slv 1750-2100/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CMIP6_C2H2_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H2_wst 1750-2100/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CMIP6_BENZ_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BENZ_agr 1750-2100/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CMIP6_BENZ_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BENZ_ene 1750-2100/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CMIP6_BENZ_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BENZ_ind 1750-2100/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CMIP6_BENZ_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BENZ_tra 1750-2100/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CMIP6_BENZ_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BENZ_rco 1750-2100/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CMIP6_BENZ_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BENZ_slv 1750-2100/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CMIP6_BENZ_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BENZ_wst 1750-2100/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CMIP6_TOLU_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 TOLU_agr 1750-2100/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CMIP6_TOLU_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 TOLU_ene 1750-2100/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CMIP6_TOLU_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 TOLU_ind 1750-2100/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CMIP6_TOLU_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 TOLU_tra 1750-2100/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CMIP6_TOLU_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 TOLU_rco 1750-2100/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CMIP6_TOLU_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 TOLU_slv 1750-2100/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CMIP6_TOLU_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 TOLU_wst 1750-2100/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CMIP6_XYLE_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 XYLE_agr 1750-2100/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CMIP6_XYLE_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 XYLE_ene 1750-2100/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CMIP6_XYLE_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 XYLE_ind 1750-2100/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CMIP6_XYLE_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 XYLE_tra 1750-2100/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CMIP6_XYLE_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 XYLE_rco 1750-2100/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CMIP6_XYLE_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 XYLE_slv 1750-2100/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CMIP6_XYLE_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 XYLE_wst 1750-2100/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CMIP6_CH2O_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH2O_agr 1750-2100/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CMIP6_CH2O_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH2O_ene 1750-2100/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CMIP6_CH2O_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH2O_ind 1750-2100/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CMIP6_CH2O_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH2O_tra 1750-2100/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CMIP6_CH2O_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH2O_rco 1750-2100/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CMIP6_CH2O_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH2O_slv 1750-2100/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CMIP6_CH2O_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH2O_wst 1750-2100/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CMIP6_ALD2_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALD2_agr 1750-2100/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CMIP6_ALD2_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALD2_ene 1750-2100/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CMIP6_ALD2_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALD2_ind 1750-2100/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CMIP6_ALD2_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALD2_tra 1750-2100/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CMIP6_ALD2_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALD2_rco 1750-2100/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CMIP6_ALD2_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALD2_slv 1750-2100/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CMIP6_ALD2_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALD2_wst 1750-2100/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CMIP6_MEK_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MEK_agr 1750-2100/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CMIP6_MEK_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MEK_ene 1750-2100/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CMIP6_MEK_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MEK_ind 1750-2100/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CMIP6_MEK_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MEK_tra 1750-2100/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CMIP6_MEK_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MEK_rco 1750-2100/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CMIP6_MEK_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MEK_slv 1750-2100/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CMIP6_MEK_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MEK_wst 1750-2100/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CMIP6_HCOOH_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 HCOOH_agr 1750-2100/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CMIP6_HCOOH_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 HCOOH_ene 1750-2100/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CMIP6_HCOOH_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 HCOOH_ind 1750-2100/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CMIP6_HCOOH_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 HCOOH_tra 1750-2100/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CMIP6_HCOOH_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 HCOOH_rco 1750-2100/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CMIP6_HCOOH_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 HCOOH_slv 1750-2100/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CMIP6_HCOOH_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 HCOOH_wst 1750-2100/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 )))CMIP6_SFC_LAND_ANTHRO #============================================================================== # CEDS (historical) or Shared Socioeconomic Pathways (future) aircraft # emissions, consistent with the CMIP6 simulation experimental design # # Make sure that the desired $GCAPSCENARIO is set above in SECTION SETTINGS # #============================================================================== (((CMIP6_AIRCRAFT 0 CMIP6_AIR_NO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY_AIR.$GCAPVERTRES.nc4 NO_air 1750-2100/1-12/1/0 C xyz kg/m2/s NO - 20 1 0 CMIP6_AIR_CO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY_AIR.$GCAPVERTRES.nc4 CO_air 1750-2100/1-12/1/0 C xyz kg/m2/s CO - 20 1 0 CMIP6_AIR_SOAP - - - - - - SOAP 280 20 1 0 CMIP6_AIR_SO2 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY_AIR.$GCAPVERTRES.nc4 SO2_air 1750-2100/1-12/1/0 C xyz kg/m2/s SO2 - 20 1 0 CMIP6_AIR_SO4 - - - - - - SO4 63 20 1 0 CMIP6_AIR_pFe - - - - - - pFe 66 20 1 0 CMIP6_AIR_ACET - - - - - - ACET 601 20 1 0 CMIP6_AIR_ALD2 - - - - - - ALD2 602 20 1 0 CMIP6_AIR_ALK4 - - - - - - ALK4 603 20 1 0 CMIP6_AIR_C2H6 - - - - - - C2H6 604 20 1 0 CMIP6_AIR_C3H8 - - - - - - C3H8 605 20 1 0 CMIP6_AIR_CH2O - - - - - - CH2O 606 20 1 0 CMIP6_AIR_PRPE - - - - - - PRPE 607 20 1 0 CMIP6_AIR_MACR - - - - - - MACR 608 20 1 0 CMIP6_AIR_RCHO - - - - - - RCHO 609 20 1 0 CMIP6_AIR_NH3 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY_AIR.$GCAPVERTRES.nc4 NH3_air 1750-2100/1-12/1/0 C xyz kg/m2/s NH3 - 20 1 # Assume all BC/OC is BCPI/OCPI 0 CMIP6_AIR_BCPI $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY_AIR.$GCAPVERTRES.nc4 BC_air 1750-2100/1-12/1/0 C xyz kg/m2/s BCPI - 20 1 0 CMIP6_AIR_OCPI $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY_AIR.$GCAPVERTRES.nc4 OC_air 1750-2100/1-12/1/0 C xyz kg/m2/s OCPI - 20 1 0 CMIP6_AIR_POG1 - - - - - - POG1 74/76 20 1 0 CMIP6_AIR_POG2 - - - - - - POG2 74/77 20 1 )))CMIP6_AIRCRAFT #============================================================================== # --- EDGAR v4.3 --- # # %%% This is an optional inventory. You may select either CEDS, EDGAR, # or HTAPv3 for the global base emissions %%% # # The following emissions are not included in EDGAR and will be added: # * Wiedinmyer et al. (2014) global trash emissions # * CEDS VOC emissions # # Aviation and shipping emissions from EDGAR are not included here. # We also do not include the following sources: # - Soil emissions of NOx (SOL). These emissions are calculated via the # SoilNOx extension. # - Open biomass burning (AWB). These emissions are obtained from # GFED, QFED, FINN, or GFAS. #============================================================================== (((EDGARv43 0 EDGAR_BCPI_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.POW.0.1x0.1.nc emi_bc 1970-2010/1/1/0 C xy kg/m2/s BCPI 1201/70 1 2 0 EDGAR_BCPO_POW - - - - - - BCPO 1201/71 1 2 0 EDGAR_BCPI_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.ENG.0.1x0.1.nc emi_bc 1970-2010/1/1/0 C xy kg/m2/s BCPI 1202/70 1 2 0 EDGAR_BCPO_ENG - - - - - - BCPO 1202/71 1 2 0 EDGAR_BCPI_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.IND.0.1x0.1.nc emi_bc 1970-2010/1/1/0 C xy kg/m2/s BCPI 1203/70 1 2 0 EDGAR_BCPO_IND - - - - - - BCPO 1203/71 1 2 0 EDGAR_BCPI_TRO $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.TRO.0.1x0.1.nc emi_bc 1970-2010/1/1/0 C xy kg/m2/s BCPI 1204/70 1 2 0 EDGAR_BCPO_TRO - - - - - - BCPO 1204/71 1 2 0 EDGAR_BCPI_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.TNG.0.1x0.1.nc emi_bc 1970-2010/1/1/0 C xy kg/m2/s BCPI 1205/70 1 2 0 EDGAR_BCPO_TNG - - - - - - BCPO 1205/71 1 2 0 EDGAR_BCPI_RCO $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.RCO.0.1x0.1.nc emi_bc 1970-2010/1/1/0 C xy kg/m2/s BCPI 1206/70 1 2 0 EDGAR_BCPO_RCO - - - - - - BCPO 1206/71 1 2 0 EDGAR_BCPI_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.PPA.0.1x0.1.nc emi_bc 1970-2010/1/1/0 C xy kg/m2/s BCPI 1207/70 1 2 0 EDGAR_BCPO_PPA - - - - - - BCPO 1207/71 1 2 #0 EDGAR_BCPI_AWB $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.AWB.0.1x0.1.nc emi_bc 1970-2010/1/1/0 C xy kg/m2/s BCPI 1209/70 1 2 #0 EDGAR_BCPO_AWB - - - - - - BCPO 1209/71 1 2 0 EDGAR_BCPI_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.SWD.0.1x0.1.nc emi_bc 1970-2010/1/1/0 C xy kg/m2/s BCPI 1211/70 1 2 0 EDGAR_BCPO_SWD - - - - - - BCPO 1211/71 1 2 0 EDGAR_BCPI_FFF $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.FFF.0.1x0.1.nc emi_bc 1970-2010/1/1/0 C xy kg/m2/s BCPI 1212/70 1 2 0 EDGAR_BCPO_FFF - - - - - - BCPO 1212/71 1 2 0 EDGAR_CO_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.POW.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO 1201/26/52 1 2 0 EDGAR_SOAP_POW - - - - - - SOAP 1201/26/52/280 1 2 0 EDGAR_CO_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.ENG.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO 1202/26/52 1 2 0 EDGAR_SOAP_ENG - - - - - - SOAP 1202/26/52/280 1 2 0 EDGAR_CO_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.IND.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO 1203/26/52 1 2 0 EDGAR_SOAP_IND - - - - - - SOAP 1203/26/52/280 1 2 0 EDGAR_CO_TRO $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.TRO.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO 1204/26/52 1 2 0 EDGAR_SOAP_TRO - - - - - - SOAP 1204/26/52/280 1 2 0 EDGAR_CO_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.TNG.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO 1205/26/52 1 2 0 EDGAR_SOAP_TNG - - - - - - SOAP 1205/26/52/280 1 2 0 EDGAR_CO_RCO $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.RCO.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO 1206/26/52 1 2 0 EDGAR_SOAP_RCO - - - - - - SOAP 1206/26/52/280 1 2 0 EDGAR_CO_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.PPA.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO 1207/26/52 1 2 0 EDGAR_SOAP_PPA - - - - - - SOAP 1207/26/52/280 1 2 #0 EDGAR_CO_AWB $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.AWB.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO 1209/26/52 1 2 #0 EDGAR_SOAP_AWB - - - - - - SOAP 1209/26/52/280 1 2 0 EDGAR_CO_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.SWD.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO 1211/26/52 1 2 0 EDGAR_SOAP_SWD - - - - - - SOAP 1211/26/52/280 1 2 0 EDGAR_CO_FFF $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.FFF.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO 1212/26/52 1 2 0 EDGAR_SOAP_FFF - - - - - - SOAP 1212/26/52/280 1 2 0 EDGAR_NH3_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.POW.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1201 1 2 0 EDGAR_NH3_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.ENG.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1202 1 2 0 EDGAR_NH3_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.IND.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1203 1 2 0 EDGAR_NH3_TRO $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.TRO.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1204 1 2 0 EDGAR_NH3_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.TNG.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1205 1 2 0 EDGAR_NH3_RCO $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.RCO.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1206 1 2 0 EDGAR_NH3_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.PPA.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1207 1 2 0 EDGAR_NH3_AGR $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.AGR.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1208 1 2 #0 EDGAR_NH3_AWB $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.AWB.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1209 1 2 0 EDGAR_NH3_SOL $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.SOL.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1210 1 2 0 EDGAR_NH3_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.SWD.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1211 1 2 0 EDGAR_NO_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.POW.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1201/25/115 1 2 0 EDGAR_NO_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.ENG.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1202/25/115 1 2 0 EDGAR_NO_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.IND.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1203/25/115 1 2 0 EDGAR_NO_TRO $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.TRO.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1204/25/115 1 2 0 EDGAR_NO_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.TNG.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1205/25/115 1 2 0 EDGAR_NO_RCO $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.RCO.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1206/25/115 1 2 0 EDGAR_NO_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.PPA.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1207/25/115 1 2 0 EDGAR_NO_AGR $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.AGR.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1208/25/115 1 2 #0 EDGAR_NO_AWB $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.AWB.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1209/25/115 1 2 #0 EDGAR_NO_SOL $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.SOL.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1210/25/115 1 2 0 EDGAR_NO_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.SWD.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1211/25/115 1 2 0 EDGAR_NO_FFF $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.FFF.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1212/25/115 1 2 0 EDGAR_OCPI_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.POW.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1201/72 1 2 0 EDGAR_OCPO_POW - - - - - - OCPO 1201/73 1 2 0 EDGAR_POG1_POW - - - - - - POG1 1201/74/76 1 2 0 EDGAR_POG2_POW - - - - - - POG2 1201/74/77 1 2 0 EDGAR_OCPI_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.ENG.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1202/72 1 2 0 EDGAR_OCPO_ENG - - - - - - OCPO 1202/73 1 2 0 EDGAR_POG1_ENG - - - - - - POG1 1202/74/76 1 2 0 EDGAR_POG2_ENG - - - - - - POG2 1202/74/77 1 2 0 EDGAR_OCPI_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.IND.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1203/72 1 2 0 EDGAR_OCPO_IND - - - - - - OCPO 1203/73 1 2 0 EDGAR_POG1_IND - - - - - - POG1 1203/74/76 1 2 0 EDGAR_POG2_IND - - - - - - POG2 1203/74/77 1 2 0 EDGAR_OCPI_TRO $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.TRO.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1204/72 1 2 0 EDGAR_OCPO_TRO - - - - - - OCPO 1204/73 1 2 0 EDGAR_POG1_TRO - - - - - - POG1 1204/74/76 1 2 0 EDGAR_POG2_TRO - - - - - - POG2 1204/74/77 1 2 0 EDGAR_OCPI_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.TNG.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1205/72 1 2 0 EDGAR_OCPO_TNG - - - - - - OCPO 1205/73 1 2 0 EDGAR_POG1_TNG - - - - - - POG1 1205/74/76 1 2 0 EDGAR_POG2_TNG - - - - - - POG2 1205/74/77 1 2 0 EDGAR_OCPI_RCO $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.RCO.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1206/72 1 2 0 EDGAR_OCPO_RCO - - - - - - OCPO 1206/73 1 2 0 EDGAR_POG1_RCO - - - - - - POG1 1206/74/76 1 2 0 EDGAR_POG2_RCO - - - - - - POG2 1206/74/77 1 2 #0 EDGAR_OCPI_AWB $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.AWB.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1209/72 1 2 #0 EDGAR_OCPO_AWB - - - - - - OCPO 1209/73 1 2 #0 EDGAR_POG1_AWB - - - - - - POG1 1209/74/76 1 2 #0 EDGAR_POG2_AWB - - - - - - POG2 1209/74/77 1 2 0 EDGAR_OCPI_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.SWD.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1211/72 1 2 0 EDGAR_OCPO_SWD - - - - - - OCPO 1211/73 1 2 0 EDGAR_POG1_SWD - - - - - - POG1 1211/74/76 1 2 0 EDGAR_POG2_SWD - - - - - - POG2 1211/74/77 1 2 0 EDGAR_OCPI_FFF $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.FFF.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1212/72 1 2 0 EDGAR_OCPO_FFF - - - - - - OCPO 1212/73 1 2 0 EDGAR_POG1_FFF - - - - - - POG1 1212/74/76 1 2 0 EDGAR_POG2_FFF - - - - - - POG2 1212/74/77 1 2 0 EDGAR_SO2_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.POW.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1201 1 2 0 EDGAR_SO4_POW - - - - - - SO4 1201/63 1 2 0 EDGAR_pFe_POW - - - - - - pFe 1201/66 1 2 0 EDGAR_SO2_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.ENG.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1202 1 2 0 EDGAR_SO4_ENG - - - - - - SO4 1202/63 1 2 0 EDGAR_pFe_ENG - - - - - - pFe 1202/66 1 2 0 EDGAR_SO2_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.IND.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1203 1 2 0 EDGAR_SO4_IND - - - - - - SO4 1203/63 1 2 0 EDGAR_pFe_IND - - - - - - pFe 1203/66 1 2 0 EDGAR_SO2_TRO $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.TRO.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1204 1 2 0 EDGAR_SO4_TRO - - - - - - SO4 1204/63 1 2 0 EDGAR_pFe_TRO - - - - - - pFe 1204/66 1 2 0 EDGAR_SO2_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.TNG.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1205 1 2 0 EDGAR_SO4_TNG - - - - - - SO4 1205/63 1 2 0 EDGAR_pFe_TNG - - - - - - pFe 1205/66 1 2 0 EDGAR_SO2_RCO $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.RCO.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1206 1 2 0 EDGAR_SO4_RCO - - - - - - SO4 1206/63 1 2 0 EDGAR_pFe_RCO - - - - - - pFe 1206/66 1 2 0 EDGAR_SO2_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.PPA.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1207 1 2 0 EDGAR_SO4_PPA - - - - - - SO4 1207/63 1 2 0 EDGAR_pFe_PPA - - - - - - pFe 1207/66 1 2 #0 EDGAR_SO2_AWB $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.AWB.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1209 1 2 #0 EDGAR_SO4_AWB - - - - - - SO4 1209/63 1 2 #0 EDGAR_pFe_AWB - - - - - - pFe 1209/66 1 2 0 EDGAR_SO2_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.SWD.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1211 1 2 0 EDGAR_SO4_SWD - - - - - - SO4 1211/63 1 2 0 EDGAR_pFe_SWD - - - - - - pFe 1211/66 1 2 0 EDGAR_SO2_FFF $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.FFF.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1212 1 2 0 EDGAR_SO4_FFF - - - - - - SO4 1212/63 1 2 0 EDGAR_pFe_FFF - - - - - - pFe 1212/66 1 2 #============================================================================== # --- NAP ANTHROPOGENIC EMISSIONS: approximate from EDGAR BENZ --- # # NOTE: Although this data comes from EDGAR version 2, we are storing it # in the EDGARv42 data path for convenience. #============================================================================== 0 EDGAR_NAP $ROOT/EDGARv42/v2015-02/VOCv2/EDGAR2_1985_FF_IND.1x1geos.nc BENZ 1985/1/1/0 C xy kgC/m2/s NAP 80/81/82/43 1 2 #============================================================================== # --- Wiedinmyer et al. (2014) global trash emissions to be added to EDGAR --- #============================================================================== 0 TRASH_CO $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc CO 2008/1/1/0 C xy kg/m2/s CO - 1 2 0 TRASH_SOAP - - - - - - SOAP 280 1 2 0 TRASH_NO $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc NO 2008/1/1/0 C xy kg/m2/s NO - 1 2 0 TRASH_SO2 $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc SO2 2008/1/1/0 C xy kg/m2/s SO2 78 1 2 0 TRASH_SO4 - - - - - - SO4 63 1 2 0 TRASH_pFe - - - - - - pFe 78/66 1 2 0 TRASH_BCPI $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc BC 2008/1/1/0 C xy kg/m2/s BCPI 70 1 2 0 TRASH_BCPO - - - - - - BCPO 71 1 2 0 TRASH_OCPI $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc OC 2008/1/1/0 C xy kg/m2/s OCPI 72 1 2 0 TRASH_OCPO - - - - - - OCPO 73 1 2 0 TRASH_POG1 - - - - - - POG1 74/76 1 2 0 TRASH_POG2 - - - - - - POG2 74/77 1 2 0 TRASH_NH3 $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc NH3 2008/1/1/0 C xy kg/m2/s NH3 - 1 2 #============================================================================== # --- CEDS VOC emissions to be added to EDGAR --- #============================================================================== 0 CEDS_MOH_AGR $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_agr 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CEDS_EOH_AGR - - - - - - EOH 26/91 1 5 0 CEDS_ROH_AGR - - - - - - ROH 26/92 1 5 0 CEDS_MOH_ENE $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_ene 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CEDS_EOH_ENE - - - - - - EOH 26/91 1 5 0 CEDS_ROH_ENE - - - - - - ROH 26/92 1 5 0 CEDS_MOH_IND $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_ind 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CEDS_EOH_IND - - - - - - EOH 26/91 1 5 0 CEDS_ROH_IND - - - - - - ROH 26/92 1 5 0 CEDS_MOH_TRA $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_tra 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CEDS_EOH_TRA - - - - - - EOH 26/91 1 5 0 CEDS_ROH_TRA - - - - - - ROH 26/92 1 5 0 CEDS_MOH_RCO $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_rco 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CEDS_EOH_RCO - - - - - - EOH 26/91 1 5 0 CEDS_ROH_RCO - - - - - - ROH 26/92 1 5 0 CEDS_MOH_SLV $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_slv 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CEDS_EOH_SLV - - - - - - EOH 26/91 1 5 0 CEDS_ROH_SLV - - - - - - ROH 26/92 1 5 0 CEDS_MOH_WST $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_wst 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CEDS_EOH_WST - - - - - - EOH 26/91 1 5 0 CEDS_ROH_WST - - - - - - ROH 26/92 1 5 0 CEDS_C2H6_AGR $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_agr 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CEDS_C2H6_ENE $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_ene 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CEDS_C2H6_IND $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_ind 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CEDS_C2H6_TRA $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_tra 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CEDS_C2H6_RCO $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_rco 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CEDS_C2H6_SLV $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_slv 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CEDS_C2H6_WST $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_wst 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CEDS_C3H8_AGR $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_agr 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CEDS_C3H8_ENE $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_ene 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CEDS_C3H8_IND $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_ind 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CEDS_C3H8_TRA $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_tra 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CEDS_C3H8_RCO $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_rco 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CEDS_C3H8_SLV $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_slv 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CEDS_C3H8_WST $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_wst 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CEDS_C4H10_AGR $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_agr 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C4H10_ENE $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_ene 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C4H10_IND $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_ind 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C4H10_TRA $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_tra 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C4H10_RCO $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_rco 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C4H10_SLV $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_slv 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C4H10_WST $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_wst 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C5H12_AGR $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_agr 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C5H12_ENE $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_ene 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C5H12_IND $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_ind 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C5H12_TRA $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_tra 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C5H12_RCO $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_rco 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C5H12_SLV $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_slv 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C5H12_WST $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_wst 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C6H14_AGR $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_agr 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 1 5 0 CEDS_C6H14_ENE $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_ene 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 1 5 0 CEDS_C6H14_IND $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_ind 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 1 5 0 CEDS_C6H14_TRA $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_tra 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 1 5 0 CEDS_C6H14_RCO $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_rco 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 1 5 0 CEDS_C6H14_SLV $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_slv 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 1 5 0 CEDS_C6H14_WST $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_wst 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 1 5 0 CEDS_C2H4_AGR $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_agr 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CEDS_C2H4_ENE $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_ene 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CEDS_C2H4_IND $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_ind 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CEDS_C2H4_TRA $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_tra 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CEDS_C2H4_RCO $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_rco 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CEDS_C2H4_SLV $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_slv 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CEDS_C2H4_WST $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_wst 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CEDS_PRPE_AGR $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_agr 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CEDS_PRPE_ENE $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_ene 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CEDS_PRPE_IND $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_ind 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CEDS_PRPE_TRA $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_tra 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CEDS_PRPE_RCO $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_rco 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CEDS_PRPE_SLV $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_slv 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CEDS_PRPE_WST $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_wst 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CEDS_C2H2_AGR $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_agr 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CEDS_C2H2_ENE $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_ene 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CEDS_C2H2_IND $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_ind 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CEDS_C2H2_TRA $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_tra 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CEDS_C2H2_RCO $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_rco 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CEDS_C2H2_SLV $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_slv 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CEDS_C2H2_WST $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_wst 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CEDS_BENZ_AGR $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_agr 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CEDS_BENZ_ENE $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_ene 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CEDS_BENZ_IND $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_ind 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CEDS_BENZ_TRA $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_tra 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CEDS_BENZ_RCO $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_rco 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CEDS_BENZ_SLV $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_slv 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CEDS_BENZ_WST $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_wst 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CEDS_TOLU_AGR $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_agr 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CEDS_TOLU_ENE $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_ene 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CEDS_TOLU_IND $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_ind 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CEDS_TOLU_TRA $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_tra 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CEDS_TOLU_RCO $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_rco 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CEDS_TOLU_SLV $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_slv 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CEDS_TOLU_WST $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_wst 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CEDS_XYLE_AGR $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_agr 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CEDS_XYLE_ENE $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_ene 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CEDS_XYLE_IND $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_ind 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CEDS_XYLE_TRA $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_tra 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CEDS_XYLE_RCO $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_rco 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CEDS_XYLE_SLV $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_slv 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CEDS_XYLE_WST $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_wst 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CEDS_CH2O_AGR $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_agr 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CEDS_CH2O_ENE $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_ene 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CEDS_CH2O_IND $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_ind 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CEDS_CH2O_TRA $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_tra 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CEDS_CH2O_RCO $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_rco 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CEDS_CH2O_SLV $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_slv 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CEDS_CH2O_WST $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_wst 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CEDS_ALD2_AGR $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_agr 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CEDS_ALD2_ENE $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_ene 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CEDS_ALD2_IND $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_ind 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CEDS_ALD2_TRA $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_tra 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CEDS_ALD2_RCO $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_rco 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CEDS_ALD2_SLV $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_slv 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CEDS_ALD2_WST $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_wst 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CEDS_MEK_AGR $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_agr 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CEDS_MEK_ENE $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_ene 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CEDS_MEK_IND $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_ind 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CEDS_MEK_TRA $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_tra 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CEDS_MEK_RCO $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_rco 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CEDS_MEK_SLV $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_slv 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CEDS_MEK_WST $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_wst 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CEDS_HCOOH_AGR $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_agr 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CEDS_HCOOH_ENE $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_ene 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CEDS_HCOOH_IND $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_ind 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CEDS_HCOOH_TRA $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_tra 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CEDS_HCOOH_RCO $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_rco 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CEDS_HCOOH_SLV $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_slv 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CEDS_HCOOH_WST $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_wst 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 )))EDGARv43 #============================================================================== # --- HTAP v3 --- # # %%% This is an optional inventory. You may select either CEDS, EDGAR, # or HTAPv3 for the global base emissions %%% # # ==> HTAPv3 ship emissions are listed in the ship emissions section below #============================================================================== (((HTAPv3 0 HTAPv3_NO_AGR $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NO_0.1x0.1_$YYYY.nc NO_AGR 2000-2018/1-12/1/0 C xy kg/m2/s NO 25 1 4 0 HTAPv3_NO_ENE $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NO_0.1x0.1_$YYYY.nc NO_ENE 2000-2018/1-12/1/0 C xy kg/m2/s NO 25 1 4 0 HTAPv3_NO_IND $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NO_0.1x0.1_$YYYY.nc NO_IND 2000-2018/1-12/1/0 C xy kg/m2/s NO 25 1 4 0 HTAPv3_NO_TRA $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NO_0.1x0.1_$YYYY.nc NO_TRA 2000-2018/1-12/1/0 C xy kg/m2/s NO 25 1 4 0 HTAPv3_NO_RCO $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NO_0.1x0.1_$YYYY.nc NO_RCO 2000-2018/1-12/1/0 C xy kg/m2/s NO 25 1 4 0 HTAPv3_NO_SLV $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NO_0.1x0.1_$YYYY.nc NO_SLV 2000-2018/1-12/1/0 C xy kg/m2/s NO 25 1 4 0 HTAPv3_NO_WST $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NO_0.1x0.1_$YYYY.nc NO_WST 2000-2018/1-12/1/0 C xy kg/m2/s NO 25 1 4 0 HTAPv3_CO_AGR $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_CO_0.1x0.1_$YYYY.nc CO_AGR 2000-2018/1-12/1/0 C xy kg/m2/s CO 26 1 4 0 HTAPv3_SOAP_AGR - - - - - - SOAP 26/280 1 4 0 HTAPv3_CO_ENE $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_CO_0.1x0.1_$YYYY.nc CO_ENE 2000-2018/1-12/1/0 C xy kg/m2/s CO 26 1 4 0 HTAPv3_SOAP_ENE - - - - - - SOAP 26/280 1 4 0 HTAPv3_CO_IND $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_CO_0.1x0.1_$YYYY.nc CO_IND 2000-2018/1-12/1/0 C xy kg/m2/s CO 26 1 4 0 HTAPv3_SOAP_IND - - - - - - SOAP 26/280 1 4 0 HTAPv3_CO_TRA $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_CO_0.1x0.1_$YYYY.nc CO_TRA 2000-2018/1-12/1/0 C xy kg/m2/s CO 26 1 4 0 HTAPv3_SOAP_TRA - - - - - - SOAP 26/280 1 4 0 HTAPv3_CO_RCO $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_CO_0.1x0.1_$YYYY.nc CO_RCO 2000-2018/1-12/1/0 C xy kg/m2/s CO 26 1 4 0 HTAPv3_SOAP_RCO - - - - - - SOAP 26/280 1 4 0 HTAPv3_CO_SLV $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_CO_0.1x0.1_$YYYY.nc CO_SLV 2000-2018/1-12/1/0 C xy kg/m2/s CO 26 1 4 0 HTAPv3_SOAP_SLV - - - - - - SOAP 26/280 1 4 0 HTAPv3_CO_WST $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_CO_0.1x0.1_$YYYY.nc CO_WST 2000-2018/1-12/1/0 C xy kg/m2/s CO 26 1 4 0 HTAPv3_SOAP_WST - - - - - - SOAP 26/280 1 4 0 HTAPv3_SO2_AGR $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_SO2_0.1x0.1_$YYYY.nc SO2_AGR 2000-2018/1-12/1/0 C xy kg/m2/s SO2 - 1 4 0 HTAPv3_SO4_AGR - - - - - - SO4 63 1 4 0 HTAPv3_pFe_AGR - - - - - - pFe 66 1 4 0 HTAPv3_SO2_ENE $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_SO2_0.1x0.1_$YYYY.nc SO2_ENE 2000-2018/1-12/1/0 C xy kg/m2/s SO2 - 1 4 0 HTAPv3_SO4_ENE - - - - - - SO4 63 1 4 0 HTAPv3_pFe_ENE - - - - - - pFe 66 1 4 0 HTAPv3_SO2_IND $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_SO2_0.1x0.1_$YYYY.nc SO2_IND 2000-2018/1-12/1/0 C xy kg/m2/s SO2 - 1 4 0 HTAPv3_SO4_IND - - - - - - SO4 63 1 4 0 HTAPv3_pFe_IND - - - - - - pFe 66 1 4 0 HTAPv3_SO2_TRA $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_SO2_0.1x0.1_$YYYY.nc SO2_TRA 2000-2018/1-12/1/0 C xy kg/m2/s SO2 - 1 4 0 HTAPv3_SO4_TRA - - - - - - SO4 63 1 4 0 HTAPv3_pFe_TRA - - - - - - pFe 66 1 4 0 HTAPv3_SO2_RCO $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_SO2_0.1x0.1_$YYYY.nc SO2_RCO 2000-2018/1-12/1/0 C xy kg/m2/s SO2 - 1 4 0 HTAPv3_SO4_RCO - - - - - - SO4 63 1 4 0 HTAPv3_pFe_RCO - - - - - - pFe 66 1 4 0 HTAPv3_SO2_SLV $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_SO2_0.1x0.1_$YYYY.nc SO2_SLV 2000-2018/1-12/1/0 C xy kg/m2/s SO2 - 1 4 0 HTAPv3_SO4_SLV - - - - - - SO4 63 1 4 0 HTAPv3_pFe_SLV - - - - - - pFe 66 1 4 0 HTAPv3_SO2_WST $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_SO2_0.1x0.1_$YYYY.nc SO2_WST 2000-2018/1-12/1/0 C xy kg/m2/s SO2 - 1 4 0 HTAPv3_SO4_WST - - - - - - SO4 63 1 4 0 HTAPv3_pFe_WST - - - - - - pFe 66 1 4 0 HTAPv3_NH3_AGR $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NH3_0.1x0.1_$YYYY.nc NH3_AGR 2000-2018/1-12/1/0 C xy kg/m2/s NH3 - 1 4 0 HTAPv3_NH3_ENE $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NH3_0.1x0.1_$YYYY.nc NH3_ENE 2000-2018/1-12/1/0 C xy kg/m2/s NH3 - 1 4 0 HTAPv3_NH3_IND $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NH3_0.1x0.1_$YYYY.nc NH3_IND 2000-2018/1-12/1/0 C xy kg/m2/s NH3 - 1 4 0 HTAPv3_NH3_TRA $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NH3_0.1x0.1_$YYYY.nc NH3_TRA 2000-2018/1-12/1/0 C xy kg/m2/s NH3 - 1 4 0 HTAPv3_NH3_RCO $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NH3_0.1x0.1_$YYYY.nc NH3_RCO 2000-2018/1-12/1/0 C xy kg/m2/s NH3 - 1 4 0 HTAPv3_NH3_SLV $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NH3_0.1x0.1_$YYYY.nc NH3_SLV 2000-2018/1-12/1/0 C xy kg/m2/s NH3 - 1 4 0 HTAPv3_NH3_WST $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NH3_0.1x0.1_$YYYY.nc NH3_WST 2000-2018/1-12/1/0 C xy kg/m2/s NH3 - 1 4 0 HTAPv3_BCPI_AGR $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_BC_0.1x0.1_$YYYY.nc BC_AGR 2000-2018/1-12/1/0 C xy kg/m2/s BCPI 70 1 4 0 HTAPv3_BCPO_AGR - - - - - - BCPO 71 1 4 0 HTAPv3_BCPI_ENE $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_BC_0.1x0.1_$YYYY.nc BC_ENE 2000-2018/1-12/1/0 C xy kg/m2/s BCPI 70 1 4 0 HTAPv3_BCPO_ENE - - - - - - BCPO 71 1 4 0 HTAPv3_BCPI_IND $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_BC_0.1x0.1_$YYYY.nc BC_IND 2000-2018/1-12/1/0 C xy kg/m2/s BCPI 70 1 4 0 HTAPv3_BCPO_IND - - - - - - BCPO 71 1 4 0 HTAPv3_BCPI_TRA $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_BC_0.1x0.1_$YYYY.nc BC_TRA 2000-2018/1-12/1/0 C xy kg/m2/s BCPI 70 1 4 0 HTAPv3_BCPO_TRA - - - - - - BCPO 71 1 4 0 HTAPv3_BCPI_RCO $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_BC_0.1x0.1_$YYYY.nc BC_RCO 2000-2018/1-12/1/0 C xy kg/m2/s BCPI 70 1 4 0 HTAPv3_BCPO_RCO - - - - - - BCPO 71 1 4 0 HTAPv3_BCPI_SLV $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_BC_0.1x0.1_$YYYY.nc BC_SLV 2000-2018/1-12/1/0 C xy kg/m2/s BCPI 70 1 4 0 HTAPv3_BCPO_SLV - - - - - - BCPO 71 1 4 0 HTAPv3_BCPI_WST $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_BC_0.1x0.1_$YYYY.nc BC_WST 2000-2018/1-12/1/0 C xy kg/m2/s BCPI 70 1 4 0 HTAPv3_BCPO_WST - - - - - - BCPO 71 1 4 0 HTAPv3_OCPI_AGR $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_OC_0.1x0.1_$YYYY.nc OC_AGR 2000-2018/1-12/1/0 C xy kg/m2/s OCPI 72 1 4 0 HTAPv3_OCPO_AGR - - - - - - OCPO 73 1 4 0 HTAPv3_POG1_AGR - - - - - - POG1 73/74/76 1 4 0 HTAPv3_POG2_AGR - - - - - - POG2 73/74/77 1 4 0 HTAPv3_OCPI_ENE $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_OC_0.1x0.1_$YYYY.nc OC_ENE 2000-2018/1-12/1/0 C xy kg/m2/s OCPI 72 1 4 0 HTAPv3_OCPO_ENE - - - - - - OCPO 73 1 4 0 HTAPv3_POG1_ENE - - - - - - POG1 73/74/76 1 4 0 HTAPv3_POG2_ENE - - - - - - POG2 73/74/77 1 4 0 HTAPv3_OCPI_IND $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_OC_0.1x0.1_$YYYY.nc OC_IND 2000-2018/1-12/1/0 C xy kg/m2/s OCPI 72 1 4 0 HTAPv3_OCPO_IND - - - - - - OCPO 73 1 4 0 HTAPv3_POG1_IND - - - - - - POG1 73/74/76 1 4 0 HTAPv3_POG2_IND - - - - - - POG2 73/74/77 1 4 0 HTAPv3_OCPI_TRA $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_OC_0.1x0.1_$YYYY.nc OC_TRA 2000-2018/1-12/1/0 C xy kg/m2/s OCPI 72 1 4 0 HTAPv3_OCPO_TRA - - - - - - OCPO 73 1 4 0 HTAPv3_POG1_TRA - - - - - - POG1 73/74/76 1 4 0 HTAPv3_POG2_TRA - - - - - - POG2 73/74/77 1 4 0 HTAPv3_OCPI_RCO $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_OC_0.1x0.1_$YYYY.nc OC_RCO 2000-2018/1-12/1/0 C xy kg/m2/s OCPI 72 1 4 0 HTAPv3_OCPO_RCO - - - - - - OCPO 73 1 4 0 HTAPv3_POG1_RCO - - - - - - POG1 73/74/76 1 4 0 HTAPv3_POG2_RCO - - - - - - POG2 73/74/77 1 4 0 HTAPv3_OCPI_SLV $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_OC_0.1x0.1_$YYYY.nc OC_SLV 2000-2018/1-12/1/0 C xy kg/m2/s OCPI 72 1 4 0 HTAPv3_OCPO_SLV - - - - - - OCPO 73 1 4 0 HTAPv3_POG1_SLV - - - - - - POG1 73/74/76 1 4 0 HTAPv3_POG2_SLV - - - - - - POG2 73/74/77 1 4 0 HTAPv3_OCPI_WST $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_OC_0.1x0.1_$YYYY.nc OC_WST 2000-2018/1-12/1/0 C xy kg/m2/s OCPI 72 1 4 0 HTAPv3_OCPO_WST - - - - - - OCPO 73 1 4 0 HTAPv3_POG1_WST - - - - - - POG1 73/74/76 1 4 0 HTAPv3_POG2_WST - - - - - - POG2 73/74/77 1 4 # # Use CEDSv2 for species that are not in the HTAPv3 inventory # NOTE: EOH files in CEDS/v2021-06 are actually VOC1 (total alchohols) and are split into MOH, EOH, ROH here 0 CEDS_MOH_AGR $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_agr 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 4 0 CEDS_EOH_AGR - - - - - - EOH 26/91 1 4 0 CEDS_ROH_AGR - - - - - - ROH 26/92 1 4 0 CEDS_MOH_ENE $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_ene 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 4 0 CEDS_EOH_ENE - - - - - - EOH 26/91 1 4 0 CEDS_ROH_ENE - - - - - - ROH 26/92 1 4 0 CEDS_MOH_IND $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_ind 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 4 0 CEDS_EOH_IND - - - - - - EOH 26/91 1 4 0 CEDS_ROH_IND - - - - - - ROH 26/92 1 4 0 CEDS_MOH_TRA $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_tra 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 4 0 CEDS_EOH_TRA - - - - - - EOH 26/91 1 4 0 CEDS_ROH_TRA - - - - - - ROH 26/92 1 4 0 CEDS_MOH_RCO $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_rco 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 4 0 CEDS_EOH_RCO - - - - - - EOH 26/91 1 4 0 CEDS_ROH_RCO - - - - - - ROH 26/92 1 4 0 CEDS_MOH_SLV $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_slv 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 4 0 CEDS_EOH_SLV - - - - - - EOH 26/91 1 4 0 CEDS_ROH_SLV - - - - - - ROH 26/92 1 4 0 CEDS_MOH_WST $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_wst 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 4 0 CEDS_EOH_WST - - - - - - EOH 26/91 1 4 0 CEDS_ROH_WST - - - - - - ROH 26/92 1 4 0 CEDS_C2H6_AGR $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_agr 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 4 0 CEDS_C2H6_ENE $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_ene 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 4 0 CEDS_C2H6_IND $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_ind 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 4 0 CEDS_C2H6_TRA $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_tra 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 4 0 CEDS_C2H6_RCO $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_rco 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 4 0 CEDS_C2H6_SLV $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_slv 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 4 0 CEDS_C2H6_WST $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_wst 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 4 0 CEDS_C3H8_AGR $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_agr 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 4 0 CEDS_C3H8_ENE $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_ene 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 4 0 CEDS_C3H8_IND $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_ind 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 4 0 CEDS_C3H8_TRA $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_tra 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 4 0 CEDS_C3H8_RCO $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_rco 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 4 0 CEDS_C3H8_SLV $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_slv 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 4 0 CEDS_C3H8_WST $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_wst 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 4 0 CEDS_C4H10_AGR $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_agr 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C4H10_ENE $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_ene 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C4H10_IND $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_ind 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C4H10_TRA $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_tra 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C4H10_RCO $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_rco 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C4H10_SLV $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_slv 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C4H10_WST $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_wst 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C5H12_AGR $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_agr 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C5H12_ENE $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_ene 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C5H12_IND $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_ind 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C5H12_TRA $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_tra 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C5H12_RCO $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_rco 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C5H12_SLV $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_slv 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C5H12_WST $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_wst 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C6H14_AGR $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_agr 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 1 4 0 CEDS_C6H14_ENE $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_ene 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 1 4 0 CEDS_C6H14_IND $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_ind 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 1 4 0 CEDS_C6H14_TRA $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_tra 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 1 4 0 CEDS_C6H14_RCO $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_rco 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 1 4 0 CEDS_C6H14_SLV $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_slv 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 1 4 0 CEDS_C6H14_WST $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_wst 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 1 4 0 CEDS_C2H4_AGR $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_agr 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 4 0 CEDS_C2H4_ENE $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_ene 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 4 0 CEDS_C2H4_IND $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_ind 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 4 0 CEDS_C2H4_TRA $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_tra 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 4 0 CEDS_C2H4_RCO $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_rco 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 4 0 CEDS_C2H4_SLV $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_slv 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 4 0 CEDS_C2H4_WST $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_wst 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 4 0 CEDS_PRPE_AGR $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_agr 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 4 0 CEDS_PRPE_ENE $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_ene 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 4 0 CEDS_PRPE_IND $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_ind 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 4 0 CEDS_PRPE_TRA $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_tra 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 4 0 CEDS_PRPE_RCO $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_rco 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 4 0 CEDS_PRPE_SLV $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_slv 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 4 0 CEDS_PRPE_WST $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_wst 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 4 0 CEDS_C2H2_AGR $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_agr 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 4 0 CEDS_C2H2_ENE $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_ene 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 4 0 CEDS_C2H2_IND $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_ind 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 4 0 CEDS_C2H2_TRA $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_tra 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 4 0 CEDS_C2H2_RCO $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_rco 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 4 0 CEDS_C2H2_SLV $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_slv 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 4 0 CEDS_C2H2_WST $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_wst 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 4 0 CEDS_BENZ_AGR $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_agr 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 4 0 CEDS_BENZ_ENE $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_ene 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 4 0 CEDS_BENZ_IND $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_ind 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 4 0 CEDS_BENZ_TRA $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_tra 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 4 0 CEDS_BENZ_RCO $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_rco 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 4 0 CEDS_BENZ_SLV $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_slv 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 4 0 CEDS_BENZ_WST $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_wst 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 4 0 CEDS_TOLU_AGR $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_agr 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 4 0 CEDS_TOLU_ENE $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_ene 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 4 0 CEDS_TOLU_IND $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_ind 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 4 0 CEDS_TOLU_TRA $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_tra 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 4 0 CEDS_TOLU_RCO $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_rco 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 4 0 CEDS_TOLU_SLV $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_slv 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 4 0 CEDS_TOLU_WST $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_wst 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 4 0 CEDS_XYLE_AGR $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_agr 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 4 0 CEDS_XYLE_ENE $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_ene 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 4 0 CEDS_XYLE_IND $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_ind 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 4 0 CEDS_XYLE_TRA $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_tra 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 4 0 CEDS_XYLE_RCO $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_rco 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 4 0 CEDS_XYLE_SLV $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_slv 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 4 0 CEDS_XYLE_WST $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_wst 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 4 0 CEDS_CH2O_AGR $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_agr 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 4 0 CEDS_CH2O_ENE $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_ene 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 4 0 CEDS_CH2O_IND $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_ind 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 4 0 CEDS_CH2O_TRA $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_tra 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 4 0 CEDS_CH2O_RCO $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_rco 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 4 0 CEDS_CH2O_SLV $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_slv 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 4 0 CEDS_CH2O_WST $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_wst 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 4 0 CEDS_ALD2_AGR $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_agr 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 4 0 CEDS_ALD2_ENE $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_ene 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 4 0 CEDS_ALD2_IND $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_ind 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 4 0 CEDS_ALD2_TRA $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_tra 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 4 0 CEDS_ALD2_RCO $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_rco 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 4 0 CEDS_ALD2_SLV $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_slv 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 4 0 CEDS_ALD2_WST $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_wst 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 4 0 CEDS_MEK_AGR $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_agr 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 4 0 CEDS_MEK_ENE $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_ene 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 4 0 CEDS_MEK_IND $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_ind 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 4 0 CEDS_MEK_TRA $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_tra 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 4 0 CEDS_MEK_RCO $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_rco 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 4 0 CEDS_MEK_SLV $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_slv 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 4 0 CEDS_MEK_WST $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_wst 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 4 0 CEDS_HCOOH_AGR $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_agr 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 4 0 CEDS_HCOOH_ENE $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_ene 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 4 0 CEDS_HCOOH_IND $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_ind 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 4 0 CEDS_HCOOH_TRA $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_tra 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 4 0 CEDS_HCOOH_RCO $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_rco 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 4 0 CEDS_HCOOH_SLV $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_slv 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 4 0 CEDS_HCOOH_WST $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_wst 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 4 )))HTAPv3 #============================================================================== # --- GEIA NH3 from natural sources --- #============================================================================== (((GEIA_NH3 0 GEIA_NH3_NATU $ROOT/NH3/v2019-08/NH3_geos.2x25.nc NH3_NATU 1990/1-12/1/0 C xy kg/m2/s NH3 - 3 1 )))GEIA_NH3 #============================================================================== # --- NH3 from arctic seabirds --- # Source: Riddick et al., 2012, NERC Environmental Information Data Centre #============================================================================== (((SEABIRD_NH3 0 SEABIRD_NH3 $ROOT/NH3/v2018-04/NH3_Arctic_seabirds.nc NH3_SEABIRDS 1990/1-12/1/0 C xy kg/m2/s NH3 - 30 1 )))SEABIRD_NH3 #============================================================================== # --- POET EOH --- #============================================================================== (((POET_EOH 0 POET_EOH $ROOT/POET/v2017-03/POET_EOH.geos.2x25.nc EOH 1985/1/1/0 C xy kgC/m2/s EOH 26/47 1 1 )))POET_EOH #============================================================================== # --- 2010 Global fossil fuel and biofuel emissions of C2H6 (Tzompa-Sosa et al. (2017) --- # # NOTES: # - These C2H6 emissions are used in place of CEDS #============================================================================== (((TZOMPASOSA_C2H6 0 C2H6_2010_oilgas $ROOT/C2H6_2010/v2019-06/C2H6_global_anth_biof.2010$MM.2x25.nc ANTHR_C2H6 2010/1-12/1/0 C xy kgC/m2/s C2H6 45 1 100 0 C2H6_2010_biofuel $ROOT/C2H6_2010/v2019-06/C2H6_global_anth_biof.2010$MM.2x25.nc BIOFUEL_C2H6 2010/1-12/1/0 C xy kgC/m2/s C2H6 45 1 100 )))TZOMPASOSA_C2H6 #============================================================================== # --- Xiao et al., JGR, 2008 --- # # NOTES: # - Xiao et al. C3H8 emissions are used in place of CEDS # - Priority is set to 10 to overwrite CEDS, but not newer regional inventories (e.g. EPA/NEI) #============================================================================== (((XIAO_C3H8 0 XIAO_C3H8 $ROOT/XIAO/v2014-09/C3H8_C2H6_ngas.geos.1x1.nc C3H8 1985/1/1/0 C xy kgC/m2/s C3H8 6/7/26/22/46 1 10 0 BIOFUEL_C3H8 $ROOT/BIOFUEL/v2019-08/biofuel.geos.2x25.nc BIOFUEL_C3H8 1985/1/1/0 C xy kgC/m2/s C3H8 46 1 10 )))XIAO_C3H8 #============================================================================== # --- Very-short-lived (VSL) bromocarbon emissions (cf. Qing Liang) --- #============================================================================== (((LIANG_BROMOCARB 0 LIANG_CHBR3 $ROOT/BROMINE/v2015-02/Bromocarb_Liang2010.nc CHBr3_emission 2000/1/1/0 C xy kg/m2/s CHBr3 39 1 1 0 LIANG_CH2BR2 $ROOT/BROMINE/v2015-02/Bromocarb_Liang2010.nc CH2Br2_emission 2000/1/1/0 C xy kg/m2/s CH2Br2 - 1 1 )))LIANG_BROMOCARB #============================================================================== # --- Very-short-lived (VSL) iodocarbon emissions (cf. Carlos Ordonez) --- #============================================================================== (((ORDONEZ_IODOCARB 0 ORDONEZ_CH3I $ROOT/IODINE/v2020-02/CH3I_monthly_emissions_Ordonez_2012_COARDS.nc CH3I 2000/1-12/1/0 C xy kg/m2/s CH3I - 1 1 0 ORDONEZ_CH2I2 $ROOT/IODINE/v2020-02/CH2I2_monthly_emissions_Ordonez_2012_COARDS.nc CH2I2 2000/1-12/1/0 C xy kg/m2/s CH2I2 - 1 1 0 ORDONEZ_CH2ICL $ROOT/IODINE/v2020-02/CH2ICl_monthly_emissions_Ordonez_2012_COARDS.nc CH2ICl 2000/1-12/1/0 C xy kg/m2/s CH2ICl - 1 1 0 ORDONEZ_CH2IBR $ROOT/IODINE/v2020-02/CH2IBr_monthly_emissions_Ordonez_2012_COARDS.nc CH2IBr 2000/1-12/1/0 C xy kg/m2/s CH2IBr - 1 1 )))ORDONEZ_IODOCARB #============================================================================== # --- GT_Chlorine --- # # Emission inventory for HCl and particulate Cl from continental sources # # Reference: # Zhang, B., & Liu, P., et al (2022). Global Emissions of Hydrogen Chloride # and Particulate Chloride from Continental Sources. Environmental Science & # Technology, 56(7), 3894-3904. https://doi.org/10.1021/acs.est.1c05634 # # Notes: # - The HCl emission from open biomass burning (HCL_BIO, HCL_AGR) used the same # activity data for GFED4 (1998-2014) and BB4CMIP (1960-2014). If your # emission inventory for open biomass burning has already include HCl # emissions, shut down either of them to avoid the duplicated emission sources # - Emissions of particulate Cl are added as HCl as ISORROPIA will reparition # Cl between particle phase and gas phase. #============================================================================== (((GT_Chlorine 0 HCL_ENE $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc HCl_ene 1960-2014/1-12/1/0 C xy kg/m2/s HCl 26 1/2 1 0 HCL_IND $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc HCl_ind 1960-2014/1-12/1/0 C xy kg/m2/s HCl 26 1/2 1 0 HCL_RES $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc HCl_res 1960-2014/1-12/1/0 C xy kg/m2/s HCl 26 1/2 1 0 HCL_WST $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc HCl_wstop 1960-2014/1-12/1/0 C xy kg/m2/s HCl 26 1/2 1 0 HCL_BIO $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc HCl_bbop 1960-2014/1-12/1/0 C xy kg/m2/s HCl 75 1/2 1 0 HCL_AGR $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc HCl_agri 1960-2014/1-12/1/0 C xy kg/m2/s HCl 75 1/2 1 0 PCL_ENE $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc pCl_ene 1960-2014/1-12/1/0 C xy kg/m2/s HCl 26 1/2 1 0 PCL_IND $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc pCl_ind 1960-2014/1-12/1/0 C xy kg/m2/s HCl 26 1/2 1 0 PCL_RES $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc pCl_res 1960-2014/1-12/1/0 C xy kg/m2/s HCl 26 1/2 1 0 PCL_WST $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc pCl_wstop 1960-2014/1-12/1/0 C xy kg/m2/s HCl 26 1/2 1 0 PCL_BIO $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc pCl_bbop 1960-2014/1-12/1/0 C xy kg/m2/s HCl 75 1/2 1 0 PCL_AGR $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc pCl_agri 1960-2014/1-12/1/0 C xy kg/m2/s HCl 75 1/2 1 )))GT_Chlorine #============================================================================== # --- Ship emissions --- # # ==> CEDS ship emissions are now the default. # ==> If CEDS_SHIP is turned off above then ARCTAS should be used over ICOADS, # CORBETT, and HTAPv3 for SO2 and ICOADS should be used for CO and NO. # ==> Ship NO emissions are used by PARANOx and the extension number must be # adjusted accordingly. If PARANOx is turned off, set the ExtNr back to # zero. #============================================================================== (((SHIP (((HTAPv3_SHIP 0 HTAPv3_CO_SHP $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_CO_0.1x0.1_$YYYY.nc CO_SHP 2000-2018/1-12/1/0 C xy kg/m2/s CO 26 10 4 0 HTAPv3_SOAP_SHP - - - - - - SOAP 26/280 10 4 0 HTAPv3_SO2_SHP $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_SO2_0.1x0.1_$YYYY.nc SO2_SHP 2000-2018/1-12/1/0 C xy kg/m2/s SO2 - 10 4 0 HTAPv3_SO4_SHP - - - - - - SO4 63 10 4 0 HTAPv3_pFe_SHP - - - - - - pFe 66 10 4 0 HTAPv3_NH3_SHP $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NH3_0.1x0.1_$YYYY.nc NH3_SHP 2000-2018/1-12/1/0 C xy kg/m2/s NH3 - 10 4 0 HTAPv3_BCPI_SHP $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_BC_0.1x0.1_$YYYY.nc BC_SHP 2000-2018/1-12/1/0 C xy kg/m2/s BCPI 70 10 4 0 HTAPv3_BCPO_SHP - - - - - - BCPO 71 10 4 0 HTAPv3_OCPI_SHP $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_OC_0.1x0.1_$YYYY.nc OC_SHP 2000-2018/1-12/1/0 C xy kg/m2/s OCPI 72 10 4 0 HTAPv3_OCPO_SHP - - - - - - OCPO 73 10 4 # Use CEDSv2 ship emissions for species not in HTAPv3 0 CEDS_MOH_SHP $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_shp 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 10 4 0 CEDS_EOH_SHP - - - - - - EOH 26/91 10 4 0 CEDS_ROH_SHP - - - - - - ROH 26/92 10 4 0 CEDS_C2H6_SHP $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_shp 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 10 4 0 CEDS_C3H8_SHP $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_shp 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 10 4 0 CEDS_C4H10_SHP $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_shp 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 10 4 0 CEDS_C5H12_SHP $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_shp 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 10 4 0 CEDS_C6H14_SHP $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_shp 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 10 4 0 CEDS_C2H4_SHP $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_shp 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 10 4 0 CEDS_PRPE_SHP $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_shp 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 10 4 0 CEDS_C2H2_SHP $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_shp 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 10 4 0 CEDS_BENZ_SHP $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_shp 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 10 4 0 CEDS_TOLU_SHP $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_shp 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 10 4 0 CEDS_XYLE_SHP $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_shp 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 10 4 0 CEDS_CH2O_SHP $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_shp 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 10 4 0 CEDS_ALD2_SHP $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_shp 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 10 4 0 CEDS_MEK_SHP $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_shp 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 10 4 0 CEDS_HCOOH_SHP $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_shp 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 10 4 0 CEDS_TMB_SHP $ROOT/CEDS/v2021-06/$YYYY/TMB-em-anthro_CMIP_CEDS_$YYYY.nc TMB_shp 1750-2019/1-12/1/0 C xy kg/m2/s TMB 26 10 4 0 CEDS_OTH_SHP $ROOT/CEDS/v2021-06/$YYYY/OTHER_VOC-em-anthro_CMIP_CEDS_$YYYY.nc OTHER_VOC_shp 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 10 4 )))HTAPv3_SHIP (((CEDS_01x01_SHIP 0 CEDS_CO_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_CO_0.1x0.1_$YYYY.nc CO_shp 1980-2019/1-12/1/0 C xy kg/m2/s CO 26 10 5 0 CEDS_SOAP_SHP - - - - - - SOAP 26/280 10 5 0 CEDS_SO2_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_SO2_0.1x0.1_$YYYY.nc SO2_shp 1980-2019/1-12/1/0 C xy kg/m2/s SO2 - 10 5 0 CEDS_SO4_SHP - - - - - - SO4 63 10 5 0 CEDS_pFe_SHP - - - - - - pFe 66 10 5 0 CEDS_NH3_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_NH3_0.1x0.1_$YYYY.nc NH3_shp 1980-2019/1-12/1/0 C xy kg/m2/s NH3 - 10 5 0 CEDS_BCPI_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_BC_0.1x0.1_$YYYY.nc BC_shp 1980-2019/1-12/1/0 C xy kg/m2/s BCPI 70 10 5 0 CEDS_BCPO_SHP - - - - - - BCPO 71 10 5 0 CEDS_OCPI_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_OC_0.1x0.1_$YYYY.nc OC_shp 1980-2019/1-12/1/0 C xy kg/m2/s OCPI 72 10 5 0 CEDS_OCPO_SHP - - - - - - OCPO 73 10 5 0 CEDS_MOH_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_EOH_0.1x0.1_$YYYY.nc EOH_shp 1980-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 10 5 0 CEDS_EOH_SHP - - - - - - EOH 26/91 10 5 0 CEDS_ROH_SHP - - - - - - ROH 26/92 10 5 0 CEDS_C2H6_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H6_0.1x0.1_$YYYY.nc C2H6_shp 1980-2019/1-12/1/0 C xy kg/m2/s C2H6 26 10 5 0 CEDS_C3H8_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_C3H8_0.1x0.1_$YYYY.nc C3H8_shp 1980-2019/1-12/1/0 C xy kg/m2/s C3H8 26 10 5 0 CEDS_C4H10_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_butanes_0.1x0.1_$YYYY.nc ALK4_butanes_shp 1980-2019/1-12/1/0 C xy kg/m2/s ALK4 26 10 5 0 CEDS_C5H12_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_pentanes_0.1x0.1_$YYYY.nc ALK4_pentanes_shp 1980-2019/1-12/1/0 C xy kg/m2/s ALK4 26 10 5 0 CEDS_C6H14_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALK4_hexanes_0.1x0.1_$YYYY.nc ALK4_hexanes_shp 1980-2019/1-12/1/0 C xy kg/m2/s ALK6 26 10 5 0 CEDS_C2H4_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H4_0.1x0.1_$YYYY.nc C2H4_shp 1980-2019/1-12/1/0 C xy kg/m2/s C2H4 26 10 5 0 CEDS_PRPE_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_PRPE_0.1x0.1_$YYYY.nc PRPE_shp 1980-2019/1-12/1/0 C xy kg/m2/s PRPE 26 10 5 0 CEDS_C2H2_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_C2H2_0.1x0.1_$YYYY.nc C2H2_shp 1980-2019/1-12/1/0 C xy kg/m2/s C2H2 26 10 5 0 CEDS_BENZ_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_BENZ_0.1x0.1_$YYYY.nc BENZ_shp 1980-2019/1-12/1/0 C xy kg/m2/s BENZ 26 10 5 0 CEDS_TOLU_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_TOLU_0.1x0.1_$YYYY.nc TOLU_shp 1980-2019/1-12/1/0 C xy kg/m2/s TOLU 26 10 5 0 CEDS_XYLE_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_XYLE_0.1x0.1_$YYYY.nc XYLE_shp 1980-2019/1-12/1/0 C xy kg/m2/s XYLE 26 10 5 0 CEDS_CH2O_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_CH2O_0.1x0.1_$YYYY.nc CH2O_shp 1980-2019/1-12/1/0 C xy kg/m2/s CH2O 26 10 5 0 CEDS_ALD2_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_ALD2_0.1x0.1_$YYYY.nc ALD2_shp 1980-2019/1-12/1/0 C xy kg/m2/s ALD2 26 10 5 0 CEDS_MEK_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_MEK_0.1x0.1_$YYYY.nc MEK_shp 1980-2019/1-12/1/0 C xy kg/m2/s MEK 26 10 5 0 CEDS_HCOOH_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_HCOOH_0.1x0.1_$YYYY.nc HCOOH_shp 1980-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 10 5 # # TMB and OTHER_VOC are absent from the CEDS 0.1 x 0.1 emissions. # Read the previous CEDSv2 data for these instead. # 0 CEDS_TMB_SHP $ROOT/CEDS/v2021-06/$YYYY/TMB-em-anthro_CMIP_CEDS_$YYYY.nc TMB_shp 1980-2019/1-12/1/0 C xy kg/m2/s TMB 26 10 5 0 CEDS_OTH_SHP $ROOT/CEDS/v2021-06/$YYYY/OTHER_VOC-em-anthro_CMIP_CEDS_$YYYY.nc OTHER_VOC_shp 1980-2019/1-12/1/0 C xy kg/m2/s ALK6 26 10 5 )))CEDS_01x01_SHIP #============================================================================== # --- CMIP6_SHIP --- # CEDS (historical) or Shared Socioeconomic Pathways (future), consistent with # the CMIP6 simulation experimental design. # # Make sure that the desired $GCAPSCENARIO is set above in SECTION SETTINGS # #============================================================================== (((CMIP6_SHIP 0 CMIP6_CO_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_shp 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 10 5 0 CMIP6_SOAP_SHP - - - - - - SOAP 26/280 10 5 0 CMIP6_SO2_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_shp 1750-2100/1-12/1/0 C xy kg/m2/s SO2 - 10 5 0 CMIP6_SO4_SHP - - - - - - SO4 63 10 5 0 CMIP6_pFe_SHP - - - - - - pFe 66 10 5 0 CMIP6_NH3_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_shp 1750-2100/1-12/1/0 C xy kg/m2/s NH3 - 10 5 0 CMIP6_BCPI_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_shp 1750-2100/1-12/1/0 C xy kg/m2/s BCPI 70 10 5 0 CMIP6_BCPO_SHP - - - - - - BCPO 71 10 5 0 CMIP6_OCPI_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_shp 1750-2100/1-12/1/0 C xy kg/m2/s OCPI 72 10 5 0 CMIP6_OCPO_SHP - - - - - - OCPO 73 10 5 0 CMIP6_POG1_SHP - - - - - - POG1 74/76 10 5 0 CMIP6_POG2_SHP - - - - - - POG2 74/77 10 5 # NOTE: EOH files in CMIP6/v2021-01 are actually VOC1 (total alchohols) and are split into MOH, EOH, ROH here 0 CMIP6_MOH_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 EOH_shp 1750-2100/1-12/1/0 C xy kg/m2/s MOH 26/90 10 5 0 CMIP6_EOH_SHP - - - - - - EOH 26/91 10 5 0 CMIP6_ROH_SHP - - - - - - ROH 26/92 10 5 0 CMIP6_C2H6_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H6_shp 1750-2100/1-12/1/0 C xy kg/m2/s C2H6 26 10 5 0 CMIP6_C3H8_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C3H8_shp 1750-2100/1-12/1/0 C xy kg/m2/s C3H8 26 10 5 0 CMIP6_C4H10_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_butanes_shp 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 10 5 0 CMIP6_C5H12_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_pentanes_shp 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 10 5 0 CMIP6_C6H14_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_hexanes_shp 1750-2100/1-12/1/0 C xy kg/m2/s ALK6 26 10 5 0 CMIP6_C2H4_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H4_shp 1750-2100/1-12/1/0 C xy kg/m2/s C2H4 26 10 5 0 CMIP6_PRPE_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 PRPE_shp 1750-2100/1-12/1/0 C xy kg/m2/s PRPE 26 10 5 0 CMIP6_C2H2_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H2_shp 1750-2100/1-12/1/0 C xy kg/m2/s C2H2 26 10 5 0 CMIP6_BENZ_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BENZ_shp 1750-2100/1-12/1/0 C xy kg/m2/s BENZ 26 10 5 0 CMIP6_TOLU_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 TOLU_shp 1750-2100/1-12/1/0 C xy kg/m2/s TOLU 26 10 5 0 CMIP6_XYLE_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 XYLE_shp 1750-2100/1-12/1/0 C xy kg/m2/s XYLE 26 10 5 0 CMIP6_CH2O_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH2O_shp 1750-2100/1-12/1/0 C xy kg/m2/s CH2O 26 10 5 0 CMIP6_ALD2_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALD2_shp 1750-2100/1-12/1/0 C xy kg/m2/s ALD2 26 10 5 0 CMIP6_MEK_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MEK_shp 1750-2100/1-12/1/0 C xy kg/m2/s MEK 26 10 5 0 CMIP6_HCOOH_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 HCOOH_shp 1750-2100/1-12/1/0 C xy kg/m2/s HCOOH 26 10 5 )))CMIP6_SHIP #------------------------------------------------------------------------------ # ### IF THE PARANOX EXTENSION IS TURNED ON ### # # Cosine(SZA) will be read from the restart file. Use the PARANOX extension # number (# 102) to specify these quantities and the NEI emissions. # This will make sure everything will be passed to the HEMCO PARANOX extension # rather than sending them into the base emissions. #------------------------------------------------------------------------------ (((ParaNOx (((HTAPv3_SHIP 102 HTAPv3_NO_SHP $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NO_0.1x0.1_$YYYY.nc NO_SHP 2000-2018/1-12/1/0 C xy kg/m2/s NO 25 10 4 )))HTAPv3_SHIP (((CEDS_01x01_SHIP 102 CEDS_NO_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_NO_0.1x0.1_$YYYY.nc NO_shp 1980-2019/1-12/1/0 C xy kg/m2/s NO 25 10 5 )))CEDS_01x01_SHIP )))ParaNOx #------------------------------------------------------------------------------ # ### IF THE PARANOX EXTENSION IS TURNED OFF ### # # Use extension # 0 to specify these emissions. This will put them # into the base emissions rather than sending them through PARANOX. #------------------------------------------------------------------------------ (((.not.ParaNOx (((HTAPv3_SHIP 0 HTAPv3_NO_SHIP $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NO_0.1x0.1_$YYYY.nc NO_SHP 2000-2018/1-12/1/0 C xy kg/m2/s NO 25 10 4 )))HTAPv3_SHIP (((CEDS_01x01_SHIP 0 CEDS_NO_SHP $ROOT/CEDS/v2024-06/$YYYY/CEDS_NO_0.1x0.1_$YYYY.nc NO_shp 1980-2019/1-12/1/0 C xy kg/m2/s NO 25 10 5 )))CEDS_01x01_SHIP (((CMIP6_SHIP 102 CMIP6_NO_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NO_shp 1750-2100/1-12/1/0 C xy kg/m2/s NO 25 10 5 )))CMIP6_SHIP ))).not.ParaNOx )))SHIP #============================================================================== # --- AEIC 2019 aircraft emissions (daily & monthly mean) --- # # Data files are for 2019, but scale factors from 1990-2019 can be applied # in order to get year-specific emissions. See the notes in the AEIC2019 # scale factor section below for more information. #============================================================================== (((AEIC2019_DAILY 0 AEIC19_DAILY_NO $ROOT/AEIC2019/v2022-03/2019/$MM/AEIC_2019$MM$DD.0.5x0.625.36L.nc NO 2019/1-12/1-31/0 C xyz kg/m2/s NO 241/240 20 1 0 AEIC19_DAILY_NO2 $ROOT/AEIC2019/v2022-03/2019/$MM/AEIC_2019$MM$DD.0.5x0.625.36L.nc NO2 2019/1-12/1-31/0 C xyz kg/m2/s NO2 241/240 20 1 0 AEIC19_DAILY_HONO $ROOT/AEIC2019/v2022-03/2019/$MM/AEIC_2019$MM$DD.0.5x0.625.36L.nc HONO 2019/1-12/1-31/0 C xyz kg/m2/s HNO2 241/240 20 1 0 AEIC19_DAILY_CO $ROOT/AEIC2019/v2022-03/2019/$MM/AEIC_2019$MM$DD.0.5x0.625.36L.nc CO 2019/1-12/1-31/0 C xyz kg/m2/s CO 241 20 1 0 AEIC19_DAILY_SOAP - - - - - - SOAP 241/280 20 1 0 AEIC19_DAILY_SO2 $ROOT/AEIC2019/v2022-03/2019/$MM/AEIC_2019$MM$DD.0.5x0.625.36L.nc FUELBURN 2019/1-12/1-31/0 C xyz kg/m2/s SO2 241/111 20 1 0 AEIC19_DAILY_pFe - - - - - - pFe 241/111/66 20 1 0 AEIC19_DAILY_SO4 - - - - - - SO4 241/112 20 1 0 AEIC19_DAILY_H2O - - - - - - H2O 241/120 20 1 0 AEIC19_DAILY_BCPI $ROOT/AEIC2019/v2022-03/2019/$MM/AEIC_2019$MM$DD.0.5x0.625.36L.nc BC 2019/1-12/1-31/0 C xyz kg/m2/s BCPI 241 20 1 0 AEIC19_DAILY_OCPI $ROOT/AEIC2019/v2022-03/2019/$MM/AEIC_2019$MM$DD.0.5x0.625.36L.nc OC 2019/1-12/1-31/0 C xyz kg/m2/s OCPI 241 20 1 0 AEIC19_DAILY_POG1 - - - - - - POG1 241/74/76 20 1 0 AEIC19_DAILY_POG2 - - - - - - POG2 241/74/77 20 1 0 AEIC19_DAILY_ACET $ROOT/AEIC2019/v2022-03/2019/$MM/AEIC_2019$MM$DD.0.5x0.625.36L.nc HC 2019/1-12/1-31/0 C xyz kg/m2/s ACET 241/114/101 20 1 0 AEIC19_DAILY_ALD2 - - - - - - ALD2 241/114/102 20 1 0 AEIC19_DAILY_ALK4 - - - - - - ALK4 241/114/103 20 1 0 AEIC19_DAILY_C2H6 - - - - - - C2H6 241/114/104 20 1 0 AEIC19_DAILY_C3H8 - - - - - - C3H8 241/114/105 20 1 0 AEIC19_DAILY_CH2O - - - - - - CH2O 241/114/106 20 1 0 AEIC19_DAILY_PRPE - - - - - - PRPE 241/114/107 20 1 0 AEIC19_DAILY_MACR - - - - - - MACR 241/114/108 20 1 0 AEIC19_DAILY_RCHO - - - - - - RCHO 241/114/109 20 1 )))AEIC2019_DAILY (((AEIC2019_MONMEAN 0 AEIC19_MONMEAN_NO $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc NO 2019/1-12/1/0 C xyz kg/m2/s NO 241/240 20 1 0 AEIC19_MONMEAN_NO2 $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc NO2 2019/1-12/1/0 C xyz kg/m2/s NO2 241/240 20 1 0 AEIC19_MONMEAN_HONO $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc HONO 2019/1-12/1/0 C xyz kg/m2/s HNO2 241/240 20 1 0 AEIC19_MONMEAN_CO $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc CO 2019/1-12/1/0 C xyz kg/m2/s CO 241 20 1 0 AEIC19_MONMEAN_SOAP - - - - - - SOAP 241/280 20 1 0 AEIC19_MONMEAN_SO2 $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc FUELBURN 2019/1-12/1/0 C xyz kg/m2/s SO2 241/111 20 1 0 AEIC19_MONMEAN_pFe - - - - - - pFe 241/111/66 20 1 0 AEIC19_MONMEAN_SO4 - - - - - - SO4 241/112 20 1 0 AEIC19_MONMEAN_H2O - - - - - - H2O 241/120 20 1 0 AEIC19_MONMEAN_BCPI $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc BC 2019/1-12/1/0 C xyz kg/m2/s BCPI 241 20 1 0 AEIC19_MONMEAN_OCPI $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc OC 2019/1-12/1/0 C xyz kg/m2/s OCPI 241 20 1 0 AEIC19_MONMEAN_POG1 - - - - - - POG1 241/74/76 20 1 0 AEIC19_MONMEAN_POG2 - - - - - - POG2 241/74/77 20 1 0 AEIC19_MONMEAN_ACET $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc HC 2019/1-12/1/0 C xyz kg/m2/s ACET 241/114/101 20 1 0 AEIC19_MONMEAN_ALD2 - - - - - - ALD2 241/114/102 20 1 0 AEIC19_MONMEAN_ALK4 - - - - - - ALK4 241/114/103 20 1 0 AEIC19_MONMEAN_C2H6 - - - - - - C2H6 241/114/104 20 1 0 AEIC19_MONMEAN_C3H8 - - - - - - C3H8 241/114/105 20 1 0 AEIC19_MONMEAN_CH2O - - - - - - CH2O 241/114/106 20 1 0 AEIC19_MONMEAN_PRPE - - - - - - PRPE 241/114/107 20 1 0 AEIC19_MONMEAN_MACR - - - - - - MACR 241/114/108 20 1 0 AEIC19_MONMEAN_RCHO - - - - - - RCHO 241/114/109 20 1 )))AEIC2019_MONMEAN #============================================================================== # --- Emissions from decaying plants --- #============================================================================== (((DECAYING_PLANTS 0 ALD2_PLANTDECAY $ROOT/ALD2/v2017-03/resp.geos.2x25.nc HET_RESP 1985/1-12/1/0 C xy kgC/m2/s ALD2 85/41 3 1 0 EOH_PLANTDECAY - - - - - - EOH 86/47 3 1 )))DECAYING_PLANTS #============================================================================== # --- RCP future emissions scenarios --- #============================================================================== (((RCP_3PD 0 RCP3PD_CH4 $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_CH4_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CH4 - 1 1 0 RCP3PD_NOx $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_NOx_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s NO - 1 1 0 RCP3PD_CO $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_CO_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CO - 1 1 0 RCP3PD_SOAP - - - - - - SOAP 280 1 1 0 RCP3PD_BCPO $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_BC_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s BCPO - 1 1 0 RCP3PD_OCPO $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_OC_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s OCPO - 1 1 0 RCP3PD_POG1 - - - - - - POG1 74/76 1 1 0 RCP3PD_POG2 - - - - - - POG2 74/77 1 1 0 RCP3PD_SO2 $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_SO2_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s SO2 - 1 1 0 RCP3PD_pFe - - - - - - pFe 66 1 1 0 RCP3PD_NH3 $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_NH3_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s NH3 - 1 1 0 RCP3PD_C2H2 $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_acetylene_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H2 59 1 1 0 RCP3PD_CH2O $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_formaldehyde_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CH2O - 1 1 0 RCP3PD_BENZ $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_benzene_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s BENZ 43 1 1 0 RCP3PD_TOLU $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_toluene_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s TOLU 55 1 1 0 RCP3PD_XYLE $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_xylene_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s XYLE 56 1 1 0 RCP3PD_ALD2 $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_other_aldehydes_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALD2 41 1 1 0 RCP3PD_ALK4__A $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_butanes_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP3PD_ALK4__B $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_pentanes_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP3PD_ALK4__C $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_hexanes_and_higher_alkanes_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP3PD_ACET $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_total_ketones_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ACET 51/40 1 1 0 RCP3PD_MEK - - - - - - MEK 50/48 1 1 0 RCP3PD_C2H6 $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_ethane_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H6 45 1 1 0 RCP3PD_C2H4 $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_ethene_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H4 44 1 1 0 RCP3PD_C3H8 $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_propane_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C3H8 46 1 1 0 RCP3PD_PRPE $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_propene_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s PRPE 49 1 1 0 RCP3PD_HCOOH $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_total_acids_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s HCOOH 57/58 1 1 )))RCP_3PD (((RCP_45 0 RCP45_CH4 $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_CH4_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CH4 - 1 1 0 RCP45_NOx $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_NOx_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s NO - 1 1 0 RCP45_CO $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_CO_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CO - 1 1 0 RCP45_SOAP - - - - - - SOAP 280 1 1 0 RCP45_BCPO $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_BC_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s BCPO - 1 1 0 RCP45_OCPO $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_OC_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s OCPO - 1 1 0 RCP45_POG1 - - - - - - POG1 74/76 1 1 0 RCP45_POG2 - - - - - - POG2 74/77 1 1 0 RCP45_SO2 $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_SO2_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s SO2 - 1 1 0 RCP45_pFe - - - - - - pFe 66 1 1 0 RCP45_NH3 $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_NH3_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s NH3 - 1 1 0 RCP45_C2H2 $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_acetylene_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H2 59 1 1 0 RCP45_CH2O $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_formaldehyde_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CH2O - 1 1 0 RCP45_BENZ $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_benzene_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s BENZ 43 1 1 0 RCP45_TOLU $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_toluene_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s TOLU 55 1 1 0 RCP45_XYLE $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_xylene_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s XYLE 56 1 1 0 RCP45_ALD2 $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_other_aldehydes_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALD2 41 1 1 0 RCP45_ALK4__A $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_butanes_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP45_ALK4__B $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_pentanes_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP45_ALK4__C $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_hexanes_and_higher_alkanes_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP45_ACET $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_total_ketones_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ACET 51/40 1 1 0 RCP45_MEK - - - - - - MEK 50/48 1 1 0 RCP45_C2H6 $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_ethane_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H6 45 1 1 0 RCP45_C2H4 $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_ethene_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H4 44 1 1 0 RCP45_C3H8 $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_propane_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C3H8 46 1 1 0 RCP45_PRPE $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_propene_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s PRPE 49 1 1 0 RCP45_HCOOH $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_total_acids_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s HCOOH 57/58 1 1 )))RCP_45 (((RCP_60 0 RCP60_CH4 $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_CH4_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CH4 - 1 1 0 RCP60_NOx $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_NOx_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s NO - 1 1 0 RCP60_CO $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_CO_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CO - 1 1 0 RCP60_SOAP - - - - - - SOAP 280 1 1 0 RCP60_BCPO $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_BC_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s BCPO - 1 1 0 RCP60_OCPO $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_OC_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s OCPO - 1 1 0 RCP60_POG1 - - - - - - POG1 74/76 1 1 0 RCP60_POG2 - - - - - - POG2 74/77 1 1 0 RCP60_SO2 $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_SO2_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s SO2 - 1 1 0 RCP60_pFe - - - - - - pFe 66 1 1 0 RCP60_NH3 $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_NH3_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s NH3 - 1 1 0 RCP60_C2H2 $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_acetylene_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H2 59 1 1 0 RCP60_CH2O $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_formaldehyde_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CH2O - 1 1 0 RCP60_BENZ $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_benzene_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s BENZ 43 1 1 0 RCP60_TOLU $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_toluene_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s TOLU 55 1 1 0 RCP60_XYLE $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_xylene_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s XYLE 56 1 1 0 RCP60_ALD2 $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_other_aldehydes_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALD2 41 1 1 0 RCP60_ALK4__A $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_butanes_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP60_ALK4__B $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_pentanes_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP60_ALK4__C $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_hexanes_and_higher_alkanes_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP60_ACET $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_total_ketones_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ACET 51/40 1 1 0 RCP60_MEK - - - - - - MEK 50/48 1 1 0 RCP60_C2H6 $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_ethane_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H6 45 1 1 0 RCP60_C2H4 $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_ethene_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H4 44 1 1 0 RCP60_C3H8 $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_propane_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C3H8 46 1 1 0 RCP60_PRPE $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_propene_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s PRPE 49 1 1 0 RCP60_HCOOH $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_total_acids_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s HCOOH 57/58 1 1 )))RCP_60 (((RCP_85 0 RCP85_CH4 $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_CH4_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CH4 - 1 1 0 RCP85_NOx $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_NOx_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s NO - 1 1 0 RCP85_CO $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_CO_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CO - 1 1 0 RCP85_SOAP - - - - - - SOAP 280 1 1 0 RCP85_BCPO $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_BC_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s BCPO - 1 1 0 RCP85_OCPO $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_OC_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s OCPO - 1 1 0 RCP85_POG1 - - - - - - POG1 74/76 1 1 0 RCP85_POG2 - - - - - - POG2 74/77 1 1 0 RCP85_SO2 $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_SO2_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s SO2 - 1 1 0 RCP80_pFe - - - - - - pFe 66 1 1 0 RCP85_NH3 $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_NH3_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s NH3 - 1 1 0 RCP85_C2H2 $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_acetylene_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H2 59 1 1 0 RCP85_CH2O $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_formaldehyde_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CH2O - 1 1 0 RCP85_BENZ $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_benzene_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s BENZ 43 1 1 0 RCP85_TOLU $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_toluene_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s TOLU 55 1 1 0 RCP85_XYLE $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_xylene_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s XYLE 56 1 1 0 RCP85_ALD2 $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_other_aldehydes_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALD2 41 1 1 0 RCP85_ALK4__A $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_butanes_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP85_ALK4__B $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_pentanes_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP85_ALK4__C $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_hexanes_and_higher_alkanes_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP85_ACET $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_total_ketones_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ACET 51/40 1 1 0 RCP85_MEK - - - - - - MEK 50/48 1 1 0 RCP85_C2H6 $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_ethane_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H6 45 1 1 0 RCP85_C2H4 $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_ethene_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H4 44 1 1 0 RCP85_C3H8 $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_propane_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C3H8 46 1 1 0 RCP85_PRPE $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_propene_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s PRPE 49 1 1 0 RCP85_HCOOH $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_total_acids_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s HCOOH 57/58 1 1 )))RCP_85 #============================================================================== # --- QFED2 biomass burning (v2.5r1) --- #============================================================================== (((QFED2 0 QFED_ACET_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_acet.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s ACET 75/311 5 2 0 QFED_ACET_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_acet.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s ACET 75/312 5 2 0 QFED_ALD2_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_ald2.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s ALD2 75/311 5 2 0 QFED_ALD2_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_ald2.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s ALD2 75/312 5 2 0 QFED_ALK4_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_alk4.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s ALK4 75/311 5 2 0 QFED_ALK4_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_alk4.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s ALK4 75/312 5 2 0 QFED_BCPI_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_bc.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s BCPI 70/75/311 5 2 0 QFED_BCPO_PBL - - - - - - BCPO 71/75/311 5 2 0 QFED_BCPI_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_bc.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s BCPI 70/75/312 5 2 0 QFED_BCPO_FT - - - - - - BCPO 71/75/312 5 2 0 QFED_OCPI_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_oc.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s OCPI 72/75/311 5 2 0 QFED_OCPO_PBL - - - - - - OCPO 73/75/311 5 2 0 QFED_POG1_PBL - - - - - - POG1 74/76/75/311 5 2 0 QFED_POG2_PBL - - - - - - POG2 74/77/75/311 5 2 0 QFED_OCPI_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_oc.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s OCPI 72/75/312 5 2 0 QFED_OCPO_FT - - - - - - OCPO 73/75/312 5 2 0 QFED_POG1_FT - - - - - - POG1 74/76/75/312 5 2 0 QFED_POG2_FT - - - - - - POG2 74/77/75/312 5 2 0 QFED_C2H6_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_c2h6.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s C2H6 75/311 5 2 0 QFED_C2H6_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_c2h6.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s C2H6 75/312 5 2 0 QFED_C3H8_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_c3h8.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s C3H8 75/311 5 2 0 QFED_C3H8_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_c3h8.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s C3H8 75/312 5 2 0 QFED_CH2O_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_ch2o.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s CH2O 75/311 5 2 0 QFED_CH2O_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_ch2o.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s CH2O 75/312 5 2 0 QFED_CH4_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_ch4.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s CH4 75/311 5 2 0 QFED_CH4_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_ch4.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s CH4 75/312 5 2 0 QFED_CO_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_co.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s CO 54/75/311 5 2 0 QFED_SOAP_PBL - - - - - - SOAP 54/75/281/311 5 2 0 QFED_CO_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_co.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s CO 54/75/312 5 2 0 QFED_SOAP_FT - - - - - - SOAP 54/75/281/312 5 2 0 QFED_CO2_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_co2.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s CO2 75/311 5 2 0 QFED_CO2_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_co2.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s CO2 75/312 5 2 0 QFED_MEK_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_mek.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s MEK 75/311 5 2 0 QFED_MEK_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_mek.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s MEK 75/312 5 2 0 QFED_NH3_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_nh3.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s NH3 75/311 5 2 0 QFED_NH3_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_nh3.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s NH3 75/312 5 2 0 QFED_NO_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_no.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s NO 75/311 5 2 0 QFED_NO_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_no.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s NO 75/312 5 2 0 QFED_SO2_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_so2.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s SO2 75/311 5 2 0 QFED_pFe_PBL - - - - - - pFe 75/311/66 5 2 0 QFED_SO2_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_so2.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s SO2 75/312 5 2 0 QFED_pFe_FT - - - - - - pF3 75/312/66 5 2 0 QFED_C3H6_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_c3h6.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s PRPE 75/311 5 2 0 QFED_C3H6_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_c3h6.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s PRPE 75/312 5 2 )))QFED2 #============================================================================== # --- GFAS biomass burning --- #============================================================================== (((GFAS 0 GFAS_CO $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc cofire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s CO 75 5 3 0 GFAS_SOAP $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc cofire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s SOAP 75/281 5 3 0 GFAS_CH3OH $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc ch3ohfire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s MOH 75 5 3 0 GFAS_NO $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc noxfire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s NO 75 5 3 0 GFAS_BCPI $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc bcfire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s BCPI 70/75 5 3 0 GFAS_BCPO $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc bcfire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s BCPO 71/75 5 3 0 GFAS_OCPI $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc ocfire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s OCPI 72/75 5 3 0 GFAS_OCPO $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc ocfire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s OCPO 73/75 5 3 0 GFAS_POG1 - - - - - - POG1 74/76/75 5 3 0 GFAS_POG2 - - - - - - POG2 74/77/75 5 3 0 GFAS_CO2 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc co2fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s CO2 75 5 3 0 GFAS_CH4 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc ch4fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s CH4 75 5 3 0 GFAS_SO2 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc so2fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s SO2 75 5 3 0 GFAS_pFe $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc so2fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s pFe 75/66 5 3 0 GFAS_NH3 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc nh3fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s NH3 75 5 3 0 GFAS_ACET $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c3h6ofire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s ACET 75 5 3 0 GFAS_ALD2 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c2h4ofire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s ALD2 75 5 3 0 GFAS_ALK4 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc hialkanesfire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s ALK4 75 5 3 0 GFAS_PRPE1 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc hialkenesfire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s PRPE 75 5 3 0 GFAS_PRPE2 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c3h6fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s PRPE 75 5 3 0 GFAS_C2H6 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c2h6fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s C2H6 75 5 3 0 GFAS_C3H8 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c3h8fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s C3H8 75 5 3 0 GFAS_CH2O $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc ch2ofire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s CH2O 75 5 3 0 GFAS_C2H4 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c2h4fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s C2H4 75 5 3 0 GFAS_ISOP $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c5h8fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s ISOP 75 5 3 0 GFAS_DMS $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c2h6sfire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s DMS 75 5 3 0 GFAS_TOLU $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c7h8fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s TOLU 75 5 3 0 GFAS_BENZ $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c6h6fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s BENZ 75 5 3 0 GFAS_XYLE $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c8h10fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s XYLE 75 5 3 )))GFAS #============================================================================== # --- FINNv2.5 biomass burning --- # Uses dataset derived with combined fire detection from MODIS and VIIRS. # Data downloaded from: https://rda.ucar.edu/datasets/d312009/dataaccess/ # Uses FINN emissions processed for MOZART for multiple species not processed # for general use (not specific to any model) or for GEOS-Chem. # Naming convention of inventory developers preserved for traceability. # Description of development of data available here: # https://gmd.copernicus.org/articles/16/3873/2023/ #============================================================================== (((FINNv25 0 FINNv25_CO $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_CO_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_CO 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s CO 75 5 3 0 FINNv25_SOAP - - - - - - SOAP 75/281 5 3 0 FINNv25_NO $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_NO_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_NO 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s NO 75 5 3 0 FINNv25_NO2 $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_NO2_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_NO2 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s NO2 75 5 3 0 FINNv25_BCPI $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_BC_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_BC 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s BCPI 75/70 5 3 0 FINNv25_BCPO $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_BC_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_BC 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s BCPO 75/71 5 3 0 FINNv25_OCPI $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_OC_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_OC 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s OCPI 75/72 5 3 0 FINNv25_OCPO $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_OC_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_OC 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s OCPO 75/73 5 3 0 FINNv25_SO2 $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_SO2_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_SO2 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s SO2 75 5 3 0 FINNv25_pFe - - - - - - pFe 75/66 5 3 0 FINNv25_NH3 $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_MOZART-NH3_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_MOZART-NH3 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s NH3 75 5 3 0 FINNv25_ACET $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-ACET_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-ACET 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s ACET 75 5 3 0 FINNv25_ALK4 $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-ALK4_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-ALK4 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s ALK4 75 5 3 0 FINNv25_PRPE $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-PRPE_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-PRPE 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s PRPE 75 5 3 0 FINNv25_C2H2 $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-C2H2_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-C2H2 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s C2H2 75 5 3 0 FINNv25_C2H4 $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-C2H4_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-C2H4 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s C2H4 75 5 3 0 FINNv25_C2H6 $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-C2H6_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-C2H6 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s C2H6 75 5 3 0 FINNv25_C3H8 $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-C3H8_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-C3H8 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s C3H8 75 5 3 0 FINNv25_CH2O $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-CH2O_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-CH2O 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s CH2O 75 5 3 0 FINNv25_ISOP $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_MOZART-ISOP_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_MOZART-ISOP 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s ISOP 75 5 3 0 FINNv25_BENZ $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-BENZ_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-BENZ 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s BENZ 75 5 3 0 FINNv25_TOLU $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-TOLU_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-TOLU 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s TOLU 75 5 3 0 FINNv25_XYLE $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-XYLE_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-XYLE 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s XYLE 75 5 3 0 FINNv25_GLYC $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-GLYC_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-GLYC 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s GLYC 75 5 3 0 FINNv25_MGLY $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-MGLY_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-MGLY 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s MGLY 75 5 3 0 FINNv25_HAC $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-HAC_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-HAC 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s HAC 75 5 3 0 FINNv25_MEK $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_GEOSCHEM-MEK_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_GEOSCHEM-MEK 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s MEK 75 5 3 0 FINNv25_HCOOH $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_MOZART-HCOOH_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_MOZART-HCOOH 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s HCOOH 75 5 3 0 FINNv25_HONO $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_MOZART-HONO_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_MOZART-HONO 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s HNO2 75 5 3 0 FINNv25_ALD2 $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_MOZART-CH3CHO_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_MOZART-CH3CHO 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s ALD2 75 5 3 0 FINNv25_EOH $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_MOZART-C2H5OH_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_MOZART-C2H5OH 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s EOH 75 5 3 0 FINNv25_MOH $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_MOZART-CH3OH_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_MOZART-CH3OH 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s MOH 75 5 3 0 FINNv25_ACTA $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_MOZART-CH3COOH_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_MOZART-CH3COOH 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s ACTA 75 5 3 0 FINNv25_MVK $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_MOZART-MVK_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_MOZART-MVK 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s MVK 75 5 3 0 FINNv25_MACR $ROOT/FINNv25/v2025-06/$YYYY/emissions-finnv2.5modvrs_MOZART-MACR_bb_surface_daily_$YYYY0101-$YYYY1231_0.1x0.1.nc fire_modisviirs_MOZART-MACR 2012-2023/1-12/1-31/0 EF xy molecules/cm^2/s MACR 75 5 3 )))FINNv25 #============================================================================== # --- BB4MIPs biomass burning --- #============================================================================== (((BB4MIPS # 75 is time-of-day scaling 0 CMIP6_BB_CO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s CO 75 5 3 0 CMIP6_BB_SOAP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s SOAP 75/281 5 3 0 CMIP6_BB_NO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NO_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s NO 75 5 3 0 CMIP6_BB_BCPI $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s BCPI 70/75 5 3 0 CMIP6_BB_BCPO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s BCPO 71/75 5 3 0 CMIP6_BB_OCPI $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s OCPI 72/75 5 3 0 CMIP6_BB_OCPO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s OCPO 73/75 5 3 0 CMIP6_BB_POG1 - - - - - - POG1 74/76/75 5 3 0 CMIP6_BB_POG2 - - - - - - POG2 74/77/75 5 3 0 CMIP6_BB_SO2 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s SO2 75 5 3 0 CMIP6_BB_pFe - - - - - - pFe 75/66 5 3 0 CMIP6_BB_NH3 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s NH3 75 5 3 0 CMIP6_BB_ALD2 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALD2_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s ALD2 75 5 3 0 CMIP6_BB_ALK4 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s ALK4 75 5 3 0 CMIP6_BB_PRPE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 PRPE_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s PRPE 75 5 3 0 CMIP6_BB_C2H6 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H6_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s C2H6 75 5 3 0 CMIP6_BB_C3H8 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C3H8_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s C3H8 75 5 3 0 CMIP6_BB_CH2O $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH2O_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s CH2O 75 5 3 0 CMIP6_BB_C2H4 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H4_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s C2H4 75 5 3 0 CMIP6_BB_ISOP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ISOP_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s ISOP 75 5 3 0 CMIP6_BB_DMS $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 DMS_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s DMS 75 5 3 0 CMIP6_BB_TOLU $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 TOLU_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s TOLU 75 5 3 0 CMIP6_BB_BENZ $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BENZ_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s BENZ 75 5 3 0 CMIP6_BB_XYLE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 XYLE_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s XYLE 75 5 3 0 CMIP6_BB_H2 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 H2_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s H2 75 5 3 0 CMIP6_BB_MTPA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MONOT_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s MTPA 75 5 3 #0 CMIP6_BB_MTPO - - - - - - MTPO 75 5 3 #0 CMIP6_BB_LIMO - - - - - - LIMO 75 5 3 0 CMIP6_BB_EOH $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 EOH_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s EOH 75 5 3 0 CMIP6_BB_MOH $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MOH_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s MOH 75 5 3 0 CMIP6_BB_ACET - - - - - - ACET 79/75 5 3 0 CMIP6_BB_MGLY $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MGLY_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s MGLY 75 5 3 0 CMIP6_BB_ACTA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ACTA_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s ACTA 75 5 3 0 CMIP6_BB_HCN $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 HCN_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s HCN 75 5 3 0 CMIP6_BB_HCOOH $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 HCOOH_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s HCOOH 75 5 3 0 CMIP6_BB_MEK $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MEK_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s MEK 75 5 3 )))BB4MIPS #============================================================================== # --- GFED4 biomass burning emissions climatology # NOTE: # - These emissions were generated for 2010-2019 using the GFED extension # in a 0.5x0.625 HEMCO 3.6.1 standalone simulation. #============================================================================== (((GFED4_CLIMATOLOGY 0 GFED4_CLIM_ACET $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_ACET 2023/1-12/1/0 C xy kg/m2/s ACET - 5 1 0 GFED4_CLIM_ACR $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_ACR 2023/1-12/1/0 C xy kg/m2/s ACR - 5 1 0 GFED4_CLIM_ACTA $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_ACTA 2023/1-12/1/0 C xy kg/m2/s ACTA - 5 1 0 GFED4_CLIM_ALD2 $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_ALD2 2023/1-12/1/0 C xy kg/m2/s ALD2 - 5 1 0 GFED4_CLIM_ALK4 $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_ALK4 2023/1-12/1/0 C xy kg/m2/s ALK4 - 5 1 0 GFED4_CLIM_BCPI $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_BCPI 2023/1-12/1/0 C xy kg/m2/s BCPI - 5 1 0 GFED4_CLIM_BCPO $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_BCPO 2023/1-12/1/0 C xy kg/m2/s BCPO - 5 1 0 GFED4_CLIM_BENZ $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_BENZ 2023/1-12/1/0 C xy kg/m2/s BENZ - 5 1 0 GFED4_CLIM_C2H2 $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_C2H2 2023/1-12/1/0 C xy kg/m2/s C2H2 - 5 1 0 GFED4_CLIM_C2H4 $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_C2H4 2023/1-12/1/0 C xy kg/m2/s C2H4 - 5 1 0 GFED4_CLIM_C2H6 $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_C2H6 2023/1-12/1/0 C xy kg/m2/s C2H6 - 5 1 0 GFED4_CLIM_C3H8 $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_C3H8 2023/1-12/1/0 C xy kg/m2/s C3H8 - 5 1 0 GFED4_CLIM_C4H6 $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_C4H6 2023/1-12/1/0 C xy kg/m2/s C4H6 - 5 1 0 GFED4_CLIM_CH2O $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_CH2O 2023/1-12/1/0 C xy kg/m2/s CH2O - 5 1 0 GFED4_CLIM_CO $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_CO 2023/1-12/1/0 C xy kg/m2/s CO - 5 1 0 GFED4_CLIM_EOH $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_EOH 2023/1-12/1/0 C xy kg/m2/s EOH - 5 1 0 GFED4_CLIM_FURA $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_FURA 2023/1-12/1/0 C xy kg/m2/s FURA - 5 1 0 GFED4_CLIM_GLYX $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_GLYX 2023/1-12/1/0 C xy kg/m2/s GLYX - 5 1 0 GFED4_CLIM_HCOOH $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_HCOOH 2023/1-12/1/0 C xy kg/m2/s HCOOH - 5 1 0 GFED4_CLIM_ISOP $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_ISOP 2023/1-12/1/0 C xy kg/m2/s ISOP - 5 1 0 GFED4_CLIM_MEK $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_MEK 2023/1-12/1/0 C xy kg/m2/s MEK - 5 1 0 GFED4_CLIM_MGLY $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_MGLY 2023/1-12/1/0 C xy kg/m2/s MGLY - 5 1 0 GFED4_CLIM_MOH $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_MOH 2023/1-12/1/0 C xy kg/m2/s MOH - 5 1 0 GFED4_CLIM_MVK $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_MVK 2023/1-12/1/0 C xy kg/m2/s MVK - 5 1 0 GFED4_CLIM_MTPA $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_MTPA 2023/1-12/1/0 C xy kg/m2/s MTPA - 5 1 0 GFED4_CLIM_NAP $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_NAP 2023/1-12/1/0 C xy kg/m2/s NAP - 5 1 0 GFED4_CLIM_NH3 $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_NH3 2023/1-12/1/0 C xy kg/m2/s NH3 - 5 1 0 GFED4_CLIM_NO $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_NO 2023/1-12/1/0 C xy kg/m2/s NO - 5 1 0 GFED4_CLIM_OCPI $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_OCPI 2023/1-12/1/0 C xy kg/m2/s OCPI - 5 1 0 GFED4_CLIM_OCPO $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_OCPO 2023/1-12/1/0 C xy kg/m2/s OCPO - 5 1 0 GFED4_CLIM_PHEN $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_PHEN 2023/1-12/1/0 C xy kg/m2/s PHEN - 5 1 0 GFED4_CLIM_POG1 $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_POG1 2023/1-12/1/0 C xy kg/m2/s POG1 - 5 1 0 GFED4_CLIM_POG2 $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_POG2 2023/1-12/1/0 C xy kg/m2/s POG2 - 5 1 0 GFED4_CLIM_PRPE $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_PRPE 2023/1-12/1/0 C xy kg/m2/s PRPE - 5 1 0 GFED4_CLIM_RCHO $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_RCHO 2023/1-12/1/0 C xy kg/m2/s RCHO - 5 1 0 GFED4_CLIM_SO2 $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_SO2 2023/1-12/1/0 C xy kg/m2/s SO2 - 5 1 0 GFED4_CLIM_SOAP $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_SOAP 2023/1-12/1/0 C xy kg/m2/s SOAP - 5 1 0 GFED4_CLIM_STYR $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_STYR 2023/1-12/1/0 C xy kg/m2/s STRY - 5 1 0 GFED4_CLIM_TOLU $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_TOLU 2023/1-12/1/0 C xy kg/m2/s TOLU - 5 1 0 GFED4_CLIM_XYLE $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2023_05x0625.nc GFED4_XYLE 2023/1-12/1/0 C xy kg/m2/s XYLE - 5 1 )))GFED4_CLIMATOLOGY #============================================================================== # --- Anthropogenic Fugitive, Combustion and Industrial Dust --- # (Philip et al., 2017, ERL) #============================================================================== (((AFCID 0 PM25FINE_1_bin1 $ROOT/AFCID/v2018-04/PM25FINE_ECLIPSE_2015.geos.2x25.nc PM25FINE 2015/1-12/1/0 C xy kg/m2/s DSTbin1 630/631 1 1 0 PM25FINE_1_bin2 $ROOT/AFCID/v2018-04/PM25FINE_ECLIPSE_2015.geos.2x25.nc PM25FINE 2015/1-12/1/0 C xy kg/m2/s DSTbin2 630/632 1 1 0 PM25FINE_1_bin3 $ROOT/AFCID/v2018-04/PM25FINE_ECLIPSE_2015.geos.2x25.nc PM25FINE 2015/1-12/1/0 C xy kg/m2/s DSTbin3 630/633 1 1 0 PM25FINE_1_bin4 $ROOT/AFCID/v2018-04/PM25FINE_ECLIPSE_2015.geos.2x25.nc PM25FINE 2015/1-12/1/0 C xy kg/m2/s DSTbin4 630/634 1 1 0 PM25FINE_2_bin1 $ROOT/AFCID/v2018-04/PM25FINE_MEIC_2012.generic.025x025.nc PM25FINE 2012/1-12/1/0 C xy kg/m2/s DSTbin1 630/631/1009 1 2 0 PM25FINE_2_bin2 $ROOT/AFCID/v2018-04/PM25FINE_MEIC_2012.generic.025x025.nc PM25FINE 2012/1-12/1/0 C xy kg/m2/s DSTbin2 630/632/1009 1 2 0 PM25FINE_2_bin3 $ROOT/AFCID/v2018-04/PM25FINE_MEIC_2012.generic.025x025.nc PM25FINE 2012/1-12/1/0 C xy kg/m2/s DSTbin3 630/633/1009 1 2 0 PM25FINE_2_bin4 $ROOT/AFCID/v2018-04/PM25FINE_MEIC_2012.generic.025x025.nc PM25FINE 2012/1-12/1/0 C xy kg/m2/s DSTbin4 630/634/1009 1 2 0 PM25FINE_3_bin1 $ROOT/AFCID/v2018-04/PM25FINE_IITB_2013.generic.025x025.nc PM25FINE 2013/1-12/1/0 C xy kg/m2/s DSTbin1 630/631/1010 1 3 0 PM25FINE_3_bin2 $ROOT/AFCID/v2018-04/PM25FINE_IITB_2013.generic.025x025.nc PM25FINE 2013/1-12/1/0 C xy kg/m2/s DSTbin2 630/632/1010 1 3 0 PM25FINE_3_bin3 $ROOT/AFCID/v2018-04/PM25FINE_IITB_2013.generic.025x025.nc PM25FINE 2013/1-12/1/0 C xy kg/m2/s DSTbin3 630/633/1010 1 3 0 PM25FINE_3_bin4 $ROOT/AFCID/v2018-04/PM25FINE_IITB_2013.generic.025x025.nc PM25FINE 2013/1-12/1/0 C xy kg/m2/s DSTbin4 630/634/1010 1 3 )))AFCID #============================================================================== # --- Offline dust emissions --- #============================================================================== (((OFFLINE_DUST (((.not.DustL23M 0 EMIS_DSTbin1 $ROOT/OFFLINE_DUST/v2025-03/${RUNDIR_OFFLINE_EMIS_RES}/${RUNDIR_MET}/$YYYY/$MM/dust_emissions_${RUNDIR_OFFLINE_EMIS_LAT_RES}.${RUNDIR_MET}.$YYYY$MM$DD.nc EMIS 1980-2022/1-12/1-31/* EFY xy kg/m2/s DSTbin1 621 3 2 0 EMIS_DSTbin2 $ROOT/OFFLINE_DUST/v2025-03/${RUNDIR_OFFLINE_EMIS_RES}/${RUNDIR_MET}/$YYYY/$MM/dust_emissions_${RUNDIR_OFFLINE_EMIS_LAT_RES}.${RUNDIR_MET}.$YYYY$MM$DD.nc EMIS 1980-2022/1-12/1-31/* EFY xy kg/m2/s DSTbin2 622 3 2 0 EMIS_DSTbin3 $ROOT/OFFLINE_DUST/v2025-03/${RUNDIR_OFFLINE_EMIS_RES}/${RUNDIR_MET}/$YYYY/$MM/dust_emissions_${RUNDIR_OFFLINE_EMIS_LAT_RES}.${RUNDIR_MET}.$YYYY$MM$DD.nc EMIS 1980-2022/1-12/1-31/* EFY xy kg/m2/s DSTbin3 623 3 2 0 EMIS_DSTbin4 $ROOT/OFFLINE_DUST/v2025-03/${RUNDIR_OFFLINE_EMIS_RES}/${RUNDIR_MET}/$YYYY/$MM/dust_emissions_${RUNDIR_OFFLINE_EMIS_LAT_RES}.${RUNDIR_MET}.$YYYY$MM$DD.nc EMIS 1980-2022/1-12/1-31/* EFY xy kg/m2/s DSTbin4 624 3 2 0 EMIS_DSTbin5 $ROOT/OFFLINE_DUST/v2025-03/${RUNDIR_OFFLINE_EMIS_RES}/${RUNDIR_MET}/$YYYY/$MM/dust_emissions_${RUNDIR_OFFLINE_EMIS_LAT_RES}.${RUNDIR_MET}.$YYYY$MM$DD.nc EMIS 1980-2022/1-12/1-31/* EFY xy kg/m2/s DSTbin5 625 3 2 0 EMIS_DSTbin6 $ROOT/OFFLINE_DUST/v2025-03/${RUNDIR_OFFLINE_EMIS_RES}/${RUNDIR_MET}/$YYYY/$MM/dust_emissions_${RUNDIR_OFFLINE_EMIS_LAT_RES}.${RUNDIR_MET}.$YYYY$MM$DD.nc EMIS 1980-2022/1-12/1-31/* EFY xy kg/m2/s DSTbin6 626 3 2 0 EMIS_DSTbin7 $ROOT/OFFLINE_DUST/v2025-03/${RUNDIR_OFFLINE_EMIS_RES}/${RUNDIR_MET}/$YYYY/$MM/dust_emissions_${RUNDIR_OFFLINE_EMIS_LAT_RES}.${RUNDIR_MET}.$YYYY$MM$DD.nc EMIS 1980-2022/1-12/1-31/* EFY xy kg/m2/s DSTbin7 627 3 2 ))).not.DustL23M )))OFFLINE_DUST #============================================================================== # --- Offline biogenic VOC emissions --- #============================================================================== (((OFFLINE_BIOGENICVOC 0 BIOGENIC_ACET $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.$YYYY$MM$DD.nc ACET_MEGAN 1980-2022/1-12/1-31/* EFY xy kg/m2/s ACET - 4 2 0 BIOGENIC_ALD2 $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.$YYYY$MM$DD.nc ALD2_MEGAN 1980-2022/1-12/1-31/* EFY xy kg/m2/s ALD2 - 4 2 0 BIOGENIC_C2H4 $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.$YYYY$MM$DD.nc C2H4_MEGAN 1980-2022/1-12/1-31/* EFY xy kg/m2/s C2H4 - 4 2 0 BIOGENIC_EOH $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.$YYYY$MM$DD.nc EOH_MEGAN 1980-2022/1-12/1-31/* EFY xy kg/m2/s EOH - 4 2 0 BIOGENIC_ISOP $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.$YYYY$MM$DD.nc ISOP_MEGAN 1980-2022/1-12/1-31/* EFY xy kg/m2/s ISOP - 4 2 0 BIOGENIC_ISOP_SOAP - - - - - - SOAP 610 4 2 0 BIOGENIC_ISOP_SOAS - - - - - - SOAS 610 4 2 0 BIOGENIC_LIMO $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.$YYYY$MM$DD.nc LIMO_MEGAN 1980-2022/1-12/1-31/* EFY xy kg/m2/s LIMO - 4 2 0 BIOGENIC_LIMO_SOAP - - - - - - SOAP 611 4 2 0 BIOGENIC_LIMO_SOAS - - - - - - SOAS 611 4 2 0 BIOGENIC_MOH $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.$YYYY$MM$DD.nc MOH_MEGAN 1980-2022/1-12/1-31/* EFY xy kg/m2/s MOH - 4 2 0 BIOGENIC_MTPA $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.$YYYY$MM$DD.nc MTPA_MEGAN 1980-2022/1-12/1-31/* EFY xy kg/m2/s MTPA - 4 2 0 BIOGENIC_MTPA_SOAP - - - - - - SOAP 611 4 2 0 BIOGENIC_MTPA_SOAS - - - - - - SOAS 611 4 2 0 BIOGENIC_MTPO $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.$YYYY$MM$DD.nc MTPO_MEGAN 1980-2022/1-12/1-31/* EFY xy kg/m2/s MTPO - 4 2 0 BIOGENIC_MTPO_SOAP - - - - - - SOAP 611 4 2 0 BIOGENIC_MTPO_SOAS - - - - - - SOAS 611 4 2 0 BIOGENIC_PRPE $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.$YYYY$MM$DD.nc PRPE_MEGAN 1980-2022/1-12/1-31/* EFY xy kg/m2/s PRPE - 4 2 0 BIOGENIC_SESQ $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/biovoc_${RUNDIR_OFFLINE_EMIS_LAT_RES}.$YYYY$MM$DD.nc SESQ_MEGAN 1980-2022/1-12/1-31/* EFY xy kg/m2/s SESQ - 4 2 0 BIOGENIC_SESQ_SOAP - - - - - - SOAP 612 4 2 0 BIOGENIC_SESQ_SOAS - - - - - - SOAS 612 4 2 )))OFFLINE_BIOGENICVOC #============================================================================== # --- Offline sea salt emissions --- #============================================================================== (((OFFLINE_SEASALT (((.not.SeaSalt 0 SEASALT_SALA $ROOT/OFFLINE_SEASALT/${RUNDIR_OFFLINE_SEASALT_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/seasalt_${RUNDIR_OFFLINE_EMIS_LAT_RES}.$YYYY$MM$DD.nc SALA_TOTAL 1980-2022/1-12/1-31/* EFY xy kg/m2/s SALA - 3 2 0 SEASALT_SALAAL - - - - - - SALAAL 615 3 2 0 SEASALT_SALACL - - - - - - SALACL 616 3 2 (((CalcBrSeasalt 0 SEASALT_BrSALA - - - - - - BrSALA 617 3 2 )))CalcBrSeasalt 0 SEASALT_SALC $ROOT/OFFLINE_SEASALT/${RUNDIR_OFFLINE_SEASALT_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/seasalt_${RUNDIR_OFFLINE_EMIS_LAT_RES}.$YYYY$MM$DD.nc SALC_TOTAL 1980-2022/1-12/1-31/* EFY xy kg/m2/s SALC - 3 2 0 SEASALT_SALCAL - - - - - - SALCAL 615 3 2 0 SEASALT_SALCCL - - - - - - SALCCL 616 3 2 (((CalcBrSeasalt 0 SEASALT_BrSALC - - - - - - BrSALC 617 3 2 )))CalcBrSeasalt ))).not.SeaSalt )))OFFLINE_SEASALT #============================================================================== # --- Offline soil NOx emissions --- #============================================================================== (((OFFLINE_SOILNOX (((.not.SoilNOx 0 SOILNOX_NO $ROOT/OFFLINE_SOILNOX/${RUNDIR_OFFLINE_SOILNOX_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/soilnox_${RUNDIR_OFFLINE_EMIS_LAT_RES}.$YYYY$MM$DD.nc SOIL_NOx 1980-2022/1-12/1-31/* EFY xy kg/m2/s NO - 3 2 ))).not.SoilNOx )))OFFLINE_SOILNOX ############################################################################### ### EXTENSION DATA (subsection of BASE EMISSIONS SECTION) ### ### These fields are needed by the extensions listed above. The assigned ExtNr ### must match the ExtNr entry in section 'Extension switches'. These fields ### are only read if the extension is enabled. The fields are imported by the ### extensions by field name. The name given here must match the name used ### in the extension's source code. ############################################################################### #============================================================================== # --- Seawater concentrations for oceanic emissions (Extension 101) --- #============================================================================== (((SeaFlux #101 CH3I_SEAWATER $ROOT/CH3I/v2014-07/ocean_ch3i.geos.4x5.nc CH3I_OCEAN 1985/1-12/1/0 C xy kg/m3 CH3I - 1 1 101 DMS_SEAWATER $ROOT/DMS/v2015-07/DMS_lana.geos.1x1.nc DMS_OCEAN 1985/1-12/1/0 C xy kg/m3 DMS - 1 1 101 ACET_SEAWATER $ROOT/ACET/v2014-07/ACET_seawater.generic.1x1.nc ACET 2005/1/1/0 C xy kgC/m3 ACET 40 1 1 101 ALD2_SEAWATER $ROOT/ALD2/v2017-03/ALD2_seawater.geos.2x25.nc ALD2 2006/1-12/1/0 C xy kgC/m3 ALD2 41 1 1 101 MENO3_SEAWATER $ROOT/RONO2/v2019-05/RONO2_seawater.geos.2x25.nc MENO3 2006/1-12/1/0 C xy kg/m3 MENO3 - 1 1 101 ETNO3_SEAWATER $ROOT/RONO2/v2019-05/RONO2_seawater.geos.2x25.nc ETNO3 2006/1-12/1/0 C xy kg/m3 ETNO3 - 1 1 101 MOH_SEAWATER $ROOT/MOH/v2019-12/MOH_seawater.low.kgCm3.generic.1x1.nc MOH 2005/1/1/0 C xy kg/m3 MOH - 1 1 )))SeaFlux #============================================================================== # --- SOILNOX emissions (Extension 104) --- #============================================================================== (((SoilNOx 104 DEP_RESERVOIR_DEFAULT $ROOT/SOILNOX/v2014-07/DepReservoirDefault.nc DEP_RESERVOIR 2013/7/1/0 C xy kg/m3 NO - 1 1 (((HEMCO_RESTART 104 PFACTOR ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc PFACTOR $YYYY/$MM/$DD/$HH EY xy 1 NO - 1 1 104 DRYPERIOD ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc DRYPERIOD $YYYY/$MM/$DD/$HH EY xy 1 NO - 1 1 104 GWET_PREV ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc GWET_PREV $YYYY/$MM/$DD/$HH EY xy 1 NO - 1 1 104 DEP_RESERVOIR ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc DEP_RESERVOIR $YYYY/$MM/$DD/$HH EY xy kg/m3 NO - 1 1 )))HEMCO_RESTART 104 SOILNOX_FERT $ROOT/SOILNOX/v2014-07/soilNOx.fert_res.generic.05x05.nc FERT 2000/1-12/1-31/0 C xy kg/m3 NO - 1 1 104 SOILNOX_LANDK1 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K01 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK2 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K02 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK3 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K03 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK4 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K04 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK5 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K05 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK6 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K06 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK7 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K07 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK8 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K08 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK9 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K09 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK10 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K10 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK11 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K11 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK12 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K12 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK13 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K13 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK14 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K14 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK15 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K15 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK16 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K16 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK17 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K17 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK18 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K18 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK19 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K19 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK20 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K20 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK21 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K21 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK22 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K22 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK23 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K23 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK24 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K24 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_ARID $ROOT/SOILNOX/v2014-07/soilNOx.climate.generic.05x05.nc ARID 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_NONARID $ROOT/SOILNOX/v2014-07/soilNOx.climate.generic.05x05.nc NON_ARID 2000/1/1/0 C xy 1 NO - 1 1 )))SoilNOx #=========================================================================== # --- External fields needed for online DustL23M (Extension 125) --- #=========================================================================== (((DustL23M 125 L23M_A_bare $ROOT/DustL23M/v2025-07/LandCover/MCD12C1.LC.$YYYY.0.1.nc4 LC_bare 1998-2022/1/1/0 C xy 1 * - 1 1 125 L23M_A_veg $ROOT/DustL23M/v2025-07/LandCover/MCD12C1.LC.$YYYY.0.1.nc4 LC_veg 1998-2022/1/1/0 C xy 1 * - 1 1 125 L23M_Csah $ROOT/DustL23M/v2025-07/scale/DustL23_scale_025x03125_scaleSAv2.nc4 scale 2000/1/1/0 C xy 1 * - 1 1 125 L23M_LAI $ROOT/DustL23M/v2025-07/LandCover/XLAI_025x025_$YYYY_MonMean.nc4 LAI 2000-2020/1-12/1/0 C xy 1 * - 1 1 125 L23M_fclay $ROOT/DustL23M/v2025-07/GSDE/GSDE_clay-sand-silt_0.1.nc4 f_clay 2000/1/1/0 C xy 1 * - 1 1 125 L23M_BD $ROOT/DustL23M/v2025-07/GSDE/GSDE_clay-sand-silt_0.1.nc4 bulk_density 2000/1/1/0 C xy kg-soil/m3 * - 1 1 125 L23M_poros $ROOT/DustL23M/v2025-07/poros/MERRA2.const_2d_lnd_Nx.poros.nc4 poros 1980/1/1/0 C xy 1 * - 1 1 125 L23M_roughness_r $ROOT/DustL23M/v2025-07/roughness/Surf_roughness_min_rocks_1997.nc4 roughness_r 1997/1/1/0 C xy m * - 1 1 )))DustL23M #============================================================================== # --- Sea salt emissions (Extensions 107 and 130) # # MODIS Chlorophyll-A fields used for emissions of marine organic aerosols #============================================================================== (((SeaSalt 107 MODIS_CHLR $ROOT/MODIS_CHLR/v2019-11/MODIS.CHLRv.V5.generic.025x025.$YYYY.nc MODIS 2005-2014/1-12/1/0 C xy 1 * - 1 1 107 MULTISEAICE $ROOT/MULTI_ICE/v2021-07/multiyearice.merra2.05x0625.$YYYY.nc FRSEAICE 1980-2020/1-12/1-31/0 C xy 1 * - 1 1 # Climatology CHLR #107 MODIS_CHLR $ROOT/MODIS_CHLR/v2019-11/MODIS.CHLRv.V5.generic.025x025.Clim.nc MODIS 2007/1-12/1/0 C xy 1 * - 1 1 )))SeaSalt (((TOMAS_Jeagle 130 MODIS_CHLR $ROOT/MODIS_CHLR/v2019-11/MODIS.CHLRv.V5.generic.025x025.$YYYY.nc MODIS 2005-2014/1-12/1/0 C xy 1 * - 1 1 130 MULTISEAICE $ROOT/MULTI_ICE/v2021-07/multiyearice.merra2.05x0625.$YYYY.nc FRSEAICE 1984-2017/1-12/1-31/0 C xy 1 * - 1 1 # Climatology CHLR #130 MODIS_CHLR $ROOT/MODIS_CHLR/v2019-11/MODIS.CHLRv.V5.generic.025x025.Clim.nc MODIS 2007/1-12/1/0 C xy 1 * - 1 1 )))TOMAS_Jeagle #============================================================================== # --- Dust emissions using DEAD model (Extension 131) --- #============================================================================== (((TOMAS_DustDead 131 DEAD_EF_GEO $ROOT/DUST_DEAD/v2019-06/dst_tibds.geos.2x25.nc EF_GEO 1985/1/1/0 C xy factor * - 1 1 131 DEAD_LF_DRY $ROOT/DUST_DEAD/v2019-06/dst_tibds.geos.2x25.nc LF_DRY 1985/1/1/0 C xy factor * - 1 1 131 DEAD_MF_CACO3 $ROOT/DUST_DEAD/v2019-06/dst_tibds.geos.2x25.nc MF_CaCO3 1985/1/1/0 C xy fraction * - 1 1 131 DEAD_MF_CLY $ROOT/DUST_DEAD/v2019-06/dst_tibds.geos.2x25.nc MF_CLY 1985/1/1/0 C xy fraction * - 1 1 131 DEAD_MF_SND $ROOT/DUST_DEAD/v2019-06/dst_tibds.geos.2x25.nc MF_SND 1985/1/1/0 C xy fraction * - 1 1 131 DEAD_SFC_TYP $ROOT/DUST_DEAD/v2019-06/dst_tibds.geos.2x25.nc SFC_TYP 1985/1/1/0 C xy unitless * - 1 1 131 DEAD_GOC_SRC $ROOT/DUST_DEAD/v2019-06/GOCART_src_fn.geos.2x25.nc GOC_SRC 1985/1/1/0 C xy unitless * - 1 1 131 DEAD_VAI $ROOT/DUST_DEAD/v2019-06/dst_tvbds.geos.2x25.nc VAI 1985/1-12/1/0 C xy unitless * - 1 1 )))TOMAS_DustDead #============================================================================== # --- MEGAN biogenic emissions (Extension 108) # # NOTE: These are the base emissions, which will be converted to kgC/m2/s by # HEMCO. The specified species (OCPI/ISOP/ACET) are required for proper unit # conversion. Since netCDF files are already in mass carbon (ug(C)), the only # important thing is to specify a VOC with a specified MW of 12g/mol. # This is the case for OCPI, ISOP and ACET. # # We don't need to read EF maps for acetone, a-pinene or myrcene. We now # compute those values in the MEGAN extension. #============================================================================== (((MEGAN (((HEMCO_RESTART 108 T_DAVG ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc T_DAVG $YYYY/$MM/$DD/$HH EY xy K * - 1 1 108 T_PREVDAY ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc T_PREVDAY $YYYY/$MM/$DD/$HH EY xy K * - 1 1 108 LAI_PREVDAY ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc LAI_PREVDAY $YYYY/$MM/$DD/$HH EY xy 1 * - 1 1 108 PARDR_DAVG ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc PARDR_DAVG $YYYY/$MM/$DD/$HH EY xy W/m2 * - 1 1 108 PARDF_DAVG ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc PARDF_DAVG $YYYY/$MM/$DD/$HH EY xy W/m2 * - 1 1 )))HEMCO_RESTART 108 MEGAN_AEF_ISOP $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_ISOPRENE 1985/1/1/0 C xy kgC/m2/s * 61 1 1 108 MEGAN_AEF_MBOX $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_MBO 1985/1/1/0 C xy kgC/m2/s * 64 1 1 #108 MEGAN_AEF_APIN $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_ALPHA_PINENE 1985/1/1/0 C xy kgC/m2/s * 62 1 1 108 MEGAN_AEF_BPIN $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_BETA_PINENE 1985/1/1/0 C xy kgC/m2/s * 62 1 1 108 MEGAN_AEF_CARE $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_CARENE 1985/1/1/0 C xy kgC/m2/s * 62 1 1 108 MEGAN_AEF_LIMO $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_LIMONENE 1985/1/1/0 C xy kgC/m2/s * 62 1 1 #108 MEGAN_AEF_MYRC $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_MYRCENE 1985/1/1/0 C xy kgC/m2/s * 62 1 1 108 MEGAN_AEF_OCIM $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_OCIMENE 1985/1/1/0 C xy kgC/m2/s * 62 1 1 108 MEGAN_AEF_SABI $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_SABINENE 1985/1/1/0 C xy kgC/m2/s * 62 1 1 108 CLM4_PFT_BARE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BARE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_NDLF_EVGN_TMPT_TREE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_NDLF_EVGN_TMPT_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_NDLF_EVGN_BORL_TREE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_NDLF_EVGN_BORL_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_NDLF_DECD_BORL_TREE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_NDLF_DECD_BORL_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_EVGN_TROP_TREE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BDLF_EVGN_TROP_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_EVGN_TMPT_TREE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BDLF_EVGN_TMPT_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_DECD_TROP_TREE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BDLF_DECD_TROP_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_DECD_TMPT_TREE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BDLF_DECD_TMPT_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_DECD_BORL_TREE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BDLF_DECD_BORL_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_EVGN_SHRB $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BDLF_EVGN_SHRB 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_DECD_TMPT_SHRB $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BDLF_DECD_TMPT_SHRB 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_DECD_BORL_SHRB $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BDLF_DECD_BORL_SHRB 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_C3_ARCT_GRSS $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_C3_ARCT_GRSS 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_C3_NARC_GRSS $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_C3_NARC_GRSS 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_C4_GRSS $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_C4_GRSS 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_CROP $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_CROP 2000/1/1/0 C xy 1 * - 1 1 )))MEGAN #============================================================================== # --- GFED biomass burning emissions (Extension 111) # NOTES: # - These are the base emissions in kgDM/m2/s # - If a year is not available, you may use the GFED4_CLIMATOLOGY option instead #============================================================================== (((GFED4 111 GFED_TEMP $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_TEMP 2010-2023/1-12/01/0 RF xy kgDM/m2/s * - 1 1 111 GFED_AGRI $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_AGRI 2010-2023/1-12/01/0 RF xy kgDM/m2/s * - 1 1 111 GFED_DEFO $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_DEFO 2010-2023/1-12/01/0 RF xy kgDM/m2/s * - 1 1 111 GFED_BORF $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_BORF 2010-2023/1-12/01/0 RF xy kgDM/m2/s * - 1 1 111 GFED_PEAT $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_PEAT 2010-2023/1-12/01/0 RF xy kgDM/m2/s * - 1 1 111 GFED_SAVA $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_SAVA 2010-2023/1-12/01/0 RF xy kgDM/m2/s * - 1 1 (((GFED_subgrid_coag 111 FINN_DAILY_NUMBER $ROOT/FINN/v2015-02/FINN_daily_$YYYY_0.25x0.25_with_num.nc number 2002-2016/1-12/1/0 RF xy unitless * - 1 1 )))GFED_subgrid_coag (((GFED_daily 111 GFED_FRAC_DAY $ROOT/GFED4/v2023-03/$YYYY/GFED4_dailyfrac_gen.025x025.$YYYY$MM.nc GFED_FRACDAY 2010-2023/1-12/1-31/0 RF xy 1 * - 1 1 )))GFED_daily (((GFED_3hourly 111 GFED_FRAC_3HOUR $ROOT/GFED4/v2023-03/$YYYY/GFED4_3hrfrac_gen.025x025.$YYYY$MM.nc GFED_FRAC3HR 2010-2023/1-12/1/0-23 RF xy 1 * - 1 1 )))GFED_3hourly )))GFED4 )))EMISSIONS ############################################################################### ### NON-EMISSIONS DATA (subsection of BASE EMISSIONS SECTION) ### ### Non-emissions data. The following fields are read through HEMCO but do ### not contain emissions data. The extension number is set to wildcard ### character denoting that these fields will not be considered for emission ### calculation. A given entry is only read if the assigned species name is ### an HEMCO species. ############################################################################### #============================================================================== # --- Time zones (offset to UTC) --- #============================================================================== * TIMEZONES $ROOT/TIMEZONES/v2024-02/timezones_vohra_2017_0.1x0.1.nc UTC_OFFSET 2017/1-12/1/0 C xy count * - 1 1 #============================================================================== # --- GEOS-Chem restart file --- #============================================================================== (((GC_RESTART * SPC_ ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 SpeciesRst_?ALL? $YYYY/$MM/$DD/$HH EFYO xyz 1 * - 1 1 * DELPDRY ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Met_DELPDRY $YYYY/$MM/$DD/$HH EY xyz 1 * - 1 1 * KPP_HVALUE ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Chem_KPPHvalue $YYYY/$MM/$DD/$HH EY xyz 1 * - 1 1 * WETDEP_N ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Chem_WetDepNitrogen $YYYY/$MM/$DD/$HH EY xy 1 * - 1 1 * DRYDEP_N ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Chem_DryDepNitrogen $YYYY/$MM/$DD/$HH EY xy 1 * - 1 1 * SO2_AFTERCHEM ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Chem_SO2AfterChem $YYYY/$MM/$DD/$HH EY xyz 1 * - 1 1 * H2O2_AFTERCHEM ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Chem_H2O2AfterChem $YYYY/$MM/$DD/$HH EY xyz 1 * - 1 1 * AEROH2O_SNA ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Chem_AeroH2OSNA $YYYY/$MM/$DD/$HH EY xyz 1 * - 1 1 * ORVCSESQ ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Chem_ORVCsesq $YYYY/$MM/$DD/$HH EY xyz 1 * - 1 1 * JOH ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Chem_JOH $YYYY/$MM/$DD/$HH EY xy 1 * - 1 1 * JNO2 ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Chem_JNO2 $YYYY/$MM/$DD/$HH EY xy 1 * - 1 1 * STATE_PSC ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Chem_StatePSC $YYYY/$MM/$DD/$HH EY xyz count * - 1 1 )))GC_RESTART (((CHEMISTRY_INPUT #============================================================================== # --- UV albedo, for photolysis (cf Hermann & Celarier, 1997) --- #============================================================================== (((UVALBEDO * UV_ALBEDO $ROOT/UVALBEDO/v2019-06/uvalbedo.geos.2x25.nc UVALBD 1985/1-12/1/0 C xy percent * - 1 1 )))UVALBEDO #============================================================================== # --- Stratospheric Bry data from the CCM model --- #============================================================================== (((CCM_STRAT_Bry * GEOSCCM_Br_DAY $ROOT/${RUNDIR_Bry_DIR}/GEOSCCM_Bry.2007$MM.day.nc BR 2007/1-12/1/0 C xyz pptv * - 60 1 * GEOSCCM_Br2_DAY $ROOT/${RUNDIR_Bry_DIR}/GEOSCCM_Bry.2007$MM.day.nc BRCL 2007/1-12/1/0 C xyz pptv * - 60 1 * GEOSCCM_BrO_DAY $ROOT/${RUNDIR_Bry_DIR}/GEOSCCM_Bry.2007$MM.day.nc BRO 2007/1-12/1/0 C xyz pptv * - 60 1 * GEOSCCM_BrNO3_DAY $ROOT/${RUNDIR_Bry_DIR}/GEOSCCM_Bry.2007$MM.day.nc BRONO2 2007/1-12/1/0 C xyz pptv * - 60 1 * GEOSCCM_HBr_DAY $ROOT/${RUNDIR_Bry_DIR}/GEOSCCM_Bry.2007$MM.day.nc HBR 2007/1-12/1/0 C xyz pptv * - 60 1 * GEOSCCM_HOBr_DAY $ROOT/${RUNDIR_Bry_DIR}/GEOSCCM_Bry.2007$MM.day.nc HOBR 2007/1-12/1/0 C xyz pptv * - 60 1 * GEOSCCM_Br_NIGHT $ROOT/${RUNDIR_Bry_DIR}/GEOSCCM_Bry.2007$MM.night.nc BR 2007/1-12/1/0 C xyz pptv * - 60 1 * GEOSCCM_Br2_NIGHT $ROOT/${RUNDIR_Bry_DIR}/GEOSCCM_Bry.2007$MM.night.nc BRCL 2007/1-12/1/0 C xyz pptv * - 60 1 * GEOSCCM_BrO_NIGHT $ROOT/${RUNDIR_Bry_DIR}/GEOSCCM_Bry.2007$MM.night.nc BRO 2007/1-12/1/0 C xyz pptv * - 60 1 * GEOSCCM_BrNO3_NIGHT $ROOT/${RUNDIR_Bry_DIR}/GEOSCCM_Bry.2007$MM.night.nc BRONO2 2007/1-12/1/0 C xyz pptv * - 60 1 * GEOSCCM_HBr_NIGHT $ROOT/${RUNDIR_Bry_DIR}/GEOSCCM_Bry.2007$MM.night.nc HBR 2007/1-12/1/0 C xyz pptv * - 60 1 * GEOSCCM_HOBr_NIGHT $ROOT/${RUNDIR_Bry_DIR}/GEOSCCM_Bry.2007$MM.night.nc HOBR 2007/1-12/1/0 C xyz pptv * - 60 1 )))CCM_STRAT_Bry #============================================================================== #--- Archived GMI OH concentrations --- #============================================================================== (((GMI_OH * GMI_OH $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.OH.geos5.2x25.nc species 2005/1-12/1/0 C xyz v/v * - 1 1 )))GMI_OH #============================================================================== #--- GMI chemistry: prod/loss rates --- # # Used for linearized mesospheric chemistry #============================================================================== (((GMI_PROD_LOSS * GMI_LOSS_A3O2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.A3O2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 A3O2 - 1 1 * GMI_PROD_A3O2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.A3O2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s A3O2 - 1 1 * GMI_LOSS_ACET $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ACET.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ACET - 1 1 * GMI_PROD_ACET $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ACET.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ACET - 1 1 * GMI_LOSS_ACTA $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ACTA.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ACTA - 1 1 * GMI_PROD_ACTA $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ACTA.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ACTA - 1 1 * GMI_LOSS_ALD2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ALD2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ALD2 - 1 1 * GMI_PROD_ALD2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ALD2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ALD2 - 1 1 * GMI_LOSS_ALK4 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ALK4.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ALK4 - 1 1 * GMI_PROD_ALK4 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ALK4.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ALK4 - 1 1 * GMI_LOSS_ATO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ATO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ATO2 - 1 1 * GMI_PROD_ATO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ATO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ATO2 - 1 1 * GMI_LOSS_B3O2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.B3O2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 B3O2 - 1 1 * GMI_PROD_B3O2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.B3O2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s B3O2 - 1 1 #* GMI_LOSS_Br $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.Br.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 Br - 1 1 #* GMI_PROD_Br $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.Br.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s Br - 1 1 #* GMI_LOSS_BrCl $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.BrCl.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 BrCl - 1 1 #* GMI_PROD_BrCl $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.BrCl.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s BrCl - 1 1 #* GMI_LOSS_BrO $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.BrO.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 BrO - 1 1 #* GMI_PROD_BrO $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.BrO.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s BrO - 1 1 #* GMI_LOSS_BrNO3 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.BrONO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 BrNO3 - 1 1 #* GMI_PROD_BrNO3 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.BrONO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s BrNO3 - 1 1 * GMI_LOSS_C2H6 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.C2H6.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 C2H6 - 1 1 * GMI_PROD_C2H6 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.C2H6.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s C2H6 - 1 1 * GMI_LOSS_C3H8 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.C3H8.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 C3H8 - 1 1 * GMI_PROD_C3H8 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.C3H8.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s C3H8 - 1 1 * GMI_LOSS_CCl4 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CCl4.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CCl4 - 1 1 * GMI_PROD_CCl4 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CCl4.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CCl4 - 1 1 #* GMI_LOSS_H1202 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CF2Br2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 H1202 - 1 1 #* GMI_PROD_H1202 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CF2Br2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s H1202 - 1 1 * GMI_LOSS_CFC12 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CF2Cl2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CFC12 - 1 1 * GMI_PROD_CFC12 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CF2Cl2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CFC12 - 1 1 * GMI_LOSS_H1211 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CF2ClBr.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 H1211 - 1 1 * GMI_PROD_H1211 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CF2ClBr.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s H1211 - 1 1 #* GMI_LOSS_H1311 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CF3Br.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 H1311 - 1 1 #* GMI_PROD_H1311 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CF3Br.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s H1311 - 1 1 * GMI_LOSS_CFC113 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CFC113.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CFC113 - 1 1 * GMI_PROD_CFC113 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CFC113.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CFC113 - 1 1 * GMI_LOSS_CFC114 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CFC114.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CFC114 - 1 1 * GMI_PROD_CFC114 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CFC114.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CFC114 - 1 1 * GMI_LOSS_CFC115 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CFC115.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CFC115 - 1 1 * GMI_PROD_CFC115 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CFC115.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CFC115 - 1 1 * GMI_LOSS_CFC11 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CFCl3.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CFC11 - 1 1 * GMI_PROD_CFC11 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CFCl3.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CFC11 - 1 1 * GMI_LOSS_CH2O $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CH2O.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CH2O - 1 1 * GMI_PROD_CH2O $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CH2O.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CH2O - 1 1 #* GMI_LOSS_CH3Br $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CH3Br.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CH3Br - 1 1 #* GMI_PROD_CH3Br $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CH3Br.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CH3Br - 1 1 * GMI_LOSS_CH3CCl3 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CH3CCl3.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CH3CCl3 - 1 1 * GMI_PROD_CH3CCl3 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CH3CCl3.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CH3CCl3 - 1 1 * GMI_LOSS_CH3Cl $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CH3Cl.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CH3Cl - 1 1 * GMI_PROD_CH3Cl $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CH3Cl.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CH3Cl - 1 1 * GMI_LOSS_CH4 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CH4.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CH4 - 1 1 * GMI_PROD_CH4 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CH4.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CH4 - 1 1 * GMI_LOSS_CO $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CO.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CO - 1 1 * GMI_PROD_CO $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.CO.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CO - 1 1 * GMI_LOSS_Cl $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.Cl.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 Cl - 1 1 * GMI_PROD_Cl $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.Cl.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s Cl - 1 1 * GMI_LOSS_Cl2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.Cl2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 Cl2 - 1 1 * GMI_PROD_Cl2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.Cl2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s Cl2 - 1 1 * GMI_LOSS_Cl2O2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.Cl2O2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 Cl2O2 - 1 1 * GMI_PROD_Cl2O2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.Cl2O2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s Cl2O2 - 1 1 * GMI_LOSS_ClO $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ClO.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ClO - 1 1 * GMI_PROD_ClO $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ClO.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ClO - 1 1 * GMI_LOSS_ClONO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ClONO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ClONO2 - 1 1 * GMI_PROD_ClONO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ClONO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ClONO2 - 1 1 * GMI_LOSS_EOH $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.EOH.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 EOH - 1 1 * GMI_PROD_EOH $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.EOH.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s EOH - 1 1 * GMI_LOSS_ETO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ETO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ETO2 - 1 1 * GMI_PROD_ETO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ETO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ETO2 - 1 1 * GMI_LOSS_ETP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ETP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ETP - 1 1 * GMI_PROD_ETP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ETP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ETP - 1 1 * GMI_LOSS_GCO3 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.GCO3.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 GCO3 - 1 1 * GMI_PROD_GCO3 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.GCO3.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s GCO3 - 1 1 * GMI_LOSS_GLYC $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.GLYC.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 GLYC - 1 1 * GMI_PROD_GLYC $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.GLYC.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s GLYC - 1 1 * GMI_LOSS_GLYX $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.GLYX.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 GLYX - 1 1 * GMI_PROD_GLYX $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.GLYX.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s GLYX - 1 1 * GMI_LOSS_GP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.GP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 GP - 1 1 * GMI_PROD_GP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.GP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s GP - 1 1 * GMI_LOSS_GPAN $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.GPAN.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 GPAN - 1 1 * GMI_PROD_GPAN $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.GPAN.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s GPAN - 1 1 * GMI_LOSS_H $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.H.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 H - 1 1 * GMI_PROD_H $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.H.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s H - 1 1 * GMI_LOSS_H2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.H2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 H2 - 1 1 * GMI_PROD_H2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.H2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s H2 - 1 1 * GMI_LOSS_H2402 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.H2402.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 H2402 - 1 1 * GMI_PROD_H2402 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.H2402.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s H2402 - 1 1 * GMI_LOSS_H2O $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.H2O.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 H2O - 1 1 * GMI_PROD_H2O $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.H2O.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s H2O - 1 1 * GMI_LOSS_H2O2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.H2O2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 H2O2 - 1 1 * GMI_PROD_H2O2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.H2O2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s H2O2 - 1 1 * GMI_LOSS_HAC $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HAC.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HAC - 1 1 * GMI_PROD_HAC $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HAC.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HAC - 1 1 #* GMI_LOSS_HBr $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HBr.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HBr - 1 1 #* GMI_PROD_HBr $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HBr.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HBr - 1 1 * GMI_LOSS_HCFC141b $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HCFC141b.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HCFC141b - 1 1 * GMI_PROD_HCFC141b $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HCFC141b.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HCFC141b - 1 1 * GMI_LOSS_HCFC142b $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HCFC142b.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HCFC142b - 1 1 * GMI_PROD_HCFC142b $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HCFC142b.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HCFC142b - 1 1 * GMI_LOSS_HCFC22 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HCFC22.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HCFC22 - 1 1 * GMI_PROD_HCFC22 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HCFC22.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HCFC22 - 1 1 * GMI_LOSS_HCOOH $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HCOOH.geos5.2x25.20170108.nc loss 2005/1-12/1/0 C xyz s-1 HCOOH - 1 1 * GMI_PROD_HCOOH $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HCOOH.geos5.2x25.20170108.nc prod 2005/1-12/1/0 C xyz v/v/s HCOOH - 1 1 * GMI_LOSS_HCl $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HCl.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HCl - 1 1 * GMI_PROD_HCl $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HCl.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HCl - 1 1 * GMI_LOSS_HNO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HNO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HNO2 - 1 1 * GMI_PROD_HNO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HNO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HNO2 - 1 1 * GMI_LOSS_HNO3 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HNO3.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HNO3 - 1 1 * GMI_PROD_HNO3 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HNO3.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HNO3 - 1 1 * GMI_LOSS_HNO4 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HNO4.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HNO4 - 1 1 * GMI_PROD_HNO4 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HNO4.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HNO4 - 1 1 * GMI_LOSS_HO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HO2 - 1 1 * GMI_PROD_HO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HO2 - 1 1 #* GMI_LOSS_HOBr $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HOBr.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HOBr - 1 1 #* GMI_PROD_HOBr $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HOBr.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HOBr - 1 1 * GMI_LOSS_HOCl $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HOCl.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HOCl - 1 1 * GMI_PROD_HOCl $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.HOCl.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HOCl - 1 1 * GMI_LOSS_IALD $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.IALD.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 IALD - 1 1 * GMI_PROD_IALD $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.IALD.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s IALD - 1 1 * GMI_LOSS_IAO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.IAO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 IAO2 - 1 1 * GMI_PROD_IAO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.IAO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s IAO2 - 1 1 * GMI_LOSS_IAP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.IAP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 IAP - 1 1 * GMI_PROD_IAP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.IAP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s IAP - 1 1 * GMI_LOSS_INO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.INO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 INO2 - 1 1 * GMI_PROD_INO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.INO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s INO2 - 1 1 * GMI_LOSS_INPN $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.INPN.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 INPN - 1 1 * GMI_PROD_INPN $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.INPN.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s INPN - 1 1 * GMI_LOSS_ISN1 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ISN1.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ISN1 - 1 1 * GMI_PROD_ISN1 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ISN1.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ISN1 - 1 1 * GMI_LOSS_ISNP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ISNP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ISNP - 1 1 * GMI_PROD_ISNP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ISNP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ISNP - 1 1 * GMI_LOSS_ISOP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ISOP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ISOP - 1 1 * GMI_PROD_ISOP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ISOP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ISOP - 1 1 * GMI_LOSS_KO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.KO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 KO2 - 1 1 * GMI_PROD_KO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.KO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s KO2 - 1 1 * GMI_LOSS_MACR $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MACR.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MACR - 1 1 * GMI_PROD_MACR $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MACR.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MACR - 1 1 * GMI_LOSS_MAN2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MAN2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MAN2 - 1 1 * GMI_PROD_MAN2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MAN2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MAN2 - 1 1 * GMI_LOSS_MAO3 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MAO3.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MAO3 - 1 1 * GMI_PROD_MAO3 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MAO3.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MAO3 - 1 1 * GMI_LOSS_MAOP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MAOP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MAOP - 1 1 * GMI_PROD_MAOP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MAOP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MAOP - 1 1 * GMI_LOSS_MAP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MAP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MAP - 1 1 * GMI_PROD_MAP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MAP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MAP - 1 1 * GMI_LOSS_MCO3 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MCO3.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MCO3 - 1 1 * GMI_PROD_MCO3 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MCO3.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MCO3 - 1 1 * GMI_LOSS_MEK $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MEK.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MEK - 1 1 * GMI_PROD_MEK $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MEK.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MEK - 1 1 * GMI_LOSS_MGLY $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MGLY.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MGLY - 1 1 * GMI_PROD_MGLY $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MGLY.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MGLY - 1 1 * GMI_LOSS_MO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MO2 - 1 1 * GMI_PROD_MO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MO2 - 1 1 * GMI_LOSS_MOH $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MOH.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MOH - 1 1 * GMI_PROD_MOH $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MOH.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MOH - 1 1 * GMI_LOSS_MP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MP - 1 1 * GMI_PROD_MP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MP - 1 1 * GMI_LOSS_MRO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MRO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MRO2 - 1 1 * GMI_PROD_MRO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MRO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MRO2 - 1 1 * GMI_LOSS_MRP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MRP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MRP - 1 1 * GMI_PROD_MRP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MRP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MRP - 1 1 * GMI_LOSS_MVK $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MVK.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MVK - 1 1 * GMI_PROD_MVK $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MVK.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MVK - 1 1 * GMI_LOSS_MVN2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MVN2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MVN2 - 1 1 * GMI_PROD_MVN2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.MVN2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MVN2 - 1 1 * GMI_LOSS_N $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.N.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 N - 1 1 * GMI_PROD_N $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.N.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s N - 1 1 * GMI_LOSS_N2O $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.N2O.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 N2O - 1 1 * GMI_PROD_N2O $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.N2O.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s N2O - 1 1 * GMI_LOSS_N2O5 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.N2O5.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 N2O5 - 1 1 * GMI_PROD_N2O5 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.N2O5.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s N2O5 - 1 1 * GMI_LOSS_NO $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.NO.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 NO - 1 1 * GMI_PROD_NO $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.NO.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s NO - 1 1 * GMI_LOSS_NO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.NO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 NO2 - 1 1 * GMI_PROD_NO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.NO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s NO2 - 1 1 * GMI_LOSS_NO3 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.NO3.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 NO3 - 1 1 * GMI_PROD_NO3 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.NO3.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s NO3 - 1 1 * GMI_LOSS_NOx $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.NOx.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 NOx - 1 1 * GMI_PROD_NOx $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.NOx.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s NOx - 1 1 * GMI_LOSS_O $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.O.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 O - 1 1 * GMI_PROD_O $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.O.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s O - 1 1 * GMI_LOSS_O1D $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.O1D.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 O1D - 1 1 * GMI_PROD_O1D $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.O1D.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s O1D - 1 1 * GMI_LOSS_O3 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.O3.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 O3 - 1 1 * GMI_PROD_O3 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.O3.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s O3 - 1 1 * GMI_LOSS_OClO $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.OClO.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 OClO - 1 1 * GMI_PROD_OClO $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.OClO.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s OClO - 1 1 * GMI_LOSS_OH $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.OH.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 OH - 1 1 * GMI_PROD_OH $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.OH.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s OH - 1 1 * GMI_LOSS_Ox $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.Ox.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 Ox - 1 1 * GMI_PROD_Ox $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.Ox.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s Ox - 1 1 * GMI_LOSS_PAN $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.PAN.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 PAN - 1 1 * GMI_PROD_PAN $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.PAN.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s PAN - 1 1 * GMI_LOSS_NPMN $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.NPMN.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 NPMN - 1 1 * GMI_PROD_NPMN $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.NPMN.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s NPMN - 1 1 * GMI_LOSS_IPMN $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.IPMN.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 IPMN - 1 1 * GMI_PROD_IPMN $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.IPMN.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s IPMN - 1 1 * GMI_LOSS_PO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.PO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 PO2 - 1 1 * GMI_PROD_PO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.PO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s PO2 - 1 1 * GMI_LOSS_PP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.PP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 PP - 1 1 * GMI_PROD_PP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.PP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s PP - 1 1 * GMI_LOSS_PPN $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.PPN.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 PPN - 1 1 * GMI_PROD_PPN $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.PPN.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s PPN - 1 1 * GMI_LOSS_PRN1 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.PRN1.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 PRN1 - 1 1 * GMI_PROD_PRN1 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.PRN1.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s PRN1 - 1 1 * GMI_LOSS_PRPE $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.PRPE.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 PRPE - 1 1 * GMI_PROD_PRPE $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.PRPE.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s PRPE - 1 1 * GMI_LOSS_PRPN $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.PRPN.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 PRPN - 1 1 * GMI_PROD_PRPN $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.PRPN.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s PRPN - 1 1 * GMI_LOSS_R4N1 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.R4N1.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 R4N1 - 1 1 * GMI_PROD_R4N1 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.R4N1.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s R4N1 - 1 1 * GMI_LOSS_R4N2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.R4N2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 R4N2 - 1 1 * GMI_PROD_R4N2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.R4N2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s R4N2 - 1 1 * GMI_LOSS_R4O2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.R4O2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 R4O2 - 1 1 * GMI_PROD_R4O2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.R4O2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s R4O2 - 1 1 * GMI_LOSS_R4P $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.R4P.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 R4P - 1 1 * GMI_PROD_R4P $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.R4P.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s R4P - 1 1 * GMI_LOSS_RA3P $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.RA3P.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 RA3P - 1 1 * GMI_PROD_RA3P $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.RA3P.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s RA3P - 1 1 * GMI_LOSS_RB3P $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.RB3P.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 RB3P - 1 1 * GMI_PROD_RB3P $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.RB3P.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s RB3P - 1 1 * GMI_LOSS_RCHO $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.RCHO.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 RCHO - 1 1 * GMI_PROD_RCHO $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.RCHO.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s RCHO - 1 1 * GMI_LOSS_RCO3 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.RCO3.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 RCO3 - 1 1 * GMI_PROD_RCO3 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.RCO3.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s RCO3 - 1 1 * GMI_LOSS_RCOOH $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.RCOOH.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 RCOOH - 1 1 * GMI_PROD_RCOOH $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.RCOOH.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s RCOOH - 1 1 * GMI_LOSS_RIO1 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.RIO1.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 RIO1 - 1 1 * GMI_PROD_RIO1 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.RIO1.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s RIO1 - 1 1 * GMI_LOSS_RIPA $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.RIPA.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 RIPA - 1 1 * GMI_PROD_RIPA $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.RIPA.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s RIPA - 1 1 * GMI_LOSS_RIPB $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.RIPB.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 RIPB - 1 1 * GMI_PROD_RIPB $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.RIPB.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s RIPB - 1 1 * GMI_LOSS_RIPD $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.RIPD.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 RIPD - 1 1 * GMI_PROD_RIPD $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.RIPD.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s RIPD - 1 1 * GMI_LOSS_ROH $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ROH.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ROH - 1 1 * GMI_PROD_ROH $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.ROH.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ROH - 1 1 * GMI_LOSS_RP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.RP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 RP - 1 1 * GMI_PROD_RP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.RP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s RP - 1 1 * GMI_LOSS_VRO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.VRO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 VRO2 - 1 1 * GMI_PROD_VRO2 $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.VRO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s VRO2 - 1 1 * GMI_LOSS_VRP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.VRP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 VRP - 1 1 * GMI_PROD_VRP $ROOT/${RUNDIR_GMI_DIR}/gmi.clim.VRP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s VRP - 1 1 )))GMI_PROD_LOSS #============================================================================== # --- Spatially varying OM/OC --- #============================================================================== (((OMOC_RATIO * OMOC_DJF $ROOT/OMOC/v2018-01/OMOC.DJF.01x01.nc OMOC 2010/1/1/0 C xy 1 * - 1 1 * OMOC_MAM $ROOT/OMOC/v2018-01/OMOC.MAM.01x01.nc OMOC 2010/1/1/0 C xy 1 * - 1 1 * OMOC_JJA $ROOT/OMOC/v2018-01/OMOC.JJA.01x01.nc OMOC 2010/1/1/0 C xy 1 * - 1 1 * OMOC_SON $ROOT/OMOC/v2018-01/OMOC.SON.01x01.nc OMOC 2010/1/1/0 C xy 1 * - 1 1 )))OMOC_RATIO )))CHEMISTRY_INPUT #============================================================================== # --- NOAA GMD monthly mean surface CH4 --- #============================================================================== (((GMD_SFC_CH4 * NOAA_GMD_CH4 $ROOT/NOAA_GMD/v2023-10/monthly.gridded.surface.methane.1975-2022.1x1.nc SFC_CH4 1975-2022/1-12/1/0 RY xy ppbv * - 1 1 )))GMD_SFC_CH4 #============================================================================== # --- CMIP6 monthly mean surface CH4 --- # NOTE: This is only used if NOAA data is unavailable (pre 1979) #============================================================================== (((CMIP6_SFC_CH4 * CMIP6_Sfc_CH4 $ROOT/CMIP6/v2020-03/2x2.5/CMIP6_GHG_surface_VMR_$YYYY.2x25.nc CH4 1750-1978/1-12/1/0 EY xy ppbv * - 1 1 )))CMIP6_SFC_CH4 #============================================================================== # --- Olson land map masks --- #============================================================================== (((OLSON_LANDMAP * LANDTYPE00 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE00 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE01 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE01 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE02 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE02 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE03 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE03 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE04 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE04 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE05 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE05 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE06 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE06 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE07 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE07 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE08 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE08 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE09 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE09 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE10 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE10 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE11 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE11 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE12 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE12 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE13 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE13 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE14 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE14 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE15 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE15 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE16 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE16 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE17 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE17 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE18 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE18 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE19 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE19 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE20 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE20 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE21 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE21 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE22 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE22 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE23 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE23 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE24 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE24 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE25 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE25 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE26 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE26 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE27 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE27 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE28 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE28 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE29 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE29 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE30 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE30 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE31 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE31 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE32 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE32 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE33 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE33 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE34 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE34 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE35 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE35 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE36 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE36 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE37 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE37 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE38 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE38 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE39 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE39 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE40 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE40 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE41 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE41 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE42 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE42 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE43 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE43 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE44 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE44 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE45 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE45 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE46 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE46 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE47 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE47 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE48 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE48 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE49 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE49 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE50 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE50 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE51 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE51 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE52 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE52 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE53 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE53 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE54 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE54 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE55 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE55 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE56 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE56 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE57 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE57 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE58 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE58 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE59 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE59 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE60 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE60 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE61 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE61 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE62 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE62 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE63 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE63 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE64 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE64 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE65 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE65 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE66 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE66 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE67 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE67 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE68 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE68 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE69 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE69 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE70 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE70 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE71 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE71 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE72 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE72 1985/1/1/0 C xy 1 * - 1 1 )))OLSON_LANDMAP #============================================================================== # --- Yuan processed MODIS leaf area index data --- # # Source: Yuan et al 2011, doi:10.1016/j.rse.2011.01.001 # http://globalchange.bnu.edu.cn/research/lai # # NOTES: # (1) LAI data corresponding to each Olson land type is stored in # separate netCDF variables (XLAI00, XLAI01, ... XLAI72). # The "XLAI" denotes that the files are prepared in this way. # (2) Units are "cm2 leaf/cm2 grid box". # (3) Data is timestamped every 8 days, starting from the 2nd of the month. #============================================================================== (((YUAN_MODIS_LAI * XLAI00 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI00 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI01 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI01 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI02 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI02 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI03 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI03 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI04 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI04 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI05 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI05 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI06 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI06 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI07 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI07 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI08 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI08 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI09 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI09 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI10 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI10 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI11 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI11 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI12 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI12 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI13 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI13 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI14 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI14 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI15 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI15 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI16 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI16 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI17 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI17 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI18 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI18 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI19 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI19 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI20 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI20 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI21 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI21 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI22 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI22 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI23 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI23 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI24 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI24 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI25 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI25 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI26 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI26 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI27 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI27 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI28 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI28 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI29 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI29 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI30 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI30 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI31 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI31 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI32 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI32 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI33 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI33 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI34 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI34 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI35 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI35 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI36 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI36 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI37 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI37 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI38 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI38 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI39 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI39 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI40 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI40 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI41 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI41 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI42 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI42 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI43 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI43 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI44 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI44 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI45 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI45 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI46 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI46 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI47 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI47 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI48 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI48 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI49 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI49 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI50 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI50 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI51 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI51 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI52 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI52 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI53 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI53 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI54 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI54 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI55 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI55 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI56 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI56 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI57 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI57 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI58 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI58 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI59 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI59 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI60 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI60 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI61 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI61 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI62 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI62 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI63 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI63 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI64 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI64 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI65 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI65 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI66 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI66 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI67 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI67 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI68 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI68 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI69 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI69 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI70 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI70 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI71 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI71 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI72 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI72 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 )))YUAN_MODIS_LAI #============================================================================== # --- Inputs for the RRTMG radiative transfer model --- # # NOTE: The 2 x 2.5 albedo fields and emissivity fields will produce # differences at the level of numerical noise when comparing output to # simulations from prior versions (esp. when running at 4 x 5 resolution). # You might see larger differences w/r/t prior verisons for a few grid boxes # along the coastline of Antarctica, where the difference in resolution # and regridding will be more apparent in the sharp transition from ice to # ocean. If this is a problem, you can use the data files at 4x5 resolution # for 4x5 RRTMG simulations. # # ALSO NOTE: The algorithm that HEMCO uses to select each time slice is # likely different than what was implemented when reading the old bpch # data from disk. This can also cause differences when comparing to # prior versions. #============================================================================== (((RRTMG * MODIS_ALBDFNIR $ROOT/RRTMG/v2018-11/modis_surf_albedo.2x25.nc ALBDFNIR 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_ALBDFVIS $ROOT/RRTMG/v2018-11/modis_surf_albedo.2x25.nc ALBDFVIS 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_ALBDRNIR $ROOT/RRTMG/v2018-11/modis_surf_albedo.2x25.nc ALBDRNIR 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_ALBDRVIS $ROOT/RRTMG/v2018-11/modis_surf_albedo.2x25.nc ALBDRVIS 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_01 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band01 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_02 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band02 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_03 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band03 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_04 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band04 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_05 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band05 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_06 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band06 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_07 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band07 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_08 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band08 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_09 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band09 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_10 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band10 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_11 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band11 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_12 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band12 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_13 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band13 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_14 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band14 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_15 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band15 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_16 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band16 2002/1-12/1-31/0 C xy 1 * - 1 1 ${RUNDIR_TES_CLIM_CCL4} ${RUNDIR_TES_CLIM_CFC11} ${RUNDIR_TES_CLIM_CFC12} ${RUNDIR_TES_CLIM_CFC22} ${RUNDIR_TES_CLIM_CH4} ${RUNDIR_TES_CLIM_N2O} )))RRTMG (((SfcVMR #============================================================================== # --- CMIP6 files --- # # Use core CMIP6 observationally constrained data from Meinshausen et al. (2017) GMD #============================================================================== * SfcVMR_CH3Cl $ROOT/CMIP6/v2020-03/2x2.5/CMIP6_GHG_surface_VMR_$YYYY.2x25.nc CH3Cl 1750-2014/1-12/1/0 C xy ppbv * 801 1 1 * SfcVMR_CH2Cl2 $ROOT/CMIP6/v2020-03/2x2.5/CMIP6_GHG_surface_VMR_$YYYY.2x25.nc CH2Cl2 1750-2014/1-12/1/0 C xy ppbv * 801 1 1 * SfcVMR_CHCl3 $ROOT/CMIP6/v2020-03/2x2.5/CMIP6_GHG_surface_VMR_$YYYY.2x25.nc CHCl3 1750-2014/1-12/1/0 C xy ppbv * 801 1 1 * SfcVMR_CH3Br $ROOT/CMIP6/v2020-03/2x2.5/CMIP6_GHG_surface_VMR_$YYYY.2x25.nc CH3Br 1750-2014/1-12/1/0 C xy ppbv * 801 1 1 #============================================================================== # --- WMO-2018 files (GMI) --- #============================================================================== * SfcVMR_CCl4 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CCl4 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_CFC113 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CFC113 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_CFC114 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CFC114 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_CFC115 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CFC115 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_CFC11 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CFC11 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_CFC12 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CFC12 1960-2100/1-12/1/0 C xy v/v * 802 1 1 #* SfcVMR_CH3Br $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CH3Br 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_CH3CCl3 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CH3CCl3 1960-2100/1-12/1/0 C xy v/v * 802 1 1 #* SfcVMR_CH3Cl $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CH3Cl 1960-2100/1-12/1/0 C xy v/v * 802 1 1 #* SfcVMR_CH4 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CH4 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_H1211 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc H1211 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_H1301 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc H1301 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_H2402 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc C2BR2F4 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_HCFC141b $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc HCFC141b 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_HCFC142b $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc HCFC142b 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_HCFC22 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc HCFC22 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_N2O $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc N2O 1960-2100/1-12/1/0 C xy v/v * 802 1 1 #============================================================================== # --- Dummy files with a single surface concentration (for OCS and H2) --- #============================================================================== * SfcVMR_OCS $ROOT/SfcFix/v2019-12/surface_VMR_OCS.2x25.nc OCS 1985/1/1/0 C xy ppbv * - 1 1 * SfcVMR_H2 $ROOT/SfcFix/v2019-12/surface_VMR_H2.2x25.nc H2 1985/1/1/0 C xy ppbv * - 1 1 )))SfcVMR (((CMIP6_SFC_BC #============================================================================== # --- CMIP6 surface boundary conditions for 1750-2100 --- #============================================================================== # Commented-out tracers do not exist in GEOS-Chem yet # * SfcVMR_C2F6 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 C2F6 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_C3F8 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 C3F8 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_C4F10 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 C4F10 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_C5F12 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 C5F12 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_C6F14 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 C6F14 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_C7F16 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 C7F16 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_C8F18 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 C8F18 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_CC4F8 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CC4F8 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 * SfcVMR_CCl4 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CCl4 1750-2100/1-12/1/0 RY xy v/v CCl4 802 1 1 # * SfcVMR_CF4 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CF4 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 * SfcVMR_CFC11 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CFC11 1750-2100/1-12/1/0 RY xy v/v CFC11 802 1 1 * SfcVMR_CFC113 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CFC113 1750-2100/1-12/1/0 RY xy v/v CFC113 802 1 1 * SfcVMR_CFC114 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CFC114 1750-2100/1-12/1/0 RY xy v/v CFC114 802 1 1 * SfcVMR_CFC115 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CFC115 1750-2100/1-12/1/0 RY xy v/v CFC115 802 1 1 * SfcVMR_CFC12 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CFC12 1750-2100/1-12/1/0 RY xy v/v CFC12 802 1 1 * SfcVMR_CH2Cl2 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CH2Cl2 1750-2100/1-12/1/0 RY xy v/v CH2Cl2 802 1 1 * SfcVMR_CH3Br $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CH3Br 1750-2100/1-12/1/0 RY xy v/v CH3Br 802 1 1 * SfcVMR_CH3CCl3 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CH3CCl3 1750-2100/1-12/1/0 RY xy v/v CH3CCl3 802 1 1 * SfcVMR_CH3Cl $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CH3Cl 1750-2100/1-12/1/0 RY xy v/v CH3Cl 802 1 1 * SfcVMR_CH4 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CH4 1750-2100/1-12/1/0 RY xy v/v CH4 802 1 1 * SfcVMR_CHCl3 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CHCl3 1750-2100/1-12/1/0 RY xy v/v CHCl3 802 1 1 # * SfcVMR_CO2 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CO2 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 * SfcVMR_H1211 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 H1211 1750-2100/1-12/1/0 RY xy v/v H1211 802 1 1 * SfcVMR_H1301 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 H1301 1750-2100/1-12/1/0 RY xy v/v H1301 802 1 1 * SfcVMR_H2402 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 H2402 1750-2100/1-12/1/0 RY xy v/v H2402 802 1 1 # SFC_BC_HCFC123 <- exists in UCX with lifetime of 2 years but has no surface boundary conditions; 200-600 pptv in https://doi.org/10.1021/es802308m * SfcVMR_HCFC141b $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HCFC141b 1750-2100/1-12/1/0 RY xy v/v HCFC141b 802 1 1 * SfcVMR_HCFC142b $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HCFC142b 1750-2100/1-12/1/0 RY xy v/v HCFC142b 802 1 1 * SfcVMR_HCFC22 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HCFC22 1750-2100/1-12/1/0 RY xy v/v HCFC22 802 1 1 # * SfcVMR_HFC125 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HFC125 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_HFC134a $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HFC134a 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_HFC143a $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HFC143a 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_HFC152a $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HFC152a 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_HFC227ea $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HFC227ea 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_HFC23 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HFC23 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_HFC236fa $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HFC236fa 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_HFC245fa $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HFC245fa 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_HFC32 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HFC32 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_HFC365mfc $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HFC365mfc 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_HFC4310mee $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HFC4310mee 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 * SfcVMR_N2O $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 N2O 1750-2100/1-12/1/0 RY xy v/v N2O 802 1 1 # * SfcVMR_NF3 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 NF3 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_SF6 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 SF6 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_SO2F2 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 SO2F2 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 #============================================================================== # -- Not part of CMIP6 experimental design; use GEOS-Chem defaults #============================================================================== * SfcVMR_OCS $ROOT/SfcFix/v2019-12/surface_VMR_OCS.2x25.nc OCS 1985/1/1/0 C xy ppbv * - 1 1 * SfcVMR_H2 $ROOT/SfcFix/v2019-12/surface_VMR_H2.2x25.nc H2 1985/1/1/0 C xy ppbv * - 1 1 )))CMIP6_SFC_BC #============================================================================== # --- Oceanic ozone deposition --- # # Sea surface iodide concentration and salinity to be read in for the # new calculations for ozone deposition to the ocean #============================================================================== (((OCEAN_O3_DRYDEP * surf_salinity $ROOT/OCEAN_O3_DRYDEP/v2020-02/WOA_2013_salinity.nc s_mn 1985/1/1/0 C xy 1 * - 1 1 * surf_iodide $ROOT/OCEAN_O3_DRYDEP/v2020-02/Oi_prj_predicted_iodide_0.125x0.125_No_Skagerrak_Just_Ensemble.nc Ensemble_Monthly_mean 1970/1-12/1/0 C xy 1 * - 1 1 )))OCEAN_O3_DRYDEP ### END SECTION BASE EMISSIONS ### ############################################################################### ### BEGIN SECTION SCALE FACTORS ############################################################################### # ScalID Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Oper (((EMISSIONS #============================================================================== # --- Annual scale factors --- #============================================================================== (((XIAO_C3H8 6 LIQFUEL_THISYR $ROOT/AnnualScalar/v2014-07/AnnualScalar.geos.1x1.nc COscalar 1985-2010/1/1/0 C xy 1 1 7 LIQFUEL_1985 $ROOT/AnnualScalar/v2014-07/AnnualScalar.geos.1x1.nc COscalar 1985/1/1/0 C xy 1 -1 )))XIAO_C3H8 #============================================================================== # --- Diurnal scale factors --- #============================================================================== 25 EDGAR_TODNOX $ROOT/EDGARv42/v2015-02/NO/EDGAR_hourly_NOxScal.nc NOXscale 2000/1/1/* C xy unitless 1 26 GEIA_TOD_FOSSIL 0.45/0.45/0.6/0.6/0.6/0.6/1.45/1.45/1.45/1.45/1.4/1.4/1.4/1.4/1.45/1.45/1.45/1.45/0.65/0.65/0.65/0.65/0.45/0.45 - - - xy unitless 1 #============================================================================== # Diurnal variablity of Chinese power plants from Liu et al. (EST, 2019) #============================================================================== 33 PKU_pow_NOx 0.94/0.93/0.93/0.92/0.93/0.96/0.98/0.99/0.98/1.00/1.05/1.03/1.01/1.04/1.05/1.05/1.07/1.06/1.05/1.05/1.03/1.01/0.99/0.96 - - - xy unitless 1 1009 34 PKU_pow_SO2 0.92/0.91/0.90/0.89/0.90/0.93/0.97/0.98/0.99/1.02/1.07/1.04/1.03/1.06/1.06/1.07/1.10/1.10/1.06/1.05/1.03/1.01/0.99/0.93 - - - xy unitless 1 1009 35 PKU_pow_PM_BC_POC_VOC_CO 0.95/0.93/0.92/0.91/0.90/0.93/0.97/0.97/0.99/1.03/1.04/1.03/1.02/1.03/1.05/1.07/1.07/1.07/1.06/1.04/1.03/1.02/1.00/0.97 - - - xy unitless 1 1009 # These scale factors undo (Oper=-1) the global diurnal scale factors over China (Mask=1009) 36 EDGAR_TODNOX_UNDO $ROOT/EDGARv42/v2015-02/NO/EDGAR_hourly_NOxScal.nc NOXscale 2000/1/1/* C xy unitless -1 1009 37 GEIA_TOD_FOSSIL_UNDO 0.45/0.45/0.6/0.6/0.6/0.6/1.45/1.45/1.45/1.45/1.4/1.4/1.4/1.4/1.45/1.45/1.45/1.45/0.65/0.65/0.65/0.65/0.45/0.45 - - - xy unitless -1 1009 #============================================================================== # --- Day-of-week scale factors --- # ==> data is Sun/Mon/.../Sat #============================================================================== (((XIAO_C3H8 22 GEIA_DOW_HC 0.671/1.1102/1.1102/1.1102/1.1102/1.1102/0.768 - - - xy unitless 1 )))XIAO_C3H8 #============================================================================== # --- Seasonal scale factors --- #============================================================================== (((DICE_Africa # from GEIA: 30 GEIA_SEASON_NOX $ROOT/GEIA/v2014-07/GEIA_monthscal.generic.1x1.nc NOXrat 1985/1-12/1/0 C xy unitless 1 31 GEIA_SEASON_SO2 $ROOT/GEIA/v2014-07/GEIA_monthscal.generic.1x1.nc SO2rat 1985/1-12/1/0 C xy unitless 1 )))DICE_Africa #============================================================================== # --- For Bromocarbons --- #============================================================================== (((LIANG_BROMOCARB 39 BROMOCARB_SEASON $ROOT/BROMINE/v2015-02/BromoCarb_Season.nc CHXBRY_scale 2000/1-12/1/0 C xy unitless 1 )))LIANG_BROMOCARB #============================================================================== # --- Scale factors used for species conversions --- #============================================================================== # Units carbon to species conversions # Factor = # carbon atoms * MW carbon) / MW species 40 CtoACET MATH:58.09/(3.0*12.0) - - - xy unitless 1 41 CtoALD2 MATH:44.06/(2.0*12.0) - - - xy unitless 1 42 CtoALK4 MATH:58.12/(4.3*12.0) - - - xy unitless 1 43 CtoBENZ MATH:78.12/(6.0*12.0) - - - xy unitless 1 44 CtoC2H4 MATH:28.05/(2.0*12.0) - - - xy unitless 1 45 CtoC2H6 MATH:30.08/(2.0*12.0) - - - xy unitless 1 46 CtoC3H8 MATH:44.11/(3.0*12.0) - - - xy unitless 1 47 CtoEOH MATH:46.07/(2.0*12.0) - - - xy unitless 1 48 CtoMEK MATH:72.11/(4.0*12.0) - - - xy unitless 1 49 CtoPRPE MATH:42.09/(3.0*12.0) - - - xy unitless 1 55 CtoTOLU MATH:92.15/(7.0*12.0) - - - xy unitless 1 56 CtoXYLE MATH:106.18/(8.0*12.0) - - - xy unitless 1 59 CtoC2H2 MATH:26.04/(2.0*12.0) - - - xy unitless 1 61 CtoISOP MATH:68.13/(5.0*12.0) - - - xy unitless 1 62 CtoMTPA MATH:136.26/(10.0*12.0) - - - xy unitless 1 64 CtoMBOX MATH:86.13/(5.0*12.0) - - - xy unitless 1 67 CtoSESQ MATH:204.4/(15.0*12.0) - - - xy unitless 1 83 CtoMACR MATH:70.10/(4.0*12.0) - - - xy unitless 1 84 CtoRCHO MATH:58.09/(3.0*12.0) - - - xy unitless 1 # VOC speciations (((RCP_3PD.or.RCP_45.or.RCP_60.or.RCP_85 50 KET2MEK 0.25 - - - xy unitless 1 51 KET2ACET 0.75 - - - xy unitless 1 )))RCP_3PD.or.RCP_45.or.RCP_60.or.RCP_85 (((APEI.or.EDGARv43.or.DICE_Africa.or.QFED2 52 COPROD_FOSSIL 1.02 - - - xy unitless 1 54 COPROD_BIOMASS 1.05 - - - xy unitless 1 )))APEI.or.EDGARv43.or.DICE_Africa.or.QFED2 # RCP acids to HCOOH conversion (((RCP_3PD.or.RCP_45.or.RCP_60.or.RCP_85 57 RCP_HCOOHfraction 0.25 - - - xy unitless 1 58 RCP_ACIDStoHCOOH 0.779661 - - - xy unitless 1 )))RCP_3PD.or.RCP_45.or.RCP_60.or.RCP_85 # SOx to SO2 conversion (Chin et al., 2000) 60 SOX2SO2_GLOBAL 0.986 - - - xy unitless 1 63 SO2toSO4 0.031 - - - xy unitless 1 65 SO2toSO4_APEI 0.014 - - - xy unitless 1 66 SO2toPFe 1.0e-3 - - - xy unitless 1 68 SO2toPFe_APEI 4.7e-4 - - - xy unitless 1 69 SO2toPFe_NEI 1.0e-3 - - - xy unitless 1 78 SO2FRAC 0.969 - - - xy unitless 1 # Carbon aerosols: speciation of hydrophilic and hydrophobic fractions # (Fractions applied to the biomass burning extensions (GFED or FINN) are # specified separately in the extensions section.) 70 BC2BCPI 0.2 - - - xy unitless 1 71 BC2BCPO 0.8 - - - xy unitless 1 72 OC2OCPI 0.5 - - - xy unitless 1 73 OC2OCPO 0.5 - - - xy unitless 1 74 POGSCAL 1.27 - - - xy unitless 1 76 SV2POG1 0.49 - - - xy unitless 1 77 SV2POG2 0.51 - - - xy unitless 1 (((BB4MIPS # Convert MOH to ACET emissions for CMIP6 Scenarios 79 MOH2ACET 0.2094649 - - - xy unitless 1 )))BB4MIPS # Convert CEDS total alchohols to methanol, ethanol, and other alcohols following Chen et al. (2019, ACP) 90 VOC1toMOH 0.5 - - - xy 1 1 91 VOC1toEOH 0.375 - - - xy 1 1 92 VOC1toROH 0.125 - - - xy 1 1 # NOx/NO2 to NO conversion 115 NO2toNO 6.521739e-1 - - - xy unitless 1 # SOA-Precursor scale factors # # From Kim, P.S., et. al. 2015 "Sources, seasonality, and trends # of southeast US aerosol: ..." # AVOCs and BBVOCs are emitted in proportion to CO, with an emission ratio of # 0.069 g AVOC (g CO)−1 (Hayes et al., 2015) and # 0.013 g BBVOC (g CO)−1 (Cubison et al., 2011). # They are both oxidized by OH in the model ... to generate SOA. 280 COtoSOAP_anth 0.069 - - - xy 1 1 281 COtoSOAP_burn 0.013 - - - xy 1 1 #============================================================================== # --- Diurnal scale factors for biomass burning --- # # Fire diurnal scaling factors (% per hour) from WRAP Report to Project # No. 178-6, July 2005 #============================================================================== 75 QFED2_TOD 0.1392/0.1392/0.1368/0.1368/0.1368/0.1368/0.1368/0.1368/0.1368/0.48/0.96/1.68/2.4/3.12/3.84/4.08/2.88/1.68/0.96/0.1368/0.1368/0.1368/0.1368/0.1368 - - - xy unitless 1 #============================================================================== # --- NAP scale factors --- # # Get anthropogenic (FF) NAP emissions by scaling BENZ emissions with the # following factor. Factor is ratio of TgC NAP to TgC BENZ emissions # or equivalently, molec C NAP to molec C BENZ. Scaling should produce # about 0.09 TgC NAP/year, consistent with non-BB,BF emissions predicted # by Zhang and Tao 2009 Atm Env # Based on year 2000 1x1 inv (hotp 11/14/09) #REAL*8, PARAMETER :: NAPTOBENZSCALE = 0.06861d0 # NAPTOTSCAL: factor to scale total NAP emissions to POA (hotp 7/24/09) #REAL*8, PARAMETER :: NAPTOTALSCALE = 66.09027d0 # = CO emissions * emissions ratio of mol NAP / mol CO # * kg C / mol NAP * mol CO / kg CO # mmol NAP / mol CO = 0.025 g NAP/ kg DM / # ( 78 g CO/ kg DM ) * 28 g CO / mol CO # / ( 128 g NAP / mol NAP ) *1000 mmol/mol # scale emissions down if appropriate to remove the # effect of VOC ox on CO emission # EF for NAP from Andreae and Merlet 2001 Glob Biog Cyc # EF for CO from Andreae and Merlet 2001 Glob Biog Cyc #BIOFUEL_KG(N,:,:) = BIOFUEL_KG(IDBFCO,:,:) * 0.0701d-3 # * 120d0 / 28d0 * COSCALEDOWN #============================================================================== (((EDGARv43 80 NAPEMISS 1.0 - - - xy unitless 1 81 NAPTOTSCAL 66.09 - - - xy unitless 1 82 BENZTONAP 6.86e-2 - - - xy unitless 1 )))EDGARv43 #============================================================================== # --- BIOGENIC EMISSIONS FROM DRY LEAF MATTER --- # # Use yield of 40ug/dDW. # Assume organic matter has molecular formula CH2O (MW 30.03), which # means 0.4 gC / g plant # ALD2 MW = 44.05 g/mole ==> 0.55 gC/g ALD2 # Therefore 40ug (ALD2) / g (plant) ==> 55 ug C in ALD2 / gC plant # EOH MW = 46 g/mole ==> 0.52 gC/g EOH # Therefore 40ug (EOH) / g (plant) ==> 52 ug C in EOH / gC plant #============================================================================== (((DECAYING_PLANTS 85 YIELD_RESP_ALD2 55.0e-6 - - - xy unitless 1 86 YIELD_RESP_EOH 52.0e-6 - - - xy unitless 1 )))DECAYING_PLANTS #============================================================================== # --- AEIC2019 aircraft emissions scale factors --- # # See http://geoschemdata.wustl.edu/ExtData/HEMCO/AEIC2019/v2022-03/AEIC_2019_technical_note.pdf #============================================================================== (((AEIC2019_DAILY.or.AEIC2019_MONMEAN # Conversions from AEIC2019 inventory quantities to individual species 101 AEICACET 3.693477e-3 - - - xy unitless 1 102 AEICALD2 4.271822e-2 - - - xy unitless 1 103 AEICALK4 2.137911e-1 - - - xy unitless 1 104 AEICC2H6 5.214505e-3 - - - xy unitless 1 105 AEICC3H8 7.808710e-4 - - - xy unitless 1 106 AEICCH2O 1.230811e-1 - - - xy unitless 1 107 AEICPRPE 1.780418e-1 - - - xy unitless 1 108 AEICMACR 5.362609e-2 - - - xy unitless 1 109 AEICRCHO 3.676944e-2 - - - xy unitless 1 111 AEICSO2 1.176000e-3 - - - xy unitless 1 112 AEICSO4 3.600000e-5 - - - xy unitless 1 113 AEICBC 3.000000e-5 - - - xy unitless 1 114 AEICHC 1.160000e+0 - - - xy unitless 1 120 FB2H2O 1.231000e+0 - - - xy unitless 1 #------------------------------------------------------------------------------ # Scaling factors for 1990-2019 derived from Lee et al. (2021). Increase # from 2018 to 2019 is estimated based on the growth from 2017 to 2018. # Lee et al. (2021) only covers 1990 to 2018, so to get to 2019 it is # assumed that the growth from 2017 to 2018 is the same as that from 2018 # to 2019. So the formula is something like: # # Emissions of CO in 2009 = AEIC 2019 emissions of CO # * (Lee 2017 CO / Lee 2018 fuel burn) # * (Lee 2009 fuel burn / Lee 2018 fuel burn) # # So in this case, we use the Lee 2017/Lee 2018 value to scale AEIC’s # emissions to the “2018” values, and then scale directly using the Lee et al # fuel burn. This ensures that, when running with year 2019, you get an # unadjusted version of the AEIC2019 inventory, and all previous years are # scaled down. For NOx, the same procedure is applied but with an additional # factor to account for changes in NOx EI: # # Emissions of NOx in 2009 = [ AEIC 2019 emissions of NOx # * (Lee 2017 CO / Lee 2018 fuel burn) # * (Lee 2009 fuel burn / Lee 2018 fuel burn) ] # * [ (Lee 2017 NOx EI / Lee 2018 NOx EI) # * (Lee 2009 NOx EI / Lee 2018 NOx EI) ] # # In this case though the Lee et al 2018 and 2017 NOx EIs are identical. # All scaling factors are included in here in HEMCO_Config.rc. #------------------------------------------------------------------------------ (((AEIC_SCALE_1990_2019 240 AC_EINOX 0.852/0.852/0.852/0.859/0.866/0.873/0.881/0.888/0.896/0.903/0.911/0.916/0.922/0.927/0.932/0.937/0.950/0.962/0.974/0.987/1.000/1.000/1.000/1.000/1.000/1.000/1.000/1.000/1.000/1.000 - 1990-2019/1/1/0 C xy 1 1 241 AC_FBMULT 0.506/0.489/0.490/0.493/0.517/0.529/0.553/0.570/0.581/0.600/0.631/0.607/0.608/0.608/0.646/0.678/0.686/0.706/0.703/0.666/0.700/0.721/0.728/0.749/0.773/0.815/0.854/0.905/0.952/1.000 - 1990-2019/1/1/0 C xy 1 1 )))AEIC_SCALE_1990_2019 # If not applying 1990-2019 scale factors, use 1.0 (((.not.AEIC_SCALE_1990_2019 240 AC_EINOX 1.000000e+0 - - - xy 1 1 241 AC_FBMULT 1.000000e+0 - - - xy 1 1 ))).not.AEIC_SCALE_1990_2019 )))AEIC2019_DAILY.or.AEIC2019_MONMEAN (((CMIP6_AIRCRAFT # Conversions for SO2 to HCs taken from AEIC 601 CMIP6_SO2_TO_ACET 3.140712 - - - xy unitless 1 602 CMIP6_SO2_TO_ALD2 36.32502 - - - xy unitless 1 603 CMIP6_SO2_TO_ALK4 181.7952 - - - xy unitless 1 604 CMIP6_SO2_TO_C2H6 4.434103 - - - xy unitless 1 605 CMIP6_SO2_TO_C3H8 0.664006 - - - xy unitless 1 606 CMIP6_SO2_TO_CH2O 104.6608 - - - xy unitless 1 607 CMIP6_SO2_TO_PRPE 151.3961 - - - xy unitless 1 608 CMIP6_SO2_TO_MACR 45.60042 - - - xy unitless 1 609 CMIP6_SO2_TO_RCHO 31.26653 - - - xy unitless 1 )))CMIP6_AIRCRAFT #============================================================================== # --- EPA NEI day-of-week scale factors --- #============================================================================== (((NEI2016_MONMEAN 210 NEI99_DOW_NOX $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc NOX 1999/1-12/WD/0 C xy 1 1 211 NEI99_DOW_CO $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc CO 1999/1-12/WD/0 C xy 1 1 212 NEI99_DOW_ALK4 $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc ALK4 1999/1-12/WD/0 C xy 1 1 213 NEI99_DOW_ACET $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc ACET 1999/1-12/WD/0 C xy 1 1 214 NEI99_DOW_MEK $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc MEK 1999/1-12/WD/0 C xy 1 1 215 NEI99_DOW_PRPE $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc PRPE 1999/1-12/WD/0 C xy 1 1 216 NEI99_DOW_C3H8 $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc C3H8 1999/1-12/WD/0 C xy 1 1 217 NEI99_DOW_C2H6 $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc C2H6 1999/1-12/WD/0 C xy 1 1 218 NEI99_DOW_SO2 $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc SO2 1999/1-12/WD/0 C xy 1 1 219 NEI99_DOW_SO4 $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc SO4 1999/1-12/WD/0 C xy 1 1 220 NEI99_DOW_MSA $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc MSA 1999/1-12/WD/0 C xy 1 1 221 NEI99_DOW_BCPI $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc BCPI 1999/1-12/WD/0 C xy 1 1 222 NEI99_DOW_OCPI $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc OCPI 1999/1-12/WD/0 C xy 1 1 )))NEI2016_MONMEAN #============================================================================== # --- EPA NEI2016 annual scale factors --- # # Annual scale factors were computed from the EPA Trends Report for Tier 1 CAPS # (obtained 21 Sep 2021) using the "Total without wildfires" field. NH3 and # PM2.5 only had values for 2002-2020, while the remaining species had yearly # values for 1990-2020 (we include only 2002-2020 here). # # See NEI2016/v2021-06/national_tier1_caps+HEMCOscaling.xlsx for details. #============================================================================== (((NEI2016_MONMEAN 251 NEI2016_NOx_YRSCALE 2.341/2.213/2.083/1.989/1.879/1.768/1.651/1.539/1.448/1.407/1.345/1.282/1.224/1.135/1.000/0.943/0.895/0.840/0.785 - 2002-2020/1/1/0 C xy 1 1 252 NEI2016_CO_YRSCALE 1.817/1.767/1.716/1.666/1.610/1.554/1.393/1.251/1.272/1.261/1.220/1.178/1.137/1.095/1.000/0.973/0.950/0.927/0.904 - 2002-2020/1/1/0 C xy 1 1 253 NEI2016_NH3_YRSCALE 0.996/0.999/1.002/1.005/1.043/1.082/1.100/1.088/1.077/1.012/0.957/0.954/0.899/0.950/1.000/1.052/1.051/1.050/1.049 - 2002-2020/1/1/0 C xy 1 1 254 NEI2016_VOC_YRSCALE 1.314/1.285/1.255/1.223/1.234/1.246/1.148/1.135/1.154/1.175/1.153/1.131/1.110/1.067/1.000/0.970/0.956/0.941/0.926 - 2002-2020/1/1/0 C xy 1 1 255 NEI2016_SO2_YRSCALE 4.773/4.701/4.626/4.625/4.171/3.717/3.273/2.879/2.446/2.038/1.591/1.525/1.469/1.237/1.000/0.767/0.735/0.641/0.583 - 2002-2020/1/1/0 C xy 1 1 256 NEI2016_PM25_YRSCALE 1.120/1.140/1.159/1.178/1.213/1.248/1.202/1.195/1.190/1.192/1.153/1.115/1.077/1.040/1.000/0.964/0.961/0.958/0.955 - 2002-2020/1/1/0 C xy 1 1 )))NEI2016_MONMEAN #============================================================================== # --- GFAS scale factors --- #============================================================================== (((GFAS 300 GFAS_EMITL $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc mami 2003-2021/1-12/1-31/0 C xy m 1 )))GFAS #============================================================================== # --- QFED vertical partitioning --- # Following Fischer et al. (2014) and Travis et al. (2016), emit 35% of QFED # emissions above the PBL. #============================================================================== (((QFED2 311 QFED_PBL_FRAC 0.65 - - - xy 1 1 312 QFED_FT_FRAC 0.35 - - - xy 1 1 )))QFED2 #============================================================================== # --- CEDS vertical partitioning --- #============================================================================== (((CEDS_01x01 315 ENERGY_LEVS $ROOT/VerticalScaleFactors/v2021-05/gc_layers.nc g_energy 2017/1/1/0 C xyz 1 1 316 INDUSTRY_LEVS $ROOT/VerticalScaleFactors/v2021-05/gc_layers.nc g_industry 2017/1/1/0 C xyz 1 1 317 SHIP_LEVS $ROOT/VerticalScaleFactors/v2021-05/gc_layers.nc cmv_c3 2017/1/1/0 C xyz 1 1 )))CEDS_01x01 #============================================================================== # --- DICE-Africa --- #============================================================================== (((DICE_Africa # Charcoal production scale factor to reduce charcoal production # by a factor of 5 after finding error in implementation of emission factors. 320 DICE_CP_SF 0.20 - - - xy 1 1 # Car emissions of OCPI and OCPO scale factor to address a factor of 7 overestimate # in car OC emissions that results from incorrect emission factors used in the original inventory 330 DICE_CAR_OC_SF 0.14 - - - xy 1 1 )))DICE_Africa #============================================================================== # --- Offline biogenic VOC scale factors --- # # Isoprene : 1.5% mass yield SOAP, 1.5% mass yield SOAS # Monoterpenes : 5.0% mass yield SOAP, 5.0% mass yield SOAS # Other terpenes: 5.0% mass yield SOAP, 5.0% mass yield SOAS # --> Need to multiply by 1.133 to convert from carbon basis to mass basis #============================================================================== (((OFFLINE_BIOGENICVOC 610 ISOPtoSOA 0.0170 - - - xy 1 1 611 MONOtoSOA 0.0567 - - - xy 1 1 612 OTHRtoSOA 0.0567 - - - xy 1 1 )))OFFLINE_BIOGENICVOC #============================================================================== # --- Offline sea salt scale factors --- # # NOTES: # - Sea salt alkalinity and chloride values obtained from hcox_seasalt_mod.F90 # - BrContent obtained from '--> Br- mass ratio' in SeaSalt extension above #============================================================================== (((OFFLINE_SEASALT 615 SSAlkalinity 1.0 - - - xy 1 1 616 SSChloride 0.5504 - - - xy 1 1 617 BrContent 2.11e-3 - - - xy 1 1 )))OFFLINE_SEASALT (((OFFLINE_DUST 621 mfrac_DSTbin1 3.344e-4 - - - xy 1 1 622 mfrac_DSTbin2 1.593e-3 - - - xy 1 1 623 mfrac_DSTbin3 1.194e-2 - - - xy 1 1 624 mfrac_DSTbin4 3.430e-2 - - - xy 1 1 625 mfrac_DSTbin5 1.248e-1 - - - xy 1 1 626 mfrac_DSTbin6 2.573e-1 - - - xy 1 1 627 mfrac_DSTbin7 5.698e-1 - - - xy 1 1 )))OFFLINE_DUST (((AFCID 630 half_AFCID 0.5 - - - xy 1 1 631 mfrac_bin1 6.944e-3 - - - xy 1 1 632 mfrac_bin2 3.307e-2 - - - xy 1 1 633 mfrac_bin3 2.478e-1 - - - xy 1 1 634 mfrac_bin4 7.121e-1 - - - xy 1 1 )))AFCID )))EMISSIONS #============================================================================== # Scale the CMIP6 values in pptv to ppbv #============================================================================== 801 pptv2ppbv 0.001 - - - xy 1 1 802 vv2ppbv 1000000000 - - - xy 1 1 #============================================================================== # --- EDGAR 4.3.1 --- # Using data of 2010, the calculated seasonal ratio for different species in the # same sector are nearly identical, possibly due to consistent activity data used. # Therefore we use the seasonal scale factors of CO in 2010 for most sectors, # except for AGR, AWB and SOL. # For AGR, the NH3 AGR seasonal scale factors are used. # For AWB, the CO AGR seasonal scale factors are used. # For SOL, the NOx AGR seasonal scale factors are used. #============================================================================== (((EDGARv43.or.DICE_Africa 1201 POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc POW 2010/1-12/1/0 C xy unitless 1 1202 ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc ENG 2010/1-12/1/0 C xy unitless 1 1203 IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc IND 2010/1-12/1/0 C xy unitless 1 1204 TRO $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc TRO 2010/1-12/1/0 C xy unitless 1 1205 TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc TNG 2010/1-12/1/0 C xy unitless 1 1206 RCO $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc RCO 2010/1-12/1/0 C xy unitless 1 1207 PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc PPA 2010/1-12/1/0 C xy unitless 1 1208 AGR $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc AGR 2010/1-12/1/0 C xy unitless 1 1209 AWB $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc AWB 2010/1-12/1/0 C xy unitless 1 1210 SOL $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc SOL 2010/1-12/1/0 C xy unitless 1 1211 SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc SWD 2010/1-12/1/0 C xy unitless 1 1212 FFF $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc FFF 2010/1-12/1/0 C xy unitless 1 )))EDGARv43.or.DICE_Africa (((CEDS_01x01 #========================================================================= # --- Sector-wise diel scale factors for CEDS --- # These scale factors could potentially be used for other global base emissions if modified accordingly. #========================================================================= 2401 TOD_AGRICULTURE 0.599/0.599/0.599/0.599/0.599/0.649/0.748/0.898/1.098/1.247/1.447/1.597/1.796/1.746/1.696/1.547/1.347/1.098/0.898/0.748/0.649/0.599/0.599/0.599 - - - xy unitless 1 2406 TOD_ENERGY 0.790/0.720/0.720/0.710/0.740/0.800/0.920/1.080/1.190/1.220/1.210/1.210/1.170/1.150/1.140/1.130/1.100/1.070/1.040/1.020/1.020/1.010/0.960/0.880 - - - xy unitless 1 2407 TOD_INDUSTRY 0.750/0.750/0.780/0.820/0.880/0.950/1.020/1.090/1.160/1.220/1.280/1.300/1.220/1.240/1.250/1.160/1.080/1.010/0.950/0.900/0.850/0.810/0.780/0.750 - - - xy unitless 1 2409 TOD_RESIDENTIAL 0.393/0.393/0.393/0.393/0.393/0.492/1.180/1.475/1.574/1.574/1.377/1.180/1.082/1.082/0.984/0.984/0.984/1.082/1.377/1.475/1.377/1.377/0.984/0.393 - - - xy unitless 1 2411 TOD_TRANSPORT 0.190/0.090/0.060/0.050/0.090/0.220/0.860/1.840/1.860/1.410/1.240/1.200/1.320/1.440/1.450/1.590/2.030/2.080/1.510/1.060/0.740/0.620/0.610/0.440 - - - xy unitless 1 #========================================================================= # --- Sector-wise day-of-week scale factors for CEDS --- # These scale factors could potentially be used for other global base emissions if modified accordingly. #========================================================================= 706 DOW_ENERGY 0.850/1.060/1.060/1.060/1.060/1.060/0.850 - - - xy unitless 1 707 DOW_INDUSTRY 0.800/1.080/1.080/1.080/1.080/1.080/0.800 - - - xy unitless 1 709 DOW_RESIDENTIAL 0.800/1.080/1.080/1.080/1.080/1.080/0.800 - - - xy unitless 1 711 DOW_TRANSPORT 0.790/1.020/1.060/1.080/1.100/1.140/0.810 - - - xy unitless 1 )))CEDS_01x01 ### END SECTION SCALE FACTORS ### ############################################################################### ### BEGIN SECTION MASKS ############################################################################### # ScalID Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Oper Lon1/Lat1/Lon2/Lat2 (((EMISSIONS #============================================================================== # Country/region masks #============================================================================== (((APEI 1002 CANADA_MASK $ROOT/MASKS/v2018-09/Canada_mask.geos.1x1.nc MASK 2000/1/1/0 C xy 1 1 -141/40/-52/85 )))APEI (((NEI2016_MONMEAN 1007 CONUS_MASK $ROOT/MASKS/v2018-09/CONUS_Mask.01x01.nc MASK 2000/1/1/0 C xy 1 1 -140/20/-50/60 )))NEI2016_MONMEAN (((DICE_Africa 1008 AFRICA_MASK $ROOT/MASKS/v2018-09/AF_LANDMASK.geos.05x0666.global.nc LANDMASK 1985/1/1/0 C xy 1 1 -20/-37/54/40 )))DICE_Africa 1009 CHINA_MASK $ROOT/MASKS/v2018-09/China_mask.generic.1x1.nc MASK 2000/1/1/0 C xy 1 1 70/10/150/60 (((AFCID 1010 INDIA_MASK $ROOT/MASKS/v2019-05/India_mask.generic.1x1.nc MASK 2000/1/1/0 C xy 1 1 67/7/99/39 )))AFCID )))EMISSIONS ### END SECTION MASKS ### ### END OF HEMCO INPUT FILE ### #EOC ================================================ FILE: run/GCHP/HEMCO_Config.rc.templates/HEMCO_Config.rc.tagO3 ================================================ #------------------------------------------------------------------------------ # Harmonized Emissions Component (HEMCO) ! #------------------------------------------------------------------------------ #BOP # # !MODULE: HEMCO_Config.rc # # !DESCRIPTION: Contains configuration information for HEMCO. Define the # emissions inventories and corresponding file paths here. Entire # configuration files can be inserted into this configuration file with # an '>>>include' statement, e.g. '>>>include HEMCO\_Config\_test.rc' # The settings of include-files will be ignored. #\\ #\\ # !REMARKS: # See hemco.readthedocs.io for more information. # # !REVISION HISTORY: # See https://github.com/geoschem/geos-chem for complete history #EOP #------------------------------------------------------------------------------ #BOC ############################################################################### ### BEGIN SECTION SETTINGS ############################################################################### ROOT: ${RUNDIR_DATA_ROOT}/HEMCO Logfile: * DiagnPrefix: ./OutputDir/HEMCO_diagnostics DiagnFreq: Monthly Wildcard: * Separator: / Unit tolerance: 1 Negative values: 0 Only unitless scale factors: false Verbose: 0 Warnings: 1 ### END SECTION SETTINGS ### ############################################################################### ### BEGIN SECTION EXTENSION SWITCHES ############################################################################### # ExtNr ExtName on/off Species Years avail. 0 Base : on * # ----- MAIN SWITCHES --------------------------------------------------------- --> EMISSIONS : true --> METEOROLOGY : false --> CHEMISTRY_INPUT : true # ----- RESTART FIELDS -------------------------------------------------------- --> GC_RESTART : false # ----- NON-EMISSIONS DATA ---------------------------------------------------- --> O3_PROD_LOSS : true # 2010-2019 --> OLSON_LANDMAP : false # 1985 --> YUAN_MODIS_LAI : false # 2000-2020 --> OCEAN_O3_DRYDEP : true # 1985 ### END SECTION EXTENSION SWITCHES ### ############################################################################### ### BEGIN SECTION BASE EMISSIONS ############################################################################### # ExtNr Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Species ScalIDs Cat Hier ############################################################################### ### EXTENSION DATA (subsection of BASE EMISSIONS SECTION) ### ### These fields are needed by the extensions listed above. The assigned ExtNr ### must match the ExtNr entry in section 'Extension switches'. These fields ### are only read if the extension is enabled. The fields are imported by the ### extensions by field name. The name given here must match the name used ### in the extension's source code. ############################################################################### ############################################################################### ### NON-EMISSIONS DATA (subsection of BASE EMISSIONS SECTION) ### ### Non-emissions data. The following fields are read through HEMCO but do ### not contain emissions data. The extension number is set to wildcard ### character denoting that these fields will not be considered for emission ### calculation. A given entry is only read if the assigned species name is ### an HEMCO species. ############################################################################### #============================================================================== # --- Time zones (offset to UTC) --- #============================================================================== * TIMEZONES $ROOT/TIMEZONES/v2024-02/timezones_vohra_2017_0.1x0.1.nc UTC_OFFSET 2017/1-12/1/0 C xy count * - 1 1 #============================================================================== # --- GEOS-Chem restart file --- #============================================================================== (((GC_RESTART * SPC_ ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 SpeciesRst_?ALL? $YYYY/$MM/$DD/$HH EFYO xyz 1 * - 1 1 * DELPDRY ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Met_DELPDRY $YYYY/$MM/$DD/$HH EY xyz 1 * - 1 1 )))GC_RESTART #============================================================================== # --- O3 production and loss rates --- #============================================================================== (((CHEMISTRY_INPUT (((O3_PROD_LOSS ${RUNDIR_O3_PROD} ${RUNDIR_O3_LOSS} )))O3_PROD_LOSS )))CHEMISTRY_INPUT #============================================================================== # --- Olson land map masks --- #============================================================================== (((OLSON_LANDMAP * LANDTYPE00 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE00 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE01 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE01 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE02 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE02 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE03 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE03 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE04 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE04 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE05 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE05 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE06 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE06 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE07 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE07 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE08 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE08 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE09 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE09 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE10 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE10 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE11 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE11 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE12 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE12 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE13 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE13 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE14 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE14 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE15 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE15 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE16 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE16 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE17 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE17 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE18 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE18 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE19 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE19 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE20 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE20 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE21 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE21 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE22 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE22 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE23 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE23 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE24 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE24 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE25 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE25 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE26 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE26 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE27 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE27 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE28 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE28 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE29 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE29 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE30 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE30 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE31 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE31 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE32 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE32 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE33 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE33 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE34 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE34 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE35 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE35 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE36 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE36 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE37 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE37 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE38 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE38 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE39 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE39 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE40 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE40 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE41 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE41 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE42 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE42 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE43 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE43 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE44 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE44 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE45 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE45 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE46 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE46 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE47 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE47 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE48 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE48 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE49 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE49 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE50 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE50 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE51 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE51 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE52 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE52 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE53 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE53 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE54 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE54 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE55 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE55 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE56 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE56 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE57 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE57 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE58 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE58 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE59 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE59 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE60 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE60 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE61 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE61 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE62 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE62 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE63 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE63 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE64 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE64 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE65 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE65 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE66 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE66 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE67 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE67 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE68 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE68 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE69 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE69 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE70 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE70 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE71 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE71 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE72 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE72 1985/1/1/0 C xy 1 * - 1 1 )))OLSON_LANDMAP #============================================================================== # --- Yuan processed MODIS leaf area index data --- # # Source: Yuan et al 2011, doi:10.1016/j.rse.2011.01.001 # http://globalchange.bnu.edu.cn/research/lai # # NOTES: # (1) LAI data corresponding to each Olson land type is stored in # separate netCDF variables (XLAI00, XLAI01, ... XLAI72). # The "XLAI" denotes that the files are prepared in this way. # (2) Units are "cm2 leaf/cm2 grid box". # (3) Data is timestamped every 8 days, starting from the 2nd of the month. #============================================================================== (((YUAN_MODIS_LAI * XLAI00 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI00 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI01 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI01 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI02 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI02 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI03 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI03 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI04 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI04 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI05 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI05 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI06 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI06 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI07 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI07 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI08 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI08 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI09 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI09 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI10 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI10 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI11 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI11 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI12 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI12 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI13 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI13 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI14 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI14 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI15 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI15 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI16 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI16 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI17 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI17 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI18 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI18 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI19 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI19 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI20 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI20 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI21 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI21 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI22 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI22 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI23 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI23 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI24 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI24 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI25 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI25 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI26 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI26 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI27 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI27 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI28 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI28 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI29 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI29 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI30 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI30 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI31 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI31 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI32 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI32 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI33 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI33 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI34 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI34 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI35 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI35 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI36 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI36 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI37 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI37 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI38 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI38 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI39 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI39 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI40 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI40 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI41 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI41 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI42 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI42 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI43 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI43 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI44 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI44 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI45 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI45 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI46 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI46 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI47 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI47 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI48 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI48 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI49 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI49 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI50 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI50 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI51 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI51 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI52 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI52 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI53 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI53 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI54 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI54 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI55 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI55 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI56 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI56 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI57 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI57 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI58 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI58 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI59 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI59 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI60 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI60 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI61 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI61 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI62 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI62 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI63 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI63 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI64 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI64 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI65 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI65 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI66 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI66 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI67 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI67 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI68 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI68 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI69 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI69 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI70 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI70 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI71 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI71 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI72 $ROOT/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI72 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 )))YUAN_MODIS_LAI #============================================================================== # --- Oceanic ozone deposition --- # # Sea surface iodide concentration and salinity to be read in for the # new calculations for ozone deposition to the ocean #============================================================================== (((OCEAN_O3_DRYDEP * surf_salinity $ROOT/OCEAN_O3_DRYDEP/v2020-02/WOA_2013_salinity.nc s_mn 1985/1/1/0 C xy 1 * - 1 1 * surf_iodide $ROOT/OCEAN_O3_DRYDEP/v2020-02/Oi_prj_predicted_iodide_0.125x0.125_No_Skagerrak_Just_Ensemble.nc Ensemble_Monthly_mean 1970/1-12/1/0 C xy 1 * - 1 1 )))OCEAN_O3_DRYDEP ### END SECTION BASE EMISSIONS ### ############################################################################### ### BEGIN SECTION SCALE FACTORS ############################################################################### # ScalID Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Oper ### END SECTION SCALE FACTORS ### ############################################################################### ### BEGIN SECTION MASKS ############################################################################### # ScalID Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Oper Lon1/Lat1/Lon2/Lat2 ### END SECTION MASKS ### ### END OF HEMCO INPUT FILE ### #EOC ================================================ FILE: run/GCHP/HEMCO_Diagn.rc.templates/HEMCO_Diagn.rc.TransportTracers ================================================ #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !MODULE: HEMCO_Diagn.rc # # !DESCRIPTION: Configuration file for netCDF diagnostic output from HEMCO # (for TransportTracers simulations). #\\ #\\ # !REMARKS: # For more information about HEMCO diagnostics, see hemco.readthedocs.io. # # !REVISION HISTORY: # 13 Feb 2018 - E. Lundgren - Initial version #EOP #------------------------------------------------------------------------------ #BOC # Name Spec ExtNr Cat Hier Dim OutUnit LongName ############################################################################### ##### Rn222 emissions ##### ############################################################################### EmisRn_Soil Rn222 100 -1 -1 2 kg/m2/s ############################################################################### ##### Be emissions ##### ############################################################################### EmisBe7_Cosmic Be7 100 -1 -1 3 kg/m2/s EmisBe7s_Cosmic Be7s 100 -1 -1 3 kg/m2/s EmisBe10_Cosmic Be10 100 -1 -1 3 kg/m2/s EmisBe10s_Cosmic Be10s 100 -1 -1 3 kg/m2/s ############################################################################### ##### Transport tracer emissions ##### ############################################################################### EmisSF6 SF6 -1 -1 -1 2 kg/m2/s EmisCH3I CH3I -1 -1 -1 2 kg/m2/s EmisCO_25 CO_25 -1 -1 -1 2 kg/m2/s EmisCO_50 CO_50 -1 -1 -1 2 kg/m2/s #EOC ================================================ FILE: run/GCHP/HEMCO_Diagn.rc.templates/HEMCO_Diagn.rc.carbon ================================================ #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !MODULE: HEMCO_Diagn.rc # # !DESCRIPTION: Configuration file for netCDF diagnostic output from HEMCO # (for carbon gases simulations). #\\ #\\ # !REMARKS: # For more information about HEMCO diagnostics, see hemco.readthedocs.io. # # NOTES FOR BIOMASS BURNING: # 1. For GFED extension, set ExtNr = 111, Cat = -1, Hier = -1. # 2. For offline emissions, set ExtNr = 0, Cat = 5, Hier = -1 #EOP #------------------------------------------------------------------------------ #BOC # Name Spec ExtNr Cat Hier Dim OutUnit LongName ############################################################################### ##### CH4 sources ##### ############################################################################### EmisCH4_Total CH4 -1 -1 -1 2 kg/m2/s CH4_emissions_from_all_sectors EmisCH4_Oil CH4 0 1 -1 2 kg/m2/s CH4_emissions_from_oil EmisCH4_Gas CH4 0 2 -1 2 kg/m2/s CH4_emissions_from_gas EmisCH4_Coal CH4 0 3 -1 2 kg/m2/s CH4_emissions_from_coal EmisCH4_Livestock CH4 0 4 -1 2 kg/m2/s CH4_emissions_from_livestock EmisCH4_Landfills CH4 0 5 -1 2 kg/m2/s CH4_emissions_from_landfills EmisCH4_Wastewater CH4 0 6 -1 2 kg/m2/s CH4_emissions_from_wastewater EmisCH4_Rice CH4 0 7 -1 2 kg/m2/s CH4_emissions_from_rice EmisCH4_OtherAnth CH4 0 8 -1 2 kg/m2/s CH4_emissions_from_other_anthropogenic_sources EmisCH4_BiomassBurn CH4 111 -1 -1 2 kg/m2/s CH4_emissions_from_biomass_burning EmisCH4_Wetlands CH4 0 10 -1 2 kg/m2/s CH4_emissions_from_wetlands EmisCH4_Seeps CH4 0 11 -1 2 kg/m2/s CH4_emissions_from_geological_seeps EmisCH4_Lakes CH4 0 12 -1 2 kg/m2/s CH4_emissions_from_lakes EmisCH4_Termites CH4 0 13 -1 2 kg/m2/s CH4_emissions_from_termites EmisCH4_SoilAbsorb CH4 0 14 -1 2 kg/m2/s CH4_emissions_from_soil_absorption EmisCH4_Reservoirs CH4 0 15 -1 2 kg/m2/s CH4_emissions_from_hydroelectric_reservoirs ############################################################################### ##### CO sources ##### ############################################################################### EmisCO_Total CO -1 -1 -1 3 kg/m2/s CO_emission_flux_from_all_sectors EmisCO_Aircraft CO 0 20 -1 3 kg/m2/s CO_emission_flux_from_aircraft EmisCO_Anthro CO 0 1 -1 3 kg/m2/s CO_emission_flux_from_anthropogenic EmisCO_BiomassBurn CO 111 -1 -1 2 kg/m2/s CO_emission_flux_from_biomass_burning EmisCO_Ship CO 0 10 -1 2 kg/m2/s CO_emission_flux_from_ships ############################################################################### ##### CO2 sources ##### ############################################################################### EmisCO2_Total CO2 0 -1 -1 3 kg/m2/s CO2_total_emissions EmisCO2_FossilFuel CO2 0 1 -1 2 kg/m2/s CO2_anthropogenic_emissions EmisCO2_Ocean CO2 0 2 -1 2 kg/m2/s CO2_ocean_emissions EmisCO2_BalBiosph CO2 0 3 -1 2 kg/m2/s CO2_balanced_biosphere EmisCO2_NetTerrExch CO2 0 5 -1 2 kg/m2/s CO2_net_terrestrial_exchange EmisCO2_Ship CO2 0 6 -1 2 kg/m2/s CO2_ship_emissions EmisCO2_Aviation CO2 0 7 -1 3 kg/m2/s CO2_aviation_emissions EmisCO2_CO2SurfCorr CO2 0 8 -1 2 kg/m2/s CO2_surface_correction_for_CO_oxidation EmisCO2_BiomassBurn CO2 111 -1 -1 2 kg/m2/s CO2_biomass_burning_emissions_from_GFED4 ############################################################################### ##### OCS sources ##### ############################################################################### EmisOCS_Total OCS 0 -1 -1 2 kg/m2/s OCS_emission_flux_from_all_sectors EmisOCS_Anthro OCS 0 1 -1 2 kg/m2/s OCS_emission_flux_from_anthropogenic EmisOCS_BiomassBurn OCS 0 2 -1 2 kg/m2/s OCS_emission_flux_from_biomass_burning EmisOCS_MissingOcean OCS 0 3 -1 2 kg/m2/s OCS_emission_flux_from_missing_ocean EmisOCS_Ocean OCS 0 4 -1 2 kg/m2/s OCS_emission_flux_from_ocean ================================================ FILE: run/GCHP/HEMCO_Diagn.rc.templates/HEMCO_Diagn.rc.fullchem ================================================ #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !MODULE: HEMCO_Diagn.rc # # !DESCRIPTION: Configuration file for netCDF diagnostic output from HEMCO # (for fullchem simulations). #\\ #\\ # !REMARKS: # For more information about HEMCO diagnostics, see hemco.readthedocs.io. # # The INVENTORY DIAGNOSTICS (starting with "Inv") are only needed for # benchmark simulations, and can be left commented out for production runs. # # NOTES FOR BIOMASS BURNING: # 1. For GFED extension, set ExtNr = 111, Cat = -1, Hier = -1. # 2. For offline emissions, set ExtNr = 0, Cat = 5, Hier = -1 # # !REVISION HISTORY: # 13 Feb 2018 - E. Lundgren - Initial version # See https://github.com/geoschem/geos-chem for complete history #EOP #------------------------------------------------------------------------------ #BOC # Name Spec ExtNr Cat Hier Dim OutUnit LongName ############################################################################### ##### ACET emissions ##### ############################################################################### EmisACET_Total ACET -1 -1 -1 3 kg/m2/s ACET_emission_flux_from_all_sectors EmisACET_BioBurn ACET 111 -1 -1 2 kg/m2/s ACET_emission_flux_from_biomass_burning EmisACET_Biogenic ACET 0 4 -1 2 kg/m2/s ACET_emission_flux_from_biogenic_sources EmisACET_Ocean ACET 101 -1 -1 2 kg/m2/s ACET_emission_flux_from_ocean ############################################################################### ##### ACR emissions ##### ############################################################################### EmisACR_Total ACR -1 -1 -1 3 kg/m2/s ACR_emission_flux_from_all_sectors EmisACR_BioBurn ACR 111 -1 -1 2 kg/m2/s ACR_emission_flux_from_biomass_burning ############################################################################### ##### ACTA emissions ##### ############################################################################### EmisACTA_Total ACTA -1 -1 -1 3 kg/m2/s ACTA_emission_flux_from_all_sectors EmisACTA_BioBurn ACTA 111 -1 -1 2 kg/m2/s ACTA_emission_flux_from_biomass_burning ############################################################################### ##### ALD2 emissions ##### ############################################################################### EmisALD2_Total ALD2 -1 -1 -1 3 kg/m2/s ALD2_emission_flux_from_all_sectors EmisALD2_Anthro ALD2 0 1 -1 3 kg/m2/s ALD2_emission_flux_from_anthropogenic EmisALD2_BioBurn ALD2 111 -1 -1 2 kg/m2/s ALD2_emission_flux_from_biomass_burning EmisALD2_Biogenic ALD2 0 4 -1 2 kg/m2/s ALD2_emission_flux_from_biogenic_sources EmisALD2_Ocean ALD2 101 -1 -1 2 kg/m2/s ALD2_emission_flux_from_ocean EmisALD2_PlantDecay ALD2 0 3 -1 2 kg/m2/s ALD2_emission_flux_from_decaying_plants EmisALD2_Ship ALD2 0 10 -1 2 kg/m2/s ALD2_emission_flux_from_ships ############################################################################### ##### ALK4 emissions ##### ############################################################################### EmisALK4_Total ALK4 -1 -1 -1 3 kg/m2/s ALK4_emission_flux_from_all_sectors EmisALK4_Aircraft ALK4 0 20 -1 3 kg/m2/s ALK4_emission_flux_from_aircraft EmisALK4_Anthro ALK4 0 1 -1 3 kg/m2/s ALK4_emission_flux_from_anthropogenic EmisALK4_BioBurn ALK4 111 -1 -1 2 kg/m2/s ALK4_emission_flux_from_biomass_burning EmisALK4_Ship ALK4 0 10 -1 2 kg/m2/s ALK4_emission_flux_from_ships ############################################################################### ##### ALK6 emissions ##### ############################################################################### EmisALK6_Total ALK6 -1 -1 -1 3 kg/m2/s ALK6_emission_flux_from_all_sectors EmisALK6_Anthro ALK6 0 1 -1 3 kg/m2/s ALK6_emission_flux_from_anthropogenic EmisALK6_Ship ALK6 0 10 -1 2 kg/m2/s ALK6_emission_flux_from_ships ############################################################################### ##### BCPI and BCPO emissions ##### ############################################################################### EmisBCPI_Total BCPI -1 -1 -1 3 kg/m2/s BCPI_emission_flux_from_all_sectors EmisBCPI_Aircraft BCPI 0 20 -1 3 kg/m2/s BCPI_emission_flux_from_aircraft EmisBCPI_Anthro BCPI 0 1 -1 3 kg/m2/s BCPI_emission_flux_from_anthropogenic EmisBCPI_BioBurn BCPI 111 -1 -1 2 kg/m2/s BCPI_emission_flux_from_biomass_burning EmisBCPI_Ship BCPI 0 10 -1 2 kg/m2/s BCPI_emission_flux_from_ships EmisBCPO_Total BCPO -1 -1 -1 3 kg/m2/s BCPO_emission_flux_from_all_sectors EmisBCPO_Anthro BCPO 0 1 -1 3 kg/m2/s BCPO_emission_flux_from_anthropogenic EmisBCPO_BioBurn BCPO 111 -1 -1 2 kg/m2/s BCPO_emission_flux_from_biomass_burning EmisBCPO_Ship BCPO 0 10 -1 2 kg/m2/s BCPO_emission_flux_from_ships ############################################################################### ##### BENZ emissions ##### ############################################################################### EmisBENZ_Total BENZ -1 -1 -1 3 kg/m2/s BENZ_emission_flux_from_all_sectors EmisBENZ_Anthro BENZ 0 1 -1 3 kg/m2/s BENZ_emission_flux_from_anthropogenic EmisBENZ_BioBurn BENZ 111 -1 -1 2 kg/m2/s BENZ_emission_flux_from_biomass_burning EmisBENZ_Ship BENZ 0 10 -1 2 kg/m2/s BENZ_emission_flux_from_ships ############################################################################### ##### C2H2 emissions ###### ############################################################################### EmisC2H2_Total C2H2 -1 -1 -1 3 kg/m2/s C2H2_emission_flux_from_all_sectors EmisC2H2_Anthro C2H2 0 1 -1 3 kg/m2/s C2H2_emission_flux_from_anthropogenic EmisC2H2_BioBurn C2H2 111 -1 -1 2 kg/m2/s C2H2_emission_flux_from_biomass_burning EmisC2H2_Ship C2H2 0 10 -1 2 kg/m2/s C2H2_emission_flux_from_ships ############################################################################### ##### C2H4 emissions ###### ############################################################################### EmisC2H4_Total C2H4 -1 -1 -1 3 kg/m2/s C2H4_emission_flux_from_all_sectors EmisC2H4_Anthro C2H4 0 1 -1 3 kg/m2/s C2H4_emission_flux_from_anthropogenic EmisC2H4_BioBurn C2H4 111 -1 -1 2 kg/m2/s C2H4_emission_flux_from_biomass_burning EmisC2H4_Biogenic C2H4 0 4 -1 2 kg/m2/s C2H4_emission_flux_from_biogenic_sources EmisC2H4_Ship C2H4 0 10 -1 2 kg/m2/s C2H4_emission_flux_from_ships ############################################################################### ##### C2H6 emissions ###### ############################################################################### EmisC2H6_Total C2H6 -1 -1 -1 3 kg/m2/s C2H6_emission_flux_from_all_sectors EmisC2H6_Aircraft C2H6 0 20 -1 3 kg/m2/s C2H6_emission_flux_from_aircraft EmisC2H6_Anthro C2H6 0 1 -1 3 kg/m2/s C2H6_emission_flux_from_anthropogenic EmisC2H6_BioBurn C2H6 111 -1 -1 2 kg/m2/s C2H6_emission_flux_from_biomass_burning EmisC2H6_Ship C2H6 0 10 -1 2 kg/m2/s C2H6_emission_flux_from_ships ############################################################################### ##### C3H8 emissions ##### ############################################################################### EmisC3H8_Total C3H8 -1 -1 -1 3 kg/m2/s C3H8_emission_flux_from_all_sectors EmisC3H8_Aircraft C3H8 0 20 -1 3 kg/m2/s C3H8_emission_flux_from_aircraft EmisC3H8_Anthro C3H8 0 1 -1 3 kg/m2/s C3H8_emission_flux_from_anthropogenic EmisC3H8_BioBurn C3H8 111 -1 -1 2 kg/m2/s C3H8_emission_flux_from_biomass_burning EmisC3H8_Ship C3H8 0 10 -1 2 kg/m2/s C3H8_emission_flux_from_ships ############################################################################### ##### C4H6 emissions ##### ############################################################################### EmisC4H6_Total C4H6 -1 -1 -1 3 kg/m2/s C4H6_emission_flux_from_all_sectors EmisC4H6_BioBurn C4H6 111 -1 -1 2 kg/m2/s C4H6_emission_flux_from_biomass_burning ############################################################################### ##### CH2Br2 emissions ##### ############################################################################### EmisCH2Br2_Ocean CH2Br2 0 1 -1 2 kg/m2/s CH2Br2_emission_flux_from_ocean ############################################################################### ##### CH2I2 emissions ##### ############################################################################### EmisCH2I2_Ocean CH2I2 0 1 -1 2 kg/m2/s CH2I2_emission_flux_from_ocean ############################################################################### ##### CH2ICl emissions ##### ############################################################################### EmisCH2ICl_Ocean CH2ICl 0 1 -1 2 kg/m2/s CH2ICl_emission_flux_from_ocean ############################################################################### ##### CH2IBr emissions ##### ############################################################################### EmisCH2IBr_Ocean CH2IBr 0 1 -1 2 kg/m2/s CH2IBr_emission_flux_from_ocean ############################################################################### ##### CH2O emissions ##### ############################################################################### EmisCH2O_Total CH2O -1 -1 -1 3 kg/m2/s CH2O_emission_flux_from_all_sectors EmisCH2O_Aircraft CH2O 0 20 -1 3 kg/m2/s CH2O_emission_flux_from_aircraft EmisCH2O_Anthro CH2O 0 1 -1 3 kg/m2/s CH2O_emission_flux_from_anthropogenic EmisCH2O_BioBurn CH2O 111 -1 -1 2 kg/m2/s CH2O_emission_flux_from_biomass_burning EmisCH2O_Ship CH2O 0 10 -1 2 kg/m2/s CH2O_emission_flux_from_ships ############################################################################### ##### CH3I emissions ##### ############################################################################### EmisCH3I_Ocean CH3I 0 1 -1 2 kg/m2/s CH3I_emission_flux_from_ocean ############################################################################### ##### CH4 emissions ##### ############################################################################### # Zero for now, so comment out #EmisCH4_Total CH4 -1 -1 -1 3 kg/m2/s CH4_emission_flux_from_all_sectors #EmisCH4_Anthro CH4 0 1 -1 3 kg/m2/s CH4_emission_flux_from_anthropogenic #EmisCH4_BioBurn CH4 0 5 -1 2 kg/m2/s CH4_emission_flux_from_biomass_burning #EmisCH4_Ship CH4 0 10 -1 2 kg/m2/s CH4_emission_flux_from_ships ############################################################################### ##### CHBr3 emissions ##### ############################################################################### EmisCHBr3_Ocean CHBr3 0 1 -1 2 kg/m2/s CHBr3_emission_flux_from_ocean ############################################################################### ##### CO emissions ##### ############################################################################### EmisCO_Total CO -1 -1 -1 3 kg/m2/s CO_emission_flux_from_all_sectors EmisCO_Aircraft CO 0 20 -1 3 kg/m2/s CO_emission_flux_from_aircraft EmisCO_Anthro CO 0 1 -1 3 kg/m2/s CO_emission_flux_from_anthropogenic EmisCO_BioBurn CO 111 -1 -1 2 kg/m2/s CO_emission_flux_from_biomass_burning EmisCO_Ship CO 0 10 -1 2 kg/m2/s CO_emission_flux_from_ships ############################################################################### ##### CO2 emissions ##### ############################################################################### EmisCO2_Total CO2 -1 -1 -1 3 kg/m2/s CO2_emission_flux_from_all_sectors EmisCO2_Anthro CO2 0 1 -1 3 kg/m2/s CO2_emission_flux_from_anthropogenic EmisCO2_BioBurn CO2 0 5 -1 2 kg/m2/s CO2_emission_flux_from_biomass_burning EmisCO2_Ship CO2 0 10 -1 2 kg/m2/s CO2_emission_flux_from_ships ############################################################################### ##### DMS emissions ##### ############################################################################### EmisDMS_Ocean DMS 101 -1 -1 2 kg/m2/s DMS_emission_flux_from_ocean ############################################################################### ##### Dust emissions ##### ############################################################################### # NOTE: Uncomment EmisDST_Total if you wish to obtain total # dust emissions from HEMCO standalone simulations #EmisDST_Total TDST -1 -1 -1 2 kg/m2/s Total_dust_emission_flux_from_natural_sources EmisDSTbin1_Total DSTbin1 -1 -1 -1 2 kg/m2/s DSTbin1_emission_flux_from_all_sectors EmisDSTbin1_Anthro DSTbin1 0 1 -1 2 kg/m2/s DSTbin1_emission_flux_from_anthropogenic EmisDSTbin1_Natural DSTbin1 0 3 -1 2 kg/m2/s DSTbin1_emission_flux_from_natural_sources EmisDSTbin2_Total DSTbin2 -1 -1 -1 2 kg/m2/s DSTbin2_emission_flux_from_all_sectors EmisDSTbin2_Anthro DSTbin2 0 1 -1 2 kg/m2/s DSTbin2_emission_flux_from_anthropogenic EmisDSTbin2_Natural DSTbin2 0 3 -1 2 kg/m2/s DSTbin2_emission_flux_from_natural_sources EmisDSTbin3_Total DSTbin3 -1 -1 -1 2 kg/m2/s DSTbin3_emission_flux_from_all_sectors EmisDSTbin3_Anthro DSTbin3 0 1 -1 2 kg/m2/s DSTbin3_emission_flux_from_anthropogenic EmisDSTbin3_Natural DSTbin3 0 3 -1 2 kg/m2/s DSTbin3_emission_flux_from_natural_sources EmisDSTbin4_Total DSTbin4 -1 -1 -1 2 kg/m2/s DSTbin4_emission_flux_from_all_sectors EmisDSTbin4_Anthro DSTbin4 0 1 -1 2 kg/m2/s DSTbin4_emission_flux_from_anthropogenic EmisDSTbin4_Natural DSTbin4 0 3 -1 2 kg/m2/s DSTbin4_emission_flux_from_natural_sources EmisDSTbin5_Natural DSTbin5 0 3 -1 2 kg/m2/s DSTbin5_emission_flux_from_natural_sources EmisDSTbin6_Natural DSTbin6 0 3 -1 2 kg/m2/s DSTbin6_emission_flux_from_natural_sources EmisDSTbin7_Natural DSTbin7 0 3 -1 2 kg/m2/s DSTbin7_emission_flux_from_natural_sources ############################################################################### ##### EOH emissions ##### ############################################################################### EmisEOH_Total EOH -1 -1 -1 3 kg/m2/s EOH_emission_flux_from_all_sectors EmisEOH_Anthro EOH 0 1 -1 3 kg/m2/s EOH_emission_flux_from_anthropogenic EmisEOH_BioBurn EOH 111 -1 -1 2 kg/m2/s EOH_emission_flux_from_biomass_burning EmisEOH_Biogenic EOH 0 4 -1 2 kg/m2/s EOH_emission_flux_from_biogenic_sources EmisEOH_PlantDecay EOH 0 3 -1 2 kg/m2/s EOH_emission_flux_from_decaying_plants EmisEOH_Ship EOH 0 10 -1 2 kg/m2/s EOH_emission_flux_from_ships ############################################################################### ##### ETNO3 emissions ##### ############################################################################### EmisETNO3_Ocean ETNO3 101 -1 -1 2 kg/m2/s ETNO3_emission_flux_from_ocean ############################################################################### ##### FURA emissions ##### ############################################################################### EmisFURA_Total FURA -1 -1 -1 3 kg/m2/s FURA_emission_flux_from_all_sectors EmisFURA_BioBurn FURA 111 -1 -1 2 kg/m2/s FURA_emission_flux_from_biomass_burning ############################################################################### ##### GLYX emissions ##### ############################################################################### EmisGLYX_Total GLYX -1 -1 -1 3 kg/m2/s GLYX_emission_flux_from_all_sectors EmisGLYX_BioBurn GLYX 111 -1 -1 2 kg/m2/s GLYX_emission_flux_from_biomass_burning ############################################################################### ##### H2O emissions ##### ############################################################################### EmisH2O_Aircraft H2O 0 20 -1 3 kg/m2/s H2O_emission_flux_from_aircraft ############################################################################### ##### HCl emissions ##### ############################################################################### EmisHCl_Total HCl 0 -1 -1 3 kg/m2/s HCl_emission_flux_from_all_sectors EmisHCl_Anthro HCl 0 1 -1 3 kg/m2/s HCl_emission_flux_from_anthropogenic ############################################################################### ##### HCOOH sources ##### ############################################################################### EmisHCOOH_Total HCOOH -1 -1 -1 3 kg/m2/s HCOOH_emission_flux_from_all_sectors EmisHCOOH_Anthro HCOOH 0 1 -1 3 kg/m2/s HCOOH_emission_flux_from_anthropogenic EmisHCOOH_BioBurn HCOOH 111 -1 -1 2 kg/m2/s HCOOH_emission_flux_from_biomass_burning EmisHCOOH_Ship HCOOH 0 10 -1 2 kg/m2/s HCOOH_emission_flux_from_ship ############################################################################### ##### HNO3 emissions ##### ############################################################################### EmisHNO3_Ship HNO3 102 -1 -1 2 kg/m2/s HNO3_emission_flux_from_ships ############################################################################### ##### HONO emissions ##### ############################################################################### EmisHONO_Aircraft HONO 0 20 -1 3 kg/m2/s HONO_emission_flux_from_aircraft ############################################################################### ##### ISOP emissions ##### ############################################################################### EmisISOP_Total ISOP -1 -1 -1 3 kg/m2/s ISOP_emission_flux_from_all_sectors EmisISOP_BioBurn ISOP 111 -1 -1 2 kg/m2/s ISOP_emission_flux_from_biomass_burning EmisISOP_Biogenic ISOP 0 4 -1 2 kg/m2/s ISOP_emission_flux_from_biogenic_sources ############################################################################### ##### LIMO emissions ##### ############################################################################### EmisLIMO_Biogenic LIMO 0 4 -1 2 kg/m2/s LIMO_emission_flux_from_biogenic_sources ############################################################################### ##### MACR emissions ##### ############################################################################### EmisMACR_Total MACR -1 -1 -1 3 kg/m2/s MACR_emission_flux_from_all_sectors EmisMACR_Aircraft MACR 0 20 -1 3 kg/m2/s MACR_emission_flux_from_anthropogenic ############################################################################### ##### MEK emissions ##### ############################################################################### EmisMEK_Total MEK -1 -1 -1 3 kg/m2/s MEK_emission_flux_from_all_sectors EmisMEK_Anthro MEK 0 1 -1 3 kg/m2/s MEK_emission_flux_from_anthropogenic EmisMEK_BioBurn MEK 111 -1 -1 2 kg/m2/s MEK_emission_flux_from_biomass_burning EmisMEK_Ship MEK 0 10 -1 2 kg/m2/s MEK_emission_flux_from_ships ############################################################################### ##### MENO3 emissions ##### ############################################################################### EmisMENO3_Ocean MENO3 101 -1 -1 2 kg/m2/s MENO3_emission_flux_from_ocean ############################################################################### ##### MGLY emissions ##### ############################################################################### EmisMGLY_Total MGLY -1 -1 -1 3 kg/m2/s MGLY_emission_flux_from_all_sectors EmisMGLY_BioBurn MGLY 111 -1 -1 2 kg/m2/s MGLY_emission_flux_from_biomass_burning ############################################################################### ##### MOH emissions ##### ############################################################################### EmisMOH_Total MOH -1 -1 -1 3 kg/m2/s MOH_emission_flux_from_all_sectors EmisMOH_Anthro MOH 0 1 -1 3 kg/m2/s MOH_emission_flux_from_anthropogenic EmisMOH_BioBurn MOH 111 -1 -1 2 kg/m2/s MOH_emission_flux_from_biomass_burning EmisMOH_Biogenic MOH 0 4 -1 2 kg/m2/s MOH_emission_flux_from_biogenic_sources EmisMOH_Ocean MOH 101 -1 -1 2 kg/m2/s MOH_emission_flux_from_ocean EmisMOH_Ship MOH 0 10 -1 2 kg/m2/s MOH_emission_flux_from_ships ############################################################################### ##### MTPA emissions ##### ############################################################################### EmisMTPA_Total MTPA -1 -1 -1 3 kg/m2/s MTPA_emission_flux_from_all_sectors EmisMTPA_BioBurn MTPA 111 -1 -1 2 kg/m2/s MTPA_emission_flux_from_biomass_burning EmisMTPA_Biogenic MTPA 0 4 -1 2 kg/m2/s MTPA_emission_flux_from_biogenic_sources ############################################################################### ##### MTPO emissions ##### ############################################################################### EmisMTPO_Total MTPO -1 -1 -1 3 kg/m2/s MTPO_emission_flux_from_all_sectors EmisMTPO_Biogenic MTPO 0 4 -1 2 kg/m2/s MTPO_emission_flux_from_biogenic_sources ############################################################################### ##### MVK emissions ##### ############################################################################### EmisMVK_Total MVK -1 -1 -1 3 kg/m2/s MVK_emission_flux_from_all_sectors EmisMVK_BioBurn MVK 111 -1 -1 2 kg/m2/s MVK_emission_flux_from_biomass_burning ############################################################################### ##### NAP emissions ##### ############################################################################### EmisNAP_Total NAP -1 -1 -1 3 kg/m2/s NAP_emission_flux_from_all_sectors EmisNAP_Anthro NAP 0 1 -1 3 kg/m2/s NAP_emission_flux_from_anthropogenic EmisNAP_BioBurn NAP 111 -1 -1 2 kg/m2/s NAP_emission_flux_from_biomass_burning ############################################################################### ##### NH3 emissions ##### ############################################################################### EmisNH3_Total NH3 -1 -1 -1 3 kg/m2/s NH3_emission_flux_from_all_sectors EmisNH3_Anthro NH3 0 1 -1 3 kg/m2/s NH3_emission_flux_from_anthropogenic EmisNH3_BioBurn NH3 111 -1 -1 2 kg/m2/s NH3_emission_flux_from_biomass_burning EmisNH3_Natural NH3 0 3 -1 2 kg/m2/s NH3_emission_flux_from_natural_sources EmisNH3_Seabirds NH3 0 30 -1 2 kg/m2/s NH3_emission_flux_from_seabirds EmisNH3_Ship NH3 0 10 -1 2 kg/m2/s NH3_emission_flux_from_ships ############################################################################### ##### NO emissions ##### ##### ##### ##### - Separate fertilizer NOx emissions are only available when the ##### ##### SoilNOx extension is enabled ##### ############################################################################### EmisNO_Total NO -1 -1 -1 3 kg/m2/s NO_emission_flux_from_all_sectors EmisNO_Aircraft NO 0 20 -1 3 kg/m2/s NO_emission_flux_from_aircraft EmisNO_Anthro NO 0 1 -1 3 kg/m2/s NO_emission_flux_from_anthropogenic EmisNO_BioBurn NO 111 -1 -1 2 kg/m2/s NO_emission_flux_from_biomass_burning EmisNO_Lightning NO 103 -1 -1 3 kg/m2/s NO_emission_flux_from_lightning EmisNO_Ship NO 102 -1 -1 2 kg/m2/s NO_emission_flux_from_ships EmisNO_Soil NO 0 3 -1 2 kg/m2/s NO_emission_flux_from_soil_including_fertilizer #EmisNO_Fert -1 104 -1 -1 2 kg/m2/s NO_emission_flux_from_fertilizer_only ############################################################################### ##### NO2 emissions ##### ############################################################################### EmisNO2_Total NO2 -1 -1 -1 3 kg/m2/s NO2_emission_flux_from_all_sectors EmisNO2_Aircraft NO2 0 20 -1 3 kg/m2/s NO2_emission_flux_from_aircraft EmisNO2_Ship NO2 102 -1 -1 2 kg/m2/s NO2_emission_flux_from_ships ############################################################################### ##### O3 emissions ##### ############################################################################### EmisO3_Ship O3 102 -1 -1 2 kg/m2/s O3_emission_flux_from_ships ############################################################################### ##### OCPI and OCPO emissions ##### ############################################################################### EmisOCPI_Total OCPI -1 -1 -1 3 kg/m2/s OCPI_emission_flux_from_all_sectors EmisOCPI_Aircraft OCPI 0 20 -1 3 kg/m2/s OCPI_emission_flux_from_aircraft EmisOCPI_Anthro OCPI 0 1 -1 3 kg/m2/s OCPI_emission_flux_from_anthropogenic EmisOCPI_BioBurn OCPI 111 -1 -1 2 kg/m2/s OCPI_emission_flux_from_biomass_burning EmisOCPI_Ship OCPI 0 10 -1 2 kg/m2/s OCPI_emission_flux_from_ships EmisOCPO_Total OCPO -1 -1 -1 3 kg/m2/s OCPO_emission_flux_from_all_sectors EmisOCPO_Anthro OCPO 0 1 -1 3 kg/m2/s OCPO_emission_flux_from_anthropogenic EmisOCPO_BioBurn OCPO 111 -1 -1 2 kg/m2/s OCPO_emission_flux_from_biomass_burning EmisOCPO_Ship OCPO 0 10 -1 2 kg/m2/s OCPO_emission_flux_from_ships ############################################################################### ##### pFe emissions ##### ############################################################################### EmispFe_Total pFe -1 -1 -1 3 kg/m2/s pFe_emission_flux_from_all_sectors EmispFe_Anthro pFe 0 1 -1 3 kg/m2/s pFe_emission_flux_from_anthropogenic EmispFe_Ship pFe 0 10 -1 2 kg/m2/s pFe_emission_flux_from_ships ############################################################################### ##### PHEN emissions ##### ############################################################################### EmisPHEN_Total PHEN -1 -1 -1 3 kg/m2/s PHEN_emission_flux_from_all_sectors EmisPHEN_BioBurn PHEN 111 -1 -1 2 kg/m2/s PHEN_emission_flux_from_biomass_burning ############################################################################### ##### POG1 and POG2 emissions ##### ############################################################################### EmisPOG1_Total POG1 -1 -1 -1 3 kg/m2/s POG1_emission_flux_from_all_sectors EmisPOG1_Anthro POG1 0 1 -1 3 kg/m2/s POG1_emission_flux_from_anthropogenic EmisPOG1_BioBurn POG1 111 -1 -1 2 kg/m2/s POG1_emission_flux_from_GFED_inventory EmisPOG2_Total POG2 -1 -1 -1 3 kg/m2/s POG2_emission_flux_from_all_sectors EmisPOG2_Anthro POG2 0 1 -1 3 kg/m2/s POG2_emission_flux_from_anthropogenic EmisPOG2_BioBurn POG2 111 -1 -1 2 kg/m2/s POG2_emission_flux_from_GFED_inventory ############################################################################### ##### PRPE emissions ##### ############################################################################### EmisPRPE_Total PRPE -1 -1 -1 3 kg/m2/s PRPE_emission_flux_from_all_sectors EmisPRPE_Aircraft PRPE 0 20 -1 3 kg/m2/s PRPE_emission_flux_from_aircraft EmisPRPE_Anthro PRPE 0 1 -1 3 kg/m2/s PRPE_emission_flux_from_anthropogenic EmisPRPE_BioBurn PRPE 111 -1 -1 2 kg/m2/s PRPE_emission_flux_from_biomass_burning EmisPRPE_Biogenic PRPE 0 4 -1 2 kg/m2/s PRPE_emission_flux_from_biogenic_sources EmisPRPE_Ship PRPE 0 10 -1 2 kg/m2/s PRPE_emission_flux_from_ships ############################################################################### ##### RCHO emissions ##### ############################################################################### EmisRCHO_Total RCHO -1 -1 -1 3 kg/m2/s RCHO_emission_flux_from_all_sectors EmisRCHO_Aircraft RCHO 0 20 -1 3 kg/m2/s RCHO_emission_flux_from_aircraft EmisRCHO_BioBurn RCHO 111 -1 -1 2 kg/m2/s RCHO_emission_flux_from_biomass_burning ############################################################################### ##### SESQ emissions ##### ############################################################################### # SESQ is not an active species in GEOS-Chem; disable for now #EmisSESQ_Biogenic SESQ 0 4 -1 2 kg/m2/s SESQ_emission_flux_from_biogenic_sources ############################################################################### ##### Sea salt emissions ##### ############################################################################### EmisSALA_Natural SALA 0 3 -1 2 kg/m2/s SALA_emission_flux_from_natural_sources EmisBrSALA_Natural BrSALA 0 3 -1 2 kg/m2/s BrSALA_emission_flux_from_natural_sources EmisSALAAL_Natural SALAAL 0 3 -1 2 kg/m2/s SALAAL_emission_flux_from_natural_sources EmisSALACL_Natural SALACL 0 3 -1 2 kg/m2/s SALACL_emission_flux_from_natural_sources EmisSALC_Natural SALC 0 3 -1 2 kg/m2/s SALC_emission_flux_from_natural_sources EmisBrSALC_Natural BrSALC 0 3 -1 2 kg/m2/s BrSALC_emission_flux_from_natural_sources EmisSALCAL_Natural SALCAL 0 3 -1 2 kg/m2/s SALCAL_emission_flux_from_natural_sources EmisSALCCL_Natural SALCCL 0 3 -1 2 kg/m2/s SALCCL_emission_flux_from_natural_sources ############################################################################### ##### SO2 emissions ##### ############################################################################### EmisSO2_Total SO2 -1 -1 -1 3 kg/m2/s SO2_emission_flux_from_all_sectors EmisSO2_Aircraft SO2 0 20 -1 3 kg/m2/s SO2_emission_flux_from_aircraft EmisSO2_Anthro SO2 0 1 -1 3 kg/m2/s SO2_emission_flux_from_anthropogenic EmisSO2_BioBurn SO2 111 -1 -1 2 kg/m2/s SO2_emission_flux_from_biomass_burning EmisSO2_VolcErupt SO2 117 51 -1 3 kg/m2/s SO2_emission_flux_from_eruptive_volcano EmisSO2_VolcDegas SO2 117 52 -1 3 kg/m2/s SO2_emission_flux_from_noneruptive_volcano EmisSO2_Ship SO2 0 10 -1 2 kg/m2/s SO2_emission_flux_from_ships ############################################################################### ##### SO4 emissions ##### ############################################################################### EmisSO4_Total SO4 -1 -1 -1 3 kg/m2/s SO4_emission_flux_from_all_sectors EmisSO4_Aircraft SO4 0 20 -1 3 kg/m2/s SO4_emission_flux_from_aircraft EmisSO4_Anthro SO4 0 1 -1 3 kg/m2/s SO4_emission_flux_from_anthropogenic EmisSO4_Ship SO4 0 10 -1 2 kg/m2/s SO4_emission_flux_from_ship ############################################################################### ##### SOAP sources ##### ############################################################################### EmisSOAP_Total SOAP -1 -1 -1 3 kg/m2/s SOAP_emission_flux_from_all_sectors EmisSOAP_Aircraft SOAP 0 20 -1 3 kg/m2/s SOAP_emission_flux_from_aircraft EmisSOAP_Anthro SOAP 0 1 -1 3 kg/m2/s SOAP_emission_flux_from_anthropogenic EmisSOAP_Biogenic SOAP 0 4 -1 2 kg/m2/s SOAP_emission_flux_from_biogenic_sources EmisSOAP_BioBurn SOAP 111 -1 -1 2 kg/m2/s SOAP_emission_flux_from_biomass_burning EmisSOAP_Ship SOAP 0 10 -1 2 kg/m2/s SOAP_emission_flux_from_ships ############################################################################### ##### SOAS sources ##### ############################################################################### EmisSOAS_Biogenic SOAS 0 4 -1 2 kg/m2/s SOAS_emission_flux_from_biogenic_sources ############################################################################## ##### STYR emissions ##### ############################################################################### EmisSTYR_Total STYR -1 -1 -1 3 kg/m2/s STYR_emission_flux_from_all_sectors EmisSTYR_BioBurn STYR 111 -1 -1 2 kg/m2/s STYR_emission_flux_from_biomass_burning ############################################################################### ##### TMB emissions ##### ############################################################################### EmisTMB_Total TMB -1 -1 -1 3 kg/m2/s TMB_emission_flux_from_all_sectors EmisTMB_Anthro TMB 0 1 -1 3 kg/m2/s TMB_emission_flux_from_anthropogenic EmisTMB_Ship TMB 0 10 -1 2 kg/m2/s TMB_emission_flux_from_ships ############################################################################### ##### TOLU emissions ##### ############################################################################### EmisTOLU_Total TOLU -1 -1 -1 3 kg/m2/s TOLU_emission_flux_from_all_sectors EmisTOLU_Anthro TOLU 0 1 -1 3 kg/m2/s TOLU_emission_flux_from_anthropogenic EmisTOLU_BioBurn TOLU 111 -1 -1 2 kg/m2/s TOLU_emission_flux_from_biomass_burning EmisTOLU_Ship TOLU 0 10 -1 2 kg/m2/s TOLU_emission_flux_from_ships ############################################################################### ##### XYLE emissions ##### ############################################################################### EmisXYLE_Total XYLE -1 -1 -1 3 kg/m2/s XYLE_emission_flux_from_all_sectors EmisXYLE_Anthro XYLE 0 1 -1 3 kg/m2/s XYLE_emission_flux_from_anthropogenic EmisXYLE_BioBurn XYLE 111 -1 -1 2 kg/m2/s XYLE_emission_flux_from_biomass_burning EmisXYLE_Ship XYLE 0 10 -1 2 kg/m2/s XYLE_emission_flux_from_ships ############################################################################### ##### Additional diagnostics saved out via HEMCO extensions ##### ############################################################################### #============================= # LIGHTNOX extension #============================= HcoLightningFlashRate_Total -1 103 -1 -1 2 flashes/min/km2 Total_lightning_flash_rate HcoLightningFlashRate_IntraCld -1 103 -1 -1 2 flashes/min/km2 Intra-cloud_lightning_flash_rate HcoLightningFlashRate_CldGround -1 103 -1 -1 2 flashes/min/km2 Cloud-ground_lightning_flash_rate HcoConvectiveCloudTopHeight -1 103 -1 -1 2 level Convective_cloud_top_height ############################################################################### ##### INVENTORY DIAGNOSTICS, needed for benchmarking simulations only ##### ##### Listed in same order as HEMCO_Config.rc ##### ##### (You can comment these out for production runs, to save memory) ##### ############################################################################### #============================= # CEDS #============================= #InvCEDS_ALD2 ALD2 0 1 5 3 kg/m2/s ALD2_emission_flux_from_CEDS_inventory #InvCEDS_ALK4 ALK4 0 1 5 3 kg/m2/s ALK4_emission_flux_from_CEDS_inventory #InvCEDS_ALK6 ALK6 0 1 5 3 kg/m2/s ALK6_emission_flux_from_CEDS_inventory #InvCEDS_BCPI BCPI 0 1 5 3 kg/m2/s BCPI_emission_flux_from_CEDS_inventory #InvCEDS_BCPO BCPO 0 1 5 3 kg/m2/s BCPO_emission_flux_from_CEDS_inventory #InvCEDS_BENZ BENZ 0 1 5 3 kg/m2/s BENZ_emission_flux_from_CEDS_inventory #InvCEDS_C2H2 C2H2 0 1 5 3 kg/m2/s C2H2_emission_flux_from_CEDS_inventory #InvCEDS_C2H4 C2H4 0 1 5 3 kg/m2/s C2H4_emission_flux_from_CEDS_inventory #InvCEDS_C2H6 C2H6 0 1 5 3 kg/m2/s C2H6_emission_flux_from_CEDS_inventory #InvCEDS_C3H8 C3H8 0 1 5 3 kg/m2/s C3H8_emission_flux_from_CEDS_inventory #InvCEDS_CH2O CH2O 0 1 5 3 kg/m2/s CH2O_emission_flux_from_CEDS_inventory #InvCEDS_CO CO 0 1 5 3 kg/m2/s CO_emission_flux_from_CEDS_inventory #InvCEDS_MOH MOH 0 1 5 3 kg/m2/s MOH_emission_flux_from_CEDS_inventory #InvCEDS_EOH EOH 0 1 5 3 kg/m2/s EOH_emission_flux_from_CEDS_inventory #InvCEDS_ROH ROH 0 1 5 3 kg/m2/s ROH_emission_flux_from_CEDS_inventory #InvCEDS_HCOOH HCOOH 0 1 5 3 kg/m2/s HCOOH_emission_flux_from_CEDS_inventory #InvCEDS_MEK MEK 0 1 5 3 kg/m2/s MEK_emission_flux_from_CEDS_inventory #InvCEDS_NH3 NH3 0 1 5 3 kg/m2/s NH3_emission_flux_from_CEDS_inventory #InvCEDS_NO NO 0 1 5 3 kg/m2/s NO_emission_flux_from_CEDS_inventory #InvCEDS_OCPI OCPI 0 1 5 3 kg/m2/s OCPI_emission_flux_from_CEDS_inventory #InvCEDS_OCPO OCPO 0 1 5 3 kg/m2/s OCPO_emission_flux_from_CEDS_inventory #InvCEDS_pFe pFe 0 1 5 3 kg/m2/s pFe_emission_flux_from_CEDS_inventory #InvCEDS_POG1 POG1 0 1 5 3 kg/m2/s POG1_emission_flux_from_CEDS_inventory #InvCEDS_POG2 POG2 0 1 5 3 kg/m2/s POG2_emission_flux_from_CEDS_inventory #InvCEDS_PRPE PRPE 0 1 5 3 kg/m2/s PRPE_emission_flux_from_CEDS_inventory #InvCEDS_SO2 SO2 0 1 5 3 kg/m2/s SO2_emission_flux_from_CEDS_inventory #InvCEDS_SO4 SO4 0 1 5 3 kg/m2/s SO4_emission_flux_from_CEDS_inventory #InvCEDS_SOAP SOAP 0 1 5 3 kg/m2/s SOAP_emission_flux_from_CEDS_inventory #InvCEDS_TMB TMB 0 1 5 3 kg/m2/s TMB_emission_flux_from_CEDS_inventory #InvCEDS_TOLU TOLU 0 1 5 3 kg/m2/s TOLU_emission_flux_from_CEDS_inventory #InvCEDS_XYLE XYLE 0 1 5 3 kg/m2/s XYLE_emission_flux_from_CEDS_inventory #============================= # GEIA_NH3 #============================= #InvGEIAnatural_NH3 NH3 0 3 1 2 kg/m2/s NH3_emission_flux_from_GEIA_natural_source #============================= # Seabirds #============================= #InvSEABIRDS_NH3 NH3 0 30 1 2 kg/m2/s NH3_emission_flux_from_arctic_seabirds #============================= # C2H62010 #============================= #InvC2H62010_C2H6 C2H6 0 1 100 2 kg/m2/s C2H6_from_C2H62010_anthropogenic_inventory #============================= # XIAO_C3H8 #============================= #InvXIAO_C3H8 C3H8 0 1 10 2 kg/m2/s C3H8_from_XIAO_anthropogenic_inventory #============================= # LIANG_BROMOCARB #============================= #InvLIANG_CH2Br2 CH2Br2 0 1 1 2 kg/m2/s CH2Br2_emission_flux_from_LIANG_BROMOCARB_inventory #InvLIANG_CHBr3 CHBr3 0 1 1 2 kg/m2/s CHBr3_emission_flux_from_LIANG_BROMOCARB_inventory #============================= # ORDONEZ_IODOCARB #============================= #InvORDONEZ_CH2I2 CH2I2 0 1 1 2 kg/m2/s CH2I2_emission_flux_from_ORDONEZ_IODOCARB_inventory #InvORDONEZ_CH2ICl CH2ICl 0 1 1 2 kg/m2/s CH2ICl_emission_flux_from_ORDONEZ_IODOCARB_inventory #InvORDONEZ_CH2IBr CH2IBr 0 1 1 2 kg/m2/s CH2IBr_emission_flux_from_ORDONEZ_IODOCARB_inventory #InvORDONEZ_CH3I CH3I 0 1 1 2 kg/m2/s CH3I_emission_flux_from_ORDONEZ_IODOCARB_inventory #============================= # GT_Chlorine #============================= #InvGTChlorine_HCl HCl 0 1 1 2 kg/m2/s HCl_emission_flux_from_GT_Chlorine_inventory #============================= # CEDS_SHIP #============================= #InvCEDSship_ALD2 ALD2 0 10 5 2 kg/m2/s ALD2_emission_flux_from_CEDSship_inventory #InvCEDSship_ALK4 ALK4 0 10 5 2 kg/m2/s ALK4_emission_flux_from_CEDSship_inventory #InvCEDSship_ALK6 ALK6 0 10 5 2 kg/m2/s ALK4_emission_flux_from_CEDSship_inventory #InvCEDSship_BCPI BCPI 0 10 5 2 kg/m2/s BCPI_emission_flux_from_CEDSship_inventory #InvCEDSship_BCPO BCPO 0 10 5 2 kg/m2/s BCPO_emission_flux_from_CEDSship_inventory #InvCEDSship_BENZ BENZ 0 10 5 2 kg/m2/s BENZ_emission_flux_from_CEDSship_inventory #InvCEDSship_C2H2 C2H2 0 10 5 2 kg/m2/s C2H2_emission_flux_from_CEDSship_inventory #InvCEDSship_C2H4 C2H4 0 10 5 2 kg/m2/s C2H4_emission_flux_from_CEDSship_inventory #InvCEDSship_C2H6 C2H6 0 10 5 2 kg/m2/s C2H6_emission_flux_from_CEDSship_inventory #InvCEDSship_C3H8 C3H8 0 10 5 2 kg/m2/s C3H8_emission_flux_from_CEDSship_inventory #InvCEDSship_CH2O CH2O 0 10 5 2 kg/m2/s CH2O_emission_flux_from_CEDSship_inventory #InvCEDSship_CO CO 0 10 5 2 kg/m2/s CO_emission_flux_from_CEDSship_inventory #InvCEDSship_EOH EOH 0 10 5 2 kg/m2/s EOH_emission_flux_from_CEDSship_inventory #InvCEDSship_HCOOH HCOOH 0 10 5 2 kg/m2/s HCOOH_emission_flux_from_CEDSship_inventory #InvCEDSship_MEK MEK 0 10 5 2 kg/m2/s MEK_emission_flux_from_CEDSship_inventory #InvCEDSship_NH3 NH3 0 10 5 2 kg/m2/s NH3_emission_flux_from_CEDSship_inventory #InvCEDSship_pFe pFe 0 10 5 2 kg/m2/s pFe_emission_flux_from_CEDSship_inventory #InvCEDSship_PRPE PRPE 0 10 5 2 kg/m2/s PRPE_emission_flux_from_CEDSship_inventory #InvCEDSship_OCPI OCPI 0 10 5 2 kg/m2/s OCPI_emission_flux_from_CEDSship_inventory #InvCEDSship_OCPO OCPO 0 10 5 2 kg/m2/s OCPO_emission_flux_from_CEDSship_inventory #InvCEDSship_SO2 SO2 0 10 5 2 kg/m2/s SO2_emission_flux_from_CEDSship_inventory #InvCEDSship_SO4 SO4 0 10 5 2 kg/m2/s SO4_emission_flux_from_CEDSship_inventory #InvCEDSship_SOAP SOAP 0 10 5 2 kg/m2/s SOAP_emission_flux_from_CEDSship_inventory #InvCEDSship_TMB TMB 0 10 5 2 kg/m2/s TMB_emission_flux_from_CEDSship_inventory #InvCEDSship_TOLU TOLU 0 10 5 2 kg/m2/s TOLU_emission_flux_from_CEDSship_inventory #InvCEDSship_XYLE XYLE 0 10 5 2 kg/m2/s XYLE_emission_flux_from_CEDSship_inventory #============================= # AEIC #============================= #InvAEIC_ACET ACET 0 20 1 3 kg/m2/s ACET_emission_flux_from_AEIC_inventory #InvAEIC_ALD2 ALD2 0 20 1 3 kg/m2/s ALD2_emission_flux_from_AEIC_inventory #InvAEIC_ALK4 ALK4 0 20 1 3 kg/m2/s ALK4_emission_flux_from_AEIC_inventory #InvAEIC_BCPI BCPI 0 20 1 3 kg/m2/s BCPI_emission_flux_from_AEIC_inventory #InvAEIC_C2H6 C2H6 0 20 1 3 kg/m2/s C2H6_emission_flux_from_AEIC_inventory #InvAEIC_C3H8 C3H8 0 20 1 3 kg/m2/s C3H8_emission_flux_from_AEIC_inventory #InvAEIC_CH2O CH2O 0 20 1 3 kg/m2/s CH2O_emission_flux_from_AEIC_inventory #InvAEIC_CO CO 0 20 1 3 kg/m2/s CO_emission_flux_from_AEIC_inventory #InvAEIC_HONO HONO 0 20 1 3 kg/m2/s HONO_emission_flux_from_AEIC_inventory #InvAEIC_MACR MACR 0 20 1 3 kg/m2/s MACR_emission_flux_from_AEIC_inventory #InvAEIC_NO NO 0 20 1 3 kg/m2/s NO_emission_flux_from_AEIC_inventory #InvAEIC_NO2 NO2 0 20 1 3 kg/m2/s NO2_emission_flux_from_AEIC_inventory #InvAEIC_OCPI OCPI 0 20 1 3 kg/m2/s OCPI_emission_flux_from_AEIC_inventory #InvAEIC_PRPE PRPE 0 20 1 3 kg/m2/s PRPE_emission_flux_from_AEIC_inventory #InvAEIC_RCHO RCHO 0 20 1 3 kg/m2/s RCHO_emission_flux_from_AEIC_inventory #InvAEIC_SO2 SO2 0 20 1 3 kg/m2/s SO2_emission_flux_from_AEIC_inventory #InvAEIC_SO4 SO4 0 20 1 3 kg/m2/s SO4_emission_flux_from_AEIC_inventory #InvAEIC_SOAP SOAP 0 20 1 3 kg/m2/s SOAP_emission_flux_from_AEIC_inventory #============================= # Decaying plants #============================= #InvPLANTDECAY_ALD2 ALD2 0 3 1 2 kg/m2/s ALD2_emission_flux_from_PLANTDECAY_inventory #InvPLANTDECAY_EOH EOH 0 3 1 2 kg/m2/s EOH_emission_flux_from_PLANTDECAY_inventory #============================= # AFCID emissions #============================= #InvAFCID_DST1 DST1 0 1 -1 2 kg/m2/s DST1_emission_flux_from_AFCID_inventory #============================= # Seaflux extension #============================= #InvSeaFlux_ACET ACET 101 -1 -1 2 kg/m2/s ACET_emission_flux_from_SeaFlux_extension #InvSeaFlux_ALD2 ALD2 101 -1 -1 2 kg/m2/s ALD2_emission_flux_from_SeaFlux_extension #InvSeaFlux_DMS DMS 101 -1 -1 2 kg/m2/s DMS_emission_flux_from_SeaFlux_extension #InvSeaFlux_ETNO3 ETNO3 101 -1 -1 2 kg/m2/s ETNO3_emission_flux_from_SeaFlux_extension #InvSeaFlux_MENO3 MENO3 101 -1 -1 2 kg/m2/s MENO3_emission_flux_from_SeaFlux_extension #InvSeaFlux_MOH MOH 101 -1 -1 2 kg/m2/s MOH_emission_flux_from_SeaFlux_extension #============================= # PARANOX extension #============================= #InvPARANOX_HNO3 HNO3 102 -1 -1 2 kg/m2/s HNO3_emission_flux_from_PARANOX_extension #InvPARANOX_NO NO 102 -1 -1 2 kg/m2/s NO_emission_flux_from_PARANOX_extension #InvPARANOX_NO2 NO2 102 -1 -1 2 kg/m2/s NO2_emission_flux_from_PARANOX_extension #InvPARANOX_O3 O3 102 -1 -1 2 kg/m2/s O3_emission_flux_from_PARANOX_extension #============================= # LIGHTNOX extension #============================= #InvLIGHTNOX_NO NO 103 -1 -1 3 kg/m2/s NO_emission_flux_from_lightning_extension #============================= # SOILNOX extension #============================= #InvSOILNOX_NO NO 104 -1 -1 2 kg/m2/s NO_emission_flux_from_SOINOX_extension_including_soil_and_fertilizer_emissions #============================= # DustL23M (dust) Extension #============================= # NOTE: Uncomment InvDustL23M_TDST if you wish to obtain total # dust emissions from HEMCO standalone simulations ##InvDustL23M_TDST TDST 125 -1 -1 2 kg/m2/s Total_dust_emission_flux_from_DustL23M_extension #InvDustL23M_DSTbin1 DSTbin1 125 -1 -1 2 kg/m2/s DSTbin1_emission_flux_from_DustL23M_extension #InvDustL23M_DSTbin2 DSTbin2 125 -1 -1 2 kg/m2/s DSTbin2_emission_flux_from_DustL23M_extension #InvDustL23M_DSTbin3 DSTbin3 125 -1 -1 2 kg/m2/s DSTbin3_emission_flux_from_DustL23M_extension #InvDustL23M_DSTbin4 DSTbin4 125 -1 -1 2 kg/m2/s DSTbin4_emission_flux_from_DustL23M_extension #InvDustL23M_DSTbin5 DSTbin5 125 -1 -1 2 kg/m2/s DSTbin5_emission_flux_from_DustL23M_extension #InvDustL23M_DSTbin6 DSTbin6 125 -1 -1 2 kg/m2/s DSTbin6_emission_flux_from_DustL23M_extension #InvDustL23M_DSTbin7 DSTbin7 125 -1 -1 2 kg/m2/s DSTbin7_emission_flux_from_DustL23M_extension #=================================== # DEAD (dust) Extension, for TOMAS #=================================== #InvDEAD_DST1 DST1 131 -1 -1 2 kg/m2/s DST1_emission_flux_from_DEAD_extension #InvDEAD_DST2 DST2 131 -1 -1 2 kg/m2/s DST2_emission_flux_from_DEAD_extension #InvDEAD_DST3 DST3 131 -1 -1 2 kg/m2/s DST3_emission_flux_from_DEAD_extension #InvDEAD_DST4 DST4 131 -1 -1 2 kg/m2/s DST4_emission_flux_from_DEAD_extension #InvDEAD_DST4 DST4 105 -1 -1 2 kg/m2/s DST4_emission_flux_from_DEAD_extension #============================= # SeaSalt extension #============================= #InvSeaSalt_BrSALA BrSALA 107 -1 -1 2 kg/m2/s BrSALA_emission_flux_from_SeaSalt_extension #InvSeaSalt_BrSALC BrSALC 107 -1 -1 2 kg/m2/s BrSALC_emission_flux_from_SeaSalt_extension #InvSeaSalt_SALA SALA 107 -1 -1 2 kg/m2/s SALA_emission_flux_from_SeaSalt_extension #InvSeaSalt_SALC SALC 107 -1 -1 2 kg/m2/s SALC_emission_flux_from_SeaSalt_extension #InvSeaSalt_SALAAL SALAAL 107 -1 -1 2 kg/m2/s SALAAL_emission_flux_from_SeaSalt_extension #InvSeaSalt_SALACL SALACL 107 -1 -1 2 kg/m2/s SALACL_emission_flux_from_SeaSalt_extension #InvSeaSalt_SALCAL SALCAL 107 -1 -1 2 kg/m2/s SALAAL_emission_flux_from_SeaSalt_extension #InvSeaSalt_SALCCL SALCCL 107 -1 -1 2 kg/m2/s SALCCL_emission_flux_from_SeaSalt_extension #============================= # MEGAN Extension #============================= #InvMEGAN_ALD2 ALD2 108 -1 -1 2 kg/m2/s ALD2_biogenic_emission_flux_from_MEGAN_extension # C2H4 is not an active species in GEOS-Chem; disable for now ##InvMEGAN_C2H4 C2H4 108 -1 -1 2 kg/m2/s C2H4_biogenic_emission_flux_from_MEGAN_extension #InvMEGAN_EOH EOH 108 -1 -1 2 kg/m2/s EOH_biogenic_emission_flux_from_MEGAN_extension #InvMEGAN_ISOP ISOP 108 -1 -1 2 kg/m2/s ISOP_biogenic_emission_flux_from_MEGAN_extension #InvMEGAN_LIMO LIMO 108 -1 -1 2 kg/m2/s LIMO_biogenic_emission_flux_from_MEGAN_extension #InvMEGAN_MTPA MTPA 108 -1 -1 2 kg/m2/s MTPA_biogenic_emission_flux_from_MEGAN_extension #InvMEGAN_MTPO MTPO 108 -1 -1 2 kg/m2/s MTPO_biogenic_emission_flux_from_MEGAN_extension #InvMEGAN_PRPE PRPE 108 -1 -1 2 kg/m2/s PRPE_biogenic_emission_flux_from_MEGAN_extension # SESQ is not an active species in GEOS-Chem; disable for now ##InvMEGAN_SESQ SESQ 108 -1 -1 2 kg/m2/s SESQ_biogenic_emission_flux_from_MEGAN_extension #InvMEGAN_SOAP SOAP 108 -1 -1 2 kg/m2/s SOAP_biogenic_emission_flux_from_MEGAN_extension #InvMEGAN_SOAS SOAS 108 -1 -1 2 kg/m2/s SOAS_biogenic_emission_flux_from_MEGAN_extension #InvMEGAN_ACET ACET 108 -1 -1 2 kg/m2/s ACET_biogenic_emission_flux_from_MEGAN_extension #InvMEGAN_ACET_MONO -1 108 -1 -1 2 kg/m2/s Acetone_from_monoterpenes_biogenic_emission_flux_from_MEGAN_extension #InvMEGAN_ACET_MBOX -1 108 -1 -1 2 kg/m2/s Acetone_from_methyl_butenol_biogenic_emission_flux_from_MEGAN_extension #InvMEGAN_ACET_DIRECT -1 108 -1 -1 2 kg/m2/s Direct_acetone_biogenic_emission_flux_from_MEGAN_extension #InvMEGAN_MOH MOH 108 -1 -1 2 kg/m2/s Methanol_emission_flux_from_MEGAN_extension #InvMEGAN_APIN -1 108 -1 -1 2 kg/m2/s Alpha_pinene_emission_flux_from_MEGAN_extension #InvMEGAN_BPIN -1 108 -1 -1 2 kg/m2/s Beta_pinene_acid_emission_flux_from_MEGAN_extension #InvMEGAN_SABI -1 108 -1 -1 2 kg/m2/s Sabinene_emission_flux_from_MEGAN_extension #InvMEGAN_MYRC -1 108 -1 -1 2 kg/m2/s Mycrene_emission_flux_from_MEGAN_extension #InvMEGAN_CARE -1 108 -1 -1 2 kg/m2/s 3_Carene_emission_flux_from_MEGAN_extension #InvMEGAN_OCIM -1 108 -1 -1 2 kg/m2/s Ocimene_emission_flux_from_MEGAN_extension #InvMEGAN_OMON -1 108 -1 -1 2 kg/m2/s Other_monoterpene_emission_flux_from_MEGAN_extension #InvMEGAN_MONX -1 108 -1 -1 2 kg/m2/s Total_monoterpene_emission_flux_from_MEGAN_extension #InvMEGAN_FARN -1 108 -1 -1 2 kg/m2/s alpha_Farnesene_emission_flux_from_MEGAN_extension #InvMEGAN_BCAR -1 108 -1 -1 2 kg/m2/s beta_caryophyllene_emission_flux_from_MEGAN_extension #InvMEGAN_OSQT -1 108 -1 -1 2 kg/m2/s Other_sesquiterpenes_emission_flux_from_MEGAN_extension #InvMEGAN_MBOX -1 108 -1 -1 2 kg/m2/s Methyl_butenol_emission_flux_from_MEGAN_extension #InvMEGAN_FAXX -1 108 -1 -1 2 kg/m2/s Formic_acid_emission_flux_from_MEGAN_extension #InvMEGAN_AAXX -1 108 -1 -1 2 kg/m2/s Acetic_acid_emission_flux_from_MEGAN_extension #============================= # GFED Extension #============================= #InvGFED_ACET ACET 111 -1 -1 2 kg/m2/s ACET_emission_flux_from_GFED_extension #InvGFED_ACR ACR 111 -1 -1 2 kg/m2/s ACR_emission_flux_from_GFED_extension #InvGFED_ACTA ACTA 111 -1 -1 2 kg/m2/s ACTA_emission_flux_from_GFED_extension #InvGFED_ALD2 ALD2 111 -1 -1 2 kg/m2/s ALD2_emission_flux_from_GFED_extension #InvGFED_ALK4 ALK4 111 -1 -1 2 kg/m2/s ALK4_emission_flux_from_GFED_extension #InvGFED_BCPI BCPI 111 -1 -1 2 kg/m2/s BCPI_emission_flux_from_GFED_extension #InvGFED_BCPO BCPO 111 -1 -1 2 kg/m2/s BCPO_emission_flux_from_GFED_extension #InvGFED_BENZ BENZ 111 -1 -1 2 kg/m2/s BENZ_emission_flux_from_GFED_extension #InvGFED_C2H6 C2H6 111 -1 -1 2 kg/m2/s C2H6_emission_flux_from_GFED_extension #InvGFED_C3H8 C3H8 111 -1 -1 2 kg/m2/s C3H8_emission_flux_from_GFED_extension #InvGFED_C4H6 C4H6 111 -1 -1 2 kg/m2/s C4H6_emission_flux_from_GFED_extension #InvGFED_CH2O CH2O 111 -1 -1 2 kg/m2/s CH2O_emission_flux_from_GFED_extension #InvGFED_CO CO 111 -1 -1 2 kg/m2/s CO_emission_flux_from_GFED_extension #InvGFED_EOH EOH 111 -1 -1 2 kg/m2/s EOH_emission_flux_from_GFED_extension #InvGFED_FURA FURA 111 -1 -1 2 kg/m2/s FURA_emission_flux_from_GFED_extension #InvGFED_GLYX GLYX 111 -1 -1 2 kg/m2/s GLYX_emission_flux_from_GFED_extension #InvGFED_HCOOH HCOOH 111 -1 -1 2 kg/m2/s HCOOH_emission_flux_from_GFED_extension #InvGFED_ISOP ISOP 111 -1 -1 2 kg/m2/s ISOP_emission_flux_from_GFED_extension #InvGFED_MEK MEK 111 -1 -1 2 kg/m2/s MEK_emission_flux_from_GFED_extension #InvGFED_MVK MVK 111 -1 -1 2 kg/m2/s MVK_emission_flux_from_GFED_extension #InvGFED_MGLY MGLY 111 -1 -1 2 kg/m2/s MGLY_emission_flux_from_GFED_extension #InvGFED_MOH MOH 111 -1 -1 2 kg/m2/s MOH_emission_flux_from_GFED_extension #InvGFED_MTPA MTP 111 -1 -1 2 kg/m2/s MTPA_emission_flux_from_GFED_extension #InvGFED_MVK MVK 111 -1 -1 2 kg/m2/s MVK_emission_flux_from_GFED_extension #InvGFED_NAP NAP 111 -1 -1 2 kg/m2/s NAP_emission_flux_from_GFED_extension #InvGFED_NH3 NH3 111 -1 -1 2 kg/m2/s NH3_emission_flux_from_GFED_extension #InvGFED_NO NO 111 -1 -1 2 kg/m2/s NO_emission_flux_from_GFED_extension #InvGFED_OCPI OCPI 111 -1 -1 2 kg/m2/s OCPI_emission_flux_from_GFED_extension #InvGFED_OCPO OCPO 111 -1 -1 2 kg/m2/s OCPO_emission_flux_from_GFED_extension #InvGFED_PHEN PHEN 111 -1 -1 2 kg/m2/s PHEN_emission_flux_from_GFED_extension #InvGFED_POG1 POG1 111 -1 -1 2 kg/m2/s POG1_emission_flux_from_GFED_extension #InvGFED_POG2 POG2 111 -1 -1 2 kg/m2/s POG2_emission_flux_from_GFED_extension #InvGFED_PRPE PRPE 111 -1 -1 2 kg/m2/s PRPE_emission_flux_from_GFED_extension #InvGFED_RCHO RCHO 111 -1 -1 2 kg/m2/s RCHO_emission_flux_from_GFED_extension #InvGFED_SO2 SO2 111 -1 -1 2 kg/m2/s SO2_emission_flux_from_GFED_extension #InvGFED_SOAP SOAP 111 -1 -1 2 kg/m2/s SOAP_emission_flux_from_GFED_extension #InvGFED_STYR STYR 111 -1 -1 2 kg/m2/s STYR_emission_flux_from_GFED_extension #InvGFED_TOLU TOLU 111 -1 -1 2 kg/m2/s TOLU_emission_flux_from_GFED_extension #InvGFED_XYLE ACET 111 -1 -1 2 kg/m2/s XYLE_emission_flux_from_GFED_extension #============================= # Volcano extension #============================= #InvVOLCANOerupt_SO2 SO2 117 51 -1 3 kg/m2/s SO2_eruptive_emission_flux_from_Volcano_extension #InvVOLCANOdegas_SO2 SO2 117 52 -1 3 kg/m2/s SO2_degassing_emission_flux_from_Volcano_extension #============================= # INORG_IODINE Extension #============================= #InvIODINE_HOI HOI 120 -1 -1 2 kg/m2/s HOI_emission_flux_from_INORG_IODINE_extension #InvIODINE_I2 I2 120 -1 -1 2 kg/m2/s I2_emission_flux_from_INORG_IODINE_extension #EOC ================================================ FILE: run/GCHP/HEMCO_Diagn.rc.templates/HEMCO_Diagn.rc.tagO3 ================================================ #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !MODULE: HEMCO_Diagn.rc # # !DESCRIPTION: Configuration file for netCDF diagnostic output from HEMCO # (for tagO3 simulations). #\\ #\\ # !REMARKS: # For more information about HEMCO diagnostics, see hemco.readthedocs.io. # # !REVISION HISTORY: # 13 Mar 2019 - M. Sulprizio- Initial version #EOP #------------------------------------------------------------------------------ #BOC # Name Spec ExtNr Cat Hier Dim OutUnit LongName EmisO3_Total O3 -1 -1 -1 3 kg/m2/s O3_emission_flux_from_all_sectors #EOC ================================================ FILE: run/GCHP/HISTORY.rc.templates/HISTORY.rc.TransportTracers ================================================ EXPID: OutputDir/GEOSChem EXPDSC: GEOS-Chem_devel CoresPerNode: 6 Allow_Overwrite: .true. VERSION: 1 #============================================================================== # Define grid labels # # Define output grids different from the native cubed sphere in this section. # Each diagnostics collection is output on the native resolution global cubed # sphere grid unless a different grid defined here is set for that collection # in the collections section of this file. # # See the examples below for defining different types of grid at different # resolutions. See the collections section later on in this file for instructions on # using an alternative grid for output. # # Beware that the online regridding is area-conserving. Only diagnostics # independent of grid cell area should be output on a custom grid. For more # information see the HISTORY.rc page at gchp.readthedocs.io/. #============================================================================== GRID_LABELS: #PE24x144-CF #PC360x181-DC #REGIONAL1x1 :: # Example of cubed-sphere grid at c24 resolution PE24x144-CF.GRID_TYPE: Cubed-Sphere PE24x144-CF.IM_WORLD: 24 PE24x144-CF.JM_WORLD: 144 PE24x144-CF.LM: 72 # Example of lat-lon global grid at 1x1 resolution PC360x181-DC.GRID_TYPE: LatLon PC360x181-DC.IM_WORLD: 360 PC360x181-DC.JM_WORLD: 181 PC360x181-DC.POLE: PC PC360x181-DC.DATELINE: DC PC360x181-DC.LM: 72 # Example of lat-lon regional grid at 1x1 resolution REGIONAL1x1.GRID_TYPE: LatLon REGIONAL1x1.IM_WORLD: 80 REGIONAL1x1.JM_WORLD: 40 REGIONAL1x1.POLE: XY REGIONAL1x1.DATELINE: XY REGIONAL1x1.LON_RANGE: 0 80 REGIONAL1x1.LAT_RANGE: -30 10 REGIONAL1x1.LM: 72 #============================================================================== # Declare collection names # # You can disable collections by commenting out with # #============================================================================== COLLECTIONS: 'Emissions', #'Budget', 'CloudConvFlux', 'DryDep', 'FV3Dynamics', 'GCHPctmEnvLevCenter', 'GCHPctmEnvLevEdge', 'RadioNuclide', 'SpeciesConc', 'StateMet', 'StateMetLevEdge', 'WetLossConv', 'WetLossLS', :: #============================================================================== # Define collections # # The rest of this file consists of collection definitions. # Above collections whose declarations are commented out will be ignored. # You can skip individual diagnostics by commenting out their names. # # WARNING: Frequency, duration, and mode will be over-written with # settings in setCommonRunSettings.sh. Edit settings in that file. You can execute the # script to update this file and then inspect results before submitting a # run. Collection names are hard-coded in that file; if you add more # collections then you must also add them there for auto-update, or manually # change settings for the new collection in this file. # # NOTES: # (1) Template keyword defines suffix of output filename, appended to # '{EXPID}.{collection}.'. See top of this file for EXPID definition. # # (2) Frequency keyword sets frequency of data in each output file # # (3) Duration keyword sets frequency of output file # # (4) Mode keyword may be 'time-averaged' or 'instantaneous' # # (5) See the GRID_LABELS sections above for details about output grids # # (6) To output data on a grid other than native res global cubed sphere # include the 'grid_label' field. For example, # # SpeciesConc.grid_label: REGIONAL1x1 # # (7) If you are outputting on a lat/lon grid, be sure to specify # conservative regridding. Otherwise regridding will be bi-linear. # # SpeciesConc.conservative: 1 # # (8) To output a reduced set of levels, use the levels keyword, e.g.: # # SpeciesConc.levels: 1 2 3 # #============================================================================== # Emissions (see HEMCO_Diagn.rc for additional config settings) Emissions.template: '%y4%m2%d2_%h2%n2z.nc4', Emissions.format: 'CFIO', Emissions.timestampStart: .true. Emissions.monthly: 1 Emissions.frequency: 010000 Emissions.duration: 010000 Emissions.mode: 'time-averaged' Emissions.fields: 'EmisRn_Soil ', 'GCHPchem', 'EmisBe7_Cosmic ', 'GCHPchem', 'EmisBe7s_Cosmic ', 'GCHPchem', 'EmisBe10_Cosmic ', 'GCHPchem', 'EmisBe10s_Cosmic ', 'GCHPchem', 'EmisSF6 ', 'GCHPchem', 'EmisCH3I ', 'GCHPchem', 'EmisCO_25 ', 'GCHPchem', 'EmisCO_50 ', 'GCHPchem', :: #============================================================================== # Budget defined as species kg/s in the column (full, troposphere, or PBL) # due to a single component (e.g. chemistry); default = ozone only; add more # species as needed to the example below (advected only) Budget.template: '%y4%m2%d2_%h2%n2z.nc4', Budget.format: 'CFIO', Budget.timestampStart: .true. Budget.monthly: 1 Budget.frequency: 010000 Budget.duration: 010000 Budget.mode: 'time-averaged' Budget.fields: 'BudgetChemistryFull_Rn222 ', 'GCHPchem', 'BudgetChemistryFull_Pb210 ', 'GCHPchem', 'BudgetChemistryFull_Pb210s ', 'GCHPchem', 'BudgetChemistryFull_Be7 ', 'GCHPchem', 'BudgetChemistryFull_Be7s ', 'GCHPchem', 'BudgetChemistryFull_Be10 ', 'GCHPchem', 'BudgetChemistryFull_Be10s ', 'GCHPchem', 'BudgetChemistryFull_CH3I ', 'GCHPchem', 'BudgetChemistryFull_CO_25 ', 'GCHPchem', 'BudgetChemistryFull_CO_50 ', 'GCHPchem', 'BudgetChemistryFull_e90 ', 'GCHPchem', 'BudgetChemistryFull_e90_n ', 'GCHPchem', 'BudgetChemistryFull_e90_s ', 'GCHPchem', 'BudgetChemistryFull_nh_5 ', 'GCHPchem', 'BudgetChemistryFull_nh_50 ', 'GCHPchem', 'BudgetChemistryFull_PassiveTracer ', 'GCHPchem', 'BudgetChemistryFull_SF6 ', 'GCHPchem', 'BudgetChemistryFull_st80_25 ', 'GCHPchem', # 'BudgetEmisDryDepFull_Rn222 ', 'GCHPchem', 'BudgetEmisDryDepFull_Pb210 ', 'GCHPchem', 'BudgetEmisDryDepFull_Pb210s ', 'GCHPchem', 'BudgetEmisDryDepFull_Be7 ', 'GCHPchem', 'BudgetEmisDryDepFull_Be7s ', 'GCHPchem', 'BudgetEmisDryDepFull_Be10 ', 'GCHPchem', 'BudgetEmisDryDepFull_Be10s ', 'GCHPchem', 'BudgetEmisDryDepFull_CH3I ', 'GCHPchem', 'BudgetEmisDryDepFull_CO_25 ', 'GCHPchem', 'BudgetEmisDryDepFull_CO_50 ', 'GCHPchem', 'BudgetEmisDryDepFull_e90 ', 'GCHPchem', 'BudgetEmisDryDepFull_e90_n ', 'GCHPchem', 'BudgetEmisDryDepFull_e90_s ', 'GCHPchem', 'BudgetEmisDryDepFull_nh_5 ', 'GCHPchem', 'BudgetEmisDryDepFull_nh_50 ', 'GCHPchem', 'BudgetEmisDryDepFull_PassiveTracer ', 'GCHPchem', 'BudgetEmisDryDepFull_SF6 ', 'GCHPchem', 'BudgetEmisDryDepFull_st80_25 ', 'GCHPchem', # 'BudgetMixingFull_Rn222 ', 'GCHPchem', 'BudgetMixingFull_Pb210 ', 'GCHPchem', 'BudgetMixingFull_Pb210s ', 'GCHPchem', 'BudgetMixingFull_Be7 ', 'GCHPchem', 'BudgetMixingFull_Be7s ', 'GCHPchem', 'BudgetMixingFull_Be10 ', 'GCHPchem', 'BudgetMixingFull_Be10s ', 'GCHPchem', 'BudgetMixingFull_CH3I ', 'GCHPchem', 'BudgetMixingFull_CO_25 ', 'GCHPchem', 'BudgetMixingFull_CO_50 ', 'GCHPchem', 'BudgetMixingFull_e90 ', 'GCHPchem', 'BudgetMixingFull_e90_n ', 'GCHPchem', 'BudgetMixingFull_e90_s ', 'GCHPchem', 'BudgetMixingFull_nh_5 ', 'GCHPchem', 'BudgetMixingFull_nh_50 ', 'GCHPchem', 'BudgetMixingFull_PassiveTracer ', 'GCHPchem', 'BudgetMixingFull_SF6 ', 'GCHPchem', 'BudgetMixingFull_st80_25 ', 'GCHPchem', # 'BudgetConvectionFull_Rn222 ', 'GCHPchem', 'BudgetConvectionFull_Pb210 ', 'GCHPchem', 'BudgetConvectionFull_Pb210s ', 'GCHPchem', 'BudgetConvectionFull_Be7 ', 'GCHPchem', 'BudgetConvectionFull_Be7s ', 'GCHPchem', 'BudgetConvectionFull_Be10 ', 'GCHPchem', 'BudgetConvectionFull_Be10s ', 'GCHPchem', 'BudgetConvectionFull_CH3I ', 'GCHPchem', 'BudgetConvectionFull_CO_25 ', 'GCHPchem', 'BudgetConvectionFull_CO_50 ', 'GCHPchem', 'BudgetConvectionFull_e90 ', 'GCHPchem', 'BudgetConvectionFull_e90_n ', 'GCHPchem', 'BudgetConvectionFull_e90_s ', 'GCHPchem', 'BudgetConvectionFull_nh_5 ', 'GCHPchem', 'BudgetConvectionFull_nh_50 ', 'GCHPchem', 'BudgetConvectionFull_PassiveTracer ', 'GCHPchem', 'BudgetConvectionFull_SF6 ', 'GCHPchem', 'BudgetConvectionFull_st80_25 ', 'GCHPchem', # 'BudgetWetDepFull_Pb210 ', 'GCHPchem', 'BudgetWetDepFull_Pb210s ', 'GCHPchem', 'BudgetWetDepFull_Be7 ', 'GCHPchem', 'BudgetWetDepFull_Be7s ', 'GCHPchem', 'BudgetWetDepFull_Be10 ', 'GCHPchem', 'BudgetWetDepFull_Be10s ', 'GCHPchem', # # 'BudgetChemistryLevs1to35_Rn222 ', 'GCHPchem', 'BudgetChemistryLevs1to35_Pb210 ', 'GCHPchem', 'BudgetChemistryLevs1to35_Pb210s ', 'GCHPchem', 'BudgetChemistryLevs1to35_Be7 ', 'GCHPchem', 'BudgetChemistryLevs1to35_Be7s ', 'GCHPchem', 'BudgetChemistryLevs1to35_Be10 ', 'GCHPchem', 'BudgetChemistryLevs1to35_Be10s ', 'GCHPchem', 'BudgetChemistryLevs1to35_CH3I ', 'GCHPchem', 'BudgetChemistryLevs1to35_CO_25 ', 'GCHPchem', 'BudgetChemistryLevs1to35_CO_50 ', 'GCHPchem', 'BudgetChemistryLevs1to35_e90 ', 'GCHPchem', 'BudgetChemistryLevs1to35_e90_n ', 'GCHPchem', 'BudgetChemistryLevs1to35_e90_s ', 'GCHPchem', 'BudgetChemistryLevs1to35_nh_5 ', 'GCHPchem', 'BudgetChemistryLevs1to35_nh_50 ', 'GCHPchem', 'BudgetChemistryLevs1to35_PassiveTracer ', 'GCHPchem', 'BudgetChemistryLevs1to35_SF6 ', 'GCHPchem', 'BudgetChemistryLevs1to35_st80_25 ', 'GCHPchem', # 'BudgetEmisDryDepLevs1to35_Rn222 ', 'GCHPchem', 'BudgetEmisDryDepLevs1to35_Pb210 ', 'GCHPchem', 'BudgetEmisDryDepLevs1to35_Pb210s ', 'GCHPchem', 'BudgetEmisDryDepLevs1to35_Be7 ', 'GCHPchem', 'BudgetEmisDryDepLevs1to35_Be7s ', 'GCHPchem', 'BudgetEmisDryDepLevs1to35_Be10 ', 'GCHPchem', 'BudgetEmisDryDepLevs1to35_Be10s ', 'GCHPchem', 'BudgetEmisDryDepLevs1to35_CH3I ', 'GCHPchem', 'BudgetEmisDryDepLevs1to35_CO_25 ', 'GCHPchem', 'BudgetEmisDryDepLevs1to35_CO_50 ', 'GCHPchem', 'BudgetEmisDryDepLevs1to35_e90 ', 'GCHPchem', 'BudgetEmisDryDepLevs1to35_e90_n ', 'GCHPchem', 'BudgetEmisDryDepLevs1to35_e90_s ', 'GCHPchem', 'BudgetEmisDryDepLevs1to35_nh_5 ', 'GCHPchem', 'BudgetEmisDryDepLevs1to35_nh_50 ', 'GCHPchem', 'BudgetEmisDryDepLevs1to35_PassiveTracer', 'GCHPchem', 'BudgetEmisDryDepLevs1to35_SF6 ', 'GCHPchem', 'BudgetEmisDryDepLevs1to35_st80_25 ', 'GCHPchem', # 'BudgetMixingLevs1to35_Rn222 ', 'GCHPchem', 'BudgetMixingLevs1to35_Pb210 ', 'GCHPchem', 'BudgetMixingLevs1to35_Pb210s ', 'GCHPchem', 'BudgetMixingLevs1to35_Be7 ', 'GCHPchem', 'BudgetMixingLevs1to35_Be7s ', 'GCHPchem', 'BudgetMixingLevs1to35_Be10 ', 'GCHPchem', 'BudgetMixingLevs1to35_Be10s ', 'GCHPchem', 'BudgetMixingLevs1to35_CH3I ', 'GCHPchem', 'BudgetMixingLevs1to35_CO_25 ', 'GCHPchem', 'BudgetMixingLevs1to35_CO_50 ', 'GCHPchem', 'BudgetMixingLevs1to35_e90 ', 'GCHPchem', 'BudgetMixingLevs1to35_e90_n ', 'GCHPchem', 'BudgetMixingLevs1to35_e90_s ', 'GCHPchem', 'BudgetMixingLevs1to35_nh_5 ', 'GCHPchem', 'BudgetMixingLevs1to35_nh_50 ', 'GCHPchem', 'BudgetMixingLevs1to35_PassiveTracer ', 'GCHPchem', 'BudgetMixingLevs1to35_SF6 ', 'GCHPchem', 'BudgetMixingLevs1to35_st80_25 ', 'GCHPchem', # 'BudgetConvectionLevs1to35_Rn222 ', 'GCHPchem', 'BudgetConvectionLevs1to35_Pb210 ', 'GCHPchem', 'BudgetConvectionLevs1to35_Pb210s ', 'GCHPchem', 'BudgetConvectionLevs1to35_Be7 ', 'GCHPchem', 'BudgetConvectionLevs1to35_Be7s ', 'GCHPchem', 'BudgetConvectionLevs1to35_Be10 ', 'GCHPchem', 'BudgetConvectionLevs1to35_Be10s ', 'GCHPchem', 'BudgetConvectionLevs1to35_CH3I ', 'GCHPchem', 'BudgetConvectionLevs1to35_CO_25 ', 'GCHPchem', 'BudgetConvectionLevs1to35_CO_50 ', 'GCHPchem', 'BudgetConvectionLevs1to35_e90 ', 'GCHPchem', 'BudgetConvectionLevs1to35_e90_n ', 'GCHPchem', 'BudgetConvectionLevs1to35_e90_s ', 'GCHPchem', 'BudgetConvectionLevs1to35_nh_5 ', 'GCHPchem', 'BudgetConvectionLevs1to35_nh_50 ', 'GCHPchem', 'BudgetConvectionLevs1to35_PassiveTracer', 'GCHPchem', 'BudgetConvectionLevs1to35_SF6 ', 'GCHPchem', 'BudgetConvectionLevs1to35_st80_25 ', 'GCHPchem', # 'BudgetWetDepLevs1to35_Pb210 ', 'GCHPchem', 'BudgetWetDepLevs1to35_Pb210s ', 'GCHPchem', 'BudgetWetDepLevs1to35_Be7 ', 'GCHPchem', 'BudgetWetDepLevs1to35_Be7s ', 'GCHPchem', 'BudgetWetDepLevs1to35_Be10 ', 'GCHPchem', 'BudgetWetDepLevs1to35_Be10s ', 'GCHPchem', # # 'BudgetChemistryTrop_Rn222 ', 'GCHPchem', 'BudgetChemistryTrop_Pb210 ', 'GCHPchem', 'BudgetChemistryTrop_Pb210s ', 'GCHPchem', 'BudgetChemistryTrop_Be7 ', 'GCHPchem', 'BudgetChemistryTrop_Be7s ', 'GCHPchem', 'BudgetChemistryTrop_Be10 ', 'GCHPchem', 'BudgetChemistryTrop_Be10s ', 'GCHPchem', 'BudgetChemistryTrop_CH3I ', 'GCHPchem', 'BudgetChemistryTrop_CO_25 ', 'GCHPchem', 'BudgetChemistryTrop_CO_50 ', 'GCHPchem', 'BudgetChemistryTrop_e90 ', 'GCHPchem', 'BudgetChemistryTrop_e90_n ', 'GCHPchem', 'BudgetChemistryTrop_e90_s ', 'GCHPchem', 'BudgetChemistryTrop_nh_5 ', 'GCHPchem', 'BudgetChemistryTrop_nh_50 ', 'GCHPchem', 'BudgetChemistryTrop_PassiveTracer ', 'GCHPchem', 'BudgetChemistryTrop_SF6 ', 'GCHPchem', 'BudgetChemistryTrop_st80_25 ', 'GCHPchem', # 'BudgetEmisDryDepTrop_Rn222 ', 'GCHPchem', 'BudgetEmisDryDepTrop_Pb210 ', 'GCHPchem', 'BudgetEmisDryDepTrop_Pb210s ', 'GCHPchem', 'BudgetEmisDryDepTrop_Be7 ', 'GCHPchem', 'BudgetEmisDryDepTrop_Be7s ', 'GCHPchem', 'BudgetEmisDryDepTrop_Be10 ', 'GCHPchem', 'BudgetEmisDryDepTrop_Be10s ', 'GCHPchem', 'BudgetEmisDryDepTrop_CH3I ', 'GCHPchem', 'BudgetEmisDryDepTrop_CO_25 ', 'GCHPchem', 'BudgetEmisDryDepTrop_CO_50 ', 'GCHPchem', 'BudgetEmisDryDepTrop_e90 ', 'GCHPchem', 'BudgetEmisDryDepTrop_e90_n ', 'GCHPchem', 'BudgetEmisDryDepTrop_e90_s ', 'GCHPchem', 'BudgetEmisDryDepTrop_nh_5 ', 'GCHPchem', 'BudgetEmisDryDepTrop_nh_50 ', 'GCHPchem', 'BudgetEmisDryDepTrop_PassiveTracer ', 'GCHPchem', 'BudgetEmisDryDepTrop_SF6 ', 'GCHPchem', 'BudgetEmisDryDepTrop_st80_25 ', 'GCHPchem', # 'BudgetMixingTrop_Rn222 ', 'GCHPchem', 'BudgetMixingTrop_Pb210 ', 'GCHPchem', 'BudgetMixingTrop_Pb210s ', 'GCHPchem', 'BudgetMixingTrop_Be7 ', 'GCHPchem', 'BudgetMixingTrop_Be7s ', 'GCHPchem', 'BudgetMixingTrop_Be10 ', 'GCHPchem', 'BudgetMixingTrop_Be10s ', 'GCHPchem', 'BudgetMixingTrop_CH3I ', 'GCHPchem', 'BudgetMixingTrop_CO_25 ', 'GCHPchem', 'BudgetMixingTrop_CO_50 ', 'GCHPchem', 'BudgetMixingTrop_e90 ', 'GCHPchem', 'BudgetMixingTrop_e90_n ', 'GCHPchem', 'BudgetMixingTrop_e90_s ', 'GCHPchem', 'BudgetMixingTrop_nh_5 ', 'GCHPchem', 'BudgetMixingTrop_nh_50 ', 'GCHPchem', 'BudgetMixingTrop_PassiveTracer ', 'GCHPchem', 'BudgetMixingTrop_SF6 ', 'GCHPchem', 'BudgetMixingTrop_st80_25 ', 'GCHPchem', # 'BudgetConvectionTrop_Rn222 ', 'GCHPchem', 'BudgetConvectionTrop_Pb210 ', 'GCHPchem', 'BudgetConvectionTrop_Pb210s ', 'GCHPchem', 'BudgetConvectionTrop_Be7 ', 'GCHPchem', 'BudgetConvectionTrop_Be7s ', 'GCHPchem', 'BudgetConvectionTrop_Be10 ', 'GCHPchem', 'BudgetConvectionTrop_Be10s ', 'GCHPchem', 'BudgetConvectionTrop_CH3I ', 'GCHPchem', 'BudgetConvectionTrop_CO_25 ', 'GCHPchem', 'BudgetConvectionTrop_CO_50 ', 'GCHPchem', 'BudgetConvectionTrop_e90 ', 'GCHPchem', 'BudgetConvectionTrop_e90_n ', 'GCHPchem', 'BudgetConvectionTrop_e90_s ', 'GCHPchem', 'BudgetConvectionTrop_nh_5 ', 'GCHPchem', 'BudgetConvectionTrop_nh_50 ', 'GCHPchem', 'BudgetConvectionTrop_PassiveTracer ', 'GCHPchem', 'BudgetConvectionTrop_SF6 ', 'GCHPchem', 'BudgetConvectionTrop_st80_25 ', 'GCHPchem', # 'BudgetWetDepTrop_Pb210 ', 'GCHPchem', 'BudgetWetDepTrop_Pb210s ', 'GCHPchem', 'BudgetWetDepTrop_Be7 ', 'GCHPchem', 'BudgetWetDepTrop_Be7s ', 'GCHPchem', 'BudgetWetDepTrop_Be10 ', 'GCHPchem', 'BudgetWetDepTrop_Be10s ', 'GCHPchem', # # 'BudgetChemistryPBL_Rn222 ', 'GCHPchem', 'BudgetChemistryPBL_Pb210 ', 'GCHPchem', 'BudgetChemistryPBL_Pb210s ', 'GCHPchem', 'BudgetChemistryPBL_Be7 ', 'GCHPchem', 'BudgetChemistryPBL_Be7s ', 'GCHPchem', 'BudgetChemistryPBL_Be10 ', 'GCHPchem', 'BudgetChemistryPBL_Be10s ', 'GCHPchem', 'BudgetChemistryPBL_CH3I ', 'GCHPchem', 'BudgetChemistryPBL_CO_25 ', 'GCHPchem', 'BudgetChemistryPBL_CO_50 ', 'GCHPchem', 'BudgetChemistryPBL_e90 ', 'GCHPchem', 'BudgetChemistryPBL_e90_n ', 'GCHPchem', 'BudgetChemistryPBL_e90_s ', 'GCHPchem', 'BudgetChemistryPBL_nh_5 ', 'GCHPchem', 'BudgetChemistryPBL_nh_50 ', 'GCHPchem', 'BudgetChemistryPBL_PassiveTracer ', 'GCHPchem', 'BudgetChemistryPBL_SF6 ', 'GCHPchem', 'BudgetChemistryPBL_st80_25 ', 'GCHPchem', # 'BudgetEmisDryDepPBL_Rn222 ', 'GCHPchem', 'BudgetEmisDryDepPBL_Pb210 ', 'GCHPchem', 'BudgetEmisDryDepPBL_Pb210s ', 'GCHPchem', 'BudgetEmisDryDepPBL_Be7 ', 'GCHPchem', 'BudgetEmisDryDepPBL_Be7s ', 'GCHPchem', 'BudgetEmisDryDepPBL_Be10 ', 'GCHPchem', 'BudgetEmisDryDepPBL_Be10s ', 'GCHPchem', 'BudgetEmisDryDepPBL_CH3I ', 'GCHPchem', 'BudgetEmisDryDepPBL_CO_25 ', 'GCHPchem', 'BudgetEmisDryDepPBL_CO_50 ', 'GCHPchem', 'BudgetEmisDryDepPBL_e90 ', 'GCHPchem', 'BudgetEmisDryDepPBL_e90_n ', 'GCHPchem', 'BudgetEmisDryDepPBL_e90_s ', 'GCHPchem', 'BudgetEmisDryDepPBL_nh_5 ', 'GCHPchem', 'BudgetEmisDryDepPBL_nh_50 ', 'GCHPchem', 'BudgetEmisDryDepPBL_PassiveTracer ', 'GCHPchem', 'BudgetEmisDryDepPBL_SF6 ', 'GCHPchem', 'BudgetEmisDryDepPBL_st80_25 ', 'GCHPchem', # 'BudgetMixingPBL_Rn222 ', 'GCHPchem', 'BudgetMixingPBL_Pb210 ', 'GCHPchem', 'BudgetMixingPBL_Pb210s ', 'GCHPchem', 'BudgetMixingPBL_Be7 ', 'GCHPchem', 'BudgetMixingPBL_Be7s ', 'GCHPchem', 'BudgetMixingPBL_Be10 ', 'GCHPchem', 'BudgetMixingPBL_Be10s ', 'GCHPchem', 'BudgetMixingPBL_CH3I ', 'GCHPchem', 'BudgetMixingPBL_CO_25 ', 'GCHPchem', 'BudgetMixingPBL_CO_50 ', 'GCHPchem', 'BudgetMixingPBL_e90 ', 'GCHPchem', 'BudgetMixingPBL_e90_n ', 'GCHPchem', 'BudgetMixingPBL_e90_s ', 'GCHPchem', 'BudgetMixingPBL_nh_5 ', 'GCHPchem', 'BudgetMixingPBL_nh_50 ', 'GCHPchem', 'BudgetMixingPBL_PassiveTracer ', 'GCHPchem', 'BudgetMixingPBL_SF6 ', 'GCHPchem', 'BudgetMixingPBL_st80_25 ', 'GCHPchem', # 'BudgetConvectionPBL_Rn222 ', 'GCHPchem', 'BudgetConvectionPBL_Pb210 ', 'GCHPchem', 'BudgetConvectionPBL_Pb210s ', 'GCHPchem', 'BudgetConvectionPBL_Be7 ', 'GCHPchem', 'BudgetConvectionPBL_Be7s ', 'GCHPchem', 'BudgetConvectionPBL_Be10 ', 'GCHPchem', 'BudgetConvectionPBL_Be10s ', 'GCHPchem', 'BudgetConvectionPBL_CH3I ', 'GCHPchem', 'BudgetConvectionPBL_CO_25 ', 'GCHPchem', 'BudgetConvectionPBL_CO_50 ', 'GCHPchem', 'BudgetConvectionPBL_e90 ', 'GCHPchem', 'BudgetConvectionPBL_e90_n ', 'GCHPchem', 'BudgetConvectionPBL_e90_s ', 'GCHPchem', 'BudgetConvectionPBL_nh_5 ', 'GCHPchem', 'BudgetConvectionPBL_nh_50 ', 'GCHPchem', 'BudgetConvectionPBL_PassiveTracer ', 'GCHPchem', 'BudgetConvectionPBL_SF6 ', 'GCHPchem', 'BudgetConvectionPBL_st80_25 ', 'GCHPchem', # 'BudgetWetDepPBL_Pb210 ', 'GCHPchem', 'BudgetWetDepPBL_Pb210s ', 'GCHPchem', 'BudgetWetDepPBL_Be7 ', 'GCHPchem', 'BudgetWetDepPBL_Be7s ', 'GCHPchem', 'BudgetWetDepPBL_Be10 ', 'GCHPchem', 'BudgetWetDepPBL_Be10s ', 'GCHPchem', :: #=============================================================================== CloudConvFlux.template: '%y4%m2%d2_%h2%n2z.nc4', CloudConvFlux.format: 'CFIO', CloudConvFlux.timestampStart: .true. CloudConvFlux.monthly: 1 CloudConvFlux.frequency: 010000 CloudConvFlux.duration: 010000 CloudConvFlux.mode: 'time-averaged' CloudConvFlux.fields: 'CloudConvFlux_Rn222 ', 'GCHPchem', 'CloudConvFlux_Pb210 ', 'GCHPchem', 'CloudConvFlux_Pb210s ', 'GCHPchem', 'CloudConvFlux_Be7 ', 'GCHPchem', 'CloudConvFlux_Be7s ', 'GCHPchem', 'CloudConvFlux_Be10 ', 'GCHPchem', 'CloudConvFlux_Be10s ', 'GCHPchem', 'CloudConvFlux_aoa ', 'GCHPchem', 'CloudConvFlux_aoa_bl ', 'GCHPchem', 'CloudConvFlux_aoa_nh ', 'GCHPchem', 'CloudConvFlux_CH3I ', 'GCHPchem', 'CloudConvFlux_CO_25 ', 'GCHPchem', 'CloudConvFlux_CO_50 ', 'GCHPchem', 'CloudConvFlux_e90 ', 'GCHPchem', 'CloudConvFlux_e90_n ', 'GCHPchem', 'CloudConvFlux_e90_s ', 'GCHPchem', 'CloudConvFlux_nh_5 ', 'GCHPchem', 'CloudConvFlux_nh_50 ', 'GCHPchem', 'CloudConvFlux_PassiveTracer ', 'GCHPchem', 'CloudConvFlux_SF6 ', 'GCHPchem', 'CloudConvFlux_st80_25 ', 'GCHPchem', :: #============================================================================== DryDep.template: '%y4%m2%d2_%h2%n2z.nc4', DryDep.format: 'CFIO', DryDep.timestampStart: .true. DryDep.monthly: 1 DryDep.frequency: 010000 DryDep.duration: 010000 DryDep.mode: 'time-averaged' DryDep.fields: 'DryDep_Pb210 ', 'GCHPchem', 'DryDep_Pb210s ', 'GCHPchem', 'DryDep_Be7 ', 'GCHPchem', 'DryDep_Be7s ', 'GCHPchem', 'DryDep_Be10 ', 'GCHPchem', 'DryDep_Be10s ', 'GCHPchem', 'DryDepVel_Pb210 ', 'GCHPchem', 'DryDepVel_Pb210s ', 'GCHPchem', 'DryDepVel_Be7 ', 'GCHPchem', 'DryDepVel_Be7s ', 'GCHPchem', 'DryDepVel_Be10 ', 'GCHPchem', 'DryDepVel_Be10s ', 'GCHPchem', :: #============================================================================== FV3Dynamics.template: '%y4%m2%d2_%h2%n2z.nc4', FV3Dynamics.format: 'CFIO', FV3Dynamics.timestampStart: .true. FV3Dynamics.monthly: 1 FV3Dynamics.frequency: 010000 FV3Dynamics.duration: 010000 FV3Dynamics.mode: 'time-averaged' FV3Dynamics.fields: 'PLE_R4 ', 'DYNAMICS', 'DryPLE_R4 ', 'DYNAMICS', 'PLEadv_R4 ', 'DYNAMICS', :: #============================================================================== GCHPctmEnvLevEdge.template: '%y4%m2%d2_%h2%n2z.nc4', GCHPctmEnvLevEdge.format: 'CFIO', GCHPctmEnvLevEdge.timestampStart: .true. GCHPctmEnvLevEdge.monthly: 1 GCHPctmEnvLevEdge.frequency: 010000 GCHPctmEnvLevEdge.duration: 010000 GCHPctmEnvLevEdge.mode: 'time-averaged' GCHPctmEnvLevEdge.fields: 'UpwardsMassFlux_R4 ', 'GCHPctmEnv', 'PLE0_R4 ', 'GCHPctmEnv', 'PLE1_R4 ', 'GCHPctmEnv', 'DryPLE0_R4 ', 'GCHPctmEnv', 'DryPLE1_R4 ', 'GCHPctmEnv', :: #============================================================================== GCHPctmEnvLevCenter.template: '%y4%m2%d2_%h2%n2z.nc4', GCHPctmEnvLevCenter.format: 'CFIO', GCHPctmEnvLevCenter.timestampStart: .true. GCHPctmEnvLevCenter.monthly: 1 GCHPctmEnvLevCenter.frequency: 010000 GCHPctmEnvLevCenter.duration: 010000 GCHPctmEnvLevCenter.mode: 'time-averaged' GCHPctmEnvLevCenter.fields: 'SPHU0_R4 ', 'GCHPctmEnv', 'CX_R4 ', 'GCHPctmEnv', 'CY_R4 ', 'GCHPctmEnv', 'MFX_R4 ', 'GCHPctmEnv', 'MFY_R4 ', 'GCHPctmEnv', :: #============================================================================== RadioNuclide.template: '%y4%m2%d2_%h2%n2z.nc4', RadioNuclide.format: 'CFIO', RadioNuclide.timestampStart: .true. RadioNuclide.monthly: 1 RadioNuclide.frequency: 010000 RadioNuclide.duration: 010000 RadioNuclide.mode: 'time-averaged' RadioNuclide.fields: 'PbFromRnDecay ', 'GCHPchem', 'RadDecay_Rn222 ', 'GCHPchem', 'RadDecay_Pb210 ', 'GCHPchem', 'RadDecay_Pb210s ', 'GCHPchem', 'RadDecay_Be7 ', 'GCHPchem', 'RadDecay_Be7s ', 'GCHPchem', 'RadDecay_Be10 ', 'GCHPchem', 'RadDecay_Be10s ', 'GCHPchem', :: #============================================================================== SpeciesConc.template: '%y4%m2%d2_%h2%n2z.nc4', SpeciesConc.format: 'CFIO', SpeciesConc.timestampStart: .true. SpeciesConc.monthly: 1 SpeciesConc.frequency: 010000 SpeciesConc.duration: 010000 SpeciesConc.mode: 'time-averaged' SpeciesConc.fields: 'SpeciesConcVV_Rn222 ', 'GCHPchem', 'SpeciesConcVV_Pb210 ', 'GCHPchem', 'SpeciesConcVV_Pb210s ', 'GCHPchem', 'SpeciesConcVV_Be7 ', 'GCHPchem', 'SpeciesConcVV_Be7s ', 'GCHPchem', 'SpeciesConcVV_Be10 ', 'GCHPchem', 'SpeciesConcVV_Be10s ', 'GCHPchem', 'SpeciesConcVV_aoa ', 'GCHPchem', 'SpeciesConcVV_aoa_bl ', 'GCHPchem', 'SpeciesConcVV_aoa_nh ', 'GCHPchem', 'SpeciesConcVV_CH3I ', 'GCHPchem', 'SpeciesConcVV_CO_25 ', 'GCHPchem', 'SpeciesConcVV_CO_50 ', 'GCHPchem', 'SpeciesConcVV_e90 ', 'GCHPchem', 'SpeciesConcVV_e90_n ', 'GCHPchem', 'SpeciesConcVV_e90_s ', 'GCHPchem', 'SpeciesConcVV_nh_5 ', 'GCHPchem', 'SpeciesConcVV_nh_50 ', 'GCHPchem', 'SpeciesConcVV_PassiveTracer ', 'GCHPchem', 'SpeciesConcVV_SF6 ', 'GCHPchem', 'SpeciesConcVV_st80_25 ', 'GCHPchem', :: #============================================================================== StateMet.template: '%y4%m2%d2_%h2%n2z.nc4', StateMet.format: 'CFIO', StateMet.timestampStart: .true. StateMet.monthly: 1 StateMet.frequency: 010000 StateMet.duration: 010000 StateMet.mode: 'time-averaged' StateMet.fields: 'Met_AD ', 'GCHPchem', 'Met_AIRDEN ', 'GCHPchem', 'Met_AIRVOL ', 'GCHPchem', 'Met_ALBD ', 'GCHPchem', 'Met_AREAM2 ', 'GCHPchem', 'Met_AVGW ', 'GCHPchem', 'Met_BXHEIGHT ', 'GCHPchem', 'Met_ChemGridLev ', 'GCHPchem', 'Met_CLDF ', 'GCHPchem', 'Met_CLDFRC ', 'GCHPchem', 'Met_CLDTOPS ', 'GCHPchem', 'Met_DELP ', 'GCHPchem', 'Met_DQRCU ', 'GCHPchem', 'Met_DQRLSAN ', 'GCHPchem', 'Met_DTRAIN ', 'GCHPchem', 'Met_EFLUX ', 'GCHPchem', 'Met_FRCLND ', 'GCHPchem', 'Met_FRLAKE ', 'GCHPchem', 'Met_FRLAND ', 'GCHPchem', 'Met_FRLANDICE ', 'GCHPchem', 'Met_FROCEAN ', 'GCHPchem', 'Met_FRSEAICE ', 'GCHPchem', 'Met_FRSNOW ', 'GCHPchem', 'Met_GWETROOT ', 'GCHPchem', 'Met_GWETTOP ', 'GCHPchem', 'Met_HFLUX ', 'GCHPchem', 'Met_LAI ', 'GCHPchem', 'Met_PARDR ', 'GCHPchem', 'Met_PARDF ', 'GCHPchem', 'Met_PBLTOPL ', 'GCHPchem', 'Met_PBLH ', 'GCHPchem', 'Met_PHIS ', 'GCHPchem', 'Met_PMID ', 'GCHPchem', 'Met_PMIDDRY ', 'GCHPchem', 'Met_PRECANV ', 'GCHPchem', 'Met_PRECCON ', 'GCHPchem', 'Met_PRECLSC ', 'GCHPchem', 'Met_PRECTOT ', 'GCHPchem', 'Met_PS1DRY ', 'GCHPchem', 'Met_PS1WET ', 'GCHPchem', 'Met_PS2DRY ', 'GCHPchem', 'Met_PS2WET ', 'GCHPchem', 'Met_PSC2WET ', 'GCHPchem', 'Met_PSC2DRY ', 'GCHPchem', 'Met_QI ', 'GCHPchem', 'Met_QL ', 'GCHPchem', 'Met_OMEGA ', 'GCHPchem', 'Met_OPTD ', 'GCHPchem', 'Met_REEVAPCN ', 'GCHPchem', 'Met_REEVAPLS ', 'GCHPchem', 'Met_SLP ', 'GCHPchem', 'Met_SNODP ', 'GCHPchem', 'Met_SNOMAS ', 'GCHPchem', 'Met_SPHU ', 'GCHPchem', 'Met_SPHU1 ', 'GCHPchem', 'Met_SPHU2 ', 'GCHPchem', 'Met_SUNCOS ', 'GCHPchem', 'Met_SUNCOSmid ', 'GCHPchem', 'Met_SWGDN ', 'GCHPchem', 'Met_T ', 'GCHPchem', 'Met_TAUCLI ', 'GCHPchem', 'Met_TAUCLW ', 'GCHPchem', 'Met_THETA ', 'GCHPchem', 'Met_TMPU1 ', 'GCHPchem', 'Met_TMPU2 ', 'GCHPchem', 'Met_TO3 ', 'GCHPchem', 'Met_TropHt ', 'GCHPchem', 'Met_TropLev ', 'GCHPchem', 'Met_TropP ', 'GCHPchem', 'Met_TS ', 'GCHPchem', 'Met_TSKIN ', 'GCHPchem', 'Met_TV ', 'GCHPchem', 'Met_U ', 'GCHPchem', 'Met_U10M ', 'GCHPchem', 'Met_USTAR ', 'GCHPchem', 'Met_UVALBEDO ', 'GCHPchem', 'Met_V ', 'GCHPchem', 'Met_V10M ', 'GCHPchem', 'Met_Z0 ', 'GCHPchem', :: #============================================================================== StateMetLevEdge.template: '%y4%m2%d2_%h2%n2z.nc4', StateMetLevEdge.format: 'CFIO', StateMetLevEdge.timestampStart: .true. StateMetLevEdge.monthly: 1 StateMetLevEdge.frequency: 010000 StateMetLevEdge.duration: 010000 StateMetLevEdge.mode: 'time-averaged' StateMetLevEdge.fields: 'Met_CMFMC ', 'GCHPchem', 'Met_PEDGE ', 'GCHPchem', 'Met_PEDGEDRY ', 'GCHPchem', 'Met_PFICU ', 'GCHPchem', 'Met_PFILSAN ', 'GCHPchem', 'Met_PFLCU ', 'GCHPchem', 'Met_PFLLSAN ', 'GCHPchem', :: #============================================================================== WetLossConv.template: '%y4%m2%d2_%h2%n2z.nc4', WetLossConv.format: 'CFIO', WetLossConv.timestampStart: .true. WetLossConv.monthly: 1 WetLossConv.frequency: 010000 WetLossConv.duration: 010000 WetLossConv.mode: 'time-averaged' WetLossConv.fields: 'WetLossConv_Pb210 ', 'GCHPchem', 'WetLossConv_Pb210s ', 'GCHPchem', 'WetLossConv_Be7 ', 'GCHPchem', 'WetLossConv_Be7s ', 'GCHPchem', 'WetLossConv_Be10 ', 'GCHPchem', 'WetLossConv_Be10s ', 'GCHPchem', 'WetLossConvFrac_Pb210 ', 'GCHPchem', 'WetLossConvFrac_Pb210s ', 'GCHPchem', 'WetLossConvFrac_Be7 ', 'GCHPchem', 'WetLossConvFrac_Be7s ', 'GCHPchem', 'WetLossConvFrac_Be10 ', 'GCHPchem', 'WetLossConvFrac_Be10s ', 'GCHPchem', :: #============================================================================== WetLossLS.template: '%y4%m2%d2_%h2%n2z.nc4', WetLossLS.format: 'CFIO', WetLossLS.timestampStart: .true. WetLossLS.monthly: 1 WetLossLS.frequency: 010000 WetLossLS.duration: 010000 WetLossLS.mode: 'time-averaged' WetLossLS.fields: 'WetLossLS_Pb210 ', 'GCHPchem', 'WetLossLS_Pb210s ', 'GCHPchem', 'WetLossLS_Be7 ', 'GCHPchem', 'WetLossLS_Be7s ', 'GCHPchem', 'WetLossLS_Be10 ', 'GCHPchem', 'WetLossLS_Be10s ', 'GCHPchem', :: ================================================ FILE: run/GCHP/HISTORY.rc.templates/HISTORY.rc.carbon ================================================ EXPID: OutputDir/GEOSChem EXPDSC: GEOS-Chem_devel CoresPerNode: 6 Allow_Overwrite: .true. VERSION: 1 #============================================================================== # Define grid labels # # Define output grids different from the native cubed sphere in this section. # Each diagnostics collection is output on the native resolution global cubed # sphere grid unless a different grid defined here is set for that collection # in the collections section of this file. # # See the examples below for defining different types of grid at different # resolutions. See the collections section later on in this file for # instructions on using an alternative grid for output. # # Beware that the online regridding is area-conserving. Only diagnostics # independent of grid cell area should be output on a custom grid. For more # information see the HISTORY.rc page at gchp.readthedocs.io/. #============================================================================== GRID_LABELS: #PE24x144-CF #PC360x181-DC #REGIONAL1x1 :: # Example of cubed-sphere grid at c24 resolution PE24x144-CF.GRID_TYPE: Cubed-Sphere PE24x144-CF.IM_WORLD: 24 PE24x144-CF.JM_WORLD: 144 PE24x144-CF.LM: 72 # Example of lat-lon global grid at 1x1 resolution PC360x181-DC.GRID_TYPE: LatLon PC360x181-DC.IM_WORLD: 360 PC360x181-DC.JM_WORLD: 181 PC360x181-DC.POLE: PC PC360x181-DC.DATELINE: DC PC360x181-DC.LM: 72 # Example of lat-lon regional grid at 1x1 resolution REGIONAL1x1.GRID_TYPE: LatLon REGIONAL1x1.IM_WORLD: 80 REGIONAL1x1.JM_WORLD: 40 REGIONAL1x1.POLE: XY REGIONAL1x1.DATELINE: XY REGIONAL1x1.LON_RANGE: 0 80 REGIONAL1x1.LAT_RANGE: -30 10 REGIONAL1x1.LM: 72 #============================================================================== # Declare collection names and toggle on/off with # #============================================================================== COLLECTIONS: 'SpeciesConc', 'Emissions', #'Budget', #'CloudConvFlux', #'FV3Dynamics', #'GCHPctmEnvLevCenter', #'GCHPctmEnvLevEdge', #'KppDiags', 'ProdLoss', #'RxnConst', #'RxnRates', 'StateMet', 'StateMetLevEdge', :: #============================================================================== # Define collections # # The rest of this file consists of collection definitions. # Above collections whose declarations are commented out will be ignored. # You can skip individual diagnostics by commenting out their names. # # WARNING: Frequency, duration, and mode will be over-written with # settings in setCommonRunSettings.sh. Edit settings in that file. You can execute the # script to update this file and then inspect results before submitting a # run. Collection names are hard-coded in that file; if you add more # collections then you must also add them there for auto-update, or manually # change settings for the new collection in this file. # # NOTES: # (1) Template keyword defines suffix of output filename, appended to # '{EXPID}.{collection}.'. See top of this file for EXPID definition. # # (2) Frequency keyword sets frequency of data in each output file # # (3) Duration keyword sets frequency of output file # # (4) Mode keyword may be 'time-averaged' or 'instantaneous' # # (5) See the GRID_LABELS sections above for details about output grids # # (6) To output data on a grid other than native res global cubed sphere # include the 'grid_label' field. For example, # # SpeciesConc.grid_label: REGIONAL1x1 # # (7) If you are outputting on a lat/lon grid, be sure to specify # conservative regridding. Otherwise regridding will be bi-linear. # # SpeciesConc.conservative: 1 # # (8) To output a reduced set of levels, use the levels keyword, e.g.: # # SpeciesConc.levels: 1 2 3 # #============================================================================== # Emissions (see HEMCO_Diagn.rc for additional config settings) Emissions.template: '%y4%m2%d2_%h2%n2z.nc4', Emissions.format: 'CFIO', Emissions.timestampStart: .true. Emissions.monthly: 1 Emissions.frequency: 010000 Emissions.duration: 010000 Emissions.mode: 'time-averaged' Emissions.fields: 'EmisCH4_Total ', 'GCHPchem', 'EmisCH4_Oil ', 'GCHPchem', 'EmisCH4_Gas ', 'GCHPchem', 'EmisCH4_Coal ', 'GCHPchem', 'EmisCH4_Livestock ', 'GCHPchem', 'EmisCH4_Landfills ', 'GCHPchem', 'EmisCH4_Wastewater ', 'GCHPchem', 'EmisCH4_Rice ', 'GCHPchem', 'EmisCH4_OtherAnth ', 'GCHPchem', 'EmisCH4_BiomassBurn ', 'GCHPchem', 'EmisCH4_Wetlands ', 'GCHPchem', 'EmisCH4_Seeps ', 'GCHPchem', 'EmisCH4_Lakes ', 'GCHPchem', 'EmisCH4_Termites ', 'GCHPchem', 'EmisCH4_SoilAbsorb ', 'GCHPchem', 'EmisCH4_Reservoirs ', 'GCHPchem', 'EmisCO_Total ', 'GCHPchem', 'EmisCO_Aircraft ', 'GCHPchem', 'EmisCO_Anthro ', 'GCHPchem', 'EmisCO_BiomassBurn ', 'GCHPchem', 'EmisCO_Ship ', 'GCHPchem', 'EmisCO2_Total ', 'GCHPchem', 'EmisCO2_FossilFuel ', 'GCHPchem', 'EmisCO2_Ocean ', 'GCHPchem', 'EmisCO2_BalBiosph ', 'GCHPchem', 'EmisCO2_NetTerrExch ', 'GCHPchem', 'EmisCO2_Ship ', 'GCHPchem', 'EmisCO2_Aviation ', 'GCHPchem', 'EmisCO2_CO2SurfCorr ', 'GCHPchem', 'EmisCO2_BiomassBurn ', 'GCHPchem', 'EmisOCS_Total ', 'GCHPchem', 'EmisOCS_Anthro ', 'GCHPchem', 'EmisOCS_BiomassBurn ', 'GCHPchem', 'EmisOCS_MissingOcean ', 'GCHPchem', 'EmisOCS_Ocean ', 'GCHPchem', :: #============================================================================== SpeciesConc.template: '%y4%m2%d2_%h2%n2z.nc4', SpeciesConc.format: 'CFIO', SpeciesConc.timestampStart: .true. SpeciesConc.monthly: 1 SpeciesConc.frequency: 010000 SpeciesConc.duration: 240000 SpeciesConc.mode: 'time-averaged' SpeciesConc.fields: 'SpeciesConcVV_CH4 ', 'GCHPchem', 'SpeciesConcVV_CO ', 'GCHPchem', 'SpeciesConcVV_CO2 ', 'GCHPchem', 'SpeciesConcVV_OCS ', 'GCHPchem', #'SpeciesConcMND_CH4 ', 'GCHPchem', #'SpeciesConcMND_CO ', 'GCHPchem', #'SpeciesConcMND_CO2 ', 'GCHPchem', #'SpeciesConcMND_OCS ', 'GCHPchem', :: #============================================================================== # Budget defined as species kg/s in the column (full, troposphere, or PBL) # due to a single component (e.g. chemistry); default = ozone only; add more # species as needed to the example below (advected only) Budget.template: '%y4%m2%d2_%h2%n2z.nc4', Budget.format: 'CFIO', Budget.timestampStart: .true. Budget.monthly: 1 Budget.frequency: 010000 Budget.duration: 010000 Budget.mode: 'time-averaged' Budget.fields: 'BudgetEmisDryDepFull_CH4 ', 'GCHPchem', 'BudgetEmisDryDepTrop_CH4 ', 'GCHPchem', 'BudgetEmisDryDepPBL_CH4 ', 'GCHPchem', 'BudgetEmisDryDepLevs1to35_CH4 ', 'GCHPchem', 'BudgetMixingFull_CH4 ', 'GCHPchem', 'BudgetMixingTrop_CH4 ', 'GCHPchem', 'BudgetMixingPBL_CH4 ', 'GCHPchem', 'BudgetMixingLevs1to35_CH4 ', 'GCHPchem', 'BudgetConvectionFull_CH4 ', 'GCHPchem', 'BudgetConvectionTrop_CH4 ', 'GCHPchem', 'BudgetConvectionPBL_CH4 ', 'GCHPchem', 'BudgetConvectionLevs1to35_CH4 ', 'GCHPchem', 'BudgetChemistryFull_CH4 ', 'GCHPchem', 'BudgetChemistryTrop_CH4 ', 'GCHPchem', 'BudgetChemistryPBL_CH4 ', 'GCHPchem', 'BudgetChemistryLevs1to35_CH4 ', 'GCHPchem', 'BudgetEmisDryDepFull_CO ', 'GCHPchem', 'BudgetEmisDryDepTrop_CO ', 'GCHPchem', 'BudgetEmisDryDepPBL_CO ', 'GCHPchem', 'BudgetEmisDryDepLevs1to35_CO ', 'GCHPchem', 'BudgetMixingFull_CO ', 'GCHPchem', 'BudgetMixingTrop_CO ', 'GCHPchem', 'BudgetMixingPBL_CO ', 'GCHPchem', 'BudgetMixingLevs1to35_CO ', 'GCHPchem', 'BudgetConvectionFull_CO ', 'GCHPchem', 'BudgetConvectionTrop_CO ', 'GCHPchem', 'BudgetConvectionPBL_CO ', 'GCHPchem', 'BudgetConvectionLevs1to35_CO ', 'GCHPchem', 'BudgetEmisDryDepFull_CO2 ', 'GCHPchem', 'BudgetEmisDryDepTrop_CO2 ', 'GCHPchem', 'BudgetEmisDryDepPBL_CO2 ', 'GCHPchem', 'BudgetEmisDryDepLevs1to35_CO2 ', 'GCHPchem', 'BudgetMixingFull_CO2 ', 'GCHPchem', 'BudgetMixingTrop_CO2 ', 'GCHPchem', 'BudgetMixingPBL_CO2 ', 'GCHPchem', 'BudgetMixingLevs1to35_CO2 ', 'GCHPchem', 'BudgetConvectionFull_CO2 ', 'GCHPchem', 'BudgetConvectionTrop_CO2 ', 'GCHPchem', 'BudgetConvectionPBL_CO2 ', 'GCHPchem', 'BudgetConvectionLevs1to35_CO2 ', 'GCHPchem', 'BudgetEmisDryDepFull_OCS ', 'GCHPchem', 'BudgetEmisDryDepTrop_OCS ', 'GCHPchem', 'BudgetEmisDryDepPBL_OCS ', 'GCHPchem', 'BudgetEmisDryDepLevs1to35_OCS ', 'GCHPchem', 'BudgetMixingFull_OCS ', 'GCHPchem', 'BudgetMixingTrop_OCS ', 'GCHPchem', 'BudgetMixingPBL_OCS ', 'GCHPchem', 'BudgetMixingLevs1to35_OCS ', 'GCHPchem', 'BudgetConvectionFull_OCS ', 'GCHPchem', 'BudgetConvectionTrop_OCS ', 'GCHPchem', 'BudgetConvectionPBL_OCS ', 'GCHPchem', 'BudgetConvectionLevs1to35_OCS ', 'GCHPchem', :: #=============================================================================== # Cloud convective fluxes CloudConvFlux.template: '%y4%m2%d2_%h2%n2z.nc4', CloudConvFlux.format: 'CFIO', CloudConvFlux.timestampStart: .true. CloudConvFlux.monthly: 1 CloudConvFlux.frequency: 010000 CloudConvFlux.duration: 010000 CloudConvFlux.mode: 'time-averaged' CloudConvFlux.fields: 'CloudConvFlux_CH4 ', 'GCHPchem', 'CloudConvFlux_CO ', 'GCHPchem', 'CloudConvFlux_CO2 ', 'GCHPchem', 'CloudConvFlux_OCS ', 'GCHPchem', :: #============================================================================== FV3Dynamics.template: '%y4%m2%d2_%h2%n2z.nc4', FV3Dynamics.format: 'CFIO', FV3Dynamics.timestampStart: .true. FV3Dynamics.monthly: 1 FV3Dynamics.frequency: 010000 FV3Dynamics.duration: 010000 FV3Dynamics.mode: 'time-averaged' FV3Dynamics.fields: 'PLE_R4 ', 'DYNAMICS', 'DryPLE_R4 ', 'DYNAMICS', 'PLEadv_R4 ', 'DYNAMICS', :: #============================================================================== GCHPctmEnvLevEdge.template: '%y4%m2%d2_%h2%n2z.nc4', GCHPctmEnvLevEdge.format: 'CFIO', GCHPctmEnvLevEdge.timestampStart: .true. GCHPctmEnvLevEdge.monthly: 1 GCHPctmEnvLevEdge.frequency: 010000 GCHPctmEnvLevEdge.duration: 010000 GCHPctmEnvLevEdge.mode: 'time-averaged' GCHPctmEnvLevEdge.fields: 'UpwardsMassFlux_R4 ', 'GCHPctmEnv', 'PLE0_R4 ', 'GCHPctmEnv', 'PLE1_R4 ', 'GCHPctmEnv', 'DryPLE0_R4 ', 'GCHPctmEnv', 'DryPLE1_R4 ', 'GCHPctmEnv', :: #============================================================================== GCHPctmEnvLevCenter.template: '%y4%m2%d2_%h2%n2z.nc4', GCHPctmEnvLevCenter.format: 'CFIO', GCHPctmEnvLevCenter.timestampStart: .true. GCHPctmEnvLevCenter.monthly: 1 GCHPctmEnvLevCenter.frequency: 010000 GCHPctmEnvLevCenter.duration: 010000 GCHPctmEnvLevCenter.mode: 'time-averaged' GCHPctmEnvLevCenter.fields: 'SPHU0_R4 ', 'GCHPctmEnv', 'CX_R4 ', 'GCHPctmEnv', 'CY_R4 ', 'GCHPctmEnv', 'MFX_R4 ', 'GCHPctmEnv', 'MFY_R4 ', 'GCHPctmEnv', :: #============================================================================== KppDiags.template: '%y4%m2%d2_%h2%n2z.nc4', KppDiags.format: 'CFIO', KppDiags.monthly: 1 KppDiags.frequency: 010000 KppDiags.duration: 010000 KppDiags.mode: 'time-averaged' KppDiags.fields: 'KppIntCounts ', 'GCHPchem', 'KppJacCounts ', 'GCHPchem', 'KppTotSteps ', 'GCHPchem', 'KppAccSteps ', 'GCHPchem', 'KppRejSteps ', 'GCHPchem', 'KppLuDecomps ', 'GCHPchem', 'KppSubsts ', 'GCHPchem', 'KppSmDecomps ', 'GCHPchem', 'KppTime ', 'GCHPchem', :: #============================================================================== # Prod and loss terms from the carbon simulation ProdLoss.template: '%y4%m2%d2_%h2%n2z.nc4', ProdLoss.format: 'CFIO', ProdLoss.timestampStart: .true. ProdLoss.monthly: 1 ProdLoss.frequency: 010000 ProdLoss.duration: 010000 ProdLoss.mode: 'time-averaged' ProdLoss.fields: 'ProdCOfromCH4 ', 'GCHPchem', 'ProdCOfromNMVOC', 'GCHPchem', 'ProdCO2fromCO ', 'GCHPchem', :: #============================================================================== RxnRates.template: '%y4%m2%d2_%h2%n2z.nc4', RxnRates.format: 'CFIO', RxnRates.monthly: 1 RxnRates.frequency: 010000 RxnRates.duration: 010000 RxnRates.mode: 'time-averaged' RxnRates.fields: 'RxnRate_EQ0001 ', 'GCHPchem', 'RxnRate_EQ0002 ', 'GCHPchem', 'RxnRate_EQ0003 ', 'GCHPchem', 'RxnRate_EQ0004 ', 'GCHPchem', 'RxnRate_EQ0005 ', 'GCHPchem', 'RxnRate_EQ0006 ', 'GCHPchem', 'RxnRate_EQ0007 ', 'GCHPchem', 'RxnRate_EQ0008 ', 'GCHPchem', :: #============================================================================== RxnConst.template: '%y4%m2%d2_%h2%n2z.nc4', RxnConst.format: 'CFIO', RxnConst.monthly: 1 RxnConst.frequency: 010000 RxnConst.duration: 010000 RxnConst.mode: 'time-averaged' RxnConst.fields: 'RxnConst_EQ0001 ', 'GCHPchem', 'RxnConst_EQ0002 ', 'GCHPchem', 'RxnConst_EQ0003 ', 'GCHPchem', 'RxnConst_EQ0004 ', 'GCHPchem', 'RxnConst_EQ0005 ', 'GCHPchem', 'RxnConst_EQ0006 ', 'GCHPchem', 'RxnConst_EQ0007 ', 'GCHPchem', 'RxnConst_EQ0008 ', 'GCHPchem', :: #============================================================================== StateMet.template: '%y4%m2%d2_%h2%n2z.nc4', StateMet.format: 'CFIO', StateMet.timestampStart: .true. StateMet.monthly: 1 StateMet.frequency: 010000 StateMet.duration: 010000 StateMet.mode: 'time-averaged' StateMet.fields: 'Met_AD ', 'GCHPchem', 'Met_AIRDEN ', 'GCHPchem', 'Met_AIRVOL ', 'GCHPchem', 'Met_ALBD ', 'GCHPchem', 'Met_AREAM2 ', 'GCHPchem', 'Met_AVGW ', 'GCHPchem', 'Met_BXHEIGHT ', 'GCHPchem', 'Met_ChemGridLev', 'GCHPchem', 'Met_CLDF ', 'GCHPchem', 'Met_CLDFRC ', 'GCHPchem', 'Met_CLDTOPS ', 'GCHPchem', 'Met_DELP ', 'GCHPchem', 'Met_DQRCU ', 'GCHPchem', 'Met_DQRLSAN ', 'GCHPchem', 'Met_DTRAIN ', 'GCHPchem', 'Met_EFLUX ', 'GCHPchem', 'Met_FRCLND ', 'GCHPchem', 'Met_FRLAKE ', 'GCHPchem', 'Met_FRLAND ', 'GCHPchem', 'Met_FRLANDICE ', 'GCHPchem', 'Met_FROCEAN ', 'GCHPchem', 'Met_FRSEAICE ', 'GCHPchem', 'Met_FRSNOW ', 'GCHPchem', 'Met_GWETROOT ', 'GCHPchem', 'Met_GWETTOP ', 'GCHPchem', 'Met_HFLUX ', 'GCHPchem', 'Met_LAI ', 'GCHPchem', 'Met_PARDR ', 'GCHPchem', 'Met_PARDF ', 'GCHPchem', 'Met_PBLTOPL ', 'GCHPchem', 'Met_PBLH ', 'GCHPchem', 'Met_PHIS ', 'GCHPchem', 'Met_PMID ', 'GCHPchem', 'Met_PMIDDRY ', 'GCHPchem', 'Met_PRECANV ', 'GCHPchem', 'Met_PRECCON ', 'GCHPchem', 'Met_PRECLSC ', 'GCHPchem', 'Met_PRECTOT ', 'GCHPchem', 'Met_PS1DRY ', 'GCHPchem', 'Met_PS1WET ', 'GCHPchem', 'Met_PS2DRY ', 'GCHPchem', 'Met_PS2WET ', 'GCHPchem', 'Met_PSC2WET ', 'GCHPchem', 'Met_PSC2DRY ', 'GCHPchem', 'Met_QI ', 'GCHPchem', 'Met_QL ', 'GCHPchem', 'Met_OMEGA ', 'GCHPchem', 'Met_OPTD ', 'GCHPchem', 'Met_REEVAPCN ', 'GCHPchem', 'Met_REEVAPLS ', 'GCHPchem', 'Met_SLP ', 'GCHPchem', 'Met_SNODP ', 'GCHPchem', 'Met_SNOMAS ', 'GCHPchem', 'Met_SPHU ', 'GCHPchem', 'Met_SPHU1 ', 'GCHPchem', 'Met_SPHU2 ', 'GCHPchem', 'Met_SUNCOS ', 'GCHPchem', 'Met_SUNCOSmid ', 'GCHPchem', 'Met_SWGDN ', 'GCHPchem', 'Met_T ', 'GCHPchem', 'Met_TAUCLI ', 'GCHPchem', 'Met_TAUCLW ', 'GCHPchem', 'Met_THETA ', 'GCHPchem', 'Met_TMPU1 ', 'GCHPchem', 'Met_TMPU2 ', 'GCHPchem', 'Met_TO3 ', 'GCHPchem', 'Met_TropHt ', 'GCHPchem', 'Met_TropLev ', 'GCHPchem', 'Met_TropP ', 'GCHPchem', 'Met_TS ', 'GCHPchem', 'Met_TSKIN ', 'GCHPchem', 'Met_TV ', 'GCHPchem', 'Met_U ', 'GCHPchem', 'Met_U10M ', 'GCHPchem', 'Met_USTAR ', 'GCHPchem', 'Met_UVALBEDO ', 'GCHPchem', 'Met_V ', 'GCHPchem', 'Met_V10M ', 'GCHPchem', 'Met_Z0 ', 'GCHPchem', :: #============================================================================== StateMetLevEdge.template: '%y4%m2%d2_%h2%n2z.nc4', StateMetLevEdge.format: 'CFIO', StateMetLevEdge.timestampStart: .true. StateMetLevEdge.monthly: 1 StateMetLevEdge.frequency: 010000 StateMetLevEdge.duration: 010000 StateMetLevEdge.mode: 'time-averaged' StateMetLevEdge.fields: 'Met_PEDGE ', 'GCHPchem', #'Met_CMFMC ', 'GCHPchem', #'Met_PEDGEDRY', 'GCHPchem', #'Met_PFICU ', 'GCHPchem', #'Met_PFILSAN ', 'GCHPchem', #'Met_PFLCU ', 'GCHPchem', #'Met_PFLLSAN ', 'GCHPchem', :: ================================================ FILE: run/GCHP/HISTORY.rc.templates/HISTORY.rc.fullchem ================================================ EXPID: OutputDir/GEOSChem EXPDSC: GEOS-Chem_devel CoresPerNode: 6 Allow_Overwrite: .true. VERSION: 1 #============================================================================== # Define grid labels # # Define output grids different from the native cubed sphere in this section. # Each diagnostics collection is output on the native resolution global cubed # sphere grid unless a different grid defined here is set for that collection # in the collections section of this file. # # See the examples below for defining different types of grid at different # resolutions. See the collections section later on in this file for # instructions on using an alternative grid for output. # # Beware that the online regridding is area-conserving. Only diagnostics # independent of grid cell area should be output on a custom grid. For more # information see the HISTORY.rc page at gchp.readthedocs.io/. #============================================================================== GRID_LABELS: #PE24x144-CF #PC360x181-DC #REGIONAL1x1 :: # Example of cubed-sphere grid at c24 resolution PE24x144-CF.GRID_TYPE: Cubed-Sphere PE24x144-CF.IM_WORLD: 24 PE24x144-CF.JM_WORLD: 144 PE24x144-CF.LM: 72 # Example of lat-lon global grid at 1x1 resolution PC360x181-DC.GRID_TYPE: LatLon PC360x181-DC.IM_WORLD: 360 PC360x181-DC.JM_WORLD: 181 PC360x181-DC.POLE: PC PC360x181-DC.DATELINE: DC PC360x181-DC.LM: 72 # Example of lat-lon regional grid at 1x1 resolution REGIONAL1x1.GRID_TYPE: LatLon REGIONAL1x1.IM_WORLD: 80 REGIONAL1x1.JM_WORLD: 40 REGIONAL1x1.POLE: XY REGIONAL1x1.DATELINE: XY REGIONAL1x1.LON_RANGE: 0 80 REGIONAL1x1.LAT_RANGE: -30 10 REGIONAL1x1.LM: 72 #============================================================================== # Declare collection names # # You can disable collections by commenting out with # # # WARNING: Some diagnostic collections have a subset of output fields # commented out by default. Inspect fields of collections you turn on # before running to ensure you will get the output you intend. #============================================================================== COLLECTIONS: @#'DefaultCollection', #'AerosolMass', #'Aerosols', @#'Budget', @#'CloudConvFlux', @#'ConcAboveSfc', @#'ConcAfterChem', #'DryDep', #'Emissions', #'FV3Dynamics', #'GCHPctmEnvLevCenter', #'GCHPctmEnvLevEdge', #'JValues', #'Metrics', @#'KppDiags', @#'KppARDiags', @#'ProdLoss', @##'RRTMG', @##'DynHeating', @##'RxnRates', @##'RxnConst', #'SpeciesConc', @#'StateChm', #'StateMet', @#'StateMetLevEdge', @#'StratBM', @##'Tomas', @#'UVFlux', @#'WetLossConv', @#'WetLossLS', :: #============================================================================== # Define collections # # The rest of this file consists of collection definitions. # Above collections whose declarations are commented out will be ignored. # You can skip individual diagnostics by commenting out their names. # # WARNING: Frequency, duration, and mode will be over-written with # settings in setCommonRunSettings.sh. Edit settings in that file. You can execute the # script to update this file and then inspect results before submitting a # run. Collection names are hard-coded in that file; if you add more # collections then you must also add them there for auto-update, or manually # change settings for the new collection in this file. # # NOTES: # (1) Template keyword defines suffix of output filename, appended to # GCHP.{collection}. # # (2) Frequency keyword sets frequency of data in each output file # # (3) Duration keyword sets frequency of output file # # (4) Mode keyword may be 'time-averaged' or 'instantaneous' # # (5) See the GRID_LABELS sections above for details about output grids # # (6) To output data on a grid other than native res global cubed sphere # include the 'grid_label' field. For example, # # SpeciesConc.grid_label: REGIONAL1x1 # # (7) If you are outputting on a lat/lon grid, be sure to specify # conservative regridding. Otherwise regridding will be bi-linear. # # SpeciesConc.conservative: 1 # # (8) To output a reduced set of levels, use the levels keyword, e.g.: # # SpeciesConc.levels: 1 2 3 # #============================================================================== #============================================================================== # %%%%% THE DefaultCollection COLLECTION %%%%% # # Reduced set of output including some species concentrations, met-fields, # and PM2.5 #============================================================================== DefaultCollection.template: '%y4%m2%d2_%h2%n2z.nc4', DefaultCollection.format: 'CFIO', DefaultCollection.timestampStart: .true. DefaultCollection.frequency: 240000 DefaultCollection.duration: 240000 DefaultCollection.mode: 'time-averaged' DefaultCollection.fields: 'SpeciesConcVV_O3 ', 'GCHPchem', 'SpeciesConcVV_NO ', 'GCHPchem', 'SpeciesConcVV_NO2 ', 'GCHPchem', 'SpeciesConcVV_OH ', 'GCHPchem', 'SpeciesConcVV_CO ', 'GCHPchem', 'PM25 ', 'GCHPchem', 'Met_T ', 'GCHPchem', 'Met_RH ', 'GCHPchem', 'Met_PBLH ', 'GCHPchem', 'Met_AIRDEN ', 'GCHPchem', 'Met_PMID ', 'GCHPchem', 'Met_PMIDDRY ', 'GCHPchem', 'Met_TropHt ', 'GCHPchem', 'Met_TropP ', 'GCHPchem', 'Met_BXHEIGHT ', 'GCHPchem', 'Met_PS1DRY ', 'GCHPchem', 'Met_PS1WET ', 'GCHPchem', :: #============================================================================== # %%%%% THE Emissions COLLECTION %%%%% # # HEMCO emissions by species and category, and inventory emissions # # Please note that this collection is output with level definition flipped # relative to all other GCHP diagnostics. Level index 1 corresponds to # top-of-atmosphere. # # See HEMCO_Diagn.rc for additional config settings #============================================================================== Emissions.template: '%y4%m2%d2_%h2%n2z.nc4', Emissions.format: 'CFIO', Emissions.timestampStart: .true. Emissions.monthly: 1 Emissions.frequency: 010000 Emissions.duration: 010000 Emissions.mode: 'time-averaged' Emissions.fields: 'EmisACET_Total ', 'GCHPchem', 'EmisACET_BioBurn ', 'GCHPchem', 'EmisACET_Biogenic ', 'GCHPchem', 'EmisACET_Ocean ', 'GCHPchem', 'EmisACR_Total ', 'GCHPchem', 'EmisACR_BioBurn ', 'GCHPchem', 'EmisACTA_Total ', 'GCHPchem', 'EmisACTA_BioBurn ', 'GCHPchem', 'EmisALD2_Total ', 'GCHPchem', 'EmisALD2_Anthro ', 'GCHPchem', 'EmisALD2_BioBurn ', 'GCHPchem', 'EmisALD2_Biogenic ', 'GCHPchem', 'EmisALD2_Ocean ', 'GCHPchem', 'EmisALD2_PlantDecay ', 'GCHPchem', 'EmisALD2_Ship ', 'GCHPchem', 'EmisALK4_Total ', 'GCHPchem', 'EmisALK4_Aircraft ', 'GCHPchem', 'EmisALK4_Anthro ', 'GCHPchem', 'EmisALK4_BioBurn ', 'GCHPchem', 'EmisALK4_Ship ', 'GCHPchem', 'EmisALK6_Total ', 'GCHPchem', 'EmisALK6_Anthro ', 'GCHPchem', 'EmisALK6_Ship ', 'GCHPchem', 'EmisBCPI_Total ', 'GCHPchem', 'EmisBCPI_Aircraft ', 'GCHPchem', 'EmisBCPI_Anthro ', 'GCHPchem', 'EmisBCPI_BioBurn ', 'GCHPchem', 'EmisBCPI_Ship ', 'GCHPchem', 'EmisBCPO_Total ', 'GCHPchem', 'EmisBCPO_Anthro ', 'GCHPchem', 'EmisBCPO_BioBurn ', 'GCHPchem', 'EmisBCPO_Ship ', 'GCHPchem', 'EmisBENZ_Total ', 'GCHPchem', 'EmisBENZ_Anthro ', 'GCHPchem', 'EmisBENZ_BioBurn ', 'GCHPchem', 'EmisBENZ_Ship ', 'GCHPchem', 'EmisC2H2_Total ', 'GCHPchem', 'EmisC2H2_Anthro ', 'GCHPchem', 'EmisC2H2_BioBurn ', 'GCHPchem', 'EmisC2H2_Ship ', 'GCHPchem', 'EmisC2H4_Total ', 'GCHPchem', 'EmisC2H4_Anthro ', 'GCHPchem', 'EmisC2H4_BioBurn ', 'GCHPchem', 'EmisC2H4_Biogenic ', 'GCHPchem', 'EmisC2H4_Ship ', 'GCHPchem', 'EmisC2H6_Total ', 'GCHPchem', 'EmisC2H6_Aircraft ', 'GCHPchem', 'EmisC2H6_Anthro ', 'GCHPchem', 'EmisC2H6_BioBurn ', 'GCHPchem', 'EmisC2H6_Ship ', 'GCHPchem', 'EmisC3H8_Total ', 'GCHPchem', 'EmisC3H8_Aircraft ', 'GCHPchem', 'EmisC3H8_Anthro ', 'GCHPchem', 'EmisC3H8_BioBurn ', 'GCHPchem', 'EmisC3H8_Ship ', 'GCHPchem', 'EmisC4H6_Total ', 'GCHPchem', 'EmisC4H6_BioBurn ', 'GCHPchem', 'EmisCH2Br2_Ocean ', 'GCHPchem', 'EmisCH2I2_Ocean ', 'GCHPchem', 'EmisCH2ICl_Ocean ', 'GCHPchem', 'EmisCH2IBr_Ocean ', 'GCHPchem', 'EmisCH2O_Total ', 'GCHPchem', 'EmisCH2O_Aircraft ', 'GCHPchem', 'EmisCH2O_Anthro ', 'GCHPchem', 'EmisCH2O_BioBurn ', 'GCHPchem', 'EmisCH2O_Ship ', 'GCHPchem', 'EmisCH3I_Ocean ', 'GCHPchem', ####'EmisCH4_Total ', 'GCHPchem', ####'EmisCH4_Anthro ', 'GCHPchem', ####'EmisCH4_BioBurn ', 'GCHPchem', ####'EmisCH4_Ship ', 'GCHPchem', 'EmisCHBr3_Ocean ', 'GCHPchem', 'EmisCO_Total ', 'GCHPchem', 'EmisCO_Aircraft ', 'GCHPchem', 'EmisCO_Anthro ', 'GCHPchem', 'EmisCO_BioBurn ', 'GCHPchem', 'EmisCO_Ship ', 'GCHPchem', 'EmisCO2_Total ', 'GCHPchem', 'EmisCO2_Anthro ', 'GCHPchem', 'EmisCO2_BioBurn ', 'GCHPchem', 'EmisCO2_Ship ', 'GCHPchem', 'EmisDMS_Ocean ', 'GCHPchem', 'EmisDSTbin1_Total ', 'GCHPchem', 'EmisDSTbin1_Anthro ', 'GCHPchem', 'EmisDSTbin1_Natural ', 'GCHPchem', 'EmisDSTbin2_Total ', 'GCHPchem', 'EmisDSTbin2_Anthro ', 'GCHPchem', 'EmisDSTbin2_Natural ', 'GCHPchem', 'EmisDSTbin3_Total ', 'GCHPchem', 'EmisDSTbin3_Anthro ', 'GCHPchem', 'EmisDSTbin3_Natural ', 'GCHPchem', 'EmisDSTbin4_Total ', 'GCHPchem', 'EmisDSTbin4_Anthro ', 'GCHPchem', 'EmisDSTbin4_Natural ', 'GCHPchem', 'EmisDSTbin5_Natural ', 'GCHPchem', 'EmisDSTbin6_Natural ', 'GCHPchem', 'EmisDSTbin7_Natural ', 'GCHPchem', 'EmisEOH_Total ', 'GCHPchem', 'EmisEOH_Anthro ', 'GCHPchem', 'EmisEOH_BioBurn ', 'GCHPchem', 'EmisEOH_Biogenic ', 'GCHPchem', 'EmisEOH_PlantDecay ', 'GCHPchem', 'EmisEOH_Ship ', 'GCHPchem', 'EmisETNO3_Ocean ', 'GCHPchem', 'EmisFURA_Total ', 'GCHPchem', 'EmisFURA_BioBurn ', 'GCHPchem', 'EmisGLYX_Total ', 'GCHPchem', 'EmisGLYX_BioBurn ', 'GCHPchem', 'EmisH2O_Aircraft ', 'GCHPchem', 'EmisHCl_Total ', 'GCHPchem', 'EmisHCl_Anthro ', 'GCHPchem', 'EmisHCOOH_Total ', 'GCHPchem', 'EmisHCOOH_Anthro ', 'GCHPchem', 'EmisHCOOH_BioBurn ', 'GCHPchem', 'EmisHCOOH_Ship ', 'GCHPchem', 'EmisHNO3_Ship ', 'GCHPchem', 'EmisHONO_Aircraft ', 'GCHPchem', 'EmisISOP_Total ', 'GCHPchem', 'EmisISOP_BioBurn ', 'GCHPchem', 'EmisISOP_Biogenic ', 'GCHPchem', 'EmisLIMO_Biogenic ', 'GCHPchem', 'EmisMACR_Total ', 'GCHPchem', 'EmisMACR_Aircraft ', 'GCHPchem', 'EmisMEK_Total ', 'GCHPchem', 'EmisMEK_Anthro ', 'GCHPchem', 'EmisMEK_BioBurn ', 'GCHPchem', 'EmisMEK_Ship ', 'GCHPchem', 'EmisMENO3_Ocean ', 'GCHPchem', 'EmisMGLY_Total ', 'GCHPchem', 'EmisMGLY_BioBurn ', 'GCHPchem', 'EmisMOH_Total ', 'GCHPchem', 'EmisMOH_Anthro ', 'GCHPchem', 'EmisMOH_BioBurn ', 'GCHPchem', 'EmisMOH_Biogenic ', 'GCHPchem', 'EmisMOH_Ocean ', 'GCHPchem', 'EmisMOH_Ship ', 'GCHPchem', 'EmisMTPA_Total ', 'GCHPchem', 'EmisMTPA_BioBurn ', 'GCHPchem', 'EmisMTPA_Biogenic ', 'GCHPchem', 'EmisMTPO_Total ', 'GCHPchem', 'EmisMTPO_Biogenic ', 'GCHPchem', 'EmisMVK_Total ', 'GCHPchem', 'EmisMVK_BioBurn ', 'GCHPchem', 'EmisNAP_Total ', 'GCHPchem', 'EmisNAP_Anthro ', 'GCHPchem', 'EmisNAP_BioBurn ', 'GCHPchem', 'EmisNH3_Total ', 'GCHPchem', 'EmisNH3_Anthro ', 'GCHPchem', 'EmisNH3_BioBurn ', 'GCHPchem', 'EmisNH3_Natural ', 'GCHPchem', 'EmisNH3_Seabirds ', 'GCHPchem', 'EmisNH3_Ship ', 'GCHPchem', 'EmisNO_Total ', 'GCHPchem', 'EmisNO_Aircraft ', 'GCHPchem', 'EmisNO_Anthro ', 'GCHPchem', 'EmisNO_BioBurn ', 'GCHPchem', 'EmisNO_Lightning ', 'GCHPchem', 'EmisNO_Ship ', 'GCHPchem', 'EmisNO_Soil ', 'GCHPchem', #### #### NOTE: EmisNO_Soil contains soil + fertilizer. #### EmisNO_Fert contains only fertilizer, and can #### only be used when the SoilNOx extension is on. #### Comment out EmisNO_Fert unless you REALLY #### need a separate diagnostic for fertilizer. #### ####'EmisNO_Fert ', 'GCHPchem', 'EmisNO2_Total ', 'GCHPchem', 'EmisNO2_Aircraft ', 'GCHPchem', 'EmisNO2_Ship ', 'GCHPchem', 'EmisO3_Ship ', 'GCHPchem', 'EmisOCPI_Total ', 'GCHPchem', 'EmisOCPI_Aircraft ', 'GCHPchem', 'EmisOCPI_Anthro ', 'GCHPchem', 'EmisOCPI_BioBurn ', 'GCHPchem', 'EmisOCPI_Ship ', 'GCHPchem', 'EmisOCPO_Total ', 'GCHPchem', 'EmisOCPO_Anthro ', 'GCHPchem', 'EmisOCPO_BioBurn ', 'GCHPchem', 'EmisOCPO_Ship ', 'GCHPchem', 'EmispFe_Total ', 'GCHPchem', 'EmispFe_Anthro ', 'GCHPchem', 'EmispFe_Ship ', 'GCHPchem', 'EmisPHEN_Total ', 'GCHPchem', 'EmisPHEN_BioBurn ', 'GCHPchem', 'EmisPOG1_Total ', 'GCHPchem', 'EmisPOG1_Anthro ', 'GCHPchem', 'EmisPOG1_BioBurn ', 'GCHPchem', 'EmisPOG2_Total ', 'GCHPchem', 'EmisPOG2_Anthro ', 'GCHPchem', 'EmisPOG2_BioBurn ', 'GCHPchem', 'EmisPRPE_Total ', 'GCHPchem', 'EmisPRPE_Aircraft ', 'GCHPchem', 'EmisPRPE_Anthro ', 'GCHPchem', 'EmisPRPE_BioBurn ', 'GCHPchem', 'EmisPRPE_Biogenic ', 'GCHPchem', 'EmisPRPE_Ship ', 'GCHPchem', 'EmisRCHO_Total ', 'GCHPchem', 'EmisRCHO_Aircraft ', 'GCHPchem', 'EmisRCHO_BioBurn ', 'GCHPchem', #### #### NOTE: SESQ is not an advected species, #### so leave this commented out for now. #### ####'EmisSESQ_Biogenic ', 'GCHPchem', 'EmisSALA_Natural ', 'GCHPchem', 'EmisBrSALA_Natural ', 'GCHPchem', 'EmisSALAAL_Natural ', 'GCHPchem', 'EmisSALACL_Natural ', 'GCHPchem', 'EmisSALC_Natural ', 'GCHPchem', 'EmisBrSALC_Natural ', 'GCHPchem', 'EmisSALCAL_Natural ', 'GCHPchem', 'EmisSALCCL_Natural ', 'GCHPchem', 'EmisSO2_Total ', 'GCHPchem', 'EmisSO2_Aircraft ', 'GCHPchem', 'EmisSO2_Anthro ', 'GCHPchem', 'EmisSO2_BioBurn ', 'GCHPchem', 'EmisSO2_VolcErupt ', 'GCHPchem', 'EmisSO2_VolcDegas ', 'GCHPchem', 'EmisSO2_Ship ', 'GCHPchem', 'EmisSO4_Total ', 'GCHPchem', 'EmisSO4_Aircraft ', 'GCHPchem', 'EmisSO4_Anthro ', 'GCHPchem', 'EmisSO4_Ship ', 'GCHPchem', 'EmisSOAP_Total ', 'GCHPchem', 'EmisSOAP_Aircraft ', 'GCHPchem', 'EmisSOAP_Anthro ', 'GCHPchem', 'EmisSOAP_Biogenic ', 'GCHPchem', 'EmisSOAP_BioBurn ', 'GCHPchem', 'EmisSOAP_Ship ', 'GCHPchem', 'EmisSOAS_Biogenic ', 'GCHPchem', 'EmisSTYR_Total ', 'GCHPchem', 'EmisSTYR_BioBurn ', 'GCHPchem', 'EmisTMB_Total ', 'GCHPchem', 'EmisTMB_Anthro ', 'GCHPchem', 'EmisTMB_Ship ', 'GCHPchem', 'EmisTOLU_Total ', 'GCHPchem', 'EmisTOLU_Anthro ', 'GCHPchem', 'EmisTOLU_BioBurn ', 'GCHPchem', 'EmisTOLU_Ship ', 'GCHPchem', 'EmisXYLE_Total ', 'GCHPchem', 'EmisXYLE_Anthro ', 'GCHPchem', 'EmisXYLE_BioBurn ', 'GCHPchem', 'EmisXYLE_Ship ', 'GCHPchem', 'HcoLightningFlashRate_Total ', 'GCHPchem', 'HcoLightningFlashRate_IntraCld ', 'GCHPchem', 'HcoLightningFlashRate_CldGround ', 'GCHPchem', 'HcoConvectiveCloudTopHeight ', 'GCHPchem', #'InvCEDS_ALD2 ', 'GCHPchem', #'InvCEDS_ALK4 ', 'GCHPchem', #'InvCEDS_ALK6 ', 'GCHPchem', #'InvCEDS_BCPI ', 'GCHPchem', #'InvCEDS_BCPO ', 'GCHPchem', #'InvCEDS_BENZ ', 'GCHPchem', #'InvCEDS_C2H2 ', 'GCHPchem', ####'InvCEDS_C2H4 ', 'GCHPchem', #'InvCEDS_C2H6 ', 'GCHPchem', #'InvCEDS_C3H8 ', 'GCHPchem', #'InvCEDS_CH2O ', 'GCHPchem', #'InvCEDS_CO ', 'GCHPchem', #'InvCEDS_MOH ', 'GCHPchem', #'InvCEDS_EOH ', 'GCHPchem', #'InvCEDS_ROH ', 'GCHPchem', #'InvCEDS_HCOOH ', 'GCHPchem', #'InvCEDS_MEK ', 'GCHPchem', #'InvCEDS_NH3 ', 'GCHPchem', #'InvCEDS_NO ', 'GCHPchem', #'InvCEDS_OCPI ', 'GCHPchem', #'InvCEDS_OCPO ', 'GCHPchem', #'InvCEDS_pFe ', 'GCHPchem', #'InvCEDS_POG1 ', 'GCHPchem', #'InvCEDS_POG2 ', 'GCHPchem', #'InvCEDS_PRPE ', 'GCHPchem', #'InvCEDS_SO2 ', 'GCHPchem', #'InvCEDS_SO4 ', 'GCHPchem', #'InvCEDS_SOAP ', 'GCHPchem', #'InvCEDS_TMB ', 'GCHPchem', #'InvCEDS_TOLU ', 'GCHPchem', #'InvCEDS_XYLE ', 'GCHPchem', #'InvGEIAnatural_NH3 ', 'GCHPchem', #'InvSEABIRDS_NH3 ', 'GCHPchem', #'InvC2H62010_C2H6 ', 'GCHPchem', #'InvXIAO_C3H8 ', 'GCHPchem', #'InvLIANG_CH2Br2 ', 'GCHPchem', #'InvLIANG_CHBr3 ', 'GCHPchem', #'InvORDONEZ_CH2I2 ', 'GCHPchem', #'InvORDONEZ_CH2ICl ', 'GCHPchem', #'InvORDONEZ_CH2IBr ', 'GCHPchem', #'InvORDONEZ_CH3I ', 'GCHPchem', #'InvGTChlorine_HCl ', 'GCHPchem', #'InvCEDSship_ALD2 ', 'GCHPchem', #'InvCEDSship_ALK4 ', 'GCHPchem', #'InvCEDSship_ALK6 ', 'GCHPchem', #'InvCEDSship_BCPI ', 'GCHPchem', #'InvCEDSship_BCPO ', 'GCHPchem', #'InvCEDSship_BENZ ', 'GCHPchem', #'InvCEDSship_C2H2 ', 'GCHPchem', #'InvCEDSship_C2H4 ', 'GCHPchem', #'InvCEDSship_C2H6 ', 'GCHPchem', #'InvCEDSship_C3H8 ', 'GCHPchem', #'InvCEDSship_CH2O ', 'GCHPchem', #'InvCEDSship_CO ', 'GCHPchem', #'InvCEDSship_EOH ', 'GCHPchem', #'InvCEDSship_HCOOH ', 'GCHPchem', #'InvCEDSship_MEK ', 'GCHPchem', #'InvCEDSship_NH3 ', 'GCHPchem', #'InvCEDSship_pFe ', 'GCHPchem', #'InvCEDSship_PRPE ', 'GCHPchem', #'InvCEDSship_OCPI ', 'GCHPchem', #'InvCEDSship_OCPO ', 'GCHPchem', #'InvCEDSship_SO2 ', 'GCHPchem', #'InvCEDSship_SO4 ', 'GCHPchem', #'InvCEDSship_SOAP ', 'GCHPchem', #'InvCEDSship_TMB ', 'GCHPchem', #'InvCEDSship_TOLU ', 'GCHPchem', #'InvCEDSship_XYLE ', 'GCHPchem', #'InvAEIC_ACET ', 'GCHPchem', #'InvAEIC_ALD2 ', 'GCHPchem', #'InvAEIC_ALK4 ', 'GCHPchem', #'InvAEIC_BCPI ', 'GCHPchem', #'InvAEIC_C2H6 ', 'GCHPchem', #'InvAEIC_C3H8 ', 'GCHPchem', #'InvAEIC_CH2O ', 'GCHPchem', #'InvAEIC_CO ', 'GCHPchem', #'InvAEIC_HONO ', 'GCHPchem', #'InvAEIC_MACR ', 'GCHPchem', #'InvAEIC_NO ', 'GCHPchem', #'InvAEIC_NO2 ', 'GCHPchem', #'InvAEIC_OCPI ', 'GCHPchem', #'InvAEIC_PRPE ', 'GCHPchem', #'InvAEIC_RCHO ', 'GCHPchem', #'InvAEIC_SO2 ', 'GCHPchem', #'InvAEIC_SO4 ', 'GCHPchem', #'InvAEIC_SOAP ', 'GCHPchem', #'InvPLANTDECAY_ALD2 ', 'GCHPchem', #'InvPLANTDECAY_EOH ', 'GCHPchem', #'InvAFCID_DST1 ', 'GCHPchem', #'InvSeaFlux_ACET ', 'GCHPchem', #'InvSeaFlux_ALD2 ', 'GCHPchem', #'InvSeaFlux_DMS ', 'GCHPchem', #'InvSeaFlux_ETNO3 ', 'GCHPchem', #'InvSeaFlux_MENO3 ', 'GCHPchem', #'InvSeaFlux_MOH ', 'GCHPchem', #'InvPARANOX_HNO3 ', 'GCHPchem', #'InvPARANOX_NO ', 'GCHPchem', #'InvPARANOX_NO2 ', 'GCHPchem', #'InvPARANOX_O3 ', 'GCHPchem', #'InvLIGHTNOX_NO ', 'GCHPchem', #'InvSOILNOX_NO ', 'GCHPchem', #'InvDustL23M_DSTbin1 ', 'GCHPchem', #'InvDustL23M_DSTbin2 ', 'GCHPchem', #'InvDustL23M_DSTbin3 ', 'GCHPchem', #'InvDustL23M_DSTbin4 ', 'GCHPchem', #'InvDustL23M_DSTbin5 ', 'GCHPchem', #'InvDustL23M_DSTbin6 ', 'GCHPchem', #'InvDustL23M_DSTbin7 ', 'GCHPchem', #'InvSeaSalt_BrSALA ', 'GCHPchem', #'InvSeaSalt_BrSALC ', 'GCHPchem', #'InvSeaSalt_SALA ', 'GCHPchem', #'InvSeaSalt_SALC ', 'GCHPchem', #'InvSeaSalt_SALAAL ', 'GCHPchem', #'InvSeaSalt_SALACL ', 'GCHPchem', #'InvSeaSalt_SALCAL ', 'GCHPchem', #'InvSeaSalt_SALCCL ', 'GCHPchem', #'InvMEGAN_ALD2 ', 'GCHPchem', ####'InvMEGAN_C2H4 ', 'GCHPchem', #'InvMEGAN_EOH ', 'GCHPchem', #'InvMEGAN_ISOP ', 'GCHPchem', #'InvMEGAN_LIMO ', 'GCHPchem', #'InvMEGAN_MTPA ', 'GCHPchem', #'InvMEGAN_MTPO ', 'GCHPchem', #'InvMEGAN_PRPE ', 'GCHPchem', ####'InvMEGAN_SESQ ', 'GCHPchem', #'InvMEGAN_SOAP ', 'GCHPchem', #'InvMEGAN_SOAS ', 'GCHPchem', #'InvMEGAN_ACET ', 'GCHPchem', #'InvMEGAN_ACET_MONO ', 'GCHPchem', #'InvMEGAN_ACET_MBOX ', 'GCHPchem', #'InvMEGAN_ACET_DIRECT ', 'GCHPchem', #'InvMEGAN_MOH ', 'GCHPchem', #'InvMEGAN_APIN ', 'GCHPchem', #'InvMEGAN_BPIN ', 'GCHPchem', #'InvMEGAN_SABI ', 'GCHPchem', #'InvMEGAN_MYRC ', 'GCHPchem', #'InvMEGAN_CARE ', 'GCHPchem', #'InvMEGAN_OCIM ', 'GCHPchem', #'InvMEGAN_OMON ', 'GCHPchem', #'InvMEGAN_MONX ', 'GCHPchem', #'InvMEGAN_FARN ', 'GCHPchem', #'InvMEGAN_BCAR ', 'GCHPchem', #'InvMEGAN_OSQT ', 'GCHPchem', #'InvMEGAN_MBOX ', 'GCHPchem', #'InvMEGAN_FAXX ', 'GCHPchem', #'InvMEGAN_AAXX ', 'GCHPchem', #'InvGFED_ACET ', 'GCHPchem', #'InvGFED_ACR ', 'GCHPchem', #'InvGFED_ACTA ', 'GCHPchem', #'InvGFED_ALD2 ', 'GCHPchem', #'InvGFED_ALK4 ', 'GCHPchem', #'InvGFED_BCPI ', 'GCHPchem', #'InvGFED_BCPO ', 'GCHPchem', #'InvGFED_BENZ ', 'GCHPchem', #'InvGFED_C2H6 ', 'GCHPchem', #'InvGFED_C3H8 ', 'GCHPchem', #'InvGFED_C4H6 ', 'GCHPchem', #'InvGFED_CH2O ', 'GCHPchem', #'InvGFED_CO ', 'GCHPchem', #'InvGFED_EOH ', 'GCHPchem', #'InvGFED_FURA ', 'GCHPchem', #'InvGFED_GLYX ', 'GCHPchem', #'InvGFED_HCOOH ', 'GCHPchem', #'InvGFED_ISOP ', 'GCHPchem', #'InvGFED_MEK ', 'GCHPchem', #'InvGFED_MGLY ', 'GCHPchem', #'InvGFED_MOH ', 'GCHPchem', #'InvGFED_MTPA ', 'GCHPchem', #'InvGFED_MVK ', 'GCHPchem', #'InvGFED_NAP ', 'GCHPchem', #'InvGFED_NH3 ', 'GCHPchem', #'InvGFED_NO ', 'GCHPchem', #'InvGFED_OCPI ', 'GCHPchem', #'InvGFED_OCPO ', 'GCHPchem', #'InvGFED_PHEN ', 'GCHPchem', #'InvGFED_POG1 ', 'GCHPchem', #'InvGFED_POG2 ', 'GCHPchem', #'InvGFED_PRPE ', 'GCHPchem', #'InvGFED_RCHO ', 'GCHPchem', #'InvGFED_SO2 ', 'GCHPchem', #'InvGFED_SOAP ', 'GCHPchem', #'InvGFED_STYR ', 'GCHPchem', #'InvGFED_TOLU ', 'GCHPchem', #'InvGFED_XYLE ', 'GCHPchem', #'InvVOLCANOerupt_SO2 ', 'GCHPchem', #'InvVOLCANOdegas_SO2 ', 'GCHPchem', #'InvIODINE_HOI ', 'GCHPchem', #'InvIODINE_I2 ', 'GCHPchem', :: #============================================================================== FV3Dynamics.template: '%y4%m2%d2_%h2%n2z.nc4', FV3Dynamics.format: 'CFIO', FV3Dynamics.timestampStart: .true. FV3Dynamics.monthly: 1 FV3Dynamics.frequency: 010000 FV3Dynamics.duration: 010000 FV3Dynamics.mode: 'time-averaged' FV3Dynamics.fields: 'PLE_R4 ', 'DYNAMICS', 'DryPLE_R4 ', 'DYNAMICS', 'PLEadv_R4 ', 'DYNAMICS', :: #============================================================================== GCHPctmEnvLevEdge.template: '%y4%m2%d2_%h2%n2z.nc4', GCHPctmEnvLevEdge.format: 'CFIO', GCHPctmEnvLevEdge.timestampStart: .true. GCHPctmEnvLevEdge.monthly: 1 GCHPctmEnvLevEdge.frequency: 010000 GCHPctmEnvLevEdge.duration: 010000 GCHPctmEnvLevEdge.mode: 'time-averaged' GCHPctmEnvLevEdge.fields: 'UpwardsMassFlux_R4 ', 'GCHPctmEnv', 'PLE0_R4 ', 'GCHPctmEnv', 'PLE1_R4 ', 'GCHPctmEnv', 'DryPLE0_R4 ', 'GCHPctmEnv', 'DryPLE1_R4 ', 'GCHPctmEnv', :: #============================================================================== GCHPctmEnvLevCenter.template: '%y4%m2%d2_%h2%n2z.nc4', GCHPctmEnvLevCenter.format: 'CFIO', GCHPctmEnvLevCenter.timestampStart: .true. GCHPctmEnvLevCenter.monthly: 1 GCHPctmEnvLevCenter.frequency: 010000 GCHPctmEnvLevCenter.duration: 010000 GCHPctmEnvLevCenter.mode: 'time-averaged' GCHPctmEnvLevCenter.fields: 'SPHU0_R4 ', 'GCHPctmEnv', 'CX_R4 ', 'GCHPctmEnv', 'CY_R4 ', 'GCHPctmEnv', 'MFX_R4 ', 'GCHPctmEnv', 'MFY_R4 ', 'GCHPctmEnv', :: #============================================================================== # %%%%% THE AerosolMass COLLECTION %%%%% # # Aerosol and PM2.5 mass #============================================================================== AerosolMass.template: '%y4%m2%d2_%h2%n2z.nc4', AerosolMass.format: 'CFIO', AerosolMass.timestampStart: .true. AerosolMass.monthly: 1 AerosolMass.frequency: 010000 AerosolMass.duration: 010000 AerosolMass.mode: 'time-averaged' AerosolMass.fields: 'AerMassBC ', 'GCHPchem', 'AerMassINDIOL ', 'GCHPchem', 'AerMassLVOCOA ', 'GCHPchem', 'AerMassNH4 ', 'GCHPchem', 'AerMassNIT ', 'GCHPchem', 'AerMassPOA ', 'GCHPchem', 'AerMassSAL ', 'GCHPchem', 'AerMassSO4 ', 'GCHPchem', 'AerMassSOAGX ', 'GCHPchem', 'AerMassSOAIE ', 'GCHPchem', 'PM25 ', 'GCHPchem', 'PM10 ', 'GCHPchem', 'TotalOA ', 'GCHPchem', 'TotalOC ', 'GCHPchem', #'AerMassASOA ', 'GCHPchem', #'AerMassOPOA ', 'GCHPchem', #'AerMassTSOA ', 'GCHPchem', #'BetaNO ', 'GCHPchem', #'TotalBiogenicOA ', 'GCHPchem', :: #============================================================================== # %%%%% The Aerosols COLLECTION %%%%% # # Aerosol optical depth, surface area, number density, and hygroscopic growth #============================================================================== Aerosols.template: '%y4%m2%d2_%h2%n2z.nc4', Aerosols.format: 'CFIO', Aerosols.timestampStart: .true. Aerosols.monthly: 1 Aerosols.frequency: 010000 Aerosols.duration: 010000 Aerosols.mode: 'time-averaged' Aerosols.fields: 'AODHygWL1_SO4 ', 'GCHPchem', 'AODHygWL1_BCPI ', 'GCHPchem', 'AODHygWL1_OCPI ', 'GCHPchem', 'AODHygWL1_SALA ', 'GCHPchem', 'AODHygWL1_SALC ', 'GCHPchem', 'AODDust ', 'GCHPchem', 'AODDustWL1_bin1 ', 'GCHPchem', 'AODDustWL1_bin2 ', 'GCHPchem', 'AODDustWL1_bin3 ', 'GCHPchem', 'AODDustWL1_bin4 ', 'GCHPchem', 'AODDustWL1_bin5 ', 'GCHPchem', 'AODDustWL1_bin6 ', 'GCHPchem', 'AODDustWL1_bin7 ', 'GCHPchem', 'AODSOAfromAqIsopreneWL1 ', 'GCHPchem', 'AODStratLiquidAerWL1 ', 'GCHPchem', 'AODPolarStratCloudWL1 ', 'GCHPchem', 'AerHygroscopicGrowth_SO4 ', 'GCHPchem', 'AerHygroscopicGrowth_BCPI ', 'GCHPchem', 'AerHygroscopicGrowth_OCPI ', 'GCHPchem', 'AerHygroscopicGrowth_SALA ', 'GCHPchem', 'AerHygroscopicGrowth_SALC ', 'GCHPchem', 'AerNumDensityStratLiquid ', 'GCHPchem', 'AerNumDensityStratParticulate ', 'GCHPchem', 'AerAqueousVolume ', 'GCHPchem', 'AerSurfAreaDust ', 'GCHPchem', 'AerSurfAreaHyg_SO4 ', 'GCHPchem', 'AerSurfAreaHyg_BCPI ', 'GCHPchem', 'AerSurfAreaHyg_OCPI ', 'GCHPchem', 'AerSurfAreaHyg_SALA ', 'GCHPchem', 'AerSurfAreaHyg_SALC ', 'GCHPchem', 'AerSurfAreaStratLiquid ', 'GCHPchem', 'AerSurfAreaPolarStratCloud ', 'GCHPchem', 'Chem_AeroAreaMDUST1 ', 'GCHPchem', 'Chem_AeroAreaMDUST2 ', 'GCHPchem', 'Chem_AeroAreaMDUST3 ', 'GCHPchem', 'Chem_AeroAreaMDUST4 ', 'GCHPchem', 'Chem_AeroAreaMDUST5 ', 'GCHPchem', 'Chem_AeroAreaMDUST6 ', 'GCHPchem', 'Chem_AeroAreaMDUST7 ', 'GCHPchem', 'Chem_AeroAreaSULF ', 'GCHPchem', 'Chem_AeroAreaBC ', 'GCHPchem', 'Chem_AeroAreaOC ', 'GCHPchem', 'Chem_AeroAreaSSA ', 'GCHPchem', 'Chem_AeroAreaSSC ', 'GCHPchem', 'Chem_AeroAreaBGSULF ', 'GCHPchem', 'Chem_AeroAreaICEI ', 'GCHPchem', 'Chem_AeroRadiMDUST1 ', 'GCHPchem', 'Chem_AeroRadiMDUST2 ', 'GCHPchem', 'Chem_AeroRadiMDUST3 ', 'GCHPchem', 'Chem_AeroRadiMDUST4 ', 'GCHPchem', 'Chem_AeroRadiMDUST5 ', 'GCHPchem', 'Chem_AeroRadiMDUST6 ', 'GCHPchem', 'Chem_AeroRadiMDUST7 ', 'GCHPchem', 'Chem_AeroRadiSULF ', 'GCHPchem', 'Chem_AeroRadiBC ', 'GCHPchem', 'Chem_AeroRadiOC ', 'GCHPchem', 'Chem_AeroRadiSSA ', 'GCHPchem', 'Chem_AeroRadiSSC ', 'GCHPchem', 'Chem_AeroRadiBGSULF ', 'GCHPchem', 'Chem_AeroRadiICEI ', 'GCHPchem', 'Chem_WetAeroAreaMDUST1 ', 'GCHPchem', 'Chem_WetAeroAreaMDUST2 ', 'GCHPchem', 'Chem_WetAeroAreaMDUST3 ', 'GCHPchem', 'Chem_WetAeroAreaMDUST4 ', 'GCHPchem', 'Chem_WetAeroAreaMDUST5 ', 'GCHPchem', 'Chem_WetAeroAreaMDUST6 ', 'GCHPchem', 'Chem_WetAeroAreaMDUST7 ', 'GCHPchem', 'Chem_WetAeroAreaSULF ', 'GCHPchem', 'Chem_WetAeroAreaBC ', 'GCHPchem', 'Chem_WetAeroAreaOC ', 'GCHPchem', 'Chem_WetAeroAreaSSA ', 'GCHPchem', 'Chem_WetAeroAreaSSC ', 'GCHPchem', 'Chem_WetAeroAreaBGSULF ', 'GCHPchem', 'Chem_WetAeroAreaICEI ', 'GCHPchem', 'Chem_WetAeroRadiMDUST1 ', 'GCHPchem', 'Chem_WetAeroRadiMDUST2 ', 'GCHPchem', 'Chem_WetAeroRadiMDUST3 ', 'GCHPchem', 'Chem_WetAeroRadiMDUST4 ', 'GCHPchem', 'Chem_WetAeroRadiMDUST5 ', 'GCHPchem', 'Chem_WetAeroRadiMDUST6 ', 'GCHPchem', 'Chem_WetAeroRadiMDUST7 ', 'GCHPchem', 'Chem_WetAeroRadiSULF ', 'GCHPchem', 'Chem_WetAeroRadiBC ', 'GCHPchem', 'Chem_WetAeroRadiOC ', 'GCHPchem', 'Chem_WetAeroRadiSSA ', 'GCHPchem', 'Chem_WetAeroRadiSSC ', 'GCHPchem', 'Chem_WetAeroRadiBGSULF ', 'GCHPchem', 'Chem_WetAeroRadiICEI ', 'GCHPchem', 'Chem_StatePSC ', 'GCHPchem', 'Chem_KhetiSLAN2O5H2O ', 'GCHPchem', 'Chem_KhetiSLAN2O5HCl ', 'GCHPchem', 'Chem_KhetiSLAClNO3H2O ', 'GCHPchem', 'Chem_KhetiSLAClNO3HCl ', 'GCHPchem', 'Chem_KhetiSLAClNO3HBr ', 'GCHPchem', 'Chem_KhetiSLABrNO3H2O ', 'GCHPchem', 'Chem_KhetiSLABrNO3HCl ', 'GCHPchem', 'Chem_KhetiSLAHOClHCl ', 'GCHPchem', 'Chem_KhetiSLAHOClHBr ', 'GCHPchem', 'Chem_KhetiSLAHOBrHCl ', 'GCHPchem', 'Chem_KhetiSLAHOBrHBr ', 'GCHPchem', 'PDER ', 'GCHPchem', :: #============================================================================== # Budget defined as species kg/s in the column (full, troposphere, or PBL) # due to a single component (e.g. chemistry); default = SO4 only; add more # species as needed (advected only) #============================================================================== Budget.template: '%y4%m2%d2_%h2%n2z.nc4', Budget.format: 'CFIO', Budget.timestampStart: .true. Budget.monthly: 1 Budget.frequency: 010000 Budget.duration: 010000 Budget.mode: 'time-averaged' Budget.fields: 'BudgetWetDepFull_SO4 ', 'GCHPchem', 'BudgetChemistryFull_SO4 ', 'GCHPchem', 'BudgetConvectionFull_SO4 ', 'GCHPchem', 'BudgetMixingFull_SO4 ', 'GCHPchem', 'BudgetEmisDryDepFull_SO4 ', 'GCHPchem', # 'BudgetWetDepLevs1to35_SO4 ', 'GCHPchem', 'BudgetChemistryLevs1to35_SO4 ', 'GCHPchem', 'BudgetConvectionLevs1to35_SO4', 'GCHPchem', 'BudgetMixingLevs1to35_SO4 ', 'GCHPchem', 'BudgetEmisDryDepLevs1to35_SO4', 'GCHPchem', # 'BudgetWetDepTrop_SO4 ', 'GCHPchem', 'BudgetChemistryTrop_SO4 ', 'GCHPchem', 'BudgetConvectionTrop_SO4 ', 'GCHPchem', 'BudgetMixingTrop_SO4 ', 'GCHPchem', 'BudgetEmisDryDepTrop_SO4 ', 'GCHPchem', # 'BudgetWetDepPBL_SO4 ', 'GCHPchem', 'BudgetChemistryPBL_SO4 ', 'GCHPchem', 'BudgetConvectionPBL_SO4 ', 'GCHPchem', 'BudgetMixingPBL_SO4 ', 'GCHPchem', 'BudgetEmisDryDepPBL_SO4 ', 'GCHPchem', :: #============================================================================= #%%%%% THE CloudConvFlux COLLECTION %%%%% # # Cloud convective flux (default = advected species) #============================================================================= CloudConvFlux.template: '%y4%m2%d2_%h2%n2z.nc4', CloudConvFlux.format: 'CFIO', CloudConvFlux.timestampStart: .true. CloudConvFlux.monthly: 1 CloudConvFlux.frequency: 010000 CloudConvFlux.duration: 010000 CloudConvFlux.mode: 'time-averaged' CloudConvFlux.fields: 'CloudConvFlux_XYLE ', 'GCHPchem', 'CloudConvFlux_TOLU ', 'GCHPchem', 'CloudConvFlux_SOAS ', 'GCHPchem', 'CloudConvFlux_SOAP ', 'GCHPchem', 'CloudConvFlux_SOAIE ', 'GCHPchem', 'CloudConvFlux_SOAGX ', 'GCHPchem', 'CloudConvFlux_SO4s ', 'GCHPchem', 'CloudConvFlux_SO4 ', 'GCHPchem', 'CloudConvFlux_SO2 ', 'GCHPchem', 'CloudConvFlux_SALCCL ', 'GCHPchem', 'CloudConvFlux_SALCAL ', 'GCHPchem', 'CloudConvFlux_SALC ', 'GCHPchem', 'CloudConvFlux_SALACL ', 'GCHPchem', 'CloudConvFlux_SALAAL ', 'GCHPchem', 'CloudConvFlux_SALA ', 'GCHPchem', 'CloudConvFlux_RP ', 'GCHPchem', 'CloudConvFlux_RIPD ', 'GCHPchem', 'CloudConvFlux_RIPC ', 'GCHPchem', 'CloudConvFlux_RIPB ', 'GCHPchem', 'CloudConvFlux_RIPA ', 'GCHPchem', 'CloudConvFlux_RCHO ', 'GCHPchem', 'CloudConvFlux_RB3P ', 'GCHPchem', 'CloudConvFlux_RA3P ', 'GCHPchem', 'CloudConvFlux_R4P ', 'GCHPchem', 'CloudConvFlux_R4N2 ', 'GCHPchem', 'CloudConvFlux_PYAC ', 'GCHPchem', 'CloudConvFlux_PRPN ', 'GCHPchem', 'CloudConvFlux_PRPE ', 'GCHPchem', 'CloudConvFlux_PROPNN ', 'GCHPchem', 'CloudConvFlux_PPN ', 'GCHPchem', 'CloudConvFlux_PP ', 'GCHPchem', 'CloudConvFlux_PIP ', 'GCHPchem', 'CloudConvFlux_pFe ', 'GCHPchem', 'CloudConvFlux_PAN ', 'GCHPchem', 'CloudConvFlux_OIO ', 'GCHPchem', 'CloudConvFlux_OCS ', 'GCHPchem', 'CloudConvFlux_OCPO ', 'GCHPchem', 'CloudConvFlux_OCPI ', 'GCHPchem', 'CloudConvFlux_OClO ', 'GCHPchem', 'CloudConvFlux_O3 ', 'GCHPchem', 'CloudConvFlux_NPRNO3 ', 'GCHPchem', 'CloudConvFlux_NO3 ', 'GCHPchem', 'CloudConvFlux_NO2 ', 'GCHPchem', 'CloudConvFlux_NO ', 'GCHPchem', 'CloudConvFlux_NITs ', 'GCHPchem', 'CloudConvFlux_NIT ', 'GCHPchem', 'CloudConvFlux_NH4 ', 'GCHPchem', 'CloudConvFlux_NH3 ', 'GCHPchem', 'CloudConvFlux_N2O5 ', 'GCHPchem', 'CloudConvFlux_N2O ', 'GCHPchem', 'CloudConvFlux_MVKPC ', 'GCHPchem', 'CloudConvFlux_MVKN ', 'GCHPchem', 'CloudConvFlux_MVKHP ', 'GCHPchem', 'CloudConvFlux_MVKHCB ', 'GCHPchem', 'CloudConvFlux_MVKHC ', 'GCHPchem', 'CloudConvFlux_MVKDH ', 'GCHPchem', 'CloudConvFlux_MVK ', 'GCHPchem', 'CloudConvFlux_MTPO ', 'GCHPchem', 'CloudConvFlux_MTPA ', 'GCHPchem', 'CloudConvFlux_MSA ', 'GCHPchem', 'CloudConvFlux_MPN ', 'GCHPchem', 'CloudConvFlux_MPAN ', 'GCHPchem', 'CloudConvFlux_MP ', 'GCHPchem', 'CloudConvFlux_MONITU ', 'GCHPchem', 'CloudConvFlux_MONITS ', 'GCHPchem', 'CloudConvFlux_MONITA ', 'GCHPchem', 'CloudConvFlux_MOH ', 'GCHPchem', 'CloudConvFlux_MGLY ', 'GCHPchem', 'CloudConvFlux_MENO3 ', 'GCHPchem', 'CloudConvFlux_MEK ', 'GCHPchem', 'CloudConvFlux_MCRHP ', 'GCHPchem', 'CloudConvFlux_MCRHNB ', 'GCHPchem', 'CloudConvFlux_MCRHN ', 'GCHPchem', 'CloudConvFlux_MCRENOL ', 'GCHPchem', 'CloudConvFlux_MCRDH ', 'GCHPchem', 'CloudConvFlux_MAP ', 'GCHPchem', 'CloudConvFlux_MACR1OOH ', 'GCHPchem', 'CloudConvFlux_MACR ', 'GCHPchem', 'CloudConvFlux_LVOCOA ', 'GCHPchem', 'CloudConvFlux_LVOC ', 'GCHPchem', 'CloudConvFlux_LIMO ', 'GCHPchem', 'CloudConvFlux_ITHN ', 'GCHPchem', 'CloudConvFlux_ITCN ', 'GCHPchem', 'CloudConvFlux_ISOP ', 'GCHPchem', 'CloudConvFlux_ISALC ', 'GCHPchem', 'CloudConvFlux_ISALA ', 'GCHPchem', 'CloudConvFlux_IPRNO3 ', 'GCHPchem', 'CloudConvFlux_IONO2 ', 'GCHPchem', 'CloudConvFlux_IONO ', 'GCHPchem', 'CloudConvFlux_IONITA ', 'GCHPchem', 'CloudConvFlux_IO ', 'GCHPchem', 'CloudConvFlux_INPD ', 'GCHPchem', 'CloudConvFlux_INPB ', 'GCHPchem', 'CloudConvFlux_INO ', 'GCHPchem', 'CloudConvFlux_INDIOL ', 'GCHPchem', 'CloudConvFlux_IHN4 ', 'GCHPchem', 'CloudConvFlux_IHN3 ', 'GCHPchem', 'CloudConvFlux_IHN2 ', 'GCHPchem', 'CloudConvFlux_IHN1 ', 'GCHPchem', 'CloudConvFlux_IEPOXD ', 'GCHPchem', 'CloudConvFlux_IEPOXB ', 'GCHPchem', 'CloudConvFlux_IEPOXA ', 'GCHPchem', 'CloudConvFlux_IDN ', 'GCHPchem', 'CloudConvFlux_IDHPE ', 'GCHPchem', 'CloudConvFlux_IDHDP ', 'GCHPchem', 'CloudConvFlux_IDCHP ', 'GCHPchem', 'CloudConvFlux_IDC ', 'GCHPchem', 'CloudConvFlux_ICPDH ', 'GCHPchem', 'CloudConvFlux_ICN ', 'GCHPchem', 'CloudConvFlux_ICl ', 'GCHPchem', 'CloudConvFlux_ICHE ', 'GCHPchem', 'CloudConvFlux_IBr ', 'GCHPchem', 'CloudConvFlux_I2O4 ', 'GCHPchem', 'CloudConvFlux_I2O3 ', 'GCHPchem', 'CloudConvFlux_I2O2 ', 'GCHPchem', 'CloudConvFlux_I2 ', 'GCHPchem', 'CloudConvFlux_I ', 'GCHPchem', 'CloudConvFlux_HPETHNL ', 'GCHPchem', 'CloudConvFlux_HPALD4 ', 'GCHPchem', 'CloudConvFlux_HPALD3 ', 'GCHPchem', 'CloudConvFlux_HPALD2 ', 'GCHPchem', 'CloudConvFlux_HPALD1 ', 'GCHPchem', 'CloudConvFlux_HONIT ', 'GCHPchem', 'CloudConvFlux_HOI ', 'GCHPchem', 'CloudConvFlux_HOCl ', 'GCHPchem', 'CloudConvFlux_HOBr ', 'GCHPchem', 'CloudConvFlux_HNO4 ', 'GCHPchem', 'CloudConvFlux_HNO3 ', 'GCHPchem', 'CloudConvFlux_HNO2 ', 'GCHPchem', 'CloudConvFlux_HMS ', 'GCHPchem', 'CloudConvFlux_HMML ', 'GCHPchem', 'CloudConvFlux_HMHP ', 'GCHPchem', 'CloudConvFlux_HI ', 'GCHPchem', 'CloudConvFlux_HCOOH ', 'GCHPchem', 'CloudConvFlux_HCl ', 'GCHPchem', 'CloudConvFlux_HCFC22 ', 'GCHPchem', 'CloudConvFlux_HCFC142b ', 'GCHPchem', 'CloudConvFlux_HCFC141b ', 'GCHPchem', 'CloudConvFlux_HCFC123 ', 'GCHPchem', 'CloudConvFlux_HC5A ', 'GCHPchem', 'CloudConvFlux_HBr ', 'GCHPchem', 'CloudConvFlux_HAC ', 'GCHPchem', 'CloudConvFlux_H2O2 ', 'GCHPchem', 'CloudConvFlux_H2O ', 'GCHPchem', 'CloudConvFlux_H2402 ', 'GCHPchem', 'CloudConvFlux_H1301 ', 'GCHPchem', 'CloudConvFlux_H1211 ', 'GCHPchem', 'CloudConvFlux_GLYX ', 'GCHPchem', 'CloudConvFlux_GLYC ', 'GCHPchem', 'CloudConvFlux_ETP ', 'GCHPchem', 'CloudConvFlux_ETNO3 ', 'GCHPchem', 'CloudConvFlux_ETHP ', 'GCHPchem', 'CloudConvFlux_ETHN ', 'GCHPchem', 'CloudConvFlux_ETHLN ', 'GCHPchem', 'CloudConvFlux_EOH ', 'GCHPchem', 'CloudConvFlux_DSTbin7 ', 'GCHPchem', 'CloudConvFlux_DSTbin6 ', 'GCHPchem', 'CloudConvFlux_DSTbin5 ', 'GCHPchem', 'CloudConvFlux_DSTbin4 ', 'GCHPchem', 'CloudConvFlux_DSTbin3 ', 'GCHPchem', 'CloudConvFlux_DSTbin2 ', 'GCHPchem', 'CloudConvFlux_DSTbin1 ', 'GCHPchem', 'CloudConvFlux_DMS ', 'GCHPchem', 'CloudConvFlux_CO ', 'GCHPchem', 'CloudConvFlux_ClOO ', 'GCHPchem', 'CloudConvFlux_ClO ', 'GCHPchem', 'CloudConvFlux_ClNO3 ', 'GCHPchem', 'CloudConvFlux_ClNO2 ', 'GCHPchem', 'CloudConvFlux_Cl2O2 ', 'GCHPchem', 'CloudConvFlux_Cl2 ', 'GCHPchem', 'CloudConvFlux_Cl ', 'GCHPchem', 'CloudConvFlux_CHCl3 ', 'GCHPchem', 'CloudConvFlux_CHBr3 ', 'GCHPchem', 'CloudConvFlux_CH4 ', 'GCHPchem', 'CloudConvFlux_CH3I ', 'GCHPchem', 'CloudConvFlux_CH3Cl ', 'GCHPchem', 'CloudConvFlux_CH3CCl3 ', 'GCHPchem', 'CloudConvFlux_CH3Br ', 'GCHPchem', 'CloudConvFlux_CH2O ', 'GCHPchem', 'CloudConvFlux_CH2ICl ', 'GCHPchem', 'CloudConvFlux_CH2IBr ', 'GCHPchem', 'CloudConvFlux_CH2I2 ', 'GCHPchem', 'CloudConvFlux_CH2Cl2 ', 'GCHPchem', 'CloudConvFlux_CH2Br2 ', 'GCHPchem', 'CloudConvFlux_CFC12 ', 'GCHPchem', 'CloudConvFlux_CFC115 ', 'GCHPchem', 'CloudConvFlux_CFC114 ', 'GCHPchem', 'CloudConvFlux_CFC113 ', 'GCHPchem', 'CloudConvFlux_CFC11 ', 'GCHPchem', 'CloudConvFlux_CCl4 ', 'GCHPchem', 'CloudConvFlux_C3H8 ', 'GCHPchem', 'CloudConvFlux_C2H6 ', 'GCHPchem', 'CloudConvFlux_C2H4 ', 'GCHPchem', 'CloudConvFlux_C2H2 ', 'GCHPchem', 'CloudConvFlux_BrSALC ', 'GCHPchem', 'CloudConvFlux_BrSALA ', 'GCHPchem', 'CloudConvFlux_BrO ', 'GCHPchem', 'CloudConvFlux_BrNO3 ', 'GCHPchem', 'CloudConvFlux_BrNO2 ', 'GCHPchem', 'CloudConvFlux_BrCl ', 'GCHPchem', 'CloudConvFlux_Br2 ', 'GCHPchem', 'CloudConvFlux_Br ', 'GCHPchem', 'CloudConvFlux_BENZ ', 'GCHPchem', 'CloudConvFlux_BCPO ', 'GCHPchem', 'CloudConvFlux_BCPI ', 'GCHPchem', 'CloudConvFlux_ATOOH ', 'GCHPchem', 'CloudConvFlux_ALK4 ', 'GCHPchem', 'CloudConvFlux_ALD2 ', 'GCHPchem', 'CloudConvFlux_AERI ', 'GCHPchem', 'CloudConvFlux_ACTA ', 'GCHPchem', 'CloudConvFlux_ACET ', 'GCHPchem', #'CloudConvFlux_TSOG3 ', 'GCHPchem', #'CloudConvFlux_TSOG2 ', 'GCHPchem', #'CloudConvFlux_TSOG1 ', 'GCHPchem', #'CloudConvFlux_TSOG0 ', 'GCHPchem', #'CloudConvFlux_TSOA3 ', 'GCHPchem', #'CloudConvFlux_TSOA2 ', 'GCHPchem', #'CloudConvFlux_TSOA1 ', 'GCHPchem', #'CloudConvFlux_TSOA0 ', 'GCHPchem', #'CloudConvFlux_ASOG3 ', 'GCHPchem', #'CloudConvFlux_ASOG2 ', 'GCHPchem', #'CloudConvFlux_ASOG1 ', 'GCHPchem', #'CloudConvFlux_ASOAN ', 'GCHPchem', #'CloudConvFlux_ASOA3 ', 'GCHPchem', #'CloudConvFlux_ASOA2 ', 'GCHPchem', #'CloudConvFlux_ASOA1 ', 'GCHPchem', :: #============================================================================= # %%%%% THE ConcAboveSfc COLLECTION %%%%% # # Concentrations of O3 and HNO3 at a user-specified altitude above # the surface, such as 10m. Set the desired output altitude in meters # in the deposition settings in geoschem_config.yml. # # NOTES: # (1) This collection requires dry deposition to be turned on. # (2) All of the fields in the collection must be turned on. # (3) This collection is best used with mode "instantaneous". #============================================================================= ConcAboveSfc.template: '%y4%m2%d2_%h2%n2z.nc4', ConcAboveSfc.format: 'CFIO', ConcAboveSfc.timestampStart: .true. ConcAboveSfc.frequency: 010000 ConcAboveSfc.duration: 010000 ConcAboveSfc.mode: 'instantaneous' ConcAboveSfc.fields: 'DryDepRaALT1 ', 'GCHPchem', 'DryDepVelForALT1_O3 ', 'GCHPchem', 'DryDepVelForALT1_HNO3 ', 'GCHPchem', 'SpeciesConcALT1_O3 ', 'GCHPchem', 'SpeciesConcALT1_HNO3 ', 'GCHPchem', :: #============================================================================== # %%%%% THE ConcAfterChem COLLECTION %%%%% # # Concentrations of OH, HO2, O1D, O3P immediately after exiting the KPP solver #============================================================================== ConcAfterChem.template: '%y4%m2%d2_%h2%n2z.nc4', ConcAfterChem.format: 'CFIO', ConcAfterChem.timestampStart: .true. ConcAfterChem.monthly: 1 ConcAfterChem.frequency: 010000 ConcAfterChem.duration: 010000 ConcAfterChem.mode: 'time-averaged' ConcAfterChem.fields: 'OHconcAfterChem ', 'GCHPchem', 'HO2concAfterChem ', 'GCHPchem', 'O1DconcAfterChem ', 'GCHPchem', 'O3PconcAfterChem ', 'GCHPchem', :: #============================================================================== # %%%%% THE DryDep COLLECTION %%%%% # # Dry depositon fluxes and velocities # # NOTE: Only keep species that are needed for fullchem benchmarks #============================================================================== DryDep.template: '%y4%m2%d2_%h2%n2z.nc4', DryDep.format: 'CFIO', DryDep.timestampStart: .true. DryDep.monthly: 1 DryDep.frequency: 010000 DryDep.duration: 010000 DryDep.mode: 'time-averaged' DryDep.fields: 'DryDepVel_ACET ', 'GCHPchem', 'DryDepVel_HNO3 ', 'GCHPchem', 'DryDepVel_NH3 ', 'GCHPchem', 'DryDepVel_NH4 ', 'GCHPchem', 'DryDepVel_NIT ', 'GCHPchem', 'DryDepVel_NITs ', 'GCHPchem', 'DryDepVel_O3 ', 'GCHPchem', 'DryDepVel_SO4 ', 'GCHPchem', 'DryDep_O3 ', 'GCHPchem', 'DryDepChm_O3 ', 'GCHPchem', 'DryDepMix_O3 ', 'GCHPchem', :: #============================================================================== # %%%%% THE JValues COLLECTION %%%%% # # Photolysis rates (from the photolysis module) #============================================================================== JValues.template: '%y4%m2%d2_%h2%n2z.nc4', JValues.format: 'CFIO', JValues.timestampStart: .true. JValues.monthly: 1 JValues.frequency: 010000 JValues.duration: 010000 JValues.mode: 'time-averaged' JValues.fields: 'JvalO3O3P ', 'GCHPchem', 'JvalO3O1D ', 'GCHPchem', 'Jval_ACET ', 'GCHPchem', 'Jval_ALD2 ', 'GCHPchem', 'Jval_APINP ', 'GCHPchem', 'Jval_ATOOH ', 'GCHPchem', 'Jval_BALD ', 'GCHPchem', 'Jval_BENZP ', 'GCHPchem', 'Jval_BPINOOH ', 'GCHPchem', 'Jval_BPINP ', 'GCHPchem', 'Jval_Br2 ', 'GCHPchem', 'Jval_BrCl ', 'GCHPchem', 'Jval_BrNO3 ', 'GCHPchem', 'Jval_BrNO2 ', 'GCHPchem', 'Jval_BrO ', 'GCHPchem', 'Jval_BZCO3H ', 'GCHPchem', 'Jval_C96O2H ', 'GCHPchem', 'Jval_CCl4 ', 'GCHPchem', 'Jval_CFC11 ', 'GCHPchem', 'Jval_CFC12 ', 'GCHPchem', 'Jval_CFC113 ', 'GCHPchem', 'Jval_CFC114 ', 'GCHPchem', 'Jval_CFC115 ', 'GCHPchem', 'Jval_CH2Br2 ', 'GCHPchem', 'Jval_CH2Cl2 ', 'GCHPchem', 'Jval_CH2I2 ', 'GCHPchem', 'Jval_CH2IBr ', 'GCHPchem', 'Jval_CH2ICl ', 'GCHPchem', 'Jval_CH2O ', 'GCHPchem', 'Jval_CH3Br ', 'GCHPchem', 'Jval_CH3Cl ', 'GCHPchem', 'Jval_CH3CCl3 ', 'GCHPchem', 'Jval_CH3I ', 'GCHPchem', 'Jval_CHBr3 ', 'GCHPchem', 'Jval_Cl2 ', 'GCHPchem', 'Jval_Cl2O2 ', 'GCHPchem', 'Jval_ClNO2 ', 'GCHPchem', 'Jval_ClNO3 ', 'GCHPchem', 'Jval_ClO ', 'GCHPchem', 'Jval_ClOO ', 'GCHPchem', 'Jval_ETHLN ', 'GCHPchem', 'Jval_ETHP ', 'GCHPchem', 'Jval_ETNO3 ', 'GCHPchem', 'Jval_ETP ', 'GCHPchem', 'Jval_GLYC ', 'GCHPchem', 'Jval_GLYX ', 'GCHPchem', 'Jval_HAC ', 'GCHPchem', 'Jval_H2O2 ', 'GCHPchem', 'Jval_HCFC123 ', 'GCHPchem', 'Jval_HCFC141b ', 'GCHPchem', 'Jval_HCFC142b ', 'GCHPchem', 'Jval_HCFC22 ', 'GCHPchem', 'Jval_H1211 ', 'GCHPchem', 'Jval_H1301 ', 'GCHPchem', 'Jval_H2402 ', 'GCHPchem', 'Jval_HMHP ', 'GCHPchem', 'Jval_HNO2 ', 'GCHPchem', 'Jval_HNO3 ', 'GCHPchem', 'Jval_HNO4 ', 'GCHPchem', 'Jval_HOBr ', 'GCHPchem', 'Jval_HOCl ', 'GCHPchem', 'Jval_HONIT ', 'GCHPchem', 'Jval_HOI ', 'GCHPchem', 'Jval_HPALD1 ', 'GCHPchem', 'Jval_HPALD2 ', 'GCHPchem', 'Jval_HPALD3 ', 'GCHPchem', 'Jval_HPALD4 ', 'GCHPchem', 'Jval_HPETHNL ', 'GCHPchem', 'Jval_I2 ', 'GCHPchem', 'Jval_I2O2 ', 'GCHPchem', 'Jval_I2O3 ', 'GCHPchem', 'Jval_I2O4 ', 'GCHPchem', 'Jval_IBr ', 'GCHPchem', 'Jval_ICl ', 'GCHPchem', 'Jval_ICN ', 'GCHPchem', 'Jval_ICPDH ', 'GCHPchem', 'Jval_IDN ', 'GCHPchem', 'Jval_IDCHP ', 'GCHPchem', 'Jval_IDHDP ', 'GCHPchem', 'Jval_IDHPE ', 'GCHPchem', 'Jval_IHN1 ', 'GCHPchem', 'Jval_IHN2 ', 'GCHPchem', 'Jval_IHN3 ', 'GCHPchem', 'Jval_IHN4 ', 'GCHPchem', 'Jval_INO ', 'GCHPchem', 'Jval_INPB ', 'GCHPchem', 'Jval_INPD ', 'GCHPchem', 'Jval_ITCN ', 'GCHPchem', 'Jval_ITHN ', 'GCHPchem', 'Jval_IO ', 'GCHPchem', 'Jval_IONO ', 'GCHPchem', 'Jval_IONO2 ', 'GCHPchem', 'Jval_IPRNO3 ', 'GCHPchem', 'Jval_LIMAL ', 'GCHPchem', 'Jval_LIMO2H ', 'GCHPchem', 'Jval_LIMO3H ', 'GCHPchem', 'Jval_MACR ', 'GCHPchem', 'Jval_MACR1OOH ', 'GCHPchem', 'Jval_MAP ', 'GCHPchem', 'Jval_MCRENOL ', 'GCHPchem', 'Jval_MCRHN ', 'GCHPchem', 'Jval_MCRHNB ', 'GCHPchem', 'Jval_MCRHP ', 'GCHPchem', 'Jval_MEK ', 'GCHPchem', 'Jval_MENO3 ', 'GCHPchem', 'Jval_MGLY ', 'GCHPchem', 'Jval_MVK ', 'GCHPchem', 'Jval_MP ', 'GCHPchem', 'Jval_MPN ', 'GCHPchem', 'Jval_MONITS ', 'GCHPchem', 'Jval_MONITU ', 'GCHPchem', 'Jval_MVKHC ', 'GCHPchem', 'Jval_MVKHCB ', 'GCHPchem', 'Jval_MVKHP ', 'GCHPchem', 'Jval_MVKN ', 'GCHPchem', 'Jval_MVKPC ', 'GCHPchem', 'Jval_N2O ', 'GCHPchem', 'Jval_N2O5 ', 'GCHPchem', 'Jval_NIT ', 'GCHPchem', 'Jval_NITs ', 'GCHPchem', 'Jval_NO ', 'GCHPchem', 'Jval_NO2 ', 'GCHPchem', 'Jval_NO3 ', 'GCHPchem', 'Jval_NPHEN ', 'GCHPchem', 'Jval_NPRNO3 ', 'GCHPchem', 'Jval_O2 ', 'GCHPchem', 'Jval_O3 ', 'GCHPchem', 'Jval_OClO ', 'GCHPchem', 'Jval_OCS ', 'GCHPchem', 'Jval_OIO ', 'GCHPchem', 'Jval_PAN ', 'GCHPchem', 'Jval_PINAL ', 'GCHPchem', 'Jval_PINO3H ', 'GCHPchem', 'Jval_PINONIC ', 'GCHPchem', 'Jval_PIP ', 'GCHPchem', 'Jval_PP ', 'GCHPchem', 'Jval_PPN ', 'GCHPchem', 'Jval_PROPNN ', 'GCHPchem', 'Jval_PRPN ', 'GCHPchem', 'Jval_PYAC ', 'GCHPchem', 'Jval_R4P ', 'GCHPchem', 'Jval_R4N2 ', 'GCHPchem', 'Jval_RA3P ', 'GCHPchem', 'Jval_RB3P ', 'GCHPchem', 'Jval_RCHO ', 'GCHPchem', 'Jval_RIPA ', 'GCHPchem', 'Jval_RIPB ', 'GCHPchem', 'Jval_RIPC ', 'GCHPchem', 'Jval_RIPD ', 'GCHPchem', 'Jval_RP ', 'GCHPchem', 'Jval_SO4 ', 'GCHPchem', :: #============================================================================== # %%%%% THE UVFlux COLLECTION %%%%% # # UV fluxes (from the photolysis module) # # NOTE: There seems to be an issue with this diagnostic in GCHP. # We recommend that you leave the UVFlux collection turned off. #============================================================================== UVFlux.template: '%y4%m2%d2_%h2%n2z.nc4', UVFlux.format: 'CFIO', UVFlux.timestampStart: .true. UVFlux.monthly: 1 UVFlux.frequency: 010000 UVFlux.duration: 010000 UVFlux.mode: 'time-averaged' UVFlux.fields: 'UVFluxNet_574nm ', 'GCHPchem', 'UVFluxNet_380nm ', 'GCHPchem', 'UVFluxNet_333nm ', 'GCHPchem', 'UVFluxNet_316nm ', 'GCHPchem', 'UVFluxNet_310nm ', 'GCHPchem', 'UVFluxNet_303nm ', 'GCHPchem', 'UVFluxNet_295nm ', 'GCHPchem', 'UVFluxNet_277nm ', 'GCHPchem', 'UVFluxNet_267nm ', 'GCHPchem', 'UVFluxNet_261nm ', 'GCHPchem', 'UVFluxNet_214nm ', 'GCHPchem', 'UVFluxNet_211nm ', 'GCHPchem', 'UVFluxNet_208nm ', 'GCHPchem', 'UVFluxNet_202nm ', 'GCHPchem', 'UVFluxNet_196nm ', 'GCHPchem', 'UVFluxNet_193nm ', 'GCHPchem', 'UVFluxNet_191nm ', 'GCHPchem', 'UVFluxNet_187nm ', 'GCHPchem', 'UVFluxDirect_574nm ', 'GCHPchem', 'UVFluxDirect_380nm ', 'GCHPchem', 'UVFluxDirect_333nm ', 'GCHPchem', 'UVFluxDirect_316nm ', 'GCHPchem', 'UVFluxDirect_310nm ', 'GCHPchem', 'UVFluxDirect_303nm ', 'GCHPchem', 'UVFluxDirect_295nm ', 'GCHPchem', 'UVFluxDirect_277nm ', 'GCHPchem', 'UVFluxDirect_267nm ', 'GCHPchem', 'UVFluxDirect_261nm ', 'GCHPchem', 'UVFluxDirect_214nm ', 'GCHPchem', 'UVFluxDirect_211nm ', 'GCHPchem', 'UVFluxDirect_208nm ', 'GCHPchem', 'UVFluxDirect_202nm ', 'GCHPchem', 'UVFluxDirect_196nm ', 'GCHPchem', 'UVFluxDirect_193nm ', 'GCHPchem', 'UVFluxDirect_191nm ', 'GCHPchem', 'UVFluxDirect_187nm ', 'GCHPchem', 'UVFluxDiffuse_574nm ', 'GCHPchem', 'UVFluxDiffuse_380nm ', 'GCHPchem', 'UVFluxDiffuse_333nm ', 'GCHPchem', 'UVFluxDiffuse_316nm ', 'GCHPchem', 'UVFluxDiffuse_310nm ', 'GCHPchem', 'UVFluxDiffuse_303nm ', 'GCHPchem', 'UVFluxDiffuse_295nm ', 'GCHPchem', 'UVFluxDiffuse_277nm ', 'GCHPchem', 'UVFluxDiffuse_267nm ', 'GCHPchem', 'UVFluxDiffuse_261nm ', 'GCHPchem', 'UVFluxDiffuse_214nm ', 'GCHPchem', 'UVFluxDiffuse_211nm ', 'GCHPchem', 'UVFluxDiffuse_208nm ', 'GCHPchem', 'UVFluxDiffuse_202nm ', 'GCHPchem', 'UVFluxDiffuse_196nm ', 'GCHPchem', 'UVFluxDiffuse_193nm ', 'GCHPchem', 'UVFluxDiffuse_191nm ', 'GCHPchem', 'UVFluxDiffuse_187nm ', 'GCHPchem', :: #============================================================================= # %%%%% THE KppDiags COLLECTION %%%%% # # Diagnostics from the KPP solver. # # Available for full-chemistry simulations (all variations) #============================================================================= KppDiags.template: '%y4%m2%d2_%h2%n2z.nc4', KppDiags.format: 'CFIO', KppDiags.timestampStart: .true. KppDiags.monthly: 1 KppDiags.frequency: 010000 KppDiags.duration: 010000 KppDiags.mode: 'time-averaged' KppDiags.fields: 'KppIntCounts ', 'GCHPchem', 'KppJacCounts ', 'GCHPchem', 'KppTotSteps ', 'GCHPchem', 'KppAccSteps ', 'GCHPchem', 'KppRejSteps ', 'GCHPchem', 'KppLuDecomps ', 'GCHPchem', 'KppSubsts ', 'GCHPchem', 'KppSmDecomps ', 'GCHPchem', #'KppNegatives ', 'GCHPchem', #'KppNegatives0 ', 'GCHPchem', :: #============================================================================== # %%%%% THE KppARDiags COLLECTION %%%%% # # Diagnostics from the KPP solver when auto-reduction solver is used. #============================================================================== KppARDiags.template: '%y4%m2%d2_%h2%n2z.nc4', KppARDiags.format: 'CFIO', KppARDiags.timestampStart: .true. KppARDiags.monthly: 1 KppARDiags.frequency: 010000 KppARDiags.duration: 010000 KppARDiags.mode: 'time-averaged' KppARDiags.fields: 'KppAutoReducerNVAR ', 'GCHPchem', 'KppAutoReduceThres ', 'GCHPchem', 'KppcNONZERO ', 'GCHPchem', :: #============================================================================== # %%%%% THE Metrics COLLECTION %%%%% # # Diagnostics for chemistry metrics such as global mean OH concentration, # MCF lifetime, and CH4 lifetime. # # This diagnostic collection should always be left on. # Use the run-directory script ./metrics_fullchem.py to print results. #============================================================================== Metrics.template: '%y4%m2%d2_%h2%n2z.nc4', Metrics.format: 'CFIO', Metrics.timestampStart: .true. Metrics.monthly: 1 Metrics.frequency: 010000 Metrics.duration: 010000 Metrics.mode: 'time-averaged' Metrics.fields: 'AirMassColumnFull ', 'GCHPchem', 'LossOHbyCH4columnTrop ', 'GCHPchem', 'LossOHbyMCFcolumnTrop ', 'GCHPchem', 'OHwgtByAirMassColumnFull ', 'GCHPchem', :: #============================================================================== # %%%%% THE ProdLoss COLLECTION %%%%% # # Chemical production and loss rates #============================================================================== ProdLoss.template: '%y4%m2%d2_%h2%n2z.nc4', ProdLoss.format: 'CFIO', ProdLoss.timestampStart: .true. ProdLoss.monthly: 1 ProdLoss.frequency: 010000 ProdLoss.duration: 010000 ProdLoss.mode: 'time-averaged' ProdLoss.fields: 'Prod_Ox ', 'GCHPchem', 'Loss_Ox ', 'GCHPchem', 'Prod_SO4 ', 'GCHPchem', 'Prod_CO ', 'GCHPchem', 'Prod_H2O2 ', 'GCHPchem', 'ProdBCPIfromBCPO ', 'GCHPchem', 'ProdOCPIfromOCPO ', 'GCHPchem', 'ProdSO4fromH2O2inCloud ', 'GCHPchem', 'ProdSO4fromO2inCloudMetal ', 'GCHPchem', 'ProdSO4fromO3inCloud ', 'GCHPchem', 'ProdSO4fromO3inSeaSalt ', 'GCHPchem', 'ProdSO4fromHOBrInCloud ', 'GCHPchem', 'ProdSO4fromSRO3 ', 'GCHPchem', 'ProdSO4fromSRHOBr ', 'GCHPchem', 'ProdSO4fromO3s ', 'GCHPchem', 'Loss_CH4 ', 'GCHPchem', 'Loss_CO ', 'GCHPchem', 'LossHNO3onSeaSalt ', 'GCHPchem', 'ProdCOfromCH4 ', 'GCHPchem', 'ProdCOfromNMVOC ', 'GCHPchem', :: #============================================================================= # %%%%% THE RRTMG COLLECTION %%%%% # # Radiative transfer data from RRTMG. IMPORTANT: Each additional line in # this diagnostic will result in an additional RRTMG simulation! #============================================================================= RRTMG.template: '%y4%m2%d2_%h2%n2z.nc4', RRTMG.format: 'CFIO', RRTMG.timestampStart: .true. RRTMG.monthly: 1 RRTMG.frequency: 030000 RRTMG.duration: 030000 RRTMG.mode: 'time-averaged' RRTMG.fields: 'RadAllSkyLWSurf_BASE ', 'GCHPchem', 'RadAllSkyLWSurf_O3 ', 'GCHPchem', 'RadAllSkyLWSurf_O3T ', 'GCHPchem', 'RadAllSkyLWSurf_ME ', 'GCHPchem', 'RadAllSkyLWSurf_H2O ', 'GCHPchem', 'RadAllSkyLWSurf_CO2 ', 'GCHPchem', 'RadAllSkyLWSurf_CFC ', 'GCHPchem', 'RadAllSkyLWSurf_N2O ', 'GCHPchem', 'RadAllSkyLWSurf_SU ', 'GCHPchem', 'RadAllSkyLWSurf_NI ', 'GCHPchem', 'RadAllSkyLWSurf_AM ', 'GCHPchem', 'RadAllSkyLWSurf_BC ', 'GCHPchem', 'RadAllSkyLWSurf_OA ', 'GCHPchem', 'RadAllSkyLWSurf_SS ', 'GCHPchem', 'RadAllSkyLWSurf_DU ', 'GCHPchem', 'RadAllSkyLWSurf_PM ', 'GCHPchem', 'RadAllSkyLWSurf_ST ', 'GCHPchem', 'RadAllSkySWSurf_BASE ', 'GCHPchem', 'RadAllSkySWSurf_O3 ', 'GCHPchem', 'RadAllSkySWSurf_O3T ', 'GCHPchem', 'RadAllSkySWSurf_ME ', 'GCHPchem', 'RadAllSkySWSurf_H2O ', 'GCHPchem', 'RadAllSkySWSurf_CO2 ', 'GCHPchem', 'RadAllSkySWSurf_CFC ', 'GCHPchem', 'RadAllSkySWSurf_N2O ', 'GCHPchem', 'RadAllSkySWSurf_SU ', 'GCHPchem', 'RadAllSkySWSurf_NI ', 'GCHPchem', 'RadAllSkySWSurf_AM ', 'GCHPchem', 'RadAllSkySWSurf_BC ', 'GCHPchem', 'RadAllSkySWSurf_OA ', 'GCHPchem', 'RadAllSkySWSurf_SS ', 'GCHPchem', 'RadAllSkySWSurf_DU ', 'GCHPchem', 'RadAllSkySWSurf_PM ', 'GCHPchem', 'RadAllSkySWSurf_ST ', 'GCHPchem', 'RadClrSkyLWSurf_BASE ', 'GCHPchem', 'RadClrSkyLWSurf_O3 ', 'GCHPchem', 'RadClrSkyLWSurf_O3T ', 'GCHPchem', 'RadClrSkyLWSurf_ME ', 'GCHPchem', 'RadClrSkyLWSurf_H2O ', 'GCHPchem', 'RadClrSkyLWSurf_CO2 ', 'GCHPchem', 'RadClrSkyLWSurf_CFC ', 'GCHPchem', 'RadClrSkyLWSurf_N2O ', 'GCHPchem', 'RadClrSkyLWSurf_SU ', 'GCHPchem', 'RadClrSkyLWSurf_NI ', 'GCHPchem', 'RadClrSkyLWSurf_AM ', 'GCHPchem', 'RadClrSkyLWSurf_BC ', 'GCHPchem', 'RadClrSkyLWSurf_OA ', 'GCHPchem', 'RadClrSkyLWSurf_SS ', 'GCHPchem', 'RadClrSkyLWSurf_DU ', 'GCHPchem', 'RadClrSkyLWSurf_PM ', 'GCHPchem', 'RadClrSkyLWSurf_ST ', 'GCHPchem', 'RadClrSkySWSurf_BASE ', 'GCHPchem', 'RadClrSkySWSurf_O3 ', 'GCHPchem', 'RadClrSkySWSurf_O3T ', 'GCHPchem', 'RadClrSkySWSurf_ME ', 'GCHPchem', 'RadClrSkySWSurf_H2O ', 'GCHPchem', 'RadClrSkySWSurf_CO2 ', 'GCHPchem', 'RadClrSkySWSurf_CFC ', 'GCHPchem', 'RadClrSkySWSurf_N2O ', 'GCHPchem', 'RadClrSkySWSurf_SU ', 'GCHPchem', 'RadClrSkySWSurf_NI ', 'GCHPchem', 'RadClrSkySWSurf_AM ', 'GCHPchem', 'RadClrSkySWSurf_BC ', 'GCHPchem', 'RadClrSkySWSurf_OA ', 'GCHPchem', 'RadClrSkySWSurf_SS ', 'GCHPchem', 'RadClrSkySWSurf_DU ', 'GCHPchem', 'RadClrSkySWSurf_PM ', 'GCHPchem', 'RadClrSkySWSurf_ST ', 'GCHPchem', 'RadAllSkyLWTrop_BASE ', 'GCHPchem', 'RadAllSkyLWTrop_O3 ', 'GCHPchem', 'RadAllSkyLWTrop_O3T ', 'GCHPchem', 'RadAllSkyLWTrop_ME ', 'GCHPchem', 'RadAllSkyLWTrop_H2O ', 'GCHPchem', 'RadAllSkyLWTrop_CO2 ', 'GCHPchem', 'RadAllSkyLWTrop_CFC ', 'GCHPchem', 'RadAllSkyLWTrop_N2O ', 'GCHPchem', 'RadAllSkyLWTrop_SU ', 'GCHPchem', 'RadAllSkyLWTrop_NI ', 'GCHPchem', 'RadAllSkyLWTrop_AM ', 'GCHPchem', 'RadAllSkyLWTrop_BC ', 'GCHPchem', 'RadAllSkyLWTrop_OA ', 'GCHPchem', 'RadAllSkyLWTrop_SS ', 'GCHPchem', 'RadAllSkyLWTrop_DU ', 'GCHPchem', 'RadAllSkyLWTrop_PM ', 'GCHPchem', 'RadAllSkyLWTrop_ST ', 'GCHPchem', 'RadAllSkySWTrop_BASE ', 'GCHPchem', 'RadAllSkySWTrop_O3 ', 'GCHPchem', 'RadAllSkySWTrop_O3T ', 'GCHPchem', 'RadAllSkySWTrop_ME ', 'GCHPchem', 'RadAllSkySWTrop_H2O ', 'GCHPchem', 'RadAllSkySWTrop_CO2 ', 'GCHPchem', 'RadAllSkySWTrop_CFC ', 'GCHPchem', 'RadAllSkySWTrop_N2O ', 'GCHPchem', 'RadAllSkySWTrop_SU ', 'GCHPchem', 'RadAllSkySWTrop_NI ', 'GCHPchem', 'RadAllSkySWTrop_AM ', 'GCHPchem', 'RadAllSkySWTrop_BC ', 'GCHPchem', 'RadAllSkySWTrop_OA ', 'GCHPchem', 'RadAllSkySWTrop_SS ', 'GCHPchem', 'RadAllSkySWTrop_DU ', 'GCHPchem', 'RadAllSkySWTrop_PM ', 'GCHPchem', 'RadAllSkySWTrop_ST ', 'GCHPchem', 'RadClrSkyLWTrop_BASE ', 'GCHPchem', 'RadClrSkyLWTrop_O3 ', 'GCHPchem', 'RadClrSkyLWTrop_O3T ', 'GCHPchem', 'RadClrSkyLWTrop_ME ', 'GCHPchem', 'RadClrSkyLWTrop_H2O ', 'GCHPchem', 'RadClrSkyLWTrop_CO2 ', 'GCHPchem', 'RadClrSkyLWTrop_CFC ', 'GCHPchem', 'RadClrSkyLWTrop_N2O ', 'GCHPchem', 'RadClrSkyLWTrop_SU ', 'GCHPchem', 'RadClrSkyLWTrop_NI ', 'GCHPchem', 'RadClrSkyLWTrop_AM ', 'GCHPchem', 'RadClrSkyLWTrop_BC ', 'GCHPchem', 'RadClrSkyLWTrop_OA ', 'GCHPchem', 'RadClrSkyLWTrop_SS ', 'GCHPchem', 'RadClrSkyLWTrop_DU ', 'GCHPchem', 'RadClrSkyLWTrop_PM ', 'GCHPchem', 'RadClrSkyLWTrop_ST ', 'GCHPchem', 'RadClrSkySWTrop_BASE ', 'GCHPchem', 'RadClrSkySWTrop_O3 ', 'GCHPchem', 'RadClrSkySWTrop_O3T ', 'GCHPchem', 'RadClrSkySWTrop_ME ', 'GCHPchem', 'RadClrSkySWTrop_H2O ', 'GCHPchem', 'RadClrSkySWTrop_CO2 ', 'GCHPchem', 'RadClrSkySWTrop_CFC ', 'GCHPchem', 'RadClrSkySWTrop_N2O ', 'GCHPchem', 'RadClrSkySWTrop_SU ', 'GCHPchem', 'RadClrSkySWTrop_NI ', 'GCHPchem', 'RadClrSkySWTrop_AM ', 'GCHPchem', 'RadClrSkySWTrop_BC ', 'GCHPchem', 'RadClrSkySWTrop_OA ', 'GCHPchem', 'RadClrSkySWTrop_SS ', 'GCHPchem', 'RadClrSkySWTrop_DU ', 'GCHPchem', 'RadClrSkySWTrop_PM ', 'GCHPchem', 'RadClrSkySWTrop_ST ', 'GCHPchem', 'RadAllSkyLWTOA_BASE ', 'GCHPchem', 'RadAllSkyLWTOA_O3 ', 'GCHPchem', 'RadAllSkyLWTOA_O3T ', 'GCHPchem', 'RadAllSkyLWTOA_ME ', 'GCHPchem', 'RadAllSkyLWTOA_H2O ', 'GCHPchem', 'RadAllSkyLWTOA_CO2 ', 'GCHPchem', 'RadAllSkyLWTOA_CFC ', 'GCHPchem', 'RadAllSkyLWTOA_N2O ', 'GCHPchem', 'RadAllSkyLWTOA_SU ', 'GCHPchem', 'RadAllSkyLWTOA_NI ', 'GCHPchem', 'RadAllSkyLWTOA_AM ', 'GCHPchem', 'RadAllSkyLWTOA_BC ', 'GCHPchem', 'RadAllSkyLWTOA_OA ', 'GCHPchem', 'RadAllSkyLWTOA_SS ', 'GCHPchem', 'RadAllSkyLWTOA_DU ', 'GCHPchem', 'RadAllSkyLWTOA_PM ', 'GCHPchem', 'RadAllSkyLWTOA_ST ', 'GCHPchem', 'RadAllSkySWTOA_BASE ', 'GCHPchem', 'RadAllSkySWTOA_O3 ', 'GCHPchem', 'RadAllSkySWTOA_O3T ', 'GCHPchem', 'RadAllSkySWTOA_ME ', 'GCHPchem', 'RadAllSkySWTOA_H2O ', 'GCHPchem', 'RadAllSkySWTOA_CO2 ', 'GCHPchem', 'RadAllSkySWTOA_CFC ', 'GCHPchem', 'RadAllSkySWTOA_N2O ', 'GCHPchem', 'RadAllSkySWTOA_SU ', 'GCHPchem', 'RadAllSkySWTOA_NI ', 'GCHPchem', 'RadAllSkySWTOA_AM ', 'GCHPchem', 'RadAllSkySWTOA_BC ', 'GCHPchem', 'RadAllSkySWTOA_OA ', 'GCHPchem', 'RadAllSkySWTOA_SS ', 'GCHPchem', 'RadAllSkySWTOA_DU ', 'GCHPchem', 'RadAllSkySWTOA_PM ', 'GCHPchem', 'RadAllSkySWTOA_ST ', 'GCHPchem', 'RadClrSkyLWTOA_BASE ', 'GCHPchem', 'RadClrSkyLWTOA_O3 ', 'GCHPchem', 'RadClrSkyLWTOA_O3T ', 'GCHPchem', 'RadClrSkyLWTOA_ME ', 'GCHPchem', 'RadClrSkyLWTOA_H2O ', 'GCHPchem', 'RadClrSkyLWTOA_CO2 ', 'GCHPchem', 'RadClrSkyLWTOA_CFC ', 'GCHPchem', 'RadClrSkyLWTOA_N2O ', 'GCHPchem', 'RadClrSkyLWTOA_SU ', 'GCHPchem', 'RadClrSkyLWTOA_NI ', 'GCHPchem', 'RadClrSkyLWTOA_AM ', 'GCHPchem', 'RadClrSkyLWTOA_BC ', 'GCHPchem', 'RadClrSkyLWTOA_OA ', 'GCHPchem', 'RadClrSkyLWTOA_SS ', 'GCHPchem', 'RadClrSkyLWTOA_DU ', 'GCHPchem', 'RadClrSkyLWTOA_PM ', 'GCHPchem', 'RadClrSkyLWTOA_ST ', 'GCHPchem', 'RadClrSkySWTOA_BASE ', 'GCHPchem', 'RadClrSkySWTOA_O3 ', 'GCHPchem', 'RadClrSkySWTOA_O3T ', 'GCHPchem', 'RadClrSkySWTOA_ME ', 'GCHPchem', 'RadClrSkySWTOA_H2O ', 'GCHPchem', 'RadClrSkySWTOA_CO2 ', 'GCHPchem', 'RadClrSkySWTOA_CFC ', 'GCHPchem', 'RadClrSkySWTOA_N2O ', 'GCHPchem', 'RadClrSkySWTOA_SU ', 'GCHPchem', 'RadClrSkySWTOA_NI ', 'GCHPchem', 'RadClrSkySWTOA_AM ', 'GCHPchem', 'RadClrSkySWTOA_BC ', 'GCHPchem', 'RadClrSkySWTOA_OA ', 'GCHPchem', 'RadClrSkySWTOA_SS ', 'GCHPchem', 'RadClrSkySWTOA_DU ', 'GCHPchem', 'RadClrSkySWTOA_PM ', 'GCHPchem', 'RadClrSkySWTOA_ST ', 'GCHPchem', 'RadAODWL1_SU ', 'GCHPchem', 'RadAODWL1_NI ', 'GCHPchem', 'RadAODWL1_AM ', 'GCHPchem', 'RadAODWL1_BC ', 'GCHPchem', 'RadAODWL1_OA ', 'GCHPchem', 'RadAODWL1_SS ', 'GCHPchem', 'RadAODWL1_DU ', 'GCHPchem', 'RadAODWL1_PM ', 'GCHPchem', 'RadAODWL1_ST ', 'GCHPchem', 'RadSSAWL1_SU ', 'GCHPchem', 'RadSSAWL1_NI ', 'GCHPchem', 'RadSSAWL1_AM ', 'GCHPchem', 'RadSSAWL1_BC ', 'GCHPchem', 'RadSSAWL1_OA ', 'GCHPchem', 'RadSSAWL1_SS ', 'GCHPchem', 'RadSSAWL1_DU ', 'GCHPchem', 'RadSSAWL1_PM ', 'GCHPchem', 'RadSSAWL1_ST ', 'GCHPchem', 'RadAsymWL1_SU ', 'GCHPchem', 'RadAsymWL1_NI ', 'GCHPchem', 'RadAsymWL1_AM ', 'GCHPchem', 'RadAsymWL1_BC ', 'GCHPchem', 'RadAsymWL1_OA ', 'GCHPchem', 'RadAsymWL1_SS ', 'GCHPchem', 'RadAsymWL1_DU ', 'GCHPchem', 'RadAsymWL1_PM ', 'GCHPchem', 'RadAsymWL1_ST ', 'GCHPchem', 'DTRad ', 'GCHPchem', :: #============================================================================= # %%%%% THE DYNHEATING COLLECTION %%%%% # # Estimated dynamical heating data from RRTMG. This MUST be output if the user # intends to use this simulation as the reference for RRTMG (SE)FDH simulations. # The frequency and duration must also match the RRTMG (radiation) time step, # which defaults to 3 hours. This must NOT be set to monthly if it is to work # correctly. #============================================================================= DynHeating.template: '%y4%m2%d2_%h2%n2z.nc4', DynHeating.format: 'CFIO', DynHeating.timestampStart: .true. DynHeating.monthly: 0 DynHeating.frequency: 030000 DynHeating.duration: 030000 DynHeating.mode: 'time-averaged' DynHeating.fields: 'DynHeating ', 'GCHPchem', :: #============================================================================== # %%%%% THE RxnRates COLLECTION %%%%% # # Archives chemical reaction rates from the KPP solver. # It is best to list individual reactions to avoid using too much memory. # Reactions should be listed as "RxnRate_EQnnnn", where nnnn is the reaction # index as listed in KPP/fullchem/gckpp_Monitor.F90 (pad zeroes as needed). #============================================================================== RxnRates.template: '%y4%m2%d2_%h2%n2z.nc4', RxnRates.format: 'CFIO', RxnRates.timestampStart: .true. RxnRates.monthly: 1 RxnRates.frequency: 010000 RxnRates.duration: 010000 RxnRates.mode: 'time-averaged' RxnRates.fields: 'RxnRate_EQ0001 ', 'GCHPchem', 'RxnRate_EQ0002 ', 'GCHPchem', :: #============================================================================== # %%%%% THE RxnConst COLLECTION %%%%% # # Archives chemical reaction rates constants from the KPP solver. # It is best to list individual reactions to avoid using too much memory. # Reactions should be listed as "RxnConst_EQnnnn", where nnnn is the reaction # index as listed in KPP/fullchem/gckpp_Monitor.F90 (pad zeroes as needed). # # The units of reaction rate constants vary according to the number of reactants # in the reaction. #============================================================================== RxnConst.template: '%y4%m2%d2_%h2%n2z.nc4', RxnConst.format: 'CFIO', RxnConst.timestampStart: .true. RxnConst.monthly: 1 RxnConst.frequency: 010000 RxnConst.duration: 010000 RxnConst.mode: 'time-averaged' RxnConst.fields: 'RxnConst_EQ0001 ', 'GCHPchem', 'RxnConst_EQ0002 ', 'GCHPchem', :: #============================================================================== # %%%%% THE SpeciesConc COLLECTION %%%%% # # GEOS-Chem species concentrations # # Concentrations may be saved out as SpeciesConcVV [v/v dry air] or # SpeciesConcMND [molec/cm3] #============================================================================== SpeciesConc.template: '%y4%m2%d2_%h2%n2z.nc4', SpeciesConc.format: 'CFIO', SpeciesConc.timestampStart: .true. SpeciesConc.monthly: 1 SpeciesConc.frequency: 010000 SpeciesConc.duration: 010000 SpeciesConc.mode: 'time-averaged' SpeciesConc.fields: 'SpeciesConcVV_RCOOH ', 'GCHPchem', 'SpeciesConcVV_O2 ', 'GCHPchem', 'SpeciesConcVV_N2 ', 'GCHPchem', 'SpeciesConcVV_H2 ', 'GCHPchem', 'SpeciesConcVV_O ', 'GCHPchem', 'SpeciesConcVV_OH ', 'GCHPchem', 'SpeciesConcVV_HO2 ', 'GCHPchem', 'SpeciesConcVV_O1D ', 'GCHPchem', 'SpeciesConcVV_MO2 ', 'GCHPchem', 'SpeciesConcVV_MCO3 ', 'GCHPchem', 'SpeciesConcVV_CH2OO ', 'GCHPchem', 'SpeciesConcVV_B3O2 ', 'GCHPchem', 'SpeciesConcVV_R4O2 ', 'GCHPchem', 'SpeciesConcVV_OTHRO2 ', 'GCHPchem', 'SpeciesConcVV_ATO2 ', 'GCHPchem', 'SpeciesConcVV_MACRNO2 ', 'GCHPchem', 'SpeciesConcVV_IHOO1 ', 'GCHPchem', 'SpeciesConcVV_IHOO4 ', 'GCHPchem', 'SpeciesConcVV_INO2D ', 'GCHPchem', 'SpeciesConcVV_INO2B ', 'GCHPchem', 'SpeciesConcVV_A3O2 ', 'GCHPchem', 'SpeciesConcVV_IDHNBOO ', 'GCHPchem', 'SpeciesConcVV_PIO2 ', 'GCHPchem', 'SpeciesConcVV_CH3CHOO ', 'GCHPchem', 'SpeciesConcVV_IEPOXBOO ', 'GCHPchem', 'SpeciesConcVV_IEPOXAOO ', 'GCHPchem', 'SpeciesConcVV_KO2 ', 'GCHPchem', 'SpeciesConcVV_LIMO2 ', 'GCHPchem', 'SpeciesConcVV_RCO3 ', 'GCHPchem', 'SpeciesConcVV_IHPNBOO ', 'GCHPchem', 'SpeciesConcVV_ETO2 ', 'GCHPchem', 'SpeciesConcVV_OLND ', 'GCHPchem', 'SpeciesConcVV_OLNN ', 'GCHPchem', 'SpeciesConcVV_PO2 ', 'GCHPchem', 'SpeciesConcVV_MACR1OO ', 'GCHPchem', 'SpeciesConcVV_MCROHOO ', 'GCHPchem', 'SpeciesConcVV_MVKOHOO ', 'GCHPchem', 'SpeciesConcVV_PRN1 ', 'GCHPchem', 'SpeciesConcVV_R4N1 ', 'GCHPchem', 'SpeciesConcVV_ICHOO ', 'GCHPchem', 'SpeciesConcVV_IHPOO3 ', 'GCHPchem', 'SpeciesConcVV_IHPNDOO ', 'GCHPchem', 'SpeciesConcVV_IHPOO2 ', 'GCHPchem', 'SpeciesConcVV_IHPOO1 ', 'GCHPchem', 'SpeciesConcVV_H ', 'GCHPchem', 'SpeciesConcVV_ISOPNOO1 ', 'GCHPchem', 'SpeciesConcVV_IDHNDOO2 ', 'GCHPchem', 'SpeciesConcVV_IDHNDOO1 ', 'GCHPchem', 'SpeciesConcVV_ROH ', 'GCHPchem', 'SpeciesConcVV_ISOPNOO2 ', 'GCHPchem', 'SpeciesConcVV_ICNOO ', 'GCHPchem', 'SpeciesConcVV_IDNOO ', 'GCHPchem', 'SpeciesConcVV_C4HVP2 ', 'GCHPchem', 'SpeciesConcVV_C4HVP1 ', 'GCHPchem', 'SpeciesConcVV_INA ', 'GCHPchem', 'SpeciesConcVV_HPALD2OO ', 'GCHPchem', 'SpeciesConcVV_HPALD1OO ', 'GCHPchem', 'SpeciesConcVV_XRO2 ', 'GCHPchem', 'SpeciesConcVV_N ', 'GCHPchem', 'SpeciesConcVV_TRO2 ', 'GCHPchem', 'SpeciesConcVV_BrO2 ', 'GCHPchem', 'SpeciesConcVV_PH2O2 ', 'GCHPchem', 'SpeciesConcVV_LCH4 ', 'GCHPchem', 'SpeciesConcVV_PSO4 ', 'GCHPchem', 'SpeciesConcVV_LCO ', 'GCHPchem', 'SpeciesConcVV_PCO ', 'GCHPchem', 'SpeciesConcVV_LOX ', 'GCHPchem', 'SpeciesConcVV_POX ', 'GCHPchem', 'SpeciesConcVV_LXRO2N ', 'GCHPchem', 'SpeciesConcVV_LXRO2H ', 'GCHPchem', 'SpeciesConcVV_LTRO2N ', 'GCHPchem', 'SpeciesConcVV_LTRO2H ', 'GCHPchem', 'SpeciesConcVV_NAP ', 'GCHPchem', 'SpeciesConcVV_NRO2 ', 'GCHPchem', 'SpeciesConcVV_LNRO2N ', 'GCHPchem', 'SpeciesConcVV_LNRO2H ', 'GCHPchem', 'SpeciesConcVV_LISOPNO3 ', 'GCHPchem', 'SpeciesConcVV_LISOPOH ', 'GCHPchem', 'SpeciesConcVV_LBrO2N ', 'GCHPchem', 'SpeciesConcVV_LBrO2H ', 'GCHPchem', 'SpeciesConcVV_CO2 ', 'GCHPchem', 'SpeciesConcVV_XYLE ', 'GCHPchem', 'SpeciesConcVV_TOLU ', 'GCHPchem', 'SpeciesConcVV_SOAS ', 'GCHPchem', 'SpeciesConcVV_SOAP ', 'GCHPchem', 'SpeciesConcVV_SOAIE ', 'GCHPchem', 'SpeciesConcVV_SOAGX ', 'GCHPchem', 'SpeciesConcVV_SO4s ', 'GCHPchem', 'SpeciesConcVV_SO4 ', 'GCHPchem', 'SpeciesConcVV_SO2 ', 'GCHPchem', 'SpeciesConcVV_SALCCL ', 'GCHPchem', 'SpeciesConcVV_SALCAL ', 'GCHPchem', 'SpeciesConcVV_SALC ', 'GCHPchem', 'SpeciesConcVV_SALACL ', 'GCHPchem', 'SpeciesConcVV_SALAAL ', 'GCHPchem', 'SpeciesConcVV_SALA ', 'GCHPchem', 'SpeciesConcVV_RP ', 'GCHPchem', 'SpeciesConcVV_RIPD ', 'GCHPchem', 'SpeciesConcVV_RIPC ', 'GCHPchem', 'SpeciesConcVV_RIPB ', 'GCHPchem', 'SpeciesConcVV_RIPA ', 'GCHPchem', 'SpeciesConcVV_RCHO ', 'GCHPchem', 'SpeciesConcVV_RB3P ', 'GCHPchem', 'SpeciesConcVV_RA3P ', 'GCHPchem', 'SpeciesConcVV_R4P ', 'GCHPchem', 'SpeciesConcVV_R4N2 ', 'GCHPchem', 'SpeciesConcVV_PYAC ', 'GCHPchem', 'SpeciesConcVV_PRPN ', 'GCHPchem', 'SpeciesConcVV_PRPE ', 'GCHPchem', 'SpeciesConcVV_PROPNN ', 'GCHPchem', 'SpeciesConcVV_PPN ', 'GCHPchem', 'SpeciesConcVV_PP ', 'GCHPchem', 'SpeciesConcVV_PIP ', 'GCHPchem', 'SpeciesConcVV_PHEN ', 'GCHPchem', 'SpeciesConcVV_pFe ', 'GCHPchem', 'SpeciesConcVV_PAN ', 'GCHPchem', 'SpeciesConcVV_OIO ', 'GCHPchem', 'SpeciesConcVV_OCS ', 'GCHPchem', 'SpeciesConcVV_OCPO ', 'GCHPchem', 'SpeciesConcVV_OCPI ', 'GCHPchem', 'SpeciesConcVV_OClO ', 'GCHPchem', 'SpeciesConcVV_O3 ', 'GCHPchem', 'SpeciesConcVV_NPRNO3 ', 'GCHPchem', 'SpeciesConcVV_NO3 ', 'GCHPchem', 'SpeciesConcVV_NO2 ', 'GCHPchem', 'SpeciesConcVV_NPHEN ', 'GCHPchem', 'SpeciesConcVV_NO ', 'GCHPchem', 'SpeciesConcVV_NITs ', 'GCHPchem', 'SpeciesConcVV_NIT ', 'GCHPchem', 'SpeciesConcVV_NH4 ', 'GCHPchem', 'SpeciesConcVV_NH3 ', 'GCHPchem', 'SpeciesConcVV_N2O5 ', 'GCHPchem', 'SpeciesConcVV_N2O ', 'GCHPchem', 'SpeciesConcVV_MVKPC ', 'GCHPchem', 'SpeciesConcVV_MVKN ', 'GCHPchem', 'SpeciesConcVV_MVKHP ', 'GCHPchem', 'SpeciesConcVV_MVKHCB ', 'GCHPchem', 'SpeciesConcVV_MVKHC ', 'GCHPchem', 'SpeciesConcVV_MVKDH ', 'GCHPchem', 'SpeciesConcVV_MVK ', 'GCHPchem', 'SpeciesConcVV_MTPO ', 'GCHPchem', 'SpeciesConcVV_MTPA ', 'GCHPchem', 'SpeciesConcVV_MSA ', 'GCHPchem', 'SpeciesConcVV_MPN ', 'GCHPchem', 'SpeciesConcVV_MPAN ', 'GCHPchem', 'SpeciesConcVV_MP ', 'GCHPchem', 'SpeciesConcVV_MONITU ', 'GCHPchem', 'SpeciesConcVV_MONITS ', 'GCHPchem', 'SpeciesConcVV_MONITA ', 'GCHPchem', 'SpeciesConcVV_MOH ', 'GCHPchem', 'SpeciesConcVV_MGLY ', 'GCHPchem', 'SpeciesConcVV_MENO3 ', 'GCHPchem', 'SpeciesConcVV_MEK ', 'GCHPchem', 'SpeciesConcVV_MCRHP ', 'GCHPchem', 'SpeciesConcVV_MCRHNB ', 'GCHPchem', 'SpeciesConcVV_MCRHN ', 'GCHPchem', 'SpeciesConcVV_MCRENOL ', 'GCHPchem', 'SpeciesConcVV_MCRDH ', 'GCHPchem', 'SpeciesConcVV_MAP ', 'GCHPchem', 'SpeciesConcVV_MACR1OOH ', 'GCHPchem', 'SpeciesConcVV_MACR ', 'GCHPchem', 'SpeciesConcVV_LVOCOA ', 'GCHPchem', 'SpeciesConcVV_LVOC ', 'GCHPchem', 'SpeciesConcVV_LIMO ', 'GCHPchem', 'SpeciesConcVV_ITHN ', 'GCHPchem', 'SpeciesConcVV_ITCN ', 'GCHPchem', 'SpeciesConcVV_ISOP ', 'GCHPchem', 'SpeciesConcVV_ISALC ', 'GCHPchem', 'SpeciesConcVV_ISALA ', 'GCHPchem', 'SpeciesConcVV_IPRNO3 ', 'GCHPchem', 'SpeciesConcVV_IONO2 ', 'GCHPchem', 'SpeciesConcVV_IONO ', 'GCHPchem', 'SpeciesConcVV_IONITA ', 'GCHPchem', 'SpeciesConcVV_IO ', 'GCHPchem', 'SpeciesConcVV_INPD ', 'GCHPchem', 'SpeciesConcVV_INPB ', 'GCHPchem', 'SpeciesConcVV_INO ', 'GCHPchem', 'SpeciesConcVV_INDIOL ', 'GCHPchem', 'SpeciesConcVV_IHN4 ', 'GCHPchem', 'SpeciesConcVV_IHN3 ', 'GCHPchem', 'SpeciesConcVV_IHN2 ', 'GCHPchem', 'SpeciesConcVV_IHN1 ', 'GCHPchem', 'SpeciesConcVV_IEPOXD ', 'GCHPchem', 'SpeciesConcVV_IEPOXB ', 'GCHPchem', 'SpeciesConcVV_IEPOXA ', 'GCHPchem', 'SpeciesConcVV_IDN ', 'GCHPchem', 'SpeciesConcVV_IDHPE ', 'GCHPchem', 'SpeciesConcVV_IDHDP ', 'GCHPchem', 'SpeciesConcVV_IDCHP ', 'GCHPchem', 'SpeciesConcVV_IDC ', 'GCHPchem', 'SpeciesConcVV_ICPDH ', 'GCHPchem', 'SpeciesConcVV_ICN ', 'GCHPchem', 'SpeciesConcVV_ICl ', 'GCHPchem', 'SpeciesConcVV_ICHE ', 'GCHPchem', 'SpeciesConcVV_IBr ', 'GCHPchem', 'SpeciesConcVV_I2O4 ', 'GCHPchem', 'SpeciesConcVV_I2O3 ', 'GCHPchem', 'SpeciesConcVV_I2O2 ', 'GCHPchem', 'SpeciesConcVV_I2 ', 'GCHPchem', 'SpeciesConcVV_I ', 'GCHPchem', 'SpeciesConcVV_HPETHNL ', 'GCHPchem', 'SpeciesConcVV_HPALD4 ', 'GCHPchem', 'SpeciesConcVV_HPALD3 ', 'GCHPchem', 'SpeciesConcVV_HPALD2 ', 'GCHPchem', 'SpeciesConcVV_HPALD1 ', 'GCHPchem', 'SpeciesConcVV_HONIT ', 'GCHPchem', 'SpeciesConcVV_HOI ', 'GCHPchem', 'SpeciesConcVV_HOCl ', 'GCHPchem', 'SpeciesConcVV_HOBr ', 'GCHPchem', 'SpeciesConcVV_HNO4 ', 'GCHPchem', 'SpeciesConcVV_HNO3 ', 'GCHPchem', 'SpeciesConcVV_HNO2 ', 'GCHPchem', 'SpeciesConcVV_HMS ', 'GCHPchem', 'SpeciesConcVV_HMML ', 'GCHPchem', 'SpeciesConcVV_HMHP ', 'GCHPchem', 'SpeciesConcVV_HI ', 'GCHPchem', 'SpeciesConcVV_HCOOH ', 'GCHPchem', 'SpeciesConcVV_HCl ', 'GCHPchem', 'SpeciesConcVV_HCFC22 ', 'GCHPchem', 'SpeciesConcVV_HCFC142b ', 'GCHPchem', 'SpeciesConcVV_HCFC141b ', 'GCHPchem', 'SpeciesConcVV_HCFC123 ', 'GCHPchem', 'SpeciesConcVV_HC5A ', 'GCHPchem', 'SpeciesConcVV_HBr ', 'GCHPchem', 'SpeciesConcVV_HAC ', 'GCHPchem', 'SpeciesConcVV_H2O2 ', 'GCHPchem', 'SpeciesConcVV_H2O ', 'GCHPchem', 'SpeciesConcVV_H2402 ', 'GCHPchem', 'SpeciesConcVV_H1301 ', 'GCHPchem', 'SpeciesConcVV_H1211 ', 'GCHPchem', 'SpeciesConcVV_GLYX ', 'GCHPchem', 'SpeciesConcVV_GLYC ', 'GCHPchem', 'SpeciesConcVV_FURA ', 'GCHPchem', 'SpeciesConcVV_ETP ', 'GCHPchem', 'SpeciesConcVV_ETNO3 ', 'GCHPchem', 'SpeciesConcVV_ETHP ', 'GCHPchem', 'SpeciesConcVV_ETHN ', 'GCHPchem', 'SpeciesConcVV_ETHLN ', 'GCHPchem', 'SpeciesConcVV_EOH ', 'GCHPchem', 'SpeciesConcVV_DSTbin7 ', 'GCHPchem', 'SpeciesConcVV_DSTbin6 ', 'GCHPchem', 'SpeciesConcVV_DSTbin5 ', 'GCHPchem', 'SpeciesConcVV_DSTbin4 ', 'GCHPchem', 'SpeciesConcVV_DSTbin3 ', 'GCHPchem', 'SpeciesConcVV_DSTbin2 ', 'GCHPchem', 'SpeciesConcVV_DSTbin1 ', 'GCHPchem', 'SpeciesConcVV_DMS ', 'GCHPchem', 'SpeciesConcVV_CO ', 'GCHPchem', 'SpeciesConcVV_ClOO ', 'GCHPchem', 'SpeciesConcVV_ClO ', 'GCHPchem', 'SpeciesConcVV_ClNO3 ', 'GCHPchem', 'SpeciesConcVV_ClNO2 ', 'GCHPchem', 'SpeciesConcVV_Cl2O2 ', 'GCHPchem', 'SpeciesConcVV_Cl2 ', 'GCHPchem', 'SpeciesConcVV_Cl ', 'GCHPchem', 'SpeciesConcVV_CLOCK ', 'GCHPchem', 'SpeciesConcVV_CHCl3 ', 'GCHPchem', 'SpeciesConcVV_CHBr3 ', 'GCHPchem', 'SpeciesConcVV_CH4 ', 'GCHPchem', 'SpeciesConcVV_CH3I ', 'GCHPchem', 'SpeciesConcVV_CH3Cl ', 'GCHPchem', 'SpeciesConcVV_CH3CCl3 ', 'GCHPchem', 'SpeciesConcVV_CH3Br ', 'GCHPchem', 'SpeciesConcVV_CH2O ', 'GCHPchem', 'SpeciesConcVV_CH2ICl ', 'GCHPchem', 'SpeciesConcVV_CH2IBr ', 'GCHPchem', 'SpeciesConcVV_CH2I2 ', 'GCHPchem', 'SpeciesConcVV_CH2Cl2 ', 'GCHPchem', 'SpeciesConcVV_CH2Br2 ', 'GCHPchem', 'SpeciesConcVV_CFC12 ', 'GCHPchem', 'SpeciesConcVV_CFC115 ', 'GCHPchem', 'SpeciesConcVV_CFC114 ', 'GCHPchem', 'SpeciesConcVV_CFC113 ', 'GCHPchem', 'SpeciesConcVV_CFC11 ', 'GCHPchem', 'SpeciesConcVV_CCl4 ', 'GCHPchem', 'SpeciesConcVV_C3H8 ', 'GCHPchem', 'SpeciesConcVV_C2H6 ', 'GCHPchem', 'SpeciesConcVV_C2H4 ', 'GCHPchem', 'SpeciesConcVV_C2H2 ', 'GCHPchem', 'SpeciesConcVV_BZPAN ', 'GCHPchem', 'SpeciesConcVV_BUTDI ', 'GCHPchem', 'SpeciesConcVV_BrSALC ', 'GCHPchem', 'SpeciesConcVV_BrSALA ', 'GCHPchem', 'SpeciesConcVV_BrO ', 'GCHPchem', 'SpeciesConcVV_BrNO3 ', 'GCHPchem', 'SpeciesConcVV_BrNO2 ', 'GCHPchem', 'SpeciesConcVV_BrCl ', 'GCHPchem', 'SpeciesConcVV_Br2 ', 'GCHPchem', 'SpeciesConcVV_Br ', 'GCHPchem', 'SpeciesConcVV_BENZ ', 'GCHPchem', 'SpeciesConcVV_BCPO ', 'GCHPchem', 'SpeciesConcVV_BCPI ', 'GCHPchem', 'SpeciesConcVV_BALD ', 'GCHPchem', 'SpeciesConcVV_ATOOH ', 'GCHPchem', 'SpeciesConcVV_AONITA ', 'GCHPchem', 'SpeciesConcVV_ALK4 ', 'GCHPchem', 'SpeciesConcVV_ALD2 ', 'GCHPchem', 'SpeciesConcVV_AERI ', 'GCHPchem', 'SpeciesConcVV_ACTA ', 'GCHPchem', 'SpeciesConcVV_ACET ', 'GCHPchem', #'SpeciesConcVV_TSOG3 ', 'GCHPchem', #'SpeciesConcVV_TSOG2 ', 'GCHPchem', #'SpeciesConcVV_TSOG1 ', 'GCHPchem', #'SpeciesConcVV_TSOG0 ', 'GCHPchem', #'SpeciesConcVV_TSOA3 ', 'GCHPchem', #'SpeciesConcVV_TSOA2 ', 'GCHPchem', #'SpeciesConcVV_TSOA1 ', 'GCHPchem', #'SpeciesConcVV_TSOA0 ', 'GCHPchem', #'SpeciesConcVV_ASOG3 ', 'GCHPchem', #'SpeciesConcVV_ASOG2 ', 'GCHPchem', #'SpeciesConcVV_ASOG1 ', 'GCHPchem', #'SpeciesConcVV_ASOAN ', 'GCHPchem', #'SpeciesConcVV_ASOA3 ', 'GCHPchem', #'SpeciesConcVV_ASOA2 ', 'GCHPchem', #'SpeciesConcVV_ASOA1 ', 'GCHPchem', :: #============================================================================= # %%%%% THE StateChm COLLECTION %%%%% # # Fields of the State_Chm object (see also Aerosols collection) #============================================================================= StateChm.template: '%y4%m2%d2_%h2%n2z.nc4', StateChm.format: 'CFIO', StateChm.timestampStart: .true. StateChm.monthly: 1 StateChm.frequency: 010000 StateChm.duration: 010000 StateChm.mode: 'time-averaged' StateChm.fields: 'Chem_IsorropAeropHAccum ', 'GCHPchem', 'Chem_IsorropAeropHCoarse ', 'GCHPchem', 'Chem_IsorropHplusAccum ', 'GCHPchem', 'Chem_IsorropHplusCoarse ', 'GCHPchem', 'Chem_IsorropAeroH2OAccum ', 'GCHPchem', 'Chem_IsorropAeroH2OCoarse ', 'GCHPchem', 'Chem_IsorropSulfate ', 'GCHPchem', 'Chem_IsorropNitrateAccum ', 'GCHPchem', 'Chem_IsorropNitrateCoarse ', 'GCHPchem', 'Chem_IsorropChlorideAccum ', 'GCHPchem', 'Chem_IsorropChlorideCoarse ', 'GCHPchem', 'Chem_IsorropBisulfate ', 'GCHPchem', 'Chem_pHCloud ', 'GCHPchem', 'Chem_isCloud ', 'GCHPchem', 'Chem_SSAlkAccumMode ', 'GCHPchem', 'Chem_SSAlkCoarseMode ', 'GCHPchem', 'Chem_HSO3AQ ', 'GCHPchem', 'Chem_SO3AQ ', 'GCHPchem', 'Chem_fupdateHOBr ', 'GCHPchem', 'Chem_GammaN2O5overall ', 'GCHPchem', 'Chem_GammaN2O5fine ', 'GCHPchem', 'Chem_YieldClNO2fine ', 'GCHPchem', :: #============================================================================== # %%%%% The StateMet time-averaged COLLECTION %%%%% # # Fields of the State_Met object (also see the StateMetLevEdge collection) #============================================================================== StateMet.template: '%y4%m2%d2_%h2%n2z.nc4', StateMet.format: 'CFIO', StateMet.timestampStart: .true. StateMet.monthly: 1 StateMet.frequency: 010000 StateMet.duration: 010000 StateMet.mode: 'time-averaged' StateMet.fields: 'Met_AD ', 'GCHPchem', #'Met_AIRDEN ', 'GCHPchem', #'Met_AIRVOL ', 'GCHPchem', #'Met_ALBD ', 'GCHPchem', 'Met_AREAM2 ', 'GCHPchem', #'Met_AVGW ', 'GCHPchem', 'Met_BXHEIGHT ', 'GCHPchem', #'Met_ChemGridLev ', 'GCHPchem', #'Met_CLDF ', 'GCHPchem', 'Met_CLDFRC ', 'GCHPchem', #'Met_CLDTOPS ', 'GCHPchem', #'Met_DELP ', 'GCHPchem', #'Met_DELPDRY ', 'GCHPchem', #'Met_DQRCU ', 'GCHPchem', #'Met_DQRLSAN ', 'GCHPchem', #'Met_DTRAIN ', 'GCHPchem', #'Met_EFLUX ', 'GCHPchem', #'Met_FRCLND ', 'GCHPchem', #'Met_FRLAKE ', 'GCHPchem', #'Met_FRLAND ', 'GCHPchem', #'Met_FRLANDICE ', 'GCHPchem', #'Met_FROCEAN ', 'GCHPchem', #'Met_FRSEAICE ', 'GCHPchem', #'Met_FRSNOW ', 'GCHPchem', #'Met_GWETROOT ', 'GCHPchem', #'Met_GWETTOP ', 'GCHPchem', #'Met_HFLUX ', 'GCHPchem', #'Met_LAI ', 'GCHPchem', #'Met_PARDR ', 'GCHPchem', #'Met_PARDF ', 'GCHPchem', #'Met_PBLTOPL ', 'GCHPchem', #'Met_PBLH ', 'GCHPchem', #'Met_PHIS ', 'GCHPchem', #'Met_PMID ', 'GCHPchem', #'Met_PMIDDRY ', 'GCHPchem', #'Met_PRECANV ', 'GCHPchem', #'Met_PRECCON ', 'GCHPchem', #'Met_PRECLSC ', 'GCHPchem', #'Met_PRECTOT ', 'GCHPchem', #'Met_PS1DRY ', 'GCHPchem', #'Met_PS1WET ', 'GCHPchem', #'Met_PS2DRY ', 'GCHPchem', #'Met_PS2WET ', 'GCHPchem', 'Met_PSC2WET ', 'GCHPchem', 'Met_PSC2DRY ', 'GCHPchem', #'Met_QI ', 'GCHPchem', #'Met_QL ', 'GCHPchem', #'Met_OMEGA ', 'GCHPchem', 'Met_OPTD ', 'GCHPchem', #'Met_REEVAPCN ', 'GCHPchem', #'Met_REEVAPLS ', 'GCHPchem', #'Met_SLP ', 'GCHPchem', #'Met_SNODP ', 'GCHPchem', #'Met_SNOMAS ', 'GCHPchem', 'Met_SPHU ', 'GCHPchem', #'Met_SPHU1 ', 'GCHPchem', #'Met_SPHU2 ', 'GCHPchem', #'Met_SUNCOS ', 'GCHPchem', #'Met_SUNCOSmid ', 'GCHPchem', #'Met_SWGDN ', 'GCHPchem', 'Met_T ', 'GCHPchem', #'Met_TAUCLI ', 'GCHPchem', #'Met_TAUCLW ', 'GCHPchem', #'Met_THETA ', 'GCHPchem', #'Met_TMPU1 ', 'GCHPchem', #'Met_TMPU2 ', 'GCHPchem', #'Met_TO3 ', 'GCHPchem', 'Met_TropHt ', 'GCHPchem', 'Met_TropLev ', 'GCHPchem', 'Met_TropP ', 'GCHPchem', #'Met_TS ', 'GCHPchem', #'Met_TSKIN ', 'GCHPchem', #'Met_TV ', 'GCHPchem', #'Met_U ', 'GCHPchem', #'Met_U10M ', 'GCHPchem', #'Met_USTAR ', 'GCHPchem', #'Met_UVALBEDO ', 'GCHPchem', #'Met_V ', 'GCHPchem', #'Met_V10M ', 'GCHPchem', #'Met_Z0 ', 'GCHPchem', #'FracOfTimeInTrop ', 'GCHPchem', :: #============================================================================== # %%%%% THE StateMetLevEdge COLLECTION %%%%% # # State_Met arrays that are defined on grid box level edges #============================================================================== StateMetLevEdge.template: '%y4%m2%d2_%h2%n2z.nc4', StateMetLevEdge.format: 'CFIO', StateMetLevEdge.timestampStart: .true. StateMetLevEdge.monthly: 1 StateMetLevEdge.frequency: 010000 StateMetLevEdge.duration: 010000 StateMetLevEdge.mode: 'time-averaged' StateMetLevEdge.fields: 'Met_CMFMC ', 'GCHPchem', 'Met_PEDGE ', 'GCHPchem', 'Met_PEDGEDRY ', 'GCHPchem', 'Met_PFICU ', 'GCHPchem', 'Met_PFILSAN ', 'GCHPchem', 'Met_PFLCU ', 'GCHPchem', 'Met_PFLLSAN ', 'GCHPchem', :: #============================================================================== # %%%%% THE StratBM COLLECTION %%%%% # # Fields needed for GEOS-Chem 10-year stratospheric benchmarks #============================================================================== StratBM.template: '%y4%m2%d2_%h2%n2z.nc4', StratBM.format: 'CFIO', StratBM.timestampStart: .true. StratBM.monthly: 1 StratBM.frequency: 010000 StratBM.duration: 240000 StratBM.mode: 'time-averaged' StratBM.fields: 'SpeciesConcVV_NO2 ', 'GCHPchem', 'SpeciesConcVV_O3 ', 'GCHPchem', 'SpeciesConcVV_ClO ', 'GCHPchem', 'Met_PSC2WET ', 'GCHPchem', 'Met_BXHEIGHT ', 'GCHPchem', 'Met_AIRDEN ', 'GCHPchem', 'Met_AD ', 'GCHPchem', :: #============================================================================== # %%%%% THE Tomas Microphysics Rate COLLECTION %%%%% # # Tomas microphysics rates #============================================================================== Tomas.template: '%y4%m2%d2_%h2%n2z.nc4', Tomas.format: 'CFIO', Tomas.timestampStart: .true. Tomas.monthly: 0 Tomas.frequency: 010000 Tomas.duration: 010000 Tomas.mode: 'time-averaged' Tomas.fields: 'TomasH2SO4mass_bin01 ', 'GCHPchem', 'TomasH2SO4mass_bin02 ', 'GCHPchem', 'TomasH2SO4mass_bin03 ', 'GCHPchem', 'TomasH2SO4mass_bin04 ', 'GCHPchem', 'TomasH2SO4mass_bin05 ', 'GCHPchem', 'TomasH2SO4mass_bin06 ', 'GCHPchem', 'TomasH2SO4mass_bin07 ', 'GCHPchem', 'TomasH2SO4mass_bin08 ', 'GCHPchem', 'TomasH2SO4mass_bin09 ', 'GCHPchem', 'TomasH2SO4mass_bin10 ', 'GCHPchem', 'TomasH2SO4mass_bin11 ', 'GCHPchem', 'TomasH2SO4mass_bin12 ', 'GCHPchem', 'TomasH2SO4mass_bin13 ', 'GCHPchem', 'TomasH2SO4mass_bin14 ', 'GCHPchem', 'TomasH2SO4mass_bin15 ', 'GCHPchem', 'TomasH2SO4number_bin01 ', 'GCHPchem', 'TomasH2SO4number_bin02 ', 'GCHPchem', 'TomasH2SO4number_bin03 ', 'GCHPchem', 'TomasH2SO4number_bin04 ', 'GCHPchem', 'TomasH2SO4number_bin05 ', 'GCHPchem', 'TomasH2SO4number_bin06 ', 'GCHPchem', 'TomasH2SO4number_bin07 ', 'GCHPchem', 'TomasH2SO4number_bin08 ', 'GCHPchem', 'TomasH2SO4number_bin09 ', 'GCHPchem', 'TomasH2SO4number_bin10 ', 'GCHPchem', 'TomasH2SO4number_bin11 ', 'GCHPchem', 'TomasH2SO4number_bin12 ', 'GCHPchem', 'TomasH2SO4number_bin13 ', 'GCHPchem', 'TomasH2SO4number_bin14 ', 'GCHPchem', 'TomasH2SO4number_bin15 ', 'GCHPchem', 'TomasCOAGmass_bin01 ', 'GCHPchem', 'TomasCOAGmass_bin02 ', 'GCHPchem', 'TomasCOAGmass_bin03 ', 'GCHPchem', 'TomasCOAGmass_bin04 ', 'GCHPchem', 'TomasCOAGmass_bin05 ', 'GCHPchem', 'TomasCOAGmass_bin06 ', 'GCHPchem', 'TomasCOAGmass_bin07 ', 'GCHPchem', 'TomasCOAGmass_bin08 ', 'GCHPchem', 'TomasCOAGmass_bin09 ', 'GCHPchem', 'TomasCOAGmass_bin10 ', 'GCHPchem', 'TomasCOAGmass_bin11 ', 'GCHPchem', 'TomasCOAGmass_bin12 ', 'GCHPchem', 'TomasCOAGmass_bin13 ', 'GCHPchem', 'TomasCOAGmass_bin14 ', 'GCHPchem', 'TomasCOAGmass_bin15 ', 'GCHPchem', 'TomasCOAGnumber_bin01 ', 'GCHPchem', 'TomasCOAGnumber_bin02 ', 'GCHPchem', 'TomasCOAGnumber_bin03 ', 'GCHPchem', 'TomasCOAGnumber_bin04 ', 'GCHPchem', 'TomasCOAGnumber_bin05 ', 'GCHPchem', 'TomasCOAGnumber_bin06 ', 'GCHPchem', 'TomasCOAGnumber_bin07 ', 'GCHPchem', 'TomasCOAGnumber_bin08 ', 'GCHPchem', 'TomasCOAGnumber_bin09 ', 'GCHPchem', 'TomasCOAGnumber_bin10 ', 'GCHPchem', 'TomasCOAGnumber_bin11 ', 'GCHPchem', 'TomasCOAGnumber_bin12 ', 'GCHPchem', 'TomasCOAGnumber_bin13 ', 'GCHPchem', 'TomasCOAGnumber_bin14 ', 'GCHPchem', 'TomasCOAGnumber_bin15 ', 'GCHPchem', 'TomasNUCRATEFN ', 'GCHPchem', 'TomasNUCLmass_bin01 ', 'GCHPchem', 'TomasNUCLmass_bin02 ', 'GCHPchem', 'TomasNUCLmass_bin03 ', 'GCHPchem', 'TomasNUCLmass_bin04 ', 'GCHPchem', 'TomasNUCLmass_bin05 ', 'GCHPchem', 'TomasNUCLmass_bin06 ', 'GCHPchem', 'TomasNUCLmass_bin07 ', 'GCHPchem', 'TomasNUCLmass_bin08 ', 'GCHPchem', 'TomasNUCLmass_bin09 ', 'GCHPchem', 'TomasNUCLmass_bin10 ', 'GCHPchem', 'TomasNUCLmass_bin11 ', 'GCHPchem', 'TomasNUCLmass_bin12 ', 'GCHPchem', 'TomasNUCLmass_bin13 ', 'GCHPchem', 'TomasNUCLmass_bin14 ', 'GCHPchem', 'TomasNUCLmass_bin15 ', 'GCHPchem', 'TomasNUCLnumber_bin01 ', 'GCHPchem', 'TomasNUCLnumber_bin02 ', 'GCHPchem', 'TomasNUCLnumber_bin03 ', 'GCHPchem', 'TomasNUCLnumber_bin04 ', 'GCHPchem', 'TomasNUCLnumber_bin05 ', 'GCHPchem', 'TomasNUCLnumber_bin06 ', 'GCHPchem', 'TomasNUCLnumber_bin07 ', 'GCHPchem', 'TomasNUCLnumber_bin08 ', 'GCHPchem', 'TomasNUCLnumber_bin09 ', 'GCHPchem', 'TomasNUCLnumber_bin10 ', 'GCHPchem', 'TomasNUCLnumber_bin11 ', 'GCHPchem', 'TomasNUCLnumber_bin12 ', 'GCHPchem', 'TomasNUCLnumber_bin13 ', 'GCHPchem', 'TomasNUCLnumber_bin14 ', 'GCHPchem', 'TomasNUCLnumber_bin15 ', 'GCHPchem', 'TomasNUCRATEnumber_bin01 ', 'GCHPchem', 'TomasNUCRATEnumber_bin02 ', 'GCHPchem', 'TomasNUCRATEnumber_bin03 ', 'GCHPchem', 'TomasNUCRATEnumber_bin04 ', 'GCHPchem', 'TomasNUCRATEnumber_bin05 ', 'GCHPchem', 'TomasNUCRATEnumber_bin06 ', 'GCHPchem', 'TomasNUCRATEnumber_bin07 ', 'GCHPchem', 'TomasNUCRATEnumber_bin08 ', 'GCHPchem', 'TomasNUCRATEnumber_bin09 ', 'GCHPchem', 'TomasNUCRATEnumber_bin10 ', 'GCHPchem', 'TomasNUCRATEnumber_bin11 ', 'GCHPchem', 'TomasNUCRATEnumber_bin12 ', 'GCHPchem', 'TomasNUCRATEnumber_bin13 ', 'GCHPchem', 'TomasNUCRATEnumber_bin14 ', 'GCHPchem', 'TomasNUCRATEnumber_bin15 ', 'GCHPchem', 'TomasAQOXmass_bin01 ', 'GCHPchem', 'TomasAQOXmass_bin02 ', 'GCHPchem', 'TomasAQOXmass_bin03 ', 'GCHPchem', 'TomasAQOXmass_bin04 ', 'GCHPchem', 'TomasAQOXmass_bin05 ', 'GCHPchem', 'TomasAQOXmass_bin06 ', 'GCHPchem', 'TomasAQOXmass_bin07 ', 'GCHPchem', 'TomasAQOXmass_bin08 ', 'GCHPchem', 'TomasAQOXmass_bin09 ', 'GCHPchem', 'TomasAQOXmass_bin10 ', 'GCHPchem', 'TomasAQOXmass_bin11 ', 'GCHPchem', 'TomasAQOXmass_bin12 ', 'GCHPchem', 'TomasAQOXmass_bin13 ', 'GCHPchem', 'TomasAQOXmass_bin14 ', 'GCHPchem', 'TomasAQOXmass_bin15 ', 'GCHPchem', 'TomasAQOXnumber_bin01 ', 'GCHPchem', 'TomasAQOXnumber_bin02 ', 'GCHPchem', 'TomasAQOXnumber_bin03 ', 'GCHPchem', 'TomasAQOXnumber_bin04 ', 'GCHPchem', 'TomasAQOXnumber_bin05 ', 'GCHPchem', 'TomasAQOXnumber_bin06 ', 'GCHPchem', 'TomasAQOXnumber_bin07 ', 'GCHPchem', 'TomasAQOXnumber_bin08 ', 'GCHPchem', 'TomasAQOXnumber_bin09 ', 'GCHPchem', 'TomasAQOXnumber_bin10 ', 'GCHPchem', 'TomasAQOXnumber_bin11 ', 'GCHPchem', 'TomasAQOXnumber_bin12 ', 'GCHPchem', 'TomasAQOXnumber_bin13 ', 'GCHPchem', 'TomasAQOXnumber_bin14 ', 'GCHPchem', 'TomasAQOXnumber_bin15 ', 'GCHPchem', 'TomasMNFIXmass_bin01 ', 'GCHPchem', 'TomasMNFIXmass_bin02 ', 'GCHPchem', 'TomasMNFIXmass_bin03 ', 'GCHPchem', 'TomasMNFIXmass_bin04 ', 'GCHPchem', 'TomasMNFIXmass_bin05 ', 'GCHPchem', 'TomasMNFIXmass_bin06 ', 'GCHPchem', 'TomasMNFIXmass_bin07 ', 'GCHPchem', 'TomasMNFIXmass_bin08 ', 'GCHPchem', 'TomasMNFIXmass_bin09 ', 'GCHPchem', 'TomasMNFIXmass_bin10 ', 'GCHPchem', 'TomasMNFIXmass_bin11 ', 'GCHPchem', 'TomasMNFIXmass_bin12 ', 'GCHPchem', 'TomasMNFIXmass_bin13 ', 'GCHPchem', 'TomasMNFIXmass_bin14 ', 'GCHPchem', 'TomasMNFIXmass_bin15 ', 'GCHPchem', 'TomasMNFIXnumber_bin01 ', 'GCHPchem', 'TomasMNFIXnumber_bin02 ', 'GCHPchem', 'TomasMNFIXnumber_bin03 ', 'GCHPchem', 'TomasMNFIXnumber_bin04 ', 'GCHPchem', 'TomasMNFIXnumber_bin05 ', 'GCHPchem', 'TomasMNFIXnumber_bin06 ', 'GCHPchem', 'TomasMNFIXnumber_bin07 ', 'GCHPchem', 'TomasMNFIXnumber_bin08 ', 'GCHPchem', 'TomasMNFIXnumber_bin09 ', 'GCHPchem', 'TomasMNFIXnumber_bin10 ', 'GCHPchem', 'TomasMNFIXnumber_bin11 ', 'GCHPchem', 'TomasMNFIXnumber_bin12 ', 'GCHPchem', 'TomasMNFIXnumber_bin13 ', 'GCHPchem', 'TomasMNFIXnumber_bin14 ', 'GCHPchem', 'TomasMNFIXnumber_bin15 ', 'GCHPchem', 'TomasMNFIXh2so4mass_bin01 ', 'GCHPchem', 'TomasMNFIXh2so4mass_bin02 ', 'GCHPchem', 'TomasMNFIXh2so4mass_bin03 ', 'GCHPchem', 'TomasMNFIXh2so4mass_bin04 ', 'GCHPchem', 'TomasMNFIXh2so4mass_bin05 ', 'GCHPchem', 'TomasMNFIXh2so4mass_bin06 ', 'GCHPchem', 'TomasMNFIXh2so4mass_bin07 ', 'GCHPchem', 'TomasMNFIXh2so4mass_bin08 ', 'GCHPchem', 'TomasMNFIXh2so4mass_bin09 ', 'GCHPchem', 'TomasMNFIXh2so4mass_bin10 ', 'GCHPchem', 'TomasMNFIXh2so4mass_bin11 ', 'GCHPchem', 'TomasMNFIXh2so4mass_bin12 ', 'GCHPchem', 'TomasMNFIXh2so4mass_bin13 ', 'GCHPchem', 'TomasMNFIXh2so4mass_bin14 ', 'GCHPchem', 'TomasMNFIXh2so4mass_bin15 ', 'GCHPchem', 'TomasMNFIXh2so4number_bin01 ', 'GCHPchem', 'TomasMNFIXh2so4number_bin02 ', 'GCHPchem', 'TomasMNFIXh2so4number_bin03 ', 'GCHPchem', 'TomasMNFIXh2so4number_bin04 ', 'GCHPchem', 'TomasMNFIXh2so4number_bin05 ', 'GCHPchem', 'TomasMNFIXh2so4number_bin06 ', 'GCHPchem', 'TomasMNFIXh2so4number_bin07 ', 'GCHPchem', 'TomasMNFIXh2so4number_bin08 ', 'GCHPchem', 'TomasMNFIXh2so4number_bin09 ', 'GCHPchem', 'TomasMNFIXh2so4number_bin10 ', 'GCHPchem', 'TomasMNFIXh2so4number_bin11 ', 'GCHPchem', 'TomasMNFIXh2so4number_bin12 ', 'GCHPchem', 'TomasMNFIXh2so4number_bin13 ', 'GCHPchem', 'TomasMNFIXh2so4number_bin14 ', 'GCHPchem', 'TomasMNFIXh2so4number_bin15 ', 'GCHPchem', 'TomasMNFIXcoagmass_bin01 ', 'GCHPchem', 'TomasMNFIXcoagmass_bin02 ', 'GCHPchem', 'TomasMNFIXcoagmass_bin03 ', 'GCHPchem', 'TomasMNFIXcoagmass_bin04 ', 'GCHPchem', 'TomasMNFIXcoagmass_bin05 ', 'GCHPchem', 'TomasMNFIXcoagmass_bin06 ', 'GCHPchem', 'TomasMNFIXcoagmass_bin07 ', 'GCHPchem', 'TomasMNFIXcoagmass_bin08 ', 'GCHPchem', 'TomasMNFIXcoagmass_bin09 ', 'GCHPchem', 'TomasMNFIXcoagmass_bin10 ', 'GCHPchem', 'TomasMNFIXcoagmass_bin11 ', 'GCHPchem', 'TomasMNFIXcoagmass_bin12 ', 'GCHPchem', 'TomasMNFIXcoagmass_bin13 ', 'GCHPchem', 'TomasMNFIXcoagmass_bin14 ', 'GCHPchem', 'TomasMNFIXcoagmass_bin15 ', 'GCHPchem', 'TomasMNFIXcoagnumber_bin01 ', 'GCHPchem', 'TomasMNFIXcoagnumber_bin02 ', 'GCHPchem', 'TomasMNFIXcoagnumber_bin03 ', 'GCHPchem', 'TomasMNFIXcoagnumber_bin04 ', 'GCHPchem', 'TomasMNFIXcoagnumber_bin05 ', 'GCHPchem', 'TomasMNFIXcoagnumber_bin06 ', 'GCHPchem', 'TomasMNFIXcoagnumber_bin07 ', 'GCHPchem', 'TomasMNFIXcoagnumber_bin08 ', 'GCHPchem', 'TomasMNFIXcoagnumber_bin09 ', 'GCHPchem', 'TomasMNFIXcoagnumber_bin10 ', 'GCHPchem', 'TomasMNFIXcoagnumber_bin11 ', 'GCHPchem', 'TomasMNFIXcoagnumber_bin12 ', 'GCHPchem', 'TomasMNFIXcoagnumber_bin13 ', 'GCHPchem', 'TomasMNFIXcoagnumber_bin14 ', 'GCHPchem', 'TomasMNFIXcoagnumber_bin15 ', 'GCHPchem', 'TomasMNFIXaqoxmass_bin01 ', 'GCHPchem', 'TomasMNFIXaqoxmass_bin02 ', 'GCHPchem', 'TomasMNFIXaqoxmass_bin03 ', 'GCHPchem', 'TomasMNFIXaqoxmass_bin04 ', 'GCHPchem', 'TomasMNFIXaqoxmass_bin05 ', 'GCHPchem', 'TomasMNFIXaqoxmass_bin06 ', 'GCHPchem', 'TomasMNFIXaqoxmass_bin07 ', 'GCHPchem', 'TomasMNFIXaqoxmass_bin08 ', 'GCHPchem', 'TomasMNFIXaqoxmass_bin09 ', 'GCHPchem', 'TomasMNFIXaqoxmass_bin10 ', 'GCHPchem', 'TomasMNFIXaqoxmass_bin11 ', 'GCHPchem', 'TomasMNFIXaqoxmass_bin12 ', 'GCHPchem', 'TomasMNFIXaqoxmass_bin13 ', 'GCHPchem', 'TomasMNFIXaqoxmass_bin14 ', 'GCHPchem', 'TomasMNFIXaqoxmass_bin15 ', 'GCHPchem', 'TomasMNFIXaqoxnumber_bin01 ', 'GCHPchem', 'TomasMNFIXaqoxnumber_bin02 ', 'GCHPchem', 'TomasMNFIXaqoxnumber_bin03 ', 'GCHPchem', 'TomasMNFIXaqoxnumber_bin04 ', 'GCHPchem', 'TomasMNFIXaqoxnumber_bin05 ', 'GCHPchem', 'TomasMNFIXaqoxnumber_bin06 ', 'GCHPchem', 'TomasMNFIXaqoxnumber_bin07 ', 'GCHPchem', 'TomasMNFIXaqoxnumber_bin08 ', 'GCHPchem', 'TomasMNFIXaqoxnumber_bin09 ', 'GCHPchem', 'TomasMNFIXaqoxnumber_bin10 ', 'GCHPchem', 'TomasMNFIXaqoxnumber_bin11 ', 'GCHPchem', 'TomasMNFIXaqoxnumber_bin12 ', 'GCHPchem', 'TomasMNFIXaqoxnumber_bin13 ', 'GCHPchem', 'TomasMNFIXaqoxnumber_bin14 ', 'GCHPchem', 'TomasMNFIXaqoxnumber_bin15 ', 'GCHPchem', 'TomasMNFIXezwat1mass_bin01 ', 'GCHPchem', 'TomasMNFIXezwat1mass_bin02 ', 'GCHPchem', 'TomasMNFIXezwat1mass_bin03 ', 'GCHPchem', 'TomasMNFIXezwat1mass_bin04 ', 'GCHPchem', 'TomasMNFIXezwat1mass_bin05 ', 'GCHPchem', 'TomasMNFIXezwat1mass_bin06 ', 'GCHPchem', 'TomasMNFIXezwat1mass_bin07 ', 'GCHPchem', 'TomasMNFIXezwat1mass_bin08 ', 'GCHPchem', 'TomasMNFIXezwat1mass_bin09 ', 'GCHPchem', 'TomasMNFIXezwat1mass_bin10 ', 'GCHPchem', 'TomasMNFIXezwat1mass_bin11 ', 'GCHPchem', 'TomasMNFIXezwat1mass_bin12 ', 'GCHPchem', 'TomasMNFIXezwat1mass_bin13 ', 'GCHPchem', 'TomasMNFIXezwat1mass_bin14 ', 'GCHPchem', 'TomasMNFIXezwat1mass_bin15 ', 'GCHPchem', 'TomasMNFIXezwat1number_bin01', 'GCHPchem', 'TomasMNFIXezwat1number_bin02', 'GCHPchem', 'TomasMNFIXezwat1number_bin03', 'GCHPchem', 'TomasMNFIXezwat1number_bin04', 'GCHPchem', 'TomasMNFIXezwat1number_bin05', 'GCHPchem', 'TomasMNFIXezwat1number_bin06', 'GCHPchem', 'TomasMNFIXezwat1number_bin07', 'GCHPchem', 'TomasMNFIXezwat1number_bin08', 'GCHPchem', 'TomasMNFIXezwat1number_bin09', 'GCHPchem', 'TomasMNFIXezwat1number_bin10', 'GCHPchem', 'TomasMNFIXezwat1number_bin11', 'GCHPchem', 'TomasMNFIXezwat1number_bin12', 'GCHPchem', 'TomasMNFIXezwat1number_bin13', 'GCHPchem', 'TomasMNFIXezwat1number_bin14', 'GCHPchem', 'TomasMNFIXezwat1number_bin15', 'GCHPchem', 'TomasMNFIXezwat2mass_bin01 ', 'GCHPchem', 'TomasMNFIXezwat2mass_bin02 ', 'GCHPchem', 'TomasMNFIXezwat2mass_bin03 ', 'GCHPchem', 'TomasMNFIXezwat2mass_bin04 ', 'GCHPchem', 'TomasMNFIXezwat2mass_bin05 ', 'GCHPchem', 'TomasMNFIXezwat2mass_bin06 ', 'GCHPchem', 'TomasMNFIXezwat2mass_bin07 ', 'GCHPchem', 'TomasMNFIXezwat2mass_bin08 ', 'GCHPchem', 'TomasMNFIXezwat2mass_bin09 ', 'GCHPchem', 'TomasMNFIXezwat2mass_bin10 ', 'GCHPchem', 'TomasMNFIXezwat2mass_bin11 ', 'GCHPchem', 'TomasMNFIXezwat2mass_bin12 ', 'GCHPchem', 'TomasMNFIXezwat2mass_bin13 ', 'GCHPchem', 'TomasMNFIXezwat2mass_bin14 ', 'GCHPchem', 'TomasMNFIXezwat2mass_bin15 ', 'GCHPchem', 'TomasMNFIXezwat2number_bin01', 'GCHPchem', 'TomasMNFIXezwat2number_bin02', 'GCHPchem', 'TomasMNFIXezwat2number_bin03', 'GCHPchem', 'TomasMNFIXezwat2number_bin04', 'GCHPchem', 'TomasMNFIXezwat2number_bin05', 'GCHPchem', 'TomasMNFIXezwat2number_bin06', 'GCHPchem', 'TomasMNFIXezwat2number_bin07', 'GCHPchem', 'TomasMNFIXezwat2number_bin08', 'GCHPchem', 'TomasMNFIXezwat2number_bin09', 'GCHPchem', 'TomasMNFIXezwat2number_bin10', 'GCHPchem', 'TomasMNFIXezwat2number_bin11', 'GCHPchem', 'TomasMNFIXezwat2number_bin12', 'GCHPchem', 'TomasMNFIXezwat2number_bin13', 'GCHPchem', 'TomasMNFIXezwat2number_bin14', 'GCHPchem', 'TomasMNFIXezwat2number_bin15', 'GCHPchem', 'TomasMNFIXezwat3mass_bin01 ', 'GCHPchem', 'TomasMNFIXezwat3mass_bin02 ', 'GCHPchem', 'TomasMNFIXezwat3mass_bin03 ', 'GCHPchem', 'TomasMNFIXezwat3mass_bin04 ', 'GCHPchem', 'TomasMNFIXezwat3mass_bin05 ', 'GCHPchem', 'TomasMNFIXezwat3mass_bin06 ', 'GCHPchem', 'TomasMNFIXezwat3mass_bin07 ', 'GCHPchem', 'TomasMNFIXezwat3mass_bin08 ', 'GCHPchem', 'TomasMNFIXezwat3mass_bin09 ', 'GCHPchem', 'TomasMNFIXezwat3mass_bin10 ', 'GCHPchem', 'TomasMNFIXezwat3mass_bin11 ', 'GCHPchem', 'TomasMNFIXezwat3mass_bin12 ', 'GCHPchem', 'TomasMNFIXezwat3mass_bin13 ', 'GCHPchem', 'TomasMNFIXezwat3mass_bin14 ', 'GCHPchem', 'TomasMNFIXezwat3mass_bin15 ', 'GCHPchem', 'TomasMNFIXezwat3number_bin01', 'GCHPchem', 'TomasMNFIXezwat3number_bin02', 'GCHPchem', 'TomasMNFIXezwat3number_bin03', 'GCHPchem', 'TomasMNFIXezwat3number_bin04', 'GCHPchem', 'TomasMNFIXezwat3number_bin05', 'GCHPchem', 'TomasMNFIXezwat3number_bin06', 'GCHPchem', 'TomasMNFIXezwat3number_bin07', 'GCHPchem', 'TomasMNFIXezwat3number_bin08', 'GCHPchem', 'TomasMNFIXezwat3number_bin09', 'GCHPchem', 'TomasMNFIXezwat3number_bin10', 'GCHPchem', 'TomasMNFIXezwat3number_bin11', 'GCHPchem', 'TomasMNFIXezwat3number_bin12', 'GCHPchem', 'TomasMNFIXezwat3number_bin13', 'GCHPchem', 'TomasMNFIXezwat3number_bin14', 'GCHPchem', 'TomasMNFIXezwat3number_bin15', 'GCHPchem', 'TomasMNFIXcheck1mass_bin01 ', 'GCHPchem', 'TomasMNFIXcheck1mass_bin02 ', 'GCHPchem', 'TomasMNFIXcheck1mass_bin03 ', 'GCHPchem', 'TomasMNFIXcheck1mass_bin04 ', 'GCHPchem', 'TomasMNFIXcheck1mass_bin05 ', 'GCHPchem', 'TomasMNFIXcheck1mass_bin06 ', 'GCHPchem', 'TomasMNFIXcheck1mass_bin07 ', 'GCHPchem', 'TomasMNFIXcheck1mass_bin08 ', 'GCHPchem', 'TomasMNFIXcheck1mass_bin09 ', 'GCHPchem', 'TomasMNFIXcheck1mass_bin10 ', 'GCHPchem', 'TomasMNFIXcheck1mass_bin11 ', 'GCHPchem', 'TomasMNFIXcheck1mass_bin12 ', 'GCHPchem', 'TomasMNFIXcheck1mass_bin13 ', 'GCHPchem', 'TomasMNFIXcheck1mass_bin14 ', 'GCHPchem', 'TomasMNFIXcheck1mass_bin15 ', 'GCHPchem', 'TomasMNFIXcheck1number_bin01', 'GCHPchem', 'TomasMNFIXcheck1number_bin02', 'GCHPchem', 'TomasMNFIXcheck1number_bin03', 'GCHPchem', 'TomasMNFIXcheck1number_bin04', 'GCHPchem', 'TomasMNFIXcheck1number_bin05', 'GCHPchem', 'TomasMNFIXcheck1number_bin06', 'GCHPchem', 'TomasMNFIXcheck1number_bin07', 'GCHPchem', 'TomasMNFIXcheck1number_bin08', 'GCHPchem', 'TomasMNFIXcheck1number_bin09', 'GCHPchem', 'TomasMNFIXcheck1number_bin10', 'GCHPchem', 'TomasMNFIXcheck1number_bin11', 'GCHPchem', 'TomasMNFIXcheck1number_bin12', 'GCHPchem', 'TomasMNFIXcheck1number_bin13', 'GCHPchem', 'TomasMNFIXcheck1number_bin14', 'GCHPchem', 'TomasMNFIXcheck1number_bin15', 'GCHPchem', 'TomasMNFIXcheck2mass_bin01 ', 'GCHPchem', 'TomasMNFIXcheck2mass_bin02 ', 'GCHPchem', 'TomasMNFIXcheck2mass_bin03 ', 'GCHPchem', 'TomasMNFIXcheck2mass_bin04 ', 'GCHPchem', 'TomasMNFIXcheck2mass_bin05 ', 'GCHPchem', 'TomasMNFIXcheck2mass_bin06 ', 'GCHPchem', 'TomasMNFIXcheck2mass_bin07 ', 'GCHPchem', 'TomasMNFIXcheck2mass_bin08 ', 'GCHPchem', 'TomasMNFIXcheck2mass_bin09 ', 'GCHPchem', 'TomasMNFIXcheck2mass_bin10 ', 'GCHPchem', 'TomasMNFIXcheck2mass_bin11 ', 'GCHPchem', 'TomasMNFIXcheck2mass_bin12 ', 'GCHPchem', 'TomasMNFIXcheck2mass_bin13 ', 'GCHPchem', 'TomasMNFIXcheck2mass_bin14 ', 'GCHPchem', 'TomasMNFIXcheck2mass_bin15 ', 'GCHPchem', 'TomasMNFIXcheck2number_bin01', 'GCHPchem', 'TomasMNFIXcheck2number_bin02', 'GCHPchem', 'TomasMNFIXcheck2number_bin03', 'GCHPchem', 'TomasMNFIXcheck2number_bin04', 'GCHPchem', 'TomasMNFIXcheck2number_bin05', 'GCHPchem', 'TomasMNFIXcheck2number_bin06', 'GCHPchem', 'TomasMNFIXcheck2number_bin07', 'GCHPchem', 'TomasMNFIXcheck2number_bin08', 'GCHPchem', 'TomasMNFIXcheck2number_bin09', 'GCHPchem', 'TomasMNFIXcheck2number_bin10', 'GCHPchem', 'TomasMNFIXcheck2number_bin11', 'GCHPchem', 'TomasMNFIXcheck2number_bin12', 'GCHPchem', 'TomasMNFIXcheck2number_bin13', 'GCHPchem', 'TomasMNFIXcheck2number_bin14', 'GCHPchem', 'TomasMNFIXcheck2number_bin15', 'GCHPchem', 'TomasMNFIXcheck3mass_bin01 ', 'GCHPchem', 'TomasMNFIXcheck3mass_bin02 ', 'GCHPchem', 'TomasMNFIXcheck3mass_bin03 ', 'GCHPchem', 'TomasMNFIXcheck3mass_bin04 ', 'GCHPchem', 'TomasMNFIXcheck3mass_bin05 ', 'GCHPchem', 'TomasMNFIXcheck3mass_bin06 ', 'GCHPchem', 'TomasMNFIXcheck3mass_bin07 ', 'GCHPchem', 'TomasMNFIXcheck3mass_bin08 ', 'GCHPchem', 'TomasMNFIXcheck3mass_bin09 ', 'GCHPchem', 'TomasMNFIXcheck3mass_bin10 ', 'GCHPchem', 'TomasMNFIXcheck3mass_bin11 ', 'GCHPchem', 'TomasMNFIXcheck3mass_bin12 ', 'GCHPchem', 'TomasMNFIXcheck3mass_bin13 ', 'GCHPchem', 'TomasMNFIXcheck3mass_bin14 ', 'GCHPchem', 'TomasMNFIXcheck3mass_bin15 ', 'GCHPchem', 'TomasMNFIXcheck3number_bin01', 'GCHPchem', 'TomasMNFIXcheck3number_bin02', 'GCHPchem', 'TomasMNFIXcheck3number_bin03', 'GCHPchem', 'TomasMNFIXcheck3number_bin04', 'GCHPchem', 'TomasMNFIXcheck3number_bin05', 'GCHPchem', 'TomasMNFIXcheck3number_bin06', 'GCHPchem', 'TomasMNFIXcheck3number_bin07', 'GCHPchem', 'TomasMNFIXcheck3number_bin08', 'GCHPchem', 'TomasMNFIXcheck3number_bin09', 'GCHPchem', 'TomasMNFIXcheck3number_bin10', 'GCHPchem', 'TomasMNFIXcheck3number_bin11', 'GCHPchem', 'TomasMNFIXcheck3number_bin12', 'GCHPchem', 'TomasMNFIXcheck3number_bin13', 'GCHPchem', 'TomasMNFIXcheck3number_bin14', 'GCHPchem', 'TomasMNFIXcheck3number_bin15', 'GCHPchem', 'TomasSOAmass_bin01 ', 'GCHPchem', 'TomasSOAmass_bin02 ', 'GCHPchem', 'TomasSOAmass_bin03 ', 'GCHPchem', 'TomasSOAmass_bin04 ', 'GCHPchem', 'TomasSOAmass_bin05 ', 'GCHPchem', 'TomasSOAmass_bin06 ', 'GCHPchem', 'TomasSOAmass_bin07 ', 'GCHPchem', 'TomasSOAmass_bin08 ', 'GCHPchem', 'TomasSOAmass_bin09 ', 'GCHPchem', 'TomasSOAmass_bin10 ', 'GCHPchem', 'TomasSOAmass_bin11 ', 'GCHPchem', 'TomasSOAmass_bin12 ', 'GCHPchem', 'TomasSOAmass_bin13 ', 'GCHPchem', 'TomasSOAmass_bin14 ', 'GCHPchem', 'TomasSOAmass_bin15 ', 'GCHPchem', 'TomasSOAnumber_bin01 ', 'GCHPchem', 'TomasSOAnumber_bin02 ', 'GCHPchem', 'TomasSOAnumber_bin03 ', 'GCHPchem', 'TomasSOAnumber_bin04 ', 'GCHPchem', 'TomasSOAnumber_bin05 ', 'GCHPchem', 'TomasSOAnumber_bin06 ', 'GCHPchem', 'TomasSOAnumber_bin07 ', 'GCHPchem', 'TomasSOAnumber_bin08 ', 'GCHPchem', 'TomasSOAnumber_bin09 ', 'GCHPchem', 'TomasSOAnumber_bin10 ', 'GCHPchem', 'TomasSOAnumber_bin11 ', 'GCHPchem', 'TomasSOAnumber_bin12 ', 'GCHPchem', 'TomasSOAnumber_bin13 ', 'GCHPchem', 'TomasSOAnumber_bin14 ', 'GCHPchem', 'TomasSOAnumber_bin15 ', 'GCHPchem', :: #============================================================================= # %%%%% THE WetLossConv COLLECTION %%%%% # # Loss of soluble species in convective updrafts #============================================================================= WetLossConv.template: '%y4%m2%d2_%h2%n2z.nc4', WetLossConv.format: 'CFIO', WetLossConv.timestampStart: .true. WetLossConv.monthly: 1 WetLossConv.frequency: 010000 WetLossConv.duration: 010000 WetLossConv.mode: 'time-averaged' WetLossConv.fields: 'WetLossConv_SOAS ', 'GCHPchem', 'WetLossConv_SOAIE ', 'GCHPchem', 'WetLossConv_SOAGX ', 'GCHPchem', 'WetLossConv_SO4s ', 'GCHPchem', 'WetLossConv_SO4 ', 'GCHPchem', 'WetLossConv_SO2 ', 'GCHPchem', 'WetLossConv_SALCCL ', 'GCHPchem', 'WetLossConv_SALCAL ', 'GCHPchem', 'WetLossConv_SALC ', 'GCHPchem', 'WetLossConv_SALACL ', 'GCHPchem', 'WetLossConv_SALAAL ', 'GCHPchem', 'WetLossConv_SALA ', 'GCHPchem', 'WetLossConv_RP ', 'GCHPchem', 'WetLossConv_RIPD ', 'GCHPchem', 'WetLossConv_RIPC ', 'GCHPchem', 'WetLossConv_RIPB ', 'GCHPchem', 'WetLossConv_RIPA ', 'GCHPchem', 'WetLossConv_RB3P ', 'GCHPchem', 'WetLossConv_RA3P ', 'GCHPchem', 'WetLossConv_R4P ', 'GCHPchem', 'WetLossConv_R4N2 ', 'GCHPchem', 'WetLossConv_PYAC ', 'GCHPchem', 'WetLossConv_PRPN ', 'GCHPchem', 'WetLossConv_PRPE ', 'GCHPchem', 'WetLossConv_PROPNN ', 'GCHPchem', 'WetLossConv_PPN ', 'GCHPchem', 'WetLossConv_PP ', 'GCHPchem', 'WetLossConv_pFe ', 'GCHPchem', 'WetLossConv_PAN ', 'GCHPchem', 'WetLossConv_OCPO ', 'GCHPchem', 'WetLossConv_OCPI ', 'GCHPchem', 'WetLossConv_NITs ', 'GCHPchem', 'WetLossConv_NIT ', 'GCHPchem', 'WetLossConv_NH4 ', 'GCHPchem', 'WetLossConv_NH3 ', 'GCHPchem', 'WetLossConv_MVKPC ', 'GCHPchem', 'WetLossConv_MVKN ', 'GCHPchem', 'WetLossConv_MVKHP ', 'GCHPchem', 'WetLossConv_MVKHCB ', 'GCHPchem', 'WetLossConv_MVKHC ', 'GCHPchem', 'WetLossConv_MVKDH ', 'GCHPchem', 'WetLossConv_MVK ', 'GCHPchem', 'WetLossConv_MTPO ', 'GCHPchem', 'WetLossConv_MTPA ', 'GCHPchem', 'WetLossConv_MSA ', 'GCHPchem', 'WetLossConv_MPN ', 'GCHPchem', 'WetLossConv_MPAN ', 'GCHPchem', 'WetLossConv_MP ', 'GCHPchem', 'WetLossConv_MONITU ', 'GCHPchem', 'WetLossConv_MONITS ', 'GCHPchem', 'WetLossConv_MONITA ', 'GCHPchem', 'WetLossConv_MOH ', 'GCHPchem', 'WetLossConv_MGLY ', 'GCHPchem', 'WetLossConv_MEK ', 'GCHPchem', 'WetLossConv_MCRHP ', 'GCHPchem', 'WetLossConv_MCRHNB ', 'GCHPchem', 'WetLossConv_MCRHN ', 'GCHPchem', 'WetLossConv_MCRENOL ', 'GCHPchem', 'WetLossConv_MCRDH ', 'GCHPchem', 'WetLossConv_MAP ', 'GCHPchem', 'WetLossConv_MACR1OOH ', 'GCHPchem', 'WetLossConv_LVOCOA ', 'GCHPchem', 'WetLossConv_LVOC ', 'GCHPchem', 'WetLossConv_LIMO ', 'GCHPchem', 'WetLossConv_ITHN ', 'GCHPchem', 'WetLossConv_ITCN ', 'GCHPchem', 'WetLossConv_ISALC ', 'GCHPchem', 'WetLossConv_ISALA ', 'GCHPchem', 'WetLossConv_IONO2 ', 'GCHPchem', 'WetLossConv_IONO ', 'GCHPchem', 'WetLossConv_IONITA ', 'GCHPchem', 'WetLossConv_INPD ', 'GCHPchem', 'WetLossConv_INPB ', 'GCHPchem', 'WetLossConv_INDIOL ', 'GCHPchem', 'WetLossConv_IHN4 ', 'GCHPchem', 'WetLossConv_IHN3 ', 'GCHPchem', 'WetLossConv_IHN2 ', 'GCHPchem', 'WetLossConv_IHN1 ', 'GCHPchem', 'WetLossConv_IEPOXD ', 'GCHPchem', 'WetLossConv_IEPOXB ', 'GCHPchem', 'WetLossConv_IEPOXA ', 'GCHPchem', 'WetLossConv_IDN ', 'GCHPchem', 'WetLossConv_IDHPE ', 'GCHPchem', 'WetLossConv_IDHDP ', 'GCHPchem', 'WetLossConv_IDCHP ', 'GCHPchem', 'WetLossConv_ICPDH ', 'GCHPchem', 'WetLossConv_ICN ', 'GCHPchem', 'WetLossConv_ICl ', 'GCHPchem', 'WetLossConv_ICHE ', 'GCHPchem', 'WetLossConv_IBr ', 'GCHPchem', 'WetLossConv_I2O4 ', 'GCHPchem', 'WetLossConv_I2O3 ', 'GCHPchem', 'WetLossConv_I2O2 ', 'GCHPchem', 'WetLossConv_I2 ', 'GCHPchem', 'WetLossConv_HPETHNL ', 'GCHPchem', 'WetLossConv_HONIT ', 'GCHPchem', 'WetLossConv_HOI ', 'GCHPchem', 'WetLossConv_HOCl ', 'GCHPchem', 'WetLossConv_HOBr ', 'GCHPchem', 'WetLossConv_HNO3 ', 'GCHPchem', 'WetLossConv_HMS ', 'GCHPchem', 'WetLossConv_HMML ', 'GCHPchem', 'WetLossConv_HMHP ', 'GCHPchem', 'WetLossConv_HI ', 'GCHPchem', 'WetLossConv_HCOOH ', 'GCHPchem', 'WetLossConv_HCl ', 'GCHPchem', 'WetLossConv_HC5A ', 'GCHPchem', 'WetLossConv_HBr ', 'GCHPchem', 'WetLossConv_HAC ', 'GCHPchem', 'WetLossConv_H2O2 ', 'GCHPchem', 'WetLossConv_GLYX ', 'GCHPchem', 'WetLossConv_GLYC ', 'GCHPchem', 'WetLossConv_ETP ', 'GCHPchem', 'WetLossConv_ETHP ', 'GCHPchem', 'WetLossConv_ETHN ', 'GCHPchem', 'WetLossConv_ETHLN ', 'GCHPchem', 'WetLossConv_EOH ', 'GCHPchem', 'WetLossConv_DSTbin7 ', 'GCHPchem', 'WetLossConv_DSTbin6 ', 'GCHPchem', 'WetLossConv_DSTbin5 ', 'GCHPchem', 'WetLossConv_DSTbin4 ', 'GCHPchem', 'WetLossConv_DSTbin3 ', 'GCHPchem', 'WetLossConv_DSTbin2 ', 'GCHPchem', 'WetLossConv_DSTbin1 ', 'GCHPchem', 'WetLossConv_CH2O ', 'GCHPchem', 'WetLossConv_BrSALC ', 'GCHPchem', 'WetLossConv_BrSALA ', 'GCHPchem', 'WetLossConv_BrCl ', 'GCHPchem', 'WetLossConv_Br2 ', 'GCHPchem', 'WetLossConv_BCPO ', 'GCHPchem', 'WetLossConv_BCPI ', 'GCHPchem', 'WetLossConv_ATOOH ', 'GCHPchem', 'WetLossConv_ALD2 ', 'GCHPchem', 'WetLossConv_AERI ', 'GCHPchem', 'WetLossConv_ACTA ', 'GCHPchem', #'WetLossConv_TSOG3 ', 'GCHPchem', #'WetLossConv_TSOG2 ', 'GCHPchem', #'WetLossConv_TSOG1 ', 'GCHPchem', #'WetLossConv_TSOG0 ', 'GCHPchem', #'WetLossConv_TSOA3 ', 'GCHPchem', #'WetLossConv_TSOA2 ', 'GCHPchem', #'WetLossConv_TSOA1 ', 'GCHPchem', #'WetLossConv_TSOA0 ', 'GCHPchem', #'WetLossConv_ASOG3 ', 'GCHPchem', #'WetLossConv_ASOG2 ', 'GCHPchem', #'WetLossConv_ASOG1 ', 'GCHPchem', #'WetLossConv_ASOAN ', 'GCHPchem', #'WetLossConv_ASOA3 ', 'GCHPchem', #'WetLossConv_ASOA2 ', 'GCHPchem', #'WetLossConv_ASOA1 ', 'GCHPchem', 'WetLossConvFrac_SOAS ', 'GCHPchem', 'WetLossConvFrac_SOAIE ', 'GCHPchem', 'WetLossConvFrac_SOAGX ', 'GCHPchem', 'WetLossConvFrac_SO4s ', 'GCHPchem', 'WetLossConvFrac_SO4 ', 'GCHPchem', 'WetLossConvFrac_SO2 ', 'GCHPchem', 'WetLossConvFrac_SALCCL ', 'GCHPchem', 'WetLossConvFrac_SALCAL ', 'GCHPchem', 'WetLossConvFrac_SALC ', 'GCHPchem', 'WetLossConvFrac_SALACL ', 'GCHPchem', 'WetLossConvFrac_SALAAL ', 'GCHPchem', 'WetLossConvFrac_SALA ', 'GCHPchem', 'WetLossConvFrac_RP ', 'GCHPchem', 'WetLossConvFrac_RIPD ', 'GCHPchem', 'WetLossConvFrac_RIPC ', 'GCHPchem', 'WetLossConvFrac_RIPB ', 'GCHPchem', 'WetLossConvFrac_RIPA ', 'GCHPchem', 'WetLossConvFrac_RB3P ', 'GCHPchem', 'WetLossConvFrac_RA3P ', 'GCHPchem', 'WetLossConvFrac_R4P ', 'GCHPchem', 'WetLossConvFrac_R4N2 ', 'GCHPchem', 'WetLossConvFrac_PYAC ', 'GCHPchem', 'WetLossConvFrac_PRPN ', 'GCHPchem', 'WetLossConvFrac_PRPE ', 'GCHPchem', 'WetLossConvFrac_PROPNN ', 'GCHPchem', 'WetLossConvFrac_PPN ', 'GCHPchem', 'WetLossConvFrac_PP ', 'GCHPchem', 'WetLossConvFrac_pFe ', 'GCHPchem', 'WetLossConvFrac_PAN ', 'GCHPchem', 'WetLossConvFrac_OCPO ', 'GCHPchem', 'WetLossConvFrac_OCPI ', 'GCHPchem', 'WetLossConvFrac_NITs ', 'GCHPchem', 'WetLossConvFrac_NIT ', 'GCHPchem', 'WetLossConvFrac_NH4 ', 'GCHPchem', 'WetLossConvFrac_NH3 ', 'GCHPchem', 'WetLossConvFrac_MVKPC ', 'GCHPchem', 'WetLossConvFrac_MVKN ', 'GCHPchem', 'WetLossConvFrac_MVKHP ', 'GCHPchem', 'WetLossConvFrac_MVKHCB ', 'GCHPchem', 'WetLossConvFrac_MVKHC ', 'GCHPchem', 'WetLossConvFrac_MVKDH ', 'GCHPchem', 'WetLossConvFrac_MVK ', 'GCHPchem', 'WetLossConvFrac_MTPO ', 'GCHPchem', 'WetLossConvFrac_MTPA ', 'GCHPchem', 'WetLossConvFrac_MSA ', 'GCHPchem', 'WetLossConvFrac_MPN ', 'GCHPchem', 'WetLossConvFrac_MPAN ', 'GCHPchem', 'WetLossConvFrac_MP ', 'GCHPchem', 'WetLossConvFrac_MONITU ', 'GCHPchem', 'WetLossConvFrac_MONITS ', 'GCHPchem', 'WetLossConvFrac_MONITA ', 'GCHPchem', 'WetLossConvFrac_MOH ', 'GCHPchem', 'WetLossConvFrac_MGLY ', 'GCHPchem', 'WetLossConvFrac_MEK ', 'GCHPchem', 'WetLossConvFrac_MCRHP ', 'GCHPchem', 'WetLossConvFrac_MCRHNB ', 'GCHPchem', 'WetLossConvFrac_MCRHN ', 'GCHPchem', 'WetLossConvFrac_MCRENOL ', 'GCHPchem', 'WetLossConvFrac_MCRDH ', 'GCHPchem', 'WetLossConvFrac_MAP ', 'GCHPchem', 'WetLossConvFrac_MACR1OOH ', 'GCHPchem', 'WetLossConvFrac_LVOCOA ', 'GCHPchem', 'WetLossConvFrac_LVOC ', 'GCHPchem', 'WetLossConvFrac_LIMO ', 'GCHPchem', 'WetLossConvFrac_ITHN ', 'GCHPchem', 'WetLossConvFrac_ITCN ', 'GCHPchem', 'WetLossConvFrac_ISALC ', 'GCHPchem', 'WetLossConvFrac_ISALA ', 'GCHPchem', 'WetLossConvFrac_IONO2 ', 'GCHPchem', 'WetLossConvFrac_IONO ', 'GCHPchem', 'WetLossConvFrac_IONITA ', 'GCHPchem', 'WetLossConvFrac_INPD ', 'GCHPchem', 'WetLossConvFrac_INPB ', 'GCHPchem', 'WetLossConvFrac_INDIOL ', 'GCHPchem', 'WetLossConvFrac_IHN4 ', 'GCHPchem', 'WetLossConvFrac_IHN3 ', 'GCHPchem', 'WetLossConvFrac_IHN2 ', 'GCHPchem', 'WetLossConvFrac_IHN1 ', 'GCHPchem', 'WetLossConvFrac_IEPOXD ', 'GCHPchem', 'WetLossConvFrac_IEPOXB ', 'GCHPchem', 'WetLossConvFrac_IEPOXA ', 'GCHPchem', 'WetLossConvFrac_IDN ', 'GCHPchem', 'WetLossConvFrac_IDHPE ', 'GCHPchem', 'WetLossConvFrac_IDHDP ', 'GCHPchem', 'WetLossConvFrac_IDCHP ', 'GCHPchem', 'WetLossConvFrac_ICPDH ', 'GCHPchem', 'WetLossConvFrac_ICN ', 'GCHPchem', 'WetLossConvFrac_ICl ', 'GCHPchem', 'WetLossConvFrac_ICHE ', 'GCHPchem', 'WetLossConvFrac_IBr ', 'GCHPchem', 'WetLossConvFrac_I2O4 ', 'GCHPchem', 'WetLossConvFrac_I2O3 ', 'GCHPchem', 'WetLossConvFrac_I2O2 ', 'GCHPchem', 'WetLossConvFrac_I2 ', 'GCHPchem', 'WetLossConvFrac_HPETHNL ', 'GCHPchem', 'WetLossConvFrac_HONIT ', 'GCHPchem', 'WetLossConvFrac_HOI ', 'GCHPchem', 'WetLossConvFrac_HOCl ', 'GCHPchem', 'WetLossConvFrac_HOBr ', 'GCHPchem', 'WetLossConvFrac_HNO3 ', 'GCHPchem', 'WetLossConvFrac_HMS ', 'GCHPchem', 'WetLossConvFrac_HMML ', 'GCHPchem', 'WetLossConvFrac_HMHP ', 'GCHPchem', 'WetLossConvFrac_HI ', 'GCHPchem', 'WetLossConvFrac_HCOOH ', 'GCHPchem', 'WetLossConvFrac_HCl ', 'GCHPchem', 'WetLossConvFrac_HC5A ', 'GCHPchem', 'WetLossConvFrac_HBr ', 'GCHPchem', 'WetLossConvFrac_HAC ', 'GCHPchem', 'WetLossConvFrac_H2O2 ', 'GCHPchem', 'WetLossConvFrac_GLYX ', 'GCHPchem', 'WetLossConvFrac_GLYC ', 'GCHPchem', 'WetLossConvFrac_ETP ', 'GCHPchem', 'WetLossConvFrac_ETHP ', 'GCHPchem', 'WetLossConvFrac_ETHN ', 'GCHPchem', 'WetLossConvFrac_ETHLN ', 'GCHPchem', 'WetLossConvFrac_EOH ', 'GCHPchem', 'WetLossConvFrac_DSTbin7 ', 'GCHPchem', 'WetLossConvFrac_DSTbin6 ', 'GCHPchem', 'WetLossConvFrac_DSTbin5 ', 'GCHPchem', 'WetLossConvFrac_DSTbin4 ', 'GCHPchem', 'WetLossConvFrac_DSTbin3 ', 'GCHPchem', 'WetLossConvFrac_DSTbin2 ', 'GCHPchem', 'WetLossConvFrac_DSTbin1 ', 'GCHPchem', 'WetLossConvFrac_CH2O ', 'GCHPchem', 'WetLossConvFrac_BrSALC ', 'GCHPchem', 'WetLossConvFrac_BrSALA ', 'GCHPchem', 'WetLossConvFrac_BrCl ', 'GCHPchem', 'WetLossConvFrac_Br2 ', 'GCHPchem', 'WetLossConvFrac_BCPO ', 'GCHPchem', 'WetLossConvFrac_BCPI ', 'GCHPchem', 'WetLossConvFrac_ATOOH ', 'GCHPchem', 'WetLossConvFrac_ALD2 ', 'GCHPchem', 'WetLossConvFrac_AERI ', 'GCHPchem', 'WetLossConvFrac_ACTA ', 'GCHPchem', #'WetLossConvFrac_TSOG3 ', 'GCHPchem', #'WetLossConvFrac_TSOG2 ', 'GCHPchem', #'WetLossConvFrac_TSOG1 ', 'GCHPchem', #'WetLossConvFrac_TSOG0 ', 'GCHPchem', #'WetLossConvFrac_TSOA3 ', 'GCHPchem', #'WetLossConvFrac_TSOA2 ', 'GCHPchem', #'WetLossConvFrac_TSOA1 ', 'GCHPchem', #'WetLossConvFrac_TSOA0 ', 'GCHPchem', #'WetLossConvFrac_ASOG3 ', 'GCHPchem', #'WetLossConvFrac_ASOG2 ', 'GCHPchem', #'WetLossConvFrac_ASOG1 ', 'GCHPchem', #'WetLossConvFrac_ASOAN ', 'GCHPchem', #'WetLossConvFrac_ASOA3 ', 'GCHPchem', #'WetLossConvFrac_ASOA2 ', 'GCHPchem', #'WetLossConvFrac_ASOA1 ', 'GCHPchem', :: #============================================================================= # %%%%% THE WetLossLS COLLECTION %%%%% # # Loss of soluble species in large-scale wetdep (i.e. rainout and washout) #============================================================================= WetLossLS.template: '%y4%m2%d2_%h2%n2z.nc4', WetLossLS.format: 'CFIO', WetLossLS.timestampStart: .true. WetLossLS.monthly: 1 WetLossLS.frequency: 010000 WetLossLS.duration: 010000 WetLossLS.mode: 'time-averaged' WetLossLS.fields: 'WetLossLS_SOAS ', 'GCHPchem', #'WetLossLS_TSOG3 ', 'GCHPchem', #'WetLossLS_TSOG2 ', 'GCHPchem', #'WetLossLS_TSOG1 ', 'GCHPchem', #'WetLossLS_TSOG0 ', 'GCHPchem', #'WetLossLS_TSOA3 ', 'GCHPchem', #'WetLossLS_TSOA2 ', 'GCHPchem', #'WetLossLS_TSOA1 ', 'GCHPchem', #'WetLossLS_TSOA0 ', 'GCHPchem', 'WetLossLS_SOAIE ', 'GCHPchem', 'WetLossLS_SOAGX ', 'GCHPchem', 'WetLossLS_SO4s ', 'GCHPchem', 'WetLossLS_SO4 ', 'GCHPchem', 'WetLossLS_SO2 ', 'GCHPchem', 'WetLossLS_SALCCL ', 'GCHPchem', 'WetLossLS_SALCAL ', 'GCHPchem', 'WetLossLS_SALC ', 'GCHPchem', 'WetLossLS_SALACL ', 'GCHPchem', 'WetLossLS_SALAAL ', 'GCHPchem', 'WetLossLS_SALA ', 'GCHPchem', 'WetLossLS_RP ', 'GCHPchem', 'WetLossLS_RIPD ', 'GCHPchem', 'WetLossLS_RIPC ', 'GCHPchem', 'WetLossLS_RIPB ', 'GCHPchem', 'WetLossLS_RIPA ', 'GCHPchem', 'WetLossLS_RB3P ', 'GCHPchem', 'WetLossLS_RA3P ', 'GCHPchem', 'WetLossLS_R4P ', 'GCHPchem', 'WetLossLS_R4N2 ', 'GCHPchem', 'WetLossLS_PYAC ', 'GCHPchem', 'WetLossLS_PRPN ', 'GCHPchem', 'WetLossLS_PRPE ', 'GCHPchem', 'WetLossLS_PROPNN ', 'GCHPchem', 'WetLossLS_PPN ', 'GCHPchem', 'WetLossLS_PP ', 'GCHPchem', 'WetLossLS_pFe ', 'GCHPchem', 'WetLossLS_PAN ', 'GCHPchem', 'WetLossLS_OCPO ', 'GCHPchem', 'WetLossLS_OCPI ', 'GCHPchem', 'WetLossLS_NITs ', 'GCHPchem', 'WetLossLS_NIT ', 'GCHPchem', 'WetLossLS_NH4 ', 'GCHPchem', 'WetLossLS_NH3 ', 'GCHPchem', 'WetLossLS_MVKPC ', 'GCHPchem', 'WetLossLS_MVKN ', 'GCHPchem', 'WetLossLS_MVKHP ', 'GCHPchem', 'WetLossLS_MVKHCB ', 'GCHPchem', 'WetLossLS_MVKHC ', 'GCHPchem', 'WetLossLS_MVKDH ', 'GCHPchem', 'WetLossLS_MVK ', 'GCHPchem', 'WetLossLS_MTPO ', 'GCHPchem', 'WetLossLS_MTPA ', 'GCHPchem', 'WetLossLS_MSA ', 'GCHPchem', 'WetLossLS_MPN ', 'GCHPchem', 'WetLossLS_MPAN ', 'GCHPchem', 'WetLossLS_MP ', 'GCHPchem', 'WetLossLS_MONITU ', 'GCHPchem', 'WetLossLS_MONITS ', 'GCHPchem', 'WetLossLS_MONITA ', 'GCHPchem', 'WetLossLS_MOH ', 'GCHPchem', 'WetLossLS_MGLY ', 'GCHPchem', 'WetLossLS_MEK ', 'GCHPchem', 'WetLossLS_MCRHP ', 'GCHPchem', 'WetLossLS_MCRHNB ', 'GCHPchem', 'WetLossLS_MCRHN ', 'GCHPchem', 'WetLossLS_MCRENOL ', 'GCHPchem', 'WetLossLS_MCRDH ', 'GCHPchem', 'WetLossLS_MAP ', 'GCHPchem', 'WetLossLS_MACR1OOH ', 'GCHPchem', 'WetLossLS_LVOCOA ', 'GCHPchem', 'WetLossLS_LVOC ', 'GCHPchem', 'WetLossLS_LIMO ', 'GCHPchem', 'WetLossLS_ITHN ', 'GCHPchem', 'WetLossLS_ITCN ', 'GCHPchem', 'WetLossLS_ISALC ', 'GCHPchem', 'WetLossLS_ISALA ', 'GCHPchem', 'WetLossLS_IONO2 ', 'GCHPchem', 'WetLossLS_IONO ', 'GCHPchem', 'WetLossLS_IONITA ', 'GCHPchem', 'WetLossLS_INPD ', 'GCHPchem', 'WetLossLS_INPB ', 'GCHPchem', 'WetLossLS_INDIOL ', 'GCHPchem', 'WetLossLS_IHN4 ', 'GCHPchem', 'WetLossLS_IHN3 ', 'GCHPchem', 'WetLossLS_IHN2 ', 'GCHPchem', 'WetLossLS_IHN1 ', 'GCHPchem', 'WetLossLS_IEPOXD ', 'GCHPchem', 'WetLossLS_IEPOXB ', 'GCHPchem', 'WetLossLS_IEPOXA ', 'GCHPchem', 'WetLossLS_IDN ', 'GCHPchem', 'WetLossLS_IDHPE ', 'GCHPchem', 'WetLossLS_IDHDP ', 'GCHPchem', 'WetLossLS_IDCHP ', 'GCHPchem', 'WetLossLS_ICPDH ', 'GCHPchem', 'WetLossLS_ICN ', 'GCHPchem', 'WetLossLS_ICl ', 'GCHPchem', 'WetLossLS_ICHE ', 'GCHPchem', 'WetLossLS_IBr ', 'GCHPchem', 'WetLossLS_I2O4 ', 'GCHPchem', 'WetLossLS_I2O3 ', 'GCHPchem', 'WetLossLS_I2O2 ', 'GCHPchem', 'WetLossLS_I2 ', 'GCHPchem', 'WetLossLS_HPETHNL ', 'GCHPchem', 'WetLossLS_HONIT ', 'GCHPchem', 'WetLossLS_HOI ', 'GCHPchem', 'WetLossLS_HOCl ', 'GCHPchem', 'WetLossLS_HOBr ', 'GCHPchem', 'WetLossLS_HNO3 ', 'GCHPchem', 'WetLossLS_HMS ', 'GCHPchem', 'WetLossLS_HMML ', 'GCHPchem', 'WetLossLS_HMHP ', 'GCHPchem', 'WetLossLS_HI ', 'GCHPchem', 'WetLossLS_HCOOH ', 'GCHPchem', 'WetLossLS_HCl ', 'GCHPchem', 'WetLossLS_HC5A ', 'GCHPchem', 'WetLossLS_HBr ', 'GCHPchem', 'WetLossLS_HAC ', 'GCHPchem', 'WetLossLS_H2O2 ', 'GCHPchem', 'WetLossLS_GLYX ', 'GCHPchem', 'WetLossLS_GLYC ', 'GCHPchem', 'WetLossLS_ETP ', 'GCHPchem', 'WetLossLS_ETHP ', 'GCHPchem', 'WetLossLS_ETHN ', 'GCHPchem', 'WetLossLS_ETHLN ', 'GCHPchem', 'WetLossLS_EOH ', 'GCHPchem', 'WetLossLS_DSTbin7 ', 'GCHPchem', 'WetLossLS_DSTbin6 ', 'GCHPchem', 'WetLossLS_DSTbin5 ', 'GCHPchem', 'WetLossLS_DSTbin4 ', 'GCHPchem', 'WetLossLS_DSTbin3 ', 'GCHPchem', 'WetLossLS_DSTbin2 ', 'GCHPchem', 'WetLossLS_DSTbin1 ', 'GCHPchem', 'WetLossLS_CH2O ', 'GCHPchem', 'WetLossLS_BrSALC ', 'GCHPchem', 'WetLossLS_BrSALA ', 'GCHPchem', 'WetLossLS_BrCl ', 'GCHPchem', 'WetLossLS_Br2 ', 'GCHPchem', 'WetLossLS_BCPO ', 'GCHPchem', 'WetLossLS_BCPI ', 'GCHPchem', 'WetLossLS_ATOOH ', 'GCHPchem', #'WetLossLS_ASOG3 ', 'GCHPchem', #'WetLossLS_ASOG2 ', 'GCHPchem', #'WetLossLS_ASOG1 ', 'GCHPchem', #'WetLossLS_ASOAN ', 'GCHPchem', #'WetLossLS_ASOA3 ', 'GCHPchem', #'WetLossLS_ASOA2 ', 'GCHPchem', #'WetLossLS_ASOA1 ', 'GCHPchem', 'WetLossLS_ALD2 ', 'GCHPchem', 'WetLossLS_AERI ', 'GCHPchem', 'WetLossLS_ACTA ', 'GCHPchem', :: ================================================ FILE: run/GCHP/HISTORY.rc.templates/HISTORY.rc.tagO3 ================================================ EXPID: OutputDir/GEOSChem EXPDSC: GEOS-Chem_devel CoresPerNode: 6 Allow_Overwrite: .true. VERSION: 1 #============================================================================== # Define grid labels # # Define output grids different from the native cubed sphere in this section. # Each diagnostics collection is output on the native resolution global cubed # sphere grid unless a different grid defined here is set for that collection # in the collections section of this file. # # See the examples below for defining different types of grid at different # resolutions. See the collections section later on in this file for # instructions on using an alternative grid for output. # # Beware that the online regridding is area-conserving. Only diagnostics # independent of grid cell area should be output on a custom grid. For more # information see the HISTORY.rc page at gchp.readthedocs.io/. #============================================================================== GRID_LABELS: #PE24x144-CF #PC360x181-DC #REGIONAL1x1 :: # Example of cubed-sphere grid at c24 resolution PE24x144-CF.GRID_TYPE: Cubed-Sphere PE24x144-CF.IM_WORLD: 24 PE24x144-CF.JM_WORLD: 144 PE24x144-CF.LM: 72 # Example of lat-lon global grid at 1x1 resolution PC360x181-DC.GRID_TYPE: LatLon PC360x181-DC.IM_WORLD: 360 PC360x181-DC.JM_WORLD: 181 PC360x181-DC.POLE: PC PC360x181-DC.DATELINE: DC PC360x181-DC.LM: 72 # Example of lat-lon regional grid at 1x1 resolution REGIONAL1x1.GRID_TYPE: LatLon REGIONAL1x1.IM_WORLD: 80 REGIONAL1x1.JM_WORLD: 40 REGIONAL1x1.POLE: XY REGIONAL1x1.DATELINE: XY REGIONAL1x1.LON_RANGE: 0 80 REGIONAL1x1.LAT_RANGE: -30 10 REGIONAL1x1.LM: 72 #============================================================================== # Declare collection names # # You can disable collections by commenting out with # # # WARNING: Some diagnostic collections have a subset of output fields # commented out by default. Inspect fields of collections you turn on # before running to ensure you will get the output you intend. #============================================================================== COLLECTIONS: 'SpeciesConc', :: #============================================================================== # Define collections # # The rest of this file consists of collection definitions. # Above collections whose declarations are commented out will be ignored. # You can skip individual diagnostics by commenting out their names. # # WARNING: Frequency, duration, and mode will be over-written with # settings in setCommonRunSettings.sh. Edit settings in that file. You can execute the # script to update this file and then inspect results before submitting a # run. Collection names are hard-coded in that file; if you add more # collections then you must also add them there for auto-update, or manually # change settings for the new collection in this file. # # NOTES: # (1) Template keyword defines suffix of output filename, appended to # GCHP.{collection}. # # (2) Frequency keyword sets frequency of data in each output file # # (3) Duration keyword sets frequency of output file # # (4) Mode keyword may be 'time-averaged' or 'instantaneous' # # (5) See the GRID_LABELS sections above for details about output grids # # (6) To output data on a grid other than native res global cubed sphere # include the 'grid_label' field. For example, # # SpeciesConc.grid_label: REGIONAL1x1 # # (7) If you are outputting on a lat/lon grid, be sure to specify # conservative regridding. Otherwise regridding will be bi-linear. # # SpeciesConc.conservative: 1 # # (8) To output a reduced set of levels, use the levels keyword, e.g.: # # SpeciesConc.levels: 1 2 3 # #============================================================================== #============================================================================== # %%%%% THE SpeciesConc COLLECTION %%%%% # # GEOS-Chem species concentrations # # Concentrations may be saved out as SpeciesConcVV [v/v dry air] or # SpeciesConcMND [molec/cm3] #============================================================================== SpeciesConc.template: '%y4%m2%d2_%h2%n2z.nc4', SpeciesConc.format: 'CFIO', SpeciesConc.timestampStart: .true. SpeciesConc.monthly: 1 SpeciesConc.frequency: 010000 SpeciesConc.duration: 240000 SpeciesConc.mode: 'time-averaged' SpeciesConc.fields: 'SpeciesConcVV_O3 ', 'GCHPchem', 'SpeciesConcVV_O3Strat ', 'GCHPchem', 'SpeciesConcVV_O3ut ', 'GCHPchem', 'SpeciesConcVV_O3mt ', 'GCHPchem', 'SpeciesConcVV_O3row ', 'GCHPchem', 'SpeciesConcVV_O3pcbl ', 'GCHPchem', 'SpeciesConcVV_O3nabl ', 'GCHPchem', 'SpeciesConcVV_O3atbl ', 'GCHPchem', 'SpeciesConcVV_O3eubl ', 'GCHPchem', 'SpeciesConcVV_O3afbl ', 'GCHPchem', 'SpeciesConcVV_O3asbl ', 'GCHPchem', 'SpeciesConcVV_O3init ', 'GCHPchem', 'SpeciesConcVV_O3usa ', 'GCHPchem', :: ================================================ FILE: run/GCHP/README.md ================================================ # This run directory is for GCHP. ## For instructions on setting up, compiling, and running GCHP, see: - https://gchp.readthedocs.org ## For help with GCHP, see: - https://gchp.readthedocs.io/en/latest/reference/SUPPORT.html - https://gchp.readthedocs.io/en/latest/reference/CONTRIBUTING.html ================================================ FILE: run/GCHP/archiveRun.sh ================================================ #!/bin/bash # Script to archive files after a run. # # Argument: archive directory name (can be non-existent) # # Example usage: ./archiveRun.sh c48_1hr_emissionsOff # # All output files are copied, including output data (OutputDir/*.nc4), # log files (*.log, slurm-*), config files (*.rc, *.yml), # run files (*.run, *.env, setCommonRunSettings.sh), and restarts. # Files are stored in subdirectories within the archive directory. # # NOTE: Clean the run directory AFTER archiving with './cleanupRunDir.sh' # if you plan on doing another run. Otherwise previous run files will also # be archived if this script is called again. # Initial version: Lizzie Lundgren - 7/12/2018 # Customize this script as needed to best fit your workflow. # Check that directory name passed if [[ $# == 1 ]]; then archivedir=$1 else echo "Usage: ./archiveRun.sh {ArchiveDirName}" exit fi # Check that directory does not already exist if [ -d "${archivedir}" ]; then echo "Warning: Directory ${archivedir} already exists." echo "Remove or rename that directory, or choose a different name." exit 1 fi # Function to move files and subdirs in directory except if string match # ( arg1 : source, arg2 : target, arg3 : exclude string ) movefiles () { numMoved=0 for item in $1/*; do if [[ $(basename $item) == $3 ]]; then continue elif [[ -e $item ]]; then if [[ -d $item ]]; then echo " -> $2/$(basename $item)/" else echo " -> $2/$(basename $item)" fi mv $item $2 numMoved=$numMoved+1 fi done if [[ $numMoved == "0" ]]; then echo " Warning: No files to move from $1" fi } # Function to copy all files matching string (arg2) to directory (arg1) # ( arg1 : source, arg2 : target ) copyfiles () { for file in $1; do if [ -e $file ]; then echo " -> $2/$file" cp -rt $2 $file else if [[ $file != "*.multirun.sh" ]]; then echo " Warning: $file not found" fi fi done } # Make Archive directory echo "Archiving files to directory $1" mkdir -p ${archivedir} mkdir -p ${archivedir}/Logs # Copy files echo "Copying files..." copyfiles "*.yml" ${archivedir} copyfiles "*.rc" ${archivedir} copyfiles "*.run" ${archivedir} copyfiles "*.sh" ${archivedir} copyfiles "*.env" ${archivedir} copyfiles "*.log" ${archivedir}/Logs copyfiles "slurm-*" ${archivedir}/Logs copyfiles "build_info/" ${archivedir} copyfiles "BenchmarkResults/" ${archivedir} copyfiles "OutputDir/" ${archivedir} copyfiles "CreateRunDirLogs/" ${archivedir} copyfiles "cap_restart" ${archivedir} copyfiles "setCommonRunSettings.sh" ${archivedir} printf "WARNING: Restart files are not archived. Copy manually if you would like to store restarts in the archive directory." printf "Complete!\n" exit 0 ================================================ FILE: run/GCHP/checkRunSettings.sh ================================================ #!/bin/bash # placeholder ================================================ FILE: run/GCHP/createRunDir.sh ================================================ #!/bin/bash #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !MODULE: createRunDir.sh # # !DESCRIPTION: Creates a GCHP run directory. #\\ #\\ # !CALLING SEQUENCE: # ./createRunDir.sh [rundirname] # # !REMARKS: # If optional run directory name argument is not passed then the user # will be prompted to enter a name interactively, or choose to use the # default name gchp_{met}_{sim_name}_{sim_extra_option}. # # !REVISION HISTORY: # Initial version: E. Lundgren,10/5/2018 # See the subsequent Git history with the gitk browser! #------------------------------------------------------------------------------ #BOC # Directory w/ GCHP rundir scripts (i.e. this directory) srcrundir=$(pwd -P) cd ${srcrundir} # GEOS-Chem "science codebase" directory cd ../.. gcdir=$(pwd -P) # GCHP "wrapper" directory cd ../../../.. wrapperdir=$(pwd -P) # Return to cd ${srcrundir} # Source common bash functions from scripts in the run/shared folder . ${gcdir}/run/shared/setupConfigFiles.sh # Config file editing . ${gcdir}/run/shared/newUserRegistration.sh # 1st-time user registration . ${gcdir}/run/shared/singleCarbonSpecies.sh # Single carbon species setup # Initialize run directory variables RUNDIR_VARS="" RUNDIR_VARS+="RUNDIR_GC_MODE='GCHP'\n" # Define separator lines thickline="\n===========================================================\n" thinline="\n-----------------------------------------------------------\n" printf "${thickline}GCHP RUN DIRECTORY CREATION${thickline}" #----------------------------------------------------------------- # Export data root path in ~/.geoschem/config if file exists #----------------------------------------------------------------- if [[ -f ${HOME}/.geoschem/config ]]; then source ${HOME}/.geoschem/config if [[ ! -d ${GC_DATA_ROOT} ]]; then printf "\nWarning: Default root data directory does not exist!" printf "\nSet new path below or manually edit ${HOME}/.geoschem/config.\n" fi else printf "${thinline}Define path to ExtData." printf "\nThis will be stored in ${HOME}/.geoschem/config for future automatic use.${thinline}" mkdir -p ${HOME}/.geoschem fi #----------------------------------------------------------------- # One-time configuration of data root path in ~/.geoschem/config #----------------------------------------------------------------- if [[ -z "${GC_DATA_ROOT}" ]]; then printf "${thinline}Enter path for ExtData:${thinline}" valid_path=0 while [ "$valid_path" -eq 0 ]; do read -e -p "${USER_PROMPT}" extdata if [[ ${extdata} = "q" ]]; then printf "\nExiting.\n" exit 1 elif [[ ! -d ${extdata} ]]; then printf "\nERROR: ${extdata} does not exist. Enter a new path or hit q to quit.\n" else valid_path=1 echo "export GC_DATA_ROOT=${extdata}" >> ${HOME}/.geoschem/config source ${HOME}/.geoschem/config fi done fi RUNDIR_VARS+="RUNDIR_DATA_ROOT=$GC_DATA_ROOT\n" # -------------------------------------------------------------- # registration for first time users # -------------------------------------------------------------- [[ -z "${GC_USER_REGISTERED}" ]] && registerNewUser "gchp" #----------------------------------------------------------------- # Ask user to select simulation type #----------------------------------------------------------------- printf "${thinline}Choose simulation type:${thinline}" printf " 1. Full chemistry\n" printf " 2. TransportTracers\n" printf " 3. Carbon\n" printf " 4. Tagged O3\n" valid_sim=0 while [ "${valid_sim}" -eq 0 ]; do read -p "${USER_PROMPT}" sim_num valid_sim=1 if [[ ${sim_num} = "1" ]]; then sim_name=fullchem elif [[ ${sim_num} = "2" ]]; then sim_name=TransportTracers elif [[ ${sim_num} = "3" ]]; then sim_name=carbon elif [[ ${sim_num} = "4" ]]; then sim_name=tagO3 else valid_sim=0 printf "Invalid simulation option. Try again.\n" fi done RUNDIR_VARS+="RUNDIR_SIM_NAME=$sim_name\n" #----------------------------------------------------------------- # Ask user to specify full-chemistry simulation options #----------------------------------------------------------------- sim_extra_option=none # Ask user to specify full chemistry simulation options if [[ ${sim_name} = "fullchem" ]]; then printf "${thinline}Choose additional simulation option:${thinline}" printf " 1. Standard\n" printf " 2. Benchmark\n" printf " 3. Complex SOA\n" printf " 4. Marine POA\n" printf " 5. Acid uptake on dust\n" printf " 6. TOMAS\n" printf " 7. APM\n" printf " 8. RRTMG\n" valid_sim_option=0 while [ "${valid_sim_option}" -eq 0 ]; do read -p "${USER_PROMPT}" sim_option valid_sim_option=1 if [[ ${sim_option} = "1" ]]; then sim_extra_option=none elif [[ ${sim_option} = "2" ]]; then sim_extra_option="benchmark" elif [[ ${sim_option} = "3" ]]; then printf "${thinline}Choose complex SOA option:${thinline}" printf " 1. Complex SOA\n" printf " 2. Complex SOA with semivolatile POA\n" valid_soa=0 while [ "${valid_soa}" -eq 0 ]; do read -p "${USER_PROMPT}" soa_option valid_soa=1 if [[ ${soa_option} = "1" ]]; then sim_extra_option="complexSOA" elif [[ ${soa_option} = "2" ]]; then sim_extra_option="complexSOA_SVPOA" else valid_soa=0 printf "Invalid complex SOA option.Try again.\n" fi done elif [[ ${sim_option} = "4" ]]; then sim_extra_option="marinePOA" elif [[ ${sim_option} = "5" ]]; then sim_extra_option="aciduptake" elif [[ ${sim_option} = "6" ]]; then printf "${thinline}Choose TOMAS option:${thinline}" printf " 1. TOMAS with 15 bins\n" printf " 2. TOMAS with 40 bins\n" valid_tomas=0 while [ "${valid_tomas}" -eq 0 ]; do read -p "${USER_PROMPT}" tomas_option valid_tomas=1 if [[ ${tomas_option} = "1" ]]; then sim_extra_option="TOMAS15" elif [[ ${tomas_option} = "2" ]]; then sim_extra_option="TOMAS40" else valid_tomas=0 printf "Invalid TOMAS option. Try again.\n" fi done elif [[ ${sim_option} = "7" ]]; then sim_extra_option="APM" elif [[ ${sim_option} = "8" ]]; then sim_extra_option="RRTMG" else valid_sim_option=0 printf "Invalid simulation option. Try again.\n" fi done # Currently no transport tracer extra options elif [[ ${sim_name} = "TransportTracers" ]]; then sim_extra_option=none # Ask user to specify carbon simulation options elif [[ "x${sim_name}" == "xcarbon" ]]; then printf "${thinline}Do you wish to use a single advected species?${thinline}" printf " 1. Use all species\n" printf " 2. Use CH4 only\n" printf " 3. Use CO2 only\n" printf " 4. Use CO only\n" printf " 5. Use OCS only\n" valid=0 while [ "${valid}" -eq 0 ]; do read -p "${USER_PROMPT}" prompt valid=1 if [[ "x${prompt}" == "x1" ]]; then sim_extra_option="none" elif [[ "x${prompt}" == "x2" ]]; then sim_extra_option="CH4" elif [[ "x${prompt}" == "x3" ]]; then sim_extra_option="CO2" elif [[ "x${prompt}" == "x4" ]]; then sim_extra_option="CO" elif [[ "x${prompt}" == "x5" ]]; then sim_extra_option="OCS" else valid=0 printf "Invalid selection. Try again.\n" fi done fi RUNDIR_VARS+="RUNDIR_SIM_EXTRA_OPTION=$sim_extra_option\n" # Determine settings based on simulation type if [[ ${sim_extra_option} == "benchmark" ]] || \ [[ ${sim_extra_option} =~ "complexSOA" ]] || \ [[ ${sim_extra_option} == "APM" ]]; then RUNDIR_VARS+="RUNDIR_COMPLEX_SOA='true'\n" if [[ ${sim_extra_option} == "complexSOA_SVPOA" ]]; then RUNDIR_VARS+="RUNDIR_SVPOA='true'\n" else RUNDIR_VARS+="RUNDIR_SVPOA='false'\n" fi else RUNDIR_VARS+="RUNDIR_COMPLEX_SOA='false'\n" RUNDIR_VARS+="RUNDIR_SVPOA='false'\n" fi if [[ ${sim_extra_option} == "aciduptake" ]]; then RUNDIR_VARS+="RUNDIR_DUSTALK_EXT='on '\n" RUNDIR_VARS+="RUNDIR_ACID_UPTAKE='true'\n" else RUNDIR_VARS+="RUNDIR_DUSTALK_EXT='off'\n" RUNDIR_VARS+="RUNDIR_ACID_UPTAKE='false'\n" fi if [[ ${sim_extra_option} == "marinePOA" ]]; then RUNDIR_VARS+="RUNDIR_MARINE_POA='true'\n" else RUNDIR_VARS+="RUNDIR_MARINE_POA='false'\n" fi if [[ ${sim_extra_option} == "RRTMG" ]]; then RUNDIR_VARS+="RUNDIR_RRTMG_OPTS='true'\n" RUNDIR_VARS+="RUNDIR_USE_RRTMG='true '\n" else RUNDIR_VARS+="RUNDIR_RRTMG_OPTS='false'\n" RUNDIR_VARS+="RUNDIR_USE_RRTMG='false'\n" fi if [[ ${sim_extra_option} =~ "TOMAS" ]]; then RUNDIR_VARS+="RUNDIR_USE_NLPBL='false'\n" RUNDIR_VARS+="RUNDIR_USE_ONLINE_O3='false'\n" else RUNDIR_VARS+="RUNDIR_USE_NLPBL='true'\n" RUNDIR_VARS+="RUNDIR_USE_ONLINE_O3='true'\n" fi # NOTE: Fullchem benchmarks use the climatological volcano emissions! if [[ "x${sim_name}" == "xfullchem" ]]; then RUNDIR_VARS+="RUNDIR_VOLC_CLIMATOLOGY='\$ROOT/VOLCANO/v2024-04/so2_volcanic_emissions_CARN_v202401.degassing_only.rc'\n" if [[ "x${sim_extra_option}" == "xbenchmark" ]]; then RUNDIR_VARS+="RUNDIR_VOLC_TABLE='\$ROOT/VOLCANO/v2024-04/so2_volcanic_emissions_CARN_v202401.degassing_only.rc'\n" else RUNDIR_VARS+="RUNDIR_VOLC_TABLE='\$ROOT/VOLCANO/v2024-04/\$YYYY/\$MM/so2_volcanic_emissions_Carns.\$YYYY\$MM\$DD.rc'\n" fi fi #----------------------------------------------------------------- # Ask user to select meteorology source #----------------------------------------------------------------- printf "${thinline}Choose meteorology source:${thinline}" printf " 1. MERRA-2 (Recommended)\n" printf " 2. GEOS-FP\n" printf " 3. GEOS-IT\n" metSettingsDir=${gcdir}/run/shared/settings valid_met=0 while [ "${valid_met}" -eq 0 ]; do read -p "${USER_PROMPT}" met_num valid_met=1 if [[ ${met_num} = "1" ]]; then met="merra2" RUNDIR_VARS+="$(cat ${metSettingsDir}/merra2.txt)\n" elif [[ ${met_num} = "2" ]]; then met="geosfp" # Print warning about GEOS-FP and require user to acknowledge it. fp_msg="WARNING: The convection scheme used to generate archived GEOS-FP meteorology \nfiles changed from RAS to Grell-Freitas starting June 1 2020 with impact on \nvertical transport. Discussion and analysis of the impact is available at \ngithub.com/geoschem/geos-chem/issues/1409. To fix this issue, different GEOS-Chem \nconvection schemes are called based on simulation start time. This ensures \ncomparability in GEOS-Chem runs using GEOS-FP fields generated using the RAS \nconvection scheme and fields generated using Grell-Freitas, but only if the \nsimulation does not cross the June 1 2020 boundary. We therefore recommend \nsplitting up GEOS-FP runs in time such that a single simulation does not span \nthis date. For example, configure one run to end on June 1 2020 and then use \nits output restart to start another run on June 1. Alternatively consider using \nMERRA2 which was entirely generated with RAS, or GEOS-IT which was entirely \ngenerated with Grell-Freitas. If you wish to use a GEOS-FP meteorology year \ndifferent from your simulation year please create a GEOS-Chem GitHub issue for \nassistance to avoid accidentally using zero convective precipitation flux.\n" printf "\n${fp_msg}\n" printf "This warning will be printed to run directory file warnings.txt.\n" printf "${thinline}Enter y to acknowledge and proceed, or q to quit:${thinline}" valid_fp_accept=0 while [ "${valid_fp_accept}" -eq 0 ]; do read -p "${USER_PROMPT}" fp_accept valid_fp_accept=1 if [[ ${fp_accept} = "y" ]]; then x=0 elif [[ ${fp_accept} = "q" ]]; then exit else valid_fp_accept=0 printf "Invalid option. Try again.\n" fi done # Ask user to specify processed or raw files printf "${thinline}Choose meteorology file type:${thinline}" printf " 1. 0.25x0.3125 processed files from the GEOS-Chem data archive\n" printf " 2. 0.25x0.3125 raw files that you downloaded from NASA GMAO\n" printf "\nNOTE: Processed files have unused variables removed, are vertically flipped,\n" printf "and are concatenated into daily files. Using them speeds up GCHP runs.\n\n" valid_response=0 while [ "${valid_response}" -eq 0 ]; do valid_response=1 read -p "${USER_PROMPT}" response if [[ ${response} = "1" ]]; then met_file_type="processed_ll" elif [[ ${response} = "2" ]]; then met_file_type="raw_ll" met_desc="raw" else valid_response=0 printf "Invalid option. Try again.\n" fi done # Ask user to specify meteorology for advection. printf "${thinline}Choose meteorology for advection:${thinline}" printf " 1. 0.25x0.3125 3-hourly winds (Recommended)\n" printf " 2. C720 1-hourly derived winds (Recommended for stretched grid)\n" printf " 3. C720 1-hourly mass fluxes (Beta)\n" valid_response=0 while [ "${valid_response}" -eq 0 ]; do valid_response=1 read -p "${USER_PROMPT}" response if [[ ${response} = "1" ]]; then adv_flux_src="3hr_wind" elif [[ ${response} = "2" ]]; then adv_flux_src="1hr_derived_wind" elif [[ ${response} = "3" ]]; then adv_flux_src="1hr_mass_flux" else valid_response=0 printf "Invalid option. Try again.\n" fi done # Set ExtData.rc settings for met data used for advection if [[ ${adv_flux_src} = "3hr_wind" ]]; then if [[ ${met_file_type} = "processed_ll" ]]; then RUNDIR_VARS+="$(cat ${metSettingsDir}/geosfp/advection_met/geosfp.preprocessed_3hr_0.25x0.625_wind.txt)\n" RUNDIR_VARS+="$(cat ${metSettingsDir}/geosfp/advection_met/geosfp.preprocessed_3hr_0.25x0.625_PS_SPHU.txt)\n" elif [[ ${met_file_type} = "raw_ll" ]]; then RUNDIR_VARS+="$(cat ${metSettingsDir}/geosfp/advection_met/geosfp.raw_3hr_0.25x0.625_wind.txt)\n" RUNDIR_VARS+="$(cat ${metSettingsDir}/geosfp/advection_met/geosfp.raw_3hr_0.25x0.625_PS_SPHU.txt)\n" fi elif [[ ${adv_flux_src} = "1hr_derived_wind" ]]; then RUNDIR_VARS+="$(cat ${metSettingsDir}/geosfp/advection_met/geosfp.derived_1hr_c720_wind_PS_SPHU.txt)\n" elif [[ ${adv_flux_src} = "1hr_mass_flux" ]]; then if [[ ${met_file_type} = "processed_ll" ]]; then RUNDIR_VARS+="$(cat ${metSettingsDir}/geosfp/advection_met/geosfp.raw_1hr_c720_mass_flux_PS_SPHU_C.txt)\n" RUNDIR_VARS+="$(cat ${metSettingsDir}/geosfp/advection_met/geosfp.preprocessed_3hr_0.25x0.625_wind.txt)\n" elif [[ ${met_file_type} = "raw_ll" ]]; then RUNDIR_VARS+="$(cat ${metSettingsDir}/geosfp/advection_met/geosfp.raw_1hr_c720_mass_flux_PS_SPHU_C.txt)\n" RUNDIR_VARS+="$(cat ${metSettingsDir}/geosfp/advection_met/geosfp.raw_3hr_0.25x0.625_wind.txt)\n" fi fi # Set ExtData.rc settings for met-fields used in GEOS-Chem outside of advection if [[ ${met_file_type} = "raw_ll" ]]; then RUNDIR_VARS+="$(cat ${metSettingsDir}/geosfp/geosfp.nonadv_raw_ll.txt)\n" elif [[ ${met_file_type} = "processed_ll" ]]; then RUNDIR_VARS+="$(cat ${metSettingsDir}/geosfp/geosfp.nonadv_preprocessed_ll.txt)\n" fi elif [[ ${met_num} = "3" ]]; then met="geosit" # Ask user to specify processed or raw files printf "${thinline}Choose meteorology files:${thinline}" printf " 1. C180 processed files from the GEOS-Chem data archive (Recommended)\n" printf " 2. C180 raw files downloaded from NASA GMAO\n" printf " 3. 0.5x0.625 processed files from the GEOS-Chem data archive\n" printf " 4. 0.5x0.625 raw files downloaded from NASA GMAO\n" printf "\nNOTES:\n" printf " - Processed files have unused variables removed, are vertically flipped,\n" printf " and are concatenated into daily files. Using them speeds up GCHP runs.\n" printf " - Using input data on a cubed-sphere grid reduces regridding error in GCHP.\n\n" valid_response=0 while [ "${valid_response}" -eq 0 ]; do valid_response=1 read -p "${USER_PROMPT}" response if [[ ${response} = "1" ]]; then met_file_type="processed_cs" met_desc="processed_cs" elif [[ ${response} = "2" ]]; then met_file_type="raw_cs" met_desc="raw_cs" elif [[ ${response} = "3" ]]; then met_file_type="processed_ll" met_desc="processed_ll" elif [[ ${response} = "4" ]]; then met_file_type="raw_ll" met_desc="raw_ll" else valid_response=0 printf "Invalid option. Try again.\n" fi done # If using cubed-sphere raw files ask user to specify meteoerology for # advection. If using raw lat-lon then always use winds. if [[ ${met_file_type} = "raw_ll" || ${met_file_type} = "processed_ll" ]]; then adv_flux_src="3hr_wind" elif [[ ${met_file_type} = "processed_cs" || ${met_file_type} = "raw_cs" ]]; then printf "${thinline}Choose meteorology for advection:${thinline}" printf " 1. C180 3-hourly winds (Recommended)\n" printf " 2. C180 1-hourly mass fluxes (Beta)\n" valid_response=0 while [ "${valid_response}" -eq 0 ]; do valid_response=1 read -p "${USER_PROMPT}" response if [[ ${response} = "1" ]]; then adv_flux_src="3hr_wind" elif [[ ${response} = "2" ]]; then adv_flux_src="1hr_mass_flux" else valid_response=0 printf "Invalid option. Try again.\n" fi done fi # If using raw files, ask user if they are using discover if [[ ${met_file_type} = "raw_cs" || ${met_file_type} = "raw_ll" ]]; then printf "${thinline}Are you running on the NASA discover cluster? (y/n)${thinline}" valid_response=0 while [ "$valid_response" -eq 0 ]; do read -p "${USER_PROMPT}" use_discover if [[ ${use_discover} = "y" ]]; then valid_response=1 elif [[ ${use_discover} = "n" ]]; then valid_response=1 else printf "Invalid option. Try again.\n" fi done else use_discover=n fi # Set text files containing settings for met data. Different settings based options above. if [[ ${met_file_type} = "processed_ll" ]]; then RUNDIR_VARS+="$(cat ${metSettingsDir}/geosit/geosit.preprocessed_0.5x0.625.txt)\n" elif [[ ${met_file_type} = "processed_cs" ]]; then if [[ ${adv_flux_src} = "1hr_mass_flux" ]]; then RUNDIR_VARS+="$(cat ${metSettingsDir}/geosit/advection_met/geosit.preprocessed_1hr_c180_mass_flux.txt)\n" elif [[ ${adv_flux_src} == "3hr_wind" ]]; then RUNDIR_VARS+="$(cat ${metSettingsDir}/geosit/advection_met/geosit.preprocessed_3hr_c180_wind.txt)\n" fi RUNDIR_VARS+="$(cat ${metSettingsDir}/geosit/geosit.nonadv_preprocessed_c180.txt)\n" else # Using raw GEOS-IT data downloaded from GMAO if [[ ${use_discover} = "y" ]]; then if [[ ${met_file_type} = "raw_ll" ]]; then RUNDIR_VARS+="$(cat ${metSettingsDir}/geosit/discover/geosit.raw_0.5x0.625.txt)\n" else if [[ ${adv_flux_src} = "1hr_mass_flux" ]]; then RUNDIR_VARS+="$(cat ${metSettingsDir}/geosit/discover/geosit.raw_1hr_c180_mass_flux.txt)\n" elif [[ ${adv_flux_src} = "3hr_wind" ]]; then RUNDIR_VARS+="$(cat ${metSettingsDir}/geosit/discover/geosit.raw_3hr_c180_wind.txt)\n" fi RUNDIR_VARS+="$(cat ${metSettingsDir}/geosit/discover/geosit.raw_c180.txt)\n" fi else # Not using discover if [[ ${met_file_type} = "raw_ll" ]]; then RUNDIR_VARS+="$(cat ${metSettingsDir}/geosit/geosit.raw_0.5x0.625.txt)\n" else if [[ ${adv_flux_src} = "1hr_mass_flux" ]]; then RUNDIR_VARS+="$(cat ${metSettingsDir}/geosit/advection_met/geosit.raw_1hr_c180_mass_flux.txt)\n" elif [[ ${adv_flux_src} = "3hr_wind" ]]; then RUNDIR_VARS+="$(cat ${metSettingsDir}/geosit/advection_met/geosit.raw_3hr_c180_wind.txt)\n" fi RUNDIR_VARS+="$(cat ${metSettingsDir}/geosit/geosit.raw_c180.txt)\n" fi fi fi # end GEOS-IT else valid_met=0 printf "Invalid meteorology option. Try again.\n" fi done #----------------------------------------------------------------- # Ask user to define path where directory will be created #----------------------------------------------------------------- printf "${thinline}Enter path where the run directory will be created:${thinline}" valid_path=0 while [ "$valid_path" -eq 0 ]; do read -e -p "${USER_PROMPT}" rundir_path # Test for quitting if [[ "x${rundir_path}" == "xq" ]]; then printf "\nExiting.\n" exit 1 fi # Replace ~ with the user's home directory # NOTE: This is a safe algorithm. if [[ "${rundir_path}" =~ '~' ]]; then rundir_path="${rundir_path/#\~/$HOME}" echo "Expanding to: ${rundir_path}" fi # If this is just a new directory within an existing one, # give the user the option to proceed if [[ ! -d ${rundir_path} ]]; then if [[ -d $(dirname ${rundir_path} ) ]]; then printf "\nWarning: ${rundir_path} does not exist,\nbut the parent directory does.\nWould you like to make this directory? (y/n/q)\n" read -p "${USER_PROMPT}" mk_rundir if [[ "x${mk_rundir}" == "xy" ]]; then mkdir $rundir_path elif [[ "x${mk_rundir}" == "xq" ]]; then printf "\nExiting.\n" exit 1 fi fi fi # Ask user to supply a new path again if [[ ! -d ${rundir_path} ]]; then printf "\nERROR: ${rundir_path} does not exist. Enter a new path or hit q to quit.\n" else valid_path=1 fi done #----------------------------------------------------------------- # Ask user to define run directory name if not passed as argument #----------------------------------------------------------------- if [ -z "$1" ]; then printf "${thinline}Enter run directory name, or press return to use default:\n\n" printf "NOTE: This will be a subfolder of the path you entered above.${thinline}" read -e -p "${USER_PROMPT}" rundir_name if [[ -z "${rundir_name}" ]]; then rundir_name=gchp_${met}_${sim_name} if [[ "${sim_extra_option}" != "none" ]]; then rundir_name=${rundir_name}_${sim_extra_option} fi if [[ "x${met_desc}" != "x" ]]; then rundir_name=${rundir_name}_${met_desc} fi if [[ "x${adv_flux_src}" != "x" ]]; then rundir_name=${rundir_name}_using_${adv_flux_src} fi printf " -- Using default directory name ${rundir_name}\n" fi else rundir_name=$1 fi #----------------------------------------------------------------- # Ask user for a new run directory name if specified one exists #----------------------------------------------------------------- rundir=${rundir_path}/${rundir_name} valid_rundir=0 while [ "${valid_rundir}" -eq 0 ]; do if [[ -d ${rundir} ]]; then printf "\nWARNING: ${rundir} already exists.\n" printf "Enter a different run directory name, or q to quit:\n" read -e -p "${USER_PROMPT}" new_rundir if [[ ${new_rundir} = "q" ]]; then printf "Exiting.\n" exit 1 else rundir=${rundir_path}/${new_rundir} fi else valid_rundir=1 fi done #----------------------------------------------------------------- # Create run directory #----------------------------------------------------------------- mkdir -p ${rundir} mkdir -p ${rundir}/Restarts # Copy run directory files and subdirectories cp ${gcdir}/run/shared/cleanRunDir.sh ${rundir} cp ./archiveRun.sh ${rundir} cp ./logging.yml ${rundir} cp ./README.md ${rundir} cp ./setEnvironmentLink.sh ${rundir} cp ./setRestartLink.sh ${rundir} cp ./checkRunSettings.sh ${rundir} cp ./gitignore ${rundir}/.gitignore # Only copy extdata.yaml used in ExtData2G if using Transport Tracers # (extdata.yaml not yet available for other simulations) if [[ "x${sim_name}" == "xTransportTracers" ]]; then cp ./ExtData2G.yaml.templates/extdata.yaml.${sim_name} ${rundir}/extdata.yaml fi # Copy file to auto-update common settings cp ./setCommonRunSettings.sh.template ${rundir}/setCommonRunSettings.sh # Copy metrics.py file to computing global OH if [[ "x${sim_name}" == "xfullchem" || "x${sim_name}" == "xcarbon" ]]; then cp -r ${gcdir}/run/shared/metrics.py ${rundir} chmod 744 ${rundir}/metrics.py fi # Copy the KPP standalone interface config file to ther rundir (fullchem only) if [[ "x${sim_name}" == "xfullchem" ]]; then cp -r ${gcdir}/run/shared/kpp_standalone_interface.yml ${rundir} chmod 644 ${rundir}/kpp_standalone_interface.yml fi # Set permissions chmod 744 ${rundir}/cleanRunDir.sh chmod 744 ${rundir}/archiveRun.sh chmod 744 ${rundir}/setEnvironmentLink.sh chmod 744 ${rundir}/setRestartLink.sh chmod 744 ${rundir}/setCommonRunSettings.sh chmod 744 ${rundir}/checkRunSettings.sh # Copy species database; append APM or TOMAS species if needed # Also copy APM input files to the run directory cp -r ${gcdir}/run/shared/species_database.yml ${rundir} if [[ ${sim_extra_option} =~ "TOMAS" ]]; then cat ${gcdir}/run/shared/species_database_tomas.yml >> ${rundir}/species_database.yml elif [[ ${sim_extra_option} =~ "APM" ]]; then cat ${gcdir}/run/shared/species_database_apm.yml >> ${rundir}/species_database.yml cp ${gcdir}/run/shared/apm_tmp.dat ${rundir}/apm_tmp.dat cp ${gcdir}/run/shared/input.apm ${rundir}/input.apm fi # Create symbolic link to code directory ln -s ${wrapperdir} ${rundir}/CodeDir ln -s ${wrapperdir}/run/runScriptSamples ${rundir}/runScriptSamples #-------------------------------------------------------------------- # Link to initial restart files, set start in cap_restart #-------------------------------------------------------------------- restarts=${GC_DATA_ROOT}/GEOSCHEM_RESTARTS if [[ "x${sim_name}" == "xfullchem" ]]; then if [[ ${sim_extra_option} =~ "TOMAS" ]]; then start_date='20190701' restart_dir='v2024-01' restart_name="${sim_extra_option}" else start_date='20190701' restart_dir='GC_14.7.0' restart_name="${sim_name}" fi elif [[ "x${sim_name}" == "xtagO3" ]]; then # NOTE: we use the fullchem restart file for tagO3 start_date='20190701' restart_dir='GC_14.7.0' restart_name="fullchem" elif [[ "x${sim_name}" == "xTransportTracers" ]]; then start_date='20190101' restart_dir='GC_14.7.0' restart_name="${sim_name}" elif [[ ${sim_name} = "carbon" ]]; then start_date='20190101' restart_dir='GC_14.7.0' restart_name="${sim_name}" fi for N in 24 30 48 90 180 do # Do not include c24 and c48 if using GEOS-IT mass fluxes. MAPL cannot regrid # C180 mass fluxes to those grid resolutions. if [[ "${met}" == "geosit" && "${adv_flux_src}" == "mass_flux" ]]; then if [[ "$N" == "24" || "$N" == "48" ]]; then continue fi fi old_prefix="GEOSChem.Restart.${restart_name}" new_prefix="GEOSChem.Restart" echo "${start_date} 000000" > ${rundir}/cap_restart initial_rst="${restarts}/${restart_dir}/${old_prefix}.${start_date}_0000z.c${N}.nc4" linkname="${rundir}/Restarts/${new_prefix}.${start_date}_0000z.c${N}.nc4" ln -s ${initial_rst} ${linkname} done #-------------------------------------------------------------------- # Navigate to run directory and set up input files #-------------------------------------------------------------------- cd ${rundir} RUNDIR_VARS+="RUNDIR_SIM_DUR_YYYYMMDD='00000100'\n" RUNDIR_VARS+="RUNDIR_SIM_DUR_HHmmSS='000000'\n" # Use monthly diagnostics by default RUNDIR_VARS+="RUNDIR_HIST_TIME_AVG_DUR='010000'\n" RUNDIR_VARS+="RUNDIR_HIST_TIME_AVG_FREQ='010000'\n" RUNDIR_VARS+="RUNDIR_HIST_INST_DUR='010000'\n" RUNDIR_VARS+="RUNDIR_HIST_INST_FREQ='010000'\n" RUNDIR_VARS+="RUNDIR_HIST_MONTHLY_DIAG='1'\n" # Set default compute resources if [[ "${met}" == "geosit" && "${adv_flux_src}" == "1hr_mass_flux" ]]; then RUNDIR_VARS+="RUNDIR_NUM_CORES='24'\n" RUNDIR_VARS+="RUNDIR_NUM_NODES='1'\n" RUNDIR_VARS+="RUNDIR_CORES_PER_NODE='24'\n" else RUNDIR_VARS+="RUNDIR_NUM_CORES='96'\n" RUNDIR_VARS+="RUNDIR_NUM_NODES='2'\n" RUNDIR_VARS+="RUNDIR_CORES_PER_NODE='48'\n" fi # Set default grid resolution if [[ "${met}" == "geosit" && "${adv_flux_src}" == "1hr_mass_flux" ]]; then RUNDIR_VARS+="RUNDIR_CS_RES='30'\n" else RUNDIR_VARS+="RUNDIR_CS_RES='24'\n" fi # Assign appropriate file paths and settings in HEMCO_Config.rc if [[ "${sim_extra_option}" == "benchmark" ]]; then RUNDIR_VARS+="RUNDIR_DUSTL23M_EXT='on '\n" RUNDIR_VARS+="RUNDIR_MEGAN_EXT='on '\n" RUNDIR_VARS+="RUNDIR_SEASALT_EXT='on '\n" RUNDIR_VARS+="RUNDIR_SOILNOX_EXT='on '\n" RUNDIR_VARS+="RUNDIR_OFFLINE_DUST='false'\n" RUNDIR_VARS+="RUNDIR_OFFLINE_BIOVOC='false'\n" RUNDIR_VARS+="RUNDIR_OFFLINE_SEASALT='false'\n" RUNDIR_VARS+="RUNDIR_OFFLINE_SOILNOX='false'\n" RUNDIR_VARS+="RUNDIR_TOMAS_SEASALT='off'\n" RUNDIR_VARS+="RUNDIR_TOMAS_DUSTDEAD='off'\n" else if [[ "${sim_extra_option}" == "marinePOA" ]]; then RUNDIR_VARS+="RUNDIR_SEASALT_EXT='on '\n" RUNDIR_VARS+="RUNDIR_OFFLINE_SEASALT='false'\n" RUNDIR_VARS+="RUNDIR_TOMAS_SEASALT='off'\n" else RUNDIR_VARS+="RUNDIR_SEASALT_EXT='off'\n" RUNDIR_VARS+="RUNDIR_OFFLINE_SEASALT='true '\n" if [[ ${sim_extra_option} =~ "TOMAS" ]]; then RUNDIR_VARS+="RUNDIR_TOMAS_SEASALT='on '\n" else RUNDIR_VARS+="RUNDIR_TOMAS_SEASALT='off'\n" fi fi if [[ ${sim_extra_option} =~ "TOMAS" ]]; then RUNDIR_VARS+="RUNDIR_TOMAS_DUSTDEAD='on '\n" else RUNDIR_VARS+="RUNDIR_TOMAS_DUSTDEAD='off'\n" fi RUNDIR_VARS+="RUNDIR_MEGAN_EXT='off'\n" RUNDIR_VARS+="RUNDIR_SOILNOX_EXT='off'\n" RUNDIR_VARS+="RUNDIR_DUSTL23M_EXT='off'\n" RUNDIR_VARS+="RUNDIR_OFFLINE_BIOVOC='true '\n" RUNDIR_VARS+="RUNDIR_OFFLINE_DUST='true '\n" RUNDIR_VARS+="RUNDIR_OFFLINE_SOILNOX='true '\n" fi RUNDIR_VARS+="$(cat ${metSettingsDir}/gmao_hemco.txt)\n" if [[ "x${sim_extra_option}" == "xbenchmark" || "x${sim_extra_option}" == "xaciduptake" || "x${sim_extra_option}" == "xmarinePOA" || "x${sim_extra_option}" == "xcomplexSOA_SVPOA" || "x${sim_extra_option}" == "xAPM" || "x${sim_name}" == "xcarbon" || "x${sim_extra_option}" == "xTOMAS15" || "x${sim_extra_option}" == "xTOMAS40" || "x${sim_name}" == "xPOPs" || "x${sim_name}" == "xTransportTracers" || "x${sim_name}" == "xtagO3" ]]; then RUNDIR_VARS+="RUNDIR_INITIAL_RESTART_SPECIES_REQUIRED='0'\n" else RUNDIR_VARS+="RUNDIR_INITIAL_RESTART_SPECIES_REQUIRED='1'\n" fi #-------------------------------------------------------------------- # Replace settings in config files with RUNDIR variables #-------------------------------------------------------------------- # Define a subdirectory for rundir configuration files rundir_config_dirname=CreateRunDirLogs rundir_config=${rundir}/${rundir_config_dirname} mkdir -p ${rundir_config} # Save RUNDIR variables to a file in the rundirConfig folder rundir_config_logname=rundir_vars.txt rundir_config_log=${rundir}/${rundir_config_dirname}/${rundir_config_logname} echo -e "$RUNDIR_VARS" > ${rundir_config_log} # Initialize run directory ${srcrundir}/init_rd.sh ${rundir_config_log} # Call function to setup configuration files with settings common between # GEOS-Chem Classic and GCHP. This script mainly now adds species to # geoschem_config.yml and modifies diagnostic output based on simulation type. if [[ "x${sim_name}" = "xfullchem" ]]; then set_common_settings "${sim_extra_option}" "GCHP" fi # If necessary, edit config files for a carbon single species simulation if [[ "x${sim_name}" == "xcarbon" ]]; then if [[ "x${sim_extra_option}" != "xnone" ]]; then singleCarbonSpecies "${sim_extra_option}" "${rundir}" fi fi # Call setCommonRunSettings.sh so that all config files are consistent with its # default settings. Suppress informational prints. chmod +x setCommonRunSettings.sh ./setCommonRunSettings.sh --silent #-------------------------------------------------------------------- # Navigate back to source code directory #-------------------------------------------------------------------- cd ${srcrundir} #---------------------------------------------------------------------- # Archive repository version in run directory file rundir.version #---------------------------------------------------------------------- version_log=${rundir}/${rundir_config_dirname}/rundir.version echo "This run directory was created with ${srcrundir}/createRunDir.sh." > ${version_log} echo " " >> ${version_log} echo "GEOS-Chem repository version information:" >> ${version_log} cd ${gcdir} remote_url=$(git config --get remote.origin.url) code_branch=$(git rev-parse --abbrev-ref HEAD) last_commit=$(git log -n 1 --pretty=format:"%s") commit_date=$(git log -n 1 --pretty=format:"%cd") commit_user=$(git log -n 1 --pretty=format:"%cn") commit_hash=$(git log -n 1 --pretty=format:"%h") cd ${srcrundir} printf "\n Remote URL: ${remote_url}" >> ${version_log} printf "\n Branch: ${code_branch}" >> ${version_log} printf "\n Commit: ${last_commit}" >> ${version_log} printf "\n Date: ${commit_date}" >> ${version_log} printf "\n User: ${commit_user}" >> ${version_log} printf "\n Hash: ${commit_hash}" >> ${version_log} #----------------------------------------------------------------- # Ask user whether to track run directory changes with git #----------------------------------------------------------------- printf "${thinline}Do you want to track run directory changes with git? (y/n)${thinline}" valid_response=0 while [ "$valid_response" -eq 0 ]; do read -p "${USER_PROMPT}" enable_git if [[ ${enable_git} = "y" ]]; then cd ${rundir} printf "\n\nChanges to the following run directory files are tracked by git:\n\n" >> ${version_log} printf "\n" git init git add *.rc *.sh *.yml input.nml if [[ "x${sim_name}" == "xfullchem" || "x${sim_name}" == "xcarbon" ]]; then git add *.py fi printf " " >> ${version_log} git commit -m "Initial run directory" >> ${version_log} cd ${srcrundir} valid_response=1 elif [[ ${enable_git} = "n" ]]; then valid_response=1 else printf "Input not recognized. Try again.\n" fi done printf "\n${thinline}Created ${rundir}\n" printf "\n -- See ${rundir_config_dirname}/${rundir_config_logname} for summary of default run directory settings" printf "\n -- This run directory is set up for simulation start date $start_date" printf "\n -- Restart files for this date at different grid resolutions are in the" printf "\n Restarts subdirectory" printf "\n -- To update start time, edit configuration file cap_restart and" printf "\n add or symlink file Restarts/GEOSChem.Restart.YYYYMMDD_HHmmz.cN.nc" printf "\n where YYYYMMDD_HHmm is start date and time" printf "\n -- Edit other commonly changed run settings in setCommonRunSettings.sh" printf "\n -- See build/README for compilation instructions" printf "\n -- Example run scripts are in the runScriptSamples subdirectory" printf "\n -- For more information visit the GCHP user guide at" printf "\n https://readthedocs.org/projects/gchp/\n\n" if [[ "x${sim_name}" == "xTransportTracers" ]]; then printf "\n\n*** NOTE: ExtData2G is now available as beta! ***\n" printf " - New configuration file extdata.yaml is located in your run directory\n" printf " - It is configured for use with MERRA2 meteorology at grid resolutions <= C180\n" printf " - Set Use_ExtData2G to true in setCommonRunSetting.sh to enable\n" printf " - Edit extdata.yaml for use with other meteorology sources or mass fluxes\n" printf " - Edit extdata.yaml to match changes to ExtData.rc if using grid resolution > C180\n" printf " - See ExtData2G User Guide at https://github.com/GEOS-ESM/MAPL/wiki/ExtData-Next-Generation---User-Guide#451-mask-functions\n" fi #----------------------------------------------------------------- # Ask user whether to build the KPP-standalone box model #----------------------------------------------------------------- enable_kppsa="" if [[ "x${sim_name}" == "xfullchem" ]]; then printf "${thinline}Do you want to build the KPP-Standalone Box Model? (y/n)${thinline}" valid_response=0 while [ "$valid_response" -eq 0 ]; do read -p "${USER_PROMPT}" enable_kppsa if [[ "x${enable_kppsa}" == "xy" ]]; then cp -r ${gcdir}/run/shared/kpp_standalone_interface.yml ${rundir} chmod 644 ${rundir}/kpp_standalone_interface.yml valid_response=1 elif [[ "x${enable_kppsa}" = "xn" ]]; then valid_response=1 else printf "Input not recognized. Try again.\n" fi done fi #--------------------------------------------------------------------------- # Add reminders to compile with CMake options for simulations that need them #--------------------------------------------------------------------------- hdr="\n>>>> REMINDER: You must compile with options:" ftr="<<<<\n" EXTRA_CMAKE_OPTIONS="" [[ "x${sim_name}" == "xcarbon" ]] && EXTRA_CMAKE_OPTIONS="-DMECH=carbon " [[ "x${sim_name}" == "xHg" ]] && EXTRA_CMAKE_OPTIONS="-DMECH=Hg -DFASTJX=y " if [[ "x${sim_name}" == "xfullchem" ]]; then [[ "x${sim_extra_option}" == "xAPM" ]] && EXTRA_CMAKE_OPTIONS="-DAPM=y " [[ "x${sim_extra_option}" == "xRRTMG" ]] && EXTRA_CMAKE_OPTIONS="-DRRTMG=y " [[ "x${sim_extra_option}" == "xTOMAS15" ]] && EXTRA_CMAKE_OPTIONS="-DTOMAS=y -DTOMAS_BINS=15 " [[ "x${sim_extra_option}" == "xTOMAS40" ]] && EXTRA_CMAKE_OPTIONS="-DTOMAS=y -DTOMAS_BINS=40 " fi [[ "x${enable_kppsa}" == "xy" ]] && EXTRA_CMAKE_OPTIONS+="-DKPPSA=y" # Add to RUNDIR_VARS RUNDIR_VARS+="EXTRA_CMAKE_OPTIONS=${EXTRA_CMAKE_OPTIONS}" # Print a reminder to compile with extra CMake options, if necessary [[ "x${EXTRA_CMAKE_OPTIONS}" != "x" ]] && printf "${hdr} ${EXTRA_CMAKE_OPTIONS} ${ftr}" #--------------------------------------------------------------------------- # Create build directory README file #--------------------------------------------------------------------------- mkdir -p "${rundir}/build" msg="To build GEOS-Chem, type:\n\n" msg+="$ cmake ../CodeDir\n" msg+="$ cmake . -DRUNDIR=.. ${EXTRA_CMAKE_OPTIONS}\n" msg+="$ make -j\n" msg+="$ make install\n" printf "${msg}" > ${rundir}/build/README unset msg #----------------------------------------------------------------- # Add the version info to the top of the rundir configuration log #----------------------------------------------------------------- # Add a caveat that these rundir settings only go with this commit printf "\n\n IMPORTANT: ONLY USE THESE RUNDIR SETTINGS WITH THIS COMMIT!\n" >> ${version_log} # Add a "# " characters to the front of each line so we can use # it as a comment heading for ${rundir_config_logname} sed 's/^/# /' ${version_log} > tmp.txt mv tmp.txt ${version_log} # Add the version log to the top of the rundir config log cat ${version_log} ${rundir_config_log} > tmp.txt mv tmp.txt ${rundir_config_log} # Remove the version log rm -rf ${version_log} # Save the updated rundir_vars file to the git repo if [[ "x${enable_git}" == "xy" ]]; then if [[ -f ${rundir_config_log} ]]; then cd ${rundir} git add ${rundir_config_log} git commit -m "Update header of ${rundir_config_dirname}/${rundir_config_lognbame}" > /dev/null cd ${srcrundir} fi fi #----------------------------------------------------------------- # Create and populate warnings file #----------------------------------------------------------------- if [[ $met == "geosfp" ]]; then echo -e ${fp_msg} > ${rundir}/warnings.txt fi exit 0 ================================================ FILE: run/GCHP/geoschem_config.yml.templates/geoschem_config.yml.TransportTracers ================================================ --- ### geoschem_config.yml: GEOS-Chem Runtime configuration options. ### Customized for GCHP simulations using the TransportTracers mechanism. ### ### NOTE: Add quotes around nitrogen oxide ('NO'), because YAML ### parsers will confuse this with a negative "no" value. #============================================================================ # Simulation settings #============================================================================ simulation: name: ${RUNDIR_SIM_NAME} met_field: ${RUNDIR_MET} chem_inputs_dir: ./ChemDir/ species_database_file: ./species_database.yml species_metadata_output_file: OutputDir/geoschem_species_metadata.yml verbose: activate: false on_cores: root # Allowed values: root all #============================================================================ # Timesteps settings # # These timesteps are determined in setCommonRunSettings.sh since they are # resolution-dependent for GCHP #============================================================================ timesteps: transport_timestep_in_s: ${RUNDIR_TRANSPORT_TS} chemistry_timestep_in_s: ${RUNDIR_CHEMISTRY_TS} #============================================================================ # Settings for GEOS-Chem operations #============================================================================ operations: chemistry: activate: true convection: activate: true dry_deposition: activate: true pbl_mixing: activate: true use_non_local_pbl: ${RUNDIR_USE_NLPBL} transport: activate: true transported_species: - Rn222 - Pb210 - Pb210s - Be7 - Be7s - Be10 - Be10s - aoa - aoa_bl - aoa_nh - CH3I - CO_25 - CO_50 - e90 - e90_n - e90_s - nh_5 - nh_50 - PassiveTracer - SF6 - st80_25 wet_deposition: activate: true ================================================ FILE: run/GCHP/geoschem_config.yml.templates/geoschem_config.yml.carbon ================================================ --- ### geoschem_config.yml: GEOS-Chem Runtime configuration options. ### Customized for simulations using the KPP carbon mechanism. #============================================================================ # Simulation settings #============================================================================ simulation: name: ${RUNDIR_SIM_NAME} met_field: ${RUNDIR_MET} chem_inputs_dir: ./ChemDir/ species_database_file: ./species_database.yml species_metadata_output_file: OutputDir/geoschem_species_metadata.yml verbose: activate: false on_cores: root # Allowed values: root all #============================================================================ # Settings for GEOS-Chem operations #============================================================================ operations: chemistry: activate: true convection: activate: true pbl_mixing: activate: true use_non_local_pbl: ${RUNDIR_USE_NLPBL} transport: activate: true transported_species: - CH4 - CO - CO2 - OCS #============================================================================ # Options for CH4 #============================================================================ CH4_options: use_observational_operators: AIRS: false GOSAT: false TCCON: false analytical_inversion: activate: false state_vector_element_number: 0 emission_perturbation_factor: 1.0 OH_perturbation_factor: 1.0 perturb_CH4_boundary_conditions: false CH4_boundary_condition_ppb_increase_NSEW: [0.0, 0.0, 0.0, 0.0] use_emission_scale_factor: false use_OH_scale_factors: false #============================================================================ # Options for CO #============================================================================ CO_options: use_fullchem_PCO_from_CH4: true use_fullchem_PCO_from_NMVOC: true #============================================================================ # Options for CO2 #============================================================================ CO2_options: sources: 3D_chemical_oxidation_source: true tagged_species: tag_bio_and_ocean_CO2: false tag_land_fossil_fuel_CO2: false #============================================================================ # Settings for diagnostics (other than HISTORY and HEMCO) #============================================================================ extra_diagnostics: obspack: activate: false quiet_logfile_output: false input_file: ./obspack_co2_1_OCO2MIP_2018-11-28.YYYYMMDD.nc output_file: ./OutputDir/GEOSChem.ObsPack.YYYYMMDD_hhmmz.nc4 output_species: - CH4 - CO - CO2 planeflight: activate: false flight_track_file: Planeflight.dat.YYYYMMDD output_file: plane.log.YYYYMMDD ================================================ FILE: run/GCHP/geoschem_config.yml.templates/geoschem_config.yml.fullchem ================================================ --- ### geoschem_config.yml: GEOS-Chem Runtime configuration options. ### Customized for GCHP simulations using the KPP "fullchem" mechanism. ### ### NOTE: Add quotes around nitrogen oxide ('NO'), because YAML ### parsers will confuse this with a negative "no" value. #============================================================================ # Simulation settings #============================================================================ simulation: name: ${RUNDIR_SIM_NAME} met_field: ${RUNDIR_MET} chem_inputs_dir: ./ChemDir/ species_database_file: ./species_database.yml species_metadata_output_file: OutputDir/geoschem_species_metadata.yml verbose: activate: false on_cores: root # Allowed values: root all #============================================================================ # Timesteps settings # # These timesteps are determined in setCommonRunSettings.sh since they are # resolution-dependent for GCHP #============================================================================ timesteps: transport_timestep_in_s: ${RUNDIR_TRANSPORT_TS} chemistry_timestep_in_s: ${RUNDIR_CHEMISTRY_TS} radiation_timestep_in_s: 10800 #============================================================================ # Settings for GEOS-Chem operations #============================================================================ operations: chemistry: activate: true linear_chemistry_aloft: activate: true use_linoz_for_O3: true active_strat_H2O: activate: true use_static_bnd_cond: true gamma_HO2: 0.2 autoreduce_solver: activate: false use_target_threshold: activate: true oh_tuning_factor: 0.00005 no2_tuning_factor: 0.0001 use_absolute_threshold: scale_by_pressure: true absolute_threshold: 100.0 keep_halogens_active: false append_in_internal_timestep: false convection: activate: true dry_deposition: activate: true CO2_effect: activate: false CO2_level: 600.0 reference_CO2_level: 380.0 diag_alt_above_sfc_in_m: 10 pbl_mixing: activate: true use_non_local_pbl: ${RUNDIR_USE_NLPBL} photolysis: activate: true cloud-j: cloudj_input_dir: ${RUNDIR_DATA_ROOT}/CHEM_INPUTS/CLOUD_J/v2025-01/ verbose: false num_levs_with_cloud: ${RUNDIR_PHOT_CLD_NLEV} cloud_scheme_flag: 3 opt_depth_increase_factor: 1.050 min_top_inserted_cloud_OD: 0.005 cloud_overlap_correlation: 0.33 num_cloud_overlap_blocks: 6 sphere_correction: 1 num_wavelength_bins: 18 use_H2O_UV_absorption: true overhead_O3: use_online_O3_from_model: ${RUNDIR_USE_ONLINE_O3} use_column_O3_from_met: true use_TOMS_SBUV_O3: false photolyze_nitrate_aerosol: activate: true NITs_Jscale: 100.0 NIT_Jscale: 100.0 percent_channel_A_HONO: 66.667 percent_channel_B_NO2: 33.333 rrtmg_rad_transfer_model: activate: ${RUNDIR_USE_RRTMG} aod_wavelengths_in_nm: - 550 longwave_fluxes: ${RUNDIR_RRTMG_OPTS} shortwave_fluxes: ${RUNDIR_RRTMG_OPTS} clear_sky_flux: ${RUNDIR_RRTMG_OPTS} all_sky_flux: ${RUNDIR_RRTMG_OPTS} fixed_dyn_heating: false seasonal_fdh: false fdh_to_toa: false read_dyn_heating: false co2_ppmv: 390.0 transport: activate: true transported_species: - ACET - ACTA - ACR - AERI - ALD2 - ALK4 - ALK4N2 - ALK4P - ALK6 - AONITA - APAN - APINP - APINN - AROMCHO - AROMP4 - AROMP5 - AROMPN - ATOOH - BALD - BCPI - BCPO - BENZ - BENZP - BPINO - BPINN - BPINP - BPINOOH - BPINON - Br - Br2 - BrCl - BrNO2 - BrNO3 - BrO - BrSALA - BrSALC - BUTDI - BUTN - BZCO3H - BZPAN - C96O2H - C96N - C2H2 - C2H4 - C2H6 - C3H8 - C4H6 - CCl4 - CFC11 - CFC113 - CFC114 - CFC115 - CFC12 - CH2Br2 - CH2Cl2 - CH2I2 - CH2IBr - CH2ICl - CH2O - CH3Br - CH3CCl3 - CH3Cl - CH3I - CH4 - CHBr3 - CHCl3 - Cl - Cl2 - Cl2O2 - ClNO2 - ClNO3 - ClO - ClOO - CLOCK - CO - CSL - DMS - DSTbin1 - DSTbin2 - DSTbin3 - DSTbin4 - DSTbin5 - DSTbin6 - DSTbin7 - EBZ - EOH - ETHLN - ETHN - ETHP - ETNO3 - ETP - FURA - GLYC - GLYX - HACTA - H1211 - H1301 - H2402 - H2O - H2O2 - HAC - HBr - HC5A - HCFC123 - HCFC141b - HCFC142b - HCFC22 - HCl - HCOOH - HI - HMHP - HMML - HMS - HNO2 - HNO3 - HNO4 - HOBr - HOCl - HOI - HONIT - HPALD1 - HPALD2 - HPALD3 - HPALD4 - HPETHNL - I - I2 - I2O2 - I2O3 - I2O4 - IBr - ICHE - ICl - ICN - ICPDH - IDC - IDCHP - IDHDP - IDHPE - IDN - IEPOXA - IEPOXB - IEPOXD - IHN1 - IHN2 - IHN3 - IHN4 - INDIOL - INO - INPB - INPD - IO - IONITA - IONO - IONO2 - IPRNO3 - ISALA - ISALC - ISOP - ITCN - ITHN - LIMAL - LIMKB - LIMKET - LIMN - LIMNB - LIMO - LIMO2H - LIMO3H - LIMPAN - LVOC - LVOCOA - MACR - MACR1OOH - MAP - MCRDH - MCRENOL - MCRHN - MCRHNB - MCRHP - MCT - MEK - MEKPN - MENO3 - MGLY - MOH - MONITA - MONITS - MONITU - MP - MPAN - MPN - MSA - MTPA - MTPO - MVK - MVKDH - MVKHC - MVKHCB - MVKHP - MVKN - MVKPC - MYRCO - N2O - N2O5 - NH3 - NH4 - NIT - NITs - 'NO' - NO2 - NO3 - NPHEN - NPRNO3 - O3 - OClO - OCPI - OCPO - OCS - OIO - PAN - pFe - PHAN - PHEN - PIN - PINAL - PINONIC - PINO3H - PINPAN - PIP - PP - PPN - PROPNN - PRPE - PRPN - PYAC - R4N2 - R4P - R7N2 - R7P - RA3P - RB3P - RCHO - RCOOH - RIPA - RIPB - RIPC - RIPD - RNO3 - RP - SALA - SALAAL - SALACL - SALC - SALCAL - SALCCL - SO2 - SO4 - SO4s - SOAGX - SOAIE - SOAP - SOAS - STYR - TLFUONE - TMB - TOLU - XYLE wet_deposition: activate: true #============================================================================ # Settings for GEOS-Chem aerosols #============================================================================ aerosols: optics: input_dir: ${RUNDIR_DATA_ROOT}/CHEM_INPUTS/Aerosol_Optics/v2025-03/ carbon: activate: true brown_carbon: false enhance_black_carbon_absorption: activate: true hydrophilic: 1.5 hydrophobic: 1.0 complex_SOA: activate: ${RUNDIR_COMPLEX_SOA} semivolatile_POA: ${RUNDIR_SVPOA} dust: activate: true acid_uptake_on_dust: ${RUNDIR_ACID_UPTAKE} sea_salt: activate: true SALA_radius_bin_in_um: [0.01, 0.5] SALC_radius_bin_in_um: [0.5, 8.0] marine_organic_aerosols: ${RUNDIR_MARINE_POA} stratosphere: settle_strat_aerosol: true polar_strat_clouds: activate: true het_chem: true allow_homogeneous_NAT: false NAT_supercooling_req_in_K: 3.0 supersat_factor_req_for_ice_nucl: 1.2 calc_strat_aod: true sulfate: activate: true metal_cat_SO2_oxidation: true ================================================ FILE: run/GCHP/geoschem_config.yml.templates/geoschem_config.yml.tagO3 ================================================ --- ### geoschem_config.yml: GEOS-Chem Runtime configuration options. ### Customized for GCHP simulations using the tagged O3 mechanism. ### ### NOTE: Add quotes around nitrogen oxide ('NO'), because YAML ### parsers will confuse this with a negative "no" value. #============================================================================ # Simulation settings #============================================================================ simulation: name: ${RUNDIR_SIM_NAME} met_field: ${RUNDIR_MET} chem_inputs_dir: ./ChemDir/ species_database_file: ./species_database.yml species_metadata_output_file: OutputDir/geoschem_species_metadata.yml verbose: activate: false on_cores: root # Allowed values: root all #============================================================================ # Settings for GEOS-Chem operations #============================================================================ operations: chemistry: activate: true convection: activate: true dry_deposition: activate: true diag_alt_above_sfc_in_m: 10 pbl_mixing: activate: true use_non_local_pbl: ${RUNDIR_USE_NLPBL} transport: activate: true transported_species: - O3 - O3Strat - O3ut - O3mt - O3row - O3pcbl - O3nabl - O3atbl - O3eubl - O3afbl - O3asbl - O3init - O3usa ================================================ FILE: run/GCHP/gitignore ================================================ OutputDir MetDir ChemDir HcoDir CodeDir rundir.version *~ *# *.nc *.nc4 *.log EGRESS *.rcx cap_restart fort.11 *.bin gchp setEnvironment *.out RunScriptSamples README build ================================================ FILE: run/GCHP/init_rd.sh ================================================ #!/bin/bash DESCRIPTION="""Initialize the current working directory as a run directory (minimal file set). usage: init_rd.sh FILE... FILE...: Files defining variables used to initialize run directory. The rightmost file has the highest precedence. Each FILE is sourced and the loaded variables are used to fill the run directory templates using envsubst. init_rd.sh --rundir-vars Lists all the RUNDIR variables found in the templates. init_rd.sh [-h] [--help] Prints this help message. """ if [[ ( $* == --help ) || ( $* == -h ) || $# -eq 0 ]]; then echo "$DESCRIPTION" exit 0 fi set -e THIS_SCRIPTS_DIRECTORY=$(realpath $(dirname "$0")) if [[ ( $* == --rundir-vars ) ]]; then grep -roh 'RUNDIR_[A-Z_][A-Z_]*' $THIS_SCRIPTS_DIRECTORY | grep -v 'RUNDIR_VARS' | sort | uniq exit 0 fi function get_rundir_vars_list() { sed -n 's#^\s*\([A-Za-z0-9_][A-Za-z0-9_]*\)=.*#\1#p' } # Source given files, and build variable list variables= for envfile in "$@"; do source $envfile variables+="$(cat $envfile | get_rundir_vars_list) " export $variables done variables=$(echo $variables | sort | uniq) envsubst_list="$(printf '${%s} ' $variables)" COPY_LIST=""" ESMF.rc input.nml logging.yml HEMCO_Diagn.rc.templates/HEMCO_Diagn.rc.${RUNDIR_SIM_NAME} """ SUBST_LIST=""" setCommonRunSettings.sh.template ExtData.rc.templates/ExtData.rc.${RUNDIR_SIM_NAME} GCHP.rc.template geoschem_config.yml.templates/geoschem_config.yml.${RUNDIR_SIM_NAME} HEMCO_Config.rc.templates/HEMCO_Config.rc.${RUNDIR_SIM_NAME} HISTORY.rc.templates/HISTORY.rc.${RUNDIR_SIM_NAME} CAP.rc.template """ function filename_with_suffixes_removed() { basename $(basename $1 .${RUNDIR_SIM_NAME}) .template } # Copy files in COPY_LIST to cwd for fpath in $COPY_LIST; do cp $THIS_SCRIPTS_DIRECTORY/$fpath $(filename_with_suffixes_removed $fpath) done # Copy util directory cp -r $THIS_SCRIPTS_DIRECTORY/utils utils # Make OutputDir mkdir -p OutputDir # Copy and make substitutions for each file in SUBST_LIST for fpath in $SUBST_LIST; do envsubst "$envsubst_list" < $THIS_SCRIPTS_DIRECTORY/$fpath > $(filename_with_suffixes_removed $fpath) done # Make links to directories [[ -L ChemDir ]] && unlink ChemDir [[ -L HcoDir ]] && unlink HcoDir [[ -L MetDir ]] && unlink MetDir ln -s ${RUNDIR_DATA_ROOT}/CHEM_INPUTS ChemDir ln -s ${RUNDIR_DATA_ROOT}/HEMCO HcoDir ln -s ${RUNDIR_MET_DIR_RAW} MetDir ================================================ FILE: run/GCHP/input.nml ================================================ &fms_nml print_memory_usage = .false., domains_stack_size = 20000000/ #&fv#_core_nml #do_schmidt = .true., #stretch_fac = 2.0, #target_lat = 37.0, #target_lon = 242.0/ ================================================ FILE: run/GCHP/logging.yml ================================================ schema_version: 1 ############################### locks: mpi: class: MpiLock comm: MPI_COMM_WORLD ############################### formatters: legacy: class: Formatter format: '%(message)a' basic: class: Formatter format: '%(short_name)a15~: %(level_name)a~: %(message)a' mpi: class: MpiFormatter format: '%(mpi_rank)i4.4~: %(name)~: %(level_name)a~: %(message)a' comm: MPI_COMM_WORLD column: class: Formatter format: '(%(i)i3.3,%(j)i3.3): %(level_name)' ############################### handlers: console: class: streamhandler # formatter: legacy formatter: basic unit: OUTPUT_UNIT level: INFO warnings: class: FileHandler filename: warnings_and_errors.log lock: mpi level: WARNING formatter: basic errors: class: StreamHandler formatter: basic unit: ERROR_UNIT level: ERROR mpi_shared: class: FileHandler filename: allPEs.log formatter: mpi comm: MPI_COMM_WORLD lock: mpi rank_keyword: rank level: DEBUG mpi_debug: class: MpiFileHandler formatter: basic filename: debug_%(rank)i3.3~.log comm: MPI_COMM_WORLD rank_prefix: rank level: DEBUG ############################### root: handlers: [warnings,errors,console] level: WARNING root_level: WARNING ############################### loggers: errors: handlers: [errors] level: ERROR CAP: level: WARNING root_level: INFO MAPL: handlers: [mpi_shared] level: WARNING root_level: WARNING MAPL.profiler: handlers: [mpi_shared] propagate: FALSE level: WARNING root_level: INFO CAP.EXTDATA: handlers: [mpi_shared] level: WARNING root_level: WARNING propagate: false GCHPctmEnv: handlers: [mpi_shared] level: WARNING root_level: INFO GCHP: handlers: [mpi_shared] level: WARNING root_level: INFO # Note: When enabling another logger, make sure # indentation matches that of the above # loggers! ================================================ FILE: run/GCHP/runScriptSamples/README ================================================ # Example Run Scripts This folder contains: (1) template file 'gchp.batch_job.sh' to adapt for submitting GCHP batch jobs for various schedulers (PBS, LSF, and SLURM) (2) template file 'gchp.local.sh' to adapt for running GCHP on the command line (3) subdirectory 'operational_examples' containing job scripts and environment files used regularly on specific systems. If you are running GCHP on a system in 'operational_examples' then you can copy and adapt a job script from that folder. If you are running on a different system then you should copy and adapt one of the template files. If you have a working run script on a system with several GCHP users please consider submitting it to the GEOS-Chem Support Team for inclusion in 'operational_examples' in a future version. This will make it easier for users on your system to get started with GCHP. To get started, create a GEOS-Chem GitHub issue at: https://github.com/geoschem/geos-chem/issues/ ================================================ FILE: run/GCHP/runScriptSamples/gchp.batch_job.sh ================================================ #!/bin/bash # Template file to adapt for running a GCHP batch job. Examples are # provided for 3 job schedulers: PBS, LSF, and SLURM. Uncomment the # code for your system and further adapt as needed. ##################################################################### # # SCHEDULER HEADER - 3 examples # # ----------------- # Example 1: PBS # #PBS -S /bin/bash #PBS -l select=2:ncpus=24:mpiprocs=24:model=bro #PBS -l walltime=02:00:00 #PBS -j oe #PBS -W group_list=xXXXX #PBS -m e # # DESCRIPTION Sample GCHP batch job script for Pleiades # SCHEDULER PBS # DATE 2021-02-18 # SIMULATION C90, 2019-01-01 to 2019-01-02 # RESOURCES 2 nodes (Broadwell; model=bro), 24 processes per node # SEE ALSO qsub man pages, http://gchp.rtfd.io/ # # ----------------- # Example 2: LSF # #BSUB -G compute-rvmartin #BSUB -q rvmartin #BSUB -n 24 #BSUB -W 168:00 #BSUB -R "rusage[mem=300GB] span[ptile=36] select[mem < 2TB]" #BSUB -a 'docker(geoschem/gchp:14.3.0)' #BSUB -o lsf-%J.txt # # DESCRIPTION Sample GCHP batch job script for Compute1 (Docker-based environments) # SCHEDULER LSF # DATE 2021-02-19 # SIMULATION C90, 2019-01-01 to 2019-01-02 # RESOURCES 1 nodes, 24 processes per node # SEE ALSO bsub man pages, http://gchp.rtfd.io/ # # ----------------- # Example 3: SLURM # #SBATCH -n 60 #SBATCH -N 2 #SBATCH -t 2:00:00 #SBATCH -p huce_intel,seas_compute,shared #SBATCH --mem=110G #SBATCH --mail-type=ALL # # DESCRIPTION Sample GCHP batch job script for Cannon # SCHEDULER SLURM # DATE 2021-02-19 # SIMULATION C90, 2019-01-01 to 2019-01-02 # RESOURCES 2 nodes, 30 processes per node # SEE ALSO sbatch man pages, http://gchp.rtfd.io/ # ################################################################# # # LOAD LIBRARIES - 2 options # # Option 1: Define environment settings in external file, link to it from # run directory symlink gchp.env, and source it here. # # source gchp.env # # Option 2: Define environment settings directly in this file. Two # examples are below. # # Example 1: PBS on NASA Pleiades # # module purge # module use /nobackup/lbindle/modulefiles # module load gchp-env/2021.06-gnu # # Example 2: LSF on WashU Compute 1 (uses docker containers) # # . /spack/share/spack/setup-env.sh # module load openmpi-4.0.1-gcc-9-sdj47y5 # ################################################################# # # ADDITIONAL PRE-RUN CONFIGURATION # # If a subsequent command fails, treat it as fatal (don't continue) (for debugging) set -e # For remainder of script, echo commands to the job's log file (for debugging) #set -x # Unlimit resources to prevent OS killing GCHP due to resource usage/ # Alternatively you can put this in your environment file. ulimit -c 0 # coredumpsize ulimit -l unlimited # memorylocked ulimit -u 50000 # maxproc ulimit -v unlimited # vmemoryuse ulimit -s unlimited # stacksize ################################################################# # # PRE-RUN COMMANDS # # Print loaded modules module list # Define log name to include simulation start date start_str=$(sed 's/ /_/g' cap_restart) log=gchp.${start_str:0:13}z.log # Update config files, set restart symlink, and do sanity checks source setCommonRunSettings.sh source setRestartLink.sh source checkRunSettings.sh # Turn off exit if command fails to allow script to finish if GCHP exits early set +e ################################################################# # # LAUNCH GCHP - 3 examples # # There are several commands that may work to execute GCHP, # and the provided examples may not be appropriate for your system. # Check with your system administrator or online documentation about # the appropriate way to submit jobs for your scheduler and MPI. # # Example 1: PBS # # mpiexec -n 48 ./gchp > ${log} # # Example 2: LSF # #/bin/bash # # . /etc/bashrc # # mpiexec -n 24 ./gchp > ${log} # # Example 3: SLURM # # srun -n 48 -N 2 -m plane=24 --mpi=pmix ./gchp > ${log} # ################################################################# # # POST-RUN COMMANDS # # Rename mid-run checkpoint files, if any. Discard file if time corresponds # to run start time since duplicate with initial restart file. chkpnts=$(ls Restarts) for chkpnt in ${chkpnts} do if [[ "$chkpnt" == *"gcchem_internal_checkpoint."* ]]; then chkpnt_time=${chkpnt:27:13} if [[ "${chkpnt_time}" = "${start_str:0:13}" ]]; then rm ./Restarts/${chkpnt} else new_chkpnt=./Restarts/GEOSChem.Restart.${chkpnt_time}z.c${N}.nc4 mv ./Restarts/${chkpnt} ${new_chkpnt} fi fi done # If new start time in cap_restart is okay, rename restart file # and update restart symlink new_start_str=$(sed 's/ /_/g' cap_restart) if [[ "${new_start_str}" = "${start_str}" || "${new_start_str}" = "" ]]; then echo "ERROR: GCHP failed to run to completion. Check the log file for more information." rm -f Restarts/gcchem_internal_checkpoint exit 1 else N=$(grep "CS_RES=" setCommonRunSettings.sh | cut -c 8- | xargs ) mv Restarts/gcchem_internal_checkpoint Restarts/GEOSChem.Restart.${new_start_str:0:13}z.c${N}.nc4 source setRestartLink.sh fi ================================================ FILE: run/GCHP/runScriptSamples/gchp.local.run ================================================ #!/bin/bash # GCHP run script template for running interactively from the command line. # Consecutive executions of this script will do consecutive GCHP simulations. # Log information is sent to both terminal and log file. Set cap_restart in # run directory to specify start date. Set grid resolution, number of cores, # and other common settings in setCommonRunSettings.sh prior to running. # Stop run if errors encountered set -eo pipefail # Define log name to include simulation start date start_str=$(sed 's/ /_/g' cap_restart) log=gchp.${start_str:0:13}z.log # Load environment if [ ! -L gchp.env ] || [ ! -e gchp.env ]; then echo "ERROR: gchp.env symbolic link not valid. Set using setEnvironment.sh." exit 1 else source gchp.env > ${log} fi # Update config files, set restart symlink, and do sanity checks source setCommonRunSettings.sh --verbose 2>&1 | tee ${log} source setRestartLink.sh 2>&1 | tee ${log} source checkRunSettings.sh 2>&1 | tee ${log} # Run GCHP with # processors specified in config file setCommonRunSettings.sh nCores=$( grep -oP 'TOTAL_CORES=\s*\K\d+' setCommonRunSettings.sh ) # Turn off exit if command fails to allow script to finish if GCHP exits early set +e #-------------------------------------------------- # Edit this line to run GCHP on your system #-------------------------------------------------- time mpirun -np ${nCores} ./gchp 2>&1 | tee -a ${log} # Rename mid-run checkpoint files, if any. Discard file if time corresponds # to run start time since duplicate with initial restart file. chkpnts=$(ls Restarts) for chkpnt in ${chkpnts} do if [[ "$chkpnt" == *"gcchem_internal_checkpoint."* ]]; then chkpnt_time=${chkpnt:27:13} if [[ "${chkpnt_time}" = "${start_str:0:13}" ]]; then rm ./Restarts/${chkpnt} else new_chkpnt=./Restarts/GEOSChem.Restart.${chkpnt_time}z.c${N}.nc4 mv ./Restarts/${chkpnt} ${new_chkpnt} fi fi done # Rename restart file and update restart symlink if new start time ok new_start_str=$(sed 's/ /_/g' cap_restart) if [[ "${new_start_str}" = "${start_str}" || "${new_start_str}" = "" ]]; then echo "ERROR: GCHP failed to run to completion. Check the log file for more information." rm Restarts/gcchem_internal_checkpoint exit 1 else N=$(grep "CS_RES=" setCommonRunSettings.sh | cut -c 8- | xargs ) mv Restarts/gcchem_internal_checkpoint Restarts/GEOSChem.Restart.${new_start_str:0:13}z.c${N}.nc4 source setRestartLink.sh 2>&1 | tee -a ${log} fi ================================================ FILE: run/GCHP/runScriptSamples/operational_examples/README ================================================ This directory contains example run scripts and environment files for several compute clusters that are actively being used for GCHP simulations and development. Contact information is included in the README within each subdirectory. If you have multiple users on your compute cluster then please do consider submitting the run and environment files for your compute cluster to include in this directory. To propose including your files in an upcoming version you may create an issue on the GEOS-Chem GitHub issues page: https://github.com/geoschem/geos-chem/issues/ ================================================ FILE: run/GCHP/runScriptSamples/operational_examples/aws_pcluster/README ================================================ Notes: Also, on AWS with EFA, it might be necessary to turn on WRITE_RESTART_BY_OSERVER and set numbers of O-servers in GCHP.rc to 6 to avoid crashes when writing restart files. See discussion in https://github.com/geoschem/GCHP/issues/493. Contact: Yuanjian Zhang at WashU yuanjianz @ GitHub yuanjian.z@wustl.edu ================================================ FILE: run/GCHP/runScriptSamples/operational_examples/aws_pcluster/execute.sh ================================================ #!/bin/bash if [[ $( cat /proc/sys/kernel/yama/ptrace_scope ) == "0" ]]; then echo "PTrace Correct for EFA" else echo "PTrace Override" sysctl -w kernel.yama.ptrace_scope=0 fi ./gchp ================================================ FILE: run/GCHP/runScriptSamples/operational_examples/aws_pcluster/gchp.run ================================================ #!/bin/bash # #SBATCH --ntasks-per-node #SBATCH -N #SBATCH -t #SBATCH -p #SBATCH --job-name= ################################################################# # # ADDITIONAL PRE-RUN CONFIGURATION # # If a subsequent command fails, treat it as fatal (don't continue) set -e # Alternatively you can put this in your environment file. ulimit -c 0 # coredumpsize ulimit -l unlimited # memorylocked ulimit -u 50000 # maxproc ulimit -v unlimited # vmemoryuse ulimit -s unlimited # stacksize ################################################################# # # PRE-RUN COMMANDS # You need to build your gchp environment using spack spack load gcc@12.4.0 spack env activate gchp_openmpi4 # GCHP currently not working with OpenMPI5 module load openmpi # system built-in openmpi4 module load libfabric-aws # system built-in fabric # For remainder of script, echo commands to the job's log file set -x # Define log name to include simulation start date start_str=$(sed 's/ /_/g' cap_restart) log=gchp.${start_str:0:13}z.log # Update config files, set restart symlink, and do sanity checks source setCommonRunSettings.sh source setRestartLink.sh source checkRunSettings.sh export OMPI_MCA_btl=vader,tcp,self export OMPI_MCA_btl_tcp_if_exclude="lo,docker0,virbr0" export OMPI_MCA_btl_if_exclude="lo,docker0,virbr0" # Disable shared memory for EFA to avoid crashes export FI_EFA_ENABLE_SHM_TRANSFER=0 export OMPI_MCA_mtl_ofi_provider_exclude=shm # Maybe alleviate PKE entries exhausted warnings export FI_EFA_RDM_NUM_RX_PKTS=16384 export FI_EFA_RDM_NUM_TX_PKTS=16384 mpiexec -np ${SLURM_NTASKS} --map-by core --bind-to core bash ./execute.sh > ${log} ################################################################# # # POST-RUN COMMANDS # # Rename mid-run checkpoint files, if any. Discard file if time corresponds # to run start time since duplicate with initial restart file. chkpnts=$(ls Restarts) N=$(grep "CS_RES=" setCommonRunSettings.sh | cut -c 8- | xargs ) for chkpnt in ${chkpnts} do if [[ "$chkpnt" == *"gcchem_internal_checkpoint."* ]]; then chkpnt_time=${chkpnt:27:13} if [[ "${chkpnt_time}" = "${start_str:0:13}" ]]; then rm ./Restarts/${chkpnt} else new_chkpnt=./Restarts/GEOSChem.Restart.${chkpnt_time}z.c${N}.nc4 mv ./Restarts/${chkpnt} ${new_chkpnt} fi fi done # If new start time in cap_restart is okay, rename restart file # and update restart symlink new_start_str=$(sed 's/ /_/g' cap_restart) if [[ "${new_start_str}" = "${start_str}" || "${new_start_str}" = "" ]]; then echo "ERROR: GCHP failed to run to completion. Check the log file for more information." rm -f Restarts/gcchem_internal_checkpoint exit 1 else mv Restarts/gcchem_internal_checkpoint Restarts/GEOSChem.Restart.${new_start_str:0:13}z.c${N}.nc4 source setRestartLink.sh fi ================================================ FILE: run/GCHP/runScriptSamples/operational_examples/harvard_cannon/README ================================================ Contact: GEOS-Chem Support Team at Harvard University geos-chem-support@g.harvard.edu ================================================ FILE: run/GCHP/runScriptSamples/operational_examples/harvard_cannon/gchp.gcc10_openmpi4_cannon_rocky.env ================================================ ############################################################################### # gchp.rocky+gnu10.minimal.env # # Environment file for GCHP + Rocky Linux + GNU Compiler Collection 10.2.0 # # Does not include any Spack-built modules, only FASRC-built modules. # Useful for running in the Cannon queues, or to start fresh Spack builds. ############################################################################### # Display message (if we are in a terminal window) if [[ $- = *i* ]] ; then echo "Loading modules for GCHP, please wait ..." fi #============================================================================== # Unload all previously-unloaded software #============================================================================== # Unload packages loaded with "module load" module purge # Unload packages loaded with "spack load" if [[ "x${SPACK_ROOT}" != "x" ]]; then which spack &> /dev/null || spack unload --all fi #============================================================================== # Load FASRC-built software packages for Rocky Linux and GNU 10.2.0 #============================================================================== if [[ $- = *i* ]] ; then echo "... Loading FASRC-built software, please wait..." fi # Load FASRC-built modules module load gcc/10.2.0-fasrc01 # gcc / g++ / gfortran module load openmpi/4.1.0-fasrc01 # MPI module load netcdf-c/4.8.0-fasrc01 # netcdf-c module load netcdf-fortran/4.5.3-fasrc01 # netcdf-fortran module load flex/2.6.4-fasrc01 # Flex lexer (needed for KPP) module load cmake/3.25.2-fasrc01 # CMake (needed to compile) # Additional FASRC-built modules # Uncomment if you need to use these ##module load IDL/8.7.2-fasrc01 # IDL language (needed for GAMAP) ##module load R/4.2.2-fasrc01 # R language ##module load matlab/R2022b-fasrc01 # matlab language #============================================================================== # Environment variables # NOTE: _HOME env vars are defined for each loaded #============================================================================== # Make all files world-readable by default umask 022 # Compilers export CC="gcc" export CXX="g++" export FC="gfortran" export F77="${FC}" # MPI export MPI_ROOT="${MPI_HOME}" # netCDF if [[ "x${NETCDF_HOME}" == "x" ]]; then export NETCDF_HOME="${NETCDF_C_HOME}" fi export NETCDF_ROOT="${NETCDF_HOME}" export NETCDF_FORTRAN_ROOT="${NETCDF_FORTRAN_HOME}" # ESMF export ESMF_COMPILER="gfortran" export ESMF_COMM="openmpi" export ESMF_DIR="/n/jacob_lab/Lab/RockyLinux/ESMF/ESMF_8_4_2" export ESMF_INSTALL_PREFIX="${ESMF_DIR}/INSTALL_gnu10_openmpi4" export ESMF_ROOT="${ESMF_INSTALL_PREFIX}" #--------------------------------------------------------------------------- # ESMF does not build with GCC10 without the following work-around # for a type mismatch error (https://trac.macports.org/ticket/60954) export ESMF_F90COMPILEOPTS="-fallow-argument-mismatch -fallow-invalid-boz" #--------------------------------------------------------------------------- # KPP 3.0.0+ export KPP_FLEX_LIB_DIR="${FLEX_HOME}/lib64" #============================================================================== # Set limits #============================================================================== ulimit -c unlimited # coredumpsize ulimit -u 50000 # maxproc ulimit -v unlimited # vmemoryuse ulimit -s unlimited # stacksize #============================================================================== # Print information #============================================================================== module list echo "" echo "Environment:" echo "" echo "CC : ${CC}" echo "CXX : ${CXX}" echo "FC : ${FC}" echo "ESMF_COMM : ${ESMF_COMM}" echo "ESMF_COMPILER : ${ESMF_COMPILER}" echo "ESMF_DIR : ${ESMF_DIR}" echo "ESMF_INSTALL_PREFIX : ${ESMF_INSTALL_PREFIX}" echo "ESMF_ROOT : ${ESMF_ROOT}" echo "KPP_FLEX_LIB_DIR : ${KPP_FLEX_LIB_DIR}" echo "MPI_HOME : ${MPI_HOME}" echo "NETCDF_HOME : ${NETCDF_HOME}" echo "NETCDF_FORTRAN_HOME : ${NETCDF_FORTRAN_HOME}" echo "" echo "Done sourcing ${BASH_SOURCE[0]}" ================================================ FILE: run/GCHP/runScriptSamples/operational_examples/harvard_cannon/gchp.gcc12_openmpi4_cannon_rocky.env ================================================ ################################################################################ # gchp.rocky+gnu12.minimal.env # # Environment file for GCHP + Rocky Linux + GNU Compiler Collection 12.2.0 # # Does not include any Spack-built modules, only FASRC-built modules. # Useful for running in the Cannon queues, or to start fresh Spack builds. ############################################################################### # Display message (if we are in a terminal window) if [[ $- = *i* ]] ; then echo "Loading modules for GCHP, please wait ..." fi #============================================================================== # Unload all previously-unloaded software #============================================================================== # Unload packages loaded with "module load" module purge # Unload packages loaded with "spack load" if [[ "x${SPACK_ROOT}" != "x" ]]; then which spack &> /dev/null || spack unload --all fi #============================================================================== # Load FASRC-built software packages for Rocky Linux and GNU 12.2.0 #============================================================================== if [[ $- = *i* ]] ; then echo "... Loading FASRC-built software, please wait ..." fi # FASRC-built modules needed for GEOS-Chem module load gcc/12.2.0-fasrc01 # gcc / g++ / gfortran module load openmpi/4.1.4-fasrc01 # MPI module load netcdf-c/4.9.2-fasrc01 # netcdf-c module load netcdf-fortran/4.6.0-fasrc02 # netcdf-fortran module load flex/2.6.4-fasrc01 # Flex lexer (needed for KPP) module load cmake/3.25.2-fasrc01 # CMake (needed to compile) # Additional FASRC-built modules # Uncomment if you need to use these #module load IDL/8.7.2-fasrc01 # IDL language (needed for GAMAP) #module load R/4.2.2-fasrc01 # R language #module load matlab/R2022b-fasrc01 # matlab language #============================================================================== # Environment variables and related settings # NOTE: _HOME env vars are defined for each loaded #============================================================================== # Make all files world-readable by default umask 022 # Specify compilers export CC="gcc" export CXX="g++" export FC="gfortran" export F77="${FC}" # MPI export MPI_ROOT="${MPI_HOME}" # netCDF if [[ "x${NETCDF_HOME}" == "x" ]]; then export NETCDF_HOME="${NETCDF_C_HOME}" fi export NETCDF_FORTRAN_ROOT="${NETCDF_FORTRAN_HOME}" # ESMF export ESMF_COMPILER="gfortran" export ESMF_COMM="openmpi" export ESMF_DIR="/n/jacob_lab/Lab/RockyLinux/ESMF/ESMF_8_6_1" export ESMF_INSTALL_PREFIX="${ESMF_DIR}/INSTALL_gnu12_openmpi4" export ESMF_ROOT="${ESMF_INSTALL_PREFIX}" #---------------------------------------------------------------------------- # ESMF does not build with GCC12 without the following work-around # for a type mismatch error (https://trac.macports.org/ticket/60954) export ESMF_F90COMPILEOPTS="-fallow-argument-mismatch -fallow-invalid-boz" #---------------------------------------------------------------------------- # KPP 3.0.0+ export KPP_FLEX_LIB_DIR="${FLEX_HOME}/lib64" #============================================================================== # Set limits #============================================================================== ulimit -u 50000 # maxproc ulimit -v unlimited # vmemoryuse ulimit -s unlimited # stacksize #============================================================================== # Print information #============================================================================== module list echo "" echo "Environment:" echo "" echo "CC : ${CC}" echo "CXX : ${CXX}" echo "FC : ${FC}" echo "ESMF_COMM : ${ESMF_COMM}" echo "ESMF_COMPILER : ${ESMF_COMPILER}" echo "ESMF_DIR : ${ESMF_DIR}" echo "ESMF_INSTALL_PREFIX : ${ESMF_INSTALL_PREFIX}" echo "ESMF_ROOT : ${ESMF_ROOT}" echo "KPP_FLEX_LIB_DIR : ${KPP_FLEX_LIB_DIR}" echo "MPI_HOME : ${MPI_HOME}" echo "NETCDF_HOME : ${NETCDF_HOME}" echo "NETCDF_FORTRAN_HOME : ${NETCDF_FORTRAN_HOME}" echo "" echo "Done sourcing ${BASH_SOURCE[0]}" ================================================ FILE: run/GCHP/runScriptSamples/operational_examples/harvard_cannon/gchp.run ================================================ #!/bin/bash #SBATCH -n 96 #SBATCH -N 2 #SBATCH -c 1 #SBATCH --exclusive ##------------------------------------- ## Use this for 1-month runs (default) #SBATCH -t 0-8:00 ##------------------------------------ ## Use this for 1-year runs ##SBATCH -t 1-0:00 ##------------------------------------ #SBATCH -p sapphire,huce_cascade,seas_compute,shared #SBATCH --mem=180000 #SBATCH --mail-type=END ############################################################################### ### Sample GCHP run script for Harvard Cannon cluster (using SLURM). ### ### -n : Requests this many cores (across all nodes) ### -N : Requests this number of nodes ### -c 1 : Forces 1 task per CPU (needed after 2024/03/05 SLURM update) ### --mem : Requests this amount of memory in GB ### -p : Requests these partitions where the job can run ### -t : Requests time for the job (days-hours:minutes) ### --exclusive : Reserves entire nodes (i.e. to prevent backfilling jobs) ############################################################################### # Exit if command fails set -e # Debug option to print all commands executed in this script #set -x # Define log name to include simulation start date start_str=$(sed 's/ /_/g' cap_restart) log=gchp.${start_str:0:13}z.log echo "Writing output to ${log}" # Update config files, set restart symlink, load run env, and do sanity checks source setCommonRunSettings.sh > ${log} source setRestartLink.sh >> ${log} source gchp.env >> ${log} source checkRunSettings.sh >> ${log} # Cannon-specific setting to get around connection issues at high # cores export OMPI_MCL_btl=openib # Run GCHP and evenly distribute tasks across nodes NX=$( grep NX GCHP.rc | awk '{print $2}' ) NY=$( grep NY GCHP.rc | awk '{print $2}' ) coreCount=$(( ${NX} * ${NY} )) planeCount=$(( ${coreCount} / ${SLURM_NNODES} )) if [[ $(( ${coreCount} % ${SLURM_NNODES} )) > 0 ]]; then planeCount=$(( ${planeCount} + 1 )) fi # Turn off exit if command fails to allow script to finish if GCHP exits early set +e time srun -n ${coreCount} -N ${SLURM_NNODES} -m plane=${planeCount} --mpi=pmix ./gchp >> ${log} # Rename mid-run checkpoint files, if any. Discard file if time corresponds # to run start time since duplicate with initial restart file. chkpnts=$(ls Restarts) for chkpnt in ${chkpnts} do if [[ "$chkpnt" == *"gcchem_internal_checkpoint."* ]]; then chkpnt_time=${chkpnt:27:13} if [[ "${chkpnt_time}" = "${start_str:0:13}" ]]; then rm ./Restarts/${chkpnt} else new_chkpnt=./Restarts/GEOSChem.Restart.${chkpnt_time}z.c${N}.nc4 mv ./Restarts/${chkpnt} ${new_chkpnt} fi fi done # Rename restart file and update restart symlink if new start time ok new_start_str=$(sed 's/ /_/g' cap_restart) if [[ "${new_start_str}" = "${start_str}" || "${new_start_str}" = "" ]]; then echo "ERROR: GCHP failed to run to completion. Check the log file for more information." rm -f Restarts/gcchem_internal_checkpoint exit 1 else N=$(grep "CS_RES=" setCommonRunSettings.sh | cut -c 8- | xargs ) mv Restarts/gcchem_internal_checkpoint Restarts/GEOSChem.Restart.${new_start_str:0:13}z.c${N}.nc4 source setRestartLink.sh fi exit 0 ================================================ FILE: run/GCHP/runScriptSamples/operational_examples/harvard_cannon/gchp.submit_consecutive_jobs.sh ================================================ #!/bin/bash # Use this bash script to submit multiple consecutive GCHP jobs (gchp.run) to SLURM. # This allows breaking up long duration simulations into jobs of shorter duration. # Set start date in cap_restart, set run duration in setCommonRunSettings.sh, and pass # the number of runs as an argument. You must have gchp.run in your run directory. # One argument: number of runs numRuns=${1} if [[ "x${numRuns}" == "x" ]]; then echo "ERROR: Specify number of runs as argument, e.g. ./gchp.submit_consecutive_jobs.sh 2" exit fi # Sanity check number of runs, start date, and duration per run echo "Submitting ${numRuns} jobs" echo "Duration: $(grep "Run_Duration=" setCommonRunSettings.sh | cut -c 14- | xargs)" echo "Start: $(cat cap_restart)" # Submit first job msg=$(sbatch gchp.run) echo $msg IFS=', ' IFS=', ' read -r -a msgarray <<< "$msg" jobid=${msgarray[3]} # Submit additional jobs for i in $(seq 1 $((numRuns-1))); do msg=$(sbatch --dependency=afterok:$jobid gchp.run) echo $msg IFS=', ' IFS=', ' read -r -a msgarray <<< "$msg" jobid=${msgarray[3]} done ================================================ FILE: run/GCHP/runScriptSamples/operational_examples/icl_rcshpc/README ================================================ For use with the PBS Pro system at Imperial College London's campus-wide HPC. To submit a job, type: qsub gchp.run Instructions are given to modify node/core/memory requirements in gchp.run. Contact: Sebastian Eastham at Imperial College London s.eastham@imperial.ac.uk ================================================ FILE: run/GCHP/runScriptSamples/operational_examples/icl_rcshpc/gchp.env ================================================ module load tools/prod module load ESMF/8.4.2-foss-2022a ================================================ FILE: run/GCHP/runScriptSamples/operational_examples/icl_rcshpc/gchp.run ================================================ #!/bin/bash #PBS -N GCHP #PBS -l select=1:ncpus=6:mem=48gb #PBS -l walltime=1:00:00 #PBS -j oe # Run script is for use with PBS Pro # To modify your resource request, change the "-l select..." line to: # #PBS -l select=X:ncpus=Y:mem=Zgb # This requests X nodes, EACH of which has Y CPUs and Z GB of memory # Change the total run time request using the walltime line (H:MM:SS) cd $PBS_O_WORKDIR # Unlimit resources (to prevent OS killing GCHP due to resource usage) ulimit -c 0 # coredumpsize ulimit -l unlimited # memorylocked ulimit -u 50000 # maxproc ulimit -v unlimited # vmemoryuse ulimit -s unlimited # stacksize # Exit if command fails set -e # Debug option to print all commands executed in this script #set -x # Define log name to include simulation start date start_str=$(sed 's/ /_/g' cap_restart) log=gchp.${start_str:0:13}z.log echo "Writing output to ${log}" # Update config files, set restart symlink, load run env, and do sanity checks source setCommonRunSettings.sh > ${log} source setRestartLink.sh >> ${log} source gchp.env >> ${log} source checkRunSettings.sh >> ${log} # Turn off exit if command fails to allow script to finish if GCHP exits early set +e # Run the code mpirun ./gchp >> $log # Rename mid-run checkpoint files, if any. Discard file if time corresponds # to run start time since duplicate with initial restart file. chkpnts=$(ls Restarts) for chkpnt in ${chkpnts} do if [[ "$chkpnt" == *"gcchem_internal_checkpoint."* ]]; then chkpnt_time=${chkpnt:27:13} if [[ "${chkpnt_time}" = "${start_str:0:13}" ]]; then rm ./Restarts/${chkpnt} else new_chkpnt=./Restarts/GEOSChem.Restart.${chkpnt_time}z.c${N}.nc4 mv ./Restarts/${chkpnt} ${new_chkpnt} fi fi done # Rename restart file and update restart symlink if new start time ok new_start_str=$(sed 's/ /_/g' cap_restart) if [[ "${new_start_str}" = "${start_str}" || "${new_start_str}" = "" ]]; then echo "ERROR: GCHP failed to run to completion. Check the log file for more information." rm -f Restarts/gcchem_internal_checkpoint exit 1 else N=$(grep "CS_RES=" setCommonRunSettings.sh | cut -c 8- | xargs ) mv Restarts/gcchem_internal_checkpoint Restarts/GEOSChem.Restart.${new_start_str:0:13}z.c${N}.nc4 source setRestartLink.sh fi trap times EXIT ================================================ FILE: run/GCHP/runScriptSamples/operational_examples/mit_hex/README ================================================ Contact: Sebastian Eastham at MIT seastham@mit.edu ================================================ FILE: run/GCHP/runScriptSamples/operational_examples/mit_hex/gchp.env_HEX ================================================ #!/bin/bash # Only ESMF needs to be built with the OpenMP flags now profile_id_ESMF=ifort21_nc72_hybrid_ompi404 profile_id=ifort21_nc72_ompi404 # Add cmake export PATH=/home/seastham/opt/cmake_3.16.5/bin:$PATH IFORTVARS=/opt/intel/oneapi/setvars.sh . $IFORTVARS # Using Intel v21 compilers export CC=icc export CXX=icpc export FC=ifort export CPP=cpp # Don't use F77/F90 for now unset F77 unset F90 unset F9X # Using /home/seastham/opt as a safe place for new packages export opt_dir=/home/seastham/opt export install_dir=${opt_dir}/pkg_${profile_id} if [[ ! -d $install_dir ]]; then mkdir $install_dir fi export NETCDF_HOME=${install_dir}/netcdf export NETCDF_FORTRAN_HOME=$NETCDF_HOME export MPI_ROOT=${install_dir}/openmpi # UCX export PATH=/home/seastham/opt/pkg_${profile_id}/ucx/bin:$PATH export LD_LIBRARY_PATH=/home/seastham/opt/pkg_${profile_id}/ucx/lib:$LD_LIBRARY_PATH # MPI export PATH=${MPI_ROOT}/bin:$PATH export LD_LIBRARY_PATH=${MPI_ROOT}/lib:$LD_LIBRARY_PATH # NetCDF export PATH=${NETCDF_HOME}/bin:$PATH export LD_LIBRARY_PATH=${NETCDF_HOME}/lib:$LD_LIBRARY_PATH # Set compilers to MPI versions if available if [[ $# -ge 1 && "$1" == "serial" ]]; then echo "Forcing serial compilers" elif [[ -e $MPI_ROOT/bin/mpicc ]]; then echo "Setting compilers to MPI versions" export CC=mpicc export CXX=mpicxx export FC=mpif90 else echo "MPI compilers not found. Reverting to serial" fi # ESMF export ESMF_DIR=/net/d14/data/seastham/ESMF_v800 export ESMF_INSTALL_PREFIX=${ESMF_DIR}/INSTALL_${profile_id_ESMF} export ESMF_ROOT=$ESMF_INSTALL_PREFIX export ESMF_COMPILER=intel export ESMF_COMM=openmpi export ESMF_OPENMP=ON export NETCDF_C_ROOT=$NETCDF_HOME export NETCDF_Fortran_ROOT=$NETCDF_HOME # OpenMP setup ulimit -s unlimited ulimit -c 5000 export KMP_STACKSIZE=100000000 if [[ -z $SLURM_CPUS_PER_TASK ]]; then export OMP_NUM_THREADS=1 else export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK fi export KMP_NUM_THREADS=$OMP_NUM_THREADS ================================================ FILE: run/GCHP/runScriptSamples/operational_examples/mit_hex/gchp.run_HEX ================================================ #!/bin/bash # Universal settings #SBATCH -t 1-0:00 #SBATCH -p normal #SBATCH --mail-type=FAIL #SBATCH -c 1 # Standard settings on high-memory nodes #SBATCH -n 30 #SBATCH -N 2 #SBATCH --mem=80G # Use the settings below to run C24 sims on the low-memory nodes #====#SBATCH -C lowmem #====#SBATCH -n 24 #====#SBATCH -N 2 #====#SBATCH --mem=22G # Define log name to include simulation start date start_str=$(sed 's/ /_/g' cap_restart) log=gchp.${start_str:0:13}z.log echo "Writing output to ${log}" # Update config files, set restart symlink, load run env, and do sanity checks source setCommonRunSettings.sh > ${log} source setRestartLink.sh >> ${log} source gchp.env >> ${log} source checkRunSettings.sh >> ${log} # Run GCHP and evenly distribute tasks across nodes NX=$( grep NX GCHP.rc | awk '{print $2}' ) NY=$( grep NY GCHP.rc | awk '{print $2}' ) coreCount=$(( ${NX} * ${NY} )) mpirun ./gchp >> $log # Rename mid-run checkpoint files, if any. Discard file if time corresponds # to run start time since duplicate with initial restart file. chkpnts=$(ls Restarts) for chkpnt in ${chkpnts} do if [[ "$chkpnt" == *"gcchem_internal_checkpoint."* ]]; then chkpnt_time=${chkpnt:27:13} if [[ "${chkpnt_time}" = "${start_str:0:13}" ]]; then rm ./Restarts/${chkpnt} else new_chkpnt=./Restarts/GEOSChem.Restart.${chkpnt_time}z.c${N}.nc4 mv ./Restarts/${chkpnt} ${new_chkpnt} fi fi done # Rename restart file and update restart symlink if new start time ok new_start_str=$(sed 's/ /_/g' cap_restart) if [[ "${new_start_str}" = "${start_str}" || "${new_start_str}" = "" ]]; then echo "ERROR: cap_restart either did not change or is empty." rm -f Restarts/gcchem_internal_checkpoint exit 1 else N=$(grep "CS_RES=" setCommonRunSettings.sh | cut -c 8- | xargs ) mv Restarts/gcchem_internal_checkpoint Restarts/GEOSChem.Restart.${new_start_str:0:13}z.c${N}.nc4 source setRestartLink.sh fi exit 0 ================================================ FILE: run/GCHP/runScriptSamples/operational_examples/mit_svante/README ================================================ Contact: Sebastian Eastham at MIT seastham@mit.edu ================================================ FILE: run/GCHP/runScriptSamples/operational_examples/mit_svante/gchp.env_SVANTE ================================================ #!/bin/bash # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi module use /home/software/rhel/8/modulefiles install_ident=gcc850_omp4_ucx install_ident_ESMF=gcc850_omp4_ucx_hybrid module add gcc/8.5.0 module add openmpi/4.1.4_testing module add netcdf/4_testing hdf5/1.12.2_testing export FC=gfortran export F77=$FC export F90=$FC export F9X=$FC export CC=gcc export CXX=g++ export CPP=cpp export OMPI_CC=$CC export OMPI_CXX=$CXX # Add OpenMPI export MPI_ROOT=$( dirname $( dirname $( which mpirun ) ) ) export NETCDF_HOME=$( dirname $( dirname $( which nc-config ) ) ) export NETCDF_FORTRAN_HOME=/home/seastham/local_${install_ident} export PATH=$NETCDF_FORTRAN_HOME/bin:${PATH} if [[ ! -e $MPI_ROOT/bin/mpicc ]]; then echo "mpicc not found; reverting to serial compilers" else export FC=mpif90 export CC=mpicc export CXX=mpicxx export F77=$FC export F90=$FC export F9X=$FC fi export ESMF_COMM=openmpi export ESMF_COMPILER=gfortran export ESMF_DIR=/home/seastham/ESMF/ESMF_v800 export ESMF_INSTALL_PREFIX=${ESMF_DIR}/INSTALL_${install_ident_ESMF} export ESMF_ROOT=${ESMF_INSTALL_PREFIX} export ESMF_OPENMP=ON export ESMF_NETCDF=nc-config ulimit -l unlimited ulimit -s unlimited ulimit -c 0 export KMP_STACKSIZE=100000000 if [[ -z $SLURM_CPUS_PER_TASK ]]; then export OMP_NUM_THREADS=1 else export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK fi unset PROMPT_COMMAND ================================================ FILE: run/GCHP/runScriptSamples/operational_examples/mit_svante/gchp.run_SVANTE.sh ================================================ #!/bin/bash #SBATCH --ntasks-per-node=48 #SBATCH -N 6 #SBATCH -c 1 #SBATCH -t 1-12:00 #SBATCH -p hdr #SBATCH --mem=100G #SBATCH --mail-type=FAIL #SBATCH -J GCHP # Define log name to include simulation start date start_str=$(sed 's/ /_/g' cap_restart) log=gchp.${start_str:0:13}z.log echo "Writing output to ${log}" # Update config files, set restart symlink, load run env, and do sanity checks source setCommonRunSettings.sh > ${log} source setRestartLink.sh >> ${log} source gchp.env >> ${log} source checkRunSettings.sh >> ${log} # Run GCHP and evenly distribute tasks across nodes NX=$( grep NX GCHP.rc | awk '{print $2}' ) NY=$( grep NY GCHP.rc | awk '{print $2}' ) coreCount=$(( ${NX} * ${NY} )) time mpirun -n ${coreCount} ./gchp >> ${log} # Rename mid-run checkpoint files, if any. Discard file if time corresponds # to run start time since duplicate with initial restart file. chkpnts=$(ls Restarts) for chkpnt in ${chkpnts} do if [[ "$chkpnt" == *"gcchem_internal_checkpoint."* ]]; then chkpnt_time=${chkpnt:27:13} if [[ "${chkpnt_time}" = "${start_str:0:13}" ]]; then rm ./Restarts/${chkpnt} else new_chkpnt=./Restarts/GEOSChem.Restart.${chkpnt_time}z.c${N}.nc4 mv ./Restarts/${chkpnt} ${new_chkpnt} fi fi done # Rename restart file and update restart symlink if new start time ok new_start_str=$(sed 's/ /_/g' cap_restart) if [[ "${new_start_str}" = "${start_str}" || "${new_start_str}" = "" ]]; then echo "ERROR: cap_restart either did not change or is empty." rm -f Restarts/gcchem_internal_checkpoint exit 1 else N=$(grep "CS_RES=" setCommonRunSettings.sh | cut -c 8- | xargs ) mv Restarts/gcchem_internal_checkpoint Restarts/GEOSChem.Restart.${new_start_str:0:13}z.c${N}.nc4 source setRestartLink.sh fi exit 0 ================================================ FILE: run/GCHP/runScriptSamples/operational_examples/msu_orion/README ================================================ Contact: Lizzie Lundgren GEOS-Chem Support Team at Harvard University geos-chem-support@g.harvard.edu ================================================ FILE: run/GCHP/runScriptSamples/operational_examples/msu_orion/gchp.carbon.build ================================================ #!/bin/bash # For MSU Orion cluster #SBATCH --time 01:00:00 #SBATCH --nodes=1 --ntasks-per-node=24 #SBATCH --mem=5G #SBATCH --job-name=gchp.build source gchp.env cd build cmake ../CodeDir -DRUNDIR=.. -DMECH=carbon make -j make install exit 0 ================================================ FILE: run/GCHP/runScriptSamples/operational_examples/msu_orion/gchp.intel-2024.1.0.env ================================================ # Environment file to load before building and running GCHP on the MSU Orion cluster # - Lizzie Lundgren, GEOS-Chem Support Team, 29Jan2025 module purge # This set of libraries avoids a run-time error in MAPL # https://github.com/GEOS-ESM/MAPL/issues/1933 module load intel-oneapi-compilers/2024.1.0 module load intel-oneapi-mpi/2021.12.0 module load hdf5/1.12.2 # or 1.14.3 module load netcdf-c/4.9.0 module load netcdf-fortran/4.6.0 # Other library combinations available on Orion # These combinations run into the run-time error referenced above #module load intel-oneapi-compilers/2022.0.2 #module load intel-oneapi-mpi/2021.5.1 #module load hdf5/1.14.1-2 #module load netcdf-c/4.7.4 #module load netcdf-fortran/4.5.3 #module load intel-oneapi-compilers/2023.1.0 #module load intel-oneapi-mpi/2021.9.0 #module load hdf5/1.14.1-2 #module load netcdf-c/4.9.2 #module load netcdf-fortran/4.6.0 #module load intel-oneapi-compilers/2023.2.4 #module load intel-oneapi-mpi/2021.13.0 #module load hdf5/1.14.3 #module load netcdf-c/4.9.2 #module load netcdf-fortran/4.6.1 export CC=icx export CXX=icx export FC=ifort export F77=${FC} if [[ "x${NETCDF_HOME}" == "x" ]]; then export NETCDF_HOME="${NETCDF_C_HOME}" fi export NETCDF_C_ROOT="${NETCDF_HOME}" export NETCDF_FORTRAN_ROOT="${NETCDF_FORTRAN_HOME}" export MPI_ROOT=${MPI_HOME} export ESMF_COMPILER=intel export ESMF_COMM=intelmpi export ESMF_DIR=/work/noaa/co2/ewlundgr/ESMF/ESMF # The ESMF install is for a different intel version but works for now export ESMF_INSTALL_PREFIX=${ESMF_DIR}/INSTALL_intel2022_intelmpi2021.9.0 export ESMF_ROOT=${ESMF_INSTALL_PREFIX} ulimit -c unlimited # coredumpsize ulimit -u 50000 # maxproc ulimit -v unlimited # vmemoryuse ulimit -s unlimited # stacksize # Other potentially useful modules for analyses and code development # Library versions may need to be changed based on libraries already loaded #module load intel-oneapi-mkl/2022.2.1 #module load hdf4/4.2.16 #module load r/4.2.2 #module load nco/5.0.1 #module load udunits/2.2.28 #module load zlib/1.2.13 #module load nco/5.0.1 #module load libszip/2.1.1 #module load ffmpeg/4.4.1 #module load ncl/6.6.2 #module load gdal/3.5.3 #module load gmt/6.2.0 #module load ghostscript/9.56.1 #module load imagemagick/7.0.8-7 #module load contrib noaatools #module load python/3.10.8 #module load ncview #module load contrib noaatools #ml contrib noaatools/1.0 #module load git/2.28.0 #module load gsl/2.6 ================================================ FILE: run/GCHP/runScriptSamples/operational_examples/msu_orion/gchp.run ================================================ #!/bin/bash #SBATCH -n 48 #SBATCH -N 2 #SBATCH -c 1 #SBATCH -t 0-8:00 #SBATCH --qos=batch #SBATCH --mem=90G ############################################################################### ### Sample GCHP run script for MSU Orion cluster (using SLURM). ### ### -n : Requests this many cores (across all nodes) ### -N : Requests this number of nodes ### -c 1 : Forces 1 task per CPU (needed after 2024/03/05 SLURM update) ### --mem : Requests this amount of memory in GB ### -p : Requests these partitions where the job can run ### -t : Requests time for the job (days-hours:minutes) ### --exclusive : Reserves entire nodes (i.e. to prevent backfilling jobs) ############################################################################### # Exit if command fails set -e # Debug option to print all commands executed in this script #set -x # Define log name to include simulation start date start_str=$(sed 's/ /_/g' cap_restart) log=gchp.${start_str:0:13}z.log echo "Writing output to ${log}" # Update config files, set restart symlink, load run env, and do sanity checks source setCommonRunSettings.sh > ${log} source setRestartLink.sh >> ${log} source gchp.env >> ${log} source checkRunSettings.sh >> ${log} # Cannon-specific setting to get around connection issues at high # cores export OMPI_MCL_btl=openib # Run GCHP and evenly distribute tasks across nodes NX=$( grep NX GCHP.rc | awk '{print $2}' ) NY=$( grep NY GCHP.rc | awk '{print $2}' ) coreCount=$(( ${NX} * ${NY} )) planeCount=$(( ${coreCount} / ${SLURM_NNODES} )) if [[ $(( ${coreCount} % ${SLURM_NNODES} )) > 0 ]]; then planeCount=$(( ${planeCount} + 1 )) fi # Turn off exit if command fails to allow script to finish if GCHP exits early set +e time srun -n ${coreCount} -N ${SLURM_NNODES} -m plane=${planeCount} ./gchp >> ${log} # Rename mid-run checkpoint files, if any. Discard file if time corresponds # to run start time since duplicate with initial restart file. chkpnts=$(ls Restarts) for chkpnt in ${chkpnts} do if [[ "$chkpnt" == *"gcchem_internal_checkpoint."* ]]; then chkpnt_time=${chkpnt:27:13} if [[ "${chkpnt_time}" = "${start_str:0:13}" ]]; then rm ./Restarts/${chkpnt} else new_chkpnt=./Restarts/GEOSChem.Restart.${chkpnt_time}z.c${N}.nc4 mv ./Restarts/${chkpnt} ${new_chkpnt} fi fi done # Rename restart file and update restart symlink if new start time ok new_start_str=$(sed 's/ /_/g' cap_restart) if [[ "${new_start_str}" = "${start_str}" || "${new_start_str}" = "" ]]; then echo "ERROR: GCHP failed to run to completion. Check the log file for more information." rm -f Restarts/gcchem_internal_checkpoint exit 1 else N=$(grep "CS_RES=" setCommonRunSettings.sh | cut -c 8- | xargs ) mv Restarts/gcchem_internal_checkpoint Restarts/GEOSChem.Restart.${new_start_str:0:13}z.c${N}.nc4 source setRestartLink.sh fi exit 0 ================================================ FILE: run/GCHP/runScriptSamples/operational_examples/nasa_discover/README ================================================ Contact: Lizzie Lundgren GEOS-Chem Support Team at Harvard University geos-chem-support@g.harvard.edu ================================================ FILE: run/GCHP/runScriptSamples/operational_examples/nasa_discover/gchp.build ================================================ #!/bin/bash # For discover #SBATCH --time 01:00:00 #SBATCH --nodes=1 --ntasks-per-node=24 #SBATCH --mem=5G #SBATCH --job-name=gchp.build #SBATCH --constraint=mil ##SBATCH --account=s____ ##SBATCH --qos=debug ##SBATCH --qos=chmdev source gchp.env cd build cmake ../CodeDir -DRUNDIR=.. make -j make install ================================================ FILE: run/GCHP/runScriptSamples/operational_examples/nasa_discover/gchp.run ================================================ #!/bin/bash # For NASA discover cluster. Edit before run. #SBATCH --time 00:30:00 #SBATCH --nodes=1 --ntasks-per-node=24 #SBATCH --mem=60G #SBATCH --job-name=gchp.run #SBATCH --constraint=mil #SBATCH --account=s____ ##SBATCH --exclusive ##SBATCH --qos=debug ##SBATCH --qos=chmdev # If a subsequent command fails, treat it as fatal (don't continue) set -e # For remainder of script, echo commands to the job's log file #set -x # Unlimit resources to prevent OS killing GCHP due to resource usage/ # Alternatively you can put this in your environment file. ulimit -c 0 # coredumpsize ulimit -l unlimited # memorylocked ulimit -u 50000 # maxproc ulimit -v unlimited # vmemoryuse ulimit -s unlimited # stacksize source gchp.env # Print loaded modules module list # Define log name to include simulation start date start_str=$(sed 's/ /_/g' cap_restart) log=gchp.${start_str:0:13}z.log # Update config files, set restart symlink, and do sanity checks source setCommonRunSettings.sh > ${log} source setRestartLink.sh >> ${log} source checkRunSettings.sh >> ${log} # Run GCHP and evenly distribute tasks across nodes NX=$( grep NX GCHP.rc | awk '{print $2}' ) NY=$( grep NY GCHP.rc | awk '{print $2}' ) coreCount=$(( ${NX} * ${NY} )) planeCount=$(( ${coreCount} / ${SLURM_NNODES} )) if [[ $(( ${coreCount} % ${SLURM_NNODES} )) > 0 ]]; then ${planeCount}=$(( ${planeCount} + 1 )) fi # Turn off exit if command fails to allow script to finish if GCHP exits early set +e mpirun -np ${coreCount} ./gchp >> ${log} # If new start time in cap_restart is okay, rename restart file # and update restart symlink new_start_str=$(sed 's/ /_/g' cap_restart) if [[ "${new_start_str}" = "${start_str}" || "${new_start_str}" = "" ]]; then echo "ERROR: GCHP failed to run to completion. Check the log file for more information." exit 1 else N=$(grep "CS_RES=" setCommonRunSettings.sh | cut -c 8- | xargs ) mv Restarts/gcchem_internal_checkpoint Restarts/GEOSChem.Restart.${new_start_str:0:13}z.c${N}.nc4 source setRestartLink.sh fi # Rename mid-run checkpoint files, if any. Discard file if time corresponds # to run start time since duplicate with initial restart file. chkpnts=$(ls Restarts) for chkpnt in ${chkpnts} do if [[ "$chkpnt" == *"gcchem_internal_checkpoint."* ]]; then chkpnt_time=${chkpnt:27:13} if [[ "${chkpnt_time}" = "${start_str:0:13}" ]]; then rm ./Restarts/${chkpnt} else new_chkpnt=./Restarts/GEOSChem.Restart.${chkpnt_time}z.c${N}.nc4 mv ./Restarts/${chkpnt} ${new_chkpnt} fi fi done ================================================ FILE: run/GCHP/runScriptSamples/operational_examples/nasa_discover/geoschem.SLES15.stack-gcc-12.3.0.env ================================================ #!/bin/bash # Use this environment with GC-Classic, GCHP, and ESMF on SLES15, e.g. milan ('ssh discover-mil') # See also https://spack-stack.readthedocs.io/en/latest/PreConfiguredSites.html#nasa-discover-scu17 module purge module use /discover/swdev/gmao_SIteam/modulefiles-SLES15 module use /discover/swdev/jcsda/spack-stack/scu17/modulefiles module load ecflow/5.11.4 module use /gpfsm/dswdev/jcsda/spack-stack/scu17/spack-stack-1.7.0/envs/ue-gcc-12.3.0/install/modulefiles/Core module load stack-gcc/12.3.0 module load stack-openmpi/4.1.6 module load stack-python/3.10.13 module load cmake/3.28.2 module load git/2.42.0 module load netcdf-fortran/4.6.1 umask 022 export CC=gcc export CXX=g++ export FC=gfortran # MPI export MPI_ROOT=${MPI_HOME} # For ESMF export ESMF_COMPILER=gfortran export ESMF_COMM=openmpi export ESMF_DIR=/gpfsm/dnb06/projects/p113/ewlundgr/GCHP/ESMF export ESMF_INSTALL_PREFIX=${ESMF_DIR}/INSTALL_SLES15_stack-gcc-12.3.0 # For GCHP export ESMF_ROOT=${ESMF_INSTALL_PREFIX} ulimit -l unlimited ulimit -u 50000 ulimit -v unlimited ulimit -s unlimited OMP_STACKSIZE=500m ================================================ FILE: run/GCHP/runScriptSamples/operational_examples/nasa_discover/geoschem.SLES15.stack-intel-2021.10.0.env ================================================ #!/bin/bash # Use this environment with GC-Classic, GCHP, and ESMF on SLES15, e.g. milan ('ssh discover-mil') # See also https://spack-stack.readthedocs.io/en/latest/PreConfiguredSites.html#nasa-discover-scu17 module purge module use /discover/swdev/gmao_SIteam/modulefiles-SLES15 module use /discover/swdev/jcsda/spack-stack/scu17/modulefiles module load ecflow/5.11.4 module use /gpfsm/dswdev/jcsda/spack-stack/scu17/spack-stack-1.7.0/envs/ue-intel-2021.10.0/install/modulefiles/Core module load stack-intel/2021.10.0 module load stack-intel-oneapi-mpi/2021.10.0 module load stack-python/3.10.13 module load cmake/3.28.2 module load git/2.42.0 module load netcdf-fortran/4.6.1 umask 022 export CC=icc export CXX=icpc export FC=ifort # MPI export MPI_ROOT=${MPI_HOME} # For ESMF export ESMF_COMPILER=intel export ESMF_COMM=intelmpi export ESMF_DIR=/gpfsm/dnb06/projects/p113/ewlundgr/GCHP/ESMF export ESMF_INSTALL_PREFIX=${ESMF_DIR}/INSTALL_SLES15_stack-intel-2021.10.0 # For GCHP export ESMF_ROOT=${ESMF_INSTALL_PREFIX} ulimit -l unlimited ulimit -u 50000 ulimit -v unlimited ulimit -s unlimited OMP_STACKSIZE=500m ================================================ FILE: run/GCHP/runScriptSamples/operational_examples/nasa_pleiades/README ================================================ Contact: GEOS-Chem Support Team at Washington University in St. Louis geos-chem-support@g.harvard.edu Steps to load environment: module --force purge module use -a /nobackup/gmao_SIteam/modulefiles module use -a /path/to/your/module/files/directory # should contain gchp.pleiades.env module load gchp.pleiades.env ================================================ FILE: run/GCHP/runScriptSamples/operational_examples/nasa_pleiades/gchp.pleiades.env ================================================ #%Module proc ModulesHelp { } { puts stderr "GEOS-Chem High Performance (GCHP) build and runtime environment." } module-whatis "GCHP build and runtime dependencies" module load git/2.30.2 module load cmake/3.23.1-TOSS4 module load other/manage_externals module load other/mepo module load other/gh module load ImageMagick/7.0.8-53 module load comp-gcc/11.2.0-TOSS4 module load comp-intel/2020.4.304 module load mpi-hpe/mpt module load hdf4/4.2.12 module load hdf5/1.8.18_mpt module load netcdf/4.4.1.1_mpt setenv COMPILER intel setenv CC icc setenv CXX icpc setenv FC ifort setenv F90 ifort setenv F77 ifort setenv CMAKE_PREFIX_PATH /nobackup/dzhang8/software/esmf-8.3.1/install set version 2023.04-intel ================================================ FILE: run/GCHP/runScriptSamples/operational_examples/nasa_pleiades/gchp.pleiades.run ================================================ #!/bin/bash #PBS -S /bin/bash #PBS -N SGIdebugGCHP #PBS -l select=2:ncpus=24:mpiprocs=48:model=bro #PBS -l walltime=00:30:00 #PBS -j oe #PBS -W group_list=[YOUR_ACCOUNT] #PBS -m e #PBS -M your.name@email.com # to run on more nodes / processes, use # #PBS -l select=NNODEES:ncpus=NCPUS_PER_NODE:mpirocs=(NNODES * NCPUS_PER_NODE):model=bro # for example, to run on 48 cores total over 2 nodes # #PBS -l select=2:ncpus=24:mpiprocs=48:model=bro # By default, PBS executes your job from your home directory. # However, you can use the environment variable # PBS_O_WORKDIR to change to the directory where # you submitted your job. cd $PBS_O_WORKDIR # Exit if command fails, and log all commands set -e # Debug option to print all commands in this script #set -x # Export and unset certain environment variables export MPI_LAUNCH_TIMEOUT=40 export PATH=$PATH:/u/scicon/tools/bin export FOR_IGNORE_EXCEPTIONS=false export MPI_COLL_REPRODUCIBLE unset MPI_MEMMAP_OFF unset MPI_NUM_MEMORY_REGIONS export MPI_XPMEM_ENABLED=yes unset SUPPRESS_XPMEM_TRIM_THRESH unset PMI_RANK # Define log name to include simulation start date start_str=$(sed 's/ /_/g' cap_restart) log=gchp.${start_str:0:13}z.log echo "Writing output to ${log}" # Update config files, set restart symlink, load run env, and do sanity checks source setCommonRunSettings.sh > ${log} source setRestartLink.sh >> ${log} source gchp.env >> ${log} source checkRunSettings.sh >> ${log} # Use SLURM to distribute tasks across nodes NX=$( grep NX GCHP.rc | awk '{print $2}' ) NY=$( grep NY GCHP.rc | awk '{print $2}' ) coreCount=$(( ${NX} * ${NY} )) # Echo info from computational cores to log file for displaying results echo "# of CPUs : ${coreCount}" >> ${log} #echo "# of nodes: ${SLURM_NNODES}" >> ${log} echo "-m plane : ${planeCount}" >> ${log} # Echo start date echo ' ' >> ${log} echo '===> Run started at' `date` >> ${log} # Turn off exit if command fails to allow script to finish if GCHP exits early set +e mpiexec -n $coreCount ./gchp >> $log 2>&1 & tail --pid=$! -f $log #mpiexec dplace -s1 -c 4-11 ./grinder < run_input > output rc=$? # Rename mid-run checkpoint files, if any. Discard file if time corresponds # to run start time since duplicate with initial restart file. chkpnts=$(ls Restarts) for chkpnt in ${chkpnts} do if [[ "$chkpnt" == *"gcchem_internal_checkpoint."* ]]; then chkpnt_time=${chkpnt:27:13} if [[ "${chkpnt_time}" = "${start_str:0:13}" ]]; then rm ./Restarts/${chkpnt} else new_chkpnt=./Restarts/GEOSChem.Restart.${chkpnt_time}z.c${N}.nc4 mv ./Restarts/${chkpnt} ${new_chkpnt} fi fi done # Rename restart file and update restart symlink if new start time ok new_start_str=$(sed 's/ /_/g' cap_restart) if [[ "${new_start_str}" = "${start_str}" || "${new_start_str}" = "" ]]; then echo "ERROR: GCHP failed to run to completion. Check the log file for more information." rm -f Restarts/gcchem_internal_checkpoint exit 1 else N=$(grep "CS_RES=" setCommonRunSettings.sh | cut -c 8- | xargs ) mv Restarts/gcchem_internal_checkpoint Restarts/GEOSChem.Restart.${new_start_str:0:13}z.c${N}.nc4 source setRestartLink.sh fi # Echo end date echo '===> Run ended at' `date` >> ${log} echo "Exit code: $rc" # -end of script- exit $rc ================================================ FILE: run/GCHP/runScriptSamples/operational_examples/nci_gadi/README ================================================ This directory contains a sample GCHP run script and environment file for running on Australia's National Computational Infrastructure (NCI) Gadi cluster. See also https://nci.org.au/. Contact: Jenny Fisher at University of Wollongong jennyf@uow.edu.au ================================================ FILE: run/GCHP/runScriptSamples/operational_examples/nci_gadi/gchp.pbs.run ================================================ #!/bin/bash #PBS -P m19 #PBS -q normal #PBS -N GCHP #PBS -l wd #PBS -l storage=gdata/m19 #PBS -l ncpus=384 #PBS -l mem=1500GB #PBS -l walltime=4:00:00 #PBS -j oe # Unlimit resources (to prevent OS killing GCHP due to resource usage) ulimit -c 0 # coredumpsize ulimit -l unlimited # memorylocked ulimit -u 50000 # maxproc ulimit -v unlimited # vmemoryuse ulimit -s unlimited # stacksize # Exit if command fails, and log all commands set -e # Debug option to print all commands executed in this script #set -x # Define log name to include simulation start date start_str=$(sed 's/ /_/g' cap_restart) log=gchp.${start_str:0:13}z.log echo "Writing output to ${log}" # Update config files, set restart symlink, load run env, and do sanity checks source setCommonRunSettings.sh > ${log} source setRestartLink.sh >> ${log} source gchp.env >> ${log} source checkRunSettings.sh >> ${log} # Turn off exit if command fails to allow script to finish if GCHP exits early set +e # Run the code mpirun ./gchp >> $log # Rename mid-run checkpoint files, if any. Discard file if time corresponds # to run start time since duplicate with initial restart file. chkpnts=$(ls Restarts) for chkpnt in ${chkpnts} do if [[ "$chkpnt" == *"gcchem_internal_checkpoint."* ]]; then chkpnt_time=${chkpnt:27:13} if [[ "${chkpnt_time}" = "${start_str:0:13}" ]]; then rm ./Restarts/${chkpnt} else new_chkpnt=./Restarts/GEOSChem.Restart.${chkpnt_time}z.c${N}.nc4 mv ./Restarts/${chkpnt} ${new_chkpnt} fi fi done # Rename restart file and update restart symlink if new start time ok new_start_str=$(sed 's/ /_/g' cap_restart) if [[ "${new_start_str}" = "${start_str}" || "${new_start_str}" = "" ]]; then echo "ERROR: GCHP failed to run to completion. Check the log file for more information." rm -f Restarts/gcchem_internal_checkpoint exit 1 else N=$(grep "CS_RES=" setCommonRunSettings.sh | cut -c 8- | xargs ) mv Restarts/gcchem_internal_checkpoint Restarts/GEOSChem.Restart.${new_start_str:0:13}z.c${N}.nc4 source setRestartLink.sh fi trap times EXIT ================================================ FILE: run/GCHP/runScriptSamples/operational_examples/nci_gadi/gchp_env_nci ================================================ module load intel-compiler/2020.3.304 module load intel-mkl/2020.3.304 module load netcdf/4.7.4 module load esmf/8.0.1 module load cmake/3.18.2 module load hdf5/1.10.5 module load openmpi/4.0.3 echo "cmake command flags:" echo " -DCMAKE_PREFIX_PATH=\"/apps/netcdf/4.7.4/lib/Intel/;/apps/netcdf/4.7.4/include/Intel/;/apps/openmpi/4.0.3/lib/Intel/;/apps/openmpi/4.0.3/include/Intel/\" -DRUNDIR=/scratch/m19/jaf574/GCHP.v13/runs.GCHP/run.gchp.v13.0.0-rc.merra2.standard -DOMP=OFF -DCMAKE_EXE_LINKER_FLAGS=\"-lmpi_cxx -lmkl_core -lmkl_intel_lp64 -lmkl_intel_thread -liomp5\"" ================================================ FILE: run/GCHP/runScriptSamples/operational_examples/wustl_compute1/README ================================================ Contact: GEOS-Chem Support Team at Washington University in St. Louis geos-chem-support@g.harvard.edu Yuanjian Zhang at WashU yuanjianz @ GitHub yuanjian.z@wustl.edu ================================================ FILE: run/GCHP/runScriptSamples/operational_examples/wustl_compute1/c360_requeuing.sh ================================================ #!/bin/bash #BSUB -q rvmartin #BSUB -n 720 #BSUB -W 36:00 #BSUB -Q 163 #BSUB -R "rusage[mem=300GB] span[ptile=36] select[mem < 2TB]" #BSUB -a 'docker(registry.gsc.wustl.edu/sleong/base-engineering)' #BSUB -J "C360" #BSUB -g /liam.bindle/C360 #BSUB -N #BSUB -u liam.bindle@wustl.edu #BSUB -o lsf-%J.txt # This job auto-suspends every ~24 hours. This is to prevent blocking other jobs that are # queued in 'rvmartin'. It relies on two files that act as semaphores: # CONTINUE_SEM: if exists, continue the simulation from the latest restart file # REQUEUE_SEM: if exists, requeue the job after it finishes # GCHP output is logged to a file with the name _.log, where is the date # that the simulation segment is starting from, and is the real-word start time of # the job. # Source /etc/bashrc . /etc/bashrc # Custom functions function last_checkpoint() { ls -1 gcchem_internal_checkpoint*.nc4 | tail -n 1 } function last_checkpoint_date() { last_checkpoint | sed 's/gcchem_internal_checkpoint.\(20[12][0-9][0-9][0-9][0123][0-9]\).*/\1/' } # Set up runtime environment #set -x # Print executed commands (optional debugging) ulimit -c 0 # coredumpsize ulimit -l unlimited # memorylocked ulimit -u 50000 # maxproc ulimit -v unlimited # vmemoryuse ulimit -s unlimited # stacksize export TMPDIR="$__LSF_JOB_TMPDIR__" export OMP_NUM_THREADS=1 export I_MPI_ADJUST_GATHERV=3 # IMPORTANT export I_MPI_ADJUST_ALLREDUCE=12 export I_MPI_DAPL_UD=enable export I_MPI_SHM_HEAP_VSIZE=512 # Might fix: Assertion failed in file ../../src/mpid/ch4/src/intel/ch4_shm_coll.c at line 2147: comm->shm_numa_layout[my_numa_node].base_addr RESTART_DATE=SIM_START if [ ! -f CONTINUE_SEM ] ; then # start simulation from time=0 rm -f cap_restart #gcchem* ./setCommonRunSettings.sh touch CONTINUE_SEM else # start simulation from the last checkpoint's date RESTART_FILE=$(last_checkpoint) RESTART_DATE=$(last_checkpoint_date) echo "$RESTART_DATE 000000" > cap_restart sed -i "s/GCHPchem_INTERNAL_RESTART_FILE: .*/GCHPchem_INTERNAL_RESTART_FILE: $RESTART_FILE/g" GCHP.rc fi rm -f gcchem_internal_checkpoint mpirun -np 720 ./gchp &> ${RESTART_DATE}-$(date +"%Y%m%d_%H%M").log if [ -f REQUEUE_SEM ] ; then exit 163 # exit code 163 requeues the job (according to #BSUB -Q 163) fi ================================================ FILE: run/GCHP/runScriptSamples/operational_examples/wustl_compute1/execute.sh ================================================ #!/bin/bash ulimit -s unlimited ./gchp ================================================ FILE: run/GCHP/runScriptSamples/operational_examples/wustl_compute1/gchp.batch_job.sh ================================================ #!/bin/bash #BSUB -G compute-rvmartin #BSUB -q rvmartin #BSUB -n 24 #BSUB -W 168:00 #BSUB -R "rusage[mem=300GB] span[ptile=36] select[mem < 2TB]" #BSUB -a 'docker(1dandan/gchp-esmf8.3:latest)' #BSUB -o lsf-%J.txt # # # source bashrc /bin/bash . /etc/bashrc # ################################################################# # # ADDITIONAL PRE-RUN CONFIGURATION # # If a subsequent command fails, treat it as fatal (don't continue) set -e # For remainder of script, echo commands to the job's log file set -x # Unlimit resources to prevent OS killing GCHP due to resource usage/ # Alternatively you can put this in your environment file. # This is not working on LSF system because ulimit settings are not passed to mpi-launched tasks. ulimit -c 0 # coredumpsize ulimit -l unlimited # memorylocked ulimit -u 50000 # maxproc ulimit -v unlimited # vmemoryuse ulimit -s unlimited # stacksize ################################################################# # # PRE-RUN COMMANDS # # Print loaded modules #module list # Define log name to include simulation start date start_str=$(sed 's/ /_/g' cap_restart) log=gchp.${start_str:0:13}z.log # Update config files, set restart symlink, and do sanity checks source setCommonRunSettings.sh source setRestartLink.sh source checkRunSettings.sh # Turn off exit if command fails to allow script to finish if GCHP exits early set +e ################################################################# # # LAUNCH GCHP # # mpiexec -n 24 ./execute.sh &> ${log} # For OpenMPI, enable oversubscription to allow more ranks to be assigned to a host than the number of slots that are available # mpiexec --oversubscribe -n 24 ./gchp &> ${log} # ################################################################# # # POST-RUN COMMANDS # # Rename mid-run checkpoint files, if any. Discard file if time corresponds # to run start time since duplicate with initial restart file. chkpnts=$(ls Restarts) N=$(grep "CS_RES=" setCommonRunSettings.sh | cut -c 8- | xargs ) for chkpnt in ${chkpnts} do if [[ "$chkpnt" == *"gcchem_internal_checkpoint."* ]]; then chkpnt_time=${chkpnt:27:13} if [[ "${chkpnt_time}" = "${start_str:0:13}" ]]; then rm ./Restarts/${chkpnt} else new_chkpnt=./Restarts/GEOSChem.Restart.${chkpnt_time}z.c${N}.nc4 mv ./Restarts/${chkpnt} ${new_chkpnt} fi fi done # If new start time in cap_restart is okay, rename restart file # and update restart symlink new_start_str=$(sed 's/ /_/g' cap_restart) if [[ "${new_start_str}" = "${start_str}" || "${new_start_str}" = "" ]]; then echo "ERROR: cap_restart either did not change or is empty." rm -f Restarts/gcchem_internal_checkpoint exit 1 else mv Restarts/gcchem_internal_checkpoint Restarts/GEOSChem.Restart.${new_start_str:0:13}z.c${N}.nc4 source setRestartLink.sh fi ================================================ FILE: run/GCHP/runScriptSamples/operational_examples/wustl_compute2/README ================================================ Note: This environment was built with the base GCC 11.3.1 on compute2 instead of the GCC 13 loaded with module. Please make sure you unload the GCC 13 module before using. Contact: Yuanjian Zhang at WashU yuanjianz @ GitHub yuanjian.z@wustl.edu ================================================ FILE: run/GCHP/runScriptSamples/operational_examples/wustl_compute2/gchp.run ================================================ #!/bin/bash #SBATCH -N #SBATCH -c 1 #SBATCH --ntasks-per-node 64 #SBATCH -t 05-00:00 #SBATCH -p general-cpu #SBATCH -q general-cpu-qos #SBATCH --exclusive source gchp_202505_hpcx_openmpi4_serial_IO.env module list set -e set -x export HDF5_USE_FILE_LOCKING=FALSE # Compute2 storage is NFS export UCX_TLS=^shm # Exclude shared memory in intra-node communication to avoid hanging during history/restart start_str=$(sed 's/ /_/g' cap_restart) log=gchp.${start_str:0:13}z.log # Update config files, set restart symlink, and do sanity checks source setCommonRunSettings.sh source setRestartLink.sh source checkRunSettings.sh touch allPEs.log touch warnings_and_errors.log mpirun -n $SLURM_NTASKS --map-by ppr:16:numa --bind-to core ./gchp &> ${log} # specify core binding with mpirun instead srun # Rename mid-run checkpoint files, if any. Discard file if time corresponds # to run start time since duplicate with initial restart file. chkpnts=$(ls Restarts) N=$(grep "CS_RES=" setCommonRunSettings.sh | cut -c 8- | xargs ) for chkpnt in ${chkpnts} do if [[ "$chkpnt" == *"gcchem_internal_checkpoint."* ]]; then chkpnt_time=${chkpnt:27:13} if [[ "${chkpnt_time}" = "${start_str:0:13}" ]]; then rm ./Restarts/${chkpnt} else new_chkpnt=./Restarts/GEOSChem.Restart.${chkpnt_time}z.c${N}.nc4 mv ./Restarts/${chkpnt} ${new_chkpnt} fi fi done # # If new start time in cap_restart is okay, rename restart file # # and update restart symlink new_start_str=$(sed 's/ /_/g' cap_restart) if [[ "${new_start_str}" = "${start_str}" || "${new_start_str}" = "" ]]; then echo "ERROR: GCHP failed to run to completion. Check the log file for more information." rm -f Restarts/gcchem_internal_checkpoint exit 1 else mv Restarts/gcchem_internal_checkpoint Restarts/GEOSChem.Restart.${new_start_str:0:13}z.c${N}.nc4 source setRestartLink.sh fi ================================================ FILE: run/GCHP/runScriptSamples/operational_examples/wustl_compute2/gchp_202505_hpcx_openmpi4_serial_IO.env ================================================ #!/bin/bash source ~/.bashrc module purge module use -a /rdcw/fs2/rvmartin2/Active/yuanjian.z/shared/modulefiles module use -a /cm/shared/apps/mellanox/hpcx-v2.18.1-gcc-mlnx_ofed-redhat9-cuda12-x86_64/modulefiles module load slurm spack source $SPACK_ROOT/share/spack/setup-env.sh spack env activate gchp_env_hpcx_serial module load hpcx ulimit -c 0 # coredumpsize ulimit -l unlimited # memorylocked ulimit -u 50000 # maxproc ulimit -v unlimited # vmemoryuse ulimit -s unlimited # stacksize ================================================ FILE: run/GCHP/runScriptSamples/operational_examples/york_viking/README ================================================ Contact: Killian Murphy at The University of York killian.murphy@york.ac.uk ================================================ FILE: run/GCHP/runScriptSamples/operational_examples/york_viking/gchp.intel.2021b.viking.env ================================================ #!/usr/bin/env bash #=============================================================================== # Load modules #=============================================================================== module purge module load toolchain/intel/2021b module load devel/CMake/3.22.1-GCCcore-11.2.0 module load tools/git/2.33.1-GCCcore-11.2.0-nodocs module load data/netCDF/4.8.1-iimpi-2021b module load data/netCDF-Fortran/4.5.3-iimpi-2021b module load data/netCDF-C++4/4.3.1-iimpi-2021b #=============================================================================== # Set environment variables #=============================================================================== export CC="icc" export CXX="icpc" export FC="ifort" export ESMF_ROOT="/mnt/lustre/groups/chem-acm-2018/libraries/ESMF/8.3.1-intel-2021b-nolapack" ================================================ FILE: run/GCHP/runScriptSamples/operational_examples/york_viking/gchp.intel.sbatch ================================================ #!/usr/bin/env bash #=============================================================================== #SBATCH --job-name=GCHP_JOB_NAME #SBATCH --mail-user=USER@york.ac.uk #SBATCH --mail-type=ALL #SBATCH --account=YOUR-VIKING-ACCOUNT-CODE #SBATCH --output=%x_%j.log #------------------------------------------------------------------------------- #SBATCH --partition=nodes #SBATCH --nodes=3 #SBATCH --exclusive #SBATCH --ntasks-per-node=40 #SBATCH --ntasks-per-core=1 #SBATCH --cpus-per-task=1 #SBATCH --mem=0 #SBATCH --time=01:00:00 #=============================================================================== set -e # SET UP CLEAN MODULES: source gchp.env # MPI PERFORMANCE TWEAKS: export I_MPI_ADJUST_GATHERV="3" export I_MPI_ADJUST_ALLREDUCE="12" # CHANGE USER LIMITS: ulimit -s unlimited # RUN GCHP: mpiexec -n "${SLURM_NTASKS}" ./gchp ================================================ FILE: run/GCHP/setCommonRunSettings.sh.template ================================================ #!/bin/bash # setCommonRunSettings.sh: Set run-time settings for GCHP and update all config # files to use these settings. Pass optional argument --verbose to print # all settings configured when using this script. # Usage: ./setCommonRunSettings.sh [--verbose] #------------------------------------------------ # COMPUTE RESOURCES #------------------------------------------------ # Total cores must be divisible by 6 TOTAL_CORES=${RUNDIR_NUM_CORES} NUM_NODES=${RUNDIR_NUM_NODES} NUM_CORES_PER_NODE=${RUNDIR_CORES_PER_NODE} #------------------------------------------------ # GRID RESOLUTION #------------------------------------------------ # Even integer representing number of grid cells per cubed-sphere face side # # NOTE: If using mass flux inputs then grid resolution must be evenly divisible # by input mass flux resolution, or vice versa. Acceptable resolutions for GEOS-IT # when using mass fluxes are therefore in set [10,30,90,180,360,540,720,etc] CS_RES=${RUNDIR_CS_RES} #------------------------------------------------ # STRETCHED GRID #------------------------------------------------ # Turn stretched grid ON/OFF. Follow these rules if ON: # (1) Minimum STRETCH_FACTOR value is 1.0001 # (2) TARGET_LAT and TARGET_LON are floats containing decimal # (3) TARGET_LON in range [0,360) or [-180,180) # (4) STRETCH_FACTOR, TARGET_LAT, and TARGET_LON exactly match # the global attribute values of these parameters in the # initial restart file # # NOTE: Running with stretched grid requires using winds in advection. # Create a new run directory to use winds if this one uses mass fluxes. STRETCH_GRID=OFF STRETCH_FACTOR=2.0 TARGET_LAT=-45.0 TARGET_LON=170.0 #------------------------------------------------ # SIMULATION DURATION #------------------------------------------------ # Format is "YYYYMMDD HHmmSS". Example: "0000100 000000" for 1 month Run_Duration="${RUNDIR_SIM_DUR_YYYYMMDD} ${RUNDIR_SIM_DUR_HHmmSS}" #------------------------------------------------------------ # GEOS-CHEM COMPONENTS #------------------------------------------------------------ # Sets values in geoschem_config.yml Do_Chemistry=true Do_Advection=true Do_Cloud_Conv=true Do_PBL_Mixing=true Do_Non_Local_Mixing=${RUNDIR_USE_NLPBL} Do_DryDep=true Do_WetDep=true #--------------------------------------------------------------------- # DIAGNOSTICS #--------------------------------------------------------------------- # Auto-update settings in HISTORY.rc for specific collections (enable with ON) # NOTE: you must add new collections to the list below to auto-update them. AutoUpdate_Diagnostics=OFF # Instructions to auto-update diagnostics # 1. Set AutoUpdate_Diagnostics=ON: # 2. Set Diag_Monthly to compute monthly time-averaged values (0=OFF, 1=ON) # 3. If Diag_Monthly=OFF: # 3a. Set Diag_Frequency for diagnostic frequency, format "HHmmSS" # 3b. Set Diag_Duration for file write frequency, format "HHmmSS" # *Note that number of hours may exceed 2 digits, e.g. 744 for 744 hrs # 4. Edit Diag_Collections list to specify which collections to update Diag_Monthly="${RUNDIR_HIST_MONTHLY_DIAG}" Diag_Frequency="${RUNDIR_HIST_TIME_AVG_FREQ}" Diag_Duration="${RUNDIR_HIST_TIME_AVG_DUR}" Diag_Collections=(SpeciesConc \ AerosolMass \ Aerosols \ Budget \ Carbon \ CloudConvFlux \ ConcAfterChem \ DryDep \ DefaultCollection \ Emissions \ FV3Dynamics \ GCHPctmEnvLevCenter \ GCHPctmEnvLevEdge \ JValues \ KppDiags \ KppARDiags \ Metrics \ ProdLoss \ RadioNuclide \ RRTMG \ StateChm \ StateMet \ StateMetLevEdge \ StratBM \ Tomas \ Transport \ UVFlux \ WetLossConv \ WetLossLS \ ) #------------------------------------------------------------ # MID-RUN CHECKPOINT FILES #------------------------------------------------------------ # Instructions for configuring restart output before end of run: # 1. Set Midrun_Checkpoint=ON # 2. Set Checkpoint_Freq to either monthly or a string of format HHmmss # where HHmmss is frequency hours, minutes, and seconds. # More than 2 digits for hours is permitted, e.g. "1680000" for 7 days. # NOTE: Frequency of output will be measured from start date set in cap_restart. Midrun_Checkpoint=OFF Checkpoint_Freq=monthly #------------------------------------------------ # REQUIRE ALL SPECIES IN INITIAL RESTART FILE #------------------------------------------------ # Set to 1 to require all species in restart; set to 0 to enable missing species. Require_Species_in_Restart=${RUNDIR_INITIAL_RESTART_SPECIES_REQUIRED} ################################################################### # INFREQUENTLY CHANGED SETTINGS ################################################################### #------------------------------------------------ # DOMAIN DECOMPOSITION #------------------------------------------------ # Enable auto-update of NX and NY based on core count by setting to ON. This # will make NX by NY/6 as square as possible to reduce communication overhead # in GCHP. Only disable this feature if using mass fluxes. AutoUpdate_NXNY=ON # Specify NX and NY below if not auto-updating. Otherwise leave blank. See rules below. NX= NY= # Cores are distributed across each of the six cubed sphere faces using # configurable parameters NX and NY. Each face is divided into NX by NY/6 # regions and each of those regions is processed by a single core # independent of which node it belongs to. # # Rules and tips for setting NX and NY manually: # 1. NY must be an integer and a multiple of 6 # 2. NX*NY must equal total number of cores (NUM_NODES*NUM_CORES_PER_NODE) # 3. NX and NY should be as close to equal as possible (maximize squareness) # Good examples: (NX=4,NY=24) -> 96 cores at 4x4 # (NX=6,NY=24) -> 144 cores at 6x4 # Bad examples: (NX=8,NY=12) -> 96 cores at 8x2 # (NX=12,NY=12) -> 144 cores at 12x2 # 4. Domain decomposition requires that CS_RES/NX >= 4 and CS_RES*6/NY >= 4, # which puts an upper limit on total cores per grid resolution. # c24: 216 cores (NX=6, NY=36 ) # c48: 864 cores (NX=12, NY=72 ) # c90: 3174 cores (NX=22, NY=132) # c180: 12150 cores (NX=45, NY=270) # c360: 48600 cores (NX=90, NY=540) # Using fewer cores may still trigger a domain decomposition error, e.g.: # c48: 768 cores (NX=16, NY=48) --> 48/16=3 will trigger FV3 error # 5. If using mass flux inputs then both native mass flux resolution and model # run resolution must be evenly divisible by both NX and NY/6. # Example of C180 fluxes (e.g. GEOS-IT) run at C90: # 96 cores, NX=4, NY/6=4 -> fail (90/4=22.5) # 150 cores, NX=5, NY/6=5 -> success (180/5=36, 90/5=18) # 216 cores, NX=6, NY/6=6 -> success (180/6=30, 90/6=15) # 384 cores, NX=8, NY/6=8 -> fail (180/8=22.5) #------------------------------------------------ # TIMESTEPS #------------------------------------------------ # Non-RRTMG timesteps in GCHP are resolution-dependent. # Stretched grid timesteps are set based on the high-resolution region. CS_RES_EFFECTIVE=${CS_RES} if [[ ${STRETCH_GRID} == 'ON' ]]; then CS_RES_EFFECTIVE=$( echo $CS_RES $STRETCH_FACTOR | awk '{printf "%.0f",$1*$2}' ) fi if [[ $CS_RES_EFFECTIVE -lt 180 ]]; then ChemEmiss_Timestep_sec=1200 TransConv_Timestep_sec=600 TransConv_Timestep_HHMMSS=001000 else ChemEmiss_Timestep_sec=600 TransConv_Timestep_sec=300 TransConv_Timestep_HHMMSS=000500 fi RRTMG_Timestep_sec=10800 #------------------------------------------------------------------ # ONLINE DUST MASS TUNING FACTOR #------------------------------------------------------------------ # Mass tuning factor is used in the HEMCO DustL23M extension for GEOS-Chem # benchmarking and is resolution and met-source dependent. We recommend # using offline dust instead of the online extension for GCHP science runs. # dustL23M="" tomasDustDead="" Dust_SF="" # Check if DustL23M is turned on result=$(grep "125.*DustL23M" HEMCO_Config.rc || echo "missing") if [[ "x${result}" != "xmissing" ]]; then array=(${result// / }) dustL23M=${array[3]} fi # Check if TOMAS_DustDead is turned on result=$(grep "131.*TOMAS_DustDead" HEMCO_Config.rc || echo "missing") if [[ "x${result}" != "xmissing" ]]; then array=(${result// / }) tomasDustDead=${array[3]} fi # Error check, cannot have both DustL23M and TOMAS_DustDead! if [[ "x${dustL23M}" == "xon" && "x${tomasDustDead}" == "xon" ]]; then msg="ERROR: DustL23M and TOMAS_DustDead extensions cannot both be " msg+="switched on at the same time! Please check HEMCO_Config.rc." echo "${msg}" exit 1 fi if [[ "x${dustL23M}" == "xon" || "x${tomasDustDead}" == "xon" ]]; then metField=$(grep "met_field:" geoschem_config.yml) metField=${metField/met_field\:/} metField=${metField// /} if [[ "x${STRETCH_GRID}" == "xON" ]]; then msg="WARNING: Online dust is not recommended for stretched-grid " msg+="simulations. Consider using OFFLINE_DUST instead." echo "${msg}" fi #------------------------------------------------------------------------ # Dust mass tuning factors for DustL23M were generated by # Dandan Zhang (@1Dandan), see: # https://github.com/geoschem/geos-chem/pull/2946#issuecomment-3465876899 #------------------------------------------------------------------------ if [[ "x${dustL23M}" == "xon" ]]; then #--------------------- # DustL23M + GEOS-FP #--------------------- if [[ "x${metField}" == "xGEOSFP" ]]; then if [[ "x${CS_RES}" == "x24" ]]; then Dust_SF=6.794E-03 elif [[ "x${CS_RES}" == "x48" ]]; then Dust_SF=4.402E-03 elif [[ "x${CS_RES}" == "x90" ]]; then Dust_SF=3.533E-03 elif [[ "x${CS_RES}" == "x180" ]]; then Dust_SF=3.081E-03 elif [[ "x${CS_RES}" == "x360" ]]; then Dust_SF=2.924E-03 else msg="Dust mass tuning factors for ${CS_RES} are not available " msg+="for GEOS-FP meteorology. Please add the tuning factor " msg+="you wish to use for this resolution." echo "${msg}" exit 1 fi #--------------------- # DustL23m + GEOS-IT #--------------------- elif [[ "x${metField}" == "xGEOSIT" ]]; then if [[ "x${CS_RES}" == "x30" ]]; then Dust_SF=4.231E-03 elif [[ "x${CS_RES}" == "x48" ]]; then Dust_SF=3.308E-03 elif [[ "x${CS_RES}" == "x90" ]]; then Dust_SF=2.614E-03 elif [[ "x${CS_RES}" == "x180" ]]; then Dust_SF=2.314E-03 else msg="Dust mass tuning factors for ${CS_RES} are not available " msg+="for GEOS-IT meteorology. Please add the tuning factor " msg+="you wish to use for this resolution." echo "${msg}" exit 1 fi #--------------------- # DustL23M + MERRA2 #--------------------- elif [[ "x${metField}" == "xMERRA2" ]]; then if [[ "x${CS_RES}" == "x24" ]]; then Dust_SF=7.944E-03 elif [[ "x${CS_RES}" == "x48" ]]; then Dust_SF=4.253E-03 elif [[ "x${CS_RES}" == "x90" ]]; then Dust_SF=4.341E-03 elif [[ "x${CS_RES}" == "x180" ]]; then Dust_SF=3.932E-03 else msg="Dust mass tuning factors for ${CS_RES} are not available " msg+="for MERRA-2 meteorology. Please add the tuning factor " msg+="you wish to use for this resolution." echo "${msg}" exit 1 fi else msg="Dust mass tuning factors for ${CS_RES} are not available " msg+="for ${metField} meteorology. Please add the tuning factor " msg+="you wish to use for this resolution." echo "${msg}" exit 1 fi #------------------------------------------------------------------------ # Dust mass tuning factors for TOMAS_DustDead extension are the same # as were previously computed for the DustDead extension #------------------------------------------------------------------------ else if [[ $CS_RES -eq 24 ]]; then if [[ "x${metField}" == "xMERRA2" ]]; then Dust_SF=5.4856e-5 elif [[ "x${metField}" == "xGEOSFP" ]]; then Dust_SF=4.6495e-5 elif [[ "x${metField}" == "xGEOSIT" ]]; then Dust_SF=3.7410e-5 else msg="TOMAS DustDead scale factors are currently only " msg+="available for C24 with MERRA-2, GEOSFP, or GEOSIT." echo "${msg}" exit 1 fi # # NOTE: Met-field dependent mass tuning factors for the grid # resolutions listed below will be added later. # Leave the prior values for now. # elif [[ $CS_RES -eq 30 ]]; then Dust_SF=5.76e-4 # approximated as linear interpolation between 24 and 48. use for testing only! msg="WARNING: Mass tuning factor for TOMAS_DustDead " msg+="at c${CS_RES} resolution needs updating!" echo "${msg}" elif [[ $CS_RES -eq 48 ]]; then Dust_SF=5.0416e-4 msg="WARNING: Mass tuning factor for TOMAS_DustDead " msg+="at c${CS_RES} resolution needs updating!" echo "${msg}" elif [[ $CS_RES -eq 90 ]]; then Dust_SF=4.0e-4 msg="WARNING: Mass tuning factor for TOMAS_DustDead " msg+="at c${CS_RES} resolution needs updating!" echo "${msg}" elif [[ $CS_RES -eq 180 ]]; then Dust_SF=3.23e-4 msg="WARNING: Mass tuning factor for TOMAS_DustDead " msg+="at c${CS_RES} resolution needs updating!" echo "${msg}" elif [[ $CS_RES -eq 360 ]]; then Dust_SF=2.35e-4 msg="WARNING: Mass tuning factor for TOMAS_DustDead " msg+="at c${CS_RES} resolution needs updating!" echo "${msg}" elif [[ $CS_RES -eq 720 ]]; then Dust_SF=2.3e-4 msg="WARNING: Mass tuning factor for TOMAS_DustDead " msg+="at c${CS_RES} resolution needs updating!" echo "${msg}" else msg="Dust mass tuning factor not defined for c${CS_RES}! " msg+="Please add the tuning factor you wish to use above." echo "${msg}" exit 1 fi fi fi #------------------------------------------------ # MODEL PHASE #------------------------------------------------ # FORWARD for forward model, ADJOINT for adjoint model Model_Phase=FORWARD #------------------------------------------------ # MAPL ExtData versions #------------------------------------------------ # Set to true to use ExtData2G in MAPL (requires yaml input file) Use_ExtData2G=false ############################### #### ERROR CHECKS ############################### #### Check that resource allocation makes sense if (( ${TOTAL_CORES}%6 != 0 )); then echo "ERROR: TOTAL_CORES must be divisible by 6. Update value in setCommonRunSettings.sh." exit 1 fi if (( ${TOTAL_CORES} != ${NUM_NODES}*${NUM_CORES_PER_NODE} )); then echo "ERROR: TOTAL_CORES must equal to NUM_NODES times NUM_CORES_PER_NODE. Update values in setCommonRunSettings.sh." exit 1 fi #### If on, auto-calculate NX and NY to maximize squareness of core regions if [[ ${AutoUpdate_NXNY} == 'ON' ]]; then Z=$(( ${NUM_NODES}*${NUM_CORES_PER_NODE}/6 )) # Use "bash calculator" if available; Python if not; fail otherwise bc_ok=0 py_ok=0 which bc &> /dev/null || bc_ok=$? which python &> /dev/null || py_ok=$? if [[ $bc_ok -eq 0 ]]; then # Use bash calculator SQRT=$(echo "sqrt (${Z})" | bc -l) N=$(echo $SQRT | awk '{print int($1+0.999)}') elif [[ $py_ok -eq 0 ]]; then # Use system Python SQRT=$( python -c "import math; print(int(math.sqrt(${Z})))" ) N=$SQRT else echo "Cannot auto-determine NX and NY (need either bc or python available)" exit 70 fi while [[ "${N}" > 0 ]]; do if (( ${Z} % ${N} == 0 )); then NX=${N} NY=$((${Z}/${N}*6)) break else N=$((${N}-1)) fi done fi #### Check that NX and NY make sense if (( ${NX}*${NY} != ${TOTAL_CORES} )); then echo "ERROR: NX*NY must equal TOTAL_CORES. Check values in setCommonRunSettings.sh." exit 1 fi if (( ${NY}%6 != 0 )); then echo "ERROR: NY must be an integer divisible by 6. Check values in setCommonRunSettings.sh." exit 1 fi #### Check grid resolution if (( (${CS_RES}) % 2 != 0 )); then echo "ERROR: Cubed-sphere face does not have even number of grid cells per side. Update grid resolution in setCommonRunSettings.sh to be an even number." exit 1 fi #### Check that domain decomposition will not trigger a FV3 domain error if [[ $(( ${CS_RES}/${NX} )) -lt 4 || $(( ${CS_RES}*6/${NY} )) -lt 4 ]]; then echo "ERROR: NX and NY are set such that face side length divided by NX or NY/6 is less than 4. The cubed sphere compute domain has a minimum requirement of 4 points in NX and NY/6. This problem occurs when grid resolution is too low for core count requested. Edit setCommonRunSettings.sh to loower total number of cores or increase your grid resolution." exit 1 fi #### Check if domains are square enough (NOTE: approx using integer division) if [[ $(( ${NX}*6/${NY}*2 )) -ge 5 || $(( ${NY}/${NX}/6*2 )) -ge 5 ]] ; then echo "WARNING: NX and NY are set such that NX x NY/6 has side ratio >= 2.5. Consider adjusting resources in setCommonRunSettings.sh to be more square. This will avoid negative effects due to excessive communication between cores." fi abs() { [[ $[ $@ ] -lt 0 ]] && echo "$[ ($@) * - 1]" || echo "$[ $@ ]" } #### Give error if chem timestep is < dynamic timestep if [[ ${ChemEmiss_Timestep_sec} -lt ${TransConv_Timestep_sec} ]]; then echo "ERROR: chemistry timestep must be >= dynamic timestep. Update values in setCommonRunSettings.sh." exit 1 fi #### Check transport setting. If okay, set binary indicator if [[ ${Do_Advection} == 'true' ]]; then ADVCORE_ADVECTION=1 elif [[ ${Do_Advection} == 'false' ]]; then ADVCORE_ADVECTION=0 else echo "ERROR: Incorrect advection setting" exit 1 fi #### If using stretched grid, check that target lat and lon have decimal if [[ ${STRETCH_GRID} == 'ON' ]]; then if [[ ${TARGET_LAT} != *"."* ]]; then echo "ERROR: Stretched grid target latitude must be float. Edit entry in setCommonRunSettings.sh." exit 1 elif [[ ${TARGET_LON} != *"."* ]]; then echo "ERROR: Stretched grid target longitude must be float. Edit entry in setCommonRunSettings.sh." exit 1 fi fi #### Mass flux checks for grid resolution and domain decomposition MassFlux_Entry=$(grep "MFXC" ExtData.rc || echo "missing") if [[ ${MassFlux_Entry} != "missing" ]]; then #### Get met grid res (assume GEOS-IT and GEOS-FP are the only options) C180_Entry=$(grep "MFXC.*C180" ExtData.rc || echo "missing") if [[ ${C180_Entry} != "missing" ]]; then input_res=180 else input_res=720 fi if (( ${CS_RES} < ${input_res} )); then lowest_res=${CS_RES} highest_res=${input_res} else lowest_res=${input_res} highest_res=${CS_RES} fi #### Check that not using stretched grid if [[ ${STRETCH_GRID} == 'ON' ]]; then echo "ERROR: Do not use stretched grid when using mass flux inputs. Create a winds run directory for stretched grid simulations." exit 1 fi #### Check that input and grid resolutions are evenly divisible if (( (${highest_res}) % (${lowest_res}) != 0 )); then echo "ERROR: Mass flux input resolution and run grid resolution must be evenly divisible. Input resolution is ${input_res} but grid resolution is ${CS_RES}." exit 1 fi #### Check that grid/run resolutions are evenly divisible by NX and NY/6 if (( ${lowest_res} % ${NX} != 0 || ${lowest_res} % (${NY}/6) != 0 )); then echo "ERROR: Input and run resolutions must divide evenly by NX and NY/6 when using mass flux inputs. Manually set NX and NY in setCommonRunSettings.sh for your simulation. Current settings are input resolution ${input_res}, grid resolution ${CS_RES}, NX ${NX} and NY ${NY}." exit 1 fi fi ########################################## #### DEFINE FUNCTIONS TO UPDATE FILES ########################################## #### Determine whether to print info about updates. Prints enabled by default. verbose=0 if [ $# -ne 0 ]; then if [[ $1 = "--verbose" ]]; then verbose=1 fi fi #### Function to print message print_msg() { if [[ ${verbose} = "1" ]]; then echo $1 fi } #### Define function to replace values in .rc files replace_val() { KEY=$1 VAL=$2 FILE=$3 if [[ ${verbose} = "1" ]]; then printf '%-30s : %-20s %-20s\n' "${KEY//\\}" "${VAL}" "${FILE}" fi # Use : for delimiter by default, unless argument passed if [[ -z $4 ]]; then DELIMITER=: else DELIMITER=$4 fi # replace value in line starting with 'whitespace + key + whitespace + : + # whitespace + value' where whitespace is variable length including none sed "s|^\([\t ]*${KEY}[\t ]*${DELIMITER}[\t ]*\).*|\1${VAL}|" ${FILE} > tmp mv tmp ${FILE} } #### Replaces a value (in-place) in a YAML file, see: #### unix.stackexchange.com/questions/618971/sed-replace-in-next-line-in-yaml function replace_val_yaml() { CAT=${1} # category KEY=${2} # subcategory key VALUE=${3} # subcategory value FILE=${4} # YAML file # verbose print if [[ ${verbose} = "1" ]]; then printf '%-30s : %-20s %-20s\n' "${CAT//\\}:${KEY}" "${VALUE}" "${FILE}" fi # Switch the "activate" tag (always the first tag) sed -i -e "/${CAT}:/{n;s/${KEY}:.*/${KEY}: ${VALUE}/;}" ${FILE} # Also switch the use_non_local_mixing tag (after "activate") if [[ "x${CAT}" == "xpbl_mixing" ]];then sed -i -e "/${CAT}:/{n;n;s/${KEY}:.*/${KEY}: ${VALUE}/;}" ${FILE} fi } #### Define function to uncomment line in config file uncomment_line() { if [[ ${verbose} = "1" ]]; then echo "--> Uncommenting $1 in $2" fi if [[ $(grep -c "^[\t ]*$1" $2) == "1" ]]; then return fi num_lines=$(grep -c "^[\t ]*#*[\t ]*$1" $2) if [[ $num_lines == "1" ]]; then sed -i -e "s|[\t ]*#*[\t ]*$1|$1|" $2 elif [[ $num_lines == "0" ]]; then echo "ERROR: Entry for $1 missing in $2!" exit 1 else echo "ERROR: Multiple entries for $1 found in $2!" exit 1 fi } #### Define function to comment line in config file comment_line() { if [[ ${verbose} = "1" ]]; then echo "--> Commenting out $1 in $2" fi if [[ $(grep -c "#.*$1" $2) == "1" ]]; then return fi num_lines=$(grep -c "^[\t ]*$1" $2) if [[ $num_lines == "1" ]]; then sed -i -e "s|[\t ]*$1|#$1|" $2 elif [[ $num_lines > "1" ]]; then echo "ERROR: Multiple entries for $1 found in $2!" exit 1 fi } #### Define function to replace met-field read frequency in ExtData.rc given var name update_dyn_freq() { # String to search for str="^[\t ]*$1*[\t ]" # Check number of matches where first string is start of line, allowing for # whitespace before and require whitespace after. # matches should be one; # otherwise exit with an error. numlines=$(grep -c "$str" $2) if [[ ${numlines} == "0" ]]; then echo "ERROR: met-field $1 missing in $2" #exit 1 elif [[ ${numlines} > 1 ]]; then echo "ERROR: more than one entry in $1 in $2. Reduce to one so that read frequency can be auto-synced with dynamic timestep from setCommonRunSettings.sh." exit 1 fi # Get line number x=$(grep -n "$str" $2) linenum=${x%%:*} # Get current ExtData.rc frequency read string x=$(grep "$str" $2) z=${x%%;*} charnum=${#z} currentstr=${x[0]:${charnum}+1:6} # Replace string with configured dynamic timestep sed -i "${linenum}s/${currentstr}/${TransConv_Timestep_HHMMSS}/" $2 # Print what just happened if [[ ${verbose} = "1" ]]; then printf '%-30s : %-20s %-20s\n' "$1 read frequency" "0;${TransConv_Timestep_HHMMSS}" "$2" fi } ############################### #### UPDATE FILES ############################### print_msg " " print_msg "============================================================" print_msg "Auto-updating config files based on settings in setCommonRunSettings.sh" print_msg "============================================================" #### Set # nodes, # cores, and shared memory option print_msg " " print_msg "Compute resources:" print_msg "------------------" replace_val NX ${NX} GCHP.rc replace_val NY ${NY} GCHP.rc replace_val CoresPerNode ${NUM_CORES_PER_NODE} HISTORY.rc ### Set which version of ExtData will be used if [[ ${Use_ExtData2G} == "true" ]]; then replace_val USE_EXTDATA2G .TRUE. CAP.rc replace_val USE_EXTDATA2G .true. GCHP.rc elif [[ ${Use_ExtData2G} == "false" ]]; then replace_val USE_EXTDATA2G .FALSE. CAP.rc replace_val USE_EXTDATA2G .false. GCHP.rc else echo "ERROR: Use_ExtData2G in setCommonRunSettings.sh must be either true or false." exit 1 fi ### Make sure adjoint diagnostics (if present) are commented out if using ### forward model, and uncommented if using adjoint. if [[ ${Model_Phase} == "FORWARD" ]]; then sed -i "s/^\([\t ]*\)'Adjoint',/\1#'Adjoint',/" HISTORY.rc sed -i "s/^\([\t ]*\)'SFEmissions',/\1#'SFEmissions',/" HISTORY.rc sed -i -e "s/^[ \t]*\(SFEmis.*\)$/#\1/" HEMCO_Diagn.rc else sed -i "s/^\([\t ]*\)'Adjoint',/\1'Adjoint',/" HISTORY.rc sed -i "s/^\([\t ]*\)'SFEmissions',/\1'SFEmissions',/" HISTORY.rc sed -i -e "s/^[ \t]*#\([ \t]*SFEmis.*\)$/\1/" HEMCO_Diagn.rc fi #### set cubed-sphere resolution and related grid variables print_msg " " print_msg "Cubed-sphere resolution:" print_msg "------------------------" CS_RES_x_6=$((CS_RES*6)) replace_val GCHP.IM_WORLD ${CS_RES} GCHP.rc replace_val GCHP.IM ${CS_RES} GCHP.rc replace_val GCHP.JM ${CS_RES_x_6} GCHP.rc replace_val IM ${CS_RES} GCHP.rc replace_val JM ${CS_RES_x_6} GCHP.rc replace_val GCHP.GRIDNAME PE${CS_RES}x${CS_RES_x_6}-CF GCHP.rc if [[ ${STRETCH_GRID} == "ON" ]]; then print_msg " " print_msg "WARNING: stretched grid is enabled" uncomment_line GCHP.STRETCH_FACTOR GCHP.rc uncomment_line GCHP.TARGET_LAT GCHP.rc uncomment_line GCHP.TARGET_LON GCHP.rc sed -i -e "s|#\&fv#_core_nml|\&fv_core_nml|" input.nml uncomment_line do_schmidt input.nml uncomment_line stretch_fac input.nml uncomment_line target_lat input.nml uncomment_line target_lon input.nml replace_val GCHP.STRETCH_FACTOR ${STRETCH_FACTOR} GCHP.rc replace_val stretch_fac ${STRETCH_FACTOR}, input.nml = replace_val GCHP.TARGET_LAT ${TARGET_LAT} GCHP.rc replace_val target_lat ${TARGET_LAT}, input.nml = replace_val GCHP.TARGET_LON ${TARGET_LON} GCHP.rc replace_val target_lon ${TARGET_LON}/ input.nml = elif [[ ${STRETCH_GRID} == "OFF" ]]; then comment_line GCHP.STRETCH_FACTOR GCHP.rc comment_line GCHP.TARGET_LAT GCHP.rc comment_line GCHP.TARGET_LON GCHP.rc sed -i -e "s|\&fv_core_nml|#\&fv#_core_nml|" input.nml comment_line do_schmidt input.nml comment_line stretch_fac input.nml comment_line target_lat input.nml comment_line target_lon input.nml else print_msg "WARNING: unknown setting for GCHP.STRETCH_GRID." exit 1 fi #### Time settings if [[ ${Model_Phase} == "FORWARD" ]]; then Reverse_Time=0 else Reverse_Time=1 fi print_msg " " print_msg "Time settings:" print_msg "--------------------------------" replace_val JOB_SGMT "${Run_Duration}" CAP.rc replace_val MODEL_PHASE "${Model_Phase}" GCHP.rc replace_val REVERSE_TIME "${Reverse_Time}" CAP.rc replace_val SFEmissions.backwards "${Reverse_Time}" HISTORY.rc replace_val "transport_timestep_in_s" ${TransConv_Timestep_sec} geoschem_config.yml replace_val "chemistry_timestep_in_s" ${ChemEmiss_Timestep_sec} geoschem_config.yml replace_val "radiation_timestep_in_s" ${RRTMG_Timestep_sec} geoschem_config.yml replace_val HEARTBEAT_DT ${TransConv_Timestep_sec} GCHP.rc replace_val SOLAR_DT ${TransConv_Timestep_sec} GCHP.rc replace_val IRRAD_DT ${TransConv_Timestep_sec} GCHP.rc replace_val RUN_DT ${TransConv_Timestep_sec} GCHP.rc replace_val GCHPchem_DT ${ChemEmiss_Timestep_sec} GCHP.rc replace_val RRTMG_DT ${RRTMG_Timestep_sec} GCHP.rc replace_val DYNAMICS_DT ${TransConv_Timestep_sec} GCHP.rc replace_val HEARTBEAT_DT ${TransConv_Timestep_sec} CAP.rc replace_val GCHPchem_REFERENCE_TIME ${TransConv_Timestep_HHMMSS} GCHP.rc #### Import modifications. This includes updating ExtData.rc entries for PS2, #### SPHU2, and TMPU2 such that read frequency matches dynamic frequency. #### It also includes updating mass flux and Courant number scaling if reading #### them from file. print_msg " " print_msg "Import settings:" print_msg "--------------------------------" update_dyn_freq PS2 ExtData.rc update_dyn_freq SPHU2 ExtData.rc update_dyn_freq TMPU2 ExtData.rc if [[ ${MassFlux_Entry} != "missing" ]]; then # Mass flux scaling mf_scaling=$(printf "%.7f" $(echo "${TransConv_Timestep_sec} / 450" | bc -l) | awk '{if ($0 ~ /^\./) print "0" $0; else print $0}') sed -i -e "0,/MFXC/ s/\(none\)[[:space:]].*\(MFXC\)/\1 ${mf_scaling} \2/" ExtData.rc # Courant number scaling cn_scaling=$(printf "%.7f" $(echo "${TransConv_Timestep_sec} / 450 * ${CS_RES} * ${CS_RES} / ${input_res} / ${input_res}" | bc -l) | awk '{if ($0 ~ /^\./) print "0" $0; else print $0}') sed -i -e "0,/CX/ s/\(none\)[[:space:]].*\(CX\)/\1 ${cn_scaling} \2/" ExtData.rc # Print if verbose if [[ ${verbose} = "1" ]]; then printf '%-30s : %-20s %-20s\n' "MFXC and MFYX input scaling" "${mf_scaling}" "ExtData.rc" printf '%-30s : %-20s %-20s\n' "CX and CY input scaling" "${cn_scaling}" "ExtData.rc" fi fi ##### Set commonly changed settings in geoschem_config.yml and GCHP.rc print_msg " " print_msg "Components on/off:" print_msg "------------------" replace_val_yaml "chemistry" "activate" "${Do_Chemistry}" geoschem_config.yml replace_val_yaml "transport" "activate" "${Do_Advection}" geoschem_config.yml replace_val_yaml "convection" "activate" "${Do_Cloud_Conv}" geoschem_config.yml replace_val_yaml "pbl_mixing" "activate" "${Do_PBL_Mixing}" geoschem_config.yml replace_val_yaml "pbl_mixing" "use_non_local_pbl" "${Do_Non_Local_Mixing}" geoschem_config.yml replace_val_yaml "dry_deposition" "activate" "${Do_DryDep}" geoschem_config.yml replace_val_yaml "wet_deposition" "activate" "${Do_WetDep}" geoschem_config.yml replace_val "AdvCore_Advection" "${ADVCORE_ADVECTION}" GCHP.rc #### Set options in HEMCO_Config.rc print_msg "" print_msg "HEMCO settings:" print_msg "---------------" if [[ "x${dustL23M}" == "xon" || "x${tomasDustDead}" == "xon" ]]; then replace_val "--> Mass tuning factor" "${Dust_SF}" HEMCO_Config.rc else replace_val "--> Mass tuning factor" "-999.0" HEMCO_Config.rc fi ### Set initial restart file options print_msg "" print_msg "Initial restart settings:" print_msg "-------------------------" replace_val INITIAL_RESTART_SPECIES_REQUIRED ${Require_Species_in_Restart} GCHP.rc #### Set frequency of writing restart files # Set to a very large number if turned off print_msg " " print_msg "Mid-run checkpoints:" print_msg "---------------------" if [[ ${Midrun_Checkpoint} == "ON" ]]; then uncomment_line RECORD_FREQUENCY GCHP.rc uncomment_line RECORD_REF_DATE GCHP.rc uncomment_line RECORD_REF_TIME GCHP.rc replace_val RECORD_FREQUENCY "${Checkpoint_Freq}" GCHP.rc start_str=$(cat cap_restart) Checkpoint_Ref_Date="${start_str:0:8}" Checkpoint_Ref_Time="${start_str:9:6}" replace_val RECORD_REF_DATE "${Checkpoint_Ref_Date}" GCHP.rc replace_val RECORD_REF_TIME "${Checkpoint_Ref_Time}" GCHP.rc elif [[ ${Midrun_Checkpoint} == "OFF" ]]; then print_msg "WARNING: Midrun checkpoints are turned off" comment_line RECORD_FREQUENCY GCHP.rc comment_line RECORD_REF_DATE GCHP.rc comment_line RECORD_REF_TIME GCHP.rc else print_msg "ERROR: unknown setting for Midrun_Checkpoint. Must be ON or OFF." exit 1 fi #### Set output frequency, duration, and mode if [[ ${AutoUpdate_Diagnostics} == "ON" ]]; then print_msg " " print_msg "Diagnostics:" print_msg "------------" if [[ ${#Diag_Collections[@]} > 0 ]]; then for c in ${Diag_Collections[@]}; do replace_val $c.monthly ${Diag_Monthly} HISTORY.rc replace_val $c.frequency ${Diag_Frequency} HISTORY.rc replace_val $c.duration ${Diag_Duration} HISTORY.rc done fi else print_msg "Auto-update of diagnostic settings in HISTORY.rc is turned off" fi #### Auto-update ExtData.rc for lightning climatology based on HEMCO_Config.rc lightningClimEntry=$(grep "LightningClimatology" HEMCO_Config.rc || echo "missing") if [[ ${lightningClimEntry} != "missing" ]]; then # Current file settings lightningClimSetting=(${lightningClimEntry// / }) FlashYearlyEntry=$(grep "FLASH_DENS.*y4/FLASH" ExtData.rc) ConvYearlyEntry=$(grep "CONV_DEPTH.*y4/FLASH" ExtData.rc) FlashClimEntry=$(grep "FLASH_DENS.*CLIM" ExtData.rc) ConvClimEntry=$(grep "CONV_DEPTH.*CLIM" ExtData.rc) # Strip leading comment character, if any if [[ ${FlashYearlyEntry:0:1} == "#" ]];then FlashYearlyEntry=${FlashYearlyEntry:1}; fi if [[ ${ConvYearlyEntry:0:1} == "#" ]];then ConvYearlyEntry=${ConvYearlyEntry:1}; fi if [[ ${FlashClimEntry:0:1} == "#" ]];then FlashClimEntry=${FlashClimEntry:1}; fi if [[ ${ConvClimEntry:0:1} == "#" ]];then ConvClimEntry=${ConvClimEntry:1}; fi # Print to log if --verbose passed if [[ ${verbose} = "1" ]]; then print_msg " " print_msg "Lightning climatology:" print_msg "------------------------" print_msg "Updating ExtData.rc for HEMCO_Config.rc lightning climatology set to ${lightningClimSetting[3]}" fi # Update ExtData.rc if [[ ${lightningClimSetting[3]} = "true" ]]; then comment_line "${FlashYearlyEntry}" ExtData.rc comment_line "${ConvYearlyEntry}" ExtData.rc uncomment_line "${FlashClimEntry}" ExtData.rc uncomment_line "${ConvClimEntry}" ExtData.rc elif [[ ${lightningClimSetting[3]} = "false" ]]; then comment_line "${FlashClimEntry}" ExtData.rc comment_line "${ConvClimEntry}" ExtData.rc uncomment_line "${FlashYearlyEntry}" ExtData.rc uncomment_line "${ConvYearlyEntry}" ExtData.rc else "ERROR: LightningClimatology must be set to true or false in HEMCO_Config.rc." exit 1 fi fi #### Auto-update offline/online emissions settings in HEMCO_Diagn.rc based on HEMCO_Config.rc # NOTES: # - Includes seasalt, soilNOx, dust, and biogenic emissions only # - Sets Emis* diagnostics to extension emissions if extension is on in HEMCO_Config.rc # - Sets Emis* diagnostics to base emissions (offline) if extension is off in HEMCO_Config.rc # Dust dustExt=$(grep "105.*DustDead" HEMCO_Config.rc || echo "missing") if [[ ${dustExt} != "missing" ]]; then dustSetting=(${dustExt// / }) if [[ ${dustSetting[3]} = "on" ]]; then sed -i -e 's|0 3 |105 -1|' HEMCO_Diagn.rc else sed -i -e 's|105 -1|0 3 |' HEMCO_Diagn.rc fi fi # Sea salt seasExt=$(grep "107.*SeaSalt" HEMCO_Config.rc || echo "missing") if [[ ${seasExt} != "missing" ]]; then seasSetting=(${seasExt// / }) if [[ ${seasSetting[3]} = "on" ]]; then sed -i -e 's|SALA 0 3 |SALA 107 -1|' HEMCO_Diagn.rc sed -i -e 's|SALC 0 3 |SALC 107 -1|' HEMCO_Diagn.rc sed -i -e 's|AL 0 3 |AL 107 -1|' HEMCO_Diagn.rc sed -i -e 's|CL 0 3 |CL 107 -1|' HEMCO_Diagn.rc else sed -i -e 's|SALA 107 -1|SALA 0 3 |' HEMCO_Diagn.rc sed -i -e 's|SALC 107 -1|SALC 0 3 |' HEMCO_Diagn.rc sed -i -e 's|AL 107 -1|AL 0 3 |' HEMCO_Diagn.rc sed -i -e 's|CL 107 -1|CL 0 3 |' HEMCO_Diagn.rc fi fi # Biogenic biogExt=$(grep "108.*MEGAN" HEMCO_Config.rc || echo "missing") if [[ ${biogExt} != "missing" ]]; then biogSetting=(${biogExt// / }) if [[ ${biogSetting[3]} = "on" ]]; then sed -i -e 's|0 4 |108 -1|' HEMCO_Diagn.rc else sed -i -e 's|108 -1|0 4 |' HEMCO_Diagn.rc fi fi # SoilNOx soilExt=$(grep "104.*SoilNOx" HEMCO_Config.rc || echo "missing") if [[ ${soilExt} != "missing" ]]; then soilSetting=(${soilExt// / }) if [[ ${soilSetting[3]} = "on" ]]; then sed -i -e 's|NO 0 3 |NO 104 -1|' HEMCO_Diagn.rc else sed -i -e 's|NO 104 -1|NO 0 3 |' HEMCO_Diagn.rc fi fi # Deactivate PARANOx in HEMCO_Config.rc for C360 or C720 grids # but activate it for all other cubed-sphere resolutions paranoxExt=$(grep "102.*ParaNOx" HEMCO_Config.rc || echo "missing") if [[ "x${paranoxExt}" != "xmissing" ]]; then if [[ "x${CS_RES}" == "x360" || "x${CS_RES}" == "x720" ]]; then sed -i -E '/ParaNOx/s/: (on |off)/: off/' HEMCO_Config.rc else sed -i -E '/ParaNOx/s/: (on |off)/: on /' HEMCO_Config.rc fi fi #### Done print_msg " " print_msg "setCommonRunSettings.sh done" print_msg " " ================================================ FILE: run/GCHP/setEnvironmentLink.sh ================================================ #!/bin/bash # setEnvironmentLink: set local environment symbolic link gchp.env # # Arguments: pass full path (no symlinks) to your customized GCHP env file # # Usage: ./setEnvironment /path/to/your/env/file # # E. Lundgren, 10/12/2018 # Make sure user passes environment file path if [[ $# != 1 ]] ; then echo "Usage: ./setEnvironmentLink /path/to/your/env/file" exit 1 fi # Set symlink if [[ -L gchp.env ]]; then unlink gchp.env fi if [[ -f "$1" ]]; then ln -s $1 gchp.env file gchp.env else echo "Error: gchp.env target does not exist" exit 1 fi exit 0 ================================================ FILE: run/GCHP/setRestartLink.sh ================================================ #!/bin/bash # setRestartLink.sh # # DESCRIPTION: # Sets local restart symbolic link gchp_restart.nc4 to point to # ./Restart/GEOSChem.Restart.YYYYMMDD_HHmmz.cN.nc4, where YYYYMMDD and # HHmm are the simulation start date and time set in file cap_restart, # and N is the global cubed-sphere grid resolution set in file # setCommonRunSettings.sh. A message is printed showing symlink and target # names. The program exits with an error message if the target file # is not found. # # USAGE: ./setRestartLink.sh # #################################### rst_link_name=gchp_restart.nc4 # Get simulation start from cap_restart if [ -f cap_restart ]; then start_str=$(sed 's/ /_/g' cap_restart) else echo "ERROR: Unable to set ${rst_link_name} link because cap_restart does not exist! Create cap_restart containing simulation start date with format YYYYMMDD HHmmSS." exit 1 fi # Set restart name, check that file exists, and set symlink N=$(grep "CS_RES=" setCommonRunSettings.sh | cut -c 8- | xargs) rst_target=./Restarts/GEOSChem.Restart.${start_str:0:13}z.c${N}.nc4 if [[ -f "${rst_target}" ]]; then ln -nsf ${rst_target} ${rst_link_name} echo "Restart symlink ${rst_link_name} set to ${rst_target}" else echo "ERROR: Unable to set symlink ${rst_link_name} because file ${rst_target} does not exist! Create file or link with that name, or change start date in cap_restart and/or grid resolution in setCommonRunSettings.sh to match restart file that exists." exit 1 fi ================================================ FILE: run/GCHP/utils/extra_static_files.txt ================================================ CHEM_INPUTS/Linoz_200910/Linoz_March2007.dat CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Drydep_Inputs.nc CHEM_INPUTS/FAST_JX/v2020-02/FJX_spec.dat CHEM_INPUTS/FAST_JX/v2020-02/jv_spec_mie.dat CHEM_INPUTS/FAST_JX/v2020-02/FJX_j2j.dat CHEM_INPUTS/FAST_JX/v2020-02/brc.dat CHEM_INPUTS/FAST_JX/v2020-02/dust.dat CHEM_INPUTS/FAST_JX/v2020-02/h2so4.dat CHEM_INPUTS/FAST_JX/v2020-02/org.dat CHEM_INPUTS/FAST_JX/v2020-02/so4.dat CHEM_INPUTS/FAST_JX/v2020-02/soot.dat CHEM_INPUTS/FAST_JX/v2020-02/ssa.dat CHEM_INPUTS/FAST_JX/v2020-02/ssc.dat CHEM_INPUTS/FastJ_201204/fastj.jv_atms_dat.nc HEMCO/PARANOX/v2015-02/ship_plume_lut_02ms.txt HEMCO/PARANOX/v2015-02/ship_plume_lut_06ms.txt HEMCO/PARANOX/v2015-02/ship_plume_lut_10ms.txt HEMCO/PARANOX/v2015-02/ship_plume_lut_14ms.txt HEMCO/PARANOX/v2015-02/ship_plume_lut_18ms.txt HEMCO/LIGHTNOX/v2014-07/light_dist.ott2010.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JN2O_01.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JN2O_02.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JN2O_03.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JN2O_04.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JN2O_05.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JN2O_06.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JN2O_07.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JN2O_08.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JN2O_09.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JN2O_10.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JN2O_11.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JN2O_12.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JNO2_01.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JNO2_02.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JNO2_03.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JNO2_04.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JNO2_05.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JNO2_06.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JNO2_07.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JNO2_08.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JNO2_09.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JNO2_10.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JNO2_11.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JNO2_12.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JNO3_01.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JNO3_02.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JNO3_03.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JNO3_04.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JNO3_05.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JNO3_06.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JNO3_07.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JNO3_08.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JNO3_09.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JNO3_10.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JNO3_11.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JNO3_12.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JNO_01.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JNO_02.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JNO_03.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JNO_04.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JNO_05.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JNO_06.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JNO_07.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JNO_08.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JNO_09.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JNO_10.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JNO_11.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_JNO_12.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_O1D_01.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_O1D_02.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_O1D_03.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_O1D_04.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_O1D_05.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_O1D_06.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_O1D_07.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_O1D_08.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_O1D_09.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_O1D_10.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_O1D_11.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_O1D_12.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_O_01.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_O_02.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_O_03.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_O_04.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_O_05.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_O_06.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_O_07.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_O_08.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_O_09.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_O_10.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_O_11.dat CHEM_INPUTS/UCX_201403/NoonTime/Grid2x25/InitCFC_O_12.dat HEMCO/Yuan_XLAI/v2019-03/Condensed_Yuan_proc_MODIS_XLAI.025x025.2005.nc HEMCO/Yuan_XLAI/v2019-03/Condensed_Yuan_proc_MODIS_XLAI.025x025.2006.nc HEMCO/Yuan_XLAI/v2019-03/Condensed_Yuan_proc_MODIS_XLAI.025x025.2007.nc HEMCO/Yuan_XLAI/v2019-03/Condensed_Yuan_proc_MODIS_XLAI.025x025.2008.nc HEMCO/Yuan_XLAI/v2019-03/Condensed_Yuan_proc_MODIS_XLAI.025x025.2009.nc HEMCO/Yuan_XLAI/v2019-03/Condensed_Yuan_proc_MODIS_XLAI.025x025.2010.nc HEMCO/Yuan_XLAI/v2019-03/Condensed_Yuan_proc_MODIS_XLAI.025x025.2011.nc HEMCO/Yuan_XLAI/v2019-03/Condensed_Yuan_proc_MODIS_XLAI.025x025.2012.nc HEMCO/Yuan_XLAI/v2019-03/Condensed_Yuan_proc_MODIS_XLAI.025x025.2013.nc HEMCO/Yuan_XLAI/v2019-03/Condensed_Yuan_proc_MODIS_XLAI.025x025.2014.nc HEMCO/Yuan_XLAI/v2019-03/Condensed_Yuan_proc_MODIS_XLAI.025x025.2015.nc HEMCO/Yuan_XLAI/v2019-03/Condensed_Yuan_proc_MODIS_XLAI.025x025.2016.nc HEMCO/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.2005.nc HEMCO/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.2006.nc HEMCO/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.2007.nc HEMCO/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.2008.nc HEMCO/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.2009.nc HEMCO/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.2010.nc HEMCO/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.2011.nc HEMCO/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.2012.nc HEMCO/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.2013.nc HEMCO/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.2014.nc HEMCO/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.2015.nc HEMCO/Yuan_XLAI/v2019-03/Yuan_proc_MODIS_XLAI.025x025.2016.nc HEMCO/C2H6_2010/v2019-06/C2H6_global_anth_biof.201001.2x25.nc HEMCO/C2H6_2010/v2019-06/C2H6_global_anth_biof.201001.nc HEMCO/C2H6_2010/v2019-06/C2H6_global_anth_biof.201002.2x25.nc HEMCO/C2H6_2010/v2019-06/C2H6_global_anth_biof.201002.nc HEMCO/C2H6_2010/v2019-06/C2H6_global_anth_biof.201003.2x25.nc HEMCO/C2H6_2010/v2019-06/C2H6_global_anth_biof.201003.nc HEMCO/C2H6_2010/v2019-06/C2H6_global_anth_biof.201004.2x25.nc HEMCO/C2H6_2010/v2019-06/C2H6_global_anth_biof.201004.nc HEMCO/C2H6_2010/v2019-06/C2H6_global_anth_biof.201005.2x25.nc HEMCO/C2H6_2010/v2019-06/C2H6_global_anth_biof.201005.nc HEMCO/C2H6_2010/v2019-06/C2H6_global_anth_biof.201006.2x25.nc HEMCO/C2H6_2010/v2019-06/C2H6_global_anth_biof.201006.nc HEMCO/C2H6_2010/v2019-06/C2H6_global_anth_biof.201007.2x25.nc HEMCO/C2H6_2010/v2019-06/C2H6_global_anth_biof.201007.nc HEMCO/C2H6_2010/v2019-06/C2H6_global_anth_biof.201008.2x25.nc HEMCO/C2H6_2010/v2019-06/C2H6_global_anth_biof.201008.nc HEMCO/C2H6_2010/v2019-06/C2H6_global_anth_biof.201009.2x25.nc HEMCO/C2H6_2010/v2019-06/C2H6_global_anth_biof.201009.nc HEMCO/C2H6_2010/v2019-06/C2H6_global_anth_biof.201010.2x25.nc HEMCO/C2H6_2010/v2019-06/C2H6_global_anth_biof.201010.nc HEMCO/C2H6_2010/v2019-06/C2H6_global_anth_biof.201011.2x25.nc HEMCO/C2H6_2010/v2019-06/C2H6_global_anth_biof.201011.nc HEMCO/C2H6_2010/v2019-06/C2H6_global_anth_biof.201012.2x25.nc HEMCO/C2H6_2010/v2019-06/C2H6_global_anth_biof.201012.nc HEMCO/STRAT/v2015-01/Bry/GEOSCCM_Bry.200701.day.nc HEMCO/STRAT/v2015-01/Bry/GEOSCCM_Bry.200701.night.nc HEMCO/STRAT/v2015-01/Bry/GEOSCCM_Bry.200702.day.nc HEMCO/STRAT/v2015-01/Bry/GEOSCCM_Bry.200702.night.nc HEMCO/STRAT/v2015-01/Bry/GEOSCCM_Bry.200703.day.nc HEMCO/STRAT/v2015-01/Bry/GEOSCCM_Bry.200703.night.nc HEMCO/STRAT/v2015-01/Bry/GEOSCCM_Bry.200704.day.nc HEMCO/STRAT/v2015-01/Bry/GEOSCCM_Bry.200704.night.nc HEMCO/STRAT/v2015-01/Bry/GEOSCCM_Bry.200705.day.nc HEMCO/STRAT/v2015-01/Bry/GEOSCCM_Bry.200705.night.nc HEMCO/STRAT/v2015-01/Bry/GEOSCCM_Bry.200706.day.nc HEMCO/STRAT/v2015-01/Bry/GEOSCCM_Bry.200706.night.nc HEMCO/STRAT/v2015-01/Bry/GEOSCCM_Bry.200707.day.nc HEMCO/STRAT/v2015-01/Bry/GEOSCCM_Bry.200707.night.nc HEMCO/STRAT/v2015-01/Bry/GEOSCCM_Bry.200708.day.nc HEMCO/STRAT/v2015-01/Bry/GEOSCCM_Bry.200708.night.nc HEMCO/STRAT/v2015-01/Bry/GEOSCCM_Bry.200709.day.nc HEMCO/STRAT/v2015-01/Bry/GEOSCCM_Bry.200709.night.nc HEMCO/STRAT/v2015-01/Bry/GEOSCCM_Bry.200710.day.nc HEMCO/STRAT/v2015-01/Bry/GEOSCCM_Bry.200710.night.nc HEMCO/STRAT/v2015-01/Bry/GEOSCCM_Bry.200711.day.nc HEMCO/STRAT/v2015-01/Bry/GEOSCCM_Bry.200711.night.nc HEMCO/STRAT/v2015-01/Bry/GEOSCCM_Bry.200712.day.nc HEMCO/STRAT/v2015-01/Bry/GEOSCCM_Bry.200712.night.nc ================================================ FILE: run/GCHP/utils/extra_templates.txt ================================================ ./HcoDir/VOLCANO/v2019-08/%y4/%m2/so2_volcanic_emissions_Carns.%y4%m2%d2.rc ================================================ FILE: run/GCHP/utils/listInputDataFiles ================================================ #!/bin/bash set -e function show_usage_and_error_out() { usage=$(cat << EOF Usage: ./listInputDataFiles STARTDATE ENDDATE [--wget-urls|--globus-batch] [-h|--help] Print a list of the input files for a GCHP simulation. By default, the realpath to the files is printed. If --wget-urls or --globus-list are specified, the download list for wget or Globus is printed instead. Note that this command requires your current working directory is a run directory with ExtData.rc. Required arguments: STARTDATE The start date of the simulation. Format: "YYYYMMDD". ENDDATE The end date of the simulation. Format: "YYYYMMDD". Optional arguments: --wget-urls Print the urls to the files. Compatible with wget -i --globus-batch Print Globus transfer list. Compatible with globus --batch -h --help Print this commands usage (this message). Examples: ./listInputDataFiles 20190101 20190601 Print files for 2019-01-01 to 2019-06-01 ./listInputDataFiles 20190101 20190601 --wget-urls Print download urls for wget -i ./listInputDataFiles 20190101 20190601 --globus-batch Print transfer list for globus --batch Detailed example (wget): Navigate to your run directory: $ cd /path/to/your/rundirectory Run listInputDataFiles and redirect the output to a file: $ ./utils/listInputDataFiles 20190101 20190601 --wget-urls > downloads.txt Navigate to your ExtData (the top-level of ExtData): $ cd /path/to/your/ExtData Download files listed in downloads.txt: $ wget -i downloads.txt -cxnH --cut-dirs=1 EOF ) echo "$usage" >&2 exit 1 } if [[ "$*" == *-h* || "$*" == *--help* ]]; then show_usage_and_error_out fi THIS_SCRIPTS_DIRECTORY=$(realpath $(dirname "$0")) # Require two arguments if [ "$#" -lt 2 ]; then echo -e "error: $0 requires at least two arguments\n" >&2 show_usage_and_error_out fi # Set start and end date START_DATE=$1 END_DATE=$2 # Check that dates are valid if ! date -d "$START_DATE" &> /dev/null ; then echo -e "error: Invalid start date: $1\n" >&2 show_usage_and_error_out fi if ! date -d "$END_DATE" &> /dev/null ; then echo -e "error: Invalid start date: $2\n" >&2 show_usage_and_error_out fi AWK_SCRIPT_PARSE_EXTDATA=$(cat << 'EOF' BEGIN {PRIMARY_EXPORT_SECTION=0} /PrimaryExports%%/{PRIMARY_EXPORT_SECTION=1} /^[^#]/ { if (PRIMARY_EXPORT_SECTION) { print $9 } } /^%%/{PRIMARY_EXPORT_SECTION=0} EOF ) AWK_SCRIPT_EXPAND_EXTDATA_FILES=$(cat << 'EOF' function print_filled_file_template(template, date_str) { year=substr(date_str,1,4) month=substr(date_str,5,2) day=substr(date_str,7,2) gsub("%d2", day, template) gsub("%m2", month, template) gsub("%y4", year, template) print template } { # Determine highest frequency token if ($1~/%d2/) { freq="1 day" } else if ($1~/%m2/) { freq="1 month" } else if ($1~/%y4/) { freq="1 year" } else { freq="None" } # Print file with all tokens if (freq == "None") { print $1 } else { # Left bracketing time cmd=sprintf("date -d \"%s-%s\" \"+%%Y%%m%%d\"", START_DATE, freq) if (!(cmd | getline one_before_date)) { exit 1 } close(cmd) print_filled_file_template($1, one_before_date) # Print for each between START AND END date=START_DATE while (date < END_DATE) { print_filled_file_template($1, date) cmd=sprintf("date -d \"%s+%s\" \"+%%Y%%m%%d\"", date, freq) if (!(cmd | getline date)) { exit 1 } close(cmd) } # Right bracketing time print_filled_file_template($1, date) } } EOF ) EXTDATA=$(awk "$AWK_SCRIPT_PARSE_EXTDATA" ExtData.rc) # Fill %y4 for climatological data clim_data=$(awk '{if($6~/C/) print $3}' HEMCO_Config.rc | sed -n 's#$ROOT/##p' | grep '$YYYY' | grep -o '^[^/][^/]*/[^/][^/]*' | sort | uniq) for clim_dataset in $clim_data; do # Skip clim_dataset if there aren't any matching files in ExtData.rc echo "$EXTDATA" | grep -- $clim_dataset > /dev/null || continue echo "HEMCO/$clim_dataset is a climatology (see: http://geoschemdata.wustl.edu/ExtData/HEMCO/$clim_dataset)" >&2 read -p "-> Select climatology year (leave blank to use simulation period): " CLIM_YEAR CLIM_YEAR=${CLIM_YEAR:-%y4} clim_dataset_regexpr=$(echo "$clim_dataset" | sed "s#/#\\\\/#g") EXTDATA=$(echo "$EXTDATA" | sed "/$clim_dataset_regexpr/s#%y4#$CLIM_YEAR#g") done # Add extra templates to be expanded EXTDATA=$(printf "%s\n%s" "$EXTDATA" "$(cat $THIS_SCRIPTS_DIRECTORY/extra_templates.txt)") # Parse and expand ExtData.rc files file_list=$(echo "$EXTDATA" | sort | uniq | awk -v START_DATE=$START_DATE -v END_DATE=$END_DATE "$AWK_SCRIPT_EXPAND_EXTDATA_FILES") function relpath_to_abspath() { xargs readlink -m } function abspath_to_url() { GEOSFP_PATH="GEOS_0\.25x0\.3125/GEOS_FP" MERRA2_PATH="GEOS_0\.5x0\.625/MERRA2" HEMCO_PATH="HEMCO" CHEMINPUTS_PATH="CHEM_INPUTS" sed -e "s#.*\($GEOSFP_PATH\)#http://geoschemdata.wustl.edu/ExtData/\1#g" \ -e "s#.*\($MERRA2_PATH\)#http://geoschemdata.wustl.edu/ExtData/\1#g" \ -e "s#.*\($HEMCO_PATH\)#http://geoschemdata.wustl.edu/ExtData/\1#g" \ -e "s#.*\($CHEMINPUTS_PATH\)#http://geoschemdata.wustl.edu/ExtData/\1#g" } function extra_static_files() { HEMCO_PATH="HEMCO" GCDATA_PREFIX=$(echo "$1" | sed -n "s/\(.*\)$HEMCO_PATH.*/\1/p" | head -1) sed "s#^#$GCDATA_PREFIX#g" $THIS_SCRIPTS_DIRECTORY/extra_static_files.txt } function abspath_to_globus_list() { GEOSFP_PATH="GEOS_0\.25x0\.3125/GEOS_FP" MERRA2_PATH="GEOS_0\.5x0\.625/MERRA2" HEMCO_PATH="HEMCO" CHEMINPUTS_PATH="CHEM_INPUTS" ccvm_abspath=$(echo "$1" | sed -e "s#.*\($GEOSFP_PATH\)#/ExtData/\1#g" \ -e "s#.*\($MERRA2_PATH\)#/ExtData/\1#g" \ -e "s#.*\($HEMCO_PATH\)#/ExtData/\1#g" \ -e "s#.*\($CHEMINPUTS_PATH\)#/ExtData/\1#g") paste <(echo "$ccvm_abspath") <(echo "$1") } abspath_file_list=$(echo "$file_list" | relpath_to_abspath) extra_files_list=$(extra_static_files "$abspath_file_list") abspath_file_list=$(printf "%s\n%s\n" "$abspath_file_list" "$extra_files_list") if [[ "$*" == *--wget-urls* ]]; then echo "$abspath_file_list" | abspath_to_url elif [[ "$*" == *--globus-batch* ]]; then abspath_to_globus_list "$abspath_file_list" else echo "$abspath_file_list" fi ================================================ FILE: run/GCHP/utils/simulation-status ================================================ #!/bin/bash USAGE_MSG="""Usage ./utils/simulation-status [-h|--help] [--no-color] LOGFILE_PATTERN1 [LOGFILE_PATTERN..] Shows the current status of a simulation based on scraping the log files. At least one log file (or glob pattern) is required. If multiple log files are found, the last one has the highest precedence. Required arguments: LOGFILE_PATTERN.. The name or glob pattern for the log files. Optional arguments: --no-color Disables colorized output. -h --help Prints this usage message. Examples: ./utils/simulation-status runlog.txt Print the status based on ./runlog.txt ./utils/simulation-status 'log-*.txt' Based on the last file matching 'log-*.txt' """ if [[ "$*" == *-h* || "$*" == *--help* ]]; then echo "$USAGE_MSG" exit 0 fi if [ "$1" == '--no-color' ]; then RED='' NC='' GREEN='' ORANGE='' UNDERLINE='' BOLD='' NORMAL='' shift else RED='\033[0;31m' NC='\033[0m' GREEN='\033[0;32m' ORANGE='\033[0;33m' UNDERLINE=$(tput smul) BOLD=$(tput bold) NORMAL=$(tput sgr0) fi tempfile=$(mktemp) # Get list of logfiles for LOGFILE_PATTERN in "$@"; do find -name "$LOGFILE_PATTERN" >> ${tempfile} done if [ "$(wc -l < ${tempfile})" == "0" ]; then echo "error: No log file found." rm ${tempfile} exit 1 fi # Remove empty lines sed -i "/^$/d" ${tempfile} active_log=$(tail -n 1 ${tempfile}) latest_timestep=$(grep 'AGCM Date' $active_log | tail -n 1 | grep 'AGCM Date' || echo "NO-TIMESTEPS") first_error=$(grep 'pe=[0-9][0-9]* FAIL at' $active_log | head -n 1 | grep 'pe=[0-9][0-9]* FAIL at' || echo "NO-ERRORS") if [[ "$latest_timestep" != "NO-TIMESTEPS" ]]; then latest_datetime=$(echo $latest_timestep | sed "s#AGCM Date: \([0-9][0-9][0-9][0-9]\)/\([0-9][0-9]\)/\([0-9][0-9]\) *Time: *\([0-9][0-9]\):\([0-9][0-9]\):\([0-9][0-9]\).*#\1-\2-\3T\4:\5:\6#g") throughput=$(echo $latest_timestep | sed "s#.*Throughput(days/day)\[Avg Tot Run\]: *\([0-9][^ ]*\).*#\1#g") time_remaining=$(echo $latest_timestep | sed "s#.*TimeRemaining(Est) *\([0-9][^ ]*\).*#\1#g" | sed 's/^0*//') fi rm ${tempfile} if [ "$first_error" != "NO-ERRORS" ] && [ -n "${latest_datetime}" ]; then printf "Simulation crashed at ${latest_datetime} [${RED}NOT RUNNING${NC}]\n" exit 1 fi if [ "$first_error" != "NO-ERRORS" ]; then printf "Simulation crashed without timestepping [${RED}NOT RUNNING${NC}]\n" exit 1 fi if [ "$first_error" == "NO-ERRORS" ] && [ "$latest_timestep" == "NO-TIMESTEPS" ]; then printf "Simulation is starting up [${ORANGE}INITIALIZING${NC}]\n" exit 1 fi printf "Simulation at ${BOLD}$latest_datetime${NORMAL} (throughput: ${UNDERLINE}$throughput d/d${NORMAL}, time remaining: $time_remaining) [${GREEN}RUNNING${NC}]\n" exit 0 ================================================ FILE: run/GEOS/.gitignore ================================================ *.[oax] *.mod *.MOD *~* *.swp *.bak *.patch *.diff diffs bak misc *.pp.* *.pdb *.inst.* *.continue.* *.ppk *.log bin/* build/ build_*/ *___.h *___.rc core.* ================================================ FILE: run/GEOS/GEOSCHEMchem_ExtData.rc ================================================ Ext_AllowExtrap: .true. DEBUG_LEVEL: 0 # PrimaryExports%% # -----------|--------------|-----|---|----------------------|--------|-------|---------------------------------------- # Import | | |Rgr|_______ Refresh ______|____ Factors ___|___________ External File __________ # Name | Units |Clim |Mth| Time Template | Offset | Scale | Variable | Template # -----------|--------------|-----|---|----------------------|--------|-------|-----------------|---------------------- # Olson land types - conservative frac regridding of OLSON as float OLSON00 '1' N F;0 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON01 '1' N F;1 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON02 '1' N F;2 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON03 '1' N F;3 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON04 '1' N F;4 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON05 '1' N F;5 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON06 '1' N F;6 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON07 '1' N F;7 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON08 '1' N F;8 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON09 '1' N F;9 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON10 '1' N F;10 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON11 '1' N F;11 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON12 '1' N F;12 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON13 '1' N F;13 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON14 '1' N F;14 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON15 '1' N F;15 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON16 '1' N F;16 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON17 '1' N F;17 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON18 '1' N F;18 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON19 '1' N F;19 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON20 '1' N F;20 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON21 '1' N F;21 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON22 '1' N F;22 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON23 '1' N F;23 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON24 '1' N F;24 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON25 '1' N F;25 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON26 '1' N F;26 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON27 '1' N F;27 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON28 '1' N F;28 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON29 '1' N F;29 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON30 '1' N F;30 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON31 '1' N F;31 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON32 '1' N F;32 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON33 '1' N F;33 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON34 '1' N F;34 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON35 '1' N F;35 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON36 '1' N F;36 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON37 '1' N F;37 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON38 '1' N F;38 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON39 '1' N F;39 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON40 '1' N F;40 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON41 '1' N F;41 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON42 '1' N F;42 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON43 '1' N F;43 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON44 '1' N F;44 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON45 '1' N F;45 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON46 '1' N F;46 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON47 '1' N F;47 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON48 '1' N F;48 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON49 '1' N F;49 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON50 '1' N F;50 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON51 '1' N F;51 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON52 '1' N F;52 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON53 '1' N F;53 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON54 '1' N F;54 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON55 '1' N F;55 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON56 '1' N F;56 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON57 '1' N F;57 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON58 '1' N F;58 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON59 '1' N F;59 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON60 '1' N F;60 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON61 '1' N F;61 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON62 '1' N F;62 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON63 '1' N F;63 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON64 '1' N F;64 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON65 '1' N F;65 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON66 '1' N F;66 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON67 '1' N F;67 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON68 '1' N F;68 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON69 '1' N F;69 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON70 '1' N F;70 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON71 '1' N F;71 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc OLSON72 '1' N F;72 - none none OLSON /discover/nobackup/cakelle2/data/GCHP_data/Olson_2001_Land_Map.2x25.nc #============================================================================== # Yuan-processed MODIS Leaf Area Index #============================================================================== # Use file with land type stored as 3rd dimension to speed up file read XLAIMULTI cm2_cm-2 N Y %y4-%m2-%d2T00:00:00 none none XLAIMULTI /gpfsm/dnb31/ewlundgr/data/ExtData/Yuan_XLAI/v2019-03/Condensed_Yuan_proc_MODIS_XLAI.025x025.%y4.nc # ---------------- # V11-01A ADDITIONS # ---------------- # #TOMS_O3_COL 'dobsons' N N %y4-%m2-01T00:00:00 none none TOMS /discover/nobackup/cakelle2/data/GCHP_data/TOMS_O3col_%y4.a.geos.1x1.nc 1980-01-01T00:00:00P0001-00-00T00:00:00 #DTOMS1_O3_COL '1' N N %y4-%m2-01T00:00:00 none none DTOMS1 /discover/nobackup/cakelle2/data/GCHP_data/TOMS_O3col_%y4.a.geos.1x1.nc 1980-01-01T00:00:00P0001-00-00T00:00:00 #DTOMS2_O3_COL '1' N N %y4-%m2-01T00:00:00 none none DTOMS2 /discover/nobackup/cakelle2/data/GCHP_data/TOMS_O3col_%y4.a.geos.1x1.nc 1980-01-01T00:00:00P0001-00-00T00:00:00 TOMS_O3_COL 'dobsons' Y N 2010-%m2-01T00:00:00 none none TOMS /discover/nobackup/cakelle2/data/GCHP_data/TOMS_O3col_2010.a.geos.1x1.nc DTOMS1_O3_COL '1' Y N 2010-%m2-01T00:00:00 none none DTOMS1 /discover/nobackup/cakelle2/data/GCHP_data/TOMS_O3col_2010.a.geos.1x1.nc DTOMS2_O3_COL '1' Y N 2010-%m2-01T00:00:00 none none DTOMS2 /discover/nobackup/cakelle2/data/GCHP_data/TOMS_O3col_2010.a.geos.1x1.nc # # ---------------- # EMISSION FIELDS # ---------------- # # CEDS # NOx emissions are not converted to NO in pre-processing of the CEDS data. We are doing this in ExtData -KEK CEDS_NO_AGR 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none NOx_agr /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/NOx_anthro_CEDS_%y4.nc CEDS_NO_ENE 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none NOx_ene /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/NOx_anthro_CEDS_%y4.nc CEDS_NO_IND 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none NOx_ind /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/NOx_anthro_CEDS_%y4.nc CEDS_NO_TRA 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none NOx_tra /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/NOx_anthro_CEDS_%y4.nc CEDS_NO_RCO 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none NOx_rco /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/NOx_anthro_CEDS_%y4.nc CEDS_NO_SLV 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none NOx_slv /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/NOx_anthro_CEDS_%y4.nc CEDS_NO_WST 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none NOx_wst /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/NOx_anthro_CEDS_%y4.nc # CEDS_NO2_AGR 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none NOx_agr /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/NOx_anthro_CEDS_%y4.nc CEDS_NO2_ENE 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none NOx_ene /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/NOx_anthro_CEDS_%y4.nc CEDS_NO2_IND 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none NOx_ind /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/NOx_anthro_CEDS_%y4.nc CEDS_NO2_TRA 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none NOx_tra /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/NOx_anthro_CEDS_%y4.nc CEDS_NO2_RCO 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none NOx_rco /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/NOx_anthro_CEDS_%y4.nc CEDS_NO2_SLV 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none NOx_slv /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/NOx_anthro_CEDS_%y4.nc CEDS_NO2_WST 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none NOx_wst /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/NOx_anthro_CEDS_%y4.nc # CEDS_CO_AGR 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none CO_agr /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/CO_anthro_CEDS_%y4.nc CEDS_CO_ENE 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none CO_ene /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/CO_anthro_CEDS_%y4.nc CEDS_CO_IND 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none CO_ind /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/CO_anthro_CEDS_%y4.nc CEDS_CO_TRA 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none CO_tra /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/CO_anthro_CEDS_%y4.nc CEDS_CO_RCO 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none CO_rco /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/CO_anthro_CEDS_%y4.nc CEDS_CO_SLV 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none CO_slv /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/CO_anthro_CEDS_%y4.nc CEDS_CO_WST 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none CO_wst /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/CO_anthro_CEDS_%y4.nc CEDS_NH3_AGR 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none NH3_agr /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/NH3_anthro_CEDS_%y4.nc CEDS_NH3_ENE 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none NH3_ene /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/NH3_anthro_CEDS_%y4.nc CEDS_NH3_IND 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none NH3_ind /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/NH3_anthro_CEDS_%y4.nc CEDS_NH3_TRA 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none NH3_tra /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/NH3_anthro_CEDS_%y4.nc CEDS_NH3_RCO 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none NH3_rco /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/NH3_anthro_CEDS_%y4.nc CEDS_NH3_SLV 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none NH3_slv /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/NH3_anthro_CEDS_%y4.nc CEDS_NH3_WST 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none NH3_wst /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/NH3_anthro_CEDS_%y4.nc CEDS_BCPI_AGR 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none BC_agr /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/BC_anthro_CEDS_%y4.nc CEDS_BCPI_ENE 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none BC_ene /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/BC_anthro_CEDS_%y4.nc CEDS_BCPI_IND 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none BC_ind /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/BC_anthro_CEDS_%y4.nc CEDS_BCPI_TRA 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none BC_tra /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/BC_anthro_CEDS_%y4.nc CEDS_BCPI_RCO 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none BC_rco /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/BC_anthro_CEDS_%y4.nc CEDS_BCPI_SLV 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none BC_slv /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/BC_anthro_CEDS_%y4.nc CEDS_BCPI_WST 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none BC_wst /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/BC_anthro_CEDS_%y4.nc CEDS_OCPI_AGR 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none OC_agr /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/OC_anthro_CEDS_%y4.nc CEDS_OCPI_ENE 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none OC_ene /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/OC_anthro_CEDS_%y4.nc CEDS_OCPI_IND 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none OC_ind /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/OC_anthro_CEDS_%y4.nc CEDS_OCPI_TRA 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none OC_tra /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/OC_anthro_CEDS_%y4.nc CEDS_OCPI_RCO 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none OC_rco /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/OC_anthro_CEDS_%y4.nc CEDS_OCPI_SLV 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none OC_slv /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/OC_anthro_CEDS_%y4.nc CEDS_OCPI_WST 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none OC_wst /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/OC_anthro_CEDS_%y4.nc CEDS_SO2_AGR 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none SO2_agr /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/SO2_anthro_CEDS_%y4.nc CEDS_SO2_ENE 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none SO2_ene /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/SO2_anthro_CEDS_%y4.nc CEDS_SO2_IND 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none SO2_ind /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/SO2_anthro_CEDS_%y4.nc CEDS_SO2_TRA 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none SO2_tra /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/SO2_anthro_CEDS_%y4.nc CEDS_SO2_RCO 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none SO2_rco /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/SO2_anthro_CEDS_%y4.nc CEDS_SO2_SLV 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none SO2_slv /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/SO2_anthro_CEDS_%y4.nc CEDS_SO2_WST 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none SO2_wst /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/SO2_anthro_CEDS_%y4.nc # ## CEDS VOCS CEDS_MOH_AGR 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none EOH_agr /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/EOH_anthro_CEDS_%y4.nc CEDS_MOH_ENE 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none EOH_ene /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/EOH_anthro_CEDS_%y4.nc CEDS_MOH_IND 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none EOH_ind /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/EOH_anthro_CEDS_%y4.nc CEDS_MOH_TRA 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none EOH_tra /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/EOH_anthro_CEDS_%y4.nc CEDS_MOH_RCO 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none EOH_rco /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/EOH_anthro_CEDS_%y4.nc CEDS_MOH_SLV 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none EOH_slv /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/EOH_anthro_CEDS_%y4.nc CEDS_MOH_WST 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none EOH_wst /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/EOH_anthro_CEDS_%y4.nc # CEDS_C4H10_AGR 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none ALK4_butanes_agr /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/ALK4_butanes_anthro_CEDS_%y4.nc CEDS_C4H10_ENE 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none ALK4_butanes_ene /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/ALK4_butanes_anthro_CEDS_%y4.nc CEDS_C4H10_IND 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none ALK4_butanes_ind /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/ALK4_butanes_anthro_CEDS_%y4.nc CEDS_C4H10_TRA 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none ALK4_butanes_tra /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/ALK4_butanes_anthro_CEDS_%y4.nc CEDS_C4H10_RCO 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none ALK4_butanes_rco /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/ALK4_butanes_anthro_CEDS_%y4.nc CEDS_C4H10_SLV 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none ALK4_butanes_slv /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/ALK4_butanes_anthro_CEDS_%y4.nc CEDS_C4H10_WST 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none ALK4_butanes_wst /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/ALK4_butanes_anthro_CEDS_%y4.nc # CEDS_C5H12_AGR 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none ALK4_pentanes_agr /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/ALK4_pentanes_anthro_CEDS_%y4.nc CEDS_C5H12_ENE 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none ALK4_pentanes_ene /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/ALK4_pentanes_anthro_CEDS_%y4.nc CEDS_C5H12_IND 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none ALK4_pentanes_ind /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/ALK4_pentanes_anthro_CEDS_%y4.nc CEDS_C5H12_TRA 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none ALK4_pentanes_tra /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/ALK4_pentanes_anthro_CEDS_%y4.nc CEDS_C5H12_RCO 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none ALK4_pentanes_rco /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/ALK4_pentanes_anthro_CEDS_%y4.nc CEDS_C5H12_SLV 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none ALK4_pentanes_slv /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/ALK4_pentanes_anthro_CEDS_%y4.nc CEDS_C5H12_WST 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none ALK4_pentanes_wst /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/ALK4_pentanes_anthro_CEDS_%y4.nc # CEDS_C6H14_AGR 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none ALK4_hexanes_agr /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/ALK4_hexanes_anthro_CEDS_%y4.nc CEDS_C6H14_ENE 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none ALK4_hexanes_ene /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/ALK4_hexanes_anthro_CEDS_%y4.nc CEDS_C6H14_IND 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none ALK4_hexanes_ind /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/ALK4_hexanes_anthro_CEDS_%y4.nc CEDS_C6H14_TRA 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none ALK4_hexanes_tra /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/ALK4_hexanes_anthro_CEDS_%y4.nc CEDS_C6H14_RCO 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none ALK4_hexanes_rco /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/ALK4_hexanes_anthro_CEDS_%y4.nc CEDS_C6H14_SLV 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none ALK4_hexanes_slv /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/ALK4_hexanes_anthro_CEDS_%y4.nc CEDS_C6H14_WST 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none ALK4_hexanes_wst /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/ALK4_hexanes_anthro_CEDS_%y4.nc # CEDS_ACET_AGR 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none MEK_agr /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/MEK_anthro_CEDS_%y4.nc CEDS_ACET_ENE 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none MEK_ene /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/MEK_anthro_CEDS_%y4.nc CEDS_ACET_IND 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none MEK_ind /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/MEK_anthro_CEDS_%y4.nc CEDS_ACET_TRA 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none MEK_tra /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/MEK_anthro_CEDS_%y4.nc CEDS_ACET_RCO 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none MEK_rco /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/MEK_anthro_CEDS_%y4.nc CEDS_ACET_SLV 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none MEK_slv /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/MEK_anthro_CEDS_%y4.nc CEDS_ACET_WST 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none MEK_wst /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/MEK_anthro_CEDS_%y4.nc # CEDS_MEK_AGR 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none MEK_agr /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/MEK_anthro_CEDS_%y4.nc CEDS_MEK_ENE 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none MEK_ene /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/MEK_anthro_CEDS_%y4.nc CEDS_MEK_IND 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none MEK_ind /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/MEK_anthro_CEDS_%y4.nc CEDS_MEK_TRA 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none MEK_tra /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/MEK_anthro_CEDS_%y4.nc CEDS_MEK_RCO 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none MEK_rco /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/MEK_anthro_CEDS_%y4.nc CEDS_MEK_SLV 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none MEK_slv /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/MEK_anthro_CEDS_%y4.nc CEDS_MEK_WST 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none MEK_wst /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/MEK_anthro_CEDS_%y4.nc # CEDS_ALD2_AGR 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none ALD2_agr /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/ALD2_anthro_CEDS_%y4.nc CEDS_ALD2_ENE 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none ALD2_ene /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/ALD2_anthro_CEDS_%y4.nc CEDS_ALD2_IND 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none ALD2_ind /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/ALD2_anthro_CEDS_%y4.nc CEDS_ALD2_TRA 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none ALD2_tra /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/ALD2_anthro_CEDS_%y4.nc CEDS_ALD2_RCO 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none ALD2_rco /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/ALD2_anthro_CEDS_%y4.nc CEDS_ALD2_SLV 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none ALD2_slv /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/ALD2_anthro_CEDS_%y4.nc CEDS_ALD2_WST 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none ALD2_wst /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/ALD2_anthro_CEDS_%y4.nc # CEDS_PRPE_AGR 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none PRPE_agr /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/PRPE_anthro_CEDS_%y4.nc CEDS_PRPE_ENE 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none PRPE_ene /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/PRPE_anthro_CEDS_%y4.nc CEDS_PRPE_IND 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none PRPE_ind /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/PRPE_anthro_CEDS_%y4.nc CEDS_PRPE_TRA 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none PRPE_tra /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/PRPE_anthro_CEDS_%y4.nc CEDS_PRPE_RCO 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none PRPE_rco /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/PRPE_anthro_CEDS_%y4.nc CEDS_PRPE_SLV 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none PRPE_slv /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/PRPE_anthro_CEDS_%y4.nc CEDS_PRPE_WST 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none PRPE_wst /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/PRPE_anthro_CEDS_%y4.nc # CEDS_C3H8_AGR 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none C3H8_agr /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/C3H8_anthro_CEDS_%y4.nc CEDS_C3H8_ENE 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none C3H8_ene /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/C3H8_anthro_CEDS_%y4.nc CEDS_C3H8_IND 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none C3H8_ind /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/C3H8_anthro_CEDS_%y4.nc CEDS_C3H8_TRA 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none C3H8_tra /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/C3H8_anthro_CEDS_%y4.nc CEDS_C3H8_RCO 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none C3H8_rco /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/C3H8_anthro_CEDS_%y4.nc CEDS_C3H8_SLV 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none C3H8_slv /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/C3H8_anthro_CEDS_%y4.nc CEDS_C3H8_WST 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none C3H8_wst /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/C3H8_anthro_CEDS_%y4.nc # CEDS_CH2O_AGR 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none CH2O_agr /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/CH2O_anthro_CEDS_%y4.nc CEDS_CH2O_ENE 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none CH2O_ene /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/CH2O_anthro_CEDS_%y4.nc CEDS_CH2O_IND 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none CH2O_ind /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/CH2O_anthro_CEDS_%y4.nc CEDS_CH2O_TRA 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none CH2O_tra /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/CH2O_anthro_CEDS_%y4.nc CEDS_CH2O_RCO 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none CH2O_rco /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/CH2O_anthro_CEDS_%y4.nc CEDS_CH2O_SLV 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none CH2O_slv /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/CH2O_anthro_CEDS_%y4.nc CEDS_CH2O_WST 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none CH2O_wst /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/CH2O_anthro_CEDS_%y4.nc # CEDS_BENZ_AGR 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none BENZ_agr /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/BENZ_anthro_CEDS_%y4.nc CEDS_BENZ_ENE 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none BENZ_ene /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/BENZ_anthro_CEDS_%y4.nc CEDS_BENZ_IND 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none BENZ_ind /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/BENZ_anthro_CEDS_%y4.nc CEDS_BENZ_TRA 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none BENZ_tra /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/BENZ_anthro_CEDS_%y4.nc CEDS_BENZ_RCO 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none BENZ_rco /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/BENZ_anthro_CEDS_%y4.nc CEDS_BENZ_SLV 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none BENZ_slv /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/BENZ_anthro_CEDS_%y4.nc CEDS_BENZ_WST 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none BENZ_wst /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/BENZ_anthro_CEDS_%y4.nc # CEDS_TOLU_AGR 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none TOLU_agr /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/TOLU_anthro_CEDS_%y4.nc CEDS_TOLU_ENE 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none TOLU_ene /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/TOLU_anthro_CEDS_%y4.nc CEDS_TOLU_IND 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none TOLU_ind /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/TOLU_anthro_CEDS_%y4.nc CEDS_TOLU_TRA 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none TOLU_tra /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/TOLU_anthro_CEDS_%y4.nc CEDS_TOLU_RCO 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none TOLU_rco /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/TOLU_anthro_CEDS_%y4.nc CEDS_TOLU_SLV 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none TOLU_slv /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/TOLU_anthro_CEDS_%y4.nc CEDS_TOLU_WST 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none TOLU_wst /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/TOLU_anthro_CEDS_%y4.nc # CEDS_XYLE_AGR 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none XYLE_agr /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/XYLE_anthro_CEDS_%y4.nc CEDS_XYLE_ENE 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none XYLE_ene /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/XYLE_anthro_CEDS_%y4.nc CEDS_XYLE_IND 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none XYLE_ind /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/XYLE_anthro_CEDS_%y4.nc CEDS_XYLE_TRA 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none XYLE_tra /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/XYLE_anthro_CEDS_%y4.nc CEDS_XYLE_RCO 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none XYLE_rco /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/XYLE_anthro_CEDS_%y4.nc CEDS_XYLE_SLV 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none XYLE_slv /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/XYLE_anthro_CEDS_%y4.nc CEDS_XYLE_WST 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none XYLE_wst /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/XYLE_anthro_CEDS_%y4.nc # CEDS_C2H4_AGR 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none C2H4_agr /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/C2H4_anthro_CEDS_%y4.nc CEDS_C2H4_ENE 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none C2H4_ene /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/C2H4_anthro_CEDS_%y4.nc CEDS_C2H4_IND 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none C2H4_ind /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/C2H4_anthro_CEDS_%y4.nc CEDS_C2H4_TRA 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none C2H4_tra /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/C2H4_anthro_CEDS_%y4.nc CEDS_C2H4_RCO 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none C2H4_rco /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/C2H4_anthro_CEDS_%y4.nc CEDS_C2H4_SLV 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none C2H4_slv /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/C2H4_anthro_CEDS_%y4.nc CEDS_C2H4_WST 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none C2H4_wst /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/C2H4_anthro_CEDS_%y4.nc # #CEDS_C2H2_AGR 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none C2H2_agr /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/C2H2_anthro_CEDS_%y4.nc #CEDS_C2H2_ENE 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none C2H2_ene /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/C2H2_anthro_CEDS_%y4.nc #CEDS_C2H2_IND 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none C2H2_ind /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/C2H2_anthro_CEDS_%y4.nc #CEDS_C2H2_TRA 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none C2H2_tra /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/C2H2_anthro_CEDS_%y4.nc #CEDS_C2H2_RCO 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none C2H2_rco /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/C2H2_anthro_CEDS_%y4.nc #CEDS_C2H2_SLV 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none C2H2_slv /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/C2H2_anthro_CEDS_%y4.nc #CEDS_C2H2_WST 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none C2H2_wst /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/C2H2_anthro_CEDS_%y4.nc # CEDS_HCOOH_AGR 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none HCOOH_agr /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/HCOOH_anthro_CEDS_%y4.nc CEDS_HCOOH_ENE 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none HCOOH_ene /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/HCOOH_anthro_CEDS_%y4.nc CEDS_HCOOH_IND 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none HCOOH_ind /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/HCOOH_anthro_CEDS_%y4.nc CEDS_HCOOH_TRA 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none HCOOH_tra /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/HCOOH_anthro_CEDS_%y4.nc CEDS_HCOOH_RCO 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none HCOOH_rco /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/HCOOH_anthro_CEDS_%y4.nc CEDS_HCOOH_SLV 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none HCOOH_slv /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/HCOOH_anthro_CEDS_%y4.nc CEDS_HCOOH_WST 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none HCOOH_wst /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/HCOOH_anthro_CEDS_%y4.nc # CEDS_C2H6_AGR 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none C2H6_agr /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/C2H6_anthro_CEDS_%y4.nc CEDS_C2H6_ENE 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none C2H6_ene /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/C2H6_anthro_CEDS_%y4.nc CEDS_C2H6_IND 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none C2H6_ind /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/C2H6_anthro_CEDS_%y4.nc CEDS_C2H6_TRA 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none C2H6_tra /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/C2H6_anthro_CEDS_%y4.nc CEDS_C2H6_RCO 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none C2H6_rco /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/C2H6_anthro_CEDS_%y4.nc CEDS_C2H6_SLV 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none C2H6_slv /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/C2H6_anthro_CEDS_%y4.nc CEDS_C2H6_WST 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none C2H6_wst /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/C2H6_anthro_CEDS_%y4.nc ## CEDS SHIP emissions CEDS_CO_SHP 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none CO_shp /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/CO_anthro_CEDS_%y4.nc CEDS_NH3_SHP 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none NH3_shp /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/NH3_anthro_CEDS_%y4.nc CEDS_BCPI_SHP 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none BC_shp /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/BC_anthro_CEDS_%y4.nc CEDS_OCPI_SHP 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none OC_shp /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/OC_anthro_CEDS_%y4.nc CEDS_SO2_SHP 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none SO2_shp /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/SO2_anthro_CEDS_%y4.nc # CEDS_MOH_SHP 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none EOH_shp /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/EOH_anthro_CEDS_%y4.nc CEDS_C2H6_SHP 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none C2H6_shp /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/C2H6_anthro_CEDS_%y4.nc CEDS_C3H8_SHP 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none C3H8_shp /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/C3H8_anthro_CEDS_%y4.nc CEDS_C4H10_SHP 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none ALK4_butanes_shp /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/ALK4_butanes_anthro_CEDS_%y4.nc CEDS_C5H12_SHP 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none ALK4_pentanes_shp /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/ALK4_pentanes_anthro_CEDS_%y4.nc CEDS_C6H14_SHP 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none ALK4_hexanes_shp /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/ALK4_hexanes_anthro_CEDS_%y4.nc CEDS_C2H4_SHP 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none C2H4_shp /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/C2H4_anthro_CEDS_%y4.nc CEDS_PRPE_SHP 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none PRPE_shp /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/PRPE_anthro_CEDS_%y4.nc CEDS_C2H2_SHP 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none C2H2_shp /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/C2H2_anthro_CEDS_%y4.nc CEDS_BENZ_SHP 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none BENZ_shp /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/BENZ_anthro_CEDS_%y4.nc CEDS_TOLU_SHP 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none TOLU_shp /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/TOLU_anthro_CEDS_%y4.nc CEDS_XYLE_SHP 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none XYLE_shp /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/XYLE_anthro_CEDS_%y4.nc CEDS_CH2O_SHP 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none CH2O_shp /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/CH2O_anthro_CEDS_%y4.nc CEDS_ALD2_SHP 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none ALD2_shp /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/ALD2_anthro_CEDS_%y4.nc CEDS_ACET_SHP 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none MEK_shp /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/MEK_anthro_CEDS_%y4.nc CEDS_MEK_SHP 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none MEK_shp /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/MEK_anthro_CEDS_%y4.nc CEDS_HCOOH_SHP 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none HCOOH_shp /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/HCOOH_anthro_CEDS_%y4.nc CEDS_NO_SHP 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none NOx_shp /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/NOx_anthro_CEDS_%y4.nc CEDS_NO2_SHP 'kg_m-2_s-1' N Y %y4-%m2-01T00:00:00 none none NOx_shp /discover/nobackup/kknowlan/Raw_Data/CEDS/CEDS_2021_Annual_0.1/NOx_anthro_CEDS_%y4.nc GEIA_NH3_NATU 'kg_m-2_s-1' Y Y 1990-%m2-01T00:00:00 none none NH3_NATU /discover/nobackup/cakelle2/data/NH3.gen.1x1.nc SEABIRD_NH3 'kg_m-2_s-1' Y Y 1990-%m2-01T00:00:00 none none NH3_SEABIRDS /discover/nobackup/cakelle2/data/NH3_Arctic_seabirds.nc EDGAR_NAP 'kgC_m-2_s-1' N Y - none none BENZ /discover/nobackup/cakelle2/data/EDGAR2_1985_FF_IND.360x180.nc # LIANG_CHBr3 'kg_m2_s-1' N Y - none none CHBr3_emission /discover/nobackup/cakelle2/data/Bromocarb_Liang2010.gen.1x1.nc LIANG_CH2Br2 'kg_m2_s-1' N Y - none none CH2Br2_emission /discover/nobackup/cakelle2/data/Bromocarb_Liang2010.gen.1x1.nc CH4_GAS__1B2a 'kg_m2_s-1' N Y - none none ch4_1B2a /discover/nobackup/cakelle2/data/CH4/v42_CH4.0.1x0.1.2008.esmf.nc CH4_GAS__1B2b 'kg_m2_s-1' N Y - none none ch4_1B2b /discover/nobackup/cakelle2/data/CH4/v42_CH4.0.1x0.1.2008.esmf.nc CH4_COAL__1B1 'kg_m2_s-1' N Y - none none ch4_1B1 /discover/nobackup/cakelle2/data/CH4/v42_CH4.0.1x0.1.2008.esmf.nc CH4_LIVESTOCK__4A 'kg_m2_s-1' N Y - none none ch4_4A /discover/nobackup/cakelle2/data/CH4/v42_CH4.0.1x0.1.2008.esmf.nc CH4_LIVESTOCK__4B 'kg_m2_s-1' N Y - none none ch4_4B /discover/nobackup/cakelle2/data/CH4/v42_CH4.0.1x0.1.2008.esmf.nc CH4_WASTE__6A_6C 'kg_m2_s-1' N Y - none none ch4_6A_6C /discover/nobackup/cakelle2/data/CH4/v42_CH4.0.1x0.1.2008.esmf.nc CH4_WASTE__6B 'kg_m2_s-1' N Y - none none ch4_6B /discover/nobackup/cakelle2/data/CH4/v42_CH4.0.1x0.1.2008.esmf.nc CH4_BIOFUEL__1A4 'kg_m2_s-1' N Y - none none ch4_1A4 /discover/nobackup/cakelle2/data/CH4/v42_CH4.0.1x0.1.2008.esmf.nc CH4_OTHER__1A1_1A2 'kg_m2_s-1' N Y - none none ch4_1A1_1A2 /discover/nobackup/cakelle2/data/CH4/v42_CH4.0.1x0.1.2008.esmf.nc CH4_OTHER__1A3a_c_d_e 'kg_m2_s-1' N Y - none none ch4_1A3a_c_d_e /discover/nobackup/cakelle2/data/CH4/v42_CH4.0.1x0.1.2008.esmf.nc CH4_OTHER__1A3b 'kg_m2_s-1' N Y - none none ch4_1A3b /discover/nobackup/cakelle2/data/CH4/v42_CH4.0.1x0.1.2008.esmf.nc CH4_OTHER__2 'kg_m2_s-1' N Y - none none ch4_2 /discover/nobackup/cakelle2/data/CH4/v42_CH4.0.1x0.1.2008.esmf.nc CH4_OTHER__7A 'kg_m2_s-1' N Y - none none ch4_7A /discover/nobackup/cakelle2/data/CH4/v42_CH4.0.1x0.1.2008.esmf.nc CH4_SOILABSORBTION 'kg_m2_s-1' N Y - none none CH4 /discover/nobackup/cakelle2/data/CH4/soilabs.geos.2x25.esmf.nc CH4_TERMITES 'kg_m2_s-1' N Y - none none CH4 /discover/nobackup/cakelle2/data/CH4/termites.geos.2x25.esmf.nc CH4_WETL 'kg_m2_s-1' N Y %y4-%m2-01T00:00:00 none none ch4_wl /discover/nobackup/lott/g5input/lpj_wetlands/lpj_merra2.ch4_wetlands.x576_y361.t14.%y4.nc 1980-01-01T00:00:00P0001-00-00T00:00:00 #CH4_WETL 'kg_m-2_s-1' N Y 2013-%m2-01T00:00:00 none none ch4_wl /discover/nobackup/lott/g5input/lpj_wetlands/lpj_merra2.ch4_wetlands.x576_y361.t14.2013.nc AEIC_NO 'kg_m-2_s-1' Y Y 2005-%m2-01T00:00:00 none none NO2 /discover/nobackup/cakelle2/data/AEIC.72L.gen.1x1.nc AEIC_CO 'kg_m-2_s-1' Y Y 2005-%m2-01T00:00:00 none none CO /discover/nobackup/cakelle2/data/AEIC.72L.gen.1x1.nc AEIC_SO2 'kg_m-2_s-1' Y Y 2005-%m2-01T00:00:00 none none FUELBURN /discover/nobackup/cakelle2/data/AEIC.72L.gen.1x1.nc AEIC_ACET 'kg_m-2_s-1' Y Y 2005-%m2-01T00:00:00 none none HC /discover/nobackup/cakelle2/data/AEIC.72L.gen.1x1.nc ### 132 LEVELS ### ###AEIC_NO 'kg_m-2_s-1' Y Y 2005-%m2-01T00:00:00 none none NO2 /discover/nobackup/cakelle2/data/AEIC.132L.gen.1x1.nc ###AEIC_CO 'kg_m-2_s-1' Y Y 2005-%m2-01T00:00:00 none none CO /discover/nobackup/cakelle2/data/AEIC.132L.gen.1x1.nc ###AEIC_SO2 'kg_m-2_s-1' Y Y 2005-%m2-01T00:00:00 none none FUELBURN /discover/nobackup/cakelle2/data/AEIC.132L.gen.1x1.nc ###AEIC_ACET 'kg_m-2_s-1' Y Y 2005-%m2-01T00:00:00 none none HC /discover/nobackup/cakelle2/data/AEIC.132L.gen.1x1.nc # halogen emissions ORDONEZ_CH3I 'kg_m-2_s-1' Y Y 2012-%m2-01T00:00:00 none none CH3I /home/cakelle2/data/ORDONEZ/newMAPL/CH3I_monthly_emissions_Ordonez_2012_COARDS.esmf.nc ORDONEZ_CH2I2 'kg_m-2_s-1' Y Y 2012-%m2-01T00:00:00 none none CH2I2 /home/cakelle2/data/ORDONEZ/newMAPL/CH2I2_monthly_emissions_Ordonez_2012_COARDS.esmf.nc ORDONEZ_CH2ICL 'kg_m-2_s-1' Y Y 2012-%m2-01T00:00:00 none none CH2ICl /home/cakelle2/data/ORDONEZ/newMAPL/CH2ICl_monthly_emissions_Ordonez_2012_COARDS.esmf.nc ORDONEZ_CH2IBR 'kg_m-2_s-1' Y Y 2012-%m2-01T00:00:00 none none CH2IBr /home/cakelle2/data/ORDONEZ/newMAPL/CH2IBr_monthly_emissions_Ordonez_2012_COARDS.esmf.nc # QFED emissions # Boundary layer QFED_ACET_TF_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.61984 biomass_tf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_acet.006.%y4%m2%d2.nc4 QFED_ACET_TP_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.61984 biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_acet.006.%y4%m2%d2.nc4 QFED_ACET_BO_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.61984 biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_acet.006.%y4%m2%d2.nc4 QFED_ACET_SV_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.61984 biomass_sv /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_acet.006.%y4%m2%d2.nc4 QFED_ACET_GL_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.61984 biomass_gl /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_acet.006.%y4%m2%d2.nc4 QFED_ALD2_TF_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.54484 biomass_tf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_ald2.006.%y4%m2%d2.nc4 QFED_ALD2_TP_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.54484 biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_ald2.006.%y4%m2%d2.nc4 QFED_ALD2_BO_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.54484 biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_ald2.006.%y4%m2%d2.nc4 QFED_ALD2_SV_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.54484 biomass_sv /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_ald2.006.%y4%m2%d2.nc4 QFED_ALD2_GL_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.54484 biomass_gl /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_ald2.006.%y4%m2%d2.nc4 QFED_ALK4_TF_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.82588 biomass_tf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_alk4.006.%y4%m2%d2.nc4 QFED_ALK4_TP_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.82588 biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_alk4.006.%y4%m2%d2.nc4 QFED_ALK4_BO_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.82588 biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_alk4.006.%y4%m2%d2.nc4 QFED_ALK4_SV_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.82588 biomass_sv /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_alk4.006.%y4%m2%d2.nc4 QFED_ALK4_GL_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.82588 biomass_gl /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_alk4.006.%y4%m2%d2.nc4 QFED_BCPI_TF_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_tf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_bc.006.%y4%m2%d2.nc4 QFED_BCPI_TP_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_bc.006.%y4%m2%d2.nc4 QFED_BCPI_BO_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_bc.006.%y4%m2%d2.nc4 QFED_BCPI_SV_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_sv /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_bc.006.%y4%m2%d2.nc4 QFED_BCPI_GL_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_gl /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_bc.006.%y4%m2%d2.nc4 QFED_OCPI_TF_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_tf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_oc.006.%y4%m2%d2.nc4 QFED_OCPI_TP_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_oc.006.%y4%m2%d2.nc4 QFED_OCPI_BO_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_oc.006.%y4%m2%d2.nc4 QFED_OCPI_SV_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_sv /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_oc.006.%y4%m2%d2.nc4 QFED_OCPI_GL_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_gl /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_oc.006.%y4%m2%d2.nc4 QFED_C2H6_TF_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.79814 biomass_tf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_c2h6.006.%y4%m2%d2.nc4 QFED_C2H6_TP_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.79814 biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_c2h6.006.%y4%m2%d2.nc4 QFED_C2H6_BO_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.79814 biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_c2h6.006.%y4%m2%d2.nc4 QFED_C2H6_SV_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.79814 biomass_sv /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_c2h6.006.%y4%m2%d2.nc4 QFED_C2H6_GL_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.79814 biomass_gl /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_c2h6.006.%y4%m2%d2.nc4 QFED_C3H8_TF_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.81633 biomass_tf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_c3h8.006.%y4%m2%d2.nc4 QFED_C3H8_TP_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.81633 biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_c3h8.006.%y4%m2%d2.nc4 QFED_C3H8_BO_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.81633 biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_c3h8.006.%y4%m2%d2.nc4 QFED_C3H8_SV_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.81633 biomass_sv /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_c3h8.006.%y4%m2%d2.nc4 QFED_C3H8_GL_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.81633 biomass_gl /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_c3h8.006.%y4%m2%d2.nc4 QFED_PRPE_TF_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.81633 biomass_tf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_c3h6.006.%y4%m2%d2.nc4 QFED_PRPE_TP_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.81633 biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_c3h6.006.%y4%m2%d2.nc4 QFED_PRPE_BO_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.81633 biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_c3h6.006.%y4%m2%d2.nc4 QFED_PRPE_SV_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.81633 biomass_sv /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_c3h6.006.%y4%m2%d2.nc4 QFED_PRPE_GL_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.81633 biomass_gl /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_c3h6.006.%y4%m2%d2.nc4 QFED_CH2O_TF_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_tf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_ch2o.006.%y4%m2%d2.nc4 QFED_CH2O_TP_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_ch2o.006.%y4%m2%d2.nc4 QFED_CH2O_BO_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_ch2o.006.%y4%m2%d2.nc4 QFED_CH2O_SV_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_sv /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_ch2o.006.%y4%m2%d2.nc4 QFED_CH2O_GL_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_gl /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_ch2o.006.%y4%m2%d2.nc4 QFED_CO_TF_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_tf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_co.006.%y4%m2%d2.nc4 QFED_CO_TP_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_co.006.%y4%m2%d2.nc4 QFED_CO_BO_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_co.006.%y4%m2%d2.nc4 QFED_CO_SV_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_sv /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_co.006.%y4%m2%d2.nc4 QFED_CO_GL_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_gl /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_co.006.%y4%m2%d2.nc4 QFED_MEK_TF_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.66565 biomass_tf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_mek.006.%y4%m2%d2.nc4 QFED_MEK_TP_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.66565 biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_mek.006.%y4%m2%d2.nc4 QFED_MEK_BO_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.66565 biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_mek.006.%y4%m2%d2.nc4 QFED_MEK_SV_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.66565 biomass_sv /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_mek.006.%y4%m2%d2.nc4 QFED_MEK_GL_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.66565 biomass_gl /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_mek.006.%y4%m2%d2.nc4 QFED_NH3_TF_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_tf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_nh3.006.%y4%m2%d2.nc4 QFED_NH3_TP_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_nh3.006.%y4%m2%d2.nc4 QFED_NH3_BO_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_nh3.006.%y4%m2%d2.nc4 QFED_NH3_SV_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_sv /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_nh3.006.%y4%m2%d2.nc4 QFED_NH3_GL_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_gl /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_nh3.006.%y4%m2%d2.nc4 QFED_NO_TF_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_tf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_no.006.%y4%m2%d2.nc4 QFED_NO_TP_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_no.006.%y4%m2%d2.nc4 QFED_NO_BO_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_no.006.%y4%m2%d2.nc4 QFED_NO_SV_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_sv /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_no.006.%y4%m2%d2.nc4 QFED_NO_GL_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_gl /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_no.006.%y4%m2%d2.nc4 QFED_SO2_TF_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_tf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_so2.006.%y4%m2%d2.nc4 QFED_SO2_TP_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_so2.006.%y4%m2%d2.nc4 QFED_SO2_BO_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_so2.006.%y4%m2%d2.nc4 QFED_SO2_SV_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_sv /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_so2.006.%y4%m2%d2.nc4 QFED_SO2_GL_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_gl /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_so2.006.%y4%m2%d2.nc4 #QFED_C3H6_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.85551 biomass /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_c3h6.006.%y4%m2%d2.nc4 #QFED_CH4_SFC 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_ch4.006.%y4%m2%d2.nc4 # Free troposphere QFED_ACET_TF_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.61984 biomass_tf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_acet.006.%y4%m2%d2.nc4 QFED_ACET_TP_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.61984 biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_acet.006.%y4%m2%d2.nc4 QFED_ACET_BO_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.61984 biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_acet.006.%y4%m2%d2.nc4 QFED_ACET_SV_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.61984 biomass_sv /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_acet.006.%y4%m2%d2.nc4 QFED_ACET_GL_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.61984 biomass_gl /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_acet.006.%y4%m2%d2.nc4 QFED_ALD2_TF_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.54484 biomass_tf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_ald2.006.%y4%m2%d2.nc4 QFED_ALD2_TP_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.54484 biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_ald2.006.%y4%m2%d2.nc4 QFED_ALD2_BO_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.54484 biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_ald2.006.%y4%m2%d2.nc4 QFED_ALD2_SV_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.54484 biomass_sv /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_ald2.006.%y4%m2%d2.nc4 QFED_ALD2_GL_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.54484 biomass_gl /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_ald2.006.%y4%m2%d2.nc4 QFED_ALK4_TF_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.82588 biomass_tf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_alk4.006.%y4%m2%d2.nc4 QFED_ALK4_TP_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.82588 biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_alk4.006.%y4%m2%d2.nc4 QFED_ALK4_BO_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.82588 biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_alk4.006.%y4%m2%d2.nc4 QFED_ALK4_SV_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.82588 biomass_sv /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_alk4.006.%y4%m2%d2.nc4 QFED_ALK4_GL_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.82588 biomass_gl /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_alk4.006.%y4%m2%d2.nc4 QFED_BCPI_TF_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_tf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_bc.006.%y4%m2%d2.nc4 QFED_BCPI_TP_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_bc.006.%y4%m2%d2.nc4 QFED_BCPI_BO_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_bc.006.%y4%m2%d2.nc4 QFED_BCPI_SV_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_sv /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_bc.006.%y4%m2%d2.nc4 QFED_BCPI_GL_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_gl /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_bc.006.%y4%m2%d2.nc4 QFED_OCPI_TF_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_tf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_oc.006.%y4%m2%d2.nc4 QFED_OCPI_TP_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_oc.006.%y4%m2%d2.nc4 QFED_OCPI_BO_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_oc.006.%y4%m2%d2.nc4 QFED_OCPI_SV_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_sv /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_oc.006.%y4%m2%d2.nc4 QFED_OCPI_GL_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_gl /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_oc.006.%y4%m2%d2.nc4 QFED_C2H6_TF_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.79814 biomass_tf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_c2h6.006.%y4%m2%d2.nc4 QFED_C2H6_TP_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.79814 biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_c2h6.006.%y4%m2%d2.nc4 QFED_C2H6_BO_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.79814 biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_c2h6.006.%y4%m2%d2.nc4 QFED_C2H6_SV_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.79814 biomass_sv /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_c2h6.006.%y4%m2%d2.nc4 QFED_C2H6_GL_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.79814 biomass_gl /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_c2h6.006.%y4%m2%d2.nc4 QFED_C3H8_TF_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.81633 biomass_tf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_c3h8.006.%y4%m2%d2.nc4 QFED_C3H8_TP_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.81633 biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_c3h8.006.%y4%m2%d2.nc4 QFED_C3H8_BO_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.81633 biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_c3h8.006.%y4%m2%d2.nc4 QFED_C3H8_SV_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.81633 biomass_sv /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_c3h8.006.%y4%m2%d2.nc4 QFED_C3H8_GL_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.81633 biomass_gl /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_c3h8.006.%y4%m2%d2.nc4 QFED_PRPE_TF_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.81633 biomass_tf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_c3h6.006.%y4%m2%d2.nc4 QFED_PRPE_TP_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.81633 biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_c3h6.006.%y4%m2%d2.nc4 QFED_PRPE_BO_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.81633 biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_c3h6.006.%y4%m2%d2.nc4 QFED_PRPE_SV_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.81633 biomass_sv /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_c3h6.006.%y4%m2%d2.nc4 QFED_PRPE_GL_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.81633 biomass_gl /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_c3h6.006.%y4%m2%d2.nc4 QFED_CH2O_TF_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_tf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_ch2o.006.%y4%m2%d2.nc4 QFED_CH2O_TP_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_ch2o.006.%y4%m2%d2.nc4 QFED_CH2O_BO_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_ch2o.006.%y4%m2%d2.nc4 QFED_CH2O_SV_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_sv /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_ch2o.006.%y4%m2%d2.nc4 QFED_CH2O_GL_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_gl /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_ch2o.006.%y4%m2%d2.nc4 QFED_CO_TF_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_tf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_co.006.%y4%m2%d2.nc4 QFED_CO_TP_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_co.006.%y4%m2%d2.nc4 QFED_CO_BO_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_co.006.%y4%m2%d2.nc4 QFED_CO_SV_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_sv /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_co.006.%y4%m2%d2.nc4 QFED_CO_GL_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_gl /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_co.006.%y4%m2%d2.nc4 QFED_MEK_TF_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.66565 biomass_tf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_mek.006.%y4%m2%d2.nc4 QFED_MEK_TP_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.66565 biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_mek.006.%y4%m2%d2.nc4 QFED_MEK_BO_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.66565 biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_mek.006.%y4%m2%d2.nc4 QFED_MEK_SV_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.66565 biomass_sv /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_mek.006.%y4%m2%d2.nc4 QFED_MEK_GL_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.66565 biomass_gl /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_mek.006.%y4%m2%d2.nc4 QFED_NH3_TF_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_tf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_nh3.006.%y4%m2%d2.nc4 QFED_NH3_TP_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_nh3.006.%y4%m2%d2.nc4 QFED_NH3_BO_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_nh3.006.%y4%m2%d2.nc4 QFED_NH3_SV_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_sv /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_nh3.006.%y4%m2%d2.nc4 QFED_NH3_GL_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_gl /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_nh3.006.%y4%m2%d2.nc4 QFED_NO_TF_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_tf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_no.006.%y4%m2%d2.nc4 QFED_NO_TP_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_no.006.%y4%m2%d2.nc4 QFED_NO_BO_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_no.006.%y4%m2%d2.nc4 QFED_NO_SV_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_sv /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_no.006.%y4%m2%d2.nc4 QFED_NO_GL_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_gl /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_no.006.%y4%m2%d2.nc4 QFED_SO2_TF_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_tf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_so2.006.%y4%m2%d2.nc4 QFED_SO2_TP_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_so2.006.%y4%m2%d2.nc4 QFED_SO2_BO_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_xf /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_so2.006.%y4%m2%d2.nc4 QFED_SO2_SV_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_sv /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_so2.006.%y4%m2%d2.nc4 QFED_SO2_GL_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass_gl /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_so2.006.%y4%m2%d2.nc4 #QFED_C3H6_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none 0.85551 biomass /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_c3h6.006.%y4%m2%d2.nc4 #QFED_CH4_FT 'kg_m-2_s-1' N Y %y4-%m2-%d1T12:00:00 none none biomass /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_ch4.006.%y4%m2%d2.nc4 #============================================================================== # --- Anthropogenic dust emissions (AFCID)--- #============================================================================== PM25FINE_1 'kg_m-2_s-1' Y N 2015-%m2-01T00:00:00 none none PM25FINE /discover/nobackup/projects/gmao/geos_cf_dev/gcc_inputs/AFCID/v2018-04/PM25FINE_ECLIPSE_2015.geos.2x25.nc #============================================================================== # --- Seawater concentrations for oceanic emissions (Extension 101) --- # CH3I_SEAWATER is commented out by default in HEMCO_Config.rc in CTM #============================================================================== DMS_SEAWATER 'kg/m3' Y Y 1985-%m2-01T00:00:00 none none DMS_OCEAN /discover/nobackup/cakelle2/data/OCEAN/DMS_lana.geos.1x1.esmf.nc ACET_SEAWATER 'kg/m3' N Y - none none ACET /discover/nobackup/cakelle2/data/OCEAN/ACET_seawater.generic.1x1.esmf.nc ALD2_SEAWATER 'kg/m3' Y Y 1985-%m2-01T00:00:00 none none ALD2 /discover/nobackup/cakelle2/data/OCEAN/ALD2_seawater.geos.2x25.esmf.nc MENO3_SEAWATER 'kg/m3' Y Y 2006-%m2-01T00:00:00 none none MENO3 /discover/nobackup/ewlundgr/data/ExtData/RONO2/v2019-05/RONO2_seawater.geos.2x25.nc ETNO3_SEAWATER 'kg/m3' Y Y 2006-%m2-01T00:00:00 none none ETNO3 /discover/nobackup/ewlundgr/data/ExtData/RONO2/v2019-05/RONO2_seawater.geos.2x25.nc MOH_SEAWATER kgC/m3 N Y - none none MOH /discover/nobackup/ewlundgr/data/ExtData/MOH/v2019-12/MOH_seawater.low.kgCm3.generic.1x1.nc # scale factors LIQFUEL_THISYR '1' N N - none none COscalar /discover/nobackup/cakelle2/data/AnnualScalar.gen.1x1.2010.nc LIQFUEL_1985 '1' N N - none none COscalar /discover/nobackup/cakelle2/data/AnnualScalar.gen.1x1.1985.nc BROMOCARB_SEASON '1' Y N 2000-%m2-01T00:01:00 none none CHXBRY_scale /discover/nobackup/cakelle2/data/BromoCarb_Season.esmf.nc ALD2_PLANTDECAY 'kgC/m2/s' Y Y 1985-%m2-01T00:00:00 none none HET_RESP /discover/nobackup/cakelle2/data/resp.geos.2x25.esmf.nc DEAD_EF_GEO '1' N N - none none EF_GEO /discover/nobackup/cakelle2/data/dst_tibds.esmf.2x25.nc DEAD_LF_DRY '1' N N - none none LF_DRY /discover/nobackup/cakelle2/data/dst_tibds.esmf.2x25.nc DEAD_MF_CACO3 '1' N N - none none MF_CaCO3 /discover/nobackup/cakelle2/data/dst_tibds.esmf.2x25.nc DEAD_MF_CLY '1' N N - none none MF_CLY /discover/nobackup/cakelle2/data/dst_tibds.esmf.2x25.nc DEAD_MF_SND '1' N N - none none MF_SND /discover/nobackup/cakelle2/data/dst_tibds.esmf.2x25.nc DEAD_GOC_SRC '1' N N - none none GOC_SRC /discover/nobackup/cakelle2/data/GOCART_src_fn.esmf.2x25.nc DEAD_VAI '1' Y N 1985-%m2-01T00:00:00 none none VAI /discover/nobackup/cakelle2/data/dst_tvbds.esmf.2x25.nc MULTISEAICE '1' N Y F%y4-%m2-%d2T00:00:00 none none FRSEAICE /discover/nobackup/ewlundgr/data/ExtData/MULTI_ICE/v2021-07/multiyearice.merra2.05x0625.%y4.nc MEGAN_AEF_ISOP_GCC 'kgC/m2/s' N Y - none none AEF_ISOPRENE /discover/nobackup/cakelle2/data/MEGAN_20180519/MEGAN2.1_EF.geos.025x03125.esmf.nc MEGAN_AEF_MBOX_GCC 'kgC/m2/s' N Y - none none AEF_MBO /discover/nobackup/cakelle2/data/MEGAN_20180519/MEGAN2.1_EF.geos.025x03125.esmf.nc MEGAN_AEF_BPIN_GCC 'kgC/m2/s' N Y - none none AEF_BETA_PINENE /discover/nobackup/cakelle2/data/MEGAN_20180519/MEGAN2.1_EF.geos.025x03125.esmf.nc MEGAN_AEF_CARE_GCC 'kgC/m2/s' N Y - none none AEF_CARENE /discover/nobackup/cakelle2/data/MEGAN_20180519/MEGAN2.1_EF.geos.025x03125.esmf.nc MEGAN_AEF_LIMO_GCC 'kgC/m2/s' N Y - none none AEF_LIMONENE /discover/nobackup/cakelle2/data/MEGAN_20180519/MEGAN2.1_EF.geos.025x03125.esmf.nc MEGAN_AEF_OCIM_GCC 'kgC/m2/s' N Y - none none AEF_OCIMENE /discover/nobackup/cakelle2/data/MEGAN_20180519/MEGAN2.1_EF.geos.025x03125.esmf.nc MEGAN_AEF_SABI_GCC 'kgC/m2/s' N Y - none none AEF_SABINENE /discover/nobackup/cakelle2/data/MEGAN_20180519/MEGAN2.1_EF.geos.025x03125.esmf.nc CLM4_PFT_BARE_GCC '1' N N - none none PFT_BARE /discover/nobackup/cakelle2/data/MEGAN_20180519/CLM4_PFT.geos.025x03125.esmf.nc CLM4_PFT_NDLF_EVGN_TMPT_TREE_GCC '1' N N - none none PFT_NDLF_EVGN_TMPT_TREE /discover/nobackup/cakelle2/data/MEGAN_20180519/CLM4_PFT.geos.025x03125.esmf.nc CLM4_PFT_NDLF_EVGN_BORL_TREE_GCC '1' N N - none none PFT_NDLF_EVGN_BORL_TREE /discover/nobackup/cakelle2/data/MEGAN_20180519/CLM4_PFT.geos.025x03125.esmf.nc CLM4_PFT_NDLF_DECD_BORL_TREE_GCC '1' N N - none none PFT_NDLF_DECD_BORL_TREE /discover/nobackup/cakelle2/data/MEGAN_20180519/CLM4_PFT.geos.025x03125.esmf.nc CLM4_PFT_BDLF_EVGN_TROP_TREE_GCC '1' N N - none none PFT_BDLF_EVGN_TROP_TREE /discover/nobackup/cakelle2/data/MEGAN_20180519/CLM4_PFT.geos.025x03125.esmf.nc CLM4_PFT_BDLF_EVGN_TMPT_TREE_GCC '1' N N - none none PFT_BDLF_EVGN_TMPT_TREE /discover/nobackup/cakelle2/data/MEGAN_20180519/CLM4_PFT.geos.025x03125.esmf.nc CLM4_PFT_BDLF_DECD_TROP_TREE_GCC '1' N N - none none PFT_BDLF_DECD_TROP_TREE /discover/nobackup/cakelle2/data/MEGAN_20180519/CLM4_PFT.geos.025x03125.esmf.nc CLM4_PFT_BDLF_DECD_TMPT_TREE_GCC '1' N N - none none PFT_BDLF_DECD_TMPT_TREE /discover/nobackup/cakelle2/data/MEGAN_20180519/CLM4_PFT.geos.025x03125.esmf.nc CLM4_PFT_BDLF_DECD_BORL_TREE_GCC '1' N N - none none PFT_BDLF_DECD_BORL_TREE /discover/nobackup/cakelle2/data/MEGAN_20180519/CLM4_PFT.geos.025x03125.esmf.nc CLM4_PFT_BDLF_EVGN_SHRB_GCC '1' N N - none none PFT_BDLF_EVGN_SHRB /discover/nobackup/cakelle2/data/MEGAN_20180519/CLM4_PFT.geos.025x03125.esmf.nc CLM4_PFT_BDLF_DECD_TMPT_SHRB_GCC '1' N N - none none PFT_BDLF_DECD_TMPT_SHRB /discover/nobackup/cakelle2/data/MEGAN_20180519/CLM4_PFT.geos.025x03125.esmf.nc CLM4_PFT_BDLF_DECD_BORL_SHRB_GCC '1' N N - none none PFT_BDLF_DECD_BORL_SHRB /discover/nobackup/cakelle2/data/MEGAN_20180519/CLM4_PFT.geos.025x03125.esmf.nc CLM4_PFT_C3_ARCT_GRSS_GCC '1' N N - none none PFT_C3_ARCT_GRSS /discover/nobackup/cakelle2/data/MEGAN_20180519/CLM4_PFT.geos.025x03125.esmf.nc CLM4_PFT_C3_NARC_GRSS_GCC '1' N N - none none PFT_C3_NARC_GRSS /discover/nobackup/cakelle2/data/MEGAN_20180519/CLM4_PFT.geos.025x03125.esmf.nc CLM4_PFT_C4_GRSS_GCC '1' N N - none none PFT_C4_GRSS /discover/nobackup/cakelle2/data/MEGAN_20180519/CLM4_PFT.geos.025x03125.esmf.nc CLM4_PFT_CROP_GCC '1' N N - none none PFT_CROP /discover/nobackup/cakelle2/data/MEGAN_20180519/CLM4_PFT.geos.025x03125.esmf.nc MEGAN_ORVC_GCC 'kgC/m2/s' Y Y 1999-%m2-01T00:00:00 none none OCPI /discover/nobackup/cakelle2/data/NVOC.geos.1x1.esmf.nc SOILNOX_FERT 'kg/m3' N Y 2000-%m2-%d2T00:00:00 none none FERT /discover/nobackup/cakelle2/data/soilNOx.fert_res.generic.05x05.nc SOILNOX_LANDK1 '1' N N - none none LANDFRAC_K01 /discover/nobackup/cakelle2/data/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK2 '1' N N - none none LANDFRAC_K02 /discover/nobackup/cakelle2/data/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK3 '1' N N - none none LANDFRAC_K03 /discover/nobackup/cakelle2/data/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK4 '1' N N - none none LANDFRAC_K04 /discover/nobackup/cakelle2/data/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK5 '1' N N - none none LANDFRAC_K05 /discover/nobackup/cakelle2/data/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK6 '1' N N - none none LANDFRAC_K06 /discover/nobackup/cakelle2/data/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK7 '1' N N - none none LANDFRAC_K07 /discover/nobackup/cakelle2/data/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK8 '1' N N - none none LANDFRAC_K08 /discover/nobackup/cakelle2/data/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK9 '1' N N - none none LANDFRAC_K09 /discover/nobackup/cakelle2/data/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK10 '1' N N - none none LANDFRAC_K10 /discover/nobackup/cakelle2/data/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK11 '1' N N - none none LANDFRAC_K11 /discover/nobackup/cakelle2/data/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK12 '1' N N - none none LANDFRAC_K12 /discover/nobackup/cakelle2/data/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK13 '1' N N - none none LANDFRAC_K13 /discover/nobackup/cakelle2/data/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK14 '1' N N - none none LANDFRAC_K14 /discover/nobackup/cakelle2/data/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK15 '1' N N - none none LANDFRAC_K15 /discover/nobackup/cakelle2/data/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK16 '1' N N - none none LANDFRAC_K16 /discover/nobackup/cakelle2/data/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK17 '1' N N - none none LANDFRAC_K17 /discover/nobackup/cakelle2/data/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK18 '1' N N - none none LANDFRAC_K18 /discover/nobackup/cakelle2/data/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK19 '1' N N - none none LANDFRAC_K19 /discover/nobackup/cakelle2/data/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK20 '1' N N - none none LANDFRAC_K20 /discover/nobackup/cakelle2/data/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK21 '1' N N - none none LANDFRAC_K21 /discover/nobackup/cakelle2/data/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK22 '1' N N - none none LANDFRAC_K22 /discover/nobackup/cakelle2/data/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK23 '1' N N - none none LANDFRAC_K23 /discover/nobackup/cakelle2/data/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_LANDK24 '1' N N - none none LANDFRAC_K24 /discover/nobackup/cakelle2/data/soilNOx.landtype.generic.025x025.1L.nc SOILNOX_ARID '1' N N - none none ARID /discover/nobackup/cakelle2/data/soilNOx.climate.generic.05x05.nc SOILNOX_NONARID '1' N N - none none NON_ARID /discover/nobackup/cakelle2/data/soilNOx.climate.generic.05x05.nc # CH4_RICE 'kg_m2_s-1' N Y - none none ch4_4C_4D /discover/nobackup/cakelle2/data/CH4/v42_CH4.0.1x0.1.2008.esmf.nc CH4_GWET_YR '1' N N - none none GWETTOP /discover/nobackup/cakelle2/data/CH4/GWETTOP.annual.geos5.2x25.esmf.nc CH4_GWET_MT '1' Y N 2011-%m2-01T00:00:00 none none GWETTOP /discover/nobackup/cakelle2/data/CH4/GWETTOP.monthly.geos5.2x25.esmf.nc CH4_MEAN_T '1' N N - none none TSKIN /discover/nobackup/cakelle2/data/CH4/TSKIN.annual.geos5.2x25.esmf.nc CH4_WETFRAC '1' N N - none none WETFRAC /discover/nobackup/cakelle2/data/CH4/Wetfrac.2x25.esmf.nc CH4_LITTER_C 'kg_m2_s-1' N Y - none none CARBON /discover/nobackup/cakelle2/data/CH4/Carbon_litter.2x25.esmf.nc CH4_SOIL_C 'kg_m2_s-1' N Y - none none CARBON /discover/nobackup/cakelle2/data/CH4/Carbon_soil.2x25.esmf.nc # --- Stratospheric Bry data --- GEOSCCM_Br_DAY '1' Y N 2005-%m2-01T00:00:00 none none BR /discover/nobackup/cakelle2/data/Bry/GEOSCCM_Bry.2007.day.esmf.nc GEOSCCM_Br2_DAY '1' Y N 2005-%m2-01T00:00:00 none none BRCL /discover/nobackup/cakelle2/data/Bry/GEOSCCM_Bry.2007.day.esmf.nc GEOSCCM_BrO_DAY '1' Y N 2005-%m2-01T00:00:00 none none BRO /discover/nobackup/cakelle2/data/Bry/GEOSCCM_Bry.2007.day.esmf.nc GEOSCCM_BrNO3_DAY '1' Y N 2005-%m2-01T00:00:00 none none BRONO2 /discover/nobackup/cakelle2/data/Bry/GEOSCCM_Bry.2007.day.esmf.nc GEOSCCM_HBr_DAY '1' Y N 2005-%m2-01T00:00:00 none none HBR /discover/nobackup/cakelle2/data/Bry/GEOSCCM_Bry.2007.day.esmf.nc GEOSCCM_HOBr_DAY '1' Y N 2005-%m2-01T00:00:00 none none HOBR /discover/nobackup/cakelle2/data/Bry/GEOSCCM_Bry.2007.day.esmf.nc GEOSCCM_Br_NIGHT '1' Y N 2005-%m2-01T00:00:00 none none BR /discover/nobackup/cakelle2/data/Bry/GEOSCCM_Bry.2007.night.esmf.nc GEOSCCM_Br2_NIGHT '1' Y N 2005-%m2-01T00:00:00 none none BRCL /discover/nobackup/cakelle2/data/Bry/GEOSCCM_Bry.2007.night.esmf.nc GEOSCCM_BrO_NIGHT '1' Y N 2005-%m2-01T00:00:00 none none BRO /discover/nobackup/cakelle2/data/Bry/GEOSCCM_Bry.2007.night.esmf.nc GEOSCCM_BrNO3_NIGHT '1' Y N 2005-%m2-01T00:00:00 none none BRONO2 /discover/nobackup/cakelle2/data/Bry/GEOSCCM_Bry.2007.night.esmf.nc GEOSCCM_HBr_NIGHT '1' Y N 2005-%m2-01T00:00:00 none none HBR /discover/nobackup/cakelle2/data/Bry/GEOSCCM_Bry.2007.night.esmf.nc GEOSCCM_HOBr_NIGHT '1' Y N 2005-%m2-01T00:00:00 none none HOBR /discover/nobackup/cakelle2/data/Bry/GEOSCCM_Bry.2007.night.esmf.nc # --- OH concentrations --- STRAT_OH '1' Y N 2005-%m2-01T00:00:00 none none species /discover/nobackup/cakelle2/data/GMI/gmi.clim.OH.geos5.2x25.esmf.nc # --- NOAA GMD surface CH4 concentrations --- NOAA_GMD_CH4 'v/v' N N %y4-%m2-01T00:00:00 none none SFC_CH4 /discover/nobackup/cakelle2/data/NOAA_GMD/monthly.gridded.surface.methane.1979-2024.1x1.nc #NOAA_GMD_CH4 'v/v' N N %y4-%m2-01T00:00:00 none none SFC_CH4 /discover/nobackup/cakelle2/data/NOAA_GMD/monthly.gridded.surface.methane.1979-2020.1x1.nc # --- Spatially varying OM/OC --- OMOC_DJF '1' N N - none none OMOC /discover/nobackup/cakelle2/data/OMOC/OMOC.DJF.01x01.nc OMOC_MAM '1' N N - none none OMOC /discover/nobackup/cakelle2/data/OMOC/OMOC.MAM.01x01.nc OMOC_JJA '1' N N - none none OMOC /discover/nobackup/cakelle2/data/OMOC/OMOC.JJA.01x01.nc OMOC_SON '1' N N - none none OMOC /discover/nobackup/cakelle2/data/OMOC/OMOC.SON.01x01.nc # --- UV albedo --- UV_ALBEDO '1' Y N 1985-%m2-01T00:00:00 none none UVALBD /discover/nobackup/cakelle2/data/uvalbedo.geos.2x25.nc #============================================================================== # --- Surface VMR (SfcVMR) --- #============================================================================== SfcVMR_CH3Cl ppbv N Y F%y4-%m2-01T00:00:00 none none CH3Cl /discover/nobackup/ewlundgr/data/ExtData/CMIP6/v2020-03/CMIP6_GHG_surface_VMR_%y4.nc SfcVMR_CH2Cl2 ppbv N Y F%y4-%m2-01T00:00:00 none none CH2Cl2 /discover/nobackup/ewlundgr/data/ExtData/CMIP6/v2020-03/CMIP6_GHG_surface_VMR_%y4.nc SfcVMR_CHCl3 ppbv N Y F%y4-%m2-01T00:00:00 none none CHCl3 /discover/nobackup/ewlundgr/data/ExtData/CMIP6/v2020-03/CMIP6_GHG_surface_VMR_%y4.nc SfcVMR_CH3Br ppbv N Y F%y4-%m2-01T00:00:00 none none CH3Br /discover/nobackup/ewlundgr/data/ExtData/CMIP6/v2020-03/CMIP6_GHG_surface_VMR_%y4.nc # SfcVMR_CCl4 v/v N Y F%y4-%m2-01T00:00:00 none none CCl4 /discover/nobackup/cakelle2/data/SfcFix/v2019-12/WMO_2018/surface_VMRs_WMO2018_%y4.nc SfcVMR_CFC113 v/v N Y F%y4-%m2-01T00:00:00 none none CFC113 /discover/nobackup/cakelle2/data/SfcFix/v2019-12/WMO_2018/surface_VMRs_WMO2018_%y4.nc SfcVMR_CFC114 v/v N Y F%y4-%m2-01T00:00:00 none none CFC114 /discover/nobackup/cakelle2/data/SfcFix/v2019-12/WMO_2018/surface_VMRs_WMO2018_%y4.nc SfcVMR_CFC115 v/v N Y F%y4-%m2-01T00:00:00 none none CFC115 /discover/nobackup/cakelle2/data/SfcFix/v2019-12/WMO_2018/surface_VMRs_WMO2018_%y4.nc SfcVMR_CFC11 v/v N Y F%y4-%m2-01T00:00:00 none none CFC11 /discover/nobackup/cakelle2/data/SfcFix/v2019-12/WMO_2018/surface_VMRs_WMO2018_%y4.nc SfcVMR_CFC12 v/v N Y F%y4-%m2-01T00:00:00 none none CFC12 /discover/nobackup/cakelle2/data/SfcFix/v2019-12/WMO_2018/surface_VMRs_WMO2018_%y4.nc SfcVMR_CH3CCl3 v/v N Y F%y4-%m2-01T00:00:00 none none CH3CCl3 /discover/nobackup/cakelle2/data/SfcFix/v2019-12/WMO_2018/surface_VMRs_WMO2018_%y4.nc SfcVMR_H1211 v/v N Y F%y4-%m2-01T00:00:00 none none H1211 /discover/nobackup/cakelle2/data/SfcFix/v2019-12/WMO_2018/surface_VMRs_WMO2018_%y4.nc SfcVMR_H1301 v/v N Y F%y4-%m2-01T00:00:00 none none H1301 /discover/nobackup/cakelle2/data/SfcFix/v2019-12/WMO_2018/surface_VMRs_WMO2018_%y4.nc SfcVMR_H2402 v/v N Y F%y4-%m2-01T00:00:00 none none C2BR2F4 /discover/nobackup/cakelle2/data/SfcFix/v2019-12/WMO_2018/surface_VMRs_WMO2018_%y4.nc SfcVMR_HCFC141b v/v N Y F%y4-%m2-01T00:00:00 none none HCFC141b /discover/nobackup/cakelle2/data/SfcFix/v2019-12/WMO_2018/surface_VMRs_WMO2018_%y4.nc SfcVMR_HCFC142b v/v N Y F%y4-%m2-01T00:00:00 none none HCFC142b /discover/nobackup/cakelle2/data/SfcFix/v2019-12/WMO_2018/surface_VMRs_WMO2018_%y4.nc SfcVMR_HCFC22 v/v N Y F%y4-%m2-01T00:00:00 none none HCFC22 /discover/nobackup/cakelle2/data/SfcFix/v2019-12/WMO_2018/surface_VMRs_WMO2018_%y4.nc SfcVMR_N2O v/v N Y F%y4-%m2-01T00:00:00 none none N2O /discover/nobackup/cakelle2/data/SfcFix/v2019-12/WMO_2018/surface_VMRs_WMO2018_%y4.nc # SfcVMR_OCS ppbv N Y - none none OCS /discover/nobackup/ewlundgr/data/ExtData/SfcFix/v2019-12/surface_VMR_OCS.nc SfcVMR_H2 ppbv N Y - none none H2 /discover/nobackup/ewlundgr/data/ExtData/SfcFix/v2019-12/surface_VMR_H2.nc #============================================================================== # --- Oceanic ozone deposition --- #============================================================================== surf_salinity '1' N Y - none none s_mn /discover/nobackup/cakelle2/data/OCEAN_O3_DRYDEP/v2020-02/WOA_2013_salinity.nc surf_iodide '1' Y Y 1970-%m2-01T00:00:00 none none Ensemble_Monthly_mean /discover/nobackup/cakelle2/data/OCEAN_O3_DRYDEP/v2020-02/Oi_prj_predicted_iodide_0.125x0.125_No_Skagerrak_Just_Ensemble.nc # --- Analyzed tracer field increments --- INC_O3 'mol/mol' N N - none 1.0e-6 ozone /dev/null # --- Vertical scale factors --- CEDS_VSCAL_ENERGY 1 Y N 2005-%m-01T00:00:00 none none vscal_energy /discover/nobackup/projects/gmao/geos_cf_dev/gcc_inputs/CEDS/CEDS_vertical_emiss_factors.nc CEDS_VSCAL_INDUSTRY 1 Y N 2005-%m-01T00:00:00 none none vscal_industry /discover/nobackup/projects/gmao/geos_cf_dev/gcc_inputs/CEDS/CEDS_vertical_emiss_factors.nc CEDS_VSCAL_SHIP 1 Y N 2005-%m-01T00:00:00 none none vscal_ship /discover/nobackup/projects/gmao/geos_cf_dev/gcc_inputs/CEDS/CEDS_vertical_emiss_factors.nc # --- FP assimilated O3 ANA_O3 'kg/kg' N N 0 none none O3 /discover/nobackup/projects/gmao/yotc/pub/fp/das/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg3_3d_asm_Nv.%y4%m2%d2_%h2%n2.V01.nc4 2018-01-01T01:30:00P03:00 # QFED2 mask for extratropical forests (temperate vs. boreal) QFED2_TEMPERATE '1' N N - none none qfed2_temperate /discover/nobackup/cakelle2/data/qfed2_forest_mask.nc4 QFED2_BOREAL '1' N N - none none qfed2_boreal /discover/nobackup/cakelle2/data/qfed2_forest_mask.nc4 # GEOS_CH4 GEOS_CH4 'mol/mol' N N - none none CH4_total_dry /dev/null #GEOS_CH4 'mol/mol' N N - none none CH4_total_dry /discover/nobackup/projects/gmao/geos_carb/sbasu1/runs/GCM/Jason_10.18.0_carbon_c90/holding/methane_tags/Jason_10.18.0_carbon_c90.methane_tags.%y4%m2%d2_%h200z.nc 2001-01-01T00:00:00P0000-00-00T03:00:00 # Masks DEAD_SFC_TYP NA N V - none none SFC_TYP /discover/nobackup/cakelle2/data/dst_tibds.esmf.2x25.nc TIMEZONES NA N V - none none UTC_OFFSET /discover/nobackup/cakelle2/data/timezones_esmf.2x25.nc AF_MASK NA N V - none none LANDMASK /discover/nobackup/cakelle2/data/DICE/mask/AF_LANDMASK.025x025.nc # -----------|--------------|-----|---|----------------------|--------|-------|-----------------|---------------------- %% DerivedExports%% # ---------|---------|--------------------------------------------| # Export | Primary |_________________ Mask _____________________| # Name | Name | Name | Expression | # ---------|---------|------------|-------------------------------| # ---------|---------|------------|-------------------------------| %% ================================================ FILE: run/GEOS/GEOSCHEMchem_ExtData.yaml ================================================ Samplings: gcc_persist: {extrapolation: persist_closest} gcc_daily: {update_reference_time: "0", update_frequency: PT24H, update_offset: PT12H} gcc_daily_clim: {update_reference_time: "0", update_frequency: PT24H, time_interpolation: False, extrapolation: clim} gcc_8day_interp_clim: {update_reference_time: "0", update_frequency: P8D, update_offset: P1D, time_interpolation: True, extrapolation: clim} gcc_3hr: {time_interpolation: True, extrapolation: clim} gcc_monthly_clim: {update_reference_time: "0", update_frequency: P1M, time_interpolation: False, extrapolation: clim} geosit_sample: {update_offset: PT900S, exact: True} Collections: GCC_ACET_seawater: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/OCEAN/v0.0.0/sfc/ACET_seawater.generic.1x1.esmf.nc GCC_ALD2_seawater: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/OCEAN/v0.0.0/sfc/ALD2_seawater_x144_y91_t12.2006.nc GCC_DMS_lana: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/OCEAN/v0.0.0/sfc/DMS_lana_x360_y180_t12.1985.nc GEOSCHEMchem_AEIC: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/AEIC/v0.0.0/L72/AEIC_x360_y180_z72_t12.2005.nc GEOSCHEMchem_AF_LANDMASK: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/Masks/v0.0.0/sfc/AF_LANDMASK.025x025.nc GEOSCHEMchem_resp: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/PlantDecay/v0.0.0/sfc/resp.geos_x144_y91_t12.1985.nc GEOSCHEMchem_Bromocarb_Liang2010: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/BromoCarb/Liang/v0.0.0/Bromocarb_Liang2010.gen.1x1.nc GEOSCHEMchem_BromoCarb_Season: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/ScaleFactors/v0.0.0/sfc/BromoCarb_Season_x360_y180_t12.2000.nc GEOSCHEMchem_ALD2_anthro_CEDS: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/CEDS/v2021-04-21-corrected/ALD2_anthro_CEDS_x3600_y1800_t12.%y4.nc valid_range: "2000-01-01T00:00/2019-12-01T00:00" GEOSCHEMchem_ALK4_butanes_anthro_CEDS: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/CEDS/v2021-04-21-corrected/ALK4_butanes_anthro_CEDS_x3600_y1800_t12.%y4.nc valid_range: "2000-01-01T00:00/2019-12-01T00:00" GEOSCHEMchem_ALK4_hexanes_anthro_CEDS: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/CEDS/v2021-04-21-corrected/ALK4_hexanes_anthro_CEDS_x3600_y1800_t12.%y4.nc valid_range: "2000-01-01T00:00/2019-12-01T00:00" GEOSCHEMchem_ALK4_pentanes_anthro_CEDS: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/CEDS/v2021-04-21-corrected/ALK4_pentanes_anthro_CEDS_x3600_y1800_t12.%y4.nc valid_range: "2000-01-01T00:00/2019-12-01T00:00" GEOSCHEMchem_BC_anthro_CEDS: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/CEDS/v2021-04-21-corrected/BC_anthro_CEDS_x3600_y1800_t12.%y4.nc valid_range: "2000-01-01T00:00/2019-12-01T00:00" GEOSCHEMchem_BENZ_anthro_CEDS: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/CEDS/v2021-04-21-corrected/BENZ_anthro_CEDS_x3600_y1800_t12.%y4.nc valid_range: "2000-01-01T00:00/2019-12-01T00:00" GEOSCHEMchem_C2H2_anthro_CEDS: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/CEDS/v2021-04-21-corrected/C2H2_anthro_CEDS_x3600_y1800_t12.%y4.nc valid_range: "2000-01-01T00:00/2019-12-01T00:00" GEOSCHEMchem_C2H4_anthro_CEDS: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/CEDS/v2021-04-21-corrected/C2H4_anthro_CEDS_x3600_y1800_t12.%y4.nc valid_range: "2000-01-01T00:00/2019-12-01T00:00" GEOSCHEMchem_C2H6_anthro_CEDS: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/CEDS/v2021-04-21-corrected/C2H6_anthro_CEDS_x3600_y1800_t12.%y4.nc valid_range: "2000-01-01T00:00/2019-12-01T00:00" GEOSCHEMchem_C3H8_anthro_CEDS: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/CEDS/v2021-04-21-corrected/C3H8_anthro_CEDS_x3600_y1800_t12.%y4.nc valid_range: "2000-01-01T00:00/2019-12-01T00:00" GEOSCHEMchem_CH2O_anthro_CEDS: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/CEDS/v2021-04-21-corrected/CH2O_anthro_CEDS_x3600_y1800_t12.%y4.nc valid_range: "2000-01-01T00:00/2019-12-01T00:00" GEOSCHEMchem_CO_anthro_CEDS: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/CEDS/v2021-04-21-corrected/CO_anthro_CEDS_x3600_y1800_t12.%y4.nc valid_range: "2000-01-01T00:00/2019-12-01T00:00" GEOSCHEMchem_EOH_anthro_CEDS: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/CEDS/v2021-04-21-corrected/EOH_anthro_CEDS_x3600_y1800_t12.%y4.nc valid_range: "2000-01-01T00:00/2019-12-01T00:00" GEOSCHEMchem_HCOOH_anthro_CEDS: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/CEDS/v2021-04-21-corrected/HCOOH_anthro_CEDS_x3600_y1800_t12.%y4.nc valid_range: "2000-01-01T00:00/2019-12-01T00:00" GEOSCHEMchem_NH3_anthro_CEDS: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/CEDS/v2021-04-21-corrected/NH3_anthro_CEDS_x3600_y1800_t12.%y4.nc valid_range: "2000-01-01T00:00/2019-12-01T00:00" GEOSCHEMchem_NO_anthro_CEDS: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/CEDS/v2021-04-21-corrected/NO_anthro_CEDS_x3600_y1800_t12.%y4.nc valid_range: "2000-01-01T00:00/2019-12-01T00:00" GEOSCHEMchem_MEK_anthro_CEDS: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/CEDS/v2021-04-21-corrected/MEK_anthro_CEDS_x3600_y1800_t12.%y4.nc valid_range: "2000-01-01T00:00/2019-12-01T00:00" GEOSCHEMchem_SO2_anthro_CEDS: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/CEDS/v2021-04-21-corrected/SO2_anthro_CEDS_x3600_y1800_t12.%y4.nc valid_range: "2000-01-01T00:00/2019-12-01T00:00" GEOSCHEMchem_TOLU_anthro_CEDS: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/CEDS/v2021-04-21-corrected/TOLU_anthro_CEDS_x3600_y1800_t12.%y4.nc valid_range: "2000-01-01T00:00/2019-12-01T00:00" GEOSCHEMchem_XYLE_anthro_CEDS: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/CEDS/v2021-04-21-corrected/XYLE_anthro_CEDS_x3600_y1800_t12.%y4.nc valid_range: "2000-01-01T00:00/2019-12-01T00:00" GEOSCHEMchem_OC_anthro_CEDS: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/CEDS/v2021-04-21-corrected/OC_anthro_CEDS_x3600_y1800_t12.%y4.nc valid_range: "2000-01-01T00:00/2019-12-01T00:00" GEOSCHEMchem_PRPE_anthro_CEDS: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/CEDS/v2021-04-21-corrected/PRPE_anthro_CEDS_x3600_y1800_t12.%y4.nc valid_range: "2000-01-01T00:00/2019-12-01T00:00" GEOSCHEMchem_CEDS_vertical_emiss_factors: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/ScaleFactors/v0.0.0/L72/CEDS_vertical_emiss_factors.nc GEOSCHEMchem_CLM4_PFT: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/HEMCO/v0.0.0/sfc/CLM4_PFT.geos.025x03125.esmf.nc GEOSCHEMchem_GOCART_src_fn: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/HEMCO/v0.0.0/sfc/GOCART_src_fn.esmf.2x25.nc GEOSCHEMchem_dst_tibds: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/HEMCO/v0.0.0/sfc/dst_tibds.esmf.2x25.nc GEOSCHEMchem_dst_tvbds: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/HEMCO/v0.0.0/sfc/dst_tvbds.esmf.2x25.nc GEOSCHEMchem_TOMS_O3col: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/GCHP_data/TOMS_O3col_2010.a.geos.1x1.nc GEOSCHEMchem_EDGAR2_1985_FF_IND: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/ScaleFactors/v0.0.0/sfc/EDGAR2_1985_FF_IND.360x180.nc GEOSCHEMchem_RONO2_seawater: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/OCEAN/v0.0.0/sfc/RONO2_seawater_x144_y91_t12.2006.nc GEOSCHEMchem_NH3: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEIA/v0.0.0/sfc/NH3.gen.1x1.nc GEOSCHEMchem_GEOSCCM_Bry_day: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Bry/GEOSCCM_Bry.2007.day.esmf.nc GEOSCHEMchem_GEOSCCM_Bry_night: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Bry/GEOSCCM_Bry.2007.night.esmf.nc GEOSCHEMchem_AnnualScalar_1985: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/ScaleFactors/v0.0.0/sfc/AnnualScalar.gen.1x1.1985.nc GEOSCHEMchem_AnnualScalar_2010: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/ScaleFactors/v0.0.0/sfc/AnnualScalar.gen.1x1.2010.nc GEOSCHEMchem_NVOC: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/HEMCO/v0.0.0/sfc/NVOC.geos.1x1.esmf.nc GEOSCHEMchem_MEGAN2.1_EF: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/HEMCO/v0.0.0/sfc/MEGAN2.1_EF.geos.025x03125.esmf.nc GEOSCHEMchem_MOH_seawater: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/OCEAN/v0.0.0/sfc/MOH_seawater.low.kgCm3.generic.1x1.nc GEOSCHEMchem_multiyearice: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/HEMCO/MULTI_ICE/2021-07/multiyearice.merra2.05x0625.%y4.nc valid_range: "1980-01-01T00:00/2020-12-31T00:00" GEOSCHEMchem_monthly.gridded.surface.methane: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/NOAA_GMD/monthly.gridded.surface.methane.1979-2024.1x1.nc valid_range: "1979-01-01T00:00/2024-12-01T00:00" GEOSCHEMchem_Olson_2001_Land_Map: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/Masks/v0.0.0/sfc/Olson_2001_Land_Map.2x25.nc GEOSCHEMchem_CH2I2_monthly_emissions_Ordonez: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/BromoCarb/ORDONEZ/v0.0.0/sfc/CH2I2_monthly_emissions_Ordonez_x360_y180_t12.2000.nc GEOSCHEMchem_CH2IBr_monthly_emissions_Ordonez: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/BromoCarb/ORDONEZ/v0.0.0/sfc/CH2IBr_monthly_emissions_Ordonez_x360_y180_t12.2000.nc GEOSCHEMchem_CH2ICl_monthly_emissions_Ordonez: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/BromoCarb/ORDONEZ/v0.0.0/sfc/CH2ICl_monthly_emissions_Ordonez_x360_y180_t12.2000.nc GEOSCHEMchem_CH3I_monthly_emissions_Ordonez: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/BromoCarb/ORDONEZ/v0.0.0/sfc/CH3I_monthly_emissions_Ordonez_x360_y180_t12.2000.nc GEOSCHEMchem_PM25FINE_ECLIPSE: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/AFCID/v2018-04/sfc/PM25FINE_ECLIPSE_x144_y91_t12.2015.nc GEOSCHEMchem_qfed2_forest_mask: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/Masks/v0.0.0/sfc/qfed2_forest_mask.nc4 GEOSCHEMchem_qfed2.emis_acet_006: template: /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_acet.006.%y4%m2%d2.nc4 valid_range: "2014-12-01T12:00/2021-11-01T12:00" GEOSCHEMchem_qfed2.emis_acet_061: template: /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_acet.061.%y4%m2%d2.nc4 valid_range: "2021-11-01T12:00/2025-01-01T12:00" GEOSCHEMchem_qfed2.emis_ald2_006: template: /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_ald2.006.%y4%m2%d2.nc4 valid_range: "2014-12-01T12:00/2021-11-01T12:00" GEOSCHEMchem_qfed2.emis_ald2_061: template: /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_ald2.061.%y4%m2%d2.nc4 valid_range: "2021-11-01T12:00/2025-01-01T12:00" GEOSCHEMchem_qfed2.emis_alk4_006: template: /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_alk4.006.%y4%m2%d2.nc4 valid_range: "2014-12-01T12:00/2021-11-01T12:00" GEOSCHEMchem_qfed2.emis_alk4_061: template: /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_alk4.006.%y4%m2%d2.nc4 valid_range: "2021-11-01T12:00/2025-01-01T12:00" GEOSCHEMchem_qfed2.emis_bc_006: template: /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_bc.006.%y4%m2%d2.nc4 valid_range: "2014-12-01T12:00/2021-11-01T12:00" GEOSCHEMchem_qfed2.emis_bc_061: template: /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_bc.006.%y4%m2%d2.nc4 valid_range: "2021-11-01T12:00/2025-01-01T12:00" GEOSCHEMchem_qfed2.emis_c2h6_006: template: /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_c2h6.006.%y4%m2%d2.nc4 valid_range: "2014-12-01T12:00/2021-11-01T12:00" GEOSCHEMchem_qfed2.emis_c2h6_061: template: /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_c2h6.006.%y4%m2%d2.nc4 valid_range: "2021-11-01T12:00/2025-01-01T12:00" GEOSCHEMchem_qfed2.emis_c3h6_006: template: /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_c3h6.006.%y4%m2%d2.nc4 valid_range: "2014-12-01T12:00/2021-11-01T12:00" GEOSCHEMchem_qfed2.emis_c3h6_061: template: /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_c3h6.006.%y4%m2%d2.nc4 valid_range: "2021-11-01T12:00/2025-01-01T12:00" GEOSCHEMchem_qfed2.emis_c3h8_006: template: /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_c3h8.006.%y4%m2%d2.nc4 valid_range: "2014-12-01T12:00/2021-11-01T12:00" GEOSCHEMchem_qfed2.emis_c3h8_061: template: /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_c3h8.006.%y4%m2%d2.nc4 valid_range: "2021-11-01T12:00/2025-01-01T12:00" GEOSCHEMchem_qfed2.emis_ch2o_006: template: /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_ch2o.006.%y4%m2%d2.nc4 valid_range: "2014-12-01T12:00/2021-11-01T12:00" GEOSCHEMchem_qfed2.emis_ch2o_061: template: /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_ch2o.006.%y4%m2%d2.nc4 valid_range: "2021-11-01T12:00/2025-01-01T12:00" GEOSCHEMchem_qfed2.emis_co_006: template: /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_co.006.%y4%m2%d2.nc4 valid_range: "2014-12-01T12:00/2021-11-01T12:00" GEOSCHEMchem_qfed2.emis_co_061: template: /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_co.006.%y4%m2%d2.nc4 valid_range: "2021-11-01T12:00/2025-01-01T12:00" GEOSCHEMchem_qfed2.emis_mek_006: template: /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_mek.006.%y4%m2%d2.nc4 valid_range: "2014-12-01T12:00/2021-11-01T12:00" GEOSCHEMchem_qfed2.emis_mek_061: template: /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_mek.006.%y4%m2%d2.nc4 valid_range: "2021-11-01T12:00/2025-01-01T12:00" GEOSCHEMchem_qfed2.emis_nh3_006: template: /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_nh3.006.%y4%m2%d2.nc4 valid_range: "2014-12-01T12:00/2021-11-01T12:00" GEOSCHEMchem_qfed2.emis_nh3_061: template: /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_nh3.006.%y4%m2%d2.nc4 valid_range: "2021-11-01T12:00/2025-01-01T12:00" GEOSCHEMchem_qfed2.emis_no_006: template: /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_no.006.%y4%m2%d2.nc4 valid_range: "2014-12-01T12:00/2021-11-01T12:00" GEOSCHEMchem_qfed2.emis_no_061: template: /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_no.006.%y4%m2%d2.nc4 valid_range: "2021-11-01T12:00/2025-01-01T12:00" GEOSCHEMchem_qfed2.emis_oc_006: template: /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_oc.006.%y4%m2%d2.nc4 valid_range: "2014-12-01T12:00/2021-11-01T12:00" GEOSCHEMchem_qfed2.emis_oc_061: template: /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_oc.006.%y4%m2%d2.nc4 valid_range: "2021-11-01T12:00/2025-01-01T12:00" GEOSCHEMchem_qfed2.emis_so2_006: template: /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_so2.006.%y4%m2%d2.nc4 valid_range: "2014-12-01T12:00/2021-11-01T12:00" GEOSCHEMchem_qfed2.emis_so2_061: template: /discover/nobackup/projects/gmao/share/dao_ops/fvInput_nc3/PIESA/sfc/QFED/NRT/v2.5r1_0.1_deg/Y%y4/M%m2/qfed2.emis_so2.006.%y4%m2%d2.nc4 valid_range: "2021-11-01T12:00/2025-01-01T12:00" GEOSCHEMchem_NH3_Arctic_seabirds: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/SEABIRDS/v0.0.0/sfc/NH3_Arctic_seabirds_x1440_y720_t12.1990.nc GEOSCHEMchem_soilNOx_climate: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/HEMCO/v0.0.0/sfc/soilNOx.climate.generic.05x05.nc GEOSCHEMchem_soilNOx_fert_res: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/HEMCO/v0.0.0/sfc/soilNOx.fert_res.generic.05x05.nc valid_range: "2000-01-01T00:00/2000-12-31T00:00" GEOSCHEMchem_soilNOx_landtype: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/HEMCO/v0.0.0/sfc/soilNOx.landtype.generic.025x025.1L.nc GEOSCHEMchem_gmi.clim.OH: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/GMI/gmi.clim.OH.geos5.2x25.esmf.nc GEOSCHEMchem_surface_VMRs_WMO2018: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/surface_VMR/WMO_2018/v2019-12/surface_VMRs_WMO2018_x360_y180_%y4.nc valid_range: "2010-01-01T00:00/2020-12-01T00:00" GEOSCHEMchem_CMIP6_GHG_surface_VMR: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/surface_VMR/CMIP6/v2020-03/sfc/CMIP6_GHG_surface_VMR_x360_y180_%y4.nc valid_range: "2010-01-01T00:00/2014-12-01T00:00" GEOSCHEMchem_surface_VMR_H2: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/surface_VMR/SfcFix/v2019-12/surface_VMR_H2_x360_y180.nc GEOSCHEMchem_surface_VMR_OCS: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/surface_VMR/SfcFix/v2019-12/surface_VMR_OCS_x360_y180.nc GEOSCHEMchem_timezones: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/HEMCO/v0.0.0/sfc/timezones_esmf.2x25.nc GEOSCHEMchem_uvalbedo: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/UV_ALBEDO/uvalbedo.geos.2x25.nc GEOSCHEMchem_Condensed_Yuan_proc_MODIS_XLAI: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Yuan_XLAI/v2021-06/Condensed_Yuan_proc_MODIS_XLAI.025x025.%y4.nc valid_range: "2000-01-01T00:00/2040-12-31T00:00" GEOSCHEMchem_Oi_prj_predicted_iodide: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/OCEAN_O3_DRYDEP/v2020-02/orig/Oi_prj_predicted_iodide_0.125x0.125_No_Skagerrak_Just_Ensemble.nc GEOSCHEMchem_WOA_2013_salinity: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/OCEAN_O3_DRYDEP/v2020-02/orig/WOA_2013_salinity.nc GEOSCHEMchem_AEIC19_MONMEAN: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/AEIC2019/v2022-03/2019_monmean/72LGEOS/AEIC_monmean_2019_t12.0.5x0.625.72LGEOS.nc Jason_10.18.0_carbon_c90: template: /css/gmao/geos_carb/share/ExtData/CFv2/methane_tags/%y4%m2/Jason_10.18.0_carbon_c90.methane_tags.%y4%m2%d2_%h200z.nc ref_time: "2001-01-01T00:00" freq: "PT3H" valid_range: "2001-01-01T00:00/2020-12-31T21:00" Jason_10.18.0_carbon_c90_2023: template: /discover/nobackup/projects/gmao/geos_carb/sbasu1/runs/GCM/Jason_10.18.0_carbon_c90_2023/holding/methane_tags/%y4%m2/Jason_10.18.0_carbon_c90_2023.methane_tags.%y4%m2%d2_%h200z.nc ref_time: "2001-01-01T00:00" freq: "PT3H" valid_range: "2001-01-01T00:00/2021-12-31T21:00" GEOSCHEMchem_CH4_scaling: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/CH4/v0.0.0/ch4_offset_to_2021_x144_y91_%y4%m2.nc valid_range: "2021-01-01T00:00/2050-12-01T00:00" ref_time: "2021-01-01T00:00" freq: "P1M" GCC_CMAM_CO: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/CMAM/v0.0.0/vmrco_monChem_CMAM_CMAM30-SD_r1i1p1.monthly_clim_0.015hPa.1979_2010.nc Exports: ACET_SEAWATER: collection: GCC_ACET_seawater regrid: CONSERVE sample: gcc_persist variable: ACET ALD2_SEAWATER: collection: GCC_ALD2_seawater regrid: CONSERVE sample: gcc_monthly_clim variable: ALD2 DMS_SEAWATER: collection: GCC_DMS_lana regrid: CONSERVE sample: gcc_monthly_clim variable: DMS_OCEAN ETNO3_SEAWATER: collection: GEOSCHEMchem_RONO2_seawater regrid: CONSERVE sample: gcc_monthly_clim variable: ETNO3 MENO3_SEAWATER: collection: GEOSCHEMchem_RONO2_seawater regrid: CONSERVE sample: gcc_monthly_clim variable: MENO3 MOH_SEAWATER: collection: GEOSCHEMchem_MOH_seawater regrid: CONSERVE sample: gcc_persist variable: MOH AEIC_ACET: collection: GEOSCHEMchem_AEIC regrid: CONSERVE sample: gcc_monthly_clim variable: HC AEIC_CO: collection: GEOSCHEMchem_AEIC regrid: CONSERVE sample: gcc_monthly_clim variable: CO AEIC_NO: collection: GEOSCHEMchem_AEIC regrid: CONSERVE sample: gcc_monthly_clim variable: NO2 AEIC_SO2: collection: GEOSCHEMchem_AEIC regrid: CONSERVE sample: gcc_monthly_clim variable: FUELBURN AEIC19_MONMEAN_NO: collection: GEOSCHEMchem_AEIC19_MONMEAN regrid: CONSERVE sample: gcc_monthly_clim variable: NO AEIC19_MONMEAN_NO2: collection: GEOSCHEMchem_AEIC19_MONMEAN regrid: CONSERVE sample: gcc_monthly_clim variable: NO2 AEIC19_MONMEAN_HONO: collection: GEOSCHEMchem_AEIC19_MONMEAN regrid: CONSERVE sample: gcc_monthly_clim variable: HONO AEIC19_MONMEAN_CO: collection: GEOSCHEMchem_AEIC19_MONMEAN regrid: CONSERVE sample: gcc_monthly_clim variable: CO AEIC19_MONMEAN_SO2: collection: GEOSCHEMchem_AEIC19_MONMEAN regrid: CONSERVE sample: gcc_monthly_clim variable: FUELBURN AEIC19_MONMEAN_BCPI: collection: GEOSCHEMchem_AEIC19_MONMEAN regrid: CONSERVE sample: gcc_monthly_clim variable: BC AEIC19_MONMEAN_OCPI: collection: GEOSCHEMchem_AEIC19_MONMEAN regrid: CONSERVE sample: gcc_monthly_clim variable: OC AEIC19_MONMEAN_ACET: collection: GEOSCHEMchem_AEIC19_MONMEAN regrid: CONSERVE sample: gcc_monthly_clim variable: HC AF_MASK: collection: GEOSCHEMchem_AF_LANDMASK regrid: VOTE sample: gcc_persist variable: LANDMASK ALD2_PLANTDECAY: collection: GEOSCHEMchem_resp regrid: CONSERVE sample: gcc_monthly_clim variable: HET_RESP LIANG_CH2Br2: collection: GEOSCHEMchem_Bromocarb_Liang2010 regrid: CONSERVE sample: gcc_persist variable: CH2Br2_emission LIANG_CHBr3: collection: GEOSCHEMchem_Bromocarb_Liang2010 regrid: CONSERVE sample: gcc_persist variable: CHBr3_emission BROMOCARB_SEASON: collection: GEOSCHEMchem_BromoCarb_Season regrid: BILINEAR sample: gcc_monthly_clim variable: CHXBRY_scale CEDS_ACET_AGR: collection: GEOSCHEMchem_MEK_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: MEK_agr CEDS_ACET_ENE: collection: GEOSCHEMchem_MEK_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: MEK_ene CEDS_ACET_IND: collection: GEOSCHEMchem_MEK_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: MEK_ind CEDS_ACET_RCO: collection: GEOSCHEMchem_MEK_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: MEK_rco CEDS_ACET_SHP: collection: GEOSCHEMchem_MEK_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: MEK_shp CEDS_ACET_SLV: collection: GEOSCHEMchem_MEK_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: MEK_slv CEDS_ACET_TRA: collection: GEOSCHEMchem_MEK_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: MEK_tra CEDS_ACET_WST: collection: GEOSCHEMchem_MEK_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: MEK_wst CEDS_ALD2_AGR: collection: GEOSCHEMchem_ALD2_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: ALD2_agr CEDS_ALD2_ENE: collection: GEOSCHEMchem_ALD2_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: ALD2_ene CEDS_ALD2_IND: collection: GEOSCHEMchem_ALD2_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: ALD2_ind CEDS_ALD2_RCO: collection: GEOSCHEMchem_ALD2_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: ALD2_rco CEDS_ALD2_SHP: collection: GEOSCHEMchem_ALD2_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: ALD2_shp CEDS_ALD2_SLV: collection: GEOSCHEMchem_ALD2_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: ALD2_slv CEDS_ALD2_TRA: collection: GEOSCHEMchem_ALD2_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: ALD2_tra CEDS_ALD2_WST: collection: GEOSCHEMchem_ALD2_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: ALD2_wst CEDS_BCPI_AGR: collection: GEOSCHEMchem_BC_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: BC_agr CEDS_BCPI_ENE: collection: GEOSCHEMchem_BC_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: BC_ene CEDS_BCPI_IND: collection: GEOSCHEMchem_BC_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: BC_ind CEDS_BCPI_RCO: collection: GEOSCHEMchem_BC_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: BC_rco CEDS_BCPI_SHP: collection: GEOSCHEMchem_BC_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: BC_shp CEDS_BCPI_SLV: collection: GEOSCHEMchem_BC_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: BC_slv CEDS_BCPI_TRA: collection: GEOSCHEMchem_BC_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: BC_tra CEDS_BCPI_WST: collection: GEOSCHEMchem_BC_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: BC_wst CEDS_BENZ_AGR: collection: GEOSCHEMchem_BENZ_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: BENZ_agr CEDS_BENZ_ENE: collection: GEOSCHEMchem_BENZ_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: BENZ_ene CEDS_BENZ_IND: collection: GEOSCHEMchem_BENZ_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: BENZ_ind CEDS_BENZ_RCO: collection: GEOSCHEMchem_BENZ_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: BENZ_rco CEDS_BENZ_SHP: collection: GEOSCHEMchem_BENZ_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: BENZ_shp CEDS_BENZ_SLV: collection: GEOSCHEMchem_BENZ_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: BENZ_slv CEDS_BENZ_TRA: collection: GEOSCHEMchem_BENZ_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: BENZ_tra CEDS_BENZ_WST: collection: GEOSCHEMchem_BENZ_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: BENZ_wst CEDS_C2H2_SHP: collection: GEOSCHEMchem_C2H2_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: C2H2_shp CEDS_C2H4_AGR: collection: GEOSCHEMchem_C2H4_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: C2H4_agr CEDS_C2H4_ENE: collection: GEOSCHEMchem_C2H4_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: C2H4_ene CEDS_C2H4_IND: collection: GEOSCHEMchem_C2H4_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: C2H4_ind CEDS_C2H4_RCO: collection: GEOSCHEMchem_C2H4_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: C2H4_rco CEDS_C2H4_SHP: collection: GEOSCHEMchem_C2H4_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: C2H4_shp CEDS_C2H4_SLV: collection: GEOSCHEMchem_C2H4_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: C2H4_slv CEDS_C2H4_TRA: collection: GEOSCHEMchem_C2H4_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: C2H4_tra CEDS_C2H4_WST: collection: GEOSCHEMchem_C2H4_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: C2H4_wst CEDS_C2H6_AGR: collection: GEOSCHEMchem_C2H6_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: C2H6_agr CEDS_C2H6_ENE: collection: GEOSCHEMchem_C2H6_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: C2H6_ene CEDS_C2H6_IND: collection: GEOSCHEMchem_C2H6_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: C2H6_ind CEDS_C2H6_RCO: collection: GEOSCHEMchem_C2H6_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: C2H6_rco CEDS_C2H6_SHP: collection: GEOSCHEMchem_C2H6_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: C2H6_shp CEDS_C2H6_SLV: collection: GEOSCHEMchem_C2H6_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: C2H6_slv CEDS_C2H6_TRA: collection: GEOSCHEMchem_C2H6_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: C2H6_tra CEDS_C2H6_WST: collection: GEOSCHEMchem_C2H6_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: C2H6_wst CEDS_C3H8_AGR: collection: GEOSCHEMchem_C3H8_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: C3H8_agr CEDS_C3H8_ENE: collection: GEOSCHEMchem_C3H8_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: C3H8_ene CEDS_C3H8_IND: collection: GEOSCHEMchem_C3H8_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: C3H8_ind CEDS_C3H8_RCO: collection: GEOSCHEMchem_C3H8_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: C3H8_rco CEDS_C3H8_SHP: collection: GEOSCHEMchem_C3H8_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: C3H8_shp CEDS_C3H8_SLV: collection: GEOSCHEMchem_C3H8_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: C3H8_slv CEDS_C3H8_TRA: collection: GEOSCHEMchem_C3H8_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: C3H8_tra CEDS_C3H8_WST: collection: GEOSCHEMchem_C3H8_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: C3H8_wst CEDS_C4H10_AGR: collection: GEOSCHEMchem_ALK4_butanes_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: ALK4_butanes_agr CEDS_C4H10_ENE: collection: GEOSCHEMchem_ALK4_butanes_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: ALK4_butanes_ene CEDS_C4H10_IND: collection: GEOSCHEMchem_ALK4_butanes_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: ALK4_butanes_ind CEDS_C4H10_RCO: collection: GEOSCHEMchem_ALK4_butanes_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: ALK4_butanes_rco CEDS_C4H10_SHP: collection: GEOSCHEMchem_ALK4_butanes_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: ALK4_butanes_shp CEDS_C4H10_SLV: collection: GEOSCHEMchem_ALK4_butanes_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: ALK4_butanes_slv CEDS_C4H10_TRA: collection: GEOSCHEMchem_ALK4_butanes_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: ALK4_butanes_tra CEDS_C4H10_WST: collection: GEOSCHEMchem_ALK4_butanes_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: ALK4_butanes_wst CEDS_C5H12_AGR: collection: GEOSCHEMchem_ALK4_pentanes_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: ALK4_pentanes_agr CEDS_C5H12_ENE: collection: GEOSCHEMchem_ALK4_pentanes_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: ALK4_pentanes_ene CEDS_C5H12_IND: collection: GEOSCHEMchem_ALK4_pentanes_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: ALK4_pentanes_ind CEDS_C5H12_RCO: collection: GEOSCHEMchem_ALK4_pentanes_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: ALK4_pentanes_rco CEDS_C5H12_SHP: collection: GEOSCHEMchem_ALK4_pentanes_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: ALK4_pentanes_shp CEDS_C5H12_SLV: collection: GEOSCHEMchem_ALK4_pentanes_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: ALK4_pentanes_slv CEDS_C5H12_TRA: collection: GEOSCHEMchem_ALK4_pentanes_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: ALK4_pentanes_tra CEDS_C5H12_WST: collection: GEOSCHEMchem_ALK4_pentanes_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: ALK4_pentanes_wst CEDS_C6H14_AGR: collection: GEOSCHEMchem_ALK4_hexanes_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: ALK4_hexanes_agr CEDS_C6H14_ENE: collection: GEOSCHEMchem_ALK4_hexanes_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: ALK4_hexanes_ene CEDS_C6H14_IND: collection: GEOSCHEMchem_ALK4_hexanes_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: ALK4_hexanes_ind CEDS_C6H14_RCO: collection: GEOSCHEMchem_ALK4_hexanes_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: ALK4_hexanes_rco CEDS_C6H14_SHP: collection: GEOSCHEMchem_ALK4_hexanes_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: ALK4_hexanes_shp CEDS_C6H14_SLV: collection: GEOSCHEMchem_ALK4_hexanes_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: ALK4_hexanes_slv CEDS_C6H14_TRA: collection: GEOSCHEMchem_ALK4_hexanes_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: ALK4_hexanes_tra CEDS_C6H14_WST: collection: GEOSCHEMchem_ALK4_hexanes_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: ALK4_hexanes_wst CEDS_CH2O_AGR: collection: GEOSCHEMchem_CH2O_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: CH2O_agr CEDS_CH2O_ENE: collection: GEOSCHEMchem_CH2O_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: CH2O_ene CEDS_CH2O_IND: collection: GEOSCHEMchem_CH2O_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: CH2O_ind CEDS_CH2O_RCO: collection: GEOSCHEMchem_CH2O_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: CH2O_rco CEDS_CH2O_SHP: collection: GEOSCHEMchem_CH2O_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: CH2O_shp CEDS_CH2O_SLV: collection: GEOSCHEMchem_CH2O_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: CH2O_slv CEDS_CH2O_TRA: collection: GEOSCHEMchem_CH2O_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: CH2O_tra CEDS_CH2O_WST: collection: GEOSCHEMchem_CH2O_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: CH2O_wst CEDS_CO_AGR: collection: GEOSCHEMchem_CO_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: CO_agr CEDS_CO_ENE: collection: GEOSCHEMchem_CO_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: CO_ene CEDS_CO_IND: collection: GEOSCHEMchem_CO_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: CO_ind CEDS_CO_RCO: collection: GEOSCHEMchem_CO_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: CO_rco CEDS_CO_SHP: collection: GEOSCHEMchem_CO_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: CO_shp CEDS_CO_SLV: collection: GEOSCHEMchem_CO_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: CO_slv CEDS_CO_TRA: collection: GEOSCHEMchem_CO_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: CO_tra CEDS_CO_WST: collection: GEOSCHEMchem_CO_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: CO_wst CEDS_HCOOH_AGR: collection: GEOSCHEMchem_HCOOH_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: HCOOH_agr CEDS_HCOOH_ENE: collection: GEOSCHEMchem_HCOOH_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: HCOOH_ene CEDS_HCOOH_IND: collection: GEOSCHEMchem_HCOOH_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: HCOOH_ind CEDS_HCOOH_RCO: collection: GEOSCHEMchem_HCOOH_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: HCOOH_rco CEDS_HCOOH_SHP: collection: GEOSCHEMchem_HCOOH_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: HCOOH_shp CEDS_HCOOH_SLV: collection: GEOSCHEMchem_HCOOH_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: HCOOH_slv CEDS_HCOOH_TRA: collection: GEOSCHEMchem_HCOOH_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: HCOOH_tra CEDS_HCOOH_WST: collection: GEOSCHEMchem_HCOOH_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: HCOOH_wst CEDS_MEK_AGR: collection: GEOSCHEMchem_MEK_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: MEK_agr CEDS_MEK_ENE: collection: GEOSCHEMchem_MEK_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: MEK_ene CEDS_MEK_IND: collection: GEOSCHEMchem_MEK_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: MEK_ind CEDS_MEK_RCO: collection: GEOSCHEMchem_MEK_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: MEK_rco CEDS_MEK_SHP: collection: GEOSCHEMchem_MEK_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: MEK_shp CEDS_MEK_SLV: collection: GEOSCHEMchem_MEK_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: MEK_slv CEDS_MEK_TRA: collection: GEOSCHEMchem_MEK_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: MEK_tra CEDS_MEK_WST: collection: GEOSCHEMchem_MEK_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: MEK_wst CEDS_MOH_AGR: collection: GEOSCHEMchem_EOH_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: EOH_agr CEDS_MOH_ENE: collection: GEOSCHEMchem_EOH_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: EOH_ene CEDS_MOH_IND: collection: GEOSCHEMchem_EOH_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: EOH_ind CEDS_MOH_RCO: collection: GEOSCHEMchem_EOH_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: EOH_rco CEDS_MOH_SHP: collection: GEOSCHEMchem_EOH_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: EOH_shp CEDS_MOH_SLV: collection: GEOSCHEMchem_EOH_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: EOH_slv CEDS_MOH_TRA: collection: GEOSCHEMchem_EOH_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: EOH_tra CEDS_MOH_WST: collection: GEOSCHEMchem_EOH_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: EOH_wst CEDS_NH3_AGR: collection: GEOSCHEMchem_NH3_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: NH3_agr CEDS_NH3_ENE: collection: GEOSCHEMchem_NH3_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: NH3_ene CEDS_NH3_IND: collection: GEOSCHEMchem_NH3_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: NH3_ind CEDS_NH3_RCO: collection: GEOSCHEMchem_NH3_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: NH3_rco CEDS_NH3_SHP: collection: GEOSCHEMchem_NH3_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: NH3_shp CEDS_NH3_SLV: collection: GEOSCHEMchem_NH3_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: NH3_slv CEDS_NH3_TRA: collection: GEOSCHEMchem_NH3_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: NH3_tra CEDS_NH3_WST: collection: GEOSCHEMchem_NH3_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: NH3_wst CEDS_NO2_AGR: collection: GEOSCHEMchem_NO_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: NO_agr CEDS_NO2_ENE: collection: GEOSCHEMchem_NO_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: NO_ene CEDS_NO2_IND: collection: GEOSCHEMchem_NO_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: NO_ind CEDS_NO2_RCO: collection: GEOSCHEMchem_NO_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: NO_rco CEDS_NO2_SHP: collection: GEOSCHEMchem_NO_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: NO_shp CEDS_NO2_SLV: collection: GEOSCHEMchem_NO_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: NO_slv CEDS_NO2_TRA: collection: GEOSCHEMchem_NO_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: NO_tra CEDS_NO2_WST: collection: GEOSCHEMchem_NO_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: NO_wst CEDS_NO_AGR: collection: GEOSCHEMchem_NO_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: NO_agr CEDS_NO_ENE: collection: GEOSCHEMchem_NO_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: NO_ene CEDS_NO_IND: collection: GEOSCHEMchem_NO_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: NO_ind CEDS_NO_RCO: collection: GEOSCHEMchem_NO_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: NO_rco CEDS_NO_SHP: collection: GEOSCHEMchem_NO_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: NO_shp CEDS_NO_SLV: collection: GEOSCHEMchem_NO_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: NO_slv CEDS_NO_TRA: collection: GEOSCHEMchem_NO_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: NO_tra CEDS_NO_WST: collection: GEOSCHEMchem_NO_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: NO_wst CEDS_OCPI_AGR: collection: GEOSCHEMchem_OC_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: OC_agr CEDS_OCPI_ENE: collection: GEOSCHEMchem_OC_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: OC_ene CEDS_OCPI_IND: collection: GEOSCHEMchem_OC_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: OC_ind CEDS_OCPI_RCO: collection: GEOSCHEMchem_OC_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: OC_rco CEDS_OCPI_SHP: collection: GEOSCHEMchem_OC_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: OC_shp CEDS_OCPI_SLV: collection: GEOSCHEMchem_OC_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: OC_slv CEDS_OCPI_TRA: collection: GEOSCHEMchem_OC_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: OC_tra CEDS_OCPI_WST: collection: GEOSCHEMchem_OC_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: OC_wst CEDS_PRPE_AGR: collection: GEOSCHEMchem_PRPE_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: PRPE_agr CEDS_PRPE_ENE: collection: GEOSCHEMchem_PRPE_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: PRPE_ene CEDS_PRPE_IND: collection: GEOSCHEMchem_PRPE_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: PRPE_ind CEDS_PRPE_RCO: collection: GEOSCHEMchem_PRPE_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: PRPE_rco CEDS_PRPE_SHP: collection: GEOSCHEMchem_PRPE_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: PRPE_shp CEDS_PRPE_SLV: collection: GEOSCHEMchem_PRPE_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: PRPE_slv CEDS_PRPE_TRA: collection: GEOSCHEMchem_PRPE_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: PRPE_tra CEDS_PRPE_WST: collection: GEOSCHEMchem_PRPE_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: PRPE_wst CEDS_SO2_AGR: collection: GEOSCHEMchem_SO2_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: SO2_agr CEDS_SO2_ENE: collection: GEOSCHEMchem_SO2_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: SO2_ene CEDS_SO2_IND: collection: GEOSCHEMchem_SO2_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: SO2_ind CEDS_SO2_RCO: collection: GEOSCHEMchem_SO2_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: SO2_rco CEDS_SO2_SHP: collection: GEOSCHEMchem_SO2_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: SO2_shp CEDS_SO2_SLV: collection: GEOSCHEMchem_SO2_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: SO2_slv CEDS_SO2_TRA: collection: GEOSCHEMchem_SO2_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: SO2_tra CEDS_SO2_WST: collection: GEOSCHEMchem_SO2_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: SO2_wst CEDS_TOLU_AGR: collection: GEOSCHEMchem_TOLU_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: TOLU_agr CEDS_TOLU_ENE: collection: GEOSCHEMchem_TOLU_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: TOLU_ene CEDS_TOLU_IND: collection: GEOSCHEMchem_TOLU_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: TOLU_ind CEDS_TOLU_RCO: collection: GEOSCHEMchem_TOLU_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: TOLU_rco CEDS_TOLU_SHP: collection: GEOSCHEMchem_TOLU_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: TOLU_shp CEDS_TOLU_SLV: collection: GEOSCHEMchem_TOLU_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: TOLU_slv CEDS_TOLU_TRA: collection: GEOSCHEMchem_TOLU_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: TOLU_tra CEDS_TOLU_WST: collection: GEOSCHEMchem_TOLU_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: TOLU_wst CEDS_XYLE_AGR: collection: GEOSCHEMchem_XYLE_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: XYLE_agr CEDS_XYLE_ENE: collection: GEOSCHEMchem_XYLE_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: XYLE_ene CEDS_XYLE_IND: collection: GEOSCHEMchem_XYLE_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: XYLE_ind CEDS_XYLE_RCO: collection: GEOSCHEMchem_XYLE_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: XYLE_rco CEDS_XYLE_SHP: collection: GEOSCHEMchem_XYLE_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: XYLE_shp CEDS_XYLE_SLV: collection: GEOSCHEMchem_XYLE_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: XYLE_slv CEDS_XYLE_TRA: collection: GEOSCHEMchem_XYLE_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: XYLE_tra CEDS_XYLE_WST: collection: GEOSCHEMchem_XYLE_anthro_CEDS regrid: CONSERVE sample: gcc_monthly_clim variable: XYLE_wst CEDS_VSCAL_ENERGY: collection: GEOSCHEMchem_CEDS_vertical_emiss_factors sample: gcc_monthly_clim variable: vscal_energy CEDS_VSCAL_INDUSTRY: collection: GEOSCHEMchem_CEDS_vertical_emiss_factors sample: gcc_monthly_clim variable: vscal_industry CEDS_VSCAL_SHIP: collection: GEOSCHEMchem_CEDS_vertical_emiss_factors sample: gcc_monthly_clim variable: vscal_ship CLM4_PFT_BARE_GCC: collection: GEOSCHEMchem_CLM4_PFT regrid: BILINEAR sample: gcc_persist variable: PFT_BARE CLM4_PFT_BDLF_DECD_BORL_SHRB_GCC: collection: GEOSCHEMchem_CLM4_PFT regrid: BILINEAR sample: gcc_persist variable: PFT_BDLF_DECD_BORL_SHRB CLM4_PFT_BDLF_DECD_BORL_TREE_GCC: collection: GEOSCHEMchem_CLM4_PFT regrid: BILINEAR sample: gcc_persist variable: PFT_BDLF_DECD_BORL_TREE CLM4_PFT_BDLF_DECD_TMPT_SHRB_GCC: collection: GEOSCHEMchem_CLM4_PFT regrid: BILINEAR sample: gcc_persist variable: PFT_BDLF_DECD_TMPT_SHRB CLM4_PFT_BDLF_DECD_TMPT_TREE_GCC: collection: GEOSCHEMchem_CLM4_PFT regrid: BILINEAR sample: gcc_persist variable: PFT_BDLF_DECD_TMPT_TREE CLM4_PFT_BDLF_DECD_TROP_TREE_GCC: collection: GEOSCHEMchem_CLM4_PFT regrid: BILINEAR sample: gcc_persist variable: PFT_BDLF_DECD_TROP_TREE CLM4_PFT_BDLF_EVGN_SHRB_GCC: collection: GEOSCHEMchem_CLM4_PFT regrid: BILINEAR sample: gcc_persist variable: PFT_BDLF_EVGN_SHRB CLM4_PFT_BDLF_EVGN_TMPT_TREE_GCC: collection: GEOSCHEMchem_CLM4_PFT regrid: BILINEAR sample: gcc_persist variable: PFT_BDLF_EVGN_TMPT_TREE CLM4_PFT_BDLF_EVGN_TROP_TREE_GCC: collection: GEOSCHEMchem_CLM4_PFT regrid: BILINEAR sample: gcc_persist variable: PFT_BDLF_EVGN_TROP_TREE CLM4_PFT_C3_ARCT_GRSS_GCC: collection: GEOSCHEMchem_CLM4_PFT regrid: BILINEAR sample: gcc_persist variable: PFT_C3_ARCT_GRSS CLM4_PFT_C3_NARC_GRSS_GCC: collection: GEOSCHEMchem_CLM4_PFT regrid: BILINEAR sample: gcc_persist variable: PFT_C3_NARC_GRSS CLM4_PFT_C4_GRSS_GCC: collection: GEOSCHEMchem_CLM4_PFT regrid: BILINEAR sample: gcc_persist variable: PFT_C4_GRSS CLM4_PFT_CROP_GCC: collection: GEOSCHEMchem_CLM4_PFT regrid: BILINEAR sample: gcc_persist variable: PFT_CROP CLM4_PFT_NDLF_DECD_BORL_TREE_GCC: collection: GEOSCHEMchem_CLM4_PFT regrid: BILINEAR sample: gcc_persist variable: PFT_NDLF_DECD_BORL_TREE CLM4_PFT_NDLF_EVGN_BORL_TREE_GCC: collection: GEOSCHEMchem_CLM4_PFT regrid: BILINEAR sample: gcc_persist variable: PFT_NDLF_EVGN_BORL_TREE CLM4_PFT_NDLF_EVGN_TMPT_TREE_GCC: collection: GEOSCHEMchem_CLM4_PFT regrid: BILINEAR sample: gcc_persist variable: PFT_NDLF_EVGN_TMPT_TREE DEAD_GOC_SRC: collection: GEOSCHEMchem_GOCART_src_fn regrid: BILINEAR sample: gcc_persist variable: GOC_SRC DEAD_EF_GEO: collection: GEOSCHEMchem_dst_tibds regrid: BILINEAR sample: gcc_persist variable: EF_GEO DEAD_LF_DRY: collection: GEOSCHEMchem_dst_tibds regrid: BILINEAR sample: gcc_persist variable: LF_DRY DEAD_MF_CACO3: collection: GEOSCHEMchem_dst_tibds regrid: BILINEAR sample: gcc_persist variable: MF_CaCO3 DEAD_MF_CLY: collection: GEOSCHEMchem_dst_tibds regrid: BILINEAR sample: gcc_persist variable: MF_CLY DEAD_MF_SND: collection: GEOSCHEMchem_dst_tibds regrid: BILINEAR sample: gcc_persist variable: MF_SND DEAD_SFC_TYP: collection: GEOSCHEMchem_dst_tibds regrid: VOTE sample: gcc_persist variable: SFC_TYP DEAD_VAI: collection: GEOSCHEMchem_dst_tvbds regrid: BILINEAR sample: gcc_monthly_clim variable: VAI DTOMS1_O3_COL: collection: GEOSCHEMchem_TOMS_O3col regrid: CONSERVE sample: gcc_monthly_clim variable: DTOMS1 DTOMS2_O3_COL: collection: GEOSCHEMchem_TOMS_O3col regrid: CONSERVE sample: gcc_monthly_clim variable: DTOMS2 TOMS_O3_COL: collection: GEOSCHEMchem_TOMS_O3col regrid: CONSERVE sample: gcc_monthly_clim variable: TOMS EDGAR_NAP: collection: GEOSCHEMchem_EDGAR2_1985_FF_IND regrid: CONSERVE sample: gcc_persist variable: BENZ GEIA_NH3_NATU: collection: GEOSCHEMchem_NH3 regrid: CONSERVE sample: gcc_monthly_clim variable: NH3_NATU GEOSCCM_Br2_DAY: collection: GEOSCHEMchem_GEOSCCM_Bry_day regrid: BILINEAR sample: gcc_monthly_clim variable: BRCL GEOSCCM_Br2_NIGHT: collection: GEOSCHEMchem_GEOSCCM_Bry_night regrid: BILINEAR sample: gcc_monthly_clim variable: BRCL GEOSCCM_BrNO3_DAY: collection: GEOSCHEMchem_GEOSCCM_Bry_day regrid: BILINEAR sample: gcc_monthly_clim variable: BRONO2 GEOSCCM_BrNO3_NIGHT: collection: GEOSCHEMchem_GEOSCCM_Bry_night regrid: BILINEAR sample: gcc_monthly_clim variable: BRONO2 GEOSCCM_BrO_DAY: collection: GEOSCHEMchem_GEOSCCM_Bry_day regrid: BILINEAR sample: gcc_monthly_clim variable: BRO GEOSCCM_BrO_NIGHT: collection: GEOSCHEMchem_GEOSCCM_Bry_night regrid: BILINEAR sample: gcc_monthly_clim variable: BRO GEOSCCM_Br_DAY: collection: GEOSCHEMchem_GEOSCCM_Bry_day regrid: BILINEAR sample: gcc_monthly_clim variable: BR GEOSCCM_Br_NIGHT: collection: GEOSCHEMchem_GEOSCCM_Bry_night regrid: BILINEAR sample: gcc_monthly_clim variable: BR GEOSCCM_HBr_DAY: collection: GEOSCHEMchem_GEOSCCM_Bry_day regrid: BILINEAR sample: gcc_monthly_clim variable: HBR GEOSCCM_HBr_NIGHT: collection: GEOSCHEMchem_GEOSCCM_Bry_night regrid: BILINEAR sample: gcc_monthly_clim variable: HBR GEOSCCM_HOBr_DAY: collection: GEOSCHEMchem_GEOSCCM_Bry_day regrid: BILINEAR sample: gcc_monthly_clim variable: HOBR GEOSCCM_HOBr_NIGHT: collection: GEOSCHEMchem_GEOSCCM_Bry_night regrid: BILINEAR sample: gcc_monthly_clim variable: HOBR LIQFUEL_1985: collection: GEOSCHEMchem_AnnualScalar_1985 regrid: BILINEAR sample: gcc_persist variable: COscalar LIQFUEL_THISYR: collection: GEOSCHEMchem_AnnualScalar_2010 regrid: BILINEAR sample: gcc_persist variable: COscalar MEGAN_AEF_BPIN_GCC: collection: GEOSCHEMchem_MEGAN2.1_EF regrid: CONSERVE sample: gcc_persist variable: AEF_BETA_PINENE MEGAN_AEF_CARE_GCC: collection: GEOSCHEMchem_MEGAN2.1_EF regrid: CONSERVE sample: gcc_persist variable: AEF_CARENE MEGAN_AEF_ISOP_GCC: collection: GEOSCHEMchem_MEGAN2.1_EF regrid: CONSERVE sample: gcc_persist variable: AEF_ISOPRENE MEGAN_AEF_LIMO_GCC: collection: GEOSCHEMchem_MEGAN2.1_EF regrid: CONSERVE sample: gcc_persist variable: AEF_LIMONENE MEGAN_AEF_MBOX_GCC: collection: GEOSCHEMchem_MEGAN2.1_EF regrid: CONSERVE sample: gcc_persist variable: AEF_MBO MEGAN_AEF_OCIM_GCC: collection: GEOSCHEMchem_MEGAN2.1_EF regrid: CONSERVE sample: gcc_persist variable: AEF_OCIMENE MEGAN_AEF_SABI_GCC: collection: GEOSCHEMchem_MEGAN2.1_EF regrid: CONSERVE sample: gcc_persist variable: AEF_SABINENE MEGAN_ORVC_GCC: collection: GEOSCHEMchem_NVOC regrid: CONSERVE sample: gcc_monthly_clim variable: OCPI MULTISEAICE: collection: GEOSCHEMchem_multiyearice regrid: BILINEAR sample: gcc_daily_clim variable: FRSEAICE NOAA_GMD_CH4: collection: GEOSCHEMchem_monthly.gridded.surface.methane regrid: BILINEAR sample: gcc_monthly_clim variable: SFC_CH4 OLSON00: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;0 sample: gcc_persist variable: OLSON OLSON01: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;1 sample: gcc_persist variable: OLSON OLSON02: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;2 sample: gcc_persist variable: OLSON OLSON03: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;3 sample: gcc_persist variable: OLSON OLSON04: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;4 sample: gcc_persist variable: OLSON OLSON05: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;5 sample: gcc_persist variable: OLSON OLSON06: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;6 sample: gcc_persist variable: OLSON OLSON07: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;7 sample: gcc_persist variable: OLSON OLSON08: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;8 sample: gcc_persist variable: OLSON OLSON09: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;9 sample: gcc_persist variable: OLSON OLSON10: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;10 sample: gcc_persist variable: OLSON OLSON11: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;11 sample: gcc_persist variable: OLSON OLSON12: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;12 sample: gcc_persist variable: OLSON OLSON13: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;13 sample: gcc_persist variable: OLSON OLSON14: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;14 sample: gcc_persist variable: OLSON OLSON15: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;15 sample: gcc_persist variable: OLSON OLSON16: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;16 sample: gcc_persist variable: OLSON OLSON17: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;17 sample: gcc_persist variable: OLSON OLSON18: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;18 sample: gcc_persist variable: OLSON OLSON19: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;19 sample: gcc_persist variable: OLSON OLSON20: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;20 sample: gcc_persist variable: OLSON OLSON21: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;21 sample: gcc_persist variable: OLSON OLSON22: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;22 sample: gcc_persist variable: OLSON OLSON23: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;23 sample: gcc_persist variable: OLSON OLSON24: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;24 sample: gcc_persist variable: OLSON OLSON25: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;25 sample: gcc_persist variable: OLSON OLSON26: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;26 sample: gcc_persist variable: OLSON OLSON27: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;27 sample: gcc_persist variable: OLSON OLSON28: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;28 sample: gcc_persist variable: OLSON OLSON29: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;29 sample: gcc_persist variable: OLSON OLSON30: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;30 sample: gcc_persist variable: OLSON OLSON31: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;31 sample: gcc_persist variable: OLSON OLSON32: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;32 sample: gcc_persist variable: OLSON OLSON33: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;33 sample: gcc_persist variable: OLSON OLSON34: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;34 sample: gcc_persist variable: OLSON OLSON35: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;35 sample: gcc_persist variable: OLSON OLSON36: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;36 sample: gcc_persist variable: OLSON OLSON37: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;37 sample: gcc_persist variable: OLSON OLSON38: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;38 sample: gcc_persist variable: OLSON OLSON39: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;39 sample: gcc_persist variable: OLSON OLSON40: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;40 sample: gcc_persist variable: OLSON OLSON41: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;41 sample: gcc_persist variable: OLSON OLSON42: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;42 sample: gcc_persist variable: OLSON OLSON43: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;43 sample: gcc_persist variable: OLSON OLSON44: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;44 sample: gcc_persist variable: OLSON OLSON45: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;45 sample: gcc_persist variable: OLSON OLSON46: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;46 sample: gcc_persist variable: OLSON OLSON47: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;47 sample: gcc_persist variable: OLSON OLSON48: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;48 sample: gcc_persist variable: OLSON OLSON49: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;49 sample: gcc_persist variable: OLSON OLSON50: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;50 sample: gcc_persist variable: OLSON OLSON51: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;51 sample: gcc_persist variable: OLSON OLSON52: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;52 sample: gcc_persist variable: OLSON OLSON53: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;53 sample: gcc_persist variable: OLSON OLSON54: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;54 sample: gcc_persist variable: OLSON OLSON55: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;55 sample: gcc_persist variable: OLSON OLSON56: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;56 sample: gcc_persist variable: OLSON OLSON57: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;57 sample: gcc_persist variable: OLSON OLSON58: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;58 sample: gcc_persist variable: OLSON OLSON59: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;59 sample: gcc_persist variable: OLSON OLSON60: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;60 sample: gcc_persist variable: OLSON OLSON61: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;61 sample: gcc_persist variable: OLSON OLSON62: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;62 sample: gcc_persist variable: OLSON OLSON63: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;63 sample: gcc_persist variable: OLSON OLSON64: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;64 sample: gcc_persist variable: OLSON OLSON65: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;65 sample: gcc_persist variable: OLSON OLSON66: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;66 sample: gcc_persist variable: OLSON OLSON67: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;67 sample: gcc_persist variable: OLSON OLSON68: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;68 sample: gcc_persist variable: OLSON OLSON69: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;69 sample: gcc_persist variable: OLSON OLSON70: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;70 sample: gcc_persist variable: OLSON OLSON71: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;71 sample: gcc_persist variable: OLSON OLSON72: collection: GEOSCHEMchem_Olson_2001_Land_Map regrid: FRACTION;72 sample: gcc_persist variable: OLSON ORDONEZ_CH2I2: collection: GEOSCHEMchem_CH2I2_monthly_emissions_Ordonez regrid: CONSERVE sample: gcc_monthly_clim variable: CH2I2 ORDONEZ_CH2IBR: collection: GEOSCHEMchem_CH2IBr_monthly_emissions_Ordonez regrid: CONSERVE sample: gcc_monthly_clim variable: CH2IBr ORDONEZ_CH2ICL: collection: GEOSCHEMchem_CH2ICl_monthly_emissions_Ordonez regrid: CONSERVE sample: gcc_monthly_clim variable: CH2ICl ORDONEZ_CH3I: collection: GEOSCHEMchem_CH3I_monthly_emissions_Ordonez regrid: CONSERVE sample: gcc_monthly_clim variable: CH3I PM25FINE_1: collection: GEOSCHEMchem_PM25FINE_ECLIPSE regrid: CONSERVE sample: gcc_monthly_clim variable: PM25FINE QFED2_BOREAL: collection: GEOSCHEMchem_qfed2_forest_mask regrid: BILINEAR sample: gcc_persist variable: qfed2_boreal QFED2_TEMPERATE: collection: GEOSCHEMchem_qfed2_forest_mask regrid: BILINEAR sample: gcc_persist variable: qfed2_temperate QFED_ACET_BO_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_acet_006, linear_transformation: [0.0, 0.61984], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_acet_061, linear_transformation: [0.0, 0.61984], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_ACET_BO_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_acet_006, linear_transformation: [0.0, 0.61984], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_acet_061, linear_transformation: [0.0, 0.61984], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_ACET_GL_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_acet_006, linear_transformation: [0.0, 0.61984], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_acet_061, linear_transformation: [0.0, 0.61984], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} QFED_ACET_GL_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_acet_006, linear_transformation: [0.0, 0.61984], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_acet_061, linear_transformation: [0.0, 0.61984], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} QFED_ACET_SV_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_acet_006, linear_transformation: [0.0, 0.61984], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_acet_061, linear_transformation: [0.0, 0.61984], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} QFED_ACET_SV_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_acet_006, linear_transformation: [0.0, 0.61984], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_acet_061, linear_transformation: [0.0, 0.61984], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} QFED_ACET_TF_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_acet_006, linear_transformation: [0.0, 0.61984], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_acet_061, linear_transformation: [0.0, 0.61984], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} QFED_ACET_TF_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_acet_006, linear_transformation: [0.0, 0.61984], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_acet_061, linear_transformation: [0.0, 0.61984], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} QFED_ACET_TP_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_acet_006, linear_transformation: [0.0, 0.61984], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_acet_061, linear_transformation: [0.0, 0.61984], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_ACET_TP_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_acet_006, linear_transformation: [0.0, 0.61984], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_acet_061, linear_transformation: [0.0, 0.61984], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_ALD2_BO_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_ald2_006, linear_transformation: [0.0, 0.54484], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_ald2_061, linear_transformation: [0.0, 0.54484], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_ALD2_BO_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_ald2_006, linear_transformation: [0.0, 0.54484], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_ald2_061, linear_transformation: [0.0, 0.54484], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_ALD2_GL_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_ald2_006, linear_transformation: [0.0, 0.54484], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_ald2_061, linear_transformation: [0.0, 0.54484], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} QFED_ALD2_GL_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_ald2_006, linear_transformation: [0.0, 0.54484], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_ald2_061, linear_transformation: [0.0, 0.54484], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} QFED_ALD2_SV_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_ald2_006, linear_transformation: [0.0, 0.54484], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_ald2_061, linear_transformation: [0.0, 0.54484], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} QFED_ALD2_SV_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_ald2_006, linear_transformation: [0.0, 0.54484], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_ald2_061, linear_transformation: [0.0, 0.54484], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} QFED_ALD2_TF_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_ald2_006, linear_transformation: [0.0, 0.54484], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_ald2_061, linear_transformation: [0.0, 0.54484], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} QFED_ALD2_TF_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_ald2_006, linear_transformation: [0.0, 0.54484], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_ald2_061, linear_transformation: [0.0, 0.54484], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} QFED_ALD2_TP_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_ald2_006, linear_transformation: [0.0, 0.54484], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_ald2_061, linear_transformation: [0.0, 0.54484], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_ALD2_TP_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_ald2_006, linear_transformation: [0.0, 0.54484], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_ald2_061, linear_transformation: [0.0, 0.54484], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_ALK4_BO_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_alk4_006, linear_transformation: [0.0, 0.82588], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_alk4_061, linear_transformation: [0.0, 0.82588], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_ALK4_BO_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_alk4_006, linear_transformation: [0.0, 0.82588], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_alk4_061, linear_transformation: [0.0, 0.82588], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_ALK4_GL_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_alk4_006, linear_transformation: [0.0, 0.82588], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_alk4_061, linear_transformation: [0.0, 0.82588], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} QFED_ALK4_GL_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_alk4_006, linear_transformation: [0.0, 0.82588], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_alk4_061, linear_transformation: [0.0, 0.82588], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} QFED_ALK4_SV_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_alk4_006, linear_transformation: [0.0, 0.82588], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_alk4_061, linear_transformation: [0.0, 0.82588], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} QFED_ALK4_SV_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_alk4_006, linear_transformation: [0.0, 0.82588], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_alk4_061, linear_transformation: [0.0, 0.82588], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} QFED_ALK4_TF_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_alk4_006, linear_transformation: [0.0, 0.82588], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_alk4_061, linear_transformation: [0.0, 0.82588], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} QFED_ALK4_TF_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_alk4_006, linear_transformation: [0.0, 0.82588], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_alk4_061, linear_transformation: [0.0, 0.82588], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} QFED_ALK4_TP_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_alk4_006, linear_transformation: [0.0, 0.82588], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_alk4_061, linear_transformation: [0.0, 0.82588], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_ALK4_TP_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_alk4_006, linear_transformation: [0.0, 0.82588], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_alk4_061, linear_transformation: [0.0, 0.82588], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_BCPI_BO_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_bc_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_bc_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_BCPI_BO_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_bc_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_bc_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_BCPI_GL_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_bc_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_bc_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} QFED_BCPI_GL_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_bc_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_bc_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} QFED_BCPI_SV_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_bc_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_bc_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} QFED_BCPI_SV_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_bc_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_bc_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} QFED_BCPI_TF_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_bc_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_bc_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} QFED_BCPI_TF_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_bc_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_bc_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} QFED_BCPI_TP_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_bc_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_bc_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_BCPI_TP_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_bc_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_bc_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_C2H6_BO_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c2h6_006, linear_transformation: [0.0, 0.79814], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c2h6_061, linear_transformation: [0.0, 0.79814], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_C2H6_BO_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c2h6_006, linear_transformation: [0.0, 0.79814], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c2h6_061, linear_transformation: [0.0, 0.79814], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_C2H6_GL_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c2h6_006, linear_transformation: [0.0, 0.79814], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c2h6_061, linear_transformation: [0.0, 0.79814], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} QFED_C2H6_GL_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c2h6_006, linear_transformation: [0.0, 0.79814], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c2h6_061, linear_transformation: [0.0, 0.79814], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} QFED_C2H6_SV_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c2h6_006, linear_transformation: [0.0, 0.79814], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c2h6_061, linear_transformation: [0.0, 0.79814], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} QFED_C2H6_SV_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c2h6_006, linear_transformation: [0.0, 0.79814], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c2h6_061, linear_transformation: [0.0, 0.79814], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} QFED_C2H6_TF_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c2h6_006, linear_transformation: [0.0, 0.79814], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c2h6_061, linear_transformation: [0.0, 0.79814], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} QFED_C2H6_TF_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c2h6_006, linear_transformation: [0.0, 0.79814], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c2h6_061, linear_transformation: [0.0, 0.79814], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} QFED_C2H6_TP_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c2h6_006, linear_transformation: [0.0, 0.79814], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c2h6_061, linear_transformation: [0.0, 0.79814], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_C2H6_TP_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c2h6_006, linear_transformation: [0.0, 0.79814], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c2h6_061, linear_transformation: [0.0, 0.79814], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_C3H8_BO_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c3h8_006, linear_transformation: [0.0, 0.81633], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c3h8_061, linear_transformation: [0.0, 0.81633], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_C3H8_BO_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c3h8_006, linear_transformation: [0.0, 0.81633], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c3h8_061, linear_transformation: [0.0, 0.81633], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_C3H8_GL_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c3h8_006, linear_transformation: [0.0, 0.81633], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c3h8_061, linear_transformation: [0.0, 0.81633], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} QFED_C3H8_GL_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c3h8_006, linear_transformation: [0.0, 0.81633], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c3h8_061, linear_transformation: [0.0, 0.81633], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} QFED_C3H8_SV_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c3h8_006, linear_transformation: [0.0, 0.81633], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c3h8_061, linear_transformation: [0.0, 0.81633], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} QFED_C3H8_SV_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c3h8_006, linear_transformation: [0.0, 0.81633], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c3h8_061, linear_transformation: [0.0, 0.81633], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} QFED_C3H8_TF_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c3h8_006, linear_transformation: [0.0, 0.81633], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c3h8_061, linear_transformation: [0.0, 0.81633], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} QFED_C3H8_TF_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c3h8_006, linear_transformation: [0.0, 0.81633], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c3h8_061, linear_transformation: [0.0, 0.81633], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} QFED_C3H8_TP_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c3h8_006, linear_transformation: [0.0, 0.81633], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c3h8_061, linear_transformation: [0.0, 0.81633], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_C3H8_TP_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c3h8_006, linear_transformation: [0.0, 0.81633], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c3h8_061, linear_transformation: [0.0, 0.81633], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_CH2O_BO_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_ch2o_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_ch2o_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_CH2O_BO_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_ch2o_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_ch2o_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_CH2O_GL_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_ch2o_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_ch2o_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} QFED_CH2O_GL_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_ch2o_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_ch2o_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} QFED_CH2O_SV_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_ch2o_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_ch2o_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} QFED_CH2O_SV_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_ch2o_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_ch2o_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} QFED_CH2O_TF_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_ch2o_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_ch2o_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} QFED_CH2O_TF_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_ch2o_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_ch2o_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} QFED_CH2O_TP_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_ch2o_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_ch2o_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_CH2O_TP_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_ch2o_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_ch2o_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_CO_BO_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_co_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_co_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_CO_BO_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_co_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_co_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_CO_GL_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_co_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_co_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} QFED_CO_GL_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_co_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_co_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} QFED_CO_SV_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_co_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_co_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} QFED_CO_SV_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_co_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_co_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} QFED_CO_TF_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_co_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_co_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} QFED_CO_TF_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_co_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_co_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} QFED_CO_TP_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_co_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_co_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_CO_TP_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_co_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_co_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_MEK_BO_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_mek_006, linear_transformation: [0.0, 0.66565], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_mek_061, linear_transformation: [0.0, 0.66565], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_MEK_BO_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_mek_006, linear_transformation: [0.0, 0.66565], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_mek_061, linear_transformation: [0.0, 0.66565], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_MEK_GL_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_mek_006, linear_transformation: [0.0, 0.66565], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_mek_061, linear_transformation: [0.0, 0.66565], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} QFED_MEK_GL_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_mek_006, linear_transformation: [0.0, 0.66565], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_mek_061, linear_transformation: [0.0, 0.66565], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} QFED_MEK_SV_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_mek_006, linear_transformation: [0.0, 0.66565], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_mek_061, linear_transformation: [0.0, 0.66565], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} QFED_MEK_SV_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_mek_006, linear_transformation: [0.0, 0.66565], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_mek_061, linear_transformation: [0.0, 0.66565], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} QFED_MEK_TF_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_mek_006, linear_transformation: [0.0, 0.66565], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_mek_061, linear_transformation: [0.0, 0.66565], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} QFED_MEK_TF_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_mek_006, linear_transformation: [0.0, 0.66565], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_mek_061, linear_transformation: [0.0, 0.66565], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} QFED_MEK_TP_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_mek_006, linear_transformation: [0.0, 0.66565], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_mek_061, linear_transformation: [0.0, 0.66565], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_MEK_TP_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_mek_006, linear_transformation: [0.0, 0.66565], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_mek_061, linear_transformation: [0.0, 0.66565], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_NH3_BO_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_nh3_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_nh3_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_NH3_BO_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_nh3_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_nh3_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_NH3_GL_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_nh3_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_nh3_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} QFED_NH3_GL_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_nh3_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_nh3_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} QFED_NH3_SV_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_nh3_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_nh3_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} QFED_NH3_SV_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_nh3_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_nh3_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} QFED_NH3_TF_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_nh3_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_nh3_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} QFED_NH3_TF_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_nh3_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_nh3_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} QFED_NH3_TP_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_nh3_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_nh3_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_NH3_TP_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_nh3_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_nh3_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_NO_BO_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_no_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_no_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_NO_BO_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_no_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_no_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_NO_GL_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_no_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_no_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} QFED_NO_GL_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_no_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_no_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} QFED_NO_SV_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_no_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_no_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} QFED_NO_SV_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_no_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_no_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} QFED_NO_TF_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_no_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_no_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} QFED_NO_TF_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_no_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_no_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} QFED_NO_TP_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_no_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_no_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_NO_TP_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_no_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_no_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_OCPI_BO_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_oc_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_oc_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_OCPI_BO_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_oc_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_oc_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_OCPI_GL_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_oc_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_oc_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} QFED_OCPI_GL_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_oc_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_oc_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} QFED_OCPI_SV_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_oc_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_oc_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} QFED_OCPI_SV_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_oc_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_oc_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} QFED_OCPI_TF_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_oc_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_oc_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} QFED_OCPI_TF_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_oc_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_oc_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} QFED_OCPI_TP_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_oc_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_oc_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_OCPI_TP_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_oc_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_oc_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_PRPE_BO_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c3h6_006, linear_transformation: [0.0, 0.81633], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c3h6_061, linear_transformation: [0.0, 0.81633], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_PRPE_BO_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c3h6_006, linear_transformation: [0.0, 0.81633], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c3h6_061, linear_transformation: [0.0, 0.81633], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_PRPE_GL_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c3h6_006, linear_transformation: [0.0, 0.81633], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c3h6_061, linear_transformation: [0.0, 0.81633], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} QFED_PRPE_GL_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c3h6_006, linear_transformation: [0.0, 0.81633], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c3h6_061, linear_transformation: [0.0, 0.81633], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} QFED_PRPE_SV_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c3h6_006, linear_transformation: [0.0, 0.81633], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c3h6_061, linear_transformation: [0.0, 0.81633], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} QFED_PRPE_SV_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c3h6_006, linear_transformation: [0.0, 0.81633], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c3h6_061, linear_transformation: [0.0, 0.81633], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} QFED_PRPE_TF_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c3h6_006, linear_transformation: [0.0, 0.81633], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c3h6_061, linear_transformation: [0.0, 0.81633], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} QFED_PRPE_TF_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c3h6_006, linear_transformation: [0.0, 0.81633], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c3h6_061, linear_transformation: [0.0, 0.81633], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} QFED_PRPE_TP_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c3h6_006, linear_transformation: [0.0, 0.81633], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c3h6_061, linear_transformation: [0.0, 0.81633], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_PRPE_TP_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c3h6_006, linear_transformation: [0.0, 0.81633], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_c3h6_061, linear_transformation: [0.0, 0.81633], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_SO2_BO_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_so2_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_so2_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_SO2_BO_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_so2_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_so2_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_SO2_GL_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_so2_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_so2_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} QFED_SO2_GL_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_so2_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_so2_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_gl} QFED_SO2_SV_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_so2_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_so2_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} QFED_SO2_SV_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_so2_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_so2_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_sv} QFED_SO2_TF_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_so2_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_so2_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} QFED_SO2_TF_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_so2_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_so2_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_tf} QFED_SO2_TP_FT: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_so2_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_so2_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} QFED_SO2_TP_SFC: - {starting: "2014-12-01T12:00", collection: GEOSCHEMchem_qfed2.emis_so2_006, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} - {starting: "2021-11-01T12:00", collection: GEOSCHEMchem_qfed2.emis_so2_061, linear_transformation: [0.0, 1.0], regrid: CONSERVE, sample: gcc_daily, variable: biomass_xf} SEABIRD_NH3: collection: GEOSCHEMchem_NH3_Arctic_seabirds regrid: CONSERVE sample: gcc_monthly_clim variable: NH3_SEABIRDS SOILNOX_ARID: collection: GEOSCHEMchem_soilNOx_climate regrid: BILINEAR sample: gcc_persist variable: ARID SOILNOX_NONARID: collection: GEOSCHEMchem_soilNOx_climate regrid: BILINEAR sample: gcc_persist variable: NON_ARID SOILNOX_FERT: collection: GEOSCHEMchem_soilNOx_fert_res regrid: CONSERVE sample: gcc_daily_clim variable: FERT SOILNOX_LANDK1: collection: GEOSCHEMchem_soilNOx_landtype regrid: BILINEAR sample: gcc_persist variable: LANDFRAC_K01 SOILNOX_LANDK2: collection: GEOSCHEMchem_soilNOx_landtype regrid: BILINEAR sample: gcc_persist variable: LANDFRAC_K02 SOILNOX_LANDK3: collection: GEOSCHEMchem_soilNOx_landtype regrid: BILINEAR sample: gcc_persist variable: LANDFRAC_K03 SOILNOX_LANDK4: collection: GEOSCHEMchem_soilNOx_landtype regrid: BILINEAR sample: gcc_persist variable: LANDFRAC_K04 SOILNOX_LANDK5: collection: GEOSCHEMchem_soilNOx_landtype regrid: BILINEAR sample: gcc_persist variable: LANDFRAC_K05 SOILNOX_LANDK6: collection: GEOSCHEMchem_soilNOx_landtype regrid: BILINEAR sample: gcc_persist variable: LANDFRAC_K06 SOILNOX_LANDK7: collection: GEOSCHEMchem_soilNOx_landtype regrid: BILINEAR sample: gcc_persist variable: LANDFRAC_K07 SOILNOX_LANDK8: collection: GEOSCHEMchem_soilNOx_landtype regrid: BILINEAR sample: gcc_persist variable: LANDFRAC_K08 SOILNOX_LANDK9: collection: GEOSCHEMchem_soilNOx_landtype regrid: BILINEAR sample: gcc_persist variable: LANDFRAC_K09 SOILNOX_LANDK10: collection: GEOSCHEMchem_soilNOx_landtype regrid: BILINEAR sample: gcc_persist variable: LANDFRAC_K10 SOILNOX_LANDK11: collection: GEOSCHEMchem_soilNOx_landtype regrid: BILINEAR sample: gcc_persist variable: LANDFRAC_K11 SOILNOX_LANDK12: collection: GEOSCHEMchem_soilNOx_landtype regrid: BILINEAR sample: gcc_persist variable: LANDFRAC_K12 SOILNOX_LANDK13: collection: GEOSCHEMchem_soilNOx_landtype regrid: BILINEAR sample: gcc_persist variable: LANDFRAC_K13 SOILNOX_LANDK14: collection: GEOSCHEMchem_soilNOx_landtype regrid: BILINEAR sample: gcc_persist variable: LANDFRAC_K14 SOILNOX_LANDK15: collection: GEOSCHEMchem_soilNOx_landtype regrid: BILINEAR sample: gcc_persist variable: LANDFRAC_K15 SOILNOX_LANDK16: collection: GEOSCHEMchem_soilNOx_landtype regrid: BILINEAR sample: gcc_persist variable: LANDFRAC_K16 SOILNOX_LANDK17: collection: GEOSCHEMchem_soilNOx_landtype regrid: BILINEAR sample: gcc_persist variable: LANDFRAC_K17 SOILNOX_LANDK18: collection: GEOSCHEMchem_soilNOx_landtype regrid: BILINEAR sample: gcc_persist variable: LANDFRAC_K18 SOILNOX_LANDK19: collection: GEOSCHEMchem_soilNOx_landtype regrid: BILINEAR sample: gcc_persist variable: LANDFRAC_K19 SOILNOX_LANDK20: collection: GEOSCHEMchem_soilNOx_landtype regrid: BILINEAR sample: gcc_persist variable: LANDFRAC_K20 SOILNOX_LANDK21: collection: GEOSCHEMchem_soilNOx_landtype regrid: BILINEAR sample: gcc_persist variable: LANDFRAC_K21 SOILNOX_LANDK22: collection: GEOSCHEMchem_soilNOx_landtype regrid: BILINEAR sample: gcc_persist variable: LANDFRAC_K22 SOILNOX_LANDK23: collection: GEOSCHEMchem_soilNOx_landtype regrid: BILINEAR sample: gcc_persist variable: LANDFRAC_K23 SOILNOX_LANDK24: collection: GEOSCHEMchem_soilNOx_landtype regrid: BILINEAR sample: gcc_persist variable: LANDFRAC_K24 STRAT_OH: collection: GEOSCHEMchem_gmi.clim.OH regrid: BILINEAR sample: gcc_monthly_clim variable: species SfcVMR_CCl4: collection: GEOSCHEMchem_surface_VMRs_WMO2018 regrid: BILINEAR sample: gcc_monthly_clim variable: CCl4 SfcVMR_CFC11: collection: GEOSCHEMchem_surface_VMRs_WMO2018 regrid: BILINEAR sample: gcc_monthly_clim variable: CFC11 SfcVMR_CFC113: collection: GEOSCHEMchem_surface_VMRs_WMO2018 regrid: BILINEAR sample: gcc_monthly_clim variable: CFC113 SfcVMR_CFC114: collection: GEOSCHEMchem_surface_VMRs_WMO2018 regrid: BILINEAR sample: gcc_monthly_clim variable: CFC114 SfcVMR_CFC115: collection: GEOSCHEMchem_surface_VMRs_WMO2018 regrid: BILINEAR sample: gcc_monthly_clim variable: CFC115 SfcVMR_CFC12: collection: GEOSCHEMchem_surface_VMRs_WMO2018 regrid: BILINEAR sample: gcc_monthly_clim variable: CFC12 SfcVMR_CH3CCl3: collection: GEOSCHEMchem_surface_VMRs_WMO2018 regrid: BILINEAR sample: gcc_monthly_clim variable: CH3CCl3 SfcVMR_H1211: collection: GEOSCHEMchem_surface_VMRs_WMO2018 regrid: BILINEAR sample: gcc_monthly_clim variable: H1211 SfcVMR_H1301: collection: GEOSCHEMchem_surface_VMRs_WMO2018 regrid: BILINEAR sample: gcc_monthly_clim variable: H1301 SfcVMR_H2402: collection: GEOSCHEMchem_surface_VMRs_WMO2018 regrid: BILINEAR sample: gcc_monthly_clim variable: C2BR2F4 SfcVMR_HCFC141b: collection: GEOSCHEMchem_surface_VMRs_WMO2018 regrid: BILINEAR sample: gcc_monthly_clim variable: HCFC141b SfcVMR_HCFC142b: collection: GEOSCHEMchem_surface_VMRs_WMO2018 regrid: BILINEAR sample: gcc_monthly_clim variable: HCFC142b SfcVMR_HCFC22: collection: GEOSCHEMchem_surface_VMRs_WMO2018 regrid: BILINEAR sample: gcc_monthly_clim variable: HCFC22 SfcVMR_N2O: collection: GEOSCHEMchem_surface_VMRs_WMO2018 regrid: BILINEAR sample: gcc_monthly_clim variable: N2O SfcVMR_CH2Cl2: collection: GEOSCHEMchem_CMIP6_GHG_surface_VMR regrid: BILINEAR sample: gcc_monthly_clim variable: CH2Cl2 SfcVMR_CH3Br: collection: GEOSCHEMchem_CMIP6_GHG_surface_VMR regrid: BILINEAR sample: gcc_monthly_clim variable: CH3Br SfcVMR_CH3Cl: collection: GEOSCHEMchem_CMIP6_GHG_surface_VMR regrid: BILINEAR sample: gcc_monthly_clim variable: CH3Cl SfcVMR_CHCl3: collection: GEOSCHEMchem_CMIP6_GHG_surface_VMR regrid: BILINEAR sample: gcc_monthly_clim variable: CHCl3 SfcVMR_H2: collection: GEOSCHEMchem_surface_VMR_H2 regrid: BILINEAR sample: gcc_persist variable: H2 SfcVMR_OCS: collection: GEOSCHEMchem_surface_VMR_OCS regrid: BILINEAR sample: gcc_persist variable: OCS TIMEZONES: collection: GEOSCHEMchem_timezones regrid: VOTE sample: gcc_persist variable: UTC_OFFSET UV_ALBEDO: collection: GEOSCHEMchem_uvalbedo regrid: BILINEAR sample: gcc_monthly_clim variable: UVALBD XLAIMULTI: collection: GEOSCHEMchem_Condensed_Yuan_proc_MODIS_XLAI regrid: CONSERVE sample: gcc_8day_interp_clim variable: XLAIMULTI surf_iodide: collection: GEOSCHEMchem_Oi_prj_predicted_iodide regrid: CONSERVE sample: gcc_monthly_clim variable: Ensemble_Monthly_mean surf_salinity: collection: GEOSCHEMchem_WOA_2013_salinity regrid: CONSERVE sample: gcc_persist variable: s_mn GEOS_CH4: collection: Jason_10.18.0_carbon_c90_2023 regrid: BILINEAR sample: gcc_3hr variable: CH4_total_dry CH4_OFFSET: collection: GEOSCHEMchem_CH4_scaling regrid: BILINEAR sample: gcc_monthly_clim variable: CH4_offset CO_CMAM: collection: GCC_CMAM_CO regrid: BILINEAR sample: gcc_monthly_clim variable: CO ================================================ FILE: run/GEOS/GEOSCHEMchem_GridComp.rc ================================================ #------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ # # !DESCRIPTION: Resource file for the GEOSCHEMchem Gridded Component. # # !REVISION HISTORY: # 06 Oct 2009 - P. Le Sager - Initial # 06 Dec 2009 - da Silva - Converted from NAMELIST to ESMF Config # 13 Apr 2010 - R. Yantosca - Added dimension info and tracer names # 07 Nov 2012 - R. Yantosca - Added placeholder fields for input.geos # 26 Feb 2013 - R. Yantosca - Added MAX_DEP for Input_Opt # 19 Mar 2013 - R. Yantosca - Added LINOZ fields for Input_Opt # 19 Mar 2013 - R. Yantosca - MAX_TRCS should be 53, not 54 # 01 Aug 2014 - M. Long-sca - MAX_TRCS & MAX_DIAG set to 130 & 80, resp. # 07 Jun 2018 - C.Keller/K.E.Knowland - Change LLSTRAT from 59 to 40, add Calc_VUD_online # 14 Apr 2024 - P. O. Sturm - Added optional parallelization timing flag #------------------------------------------------------------------------------ # # %%% Start date/time %%% # %%% Used by ut_GEOSCHEM in sandbox %%% # UTC_START_DATE: 20050701 UTC_START_TIME: 000000 # # %%% End date/time %%% # %%% Used by ut_GEOSCHEM in sandbox %%% # UTC_END_DATE: 20050702 UTC_END_TIME: 000000 # # %%% Timesteps [sec] %%% # DYNAMICS_TIMESTEP: 1800 CHEMISTRY_TIMESTEP: 1800 # # %%% Placeholder fields for Input_Opt object %%% # MAX_DIAG: 80 MAX_TRCS: 130 MAX_MEMB: 15 MAX_FAMS: 20 MAX_DEP: 55 LINOZ_NFIELDS: 7 LINOZ_NLAT 18 LINOZ_NLEVELS: 25 LINOZ_NMONTHS: 12 # Maximum level used for chemistry. If not extending to the top of the atmosphere, # production and loss rates from an offline GMI simulation will be applied to the # remaining levels (based on GEOS-Chem's linearized stratospheric chemistry scheme). # It is recommended to do full chemistry over the entire column, so that LLSTRAT = LM. # This is the default. #LLSTRAT: 72 # # FAST-JX options: # LLFASTJX are the number of levels used for FAST-JX. The default value for a simulation # on 72 model levels is 601, and 1201 if running on 132 model levels. # FJX_EXTRAL_ITERMAX (defaults: 1 and 5 for 72 and 132 model levels, respectively) and # FJX_EXTRAL_ERR (default = 1) are fine tuning parameter that can be used # to get more control over the FAST-JX calculations. Increase FJX_EXTRAL_ITERMAX if # you encounter problems with FAST-JX, e.g. at 132 model levels. #LLFASTJX: 601 #FJX_EXTRAL_ITERMAX: 1 #FJX_EXTRAL_ERR: 1 # # %%% Run phases (1 or 2. 2 recommended) %%% # RUN_PHASES: 2 # # %%% Stop if KPP integration fails (default: 1) %%% # KPP_STOP_IF_FAIL: 0 # Checks to prevent negative concentrations after KPP integration. These can create # problems with mass balance. KppCheckNegatives checks for negatives in the N top # layers. I.e., if set to 5 it will check for negatives in the top 5 model levels. # If set to 0, it will perform the check in the entire stratosphere and mesosphere. # If negatives are found, a second integration attempt will be made using HSTART=0 # and by relaxing the KPP tolerances using the scale factor provided in KppTolScale. KppCheckNegatives: 0 KppTolScale: 1.0 # # %%% HEMCO configuration file %%% # HEMCO_CONFIG: HEMCO_Config.rc # # %%% Log file names for redirecting stdout %%% # STDOUT_LOGFILE: PET%%%%%.GEOSCHEMchem.log STDOUT_LOGLUN: 6 # # %%% Initialize all concentrations to zero? ### # INIT_ZERO: 0 # # %%% Use archived convection fields? %%% # ARCHIVED_CONV: 0 # %%% Use MOIST module for convective transport (including washout) # Make species friendly to moist? If turned on, convection must be turned off in in geoschem_config.yml Species_friendly_to_moist: 1 # Turn off washout for SO2? TurnOff_SO2_washout: 1 # Calculate CLDLIQ and CLDICE online based on current conditions (use default GEOS-Chem parameterization otherwise)? Online_CLDLIQ: 1 # Use online vertical updraft velocity or use default GEOS-Chem parameterization? Online_VUD: 1 # make aerosols friendly to GAAS? Species_friendly_to_GAAS: 1 # # %%% Tuning parameter to reduce washout efficiency # %%% of convective large-scale precip. # %%% Use at own risk: the effects of setting this # %%% parameter to a value between 0.0 and 1.0 are # %%% untested! # ### cakelle2, 20180828: bug fix, changed from -999.0 to 1.0 Convective_precip_correction: 1.0 # # %%% Cap polar tropopause at 200hPa (default=yes)? %%% # Cap_polar_tropopause: 0 # # %%% Ozonopause value in ppb. If set to <= 0.0, the # %%% GEOS-5 tropopause will be used (default) # Use_ozonopause: -999.0 # # %%% Prescribe stratospheric H2O # Prescribe_strat_H2O: 1 # Apply H2O tendency to Q? # 1 = always do it # 0 = only do it if GEOSCHEMCHEM is RATS provider # -1 = never do it ApplyQtend: -1 # %%% Settings for excluding species from being transported Reduce_transport_species: 0 Transport_blacklist: CFC115,CFC114,N2O,CFC12,H1301,CFC113,CFC11,CCl4,H2O,H2402,H1211,HCFC142b,HCFC22,HCFC141b,CH3CCl3,CH3Br,CH3Cl,HCFC123 # # %%% Include short-lived species in internal restart file? # Shortlived_species_in_restart: 1 # # %%% Read initial conditions from external file # %%% instead of internal state # INIT_SPC_FROM_FILE: 0 INIT_SPC_FILE: /discover/nobackup/cakelle2/GCC_Restarts/v13.1.0-beta.1/GEOSChem.Restart.20190801_0000z.edit.incHEMCO.nc4 ONLY_SHORTLIVED_SPECIES: 0 UNIFORM_IF_MISSING: 1.0e-12 DATA_IS_IN_PPBV: 1 ONLY_ON_FIRST_STEP: 1 DATA_ON_GEOS_LEVELS: 1 DO_NOT_OVERWRITE_ABOVE_LEVEL: 59 USE_GMI_MESO: 0 GMI_TEMPLATE: /discover/nobackup/cakelle2/data/GMI/gmi.clim.%spc.geos5.2x25.esmf.nc # # %%% Use GMI P/L for O3 (default=no)? %%% # Use_GMI_O3_PL: 0 # Analysis options ANAPHASE: 2 Analysis_nSpecies: 0 Analysis_Settings_Spec001: GEOSCHEMchem_AnaSettings_O3.CDAS.rc Analysis_Settings_Spec002: GEOSCHEMchem_AnaSettings_NO2.rc Analysis_Settings_Spec003: GEOSCHEMchem_AnaSettings_SO2.rc # # NOx lightning met inputs # # Input source for flash rates: If set to 'LFR' or 'LFR_GCC', the corresponding MOIST export is used. If set to any other # name, will search for that name in the import state. For instance, set it to 'LFR_OFFLINE' and then define an import via # ExtData to use LFR values from a file. Default is LFR_GCC. All values expected in [flashes km-2 s-1]. # Scale factors can be defined to adjust the imported LFR field for the southern extratropics (<23S), tropics (23S-23N), and # the northern extratropics (>23N). In addition, a global scale factor can be set to rescale the overall LFR. # These factors can be used to better match the expected global annual average flash rate of 46 flashes s-1, and a distribution # of ~65% in the tropics and ~23% in the N extratropics. # LIGHTNING_FLASH_RATE_SOURCE: LFR_GCC LFR_SCALING_SOUTHERN_TROP: 2.0 LFR_SCALING_NORTHERN_TROP: 1.1 LFR_SCALING_TROPICS: 0.4 LFR_SCALING_GLOBAL: 2.0 # # Input source for convective height: If set to 'CNV_MFC', will compute the convective height from convective mass fluxes # (default). If set to 'BYNCY', will compute it from the buoyancy and convective fraction. For all other cases, will look # for the field in import and use that as is. For instance, set it to 'CCTH_OFFLINE' and define an import via ExtData to # use values from an external file. If read from file, the values must be in [m]. # LIGHTNING_CONVECTIVE_TOP_SOURCE: CNV_MFC # # Turn off heterogenous reactions in stratosphere? # If true, the following heterogeneous reactions are disabled (in the stratosphere): # ClNO3(g) + HBr(l,s) --> BrCl + HNO3 # BrNO3(g) + HCl(l,s) --> BrCl + HNO3 # HOCl(g) + HBr(l,s) --> BrCl + H2O TurnOffHetRates: 1 # # Enable Bry and Cly family transport # Bry_Cly_Family_Transport: 1 # Skip GCC during replay predictor step SkipReplayGCC: 0 # # CO production from CO2 photolysis # CO_production_from_CO2_photolysis: 0 CO2photolysisFile: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/StratChem/SC.J_20_12_79_72_200_45.jpl15.nc4 # # CO2 coupling with GOCART # Import_CO2_from_GOCART: 0 GOCART_CO2_FieldName: GOCART_CO2 # # Set CO mesosphere upper boundary to external field # Set_CO_Mesosphere: 1 CO_Mesosphere_FieldName: CO_CMAM # # To set CH4 boundary condition from GEOS # This is not yet implemented. Set to zero for now. If you want GEOS CH4, need to activate GEOS_CH4 in HEMCO_Config.rc CH4_from_GEOS: 0 # Parallelization barrier for chemistry in GEOS # Optional VMBarrier at the end of Run2 # If 1, the VMBarrier is on GC_VMBarrier_Run2: 0 ================================================ FILE: run/GEOS/GEOSChem_TaggedNOx.rc ================================================ # Resource file for NOx Tagged tracers. Used by geos_TaggedSpecies.F90 # Added by Pam Wales on Sept 18, 2023 # Modified for GCv14 by Christph Keller on Mar 21, 2024 # The number of NO(x) tagged tracers to include. # Will be included as NOTAG1, NOTAG2 and NO2TAG1, NO2TAG2, etc. # If set to 0 (default), no tagged NOx tracers will be used # If set to higher than 0, the corresponding number of tagged # NOx tracer need to be present in geoschem_config.yaml and # species_database.yaml. nchem_tag: 0 # If partner_tag is true (> 0), scale NOx as NO + NO2 partner_tag: 1 # tag names (currently not used - names are hardcoded) tag_names: NOTAG1 # partner names (currently not used - names are hardcoded) partner_names: NO2TAG1 ================================================ FILE: run/GEOS/HEMCO_Config.rc ================================================ ### HEMCO INPUT FILE ### # ================================================================================================== # Category convention: # 1: Industry # 2: Power # 3: Transportation # 4: Residential # 5: Agriculture # 6: Natural # 7: Plants # 8: Biomass burning # 9: Trash burning # 10: Ship # 20: Aircraft # 30: Seabirds #################################################################################### ### BEGIN SECTION SETTINGS #################################################################################### # ROOT: {DATA_ROOT}/HEMCO METDIR: not_used Logfile: HEMCO.log DiagnPrefix: HEMCO_diagnostics DiagnFile: ./HEMCO_DiagnFile.rc Wildcard: * Separator: / Unit tolerance: 1 Negative values: 2 Only unitless scale factors: false Verbose: false VerboseOnCores: root # Accepted values: root all # ### END SECTION SETTINGS #################################################################################### ### BEGIN SECTION EXTENSION SWITCHES #################################################################################### # Make sure that the ExtNr provided here matches with the ExtNr provided in the base # emissions sections. Otherwise, the listed files won't be read! # # ExtNr ExtName on/off Species 0 Base : on * # ----- MAIN SWITCHES ----------------------- --> EMISSIONS : true --> METEOROLOGY : false --> CHEMISTRY_INPUT : true # ----- RESTART FIELDS ---------------------- --> GC_RESTART : false --> STATE_PSC : false --> HEMCO_RESTART : false # ----- NESTED GRID FIELDS ------------------ --> GC_BCs : false --> CEDS : true --> CEDS_SHIP : true --> CEDS_VOCs : true --> CEDS_C2H6 : true --> CH4_EMISSIONS : false --> C2H6_EDGAR : false --> C2H6_ZITELY : false --> QFED : true --> ORDONEZ_IODOCARB : true --> DECAYING_PLANTS : true --> AFCID : true --> POET : false --> SEABIRDS : true --> DICE_AFRICA : false --> TRASH : false --> OMI_HTAP_SO2 : false # ----- AIRCRAFT EMISSIONS ------------------ --> AEIC : false --> AEIC2019_MONMEAN : true --> AEIC_SCALE_1990_2019 : true # ----- NON-EMISSIONS DATA ------------------ --> UVALBEDO : true --> CCM_STRAT_Bry : true --> GMI_STRAT_OH : true --> GMI_PROD_LOSS : false --> UCX_PROD_LOSS : false --> OMOC_RATIO : false --> GMD_SFC_CH4 : false --> GEOS_3HR_CH4 : true --> CMIP6_SFC_CH4 : false # OLSON and MODIS read via MAPL not HEMCO in GEOS --> OLSON_LANDMAP : false --> YUAN_MODIS_LAI : false --> RRTMG : false --> SfcVMR : true --> OCEAN_O3_DRYDEP : true # -------------------------------------------------------- 100 Custom : off - 101 SeaFlux : on DMS/ACET/ALD2/MENO3/ETNO3/MOH 103 LightNOx : on NO --> GEOS-5 flash rates: false ### --> OTD-LIS scaling : 0.355 ### --> OTD-LIS scaling : 0.634 #C720 --> OTD-LIS scaling : 1.4152E-3 #C180 --> OTD-LIS scaling : 1.527e-2 --> OTD-LIS scaling : 0.12 --> CDF table : /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/HEMCO/v0.0.0/sfc/light_dist.ott2010.dat --> Use CNV_FRC : false --> OTD-LIS factors : false 104 SoilNOx : on NO --> UseSoilTemperature: false --> Use fertilizer NOx: true 107 SeaSalt : on SALA/SALC/SALACL/SALCCL/SALAAL/SALCAL/BrSALA/BrSALC/MOPO/MOPI --> SALA lower radius : 0.01 --> SALA upper radius : 0.5 --> SALC lower radius : 0.5 --> SALC upper radius : 8.0 --> Reduce SS cold water : true --> Blowing Snow SS : true --> NH FYI snow salinity : 0.1 --> NH MYI snow salinity : 0.05 --> SH FYI snow salinity : 0.03 --> SH MYI snow salinity : 0.015 --> NH snow age : 3.0 --> SH snow age : 1.5 --> N per snowflake : 5.0 --> Model sea salt Br- : true --> Br- mass ratio : 2.11e-3 108 MEGAN : on ISOP/ACET/PRPE/C2H4/ALD2/MOH/EOH/MTPA/MTPO/LIMO/SESQ/SOAP/SOAS --> MEGAN_SUFFIX : _GCC --> Isoprene scaling : 1.0 --> CO2 inhibition : true --> CO2 conc (ppmv) : 390.0 --> Isoprene to SOAP : 0.015 --> Isoprene to SOAS : 0.015 --> Monoterp to SOAP : 0.050 --> Monoterp to SOAS : 0.050 --> Othrterp to SOAP : 0.050 --> Othrterp to SOAS : 0.050 111 GFED : off NO/CO/ALK4/ACET/MEK/ALD2/PRPE/C3H8/CH2O/C2H6/SO2/NH3/BCPO/BCPI/OCPO/OCPI/POG1/POG2/NAP/EOH/MOH/SOAP/FURA/PHEN/MVK/ISOP/ACTA/MGLY/GLYX/RCHO/HCOOH/ACR/STYR/C4H6 --> GFED4 : true --> GFED_daily : false --> GFED_3hourly : false --> Scaling_CO : 1.05 --> Scaling_POG1 : 1.27 --> Scaling_POG2 : 1.27 --> Scaling_NAP : 2.75e-4 --> hydrophilic BC : 0.2 --> hydrophilic OC : 0.5 --> fraction POG1 : 0.49 --> CO to SOAP : 0.013 --> GFED_subgrid_coag : false 117 Volcano : on SO2 --> Volcano_Source : AeroCom # use flat degassing file for 2022 onwards: --> Volcano_Table : ./ExtData/AeroCom/sfc/volcanic_CARN_1978-2020_v202005/so2_volcanic_emissions_CARN_v202005.degassing_only.rc --> Volcano_Climatology : ./ExtData/AeroCom/sfc/volcanic_CARN_1978-2020_v202005/so2_volcanic_emissions_CARN_v202005.degassing_only.rc # use degassing and eruptive for reanalysis: # --> Volcano_Table : ./ExtData/AeroCom/sfc/volcanic_CARN_1978-2020_v202005/so2_volcanic_emissions_Carns.$YYYY$MM$DD.rc 120 Inorg_Iodine : on HOI/I2 --> Emit HOI : true --> Emit I2 : true 122 VFEI : off NO/CO/ALK4/ACET/MEK/ALD2/PRPE/C3H8/CH2O/C2H6/SO2/NH3/BCPO/BCPI/OCPO/OCPI/HNO2/HCl/ACTA/MGLY/GLYX/EOH/MOH/MTPO/ISOP/BENZ/TOLU/XYLE/SOAP/MACR/MVK/DMS --> VFEI_Table : /discover/nobackup/cakelle2/data/VFEI/TXT/v0/Y$YYYY/vfeiv0_V1_$YYYY$MM$DD.txt --> PBL_frac : 0.65 --> MaxHeightM : 5500.0 --> Category : 1 --> Scaling_BCPO : 0.8 --> Scaling_BCPI : 0.2 --> Scaling_OCPO : 0.5 --> Scaling_OCPI : 0.5 --> Scaling_SOAP : 0.013 125 DustL23M : on DSTbin1/DSTbin2/DSTbin3/DSTbin4/DSTbin5/DSTbin6/DSTbin7 --> Mass tuning factor: 2.454e-4 ############################################################################## # Mass tuning factors are resolution and met-source dependent # See https://github.com/geoschem/geos-chem/pull/2946#issuecomment-3465876899 # --> Mass tuning factor: 6.794E-03 # C24 GEOS-FP # --> Mass tuning factor: 4.402E-03 # C48 GEOS-FP # --> Mass tuning factor: 3.533E-03 # C90 GEOS-FP # --> Mass tuning factor: 3.081E-03 # C180 GEOS-FP # --> Mass tuning factor: 2.924E-03 # C360 GEOS-FP # --> Mass tuning factor: 4.231E-03 # C30 GEOS-IT # --> Mass tuning factor: 3.308E-03 # C48 GEOS-IT # --> Mass tuning factor: 2.614E-03 # C90 GEOS-IT # --> Mass tuning factor: 2.924E-03 # C180 GEOS-IT # --> Mass tuning factor: 7.944E-03 # C24 MERRA-2 # --> Mass tuning factor: 4.253E-03 # C48 MERRA-2 # --> Mass tuning factor: 4.341E-03 # C90 MERRA-2 # --> Mass tuning factor: 3.932E-03 # C180 MERRA-2 ############################################################################## ### END SECTION EXTENSION SWITCHES #################################################################################### ### BEGIN SECTION BASE EMISSIONS #################################################################################### (((EMISSIONS #======================================================================================================================================= # --- CEDS --- # # ==> CEDS ship emissions are listed in the ship emissions section below # ==> CEDS includes trash emissions (Cat=12) from Wiedinmyer et al. (2014) #======================================================================================================================================= (((CEDS #201,211 ind Day-of-week(DOW),Time-of-day(TOD) #202,212 ene DOW,TOD #203,213 tra DOW,TOD #204,214 rco DOW,TOD #205,215 agr DOW,TOD #97 NOx ems as NO scale factor # AGR NOx emissions are not used since soil NOx emissions include those from fertilizers #0 CEDS_NO_AGR /see/ExtData.rc NO_agr 2014/1-12/1/0 C xy kg/m2/s NO 97/205/215 5 2 0 CEDS_NO_ENE /see/ExtData.rc NO_ene 2014/1-12/1/0 C xyL=1:11 kg/m2/s NO 97/202/212/317 2 2 0 CEDS_NO_IND /see/ExtData.rc NO_ind 2014/1-12/1/0 C xyL=1:15 kg/m2/s NO 97/201/211/318 1 2 0 CEDS_NO_TRA /see/ExtData.rc NO_tra 2014/1-12/1/0 C xy kg/m2/s NO 97/203/213 3 2 0 CEDS_NO_RCO /see/ExtData.rc NO_rco 2014/1-12/1/0 C xy kg/m2/s NO 97/204/214 4 2 0 CEDS_NO_SLV /see/ExtData.rc NO_slv 2014/1-12/1/0 C xy kg/m2/s NO 97/201/211 1 2 0 CEDS_NO_WST /see/ExtData.rc NO_wst 2014/1-12/1/0 C xy kg/m2/s NO 97 9 2 #98 NOx ems as NO2 scale factor #115 NO to NO2 mass conversion #0 CEDS_NO2_AGR /see/ExtData.rc NO_agr 2014/1-12/1/0 C xy kg/m2/s NO2 98/115/205/215 5 2 0 CEDS_NO2_ENE /see/ExtData.rc NO_ene 2014/1-12/1/0 C xyL=1:11 kg/m2/s NO2 98/115/202/212/317 2 2 0 CEDS_NO2_IND /see/ExtData.rc NO_ind 2014/1-12/1/0 C xyL=1:15 kg/m2/s NO2 98/115/201/211/318 1 2 0 CEDS_NO2_TRA /see/ExtData.rc NO_tra 2014/1-12/1/0 C xy kg/m2/s NO2 98/115/203/213 3 2 0 CEDS_NO2_RCO /see/ExtData.rc NO_rco 2014/1-12/1/0 C xy kg/m2/s NO2 98/115/204/214 4 2 0 CEDS_NO2_SLV /see/ExtData.rc NO_slv 2014/1-12/1/0 C xy kg/m2/s NO2 98/115/201/211 1 2 0 CEDS_NO2_WST /see/ExtData.rc NO_wst 2014/1-12/1/0 C xy kg/m2/s NO2 98/115 9 2 #280 COtoSOAP_anth #301 ODIAC_ANNUALSCALE_2010 (not applied here but is used in HTAP) ********** #302 ODIAC_ANNUALSCALE_2013 0 CEDS_CO_AGR /see/ExtData.rc CO_agr 2014/1-12/1/0 C xy kg/m2/s CO 205/215 5 2 0 CEDS_SOAP_AGR - - - - - - SOAP 205/215/280 5 2 0 CEDS_CO_ENE /see/ExtData.rc CO_ene 2014/1-12/1/0 C xyL=1:11 kg/m2/s CO 202/212/317 2 2 0 CEDS_SOAP_ENE - - - - - - SOAP 202/212/280/317 2 2 0 CEDS_CO_IND /see/ExtData.rc CO_ind 2014/1-12/1/0 C xyL=1:15 kg/m2/s CO 201/211/318 1 2 0 CEDS_SOAP_IND - - - - - - SOAP 201/211/280/318 1 2 0 CEDS_CO_TRA /see/ExtData.rc CO_tra 2014/1-12/1/0 C xy kg/m2/s CO 203/213 3 2 0 CEDS_SOAP_TRA - - - - - - SOAP 203/213/280 3 2 0 CEDS_CO_RCO /see/ExtData.rc CO_rco 2014/1-12/1/0 C xy kg/m2/s CO 204/214 4 2 0 CEDS_SOAP_RCO - - - - - - SOAP 204/214/280 4 2 0 CEDS_CO_SLV /see/ExtData.rc CO_slv 2014/1-12/1/0 C xy kg/m2/s CO 201/211 1 2 0 CEDS_SOAP_SLV - - - - - - SOAP 201/211/280 1 2 0 CEDS_CO_WST /see/ExtData.rc CO_wst 2014/1-12/1/0 C xy kg/m2/s CO - 9 2 0 CEDS_SOAP_WST - - - - - - SOAP 280 9 2 0 CEDS_NH3_AGR /see/ExtData.rc NH3_agr 2014/1-12/1/0 C xy kg/m2/s NH3 205/215 5 2 0 CEDS_NH3_ENE /see/ExtData.rc NH3_ene 2014/1-12/1/0 C xyL=1:11 kg/m2/s NH3 202/212/317 2 2 0 CEDS_NH3_IND /see/ExtData.rc NH3_ind 2014/1-12/1/0 C xyL=1:15 kg/m2/s NH3 201/211/318 1 2 0 CEDS_NH3_TRA /see/ExtData.rc NH3_tra 2014/1-12/1/0 C xy kg/m2/s NH3 203/213 3 2 0 CEDS_NH3_RCO /see/ExtData.rc NH3_rco 2014/1-12/1/0 C xy kg/m2/s NH3 204/214 4 2 0 CEDS_NH3_SLV /see/ExtData.rc NH3_slv 2014/1-12/1/0 C xy kg/m2/s NH3 201/211 1 2 0 CEDS_NH3_WST /see/ExtData.rc NH3_wst 2014/1-12/1/0 C xy kg/m2/s NH3 - 9 2 #70 BC2BCPI #71 BC2BCPO 0 CEDS_BCPI_AGR /see/ExtData.rc BC_agr 2014/1-12/1/0 C xy kg/m2/s BCPI 70/205/215 5 2 0 CEDS_BCPO_AGR - - - - - - BCPO 71/205/215 5 2 0 CEDS_BCPI_ENE /see/ExtData.rc BC_ene 2014/1-12/1/0 C xyL=1:11 kg/m2/s BCPI 70/202/212/317 2 2 0 CEDS_BCPO_ENE - - - - - - BCPO 71/202/212/317 2 2 0 CEDS_BCPI_IND /see/ExtData.rc BC_ind 2014/1-12/1/0 C xyL=1:15 kg/m2/s BCPI 70/201/211/318 1 2 0 CEDS_BCPO_IND - - - - - - BCPO 71/201/211/318 1 2 0 CEDS_BCPI_TRA /see/ExtData.rc BC_tra 2014/1-12/1/0 C xy kg/m2/s BCPI 70/203/213 3 2 0 CEDS_BCPO_TRA - - - - - - BCPO 71/203/213 3 2 0 CEDS_BCPI_RCO /see/ExtData.rc BC_rco 2014/1-12/1/0 C xy kg/m2/s BCPI 70/204/214 4 2 0 CEDS_BCPO_RCO - - - - - - BCPO 71/204/214 4 2 0 CEDS_BCPI_SLV /see/ExtData.rc BC_slv 2014/1-12/1/0 C xy kg/m2/s BCPI 70/201/211 1 2 0 CEDS_BCPO_SLV - - - - - - BCPO 71/201/211 1 2 0 CEDS_BCPI_WST /see/ExtData.rc BC_wst 2014/1-12/1/0 C xy kg/m2/s BCPI 70 9 2 0 CEDS_BCPO_WST - - - - - - BCPO 71 9 2 #72 OC2OCPI #73 OC2OCPO #74 POGSCAL #76 SV2POG1 #77 SV2POG2 0 CEDS_OCPI_AGR /see/ExtData.rc OC_agr 2014/1-12/1/0 C xy kg/m2/s OCPI 72/205/215 5 2 0 CEDS_OCPO_AGR - - - - - - OCPO 73/205/215 5 2 0 CEDS_POG1_AGR - - - - - - POG1 73/74/76/205/215 5 2 0 CEDS_POG2_AGR - - - - - - POG2 73/74/77/205/215 5 2 0 CEDS_OCPI_ENE /see/ExtData.rc OC_ene 2014/1-12/1/0 C xyL=1:11 kg/m2/s OCPI 72/202/212/317 2 2 0 CEDS_OCPO_ENE - - - - - - OCPO 73/202/212/317 2 2 0 CEDS_POG1_ENE - - - - - - POG1 73/74/76/202/212/317 2 2 0 CEDS_POG2_ENE - - - - - - POG2 73/74/77/202/212/317 2 2 0 CEDS_OCPI_IND /see/ExtData.rc OC_ind 2014/1-12/1/0 C xyL=1:15 kg/m2/s OCPI 72/201/211/318 1 2 0 CEDS_OCPO_IND - - - - - - OCPO 73/201/211/318 1 2 0 CEDS_POG1_IND - - - - - - POG1 73/74/76/201/211/318 1 2 0 CEDS_POG2_IND - - - - - - POG2 73/74/77/201/211/318 1 2 0 CEDS_OCPI_TRA /see/ExtData.rc OC_tra 2014/1-12/1/0 C xy kg/m2/s OCPI 72/203/213 3 2 0 CEDS_OCPO_TRA - - - - - - OCPO 73/203/213 3 2 0 CEDS_POG1_TRA - - - - - - POG1 73/74/76/203/213 3 2 0 CEDS_POG2_TRA - - - - - - POG2 73/74/77/203/213 3 2 0 CEDS_OCPI_RCO /see/ExtData.rc OC_rco 2014/1-12/1/0 C xy kg/m2/s OCPI 72/204/214 4 2 0 CEDS_OCPO_RCO - - - - - - OCPO 73/204/214 4 2 0 CEDS_POG1_RCO - - - - - - POG1 73/74/76/204/214 4 2 0 CEDS_POG2_RCO - - - - - - POG2 73/74/77/204/214 4 2 0 CEDS_OCPI_SLV /see/ExtData.rc OC_slv 2014/1-12/1/0 C xy kg/m2/s OCPI 72/201/211 1 2 0 CEDS_OCPO_SLV - - - - - - OCPO 73/201/211 1 2 0 CEDS_POG1_SLV - - - - - - POG1 73/74/76/201/211 1 2 0 CEDS_POG2_SLV - - - - - - POG2 73/74/77/201/211 1 2 0 CEDS_OCPI_WST /see/ExtData.rc OC_wst 2014/1-12/1/0 C xy kg/m2/s OCPI 72 9 2 0 CEDS_OCPO_WST - - - - - - OCPO 73 9 2 0 CEDS_POG1_WST - - - - - - POG1 73/74/76 9 2 0 CEDS_POG2_WST - - - - - - POG2 73/74/77 9 2 #63 SO2toSO4 #66 SO2toPFe 0 CEDS_SO2_AGR /see/ExtData.rc SO2_agr 2014/1-12/1/0 C xy kg/m2/s SO2 205/215 5 2 0 CEDS_SO4_AGR - - - - - - SO4 63/205/215 5 2 0 CEDS_pFe_AGR - - - - - - pFe 66/205/215 5 2 0 CEDS_SO2_ENE /see/ExtData.rc SO2_ene 2014/1-12/1/0 C xyL=1:11 kg/m2/s SO2 202/212/317 2 2 0 CEDS_SO4_ENE - - - - - - SO4 63/202/212/317 2 2 0 CEDS_pFe_ENE - - - - - - pFe 66/202/212/317 2 2 0 CEDS_SO2_IND /see/ExtData.rc SO2_ind 2014/1-12/1/0 C xyL=1:15 kg/m2/s SO2 201/211/318 1 2 0 CEDS_SO4_IND - - - - - - SO4 63/201/211/318 1 2 0 CEDS_pFe_IND - - - - - - pFe 66/201/211/318 1 2 0 CEDS_SO2_TRA /see/ExtData.rc SO2_tra 2014/1-12/1/0 C xy kg/m2/s SO2 203/213 3 2 0 CEDS_SO4_TRA - - - - - - SO4 63/203/213 3 2 0 CEDS_pFe_TRA - - - - - - pFe 66/203/213 3 2 0 CEDS_SO2_RCO /see/ExtData.rc SO2_rco 2014/1-12/1/0 C xy kg/m2/s SO2 204/214 4 2 0 CEDS_SO4_RCO - - - - - - SO4 63/204/214 4 2 0 CEDS_pFe_RCO - - - - - - pFe 66/204/214 4 2 0 CEDS_SO2_SLV /see/ExtData.rc SO2_slv 2014/1-12/1/0 C xy kg/m2/s SO2 201/211 1 2 0 CEDS_SO4_SLV - - - - - - SO4 63/201/211 1 2 0 CEDS_pFe_SLV - - - - - - pFe 66/201/211 1 2 0 CEDS_SO2_WST /see/ExtData.rc SO2_wst 2014/1-12/1/0 C xy kg/m2/s SO2 - 9 2 0 CEDS_SO4_WST - - - - - - SO4 63 9 2 0 CEDS_pFe_WST - - - - - - pFe 66 9 2 )))CEDS (((CEDS_VOCs ##206,216 Average DOW,TOD used like in RETRO. ****Maybe I shouldn't apply to _WST ?? or apply to _WST evwh****** # ##8 kg EOH to kg MOH ##9 kg EOH to kg EOH ##24 kg EOH to kg ROH ##92 VOC1 to MOH ##93 VOC1 to EOH ##94 VOC1 to ROH 0 CEDS_MOH_AGR see/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_agr 2014/1-12/1/0 C xy kg/m2/s MOH 206/216/8/92 5 2 0 CEDS_EOH_AGR - - - - - - EOH 206/216/9/93 5 2 0 CEDS_ROH_AGR - - - - - - ROH 206/216/24/94 5 2 0 CEDS_MOH_ENE see/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_ene 2014/1-12/1/0 C xyL=1:11 kg/m2/s MOH 206/216/8/92/317 2 2 0 CEDS_EOH_ENE - - - - - - EOH 206/216/9/93/317 2 2 0 CEDS_ROH_ENE - - - - - - ROH 206/216/24/94/317 2 2 0 CEDS_MOH_IND see/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_ind 2014/1-12/1/0 C xyL=1:15 kg/m2/s MOH 206/216/8/92/318 1 2 0 CEDS_EOH_IND - - - - - - EOH 206/216/9/93/318 1 2 0 CEDS_ROH_IND - - - - - - ROH 206/216/24/94/318 1 2 0 CEDS_MOH_TRA see/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_tra 2014/1-12/1/0 C xy kg/m2/s MOH 206/216/8/92 3 2 0 CEDS_EOH_TRA - - - - - - EOH 206/216/9/93 3 2 0 CEDS_ROH_TRA - - - - - - ROH 206/216/24/94 3 2 0 CEDS_MOH_RCO see/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_rco 2014/1-12/1/0 C xy kg/m2/s MOH 206/216/8/92 4 2 0 CEDS_EOH_RCO - - - - - - EOH 206/216/9/93 4 2 0 CEDS_ROH_RCO - - - - - - ROH 206/216/24/94 4 2 0 CEDS_MOH_SLV see/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_slv 2014/1-12/1/0 C xy kg/m2/s MOH 206/216/8/92 1 2 0 CEDS_EOH_SLV - - - - - - EOH 206/216/9/93 1 2 0 CEDS_ROH_SLV - - - - - - ROH 206/216/24/94 1 2 0 CEDS_MOH_WST see/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_wst 2014/1-12/1/0 C xy kg/m2/s MOH 206/216/8/92 9 2 0 CEDS_EOH_WST - - - - - - EOH 206/216/9/93 9 2 0 CEDS_ROH_WST - - - - - - ROH 206/216/24/94 9 2 #10 C4H10toALK4 0 CEDS_C4H10_AGR see/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_agr 2014/1-12/1/0 C xy kg/m2/s ALK4 206/216/10 5 2 0 CEDS_C4H10_ENE see/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_ene 2014/1-12/1/0 C xyL=1:11 kg/m2/s ALK4 206/216/10/317 2 2 0 CEDS_C4H10_IND see/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_ind 2014/1-12/1/0 C xyL=1:15 kg/m2/s ALK4 206/216/10/318 1 2 0 CEDS_C4H10_TRA see/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_tra 2014/1-12/1/0 C xy kg/m2/s ALK4 206/216/10 3 2 0 CEDS_C4H10_RCO see/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_rco 2014/1-12/1/0 C xy kg/m2/s ALK4 206/216/10 4 2 0 CEDS_C4H10_SLV see/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_slv 2014/1-12/1/0 C xy kg/m2/s ALK4 206/216/10 1 2 0 CEDS_C4H10_WST see/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_wst 2014/1-12/1/0 C xy kg/m2/s ALK4 206/216/10 9 2 #11 C5H12toALK4 0 CEDS_C5H12_AGR see/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_agr 2014/1-12/1/0 C xy kg/m2/s ALK4 206/216/11 5 2 0 CEDS_C5H12_ENE see/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_ene 2014/1-12/1/0 C xyL=1:11 kg/m2/s ALK4 206/216/11/317 2 2 0 CEDS_C5H12_IND see/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_ind 2014/1-12/1/0 C xyL=1:15 kg/m2/s ALK4 206/216/11/318 1 2 0 CEDS_C5H12_TRA see/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_tra 2014/1-12/1/0 C xy kg/m2/s ALK4 206/216/11 3 2 0 CEDS_C5H12_RCO see/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_rco 2014/1-12/1/0 C xy kg/m2/s ALK4 206/216/11 4 2 0 CEDS_C5H12_SLV see/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_slv 2014/1-12/1/0 C xy kg/m2/s ALK4 206/216/11 1 2 0 CEDS_C5H12_WST see/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_wst 2014/1-12/1/0 C xy kg/m2/s ALK4 206/216/11 9 2 #12 C6H14toALK4 0 CEDS_C6H14_AGR see/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_agr 2014/1-12/1/0 C xy kg/m2/s ALK4 206/216/12 5 2 0 CEDS_C6H14_ENE see/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_ene 2014/1-12/1/0 C xyL=1:11 kg/m2/s ALK4 206/216/12/317 2 2 0 CEDS_C6H14_IND see/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_ind 2014/1-12/1/0 C xyL=1:15 kg/m2/s ALK4 206/216/12/318 1 2 0 CEDS_C6H14_TRA see/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_tra 2014/1-12/1/0 C xy kg/m2/s ALK4 206/216/12 3 2 0 CEDS_C6H14_RCO see/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_rco 2014/1-12/1/0 C xy kg/m2/s ALK4 206/216/12 4 2 0 CEDS_C6H14_SLV see/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_slv 2014/1-12/1/0 C xy kg/m2/s ALK4 206/216/12 1 2 0 CEDS_C6H14_WST see/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_wst 2014/1-12/1/0 C xy kg/m2/s ALK4 206/216/12 9 2 #14 MEKtoACET #50 CEDS_KET2ACET 0 CEDS_ACET_AGR see/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_agr 2014/1-12/1/0 C xy kg/m2/s ACET 206/216/14/51 5 2 0 CEDS_ACET_ENE see/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_agr 2014/1-12/1/0 C xyL=1:11 kg/m2/s ACET 206/216/14/51/317 2 2 0 CEDS_ACET_IND see/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_agr 2014/1-12/1/0 C xyL=1:15 kg/m2/s ACET 206/216/14/51/318 1 2 0 CEDS_ACET_TRA see/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_agr 2014/1-12/1/0 C xy kg/m2/s ACET 206/216/14/51 3 2 0 CEDS_ACET_RCO see/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_agr 2014/1-12/1/0 C xy kg/m2/s ACET 206/216/14/51 4 2 0 CEDS_ACET_SLV see/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_agr 2014/1-12/1/0 C xy kg/m2/s ACET 206/216/14/51 1 2 0 CEDS_ACET_WST see/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_agr 2014/1-12/1/0 C xy kg/m2/s ACET 206/216/14/51 9 2 #13 MEKtoMEK #51 CEDS_KET2MEK 0 CEDS_MEK_AGR see/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_agr 2014/1-12/1/0 C xy kg/m2/s MEK 206/216/13/50 5 2 0 CEDS_MEK_ENE see/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_ene 2014/1-12/1/0 C xyL=1:11 kg/m2/s MEK 206/216/13/50/317 2 2 0 CEDS_MEK_IND see/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_ind 2014/1-12/1/0 C xyL=1:15 kg/m2/s MEK 206/216/13/50/318 1 2 0 CEDS_MEK_TRA see/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_tra 2014/1-12/1/0 C xy kg/m2/s MEK 206/216/13/50 3 2 0 CEDS_MEK_RCO see/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_rco 2014/1-12/1/0 C xy kg/m2/s MEK 206/216/13/50 4 2 0 CEDS_MEK_SLV see/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_slv 2014/1-12/1/0 C xy kg/m2/s MEK 206/216/13/50 1 2 0 CEDS_MEK_WST see/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_wst 2014/1-12/1/0 C xy kg/m2/s MEK 206/216/13/50 9 2 #15 ALD2toALD2 0 CEDS_ALD2_AGR see/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_agr 2014/1-12/1/0 C xy kg/m2/s ALD2 206/216/15 5 2 0 CEDS_ALD2_ENE see/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_ene 2014/1-12/1/0 C xyL=1:11 kg/m2/s ALD2 206/216/15/317 2 2 0 CEDS_ALD2_IND see/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_ind 2014/1-12/1/0 C xyL=1:15 kg/m2/s ALD2 206/216/15/318 1 2 0 CEDS_ALD2_TRA see/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_tra 2014/1-12/1/0 C xy kg/m2/s ALD2 206/216/15 3 2 0 CEDS_ALD2_RCO see/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_rco 2014/1-12/1/0 C xy kg/m2/s ALD2 206/216/15 4 2 0 CEDS_ALD2_SLV see/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_slv 2014/1-12/1/0 C xy kg/m2/s ALD2 206/216/15 1 2 0 CEDS_ALD2_WST see/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_wst 2014/1-12/1/0 C xy kg/m2/s ALD2 206/216/15 9 2 0 CEDS_PRPE_AGR see/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_agr 2014/1-12/1/0 C xy kg/m2/s PRPE 206/216 5 2 0 CEDS_PRPE_ENE see/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_ene 2014/1-12/1/0 C xyL=1:11 kg/m2/s PRPE 206/216/317 2 2 0 CEDS_PRPE_IND see/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_ind 2014/1-12/1/0 C xyL=1:15 kg/m2/s PRPE 206/216/318 1 2 0 CEDS_PRPE_TRA see/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_tra 2014/1-12/1/0 C xy kg/m2/s PRPE 206/216 3 2 0 CEDS_PRPE_RCO see/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_rco 2014/1-12/1/0 C xy kg/m2/s PRPE 206/216 4 2 0 CEDS_PRPE_SLV see/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_slv 2014/1-12/1/0 C xy kg/m2/s PRPE 206/216 1 2 0 CEDS_PRPE_WST see/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_wst 2014/1-12/1/0 C xy kg/m2/s PRPE 206/216 9 2 0 CEDS_C3H8_AGR see/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_agr 2014/1-12/1/0 C xy kg/m2/s C3H8 206/216 5 2 0 CEDS_C3H8_ENE see/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_ene 2014/1-12/1/0 C xyL=1:11 kg/m2/s C3H8 206/216/317 2 2 0 CEDS_C3H8_IND see/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_ind 2014/1-12/1/0 C xyL=1:15 kg/m2/s C3H8 206/216/318 1 2 0 CEDS_C3H8_TRA see/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_tra 2014/1-12/1/0 C xy kg/m2/s C3H8 206/216 3 2 0 CEDS_C3H8_RCO see/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_rco 2014/1-12/1/0 C xy kg/m2/s C3H8 206/216 4 2 0 CEDS_C3H8_SLV see/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_slv 2014/1-12/1/0 C xy kg/m2/s C3H8 206/216 1 2 0 CEDS_C3H8_WST see/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_wst 2014/1-12/1/0 C xy kg/m2/s C3H8 206/216 9 2 0 CEDS_CH2O_AGR see/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_agr 2014/1-12/1/0 C xy kg/m2/s CH2O 206/216 5 2 0 CEDS_CH2O_ENE see/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_ene 2014/1-12/1/0 C xyL=1:11 kg/m2/s CH2O 206/216/317 2 2 0 CEDS_CH2O_IND see/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_ind 2014/1-12/1/0 C xyL=1:15 kg/m2/s CH2O 206/216/318 1 2 0 CEDS_CH2O_TRA see/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_tra 2014/1-12/1/0 C xy kg/m2/s CH2O 206/216 3 2 0 CEDS_CH2O_RCO see/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_rco 2014/1-12/1/0 C xy kg/m2/s CH2O 206/216 4 2 0 CEDS_CH2O_SLV see/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_slv 2014/1-12/1/0 C xy kg/m2/s CH2O 206/216 1 2 0 CEDS_CH2O_WST see/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_wst 2014/1-12/1/0 C xy kg/m2/s CH2O 206/216 9 2 0 CEDS_BENZ_AGR see/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_agr 2014/1-12/1/0 C xy kg/m2/s BENZ 206/216 5 2 0 CEDS_BENZ_ENE see/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_ene 2014/1-12/1/0 C xyL=1:11 kg/m2/s BENZ 206/216/317 2 2 0 CEDS_BENZ_IND see/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_ind 2014/1-12/1/0 C xyL=1:15 kg/m2/s BENZ 206/216/318 1 2 0 CEDS_BENZ_TRA see/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_tra 2014/1-12/1/0 C xy kg/m2/s BENZ 206/216 3 2 0 CEDS_BENZ_RCO see/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_rco 2014/1-12/1/0 C xy kg/m2/s BENZ 206/216 4 2 0 CEDS_BENZ_SLV see/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_slv 2014/1-12/1/0 C xy kg/m2/s BENZ 206/216 1 2 0 CEDS_BENZ_WST see/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_wst 2014/1-12/1/0 C xy kg/m2/s BENZ 206/216 9 2 0 CEDS_TOLU_AGR see/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_agr 2014/1-12/1/0 C xy kg/m2/s TOLU 206/216 5 2 0 CEDS_TOLU_ENE see/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_ene 2014/1-12/1/0 C xyL=1:11 kg/m2/s TOLU 206/216/317 2 2 0 CEDS_TOLU_IND see/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_ind 2014/1-12/1/0 C xyL=1:15 kg/m2/s TOLU 206/216/318 1 2 0 CEDS_TOLU_TRA see/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_tra 2014/1-12/1/0 C xy kg/m2/s TOLU 206/216 3 2 0 CEDS_TOLU_RCO see/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_rco 2014/1-12/1/0 C xy kg/m2/s TOLU 206/216 4 2 0 CEDS_TOLU_SLV see/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_slv 2014/1-12/1/0 C xy kg/m2/s TOLU 206/216 1 2 0 CEDS_TOLU_WST see/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_wst 2014/1-12/1/0 C xy kg/m2/s TOLU 206/216 9 2 0 CEDS_XYLE_AGR see/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_agr 2014/1-12/1/0 C xy kg/m2/s XYLE 206/216 5 2 0 CEDS_XYLE_ENE see/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_ene 2014/1-12/1/0 C xyL=1:11 kg/m2/s XYLE 206/216/317 2 2 0 CEDS_XYLE_IND see/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_ind 2014/1-12/1/0 C xyL=1:15 kg/m2/s XYLE 206/216/318 1 2 0 CEDS_XYLE_TRA see/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_tra 2014/1-12/1/0 C xy kg/m2/s XYLE 206/216 3 2 0 CEDS_XYLE_RCO see/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_rco 2014/1-12/1/0 C xy kg/m2/s XYLE 206/216 4 2 0 CEDS_XYLE_SLV see/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_slv 2014/1-12/1/0 C xy kg/m2/s XYLE 206/216 1 2 0 CEDS_XYLE_WST see/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_wst 2014/1-12/1/0 C xy kg/m2/s XYLE 206/216 9 2 0 CEDS_C2H4_AGR see/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_agr 2014/1-12/1/0 C xy kg/m2/s C2H4 206/216 5 2 0 CEDS_C2H4_ENE see/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_ene 2014/1-12/1/0 C xyL=1:11 kg/m2/s C2H4 206/216/317 2 2 0 CEDS_C2H4_IND see/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_ind 2014/1-12/1/0 C xyL=1:15 kg/m2/s C2H4 206/216/318 1 2 0 CEDS_C2H4_TRA see/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_tra 2014/1-12/1/0 C xy kg/m2/s C2H4 206/216 3 2 0 CEDS_C2H4_RCO see/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_rco 2014/1-12/1/0 C xy kg/m2/s C2H4 206/216 4 2 0 CEDS_C2H4_SLV see/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_slv 2014/1-12/1/0 C xy kg/m2/s C2H4 206/216 1 2 0 CEDS_C2H4_WST see/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_wst 2014/1-12/1/0 C xy kg/m2/s C2H4 206/216 9 2 #0 CEDS_C2H2_AGR see/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_agr 2014/1-12/1/0 C xy kg/m2/s C2H2 206/216 5 2 #0 CEDS_C2H2_ENE see/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_ene 2014/1-12/1/0 C xyL=1:11 kg/m2/s C2H2 206/216/317 2 2 #0 CEDS_C2H2_IND see/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_ind 2014/1-12/1/0 C xyL=1:15 kg/m2/s C2H2 206/216/318 1 2 #0 CEDS_C2H2_TRA see/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_tra 2014/1-12/1/0 C xy kg/m2/s C2H2 206/216 3 2 #0 CEDS_C2H2_RCO see/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_rco 2014/1-12/1/0 C xy kg/m2/s C2H2 206/216 4 2 #0 CEDS_C2H2_SLV see/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_slv 2014/1-12/1/0 C xy kg/m2/s C2H2 206/216 1 2 #0 CEDS_C2H2_WST see/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_wst 2014/1-12/1/0 C xy kg/m2/s C2H2 206/216 9 2 #16 HCOOHtoHCOOH 0 CEDS_HCOOH_AGR see/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_agr 2014/1-12/1/0 C xy kg/m2/s HCOOH 206/216/16 5 2 0 CEDS_HCOOH_ENE see/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_ene 2014/1-12/1/0 C xyL=1:11 kg/m2/s HCOOH 206/216/16/317 2 2 0 CEDS_HCOOH_IND see/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_ind 2014/1-12/1/0 C xyL=1:15 kg/m2/s HCOOH 206/216/16/318 1 2 0 CEDS_HCOOH_TRA see/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_tra 2014/1-12/1/0 C xy kg/m2/s HCOOH 206/216/16 3 2 0 CEDS_HCOOH_RCO see/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_rco 2014/1-12/1/0 C xy kg/m2/s HCOOH 206/216/16 4 2 0 CEDS_HCOOH_SLV see/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_slv 2014/1-12/1/0 C xy kg/m2/s HCOOH 206/216/16 1 2 0 CEDS_HCOOH_WST see/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_wst 2014/1-12/1/0 C xy kg/m2/s HCOOH 206/216/16 9 2 )))CEDS_VOCs (((CEDS_C2H6 0 CEDS_C2H6_AGR /see/ExtData.rc C2H6_agr 2014/1-12/1/0 C xy kg/m2/s C2H6 206/216 5 2 0 CEDS_C2H6_ENE /see/ExtData.rc C2H6_ene 2014/1-12/1/0 C xyL=1:11 kg/m2/s C2H6 206/216/317 2 2 0 CEDS_C2H6_IND /see/ExtData.rc C2H6_ind 2014/1-12/1/0 C xyL=1:15 kg/m2/s C2H6 206/216/318 1 2 0 CEDS_C2H6_TRA /see/ExtData.rc C2H6_tra 2014/1-12/1/0 C xy kg/m2/s C2H6 206/216 3 2 0 CEDS_C2H6_RCO /see/ExtData.rc C2H6_rco 2014/1-12/1/0 C xy kg/m2/s C2H6 206/216 4 2 0 CEDS_C2H6_SLV /see/ExtData.rc C2H6_slv 2014/1-12/1/0 C xy kg/m2/s C2H6 206/216 1 2 0 CEDS_C2H6_WST /see/ExtData.rc C2H6_wst 2014/1-12/1/0 C xy kg/m2/s C2H6 206/216 9 2 )))CEDS_C2H6 #======================================================================================================================================= # --- GEIA (natural NH3 only) --- #======================================================================================================================================= 0 GEIA_NH3_NATU ~/data/NH3_geos.1x1.nc NH3_NATU 1990/1-12/1/0 C xy kg/m2/s NH3 - 6 1 #======================================================================================================================================= # NH3 from sea birds #======================================================================================================================================= (((SEABIRDS 0 SEABIRD_NH3 $ROOT/NH3/v2018-04/NH3_Arctic_seabirds.nc NH3_SEABIRDS 1990/1-12/1/0 C xy kg/m2/s NH3 - 30 1 )))SEABIRDS #============================================================================== # --- POET EOH --- #============================================================================== (((POET 0 POET_EOH $ROOT/POET/v2017-03/POET_EOH.geos.2x25.nc EOH 1985/1/1/0 C xy kgC/m2/s EOH 26/47 1 1 )))POET #======================================================================================================================================= # --- NAP EMISSIONS --- #======================================================================================================================================= 0 EDGAR_NAP $ROOT/EDGARv42/v2015-02/VOCv2/EDGAR2_1985_FF_IND.1x1geos.nc BENZ 1985/1/1/0 C xy kgC/m2/s NAP 80/81/82/43 1 1 (((C2H6_ZITELY 0 C2H6_2010_anthro $ROOT/C2H6_2010/v2017-05/C2H6_global_anth_biof.2010$MM.nc ANTHR_C2H6 2010/1-12/1/0 C xy kgC/m2/s C2H6 206/216/45 1/2/3 100 0 C2H6_2010_biofuel $ROOT/C2H6_2010/v2017-05/C2H6_global_anth_biof.2010$MM.nc BIOFUEL_C2H6 2010/1-12/1/0 C xy kgC/m2/s C2H6 206/216/45 4 100 )))C2H6_ZITELY #======================================================================================================================================= # --- Bromocarbon emissions --- #======================================================================================================================================= 0 LIANG_CHBr3 Bromocarb_Liang2010.nc CHBr3_emission 2000/1/1/0 C xy kg/m2/s CHBr3 39 1 1 0 LIANG_CH2Br2 Bromocarb_Liang2010.nc CH2Br2_emission 2000/1/1/0 C xy kg/m2/s CH2Br2 - 1 1 #============================================================================== # --- Very-short-lived (VSL) iodocarbon emissions (cf. Carlos Ordonez) --- #============================================================================== (((ORDONEZ_IODOCARB 0 ORDONEZ_CH3I Emissions/CH3I_monthly_emissions_Ordonez_2012_COARDS.nc CH3I 2000/1-12/1/0 C xy kg/m2/s CH3I - 1 1 0 ORDONEZ_CH2I2 Emissions/CH2I2_monthly_emissions_Ordonez_2012_COARDS.nc CH2I2 2000/1-12/1/0 C xy kg/m2/s CH2I2 - 1 1 0 ORDONEZ_CH2ICL Emissions/CH2ICl_monthly_emissions_Ordonez_2012_COARDS.nc CH2ICl 2000/1-12/1/0 C xy kg/m2/s CH2ICl - 1 1 0 ORDONEZ_CH2IBR Emissions/CH2IBr_monthly_emissions_Ordonez_2012_COARDS.nc CH2IBr 2000/1-12/1/0 C xy kg/m2/s CH2IBr - 1 1 )))ORDONEZ_IODOCARB #======================================================================================================================================= # --- CH4 emissions --- #======================================================================================================================================= ### Gas and oil ### (((CH4_EMISSIONS 0 CH4_GAS__1B2a $ROOT/CH4/v2014-09/v42_CH4.0.1x0.1.nc ch4_1B2a 2004-2008/1/1/0 C xy kg/m2/s CH4 - 1 1 0 CH4_GAS__1B2b $ROOT/CH4/v2014-09/v42_CH4.0.1x0.1.nc ch4_1B2b 2004-2008/1/1/0 C xy kg/m2/s CH4 - 1 1 ### Coal mines ### 0 CH4_COAL__1B1 $ROOT/CH4/v2014-09/v42_CH4.0.1x0.1.nc ch4_1B1 2004-2008/1/1/0 C xy kg/m2/s CH4 - 2 1 ### Livestock ### 0 CH4_LIVESTOCK__4A $ROOT/CH4/v2014-09/v42_CH4.0.1x0.1.nc ch4_4A 2004-2008/1/1/0 C xy kg/m2/s CH4 - 3 1 0 CH4_LIVESTOCK__4B $ROOT/CH4/v2014-09/v42_CH4.0.1x0.1.nc ch4_4B 2004-2008/1/1/0 C xy kg/m2/s CH4 - 3 1 ### Waste ### 0 CH4_WASTE__6A_6C $ROOT/CH4/v2014-09/v42_CH4.0.1x0.1.nc ch4_6A_6C 2004-2008/1/1/0 C xy kg/m2/s CH4 - 4 1 0 CH4_WASTE__6B $ROOT/CH4/v2014-09/v42_CH4.0.1x0.1.nc ch4_6B 2004-2008/1/1/0 C xy kg/m2/s CH4 - 4 1 ### Residential biofuel ### 0 CH4_BIOFUEL__1A4 $ROOT/CH4/v2014-09/v42_CH4.0.1x0.1.nc ch4_1A4 2004-2008/1/1/0 C xy kg/m2/s CH4 - 5 1 ### Other sectors ### 0 CH4_OTHER__1A1_1A2 $ROOT/CH4/v2014-09/v42_CH4.0.1x0.1.nc ch4_1A1_1A2 2004-2008/1/1/0 C xy kg/m2/s CH4 - 6 1 0 CH4_OTHER__1A3a_c_d_e $ROOT/CH4/v2014-09/v42_CH4.0.1x0.1.nc ch4_1A3a_c_d_e 2004-2008/1/1/0 C xy kg/m2/s CH4 - 6 1 0 CH4_OTHER__1A3b $ROOT/CH4/v2014-09/v42_CH4.0.1x0.1.nc ch4_1A3b 2004-2008/1/1/0 C xy kg/m2/s CH4 - 6 1 0 CH4_OTHER__2 $ROOT/CH4/v2014-09/v42_CH4.0.1x0.1.nc ch4_2 2004-2008/1/1/0 C xy kg/m2/s CH4 - 6 1 0 CH4_OTHER__7A $ROOT/CH4/v2014-09/v42_CH4.0.1x0.1.nc ch4_7A 2004-2008/1/1/0 C xy kg/m2/s CH4 - 6 1 0 CH4_SOILABSORBTION $ROOT/CH4/v2014-09/$RES/soilabs.geos.$RES.nc CH4 1985/1/1/0 C xy kg/m2/s CH4 1 7 1 0 CH4_TERMITES $ROOT/CH4/v2014-09/$RES/termites.geos.$RES.nc CH4 1985/1/1/0 C xy kg/m2/s CH4 - 8 1 ### Wetlands ### 0 CH4_WETL /see/ExtData.rc VAR 1985-2015/1-12/1/0 C xy kg/m2/s CH4 - 9 1 )))CH4_EMISSIONS #======================================================================================================================================= ## --- Ship emissions --- #======================================================================================================================================= (((CEDS_SHIP 0 CEDS_CO_SHP /see/CO_ExtData.rc CO_shp 2014/1-12/1/0 C xyL=1:3 kg/m2/s CO 319 10 5 0 CEDS_SOAP_SHP - - - - - - SOAP 280/319 10 5 0 CEDS_SO2_SHP /see/SO2_ExtData.rc SO2_shp 2014/1-12/1/0 C xyL=1:3 kg/m2/s SO2 319 10 5 0 CEDS_SO4_SHP - - - - - - SO4 63/319 10 5 0 CEDS_pFe_SHP - - - - - - pFe 66/319 10 5 0 CEDS_NH3_SHP /see/NH3_ExtData.rc NH3_shp 2014/1-12/1/0 C xyL=1:3 kg/m2/s NH3 319 10 5 0 CEDS_BCPI_SHP /see/BC_ExtData.rc BC_shp 2014/1-12/1/0 C xyL=1:3 kg/m2/s BCPI 70/319 10 5 0 CEDS_BCPO_SHP - - - - - - BCPO 71/319 10 5 0 CEDS_OCPI_SHP /see/OC_ExtData.rc OC_shp 2014/1-12/1/0 C xyL=1:3 kg/m2/s OCPI 72/319 10 5 0 CEDS_OCPO_SHP - - - - - - OCPO 73/319 10 5 # Comment out CO2 for fullchem simulations: CO2 not advected #0 CEDS_CO2_SHP /see/CO2_ExtData.rc CO2_shp 2014/1-12/1/0 C xyL=1:3 kg/m2/s CO2 319 10 5 # Comment out CH4 for fullchem simulations: do not use CH4 emissions # CEDS CH4 emissions are only available for 1970-2014 #0 CEDS_CH4_SHP /see/CH4_ExtData.rc CH4_shp 1970-2014/1-12/1/0 C xyL=1:3 kg/m2/s CH4 319 10 5 # NOTE: EOH files in CEDS/v2018-08 are actually VOC1 (total alchohols) and are split into MOH, EOH, ROH here 0 CEDS_MOH_SHP /see/EOH_ExtData.rc EOH_shp 2014/1-12/1/0 C xyL=1:3 kg/m2/s MOH 92/8/319 10 5 0 CEDS_EOH_SHP - - - - - - EOH 93/9/319 10 5 0 CEDS_ROH_SHP - - - - - - ROH 94/24/319 10 5 0 CEDS_C2H6_SHP /see/C2H6_ExtData.rc C2H6_shp 2014/1-12/1/0 C xyL=1:3 kg/m2/s C2H6 319 10 5 0 CEDS_C3H8_SHP /see/C3H8_ExtData.rc C3H8_shp 2014/1-12/1/0 C xyL=1:3 kg/m2/s C3H8 319 10 5 0 CEDS_C4H10_SHP /see/ALK4_butanes_ExtData.rc ALK4_butanes_shp 2014/1-12/1/0 C xyL=1:3 kg/m2/s ALK4 10/319 10 5 0 CEDS_C5H12_SHP /see/ALK4_pentanes_ExtData.rc ALK4_pentanes_shp 2014/1-12/1/0 C xyL=1:3 kg/m2/s ALK4 11/319 10 5 0 CEDS_C6H14_SHP /see/ALK4_hexanes_ExtData.rc ALK4_hexanes_shp 2014/1-12/1/0 C xyL=1:3 kg/m2/s ALK4 12/319 10 5 0 CEDS_C2H4_SHP /see/C2H4_ExtData.rc C2H4_shp 2014/1-12/1/0 C xyL=1:3 kg/m2/s C2H4 319 10 5 0 CEDS_PRPE_SHP /see/PRPE_ExtData.rc PRPE_shp 2014/1-12/1/0 C xyL=1:3 kg/m2/s PRPE 319 10 5 0 CEDS_C2H2_SHP /see/C2H2_ExtData.rc C2H2_shp 2014/1-12/1/0 C xyL=1:3 kg/m2/s C2H2 319 10 5 0 CEDS_BENZ_SHP /see/BENZ_ExtData.rc BENZ_shp 2014/1-12/1/0 C xyL=1:3 kg/m2/s BENZ 319 10 5 0 CEDS_TOLU_SHP /see/TOLU_ExtData.rc TOLU_shp 2014/1-12/1/0 C xyL=1:3 kg/m2/s TOLU 319 10 5 0 CEDS_XYLE_SHP /see/XYLE_ExtData.rc XYLE_shp 2014/1-12/1/0 C xyL=1:3 kg/m2/s XYLE 319 10 5 0 CEDS_CH2O_SHP /see/CH2O_ExtData.rc CH2O_shp 2014/1-12/1/0 C xyL=1:3 kg/m2/s CH2O 319 10 5 0 CEDS_ALD2_SHP /see/ALD2_ExtData.rc ALD2_shp 2014/1-12/1/0 C xyL=1:3 kg/m2/s ALD2 15/319 10 5 0 CEDS_MEK_SHP /see/MEK_ExtData.rc MEK_shp 2014/1-12/1/0 C xyL=1:3 kg/m2/s MEK 13/50/319 10 5 0 CEDS_ACET_SHP /see/MEK_ExtData.rc MEK_shp 2014/1-12/1/0 C xyL=1:3 kg/m2/s ACET 14/51/319 10 5 0 CEDS_HCOOH_SHP /see/HCOOH_ExtData.rc HCOOH_shp 2014/1-12/1/0 C xyL=1:3 kg/m2/s HCOOH 16/319 10 5 #97 NOx ems as NO scale factor #98 NOx ems as NO2 scale factor and #115 for mass conversion 0 CEDS_NO_SHP /see/NO_ExtData.rc NO_shp 2014/1-12/1/0 C xyL=1:3 kg/m2/s NO 97/319 10 5 0 CEDS_NO2_SHP /see/NO_ExtData.rc NO_shp 2014/1-12/1/0 C xyL=1:3 kg/m2/s NO2 98/115/319 10 5 )))CEDS_SHIP #======================================================================================================================================= ## --- AEIC aircraft emissions --- #======================================================================================================================================= (((AEIC 0 AEIC_NO ~/data/aeic_2005.geos.1x1.72L.nc NO 2005/1-12/1/0 C xyz kg/m2/s NO 110 20 1 0 AEIC_CO ~/data/aeic_2005.geos.1x1.72L.nc CO 2005/1-12/1/0 C xyz kg/m2/s CO 110 20 1 0 AEIC_SOAP - - - - - - SOAP 110/280 20 1 0 AEIC_SO2 ~/data/aeic_2005.geos.1x1.72L.nc FUELBURN 2005/1-12/1/0 C xyz kg/m2/s SO2 111 20 1 0 AEIC_SO4 - - - - - - SO4 112 20 1 0 AEIC_BCPI - - - - - - BCPI 113 20 1 0 AEIC_OCPI - - - - - - OCPI 113 20 1 0 AEIC_ACET ~/data/aeic_2005.geos.1x1.72L.nc HC 2005/1-12/1/0 C xyz kg/m2/s ACET 114/101/40 20 1 0 AEIC_ALD2 - - - - - - ALD2 114/102/41 20 1 0 AEIC_ALK4 - - - - - - ALK4 114/103/42 20 1 0 AEIC_C2H6 - - - - - - C2H6 114/104/45 20 1 0 AEIC_C3H8 - - - - - - C3H8 114/105/46 20 1 0 AEIC_CH2O - - - - - - CH2O 114/106 20 1 0 AEIC_PRPE - - - - - - PRPE 114/107/49 20 1 0 AEIC_MACR - - - - - - MACR 114/108/83 20 1 0 AEIC_RCHO - - - - - - RCHO 114/109/69 20 1 )))AEIC (((AEIC2019_MONMEAN 0 AEIC19_MONMEAN_NO $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc NO 2019/1-12/1/0 C xyz kg/m2/s NO 241/240 20 1 0 AEIC19_MONMEAN_NO2 $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc NO2 2019/1-12/1/0 C xyz kg/m2/s NO2 241/240 20 1 0 AEIC19_MONMEAN_HONO $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc HONO 2019/1-12/1/0 C xyz kg/m2/s HNO2 241/240 20 1 0 AEIC19_MONMEAN_CO $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc CO 2019/1-12/1/0 C xyz kg/m2/s CO 241 20 1 0 AEIC19_MONMEAN_SOAP - - - - - - SOAP 241/280 20 1 0 AEIC19_MONMEAN_SO2 $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc FUELBURN 2019/1-12/1/0 C xyz kg/m2/s SO2 241/111 20 1 0 AEIC19_MONMEAN_pFe - - - - - - pFe 241/111/66 20 1 0 AEIC19_MONMEAN_SO4 - - - - - - SO4 241/112 20 1 0 AEIC19_MONMEAN_H2O - - - - - - H2O 241/120 20 1 0 AEIC19_MONMEAN_BCPI $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc BC 2019/1-12/1/0 C xyz kg/m2/s BCPI 241 20 1 0 AEIC19_MONMEAN_OCPI $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc OC 2019/1-12/1/0 C xyz kg/m2/s OCPI 241 20 1 0 AEIC19_MONMEAN_POG1 - - - - - - POG1 241/74/76 20 1 0 AEIC19_MONMEAN_POG2 - - - - - - POG2 241/74/77 20 1 0 AEIC19_MONMEAN_ACET $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc HC 2019/1-12/1/0 C xyz kg/m2/s ACET 241/114/101 20 1 0 AEIC19_MONMEAN_ALD2 - - - - - - ALD2 241/114/102 20 1 0 AEIC19_MONMEAN_ALK4 - - - - - - ALK4 241/114/103 20 1 0 AEIC19_MONMEAN_C2H6 - - - - - - C2H6 241/114/104 20 1 0 AEIC19_MONMEAN_C3H8 - - - - - - C3H8 241/114/105 20 1 0 AEIC19_MONMEAN_CH2O - - - - - - CH2O 241/114/106 20 1 0 AEIC19_MONMEAN_PRPE - - - - - - PRPE 241/114/107 20 1 0 AEIC19_MONMEAN_MACR - - - - - - MACR 241/114/108 20 1 0 AEIC19_MONMEAN_RCHO - - - - - - RCHO 241/114/109 20 1 )))AEIC2019_MONMEAN #============================================================================== # --- Emissions from decaying plants --- #============================================================================== (((DECAYING_PLANTS 0 ALD2_PLANTDECAY $ROOT/ALD2/v2017-03/resp.geos.2x25.nc HET_RESP 1985/1-12/1/0 C xy kgC/m2/s ALD2 85/41 99 1 0 EOH_PLANTDECAY - - - - - - EOH 86/47 99 1 )))DECAYING_PLANTS #============================================================================== # AFCID emissions turned off; put entry here if turning on #============================================================================== (((AFCID 0 PM25FINE_1 $ROOT/AFCID/v2018-04/PM25FINE_ECLIPSE_2015.geos.2x25.nc PM25FINE 2015/1-12/1/0 C xy kg/m2/s DST1 - 1 1 )))AFCID #======================================================================================================================================= # --- QFED biomass burning --- #======================================================================================================================================= (((QFED # ACET 0 QFED_ACET_TF_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_acet.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s ACET 75/311/501 8 1 0 QFED_ACET_TP_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_acet.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s ACET 75/311/314/502 8 1 0 QFED_ACET_BO_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_acet.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s ACET 75/311/315/503 8 1 0 QFED_ACET_SV_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_acet.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s ACET 75/311/504 8 1 0 QFED_ACET_GL_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_acet.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s ACET 75/311/504 8 1 0 QFED_ACET_TF_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_acet.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s ACET 75/312/501 8 1 0 QFED_ACET_TP_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_acet.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s ACET 75/312/314/502 8 1 0 QFED_ACET_BO_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_acet.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s ACET 75/312/315/503 8 1 0 QFED_ACET_SV_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_acet.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s ACET 75/312/504 8 1 0 QFED_ACET_GL_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_acet.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s ACET 75/312/504 8 1 # ALD2 0 QFED_ALD2_TF_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_ald2.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s ALD2 75/311/505 8 1 0 QFED_ALD2_TP_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_ald2.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s ALD2 75/311/314/506 8 1 0 QFED_ALD2_BO_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_ald2.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s ALD2 75/311/315/507 8 1 0 QFED_ALD2_SV_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_ald2.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s ALD2 75/311/508 8 1 0 QFED_ALD2_GL_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_ald2.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s ALD2 75/311/508 8 1 0 QFED_ALD2_TF_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_ald2.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s ALD2 75/312/505 8 1 0 QFED_ALD2_TP_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_ald2.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s ALD2 75/312/314/506 8 1 0 QFED_ALD2_BO_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_ald2.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s ALD2 75/312/315/507 8 1 0 QFED_ALD2_SV_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_ald2.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s ALD2 75/312/508 8 1 0 QFED_ALD2_GL_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_ald2.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s ALD2 75/312/508 8 1 # ALK4 0 QFED_ALK4_TF_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_alk4.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s ALK4 75/311/509 8 1 0 QFED_ALK4_TP_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_alk4.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s ALK4 75/311/314/510 8 1 0 QFED_ALK4_BO_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_alk4.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s ALK4 75/311/315/511 8 1 0 QFED_ALK4_SV_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_alk4.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s ALK4 75/311/512 8 1 0 QFED_ALK4_GL_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_alk4.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s ALK4 75/311/512 8 1 0 QFED_ALK4_TF_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_alk4.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s ALK4 75/312/509 8 1 0 QFED_ALK4_TP_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_alk4.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s ALK4 75/312/314/510 8 1 0 QFED_ALK4_BO_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_alk4.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s ALK4 75/312/315/511 8 1 0 QFED_ALK4_SV_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_alk4.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s ALK4 75/312/512 8 1 0 QFED_ALK4_GL_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_alk4.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s ALK4 75/312/512 8 1 # BCPI/BCPO 0 QFED_BCPI_TF_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_bc.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s BCPI 70/75/311/513 8 1 0 QFED_BCPO_TF_SFC - - - - - - BCPO 71/75/311/513 8 1 0 QFED_BCPI_TP_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_bc.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s BCPI 70/75/311/314/514 8 1 0 QFED_BCPO_TP_SFC - - - - - - BCPO 71/75/311/314/514 8 1 0 QFED_BCPI_BO_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_bc.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s BCPI 70/75/311/315/515 8 1 0 QFED_BCPO_BO_SFC - - - - - - BCPO 71/75/311/315/515 8 1 0 QFED_BCPI_SV_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_bc.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s BCPI 70/75/311/516 8 1 0 QFED_BCPO_SV_SFC - - - - - - BCPO 71/75/311/516 8 1 0 QFED_BCPI_GL_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_bc.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s BCPI 70/75/311/516 8 1 0 QFED_BCPO_GL_SFC - - - - - - BCPO 71/75/311/516 8 1 0 QFED_BCPI_TF_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_bc.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s BCPI 70/75/312/513 8 1 0 QFED_BCPO_TF_FT - - - - - - BCPO 71/75/312/513 8 1 0 QFED_BCPI_TP_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_bc.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s BCPI 70/75/312/314/514 8 1 0 QFED_BCPO_TP_FT - - - - - - BCPO 71/75/312/314/514 8 1 0 QFED_BCPI_BO_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_bc.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s BCPI 70/75/312/315/515 8 1 0 QFED_BCPO_BO_FT - - - - - - BCPO 71/75/312/315/515 8 1 0 QFED_BCPI_SV_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_bc.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s BCPI 70/75/312/516 8 1 0 QFED_BCPO_SV_FT - - - - - - BCPO 71/75/312/516 8 1 0 QFED_BCPI_GL_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_bc.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s BCPI 70/75/312/516 8 1 0 QFED_BCPO_GL_FT - - - - - - BCPO 71/75/312/516 8 1 # OCPI/OCPO 0 QFED_OCPI_TF_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_oc.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s OCPI 72/75/311/313/517 8 1 0 QFED_OCPO_TF_SFC - - - - - - OCPO 73/75/311/313/517 8 1 0 QFED_OCPI_TP_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_oc.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s OCPI 72/75/311/313/314/518 8 1 0 QFED_OCPO_TP_SFC - - - - - - OCPO 73/75/311/313/314/518 8 1 0 QFED_OCPI_BO_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_oc.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s OCPI 72/75/311/313/315/519 8 1 0 QFED_OCPO_BO_SFC - - - - - - OCPO 73/75/311/313/315/519 8 1 0 QFED_OCPI_SV_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_oc.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s OCPI 72/75/311/313/520 8 1 0 QFED_OCPO_SV_SFC - - - - - - OCPO 73/75/311/313/520 8 1 0 QFED_OCPI_GL_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_oc.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s OCPI 72/75/311/313/520 8 1 0 QFED_OCPO_GL_SFC - - - - - - OCPO 73/75/311/313/520 8 1 0 QFED_OCPI_TF_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_oc.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s OCPI 72/75/312/313/517 8 1 0 QFED_OCPO_TF_FT - - - - - - OCPO 73/75/312/313/517 8 1 0 QFED_OCPI_TP_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_oc.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s OCPI 72/75/312/313/314/518 8 1 0 QFED_OCPO_TP_FT - - - - - - OCPO 73/75/312/313/314/518 8 1 0 QFED_OCPI_BO_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_oc.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s OCPI 72/75/312/313/315/519 8 1 0 QFED_OCPO_BO_FT - - - - - - OCPO 73/75/312/313/315/519 8 1 0 QFED_OCPI_SV_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_oc.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s OCPI 72/75/312/313/520 8 1 0 QFED_OCPO_SV_FT - - - - - - OCPO 73/75/312/313/520 8 1 0 QFED_OCPI_GL_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_oc.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s OCPI 72/75/312/313/520 8 1 0 QFED_OCPO_GL_FT - - - - - - OCPO 73/75/312/313/520 8 1 # C2H6 0 QFED_C2H6_TF_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_c2h6.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s C2H6 75/311/521 8 1 0 QFED_C2H6_TP_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_c2h6.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s C2H6 75/311/314/522 8 1 0 QFED_C2H6_BO_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_c2h6.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s C2H6 75/311/315/523 8 1 0 QFED_C2H6_SV_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_c2h6.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s C2H6 75/311/524 8 1 0 QFED_C2H6_GL_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_c2h6.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s C2H6 75/311/524 8 1 0 QFED_C2H6_TF_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_c2h6.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s C2H6 75/312/521 8 1 0 QFED_C2H6_TP_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_c2h6.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s C2H6 75/312/314/522 8 1 0 QFED_C2H6_BO_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_c2h6.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s C2H6 75/312/315/523 8 1 0 QFED_C2H6_SV_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_c2h6.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s C2H6 75/312/524 8 1 0 QFED_C2H6_GL_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_c2h6.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s C2H6 75/312/524 8 1 # C3H8 0 QFED_C3H8_TF_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_c3h8.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s C3H8 75/311/525 8 1 0 QFED_C3H8_TP_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_c3h8.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s C3H8 75/311/314/526 8 1 0 QFED_C3H8_BO_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_c3h8.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s C3H8 75/311/315/527 8 1 0 QFED_C3H8_SV_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_c3h8.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s C3H8 75/311/528 8 1 0 QFED_C3H8_GL_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_c3h8.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s C3H8 75/311/528 8 1 0 QFED_C3H8_TF_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_c3h8.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s C3H8 75/312/525 8 1 0 QFED_C3H8_TP_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_c3h8.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s C3H8 75/312/314/526 8 1 0 QFED_C3H8_BO_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_c3h8.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s C3H8 75/312/315/527 8 1 0 QFED_C3H8_SV_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_c3h8.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s C3H8 75/312/528 8 1 0 QFED_C3H8_GL_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_c3h8.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s C3H8 75/312/528 8 1 # CH2O 0 QFED_CH2O_TF_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_ch2o.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s CH2O 75/311/529 8 1 0 QFED_CH2O_TP_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_ch2o.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s CH2O 75/311/314/530 8 1 0 QFED_CH2O_BO_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_ch2o.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s CH2O 75/311/315/531 8 1 0 QFED_CH2O_SV_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_ch2o.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s CH2O 75/311/532 8 1 0 QFED_CH2O_GL_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_ch2o.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s CH2O 75/311/532 8 1 0 QFED_CH2O_TF_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_ch2o.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s CH2O 75/312/529 8 1 0 QFED_CH2O_TP_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_ch2o.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s CH2O 75/312/314/530 8 1 0 QFED_CH2O_BO_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_ch2o.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s CH2O 75/312/315/531 8 1 0 QFED_CH2O_SV_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_ch2o.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s CH2O 75/312/532 8 1 0 QFED_CH2O_GL_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_ch2o.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s CH2O 75/312/532 8 1 # CO/SOAP/PRPE/MTPA/BENZ/TOLU/XYLE/EOH/MOH 0 QFED_CO_TF_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_co.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s CO 54/75/311/533 8 1 0 QFED_SOAP_TF_SFC - - - - - - SOAP 54/75/281/311/533 8 1 0 QFED_MTPA_TF_SFC - - - - - - MTPA 54/75/564/311/533 8 1 0 QFED_BENZ_TF_SFC - - - - - - BENZ 54/75/568/311/533 8 1 0 QFED_TOLU_TF_SFC - - - - - - TOLU 54/75/572/311/533 8 1 0 QFED_XYLE_TF_SFC - - - - - - XYLE 54/75/576/311/533 8 1 0 QFED_EOH_TF_SFC - - - - - - EOH 54/75/580/311/533 8 1 0 QFED_MOH_TF_SFC - - - - - - MOH 54/75/584/311/533 8 1 0 QFED_CO_TP_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_co.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s CO 54/75/311/314/534 8 1 0 QFED_SOAP_TP_SFC - - - - - - SOAP 54/75/281/311/314/534 8 1 0 QFED_MTPA_TP_SFC - - - - - - MTPA 54/75/565/311/314/534 8 1 0 QFED_BENZ_TP_SFC - - - - - - BENZ 54/75/569/311/314/534 8 1 0 QFED_TOLU_TP_SFC - - - - - - TOLU 54/75/573/311/314/534 8 1 0 QFED_XYLE_TP_SFC - - - - - - XYLE 54/75/577/311/314/534 8 1 0 QFED_EOH_TP_SFC - - - - - - EOH 54/75/581/311/314/534 8 1 0 QFED_MOH_TP_SFC - - - - - - MOH 54/75/585/311/314/534 8 1 0 QFED_CO_BO_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_co.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s CO 54/75/311/315/535 8 1 0 QFED_SOAP_BO_SFC - - - - - - SOAP 54/75/281/311/315/535 8 1 0 QFED_MTPA_BO_SFC - - - - - - MTPA 54/75/566/311/315/535 8 1 0 QFED_BENZ_BO_SFC - - - - - - BENZ 54/75/570/311/315/535 8 1 0 QFED_TOLU_BO_SFC - - - - - - TOLU 54/75/574/311/315/535 8 1 0 QFED_XYLE_BO_SFC - - - - - - XYLE 54/75/578/311/315/535 8 1 0 QFED_EOH_BO_SFC - - - - - - EOH 54/75/582/311/315/535 8 1 0 QFED_MOH_BO_SFC - - - - - - MOH 54/75/586/311/315/535 8 1 0 QFED_CO_SV_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_co.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s CO 54/75/311/536 8 1 0 QFED_SOAP_SV_SFC - - - - - - SOAP 54/75/281/311/536 8 1 0 QFED_MTPA_SV_SFC - - - - - - MTPA 54/75/567/311/536 8 1 0 QFED_BENZ_SV_SFC - - - - - - BENZ 54/75/571/311/536 8 1 0 QFED_TOLU_SV_SFC - - - - - - TOLU 54/75/575/311/536 8 1 0 QFED_XYLE_SV_SFC - - - - - - XYLE 54/75/579/311/536 8 1 0 QFED_EOH_SV_SFC - - - - - - EOH 54/75/583/311/536 8 1 0 QFED_MOH_SV_SFC - - - - - - MOH 54/75/587/311/536 8 1 0 QFED_CO_GL_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_co.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s CO 54/75/311/536 8 1 0 QFED_SOAP_GL_SFC - - - - - - SOAP 54/75/281/311/536 8 1 0 QFED_MTPA_GL_SFC - - - - - - MTPA 54/75/567/311/536 8 1 0 QFED_BENZ_GL_SFC - - - - - - BENZ 54/75/571/311/536 8 1 0 QFED_TOLU_GL_SFC - - - - - - TOLU 54/75/575/311/536 8 1 0 QFED_XYLE_GL_SFC - - - - - - XYLE 54/75/579/311/536 8 1 0 QFED_EOH_GL_SFC - - - - - - EOH 54/75/583/311/536 8 1 0 QFED_MOH_GL_SFC - - - - - - MOH 54/75/587/311/536 8 1 0 QFED_CO_TF_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_co.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s CO 54/75/312/533 8 1 0 QFED_SOAP_TF_FT - - - - - - SOAP 54/75/281/312/533 8 1 0 QFED_MTPA_TF_FT - - - - - - MTPA 54/75/564/312/533 8 1 0 QFED_BENZ_TF_FT - - - - - - BENZ 54/75/568/312/533 8 1 0 QFED_TOLU_TF_FT - - - - - - TOLU 54/75/572/312/533 8 1 0 QFED_XYLE_TF_FT - - - - - - XYLE 54/75/576/312/533 8 1 0 QFED_EOH_TF_FT - - - - - - EOH 54/75/580/312/533 8 1 0 QFED_MOH_TF_FT - - - - - - MOH 54/75/584/312/533 8 1 0 QFED_CO_TP_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_co.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s CO 54/75/312/314/534 8 1 0 QFED_SOAP_TP_FT - - - - - - SOAP 54/75/281/312/314/534 8 1 0 QFED_MTPA_TP_FT - - - - - - MTPA 54/75/565/312/314/534 8 1 0 QFED_BENZ_TP_FT - - - - - - BENZ 54/75/569/312/314/534 8 1 0 QFED_TOLU_TP_FT - - - - - - TOLU 54/75/573/312/314/534 8 1 0 QFED_XYLE_TP_FT - - - - - - XYLE 54/75/577/312/314/534 8 1 0 QFED_EOH_TP_FT - - - - - - EOH 54/75/581/312/314/534 8 1 0 QFED_MOH_TP_FT - - - - - - MOH 54/75/585/312/314/534 8 1 0 QFED_CO_BO_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_co.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s CO 54/75/312/315/535 8 1 0 QFED_SOAP_BO_FT - - - - - - SOAP 54/75/281/312/315/535 8 1 0 QFED_MTPA_BO_FT - - - - - - MTPA 54/75/566/312/315/535 8 1 0 QFED_BENZ_BO_FT - - - - - - BENZ 54/75/570/312/315/535 8 1 0 QFED_TOLU_BO_FT - - - - - - TOLU 54/75/574/312/315/535 8 1 0 QFED_XYLE_BO_FT - - - - - - XYLE 54/75/578/312/315/535 8 1 0 QFED_EOH_BO_FT - - - - - - EOH 54/75/582/312/315/535 8 1 0 QFED_MOH_BO_FT - - - - - - MOH 54/75/586/312/315/535 8 1 0 QFED_CO_SV_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_co.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s CO 54/75/312/536 8 1 0 QFED_SOAP_SV_FT - - - - - - SOAP 54/75/281/312/536 8 1 0 QFED_MTPA_SV_FT - - - - - - MTPA 54/75/567/312/536 8 1 0 QFED_BENZ_SV_FT - - - - - - BENZ 54/75/571/312/536 8 1 0 QFED_TOLU_SV_FT - - - - - - TOLU 54/75/575/312/536 8 1 0 QFED_XYLE_SV_FT - - - - - - XYLE 54/75/579/312/536 8 1 0 QFED_EOH_SV_FT - - - - - - EOH 54/75/583/312/536 8 1 0 QFED_MOH_SV_FT - - - - - - MOH 54/75/587/312/536 8 1 0 QFED_CO_GL_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_co.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s CO 54/75/312/536 8 1 0 QFED_SOAP_GL_FT - - - - - - SOAP 54/75/281/312/536 8 1 0 QFED_MTPA_GL_FT - - - - - - MTPA 54/75/567/312/536 8 1 0 QFED_BENZ_GL_FT - - - - - - BENZ 54/75/571/312/536 8 1 0 QFED_TOLU_GL_FT - - - - - - TOLU 54/75/575/312/536 8 1 0 QFED_XYLE_GL_FT - - - - - - XYLE 54/75/579/312/536 8 1 0 QFED_EOH_GL_FT - - - - - - EOH 54/75/583/312/536 8 1 0 QFED_MOH_GL_FT - - - - - - MOH 54/75/587/312/536 8 1 # MEK 0 QFED_MEK_TF_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_mek.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s MEK 75/311/537 8 1 0 QFED_MEK_TP_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_mek.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s MEK 75/311/314/538 8 1 0 QFED_MEK_BO_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_mek.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s MEK 75/311/315/539 8 1 0 QFED_MEK_GL_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_mek.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s MEK 75/311/540 8 1 0 QFED_MEK_SV_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_mek.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s MEK 75/311/540 8 1 0 QFED_MEK_TF_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_mek.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s MEK 75/312/537 8 1 0 QFED_MEK_TP_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_mek.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s MEK 75/312/314/538 8 1 0 QFED_MEK_BO_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_mek.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s MEK 75/312/315/539 8 1 0 QFED_MEK_GL_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_mek.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s MEK 75/312/540 8 1 0 QFED_MEK_SV_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_mek.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s MEK 75/312/540 8 1 # NH3 0 QFED_NH3_TF_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_nh3.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s NH3 75/311/541 8 1 0 QFED_NH3_TP_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_nh3.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s NH3 75/311/314/542 8 1 0 QFED_NH3_BO_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_nh3.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s NH3 75/311/315/543 8 1 0 QFED_NH3_GL_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_nh3.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s NH3 75/311/544 8 1 0 QFED_NH3_SV_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_nh3.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s NH3 75/311/544 8 1 0 QFED_NH3_TF_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_nh3.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s NH3 75/312/541 8 1 0 QFED_NH3_TP_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_nh3.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s NH3 75/312/314/542 8 1 0 QFED_NH3_BO_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_nh3.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s NH3 75/312/315/543 8 1 0 QFED_NH3_GL_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_nh3.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s NH3 75/312/544 8 1 0 QFED_NH3_SV_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_nh3.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s NH3 75/312/544 8 1 # NO/PAN/HNO3 0 QFED_NO_TF_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_no.006.$YYYY$MM$DD.nc4 biomass_tf 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s NO 75/311/545/592 8 1 0 QFED_PAN_TF_SFC - - - - - - PAN 75/311/545/593 8 1 0 QFED_HNO3_TF_SFC - - - - - - HNO3 75/311/545/594 8 1 0 QFED_NO_TP_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_no.006.$YYYY$MM$DD.nc4 biomass_xf 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s NO 75/311/314/546/592 8 1 0 QFED_PAN_TP_SFC - - - - - - PAN 75/311/314/546/593 8 1 0 QFED_HNO3_TP_SFC - - - - - - HNO3 75/311/314/546/594 8 1 0 QFED_NO_BO_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_no.006.$YYYY$MM$DD.nc4 biomass_xf 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s NO 75/311/315/547/592 8 1 0 QFED_PAN_BO_SFC - - - - - - PAN 75/311/315/547/593 8 1 0 QFED_HNO3_BO_SFC - - - - - - HNO3 75/311/315/547/594 8 1 0 QFED_NO_SV_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_no.006.$YYYY$MM$DD.nc4 biomass_sv 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s NO 75/311/548/592 8 1 0 QFED_PAN_SV_SFC - - - - - - PAN 75/311/548/593 8 1 0 QFED_HNO3_SV_SFC - - - - - - HNO3 75/311/548/594 8 1 0 QFED_NO_GL_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_no.006.$YYYY$MM$DD.nc4 biomass_gl 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s NO 75/311/548/592 8 1 0 QFED_PAN_GL_SFC - - - - - - PAN 75/311/548/593 8 1 0 QFED_HNO3_GL_SFC - - - - - - HNO3 75/311/548/594 8 1 0 QFED_NO_TF_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_no.006.$YYYY$MM$DD.nc4 biomass_tf 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s NO 75/312/545/592 8 1 0 QFED_PAN_TF_FT - - - - - - PAN 75/312/545/593 8 1 0 QFED_HNO3_TF_FT - - - - - - HNO3 75/312/545/594 8 1 0 QFED_NO_TP_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_no.006.$YYYY$MM$DD.nc4 biomass_xf 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s NO 75/312/314/546/592 8 1 0 QFED_PAN_TP_FT - - - - - - PAN 75/312/314/546/593 8 1 0 QFED_HNO3_TP_FT - - - - - - HNO3 75/312/314/546/594 8 1 0 QFED_NO_BO_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_no.006.$YYYY$MM$DD.nc4 biomass_xf 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s NO 75/312/315/547/592 8 1 0 QFED_PAN_BO_FT - - - - - - PAN 75/312/315/547/593 8 1 0 QFED_HNO3_BO_FT - - - - - - HNO3 75/312/315/547/594 8 1 0 QFED_NO_SV_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_no.006.$YYYY$MM$DD.nc4 biomass_sv 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s NO 75/312/548/592 8 1 0 QFED_PAN_SV_FT - - - - - - PAN 75/312/548/593 8 1 0 QFED_HNO3_SV_FT - - - - - - HNO3 75/312/548/594 8 1 0 QFED_NO_GL_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_no.006.$YYYY$MM$DD.nc4 biomass_gl 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s NO 75/312/548/592 8 1 0 QFED_PAN_GL_FT - - - - - - PAN 75/312/548/593 8 1 0 QFED_HNO3_GL_FT - - - - - - HNO3 75/312/548/594 8 1 # SO2 0 QFED_SO2_TF_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_so2.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s SO2 75/311/549 8 1 0 QFED_SO2_TP_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_so2.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s SO2 75/311/314/550 8 1 0 QFED_SO2_BO_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_so2.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s SO2 75/311/315/551 8 1 0 QFED_SO2_SV_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_so2.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s SO2 75/311/552 8 1 0 QFED_SO2_GL_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_so2.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s SO2 75/311/552 8 1 0 QFED_SO2_TF_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_so2.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s SO2 75/312/549 8 1 0 QFED_SO2_TP_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_so2.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s SO2 75/312/314/550 8 1 0 QFED_SO2_BO_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_so2.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s SO2 75/312/315/551 8 1 0 QFED_SO2_SV_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_so2.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s SO2 75/312/552 8 1 0 QFED_SO2_GL_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_so2.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s SO2 75/312/552 8 1 # PRPE 0 QFED_PRPE_TF_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_c3h6.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s PRPE 75/311/588 8 1 0 QFED_PRPE_TP_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_c3h6.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s PRPE 75/311/314/589 8 1 0 QFED_PRPE_BO_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_c3h6.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s PRPE 75/311/315/590 8 1 0 QFED_PRPE_SV_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_c3h6.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s PRPE 75/311/591 8 1 0 QFED_PRPE_GL_SFC $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_c3h6.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=1:PBL kg/m2/s PRPE 75/311/591 8 1 0 QFED_PRPE_TF_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_c3h6.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s PRPE 75/312/588 8 1 0 QFED_PRPE_TP_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_c3h6.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s PRPE 75/312/314/589 8 1 0 QFED_PRPE_BO_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_c3h6.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s PRPE 75/312/315/590 8 1 0 QFED_PRPE_SV_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_c3h6.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s PRPE 75/312/591 8 1 0 QFED_PRPE_GL_FT $ROOT/QFED/v2014-09/$YYYY/$MM/qfed2.emis_c3h6.006.$YYYY$MM$DD.nc4 biomass 2000-2018/1-12/1-31/0 C xyL=PBL:5500m kg/m2/s PRPE 75/312/591 8 1 # MTPA # --> approximated above using CO # BENZ # --> approximated above using CO # TOLU # --> approximated above using CO # XYLE # --> approximated above using CO # EOH # --> approximated above using CO # MOH # --> approximated above using CO )))QFED #======================================================================================================================================= ## --- Trash emissions --- #======================================================================================================================================= (((TRASH 0 TRASH_CO $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc CO 2008/1/1/0 C xy kg/m2/s CO - 9 1 0 TRASH_SOAP - - - - - - SOAP 280 9 1 0 TRASH_NO $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc NO 2008/1/1/0 C xy kg/m2/s NO - 9 1 0 TRASH_SO2 $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc SO2 2008/1/1/0 C xy kg/m2/s SO2 78 9 1 0 TRASH_SO4 - - - - - - SO4 63 9 1 0 TRASH_pFe - - - - - - pFe 78/66 9 1 0 TRASH_NH3 $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc NH3 2008/1/1/0 C xy kg/m2/s NH3 - 9 1 0 TRASH_ACET $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc ACET 2008/1/1/0 C xy kg/m2/s ACET 40 9 1 0 TRASH_ISOP $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc ISOP 2008/1/1/0 C xy kg/m2/s ISOP 61 9 1 0 TRASH_MEK $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc MEK 2008/1/1/0 C xy kg/m2/s MEK 48 9 1 0 TRASH_ALD2 $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc ALD2 2008/1/1/0 C xy kg/m2/s ALD2 41 9 1 0 TRASH_MVK $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc MVK 2008/1/1/0 C xy kg/m2/s MVK 80 9 1 0 TRASH_PRPE $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc PRPE 2008/1/1/0 C xy kg/m2/s PRPE 49 9 1 0 TRASH_CH2O $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc CH2O 2008/1/1/0 C xy kg/m2/s CH2O - 9 1 0 TRASH_HAC $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc HAC 2008/1/1/0 C xy kg/m2/s HAC 81 9 1 0 TRASH_GLYC $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc GLYC 2008/1/1/0 C xy kg/m2/s GLYC 82 9 1 #0 TRASH_MOH $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc MOH 2008/1/1/0 C xy kg/m2/s MOH - 9 1 #0 TRASH_C2H2 $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc C2H2 2008/1/1/0 C xy kg/m2/s C2H2 - 9 1 #0 TRASH_C2H4 $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc C2H4 2008/1/1/0 C xy kg/m2/s C2H4 - 9 1 0 TRASH_BENZ $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc BENZ 2008/1/1/0 C xy kg/m2/s BENZ 43 9 1 0 TRASH_TOLU $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc TOLU 2008/1/1/0 C xy kg/m2/s TOLU 55 9 1 0 TRASH_XYLE $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc XYLE 2008/1/1/0 C xy kg/m2/s XYLE 56 9 1 0 TRASH_HCOOH $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc HCOOH 2008/1/1/0 C xy kg/m2/s HCOOH 68 9 1 0 TRASH_BCPI $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc BC 2008/1/1/0 C xy kg/m2/s BCPI 70 9 1 0 TRASH_BCPO - - - - - - BCPO 71 9 1 0 TRASH_OCPI $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc OC 2008/1/1/0 C xy kg/m2/s OCPI 72 9 1 0 TRASH_OCPO - - - - - - OCPO 73 9 1 )))TRASH #======================================================================================================================================= # --- Seawater concentrations for oceanic emissions (Extension 101) --- #======================================================================================================================================= #101 CH3I_SEAWATER $ROOT/CH3I/v2014-07/ocean_ch3i.geos.4x5.nc CH3I_OCEAN 1985/1-12/1/0 C xy kg/m3 CH3I - 1 1 101 DMS_SEAWATER $ROOT/DMS/v2015-07/DMS_lana.geos.1x1.nc DMS_OCEAN 1985/1-12/1/0 C xy kg/m3 DMS - 1 1 101 ACET_SEAWATER $ROOT/ACET/v2014-07/ACET_seawater.generic.1x1.nc ACET 2005/1/1/0 C xy kg/m3 ACET 40 1 1 101 ALD2_SEAWATER $ROOT/ALD2/v2017-03/ALD2_seawater.geos.2x25.nc ALD2 2006/1-12/1/0 C xy kg/m3 ALD2 41 1 1 101 MENO3_SEAWATER $ROOT/RONO2/v2019-05/RONO2_seawater.geos.2x25.nc MENO3 2006/1-12/1/0 C xy kg/m3 MENO3 - 1 1 101 ETNO3_SEAWATER $ROOT/RONO2/v2019-05/RONO2_seawater.geos.2x25.nc ETNO3 2006/1-12/1/0 C xy kg/m3 ETNO3 - 1 1 101 MOH_SEAWATER $ROOT/MOH/v2019-12/MOH_seawater.low.kgCm3.generic.1x1.nc MOH 2005/1/1/0 C xy kgC/m3 MOH - 1 1 #======================================================================================================================================= # --- SOILNOX emissions (Extension 104) --- #======================================================================================================================================= 104 SOILNOX_FERT ~/data/soilNOx.fert_res.generic.05x05.nc FERT 2000/1-12/1-31/0 C xy kg/m2 NO - 1 1 104 SOILNOX_LANDK1 ~/data/soilNOx.landtype.generic.025x025.nc LANDFRAC_K01 2000/1/1/0 C xy unitless NO - 1 1 104 SOILNOX_LANDK2 ~/data/soilNOx.landtype.generic.025x025.nc LANDFRAC_K02 2000/1/1/0 C xy unitless NO - 1 1 104 SOILNOX_LANDK3 ~/data/soilNOx.landtype.generic.025x025.nc LANDFRAC_K03 2000/1/1/0 C xy unitless NO - 1 1 104 SOILNOX_LANDK4 ~/data/soilNOx.landtype.generic.025x025.nc LANDFRAC_K04 2000/1/1/0 C xy unitless NO - 1 1 104 SOILNOX_LANDK5 ~/data/soilNOx.landtype.generic.025x025.nc LANDFRAC_K05 2000/1/1/0 C xy unitless NO - 1 1 104 SOILNOX_LANDK6 ~/data/soilNOx.landtype.generic.025x025.nc LANDFRAC_K06 2000/1/1/0 C xy unitless NO - 1 1 104 SOILNOX_LANDK7 ~/data/soilNOx.landtype.generic.025x025.nc LANDFRAC_K07 2000/1/1/0 C xy unitless NO - 1 1 104 SOILNOX_LANDK8 ~/data/soilNOx.landtype.generic.025x025.nc LANDFRAC_K08 2000/1/1/0 C xy unitless NO - 1 1 104 SOILNOX_LANDK9 ~/data/soilNOx.landtype.generic.025x025.nc LANDFRAC_K09 2000/1/1/0 C xy unitless NO - 1 1 104 SOILNOX_LANDK10 ~/data/soilNOx.landtype.generic.025x025.nc LANDFRAC_K10 2000/1/1/0 C xy unitless NO - 1 1 104 SOILNOX_LANDK11 ~/data/soilNOx.landtype.generic.025x025.nc LANDFRAC_K11 2000/1/1/0 C xy unitless NO - 1 1 104 SOILNOX_LANDK12 ~/data/soilNOx.landtype.generic.025x025.nc LANDFRAC_K12 2000/1/1/0 C xy unitless NO - 1 1 104 SOILNOX_LANDK13 ~/data/soilNOx.landtype.generic.025x025.nc LANDFRAC_K13 2000/1/1/0 C xy unitless NO - 1 1 104 SOILNOX_LANDK14 ~/data/soilNOx.landtype.generic.025x025.nc LANDFRAC_K14 2000/1/1/0 C xy unitless NO - 1 1 104 SOILNOX_LANDK15 ~/data/soilNOx.landtype.generic.025x025.nc LANDFRAC_K15 2000/1/1/0 C xy unitless NO - 1 1 104 SOILNOX_LANDK16 ~/data/soilNOx.landtype.generic.025x025.nc LANDFRAC_K16 2000/1/1/0 C xy unitless NO - 1 1 104 SOILNOX_LANDK17 ~/data/soilNOx.landtype.generic.025x025.nc LANDFRAC_K17 2000/1/1/0 C xy unitless NO - 1 1 104 SOILNOX_LANDK18 ~/data/soilNOx.landtype.generic.025x025.nc LANDFRAC_K18 2000/1/1/0 C xy unitless NO - 1 1 104 SOILNOX_LANDK19 ~/data/soilNOx.landtype.generic.025x025.nc LANDFRAC_K19 2000/1/1/0 C xy unitless NO - 1 1 104 SOILNOX_LANDK20 ~/data/soilNOx.landtype.generic.025x025.nc LANDFRAC_K20 2000/1/1/0 C xy unitless NO - 1 1 104 SOILNOX_LANDK21 ~/data/soilNOx.landtype.generic.025x025.nc LANDFRAC_K21 2000/1/1/0 C xy unitless NO - 1 1 104 SOILNOX_LANDK22 ~/data/soilNOx.landtype.generic.025x025.nc LANDFRAC_K22 2000/1/1/0 C xy unitless NO - 1 1 104 SOILNOX_LANDK23 ~/data/soilNOx.landtype.generic.025x025.nc LANDFRAC_K23 2000/1/1/0 C xy unitless NO - 1 1 104 SOILNOX_LANDK24 ~/data/soilNOx.landtype.generic.025x025.nc LANDFRAC_K24 2000/1/1/0 C xy unitless NO - 1 1 104 SOILNOX_ARID ~/data/soilNOx.climate.generic.05x05.nc ARID 2000/1/1/0 C xy unitless NO - 1 1 104 SOILNOX_NONARID ~/data/soilNOx.climate.generic.05x05.nc NON_ARID 2000/1/1/0 C xy unitless NO - 1 1 #======================================================================================================================================= # --- dust emissions using DEAD model (Extension 105) --- #======================================================================================================================================= 105 DEAD_EF_GEO ~/data/dst_tibds.geos.2x25.nc EF_GEO 1985/1/1/0 C xy factor * - 1 1 105 DEAD_LF_DRY ~/data/dst_tibds.geos.2x25.nc LF_DRY 1985/1/1/0 C xy factor * - 1 1 105 DEAD_MF_CACO3 ~/data/dst_tibds.geos.2x25.nc MF_CaCO3 1985/1/1/0 C xy fraction * - 1 1 105 DEAD_MF_CLY ~/data/dst_tibds.geos.2x25.nc MF_CLY 1985/1/1/0 C xy fraction * - 1 1 105 DEAD_MF_SND ~/data/dst_tibds.geos.2x25.nc MF_SND 1985/1/1/0 C xy fraction * - 1 1 105 DEAD_SFC_TYP ~/data/dst_tibds.geos.2x25.nc SFC_TYP 1985/1/1/0 C xy count * - 1 1 105 DEAD_GOC_SRC ~/data/GOCART_src_fn.geos.2x25.nc GOC_SRC 1985/1/1/0 C xy unitless * - 1 1 105 DEAD_VAI ~/data/dst_tvbds.geos.2x25.nc VAI 1985/1-12/1/0 C xy unitless * - 1 1 #============================================================================== # --- Sea salt emissions (Extensions 107 and 130) # # MODIS Chlorophyll-A fields used for emissions of marine organic aerosols #============================================================================== (((SeaSalt #107 MODIS_CHLR ~/data/MODIS_CHLR/v2019-11/MODIS.CHLRv.V5.generic.025x025.$YYYY.nc MODIS 2005-2014/1-12/1/0 C xy 1 * - 1 1 107 MULTISEAICE ~/data/MULTI_ICE/v2021-07/multiyearice.merra2.05x0625.$YYYY.nc FRSEAICE 1984-2017/1-12/1-31/0 C xy 1 * - 1 1 )))SeaSalt #======================================================================================================================================= # --- MEGAN biogenic emissions (Extension 108) #======================================================================================================================================= # NOTE: These are the base emissions, which will be converted to kgC/m2/s by HEMCO. The specified species (OCPI/ISOP/ACET) are required # for proper unit conversion. Since netCDF files are already in mass carbon (ug(C)), the only important thing is to specify a VOC # with a specified MW of 12g/mol. This is the case for OCPI, ISOP and ACET. (((MEGAN (((HEMCO_RESTART 108 T_DAVG ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc T_DAVG $YYYY/$MM/$DD/$HH EY xy K * - 1 1 108 T_PREVDAY ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc T_PREVDAY $YYYY/$MM/$DD/$HH EY xy K * - 1 1 108 LAI_PREVDAY ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc LAI_PREVDAY $YYYY/$MM/$DD/$HH EY xy 1 * - 1 1 108 PARDR_DAVG ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc PARDR_DAVG $YYYY/$MM/$DD/$HH EY xy W/m2 * - 1 1 108 PARDF_DAVG ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc PARDF_DAVG $YYYY/$MM/$DD/$HH EY xy W/m2 * - 1 1 )))HEMCO_RESTART 108 MEGAN_AEF_ISOP_GCC ~/data/MEGAN2.1_EF.geos.1x1.nc AEF_ISOPRENE 1985/1/1/0 C xy kgC/m2/s * - 1 1 108 MEGAN_AEF_MBOX_GCC ~/data/MEGAN2.1_EF.geos.1x1.nc AEF_MBO 1985/1/1/0 C xy kgC/m2/s * - 1 1 108 MEGAN_AEF_BPIN_GCC ~/data/MEGAN2.1_EF.geos.1x1.nc AEF_BETA_PINENE 1985/1/1/0 C xy kgC/m2/s * - 1 1 108 MEGAN_AEF_CARE_GCC ~/data/MEGAN2.1_EF.geos.1x1.nc AEF_CARENE 1985/1/1/0 C xy kgC/m2/s * - 1 1 108 MEGAN_AEF_LIMO_GCC ~/data/MEGAN2.1_EF.geos.1x1.nc AEF_LIMONENE 1985/1/1/0 C xy kgC/m2/s * - 1 1 108 MEGAN_AEF_OCIM_GCC ~/data/MEGAN2.1_EF.geos.1x1.nc AEF_OCIMENE 1985/1/1/0 C xy kgC/m2/s * - 1 1 108 MEGAN_AEF_SABI_GCC ~/data/MEGAN2.1_EF.geos.1x1.nc AEF_SABINENE 1985/1/1/0 C xy kgC/m2/s * - 1 1 108 CLM4_PFT_BARE_GCC ~/data/CLM4_PFT.geos.1x1.nc PFT_BARE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_NDLF_EVGN_TMPT_TREE_GCC ~/data/CLM4_PFT.geos.1x1.nc PFT_NDLF_EVGN_TMPT_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_NDLF_EVGN_BORL_TREE_GCC ~/data/CLM4_PFT.geos.1x1.nc PFT_NDLF_EVGN_BORL_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_NDLF_DECD_BORL_TREE_GCC ~/data/CLM4_PFT.geos.1x1.nc PFT_NDLF_DECD_BORL_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_EVGN_TROP_TREE_GCC ~/data/CLM4_PFT.geos.1x1.nc PFT_BDLF_EVGN_TROP_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_EVGN_TMPT_TREE_GCC ~/data/CLM4_PFT.geos.1x1.nc PFT_BDLF_EVGN_TMPT_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_DECD_TROP_TREE_GCC ~/data/CLM4_PFT.geos.1x1.nc PFT_BDLF_DECD_TROP_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_DECD_TMPT_TREE_GCC ~/data/CLM4_PFT.geos.1x1.nc PFT_BDLF_DECD_TMPT_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_DECD_BORL_TREE_GCC ~/data/CLM4_PFT.geos.1x1.nc PFT_BDLF_DECD_BORL_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_EVGN_SHRB_GCC ~/data/CLM4_PFT.geos.1x1.nc PFT_BDLF_EVGN_SHRB 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_DECD_TMPT_SHRB_GCC ~/data/CLM4_PFT.geos.1x1.nc PFT_BDLF_DECD_TMPT_SHRB 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_DECD_BORL_SHRB_GCC ~/data/CLM4_PFT.geos.1x1.nc PFT_BDLF_DECD_BORL_SHRB 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_C3_ARCT_GRSS_GCC ~/data/CLM4_PFT.geos.1x1.nc PFT_C3_ARCT_GRSS 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_C3_NARC_GRSS_GCC ~/data/CLM4_PFT.geos.1x1.nc PFT_C3_NARC_GRSS 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_C4_GRSS_GCC ~/data/CLM4_PFT.geos.1x1.nc PFT_C4_GRSS 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_CROP_GCC ~/data/CLM4_PFT.geos.1x1.nc PFT_CROP 2000/1/1/0 C xy 1 * - 1 1 108 MEGAN_ORVC_GCC ~/data/NVOC.geos.1x1.nc OCPI 1990/1-12/1/0 C xy kgC/m2/s * - 1 1 )))MEGAN #============================================================================== # --- GFED biomass burning emissions (Extension 111) # NOTE: These are the base emissions in kgDM/m2/s. #============================================================================== (((GFED3 111 GFED_HUMTROP $ROOT/GFED3/v2014-10/GFED3_humtropmap.nc humtrop 2000/1/1/0 C xy unitless * - 1 1 111 GFED_WDL $ROOT/GFED3/v2014-10/GFED3_gen.1x1.$YYYY.nc GFED3_BB__WDL_DM 1997-2011/1-12/01/0 C xy kgDM/m2/s * - 1 1 111 GFED_AGW $ROOT/GFED3/v2014-10/GFED3_gen.1x1.$YYYY.nc GFED3_BB__AGW_DM 1997-2011/1-12/01/0 C xy kgDM/m2/s * - 1 1 111 GFED_DEF $ROOT/GFED3/v2014-10/GFED3_gen.1x1.$YYYY.nc GFED3_BB__DEF_DM 1997-2011/1-12/01/0 C xy kgDM/m2/s * - 1 1 111 GFED_FOR $ROOT/GFED3/v2014-10/GFED3_gen.1x1.$YYYY.nc GFED3_BB__FOR_DM 1997-2011/1-12/01/0 C xy kgDM/m2/s * - 1 1 111 GFED_PET $ROOT/GFED3/v2014-10/GFED3_gen.1x1.$YYYY.nc GFED3_BB__PET_DM 1997-2011/1-12/01/0 C xy kgDM/m2/s * - 1 1 111 GFED_SAV $ROOT/GFED3/v2014-10/GFED3_gen.1x1.$YYYY.nc GFED3_BB__SAV_DM 1997-2011/1-12/01/0 C xy kgDM/m2/s * - 1 1 (((GFED_daily 111 GFED_FRAC_DAY $ROOT/GFED3/v2014-10/GFED3_dailyfrac_gen.1x1.$YYYY.nc GFED3_BB__DAYFRAC 2002-2011/1-12/1-31/0 R xy unitless * - 1 1 )))GFED_daily (((GFED_3hourly 111 GFED_FRAC_3HOUR $ROOT/GFED3/v2014-10/GFED3_3hrfrac_gen.1x1.$YYYY.nc GFED3_BB__HRFRAC 2002-2011/1-12/01/0-23 R xy unitless * - 1 1 )))GFED_3hourly )))GFED3 (((GFED4 111 GFED_TEMP $ROOT/GFED4/v2015-10/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_TEMP 1997-2014/1-12/01/0 C xy kgDM/m2/s * - 1 1 111 GFED_AGRI $ROOT/GFED4/v2015-10/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_AGRI 1997-2014/1-12/01/0 C xy kgDM/m2/s * - 1 1 111 GFED_DEFO $ROOT/GFED4/v2015-10/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_DEFO 1997-2014/1-12/01/0 C xy kgDM/m2/s * - 1 1 111 GFED_BORF $ROOT/GFED4/v2015-10/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_BORF 1997-2014/1-12/01/0 C xy kgDM/m2/s * - 1 1 111 GFED_PEAT $ROOT/GFED4/v2015-10/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_PEAT 1997-2014/1-12/01/0 C xy kgDM/m2/s * - 1 1 111 GFED_SAVA $ROOT/GFED4/v2015-10/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_SAVA 1997-2014/1-12/01/0 C xy kgDM/m2/s * - 1 1 (((GFED_daily 111 GFED_FRAC_DAY $ROOT/GFED4/v2015-10/$YYYY/GFED4_dailyfrac_gen.025x025.$YYYY$MM.nc GFED_FRACDAY 2003-2014/1-12/1-31/0 C xy 1 * - 1 1 )))GFED_daily (((GFED_3hourly 111 GFED_FRAC_3HOUR $ROOT/GFED4/v2015-10/$YYYY/GFED4_3hrfrac_gen.025x025.$YYYY$MM.nc GFED_FRAC3HR 2003-2014/1-12/1/0-23 C xy 1 * - 1 1 )))GFED_3hourly )))GFED4 )))EMISSIONS # ----------------------------------------------------------------------------------------- # Non-emissions data. The following fields are read through HEMCO but do not contain # emissions data. The extension number is set to wildcard character denoting that these # fields will not be considered for emission calculation. A given entry is only read if # the assigned species name is an HEMCO species. # ----------------------------------------------------------------------------------------- # --- time zones (offset to UTC) --- * TIMEZONES ~/data/TIMEZONES/timezones_1x1.nc UTC_OFFSET 2000/1/1/0 C xy count * - 1 1 (((METEOROLOGY # Not used in GEOS )))METEOROLOGY (((CHEMISTRY_INPUT #============================================================================== # --- UV albedo, for photolysis (cf Hermann & Celarier, 1997) --- #============================================================================== (((UVALBEDO * UV_ALBEDO $ROOT/UVALBEDO/v2015-03/uvalbedo.geos.2x25.nc UVALBD 1985/1-12/1/0 C xy percent * - 1 1 )))UVALBEDO #============================================================================== # --- TOMS/SBUV overhead ozone colums, for photolysis --- #============================================================================== * TOMS_O3_COL $ROOT/TOMS_SBUV/v2016-11/TOMS_O3col_$YYYY.geos.a.1x1.nc TOMS 1971-2010/1-12/1/0 C xy dobsons * - 1 1 * DTOMS1_O3_COL - DTOMS1 - - - dobsons/day * - 1 1 * DTOMS2_O3_COL - DTOMS2 - - - dobsons/day * - 1 1 # --- Stratospheric Bry data --- (((CCM_STRAT_Bry * GEOSCCM_Br_DAY ~/data/Bry/GEOSCCM_Bry.2007$MM.day.esmf.nc BR 2007/$MM/1/0 C xyz pptv Br - 1 1 * GEOSCCM_Br2_DAY ~/data/Bry/GEOSCCM_Bry.2007$MM.day.esmf.nc BRCL 2007/$MM/1/0 C xyz pptv Br2 - 1 1 * GEOSCCM_BrO_DAY ~/data/Bry/GEOSCCM_Bry.2007$MM.day.esmf.nc BRO 2007/$MM/1/0 C xyz pptv BrO - 1 1 * GEOSCCM_BrNO3_DAY ~/data/Bry/GEOSCCM_Bry.2007$MM.day.esmf.nc BRONO2 2007/$MM/1/0 C xyz pptv BrNO3 - 1 1 * GEOSCCM_HBr_DAY ~/data/Bry/GEOSCCM_Bry.2007$MM.day.esmf.nc HBR 2007/$MM/1/0 C xyz pptv HBr - 1 1 * GEOSCCM_HOBr_DAY ~/data/Bry/GEOSCCM_Bry.2007$MM.day.esmf.nc HOBR 2007/$MM/1/0 C xyz pptv HOBr - 1 1 * GEOSCCM_Br_NIGHT ~/data/Bry/GEOSCCM_Bry.2007$MM.night.esmf.nc BR 2007/$MM/1/0 C xyz pptv Br - 1 1 * GEOSCCM_Br2_NIGHT ~/data/Bry/GEOSCCM_Bry.2007$MM.night.esmf.nc BRCL 2007/$MM/1/0 C xyz pptv Br2 - 1 1 * GEOSCCM_BrO_NIGHT ~/data/Bry/GEOSCCM_Bry.2007$MM.night.esmf.nc BRO 2007/$MM/1/0 C xyz pptv BrO - 1 1 * GEOSCCM_BrNO3_NIGHT ~/data/Bry/GEOSCCM_Bry.2007$MM.night.esmf.nc BRONO2 2007/$MM/1/0 C xyz pptv BrNO3 - 1 1 * GEOSCCM_HBr_NIGHT ~/data/Bry/GEOSCCM_Bry.2007$MM.night.esmf.nc HBR 2007/$MM/1/0 C xyz pptv HBr - 1 1 * GEOSCCM_HOBr_NIGHT ~/data/Bry/GEOSCCM_Bry.2007$MM.night.esmf.nc HOBR 2007/$MM/1/0 C xyz pptv HOBr - 1 1 )))CCM_STRAT_Bry (((GMI_STRAT_OH # Archived OH concentrations. These are always needed, so set species to wildcard (*) to make # sure that this entry will always be read. * STRAT_OH ~/data/GMI/gmi.clim.OH.geos5.2x25.esmf.nc species 2000/$MM/1/0 C xyz v/v * - 1 1 )))GMI_STRAT_OH # )))CHEMISTRY_INPUT # Olson land map data (((OLSON_LANDMAP * OLSON00 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON01 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON02 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON03 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON04 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON05 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON06 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON07 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON08 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON09 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON10 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON11 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON12 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON13 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON14 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON15 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON16 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON17 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON18 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON19 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON20 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON21 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON22 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON23 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON24 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON25 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON26 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON27 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON28 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON29 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON30 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON31 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON32 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON33 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON34 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON35 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON36 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON37 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON38 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON39 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON40 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON41 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON42 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON43 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON44 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON45 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON46 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON47 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON48 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON49 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON50 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON51 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON52 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON53 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON54 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON55 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON56 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON57 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON58 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON59 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON60 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON61 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON62 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON63 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON64 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON65 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON66 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON67 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON68 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON69 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON70 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON71 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 * OLSON72 Ignore.nc OLSON 1985/1/1/0 C xy unitless * - 1 1 )))OLSON_LANDMAP # MODIS LAI data (((YUAN_MODIS_LAI * XLAI00 Ignore.nc XLAI00 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI01 Ignore.nc XLAI01 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI02 Ignore.nc XLAI02 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI03 Ignore.nc XLAI03 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI04 Ignore.nc XLAI04 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI05 Ignore.nc XLAI05 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI06 Ignore.nc XLAI06 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI07 Ignore.nc XLAI07 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI08 Ignore.nc XLAI08 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI09 Ignore.nc XLAI09 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI10 Ignore.nc XLAI10 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI11 Ignore.nc XLAI11 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI12 Ignore.nc XLAI12 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI13 Ignore.nc XLAI13 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI14 Ignore.nc XLAI14 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI15 Ignore.nc XLAI15 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI16 Ignore.nc XLAI16 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI17 Ignore.nc XLAI17 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI18 Ignore.nc XLAI18 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI19 Ignore.nc XLAI19 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI20 Ignore.nc XLAI20 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI21 Ignore.nc XLAI21 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI22 Ignore.nc XLAI22 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI23 Ignore.nc XLAI23 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI24 Ignore.nc XLAI24 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI25 Ignore.nc XLAI25 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI26 Ignore.nc XLAI26 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI27 Ignore.nc XLAI27 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI28 Ignore.nc XLAI28 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI29 Ignore.nc XLAI29 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI30 Ignore.nc XLAI30 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI31 Ignore.nc XLAI31 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI32 Ignore.nc XLAI32 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI33 Ignore.nc XLAI33 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI34 Ignore.nc XLAI34 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI35 Ignore.nc XLAI35 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI36 Ignore.nc XLAI36 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI37 Ignore.nc XLAI37 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI38 Ignore.nc XLAI38 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI39 Ignore.nc XLAI39 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI40 Ignore.nc XLAI40 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI41 Ignore.nc XLAI41 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI42 Ignore.nc XLAI42 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI43 Ignore.nc XLAI43 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI44 Ignore.nc XLAI44 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI45 Ignore.nc XLAI45 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI46 Ignore.nc XLAI46 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI47 Ignore.nc XLAI47 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI48 Ignore.nc XLAI48 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI49 Ignore.nc XLAI49 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI50 Ignore.nc XLAI50 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI51 Ignore.nc XLAI51 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI52 Ignore.nc XLAI52 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI53 Ignore.nc XLAI53 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI54 Ignore.nc XLAI54 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI55 Ignore.nc XLAI55 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI56 Ignore.nc XLAI56 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI57 Ignore.nc XLAI57 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI58 Ignore.nc XLAI58 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI59 Ignore.nc XLAI59 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI60 Ignore.nc XLAI60 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI61 Ignore.nc XLAI61 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI62 Ignore.nc XLAI62 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI63 Ignore.nc XLAI63 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI64 Ignore.nc XLAI64 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI65 Ignore.nc XLAI65 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI66 Ignore.nc XLAI66 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI67 Ignore.nc XLAI67 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI68 Ignore.nc XLAI68 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI69 Ignore.nc XLAI69 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI70 Ignore.nc XLAI70 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI71 Ignore.nc XLAI71 $YYYY/$MM/15/0 C xy unitless * - 1 1 * XLAI72 Ignore.nc XLAI72 $YYYY/$MM/15/0 C xy unitless * - 1 1 )))YUAN_MODIS_LAI #============================================================================== # --- Spatially varying OM/OC --- #============================================================================== (((OMOC_RATIO * OMOC_DJF $ROOT/OMOC/v2018-01/OMOC.DJF.01x01.nc OMOC 2010/1/1/0 C xy 1 * - 1 1 * OMOC_MAM $ROOT/OMOC/v2018-01/OMOC.MAM.01x01.nc OMOC 2010/1/1/0 C xy 1 * - 1 1 * OMOC_JJA $ROOT/OMOC/v2018-01/OMOC.JJA.01x01.nc OMOC 2010/1/1/0 C xy 1 * - 1 1 * OMOC_SON $ROOT/OMOC/v2018-01/OMOC.SON.01x01.nc OMOC 2010/1/1/0 C xy 1 * - 1 1 )))OMOC_RATIO #============================================================================== # --- NOAA GMD monthly mean surface CH4 --- #============================================================================== (((GMD_SFC_CH4 * NOAA_GMD_CH4 $ROOT/NOAA_GMD/v2018-01/monthly.gridded.surface.methane.1979-2020.1x1.nc SFC_CH4 1979-2020/1-12/1/0 C xy ppbv * - 1 1 )))GMD_SFC_CH4 (((GEOS_3HR_CH4 * GEOS_CH4 /see/extdata CH4_total_dry 1979-2024/1-12/1-31/0 C xyz ppbv * - 1 1 * CH4_OFFSET /see/extdata CH4_offset 2021-2024/1-12/1/0 C xy v/v * - 1 1 ###* CH4_OFFSET 0.0 - - - xy v/v * - 1 1 )))GEOS_3HR_CH4 (((SfcVMR #============================================================================== # --- CMIP6 files --- # # Use core CMIP6 observationally constrained data from Meinshausen et al. (2017) GMD # # NOTE for GEOS: # ==> Need to download these files to use. #============================================================================== * SfcVMR_CH3Cl $ROOT/CMIP6/v2020-03/2x2.5/CMIP6_GHG_surface_VMR_$YYYY.2x25.nc CH3Cl 1750-2014/1-12/1/0 C xy ppbv * 801 1 1 * SfcVMR_CH2Cl2 $ROOT/CMIP6/v2020-03/2x2.5/CMIP6_GHG_surface_VMR_$YYYY.2x25.nc CH2Cl2 1750-2014/1-12/1/0 C xy ppbv * 801 1 1 * SfcVMR_CHCl3 $ROOT/CMIP6/v2020-03/2x2.5/CMIP6_GHG_surface_VMR_$YYYY.2x25.nc CHCl3 1750-2014/1-12/1/0 C xy ppbv * 801 1 1 * SfcVMR_CH3Br $ROOT/CMIP6/v2020-03/2x2.5/CMIP6_GHG_surface_VMR_$YYYY.2x25.nc CH3Br 1750-2014/1-12/1/0 C xy ppbv * 801 1 1 #============================================================================== # --- WMO-2018 files (GMI) --- #============================================================================== * SfcVMR_CCl4 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CCl4 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_CFC113 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CFC113 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_CFC114 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CFC114 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_CFC115 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CFC115 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_CFC11 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CFC11 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_CFC12 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CFC12 1960-2100/1-12/1/0 C xy v/v * 802 1 1 #* SfcVMR_CH3Br $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CH3Br 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_CH3CCl3 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CH3CCl3 1960-2100/1-12/1/0 C xy v/v * 802 1 1 #* SfcVMR_CH3Cl $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CH3Cl 1960-2100/1-12/1/0 C xy v/v * 802 1 1 #* SfcVMR_CH4 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CH4 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_H1211 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc H1211 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_H1301 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc H1301 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_H2402 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc C2BR2F4 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_HCFC141b $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc HCFC141b 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_HCFC142b $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc HCFC142b 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_HCFC22 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc HCFC22 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_N2O $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc N2O 1960-2100/1-12/1/0 C xy v/v * 802 1 1 #============================================================================== # --- Dummy files with a single surface concentration (for OCS and H2) --- #============================================================================== * SfcVMR_OCS $ROOT/SfcFix/v2019-12/surface_VMR_OCS.2x25.nc OCS 1985/1/1/0 C xy ppbv * - 1 1 * SfcVMR_H2 $ROOT/SfcFix/v2019-12/surface_VMR_H2.2x25.nc H2 1985/1/1/0 C xy ppbv * - 1 1 )))SfcVMR #============================================================================== # --- Oceanic ozone deposition --- # # Sea surface iodide concentration and salinity to be read in for the # new calculations for ozone deposition to the ocean #============================================================================== (((OCEAN_O3_DRYDEP * surf_salinity $ROOT/OCEAN_O3_DRYDEP/v2020-02/WOA_2013_salinity.nc s_mn 1985/1/1/0 C xy 1 * - 1 1 * surf_iodide $ROOT/OCEAN_O3_DRYDEP/v2020-02/Oi_prj_predicted_iodide_0.125x0.125_No_Skagerrak_Just_Ensemble.nc Ensemble_Monthly_mean 1970/1-12/1/0 C xy 1 * - 1 1 )))OCEAN_O3_DRYDEP ### END SECTION BASE EMISSIONS #################################################################################### ### BEGIN SECTION SCALE FACTORS #################################################################################### # ScalID Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Oper # --- mirror (for negative emissions) 1 NEGATIVE -1.0 - - - xy 1 1 # --- annual scale factors 6 LIQFUEL_THISYR ~/data/AnnualScalar.geos.1x1.nc COscalar 1985-2010/1/1/0 C xy 1 1 7 LIQFUEL_1985 ~/data/AnnualScalar.geos.1x1.nc COscalar 1985/1/1/0 C xy 1 -1 #============================================================================== # --- diurnal scale factors --- #============================================================================== 26 GEIA_TOD_FOSSIL 0.45/0.45/0.6/0.6/0.6/0.6/1.45/1.45/1.45/1.45/1.4/1.4/1.4/1.4/1.45/1.45/1.45/1.45/0.65/0.65/0.65/0.65/0.45/0.45 - - - xy unitless 1 # --- seasonal scale factors --- 39 BROMOCARB_SEASON ~/data/emis/BROMINE/BromoCarb_Season.nc CHXBRY_scale 2000/1-12/1/0 C xy unitless 1 # Units carbon to species conversions # Factor = # carbon atoms * MW carbon) / MW species 40 CtoACET MATH:58.09/(3.0*12.0) - - - xy unitless 1 41 CtoALD2 MATH:44.06/(2.0*12.0) - - - xy unitless 1 42 CtoALK4 MATH:58.12/(4.3*12.0) - - - xy unitless 1 43 CtoBENZ MATH:78.12/(6.0*12.0) - - - xy unitless 1 44 CtoC2H4 MATH:28.05/(2.0*12.0) - - - xy unitless 1 45 CtoC2H6 MATH:30.08/(2.0*12.0) - - - xy unitless 1 46 CtoC3H8 MATH:46.08/(3.0*12.0) - - - xy unitless 1 47 CtoEOH MATH:46.06/(2.0*12.0) - - - xy unitless 1 48 CtoMEK MATH:72.11/(4.0*12.0) - - - xy unitless 1 49 CtoPRPE MATH:42.09/(3.0*12.0) - - - xy unitless 1 55 CtoTOLU MATH:92.15/(7.0*12.0) - - - xy unitless 1 56 CtoXYLE MATH:106.18/(8.0*12.0) - - - xy unitless 1 59 CtoC2H2 MATH:26.04/(2.0*12.0) - - - xy unitless 1 61 CtoISOP MATH:68.13/(5.0*12.0) - - - xy unitless 1 62 CtoMTPA MATH:136.26/(10.0*12.0) - - - xy unitless 1 64 CtoMBOX MATH:86.13/(5.0*12.0) - - - xy unitless 1 67 CtoSESQ MATH:204.4/(15.0*12.0) - - - xy unitless 1 68 CtoHCOOH MATH:46.03/(1.0*12.0) - - - xy unitless 1 69 CtoRCHO MATH:58.09/(3.0*12.0) - - - xy unitless 1 80 CtoMVK MATH:70.09/(4.0*12.0) - - - xy unitless 1 81 CtoHAC MATH:74.08/(3.0*12.0) - - - xy unitless 1 82 CtoGLYC MATH:60.06/(2.0*12.0) - - - xy unitless 1 83 CtoMACR MATH:70.10/(4.0*12.0) - - - xy unitless 1 # --- VOC speciations --- 50 RETRO_KET2MEK 0.25 - - - xy unitless 1 51 RETRO_KET2ACET 0.75 - - - xy unitless 1 52 COPROD_FOSSIL 1.02 - - - xy unitless 1 53 COPROD_BIOFUEL 1.086 - - - xy unitless 1 54 COPROD_BIOMASS 1.05 - - - xy unitless 1 #============================================================================== # --- SOx to SO2 conversion (Chin et al., 2000) --- #============================================================================== #60 SOX2SO2_GLOBAL 0.986 - - - xy unitless 1 #61 SOX2SO2_EU 0.95 - - - xy unitless 1 #62 SULFUR2SOX 2.0 - - - xy unitless 1 63 SO2toSO4 0.031 - - - xy unitless 1 #64 SOX2SO4_EU 0.05 - - - xy unitless 1 #65 SO2toSO4_CAC 0.014 - - - xy unitless 1 66 SO2toPFe 1.0e-3 - - - xy unitless 1 #67 SOX2PFe_EU 1.7e-3 - - - xy unitless 1 #68 SO2toPFe_CAC 4.7e-4 - - - xy unitless 1 #69 SO2toPFe_NEI 1.0e-3 - - - xy unitless 1 78 SO2FRAC 0.969 - - - xy unitless 1 # C2H6 conversions 95 C2H6toC 0.8 - - - xy unitless 1 # --- Scale factor to match C2H6 emissions of 9.9 Tg C2H6 / year # as reported by Tzompa-Sosa et al. 2017 96 C2H6scal 2.1 - - - xy unitless 1 # --- Carbon aerosols: speciation of hydrophilic and hydrophobic fractions --- # Fractions applied to the biomass burning extensions (GFED3 or FINN) are # specified separately in the extensions section. 70 BC2BCPI 0.2 - - - xy unitless 1 71 BC2BCPO 0.8 - - - xy unitless 1 72 OC2OCPI 0.5 - - - xy unitless 1 73 OC2OCPO 0.5 - - - xy unitless 1 74 POGSCAL 1.27 - - - xy unitless 1 76 SV2POG1 0.49 - - - xy unitless 1 77 SV2POG2 0.51 - - - xy unitless 1 #============================================================================== # --- QFED2 diurnal scale factors --- # # Fire diurnal scaling factors (% per hour) from WRAP Report to Project # No. 178-6, July 2005 #============================================================================== 75 QFED2_TOD 0.1392/0.1392/0.1368/0.1368/0.1368/0.1368/0.1368/0.1368/0.1368/0.48/0.96/1.68/2.4/3.12/3.84/4.08/2.88/1.68/0.96/0.1368/0.1368/0.1368/0.1368/0.1368 - - - xy unitless 1 #============================================================================== # --- BIOGENIC EMISSIONS FROM DRY LEAF MATTER --- # # Use yield of 40ug/dDW. # Assume organic matter has molecular formula CH2O (MW 30.03), which # means 0.4 gC / g plant # ALD2 MW = 44.05 g/mole ==> 0.55 gC/g ALD2 # Therefore 40ug (ALD2) / g (plant) ==> 55 ug C in ALD2 / gC plant # EOH MW = 46 g/mole ==> 0.52 gC/g EOH # Therefore 40ug (EOH) / g (plant) ==> 52 ug C in EOH / gC plant #============================================================================== 85 YIELD_RESP_ALD2 55.0e-6 - - - xy unitless 1 86 YIELD_RESP_EOH 52.0e-6 - - - xy unitless 1 #============================================================================== # --- Biofuel conversion factors --- #============================================================================== 90 BF_COtoHAC 8.75e-3 - - - xy unitless 1 91 BF_COtoSO2 3.43e-3 - - - xy unitless 1 #Convert CEDS EOH (MW=46.2) to species MW as used in GEOS-Chem 8 EOHtoMOH 0.694 - - - xy unitless 1 9 EOHtoEOH 0.997 - - - xy unitless 1 24 EOHtoROH 1.28 - - - xy unitless 1 10 C4H10toALK4 1.000 - - - xy unitless 1 11 C5H12toALK4 0.806 - - - xy unitless 1 12 C6H14toALK4 0.674 - - - xy unitless 1 13 MEKtoMEK 0.958 - - - xy unitless 1 14 MEKtoACET 0.772 - - - xy unitless 1 15 ALD2toALD2 0.640 - - - xy unitless 1 16 HCOOHtoHCOOH 0.779 - - - xy unitless 1 #Convert CEDS total alchohols to methanol, ethanol, and other alcohols following Chen et al. (2019, ACP) 92 VOC1toMOH 0.5 - - - xy 1 1 93 VOC1toEOH 0.375 - - - xy 1 1 94 VOC1toROH 0.125 - - - xy 1 1 #NOx to NO and NO2 emissions. #Christoph and I discussed trying a ratio of the NOx emissions. 30Jun20 KEK 97 NOXtoNO 0.9 - - - xy 1 1 98 NOXtoNO2 0.1 - - - xy 1 1 # Conversion factor from NO to NO2 115 NOtoNO2 1.533 - - - xy unitless 1 # --- AEIC aircraft emissions --- # See http://geoschemdata.wustl.edu/ExtData/HEMCO/AEIC2019/v2022-03/AEIC_2019_technical_note.pdf 101 AEICACET 3.693477e-3 - - - xy unitless 1 102 AEICALD2 4.271822e-2 - - - xy unitless 1 103 AEICALK4 2.137911e-1 - - - xy unitless 1 104 AEICC2H6 5.214505e-3 - - - xy unitless 1 105 AEICC3H8 7.808710e-4 - - - xy unitless 1 106 AEICCH2O 1.230811e-1 - - - xy unitless 1 107 AEICPRPE 1.780418e-1 - - - xy unitless 1 108 AEICMACR 5.362609e-2 - - - xy unitless 1 109 AEICRCHO 3.676944e-2 - - - xy unitless 1 111 AEICSO2 1.176000e-3 - - - xy unitless 1 112 AEICSO4 3.600000e-5 - - - xy unitless 1 113 AEICBC 3.000000e-5 - - - xy unitless 1 114 AEICHC 1.160000e+0 - - - xy unitless 1 120 FB2H2O 1.231000e+0 - - - xy unitless 1 #------------------------------------------------------------------------------ # Scaling factors for 1990-2019 derived from Lee et al. (2021). Increase # from 2018 to 2019 is estimated based on the growth from 2017 to 2018. # Lee et al. (2021) only covers 1990 to 2018, so to get to 2019 it is # assumed that the growth from 2017 to 2018 is the same as that from 2018 # to 2019. So the formula is something like: # # Emissions of CO in 2009 = AEIC 2019 emissions of CO # * (Lee 2017 CO / Lee 2018 fuel burn) # * (Lee 2009 fuel burn / Lee 2018 fuel burn) # # So in this case, we use the Lee 2017/Lee 2018 value to scale AEIC’s # emissions to the “2018” values, and then scale directly using the Lee et al # fuel burn. This ensures that, when running with year 2019, you get an # unadjusted version of the AEIC2019 inventory, and all previous years are # scaled down. For NOx, the same procedure is applied but with an additional # factor to account for changes in NOx EI: # # Emissions of NOx in 2009 = [ AEIC 2019 emissions of NOx # * (Lee 2017 CO / Lee 2018 fuel burn) # * (Lee 2009 fuel burn / Lee 2018 fuel burn) ] # * [ (Lee 2017 NOx EI / Lee 2018 NOx EI) # * (Lee 2009 NOx EI / Lee 2018 NOx EI) ] # # In this case though the Lee et al 2018 and 2017 NOx EIs are identical. # All scaling factors are included in here in HEMCO_Config.rc. #------------------------------------------------------------------------------ (((AEIC_SCALE_1990_2019 240 AC_EINOX 0.852/0.852/0.852/0.859/0.866/0.873/0.881/0.888/0.896/0.903/0.911/0.916/0.922/0.927/0.932/0.937/0.950/0.962/0.974/0.987/1.000/1.000/1.000/1.000/1.000/1.000/1.000/1.000/1.000/1.000 - 1990-2019/1/1/0 C xy 1 1 241 AC_FBMULT 0.506/0.489/0.490/0.493/0.517/0.529/0.553/0.570/0.581/0.600/0.631/0.607/0.608/0.608/0.646/0.678/0.686/0.706/0.703/0.666/0.700/0.721/0.728/0.749/0.773/0.815/0.854/0.905/0.952/1.000 - 1990-2019/1/1/0 C xy 1 1 )))AEIC_SCALE_1990_2019 # If not applying 1990-2019 scale factors, use 1.0 (((.not.AEIC_SCALE_1990_2019 240 AC_EINOX 1.000000e+0 - - - xy 1 1 241 AC_FBMULT 1.000000e+0 - - - xy 1 1 ))).not.AEIC_SCALE_1990_2019 # --- SNAP scale factors from TNO report --- # Binning: # SNAP categories 1. 5 (power generation, extract/distribution of fossil fuels ) --> ENERGY # SNAP categories 3, 4, 6 (industrial combustion, industrial processing, solvent use) --> INDUSTRY # SNAP categories 2 (combustion ) --> RESIDENTIAL # SNAP categories 7, 8 (road transport, other mobile ) --> TRANSPORT # day-of-week scale factors: Sun/Mon/.../Sat 201 INDUSTRY_DOW 0.73/1.10/1.10/1.10/1.10/1.10/0.77 - - - xy 1 1 202 ENERGY_DOW 0.93/1.03/1.03/1.03/1.03/1.03/0.93 - - - xy 1 1 203 TRANSPORT_DOW 0.90/1.01/1.03/1.04/1.05/1.07/0.91 - - - xy 1 1 204 RESIDENTIAL_DOW 0.80/1.08/1.08/1.08/1.08/1.08/0.80 - - - xy 1 1 205 AGRICULTURE_DOW 1.00/1.00/1.00/1.00/1.00/1.00/1.00 - - - xy 1 1 206 AVERAGE_DOW 0.84/1.06/1.06/1.06/1.07/1.07/0.85 - - - xy 1 1 # diurnal scale factors: 0am/1am/.../23pm 211 INDUSTRY_TOD 0.82/0.75/0.70/0.66/0.64/0.66/0.72/0.92/1.11/1.19/1.24/1.26/1.27/1.24/1.25/1.25/1.22/1.19/1.14/1.07/1.00/0.95/0.90/0.86 - - - xy 1 1 212 ENERGY_TOD 0.94/0.90/0.86/0.86/0.86/0.87/0.90/0.96/1.04/1.10/1.11/1.11/1.11/1.09/1.08/1.07/1.07/1.05/1.04/1.02/1.01/1.01/1.01/0.98 - - - xy 1 1 213 TRANSPORT_TOD 0.72/0.60/0.55/0.53/0.53/0.55/0.61/0.93/1.42/1.43/1.21/1.12/1.10/1.16/1.22/1.23/1.30/1.52/1.54/1.26/1.03/0.87/0.81/0.81 - - - xy 1 1 214 RESIDENTIAL_TOD 0.42/0.38/0.36/0.36/0.36/0.37/0.50/1.19/1.53/1.57/1.56/1.35/1.16/1.07/1.06/1.00/0.98/0.99/1.12/1.41/1.52/1.39/1.35/1.00 - - - xy 1 1 215 AGRICULTURE_TOD 0.60/0.60/0.60/0.60/0.60/0.60/0.65/0.75/0.90/1.10/1.35/1.45/1.60/1.65/1.75/1.70/1.55/1.35/1.10/0.90/0.75/0.65/0.60/0.60 - - - xy 1 1 216 AVERAGE_TOD 0.72/0.66/0.62/0.60/0.60/0.61/0.68/1.00/1.28/1.32/1.28/1.21/1.16/1.14/1.15/1.14/1.14/1.19/1.21/1.19/1.14/1.06/1.02/0.91 - - - xy 1 1 #============================================================================== # --- Aromatics scale factors --- # # Increase aromatics over China to be more in line with measurements # for Chinese cities (E. Fischer) # Refs: Barletta et al. (2005), Atmos Environ, 39, 5979-5990 # Liu et al. (2010), Environ Sci Technol, 44, 7017-7022. #============================================================================== #270 BENZ_CH_SCAL 1.25 - - - xy 1 1 1003 #271 TOLU_CH_SCAL 4.00 - - - xy 1 1 1003 #272 XYLE_CH_SCAL 8.00 - - - xy 1 1 1003 270 BENZ_CH_SCAL 1.00 - - - xy 1 1 271 TOLU_CH_SCAL 1.00 - - - xy 1 1 272 XYLE_CH_SCAL 1.00 - - - xy 1 1 #============================================================================== # --- SOA-Precursor scale factors --- # # from Kim, P.S., et. al. 2015 "Sources, seasonality, and trends # of southeast US aerosol: ..." # # AVOCs and BBVOCs are emitted in proportion to CO, with an emission ratio of # 0.069 g AVOC (g CO)−1 (Hayes et al., 2015) and # 0.013 g BBVOC (g CO)−1 (Cubison et al., 2011). # They are both oxidized by OH in the model ... to generate SOA. # 280 COtoSOAP_anth 0.069 - - - xy 1 1 281 COtoSOAP_burn 0.013 - - - xy 1 1 282 COtoNAP_burn 2.75e-4 - - - xy 1 1 # --- QFED scale factors --- 311 QFED_PBL_FRAC 0.65 - - - xy 1 1 312 QFED_FT_FRAC 0.35 - - - xy 1 1 # Adjust QFED OC emissions to account for different OM:OC ratio (Carter et al., ACP, 2020) 313 QFED2_OC_CORR 0.69 - - - xy unitless 1 # QFED mask for temperate vs. boreal forest 314 QFED2_TEMPERATE /see/ExtData.rc qfed2_temperate 2015/1/1/0 C xy 1 1 315 QFED2_BOREAL /see/ExtData.rc qfed2_boreal 2015/1/1/0 C xy 1 1 # CEDS vertical scale factors 317 CEDS_VSCAL_ENERGY /see/ExtData.rc vscal_energy 2005/1-12/1/0 C xyz 1 1 318 CEDS_VSCAL_INDUSTRY /see/ExtData.rc vscal_industry 2005/1-12/1/0 C xyz 1 1 319 CEDS_VSCAL_SHIP /see/ExtData.rc vscal_ship 2005/1-12/1/0 C xyz 1 1 # Adjust QFED emission factors to reflect values in Andrea (2019). This includes # all species except NOx, for which the values derived by Jin et al (2021) are # used (see below) 501 QFED2_ACET_TF_SCAL 1.02 - - - xy 1 1 502 QFED2_ACET_TP_SCAL 1.37 - - - xy 1 1 503 QFED2_ACET_BO_SCAL 2.87 - - - xy 1 1 504 QFED2_ACET_SV_SCAL 1.08 - - - xy 1 1 505 QFED2_ALD2_TF_SCAL 3.48 - - - xy 1 1 506 QFED2_ALD2_TP_SCAL 2.42 - - - xy 1 1 507 QFED2_ALD2_BO_SCAL 1.62 - - - xy 1 1 508 QFED2_ALD2_SV_SCAL 1.68 - - - xy 1 1 # not sure how to weight the individual alkanes (n-butane vs. i-butane vs, etc.), so keep EF's as is for now 509 QFED2_ALK4_TF_SCAL 1.00 - - - xy 1 1 510 QFED2_ALK4_TP_SCAL 1.00 - - - xy 1 1 511 QFED2_ALK4_BO_SCAL 1.00 - - - xy 1 1 512 QFED2_ALK4_SV_SCAL 1.00 - - - xy 1 1 513 QFED2_BC_TF_SCAL 0.77 - - - xy 1 1 514 QFED2_BC_TP_SCAL 0.98 - - - xy 1 1 515 QFED2_BC_BO_SCAL 0.77 - - - xy 1 1 516 QFED2_BC_SV_SCAL 1.10 - - - xy 1 1 517 QFED2_OC_TF_SCAL 0.85 - - - xy 1 1 518 QFED2_OC_TP_SCAL 1.19 - - - xy 1 1 519 QFED2_OC_BO_SCAL 0.65 - - - xy 1 1 520 QFED2_OC_SV_SCAL 0.88 - - - xy 1 1 521 QFED2_C2H6_TF_SCAL 0.73 - - - xy 1 1 522 QFED2_C2H6_TP_SCAL 1.15 - - - xy 1 1 523 QFED2_C2H6_BO_SCAL 1.62 - - - xy 1 1 524 QFED2_C2H6_SV_SCAL 1.31 - - - xy 1 1 525 QFED2_C3H8_TF_SCAL 3.53 - - - xy 1 1 526 QFED2_C3H8_TP_SCAL 1.12 - - - xy 1 1 527 QFED2_C3H8_BO_SCAL 1.16 - - - xy 1 1 528 QFED2_C3H8_SV_SCAL 1.44 - - - xy 1 1 529 QFED2_CH2O_TF_SCAL 1.71 - - - xy 1 1 530 QFED2_CH2O_TP_SCAL 0.93 - - - xy 1 1 531 QFED2_CH2O_BO_SCAL 0.80 - - - xy 1 1 532 QFED2_CH2O_SV_SCAL 3.51 - - - xy 1 1 533 QFED2_CO_TF_SCAL 1.00 - - - xy 1 1 534 QFED2_CO_TP_SCAL 1.06 - - - xy 1 1 535 QFED2_CO_BO_SCAL 1.13 - - - xy 1 1 536 QFED2_CO_SV_SCAL 1.06 - - - xy 1 1 537 QFED2_MEK_TF_SCAL 1.16 - - - xy 1 1 538 QFED2_MEK_TP_SCAL 0.51 - - - xy 1 1 539 QFED2_MEK_BO_SCAL 0.35 - - - xy 1 1 540 QFED2_MEK_SV_SCAL 0.50 - - - xy 1 1 541 QFED2_NH3_TF_SCAL 1.02 - - - xy 1 1 542 QFED2_NH3_TP_SCAL 0.70 - - - xy 1 1 543 QFED2_NH3_BO_SCAL 1.79 - - - xy 1 1 544 QFED2_NH3_SV_SCAL 0.85 - - - xy 1 1 549 QFED2_SO2_TF_SCAL 1.35 - - - xy 1 1 550 QFED2_SO2_TP_SCAL 0.70 - - - xy 1 1 551 QFED2_SO2_BO_SCAL 0.75 - - - xy 1 1 552 QFED2_SO2_SV_SCAL 1.34 - - - xy 1 1 # CO to VOC scale factors for VOCs not directly carried by QFED. VOC/CO ratio taken from GEOS-Chem GFEDv4 implementation 560 QFED2_COtoPRPE_TF 1.50e-2 - - - xy 1 1 561 QFED2_COtoPRPE_TP 1.24e-2 - - - xy 1 1 562 QFED2_COtoPRPE_BO 1.18e-2 - - - xy 1 1 563 QFED2_COtoPRPE_SV 1.02e-2 - - - xy 1 1 564 QFED2_COtoMTPA_TF 1.29e-3 - - - xy 1 1 565 QFED2_COtoMTPA_TP 1.57e-2 - - - xy 1 1 566 QFED2_COtoMTPA_BO 2.27e-2 - - - xy 1 1 567 QFED2_COtoMTPA_SV 1.61e-3 - - - xy 1 1 568 QFED2_COtoBENZ_TF 3.17e-3 - - - xy 1 1 569 QFED2_COtoBENZ_TP 8.74e-3 - - - xy 1 1 570 QFED2_COtoBENZ_BO 3.07e-3 - - - xy 1 1 571 QFED2_COtoBENZ_SV 4.19e-3 - - - xy 1 1 572 QFED2_COtoTOLU_TF 1.27e-3 - - - xy 1 1 573 QFED2_COtoTOLU_TP 3.78e-3 - - - xy 1 1 574 QFED2_COtoTOLU_BO 2.16e-3 - - - xy 1 1 575 QFED2_COtoTOLU_SV 2.80e-3 - - - xy 1 1 576 QFED2_COtoXYLE_TF 2.22e-4 - - - xy 1 1 577 QFED2_COtoXYLE_TP 1.42e-3 - - - xy 1 1 578 QFED2_COtoXYLE_BO 1.48e-3 - - - xy 1 1 579 QFED2_COtoXYLE_SV 1.18e-3 - - - xy 1 1 580 QFED2_COtoEOH_TF 3.81e-4 - - - xy 1 1 581 QFED2_COtoEOH_TP 4.33e-4 - - - xy 1 1 582 QFED2_COtoEOH_BO 1.14e-3 - - - xy 1 1 583 QFED2_COtoEOH_SV 3.98e-4 - - - xy 1 1 584 QFED2_COtoMOH_TF 1.87e-2 - - - xy 1 1 585 QFED2_COtoMOH_TP 2.22e-2 - - - xy 1 1 586 QFED2_COtoMOH_BO 1.98e-2 - - - xy 1 1 587 QFED2_COtoMOH_SV 2.61e-2 - - - xy 1 1 588 QFED2_PRPE_TF_SCAL 1.56 - - - xy 1 1 589 QFED2_PRPE_TP_SCAL 1.02 - - - xy 1 1 590 QFED2_PRPE_BO_SCAL 1.14 - - - xy 1 1 591 QFED2_PRPE_SV_SCAL 1.77 - - - xy 1 1 # Adjust NOx emission factors (in g/kg) based on Jin et al., ACP, 2021: # Tropical forest: target is 3.17, vs. 1.6 used by QFED (--> scale factor is 1.98) # Temperate forest: 1.36 vs. 3.0 (scale by 0.45) # Boreal forest: 1.70 vs. 3.0 (scale by 0.57) # Savanna and grasslands: 2.49 vs. 3.9 (scale by 0.64) # QFED does not distinguish between temperate and boreal forests. In an ad-hoc # attempt to adjust BB NOx emissions differently for temperate and boreal forests, # the boreal scale factor is applied to all extratropical biomass burning emissions # occuring at latitudes higher than 55 deg N, while the temperate scale factor is # used elsewhere. 545 QFED2_NO_TF_SCAL 1.98 - - - xy 1 1 546 QFED2_NO_TP_SCAL 0.45 - - - xy 1 1 547 QFED2_NO_BO_SCAL 0.57 - - - xy 1 1 548 QFED2_NO_SV_SCAL 0.64 - - - xy 1 1 # Partition NO emissions into 40%NO, 40%PAN, and 20%HNO3 (on a N basis). # For PAN: 0.4 * 121.05 / 30.01 = 1.614 # For HNO3: 0.2 * 63.012 / 30.01 = 0.420 592 QFED2_NO_SCAL 0.400 - - - xy 1 1 593 QFED2_NOtoPAN 1.614 - - - xy 1 1 594 QFED2_NOtoHNO3 0.420 - - - xy 1 1 #============================================================================== # Scale the CMIP6 values in pptv to ppbv #============================================================================== 801 pptv2ppbv 0.001 - - - xy 1 1 802 vv2ppbv 1000000000 - - - xy 1 1 # ### END SECTION SCALE FACTORS #################################################################################### ### BEGIN SECTION MASKS #################################################################################### # # ScalID Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Oper Lon1/Lat1/Lon2/Lat2 # # 1008 AF_MASK $ROOT/MASKS/v2014-07/AF_LANDMASK.geos.05x0666.nc LANDMASK 1985/1/1/0 C xy unitless 1 -20/-37/54/40 ### END SECTION MASKS ### END OF HEMCO INPUT FILE ### ================================================ FILE: run/GEOS/HEMCO_DiagnFile.rc ================================================ #Name Spec ExtNr Cat Hier Dim OutUnit long_name UnitName # 2D ------------------------------------------------------------------------------------------------------------------------------------------- EMIS_ACET ACET -1 -1 -1 2 kg/m2/s acetone_total_emission_mass_flux kg_m-2_s-1 EMIS_ACET_IND ACET 0 1 -1 2 kg/m2/s acetone_industry_emission_mass_flux kg_m-2_s-1 EMIS_ACET_POW ACET 0 2 -1 2 kg/m2/s acetone_power_emission_mass_flux kg_m-2_s-1 EMIS_ACET_TRA ACET 0 3 -1 2 kg/m2/s acetone_transportation_emission_mass_flux kg_m-2_s-1 EMIS_ACET_RES ACET 0 4 -1 2 kg/m2/s acetone_residential_emission_mass_flux kg_m-2_s-1 EMIS_ACET_AGR ACET 0 5 -1 2 kg/m2/s acetone_agriculture_emission_mass_flux kg_m-2_s-1 EMIS_ACET_BB ACET 0 8 -1 2 kg/m2/s acetone_biomass_burning_emission_mass_flux kg_m-2_s-1 EMIS_ACET_WST ACET 0 9 -1 2 kg/m2/s acetone_waste_emission_mass_flux kg_m-2_s-1 EMIS_ACET_SHIP ACET 0 10 -1 2 kg/m2/s acetone_ship_emission_mass_flux kg_m-2_s-1 EMIS_ACET_OC ACET 101 -1 -1 2 kg/m2/s acetone_ocean_emission_mass_flux kg_m-2_s-1 EMIS_ACET_BG ACET 108 -1 -1 2 kg/m2/s acetone_biogenic_emission_mass_flux kg_m-2_s-1 # EMIS_ACR ACR -1 -1 -1 3 kg/m2/s acrolein_emission_flux_from_all_sectors kg_m-2_s-1 EMIS_ACR_BB ACR 0 8 -1 2 kg/m2/s acrolein_emission_flux_from_biomass_burning kg_m-2_s-1 # EMIS_ACTA ACTA -1 -1 -1 3 kg/m2/s acetic_acid_emission_flux_from_all_sectors kg_m-2_s-1 EMIS_ACTA_BB ACTA 0 8 -1 2 kg/m2/s acetic_acid_emission_flux_from_biomass_burning kg_m-2_s-1 # EMIS_ALD2 ALD2 -1 -1 -1 2 kg/m2/s acetaldehyde_total_emission_mass_flux kg_m-2_s-1 EMIS_ALD2_IND ALD2 0 1 -1 2 kg/m2/s acetaldehyde_industry_emission_mass_flux kg_m-2_s-1 EMIS_ALD2_POW ALD2 0 2 -1 2 kg/m2/s acetaldehyde_power_emission_mass_flux kg_m-2_s-1 EMIS_ALD2_TRA ALD2 0 3 -1 2 kg/m2/s acetaldehyde_transportation_emission_mass_flux kg_m-2_s-1 EMIS_ALD2_RES ALD2 0 4 -1 2 kg/m2/s acetaldehyde_residential_emission_mass_flux kg_m-2_s-1 EMIS_ALD2_AGR ALD2 0 5 -1 2 kg/m2/s acetaldehyde_agriculture_emission_mass_flux kg_m-2_s-1 EMIS_ALD2_BB ALD2 0 8 -1 2 kg/m2/s acetaldehyde_biomass_burning_emission_mass_flux kg_m-2_s-1 EMIS_ALD2_WST ALD2 0 9 -1 2 kg/m2/s acetaldehyde_waste_emission_mass_flux kg_m-2_s-1 EMIS_ALD2_SHIP ALD2 0 10 -1 2 kg/m2/s acetaldehyde_ship_emission_mass_flux kg_m-2_s-1 EMIS_ALD2_OC ALD2 101 -1 -1 2 kg/m2/s acetaldehyde_ocean_emission_mass_flux kg_m-2_s-1 EMIS_ALD2_BG ALD2 108 -1 -1 2 kg/m2/s acetaldehyde_biogenic_emission_mass_flux kg_m-2_s-1 EMIS_ALD2_PLTDCY ALD2 0 99 -1 2 kg/m2/s ALD2_emission_flux_from_decaying_plants kg_m-2_s-1 # EMIS_ALK4 ALK4 -1 -1 -1 2 kg/m2/s lumped_alkanes_c4_and_c5_total_emission_mass_flux kg_m-2_s-1 EMIS_ALK4_IND ALK4 0 1 -1 2 kg/m2/s lumped_alkanes_c4_and_c5_industry_emission_mass_flux kg_m-2_s-1 EMIS_ALK4_POW ALK4 0 2 -1 2 kg/m2/s lumped_alkanes_c4_and_c5_power_emission_mass_flux kg_m-2_s-1 EMIS_ALK4_TRA ALK4 0 3 -1 2 kg/m2/s lumped_alkanes_c4_and_c5_transportation_emission_mass_flux kg_m-2_s-1 EMIS_ALK4_RES ALK4 0 4 -1 2 kg/m2/s lumped_alkanes_c4_and_c5_residential_emission_mass_flux kg_m-2_s-1 EMIS_ALK4_AGR ALK4 0 5 -1 2 kg/m2/s lumped_alkanes_c4_and_c5_agriculture_emission_mass_flux kg_m-2_s-1 EMIS_ALK4_BB ALK4 0 8 -1 2 kg/m2/s lumped_alkanes_c4_and_c5_biomass_burning_emission_mass_flux kg_m-2_s-1 EMIS_ALK4_WST ALK4 0 9 -1 2 kg/m2/s lumped_alkanes_c4_and_c5_waste_emission_mass_flux kg_m-2_s-1 EMIS_ALK4_SHIP ALK4 0 10 -1 2 kg/m2/s lumped_alkanes_c4_and_c5_ship_emission_mass_flux kg_m-2_s-1 EMIS_ALK4_AIR ALK4 0 20 -1 2 kg/m2/s lumped_alkanes_c4_and_c5_aircraft_emission_mass_flux kg_m-2_s-1 # EMIS_ALK6 ALK6 -1 -1 -1 2 kg/m2/s lumped_alkanes_c6_and_higher_total_emission_mass_flux kg_m-2_s-1 EMIS_ALK6_IND ALK6 0 1 -1 2 kg/m2/s lumped_alkanes_c6_and_higher_industry_emission_mass_flux kg_m-2_s-1 EMIS_ALK6_POW ALK6 0 2 -1 2 kg/m2/s lumped_alkanes_c6_and_higher_power_emission_mass_flux kg_m-2_s-1 EMIS_ALK6_TRA ALK6 0 3 -1 2 kg/m2/s lumped_alkanes_c6_and_higher_transportation_emission_mass_flux kg_m-2_s-1 EMIS_ALK6_RES ALK6 0 4 -1 2 kg/m2/s lumped_alkanes_c6_and_higher_residential_emission_mass_flux kg_m-2_s-1 EMIS_ALK6_AGR ALK6 0 5 -1 2 kg/m2/s lumped_alkanes_c6_and_higher_agriculture_emission_mass_flux kg_m-2_s-1 EMIS_ALK6_WST ALK6 0 9 -1 2 kg/m2/s lumped_alkanes_c6_and_higher_waste_emission_mass_flux kg_m-2_s-1 EMIS_ALK6_SHIP ALK6 0 10 -1 2 kg/m2/s lumped_alkanes_c6_and_higher_ship_emission_mass_flux kg_m-2_s-1 # EMIS_BCPI BCPI -1 -1 -1 2 kg/m2/s hydrophilic_black_carbon_total_emission_mass_flux kg_m-2_s-1 EMIS_BCPI_IND BCPI 0 1 -1 2 kg/m2/s hydrophilic_black_carbon_industry_emission_mass_flux kg_m-2_s-1 EMIS_BCPI_POW BCPI 0 2 -1 2 kg/m2/s hydrophilic_black_carbon_power_emission_mass_flux kg_m-2_s-1 EMIS_BCPI_TRA BCPI 0 3 -1 2 kg/m2/s hydrophilic_black_carbon_traffic_emission_mass_flux kg_m-2_s-1 EMIS_BCPI_RES BCPI 0 4 -1 2 kg/m2/s hydrophilic_black_carbon_residential_emission_mass_flux kg_m-2_s-1 EMIS_BCPI_AGR BCPI 0 5 -1 2 kg/m2/s hydrophilic_black_carbon_agriculture_emission_mass_flux kg_m-2_s-1 EMIS_BCPI_BB BCPI 0 8 -1 2 kg/m2/s hydrophilic_black_carbon_biomass_emission_mass_flux kg_m-2_s-1 EMIS_BCPI_WST BCPI 0 9 -1 2 kg/m2/s hydrophilic_black_carbon_waste_emission_mass_flux kg_m-2_s-1 EMIS_BCPI_SHIP BCPI 0 10 -1 2 kg/m2/s hydrophilic_black_carbon_ship_emission_mass_flux kg_m-2_s-1 EMIS_BCPI_AIR BCPI 0 20 -1 2 kg/m2/s hydrophilic_black_carbon_aircraft_emission_mass_flux kg_m-2_s-1 # EMIS_BCPO BCPO -1 -1 -1 2 kg/m2/s hydrophobic_black_carbon_total_emission_mass_flux kg_m-2_s-1 EMIS_BCPO_IND BCPO 0 1 -1 2 kg/m2/s hydrophobic_black_carbon_industry_emission_mass_flux kg_m-2_s-1 EMIS_BCPO_POW BCPO 0 2 -1 2 kg/m2/s hydrophobic_black_carbon_power_emission_mass_flux kg_m-2_s-1 EMIS_BCPO_TRA BCPO 0 3 -1 2 kg/m2/s hydrophobic_black_carbon_traffic_emission_mass_flux kg_m-2_s-1 EMIS_BCPO_RES BCPO 0 4 -1 2 kg/m2/s hydrophobic_black_carbon_residential_emission_mass_flux kg_m-2_s-1 EMIS_BCPO_AGR BCPO 0 5 -1 2 kg/m2/s hydrophobic_black_carbon_agriculture_emission_mass_flux kg_m-2_s-1 EMIS_BCPO_BB BCPO 0 8 -1 2 kg/m2/s hydrophobic_black_carbon_biomass_emission_mass_flux kg_m-2_s-1 EMIS_BCPO_WST BCPO 0 9 -1 2 kg/m2/s hydrophobic_black_carbon_waste_emission_mass_flux kg_m-2_s-1 EMIS_BCPO_SHIP BCPO 0 10 -1 2 kg/m2/s hydrophobic_black_carbon_ship_emission_mass_flux kg_m-2_s-1 EMIS_BCPO_AIR BCPO 0 20 -1 2 kg/m2/s hydrophobic_black_carbon_aircraft_emission_mass_flux kg_m-2_s-1 # EMIS_BENZ BENZ -1 -1 -1 2 kg/m2/s benzene_total_emission_mass_flux kg_m-2_s-1 EMIS_BENZ_IND BENZ 0 1 -1 2 kg/m2/s benzene_industry_emission_mass_flux kg_m-2_s-1 EMIS_BENZ_POW BENZ 0 2 -1 2 kg/m2/s benzene_power_emission_mass_flux kg_m-2_s-1 EMIS_BENZ_TRA BENZ 0 3 -1 2 kg/m2/s benzene_transportation_emission_mass_flux kg_m-2_s-1 EMIS_BENZ_RES BENZ 0 4 -1 2 kg/m2/s benzene_residential_emission_mass_flux kg_m-2_s-1 EMIS_BENZ_AGR BENZ 0 5 -1 2 kg/m2/s benzene_agriculture_emission_mass_flux kg_m-2_s-1 EMIS_BENZ_BB BENZ 0 8 -1 2 kg/m2/s benzene_biomass_burning_emission_mass_flux kg_m-2_s-1 EMIS_BENZ_WST BENZ 0 9 -1 2 kg/m2/s benzene_waste_emission_mass_flux kg_m-2_s-1 EMIS_BENZ_SHIP BENZ 0 10 -1 2 kg/m2/s benzene_ship_emission_mass_flux kg_m-2_s-1 # EMIS_Br2 Br2 -1 -1 -1 2 kg/m2/s molecular_bromine_total_emission_mass_flux kg_m-2_s-1 # EMIS_BrSALA BrSALA -1 -1 -1 2 kg/m2/s fine_sea_salt_bromine_total_emission_mass_flux kg_m-2_s-1 EMIS_BrSALC BrSALC -1 -1 -1 2 kg/m2/s coarse_sea_salt_bromine_total_emission_mass_flux kg_m-2_s-1 # EMIS_C2H2 C2H2 -1 -1 -1 2 kg/m2/s acetylene_total_emission_mass_flux kg_m-2_s-1 EMIS_C2H2_IND C2H2 0 1 -1 2 kg/m2/s acetylene_industry_emission_mass_flux kg_m-2_s-1 EMIS_C2H2_POW C2H2 0 2 -1 2 kg/m2/s acetylene_power_emission_mass_flux kg_m-2_s-1 EMIS_C2H2_TRA C2H2 0 3 -1 2 kg/m2/s acetylene_transportation_emission_mass_flux kg_m-2_s-1 EMIS_C2H2_RES C2H2 0 4 -1 2 kg/m2/s acetylene_residential_emission_mass_flux kg_m-2_s-1 EMIS_C2H2_AGR C2H2 0 5 -1 2 kg/m2/s acetylene_agriculture_emission_mass_flux kg_m-2_s-1 EMIS_C2H2_BB BENZ 0 8 -1 2 kg/m2/s acetylene_biomass_burning_emission_mass_flux kg_m-2_s-1 EMIS_C2H2_WST C2H2 0 9 -1 2 kg/m2/s acetylene_waste_emission_mass_flux kg_m-2_s-1 EMIS_C2H2_SHIP C2H2 0 10 -1 2 kg/m2/s acetylene_ship_emission_mass_flux kg_m-2_s-1 # EMIS_C2H4 C2H4 -1 -1 -1 2 kg/m2/s ethylene_total_emission_mass_flux kg_m-2_s-1 EMIS_C2H4_IND C2H4 0 1 -1 2 kg/m2/s ethylene_industry_emission_mass_flux kg_m-2_s-1 EMIS_C2H4_POW C2H4 0 2 -1 2 kg/m2/s ethylene_power_emission_mass_flux kg_m-2_s-1 EMIS_C2H4_TRA C2H4 0 3 -1 2 kg/m2/s ethylene_transportation_emission_mass_flux kg_m-2_s-1 EMIS_C2H4_RES C2H4 0 4 -1 2 kg/m2/s ethylene_residential_emission_mass_flux kg_m-2_s-1 EMIS_C2H4_AGR C2H4 0 5 -1 2 kg/m2/s ethylene_agriculture_emission_mass_flux kg_m-2_s-1 EMIS_C2H4_BB C2H4 0 8 -1 2 kg/m2/s ethylene_biomass_burning_emission_mass_flux kg_m-2_s-1 EMIS_C2H4_WST C2H4 0 9 -1 2 kg/m2/s ethylene_waste_emission_mass_flux kg_m-2_s-1 EMIS_C2H4_SHIP C2H4 0 10 -1 2 kg/m2/s ethylene_ship_emission_mass_flux kg_m-2_s-1 # EMIS_C2H6 C2H6 -1 -1 -1 2 kg/m2/s ethane_total_emission_mass_flux kg_m-2_s-1 EMIS_C2H6_IND C2H6 0 1 -1 2 kg/m2/s ethane_industry_emission_mass_flux kg_m-2_s-1 EMIS_C2H6_POW C2H6 0 2 -1 2 kg/m2/s ethane_power_emission_mass_flux kg_m-2_s-1 EMIS_C2H6_TRA C2H6 0 3 -1 2 kg/m2/s ethane_transportation_emission_mass_flux kg_m-2_s-1 EMIS_C2H6_RES C2H6 0 4 -1 2 kg/m2/s ethane_residential_emission_mass_flux kg_m-2_s-1 EMIS_C2H6_AGR C2H6 0 5 -1 2 kg/m2/s ethane_agriculture_emission_mass_flux kg_m-2_s-1 EMIS_C2H6_BB C2H6 0 8 -1 2 kg/m2/s ethane_biomass_burning_emission_mass_flux kg_m-2_s-1 EMIS_C2H6_WST C2H6 0 9 -1 2 kg/m2/s ethane_waste_emission_mass_flux kg_m-2_s-1 EMIS_C2H6_SHIP C2H6 0 10 -1 2 kg/m2/s ethane_ship_emission_mass_flux kg_m-2_s-1 EMIS_C2H6_AIR C2H6 0 20 -1 2 kg/m2/s ethane_aircraft_emission_mass_flux kg_m-2_s-1 # EMIS_C3H8 C3H8 -1 -1 -1 2 kg/m2/s propane_total_emission_mass_flux kg_m-2_s-1 EMIS_C3H8_IND C3H8 0 1 -1 2 kg/m2/s propane_industry_emission_mass_flux kg_m-2_s-1 EMIS_C3H8_POW C3H8 0 2 -1 2 kg/m2/s propane_power_emission_mass_flux kg_m-2_s-1 EMIS_C3H8_TRA C3H8 0 3 -1 2 kg/m2/s propane_transportation_emission_mass_flux kg_m-2_s-1 EMIS_C3H8_RES C3H8 0 4 -1 2 kg/m2/s propane_residential_emission_mass_flux kg_m-2_s-1 EMIS_C3H8_AGR C3H8 0 5 -1 2 kg/m2/s propane_agriculture_emission_mass_flux kg_m-2_s-1 EMIS_C3H8_BB C3H8 0 8 -1 2 kg/m2/s propane_biomass_burning_emission_mass_flux kg_m-2_s-1 EMIS_C3H8_WST C3H8 0 9 -1 2 kg/m2/s propane_waste_emission_mass_flux kg_m-2_s-1 EMIS_C3H8_SHIP C3H8 0 10 -1 2 kg/m2/s propane_ship_emission_mass_flux kg_m-2_s-1 EMIS_C3H8_AIR C3H8 0 20 -1 2 kg/m2/s propane_aircraft_emission_mass_flux kg_m-2_s-1 # EMIS_C4H6 C4H6 -1 -1 -1 2 kg/m2/s 1_3_butadiene_total_emission_mass_flux kg_m-2_s-1 # EMIS_CH2Br2 CH2Br2 -1 1 -1 2 kg/m2/s dibromomethane_total_emission_mass_flux kg_m-2_s-1 # EMIS_CH2I2 CH2I2 -1 -1 -1 2 kg/m2/s diiodomethane_total_emission_mass_flux kg_m-2_s-1 # EMIS_CH2ICl CH2ICl -1 -1 -1 2 kg/m2/s chloroiodomethane_total_emission_mass_flux kg_m-2_s-1 # EMIS_CH2IBr CH2IBr -1 -1 -1 2 kg/m2/s bromoiodomethane_total_emission_mass_flux kg_m-2_s-1 # EMIS_CH2O CH2O -1 -1 -1 2 kg/m2/s formaldehyde_total_emission_mass_flux kg_m-2_s-1 EMIS_CH2O_IND CH2O 0 1 -1 2 kg/m2/s formaldehyde_industry_emission_mass_flux kg_m-2_s-1 EMIS_CH2O_POW CH2O 0 2 -1 2 kg/m2/s formaldehyde_power_emission_mass_flux kg_m-2_s-1 EMIS_CH2O_TRA CH2O 0 3 -1 2 kg/m2/s formaldehyde_transportation_emission_mass_flux kg_m-2_s-1 EMIS_CH2O_RES CH2O 0 4 -1 2 kg/m2/s formaldehyde_residential_emission_mass_flux kg_m-2_s-1 EMIS_CH2O_AGR CH2O 0 5 -1 2 kg/m2/s formaldehyde_agriculture_emission_mass_flux kg_m-2_s-1 EMIS_CH2O_BB CH2O 0 8 -1 2 kg/m2/s formaldehyde_biomass_burning_emission_mass_flux kg_m-2_s-1 EMIS_CH2O_WST CH2O 0 9 -1 2 kg/m2/s formaldehyde_waste_emission_mass_flux kg_m-2_s-1 EMIS_CH2O_SHIP CH2O 0 10 -1 2 kg/m2/s formaldehyde_ship_emission_mass_flux kg_m-2_s-1 EMIS_CH2O_AIR CH2O 0 20 -1 2 kg/m2/s formaldehyde_aircraft_emission_mass_flux kg_m-2_s-1 # EMIS_CH3I CH3I -1 -1 -1 2 kg/m2/s methyl_iodide_total_emission_mass_flux kg_m-2_s-1 # EMIS_CH4 CH4 -1 -1 -1 2 kg/m2/s methane_total_emission_mass_flux kg_m-2_s-1 # EMIS_CHBr3 CHBr3 -1 -1 -1 2 kg/m2/s bromoform_total_emission_mass_flux kg_m-2_s-1 # EMIS_CH2Br2 CH2Br2 -1 -1 -1 2 kg/m2/s dibromomethane_total_emission_mass_flux kg_m-2_s-1 # EMIS_CO CO -1 -1 -1 2 kg/m2/s carbon_monoxide_total_emission_mass_flux kg_m-2_s-1 EMIS_CO_IND CO 0 1 -1 2 kg/m2/s carbon_monoxide_industry_emission_mass_flux kg_m-2_s-1 EMIS_CO_POW CO 0 2 -1 2 kg/m2/s carbon_monoxide_power_emission_mass_flux kg_m-2_s-1 EMIS_CO_TRA CO 0 3 -1 2 kg/m2/s carbon_monoxide_transportation_emission_mass_flux kg_m-2_s-1 EMIS_CO_RES CO 0 4 -1 2 kg/m2/s carbon_monoxide_residential_emission_mass_flux kg_m-2_s-1 EMIS_CO_AGR CO 0 5 -1 2 kg/m2/s carbon_monoxide_agriculture_emission_mass_flux kg_m-2_s-1 EMIS_CO_WST CO 0 9 -1 2 kg/m2/s carbon_monoxide_waste_emission_mass_flux kg_m-2_s-1 EMIS_CO_BB CO 0 8 -1 2 kg/m2/s carbon_monoxide_biomass_emission_mass_flux kg_m-2_s-1 EMIS_CO_SHIP CO 0 10 -1 2 kg/m2/s carbon_monoxide_ship_emission_mass_flux kg_m-2_s-1 EMIS_CO_BG CO 108 -1 -1 2 kg/m2/s carbon_monoxide_biogenic_emission_mass_flux kg_m-2_s-1 # EMIS_DMS DMS -1 -1 -1 2 kg/m2/s dimethyl_sulfide_total_emission_mass_flux kg_m-2_s-1 # EMIS_DSTbin1 DSTbin1 -1 -1 -1 2 kg/m2/s dust_aerosol_0.151_microns_emission_mass_flux kg_m-2_s-1 EMIS_DSTbin2 DSTbin2 -1 -1 -1 2 kg/m2/s dust_aerosol_0.253_microns_emission_mass_flux kg_m-2_s-1 EMIS_DSTbin3 DSTbin3 -1 -1 -1 2 kg/m2/s dust_aerosol_0.402_microns_emission_mass_flux kg_m-2_s-1 EMIS_DSTbin4 DSTbin4 -1 -1 -1 2 kg/m2/s dust_aerosol_0.818_microns_emission_mass_flux kg_m-2_s-1 EMIS_DSTbin5 DSTbin5 -1 -1 -1 2 kg/m2/s dust_aerosol_1.491_microns_emission_mass_flux kg_m-2_s-1 EMIS_DSTbin6 DSTbin6 -1 -1 -1 2 kg/m2/s dust_aerosol_2.417_microns_emission_mass_flux kg_m-2_s-1 EMIS_DSTbin7 DSTbin7 -1 -1 -1 2 kg/m2/s dust_aerosol_3.721_microns_emission_mass_flux kg_m-2_s-1 # EMIS_EOH EOH -1 -1 -1 2 kg/m2/s ethanol_total_emission_mass_flux kg_m-2_s-1 EMIS_EOH_IND EOH 0 1 -1 2 kg/m2/s ethanol_industry_emission_mass_flux kg_m-2_s-1 EMIS_EOH_POW EOH 0 2 -1 2 kg/m2/s ethanol_power_emission_mass_flux kg_m-2_s-1 EMIS_EOH_TRA EOH 0 3 -1 2 kg/m2/s ethanol_transportation_emission_mass_flux kg_m-2_s-1 EMIS_EOH_RES EOH 0 4 -1 2 kg/m2/s ethanol_residential_emission_mass_flux kg_m-2_s-1 EMIS_EOH_AGR EOH 0 5 -1 2 kg/m2/s ethanol_agriculture_emission_mass_flux kg_m-2_s-1 EMIS_EOH_BB EOH 0 8 -1 2 kg/m2/s ethanol_biomass_burning_emission_mass_flux kg_m-2_s-1 EMIS_EOH_WST EOH 0 9 -1 2 kg/m2/s ethanol_waste_emission_mass_flux kg_m-2_s-1 EMIS_EOH_SHIP EOH 0 10 -1 2 kg/m2/s ethanol_ship_emission_mass_flux kg_m-2_s-1 EMIS_EOH_BG EOH 108 -1 -1 2 kg/m2/s ethanol_biogenic_emission_mass_flux kg_m-2_s-1 # EMIS_ETNO3 ETNO3 -1 -1 -1 2 kg/m2/s ethyl_nitrate_total_emission_mass_flux kg_m-2_s-1 # EMIS_FURA ETNO3 -1 -1 -1 2 kg/m2/s furan_total_emission_mass_flux kg_m-2_s-1 # EMIS_GLYX GLYX -1 -1 -1 2 kg/m2/s glyoxal_nitrate_total_emission_mass_flux kg_m-2_s-1 # EMIS_H2O H2O -1 -1 -1 2 kg/m2/s H2O_emission_flux_from_aircraft kg_m-2_s-1 # EMIS_HCOOH HCOOH -1 -1 -1 2 kg/m2/s formic_acid_total_emission_mass_flux kg_m-2_s-1 EMIS_HCOOH_IND HCOOH 0 1 -1 2 kg/m2/s formic_acid_industry_emission_mass_flux kg_m-2_s-1 EMIS_HCOOH_POW HCOOH 0 2 -1 2 kg/m2/s formic_acid_power_emission_mass_flux kg_m-2_s-1 EMIS_HCOOH_TRA HCOOH 0 3 -1 2 kg/m2/s formic_acid_transportation_emission_mass_flux kg_m-2_s-1 EMIS_HCOOH_RES HCOOH 0 4 -1 2 kg/m2/s formic_acid_residential_emission_mass_flux kg_m-2_s-1 EMIS_HCOOH_AGR HCOOH 0 5 -1 2 kg/m2/s formic_acid_agriculture_emission_mass_flux kg_m-2_s-1 EMIS_HCOOH_BB HCOOH 0 8 -1 2 kg/m2/s formic_acid_biomass_burning_emission_mass_flux kg_m-2_s-1 EMIS_HCOOH_WST HCOOH 0 9 -1 2 kg/m2/s formic_acid_waste_emission_mass_flux kg_m-2_s-1 EMIS_HCOOH_SHIP HCOOH 0 10 -1 2 kg/m2/s formic_acid_ship_emission_mass_flux kg_m-2_s-1 # EMIS_HOI HOI -1 -1 -1 2 kg/m2/s hypoiodous_acid_total_emission_mass_flux kg_m-2_s-1 # EMIS_HNO2 HNO2 -1 -1 -1 2 kg/m2/s nitrous_acid_total_emission_mass_flux kg_m-2_s-1 # EMIS_HNO3 HNO2 -1 -1 -1 2 kg/m2/s nitric_acid_total_emission_mass_flux kg_m-2_s-1 # EMIS_I2 I2 -1 -1 -1 2 kg/m2/s molecular_iodine_total_emission_mass_flux kg_m-2_s-1 # EMIS_ISOP ISOP -1 -1 -1 2 kg/m2/s isoprene_total_emission_mass_flux kg_m-2_s-1 # EMIS_LIMO LIMO -1 -1 -1 2 kg/m2/s limonene_total_emission_mass_flux kg_m-2_s-1 # EMIS_MACR MACR -1 -1 -1 2 kg/m2/s methacrolein_total_emission_mass_flux kg_m-2_s-1 # EMIS_MEK MEK -1 -1 -1 2 kg/m2/s methyl_ethyl_ketone_total_emission_mass_flux kg_m-2_s-1 EMIS_MEK_IND MEK 0 1 -1 2 kg/m2/s methyl_ethyl_ketone_industry_emission_mass_flux kg_m-2_s-1 EMIS_MEK_POW MEK 0 2 -1 2 kg/m2/s methyl_ethyl_ketone_power_emission_mass_flux kg_m-2_s-1 EMIS_MEK_TRA MEK 0 3 -1 2 kg/m2/s methyl_ethyl_ketone_transportation_emission_mass_flux kg_m-2_s-1 EMIS_MEK_RES MEK 0 4 -1 2 kg/m2/s methyl_ethyl_ketone_residential_emission_mass_flux kg_m-2_s-1 EMIS_MEK_AGR MEK 0 5 -1 2 kg/m2/s methyl_ethyl_ketone_agriculture_emission_mass_flux kg_m-2_s-1 EMIS_MEK_BB MEK 0 8 -1 2 kg/m2/s methyl_ethyl_ketone_biomass_burning_emission_mass_flux kg_m-2_s-1 EMIS_MEK_WST MEK 0 9 -1 2 kg/m2/s methyl_ethyl_ketone_waste_emission_mass_flux kg_m-2_s-1 EMIS_MEK_SHIP MEK 0 10 -1 2 kg/m2/s methyl_ethyl_ketone_ship_emission_mass_flux kg_m-2_s-1 EMIS_MEK_OC MEK 101 -1 -1 2 kg/m2/s methyl_ethyl_ketone_ocean_emission_mass_flux kg_m-2_s-1 # EMIS_MENO3 MENO3 -1 -1 -1 2 kg/m2/s methyl_nitrate_total_emission_mass_flux kg_m-2_s-1 # EMIS_MGLY MGLY -1 -1 -1 2 kg/m2/s methylglyoxal_total_emission_mass_flux kg_m-2_s-1 # EMIS_MOH MOH -1 -1 -1 2 kg/m2/s methanol_total_emission_mass_flux kg_m-2_s-1 EMIS_MOH_IND MOH 0 1 -1 2 kg/m2/s methanol_industry_emission_mass_flux kg_m-2_s-1 EMIS_MOH_POW MOH 0 2 -1 2 kg/m2/s methanol_power_emission_mass_flux kg_m-2_s-1 EMIS_MOH_TRA MOH 0 3 -1 2 kg/m2/s methanol_transportation_emission_mass_flux kg_m-2_s-1 EMIS_MOH_RES MOH 0 4 -1 2 kg/m2/s methanol_residential_emission_mass_flux kg_m-2_s-1 EMIS_MOH_AGR MOH 0 5 -1 2 kg/m2/s methanol_agriculture_emission_mass_flux kg_m-2_s-1 EMIS_MOH_BB MOH 0 8 -1 2 kg/m2/s methanol_biomass_burning_emission_mass_flux kg_m-2_s-1 EMIS_MOH_WST MOH 0 9 -1 2 kg/m2/s methanol_waste_emission_mass_flux kg_m-2_s-1 EMIS_MOH_SHIP MOH 0 10 -1 2 kg/m2/s methanol_ship_emission_mass_flux kg_m-2_s-1 EMIS_MOH_BG MOH 108 -1 -1 2 kg/m2/s methanol_biogenic_emission_mass_flux kg_m-2_s-1 # EMIS_MTPA MTPA -1 -1 -1 2 kg/m2/s a_pinene_b-pinene_sabinene_carene_total_emission_mass_flux kg_m-2_s-1 # EMIS_MTPO MTPO -1 -1 -1 2 kg/m2/s terpinene_terpinolene_myrcene_ocimene_other_monoterpenes_total_mass_flux kg_m-2_s-1 # EMIS_MEK MEK -1 -1 -1 2 kg/m2/s methyl_vinyl_ketone_total_emission_mass_flux kg_m-2_s-1 # EMIS_NAP NAP -1 -1 -1 2 kg/m2/s napthalene_total_emission_mass_flux kg_m-2_s-1 # EMIS_NH3 NH3 -1 -1 -1 2 kg/m2/s ammonia_total_emission_mass_flux kg_m-2_s-1 EMIS_NH3_IND NH3 0 1 -1 2 kg/m2/s ammonia_industry_emission_mass_flux kg_m-2_s-1 EMIS_NH3_POW NH3 0 2 -1 2 kg/m2/s ammonia_power_emission_mass_flux kg_m-2_s-1 EMIS_NH3_TRA NH3 0 3 -1 2 kg/m2/s ammonia_transportation_emission_mass_flux kg_m-2_s-1 EMIS_NH3_RES NH3 0 4 -1 2 kg/m2/s ammonia_residential_emission_mass_flux kg_m-2_s-1 EMIS_NH3_AGR NH3 0 5 -1 2 kg/m2/s ammonia_agriculture_emission_mass_flux kg_m-2_s-1 EMIS_NH3_BB NH3 0 8 -1 2 kg/m2/s ammonia_biomass_burning_emission_mass_flux kg_m-2_s-1 EMIS_NH3_WST NH3 0 9 -1 2 kg/m2/s ammonia_waste_emission_mass_flux kg_m-2_s-1 EMIS_NH3_SHIP NH3 0 10 -1 2 kg/m2/s ammonia_ship_emission_mass_flux kg_m-2_s-1 EMIS_NH3_BIRD NH3 0 30 -1 2 kg/m2/s ammonia_seabird_emission_mass_flux kg_m-2_s-1 # EMIS_NO NO -1 -1 -1 2 kg/m2/s nitric_oxide_total_emission_mass_flux kg_m-2_s-1 EMIS_NO_IND NO 0 1 -1 2 kg/m2/s nitric_oxide_industry_emission_mass_flux kg_m-2_s-1 EMIS_NO_POW NO 0 2 -1 2 kg/m2/s nitric_oxide_power_emission_mass_flux kg_m-2_s-1 EMIS_NO_TRA NO 0 3 -1 2 kg/m2/s nitric_oxide_transportation_emission_mass_flux kg_m-2_s-1 EMIS_NO_RES NO 0 4 -1 2 kg/m2/s nitric_oxide_residential_emission_mass_flux kg_m-2_s-1 EMIS_NO_AGR NO 0 5 -1 2 kg/m2/s nitric_oxide_agriculture_emission_mass_flux kg_m-2_s-1 EMIS_NO_WST NO 0 9 -1 2 kg/m2/s nitric_oxide_waste_emission_mass_flux kg_m-2_s-1 EMIS_NO_BB NO 0 8 -1 2 kg/m2/s nitric_oxide_biomass_emission_mass_flux kg_m-2_s-1 EMIS_NO_SHIP NO 0 10 -1 2 kg/m2/s nitric_oxide_ship_emission_mass_flux kg_m-2_s-1 EMIS_NO_AIR NO 0 20 -1 2 kg/m2/s nitric_oxide_aircraft_emission_mass_flux kg_m-2_s-1 EMIS_NO_LGHT NO 103 -1 -1 2 kg/m2/s nitric_oxide_lightning_emission_mass_flux kg_m-2_s-1 EMIS_NO_SOIL NO 104 -1 -1 2 kg/m2/s nitric_oxide_soil_emission_mass_flux kg_m-2_s-1 # EMIS_NO2 NO2 -1 -1 -1 2 kg/m2/s nitrogen_dioxide_total_emission_mass_flux kg_m-2_s-1 EMIS_NO2_IND NO2 0 1 -1 2 kg/m2/s nitrogen_dioxide_industry_emission_mass_flux kg_m-2_s-1 EMIS_NO2_POW NO2 0 2 -1 2 kg/m2/s nitrogen_dioxide_power_emission_mass_flux kg_m-2_s-1 EMIS_NO2_TRA NO2 0 3 -1 2 kg/m2/s nitrogen_dioxide_transportation_emission_mass_flux kg_m-2_s-1 EMIS_NO2_RES NO2 0 4 -1 2 kg/m2/s nitrogen_dioxide_residential_emission_mass_flux kg_m-2_s-1 EMIS_NO2_AGR NO2 0 5 -1 2 kg/m2/s nitrogen_dioxide_agriculture_emission_mass_flux kg_m-2_s-1 EMIS_NO2_BB NO2 0 8 -1 2 kg/m2/s nitrogen_dioxide_biomass_emission_mass_flux kg_m-2_s-1 EMIS_NO2_WST NO2 0 9 -1 2 kg/m2/s nitrogen_dioxide_waste_emission_mass_flux kg_m-2_s-1 EMIS_NO2_SHIP NO2 0 10 -1 2 kg/m2/s nitrogen_dioxide_ship_emission_mass_flux kg_m-2_s-1 EMIS_NO2_AIR NO2 0 20 -1 2 kg/m2/s nitrogen_dioxide_aircraft_emission_mass_flux kg_m-2_s-1 # EMIS_OCPI OCPI -1 -1 -1 2 kg/m2/s hydrophilic_organic_carbon_total_emission_mass_flux kg_m-2_s-1 EMIS_OCPI_IND OCPI 0 1 -1 2 kg/m2/s hydrophilic_organic_carbon_industry_emission_mass_flux kg_m-2_s-1 EMIS_OCPI_POW OCPI 0 2 -1 2 kg/m2/s hydrophilic_organic_carbon_power_emission_mass_flux kg_m-2_s-1 EMIS_OCPI_TRA OCPI 0 3 -1 2 kg/m2/s hydrophilic_organic_carbon_traffic_emission_mass_flux kg_m-2_s-1 EMIS_OCPI_RES OCPI 0 4 -1 2 kg/m2/s hydrophilic_organic_carbon_residential_emission_mass_flux kg_m-2_s-1 EMIS_OCPI_AGR OCPI 0 5 -1 2 kg/m2/s hydrophilic_organic_carbon_agriculture_emission_mass_flux kg_m-2_s-1 EMIS_OCPI_BB OCPI 0 8 -1 2 kg/m2/s hydrophilic_organic_carbon_biomass_emission_mass_flux kg_m-2_s-1 EMIS_OCPI_WST OCPI 0 9 -1 2 kg/m2/s hydrophilic_organic_carbon_waste_emission_mass_flux kg_m-2_s-1 EMIS_OCPI_SHIP OCPI 0 10 -1 2 kg/m2/s hydrophilic_organic_carbon_ship_emission_mass_flux kg_m-2_s-1 EMIS_OCPI_AIR OCPI 0 20 -1 2 kg/m2/s hydrophilic_organic_carbon_aircraft_emission_mass_flux kg_m-2_s-1 # EMIS_OCPO OCPO -1 -1 -1 2 kg/m2/s hydrophobic_organic_carbon_total_emission_mass_flux kg_m-2_s-1 EMIS_OCPO_IND OCPO 0 1 -1 2 kg/m2/s hydrophobic_organic_carbon_industry_emission_mass_flux kg_m-2_s-1 EMIS_OCPO_POW OCPO 0 2 -1 2 kg/m2/s hydrophobic_organic_carbon_power_emission_mass_flux kg_m-2_s-1 EMIS_OCPO_TRA OCPO 0 3 -1 2 kg/m2/s hydrophobic_organic_carbon_traffic_emission_mass_flux kg_m-2_s-1 EMIS_OCPO_RES OCPO 0 4 -1 2 kg/m2/s hydrophobic_organic_carbon_residential_emission_mass_flux kg_m-2_s-1 EMIS_OCPO_AGR OCPO 0 5 -1 2 kg/m2/s hydrophobic_organic_carbon_agriculture_emission_mass_flux kg_m-2_s-1 EMIS_OCPO_BB OCPO 0 8 -1 2 kg/m2/s hydrophobic_organic_carbon_biomass_emission_mass_flux kg_m-2_s-1 EMIS_OCPO_WST OCPO 0 9 -1 2 kg/m2/s hydrophobic_organic_carbon_waste_emission_mass_flux kg_m-2_s-1 EMIS_OCPO_SHIP OCPO 0 10 -1 2 kg/m2/s hydrophobic_organic_carbon_ship_emission_mass_flux kg_m-2_s-1 EMIS_OCPO_AIR OCPO 0 20 -1 2 kg/m2/s hydrophobic_organic_carbon_aircraft_emission_mass_flux kg_m-2_s-1 # EMIS_pFe pFe -1 -1 -1 2 kg/m2/s anthropogenic_iron_total_emission_mass_flux kg_m-2_s-1 # EMIS_PHEN PHEN -1 -1 -1 2 kg/m2/s phenol_total_emission_mass_flux kg_m-2_s-1 # EMIS_PRPE PRPE -1 -1 -1 2 kg/m2/s lumped_alkenes_c3_and_higher_total_emission_mass_flux kg_m-2_s-1 EMIS_PRPE_IND PRPE 0 1 -1 2 kg/m2/s lumped_alkenes_c3_and_higher_industry_emission_mass_flux kg_m-2_s-1 EMIS_PRPE_POW PRPE 0 2 -1 2 kg/m2/s lumped_alkenes_c3_and_higher_power_emission_mass_flux kg_m-2_s-1 EMIS_PRPE_TRA PRPE 0 3 -1 2 kg/m2/s lumped_alkenes_c3_and_higher_transportation_emission_mass_flux kg_m-2_s-1 EMIS_PRPE_RES PRPE 0 4 -1 2 kg/m2/s lumped_alkenes_c3_and_higher_residential_emission_mass_flux kg_m-2_s-1 EMIS_PRPE_AGR PRPE 0 5 -1 2 kg/m2/s lumped_alkenes_c3_and_higher_agriculture_emission_mass_flux kg_m-2_s-1 EMIS_PRPE_BB PRPE 0 8 -1 2 kg/m2/s lumped_alkenes_c3_and_higher_biomass_burning_emission_mass_flux kg_m-2_s-1 EMIS_PRPE_WST PRPE 0 9 -1 2 kg/m2/s lumped_alkenes_c3_and_higher_waste_emission_mass_flux kg_m-2_s-1 EMIS_PRPE_SHIP PRPE 0 10 -1 2 kg/m2/s lumped_alkenes_c3_and_higher_ship_emission_mass_flux kg_m-2_s-1 EMIS_PRPE_AIR PRPE 0 20 -1 2 kg/m2/s lumped_alkenes_c3_and_hgiher_aircraft_emission_mass_flux kg_m-2_s-1 EMIS_PRPE_BG PRPE 108 -1 -1 2 kg/m2/s lumped_alkenes_c3_and_higher_biogenic_emission_mass_flux kg_m-2_s-1 # EMIS_RCHO RCHO -1 -1 -1 2 kg/m2/s lumped_aldehyde_c3_and_higher_total_emission_mass_flux kg_m-2_s-1 # EMIS_ROH ROH -1 -1 -1 2 kg/m2/s alcohols_total_emission_mass_flux kg_m-2_s-1 EMIS_ROH_IND ROH 0 1 -1 2 kg/m2/s alcohols_industry_emission_mass_flux kg_m-2_s-1 EMIS_ROH_POW ROH 0 2 -1 2 kg/m2/s alcohols_power_emission_mass_flux kg_m-2_s-1 EMIS_ROH_TRA ROH 0 3 -1 2 kg/m2/s alcohols_transportation_emission_mass_flux kg_m-2_s-1 EMIS_ROH_RES ROH 0 4 -1 2 kg/m2/s alcohols_residential_emission_mass_flux kg_m-2_s-1 EMIS_ROH_AGR ROH 0 5 -1 2 kg/m2/s alcohols_agriculture_emission_mass_flux kg_m-2_s-1 EMIS_ROH_BB ROH 0 8 -1 2 kg/m2/s alcohols_biomass_burning_emission_mass_flux kg_m-2_s-1 EMIS_ROH_WST ROH 0 9 -1 2 kg/m2/s alcohols_waste_emission_mass_flux kg_m-2_s-1 EMIS_ROH_SHIP ROH 0 10 -1 2 kg/m2/s alcohols_ship_emission_mass_flux kg_m-2_s-1 # EMIS_SALA SALA -1 -1 -1 2 kg/m2/s sea-salt_aerosol_accumulation_mode_0.01-0.05_microns_total_emission_mass_flux kg_m-2_s-1 EMIS_SALC SALC -1 -1 -1 2 kg/m2/s sea-salt_aerosol_coarse_mode_0.5-8_microns_total_emission_mass_flux kg_m-2_s-1 # EMIS_SO2 SO2 -1 -1 -1 2 kg/m2/s sulfur_dioxide_total_emission_mass_flux kg_m-2_s-1 EMIS_SO2_IND SO2 0 1 -1 2 kg/m2/s sulfur_dioxide_industry_emission_mass_flux kg_m-2_s-1 EMIS_SO2_POW SO2 0 2 -1 2 kg/m2/s sulfur_dioxide_power_emission_mass_flux kg_m-2_s-1 EMIS_SO2_TRA SO2 0 3 -1 2 kg/m2/s sulfur_dioxide_transportation_emission_mass_flux kg_m-2_s-1 EMIS_SO2_RES SO2 0 4 -1 2 kg/m2/s sulfur_dioxide_residential_emission_mass_flux kg_m-2_s-1 EMIS_SO2_AGR SO2 0 5 -1 2 kg/m2/s sulfur_dioxide_agriculture_emission_mass_flux kg_m-2_s-1 EMIS_SO2_BB SO2 0 8 -1 2 kg/m2/s sulfur_dioxide_biomass_emission_mass_flux kg_m-2_s-1 EMIS_SO2_WST SO2 0 9 -1 2 kg/m2/s sulfur_dioxide_waste_emission_mass_flux kg_m-2_s-1 EMIS_SO2_SHIP SO2 0 10 -1 2 kg/m2/s sulfur_dioxide_ship_emission_mass_flux kg_m-2_s-1 EMIS_SO2_AIR SO2 0 20 -1 2 kg/m2/s sulfur_dioxide_aircraft_emission_mass_flux kg_m-2_s-1 EMIS_SO2_VER SO2 117 61 -1 2 kg/m2/s sulfur_dioxide_eruptive_volcano_emission_mass_flux kg_m-2_s-1 EMIS_SO2_VDG SO2 117 62 -1 2 kg/m2/s sulfur_dioxide_degassing_volcano_emission_mass_flux kg_m-2_s-1 # EMIS_SO4 SO4 -1 -1 -1 2 kg/m2/s sulfate_total_emission_mass_flux kg_m-2_s-1 EMIS_SO4_IND SO4 0 1 -1 2 kg/m2/s sulfate_industry_emission_mass_flux kg_m-2_s-1 EMIS_SO4_POW SO4 0 2 -1 2 kg/m2/s sulfate_power_emission_mass_flux kg_m-2_s-1 EMIS_SO4_TRA SO4 0 3 -1 2 kg/m2/s sulfate_transportation_emission_mass_flux kg_m-2_s-1 EMIS_SO4_RES SO4 0 4 -1 2 kg/m2/s sulfate_residential_emission_mass_flux kg_m-2_s-1 EMIS_SO4_AGR SO4 0 5 -1 2 kg/m2/s sulfate_agriculture_emission_mass_flux kg_m-2_s-1 EMIS_SO4_BB SO4 0 8 -1 2 kg/m2/s sulfate_biomass_emission_mass_flux kg_m-2_s-1 EMIS_SO4_WST SO4 0 9 -1 2 kg/m2/s sulfate_waste_emission_mass_flux kg_m-2_s-1 EMIS_SO4_SHIP SO4 0 10 -1 2 kg/m2/s sulfate_ship_emission_mass_flux kg_m-2_s-1 EMIS_SO4_AIR SO4 0 20 -1 2 kg/m2/s sulfate_aircraft_emission_mass_flux kg_m-2_s-1 EMIS_SO4_VER SO4 117 61 -1 2 kg/m2/s sulfate_eruptive_volcano_emission_mass_flux kg_m-2_s-1 EMIS_SO4_VDG SO4 117 62 -1 2 kg/m2/s sulfate_degassing_volcano_emission_mass_flux kg_m-2_s-1 # EMIS_SOAP SOAP -1 -1 -1 2 kg/m2/s SOA_precursor_total_emission_mass_flux kg_m-2_s-1 EMIS_SOAP_IND SOAP 0 1 -1 2 kg/m2/s SOA_precursor_industry_emission_mass_flux kg_m-2_s-1 EMIS_SOAP_POW SOAP 0 2 -1 2 kg/m2/s SOA_presursor_power_emission_mass_flux kg_m-2_s-1 EMIS_SOAP_TRA SOAP 0 3 -1 2 kg/m2/s SOA_precursor_traffic_emission_mass_flux kg_m-2_s-1 EMIS_SOAP_RES SOAP 0 4 -1 2 kg/m2/s SOA_precursor_residential_emission_mass_flux kg_m-2_s-1 EMIS_SOAP_AGR SOAP 0 5 -1 2 kg/m2/s SOA_precursor_agriculture_emission_mass_flux kg_m-2_s-1 EMIS_SOAP_BB SOAP 0 8 -1 2 kg/m2/s SOA_precursor_biomass_emission_mass_flux kg_m-2_s-1 EMIS_SOAP_WST SOAP 0 9 -1 2 kg/m2/s SOA_presursor_waste_emission_mass_flux kg_m-2_s-1 EMIS_SOAP_SHIP SOAP 0 10 -1 2 kg/m2/s SOA_precursor_ship_emission_mass_flux kg_m-2_s-1 EMIS_SOAP_AIR SOAP 0 20 -1 2 kg/m2/s SOA_precursor_aircraft_emission_mass_flux kg_m-2_s-1 EMIS_SOAP_BG SOAP 108 -1 -1 2 kg/m2/s SOA_precursor_biogenic_emission_mass_flux kg_m-2_s-1 # EMIS_SESQ SESQ -1 -1 -1 2 kg/m2/s sesquiterpenes_total_emission_mass_flux kg_m-2_s-1 EMIS_SESQ_BG SESQ 108 -1 -1 2 kg/m2/s sesquiterpenes_biogenic_emission_mass_flux kg_m-2_s-1 # EMIS_SOAS SOAS -1 -1 -1 2 kg/m2/s SOA_simple_total_emission_mass_flux kg_m-2_s-1 EMIS_SOAS_BB SOAS 0 8 -1 2 kg/m2/s SOA_simple_biomass_emission_mass_flux kg_m-2_s-1 EMIS_SOAS_BG SOAS 108 -1 -1 2 kg/m2/s SOA_simple_biogenic_emission_mass_flux kg_m-2_s-1 # EMIS_TMB TMB -1 -1 -1 2 kg/m2/s trimethylbenzenes_total_emission_mass_flux kg_m-2_s-1 EMIS_TMB_IND TMB 0 1 -1 2 kg/m2/s trimethylbenzenes_industry_emission_mass_flux kg_m-2_s-1 EMIS_TMB_POW TMB 0 2 -1 2 kg/m2/s trimethylbenzenes_power_emission_mass_flux kg_m-2_s-1 EMIS_TMB_TRA TMB 0 3 -1 2 kg/m2/s trimethylbenzenes_transportation_emission_mass_flux kg_m-2_s-1 EMIS_TMB_RES TMB 0 4 -1 2 kg/m2/s trimethylbenzenes_residential_emission_mass_flux kg_m-2_s-1 EMIS_TMB_AGR TMB 0 5 -1 2 kg/m2/s trimethylbenzenes_agriculture_emission_mass_flux kg_m-2_s-1 EMIS_TMB_BB TMB 0 8 -1 2 kg/m2/s trimethylbenzenes_biomass_burning_emission_mass_flux kg_m-2_s-1 EMIS_TMB_WST TMB 0 9 -1 2 kg/m2/s trimethylbenzenes_waste_emission_mass_flux kg_m-2_s-1 EMIS_TMB_SHIP TMB 0 10 -1 2 kg/m2/s trimethylbenzenes_ship_emission_mass_flux kg_m-2_s-1 # EMIS_TOLU TOLU -1 -1 -1 2 kg/m2/s toluene_total_emission_mass_flux kg_m-2_s-1 EMIS_TOLU_IND TOLU 0 1 -1 2 kg/m2/s toluene_industry_emission_mass_flux kg_m-2_s-1 EMIS_TOLU_POW TOLU 0 2 -1 2 kg/m2/s toluene_power_emission_mass_flux kg_m-2_s-1 EMIS_TOLU_TRA TOLU 0 3 -1 2 kg/m2/s toluene_transportation_emission_mass_flux kg_m-2_s-1 EMIS_TOLU_RES TOLU 0 4 -1 2 kg/m2/s toluene_residential_emission_mass_flux kg_m-2_s-1 EMIS_TOLU_AGR TOLU 0 5 -1 2 kg/m2/s toluene_agriculture_emission_mass_flux kg_m-2_s-1 EMIS_TOLU_BB TOLU 0 8 -1 2 kg/m2/s toluene_biomass_burning_emission_mass_flux kg_m-2_s-1 EMIS_TOLU_WST TOLU 0 9 -1 2 kg/m2/s toluene_waste_emission_mass_flux kg_m-2_s-1 EMIS_TOLU_SHIP TOLU 0 10 -1 2 kg/m2/s toluene_ship_emission_mass_flux kg_m-2_s-1 # EMIS_XYLE XYLE -1 -1 -1 2 kg/m2/s xylene_total_emission_mass_flux kg_m-2_s-1 EMIS_XYLE_IND XYLE 0 1 -1 2 kg/m2/s xylene_industry_emission_mass_flux kg_m-2_s-1 EMIS_XYLE_POW XYLE 0 2 -1 2 kg/m2/s xylene_power_emission_mass_flux kg_m-2_s-1 EMIS_XYLE_TRA XYLE 0 3 -1 2 kg/m2/s xylene_transportation_emission_mass_flux kg_m-2_s-1 EMIS_XYLE_RES XYLE 0 4 -1 2 kg/m2/s xylene_residential_emission_mass_flux kg_m-2_s-1 EMIS_XYLE_AGR XYLE 0 5 -1 2 kg/m2/s xylene_agriculture_emission_mass_flux kg_m-2_s-1 EMIS_XYLE_BB XYLE 0 8 -1 2 kg/m2/s xylene_biomass_burning_emission_mass_flux kg_m-2_s-1 EMIS_XYLE_WST XYLE 0 9 -1 2 kg/m2/s xylene_waste_emission_mass_flux kg_m-2_s-1 EMIS_XYLE_SHIP XYLE 0 10 -1 2 kg/m2/s xylene_ship_emission_mass_flux kg_m-2_s-1 # EMIS_VFEI_ACTA ACTA 122 -1 -1 2 kg/m2/s vfei_emissions_ACTA kg_m-2_s-1 EMIS_VFEI_ACET ACET 122 -1 -1 2 kg/m2/s vfei_emissions_ACET kg_m-2_s-1 EMIS_VFEI_ALD2 ALD2 122 -1 -1 2 kg/m2/s vfei_emissions_ALD2 kg_m-2_s-1 EMIS_VFEI_ALK4 ALK4 122 -1 -1 2 kg/m2/s vfei_emissions_ALK4 kg_m-2_s-1 EMIS_VFEI_BCPI BCPI 122 -1 -1 2 kg/m2/s vfei_emissions_BCPI kg_m-2_s-1 EMIS_VFEI_BCPO BCPO 122 -1 -1 2 kg/m2/s vfei_emissions_BCPO kg_m-2_s-1 EMIS_VFEI_BENZ BENZ 122 -1 -1 2 kg/m2/s vfei_emissions_BENZ kg_m-2_s-1 EMIS_VFEI_C2H6 C2H6 122 -1 -1 2 kg/m2/s vfei_emissions_C2H6 kg_m-2_s-1 EMIS_VFEI_C3H8 C3H8 122 -1 -1 2 kg/m2/s vfei_emissions_C3H8 kg_m-2_s-1 EMIS_VFEI_CH2O CH2O 122 -1 -1 2 kg/m2/s vfei_emissions_CH2O kg_m-2_s-1 EMIS_VFEI_CO CO 122 -1 -1 2 kg/m2/s vfei_emissions_CO kg_m-2_s-1 EMIS_VFEI_DMS DMS 122 -1 -1 2 kg/m2/s vfei_emissions_DMS kg_m-2_s-1 EMIS_VFEI_EOH EOH 122 -1 -1 2 kg/m2/s vfei_emissions_EOH kg_m-2_s-1 EMIS_VFEI_GLYX GLYX 122 -1 -1 2 kg/m2/s vfei_emissions_GLYX kg_m-2_s-1 EMIS_VFEI_HCl HCl 122 -1 -1 2 kg/m2/s vfei_emissions_HCl kg_m-2_s-1 EMIS_VFEI_HNO2 HNO2 122 -1 -1 2 kg/m2/s vfei_emissions_HNO2 kg_m-2_s-1 EMIS_VFEI_ISOP ISOP 122 -1 -1 2 kg/m2/s vfei_emissions_ISOP kg_m-2_s-1 EMIS_VFEI_MACR MACR 122 -1 -1 2 kg/m2/s vfei_emissions_MACR kg_m-2_s-1 EMIS_VFEI_MEK MEK 122 -1 -1 2 kg/m2/s vfei_emissions_MEK kg_m-2_s-1 EMIS_VFEI_MGLY MGLY 122 -1 -1 2 kg/m2/s vfei_emissions_MGLY kg_m-2_s-1 EMIS_VFEI_MOH MOH 122 -1 -1 2 kg/m2/s vfei_emissions_MOH kg_m-2_s-1 EMIS_VFEI_MTPO MTPO 122 -1 -1 2 kg/m2/s vfei_emissions_MTPO kg_m-2_s-1 EMIS_VFEI_MVK MVK 122 -1 -1 2 kg/m2/s vfei_emissions_MVK kg_m-2_s-1 EMIS_VFEI_NH3 NH3 122 -1 -1 2 kg/m2/s vfei_emissions_NH3 kg_m-2_s-1 EMIS_VFEI_NO NO 122 -1 -1 2 kg/m2/s vfei_emissions_NO kg_m-2_s-1 EMIS_VFEI_OCPI OCPI 122 -1 -1 2 kg/m2/s vfei_emissions_OCPI kg_m-2_s-1 EMIS_VFEI_OCPO OCPO 122 -1 -1 2 kg/m2/s vfei_emissions_OCPO kg_m-2_s-1 EMIS_VFEI_PRPE PRPE 122 -1 -1 2 kg/m2/s vfei_emissions_PRPE kg_m-2_s-1 EMIS_VFEI_SO2 SO2 122 -1 -1 2 kg/m2/s vfei_emissions_SO2 kg_m-2_s-1 EMIS_VFEI_SOAP SOAP 122 -1 -1 2 kg/m2/s vfei_emissions_SOAP kg_m-2_s-1 EMIS_VFEI_TOLU TOLU 122 -1 -1 2 kg/m2/s vfei_emissions_TOLU kg_m-2_s-1 EMIS_VFEI_XYLE XYLE 122 -1 -1 2 kg/m2/s vfei_emissions_XYLE kg_m-2_s-1 # 2D/3D ---------------------------------------------------------------------------------------------------------------------------------------- EMIS_NO_LGHT3D NO 103 -1 -1 3 kg/m2/s nitric_oxide_lightning_emission_mass_flux kg_m-2_s-1 ================================================ FILE: run/GEOS/HISTORY_CFv2.rc ================================================ VERSION: 1 EXPID: OutputDir/CF2 EXPDSC: GEOS-CF_version2 EXPSRC: based_on_GEOSgcm-v10.23.0+GEOSChem-14.0.0 COLLECTIONS: 'htf_inst_15mn_glo_L1440x721_slv' 'chm_inst_1hr_glo_L1440x721_p23' 'met_inst_1hr_glo_L1440x721_p23' ## #### For Science, to be shared ### 'mls_inst_1hr_glo_L1440x721_p28' 'chm_inst_1hr_glo_L1440x721_v72' 'met_inst_1hr_glo_L1440x721_v72' 'aqc_tavg_1hr_glo_L1440x721_slv' 'chm_tavg_1hr_glo_L1440x721_slv' 'ems_tavg_1hr_glo_L1440x721_slv' 'xgc_tavg_1hr_glo_L1440x721_slv' 'met_tavg_1hr_glo_L1440x721_slv' ## #### To be used as boundary conditions ### 'bc-met_inst_1hr_usa_L659x301_v42' 'bc-chm_inst_1hr_usa_L659x301_v42' ## #### Assimilation specific collections 'cda_tavg_6hr_glo_L1440x721_v72' 'cda_inst_1hr_glo_L1440x721_slv' 'cec_inst_3hr_glo_L576x361_v72' 'jdi_inst_1hr_glo_C360x360x6_v72' ## #### Monitoring or R&D, not necessarily for public ### 'flx_tavg_24hr_glo_L1440x721_slv' 'dbg_tavg_3hr_glo_L1440x721_v72' 'trc_tavg_6hr_glo_L1440x721_p44' 'aer_tavg_24hr_glo_L1440x721_slv' 'aer_tavg_24hr_glo_L1440x721_p23' 'chm_tavg_24hr_glo_L1440x721_slv' 'chm_tavg_24hr_glo_L1440x721_p45' 'plf_tavg_24hr_glo_L1440x721_v72' 'car_inst_3hr_glo_L1440x721_v72' ## #### Mission support collections ### 'sat_inst_1hr_glo_L1440x721_v72' :: ################################################## # The GRID_LABELS section must be after the main # # list of COLLECTIONS for scripting purposes. # ################################################## GRID_LABELS: PC360x181-DC PC180x91-DC PC576x361-DC PC1440x721-DC PC659x301-DC :: PC360x181-DC.GRID_TYPE: LatLon PC360x181-DC.IM_WORLD: 360 PC360x181-DC.JM_WORLD: 181 PC360x181-DC.POLE: PC PC360x181-DC.DATELINE: DC PC360x181-DC.LM: 72 PC180x91-DC.GRID_TYPE: LatLon PC180x91-DC.IM_WORLD: 180 PC180x91-DC.JM_WORLD: 91 PC180x91-DC.POLE: PC PC180x91-DC.DATELINE: DC PC180x91-DC.LM: 72 PC576x361-DC.GRID_TYPE: LatLon PC576x361-DC.IM_WORLD: 576 PC576x361-DC.JM_WORLD: 361 PC576x361-DC.POLE: PC PC576x361-DC.DATELINE: DC PC576x361-DC.LM: 72 PC1440x721-DC.GRID_TYPE: LatLon PC1440x721-DC.IM_WORLD: 1440 PC1440x721-DC.JM_WORLD: 721 PC1440x721-DC.POLE: PC PC1440x721-DC.DATELINE: DC PC1440x721-DC.LM: 72 PC659x301-DC.GRID_TYPE: LatLon PC659x301-DC.IM_WORLD: 659 PC659x301-DC.JM_WORLD: 301 PC659x301-DC.POLE: XY PC659x301-DC.DATELINE: XY PC659x301-DC.LM: 72 PC659x301-DC.LON_RANGE: -208.625 -43.875 PC659x301-DC.LAT_RANGE: 6.875 82.125 htf_inst_15mn_glo_L1440x721_slv.format: 'CFIO' , htf_inst_15mn_glo_L1440x721_slv.descr: '2d,15-minute,Instantaneous,Single-Level, High Temporal Frequency Chemistry and Meteorology Fields', htf_inst_15mn_glo_L1440x721_slv.template: '%y4%m2%d2_%h2%n2z.nc4', htf_inst_15mn_glo_L1440x721_slv.archive: '%c/Y%y4', htf_inst_15mn_glo_L1440x721_slv.mode: 'instantaneous', htf_inst_15mn_glo_L1440x721_slv.grid_label: PC1440x721-DC, htf_inst_15mn_glo_L1440x721_slv.regrid_method: 'BILINEAR', htf_inst_15mn_glo_L1440x721_slv.frequency: 001500 , htf_inst_15mn_glo_L1440x721_slv.duration: 001500 , htf_inst_15mn_glo_L1440x721_slv.ref_time: 000000 , htf_inst_15mn_glo_L1440x721_slv.levels: 72, htf_inst_15mn_glo_L1440x721_slv.deflate: 1 , htf_inst_15mn_glo_L1440x721_slv.nbits: 10 , htf_inst_15mn_glo_L1440x721_slv.chunksize: 1440 721 1 1 , htf_inst_15mn_glo_L1440x721_slv.fields: 'SLP' , 'DYN' , 'U' , 'DYN' , 'V' , 'DYN' , 'SpeciesConcVV_NO2' , 'GEOSCHEMCHEM' , 'NO2' , 'SpeciesConcVV_SO2' , 'GEOSCHEMCHEM' , 'SO2' , 'SpeciesConcVV_O3' , 'GEOSCHEMCHEM' , 'O3' , 'SpeciesConcVV_CO' , 'GEOSCHEMCHEM' , 'CO' , 'PM25' , 'GOCART2G' , 'PM25_RH35_GOCART' , 'PM25' , 'GEOSCHEMCHEM' , 'PM25_RH35_GCC' , :: chm_inst_1hr_glo_L1440x721_p23.template: '%y4%m2%d2_%h2%n2z.nc4', chm_inst_1hr_glo_L1440x721_p23.archive: '%c/Y%y4', chm_inst_1hr_glo_L1440x721_p23.descr: '3d,1-Hourly,Instantaneous,Pressure-Level,Chemistry Fields', chm_inst_1hr_glo_L1440x721_p23.format: 'CFIO', chm_inst_1hr_glo_L1440x721_p23.mode: 'instantaneous', chm_inst_1hr_glo_L1440x721_p23.frequency: 010000, chm_inst_1hr_glo_L1440x721_p23.duration: 010000, chm_inst_1hr_glo_L1440x721_p23.ref_time: 000000, chm_inst_1hr_glo_L1440x721_p23.deflate: 1 , chm_inst_1hr_glo_L1440x721_p23.nbits: 10 , chm_inst_1hr_glo_L1440x721_p23.chunksize: 1440 721 1 1 , chm_inst_1hr_glo_L1440x721_p23.grid_label: PC1440x721-DC, chm_inst_1hr_glo_L1440x721_p23.regrid_method: 'BILINEAR', chm_inst_1hr_glo_L1440x721_p23.vscale: 100.0 , chm_inst_1hr_glo_L1440x721_p23.vunit: 'hPa' , chm_inst_1hr_glo_L1440x721_p23.vvars: 'log(PLE)' , 'DYN' , chm_inst_1hr_glo_L1440x721_p23.levels: 1000 975 950 925 900 850 800 750 700 650 600 550 500 450 400 350 300 250 200 150 100 50 10, chm_inst_1hr_glo_L1440x721_p23.fields: 'SpeciesConcVV_NO2' , 'GEOSCHEMCHEM' , 'NO2' , 'NOy' , 'GEOSCHEMCHEM' , 'NOy' , 'SpeciesConcVV_O3' , 'GEOSCHEMCHEM' , 'O3' , 'SpeciesConcVV_SO2' , 'GEOSCHEMCHEM' , 'SO2' , 'SpeciesConcVV_CO' , 'GEOSCHEMCHEM' , 'CO' , 'SpeciesConcVV_CH2O' , 'GEOSCHEMCHEM' , 'HCHO' , 'PM25' , 'GEOSCHEMCHEM' , 'PM25_RH35_GCC' , 'PM25ni' , 'GEOSCHEMCHEM' , 'PM25ni_RH35_GCC' , # 'PM25nh4' , 'GEOSCHEMCHEM' , 'PM25nh4_RH35_GCC' , 'PM25su' , 'GEOSCHEMCHEM' , 'PM25su_RH35_GCC' , 'PM25ss' , 'GEOSCHEMCHEM' , 'PM25ss_RH35_GCC' , 'PM25du' , 'GEOSCHEMCHEM' , 'PM25du_RH35_GCC' , 'PM25bc' , 'GEOSCHEMCHEM' , 'PM25bc_RH35_GCC' , 'PM25oc' , 'GEOSCHEMCHEM' , 'PM25oc_RH35_GCC' , 'PM25soa' , 'GEOSCHEMCHEM' , 'PM25soa_RH35_GCC' , :: met_inst_1hr_glo_L1440x721_p23.template: '%y4%m2%d2_%h2%n2z.nc4' , met_inst_1hr_glo_L1440x721_p23.archive: '%c/Y%y4', met_inst_1hr_glo_L1440x721_p23.mode: 'instantaneous' , met_inst_1hr_glo_L1440x721_p23.descr: '3d,1-Hourly,Instantaneous,Pressure-Level,Meteorology Fields', met_inst_1hr_glo_L1440x721_p23.format: 'CFIO', met_inst_1hr_glo_L1440x721_p23.regrid_method: 'BILINEAR', met_inst_1hr_glo_L1440x721_p23.grid_label: PC1440x721-DC, met_inst_1hr_glo_L1440x721_p23.frequency: 010000 , met_inst_1hr_glo_L1440x721_p23.duration: 010000 , met_inst_1hr_glo_L1440x721_p23.ref_time: 000000 , met_inst_1hr_glo_L1440x721_p23.vscale: 100.0 , met_inst_1hr_glo_L1440x721_p23.deflate: 1 , met_inst_1hr_glo_L1440x721_p23.nbits: 10 , met_inst_1hr_glo_L1440x721_p23.chunksize: 1440 721 1 1 , met_inst_1hr_glo_L1440x721_p23.vunit: 'hPa' , met_inst_1hr_glo_L1440x721_p23.vvars: 'log(PLE)' , 'DYN' , met_inst_1hr_glo_L1440x721_p23.levels: 1000 975 950 925 900 850 800 750 700 650 600 550 500 450 400 350 300 250 200 150 100 50 10, met_inst_1hr_glo_L1440x721_p23.fields: 'SLP' , 'DYN' , 'TH' , 'DYN' , 'T' , 'DYN' , 'U' , 'DYN' , 'V' , 'DYN' , 'OMEGA' , 'DYN' , 'Q' , 'MOIST' , 'RH2' , 'MOIST' , 'RH' , 'EPV' , 'DYN' , 'ZLE' , 'DYN' , 'H' , 'PS' , 'DYN' , 'AIRDENS_DRYP' , 'CHEMENV' , :: mls_inst_1hr_glo_L1440x721_p28.template: '%y4%m2%d2_%h2%n2z.nc4' , mls_inst_1hr_glo_L1440x721_p28.archive: '%c/Y%y4', mls_inst_1hr_glo_L1440x721_p28.mode: 'instantaneous' , mls_inst_1hr_glo_L1440x721_p28.descr: '3d,1-Hourly,Instantaneous,Pressure-Level,Meteorology and Chemistry Fields on reduced MLS pressure levels', mls_inst_1hr_glo_L1440x721_p28.format: 'CFIO', mls_inst_1hr_glo_L1440x721_p28.grid_label: PC1440x721-DC, mls_inst_1hr_glo_L1440x721_p28.regrid_method: 'BILINEAR', mls_inst_1hr_glo_L1440x721_p28.frequency: 010000 , mls_inst_1hr_glo_L1440x721_p28.duration: 010000 , mls_inst_1hr_glo_L1440x721_p28.ref_time: 000000 , # mls_inst_1hr_glo_L1440x721_p28.end_date: 0000000, # mls_inst_1hr_glo_L1440x721_p28.end_time: 120000, mls_inst_1hr_glo_L1440x721_p28.vscale: 100.0 , mls_inst_1hr_glo_L1440x721_p28.deflate: 1 , mls_inst_1hr_glo_L1440x721_p28.nbits: 10 , mls_inst_1hr_glo_L1440x721_p28.chunksize: 1440 721 1 1 , mls_inst_1hr_glo_L1440x721_p28.vunit: 'hPa' , mls_inst_1hr_glo_L1440x721_p28.vvars: 'log(PLE)' , 'DYN' , mls_inst_1hr_glo_L1440x721_p28.levels: 1000 681.3 464.2 316.2 261.0 215.4 146.8 100 68.1 46.4 31.6 21.5 14.7 10 6.81 4.64 3.16 2.15 1.47 1 0.68 0.46 0.32 0.215 0.147 0.1 0.046 0.0215, mls_inst_1hr_glo_L1440x721_p28.fields: 'T' , 'DYN' , 'TH' , 'DYN' , 'ZLE' , 'DYN' , 'H' , 'TROPP_BLENDED' , 'AGCM' , 'TROPPB' , 'EPV' , 'DYN' , 'COSZ' , 'SOLAR' , # 'SpeciesConcVV_O3' , 'GEOSCHEMCHEM' , 'O3' , 'SpeciesConcVV_CH3Cl' , 'GEOSCHEMCHEM' , 'CH3Cl' , 'SpeciesConcVV_ClNO3' , 'GEOSCHEMCHEM' , 'ClONO2' , 'SpeciesConcVV_ClO' , 'GEOSCHEMCHEM' , 'ClO' , 'SpeciesConcVV_Cl2O2' , 'GEOSCHEMCHEM' , 'Cl2O2' , 'SpeciesConcVV_CO' , 'GEOSCHEMCHEM' , 'CO' , 'SpeciesConcVV_H2O' , 'GEOSCHEMCHEM' , 'H2O' , 'SpeciesConcVV_HCl' , 'GEOSCHEMCHEM' , 'HCl' , 'SpeciesConcVV_HNO3' , 'GEOSCHEMCHEM' , 'HNO3' , 'SpeciesConcVV_N2O' , 'GEOSCHEMCHEM' , 'N2O' , 'NOy' , 'GEOSCHEMCHEM' , 'NOy' , 'SpeciesConcVV_NO2' , 'GEOSCHEMCHEM' , 'NO2' , 'SpeciesConcVV_NO' , 'GEOSCHEMCHEM' , 'NO' , 'SpeciesConcVV_Br' , 'GEOSCHEMCHEM' , 'Br' , 'SpeciesConcVV_BrO' , 'GEOSCHEMCHEM' , 'BrO' , 'SpeciesConcVV_Cl' , 'GEOSCHEMCHEM' , 'Cl' , 'Bry' , 'GEOSCHEMCHEM' , 'Bry' , 'SpeciesConcVV_CFC11' , 'GEOSCHEMCHEM' , 'CFC11' , 'Cly' , 'GEOSCHEMCHEM' , 'Cly' , 'SpeciesConcVV_N2O5' , 'GEOSCHEMCHEM' , 'N2O5' , 'AerSurfAreaStratLiquid' , 'GEOSCHEMCHEM' , 'AerSurfAreaPolarStratCloud' , 'GEOSCHEMCHEM' , 'SpeciesConcVV_O' , 'GEOSCHEMCHEM' , 'O3P' , 'SpeciesConcVV_O1D' , 'GEOSCHEMCHEM' , 'O1D' , :: ###Add to forecast suite, remove end_date and end_time. chm_inst_1hr_glo_L1440x721_v72.template: '%y4%m2%d2_%h2%n2z.nc4', chm_inst_1hr_glo_L1440x721_v72.archive: '%c/Y%y4', chm_inst_1hr_glo_L1440x721_v72.descr: '3d,1-Hourly,Instantaneous,Model-Level,Chemistry Fields', chm_inst_1hr_glo_L1440x721_v72.format: 'CFIO', chm_inst_1hr_glo_L1440x721_v72.mode: 'instantaneous', chm_inst_1hr_glo_L1440x721_v72.frequency: 010000, chm_inst_1hr_glo_L1440x721_v72.duration: 010000, chm_inst_1hr_glo_L1440x721_v72.ref_time: 000000, chm_inst_1hr_glo_L1440x721_v72.deflate: 1 , chm_inst_1hr_glo_L1440x721_v72.nbits: 10 , chm_inst_1hr_glo_L1440x721_v72.chunksize: 1440 721 1 1 , chm_inst_1hr_glo_L1440x721_v72.grid_label: PC1440x721-DC, chm_inst_1hr_glo_L1440x721_v72.regrid_method: 'BILINEAR', chm_inst_1hr_glo_L1440x721_v72.fields: 'SpeciesConcVV_NO2' , 'GEOSCHEMCHEM' , 'NO2' , 'SpeciesConcVV_NO' , 'GEOSCHEMCHEM' , 'NO' , 'SpeciesConcVV_O3' , 'GEOSCHEMCHEM' , 'O3' , 'SpeciesConcVV_SO2' , 'GEOSCHEMCHEM' , 'SO2' , 'SpeciesConcVV_CO' , 'GEOSCHEMCHEM' , 'CO' , 'SpeciesConcVV_CH2O' , 'GEOSCHEMCHEM' , 'HCHO' , 'SpeciesConcVV_BrO' , 'GEOSCHEMCHEM' , 'BrO' , 'SpeciesConcVV_GLYX' , 'GEOSCHEMCHEM' , 'GLYX' , 'SpeciesConcVV_CH4' , 'GEOSCHEMCHEM' , 'CH4' , 'PM25' , 'GEOSCHEMCHEM' , 'PM25_RH35_GCC' , 'SpeciesConcVV_OH' , 'GEOSCHEMCHEM' , 'OH' , 'SpeciesConcVV_HO2' , 'GEOSCHEMCHEM' , 'HO2' , 'OHreactivity' , 'GEOSCHEMCHEM' , 'OH_reactivity' , 'NOy' , 'GEOSCHEMCHEM' , 'NOy' , :: ###Add to forecast suite, remove end_date and end_time. met_inst_1hr_glo_L1440x721_v72.template: '%y4%m2%d2_%h2%n2z.nc4', met_inst_1hr_glo_L1440x721_v72.archive: '%c/Y%y4', met_inst_1hr_glo_L1440x721_v72.descr: '3d,1-Hourly,Instantaneous,Model-Level,Meteorology Fields', met_inst_1hr_glo_L1440x721_v72.format: 'CFIO', met_inst_1hr_glo_L1440x721_v72.mode: 'instantaneous', met_inst_1hr_glo_L1440x721_v72.frequency: 010000, met_inst_1hr_glo_L1440x721_v72.duration: 010000, met_inst_1hr_glo_L1440x721_v72.ref_time: 000000, met_inst_1hr_glo_L1440x721_v72.deflate: 1 , met_inst_1hr_glo_L1440x721_v72.nbits: 10 , met_inst_1hr_glo_L1440x721_v72.chunksize: 1440 721 1 1 , met_inst_1hr_glo_L1440x721_v72.grid_label: PC1440x721-DC, met_inst_1hr_glo_L1440x721_v72.regrid_method: 'BILINEAR', met_inst_1hr_glo_L1440x721_v72.fields: 'Q' , 'MOIST' , 'U' , 'DYN' , 'V' , 'DYN' , 'DELP' , 'DYN' , 'PS' , 'DYN' , 'ZL' , 'DYN' , 'PL' , 'DYN' , 'T' , 'DYN' , 'TH' , 'DYN' , 'PHIS' , 'AGCM' , 'QCTOT' , 'AGCM' , 'OMEGA' , 'DYN' , 'EPV' , 'DYN' , 'AIRDENS_DRYP' , 'CHEMENV' , 'Met_AIRVOL' , 'GEOSCHEMCHEM' , 'AIRVOL_CHEM' , 'TROPP_BLENDED' , 'AGCM' , 'TROPPB' , 'TROPP_THERMAL' , 'AGCM' , 'TROPPT' , 'TROPP_EPV' , 'AGCM' , 'TROPPV' , 'ZPBL' , 'TURBULENCE' , 'PPBL' , 'TURBULENCE' , :: aqc_tavg_1hr_glo_L1440x721_slv.template: '%y4%m2%d2_%h2%n2z.nc4', aqc_tavg_1hr_glo_L1440x721_slv.archive: '%c/Y%y4', aqc_tavg_1hr_glo_L1440x721_slv.descr: '2d,1-Hourly,Time-Averaged,Surface-Layer,Air Quality Concentrations', aqc_tavg_1hr_glo_L1440x721_slv.format: 'CFIO', aqc_tavg_1hr_glo_L1440x721_slv.mode: 'time-averaged', aqc_tavg_1hr_glo_L1440x721_slv.frequency: 010000, aqc_tavg_1hr_glo_L1440x721_slv.duration: 010000, aqc_tavg_1hr_glo_L1440x721_slv.ref_time: 000000, aqc_tavg_1hr_glo_L1440x721_slv.deflate: 1 , aqc_tavg_1hr_glo_L1440x721_slv.nbits: 10 , aqc_tavg_1hr_glo_L1440x721_slv.chunksize: 1440 721 1 1 , aqc_tavg_1hr_glo_L1440x721_slv.grid_label: PC1440x721-DC, aqc_tavg_1hr_glo_L1440x721_slv.regrid_method: 'BILINEAR', aqc_tavg_1hr_glo_L1440x721_slv.levels: 72, aqc_tavg_1hr_glo_L1440x721_slv.fields: 'SpeciesConcVV_NO2' , 'GEOSCHEMCHEM' , 'NO2' , 'SpeciesConcVV_O3' , 'GEOSCHEMCHEM' , 'O3' , 'PM25' , 'GEOSCHEMCHEM' , 'PM25_RH35_GCC' , 'PM10' , 'GEOSCHEMCHEM' , 'PM10_RH35_GCC' , 'SpeciesConcVV_SO2' , 'GEOSCHEMCHEM' , 'SO2' , 'SpeciesConcVV_CO' , 'GEOSCHEMCHEM' , 'CO' , :: chm_tavg_1hr_glo_L1440x721_slv.template: '%y4%m2%d2_%h2%n2z.nc4', chm_tavg_1hr_glo_L1440x721_slv.archive: '%c/Y%y4', chm_tavg_1hr_glo_L1440x721_slv.descr: '2d,1-Hourly,Time-Averaged,Surface-Layer,Chemistry Fields', chm_tavg_1hr_glo_L1440x721_slv.format: 'CFIO', chm_tavg_1hr_glo_L1440x721_slv.mode: 'time-averaged', chm_tavg_1hr_glo_L1440x721_slv.frequency: 010000, chm_tavg_1hr_glo_L1440x721_slv.duration: 010000, chm_tavg_1hr_glo_L1440x721_slv.ref_time: 000000, chm_tavg_1hr_glo_L1440x721_slv.deflate: 1 , chm_tavg_1hr_glo_L1440x721_slv.nbits: 10 , chm_tavg_1hr_glo_L1440x721_slv.chunksize: 1440 721 1 1 , chm_tavg_1hr_glo_L1440x721_slv.grid_label: PC1440x721-DC, chm_tavg_1hr_glo_L1440x721_slv.regrid_method: 'BILINEAR', chm_tavg_1hr_glo_L1440x721_slv.levels: 72, chm_tavg_1hr_glo_L1440x721_slv.fields: 'SpeciesConcVV_NO2' , 'GEOSCHEMCHEM' , 'NO2' , 'SpeciesConcVV_NO' , 'GEOSCHEMCHEM' , 'NO' , 'NOy' , 'GEOSCHEMCHEM' , 'NOy' , 'SpeciesConcVV_HNO3' , 'GEOSCHEMCHEM' , 'HNO3' , 'SpeciesConcVV_HNO4' , 'GEOSCHEMCHEM' , 'HNO4' , 'SpeciesConcVV_N2O5' , 'GEOSCHEMCHEM' , 'N2O5' , 'SpeciesConcVV_NH3' , 'GEOSCHEMCHEM' , 'NH3' , 'SpeciesConcVV_NH4' , 'GEOSCHEMCHEM' , 'NH4' , 'SpeciesConcVV_NIT' , 'GEOSCHEMCHEM' , 'NIT' , 'SpeciesConcVV_O3' , 'GEOSCHEMCHEM' , 'O3' , 'SpeciesConcVV_SO2' , 'GEOSCHEMCHEM' , 'SO2' , 'SpeciesConcVV_CO' , 'GEOSCHEMCHEM' , 'CO' , 'SpeciesConcVV_PAN' , 'GEOSCHEMCHEM' , 'PAN' , 'SpeciesConcVV_MEK' , 'GEOSCHEMCHEM' , 'MEK' , 'SpeciesConcVV_MVK' , 'GEOSCHEMCHEM' , 'MVK' , 'SpeciesConcVV_CH4' , 'GEOSCHEMCHEM' , 'CH4' , 'SpeciesConcVV_C2H6' , 'GEOSCHEMCHEM' , 'C2H6' , 'SpeciesConcVV_C3H8' , 'GEOSCHEMCHEM' , 'C3H8' , 'SpeciesConcVV_CH2O' , 'GEOSCHEMCHEM' , 'HCHO' , 'SpeciesConcVV_ALD2' , 'GEOSCHEMCHEM' , 'ALD2' , 'SpeciesConcVV_ALK4' , 'GEOSCHEMCHEM' , 'ALK4' , 'SpeciesConcVV_ISOP' , 'GEOSCHEMCHEM' , 'ISOP' , 'SpeciesConcVV_SOAS' , 'GEOSCHEMCHEM' , 'SOAS' , 'SpeciesConcVV_SOAP' , 'GEOSCHEMCHEM' , 'SOAP' , 'SpeciesConcVV_ACET' , 'GEOSCHEMCHEM' , 'ACET' , 'SpeciesConcVV_RCHO' , 'GEOSCHEMCHEM' , 'RCHO' , 'SpeciesConcVV_H2O2' , 'GEOSCHEMCHEM' , 'H2O2' , 'SpeciesConcVV_PRPE' , 'GEOSCHEMCHEM' , 'PRPE' , 'SpeciesConcVV_MACR' , 'GEOSCHEMCHEM' , 'MACR' , 'SpeciesConcVV_BENZ' , 'GEOSCHEMCHEM' , 'BENZ' , 'SpeciesConcVV_TOLU' , 'GEOSCHEMCHEM' , 'TOLU' , 'SpeciesConcVV_XYLE' , 'GEOSCHEMCHEM' , 'XYLE' , 'SpeciesConcVV_EOH' , 'GEOSCHEMCHEM' , 'EOH' , 'SpeciesConcVV_OCPI' , 'GEOSCHEMCHEM' , 'OCPI' , 'SpeciesConcVV_OCPO' , 'GEOSCHEMCHEM' , 'OCPO' , 'SpeciesConcVV_BCPI' , 'GEOSCHEMCHEM' , 'BCPI' , 'SpeciesConcVV_BCPO' , 'GEOSCHEMCHEM' , 'BCPO' , 'SpeciesConcVV_DSTbin1' , 'GEOSCHEMCHEM' , 'DSTbin1' , 'SpeciesConcVV_DSTbin2' , 'GEOSCHEMCHEM' , 'DSTbin2' , 'SpeciesConcVV_DSTbin3' , 'GEOSCHEMCHEM' , 'DSTbin3' , 'SpeciesConcVV_DSTbin4' , 'GEOSCHEMCHEM' , 'DSTbin4' , 'SpeciesConcVV_DSTbin5' , 'GEOSCHEMCHEM' , 'DSTbin5' , 'SpeciesConcVV_DSTbin6' , 'GEOSCHEMCHEM' , 'DSTbin6' , 'SpeciesConcVV_DSTbin7' , 'GEOSCHEMCHEM' , 'DSTbin7' , 'SpeciesConcVV_SALA' , 'GEOSCHEMCHEM' , 'SALA' , 'SpeciesConcVV_SALC' , 'GEOSCHEMCHEM' , 'SALC' , 'PM25' , 'GEOSCHEMCHEM' , 'PM25_RH35_GCC' , 'PM25nit' , 'GEOSCHEMCHEM' , 'PM25nit_RH35_GCC' , 'PM25nh4' , 'GEOSCHEMCHEM' , 'PM25nh4_RH35_GCC' , 'PM25su' , 'GEOSCHEMCHEM' , 'PM25su_RH35_GCC' , 'PM25ss' , 'GEOSCHEMCHEM' , 'PM25ss_RH35_GCC' , 'PM25du' , 'GEOSCHEMCHEM' , 'PM25du_RH35_GCC' , 'PM25bc' , 'GEOSCHEMCHEM' , 'PM25bc_RH35_GCC' , 'PM25oc' , 'GEOSCHEMCHEM' , 'PM25oc_RH35_GCC' , 'PM25soa' , 'GEOSCHEMCHEM' , 'PM25soa_RH35_GCC' , 'PM25' , 'GOCART2G' , 'PM25_RH35_GOCART' , 'PM10' , 'GEOSCHEMCHEM' , 'PM10_RH35_GCC' , :: ###Updated for CEDS ems_tavg_1hr_glo_L1440x721_slv.template: '%y4%m2%d2_%h2%n2z.nc4', ems_tavg_1hr_glo_L1440x721_slv.archive: '%c/Y%y4', ems_tavg_1hr_glo_L1440x721_slv.descr: '2d,1-Hourly,Time-Averaged,Model-Level,Emission Fields', ems_tavg_1hr_glo_L1440x721_slv.format: 'CFIO', ems_tavg_1hr_glo_L1440x721_slv.mode: 'time-averaged', ems_tavg_1hr_glo_L1440x721_slv.frequency: 010000, ems_tavg_1hr_glo_L1440x721_slv.duration: 010000, ems_tavg_1hr_glo_L1440x721_slv.ref_time: 000000, ems_tavg_1hr_glo_L1440x721_slv.deflate: 1 , ems_tavg_1hr_glo_L1440x721_slv.nbits: 10 , ems_tavg_1hr_glo_L1440x721_slv.chunksize: 1440 721 1 1 , ems_tavg_1hr_glo_L1440x721_slv.levels: 72, ems_tavg_1hr_glo_L1440x721_slv.grid_label: PC1440x721-DC, ems_tavg_1hr_glo_L1440x721_slv.regrid_method: 'BILINEAR', ems_tavg_1hr_glo_L1440x721_slv.fields: 'EMIS_NO' , 'GEOSCHEMCHEM' , 'EMIS_NO_IND+EMIS_NO_POW+EMIS_NO_TRA+EMIS_NO_RES+EMIS_NO_WST+EMIS_NO_AIR+EMIS_NO_SHIP' , 'GEOSCHEMCHEM' , 'EMIS_NO_ANTH' , 'EMIS_NO_AGR' , 'GEOSCHEMCHEM' , 'EMIS_NO_BB' , 'GEOSCHEMCHEM' , 'EMIS_NO_LGHT' , 'GEOSCHEMCHEM' , 'EMIS_NO_SHIP' , 'GEOSCHEMCHEM' , 'EMIS_NO_SOIL' , 'GEOSCHEMCHEM' , 'EMIS_NO2' , 'GEOSCHEMCHEM' , 'EMIS_NO2_IND+EMIS_NO2_POW+EMIS_NO2_TRA+EMIS_NO2_RES+EMIS_NO2_WST+EMIS_NO2_AIR+EMIS_NO2_SHIP' , 'GEOSCHEMCHEM' , 'EMIS_NO2_ANTH' , 'EMIS_NO2_AGR' , 'GEOSCHEMCHEM' , 'EMIS_NO2_BB' , 'GEOSCHEMCHEM' , 'EMIS_NO2_SHIP' , 'GEOSCHEMCHEM' , 'EMIS_HNO2' , 'GEOSCHEMCHEM' , 'EMIS_CO' , 'GEOSCHEMCHEM' , 'EMIS_CO_IND+EMIS_CO_POW+EMIS_CO_TRA+EMIS_CO_RES+EMIS_CO_WST+EMIS_CO_SHIP' , 'GEOSCHEMCHEM' , 'EMIS_CO_ANTH' , 'EMIS_CO_AGR' , 'GEOSCHEMCHEM' , 'EMIS_CO_BB' , 'GEOSCHEMCHEM' , 'EMIS_CO_BG' , 'GEOSCHEMCHEM' , 'EMIS_CO_SHIP' , 'GEOSCHEMCHEM' , 'EMIS_NH3' , 'GEOSCHEMCHEM' , 'EMIS_NH3_IND+EMIS_NH3_POW+EMIS_NH3_TRA+EMIS_NH3_RES+EMIS_NH3_WST' , 'GEOSCHEMCHEM' , 'EMIS_NH3_ANTH' , 'EMIS_NH3_AGR' , 'GEOSCHEMCHEM' , 'EMIS_NH3_BB' , 'GEOSCHEMCHEM' , 'EMIS_SO2' , 'GEOSCHEMCHEM' , 'EMIS_SO2_IND+EMIS_SO2_POW+EMIS_SO2_TRA+EMIS_SO2_RES+EMIS_SO2_AIR+EMIS_SO2_SHIP' , 'GEOSCHEMCHEM' , 'EMIS_SO2_ANTH' , 'EMIS_SO2_BB' , 'GEOSCHEMCHEM' , 'EMIS_SO2_SHIP' , 'GEOSCHEMCHEM' , 'EMIS_SO2_VER+EMIS_SO2_VDG' , 'GEOSCHEMCHEM' , 'EMIS_SO2_VOLC' , 'EMIS_SO4' , 'GEOSCHEMCHEM' , 'EMIS_SO4_IND+EMIS_SO4_POW+EMIS_SO4_TRA+EMIS_SO4_RES+EMIS_SO4_AIR+EMIS_SO4_SHIP' , 'GEOSCHEMCHEM' , 'EMIS_SO4_ANTH' , 'EMIS_SO4_BB' , 'GEOSCHEMCHEM' , 'EMIS_SO4_SHIP' , 'GEOSCHEMCHEM' , 'EMIS_SO4_VER+EMIS_SO4_VDG' , 'GEOSCHEMCHEM' , 'EMIS_SO4_VOLC' , 'EMIS_OCPI' , 'GEOSCHEMCHEM' , 'EMIS_OCPI_IND+EMIS_OCPI_POW+EMIS_OCPI_TRA+EMIS_OCPI_RES+EMIS_OCPI_AIR+EMIS_OCPI_SHIP' , 'GEOSCHEMCHEM' , 'EMIS_OCPI_ANTH' , 'EMIS_OCPI_BB' , 'GEOSCHEMCHEM' , 'EMIS_OCPO' , 'GEOSCHEMCHEM' , 'EMIS_OCPO_IND+EMIS_OCPO_POW+EMIS_OCPO_TRA+EMIS_OCPO_RES+EMIS_OCPO_AIR+EMIS_OCPO_SHIP' , 'GEOSCHEMCHEM' , 'EMIS_OCPO_ANTH' , 'EMIS_OCPO_BB' , 'GEOSCHEMCHEM' , 'EMIS_BCPI' , 'GEOSCHEMCHEM' , 'EMIS_BCPI_IND+EMIS_BCPI_POW+EMIS_BCPI_TRA+EMIS_BCPI_RES+EMIS_BCPI_AIR+EMIS_BCPI_SHIP' , 'GEOSCHEMCHEM' , 'EMIS_BCPI_ANTH' , 'EMIS_BCPI_BB' , 'GEOSCHEMCHEM' , 'EMIS_BCPO' , 'GEOSCHEMCHEM' , 'EMIS_BCPO_IND+EMIS_BCPO_POW+EMIS_BCPO_TRA+EMIS_BCPO_RES+EMIS_BCPI_AIR+EMIS_BCPI_SHIP' , 'GEOSCHEMCHEM' , 'EMIS_BCPO_ANTH' , 'EMIS_BCPO_BB' , 'GEOSCHEMCHEM' , 'EMIS_ISOP' , 'GEOSCHEMCHEM' , 'EMIS_ACET' , 'GEOSCHEMCHEM' , 'EMIS_ACET_IND+EMIS_ACET_POW+EMIS_ACET_TRA+EMIS_ACET_RES' , 'GEOSCHEMCHEM' , 'EMIS_ACET_ANTH' , 'EMIS_ACET_BB' , 'GEOSCHEMCHEM' , 'EMIS_ACET_OC' , 'GEOSCHEMCHEM' , 'EMIS_ACET_BG' , 'GEOSCHEMCHEM' , 'EMIS_PRPE' , 'GEOSCHEMCHEM' , 'EMIS_PRPE_IND+EMIS_PRPE_POW+EMIS_PRPE_TRA+EMIS_PRPE_RES+EMIS_PRPE_AIR+EMIS_PRPE_SHIP' , 'GEOSCHEMCHEM' , 'EMIS_PRPE_ANTH' , 'EMIS_PRPE_BB' , 'GEOSCHEMCHEM' , 'EMIS_PRPE_BG' , 'GEOSCHEMCHEM' , 'EMIS_ALK4' , 'GEOSCHEMCHEM' , 'EMIS_ALK4_IND+EMIS_ALK4_POW+EMIS_ALK4_TRA+EMIS_ALK4_RES+EMIS_ALK4_AIR+EMIS_ALK4_SHIP' , 'GEOSCHEMCHEM' , 'EMIS_ALK4_ANTH' , 'EMIS_ALK4_BB' , 'GEOSCHEMCHEM' , 'EMIS_MEK' , 'GEOSCHEMCHEM' , 'EMIS_MEK_IND+EMIS_MEK_POW+EMIS_MEK_TRA+EMIS_MEK_RES' , 'GEOSCHEMCHEM' , 'EMIS_MEK_ANTH' , 'EMIS_MEK_BB' , 'GEOSCHEMCHEM' , 'EMIS_ALD2' , 'GEOSCHEMCHEM' , 'EMIS_ALD2_IND+EMIS_ALD2_POW+EMIS_ALD2_TRA+EMIS_ALD2_RES' , 'GEOSCHEMCHEM' , 'EMIS_ALD2_ANTH' , 'EMIS_ALD2_BB' , 'GEOSCHEMCHEM' , 'EMIS_ALD2_BG' , 'GEOSCHEMCHEM' , 'EMIS_ALD2_OC' , 'GEOSCHEMCHEM' , 'EMIS_C3H8' , 'GEOSCHEMCHEM' , 'EMIS_C3H8_IND+EMIS_C3H8_POW+EMIS_C3H8_TRA+EMIS_C3H8_RES+EMIS_C3H8_AIR+EMIS_C3H8_SHIP' , 'GEOSCHEMCHEM' , 'EMIS_C3H8_ANTH' , 'EMIS_C3H8_BB' , 'GEOSCHEMCHEM' , 'EMIS_C2H6' , 'GEOSCHEMCHEM' , 'EMIS_C2H6_IND+EMIS_C2H6_POW+EMIS_C2H6_TRA+EMIS_C2H6_RES+EMIS_C2H6_AIR+EMIS_C2H6_SHIP' , 'GEOSCHEMCHEM' , 'EMIS_C2H6_ANTH' , 'EMIS_C2H6_BB' , 'GEOSCHEMCHEM' , 'EMIS_CH2O' , 'GEOSCHEMCHEM' , 'EMIS_HCHO' , 'EMIS_CH2O_IND+EMIS_CH2O_POW+EMIS_CH2O_TRA+EMIS_CH2O_RES+EMIS_CH2O_AIR+EMIS_CH2O_SHIP' , 'GEOSCHEMCHEM' , 'EMIS_HCHO_ANTH' , 'EMIS_CH2O_BB' , 'GEOSCHEMCHEM' , 'EMIS_HCHO_BB' , 'EMIS_BENZ' , 'GEOSCHEMCHEM' , 'EMIS_TOLU' , 'GEOSCHEMCHEM' , 'EMIS_XYLE' , 'GEOSCHEMCHEM' , 'EMIS_EOH' , 'GEOSCHEMCHEM' , 'EMIS_EOH_IND+EMIS_EOH_POW+EMIS_EOH_TRA+EMIS_EOH_RES' , 'GEOSCHEMCHEM' , 'EMIS_EOH_ANTH' , 'EMIS_EOH_BG' , 'GEOSCHEMCHEM' , 'EMIS_HCOOH' , 'GEOSCHEMCHEM' , 'EMIS_SOAP' , 'GEOSCHEMCHEM' , 'EMIS_SOAP_BG' , 'GEOSCHEMCHEM' , 'EMIS_SOAP_IND+EMIS_SOAP_POW+EMIS_SOAP_TRA+EMIS_SOAP_RES+EMIS_SOAP_AIR+EMIS_SOAP_SHIP' , 'GEOSCHEMCHEM' , 'EMIS_SOAP_ANTH' , 'EMIS_SOAS' , 'GEOSCHEMCHEM' , 'EMIS_SOAS_BG' , 'GEOSCHEMCHEM' , 'EMIS_SALA' , 'GEOSCHEMCHEM' , 'EMIS_SALC' , 'GEOSCHEMCHEM' , 'EMIS_DSTbin1' , 'GEOSCHEMCHEM' , 'EMIS_DSTbin2' , 'GEOSCHEMCHEM' , 'EMIS_DSTbin3' , 'GEOSCHEMCHEM' , 'EMIS_DSTbin4' , 'GEOSCHEMCHEM' , 'EMIS_DSTbin5' , 'GEOSCHEMCHEM' , 'EMIS_DSTbin6', , 'GEOSCHEMCHEM' , 'EMIS_DSTbin7', , 'GEOSCHEMCHEM' , 'EMIS_DMS' , 'GEOSCHEMCHEM' , 'EMIS_HOI' , 'GEOSCHEMCHEM' , 'EMIS_I2' , 'GEOSCHEMCHEM' , 'EMIS_CH3I' , 'GEOSCHEMCHEM' , 'EMIS_CH2I2' , 'GEOSCHEMCHEM' , 'EMIS_CH2ICl' , 'GEOSCHEMCHEM' , 'EMIS_CH2IBr' , 'GEOSCHEMCHEM' , 'EMIS_CHBr3' , 'GEOSCHEMCHEM' , 'EMIS_CH2Br2' , 'GEOSCHEMCHEM' , 'EMIS_pFe' , 'GEOSCHEMCHEM' , 'EMIS_LIMO_BG' , 'GEOSCHEMCHEM' , 'EMIS_SESQ_BG' , 'GEOSCHEMCHEM' , 'EMIS_MTPA_BG' , 'GEOSCHEMCHEM' , 'EMIS_MTPO_BG' , 'GEOSCHEMCHEM' , 'LFR_GCC' , 'MOIST' , 'FLASHRATE' , :: xgc_tavg_1hr_glo_L1440x721_slv.template: '%y4%m2%d2_%h2%n2z.nc4', xgc_tavg_1hr_glo_L1440x721_slv.archive: '%c/Y%y4', xgc_tavg_1hr_glo_L1440x721_slv.descr: '2d,1-Hourly,Time-Averaged,Column GEOS-Chem Fields', xgc_tavg_1hr_glo_L1440x721_slv.format: 'CFIO', xgc_tavg_1hr_glo_L1440x721_slv.mode: 'time-averaged', xgc_tavg_1hr_glo_L1440x721_slv.frequency: 010000, xgc_tavg_1hr_glo_L1440x721_slv.duration: 010000, xgc_tavg_1hr_glo_L1440x721_slv.ref_time: 000000, xgc_tavg_1hr_glo_L1440x721_slv.deflate: 1 , xgc_tavg_1hr_glo_L1440x721_slv.nbits: 10 , xgc_tavg_1hr_glo_L1440x721_slv.chunksize: 1440 721 1 1 , xgc_tavg_1hr_glo_L1440x721_slv.grid_label: PC1440x721-DC, xgc_tavg_1hr_glo_L1440x721_slv.regrid_method: 'BILINEAR', xgc_tavg_1hr_glo_L1440x721_slv.levels: 72, xgc_tavg_1hr_glo_L1440x721_slv.fields: 'GCCTO3' , 'GEOSCHEMCHEM' , 'TotCol_O3' , 'GCCTTO3' , 'GEOSCHEMCHEM' , 'TropCol_O3' , 'PblCol_O3' , 'GEOSCHEMCHEM' , 'PBLCol_O3' , 'TotCol_BrO' , 'GEOSCHEMCHEM' , 'TotCol_BrO' , 'TropCol_BrO' , 'GEOSCHEMCHEM' , 'TropCol_BrO' , 'TotCol_IO' , 'GEOSCHEMCHEM' , 'TotCol_IO' , 'TropCol_IO' , 'GEOSCHEMCHEM' , 'TropCol_IO' , 'TotCol_NO2' , 'GEOSCHEMCHEM' , 'TotCol_NO2' , 'TropCol_NO2' , 'GEOSCHEMCHEM' , 'TropCol_NO2' , 'PblCol_NO2' , 'GEOSCHEMCHEM' , 'PBLCol_NO2' , 'TotCol_SO2' , 'GEOSCHEMCHEM' , 'TotCol_SO2' , 'TropCol_SO2' , 'GEOSCHEMCHEM' , 'TropCol_SO2' , 'PblCol_SO2' , 'GEOSCHEMCHEM' , 'PBLCol_SO2' , 'TotCol_CO' , 'GEOSCHEMCHEM' , 'TotCol_CO' , 'TropCol_CO' , 'GEOSCHEMCHEM' , 'TropCol_CO' , #No need for stratospheric column for following VOCs: 'TropCol_CH2O' , 'GEOSCHEMCHEM' , 'TropCol_HCHO' , 'TropCol_GLYX' , 'GEOSCHEMCHEM' , 'TropCol_GLYX' , 'TropCol_ISOP' , 'GEOSCHEMCHEM' , 'TropCol_ISOP' , 'TropCol_PAN' , 'GEOSCHEMCHEM' , 'TropCol_PAN' , 'TropCol_NH3' , 'GEOSCHEMCHEM' , 'TropCol_NH3' , 'TropCol_HCOOH' , 'GEOSCHEMCHEM' , 'TropCol_HCOOH' , 'COSZ' , 'SOLAR' , 'AODHygWL1_SO4' , 'GEOSCHEMCHEM', 'AOD550_SULFATE' , 'AODHygWL1_BCPI ','GEOSCHEMCHEM', 'AOD550_BC' , #here BCPI includes BCPO 'AODHygWL1_OCPI ','GEOSCHEMCHEM', 'AOD550_OC' , #and OCPI includes OCPO 'AODHygWL1_SALA ','GEOSCHEMCHEM', 'AOD550_SALA' , 'AODHygWL1_SALC ','GEOSCHEMCHEM', 'AOD550_SALC' , 'AODDust ','GEOSCHEMCHEM', 'AOD550_DUST' , 'AODDustWL1_bin1 ','GEOSCHEMCHEM', 'AOD550_DST1' , 'AODDustWL1_bin2 ','GEOSCHEMCHEM', 'AOD550_DST2' , 'AODDustWL1_bin3 ','GEOSCHEMCHEM', 'AOD550_DST3' , 'AODDustWL1_bin4 ','GEOSCHEMCHEM', 'AOD550_DST4' , 'AODDustWL1_bin5 ','GEOSCHEMCHEM', 'AOD550_DST5' , 'AODDustWL1_bin6 ','GEOSCHEMCHEM', 'AOD550_DST6' , 'AODDustWL1_bin7 ','GEOSCHEMCHEM', 'AOD550_DST7' , # 'AOD550_CLOUD' , 'GEOSCHEMCHEM' , :: flx_tavg_24hr_glo_L1440x721_slv.template: '%y4%m2%d2_%h2%n2z.nc4', flx_tavg_24hr_glo_L1440x721_slv.archive: '%c/Y%y4', flx_tavg_24hr_glo_L1440x721_slv.descr: '2d,24-Hourly,Time-Averaged,Surface-Layer,GEOS-Chem Dry and Wet Deposition Flux Fields', flx_tavg_24hr_glo_L1440x721_slv.format: 'CFIO', flx_tavg_24hr_glo_L1440x721_slv.mode: 'time-averaged', flx_tavg_24hr_glo_L1440x721_slv.frequency: 240000, # flx_tavg_24hr_glo_L1440x721_slv.duration: 240000, flx_tavg_24hr_glo_L1440x721_slv.ref_time: 210000, flx_tavg_24hr_glo_L1440x721_slv.deflate: 1 , flx_tavg_24hr_glo_L1440x721_slv.nbits: 10 , flx_tavg_24hr_glo_L1440x721_slv.chunksize: 1440 721 1 1 , flx_tavg_24hr_glo_L1440x721_slv.grid_label: PC1440x721-DC, flx_tavg_24hr_glo_L1440x721_slv.regrid_method: 'BILINEAR', flx_tavg_24hr_glo_L1440x721_slv.levels: 72, flx_tavg_24hr_glo_L1440x721_slv.fields: 'DryDep_O3' , 'GEOSCHEMCHEM' , 'DRYDEPFLX_O3' , 'DryDep_NO2' , 'GEOSCHEMCHEM' , 'DRYDEPFLX_NO2' , 'DryDep_HNO3' , 'GEOSCHEMCHEM' , 'DRYDEPFLX_HNO3' , 'DryDep_NH4' , 'GEOSCHEMCHEM' , 'DRYDEPFLX_NH4' , 'DryDep_NH3' , 'GEOSCHEMCHEM' , 'DRYDEPFLX_NH3' , 'DryDep_NIT' , 'GEOSCHEMCHEM' , 'DRYDEPFLX_NIT' , 'DryDep_BCPO' , 'GEOSCHEMCHEM' , 'DRYDEPFLX_BCPO' , 'DryDep_BCPI' , 'GEOSCHEMCHEM' , 'DRYDEPFLX_BCPI' , 'DryDep_OCPO' , 'GEOSCHEMCHEM' , 'DRYDEPFLX_OCPO' , 'DryDep_OCPI' , 'GEOSCHEMCHEM' , 'DRYDEPFLX_OCPI' , 'DryDep_DST1' , 'GEOSCHEMCHEM' , 'DRYDEPFLX_DST1' , 'DryDep_DST2' , 'GEOSCHEMCHEM' , 'DRYDEPFLX_DST2' , 'DryDep_DST3' , 'GEOSCHEMCHEM' , 'DRYDEPFLX_DST3' , 'DryDep_DST4' , 'GEOSCHEMCHEM' , 'DRYDEPFLX_DST4' , 'DryDep_SALA' , 'GEOSCHEMCHEM' , 'DRYDEPFLX_SALA' , 'DryDep_SALC' , 'GEOSCHEMCHEM' , 'DRYDEPFLX_SALC' , 'DryDep_CH2O' , 'GEOSCHEMCHEM' , 'DRYDEPFLX_HCHO' , 'WetLossLS_SO2' , 'GEOSCHEMCHEM' , 'WETDEPFLX_SO2' , 'WetLossLS_SO4' , 'GEOSCHEMCHEM' , 'WETDEPFLX_SO4' , 'WetLossLS_SALA' , 'GEOSCHEMCHEM' , 'WETDEPFLX_SALA' , 'WetLossLS_SALC' , 'GEOSCHEMCHEM' , 'WETDEPFLX_SALC' , 'WetLossLS_HNO3' , 'GEOSCHEMCHEM' , 'WETDEPFLX_HNO3' , 'WetLossLS_NH4' , 'GEOSCHEMCHEM' , 'WETDEPFLX_NH4' , 'WetLossLS_NH3' , 'GEOSCHEMCHEM' , 'WETDEPFLX_NH3' , 'WetLossLS_NIT' , 'GEOSCHEMCHEM' , 'WETDEPFLX_NIT' , 'WetLossLS_BCPO' , 'GEOSCHEMCHEM' , 'WETDEPFLX_BCPO' , 'WetLossLS_BCPI' , 'GEOSCHEMCHEM' , 'WETDEPFLX_BCPI' , 'WetLossLS_OCPO' , 'GEOSCHEMCHEM' , 'WETDEPFLX_OCPO' , 'WetLossLS_OCPI' , 'GEOSCHEMCHEM' , 'WETDEPFLX_OCPI' , 'WetLossLS_DST1' , 'GEOSCHEMCHEM' , 'WETDEPFLX_DST1' , 'WetLossLS_DST2' , 'GEOSCHEMCHEM' , 'WETDEPFLX_DST2' , 'WetLossLS_DST3' , 'GEOSCHEMCHEM' , 'WETDEPFLX_DST3' , 'WetLossLS_DST4' , 'GEOSCHEMCHEM' , 'WETDEPFLX_DST4' , 'WetLossLS_CH2O' , 'GEOSCHEMCHEM' , 'WETDEPFLX_HCHO' , 'GCC_ConvScav_GF_SO2' , 'MOIST' , 'WETDEPFLX_CONV_SO2' , 'GCC_ConvScav_GF_SO4' , 'MOIST' , 'WETDEPFLX_CONV_SO4' , 'GCC_ConvScav_GF_SALA' , 'MOIST' , 'WETDEPFLX_CONV_SALA' , 'GCC_ConvScav_GF_SALC' , 'MOIST' , 'WETDEPFLX_CONV_SALC' , 'GCC_ConvScav_GF_HNO3' , 'MOIST' , 'WETDEPFLX_CONV_HNO3' , 'GCC_ConvScav_GF_NH4' , 'MOIST' , 'WETDEPFLX_CONV_NH4' , 'GCC_ConvScav_GF_NH3' , 'MOIST' , 'WETDEPFLX_CONV_NH3' , 'GCC_ConvScav_GF_NIT' , 'MOIST' , 'WETDEPFLX_CONV_NIT' , 'GCC_ConvScav_GF_BCPO' , 'MOIST' , 'WETDEPFLX_CONV_BCPO' , 'GCC_ConvScav_GF_BCPI' , 'MOIST' , 'WETDEPFLX_CONV_BCPI' , 'GCC_ConvScav_GF_OCPO' , 'MOIST' , 'WETDEPFLX_CONV_OCPO' , 'GCC_ConvScav_GF_OCPI' , 'MOIST' , 'WETDEPFLX_CONV_OCPI' , 'GCC_ConvScav_GF_DST1' , 'MOIST' , 'WETDEPFLX_CONV_DST1' , 'GCC_ConvScav_GF_DST2' , 'MOIST' , 'WETDEPFLX_CONV_DST2' , 'GCC_ConvScav_GF_DST3' , 'MOIST' , 'WETDEPFLX_CONV_DST3' , 'GCC_ConvScav_GF_DST4' , 'MOIST' , 'WETDEPFLX_CONV_DST4' , 'GCC_ConvScav_GF_CH2O' , 'MOIST' , 'WETDEPFLX_CONV_CH2O' , :: met_tavg_1hr_glo_L1440x721_slv.template: '%y4%m2%d2_%h2%n2z.nc4', met_tavg_1hr_glo_L1440x721_slv.archive: '%c/Y%y4', met_tavg_1hr_glo_L1440x721_slv.descr: '2d,1-Hourly,Time-Averaged,Surface-Layer,Meteorological Fields', met_tavg_1hr_glo_L1440x721_slv.format: 'CFIO', met_tavg_1hr_glo_L1440x721_slv.mode: 'time-averaged', met_tavg_1hr_glo_L1440x721_slv.frequency: 010000, met_tavg_1hr_glo_L1440x721_slv.duration: 010000, met_tavg_1hr_glo_L1440x721_slv.ref_time: 000000, met_tavg_1hr_glo_L1440x721_slv.deflate: 1 , met_tavg_1hr_glo_L1440x721_slv.nbits: 10 , met_tavg_1hr_glo_L1440x721_slv.chunksize: 1440 721 1 1 , met_tavg_1hr_glo_L1440x721_slv.grid_label: PC1440x721-DC, met_tavg_1hr_glo_L1440x721_slv.regrid_method: 'BILINEAR', met_tavg_1hr_glo_L1440x721_slv.levels: 72, met_tavg_1hr_glo_L1440x721_slv.fields: 'U' , 'DYN' , 'V' , 'DYN' , 'T' , 'DYN' , 'TS' , 'SURFACE' , 'Q' , 'MOIST' , 'CLDTT' , 'SOLAR' , 'PS' , 'DYN' , 'RH2' , 'MOIST' , 'RH' , 'SLP' , 'DYN' , 'PHIS' , 'AGCM' , 'TPREC' , 'MOIST' , 'ZL' , 'DYN' , 'ZPBL' , 'TURBULENCE' , 'TROPP_BLENDED' , 'AGCM' , 'TROPPB' , :: cda_tavg_6hr_glo_L1440x721_v72.template: '%y4%m2%d2_%h2%n2z.nc4', cda_tavg_6hr_glo_L1440x721_v72.archive: '%c/Y%y4', cda_tavg_6hr_glo_L1440x721_v72.format: 'CFIO', cda_tavg_6hr_glo_L1440x721_v72.deflate: 1, cda_tavg_6hr_glo_L1440x721_v72.nbits: 10 , cda_tavg_6hr_glo_L1440x721_v72.chunksize: 1440 721 1 1 , cda_tavg_6hr_glo_L1440x721_v72.mode: 'time-averaged' , cda_tavg_6hr_glo_L1440x721_v72.descr: '3d,6-hourly,Time-averaged, model-level, assimilation diagnostics', cda_tavg_6hr_glo_L1440x721_v72.frequency: 060000, cda_tavg_6hr_glo_L1440x721_v72.ref_time: 210000, cda_tavg_6hr_glo_L1440x721_v72.regrid_method: 'BILINEAR', cda_tavg_6hr_glo_L1440x721_v72.grid_label: PC1440x721-DC, cda_tavg_6hr_glo_L1440x721_v72.fields: 'AnaInc_O3' , 'GEOSCHEMCHEM' , 'AnaMaskSum_O3' , 'GEOSCHEMCHEM' , 'AnaInc_NO2' , 'GEOSCHEMCHEM' , 'AnaMaskSum_NO2' , 'GEOSCHEMCHEM' , 'AnaInc_SO2' , 'GEOSCHEMCHEM' , 'AnaMaskSum_SO2' , 'GEOSCHEMCHEM' , :: cda_inst_1hr_glo_L1440x721_slv.template: '%y4%m2%d2_%h2%n2z.nc4', cda_inst_1hr_glo_L1440x721_slv.archive: '%c/Y%y4', cda_inst_1hr_glo_L1440x721_slv.format: 'CFIO', cda_inst_1hr_glo_L1440x721_slv.deflate: 1, cda_inst_1hr_glo_L1440x721_slv.nbits: 10 , cda_inst_1hr_glo_L1440x721_slv.chunksize: 1440 721 1 1 , cda_inst_1hr_glo_L1440x721_slv.mode: 'instantaneous' , cda_inst_1hr_glo_L1440x721_slv.descr: '2d,1-Hourly,Instantaneous,single-level, column increments', cda_inst_1hr_glo_L1440x721_slv.frequency: 010000, cda_inst_1hr_glo_L1440x721_slv.ref_time: 210000, cda_inst_1hr_glo_L1440x721_slv.regrid_method: 'BILINEAR', cda_inst_1hr_glo_L1440x721_slv.grid_label: PC1440x721-DC, cda_inst_1hr_glo_L1440x721_slv.fields: 'AnaIncCol_O3' , 'GEOSCHEMCHEM' , 'AnaIncColTrop_O3' , 'GEOSCHEMCHEM' , 'AnaIncColPbl_O3' , 'GEOSCHEMCHEM' , 'AnaIncCol_NO2' , 'GEOSCHEMCHEM' , 'AnaIncColTrop_NO2' , 'GEOSCHEMCHEM' , 'AnaIncColPbl_NO2' , 'GEOSCHEMCHEM' , 'AnaIncCol_SO2' , 'GEOSCHEMCHEM' , 'AnaIncColTrop_SO2' , 'GEOSCHEMCHEM' , 'AnaIncColPbl_SO2' , 'GEOSCHEMCHEM' , :: cec_inst_3hr_glo_L576x361_v72.template: '%y4%m2%d2_%h2%n2z.nc4', cec_inst_3hr_glo_L576x361_v72.archive: '%c/Y%y4', cec_inst_3hr_glo_L576x361_v72.format: 'CFIO', cec_inst_3hr_glo_L576x361_v72.mode: 'instantaneous' , cec_inst_3hr_glo_L576x361_v72.descr: '3d,3-Hourly,Instantaneous,model-level,cbkg.eta.corrector', cec_inst_3hr_glo_L576x361_v72.frequency: 030000, cec_inst_3hr_glo_L576x361_v72.ref_time: 030000, cec_inst_3hr_glo_L576x361_v72.grid_label: PC576x361-DC, cec_inst_3hr_glo_L576x361_v72.fields: 'PHIS' , 'AGCM' , 'phis' , 'PS' , 'DYN' , 'ps' , 'DELP' , 'DYN' , 'delp' , 'Q' , 'MOIST' , 'sphu' , 'GCC_O3PPMV' , 'GEOSCHEMCHEM' , 'ozone' , 'SpeciesConcVV_SO2' , 'GEOSCHEMCHEM' , 'SO2g' , 'SpeciesConcVV_NO2' , 'GEOSCHEMCHEM' , 'NO2' , 'Met_PBLTOPL' , 'GEOSCHEMCHEM' , 'PBLTOPL' , 'Met_TropLev' , 'GEOSCHEMCHEM' , 'TROPLEV' , :: # Cube-sphere collection for JEDI jdi_inst_1hr_glo_C360x360x6_v72.template: '%y4%m2%d2_%h2%n2z.nc4' , jdi_inst_1hr_glo_C360x360x6_v72.archive: '%c/Y%y4', jdi_inst_1hr_glo_C360x360x6_v72.descr: '3d,3-Hourly,Instantaneous,model-level,Chemistry and Meteorology Fields on native cube-sphere grid' , jdi_inst_1hr_glo_C360x360x6_v72.format: 'CFIO' , jdi_inst_1hr_glo_C360x360x6_v72.mode: 'instantaneous' , jdi_inst_1hr_glo_C360x360x6_v72.deflate: 1 , # jdi_inst_1hr_glo_C360x360x6_v72.nbits: 10 , jdi_inst_1hr_glo_C360x360x6_v72.frequency: 010000 , jdi_inst_1hr_glo_C360x360x6_v72.duration: 010000 , jdi_inst_1hr_glo_C360x360x6_v72.ref_time: 010000, jdi_inst_1hr_glo_C360x360x6_v72.fields: 'SpeciesConcVV_O3' , 'GEOSCHEMCHEM' , 'O3' , 'SpeciesConcVV_NO' , 'GEOSCHEMCHEM' , 'NO' , 'SpeciesConcVV_NO2' , 'GEOSCHEMCHEM' , 'NO2' , 'SpeciesConcVV_CO' , 'GEOSCHEMCHEM' , 'CO' , 'DELP' , 'DYN' , 'T' , 'DYN' , 'PS' , 'DYN' , 'Q' , 'MOIST' , :: bc-met_inst_1hr_usa_L659x301_v42.template: '%y4%m2%d2_%h2%n2z.nc4' , bc-met_inst_1hr_usa_L659x301_v42.archive: '%c/Y%y4' , bc-met_inst_1hr_usa_L659x301_v42.mode: 'instantaneous' , bc-met_inst_1hr_usa_L659x301_v42.format: 'CFIO', bc-met_inst_1hr_usa_L659x301_v42.descr: '3d,1-Hourly,Instantaneous,Model-Level,Chemistry and Meteorology Fields for chemical lateral boundary conditions for regional US-focused models involved in the HAQAST Tiger Team', bc-met_inst_1hr_usa_L659x301_v42.grid_label: PC659x301-DC, bc-met_inst_1hr_usa_L659x301_v42.regrid_method: 'BILINEAR', bc-met_inst_1hr_usa_L659x301_v42.deflate: 1 , bc-met_inst_1hr_usa_L659x301_v42.nbits: 10 , bc-met_inst_1hr_usa_L659x301_v42.chunksize: 401 301 1 1 , bc-met_inst_1hr_usa_L659x301_v42.frequency: 010000 , bc-met_inst_1hr_usa_L659x301_v42.duration: 010000 , bc-met_inst_1hr_usa_L659x301_v42.ref_time: 000000 , # bc-met_inst_1hr_usa_L659x301_v42.end_date: 0000000, # bc-met_inst_1hr_usa_L659x301_v42.end_time: 120000 , bc-met_inst_1hr_usa_L659x301_v42.levels: 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72, #Barron uses PS, DELP, ZL, AIRDENS #This met collection has minimal met variables but not as slim as the four Barron uses. bc-met_inst_1hr_usa_L659x301_v42.fields: 'U' , 'DYN' , 'V' , 'DYN' , 'T' , 'DYN' , 'Q' , 'MOIST' , 'TH' , 'DYN' , 'DELP' , 'DYN' , 'PHIS' , 'AGCM' , 'PS' , 'DYN' , 'AIRDENS' , 'CHEMENV' , 'ZL' , 'DYN' , 'RH2' , 'MOIST' , 'RH' , 'SLP' , 'DYN' , 'TROPP_BLENDED' , 'AGCM' , 'TROPPB' , :: bc-chm_inst_1hr_usa_L659x301_v42.template: '%y4%m2%d2_%h2%n2z.nc4' , bc-chm_inst_1hr_usa_L659x301_v42.archive: '%c/Y%y4' , bc-chm_inst_1hr_usa_L659x301_v42.mode: 'instantaneous' , bc-chm_inst_1hr_usa_L659x301_v42.format: 'CFIO', bc-chm_inst_1hr_usa_L659x301_v42.descr: '3d,1-Hourly,Instantaneous,Model-Level,Chemistry and Meteorology Fields for chemical lateral boundary conditions for regional US-focused models involved in the HAQAST Tiger Team', bc-chm_inst_1hr_usa_L659x301_v42.grid_label: PC659x301-DC, bc-chm_inst_1hr_usa_L659x301_v42.regrid_method: 'BILINEAR', bc-chm_inst_1hr_usa_L659x301_v42.deflate: 1 , bc-chm_inst_1hr_usa_L659x301_v42.nbits: 10 , bc-chm_inst_1hr_usa_L659x301_v42.chunksize: 401 301 1 1 , bc-chm_inst_1hr_usa_L659x301_v42.frequency: 010000 , bc-chm_inst_1hr_usa_L659x301_v42.duration: 010000 , bc-chm_inst_1hr_usa_L659x301_v42.ref_time: 000000 , # bc-chm_inst_1hr_usa_L659x301_v42.end_date: 0000000, # bc-chm_inst_1hr_usa_L659x301_v42.end_time: 120000 , bc-chm_inst_1hr_usa_L659x301_v42.levels: 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72, bc-chm_inst_1hr_usa_L659x301_v42.fields: 'SpeciesConcVV_ACET' , 'GEOSCHEMCHEM' , 'ACET' , 'SpeciesConcVV_ALD2' , 'GEOSCHEMCHEM' , 'ALD2' , 'SpeciesConcVV_ALK4' , 'GEOSCHEMCHEM' , 'ALK4' , 'SpeciesConcVV_C2H6' , 'GEOSCHEMCHEM' , 'C2H6' , 'SpeciesConcVV_C3H8' , 'GEOSCHEMCHEM' , 'C3H8' , 'SpeciesConcVV_CH4' , 'GEOSCHEMCHEM' , 'CH4' , 'SpeciesConcVV_CO' , 'GEOSCHEMCHEM' , 'CO' , 'SpeciesConcVV_H2O2' , 'GEOSCHEMCHEM' , 'H2O2' , 'SpeciesConcVV_CH2O' , 'GEOSCHEMCHEM' , 'HCHO' , 'SpeciesConcVV_HNO2' , 'GEOSCHEMCHEM' , 'HNO2' , 'SpeciesConcVV_HNO3' , 'GEOSCHEMCHEM' , 'HNO3' , 'SpeciesConcVV_HNO4' , 'GEOSCHEMCHEM' , 'HNO4' , 'SpeciesConcVV_HO2' , 'GEOSCHEMCHEM' , 'HO2' , 'SpeciesConcVV_N2O5' , 'GEOSCHEMCHEM' , 'N2O5' , 'SpeciesConcVV_NH3' , 'GEOSCHEMCHEM' , 'NH3' , 'SpeciesConcVV_NO' , 'GEOSCHEMCHEM' , 'NO' , 'SpeciesConcVV_NO2' , 'GEOSCHEMCHEM' , 'NO2' , 'NOy' , 'GEOSCHEMCHEM' , 'NOy' , 'SpeciesConcVV_MPAN' , 'GEOSCHEMCHEM' , 'MPAN' , 'SpeciesConcVV_O3' , 'GEOSCHEMCHEM' , 'O3' , 'SpeciesConcVV_OH' , 'GEOSCHEMCHEM' , 'OH' , 'SpeciesConcVV_PAN' , 'GEOSCHEMCHEM' , 'PAN' , 'PM25' , 'GEOSCHEMCHEM' , 'PM25_RH35_GCC' , 'SpeciesConcVV_PPN' , 'GEOSCHEMCHEM' , 'PPN' , 'SpeciesConcVV_PRPE' , 'GEOSCHEMCHEM' , 'PRPE' , 'SpeciesConcVV_R4N1' , 'GEOSCHEMCHEM' , 'R4N1' , 'SpeciesConcVV_R4N2' , 'GEOSCHEMCHEM' , 'R4N2' , 'SpeciesConcVV_RCHO' , 'GEOSCHEMCHEM' , 'RCHO' , 'SpeciesConcVV_SO2' , 'GEOSCHEMCHEM' , 'SO2' , 'SpeciesConcVV_BCPI' , 'GEOSCHEMCHEM' , 'BCPI' , 'SpeciesConcVV_BCPO' , 'GEOSCHEMCHEM' , 'BCPO' , 'SpeciesConcVV_DST1' , 'GEOSCHEMCHEM' , 'DST1' , 'SpeciesConcVV_DST2' , 'GEOSCHEMCHEM' , 'DST2' , 'SpeciesConcVV_DST3' , 'GEOSCHEMCHEM' , 'DST3' , 'SpeciesConcVV_DST4' , 'GEOSCHEMCHEM' , 'DST4' , 'SpeciesConcVV_MSA' , 'GEOSCHEMCHEM' , 'MSA' , 'SpeciesConcVV_NH4' , 'GEOSCHEMCHEM' , 'NH4' , 'SpeciesConcVV_NIT' , 'GEOSCHEMCHEM' , 'NIT' , 'SpeciesConcVV_NITs' , 'GEOSCHEMCHEM' , 'NITs' , 'SpeciesConcVV_OCPI' , 'GEOSCHEMCHEM' , 'OCPI' , 'SpeciesConcVV_OCPO' , 'GEOSCHEMCHEM' , 'OCPO' , 'SpeciesConcVV_SALA' , 'GEOSCHEMCHEM' , 'SALA' , 'SpeciesConcVV_SALC' , 'GEOSCHEMCHEM' , 'SALC' , 'SpeciesConcVV_SO4' , 'GEOSCHEMCHEM' , 'SO4' , 'SpeciesConcVV_SO4s' , 'GEOSCHEMCHEM' , 'SO4s' , 'SpeciesConcVV_SOAP' , 'GEOSCHEMCHEM' , 'SOAP' , 'SpeciesConcVV_SOAS' , 'GEOSCHEMCHEM' , 'SOAS' , 'SpeciesConcVV_ClO' , 'GEOSCHEMCHEM' , 'ClO' , 'SpeciesConcVV_Cl' , 'GEOSCHEMCHEM' , 'Cl' , 'SpeciesConcVV_Cl2' , 'GEOSCHEMCHEM' , 'Cl2' , 'SpeciesConcVV_HCl' , 'GEOSCHEMCHEM' , 'HCl' , 'SpeciesConcVV_IO' , 'GEOSCHEMCHEM' , 'IO' , 'SpeciesConcVV_Br' , 'GEOSCHEMCHEM' , 'Br' , 'SpeciesConcVV_Br2' , 'GEOSCHEMCHEM' , 'Br2' , 'SpeciesConcVV_BrCl' , 'GEOSCHEMCHEM' , 'BrCl' , 'SpeciesConcVV_BrNO2' , 'GEOSCHEMCHEM' , 'BrNO2' , 'SpeciesConcVV_BrNO3' , 'GEOSCHEMCHEM' , 'BrNO3' , 'SpeciesConcVV_CH3I' , 'GEOSCHEMCHEM' , 'CH3I' , 'SpeciesConcVV_ClNO2' , 'GEOSCHEMCHEM' , 'ClNO2' , 'SpeciesConcVV_ClNO3' , 'GEOSCHEMCHEM' , 'ClNO3' , 'SpeciesConcVV_HBr' , 'GEOSCHEMCHEM' , 'HBr' , 'SpeciesConcVV_HOCl' , 'GEOSCHEMCHEM' , 'HOCl' , 'SpeciesConcVV_HI' , 'GEOSCHEMCHEM' , 'HI' , 'SpeciesConcVV_HOBr' , 'GEOSCHEMCHEM' , 'HOBr' , 'SpeciesConcVV_HOI' , 'GEOSCHEMCHEM' , 'HOI' , 'SpeciesConcVV_I' , 'GEOSCHEMCHEM' , 'I' , 'SpeciesConcVV_I2' , 'GEOSCHEMCHEM' , 'I2' , 'SpeciesConcVV_I2O2' , 'GEOSCHEMCHEM' , 'I2O2' , 'SpeciesConcVV_I2O3' , 'GEOSCHEMCHEM' , 'I2O3' , 'SpeciesConcVV_I2O4' , 'GEOSCHEMCHEM' , 'I2O4' , 'SpeciesConcVV_IBr' , 'GEOSCHEMCHEM' , 'IBr' , 'SpeciesConcVV_ICl' , 'GEOSCHEMCHEM' , 'ICl' , 'SpeciesConcVV_INO' , 'GEOSCHEMCHEM' , 'INO' , 'SpeciesConcVV_IONO' , 'GEOSCHEMCHEM' , 'IONO' , 'SpeciesConcVV_IONO2' , 'GEOSCHEMCHEM' , 'IONO2' , 'SpeciesConcVV_CH2Br2' , 'GEOSCHEMCHEM' , 'CH2Br2' , 'SpeciesConcVV_CHBr3' , 'GEOSCHEMCHEM' , 'CHBr3' , 'SpeciesConcVV_CH2I2' , 'GEOSCHEMCHEM' , 'CH2I2' , 'SpeciesConcVV_CH2IBr' , 'GEOSCHEMCHEM' , 'CH2IBr' , 'SpeciesConcVV_CH2ICl' , 'GEOSCHEMCHEM' , 'CH2ICl' , 'SpeciesConcVV_OIO' , 'GEOSCHEMCHEM' , 'OIO' , 'SpeciesConcVV_IDC' , 'GEOSCHEMCHEM' , 'IDC' , 'SpeciesConcVV_IEPOXA' , 'GEOSCHEMCHEM' , 'IEPOXA' , 'SpeciesConcVV_IEPOXB' , 'GEOSCHEMCHEM' , 'IEPOXB' , 'SpeciesConcVV_IEPOXD' , 'GEOSCHEMCHEM' , 'IEPOXD' , 'SpeciesConcVV_IHN1' , 'GEOSCHEMCHEM' , 'IHN1' , 'SpeciesConcVV_IHN2' , 'GEOSCHEMCHEM' , 'IHN2' , 'SpeciesConcVV_IHN3' , 'GEOSCHEMCHEM' , 'IHN3' , 'SpeciesConcVV_IHN4' , 'GEOSCHEMCHEM' , 'IHN4' , 'SpeciesConcVV_INPB' , 'GEOSCHEMCHEM' , 'INPB' , 'SpeciesConcVV_INPD' , 'GEOSCHEMCHEM' , 'INPD' , 'SpeciesConcVV_ICN' , 'GEOSCHEMCHEM' , 'ICN' , 'SpeciesConcVV_ITCN' , 'GEOSCHEMCHEM' , 'ITCN' , 'SpeciesConcVV_ITHN' , 'GEOSCHEMCHEM' , 'ITHN' , 'SpeciesConcVV_IDN' , 'GEOSCHEMCHEM' , 'IDN' , 'SpeciesConcVV_MONITU' , 'GEOSCHEMCHEM' , 'MONITU' , 'SpeciesConcVV_MONITS' , 'GEOSCHEMCHEM' , 'MONITS' , 'SpeciesConcVV_HCOOH' , 'GEOSCHEMCHEM' , 'HCOOH' , 'SpeciesConcVV_HPALD1' , 'GEOSCHEMCHEM' , 'HPALD1' , 'SpeciesConcVV_HPALD2' , 'GEOSCHEMCHEM' , 'HPALD2' , 'SpeciesConcVV_HPALD3' , 'GEOSCHEMCHEM' , 'HPALD3' , 'SpeciesConcVV_HPALD4' , 'GEOSCHEMCHEM' , 'HPALD4' , 'SpeciesConcVV_ICPDH' , 'GEOSCHEMCHEM' , 'ICPDH' , 'SpeciesConcVV_IDCHP' , 'GEOSCHEMCHEM' , 'IDCHP' , 'SpeciesConcVV_IDHDP' , 'GEOSCHEMCHEM' , 'IDHDP' , 'SpeciesConcVV_RIPA' , 'GEOSCHEMCHEM' , 'RIPA' , 'SpeciesConcVV_RIPB' , 'GEOSCHEMCHEM' , 'RIPB' , 'SpeciesConcVV_RIPC' , 'GEOSCHEMCHEM' , 'RIPC' , 'SpeciesConcVV_RIPD' , 'GEOSCHEMCHEM' , 'RIPD' , 'SpeciesConcVV_LIMO' , 'GEOSCHEMCHEM' , 'LIMO' , 'SpeciesConcVV_MTPO' , 'GEOSCHEMCHEM' , 'MTPO' , 'SpeciesConcVV_MTPA' , 'GEOSCHEMCHEM' , 'MTPA' , 'SpeciesConcVV_MACR' , 'GEOSCHEMCHEM' , 'MACR' , 'SpeciesConcVV_MVK' , 'GEOSCHEMCHEM' , 'MVK' , 'SpeciesConcVV_HC5A' , 'GEOSCHEMCHEM' , 'HC5A' , 'SpeciesConcVV_MVKN' , 'GEOSCHEMCHEM' , 'MVKN' , 'SpeciesConcVV_MCRHN' , 'GEOSCHEMCHEM' , 'MCRHN' , 'SpeciesConcVV_HONIT' , 'GEOSCHEMCHEM' , 'HONIT' , 'SpeciesConcVV_MACR1OOH' , 'GEOSCHEMCHEM' , 'MACR1OOH' , 'SpeciesConcVV_MCRHP' , 'GEOSCHEMCHEM' , 'MCRHP' , 'SpeciesConcVV_MCRHNB' , 'GEOSCHEMCHEM' , 'MCRHNB' , 'SpeciesConcVV_BALD' , 'GEOSCHEMCHEM' , 'BALD' , 'SpeciesConcVV_BENZ' , 'GEOSCHEMCHEM' , 'BENZ' , 'SpeciesConcVV_MCT' , 'GEOSCHEMCHEM' , 'MCT' , 'SpeciesConcVV_CSL' , 'GEOSCHEMCHEM' , 'CSL' , 'SpeciesConcVV_PHEN' , 'GEOSCHEMCHEM' , 'PHEN' , 'SpeciesConcVV_NPHEN' , 'GEOSCHEMCHEM' , 'NPHEN' , 'SpeciesConcVV_C2H2' , 'GEOSCHEMCHEM' , 'C2H2' , 'SpeciesConcVV_EOH' , 'GEOSCHEMCHEM' , 'EOH' , 'SpeciesConcVV_ICHE' , 'GEOSCHEMCHEM' , 'ICHE' , 'SpeciesConcVV_IDHPE' , 'GEOSCHEMCHEM' , 'IDHPE' , 'SpeciesConcVV_GLYX' , 'GEOSCHEMCHEM' , 'GLYX' , 'SpeciesConcVV_GLYC' , 'GEOSCHEMCHEM' , 'GLYC' , 'SpeciesConcVV_MEK' , 'GEOSCHEMCHEM' , 'MEK' , 'SpeciesConcVV_MGLY' , 'GEOSCHEMCHEM' , 'MGLY' , 'SpeciesConcVV_MP' , 'GEOSCHEMCHEM' , 'MP' , 'SpeciesConcVV_MOH' , 'GEOSCHEMCHEM' , 'MOH' , 'SpeciesConcVV_HMHP' , 'GEOSCHEMCHEM' , 'HMHP' , 'SpeciesConcVV_NO3' , 'GEOSCHEMCHEM' , 'NO3' , 'SpeciesConcVV_ETNO3' , 'GEOSCHEMCHEM' , 'ETNO3' , 'SpeciesConcVV_IPRNO3' , 'GEOSCHEMCHEM' , 'IPRNO3' , 'SpeciesConcVV_NPRNO3' , 'GEOSCHEMCHEM' , 'NPRNO3' , 'SpeciesConcVV_MENO3' , 'GEOSCHEMCHEM' , 'MENO3' , 'SpeciesConcVV_ETHN' , 'GEOSCHEMCHEM' , 'ETHN' , 'SpeciesConcVV_PROPNN' , 'GEOSCHEMCHEM' , 'PROPNN' , 'SpeciesConcVV_ETHLN' , 'GEOSCHEMCHEM' , 'ETHLN' , 'SpeciesConcVV_MAP' , 'GEOSCHEMCHEM' , 'MAP' , 'SpeciesConcVV_ATOOH' , 'GEOSCHEMCHEM' , 'ATOOH' , 'SpeciesConcVV_ETP' , 'GEOSCHEMCHEM' , 'ETP' , 'SpeciesConcVV_PP' , 'GEOSCHEMCHEM' , 'PP' , 'SpeciesConcVV_RB3P' , 'GEOSCHEMCHEM' , 'RB3P' , 'SpeciesConcVV_RA3P' , 'GEOSCHEMCHEM' , 'RA3P' , 'SpeciesConcVV_RP' , 'GEOSCHEMCHEM' , 'RP' , 'SpeciesConcVV_R4P' , 'GEOSCHEMCHEM' , 'R4P' , 'SpeciesConcVV_PIP' , 'GEOSCHEMCHEM' , 'PIP' , 'SpeciesConcVV_BENZP' , 'GEOSCHEMCHEM' , 'BENZP' , 'SpeciesConcVV_ETHP' , 'GEOSCHEMCHEM' , 'ETHP' , 'SpeciesConcVV_PRPN' , 'GEOSCHEMCHEM' , 'PRPN' , 'SpeciesConcVV_TOLU' , 'GEOSCHEMCHEM' , 'TOLU' , 'SpeciesConcVV_XYLE' , 'GEOSCHEMCHEM' , 'XYLE' , :: trc_tavg_6hr_glo_L1440x721_p44.template: '%y4%m2%d2_%h2%n2z.nc4', trc_tavg_6hr_glo_L1440x721_p44.archive: '%c/Y%y4', trc_tavg_6hr_glo_L1440x721_p44.descr: '3d,6-Hourly,Time-Averaged,Pressure-Level,Tracer and Meteorology Fields', trc_tavg_6hr_glo_L1440x721_p44.format: 'CFIO', trc_tavg_6hr_glo_L1440x721_p44.mode: 'time-averaged', trc_tavg_6hr_glo_L1440x721_p44.frequency: 060000, trc_tavg_6hr_glo_L1440x721_p44.duration: 060000, trc_tavg_6hr_glo_L1440x721_p44.ref_time: 000000, # trc_tavg_6hr_glo_L1440x721_p44.end_date: 0000000, # trc_tavg_6hr_glo_L1440x721_p44.end_time: 120000, trc_tavg_6hr_glo_L1440x721_p44.deflate: 1 , trc_tavg_6hr_glo_L1440x721_p44.nbits: 10 , trc_tavg_6hr_glo_L1440x721_p44.chunksize: 1440 721 1 1 , trc_tavg_6hr_glo_L1440x721_p44.grid_label: PC1440x721-DC, trc_tavg_6hr_glo_L1440x721_p44.regrid_method: 'BILINEAR', trc_tavg_6hr_glo_L1440x721_p44.levels: 1000 975 950 925 900 875 850 825 800 775 750 725 700 650 600 550 500 450 400 350 300 250 200 150 125 100 85 70 50 40 30 20 10 7 5 4 3 2 1 0.7 0.5 0.4 0.3 0.1 , trc_tavg_6hr_glo_L1440x721_p44.fields: 'PS' , 'DYN' , 'AIRDENS' , 'CHEMENV' , 'aoa' , 'TR' , 'e90' , 'TR' , 'Rn222' , 'TR' , 'CH3I' , 'TR' , 'U' , 'DYN' , 'V' , 'DYN' , 'RH2' , 'MOIST' , 'RH' , 'TROPP_BLENDED' , 'AGCM' , 'TROPPB' , 'SpeciesConcVV_N2O' , 'GEOSCHEMCHEM' , 'N2O' , :: dbg_tavg_3hr_glo_L1440x721_v72.template: '%y4%m2%d2_%h2%n2z.nc4', dbg_tavg_3hr_glo_L1440x721_v72.archive: '%c/Y%y4', dbg_tavg_3hr_glo_L1440x721_v72.descr: '3d,3-Hourly,Time-Averaged,Model-Level,Diagnostics for model debugging', dbg_tavg_3hr_glo_L1440x721_v72.format: 'CFIO', dbg_tavg_3hr_glo_L1440x721_v72.mode: 'time-averaged', dbg_tavg_3hr_glo_L1440x721_v72.frequency: 030000, dbg_tavg_3hr_glo_L1440x721_v72.duration: 030000, dbg_tavg_3hr_glo_L1440x721_v72.ref_time: 000000, # dbg_tavg_3hr_glo_L1440x721_v72.end_date: 0000000, # dbg_tavg_3hr_glo_L1440x721_v72.end_time: 120000, dbg_tavg_3hr_glo_L1440x721_v72.deflate: 1 , dbg_tavg_3hr_glo_L1440x721_v72.nbits: 10 , dbg_tavg_3hr_glo_L1440x721_v72.chunksize: 1440 721 1 1 , dbg_tavg_3hr_glo_L1440x721_v72.grid_label: PC1440x721-DC, dbg_tavg_3hr_glo_L1440x721_v72.regrid_method: 'BILINEAR', dbg_tavg_3hr_glo_L1440x721_v72.fields: 'Met_PBLTOPL' , 'GEOSCHEMCHEM' , 'PBLTOPL' , 'Met_TropLev' , 'GEOSCHEMCHEM' , 'TROPLEV' , :: aer_tavg_24hr_glo_L1440x721_slv.format: 'CFIO' , aer_tavg_24hr_glo_L1440x721_slv.descr: '2d,24-Hourly,Time-Averaged,Single-Level,Aerosol Diagnostics from GOCART', aer_tavg_24hr_glo_L1440x721_slv.template: '%y4%m2%d2_%h2%n2z.nc4', aer_tavg_24hr_glo_L1440x721_slv.archive: '%c/Y%y4', aer_tavg_24hr_glo_L1440x721_slv.mode: 'time-averaged', aer_tavg_24hr_glo_L1440x721_slv.grid_label: PC1440x721-DC, aer_tavg_24hr_glo_L1440x721_slv.regrid_method: 'BILINEAR', aer_tavg_24hr_glo_L1440x721_slv.frequency: 240000 , aer_tavg_24hr_glo_L1440x721_slv.duration: 240000 , aer_tavg_24hr_glo_L1440x721_slv.ref_time: 210000 , # aer_tavg_24hr_glo_L1440x721_slv.end_date: 0000000, # aer_tavg_24hr_glo_L1440x721_slv.end_time: 120000, aer_tavg_24hr_glo_L1440x721_slv.deflate: 1 , aer_tavg_24hr_glo_L1440x721_slv.nbits: 10 , aer_tavg_24hr_glo_L1440x721_slv.chunksize: 1440 721 1 1 , aer_tavg_24hr_glo_L1440x721_slv.fields: 'CA.bcSMASS' , 'CA.bc' , 'BCSMASS' , # Black Carbon 'CA.bcCMASS' , 'CA.bc' , 'BCCMASS' , 'CA.bcEXTTAU' , 'CA.bc' , 'BCEXTTAU' , 'CA.bcSCATAU' , 'CA.bc' , 'BCSCATAU' , 'CA.bcSTEXTTAU' , 'CA.bc' , 'BCSTEXTTAU' , 'CA.bcSTSCATAU' , 'CA.bc' , 'BCSTSCATAU' , 'CA.bcANGSTR' , 'CA.bc' , 'BCANGSTR' , 'CA.bcFLUXU' , 'CA.bc' , 'BCFLUXU' , 'CA.bcFLUXV' , 'CA.bc' , 'BCFLUXV' , # Brown Carbon 'CA.brSMASS' , 'CA.br' , 'BRSMASS' , 'CA.brCMASS' , 'CA.br' , 'BRCMASS' , 'CA.brEXTTAU' , 'CA.br' , 'BREXTTAU' , 'CA.brSCATAU' , 'CA.br' , 'BRSCATAU' , 'CA.brSTEXTTAU' , 'CA.br' , 'BRSTEXTTAU' , 'CA.brSTSCATAU' , 'CA.br' , 'BRSTSCATAU' , 'CA.brANGSTR' , 'CA.br' , 'BRANGSTR' , 'CA.brFLUXU' , 'CA.br' , 'BRFLUXU' , 'CA.brFLUXV' , 'CA.br' , 'BRFLUXV' , # Dust 'DUSMASS' , 'DU' , 'DUCMASS' , 'DU' , 'DUEXTTAU' , 'DU' , 'DUSCATAU' , 'DU' , 'DUSTEXTTAU' , 'DU' , 'DUSTSCATAU' , 'DU' , 'DUANGSTR' , 'DU' , 'DUSMASS25' , 'DU' , 'DUCMASS25' , 'DU' , 'DUEXTT25' , 'DU' , 'DUSCAT25' , 'DU' , 'DUFLUXU' , 'DU' , 'DUFLUXV' , 'DU' , # Seasalt 'SSSMASS' , 'SS' , 'SSCMASS' , 'SS' , 'SSEXTTAU' , 'SS' , 'SSSCATAU' , 'SS' , 'SSSTEXTTAU' , 'SS' , 'SSSTSCATAU' , 'SS' , 'SSANGSTR' , 'SS' , 'SSSMASS25' , 'SS' , 'SSCMASS25' , 'SS' , 'SSEXTT25' , 'SS' , 'SSSCAT25' , 'SS' , 'SSFLUXU' , 'SS' , 'SSFLUXV' , 'SS' , # Sulfates 'SO2SMASS' , 'SU' , 'SO2CMASS' , 'SU' , 'SO4SMASS' , 'SU' , 'SO4CMASS' , 'SU' , 'DMSSMASS' , 'SU' , 'DMSCMASS' , 'SU' , 'SUEXTTAU' , 'SU' , 'SUSCATAU' , 'SU' , 'SUSTEXTTAU' , 'SU' , 'SUSTSCATAU' , 'SU' , 'SUANGSTR' , 'SU' , 'SUFLUXU' , 'SU' , 'SUFLUXV' , 'SU' , # Organic Carbon 'CA.ocSMASS' , 'CA.oc' , 'OCSMASS' , 'CA.ocCMASS' , 'CA.oc' , 'OCCMASS' , 'CA.ocEXTTAU' , 'CA.oc' , 'OCEXTTAU' , 'CA.ocSCATAU' , 'CA.oc' , 'OCSCATAU' , 'CA.ocSTEXTTAU' , 'CA.oc' , 'OCSTEXTTAU' , 'CA.ocSTSCATAU' , 'CA.oc' , 'OCSTSCATAU' , 'CA.ocANGSTR' , 'CA.oc' , 'OCANGSTR' , 'CA.ocFLUXU' , 'CA.oc' , 'OCFLUXU' , 'CA.ocFLUXV' , 'CA.oc' , 'OCFLUXV' , # Nitrate 'HNO3SMASS' , 'NI' , 'NH3SMASS' , 'NI' , 'NH4SMASS' , 'NI' , 'NISMASS' , 'NI' , 'NISMASS25' , 'NI' , 'HNO3CMASS' , 'NI' , 'NH3CMASS' , 'NI' , 'NH4CMASS' , 'NI' , 'NICMASS' , 'NI' , 'NICMASS25' , 'NI' , 'NIEXTTFM' , 'NI' , 'NISCATFM' , 'NI' , 'NIEXTTAU' , 'NI' , 'NISCATAU' , 'NI' , 'NIANGSTR' , 'NI' , 'NIFLUXU' , 'NI' , 'NIFLUXV' , 'NI' , # Combined Aerosols 'TOTEXTTAU' , 'GOCART2G' , 'TOTSCATAU' , 'GOCART2G' , 'TOTANGSTR' , 'GOCART2G' , 'TOTSTEXTTAU' , 'GOCART2G' , 'TOTSTSCATAU' , 'GOCART2G' , 'PM25' , 'GOCART2G' , 'PM' , 'GOCART2G' , :: aer_tavg_24hr_glo_L1440x721_p23.format: 'CFIO' , aer_tavg_24hr_glo_L1440x721_p23.descr: '3d,24-Hourly,Time-Averaged,Pressure-Level,Aerosol Diagnostics from GOCART', aer_tavg_24hr_glo_L1440x721_p23.template: '%y4%m2%d2_%h2%n2z.nc4', aer_tavg_24hr_glo_L1440x721_p23.archive: '%c/Y%y4', aer_tavg_24hr_glo_L1440x721_p23.deflate: 1 , aer_tavg_24hr_glo_L1440x721_p23.nbits: 10 , aer_tavg_24hr_glo_L1440x721_p23.chunksize: 1440 721 1 1 , aer_tavg_24hr_glo_L1440x721_p23.frequency: 240000 , aer_tavg_24hr_glo_L1440x721_p23.duration: 240000 , aer_tavg_24hr_glo_L1440x721_p23.ref_time: 210000 , # aer_tavg_24hr_glo_L1440x721_p23.end_date: 0000000, # aer_tavg_24hr_glo_L1440x721_p23.end_time: 120000, aer_tavg_24hr_glo_L1440x721_p23.grid_label: PC1440x721-DC, aer_tavg_24hr_glo_L1440x721_p23.mode: 'time-averaged', aer_tavg_24hr_glo_L1440x721_p23.vscale: 100.0, aer_tavg_24hr_glo_L1440x721_p23.vunit: 'hPa', aer_tavg_24hr_glo_L1440x721_p23.vvars: 'log(PLE)' , 'DYN' , aer_tavg_24hr_glo_L1440x721_p23.levels: 1000 975 950 925 900 850 800 750 700 650 600 550 500 450 400 350 300 250 200 150 100 50 10, aer_tavg_24hr_glo_L1440x721_p23.fields: 'PS' , 'DYN' , 'PS' , 'LWI' , 'SURFACE' , 'LWI' , 'AIRDENS' , 'CHEMENV' , 'DUMASS' , 'DU' , 'DU' , 'SSMASS' , 'SS' , 'SS' , 'CA.bcMASS' , 'CA.bc' , 'BC' , 'CA.brMASS' , 'CA.br' , 'BR' , 'CA.ocMASS' , 'CA.oc' , 'OC' , 'SO2' , 'SU' , 'SO4' , 'SU' , 'NIMASS' , 'NI' , 'NI' , :: chm_tavg_24hr_glo_L1440x721_slv.template: '%y4%m2%d2_%h2%n2z.nc4', chm_tavg_24hr_glo_L1440x721_slv.archive: '%c/Y%y4', chm_tavg_24hr_glo_L1440x721_slv.descr: '2d,24-Hourly,Time-Averaged,Single-Layer,GEOS-Chem Diagnostic Fields', chm_tavg_24hr_glo_L1440x721_slv.format: 'CFIO', chm_tavg_24hr_glo_L1440x721_slv.mode: 'time-averaged', chm_tavg_24hr_glo_L1440x721_slv.frequency: 240000, chm_tavg_24hr_glo_L1440x721_slv.duration: 240000, chm_tavg_24hr_glo_L1440x721_slv.ref_time: 210000, chm_tavg_24hr_glo_L1440x721_slv.deflate: 1 , chm_tavg_24hr_glo_L1440x721_slv.nbits: 10 , chm_tavg_24hr_glo_L1440x721_slv.chunksize: 1440 721 1 1 , chm_tavg_24hr_glo_L1440x721_slv.grid_label: PC1440x721-DC, chm_tavg_24hr_glo_L1440x721_slv.regrid_method: 'BILINEAR', chm_tavg_24hr_glo_L1440x721_slv.fields: 'OHwgtByAirMassColumnTrop', 'GEOSCHEMCHEM', 'AirMassColumnTrop' , 'GEOSCHEMCHEM', 'LossOHbyCH4columnTrop' , 'GEOSCHEMCHEM', :: chm_tavg_24hr_glo_L1440x721_p45.format: 'CFIO' , chm_tavg_24hr_glo_L1440x721_p45.descr: '3d,24-Hourly,Time-Averaged,Pressure-Level, Diagnostic Fields', chm_tavg_24hr_glo_L1440x721_p45.template: '%y4%m2%d2_%h2%n2z.nc4', chm_tavg_24hr_glo_L1440x721_p45.archive: '%c/Y%y4', chm_tavg_24hr_glo_L1440x721_p45.mode: 'time-averaged', chm_tavg_24hr_glo_L1440x721_p45.grid_label: PC1440x721-DC, chm_tavg_24hr_glo_L1440x721_p45.regrid_method: 'BILINEAR', chm_tavg_24hr_glo_L1440x721_p45.frequency: 240000 , chm_tavg_24hr_glo_L1440x721_p45.duration: 240000 , chm_tavg_24hr_glo_L1440x721_p45.ref_time: 210000 , # chm_tavg_24hr_glo_L1440x721_p45.end_date: 0000000, # chm_tavg_24hr_glo_L1440x721_p45.end_time: 120000, chm_tavg_24hr_glo_L1440x721_p45.deflate: 1 , chm_tavg_24hr_glo_L1440x721_p45.nbits: 10 , chm_tavg_24hr_glo_L1440x721_p45.chunksize: 1440 721 1 1 , chm_tavg_24hr_glo_L1440x721_p45.vscale: 100.0 , chm_tavg_24hr_glo_L1440x721_p45.vunit: 'hPa' , chm_tavg_24hr_glo_L1440x721_p45.vvars: 'log(PLE)' , 'DYN' , chm_tavg_24hr_glo_L1440x721_p45.levels: 1000 975 950 925 900 875 850 825 800 775 750 725 700 650 600 550 500 450 400 350 300 250 200 150 125 100 85 70 50 40 30 20 10 7 5 4 3 2 1 0.7 0.5 0.4 0.3 0.2 0.1 , chm_tavg_24hr_glo_L1440x721_p45.fields: 'SpeciesConcVV_N2O' , 'GEOSCHEMCHEM' , 'N2O' , 'SpeciesConcVV_CFC11' , 'GEOSCHEMCHEM' , 'CFC11' , 'Cly' , 'GEOSCHEMCHEM' , 'Cly' , 'OrganicCl' , 'GEOSCHEMCHEM' , 'Organic_Chlorine' , 'Bry' , 'GEOSCHEMCHEM' , 'SpeciesConcVV_BrSALC' , 'GEOSCHEMCHEM' , 'SpeciesConcVV_BrSALA' , 'GEOSCHEMCHEM' , 'SpeciesConcVV_CH3Br' , 'GEOSCHEMCHEM' , 'CH3Br' , '3*SpeciesConcVV_CHBr3+2*SpeciesConcVV_CH2Br2' , 'GEOSCHEMCHEM' , 'VSLSBr' , 'SpeciesConcVV_H1301+SpeciesConcVV_H1211+2*SpeciesConcVV_H2402' , 'GEOSCHEMCHEM' , 'HalonBr' , 'SpeciesConcVV_O3' , 'GEOSCHEMCHEM' , 'O3' , 'SpeciesConcVV_NO2' , 'GEOSCHEMCHEM' , 'NO2' , 'NOy' , 'GEOSCHEMCHEM' , 'NOy' , 'SpeciesConcVV_CO' , 'GEOSCHEMCHEM' , 'CO' , 'DELP' , 'DYN' , 'TH' , 'DYN' , 'TROPP_BLENDED' , 'AGCM' , 'TROPPB' , 'ZLE' , 'DYN' , 'SpeciesConcVV_DMS' , 'GEOSCHEMCHEM' , 'DMS' , 'SpeciesConcVV_OCS' , 'GEOSCHEMCHEM' , 'OCS' , :: plf_tavg_24hr_glo_L1440x721_v72.template: '%y4%m2%d2_%h2%n2z.nc4' , plf_tavg_24hr_glo_L1440x721_v72.archive: '%c/Y%y4' , plf_tavg_24hr_glo_L1440x721_v72.mode: 'time-averaged' , plf_tavg_24hr_glo_L1440x721_v72.format: 'CFIO', plf_tavg_24hr_glo_L1440x721_v72.descr: '3d,24-Hourly,Time-Averaged,Model-Level,Production/Loss Fields', plf_tavg_24hr_glo_L1440x721_v72.grid_label: PC1440x721-DC plf_tavg_24hr_glo_L1440x721_v72.deflate: 1 , plf_tavg_24hr_glo_L1440x721_v72.nbits: 10 , plf_tavg_24hr_glo_L1440x721_v72.chunksize: 1440 721 1 1 , plf_tavg_24hr_glo_L1440x721_v72.frequency: 240000 , plf_tavg_24hr_glo_L1440x721_v72.ref_time: 210000 , plf_tavg_24hr_glo_L1440x721_v72.fields: 'CH4pseudoFlux' , 'GEOSCHEMCHEM' , 'EMIS_CH4_IMPLIED' , 'OHreactivity' , 'GEOSCHEMCHEM' , 'OH_reactivity' , 'Prod_Ox' , 'GEOSCHEMCHEM' , 'Loss_Ox' , 'GEOSCHEMCHEM' , 'Prod_CO' , 'GEOSCHEMCHEM' , 'Loss_CO' , 'GEOSCHEMCHEM' , 'Prod_SO4' , 'GEOSCHEMCHEM' , 'Loss_CH4' , 'GEOSCHEMCHEM' , 'ProdCOfromNMVOC' , 'GEOSCHEMCHEM' , 'ProdCOfromCH4' , 'GEOSCHEMCHEM' , 'AODBKG' , 'GAAS' , 'AODANA' , 'GAAS' , 'AODINC' , 'GAAS' , 'AODBKG_GCC' , 'GAAS' , 'AODANA_GCC' , 'GAAS' , 'AODINC_GCC' , 'GAAS' , :: # Carbon collection to be forecasted car_inst_3hr_glo_L1440x721_v72.format: 'CFIO', car_inst_3hr_glo_L1440x721_v72.descr: '3d,3-Hourly,Instantaneous,Model-Level,Carbon from GOCART', car_inst_3hr_glo_L1440x721_v72.template: '%y4%m2%d2_%h2%n2z.nc4', car_inst_3hr_glo_L1440x721_v72.archive: '%c/Y%y4', car_inst_3hr_glo_L1440x721_v72.deflate: 1 , car_inst_3hr_glo_L1440x721_v72.nbits: 10 , car_inst_3hr_glo_L1440x721_v72.chunksize: 1440 721 1 1 , car_inst_3hr_glo_L1440x721_v72.frequency: 030000, car_inst_3hr_glo_L1440x721_v72.duration: 030000, car_inst_3hr_glo_L1440x721_v72.ref_time: 000000, car_inst_3hr_glo_L1440x721_v72.mode: 'instantaneous', car_inst_3hr_glo_L1440x721_v72.grid_label: PC1440x721-DC, car_inst_3hr_glo_L1440x721_v72.fields: 'PS' , 'DYN' , 'PS' , 'CO2DRY001' , 'GOCART' , 'CO2' , 'CO2EM001' , 'GOCART' , 'CO2EM' , 'Q+QLTOT+QITOT' , 'MOIST' , 'QW' , :: ################################################################ ### Current and past campaign support collections ################################################################ # Collection for TEMPO climatology that can be used for global geostationary satellites with similar instruments sat_inst_1hr_glo_L1440x721_v72.template: '%y4%m2%d2_%h2%n2z.nc4', sat_inst_1hr_glo_L1440x721_v72.archive: '%c/Y%y4', sat_inst_1hr_glo_L1440x721_v72.descr: '3d,1-Hourly,Instantaneous,Model-Level,Chemistry and Meteorology Fields for satellite a priori', sat_inst_1hr_glo_L1440x721_v72.format: 'CFIO', sat_inst_1hr_glo_L1440x721_v72.mode: 'instantaneous', sat_inst_1hr_glo_L1440x721_v72.frequency: 010000, sat_inst_1hr_glo_L1440x721_v72.duration: 010000, sat_inst_1hr_glo_L1440x721_v72.ref_time: 000000, # sat_inst_1hr_glo_L1440x721_v72.end_date: 0000000, # sat_inst_1hr_glo_L1440x721_v72.end_time: 120000, sat_inst_1hr_glo_L1440x721_v72.deflate: 1 , sat_inst_1hr_glo_L1440x721_v72.chunksize: 1440 721 1 1 , sat_inst_1hr_glo_L1440x721_v72.grid_label: PC1440x721-DC, sat_inst_1hr_glo_L1440x721_v72.fields: 'SpeciesConcVV_NO2' , 'GEOSCHEMCHEM' , 'NO2' , 'SpeciesConcVV_O3' , 'GEOSCHEMCHEM' , 'O3' , 'SpeciesConcVV_SO2' , 'GEOSCHEMCHEM' , 'SO2' , 'SpeciesConcVV_CH2O' , 'GEOSCHEMCHEM' , 'HCHO' , 'SpeciesConcVV_GLYX' , 'GEOSCHEMCHEM' , 'GLYX' , 'SpeciesConcVV_OClO' , 'GEOSCHEMCHEM' , 'OClO' , 'SpeciesConcVV_HNO2' , 'GEOSCHEMCHEM' , 'HNO2' , 'SpeciesConcVV_BrO' , 'GEOSCHEMCHEM' , 'BrO' , 'SpeciesConcVV_IO' , 'GEOSCHEMCHEM' , 'IO' , 'U2M' , 'SURFACE' , 'V2M' , 'SURFACE' , 'PS' , 'DYN' , 'T' , 'DYN' , 'Q' , 'MOIST' , 'ZPBL' , 'TURBULENCE' , 'TROPP_BLENDED' , 'AGCM' , 'TROPPB' , 'ASNOW' , 'SURFACE' , 'FRSNO' , 'TSLAND' , 'SURFACE' , 'SNOMAS' , 'SNOWDP' , 'SURFACE' , 'SNODP' , 'FRACI' , 'SURFACE' , 'FRSEAICE' , 'PHIS' , 'AGCM' , :: # Collection for TEMPO. # could replace 'reg' with 'nam' for north america. sat_inst_1hr_reg_L720x361_v72.template: '%y4%m2%d2_%h2%n2z.nc4', sat_inst_1hr_reg_L720x361_v72.archive: '%c/Y%y4', sat_inst_1hr_reg_L720x361_v72.descr: '3d,1-Hourly,Instantaneous,Model-Level,Chemistry and Meteorology Fields for satellite a priori, TEMPO domain', sat_inst_1hr_reg_L720x361_v72.format: 'CFIO', sat_inst_1hr_reg_L720x361_v72.mode: 'instantaneous', sat_inst_1hr_reg_L720x361_v72.frequency: 010000, sat_inst_1hr_reg_L720x361_v72.duration: 010000, sat_inst_1hr_reg_L720x361_v72.ref_time: 000000, # sat_inst_1hr_reg_L720x361_v72.end_date: 0000000, # sat_inst_1hr_reg_L720x361_v72.end_time: 120000, sat_inst_1hr_reg_L720x361_v72.deflate: 1 , sat_inst_1hr_reg_L720x361_v72.chunksize: 1440 721 1 1 , sat_inst_1hr_reg_L720x361_v72.grid_label: PC1440x721-DC, sat_inst_1hr_reg_L720x361_v72.subset: -180.0 0.0 0.0 90.0, sat_inst_1hr_reg_L720x361_v72.fields: 'SpeciesConcVV_NO2' , 'GEOSCHEMCHEM' , 'NO2' , 'SpeciesConcVV_O3' , 'GEOSCHEMCHEM' , 'O3' , 'SpeciesConcVV_SO2' , 'GEOSCHEMCHEM' , 'SO2' , 'SpeciesConcVV_CH2O' , 'GEOSCHEMCHEM' , 'HCHO' , 'SpeciesConcVV_GLYX' , 'GEOSCHEMCHEM' , 'GLYX' , 'SpeciesConcVV_OClO' , 'GEOSCHEMCHEM' , 'OClO' , 'SpeciesConcVV_HNO2' , 'GEOSCHEMCHEM' , 'HNO2' , 'SpeciesConcVV_BrO' , 'GEOSCHEMCHEM' , 'BrO' , 'SpeciesConcVV_IO' , 'GEOSCHEMCHEM' , 'IO' , 'U2M' , 'SURFACE' , 'V2M' , 'SURFACE' , 'PS' , 'DYN' , 'T' , 'DYN' , 'Q' , 'MOIST' , 'ZPBL' , 'TURBULENCE' , 'TROPP_BLENDED' , 'AGCM' , 'TROPPB' , 'ASNOW' , 'SURFACE' , 'FRSNO' , 'TSLAND' , 'SURFACE' , 'SNOMAS' , 'SNOWDP' , 'SURFACE' , 'SNODP' , 'FRACI' , 'SURFACE' , 'FRSEAICE' , 'PHIS' , 'AGCM' , :: # Collection for ACCLIP field campaign ste_inst_1hr_r719x281_p6.template: '%y4%m2%d2_%h2%n2z.nc4' , ste_inst_1hr_r719x281_p6.archive: '%c/Y%y4', ste_inst_1hr_r719x281_p6.descr: '3d,1-Hourly,Instantaneous,Pressure-Level,Chemistry and Meteorology Fields for UTLS studies for ASM region' , ste_inst_1hr_r719x281_p6.format: 'CFIO' , ste_inst_1hr_r719x281_p6.mode: 'instantaneous' , ste_inst_1hr_r719x281_p6.deflate: 1 , ste_inst_1hr_r719x281_p6.frequency: 010000 , ste_inst_1hr_r719x281_p6.duration: 010000 , ste_inst_1hr_r719x281_p6.ref_time: 000000, ste_inst_1hr_r719x281_p6.end_date: 0000000, ste_inst_1hr_r719x281_p6.end_time: 120000, ste_inst_1hr_r719x281_p6.grid_label: PC1440x721-DC, ste_inst_1hr_r719x281_p6.subset: -120.0 180.0 -10.0 60.0, ste_inst_1hr_r719x281_p6.vscale: 100.0 , ste_inst_1hr_r719x281_p6.vunit: 'hPa' , ste_inst_1hr_r719x281_p6.vvars: 'log(PLE)' , 'DYN' , ste_inst_1hr_r719x281_p6.levels: 850 200 150 100 85 70 ste_inst_1hr_r719x281_p6.fields: 'SpeciesConcVV_NO2' , 'GEOSCHEMCHEM' , 'NO2' , 'SpeciesConcVV_NO' , 'GEOSCHEMCHEM' , 'NO' , 'SpeciesConcVV_O3' , 'GEOSCHEMCHEM' , 'O3' , 'SpeciesConcVV_CH2O' , 'GEOSCHEMCHEM' , 'HCHO' , 'SpeciesConcVV_CO' , 'GEOSCHEMCHEM' , 'CO' , 'SpeciesConcVV_C2H6' , 'GEOSCHEMCHEM' , 'C2H6' , 'SpeciesConcVV_C3H8' , 'GEOSCHEMCHEM' , 'C3H8' , 'SpeciesConcVV_SO2' , 'GEOSCHEMCHEM' , 'SO2' , 'SpeciesConcVV_OCPI' , 'GEOSCHEMCHEM' , 'OCPI' , 'SpeciesConcVV_OCPO' , 'GEOSCHEMCHEM' , 'OCPO' , 'SpeciesConcVV_BCPI' , 'GEOSCHEMCHEM' , 'BCPI' , 'SpeciesConcVV_BCPO' , 'GEOSCHEMCHEM' , 'BCPO' , 'SpeciesConcVV_SO4' , 'GEOSCHEMCHEM' , 'SO4' , 'SpeciesConcVV_SO4s' , 'GEOSCHEMCHEM' , 'SO4s' , :: ================================================ FILE: run/GEOS/TransportTracers/GEOSCHEMchem_ExtData.rc ================================================ Ext_AllowExtrap: .true. # PrimaryExports%% #--------|-------|------|------------|---------------|--------|-------|---------------------| # Export | | | |___ Refresh ___|____ Factors ___|___ External File ___| # Name | Units | Clim |Conservative| Time Template | Offset | Scale | Variable | Template | #--------|-------|------|------------|---------------|--------|-------|----------|----------| # # Notes: # Units should be in single quotes if they contain whitespace # Climatology should be Y if the file contains monthly climatology; otherwise it should be N # Conservative should be Y if units imply mass conservation dependency on regrid method (e.g. value per area) # Refresh Time Template should be: # 1. - if the file contains time-invariant constants # 2. prefixed with F if no time interpolation between data reads (F = fixed) # 3. 0 if data should be kept up-to-date at all times # 4. 0:HHMMSS if data occurs in file with frequency HHMMSS and should be updated at that frequency # 5. %y4-%m2-%d2T%h2:00:00, with any tokens replaced by appropriate constant time value, if multiple time # values are in the same file. Note that including an F prefix indicates the data should be treated # as constant until the next refresh time. Omission of the F prefix will time-interpolate between # the values. # Minimize whitespace wherever possible to avoid surpassing the ESMF read buffer character limit, # applicable only for uncommented lines. # # #============================================================================== # --- Fields for lightning emissions (Extension 103) --- # These fields are stored in State_Met, along with the other met fields #============================================================================== FLASH_DENS 1 N N - none none LDENS /dev/null CONV_DEPTH 1 N N - none none CTH /dev/null ############################################################################### ### ### Land data (not handled by HEMCO) ### ############################################################################### # #============================================================================== # Olson land types #============================================================================== # Olson land types - conservative frac regridding of OLSON as float OLSON00 '1' N F;0 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON01 '1' N F;1 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON02 '1' N F;2 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON03 '1' N F;3 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON04 '1' N F;4 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON05 '1' N F;5 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON06 '1' N F;6 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON07 '1' N F;7 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON08 '1' N F;8 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON09 '1' N F;9 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON10 '1' N F;10 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON11 '1' N F;11 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON12 '1' N F;12 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON13 '1' N F;13 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON14 '1' N F;14 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON15 '1' N F;15 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON16 '1' N F;16 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON17 '1' N F;17 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON18 '1' N F;18 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON19 '1' N F;19 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON20 '1' N F;20 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON21 '1' N F;21 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON22 '1' N F;22 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON23 '1' N F;23 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON24 '1' N F;24 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON25 '1' N F;25 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON26 '1' N F;26 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON27 '1' N F;27 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON28 '1' N F;28 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON29 '1' N F;29 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON30 '1' N F;30 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON31 '1' N F;31 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON32 '1' N F;32 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON33 '1' N F;33 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON34 '1' N F;34 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON35 '1' N F;35 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON36 '1' N F;36 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON37 '1' N F;37 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON38 '1' N F;38 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON39 '1' N F;39 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON40 '1' N F;40 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON41 '1' N F;41 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON42 '1' N F;42 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON43 '1' N F;43 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON44 '1' N F;44 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON45 '1' N F;45 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON46 '1' N F;46 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON47 '1' N F;47 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON48 '1' N F;48 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON49 '1' N F;49 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON50 '1' N F;50 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON51 '1' N F;51 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON52 '1' N F;52 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON53 '1' N F;53 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON54 '1' N F;54 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON55 '1' N F;55 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON56 '1' N F;56 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON57 '1' N F;57 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON58 '1' N F;58 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON59 '1' N F;59 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON60 '1' N F;60 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON61 '1' N F;61 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON62 '1' N F;62 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON63 '1' N F;63 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON64 '1' N F;64 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON65 '1' N F;65 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON66 '1' N F;66 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON67 '1' N F;67 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON68 '1' N F;68 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON69 '1' N F;69 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON70 '1' N F;70 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON71 '1' N F;71 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc OLSON72 '1' N F;72 - none none OLSON /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc #============================================================================== # Yuan-processed MODIS Leaf Area Index #============================================================================== # Use file with land type stored as 3rd dimension to speed up file read XLAIMULTI cm2_cm-2 N Y %y4-%m2-%d2T00:00:00 none none XLAIMULTI /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/Yuan_XLAI/v2019-03/Condensed_Yuan_proc_MODIS_XLAI.025x025.%y4.nc ############################################################################### ### ### HEMCO Base Emissions (Update if HEMCO_Config.rc changes) ### ############################################################################### #============================================================================== # SF6 emissions from EDGAR v4.2 #============================================================================== EDGAR_SF6 1 N Y F%y4-01-01T00:00:00 none none emi_sf6 /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/SF6/v2019-01/EDGAR_v42_SF6_IPCC_2.generic.01x01.nc #============================================================================== # --- EDGAR v4.3 (EDGARv4.3) --- # EDGARv4.3 is turned off by default in HEMCO_Config.rc #============================================================================== EDGAR_CO_25_POW kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_co /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/EDGARv43/v2016-11/EDGAR_v43.CO.POW.0.1x0.1.nc EDGAR_CO_25_ENG kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_co /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/EDGARv43/v2016-11/EDGAR_v43.CO.ENG.0.1x0.1.nc EDGAR_CO_25_IND kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_co /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/EDGARv43/v2016-11/EDGAR_v43.CO.IND.0.1x0.1.nc EDGAR_CO_25_TRO kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_co /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/EDGARv43/v2016-11/EDGAR_v43.CO.TRO.0.1x0.1.nc EDGAR_CO_25_TNG kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_co /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/EDGARv43/v2016-11/EDGAR_v43.CO.TNG.0.1x0.1.nc EDGAR_CO_25_RCO kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_co /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/EDGARv43/v2016-11/EDGAR_v43.CO.RCO.0.1x0.1.nc EDGAR_CO_25_PPA kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_co /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/EDGARv43/v2016-11/EDGAR_v43.CO.PPA.0.1x0.1.nc #EDGAR_CO_25_AWB kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_co /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/EDGARv43/v2016-11/EDGAR_v43.CO.AWB.0.1x0.1.nc EDGAR_CO_25_SWD kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_co /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/EDGARv43/v2016-11/EDGAR_v43.CO.SWD.0.1x0.1.nc EDGAR_CO_25_FFF kg/m2/s N Y F%y4-01-01T00:00:00 none none emi_co /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/EDGARv43/v2016-11/EDGAR_v43.CO.FFF.0.1x0.1.nc #============================================================================== # --- CEDS (CEDSv2) --- #============================================================================== CEDS_CO_25_AGR kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CO_agr /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/CEDS/v2021-06/%y4/CO-em-anthro_CMIP_CEDS_%y4.nc CEDS_CO_25_ENE kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CO_ene /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/CEDS/v2021-06/%y4/CO-em-anthro_CMIP_CEDS_%y4.nc CEDS_CO_25_IND kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CO_ind /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/CEDS/v2021-06/%y4/CO-em-anthro_CMIP_CEDS_%y4.nc CEDS_CO_25_TRA kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CO_tra /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/CEDS/v2021-06/%y4/CO-em-anthro_CMIP_CEDS_%y4.nc CEDS_CO_25_RCO kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CO_rco /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/CEDS/v2021-06/%y4/CO-em-anthro_CMIP_CEDS_%y4.nc CEDS_CO_25_SLV kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CO_slv /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/CEDS/v2021-06/%y4/CO-em-anthro_CMIP_CEDS_%y4.nc CEDS_CO_25_WST kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CO_wst /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/CEDS/v2021-06/%y4/CO-em-anthro_CMIP_CEDS_%y4.nc CEDS_CO_25_SHP kg/m2/s N Y F%y4-%m2-01T00:00:00 none none CO_shp /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/CEDS/v2021-06/%y4/CO-em-anthro_CMIP_CEDS_%y4.nc ############################################################################### ### ### HEMCO Extensions Data (update if HEMCO_Config.rc changes) ### ############################################################################### ZHANG_Rn222_EMIS kg/m2/s N Y F%y4-%m2-01T00:00:00 none none rnemis /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/ZHANG_Rn222/v2021-11/Rn222_Emis_Zhang_Liu_et_al_05x05_mass.nc ############################################################################### ### ### HEMCO Non-Emissions Data (update if HEMCO_Config.rc changes) ### ############################################################################### #============================================================================== # --- Time zones (offset to UTC) --- #============================================================================== TIMEZONES NA N V - none none UTC_OFFSET /discover/nobackup/cakelle2/data/timezones_esmf.2x25.nc ############################################################################### ### ### HEMCO Scale Factors (update if HEMCO_Config.rc changes) ### ############################################################################### #============================================================================== # --- annual scale factors --- #============================================================================== LIQFUEL_THISYR 1 N Y F%y4-01-01T00:00:00 none none COscalar /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/AnnualScalar/v2014-07/AnnualScalar.geos.1x1.nc LIQFUEL_2008_2010 1 N Y F%y4-01-01T00:00:00 none none COscalar /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/AnnualScalar/v2014-07/AnnualScalar.geos.1x1.nc #============================================================================== # --- seasonal scale factors --- #============================================================================== # --- From EDGAR 4.3.1 --- POW 1 Y Y F2010-%m2-01T00:00:00 none none POW /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc ENG 1 Y Y F2010-%m2-01T00:00:00 none none ENG /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc IND 1 Y Y F2010-%m2-01T00:00:00 none none IND /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc TRO 1 Y Y F2010-%m2-01T00:00:00 none none TRO /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc TNG 1 Y Y F2010-%m2-01T00:00:00 none none TNG /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc RCO 1 Y Y F2010-%m2-01T00:00:00 none none RCO /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc PPA 1 Y Y F2010-%m2-01T00:00:00 none none PPA /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc AGR 1 Y Y F2010-%m2-01T00:00:00 none none AGR /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc AWB 1 Y Y F2010-%m2-01T00:00:00 none none AWB /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc SOL 1 Y Y F2010-%m2-01T00:00:00 none none SOL /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc SWD 1 Y Y F2010-%m2-01T00:00:00 none none SWD /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc FFF 1 Y Y F2010-%m2-01T00:00:00 none none FFF /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc ############################################################################### ### ### Masks (update if HEMCO_Config.rc changes) ### ############################################################################### #============================================================================== # Country/region masks #============================================================================== OCEAN_MASK 1 N Y - none none FROCEAN /gpfsm/dnb06/projects/p171/dao_ops/archive/d5294_geosit_jan18/diag/Y2018/M01/d5294_geosit_jan18.asm_const_0hr_glo_C180x180x6_slv.2018-01-01T0300Z.nc4 %% DerivedExports%% # ---------|---------|--------------------------------------------| # Export | Primary |_________________ Mask _____________________| # Name | Name | Name | Expression | # ---------|---------|------------|-------------------------------| # ---------|---------|------------|-------------------------------| %% ================================================ FILE: run/GEOS/TransportTracers/GEOSCHEMchem_ExtData.yaml ================================================ Collections: TT_AnnualScalar.geos.1x1.nc: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/AnnualScalar/v2014-07/AnnualScalar.geos.1x1.nc TT_CO-em-anthro_CMIP_CEDS_%y4.nc: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/CEDS/v2021-06/%y4/CO-em-anthro_CMIP_CEDS_%y4.nc TT_Condensed_Yuan_proc_MODIS_XLAI.025x025.%y4.nc: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/Yuan_XLAI/v2019-03/Condensed_Yuan_proc_MODIS_XLAI.025x025.%y4.nc TT_EDGAR_v42_SF6_IPCC_2.generic.01x01.nc: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/SF6/v2019-01/EDGAR_v42_SF6_IPCC_2.generic.01x01.nc TT_EDGAR_v43.CO.ENG.0.1x0.1.nc: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/EDGARv43/v2016-11/EDGAR_v43.CO.ENG.0.1x0.1.nc TT_EDGAR_v43.CO.FFF.0.1x0.1.nc: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/EDGARv43/v2016-11/EDGAR_v43.CO.FFF.0.1x0.1.nc TT_EDGAR_v43.CO.IND.0.1x0.1.nc: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/EDGARv43/v2016-11/EDGAR_v43.CO.IND.0.1x0.1.nc TT_EDGAR_v43.CO.POW.0.1x0.1.nc: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/EDGARv43/v2016-11/EDGAR_v43.CO.POW.0.1x0.1.nc TT_EDGAR_v43.CO.PPA.0.1x0.1.nc: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/EDGARv43/v2016-11/EDGAR_v43.CO.PPA.0.1x0.1.nc TT_EDGAR_v43.CO.RCO.0.1x0.1.nc: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/EDGARv43/v2016-11/EDGAR_v43.CO.RCO.0.1x0.1.nc TT_EDGAR_v43.CO.SWD.0.1x0.1.nc: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/EDGARv43/v2016-11/EDGAR_v43.CO.SWD.0.1x0.1.nc TT_EDGAR_v43.CO.TNG.0.1x0.1.nc: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/EDGARv43/v2016-11/EDGAR_v43.CO.TNG.0.1x0.1.nc TT_EDGAR_v43.CO.TRO.0.1x0.1.nc: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/EDGARv43/v2016-11/EDGAR_v43.CO.TRO.0.1x0.1.nc TT_EDGAR_v43.Seasonal.1x1.nc: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc TT_Olson_2001_Land_Map.025x025.generic.nc: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Olson_Land_Map_201203/Olson_2001_Land_Map.025x025.generic.nc TT_Rn222_Emis_Zhang_Liu_et_al_05x05_mass.nc: template: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/ZHANG_Rn222/v2021-11/Rn222_Emis_Zhang_Liu_et_al_05x05_mass.nc TT_timezones_esmf.2x25.nc: template: /discover/nobackup/cakelle2/data/timezones_esmf.2x25.nc Samplings: TT_sample_0: extrapolation: persist_closest TT_sample_1: update_frequency: PT24H update_reference_time: '0' TT_sample_2: time_interpolation: 'False' update_frequency: P1Y update_reference_time: '0' TT_sample_3: time_interpolation: 'False' update_frequency: P1M update_reference_time: '0' TT_sample_4: extrapolation: clim time_interpolation: 'False' update_frequency: P1M update_reference_time: '0' Exports: AGR: collection: TT_EDGAR_v43.Seasonal.1x1.nc regrid: CONSERVE sample: TT_sample_4 variable: AGR AWB: collection: TT_EDGAR_v43.Seasonal.1x1.nc regrid: CONSERVE sample: TT_sample_4 variable: AWB CEDS_CO_25_AGR: collection: TT_CO-em-anthro_CMIP_CEDS_%y4.nc regrid: CONSERVE sample: TT_sample_3 variable: CO_agr CEDS_CO_25_ENE: collection: TT_CO-em-anthro_CMIP_CEDS_%y4.nc regrid: CONSERVE sample: TT_sample_3 variable: CO_ene CEDS_CO_25_IND: collection: TT_CO-em-anthro_CMIP_CEDS_%y4.nc regrid: CONSERVE sample: TT_sample_3 variable: CO_ind CEDS_CO_25_RCO: collection: TT_CO-em-anthro_CMIP_CEDS_%y4.nc regrid: CONSERVE sample: TT_sample_3 variable: CO_rco CEDS_CO_25_SHP: collection: TT_CO-em-anthro_CMIP_CEDS_%y4.nc regrid: CONSERVE sample: TT_sample_3 variable: CO_shp CEDS_CO_25_SLV: collection: TT_CO-em-anthro_CMIP_CEDS_%y4.nc regrid: CONSERVE sample: TT_sample_3 variable: CO_slv CEDS_CO_25_TRA: collection: TT_CO-em-anthro_CMIP_CEDS_%y4.nc regrid: CONSERVE sample: TT_sample_3 variable: CO_tra CEDS_CO_25_WST: collection: TT_CO-em-anthro_CMIP_CEDS_%y4.nc regrid: CONSERVE sample: TT_sample_3 variable: CO_wst CONV_DEPTH: collection: /dev/null EDGAR_CO_25_ENG: collection: TT_EDGAR_v43.CO.ENG.0.1x0.1.nc regrid: CONSERVE sample: TT_sample_2 variable: emi_co EDGAR_CO_25_FFF: collection: TT_EDGAR_v43.CO.FFF.0.1x0.1.nc regrid: CONSERVE sample: TT_sample_2 variable: emi_co EDGAR_CO_25_IND: collection: TT_EDGAR_v43.CO.IND.0.1x0.1.nc regrid: CONSERVE sample: TT_sample_2 variable: emi_co EDGAR_CO_25_POW: collection: TT_EDGAR_v43.CO.POW.0.1x0.1.nc regrid: CONSERVE sample: TT_sample_2 variable: emi_co EDGAR_CO_25_PPA: collection: TT_EDGAR_v43.CO.PPA.0.1x0.1.nc regrid: CONSERVE sample: TT_sample_2 variable: emi_co EDGAR_CO_25_RCO: collection: TT_EDGAR_v43.CO.RCO.0.1x0.1.nc regrid: CONSERVE sample: TT_sample_2 variable: emi_co EDGAR_CO_25_SWD: collection: TT_EDGAR_v43.CO.SWD.0.1x0.1.nc regrid: CONSERVE sample: TT_sample_2 variable: emi_co EDGAR_CO_25_TNG: collection: TT_EDGAR_v43.CO.TNG.0.1x0.1.nc regrid: CONSERVE sample: TT_sample_2 variable: emi_co EDGAR_CO_25_TRO: collection: TT_EDGAR_v43.CO.TRO.0.1x0.1.nc regrid: CONSERVE sample: TT_sample_2 variable: emi_co EDGAR_SF6: collection: TT_EDGAR_v42_SF6_IPCC_2.generic.01x01.nc regrid: CONSERVE sample: TT_sample_2 variable: emi_sf6 ENG: collection: TT_EDGAR_v43.Seasonal.1x1.nc regrid: CONSERVE sample: TT_sample_4 variable: ENG FFF: collection: TT_EDGAR_v43.Seasonal.1x1.nc regrid: CONSERVE sample: TT_sample_4 variable: FFF FLASH_DENS: collection: /dev/null IND: collection: TT_EDGAR_v43.Seasonal.1x1.nc regrid: CONSERVE sample: TT_sample_4 variable: IND LIQFUEL_2008_2010: collection: TT_AnnualScalar.geos.1x1.nc regrid: CONSERVE sample: TT_sample_2 variable: COscalar LIQFUEL_THISYR: collection: TT_AnnualScalar.geos.1x1.nc regrid: CONSERVE sample: TT_sample_2 variable: COscalar OLSON00: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;0 sample: TT_sample_0 variable: OLSON OLSON01: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;1 sample: TT_sample_0 variable: OLSON OLSON02: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;2 sample: TT_sample_0 variable: OLSON OLSON03: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;3 sample: TT_sample_0 variable: OLSON OLSON04: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;4 sample: TT_sample_0 variable: OLSON OLSON05: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;5 sample: TT_sample_0 variable: OLSON OLSON06: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;6 sample: TT_sample_0 variable: OLSON OLSON07: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;7 sample: TT_sample_0 variable: OLSON OLSON08: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;8 sample: TT_sample_0 variable: OLSON OLSON09: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;9 sample: TT_sample_0 variable: OLSON OLSON10: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;10 sample: TT_sample_0 variable: OLSON OLSON11: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;11 sample: TT_sample_0 variable: OLSON OLSON12: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;12 sample: TT_sample_0 variable: OLSON OLSON13: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;13 sample: TT_sample_0 variable: OLSON OLSON14: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;14 sample: TT_sample_0 variable: OLSON OLSON15: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;15 sample: TT_sample_0 variable: OLSON OLSON16: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;16 sample: TT_sample_0 variable: OLSON OLSON17: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;17 sample: TT_sample_0 variable: OLSON OLSON18: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;18 sample: TT_sample_0 variable: OLSON OLSON19: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;19 sample: TT_sample_0 variable: OLSON OLSON20: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;20 sample: TT_sample_0 variable: OLSON OLSON21: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;21 sample: TT_sample_0 variable: OLSON OLSON22: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;22 sample: TT_sample_0 variable: OLSON OLSON23: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;23 sample: TT_sample_0 variable: OLSON OLSON24: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;24 sample: TT_sample_0 variable: OLSON OLSON25: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;25 sample: TT_sample_0 variable: OLSON OLSON26: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;26 sample: TT_sample_0 variable: OLSON OLSON27: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;27 sample: TT_sample_0 variable: OLSON OLSON28: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;28 sample: TT_sample_0 variable: OLSON OLSON29: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;29 sample: TT_sample_0 variable: OLSON OLSON30: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;30 sample: TT_sample_0 variable: OLSON OLSON31: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;31 sample: TT_sample_0 variable: OLSON OLSON32: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;32 sample: TT_sample_0 variable: OLSON OLSON33: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;33 sample: TT_sample_0 variable: OLSON OLSON34: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;34 sample: TT_sample_0 variable: OLSON OLSON35: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;35 sample: TT_sample_0 variable: OLSON OLSON36: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;36 sample: TT_sample_0 variable: OLSON OLSON37: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;37 sample: TT_sample_0 variable: OLSON OLSON38: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;38 sample: TT_sample_0 variable: OLSON OLSON39: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;39 sample: TT_sample_0 variable: OLSON OLSON40: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;40 sample: TT_sample_0 variable: OLSON OLSON41: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;41 sample: TT_sample_0 variable: OLSON OLSON42: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;42 sample: TT_sample_0 variable: OLSON OLSON43: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;43 sample: TT_sample_0 variable: OLSON OLSON44: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;44 sample: TT_sample_0 variable: OLSON OLSON45: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;45 sample: TT_sample_0 variable: OLSON OLSON46: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;46 sample: TT_sample_0 variable: OLSON OLSON47: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;47 sample: TT_sample_0 variable: OLSON OLSON48: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;48 sample: TT_sample_0 variable: OLSON OLSON49: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;49 sample: TT_sample_0 variable: OLSON OLSON50: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;50 sample: TT_sample_0 variable: OLSON OLSON51: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;51 sample: TT_sample_0 variable: OLSON OLSON52: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;52 sample: TT_sample_0 variable: OLSON OLSON53: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;53 sample: TT_sample_0 variable: OLSON OLSON54: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;54 sample: TT_sample_0 variable: OLSON OLSON55: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;55 sample: TT_sample_0 variable: OLSON OLSON56: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;56 sample: TT_sample_0 variable: OLSON OLSON57: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;57 sample: TT_sample_0 variable: OLSON OLSON58: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;58 sample: TT_sample_0 variable: OLSON OLSON59: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;59 sample: TT_sample_0 variable: OLSON OLSON60: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;60 sample: TT_sample_0 variable: OLSON OLSON61: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;61 sample: TT_sample_0 variable: OLSON OLSON62: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;62 sample: TT_sample_0 variable: OLSON OLSON63: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;63 sample: TT_sample_0 variable: OLSON OLSON64: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;64 sample: TT_sample_0 variable: OLSON OLSON65: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;65 sample: TT_sample_0 variable: OLSON OLSON66: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;66 sample: TT_sample_0 variable: OLSON OLSON67: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;67 sample: TT_sample_0 variable: OLSON OLSON68: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;68 sample: TT_sample_0 variable: OLSON OLSON69: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;69 sample: TT_sample_0 variable: OLSON OLSON70: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;70 sample: TT_sample_0 variable: OLSON OLSON71: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;71 sample: TT_sample_0 variable: OLSON OLSON72: collection: TT_Olson_2001_Land_Map.025x025.generic.nc regrid: FRACTION;72 sample: TT_sample_0 variable: OLSON POW: collection: TT_EDGAR_v43.Seasonal.1x1.nc regrid: CONSERVE sample: TT_sample_4 variable: POW PPA: collection: TT_EDGAR_v43.Seasonal.1x1.nc regrid: CONSERVE sample: TT_sample_4 variable: PPA RCO: collection: TT_EDGAR_v43.Seasonal.1x1.nc regrid: CONSERVE sample: TT_sample_4 variable: RCO SOL: collection: TT_EDGAR_v43.Seasonal.1x1.nc regrid: CONSERVE sample: TT_sample_4 variable: SOL SWD: collection: TT_EDGAR_v43.Seasonal.1x1.nc regrid: CONSERVE sample: TT_sample_4 variable: SWD TIMEZONES: collection: TT_timezones_esmf.2x25.nc regrid: VOTE sample: TT_sample_0 variable: UTC_OFFSET TNG: collection: TT_EDGAR_v43.Seasonal.1x1.nc regrid: CONSERVE sample: TT_sample_4 variable: TNG TRO: collection: TT_EDGAR_v43.Seasonal.1x1.nc regrid: CONSERVE sample: TT_sample_4 variable: TRO XLAIMULTI: collection: TT_Condensed_Yuan_proc_MODIS_XLAI.025x025.%y4.nc regrid: CONSERVE sample: TT_sample_1 variable: XLAIMULTI ZHANG_Rn222_EMIS: collection: TT_Rn222_Emis_Zhang_Liu_et_al_05x05_mass.nc regrid: CONSERVE sample: TT_sample_3 variable: rnemis ================================================ FILE: run/GEOS/TransportTracers/GEOSCHEMchem_GridComp.rc ================================================ #------------------------------------------------------------------------------ ! GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ # # !DESCRIPTION: Resource file for the GEOSCHEMchem Gridded Component. # # !REVISION HISTORY: # 06 Oct 2009 - P. Le Sager - Initial # 06 Dec 2009 - da Silva - Converted from NAMELIST to ESMF Config # 13 Apr 2010 - R. Yantosca - Added dimension info and tracer names # 07 Nov 2012 - R. Yantosca - Added placeholder fields for input.geos # 26 Feb 2013 - R. Yantosca - Added MAX_DEP for Input_Opt # 19 Mar 2013 - R. Yantosca - Added LINOZ fields for Input_Opt # 19 Mar 2013 - R. Yantosca - MAX_TRCS should be 53, not 54 # 01 Aug 2014 - M. Long-sca - MAX_TRCS & MAX_DIAG set to 130 & 80, resp. # 07 Jun 2018 - C.Keller/K.E.Knowland - Change LLSTRAT from 59 to 40, add Calc_VUD_online #------------------------------------------------------------------------------ # # %%% Start date/time %%% # %%% Used by ut_GEOSCHEM in sandbox %%% # UTC_START_DATE: 20050701 UTC_START_TIME: 000000 # # %%% End date/time %%% # %%% Used by ut_GEOSCHEM in sandbox %%% # UTC_END_DATE: 20050702 UTC_END_TIME: 000000 # # %%% Timesteps [sec] %%% # DYNAMICS_TIMESTEP: 1800 CHEMISTRY_TIMESTEP: 1800 # # %%% Placeholder fields for Input_Opt object %%% # MAX_DIAG: 80 MAX_TRCS: 130 MAX_MEMB: 15 MAX_FAMS: 20 MAX_DEP: 55 LINOZ_NFIELDS: 7 LINOZ_NLAT 18 LINOZ_NLEVELS: 25 LINOZ_NMONTHS: 12 # Maximum level used for chemistry. If not extending to the top of the atmosphere, # production and loss rates from an offline GMI simulation will be applied to the # remaining levels (based on GEOS-Chem's linearized stratospheric chemistry scheme). # It is recommended to do full chemistry over the entire column, so that LLSTRAT = LM. # This is the default. #LLSTRAT: 72 # # FAST-JX options: # LLFASTJX are the number of levels used for FAST-JX. The default value for a simulation # on 72 model levels is 601, and 1201 if running on 132 model levels. # FJX_EXTRAL_ITERMAX (defaults: 1 and 5 for 72 and 132 model levels, respectively) and # FJX_EXTRAL_ERR (default = 1) are fine tuning parameter that can be used # to get more control over the FAST-JX calculations. Increase FJX_EXTRAL_ITERMAX if # you encounter problems with FAST-JX, e.g. at 132 model levels. #LLFASTJX: 601 #FJX_EXTRAL_ITERMAX: 1 #FJX_EXTRAL_ERR: 1 # # %%% Run phases (1 or 2. 2 recommended) %%% # RUN_PHASES: 2 # # %%% Stop if KPP integration fails (default: 1) %%% # KPP_STOP_IF_FAIL: 0 # # %%% HEMCO configuration file %%% # HEMCO_CONFIG: HEMCO_Config.rc # # %%% Log file names for redirecting stdout %%% # STDOUT_LOGFILE: PET%%%%%.GEOSCHEMchem.log STDOUT_LOGLUN: 6 # # %%% Initialize all concentrations to zero? ### # INIT_ZERO: 0 # # %%% Use archived convection fields? %%% # ARCHIVED_CONV: 0 # %%% Use MOIST module for convective transport (including washout) # Make species friendly to moist? If turned on, convection must be turned off in in geoschem_config.yml Species_friendly_to_moist: 0 # Turn off washout for SO2? TurnOff_SO2_washout: 1 # Calculate CLDLIQ and CLDICE online based on current conditions (use default GEOS-Chem parameterization otherwise)? Online_CLDLIQ: 1 # Use online vertical updraft velocity or use default GEOS-Chem parameterization? Online_VUD: 1 # Use GAAS on GEOS-Chem aerosols? Species_friendly_to_GAAS: 0 # # %%% Tuning parameter to reduce washout efficiency # %%% of convective large-scale precip. # %%% Use at own risk: the effects of setting this # %%% parameter to a value between 0.0 and 1.0 are # %%% untested! # ### cakelle2, 20180828: bug fix, changed from -999.0 to 1.0 Convective_precip_correction: 1.0 # # %%% Cap polar tropopause at 200hPa (default=yes)? %%% # Cap_polar_tropopause: 0 # # %%% Ozonopause value in ppb. If set to <= 0.0, the # %%% GEOS-5 tropopause will be used (default) # Use_ozonopause: -999.0 # # %%% Prescribe stratospheric H2O # Prescribe_strat_H2O: 1 # %%% Settings for excluding species from being transported Reduce_transport_species: 0 Transport_blacklist: CFC115,CFC114,N2O,CFC12,H1301,CFC113,CFC11,CCl4,H2O,H2402,H1211,HCFC142b,HCFC22,HCFC141b,CH3CCl3,CH3Br,CH3Cl,HCFC123 # # %%% Include short-lived species in internal restart file? # Shortlived_species_in_restart: 0 ## # %%% Read initial conditions from external file # %%% instead of internal state # INIT_SPC_FROM_FILE: 0 INIT_SPC_FILE: /discover/nobackup/cakelle2/GCC_Restarts/v13.1.0-beta.1/GEOSChem.Restart.20190801_0000z.edit.incHEMCO.nc4 ONLY_SHORTLIVED_SPECIES: 0 UNIFORM_IF_MISSING: 1.0e-12 DATA_IS_IN_PPBV: 1 ONLY_ON_FIRST_STEP: 1 DATA_ON_GEOS_LEVELS: 1 DO_NOT_OVERWRITE_ABOVE_LEVEL: 59 USE_GMI_MESO: 0 GMI_TEMPLATE: /discover/nobackup/cakelle2/data/GMI/gmi.clim.%spc.geos5.2x25.esmf.nc # # %%% Use GMI P/L for O3 (default=no)? %%% # Use_GMI_O3_PL: 0 # Analysis options ANAPHASE: 2 Analysis_nSpecies: 2 Analysis_Settings_Spec001: GEOSCHEMchem_AnaSettings_O3.rc Analysis_Settings_Spec002: GEOSCHEMchem_AnaSettings_NO2.rc # # NOx lightning met inputs # # Input source for flash rates: If set to 'LFR' or 'LFR_GCC', the corresponding MOIST export is used. If set to any other # name, will search for that name in the import state. For instance, set it to 'LFR_OFFLINE' and then define an import via # ExtData to use LFR values from a file. Default is LFR_GCC. All values expected in [flashes km-2 s-1]. # Scale factors can be defined to adjust the imported LFR field for the southern extratropics (<23S), tropics (23S-23N), and # the northern extratropics (>23N). In addition, a global scale factor can be set to rescale the overall LFR. # These factors can be used to better match the expected global annual average flash rate of 46 flashes s-1, and a distribution # of ~65% in the tropics and ~23% in the N extratropics. # LIGHTNING_FLASH_RATE_SOURCE: LFR_GCC LFR_SCALING_SOUTHERN_TROP: 2.0 LFR_SCALING_NORTHERN_TROP: 1.1 LFR_SCALING_TROPICS: 0.4 LFR_SCALING_GLOBAL: 2.0 # # Input source for convective height: If set to 'CNV_MFC', will compute the convective height from convective mass fluxes # (default). If set to 'BYNCY', will compute it from the buoyancy and convective fraction. For all other cases, will look # for the field in import and use that as is. For instance, set it to 'CCTH_OFFLINE' and define an import via ExtData to # use values from an external file. If read from file, the values must be in [m]. # LIGHTNING_CONVECTIVE_TOP_SOURCE: CNV_MFC # # Turn off heterogenous reactions in stratosphere? # If true, the following heterogeneous reactions are disabled (in the stratosphere): # ClNO3(g) + HBr(l,s) --> BrCl + HNO3 # BrNO3(g) + HCl(l,s) --> BrCl + HNO3 # HOCl(g) + HBr(l,s) --> BrCl + H2O TurnOffHetRates: 1 # # Enable Bry and Cly family transport # Bry_Cly_Family_Transport: 0 # # CO production from CO2 photolysis # CO_production_from_CO2_photolysis: 0 CO2photolysisFile: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/StratChem/SC.J_20_12_79_72_200_45.jpl15.nc4 # # CO2 coupling with GOCART # Import_CO2_from_GOCART: 0 GOCART_CO2_FieldName: GOCART_CO2 # # Set CO mesosphere upper boundary to external field # Set_CO_Mesosphere: 0 CO_Mesosphere_FieldName: CO_CMAM # # To set CH4 boundary condition from GEOS # Note: if set to 1, need to make sure that an import named 'GEOS_CH4' is set in ExtData. CH4_from_GEOS: 0 ================================================ FILE: run/GEOS/TransportTracers/HEMCO_Config.rc ================================================ #------------------------------------------------------------------------------ # Harmonized Emissions Component (HEMCO) ! #------------------------------------------------------------------------------ #BOP # # !MODULE: HEMCO_Config.rc # # !DESCRIPTION: Contains configuration information for HEMCO. Define the # emissions inventories and corresponding file paths here. Entire # configuration files can be inserted into this configuration file with # an '>>>include' statement, e.g. '>>>include HEMCO\_Config\_test.rc' # The settings of include-files will be ignored. #\\ #\\ # !REMARKS: # This file has been customized for the Transport Tracers simulation. # See The HEMCO User's Guide for file details: # http://wiki.geos-chem.org/The_HEMCO_User%27s_Guide # # !REVISION HISTORY: # See https://github.com/geoschem/geos-chem for complete history #EOP #------------------------------------------------------------------------------ #BOC ############################################################################### ### BEGIN SECTION SETTINGS ############################################################################### ROOT: /gpfsm/dnb34/ewlundgr/data/HEMCO METDIR: not_used Logfile: * DiagnFile: HEMCO_DiagnFile.rc DiagnPrefix: ./OutputDir/HEMCO_diagnostics DiagnFreq: Monthly Wildcard: * Separator: / Unit tolerance: 1 Negative values: 0 Only unitless scale factors: false Verbose: false VerboseOnCores: root # Accepted values: root all ### END SECTION SETTINGS ### ############################################################################### ### BEGIN SECTION EXTENSION SWITCHES ############################################################################### # ExtNr ExtName on/off Species Years avail. 0 Base : on * # ----- MAIN SWITCHES --------------------------------------------------------- --> EMISSIONS : true --> METEOROLOGY : false # ----- RESTART FIELDS -------------------------------------------------------- --> GC_RESTART : false # ----- GLOBAL INVENTORIES ---------------------------------------------------- --> EDGARv42_SF6 : true # 1970-2008 --> OCEAN_CH3I : true --> CEDSv2 : true # 1750-2019 --> EDGARv43 : false # 1970-2010 --> HTAP : false # 2008-2010 --> UNIFORM_CO : true # ----- NON-EMISSIONS DATA ---------------------------------------------------- --> OLSON_LANDMAP : false # 1985 --> YUAN_MODIS_LAI : false # 2000-2020 #------------------------------------------------------------------------------ 100 GC_Rn-Pb-Be : on Rn222/Be7/Be7s/Be10/Be10s # ----- Always Leave Extension 100 turned on. Furthermore: # ----- Turning on ZHANG_Rn222 will use Zhang et al [2020] Rn222 emissions # ----- Turning off ZHANG_Rn222 will use default emissions (Jacob et al [1997]) 101 ZHANG_Rn222 : on Rn222 ### END SECTION EXTENSION SWITCHES ### ############################################################################### ### BEGIN SECTION BASE EMISSIONS ############################################################################### # ExtNr Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Species ScalIDs Cat Hier (((EMISSIONS #============================================================================== # SF6 emissions from EDGAR v4.2 #============================================================================== (((EDGARv42_SF6 0 EDGAR_SF6 $ROOT/SF6/v2019-01/EDGAR_v42_SF6_IPCC_2.generic.01x01.nc emi_sf6 1970-2008/1/1/0 C xy kg/m2/s SF6 - 1 1 )))EDGARv42_SF6 #============================================================================== # CH3I emitted over the oceans at rate of 1 molec/cm2/s #============================================================================== (((OCEAN_CH3I 0 SRC_2D_CH3I 1.0 - - - xy molec/cm2/s CH3I 1000 1 1 )))OCEAN_CH3I #============================================================================== # Anthropogenic CO 25-day and 50-day tracers # # Choose CEDS, EDGAR, or HTAP #============================================================================== (((CEDSv2 0 CEDS_CO_25_AGR $ROOT/CEDS/v2021-06/$YYYY/CO-em-anthro_CMIP_CEDS_$YYYY.nc CO_agr 1750-2019/1-12/1/0 C xy kg/m2/s CO_25 26 1 5 0 CEDS_CO_50_AGR - - - - - - CO_50 26 1 5 0 CEDS_CO_25_ENE $ROOT/CEDS/v2021-06/$YYYY/CO-em-anthro_CMIP_CEDS_$YYYY.nc CO_ene 1750-2019/1-12/1/0 C xy kg/m2/s CO_25 26 1 5 0 CEDS_CO_50_ENE - - - - - - CO_50 26 1 5 0 CEDS_CO_25_IND $ROOT/CEDS/v2021-06/$YYYY/CO-em-anthro_CMIP_CEDS_$YYYY.nc CO_ind 1750-2019/1-12/1/0 C xy kg/m2/s CO_25 26 1 5 0 CEDS_CO_50_IND - - - - - - CO_50 26 1 5 0 CEDS_CO_25_TRA $ROOT/CEDS/v2021-06/$YYYY/CO-em-anthro_CMIP_CEDS_$YYYY.nc CO_tra 1750-2019/1-12/1/0 C xy kg/m2/s CO_25 26 1 5 0 CEDS_CO_50_TRA - - - - - - CO_50 26 1 5 0 CEDS_CO_25_RCO $ROOT/CEDS/v2021-06/$YYYY/CO-em-anthro_CMIP_CEDS_$YYYY.nc CO_rco 1750-2019/1-12/1/0 C xy kg/m2/s CO_25 26 1 5 0 CEDS_CO_50_RCO - - - - - - CO_50 26 1 5 0 CEDS_CO_25_SLV $ROOT/CEDS/v2021-06/$YYYY/CO-em-anthro_CMIP_CEDS_$YYYY.nc CO_slv 1750-2019/1-12/1/0 C xy kg/m2/s CO_25 26 1 5 0 CEDS_CO_50_SLV - - - - - - CO_50 26 1 5 0 CEDS_CO_25_WST $ROOT/CEDS/v2021-06/$YYYY/CO-em-anthro_CMIP_CEDS_$YYYY.nc CO_wst 1750-2019/1-12/1/0 C xy kg/m2/s CO_25 26 1 5 0 CEDS_CO_50_WST - - - - - - CO_50 26 1 5 0 CEDS_CO_25_SHP $ROOT/CEDS/v2021-06/$YYYY/CO-em-anthro_CMIP_CEDS_$YYYY.nc CO_shp 1750-2019/1-12/1/0 C xy kg/m2/s CO_25 26 1 5 0 CEDS_CO_50_SHP - - - - - - CO_50 26 1 5 )))CEDSv2 (((EDGARv43 0 EDGAR_CO_25_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.POW.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO_25 1201/26/52 1/2 2 0 EDGAR_CO_50_POW - - - - - - CO_50 1201/26/52 1/2 2 0 EDGAR_CO_25_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.ENG.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO_25 1202/26/52 1/2 2 0 EDGAR_CO_50_ENG - - - - - - CO_50 1202/26/52 1/2 2 0 EDGAR_CO_25_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.IND.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO_25 1203/26/52 1/2 2 0 EDGAR_CO_50_IND - - - - - - CO_50 1203/26/52 1/2 2 0 EDGAR_CO_25_TRO $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.TRO.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO_25 1204/26/52 1/2 2 0 EDGAR_CO_50_TRO - - - - - - CO_50 1204/26/52 1/2 2 0 EDGAR_CO_25_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.TNG.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO_25 1205/26/52 1/2 2 0 EDGAR_CO_50_TNG - - - - - - CO_50 1205/26/52 1/2 2 0 EDGAR_CO_25_RCO $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.RCO.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO_25 1206/26/52 1/2 2 0 EDGAR_CO_50_RCO - - - - - - CO_50 1206/26/52 1/2 2 0 EDGAR_CO_25_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.PPA.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO_25 1207/26/52 1/2 2 0 EDGAR_CO_50_PPA - - - - - - CO_50 1207/26/52 1/2 2 #0 EDGAR_CO_25_AWB $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.AWB.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO_25 1209/26/52 1/2 2 #0 EDGAR_CO_50_AWB - - - - - - CO_50 1209/26/52 1/2 2 0 EDGAR_CO_25_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.SWD.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO_25 1211/26/52 1/2 2 0 EDGAR_CO_50_SWD - - - - - - CO_50 1211/26/52 1/2 2 0 EDGAR_CO_25_FFF $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.FFF.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO_25 1212/26/52 1/2 2 0 EDGAR_CO_50_FFF - - - - - - CO_50 1211/26/52 1/2 2 )))EDGARv43 ############################################################################### ### EXTENSION DATA (subsection of BASE EMISSIONS SECTION) ### ### These fields are needed by the extensions listed above. The assigned ExtNr ### must match the ExtNr entry in section 'Extension switches'. These fields ### are only read if the extension is enabled. The fields are imported by the ### extensions by field name. The name given here must match the name used ### in the extension's source code. ############################################################################### #============================================================================== # --- Zhang et al [2021] Rn222 emissions --- # --- cf https://acp.copernicus.org/articles/21/1861/2021/ --- #============================================================================== (((ZHANG_Rn222 101 ZHANG_Rn222_EMIS $ROOT/ZHANG_Rn222/v2021-11/Rn222_Emis_Zhang_Liu_et_al_05x05_mass.nc rnemis 2001/1-12/1/0 C xy kg/m2/s Rn222 - 1 1 )))ZHANG_Rn222 )))EMISSIONS ############################################################################### ### NON-EMISSIONS DATA (subsection of BASE EMISSIONS SECTION) ### ### Non-emissions data. The following fields are read through HEMCO but do ### not contain emissions data. The extension number is set to wildcard ### character denoting that these fields will not be considered for emission ### calculation. A given entry is only read if the assigned species name is ### an HEMCO species. ############################################################################### #============================================================================== # --- Time zones (offset to UTC) --- #============================================================================== * TIMEZONES $ROOT/TIMEZONES/v2015-02/timezones_voronoi_1x1.nc UTC_OFFSET 2000/1/1/0 C xy count * - 1 1 #============================================================================== # --- GEOS-Chem restart file --- #============================================================================== (((GC_RESTART * SPC_ ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 SpeciesRst_?ALL? $YYYY/$MM/$DD/$HH EFYO xyz 1 * - 1 1 * DELPDRY ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Met_DELPDRY $YYYY/$MM/$DD/$HH EY xyz 1 * - 1 1 )))GC_RESTART #============================================================================== # --- Olson land map masks --- #============================================================================== (((OLSON_LANDMAP * LANDTYPE00 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE00 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE01 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE01 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE02 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE02 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE03 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE03 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE04 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE04 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE05 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE05 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE06 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE06 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE07 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE07 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE08 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE08 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE09 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE09 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE10 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE10 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE11 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE11 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE12 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE12 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE13 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE13 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE14 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE14 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE15 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE15 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE16 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE16 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE17 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE17 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE18 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE18 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE19 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE19 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE20 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE20 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE21 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE21 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE22 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE22 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE23 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE23 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE24 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE24 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE25 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE25 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE26 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE26 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE27 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE27 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE28 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE28 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE29 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE29 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE30 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE30 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE31 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE31 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE32 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE32 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE33 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE33 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE34 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE34 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE35 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE35 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE36 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE36 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE37 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE37 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE38 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE38 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE39 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE39 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE40 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE40 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE41 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE41 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE42 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE42 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE43 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE43 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE44 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE44 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE45 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE45 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE46 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE46 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE47 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE47 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE48 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE48 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE49 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE49 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE50 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE50 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE51 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE51 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE52 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE52 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE53 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE53 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE54 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE54 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE55 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE55 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE56 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE56 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE57 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE57 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE58 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE58 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE59 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE59 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE60 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE60 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE61 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE61 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE62 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE62 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE63 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE63 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE64 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE64 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE65 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE65 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE66 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE66 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE67 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE67 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE68 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE68 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE69 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE69 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE70 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE70 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE71 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE71 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE72 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE72 1985/1/1/0 C xy 1 * - 1 1 )))OLSON_LANDMAP #============================================================================== # --- Yuan processed MODIS leaf area index data --- # # Source: Yuan et al 2011, doi:10.1016/j.rse.2011.01.001 # http://globalchange.bnu.edu.cn/research/lai # # NOTES: # (1) LAI data corresponding to each Olson land type is stored in # separate netCDF variables (XLAI00, XLAI01, ... XLAI72). # The "XLAI" denotes that the files are prepared in this way. # (2) Units are "cm2 leaf/cm2 grid box". # (3) Data is timestamped every 8 days, starting from the 2nd of the month. #============================================================================== (((YUAN_MODIS_LAI * XLAI00 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI00 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI01 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI01 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI02 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI02 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI03 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI03 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI04 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI04 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI05 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI05 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI06 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI06 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI07 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI07 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI08 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI08 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI09 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI09 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI10 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI10 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI11 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI11 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI12 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI12 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI13 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI13 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI14 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI14 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI15 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI15 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI16 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI16 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI17 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI17 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI18 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI18 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI19 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI19 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI20 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI20 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI21 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI21 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI22 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI22 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI23 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI23 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI24 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI24 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI25 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI25 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI26 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI26 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI27 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI27 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI28 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI28 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI29 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI29 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI30 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI30 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI31 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI31 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI32 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI32 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI33 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI33 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI34 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI34 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI35 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI35 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI36 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI36 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI37 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI37 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI38 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI38 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI39 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI39 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI40 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI40 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI41 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI41 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI42 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI42 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI43 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI43 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI44 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI44 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI45 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI45 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI46 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI46 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI47 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI47 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI48 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI48 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI49 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI49 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI50 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI50 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI51 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI51 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI52 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI52 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI53 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI53 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI54 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI54 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI55 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI55 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI56 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI56 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI57 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI57 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI58 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI58 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI59 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI59 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI60 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI60 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI61 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI61 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI62 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI62 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI63 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI63 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI64 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI64 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI65 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI65 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI66 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI66 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI67 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI67 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI68 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI68 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI69 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI69 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI70 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI70 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI71 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI71 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI72 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI72 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 )))YUAN_MODIS_LAI ### END SECTION BASE EMISSIONS ### ############################################################################### ### BEGIN SECTION SCALE FACTORS ############################################################################### # ScalID Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Oper (((EMISSIONS #============================================================================== # --- Annual scale factors --- #============================================================================== (((HTAP 6 LIQFUEL_THISYR $ROOT/AnnualScalar/v2014-07/AnnualScalar.geos.1x1.nc COscalar 1985-2010/1/1/0 C xy 1 1 28 LIQFUEL_2008_2010 $ROOT/AnnualScalar/v2014-07/AnnualScalar.geos.1x1.nc COscalar 2008-2010/1/1/0 C xy 1 -1 )))HTAP #============================================================================== # --- Diurnal scale factors --- #============================================================================== 26 GEIA_TOD_FOSSIL 0.45/0.45/0.6/0.6/0.6/0.6/1.45/1.45/1.45/1.45/1.4/1.4/1.4/1.4/1.45/1.45/1.45/1.45/0.65/0.65/0.65/0.65/0.45/0.45 - - - xy unitless 1 #============================================================================== # --- VOC speciations --- #============================================================================== (((EDGARv43 52 COPROD_FOSSIL 1.02 - - - xy unitless 1 )))EDGARv43 #============================================================================== # --- EDGAR 4.3.1 --- # Using data of 2010, the calculated seasonal ratio for different species in the # same sector are nearly identical, possibly due to consistent activity data used. # Therefore we use the seasonal scale factors of CO in 2010 for most sectors, # except for AGR, AWB and SOL. # For AGR, the NH3 AGR seasonal scale factors are used. # For AWB, the CO AGR seasonal scale factors are used. # For SOL, the NOx AGR seasonal scale factors are used. #============================================================================== (((EDGARv43 1201 POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc POW 2010/1-12/1/0 C xy unitless 1 1202 ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc ENG 2010/1-12/1/0 C xy unitless 1 1203 IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc IND 2010/1-12/1/0 C xy unitless 1 1204 TRO $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc TRO 2010/1-12/1/0 C xy unitless 1 1205 TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc TNG 2010/1-12/1/0 C xy unitless 1 1206 RCO $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc RCO 2010/1-12/1/0 C xy unitless 1 1207 PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc PPA 2010/1-12/1/0 C xy unitless 1 1208 AGR $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc AGR 2010/1-12/1/0 C xy unitless 1 1209 AWB $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc AWB 2010/1-12/1/0 C xy unitless 1 1210 SOL $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc SOL 2010/1-12/1/0 C xy unitless 1 1211 SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc SWD 2010/1-12/1/0 C xy unitless 1 1212 FFF $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc FFF 2010/1-12/1/0 C xy unitless 1 )))EDGARv43 )))EMISSIONS ### END SECTION SCALE FACTORS ### ############################################################################### ### BEGIN SECTION MASKS ############################################################################### # ScalID Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Oper Lon1/Lat1/Lon2/Lat2 (((EMISSIONS (((OCEAN_CH3I 1000 OCEAN_MASK $METDIR/$CNYR/01/$MET.$CNYR0101.CN.$RES.$NC FROCEAN 2000/1/1/0 C xy 1 1 -180/-90/180/90 )))OCEAN_CH3I )))EMISSIONS ### END SECTION MASKS ### ### END OF HEMCO INPUT FILE ### #EOC ================================================ FILE: run/GEOS/TransportTracers/HEMCO_DiagnFile.rc ================================================ #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !MODULE: HEMCO_Diagn.rc # # !DESCRIPTION: Configuration file for netCDF diagnostic output from HEMCO. #\\ #\\ # !REMARKS: # Customized for the Transport Tracers simulation. # # !REVISION HISTORY: # 13 Feb 2018 - E. Lundgren - Initial version #EOP #------------------------------------------------------------------------------ #BOC # Name Spec ExtNr Cat Hier Dim OutUnit LongName ############################################################################### ##### Rn222 emissions ##### ############################################################################### EmisRn_Soil Rn222 100 -1 -1 2 kg/m2/s ############################################################################### ##### Be emissions ##### ############################################################################### EmisBe7_Cosmic Be7 100 -1 -1 3 kg/m2/s EmisBe7s_Cosmic Be7s 100 -1 -1 3 kg/m2/s EmisBe10_Cosmic Be10 100 -1 -1 3 kg/m2/s EmisBe10s_Cosmic Be10s 100 -1 -1 3 kg/m2/s ############################################################################### ##### Transport tracer emissions ##### ############################################################################### EmisSF6 SF6 -1 -1 -1 2 kg/m2/s EmisCH3I CH3I -1 -1 -1 2 kg/m2/s EmisCO_25 CO_25 -1 -1 -1 2 kg/m2/s EmisCO_50 CO_50 -1 -1 -1 2 kg/m2/s #EOC ================================================ FILE: run/GEOS/TransportTracers/HISTORY.rc ================================================ VERSION: 1 EXPID: GCv14.0_GCMv1.17_c90 EXPDSC: c90_test_run EXPSRC: GEOSgcm-v10.23.0 COLLECTIONS: 'Emissions', 'Budget', 'CloudConvFlux', 'DryDep', 'RadioNuclide', 'SpeciesConc', 'StateMet', 'StateMetLevEdge', 'WetLossConv', 'WetLossLS', #'geosgcm_prog' #'prog.eta' #'geosgcm_surf' #'geosgcm_ocn' #'geosgcm_moist' #'geosgcm_turb' #'geosgcm_gwd' #'geosgcm_tend' #'geosgcm_budi' #'geosgcm_buda' #'geosgcm_landice' #'geosgcm_meltwtr' #'geosgcm_snowlayer' #'geosgcm_tracer' #'tavg2d_aer_x' #'tavg3d_aer_p' #'gcc_dev' # 'geosgcm_iau' # 'geosgcm_conv' # 'goswim_catch' # 'goswim_land' # 'goswim_landice' # 'geosgcm_lidar' # 'geosgcm_parasol' # 'geosgcm_modis' # 'geosgcm_radar' # 'geosgcm_isccp' # 'geosgcm_misr' :: ################################################## # The GRID_LABELS section must be after the main # # list of COLLECTIONS for scripting purposes. # ################################################## GRID_LABELS: PC360x181-DC :: PC360x181-DC.GRID_TYPE: LatLon PC360x181-DC.IM_WORLD: 360 PC360x181-DC.JM_WORLD: 181 PC360x181-DC.POLE: PC PC360x181-DC.DATELINE: DC PC360x181-DC.LM: 72 geosgcm_prog.template: '%y4%m2%d2_%h2%n2z.nc4' , geosgcm_prog.archive: '%c/Y%y4' , geosgcm_prog.format: 'CFIO' , geosgcm_prog.deflate: 1 , geosgcm_prog.grid_label: PC360x181-DC , geosgcm_prog.regrid_method: 'BILINEAR', geosgcm_prog.frequency: 060000 , geosgcm_prog.vscale: 100.0 , geosgcm_prog.vunit: 'hPa' , geosgcm_prog.vvars: 'log(PLE)' , 'DYN' , geosgcm_prog.levels: 1000 975 950 925 900 875 850 825 800 775 750 725 700 650 600 550 500 450 400 350 300 250 200 150 100 70 50 40 30 20 10 7 5 4 3 2 1 0.7 0.5 0.4 0.3 0.2 0.1 0.07 0.05 0.04 0.03 0.02 , geosgcm_prog.fields: 'PHIS' , 'AGCM' , 'SLP' , 'DYN' , 'U;V' , 'DYN' , 'T' , 'DYN' , 'PS' , 'DYN' , 'ZLE' , 'DYN' , 'H' , 'OMEGA' , 'DYN' , 'Q' , 'MOIST' , 'QV' , 'QITOT' , 'AGCM' , 'QI' , 'QLTOT' , 'AGCM' , 'QL' , 'RH2' , 'MOIST' , 'RH' , 'O3' , 'CHEMISTRY' , :: gcc_dev.template: '%y4%m2%d2_%h2%n2z.nc4', gcc_dev.archive: '%c/Y%y4', gcc_dev.format: 'CFIO', gcc_dev.deflate: 1, gcc_dev.mode: 'instantaneous' , gcc_dev.frequency: 030000, #gcc_dev.ref_time: 210000, gcc_dev.regrid_method: 'BILINEAR', gcc_dev.grid_label: PC360x181-DC gcc_dev.fields: 'SpeciesConcVV_PassiveTracer' , 'GEOSCHEMCHEM' , 'SpeciesConcVV_Rn222' , 'GEOSCHEMCHEM' , :: prog.eta.template: '%y4%m2%d2_%h2%n2z.nc4' , prog.eta.archive: '%c/Y%y4' , prog.eta.format: 'CFIO' , prog.eta.deflate: 1 , prog.eta.grid_label: PC360x181-DC , prog.eta.regrid_method: 'BILINEAR', prog.eta.mode: 'instantaneous' , prog.eta.frequency: 060000 , prog.eta.duration: 060000 , prog.eta.ref_time: 000000 , prog.eta.fields: 'PHIS' , 'AGCM' , 'phis' , 'SGH' , 'AGCM' , 'hs_stdv' , 'TS' , 'SURFACE' , 'ts' , 'FRLAND' , 'SURFACE' , 'frland' , 'FRLANDICE' , 'SURFACE' , 'frlandice' , 'FRLAKE' , 'SURFACE' , 'frlake' , 'FROCEAN' , 'SURFACE' , 'frocean' , 'FRACI' , 'SURFACE' , 'frseaice' , 'PS' , 'DYN' , 'ps' , 'DELP' , 'DYN' , 'delp' , 'U;V' , 'DYN' , 'u;v' , 'TV' , 'DYN' , 'tv' , 'Q' , 'MOIST' , 'sphu' , 'O3PPMV' , 'CHEMISTRY' , 'ozone' , 'QITOT' , 'AGCM' , 'qitot' , 'QLTOT' , 'AGCM' , 'qltot' , 'QRTOT' , 'MOIST' , 'qrtot' , 'QSTOT' , 'MOIST' , 'qstot' , :: geosgcm_surf.template: '%y4%m2%d2_%h2%n2z.nc4' , geosgcm_surf.archive: '%c/Y%y4' , geosgcm_surf.format: 'CFIO' , geosgcm_surf.deflate: 1 , geosgcm_surf.grid_label: PC360x181-DC , geosgcm_surf.regrid_method: 'BILINEAR', geosgcm_surf.mode: 'time-averaged' , # geosgcm_surf.monthly: 1 , geosgcm_surf.frequency: 030000 , geosgcm_surf.ref_time: 210000 , geosgcm_surf.fields: 'PHIS' , 'AGCM' , 'SGH' , 'AGCM' , 'VARFLT' , 'AGCM' , 'TROPP_EPV' , 'AGCM' , 'TROPPV' , 'TROPP_THERMAL' , 'AGCM' , 'TROPPT' , 'TROPP_BLENDED' , 'AGCM' , 'TROPPB' , 'TROPT' , 'AGCM' , 'TROPQ' , 'AGCM' , 'QVFILL' , 'AGCM' , 'OXFILL' , 'AGCM' , 'TA' , 'DYN' , 'QA' , 'DYN' , 'US;VS' , 'DYN' , 'PS' , 'DYN' , 'SPEED' , 'DYN' , 'ZPBL' , 'TURBULENCE' , 'PBLH' , 'TS' , 'SURFACE' , 'QS' , 'SURFACE' , 'THAT' , 'SURFACE' , 'QHAT' , 'SURFACE' , 'CU2DRAINMOVE' , 'MOIST' , 'CU2DSNOWMOVE' , 'MOIST' , 'RAS_TIME' , 'MOIST' , 'CN_PRCP' , 'MOIST' , 'CNPRCP' , 'LS_PRCP' , 'MOIST' , 'LSPRCP' , 'AN_PRCP' , 'MOIST' , 'ANPRCP' , 'LS_PRCP+CU2DRAINMOVE+CU2DSNOWMOVE' , 'MOIST' , 'LSORIG' , 'CN_PRCP-CU2DRAINMOVE-CU2DSNOWMOVE' , 'MOIST' , 'CNORIG' , 'SNO' , 'MOIST' , 'PLS' , 'MOIST' , 'PCU' , 'MOIST' , 'LWP' , 'MOIST' , 'CCWP' , 'MOIST' , 'TAUTT' , 'SOLAR' , 'TAULO' , 'SOLAR' , 'TAUMD' , 'SOLAR' , 'TAUHI' , 'SOLAR' , 'CLDTT' , 'SOLAR' , 'CLDLO' , 'SOLAR' , 'CLDMD' , 'SOLAR' , 'CLDHI' , 'SOLAR' , 'SPLAND' , 'SURFACE' , 'SPWATR' , 'SURFACE' , 'RUNSURF' , 'SURFACE' , 'RUNOFF' , 'BASEFLOW' , 'SURFACE' , 'EMIS' , 'SURFACE' , 'CT' , 'SURFACE' , 'CQ' , 'SURFACE' , 'CN' , 'SURFACE' , 'CM' , 'SURFACE' , 'RI' , 'SURFACE' , 'RISFC' , 'LAI' , 'SURFACE' , 'GRN' , 'SURFACE' , 'SNOMAS' , 'SURFACE' , 'ITY' , 'SURFACE' , 'VEGTYPE' , 'WET1' , 'SURFACE' , 'WET2' , 'SURFACE' , 'WET3' , 'SURFACE' , 'TSOIL1' , 'SURFACE' , 'TSOIL2' , 'SURFACE' , 'FRLAND' , 'SURFACE' , 'FRLANDICE' , 'SURFACE' , 'FRLAKE' , 'SURFACE' , 'FRACI' , 'SURFACE' , 'FRSEAICE' , 'FROCEAN' , 'SURFACE' , 'USTAR' , 'SURFACE' , 'Z0' , 'SURFACE' , 'Z0H' , 'SURFACE' , 'LHFX' , 'SURFACE' , 'SH' , 'SURFACE' , 'SHFX' , 'EVAP' , 'SURFACE' , 'TAUX;TAUY' , 'SURFACE' , 'RHOS' , 'SURFACE' , 'U2M;V2M' , 'SURFACE' , 'T2M' , 'SURFACE' , 'Q2M' , 'SURFACE' , 'U10N;V10N' , 'SURFACE' , 'U10M;V10M' , 'SURFACE' , 'T10M' , 'SURFACE' , 'Q10M' , 'SURFACE' , 'U50M;V50M' , 'SURFACE' , 'GUST' , 'SURFACE' , 'VENT' , 'SURFACE' , 'ASNOW' , 'SURFACE' , 'RADSRF' , 'RADIATION' , 'TBISCCP' , 'SATSIM' , 'FLNS' , 'IRRAD' , 'FLNSC' , 'IRRAD' , 'FLNSA' , 'IRRAD' , 'FLNSCNA' , 'OLR' , 'IRRAD' , 'OLC' , 'IRRAD' , 'OLRC' , 'OLCC5' , 'IRRAD' , 'OLRCC5' , 'OLA' , 'IRRAD' , 'OLRCNA' , 'LWS' , 'IRRAD' , 'LCS' , 'IRRAD' , 'LWSC' , 'LCSC5' , 'IRRAD' , 'LWSCC5' , 'LAS' , 'IRRAD' , 'LWSCNA' , 'SFCEM' , 'IRRAD' , 'CLDTMP' , 'SOLAR' , 'SWCLDTMP' , 'CLDPRS' , 'SOLAR' , 'SWCLDPRS' , 'OSR' , 'SOLAR' , 'OSRCLR' , 'SOLAR' , 'RSR' , 'SOLAR' , 'SWTNET' , 'RSC' , 'SOLAR' , 'SWTNETC' , 'RSCNA' , 'SOLAR' , 'SWTNETCNA' , 'RSRNA' , 'SOLAR' , 'SWTNETNA' , 'SLRTP' , 'SOLAR' , 'RADSWT' , 'SLRSF' , 'SOLAR' , 'SWGDWN' , 'SLRSFC' , 'SOLAR' , 'SWGDWNC' , 'RSRS' , 'SOLAR' , 'SWGNET' , 'RSCS' , 'SOLAR' , 'SWGNETC' , 'RSRSNA' , 'SOLAR' , 'SWGNETNA' , 'RSCSNA' , 'SOLAR' , 'SWGNETCNA' , 'ALBEDO' , 'SOLAR' , 'ALBVR' , 'SOLAR' , 'ALBVF' , 'SOLAR' , 'ALBNR' , 'SOLAR' , 'ALBNF' , 'SOLAR' , 'EVLAND' , 'SURFACE' , 'LHLAND' , 'SURFACE' , 'SHLAND' , 'SURFACE' , 'SWLAND' , 'SURFACE' , 'LWLAND' , 'SURFACE' , 'GHLAND' , 'SURFACE' , 'SMLAND' , 'SURFACE' , 'TWLAND' , 'SURFACE' , 'TELAND' , 'SURFACE' , # additonal exports for skin SST 'EVAPOUT' , 'SURFACE' , 'COSZ' , 'SOLAR' , 'DCOOL' , 'SURFACE' , 'DWARM' , 'SURFACE' , 'TDROP' , 'SURFACE' , 'DELT_COOL' , 'TS_FOUND' , 'SURFACE' , 'TDEL' , 'SURFACE' , 'BCOOL' , 'SURFACE' , 'LCOOL' , 'SURFACE' , 'TBAR' , 'SURFACE' , 'USTARW' , 'SURFACE' , 'SWCOOL' , 'SURFACE' , 'QCOOL' , 'SURFACE' , 'DELTS' , 'SURFACE' , 'QWARM' , 'SURFACE' , 'SWWARM' , 'SURFACE' , 'LANGM' , 'SURFACE' , 'PHIW' , 'SURFACE' , 'TAUTW' , 'SURFACE' , 'ZETA_W' , 'SURFACE' , :: geosgcm_ocn.template: '%y4%m2%d2_%h2%n2z.nc4' , geosgcm_ocn.archive: '%c/Y%y4' , geosgcm_ocn.format: 'CFIO' , geosgcm_ocn.deflate: 1 , geosgcm_ocn.grid_label: PC360x181-DC , geosgcm_ocn.regrid_method: 'BILINEAR', geosgcm_ocn.mode: 'time-averaged' , geosgcm_ocn.monthly: 1 , # geosgcm_ocn.ref_time: 210000 , # geosgcm_ocn.frequency: 010000 , # geosgcm_ocn.duration: 010000 , geosgcm_ocn.fields: 'U10M;V10M' , 'SURFACE' , 'T10M' , 'SURFACE' , 'Q10M' , 'SURFACE' , 'QV10M' , 'SHWTR' , 'SURFACE' , 'HFLUXWTR' , 'SHICE' , 'SURFACE' , 'HFLUXICE' , 'HLATWTR' , 'SURFACE' , 'EFLUXWTR' , 'HLATICE' , 'SURFACE' , 'EFLUXICE' , 'LWNDWTR' , 'SURFACE' , 'LWGNTWTR' , 'LWNDICE' , 'SURFACE' , 'LWGNTICE' , 'SWNDWTR' , 'SURFACE' , 'SWGNTWTR' , 'SWNDICE' , 'SURFACE' , 'SWGNTICE' , 'SNOWOCN' , 'SURFACE' , 'PRECSNOOCN' , 'RAINOCN' , 'SURFACE' , 'TAUXW;TAUYW' , 'SURFACE' , 'TAUXWTR;TAUYWTR', 'TAUXI;TAUYI' , 'SURFACE' , 'TAUXICE;TAUYICE', 'FRACI' , 'SURFACE' , 'FRSEAICE' , 'TSKINW' , 'SURFACE' , 'TSKINWTR' , 'TSKINICE' , 'SURFACE' , # additonal exports for skin SST 'EVAPOUT' , 'SURFACE' , 'FRLAND' , 'SURFACE' , 'FRLANDICE' , 'SURFACE' , 'FRLAKE' , 'SURFACE' , 'FROCEAN' , 'SURFACE' , 'COSZ' , 'SOLAR' , 'DCOOL' , 'SURFACE' , 'DWARM' , 'SURFACE' , 'TDROP' , 'SURFACE' , 'TS_FOUND' , 'SURFACE' , 'TDEL' , 'SURFACE' , 'BCOOL' , 'SURFACE' , 'LCOOL' , 'SURFACE' , 'TBAR' , 'SURFACE' , 'USTARW' , 'SURFACE' , 'SWCOOL' , 'SURFACE' , 'QCOOL' , 'SURFACE' , 'DELTS' , 'SURFACE' , 'QWARM' , 'SURFACE' , 'SWWARM' , 'SURFACE' , 'LANGM' , 'SURFACE' , 'PHIW' , 'SURFACE' , 'TAUTW' , 'SURFACE' , 'ZETA_W' , 'SURFACE' , 'DTSDT_ANA' , 'AGCM' , :: geosgcm_meltwtr.template: '%y4%m2%d2_%h2%n2z.nc4' , geosgcm_meltwtr.archive: '%c/Y%y4' , geosgcm_meltwtr.format: 'CFIO' , geosgcm_meltwtr.deflate: 1 , geosgcm_meltwtr.regrid_name: 'PE90x540-CF' , geosgcm_meltwtr.regrid_exch: 'tile.bin' , geosgcm_meltwtr.grid_label: PC360x181-DC , geosgcm_meltwtr.regrid_method: 'BILINEAR', geosgcm_meltwtr.mode: 'time-averaged' , geosgcm_meltwtr.monthly: 1 , # geosgcm_meltwtr.frequency: 240000 , # geosgcm_meltwtr.ref_time: 210000 , geosgcm_meltwtr.fields: 'MELTWTR' , 'LANDICE' , :: geosgcm_landice.template: '%y4%m2%d2_%h2%n2z.nc4' , geosgcm_landice.archive: '%c/Y%y4' , geosgcm_landice.format: 'CFIO' , geosgcm_landice.deflate: 1 , geosgcm_landice.regrid_name: 'PE90x540-CF' , geosgcm_landice.regrid_exch: 'tile.bin' , geosgcm_landice.grid_label: PC360x181-DC , geosgcm_landice.regrid_method: 'BILINEAR', geosgcm_landice.mode: 'time-averaged' , geosgcm_landice.monthly: 1 , # geosgcm_landice.frequency: 240000 , # geosgcm_landice.ref_time: 210000 , geosgcm_landice.fields: 'SNOMAS_GL' , 'LANDICE' , 'SNOWDP_GL' , 'LANDICE' , 'TST' , 'LANDICE' , 'ASNOW_GL' , 'LANDICE' , 'RUNOFF' , 'LANDICE' , 'WESNSC' , 'LANDICE' , 'SNDZSC' , 'LANDICE' , 'WESNPREC' , 'LANDICE' , 'SNDZPREC' , 'LANDICE' , 'SNDZ1PERC' , 'LANDICE' , 'WESNBOT' , 'LANDICE' , 'IMELT' , 'LANDICE' , 'SNOWALB' , 'LANDICE' , 'SNICEALB' , 'LANDICE' , 'ACCUM' , 'LANDICE' , 'RAINRFZ' , 'LANDICE' , 'SHOUT' , 'LANDICE' , 'HLATN' , 'LANDICE' , 'HLWUP' , 'LANDICE' , 'LWNDSRF' , 'LANDICE' , 'SWNDSRF' , 'LANDICE' , :: geosgcm_snowlayer.template: '%y4%m2%d2_%h2%n2z.nc4' , geosgcm_snowlayer.archive: '%c/Y%y4' , geosgcm_snowlayer.format: 'CFIO' , geosgcm_snowlayer.deflate: 1 , geosgcm_snowlayer.regrid_name: 'PE90x540-CF' , geosgcm_snowlayer.regrid_exch: 'tile.bin' , geosgcm_snowlayer.grid_label: PC360x181-DC , geosgcm_snowlayer.regrid_method: 'BILINEAR', geosgcm_snowlayer.mode: 'time-averaged' , geosgcm_snowlayer.monthly: 1 , # geosgcm_snowlayer.frequency: 240000 , # geosgcm_snowlayer.ref_time: 210000 , geosgcm_snowlayer.fields: 'RHOSNOW' , 'LANDICE' , 'TSNOW' , 'LANDICE' , 'WSNOW' , 'LANDICE' , 'ZSNOW' , 'LANDICE' , 'DRHOS0' , 'LANDICE' , 'WESNEX' , 'LANDICE' , 'WESNPERC' , 'LANDICE' , 'WESNDENS' , 'LANDICE' , 'WESNREPAR' , 'LANDICE' , 'TICE0' , 'LANDICE' , :: geosgcm_moist.template: '%y4%m2%d2_%h2%n2z.nc4' , geosgcm_moist.archive: '%c/Y%y4' , geosgcm_moist.format: 'CFIO' , geosgcm_moist.deflate: 1 , geosgcm_moist.grid_label: PC360x181-DC , geosgcm_moist.regrid_method: 'BILINEAR', geosgcm_moist.mode: 'time-averaged' , geosgcm_moist.monthly: 1 , # geosgcm_moist.frequency: 240000 , # geosgcm_moist.ref_time: 210000 , geosgcm_moist.vscale: 100.0 , geosgcm_moist.vunit: 'hPa' , geosgcm_moist.vvars: 'log(PLE)', 'DYN' , geosgcm_moist.levels: 1000 975 950 925 900 875 850 825 800 775 750 725 700 650 600 550 500 450 400 350 300 250 200 150 100 70 50 40 30 20 10 7 5 4 3 2 1 0.7 0.5 0.4 0.3 0.2 0.1 0.07 0.05 0.04 0.03 0.02 , geosgcm_moist.fields: 'PHIS' , 'AGCM' , 'QL' , 'MOIST' , 'QI' , 'MOIST' , 'QR' , 'MOIST' , 'RI' , 'MOIST' , 'RICE' , 'RL' , 'MOIST' , 'RLIQ' , 'RH1' , 'MOIST' , 'CNV_MF0' , 'MOIST' , 'CNVMF0' , 'CNV_MFD' , 'MOIST' , 'CNVMFD' , 'CNV_MFC' , 'MOIST' , 'CNVMFC' , 'REV_CN' , 'MOIST' , 'REVCN' , 'REV_AN' , 'MOIST' , 'REVAN' , 'REV_LS' , 'MOIST' , 'REVLS' , 'RSU_CN' , 'MOIST' , 'RSUCN' , 'RSU_AN' , 'MOIST' , 'RSUAN' , 'RSU_LS' , 'MOIST' , 'RSULS' , 'THIM' , 'PHYSICS' , 'EVAPC' , 'MOIST' , 'SUBLC' , 'MOIST' , 'FCLD' , 'MOIST' , 'CLCN' , 'MOIST' , 'CLLS' , 'MOIST' , 'QICN' , 'MOIST' , 'QILS' , 'MOIST' , 'QLCN' , 'MOIST' , 'QLLS' , 'MOIST' , :: geosgcm_turb.template: '%y4%m2%d2_%h2%n2z.nc4' , geosgcm_turb.archive: '%c/Y%y4' , geosgcm_turb.format: 'CFIO' , geosgcm_turb.deflate: 1 , geosgcm_turb.grid_label: PC360x181-DC , geosgcm_turb.regrid_method: 'BILINEAR', geosgcm_turb.mode: 'time-averaged' , geosgcm_turb.monthly: 1 , # geosgcm_turb.frequency: 240000 , # geosgcm_turb.ref_time: 210000 , geosgcm_turb.vscale: 100.0 , geosgcm_turb.vunit: 'hPa' , geosgcm_turb.vvars: 'log(PLE)' , 'DYN' , geosgcm_turb.levels: 1000 975 950 925 900 875 850 825 800 775 750 725 700 650 600 550 500 450 400 350 300 250 200 150 100 70 50 40 30 20 10 7 5 4 3 2 1 0.7 0.5 0.4 0.3 0.2 0.1 0.07 0.05 0.04 0.03 0.02 , geosgcm_turb.fields: 'INTDIS' , 'TURBULENCE' , 'TOPDIS' , 'TURBULENCE' , 'SRFDIS' , 'TURBULENCE' , 'DBUOY' , 'TURBULENCE' , 'WERAD' , 'TURBULENCE' , 'KH' , 'TURBULENCE' , 'KM' , 'TURBULENCE' , 'KHLS' , 'TURBULENCE' , 'KMLS' , 'TURBULENCE' , 'EKH' , 'TURBULENCE' , 'EKM' , 'TURBULENCE' , 'KHSFC' , 'TURBULENCE' , 'KHRAD' , 'TURBULENCE' , 'RI' , 'TURBULENCE' , 'DU' , 'TURBULENCE' , :: geosgcm_gwd.template: '%y4%m2%d2_%h2%n2z.nc4' , geosgcm_gwd.archive: '%c/Y%y4' , geosgcm_gwd.format: 'CFIO' , geosgcm_gwd.deflate: 1 , geosgcm_gwd.grid_label: PC360x181-DC , geosgcm_gwd.regrid_method: 'BILINEAR', geosgcm_gwd.mode: 'time-averaged' , geosgcm_gwd.monthly: 1 , # geosgcm_gwd.frequency: 240000 , # geosgcm_gwd.ref_time: 210000 , geosgcm_gwd.vscale: 100.0 , geosgcm_gwd.vunit: 'hPa' , geosgcm_gwd.vvars: 'log(PLE)' , 'DYN' , geosgcm_gwd.levels: 1000 975 950 925 900 875 850 825 800 775 750 725 700 650 600 550 500 450 400 350 300 250 200 150 100 70 50 40 30 20 10 7 5 4 3 2 1 0.7 0.5 0.4 0.3 0.2 0.1 0.07 0.05 0.04 0.03 0.02 , geosgcm_gwd.fields: 'DUDT_ORO;DVDT_ORO' , 'GWD' , 'DUDTORO;DVDTORO' , 'DUDT_BKG;DVDT_BKG' , 'GWD' , 'DUDTBKG;DVDTBKG' , 'DUDT_RAY;DVDT_RAY' , 'GWD' , 'DUDTRAY;DVDTRAY' , 'TAUOROX;TAUOROY' , 'GWD' , 'TAUBKGX;TAUBKGY' , 'GWD' , 'DTDT_ORO' , 'GWD' , 'DTDTORO' , 'DTDT_BKG' , 'GWD' , 'DTDTBKG' , 'DTDT_RAY' , 'GWD' , 'DTDTRAY' , :: geosgcm_tend.template: '%y4%m2%d2_%h2%n2z.nc4' , geosgcm_tend.archive: '%c/Y%y4' , geosgcm_tend.format: 'CFIO' , geosgcm_tend.deflate: 1 , geosgcm_tend.grid_label: PC360x181-DC , geosgcm_tend.regrid_method: 'BILINEAR', geosgcm_tend.mode: 'time-averaged' , geosgcm_tend.monthly: 1 , # geosgcm_tend.frequency: 240000 , # geosgcm_tend.ref_time: 210000 , geosgcm_tend.vscale: 100.0 , geosgcm_tend.vunit: 'hPa' , geosgcm_tend.vvars: 'log(PLE)' , 'DYN' , geosgcm_tend.levels: 1000 975 950 925 900 875 850 825 800 775 750 725 700 650 600 550 500 450 400 350 300 250 200 150 100 70 50 40 30 20 10 7 5 4 3 2 1 0.7 0.5 0.4 0.3 0.2 0.1 0.07 0.05 0.04 0.03 0.02 , geosgcm_tend.fields: 'DUDTDYN;DVDTDYN' , 'DYN' , 'UIT;VIT' , 'PHYSICS' , 'DUDTTRB;DVDTTRB' , 'DUDT;DVDT' , 'MOIST' , 'DUDTMST;DVDTMST' , 'DUDT;DVDT' , 'GWD' , 'DUDTGWD;DVDTGWD' , 'DTDTDYN' , 'DYN' , 'TIM' , 'PHYSICS' , 'DTDTMST' , 'TIT' , 'PHYSICS' , 'DTDTTRB' , 'TTMGW' , 'GWD' , 'DTDTGWD' , 'RADLW' , 'RADIATION' , 'DTDTLW' , 'RADLWC' , 'RADIATION' , 'DTDTLWC' , 'RADLWCNA' , 'RADIATION' , 'DTDTLWCNA' , 'RADSW' , 'RADIATION' , 'DTDTSW' , 'RADSWC' , 'RADIATION' , 'DTDTSWC' , 'RADSWNA' , 'RADIATION' , 'DTDTSWNA' , 'RADSWCNA' , 'RADIATION' , 'DTDTSWCNA' , 'TIF' , 'PHYSICS' , 'DTDTFRI' , 'DQVDTDYN' , 'DYN' , 'DQDT' , 'MOIST' , 'DQVDTMST' , 'QVIT' , 'PHYSICS' , 'DQVDTTRB' , 'H2O_TEND' , 'CHEMISTRY' , 'DQVDTCHM' , 'DPDTPHY' , 'PHYSICS' , :: geosgcm_budi.template: '%y4%m2%d2_%h2%n2z.nc4' , geosgcm_budi.archive: '%c/Y%y4' , geosgcm_budi.format: 'CFIO' , geosgcm_budi.deflate: 1 , geosgcm_budi.grid_label: PC360x181-DC , geosgcm_budi.regrid_method: 'CONSERVE', geosgcm_budi.frequency: 030000 , geosgcm_budi.fields: 'TQV' , 'AGCM' , 'TQI' , 'AGCM' , 'TQL' , 'AGCM' , 'TOX' , 'AGCM' , 'MASS' , 'AGCM' , :: geosgcm_buda.template: '%y4%m2%d2_%h2%n2z.nc4' , geosgcm_buda.archive: '%c/Y%y4' , geosgcm_buda.format: 'CFIO' , geosgcm_buda.deflate: 1 , geosgcm_buda.grid_label: PC360x181-DC , geosgcm_buda.regrid_method: 'CONSERVE', geosgcm_buda.mode: 'time-averaged' , geosgcm_buda.monthly: 1 , # geosgcm_buda.frequency: 030000 , geosgcm_buda.fields: 'DMDTDYN' , 'DYN' , 'DMDTDYN' , 'DMDTANA' , 'DYN' , 'DMDTANA' , 'DMDT' , 'PHYSICS' , 'DMDTPHY' , 'DQVDTDYNINT' , 'DYN' , 'DQVDTDYN' , 'DQVDTPHYINT' , 'PHYSICS' , 'DQVDTPHY' , 'DQVDTANAINT' , 'DYN' , 'DQVDTANA' , 'DQVDTMSTINT' , 'PHYSICS' , 'DQVDTMST' , 'DQVDTTRBINT' , 'PHYSICS' , 'DQVDTTRB' , 'DQVDTCHMINT' , 'PHYSICS' , 'DQVDTCHM' , 'DQLDTDYNINT' , 'DYN' , 'DQLDTDYN' , 'DQLDTPHYINT' , 'PHYSICS' , 'DQLDTPHY' , 'DQLDTANAINT' , 'DYN' , 'DQLDTANA' , 'DQLDTMSTINT' , 'PHYSICS' , 'DQLDTMST' , 'DQIDTDYNINT' , 'DYN' , 'DQIDTDYN' , 'DQIDTPHYINT' , 'PHYSICS' , 'DQIDTPHY' , 'DQIDTANAINT' , 'DYN' , 'DQIDTANA' , 'DQIDTMSTINT' , 'PHYSICS' , 'DQIDTMST' , 'DOXDTDYNINT' , 'DYN' , 'DOXDTDYN' , 'DOXDTPHYINT' , 'PHYSICS' , 'DOXDTPHY' , 'DOXDTANAINT' , 'DYN' , 'DOXDTANA' , 'DOXDTCHMINT' , 'PHYSICS' , 'DOXDTCHM' , :: geosgcm_iau.template: '%y4%m2%d2_%h2%n2z.nc4' , geosgcm_iau.archive: '%c/Y%y4' , geosgcm_iau.format: 'CFIO' , geosgcm_iau.deflate: 1 , geosgcm_iau.grid_label: PC360x181-DC , geosgcm_iau.regrid_method: 'BILINEAR', geosgcm_iau.mode: 'time-averaged' , # geosgcm_iau.monthly: 1 , geosgcm_iau.frequency: 060000 , geosgcm_iau.ref_time: 030000 , geosgcm_iau.vscale: 100.0 , geosgcm_iau.vunit: 'hPa' , geosgcm_iau.vvars: 'log(PLE)' , 'DYN' , geosgcm_iau.levels: 1000 975 950 925 900 875 850 825 800 775 750 725 700 650 600 550 500 450 400 350 300 250 200 150 100 70 50 40 30 20 10 7 5 4 3 2 1 0.7 0.5 0.4 0.3 0.2 0.1 0.07 0.05 0.04 0.03 0.02 , geosgcm_iau.fields: 'DUDT_ANA;DVDT_ANA' , 'AGCM' , 'DUDTANA;DVDTANA' , 'DTDT_ANA' , 'AGCM' , 'DTDTANA' , 'DQVDT_ANA' , 'AGCM' , 'DQDTANA' , 'DMDTANA' , 'DYN' , 'DMDTANA' , 'DPSDT_CON' , 'AGCM' , 'DPDTCON' , 'DQVDT_CON' , 'AGCM' , 'DQDTCON' , :: # Note: Be Sure to ADD: USE_SATSIM_MODIS: 1 in AGCM.rc for this Collection # ------------------------------------------------------------------------ geosgcm_conv.template: '%y4%m2%d2_%h2%n2z.nc4' , geosgcm_conv.archive: '%c/Y%y4' , geosgcm_conv.format: 'CFIO' , geosgcm_conv.deflate: 1 , geosgcm_conv.grid_label: PC360x181-DC , geosgcm_conv.regrid_method: 'BILINEAR', geosgcm_conv.frequency: 010000 , geosgcm_conv.fields: 'TQV' , 'AGCM' , 'TQI' , 'AGCM' , 'TQL' , 'AGCM' , 'CWP' , 'MOIST' , 'LWP' , 'MOIST' , 'IWP' , 'MOIST' , 'SNO' , 'MOIST' , 'PRECSNO' , 'TPREC' , 'MOIST' , 'PRECTOT' , 'AN_PRCP' , 'MOIST' , 'PRECANV' , 'CN_PRCP' , 'MOIST' , 'PRECCON' , 'LS_PRCP' , 'MOIST' , 'PRECLSC' , 'CAPE' , 'MOIST' , 'INHB' , 'MOIST' , 'CIN' , 'TBISCCP' , 'SATSIM' , 'MDSCLDSZWTR' , 'SATSIM' , 'MDSCLDSZICE' , 'SATSIM' , :: geosgcm_bud.template: '%y4%m2%d2_%h2%n2z.nc4' , geosgcm_bud.archive: '%c/Y%y4' , geosgcm_bud.format: 'CFIO' , geosgcm_bud.deflate: 1 , geosgcm_bud.grid_label: PC360x181-DC , geosgcm_bud.regrid_method: 'BILINEAR', geosgcm_bud.mode: 'time-averaged' , geosgcm_bud.frequency: 240000 , geosgcm_bud.ref_time: 210000 , geosgcm_bud.fields: 'PHIS' , 'AGCM' , 'PS' , 'DYN' , 'KEDYN' , 'DYN' , 'PEDYN' , 'DYN' , 'TEDYN' , 'DYN' , 'KEPHY' , 'DYN' , 'PEPHY' , 'DYN' , 'TEPHY' , 'DYN' , 'KEANA' , 'DYN' , 'PEANA' , 'DYN' , 'TEANA' , 'DYN' , 'KEGEN' , 'DYN' , 'KEGWD' , 'GWD' , 'KERAY' , 'GWD' , 'KEBKG' , 'GWD' , 'KEORO' , 'GWD' , 'KETRB' , 'TURBULENCE' , 'KESRF' , 'TURBULENCE' , 'KEINT' , 'TURBULENCE' , 'KETOP' , 'TURBULENCE' , 'KEMST' , 'MOIST' , 'KECDCOR' , 'DYN' , 'PECDCOR' , 'DYN' , 'TECDCOR' , 'DYN' , 'KEREMAP' , 'DYN' , 'PEREMAP' , 'DYN' , 'TEREMAP' , 'DYN' , 'CONVKE' , 'DYN' , 'CONVCPT' , 'DYN' , 'CONVPHI' , 'DYN' , 'CONVTHV' , 'DYN' , 'KEADV' , 'DYN' , 'KEPG' , 'DYN' , 'KEDP' , 'DYN' , 'KEHOT' , 'DYN' , 'DKERESIN' , 'DYN' , 'DKERESPG' , 'DYN' , 'QFIXER' , 'DYN' , 'DTHVDTREMAP' , 'DYN' , 'DTHVDTCONSV' , 'DYN' , :: goswim_catch.template: '%y4%m2%d2_%h2%n2z.nc4' , goswim_catch.archive: '%c/Y%y4' , goswim_catch.format: 'CFIO' , goswim_catch.deflate: 1 , goswim_catch.regrid_name: 'PE90x540-CF' , goswim_catch.regrid_exch: 'tile.bin' , goswim_catch.grid_label: PC360x181-DC , goswim_catch.regrid_method: 'BILINEAR', goswim_catch.mode: 'time-averaged' , goswim_catch.frequency: 240000 , goswim_catch.ref_time: 210000 , goswim_catch.fields: 'SNDZN1' , 'CATCH' , 'SNDZN2' , 'CATCH' , 'SNDZN3' , 'CATCH' , 'WESNN1' , 'CATCH' , 'WESNN2' , 'CATCH' , 'WESNN3' , 'CATCH' , 'ASNOW' , 'CATCH' , 'ALBVR' , 'CATCH' , 'ALBVF' , 'CATCH' , 'ALBNR' , 'CATCH' , 'ALBNF' , 'CATCH' , 'RUNSURF' , 'CATCH' , 'BASEFLOW' , 'CATCH' , 'SMELT' , 'CATCH' , 'SMLAND' , 'CATCH' , 'TPSNOW' , 'CATCH' , 'TST' , 'CATCH' , 'WET1' , 'CATCH' , 'Z0' , 'CATCH' , 'SWLAND' , 'CATCH' , 'SWNDSRF' , 'CATCH' , :: goswim_land.template: '%y4%m2%d2_%h2%n2z.nc4' , goswim_land.archive: '%c/Y%y4' , goswim_land.format: 'CFIO' , goswim_land.deflate: 1 , goswim_land.grid_label: PC360x181-DC , goswim_land.regrid_method: 'BILINEAR', goswim_land.mode: 'time-averaged' , goswim_land.frequency: 240000 , goswim_land.ref_time: 210000 , goswim_land.fields: 'RDU001' , 'SURFACE' , 'RDU002' , 'SURFACE' , 'RDU003' , 'SURFACE' , 'RDU004' , 'SURFACE' , 'RDU005' , 'SURFACE' , 'RBC001' , 'SURFACE' , 'RBC002' , 'SURFACE' , 'ROC001' , 'SURFACE' , 'ROC002' , 'SURFACE' , 'RMELTDU001' , 'SURFACE' , 'RMELTDU002' , 'SURFACE' , 'RMELTDU003' , 'SURFACE' , 'RMELTDU004' , 'SURFACE' , 'RMELTDU005' , 'SURFACE' , 'RMELTBC001' , 'SURFACE' , 'RMELTBC002' , 'SURFACE' , 'RMELTOC001' , 'SURFACE' , 'RMELTOC002' , 'SURFACE' , :: goswim_landice.template: '%y4%m2%d2_%h2%n2z.nc4' , goswim_landice.archive: '%c/Y%y4' , goswim_landice.format: 'CFIO' , goswim_landice.deflate: 1 , goswim_landice.regrid_name: 'PE90x540-CF' goswim_landice.regrid_exch: 'tile.bin' , goswim_landice.grid_label: PC360x181-DC , goswim_landice.regrid_method: 'BILINEAR', goswim_landice.mode: 'time-averaged' , goswim_landice.frequency: 240000 , goswim_landice.ref_time: 210000 , goswim_landice.fields: 'IRDU001' , 'LANDICE' , 'IRDU002' , 'LANDICE' , 'IRDU003' , 'LANDICE' , 'IRDU004' , 'LANDICE' , 'IRDU005' , 'LANDICE' , 'IRBC001' , 'LANDICE' , 'IRBC002' , 'LANDICE' , 'IROC001' , 'LANDICE' , 'IROC002' , 'LANDICE' , :: # --------------------- # Aerosols/Constituents # --------------------- # # #### GOCART tavg2d_aer_x.template: '%y4%m2%d2_%h2%n2z.nc4', tavg2d_aer_x.archive: '%c/Y%y4', tavg2d_aer_x.format: 'CFIO', tavg2d_aer_x.deflate: 1, tavg2d_aer_x.grid_label: PC360x181-DC, tavg2d_aer_x.mode: 'time-averaged', tavg2d_aer_x.monthly: 1, # tavg2d_aer_x.frequency: 240000, # tavg2d_aer_x.ref_time: 210000, tavg2d_aer_x.regrid_method: 'CONSERVE', tavg2d_aer_x.splitField: 1, tavg2d_aer_x.fields: 'LWI' , 'SURFACE' , 'TOTEXTTAU' , 'GOCART2G' , 'TOTSCATAU' , 'GOCART2G' , 'TOTANGSTR' , 'GOCART2G' , 'TOTSTEXTTAU' , 'GOCART2G' , 'TOTSTSCATAU' , 'GOCART2G' , 'DUEM' , 'DU' , 'DUEM001;DUEM002;DUEM003;DUEM004;DUEM005' , 'DUSD' , 'DU' , 'DUSD001;DUSD002;DUSD003;DUSD004;DUSD005' , 'DUDP' , 'DU' , 'DUDP001;DUDP002;DUDP003;DUDP004;DUDP005' , 'DUWT' , 'DU' , 'DUWT001;DUWT002;DUWT003;DUWT004;DUWT005' , 'DUSMASS' , 'DU' , 'DUCMASS' , 'DU' , 'DUEXTTAU' , 'DU' , 'DUSCATAU' , 'DU' , 'DUSTEXTTAU' , 'DU' , 'DUSTSCATAU' , 'DU' , 'DUANGSTR' , 'DU' , 'DUEXTTFM' , 'DU' , 'DUSCATFM' , 'DU' , 'DUSMASS25' , 'DU' , 'DUCMASS25' , 'DU' , 'DUEXTT25' , 'DU' , 'DUSCAT25' , 'DU' , 'DUAERIDX' , 'DU' , 'DUFLUXU' , 'DU' , 'DUFLUXV' , 'DU' , 'SSEM' , 'SS' , 'SSEM001;SSEM002;SSEM003;SSEM004;SSEM005' , 'SSSD' , 'SS' , 'SSSD001;SSSD002;SSSD003;SSSD004;SSSD005' , 'SSDP' , 'SS' , 'SSDP001;SSDP002;SSDP003;SSDP004;SSDP005' , 'SSWT' , 'SS' , 'SSWT001;SSWT002;SSWT003;SSWT004;SSWT005' , 'SSSMASS' , 'SS' , 'SSCMASS' , 'SS' , 'SSEXTTAU' , 'SS' , 'SSSCATAU' , 'SS' , 'SSSTEXTTAU' , 'SS' , 'SSSTSCATAU' , 'SS' , 'SSANGSTR' , 'SS' , 'SSEXTTFM' , 'SS' , 'SSSCATFM' , 'SS' , 'SSSMASS25' , 'SS' , 'SSCMASS25' , 'SS' , 'SSEXTT25' , 'SS' , 'SSSCAT25' , 'SS' , 'SSAERIDX' , 'SS' , 'SSFLUXU' , 'SS' , 'SSFLUXV' , 'SS' , 'SUEM' , 'SU' , 'SUDP' , 'SU' , 'SUWT' , 'SU' , 'SUSD' , 'SU' , 'SO2SMASS' , 'SU' , 'SO2CMASS' , 'SU' , 'SO4SMASS' , 'SU' , 'SO4CMASS' , 'SU' , 'DMSSMASS' , 'SU' , 'DMSCMASS' , 'SU' , 'SUPSO2' , 'SU' , 'SUPSO4G' , 'SU' , 'SUPSO4AQ' , 'SU' , 'SUPSO4WT' , 'SU' , 'SUPMSA' , 'SU' , 'SUEXTTAU' , 'SU' , 'SUSCATAU' , 'SU' , 'SUSTEXTTAU' , 'SU' , 'SUSTSCATAU' , 'SU' , 'SUANGSTR' , 'SU' , 'SO4EMAN' , 'SU' , 'SO2EMAN' , 'SU' , 'SO2EMBB' , 'SU' , 'SO2EMVN' , 'SU' , 'SO2EMVE' , 'SU' , 'SUFLUXU' , 'SU' , 'SUFLUXV' , 'SU' , 'CA.bcEM' , 'CA.bc' , 'BCEM001;BCEM002' , 'CA.bcDP' , 'CA.bc' , 'BCDP001;BCDP002' , 'CA.bcWT' , 'CA.bc' , 'BCWT001;BCWT002' , # 'CA.bcSD' , 'CA.bc' , 'BCSD001;BCSD002' , 'CA.bcSMASS' , 'CA.bc' , 'BCSMASS' , 'CA.bcCMASS' , 'CA.bc' , 'BCCMASS' , 'CA.bcEXTTAU' , 'CA.bc' , 'BCEXTTAU' , 'CA.bcSCATAU' , 'CA.bc' , 'BCSCATAU' , 'CA.bcSTEXTTAU' , 'CA.bc' , 'BCSTEXTTAU' , 'CA.bcSTSCATAU' , 'CA.bc' , 'BCSTSCATAU' , 'CA.bcANGSTR' , 'CA.bc' , 'BCANGSTR' , 'CA.bcHYPHIL' , 'CA.bc' , 'BCHYPHIL' , 'CA.bcEMBB' , 'CA.bc' , 'BCEMBB' , 'CA.bcEMBF' , 'CA.bc' , 'BCEMBF' , 'CA.bcEMAN' , 'CA.bc' , 'BCEMAN' , 'CA.bcFLUXU' , 'CA.bc' , 'BCFLUXU' , 'CA.bcFLUXV' , 'CA.bc' , 'BCFLUXV' , 'CA.ocEM' , 'CA.oc' , 'OCEM001;OCEM002' , 'CA.ocDP' , 'CA.oc' , 'OCDP001;OCDP002' , 'CA.ocWT' , 'CA.oc' , 'OCWT001;OCWT002' , # 'CA.ocSD' , 'CA.oc' , 'OCSD001;OCSD002' , 'CA.ocSMASS' , 'CA.oc' , 'OCSMASS' , 'CA.ocCMASS' , 'CA.oc' , 'OCCMASS' , 'CA.ocEXTTAU' , 'CA.oc' , 'OCEXTTAU' , 'CA.ocSCATAU' , 'CA.oc' , 'OCSCATAU' , 'CA.ocSTEXTTAU' , 'CA.oc' , 'OCSTEXTTAU' , 'CA.ocSTSCATAU' , 'CA.oc' , 'OCSTSCATAU' , 'CA.ocANGSTR' , 'CA.oc' , 'OCANGSTR' , 'CA.ocEMBB' , 'CA.oc' , 'OCEMBB' , 'CA.ocEMBF' , 'CA.oc' , 'OCEMBF' , 'CA.ocEMAN' , 'CA.oc' , 'OCEMAN' , 'CA.ocEMBG' , 'CA.oc' , 'OCEMBG' , 'CA.ocPSOA' , 'CA.oc' , 'OCPSOA' , 'CA.ocHYPHIL' , 'CA.oc' , 'OCHYPHIL' , 'CA.ocFLUXU' , 'CA.oc' , 'OCFLUXU' , 'CA.ocFLUXV' , 'CA.oc' , 'OCFLUXV' , 'CA.brEM' , 'CA.br' , 'BREM001;BREM002' , 'CA.brDP' , 'CA.br' , 'BRDP001;BRDP002' , 'CA.brWT' , 'CA.br' , 'BRWT001;BRWT002' , # 'CA.brSD' , 'CA.br' , 'BRSD001;BRSD002' , 'CA.brSMASS' , 'CA.br' , 'BRSMASS' , 'CA.brCMASS' , 'CA.br' , 'BRCMASS' , 'CA.brEXTTAU' , 'CA.br' , 'BREXTTAU' , 'CA.brSCATAU' , 'CA.br' , 'BRSCATAU' , 'CA.brSTEXTTAU' , 'CA.br' , 'BRSTEXTTAU' , 'CA.brSTSCATAU' , 'CA.br' , 'BRSTSCATAU' , 'CA.brANGSTR' , 'CA.br' , 'BRANGSTR' , 'CA.brPSOA' , 'CA.br' , 'BRPSOA' , 'CA.brHYPHIL' , 'CA.br' , 'BRHYPHIL' , 'CA.brEMBB' , 'CA.br' , 'BREMBB' , 'CA.brEMBF' , 'CA.br' , 'BREMBF' , 'CA.brEMAN' , 'CA.br' , 'BREMAN' , 'CA.brFLUXU' , 'CA.br' , 'BRFLUXU' , 'CA.brFLUXV' , 'CA.br' , 'BRFLUXV' , 'HNO3SMASS' , 'NI' , 'NH3SMASS' , 'NI' , 'NH4SMASS' , 'NI' , 'NISMASS' , 'NI' , 'NISMASS25' , 'NI' , 'HNO3CMASS' , 'NI' , 'NH3CMASS' , 'NI' , 'NH4CMASS' , 'NI' , 'NICMASS' , 'NI' , 'NICMASS25' , 'NI' , 'NIEXTTFM' , 'NI' , 'NISCATFM' , 'NI' , 'NIEXTTAU' , 'NI' , 'NISCATAU' , 'NI' , 'NIANGSTR' , 'NI' , 'NIPNO3AQ' , 'NI' , 'NIPNH4AQ' , 'NI' , 'NIPNH3AQ' , 'NI' , 'NIHT' , 'NI' , 'NISD' , 'NI' , 'NIDP' , 'NI' , 'NIWT' , 'NI' , 'NH3EM' , 'NI' , 'NH3DP' , 'NI' , 'NH3WT' , 'NI' , 'NH4SD' , 'NI' , 'NH4DP' , 'NI' , 'NH4WT' , 'NI' , 'NIFLUXU' , 'NI' , 'NIFLUXV' , 'NI' , 'DDU2gDT' , 'MOIST' , 'DUSV' , 'DSS2gDT' , 'MOIST' , 'SSSV' , 'DOC2gDT' , 'MOIST' , 'OCSV' , 'DBC2gDT' , 'MOIST' , 'BCSV' , 'DSU2gDT' , 'MOIST' , 'SUSV' , 'DNI2gDT' , 'MOIST' , 'NISV' , 'DBRC2gDT' , 'MOIST' , 'BRSV' , 'NH3SV' , 'NI' , 'NH4SV' , 'NI' , :: tavg3d_aer_p.template: '%y4%m2%d2_%h2%n2z.nc4', tavg3d_aer_p.archive: '%c/Y%y4', tavg3d_aer_p.format: 'CFIO', tavg3d_aer_p.deflate: 1, tavg3d_aer_p.grid_label: PC360x181-DC, tavg3d_aer_p.mode: 'time-averaged', tavg3d_aer_p.monthly: 1, # tavg3d_aer_p.frequency: 240000, # tavg3d_aer_p.ref_time: 210000, tavg3d_aer_p.regrid_method: 'CONSERVE', tavg3d_aer_p.splitField: 1, tavg3d_aer_p.vscale: 100.0, tavg3d_aer_p.vunit: 'hPa', tavg3d_aer_p.vvars: 'log(PLE)' , 'DYN' , tavg3d_aer_p.levels: 1000 975 950 925 900 850 800 750 700 650 600 550 500 450 400 350 300 250 200 150 100 70 50 30 20 10, tavg3d_aer_p.fields: 'PS' , 'DYN' , 'PS' , 'LWI' , 'SURFACE' , 'LWI' , 'AIRDENS' , 'CHEMENV' , 'ZL' , 'DYN' , 'H' , 'DUMASS' , 'DU' , 'DU' , 'SSMASS' , 'SS' , 'SS' , 'CA.bcMASS' , 'CA.bc' , 'BC' , 'CA.ocMASS' , 'CA.oc' , 'OC' , 'CA.brMASS' , 'CA.br' , 'BR' , 'SO2' , 'SU' , 'SO4' , 'SU' , 'NH3MASS' , 'NI' , 'NH3' , 'NH4MASS' , 'NI' , 'NH4' , 'NIMASS' , 'NI' , 'NI' , 'HNO3CONC' , 'NI' , 'NICONC' , 'NI' , 'DUEXTCOEF' , 'DU' , 'SSEXTCOEF' , 'SS' , 'SUEXTCOEF' , 'SU' , 'NIEXTCOEF' , 'NI' , 'CA.bcEXTCOEF' , 'CA.bc' , 'BCEXTCOEF' , 'CA.brEXTCOEF' , 'CA.br' , 'BREXTCOEF' , 'CA.ocEXTCOEF' , 'CA.oc' , 'OCEXTCOEF' , 'ACHEM::VOC' , 'ACHEM' , 'VOC' , 'ACHEM::VOCbiob' , 'ACHEM' , 'VOCbiob' , 'pSOA_ANTHRO_VOC' , 'ACHEM', 'pSOA' , 'pSOA_BIOB_VOC' , 'ACHEM', 'pSOAbiob' , 'GOCART::CO' , 'GOCART','CO' , :: geosgcm_tracer.template: '%y4%m2%d2_%h2%n2z.nc4' , geosgcm_tracer.archive: '%c/Y%y4' , geosgcm_tracer.format: 'CFIO' , geosgcm_tracer.deflate: 1 , geosgcm_tracer.grid_label: PC360x181-DC , geosgcm_tracer.regrid_method: 'BILINEAR', geosgcm_tracer.mode: 'time-averaged' , geosgcm_tracer.monthly: 1 , # geosgcm_tracer.frequency: 240000 , # geosgcm_tracer.ref_time: 210000 , geosgcm_tracer.vscale: 100.0 , geosgcm_tracer.vunit: 'hPa' , geosgcm_tracer.vvars: 'log(PLE)' , 'DYN' , geosgcm_tracer.levels: 1000 975 950 925 900 850 800 750 700 650 600 550 500 450 400 350 300 250 200 150 100 85 70 50 30 20 10 7 5 3 2 1 0.7 0.5 0.3 0.2 0.1 , geosgcm_tracer.fields: 'PS' , 'DYN' , 'AIRDENS' , 'CHEMENV' , 'aoa' , 'TR' , 'e90' , 'TR' , 'Rn222' , 'TR' , 'CH3I' , 'TR' , # 'Be7' , 'TR' , # 'EM_Be7' , 'TR' , # 'STtend_Be7' , 'TR' , # 'DDtend_Be7*(-1)' , 'TR' , 'DD_Be7' , # 'WRtend_Be7' , 'TR' , # 'WRtendVsum_Be7*(-1)' , 'TR' , 'WD_Be7' , # 'DKtend_Be7*(-1)' , 'TR' , 'DK_Be7' , # 'CVtend_Be7' , 'TR' , :: geosgcm_lidar.template: '%y4%m2%d2_%h2%n2z.nc4' , geosgcm_lidar.archive: '%c/Y%y4' , geosgcm_lidar.format: 'CFIO' , geosgcm_lidar.deflate: 1 , geosgcm_lidar.grid_label: PC360x181-DC , geosgcm_lidar.regrid_method: 'BILINEAR', geosgcm_lidar.mode: 'time-averaged' , geosgcm_lidar.frequency: 030000 , geosgcm_lidar.ref_time: 210000 , geosgcm_lidar.vunit: 'm' , geosgcm_lidar.vvars: 'ZL' , 'DYN' , geosgcm_lidar.levels: 240 720 1200 1680 2160 2640 3120 3600 4080 4560 5040 5520 6000 6480 6960 7440 7920 8400 8880 9360 9840 10320 10800 11280 11760 12240 12720 13200 13680 14160 14640 15120 15600 16080 16560 17040 17520 18000 18480 18960 , geosgcm_lidar.fields: 'LIDARPMOL' , 'SATSIM' , 'LIDARPTOT' , 'SATSIM' , 'LIDARTAUTOT' , 'SATSIM' , 'CLLS' , 'MOIST' , 'FCLD' , 'MOIST' , 'CLCALIPSO2' , 'SATSIM' , 'CLLCALIPSO' , 'SATSIM' , 'CLMCALIPSO' , 'SATSIM' , 'CLHCALIPSO' , 'SATSIM' , 'CLTCALIPSO' , 'SATSIM' , 'CFADLIDARSR532_01' , 'SATSIM' , 'CFADLDRSR532_01' , 'CFADLIDARSR532_02' , 'SATSIM' , 'CFADLDRSR532_02' , 'CFADLIDARSR532_03' , 'SATSIM' , 'CFADLDRSR532_03' , 'CFADLIDARSR532_04' , 'SATSIM' , 'CFADLDRSR532_04' , 'CFADLIDARSR532_05' , 'SATSIM' , 'CFADLDRSR532_05' , 'CFADLIDARSR532_06' , 'SATSIM' , 'CFADLDRSR532_06' , 'CFADLIDARSR532_07' , 'SATSIM' , 'CFADLDRSR532_07' , 'CFADLIDARSR532_08' , 'SATSIM' , 'CFADLDRSR532_08' , 'CFADLIDARSR532_09' , 'SATSIM' , 'CFADLDRSR532_09' , 'CFADLIDARSR532_10' , 'SATSIM' , 'CFADLDRSR532_10' , 'CFADLIDARSR532_11' , 'SATSIM' , 'CFADLDRSR532_11' , 'CFADLIDARSR532_12' , 'SATSIM' , 'CFADLDRSR532_12' , 'CFADLIDARSR532_13' , 'SATSIM' , 'CFADLDRSR532_13' , 'CFADLIDARSR532_14' , 'SATSIM' , 'CFADLDRSR532_14' , 'CFADLIDARSR532_15' , 'SATSIM' , 'CFADLDRSR532_15' , 'CLDTMP' , 'SOLAR' , 'SWCLDTMP' , 'CLDPRS' , 'SOLAR' , 'SWCLDPRS' , 'OSR' , 'SOLAR' , 'SLRTP' , 'SOLAR' , 'RADSWT' , :: geosgcm_parasol.template: '%y4%m2%d2_%h2%n2z.nc4' , geosgcm_parasol.archive: '%c/Y%y4' , geosgcm_parasol.format: 'CFIO' , geosgcm_parasol.deflate: 1 , geosgcm_parasol.grid_label: PC360x181-DC , geosgcm_parasol.regrid_method: 'BILINEAR', geosgcm_parasol.mode: 'time-averaged' , geosgcm_parasol.frequency: 030000 , geosgcm_parasol.ref_time: 210000 , geosgcm_parasol.fields: 'PARASOLREFL1' , 'SATSIM' , 'PARASOLREFL2' , 'SATSIM' , 'PARASOLREFL3' , 'SATSIM' , 'PARASOLREFL4' , 'SATSIM' , 'PARASOLREFL5' , 'SATSIM' , :: geosgcm_radar.template: '%y4%m2%d2_%h2%n2z.nc4' , geosgcm_radar.archive: '%c/Y%y4' , geosgcm_radar.format: 'CFIO' , geosgcm_radar.deflate: 1 , geosgcm_radar.grid_label: PC360x181-DC , geosgcm_radar.regrid_method: 'BILINEAR', geosgcm_radar.mode: 'time-averaged' , geosgcm_radar.frequency: 030000 , geosgcm_radar.ref_time: 210000 , geosgcm_radar.vunit: 'm' , geosgcm_radar.vvars: 'ZL' , 'DYN' , geosgcm_radar.levels: 240 720 1200 1680 2160 2640 3120 3600 4080 4560 5040 5520 6000 6480 6960 7440 7920 8400 8880 9360 9840 10320 10800 11280 11760 12240 12720 13200 13680 14160 14640 15120 15600 16080 16560 17040 17520 18000 18480 18960 , geosgcm_radar.fields: 'RADARLTCC' , 'SATSIM' , 'CLCALIPSO2' , 'SATSIM' , 'CLCALIPSO' , 'SATSIM' , 'CLOUDSATCFAD01' , 'SATSIM' , 'CLOUDSATCFAD02' , 'SATSIM' , 'CLOUDSATCFAD03' , 'SATSIM' , 'CLOUDSATCFAD04' , 'SATSIM' , 'CLOUDSATCFAD05' , 'SATSIM' , 'CLOUDSATCFAD06' , 'SATSIM' , 'CLOUDSATCFAD07' , 'SATSIM' , 'CLOUDSATCFAD08' , 'SATSIM' , 'CLOUDSATCFAD09' , 'SATSIM' , 'CLOUDSATCFAD10' , 'SATSIM' , 'CLOUDSATCFAD11' , 'SATSIM' , 'CLOUDSATCFAD12' , 'SATSIM' , 'CLOUDSATCFAD13' , 'SATSIM' , 'CLOUDSATCFAD14' , 'SATSIM' , 'CLOUDSATCFAD15' , 'SATSIM' , 'CLLS' , 'MOIST' , 'FCLD' , 'MOIST' , 'QLLS' , 'MOIST' , 'QILS' , 'MOIST' , 'RI' , 'MOIST' , 'RDFI' , 'RL' , 'MOIST' , 'RDFL' , 'SGFCLD' , 'SATSIM' , 'CLDTMP' , 'SOLAR' , 'SWCLDTMP' , 'CLDPRS' , 'SOLAR' , 'SWCLDPRS' , 'OSR' , 'SOLAR' , 'SLRTP' , 'SOLAR' , 'RADSWT' , :: geosgcm_isccp.template: '%y4%m2%d2_%h2%n2z.nc4' , geosgcm_isccp.archive: '%c/Y%y4' , geosgcm_isccp.format: 'CFIO' , geosgcm_isccp.deflate: 1 , geosgcm_isccp.grid_label: PC360x181-DC , geosgcm_isccp.regrid_method: 'BILINEAR', geosgcm_isccp.mode: 'time-averaged' , geosgcm_isccp.frequency: 030000 , geosgcm_isccp.ref_time: 210000 , geosgcm_isccp.fields: 'SGFCLD' , 'SATSIM' , 'TCLISCCP' , 'SATSIM' , 'ALBISCCP' , 'SATSIM' , 'CTPISCCP' , 'SATSIM' , 'ISCCP_CU_OA' , 'SATSIM' , 'ISCCP_CU_OB' , 'SATSIM' , 'ISCCP_CU_UA' , 'SATSIM' , 'ISCCP_CU_UB' , 'SATSIM' , 'ISCCP_STCU_OA' , 'SATSIM' , 'ISCCP_STCU_OB' , 'SATSIM' , 'ISCCP_STCU_UA' , 'SATSIM' , 'ISCCP_STCU_UB' , 'SATSIM' , 'ISCCP_ST_OA' , 'SATSIM' , 'ISCCP_ST_OB' , 'SATSIM' , 'ISCCP_ST_UA' , 'SATSIM' , 'ISCCP_ST_UB' , 'SATSIM' , 'ISCCP_ACU_OA' , 'SATSIM' , 'ISCCP_ACU_OB' , 'SATSIM' , 'ISCCP_ACU_UA' , 'SATSIM' , 'ISCCP_ACU_UB' , 'SATSIM' , 'ISCCP_AST_OA' , 'SATSIM' , 'ISCCP_AST_OB' , 'SATSIM' , 'ISCCP_AST_UA' , 'SATSIM' , 'ISCCP_AST_UB' , 'SATSIM' , 'ISCCP_NST_OA' , 'SATSIM' , 'ISCCP_NST_OB' , 'SATSIM' , 'ISCCP_NST_UA' , 'SATSIM' , 'ISCCP_NST_UB' , 'SATSIM' , 'ISCCP_CI_OA' , 'SATSIM' , 'ISCCP_CI_OB' , 'SATSIM' , 'ISCCP_CI_MA' , 'SATSIM' , 'ISCCP_CI_MB' , 'SATSIM' , 'ISCCP_CI_UA' , 'SATSIM' , 'ISCCP_CI_UB' , 'SATSIM' , 'ISCCP_CIST_OA' , 'SATSIM' , 'ISCCP_CIST_OB' , 'SATSIM' , 'ISCCP_CIST_MA' , 'SATSIM' , 'ISCCP_CIST_MB' , 'SATSIM' , 'ISCCP_CIST_UA' , 'SATSIM' , 'ISCCP_CIST_UB' , 'SATSIM' , 'ISCCP_CB_OA' , 'SATSIM' , 'ISCCP_CB_OB' , 'SATSIM' , 'ISCCP_CB_MA' , 'SATSIM' , 'ISCCP_CB_MB' , 'SATSIM' , 'ISCCP_CB_UA' , 'SATSIM' , 'ISCCP_CB_UB' , 'SATSIM' , 'ISCCP_SUBV1' , 'SATSIM' , 'ISCCP_SUBV2' , 'SATSIM' , 'ISCCP_SUBV3' , 'SATSIM' , 'ISCCP_SUBV4' , 'SATSIM' , 'ISCCP_SUBV5' , 'SATSIM' , 'ISCCP_SUBV6' , 'SATSIM' , 'ISCCP_SUBV7' , 'SATSIM' , 'CLLS' , 'MOIST' , 'FCLD' , 'MOIST' , 'CLDTMP' , 'SOLAR' , 'SWCLDTMP' , 'CLDPRS' , 'SOLAR' , 'SWCLDPRS' , 'OSR' , 'SOLAR' , 'SLRTP' , 'SOLAR' , 'RADSWT' , :: geosgcm_modis.template: '%y4%m2%d2_%h2%n2z.nc4' , geosgcm_modis.archive: '%c/Y%y4' , geosgcm_modis.format: 'CFIO' , geosgcm_modis.deflate: 1 , geosgcm_modis.grid_label: PC360x181-DC , geosgcm_modis.regrid_method: 'BILINEAR', geosgcm_modis.mode: 'time-averaged' , geosgcm_modis.frequency: 030000 , geosgcm_modis.ref_time: 210000 , geosgcm_modis.fields: 'TCLISCCP' , 'SATSIM' , 'MDSCLDFRCTTL' , 'SATSIM' , 'MDSCLDFRCWTR' , 'SATSIM' , 'MDSCLDFRCICE' , 'SATSIM' , 'MDSCLDFRCHI' , 'SATSIM' , 'MDSCLDFRCMID' , 'SATSIM' , 'MDSCLDFRCLO' , 'SATSIM' , 'MDSOPTHCKTTL' , 'SATSIM' , 'MDSOPTHCKWTR' , 'SATSIM' , 'MDSOPTHCKICE' , 'SATSIM' , 'MDSOPTHCKTTLLG' , 'SATSIM' , 'MDSOPTHCKWTRLG' , 'SATSIM' , 'MDSOPTHCKICELG' , 'SATSIM' , 'MDSCLDSZWTR' , 'SATSIM' , 'MDSCLDSZICE' , 'SATSIM' , 'MDSCLDTOPPS' , 'SATSIM' , 'MDSWTRPATH' , 'SATSIM' , 'MDSICEPATH' , 'SATSIM' , 'MDSTAUPRSHIST11' , 'SATSIM' , 'MDSTAUPRSHIST12' , 'SATSIM' , 'MDSTAUPRSHIST13' , 'SATSIM' , 'MDSTAUPRSHIST14' , 'SATSIM' , 'MDSTAUPRSHIST15' , 'SATSIM' , 'MDSTAUPRSHIST16' , 'SATSIM' , 'MDSTAUPRSHIST17' , 'SATSIM' , 'MDSTAUPRSHIST21' , 'SATSIM' , 'MDSTAUPRSHIST22' , 'SATSIM' , 'MDSTAUPRSHIST23' , 'SATSIM' , 'MDSTAUPRSHIST24' , 'SATSIM' , 'MDSTAUPRSHIST25' , 'SATSIM' , 'MDSTAUPRSHIST26' , 'SATSIM' , 'MDSTAUPRSHIST27' , 'SATSIM' , 'MDSTAUPRSHIST31' , 'SATSIM' , 'MDSTAUPRSHIST32' , 'SATSIM' , 'MDSTAUPRSHIST33' , 'SATSIM' , 'MDSTAUPRSHIST34' , 'SATSIM' , 'MDSTAUPRSHIST35' , 'SATSIM' , 'MDSTAUPRSHIST36' , 'SATSIM' , 'MDSTAUPRSHIST37' , 'SATSIM' , 'MDSTAUPRSHIST41' , 'SATSIM' , 'MDSTAUPRSHIST42' , 'SATSIM' , 'MDSTAUPRSHIST43' , 'SATSIM' , 'MDSTAUPRSHIST44' , 'SATSIM' , 'MDSTAUPRSHIST45' , 'SATSIM' , 'MDSTAUPRSHIST46' , 'SATSIM' , 'MDSTAUPRSHIST47' , 'SATSIM' , 'MDSTAUPRSHIST51' , 'SATSIM' , 'MDSTAUPRSHIST52' , 'SATSIM' , 'MDSTAUPRSHIST53' , 'SATSIM' , 'MDSTAUPRSHIST54' , 'SATSIM' , 'MDSTAUPRSHIST55' , 'SATSIM' , 'MDSTAUPRSHIST56' , 'SATSIM' , 'MDSTAUPRSHIST57' , 'SATSIM' , 'MDSTAUPRSHIST61' , 'SATSIM' , 'MDSTAUPRSHIST62' , 'SATSIM' , 'MDSTAUPRSHIST63' , 'SATSIM' , 'MDSTAUPRSHIST64' , 'SATSIM' , 'MDSTAUPRSHIST65' , 'SATSIM' , 'MDSTAUPRSHIST66' , 'SATSIM' , 'MDSTAUPRSHIST67' , 'SATSIM' , 'MDSTAUPRSHIST71' , 'SATSIM' , 'MDSTAUPRSHIST72' , 'SATSIM' , 'MDSTAUPRSHIST73' , 'SATSIM' , 'MDSTAUPRSHIST74' , 'SATSIM' , 'MDSTAUPRSHIST75' , 'SATSIM' , 'MDSTAUPRSHIST76' , 'SATSIM' , 'MDSTAUPRSHIST77' , 'SATSIM' , 'CLDTMP' , 'SOLAR' , 'SWCLDTMP' , 'CLDPRS' , 'SOLAR' , 'SWCLDPRS' , 'OSR' , 'SOLAR' , 'SLRTP' , 'SOLAR' , 'RADSWT' , :: geosgcm_misr.template: '%y4%m2%d2_%h2%n2z.nc4' , geosgcm_misr.archive: '%c/Y%y4' , geosgcm_misr.format: 'CFIO' , geosgcm_misr.deflate: 1 , geosgcm_misr.grid_label: PC360x181-DC , geosgcm_misr.regrid_method: 'BILINEAR', geosgcm_misr.mode: 'time-averaged' , geosgcm_misr.frequency: 030000 , geosgcm_misr.ref_time: 210000 , geosgcm_misr.fields: 'TCLISCCP' , 'SATSIM' , 'MISRMNCLDTP' , 'SATSIM' , 'MISRCLDAREA' , 'SATSIM' , 'MISRLYRTP0' , 'SATSIM' , 'MISRLYRTP250' , 'SATSIM' , 'MISRLYRTP750' , 'SATSIM' , 'MISRLYRTP1250' , 'SATSIM' , 'MISRLYRTP1750' , 'SATSIM' , 'MISRLYRTP2250' , 'SATSIM' , 'MISRLYRTP2750' , 'SATSIM' , 'MISRLYRTP3500' , 'SATSIM' , 'MISRLYRTP4500' , 'SATSIM' , 'MISRLYRTP6000' , 'SATSIM' , 'MISRLYRTP8000' , 'SATSIM' , 'MISRLYRTP10000' , 'SATSIM' , 'MISRLYRTP12000' , 'SATSIM' , 'MISRLYRTP14000' , 'SATSIM' , 'MISRLYRTP16000' , 'SATSIM' , 'MISRLYRTP18000' , 'SATSIM' , :: # Emissions (see HEMCO_Diagn.rc for additional config settings) Emissions.template: '%y4%m2%d2_%h2%n2z.nc4', Emissions.format: 'CFIO', Emissions.timestampStart: .true. Emissions.monthly: 1 Emissions.frequency: 010000 Emissions.duration: 010000 Emissions.mode: 'time-averaged' Emissions.fields: 'EmisRn_Soil ', 'GEOSCHEMCHEM', 'EmisBe7_Cosmic ', 'GEOSCHEMCHEM', 'EmisBe7s_Cosmic ', 'GEOSCHEMCHEM', 'EmisBe10_Cosmic ', 'GEOSCHEMCHEM', 'EmisBe10s_Cosmic ', 'GEOSCHEMCHEM', 'EmisSF6 ', 'GEOSCHEMCHEM', 'EmisCH3I ', 'GEOSCHEMCHEM', 'EmisCO_25 ', 'GEOSCHEMCHEM', 'EmisCO_50 ', 'GEOSCHEMCHEM', :: #============================================================================== # Budget defined as species kg/s in the column (full, troposphere, or PBL) # due to a single component (e.g. chemistry); default = ozone only; add more # species as needed to the example below (advected only) Budget.template: '%y4%m2%d2_%h2%n2z.nc4', Budget.format: 'CFIO', Budget.timestampStart: .true. Budget.monthly: 1 Budget.frequency: 010000 Budget.duration: 010000 Budget.mode: 'time-averaged' Budget.fields: 'BudgetChemistryFull_Rn222 ', 'GEOSCHEMCHEM', 'BudgetChemistryFull_Pb210 ', 'GEOSCHEMCHEM', 'BudgetChemistryFull_Pb210s ', 'GEOSCHEMCHEM', 'BudgetChemistryFull_Be7 ', 'GEOSCHEMCHEM', 'BudgetChemistryFull_Be7s ', 'GEOSCHEMCHEM', 'BudgetChemistryFull_Be10 ', 'GEOSCHEMCHEM', 'BudgetChemistryFull_Be10s ', 'GEOSCHEMCHEM', 'BudgetChemistryFull_CH3I ', 'GEOSCHEMCHEM', 'BudgetChemistryFull_CO_25 ', 'GEOSCHEMCHEM', 'BudgetChemistryFull_CO_50 ', 'GEOSCHEMCHEM', 'BudgetChemistryFull_e90 ', 'GEOSCHEMCHEM', 'BudgetChemistryFull_e90_n ', 'GEOSCHEMCHEM', 'BudgetChemistryFull_e90_s ', 'GEOSCHEMCHEM', 'BudgetChemistryFull_nh_5 ', 'GEOSCHEMCHEM', 'BudgetChemistryFull_nh_50 ', 'GEOSCHEMCHEM', 'BudgetChemistryFull_PassiveTracer ', 'GEOSCHEMCHEM', 'BudgetChemistryFull_SF6 ', 'GEOSCHEMCHEM', 'BudgetChemistryFull_st80_25 ', 'GEOSCHEMCHEM', # 'BudgetChemistryTrop_Rn222 ', 'GEOSCHEMCHEM', 'BudgetChemistryTrop_Pb210 ', 'GEOSCHEMCHEM', 'BudgetChemistryTrop_Pb210s ', 'GEOSCHEMCHEM', 'BudgetChemistryTrop_Be7 ', 'GEOSCHEMCHEM', 'BudgetChemistryTrop_Be7s ', 'GEOSCHEMCHEM', 'BudgetChemistryTrop_Be10 ', 'GEOSCHEMCHEM', 'BudgetChemistryTrop_Be10s ', 'GEOSCHEMCHEM', 'BudgetChemistryTrop_CH3I ', 'GEOSCHEMCHEM', 'BudgetChemistryTrop_CO_25 ', 'GEOSCHEMCHEM', 'BudgetChemistryTrop_CO_50 ', 'GEOSCHEMCHEM', 'BudgetChemistryTrop_e90 ', 'GEOSCHEMCHEM', 'BudgetChemistryTrop_e90_n ', 'GEOSCHEMCHEM', 'BudgetChemistryTrop_e90_s ', 'GEOSCHEMCHEM', 'BudgetChemistryTrop_nh_5 ', 'GEOSCHEMCHEM', 'BudgetChemistryTrop_nh_50 ', 'GEOSCHEMCHEM', 'BudgetChemistryTrop_PassiveTracer ', 'GEOSCHEMCHEM', 'BudgetChemistryTrop_SF6 ', 'GEOSCHEMCHEM', 'BudgetChemistryTrop_st80_25 ', 'GEOSCHEMCHEM', # 'BudgetChemistryPBL_Rn222 ', 'GEOSCHEMCHEM', 'BudgetChemistryPBL_Pb210 ', 'GEOSCHEMCHEM', 'BudgetChemistryPBL_Pb210s ', 'GEOSCHEMCHEM', 'BudgetChemistryPBL_Be7 ', 'GEOSCHEMCHEM', 'BudgetChemistryPBL_Be7s ', 'GEOSCHEMCHEM', 'BudgetChemistryPBL_Be10 ', 'GEOSCHEMCHEM', 'BudgetChemistryPBL_Be10s ', 'GEOSCHEMCHEM', 'BudgetChemistryPBL_CH3I ', 'GEOSCHEMCHEM', 'BudgetChemistryPBL_CO_25 ', 'GEOSCHEMCHEM', 'BudgetChemistryPBL_CO_50 ', 'GEOSCHEMCHEM', 'BudgetChemistryPBL_e90 ', 'GEOSCHEMCHEM', 'BudgetChemistryPBL_e90_n ', 'GEOSCHEMCHEM', 'BudgetChemistryPBL_e90_s ', 'GEOSCHEMCHEM', 'BudgetChemistryPBL_nh_5 ', 'GEOSCHEMCHEM', 'BudgetChemistryPBL_nh_50 ', 'GEOSCHEMCHEM', 'BudgetChemistryPBL_PassiveTracer ', 'GEOSCHEMCHEM', 'BudgetChemistryPBL_SF6 ', 'GEOSCHEMCHEM', 'BudgetChemistryPBL_st80_25 ', 'GEOSCHEMCHEM', # 'BudgetChemistryLevs1to35_Rn222 ', 'GEOSCHEMCHEM', 'BudgetChemistryLevs1to35_Pb210 ', 'GEOSCHEMCHEM', 'BudgetChemistryLevs1to35_Pb210s ', 'GEOSCHEMCHEM', 'BudgetChemistryLevs1to35_Be7 ', 'GEOSCHEMCHEM', 'BudgetChemistryLevs1to35_Be7s ', 'GEOSCHEMCHEM', 'BudgetChemistryLevs1to35_Be10 ', 'GEOSCHEMCHEM', 'BudgetChemistryLevs1to35_Be10s ', 'GEOSCHEMCHEM', 'BudgetChemistryLevs1to35_CH3I ', 'GEOSCHEMCHEM', 'BudgetChemistryLevs1to35_CO_25 ', 'GEOSCHEMCHEM', 'BudgetChemistryLevs1to35_CO_50 ', 'GEOSCHEMCHEM', 'BudgetChemistryLevs1to35_e90 ', 'GEOSCHEMCHEM', 'BudgetChemistryLevs1to35_e90_n ', 'GEOSCHEMCHEM', 'BudgetChemistryLevs1to35_e90_s ', 'GEOSCHEMCHEM', 'BudgetChemistryLevs1to35_nh_5 ', 'GEOSCHEMCHEM', 'BudgetChemistryLevs1to35_nh_50 ', 'GEOSCHEMCHEM', 'BudgetChemistryLevs1to35_PassiveTracer ', 'GEOSCHEMCHEM', 'BudgetChemistryLevs1to35_SF6 ', 'GEOSCHEMCHEM', 'BudgetChemistryLevs1to35_st80_25 ', 'GEOSCHEMCHEM', # 'BudgetEmisDryDepFull_Rn222 ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepFull_Pb210 ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepFull_Pb210s ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepFull_Be7 ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepFull_Be7s ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepFull_Be10 ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepFull_Be10s ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepFull_CH3I ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepFull_CO_25 ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepFull_CO_50 ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepFull_e90 ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepFull_e90_n ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepFull_e90_s ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepFull_nh_5 ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepFull_nh_50 ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepFull_PassiveTracer ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepFull_SF6 ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepFull_st80_25 ', 'GEOSCHEMCHEM', # 'BudgetEmisDryDepTrop_Rn222 ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepTrop_Pb210 ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepTrop_Pb210s ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepTrop_Be7 ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepTrop_Be7s ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepTrop_Be10 ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepTrop_Be10s ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepTrop_CH3I ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepTrop_CO_25 ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepTrop_CO_50 ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepTrop_e90 ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepTrop_e90_n ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepTrop_e90_s ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepTrop_nh_5 ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepTrop_nh_50 ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepTrop_PassiveTracer ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepTrop_SF6 ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepTrop_st80_25 ', 'GEOSCHEMCHEM', # 'BudgetEmisDryDepPBL_Rn222 ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepPBL_Pb210 ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepPBL_Pb210s ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepPBL_Be7 ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepPBL_Be7s ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepPBL_Be10 ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepPBL_Be10s ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepPBL_CH3I ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepPBL_CO_25 ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepPBL_CO_50 ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepPBL_e90 ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepPBL_e90_n ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepPBL_e90_s ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepPBL_nh_5 ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepPBL_nh_50 ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepPBL_PassiveTracer ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepPBL_SF6 ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepPBL_st80_25 ', 'GEOSCHEMCHEM', # 'BudgetEmisDryDepLevs1to35_Rn222 ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepLevs1to35_Pb210 ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepLevs1to35_Pb210s ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepLevs1to35_Be7 ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepLevs1to35_Be7s ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepLevs1to35_Be10 ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepLevs1to35_Be10s ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepLevs1to35_CH3I ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepLevs1to35_CO_25 ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepLevs1to35_CO_50 ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepLevs1to35_e90 ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepLevs1to35_e90_n ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepLevs1to35_e90_s ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepLevs1to35_nh_5 ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepLevs1to35_nh_50 ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepLevs1to35_PassiveTracer', 'GEOSCHEMCHEM', 'BudgetEmisDryDepLevs1to35_SF6 ', 'GEOSCHEMCHEM', 'BudgetEmisDryDepLevs1to35_st80_25 ', 'GEOSCHEMCHEM', # 'BudgetMixingFull_Rn222 ', 'GEOSCHEMCHEM', 'BudgetMixingFull_Pb210 ', 'GEOSCHEMCHEM', 'BudgetMixingFull_Pb210s ', 'GEOSCHEMCHEM', 'BudgetMixingFull_Be7 ', 'GEOSCHEMCHEM', 'BudgetMixingFull_Be7s ', 'GEOSCHEMCHEM', 'BudgetMixingFull_Be10 ', 'GEOSCHEMCHEM', 'BudgetMixingFull_Be10s ', 'GEOSCHEMCHEM', 'BudgetMixingFull_CH3I ', 'GEOSCHEMCHEM', 'BudgetMixingFull_CO_25 ', 'GEOSCHEMCHEM', 'BudgetMixingFull_CO_50 ', 'GEOSCHEMCHEM', 'BudgetMixingFull_e90 ', 'GEOSCHEMCHEM', 'BudgetMixingFull_e90_n ', 'GEOSCHEMCHEM', 'BudgetMixingFull_e90_s ', 'GEOSCHEMCHEM', 'BudgetMixingFull_nh_5 ', 'GEOSCHEMCHEM', 'BudgetMixingFull_nh_50 ', 'GEOSCHEMCHEM', 'BudgetMixingFull_PassiveTracer ', 'GEOSCHEMCHEM', 'BudgetMixingFull_SF6 ', 'GEOSCHEMCHEM', 'BudgetMixingFull_st80_25 ', 'GEOSCHEMCHEM', # 'BudgetMixingTrop_Rn222 ', 'GEOSCHEMCHEM', 'BudgetMixingTrop_Pb210 ', 'GEOSCHEMCHEM', 'BudgetMixingTrop_Pb210s ', 'GEOSCHEMCHEM', 'BudgetMixingTrop_Be7 ', 'GEOSCHEMCHEM', 'BudgetMixingTrop_Be7s ', 'GEOSCHEMCHEM', 'BudgetMixingTrop_Be10 ', 'GEOSCHEMCHEM', 'BudgetMixingTrop_Be10s ', 'GEOSCHEMCHEM', 'BudgetMixingTrop_CH3I ', 'GEOSCHEMCHEM', 'BudgetMixingTrop_CO_25 ', 'GEOSCHEMCHEM', 'BudgetMixingTrop_CO_50 ', 'GEOSCHEMCHEM', 'BudgetMixingTrop_e90 ', 'GEOSCHEMCHEM', 'BudgetMixingTrop_e90_n ', 'GEOSCHEMCHEM', 'BudgetMixingTrop_e90_s ', 'GEOSCHEMCHEM', 'BudgetMixingTrop_nh_5 ', 'GEOSCHEMCHEM', 'BudgetMixingTrop_nh_50 ', 'GEOSCHEMCHEM', 'BudgetMixingTrop_PassiveTracer ', 'GEOSCHEMCHEM', 'BudgetMixingTrop_SF6 ', 'GEOSCHEMCHEM', 'BudgetMixingTrop_st80_25 ', 'GEOSCHEMCHEM', # 'BudgetMixingPBL_Rn222 ', 'GEOSCHEMCHEM', 'BudgetMixingPBL_Pb210 ', 'GEOSCHEMCHEM', 'BudgetMixingPBL_Pb210s ', 'GEOSCHEMCHEM', 'BudgetMixingPBL_Be7 ', 'GEOSCHEMCHEM', 'BudgetMixingPBL_Be7s ', 'GEOSCHEMCHEM', 'BudgetMixingPBL_Be10 ', 'GEOSCHEMCHEM', 'BudgetMixingPBL_Be10s ', 'GEOSCHEMCHEM', 'BudgetMixingPBL_CH3I ', 'GEOSCHEMCHEM', 'BudgetMixingPBL_CO_25 ', 'GEOSCHEMCHEM', 'BudgetMixingPBL_CO_50 ', 'GEOSCHEMCHEM', 'BudgetMixingPBL_e90 ', 'GEOSCHEMCHEM', 'BudgetMixingPBL_e90_n ', 'GEOSCHEMCHEM', 'BudgetMixingPBL_e90_s ', 'GEOSCHEMCHEM', 'BudgetMixingPBL_nh_5 ', 'GEOSCHEMCHEM', 'BudgetMixingPBL_nh_50 ', 'GEOSCHEMCHEM', 'BudgetMixingPBL_PassiveTracer ', 'GEOSCHEMCHEM', 'BudgetMixingPBL_SF6 ', 'GEOSCHEMCHEM', 'BudgetMixingPBL_st80_25 ', 'GEOSCHEMCHEM', # 'BudgetMixingLevs1to35_Rn222 ', 'GEOSCHEMCHEM', 'BudgetMixingLevs1to35_Pb210 ', 'GEOSCHEMCHEM', 'BudgetMixingLevs1to35_Pb210s ', 'GEOSCHEMCHEM', 'BudgetMixingLevs1to35_Be7 ', 'GEOSCHEMCHEM', 'BudgetMixingLevs1to35_Be7s ', 'GEOSCHEMCHEM', 'BudgetMixingLevs1to35_Be10 ', 'GEOSCHEMCHEM', 'BudgetMixingLevs1to35_Be10s ', 'GEOSCHEMCHEM', 'BudgetMixingLevs1to35_CH3I ', 'GEOSCHEMCHEM', 'BudgetMixingLevs1to35_CO_25 ', 'GEOSCHEMCHEM', 'BudgetMixingLevs1to35_CO_50 ', 'GEOSCHEMCHEM', 'BudgetMixingLevs1to35_e90 ', 'GEOSCHEMCHEM', 'BudgetMixingLevs1to35_e90_n ', 'GEOSCHEMCHEM', 'BudgetMixingLevs1to35_e90_s ', 'GEOSCHEMCHEM', 'BudgetMixingLevs1to35_nh_5 ', 'GEOSCHEMCHEM', 'BudgetMixingLevs1to35_nh_50 ', 'GEOSCHEMCHEM', 'BudgetMixingLevs1to35_PassiveTracer ', 'GEOSCHEMCHEM', 'BudgetMixingLevs1to35_SF6 ', 'GEOSCHEMCHEM', 'BudgetMixingLevs1to35_st80_25 ', 'GEOSCHEMCHEM', # 'BudgetConvectionFull_Rn222 ', 'GEOSCHEMCHEM', 'BudgetConvectionFull_Pb210 ', 'GEOSCHEMCHEM', 'BudgetConvectionFull_Pb210s ', 'GEOSCHEMCHEM', 'BudgetConvectionFull_Be7 ', 'GEOSCHEMCHEM', 'BudgetConvectionFull_Be7s ', 'GEOSCHEMCHEM', 'BudgetConvectionFull_Be10 ', 'GEOSCHEMCHEM', 'BudgetConvectionFull_Be10s ', 'GEOSCHEMCHEM', 'BudgetConvectionFull_CH3I ', 'GEOSCHEMCHEM', 'BudgetConvectionFull_CO_25 ', 'GEOSCHEMCHEM', 'BudgetConvectionFull_CO_50 ', 'GEOSCHEMCHEM', 'BudgetConvectionFull_e90 ', 'GEOSCHEMCHEM', 'BudgetConvectionFull_e90_n ', 'GEOSCHEMCHEM', 'BudgetConvectionFull_e90_s ', 'GEOSCHEMCHEM', 'BudgetConvectionFull_nh_5 ', 'GEOSCHEMCHEM', 'BudgetConvectionFull_nh_50 ', 'GEOSCHEMCHEM', 'BudgetConvectionFull_PassiveTracer ', 'GEOSCHEMCHEM', 'BudgetConvectionFull_SF6 ', 'GEOSCHEMCHEM', 'BudgetConvectionFull_st80_25 ', 'GEOSCHEMCHEM', # 'BudgetConvectionTrop_Rn222 ', 'GEOSCHEMCHEM', 'BudgetConvectionTrop_Pb210 ', 'GEOSCHEMCHEM', 'BudgetConvectionTrop_Pb210s ', 'GEOSCHEMCHEM', 'BudgetConvectionTrop_Be7 ', 'GEOSCHEMCHEM', 'BudgetConvectionTrop_Be7s ', 'GEOSCHEMCHEM', 'BudgetConvectionTrop_Be10 ', 'GEOSCHEMCHEM', 'BudgetConvectionTrop_Be10s ', 'GEOSCHEMCHEM', 'BudgetConvectionTrop_CH3I ', 'GEOSCHEMCHEM', 'BudgetConvectionTrop_CO_25 ', 'GEOSCHEMCHEM', 'BudgetConvectionTrop_CO_50 ', 'GEOSCHEMCHEM', 'BudgetConvectionTrop_e90 ', 'GEOSCHEMCHEM', 'BudgetConvectionTrop_e90_n ', 'GEOSCHEMCHEM', 'BudgetConvectionTrop_e90_s ', 'GEOSCHEMCHEM', 'BudgetConvectionTrop_nh_5 ', 'GEOSCHEMCHEM', 'BudgetConvectionTrop_nh_50 ', 'GEOSCHEMCHEM', 'BudgetConvectionTrop_PassiveTracer ', 'GEOSCHEMCHEM', 'BudgetConvectionTrop_SF6 ', 'GEOSCHEMCHEM', 'BudgetConvectionTrop_st80_25 ', 'GEOSCHEMCHEM', # 'BudgetConvectionPBL_Rn222 ', 'GEOSCHEMCHEM', 'BudgetConvectionPBL_Pb210 ', 'GEOSCHEMCHEM', 'BudgetConvectionPBL_Pb210s ', 'GEOSCHEMCHEM', 'BudgetConvectionPBL_Be7 ', 'GEOSCHEMCHEM', 'BudgetConvectionPBL_Be7s ', 'GEOSCHEMCHEM', 'BudgetConvectionPBL_Be10 ', 'GEOSCHEMCHEM', 'BudgetConvectionPBL_Be10s ', 'GEOSCHEMCHEM', 'BudgetConvectionPBL_CH3I ', 'GEOSCHEMCHEM', 'BudgetConvectionPBL_CO_25 ', 'GEOSCHEMCHEM', 'BudgetConvectionPBL_CO_50 ', 'GEOSCHEMCHEM', 'BudgetConvectionPBL_e90 ', 'GEOSCHEMCHEM', 'BudgetConvectionPBL_e90_n ', 'GEOSCHEMCHEM', 'BudgetConvectionPBL_e90_s ', 'GEOSCHEMCHEM', 'BudgetConvectionPBL_nh_5 ', 'GEOSCHEMCHEM', 'BudgetConvectionPBL_nh_50 ', 'GEOSCHEMCHEM', 'BudgetConvectionPBL_PassiveTracer ', 'GEOSCHEMCHEM', 'BudgetConvectionPBL_SF6 ', 'GEOSCHEMCHEM', 'BudgetConvectionPBL_st80_25 ', 'GEOSCHEMCHEM', # 'BudgetConvectionLevs1to35_Rn222 ', 'GEOSCHEMCHEM', 'BudgetConvectionLevs1to35_Pb210 ', 'GEOSCHEMCHEM', 'BudgetConvectionLevs1to35_Pb210s ', 'GEOSCHEMCHEM', 'BudgetConvectionLevs1to35_Be7 ', 'GEOSCHEMCHEM', 'BudgetConvectionLevs1to35_Be7s ', 'GEOSCHEMCHEM', 'BudgetConvectionLevs1to35_Be10 ', 'GEOSCHEMCHEM', 'BudgetConvectionLevs1to35_Be10s ', 'GEOSCHEMCHEM', 'BudgetConvectionLevs1to35_CH3I ', 'GEOSCHEMCHEM', 'BudgetConvectionLevs1to35_CO_25 ', 'GEOSCHEMCHEM', 'BudgetConvectionLevs1to35_CO_50 ', 'GEOSCHEMCHEM', 'BudgetConvectionLevs1to35_e90 ', 'GEOSCHEMCHEM', 'BudgetConvectionLevs1to35_e90_n ', 'GEOSCHEMCHEM', 'BudgetConvectionLevs1to35_e90_s ', 'GEOSCHEMCHEM', 'BudgetConvectionLevs1to35_nh_5 ', 'GEOSCHEMCHEM', 'BudgetConvectionLevs1to35_nh_50 ', 'GEOSCHEMCHEM', 'BudgetConvectionLevs1to35_PassiveTracer', 'GEOSCHEMCHEM', 'BudgetConvectionLevs1to35_SF6 ', 'GEOSCHEMCHEM', 'BudgetConvectionLevs1to35_st80_25 ', 'GEOSCHEMCHEM', # 'BudgetWetDepFull_Pb210 ', 'GEOSCHEMCHEM', 'BudgetWetDepFull_Pb210s ', 'GEOSCHEMCHEM', 'BudgetWetDepFull_Be7 ', 'GEOSCHEMCHEM', 'BudgetWetDepFull_Be7s ', 'GEOSCHEMCHEM', 'BudgetWetDepFull_Be10 ', 'GEOSCHEMCHEM', 'BudgetWetDepFull_Be10s ', 'GEOSCHEMCHEM', # 'BudgetWetDepTrop_Pb210 ', 'GEOSCHEMCHEM', 'BudgetWetDepTrop_Pb210s ', 'GEOSCHEMCHEM', 'BudgetWetDepTrop_Be7 ', 'GEOSCHEMCHEM', 'BudgetWetDepTrop_Be7s ', 'GEOSCHEMCHEM', 'BudgetWetDepTrop_Be10 ', 'GEOSCHEMCHEM', 'BudgetWetDepTrop_Be10s ', 'GEOSCHEMCHEM', # 'BudgetWetDepPBL_Pb210 ', 'GEOSCHEMCHEM', 'BudgetWetDepPBL_Pb210s ', 'GEOSCHEMCHEM', 'BudgetWetDepPBL_Be7 ', 'GEOSCHEMCHEM', 'BudgetWetDepPBL_Be7s ', 'GEOSCHEMCHEM', 'BudgetWetDepPBL_Be10 ', 'GEOSCHEMCHEM', 'BudgetWetDepPBL_Be10s ', 'GEOSCHEMCHEM', # 'BudgetWetDepLevs1to35_Pb210 ', 'GEOSCHEMCHEM', 'BudgetWetDepLevs1to35_Pb210s ', 'GEOSCHEMCHEM', 'BudgetWetDepLevs1to35_Be7 ', 'GEOSCHEMCHEM', 'BudgetWetDepLevs1to35_Be7s ', 'GEOSCHEMCHEM', 'BudgetWetDepLevs1to35_Be10 ', 'GEOSCHEMCHEM', 'BudgetWetDepLevs1to35_Be10s ', 'GEOSCHEMCHEM', :: #=============================================================================== CloudConvFlux.template: '%y4%m2%d2_%h2%n2z.nc4', CloudConvFlux.format: 'CFIO', CloudConvFlux.timestampStart: .true. CloudConvFlux.monthly: 1 CloudConvFlux.frequency: 010000 CloudConvFlux.duration: 010000 CloudConvFlux.mode: 'time-averaged' CloudConvFlux.fields: 'CloudConvFlux_Rn222 ', 'GEOSCHEMCHEM', 'CloudConvFlux_Pb210 ', 'GEOSCHEMCHEM', 'CloudConvFlux_Pb210s ', 'GEOSCHEMCHEM', 'CloudConvFlux_Be7 ', 'GEOSCHEMCHEM', 'CloudConvFlux_Be7s ', 'GEOSCHEMCHEM', 'CloudConvFlux_Be10 ', 'GEOSCHEMCHEM', 'CloudConvFlux_Be10s ', 'GEOSCHEMCHEM', 'CloudConvFlux_aoa ', 'GEOSCHEMCHEM', 'CloudConvFlux_aoa_bl ', 'GEOSCHEMCHEM', 'CloudConvFlux_aoa_nh ', 'GEOSCHEMCHEM', 'CloudConvFlux_CH3I ', 'GEOSCHEMCHEM', 'CloudConvFlux_CO_25 ', 'GEOSCHEMCHEM', 'CloudConvFlux_CO_50 ', 'GEOSCHEMCHEM', 'CloudConvFlux_e90 ', 'GEOSCHEMCHEM', 'CloudConvFlux_e90_n ', 'GEOSCHEMCHEM', 'CloudConvFlux_e90_s ', 'GEOSCHEMCHEM', 'CloudConvFlux_nh_5 ', 'GEOSCHEMCHEM', 'CloudConvFlux_nh_50 ', 'GEOSCHEMCHEM', 'CloudConvFlux_PassiveTracer ', 'GEOSCHEMCHEM', 'CloudConvFlux_SF6 ', 'GEOSCHEMCHEM', 'CloudConvFlux_st80_25 ', 'GEOSCHEMCHEM', :: #============================================================================== DryDep.template: '%y4%m2%d2_%h2%n2z.nc4', DryDep.format: 'CFIO', DryDep.timestampStart: .true. DryDep.monthly: 1 DryDep.frequency: 010000 DryDep.duration: 010000 DryDep.mode: 'time-averaged' DryDep.fields: 'DryDep_Pb210 ', 'GEOSCHEMCHEM', 'DryDep_Pb210s ', 'GEOSCHEMCHEM', 'DryDep_Be7 ', 'GEOSCHEMCHEM', 'DryDep_Be7s ', 'GEOSCHEMCHEM', 'DryDep_Be10 ', 'GEOSCHEMCHEM', 'DryDep_Be10s ', 'GEOSCHEMCHEM', 'DryDepVel_Pb210 ', 'GEOSCHEMCHEM', 'DryDepVel_Pb210s ', 'GEOSCHEMCHEM', 'DryDepVel_Be7 ', 'GEOSCHEMCHEM', 'DryDepVel_Be7s ', 'GEOSCHEMCHEM', 'DryDepVel_Be10 ', 'GEOSCHEMCHEM', 'DryDepVel_Be10s ', 'GEOSCHEMCHEM', :: #============================================================================== RadioNuclide.template: '%y4%m2%d2_%h2%n2z.nc4', RadioNuclide.format: 'CFIO', RadioNuclide.timestampStart: .true. RadioNuclide.monthly: 1 RadioNuclide.frequency: 010000 RadioNuclide.duration: 010000 RadioNuclide.mode: 'time-averaged' RadioNuclide.fields: 'PbFromRnDecay ', 'GEOSCHEMCHEM', 'RadDecay_Rn222 ', 'GEOSCHEMCHEM', 'RadDecay_Pb210 ', 'GEOSCHEMCHEM', 'RadDecay_Pb210s ', 'GEOSCHEMCHEM', 'RadDecay_Be7 ', 'GEOSCHEMCHEM', 'RadDecay_Be7s ', 'GEOSCHEMCHEM', 'RadDecay_Be10 ', 'GEOSCHEMCHEM', 'RadDecay_Be10s ', 'GEOSCHEMCHEM', :: #============================================================================== SpeciesConc.template: '%y4%m2%d2_%h2%n2z.nc4', SpeciesConc.format: 'CFIO', SpeciesConc.timestampStart: .true. SpeciesConc.monthly: 1 SpeciesConc.frequency: 010000 SpeciesConc.duration: 010000 SpeciesConc.mode: 'time-averaged' SpeciesConc.fields: 'SpeciesConcVV_Rn222 ', 'GEOSCHEMCHEM', 'SpeciesConcVV_Pb210 ', 'GEOSCHEMCHEM', 'SpeciesConcVV_Pb210s ', 'GEOSCHEMCHEM', 'SpeciesConcVV_Be7 ', 'GEOSCHEMCHEM', 'SpeciesConcVV_Be7s ', 'GEOSCHEMCHEM', 'SpeciesConcVV_Be10 ', 'GEOSCHEMCHEM', 'SpeciesConcVV_Be10s ', 'GEOSCHEMCHEM', 'SpeciesConcVV_aoa ', 'GEOSCHEMCHEM', 'SpeciesConcVV_aoa_bl ', 'GEOSCHEMCHEM', 'SpeciesConcVV_aoa_nh ', 'GEOSCHEMCHEM', 'SpeciesConcVV_CH3I ', 'GEOSCHEMCHEM', 'SpeciesConcVV_CO_25 ', 'GEOSCHEMCHEM', 'SpeciesConcVV_CO_50 ', 'GEOSCHEMCHEM', 'SpeciesConcVV_e90 ', 'GEOSCHEMCHEM', 'SpeciesConcVV_e90_n ', 'GEOSCHEMCHEM', 'SpeciesConcVV_e90_s ', 'GEOSCHEMCHEM', 'SpeciesConcVV_nh_5 ', 'GEOSCHEMCHEM', 'SpeciesConcVV_nh_50 ', 'GEOSCHEMCHEM', 'SpeciesConcVV_PassiveTracer ', 'GEOSCHEMCHEM', 'SpeciesConcVV_SF6 ', 'GEOSCHEMCHEM', 'SpeciesConcVV_st80_25 ', 'GEOSCHEMCHEM', :: #============================================================================== StateMet.template: '%y4%m2%d2_%h2%n2z.nc4', StateMet.format: 'CFIO', StateMet.timestampStart: .true. StateMet.monthly: 1 StateMet.frequency: 010000 StateMet.duration: 010000 StateMet.mode: 'time-averaged' StateMet.fields: 'Met_AD ', 'GEOSCHEMCHEM', 'Met_AIRDEN ', 'GEOSCHEMCHEM', 'Met_AIRVOL ', 'GEOSCHEMCHEM', 'Met_ALBD ', 'GEOSCHEMCHEM', 'Met_AREAM2 ', 'GEOSCHEMCHEM', 'Met_AVGW ', 'GEOSCHEMCHEM', 'Met_BXHEIGHT ', 'GEOSCHEMCHEM', 'Met_ChemGridLev ', 'GEOSCHEMCHEM', 'Met_CLDF ', 'GEOSCHEMCHEM', 'Met_CLDFRC ', 'GEOSCHEMCHEM', 'Met_CLDTOPS ', 'GEOSCHEMCHEM', 'Met_DELP ', 'GEOSCHEMCHEM', 'Met_DQRCU ', 'GEOSCHEMCHEM', 'Met_DQRLSAN ', 'GEOSCHEMCHEM', 'Met_DTRAIN ', 'GEOSCHEMCHEM', 'Met_EFLUX ', 'GEOSCHEMCHEM', 'Met_FRCLND ', 'GEOSCHEMCHEM', 'Met_FRLAKE ', 'GEOSCHEMCHEM', 'Met_FRLAND ', 'GEOSCHEMCHEM', 'Met_FRLANDICE ', 'GEOSCHEMCHEM', 'Met_FROCEAN ', 'GEOSCHEMCHEM', 'Met_FRSEAICE ', 'GEOSCHEMCHEM', 'Met_FRSNOW ', 'GEOSCHEMCHEM', 'Met_GWETROOT ', 'GEOSCHEMCHEM', 'Met_GWETTOP ', 'GEOSCHEMCHEM', 'Met_HFLUX ', 'GEOSCHEMCHEM', 'Met_LAI ', 'GEOSCHEMCHEM', 'Met_PARDR ', 'GEOSCHEMCHEM', 'Met_PARDF ', 'GEOSCHEMCHEM', 'Met_PBLTOPL ', 'GEOSCHEMCHEM', 'Met_PBLH ', 'GEOSCHEMCHEM', 'Met_PHIS ', 'GEOSCHEMCHEM', 'Met_PMID ', 'GEOSCHEMCHEM', 'Met_PMIDDRY ', 'GEOSCHEMCHEM', 'Met_PRECANV ', 'GEOSCHEMCHEM', 'Met_PRECCON ', 'GEOSCHEMCHEM', 'Met_PRECLSC ', 'GEOSCHEMCHEM', 'Met_PRECTOT ', 'GEOSCHEMCHEM', 'Met_PS1DRY ', 'GEOSCHEMCHEM', 'Met_PS1WET ', 'GEOSCHEMCHEM', 'Met_PS2DRY ', 'GEOSCHEMCHEM', 'Met_PS2WET ', 'GEOSCHEMCHEM', 'Met_PSC2WET ', 'GEOSCHEMCHEM', 'Met_PSC2DRY ', 'GEOSCHEMCHEM', 'Met_QI ', 'GEOSCHEMCHEM', 'Met_QL ', 'GEOSCHEMCHEM', 'Met_OMEGA ', 'GEOSCHEMCHEM', 'Met_OPTD ', 'GEOSCHEMCHEM', 'Met_REEVAPCN ', 'GEOSCHEMCHEM', 'Met_REEVAPLS ', 'GEOSCHEMCHEM', 'Met_SLP ', 'GEOSCHEMCHEM', 'Met_SNODP ', 'GEOSCHEMCHEM', 'Met_SNOMAS ', 'GEOSCHEMCHEM', 'Met_SPHU ', 'GEOSCHEMCHEM', 'Met_SPHU1 ', 'GEOSCHEMCHEM', 'Met_SPHU2 ', 'GEOSCHEMCHEM', 'Met_SUNCOS ', 'GEOSCHEMCHEM', 'Met_SUNCOSmid ', 'GEOSCHEMCHEM', 'Met_SWGDN ', 'GEOSCHEMCHEM', 'Met_T ', 'GEOSCHEMCHEM', 'Met_TAUCLI ', 'GEOSCHEMCHEM', 'Met_TAUCLW ', 'GEOSCHEMCHEM', 'Met_THETA ', 'GEOSCHEMCHEM', 'Met_TMPU1 ', 'GEOSCHEMCHEM', 'Met_TMPU2 ', 'GEOSCHEMCHEM', 'Met_TO3 ', 'GEOSCHEMCHEM', 'Met_TropHt ', 'GEOSCHEMCHEM', 'Met_TropLev ', 'GEOSCHEMCHEM', 'Met_TropP ', 'GEOSCHEMCHEM', 'Met_TS ', 'GEOSCHEMCHEM', 'Met_TSKIN ', 'GEOSCHEMCHEM', 'Met_TV ', 'GEOSCHEMCHEM', 'Met_U ', 'GEOSCHEMCHEM', 'Met_U10M ', 'GEOSCHEMCHEM', 'Met_USTAR ', 'GEOSCHEMCHEM', 'Met_UVALBEDO ', 'GEOSCHEMCHEM', 'Met_V ', 'GEOSCHEMCHEM', 'Met_V10M ', 'GEOSCHEMCHEM', 'Met_Z0 ', 'GEOSCHEMCHEM', :: #============================================================================== StateMetLevEdge.template: '%y4%m2%d2_%h2%n2z.nc4', StateMetLevEdge.format: 'CFIO', StateMetLevEdge.timestampStart: .true. StateMetLevEdge.monthly: 1 StateMetLevEdge.frequency: 010000 StateMetLevEdge.duration: 010000 StateMetLevEdge.mode: 'time-averaged' StateMetLevEdge.fields: 'Met_CMFMC ', 'GEOSCHEMCHEM', 'Met_PEDGE ', 'GEOSCHEMCHEM', 'Met_PEDGEDRY ', 'GEOSCHEMCHEM', 'Met_PFICU ', 'GEOSCHEMCHEM', 'Met_PFILSAN ', 'GEOSCHEMCHEM', 'Met_PFLCU ', 'GEOSCHEMCHEM', 'Met_PFLLSAN ', 'GEOSCHEMCHEM', :: #============================================================================== WetLossConv.template: '%y4%m2%d2_%h2%n2z.nc4', WetLossConv.format: 'CFIO', WetLossConv.timestampStart: .true. WetLossConv.monthly: 1 WetLossConv.frequency: 010000 WetLossConv.duration: 010000 WetLossConv.mode: 'time-averaged' WetLossConv.fields: 'WetLossConv_Pb210 ', 'GEOSCHEMCHEM', 'WetLossConv_Pb210s ', 'GEOSCHEMCHEM', 'WetLossConv_Be7 ', 'GEOSCHEMCHEM', 'WetLossConv_Be7s ', 'GEOSCHEMCHEM', 'WetLossConv_Be10 ', 'GEOSCHEMCHEM', 'WetLossConv_Be10s ', 'GEOSCHEMCHEM', 'WetLossConvFrac_Pb210 ', 'GEOSCHEMCHEM', 'WetLossConvFrac_Pb210s ', 'GEOSCHEMCHEM', 'WetLossConvFrac_Be7 ', 'GEOSCHEMCHEM', 'WetLossConvFrac_Be7s ', 'GEOSCHEMCHEM', 'WetLossConvFrac_Be10 ', 'GEOSCHEMCHEM', 'WetLossConvFrac_Be10s ', 'GEOSCHEMCHEM', :: #============================================================================== WetLossLS.template: '%y4%m2%d2_%h2%n2z.nc4', WetLossLS.format: 'CFIO', WetLossLS.timestampStart: .true. WetLossLS.monthly: 1 WetLossLS.frequency: 010000 WetLossLS.duration: 010000 WetLossLS.mode: 'time-averaged' WetLossLS.fields: 'WetLossLS_Pb210 ', 'GEOSCHEMCHEM', 'WetLossLS_Pb210s ', 'GEOSCHEMCHEM', 'WetLossLS_Be7 ', 'GEOSCHEMCHEM', 'WetLossLS_Be7s ', 'GEOSCHEMCHEM', 'WetLossLS_Be10 ', 'GEOSCHEMCHEM', 'WetLossLS_Be10s ', 'GEOSCHEMCHEM', :: ================================================ FILE: run/GEOS/TransportTracers/geoschem_config.yml ================================================ --- ### geoschem_config.yml: GEOS-Chem Runtime configuration options. ### Customized for GCHP simulations using the TransportTracers mechanism. ### ### NOTE: Add quotes around nitrogen oxide ('NO'), because YAML ### parsers will confuse this with a negative "no" value. #============================================================================ # Simulation settings #============================================================================ simulation: name: TransportTracers chem_inputs_dir: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/ species_database_file: ./species_database.yml verbose: activate: false on_cores: root # Allowed values: root all #============================================================================ # Settings for GEOS-Chem operations #============================================================================ operations: chemistry: activate: true convection: activate: true dry_deposition: activate: true pbl_mixing: activate: false use_non_local_pbl: false transport: activate: true transported_species: - Rn222 - Pb210 - Pb210s - Be7 - Be7s - Be10 - Be10s - aoa - aoa_bl - aoa_nh - CH3I - CO_25 - CO_50 - e90 - e90_n - e90_s - nh_5 - nh_50 - PassiveTracer - SF6 - st80_25 wet_deposition: activate: true ================================================ FILE: run/GEOS/geoschem_analysis_cdas.yml ================================================ ### geoschem_analysis.yml #============================================================================ # General settings #============================================================================ general: runphase: 2 nspecies: 3 #============================================================================ # List of used analysis species #============================================================================ species: Spc001: SpeciesName: O3 Active: true AnalysisFreq: 6 AnalysisHour: 0 AnalysisMinute: 0 ForwardLooking: false FileTemplate: >>>EXPID<<<.inc.eta.%y4%m2%d2_%h200z.nc4 FileVarName: ozone FileVarUnit: ppmv DryFlag: 0 IsIncrement: true InStrat: true InTrop: true IAU: true AnaL1: 1 AnaL2: 1 AnaL3: 72 AnaL4: 72 AnaFraction: 1.0 MaxChangeStrat: -1.0 MaxChangeTrop: -1.0 HasSpec2: 0 ErrorMode: 1 Spc002: SpeciesName: NO2 Active: true AnalysisFreq: 6 AnalysisHour: 0 AnalysisMinute: 0 ForwardLooking: false FileTemplate: >>>EXPID<<<.inc.eta.%y4%m2%d2_%h200z.nc4 FileVarName: NO2 FileVarUnit: v/v DryFlag: 1 IsIncrement: true InStrat: true InTrop: true IAU: true AnaL1: 1 AnaL2: 1 AnaL3: 72 AnaL4: 72 AnaFraction: 1.0 MaxChangeStrat: -1.0 MaxChangeTrop: -1.0 MaxRatioStrat: 10.0 MinRatioStrat: 0.1 MaxRatioTrop: 10.0 MinRatioTrop: 0.1 MinConc: 1.0e-32 HasSpec2: 0 ErrorMode: 1 Spc003: SpeciesName: SO2 Active: true AnalysisFreq: 6 AnalysisHour: 0 AnalysisMinute: 0 ForwardLooking: false FileTemplate: >>>EXPID<<<.inc.eta.%y4%m2%d2_%h200z.nc4 FileVarName: SO2g FileVarUnit: v/v DryFlag: 1 IsIncrement: true InStrat: true InTrop: true IAU: true AnaL1: 1 AnaL2: 1 AnaL3: 72 AnaL4: 72 AnaFraction: 1.0 MaxChangeStrat: -1.0 MaxChangeTrop: -1.0 MaxRatioStrat: 10.0 MinRatioStrat: 0.1 MaxRatioTrop: 10.0 MinRatioTrop: 0.1 MinConc: 1.0e-32 HasSpec2: 0 ErrorMode: 1 ================================================ FILE: run/GEOS/geoschem_analysis_geosit.yml ================================================ ### geoschem_analysis.yml #============================================================================ # General settings #============================================================================ general: runphase: 2 nspecies: 1 #============================================================================ # List of used analysis species #============================================================================ species: Spc001: SpeciesName: O3 Active: true AnalysisFreq: 6 AnalysisHour: 0 AnalysisMinute: 0 ForwardLooking: true FldNameHco: GEOSIT_O3 FileVarUnit: ppmv DryFlag: 0 IsIncrement: false InStrat: true InTrop: false IAU: false AnaL1: 1 AnaL2: 1 AnaL3: 72 AnaL4: 72 StratSponge: 2 AnaFraction: 1.0 MaxChangeStrat: -1.0 MaxChangeTrop: -1.0 HasSpec2: 0 ErrorMode: 1 ================================================ FILE: run/GEOS/geoschem_config.yml ================================================ --- ### geoschem_config.yml: GEOS-Chem Runtime configuration options. ### Customized for GCHP simulations using the KPP "fullchem" mechanism. ### ### NOTE: Add quotes around nitrogen oxide ('NO'), because YAML ### parsers will confuse this with a negative "no" value. #============================================================================ # Simulation settings #============================================================================ simulation: name: fullchem chem_inputs_dir: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/ species_database_file: ./species_database.yml verbose: activate: false on_cores: root # Allowed values: root all #============================================================================ # Settings for GEOS-Chem operations #============================================================================ operations: chemistry: activate: true linear_chemistry_aloft: activate: true use_linoz_for_O3: true active_strat_H2O: activate: true use_static_bnd_cond: true gamma_HO2: 0.2 autoreduce_solver: activate: false use_target_threshold: activate: true oh_tuning_factor: 0.00005 no2_tuning_factor: 0.0001 use_absolute_threshold: scale_by_pressure: true absolute_threshold: 100.0 keep_halogens_active: false append_in_internal_timestep: false convection: activate: false dry_deposition: activate: true CO2_effect: activate: false CO2_level: 600.0 reference_CO2_level: 380.0 diag_alt_above_sfc_in_m: 10 pbl_mixing: activate: false use_non_local_pbl: false photolysis: activate: true cloud-j: cloudj_input_dir: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/CLOUD_J/v2025-01/ verbose: false num_levs_with_cloud: 34 cloud_scheme_flag: 3 opt_depth_increase_factor: 1.050 min_top_inserted_cloud_OD: 0.005 cloud_overlap_correlation: 0.33 num_cloud_overlap_blocks: 6 sphere_correction: 1 num_wavelength_bins: 18 use_H2O_UV_absorption: true overhead_O3: use_online_O3_from_model: true use_column_O3_from_met: true use_TOMS_SBUV_O3: false photolyze_nitrate_aerosol: activate: true NITs_Jscale: 100.0 NIT_Jscale: 100.0 percent_channel_A_HONO: 66.667 percent_channel_B_NO2: 33.333 rrtmg_rad_transfer_model: activate: false aod_wavelengths_in_nm: - 550 longwave_fluxes: false shortwave_fluxes: false clear_sky_flux: false all_sky_flux: false transport: activate: true transported_species: - ACET - ACTA - ACR - AERI - ALD2 - ALK4 - ALK4N2 - ALK4P - ALK6 - AONITA - APAN - APINP - APINN - AROMCHO - AROMP4 - AROMP5 - AROMPN - ATOOH - BALD - BCPI - BCPO - BENZ - BENZP - BPINO - BPINN - BPINP - BPINOOH - BPINON - Br - Br2 - BrCl - BrNO2 - BrNO3 - BrO - BrSALA - BrSALC - BUTDI - BUTN - BZCO3H - BZPAN - C96O2H - C96N - C2H2 - C2H4 - C2H6 - C3H8 - C4H6 - CCl4 - CFC11 - CFC113 - CFC114 - CFC115 - CFC12 - CH2Br2 - CH2Cl2 - CH2I2 - CH2IBr - CH2ICl - CH2O - CH3Br - CH3CCl3 - CH3Cl - CH3I - CH4 - CHBr3 - CHCl3 - Cl - Cl2 - Cl2O2 - ClNO2 - ClNO3 - ClO - ClOO - CLOCK - CO - CSL - DMS - DSTbin1 - DSTbin2 - DSTbin3 - DSTbin4 - DSTbin5 - DSTbin6 - DSTbin7 - EBZ - EOH - ETHLN - ETHN - ETHP - ETNO3 - ETP - FURA - GLYC - GLYX - HACTA - H1211 - H1301 - H2402 - H2O - H2O2 - HAC - HBr - HC5A - HCFC123 - HCFC141b - HCFC142b - HCFC22 - HCl - HCOOH - HI - HMHP - HMML - HMS - HNO2 - HNO3 - HNO4 - HOBr - HOCl - HOI - HONIT - HPALD1 - HPALD2 - HPALD3 - HPALD4 - HPETHNL - I - I2 - I2O2 - I2O3 - I2O4 - IBr - ICHE - ICl - ICN - ICPDH - IDC - IDCHP - IDHDP - IDHPE - IDN - IEPOXA - IEPOXB - IEPOXD - IHN1 - IHN2 - IHN3 - IHN4 - INDIOL - INO - INPB - INPD - IO - IONITA - IONO - IONO2 - IPRNO3 - ISALA - ISALC - ISOP - ITCN - ITHN - LIMAL - LIMKB - LIMKET - LIMN - LIMNB - LIMO - LIMO2H - LIMO3H - LIMPAN - LVOC - LVOCOA - MACR - MACR1OOH - MAP - MCRDH - MCRENOL - MCRHN - MCRHNB - MCRHP - MCT - MEK - MEKPN - MENO3 - MGLY - MOH - MONITA - MONITS - MONITU - MP - MPAN - MPN - MSA - MTPA - MTPO - MVK - MVKDH - MVKHC - MVKHCB - MVKHP - MVKN - MVKPC - MYRCO - N2O - N2O5 - NH3 - NH4 - NIT - NITs - 'NO' - NO2 - NO3 - NPHEN - NPRNO3 - O3 - OClO - OCPI - OCPO - OCS - OIO - PAN - pFe - PHAN - PHEN - PIN - PINAL - PINONIC - PINO3H - PINPAN - PIP - PP - PPN - PROPNN - PRPE - PRPN - PYAC - R4N2 - R4P - R7N2 - R7P - RA3P - RB3P - RCHO - RCOOH - RIPA - RIPB - RIPC - RIPD - RNO3 - RP - SALA - SALAAL - SALACL - SALC - SALCAL - SALCCL - SO2 - SO4 - SO4s - SOAGX - SOAIE - SOAP - SOAS - STYR - TLFUONE - TMB - TOLU - XYLE wet_deposition: activate: true #============================================================================ # Settings for GEOS-Chem aerosols #============================================================================ aerosols: optics: input_dir: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/Aerosol_Optics/v2025-03/ carbon: activate: true brown_carbon: false enhance_black_carbon_absorption: activate: true hydrophilic: 1.5 hydrophobic: 1.0 complex_SOA: activate: false semivolatile_POA: false dust: activate: true acid_uptake_on_dust: false sea_salt: activate: true SALA_radius_bin_in_um: [0.01, 0.5] SALC_radius_bin_in_um: [0.5, 8.0] marine_organic_aerosols: false stratosphere: settle_strat_aerosol: true polar_strat_clouds: activate: true het_chem: true allow_homogeneous_NAT: true NAT_supercooling_req_in_K: 3.0 supersat_factor_req_for_ice_nucl: 1.2 calc_strat_aod: true sulfate: activate: true metal_cat_SO2_oxidation: true ================================================ FILE: run/GEOS/scripts/create_ch4_offset_file.py ================================================ #!/usr/local/other/python/GEOSpyD/2019.03_py3.7/2019-04-22/bin/python ''' Script to create uniform CH4 offset file that can be read by GEOS to add a universal offset to CH4 boundary conditions. The offset value can be either passed as input argument or calculated online as the difference between the target year and the reference year. In case of the latter, the values from the following source are used to determine the CH4 increase: - https://gml.noaa.gov/webdata/ccgg/trends/ch4/ch4_mm_gl.txt EXAMPLES: 1. Create CH4 growth files relative to 2021 passing explicit values: Create y/y offset file for January 2022 relative to 2021, using prescribed offset python create_ch4_offset_file.py -y 2022 -m 1 -v 17.97e-9 -o 'ch4_offset_to_2021_%Y%m.nc' Create y/y offset file for January 2023 relative to 2022, using prescribed offset python create_ch4_offset_file.py -y 2023 -m 1 -v 14.62e-9 -o 'ch4_offset_to_2022_%Y%m.nc' Create y/y offset file for January 2023 relative to 2021 by adding y/y offset to 2022/2021 file python create_ch4_offset_file.py -y 2023 -m 1 -v 14.62e-9 -i 'ch4_offset_to_2021_2022%m.nc' -o 'ch4_offset_to_2021_%Y%m.nc' 2. Create CH4 growth file relative to 2021 using online computed offset: python create_ch4_offset_file.py -y 2023 -m 1 -r 2021 -o 'ch4_offset_to_2021_%Y%m.nc' HISTORY: 20240118 - christoph.a.keller@nasa.gov - initial version ''' import sys import argparse import logging import datetime as dt import time import numpy as np import xarray as xr import pandas as pd # NOAA CH4 data URL="https://gml.noaa.gov/webdata/ccgg/trends/ch4/ch4_mm_gl.txt" def main(args): ''' Create a netCDF file with the given offset values. ''' log = logging.getLogger(__name__) # output time otime = dt.datetime(args.year,args.month,1) # offset value: read from online table if not provided offset = np.nan if args.value is None: log.info('Reading CH4 trends from {}'.format(URL)) dat = pd.read_csv(URL,comment="#",header=None,sep='\s+') # get reference values in ppb refconc = dat.loc[(dat[0]==args.refyear)&(dat[1]==args.month),3].values[0] targetconc = dat.loc[(dat[0]==args.year)&(dat[1]==args.month),3].values[0] offset = (targetconc-refconc)*1.0e-9 log.info("Calculated offset from URL: {}".format(URL)) log.info("reference concentration ({}-{}): {}".format(args.refyear,args.month,refconc)) log.info("target concentration ({}-{}): {}".format(args.year,args.month,targetconc)) log.info("offset (mol/mol): {}".format(offset)) else: offset = args.value # define lat/lon coordinates and output array with offsets. if args.ifile is not None: # Read input file and inherit coordinates from it. Add offset to values in that file ifile = otime.strftime(args.ifile) log.info('reading {}'.format(ifile)) dsi = xr.open_dataset(ifile) lons = dsi.lon.values lats = dsi.lat.values assert args.varname in dsi,"variable {} not found in {}".format(args.varname,args.ifile) assert len(dsi[args.varname].shape)==3,"variable {} must have 3 dimensions (time,lat,lon)".format(args.varname) arr = dsi[args.varname].values[:,:,:] + offset else: # Create from scratch lons = np.arange(-180.,180.,2.5) lats = np.arange(-90.,90.1,2.) arr = np.zeros((1,len(lats),len(lons))) arr[:] = offset # Create output dataset ds = xr.Dataset() ds[args.varname] = (('time','lat','lon'),arr) ds[args.varname].attrs = {'standard_name':'CH4_offset','long_name':'CH4_offset','units':"mol/mol"} ds.coords['lat'] = (('lat'),lats) ds['lat'].attrs = {'standard_name':'latitude','long_name':'latitude','units':'degrees_north'} ds.coords['lon'] = (('lon'),lons) ds['lon'].attrs = {'standard_name':'longitude','long_name':'longitude','units':'degrees_east'} tunit = otime.strftime('days since %Y-%m-%d %H:%M:%S') ds.coords['time'] = (('time'),np.zeros((1,))) ds['time'].attrs = {'standard_name':'time','long_name':'time','units':tunit,'calendar':'standard'} ofile = otime.strftime(args.ofile) ds.to_netcdf(ofile) log.info('file written to {}'.format(ofile)) ds.close() return def parse_args(): p = argparse.ArgumentParser(description='Undef certain variables') p.add_argument('-y', '--year',type=int,help='output year',default=2023) p.add_argument('-m', '--month',type=int,help='output month',default=1) p.add_argument('-v', '--value',type=float,help='CH4 offset, in mol/mol dry',default=None) p.add_argument('-r', '--refyear',type=int,help='reference year',default=2021) p.add_argument('-i', '--ifile',type=str,help='input file, will add offset to values in that file',default=None) p.add_argument('-o', '--ofile',type=str,help='output file',default="ch4_offset_to_2021_x144_y91_%Y%m.nc") p.add_argument('-n', '--varname',type=str,help='variable name for offset',default="CH4_offset") return p.parse_args() if __name__ == '__main__': log = logging.getLogger() log.setLevel(logging.INFO) handler = logging.StreamHandler(sys.stdout) handler.setLevel(logging.INFO) log.addHandler(handler) main(parse_args()) ================================================ FILE: run/WRF/fullchem/HEMCO_Config.rc ================================================ #------------------------------------------------------------------------------ # Harmonized Emissions Component (HEMCO) ! #------------------------------------------------------------------------------ #BOP # # !MODULE: HEMCO_Config.rc # # !DESCRIPTION: Contains configuration information for HEMCO. Define the # emissions inventories and corresponding file paths here. Entire # configuration files can be inserted into this configuration file with # an '>>>include' statement, e.g. '>>>include HEMCO\_Config\_test.rc' # The settings of include-files will be ignored. #\\ #\\ # !REMARKS: # See The HEMCO User's Guide for file details: # http://wiki.geos-chem.org/The_HEMCO_User%27s_Guide # # !REVISION HISTORY: # See https://github.com/geoschem/geos-chem for complete history #EOP #------------------------------------------------------------------------------ #BOC ############################################################################### ### BEGIN SECTION SETTINGS ############################################################################### ROOT: /n/holyscratch01/external_repos/GEOS-CHEM/gcgrid/data/ExtData/HEMCO METDIR: not_used GCAPSCENARIO: not_used GCAPVERTRES: 47 Logfile: * DiagnFile: HEMCO_Diagn.rc DiagnPrefix: ./HEMCO_diagnostics DiagnFreq: Monthly Wildcard: * Separator: / Unit tolerance: 1 Negative values: 0 Only unitless scale factors: false Verbose: false VerboseOnCores: root # Accepted values: root all ### END SECTION SETTINGS ### ############################################################################### ### BEGIN SECTION EXTENSION SWITCHES ############################################################################### # ExtNr ExtName on/off Species Years avail. 0 Base : on * # ----- MAIN SWITCHES --------------------------------------------------------- --> EMISSIONS : true --> CHEMISTRY_INPUT : true # ----- RESTART FIELDS -------------------------------------------------------- --> HEMCO_RESTART : true # ----- REGIONAL INVENTORIES -------------------------------------------------- --> APEI : false # 1989-2014 --> NEI2016_MONMEAN : false # 2002-2020 --> DICE_Africa : false # 2013 # ----- GLOBAL INVENTORIES ---------------------------------------------------- --> CEDSv2 : true # 1750-2019 --> CEDS_GBDMAPS : false # 1970-2017 --> CEDS_GBDMAPS_byFuelType: false # 1970-2017 --> EDGARv43 : false # 1970-2010 --> HTAPv3 : false # 2000-2018 --> GEIA_NH3 : true # 1990 --> SEABIRD_NH3 : true # 1990 --> POET_EOH : false # 1985 --> TZOMPASOSA_C2H6 : true # 2010 --> XIAO_C3H8 : true # 1985 --> LIANG_BROMOCARB : true # 2000 --> ORDONEZ_IODOCARB : true # 2000 --> DECAYING_PLANTS : true # 1985 --> AFCID : true # 2015 # ----- AIRCRAFT EMISSIONS ---------------------------------------------------- # There are 3 switches: # # 1. AEIC2019_DAILY selects daily AEIC 2019 emissions. For most simulations, # this is not recommended due to the amount of computational overhead # that will be incurred in regridding. But this may be useful for # research purposes. Recommended setting: "AEIC2019_DAILY: false". # # 2. AEIC2019_MONMEAN selects monthly-mean AEIC 2019 emisisons, which will # incur much less computational overhaead. This option should suffice # for most simulations. Recommended setting "AEIC2019_MONMEAN: true". # # 3. AEIC_SCALE_1990_2019: If "false", the AEIC 2019 data from the year # 2019 alone will be used. This will yield a "best estimate" of # aviation emisssion. This could be important because simply scaling # aviation emissions up and down is rather nonphysical. But if # AEIC_SCALE_1990_2019 is set to true, then aviation emissions for # 1990 to 2019 are estimated by: # # a. Scaling ALL aviation emissions based on the growth in fuelburn # from 1990 to 2019* estimated by Lee et al. (2021); and # # b. Scaling aviation NOx emissions by an additional factor to reflect # the changes in the NOx emissions index over the same period as # reported by Lee et al. (2021). # # Recommended setting: "AEIC_SCALE_1990_2019: true" # # See additional notes in the AEIC scale factor section below. #------------------------------------------------------------------------------ --> AEIC2019_DAILY : false # 2019 (daily data) --> AEIC2019_MONMEAN : true # 2019 (monthly-mean data) --> AEIC_SCALE_1990_2019 : true # Scale to year in 1990-2019 # ----- SHIP EMISSIONS -------------------------------------------------------- --> SHIP : true --> CEDSv2_SHIP : true # 1750-2017 --> CEDS_GBDMAPS_SHIP : false # 1970-2017 --> CEDS_GBDMAPS_SHIP_byFuelType: false # 1970-2017 --> HTAPv3_SHIP : false # 2000-2018 --> ICOADS_SHIP : false # 2002 --> ARCTAS_SHIP : false # 2008 --> CORBETT_SHIP : false # 1985 # ----- RCP FUTURE EMISSIONS -------------------------------------------------- --> RCP_3PD : false # 2005-2100 --> RCP_45 : false # 2005-2100 --> RCP_60 : false # 2005-2100 --> RCP_85 : false # 2005-2100 # ----- CMIP6 ANTHRO EMISSIONS / BOUNDARY CONDITIONS -------------------------- # Set GCAPSCENARIO (e.g., HIST, SSP585) above in SECTION SETTINGS --> CMIP6_SFC_BC : false # 1750-2100 --> CMIP6_SFC_LAND_ANTHRO : false # 1850-2100 --> CMIP6_AIRCRAFT : false # 1850-2100 --> CMIP6_SHIP : false # 1850-2100 # ----- BIOMASS BURNING EMISSIONS --------------------------------------------- --> QFED2 : false # 2000-2020 --> GFAS : false # 2003-2021 --> BB4MIPS : false # 1850-2100 # ----- OFFLINE EMISSIONS ----------------------------------------------------- # To use online emissions instead set the offline emissions to 'false' and the # corresponding HEMCO extension to 'on': # OFFLINE_DUST - DustL23M # OFFLINE_BIOGENICVOC - MEGAN # - Note: MEGAN must always be on for species not in OFFLINE_BIOGENICVOC # OFFLINE_SEASALT - SeaSalt # OFFLINE_SOILNOX - SoilNOx # # NOTE: When switching between offline and online emissions, make sure to also # update ExtNr and Cat in HEMCO_Diagn.rc to properly save out emissions for # any affected species. #------------------------------------------------------------------------------ --> OFFLINE_DUST : false # 1980-2021 --> OFFLINE_BIOGENICVOC : false # 1980-2021 --> OFFLINE_SEASALT : false # 1980-2021 --> CalcBrSeasalt : false --> OFFLINE_SOILNOX : false # 1980-2021 # ----- NON-EMISSIONS DATA ---------------------------------------------------- --> UVALBEDO : true # 1985 --> CCM_STRAT_Bry : true # 2007 --> GMI_OH : true # 2005 --> GMI_PROD_LOSS : true # 2005 --> OMOC_RATIO : false # 2010 --> GMD_SFC_CH4 : true # 1979-2020 --> CMIP6_SFC_CH4 : false # 1750-1978 --> OLSON_LANDMAP : true # 1985 --> YUAN_MODIS_LAI : true # 2000-2020 --> RRTMG : false # 2002 --> SfcVMR : true # 1750-2014 --> OCEAN_O3_DRYDEP : true # 1985 # ----------------------------------------------------------------------------- 100 Custom : off - 101 SeaFlux : on DMS/ACET/ALD2/MENO3/ETNO3/MOH 102 ParaNOx : off NO/NO2/O3/HNO3 --> LUT data format : nc --> LUT source dir : $ROOT/PARANOX/v2015-02 103 LightNOx : on NO --> CDF table : $ROOT/LIGHTNOX/v2014-07/light_dist.ott2010.dat 104 SoilNOx : on NO --> Use fertilizer NOx : true 106 DustGinoux : off DST1/DST2/DST3/DST4 107 SeaSalt : on SALA/SALC/SALACL/SALCCL/SALAAL/SALCAL/BrSALA/BrSALC/MOPO/MOPI --> SALA lower radius : 0.01 --> SALA upper radius : 0.5 --> SALC lower radius : 0.5 --> SALC upper radius : 8.0 --> Reduce SS cold water : true --> Blowing Snow SS : true --> NH FYI snow salinity : 0.1 --> NH MYI snow salinity : 0.05 --> SH FYI snow salinity : 0.03 --> SH MYI snow salinity : 0.015 --> NH snow age : 3.0 --> SH snow age : 1.5 --> N per snowflake : 5.0 --> Model sea salt Br- : false --> Br- mass ratio : 2.11e-3 108 MEGAN : on ISOP/ACET/PRPE/C2H4/ALD2/MOH/EOH/MTPA/MTPO/LIMO/SESQ/SOAP/SOAS --> Isoprene scaling : 1.0 --> CO2 inhibition : true --> CO2 conc (ppmv) : 390.0 --> Isoprene to SOAP : 0.015 --> Isoprene to SOAS : 0.015 --> Monoterp to SOAP : 0.050 --> Monoterp to SOAS : 0.050 --> Othrterp to SOAP : 0.050 --> Othrterp to SOAS : 0.050 111 GFED : on NO/CO/ALK4/ACET/MEK/ALD2/PRPE/C2H2/C2H4/C3H8/CH2O/C2H6/SO2/NH3/BCPO/BCPI/OCPO/OCPI/POG1/POG2/MTPA/BENZ/TOLU/XYLE/NAP/EOH/MOH/SOAP/FURA/PHEN/MVK/ISOP/ACTA/MGLY/GLYX/RCHO/HCOOH/ACR/STYR/C4H6 --> GFED4 : true --> GFED_daily : false --> GFED_3hourly : false --> Scaling_CO : 1.05 --> Scaling_NAP : 2.75e-4 --> hydrophilic BC : 0.2 --> hydrophilic OC : 0.5 --> fraction POG1 : 0.49 --> CO to SOAP : 0.013 --> GFED_subgrid_coag : false #see the note near scale factor 281 for the source of this emis factor 114 FINN : off NO/CO/ALK4/ACET/MEK/ALD2/PRPE/C2H2/C2H4/C3H8/CH2O/C2H6/SO2/NH3/BCPI/BCPO/OCPI/OCPO/GLYC/HAC/SOAP/STYR/EBZ/TMB/ROH/RCOOH/RCHO/ACTA/EOH/HCOOH/ISOP/MACR/MVK/MOH/R4N2/FURA --> FINN_daily : false --> Scaling_CO : 1.0 --> Scaling_SOAP : 0.013 --> hydrophilic BC : 0.2 --> hydrophilic OC : 0.5 --> FINN_subgrid_coag : false 117 Volcano : on SO2 --> Volcano_Source : AeroCom --> Volcano_Table : $ROOT/VOLCANO/v2021-09/$YYYY/$MM/so2_volcanic_emissions_Carns.$YYYY$MM$DD.rc --> Volcano_Climatology : $ROOT/VOLCANO/v2021-09/so2_volcanic_emissions_CARN_v202005.degassing_only.rc 120 Inorg_Iodine : on HOI/I2 --> Emit HOI : true --> Emit I2 : true 125 DustL23M : on DSTbin1/DSTbin2/DSTbin3/DSTbin4/DSTbin5/DSTbin6/DSTbin7 --> Mass tuning factor : 2.35e-4 ############################################################################## # Mass tuning factors are resolution and met-source dependent # See https://github.com/geoschem/geos-chem/pull/2946#issuecomment-3465876899 # --> Mass tuning factor: 6.794E-03 # C24 GEOS-FP # --> Mass tuning factor: 4.402E-03 # C48 GEOS-FP # --> Mass tuning factor: 3.533E-03 # C90 GEOS-FP # --> Mass tuning factor: 3.081E-03 # C180 GEOS-FP # --> Mass tuning factor: 2.924E-03 # C360 GEOS-FP # --> Mass tuning factor: 4.231E-03 # C30 GEOS-IT # --> Mass tuning factor: 3.308E-03 # C48 GEOS-IT # --> Mass tuning factor: 2.614E-03 # C90 GEOS-IT # --> Mass tuning factor: 2.924E-03 # C180 GEOS-IT # --> Mass tuning factor: 7.944E-03 # C24 MERRA-2 # --> Mass tuning factor: 4.253E-03 # C48 MERRA-2 # --> Mass tuning factor: 4.341E-03 # C90 MERRA-2 # --> Mass tuning factor: 3.932E-03 # C180 MERRA-2 ############################################################################## 126 DustAlk : off DSTALbin1/DSTALbin2/DSTALbin3/DSTALbin4/DSTALbin5/DSTALbin6/DSTALbin7 # ----- EXTENSIONS FOR TOMAS SIMULATIONS ONLY---------------------------------- 130 TOMAS_Jeagle : off SS01/SS02/SS03/SS04/SS05/SS06/SS07/SS08/SS09/SS10/SS11/SS12/SS13/SS14/SS15/SS16/SS17/SS18/SS19/SS20/SS21/SS22/SS23/SS24/SS25/SS26/SS27/SS28/SS29/SS30/SS31/SS32/SS33/SS34/SS35/SS36/SS37/SS38/SS39/SS40 131 TOMAS_DustDead : off DUST01/DUST02/DUST03/DUST04/DUST05/DUST06/DUST07/DUST08/DUST09/DUST10/DUST11/DUST12/DUST13/DUST14/DUST15/DUST16/DUST17/DUST18/DUST19/DUST20/DUST21/DUST22/DUST23/DUST24/DUST25/DUST26/DUST27/DUST28/DUST29/DUST30/DUST31/DUST32/DUST33/DUST34/DUST35/DUST36/DUST37/DUST38/DUST39/DUST40 --> Mass tuning factor : 4.7586e-4 ### END SECTION EXTENSION SWITCHES ### ############################################################################### ### BEGIN SECTION BASE EMISSIONS ############################################################################### # ExtNr Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Species ScalIDs Cat Hier (((EMISSIONS #============================================================================== # --- APEI (Canada) --- #============================================================================== (((APEI 0 APEI_NO $ROOT/APEI/v2016-11/APEI.0.1x0.1.nc NOx 1989-2014/1/1/0 RF xy kg/m2/s NO 25/1002/115 1 30 0 APEI_CO $ROOT/APEI/v2016-11/APEI.0.1x0.1.nc CO 1989-2014/1/1/0 RF xy kg/m2/s CO 26/52/1002 1 30 0 APEI_SOAP - - - - - - SOAP 26/52/1002/280 1 30 0 APEI_SO2 $ROOT/APEI/v2016-11/APEI.0.1x0.1.nc SOx 1989-2014/1/1/0 RF xy kg/m2/s SO2 60/1002 1 30 0 APEI_SO4 - - - - - - SO4 60/65/1002 1 30 0 APEI_pFe - - - - - - pFe 60/68/1002 1 30 0 APEI_NH3 $ROOT/APEI/v2016-11/APEI.0.1x0.1.nc NH3 1989-2014/1/1/0 RF xy kg/m2/s NH3 1002 1 30 0 APEI_BCPI $ROOT/APEI/v2016-11/APEI.0.1x0.1.nc EC 1989-2014/1/1/0 RF xy kg/m2/s BCPI 70/1002 1 30 0 APEI_BCPO $ROOT/APEI/v2016-11/APEI.0.1x0.1.nc EC 1989-2014/1/1/0 RF xy kg/m2/s BCPO 71/1002 1 30 0 APEI_OCPI $ROOT/APEI/v2016-11/APEI.0.1x0.1.nc OC 1989-2014/1/1/0 RF xy kg/m2/s OCPI 72/1002 1 30 0 APEI_OCPO $ROOT/APEI/v2016-11/APEI.0.1x0.1.nc OC 1989-2014/1/1/0 RF xy kg/m2/s OCPO 73/1002 1 30 0 APEI_POG1 - - - - - - POG1 74/76/1002 1 30 0 APEI_POG2 - - - - - - POG2 74/77/1002 1 30 )))APEI #============================================================================== # --- EPA NEI2016 v1 (USA) --- # # NOTES: # * Barron Henderson wrote, "The EPA emission modeling platform always # includes our best estimate of that year's emissions for Canada and Mexico # (othpt, othar, ptfire_oth). Using that estimate is likely good. However, # that can lead to a discontinuity in Mexico and Canada." # - By default only emissions over the CONUS are used (via Mask #1007) # - To include emissions over Canada and Mexico, users may revert to the old # US mask file $ROOT/MASKS/v2018-09/USA_LANDMASK_NEI2011_0.1x0.1.20160921.nc # * The base year of these emissions is 2016 and emissions are scaled to # 2002-2020 using data from the EPA Trends Report for Tier 1 CAPS (obtained # 21 Sep 2021). # - See NEI2016/v2021-06/national_tier1_caps+HEMCOscaling.xlsx for details. # - Cl2 and HCl emissions are only available for 2016 because those species # aren't included in the Tier 1 CAPS file/ #============================================================================== (((NEI2016_MONMEAN 0 EPA16_BCPI__afdustPEC $ROOT/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__afdustPEC $ROOT/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__afdustPNA $ROOT/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__afdustPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__afdustPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__afdustPOC $ROOT/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__afdustPOC $ROOT/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__afdustPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__afdustPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_SO4__afdustPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_afdust_adj_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_ACET__agACET $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_ALD2__agALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__agALDX $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__agBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_C2H4__agETH $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__agETHA $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__agETOH $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__agFORM $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_PRPE__agIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__agKET $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__agMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__agNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_PRPE__agOLE $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__agPAR $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_C3H8__agPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_TOLU__agTOL $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__agXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_ag_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__airportsACET $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__airportsACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__airportsALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__airportsALDX $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__airportsBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__airportsCO $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__airportsSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__airportsETH $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__airportsETHA $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__airportsETOH $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__airportsFORM $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__airportsHONO $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__airportsIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__airportsKET $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__airportsMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NO__airportsNO $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__airportsNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__airportsOLE $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__airportsPAR $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__airportsPEC $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__airportsPEC $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__airportsPNA $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__airportsPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__airportsPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__airportsPOC $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__airportsPOC $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__airportsPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__airportsPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__airportsPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__airportsPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__airportsSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__airportspFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__airportsSULF $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__airportsTOL $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__airportsXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_airports_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__nonptACET $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__nonptACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__nonptALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__nonptALDX $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__nonptBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_Cl2__nonptCL2 $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf CL2 2016/1-12/1/0 R xy kg/m2/s Cl2 1007 1 50 0 EPA16_CO__nonptCO $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__nonptSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__nonptETH $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__nonptETHA $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__nonptETOH $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__nonptFORM $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HCl__nonptHCL $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf HCL 2016/1-12/1/0 R xy kg/m2/s HCl 1007 1 50 0 EPA16_HNO2__nonptHONO $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__nonptIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__nonptKET $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__nonptMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__nonptNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__nonptNO $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__nonptNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__nonptOLE $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__nonptPAR $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__nonptPEC $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__nonptPEC $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__nonptPNA $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__nonptPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__nonptPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__nonptPOC $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__nonptPOC $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__nonptPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__nonptPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__nonptPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__nonptPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__nonptSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__nonptpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__nonptSULF $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__nonptTOL $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__nonptXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_nonpt_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__nonroadACET $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__nonroadACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__nonroadALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__nonroadALDX $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__nonroadBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__nonroadCO $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__nonroadSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__nonroadETH $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__nonroadETHA $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__nonroadETOH $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__nonroadFORM $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__nonroadHONO $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__nonroadIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__nonroadKET $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__nonroadMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__nonroadNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__nonroadNO $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__nonroadNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__nonroadOLE $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__nonroadPAR $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__nonroadPEC $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__nonroadPEC $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__nonroadPNA $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__nonroadPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__nonroadPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__nonroadPOC $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__nonroadPOC $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__nonroadPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__nonroadPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__nonroadPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__nonroadPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__nonroadSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__nonroadspFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__nonroadSULF $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__nonroadTOL $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__nonroadXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_nonroad_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__npogACET $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__npogACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__npogALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__npogALDX $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__npogBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_Cl2__npogCL2 $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf CL2 2016/1-12/1/0 R xy kg/m2/s Cl2 1007 1 50 0 EPA16_CO__npogCO $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__npogSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__npogETH $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__npogETHA $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__npogETOH $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__npogFORM $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__npogHONO $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__npogIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__npogKET $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__npogMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__npogNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__npogNO $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__npogNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__npogOLE $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__npogPAR $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__npogPEC $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__npogPEC $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__npogPNA $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__npogPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__npogPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__npogPOC $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__npogPOC $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__npogPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__npogPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__npogPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__npogPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__npogSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__npogpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__npogSULF $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__npogTOL $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__npogXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_np_oilgas_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__onroadACET $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__onroadACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__onroadALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__onroadALDX $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__onroadBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__onroadCO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__onroadSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__onroadETH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__onroadETHA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__onroadETOH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__onroadFORM $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__onroadHONO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__onroadIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__onroadKET $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__onroadMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__onroadNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__onroadNO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__onroadNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__onroadOLE $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__onroadPAR $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__onroadPEC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__onroadPEC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__onroadPNA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__onroadPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__onroadPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__onroadPOC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__onroadPOC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__onroadPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__onroadPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__onroadPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__onroadPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__onroadSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__onroadpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_TOLU__onroadTOL $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__onroadXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__onroad_caACET $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__onroad_caACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__onroad_caALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__onroad_caALDX $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__onroad_caBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__onroad_caCO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP_onroad__caSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__onroad_caETH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__onroad_caETHA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__onroad_caETOH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__onroad_caFORM $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__onroad_caHONO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__onroad_caIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__onroad_caKET $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__onroad_caMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__onroad_caNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__onroad_caNO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__onroad_caNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__onroad_caOLE $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__onroad_caPAR $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__onroad_caPEC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__onroad_caPEC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__onroad_caPNA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__onroad_caPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__onroad_caPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__onroad_caPOC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__onroad_caPOC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__onroad_caPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__onroad_caPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__onroad_caPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__onroad_caPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__onroad_caSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__onroad_capFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_TOLU__onroad_caTOL $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__onroad_caXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_ca_adj_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__railACET $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__railACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__railALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__railALDX $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__railBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__railCO $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__railSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__railETH $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__railETHA $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__railETOH $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__railFORM $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__railHONO $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__railIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__railKET $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__railMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__railNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__railNO $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__railNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__railOLE $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__railPAR $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__railPEC $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__railPEC $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__railPNA $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__railPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__railPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__railPOC $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__railPOC $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__railPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__railPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__railPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__railPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__railSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__railpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__railSULF $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__railTOL $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__railXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_rail_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__rwcACET $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__rwcACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__rwcALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__rwcALDX $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__rwcBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_Cl2__rwcCL2 $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf CL2 2016/1-12/1/0 R xy kg/m2/s Cl2 1007 1 50 0 EPA16_CO__rwcCO $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__rwcSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__rwcETH $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__rwcETHA $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__rwcETOH $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__rwcFORM $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__rwcHONO $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__rwcIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__rwcKET $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__rwcMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__rwcNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__rwcNO $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__rwcNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__rwcOLE $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__rwcPAR $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__rwcPEC $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__rwcPEC $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__rwcPNA $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__rwcPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__rwcPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__rwcPOC $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__rwcPOC $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__rwcPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__rwcPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__rwcPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__rwcPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__rwcSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__rwcpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__rwcSULF $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__rwcTOL $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__rwcXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_rwc_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__c1c2ACET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xyz kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_ALD2__c1c2ALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xyz kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__c1c2ALDX $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xyz kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__c1c2BENZ $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xyz kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__c1c2CO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xyz kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__clc2SOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__c1c2ETH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__c1c2ETHA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__c1c2ETOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xyz kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__c1c2FORM $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xyz kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__c1c2HONO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__c1c2IOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__c1c2KET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xyz kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__c1c2MEOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xyz kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__c1c2NH3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xyz kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__c1c2NO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xyz kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__c1c2NO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xyz kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__c1c2OLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__c1c2PAR $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xyz kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__c1c2PEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__c1c2PEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__c1c2PNA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__c1c2PNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xyz kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__c1c2PNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xyz kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__c1c2POC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__c1c2POC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__clc2POC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__clc2POC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__c1c2PRPA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xyz kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__c1c2PSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__c1c2SO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xyz kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__clcpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__c1c2SULF $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__c1c2TOL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xyz kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__c1c2XYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c1c2_12_0pt1degree_3D_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xyz kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__c3ACET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xyz kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_ALD2__c3ALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xyz kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__c3ALDX $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xyz kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__c3BENZ $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xyz kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__c3CO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xyz kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__c3SOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__c3ETH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__c3ETHA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__c3ETOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xyz kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__c3FORM $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xyz kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__c3HONO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__c3IOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__c3KET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xyz kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__c3MEOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xyz kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__c3NH3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xyz kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__c3NO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xyz kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__c3NO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xyz kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__c3OLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__c3PAR $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xyz kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__c3PEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__c3PEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__c3PNA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__c3PNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xyz kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__c3PNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xyz kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__c3POC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__c3POC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__c3POC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__c3POC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__c3PRPA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xyz kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__c3PSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__c3SO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xyz kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__c2pFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__c3SULF $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__c3TOL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xyz kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__c3XYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_cmv_c3_12_0pt1degree_3D_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xyz kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__pteguACET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xyz kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__pteguACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xyz kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__pteguALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xyz kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__pteguALDX $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xyz kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__pteguBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xyz kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_Cl2__pteguCL2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf CL2 2016/1-12/1/0 R xyz kg/m2/s Cl2 1007 1 50 0 EPA16_CO__pteguCO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xyz kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__pteguSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__pteguETH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__pteguETHA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__pteguETOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xyz kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__pteguFORM $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xyz kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HCl__pteguHCL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf HCL 2016/1-12/1/0 R xyz kg/m2/s HCl 1007 1 50 0 EPA16_HNO2__pteguHONO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__pteguIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__pteguKET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xyz kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__pteguMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xyz kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__pteguNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xyz kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__pteguNO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xyz kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__pteguNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xyz kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__pteguOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__pteguPAR $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xyz kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__pteguPEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__pteguPEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__pteguPNA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__pteguPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xyz kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__pteguPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xyz kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__pteguPOC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__pteguPOC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__pteguPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__pteguPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__pteguPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xyz kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__pteguPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__pteguSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xyz kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__ptegupFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__pteguSULF $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__pteguTOL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xyz kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__pteguXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptegu_0pt1degree_3D_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xyz kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__ptogACET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xyz kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__ptogACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xyz kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__ptogALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xyz kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__ptogALDX $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xyz kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__ptogBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xyz kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_Cl2__ptogCL2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf CL2 2016/1-12/1/0 R xyz kg/m2/s Cl2 1007 1 50 0 EPA16_CO__ptogCO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xyz kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__ptogSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__ptogETH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__ptogETHA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__ptogETOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xyz kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__ptogFORM $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xyz kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HCl__ptogHCL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf HCL 2016/1-12/1/0 R xyz kg/m2/s HCl 1007 1 50 0 EPA16_HNO2__ptogHONO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__ptogIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__ptogKET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xyz kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__ptogMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xyz kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__ptogNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xyz kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__ptogNO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xyz kgNO2/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__ptogNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xyz kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__ptogOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__ptogPAR $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xyz kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__ptogPEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__ptogPEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__ptogPNA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__ptogPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xyz kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__ptogPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xyz kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__ptogPOC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__ptogPOC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__ptogPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__ptogPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__ptogPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xyz kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__ptogPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__ptogSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xyz kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__ptogpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__ptogSULF $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__ptogTOL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xyz kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__ptogXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_pt_oilgas_allinln_0pt1degree_3D_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xyz kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__ptnonipmACET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xyz kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__ptnonipmACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xyz kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__ptnonipmALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xyz kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__ptnonipmALDX $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xyz kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__ptnonipmBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xyz kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_Cl2__ptnonipmCL2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf CL2 2002-2020/1-12/1/0 R xyz kg/m2/s Cl2 1007 1 50 0 EPA16_CO__ptnonipmCO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xyz kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__ptnonipmSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__ptnonipmETH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__ptnonipmETHA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xyz kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__ptnonipmETOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xyz kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__ptnonipmFORM $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xyz kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HCl__ptnonipmHCL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf HCL 2002-2020/1-12/1/0 R xyz kg/m2/s HCl 1007 1 50 0 EPA16_HNO2__ptnonipmHONO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__ptnonipmIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__ptnonipmKET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xyz kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__ptnonipmMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xyz kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__ptnonipmNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xyz kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__ptnonipmNO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xyz kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__ptnonipmNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xyz kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__ptnonipmOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xyz kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__ptnonipmPAR $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xyz kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__ptnonipmPEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__ptnonipmPEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xyz kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__ptnonipmPNA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xyz kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__ptnonipmPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xyz kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__ptnonipmPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xyz kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__ptnonipmPOC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__ptnonipmPOC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xyz kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__ptnonipmPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__ptnonipmPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__ptnonipmPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xyz kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__ptnonipmPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__ptnonipmSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xyz kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__ptnonipmpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__ptnonipmSULF $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xyz kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__ptnonipmTOL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xyz kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__ptnonipmXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_ptnonipm_allinln_0pt1degree_3D_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xyz kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__onroad_canACET $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_ALD2__onroad_canALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__onroad_canALDX $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__onroad_canBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__onroad_canCO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__onroad_canSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__onroad_canETH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__onroad_canETHA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__onroad_canETOH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__onroad_canFORM $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__onroad_canHONO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__onroad_canIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__onroad_canKET $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__onroad_canMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__onroad_canNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__onroad_canNO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__onroad_canNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__onroad_canOLE $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__onroad_canPAR $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__onroad_canPEC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__onroad_canPEC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__onroad_canPNA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__onroad_canPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__onroad_canPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__onroad_canPOC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__onroad_canPOC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__onroad_canPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__onroad_canPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__onroad_canPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__onroad_canPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__onroad_canSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__onroad_canpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__onroad_canSULF $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__onroad_canTOL $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__onroad_canXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_can_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_ACET__onroad_mexACET $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_MACR__onroad_mexACROLEIN $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf ACROLEIN 2002-2020/1-12/1/0 RF xy kg/m2/s ACR 26/213/254/1007 1 50 0 EPA16_ALD2__onroad_mexALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__onroad_mexALDX $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__onroad_mexBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__onroad_mexCO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__onroad_mexSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__onroad_mexETH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__onroad_mexETHA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__onroad_mexETOH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__onroad_mexFORM $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__onroad_mexHONO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__onroad_mexIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__onroad_mexKET $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__onroad_mexMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__onroad_mexNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__onroad_mexNO $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__onroad_mexNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__onroad_mexOLE $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__onroad_mexPAR $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__onroad_mexPEC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__onroad_mexPEC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__onroad_mexPNA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__onroad_mexPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__onroad_mexPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__onroad_mexPOC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__onroad_mexPOC $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__onroad_mexPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__onroad_mexPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__onroad_mexPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__onroad_mexPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__onroad_mexSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__onroad_mexpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__onroad_mexSULF $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__onroad_mexTOL $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__onroad_mexXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_onroad_mex_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_BCPI__othafdustPEC $ROOT/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__othafdustPEC $ROOT/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__othafdustPNA $ROOT/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__othafdustPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__othafdustPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__othafdustPOC $ROOT/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__othafdustPOC $ROOT/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__othafdustPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__othafdustPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_SO4__othafdustPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_othafdust_adj_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_ACET__otharACET $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_ALD2__otharALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__otharALDX $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__otharBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__otharCO $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__otharSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__otharETH $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__otharETHA $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__otharETOH $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__otharFORM $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__otharHONO $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__otharIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__otharKET $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__otharMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__otharNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__otharNO $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__otharNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__otharOLE $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__otharPAR $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__otharPEC $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__otharPEC $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__otharPNA $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__otharPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__otharPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__otharPOC $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__otharPOC $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__otharPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__otharPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__otharPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__otharPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__otharSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__otharpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__otharSULF $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__otharTOL $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__otharXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_othar_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 0 EPA16_BCPI__othptdustPEC $ROOT/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__othptdustPEC $ROOT/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__othptdustPNA $ROOT/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__othptdustPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__othptdustPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__othptdustPOC $ROOT/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__othptdustPOC $ROOT/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__othptdustPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__othptdustPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_SO4__othptdustPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_othptdust_adj_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_ACET__othptACET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf ACET 2002-2020/1-12/1/0 RF xy kg/m2/s ACET 26/213/254/1007 1 50 0 EPA16_ALD2__othptALD2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf ALD2 2002-2020/1-12/1/0 RF xy kg/m2/s ALD2 26/213/254/1007 1 50 0 EPA16_RCHO__othptALDX $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf ALDX 2002-2020/1-12/1/0 RF xy kg/m2/s RCHO 26/213/254/1007 1 50 0 EPA16_BENZ__othptBENZ $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf BENZ 2002-2020/1-12/1/0 RF xy kg/m2/s BENZ 26/213/254/1007 1 50 0 EPA16_CO__othptCO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf CO 2002-2020/1-12/1/0 RF xy kg/m2/s CO 26/211/252/1007 1 50 0 EPA16_SOAP__othptSOAP - - - - - - SOAP 26/211/252/1007/280 1 50 0 EPA16_C2H4__othptETH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf ETH 2002-2020/1-12/1/0 RF xy kg/m2/s C2H4 26/213/254/1007 1 50 0 EPA16_C2H6__othptETHA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf ETHA 2002-2020/1-12/1/0 RF xy kg/m2/s C2H6 26/217/254/1007 1 50 0 EPA16_EOH__othptETOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf ETOH 2002-2020/1-12/1/0 RF xy kg/m2/s EOH 26/213/254/1007 1 50 0 EPA16_CH2O__othptFORM $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf FORM 2002-2020/1-12/1/0 RF xy kg/m2/s CH2O 26/213/254/1007 1 50 0 EPA16_HNO2__othptHONO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf HONO 2002-2020/1-12/1/0 RF xy kg/m2/s HNO2 25/210/251/1007 1 50 0 EPA16_PRPE__othptIOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf IOLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_MEK__othptKET $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf KET 2002-2020/1-12/1/0 RF xy kg/m2/s MEK 26/214/254/1007 1 50 0 EPA16_MOH__othptMEOH $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf MEOH 2002-2020/1-12/1/0 RF xy kg/m2/s MOH 26/213/254/1007 1 50 0 EPA16_NH3__othptNH3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf NH3 2002-2020/1-12/1/0 RF xy kg/m2/s NH3 26/213/253/1007 1 50 0 EPA16_NO__othptNO $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf NO 2002-2020/1-12/1/0 RF xy kg/m2/s NO 115/25/210/251/1007 1 50 0 EPA16_NO2__othptNO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf NO2 2002-2020/1-12/1/0 RF xy kg/m2/s NO2 25/210/251/1007 1 50 0 EPA16_PRPE__othptOLE $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf OLE 2002-2020/1-12/1/0 RF xy kg/m2/s PRPE 26/215/254/1007 1 50 0 EPA16_ALK4__othptPAR $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf PAR 2002-2020/1-12/1/0 RF xy kg/m2/s ALK4 26/212/254/1007 1 50 0 EPA16_BCPI__othptPEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPI 26/221/256/1007/70 1 50 0 EPA16_BCPO__othptPEC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf PEC 2002-2020/1-12/1/0 RF xy kg/m2/s BCPO 26/221/256/1007/71 1 50 0 EPA16_HNO4__othptPNA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf PNA 2002-2020/1-12/1/0 RF xy kg/m2/s HNO4 26/213/251/1007 1 50 0 EPA16_NH4__othptPNH4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf PNH4 2002-2020/1-12/1/0 RF xy kg/m2/s NH4 26/218/255/1007 1 50 0 EPA16_NIT__othptPNO3 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf PNO3 2002-2020/1-12/1/0 RF xy kg/m2/s NIT 26/218/255/1007 1 50 0 EPA16_OCPI__othptPOC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPI 26/222/256/1007/72 1 50 0 EPA16_OCPO__othptPOC $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf POC 2002-2020/1-12/1/0 RF xy kg/m2/s OCPO 26/222/256/1007/73 1 50 0 EPA16_POG1__othptPOC - - - - - - POG1 26/222/256/1007/74/76 1 50 0 EPA16_POG2__othptPOC - - - - - - POG2 26/222/256/1007/74/77 1 50 0 EPA16_C3H8__othptPRPA $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf PRPA 2002-2020/1-12/1/0 RF xy kg/m2/s C3H8 26/216/254/1007 1 50 0 EPA16_SO4__othptPSO4 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf PSO4 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_SO2__othptSO2 $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf SO2 2002-2020/1-12/1/0 RF xy kg/m2/s SO2 26/218/255/1007 1 50 0 EPA16_pFe__othptpFe - - - - - - pFe 26/218/255/1007/69 1 50 0 EPA16_SO4__othptSULF $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf SULF 2002-2020/1-12/1/0 RF xy kg/m2/s SO4 26/219/255/1007 1 50 0 EPA16_TOLU__othptTOL $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf TOL 2002-2020/1-12/1/0 RF xy kg/m2/s TOLU 26/213/254/1007 1 50 0 EPA16_XYLE__othptXYLMN $ROOT/NEI2016/v2021-06/2016fh_16j_emln_othpt_0pt1degree_month_$MM.ncf XYLMN 2002-2020/1-12/1/0 RF xy kg/m2/s XYLE 26/213/254/1007 1 50 )))NEI2016_MONMEAN #============================================================================== # --- DICE-Africa emission inventory (Marais and Wiedinmyer, ES&T, 2016) --- # # DICE-Africa includes regional (Africa) emissions of biofuel and diffuse # anthropogenic emissions from cars and motorcycles, biofuels, charcoal making # and use, backup generators, agricultural waste burning for cooking, gas # flares, and ad-hoc/informal oil refining. # # Other pollution sources (formal industry, power generation using fossil # fuels) are from the EDGAR v4.3 inventory for CO, SO2, NH3, NOx BC, and OC. # # NMVOCs from sources not accounted for in DICE-Africa aren't included here, # as these emissions are likely to be low compared to the DICE pollution # sources and RETRO v1 as implemented in GEOS-Chem doesn't distinguish # emissions by sector/activity. # # Emissions for 2013 are defined below, but DICE-Africa also includes # emissions for 2006. Developers recommend using population change to # estimate emissions, if users want to use annual trends in pollutant # emissions to estimate in other years. #============================================================================== (((DICE_Africa # ------------------------ # Cars # ------------------------ 0 DICE_CARS_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/1008 1 60 0 DICE_CARS_SOAP - - - - - - SOAP 26/1008/280 1 60 0 DICE_CARS_NO $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc NO 2013/1/1/0 C xy g/m2/yr NO 25/30/1008 1 60 0 DICE_CARS_ALK4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc ALK4 2013/1/1/0 C xy g/m2/yr ALK4 26/1008 1 60 0 DICE_CARS_ISOP $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc ISOP 2013/1/1/0 C xy g/m2/yr ISOP 26/1008 1 60 0 DICE_CARS_ACET $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc ACET 2013/1/1/0 C xy g/m2/yr ACET 26/1008 1 60 0 DICE_CARS_MEK $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc MEK 2013/1/1/0 C xy g/m2/yr MEK 26/1008 1 60 0 DICE_CARS_ALD2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc ALD2 2013/1/1/0 C xy g/m2/yr ALD2 26/1008 1 60 0 DICE_CARS_RCHO $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc RCHO 2013/1/1/0 C xy g/m2/yr RCHO 26/1008 1 60 0 DICE_CARS_PRPE $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc PRPE 2013/1/1/0 C xy g/m2/yr PRPE 26/1008 1 60 0 DICE_CARS_CH2O $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc CH2O 2013/1/1/0 C xy g/m2/yr CH2O 26/1008 1 60 0 DICE_CARS_SO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc SO2 2013/1/1/0 C xy g/m2/yr SO2 31/78/1008 1 60 0 DICE_CARS_SO4 - - - - - - SO4 31/63/1008 1 60 0 DICE_CARS_pFe - - - - - - pFe 31/78/66/1008 1 60 0 DICE_CARS_C2H4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc C2H4 2013/1/1/0 C xy g/m2/yr C2H4 26/1008 1 60 0 DICE_CARS_BENZ $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc BENZ 2013/1/1/0 C xy g/m2/yr BENZ 26/1008 1 60 0 DICE_CARS_TOLU $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc TOLU 2013/1/1/0 C xy g/m2/yr TOLU 26/1008 1 60 0 DICE_CARS_XYLE $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc XYLE 2013/1/1/0 C xy g/m2/yr XYLE 26/1008 1 60 0 DICE_CARS_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 1 60 0 DICE_CARS_BCPO - - - - - - BCPO 71/1008 1 60 0 DICE_CARS_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-cars-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008/330 1 60 0 DICE_CARS_OCPO - - - - - - OCPO 73/1008/330 1 60 0 DICE_CARS_POG1 - - - - - - POG1 74/76/1008/330 1 60 0 DICE_CARS_POG2 - - - - - - POG2 74/77/1008/330 1 60 # ------------------------ # Motorcycles # ------------------------ 0 DICE_MOTORCYCLES_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/1008 1 60 0 DICE_MOTORCYCLES_SOAP - - - - - - SOAP 26/1008/280 1 60 0 DICE_MOTORCYCLES_NO $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc NO 2013/1/1/0 C xy g/m2/yr NO 25/30/1008 1 60 0 DICE_MOTORCYCLES_SO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc SO2 2013/1/1/0 C xy g/m2/yr SO2 31/78/1008 1 60 0 DICE_MOTORCYCLES_SO4 - - - - - - SO4 31/63/1008 1 60 0 DICE_MOTORCYCLES_pFe - - - - - - pFe 31/78/66/1008 1 60 0 DICE_MOTORCYCLES_ALK4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc ALK4 2013/1/1/0 C xy g/m2/yr ALK4 26/1008 1 60 0 DICE_MOTORCYCLES_MEK $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc MEK 2013/1/1/0 C xy g/m2/yr MEK 26/1008 1 60 0 DICE_MOTORCYCLES_ALD2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc ALD2 2013/1/1/0 C xy g/m2/yr ALD2 26/1008 1 60 0 DICE_MOTORCYCLES_PRPE $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc PRPE 2013/1/1/0 C xy g/m2/yr PRPE 26/1008 1 60 0 DICE_MOTORCYCLES_CH2O $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc CH2O 2013/1/1/0 C xy g/m2/yr CH2O 26/1008 1 60 0 DICE_MOTORCYCLES_BENZ $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc BENZ 2013/1/1/0 C xy g/m2/yr BENZ 26/1008 1 60 0 DICE_MOTORCYCLES_TOLU $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc TOLU 2013/1/1/0 C xy g/m2/yr TOLU 26/1008 1 60 0 DICE_MOTORCYCLES_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 1 60 0 DICE_MOTORCYCLES_BCPO - - - - - - BCPO 71/1008 1 60 0 DICE_MOTORCYCLES_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-motorcycles-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 1 60 0 DICE_MOTORCYCLES_OCPO - - - - - - OCPO 73/1008 1 60 0 DICE_MOTORCYCLES_POG1 - - - - - - POG1 74/76/1008 1 60 0 DICE_MOTORCYCLES_POG2 - - - - - - POG2 74/77/1008 1 60 # ------------------------ # Backup generators # ------------------------ 0 DICE_BACKUPGEN_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/1008 1 60 0 DICE_BACKUPGEN_SOAP - - - - - - SOAP 26/1008/280 1 60 0 DICE_BACKUPGEN_NO $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc NO 2013/1/1/0 C xy g/m2/yr NO 25/30/1008 1 60 0 DICE_BACKUPGEN_NO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc NO2 2013/1/1/0 C xy g/m2/yr NO2 25/30/1008 1 60 0 DICE_BACKUPGEN_SO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc SO2 2013/1/1/0 C xy g/m2/yr SO2 31/78/1008 1 60 0 DICE_BACKUPGEN_SO4 - - - - - - SO4 31/63/1008 1 60 0 DICE_BACKUPGEN_pFe - - - - - - pFe 31/78/66/1008 1 60 0 DICE_BACKUPGEN_ACET $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc ACET 2013/1/1/0 C xy g/m2/yr ACET 26/1008 1 60 0 DICE_BACKUPGEN_MEK $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc MEK 2013/1/1/0 C xy g/m2/yr MEK 26/1008 1 60 0 DICE_BACKUPGEN_ALD2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc ALD2 2013/1/1/0 C xy g/m2/yr ALD2 26/1008 1 60 0 DICE_BACKUPGEN_RCHO $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc RCHO 2013/1/1/0 C xy g/m2/yr RCHO 26/1008 1 60 0 DICE_BACKUPGEN_MVK $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc MVK 2013/1/1/0 C xy g/m2/yr MVK 26/1008 1 60 0 DICE_BACKUPGEN_MACR $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc MACR 2013/1/1/0 C xy g/m2/yr MACR 26/1008 1 60 0 DICE_BACKUPGEN_CH2O $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc CH2O 2013/1/1/0 C xy g/m2/yr CH2O 26/1008 1 60 #0 DICE_BACKUPGEN_MGLY $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc MGLY 2013/1/1/0 C xy g/m2/yr MGLY 26/1008 1 60 #0 DICE_BACKUPGEN_GLYX $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc GLYX 2013/1/1/0 C xy g/m2/yr GLYX 26/1008 1 60 0 DICE_BACKUPGEN_C2H4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc C2H4 2013/1/1/0 C xy g/m2/yr C2H4 26/1008 1 60 0 DICE_BACKUPGEN_BENZ $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc BENZ 2013/1/1/0 C xy g/m2/yr BENZ 26/1008 1 60 0 DICE_BACKUPGEN_TOLU $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc TOLU 2013/1/1/0 C xy g/m2/yr TOLU 26/1008 1 60 0 DICE_BACKUPGEN_XYLE $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc XYLE 2013/1/1/0 C xy g/m2/yr XYLE 26/1008 1 60 0 DICE_BACKUPGEN_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 1 60 0 DICE_BACKUPGEN_BCPO - - - - - - BCPO 71/1008 1 60 0 DICE_BACKUPGEN_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-generator-use-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 1 60 0 DICE_BACKUPGEN_OCPO - - - - - - OCPO 73/1008 1 60 0 DICE_BACKUPGEN_POG1 - - - - - - POG1 74/76/1008 1 60 0 DICE_BACKUPGEN_POG2 - - - - - - POG2 74/77/1008 1 60 # ------------------------ # Charcoal production # ------------------------ 0 DICE_CHARCOALPROD_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/1008/320 1 60 0 DICE_CHARCOALPROD_SOAP - - - - - - SOAP 26/1008/280/320 1 60 0 DICE_CHARCOALPROD_NO $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc NO 2013/1/1/0 C xy g/m2/yr NO 25/30/1008/320 1 60 0 DICE_CHARCOALPROD_NH3 $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc NH3 2013/1/1/0 C xy g/m2/yr NH3 1008/320 1 60 0 DICE_CHARCOALPROD_PRPE $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc PRPE 2013/1/1/0 C xy g/m2/yr PRPE 26/1008/320 1 60 0 DICE_CHARCOALPROD_CH2O $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc CH2O 2013/1/1/0 C xy g/m2/yr CH2O 26/1008/320 1 60 0 DICE_CHARCOALPROD_C2H6 $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc C2H6 2013/1/1/0 C xy g/m2/yr C2H6 26/1008/320 1 60 0 DICE_CHARCOALPROD_HAC $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc HAC 2013/1/1/0 C xy g/m2/yr HAC 26/1008/320 1 60 0 DICE_CHARCOALPROD_C2H2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc C2H2 2013/1/1/0 C xy g/m2/yr C2H2 26/1008/320 1 60 0 DICE_CHARCOALPROD_C2H4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc C2H4 2013/1/1/0 C xy g/m2/yr C2H4 26/1008/320 1 60 0 DICE_CHARCOALPROD_TOLU $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc TOLU 2013/1/1/0 C xy g/m2/yr TOLU 26/1008/320 1 60 0 DICE_CHARCOALPROD_HCOOH $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc HCOOH 2013/1/1/0 C xy g/m2/yr HCOOH 26/1008/320 1 60 0 DICE_CHARCOALPROD_MOH $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc MOH 2013/1/1/0 C xy g/m2/yr MOH 26/1008/320 1 60 0 DICE_CHARCOALPROD_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008/320 1 60 0 DICE_CHARCOALPROD_BCPO - - - - - - BCPO 71/1008/320 1 60 0 DICE_CHARCOALPROD_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-production-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008/320 1 60 0 DICE_CHARCOALPROD_OCPO - - - - - - OCPO 73/1008/320 1 60 0 DICE_CHARCOALPROD_POG1 - - - - - - POG1 74/76/1008/320 1 60 0 DICE_CHARCOALPROD_POG2 - - - - - - POG2 74/77/1008/320 1 60 # ------------------------ # Flaring of natural gas # ------------------------ 0 DICE_GASFLARE_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/1008 1 60 0 DICE_GASFLARE_SOAP - - - - - - SOAP 26/1008/280 1 60 0 DICE_GASFLARE_NO $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc NO 2013/1/1/0 C xy g/m2/yr NO 25/30/1008 1 60 0 DICE_GASFLARE_ALK4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc ALK4 2013/1/1/0 C xy g/m2/yr ALK4 26/1008 1 60 0 DICE_GASFLARE_ALD2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc ALD2 2013/1/1/0 C xy g/m2/yr ALD2 26/1008 1 60 0 DICE_GASFLARE_PRPE $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc PRPE 2013/1/1/0 C xy g/m2/yr PRPE 26/1008 1 60 0 DICE_GASFLARE_CH2O $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc CH2O 2013/1/1/0 C xy g/m2/yr CH2O 26/1008 1 60 0 DICE_GASFLARE_BENZ $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc BENZ 2013/1/1/0 C xy g/m2/yr BENZ 26/1008 1 60 0 DICE_GASFLARE_TOLU $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc TOLU 2013/1/1/0 C xy g/m2/yr TOLU 26/1008 1 60 0 DICE_GASFLARE_XYLE $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc XYLE 2013/1/1/0 C xy g/m2/yr XYLE 26/1008 1 60 0 DICE_GASFLARE_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 1 60 0 DICE_GASFLARE_BCPO - - - - - - BCPO 71/1008 1 60 0 DICE_GASFLARE_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-gas-flares-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 1 60 0 DICE_GASFLARE_OCPO - - - - - - OCPO 73/1008 1 60 0 DICE_GASFLARE_POG1 - - - - - - POG1 74/76/1008 1 60 0 DICE_GASFLARE_POG2 - - - - - - POG2 74/77/1008 1 60 # ------------------------------ # Ag waste burning for energy # ------------------------------ 0 DICE_AGBURNING_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/1008 2 60 0 DICE_AGBURNING_SOAP - - - - - - SOAP 26/1008/280 2 60 0 DICE_AGBURNING_NO $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc NO 2013/1/1/0 C xy g/m2/yr NO 25/30/1008 2 60 0 DICE_AGBURNING_NO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc NO2 2013/1/1/0 C xy g/m2/yr NO2 25/30/1008 2 60 0 DICE_AGBURNING_SO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc SO2 2013/1/1/0 C xy g/m2/yr SO2 31/78/1008 2 60 0 DICE_AGBURNING_SO4 - - - - - - SO4 31/63/1008 2 60 0 DICE_AGBURNING_pFe - - - - - - pFe 31/78/66/1008 2 60 0 DICE_AGBURNING_NH3 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc NH3 2013/1/1/0 C xy g/m2/yr NH3 1008 2 60 0 DICE_AGBURNING_ALK4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc ALK4 2013/1/1/0 C xy g/m2/yr ALK4 26/1008 2 60 0 DICE_AGBURNING_ISOP $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc ISOP 2013/1/1/0 C xy g/m2/yr ISOP 26/1008 2 60 0 DICE_AGBURNING_ACET $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc ACET 2013/1/1/0 C xy g/m2/yr ACET 26/1008 2 60 0 DICE_AGBURNING_MEK $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc MEK 2013/1/1/0 C xy g/m2/yr MEK 26/1008 2 60 0 DICE_AGBURNING_ALD2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc ALD2 2013/1/1/0 C xy g/m2/yr ALD2 26/1008 2 60 0 DICE_AGBURNING_MVK $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc MVK 2013/1/1/0 C xy g/m2/yr MVK 26/1008 2 60 0 DICE_AGBURNING_MACR $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc MACR 2013/1/1/0 C xy g/m2/yr MACR 26/1008 2 60 0 DICE_AGBURNING_PRPE $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc PRPE 2013/1/1/0 C xy g/m2/yr PRPE 26/1008 2 60 0 DICE_AGBURNING_C3H8 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc C3H8 2013/1/1/0 C xy g/m2/yr C3H8 26/1008 2 60 0 DICE_AGBURNING_CH2O $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc CH2O 2013/1/1/0 C xy g/m2/yr CH2O 26/1008 2 60 0 DICE_AGBURNING_C2H6 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc C2H6 2013/1/1/0 C xy g/m2/yr C2H6 26/1008 2 60 0 DICE_AGBURNING_HAC $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc HAC 2013/1/1/0 C xy g/m2/yr HAC 26/1008 2 60 0 DICE_AGBURNING_GLYC $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc GLYC 2013/1/1/0 C xy g/m2/yr GLYC 26/1008 2 60 0 DICE_AGBURNING_MOH $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc MOH 2013/1/1/0 C xy g/m2/yr MOH 26/1008 2 60 #0 DICE_AGBURNING_MGLY $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc MGLY 2013/1/1/0 C xy g/m2/yr MGLY 26/1008 2 60 #0 DICE_AGBURNING_APIN $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc APIN 2013/1/1/0 C xy g/m2/yr APIN 26/1008 2 60 0 DICE_AGBURNING_C2H2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc C2H2 2013/1/1/0 C xy g/m2/yr C2H2 26/1008 2 60 0 DICE_AGBURNING_C2H4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc C2H4 2013/1/1/0 C xy g/m2/yr C2H4 26/1008 2 60 0 DICE_AGBURNING_BENZ $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc BENZ 2013/1/1/0 C xy g/m2/yr BENZ 26/1008 2 60 0 DICE_AGBURNING_TOLU $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc TOLU 2013/1/1/0 C xy g/m2/yr TOLU 26/1008 2 60 0 DICE_AGBURNING_XYLE $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc XYLE 2013/1/1/0 C xy g/m2/yr XYLE 26/1008 2 60 0 DICE_AGBURNING_HCOOH $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc HCOOH 2013/1/1/0 C xy g/m2/yr HCOOH 26/1008 2 60 0 DICE_AGBURNING_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 2 60 0 DICE_AGBURNING_BCPO - - - - - g/m2/yr BCPO 71/1008 2 60 0 DICE_AGBURNING_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-crop-residue-use-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 2 60 0 DICE_AGBURNING_OCPO - - - - - - OCPO 73/1008 2 60 0 DICE_AGBURNING_POG1 - - - - - - POG1 74/76/1008 2 60 0 DICE_AGBURNING_POG2 - - - - - - POG2 74/77/1008 2 60 # ------------------------------ # Charcoal use # ------------------------------ 0 DICE_CHARCOALUSE_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/1008 2 60 0 DICE_CHARCOALUSE_SOAP - - - - - - SOAP 26/1008/280 2 60 0 DICE_CHARCOALUSE_NO $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc NO 2013/1/1/0 C xy g/m2/yr NO 25/30/1008 2 60 0 DICE_CHARCOALUSE_ALK4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc ALK4 2013/1/1/0 C xy g/m2/yr ALK4 26/1008 2 60 0 DICE_CHARCOALUSE_NH3 $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc NH3 2013/1/1/0 C xy g/m2/yr NH3 1008 2 60 0 DICE_CHARCOALUSE_PRPE $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc PRPE 2013/1/1/0 C xy g/m2/yr PRPE 26/1008 2 60 0 DICE_CHARCOALUSE_CH2O $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc CH2O 2013/1/1/0 C xy g/m2/yr CH2O 26/1008 2 60 0 DICE_CHARCOALUSE_C2H6 $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc C2H6 2013/1/1/0 C xy g/m2/yr C2H6 26/1008 2 60 0 DICE_CHARCOALUSE_C2H2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc C2H2 2013/1/1/0 C xy g/m2/yr C2H2 26/1008 2 60 0 DICE_CHARCOALUSE_C2H4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc C2H4 2013/1/1/0 C xy g/m2/yr C2H4 26/1008 2 60 0 DICE_CHARCOALUSE_HCOOH $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc HCOOH 2013/1/1/0 C xy g/m2/yr HCOOH 26/1008 2 60 0 DICE_CHARCOALUSE_MOH $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc MOH 2013/1/1/0 C xy g/m2/yr MOH 26/1008 2 60 0 DICE_CHARCOALUSE_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 2 60 0 DICE_CHARCOALUSE_BCPO - - - - - - BCPO 71/1008 2 60 0 DICE_CHARCOALUSE_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-charcoal-use-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 2 60 0 DICE_CHARCOALUSE_OCPO - - - - - - OCPO 73/1008 2 60 0 DICE_CHARCOALUSE_POG1 - - - - - - POG1 74/76/1008 2 60 0 DICE_CHARCOALUSE_POG2 - - - - - - POG2 74/77/1008 2 60 # ------------------------------ # Kerosene use # ------------------------------ 0 DICE_KEROSENE_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-kerosene-use-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/1008 1 60 0 DICE_KEROSENE_SOAP - - - - - - SOAP 26/1008/280 1 60 0 DICE_KEROSENE_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-kerosene-use-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 1 60 0 DICE_KEROSENE_BCPO - - - - - - BCPO 71/1008 1 60 0 DICE_KEROSENE_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-kerosene-use-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 1 60 0 DICE_KEROSENE_OCPO - - - - - - OCPO 73/1008 1 60 0 DICE_KEROSENE_POG1 - - - - - - POG1 74/76/1008 1 60 0 DICE_KEROSENE_POG2 - - - - - - POG2 74/77/1008 1 60 # ------------------------------ # Artisanal oil refining # ------------------------------ 0 DICE_OILREFINING_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/1008 1 60 0 DICE_OILREFINING_SOAP - - - - - - SOAP 26/1008/280 1 60 0 DICE_OILREFINING_NO $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc NO 2013/1/1/0 C xy g/m2/yr NO 25/30/1008 1 60 0 DICE_OILREFINING_SO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc SO2 2013/1/1/0 C xy g/m2/yr SO2 31/78/1008 1 60 0 DICE_OILREFINING_SO4 - - - - - - SO4 31/63/1008 1 60 0 DICE_OILREFINING_pFe - - - - - - pFe 31/78/66/1008 1 60 0 DICE_OILREFINING_ALK4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc ALK4 2013/1/1/0 C xy g/m2/yr ALK4 26/1008 1 60 0 DICE_OILREFINING_ACET $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc ACET 2013/1/1/0 C xy g/m2/yr ACET 26/1008 1 60 0 DICE_OILREFINING_MEK $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc MEK 2013/1/1/0 C xy g/m2/yr MEK 26/1008 1 60 0 DICE_OILREFINING_ALD2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc ALD2 2013/1/1/0 C xy g/m2/yr ALD2 26/1008 1 60 0 DICE_OILREFINING_RCHO $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc RCHO 2013/1/1/0 C xy g/m2/yr RCHO 26/1008 1 60 0 DICE_OILREFINING_C3H8 $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc C3H8 2013/1/1/0 C xy g/m2/yr C3H8 26/1008 1 60 0 DICE_OILREFINING_CH2O $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc CH2O 2013/1/1/0 C xy g/m2/yr CH2O 26/1008 1 60 0 DICE_OILREFINING_C2H6 $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc C2H6 2013/1/1/0 C xy g/m2/yr C2H6 26/1008 1 60 0 DICE_OILREFINING_BENZ $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc BENZ 2013/1/1/0 C xy g/m2/yr BENZ 26/1008 1 60 0 DICE_OILREFINING_TOLU $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc TOLU 2013/1/1/0 C xy g/m2/yr TOLU 26/1008 1 60 0 DICE_OILREFINING_XYLE $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc XYLE 2013/1/1/0 C xy g/m2/yr XYLE 26/1008 1 60 0 DICE_OILREFINING_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 1 60 0 DICE_OILREFINING_BCPO - - - - - - BCPO 71/1008 1 60 0 DICE_OILREFINING_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-adhoc-oil-refining-2006-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 1 60 0 DICE_OILREFINING_OCPO - - - - - - OCPO 73/1008 1 60 0 DICE_OILREFINING_POG1 - - - - - - POG1 74/76/1008 1 60 0 DICE_OILREFINING_POG2 - - - - - - POG2 74/77/1008 1 60 # -------------------------- # Household fuelwood use # -------------------------- 0 DICE_HOUSEFUELWOOD_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/1008 2 60 0 DICE_HOUSEFUELWOOD_SOAP - - - - - - SOAP 26/1008/280 2 60 0 DICE_HOUSEFUELWOOD_NO $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc NO 2013/1/1/0 C xy g/m2/yr NO 25/30/1008 2 60 0 DICE_HOUSEFUELWOOD_NO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc NO2 2013/1/1/0 C xy g/m2/yr NO2 25/30/1008 2 60 0 DICE_HOUSEFUELWOOD_SO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc SO2 2013/1/1/0 C xy g/m2/yr SO2 31/78/1008 2 60 0 DICE_HOUSEFUELWOOD_SO4 - - - - - - SO4 31/63/1008 2 60 0 DICE_HOUSEFUELWOOD_pFe - - - - - - pFe 31/78/66/1008 2 60 0 DICE_HOUSEFUELWOOD_NH3 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc NH3 2013/1/1/0 C xy g/m2/yr NH3 1008 2 60 0 DICE_HOUSEFUELWOOD_ALK4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc ALK4 2013/1/1/0 C xy g/m2/yr ALK4 26/1008 2 60 0 DICE_HOUSEFUELWOOD_ISOP $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc ISOP 2013/1/1/0 C xy g/m2/yr ISOP 26/1008 2 60 0 DICE_HOUSEFUELWOOD_MEK $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc MEK 2013/1/1/0 C xy g/m2/yr MEK 26/1008 2 60 0 DICE_HOUSEFUELWOOD_ALD2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc ALD2 2013/1/1/0 C xy g/m2/yr ALD2 26/1008 2 60 0 DICE_HOUSEFUELWOOD_MVK $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc MVK 2013/1/1/0 C xy g/m2/yr MVK 26/1008 2 60 0 DICE_HOUSEFUELWOOD_PRPE $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc PRPE 2013/1/1/0 C xy g/m2/yr PRPE 26/1008 2 60 0 DICE_HOUSEFUELWOOD_CH2O $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc CH2O 2013/1/1/0 C xy g/m2/yr CH2O 26/1008 2 60 0 DICE_HOUSEFUELWOOD_C2H6 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc C2H6 2013/1/1/0 C xy g/m2/yr C2H6 26/1008 2 60 0 DICE_HOUSEFUELWOOD_HAC $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc HAC 2013/1/1/0 C xy g/m2/yr HAC 26/1008 2 60 0 DICE_HOUSEFUELWOOD_GLYC $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc GLYC 2013/1/1/0 C xy g/m2/yr GLYC 26/1008 2 60 0 DICE_HOUSEFUELWOOD_MOH $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc MOH 2013/1/1/0 C xy g/m2/yr MOH 26/1008 2 60 #0 DICE_HOUSEFUELWOOD_MGLY $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc MGLY 2013/1/1/0 C xy g/m2/yr MGLY 26/1008 2 60 #0 DICE_HOUSEFUELWOOD_APIN $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc APIN 2013/1/1/0 C xy g/m2/yr APIN 26/1008 2 60 0 DICE_HOUSEFUELWOOD_C2H2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc C2H2 2013/1/1/0 C xy g/m2/yr C2H2 26/1008 2 60 0 DICE_HOUSEFUELWOOD_C2H4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc C2H4 2013/1/1/0 C xy g/m2/yr C2H4 26/1008 2 60 0 DICE_HOUSEFUELWOOD_BENZ $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc BENZ 2013/1/1/0 C xy g/m2/yr BENZ 26/1008 2 60 0 DICE_HOUSEFUELWOOD_TOLU $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc TOLU 2013/1/1/0 C xy g/m2/yr TOLU 26/1008 2 60 0 DICE_HOUSEFUELWOOD_XYLE $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc XYLE 2013/1/1/0 C xy g/m2/yr XYLE 26/1008 2 60 0 DICE_HOUSEFUELWOOD_HCOOH $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc HCOOH 2013/1/1/0 C xy g/m2/yr HCOOH 26/1008 2 60 0 DICE_HOUSEFUELWOOD_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 2 60 0 DICE_HOUSEFUELWOOD_BCPO - - - - - - BCPO 71/1008 2 60 0 DICE_HOUSEFUELWOOD_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-household-fuelwood-use-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 2 60 0 DICE_HOUSEFUELWOOD_OCPO - - - - - - OCPO 73/1008 2 60 0 DICE_HOUSEFUELWOOD_POG1 - - - - - - POG1 74/76/1008 2 60 0 DICE_HOUSEFUELWOOD_POG2 - - - - - - POG2 74/77/1008 2 60 # --------------------------------- # Commercial (other) fuelwood use # --------------------------------- 0 DICE_OTHERFUELWOOD_CO $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc CO 2013/1/1/0 C xy g/m2/yr CO 26/1008 2 60 0 DICE_OTHERFUELWOOD_SOAP - - - - - - SOAP 26/1008/280 2 60 0 DICE_OTHERFUELWOOD_NO $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc NO 2013/1/1/0 C xy g/m2/yr NO 25/30/1008 2 60 0 DICE_OTHERFUELWOOD_NO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc NO2 2013/1/1/0 C xy g/m2/yr NO2 25/30/1008 2 60 0 DICE_OTHERFUELWOOD_SO2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc SO2 2013/1/1/0 C xy g/m2/yr SO2 31/78/1008 2 60 0 DICE_OTHERFUELWOOD_SO4 - - - - - - SO4 31/63/1008 2 60 0 DICE_OTHERFUELWOOD_pFe - - - - - - pFe 31/78/66/1008 2 60 0 DICE_OTHERFUELWOOD_NH3 $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc NH3 2013/1/1/0 C xy g/m2/yr NH3 1008 2 60 0 DICE_OTHERFUELWOOD_ALK4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc ALK4 2013/1/1/0 C xy g/m2/yr ALK4 26/1008 2 60 0 DICE_OTHERFUELWOOD_ISOP $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc ISOP 2013/1/1/0 C xy g/m2/yr ISOP 26/1008 2 60 0 DICE_OTHERFUELWOOD_MEK $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc MEK 2013/1/1/0 C xy g/m2/yr MEK 26/1008 2 60 0 DICE_OTHERFUELWOOD_ALD2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc ALD2 2013/1/1/0 C xy g/m2/yr ALD2 26/1008 2 60 0 DICE_OTHERFUELWOOD_MVK $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc MVK 2013/1/1/0 C xy g/m2/yr MVK 26/1008 2 60 0 DICE_OTHERFUELWOOD_PRPE $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc PRPE 2013/1/1/0 C xy g/m2/yr PRPE 26/1008 2 60 0 DICE_OTHERFUELWOOD_CH2O $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc CH2O 2013/1/1/0 C xy g/m2/yr CH2O 26/1008 2 60 0 DICE_OTHERFUELWOOD_C2H6 $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc C2H6 2013/1/1/0 C xy g/m2/yr C2H6 26/1008 2 60 0 DICE_OTHERFUELWOOD_HAC $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc HAC 2013/1/1/0 C xy g/m2/yr HAC 26/1008 2 60 0 DICE_OTHERFUELWOOD_GLYC $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc GLYC 2013/1/1/0 C xy g/m2/yr GLYC 26/1008 2 60 0 DICE_OTHERFUELWOOD_MOH $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc MOH 2013/1/1/0 C xy g/m2/yr MOH 26/1008 2 60 #0 DICE_OTHERFUELWOOD_MGLY $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc MGLY 2013/1/1/0 C xy g/m2/yr MGLY 26/1008 2 60 #0 DICE_OTHERFUELWOOD_APIN $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc APIN 2013/1/1/0 C xy g/m2/yr APIN 26/1008 2 60 0 DICE_OTHERFUELWOOD_C2H2 $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc C2H2 2013/1/1/0 C xy g/m2/yr C2H2 26/1008 2 60 0 DICE_OTHERFUELWOOD_C2H4 $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc C2H4 2013/1/1/0 C xy g/m2/yr C2H4 26/1008 2 60 0 DICE_OTHERFUELWOOD_BENZ $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc BENZ 2013/1/1/0 C xy g/m2/yr BENZ 26/1008 2 60 0 DICE_OTHERFUELWOOD_TOLU $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc TOLU 2013/1/1/0 C xy g/m2/yr TOLU 26/1008 2 60 0 DICE_OTHERFUELWOOD_XYLE $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc XYLE 2013/1/1/0 C xy g/m2/yr XYLE 26/1008 2 60 0 DICE_OTHERFUELWOOD_HCOOH $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc HCOOH 2013/1/1/0 C xy g/m2/yr HCOOH 26/1008 2 60 0 DICE_OTHERFUELWOOD_BCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc BC 2013/1/1/0 C xy g/m2/yr BCPI 70/1008 2 60 0 DICE_OTHERFUELWOOD_BCPO - - - - - - BCPO 71/1008 2 60 0 DICE_OTHERFUELWOOD_OCPI $ROOT/DICE_Africa/v2016-10/DICE-Africa-other-fuelwood-use-2013-v01-4Oct2016.nc OC 2013/1/1/0 C xy g/m2/yr OCPI 72/1008 2 60 0 DICE_OTHERFUELWOOD_OCPO - - - - - - OCPO 73/1008 2 60 0 DICE_OTHERFUELWOOD_POG1 - - - - - - POG1 74/76/1008 2 60 0 DICE_OTHERFUELWOOD_POG2 - - - - - - POG2 74/77/1008 2 60 # --------------------------------------------------- # Efficient Combustion Emissions from EDGAR # This makes up for sources that DICE-Africa lacks # --------------------------------------------------- 0 AF_EDGAR_BCPI_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.POW.0.1x0.1.nc emi_bc 1970-2010/1/1/0 RF xy kg/m2/s BCPI 1201/1008/70 1 60 0 AF_EDGAR_BCPO_POW - - - - - - BCPO 1201/1008/71 1 60 0 AF_EDGAR_BCPI_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.ENG.0.1x0.1.nc emi_bc 1970-2010/1/1/0 RF xy kg/m2/s BCPI 1202/1008/70 1 60 0 AF_EDGAR_BCPO_ENG - - - - - - BCPO 1202/1008/71 1 60 0 AF_EDGAR_BCPI_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.IND.0.1x0.1.nc emi_bc 1970-2010/1/1/0 RF xy kg/m2/s BCPI 1203/1008/70 1 60 0 AF_EDGAR_BCPO_IND - - - - - - BCPO 1203/1008/71 1 60 0 AF_EDGAR_BCPI_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.TNG.0.1x0.1.nc emi_bc 1970-2010/1/1/0 RF xy kg/m2/s BCPI 1205/1008/70 1 60 0 AF_EDGAR_BCPO_TNG - - - - - - BCPO 1205/1008/71 1 60 0 AF_EDGAR_BCPI_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.SWD.0.1x0.1.nc emi_bc 1970-2010/1/1/0 RF xy kg/m2/s BCPI 1211/1008/70 1 60 0 AF_EDGAR_BCPO_SWD - - - - - - BCPO 1211/1008/71 1 60 0 AF_EDGAR_CO_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.POW.0.1x0.1.nc emi_co 1970-2010/1/1/0 RF xy kg/m2/s CO 1201/26/52/1008 1 60 0 AF_EDGAR_SOAP_POW - - - - - - SOAP 1201/26/52/1008/280 1 60 0 AF_EDGAR_CO_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.ENG.0.1x0.1.nc emi_co 1970-2010/1/1/0 RF xy kg/m2/s CO 1202/26/52/1008 1 60 0 AF_EDGAR_SOAP_ENG - - - - - - SOAP 1202/26/52/1008/280 1 60 0 AF_EDGAR_CO_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.IND.0.1x0.1.nc emi_co 1970-2010/1/1/0 RF xy kg/m2/s CO 1203/26/52/1008 1 60 0 AF_EDGAR_SOAP_IND - - - - - - SOAP 1203/26/52/1008/280 1 60 0 AF_EDGAR_CO_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.TNG.0.1x0.1.nc emi_co 1970-2010/1/1/0 RF xy kg/m2/s CO 1205/26/52/1008 1 60 0 AF_EDGAR_SOAP_TNG - - - - - - SOAP 1205/26/52/1008/280 1 60 0 AF_EDGAR_CO_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.PPA.0.1x0.1.nc emi_co 1970-2010/1/1/0 RF xy kg/m2/s CO 1207/26/52/1008 1 60 0 AF_EDGAR_SOAP_PPA - - - - - - SOAP 1207/26/52/1008/280 1 60 0 AF_EDGAR_CO_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.SWD.0.1x0.1.nc emi_co 1970-2010/1/1/0 RF xy kg/m2/s CO 1211/26/52/1008 1 60 0 AF_EDGAR_SOAP_SWD - - - - - - SOAP 1211/26/52/1008/280 1 60 0 AF_EDGAR_NO_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.POW.0.1x0.1.nc emi_nox 1970-2010/1/1/0 RF xy kg/m2/s NO 1201/25/115/1008 1 60 0 AF_EDGAR_NO_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.ENG.0.1x0.1.nc emi_nox 1970-2010/1/1/0 RF xy kg/m2/s NO 1202/25/115/1008 1 60 0 AF_EDGAR_NO_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.IND.0.1x0.1.nc emi_nox 1970-2010/1/1/0 RF xy kg/m2/s NO 1203/25/115/1008 1 60 0 AF_EDGAR_NO_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.TNG.0.1x0.1.nc emi_nox 1970-2010/1/1/0 RF xy kg/m2/s NO 1205/25/115/1008 1 60 0 AF_EDGAR_NO_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.PPA.0.1x0.1.nc emi_nox 1970-2010/1/1/0 RF xy kg/m2/s NO 1207/25/115/1008 1 60 0 AF_EDGAR_NO_AGR $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.AGR.0.1x0.1.nc emi_nox 1970-2010/1/1/0 RF xy kg/m2/s NO 1208/25/115/1008 1 60 0 AF_EDGAR_NO_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.SWD.0.1x0.1.nc emi_nox 1970-2010/1/1/0 RF xy kg/m2/s NO 1211/25/115/1008 1 60 0 AF_EDGAR_NH3_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.POW.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 RF xy kg/m2/s NH3 1201/1008 1 60 0 AF_EDGAR_NH3_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.ENG.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 RF xy kg/m2/s NH3 1202/1008 1 60 0 AF_EDGAR_NH3_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.IND.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 RF xy kg/m2/s NH3 1203/1008 1 60 0 AF_EDGAR_NH3_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.TNG.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 RF xy kg/m2/s NH3 1205/1008 1 60 0 AF_EDGAR_NH3_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.PPA.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 RF xy kg/m2/s NH3 1207/1008 1 60 0 AF_EDGAR_NH3_AGR $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.AGR.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 RF xy kg/m2/s NH3 1208/1008 1 60 0 AF_EDGAR_NH3_SOL $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.SOL.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 RF xy kg/m2/s NH3 1210/1008 1 60 0 AF_EDGAR_NH3_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.SWD.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 RF xy kg/m2/s NH3 1211/1008 1 60 0 AF_EDGAR_OCPI_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.POW.0.1x0.1.nc emi_oc 1970-2010/1/1/0 RF xy kg/m2/s OCPI 1201/1008/72 1 60 0 AF_EDGAR_OCPO_POW - - - - - - OCPO 1201/1008/73 1 60 0 AF_EDGAR_POG1_POW - - - - - - POG1 1201/1008/74/76 1 60 0 AF_EDGAR_POG2_POW - - - - - - POG2 1201/1008/74/77 1 60 0 AF_EDGAR_OCPI_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.ENG.0.1x0.1.nc emi_oc 1970-2010/1/1/0 RF xy kg/m2/s OCPI 1202/1008/72 1 60 0 AF_EDGAR_OCPO_ENG - - - - - - OCPO 1202/1008/73 1 60 0 AF_EDGAR_POG1_ENG - - - - - - POG1 1202/1008/74/76 1 60 0 AF_EDGAR_POG2_ENG - - - - - - POG2 1202/1008/74/77 1 60 0 AF_EDGAR_OCPI_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.IND.0.1x0.1.nc emi_oc 1970-2010/1/1/0 RF xy kg/m2/s OCPI 1203/1008/72 1 60 0 AF_EDGAR_OCPO_IND - - - - - - OCPO 1203/1008/73 1 60 0 AF_EDGAR_POG1_IND - - - - - - POG1 1203/1008/74/76 1 60 0 AF_EDGAR_POG2_IND - - - - - - POG2 1203/1008/74/77 1 60 0 AF_EDGAR_OCPI_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.TNG.0.1x0.1.nc emi_oc 1970-2010/1/1/0 RF xy kg/m2/s OCPI 1205/1008/72 1 60 0 AF_EDGAR_OCPO_TNG - - - - - - OCPO 1205/1008/73 1 60 0 AF_EDGAR_POG1_TNG - - - - - - POG1 1205/1008/74/76 1 60 0 AF_EDGAR_POG2_TNG - - - - - - POG2 1205/1008/74/77 1 60 0 AF_EDGAR_OCPI_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.SWD.0.1x0.1.nc emi_oc 1970-2010/1/1/0 RF xy kg/m2/s OCPI 1211/1008/72 1 60 0 AF_EDGAR_OCPO_SWD - - - - - - OCPO 1211/1008/73 1 60 0 AF_EDGAR_POG1_SWD - - - - - - POG1 1211/1008/74/76 1 60 0 AF_EDGAR_POG2_SWD - - - - - - POG2 1211/1008/74/77 1 60 0 AF_EDGAR_SO2_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.POW.0.1x0.1.nc emi_so2 1970-2010/1/1/0 RF xy kg/m2/s SO2 1201/1008 1 60 0 AF_EDGAR_SO4_POW - - - - - - SO4 1201/1008/63 1 60 0 AF_EDGAR_pFe_POW - - - - - - pFe 1201/1008/66 1 60 0 AF_EDGAR_SO2_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.ENG.0.1x0.1.nc emi_so2 1970-2010/1/1/0 RF xy kg/m2/s SO2 1202/1008 1 60 0 AF_EDGAR_SO4_ENG - - - - - - SO4 1202/1008/63 1 60 0 AF_EDGAR_pFe_ENG - - - - - - pFe 1202/1008/66 1 60 0 AF_EDGAR_SO2_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.IND.0.1x0.1.nc emi_so2 1970-2010/1/1/0 RF xy kg/m2/s SO2 1203/1008 1 60 0 AF_EDGAR_SO4_IND - - - - - - SO4 1203/1008/63 1 60 0 AF_EDGAR_pFe_IND - - - - - - pFe 1203/1008/66 1 60 0 AF_EDGAR_SO2_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.TNG.0.1x0.1.nc emi_so2 1970-2010/1/1/0 RF xy kg/m2/s SO2 1205/1008 1 60 0 AF_EDGAR_SO4_TNG - - - - - - SO4 1205/1008/63 1 60 0 AF_EDGAR_pFe_TNG - - - - - - pFe 1205/1008/66 1 60 0 AF_EDGAR_SO2_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.PPA.0.1x0.1.nc emi_so2 1970-2010/1/1/0 RF xy kg/m2/s SO2 1207/1008 1 60 0 AF_EDGAR_SO4_PPA - - - - - - SO4 1207/1008/63 1 60 0 AF_EDGAR_pFe_PPA - - - - - - pFe 1207/1008/66 1 60 0 AF_EDGAR_SO2_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.SWD.0.1x0.1.nc emi_so2 1970-2010/1/1/0 RF xy kg/m2/s SO2 1211/1008 1 60 0 AF_EDGAR_SO4_SWD - - - - - - SO4 1211/1008/63 1 60 0 AF_EDGAR_pFe_SWD - - - - - - pFe 1211/1008/66 1 60 )))DICE_Africa #============================================================================== # --- CEDS v2 --- # # %%% This is the default global inventory. You may select either CEDS, # EDGAR, HTAPv3 or CMIP6_SFC_LAND_ANTHRO for the global base emissions %%% #============================================================================== (((CEDSv2 0 CEDS_NO_AGR $ROOT/CEDS/v2021-06/$YYYY/NO-em-anthro_CMIP_CEDS_$YYYY.nc NO_agr 1750-2019/1-12/1/0 C xy kg/m2/s NO 2401 1 5 0 CEDS_NO_ENE $ROOT/CEDS/v2021-06/$YYYY/NO-em-anthro_CMIP_CEDS_$YYYY.nc NO_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s NO 2406/706/315 1 5 0 CEDS_NO_IND $ROOT/CEDS/v2021-06/$YYYY/NO-em-anthro_CMIP_CEDS_$YYYY.nc NO_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s NO 2407/707/316 1 5 0 CEDS_NO_TRA $ROOT/CEDS/v2021-06/$YYYY/NO-em-anthro_CMIP_CEDS_$YYYY.nc NO_tra 1750-2019/1-12/1/0 C xy kg/m2/s NO 2411/711 1 5 0 CEDS_NO_RCO $ROOT/CEDS/v2021-06/$YYYY/NO-em-anthro_CMIP_CEDS_$YYYY.nc NO_rco 1750-2019/1-12/1/0 C xy kg/m2/s NO 2409/709 1 5 0 CEDS_NO_SLV $ROOT/CEDS/v2021-06/$YYYY/NO-em-anthro_CMIP_CEDS_$YYYY.nc NO_slv 1750-2019/1-12/1/0 C xy kg/m2/s NO 2407/707 1 5 0 CEDS_NO_WST $ROOT/CEDS/v2021-06/$YYYY/NO-em-anthro_CMIP_CEDS_$YYYY.nc NO_wst 1750-2019/1-12/1/0 C xy kg/m2/s NO 25 1 5 0 CEDS_CO_AGR $ROOT/CEDS/v2021-06/$YYYY/CO-em-anthro_CMIP_CEDS_$YYYY.nc CO_agr 1750-2019/1-12/1/0 C xy kg/m2/s CO 2401 1 5 0 CEDS_SOAP_AGR - - - - - - SOAP 280/2401 1 5 0 CEDS_CO_ENE $ROOT/CEDS/v2021-06/$YYYY/CO-em-anthro_CMIP_CEDS_$YYYY.nc CO_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s CO 2406/706/315 1 5 0 CEDS_SOAP_ENE - - - - - - SOAP 280/2406/706/315 1 5 0 CEDS_CO_IND $ROOT/CEDS/v2021-06/$YYYY/CO-em-anthro_CMIP_CEDS_$YYYY.nc CO_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s CO 2407/707/316 1 5 0 CEDS_SOAP_IND - - - - - - SOAP 280/2407/707/316 1 5 0 CEDS_CO_TRA $ROOT/CEDS/v2021-06/$YYYY/CO-em-anthro_CMIP_CEDS_$YYYY.nc CO_tra 1750-2019/1-12/1/0 C xy kg/m2/s CO 2411/711 1 5 0 CEDS_SOAP_TRA - - - - - - SOAP 280/2411/711 1 5 0 CEDS_CO_RCO $ROOT/CEDS/v2021-06/$YYYY/CO-em-anthro_CMIP_CEDS_$YYYY.nc CO_rco 1750-2019/1-12/1/0 C xy kg/m2/s CO 2409/709 1 5 0 CEDS_SOAP_RCO - - - - - - SOAP 280/2409/709 1 5 0 CEDS_CO_SLV $ROOT/CEDS/v2021-06/$YYYY/CO-em-anthro_CMIP_CEDS_$YYYY.nc CO_slv 1750-2019/1-12/1/0 C xy kg/m2/s CO 2407/707 1 5 0 CEDS_SOAP_SLV - - - - - - SOAP 280/2407/707 1 5 0 CEDS_CO_WST $ROOT/CEDS/v2021-06/$YYYY/CO-em-anthro_CMIP_CEDS_$YYYY.nc CO_wst 1750-2019/1-12/1/0 C xy kg/m2/s CO 26 1 5 0 CEDS_SOAP_WST - - - - - - SOAP 26/280 1 5 0 CEDS_SO2_AGR $ROOT/CEDS/v2021-06/$YYYY/SO2-em-anthro_CMIP_CEDS_$YYYY.nc SO2_agr 1750-2019/1-12/1/0 C xy kg/m2/s SO2 2401 1 5 0 CEDS_SO4_AGR - - - - - - SO4 63/2401 1 5 0 CEDS_pFe_AGR - - - - - - pFe 66/2401 1 5 0 CEDS_SO2_ENE $ROOT/CEDS/v2021-06/$YYYY/SO2-em-anthro_CMIP_CEDS_$YYYY.nc SO2_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s SO2 2406/706/315 1 5 0 CEDS_SO4_ENE - - - - - - SO4 63/2406/706/315 1 5 0 CEDS_pFe_ENE - - - - - - pFe 66/2406/706/315 1 5 0 CEDS_SO2_IND $ROOT/CEDS/v2021-06/$YYYY/SO2-em-anthro_CMIP_CEDS_$YYYY.nc SO2_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s SO2 2407/707/316 1 5 0 CEDS_SO4_IND - - - - - - SO4 63/2407/707/316 1 5 0 CEDS_pFe_IND - - - - - - pFe 66/2407/707/316 1 5 0 CEDS_SO2_TRA $ROOT/CEDS/v2021-06/$YYYY/SO2-em-anthro_CMIP_CEDS_$YYYY.nc SO2_tra 1750-2019/1-12/1/0 C xy kg/m2/s SO2 2411/711 1 5 0 CEDS_SO4_TRA - - - - - - SO4 63/2411/711 1 5 0 CEDS_pFe_TRA - - - - - - pFe 66/2411/711 1 5 0 CEDS_SO2_RCO $ROOT/CEDS/v2021-06/$YYYY/SO2-em-anthro_CMIP_CEDS_$YYYY.nc SO2_rco 1750-2019/1-12/1/0 C xy kg/m2/s SO2 2409/709 1 5 0 CEDS_SO4_RCO - - - - - - SO4 63/2409/709 1 5 0 CEDS_pFe_RCO - - - - - - pFe 66/2409/709 1 5 0 CEDS_SO2_SLV $ROOT/CEDS/v2021-06/$YYYY/SO2-em-anthro_CMIP_CEDS_$YYYY.nc SO2_slv 1750-2019/1-12/1/0 C xy kg/m2/s SO2 2407/707 1 5 0 CEDS_SO4_SLV - - - - - - SO4 63/2407/707 1 5 0 CEDS_pFe_SLV - - - - - - pFe 66/2407/707 1 5 0 CEDS_SO2_WST $ROOT/CEDS/v2021-06/$YYYY/SO2-em-anthro_CMIP_CEDS_$YYYY.nc SO2_wst 1750-2019/1-12/1/0 C xy kg/m2/s SO2 - 1 5 0 CEDS_SO4_WST - - - - - - SO4 63 1 5 0 CEDS_pFe_WST - - - - - - pFe 66 1 5 0 CEDS_NH3_AGR $ROOT/CEDS/v2021-06/$YYYY/NH3-em-anthro_CMIP_CEDS_$YYYY.nc NH3_agr 1750-2019/1-12/1/0 C xy kg/m2/s NH3 2401 1 5 0 CEDS_NH3_ENE $ROOT/CEDS/v2021-06/$YYYY/NH3-em-anthro_CMIP_CEDS_$YYYY.nc NH3_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s NH3 2406/706/315 1 5 0 CEDS_NH3_IND $ROOT/CEDS/v2021-06/$YYYY/NH3-em-anthro_CMIP_CEDS_$YYYY.nc NH3_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s NH3 2407/707/316 1 5 0 CEDS_NH3_TRA $ROOT/CEDS/v2021-06/$YYYY/NH3-em-anthro_CMIP_CEDS_$YYYY.nc NH3_tra 1750-2019/1-12/1/0 C xy kg/m2/s NH3 2411/711 1 5 0 CEDS_NH3_RCO $ROOT/CEDS/v2021-06/$YYYY/NH3-em-anthro_CMIP_CEDS_$YYYY.nc NH3_rco 1750-2019/1-12/1/0 C xy kg/m2/s NH3 2409/709 1 5 0 CEDS_NH3_SLV $ROOT/CEDS/v2021-06/$YYYY/NH3-em-anthro_CMIP_CEDS_$YYYY.nc NH3_slv 1750-2019/1-12/1/0 C xy kg/m2/s NH3 2407/707 1 5 0 CEDS_NH3_WST $ROOT/CEDS/v2021-06/$YYYY/NH3-em-anthro_CMIP_CEDS_$YYYY.nc NH3_wst 1750-2019/1-12/1/0 C xy kg/m2/s NH3 - 1 5 0 CEDS_BCPI_AGR $ROOT/CEDS/v2021-06/$YYYY/BC-em-anthro_CMIP_CEDS_$YYYY.nc BC_agr 1750-2019/1-12/1/0 C xy kg/m2/s BCPI 70/2401 1 5 0 CEDS_BCPO_AGR - - - - - - BCPO 71/2401 1 5 0 CEDS_BCPI_ENE $ROOT/CEDS/v2021-06/$YYYY/BC-em-anthro_CMIP_CEDS_$YYYY.nc BC_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s BCPI 70/2406/706/315 1 5 0 CEDS_BCPO_ENE - - - - - - BCPO 71/2406/706/315 1 5 0 CEDS_BCPI_IND $ROOT/CEDS/v2021-06/$YYYY/BC-em-anthro_CMIP_CEDS_$YYYY.nc BC_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s BCPI 70/2407/707/316 1 5 0 CEDS_BCPO_IND - - - - - - BCPO 71/2407/707/316 1 5 0 CEDS_BCPI_TRA $ROOT/CEDS/v2021-06/$YYYY/BC-em-anthro_CMIP_CEDS_$YYYY.nc BC_tra 1750-2019/1-12/1/0 C xy kg/m2/s BCPI 70/2411/711 1 5 0 CEDS_BCPO_TRA - - - - - - BCPO 71/2411/711 1 5 0 CEDS_BCPI_RCO $ROOT/CEDS/v2021-06/$YYYY/BC-em-anthro_CMIP_CEDS_$YYYY.nc BC_rco 1750-2019/1-12/1/0 C xy kg/m2/s BCPI 70/2409/709 1 5 0 CEDS_BCPO_RCO - - - - - - BCPO 71/2409/709 1 5 0 CEDS_BCPI_SLV $ROOT/CEDS/v2021-06/$YYYY/BC-em-anthro_CMIP_CEDS_$YYYY.nc BC_slv 1750-2019/1-12/1/0 C xy kg/m2/s BCPI 70/2407/707 1 5 0 CEDS_BCPO_SLV - - - - - - BCPO 71/2407/707 1 5 0 CEDS_BCPI_WST $ROOT/CEDS/v2021-06/$YYYY/BC-em-anthro_CMIP_CEDS_$YYYY.nc BC_wst 1750-2019/1-12/1/0 C xy kg/m2/s BCPI 70 1 5 0 CEDS_BCPO_WST - - - - - - BCPO 71 1 5 0 CEDS_OCPI_AGR $ROOT/CEDS/v2021-06/$YYYY/OC-em-anthro_CMIP_CEDS_$YYYY.nc OC_agr 1750-2019/1-12/1/0 C xy kg/m2/s OCPI 72/2401 1 5 0 CEDS_OCPO_AGR - - - - - - OCPO 73/2401 1 5 0 CEDS_POG1_AGR - - - - - - POG1 74/76/2401 1 5 0 CEDS_POG2_AGR - - - - - - POG2 74/77/2401 1 5 0 CEDS_OCPI_ENE $ROOT/CEDS/v2021-06/$YYYY/OC-em-anthro_CMIP_CEDS_$YYYY.nc OC_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s OCPI 72/2406/706/315 1 5 0 CEDS_OCPO_ENE - - - - - - OCPO 73/2406/706/315 1 5 0 CEDS_POG1_ENE - - - - - - POG1 74/76/2406/706/315 1 5 0 CEDS_POG2_ENE - - - - - - POG2 74/77/2406/706/315 1 5 0 CEDS_OCPI_IND $ROOT/CEDS/v2021-06/$YYYY/OC-em-anthro_CMIP_CEDS_$YYYY.nc OC_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s OCPI 72/2407/707/316 1 5 0 CEDS_OCPO_IND - - - - - - OCPO 73/2407/707/316 1 5 0 CEDS_POG1_IND - - - - - - POG1 74/76/2407/707/316 1 5 0 CEDS_POG2_IND - - - - - - POG2 74/77/2407/707/316 1 5 0 CEDS_OCPI_TRA $ROOT/CEDS/v2021-06/$YYYY/OC-em-anthro_CMIP_CEDS_$YYYY.nc OC_tra 1750-2019/1-12/1/0 C xy kg/m2/s OCPI 72/2411/711 1 5 0 CEDS_OCPO_TRA - - - - - - OCPO 73/2411/711 1 5 0 CEDS_POG1_TRA - - - - - - POG1 74/76/2411/711 1 5 0 CEDS_POG2_TRA - - - - - - POG2 74/77/2411/711 1 5 0 CEDS_OCPI_RCO $ROOT/CEDS/v2021-06/$YYYY/OC-em-anthro_CMIP_CEDS_$YYYY.nc OC_rco 1750-2019/1-12/1/0 C xy kg/m2/s OCPI 72/2409/709 1 5 0 CEDS_OCPO_RCO - - - - - - OCPO 73/2409/709 1 5 0 CEDS_POG1_RCO - - - - - - POG1 74/76/2409/709 1 5 0 CEDS_POG2_RCO - - - - - - POG2 74/77/2409/709 1 5 0 CEDS_OCPI_SLV $ROOT/CEDS/v2021-06/$YYYY/OC-em-anthro_CMIP_CEDS_$YYYY.nc OC_slv 1750-2019/1-12/1/0 C xy kg/m2/s OCPI 72/2407/707 1 5 0 CEDS_OCPO_SLV - - - - - - OCPO 73/2407/707 1 5 0 CEDS_POG1_SLV - - - - - - POG1 74/76/2407/707 1 5 0 CEDS_POG2_SLV - - - - - - POG2 74/77/2407/707 1 5 0 CEDS_OCPI_WST $ROOT/CEDS/v2021-06/$YYYY/OC-em-anthro_CMIP_CEDS_$YYYY.nc OC_wst 1750-2019/1-12/1/0 C xy kg/m2/s OCPI 72 1 5 0 CEDS_OCPO_WST - - - - - - OCPO 73 1 5 0 CEDS_POG1_WST - - - - - - POG1 74/76 1 5 0 CEDS_POG2_WST - - - - - - POG2 74/77 1 5 # Comment out CO2 for fullchem simulations: CO2 not advected #0 CEDS_CO2_AGR $ROOT/CEDS/v2021-06/$YYYY/CO2-em-anthro_CMIP_CEDS_$YYYY.nc CO2_agr 1750-2019/1-12/1/0 C xy kg/m2/s CO2 - 1 5 #0 CEDS_CO2_ENE $ROOT/CEDS/v2021-06/$YYYY/CO2-em-anthro_CMIP_CEDS_$YYYY.nc CO2_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s CO2 315 1 5 #0 CEDS_CO2_IND $ROOT/CEDS/v2021-06/$YYYY/CO2-em-anthro_CMIP_CEDS_$YYYY.nc CO2_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s CO2 316 1 5 #0 CEDS_CO2_TRA $ROOT/CEDS/v2021-06/$YYYY/CO2-em-anthro_CMIP_CEDS_$YYYY.nc CO2_tra 1750-2019/1-12/1/0 C xy kg/m2/s CO2 - 1 5 #0 CEDS_CO2_RCO $ROOT/CEDS/v2021-06/$YYYY/CO2-em-anthro_CMIP_CEDS_$YYYY.nc CO2_rco 1750-2019/1-12/1/0 C xy kg/m2/s CO2 - 1 5 #0 CEDS_CO2_SLV $ROOT/CEDS/v2021-06/$YYYY/CO2-em-anthro_CMIP_CEDS_$YYYY.nc CO2_slv 1750-2019/1-12/1/0 C xy kg/m2/s CO2 - 1 5 #0 CEDS_CO2_WST $ROOT/CEDS/v2021-06/$YYYY/CO2-em-anthro_CMIP_CEDS_$YYYY.nc CO2_wst 1750-2019/1-12/1/0 C xy kg/m2/s CO2 - 1 5 # Comment out CH4 for fullchem simulations: do not use CH4 emissions # CEDS CH4 emissions are only available for 1970-2014 #0 CEDS_CH4_AGR $ROOT/CEDS/v2021-06/$YYYY/CH4-em-anthro_CMIP_CEDS_$YYYY.nc CH4_agr 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 1 5 #0 CEDS_CH4_ENE $ROOT/CEDS/v2021-06/$YYYY/CH4-em-anthro_CMIP_CEDS_$YYYY.nc CH4_ene 1970-2014/1-12/1/0 C xyL* kg/m2/s CH4 315 1 5 #0 CEDS_CH4_IND $ROOT/CEDS/v2021-06/$YYYY/CH4-em-anthro_CMIP_CEDS_$YYYY.nc CH4_ind 1970-2014/1-12/1/0 C xyL* kg/m2/s CH4 316 1 5 #0 CEDS_CH4_TRA $ROOT/CEDS/v2021-06/$YYYY/CH4-em-anthro_CMIP_CEDS_$YYYY.nc CH4_tra 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 1 5 #0 CEDS_CH4_RCO $ROOT/CEDS/v2021-06/$YYYY/CH4-em-anthro_CMIP_CEDS_$YYYY.nc CH4_rco 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 1 5 #0 CEDS_CH4_SLV $ROOT/CEDS/v2021-06/$YYYY/CH4-em-anthro_CMIP_CEDS_$YYYY.nc CH4_slv 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 1 5 #0 CEDS_CH4_WST $ROOT/CEDS/v2021-06/$YYYY/CH4-em-anthro_CMIP_CEDS_$YYYY.nc CH4_wst 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 1 5 # NOTE: EOH files in CEDS/v2021-06 are actually VOC1 (total alchohols) and are split into MOH, EOH, ROH here 0 CEDS_MOH_AGR $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_agr 1750-2019/1-12/1/0 C xy kg/m2/s MOH 90/2401 1 5 0 CEDS_EOH_AGR - - - - - - EOH 91/2401 1 5 0 CEDS_ROH_AGR - - - - - - ROH 92/2401 1 5 0 CEDS_MOH_ENE $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s MOH 90/2406/706/315 1 5 0 CEDS_EOH_ENE - - - - - - EOH 91/2406/706/315 1 5 0 CEDS_ROH_ENE - - - - - - ROH 92/2406/706/315 1 5 0 CEDS_MOH_IND $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s MOH 90/2407/707/316 1 5 0 CEDS_EOH_IND - - - - - - EOH 91/2407/707/316 1 5 0 CEDS_ROH_IND - - - - - - ROH 92/2407/707/316 1 5 0 CEDS_MOH_TRA $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_tra 1750-2019/1-12/1/0 C xy kg/m2/s MOH 90/2411/711 1 5 0 CEDS_EOH_TRA - - - - - - EOH 91/2411/711 1 5 0 CEDS_ROH_TRA - - - - - - ROH 92/2411/711 1 5 0 CEDS_MOH_RCO $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_rco 1750-2019/1-12/1/0 C xy kg/m2/s MOH 90/2409/709 1 5 0 CEDS_EOH_RCO - - - - - - EOH 91/2409/709 1 5 0 CEDS_ROH_RCO - - - - - - ROH 92/2409/709 1 5 0 CEDS_MOH_SLV $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_slv 1750-2019/1-12/1/0 C xy kg/m2/s MOH 90/2407/707 1 5 0 CEDS_EOH_SLV - - - - - - EOH 91/2407/707 1 5 0 CEDS_ROH_SLV - - - - - - ROH 92/2407/707 1 5 0 CEDS_MOH_WST $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_wst 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CEDS_EOH_WST - - - - - - EOH 26/91 1 5 0 CEDS_ROH_WST - - - - - - ROH 26/92 1 5 0 CEDS_C2H6_AGR $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_agr 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 2401 1 5 0 CEDS_C2H6_ENE $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s C2H6 2406/706/315 1 5 0 CEDS_C2H6_IND $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s C2H6 2407/707/316 1 5 0 CEDS_C2H6_TRA $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_tra 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 2411/711 1 5 0 CEDS_C2H6_RCO $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_rco 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 2409/709 1 5 0 CEDS_C2H6_SLV $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_slv 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 2407/707 1 5 0 CEDS_C2H6_WST $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_wst 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CEDS_C3H8_AGR $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_agr 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 2401 1 5 0 CEDS_C3H8_ENE $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s C3H8 2406/706/315 1 5 0 CEDS_C3H8_IND $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s C3H8 2407/707/316 1 5 0 CEDS_C3H8_TRA $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_tra 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 2411/711 1 5 0 CEDS_C3H8_RCO $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_rco 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 2409/709 1 5 0 CEDS_C3H8_SLV $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_slv 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 2407/707 1 5 0 CEDS_C3H8_WST $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_wst 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CEDS_C4H10_AGR $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_agr 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 2401 1 5 0 CEDS_C4H10_ENE $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s ALK4 2406/706/315 1 5 0 CEDS_C4H10_IND $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s ALK4 2407/707/316 1 5 0 CEDS_C4H10_TRA $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_tra 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 2411/711 1 5 0 CEDS_C4H10_RCO $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_rco 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 2409/709 1 5 0 CEDS_C4H10_SLV $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_slv 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 2407/707 1 5 0 CEDS_C4H10_WST $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_wst 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C5H12_AGR $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_agr 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 2401 1 5 0 CEDS_C5H12_ENE $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s ALK4 2406/706/315 1 5 0 CEDS_C5H12_IND $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s ALK4 2407/707/316 1 5 0 CEDS_C5H12_TRA $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_tra 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 2411/711 1 5 0 CEDS_C5H12_RCO $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_rco 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 2409/709 1 5 0 CEDS_C5H12_SLV $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_slv 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 2407/707 1 5 0 CEDS_C5H12_WST $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_wst 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C6H14_AGR $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_agr 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 2401 1 5 0 CEDS_C6H14_ENE $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s ALK6 2406/706/315 1 5 0 CEDS_C6H14_IND $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s ALK6 2407/707/316 1 5 0 CEDS_C6H14_TRA $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_tra 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 2411/711 1 5 0 CEDS_C6H14_RCO $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_rco 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 2409/709 1 5 0 CEDS_C6H14_SLV $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_slv 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 2407/707 1 5 0 CEDS_C6H14_WST $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_wst 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 1 5 0 CEDS_C2H4_AGR $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_agr 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 2401 1 5 0 CEDS_C2H4_ENE $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s C2H4 2406/706/315 1 5 0 CEDS_C2H4_IND $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s C2H4 2407/707/316 1 5 0 CEDS_C2H4_TRA $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_tra 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 2411/711 1 5 0 CEDS_C2H4_RCO $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_rco 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 2409/709 1 5 0 CEDS_C2H4_SLV $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_slv 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 2407/707 1 5 0 CEDS_C2H4_WST $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_wst 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CEDS_PRPE_AGR $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_agr 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 2401 1 5 0 CEDS_PRPE_ENE $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s PRPE 2406/706/315 1 5 0 CEDS_PRPE_IND $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s PRPE 2407/707/316 1 5 0 CEDS_PRPE_TRA $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_tra 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 2411/711 1 5 0 CEDS_PRPE_RCO $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_rco 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 2409/709 1 5 0 CEDS_PRPE_SLV $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_slv 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 2407/707 1 5 0 CEDS_PRPE_WST $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_wst 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CEDS_C2H2_AGR $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_agr 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 2401 1 5 0 CEDS_C2H2_ENE $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s C2H2 2406/706/315 1 5 0 CEDS_C2H2_IND $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s C2H2 2407/707/316 1 5 0 CEDS_C2H2_TRA $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_tra 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 2411/711 1 5 0 CEDS_C2H2_RCO $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_rco 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 2409/709 1 5 0 CEDS_C2H2_SLV $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_slv 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 2407/707 1 5 0 CEDS_C2H2_WST $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_wst 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CEDS_BENZ_AGR $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_agr 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 2401 1 5 0 CEDS_BENZ_ENE $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s BENZ 2406/706/315 1 5 0 CEDS_BENZ_IND $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s BENZ 2407/707/316 1 5 0 CEDS_BENZ_TRA $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_tra 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 2411/711 1 5 0 CEDS_BENZ_RCO $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_rco 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 2409/709 1 5 0 CEDS_BENZ_SLV $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_slv 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 2407/707 1 5 0 CEDS_BENZ_WST $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_wst 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CEDS_TOLU_AGR $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_agr 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 2401 1 5 0 CEDS_TOLU_ENE $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s TOLU 2406/706/315 1 5 0 CEDS_TOLU_IND $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s TOLU 2407/707/316 1 5 0 CEDS_TOLU_TRA $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_tra 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 2411/711 1 5 0 CEDS_TOLU_RCO $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_rco 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 2409/709 1 5 0 CEDS_TOLU_SLV $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_slv 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 2407/707 1 5 0 CEDS_TOLU_WST $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_wst 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CEDS_XYLE_AGR $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_agr 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 2401 1 5 0 CEDS_XYLE_ENE $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s XYLE 2406/706/315 1 5 0 CEDS_XYLE_IND $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s XYLE 2407/707/316 1 5 0 CEDS_XYLE_TRA $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_tra 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 2411/711 1 5 0 CEDS_XYLE_RCO $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_rco 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 2409/709 1 5 0 CEDS_XYLE_SLV $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_slv 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 2407/707 1 5 0 CEDS_XYLE_WST $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_wst 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CEDS_CH2O_AGR $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_agr 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 2401 1 5 0 CEDS_CH2O_ENE $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s CH2O 2406/706/315 1 5 0 CEDS_CH2O_IND $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s CH2O 2407/707/316 1 5 0 CEDS_CH2O_TRA $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_tra 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 2411/711 1 5 0 CEDS_CH2O_RCO $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_rco 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 2409/709 1 5 0 CEDS_CH2O_SLV $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_slv 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 2407/707 1 5 0 CEDS_CH2O_WST $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_wst 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CEDS_ALD2_AGR $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_agr 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 2401 1 5 0 CEDS_ALD2_ENE $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s ALD2 2406/706/315 1 5 0 CEDS_ALD2_IND $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s ALD2 2407/707/316 1 5 0 CEDS_ALD2_TRA $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_tra 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 2411/711 1 5 0 CEDS_ALD2_RCO $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_rco 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 2409/709 1 5 0 CEDS_ALD2_SLV $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_slv 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 2407/707 1 5 0 CEDS_ALD2_WST $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_wst 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CEDS_MEK_AGR $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_agr 1750-2019/1-12/1/0 C xy kg/m2/s MEK 2401 1 5 0 CEDS_MEK_ENE $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s MEK 2406/706/315 1 5 0 CEDS_MEK_IND $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s MEK 2407/707/316 1 5 0 CEDS_MEK_TRA $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_tra 1750-2019/1-12/1/0 C xy kg/m2/s MEK 2411/711 1 5 0 CEDS_MEK_RCO $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_rco 1750-2019/1-12/1/0 C xy kg/m2/s MEK 2409/709 1 5 0 CEDS_MEK_SLV $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_slv 1750-2019/1-12/1/0 C xy kg/m2/s MEK 2407/707 1 5 0 CEDS_MEK_WST $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_wst 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CEDS_HCOOH_AGR $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_agr 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 2401 1 5 0 CEDS_HCOOH_ENE $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s HCOOH 2406/706/315 1 5 0 CEDS_HCOOH_IND $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s HCOOH 2407/707/316 1 5 0 CEDS_HCOOH_TRA $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_tra 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 2411/711 1 5 0 CEDS_HCOOH_RCO $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_rco 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 2409/709 1 5 0 CEDS_HCOOH_SLV $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_slv 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 2407/707 1 5 0 CEDS_HCOOH_WST $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_wst 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CEDS_TMB_AGR $ROOT/CEDS/v2021-06/$YYYY/TMB-em-anthro_CMIP_CEDS_$YYYY.nc TMB_agr 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CEDS_TMB_ENE $ROOT/CEDS/v2021-06/$YYYY/TMB-em-anthro_CMIP_CEDS_$YYYY.nc TMB_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s HCOOH 26/315 1 5 0 CEDS_TMB_IND $ROOT/CEDS/v2021-06/$YYYY/TMB-em-anthro_CMIP_CEDS_$YYYY.nc TMB_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s HCOOH 26/316 1 5 0 CEDS_TMB_TRA $ROOT/CEDS/v2021-06/$YYYY/TMB-em-anthro_CMIP_CEDS_$YYYY.nc TMB_tra 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CEDS_TMB_RCO $ROOT/CEDS/v2021-06/$YYYY/TMB-em-anthro_CMIP_CEDS_$YYYY.nc TMB_rco 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CEDS_TMB_SLV $ROOT/CEDS/v2021-06/$YYYY/TMB-em-anthro_CMIP_CEDS_$YYYY.nc TMB_slv 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CEDS_TMB_WST $ROOT/CEDS/v2021-06/$YYYY/TMB-em-anthro_CMIP_CEDS_$YYYY.nc TMB_wst 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CEDS_OTH_AGR $ROOT/CEDS/v2021-06/$YYYY/OTHER_VOC-em-anthro_CMIP_CEDS_$YYYY.nc OTHER_VOC_agr 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 1 5 0 CEDS_OTH_ENE $ROOT/CEDS/v2021-06/$YYYY/OTHER_VOC-em-anthro_CMIP_CEDS_$YYYY.nc OTHER_VOC_ene 1750-2019/1-12/1/0 C xyL* kg/m2/s ALK6 26/315 1 5 0 CEDS_OTH_IND $ROOT/CEDS/v2021-06/$YYYY/OTHER_VOC-em-anthro_CMIP_CEDS_$YYYY.nc OTHER_VOC_ind 1750-2019/1-12/1/0 C xyL* kg/m2/s ALK6 26/316 1 5 0 CEDS_OTH_TRA $ROOT/CEDS/v2021-06/$YYYY/OTHER_VOC-em-anthro_CMIP_CEDS_$YYYY.nc OTHER_VOC_tra 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 1 5 0 CEDS_OTH_RCO $ROOT/CEDS/v2021-06/$YYYY/OTHER_VOC-em-anthro_CMIP_CEDS_$YYYY.nc OTHER_VOC_rco 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 1 5 0 CEDS_OTH_SLV $ROOT/CEDS/v2021-06/$YYYY/OTHER_VOC-em-anthro_CMIP_CEDS_$YYYY.nc OTHER_VOC_slv 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 1 5 0 CEDS_OTH_WST $ROOT/CEDS/v2021-06/$YYYY/OTHER_VOC-em-anthro_CMIP_CEDS_$YYYY.nc OTHER_VOC_wst 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 1 5 )))CEDSv2 #============================================================================== # --- CEDS GBD-MAPS --- # # NOTES: # -- Reference: McDuffie et al. (2020, Earth System Science Data) # -- Anthropogenic source sectors: agriculture, energy, industry, road transport, # non-road/off-road transport, residential, commercial, other energy use, # solvents, waste, international shipping # -- Fuel categories: the combustion of total coal, solid biofuel, liquid oil # and gas, and all remaining sources # **To use, enable CEDS_byFuelType and CEDS_SHIP_byFuelType** #============================================================================== (((CEDS_GBDMAPS >>>include $ROOT/CEDS/v2020-08/HEMCO_Config.CEDS_GBDMAPS.rc )))CEDS_GBDMAPS (((CEDS_GBDMAPS_byFuelType (((.not.CEDS_GBDMAPS (((.not.CEDSv2 >>>include $ROOT/CEDS/v2020-08/HEMCO_Config.CEDS_GBDMAPS_byFuelType.rc ))).not.CEDSv2 ))).not.CEDS_GBDMAPS )))CEDS_GBDMAPS_byFuelType #============================================================================== # --- CMIP6_SFC_LAND_ANTHRO --- # CEDS (historical) or Shared Socioeconomic Pathways (future), consistent with # the CMIP6 simulation experimental design. # # Make sure that the desired $GCAPSCENARIO is set above in SECTION SETTINGS # #============================================================================== (((CMIP6_SFC_LAND_ANTHRO 0 CMIP6_NO_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NO_agr 1750-2100/1-12/1/0 C xy kg/m2/s NO 25 1 5 0 CMIP6_NO_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NO_ene 1750-2100/1-12/1/0 C xy kg/m2/s NO 25 1 5 0 CMIP6_NO_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NO_ind 1750-2100/1-12/1/0 C xy kg/m2/s NO 25 1 5 0 CMIP6_NO_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NO_tra 1750-2100/1-12/1/0 C xy kg/m2/s NO 25 1 5 0 CMIP6_NO_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NO_rco 1750-2100/1-12/1/0 C xy kg/m2/s NO 25 1 5 0 CMIP6_NO_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NO_slv 1750-2100/1-12/1/0 C xy kg/m2/s NO 25 1 5 0 CMIP6_NO_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NO_wst 1750-2100/1-12/1/0 C xy kg/m2/s NO 25 1 5 0 CMIP6_CO_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_agr 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 1 5 0 CMIP6_SOAP_AGR - - - - - - SOAP 26/280 1 5 0 CMIP6_CO_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_ene 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 1 5 0 CMIP6_SOAP_ENE - - - - - - SOAP 26/280 1 5 0 CMIP6_CO_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_ind 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 1 5 0 CMIP6_SOAP_IND - - - - - - SOAP 26/280 1 5 0 CMIP6_CO_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_tra 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 1 5 0 CMIP6_SOAP_TRA - - - - - - SOAP 26/280 1 5 0 CMIP6_CO_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_rco 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 1 5 0 CMIP6_SOAP_RCO - - - - - - SOAP 26/280 1 5 0 CMIP6_CO_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_slv 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 1 5 0 CMIP6_SOAP_SLV - - - - - - SOAP 26/280 1 5 0 CMIP6_CO_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_wst 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 1 5 0 CMIP6_SOAP_WST - - - - - - SOAP 26/280 1 5 0 CMIP6_SO2_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_agr 1750-2100/1-12/1/0 C xy kg/m2/s SO2 - 1 5 0 CMIP6_SO4_AGR - - - - - - SO4 63 1 5 0 CMIP6_pFe_AGR - - - - - - pFe 66 1 5 0 CMIP6_SO2_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_ene 1750-2100/1-12/1/0 C xy kg/m2/s SO2 - 1 5 0 CMIP6_SO4_ENE - - - - - - SO4 63 1 5 0 CMIP6_pFe_ENE - - - - - - pFe 66 1 5 0 CMIP6_SO2_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_ind 1750-2100/1-12/1/0 C xy kg/m2/s SO2 - 1 5 0 CMIP6_SO4_IND - - - - - - SO4 63 1 5 0 CMIP6_pFe_IND - - - - - - pFe 66 1 5 0 CMIP6_SO2_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_tra 1750-2100/1-12/1/0 C xy kg/m2/s SO2 - 1 5 0 CMIP6_SO4_TRA - - - - - - SO4 63 1 5 0 CMIP6_pFe_TRA - - - - - - pFe 66 1 5 0 CMIP6_SO2_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_rco 1750-2100/1-12/1/0 C xy kg/m2/s SO2 - 1 5 0 CMIP6_SO4_RCO - - - - - - SO4 63 1 5 0 CMIP6_pFe_RCO - - - - - - pFe 66 1 5 0 CMIP6_SO2_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_slv 1750-2100/1-12/1/0 C xy kg/m2/s SO2 - 1 5 0 CMIP6_SO4_SLV - - - - - - SO4 63 1 5 0 CMIP6_pFe_SLV - - - - - - pFe 66 1 5 0 CMIP6_SO2_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_wst 1750-2100/1-12/1/0 C xy kg/m2/s SO2 - 1 5 0 CMIP6_SO4_WST - - - - - - SO4 63 1 5 0 CMIP6_pFe_WST - - - - - - pFe 66 1 5 0 CMIP6_NH3_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_agr 1750-2100/1-12/1/0 C xy kg/m2/s NH3 - 1 5 0 CMIP6_NH3_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_ene 1750-2100/1-12/1/0 C xy kg/m2/s NH3 - 1 5 0 CMIP6_NH3_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_ind 1750-2100/1-12/1/0 C xy kg/m2/s NH3 - 1 5 0 CMIP6_NH3_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_tra 1750-2100/1-12/1/0 C xy kg/m2/s NH3 - 1 5 0 CMIP6_NH3_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_rco 1750-2100/1-12/1/0 C xy kg/m2/s NH3 - 1 5 0 CMIP6_NH3_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_slv 1750-2100/1-12/1/0 C xy kg/m2/s NH3 - 1 5 0 CMIP6_NH3_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_wst 1750-2100/1-12/1/0 C xy kg/m2/s NH3 - 1 5 0 CMIP6_BCPI_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_agr 1750-2100/1-12/1/0 C xy kg/m2/s BCPI 70 1 5 0 CMIP6_BCPO_AGR - - - - - - BCPO 71 1 5 0 CMIP6_BCPI_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_ene 1750-2100/1-12/1/0 C xy kg/m2/s BCPI 70 1 5 0 CMIP6_BCPO_ENE - - - - - - BCPO 71 1 5 0 CMIP6_BCPI_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_ind 1750-2100/1-12/1/0 C xy kg/m2/s BCPI 70 1 5 0 CMIP6_BCPO_IND - - - - - - BCPO 71 1 5 0 CMIP6_BCPI_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_tra 1750-2100/1-12/1/0 C xy kg/m2/s BCPI 70 1 5 0 CMIP6_BCPO_TRA - - - - - - BCPO 71 1 5 0 CMIP6_BCPI_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_rco 1750-2100/1-12/1/0 C xy kg/m2/s BCPI 70 1 5 0 CMIP6_BCPO_RCO - - - - - - BCPO 71 1 5 0 CMIP6_BCPI_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_slv 1750-2100/1-12/1/0 C xy kg/m2/s BCPI 70 1 5 0 CMIP6_BCPO_SLV - - - - - - BCPO 71 1 5 0 CMIP6_BCPI_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_wst 1750-2100/1-12/1/0 C xy kg/m2/s BCPI 70 1 5 0 CMIP6_BCPO_WST - - - - - - BCPO 71 1 5 0 CMIP6_OCPI_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_agr 1750-2100/1-12/1/0 C xy kg/m2/s OCPI 72 1 5 0 CMIP6_OCPO_AGR - - - - - - OCPO 73 1 5 0 CMIP6_POG1_AGR - - - - - - POG1 74/76 1 5 0 CMIP6_POG2_AGR - - - - - - POG2 74/77 1 5 0 CMIP6_OCPI_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_ene 1750-2100/1-12/1/0 C xy kg/m2/s OCPI 72 1 5 0 CMIP6_OCPO_ENE - - - - - - OCPO 73 1 5 0 CMIP6_POG1_ENE - - - - - - POG1 74/76 1 5 0 CMIP6_POG2_ENE - - - - - - POG2 74/77 1 5 0 CMIP6_OCPI_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_ind 1750-2100/1-12/1/0 C xy kg/m2/s OCPI 72 1 5 0 CMIP6_OCPO_IND - - - - - - OCPO 73 1 5 0 CMIP6_POG1_IND - - - - - - POG1 74/76 1 5 0 CMIP6_POG2_IND - - - - - - POG2 74/77 1 5 0 CMIP6_OCPI_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_tra 1750-2100/1-12/1/0 C xy kg/m2/s OCPI 72 1 5 0 CMIP6_OCPO_TRA - - - - - - OCPO 73 1 5 0 CMIP6_POG1_TRA - - - - - - POG1 74/76 1 5 0 CMIP6_POG2_TRA - - - - - - POG2 74/77 1 5 0 CMIP6_OCPI_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_rco 1750-2100/1-12/1/0 C xy kg/m2/s OCPI 72 1 5 0 CMIP6_OCPO_RCO - - - - - - OCPO 73 1 5 0 CMIP6_POG1_RCO - - - - - - POG1 74/76 1 5 0 CMIP6_POG2_RCO - - - - - - POG2 74/77 1 5 0 CMIP6_OCPI_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_slv 1750-2100/1-12/1/0 C xy kg/m2/s OCPI 72 1 5 0 CMIP6_OCPO_SLV - - - - - - OCPO 73 1 5 0 CMIP6_POG1_SLV - - - - - - POG1 74/76 1 5 0 CMIP6_POG2_SLV - - - - - - POG2 74/77 1 5 0 CMIP6_OCPI_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_wst 1750-2100/1-12/1/0 C xy kg/m2/s OCPI 72 1 5 0 CMIP6_OCPO_WST - - - - - - OCPO 73 1 5 0 CMIP6_POG1_WST - - - - - - POG1 74/76 1 5 0 CMIP6_POG2_WST - - - - - - POG2 74/77 1 5 # Comment out CO2 for fullchem simulations: CO2 not advected #0 CMIP6_CO2_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO2_agr 1750-2100/1-12/1/0 C xy kg/m2/s CO2 - 1 5 #0 CMIP6_CO2_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO2_ene 1750-2100/1-12/1/0 C xy kg/m2/s CO2 - 1 5 #0 CMIP6_CO2_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO2_ind 1750-2100/1-12/1/0 C xy kg/m2/s CO2 - 1 5 #0 CMIP6_CO2_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO2_tra 1750-2100/1-12/1/0 C xy kg/m2/s CO2 - 1 5 #0 CMIP6_CO2_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO2_rco 1750-2100/1-12/1/0 C xy kg/m2/s CO2 - 1 5 #0 CMIP6_CO2_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO2_slv 1750-2100/1-12/1/0 C xy kg/m2/s CO2 - 1 5 #0 CMIP6_CO2_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO2_wst 1750-2100/1-12/1/0 C xy kg/m2/s CO2 - 1 5 # Comment out CH4 for fullchem simulations: do not use CH4 emissions # CMIP6 CH4 emissions are only available for 1970-2014 #0 CMIP6_CH4_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_agr 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 1 5 #0 CMIP6_CH4_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_ene 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 1 5 #0 CMIP6_CH4_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_ind 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 1 5 #0 CMIP6_CH4_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_tra 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 1 5 #0 CMIP6_CH4_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_rco 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 1 5 #0 CMIP6_CH4_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_slv 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 1 5 #0 CMIP6_CH4_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH4_wst 1970-2014/1-12/1/0 C xy kg/m2/s CH4 - 1 5 # NOTE: EOH files in CMIP6/v2021-01 are actually VOC1 (total alchohols) and are split into MOH, EOH, ROH here 0 CMIP6_MOH_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 EOH_agr 1750-2100/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CMIP6_EOH_AGR - - - - - - EOH 26/91 1 5 0 CMIP6_ROH_AGR - - - - - - ROH 26/92 1 5 0 CMIP6_MOH_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 EOH_ene 1750-2100/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CMIP6_EOH_ENE - - - - - - EOH 26/91 1 5 0 CMIP6_ROH_ENE - - - - - - ROH 26/92 1 5 0 CMIP6_MOH_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 EOH_ind 1750-2100/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CMIP6_EOH_IND - - - - - - EOH 26/91 1 5 0 CMIP6_ROH_IND - - - - - - ROH 26/92 1 5 0 CMIP6_MOH_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 EOH_tra 1750-2100/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CMIP6_EOH_TRA - - - - - - EOH 26/91 1 5 0 CMIP6_ROH_TRA - - - - - - ROH 26/92 1 5 0 CMIP6_MOH_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 EOH_rco 1750-2100/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CMIP6_EOH_RCO - - - - - - EOH 26/91 1 5 0 CMIP6_ROH_RCO - - - - - - ROH 26/92 1 5 0 CMIP6_MOH_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 EOH_slv 1750-2100/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CMIP6_EOH_SLV - - - - - - EOH 26/91 1 5 0 CMIP6_ROH_SLV - - - - - - ROH 26/92 1 5 0 CMIP6_MOH_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 EOH_wst 1750-2100/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CMIP6_EOH_WST - - - - - - EOH 26/91 1 5 0 CMIP6_ROH_WST - - - - - - ROH 26/92 1 5 0 CMIP6_C2H6_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H6_agr 1750-2100/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CMIP6_C2H6_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H6_ene 1750-2100/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CMIP6_C2H6_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H6_ind 1750-2100/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CMIP6_C2H6_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H6_tra 1750-2100/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CMIP6_C2H6_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H6_rco 1750-2100/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CMIP6_C2H6_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H6_slv 1750-2100/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CMIP6_C2H6_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H6_wst 1750-2100/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CMIP6_C3H8_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C3H8_agr 1750-2100/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CMIP6_C3H8_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C3H8_ene 1750-2100/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CMIP6_C3H8_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C3H8_ind 1750-2100/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CMIP6_C3H8_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C3H8_tra 1750-2100/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CMIP6_C3H8_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C3H8_rco 1750-2100/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CMIP6_C3H8_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C3H8_slv 1750-2100/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CMIP6_C3H8_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C3H8_wst 1750-2100/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CMIP6_C4H10_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_butanes_agr 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C4H10_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_butanes_ene 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C4H10_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_butanes_ind 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C4H10_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_butanes_tra 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C4H10_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_butanes_rco 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C4H10_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_butanes_slv 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C4H10_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_butanes_wst 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C5H12_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_pentanes_agr 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C5H12_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_pentanes_ene 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C5H12_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_pentanes_ind 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C5H12_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_pentanes_tra 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C5H12_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_pentanes_rco 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C5H12_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_pentanes_slv 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C5H12_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_pentanes_wst 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C6H14_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_hexanes_agr 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C6H14_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_hexanes_ene 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C6H14_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_hexanes_ind 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C6H14_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_hexanes_tra 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C6H14_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_hexanes_rco 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C6H14_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_hexanes_slv 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C6H14_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_hexanes_wst 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CMIP6_C2H4_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H4_agr 1750-2100/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CMIP6_C2H4_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H4_ene 1750-2100/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CMIP6_C2H4_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H4_ind 1750-2100/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CMIP6_C2H4_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H4_tra 1750-2100/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CMIP6_C2H4_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H4_rco 1750-2100/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CMIP6_C2H4_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H4_slv 1750-2100/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CMIP6_C2H4_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H4_wst 1750-2100/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CMIP6_PRPE_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 PRPE_agr 1750-2100/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CMIP6_PRPE_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 PRPE_ene 1750-2100/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CMIP6_PRPE_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 PRPE_ind 1750-2100/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CMIP6_PRPE_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 PRPE_tra 1750-2100/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CMIP6_PRPE_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 PRPE_rco 1750-2100/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CMIP6_PRPE_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 PRPE_slv 1750-2100/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CMIP6_PRPE_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 PRPE_wst 1750-2100/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CMIP6_C2H2_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H2_agr 1750-2100/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CMIP6_C2H2_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H2_ene 1750-2100/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CMIP6_C2H2_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H2_ind 1750-2100/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CMIP6_C2H2_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H2_tra 1750-2100/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CMIP6_C2H2_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H2_rco 1750-2100/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CMIP6_C2H2_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H2_slv 1750-2100/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CMIP6_C2H2_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H2_wst 1750-2100/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CMIP6_BENZ_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BENZ_agr 1750-2100/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CMIP6_BENZ_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BENZ_ene 1750-2100/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CMIP6_BENZ_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BENZ_ind 1750-2100/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CMIP6_BENZ_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BENZ_tra 1750-2100/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CMIP6_BENZ_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BENZ_rco 1750-2100/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CMIP6_BENZ_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BENZ_slv 1750-2100/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CMIP6_BENZ_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BENZ_wst 1750-2100/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CMIP6_TOLU_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 TOLU_agr 1750-2100/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CMIP6_TOLU_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 TOLU_ene 1750-2100/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CMIP6_TOLU_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 TOLU_ind 1750-2100/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CMIP6_TOLU_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 TOLU_tra 1750-2100/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CMIP6_TOLU_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 TOLU_rco 1750-2100/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CMIP6_TOLU_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 TOLU_slv 1750-2100/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CMIP6_TOLU_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 TOLU_wst 1750-2100/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CMIP6_XYLE_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 XYLE_agr 1750-2100/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CMIP6_XYLE_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 XYLE_ene 1750-2100/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CMIP6_XYLE_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 XYLE_ind 1750-2100/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CMIP6_XYLE_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 XYLE_tra 1750-2100/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CMIP6_XYLE_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 XYLE_rco 1750-2100/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CMIP6_XYLE_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 XYLE_slv 1750-2100/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CMIP6_XYLE_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 XYLE_wst 1750-2100/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CMIP6_CH2O_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH2O_agr 1750-2100/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CMIP6_CH2O_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH2O_ene 1750-2100/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CMIP6_CH2O_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH2O_ind 1750-2100/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CMIP6_CH2O_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH2O_tra 1750-2100/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CMIP6_CH2O_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH2O_rco 1750-2100/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CMIP6_CH2O_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH2O_slv 1750-2100/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CMIP6_CH2O_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH2O_wst 1750-2100/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CMIP6_ALD2_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALD2_agr 1750-2100/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CMIP6_ALD2_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALD2_ene 1750-2100/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CMIP6_ALD2_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALD2_ind 1750-2100/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CMIP6_ALD2_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALD2_tra 1750-2100/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CMIP6_ALD2_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALD2_rco 1750-2100/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CMIP6_ALD2_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALD2_slv 1750-2100/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CMIP6_ALD2_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALD2_wst 1750-2100/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CMIP6_MEK_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MEK_agr 1750-2100/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CMIP6_MEK_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MEK_ene 1750-2100/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CMIP6_MEK_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MEK_ind 1750-2100/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CMIP6_MEK_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MEK_tra 1750-2100/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CMIP6_MEK_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MEK_rco 1750-2100/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CMIP6_MEK_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MEK_slv 1750-2100/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CMIP6_MEK_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MEK_wst 1750-2100/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CMIP6_HCOOH_AGR $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 HCOOH_agr 1750-2100/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CMIP6_HCOOH_ENE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 HCOOH_ene 1750-2100/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CMIP6_HCOOH_IND $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 HCOOH_ind 1750-2100/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CMIP6_HCOOH_TRA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 HCOOH_tra 1750-2100/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CMIP6_HCOOH_RCO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 HCOOH_rco 1750-2100/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CMIP6_HCOOH_SLV $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 HCOOH_slv 1750-2100/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CMIP6_HCOOH_WST $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 HCOOH_wst 1750-2100/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 )))CMIP6_SFC_LAND_ANTHRO #============================================================================== # CEDS (historical) or Shared Socioeconomic Pathways (future) aircraft # emissions, consistent with the CMIP6 simulation experimental design # # Make sure that the desired $GCAPSCENARIO is set above in SECTION SETTINGS # #============================================================================== (((CMIP6_AIRCRAFT 0 CMIP6_AIR_NO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY_AIR.$GCAP2VERTRESL.nc4 NO_air 1750-2100/1-12/1/0 C xyz kg/m2/s NO - 20 1 0 CMIP6_AIR_CO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY_AIR.$GCAP2VERTRESL.nc4 CO_air 1750-2100/1-12/1/0 C xyz kg/m2/s CO - 20 1 0 CMIP6_AIR_SOAP - - - - - - SOAP 280 20 1 0 CMIP6_AIR_SO2 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY_AIR.$GCAPVERTRES.nc4 SO2_air 1750-2100/1-12/1/0 C xyz kg/m2/s SO2 - 20 1 0 CMIP6_AIR_SO4 - - - - - - SO4 63 20 1 0 CMIP6_AIR_pFe - - - - - - pFe 66 20 1 0 CMIP6_AIR_ACET - - - - - - ACET 601 20 1 0 CMIP6_AIR_ALD2 - - - - - - ALD2 602 20 1 0 CMIP6_AIR_ALK4 - - - - - - ALK4 603 20 1 0 CMIP6_AIR_C2H6 - - - - - - C2H6 604 20 1 0 CMIP6_AIR_C3H8 - - - - - - C3H8 605 20 1 0 CMIP6_AIR_CH2O - - - - - - CH2O 606 20 1 0 CMIP6_AIR_PRPE - - - - - - PRPE 607 20 1 0 CMIP6_AIR_MACR - - - - - - MACR 608 20 1 0 CMIP6_AIR_RCHO - - - - - - RCHO 609 20 1 0 CMIP6_AIR_NH3 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY_AIR.$GCAPVERTRES.nc4 NH3_air 1750-2100/1-12/1/0 C xyz kg/m2/s NH3 - 20 1 # Assume all BC/OC is BCPI/OCPI 0 CMIP6_AIR_BCPI $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY_AIR.$GCAPVERTRES.nc4 BC_air 1750-2100/1-12/1/0 C xyz kg/m2/s BCPI - 20 1 0 CMIP6_AIR_OCPI $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY_AIR.$GCAPVERTRES.nc4 OC_air 1750-2100/1-12/1/0 C xyz kg/m2/s OCPI - 20 1 0 CMIP6_AIR_POG1 - - - - - - POG1 74/76 20 1 0 CMIP6_AIR_POG2 - - - - - - POG2 74/77 20 1 )))CMIP6_AIRCRAFT #============================================================================== # --- EDGAR v4.3 --- # # %%% This is an optional inventory. You may select either CEDS, EDGAR, # or HTAPv3 for the global base emissions %%% # # The following emissions are not included in EDGAR and will be added: # * Wiedinmyer et al. (2014) global trash emissions # * CEDS VOC emissions # # Aviation and shipping emissions from EDGAR are not included here. # We also do not include the following sources: # - Soil emissions of NOx (SOL). These emissions are calculated via the # SoilNOx extension. # - Open biomass burning (AWB). These emissions are obtained from # GFED, QFED, FINN, or GFAS. #============================================================================== (((EDGARv43 0 EDGAR_BCPI_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.POW.0.1x0.1.nc emi_bc 1970-2010/1/1/0 C xy kg/m2/s BCPI 1201/70 1 2 0 EDGAR_BCPO_POW - - - - - - BCPO 1201/71 1 2 0 EDGAR_BCPI_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.ENG.0.1x0.1.nc emi_bc 1970-2010/1/1/0 C xy kg/m2/s BCPI 1202/70 1 2 0 EDGAR_BCPO_ENG - - - - - - BCPO 1202/71 1 2 0 EDGAR_BCPI_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.IND.0.1x0.1.nc emi_bc 1970-2010/1/1/0 C xy kg/m2/s BCPI 1203/70 1 2 0 EDGAR_BCPO_IND - - - - - - BCPO 1203/71 1 2 0 EDGAR_BCPI_TRO $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.TRO.0.1x0.1.nc emi_bc 1970-2010/1/1/0 C xy kg/m2/s BCPI 1204/70 1 2 0 EDGAR_BCPO_TRO - - - - - - BCPO 1204/71 1 2 0 EDGAR_BCPI_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.TNG.0.1x0.1.nc emi_bc 1970-2010/1/1/0 C xy kg/m2/s BCPI 1205/70 1 2 0 EDGAR_BCPO_TNG - - - - - - BCPO 1205/71 1 2 0 EDGAR_BCPI_RCO $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.RCO.0.1x0.1.nc emi_bc 1970-2010/1/1/0 C xy kg/m2/s BCPI 1206/70 1 2 0 EDGAR_BCPO_RCO - - - - - - BCPO 1206/71 1 2 0 EDGAR_BCPI_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.PPA.0.1x0.1.nc emi_bc 1970-2010/1/1/0 C xy kg/m2/s BCPI 1207/70 1 2 0 EDGAR_BCPO_PPA - - - - - - BCPO 1207/71 1 2 #0 EDGAR_BCPI_AWB $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.AWB.0.1x0.1.nc emi_bc 1970-2010/1/1/0 C xy kg/m2/s BCPI 1209/70 1 2 #0 EDGAR_BCPO_AWB - - - - - - BCPO 1209/71 1 2 0 EDGAR_BCPI_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.SWD.0.1x0.1.nc emi_bc 1970-2010/1/1/0 C xy kg/m2/s BCPI 1211/70 1 2 0 EDGAR_BCPO_SWD - - - - - - BCPO 1211/71 1 2 0 EDGAR_BCPI_FFF $ROOT/EDGARv43/v2016-11/EDGAR_v43.BC.FFF.0.1x0.1.nc emi_bc 1970-2010/1/1/0 C xy kg/m2/s BCPI 1212/70 1 2 0 EDGAR_BCPO_FFF - - - - - - BCPO 1212/71 1 2 0 EDGAR_CO_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.POW.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO 1201/26/52 1 2 0 EDGAR_SOAP_POW - - - - - - SOAP 1201/26/52/280 1 2 0 EDGAR_CO_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.ENG.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO 1202/26/52 1 2 0 EDGAR_SOAP_ENG - - - - - - SOAP 1202/26/52/280 1 2 0 EDGAR_CO_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.IND.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO 1203/26/52 1 2 0 EDGAR_SOAP_IND - - - - - - SOAP 1203/26/52/280 1 2 0 EDGAR_CO_TRO $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.TRO.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO 1204/26/52 1 2 0 EDGAR_SOAP_TRO - - - - - - SOAP 1204/26/52/280 1 2 0 EDGAR_CO_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.TNG.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO 1205/26/52 1 2 0 EDGAR_SOAP_TNG - - - - - - SOAP 1205/26/52/280 1 2 0 EDGAR_CO_RCO $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.RCO.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO 1206/26/52 1 2 0 EDGAR_SOAP_RCO - - - - - - SOAP 1206/26/52/280 1 2 0 EDGAR_CO_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.PPA.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO 1207/26/52 1 2 0 EDGAR_SOAP_PPA - - - - - - SOAP 1207/26/52/280 1 2 #0 EDGAR_CO_AWB $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.AWB.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO 1209/26/52 1 2 #0 EDGAR_SOAP_AWB - - - - - - SOAP 1209/26/52/280 1 2 0 EDGAR_CO_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.SWD.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO 1211/26/52 1 2 0 EDGAR_SOAP_SWD - - - - - - SOAP 1211/26/52/280 1 2 0 EDGAR_CO_FFF $ROOT/EDGARv43/v2016-11/EDGAR_v43.CO.FFF.0.1x0.1.nc emi_co 1970-2010/1/1/0 C xy kg/m2/s CO 1212/26/52 1 2 0 EDGAR_SOAP_FFF - - - - - - SOAP 1212/26/52/280 1 2 0 EDGAR_NH3_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.POW.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1201 1 2 0 EDGAR_NH3_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.ENG.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1202 1 2 0 EDGAR_NH3_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.IND.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1203 1 2 0 EDGAR_NH3_TRO $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.TRO.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1204 1 2 0 EDGAR_NH3_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.TNG.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1205 1 2 0 EDGAR_NH3_RCO $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.RCO.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1206 1 2 0 EDGAR_NH3_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.PPA.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1207 1 2 0 EDGAR_NH3_AGR $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.AGR.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1208 1 2 #0 EDGAR_NH3_AWB $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.AWB.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1209 1 2 0 EDGAR_NH3_SOL $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.SOL.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1210 1 2 0 EDGAR_NH3_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.NH3.SWD.0.1x0.1.nc emi_nh3 1970-2010/1/1/0 C xy kg/m2/s NH3 1211 1 2 0 EDGAR_NO_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.POW.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1201/25/115 1 2 0 EDGAR_NO_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.ENG.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1202/25/115 1 2 0 EDGAR_NO_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.IND.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1203/25/115 1 2 0 EDGAR_NO_TRO $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.TRO.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1204/25/115 1 2 0 EDGAR_NO_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.TNG.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1205/25/115 1 2 0 EDGAR_NO_RCO $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.RCO.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1206/25/115 1 2 0 EDGAR_NO_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.PPA.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1207/25/115 1 2 0 EDGAR_NO_AGR $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.AGR.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1208/25/115 1 2 #0 EDGAR_NO_AWB $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.AWB.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1209/25/115 1 2 #0 EDGAR_NO_SOL $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.SOL.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1210/25/115 1 2 0 EDGAR_NO_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.SWD.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1211/25/115 1 2 0 EDGAR_NO_FFF $ROOT/EDGARv43/v2016-11/EDGAR_v43.NOx.FFF.0.1x0.1.nc emi_nox 1970-2010/1/1/0 C xy kg/m2/s NO 1212/25/115 1 2 0 EDGAR_OCPI_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.POW.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1201/72 1 2 0 EDGAR_OCPO_POW - - - - - - OCPO 1201/73 1 2 0 EDGAR_POG1_POW - - - - - - POG1 1201/74/76 1 2 0 EDGAR_POG2_POW - - - - - - POG2 1201/74/77 1 2 0 EDGAR_OCPI_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.ENG.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1202/72 1 2 0 EDGAR_OCPO_ENG - - - - - - OCPO 1202/73 1 2 0 EDGAR_POG1_ENG - - - - - - POG1 1202/74/76 1 2 0 EDGAR_POG2_ENG - - - - - - POG2 1202/74/77 1 2 0 EDGAR_OCPI_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.IND.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1203/72 1 2 0 EDGAR_OCPO_IND - - - - - - OCPO 1203/73 1 2 0 EDGAR_POG1_IND - - - - - - POG1 1203/74/76 1 2 0 EDGAR_POG2_IND - - - - - - POG2 1203/74/77 1 2 0 EDGAR_OCPI_TRO $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.TRO.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1204/72 1 2 0 EDGAR_OCPO_TRO - - - - - - OCPO 1204/73 1 2 0 EDGAR_POG1_TRO - - - - - - POG1 1204/74/76 1 2 0 EDGAR_POG2_TRO - - - - - - POG2 1204/74/77 1 2 0 EDGAR_OCPI_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.TNG.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1205/72 1 2 0 EDGAR_OCPO_TNG - - - - - - OCPO 1205/73 1 2 0 EDGAR_POG1_TNG - - - - - - POG1 1205/74/76 1 2 0 EDGAR_POG2_TNG - - - - - - POG2 1205/74/77 1 2 0 EDGAR_OCPI_RCO $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.RCO.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1206/72 1 2 0 EDGAR_OCPO_RCO - - - - - - OCPO 1206/73 1 2 0 EDGAR_POG1_RCO - - - - - - POG1 1206/74/76 1 2 0 EDGAR_POG2_RCO - - - - - - POG2 1206/74/77 1 2 #0 EDGAR_OCPI_AWB $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.AWB.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1209/72 1 2 #0 EDGAR_OCPO_AWB - - - - - - OCPO 1209/73 1 2 #0 EDGAR_POG1_AWB - - - - - - POG1 1209/74/76 1 2 #0 EDGAR_POG2_AWB - - - - - - POG2 1209/74/77 1 2 0 EDGAR_OCPI_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.SWD.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1211/72 1 2 0 EDGAR_OCPO_SWD - - - - - - OCPO 1211/73 1 2 0 EDGAR_POG1_SWD - - - - - - POG1 1211/74/76 1 2 0 EDGAR_POG2_SWD - - - - - - POG2 1211/74/77 1 2 0 EDGAR_OCPI_FFF $ROOT/EDGARv43/v2016-11/EDGAR_v43.OC.FFF.0.1x0.1.nc emi_oc 1970-2010/1/1/0 C xy kg/m2/s OCPI 1212/72 1 2 0 EDGAR_OCPO_FFF - - - - - - OCPO 1212/73 1 2 0 EDGAR_POG1_FFF - - - - - - POG1 1212/74/76 1 2 0 EDGAR_POG2_FFF - - - - - - POG2 1212/74/77 1 2 0 EDGAR_SO2_POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.POW.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1201 1 2 0 EDGAR_SO4_POW - - - - - - SO4 1201/63 1 2 0 EDGAR_pFe_POW - - - - - - pFe 1201/66 1 2 0 EDGAR_SO2_ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.ENG.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1202 1 2 0 EDGAR_SO4_ENG - - - - - - SO4 1202/63 1 2 0 EDGAR_pFe_ENG - - - - - - pFe 1202/66 1 2 0 EDGAR_SO2_IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.IND.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1203 1 2 0 EDGAR_SO4_IND - - - - - - SO4 1203/63 1 2 0 EDGAR_pFe_IND - - - - - - pFe 1203/66 1 2 0 EDGAR_SO2_TRO $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.TRO.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1204 1 2 0 EDGAR_SO4_TRO - - - - - - SO4 1204/63 1 2 0 EDGAR_pFe_TRO - - - - - - pFe 1204/66 1 2 0 EDGAR_SO2_TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.TNG.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1205 1 2 0 EDGAR_SO4_TNG - - - - - - SO4 1205/63 1 2 0 EDGAR_pFe_TNG - - - - - - pFe 1205/66 1 2 0 EDGAR_SO2_RCO $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.RCO.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1206 1 2 0 EDGAR_SO4_RCO - - - - - - SO4 1206/63 1 2 0 EDGAR_pFe_RCO - - - - - - pFe 1206/66 1 2 0 EDGAR_SO2_PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.PPA.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1207 1 2 0 EDGAR_SO4_PPA - - - - - - SO4 1207/63 1 2 0 EDGAR_pFe_PPA - - - - - - pFe 1207/66 1 2 #0 EDGAR_SO2_AWB $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.AWB.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1209 1 2 #0 EDGAR_SO4_AWB - - - - - - SO4 1209/63 1 2 #0 EDGAR_pFe_AWB - - - - - - pFe 1209/66 1 2 0 EDGAR_SO2_SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.SWD.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1211 1 2 0 EDGAR_SO4_SWD - - - - - - SO4 1211/63 1 2 0 EDGAR_pFe_SWD - - - - - - pFe 1211/66 1 2 0 EDGAR_SO2_FFF $ROOT/EDGARv43/v2016-11/EDGAR_v43.SO2.FFF.0.1x0.1.nc emi_so2 1970-2010/1/1/0 C xy kg/m2/s SO2 1212 1 2 0 EDGAR_SO4_FFF - - - - - - SO4 1212/63 1 2 0 EDGAR_pFe_FFF - - - - - - pFe 1212/66 1 2 #============================================================================== # --- NAP ANTHROPOGENIC EMISSIONS: approximate from EDGAR BENZ --- # # NOTE: Although this data comes from EDGAR version 2, we are storing it # in the EDGARv42 data path for convenience. #============================================================================== 0 EDGAR_NAP $ROOT/EDGARv42/v2015-02/VOCv2/EDGAR2_1985_FF_IND.1x1geos.nc BENZ 1985/1/1/0 C xy kgC/m2/s NAP 80/81/82/43 1 2 #============================================================================== # --- Wiedinmyer et al. (2014) global trash emissions to be added to EDGAR --- #============================================================================== 0 TRASH_CO $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc CO 2008/1/1/0 C xy kg/m2/s CO - 1 2 0 TRASH_SOAP - - - - - - SOAP 280 1 2 0 TRASH_NO $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc NO 2008/1/1/0 C xy kg/m2/s NO - 1 2 0 TRASH_SO2 $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc SO2 2008/1/1/0 C xy kg/m2/s SO2 78 1 2 0 TRASH_SO4 - - - - - - SO4 63 1 2 0 TRASH_pFe - - - - - - pFe 78/66 1 2 0 TRASH_BCPI $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc BC 2008/1/1/0 C xy kg/m2/s BCPI 70 1 2 0 TRASH_BCPO - - - - - - BCPO 71 1 2 0 TRASH_OCPI $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc OC 2008/1/1/0 C xy kg/m2/s OCPI 72 1 2 0 TRASH_OCPO - - - - - - OCPO 73 1 2 0 TRASH_POG1 - - - - - - POG1 74/76 1 2 0 TRASH_POG2 - - - - - - POG2 74/77 1 2 0 TRASH_NH3 $ROOT/TrashEmis/v2015-03/TrashBurn_v2_generic.01x01.nc NH3 2008/1/1/0 C xy kg/m2/s NH3 - 1 2 #============================================================================== # --- CEDS VOC emissions to be added to EDGAR --- #============================================================================== 0 CEDS_MOH_AGR $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_agr 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CEDS_EOH_AGR - - - - - - EOH 26/91 1 5 0 CEDS_ROH_AGR - - - - - - ROH 26/92 1 5 0 CEDS_MOH_ENE $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_ene 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CEDS_EOH_ENE - - - - - - EOH 26/91 1 5 0 CEDS_ROH_ENE - - - - - - ROH 26/92 1 5 0 CEDS_MOH_IND $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_ind 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CEDS_EOH_IND - - - - - - EOH 26/91 1 5 0 CEDS_ROH_IND - - - - - - ROH 26/92 1 5 0 CEDS_MOH_TRA $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_tra 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CEDS_EOH_TRA - - - - - - EOH 26/91 1 5 0 CEDS_ROH_TRA - - - - - - ROH 26/92 1 5 0 CEDS_MOH_RCO $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_rco 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CEDS_EOH_RCO - - - - - - EOH 26/91 1 5 0 CEDS_ROH_RCO - - - - - - ROH 26/92 1 5 0 CEDS_MOH_SLV $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_slv 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CEDS_EOH_SLV - - - - - - EOH 26/91 1 5 0 CEDS_ROH_SLV - - - - - - ROH 26/92 1 5 0 CEDS_MOH_WST $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_wst 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 5 0 CEDS_EOH_WST - - - - - - EOH 26/91 1 5 0 CEDS_ROH_WST - - - - - - ROH 26/92 1 5 0 CEDS_C2H6_AGR $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_agr 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CEDS_C2H6_ENE $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_ene 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CEDS_C2H6_IND $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_ind 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CEDS_C2H6_TRA $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_tra 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CEDS_C2H6_RCO $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_rco 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CEDS_C2H6_SLV $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_slv 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CEDS_C2H6_WST $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_wst 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 5 0 CEDS_C3H8_AGR $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_agr 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CEDS_C3H8_ENE $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_ene 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CEDS_C3H8_IND $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_ind 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CEDS_C3H8_TRA $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_tra 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CEDS_C3H8_RCO $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_rco 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CEDS_C3H8_SLV $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_slv 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CEDS_C3H8_WST $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_wst 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 5 0 CEDS_C4H10_AGR $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_agr 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C4H10_ENE $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_ene 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C4H10_IND $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_ind 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C4H10_TRA $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_tra 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C4H10_RCO $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_rco 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C4H10_SLV $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_slv 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C4H10_WST $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_wst 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C5H12_AGR $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_agr 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C5H12_ENE $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_ene 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C5H12_IND $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_ind 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C5H12_TRA $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_tra 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C5H12_RCO $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_rco 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C5H12_SLV $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_slv 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C5H12_WST $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_wst 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C6H14_AGR $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_agr 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C6H14_ENE $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_ene 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C6H14_IND $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_ind 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C6H14_TRA $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_tra 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C6H14_RCO $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_rco 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C6H14_SLV $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_slv 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C6H14_WST $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_wst 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 5 0 CEDS_C2H4_AGR $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_agr 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CEDS_C2H4_ENE $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_ene 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CEDS_C2H4_IND $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_ind 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CEDS_C2H4_TRA $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_tra 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CEDS_C2H4_RCO $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_rco 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CEDS_C2H4_SLV $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_slv 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CEDS_C2H4_WST $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_wst 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 5 0 CEDS_PRPE_AGR $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_agr 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CEDS_PRPE_ENE $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_ene 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CEDS_PRPE_IND $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_ind 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CEDS_PRPE_TRA $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_tra 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CEDS_PRPE_RCO $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_rco 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CEDS_PRPE_SLV $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_slv 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CEDS_PRPE_WST $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_wst 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 5 0 CEDS_C2H2_AGR $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_agr 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CEDS_C2H2_ENE $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_ene 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CEDS_C2H2_IND $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_ind 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CEDS_C2H2_TRA $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_tra 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CEDS_C2H2_RCO $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_rco 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CEDS_C2H2_SLV $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_slv 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CEDS_C2H2_WST $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_wst 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 5 0 CEDS_BENZ_AGR $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_agr 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CEDS_BENZ_ENE $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_ene 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CEDS_BENZ_IND $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_ind 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CEDS_BENZ_TRA $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_tra 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CEDS_BENZ_RCO $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_rco 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CEDS_BENZ_SLV $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_slv 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CEDS_BENZ_WST $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_wst 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 5 0 CEDS_TOLU_AGR $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_agr 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CEDS_TOLU_ENE $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_ene 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CEDS_TOLU_IND $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_ind 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CEDS_TOLU_TRA $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_tra 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CEDS_TOLU_RCO $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_rco 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CEDS_TOLU_SLV $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_slv 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CEDS_TOLU_WST $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_wst 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 5 0 CEDS_XYLE_AGR $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_agr 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CEDS_XYLE_ENE $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_ene 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CEDS_XYLE_IND $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_ind 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CEDS_XYLE_TRA $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_tra 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CEDS_XYLE_RCO $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_rco 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CEDS_XYLE_SLV $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_slv 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CEDS_XYLE_WST $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_wst 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 5 0 CEDS_CH2O_AGR $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_agr 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CEDS_CH2O_ENE $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_ene 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CEDS_CH2O_IND $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_ind 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CEDS_CH2O_TRA $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_tra 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CEDS_CH2O_RCO $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_rco 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CEDS_CH2O_SLV $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_slv 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CEDS_CH2O_WST $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_wst 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 5 0 CEDS_ALD2_AGR $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_agr 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CEDS_ALD2_ENE $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_ene 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CEDS_ALD2_IND $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_ind 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CEDS_ALD2_TRA $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_tra 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CEDS_ALD2_RCO $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_rco 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CEDS_ALD2_SLV $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_slv 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CEDS_ALD2_WST $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_wst 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 5 0 CEDS_MEK_AGR $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_agr 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CEDS_MEK_ENE $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_ene 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CEDS_MEK_IND $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_ind 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CEDS_MEK_TRA $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_tra 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CEDS_MEK_RCO $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_rco 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CEDS_MEK_SLV $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_slv 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CEDS_MEK_WST $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_wst 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 5 0 CEDS_HCOOH_AGR $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_agr 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CEDS_HCOOH_ENE $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_ene 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CEDS_HCOOH_IND $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_ind 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CEDS_HCOOH_TRA $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_tra 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CEDS_HCOOH_RCO $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_rco 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CEDS_HCOOH_SLV $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_slv 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 0 CEDS_HCOOH_WST $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_wst 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 5 )))EDGARv43 #============================================================================== # --- HTAP v3 --- # # %%% This is an optional inventory. You may select either CEDS, EDGAR, # or HTAPv3 for the global base emissions %%% # # ==> HTAPv3 ship emissions are listed in the ship emissions section below #============================================================================== (((HTAPv3 0 HTAPv3_NO_AGR $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NO_0.1x0.1_$YYYY.nc NO_AGR 2000-2018/1-12/1/0 C xy kg/m2/s NO 25 1 4 0 HTAPv3_NO_ENE $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NO_0.1x0.1_$YYYY.nc NO_ENE 2000-2018/1-12/1/0 C xy kg/m2/s NO 25 1 4 0 HTAPv3_NO_IND $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NO_0.1x0.1_$YYYY.nc NO_IND 2000-2018/1-12/1/0 C xy kg/m2/s NO 25 1 4 0 HTAPv3_NO_TRA $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NO_0.1x0.1_$YYYY.nc NO_TRA 2000-2018/1-12/1/0 C xy kg/m2/s NO 25 1 4 0 HTAPv3_NO_RCO $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NO_0.1x0.1_$YYYY.nc NO_RCO 2000-2018/1-12/1/0 C xy kg/m2/s NO 25 1 4 0 HTAPv3_NO_SLV $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NO_0.1x0.1_$YYYY.nc NO_SLV 2000-2018/1-12/1/0 C xy kg/m2/s NO 25 1 4 0 HTAPv3_NO_WST $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NO_0.1x0.1_$YYYY.nc NO_WST 2000-2018/1-12/1/0 C xy kg/m2/s NO 25 1 4 0 HTAPv3_CO_AGR $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_CO_0.1x0.1_$YYYY.nc CO_AGR 2000-2018/1-12/1/0 C xy kg/m2/s CO 26 1 4 0 HTAPv3_SOAP_AGR - - - - - - SOAP 26/280 1 4 0 HTAPv3_CO_ENE $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_CO_0.1x0.1_$YYYY.nc CO_ENE 2000-2018/1-12/1/0 C xy kg/m2/s CO 26 1 4 0 HTAPv3_SOAP_ENE - - - - - - SOAP 26/280 1 4 0 HTAPv3_CO_IND $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_CO_0.1x0.1_$YYYY.nc CO_IND 2000-2018/1-12/1/0 C xy kg/m2/s CO 26 1 4 0 HTAPv3_SOAP_IND - - - - - - SOAP 26/280 1 4 0 HTAPv3_CO_TRA $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_CO_0.1x0.1_$YYYY.nc CO_TRA 2000-2018/1-12/1/0 C xy kg/m2/s CO 26 1 4 0 HTAPv3_SOAP_TRA - - - - - - SOAP 26/280 1 4 0 HTAPv3_CO_RCO $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_CO_0.1x0.1_$YYYY.nc CO_RCO 2000-2018/1-12/1/0 C xy kg/m2/s CO 26 1 4 0 HTAPv3_SOAP_RCO - - - - - - SOAP 26/280 1 4 0 HTAPv3_CO_SLV $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_CO_0.1x0.1_$YYYY.nc CO_SLV 2000-2018/1-12/1/0 C xy kg/m2/s CO 26 1 4 0 HTAPv3_SOAP_SLV - - - - - - SOAP 26/280 1 4 0 HTAPv3_CO_WST $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_CO_0.1x0.1_$YYYY.nc CO_WST 2000-2018/1-12/1/0 C xy kg/m2/s CO 26 1 4 0 HTAPv3_SOAP_WST - - - - - - SOAP 26/280 1 4 0 HTAPv3_SO2_AGR $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_SO2_0.1x0.1_$YYYY.nc SO2_AGR 2000-2018/1-12/1/0 C xy kg/m2/s SO2 - 1 4 0 HTAPv3_SO4_AGR - - - - - - SO4 63 1 4 0 HTAPv3_pFe_AGR - - - - - - pFe 66 1 4 0 HTAPv3_SO2_ENE $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_SO2_0.1x0.1_$YYYY.nc SO2_ENE 2000-2018/1-12/1/0 C xy kg/m2/s SO2 - 1 4 0 HTAPv3_SO4_ENE - - - - - - SO4 63 1 4 0 HTAPv3_pFe_ENE - - - - - - pFe 66 1 4 0 HTAPv3_SO2_IND $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_SO2_0.1x0.1_$YYYY.nc SO2_IND 2000-2018/1-12/1/0 C xy kg/m2/s SO2 - 1 4 0 HTAPv3_SO4_IND - - - - - - SO4 63 1 4 0 HTAPv3_pFe_IND - - - - - - pFe 66 1 4 0 HTAPv3_SO2_TRA $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_SO2_0.1x0.1_$YYYY.nc SO2_TRA 2000-2018/1-12/1/0 C xy kg/m2/s SO2 - 1 4 0 HTAPv3_SO4_TRA - - - - - - SO4 63 1 4 0 HTAPv3_pFe_TRA - - - - - - pFe 66 1 4 0 HTAPv3_SO2_RCO $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_SO2_0.1x0.1_$YYYY.nc SO2_RCO 2000-2018/1-12/1/0 C xy kg/m2/s SO2 - 1 4 0 HTAPv3_SO4_RCO - - - - - - SO4 63 1 4 0 HTAPv3_pFe_RCO - - - - - - pFe 66 1 4 0 HTAPv3_SO2_SLV $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_SO2_0.1x0.1_$YYYY.nc SO2_SLV 2000-2018/1-12/1/0 C xy kg/m2/s SO2 - 1 4 0 HTAPv3_SO4_SLV - - - - - - SO4 63 1 4 0 HTAPv3_pFe_SLV - - - - - - pFe 66 1 4 0 HTAPv3_SO2_WST $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_SO2_0.1x0.1_$YYYY.nc SO2_WST 2000-2018/1-12/1/0 C xy kg/m2/s SO2 - 1 4 0 HTAPv3_SO4_WST - - - - - - SO4 63 1 4 0 HTAPv3_pFe_WST - - - - - - pFe 66 1 4 0 HTAPv3_NH3_AGR $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NH3_0.1x0.1_$YYYY.nc NH3_AGR 2000-2018/1-12/1/0 C xy kg/m2/s NH3 - 1 4 0 HTAPv3_NH3_ENE $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NH3_0.1x0.1_$YYYY.nc NH3_ENE 2000-2018/1-12/1/0 C xy kg/m2/s NH3 - 1 4 0 HTAPv3_NH3_IND $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NH3_0.1x0.1_$YYYY.nc NH3_IND 2000-2018/1-12/1/0 C xy kg/m2/s NH3 - 1 4 0 HTAPv3_NH3_TRA $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NH3_0.1x0.1_$YYYY.nc NH3_TRA 2000-2018/1-12/1/0 C xy kg/m2/s NH3 - 1 4 0 HTAPv3_NH3_RCO $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NH3_0.1x0.1_$YYYY.nc NH3_RCO 2000-2018/1-12/1/0 C xy kg/m2/s NH3 - 1 4 0 HTAPv3_NH3_SLV $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NH3_0.1x0.1_$YYYY.nc NH3_SLV 2000-2018/1-12/1/0 C xy kg/m2/s NH3 - 1 4 0 HTAPv3_NH3_WST $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NH3_0.1x0.1_$YYYY.nc NH3_WST 2000-2018/1-12/1/0 C xy kg/m2/s NH3 - 1 4 0 HTAPv3_BCPI_AGR $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_BC_0.1x0.1_$YYYY.nc BC_AGR 2000-2018/1-12/1/0 C xy kg/m2/s BCPI 70 1 4 0 HTAPv3_BCPO_AGR - - - - - - BCPO 71 1 4 0 HTAPv3_BCPI_ENE $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_BC_0.1x0.1_$YYYY.nc BC_ENE 2000-2018/1-12/1/0 C xy kg/m2/s BCPI 70 1 4 0 HTAPv3_BCPO_ENE - - - - - - BCPO 71 1 4 0 HTAPv3_BCPI_IND $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_BC_0.1x0.1_$YYYY.nc BC_IND 2000-2018/1-12/1/0 C xy kg/m2/s BCPI 70 1 4 0 HTAPv3_BCPO_IND - - - - - - BCPO 71 1 4 0 HTAPv3_BCPI_TRA $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_BC_0.1x0.1_$YYYY.nc BC_TRA 2000-2018/1-12/1/0 C xy kg/m2/s BCPI 70 1 4 0 HTAPv3_BCPO_TRA - - - - - - BCPO 71 1 4 0 HTAPv3_BCPI_RCO $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_BC_0.1x0.1_$YYYY.nc BC_RCO 2000-2018/1-12/1/0 C xy kg/m2/s BCPI 70 1 4 0 HTAPv3_BCPO_RCO - - - - - - BCPO 71 1 4 0 HTAPv3_BCPI_SLV $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_BC_0.1x0.1_$YYYY.nc BC_SLV 2000-2018/1-12/1/0 C xy kg/m2/s BCPI 70 1 4 0 HTAPv3_BCPO_SLV - - - - - - BCPO 71 1 4 0 HTAPv3_BCPI_WST $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_BC_0.1x0.1_$YYYY.nc BC_WST 2000-2018/1-12/1/0 C xy kg/m2/s BCPI 70 1 4 0 HTAPv3_BCPO_WST - - - - - - BCPO 71 1 4 0 HTAPv3_OCPI_AGR $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_OC_0.1x0.1_$YYYY.nc OC_AGR 2000-2018/1-12/1/0 C xy kg/m2/s OCPI 72 1 4 0 HTAPv3_OCPO_AGR - - - - - - OCPO 73 1 4 0 HTAPv3_POG1_AGR - - - - - - POG1 73/74/76 1 4 0 HTAPv3_POG2_AGR - - - - - - POG2 73/74/77 1 4 0 HTAPv3_OCPI_ENE $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_OC_0.1x0.1_$YYYY.nc OC_ENE 2000-2018/1-12/1/0 C xy kg/m2/s OCPI 72 1 4 0 HTAPv3_OCPO_ENE - - - - - - OCPO 73 1 4 0 HTAPv3_POG1_ENE - - - - - - POG1 73/74/76 1 4 0 HTAPv3_POG2_ENE - - - - - - POG2 73/74/77 1 4 0 HTAPv3_OCPI_IND $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_OC_0.1x0.1_$YYYY.nc OC_IND 2000-2018/1-12/1/0 C xy kg/m2/s OCPI 72 1 4 0 HTAPv3_OCPO_IND - - - - - - OCPO 73 1 4 0 HTAPv3_POG1_IND - - - - - - POG1 73/74/76 1 4 0 HTAPv3_POG2_IND - - - - - - POG2 73/74/77 1 4 0 HTAPv3_OCPI_TRA $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_OC_0.1x0.1_$YYYY.nc OC_TRA 2000-2018/1-12/1/0 C xy kg/m2/s OCPI 72 1 4 0 HTAPv3_OCPO_TRA - - - - - - OCPO 73 1 4 0 HTAPv3_POG1_TRA - - - - - - POG1 73/74/76 1 4 0 HTAPv3_POG2_TRA - - - - - - POG2 73/74/77 1 4 0 HTAPv3_OCPI_RCO $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_OC_0.1x0.1_$YYYY.nc OC_RCO 2000-2018/1-12/1/0 C xy kg/m2/s OCPI 72 1 4 0 HTAPv3_OCPO_RCO - - - - - - OCPO 73 1 4 0 HTAPv3_POG1_RCO - - - - - - POG1 73/74/76 1 4 0 HTAPv3_POG2_RCO - - - - - - POG2 73/74/77 1 4 0 HTAPv3_OCPI_SLV $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_OC_0.1x0.1_$YYYY.nc OC_SLV 2000-2018/1-12/1/0 C xy kg/m2/s OCPI 72 1 4 0 HTAPv3_OCPO_SLV - - - - - - OCPO 73 1 4 0 HTAPv3_POG1_SLV - - - - - - POG1 73/74/76 1 4 0 HTAPv3_POG2_SLV - - - - - - POG2 73/74/77 1 4 0 HTAPv3_OCPI_WST $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_OC_0.1x0.1_$YYYY.nc OC_WST 2000-2018/1-12/1/0 C xy kg/m2/s OCPI 72 1 4 0 HTAPv3_OCPO_WST - - - - - - OCPO 73 1 4 0 HTAPv3_POG1_WST - - - - - - POG1 73/74/76 1 4 0 HTAPv3_POG2_WST - - - - - - POG2 73/74/77 1 4 # # Use CEDSv2 for species that are not in the HTAPv3 inventory # NOTE: EOH files in CEDS/v2021-06 are actually VOC1 (total alchohols) and are split into MOH, EOH, ROH here 0 CEDS_MOH_AGR $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_agr 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 4 0 CEDS_EOH_AGR - - - - - - EOH 26/91 1 4 0 CEDS_ROH_AGR - - - - - - ROH 26/92 1 4 0 CEDS_MOH_ENE $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_ene 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 4 0 CEDS_EOH_ENE - - - - - - EOH 26/91 1 4 0 CEDS_ROH_ENE - - - - - - ROH 26/92 1 4 0 CEDS_MOH_IND $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_ind 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 4 0 CEDS_EOH_IND - - - - - - EOH 26/91 1 4 0 CEDS_ROH_IND - - - - - - ROH 26/92 1 4 0 CEDS_MOH_TRA $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_tra 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 4 0 CEDS_EOH_TRA - - - - - - EOH 26/91 1 4 0 CEDS_ROH_TRA - - - - - - ROH 26/92 1 4 0 CEDS_MOH_RCO $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_rco 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 4 0 CEDS_EOH_RCO - - - - - - EOH 26/91 1 4 0 CEDS_ROH_RCO - - - - - - ROH 26/92 1 4 0 CEDS_MOH_SLV $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_slv 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 4 0 CEDS_EOH_SLV - - - - - - EOH 26/91 1 4 0 CEDS_ROH_SLV - - - - - - ROH 26/92 1 4 0 CEDS_MOH_WST $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_wst 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 1 4 0 CEDS_EOH_WST - - - - - - EOH 26/91 1 4 0 CEDS_ROH_WST - - - - - - ROH 26/92 1 4 0 CEDS_C2H6_AGR $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_agr 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 4 0 CEDS_C2H6_ENE $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_ene 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 4 0 CEDS_C2H6_IND $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_ind 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 4 0 CEDS_C2H6_TRA $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_tra 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 4 0 CEDS_C2H6_RCO $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_rco 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 4 0 CEDS_C2H6_SLV $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_slv 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 4 0 CEDS_C2H6_WST $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_wst 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 1 4 0 CEDS_C3H8_AGR $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_agr 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 4 0 CEDS_C3H8_ENE $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_ene 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 4 0 CEDS_C3H8_IND $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_ind 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 4 0 CEDS_C3H8_TRA $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_tra 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 4 0 CEDS_C3H8_RCO $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_rco 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 4 0 CEDS_C3H8_SLV $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_slv 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 4 0 CEDS_C3H8_WST $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_wst 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 1 4 0 CEDS_C4H10_AGR $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_agr 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C4H10_ENE $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_ene 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C4H10_IND $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_ind 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C4H10_TRA $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_tra 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C4H10_RCO $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_rco 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C4H10_SLV $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_slv 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C4H10_WST $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_wst 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C5H12_AGR $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_agr 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C5H12_ENE $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_ene 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C5H12_IND $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_ind 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C5H12_TRA $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_tra 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C5H12_RCO $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_rco 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C5H12_SLV $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_slv 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C5H12_WST $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_wst 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C6H14_AGR $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_agr 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C6H14_ENE $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_ene 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C6H14_IND $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_ind 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C6H14_TRA $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_tra 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C6H14_RCO $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_rco 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C6H14_SLV $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_slv 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C6H14_WST $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_wst 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 1 4 0 CEDS_C2H4_AGR $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_agr 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 4 0 CEDS_C2H4_ENE $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_ene 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 4 0 CEDS_C2H4_IND $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_ind 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 4 0 CEDS_C2H4_TRA $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_tra 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 4 0 CEDS_C2H4_RCO $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_rco 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 4 0 CEDS_C2H4_SLV $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_slv 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 4 0 CEDS_C2H4_WST $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_wst 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 1 4 0 CEDS_PRPE_AGR $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_agr 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 4 0 CEDS_PRPE_ENE $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_ene 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 4 0 CEDS_PRPE_IND $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_ind 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 4 0 CEDS_PRPE_TRA $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_tra 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 4 0 CEDS_PRPE_RCO $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_rco 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 4 0 CEDS_PRPE_SLV $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_slv 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 4 0 CEDS_PRPE_WST $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_wst 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 1 4 0 CEDS_C2H2_AGR $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_agr 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 4 0 CEDS_C2H2_ENE $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_ene 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 4 0 CEDS_C2H2_IND $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_ind 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 4 0 CEDS_C2H2_TRA $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_tra 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 4 0 CEDS_C2H2_RCO $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_rco 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 4 0 CEDS_C2H2_SLV $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_slv 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 4 0 CEDS_C2H2_WST $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_wst 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 1 4 0 CEDS_BENZ_AGR $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_agr 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 4 0 CEDS_BENZ_ENE $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_ene 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 4 0 CEDS_BENZ_IND $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_ind 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 4 0 CEDS_BENZ_TRA $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_tra 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 4 0 CEDS_BENZ_RCO $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_rco 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 4 0 CEDS_BENZ_SLV $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_slv 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 4 0 CEDS_BENZ_WST $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_wst 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 1 4 0 CEDS_TOLU_AGR $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_agr 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 4 0 CEDS_TOLU_ENE $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_ene 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 4 0 CEDS_TOLU_IND $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_ind 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 4 0 CEDS_TOLU_TRA $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_tra 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 4 0 CEDS_TOLU_RCO $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_rco 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 4 0 CEDS_TOLU_SLV $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_slv 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 4 0 CEDS_TOLU_WST $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_wst 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 1 4 0 CEDS_XYLE_AGR $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_agr 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 4 0 CEDS_XYLE_ENE $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_ene 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 4 0 CEDS_XYLE_IND $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_ind 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 4 0 CEDS_XYLE_TRA $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_tra 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 4 0 CEDS_XYLE_RCO $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_rco 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 4 0 CEDS_XYLE_SLV $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_slv 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 4 0 CEDS_XYLE_WST $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_wst 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 1 4 0 CEDS_CH2O_AGR $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_agr 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 4 0 CEDS_CH2O_ENE $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_ene 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 4 0 CEDS_CH2O_IND $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_ind 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 4 0 CEDS_CH2O_TRA $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_tra 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 4 0 CEDS_CH2O_RCO $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_rco 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 4 0 CEDS_CH2O_SLV $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_slv 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 4 0 CEDS_CH2O_WST $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_wst 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 1 4 0 CEDS_ALD2_AGR $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_agr 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 4 0 CEDS_ALD2_ENE $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_ene 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 4 0 CEDS_ALD2_IND $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_ind 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 4 0 CEDS_ALD2_TRA $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_tra 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 4 0 CEDS_ALD2_RCO $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_rco 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 4 0 CEDS_ALD2_SLV $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_slv 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 4 0 CEDS_ALD2_WST $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_wst 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 1 4 0 CEDS_MEK_AGR $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_agr 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 4 0 CEDS_MEK_ENE $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_ene 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 4 0 CEDS_MEK_IND $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_ind 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 4 0 CEDS_MEK_TRA $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_tra 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 4 0 CEDS_MEK_RCO $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_rco 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 4 0 CEDS_MEK_SLV $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_slv 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 4 0 CEDS_MEK_WST $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_wst 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 1 4 0 CEDS_HCOOH_AGR $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_agr 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 4 0 CEDS_HCOOH_ENE $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_ene 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 4 0 CEDS_HCOOH_IND $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_ind 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 4 0 CEDS_HCOOH_TRA $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_tra 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 4 0 CEDS_HCOOH_RCO $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_rco 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 4 0 CEDS_HCOOH_SLV $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_slv 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 4 0 CEDS_HCOOH_WST $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_wst 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 1 4 )))HTAPv3 #============================================================================== # --- GEIA NH3 from natural sources --- #============================================================================== (((GEIA_NH3 0 GEIA_NH3_NATU $ROOT/NH3/v2019-08/NH3_geos.2x25.nc NH3_NATU 1990/1-12/1/0 C xy kg/m2/s NH3 - 3 1 )))GEIA_NH3 #============================================================================== # --- NH3 from arctic seabirds --- # Source: Riddick et al., 2012, NERC Environmental Information Data Centre #============================================================================== (((SEABIRD_NH3 0 SEABIRD_NH3 $ROOT/NH3/v2018-04/NH3_Arctic_seabirds.nc NH3_SEABIRDS 1990/1-12/1/0 C xy kg/m2/s NH3 - 30 1 )))SEABIRD_NH3 #============================================================================== # --- POET EOH --- #============================================================================== (((POET_EOH 0 POET_EOH $ROOT/POET/v2017-03/POET_EOH.geos.2x25.nc EOH 1985/1/1/0 C xy kgC/m2/s EOH 26/47 1 1 )))POET_EOH #============================================================================== # --- 2010 Global fossil fuel and biofuel emissions of C2H6 (Tzompa-Sosa et al. (2017) --- # # NOTES: # - These C2H6 emissions are used in place of CEDS #============================================================================== (((TZOMPASOSA_C2H6 0 C2H6_2010_oilgas $ROOT/C2H6_2010/v2019-06/C2H6_global_anth_biof.2010$MM.2x25.nc ANTHR_C2H6 2010/1-12/1/0 C xy kgC/m2/s C2H6 45 1 100 0 C2H6_2010_biofuel $ROOT/C2H6_2010/v2019-06/C2H6_global_anth_biof.2010$MM.2x25.nc BIOFUEL_C2H6 2010/1-12/1/0 C xy kgC/m2/s C2H6 45 1 100 )))TZOMPASOSA_C2H6 #============================================================================== # --- Xiao et al., JGR, 2008 --- # # NOTES: # - Xiao et al. C3H8 emissions are used in place of CEDS # - Priority is set to 10 to overwrite CEDS, but not newer regional inventories (e.g. EPA/NEI) #============================================================================== (((XIAO_C3H8 0 XIAO_C3H8 $ROOT/XIAO/v2014-09/C3H8_C2H6_ngas.geos.1x1.nc C3H8 1985/1/1/0 C xy kgC/m2/s C3H8 6/7/26/22/46 1 10 0 BIOFUEL_C3H8 $ROOT/BIOFUEL/v2019-08/biofuel.geos.2x25.nc BIOFUEL_C3H8 1985/1/1/0 C xy kgC/m2/s C3H8 46 1 10 )))XIAO_C3H8 #============================================================================== # --- Very-short-lived (VSL) bromocarbon emissions (cf. Qing Liang) --- #============================================================================== (((LIANG_BROMOCARB 0 LIANG_CHBR3 $ROOT/BROMINE/v2015-02/Bromocarb_Liang2010.nc CHBr3_emission 2000/1/1/0 C xy kg/m2/s CHBr3 39 1 1 0 LIANG_CH2BR2 $ROOT/BROMINE/v2015-02/Bromocarb_Liang2010.nc CH2Br2_emission 2000/1/1/0 C xy kg/m2/s CH2Br2 - 1 1 )))LIANG_BROMOCARB #============================================================================== # --- Very-short-lived (VSL) iodocarbon emissions (cf. Carlos Ordonez) --- #============================================================================== (((ORDONEZ_IODOCARB 0 ORDONEZ_CH3I $ROOT/IODINE/v2020-02/CH3I_monthly_emissions_Ordonez_2012_COARDS.nc CH3I 2000/1-12/1/0 C xy kg/m2/s CH3I - 1 1 0 ORDONEZ_CH2I2 $ROOT/IODINE/v2020-02/CH2I2_monthly_emissions_Ordonez_2012_COARDS.nc CH2I2 2000/1-12/1/0 C xy kg/m2/s CH2I2 - 1 1 0 ORDONEZ_CH2ICL $ROOT/IODINE/v2020-02/CH2ICl_monthly_emissions_Ordonez_2012_COARDS.nc CH2ICl 2000/1-12/1/0 C xy kg/m2/s CH2ICl - 1 1 0 ORDONEZ_CH2IBR $ROOT/IODINE/v2020-02/CH2IBr_monthly_emissions_Ordonez_2012_COARDS.nc CH2IBr 2000/1-12/1/0 C xy kg/m2/s CH2IBr - 1 1 )))ORDONEZ_IODOCARB #============================================================================== # --- GT_Chlorine --- # # Emission inventory for HCl and particulate Cl from continental sources # # Reference: # Zhang, B., & Liu, P., et al (2022). Global Emissions of Hydrogen Chloride # and Particulate Chloride from Continental Sources. Environmental Science & # Technology, 56(7), 3894-3904. https://doi.org/10.1021/acs.est.1c05634 # # Notes: # - The HCl emission from open biomass burning (HCL_BIO, HCL_AGR) used the same # activity data for GFED4 (1998-2014) and BB4CMIP (1960-2014). If your # emission inventory for open biomass burning has already include HCl # emissions, shut down either of them to avoid the duplicated emission sources # - Emissions of particulate Cl are added as HCl as ISORROPIA will reparition # Cl between particle phase and gas phase. #============================================================================== (((GT_Chlorine 0 HCL_ENE $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc HCl_ene 1960-2014/1-12/1/0 C xy kg/m2/s HCl 26 1/2 1 0 HCL_IND $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc HCl_ind 1960-2014/1-12/1/0 C xy kg/m2/s HCl 26 1/2 1 0 HCL_RES $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc HCl_res 1960-2014/1-12/1/0 C xy kg/m2/s HCl 26 1/2 1 0 HCL_WST $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc HCl_wstop 1960-2014/1-12/1/0 C xy kg/m2/s HCl 26 1/2 1 0 HCL_BIO $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc HCl_bbop 1960-2014/1-12/1/0 C xy kg/m2/s HCl 75 1/2 1 0 HCL_AGR $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc HCl_agri 1960-2014/1-12/1/0 C xy kg/m2/s HCl 75 1/2 1 0 PCL_ENE $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc pCl_ene 1960-2014/1-12/1/0 C xy kg/m2/s HCl 26 1/2 1 0 PCL_IND $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc pCl_ind 1960-2014/1-12/1/0 C xy kg/m2/s HCl 26 1/2 1 0 PCL_RES $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc pCl_res 1960-2014/1-12/1/0 C xy kg/m2/s HCl 26 1/2 1 0 PCL_WST $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc pCl_wstop 1960-2014/1-12/1/0 C xy kg/m2/s HCl 26 1/2 1 0 PCL_BIO $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc pCl_bbop 1960-2014/1-12/1/0 C xy kg/m2/s HCl 75 1/2 1 0 PCL_AGR $ROOT/GT_Chlorine/v2024-05/GT_Chlorine_01_01_$YYYY_V1.0.0.nc pCl_agri 1960-2014/1-12/1/0 C xy kg/m2/s HCl 75 1/2 1 )))GT_Chlorine #============================================================================== # --- Ship emissions --- # # ==> CEDS ship emissions are now the default. # ==> If CEDS_SHIP is turned off above then ARCTAS should be used over ICOADS, # CORBETT, and HTAPv3 for SO2 and ICOADS should be used for CO and NO. # ==> Ship NO emissions are used by PARANOx and the extension number must be # adjusted accordingly. If PARANOx is turned off, set the ExtNr back to # zero. #============================================================================== (((SHIP (((ARCTAS_SHIP 0 ARCTAS_SHIP_SO2 $ROOT/ARCTAS_SHIP/v2014-07/ARCTAS_ship.generic.1x1.nc SO2 2008/1/1/0 C xy kg/m2/s SO2 11/19 10 1 )))ARCTAS_SHIP (((ICOADS_SHIP 0 ICOADS_SHIP_SO2 $ROOT/ICOADS_SHIP/v2014-07/ICOADS.generic.1x1.nc SO2 2002/1-12/1/0 C xy kg/m2/s SO2 11/15/60 10 2 0 ICOADS_SHIP_CO $ROOT/ICOADS_SHIP/v2014-07/ICOADS.generic.1x1.nc CO 2002/1-12/1/0 C xy kg/m2/s CO 6/10 10 2 0 ICOADS_SHIP_SOAP - - - - - - SOAP 6/10/280 10 2 )))ICOADS_SHIP (((CORBETT_SHIP 0 CORBETT_SHIP_SO2 $ROOT/CORBETT_SHIP/v2014-07/CORBETT_ship.geos.1x1.nc SO2_SHIP 1985/1-12/1/0 C xy kg/m2/s SO2 - 10 3 )))CORBETT_SHIP (((HTAPv3_SHIP 0 HTAPv3_CO_SHP $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_CO_0.1x0.1_$YYYY.nc CO_SHP 2000-2018/1-12/1/0 C xy kg/m2/s CO 26 10 4 0 HTAPv3_SOAP_SHP - - - - - - SOAP 26/280 10 4 0 HTAPv3_SO2_SHP $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_SO2_0.1x0.1_$YYYY.nc SO2_SHP 2000-2018/1-12/1/0 C xy kg/m2/s SO2 - 10 4 0 HTAPv3_SO4_SHP - - - - - - SO4 63 10 4 0 HTAPv3_pFe_SHP - - - - - - pFe 66 10 4 0 HTAPv3_NH3_SHP $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NH3_0.1x0.1_$YYYY.nc NH3_SHP 2000-2018/1-12/1/0 C xy kg/m2/s NH3 - 10 4 0 HTAPv3_BCPI_SHP $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_BC_0.1x0.1_$YYYY.nc BC_SHP 2000-2018/1-12/1/0 C xy kg/m2/s BCPI 70 10 4 0 HTAPv3_BCPO_SHP - - - - - - BCPO 71 10 4 0 HTAPv3_OCPI_SHP $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_OC_0.1x0.1_$YYYY.nc OC_SHP 2000-2018/1-12/1/0 C xy kg/m2/s OCPI 72 10 4 0 HTAPv3_OCPO_SHP - - - - - - OCPO 73 10 4 # Use CEDSv2 ship emissions for species not in HTAPv3 0 CEDS_MOH_SHP $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_shp 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 10 4 0 CEDS_EOH_SHP - - - - - - EOH 26/91 10 4 0 CEDS_ROH_SHP - - - - - - ROH 26/92 10 4 0 CEDS_C2H6_SHP $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_shp 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 10 4 0 CEDS_C3H8_SHP $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_shp 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 10 4 0 CEDS_C4H10_SHP $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_shp 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 10 4 0 CEDS_C5H12_SHP $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_shp 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 10 4 0 CEDS_C6H14_SHP $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_shp 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 10 4 0 CEDS_C2H4_SHP $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_shp 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 10 4 0 CEDS_PRPE_SHP $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_shp 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 10 4 0 CEDS_C2H2_SHP $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_shp 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 10 4 0 CEDS_BENZ_SHP $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_shp 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 10 4 0 CEDS_TOLU_SHP $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_shp 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 10 4 0 CEDS_XYLE_SHP $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_shp 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 10 4 0 CEDS_CH2O_SHP $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_shp 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 10 4 0 CEDS_ALD2_SHP $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_shp 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 10 4 0 CEDS_MEK_SHP $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_shp 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 10 4 0 CEDS_HCOOH_SHP $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_shp 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 10 4 0 CEDS_TMB_SHP $ROOT/CEDS/v2021-06/$YYYY/TMB-em-anthro_CMIP_CEDS_$YYYY.nc TMB_shp 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 10 4 0 CEDS_OTH_SHP $ROOT/CEDS/v2021-06/$YYYY/OTHER_VOC-em-anthro_CMIP_CEDS_$YYYY.nc OTHER_VOC_shp 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 10 4 )))HTAPv3_SHIP (((CEDSv2_SHIP 0 CEDS_CO_SHP $ROOT/CEDS/v2021-06/$YYYY/CO-em-anthro_CMIP_CEDS_$YYYY.nc CO_shp 1750-2019/1-12/1/0 C xy kg/m2/s CO 26 10 5 0 CEDS_SOAP_SHP - - - - - - SOAP 26/280 10 5 0 CEDS_SO2_SHP $ROOT/CEDS/v2021-06/$YYYY/SO2-em-anthro_CMIP_CEDS_$YYYY.nc SO2_shp 1750-2019/1-12/1/0 C xy kg/m2/s SO2 - 10 5 0 CEDS_SO4_SHP - - - - - - SO4 63 10 5 0 CEDS_pFe_SHP - - - - - - pFe 66 10 5 0 CEDS_NH3_SHP $ROOT/CEDS/v2021-06/$YYYY/NH3-em-anthro_CMIP_CEDS_$YYYY.nc NH3_shp 1750-2019/1-12/1/0 C xy kg/m2/s NH3 - 10 5 0 CEDS_BCPI_SHP $ROOT/CEDS/v2021-06/$YYYY/BC-em-anthro_CMIP_CEDS_$YYYY.nc BC_shp 1750-2019/1-12/1/0 C xy kg/m2/s BCPI 70 10 5 0 CEDS_BCPO_SHP - - - - - - BCPO 71 10 5 0 CEDS_OCPI_SHP $ROOT/CEDS/v2021-06/$YYYY/OC-em-anthro_CMIP_CEDS_$YYYY.nc OC_shp 1750-2019/1-12/1/0 C xy kg/m2/s OCPI 72 10 5 0 CEDS_OCPO_SHP - - - - - - OCPO 73 10 5 0 CEDS_POG1_SHP - - - - - - POG1 74/76 10 5 0 CEDS_POG2_SHP - - - - - - POG2 74/77 10 5 0 CEDS_MOH_SHP $ROOT/CEDS/v2021-06/$YYYY/EOH-em-anthro_CMIP_CEDS_$YYYY.nc EOH_shp 1750-2019/1-12/1/0 C xy kg/m2/s MOH 26/90 10 5 0 CEDS_EOH_SHP - - - - - - EOH 26/91 10 5 0 CEDS_ROH_SHP - - - - - - ROH 26/92 10 5 0 CEDS_C2H6_SHP $ROOT/CEDS/v2021-06/$YYYY/C2H6-em-anthro_CMIP_CEDS_$YYYY.nc C2H6_shp 1750-2019/1-12/1/0 C xy kg/m2/s C2H6 26 10 5 0 CEDS_C3H8_SHP $ROOT/CEDS/v2021-06/$YYYY/C3H8-em-anthro_CMIP_CEDS_$YYYY.nc C3H8_shp 1750-2019/1-12/1/0 C xy kg/m2/s C3H8 26 10 5 0 CEDS_C4H10_SHP $ROOT/CEDS/v2021-06/$YYYY/ALK4_butanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_butanes_shp 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 10 5 0 CEDS_C5H12_SHP $ROOT/CEDS/v2021-06/$YYYY/ALK4_pentanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_pentanes_shp 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 10 5 0 CEDS_C6H14_SHP $ROOT/CEDS/v2021-06/$YYYY/ALK4_hexanes-em-anthro_CMIP_CEDS_$YYYY.nc ALK4_hexanes_shp 1750-2019/1-12/1/0 C xy kg/m2/s ALK4 26 10 5 0 CEDS_C2H4_SHP $ROOT/CEDS/v2021-06/$YYYY/C2H4-em-anthro_CMIP_CEDS_$YYYY.nc C2H4_shp 1750-2019/1-12/1/0 C xy kg/m2/s C2H4 26 10 5 0 CEDS_PRPE_SHP $ROOT/CEDS/v2021-06/$YYYY/PRPE-em-anthro_CMIP_CEDS_$YYYY.nc PRPE_shp 1750-2019/1-12/1/0 C xy kg/m2/s PRPE 26 10 5 0 CEDS_C2H2_SHP $ROOT/CEDS/v2021-06/$YYYY/C2H2-em-anthro_CMIP_CEDS_$YYYY.nc C2H2_shp 1750-2019/1-12/1/0 C xy kg/m2/s C2H2 26 10 5 0 CEDS_BENZ_SHP $ROOT/CEDS/v2021-06/$YYYY/BENZ-em-anthro_CMIP_CEDS_$YYYY.nc BENZ_shp 1750-2019/1-12/1/0 C xy kg/m2/s BENZ 26 10 5 0 CEDS_TOLU_SHP $ROOT/CEDS/v2021-06/$YYYY/TOLU-em-anthro_CMIP_CEDS_$YYYY.nc TOLU_shp 1750-2019/1-12/1/0 C xy kg/m2/s TOLU 26 10 5 0 CEDS_XYLE_SHP $ROOT/CEDS/v2021-06/$YYYY/XYLE-em-anthro_CMIP_CEDS_$YYYY.nc XYLE_shp 1750-2019/1-12/1/0 C xy kg/m2/s XYLE 26 10 5 0 CEDS_CH2O_SHP $ROOT/CEDS/v2021-06/$YYYY/CH2O-em-anthro_CMIP_CEDS_$YYYY.nc CH2O_shp 1750-2019/1-12/1/0 C xy kg/m2/s CH2O 26 10 5 0 CEDS_ALD2_SHP $ROOT/CEDS/v2021-06/$YYYY/ALD2-em-anthro_CMIP_CEDS_$YYYY.nc ALD2_shp 1750-2019/1-12/1/0 C xy kg/m2/s ALD2 26 10 5 0 CEDS_MEK_SHP $ROOT/CEDS/v2021-06/$YYYY/MEK-em-anthro_CMIP_CEDS_$YYYY.nc MEK_shp 1750-2019/1-12/1/0 C xy kg/m2/s MEK 26 10 5 0 CEDS_HCOOH_SHP $ROOT/CEDS/v2021-06/$YYYY/HCOOH-em-anthro_CMIP_CEDS_$YYYY.nc HCOOH_shp 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 10 5 0 CEDS_TMB_SHP $ROOT/CEDS/v2021-06/$YYYY/TMB-em-anthro_CMIP_CEDS_$YYYY.nc TMB_shp 1750-2019/1-12/1/0 C xy kg/m2/s HCOOH 26 10 5 0 CEDS_OTH_SHP $ROOT/CEDS/v2021-06/$YYYY/OTHER_VOC-em-anthro_CMIP_CEDS_$YYYY.nc OTHER_VOC_shp 1750-2019/1-12/1/0 C xy kg/m2/s ALK6 26 10 5 )))CEDSv2_SHIP (((CEDS_GBDMAPS_SHIP >>>include $ROOT/CEDS/v2020-08/HEMCO_Config.CEDS_GBDMAPS_SHIP.rc )))CEDS_GBDMAPS_SHIP (((CEDS_SHIP_byFuelType (((.not.CEDS_GBDMAPS_SHIP (((.not.CEDSv2_SHIP >>>include $ROOT/CEDS/v2020-08/HEMCO_Config.CEDS_GBD-MAPS_SHIP_byFuelType.rc ))).not.CEDSv2_SHIP ))).not.CEDS_GBDMAPS_SHIP )))CEDS_SHIP_byFuelType #============================================================================== # --- CMIP6_SHIP --- # CEDS (historical) or Shared Socioeconomic Pathways (future), consistent with # the CMIP6 simulation experimental design. # # Make sure that the desired $GCAPSCENARIO is set above in SECTION SETTINGS # #============================================================================== (((CMIP6_SHIP 0 CMIP6_CO_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_shp 1750-2100/1-12/1/0 C xy kg/m2/s CO 26 10 5 0 CMIP6_SOAP_SHP - - - - - - SOAP 26/280 10 5 0 CMIP6_SO2_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_shp 1750-2100/1-12/1/0 C xy kg/m2/s SO2 - 10 5 0 CMIP6_SO4_SHP - - - - - - SO4 63 10 5 0 CMIP6_pFe_SHP - - - - - - pFe 66 10 5 0 CMIP6_NH3_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_shp 1750-2100/1-12/1/0 C xy kg/m2/s NH3 - 10 5 0 CMIP6_BCPI_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_shp 1750-2100/1-12/1/0 C xy kg/m2/s BCPI 70 10 5 0 CMIP6_BCPO_SHP - - - - - - BCPO 71 10 5 0 CMIP6_OCPI_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_shp 1750-2100/1-12/1/0 C xy kg/m2/s OCPI 72 10 5 0 CMIP6_OCPO_SHP - - - - - - OCPO 73 10 5 0 CMIP6_POG1_SHP - - - - - - POG1 74/76 10 5 0 CMIP6_POG2_SHP - - - - - - POG2 74/77 10 5 # NOTE: EOH files in CMIP6/v2021-01 are actually VOC1 (total alchohols) and are split into MOH, EOH, ROH here 0 CMIP6_MOH_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 EOH_shp 1750-2100/1-12/1/0 C xy kg/m2/s MOH 26/90 10 5 0 CMIP6_EOH_SHP - - - - - - EOH 26/91 10 5 0 CMIP6_ROH_SHP - - - - - - ROH 26/92 10 5 0 CMIP6_C2H6_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H6_shp 1750-2100/1-12/1/0 C xy kg/m2/s C2H6 26 10 5 0 CMIP6_C3H8_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C3H8_shp 1750-2100/1-12/1/0 C xy kg/m2/s C3H8 26 10 5 0 CMIP6_C4H10_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_butanes_shp 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 10 5 0 CMIP6_C5H12_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_pentanes_shp 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 10 5 0 CMIP6_C6H14_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_hexanes_shp 1750-2100/1-12/1/0 C xy kg/m2/s ALK4 26 10 5 0 CMIP6_C2H4_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H4_shp 1750-2100/1-12/1/0 C xy kg/m2/s C2H4 26 10 5 0 CMIP6_PRPE_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 PRPE_shp 1750-2100/1-12/1/0 C xy kg/m2/s PRPE 26 10 5 0 CMIP6_C2H2_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H2_shp 1750-2100/1-12/1/0 C xy kg/m2/s C2H2 26 10 5 0 CMIP6_BENZ_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BENZ_shp 1750-2100/1-12/1/0 C xy kg/m2/s BENZ 26 10 5 0 CMIP6_TOLU_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 TOLU_shp 1750-2100/1-12/1/0 C xy kg/m2/s TOLU 26 10 5 0 CMIP6_XYLE_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 XYLE_shp 1750-2100/1-12/1/0 C xy kg/m2/s XYLE 26 10 5 0 CMIP6_CH2O_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH2O_shp 1750-2100/1-12/1/0 C xy kg/m2/s CH2O 26 10 5 0 CMIP6_ALD2_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALD2_shp 1750-2100/1-12/1/0 C xy kg/m2/s ALD2 26 10 5 0 CMIP6_MEK_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MEK_shp 1750-2100/1-12/1/0 C xy kg/m2/s MEK 26 10 5 0 CMIP6_HCOOH_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 HCOOH_shp 1750-2100/1-12/1/0 C xy kg/m2/s HCOOH 26 10 5 )))CMIP6_SHIP #------------------------------------------------------------------------------ # ### IF THE PARANOX EXTENSION IS TURNED ON ### # # Cosine(SZA) will be read from the restart file. Use the PARANOX extension # number (# 102) to specify these quantities and the NEI emissions. # This will make sure everything will be passed to the HEMCO PARANOX extension # rather than sending them into the base emissions. #------------------------------------------------------------------------------ (((ParaNOx (((ICOADS_SHIP 102 ICOADS_SHIP_NO $ROOT/ICOADS_SHIP/v2014-07/ICOADS.generic.1x1.nc NO 2002/1-12/1/0 C xy kg/m2/s NO 1/5 10 1 )))ICOADS_SHIP (((HTAPv3_SHIP 102 HTAPv3_NO_SHP $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NO_0.1x0.1_$YYYY.nc NO_SHP 2000-2018/1-12/1/0 C xy kg/m2/s NO 25 10 4 )))HTAPv3_SHIP (((CEDSv2_SHIP 102 CEDS_NO_SHP $ROOT/CEDS/v2021-06/$YYYY/NO-em-anthro_CMIP_CEDS_$YYYY.nc NO_shp 1750-2019/1-12/1/0 C xy kg/m2/s NO 25 10 5 )))CEDSv2_SHIP (((CEDS_GBDMAPS_SHIP 102 CEDS_NO_SHP $ROOT/CEDS/v2020-08/$YYYY/NO-em-total-anthro_CEDS_$YYYY.nc NO_shp 1970-2017/1-12/1/0 C xy kg/m2/s NO 25 10 5 )))CEDS_GBDMAPS_SHIP )))ParaNOx #------------------------------------------------------------------------------ # ### IF THE PARANOX EXTENSION IS TURNED OFF ### # # Use extension # 0 to specify these emissions. This will put them # into the base emissions rather than sending them through PARANOX. #------------------------------------------------------------------------------ (((.not.ParaNOx (((ICOADS_SHIP 0 ICOADS_SHIP_NO $ROOT/ICOADS_SHIP/v2014-07/ICOADS.generic.1x1.nc NO 2002/1-12/1/0 C xy kg/m2/s NO 1/5 10 1 )))ICOADS_SHIP (((HTAPv3_SHIP 0 HTAPv3_NO_SHIP $ROOT/HTAPv3/v2022-12/$YYYY/HTAPv3_NO_0.1x0.1_$YYYY.nc NO_SHP 2000-2018/1-12/1/0 C xy kg/m2/s NO 25 10 4 )))HTAPv3_SHIP (((CEDSv2_SHIP 0 CEDS_NO_SHP $ROOT/CEDS/v2021-06/$YYYY/NO-em-anthro_CMIP_CEDS_$YYYY.nc NO_shp 1750-2019/1-12/1/0 C xy kg/m2/s NO 25 10 5 )))CEDSv2_SHIP (((CEDS_GBDMAPS_SHIP 0 CEDS_NO_SHP $ROOT/CEDS/v2020-08/$YYYY/NO-em-total-anthro_CEDS_$YYYY.nc NO_shp 1970-2017/1-12/1/0 C xy kg/m2/s NO 25 10 5 )))CEDS_GBDMAPS_SHIP (((CMIP6_SHIP 102 CMIP6_NO_SHP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NO_shp 1750-2100/1-12/1/0 C xy kg/m2/s NO 25 10 5 )))CMIP6_SHIP ))).not.ParaNOx )))SHIP #============================================================================== # --- AEIC 2019 aircraft emissions (daily & monthly mean) --- # # Data files are for 2019, but scale factors from 1990-2019 can be applied # in order to get year-specific emissions. See the notes in the AEIC2019 # scale factor section below for more information. #============================================================================== (((AEIC2019_DAILY 0 AEIC19_DAILY_NO $ROOT/AEIC2019/v2022-03/2019/$MM/AEIC_2019$MM$DD.0.5x0.625.36L.nc NO 2019/1-12/1-31/0 C xyz kg/m2/s NO 241/240 20 1 0 AEIC19_DAILY_NO2 $ROOT/AEIC2019/v2022-03/2019/$MM/AEIC_2019$MM$DD.0.5x0.625.36L.nc NO2 2019/1-12/1-31/0 C xyz kg/m2/s NO2 241/240 20 1 0 AEIC19_DAILY_HONO $ROOT/AEIC2019/v2022-03/2019/$MM/AEIC_2019$MM$DD.0.5x0.625.36L.nc HONO 2019/1-12/1-31/0 C xyz kg/m2/s HNO2 241/240 20 1 0 AEIC19_DAILY_CO $ROOT/AEIC2019/v2022-03/2019/$MM/AEIC_2019$MM$DD.0.5x0.625.36L.nc CO 2019/1-12/1-31/0 C xyz kg/m2/s CO 241 20 1 0 AEIC19_DAILY_SOAP - - - - - - SOAP 241/280 20 1 0 AEIC19_DAILY_SO2 $ROOT/AEIC2019/v2022-03/2019/$MM/AEIC_2019$MM$DD.0.5x0.625.36L.nc FUELBURN 2019/1-12/1-31/0 C xyz kg/m2/s SO2 241/111 20 1 0 AEIC19_DAILY_pFe - - - - - - pFe 241/111/66 20 1 0 AEIC19_DAILY_SO4 - - - - - - SO4 241/112 20 1 0 AEIC19_DAILY_H2O - - - - - - H2O 241/120 20 1 0 AEIC19_DAILY_BCPI $ROOT/AEIC2019/v2022-03/2019/$MM/AEIC_2019$MM$DD.0.5x0.625.36L.nc BC 2019/1-12/1-31/0 C xyz kg/m2/s BCPI 241 20 1 0 AEIC19_DAILY_OCPI $ROOT/AEIC2019/v2022-03/2019/$MM/AEIC_2019$MM$DD.0.5x0.625.36L.nc OC 2019/1-12/1-31/0 C xyz kg/m2/s OCPI 241 20 1 0 AEIC19_DAILY_POG1 - - - - - - POG1 241/74/76 20 1 0 AEIC19_DAILY_POG2 - - - - - - POG2 241/74/77 20 1 0 AEIC19_DAILY_ACET $ROOT/AEIC2019/v2022-03/2019/$MM/AEIC_2019$MM$DD.0.5x0.625.36L.nc HC 2019/1-12/1-31/0 C xyz kg/m2/s ACET 241/114/101 20 1 0 AEIC19_DAILY_ALD2 - - - - - - ALD2 241/114/102 20 1 0 AEIC19_DAILY_ALK4 - - - - - - ALK4 241/114/103 20 1 0 AEIC19_DAILY_C2H6 - - - - - - C2H6 241/114/104 20 1 0 AEIC19_DAILY_C3H8 - - - - - - C3H8 241/114/105 20 1 0 AEIC19_DAILY_CH2O - - - - - - CH2O 241/114/106 20 1 0 AEIC19_DAILY_PRPE - - - - - - PRPE 241/114/107 20 1 0 AEIC19_DAILY_MACR - - - - - - MACR 241/114/108 20 1 0 AEIC19_DAILY_RCHO - - - - - - RCHO 241/114/109 20 1 )))AEIC2019_DAILY (((AEIC2019_MONMEAN 0 AEIC19_MONMEAN_NO $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc NO 2019/1-12/1/0 C xyz kg/m2/s NO 241/240 20 1 0 AEIC19_MONMEAN_NO2 $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc NO2 2019/1-12/1/0 C xyz kg/m2/s NO2 241/240 20 1 0 AEIC19_MONMEAN_HONO $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc HONO 2019/1-12/1/0 C xyz kg/m2/s HNO2 241/240 20 1 0 AEIC19_MONMEAN_CO $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc CO 2019/1-12/1/0 C xyz kg/m2/s CO 241 20 1 0 AEIC19_MONMEAN_SOAP - - - - - - SOAP 241/280 20 1 0 AEIC19_MONMEAN_SO2 $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc FUELBURN 2019/1-12/1/0 C xyz kg/m2/s SO2 241/111 20 1 0 AEIC19_MONMEAN_pFe - - - - - - pFe 241/111/66 20 1 0 AEIC19_MONMEAN_SO4 - - - - - - SO4 241/112 20 1 0 AEIC19_MONMEAN_H2O - - - - - - H2O 241/120 20 1 0 AEIC19_MONMEAN_BCPI $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc BC 2019/1-12/1/0 C xyz kg/m2/s BCPI 241 20 1 0 AEIC19_MONMEAN_OCPI $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc OC 2019/1-12/1/0 C xyz kg/m2/s OCPI 241 20 1 0 AEIC19_MONMEAN_POG1 - - - - - - POG1 241/74/76 20 1 0 AEIC19_MONMEAN_POG2 - - - - - - POG2 241/74/77 20 1 0 AEIC19_MONMEAN_ACET $ROOT/AEIC2019/v2022-03/2019_monmean/AEIC_monmean_2019$MM.0.5x0.625.36L.nc HC 2019/1-12/1/0 C xyz kg/m2/s ACET 241/114/101 20 1 0 AEIC19_MONMEAN_ALD2 - - - - - - ALD2 241/114/102 20 1 0 AEIC19_MONMEAN_ALK4 - - - - - - ALK4 241/114/103 20 1 0 AEIC19_MONMEAN_C2H6 - - - - - - C2H6 241/114/104 20 1 0 AEIC19_MONMEAN_C3H8 - - - - - - C3H8 241/114/105 20 1 0 AEIC19_MONMEAN_CH2O - - - - - - CH2O 241/114/106 20 1 0 AEIC19_MONMEAN_PRPE - - - - - - PRPE 241/114/107 20 1 0 AEIC19_MONMEAN_MACR - - - - - - MACR 241/114/108 20 1 0 AEIC19_MONMEAN_RCHO - - - - - - RCHO 241/114/109 20 1 )))AEIC2019_MONMEAN #============================================================================== # --- Emissions from decaying plants --- #============================================================================== (((DECAYING_PLANTS 0 ALD2_PLANTDECAY $ROOT/ALD2/v2017-03/resp.geos.2x25.nc HET_RESP 1985/1-12/1/0 C xy kgC/m2/s ALD2 85/41 3 1 0 EOH_PLANTDECAY - - - - - - EOH 86/47 3 1 )))DECAYING_PLANTS #============================================================================== # --- RCP future emissions scenarios --- #============================================================================== (((RCP_3PD 0 RCP3PD_CH4 $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_CH4_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CH4 - 1 1 0 RCP3PD_NOx $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_NOx_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s NO - 1 1 0 RCP3PD_CO $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_CO_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CO - 1 1 0 RCP3PD_SOAP - - - - - - SOAP 280 1 1 0 RCP3PD_BCPO $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_BC_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s BCPO - 1 1 0 RCP3PD_OCPO $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_OC_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s OCPO - 1 1 0 RCP3PD_POG1 - - - - - - POG1 74/76 1 1 0 RCP3PD_POG2 - - - - - - POG2 74/77 1 1 0 RCP3PD_SO2 $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_SO2_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s SO2 - 1 1 0 RCP3PD_pFe - - - - - - pFe 66 1 1 0 RCP3PD_NH3 $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_NH3_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s NH3 - 1 1 0 RCP3PD_C2H2 $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_acetylene_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H2 59 1 1 0 RCP3PD_CH2O $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_formaldehyde_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CH2O - 1 1 0 RCP3PD_BENZ $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_benzene_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s BENZ 43 1 1 0 RCP3PD_TOLU $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_toluene_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s TOLU 55 1 1 0 RCP3PD_XYLE $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_xylene_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s XYLE 56 1 1 0 RCP3PD_ALD2 $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_other_aldehydes_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALD2 41 1 1 0 RCP3PD_ALK4__A $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_butanes_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP3PD_ALK4__B $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_pentanes_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP3PD_ALK4__C $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_hexanes_and_higher_alkanes_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP3PD_ACET $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_total_ketones_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ACET 51/40 1 1 0 RCP3PD_MEK - - - - - - MEK 50/48 1 1 0 RCP3PD_C2H6 $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_ethane_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H6 45 1 1 0 RCP3PD_C2H4 $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_ethene_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H4 44 1 1 0 RCP3PD_C3H8 $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_propane_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C3H8 46 1 1 0 RCP3PD_PRPE $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_propene_2005-2100_23474_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s PRPE 49 1 1 0 RCP3PD_HCOOH $ROOT/RCP/v2020-07/RCP_3PD/RCPs_anthro_total_acids_2005-2100_23474.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s HCOOH 57/58 1 1 )))RCP_3PD (((RCP_45 0 RCP45_CH4 $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_CH4_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CH4 - 1 1 0 RCP45_NOx $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_NOx_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s NO - 1 1 0 RCP45_CO $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_CO_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CO - 1 1 0 RCP45_SOAP - - - - - - SOAP 280 1 1 0 RCP45_BCPO $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_BC_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s BCPO - 1 1 0 RCP45_OCPO $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_OC_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s OCPO - 1 1 0 RCP45_POG1 - - - - - - POG1 74/76 1 1 0 RCP45_POG2 - - - - - - POG2 74/77 1 1 0 RCP45_SO2 $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_SO2_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s SO2 - 1 1 0 RCP45_pFe - - - - - - pFe 66 1 1 0 RCP45_NH3 $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_NH3_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s NH3 - 1 1 0 RCP45_C2H2 $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_acetylene_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H2 59 1 1 0 RCP45_CH2O $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_formaldehyde_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CH2O - 1 1 0 RCP45_BENZ $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_benzene_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s BENZ 43 1 1 0 RCP45_TOLU $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_toluene_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s TOLU 55 1 1 0 RCP45_XYLE $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_xylene_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s XYLE 56 1 1 0 RCP45_ALD2 $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_other_aldehydes_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALD2 41 1 1 0 RCP45_ALK4__A $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_butanes_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP45_ALK4__B $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_pentanes_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP45_ALK4__C $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_hexanes_and_higher_alkanes_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP45_ACET $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_total_ketones_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ACET 51/40 1 1 0 RCP45_MEK - - - - - - MEK 50/48 1 1 0 RCP45_C2H6 $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_ethane_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H6 45 1 1 0 RCP45_C2H4 $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_ethene_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H4 44 1 1 0 RCP45_C3H8 $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_propane_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C3H8 46 1 1 0 RCP45_PRPE $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_propene_2005-2100_27424_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s PRPE 49 1 1 0 RCP45_HCOOH $ROOT/RCP/v2020-07/RCP_45/RCPs_anthro_total_acids_2005-2100_27424.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s HCOOH 57/58 1 1 )))RCP_45 (((RCP_60 0 RCP60_CH4 $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_CH4_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CH4 - 1 1 0 RCP60_NOx $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_NOx_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s NO - 1 1 0 RCP60_CO $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_CO_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CO - 1 1 0 RCP60_SOAP - - - - - - SOAP 280 1 1 0 RCP60_BCPO $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_BC_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s BCPO - 1 1 0 RCP60_OCPO $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_OC_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s OCPO - 1 1 0 RCP60_POG1 - - - - - - POG1 74/76 1 1 0 RCP60_POG2 - - - - - - POG2 74/77 1 1 0 RCP60_SO2 $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_SO2_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s SO2 - 1 1 0 RCP60_pFe - - - - - - pFe 66 1 1 0 RCP60_NH3 $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_NH3_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s NH3 - 1 1 0 RCP60_C2H2 $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_acetylene_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H2 59 1 1 0 RCP60_CH2O $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_formaldehyde_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CH2O - 1 1 0 RCP60_BENZ $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_benzene_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s BENZ 43 1 1 0 RCP60_TOLU $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_toluene_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s TOLU 55 1 1 0 RCP60_XYLE $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_xylene_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s XYLE 56 1 1 0 RCP60_ALD2 $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_other_aldehydes_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALD2 41 1 1 0 RCP60_ALK4__A $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_butanes_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP60_ALK4__B $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_pentanes_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP60_ALK4__C $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_hexanes_and_higher_alkanes_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP60_ACET $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_total_ketones_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ACET 51/40 1 1 0 RCP60_MEK - - - - - - MEK 50/48 1 1 0 RCP60_C2H6 $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_ethane_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H6 45 1 1 0 RCP60_C2H4 $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_ethene_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H4 44 1 1 0 RCP60_C3H8 $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_propane_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C3H8 46 1 1 0 RCP60_PRPE $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_propene_2005-2100_43190_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s PRPE 49 1 1 0 RCP60_HCOOH $ROOT/RCP/v2020-07/RCP_60/RCPs_anthro_total_acids_2005-2100_43190.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s HCOOH 57/58 1 1 )))RCP_60 (((RCP_85 0 RCP85_CH4 $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_CH4_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CH4 - 1 1 0 RCP85_NOx $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_NOx_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s NO - 1 1 0 RCP85_CO $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_CO_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CO - 1 1 0 RCP85_SOAP - - - - - - SOAP 280 1 1 0 RCP85_BCPO $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_BC_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s BCPO - 1 1 0 RCP85_OCPO $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_OC_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s OCPO - 1 1 0 RCP85_POG1 - - - - - - POG1 74/76 1 1 0 RCP85_POG2 - - - - - - POG2 74/77 1 1 0 RCP85_SO2 $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_SO2_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s SO2 - 1 1 0 RCP80_pFe - - - - - - pFe 66 1 1 0 RCP85_NH3 $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_NH3_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s NH3 - 1 1 0 RCP85_C2H2 $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_acetylene_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H2 59 1 1 0 RCP85_CH2O $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_formaldehyde_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s CH2O - 1 1 0 RCP85_BENZ $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_benzene_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s BENZ 43 1 1 0 RCP85_TOLU $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_toluene_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s TOLU 55 1 1 0 RCP85_XYLE $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_xylene_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s XYLE 56 1 1 0 RCP85_ALD2 $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_other_aldehydes_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALD2 41 1 1 0 RCP85_ALK4__A $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_butanes_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP85_ALK4__B $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_pentanes_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP85_ALK4__C $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_hexanes_and_higher_alkanes_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ALK4 42 1 1 0 RCP85_ACET $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_total_ketones_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s ACET 51/40 1 1 0 RCP85_MEK - - - - - - MEK 50/48 1 1 0 RCP85_C2H6 $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_ethane_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H6 45 1 1 0 RCP85_C2H4 $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_ethene_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C2H4 44 1 1 0 RCP85_C3H8 $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_propane_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s C3H8 46 1 1 0 RCP85_PRPE $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_propene_2005-2100_43533_kgC.nc ACCMIP 2005-2100/1/1/0 ID xy kgC/m2/s PRPE 49 1 1 0 RCP85_HCOOH $ROOT/RCP/v2020-07/RCP_85/RCPs_anthro_total_acids_2005-2100_43533.nc ACCMIP 2005-2100/1/1/0 ID xy kg/m2/s HCOOH 57/58 1 1 )))RCP_85 #============================================================================== # --- QFED2 biomass burning (v2.5r1) --- #============================================================================== (((QFED2 0 QFED_ACET_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_acet.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s ACET 75/311 5 2 0 QFED_ACET_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_acet.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s ACET 75/312 5 2 0 QFED_ALD2_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_ald2.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s ALD2 75/311 5 2 0 QFED_ALD2_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_ald2.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s ALD2 75/312 5 2 0 QFED_ALK4_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_alk4.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s ALK4 75/311 5 2 0 QFED_ALK4_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_alk4.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s ALK4 75/312 5 2 0 QFED_BCPI_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_bc.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s BCPI 70/75/311 5 2 0 QFED_BCPO_PBL - - - - - - BCPO 71/75/311 5 2 0 QFED_BCPI_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_bc.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s BCPI 70/75/312 5 2 0 QFED_BCPO_FT - - - - - - BCPO 71/75/312 5 2 0 QFED_OCPI_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_oc.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s OCPI 72/75/311 5 2 0 QFED_OCPO_PBL - - - - - - OCPO 73/75/311 5 2 0 QFED_POG1_PBL - - - - - - POG1 74/76/75/311 5 2 0 QFED_POG2_PBL - - - - - - POG2 74/77/75/311 5 2 0 QFED_OCPI_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_oc.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s OCPI 72/75/312 5 2 0 QFED_OCPO_FT - - - - - - OCPO 73/75/312 5 2 0 QFED_POG1_FT - - - - - - POG1 74/76/75/312 5 2 0 QFED_POG2_FT - - - - - - POG2 74/77/75/312 5 2 0 QFED_C2H6_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_c2h6.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s C2H6 75/311 5 2 0 QFED_C2H6_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_c2h6.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s C2H6 75/312 5 2 0 QFED_C3H8_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_c3h8.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s C3H8 75/311 5 2 0 QFED_C3H8_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_c3h8.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s C3H8 75/312 5 2 0 QFED_CH2O_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_ch2o.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s CH2O 75/311 5 2 0 QFED_CH2O_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_ch2o.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s CH2O 75/312 5 2 0 QFED_CH4_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_ch4.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s CH4 75/311 5 2 0 QFED_CH4_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_ch4.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s CH4 75/312 5 2 0 QFED_CO_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_co.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s CO 54/75/311 5 2 0 QFED_SOAP_PBL - - - - - - SOAP 54/75/281/311 5 2 0 QFED_CO_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_co.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s CO 54/75/312 5 2 0 QFED_SOAP_FT - - - - - - SOAP 54/75/281/312 5 2 0 QFED_CO2_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_co2.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s CO2 75/311 5 2 0 QFED_CO2_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_co2.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s CO2 75/312 5 2 0 QFED_MEK_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_mek.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s MEK 75/311 5 2 0 QFED_MEK_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_mek.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s MEK 75/312 5 2 0 QFED_NH3_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_nh3.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s NH3 75/311 5 2 0 QFED_NH3_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_nh3.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s NH3 75/312 5 2 0 QFED_NO_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_no.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s NO 75/311 5 2 0 QFED_NO_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_no.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s NO 75/312 5 2 0 QFED_SO2_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_so2.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s SO2 75/311 5 2 0 QFED_pFe_PBL - - - - - - pFe 75/311/66 5 2 0 QFED_SO2_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_so2.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s SO2 75/312 5 2 0 QFED_pFe_FT - - - - - - pF3 75/312/66 5 2 0 QFED_C3H6_PBL $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_c3h6.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=1:PBL kg/m2/s PRPE 75/311 5 2 0 QFED_C3H6_FT $ROOT/QFED/v2018-07/$YYYY/$MM/qfed2.emis_c3h6.006.$YYYY$MM$DD.nc4 biomass 2000-2022/1-12/1-31/0/+12hour EFY xyL=PBL:5500m kg/m2/s PRPE 75/312 5 2 )))QFED2 #============================================================================== # --- GFAS biomass burning --- #============================================================================== (((GFAS 0 GFAS_CO $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc cofire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s CO 75 5 3 0 GFAS_SOAP $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc cofire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s SOAP 75/281 5 3 0 GFAS_CH3OH $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc ch3ohfire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s MOH 75 5 3 0 GFAS_NO $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc noxfire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s NO 75 5 3 0 GFAS_BCPI $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc bcfire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s BCPI 70/75 5 3 0 GFAS_BCPO $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc bcfire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s BCPO 71/75 5 3 0 GFAS_OCPI $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc ocfire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s OCPI 72/75 5 3 0 GFAS_OCPO $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc ocfire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s OCPO 73/75 5 3 0 GFAS_POG1 - - - - - - POG1 74/76/75 5 3 0 GFAS_POG2 - - - - - - POG2 74/77/75 5 3 0 GFAS_CO2 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc co2fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s CO2 75 5 3 0 GFAS_CH4 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc ch4fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s CH4 75 5 3 0 GFAS_SO2 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc so2fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s SO2 75 5 3 0 GFAS_pFe $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc so2fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s pFe 75/66 5 3 0 GFAS_NH3 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc nh3fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s NH3 75 5 3 0 GFAS_ACET $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c3h6ofire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s ACET 75 5 3 0 GFAS_ALD2 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c2h4ofire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s ALD2 75 5 3 0 GFAS_ALK4 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc hialkanesfire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s ALK4 75 5 3 0 GFAS_PRPE1 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc hialkenesfire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s PRPE 75 5 3 0 GFAS_PRPE2 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c3h6fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s PRPE 75 5 3 0 GFAS_C2H6 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c2h6fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s C2H6 75 5 3 0 GFAS_C3H8 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c3h8fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s C3H8 75 5 3 0 GFAS_CH2O $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc ch2ofire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s CH2O 75 5 3 0 GFAS_C2H4 $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c2h4fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s C2H4 75 5 3 0 GFAS_ISOP $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c5h8fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s ISOP 75 5 3 0 GFAS_DMS $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c2h6sfire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s DMS 75 5 3 0 GFAS_TOLU $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c7h8fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s TOLU 75 5 3 0 GFAS_BENZ $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c6h6fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s BENZ 75 5 3 0 GFAS_XYLE $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc c8h10fire 2003-2021/1-12/1-31/0 C xyL=1:scal300 kg/m2/s XYLE 75 5 3 )))GFAS #============================================================================== # --- BB4MIPs biomass burning --- #============================================================================== (((BB4MIPS # 75 is time-of-day scaling 0 CMIP6_BB_CO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s CO 75 5 3 0 CMIP6_BB_SOAP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CO_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s SOAP 75/281 5 3 0 CMIP6_BB_NO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NO_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s NO 75 5 3 0 CMIP6_BB_BCPI $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s BCPI 70/75 5 3 0 CMIP6_BB_BCPO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BC_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s BCPO 71/75 5 3 0 CMIP6_BB_OCPI $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s OCPI 72/75 5 3 0 CMIP6_BB_OCPO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 OC_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s OCPO 73/75 5 3 0 CMIP6_BB_POG1 - - - - - - POG1 74/76/75 5 3 0 CMIP6_BB_POG2 - - - - - - POG2 74/77/75 5 3 0 CMIP6_BB_SO2 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 SO2_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s SO2 75 5 3 0 CMIP6_BB_pFe - - - - - - pFe 75/66 5 3 0 CMIP6_BB_NH3 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 NH3_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s NH3 75 5 3 0 CMIP6_BB_ALD2 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALD2_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s ALD2 75 5 3 0 CMIP6_BB_ALK4 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ALK4_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s ALK4 75 5 3 0 CMIP6_BB_PRPE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 PRPE_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s PRPE 75 5 3 0 CMIP6_BB_C2H6 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H6_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s C2H6 75 5 3 0 CMIP6_BB_C3H8 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C3H8_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s C3H8 75 5 3 0 CMIP6_BB_CH2O $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 CH2O_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s CH2O 75 5 3 0 CMIP6_BB_C2H4 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 C2H4_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s C2H4 75 5 3 0 CMIP6_BB_ISOP $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ISOP_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s ISOP 75 5 3 0 CMIP6_BB_DMS $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 DMS_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s DMS 75 5 3 0 CMIP6_BB_TOLU $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 TOLU_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s TOLU 75 5 3 0 CMIP6_BB_BENZ $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 BENZ_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s BENZ 75 5 3 0 CMIP6_BB_XYLE $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 XYLE_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s XYLE 75 5 3 0 CMIP6_BB_H2 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 H2_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s H2 75 5 3 0 CMIP6_BB_MTPA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MONOT_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s MTPA 75 5 3 #0 CMIP6_BB_MTPO - - - - - - MTPO 75 5 3 #0 CMIP6_BB_LIMO - - - - - - LIMO 75 5 3 0 CMIP6_BB_EOH $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 EOH_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s EOH 75 5 3 0 CMIP6_BB_MOH $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MOH_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s MOH 75 5 3 0 CMIP6_BB_ACET - - - - - - ACET 79/75 5 3 0 CMIP6_BB_MGLY $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MGLY_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s MGLY 75 5 3 0 CMIP6_BB_ACTA $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 ACTA_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s ACTA 75 5 3 0 CMIP6_BB_HCN $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 HCN_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s HCN 75 5 3 0 CMIP6_BB_HCOOH $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 HCOOH_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s HCOOH 75 5 3 0 CMIP6_BB_MEK $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY.nc4 MEK_bbn 1750-2100/1-12/1/0 C xyL=1:PBL kg/m2/s MEK 75 5 3 )))BB4MIPS #============================================================================== # --- GFED4 biomass burning emissions climatology # NOTE: # - These emissions were generated for 2010-2019 using the GFED extension # in a 0.5x0.625 HEMCO 3.6.1 standalone simulation. #============================================================================== (((GFED4_CLIMATOLOGY 0 GFED4_CLIM_ACET $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2019_05x0625.nc GFED4_ACET 2019/1-12/1/0 C xy kg/m2/s ACET - 5 1 0 GFED4_CLIM_ALD2 $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2019_05x0625.nc GFED4_ALD2 2019/1-12/1/0 C xy kg/m2/s ALD2 - 5 1 0 GFED4_CLIM_ALK4 $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2019_05x0625.nc GFED4_ALK4 2019/1-12/1/0 C xy kg/m2/s ALK4 - 5 1 0 GFED4_CLIM_BCPI $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2019_05x0625.nc GFED4_BCPI 2019/1-12/1/0 C xy kg/m2/s BCPI - 5 1 0 GFED4_CLIM_BCPO $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2019_05x0625.nc GFED4_BCPO 2019/1-12/1/0 C xy kg/m2/s BCPO - 5 1 0 GFED4_CLIM_BENZ $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2019_05x0625.nc GFED4_BENZ 2019/1-12/1/0 C xy kg/m2/s BENZ - 5 1 0 GFED4_CLIM_C2H6 $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2019_05x0625.nc GFED4_C2H6 2019/1-12/1/0 C xy kg/m2/s C2H6 - 5 1 0 GFED4_CLIM_C3H8 $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2019_05x0625.nc GFED4_C3H8 2019/1-12/1/0 C xy kg/m2/s C3H8 - 5 1 0 GFED4_CLIM_CH2O $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2019_05x0625.nc GFED4_ACET 2019/1-12/1/0 C xy kg/m2/s CH2O - 5 1 0 GFED4_CLIM_CO $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2019_05x0625.nc GFED4_CO 2019/1-12/1/0 C xy kg/m2/s CO - 5 1 0 GFED4_CLIM_EOH $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2019_05x0625.nc GFED4_EOH 2019/1-12/1/0 C xy kg/m2/s EOH - 5 1 0 GFED4_CLIM_MEK $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2019_05x0625.nc GFED4_MEK 2019/1-12/1/0 C xy kg/m2/s MEK - 5 1 0 GFED4_CLIM_NO $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2019_05x0625.nc GFED4_NO 2019/1-12/1/0 C xy kg/m2/s NO - 5 1 0 GFED4_CLIM_OCPI $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2019_05x0625.nc GFED4_OCPI 2019/1-12/1/0 C xy kg/m2/s OCPI - 5 1 0 GFED4_CLIM_OCPO $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2019_05x0625.nc GFED4_OCPO 2019/1-12/1/0 C xy kg/m2/s OCPO - 5 1 0 GFED4_CLIM_PRPE $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2019_05x0625.nc GFED4_PRPE 2019/1-12/1/0 C xy kg/m2/s PRPE - 5 1 0 GFED4_CLIM_SO2 $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2019_05x0625.nc GFED4_SO2 2019/1-12/1/0 C xy kg/m2/s SO2 - 5 1 0 GFED4_CLIM_SOAP $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2019_05x0625.nc GFED4_SOAP 2019/1-12/1/0 C xy kg/m2/s SOAP - 5 1 0 GFED4_CLIM_TOLU $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2019_05x0625.nc GFED4_TOLU 2019/1-12/1/0 C xy kg/m2/s TOLU - 5 1 0 GFED4_CLIM_XYLE $ROOT/GFED4/v2023-03/GFED4_climatology_2010-2019_05x0625.nc GFED4_XYLE 2019/1-12/1/0 C xy kg/m2/s XYLE - 5 1 )))GFED4_CLIMATOLOGY #============================================================================== # --- Anthropogenic Fugitive, Combustion and Industrial Dust --- # (Philip et al., 2017, ERL) #============================================================================== (((AFCID 0 PM25FINE_1 $ROOT/AFCID/v2018-04/PM25FINE_ECLIPSE_2015.geos.2x25.nc PM25FINE 2015/1-12/1/0 C xy kg/m2/s DST1 - 1 1 0 PM25FINE_2 $ROOT/AFCID/v2018-04/PM25FINE_MEIC_2012.generic.025x025.nc PM25FINE 2012/1-12/1/0 C xy kg/m2/s DST1 1009 1 2 0 PM25FINE_3 $ROOT/AFCID/v2018-04/PM25FINE_IITB_2013.generic.025x025.nc PM25FINE 2013/1-12/1/0 C xy kg/m2/s DST1 1010 1 3 )))AFCID #============================================================================== # --- Offline dust emissions --- #============================================================================== (((OFFLINE_DUST (((.not.DustDead.or.DustGinoux 0 EMIS_DST1 $ROOT/OFFLINE_DUST/${RUNDIR_OFFLINE_DUST_DIR}/0.5x0.625/$YYYY/$MM/dust_emissions_05.$YYYY$MM$DD.nc EMIS_DST1 1980-2021/1-12/1-31/* C xy kg/m2/s DST1 - 3 2 0 EMIS_DST2 $ROOT/OFFLINE_DUST/${RUNDIR_OFFLINE_DUST_DIR}/0.5x0.625/$YYYY/$MM/dust_emissions_05.$YYYY$MM$DD.nc EMIS_DST2 1980-2021/1-12/1-31/* C xy kg/m2/s DST2 - 3 2 0 EMIS_DST3 $ROOT/OFFLINE_DUST/${RUNDIR_OFFLINE_DUST_DIR}/0.5x0.625/$YYYY/$MM/dust_emissions_05.$YYYY$MM$DD.nc EMIS_DST3 1980-2021/1-12/1-31/* C xy kg/m2/s DST3 - 3 2 0 EMIS_DST4 $ROOT/OFFLINE_DUST/${RUNDIR_OFFLINE_DUST_DIR}/0.5x0.625/$YYYY/$MM/dust_emissions_05.$YYYY$MM$DD.nc EMIS_DST4 1980-2021/1-12/1-31/* C xy kg/m2/s DST4 - 3 2 ))).not.DustDead.or.DustGinoux )))OFFLINE_DUST #============================================================================== # --- Offline biogenic VOC emissions --- #============================================================================== (((OFFLINE_BIOGENICVOC 0 BIOGENIC_ACET $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/0.5x0.625/$YYYY/$MM/biovoc_05.$YYYY$MM$DD.nc ACET_MEGAN 1980-2022/1-12/1-31/* EFY xy kg/m2/s ACET - 4 2 0 BIOGENIC_ALD2 $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/0.5x0.625/$YYYY/$MM/biovoc_05.$YYYY$MM$DD.nc ALD2_MEGAN 1980-2022/1-12/1-31/* EFY xy kg/m2/s ALD2 - 4 2 0 BIOGENIC_C2H4 $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/0.5x0.625/$YYYY/$MM/biovoc_05.$YYYY$MM$DD.nc C2H4_MEGAN 1980-2022/1-12/1-31/* EFY xy kg/m2/s C2H4 - 4 2 0 BIOGENIC_EOH $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/0.5x0.625/$YYYY/$MM/biovoc_05.$YYYY$MM$DD.nc EOH_MEGAN 1980-2022/1-12/1-31/* EFY xy kg/m2/s EOH - 4 2 0 BIOGENIC_ISOP $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/0.5x0.625/$YYYY/$MM/biovoc_05.$YYYY$MM$DD.nc ISOP_MEGAN 1980-2022/1-12/1-31/* EFY xy kg/m2/s ISOP - 4 2 0 BIOGENIC_ISOP_SOAP - - - - - - SOAP 610 4 2 0 BIOGENIC_ISOP_SOAS - - - - - - SOAS 610 4 2 0 BIOGENIC_LIMO $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/biovoc_05.$YYYY$MM$DD.nc LIMO_MEGAN 1980-2022/1-12/1-31/* EFY xy kg/m2/s LIMO - 4 2 0 BIOGENIC_LIMO_SOAP - - - - - - SOAP 611 4 2 0 BIOGENIC_LIMO_SOAS - - - - - - SOAS 611 4 2 0 BIOGENIC_MOH $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/biovoc_05.$YYYY$MM$DD.nc MOH_MEGAN 1980-2022/1-12/1-31/* EFY xy kg/m2/s MOH - 4 2 0 BIOGENIC_MTPA $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/biovoc_05.$YYYY$MM$DD.nc MTPA_MEGAN 1980-2022/1-12/1-31/* EFY xy kg/m2/s MTPA - 4 2 0 BIOGENIC_MTPA_SOAP - - - - - - SOAP 611 4 2 0 BIOGENIC_MTPA_SOAS - - - - - - SOAS 611 4 2 0 BIOGENIC_MTPO $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/biovoc_05.$YYYY$MM$DD.nc MTPO_MEGAN 1980-2022/1-12/1-31/* EFY xy kg/m2/s MTPO - 4 2 0 BIOGENIC_MTPO_SOAP - - - - - - SOAP 611 4 2 0 BIOGENIC_MTPO_SOAS - - - - - - SOAS 611 4 2 0 BIOGENIC_PRPE $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/biovoc_05.$YYYY$MM$DD.nc PRPE_MEGAN 1980-2022/1-12/1-31/* EFY xy kg/m2/s PRPE - 4 2 0 BIOGENIC_SESQ $ROOT/OFFLINE_BIOVOC/${RUNDIR_OFFLINE_BIOVOC_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/biovoc_05.$YYYY$MM$DD.nc SESQ_MEGAN 1980-2022/1-12/1-31/* EFY xy kg/m2/s SESQ - 4 2 0 BIOGENIC_SESQ_SOAP - - - - - - SOAP 612 4 2 0 BIOGENIC_SESQ_SOAS - - - - - - SOAS 612 4 2 )))OFFLINE_BIOGENICVOC #============================================================================== # --- Offline sea salt emissions --- #============================================================================== (((OFFLINE_SEASALT (((.not.SeaSalt 0 SEASALT_SALA $ROOT/OFFLINE_SEASALT/${RUNDIR_OFFLINE_SEASALT_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/seasalt_0505.$YYYY$MM$DD.nc SALA_TOTAL 1980-2022/1-12/1-31/* EFY xy kg/m2/s SALA - 3 2 0 SEASALT_SALAAL - - - - - - SALAAL 615 3 2 0 SEASALT_SALACL - - - - - - SALACL 616 3 2 (((CalcBrSeasalt 0 SEASALT_BrSALA - - - - - - BrSALA 617 3 2 )))CalcBrSeasalt 0 SEASALT_SALC $ROOT/OFFLINE_SEASALT/${RUNDIR_OFFLINE_SEASALT_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/seasalt_05.$YYYY$MM$DD.nc SALC_TOTAL 1980-2022/1-12/1-31/* EFY xy kg/m2/s SALC - 3 2 0 SEASALT_SALCAL - - - - - - SALCAL 615 3 2 0 SEASALT_SALCCL - - - - - - SALCCL 616 3 2 (((CalcBrSeasalt 0 SEASALT_BrSALC - - - - - - BrSALC 617 3 2 )))CalcBrSeasalt ))).not.SeaSalt )))OFFLINE_SEASALT #============================================================================== # --- Offline soil NOx emissions --- #============================================================================== (((OFFLINE_SOILNOX (((.not.SoilNOx 0 SOILNOX_NO $ROOT/OFFLINE_SOILNOX/${RUNDIR_OFFLINE_SOILNOX_DIR}/${RUNDIR_OFFLINE_EMIS_RES}/$YYYY/$MM/soilnox_05.$YYYY$MM$DD.nc SOIL_NOx 1980-2022/1-12/1-31/* EFY xy kg/m2/s NO - 3 2 ))).not.SoilNOx )))OFFLINE_SOILNOX ############################################################################### ### EXTENSION DATA (subsection of BASE EMISSIONS SECTION) ### ### These fields are needed by the extensions listed above. The assigned ExtNr ### must match the ExtNr entry in section 'Extension switches'. These fields ### are only read if the extension is enabled. The fields are imported by the ### extensions by field name. The name given here must match the name used ### in the extension's source code. ############################################################################### #============================================================================== # --- Seawater concentrations for oceanic emissions (Extension 101) --- #============================================================================== (((SeaFlux #101 CH3I_SEAWATER $ROOT/CH3I/v2014-07/ocean_ch3i.geos.4x5.nc CH3I_OCEAN 1985/1-12/1/0 C xy kg/m3 CH3I - 1 1 101 DMS_SEAWATER $ROOT/DMS/v2015-07/DMS_lana.geos.1x1.nc DMS_OCEAN 1985/1-12/1/0 C xy kg/m3 DMS - 1 1 101 ACET_SEAWATER $ROOT/ACET/v2014-07/ACET_seawater.generic.1x1.nc ACET 2005/1/1/0 C xy kgC/m3 ACET 40 1 1 101 ALD2_SEAWATER $ROOT/ALD2/v2017-03/ALD2_seawater.geos.2x25.nc ALD2 2006/1-12/1/0 C xy kgC/m3 ALD2 41 1 1 101 MENO3_SEAWATER $ROOT/RONO2/v2019-05/RONO2_seawater.geos.2x25.nc MENO3 2006/1-12/1/0 C xy kg/m3 MENO3 - 1 1 101 ETNO3_SEAWATER $ROOT/RONO2/v2019-05/RONO2_seawater.geos.2x25.nc ETNO3 2006/1-12/1/0 C xy kg/m3 ETNO3 - 1 1 101 MOH_SEAWATER $ROOT/MOH/v2019-12/MOH_seawater.low.kgCm3.generic.1x1.nc MOH 2005/1/1/0 C xy kg/m3 MOH - 1 1 )))SeaFlux #============================================================================== # --- SOILNOX emissions (Extension 104) --- #============================================================================== (((SoilNOx 104 DEP_RESERVOIR_DEFAULT $ROOT/SOILNOX/v2014-07/DepReservoirDefault.nc DEP_RESERVOIR 2013/7/1/0 C xy kg/m3 NO - 1 1 (((HEMCO_RESTART 104 PFACTOR ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc PFACTOR $YYYY/$MM/$DD/$HH EY xy 1 NO - 1 1 104 DRYPERIOD ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc DRYPERIOD $YYYY/$MM/$DD/$HH EY xy 1 NO - 1 1 104 GWET_PREV ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc GWET_PREV $YYYY/$MM/$DD/$HH EY xy 1 NO - 1 1 104 DEP_RESERVOIR ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc DEP_RESERVOIR $YYYY/$MM/$DD/$HH EY xy kg/m3 NO - 1 1 )))HEMCO_RESTART 104 SOILNOX_FERT $ROOT/SOILNOX/v2014-07/soilNOx.fert_res.generic.05x05.nc FERT 2000/1-12/1-31/0 C xy kg/m3 NO - 1 1 104 SOILNOX_LANDK1 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K01 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK2 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K02 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK3 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K03 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK4 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K04 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK5 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K05 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK6 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K06 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK7 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K07 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK8 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K08 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK9 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K09 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK10 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K10 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK11 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K11 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK12 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K12 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK13 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K13 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK14 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K14 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK15 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K15 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK16 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K16 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK17 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K17 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK18 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K18 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK19 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K19 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK20 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K20 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK21 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K21 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK22 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K22 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK23 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K23 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_LANDK24 $ROOT/SOILNOX/v2014-07/soilNOx.landtype.generic.025x025.1L.nc LANDFRAC_K24 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_ARID $ROOT/SOILNOX/v2014-07/soilNOx.climate.generic.05x05.nc ARID 2000/1/1/0 C xy 1 NO - 1 1 104 SOILNOX_NONARID $ROOT/SOILNOX/v2014-07/soilNOx.climate.generic.05x05.nc NON_ARID 2000/1/1/0 C xy 1 NO - 1 1 )))SoilNOx #============================================================================== # --- Dust emissions using DEAD model (Extensions 105 and 131) --- #============================================================================== (((DustDead 105 DEAD_EF_GEO $ROOT/DUST_DEAD/v2019-06/dst_tibds.geos.2x25.nc EF_GEO 1985/1/1/0 C xy factor * - 1 1 105 DEAD_LF_DRY $ROOT/DUST_DEAD/v2019-06/dst_tibds.geos.2x25.nc LF_DRY 1985/1/1/0 C xy factor * - 1 1 105 DEAD_MF_CACO3 $ROOT/DUST_DEAD/v2019-06/dst_tibds.geos.2x25.nc MF_CaCO3 1985/1/1/0 C xy fraction * - 1 1 105 DEAD_MF_CLY $ROOT/DUST_DEAD/v2019-06/dst_tibds.geos.2x25.nc MF_CLY 1985/1/1/0 C xy fraction * - 1 1 105 DEAD_MF_SND $ROOT/DUST_DEAD/v2019-06/dst_tibds.geos.2x25.nc MF_SND 1985/1/1/0 C xy fraction * - 1 1 105 DEAD_SFC_TYP $ROOT/DUST_DEAD/v2019-06/dst_tibds.geos.2x25.nc SFC_TYP 1985/1/1/0 C xy unitless * - 1 1 105 DEAD_GOC_SRC $ROOT/DUST_DEAD/v2019-06/GOCART_src_fn.geos.2x25.nc GOC_SRC 1985/1/1/0 C xy unitless * - 1 1 105 DEAD_VAI $ROOT/DUST_DEAD/v2019-06/dst_tvbds.geos.2x25.nc VAI 1985/1-12/1/0 C xy unitless * - 1 1 )))DustDead (((TOMAS_DustDead 131 DEAD_EF_GEO $ROOT/DUST_DEAD/v2019-06/dst_tibds.geos.2x25.nc EF_GEO 1985/1/1/0 C xy factor * - 1 1 131 DEAD_LF_DRY $ROOT/DUST_DEAD/v2019-06/dst_tibds.geos.2x25.nc LF_DRY 1985/1/1/0 C xy factor * - 1 1 131 DEAD_MF_CACO3 $ROOT/DUST_DEAD/v2019-06/dst_tibds.geos.2x25.nc MF_CaCO3 1985/1/1/0 C xy fraction * - 1 1 131 DEAD_MF_CLY $ROOT/DUST_DEAD/v2019-06/dst_tibds.geos.2x25.nc MF_CLY 1985/1/1/0 C xy fraction * - 1 1 131 DEAD_MF_SND $ROOT/DUST_DEAD/v2019-06/dst_tibds.geos.2x25.nc MF_SND 1985/1/1/0 C xy fraction * - 1 1 131 DEAD_SFC_TYP $ROOT/DUST_DEAD/v2019-06/dst_tibds.geos.2x25.nc SFC_TYP 1985/1/1/0 C xy unitless * - 1 1 131 DEAD_GOC_SRC $ROOT/DUST_DEAD/v2019-06/GOCART_src_fn.geos.2x25.nc GOC_SRC 1985/1/1/0 C xy unitless * - 1 1 131 DEAD_VAI $ROOT/DUST_DEAD/v2019-06/dst_tvbds.geos.2x25.nc VAI 1985/1-12/1/0 C xy unitless * - 1 1 )))TOMAS_DustDead #============================================================================== # --- Dust emissions using Paul Ginoux's mechanism (Extension 106) #============================================================================== (((DustGinoux 106 GINOUX_SAND $ROOT/DUST_GINOUX/v2014-07/NSP.dust.geos.4x5.nc SAND 1985/1/1/0 C xy unitless * - 1 1 106 GINOUX_SILT $ROOT/DUST_GINOUX/v2014-07/NSP.dust.geos.4x5.nc SILT 1985/1/1/0 C xy unitless * - 1 1 106 GINOUX_CLAY $ROOT/DUST_GINOUX/v2014-07/NSP.dust.geos.4x5.nc CLAY 1985/1/1/0 C xy unitless * - 1 1 )))DustGinoux #============================================================================== # --- Sea salt emissions (Extensions 107 and 130) # # MODIS Chlorophyll-A fields used for emissions of marine organic aerosols #============================================================================== (((SeaSalt 107 MODIS_CHLR $ROOT/MODIS_CHLR/v2019-11/MODIS.CHLRv.V5.generic.025x025.$YYYY.nc MODIS 2005-2014/1-12/1/0 C xy 1 * - 1 1 107 MULTISEAICE $ROOT/MULTI_ICE/v2021-07/multiyearice.merra2.05x0625.$YYYY.nc FRSEAICE 1980-2020/1-12/1-31/0 C xy 1 * - 1 1 # Climatology CHLR #107 MODIS_CHLR $ROOT/MODIS_CHLR/v2019-11/MODIS.CHLRv.V5.generic.025x025.Clim.nc MODIS 2007/1-12/1/0 C xy 1 * - 1 1 )))SeaSalt (((TOMAS_Jeagle 130 MODIS_CHLR $ROOT/MODIS_CHLR/v2019-11/MODIS.CHLRv.V5.generic.025x025.$YYYY.nc MODIS 2005-2014/1-12/1/0 C xy 1 * - 1 1 # Climatology CHLR #130 MODIS_CHLR $ROOT/MODIS_CHLR/v2019-11/MODIS.CHLRv.V5.generic.025x025.Clim.nc MODIS 2007/1-12/1/0 C xy 1 * - 1 1 )))TOMAS_Jeagle #============================================================================== # --- MEGAN biogenic emissions (Extension 108) # # NOTE: These are the base emissions, which will be converted to kgC/m2/s by # HEMCO. The specified species (OCPI/ISOP/ACET) are required for proper unit # conversion. Since netCDF files are already in mass carbon (ug(C)), the only # important thing is to specify a VOC with a specified MW of 12g/mol. # This is the case for OCPI, ISOP and ACET. # # We don't need to read EF maps for acetone, a-pinene or myrcene. We now # compute those values in the MEGAN extension. #============================================================================== (((MEGAN (((HEMCO_RESTART 108 T_DAVG ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc T_DAVG $YYYY/$MM/$DD/$HH EY xy K * - 1 1 108 T_PREVDAY ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc T_PREVDAY $YYYY/$MM/$DD/$HH EY xy K * - 1 1 108 LAI_PREVDAY ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc LAI_PREVDAY $YYYY/$MM/$DD/$HH EY xy 1 * - 1 1 108 PARDR_DAVG ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc PARDR_DAVG $YYYY/$MM/$DD/$HH EY xy W/m2 * - 1 1 108 PARDF_DAVG ./Restarts/HEMCO_restart.$YYYY$MM$DD$HH00.nc PARDF_DAVG $YYYY/$MM/$DD/$HH EY xy W/m2 * - 1 1 )))HEMCO_RESTART 108 MEGAN_AEF_ISOP $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_ISOPRENE 1985/1/1/0 C xy kgC/m2/s * 61 1 1 108 MEGAN_AEF_MBOX $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_MBO 1985/1/1/0 C xy kgC/m2/s * 64 1 1 #108 MEGAN_AEF_APIN $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_ALPHA_PINENE 1985/1/1/0 C xy kgC/m2/s * 62 1 1 108 MEGAN_AEF_BPIN $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_BETA_PINENE 1985/1/1/0 C xy kgC/m2/s * 62 1 1 108 MEGAN_AEF_CARE $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_CARENE 1985/1/1/0 C xy kgC/m2/s * 62 1 1 108 MEGAN_AEF_LIMO $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_LIMONENE 1985/1/1/0 C xy kgC/m2/s * 62 1 1 #108 MEGAN_AEF_MYRC $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_MYRCENE 1985/1/1/0 C xy kgC/m2/s * 62 1 1 108 MEGAN_AEF_OCIM $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_OCIMENE 1985/1/1/0 C xy kgC/m2/s * 62 1 1 108 MEGAN_AEF_SABI $ROOT/MEGAN/v2018-05/MEGAN2.1_EF.geos.025x03125.nc AEF_SABINENE 1985/1/1/0 C xy kgC/m2/s * 62 1 1 108 CLM4_PFT_BARE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BARE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_NDLF_EVGN_TMPT_TREE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_NDLF_EVGN_TMPT_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_NDLF_EVGN_BORL_TREE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_NDLF_EVGN_BORL_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_NDLF_DECD_BORL_TREE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_NDLF_DECD_BORL_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_EVGN_TROP_TREE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BDLF_EVGN_TROP_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_EVGN_TMPT_TREE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BDLF_EVGN_TMPT_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_DECD_TROP_TREE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BDLF_DECD_TROP_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_DECD_TMPT_TREE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BDLF_DECD_TMPT_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_DECD_BORL_TREE $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BDLF_DECD_BORL_TREE 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_EVGN_SHRB $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BDLF_EVGN_SHRB 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_DECD_TMPT_SHRB $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BDLF_DECD_TMPT_SHRB 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_BDLF_DECD_BORL_SHRB $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_BDLF_DECD_BORL_SHRB 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_C3_ARCT_GRSS $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_C3_ARCT_GRSS 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_C3_NARC_GRSS $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_C3_NARC_GRSS 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_C4_GRSS $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_C4_GRSS 2000/1/1/0 C xy 1 * - 1 1 108 CLM4_PFT_CROP $ROOT/MEGAN/v2018-05/CLM4_PFT.geos.025x03125.v201805.nc PFT_CROP 2000/1/1/0 C xy 1 * - 1 1 )))MEGAN #============================================================================== # --- GFED biomass burning emissions (Extension 111) # NOTES: # - These are the base emissions in kgDM/m2/s # - If a year is not available, you may use the GFED4_CLIMATOLOGY option instead #============================================================================== (((GFED4 111 GFED_TEMP $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_TEMP 2010-2023/1-12/01/0 RF xy kgDM/m2/s * - 1 1 111 GFED_AGRI $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_AGRI 2010-2023/1-12/01/0 RF xy kgDM/m2/s * - 1 1 111 GFED_DEFO $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_DEFO 2010-2023/1-12/01/0 RF xy kgDM/m2/s * - 1 1 111 GFED_BORF $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_BORF 2010-2023/1-12/01/0 RF xy kgDM/m2/s * - 1 1 111 GFED_PEAT $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_PEAT 2010-2023/1-12/01/0 RF xy kgDM/m2/s * - 1 1 111 GFED_SAVA $ROOT/GFED4/v2023-03/$YYYY/GFED4_gen.025x025.$YYYY$MM.nc DM_SAVA 2010-2023/1-12/01/0 RF xy kgDM/m2/s * - 1 1 (((GFED_subgrid_coag 111 FINN_DAILY_NUMBER $ROOT/FINN/v2015-02/FINN_daily_$YYYY_0.25x0.25_with_num.nc number 2002-2016/1-12/1/0 RF xy unitless * - 1 1 )))GFED_subgrid_coag (((GFED_daily 111 GFED_FRAC_DAY $ROOT/GFED4/v2023-03/$YYYY/GFED4_dailyfrac_gen.025x025.$YYYY$MM.nc GFED_FRACDAY 2010-2023/1-12/1-31/0 RF xy 1 * - 1 1 )))GFED_daily (((GFED_3hourly 111 GFED_FRAC_3HOUR $ROOT/GFED4/v2023-03/$YYYY/GFED4_3hrfrac_gen.025x025.$YYYY$MM.nc GFED_FRAC3HR 2010-2023/1-12/1/0-23 RF xy 1 * - 1 1 )))GFED_3hourly )))GFED4 #============================================================================== # --- FINN v1.5 biomass burning emissions (Extension 114) #============================================================================== (((.not.FINN_daily 114 FINN_VEGTYP1 $ROOT/FINN/v2015-02/FINN_monthly_$YYYY_0.25x0.25.compressed.nc fire_vegtype1 2002-2016/1-12/1/0 RF xy kg/m2/s * - 1 1 114 FINN_VEGTYP2 $ROOT/FINN/v2015-02/FINN_monthly_$YYYY_0.25x0.25.compressed.nc fire_vegtype2 2002-2016/1-12/1/0 RF xy kg/m2/s * - 1 1 114 FINN_VEGTYP3 $ROOT/FINN/v2015-02/FINN_monthly_$YYYY_0.25x0.25.compressed.nc fire_vegtype3 2002-2016/1-12/1/0 RF xy kg/m2/s * - 1 1 114 FINN_VEGTYP4 $ROOT/FINN/v2015-02/FINN_monthly_$YYYY_0.25x0.25.compressed.nc fire_vegtype4 2002-2016/1-12/1/0 RF xy kg/m2/s * - 1 1 114 FINN_VEGTYP5 $ROOT/FINN/v2015-02/FINN_monthly_$YYYY_0.25x0.25.compressed.nc fire_vegtype5 2002-2016/1-12/1/0 RF xy kg/m2/s * - 1 1 114 FINN_VEGTYP9 $ROOT/FINN/v2015-02/FINN_monthly_$YYYY_0.25x0.25.compressed.nc fire_vegtype9 2002-2016/1-12/1/0 RF xy kg/m2/s * - 1 1 ))).not.FINN_daily (((FINN_daily 114 FINN_DAILY_VEGTYP1 $ROOT/FINN/v2015-02/FINN_daily_$YYYY_0.25x0.25.compressed.nc fire_vegtype1 2002-2016/1-12/1/0 RF xy kg/m2/s * - 1 1 114 FINN_DAILY_VEGTYP2 $ROOT/FINN/v2015-02/FINN_daily_$YYYY_0.25x0.25.compressed.nc fire_vegtype2 2002-2016/1-12/1/0 RF xy kg/m2/s * - 1 1 114 FINN_DAILY_VEGTYP3 $ROOT/FINN/v2015-02/FINN_daily_$YYYY_0.25x0.25.compressed.nc fire_vegtype3 2002-2016/1-12/1/0 RF xy kg/m2/s * - 1 1 114 FINN_DAILY_VEGTYP4 $ROOT/FINN/v2015-02/FINN_daily_$YYYY_0.25x0.25.compressed.nc fire_vegtype4 2002-2016/1-12/1/0 RF xy kg/m2/s * - 1 1 114 FINN_DAILY_VEGTYP5 $ROOT/FINN/v2015-02/FINN_daily_$YYYY_0.25x0.25.compressed.nc fire_vegtype5 2002-2016/1-12/1/0 RF xy kg/m2/s * - 1 1 114 FINN_DAILY_VEGTYP9 $ROOT/FINN/v2015-02/FINN_daily_$YYYY_0.25x0.25.compressed.nc fire_vegtype9 2002-2016/1-12/1/0 RF xy kg/m2/s * - 1 1 (((FINN_subgrid_coag 114 FINN_DAILY_NUMBER $ROOT/FINN/v2015-02/FINN_daily_$YYYY_0.25x0.25_with_num.nc number 2002-2016/1-12/1/0 RF xy unitless * - 1 1 )))FINN_subgrid_coag )))FINN_daily )))EMISSIONS ############################################################################### ### NON-EMISSIONS DATA (subsection of BASE EMISSIONS SECTION) ### ### Non-emissions data. The following fields are read through HEMCO but do ### not contain emissions data. The extension number is set to wildcard ### character denoting that these fields will not be considered for emission ### calculation. A given entry is only read if the assigned species name is ### an HEMCO species. ############################################################################### #============================================================================== # --- Time zones (offset to UTC) --- #============================================================================== * TIMEZONES $ROOT/TIMEZONES/v2024-02/timezones_vohra_2017_0.1x0.1.nc UTC_OFFSET 2017/1-12/1/0 C xy count * - 1 1 (((CHEMISTRY_INPUT #============================================================================== # --- UV albedo, for photolysis (cf Hermann & Celarier, 1997) --- #============================================================================== (((UVALBEDO * UV_ALBEDO $ROOT/UVALBEDO/v2019-06/uvalbedo.geos.2x25.nc UVALBD 1985/1-12/1/0 C xy percent * - 1 1 )))UVALBEDO #============================================================================== # --- Stratospheric Bry data from the CCM model --- #============================================================================== (((CCM_STRAT_Bry * GEOSCCM_Br_DAY $ROOT/STRAT/v2015-01/Bry/GEOSCCM_Bry.2007$MM.day.nc BR 2007/1-12/1/0 C xyz pptv * - 60 1 * GEOSCCM_Br2_DAY $ROOT/STRAT/v2015-01/Bry/GEOSCCM_Bry.2007$MM.day.nc BRCL 2007/1-12/1/0 C xyz pptv * - 60 1 * GEOSCCM_BrO_DAY $ROOT/STRAT/v2015-01/Bry/GEOSCCM_Bry.2007$MM.day.nc BRO 2007/1-12/1/0 C xyz pptv * - 60 1 * GEOSCCM_BrNO3_DAY $ROOT/STRAT/v2015-01/Bry/GEOSCCM_Bry.2007$MM.day.nc BRONO2 2007/1-12/1/0 C xyz pptv * - 60 1 * GEOSCCM_HBr_DAY $ROOT/STRAT/v2015-01/Bry/GEOSCCM_Bry.2007$MM.day.nc HBR 2007/1-12/1/0 C xyz pptv * - 60 1 * GEOSCCM_HOBr_DAY $ROOT/STRAT/v2015-01/Bry/GEOSCCM_Bry.2007$MM.day.nc HOBR 2007/1-12/1/0 C xyz pptv * - 60 1 * GEOSCCM_Br_NIGHT $ROOT/STRAT/v2015-01/Bry/GEOSCCM_Bry.2007$MM.night.nc BR 2007/1-12/1/0 C xyz pptv * - 60 1 * GEOSCCM_Br2_NIGHT $ROOT/STRAT/v2015-01/Bry/GEOSCCM_Bry.2007$MM.night.nc BRCL 2007/1-12/1/0 C xyz pptv * - 60 1 * GEOSCCM_BrO_NIGHT $ROOT/STRAT/v2015-01/Bry/GEOSCCM_Bry.2007$MM.night.nc BRO 2007/1-12/1/0 C xyz pptv * - 60 1 * GEOSCCM_BrNO3_NIGHT $ROOT/STRAT/v2015-01/Bry/GEOSCCM_Bry.2007$MM.night.nc BRONO2 2007/1-12/1/0 C xyz pptv * - 60 1 * GEOSCCM_HBr_NIGHT $ROOT/STRAT/v2015-01/Bry/GEOSCCM_Bry.2007$MM.night.nc HBR 2007/1-12/1/0 C xyz pptv * - 60 1 * GEOSCCM_HOBr_NIGHT $ROOT/STRAT/v2015-01/Bry/GEOSCCM_Bry.2007$MM.night.nc HOBR 2007/1-12/1/0 C xyz pptv * - 60 1 )))CCM_STRAT_Bry #============================================================================== #--- Archived GMI OH concentrations --- #============================================================================== (((GMI_OH * GMI_OH $ROOT/GMI/v2015-02/gmi.clim.OH.geos5.2x25.nc species 2005/1-12/1/0 C xyz v/v * - 1 1 )))GMI_OH #============================================================================== #--- GMI chemistry: prod/loss rates --- # # Used for linearized mesospheric chemistry #============================================================================== (((GMI_PROD_LOSS * GMI_LOSS_A3O2 $ROOT/GMI/v2015-02/gmi.clim.A3O2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 A3O2 - 1 1 * GMI_PROD_A3O2 $ROOT/GMI/v2015-02/gmi.clim.A3O2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s A3O2 - 1 1 * GMI_LOSS_ACET $ROOT/GMI/v2015-02/gmi.clim.ACET.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ACET - 1 1 * GMI_PROD_ACET $ROOT/GMI/v2015-02/gmi.clim.ACET.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ACET - 1 1 * GMI_LOSS_ACTA $ROOT/GMI/v2015-02/gmi.clim.ACTA.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ACTA - 1 1 * GMI_PROD_ACTA $ROOT/GMI/v2015-02/gmi.clim.ACTA.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ACTA - 1 1 * GMI_LOSS_ALD2 $ROOT/GMI/v2015-02/gmi.clim.ALD2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ALD2 - 1 1 * GMI_PROD_ALD2 $ROOT/GMI/v2015-02/gmi.clim.ALD2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ALD2 - 1 1 * GMI_LOSS_ALK4 $ROOT/GMI/v2015-02/gmi.clim.ALK4.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ALK4 - 1 1 * GMI_PROD_ALK4 $ROOT/GMI/v2015-02/gmi.clim.ALK4.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ALK4 - 1 1 * GMI_LOSS_ATO2 $ROOT/GMI/v2015-02/gmi.clim.ATO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ATO2 - 1 1 * GMI_PROD_ATO2 $ROOT/GMI/v2015-02/gmi.clim.ATO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ATO2 - 1 1 * GMI_LOSS_B3O2 $ROOT/GMI/v2015-02/gmi.clim.B3O2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 B3O2 - 1 1 * GMI_PROD_B3O2 $ROOT/GMI/v2015-02/gmi.clim.B3O2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s B3O2 - 1 1 #* GMI_LOSS_Br $ROOT/GMI/v2015-02/gmi.clim.Br.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 Br - 1 1 #* GMI_PROD_Br $ROOT/GMI/v2015-02/gmi.clim.Br.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s Br - 1 1 #* GMI_LOSS_BrCl $ROOT/GMI/v2015-02/gmi.clim.BrCl.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 BrCl - 1 1 #* GMI_PROD_BrCl $ROOT/GMI/v2015-02/gmi.clim.BrCl.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s BrCl - 1 1 #* GMI_LOSS_BrO $ROOT/GMI/v2015-02/gmi.clim.BrO.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 BrO - 1 1 #* GMI_PROD_BrO $ROOT/GMI/v2015-02/gmi.clim.BrO.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s BrO - 1 1 #* GMI_LOSS_BrNO3 $ROOT/GMI/v2015-02/gmi.clim.BrONO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 BrNO3 - 1 1 #* GMI_PROD_BrNO3 $ROOT/GMI/v2015-02/gmi.clim.BrONO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s BrNO3 - 1 1 * GMI_LOSS_C2H6 $ROOT/GMI/v2015-02/gmi.clim.C2H6.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 C2H6 - 1 1 * GMI_PROD_C2H6 $ROOT/GMI/v2015-02/gmi.clim.C2H6.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s C2H6 - 1 1 * GMI_LOSS_C3H8 $ROOT/GMI/v2015-02/gmi.clim.C3H8.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 C3H8 - 1 1 * GMI_PROD_C3H8 $ROOT/GMI/v2015-02/gmi.clim.C3H8.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s C3H8 - 1 1 * GMI_LOSS_CCl4 $ROOT/GMI/v2015-02/gmi.clim.CCl4.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CCl4 - 1 1 * GMI_PROD_CCl4 $ROOT/GMI/v2015-02/gmi.clim.CCl4.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CCl4 - 1 1 #* GMI_LOSS_H1202 $ROOT/GMI/v2015-02/gmi.clim.CF2Br2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 H1202 - 1 1 #* GMI_PROD_H1202 $ROOT/GMI/v2015-02/gmi.clim.CF2Br2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s H1202 - 1 1 * GMI_LOSS_CFC12 $ROOT/GMI/v2015-02/gmi.clim.CF2Cl2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CFC12 - 1 1 * GMI_PROD_CFC12 $ROOT/GMI/v2015-02/gmi.clim.CF2Cl2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CFC12 - 1 1 * GMI_LOSS_H1211 $ROOT/GMI/v2015-02/gmi.clim.CF2ClBr.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 H1211 - 1 1 * GMI_PROD_H1211 $ROOT/GMI/v2015-02/gmi.clim.CF2ClBr.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s H1211 - 1 1 #* GMI_LOSS_H1311 $ROOT/GMI/v2015-02/gmi.clim.CF3Br.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 H1311 - 1 1 #* GMI_PROD_H1311 $ROOT/GMI/v2015-02/gmi.clim.CF3Br.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s H1311 - 1 1 * GMI_LOSS_CFC113 $ROOT/GMI/v2015-02/gmi.clim.CFC113.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CFC113 - 1 1 * GMI_PROD_CFC113 $ROOT/GMI/v2015-02/gmi.clim.CFC113.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CFC113 - 1 1 * GMI_LOSS_CFC114 $ROOT/GMI/v2015-02/gmi.clim.CFC114.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CFC114 - 1 1 * GMI_PROD_CFC114 $ROOT/GMI/v2015-02/gmi.clim.CFC114.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CFC114 - 1 1 * GMI_LOSS_CFC115 $ROOT/GMI/v2015-02/gmi.clim.CFC115.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CFC115 - 1 1 * GMI_PROD_CFC115 $ROOT/GMI/v2015-02/gmi.clim.CFC115.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CFC115 - 1 1 * GMI_LOSS_CFC11 $ROOT/GMI/v2015-02/gmi.clim.CFCl3.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CFC11 - 1 1 * GMI_PROD_CFC11 $ROOT/GMI/v2015-02/gmi.clim.CFCl3.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CFC11 - 1 1 * GMI_LOSS_CH2O $ROOT/GMI/v2015-02/gmi.clim.CH2O.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CH2O - 1 1 * GMI_PROD_CH2O $ROOT/GMI/v2015-02/gmi.clim.CH2O.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CH2O - 1 1 #* GMI_LOSS_CH3Br $ROOT/GMI/v2015-02/gmi.clim.CH3Br.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CH3Br - 1 1 #* GMI_PROD_CH3Br $ROOT/GMI/v2015-02/gmi.clim.CH3Br.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CH3Br - 1 1 * GMI_LOSS_CH3CCl3 $ROOT/GMI/v2015-02/gmi.clim.CH3CCl3.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CH3CCl3 - 1 1 * GMI_PROD_CH3CCl3 $ROOT/GMI/v2015-02/gmi.clim.CH3CCl3.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CH3CCl3 - 1 1 * GMI_LOSS_CH3Cl $ROOT/GMI/v2015-02/gmi.clim.CH3Cl.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CH3Cl - 1 1 * GMI_PROD_CH3Cl $ROOT/GMI/v2015-02/gmi.clim.CH3Cl.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CH3Cl - 1 1 * GMI_LOSS_CH4 $ROOT/GMI/v2015-02/gmi.clim.CH4.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CH4 - 1 1 * GMI_PROD_CH4 $ROOT/GMI/v2015-02/gmi.clim.CH4.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CH4 - 1 1 * GMI_LOSS_CO $ROOT/GMI/v2015-02/gmi.clim.CO.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CO - 1 1 * GMI_PROD_CO $ROOT/GMI/v2015-02/gmi.clim.CO.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CO - 1 1 * GMI_LOSS_Cl $ROOT/GMI/v2015-02/gmi.clim.Cl.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 Cl - 1 1 * GMI_PROD_Cl $ROOT/GMI/v2015-02/gmi.clim.Cl.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s Cl - 1 1 * GMI_LOSS_Cl2 $ROOT/GMI/v2015-02/gmi.clim.Cl2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 Cl2 - 1 1 * GMI_PROD_Cl2 $ROOT/GMI/v2015-02/gmi.clim.Cl2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s Cl2 - 1 1 * GMI_LOSS_Cl2O2 $ROOT/GMI/v2015-02/gmi.clim.Cl2O2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 Cl2O2 - 1 1 * GMI_PROD_Cl2O2 $ROOT/GMI/v2015-02/gmi.clim.Cl2O2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s Cl2O2 - 1 1 * GMI_LOSS_ClO $ROOT/GMI/v2015-02/gmi.clim.ClO.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ClO - 1 1 * GMI_PROD_ClO $ROOT/GMI/v2015-02/gmi.clim.ClO.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ClO - 1 1 * GMI_LOSS_ClONO2 $ROOT/GMI/v2015-02/gmi.clim.ClONO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ClONO2 - 1 1 * GMI_PROD_ClONO2 $ROOT/GMI/v2015-02/gmi.clim.ClONO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ClONO2 - 1 1 * GMI_LOSS_EOH $ROOT/GMI/v2015-02/gmi.clim.EOH.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 EOH - 1 1 * GMI_PROD_EOH $ROOT/GMI/v2015-02/gmi.clim.EOH.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s EOH - 1 1 * GMI_LOSS_ETO2 $ROOT/GMI/v2015-02/gmi.clim.ETO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ETO2 - 1 1 * GMI_PROD_ETO2 $ROOT/GMI/v2015-02/gmi.clim.ETO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ETO2 - 1 1 * GMI_LOSS_ETP $ROOT/GMI/v2015-02/gmi.clim.ETP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ETP - 1 1 * GMI_PROD_ETP $ROOT/GMI/v2015-02/gmi.clim.ETP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ETP - 1 1 * GMI_LOSS_GCO3 $ROOT/GMI/v2015-02/gmi.clim.GCO3.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 GCO3 - 1 1 * GMI_PROD_GCO3 $ROOT/GMI/v2015-02/gmi.clim.GCO3.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s GCO3 - 1 1 * GMI_LOSS_GLYC $ROOT/GMI/v2015-02/gmi.clim.GLYC.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 GLYC - 1 1 * GMI_PROD_GLYC $ROOT/GMI/v2015-02/gmi.clim.GLYC.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s GLYC - 1 1 * GMI_LOSS_GLYX $ROOT/GMI/v2015-02/gmi.clim.GLYX.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 GLYX - 1 1 * GMI_PROD_GLYX $ROOT/GMI/v2015-02/gmi.clim.GLYX.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s GLYX - 1 1 * GMI_LOSS_GP $ROOT/GMI/v2015-02/gmi.clim.GP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 GP - 1 1 * GMI_PROD_GP $ROOT/GMI/v2015-02/gmi.clim.GP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s GP - 1 1 * GMI_LOSS_GPAN $ROOT/GMI/v2015-02/gmi.clim.GPAN.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 GPAN - 1 1 * GMI_PROD_GPAN $ROOT/GMI/v2015-02/gmi.clim.GPAN.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s GPAN - 1 1 * GMI_LOSS_H $ROOT/GMI/v2015-02/gmi.clim.H.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 H - 1 1 * GMI_PROD_H $ROOT/GMI/v2015-02/gmi.clim.H.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s H - 1 1 * GMI_LOSS_H2 $ROOT/GMI/v2015-02/gmi.clim.H2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 H2 - 1 1 * GMI_PROD_H2 $ROOT/GMI/v2015-02/gmi.clim.H2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s H2 - 1 1 * GMI_LOSS_H2402 $ROOT/GMI/v2015-02/gmi.clim.H2402.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 H2402 - 1 1 * GMI_PROD_H2402 $ROOT/GMI/v2015-02/gmi.clim.H2402.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s H2402 - 1 1 * GMI_LOSS_H2O $ROOT/GMI/v2015-02/gmi.clim.H2O.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 H2O - 1 1 * GMI_PROD_H2O $ROOT/GMI/v2015-02/gmi.clim.H2O.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s H2O - 1 1 * GMI_LOSS_H2O2 $ROOT/GMI/v2015-02/gmi.clim.H2O2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 H2O2 - 1 1 * GMI_PROD_H2O2 $ROOT/GMI/v2015-02/gmi.clim.H2O2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s H2O2 - 1 1 * GMI_LOSS_HAC $ROOT/GMI/v2015-02/gmi.clim.HAC.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HAC - 1 1 * GMI_PROD_HAC $ROOT/GMI/v2015-02/gmi.clim.HAC.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HAC - 1 1 #* GMI_LOSS_HBr $ROOT/GMI/v2015-02/gmi.clim.HBr.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HBr - 1 1 #* GMI_PROD_HBr $ROOT/GMI/v2015-02/gmi.clim.HBr.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HBr - 1 1 * GMI_LOSS_HCFC141b $ROOT/GMI/v2015-02/gmi.clim.HCFC141b.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HCFC141b - 1 1 * GMI_PROD_HCFC141b $ROOT/GMI/v2015-02/gmi.clim.HCFC141b.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HCFC141b - 1 1 * GMI_LOSS_HCFC142b $ROOT/GMI/v2015-02/gmi.clim.HCFC142b.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HCFC142b - 1 1 * GMI_PROD_HCFC142b $ROOT/GMI/v2015-02/gmi.clim.HCFC142b.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HCFC142b - 1 1 * GMI_LOSS_HCFC22 $ROOT/GMI/v2015-02/gmi.clim.HCFC22.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HCFC22 - 1 1 * GMI_PROD_HCFC22 $ROOT/GMI/v2015-02/gmi.clim.HCFC22.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HCFC22 - 1 1 * GMI_LOSS_HCOOH $ROOT/GMI/v2015-02/gmi.clim.HCOOH.geos5.2x25.20170108.nc loss 2005/1-12/1/0 C xyz s-1 HCOOH - 1 1 * GMI_PROD_HCOOH $ROOT/GMI/v2015-02/gmi.clim.HCOOH.geos5.2x25.20170108.nc prod 2005/1-12/1/0 C xyz v/v/s HCOOH - 1 1 * GMI_LOSS_HCl $ROOT/GMI/v2015-02/gmi.clim.HCl.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HCl - 1 1 * GMI_PROD_HCl $ROOT/GMI/v2015-02/gmi.clim.HCl.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HCl - 1 1 * GMI_LOSS_HNO2 $ROOT/GMI/v2015-02/gmi.clim.HNO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HNO2 - 1 1 * GMI_PROD_HNO2 $ROOT/GMI/v2015-02/gmi.clim.HNO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HNO2 - 1 1 * GMI_LOSS_HNO3 $ROOT/GMI/v2015-02/gmi.clim.HNO3.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HNO3 - 1 1 * GMI_PROD_HNO3 $ROOT/GMI/v2015-02/gmi.clim.HNO3.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HNO3 - 1 1 * GMI_LOSS_HNO4 $ROOT/GMI/v2015-02/gmi.clim.HNO4.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HNO4 - 1 1 * GMI_PROD_HNO4 $ROOT/GMI/v2015-02/gmi.clim.HNO4.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HNO4 - 1 1 * GMI_LOSS_HO2 $ROOT/GMI/v2015-02/gmi.clim.HO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HO2 - 1 1 * GMI_PROD_HO2 $ROOT/GMI/v2015-02/gmi.clim.HO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HO2 - 1 1 #* GMI_LOSS_HOBr $ROOT/GMI/v2015-02/gmi.clim.HOBr.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HOBr - 1 1 #* GMI_PROD_HOBr $ROOT/GMI/v2015-02/gmi.clim.HOBr.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HOBr - 1 1 * GMI_LOSS_HOCl $ROOT/GMI/v2015-02/gmi.clim.HOCl.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 HOCl - 1 1 * GMI_PROD_HOCl $ROOT/GMI/v2015-02/gmi.clim.HOCl.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s HOCl - 1 1 * GMI_LOSS_IALD $ROOT/GMI/v2015-02/gmi.clim.IALD.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 IALD - 1 1 * GMI_PROD_IALD $ROOT/GMI/v2015-02/gmi.clim.IALD.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s IALD - 1 1 * GMI_LOSS_IAO2 $ROOT/GMI/v2015-02/gmi.clim.IAO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 IAO2 - 1 1 * GMI_PROD_IAO2 $ROOT/GMI/v2015-02/gmi.clim.IAO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s IAO2 - 1 1 * GMI_LOSS_IAP $ROOT/GMI/v2015-02/gmi.clim.IAP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 IAP - 1 1 * GMI_PROD_IAP $ROOT/GMI/v2015-02/gmi.clim.IAP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s IAP - 1 1 * GMI_LOSS_INO2 $ROOT/GMI/v2015-02/gmi.clim.INO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 INO2 - 1 1 * GMI_PROD_INO2 $ROOT/GMI/v2015-02/gmi.clim.INO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s INO2 - 1 1 * GMI_LOSS_INPN $ROOT/GMI/v2015-02/gmi.clim.INPN.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 INPN - 1 1 * GMI_PROD_INPN $ROOT/GMI/v2015-02/gmi.clim.INPN.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s INPN - 1 1 * GMI_LOSS_ISN1 $ROOT/GMI/v2015-02/gmi.clim.ISN1.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ISN1 - 1 1 * GMI_PROD_ISN1 $ROOT/GMI/v2015-02/gmi.clim.ISN1.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ISN1 - 1 1 * GMI_LOSS_ISNP $ROOT/GMI/v2015-02/gmi.clim.ISNP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ISNP - 1 1 * GMI_PROD_ISNP $ROOT/GMI/v2015-02/gmi.clim.ISNP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ISNP - 1 1 * GMI_LOSS_ISOP $ROOT/GMI/v2015-02/gmi.clim.ISOP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ISOP - 1 1 * GMI_PROD_ISOP $ROOT/GMI/v2015-02/gmi.clim.ISOP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ISOP - 1 1 * GMI_LOSS_KO2 $ROOT/GMI/v2015-02/gmi.clim.KO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 KO2 - 1 1 * GMI_PROD_KO2 $ROOT/GMI/v2015-02/gmi.clim.KO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s KO2 - 1 1 * GMI_LOSS_MACR $ROOT/GMI/v2015-02/gmi.clim.MACR.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MACR - 1 1 * GMI_PROD_MACR $ROOT/GMI/v2015-02/gmi.clim.MACR.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MACR - 1 1 * GMI_LOSS_MAN2 $ROOT/GMI/v2015-02/gmi.clim.MAN2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MAN2 - 1 1 * GMI_PROD_MAN2 $ROOT/GMI/v2015-02/gmi.clim.MAN2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MAN2 - 1 1 * GMI_LOSS_MAO3 $ROOT/GMI/v2015-02/gmi.clim.MAO3.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MAO3 - 1 1 * GMI_PROD_MAO3 $ROOT/GMI/v2015-02/gmi.clim.MAO3.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MAO3 - 1 1 * GMI_LOSS_MAOP $ROOT/GMI/v2015-02/gmi.clim.MAOP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MAOP - 1 1 * GMI_PROD_MAOP $ROOT/GMI/v2015-02/gmi.clim.MAOP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MAOP - 1 1 * GMI_LOSS_MAP $ROOT/GMI/v2015-02/gmi.clim.MAP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MAP - 1 1 * GMI_PROD_MAP $ROOT/GMI/v2015-02/gmi.clim.MAP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MAP - 1 1 * GMI_LOSS_MCO3 $ROOT/GMI/v2015-02/gmi.clim.MCO3.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MCO3 - 1 1 * GMI_PROD_MCO3 $ROOT/GMI/v2015-02/gmi.clim.MCO3.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MCO3 - 1 1 * GMI_LOSS_MEK $ROOT/GMI/v2015-02/gmi.clim.MEK.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MEK - 1 1 * GMI_PROD_MEK $ROOT/GMI/v2015-02/gmi.clim.MEK.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MEK - 1 1 * GMI_LOSS_MGLY $ROOT/GMI/v2015-02/gmi.clim.MGLY.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MGLY - 1 1 * GMI_PROD_MGLY $ROOT/GMI/v2015-02/gmi.clim.MGLY.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MGLY - 1 1 * GMI_LOSS_MO2 $ROOT/GMI/v2015-02/gmi.clim.MO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MO2 - 1 1 * GMI_PROD_MO2 $ROOT/GMI/v2015-02/gmi.clim.MO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MO2 - 1 1 * GMI_LOSS_MOH $ROOT/GMI/v2015-02/gmi.clim.MOH.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MOH - 1 1 * GMI_PROD_MOH $ROOT/GMI/v2015-02/gmi.clim.MOH.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MOH - 1 1 * GMI_LOSS_MP $ROOT/GMI/v2015-02/gmi.clim.MP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MP - 1 1 * GMI_PROD_MP $ROOT/GMI/v2015-02/gmi.clim.MP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MP - 1 1 * GMI_LOSS_MRO2 $ROOT/GMI/v2015-02/gmi.clim.MRO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MRO2 - 1 1 * GMI_PROD_MRO2 $ROOT/GMI/v2015-02/gmi.clim.MRO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MRO2 - 1 1 * GMI_LOSS_MRP $ROOT/GMI/v2015-02/gmi.clim.MRP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MRP - 1 1 * GMI_PROD_MRP $ROOT/GMI/v2015-02/gmi.clim.MRP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MRP - 1 1 * GMI_LOSS_MVK $ROOT/GMI/v2015-02/gmi.clim.MVK.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MVK - 1 1 * GMI_PROD_MVK $ROOT/GMI/v2015-02/gmi.clim.MVK.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MVK - 1 1 * GMI_LOSS_MVN2 $ROOT/GMI/v2015-02/gmi.clim.MVN2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 MVN2 - 1 1 * GMI_PROD_MVN2 $ROOT/GMI/v2015-02/gmi.clim.MVN2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s MVN2 - 1 1 * GMI_LOSS_N $ROOT/GMI/v2015-02/gmi.clim.N.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 N - 1 1 * GMI_PROD_N $ROOT/GMI/v2015-02/gmi.clim.N.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s N - 1 1 * GMI_LOSS_N2O $ROOT/GMI/v2015-02/gmi.clim.N2O.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 N2O - 1 1 * GMI_PROD_N2O $ROOT/GMI/v2015-02/gmi.clim.N2O.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s N2O - 1 1 * GMI_LOSS_N2O5 $ROOT/GMI/v2015-02/gmi.clim.N2O5.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 N2O5 - 1 1 * GMI_PROD_N2O5 $ROOT/GMI/v2015-02/gmi.clim.N2O5.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s N2O5 - 1 1 * GMI_LOSS_NO $ROOT/GMI/v2015-02/gmi.clim.NO.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 NO - 1 1 * GMI_PROD_NO $ROOT/GMI/v2015-02/gmi.clim.NO.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s NO - 1 1 * GMI_LOSS_NO2 $ROOT/GMI/v2015-02/gmi.clim.NO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 NO2 - 1 1 * GMI_PROD_NO2 $ROOT/GMI/v2015-02/gmi.clim.NO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s NO2 - 1 1 * GMI_LOSS_NO3 $ROOT/GMI/v2015-02/gmi.clim.NO3.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 NO3 - 1 1 * GMI_PROD_NO3 $ROOT/GMI/v2015-02/gmi.clim.NO3.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s NO3 - 1 1 * GMI_LOSS_NOx $ROOT/GMI/v2015-02/gmi.clim.NOx.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 NOx - 1 1 * GMI_PROD_NOx $ROOT/GMI/v2015-02/gmi.clim.NOx.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s NOx - 1 1 * GMI_LOSS_O $ROOT/GMI/v2015-02/gmi.clim.O.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 O - 1 1 * GMI_PROD_O $ROOT/GMI/v2015-02/gmi.clim.O.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s O - 1 1 * GMI_LOSS_O1D $ROOT/GMI/v2015-02/gmi.clim.O1D.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 O1D - 1 1 * GMI_PROD_O1D $ROOT/GMI/v2015-02/gmi.clim.O1D.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s O1D - 1 1 * GMI_LOSS_O3 $ROOT/GMI/v2015-02/gmi.clim.O3.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 O3 - 1 1 * GMI_PROD_O3 $ROOT/GMI/v2015-02/gmi.clim.O3.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s O3 - 1 1 * GMI_LOSS_OClO $ROOT/GMI/v2015-02/gmi.clim.OClO.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 OClO - 1 1 * GMI_PROD_OClO $ROOT/GMI/v2015-02/gmi.clim.OClO.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s OClO - 1 1 * GMI_LOSS_OH $ROOT/GMI/v2015-02/gmi.clim.OH.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 OH - 1 1 * GMI_PROD_OH $ROOT/GMI/v2015-02/gmi.clim.OH.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s OH - 1 1 * GMI_LOSS_Ox $ROOT/GMI/v2015-02/gmi.clim.Ox.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 Ox - 1 1 * GMI_PROD_Ox $ROOT/GMI/v2015-02/gmi.clim.Ox.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s Ox - 1 1 * GMI_LOSS_PAN $ROOT/GMI/v2015-02/gmi.clim.PAN.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 PAN - 1 1 * GMI_PROD_PAN $ROOT/GMI/v2015-02/gmi.clim.PAN.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s PAN - 1 1 * GMI_LOSS_NPMN $ROOT/GMI/v2015-02/gmi.clim.NPMN.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 NPMN - 1 1 * GMI_PROD_NPMN $ROOT/GMI/v2015-02/gmi.clim.NPMN.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s NPMN - 1 1 * GMI_LOSS_IPMN $ROOT/GMI/v2015-02/gmi.clim.IPMN.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 IPMN - 1 1 * GMI_PROD_IPMN $ROOT/GMI/v2015-02/gmi.clim.IPMN.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s IPMN - 1 1 * GMI_LOSS_PO2 $ROOT/GMI/v2015-02/gmi.clim.PO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 PO2 - 1 1 * GMI_PROD_PO2 $ROOT/GMI/v2015-02/gmi.clim.PO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s PO2 - 1 1 * GMI_LOSS_PP $ROOT/GMI/v2015-02/gmi.clim.PP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 PP - 1 1 * GMI_PROD_PP $ROOT/GMI/v2015-02/gmi.clim.PP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s PP - 1 1 * GMI_LOSS_PPN $ROOT/GMI/v2015-02/gmi.clim.PPN.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 PPN - 1 1 * GMI_PROD_PPN $ROOT/GMI/v2015-02/gmi.clim.PPN.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s PPN - 1 1 * GMI_LOSS_PRN1 $ROOT/GMI/v2015-02/gmi.clim.PRN1.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 PRN1 - 1 1 * GMI_PROD_PRN1 $ROOT/GMI/v2015-02/gmi.clim.PRN1.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s PRN1 - 1 1 * GMI_LOSS_PRPE $ROOT/GMI/v2015-02/gmi.clim.PRPE.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 PRPE - 1 1 * GMI_PROD_PRPE $ROOT/GMI/v2015-02/gmi.clim.PRPE.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s PRPE - 1 1 * GMI_LOSS_PRPN $ROOT/GMI/v2015-02/gmi.clim.PRPN.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 PRPN - 1 1 * GMI_PROD_PRPN $ROOT/GMI/v2015-02/gmi.clim.PRPN.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s PRPN - 1 1 * GMI_LOSS_R4N1 $ROOT/GMI/v2015-02/gmi.clim.R4N1.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 R4N1 - 1 1 * GMI_PROD_R4N1 $ROOT/GMI/v2015-02/gmi.clim.R4N1.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s R4N1 - 1 1 * GMI_LOSS_R4N2 $ROOT/GMI/v2015-02/gmi.clim.R4N2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 R4N2 - 1 1 * GMI_PROD_R4N2 $ROOT/GMI/v2015-02/gmi.clim.R4N2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s R4N2 - 1 1 * GMI_LOSS_R4O2 $ROOT/GMI/v2015-02/gmi.clim.R4O2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 R4O2 - 1 1 * GMI_PROD_R4O2 $ROOT/GMI/v2015-02/gmi.clim.R4O2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s R4O2 - 1 1 * GMI_LOSS_R4P $ROOT/GMI/v2015-02/gmi.clim.R4P.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 R4P - 1 1 * GMI_PROD_R4P $ROOT/GMI/v2015-02/gmi.clim.R4P.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s R4P - 1 1 * GMI_LOSS_RA3P $ROOT/GMI/v2015-02/gmi.clim.RA3P.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 RA3P - 1 1 * GMI_PROD_RA3P $ROOT/GMI/v2015-02/gmi.clim.RA3P.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s RA3P - 1 1 * GMI_LOSS_RB3P $ROOT/GMI/v2015-02/gmi.clim.RB3P.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 RB3P - 1 1 * GMI_PROD_RB3P $ROOT/GMI/v2015-02/gmi.clim.RB3P.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s RB3P - 1 1 * GMI_LOSS_RCHO $ROOT/GMI/v2015-02/gmi.clim.RCHO.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 RCHO - 1 1 * GMI_PROD_RCHO $ROOT/GMI/v2015-02/gmi.clim.RCHO.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s RCHO - 1 1 * GMI_LOSS_RCO3 $ROOT/GMI/v2015-02/gmi.clim.RCO3.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 RCO3 - 1 1 * GMI_PROD_RCO3 $ROOT/GMI/v2015-02/gmi.clim.RCO3.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s RCO3 - 1 1 * GMI_LOSS_RCOOH $ROOT/GMI/v2015-02/gmi.clim.RCOOH.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 RCOOH - 1 1 * GMI_PROD_RCOOH $ROOT/GMI/v2015-02/gmi.clim.RCOOH.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s RCOOH - 1 1 * GMI_LOSS_RIO1 $ROOT/GMI/v2015-02/gmi.clim.RIO1.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 RIO1 - 1 1 * GMI_PROD_RIO1 $ROOT/GMI/v2015-02/gmi.clim.RIO1.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s RIO1 - 1 1 * GMI_LOSS_RIPA $ROOT/GMI/v2015-02/gmi.clim.RIPA.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 RIPA - 1 1 * GMI_PROD_RIPA $ROOT/GMI/v2015-02/gmi.clim.RIPA.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s RIPA - 1 1 * GMI_LOSS_RIPB $ROOT/GMI/v2015-02/gmi.clim.RIPB.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 RIPB - 1 1 * GMI_PROD_RIPB $ROOT/GMI/v2015-02/gmi.clim.RIPB.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s RIPB - 1 1 * GMI_LOSS_RIPD $ROOT/GMI/v2015-02/gmi.clim.RIPD.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 RIPD - 1 1 * GMI_PROD_RIPD $ROOT/GMI/v2015-02/gmi.clim.RIPD.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s RIPD - 1 1 * GMI_LOSS_ROH $ROOT/GMI/v2015-02/gmi.clim.ROH.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 ROH - 1 1 * GMI_PROD_ROH $ROOT/GMI/v2015-02/gmi.clim.ROH.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s ROH - 1 1 * GMI_LOSS_RP $ROOT/GMI/v2015-02/gmi.clim.RP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 RP - 1 1 * GMI_PROD_RP $ROOT/GMI/v2015-02/gmi.clim.RP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s RP - 1 1 * GMI_LOSS_VRO2 $ROOT/GMI/v2015-02/gmi.clim.VRO2.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 VRO2 - 1 1 * GMI_PROD_VRO2 $ROOT/GMI/v2015-02/gmi.clim.VRO2.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s VRO2 - 1 1 * GMI_LOSS_VRP $ROOT/GMI/v2015-02/gmi.clim.VRP.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 VRP - 1 1 * GMI_PROD_VRP $ROOT/GMI/v2015-02/gmi.clim.VRP.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s VRP - 1 1 )))GMI_PROD_LOSS #============================================================================== # --- Spatially varying OM/OC --- #============================================================================== (((OMOC_RATIO * OMOC_DJF $ROOT/OMOC/v2018-01/OMOC.DJF.01x01.nc OMOC 2010/1/1/0 C xy 1 * - 1 1 * OMOC_MAM $ROOT/OMOC/v2018-01/OMOC.MAM.01x01.nc OMOC 2010/1/1/0 C xy 1 * - 1 1 * OMOC_JJA $ROOT/OMOC/v2018-01/OMOC.JJA.01x01.nc OMOC 2010/1/1/0 C xy 1 * - 1 1 * OMOC_SON $ROOT/OMOC/v2018-01/OMOC.SON.01x01.nc OMOC 2010/1/1/0 C xy 1 * - 1 1 )))OMOC_RATIO )))CHEMISTRY_INPUT #============================================================================== # --- NOAA GMD monthly mean surface CH4 --- #============================================================================== (((GMD_SFC_CH4 * NOAA_GMD_CH4 $ROOT/NOAA_GMD/v2023-10/monthly.gridded.surface.methane.1975-2022.1x1.nc SFC_CH4 1975-2022/1-12/1/0 RY xy ppbv * - 1 1 )))GMD_SFC_CH4 #============================================================================== # --- CMIP6 monthly mean surface CH4 --- # NOTE: This is only used if NOAA data is unavailable (pre 1979) #============================================================================== (((CMIP6_SFC_CH4 * CMIP6_Sfc_CH4 $ROOT/CMIP6/v2020-03/2x2.5/CMIP6_GHG_surface_VMR_$YYYY.2x25.nc CH4 1750-1978/1-12/1/0 EY xy ppbv * - 1 1 )))CMIP6_SFC_CH4 #============================================================================== # --- Olson land map masks --- #============================================================================== (((OLSON_LANDMAP * LANDTYPE00 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE00 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE01 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE01 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE02 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE02 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE03 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE03 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE04 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE04 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE05 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE05 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE06 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE06 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE07 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE07 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE08 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE08 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE09 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE09 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE10 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE10 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE11 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE11 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE12 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE12 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE13 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE13 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE14 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE14 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE15 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE15 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE16 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE16 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE17 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE17 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE18 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE18 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE19 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE19 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE20 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE20 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE21 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE21 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE22 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE22 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE23 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE23 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE24 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE24 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE25 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE25 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE26 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE26 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE27 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE27 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE28 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE28 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE29 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE29 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE30 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE30 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE31 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE31 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE32 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE32 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE33 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE33 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE34 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE34 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE35 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE35 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE36 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE36 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE37 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE37 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE38 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE38 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE39 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE39 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE40 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE40 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE41 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE41 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE42 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE42 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE43 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE43 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE44 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE44 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE45 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE45 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE46 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE46 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE47 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE47 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE48 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE48 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE49 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE49 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE50 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE50 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE51 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE51 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE52 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE52 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE53 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE53 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE54 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE54 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE55 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE55 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE56 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE56 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE57 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE57 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE58 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE58 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE59 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE59 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE60 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE60 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE61 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE61 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE62 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE62 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE63 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE63 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE64 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE64 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE65 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE65 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE66 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE66 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE67 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE67 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE68 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE68 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE69 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE69 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE70 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE70 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE71 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE71 1985/1/1/0 C xy 1 * - 1 1 * LANDTYPE72 $ROOT/OLSON_MAP/v2019-02/Olson_2001_Land_Type_Masks.025x025.generic.nc LANDTYPE72 1985/1/1/0 C xy 1 * - 1 1 )))OLSON_LANDMAP #============================================================================== # --- Yuan processed MODIS leaf area index data --- # # Source: Yuan et al 2011, doi:10.1016/j.rse.2011.01.001 # http://globalchange.bnu.edu.cn/research/lai # # NOTES: # (1) LAI data corresponding to each Olson land type is stored in # separate netCDF variables (XLAI00, XLAI01, ... XLAI72). # The "XLAI" denotes that the files are prepared in this way. # (2) Units are "cm2 leaf/cm2 grid box". # (3) Data is timestamped every 8 days, starting from the 2nd of the month. #============================================================================== (((YUAN_MODIS_LAI * XLAI00 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI00 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI01 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI01 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI02 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI02 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI03 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI03 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI04 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI04 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI05 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI05 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI06 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI06 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI07 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI07 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI08 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI08 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI09 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI09 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI10 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI10 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI11 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI11 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI12 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI12 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI13 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI13 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI14 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI14 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI15 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI15 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI16 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI16 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI17 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI17 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI18 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI18 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI19 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI19 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI20 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI20 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI21 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI21 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI22 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI22 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI23 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI23 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI24 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI24 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI25 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI25 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI26 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI26 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI27 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI27 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI28 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI28 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI29 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI29 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI30 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI30 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI31 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI31 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI32 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI32 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI33 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI33 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI34 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI34 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI35 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI35 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI36 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI36 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI37 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI37 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI38 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI38 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI39 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI39 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI40 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI40 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI41 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI41 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI42 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI42 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI43 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI43 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI44 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI44 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI45 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI45 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI46 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI46 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI47 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI47 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI48 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI48 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI49 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI49 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI50 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI50 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI51 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI51 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI52 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI52 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI53 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI53 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI54 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI54 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI55 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI55 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI56 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI56 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI57 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI57 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI58 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI58 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI59 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI59 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI60 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI60 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI61 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI61 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI62 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI62 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI63 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI63 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI64 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI64 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI65 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI65 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI66 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI66 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI67 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI67 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI68 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI68 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI69 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI69 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI70 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI70 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI71 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI71 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 * XLAI72 $ROOT/Yuan_XLAI/v2021-06/Yuan_proc_MODIS_XLAI.025x025.$YYYY.nc XLAI72 2000-2020/1-12/1-31/0 I xy cm2/cm2 * - 1 1 )))YUAN_MODIS_LAI #============================================================================== # --- Inputs for the RRTMG radiative transfer model --- # # NOTE: The 2 x 2.5 albedo fields and emissivity fields will produce # differences at the level of numerical noise when comparing output to # simulations from prior versions (esp. when running at 4 x 5 resolution). # You might see larger differences w/r/t prior verisons for a few grid boxes # along the coastline of Antarctica, where the difference in resolution # and regridding will be more apparent in the sharp transition from ice to # ocean. If this is a problem, you can use the data files at 4x5 resolution # for 4x5 RRTMG simulations. # # ALSO NOTE: The algorithm that HEMCO uses to select each time slice is # likely different than what was implemented when reading the old bpch # data from disk. This can also cause differences when comparing to # prior versions. #============================================================================== (((RRTMG * MODIS_ALBDFNIR $ROOT/RRTMG/v2018-11/modis_surf_albedo.2x25.nc ALBDFNIR 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_ALBDFVIS $ROOT/RRTMG/v2018-11/modis_surf_albedo.2x25.nc ALBDFVIS 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_ALBDRNIR $ROOT/RRTMG/v2018-11/modis_surf_albedo.2x25.nc ALBDRNIR 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_ALBDRVIS $ROOT/RRTMG/v2018-11/modis_surf_albedo.2x25.nc ALBDRVIS 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_01 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band01 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_02 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band02 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_03 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band03 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_04 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band04 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_05 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band05 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_06 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band06 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_07 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band07 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_08 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band08 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_09 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band09 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_10 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band10 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_11 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band11 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_12 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band12 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_13 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band13 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_14 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band14 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_15 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band15 2002/1-12/1-31/0 C xy 1 * - 1 1 * MODIS_EMISSIVITY_16 $ROOT/RRTMG/v2018-11/modis_emissivity.2x25.nc RTEMISS_band16 2002/1-12/1-31/0 C xy 1 * - 1 1 * TES_CLIM_CCL4 $ROOT/RRTMG/v2018-11/species_clim_profiles.2x25.nc CCl4 2000/1/1/0 C xyz ppbv * - 1 1 * TES_CLIM_CFC11 $ROOT/RRTMG/v2018-11/species_clim_profiles.2x25.nc CFC11 2000/1/1/0 C xyz ppbv * - 1 1 * TES_CLIM_CFC12 $ROOT/RRTMG/v2018-11/species_clim_profiles.2x25.nc CFC12 2000/1/1/0 C xyz ppbv * - 1 1 * TES_CLIM_CFC22 $ROOT/RRTMG/v2018-11/species_clim_profiles.2x25.nc CFC22 2000/1/1/0 C xyz ppbv * - 1 1 * TES_CLIM_CH4 $ROOT/RRTMG/v2018-11/species_clim_profiles.2x25.nc CH4 2000/1/1/0 C xyz ppbv * - 1 1 * TES_CLIM_N2O $ROOT/RRTMG/v2018-11/species_clim_profiles.2x25.nc N2O 2000/1/1/0 C xyz ppbv * - 1 1 )))RRTMG (((SfcVMR #============================================================================== # --- CMIP6 files --- # # Use core CMIP6 observationally constrained data from Meinshausen et al. (2017) GMD #============================================================================== * SfcVMR_CH3Cl $ROOT/CMIP6/v2020-03/2x2.5/CMIP6_GHG_surface_VMR_$YYYY.2x25.nc CH3Cl 1750-2014/1-12/1/0 C xy ppbv * 801 1 1 * SfcVMR_CH2Cl2 $ROOT/CMIP6/v2020-03/2x2.5/CMIP6_GHG_surface_VMR_$YYYY.2x25.nc CH2Cl2 1750-2014/1-12/1/0 C xy ppbv * 801 1 1 * SfcVMR_CHCl3 $ROOT/CMIP6/v2020-03/2x2.5/CMIP6_GHG_surface_VMR_$YYYY.2x25.nc CHCl3 1750-2014/1-12/1/0 C xy ppbv * 801 1 1 * SfcVMR_CH3Br $ROOT/CMIP6/v2020-03/2x2.5/CMIP6_GHG_surface_VMR_$YYYY.2x25.nc CH3Br 1750-2014/1-12/1/0 C xy ppbv * 801 1 1 #============================================================================== # --- WMO-2018 files (GMI) --- #============================================================================== * SfcVMR_CCl4 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CCl4 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_CFC113 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CFC113 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_CFC114 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CFC114 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_CFC115 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CFC115 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_CFC11 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CFC11 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_CFC12 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CFC12 1960-2100/1-12/1/0 C xy v/v * 802 1 1 #* SfcVMR_CH3Br $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CH3Br 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_CH3CCl3 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CH3CCl3 1960-2100/1-12/1/0 C xy v/v * 802 1 1 #* SfcVMR_CH3Cl $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CH3Cl 1960-2100/1-12/1/0 C xy v/v * 802 1 1 #* SfcVMR_CH4 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc CH4 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_H1211 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc H1211 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_H1301 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc H1301 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_H2402 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc C2BR2F4 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_HCFC141b $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc HCFC141b 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_HCFC142b $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc HCFC142b 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_HCFC22 $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc HCFC22 1960-2100/1-12/1/0 C xy v/v * 802 1 1 * SfcVMR_N2O $ROOT/SfcFix/v2019-12/WMO_2018/2x2.5/surface_VMRs_WMO2018_$YYYY.2x25.nc N2O 1960-2100/1-12/1/0 C xy v/v * 802 1 1 #============================================================================== # --- Dummy files with a single surface concentration (for OCS and H2) --- #============================================================================== * SfcVMR_OCS $ROOT/SfcFix/v2019-12/surface_VMR_OCS.2x25.nc OCS 1985/1/1/0 C xy ppbv * - 1 1 * SfcVMR_H2 $ROOT/SfcFix/v2019-12/surface_VMR_H2.2x25.nc H2 1985/1/1/0 C xy ppbv * - 1 1 )))SfcVMR (((CMIP6_SFC_BC #============================================================================== # --- CMIP6 surface boundary conditions for 1750-2100 --- #============================================================================== # Commented-out tracers do not exist in GEOS-Chem yet # * SfcVMR_C2F6 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 C2F6 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_C3F8 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 C3F8 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_C4F10 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 C4F10 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_C5F12 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 C5F12 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_C6F14 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 C6F14 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_C7F16 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 C7F16 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_C8F18 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 C8F18 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_CC4F8 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CC4F8 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 * SfcVMR_CCl4 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CCl4 1750-2100/1-12/1/0 RY xy v/v CCl4 802 1 1 # * SfcVMR_CF4 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CF4 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 * SfcVMR_CFC11 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CFC11 1750-2100/1-12/1/0 RY xy v/v CFC11 802 1 1 * SfcVMR_CFC113 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CFC113 1750-2100/1-12/1/0 RY xy v/v CFC113 802 1 1 * SfcVMR_CFC114 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CFC114 1750-2100/1-12/1/0 RY xy v/v CFC114 802 1 1 * SfcVMR_CFC115 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CFC115 1750-2100/1-12/1/0 RY xy v/v CFC115 802 1 1 * SfcVMR_CFC12 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CFC12 1750-2100/1-12/1/0 RY xy v/v CFC12 802 1 1 * SfcVMR_CH2Cl2 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CH2Cl2 1750-2100/1-12/1/0 RY xy v/v CH2Cl2 802 1 1 * SfcVMR_CH3Br $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CH3Br 1750-2100/1-12/1/0 RY xy v/v CH3Br 802 1 1 * SfcVMR_CH3CCl3 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CH3CCl3 1750-2100/1-12/1/0 RY xy v/v CH3CCl3 802 1 1 * SfcVMR_CH3Cl $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CH3Cl 1750-2100/1-12/1/0 RY xy v/v CH3Cl 802 1 1 * SfcVMR_CH4 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CH4 1750-2100/1-12/1/0 RY xy v/v CH4 802 1 1 * SfcVMR_CHCl3 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CHCl3 1750-2100/1-12/1/0 RY xy v/v CHCl3 802 1 1 # * SfcVMR_CO2 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 CO2 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 * SfcVMR_H1211 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 H1211 1750-2100/1-12/1/0 RY xy v/v H1211 802 1 1 * SfcVMR_H1301 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 H1301 1750-2100/1-12/1/0 RY xy v/v H1301 802 1 1 * SfcVMR_H2402 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 H2402 1750-2100/1-12/1/0 RY xy v/v H2402 802 1 1 # SFC_BC_HCFC123 <- exists in UCX with lifetime of 2 years but has no surface boundary conditions; 200-600 pptv in https://doi.org/10.1021/es802308m * SfcVMR_HCFC141b $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HCFC141b 1750-2100/1-12/1/0 RY xy v/v HCFC141b 802 1 1 * SfcVMR_HCFC142b $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HCFC142b 1750-2100/1-12/1/0 RY xy v/v HCFC142b 802 1 1 * SfcVMR_HCFC22 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HCFC22 1750-2100/1-12/1/0 RY xy v/v HCFC22 802 1 1 # * SfcVMR_HFC125 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HFC125 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_HFC134a $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HFC134a 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_HFC143a $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HFC143a 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_HFC152a $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HFC152a 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_HFC227ea $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HFC227ea 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_HFC23 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HFC23 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_HFC236fa $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HFC236fa 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_HFC245fa $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HFC245fa 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_HFC32 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HFC32 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_HFC365mfc $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HFC365mfc 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_HFC4310mee $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 HFC4310mee 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 * SfcVMR_N2O $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 N2O 1750-2100/1-12/1/0 RY xy v/v N2O 802 1 1 # * SfcVMR_NF3 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 NF3 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_SF6 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 SF6 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 # * SfcVMR_SO2F2 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_BC_$YYYY.nc4 SO2F2 1750-2100/1-12/1/0 RY xy v/v * 802 1 1 #============================================================================== # -- Not part of CMIP6 experimental design; use GEOS-Chem defaults #============================================================================== * SfcVMR_OCS $ROOT/SfcFix/v2019-12/surface_VMR_OCS.2x25.nc OCS 1985/1/1/0 C xy ppbv * - 1 1 * SfcVMR_H2 $ROOT/SfcFix/v2019-12/surface_VMR_H2.2x25.nc H2 1985/1/1/0 C xy ppbv * - 1 1 )))CMIP6_SFC_BC #============================================================================== # --- Oceanic ozone deposition --- # # Sea surface iodide concentration and salinity to be read in for the # new calculations for ozone deposition to the ocean #============================================================================== (((OCEAN_O3_DRYDEP * surf_salinity $ROOT/OCEAN_O3_DRYDEP/v2020-02/WOA_2013_salinity.nc s_mn 1985/1/1/0 C xy 1 * - 1 1 * surf_iodide $ROOT/OCEAN_O3_DRYDEP/v2020-02/Oi_prj_predicted_iodide_0.125x0.125_No_Skagerrak_Just_Ensemble.nc Ensemble_Monthly_mean 1970/1-12/1/0 C xy 1 * - 1 1 )))OCEAN_O3_DRYDEP ### END SECTION BASE EMISSIONS ### ############################################################################### ### BEGIN SECTION SCALE FACTORS ############################################################################### # ScalID Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Oper (((EMISSIONS #============================================================================== # --- Annual scale factors --- #============================================================================== (((XIAO_C3H8 6 LIQFUEL_THISYR $ROOT/AnnualScalar/v2014-07/AnnualScalar.geos.1x1.nc COscalar 1985-2010/1/1/0 C xy 1 1 7 LIQFUEL_1985 $ROOT/AnnualScalar/v2014-07/AnnualScalar.geos.1x1.nc COscalar 1985/1/1/0 C xy 1 -1 )))XIAO_C3H8 #============================================================================== # --- Diurnal scale factors --- #============================================================================== 25 EDGAR_TODNOX $ROOT/EDGARv42/v2015-02/NO/EDGAR_hourly_NOxScal.nc NOXscale 2000/1/1/* C xy unitless 1 26 GEIA_TOD_FOSSIL 0.45/0.45/0.6/0.6/0.6/0.6/1.45/1.45/1.45/1.45/1.4/1.4/1.4/1.4/1.45/1.45/1.45/1.45/0.65/0.65/0.65/0.65/0.45/0.45 - - - xy unitless 1 #============================================================================== # Diurnal variablity of Chinese power plants from Liu et al. (EST, 2019) #============================================================================== 33 PKU_pow_NOx 0.94/0.93/0.93/0.92/0.93/0.96/0.98/0.99/0.98/1.00/1.05/1.03/1.01/1.04/1.05/1.05/1.07/1.06/1.05/1.05/1.03/1.01/0.99/0.96 - - - xy unitless 1 1009 34 PKU_pow_SO2 0.92/0.91/0.90/0.89/0.90/0.93/0.97/0.98/0.99/1.02/1.07/1.04/1.03/1.06/1.06/1.07/1.10/1.10/1.06/1.05/1.03/1.01/0.99/0.93 - - - xy unitless 1 1009 35 PKU_pow_PM_BC_POC_VOC_CO 0.95/0.93/0.92/0.91/0.90/0.93/0.97/0.97/0.99/1.03/1.04/1.03/1.02/1.03/1.05/1.07/1.07/1.07/1.06/1.04/1.03/1.02/1.00/0.97 - - - xy unitless 1 1009 # These scale factors undo (Oper=-1) the global diurnal scale factors over China (Mask=1009) 36 EDGAR_TODNOX_UNDO $ROOT/EDGARv42/v2015-02/NO/EDGAR_hourly_NOxScal.nc NOXscale 2000/1/1/* C xy unitless -1 1009 37 GEIA_TOD_FOSSIL_UNDO 0.45/0.45/0.6/0.6/0.6/0.6/1.45/1.45/1.45/1.45/1.4/1.4/1.4/1.4/1.45/1.45/1.45/1.45/0.65/0.65/0.65/0.65/0.45/0.45 - - - xy unitless -1 1009 #============================================================================== # --- Day-of-week scale factors --- # ==> data is Sun/Mon/.../Sat #============================================================================== (((XIAO_C3H8 22 GEIA_DOW_HC 0.671/1.1102/1.1102/1.1102/1.1102/1.1102/0.768 - - - xy unitless 1 )))XIAO_C3H8 #============================================================================== # --- Seasonal scale factors --- #============================================================================== (((DICE_Africa # from GEIA: 30 GEIA_SEASON_NOX $ROOT/GEIA/v2014-07/GEIA_monthscal.generic.1x1.nc NOXrat 1985/1-12/1/0 C xy unitless 1 31 GEIA_SEASON_SO2 $ROOT/GEIA/v2014-07/GEIA_monthscal.generic.1x1.nc SO2rat 1985/1-12/1/0 C xy unitless 1 )))DICE_Africa #============================================================================== # --- For Bromocarbons --- #============================================================================== (((LIANG_BROMOCARB 39 BROMOCARB_SEASON $ROOT/BROMINE/v2015-02/BromoCarb_Season.nc CHXBRY_scale 2000/1-12/1/0 C xy unitless 1 )))LIANG_BROMOCARB #============================================================================== # --- Scale factors used for species conversions --- #============================================================================== # Units carbon to species conversions # Factor = # carbon atoms * MW carbon) / MW species 40 CtoACET MATH:58.09/(3.0*12.0) - - - xy unitless 1 41 CtoALD2 MATH:44.06/(2.0*12.0) - - - xy unitless 1 42 CtoALK4 MATH:58.12/(4.3*12.0) - - - xy unitless 1 43 CtoBENZ MATH:78.12/(6.0*12.0) - - - xy unitless 1 44 CtoC2H4 MATH:28.05/(2.0*12.0) - - - xy unitless 1 45 CtoC2H6 MATH:30.08/(2.0*12.0) - - - xy unitless 1 46 CtoC3H8 MATH:44.11/(3.0*12.0) - - - xy unitless 1 47 CtoEOH MATH:46.07/(2.0*12.0) - - - xy unitless 1 48 CtoMEK MATH:72.11/(4.0*12.0) - - - xy unitless 1 49 CtoPRPE MATH:42.09/(3.0*12.0) - - - xy unitless 1 55 CtoTOLU MATH:92.15/(7.0*12.0) - - - xy unitless 1 56 CtoXYLE MATH:106.18/(8.0*12.0) - - - xy unitless 1 59 CtoC2H2 MATH:26.04/(2.0*12.0) - - - xy unitless 1 61 CtoISOP MATH:68.13/(5.0*12.0) - - - xy unitless 1 62 CtoMTPA MATH:136.26/(10.0*12.0) - - - xy unitless 1 64 CtoMBOX MATH:86.13/(5.0*12.0) - - - xy unitless 1 67 CtoSESQ MATH:204.4/(15.0*12.0) - - - xy unitless 1 83 CtoMACR MATH:70.10/(4.0*12.0) - - - xy unitless 1 84 CtoRCHO MATH:58.09/(3.0*12.0) - - - xy unitless 1 # VOC speciations (((RCP_3PD.or.RCP_45.or.RCP_60.or.RCP_85 50 KET2MEK 0.25 - - - xy unitless 1 51 KET2ACET 0.75 - - - xy unitless 1 )))RCP_3PD.or.RCP_45.or.RCP_60.or.RCP_85 (((APEI.or.EDGARv43.or.DICE_Africa.or.QFED2 52 COPROD_FOSSIL 1.02 - - - xy unitless 1 54 COPROD_BIOMASS 1.05 - - - xy unitless 1 )))APEI.or.EDGARv43.or.DICE_Africa.or.QFED2 # RCP acids to HCOOH conversion (((RCP_3PD.or.RCP_45.or.RCP_60.or.RCP_85 57 RCP_HCOOHfraction 0.25 - - - xy unitless 1 58 RCP_ACIDStoHCOOH 0.779661 - - - xy unitless 1 )))RCP_3PD.or.RCP_45.or.RCP_60.or.RCP_85 # SOx to SO2 conversion (Chin et al., 2000) 60 SOX2SO2_GLOBAL 0.986 - - - xy unitless 1 63 SO2toSO4 0.031 - - - xy unitless 1 65 SO2toSO4_APEI 0.014 - - - xy unitless 1 66 SO2toPFe 1.0e-3 - - - xy unitless 1 68 SO2toPFe_APEI 4.7e-4 - - - xy unitless 1 69 SO2toPFe_NEI 1.0e-3 - - - xy unitless 1 78 SO2FRAC 0.969 - - - xy unitless 1 # Carbon aerosols: speciation of hydrophilic and hydrophobic fractions # (Fractions applied to the biomass burning extensions (GFED or FINN) are # specified separately in the extensions section.) 70 BC2BCPI 0.2 - - - xy unitless 1 71 BC2BCPO 0.8 - - - xy unitless 1 72 OC2OCPI 0.5 - - - xy unitless 1 73 OC2OCPO 0.5 - - - xy unitless 1 74 POGSCAL 1.27 - - - xy unitless 1 76 SV2POG1 0.49 - - - xy unitless 1 77 SV2POG2 0.51 - - - xy unitless 1 (((BB4MIPS # Convert MOH to ACET emissions for CMIP6 Scenarios 79 MOH2ACET 0.2094649 - - - xy unitless 1 )))BB4MIPS # Convert CEDS total alchohols to methanol, ethanol, and other alcohols following Chen et al. (2019, ACP) 90 VOC1toMOH 0.5 - - - xy 1 1 91 VOC1toEOH 0.375 - - - xy 1 1 92 VOC1toROH 0.125 - - - xy 1 1 # NOx/NO2 to NO conversion 115 NO2toNO 6.521739e-1 - - - xy unitless 1 # SOA-Precursor scale factors # # From Kim, P.S., et. al. 2015 "Sources, seasonality, and trends # of southeast US aerosol: ..." # AVOCs and BBVOCs are emitted in proportion to CO, with an emission ratio of # 0.069 g AVOC (g CO)−1 (Hayes et al., 2015) and # 0.013 g BBVOC (g CO)−1 (Cubison et al., 2011). # They are both oxidized by OH in the model ... to generate SOA. 280 COtoSOAP_anth 0.069 - - - xy 1 1 281 COtoSOAP_burn 0.013 - - - xy 1 1 #============================================================================== # --- Diurnal scale factors for biomass burning --- # # Fire diurnal scaling factors (% per hour) from WRAP Report to Project # No. 178-6, July 2005 #============================================================================== 75 QFED2_TOD 0.1392/0.1392/0.1368/0.1368/0.1368/0.1368/0.1368/0.1368/0.1368/0.48/0.96/1.68/2.4/3.12/3.84/4.08/2.88/1.68/0.96/0.1368/0.1368/0.1368/0.1368/0.1368 - - - xy unitless 1 #============================================================================== # --- NAP scale factors --- # # Get anthropogenic (FF) NAP emissions by scaling BENZ emissions with the # following factor. Factor is ratio of TgC NAP to TgC BENZ emissions # or equivalently, molec C NAP to molec C BENZ. Scaling should produce # about 0.09 TgC NAP/year, consistent with non-BB,BF emissions predicted # by Zhang and Tao 2009 Atm Env # Based on year 2000 1x1 inv (hotp 11/14/09) #REAL*8, PARAMETER :: NAPTOBENZSCALE = 0.06861d0 # NAPTOTSCAL: factor to scale total NAP emissions to POA (hotp 7/24/09) #REAL*8, PARAMETER :: NAPTOTALSCALE = 66.09027d0 # = CO emissions * emissions ratio of mol NAP / mol CO # * kg C / mol NAP * mol CO / kg CO # mmol NAP / mol CO = 0.025 g NAP/ kg DM / # ( 78 g CO/ kg DM ) * 28 g CO / mol CO # / ( 128 g NAP / mol NAP ) *1000 mmol/mol # scale emissions down if appropriate to remove the # effect of VOC ox on CO emission # EF for NAP from Andreae and Merlet 2001 Glob Biog Cyc # EF for CO from Andreae and Merlet 2001 Glob Biog Cyc #BIOFUEL_KG(N,:,:) = BIOFUEL_KG(IDBFCO,:,:) * 0.0701d-3 # * 120d0 / 28d0 * COSCALEDOWN #============================================================================== (((EDGARv43 80 NAPEMISS 1.0 - - - xy unitless 1 81 NAPTOTSCAL 66.09 - - - xy unitless 1 82 BENZTONAP 6.86e-2 - - - xy unitless 1 )))EDGARv43 #============================================================================== # --- BIOGENIC EMISSIONS FROM DRY LEAF MATTER --- # # Use yield of 40ug/dDW. # Assume organic matter has molecular formula CH2O (MW 30.03), which # means 0.4 gC / g plant # ALD2 MW = 44.05 g/mole ==> 0.55 gC/g ALD2 # Therefore 40ug (ALD2) / g (plant) ==> 55 ug C in ALD2 / gC plant # EOH MW = 46 g/mole ==> 0.52 gC/g EOH # Therefore 40ug (EOH) / g (plant) ==> 52 ug C in EOH / gC plant #============================================================================== (((DECAYING_PLANTS 85 YIELD_RESP_ALD2 55.0e-6 - - - xy unitless 1 86 YIELD_RESP_EOH 52.0e-6 - - - xy unitless 1 )))DECAYING_PLANTS #============================================================================== # --- AEIC2019 aircraft emissions scale factors --- # # See http://geoschemdata.wustl.edu/ExtData/HEMCO/AEIC2019/v2022-03/AEIC_2019_technical_note.pdf #============================================================================== (((AEIC2019_DAILY.or.AEIC2019_MONMEAN # Conversions from AEIC2019 inventory quantities to individual species 101 AEICACET 3.693477e-3 - - - xy unitless 1 102 AEICALD2 4.271822e-2 - - - xy unitless 1 103 AEICALK4 2.137911e-1 - - - xy unitless 1 104 AEICC2H6 5.214505e-3 - - - xy unitless 1 105 AEICC3H8 7.808710e-4 - - - xy unitless 1 106 AEICCH2O 1.230811e-1 - - - xy unitless 1 107 AEICPRPE 1.780418e-1 - - - xy unitless 1 108 AEICMACR 5.362609e-2 - - - xy unitless 1 109 AEICRCHO 3.676944e-2 - - - xy unitless 1 111 AEICSO2 1.176000e-3 - - - xy unitless 1 112 AEICSO4 3.600000e-5 - - - xy unitless 1 113 AEICBC 3.000000e-5 - - - xy unitless 1 114 AEICHC 1.160000e+0 - - - xy unitless 1 120 FB2H2O 1.231000e+0 - - - xy unitless 1 #------------------------------------------------------------------------------ # Scaling factors for 1990-2019 derived from Lee et al. (2021). Increase # from 2018 to 2019 is estimated based on the growth from 2017 to 2018. # Lee et al. (2021) only covers 1990 to 2018, so to get to 2019 it is # assumed that the growth from 2017 to 2018 is the same as that from 2018 # to 2019. So the formula is something like: # # Emissions of CO in 2009 = AEIC 2019 emissions of CO # * (Lee 2017 CO / Lee 2018 fuel burn) # * (Lee 2009 fuel burn / Lee 2018 fuel burn) # # So in this case, we use the Lee 2017/Lee 2018 value to scale AEIC’s # emissions to the “2018” values, and then scale directly using the Lee et al # fuel burn. This ensures that, when running with year 2019, you get an # unadjusted version of the AEIC2019 inventory, and all previous years are # scaled down. For NOx, the same procedure is applied but with an additional # factor to account for changes in NOx EI: # # Emissions of NOx in 2009 = [ AEIC 2019 emissions of NOx # * (Lee 2017 CO / Lee 2018 fuel burn) # * (Lee 2009 fuel burn / Lee 2018 fuel burn) ] # * [ (Lee 2017 NOx EI / Lee 2018 NOx EI) # * (Lee 2009 NOx EI / Lee 2018 NOx EI) ] # # In this case though the Lee et al 2018 and 2017 NOx EIs are identical. # All scaling factors are included in here in HEMCO_Config.rc. #------------------------------------------------------------------------------ (((AEIC_SCALE_1990_2019 240 AC_EINOX 0.852/0.852/0.852/0.859/0.866/0.873/0.881/0.888/0.896/0.903/0.911/0.916/0.922/0.927/0.932/0.937/0.950/0.962/0.974/0.987/1.000/1.000/1.000/1.000/1.000/1.000/1.000/1.000/1.000/1.000 - 1990-2019/1/1/0 C xy 1 1 241 AC_FBMULT 0.506/0.489/0.490/0.493/0.517/0.529/0.553/0.570/0.581/0.600/0.631/0.607/0.608/0.608/0.646/0.678/0.686/0.706/0.703/0.666/0.700/0.721/0.728/0.749/0.773/0.815/0.854/0.905/0.952/1.000 - 1990-2019/1/1/0 C xy 1 1 )))AEIC_SCALE_1990_2019 # If not applying 1990-2019 scale factors, use 1.0 (((.not.AEIC_SCALE_1990_2019 240 AC_EINOX 1.000000e+0 - - - xy 1 1 241 AC_FBMULT 1.000000e+0 - - - xy 1 1 ))).not.AEIC_SCALE_1990_2019 )))AEIC2019_DAILY.or.AEIC2019_MONMEAN (((CMIP6_AIRCRAFT # Conversions for SO2 to HCs taken from AEIC 601 CMIP6_SO2_TO_ACET 3.140712 - - - xy unitless 1 602 CMIP6_SO2_TO_ALD2 36.32502 - - - xy unitless 1 603 CMIP6_SO2_TO_ALK4 181.7952 - - - xy unitless 1 604 CMIP6_SO2_TO_C2H6 4.434103 - - - xy unitless 1 605 CMIP6_SO2_TO_C3H8 0.664006 - - - xy unitless 1 606 CMIP6_SO2_TO_CH2O 104.6608 - - - xy unitless 1 607 CMIP6_SO2_TO_PRPE 151.3961 - - - xy unitless 1 608 CMIP6_SO2_TO_MACR 45.60042 - - - xy unitless 1 609 CMIP6_SO2_TO_RCHO 31.26653 - - - xy unitless 1 )))CMIP6_AIRCRAFT #============================================================================== # --- EPA NEI day-of-week scale factors --- #============================================================================== (((NEI2016_MONMEAN 210 NEI99_DOW_NOX $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc NOX 1999/1-12/WD/0 C xy 1 1 211 NEI99_DOW_CO $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc CO 1999/1-12/WD/0 C xy 1 1 212 NEI99_DOW_ALK4 $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc ALK4 1999/1-12/WD/0 C xy 1 1 213 NEI99_DOW_ACET $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc ACET 1999/1-12/WD/0 C xy 1 1 214 NEI99_DOW_MEK $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc MEK 1999/1-12/WD/0 C xy 1 1 215 NEI99_DOW_PRPE $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc PRPE 1999/1-12/WD/0 C xy 1 1 216 NEI99_DOW_C3H8 $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc C3H8 1999/1-12/WD/0 C xy 1 1 217 NEI99_DOW_C2H6 $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc C2H6 1999/1-12/WD/0 C xy 1 1 218 NEI99_DOW_SO2 $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc SO2 1999/1-12/WD/0 C xy 1 1 219 NEI99_DOW_SO4 $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc SO4 1999/1-12/WD/0 C xy 1 1 220 NEI99_DOW_MSA $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc MSA 1999/1-12/WD/0 C xy 1 1 221 NEI99_DOW_BCPI $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc BCPI 1999/1-12/WD/0 C xy 1 1 222 NEI99_DOW_OCPI $ROOT/NEI2005/v2023-02/NEI99.dow.geos.1x1.corrected.012023.nc OCPI 1999/1-12/WD/0 C xy 1 1 )))NEI2016_MONMEAN #============================================================================== # --- EPA NEI2016 annual scale factors --- # # Annual scale factors were computed from the EPA Trends Report for Tier 1 CAPS # (obtained 21 Sep 2021) using the "Total without wildfires" field. NH3 and # PM2.5 only had values for 2002-2020, while the remaining species had yearly # values for 1990-2020 (we include only 2002-2020 here). # # See NEI2016/v2021-06/national_tier1_caps+HEMCOscaling.xlsx for details. #============================================================================== (((NEI2016_MONMEAN 251 NEI2016_NOx_YRSCALE 2.341/2.213/2.083/1.989/1.879/1.768/1.651/1.539/1.448/1.407/1.345/1.282/1.224/1.135/1.000/0.943/0.895/0.840/0.785 - 2002-2020/1/1/0 C xy 1 1 252 NEI2016_CO_YRSCALE 1.817/1.767/1.716/1.666/1.610/1.554/1.393/1.251/1.272/1.261/1.220/1.178/1.137/1.095/1.000/0.973/0.950/0.927/0.904 - 2002-2020/1/1/0 C xy 1 1 253 NEI2016_NH3_YRSCALE 0.996/0.999/1.002/1.005/1.043/1.082/1.100/1.088/1.077/1.012/0.957/0.954/0.899/0.950/1.000/1.052/1.051/1.050/1.049 - 2002-2020/1/1/0 C xy 1 1 254 NEI2016_VOC_YRSCALE 1.314/1.285/1.255/1.223/1.234/1.246/1.148/1.135/1.154/1.175/1.153/1.131/1.110/1.067/1.000/0.970/0.956/0.941/0.926 - 2002-2020/1/1/0 C xy 1 1 255 NEI2016_SO2_YRSCALE 4.773/4.701/4.626/4.625/4.171/3.717/3.273/2.879/2.446/2.038/1.591/1.525/1.469/1.237/1.000/0.767/0.735/0.641/0.583 - 2002-2020/1/1/0 C xy 1 1 256 NEI2016_PM25_YRSCALE 1.120/1.140/1.159/1.178/1.213/1.248/1.202/1.195/1.190/1.192/1.153/1.115/1.077/1.040/1.000/0.964/0.961/0.958/0.955 - 2002-2020/1/1/0 C xy 1 1 )))NEI2016_MONMEAN #============================================================================== # --- GFAS scale factors --- #============================================================================== (((GFAS 300 GFAS_EMITL $ROOT/GFAS/v2018-09/$YYYY/GFAS_$YYYY$MM.nc mami 2003-2021/1-12/1-31/0 C xy m 1 )))GFAS #============================================================================== # --- QFED vertical partitioning --- # Following Fischer et al. (2014) and Travis et al. (2016), emit 35% of QFED # emissions above the PBL. #============================================================================== (((QFED2 311 QFED_PBL_FRAC 0.65 - - - xy 1 1 312 QFED_FT_FRAC 0.35 - - - xy 1 1 )))QFED2 #============================================================================== # --- CEDS vertical partitioning --- #============================================================================== (((CEDSv2.or.CEDS_GBDMAPS 315 ENERGY_LEVS $ROOT/VerticalScaleFactors/v2021-05/gc_layers.nc g_energy 2017/1/1/0 C xyz 1 1 316 INDUSTRY_LEVS $ROOT/VerticalScaleFactors/v2021-05/gc_layers.nc g_industry 2017/1/1/0 C xyz 1 1 317 SHIP_LEVS $ROOT/VerticalScaleFactors/v2021-05/gc_layers.nc cmv_c3 2017/1/1/0 C xyz 1 1 )))CEDSv2.or.CEDS_GBDMAPS #============================================================================== # --- DICE-Africa --- #============================================================================== (((DICE_Africa # Charcoal production scale factor to reduce charcoal production # by a factor of 5 after finding error in implementation of emission factors. 320 DICE_CP_SF 0.20 - - - xy 1 1 # Car emissions of OCPI and OCPO scale factor to address a factor of 7 overestimate # in car OC emissions that results from incorrect emission factors used in the original inventory 330 DICE_CAR_OC_SF 0.14 - - - xy 1 1 )))DICE_Africa #============================================================================== # --- Offline biogenic VOC scale factors --- # # Isoprene : 1.5% mass yield SOAP, 1.5% mass yield SOAS # Monoterpenes : 5.0% mass yield SOAP, 5.0% mass yield SOAS # Other terpenes: 5.0% mass yield SOAP, 5.0% mass yield SOAS # --> Need to multiply by 1.133 to convert from carbon basis to mass basis #============================================================================== (((OFFLINE_BIOGENICVOC 610 ISOPtoSOA 0.0170 - - - xy 1 1 611 MONOtoSOA 0.0567 - - - xy 1 1 612 OTHRtoSOA 0.0567 - - - xy 1 1 )))OFFLINE_BIOGENICVOC #============================================================================== # --- Offline sea salt scale factors --- # # NOTES: # - Sea salt alkalinity and chloride values obtained from hcox_seasalt_mod.F90 # - BrContent obtained from '--> Br- mass ratio' in SeaSalt extension above #============================================================================== (((OFFLINE_SEASALT 615 SSAlkalinity 1.0 - - - xy 1 1 616 SSChloride 0.5504 - - - xy 1 1 617 BrContent 2.11e-3 - - - xy 1 1 )))OFFLINE_SEASALT )))EMISSIONS #============================================================================== # Scale the CMIP6 values in pptv to ppbv #============================================================================== 801 pptv2ppbv 0.001 - - - xy 1 1 802 vv2ppbv 1000000000 - - - xy 1 1 #============================================================================== # --- EDGAR 4.3.1 --- # Using data of 2010, the calculated seasonal ratio for different species in the # same sector are nearly identical, possibly due to consistent activity data used. # Therefore we use the seasonal scale factors of CO in 2010 for most sectors, # except for AGR, AWB and SOL. # For AGR, the NH3 AGR seasonal scale factors are used. # For AWB, the CO AGR seasonal scale factors are used. # For SOL, the NOx AGR seasonal scale factors are used. #============================================================================== (((EDGARv43.or.DICE_Africa 1201 POW $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc POW 2010/1-12/1/0 C xy unitless 1 1202 ENG $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc ENG 2010/1-12/1/0 C xy unitless 1 1203 IND $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc IND 2010/1-12/1/0 C xy unitless 1 1204 TRO $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc TRO 2010/1-12/1/0 C xy unitless 1 1205 TNG $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc TNG 2010/1-12/1/0 C xy unitless 1 1206 RCO $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc RCO 2010/1-12/1/0 C xy unitless 1 1207 PPA $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc PPA 2010/1-12/1/0 C xy unitless 1 1208 AGR $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc AGR 2010/1-12/1/0 C xy unitless 1 1209 AWB $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc AWB 2010/1-12/1/0 C xy unitless 1 1210 SOL $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc SOL 2010/1-12/1/0 C xy unitless 1 1211 SWD $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc SWD 2010/1-12/1/0 C xy unitless 1 1212 FFF $ROOT/EDGARv43/v2016-11/EDGAR_v43.Seasonal.1x1.nc FFF 2010/1-12/1/0 C xy unitless 1 )))EDGARv43.or.DICE_Africa (((CEDSv2 #========================================================================= # --- Sector-wise diel scale factors for CEDSv2 --- # These scale factors could potentially be used for other global base emissions if modified accordingly. #========================================================================= 2401 TOD_AGRICULTURE 0.599/0.599/0.599/0.599/0.599/0.649/0.748/0.898/1.098/1.247/1.447/1.597/1.796/1.746/1.696/1.547/1.347/1.098/0.898/0.748/0.649/0.599/0.599/0.599 - - - xy unitless 1 2406 TOD_ENERGY 0.790/0.720/0.720/0.710/0.740/0.800/0.920/1.080/1.190/1.220/1.210/1.210/1.170/1.150/1.140/1.130/1.100/1.070/1.040/1.020/1.020/1.010/0.960/0.880 - - - xy unitless 1 2407 TOD_INDUSTRY 0.750/0.750/0.780/0.820/0.880/0.950/1.020/1.090/1.160/1.220/1.280/1.300/1.220/1.240/1.250/1.160/1.080/1.010/0.950/0.900/0.850/0.810/0.780/0.750 - - - xy unitless 1 2409 TOD_RESIDENTIAL 0.393/0.393/0.393/0.393/0.393/0.492/1.180/1.475/1.574/1.574/1.377/1.180/1.082/1.082/0.984/0.984/0.984/1.082/1.377/1.475/1.377/1.377/0.984/0.393 - - - xy unitless 1 2411 TOD_TRANSPORT 0.190/0.090/0.060/0.050/0.090/0.220/0.860/1.840/1.860/1.410/1.240/1.200/1.320/1.440/1.450/1.590/2.030/2.080/1.510/1.060/0.740/0.620/0.610/0.440 - - - xy unitless 1 #========================================================================= # --- Sector-wise day-of-week scale factors for CEDSv2 --- # These scale factors could potentially be used for other global base emissions if modified accordingly. #========================================================================= 706 DOW_ENERGY 0.850/1.060/1.060/1.060/1.060/1.060/0.850 - - - xy unitless 1 707 DOW_INDUSTRY 0.800/1.080/1.080/1.080/1.080/1.080/0.800 - - - xy unitless 1 709 DOW_RESIDENTIAL 0.800/1.080/1.080/1.080/1.080/1.080/0.800 - - - xy unitless 1 711 DOW_TRANSPORT 0.790/1.020/1.060/1.080/1.100/1.140/0.810 - - - xy unitless 1 )))CEDSv2 ### END SECTION SCALE FACTORS ### ############################################################################### ### BEGIN SECTION MASKS ############################################################################### # ScalID Name sourceFile sourceVar sourceTime C/R/E SrcDim SrcUnit Oper Lon1/Lat1/Lon2/Lat2 (((EMISSIONS #============================================================================== # Country/region masks #============================================================================== (((APEI 1002 CANADA_MASK $ROOT/MASKS/v2018-09/Canada_mask.geos.1x1.nc MASK 2000/1/1/0 C xy 1 1 -141/40/-52/85 )))APEI (((NEI2016_MONMEAN 1007 CONUS_MASK $ROOT/MASKS/v2018-09/CONUS_Mask.01x01.nc MASK 2000/1/1/0 C xy 1 1 -140/20/-50/60 )))NEI2016_MONMEAN (((DICE_Africa 1008 AFRICA_MASK $ROOT/MASKS/v2018-09/AF_LANDMASK.geos.05x0666.global.nc LANDMASK 1985/1/1/0 C xy 1 1 -20/-37/54/40 )))DICE_Africa 1009 CHINA_MASK $ROOT/MASKS/v2018-09/China_mask.generic.1x1.nc MASK 2000/1/1/0 C xy 1 1 70/10/150/60 (((AFCID 1010 INDIA_MASK $ROOT/MASKS/v2019-05/India_mask.generic.1x1.nc MASK 2000/1/1/0 C xy 1 1 67/7/99/39 )))AFCID )))EMISSIONS ### END SECTION MASKS ### ### END OF HEMCO INPUT FILE ### #EOC ================================================ FILE: run/WRF/fullchem/HEMCO_Diagn.rc ================================================ #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !MODULE: HEMCO_Diagn.rc # # !DESCRIPTION: Configuration file for netCDF diagnostic output from HEMCO. #\\ #\\ # !REMARKS: # For more information about scheduling HEMCO diagnostics, see: # http://wiki.geos-chem.org/The_HEMCO_User%27s_Guide#Diagnostics # # For a list of species by inventory, please see: # http://wiki.geos-chem.org/HEMCO_data_directories#Default_GEOS-Chem_emissions_configurations # # All diagnostics will now be saved out in units of kg/m2/s. If necessary, # you can convert hydrocarbon species to e.g. kg C/m2/s in post-processing. # # The INVENTORY DIAGNOSTICS (starting with "Inv") are only needed for # benchmark simulations, and can be left commented out for production runs. # # !REVISION HISTORY: # 13 Feb 2018 - E. Lundgren - Initial version # See https://github.com/geoschem/geos-chem for complete history #EOP #------------------------------------------------------------------------------ #BOC # Name Spec ExtNr Cat Hier Dim OutUnit LongName ############################################################################### ##### ACET emissions ##### ############################################################################### EmisACET_Total ACET -1 -1 -1 3 kg/m2/s ACET_emission_flux_from_all_sectors EmisACET_BioBurn ACET 111 -1 -1 2 kg/m2/s ACET_emission_flux_from_biomass_burning EmisACET_Biogenic ACET 0 4 -1 2 kg/m2/s ACET_emission_flux_from_biogenic_sources EmisACET_Ocean ACET 101 -1 -1 2 kg/m2/s ACET_emission_flux_from_ocean ############################################################################### ##### ACR emissions ##### ############################################################################### EmisACR_Total ACR -1 -1 -1 3 kg/m2/s ACR_emission_flux_from_all_sectors EmisACR_BioBurn ACR 111 -1 -1 2 kg/m2/s ACR_emission_flux_from_biomass_burning ############################################################################### ##### ACTA emissions ##### ############################################################################### EmisACTA_Total ACTA -1 -1 -1 3 kg/m2/s ACTA_emission_flux_from_all_sectors EmisACTA_BioBurn ACTA 111 -1 -1 2 kg/m2/s ACTA_emission_flux_from_biomass_burning ############################################################################### ##### ALD2 emissions ##### ############################################################################### EmisALD2_Total ALD2 -1 -1 -1 3 kg/m2/s ALD2_emission_flux_from_all_sectors EmisALD2_Anthro ALD2 0 1 -1 3 kg/m2/s ALD2_emission_flux_from_anthropogenic EmisALD2_BioBurn ALD2 111 -1 -1 2 kg/m2/s ALD2_emission_flux_from_biomass_burning EmisALD2_Biogenic ALD2 0 4 -1 2 kg/m2/s ALD2_emission_flux_from_biogenic_sources EmisALD2_Ocean ALD2 101 -1 -1 2 kg/m2/s ALD2_emission_flux_from_ocean EmisALD2_PlantDecay ALD2 0 3 -1 2 kg/m2/s ALD2_emission_flux_from_decaying_plants EmisALD2_Ship ALD2 0 10 -1 2 kg/m2/s ALD2_emission_flux_from_ships ############################################################################### ##### ALK4 emissions ##### ############################################################################### EmisALK4_Total ALK4 -1 -1 -1 3 kg/m2/s ALK4_emission_flux_from_all_sectors EmisALK4_Aircraft ALK4 0 20 -1 3 kg/m2/s ALK4_emission_flux_from_aircraft EmisALK4_Anthro ALK4 0 1 -1 3 kg/m2/s ALK4_emission_flux_from_anthropogenic EmisALK4_BioBurn ALK4 111 -1 -1 2 kg/m2/s ALK4_emission_flux_from_biomass_burning EmisALK4_Ship ALK4 0 10 -1 2 kg/m2/s ALK4_emission_flux_from_ships ############################################################################### ##### ALK6 emissions ##### ############################################################################### EmisALK6_Total ALK6 -1 -1 -1 3 kg/m2/s ALK6_emission_flux_from_all_sectors EmisALK6_Anthro ALK6 0 1 -1 3 kg/m2/s ALK6_emission_flux_from_anthropogenic EmisALK6_Ship ALK6 0 10 -1 2 kg/m2/s ALK6_emission_flux_from_ships ############################################################################### ##### BCPI and BCPO emissions ##### ############################################################################### EmisBCPI_Total BCPI -1 -1 -1 3 kg/m2/s BCPI_emission_flux_from_all_sectors EmisBCPI_Aircraft BCPI 0 20 -1 3 kg/m2/s BCPI_emission_flux_from_aircraft EmisBCPI_Anthro BCPI 0 1 -1 3 kg/m2/s BCPI_emission_flux_from_anthropogenic EmisBCPI_BioBurn BCPI 111 -1 -1 2 kg/m2/s BCPI_emission_flux_from_biomass_burning EmisBCPI_Ship BCPI 0 10 -1 2 kg/m2/s BCPI_emission_flux_from_ships EmisBCPO_Total BCPO -1 -1 -1 3 kg/m2/s BCPO_emission_flux_from_all_sectors EmisBCPO_Anthro BCPO 0 1 -1 3 kg/m2/s BCPO_emission_flux_from_anthropogenic EmisBCPO_BioBurn BCPO 111 -1 -1 2 kg/m2/s BCPO_emission_flux_from_biomass_burning EmisBCPO_Ship BCPO 0 10 -1 2 kg/m2/s BCPO_emission_flux_from_ships ############################################################################### ##### BENZ emissions ##### ############################################################################### EmisBENZ_Total BENZ -1 -1 -1 3 kg/m2/s BENZ_emission_flux_from_all_sectors EmisBENZ_Anthro BENZ 0 1 -1 3 kg/m2/s BENZ_emission_flux_from_anthropogenic EmisBENZ_BioBurn BENZ 111 -1 -1 2 kg/m2/s BENZ_emission_flux_from_biomass_burning EmisBENZ_Ship BENZ 0 10 -1 2 kg/m2/s BENZ_emission_flux_from_ships ############################################################################### ##### C2H2 emissions ###### ############################################################################### EmisC2H2_Total C2H2 -1 -1 -1 3 kg/m2/s C2H2_emission_flux_from_all_sectors EmisC2H2_Anthro C2H2 0 1 -1 3 kg/m2/s C2H2_emission_flux_from_anthropogenic EmisC2H2_BioBurn C2H2 111 -1 -1 2 kg/m2/s C2H2_emission_flux_from_biomass_burning EmisC2H2_Ship C2H2 0 10 -1 2 kg/m2/s C2H2_emission_flux_from_ships ############################################################################### ##### C2H4 emissions ###### ############################################################################### EmisC2H4_Total C2H4 -1 -1 -1 3 kg/m2/s C2H4_emission_flux_from_all_sectors EmisC2H4_Anthro C2H4 0 1 -1 3 kg/m2/s C2H4_emission_flux_from_anthropogenic EmisC2H4_BioBurn C2H4 111 -1 -1 2 kg/m2/s C2H4_emission_flux_from_biomass_burning EmisC2H4_Biogenic C2H4 0 4 -1 2 kg/m2/s C2H4_emission_flux_from_biogenic_sources EmisC2H4_Ship C2H4 0 10 -1 2 kg/m2/s C2H4_emission_flux_from_ships ############################################################################### ##### C2H6 emissions ###### ############################################################################### EmisC2H6_Total C2H6 -1 -1 -1 3 kg/m2/s C2H6_emission_flux_from_all_sectors EmisC2H6_Aircraft C2H6 0 20 -1 3 kg/m2/s C2H6_emission_flux_from_aircraft EmisC2H6_Anthro C2H6 0 1 -1 3 kg/m2/s C2H6_emission_flux_from_anthropogenic EmisC2H6_BioBurn C2H6 111 -1 -1 2 kg/m2/s C2H6_emission_flux_from_biomass_burning EmisC2H6_Ship C2H6 0 10 -1 2 kg/m2/s C2H6_emission_flux_from_ships ############################################################################### ##### C3H8 emissions ##### ############################################################################### EmisC3H8_Total C3H8 -1 -1 -1 3 kg/m2/s C3H8_emission_flux_from_all_sectors EmisC3H8_Aircraft C3H8 0 20 -1 3 kg/m2/s C3H8_emission_flux_from_aircraft EmisC3H8_Anthro C3H8 0 1 -1 3 kg/m2/s C3H8_emission_flux_from_anthropogenic EmisC3H8_BioBurn C3H8 111 -1 -1 2 kg/m2/s C3H8_emission_flux_from_biomass_burning EmisC3H8_Ship C3H8 0 10 -1 2 kg/m2/s C3H8_emission_flux_from_ships ############################################################################### ##### C4H6 emissions ##### ############################################################################### EmisC4H6_Total C4H6 -1 -1 -1 3 kg/m2/s C4H6_emission_flux_from_all_sectors EmisC4H6_BioBurn C4H6 111 -1 -1 2 kg/m2/s C4H6_emission_flux_from_biomass_burning ############################################################################### ##### CH2Br2 emissions ##### ############################################################################### EmisCH2Br2_Ocean CH2Br2 0 1 -1 2 kg/m2/s CH2Br2_emission_flux_from_ocean ############################################################################### ##### CH2I2 emissions ##### ############################################################################### EmisCH2I2_Ocean CH2I2 0 1 -1 2 kg/m2/s CH2I2_emission_flux_from_ocean ############################################################################### ##### CH2ICl emissions ##### ############################################################################### EmisCH2ICl_Ocean CH2ICl 0 1 -1 2 kg/m2/s CH2ICl_emission_flux_from_ocean ############################################################################### ##### CH2IBr emissions ##### ############################################################################### EmisCH2IBr_Ocean CH2IBr 0 1 -1 2 kg/m2/s CH2IBr_emission_flux_from_ocean ############################################################################### ##### CH2O emissions ##### ############################################################################### EmisCH2O_Total CH2O -1 -1 -1 3 kg/m2/s CH2O_emission_flux_from_all_sectors EmisCH2O_Aircraft CH2O 0 20 -1 3 kg/m2/s CH2O_emission_flux_from_aircraft EmisCH2O_Anthro CH2O 0 1 -1 3 kg/m2/s CH2O_emission_flux_from_anthropogenic EmisCH2O_BioBurn CH2O 111 -1 -1 2 kg/m2/s CH2O_emission_flux_from_biomass_burning EmisCH2O_Ship CH2O 0 10 -1 2 kg/m2/s CH2O_emission_flux_from_ships ############################################################################### ##### CH3I emissions ##### ############################################################################### EmisCH3I_Ocean CH3I 0 1 -1 2 kg/m2/s CH3I_emission_flux_from_ocean ############################################################################### ##### CH4 emissions ##### ############################################################################### # Zero for now, so comment out #EmisCH4_Total CH4 -1 -1 -1 3 kg/m2/s CH4_emission_flux_from_all_sectors #EmisCH4_Anthro CH4 0 1 -1 3 kg/m2/s CH4_emission_flux_from_anthropogenic #EmisCH4_BioBurn CH4 0 5 -1 2 kg/m2/s CH4_emission_flux_from_biomass_burning #EmisCH4_Ship CH4 0 10 -1 2 kg/m2/s CH4_emission_flux_from_ships ############################################################################### ##### CHBr3 emissions ##### ############################################################################### EmisCHBr3_Ocean CHBr3 0 1 -1 2 kg/m2/s CHBr3_emission_flux_from_ocean ############################################################################### ##### CO emissions ##### ############################################################################### EmisCO_Total CO -1 -1 -1 3 kg/m2/s CO_emission_flux_from_all_sectors EmisCO_Aircraft CO 0 20 -1 3 kg/m2/s CO_emission_flux_from_aircraft EmisCO_Anthro CO 0 1 -1 3 kg/m2/s CO_emission_flux_from_anthropogenic EmisCO_BioBurn CO 111 -1 -1 2 kg/m2/s CO_emission_flux_from_biomass_burning EmisCO_Ship CO 0 10 -1 2 kg/m2/s CO_emission_flux_from_ships ############################################################################### ##### CO2 emissions ##### ############################################################################### EmisCO2_Total CO2 -1 -1 -1 3 kg/m2/s CO2_emission_flux_from_all_sectors EmisCO2_Anthro CO2 0 1 -1 3 kg/m2/s CO2_emission_flux_from_anthropogenic EmisCO2_BioBurn CO2 0 5 -1 2 kg/m2/s CO2_emission_flux_from_biomass_burning EmisCO2_Ship CO2 0 10 -1 2 kg/m2/s CO2_emission_flux_from_ships ############################################################################### ##### DMS emissions ##### ############################################################################### EmisDMS_Ocean DMS 101 -1 -1 2 kg/m2/s DMS_emission_flux_from_ocean ############################################################################### ##### Dust emissions ##### ############################################################################### # NOTE: Uncomment EmisDST_Total if you wish to obtain total # dust emissions from HEMCO standalone simulations #EmisDST_Total TDST -1 -1 -1 2 kg/m2/s Total_dust_emission_flux_from_natural_sources EmisDSTbin1_Total DSTbin1 -1 -1 -1 2 kg/m2/s DSTbin1_emission_flux_from_all_sectors EmisDSTbin1_Anthro DSTbin1 0 1 -1 2 kg/m2/s DSTbin1_emission_flux_from_anthropogenic EmisDSTbin1_Natural DSTbin1 125 3 -1 2 kg/m2/s DSTbin1_emission_flux_from_natural_sources EmisDSTbin2_Total DSTbin2 -1 -1 -1 2 kg/m2/s DSTbin2_emission_flux_from_all_sectors EmisDSTbin2_Anthro DSTbin2 0 1 -1 2 kg/m2/s DSTbin2_emission_flux_from_anthropogenic EmisDSTbin2_Natural DSTbin2 125 3 -1 2 kg/m2/s DSTbin2_emission_flux_from_natural_sources EmisDSTbin3_Total DSTbin3 -1 -1 -1 2 kg/m2/s DSTbin3_emission_flux_from_all_sectors EmisDSTbin3_Anthro DSTbin3 0 1 -1 2 kg/m2/s DSTbin3_emission_flux_from_anthropogenic EmisDSTbin3_Natural DSTbin3 125 3 -1 2 kg/m2/s DSTbin3_emission_flux_from_natural_sources EmisDSTbin4_Total DSTbin4 -1 -1 -1 2 kg/m2/s DSTbin4_emission_flux_from_all_sectors EmisDSTbin4_Anthro DSTbin4 0 1 -1 2 kg/m2/s DSTbin4_emission_flux_from_anthropogenic EmisDSTbin4_Natural DSTbin4 125 3 -1 2 kg/m2/s DSTbin4_emission_flux_from_natural_sources EmisDSTbin5_Natural DSTbin5 125 3 -1 2 kg/m2/s DSTbin5_emission_flux_from_natural_sources EmisDSTbin6_Natural DSTbin6 125 3 -1 2 kg/m2/s DSTbin6_emission_flux_from_natural_sources EmisDSTbin7_Natural DSTbin7 125 3 -1 2 kg/m2/s DSTbin7_emission_flux_from_natural_sources ############################################################################### ##### EOH emissions ##### ############################################################################### EmisEOH_Total EOH -1 -1 -1 3 kg/m2/s EOH_emission_flux_from_all_sectors EmisEOH_Anthro EOH 0 1 -1 3 kg/m2/s EOH_emission_flux_from_anthropogenic EmisEOH_BioBurn EOH 111 -1 -1 2 kg/m2/s EOH_emission_flux_from_biomass_burning EmisEOH_Biogenic EOH 0 4 -1 2 kg/m2/s EOH_emission_flux_from_biogenic_sources EmisEOH_PlantDecay EOH 0 3 -1 2 kg/m2/s EOH_emission_flux_from_decaying_plants EmisEOH_Ship EOH 0 10 -1 2 kg/m2/s EOH_emission_flux_from_ships ############################################################################### ##### ETNO3 emissions ##### ############################################################################### EmisETNO3_Ocean ETNO3 101 -1 -1 2 kg/m2/s ETNO3_emission_flux_from_ocean ############################################################################### ##### FURA emissions ##### ############################################################################### EmisFURA_Total FURA -1 -1 -1 3 kg/m2/s FURA_emission_flux_from_all_sectors EmisFURA_BioBurn FURA 111 -1 -1 2 kg/m2/s FURA_emission_flux_from_biomass_burning ############################################################################### ##### GLYX emissions ##### ############################################################################### EmisGLYX_Total GLYX -1 -1 -1 3 kg/m2/s GLYX_emission_flux_from_all_sectors EmisGLYX_BioBurn GLYX 111 -1 -1 2 kg/m2/s GLYX_emission_flux_from_biomass_burning ############################################################################### ##### H2O emissions ##### ############################################################################### EmisH2O_Aircraft H2O 0 20 -1 3 kg/m2/s H2O_emission_flux_from_aircraft ############################################################################### ##### HCl emissions ##### ############################################################################### EmisHCl_Total HCl 0 -1 -1 3 kg/m2/s HCl_emission_flux_from_all_sectors EmisHCl_Anthro HCl 0 1 -1 3 kg/m2/s HCl_emission_flux_from_anthropogenic ############################################################################### ##### HCOOH sources ##### ############################################################################### EmisHCOOH_Total HCOOH -1 -1 -1 3 kg/m2/s HCOOH_emission_flux_from_all_sectors EmisHCOOH_Anthro HCOOH 0 1 -1 3 kg/m2/s HCOOH_emission_flux_from_anthropogenic EmisHCOOH_BioBurn HCOOH 111 -1 -1 2 kg/m2/s HCOOH_emission_flux_from_biomass_burning EmisHCOOH_Ship HCOOH 0 10 -1 2 kg/m2/s HCOOH_emission_flux_from_ship ############################################################################### ##### HNO3 emissions ##### ############################################################################### EmisHNO3_Ship HNO3 102 -1 -1 2 kg/m2/s HNO3_emission_flux_from_ships ############################################################################### ##### HONO emissions ##### ############################################################################### EmisHONO_Aircraft HONO 0 20 -1 3 kg/m2/s HONO_emission_flux_from_aircraft ############################################################################### ##### ISOP emissions ##### ############################################################################### EmisISOP_Total ISOP -1 -1 -1 3 kg/m2/s ISOP_emission_flux_from_all_sectors EmisISOP_BioBurn ISOP 111 -1 -1 2 kg/m2/s ISOP_emission_flux_from_biomass_burning EmisISOP_Biogenic ISOP 0 4 -1 2 kg/m2/s ISOP_emission_flux_from_biogenic_sources ############################################################################### ##### LIMO emissions ##### ############################################################################### EmisLIMO_Biogenic LIMO 0 4 -1 2 kg/m2/s LIMO_emission_flux_from_biogenic_sources ############################################################################### ##### MACR emissions ##### ############################################################################### EmisMACR_Total MACR -1 -1 -1 3 kg/m2/s MACR_emission_flux_from_all_sectors EmisMACR_Aircraft MACR 0 20 -1 3 kg/m2/s MACR_emission_flux_from_anthropogenic ############################################################################### ##### MEK emissions ##### ############################################################################### EmisMEK_Total MEK -1 -1 -1 3 kg/m2/s MEK_emission_flux_from_all_sectors EmisMEK_Anthro MEK 0 1 -1 3 kg/m2/s MEK_emission_flux_from_anthropogenic EmisMEK_BioBurn MEK 111 -1 -1 2 kg/m2/s MEK_emission_flux_from_biomass_burning EmisMEK_Ship MEK 0 10 -1 2 kg/m2/s MEK_emission_flux_from_ships ############################################################################### ##### MENO3 emissions ##### ############################################################################### EmisMENO3_Ocean MENO3 101 -1 -1 2 kg/m2/s MENO3_emission_flux_from_ocean ############################################################################### ##### MGLY emissions ##### ############################################################################### EmisMGLY_Total MGLY -1 -1 -1 3 kg/m2/s MGLY_emission_flux_from_all_sectors EmisMGLY_BioBurn MGLY 111 -1 -1 2 kg/m2/s MGLY_emission_flux_from_biomass_burning ############################################################################### ##### MOH emissions ##### ############################################################################### EmisMOH_Total MOH -1 -1 -1 3 kg/m2/s MOH_emission_flux_from_all_sectors EmisMOH_Anthro MOH 0 1 -1 3 kg/m2/s MOH_emission_flux_from_anthropogenic EmisMOH_BioBurn MOH 111 -1 -1 2 kg/m2/s MOH_emission_flux_from_biomass_burning EmisMOH_Biogenic MOH 0 4 -1 2 kg/m2/s MOH_emission_flux_from_biogenic_sources EmisMOH_Ocean MOH 101 -1 -1 2 kg/m2/s MOH_emission_flux_from_ocean EmisMOH_Ship MOH 0 10 -1 2 kg/m2/s MOH_emission_flux_from_ships ############################################################################### ##### MTPA emissions ##### ############################################################################### EmisMTPA_Total MTPA -1 -1 -1 3 kg/m2/s MTPA_emission_flux_from_all_sectors EmisMTPA_BioBurn MTPA 111 -1 -1 2 kg/m2/s MTPA_emission_flux_from_biomass_burning EmisMTPA_Biogenic MTPA 0 4 -1 2 kg/m2/s MTPA_emission_flux_from_biogenic_sources ############################################################################### ##### MTPO emissions ##### ############################################################################### EmisMTPO_Total MTPO -1 -1 -1 3 kg/m2/s MTPO_emission_flux_from_all_sectors EmisMTPO_Biogenic MTPO 0 4 -1 2 kg/m2/s MTPO_emission_flux_from_biogenic_sources ############################################################################### ##### MVK emissions ##### ############################################################################### EmisMVK_Total MVK -1 -1 -1 3 kg/m2/s MVK_emission_flux_from_all_sectors EmisMVK_BioBurn MVK 111 -1 -1 2 kg/m2/s MVK_emission_flux_from_biomass_burning ############################################################################### ##### NAP emissions ##### ############################################################################### EmisNAP_Total NAP -1 -1 -1 3 kg/m2/s NAP_emission_flux_from_all_sectors EmisNAP_Anthro NAP 0 1 -1 3 kg/m2/s NAP_emission_flux_from_anthropogenic EmisNAP_BioBurn NAP 111 -1 -1 2 kg/m2/s NAP_emission_flux_from_biomass_burning ############################################################################### ##### NH3 emissions ##### ############################################################################### EmisNH3_Total NH3 -1 -1 -1 3 kg/m2/s NH3_emission_flux_from_all_sectors EmisNH3_Anthro NH3 0 1 -1 3 kg/m2/s NH3_emission_flux_from_anthropogenic EmisNH3_BioBurn NH3 111 -1 -1 2 kg/m2/s NH3_emission_flux_from_biomass_burning EmisNH3_Natural NH3 0 3 -1 2 kg/m2/s NH3_emission_flux_from_natural_sources EmisNH3_Seabirds NH3 0 30 -1 2 kg/m2/s NH3_emission_flux_from_seabirds EmisNH3_Ship NH3 0 10 -1 2 kg/m2/s NH3_emission_flux_from_ships ############################################################################### ##### NO emissions ##### ##### ##### ##### - Separate fertilizer NOx emissions are only available when the ##### ##### SoilNOx extension is enabled ##### ############################################################################### EmisNO_Total NO -1 -1 -1 3 kg/m2/s NO_emission_flux_from_all_sectors EmisNO_Aircraft NO 0 20 -1 3 kg/m2/s NO_emission_flux_from_aircraft EmisNO_Anthro NO 0 1 -1 3 kg/m2/s NO_emission_flux_from_anthropogenic EmisNO_BioBurn NO 111 -1 -1 2 kg/m2/s NO_emission_flux_from_biomass_burning EmisNO_Lightning NO 103 -1 -1 3 kg/m2/s NO_emission_flux_from_lightning EmisNO_Ship NO 102 -1 -1 2 kg/m2/s NO_emission_flux_from_ships EmisNO_Soil NO 0 3 -1 2 kg/m2/s NO_emission_flux_from_soil_including_fertilizer #EmisNO_Fert -1 104 -1 -1 2 kg/m2/s NO_emission_flux_from_fertilizer_only ############################################################################### ##### NO2 emissions ##### ############################################################################### EmisNO2_Total NO2 -1 -1 -1 3 kg/m2/s NO2_emission_flux_from_all_sectors EmisNO2_Aircraft NO2 0 20 -1 3 kg/m2/s NO2_emission_flux_from_aircraft EmisNO2_Ship NO2 102 -1 -1 2 kg/m2/s NO2_emission_flux_from_ships ############################################################################### ##### O3 emissions ##### ############################################################################### EmisO3_Ship O3 102 -1 -1 2 kg/m2/s O3_emission_flux_from_ships ############################################################################### ##### OCPI and OCPO emissions ##### ############################################################################### EmisOCPI_Total OCPI -1 -1 -1 3 kg/m2/s OCPI_emission_flux_from_all_sectors EmisOCPI_Aircraft OCPI 0 20 -1 3 kg/m2/s OCPI_emission_flux_from_aircraft EmisOCPI_Anthro OCPI 0 1 -1 3 kg/m2/s OCPI_emission_flux_from_anthropogenic EmisOCPI_BioBurn OCPI 111 -1 -1 2 kg/m2/s OCPI_emission_flux_from_biomass_burning EmisOCPI_Ship OCPI 0 10 -1 2 kg/m2/s OCPI_emission_flux_from_ships EmisOCPO_Total OCPO -1 -1 -1 3 kg/m2/s OCPO_emission_flux_from_all_sectors EmisOCPO_Anthro OCPO 0 1 -1 3 kg/m2/s OCPO_emission_flux_from_anthropogenic EmisOCPO_BioBurn OCPO 111 -1 -1 2 kg/m2/s OCPO_emission_flux_from_biomass_burning EmisOCPO_Ship OCPO 0 10 -1 2 kg/m2/s OCPO_emission_flux_from_ships ############################################################################### ##### pFe emissions ##### ############################################################################### EmispFe_Total pFe -1 -1 -1 3 kg/m2/s pFe_emission_flux_from_all_sectors EmispFe_Anthro pFe 0 1 -1 3 kg/m2/s pFe_emission_flux_from_anthropogenic EmispFe_Ship pFe 0 10 -1 2 kg/m2/s pFe_emission_flux_from_ships ############################################################################### ##### PHEN emissions ##### ############################################################################### EmisPHEN_Total PHEN -1 -1 -1 3 kg/m2/s PHEN_emission_flux_from_all_sectors EmisPHEN_BioBurn PHEN 111 -1 -1 2 kg/m2/s PHEN_emission_flux_from_biomass_burning ############################################################################### ##### POG1 and POG2 emissions ##### ############################################################################### EmisPOG1_Total POG1 -1 -1 -1 3 kg/m2/s POG1_emission_flux_from_all_sectors EmisPOG1_Anthro POG1 0 1 -1 3 kg/m2/s POG1_emission_flux_from_anthropogenic EmisPOG1_BioBurn POG1 111 -1 -1 2 kg/m2/s POG1_emission_flux_from_GFED_inventory EmisPOG2_Total POG2 -1 -1 -1 3 kg/m2/s POG2_emission_flux_from_all_sectors EmisPOG2_Anthro POG2 0 1 -1 3 kg/m2/s POG2_emission_flux_from_anthropogenic EmisPOG2_BioBurn POG2 111 -1 -1 2 kg/m2/s POG2_emission_flux_from_GFED_inventory ############################################################################### ##### PRPE emissions ##### ############################################################################### EmisPRPE_Total PRPE -1 -1 -1 3 kg/m2/s PRPE_emission_flux_from_all_sectors EmisPRPE_Aircraft PRPE 0 20 -1 3 kg/m2/s PRPE_emission_flux_from_aircraft EmisPRPE_Anthro PRPE 0 1 -1 3 kg/m2/s PRPE_emission_flux_from_anthropogenic EmisPRPE_BioBurn PRPE 111 -1 -1 2 kg/m2/s PRPE_emission_flux_from_biomass_burning EmisPRPE_Biogenic PRPE 0 4 -1 2 kg/m2/s PRPE_emission_flux_from_biogenic_sources EmisPRPE_Ship PRPE 0 10 -1 2 kg/m2/s PRPE_emission_flux_from_ships ############################################################################### ##### RCHO emissions ##### ############################################################################### EmisRCHO_Total RCHO -1 -1 -1 3 kg/m2/s RCHO_emission_flux_from_all_sectors EmisRCHO_Aircraft RCHO 0 20 -1 3 kg/m2/s RCHO_emission_flux_from_aircraft EmisRCHO_BioBurn RCHO 111 -1 -1 2 kg/m2/s RCHO_emission_flux_from_biomass_burning ############################################################################### ##### SESQ emissions ##### ############################################################################### # SESQ is not an active species in GEOS-Chem; disable for now #EmisSESQ_Biogenic SESQ 0 4 -1 2 kg/m2/s SESQ_emission_flux_from_biogenic_sources ############################################################################### ##### Sea salt emissions ##### ############################################################################### EmisSALA_Natural SALA 0 3 -1 2 kg/m2/s SALA_emission_flux_from_natural_sources EmisBrSALA_Natural BrSALA 0 3 -1 2 kg/m2/s BrSALA_emission_flux_from_natural_sources EmisSALAAL_Natural SALAAL 0 3 -1 2 kg/m2/s SALAAL_emission_flux_from_natural_sources EmisSALACL_Natural SALACL 0 3 -1 2 kg/m2/s SALACL_emission_flux_from_natural_sources EmisSALC_Natural SALC 0 3 -1 2 kg/m2/s SALC_emission_flux_from_natural_sources EmisBrSALC_Natural BrSALC 0 3 -1 2 kg/m2/s BrSALC_emission_flux_from_natural_sources EmisSALCAL_Natural SALCAL 0 3 -1 2 kg/m2/s SALCAL_emission_flux_from_natural_sources EmisSALCCL_Natural SALCCL 0 3 -1 2 kg/m2/s SALCCL_emission_flux_from_natural_sources ############################################################################### ##### SO2 emissions ##### ############################################################################### EmisSO2_Total SO2 -1 -1 -1 3 kg/m2/s SO2_emission_flux_from_all_sectors EmisSO2_Aircraft SO2 0 20 -1 3 kg/m2/s SO2_emission_flux_from_aircraft EmisSO2_Anthro SO2 0 1 -1 3 kg/m2/s SO2_emission_flux_from_anthropogenic EmisSO2_BioBurn SO2 111 -1 -1 2 kg/m2/s SO2_emission_flux_from_biomass_burning EmisSO2_VolcErupt SO2 117 51 -1 3 kg/m2/s SO2_emission_flux_from_eruptive_volcano EmisSO2_VolcDegas SO2 117 52 -1 3 kg/m2/s SO2_emission_flux_from_noneruptive_volcano EmisSO2_Ship SO2 0 10 -1 2 kg/m2/s SO2_emission_flux_from_ships ############################################################################### ##### SO4 emissions ##### ############################################################################### EmisSO4_Total SO4 -1 -1 -1 3 kg/m2/s SO4_emission_flux_from_all_sectors EmisSO4_Aircraft SO4 0 20 -1 3 kg/m2/s SO4_emission_flux_from_aircraft EmisSO4_Anthro SO4 0 1 -1 3 kg/m2/s SO4_emission_flux_from_anthropogenic EmisSO4_Ship SO4 0 10 -1 2 kg/m2/s SO4_emission_flux_from_ship ############################################################################### ##### SOAP sources ##### ############################################################################### EmisSOAP_Total SOAP -1 -1 -1 3 kg/m2/s SOAP_emission_flux_from_all_sectors EmisSOAP_Aircraft SOAP 0 20 -1 3 kg/m2/s SOAP_emission_flux_from_aircraft EmisSOAP_Anthro SOAP 0 1 -1 3 kg/m2/s SOAP_emission_flux_from_anthropogenic EmisSOAP_Biogenic SOAP 0 4 -1 2 kg/m2/s SOAP_emission_flux_from_biogenic_sources EmisSOAP_BioBurn SOAP 111 -1 -1 2 kg/m2/s SOAP_emission_flux_from_biomass_burning EmisSOAP_Ship SOAP 0 10 -1 2 kg/m2/s SOAP_emission_flux_from_ships ############################################################################### ##### SOAS sources ##### ############################################################################### EmisSOAS_Biogenic SOAS 0 4 -1 2 kg/m2/s SOAS_emission_flux_from_biogenic_sources ############################################################################## ##### STYR emissions ##### ############################################################################### EmisSTYR_Total STYR -1 -1 -1 3 kg/m2/s STYR_emission_flux_from_all_sectors EmisSTYR_BioBurn STYR 111 -1 -1 2 kg/m2/s STYR_emission_flux_from_biomass_burning ############################################################################### ##### TOLU emissions ##### ############################################################################### EmisTOLU_Total TOLU -1 -1 -1 3 kg/m2/s TOLU_emission_flux_from_all_sectors EmisTOLU_Anthro TOLU 0 1 -1 3 kg/m2/s TOLU_emission_flux_from_anthropogenic EmisTOLU_BioBurn TOLU 111 -1 -1 2 kg/m2/s TOLU_emission_flux_from_biomass_burning EmisTOLU_Ship TOLU 0 10 -1 2 kg/m2/s TOLU_emission_flux_from_ships ############################################################################### ##### XYLE emissions ##### ############################################################################### EmisXYLE_Total XYLE -1 -1 -1 3 kg/m2/s XYLE_emission_flux_from_all_sectors EmisXYLE_Anthro XYLE 0 1 -1 3 kg/m2/s XYLE_emission_flux_from_anthropogenic EmisXYLE_BioBurn XYLE 111 -1 -1 2 kg/m2/s XYLE_emission_flux_from_biomass_burning EmisXYLE_Ship XYLE 0 10 -1 2 kg/m2/s XYLE_emission_flux_from_ships ############################################################################### ##### Additional diagnostics saved out via HEMCO extensions ##### ############################################################################### #============================= # LIGHTNOX extension #============================= HcoLightningFlashRate_Total -1 103 -1 -1 2 flashes/min/km2 Total_lightning_flash_rate HcoLightningFlashRate_IntraCld -1 103 -1 -1 2 flashes/min/km2 Intra-cloud_lightning_flash_rate HcoLightningFlashRate_CldGround -1 103 -1 -1 2 flashes/min/km2 Cloud-ground_lightning_flash_rate HcoConvectiveCloudTopHeight -1 103 -1 -1 2 level Convective_cloud_top_height ############################################################################### ##### INVENTORY DIAGNOSTICS, needed for benchmarking simulations only ##### ##### Listed in same order as HEMCO_Config.rc ##### ##### (You can comment these out for production runs, to save memory) ##### ############################################################################### #============================= # CEDS #============================= #InvCEDS_ALD2 ALD2 0 1 5 3 kg/m2/s ALD2_emission_flux_from_CEDS_inventory #InvCEDS_ALK4 ALK4 0 1 5 3 kg/m2/s ALK4_emission_flux_from_CEDS_inventory #InvCEDS_ALK6 ALK6 0 1 5 3 kg/m2/s ALK6_emission_flux_from_CEDS_inventory #InvCEDS_BCPI BCPI 0 1 5 3 kg/m2/s BCPI_emission_flux_from_CEDS_inventory #InvCEDS_BCPO BCPO 0 1 5 3 kg/m2/s BCPO_emission_flux_from_CEDS_inventory #InvCEDS_BENZ BENZ 0 1 5 3 kg/m2/s BENZ_emission_flux_from_CEDS_inventory #InvCEDS_C2H2 C2H2 0 1 5 3 kg/m2/s C2H2_emission_flux_from_CEDS_inventory #InvCEDS_C2H4 C2H4 0 1 5 3 kg/m2/s C2H4_emission_flux_from_CEDS_inventory #InvCEDS_C2H6 C2H6 0 1 5 3 kg/m2/s C2H6_emission_flux_from_CEDS_inventory #InvCEDS_C3H8 C3H8 0 1 5 3 kg/m2/s C3H8_emission_flux_from_CEDS_inventory #InvCEDS_CH2O CH2O 0 1 5 3 kg/m2/s CH2O_emission_flux_from_CEDS_inventory #InvCEDS_CO CO 0 1 5 3 kg/m2/s CO_emission_flux_from_CEDS_inventory #InvCEDS_MOH MOH 0 1 5 3 kg/m2/s MOH_emission_flux_from_CEDS_inventory #InvCEDS_EOH EOH 0 1 5 3 kg/m2/s EOH_emission_flux_from_CEDS_inventory #InvCEDS_ROH ROH 0 1 5 3 kg/m2/s ROH_emission_flux_from_CEDS_inventory #InvCEDS_HCOOH HCOOH 0 1 5 3 kg/m2/s HCOOH_emission_flux_from_CEDS_inventory #InvCEDS_MEK MEK 0 1 5 3 kg/m2/s MEK_emission_flux_from_CEDS_inventory #InvCEDS_NH3 NH3 0 1 5 3 kg/m2/s NH3_emission_flux_from_CEDS_inventory #InvCEDS_NO NO 0 1 5 3 kg/m2/s NO_emission_flux_from_CEDS_inventory #InvCEDS_OCPI OCPI 0 1 5 3 kg/m2/s OCPI_emission_flux_from_CEDS_inventory #InvCEDS_OCPO OCPO 0 1 5 3 kg/m2/s OCPO_emission_flux_from_CEDS_inventory #InvCEDS_pFe pFe 0 1 5 3 kg/m2/s pFe_emission_flux_from_CEDS_inventory #InvCEDS_POG1 POG1 0 1 5 3 kg/m2/s POG1_emission_flux_from_CEDS_inventory #InvCEDS_POG2 POG2 0 1 5 3 kg/m2/s POG2_emission_flux_from_CEDS_inventory #InvCEDS_PRPE PRPE 0 1 5 3 kg/m2/s PRPE_emission_flux_from_CEDS_inventory #InvCEDS_SO2 SO2 0 1 5 3 kg/m2/s SO2_emission_flux_from_CEDS_inventory #InvCEDS_SO4 SO4 0 1 5 3 kg/m2/s SO4_emission_flux_from_CEDS_inventory #InvCEDS_SOAP SOAP 0 1 5 3 kg/m2/s SOAP_emission_flux_from_CEDS_inventory #InvCEDS_TOLU TMB 0 1 5 3 kg/m2/s TMB_emission_flux_from_CEDS_inventory #InvCEDS_TOLU TOLU 0 1 5 3 kg/m2/s TOLU_emission_flux_from_CEDS_inventory #InvCEDS_XYLE XYLE 0 1 5 3 kg/m2/s XYLE_emission_flux_from_CEDS_inventory #============================= # GEIA_NH3 #============================= #InvGEIAnatural_NH3 NH3 0 3 1 2 kg/m2/s NH3_emission_flux_from_GEIA_natural_source #============================= # Seabirds #============================= #InvSEABIRDS_NH3 NH3 0 30 1 2 kg/m2/s NH3_emission_flux_from_arctic_seabirds #============================= # C2H62010 #============================= #InvC2H62010_C2H6 C2H6 0 1 100 2 kg/m2/s C2H6_from_C2H62010_anthropogenic_inventory #============================= # XIAO_C3H8 #============================= #InvXIAO_C3H8 C3H8 0 1 10 2 kg/m2/s C3H8_from_XIAO_anthropogenic_inventory #============================= # LIANG_BROMOCARB #============================= #InvLIANG_CH2Br2 CH2Br2 0 1 1 2 kg/m2/s CH2Br2_emission_flux_from_LIANG_BROMOCARB_inventory #InvLIANG_CHBr3 CHBr3 0 1 1 2 kg/m2/s CHBr3_emission_flux_from_LIANG_BROMOCARB_inventory #============================= # ORDONEZ_IODOCARB #============================= #InvORDONEZ_CH2I2 CH2I2 0 1 1 2 kg/m2/s CH2I2_emission_flux_from_ORDONEZ_IODOCARB_inventory #InvORDONEZ_CH2ICl CH2ICl 0 1 1 2 kg/m2/s CH2ICl_emission_flux_from_ORDONEZ_IODOCARB_inventory #InvORDONEZ_CH2IBr CH2IBr 0 1 1 2 kg/m2/s CH2IBr_emission_flux_from_ORDONEZ_IODOCARB_inventory #InvORDONEZ_CH3I CH3I 0 1 1 2 kg/m2/s CH3I_emission_flux_from_ORDONEZ_IODOCARB_inventory #============================= # GT_Chlorine #============================= #InvGTChlorine_HCl HCl 0 1 1 2 kg/m2/s HCl_emission_flux_from_GT_Chlorine_inventory #============================= # CEDS_SHIP #============================= #InvCEDSship_ALD2 ALD2 0 10 5 2 kg/m2/s ALD2_emission_flux_from_CEDSship_inventory #InvCEDSship_ALK4 ALK4 0 10 5 2 kg/m2/s ALK4_emission_flux_from_CEDSship_inventory #InvCEDSship_ALK6 ALK4 0 10 5 2 kg/m2/s ALK4_emission_flux_from_CEDSship_inventory #InvCEDSship_BCPI BCPI 0 10 5 2 kg/m2/s BCPI_emission_flux_from_CEDSship_inventory #InvCEDSship_BCPO BCPO 0 10 5 2 kg/m2/s BCPO_emission_flux_from_CEDSship_inventory #InvCEDSship_BENZ BENZ 0 10 5 2 kg/m2/s BENZ_emission_flux_from_CEDSship_inventory #InvCEDSship_C2H2 C2H2 0 10 5 2 kg/m2/s C2H2_emission_flux_from_CEDSship_inventory #InvCEDSship_C2H4 C2H4 0 10 5 2 kg/m2/s C2H4_emission_flux_from_CEDSship_inventory #InvCEDSship_C2H6 C2H6 0 10 5 2 kg/m2/s C2H6_emission_flux_from_CEDSship_inventory #InvCEDSship_C3H8 C3H8 0 10 5 2 kg/m2/s C3H8_emission_flux_from_CEDSship_inventory #InvCEDSship_CH2O CH2O 0 10 5 2 kg/m2/s CH2O_emission_flux_from_CEDSship_inventory #InvCEDSship_CO CO 0 10 5 2 kg/m2/s CO_emission_flux_from_CEDSship_inventory #InvCEDSship_EOH EOH 0 10 5 2 kg/m2/s EOH_emission_flux_from_CEDSship_inventory #InvCEDSship_HCOOH HCOOH 0 10 5 2 kg/m2/s HCOOH_emission_flux_from_CEDSship_inventory #InvCEDSship_MEK MEK 0 10 5 2 kg/m2/s MEK_emission_flux_from_CEDSship_inventory #InvCEDSship_NH3 NH3 0 10 5 2 kg/m2/s NH3_emission_flux_from_CEDSship_inventory #InvCEDSship_pFe pFe 0 10 5 2 kg/m2/s pFe_emission_flux_from_CEDSship_inventory #InvCEDSship_PRPE PRPE 0 10 5 2 kg/m2/s PRPE_emission_flux_from_CEDSship_inventory #InvCEDSship_OCPI OCPI 0 10 5 2 kg/m2/s OCPI_emission_flux_from_CEDSship_inventory #InvCEDSship_OCPO OCPO 0 10 5 2 kg/m2/s OCPO_emission_flux_from_CEDSship_inventory #InvCEDSship_SO2 SO2 0 10 5 2 kg/m2/s SO2_emission_flux_from_CEDSship_inventory #InvCEDSship_SO4 SO4 0 10 5 2 kg/m2/s SO4_emission_flux_from_CEDSship_inventory #InvCEDSship_SOAP SOAP 0 10 5 2 kg/m2/s SOAP_emission_flux_from_CEDSship_inventory #InvCEDSship_TMB TMB 0 10 5 2 kg/m2/s TMB_emission_flux_from_CEDSship_inventory #InvCEDSship_TOLU TOLU 0 10 5 2 kg/m2/s TOLU_emission_flux_from_CEDSship_inventory #InvCEDSship_XYLE XYLE 0 10 5 2 kg/m2/s XYLE_emission_flux_from_CEDSship_inventory #============================= # AEIC #============================= #InvAEIC_ACET ACET 0 20 1 3 kg/m2/s ACET_emission_flux_from_AEIC_inventory #InvAEIC_ALD2 ALD2 0 20 1 3 kg/m2/s ALD2_emission_flux_from_AEIC_inventory #InvAEIC_ALK4 ALK4 0 20 1 3 kg/m2/s ALK4_emission_flux_from_AEIC_inventory #InvAEIC_BCPI BCPI 0 20 1 3 kg/m2/s BCPI_emission_flux_from_AEIC_inventory #InvAEIC_C2H6 C2H6 0 20 1 3 kg/m2/s C2H6_emission_flux_from_AEIC_inventory #InvAEIC_C3H8 C3H8 0 20 1 3 kg/m2/s C3H8_emission_flux_from_AEIC_inventory #InvAEIC_CH2O CH2O 0 20 1 3 kg/m2/s CH2O_emission_flux_from_AEIC_inventory #InvAEIC_CO CO 0 20 1 3 kg/m2/s CO_emission_flux_from_AEIC_inventory #InvAEIC_HONO HONO 0 20 1 3 kg/m2/s HONO_emission_flux_from_AEIC_inventory #InvAEIC_MACR MACR 0 20 1 3 kg/m2/s MACR_emission_flux_from_AEIC_inventory #InvAEIC_NO NO 0 20 1 3 kg/m2/s NO_emission_flux_from_AEIC_inventory #InvAEIC_NO2 NO2 0 20 1 3 kg/m2/s NO2_emission_flux_from_AEIC_inventory #InvAEIC_OCPI OCPI 0 20 1 3 kg/m2/s OCPI_emission_flux_from_AEIC_inventory #InvAEIC_PRPE PRPE 0 20 1 3 kg/m2/s PRPE_emission_flux_from_AEIC_inventory #InvAEIC_RCHO RCHO 0 20 1 3 kg/m2/s RCHO_emission_flux_from_AEIC_inventory #InvAEIC_SO2 SO2 0 20 1 3 kg/m2/s SO2_emission_flux_from_AEIC_inventory #InvAEIC_SO4 SO4 0 20 1 3 kg/m2/s SO4_emission_flux_from_AEIC_inventory #InvAEIC_SOAP SOAP 0 20 1 3 kg/m2/s SOAP_emission_flux_from_AEIC_inventory #============================= # Decaying plants #============================= #InvPLANTDECAY_ALD2 ALD2 0 3 1 2 kg/m2/s ALD2_emission_flux_from_PLANTDECAY_inventory #InvPLANTDECAY_EOH EOH 0 3 1 2 kg/m2/s EOH_emission_flux_from_PLANTDECAY_inventory #============================= # AFCID emissions #============================= #InvAFCID_DST1 DST1 0 1 -1 2 kg/m2/s DST1_emission_flux_from_AFCID_inventory #============================= # Seaflux extension #============================= #InvSeaFlux_ACET ACET 101 -1 -1 2 kg/m2/s ACET_emission_flux_from_SeaFlux_extension #InvSeaFlux_ALD2 ALD2 101 -1 -1 2 kg/m2/s ALD2_emission_flux_from_SeaFlux_extension #InvSeaFlux_DMS DMS 101 -1 -1 2 kg/m2/s DMS_emission_flux_from_SeaFlux_extension #InvSeaFlux_ETNO3 ETNO3 101 -1 -1 2 kg/m2/s ETNO3_emission_flux_from_SeaFlux_extension #InvSeaFlux_MENO3 MENO3 101 -1 -1 2 kg/m2/s MENO3_emission_flux_from_SeaFlux_extension #InvSeaFlux_MOH MOH 101 -1 -1 2 kg/m2/s MOH_emission_flux_from_SeaFlux_extension #============================= # PARANOX extension #============================= #InvPARANOX_HNO3 HNO3 102 -1 -1 2 kg/m2/s HNO3_emission_flux_from_PARANOX_extension #InvPARANOX_NO NO 102 -1 -1 2 kg/m2/s NO_emission_flux_from_PARANOX_extension #InvPARANOX_NO2 NO2 102 -1 -1 2 kg/m2/s NO2_emission_flux_from_PARANOX_extension #InvPARANOX_O3 O3 102 -1 -1 2 kg/m2/s O3_emission_flux_from_PARANOX_extension #============================= # LIGHTNOX extension #============================= #InvLIGHTNOX_NO NO 103 -1 -1 3 kg/m2/s NO_emission_flux_from_lightning_extension #============================= # SOILNOX extension #============================= #InvSOILNOX_NO NO 104 -1 -1 2 kg/m2/s NO_emission_flux_from_SOINOX_extension_including_soil_and_fertilizer_emissions #============================= # DEAD (dust) Extension #============================= #InvDEAD_DST1 DST1 105 -1 -1 2 kg/m2/s DST1_emission_flux_from_DEAD_extension #InvDEAD_DST2 DST2 105 -1 -1 2 kg/m2/s DST2_emission_flux_from_DEAD_extension #InvDEAD_DST3 DST3 105 -1 -1 2 kg/m2/s DST3_emission_flux_from_DEAD_extension #InvDEAD_DST4 DST4 105 -1 -1 2 kg/m2/s DST4_emission_flux_from_DEAD_extension #============================= # SeaSalt extension #============================= #InvSeaSalt_BrSALA BrSALA 107 -1 -1 2 kg/m2/s BrSALA_emission_flux_from_SeaSalt_extension #InvSeaSalt_BrSALC BrSALC 107 -1 -1 2 kg/m2/s BrSALC_emission_flux_from_SeaSalt_extension #InvSeaSalt_SALA SALA 107 -1 -1 2 kg/m2/s SALA_emission_flux_from_SeaSalt_extension #InvSeaSalt_SALC SALC 107 -1 -1 2 kg/m2/s SALC_emission_flux_from_SeaSalt_extension #InvSeaSalt_SALAAL SALAAL 107 -1 -1 2 kg/m2/s SALAAL_emission_flux_from_SeaSalt_extension #InvSeaSalt_SALACL SALACL 107 -1 -1 2 kg/m2/s SALACL_emission_flux_from_SeaSalt_extension #InvSeaSalt_SALCAL SALCAL 107 -1 -1 2 kg/m2/s SALAAL_emission_flux_from_SeaSalt_extension #InvSeaSalt_SALCCL SALCCL 107 -1 -1 2 kg/m2/s SALCCL_emission_flux_from_SeaSalt_extension #============================= # MEGAN Extension #============================= #InvMEGAN_ALD2 ALD2 108 -1 -1 2 kg/m2/s ALD2_biogenic_emission_flux_from_MEGAN_extension # C2H4 is not an active species in GEOS-Chem; disable for now ##InvMEGAN_C2H4 C2H4 108 -1 -1 2 kg/m2/s C2H4_biogenic_emission_flux_from_MEGAN_extension #InvMEGAN_EOH EOH 108 -1 -1 2 kg/m2/s EOH_biogenic_emission_flux_from_MEGAN_extension #InvMEGAN_ISOP ISOP 108 -1 -1 2 kg/m2/s ISOP_biogenic_emission_flux_from_MEGAN_extension #InvMEGAN_LIMO LIMO 108 -1 -1 2 kg/m2/s LIMO_biogenic_emission_flux_from_MEGAN_extension #InvMEGAN_MTPA MTPA 108 -1 -1 2 kg/m2/s MTPA_biogenic_emission_flux_from_MEGAN_extension #InvMEGAN_MTPO MTPO 108 -1 -1 2 kg/m2/s MTPO_biogenic_emission_flux_from_MEGAN_extension #InvMEGAN_PRPE PRPE 108 -1 -1 2 kg/m2/s PRPE_biogenic_emission_flux_from_MEGAN_extension # SESQ is not an active species in GEOS-Chem; disable for now ##InvMEGAN_SESQ SESQ 108 -1 -1 2 kg/m2/s SESQ_biogenic_emission_flux_from_MEGAN_extension #InvMEGAN_SOAP SOAP 108 -1 -1 2 kg/m2/s SOAP_biogenic_emission_flux_from_MEGAN_extension #InvMEGAN_SOAS SOAS 108 -1 -1 2 kg/m2/s SOAS_biogenic_emission_flux_from_MEGAN_extension #InvMEGAN_ACET ACET 108 -1 -1 2 kg/m2/s ACET_biogenic_emission_flux_from_MEGAN_extension #InvMEGAN_ACET_MONO -1 108 -1 -1 2 kg/m2/s Acetone_from_monoterpenes_biogenic_emission_flux_from_MEGAN_extension #InvMEGAN_ACET_MBOX -1 108 -1 -1 2 kg/m2/s Acetone_from_methyl_butenol_biogenic_emission_flux_from_MEGAN_extension #InvMEGAN_ACET_DIRECT -1 108 -1 -1 2 kg/m2/s Direct_acetone_biogenic_emission_flux_from_MEGAN_extension #InvMEGAN_MOH MOH 108 -1 -1 2 kg/m2/s Methanol_emission_flux_from_MEGAN_extension #InvMEGAN_APIN -1 108 -1 -1 2 kg/m2/s Alpha_pinene_emission_flux_from_MEGAN_extension #InvMEGAN_BPIN -1 108 -1 -1 2 kg/m2/s Beta_pinene_acid_emission_flux_from_MEGAN_extension #InvMEGAN_SABI -1 108 -1 -1 2 kg/m2/s Sabinene_emission_flux_from_MEGAN_extension #InvMEGAN_MYRC -1 108 -1 -1 2 kg/m2/s Mycrene_emission_flux_from_MEGAN_extension #InvMEGAN_CARE -1 108 -1 -1 2 kg/m2/s 3_Carene_emission_flux_from_MEGAN_extension #InvMEGAN_OCIM -1 108 -1 -1 2 kg/m2/s Ocimene_emission_flux_from_MEGAN_extension #InvMEGAN_OMON -1 108 -1 -1 2 kg/m2/s Other_monoterpene_emission_flux_from_MEGAN_extension #InvMEGAN_MONX -1 108 -1 -1 2 kg/m2/s Total_monoterpene_emission_flux_from_MEGAN_extension #InvMEGAN_FARN -1 108 -1 -1 2 kg/m2/s alpha_Farnesene_emission_flux_from_MEGAN_extension #InvMEGAN_BCAR -1 108 -1 -1 2 kg/m2/s beta_caryophyllene_emission_flux_from_MEGAN_extension #InvMEGAN_OSQT -1 108 -1 -1 2 kg/m2/s Other_sesquiterpenes_emission_flux_from_MEGAN_extension #InvMEGAN_MBOX -1 108 -1 -1 2 kg/m2/s Methyl_butenol_emission_flux_from_MEGAN_extension #InvMEGAN_FAXX -1 108 -1 -1 2 kg/m2/s Formic_acid_emission_flux_from_MEGAN_extension #InvMEGAN_AAXX -1 108 -1 -1 2 kg/m2/s Acetic_acid_emission_flux_from_MEGAN_extension #============================= # GFED Extension #============================= #InvGFED_ACET ACET 111 -1 -1 2 kg/m2/s ACET_emission_flux_from_GFED_extension #InvGFED_ACR ACR 111 -1 -1 2 kg/m2/s ACR_emission_flux_from_GFED_extension #InvGFED_ACTA ACTA 111 -1 -1 2 kg/m2/s ACTA_emission_flux_from_GFED_extension #InvGFED_ALD2 ALD2 111 -1 -1 2 kg/m2/s ALD2_emission_flux_from_GFED_extension #InvGFED_ALK4 ALK4 111 -1 -1 2 kg/m2/s ALK4_emission_flux_from_GFED_extension #InvGFED_BCPI BCPI 111 -1 -1 2 kg/m2/s BCPI_emission_flux_from_GFED_extension #InvGFED_BCPO BCPO 111 -1 -1 2 kg/m2/s BCPO_emission_flux_from_GFED_extension #InvGFED_BENZ BENZ 111 -1 -1 2 kg/m2/s BENZ_emission_flux_from_GFED_extension #InvGFED_C2H6 C2H6 111 -1 -1 2 kg/m2/s C2H6_emission_flux_from_GFED_extension #InvGFED_C3H8 C3H8 111 -1 -1 2 kg/m2/s C3H8_emission_flux_from_GFED_extension #InvGFED_C4H6 C4H6 111 -1 -1 2 kg/m2/s C4H6_emission_flux_from_GFED_extension #InvGFED_CH2O CH2O 111 -1 -1 2 kg/m2/s CH2O_emission_flux_from_GFED_extension #InvGFED_CO CO 111 -1 -1 2 kg/m2/s CO_emission_flux_from_GFED_extension #InvGFED_EOH EOH 111 -1 -1 2 kg/m2/s EOH_emission_flux_from_GFED_extension #InvGFED_FURA FURA 111 -1 -1 2 kg/m2/s FURA_emission_flux_from_GFED_extension #InvGFED_GLYX GLYX 111 -1 -1 2 kg/m2/s GLYX_emission_flux_from_GFED_extension #InvGFED_HCOOH HCOOH 111 -1 -1 2 kg/m2/s HCOOH_emission_flux_from_GFED_extension #InvGFED_ISOP ISOP 111 -1 -1 2 kg/m2/s ISOP_emission_flux_from_GFED_extension #InvGFED_MEK MEK 111 -1 -1 2 kg/m2/s MEK_emission_flux_from_GFED_extension #InvGFED_MVK MVK 111 -1 -1 2 kg/m2/s MVK_emission_flux_from_GFED_extension #InvGFED_MGLY MGLY 111 -1 -1 2 kg/m2/s MGLY_emission_flux_from_GFED_extension #InvGFED_MOH MOH 111 -1 -1 2 kg/m2/s MOH_emission_flux_from_GFED_extension #InvGFED_MTPA MTP 111 -1 -1 2 kg/m2/s MTPA_emission_flux_from_GFED_extension #InvGFED_MVK MVK 111 -1 -1 2 kg/m2/s MVK_emission_flux_from_GFED_extension #InvGFED_NAP NAP 111 -1 -1 2 kg/m2/s NAP_emission_flux_from_GFED_extension #InvGFED_NH3 NH3 111 -1 -1 2 kg/m2/s NH3_emission_flux_from_GFED_extension #InvGFED_NO NO 111 -1 -1 2 kg/m2/s NO_emission_flux_from_GFED_extension #InvGFED_OCPI OCPI 111 -1 -1 2 kg/m2/s OCPI_emission_flux_from_GFED_extension #InvGFED_OCPO OCPO 111 -1 -1 2 kg/m2/s OCPO_emission_flux_from_GFED_extension #InvGFED_PHEN PHEN 111 -1 -1 2 kg/m2/s PHEN_emission_flux_from_GFED_extension #InvGFED_POG1 POG1 111 -1 -1 2 kg/m2/s POG1_emission_flux_from_GFED_extension #InvGFED_POG2 POG2 111 -1 -1 2 kg/m2/s POG2_emission_flux_from_GFED_extension #InvGFED_PRPE PRPE 111 -1 -1 2 kg/m2/s PRPE_emission_flux_from_GFED_extension #InvGFED_RCHO RCHO 111 -1 -1 2 kg/m2/s RCHO_emission_flux_from_GFED_extension #InvGFED_SO2 SO2 111 -1 -1 2 kg/m2/s SO2_emission_flux_from_GFED_extension #InvGFED_SOAP SOAP 111 -1 -1 2 kg/m2/s SOAP_emission_flux_from_GFED_extension #InvGFED_STYR STYR 111 -1 -1 2 kg/m2/s STYR_emission_flux_from_GFED_extension #InvGFED_TOLU TOLU 111 -1 -1 2 kg/m2/s TOLU_emission_flux_from_GFED_extension #InvGFED_XYLE ACET 111 -1 -1 2 kg/m2/s XYLE_emission_flux_from_GFED_extension #============================= # Volcano extension #============================= #InvVOLCANOerupt_SO2 SO2 117 51 -1 3 kg/m2/s SO2_eruptive_emission_flux_from_Volcano_extension #InvVOLCANOdegas_SO2 SO2 117 52 -1 3 kg/m2/s SO2_degassing_emission_flux_from_Volcano_extension #============================= # INORG_IODINE Extension #============================= #InvIODINE_HOI HOI 120 -1 -1 2 kg/m2/s HOI_emission_flux_from_INORG_IODINE_extension #InvIODINE_I2 I2 120 -1 -1 2 kg/m2/s I2_emission_flux_from_INORG_IODINE_extension #EOC ================================================ FILE: run/WRF/fullchem/HISTORY.rc ================================================ ############################################################################### ### HISTORY.rc file for WRF-GC simulations ### ### Contact: WRF-GC Developer, Haipeng Lin (linhaipeng@pku.edu.cn) ### ### ### ### This file is based upon GEOS-Chem Support Team's original work. ### ############################################################################### #============================================================================ # EXPID allows you to specify the beginning of the file path corresponding # to each diagnostic collection. For example: # # EXPID: ./GEOSChem # Will create netCDF files whose names begin "GEOSChem", # in this run directory. # # EXPID: ./OutputDir/GEOSChem # Will create netCDF files whose names begin with "GEOSChem" # in the OutputDir sub-folder of this run directory. # #============================================================================ EXPID: ./WRFGC #============================================================================== # %%%%% COLLECTION NAME DECLARATIONS %%%%% # # To disable a collection, place a "#" character in front of its name # # NOTE: These are the "default" collections for GEOS-Chem, but you can create # your own customized diagnostic collections as well. #============================================================================== COLLECTIONS: 'SpeciesConc', 'Budget', #'AerosolMass', #'Aerosols', 'CloudConvFlux', #'ConcAfterChem', #'DryDep', #'JValues', 'KppDiags', #'ProdLoss', #'StateChm', #'StateMet', #'StateMetLevEdge', #'WetLossConv', #'WetLossLS', :: ############################################################################### ### The rest of this file consists of collection definitions. ### ### Above collections whose declarations are commented out will be ignored. ### ### Make sure that each collection definition, as well as the list of ### ### collections above, ends with a double-colon ("::"). ### ############################################################################### #============================================================================== # %%%%% THE SpeciesConc COLLECTION %%%%% # # GEOS-Chem species concentrations (default = advected species) # # Available for all simulations #============================================================================== SpeciesConc.template: '%y4%m2%d2_%h2%n2z.nc4', SpeciesConc.format: 'CFIO', SpeciesConc.frequency: 00000000 010000, SpeciesConc.duration: 00000000 120000, SpeciesConc.mode: 'instantaneous' SpeciesConc.fields: 'SpeciesConc_?ADV? ', :: #============================================================================== # %%%%% THE Budget COLLECTION %%%%% # # GEOS-Chem budget diagnostics defined as species kg/s in the column # (full, troposphere, or PBL) due to a single component (e.g. chemistry) # (default = advected species) #============================================================================== Budget.template: '%y4%m2%d2_%h2%n2z.nc4', Budget.frequency: 00000000 010000, Budget.duration: 00000000 120000, Budget.mode: 'instantaneous' Budget.fields: 'BudgetEmisDryDepFull_?ADV? ', 'BudgetEmisDryDepTrop_?ADV? ', 'BudgetEmisDryDepPBL_?ADV? ', 'BudgetEmisDryDepLevs1to35_?ADV? ', 'BudgetChemistryFull_?ADV? ', 'BudgetChemistryTrop_?ADV? ', 'BudgetChemistryPBL_?ADV? ', 'BudgetChemistryLevs1to35_?ADV? ', 'BudgetMixingFull_?ADV? ', 'BudgetMixingTrop_?ADV? ', 'BudgetMixingPBL_?ADV? ', 'BudgetMixingLevs1to35_?ADV? ', 'BudgetConvectionFull_?ADV? ', 'BudgetConvectionTrop_?ADV? ', 'BudgetConvectionPBL_?ADV? ', 'BudgetConvectionLevs1to35_?ADV? ', 'BudgetWetDepFull_?WET? ', 'BudgetWetDepTrop_?WET? ', 'BudgetWetDepPBL_?WET? ', 'BudgetWetDepLevs1to35_?WET? ', :: #============================================================================== # %%%%% THE AerosolMass COLLECTION %%%%% # # Aerosol and PM2.5 mass # # Available for full-chemistry and aerosol-only simulations #============================================================================== AerosolMass.template: '%y4%m2%d2_%h2%n2z.nc4', AerosolMass.format: 'CFIO', AerosolMass.frequency: 00000000 010000, AerosolMass.duration: 00000000 120000, AerosolMass.mode: 'instantaneous' AerosolMass.fields: 'AerMassBC ', 'AerMassNH4 ', 'AerMassNIT ', 'AerMassPOA ', 'AerMassSAL ', 'AerMassSO4 ', 'AerMassSOAGX ', 'AerMassSOAMG ', 'PM25 ', 'TotalOA ', 'TotalOC ', :: #============================================================================== # %%%%% The Aerosols COLLECTION %%%%% # # Aerosol optical depth, surface area, number density, and hygroscopic growth #============================================================================== Aerosols.template: '%y4%m2%d2_%h2%n2z.nc4', Aerosols.format: 'CFIO', Aerosols.frequency: 00000000 010000, Aerosols.duration: 00000000 120000, Aerosols.mode: 'instantaneous' Aerosols.fields: 'AODDust ', 'AODDustWL1_?DUSTBIN? ', 'AODHygWL1_?HYG? ', 'AODSOAfromAqIsopreneWL1 ', 'AODStratLiquidAerWL1 ', 'AODPolarStratCloudWL1 ', 'AerHygroscopicGrowth_?HYG? ', 'AerNumDensityStratLiquid ', 'AerNumDensityStratParticulate ', 'AerAqueousVolume ', 'AerSurfAreaDust ', 'AerSurfAreaHyg_?HYG? ', 'AerSurfAreaStratLiquid ', 'AerSurfAreaPolarStratCloud ', 'Chem_AeroAreaMDUST1 ', 'Chem_AeroAreaMDUST2 ', 'Chem_AeroAreaMDUST3 ', 'Chem_AeroAreaMDUST4 ', 'Chem_AeroAreaMDUST5 ', 'Chem_AeroAreaMDUST6 ', 'Chem_AeroAreaMDUST7 ', 'Chem_AeroAreaSULF ', 'Chem_AeroAreaBC ', 'Chem_AeroAreaOC ', 'Chem_AeroAreaSSA ', 'Chem_AeroAreaSSC ', 'Chem_AeroAreaBGSULF ', 'Chem_AeroAreaICEI ', 'Chem_AeroRadiMDUST1 ', 'Chem_AeroRadiMDUST2 ', 'Chem_AeroRadiMDUST3 ', 'Chem_AeroRadiMDUST4 ', 'Chem_AeroRadiMDUST5 ', 'Chem_AeroRadiMDUST6 ', 'Chem_AeroRadiMDUST7 ', 'Chem_AeroRadiSULF ', 'Chem_AeroRadiBC ', 'Chem_AeroRadiOC ', 'Chem_AeroRadiSSA ', 'Chem_AeroRadiSSC ', 'Chem_AeroRadiBGSULF ', 'Chem_AeroRadiICEI ', 'Chem_WetAeroAreaMDUST1 ', 'Chem_WetAeroAreaMDUST2 ', 'Chem_WetAeroAreaMDUST3 ', 'Chem_WetAeroAreaMDUST4 ', 'Chem_WetAeroAreaMDUST5 ', 'Chem_WetAeroAreaMDUST6 ', 'Chem_WetAeroAreaMDUST7 ', 'Chem_WetAeroAreaSULF ', 'Chem_WetAeroAreaBC ', 'Chem_WetAeroAreaOC ', 'Chem_WetAeroAreaSSA ', 'Chem_WetAeroAreaSSC ', 'Chem_WetAeroAreaBGSULF ', 'Chem_WetAeroAreaICEI ', 'Chem_WetAeroRadiMDUST1 ', 'Chem_WetAeroRadiMDUST2 ', 'Chem_WetAeroRadiMDUST3 ', 'Chem_WetAeroRadiMDUST4 ', 'Chem_WetAeroRadiMDUST5 ', 'Chem_WetAeroRadiMDUST6 ', 'Chem_WetAeroRadiMDUST7 ', 'Chem_WetAeroRadiSULF ', 'Chem_WetAeroRadiBC ', 'Chem_WetAeroRadiOC ', 'Chem_WetAeroRadiSSA ', 'Chem_WetAeroRadiSSC ', 'Chem_WetAeroRadiBGSULF ', 'Chem_WetAeroRadiICEI ', 'Chem_StatePSC ', 'Chem_KhetiSLAN2O5H2O ', 'Chem_KhetiSLAN2O5HCl ', 'Chem_KhetiSLAClNO3H2O ', 'Chem_KhetiSLAClNO3HCl ', 'Chem_KhetiSLAClNO3HBr ', 'Chem_KhetiSLABrNO3H2O ', 'Chem_KhetiSLABrNO3HCl ', 'Chem_KhetiSLAHOClHCl ', 'Chem_KhetiSLAHOClHBr ', 'Chem_KhetiSLAHOBrHCl ', 'Chem_KhetiSLAHOBrHBr ', :: #============================================================================== # %%%%% THE CloudConvFlux COLLECTION %%%%% # # Cloud convective flux (default = advected species) #============================================================================== CloudConvFlux.template: '%y4%m2%d2_%h2%n2z.nc4', CloudConvFlux.frequency: 00000000 010000, CloudConvFlux.duration: 00000000 120000, CloudConvFlux.mode: 'instantaneous' CloudConvFlux.fields: 'CloudConvFlux_?ADV? ', :: #============================================================================== # %%%%% THE ConcAfterChem COLLECTION %%%%% # # Concentrations of OH, HO2, O1D, O3P immediately after exiting the KPP solver #============================================================================== ConcAfterChem.template: '%y4%m2%d2_%h2%n2z.nc4', ConcAfterChem.frequency: 00000000 010000, ConcAfterChem.duration: 00000000 120000, ConcAfterChem.mode: 'instantaneous' ConcAfterChem.fields: 'OHconcAfterChem ', 'HO2concAfterChem ', 'O1DconcAfterChem ', 'O3PconcAfterChem ', :: #============================================================================== # %%%%% THE DryDep COLLECTION %%%%% # # Dry depositon fluxes and velocities (for all dry-depositing species) #============================================================================== DryDep.template: '%y4%m2%d2_%h2%n2z.nc4', DryDep.frequency: 00000000 010000, DryDep.duration: 00000000 120000, DryDep.mode: 'instantaneous' DryDep.fields: 'DryDepVel_?DRY? ', 'DryDepMix_?DRY? ', 'DryDepChm_?DRY? ', 'DryDep_?DRY? ', :: #============================================================================== # %%%%% THE JValues COLLECTION %%%%% # # Photolysis rates (from the FAST-JX photolysis module) #============================================================================== JValues.template: '%y4%m2%d2_%h2%n2z.nc4', JValues.frequency: 00000000 010000, JValues.duration: 00000000 120000, JValues.mode: 'instantaneous' JValues.fields: 'Jval_?PHO? ', 'JvalO3O1D ', 'JvalO3O3P ', 'UVFluxDiffuse_?UVFLX? ', 'UVFluxDirect_?UVFLX? ', 'UVFluxNet_?UVFLX? ', :: #============================================================================== # %%%%% THE KppDiags COLLECTION %%%%% # # Diagnostics from the KPP solver. #============================================================================== KppDiags.template: '%y4%m2%d2_%h2%n2z.nc4', KppDiags.frequency: 00000000 010000, KppDiags.duration: 00000000 010000, KppDiags.mode: 'instantaneous' KppDiags.fields: 'KppError ', :: #============================================================================== # %%%%% THE ProdLoss COLLECTION %%%%% # # Chemical production and loss rates #============================================================================== ProdLoss.template: '%y4%m2%d2_%h2%n2z.nc4', ProdLoss.frequency: 00000000 010000, ProdLoss.duration: 00000000 120000, ProdLoss.mode: 'instantaneous' ProdLoss.fields: 'Prod_?PRD? ', 'ProdBCPIfromBCPO ', 'ProdOCPIfromOCPO ', 'ProdSO4fromH2O2inCloud ', # 'ProdSO4fromO2inCloudMetal ', 'ProdSO4fromO3inCloud ', 'ProdSO4fromO3inSeaSalt ', 'ProdSO4fromHOBrInCloud ', 'ProdSO4fromSRO3 ', 'ProdSO4fromSRHObr ', 'ProdSO4fromO3s ', 'Loss_?LOS? ', 'LossHNO3onSeaSalt ', :: #============================================================================== # %%%%% THE StateChm COLLECTION %%%%% # # Fields of the State_Chm object (see also Aerosols collection) #============================================================================== StateChm.template: '%y4%m2%d2_%h2%n2z.nc4', StateChm.frequency: 00000000 010000, StateChm.duration: 00000000 120000, StateChm.mode: 'instantaneous' StateChm.fields: 'Chem_IsorropAeropHAccum ', 'Chem_IsorropAeropHCoarse ', 'Chem_IsorropHplusAccum ', 'Chem_IsorropHplusCoarse ', 'Chem_IsorropAeroH2OAccum ', 'Chem_IsorropAeroH2OCoarse ', 'Chem_IsorropSulfate ', 'Chem_IsorropNitrateAccum ', 'Chem_IsorropNitrateCoarse ', 'Chem_IsorropChlorideAccum ', 'Chem_IsorropChlorideCoarse ', 'Chem_IsorropBisulfate ', 'Chem_pHCloud ', 'Chem_isCloud ', 'Chem_SSAlkAccumMode ', 'Chem_SSAlkCoarseMode ', 'Chem_HSO3AQ ', 'Chem_SO3AQ ', 'Chem_fupdateHOBr ', 'Chem_GammaN2O5overall ', 'Chem_GammaN2O5fine ', 'Chem_YieldClNO2fine ', :: #============================================================================== # %%%%% The StateMet COLLECTION %%%%% # # Fields of the State_Met object (also see the StateMetLevEdge collection) #============================================================================== StateMet.template: '%y4%m2%d2_%h2%n2z.nc4', StateMet.frequency: 00000000 010000, StateMet.duration: 00000000 120000, StateMet.mode: 'instantaneous' StateMet.fields: 'Met_AD ', :: #============================================================================== # %%%%% THE StateMetLevEdge COLLECTION %%%%% # # Diagnostics that are defined on grid box level edges #============================================================================== StateMetLevEdge.template: '%y4%m2%d2_%h2%n2z.nc4', StateMetLevEdge.frequency: 00000000 010000, StateMetLevEdge.duration: 00000000 120000, StateMetLevEdge.mode: 'instantaneous' StateMetLevEdge.fields: 'Met_CMFMC ', 'Met_PEDGE ', 'Met_PEDGEDRY ', 'Met_PFICU ', 'Met_PFILSAN ', 'Met_PFLCU ', 'Met_PFLLSAN ', :: #============================================================================== # %%%%% THE WetLossConv COLLECTION %%%%% # # Loss of soluble species in convective updrafts #============================================================================== WetLossConv.template: '%y4%m2%d2_%h2%n2z.nc4', WetLossConv.frequency: 00000000 010000, WetLossConv.duration: 00000000 120000, WetLossConv.mode: 'instantaneous' WetLossConv.fields: 'WetLossConv_?WET? ', 'WetLossConvFrac_?WET? ', :: #============================================================================== # %%%%% THE WetLossLS COLLECTION %%%%% # # Loss of soluble species in large-scale wetdep (i.e. rainout and washout) #============================================================================== WetLossLS.template: '%y4%m2%d2_%h2%n2z.nc4', WetLossLS.format: 'CFIO', WetLossLS.frequency: 00000000 010000, WetLossLS.duration: 00000000 120000, WetLossLS.mode: 'instantaneous' WetLossLS.fields: 'WetLossLS_?WET? ', :: ================================================ FILE: run/WRF/fullchem/geoschem_config.yml ================================================ --- ### geoschem_config.yml: GEOS-Chem Runtime configuration options. ### Customized for simulations using the KPP "fullchem" mechanism. ### ### NOTE: Add quotes around nitrogen oxide ('NO'), because YAML ### parsers will confuse this with a negative "no" value. ### ### Customized for WRF-GC, Haipeng Lin, August 2022 ### Note: Most of configuration options here do not need to be changed ### when running in the WRF-GC environment! #============================================================================ # Simulation settings #============================================================================ simulation: name: fullchem start_date: [19970215, 031100] end_date: [20180415, 040000] root_data_dir: /n/holyscratch01/external_repos/GEOS-CHEM/gcgrid/data/ExtData chem_inputs_dir: /n/holyscratch01/external_repos/GEOS-CHEM/gcgrid/data/ExtData/CHEM_INPUTS/ met_field: GEOSFP species_database_file: ./species_database.yml species_metadata_output_file: ./geoschem_species_metadata.yml debug_printout: false use_gcclassic_timers: false #============================================================================ # Settings for GEOS-Chem operations #============================================================================ operations: chemistry: activate: true linear_chemistry_aloft: activate: true use_linoz_for_O3: true active_strat_H2O: activate: true use_static_bnd_cond: true gamma_HO2: 0.2 autoreduce_solver: activate: false use_target_threshold: activate: true oh_tuning_factor: 0.00005 no2_tuning_factor: 0.0001 use_absolute_threshold: scale_by_pressure: true absolute_threshold: 100.0 keep_halogens_active: false append_in_internal_timestep: false convection: activate: true dry_deposition: activate: true CO2_effect: activate: false CO2_level: 600.0 reference_CO2_level: 380.0 diag_alt_above_sfc_in_m: 10 pbl_mixing: activate: true use_non_local_pbl: true photolysis: activate: true cloud-j: cloudj_input_dir: /n/holyscratch01/external_repos/GEOS-CHEM/gcgrid/data/ExtData/CHEM_INPUTS/CLOUD_J/v2025-01/ verbose: false num_levs_with_cloud: 20 cloud_scheme_flag: 3 opt_depth_increase_factor: 1.050 min_top_inserted_cloud_OD: 0.005 cloud_overlap_correlation: 0.33 num_cloud_overlap_blocks: 6 sphere_correction: 1 num_wavelength_bins: 18 use_H2O_UV_absorption: true overhead_O3: use_online_O3_from_model: true use_column_O3_from_met: true use_TOMS_SBUV_O3: false photolyze_nitrate_aerosol: activate: false NITs_Jscale_JHNO3: 0.0 NIT_Jscale_JHNO2: 0.0 percent_channel_A_HONO: 66.667 percent_channel_B_NO2: 33.333 rrtmg_rad_transfer_model: activate: false aod_wavelengths_in_nm: - 550 longwave_fluxes: false shortwave_fluxes: false clear_sky_flux: false all_sky_flux: false transport: activate: true transported_species: - ACET - ACTA - ACR - AERI - ALD2 - ALK4 - ALK4N2 - ALK4P - ALK6 - AONITA - APAN - APINP - APINN - AROMCHO - AROMP4 - AROMP5 - AROMPN - ATOOH - BALD - BCPI - BCPO - BENZ - BENZP - BPINO - BPINN - BPINP - BPINOOH - BPINON - Br - Br2 - BrCl - BrNO2 - BrNO3 - BrO - BrSALA - BrSALC - BUTDI - BUTN - BZCO3H - BZPAN - C96O2H - C96N - C2H2 - C2H4 - C2H6 - C3H8 - C4H6 - CCl4 - CFC11 - CFC113 - CFC114 - CFC115 - CFC12 - CH2Br2 - CH2Cl2 - CH2I2 - CH2IBr - CH2ICl - CH2O - CH3Br - CH3CCl3 - CH3Cl - CH3I - CH4 - CHBr3 - CHCl3 - Cl - Cl2 - Cl2O2 - ClNO2 - ClNO3 - ClO - ClOO - CLOCK - CO - CSL - DMS - DSTbin1 - DSTbin2 - DSTbin3 - DSTbin4 - DSTbin5 - DSTbin6 - DSTbin7 - EBZ - EOH - ETHLN - ETHN - ETHP - ETNO3 - ETP - FURA - GLYC - GLYX - HACTA - H1211 - H1301 - H2402 - H2O - H2O2 - HAC - HBr - HC5A - HCFC123 - HCFC141b - HCFC142b - HCFC22 - HCl - HCOOH - HI - HMHP - HMML - HMS - HNO2 - HNO3 - HNO4 - HOBr - HOCl - HOI - HONIT - HPALD1 - HPALD2 - HPALD3 - HPALD4 - HPETHNL - I - I2 - I2O2 - I2O3 - I2O4 - IBr - ICHE - ICl - ICN - ICPDH - IDC - IDCHP - IDHDP - IDHPE - IDN - IEPOXA - IEPOXB - IEPOXD - IHN1 - IHN2 - IHN3 - IHN4 - INDIOL - INO - INPB - INPD - IO - IONITA - IONO - IONO2 - IPRNO3 - ISALA - ISALC - ISOP - ITCN - ITHN - LIMAL - LIMKB - LIMKET - LIMN - LIMNB - LIMO - LIMO2H - LIMO3H - LIMPAN - LVOC - LVOCOA - MACR - MACR1OOH - MAP - MCRDH - MCRENOL - MCRHN - MCRHNB - MCRHP - MCT - MEK - MEKPN - MENO3 - MGLY - MOH - MONITA - MONITS - MONITU - MP - MPAN - MPN - MSA - MTPA - MTPO - MVK - MVKDH - MVKHC - MVKHCB - MVKHP - MVKN - MVKPC - MYRCO - N2O - N2O5 - NH3 - NH4 - NIT - NITs - 'NO' - NO2 - NO3 - NPHEN - NPRNO3 - O3 - OClO - OCPI - OCPO - OCS - OIO - PAN - pFe - PHAN - PHEN - PIN - PINAL - PINONIC - PINO3H - PINPAN - PIP - PP - PPN - PROPNN - PRPE - PRPN - PYAC - R4N2 - R4P - R7N2 - R7P - RA3P - RB3P - RCHO - RCOOH - RIPA - RIPB - RIPC - RIPD - RNO3 - RP - SALA - SALAAL - SALACL - SALC - SALCAL - SALCCL - SO2 - SO4 - SO4s - SOAGX - SOAIE - SOAP - SOAS - STYR - TLFUONE - TMB - TOLU - XYLE wet_deposition: activate: true #============================================================================ # Settings for GEOS-Chem aerosols #============================================================================ aerosols: optics: input_dir: /n/holyscratch01/external_repos/GEOS-CHEM/gcgrid/data/ExtData/CHEM_INPUTS/Aerosol_Optics/v2025-03/ carbon: activate: true brown_carbon: false enhance_black_carbon_absorption: activate: true hydrophilic: 1.5 hydrophobic: 1.0 complex_SOA: activate: false semivolatile_POA: false dust: activate: true acid_uptake_on_dust: false sea_salt: activate: true SALA_radius_bin_in_um: [0.01, 0.5] SALC_radius_bin_in_um: [0.5, 8.0] marine_organic_aerosols: false stratosphere: settle_strat_aerosol: true polar_strat_clouds: activate: true het_chem: true allow_homogeneous_NAT: false NAT_supercooling_req_in_K: 3.0 supersat_factor_req_for_ice_nucl: 1.2 calc_strat_aod: true sulfate: activate: true metal_cat_SO2_oxidation: true #============================================================================ # Settings for diagnostics (other than HISTORY and HEMCO) #============================================================================ extra_diagnostics: obspack: activate: false quiet_logfile_output: false input_file: ./obspack_co2_1_OCO2MIP_2018-11-28.YYYYMMDD.nc output_file: ./OutputDir/GEOSChem.ObsPack.YYYYMMDD_hhmmz.nc4 output_species: - CO - 'NO' - O3 planeflight: activate: false flight_track_file: Planeflight.dat.YYYYMMDD output_file: plane.log.YYYYMMDD ================================================ FILE: run/shared/.gitignore ================================================ *.[oax] *.mod *.MOD *~* *.swp *.bak *.patch *.diff diffs bak misc *.pp.* *.pdb *.inst.* *.continue.* *.ppk *.log bin/* build/ build_*/ *___.h *___.rc core.* ================================================ FILE: run/shared/cleanRunDir.sh ================================================ #!/bin/bash #============================================================================ # cleanRunDir.sh: Removes files created by GEOS-Chem from a run directory # # Usage: # ------ # $ ./cleanRunDir.sh # Removes model output files in the run # # directory. Also prompts the user before # # removing diagnostic output files from # # from OutputDir/. # # $ ./cleanRunDir.sh --force # Removes model output files in the run # # directory, but will remove diagnostic # # output files without prompting first. # # USE WITH CAUTION! #============================================================================ # Clean model output files in the run directory rm -fv gcchem* rm -fv *.rcx rm -fv *~ rm -fv gchp.log rm -fv gchp.*.log rm -fv HEMCO.log rm -fv PET*.log rm -fv ESMF_LogFile rm -fv multirun.log rm -fv warnings_and_errors.log rm -fv GC*.log rm -fv log.dryrun* rm -fv logfile.000000.out rm -fv slurm-* rm -fv 1 rm -fv EGRESS rm -fv core.* rm -fv PET*.ESMF_LogFile rm -fv allPEs.log rm -fv fort.* #---------------------------------------------------------------------------- # Clean data files in OutputDir. # These are netCDF files (*.nc) and KPP standalone interface files (*.txt). #---------------------------------------------------------------------------- if [[ "x${1}" == "x" ]]; then # User confirmation required rm -Iv ./OutputDir/*.nc* rm -Iv ./OutputDir/*.txt else # User Confirmation not required rm -fv ./OutputDir/*.nc* rm -fv ./OutputDir/*.txt* fi #--------------------------------------------------------------------------- # Give instruction to reset start date if using GCHP #--------------------------------------------------------------------------- echo "Reset simulation start date in cap_restart if using GCHP" ================================================ FILE: run/shared/download_data.gcap2.40L.yml ================================================ --- # # Configuration file for the download_data.py script. # You should not have to modify this file unless a new data mirror # comes online, or the default restart files are updated. # mirrors: amazon: short_name: aws s3_bucket: True remote: s3://gcgrid command: 'aws s3 cp --request-payer=requester ' quote: "" rochester: short_name: ur s3_bucket: False remote: http://atmos.earth.rochester.edu/input/gc/ExtData command: 'wget -r -np -nH -R "*.html" -N --cut-dirs=2 -P @PATH@ ' quote: '"' washu: short_name: wu s3_bucket: False remote: http://geoschemdata.wustl.edu/ExtData command: 'wget -r -np -nH -R "*.html" -N -P @PATH@ ' quote: '"' restarts: root: GCAP2_RESTARTS/ aerosol: remote: v2021-09/40L/GCAP2.Restart.fullchem.20190101_0000z.nc4 local: GEOSChem.Restart.20190101_0000z.nc4 fullchem: remote: v2021-09/40L/GCAP2.Restart.fullchem.20190701_0000z.nc4 local: GEOSChem.Restart.20190701_0000z.nc4 mercury: remote: v2021-12/40L/GCAP2.Restart.Hg.20190101_0000z.nc4 local: GEOSChem.Restart.20190101_0000z.nc4 tomas15: remote: v2021-12/40L/GCAP2.Restart.TOMAS15.20190701_0000z.nc4 local: GEOSChem.Restart.20190701_0000z.nc4 tomas40: remote: v2021-12/40L/GCAP2.Restart.TOMAS40.20190701_0000z.nc4 local: GEOSChem.Restart.20190701_0000z.nc4 transporttracers: remote: GC_13.0.0/40L/GCAP2.Restart.TransportTracers.20190101_0000z.nc4 local: GEOSChem.Restart.20190101_0000z.nc4 other: remote: v2020-02/40L/initial_GCAP2_rst.2x25_@SUFFIX@ local: GEOSChem.Restart.20190701_0000z.nc4 ================================================ FILE: run/shared/download_data.py ================================================ #!/usr/bin/env python3 """ Description: ------------ This Python script (assumes Python3) reads a GEOS-Chem or HEMCO-standalone log file containing dry-run output and does the following: (1) Creates a list of unique files that are required for the GEOS-Chem or HEMCO-standalone simulation; (2) Creates a bash script to download missing files from the AWS s3://gcgrid bucket or from a specified server; (3) Executes the bash script to download the necessary data; (4) Removes the bash script upon successful download. Remarks: -------- (1) This script only requires the "os", "sys", "subprocess", and PyYaml packages. (2) Jiawei Zhuang found that it is much faster to issue aws s3 cp commands from a bash script than a Python script. Therefore, in this routine we create a bash script with all of the download commands that will be executed by the main routine. """ # Imports import os import sys import subprocess import yaml # Exit with error if we are not using Python3 assert sys.version_info.major >= 3, \ "ERROR: Python 3 is required to run download_data.py!" # Define global variables GEOSCHEM_INPUT_FILE = "./geoschem_config.yml" DATA_DOWNLOAD_SCRIPT = "./auto_generated_download_script.sh" def read_config_file(config_file, to_str=False): """ Reads configuration information from a YAML file. Args: ----- config_file : str The configuration file in YAML format to_str : bool Set this to True if you wish to return the data in the YAML file as strings, or False otherwise. Returns: -------- config : dict Dictionary with the contents of the YAML file """ try: with open(config_file, encoding="UTF-8") as stream: if to_str: return yaml.load(stream, Loader=yaml.loader.BaseLoader) return yaml.load(stream, Loader=yaml.loader.SafeLoader) except FileNotFoundError as err: msg = f"Error reading configuration in {config_file}: {err}" raise FileNotFoundError(msg) from err def extract_pathnames_from_log(args): """ Returns a list of pathnames from a GEOS-Chem log file. Args args : dict : Output from function parse_args Returns paths : dict : paths["comments"] : Dry-run comment lines. paths["found"] : File paths found on disk. paths["missing"] : File paths that are missing. paths["local_prefix"]: Local data directory root. Author: ------- Jiawei Zhuang (jiaweizhuang@g.harvard.edu) Modified by Bob Yantosca (yantosca@seas.harvard.edu) """ # Initialization comments = ["!"*79, "!!! LIST OF (UNIQUE) FILES REQUIRED FOR THE SIMULATION"] data_found = set() data_missing = set() dryrun_log = args["dryrun_log"] portal = args["portal"] remote = args["config"]["portals"][portal]["remote"] # Open file (or die with error) with open(dryrun_log, "r", encoding="UTF-8") as ifile: # Read data from the file line by line. # Add file paths to the data_list set. line = ifile.readline() while line: # Replace double slashes with single slash line = line.replace("//", "/") # Convert line to uppercase for string match upcaseline = line.upper() # Search for data paths that have been found if (": OPENING" in upcaseline) or (": READING" in upcaseline): data_found.add(line.split()[-1]) # Search for data paths that are missing elif "FILE NOT FOUND" in upcaseline: data_missing.add(line.split()[-1]) # Search for certain dry-run comment strings # (and make sure to prevent duplicates) elif ("!!! STA" in upcaseline) or ("!!! END" in upcaseline) or \ ("!!! SIM" in upcaseline) or ("!!! MET" in upcaseline) or \ ("!!! GRI" in upcaseline): if line.rstrip() not in comments: comments.append(line.rstrip()) else: pass # Read next line line = ifile.readline() # Add another line to the comment list comments.append("!"*79) # Convert sets to lists and sort in alphabetical order found = sorted(list(data_found)) missing = sorted(list(data_missing)) # Find the local data directory prefix (path to ExtData) local_prefix = "" for path in found + missing: if "ExtData" in path: index = path.find("ExtData") local_prefix = path[:index] # # Data stored at these portals do not have an ExtData/ # folder, so we must add "/ExtData" to the path manually: # - https://geos-chem.s3-us-west-2.amazonaws.com # - https://gcgrid.s3.amazonaws.com/ if "ExtData" not in local_prefix: if ".amazonaws.com" in remote: local_prefix = \ f"{local_prefix}/ExtData".replace('//', '/') break # Exit if the local path does not contain ExtData if len(local_prefix) == 0: msg = \ "Could not locate the ExtData folder in your local disk space!" raise ValueError(msg) # Close file and return # The "sorted" command will return unique values ifile.close() # Error check! If ExtData appears more than once in #if local_prefix.count("ExtData") > 1: paths = { "comments": comments, "found": found, "missing": missing, "local_prefix": local_prefix } return paths def get_run_info(): """ Searches through the geoschem_config.yml file for GEOS-Chem simulation parameters. Returns: ------- run_info : dict : GEOS-Chem run parameters (start_date, start_time, end_date, end_time, met, grid, and sim) """ # Read GEOS-Chem configuration file config = read_config_file( GEOSCHEM_INPUT_FILE, to_str=True ) # Create dictionary with GEOS-Chem simulation parameters # NOTE: Numbers are returned as strings, and need to be converted run_info = {} run_info["nest"] = "" run_info["tomas15"] = False run_info["tomas40"] = False run_info["start_date"] = int( config["simulation"]["start_date"][0] ) run_info["start_time"] = int( config["simulation"]["start_date"][1] ) run_info["end_date"] = int( config["simulation"]["end_date"][0] ) run_info["end_time"] = int( config["simulation"]["end_date"][1] ) run_info["met_field"] = config["simulation"]["met_field"] run_info["sim"] = config["simulation"]["name"] run_info["resolution"] = config["grid"]["resolution"] run_info["grid"] = get_grid_suffix( run_info["resolution"] ) run_info["nest"] = get_nest_suffix( config["grid"]["longitude"]["range"] ) run_info["tomas15"] = \ "NK15" in config["operations"]["transport"]["transported_species"] run_info["tomas40"] = \ "NK40" in config["operations"]["transport"]["transported_species"] return run_info def get_grid_suffix(resolution): """ Given a model resolution, returns the grid filename suffix. Args resolution : str : Grid resolution (from geoschem_config.yml) Returns suffix : str : The corresponding filename suffix """ mapping = { "4.0x5.0": "4x5", "2.0x2.5": "2x25", "0.5x0.625": "05x0625", "0.25x0.3125": "025x03125", "0.125x0.15625": "0125x015625" } for (key, value) in mapping.items(): if key in resolution: return value raise ValueError(f"{resolution} is an invalid grid resolution!") def get_nest_suffix(lon_range): """ Given a model resolution, returns the nested-grid suffix. Args resolution : str : Grid resolution (from geoschem_config.yml) Returns suffix : str : The corresponding nested-grid suffix """ lon_range_str = f"{lon_range[0]}|{lon_range[1]}" mapping = { "-20.0|52.8125": "af", "60.0|150.0": "as", "70.0|140.0": "as", "-30.0|50.0": "eu", "-15.0|40.0": "eu", "-20.0|70.0": "me", "-140.0|-40.0": "na", "-130.0|-60.0": "na", "110.0|180.0": "oc", "-87.8125|-31.25": "sa", "20.0|180.0": "ru", } for (key, value) in mapping.items(): if key in lon_range_str: return value return "" def get_remote_restart_filename(local_prefix, run_info, rst_info): """ Returns the remote restart file name for a given GEOS-Chem Classic simulation type. Args local_prefix : str : Root data folder (ExtData is a subdir of this) run_info : dict : Information read from geoschem_config.yml rst_info : dict : Restart file paths (local and remote), as read from the download_data.yml configuration file Returns remote_rst : str : Path to the remote restart file """ # Simulation type simulation = run_info["sim"].lower() # Remote restart file directory root = os.path.join(local_prefix, "ExtData", rst_info["root"]) # Special handling for fullchem if "fullchem" in simulation: if run_info["tomas15"] is True: return os.path.join(root, rst_info["tomas15"]["remote"]) if run_info["tomas40"] is True: return os.path.join(root, rst_info["tomas40"]["remote"]) return os.path.join(root, rst_info["fullchem"]["remote"]) # Special handling for mercury if "mercury" in simulation or "hg" in simulation: return os.path.join(root, rst_info["mercury"]["remote"]) # All other simulations use the lowercase simulation name return os.path.join(root, rst_info[simulation]["remote"]) def replace_entry_in_list(the_list, old_entry, new_entry): """ Replaces a string entry in a list with a new entry. Args the_list : list : List of string entries old_entry : str : Entry to replace new_entry : str : Replacement text Returns the_list : list : List with modified string entries """ return list(map(lambda x: x.replace(old_entry, new_entry), the_list)) def expand_restart_file_names(paths, args, run_info): """ Tests if the GEOS-Chem restart file is a symbolic link to ExtData. If so, will append the link to the remote file to the line in which the restart file name is found. Args paths : dict : Output from function extract_pathnames_from_log args : dict : Output from function parse_args run_info : dict : Output from function get_run_info """ # Get the name of the remote restart file for this simulation remote_rst = get_remote_restart_filename( paths["local_prefix"], run_info, args["config"]["restarts"] ) # First, look for the restart file name in the found files do_exit = False for path in paths["found"]: if "GEOSChem.Restart" in path: new_path = path + " --> " + remote_rst do_exit = True paths["found"] = replace_entry_in_list( paths["found"], path, new_path ) break paths["found"] = sorted(paths["found"]) if do_exit: return paths # Then, look for the restart file name in the missing files for path in paths["missing"]: if "GEOSChem.Restart" in path: new_path = path + " --> " + remote_rst do_exit = True paths["missing"] = replace_entry_in_list( paths["missing"], path, new_path ) break paths["missing"] = sorted(paths["missing"]) # Return the updated data paths return paths def write_unique_paths(paths, unique_log): """ Writes unique data paths from dry-run output to a file. Args: paths : dict : Output from function extract_pathnames_from_log unique_log : str : Log file that will hold unique data paths """ combined_paths = paths["found"] + paths["missing"] combined_paths.sort() try: with open(unique_log, "w", encoding="UTF-8") as ofile: for comment in paths["comments"]: print(comment, file=ofile) for path in combined_paths: print(path, file=ofile) for comment in paths["comments"]: print(comment, file=ofile) ofile.close() print(f"Log with unique file paths written to: {unique_log}") except RuntimeError as exc: raise RuntimeError(f"Could not write {unique_log}") from exc def create_download_script(paths, args): """ Creates a data download script to obtain missing files from the s3://gcgrid bucket on the AWS cloud or from a specified server. Args paths : dict : Output from function extract_pathnames_from_log args : dict : Output from function parse_args. """ # Extract portal parameters portal_name = args["portal"] portal = args["config"]["portals"][portal_name] is_s3_bucket = portal["s3_bucket"] remote_root = portal["remote"] quote = portal["quote"] cmd_prefix = portal["command"] if "@PATH@" in cmd_prefix: cmd_prefix = cmd_prefix.replace("@PATH@", paths["local_prefix"]) # Create the data download script with open(DATA_DOWNLOAD_SCRIPT, "w", encoding="UTF-8") as ofile: def write_linked_gmi_file_to_script(path, old_spc, new_spc): """ Writes a command to rename a GMI file to the bash script that downloads the data. This is necessary since some of the GMI files are symlinked. Args path : str : Path of a GMI file old_spc : str : Name of the old species new_spc : str : Name of the new species """ # Download the PMN file index = path.find("ExtData") + 7 local_dir = os.path.dirname(path) remote_path = remote_root + path[index:] remote_path = remote_path.replace(new_spc, old_spc) cmd = cmd_prefix + quote + remote_path + quote if is_s3_bucket: cmd += f" {local_dir}/" print(cmd, file=ofile) # Rename it to IPMN cmd = f"mv {local_dir}/gmi.clim.{old_spc}.geos5.2x25.nc" cmd +=f" {local_dir}/gmi.clim.{new_spc}.geos5.2x25.nc" print(cmd, file=ofile) print(file=ofile) # Write shebang line to script print("#!/bin/bash\n", file=ofile) print("# This script was generated by download_data.py\n", file=ofile) # Write download commands for only the missing data files for path in paths["missing"]: if "-->" in path: # ------------------------------------------------------ # Edge case: Linked restart files # ------------------------------------------------------ # First copy the restart file to local ExtData remote_rst = (path.split("-->")[1]).strip() local_rst = (path.split("-->")[0]).strip() index2 = remote_rst.find("ExtData") + 7 prefix = local_rst extdata = remote_rst[:index2] remote_rst = remote_root + remote_rst[index2:] cmd = cmd_prefix + quote + remote_rst + quote if is_s3_bucket: cmd += " " + prefix print(cmd, file=ofile) print(file=ofile) # If the file does not exist in the run directory, # then copy it from the restart folder. # This only has to be done if not using the amazon portal. if not is_s3_bucket: if not os.path.exists(local_rst): index3 = remote_rst.find("GEOSCHEM_RESTARTS") rst = os.path.join(extdata, remote_rst[index3:]) cmd = "cp -f " + rst + " " + local_rst print(cmd, file=ofile) print(file=ofile) elif "gmi.clim.IPMN.geos5.2x25.nc" in path: # ------------------------------------------------------ # Edge case: GMI IPMN file is really the PMN file # ------------------------------------------------------ write_linked_gmi_file_to_script(path, "PMN", "IPMN") elif "gmi.clim.NPMN.geos5.2x25.nc" in path: # ------------------------------------------------------ # Edge case: GMI NPMN file is really the PMN file # ------------------------------------------------------ write_linked_gmi_file_to_script(path, "PMN", "NPMN") elif "gmi.clim.RIPA.geos5.2x25.nc" in path: # ------------------------------------------------------ # Edge case: GMI RIPA file is really the RIP file # ------------------------------------------------------ write_linked_gmi_file_to_script(path, "RIP", "RIPA") elif "gmi.clim.RIPB.geos5.2x25.nc" in path: # ------------------------------------------------------ # Edge case: GMI RIPB file is really the RIP file # ------------------------------------------------------ write_linked_gmi_file_to_script(path, "RIP", "RIPB") elif "gmi.clim.RIPD.geos5.2x25.nc" in path: # ------------------------------------------------------ # Edge case: GMI RIPD file is really the RIP file # ------------------------------------------------------ write_linked_gmi_file_to_script(path, "RIP", "RIPD") elif "ExtData" in path: # ------------------------------------------------------ # All other files in ExtData # ------------------------------------------------------ index = path.find("ExtData") + 7 local_dir = os.path.dirname(path) remote_path = remote_root + path[index:] cmd = cmd_prefix + quote + remote_path + quote if is_s3_bucket: cmd += " " + local_dir + "/" print(cmd, file=ofile) print(file=ofile) # Kludge: Create a ExtData/CHEM_INPUTS folder if it # does not exist. This will prevent abnormal exits. if "ExtData" in paths["local_prefix"]: chem_dir = paths["local_prefix"] + '/CHEM_INPUTS' else: chem_dir = paths["local_prefix"] + '/ExtData/CHEM_INPUTS' cmd = f"if [[ ! -d {chem_dir} ]]; then mkdir {chem_dir}; fi" print(cmd, file=ofile) print(file=ofile) # Close file and make it executable ofile.close() os.chmod(DATA_DOWNLOAD_SCRIPT, 0o755) def download_the_data(args): """ Downloads GEOS-Chem data files from the AWS s3://gcgrid bucket or from a specified server. Args args : dict : Output of runction parse_args. """ # Get information about the run run_info = get_run_info() # Get a unique list of data paths, both found and missing: # Expand the data paths to include links to restart files paths = extract_pathnames_from_log(args) paths = expand_restart_file_names(paths, args, run_info) # Write a list of unique file paths write_unique_paths(paths, args["dryrun_log"] + ".unique") # Exit without downloading if skip-download flag was specified if args["skip_download"]: return # Print a message if len(args["portal"]) > 0: print(f"Downloading data from {args['portal']}") # Create script to download missing files from AWS S3 create_download_script(paths, args) #### DEBUG: Uncomment this if you wish to see the download script #### and also comment out the previous 'if args["skip_download"]' #### statement above #if args["skip_download"]: # return # Run the data download script and return the status # Remove the file afterwards status = subprocess.call(DATA_DOWNLOAD_SCRIPT) os.remove(DATA_DOWNLOAD_SCRIPT) # Raise an exception if the data was not successfully downloaded if status != 0: msg = f"Error downloading data from {args['portal']}" raise RuntimeError(msg) def parse_args(): """ Reads global settings from the download_data.yml configuration file. Also parses command-line arguments and returns a dictionary containing all of these settings. Returns: args : dict args["config"] : Dict with global settings from download_data.yml args["dryrun_log"] Name of the GEOS-Chem dry-run log file args["portal"]: Name of the remote portal for download args["skip_download"]: Are we skipping the download? (T/F) """ dryrun_log = None dryrun_found = False portal_found = False portal_remote = None skip_download = False skip_found = False # Read the YAML configuration file config = read_config_file("download_data.yml") # Get a list of portal names + short names portal_list = list(config["portals"].keys()) short_name_list = [] for mir in portal_list: short_name_list.append(config["portals"][mir]["short_name"]) # Parse command-line arguments (argument 0 is the program name) for i in range(1, len(sys.argv)): arg = sys.argv[i] if not dryrun_found: dryrun_log = arg dryrun_found = True continue # Normalize arguments other than dryrun_log arg = arg.lower().lstrip('-') if not portal_found: for mir in portal_list: portal = mir.lower() short_name = config["portals"][mir]["short_name"].lower() if arg in portal or arg in short_name: portal_remote = portal portal_found = True continue if not skip_found: if "skip" in arg: skip_download = True skip_found = True continue if dryrun_log is None: msg = "The dryrun log file was not supplied! Exiting ..." raise ValueError(msg) if portal_remote is None and not skip_download: msg = "Portal name missing or invalid! Exiting ..." raise ValueError(msg) args = { "config": config, "dryrun_log": dryrun_log, "portal": portal_remote, "skip_download": skip_download } return args def main(): """ Main program. Gets command-line arguments and calls function download_the_data to initiate a data-downloading process. Calling sequence ./download_data.py log PORTAL-NAME ./download_data.py log -skip-download # Print unique log & exit """ # Download the data files from the remote server download_the_data(parse_args()) if __name__ == "__main__": main() ================================================ FILE: run/shared/download_data.yml ================================================ --- # # Configuration file for the download_data.py script. # You should not have to modify this file unless a new data portal # comes online, or the default restart files are updated. # # # GEOS-Chem data portals portals: # GEOS-Chem Input Data portal, download via AWS CLI geoschem+aws: short_name: ga s3_bucket: True remote: s3://geos-chem command: 'aws s3 cp --no-sign-request ' quote: "" # GEOS-Chem Input Data portal, download via HTTP/wget # NOTE: Use geoschemdata.wustl.edu as a backup geoschem+http: short_name: gh s3_bucket: False remote: https://geos-chem.s3-us-west-2.amazonaws.com #remote: http://geoschemdata.wustl.edu/ExtData command: 'wget -r -np -nH -R "*.html" -N -P @PATH@ ' quote: '"' # GEOS-Chem Nested Input Data portal, download via AWS CLI nested+aws: short_name: na s3_bucket: True remote: s3://gcgrid command: 'aws s3 cp --no-sign-request ' quote: "" # GEOS-Chem Nested Input Data portal, download via HTTP/wget nested+http: short_name: nh s3_bucket: False remote: https://gcgrid.s3.amazonaws.com/ command: 'aws s3 cp ' quote: "" # GCAP 2.0 @ U. Rochester data portal, download via HTTP/wget rochester: short_name: ur s3_bucket: False remote: http://atmos.earth.rochester.edu/input/gc/ExtData command: 'wget -r -np -nH -R "*.html" -N --cut-dirs=2 -P @PATH@ ' quote: '"' # GEOS-Chem restart file paths restarts: root: GEOSCHEM_RESTARTS aerosol: remote: GC_14.7.0/GEOSChem.Restart.fullchem.20190701_0000z.nc4 local: GEOSChem.Restart.20190701_0000z.nc4 carbon: remote: GC_14.7.0/GEOSChem.Restart.carbon.20190101_0000z.nc4 local: GEOSChem.Restart.20190101_0000z.nc4 fullchem: remote: GC_14.7.0/GEOSChem.Restart.fullchem.20190701_0000z.nc4 local: GEOSChem.Restart.20190701_0000z.nc4 metals: remote: v2021-06/GEOSChem.Restart.metals.20110101_0000z.nc4 local: GEOSChem.Restart.20110101_0000z.nc4 mercury: remote: v2023-12/GEOSChem.Restart.Hg.20190101_0000z.nc4 local: GEOSChem.Restart.20190101_0000z.nc4 pops: remote: v2020-02/GEOSChem.Restart.POPs_BaP.20190701_0000z.nc4 local: GEOSChem.Restart.20190701_0000z.nc4 tago3: remote: GC_14.7.0/GEOSChem.Restart.fullchem.20190701_0000z.nc4 local: GEOSChem.Restart.20190701_0000z.nc4 tomas15: remote: v2021-12/GEOSChem.Restart.TOMAS15.20190701_0000z.nc4 local: GEOSChem.Restart.20190701_0000z.nc4 tomas40: remote: v2021-12/GEOSChem.Restart.TOMAS40.20190701_0000z.nc4 local: GEOSChem.Restart.20190701_0000z.nc4 transporttracers: remote: GC_14.7.0/GEOSChem.Restart.TransportTracers.20190101_0000z.nc4 local: GEOSChem.Restart.20190101_0000z.nc4 ================================================ FILE: run/shared/input.apm ================================================ BC_LIFEAPM,OC_LIFEAPM,FHB,FHO,D0CONV 10.0,10.0,0.2,0.5,10.0 IFNOBCOCFF (1=yes, 0=no, 2=noBCFF only) 0 IFCOAT, IFCOATBC (1=yes, 0=no) 1, 1 IFALBMODIS (1=yes, 0=no) 0 IFAEROCOMOUT 0 IFCURRENT 1 IFRADF, IFOPT (1=yes, 0=no; 2=OPT without AOD simulation) 0, 1 Z_R1,Z_SIGMA1,Z_R2,Z_SIGMA2 (BCOC size distribution parameters, Z_R in m) 4.0d-8,1.8,7.5d-8,1.8 DENBC (density of BC in kg/m3) 1800.0 SEASCHEM (1=Clarke; 2=Gong) 2 FSALTSCAL (only when SEASCHEM=2, 4x5-->2.5 and 2x2.5 -->1.7), IFSSTSCALE (1=add sst scale factor) 1.5, 1 IFAMINEUP, AGAMA, ERATIO, OXRATE 1, 0.01, 202.316, 3.58d-11 IFATHN (=1 yes; =0 no), NUCLAMINE (=1, MMA; =2, DMA; =3, TMA; =4, MMA+DMA+TMA) 0, 2 IFCDNPDF, IFNEWCOD (0=geos COD; 2= online COD) 0, 0 IFNEWSF 0 IFNEWN2O5 0 IFDOISRP (0: only MESA; 1: only ISRP; 2: MESA+ISRP=>MESA; 3: MESA+ISRP=>ISRP; 4: only ISRPorg) 1 IFMODISOUT 0 IFONLINEMET 0 IFNH3 1 IFATOM 0, 7, 27, 9, 1 IFSEABIRD 0 IFNUCL, IFNUCLORG 1, 0 ================================================ FILE: run/shared/kpp_standalone_interface.yml ================================================ --- # ============================================================================ # Configuration file for the KPP-Standalone Interface. # # This file specifies at which locations we will archive the model # state so that we can initialize KPP-Standalone Box Model simulations. # ============================================================================ # ------------------------------------ # General settngs # ------------------------------------ settings: activate: false # Main on/off switch start_output_at: [19000101, 000000] # Save model state for KPP standalone stop_output_at: [21000101, 000000] # ... if between these 2 datetimes output_directory: "./OutputDir/" # This directory should already exist levels: # Model levels to archive - 1 - 2 - 10 - 23 - 35 - 48 - 56 # ------------------------------------ # Where to archive model state? # ------------------------------------ active_cells: - Alert - Amazon - AtlanticOcean - Beijing - Borneo - Boulder - Broadmeadows - Congo - DeBilt - Edmonton - ElDjouf - Eureka - Graciosa - GooseBay - HiloHawaii - Hohenpeissenberg - Kennaook - Kinshasa - IndianOcean - Lauder - Legionowo - Lindenberg - LosAngeles - MacquarieIsland - McMurdo - NahaOkinawa - Nairobi - Ozarks - PacificOcean - Paramibo - Paris - Payerne - Reunion - Sapporo - Sodankyla - Syowa - TatenoTsukuba - TrinidadHead - Uccle - Utqiagvik - WallopsIsland # ------------------------------------ # Active cell geographic coordinates # ------------------------------------ locations: Alert: latitude: 82.5 longitude: -62.3 Amazon: latitude: -3.4653 longitude: -62.2159 AtlanticOcean: latitude: 34.707874 longitude: -41.574755 Beijing: latitude: 39.9042 longitude: 116.4074 Borneo: latitude: 0.0 longitude: 114.0 Boulder: latitude: 39.99 longitude: -105.26 Broadmeadows: latitude: -37.69 longitude: 114.95 Congo: latitude: -5.9175 longitude: 12.5484 DeBilt: latitude: 52.1 longitude: 5.18 Edmonton: latitude: 53.55 longitude: -114.1 ElDjouf: latitude: 21.5008 longitude: -6.6661 Eureka: latitude: 80.05 longitude: -86.42 Graciosa: latitude: 39.0525 longitude: -28.0069 GooseBay: latitude: 53.29: longitude: -60.39: HiloHawaii: latitude: 19.58 longitude: -155.07 Hohenpeissenberg: latitude: 47.8 longitude: 11.0 Kennaook: latitude: -40.6833 longitude: 144.6833 Kinshasa: latitude: -4.3033 longitude: 15.3105 IndianOcean: latitude: 23.0 longitude: 87.2 Lauder: latitude: -45.05 longitude: 169.68 Legionowo: latitude: 52.4 longitude: 20.97 Lindenberg: latitude: 52.22 longitude: 14.12 LosAngeles: latitude: 34.0522 longitude: -118.243 MacquarieIsland: latitude: -54.5 longitude: 158.94 McMurdo: latitude: -77.8455 longitude: 166.6698 NahaOkinawa: latitude: 26.21 longitude: 127.69 Nairobi: latitude: -1.3 longitude: 36.8 Ozarks: latitude: 37.502 longitude: -91.259 PacificOcean: latitude: 0.0 longitude: -121.964508 Paramibo: latitude: 5.806 longitude: -55.214 Paris: latitude: 48.8566 longitude: 2.3522 Payerne: latitude: 46.81 longitude: 6.94 Reunion: latitude: -21.1 longitude: 55.5 Sapporo: latitude: 43.06 longitude: 141.33 Sodankyla: latitude: 67.36 longitude: 26.63 Syowa: latitude: -69.0 longitude: 39.58 TatenoTsukuba: latitude: 36.06 longitude: 140.13 TrinidadHead: latitude: 41.05 longitude: -124.15 Uccle: latitude: 50.8 longitude: 4.36 Utqiagvik: latitude: 71.2906 longitude: -156.7886 WallopsIsland: latitude: 37.94 longitude: -75.46 ================================================ FILE: run/shared/metrics.py ================================================ #!/usr/bin/env python3 """ Prints key metrics (e.g. global mean OH, MCF lifetime, and CH4 lifetimes) for a GEOS-Chem full-chemistry simulation or methane simulation. Requires Python3. Calling sequence: ----------------- ./metrics.py """ # ===================================================================== # %%% IMPORTS ETC. %%% # ===================================================================== import os import sys import warnings import numpy as np import xarray as xr import yaml # Tell matplotlib not to look for an X-window os.environ["QT_QPA_PLATFORM"] = "offscreen" # Suppress harmless run-time warnings (mostly about underflow in division) warnings.filterwarnings("ignore", category=RuntimeWarning) warnings.filterwarnings("ignore", category=UserWarning) # ===================================================================== # %%% GLOBAL VARIABLES %%% # ===================================================================== # Molecular weights (get from species database) spec_db = yaml.load(open("./species_database.yml"), Loader=yaml.FullLoader) mw_ch4_kg = spec_db["CH4"]["MW_g"] * 1.0e-3 mw_oh_kg = spec_db["OH"]["MW_g"] * 1.0e-3 mw_air_kg = 28.9644e-3 # Same value as in GEOS-Chem # Physical constants and conversion factors avogadro = 6.022140857e+23 # Same value as in GEOS-Chem m3_to_cm3 = 1.0e6 s_per_yr = np.float64(86400.0) * np.float64(365.25) ten_to_minus_5 = np.float64(1.0e-5) kg_to_m_ch4 = mw_ch4_kg / avogadro # ===================================================================== # %%% METHODS %%% # ===================================================================== def combine_dataset(file_list=None): """ Wrapper for xarray.open_mfdataset, taking into account the extra arguments needed in xarray 0.15 and later. Args: ----- file_list : list of str Returns: -------- ds : xarray Dataset """ # netCDF variables that we should skip reading # (These are from older versions of GCHP output) skip_these_vars = ["anchor", "ncontact", "orientation", "contacts", "cubed_sphere"] # Return a single Dataset containing data from all MeanOH files. # NOTE: Need to add combine="nested" and concat_dim="time" # for xarray 0.15 and higher!!! v = xr.__version__.split(".") if int(v[0]) == 0 and int(v[1]) >= 15: try: ds = xr.open_mfdataset( file_list, drop_variables=skip_these_vars, combine="nested", concat_dim="time" ) except FileNotFoundError: msg = "Could not find one or more files in {}".format(file_list) raise FileNotFoundError(msg) else: try: ds = xr.open_mfdataset( file_list, drop_variables=skip_these_vars ) except FileNotFoundError: msg = "Could not find one or more files in {}".format(file_list) raise FileNotFoundError(msg) return ds def ch4_or_fullchem(ds): """ Determines if a Dataset contains variables for computing metrics from a CH4 simulation or a fullchem simulation. Args: ----- ds : xarray Dataset Returns: -------- is_ch4_sim : bool """ # CH4 and fullchem simulations have these variables common_vars = [ "AirMassColumnFull", "LossOHbyCH4columnTrop", "LossOHbyMCFcolumnTrop", "OHwgtByAirMassColumnFull", ] # CH4 simulations also have these variables extra_vars_ch4 = [ "CH4emission", "CH4massColumnFull", "CH4massColumnTrop", ] # Keep a count count = 0 # Look for the common variables in the dataset for v in common_vars: if v in ds.data_vars.keys(): count += 1 # Look for the CH4-only variables in the dataset for v in extra_vars_ch4: if v in ds.data_vars.keys(): count += 1 if count == len(common_vars): is_ch4_sim = False elif count == len(common_vars) + len(extra_vars_ch4): is_ch4_sim = True else: msg = "The '{}' diagnostic is not in this dataset!".format(v) raise ValueError(msg) return is_ch4_sim def read_metrics_collection(data_dir): """ Reads data from all "Metrics" collection netCDF files into a single xarray Dataset. Args: ----- data_dir : str Directory containing data files. Default: "./OutputDir". Returns: -------- ds : xarray Dataset """ # Find a list of all MeanOH collection files in data_dir. # Walk through subdirectories of data_dir if they exist. file_list = [] for root, dirs, files in os.walk(data_dir): if len(dirs) > 0: for d in dirs: for f in files: if ".Metrics." in f: file_list.append(os.path.join(root, d, f)) else: for f in files: if ".Metrics." in f: file_list.append(os.path.join(root, f)) # Combine data into a single dataset # Exit if we do not have all necessary metrics variables ds = combine_dataset(file_list) return ds def total_airmass(ds): """ Computes the total airmass (in both kg and molec). Args: ----- ds : xarray Dataset Returns: -------- sum_airmass_kg, sum_airmass_m: numpy float64 """ sum_airmass_kg = np.nansum(ds["AirMassColumnFull"].values) sum_airmass_m = sum_airmass_kg * (avogadro / mw_air_kg) return sum_airmass_kg, sum_airmass_m def global_mean_oh(sum_airmass_kg, ds): """ Computes the global mean OH concentration (1e5 molec cm-3) Args: ----- sum_airmass_kg : numpy float64 ds : xarray Dataset Returns: -------- sum_mean_oh : numpy float64 """ # Divide out total airmass to get total mean OH concentration [kg m-3] # Then convert mean OH from [kg m-3] to [1e5 molec cm-3] sum_mean_oh = np.nansum(ds["OHwgtByAirMassColumnFull"].values) sum_mean_oh = (sum_mean_oh / sum_airmass_kg) sum_mean_oh *= (avogadro / (mw_oh_kg * m3_to_cm3)) * ten_to_minus_5 return sum_mean_oh def lifetimes_wrt_oh(sum_airmass_m, ds): """ Computes the lifetimes (in years) of CH4 and CH3CCl3 (aka MCF) against tropospheric OH. Args: ----- sum_airmass_m : numpy float64 ds : xarray Dataset Returns: -------- ch4_life_wrt_oh, mcf_life_wrt_oh : numpy float64 """ # Loss of OH by CH4+OH and MCF+OH reactions [molec] oh_loss_by_ch4 = np.nansum(ds["LossOHbyCH4columnTrop"].values) oh_loss_by_mcf = np.nansum(ds["LossOHbyMCFcolumnTrop"].values) # CH4 and MCF lifetimes against OH [years] ch4_life_wrt_oh = (sum_airmass_m / oh_loss_by_ch4) / s_per_yr mcf_life_wrt_oh = (sum_airmass_m / oh_loss_by_mcf) / s_per_yr return ch4_life_wrt_oh, mcf_life_wrt_oh def overall_ch4_lifetimes(ds): """ Computes the overall lifetimes (in years) of CH4 (accounting for emissions) in the full-atmosphere and in the troposphere. Args: ----- ds : xarray Dataset Returns: -------- ch4_life_full, ch4_life_trop : numpy float64 """ # Sum of CH4 emissions [kg/s] ch4_emis = np.nansum(ds["CH4emission"]) # CH4 mass in full-atm column and trop-only column [kg] ch4_mass_full = np.nansum(ds["CH4massColumnFull"].values) ch4_mass_trop = np.nansum(ds["CH4massColumnTrop"].values) # CH4 overall lifetimes [years] in full-atmosphere and troposphere ch4_life_full = (ch4_mass_full / ch4_emis) / s_per_yr ch4_life_trop = (ch4_mass_trop / ch4_emis) / s_per_yr return ch4_life_full, ch4_life_trop def get_start_and_end_dates(ds): """ Gets the start and end dates of a GEOS-Chem Classic or a GCHP simulation. Args: ----- ds : xarray Dataset Returns: -------- start, end : str """ # Get start and end date of simulation for GCHP or GEOS-Chem Classic if "nf" in ds.dims: is_gcc = False with open("./setCommonRunSettings.sh", "r") as settings_file: for line in settings_file: if "Run_Duration=" in line: substrs = (line.rstrip()).split('=') duration = (substrs[1].replace('"',' ')).lstrip() start = duration # set start to duration to return it from this function with open("./cap_restart", "r") as cap_file: for line in cap_file: end = line.rstrip() + "z" else: is_gcc = True start = ds.attrs["simulation_start_date_and_time"] # GC-Classic end = ds.attrs["simulation_end_date_and_time"] return start, end, is_gcc def print_metrics(ds, is_ch4_sim=False): """ Prints the mass-weighted mean OH (full atmospheric column) from a GEOS-Chem simulation. Args: ----- ds : xarray Dataset is_ch4_sim : bool """ # Get total airmasses ([kg] and [molec]) sum_airmass_kg, sum_airmass_m = total_airmass(ds) # Get mean OH [1e-5 molec cm-3] mean_oh = global_mean_oh(sum_airmass_kg, ds) # Get lifetimes of CH4 and MCF against tropospheric OH [years] ch4_life_wrt_oh, mcf_life_wrt_oh = lifetimes_wrt_oh(sum_airmass_m, ds) # Get overall lifetime of CH4 in full-atm and in trop [years[ if is_ch4_sim: ch4_life_full, ch4_life_trop = overall_ch4_lifetimes(ds) # Get start and end dates of the simulation start, end, is_gcc = get_start_and_end_dates(ds) # Print results print("="*78) if is_ch4_sim: print("GEOS-Chem METHANE SIMULATION METRICS\n") else: print("GEOS-Chem FULL-CHEMISTRY SIMULATION METRICS\n") if is_gcc: print("Simulation start : {}".format(start)) else: print("Simulation duration : {}".format(start)) print("Simulation end : {}".format(end)) print("="*78, "\n") msg = "Mass-weighted mean OH concentration = {:.11f} ".format(mean_oh) msg += "x 10^5 molec cm-3\n" print(msg) msg = "CH3CCl3 lifetime w/r/t tropospheric OH = {:.4f} years\n".format( mcf_life_wrt_oh) print(msg) msg = "CH4 lifetime w/r/t tropospheric OH = {:.4f} years\n".format( ch4_life_wrt_oh) print(msg) # These metrics are only valid for the CH4 simulation if is_ch4_sim: msg = "CH4 total lifetime (full atmosphere) = {:.4f} years\n".format( ch4_life_full) print(msg) msg = "CH4 total lifetime (troposphere only) = {:.4f} years\n".format( ch4_life_trop) print(msg) def main(): """ Main program. Calls all functions. """ # Get the data directory from the passed arguments n_args = len(sys.argv) if n_args == 1: data_dir = "./OutputDir" elif n_args == 2: data_dir = sys.argv[1] else: raise ValueError("Usage: metrics.py DIRECTORY-NAME") # Combine all metrics output into a single Dataset ds = read_metrics_collection(data_dir) # Determine if this dataset is for a CH4 simulation # Otherwise, assume it is a full-chemistry simulation is_ch4_sim = ch4_or_fullchem(ds) # Print metrics information print_metrics(ds, is_ch4_sim) if __name__ == "__main__": main() ================================================ FILE: run/shared/newUserRegistration.sh ================================================ #!/bin/bash #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !MODULE: newUserRegistration.sh # # !DESCRIPTION: Defines utility functions for first-time GEOS-Chem # user registration. This code has been been abstracted out of # run/GCClassic/createRunDir.sh and run/GCHP/createRundir.sh. #\\ #\\ # !REVISION HISTORY: # See the subsequent Git history with the gitk browser! #EOP #------------------------------------------------------------------------------ #BOC ####========================================================================= #### Common variables ####========================================================================== # User prompt for reading in data USER_PROMPT=">>> " ####========================================================================= #### Send registration details to AWS database via curl ####========================================================================== function postRegistration() { #### Sends registration details to API #### curl --location --request POST "https://gc-dashboard.org/registration" \ --header "Content-Type: text/plain" \ -d "{ \"email\": \"${1}\", \"name\": \"${2}\", \"affiliation\": \"${3}\", \"name_of_pi\": \"${4}\", \"site\": \"${5}\", \"git_username\": \"${6/\@/}\", \"research_interest\": \"${7}\", \"model_type\": \"${8}\", \"env_type\": \"${9}\" }" } ####========================================================================= #### Read an entry from the command line ####========================================================================== function userInput() { # Keep asking for the input until user enters a non-blank input while [[ -z "${val}" ]]; do IFS='\n' read -r -p "${USER_PROMPT}" val done # Return the answer printf "${val}" } ####========================================================================= #### Query user to provide registration information #### #### NOTE: See https://www.baeldung.com/linux/ifs-shell-variable #### for a description of what the IFS variable below does ####========================================================================== function registerNewUser() { # Pass the model type from the GCClassic or GCHP createRunDir.sh script model_type="${1}" # Ask user several questions printf "\nInitiating User Registration:\n" printf "You will only need to fill this information out once.\n" printf "Please respond to all questions. Registration is required \n" printf "in order to receive GEOS-Chem support.\n" printf "${thinline}What is your name (first and last)?${thinline}" name=$(userInput) # Ask for email printf "${thinline}What is your email address?${thinline}" email=$(userInput) printf "${thinline}What is the name of your research institution?${thinline}" institution=$(userInput) printf "${thinline}What is the name of your principal invesigator?\n" printf "(Enter 'self' if you are the principal investigator.)${thinline}" name_of_pi=$(userInput) printf "${thinline}Please provide the web site for your institution\n" printf "(group website, company website, etc.)?${thinline}" site=$(userInput) printf "${thinline}Please provide your github username (if any) so that we\n" printf "can recognize you in submitted issues and pull requests.${thinline}" git_username=$(userInput) printf "${thinline}Where do you plan to run GEOS-Chem?\n" printf "(e.g. local compute cluster, AWS, other supercomputer)?${thinline}" env_type=$(userInput) printf "${thinline}Please briefly describe how you plan on using GEOS-Chem\n" printf "so that we can add you to 'GEOS-Chem People and Projects'\n" printf "(https://geoschem.github.io/geos-chem-people-projects-map/)" printf "${thinline}" research_interest=$(userInput) # Send information to database on AWS postRegistration "${email}" "${name}" "${institution}" \ "${name_of_pi}" "${site}" "${git_username}" \ "${research_interest}" "${model_type}" "${env_type}" # Update the .geoschem/config file and apply settings echo "export GC_USER_REGISTERED=true" >> "${HOME}/.geoschem/config" . ${HOME}/.geoschem/config } ================================================ FILE: run/shared/rtd_species_by_simulation.py ================================================ #!/usr/bin/env python3 """ Creates a ReadTheDocs-style list table containing a list of species for a given type of GEOS-Chem simulation. Calling sequence: $ python -m rtd_species_by_simulation SIMULATION-NAME TABLE-FILE """ import os from sys import argv from yaml import safe_load from gcpy.constants import ENCODING from gcpy.util import read_config_file, verify_variable_type # Constants GC_CONFIG = "../GCClassic/geoschem_config.yml.templates/geoschem_config.yml." SPECIES_DB = "./species_databaseXX.yml" KPP_FILE = "../../KPP/XX/XX.eqn" def read_species_from_eqn_file(simulation_name): """ Reads a geoschem_config.yml template file for a given GEOS-Chem simulation and returns the list of transported species Args simulation_name : str : Name of the GEOS-Chem simulation returns transported_species : list : List of transported species """ verify_variable_type(simulation_name, str) # Read YAML file, replacing variables with placeholder text filename = os.path.expanduser(f"{KPP_FILE}").replace( "XX", simulation_name ) # Species contain the word IGNORE; take the 1st substring species = [] with open(filename, 'r', encoding=ENCODING) as ifile: for line in ifile: line = line.strip() if "IGNORE" in line: species.append(line.split("=")[0].strip()) return species def read_transported_species(simulation_name): """ Reads a geoschem_config.yml template file for a given GEOS-Chem simulation and returns the list of transported species Args simulation_name : str : Name of the GEOS-Chem simulation returns transported_species : list : List of transported species """ verify_variable_type(simulation_name, str) # We need to define fake values for the various environment # variables in order to be able to read these with PyYaml os.environ['RUNDIR_SIM_NAME'] = 'X' os.environ['RUNDIR_SIM_START_DATE'] = 'X' os.environ['RUNDIR_SIM_START_TIME'] = 'X' os.environ['RUNDIR_SIM_END_DATE'] = 'X' os.environ['RUNDIR_SIM_END_TIME'] = 'X' os.environ['RUNDIR_DATA_ROOT'] = 'X' os.environ['RUNDIR_MET'] = 'X' os.environ['RUNDIR_USE_GCCLASSIC_TIMERS'] = 'X' os.environ['RUNDIR_GRID_RES_LONG'] = 'X' os.environ['RUNDIR_GRID_NLEV'] = 'X' os.environ['RUNDIR_GRID_LON_RANGE'] = 'X' os.environ['RUNDIR_CENTER_LON_180'] = 'X' os.environ['RUNDIR_GRID_LAT_RANGE'] = 'X' os.environ['RUNDIR_GRID_HALF_POLAR'] = 'X' os.environ['RUNDIR_GRID_NESTED_SIM'] = 'X' os.environ['RUNDIR_GRID_BUFFER_ZONE'] = 'X' os.environ['RUNDIR_TRANSPORT_TS'] = 'X' os.environ['RUNDIR_CHEMISTRY_TS'] = 'X' os.environ['RUNDIR_USE_NLPBL'] = 'X' # Read YAML file, replacing variables with placeholder text filename = os.path.expanduser(f"{GC_CONFIG}{simulation_name}") with open(filename, 'r', encoding=ENCODING) as ifile: config = safe_load(os.path.expandvars(ifile.read())) return config["operations"]["transport"]["transported_species"] def read_species_database(): """ Reads the GEOS-Chem Species Database. Returns species_database : dict : GEOS-Chem Species Database object """ count = 0 for sim in ["", "_apm", "_hg", "_tomas"]: filename = os.path.expanduser(SPECIES_DB.replace("XX", sim)) if count == 0: species_database = read_config_file(filename, quiet=True) else: species_database = species_database | read_config_file( filename, quiet=True ) count += 1 return species_database def get_species_metadata(species, species_database): """ Compares a species against the species database and returns selected metadata fields. Args species : list : List of species names species_database : dict : GEOS-Chem Species Database Returns metadata : dict : Selected species metadata fields """ verify_variable_type(species, list) verify_variable_type(species_database, dict) metadata = {} for spc in species: if spc in species_database: formula = "not listed" if "Formula" in species_database[spc]: formula = species_database[spc]["Formula"] fullname = "not listed" if "FullName" in species_database[spc]: fullname = species_database[spc]["FullName"] metadata[spc] = { "MW_g": species_database[spc]["MW_g"], "FullName": fullname, "Formula": formula, } return metadata def create_rtd_list_table(metadata, table_file, title=None): """ Creates a ReadTheDocs list table displaying the transported species for a given GEOS-Chem simulation. Args metadata : dict : Selected species metadata fields table_file : str : File where the list table will be written Kwargs title : str : Table title """ verify_variable_type(metadata, dict) verify_variable_type(table_file, str) verify_variable_type(title, (str, type(None))) with open(table_file, "a", encoding=ENCODING) as ofile: # Table declaration if title is None: print(".. list-table::", file=ofile) else: print(f".. list-table:: {title}", file=ofile) print(" :header-rows: 1", file=ofile) print(" :align: left\n", file=ofile) # Header print(" * - Species", file=ofile) print(" - Description", file=ofile) print(" - Formula", file=ofile) print(" - MW (g)", file=ofile) # Species and species metadata for (species, metadata_fields) in metadata.items(): print(f" * - {species}", file=ofile) print(f" - {metadata_fields['FullName']}", file=ofile) print(f" - {metadata_fields['Formula']}", file=ofile) print(f" - {metadata_fields['MW_g']}", file=ofile) print("", file=ofile) def main(simulation_name, table_file): """ Main program. Calls subroutines to create the list table. Args simulation_name : str : Name of a GEOS-Chem simulation table_file : str : File where the list table will be written """ verify_variable_type(simulation_name, str) verify_variable_type(table_file, str) # Read the species database info species_database = read_species_database() # Get the list of transported species and its metadata transported_species = read_transported_species( simulation_name ) transported_species_metadata = get_species_metadata( transported_species, species_database ) # ------------------------------------------------------------------ # Simulations with KPP-generated mechanisms # Create separate tables for advected and non-advected species # ------------------------------------------------------------------ if "fullchem" in simulation_name or \ "Hg" in simulation_name or \ "carbon" in simulation_name: # Get the list of all species from the KPP *.eqn file all_species = read_species_from_eqn_file(simulation_name) # Get the list of non-transported species and its metadata non_transported_species = [ var for var in all_species if var not in transported_species ] non_transported_species_metadata = get_species_metadata( non_transported_species, species_database ) # Create the list tables create_rtd_list_table( transported_species_metadata, table_file, title="Advected species", ) create_rtd_list_table( non_transported_species_metadata, table_file, title="Non-advected species", ) return # ------------------------------------------------------------------ # Simulations without KPP-generated mechanisms # All species are transported species # ------------------------------------------------------------------ # Create a list table in ReadTheDocs format create_rtd_list_table( transported_species_metadata, table_file ) if __name__ == '__main__': if len(argv) != 3: raise ValueError("Usage: python -m sims SIMULATION-NAME TABLE-FILE") main(argv[1], argv[2]) ================================================ FILE: run/shared/settings/0125x015625.txt ================================================ RUNDIR_GRID_RES='0125x015625' RUNDIR_GRID_RES_LONG='0.125x0.15625' RUNDIR_GRID_DIR='0.125x0.15625' ================================================ FILE: run/shared/settings/025x03125.txt ================================================ RUNDIR_GRID_RES='025x03125' RUNDIR_GRID_RES_LONG='0.25x0.3125' RUNDIR_GRID_DIR='0.25x0.3125' ================================================ FILE: run/shared/settings/05x0625.txt ================================================ RUNDIR_GRID_RES='05x0625' RUNDIR_GRID_RES_LONG='0.5x0.625' RUNDIR_GRID_DIR='0.5x0.625' ================================================ FILE: run/shared/settings/2x25.txt ================================================ RUNDIR_GRID_RES='2x25' RUNDIR_GRID_RES_LONG='2.0x2.5' RUNDIR_GRID_DIR='2x2.5' ================================================ FILE: run/shared/settings/4x5.txt ================================================ RUNDIR_GRID_RES='4x5' RUNDIR_GRID_RES_LONG='4.0x5.0' RUNDIR_GRID_DIR='4x5' ================================================ FILE: run/shared/settings/POPs_BaP.txt ================================================ RUNDIR_POP_SPC='BaP' RUNDIR_POP_XMW='252.31d-3' RUNDIR_POP_KOA='3.02d11' RUNDIR_POP_KBC='7.94d13' RUNDIR_POP_K_POPG_OH='50d-12' RUNDIR_POP_K_POPP_O3A='0d0' RUNDIR_POP_K_POPP_O3B='2.8d15' RUNDIR_POP_HSTAR='3.10d-5' RUNDIR_POP_DEL_H='-110d3' RUNDIR_POP_DEL_Hw='43d0' ================================================ FILE: run/shared/settings/POPs_PHE.txt ================================================ RUNDIR_POP_SPC='PHE' RUNDIR_POP_XMW='178.23d-3' RUNDIR_POP_KOA='4.37d7' RUNDIR_POP_KBC='1.0d10' RUNDIR_POP_K_POPG_OH='2.7d-11' RUNDIR_POP_K_POPP_O3A='0d0' RUNDIR_POP_K_POPP_O3B='2.15d15' RUNDIR_POP_HSTAR='1.74d-3' RUNDIR_POP_DEL_H='-74d3' RUNDIR_POP_DEL_Hw='47d0' ================================================ FILE: run/shared/settings/POPs_PYR.txt ================================================ RUNDIR_POP_SPC='PYR' RUNDIR_POP_XMW='202.25d-3' RUNDIR_POP_KOA='7.24d8' RUNDIR_POP_KBC='1.0d11' RUNDIR_POP_K_POPG_OH='50d-12' RUNDIR_POP_K_POPP_O3A='0d0' RUNDIR_POP_K_POPP_O3B='3.0d15' RUNDIR_POP_HSTAR='5.37d-4' RUNDIR_POP_DEL_H='-87d3' RUNDIR_POP_DEL_Hw='43d0' ================================================ FILE: run/shared/settings/gcap2_hemco.txt ================================================ RUNDIR_GFED_EXT='off' RUNDIR_USE_CEDS='false' RUNDIR_USE_TSC2H6='false' RUNDIR_USE_XIAOC3H8='false' RUNDIR_USE_AEIC='false' RUNDIR_USE_GMDCH4='false' RUNDIR_USE_SFCVMR='false' RUNDIR_CMIP6_FIELDS='true' RUNDIR_Bry_DIR='GCAP2/Bry/v2015-01/$GCAPVERTRES' RUNDIR_GMI_DIR='GCAP2/GMI/v2015-02/$GCAPVERTRES' RUNDIR_UCX_DIR='GCAP2/UCX/v2018-02' RUNDIR_Br_GC='* Br_GC $ROOT/GCAP2/OFFLINE_FIELDS/13.0.0/GEOSChem.SpeciesConc.2010-2019.$MM.$GCAPVERTRES.nc4 SpeciesConc_Br 2015/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_BrO_GC='* BrO_GC $ROOT/GCAP2/OFFLINE_FIELDS/13.0.0/GEOSChem.SpeciesConc.2010-2019.$MM.$GCAPVERTRES.nc4 SpeciesConc_BrO 2015/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_GLOBAL_ACTA='* GLOBAL_ACTA $ROOT/GCAP2/OFFLINE_FIELDS/13.0.0/GEOSChem.SpeciesConc.2010-2019.$MM.$GCAPVERTRES.nc4 SpeciesConc_ACTA 2015/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_GLOBAL_Cl='* GLOBAL_Cl $ROOT/GCAP2/OFFLINE_FIELDS/13.0.0/GEOSChem.SpeciesConc.2010-2019.$MM.$GCAPVERTRES.nc4 SpeciesConc_Cl 2015/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_GLOBAL_ClO='* GLOBAL_ClO $ROOT/GCAP2/OFFLINE_FIELDS/13.0.0/GEOSChem.SpeciesConc.2010-2019.$MM.$GCAPVERTRES.nc4 SpeciesConc_ClO 2015/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_GLOBAL_HCl='* GLOBAL_HCl $ROOT/GCAP2/OFFLINE_FIELDS/13.0.0/GEOSChem.SpeciesConc.2010-2019.$MM.$GCAPVERTRES.nc4 SpeciesConc_HCl 2015/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_GLOBAL_HCOOH='* GLOBAL_HCOOH $ROOT/GCAP2/OFFLINE_FIELDS/13.0.0/GEOSChem.SpeciesConc.2010-2019.$MM.$GCAPVERTRES.nc4 SpeciesConc_HCOOH 2015/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_GLOBAL_HNO3='* GLOBAL_HNO3 $ROOT/GCAP2/OFFLINE_FIELDS/13.0.0/GEOSChem.SpeciesConc.2010-2019.$MM.$GCAPVERTRES.nc4 SpeciesConc_HNO3 2015/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_GLOBAL_HO2='* GLOBAL_HO2 $ROOT/GCAP2/OFFLINE_FIELDS/13.0.0/GEOSChem.SpeciesConc.2010-2019.$MM.$GCAPVERTRES.nc4 SpeciesConc_HO2 2015/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_GLOBAL_HOCl='* GLOBAL_HOCl $ROOT/GCAP2/OFFLINE_FIELDS/13.0.0/GEOSChem.SpeciesConc.2010-2019.$MM.$GCAPVERTRES.nc4 SpeciesConc_HOCl 2015/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_GLOBAL_NIT='* GLOBAL_NIT $ROOT/GCAP2/OFFLINE_FIELDS/13.0.0/GEOSChem.SpeciesConc.2010-2019.$MM.$GCAPVERTRES.nc4 SpeciesConc_NIT 2015/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_GLOBAL_NO='* GLOBAL_NO $ROOT/GCAP2/OFFLINE_FIELDS/13.0.0/GEOSChem.SpeciesConc.2010-2019.$MM.$GCAPVERTRES.nc4 SpeciesConc_NO 2015/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_GLOBAL_NO2='* GLOBAL_NO2 $ROOT/GCAP2/OFFLINE_FIELDS/13.0.0/GEOSChem.SpeciesConc.2010-2019.$MM.$GCAPVERTRES.nc4 SpeciesConc_NO2 2015/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_GLOBAL_NO3='* GLOBAL_NO3 $ROOT/GCAP2/OFFLINE_FIELDS/13.0.0/GEOSChem.SpeciesConc.2010-2019.$MM.$GCAPVERTRES.nc4 SpeciesConc_NO3 2015/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_GLOBAL_O3='* GLOBAL_O3 $ROOT/GCAP2/OFFLINE_FIELDS/13.0.0/GEOSChem.SpeciesConc.2010-2019.$MM.$GCAPVERTRES.nc4 SpeciesConc_O3 2015/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_GLOBAL_OH='* GLOBAL_OH $ROOT/GCAP2/OFFLINE_FIELDS/13.0.0/GEOSChem.SpeciesConc.2010-2019.$MM.$GCAPVERTRES.nc4 SpeciesConc_OH 2015/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_AERO_SO4='* AERO_SO4 $ROOT/GCAP2/OFFLINE_FIELDS/13.0.0/GEOSChem.SpeciesConc.2010-2019.$MM.$GCAPVERTRES.nc4 SpeciesConc_SO4 2015/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_AERO_NH4='* AERO_NH4 $ROOT/GCAP2/OFFLINE_FIELDS/13.0.0/GEOSChem.SpeciesConc.2010-2019.$MM.$GCAPVERTRES.nc4 SpeciesConc_NH4 2015/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_AERO_NIT='* AERO_NIT $ROOT/GCAP2/OFFLINE_FIELDS/13.0.0/GEOSChem.SpeciesConc.2010-2019.$MM.$GCAPVERTRES.nc4 SpeciesConc_NIT 2015/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_AERO_BCPI='* AERO_BCPI $ROOT/GCAP2/OFFLINE_FIELDS/13.0.0/GEOSChem.SpeciesConc.2010-2019.$MM.$GCAPVERTRES.nc4 SpeciesConc_BCPI 2015/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_AERO_BCPO='* AERO_BCPO $ROOT/GCAP2/OFFLINE_FIELDS/13.0.0/GEOSChem.SpeciesConc.2010-2019.$MM.$GCAPVERTRES.nc4 SpeciesConc_BCPO 2015/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_AERO_OCPI='* AERO_OCPI $ROOT/GCAP2/OFFLINE_FIELDS/13.0.0/GEOSChem.SpeciesConc.2010-2019.$MM.$GCAPVERTRES.nc4 SpeciesConc_OCPI 2015/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_AERO_OCPO='* AERO_OCPO $ROOT/GCAP2/OFFLINE_FIELDS/13.0.0/GEOSChem.SpeciesConc.2010-2019.$MM.$GCAPVERTRES.nc4 SpeciesConc_OCPO 2015/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_AERO_DST1='* AERO_DST1 $ROOT/GCAP2/OFFLINE_FIELDS/13.0.0/GEOSChem.SpeciesConc.2010-2019.$MM.$GCAPVERTRES.nc4 SpeciesConc_DST1 2015/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_GLOBAL_OA='* GLOBAL_OA $ROOT/GCAP2/OFFLINE_FIELDS/13.0.0/GEOSChem.AerosolMass.2010-2019.$MM.$GCAPVERTRES.nc4 TotalOA 2015/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_PCO_CH4='* PCO_CH4 $ROOT/GCAP2/OFFLINE_FIELDS/13.0.0/GEOSChem.ProdLoss.2010-2019.$MM.$GCAPVERTRES.nc4 ProdCOfromCH4 2015/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_PCO_NMVOC='* PCO_NMVOC $ROOT/GCAP2/OFFLINE_FIELDS/13.0.0/GEOSChem.ProdLoss.2010-2019.$MM.$GCAPVERTRES.nc4 ProdCOfromNMVOC 2015/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_PH2O2='* PH2O2 $ROOT/GCAP2/OFFLINE_FIELDS/13.0.0/GEOSChem.ProdLoss.2010-2019.$MM.$GCAPVERTRES.nc4 Prod_H2O2 2015/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_O3_PROD='* O3_PROD $ROOT/GCAP2/OFFLINE_FIELDS/13.0.0/GEOSChem.ProdLoss.2010-2019.$MM.$GCAPVERTRES.nc4 Prod_Ox 2015/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_O3_LOSS='* O3_LOSS $ROOT/GCAP2/OFFLINE_FIELDS/13.0.0/GEOSChem.ProdLoss.2010-2019.$MM.$GCAPVERTRES.nc4 Loss_Ox 2015/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_JBrO='* JBrO $ROOT/GCAP2/OFFLINE_FIELDS/13.0.0/GEOSChem.JValues.2010-2019.$MM.$GCAPVERTRES.nc4 Jval_BrO 2015/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_JH2O2='* JH2O2 $ROOT/GCAP2/OFFLINE_FIELDS/13.0.0/GEOSChem.JValues.2010-2019.$MM.$GCAPVERTRES.nc4 Jval_H2O2 2015/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_JNO2='* JNO2 $ROOT/GCAP2/OFFLINE_FIELDS/13.0.0/GEOSChem.JValues.2010-2019.$MM.$GCAPVERTRES.nc4 Jval_NO2 2015/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_CH4_LOSS='* CH4_LOSS $ROOT/GCAP2/GMI/v2015-02/$GCAPVERTRES/gmi.clim.CH4.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 * - 1 1' RUNDIR_CO2_COPROD='* CO2_COPROD $ROOT/GCAP2/CO2/v2019-02/CHEM/CO2_prod_rates.2x25.$GCAPVERTRES.nc LCO 2004-2009/1-12/1/0 C xyz kgC/m3/s * - 1 1' RUNDIR_Br_TOMCAT='* Br_TOMCAT $ROOT/GCAP2/MERCURY/v2014-09/BrOx/BrOx.GMI.geos5.2x25.$GCAPVERTRES.nc4 LBRO2N 1985/1-12/1/0 C xyz pptv * - 1 1' RUNDIR_BrO_TOMCAT='* BrO_TOMCAT $ROOT/GCAP2/MERCURY/v2014-09/BrOx/BrOx.GMI.geos5.2x25.$GCAPVERTRES.nc4 LBRO2H 1985/1-12/1/0 C xyz pptv * - 1 1' RUNDIR_GLOBAL_OC='1002 GLOBAL_OC $ROOT/GCAP2/POPs/v2015-08/OCPO.4x5.$GCAPVERTRES.nc4 OCPO 2005-2009/1-12/1/0 C xyz kg * - 1 1' RUNDIR_GLOBAL_BC='1002 GLOBAL_BC $ROOT/GCAP2/POPs/v2015-08/BCPO.4x5.$GCAPVERTRES.nc4 BCPO 2005-2009/1-12/1/0 C xyz kg * - 1 1' RUNDIR_TES_CLIM_CCL4='* TES_CLIM_CCL4 $ROOT/GCAP2/RRTMG/v2018-11/species_clim_profiles.2x25.$GCAPVERTRES.nc4 CCl4 2000/1/1/0 C xyz ppbv * - 1 1' RUNDIR_TES_CLIM_CFC11='* TES_CLIM_CFC11 $ROOT/GCAP2/RRTMG/v2018-11/species_clim_profiles.2x25.$GCAPVERTRES.nc4 CFC11 2000/1/1/0 C xyz ppbv * - 1 1' RUNDIR_TES_CLIM_CFC12='* TES_CLIM_CFC12 $ROOT/GCAP2/RRTMG/v2018-11/species_clim_profiles.2x25.$GCAPVERTRES.nc4 CFC12 2000/1/1/0 C xyz ppbv * - 1 1' RUNDIR_TES_CLIM_CFC22='* TES_CLIM_CFC22 $ROOT/GCAP2/RRTMG/v2018-11/species_clim_profiles.2x25.$GCAPVERTRES.nc4 CFC22 2000/1/1/0 C xyz ppbv * - 1 1' RUNDIR_TES_CLIM_CH4='* TES_CLIM_CH4 $ROOT/GCAP2/RRTMG/v2018-11/species_clim_profiles.2x25.$GCAPVERTRES.nc4 CH4 2000/1/1/0 C xyz ppbv * - 1 1' RUNDIR_TES_CLIM_N2O='* TES_CLIM_N2O $ROOT/GCAP2/RRTMG/v2018-11/species_clim_profiles.2x25.$GCAPVERTRES.nc4 N2O 2000/1/1/0 C xyz ppbv * - 1 1' RUNDIR_GMI_LOSS_CO='* GMI_LOSS_CO $ROOT/GCAP2/GMI/v2015-02/$GCAPVERTRES/gmi.clim.CO.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CO - 1 1' RUNDIR_GMI_PROD_CO='* GMI_PROD_CO $ROOT/GCAP2/GMI/v2015-02/$GCAPVERTRES/gmi.clim.CO.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CO - 1 1' RUNDIR_OCEAN_MASK='1000 OCEAN_MASK $METDIR/TOPO focean */1/1/0 C xy 1 1 -180/-90/180/90' RUNDIR_Hg_GLOBAL_Br='* GLOBAL_Br $ROOT/MERCURY/v2022-04/Oxidants_for_Hg_sim_2016.nc4 Br 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_BrO='* GLOBAL_BrO $ROOT/MERCURY/v2022-04/Oxidants_for_Hg_sim_2016.nc4 BrO 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_CH4='* GLOBAL_CH4 $ROOT/MERCURY/v2022-04/Oxidants_for_Hg_sim_2016.nc4 CH4 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_Cl='* GLOBAL_Cl $ROOT/MERCURY/v2022-04/Oxidants_for_Hg_sim_2016.nc4 Cl 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_ClO='* GLOBAL_ClO $ROOT/MERCURY/v2022-04/Oxidants_for_Hg_sim_2016.nc4 ClO 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_CO='* GLOBAL_CO $ROOT/MERCURY/v2022-04/Oxidants_for_Hg_sim_2016.nc4 CO 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_HO2='* GLOBAL_HO2 $ROOT/MERCURY/v2022-04/Oxidants_for_Hg_sim_2016.nc4 HO2 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_NO='* GLOBAL_NO $ROOT/MERCURY/v2022-04/Oxidants_for_Hg_sim_2016.nc4 NO 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_NO2='* GLOBAL_NO2 $ROOT/MERCURY/v2022-04/Oxidants_for_Hg_sim_2016.nc4 NO2 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_O3='* GLOBAL_O3 $ROOT/MERCURY/v2022-04/Oxidants_for_Hg_sim_2016.nc4 O3 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_OH='* GLOBAL_OH $ROOT/MERCURY/v2022-04/Oxidants_for_Hg_sim_2016.nc4 OH 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_fOA='* GLOBAL_fOA $ROOT/MERCURY/v2022-04/Oxidants_for_Hg_sim_2016.nc4 fOA 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_OCEAN='* GLOBAL_OCEAN $ROOT/MERCURY/v2018-04/ocean_fixed.nc ocean_conc 2007/1-12/1/0 C xy 1 * - 1 1' RUNDIR_Hg_GLOBAL_PM25='* GLOBAL_PM25 $ROOT/MERCURY/v2022-04/Oxidants_for_Hg_sim_2016.nc4 PM25 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_RH='* GLOBAL_RH $ROOT/MERCURY/v2022-04/Oxidants_for_Hg_sim_2016.nc4 RH 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AOD_BC='* AOD_BC $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 AOD_BC 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AOD_BGSULF='* AOD_BGSULF $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 AOD_BGSULF 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AOD_DST1='* AOD_DST1 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 AOD_DST1 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AOD_DST2='* AOD_DST2 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 AOD_DST2 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AOD_DST3='* AOD_DST3 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 AOD_DST3 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AOD_DST4='* AOD_DST4 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 AOD_DST4 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AOD_DST5='* AOD_DST5 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 AOD_DST5 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AOD_DST6='* AOD_DST6 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 AOD_DST6 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AOD_DST7='* AOD_DST7 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 AOD_DST7 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AOD_ICEI='* AOD_ICEI $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 AOD_ICEI 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AOD_OC='* AOD_OC $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 AOD_OC 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AOD_SO4='* AOD_SO4 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 AOD_SO4 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AOD_SSA='* AOD_SSA $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 AOD_SSA 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AOD_SSC='* AOD_SSC $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 AOD_SSC 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AREA_BC='* Area_BC $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Area_BC 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AREA_BGSULF='* Area_BGSULF $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Area_BGSULF 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AREA_DST1='* Area_DST1 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Area_DST1 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AREA_DST2='* Area_DST2 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Area_DST2 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AREA_DST3='* Area_DST3 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Area_DST3 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AREA_DST4='* Area_DST4 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Area_DST4 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AREA_DST5='* Area_DST5 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Area_DST5 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AREA_DST6='* Area_DST6 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Area_DST6 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AREA_DST7='* Area_DST7 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Area_DST7 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AREA_ICEI='* Area_ICEI $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Area_ICEI 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AREA_OC='* Area_OC $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Area_OC 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AREA_SO4='* Area_SO4 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Area_SO4 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AREA_SSA='* Area_SSA $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Area_SSA 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AREA_SSC='* Area_SSC $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Area_SSC 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_RADI_BC='* Radi_BC $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Radi_BC 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_RADI_BGSULF='* Radi_BGSULF $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Radi_BGSULF 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_RADI_DST1='* Radi_DST1 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Radi_DST1 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_RADI_DST2='* Radi_DST2 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Radi_DST2 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_RADI_DST3='* Radi_DST3 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Radi_DST3 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_RADI_DST4='* Radi_DST4 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Radi_DST4 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_RADI_DST5='* Radi_DST5 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Radi_DST5 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_RADI_DST6='* Radi_DST6 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Radi_DST6 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_RADI_DST7='* Radi_DST7 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Radi_DST7 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_RADI_ICEI='* Radi_ICEI $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Radi_ICEI 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_RADI_OC='* Radi_OC $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Radi_OC 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_RADI_SO4='* Radi_SO4 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Radi_SO4 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_RADI_SSA='* Radi_SSA $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Radi_SSA 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_RADI_SSC='* Radi_SSC $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Radi_SSC 2016/1-12/1/0 C xyz 1 * - 1 1' ================================================ FILE: run/shared/settings/geosfp/README ================================================ This directory contains settings used for GCHP run directory creation if using GEOS-FP meteorology fields. Unlike in GEOS-Chem Classic, GEOS-FP data is by default at native resolution of 0.25x0.3125, and either processed files or raw GMAO files may be used. Processed means same as except vertically flipped, unused fields removed, concatenated into daily files, and compressed. In addition, users may swap out the input fields that are used for advection, specifically surface pressure, humidity, and winds, with raw GMAO data from an hourly C720 archive that includes mass fluxes and Courant numbers instead of wind. An additional C720 archive is available containing winds derived from mass fluxes, created in post-processing specifically for use with GEOS-Chem. Note that the derived winds file, though processed, is not vertically flipped relative to the C720 mass flux archive. The following files contain the settings for these various options, including their entries for ExtData.rc (which includes file paths) and whether file vertical direction is top-down (level 1 TOA) or bottom-up (level 1 surface), and therefore whether data must be flipped at run-time. Every run configuration will use one file for non-advection fields (section A below) and one or two files for advection fields (section B below), such that source of humidity, wind, and other met-fields are always specified. A. Non-advection fields, i.e. no surface pressure, humidity, and wind 1. geosfp.nonadv_raw_ll.txt - Raw GMAO files - 0.25x0.3125 grid resolution 2. geosfp.nonadv_preprocessed_ll.txt - Processed files - 0.25x0.3125 grid resolution B. Advection fields 1. 3-hourly 0.25x0.3125 fields a. advection_met/geosfp.preprocessed_3hr_0.25x0.3125_PS_SPHU.txt b. advection_met/geosfp.preprocessed_3hr_0.25x0.3125_wind.txt - Pre-processed files only c. advection_met/geosfp.raw_3hr_0.25x0.3125_PS_SPHU.txt d. advection_met/geosfp.raw_3hr_0.25x0.3125_wind.txt - Raw GMAO files only 2. 1-hourly C720 fields a. advection_met/geosfp.raw_1hr_0.25x0.3125_mass_flux_PS_SPHU_C.txt - Raw GMAO files only b. advection_met/geosfp.derived_1hr_c720_wind_PS_SPHU.txt - Wind is in pre-processed file while surface pressure and humidity are in the raw GMAO C720 archive Each of these files contains some combination of the following settings used during run directory creation to ultimately populate settings in GCHP configuration file GCHP.rc: MET_MASS_FLUX_IS_TOP_DOWN MET_WIND_IS_TOP_DOWN MET_HUMIDITY_IS_TOP_DOWN MET_NONADVECTION_IS_TOP_DOWN IMPORT_MASS_FLUX_FROM_EXTDATA ================================================ FILE: run/shared/settings/geosfp/advection_met/geosfp.derived_1hr_c720_wind_PS_SPHU.txt ================================================ RUNDIR_MET_MASS_FLUX_IS_TOP_DOWN=.true. RUNDIR_MET_WIND_IS_TOP_DOWN=.true. RUNDIR_MET_HUMDITY_IS_TOP_DOWN=.true. RUNDIR_IMPORT_MASS_FLUX_FROM_EXTDATA=.false. RUNDIR_USE_TOTAL_AIR_PRESSURE_IN_ADVECTION=0 RUNDIR_MET_EXTDATA_PRIMARY_EXPORTS_FOR_WIND=""" # --- Wind, 1-hr time-averaged, derived from 1-hr mass flux --- UA;VA m_s-1 N Y F0;003000 none none UA;VA ./MetDir/../../GEOS_C720/GEOS_FP_DerivedWind/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg_1hr_ctmwind_c0720_v72.%y4%m2%d2_%h2%n2.V01.nc4 2021-03-11T00:30:00P01:00 """ RUNDIR_MET_EXTDATA_PRIMARY_EXPORTS_FOR_ADVECTION=""" # --- Surface pressure and specific humidity, 1-hr instantaneous --- PS1 Pa N Y 0 none 0.01 PS ./MetDir/../../GEOS_C720/GEOS_FP_Raw/Y%y4/M%m2/D%d2/GEOS.fp.asm.inst_1hr_ctm_c0720_v72.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-20T00:00:00P01:00 PS2 Pa N Y 0;001000 none 0.01 PS ./MetDir/../../GEOS_C720/GEOS_FP_Raw/Y%y4/M%m2/D%d2/GEOS.fp.asm.inst_1hr_ctm_c0720_v72.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-20T00:00:00P01:00 SPHU1 kg_kg-1 N Y 0 none none QV ./MetDir/../../GEOS_C720/GEOS_FP_Raw/Y%y4/M%m2/D%d2/GEOS.fp.asm.inst_1hr_ctm_c0720_v72.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-20T00:00:00P01:00 SPHU2 kg_kg-1 N Y 0;001000 none none QV ./MetDir/../../GEOS_C720/GEOS_FP_Raw/Y%y4/M%m2/D%d2/GEOS.fp.asm.inst_1hr_ctm_c0720_v72.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-20T00:00:00P01:00 """ ================================================ FILE: run/shared/settings/geosfp/advection_met/geosfp.preprocessed_3hr_0.25x0.625_PS_SPHU.txt ================================================ RUNDIR_MET_MASS_FLUX_IS_TOP_DOWN=.false. RUNDIR_MET_HUMIDITY_IS_TOP_DOWN=.false. RUNDIR_IMPORT_MASS_FLUX_FROM_EXTDATA=.false. RUNDIR_USE_TOTAL_AIR_PRESSURE_IN_ADVECTION=0 RUNDIR_MET_EXTDATA_PRIMARY_EXPORTS_FOR_ADVECTION=""" # --- Surface pressure and specific humidity, 3-hr instantaneous --- PS1 hPa N Y 0 none none PS ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.I3.025x03125.nc PS2 hPa N Y 0;001000 none none PS ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.I3.025x03125.nc SPHU1 kg_kg-1 N Y 0 none none QV ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.I3.025x03125.nc SPHU2 kg_kg-1 N Y 0;001000 none none QV ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.I3.025x03125.nc """ ================================================ FILE: run/shared/settings/geosfp/advection_met/geosfp.preprocessed_3hr_0.25x0.625_wind.txt ================================================ RUNDIR_MET_WIND_IS_TOP_DOWN=.false. RUNDIR_MET_EXTDATA_PRIMARY_EXPORTS_FOR_WIND=""" # --- Wind, 3-hr time-averaged --- UA;VA m_s-1 N Y F0;013000 none none U;V ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A3dyn.025x03125.nc """ ================================================ FILE: run/shared/settings/geosfp/advection_met/geosfp.raw_1hr_c720_mass_flux_PS_SPHU_C.txt ================================================ RUNDIR_MET_MASS_FLUX_IS_TOP_DOWN=.true. RUNDIR_MET_HUMIDITY_IS_TOP_DOWN=.true. RUNDIR_IMPORT_MASS_FLUX_FROM_EXTDATA=.true. RUNDIR_USE_TOTAL_AIR_PRESSURE_IN_ADVECTION=0 RUNDIR_MET_EXTDATA_PRIMARY_EXPORTS_FOR_ADVECTION=""" # --- Mass fluxes and Courant numbers, 1-hr time-averaged --- MFXC;MFYC Pa_m+2_s-1 N H F0;003000 none none MFXC;MFYC ./MetDir/../../GEOS_C720/GEOS_FP_Raw/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg_1hr_ctm_c0720_v72.%y4%m2%d2_%h2%n2.V01.nc4 2021-03-11T00:30:00P01:00 CXC;CYC 1 N H F0;003000 none none CX;CY ./MetDir/../../GEOS_C720/GEOS_FP_Raw/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg_1hr_ctm_c0720_v72.%y4%m2%d2_%h2%n2.V01.nc4 2021-03-11T00:30:00P01:00 # --- Surface pressure and specific humidity, 1-hr instantaneous --- PS1 Pa N Y 0 none 0.01 PS ./MetDir/../../GEOS_C720/GEOS_FP_Raw/Y%y4/M%m2/D%d2/GEOS.fp.asm.inst_1hr_ctm_c0720_v72.%y4%m2%d2_%h2%n2.V01.nc4 2021-03-11T00:00:00P01:00 PS2 Pa N Y 0;001000 none 0.01 PS ./MetDir/../../GEOS_C720/GEOS_FP_Raw/Y%y4/M%m2/D%d2/GEOS.fp.asm.inst_1hr_ctm_c0720_v72.%y4%m2%d2_%h2%n2.V01.nc4 2021-03-11T00:00:00P01:00 SPHU1 kg_kg-1 N Y 0 none none QV ./MetDir/../../GEOS_C720/GEOS_FP_Raw/Y%y4/M%m2/D%d2/GEOS.fp.asm.inst_1hr_ctm_c0720_v72.%y4%m2%d2_%h2%n2.V01.nc4 2021-03-11T00:00:00P01:00 SPHU2 kg_kg-1 N Y 0;001000 none none QV ./MetDir/../../GEOS_C720/GEOS_FP_Raw/Y%y4/M%m2/D%d2/GEOS.fp.asm.inst_1hr_ctm_c0720_v72.%y4%m2%d2_%h2%n2.V01.nc4 2021-03-11T00:00:00P01:00 """ ================================================ FILE: run/shared/settings/geosfp/advection_met/geosfp.raw_3hr_0.25x0.625_PS_SPHU.txt ================================================ RUNDIR_MET_MASS_FLUX_IS_TOP_DOWN=.true. RUNDIR_MET_HUMIDITY_IS_TOP_DOWN=.true. RUNDIR_IMPORT_MASS_FLUX_FROM_EXTDATA=.false. RUNDIR_USE_TOTAL_AIR_PRESSURE_IN_ADVECTION=0 RUNDIR_MET_EXTDATA_PRIMARY_EXPORTS_FOR_ADVECTION=""" # --- Surface pressure and specific humidity, 3-hr instantaneous --- PS1 Pa N Y 0 none 0.01 PS ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.inst3_3d_asm_Nv.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T00:00:00P03:00 PS2 Pa N Y 0;001000 none 0.01 PS ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.inst3_3d_asm_Nv.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T00:00:00P03:00 SPHU1 kg_kg-1 N Y 0 none none QV ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.inst3_3d_asm_Nv.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T00:00:00P03:00 SPHU2 kg_kg-1 N Y 0;001000 none none QV ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.inst3_3d_asm_Nv.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T00:00:00P03:00 """ ================================================ FILE: run/shared/settings/geosfp/advection_met/geosfp.raw_3hr_0.25x0.625_wind.txt ================================================ RUNDIR_MET_WIND_IS_TOP_DOWN=.true. RUNDIR_MET_EXTDATA_PRIMARY_EXPORTS_FOR_WIND=""" # --- Wind, 3-hr time-averaged --- UA;VA m_s-1 N Y F0;013000 none none U;V ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg3_3d_asm_Nv.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T01:30:00P03:00 """ ================================================ FILE: run/shared/settings/geosfp/geosfp.nonadv_preprocessed_ll.txt ================================================ RUNDIR_MET='GEOSFP' RUNDIR_MET_LOWERCASE='geosfp' RUNDIR_MET_DIR="${RUNDIR_DATA_ROOT}/GEOS_${RUNDIR_GRID_DIR}/GEOS_FP" RUNDIR_MET_DIR_RAW="${RUNDIR_DATA_ROOT}/GEOS_0.25x0.3125/GEOS_FP" RUNDIR_MET_NONADVECTION_IS_TOP_DOWN=.false. RUNDIR_MET_RES='025x03125' RUNDIR_MET_EXT='nc' RUNDIR_MET_CN_YR=2011 RUNDIR_OFFLINE_BIOVOC_DIR='v2021-12' RUNDIR_OFFLINE_DUST_DIR='v2021-08' RUNDIR_OFFLINE_SEASALT_DIR='v2019-01' RUNDIR_OFFLINE_SOILNOX_DIR='v2021-12' RUNDIR_OFFLINE_EMIS_RES='0.25x0.3125' RUNDIR_OFFLINE_EMIS_LAT_RES='025' RUNDIR_METLIGHTNING='GEOSFP' RUNDIR_METLIGHTNING_DIR="${RUNDIR_DATA_ROOT}/GEOS_0.25x0.3125/GEOS_FP" RUNDIR_METLIGHTNING_RES='0.25x0.3125' RUNDIR_LIGHTNOX_CLIM=false RUNDIR_LIGHTNOX_DIR='v2020-03' RUNDIR_MET_LCLIM='2014-2019' RUNDIR_PHOT_CLD_NLEV=34 RUNDIR_MET_EXTDATA_PRIMARY_EXPORTS=""" ${RUNDIR_MET_EXTDATA_PRIMARY_EXPORTS_FOR_WIND} ${RUNDIR_MET_EXTDATA_PRIMARY_EXPORTS_FOR_ADVECTION} # --- 2D variables, 1-hr averaged --- ALBD 1 N Y F0;003000 none none ALBEDO ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A1.025x03125.nc CLDFRC 1 N Y F0;003000 none none CLDTOT ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A1.025x03125.nc EFLUX 1 N Y F0;003000 none none EFLUX ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A1.025x03125.nc EVAP 1 N Y F0;003000 none none EVAP ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A1.025x03125.nc FRSEAICE 1 N Y F0;003000 none none FRSEAICE ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A1.025x03125.nc FRSNO 1 N Y F0;003000 none none FRSNO ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A1.025x03125.nc GRN 1 N Y F0;003000 none none GRN ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A1.025x03125.nc GWETROOT 1 N Y F0;003000 none none GWETROOT ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A1.025x03125.nc GWETTOP 1 N Y F0;003000 none none GWETTOP ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A1.025x03125.nc HFLUX 1 N Y F0;003000 none none HFLUX ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A1.025x03125.nc LAI 1 N Y F0;003000 none none LAI ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A1.025x03125.nc PARDF 1 N Y F0;003000 none none PARDF ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A1.025x03125.nc PARDR 1 N Y F0;003000 none none PARDR ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A1.025x03125.nc PBLH 1 N Y F0;003000 none none PBLH ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A1.025x03125.nc PRECANV 1 N Y F0;003000 none none PRECANV ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A1.025x03125.nc PRECCON 1 N Y F0;003000 none none PRECCON ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A1.025x03125.nc PRECLSC 1 N Y F0;003000 none none PRECLSC ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A1.025x03125.nc PRECSNO 1 N Y F0;003000 none none PRECSNO ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A1.025x03125.nc PRECTOT 1 N Y F0;003000 none none PRECTOT ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A1.025x03125.nc QV2M 1 N Y F0;003000 none none QV2M ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A1.025x03125.nc SEAICE00 1 N Y F0;003000 none none SEAICE00 ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A1.025x03125.nc SEAICE10 1 N Y F0;003000 none none SEAICE10 ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A1.025x03125.nc SEAICE20 1 N Y F0;003000 none none SEAICE20 ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A1.025x03125.nc SEAICE30 1 N Y F0;003000 none none SEAICE30 ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A1.025x03125.nc SEAICE40 1 N Y F0;003000 none none SEAICE40 ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A1.025x03125.nc SEAICE50 1 N Y F0;003000 none none SEAICE50 ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A1.025x03125.nc SEAICE60 1 N Y F0;003000 none none SEAICE60 ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A1.025x03125.nc SEAICE70 1 N Y F0;003000 none none SEAICE70 ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A1.025x03125.nc SEAICE80 1 N Y F0;003000 none none SEAICE80 ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A1.025x03125.nc SEAICE90 1 N Y F0;003000 none none SEAICE90 ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A1.025x03125.nc SLP hPa N Y F0;003000 none none SLP ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A1.025x03125.nc SNODP 1 N Y F0;003000 none none SNODP ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A1.025x03125.nc SNOMAS 1 N Y F0;003000 none none SNOMAS ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A1.025x03125.nc RADSWG 1 N Y F0;003000 none none SWGDN ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A1.025x03125.nc TO3 dobson N Y F0;003000 none none TO3 ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A1.025x03125.nc TROPP hPa N Y F0;003000 none none TROPPT ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A1.025x03125.nc TSKIN 1 N Y F0;003000 none none TS ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A1.025x03125.nc TS 1 N Y F0;003000 none none T2M ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A1.025x03125.nc USTAR 1 N Y F0;003000 none none USTAR ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A1.025x03125.nc U10M m_s-1 N Y F0;003000 none none U10M ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A1.025x03125.nc V10M m_s-1 N Y F0;003000 none none V10M ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A1.025x03125.nc Z0 1 N Y F0;003000 none none Z0M ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A1.025x03125.nc TMPU1 K N Y 0 none none T ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.I3.025x03125.nc TMPU2 K N Y 0;001000 none none T ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.I3.025x03125.nc # --- 3D variables, 3-hr averaged --- QI 1 N Y F0;013000 none none QI ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A3cld.025x03125.nc QL 1 N Y F0;013000 none none QL ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A3cld.025x03125.nc TAUCLI 1 N Y F0;013000 none none TAUCLI ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A3cld.025x03125.nc TAUCLW 1 N Y F0;013000 none none TAUCLW ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A3cld.025x03125.nc OPTDEP 1 N Y F0;013000 none none OPTDEPTH ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A3cld.025x03125.nc CLDF 1 N Y F0;013000 none none CLOUD ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A3cld.025x03125.nc DTRAIN 1 N Y F0;013000 none none DTRAIN ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A3dyn.025x03125.nc OMEGA Pa_s-1 N Y F0;013000 none none OMEGA ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A3dyn.025x03125.nc RH - N Y F0;013000 none none RH ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A3dyn.025x03125.nc DQRCU 1 N Y F0;013000 none none DQRCU ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A3mstC.025x03125.nc DQRLSAN 1 N Y F0;013000 none none DQRLSAN ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A3mstC.025x03125.nc REEVAPCN 1 N Y F0;013000 none none REEVAPCN ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A3mstC.025x03125.nc REEVAPLS 1 N Y F0;013000 none none REEVAPLS ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A3mstC.025x03125.nc CMFMC 1 N Y F0;013000 none none CMFMC ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A3mstE.025x03125.nc PFICU 1 N Y F0;013000 none none PFICU ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A3mstE.025x03125.nc PFILSAN 1 N Y F0;013000 none none PFILSAN ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A3mstE.025x03125.nc PFLCU 1 N Y F0;013000 none none PFLCU ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A3mstE.025x03125.nc PFLLSAN 1 N Y F0;013000 none none PFLLSAN ./MetDir/%y4/%m2/GEOSFP.%y4%m2%d2.A3mstE.025x03125.nc # --- Fixed variables, from constants file --- FRLAKE 1 N Y - none none FRLAKE ./MetDir/2011/01/GEOSFP.20110101.CN.025x03125.nc FRLAND 1 N Y - none none FRLAND ./MetDir/2011/01/GEOSFP.20110101.CN.025x03125.nc FRLANDIC 1 N Y - none none FRLANDIC ./MetDir/2011/01/GEOSFP.20110101.CN.025x03125.nc FROCEAN 1 N Y - none none FROCEAN ./MetDir/2011/01/GEOSFP.20110101.CN.025x03125.nc # PHIS m2_s-2 N Y - none none PHIS ./MetDir/2011/01/GEOSFP.20110101.CN.025x03125.nc # Also include FROCEAN with name OCEAN_MASK to match HEMCO container name for ocean mask OCEAN_MASK 1 N Y - none none FROCEAN ./MetDir/2011/01/GEOSFP.20110101.CN.025x03125.nc """ RUNDIR_MET_EXTDATA_DERIVED_EXPORTS=""" """ ================================================ FILE: run/shared/settings/geosfp/geosfp.nonadv_raw_ll.txt ================================================ RUNDIR_MET='GEOSFP' RUNDIR_MET_LOWERCASE='geosfp' RUNDIR_MET_DIR="${RUNDIR_DATA_ROOT}/GEOS_${RUNDIR_GRID_DIR}/GEOS_FP" RUNDIR_MET_DIR_RAW="${RUNDIR_DATA_ROOT}/GEOS_0.25x0.3125/GEOS_FP_Raw" RUNDIR_MET_NONADVECTION_IS_TOP_DOWN=.true. RUNDIR_MET_RES='025x03125' RUNDIR_MET_EXT='nc' RUNDIR_MET_CN_YR=2011 RUNDIR_OFFLINE_BIOVOC_DIR='v2021-12' RUNDIR_OFFLINE_DUST_DIR='v2021-08' RUNDIR_OFFLINE_SEASALT_DIR='v2019-01' RUNDIR_OFFLINE_SOILNOX_DIR='v2021-12' RUNDIR_OFFLINE_EMIS_RES='0.25x0.3125' RUNDIR_OFFLINE_EMIS_LAT_RES='025' RUNDIR_METLIGHTNING='GEOSFP' RUNDIR_METLIGHTNING_DIR="${RUNDIR_DATA_ROOT}/GEOS_0.25x0.3125/GEOS_FP_Raw" RUNDIR_METLIGHTNING_RES='0.25x0.3125' RUNDIR_LIGHTNOX_CLIM=false RUNDIR_LIGHTNOX_DIR='v2020-03' RUNDIR_MET_LCLIM='2014-2019' RUNDIR_PHOT_CLD_NLEV=34 RUNDIR_MET_EXTDATA_PRIMARY_EXPORTS=""" ${RUNDIR_MET_EXTDATA_PRIMARY_EXPORTS_FOR_WIND} ${RUNDIR_MET_EXTDATA_PRIMARY_EXPORTS_FOR_ADVECTION} TMPU1 K N Y 0 none none T ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.inst3_3d_asm_Nv.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T00:00:00P03:00 TMPU2 K N Y 0;001000 none none T ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.inst3_3d_asm_Nv.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T00:00:00P03:00 # tavg1_2d_flx_Nx EFLUX W_m-2 N Y F0;003000 none none EFLUX ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg1_2d_flx_Nx.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T00:30:00P01:00 EVAP kg_m-2_s-1 N Y F0;003000 none none EVAP ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg1_2d_flx_Nx.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T00:30:00P01:00 FRSEAICE 1 N Y F0;003000 none none FRSEAICE ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg1_2d_flx_Nx.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T00:30:00P01:00 HFLUX W_m-2 N Y F0;003000 none none HFLUX ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg1_2d_flx_Nx.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T00:30:00P01:00 PBLH m N Y F0;003000 none none PBLH ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg1_2d_flx_Nx.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T00:30:00P01:00 PRECANV kg_m-2_s-1 N Y F0;003000 none none PRECANV ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg1_2d_flx_Nx.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T00:30:00P01:00 PRECCON kg_m-2_s-1 N Y F0;003000 none none PRECCON ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg1_2d_flx_Nx.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T00:30:00P01:00 PRECLSC kg_m-2_s-1 N Y F0;003000 none none PRECLSC ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg1_2d_flx_Nx.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T00:30:00P01:00 PRECSNO kg_m-2_s-1 N Y F0;003000 none none PRECSNO ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg1_2d_flx_Nx.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T00:30:00P01:00 PRECTOT kg_m-2_s-1 N Y F0;003000 none none PRECTOT ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg1_2d_flx_Nx.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T00:30:00P01:00 USTAR m_s-1 N Y F0;003000 none none USTAR ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg1_2d_flx_Nx.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T00:30:00P01:00 Z0 m N Y F0;003000 none none Z0M ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg1_2d_flx_Nx.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T00:30:00P01:00 # tavg1_2d_lnd_Nx FRSNO 1 N Y F0;003000 none none FRSNO ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg1_2d_lnd_Nx.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T00:30:00P01:00 GRN 1 N Y F0;003000 none none GRN ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg1_2d_lnd_Nx.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T00:30:00P01:00 GWETROOT 1 N Y F0;003000 none none GWETROOT ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg1_2d_lnd_Nx.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T00:30:00P01:00 GWETTOP 1 N Y F0;003000 none none GWETTOP ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg1_2d_lnd_Nx.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T00:30:00P01:00 LAI 1 N Y F0;003000 none none LAI ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg1_2d_lnd_Nx.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T00:30:00P01:00 PARDF W_m-2 N Y F0;003000 none none PARDF ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg1_2d_lnd_Nx.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T00:30:00P01:00 PARDR W_m-2 N Y F0;003000 none none PARDR ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg1_2d_lnd_Nx.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T00:30:00P01:00 SNODP m N Y F0;003000 none none SNODP ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg1_2d_lnd_Nx.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T00:30:00P01:00 SNOMAS kg_m-2 N Y F0;003000 none none SNOMAS ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg1_2d_lnd_Nx.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T00:30:00P01:00 # tavg1_2d_rad_Nx ALBD 1 N Y F0;003000 none none ALBEDO ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg1_2d_rad_Nx.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T00:30:00P01:00 CLDFRC 1 N Y F0;003000 none none CLDTOT ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg1_2d_rad_Nx.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T00:30:00P01:00 RADSWG W_m-2 N Y F0;003000 none none SWGDN ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg1_2d_rad_Nx.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T00:30:00P01:00 # tavg1_2d_slv_Nx QV2M kg_kg-1 N Y F0;003000 none none QV2M ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg1_2d_slv_Nx.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T00:30:00P01:00 SLP Pa N Y F0;003000 none 0.01 SLP ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg1_2d_slv_Nx.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T00:30:00P01:00 TS K N Y F0;003000 none none T2M ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg1_2d_slv_Nx.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T00:30:00P01:00 TO3 Dobsons N Y F0;003000 none none TO3 ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg1_2d_slv_Nx.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T00:30:00P01:00 TROPP Pa N Y F0;003000 none 0.01 TROPPT ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg1_2d_slv_Nx.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T00:30:00P01:00 TSKIN K N Y F0;003000 none none TS ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg1_2d_slv_Nx.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T00:30:00P01:00 U10M m_s-1 N Y F0;003000 none none U10M ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg1_2d_slv_Nx.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T00:30:00P01:00 V10M m_s-1 N Y F0;003000 none none V10M ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg1_2d_slv_Nx.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T00:30:00P01:00 # tavg3_3d_asm_Nv OMEGA Pa_s-1 N Y F0;013000 none none OMEGA ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg3_3d_asm_Nv.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T01:30:00P03:00 QI kg_kg-1 N Y F0;013000 none none QI ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg3_3d_asm_Nv.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T01:30:00P03:00 QL kg_kg-1 N Y F0;013000 none none QL ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg3_3d_asm_Nv.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T01:30:00P03:00 RH 1 N Y F0;013000 none none RH ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg3_3d_asm_Nv.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T01:30:00P03:00 # tavg3_3d_cld_Nv DTRAIN kg_m-2_s-1 N Y F0;013000 none none DTRAIN ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg3_3d_cld_Nv.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T01:30:00P03:00 TAUCLI 1 N Y F0;013000 none none TAUCLI ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg3_3d_cld_Nv.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T01:30:00P03:00 TAUCLW 1 N Y F0;013000 none none TAUCLW ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg3_3d_cld_Nv.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T01:30:00P03:00 # tavg3_3d_mst_Ne CMFMC kg_m-2_s-1 N Y F0;013000 none none CMFMC ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg3_3d_mst_Ne.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T01:30:00P03:00 PFICU kg_m-2_s-1 N Y F0;013000 none none PFICU ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg3_3d_mst_Ne.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T01:30:00P03:00 PFILSAN kg_m-2_s-1 N Y F0;013000 none none PFILSAN ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg3_3d_mst_Ne.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T01:30:00P03:00 PFLCU kg_m-2_s-1 N Y F0;013000 none none PFLCU ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg3_3d_mst_Ne.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T01:30:00P03:00 PFLLSAN kg_m-2_s-1 N Y F0;013000 none none PFLLSAN ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg3_3d_mst_Ne.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T01:30:00P03:00 # tavg3_3d_mst_Nv DQRCU kg_kg-1_s-1 N Y F0;013000 none none DQRCU ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg3_3d_mst_Nv.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T01:30:00P03:00 DQRLSAN kg_kg-1_s-1 N Y F0;013000 none none DQRLSAN ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg3_3d_mst_Nv.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T01:30:00P03:00 REEVAPCN kg_kg-1_s-1 N Y F0;013000 none none REEVAPCN ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg3_3d_mst_Nv.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T01:30:00P03:00 REEVAPLS kg_kg-1_s-1 N Y F0;013000 none none REEVAPLSAN ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg3_3d_mst_Nv.%y4%m2%d2_%h2%n2.V01.nc4 2014-02-11T01:30:00P03:00 # SEAICE[0-9]0 bins aren't used in GCHP SEAICE00 1 N Y F0;003000 none none SEAICE00 /dev/null SEAICE10 1 N Y F0;003000 none none SEAICE10 /dev/null SEAICE20 1 N Y F0;003000 none none SEAICE20 /dev/null SEAICE30 1 N Y F0;003000 none none SEAICE30 /dev/null SEAICE40 1 N Y F0;003000 none none SEAICE40 /dev/null SEAICE50 1 N Y F0;003000 none none SEAICE50 /dev/null SEAICE60 1 N Y F0;003000 none none SEAICE60 /dev/null SEAICE70 1 N Y F0;003000 none none SEAICE70 /dev/null SEAICE80 1 N Y F0;003000 none none SEAICE80 /dev/null SEAICE90 1 N Y F0;003000 none none SEAICE90 /dev/null # tavg3_3d_rad_Nv CLDF 1 N Y F0;013000 none none CLOUD ./MetDir/Y%y4/M%m2/D%d2/GEOS.fp.asm.tavg3_3d_rad_Nv.%y4%m2%d2_%h2%n2.V01.nc4 2018-01-01T01:30:00P03:00 # # --- Fixed variables, from constants file --- FRLAKE 1 N Y - none none FRLAKE ./MetDir/GEOS.fp.asm.const_2d_asm_Nx.00000000_0000.V01.nc4 FRLAND 1 N Y - none none FRLAND ./MetDir/GEOS.fp.asm.const_2d_asm_Nx.00000000_0000.V01.nc4 FRLANDIC 1 N Y - none none FRLANDICE ./MetDir/GEOS.fp.asm.const_2d_asm_Nx.00000000_0000.V01.nc4 FROCEAN 1 N Y - none none FROCEAN ./MetDir/GEOS.fp.asm.const_2d_asm_Nx.00000000_0000.V01.nc4 PHIS m2_s-2 N Y - none none PHIS ./MetDir/GEOS.fp.asm.const_2d_asm_Nx.00000000_0000.V01.nc4 # Also include FROCEAN with name OCEAN_MASK to match HEMCO container name for ocean mask OCEAN_MASK 1 N Y - none none FROCEAN ./MetDir/GEOS.fp.asm.const_2d_asm_Nx.00000000_0000.V01.nc4 """ RUNDIR_MET_EXTDATA_DERIVED_EXPORTS=""" OPTDEP TAUCLI+TAUCLW 0 """ ================================================ FILE: run/shared/settings/geosit/README ================================================ This directory contains settings used for GCHP run directory creation if using GEOS-IT meteorology fields. Unlike in GEOS-Chem Classic, GEOS-IT data is available in native cubed-sphere grid resolution (C180) as well as lat-lon (0.5x0.625). Users may also choose between using pre-processed files generated specifically for use with GEOS-Chem, or raw data downloaded directly from GMAO. Pre-processed files contain the same data as raw GMAO files except are vertically flipped, have unused fields removed, are concatenated into daily files, and are compressed to reduce storage requirements. If using C180 fields, users may also choose whether to use mass fluxes or winds in advection. The following files contain the settings for these various options such as input file paths in ExtData.rc and whether the vertical direction in the file is down (level 1 = TOA) or up (level 1 = surface). Note that all raw GMAO data is down while all processed files are up. A. If using lat-lon files: 1. geosit.preprocessed_0.5x0.625.txt - Processed files - 0.5x0.625 grid resolution - Vertical direction is up - Contains fields used for FV3 advection as well as GEOS-Chem 2. geosit.raw_0.5x0.625.txt - Raw GMAO files - 0.5x0.625 grid resolution - Vertical direction is down - Contains fields used for FV3 advection as well as GEOS-Chem B. If using cubed-sphere files: NOTE: When using C180 fields the settings are split across two different files: one file for non-advection fields and another file for advection fields. This allows flexibility for using either 1-hourly mass fluxes or 3-hourly winds to drive the offline advection. 1. Non-advection field settings: NOTE: Specifies all met-fields except wind, surface pressure, humidity, mass flux and Courant numbers a. geosit.nonadv_preprocessed_c180.txt - Processed files - Vertical direction is up b. geosit.nonadv_raw_c180.txt - Raw GMAO files - Vertical directory is down 2. Advection field settings: NOTE: Always specifies wind, surface pressure, and humidity. Mass flux and Courant numbers are also specified if GCHP is configured to use them. a. geosit.preprocessed_3hr_c180_wind.txt - Processed files - Vertical direction is up b. geosit.raw_3hr_c180_wind.txt - Raw GMAO files - Vertical direction is down c. geosit.preprocessed_1hr_c180_mass_flux.txt - Processed files - Vertical direction is up d. geosit.raw_1hr_c180_mass_flux.txt - Raw GMAO files - Vertical direction is down Each of these files contains some combination of the following settings used during run directory creation to ultimately populate settings in GCHP configuration file GCHP.rc: MET_MASS_FLUX_IS_TOP_DOWN MET_WIND_IS_TOP_DOWN MET_HUMIDITY_IS_TOP_DOWN MET_NONADVECTION_IS_TOP_DOWN IMPORT_MASS_FLUX_FROM_EXTDATA Additional files are provided to use on the NASA discover cluster. These are different than the non-discover files because they have different filenames than those downloaded from the NASA data portal. ================================================ FILE: run/shared/settings/geosit/advection_met/geosit.preprocessed_1hr_c180_mass_flux.txt ================================================ RUNDIR_MET_MASS_FLUX_IS_TOP_DOWN=.false. RUNDIR_MET_WIND_IS_TOP_DOWN=.false. RUNDIR_MET_HUMIDITY_IS_TOP_DOWN=.false. RUNDIR_IMPORT_MASS_FLUX_FROM_EXTDATA=.true. RUNDIR_USE_TOTAL_AIR_PRESSURE_IN_ADVECTION=0 RUNDIR_MET_EXTDATA_PRIMARY_EXPORTS_FOR_ADVECTION=""" #-------------------------------------- # --- Meteorology used in advection --- #-------------------------------------- # Cubed-sphere 1-hourly mass fluxes UA;VA m_s-1 N Y F0;013000 none none U;V ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3dyn.C180.nc MFXC;MFYC Pa_m+2_s-1 N H F0;003000 none none MFXC;MFYC ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.CTM_A1.C180.nc CXC;CYC 1 N H F0;003000 none none CX;CY ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.CTM_A1.C180.nc PS1 hPa N Y 0 none none PS ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.CTM_I1.C180.nc PS2 hPa N Y 0;001000 none none PS ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.CTM_I1.C180.nc SPHU1 kg_kg-1 N Y 0 none none QV ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.CTM_I1.C180.nc SPHU2 kg_kg-1 N Y 0;001000 none none QV ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.CTM_I1.C180.nc """ ================================================ FILE: run/shared/settings/geosit/advection_met/geosit.preprocessed_3hr_c180_wind.txt ================================================ RUNDIR_MET_MASS_FLUX_IS_TOP_DOWN=.false. RUNDIR_MET_WIND_IS_TOP_DOWN=.false. RUNDIR_MET_HUMIDITY_IS_TOP_DOWN=.false. RUNDIR_IMPORT_MASS_FLUX_FROM_EXTDATA=.false. RUNDIR_USE_TOTAL_AIR_PRESSURE_IN_ADVECTION=0 RUNDIR_MET_EXTDATA_PRIMARY_EXPORTS_FOR_ADVECTION=""" #-------------------------------------- # --- Meteorology used in advection --- #-------------------------------------- # Cubed-sphere 3-hourly winds UA;VA m_s-1 N Y F0;013000 none none U;V ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3dyn.C180.nc PS1 hPa N Y 0 none none PS ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.I3.C180.nc PS2 hPa N Y 0;001000 none none PS ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.I3.C180.nc SPHU1 kg_kg-1 N Y 0 none none QV ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.I3.C180.nc SPHU2 kg_kg-1 N Y 0;001000 none none QV ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.I3.C180.nc """ ================================================ FILE: run/shared/settings/geosit/advection_met/geosit.raw_1hr_c180_mass_flux.txt ================================================ RUNDIR_MET_MASS_FLUX_IS_TOP_DOWN=.true. RUNDIR_MET_WIND_IS_TOP_DOWN=.true. RUNDIR_MET_HUMIDITY_IS_TOP_DOWN=.true. RUNDIR_IMPORT_MASS_FLUX_FROM_EXTDATA=.true. RUNDIR_USE_TOTAL_AIR_PRESSURE_IN_ADVECTION=0 RUNDIR_MET_EXTDATA_PRIMARY_EXPORTS_FOR_ADVECTION=""" #-------------------------------------- # --- Meteorology used in advection --- #-------------------------------------- # Cubed-sphere 1-hourly mass fluxes UA;VA m_s-1 N Y F0;013000 none none U;V ./MetDir/%y4/%m2/%d2/GEOS.it.asm.asm_tavg_3hr_glo_C180x180x6_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T01:30:00P03:00 MFXC;MFYC Pa_m+2_s-1 N H F0;003000 none none MFXC;MFYC ./MetDir/%y4/%m2/%d2/GEOS.it.asm.ctm_tavg_1hr_glo_C180x180x6_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 CXC;CYC 1 N H F0;003000 none none CX;CY ./MetDir/%y4/%m2/%d2/GEOS.it.asm.ctm_tavg_1hr_glo_C180x180x6_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 PS1 Pa N Y 0 none 0.01 PS ./MetDir/%y4/%m2/%d2/GEOS.it.asm.ctm_inst_1hr_glo_C180x180x6_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:00:00P01:00 PS2 Pa N Y 0;001000 none 0.01 PS ./MetDir/%y4/%m2/%d2/GEOS.it.asm.ctm_inst_1hr_glo_C180x180x6_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:00:00P01:00 SPHU1 kg_kg-1 N Y 0 none none QV ./MetDir/%y4/%m2/%d2/GEOS.it.asm.ctm_inst_1hr_glo_C180x180x6_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:00:00P01:00 SPHU2 kg_kg-1 N Y 0;001000 none none QV ./MetDir/%y4/%m2/%d2/GEOS.it.asm.ctm_inst_1hr_glo_C180x180x6_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:00:00P01:00 """ ================================================ FILE: run/shared/settings/geosit/advection_met/geosit.raw_3hr_c180_wind.txt ================================================ RUNDIR_MET_MASS_FLUX_IS_TOP_DOWN=.true. RUNDIR_MET_WIND_IS_TOP_DOWN=.true. RUNDIR_MET_HUMIDITY_IS_TOP_DOWN=.true. RUNDIR_IMPORT_MASS_FLUX_FROM_EXTDATA=.false. RUNDIR_USE_TOTAL_AIR_PRESSURE_IN_ADVECTION=0 RUNDIR_MET_EXTDATA_PRIMARY_EXPORTS_FOR_ADVECTION=""" #-------------------------------------- # --- Meteorology used in advection --- #-------------------------------------- # Cubed-sphere 3-hourly winds UA;VA m_s-1 N Y F0;013000 none none U;V ./MetDir/%y4/%m2/%d2/GEOS.it.asm.asm_tavg_3hr_glo_C180x180x6_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T01:30:00P03:00 PS1 Pa N Y 0 none 0.01 PS ./MetDir/%y4/%m2/%d2/GEOS.it.asm.asm_inst_3hr_glo_C180x180x6_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:00:00P03:00 PS2 Pa N Y 0;001000 none 0.01 PS ./MetDir/%y4/%m2/%d2/GEOS.it.asm.asm_inst_3hr_glo_C180x180x6_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:00:00P03:00 SPHU1 kg_kg-1 N Y 0 none none QV ./MetDir/%y4/%m2/%d2/GEOS.it.asm.asm_inst_3hr_glo_C180x180x6_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:00:00P03:00 SPHU2 kg_kg-1 N Y 0;001000 none none QV ./MetDir/%y4/%m2/%d2/GEOS.it.asm.asm_inst_3hr_glo_C180x180x6_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:00:00P03:00 """ ================================================ FILE: run/shared/settings/geosit/discover/geosit.nonadv_raw_c180.txt ================================================ RUNDIR_MET='GEOSIT' RUNDIR_MET_LOWERCASE='geosit' RUNDIR_MET_DIR="${RUNDIR_DATA_ROOT}/GEOS_${RUNDIR_GRID_DIR}/GEOS_IT" RUNDIR_MET_DIR_RAW="${RUNDIR_DATA_ROOT}/GEOS_C180/GEOS_IT_Raw" RUNDIR_MET_NONADVECTION_IS_TOP_DOWN=.true. RUNDIR_MET_RES='C180' RUNDIR_MET_EXT='nc4' RUNDIR_MET_CN_YR=Y2018 RUNDIR_MET_CN_MO=M01 RUNDIR_OFFLINE_EMIS_RES='0.5x0.625' RUNDIR_OFFLINE_EMIS_LAT_RES='05' RUNDIR_METLIGHTNING='MERRA2' RUNDIR_METLIGHTNING_DIR="${RUNDIR_DATA_ROOT}/0.5x0.625/MERRA2" RUNDIR_METLIGHTNING_RES='0.5x0.625' RUNDIR_LIGHTNOX_CLIM=true RUNDIR_MET_LCLIM='1980-2019' RUNDIR_PHOT_CLD_NLEV=34 RUNDIR_MET_EXTDATA_PRIMARY_EXPORTS=""" ${RUNDIR_MET_EXTDATA_PRIMARY_EXPORTS_FOR_ADVECTION} #------------------------------------------------------- # --- 1-hr time-averaged, 2D --- #------------------------------------------------------- EFLUX W_m-2 N Y F0;003000 none none EFLUX ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.flx_tavg_1hr_glo_C180x180x6_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 EVAP kg_m-2_s-1 N Y F0;003000 none none EVAP ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.flx_tavg_1hr_glo_C180x180x6_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 FRSEAICE 1 N Y F0;003000 none none FRSEAICE ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.flx_tavg_1hr_glo_C180x180x6_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 HFLUX W_m-2 N Y F0;003000 none none HFLUX ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.flx_tavg_1hr_glo_C180x180x6_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 PBLH m N Y F0;003000 none none PBLH ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.flx_tavg_1hr_glo_C180x180x6_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 PRECANV kg_m-2_s-1 N Y F0;003000 none none PRECANV ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.flx_tavg_1hr_glo_C180x180x6_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 PRECCON kg_m-2_s-1 N Y F0;003000 none none PRECCON ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.flx_tavg_1hr_glo_C180x180x6_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 PRECLSC kg_m-2_s-1 N Y F0;003000 none none PRECLSC ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.flx_tavg_1hr_glo_C180x180x6_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 PRECSNO kg_m-2_s-1 N Y F0;003000 none none PRECSNO ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.flx_tavg_1hr_glo_C180x180x6_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 PRECTOT kg_m-2_s-1 N Y F0;003000 none none PRECTOT ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.flx_tavg_1hr_glo_C180x180x6_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 USTAR m_s-1 N Y F0;003000 none none USTAR ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.flx_tavg_1hr_glo_C180x180x6_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 Z0 m N Y F0;003000 none none Z0M ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.flx_tavg_1hr_glo_C180x180x6_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 FRSNO 1 N Y F0;003000 none none FRSNO ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.lnd_tavg_1hr_glo_C180x180x6_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 GRN 1 N Y F0;003000 none none GRN ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.lnd_tavg_1hr_glo_C180x180x6_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 GWETROOT 1 N Y F0;003000 none none GWETROOT ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.lnd_tavg_1hr_glo_C180x180x6_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 GWETTOP 1 N Y F0;003000 none none GWETTOP ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.lnd_tavg_1hr_glo_C180x180x6_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 LAI 1 N Y F0;003000 none none LAI ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.lnd_tavg_1hr_glo_C180x180x6_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 PARDF W_m-2 N Y F0;003000 none none PARDF ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.lnd_tavg_1hr_glo_C180x180x6_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 PARDR W_m-2 N Y F0;003000 none none PARDR ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.lnd_tavg_1hr_glo_C180x180x6_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 SNODP m N Y F0;003000 none none SNODP ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.lnd_tavg_1hr_glo_C180x180x6_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 SNOMAS kg_m-2 N Y F0;003000 none none SNOMAS ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.lnd_tavg_1hr_glo_C180x180x6_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 ALBD 1 N Y F0;003000 none none ALBEDO ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.rad_tavg_1hr_glo_C180x180x6_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 CLDFRC 1 N Y F0;003000 none none CLDTOT ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.rad_tavg_1hr_glo_C180x180x6_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 RADSWG W_m-2 N Y F0;003000 none none SWGDN ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.rad_tavg_1hr_glo_C180x180x6_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 QV2M kg_kg-1 N Y F0;003000 none none QV2M ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.slv_tavg_1hr_glo_C180x180x6_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 SLP Pa N Y F0;003000 none 0.01 SLP ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.slv_tavg_1hr_glo_C180x180x6_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 TS K N Y F0;003000 none none T2M ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.slv_tavg_1hr_glo_C180x180x6_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 TO3 Dobsons N Y F0;003000 none none TO3 ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.slv_tavg_1hr_glo_C180x180x6_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 TROPP Pa N Y F0;003000 none 0.01 TROPPT ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.slv_tavg_1hr_glo_C180x180x6_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 TSKIN K N Y F0;003000 none none TS ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.slv_tavg_1hr_glo_C180x180x6_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 U10M m_s-1 N Y F0;003000 none none U10M ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.slv_tavg_1hr_glo_C180x180x6_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 V10M m_s-1 N Y F0;003000 none none V10M ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.slv_tavg_1hr_glo_C180x180x6_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 # SEAICE[0-9]0 bins not used except in Hg simulation SEAICE00 1 N Y F0;003000 none none SEAICE00 /dev/null SEAICE10 1 N Y F0;003000 none none SEAICE10 /dev/null SEAICE20 1 N Y F0;003000 none none SEAICE20 /dev/null SEAICE30 1 N Y F0;003000 none none SEAICE30 /dev/null SEAICE40 1 N Y F0;003000 none none SEAICE40 /dev/null SEAICE50 1 N Y F0;003000 none none SEAICE50 /dev/null SEAICE60 1 N Y F0;003000 none none SEAICE60 /dev/null SEAICE70 1 N Y F0;003000 none none SEAICE70 /dev/null SEAICE80 1 N Y F0;003000 none none SEAICE80 /dev/null SEAICE90 1 N Y F0;003000 none none SEAICE90 /dev/null #------------------------------------------------------- # --- 3-hr instantaneous (all 3D) --- #------------------------------------------------------- TMPU1 K N Y 0 none none T ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.asm_inst_3hr_glo_C180x180x6_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:00:00P03:00 TMPU2 K N Y 0;001000 none none T ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.asm_inst_3hr_glo_C180x180x6_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:00:00P03:00 #------------------------------------------------------- # --- 3-hr time-averaged (all 3D) --- #------------------------------------------------------- CLDF 1 N Y F0;013000 none none CLOUD ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.rad_tavg_3hr_glo_C180x180x6_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T01:30:00P03:00 DTRAIN kg_m-2_s-1 N Y F0;013000 none none DTRAIN ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.cld_tavg_3hr_glo_C180x180x6_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T01:30:00P03:00 TAUCLI 1 N Y F0;013000 none none TAUCLI ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.cld_tavg_3hr_glo_C180x180x6_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T01:30:00P03:00 TAUCLW 1 N Y F0;013000 none none TAUCLW ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.cld_tavg_3hr_glo_C180x180x6_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T01:30:00P03:00 OMEGA Pa_s-1 N Y F0;013000 none none OMEGA ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.asm_tavg_3hr_glo_C180x180x6_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T01:30:00P03:00 QI kg_kg-1 N Y F0;013000 none none QI ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.asm_tavg_3hr_glo_C180x180x6_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T01:30:00P03:00 QL kg_kg-1 N Y F0;013000 none none QL ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.asm_tavg_3hr_glo_C180x180x6_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T01:30:00P03:00 RH 1 N Y F0;013000 none none RH ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.asm_tavg_3hr_glo_C180x180x6_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T01:30:00P03:00 DQRCU kg_kg-1_s-1 N Y F0;013000 none none DQRCU ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.mst_tavg_3hr_glo_C180x180x6_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T01:30:00P03:00 DQRLSAN kg_kg-1_s-1 N Y F0;013000 none none DQRLSAN ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.mst_tavg_3hr_glo_C180x180x6_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T01:30:00P03:00 REEVAPCN kg_kg-1_s-1 N Y F0;013000 none none REEVAPCN ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.mst_tavg_3hr_glo_C180x180x6_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T01:30:00P03:00 REEVAPLS kg_kg-1_s-1 N Y F0;013000 none none REEVAPLSAN ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.mst_tavg_3hr_glo_C180x180x6_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T01:30:00P03:00 CMFMC kg_m-2_s-1 N Y F0;013000 none none CMFMC ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.mst_tavg_3hr_glo_C180x180x6_v73.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T01:30:00P03:00 PFICU kg_m-2_s-1 N Y F0;013000 none none PFICU ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.mst_tavg_3hr_glo_C180x180x6_v73.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T01:30:00P03:00 PFILSAN kg_m-2_s-1 N Y F0;013000 none none PFILSAN ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.mst_tavg_3hr_glo_C180x180x6_v73.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T01:30:00P03:00 PFLCU kg_m-2_s-1 N Y F0;013000 none none PFLCU ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.mst_tavg_3hr_glo_C180x180x6_v73.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T01:30:00P03:00 PFLLSAN kg_m-2_s-1 N Y F0;013000 none none PFLLSAN ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.mst_tavg_3hr_glo_C180x180x6_v73.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T01:30:00P03:00 #------------------------------------------------------- # --- Fixed variables, from constants file --- #------------------------------------------------------- FRLAKE 1 N Y - none none FRLAKE ./MetDir/Y2018/M01/d5294_geosit_jan18.asm_const_0hr_glo_C180x180x6_slv.2018-01-01T0300Z.nc4 FRLAND 1 N Y - none none FRLAND ./MetDir/Y2018/M01/d5294_geosit_jan18.asm_const_0hr_glo_C180x180x6_slv.2018-01-01T0300Z.nc4 FRLANDIC 1 N Y - none none FRLANDICE ./MetDir/Y2018/M01/d5294_geosit_jan18.asm_const_0hr_glo_C180x180x6_slv.2018-01-01T0300Z.nc4 FROCEAN 1 N Y - none none FROCEAN ./MetDir/Y2018/M01/d5294_geosit_jan18.asm_const_0hr_glo_C180x180x6_slv.2018-01-01T0300Z.nc4 PHIS m2_s-2 N Y - none none PHIS ./MetDir/Y2018/M01/d5294_geosit_jan18.asm_const_0hr_glo_C180x180x6_slv.2018-01-01T0300Z.nc4 OCEAN_MASK 1 N Y - none none FROCEAN ./MetDir/Y2018/M01/d5294_geosit_jan18.asm_const_0hr_glo_C180x180x6_slv.2018-01-01T0300Z.nc4 """ RUNDIR_MET_EXTDATA_DERIVED_EXPORTS=""" OPTDEP TAUCLI+TAUCLW 0 """ ================================================ FILE: run/shared/settings/geosit/discover/geosit.raw_0.5x0.625.txt ================================================ RUNDIR_MET='GEOSIT' RUNDIR_MET_LOWERCASE='geosit' RUNDIR_MET_DIR="${RUNDIR_DATA_ROOT}/GEOS_${RUNDIR_GRID_DIR}/GEOS_IT" RUNDIR_MET_DIR_RAW="${RUNDIR_DATA_ROOT}/GEOS_0.5x0.625/GEOS_IT_Raw" RUNDIR_MET_MASS_FLUX_IS_TOP_DOWN=.true. RUNDIR_MET_WIND_IS_TOP_DOWN=.true. RUNDIR_MET_HUMIDITY_IS_TOP_DOWN=.true. RUNDIR_MET_NONADVECTION_IS_TOP_DOWN=.true. RUNDIR_IMPORT_MASS_FLUX_FROM_EXTDATA=.false. RUNDIR_USE_TOTAL_AIR_PRESSURE_IN_ADVECTION=0 RUNDIR_MET_RES='05x0625' RUNDIR_MET_EXT='nc4' RUNDIR_MET_CN_YR=Y2018 RUNDIR_MET_CN_MO=M01 RUNDIR_OFFLINE_EMIS_RES='0.5x0.625' RUNDIR_OFFLINE_EMIS_LAT_RES='05' RUNDIR_METLIGHTNING='MERRA2' RUNDIR_METLIGHTNING_DIR="${RUNDIR_DATA_ROOT}/0.5x0.625/MERRA2" RUNDIR_METLIGHTNING_RES='0.5x0.625' RUNDIR_LIGHTNOX_CLIM=true RUNDIR_MET_LCLIM='1980-2019' RUNDIR_PHOT_CLD_NLEV=34 RUNDIR_MET_EXTDATA_PRIMARY_EXPORTS=""" #-------------------------------------- # --- Meteorology used in advection --- #-------------------------------------- # Cubed-sphere 3-hourly winds UA;VA m_s-1 N Y F0;013000 none none U;V ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.asm_tavg_3hr_glo_L576x361_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T01:30:00P03:00 PS1 Pa N Y 0 none 0.01 PS ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.asm_inst_3hr_glo_L576x361_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:00:00P03:00 PS2 Pa N Y 0;001000 none 0.01 PS ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.asm_inst_3hr_glo_L576x361_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:00:00P03:00 SPHU1 kg_kg-1 N Y 0 none none QV ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.asm_inst_3hr_glo_L576x361_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:00:00P03:00 SPHU2 kg_kg-1 N Y 0;001000 none none QV ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.asm_inst_3hr_glo_L576x361_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:00:00P03:00 #------------------------------------------------------- # --- 1-hr time-averaged, 2D --- #------------------------------------------------------- EFLUX W_m-2 N Y F0;003000 none none EFLUX ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.flx_tavg_1hr_glo_L576x361_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 EVAP kg_m-2_s-1 N Y F0;003000 none none EVAP ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.flx_tavg_1hr_glo_L576x361_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 FRSEAICE 1 N Y F0;003000 none none FRSEAICE ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.flx_tavg_1hr_glo_L576x361_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 HFLUX W_m-2 N Y F0;003000 none none HFLUX ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.flx_tavg_1hr_glo_L576x361_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 PBLH m N Y F0;003000 none none PBLH ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.flx_tavg_1hr_glo_L576x361_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 PRECANV kg_m-2_s-1 N Y F0;003000 none none PRECANV ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.flx_tavg_1hr_glo_L576x361_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 PRECCON kg_m-2_s-1 N Y F0;003000 none none PRECCON ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.flx_tavg_1hr_glo_L576x361_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 PRECLSC kg_m-2_s-1 N Y F0;003000 none none PRECLSC ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.flx_tavg_1hr_glo_L576x361_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 PRECSNO kg_m-2_s-1 N Y F0;003000 none none PRECSNO ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.flx_tavg_1hr_glo_L576x361_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 PRECTOT kg_m-2_s-1 N Y F0;003000 none none PRECTOT ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.flx_tavg_1hr_glo_L576x361_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 USTAR m_s-1 N Y F0;003000 none none USTAR ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.flx_tavg_1hr_glo_L576x361_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 Z0 m N Y F0;003000 none none Z0M ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.flx_tavg_1hr_glo_L576x361_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 FRSNO 1 N Y F0;003000 none none FRSNO ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.lnd_tavg_1hr_glo_L576x361_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 GRN 1 N Y F0;003000 none none GRN ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.lnd_tavg_1hr_glo_L576x361_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 GWETROOT 1 N Y F0;003000 none none GWETROOT ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.lnd_tavg_1hr_glo_L576x361_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 GWETTOP 1 N Y F0;003000 none none GWETTOP ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.lnd_tavg_1hr_glo_L576x361_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 LAI 1 N Y F0;003000 none none LAI ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.lnd_tavg_1hr_glo_L576x361_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 PARDF W_m-2 N Y F0;003000 none none PARDF ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.lnd_tavg_1hr_glo_L576x361_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 PARDR W_m-2 N Y F0;003000 none none PARDR ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.lnd_tavg_1hr_glo_L576x361_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 SNODP m N Y F0;003000 none none SNODP ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.lnd_tavg_1hr_glo_L576x361_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 SNOMAS kg_m-2 N Y F0;003000 none none SNOMAS ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.lnd_tavg_1hr_glo_L576x361_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 ALBD 1 N Y F0;003000 none none ALBEDO ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.rad_tavg_1hr_glo_L576x361_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 CLDFRC 1 N Y F0;003000 none none CLDTOT ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.rad_tavg_1hr_glo_L576x361_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 RADSWG W_m-2 N Y F0;003000 none none SWGDN ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.rad_tavg_1hr_glo_L576x361_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 QV2M kg_kg-1 N Y F0;003000 none none QV2M ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.slv_tavg_1hr_glo_L576x361_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 SLP Pa N Y F0;003000 none 0.01 SLP ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.slv_tavg_1hr_glo_L576x361_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 TS K N Y F0;003000 none none T2M ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.slv_tavg_1hr_glo_L576x361_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 TO3 Dobsons N Y F0;003000 none none TO3 ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.slv_tavg_1hr_glo_L576x361_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 TROPP Pa N Y F0;003000 none 0.01 TROPPT ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.slv_tavg_1hr_glo_L576x361_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 TSKIN K N Y F0;003000 none none TS ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.slv_tavg_1hr_glo_L576x361_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 U10M m_s-1 N Y F0;003000 none none U10M ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.slv_tavg_1hr_glo_L576x361_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 V10M m_s-1 N Y F0;003000 none none V10M ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.slv_tavg_1hr_glo_L576x361_slv.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 # SEAICE[0-9]0 bins not used except in Hg simulation SEAICE00 1 N Y F0;003000 none none SEAICE00 /dev/null SEAICE10 1 N Y F0;003000 none none SEAICE10 /dev/null SEAICE20 1 N Y F0;003000 none none SEAICE20 /dev/null SEAICE30 1 N Y F0;003000 none none SEAICE30 /dev/null SEAICE40 1 N Y F0;003000 none none SEAICE40 /dev/null SEAICE50 1 N Y F0;003000 none none SEAICE50 /dev/null SEAICE60 1 N Y F0;003000 none none SEAICE60 /dev/null SEAICE70 1 N Y F0;003000 none none SEAICE70 /dev/null SEAICE80 1 N Y F0;003000 none none SEAICE80 /dev/null SEAICE90 1 N Y F0;003000 none none SEAICE90 /dev/null #------------------------------------------------------- # --- 3-hr instantaneous (all 3D) --- #------------------------------------------------------- TMPU1 K N Y 0 none none T ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.asm_inst_3hr_glo_L576x361_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:00:00P03:00 TMPU2 K N Y 0;001000 none none T ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.asm_inst_3hr_glo_L576x361_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:00:00P03:00 #------------------------------------------------------- # --- 3-hr time-averaged (all 3D) --- #------------------------------------------------------- CLDF 1 N Y F0;013000 none none CLOUD ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.rad_tavg_3hr_glo_L576x361_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T01:30:00P03:00 DTRAIN kg_m-2_s-1 N Y F0;013000 none none DTRAIN ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.cld_tavg_3hr_glo_L576x361_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T01:30:00P03:00 TAUCLI 1 N Y F0;013000 none none TAUCLI ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.cld_tavg_3hr_glo_L576x361_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T01:30:00P03:00 TAUCLW 1 N Y F0;013000 none none TAUCLW ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.cld_tavg_3hr_glo_L576x361_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T01:30:00P03:00 OMEGA Pa_s-1 N Y F0;013000 none none OMEGA ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.asm_tavg_3hr_glo_L576x361_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T01:30:00P03:00 QI kg_kg-1 N Y F0;013000 none none QI ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.asm_tavg_3hr_glo_L576x361_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T01:30:00P03:00 QL kg_kg-1 N Y F0;013000 none none QL ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.asm_tavg_3hr_glo_L576x361_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T01:30:00P03:00 RH 1 N Y F0;013000 none none RH ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.asm_tavg_3hr_glo_L576x361_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T01:30:00P03:00 DQRCU kg_kg-1_s-1 N Y F0;013000 none none DQRCU ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.mst_tavg_3hr_glo_L576x361_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T01:30:00P03:00 DQRLSAN kg_kg-1_s-1 N Y F0;013000 none none DQRLSAN ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.mst_tavg_3hr_glo_L576x361_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T01:30:00P03:00 REEVAPCN kg_kg-1_s-1 N Y F0;013000 none none REEVAPCN ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.mst_tavg_3hr_glo_L576x361_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T01:30:00P03:00 REEVAPLS kg_kg-1_s-1 N Y F0;013000 none none REEVAPLSAN ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.mst_tavg_3hr_glo_L576x361_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T01:30:00P03:00 CMFMC kg_m-2_s-1 N Y F0;013000 none none CMFMC ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.mst_tavg_3hr_glo_L576x361_v73.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T01:30:00P03:00 PFICU kg_m-2_s-1 N Y F0;013000 none none PFICU ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.mst_tavg_3hr_glo_L576x361_v73.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T01:30:00P03:00 PFILSAN kg_m-2_s-1 N Y F0;013000 none none PFILSAN ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.mst_tavg_3hr_glo_L576x361_v73.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T01:30:00P03:00 PFLCU kg_m-2_s-1 N Y F0;013000 none none PFLCU ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.mst_tavg_3hr_glo_L576x361_v73.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T01:30:00P03:00 PFLLSAN kg_m-2_s-1 N Y F0;013000 none none PFLLSAN ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.mst_tavg_3hr_glo_L576x361_v73.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T01:30:00P03:00 #------------------------------------------------------- # --- Fixed variables, from constants file --- #------------------------------------------------------- FRLAKE 1 N Y - none none FRLAKE ./MetDir/Y2018/M01/d5294_geosit_jan18.asm_const_0hr_glo_L576x361_slv.2018-01-01T0300Z.nc4 FRLAND 1 N Y - none none FRLAND ./MetDir/Y2018/M01/d5294_geosit_jan18.asm_const_0hr_glo_L576x361_slv.2018-01-01T0300Z.nc4 FRLANDIC 1 N Y - none none FRLANDICE ./MetDir/Y2018/M01/d5294_geosit_jan18.asm_const_0hr_glo_L576x361_slv.2018-01-01T0300Z.nc4 FROCEAN 1 N Y - none none FROCEAN ./MetDir/Y2018/M01/d5294_geosit_jan18.asm_const_0hr_glo_L576x361_slv.2018-01-01T0300Z.nc4 PHIS m2_s-2 N Y - none none PHIS ./MetDir/Y2018/M01/d5294_geosit_jan18.asm_const_0hr_glo_L576x361_slv.2018-01-01T0300Z.nc4 OCEAN_MASK 1 N Y - none none FROCEAN ./MetDir/Y2018/M01/d5294_geosit_jan18.asm_const_0hr_glo_L576x361_slv.2018-01-01T0300Z.nc4 """ RUNDIR_MET_EXTDATA_DERIVED_EXPORTS=""" OPTDEP TAUCLI+TAUCLW 0 """ ================================================ FILE: run/shared/settings/geosit/discover/geosit.raw_1hr_c180_mass_flux.txt ================================================ RUNDIR_MET_MASS_FLUX_IS_TOP_DOWN=.true. RUNDIR_MET_WIND_IS_TOP_DOWN=.true. RUNDIR_MET_HUMIDITY_IS_TOP_DOWN=.true. RUNDIR_IMPORT_MASS_FLUX_FROM_EXTDATA=.true. RUNDIR_USE_TOTAL_AIR_PRESSURE_IN_ADVECTION=0 RUNDIR_MET_EXTDATA_PRIMARY_EXPORTS_FOR_ADVECTION=""" #-------------------------------------- # --- Meteorology used in advection --- #-------------------------------------- # Raw cubed-sphere 1-hourly mass fluxes UA;VA m_s-1 N Y F0;013000 none none U;V ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.asm_tavg_3hr_glo_L576x361_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T01:30:00P03:00 MFXC;MFYC Pa_m+2_s-1 N H F0;003000 none none MFXC;MFYC ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.ctm_tavg_1hr_glo_C180x180x6_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 CXC;CYC 1 N H F0;003000 none none CX;CY ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.ctm_tavg_1hr_glo_C180x180x6_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:30:00P01:00 PS1 Pa N Y 0 none 0.01 PS ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.ctm_inst_1hr_glo_C180x180x6_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:00:00P01:00 PS2 Pa N Y 0;001000 none 0.01 PS ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.ctm_inst_1hr_glo_C180x180x6_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:00:00P01:00 SPHU1 kg_kg-1 N Y 0 none none QV ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.ctm_inst_1hr_glo_C180x180x6_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:00:00P01:00 SPHU2 kg_kg-1 N Y 0;001000 none none QV ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.ctm_inst_1hr_glo_C180x180x6_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:00:00P01:00 """ ================================================ FILE: run/shared/settings/geosit/discover/geosit.raw_3hr_c180_wind.txt ================================================ RUNDIR_MET_MASS_FLUX_IS_TOP_DOWN=.true. RUNDIR_MET_WIND_IS_TOP_DOWN=.true. RUNDIR_MET_HUMIDITY_IS_TOP_DOWN=.true. RUNDIR_IMPORT_MASS_FLUX_FROM_EXTDATA=.false. RUNDIR_USE_TOTAL_AIR_PRESSURE_IN_ADVECTION=0 RUNDIR_MET_EXTDATA_PRIMARY_EXPORTS_FOR_ADVECTION=""" #-------------------------------------- # --- Meteorology used in advection --- #-------------------------------------- # Cubed-sphere 3-hourly winds UA;VA m_s-1 N Y F0;013000 none none U;V ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.asm_tavg_3hr_glo_C180x180x6_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T01:30:00P03:00 PS1 Pa N Y 0 none 0.01 PS ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.asm_inst_3hr_glo_C180x180x6_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:00:00P03:00 PS2 Pa N Y 0;001000 none 0.01 PS ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.asm_inst_3hr_glo_C180x180x6_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:00:00P03:00 SPHU1 kg_kg-1 N Y 0 none none QV ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.asm_inst_3hr_glo_C180x180x6_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:00:00P03:00 SPHU2 kg_kg-1 N Y 0;001000 none none QV ./MetDir/Y%y4/M%m2/d5294_geosit_jan18.asm_inst_3hr_glo_C180x180x6_v72.%y4-%m2-%d2T%h2%n2Z.nc4 2015-01-01T00:00:00P03:00 """ ================================================ FILE: run/shared/settings/geosit/geosit.nonadv_preprocessed_c180.txt ================================================ RUNDIR_MET='GEOSIT' RUNDIR_MET_LOWERCASE='geosit' RUNDIR_MET_DIR="${RUNDIR_DATA_ROOT}/GEOS_${RUNDIR_GRID_DIR}/GEOS_IT" RUNDIR_MET_DIR_RAW="${RUNDIR_DATA_ROOT}/GEOS_C180/GEOS_IT" RUNDIR_MET_NONADVECTION_IS_TOP_DOWN=.false. RUNDIR_MET_RES='C180' RUNDIR_MET_EXT='nc' RUNDIR_MET_CN_YR=1998 RUNDIR_OFFLINE_BIOVOC_DIR='v2025-04/GEOSIT' RUNDIR_OFFLINE_DUST_DIR='v2025-04/GEOSIT' RUNDIR_OFFLINE_SEASALT_DIR='v2025-04/GEOSIT' RUNDIR_OFFLINE_SOILNOX_DIR='v2025-04/GEOSIT' RUNDIR_OFFLINE_EMIS_RES='0.5x0.625' RUNDIR_OFFLINE_EMIS_LAT_RES='05' RUNDIR_METLIGHTNING='GEOSIT' RUNDIR_METLIGHTNING_DIR="${RUNDIR_DATA_ROOT}/GEOS_0.5x0.625/GEOSIT" RUNDIR_METLIGHTNING_RES='0.5x0.625' RUNDIR_LIGHTNOX_CLIM=false RUNDIR_LIGHTNOX_DIR='v2025-05' RUNDIR_MET_LCLIM='1980-2019' RUNDIR_PHOT_CLD_NLEV=34 RUNDIR_MET_EXTDATA_PRIMARY_EXPORTS=""" ${RUNDIR_MET_EXTDATA_PRIMARY_EXPORTS_FOR_ADVECTION} #------------------------------------------------------- # --- 1-hr time-averaged, 2D --- #------------------------------------------------------- ALBD 1 N Y F0;003000 none none ALBEDO ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc CLDFRC 1 N Y F0;003000 none none CLDTOT ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc EFLUX 1 N Y F0;003000 none none EFLUX ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc EVAP 1 N Y F0;003000 none none EVAP ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc FRSEAICE 1 N Y F0;003000 none none FRSEAICE ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc FRSNO 1 N Y F0;003000 none none FRSNO ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc GRN 1 N Y F0;003000 none none GRN ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc GWETROOT 1 N Y F0;003000 none none GWETROOT ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc GWETTOP 1 N Y F0;003000 none none GWETTOP ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc HFLUX 1 N Y F0;003000 none none HFLUX ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc LAI 1 N Y F0;003000 none none LAI ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc PARDF 1 N Y F0;003000 none none PARDF ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc PARDR 1 N Y F0;003000 none none PARDR ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc PBLH 1 N Y F0;003000 none none PBLH ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc PRECANV 1 N Y F0;003000 none none PRECANV ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc PRECCON 1 N Y F0;003000 none none PRECCON ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc PRECLSC 1 N Y F0;003000 none none PRECLSC ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc PRECSNO 1 N Y F0;003000 none none PRECSNO ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc PRECTOT 1 N Y F0;003000 none none PRECTOT ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc QV2M 1 N Y F0;003000 none none QV2M ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc SLP hPa N Y F0;003000 none none SLP ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc SNODP 1 N Y F0;003000 none none SNODP ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc SNOMAS 1 N Y F0;003000 none none SNOMAS ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc RADSWG 1 N Y F0;003000 none none SWGDN ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc TO3 dobson N Y F0;003000 none none TO3 ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc TROPP hPa N Y F0;003000 none none TROPPT ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc TSKIN 1 N Y F0;003000 none none TS ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc TS 1 N Y F0;003000 none none T2M ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc USTAR 1 N Y F0;003000 none none USTAR ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc U10M m_s-1 N Y F0;003000 none none U10M ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc V10M m_s-1 N Y F0;003000 none none V10M ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc Z0 1 N Y F0;003000 none none Z0M ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc # SEAICE[0-9]0 bins not used except in Hg simulation SEAICE00 1 N Y F0;003000 none none SEAICE00 /dev/null SEAICE10 1 N Y F0;003000 none none SEAICE10 /dev/null SEAICE20 1 N Y F0;003000 none none SEAICE20 /dev/null SEAICE30 1 N Y F0;003000 none none SEAICE30 /dev/null SEAICE40 1 N Y F0;003000 none none SEAICE40 /dev/null SEAICE50 1 N Y F0;003000 none none SEAICE50 /dev/null SEAICE60 1 N Y F0;003000 none none SEAICE60 /dev/null SEAICE70 1 N Y F0;003000 none none SEAICE70 /dev/null SEAICE80 1 N Y F0;003000 none none SEAICE80 /dev/null SEAICE90 1 N Y F0;003000 none none SEAICE90 /dev/null #------------------------------------------------------- # --- 3-hr instantaneous (all 3D) --- #------------------------------------------------------- TMPU1 K N Y 0 none none T ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.I3.C180.nc TMPU2 K N Y 0;001000 none none T ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.I3.C180.nc #------------------------------------------------------- # --- 3-hr time-averaged (all 3D) --- #------------------------------------------------------- QI 1 N Y F0;013000 none none QI ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3cld.C180.nc QL 1 N Y F0;013000 none none QL ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3cld.C180.nc TAUCLI 1 N Y F0;013000 none none TAUCLI ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3cld.C180.nc TAUCLW 1 N Y F0;013000 none none TAUCLW ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3cld.C180.nc OPTDEP 1 N Y F0;013000 none none OPTDEPTH ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3cld.C180.nc CLDF 1 N Y F0;013000 none none CLOUD ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3cld.C180.nc DTRAIN 1 N Y F0;013000 none none DTRAIN ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3dyn.C180.nc OMEGA Pa_s-1 N Y F0;013000 none none OMEGA ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3dyn.C180.nc RH - N Y F0;013000 none none RH ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3dyn.C180.nc DQRCU 1 N Y F0;013000 none none DQRCU ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3mstC.C180.nc DQRLSAN 1 N Y F0;013000 none none DQRLSAN ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3mstC.C180.nc REEVAPCN 1 N Y F0;013000 none none REEVAPCN ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3mstC.C180.nc REEVAPLS 1 N Y F0;013000 none none REEVAPLS ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3mstC.C180.nc CMFMC 1 N Y F0;013000 none none CMFMC ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3mstE.C180.nc PFICU 1 N Y F0;013000 none none PFICU ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3mstE.C180.nc PFILSAN 1 N Y F0;013000 none none PFILSAN ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3mstE.C180.nc PFLCU 1 N Y F0;013000 none none PFLCU ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3mstE.C180.nc PFLLSAN 1 N Y F0;013000 none none PFLLSAN ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3mstE.C180.nc #------------------------------------------------------- # --- Fixed variables, from constants file --- #------------------------------------------------------- FRLAKE 1 N Y - none none FRLAKE ./MetDir/1998/01/GEOSIT.19980101.CN.C180.nc FRLAND 1 N Y - none none FRLAND ./MetDir/1998/01/GEOSIT.19980101.CN.C180.nc FRLANDIC 1 N Y - none none FRLANDIC ./MetDir/1998/01/GEOSIT.19980101.CN.C180.nc FROCEAN 1 N Y - none none FROCEAN ./MetDir/1998/01/GEOSIT.19980101.CN.C180.nc PHIS m2_s-2 N Y - none none PHIS ./MetDir/1998/01/GEOSIT.19980101.CN.C180.nc OCEAN_MASK 1 N Y - none none FROCEAN ./MetDir/1998/01/GEOSIT.19980101.CN.C180.nc """ RUNDIR_MET_EXTDATA_DERIVED_EXPORTS=""" """ ================================================ FILE: run/shared/settings/geosit/geosit.nonadv_raw_c180.txt ================================================ RUNDIR_MET='GEOSIT' RUNDIR_MET_LOWERCASE='geosit' RUNDIR_MET_DIR="${RUNDIR_DATA_ROOT}/GEOS_${RUNDIR_GRID_DIR}/GEOS_IT" RUNDIR_MET_DIR_RAW="${RUNDIR_DATA_ROOT}/GEOS_C180/GEOS_IT_Raw" RUNDIR_MET_NONADVECTION_IS_TOP_DOWN=.true. RUNDIR_MET_RES='C180' RUNDIR_MET_EXT='nc4' RUNDIR_MET_CN_YR=Y1998 RUNDIR_MET_CN_MO=M01 RUNDIR_OFFLINE_BIOVOC_DIR='v2025-04/GEOSIT' RUNDIR_OFFLINE_DUST_DIR='v2025-04/GEOSIT' RUNDIR_OFFLINE_SEASALT_DIR='v2025-04/GEOSIT' RUNDIR_OFFLINE_SOILNOX_DIR='v2025-04/GEOSIT' RUNDIR_OFFLINE_EMIS_RES='0.5x0.625' RUNDIR_OFFLINE_EMIS_LAT_RES='05' RUNDIR_METLIGHTNING='GEOSIT' RUNDIR_METLIGHTNING_DIR="${RUNDIR_DATA_ROOT}/0.5x0.625/GEOSIT" RUNDIR_METLIGHTNING_RES='0.5x0.625' RUNDIR_LIGHTNOX_CLIM=false RUNDIR_LIGHTNOX_DIR='v2025-05' RUNDIR_MET_LCLIM='1980-2019' RUNDIR_PHOT_CLD_NLEV=34 RUNDIR_MET_EXTDATA_PRIMARY_EXPORTS=""" ${RUNDIR_MET_EXTDATA_PRIMARY_EXPORTS_FOR_ADVECTION} #------------------------------------------------------- # --- 1-hr time-averaged, 2D --- #------------------------------------------------------- EFLUX W_m-2 N Y F0;003000 none none EFLUX ./MetDir/%y4/%m2/%d2/GEOS.it.asm.flx_tavg_1hr_glo_C180x180x6_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 EVAP kg_m-2_s-1 N Y F0;003000 none none EVAP ./MetDir/%y4/%m2/%d2/GEOS.it.asm.flx_tavg_1hr_glo_C180x180x6_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 FRSEAICE 1 N Y F0;003000 none none FRSEAICE ./MetDir/%y4/%m2/%d2/GEOS.it.asm.flx_tavg_1hr_glo_C180x180x6_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 HFLUX W_m-2 N Y F0;003000 none none HFLUX ./MetDir/%y4/%m2/%d2/GEOS.it.asm.flx_tavg_1hr_glo_C180x180x6_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 PBLH m N Y F0;003000 none none PBLH ./MetDir/%y4/%m2/%d2/GEOS.it.asm.flx_tavg_1hr_glo_C180x180x6_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 PRECANV kg_m-2_s-1 N Y F0;003000 none none PRECANV ./MetDir/%y4/%m2/%d2/GEOS.it.asm.flx_tavg_1hr_glo_C180x180x6_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 PRECCON kg_m-2_s-1 N Y F0;003000 none none PRECCON ./MetDir/%y4/%m2/%d2/GEOS.it.asm.flx_tavg_1hr_glo_C180x180x6_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 PRECLSC kg_m-2_s-1 N Y F0;003000 none none PRECLSC ./MetDir/%y4/%m2/%d2/GEOS.it.asm.flx_tavg_1hr_glo_C180x180x6_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 PRECSNO kg_m-2_s-1 N Y F0;003000 none none PRECSNO ./MetDir/%y4/%m2/%d2/GEOS.it.asm.flx_tavg_1hr_glo_C180x180x6_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 PRECTOT kg_m-2_s-1 N Y F0;003000 none none PRECTOT ./MetDir/%y4/%m2/%d2/GEOS.it.asm.flx_tavg_1hr_glo_C180x180x6_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 USTAR m_s-1 N Y F0;003000 none none USTAR ./MetDir/%y4/%m2/%d2/GEOS.it.asm.flx_tavg_1hr_glo_C180x180x6_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 Z0 m N Y F0;003000 none none Z0M ./MetDir/%y4/%m2/%d2/GEOS.it.asm.flx_tavg_1hr_glo_C180x180x6_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 FRSNO 1 N Y F0;003000 none none FRSNO ./MetDir/%y4/%m2/%d2/GEOS.it.asm.lnd_tavg_1hr_glo_C180x180x6_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 GRN 1 N Y F0;003000 none none GRN ./MetDir/%y4/%m2/%d2/GEOS.it.asm.lnd_tavg_1hr_glo_C180x180x6_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 GWETROOT 1 N Y F0;003000 none none GWETROOT ./MetDir/%y4/%m2/%d2/GEOS.it.asm.lnd_tavg_1hr_glo_C180x180x6_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 GWETTOP 1 N Y F0;003000 none none GWETTOP ./MetDir/%y4/%m2/%d2/GEOS.it.asm.lnd_tavg_1hr_glo_C180x180x6_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 LAI 1 N Y F0;003000 none none LAI ./MetDir/%y4/%m2/%d2/GEOS.it.asm.lnd_tavg_1hr_glo_C180x180x6_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 PARDF W_m-2 N Y F0;003000 none none PARDF ./MetDir/%y4/%m2/%d2/GEOS.it.asm.lnd_tavg_1hr_glo_C180x180x6_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 PARDR W_m-2 N Y F0;003000 none none PARDR ./MetDir/%y4/%m2/%d2/GEOS.it.asm.lnd_tavg_1hr_glo_C180x180x6_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 SNODP m N Y F0;003000 none none SNODP ./MetDir/%y4/%m2/%d2/GEOS.it.asm.lnd_tavg_1hr_glo_C180x180x6_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 SNOMAS kg_m-2 N Y F0;003000 none none SNOMAS ./MetDir/%y4/%m2/%d2/GEOS.it.asm.lnd_tavg_1hr_glo_C180x180x6_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 ALBD 1 N Y F0;003000 none none ALBEDO ./MetDir/%y4/%m2/%d2/GEOS.it.asm.rad_tavg_1hr_glo_C180x180x6_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 CLDFRC 1 N Y F0;003000 none none CLDTOT ./MetDir/%y4/%m2/%d2/GEOS.it.asm.rad_tavg_1hr_glo_C180x180x6_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 RADSWG W_m-2 N Y F0;003000 none none SWGDN ./MetDir/%y4/%m2/%d2/GEOS.it.asm.rad_tavg_1hr_glo_C180x180x6_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 QV2M kg_kg-1 N Y F0;003000 none none QV2M ./MetDir/%y4/%m2/%d2/GEOS.it.asm.slv_tavg_1hr_glo_C180x180x6_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 SLP Pa N Y F0;003000 none 0.01 SLP ./MetDir/%y4/%m2/%d2/GEOS.it.asm.slv_tavg_1hr_glo_C180x180x6_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 TS K N Y F0;003000 none none T2M ./MetDir/%y4/%m2/%d2/GEOS.it.asm.slv_tavg_1hr_glo_C180x180x6_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 TO3 Dobsons N Y F0;003000 none none TO3 ./MetDir/%y4/%m2/%d2/GEOS.it.asm.slv_tavg_1hr_glo_C180x180x6_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 TROPP Pa N Y F0;003000 none 0.01 TROPPT ./MetDir/%y4/%m2/%d2/GEOS.it.asm.slv_tavg_1hr_glo_C180x180x6_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 TSKIN K N Y F0;003000 none none TS ./MetDir/%y4/%m2/%d2/GEOS.it.asm.slv_tavg_1hr_glo_C180x180x6_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 U10M m_s-1 N Y F0;003000 none none U10M ./MetDir/%y4/%m2/%d2/GEOS.it.asm.slv_tavg_1hr_glo_C180x180x6_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 V10M m_s-1 N Y F0;003000 none none V10M ./MetDir/%y4/%m2/%d2/GEOS.it.asm.slv_tavg_1hr_glo_C180x180x6_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 # SEAICE[0-9]0 bins not used except in Hg simulation SEAICE00 1 N Y F0;003000 none none SEAICE00 /dev/null SEAICE10 1 N Y F0;003000 none none SEAICE10 /dev/null SEAICE20 1 N Y F0;003000 none none SEAICE20 /dev/null SEAICE30 1 N Y F0;003000 none none SEAICE30 /dev/null SEAICE40 1 N Y F0;003000 none none SEAICE40 /dev/null SEAICE50 1 N Y F0;003000 none none SEAICE50 /dev/null SEAICE60 1 N Y F0;003000 none none SEAICE60 /dev/null SEAICE70 1 N Y F0;003000 none none SEAICE70 /dev/null SEAICE80 1 N Y F0;003000 none none SEAICE80 /dev/null SEAICE90 1 N Y F0;003000 none none SEAICE90 /dev/null #------------------------------------------------------- # --- 3-hr instantaneous (all 3D) --- #------------------------------------------------------- TMPU1 K N Y 0 none none T ./MetDir/%y4/%m2/%d2/GEOS.it.asm.asm_inst_3hr_glo_C180x180x6_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:00:00P03:00 TMPU2 K N Y 0;001000 none none T ./MetDir/%y4/%m2/%d2/GEOS.it.asm.asm_inst_3hr_glo_C180x180x6_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:00:00P03:00 #------------------------------------------------------- # --- 3-hr time-averaged (all 3D) --- #------------------------------------------------------- CLDF 1 N Y F0;013000 none none CLOUD ./MetDir/%y4/%m2/%d2/GEOS.it.asm.rad_tavg_3hr_glo_C180x180x6_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T01:30:00P03:00 DTRAIN kg_m-2_s-1 N Y F0;013000 none none DTRAIN ./MetDir/%y4/%m2/%d2/GEOS.it.asm.cld_tavg_3hr_glo_C180x180x6_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T01:30:00P03:00 TAUCLI 1 N Y F0;013000 none none TAUCLI ./MetDir/%y4/%m2/%d2/GEOS.it.asm.cld_tavg_3hr_glo_C180x180x6_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T01:30:00P03:00 TAUCLW 1 N Y F0;013000 none none TAUCLW ./MetDir/%y4/%m2/%d2/GEOS.it.asm.cld_tavg_3hr_glo_C180x180x6_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T01:30:00P03:00 OMEGA Pa_s-1 N Y F0;013000 none none OMEGA ./MetDir/%y4/%m2/%d2/GEOS.it.asm.asm_tavg_3hr_glo_C180x180x6_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T01:30:00P03:00 QI kg_kg-1 N Y F0;013000 none none QI ./MetDir/%y4/%m2/%d2/GEOS.it.asm.asm_tavg_3hr_glo_C180x180x6_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T01:30:00P03:00 QL kg_kg-1 N Y F0;013000 none none QL ./MetDir/%y4/%m2/%d2/GEOS.it.asm.asm_tavg_3hr_glo_C180x180x6_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T01:30:00P03:00 RH 1 N Y F0;013000 none none RH ./MetDir/%y4/%m2/%d2/GEOS.it.asm.asm_tavg_3hr_glo_C180x180x6_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T01:30:00P03:00 DQRCU kg_kg-1_s-1 N Y F0;013000 none none DQRCU ./MetDir/%y4/%m2/%d2/GEOS.it.asm.mst_tavg_3hr_glo_C180x180x6_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T01:30:00P03:00 DQRLSAN kg_kg-1_s-1 N Y F0;013000 none none DQRLSAN ./MetDir/%y4/%m2/%d2/GEOS.it.asm.mst_tavg_3hr_glo_C180x180x6_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T01:30:00P03:00 REEVAPCN kg_kg-1_s-1 N Y F0;013000 none none REEVAPCN ./MetDir/%y4/%m2/%d2/GEOS.it.asm.mst_tavg_3hr_glo_C180x180x6_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T01:30:00P03:00 REEVAPLS kg_kg-1_s-1 N Y F0;013000 none none REEVAPLSAN ./MetDir/%y4/%m2/%d2/GEOS.it.asm.mst_tavg_3hr_glo_C180x180x6_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T01:30:00P03:00 CMFMC kg_m-2_s-1 N Y F0;013000 none none CMFMC ./MetDir/%y4/%m2/%d2/GEOS.it.asm.mst_tavg_3hr_glo_C180x180x6_v73.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T01:30:00P03:00 PFICU kg_m-2_s-1 N Y F0;013000 none none PFICU ./MetDir/%y4/%m2/%d2/GEOS.it.asm.mst_tavg_3hr_glo_C180x180x6_v73.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T01:30:00P03:00 PFILSAN kg_m-2_s-1 N Y F0;013000 none none PFILSAN ./MetDir/%y4/%m2/%d2/GEOS.it.asm.mst_tavg_3hr_glo_C180x180x6_v73.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T01:30:00P03:00 PFLCU kg_m-2_s-1 N Y F0;013000 none none PFLCU ./MetDir/%y4/%m2/%d2/GEOS.it.asm.mst_tavg_3hr_glo_C180x180x6_v73.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T01:30:00P03:00 PFLLSAN kg_m-2_s-1 N Y F0;013000 none none PFLLSAN ./MetDir/%y4/%m2/%d2/GEOS.it.asm.mst_tavg_3hr_glo_C180x180x6_v73.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T01:30:00P03:00 #------------------------------------------------------- # --- Fixed variables, from constants file --- #------------------------------------------------------- FRLAKE 1 N Y - none none FRLAKE ./MetDir/1998/01/01/GEOS.it.asm.asm_const_0hr_glo_C180x180x6_slv.GEOS5294.1998-01-01T0000.V01.nc4 FRLAND 1 N Y - none none FRLAND ./MetDir/1998/01/01/GEOS.it.asm.asm_const_0hr_glo_C180x180x6_slv.GEOS5294.1998-01-01T0000.V01.nc4 FRLANDIC 1 N Y - none none FRLANDICE ./MetDir/1998/01/01/GEOS.it.asm.asm_const_0hr_glo_C180x180x6_slv.GEOS5294.1998-01-01T0000.V01.nc4 FROCEAN 1 N Y - none none FROCEAN ./MetDir/1998/01/01/GEOS.it.asm.asm_const_0hr_glo_C180x180x6_slv.GEOS5294.1998-01-01T0000.V01.nc4 PHIS m2_s-2 N Y - none none PHIS ./MetDir/1998/01/01/GEOS.it.asm.asm_const_0hr_glo_C180x180x6_slv.GEOS5294.1998-01-01T0000.V01.nc4 OCEAN_MASK 1 N Y - none none FROCEAN ./MetDir/1998/01/01/GEOS.it.asm.asm_const_0hr_glo_C180x180x6_slv.GEOS5294.1998-01-01T0000.V01.nc4 """ RUNDIR_MET_EXTDATA_DERIVED_EXPORTS=""" OPTDEP TAUCLI+TAUCLW 0 """ ================================================ FILE: run/shared/settings/geosit/geosit.preprocessed_0.5x0.625.txt ================================================ RUNDIR_MET='GEOSIT' RUNDIR_MET_LOWERCASE='geosit' RUNDIR_MET_DIR="${RUNDIR_DATA_ROOT}/GEOS_${RUNDIR_GRID_DIR}/GEOS_IT" RUNDIR_MET_DIR_RAW="${RUNDIR_DATA_ROOT}/GEOS_0.5x0.625/GEOS_IT" RUNDIR_MET_MASS_FLUX_IS_TOP_DOWN=.false. RUNDIR_MET_WIND_IS_TOP_DOWN=.false. RUNDIR_MET_HUMIDITY_IS_TOP_DOWN=.false. RUNDIR_MET_NONADVECTION_IS_TOP_DOWN=.false. RUNDIR_IMPORT_MASS_FLUX_FROM_EXTDATA=.false. RUNDIR_USE_TOTAL_AIR_PRESSURE_IN_ADVECTION=0 RUNDIR_MET_RES='05x0625' RUNDIR_MET_EXT='nc' RUNDIR_MET_CN_YR=1998 RUNDIR_OFFLINE_BIOVOC_DIR='v2025-04/GEOSIT' RUNDIR_OFFLINE_DUST_DIR='v2025-04/GEOSIT' RUNDIR_OFFLINE_SEASALT_DIR='v2025-04/GEOSIT' RUNDIR_OFFLINE_SOILNOX_DIR='v2025-04/GEOSIT' RUNDIR_OFFLINE_EMIS_RES='0.5x0.625' RUNDIR_OFFLINE_EMIS_LAT_RES='05' RUNDIR_METLIGHTNING='GEOSIT' RUNDIR_METLIGHTNING_DIR="${RUNDIR_DATA_ROOT}/GEOS_0.5x0.625/GEOSIT" RUNDIR_METLIGHTNING_RES='0.5x0.625' RUNDIR_LIGHTNOX_CLIM=false RUNDIR_LIGHTNOX_DIR='v2025-05' RUNDIR_MET_LCLIM='1980-2019' RUNDIR_PHOT_CLD_NLEV=34 RUNDIR_MET_EXTDATA_PRIMARY_EXPORTS=""" #------------------------------------------------------- # --- Meteorology used in advection --- #------------------------------------------------------- UA;VA m_s-1 N Y F0;013000 none none U;V ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3dyn.05x0625.nc PS1 hPa N Y 0 none none PS ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.I3.05x0625.nc PS2 hPa N Y 0;001000 none none PS ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.I3.05x0625.nc SPHU1 kg_kg-1 N Y 0 none none QV ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.I3.05x0625.nc SPHU2 kg_kg-1 N Y 0;001000 none none QV ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.I3.05x0625.nc #------------------------------------------------------- # --- 1-hr time-averaged, 2D --- #------------------------------------------------------- ALBD 1 N Y F0;003000 none none ALBEDO ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.05x0625.nc CLDFRC 1 N Y F0;003000 none none CLDTOT ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.05x0625.nc EFLUX 1 N Y F0;003000 none none EFLUX ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.05x0625.nc EVAP 1 N Y F0;003000 none none EVAP ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.05x0625.nc FRSEAICE 1 N Y F0;003000 none none FRSEAICE ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.05x0625.nc FRSNO 1 N Y F0;003000 none none FRSNO ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.05x0625.nc GRN 1 N Y F0;003000 none none GRN ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.05x0625.nc GWETROOT 1 N Y F0;003000 none none GWETROOT ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.05x0625.nc GWETTOP 1 N Y F0;003000 none none GWETTOP ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.05x0625.nc HFLUX 1 N Y F0;003000 none none HFLUX ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.05x0625.nc LAI 1 N Y F0;003000 none none LAI ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.05x0625.nc PARDF 1 N Y F0;003000 none none PARDF ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.05x0625.nc PARDR 1 N Y F0;003000 none none PARDR ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.05x0625.nc PBLH 1 N Y F0;003000 none none PBLH ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.05x0625.nc PRECANV 1 N Y F0;003000 none none PRECANV ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.05x0625.nc PRECCON 1 N Y F0;003000 none none PRECCON ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.05x0625.nc PRECLSC 1 N Y F0;003000 none none PRECLSC ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.05x0625.nc PRECSNO 1 N Y F0;003000 none none PRECSNO ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.05x0625.nc PRECTOT 1 N Y F0;003000 none none PRECTOT ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.05x0625.nc QV2M 1 N Y F0;003000 none none QV2M ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.05x0625.nc SEAICE00 1 N Y F0;003000 none none SEAICE00 ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.05x0625.nc SEAICE10 1 N Y F0;003000 none none SEAICE10 ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.05x0625.nc SEAICE20 1 N Y F0;003000 none none SEAICE20 ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.05x0625.nc SEAICE30 1 N Y F0;003000 none none SEAICE30 ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.05x0625.nc SEAICE40 1 N Y F0;003000 none none SEAICE40 ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.05x0625.nc SEAICE50 1 N Y F0;003000 none none SEAICE50 ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.05x0625.nc SEAICE60 1 N Y F0;003000 none none SEAICE60 ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.05x0625.nc SEAICE70 1 N Y F0;003000 none none SEAICE70 ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.05x0625.nc SEAICE80 1 N Y F0;003000 none none SEAICE80 ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.05x0625.nc SEAICE90 1 N Y F0;003000 none none SEAICE90 ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.05x0625.nc SLP hPa N Y F0;003000 none none SLP ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.05x0625.nc SNODP 1 N Y F0;003000 none none SNODP ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.05x0625.nc SNOMAS 1 N Y F0;003000 none none SNOMAS ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.05x0625.nc RADSWG 1 N Y F0;003000 none none SWGDN ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.05x0625.nc TO3 dobson N Y F0;003000 none none TO3 ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.05x0625.nc TROPP hPa N Y F0;003000 none none TROPPT ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.05x0625.nc TSKIN 1 N Y F0;003000 none none TS ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.05x0625.nc TS 1 N Y F0;003000 none none T2M ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.05x0625.nc USTAR 1 N Y F0;003000 none none USTAR ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.05x0625.nc U10M m_s-1 N Y F0;003000 none none U10M ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.05x0625.nc V10M m_s-1 N Y F0;003000 none none V10M ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.05x0625.nc Z0 1 N Y F0;003000 none none Z0M ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.05x0625.nc #------------------------------------------------------- # --- 3-hr instantaneous (all 3D) --- #------------------------------------------------------- TMPU1 K N Y 0 none none T ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.I3.05x0625.nc TMPU2 K N Y 0;001000 none none T ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.I3.05x0625.nc #------------------------------------------------------- # --- 3-hr time-averaged (all 3D) --- #------------------------------------------------------- QI 1 N Y F0;013000 none none QI ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3cld.05x0625.nc QL 1 N Y F0;013000 none none QL ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3cld.05x0625.nc TAUCLI 1 N Y F0;013000 none none TAUCLI ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3cld.05x0625.nc TAUCLW 1 N Y F0;013000 none none TAUCLW ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3cld.05x0625.nc OPTDEP 1 N Y F0;013000 none none OPTDEPTH ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3cld.05x0625.nc CLDF 1 N Y F0;013000 none none CLOUD ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3cld.05x0625.nc DTRAIN 1 N Y F0;013000 none none DTRAIN ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3dyn.05x0625.nc OMEGA Pa_s-1 N Y F0;013000 none none OMEGA ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3dyn.05x0625.nc RH - N Y F0;013000 none none RH ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3dyn.05x0625.nc DQRCU 1 N Y F0;013000 none none DQRCU ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3mstC.05x0625.nc DQRLSAN 1 N Y F0;013000 none none DQRLSAN ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3mstC.05x0625.nc REEVAPCN 1 N Y F0;013000 none none REEVAPCN ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3mstC.05x0625.nc REEVAPLS 1 N Y F0;013000 none none REEVAPLS ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3mstC.05x0625.nc CMFMC 1 N Y F0;013000 none none CMFMC ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3mstE.05x0625.nc PFICU 1 N Y F0;013000 none none PFICU ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3mstE.05x0625.nc PFILSAN 1 N Y F0;013000 none none PFILSAN ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3mstE.05x0625.nc PFLCU 1 N Y F0;013000 none none PFLCU ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3mstE.05x0625.nc PFLLSAN 1 N Y F0;013000 none none PFLLSAN ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3mstE.05x0625.nc #------------------------------------------------------- # --- Fixed variables, from constants file --- #------------------------------------------------------- FRLAKE 1 N Y - none none FRLAKE ./MetDir/1998/01/GEOSIT.19980101.CN.05x0625.nc FRLAND 1 N Y - none none FRLAND ./MetDir/1998/01/GEOSIT.19980101.CN.05x0625.nc FRLANDIC 1 N Y - none none FRLANDIC ./MetDir/1998/01/GEOSIT.19980101.CN.05x0625.nc FROCEAN 1 N Y - none none FROCEAN ./MetDir/1998/01/GEOSIT.19980101.CN.05x0625.nc PHIS m2_s-2 N Y - none none PHIS ./MetDir/1998/01/GEOSIT.19980101.CN.05x0625.nc OCEAN_MASK 1 N Y - none none FROCEAN ./MetDir/1998/01/GEOSIT.19980101.CN.05x0625.nc """ RUNDIR_MET_EXTDATA_DERIVED_EXPORTS=""" """ ================================================ FILE: run/shared/settings/geosit/geosit.raw_0.5x0.625.txt ================================================ RUNDIR_MET='GEOSIT' RUNDIR_MET_LOWERCASE='geosit' RUNDIR_MET_DIR="${RUNDIR_DATA_ROOT}/GEOS_${RUNDIR_GRID_DIR}/GEOS_IT" RUNDIR_MET_DIR_RAW="${RUNDIR_DATA_ROOT}/GEOS_0.5x0.625/GEOS_IT_Raw" RUNDIR_MET_MASS_FLUX_IS_TOP_DOWN=.true. RUNDIR_MET_WIND_IS_TOP_DOWN=.true. RUNDIR_MET_HUMIDITY_IS_TOP_DOWN=.true. RUNDIR_MET_NONADVECTION_IS_TOP_DOWN=.true. RUNDIR_IMPORT_MASS_FLUX_FROM_EXTDATA=.false. RUNDIR_USE_TOTAL_AIR_PRESSURE_IN_ADVECTION=0 RUNDIR_MET_RES='05x0625' RUNDIR_MET_EXT='nc4' RUNDIR_MET_CN_YR=Y1998 RUNDIR_MET_CN_MO=M01 RUNDIR_OFFLINE_BIOVOC_DIR='v2025-04/GEOSIT' RUNDIR_OFFLINE_DUST_DIR='v2025-04/GEOSIT' RUNDIR_OFFLINE_SEASALT_DIR='v2025-04/GEOSIT' RUNDIR_OFFLINE_SOILNOX_DIR='v2025-04/GEOSIT' RUNDIR_OFFLINE_EMIS_RES='0.5x0.625' RUNDIR_OFFLINE_EMIS_LAT_RES='05' RUNDIR_METLIGHTNING='GEOSIT' RUNDIR_METLIGHTNING_DIR="${RUNDIR_DATA_ROOT}/0.5x0.625/GEOSIT" RUNDIR_METLIGHTNING_RES='0.5x0.625' RUNDIR_LIGHTNOX_CLIM=false RUNDIR_LIGHTNOX_DIR='v2025-05' RUNDIR_MET_LCLIM='1980-2019' RUNDIR_PHOT_CLD_NLEV=34 RUNDIR_MET_EXTDATA_PRIMARY_EXPORTS=""" #-------------------------------------- # --- Meteorology used in advection --- #-------------------------------------- # Cubed-sphere 3-hourly winds UA;VA m_s-1 N Y F0;013000 none none U;V ./MetDir/%y4/%m2/%d2/GEOS.it.asm.asm_tavg_3hr_glo_L576x361_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T01:30:00P03:00 PS1 Pa N Y 0 none 0.01 PS ./MetDir/%y4/%m2/%d2/GEOS.it.asm.asm_inst_3hr_glo_L576x361_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:00:00P03:00 PS2 Pa N Y 0;001000 none 0.01 PS ./MetDir/%y4/%m2/%d2/GEOS.it.asm.asm_inst_3hr_glo_L576x361_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:00:00P03:00 SPHU1 kg_kg-1 N Y 0 none none QV ./MetDir/%y4/%m2/%d2/GEOS.it.asm.asm_inst_3hr_glo_L576x361_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:00:00P03:00 SPHU2 kg_kg-1 N Y 0;001000 none none QV ./MetDir/%y4/%m2/%d2/GEOS.it.asm.asm_inst_3hr_glo_L576x361_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:00:00P03:00 #------------------------------------------------------- # --- 1-hr time-averaged, 2D --- #------------------------------------------------------- EFLUX W_m-2 N Y F0;003000 none none EFLUX ./MetDir/%y4/%m2/%d2/GEOS.it.asm.flx_tavg_1hr_glo_L576x361_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 EVAP kg_m-2_s-1 N Y F0;003000 none none EVAP ./MetDir/%y4/%m2/%d2/GEOS.it.asm.flx_tavg_1hr_glo_L576x361_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 FRSEAICE 1 N Y F0;003000 none none FRSEAICE ./MetDir/%y4/%m2/%d2/GEOS.it.asm.flx_tavg_1hr_glo_L576x361_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 HFLUX W_m-2 N Y F0;003000 none none HFLUX ./MetDir/%y4/%m2/%d2/GEOS.it.asm.flx_tavg_1hr_glo_L576x361_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 PBLH m N Y F0;003000 none none PBLH ./MetDir/%y4/%m2/%d2/GEOS.it.asm.flx_tavg_1hr_glo_L576x361_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 PRECANV kg_m-2_s-1 N Y F0;003000 none none PRECANV ./MetDir/%y4/%m2/%d2/GEOS.it.asm.flx_tavg_1hr_glo_L576x361_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 PRECCON kg_m-2_s-1 N Y F0;003000 none none PRECCON ./MetDir/%y4/%m2/%d2/GEOS.it.asm.flx_tavg_1hr_glo_L576x361_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 PRECLSC kg_m-2_s-1 N Y F0;003000 none none PRECLSC ./MetDir/%y4/%m2/%d2/GEOS.it.asm.flx_tavg_1hr_glo_L576x361_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 PRECSNO kg_m-2_s-1 N Y F0;003000 none none PRECSNO ./MetDir/%y4/%m2/%d2/GEOS.it.asm.flx_tavg_1hr_glo_L576x361_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 PRECTOT kg_m-2_s-1 N Y F0;003000 none none PRECTOT ./MetDir/%y4/%m2/%d2/GEOS.it.asm.flx_tavg_1hr_glo_L576x361_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 USTAR m_s-1 N Y F0;003000 none none USTAR ./MetDir/%y4/%m2/%d2/GEOS.it.asm.flx_tavg_1hr_glo_L576x361_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 Z0 m N Y F0;003000 none none Z0M ./MetDir/%y4/%m2/%d2/GEOS.it.asm.flx_tavg_1hr_glo_L576x361_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 FRSNO 1 N Y F0;003000 none none FRSNO ./MetDir/%y4/%m2/%d2/GEOS.it.asm.lnd_tavg_1hr_glo_L576x361_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 GRN 1 N Y F0;003000 none none GRN ./MetDir/%y4/%m2/%d2/GEOS.it.asm.lnd_tavg_1hr_glo_L576x361_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 GWETROOT 1 N Y F0;003000 none none GWETROOT ./MetDir/%y4/%m2/%d2/GEOS.it.asm.lnd_tavg_1hr_glo_L576x361_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 GWETTOP 1 N Y F0;003000 none none GWETTOP ./MetDir/%y4/%m2/%d2/GEOS.it.asm.lnd_tavg_1hr_glo_L576x361_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 LAI 1 N Y F0;003000 none none LAI ./MetDir/%y4/%m2/%d2/GEOS.it.asm.lnd_tavg_1hr_glo_L576x361_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 PARDF W_m-2 N Y F0;003000 none none PARDF ./MetDir/%y4/%m2/%d2/GEOS.it.asm.lnd_tavg_1hr_glo_L576x361_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 PARDR W_m-2 N Y F0;003000 none none PARDR ./MetDir/%y4/%m2/%d2/GEOS.it.asm.lnd_tavg_1hr_glo_L576x361_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 SNODP m N Y F0;003000 none none SNODP ./MetDir/%y4/%m2/%d2/GEOS.it.asm.lnd_tavg_1hr_glo_L576x361_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 SNOMAS kg_m-2 N Y F0;003000 none none SNOMAS ./MetDir/%y4/%m2/%d2/GEOS.it.asm.lnd_tavg_1hr_glo_L576x361_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 ALBD 1 N Y F0;003000 none none ALBEDO ./MetDir/%y4/%m2/%d2/GEOS.it.asm.rad_tavg_1hr_glo_L576x361_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 CLDFRC 1 N Y F0;003000 none none CLDTOT ./MetDir/%y4/%m2/%d2/GEOS.it.asm.rad_tavg_1hr_glo_L576x361_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 RADSWG W_m-2 N Y F0;003000 none none SWGDN ./MetDir/%y4/%m2/%d2/GEOS.it.asm.rad_tavg_1hr_glo_L576x361_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 QV2M kg_kg-1 N Y F0;003000 none none QV2M ./MetDir/%y4/%m2/%d2/GEOS.it.asm.slv_tavg_1hr_glo_L576x361_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 SLP Pa N Y F0;003000 none 0.01 SLP ./MetDir/%y4/%m2/%d2/GEOS.it.asm.slv_tavg_1hr_glo_L576x361_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 TS K N Y F0;003000 none none T2M ./MetDir/%y4/%m2/%d2/GEOS.it.asm.slv_tavg_1hr_glo_L576x361_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 TO3 Dobsons N Y F0;003000 none none TO3 ./MetDir/%y4/%m2/%d2/GEOS.it.asm.slv_tavg_1hr_glo_L576x361_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 TROPP Pa N Y F0;003000 none 0.01 TROPPT ./MetDir/%y4/%m2/%d2/GEOS.it.asm.slv_tavg_1hr_glo_L576x361_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 TSKIN K N Y F0;003000 none none TS ./MetDir/%y4/%m2/%d2/GEOS.it.asm.slv_tavg_1hr_glo_L576x361_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 U10M m_s-1 N Y F0;003000 none none U10M ./MetDir/%y4/%m2/%d2/GEOS.it.asm.slv_tavg_1hr_glo_L576x361_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 V10M m_s-1 N Y F0;003000 none none V10M ./MetDir/%y4/%m2/%d2/GEOS.it.asm.slv_tavg_1hr_glo_L576x361_slv.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:30:00P01:00 # SEAICE[0-9]0 bins not used except in Hg simulation SEAICE00 1 N Y F0;003000 none none SEAICE00 /dev/null SEAICE10 1 N Y F0;003000 none none SEAICE10 /dev/null SEAICE20 1 N Y F0;003000 none none SEAICE20 /dev/null SEAICE30 1 N Y F0;003000 none none SEAICE30 /dev/null SEAICE40 1 N Y F0;003000 none none SEAICE40 /dev/null SEAICE50 1 N Y F0;003000 none none SEAICE50 /dev/null SEAICE60 1 N Y F0;003000 none none SEAICE60 /dev/null SEAICE70 1 N Y F0;003000 none none SEAICE70 /dev/null SEAICE80 1 N Y F0;003000 none none SEAICE80 /dev/null SEAICE90 1 N Y F0;003000 none none SEAICE90 /dev/null #------------------------------------------------------- # --- 3-hr instantaneous (all 3D) --- #------------------------------------------------------- TMPU1 K N Y 0 none none T ./MetDir/%y4/%m2/%d2/GEOS.it.asm.asm_inst_3hr_glo_L576x361_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:00:00P03:00 TMPU2 K N Y 0;001000 none none T ./MetDir/%y4/%m2/%d2/GEOS.it.asm.asm_inst_3hr_glo_L576x361_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T00:00:00P03:00 #------------------------------------------------------- # --- 3-hr time-averaged (all 3D) --- #------------------------------------------------------- CLDF 1 N Y F0;013000 none none CLOUD ./MetDir/%y4/%m2/%d2/GEOS.it.asm.rad_tavg_3hr_glo_L576x361_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T01:30:00P03:00 DTRAIN kg_m-2_s-1 N Y F0;013000 none none DTRAIN ./MetDir/%y4/%m2/%d2/GEOS.it.asm.cld_tavg_3hr_glo_L576x361_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T01:30:00P03:00 TAUCLI 1 N Y F0;013000 none none TAUCLI ./MetDir/%y4/%m2/%d2/GEOS.it.asm.cld_tavg_3hr_glo_L576x361_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T01:30:00P03:00 TAUCLW 1 N Y F0;013000 none none TAUCLW ./MetDir/%y4/%m2/%d2/GEOS.it.asm.cld_tavg_3hr_glo_L576x361_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T01:30:00P03:00 OMEGA Pa_s-1 N Y F0;013000 none none OMEGA ./MetDir/%y4/%m2/%d2/GEOS.it.asm.asm_tavg_3hr_glo_L576x361_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T01:30:00P03:00 QI kg_kg-1 N Y F0;013000 none none QI ./MetDir/%y4/%m2/%d2/GEOS.it.asm.asm_tavg_3hr_glo_L576x361_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T01:30:00P03:00 QL kg_kg-1 N Y F0;013000 none none QL ./MetDir/%y4/%m2/%d2/GEOS.it.asm.asm_tavg_3hr_glo_L576x361_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T01:30:00P03:00 RH 1 N Y F0;013000 none none RH ./MetDir/%y4/%m2/%d2/GEOS.it.asm.asm_tavg_3hr_glo_L576x361_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T01:30:00P03:00 DQRCU kg_kg-1_s-1 N Y F0;013000 none none DQRCU ./MetDir/%y4/%m2/%d2/GEOS.it.asm.mst_tavg_3hr_glo_L576x361_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T01:30:00P03:00 DQRLSAN kg_kg-1_s-1 N Y F0;013000 none none DQRLSAN ./MetDir/%y4/%m2/%d2/GEOS.it.asm.mst_tavg_3hr_glo_L576x361_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T01:30:00P03:00 REEVAPCN kg_kg-1_s-1 N Y F0;013000 none none REEVAPCN ./MetDir/%y4/%m2/%d2/GEOS.it.asm.mst_tavg_3hr_glo_L576x361_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T01:30:00P03:00 REEVAPLS kg_kg-1_s-1 N Y F0;013000 none none REEVAPLSAN ./MetDir/%y4/%m2/%d2/GEOS.it.asm.mst_tavg_3hr_glo_L576x361_v72.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T01:30:00P03:00 CMFMC kg_m-2_s-1 N Y F0;013000 none none CMFMC ./MetDir/%y4/%m2/%d2/GEOS.it.asm.mst_tavg_3hr_glo_L576x361_v73.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T01:30:00P03:00 PFICU kg_m-2_s-1 N Y F0;013000 none none PFICU ./MetDir/%y4/%m2/%d2/GEOS.it.asm.mst_tavg_3hr_glo_L576x361_v73.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T01:30:00P03:00 PFILSAN kg_m-2_s-1 N Y F0;013000 none none PFILSAN ./MetDir/%y4/%m2/%d2/GEOS.it.asm.mst_tavg_3hr_glo_L576x361_v73.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T01:30:00P03:00 PFLCU kg_m-2_s-1 N Y F0;013000 none none PFLCU ./MetDir/%y4/%m2/%d2/GEOS.it.asm.mst_tavg_3hr_glo_L576x361_v73.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T01:30:00P03:00 PFLLSAN kg_m-2_s-1 N Y F0;013000 none none PFLLSAN ./MetDir/%y4/%m2/%d2/GEOS.it.asm.mst_tavg_3hr_glo_L576x361_v73.GEOS5294.%y4-%m2-%d2T%h2%n2.V01.nc4 2015-01-01T01:30:00P03:00 #------------------------------------------------------- # --- Fixed variables, from constants file --- #------------------------------------------------------- FRLAKE 1 N Y - none none FRLAKE ./MetDir/1998/01/01/GEOS.it.asm.asm_const_0hr_glo_L576x361_slv.GEOS5294.1998-01-01T0000.V01.nc4 FRLAND 1 N Y - none none FRLAND ./MetDir/1998/01/01/GEOS.it.asm.asm_const_0hr_glo_L576x361_slv.GEOS5294.1998-01-01T0000.V01.nc4 FRLANDIC 1 N Y - none none FRLANDICE ./MetDir/1998/01/01/GEOS.it.asm.asm_const_0hr_glo_L576x361_slv.GEOS5294.1998-01-01T0000.V01.nc4 FROCEAN 1 N Y - none none FROCEAN ./MetDir/1998/01/01/GEOS.it.asm.asm_const_0hr_glo_L576x361_slv.GEOS5294.1998-01-01T0000.V01.nc4 PHIS m2_s-2 N Y - none none PHIS ./MetDir/1998/01/01/GEOS.it.asm.asm_const_0hr_glo_L576x361_slv.GEOS5294.1998-01-01T0000.V01.nc4 OCEAN_MASK 1 N Y - none none FROCEAN ./MetDir/1998/01/01/GEOS.it.asm.asm_const_0hr_glo_L576x361_slv.GEOS5294.1998-01-01T0000.V01.nc4 """ RUNDIR_MET_EXTDATA_DERIVED_EXPORTS=""" OPTDEP TAUCLI+TAUCLW 0 """ ================================================ FILE: run/shared/settings/global_grid.txt ================================================ RUNDIR_GRID_DOMAIN_NAME='global' RUNDIR_GRID_LON_RANGE='[-180.0, 180.0]' RUNDIR_GRID_LAT_RANGE='[-90.0, 90.0]' RUNDIR_GRID_NESTED_SIM='false' RUNDIR_GRID_BUFFER_ZONE='[0, 0, 0, 0]' RUNDIR_USE_BCs='false' ================================================ FILE: run/shared/settings/gmao_hemco.txt ================================================ RUNDIR_GFED_EXT='on ' RUNDIR_USE_CEDS='true ' RUNDIR_USE_TSC2H6='true ' RUNDIR_USE_XIAOC3H8='true ' RUNDIR_USE_AEIC='true ' RUNDIR_USE_GMDCH4='true ' RUNDIR_USE_SFCVMR='true ' RUNDIR_CMIP6_FIELDS='false' RUNDIR_GCAP2_VERTRES='47' RUNDIR_Bry_DIR='STRAT/v2015-01/Bry' RUNDIR_GMI_DIR='GMI/v2015-02' RUNDIR_UCX_DIR='UCX/v2018-02' RUNDIR_GLOBAL_ACTA='* GLOBAL_ACTA $ROOT/GCClassic_Output/14.0.0/$YYYY/GEOSChem.SpeciesConc.$YYYY$MM01_0000z.nc4 SpeciesConc_ACTA 2010-2019/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Br_GC='* Br_GC $ROOT/GCClassic_Output/14.0.0/$YYYY/GEOSChem.SpeciesConc.$YYYY$MM01_0000z.nc4 SpeciesConc_Br 2010-2019/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_BrO_GC='* BrO_GC $ROOT/GCClassic_Output/14.0.0/$YYYY/GEOSChem.SpeciesConc.$YYYY$MM01_0000z.nc4 SpeciesConc_BrO 2010-2019/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_GLOBAL_CH4='* GLOBAL_CH4 $ROOT/GCClassic_Output/14.0.0/$YYYY/GEOSChem.SpeciesConc.$YYYY$MM01_0000z.nc4 SpeciesConc_CH4 2010-2019/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_GLOBAL_Cl='* GLOBAL_Cl $ROOT/CH4/v2024-01/GCC_14_Output/$YYYY/GEOSChem.SpeciesConc.$YYYY$MM01_0000z.nc4 SpeciesConc_Cl 2010-2019/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_GLOBAL_ClO='* GLOBAL_ClO $ROOT/GCClassic_Output/14.0.0/$YYYY/GEOSChem.SpeciesConc.$YYYY$MM01_0000z.nc4 SpeciesConc_ClO 2010-2019/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_GLOBAL_CO='* GLOBAL_CO $ROOT/GCClassic_Output/14.0.0/$YYYY/GEOSChem.SpeciesConc.$YYYY$MM01_0000z.nc4 SpeciesConc_CO 2010-2019/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_GLOBAL_HCl='* GLOBAL_HCl $ROOT/GCClassic_Output/14.0.0/$YYYY/GEOSChem.SpeciesConc.$YYYY$MM01_0000z.nc4 SpeciesConc_HCl 2010-2019/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_GLOBAL_HCOOH='* GLOBAL_HCOOH $ROOT/GCClassic_Output/14.0.0/$YYYY/GEOSChem.SpeciesConc.$YYYY$MM01_0000z.nc4 SpeciesConc_HCOOH 2010-2019/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_GLOBAL_HNO3='* GLOBAL_HNO3 $ROOT/GCClassic_Output/14.0.0/$YYYY/GEOSChem.SpeciesConc.$YYYY$MM01_0000z.nc4 SpeciesConc_HNO3 2010-2019/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_GLOBAL_HO2='* GLOBAL_HO2 $ROOT/GCClassic_Output/14.0.0/$YYYY/GEOSChem.SpeciesConc.$YYYY$MM01_0000z.nc4 SpeciesConc_HO2 2010-2019/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_GLOBAL_HOCl='* GLOBAL_HOCl $ROOT/GCClassic_Output/14.0.0/$YYYY/GEOSChem.SpeciesConc.$YYYY$MM01_0000z.nc4 SpeciesConc_HOCl 2010-2019/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_GLOBAL_NIT='* GLOBAL_NIT $ROOT/GCClassic_Output/14.0.0/$YYYY/GEOSChem.SpeciesConc.$YYYY$MM01_0000z.nc4 SpeciesConc_NIT 2010-2019/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_GLOBAL_NO='* GLOBAL_NO $ROOT/GCClassic_Output/14.0.0/$YYYY/GEOSChem.SpeciesConc.$YYYY$MM01_0000z.nc4 SpeciesConc_NO 2010-2019/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_GLOBAL_NO2='* GLOBAL_NO2 $ROOT/GCClassic_Output/14.0.0/$YYYY/GEOSChem.SpeciesConc.$YYYY$MM01_0000z.nc4 SpeciesConc_NO2 2010-2019/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_GLOBAL_NO3='* GLOBAL_NO3 $ROOT/GCClassic_Output/14.0.0/$YYYY/GEOSChem.SpeciesConc.$YYYY$MM01_0000z.nc4 SpeciesConc_NO3 2010-2019/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_GLOBAL_O3='* GLOBAL_O3 $ROOT/GCClassic_Output/14.0.0/$YYYY/GEOSChem.SpeciesConc.$YYYY$MM01_0000z.nc4 SpeciesConc_O3 2010-2019/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_GLOBAL_OH='* GLOBAL_OH $ROOT/CH4/v2024-01/GCC_14_Output/$YYYY/GEOSChem.SpeciesConc.$YYYY$MM01_0000z.nc4 SpeciesConc_OH 2010-2019/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_GLOBAL_PM25='* GLOBAL_PM25 $ROOT/GCClassic_Output/14.0.0/$YYYY/GEOSChem.AerosolMass.$YYYY$MM01_0000z.nc4 PM25 2010-2019/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_AERO_SO4='* AERO_SO4 $ROOT/GCClassic_Output/14.0.0/$YYYY/GEOSChem.SpeciesConc.$YYYY$MM01_0000z.nc4 SpeciesConc_SO4 2010-2019/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_AERO_NH4='* AERO_NH4 $ROOT/GCClassic_Output/14.0.0/$YYYY/GEOSChem.SpeciesConc.$YYYY$MM01_0000z.nc4 SpeciesConc_NH4 2010-2019/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_AERO_NIT='* AERO_NIT $ROOT/GCClassic_Output/14.0.0/$YYYY/GEOSChem.SpeciesConc.$YYYY$MM01_0000z.nc4 SpeciesConc_NIT 2010-2019/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_AERO_BCPI='* AERO_BCPI $ROOT/GCClassic_Output/14.0.0/$YYYY/GEOSChem.SpeciesConc.$YYYY$MM01_0000z.nc4 SpeciesConc_BCPI 2010-2019/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_AERO_BCPO='* AERO_BCPO $ROOT/GCClassic_Output/14.0.0/$YYYY/GEOSChem.SpeciesConc.$YYYY$MM01_0000z.nc4 SpeciesConc_BCPO 2010-2019/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_AERO_OCPI='* AERO_OCPI $ROOT/GCClassic_Output/14.0.0/$YYYY/GEOSChem.SpeciesConc.$YYYY$MM01_0000z.nc4 SpeciesConc_OCPI 2010-2019/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_AERO_OCPO='* AERO_OCPO $ROOT/GCClassic_Output/14.0.0/$YYYY/GEOSChem.SpeciesConc.$YYYY$MM01_0000z.nc4 SpeciesConc_OCPO 2010-2019/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_AERO_DST1='* AERO_DST1 $ROOT/GCClassic_Output/14.0.0/$YYYY/GEOSChem.SpeciesConc.$YYYY$MM01_0000z.nc4 SpeciesConc_DST1 2010-2019/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_GLOBAL_OA='* GLOBAL_OA $ROOT/GCClassic_Output/14.0.0/$YYYY/GEOSChem.AerosolMass.$YYYY$MM01_0000z.nc4 TotalOA 2010-2019/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_PCO_CH4='* PCO_CH4 $ROOT/CH4/v2024-01/GCC_14_Output/$YYYY/GEOSChem.ProdLoss.$YYYY$MM01_0000z.nc4 ProdCOfromCH4 2010-2019/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_PCO_NMVOC='* PCO_NMVOC $ROOT/CH4/v2024-01/GCC_14_Output/$YYYY/GEOSChem.ProdLoss.$YYYY$MM01_0000z.nc4 ProdCOfromNMVOC 2010-2019/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_PH2O2='* PH2O2 $ROOT/GCClassic_Output/14.0.0/$YYYY/GEOSChem.ProdLoss.$YYYY$MM01_0000z.nc4 Prod_H2O2 2010-2019/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_O3_PROD='* O3_PROD $ROOT/GCClassic_Output/14.0.0/$YYYY/GEOSChem.ProdLoss.$YYYY$MM01_0000z.nc4 Prod_Ox 2010-2019/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_O3_LOSS='* O3_LOSS $ROOT/GCClassic_Output/14.0.0/$YYYY/GEOSChem.ProdLoss.$YYYY$MM01_0000z.nc4 Loss_Ox 2010-2019/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_JBrO='* JBrO $ROOT/GCClassic_Output/14.0.0/$YYYY/GEOSChem.JValues.$YYYY$MM01_0000z.nc4 Jval_BrO 2010-2019/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_JH2O2='* JH2O2 $ROOT/GCClassic_Output/14.0.0/$YYYY/GEOSChem.JValues.$YYYY$MM01_0000z.nc4 Jval_H2O2 2010-2019/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_JNO2='* JNO2 $ROOT/GCClassic_Output/14.0.0/$YYYY/GEOSChem.JValues.$YYYY$MM01_0000z.nc4 Jval_NO2 2010-2019/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_CH4_LOSS='* CH4_LOSS $ROOT/CH4/v2024-01/GC_CH4_LOSS/GCC14_72LM.ch4loss.4x5.nc4 CH4loss 1985/1-12/1/0 C xyz s-1 * - 1 1' RUNDIR_CO2_COPROD='* CO2_COPROD $ROOT/CO2/v2024-01/CHEM/CO2_prod_rates.GEOS5.2x25.72L.nc LCO 2004-2009/1-12/1/0 C xyz kgC/m3/s * - 1 1' RUNDIR_Br_TOMCAT='* Br_TOMCAT $ROOT/MERCURY/v2014-09/BrOx/BrOx.GMI.geos5.2x25.nc LBRO2N 1985/1-12/1/0 C xyz pptv * - 1 1' RUNDIR_BrO_TOMCAT='* BrO_TOMCAT $ROOT/MERCURY/v2014-09/BrOx/BrOx.GMI.geos5.2x25.nc LBRO2H 1985/1-12/1/0 C xyz pptv * - 1 1' RUNDIR_GLOBAL_OC='1002 GLOBAL_OC $ROOT/POPs/v2015-08/OCPO.$met.$RES.nc OCPO 2005-2009/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_GLOBAL_BC='1002 GLOBAL_BC $ROOT/POPs/v2015-08/BCPO.$met.$RES.nc BCPO 2005-2009/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_TES_CLIM_CCL4='* TES_CLIM_CCL4 $ROOT/RRTMG/v2018-11/species_clim_profiles.2x25.nc CCl4 2000/1/1/0 C xyz ppbv * - 1 1' RUNDIR_TES_CLIM_CFC11='* TES_CLIM_CFC11 $ROOT/RRTMG/v2018-11/species_clim_profiles.2x25.nc CFC11 2000/1/1/0 C xyz ppbv * - 1 1' RUNDIR_TES_CLIM_CFC12='* TES_CLIM_CFC12 $ROOT/RRTMG/v2018-11/species_clim_profiles.2x25.nc CFC12 2000/1/1/0 C xyz ppbv * - 1 1' RUNDIR_TES_CLIM_CFC22='* TES_CLIM_CFC22 $ROOT/RRTMG/v2018-11/species_clim_profiles.2x25.nc CFC22 2000/1/1/0 C xyz ppbv * - 1 1' RUNDIR_TES_CLIM_CH4='* TES_CLIM_CH4 $ROOT/RRTMG/v2018-11/species_clim_profiles.2x25.nc CH4 2000/1/1/0 C xyz ppbv * - 1 1' RUNDIR_TES_CLIM_N2O='* TES_CLIM_N2O $ROOT/RRTMG/v2018-11/species_clim_profiles.2x25.nc N2O 2000/1/1/0 C xyz ppbv * - 1 1' RUNDIR_GMI_LOSS_CO='* GMI_LOSS_CO $ROOT/GMI/v2022-11/gmi.clim.CO.geos5.2x25.nc loss 2005/1-12/1/0 C xyz s-1 CO - 1 1' RUNDIR_GMI_PROD_CO='* GMI_PROD_CO $ROOT/GMI/v2022-11/gmi.clim.CO.geos5.2x25.nc prod 2005/1-12/1/0 C xyz v/v/s CO - 1 1' RUNDIR_OCEAN_MASK='1000 OCEAN_MASK $METDIR/$CNYR/01/$MET.$CNYR0101.CN.$RES.$NC FROCEAN 2000/1/1/0 C xy 1 1 -180/-90/180/90' RUNDIR_Hg_GLOBAL_Br='* GLOBAL_Br $ROOT/MERCURY/v2022-04/Oxidants_for_Hg_sim_2016.nc4 Br 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_BrO='* GLOBAL_BrO $ROOT/MERCURY/v2022-04/Oxidants_for_Hg_sim_2016.nc4 BrO 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_CH4='* GLOBAL_CH4 $ROOT/MERCURY/v2022-04/Oxidants_for_Hg_sim_2016.nc4 CH4 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_Cl='* GLOBAL_Cl $ROOT/MERCURY/v2022-04/Oxidants_for_Hg_sim_2016.nc4 Cl 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_ClO='* GLOBAL_ClO $ROOT/MERCURY/v2022-04/Oxidants_for_Hg_sim_2016.nc4 ClO 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_CO='* GLOBAL_CO $ROOT/MERCURY/v2022-04/Oxidants_for_Hg_sim_2016.nc4 CO 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_HO2='* GLOBAL_HO2 $ROOT/MERCURY/v2022-04/Oxidants_for_Hg_sim_2016.nc4 HO2 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_NO='* GLOBAL_NO $ROOT/MERCURY/v2022-04/Oxidants_for_Hg_sim_2016.nc4 NO 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_NO2='* GLOBAL_NO2 $ROOT/MERCURY/v2022-04/Oxidants_for_Hg_sim_2016.nc4 NO2 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_O3='* GLOBAL_O3 $ROOT/MERCURY/v2022-04/Oxidants_for_Hg_sim_2016.nc4 O3 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_OH='* GLOBAL_OH $ROOT/MERCURY/v2022-04/Oxidants_for_Hg_sim_2016.nc4 OH 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_fOA='* GLOBAL_fOA $ROOT/MERCURY/v2022-04/Oxidants_for_Hg_sim_2016.nc4 fOA 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_OCEAN='* GLOBAL_OCEAN $ROOT/MERCURY/v2018-04/ocean_fixed.nc ocean_conc 2007/1-12/1/0 C xy 1 * - 1 1' RUNDIR_Hg_GLOBAL_PM25='* GLOBAL_PM25 $ROOT/MERCURY/v2022-04/Oxidants_for_Hg_sim_2016.nc4 PM25 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_RH='* GLOBAL_RH $ROOT/MERCURY/v2022-04/Oxidants_for_Hg_sim_2016.nc4 RH 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AOD_BC='* AOD_BC $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 AOD_BC 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AOD_BGSULF='* AOD_BGSULF $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 AOD_BGSULF 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AOD_DST1='* AOD_DST1 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 AOD_DST1 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AOD_DST2='* AOD_DST2 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 AOD_DST2 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AOD_DST3='* AOD_DST3 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 AOD_DST3 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AOD_DST4='* AOD_DST4 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 AOD_DST4 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AOD_DST5='* AOD_DST5 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 AOD_DST5 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AOD_DST6='* AOD_DST6 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 AOD_DST6 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AOD_DST7='* AOD_DST7 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 AOD_DST7 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AOD_ICEI='* AOD_ICEI $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 AOD_ICEI 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AOD_OC='* AOD_OC $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 AOD_OC 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AOD_SO4='* AOD_SO4 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 AOD_SO4 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AOD_SSA='* AOD_SSA $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 AOD_SSA 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AOD_SSC='* AOD_SSC $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 AOD_SSC 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AREA_BC='* Area_BC $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Area_BC 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AREA_BGSULF='* Area_BGSULF $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Area_BGSULF 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AREA_DST1='* Area_DST1 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Area_DST1 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AREA_DST2='* Area_DST2 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Area_DST2 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AREA_DST3='* Area_DST3 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Area_DST3 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AREA_DST4='* Area_DST4 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Area_DST4 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AREA_DST5='* Area_DST5 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Area_DST5 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AREA_DST6='* Area_DST6 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Area_DST6 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AREA_DST7='* Area_DST7 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Area_DST7 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AREA_ICEI='* Area_ICEI $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Area_ICEI 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AREA_OC='* Area_OC $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Area_OC 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AREA_SO4='* Area_SO4 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Area_SO4 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AREA_SSA='* Area_SSA $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Area_SSA 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_AREA_SSC='* Area_SSC $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Area_SSC 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_RADI_BC='* Radi_BC $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Radi_BC 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_RADI_BGSULF='* Radi_BGSULF $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Radi_BGSULF 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_RADI_DST1='* Radi_DST1 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Radi_DST1 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_RADI_DST2='* Radi_DST2 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Radi_DST2 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_RADI_DST3='* Radi_DST3 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Radi_DST3 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_RADI_DST4='* Radi_DST4 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Radi_DST4 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_RADI_DST5='* Radi_DST5 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Radi_DST5 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_RADI_DST6='* Radi_DST6 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Radi_DST6 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_RADI_DST7='* Radi_DST7 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Radi_DST7 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_RADI_ICEI='* Radi_ICEI $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Radi_ICEI 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_RADI_OC='* Radi_OC $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Radi_OC 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_RADI_SO4='* Radi_SO4 $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Radi_SO4 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_RADI_SSA='* Radi_SSA $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Radi_SSA 2016/1-12/1/0 C xyz 1 * - 1 1' RUNDIR_Hg_GLOBAL_RADI_SSC='* Radi_SSC $ROOT/MERCURY/v2022-04/Aerosols_for_Hg_sim_2016.nc4 Radi_SSC 2016/1-12/1/0 C xyz 1 * - 1 1' ================================================ FILE: run/shared/settings/merra2.txt ================================================ RUNDIR_MET='MERRA2' RUNDIR_MET_LOWERCASE='merra2' RUNDIR_MET_DIR="${RUNDIR_DATA_ROOT}/GEOS_${RUNDIR_GRID_DIR}/MERRA2" RUNDIR_MET_DIR_RAW="${RUNDIR_DATA_ROOT}/GEOS_0.5x0.625/MERRA2" RUNDIR_MET_MASS_FLUX_IS_TOP_DOWN=.false. RUNDIR_MET_WIND_IS_TOP_DOWN=.false. RUNDIR_MET_HUMIDITY_IS_TOP_DOWN=.false. RUNDIR_MET_NONADVECTION_IS_TOP_DOWN=.false. RUNDIR_IMPORT_MASS_FLUX_FROM_EXTDATA=.false. RUNDIR_USE_TOTAL_AIR_PRESSURE_IN_ADVECTION=0 RUNDIR_MET_RES='05x0625' RUNDIR_MET_RAW_RES='0.5x0.625' RUNDIR_MET_LAT_RES='05' RUNDIR_MET_LON_RES='0625' RUNDIR_MET_EXT='nc4' RUNDIR_MET_CN_YR=2015 RUNDIR_METLIGHTNING='MERRA2' RUNDIR_METLIGHTNING_DIR="${RUNDIR_DATA_ROOT}/GEOS_0.5x0.625/MERRA2" RUNDIR_METLIGHTNING_RES='0.5x0.625' RUNDIR_LIGHTNOX_CLIM=false RUNDIR_LIGHTNOX_DIR='v2020-03' RUNDIR_MET_LCLIM='1980-2019' RUNDIR_PHOT_CLD_NLEV=34 RUNDIR_OFFLINE_BIOVOC_DIR='v2021-12' RUNDIR_OFFLINE_DUST_DIR='v2021-08' RUNDIR_OFFLINE_SEASALT_DIR='v2019-01' RUNDIR_OFFLINE_SOILNOX_DIR='v2021-12' RUNDIR_OFFLINE_EMIS_RES='0.5x0.625' RUNDIR_OFFLINE_EMIS_LAT_RES='05' RUNDIR_MET_EXTDATA_PRIMARY_EXPORTS=""" # --- Wind, 3-hr time-averaged --- UA;VA m_s-1 N Y F0;013000 none none U;V ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A3dyn.05x0625.nc4 # --- Surface pressure, 3-hr instantaneous --- PS1 Pa N Y 0 none 0.01 PS ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.I3.05x0625.nc4 PS2 Pa N Y 0;001000 none 0.01 PS ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.I3.05x0625.nc4 # --- 3D variables, 3-hr instantaneous --- SPHU1 kg_kg-1 N Y 0 none none QV ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.I3.05x0625.nc4 SPHU2 kg_kg-1 N Y 0;001000 none none QV ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.I3.05x0625.nc4 # --- 2D variables, 1-hr averaged --- ALBD 1 N Y F0;003000 none none ALBEDO ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A1.05x0625.nc4 CLDFRC 1 N Y F0;003000 none none CLDTOT ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A1.05x0625.nc4 EFLUX 1 N Y F0;003000 none none EFLUX ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A1.05x0625.nc4 EVAP 1 N Y F0;003000 none none EVAP ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A1.05x0625.nc4 FRSEAICE 1 N Y F0;003000 none none FRSEAICE ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A1.05x0625.nc4 FRSNO 1 N Y F0;003000 none none FRSNO ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A1.05x0625.nc4 GRN 1 N Y F0;003000 none none GRN ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A1.05x0625.nc4 GWETROOT 1 N Y F0;003000 none none GWETROOT ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A1.05x0625.nc4 GWETTOP 1 N Y F0;003000 none none GWETTOP ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A1.05x0625.nc4 HFLUX 1 N Y F0;003000 none none HFLUX ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A1.05x0625.nc4 LAI 1 N Y F0;003000 none none LAI ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A1.05x0625.nc4 PARDF 1 N Y F0;003000 none none PARDF ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A1.05x0625.nc4 PARDR 1 N Y F0;003000 none none PARDR ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A1.05x0625.nc4 PBLH 1 N Y F0;003000 none none PBLH ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A1.05x0625.nc4 PRECANV 1 N Y F0;003000 none none PRECANV ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A1.05x0625.nc4 PRECCON 1 N Y F0;003000 none none PRECCON ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A1.05x0625.nc4 PRECLSC 1 N Y F0;003000 none none PRECLSC ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A1.05x0625.nc4 PRECSNO 1 N Y F0;003000 none none PRECSNO ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A1.05x0625.nc4 PRECTOT 1 N Y F0;003000 none none PRECTOT ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A1.05x0625.nc4 QV2M 1 N Y F0;003000 none none QV2M ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A1.05x0625.nc4 SEAICE00 1 N Y F0;003000 none none SEAICE00 ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A1.05x0625.nc4 SEAICE10 1 N Y F0;003000 none none SEAICE10 ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A1.05x0625.nc4 SEAICE20 1 N Y F0;003000 none none SEAICE20 ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A1.05x0625.nc4 SEAICE30 1 N Y F0;003000 none none SEAICE30 ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A1.05x0625.nc4 SEAICE40 1 N Y F0;003000 none none SEAICE40 ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A1.05x0625.nc4 SEAICE50 1 N Y F0;003000 none none SEAICE50 ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A1.05x0625.nc4 SEAICE60 1 N Y F0;003000 none none SEAICE60 ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A1.05x0625.nc4 SEAICE70 1 N Y F0;003000 none none SEAICE70 ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A1.05x0625.nc4 SEAICE80 1 N Y F0;003000 none none SEAICE80 ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A1.05x0625.nc4 SEAICE90 1 N Y F0;003000 none none SEAICE90 ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A1.05x0625.nc4 SLP Pa N Y F0;003000 none 0.01 SLP ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A1.05x0625.nc4 SNODP 1 N Y F0;003000 none none SNODP ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A1.05x0625.nc4 SNOMAS 1 N Y F0;003000 none none SNOMAS ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A1.05x0625.nc4 RADSWG 1 N Y F0;003000 none none SWGDN ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A1.05x0625.nc4 TO3 dobson N Y F0;003000 none none TO3 ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A1.05x0625.nc4 TROPP Pa N Y F0;003000 none 0.01 TROPPT ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A1.05x0625.nc4 TSKIN 1 N Y F0;003000 none none TS ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A1.05x0625.nc4 TS 1 N Y F0;003000 none none T2M ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A1.05x0625.nc4 USTAR 1 N Y F0;003000 none none USTAR ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A1.05x0625.nc4 U10M m_s-1 N Y F0;003000 none none U10M ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A1.05x0625.nc4 V10M m_s-1 N Y F0;003000 none none V10M ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A1.05x0625.nc4 Z0 1 N Y F0;003000 none none Z0M ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A1.05x0625.nc4 TMPU1 K N Y 0 none none T ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.I3.05x0625.nc4 TMPU2 K N Y 0;001000 none none T ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.I3.05x0625.nc4 # --- 3D variables, 3-hr averaged --- QI 1 N Y F0;013000 none none QI ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A3cld.05x0625.nc4 QL 1 N Y F0;013000 none none QL ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A3cld.05x0625.nc4 TAUCLI 1 N Y F0;013000 none none TAUCLI ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A3cld.05x0625.nc4 TAUCLW 1 N Y F0;013000 none none TAUCLW ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A3cld.05x0625.nc4 OPTDEP 1 N Y F0;013000 none none OPTDEPTH ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A3cld.05x0625.nc4 CLDF 1 N Y F0;013000 none none CLOUD ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A3cld.05x0625.nc4 DTRAIN 1 N Y F0;013000 none none DTRAIN ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A3dyn.05x0625.nc4 OMEGA Pa_s-1 N Y F0;013000 none none OMEGA ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A3dyn.05x0625.nc4 RH - N Y F0;013000 none none RH ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A3dyn.05x0625.nc4 DQRCU 1 N Y F0;013000 none none DQRCU ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A3mstC.05x0625.nc4 DQRLSAN 1 N Y F0;013000 none none DQRLSAN ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A3mstC.05x0625.nc4 REEVAPCN 1 N Y F0;013000 none none REEVAPCN ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A3mstC.05x0625.nc4 REEVAPLS 1 N Y F0;013000 none none REEVAPLS ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A3mstC.05x0625.nc4 CMFMC 1 N Y F0;013000 none none CMFMC ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A3mstE.05x0625.nc4 PFICU 1 N Y F0;013000 none none PFICU ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A3mstE.05x0625.nc4 PFILSAN 1 N Y F0;013000 none none PFILSAN ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A3mstE.05x0625.nc4 PFLCU 1 N Y F0;013000 none none PFLCU ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A3mstE.05x0625.nc4 PFLLSAN 1 N Y F0;013000 none none PFLLSAN ./MetDir/%y4/%m2/MERRA2.%y4%m2%d2.A3mstE.05x0625.nc4 # --- Fixed variables, from constants file --- FRLAKE 1 N Y - none none FRLAKE ./MetDir/2015/01/MERRA2.20150101.CN.05x0625.nc4 FRLAND 1 N Y - none none FRLAND ./MetDir/2015/01/MERRA2.20150101.CN.05x0625.nc4 FRLANDIC 1 N Y - none none FRLANDIC ./MetDir/2015/01/MERRA2.20150101.CN.05x0625.nc4 FROCEAN 1 N Y - none none FROCEAN ./MetDir/2015/01/MERRA2.20150101.CN.05x0625.nc4 # PHIS m2_s-2 N Y - none none PHIS ./MetDir/2015/01/MERRA2.20150101.CN.05x0625.nc4 # Also include FROCEAN with name OCEAN_MASK to match HEMCO container name for ocean mask OCEAN_MASK 1 N Y - none none FROCEAN ./MetDir/2015/01/MERRA2.20150101.CN.05x0625.nc4 """ RUNDIR_MET_EXTDATA_DERIVED_EXPORTS=""" """ ================================================ FILE: run/shared/settings/modele2.1.txt ================================================ RUNDIR_MET='ModelE2.1' RUNDIR_MET_LOWERCASE='modele2.1' RUNDIR_MET_DIR="${RUNDIR_DATA_ROOT}/GCAP2/CMIP6/${RUNDIR_GCAP2_SCENARIO}/${RUNDIR_GISS_RES}" RUNDIR_MET_RES='2x2.5' RUNDIR_MET_NATIVE_RES='2x2.5' RUNDIR_MET_LAT_RES='20' RUNDIR_MET_LON_RES='25' RUNDIR_MET_EXT='nc4' RUNDIR_MET_CN_YR=1950 RUNDIR_PHOT_CLD_NLEV=28 ================================================ FILE: run/shared/settings/nested_grid.txt ================================================ RUNDIR_GRID_HALF_POLAR='true ' RUNDIR_GRID_NESTED_SIM='true ' RUNDIR_GRID_BUFFER_ZONE='[3, 3, 3, 3]' RUNDIR_USE_BCs='true ' ================================================ FILE: run/shared/setupConfigFiles.sh ================================================ #!/bin/bash #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !MODULE: setupConfigFiles.sh # # !DESCRIPTION: Defines utility functions to update configuration file # settings when creating a run directory. #\\ #\\ # !REVISION HISTORY: # Initial version: M. Sulprizio, 6/24/2020 # See the subsequent Git history with the gitk browser! #EOP #------------------------------------------------------------------------------ #BOC #============================================================================= #### Replacement for `sed -i -e` that works on both MacOS and Linux #============================================================================= function sed_ie() { REGEX=${1} FILE=${2} if [[ "x$(uname -s)" == "xDarwin" ]]; then sed -i '' -e "${REGEX}" "${FILE}" # MacOS/Darwin else sed -i -e "${REGEX}" "${FILE}" # GNU/Linux fi } #============================================================================= #### Define function to replace values in config files #============================================================================= function replace_colon_sep_val() { KEY=${1} VALUE=${2} FILE=${3} # Debug print (leave commented out) # printf '%-30s : %-20s %-20s\n' "${KEY//\\}" "${VALUE}" "${FILE}" # Replace value in line starting with 'whitespace + key + whitespace + : + # whitespace + value' where whitespace is variable length including none # # MacOS sed does not allow you to use \t for tab. The quick fix is # to use printf to save a tab character to a variable, and to use # that in the regular expression everywhere you would have used \t. # See the Github issue geoschem/geos-chem #617. (bmy, 2/23/21) TAB=$(printf "\t") REGEX="s|^\([${TAB} ]*${KEY}[${TAB} ]*:[${TAB} ]*\).*|\1${VALUE}|" sed_ie "${REGEX}" "${FILE}" } #============================================================================ #### Define function to remove line(s) in config files #============================================================================ function remove_text() { REGEX="/${1}/d" FILE=${2} sed_ie "${REGEX}" "${FILE}" } #============================================================================ #### Define function to insert text between two lines of a config file #============================================================================ function insert_text() { PREV_LINE=${1} NEW_LINE=${2} FILE=${3} # The POSIX standard (which works on both MacOS & GNU/Linux) calls # for splitting the regular expression with a hard return instead # of using a "\n" newline character. REGEX="/${PREV_LINE}/a \\ ${NEW_LINE}" sed_ie "${REGEX}" "${FILE}" } #============================================================================ #### Define function to update config file default settings based on #### simulation selected. All settings changed in this function are common #### between GEOS-Chem Classic and GCHP. This script mainly now adds species #### geoschem_config.yml and modifies diagnostic output based on simulation #### type. #### #### Argument: Extra option for full-chemistry simulation (string) #============================================================================ function set_common_settings() { # Check that simulation option is passed if [[ $# == 2 ]]; then sim_extra_option="${1}" model="${2}" else echo 'Usage: ./setupConfigFiles.sh {sim_extra_option} {model}' exit 1 fi valid_options=( 'standard' 'benchmark' 'complexSOA' 'complexSOA_SVPOA' \ 'aciduptake' 'marinePOA' 'TOMAS15' 'TOMAS40' 'APM' 'RRTMG' ) for i in "${valid_options[@]}"; do if [ "$i" == "$yourValue" ] ; then echo "Found" fi done #------------------------------------------------------------------------ # Benchmark settings #------------------------------------------------------------------------ if [[ "x${sim_extra_option}" == "xbenchmark" ]]; then #-------------------------------- # Updates for GC-Classic only #-------------------------------- if [[ "x${model}" == "xGCClassic" ]]; then # Change time cycle flag to allow missing species sed_ie 's|EFYO|CYS|' HEMCO_Config.rc fi #--------------------------------- # Updates for GCClassic and GCHP #--------------------------------- sed_ie 's|NO 0 3 |NO 104 -1|' HEMCO_Diagn.rc # Use online soil NOx (ExtNr=104) sed_ie 's|SALA 0 3 |SALA 107 -1|' HEMCO_Diagn.rc # Use online sea salt (ExtNr=107) sed_ie 's|SALC 0 3 |SALC 107 -1|' HEMCO_Diagn.rc # " " sed_ie 's|AL 0 3 |AL 107 -1|' HEMCO_Diagn.rc # " " sed_ie 's|CL 0 3 |CL 107 -1|' HEMCO_Diagn.rc # " " sed_ie 's|0 3 |125 -1|' HEMCO_Diagn.rc # Use online dust (ExtNr=125) sed_ie 's|0 4 |108 -1|' HEMCO_Diagn.rc # Use MEGAN (ExtNr=108) sed_ie 's|NH3 105 -1|NH3 0 3 |' HEMCO_Diagn.rc # NaturalNH3 is always ExtNr=0 sed_ie 's|ALD2 105 -1|ALD2 0 3 |' HEMCO_Diagn.rc # PlantDecay is always ExtNr=0 sed_ie 's|EOH 105 -1|EOH 0 3 |' HEMCO_Diagn.rc # PlantDecay is always ExtNr=0 sed_ie 's|#Inv|Inv|' HEMCO_Diagn.rc # Turn @ into # characters for the benchmark simulation, # which should cause MAPL to skip reading these lines. # This is a workaround for a "input file to long" MAPL error. sed_ie 's|@|#|' HISTORY.rc # Remove the first comment character on diagnostics sed_ie "s|#'|'|" HISTORY.rc fi #------------------------------------------------------------------------ # Standard settings #------------------------------------------------------------------------ if [[ "x${sim_extra_option}" == "xnone" ]]; then # Remove @ from HISTORY diagnostic fields & uncomment default collection sed_ie 's|@||' HISTORY.rc sed_ie "s|#'Default|'Default|" HISTORY.rc fi #------------------------------------------------------------------------ # Complex SOA settings #------------------------------------------------------------------------ if [[ "x${sim_extra_option}" == "xbenchmark" ]] || \ [[ ${sim_extra_option} =~ "complexSOA" ]] || \ [[ "x${sim_extra_option}" == "xAPM" ]]; then # Add complex SOA species ASOA* and ASOG* following AROMPN prev_line=' - AROMPN' new_line='\ - ASOA1\ - ASOA2\ - ASOA3\ - ASOAN\ - ASOG1\ - ASOG2\ - ASOG3 ' insert_text "${prev_line}" "${new_line}" geoschem_config.yml # Add complex SOA species TSOA* and TSOG* following TOLU prev_line=' - TOLU' new_line='\ - TSOA0\ - TSOA1\ - TSOA2\ - TSOA3\ - TSOG0\ - TSOG1\ - TSOG2\ - TSOG3 ' insert_text "${prev_line}" "${new_line}" geoschem_config.yml sed_ie 's/@//' HISTORY.rc fi # For complexSOA only, remove SOAP and SOAS species from geoschem_config.yml if [[ ${sim_extra_option} =~ "complexSOA" ]]; then remove_text ' - SOAP' geoschem_config.yml remove_text ' - SOAS' geoschem_config.yml fi #------------------------------------------------------------------------ # Semivolatile POA settings #------------------------------------------------------------------------ if [[ "x${sim_extra_option}" == "xcomplexSOA_SVPOA" ]]; then # Remove non-SVPOA species from geoschem_config.yml remove_text ' - OCPI' geoschem_config.yml remove_text ' - OCPO' geoschem_config.yml # Add semivolatile POA species in geoschem_config.yml prev_line=' - N2O5' new_line='\ - NAP' insert_text "${prev_line}" "${new_line}" geoschem_config.yml # Add OPOA* and OPOG* species following OIO prev_line=' - OIO' new_line=' - OPOA1\ - OPOA2\ - OPOG1\ - OPOG2 ' insert_text "${prev_line}" "${new_line}" geoschem_config.yml # Add POA* and POG* species following PIP prev_line=' - PIP' new_line='\ - POA1\ - POA2\ - POG1\ - POG2 ' insert_text "${prev_line}" "${new_line}" geoschem_config.yml # Remove the @ from HISTORY.rc diagnostic fields sed_ie 's/@//' HISTORY.rc fi #------------------------------------------------------------------------ # Acid uptake settings #------------------------------------------------------------------------ if [[ "x${sim_extra_option}" == "xaciduptake" ]]; then # Add DSTAL* species after DST4 prev_line=' - DSTbin7' new_line='\ - DSTALbin1\ - DSTALbin2\ - DSTALbin3\ - DSTALbin4\ - DSTALbin5\ - DSTALbin6\ - DSTALbin7 ' insert_text "${prev_line}" "${new_line}" geoschem_config.yml # Add NITD* species after NITs. NOTE: This is non-alphabetical, # but avoids double-adding these species after NIT and NITs. prev_line=' - NITs' new_line='\ - NITDbin1\ - NITDbin2\ - NITDbin3\ - NITDbin4\ - NITDbin5\ - NITDbin6\ - NITDbin7 ' insert_text "${prev_line}" "${new_line}" geoschem_config.yml # Add SO4* species after SO4s. NOTE: This is non-alphabetical, # but avoids double-adding these species after SO4 and SO4s. prev_line=' - SO4s' new_line='\ - SO4Dbin1\ - SO4Dbin2\ - SO4Dbin3\ - SO4Dbin4\ - SO4Dbin5\ - SO4Dbin6\ - SO4Dbin7 ' insert_text "${prev_line}" "${new_line}" geoschem_config.yml # Remove the @ from HISTORY.rc diagnostic fields sed_ie 's/@//' HISTORY.rc fi #------------------------------------------------------------------------ # Marine POA settings #------------------------------------------------------------------------ if [[ "x${sim_extra_option}" == "xmarinePOA" ]]; then # Add MOP* species following MONITU prev_line=' - MONITU' new_line='\ - MOPI\ - MOPO ' insert_text "${prev_line}" "${new_line}" geoschem_config.yml # Remove the @ from HISTORY.rc diagnostic fields sed_ie 's|@||' HISTORY.rc fi #------------------------------------------------------------------------ # RRTMG settings #------------------------------------------------------------------------ if [[ "x${sim_extra_option}" == "xRRTMG" ]]; then # Remove @ from HISTORY diagnostic fields & uncomment RRTMG collection sed_ie 's|@||' HISTORY.rc sed_ie "s|##'RRTMG'|'RRTMG'|" HISTORY.rc sed_ie "s|#'Default|'Default|" HISTORY.rc # Issue a warning printf "\nWARNING: All RRTMG run options are enabled which will significantly slow down the model!" printf "\nEdit geoschem_config.yml and HISTORY.rc in your new run directory to customize options to only" printf "\nwhat you need.\n" fi #------------------------------------------------------------------------ # TOMAS settings #------------------------------------------------------------------------ if [[ ${sim_extra_option} =~ "TOMAS" ]]; then # Change time cycle flag to allow missing species (GCClassic only) if [[ "x${model}" == "xGCClassic" ]]; then sed_ie 's|EFYO|CYS|' HEMCO_Config.rc fi # Remove extra species in extension settings for TOMAS15 simulations if [[ "x${sim_extra_option}" == "xTOMAS15" ]]; then sed_ie 's|\/SS16\/SS17\/SS18\/SS19\/SS20\/SS21\/SS22\/SS23\/SS24\/SS25\/SS26\/SS27\/SS28\/SS29\/SS30\/SS31\/SS32\/SS33\/SS34\/SS35\/SS36\/SS37\/SS38\/SS39\/SS40||' HEMCO_Config.rc sed_ie 's|\/DUST16\/DUST17\/DUST18\/DUST19\/DUST20\/DUST21\/DUST22\/DUST23\/DUST24\/DUST25\/DUST26\/DUST27\/DUST28\/DUST29\/DUST30\/DUST31\/DUST32\/DUST33\/DUST34\/DUST35\/DUST36\/DUST37\/DUST38\/DUST39\/DUST40||' HEMCO_Config.rc fi # Add TOMAS species for the first 15 bins following XYLE prev_line=' - XYLE' new_line='\ - H2SO4\ - NK01\ - NK02\ - NK03\ - NK04\ - NK05\ - NK06\ - NK07\ - NK08\ - NK09\ - NK10\ - NK11\ - NK12\ - NK13\ - NK14\ - NK15\ - SF01\ - SF02\ - SF03\ - SF04\ - SF05\ - SF06\ - SF07\ - SF08\ - SF09\ - SF10\ - SF11\ - SF12\ - SF13\ - SF14\ - SF15\ - SS01\ - SS02\ - SS03\ - SS04\ - SS05\ - SS06\ - SS07\ - SS08\ - SS09\ - SS10\ - SS11\ - SS12\ - SS13\ - SS14\ - SS15\ - ECOB01\ - ECOB02\ - ECOB03\ - ECOB04\ - ECOB05\ - ECOB06\ - ECOB07\ - ECOB08\ - ECOB09\ - ECOB10\ - ECOB11\ - ECOB12\ - ECOB13\ - ECOB14\ - ECOB15\ - ECIL01\ - ECIL02\ - ECIL03\ - ECIL04\ - ECIL05\ - ECIL06\ - ECIL07\ - ECIL08\ - ECIL09\ - ECIL10\ - ECIL11\ - ECIL12\ - ECIL13\ - ECIL14\ - ECIL15\ - OCOB01\ - OCOB02\ - OCOB03\ - OCOB04\ - OCOB05\ - OCOB06\ - OCOB07\ - OCOB08\ - OCOB09\ - OCOB10\ - OCOB11\ - OCOB12\ - OCOB13\ - OCOB14\ - OCOB15\ - OCIL01\ - OCIL02\ - OCIL03\ - OCIL04\ - OCIL05\ - OCIL06\ - OCIL07\ - OCIL08\ - OCIL09\ - OCIL10\ - OCIL11\ - OCIL12\ - OCIL13\ - OCIL14\ - OCIL15\ - DUST01\ - DUST02\ - DUST03\ - DUST04\ - DUST05\ - DUST06\ - DUST07\ - DUST08\ - DUST09\ - DUST10\ - DUST11\ - DUST12\ - DUST13\ - DUST14\ - DUST15\ - AW01\ - AW02\ - AW03\ - AW04\ - AW05\ - AW06\ - AW07\ - AW08\ - AW09\ - AW10\ - AW11\ - AW12\ - AW13\ - AW14\ - AW15 ' insert_text "${prev_line}" "${new_line}" geoschem_config.yml # Special handling for TOMAS-40 bin simulations if [[ ${sim_extra_option} = "TOMAS40" ]]; then # Add NK16-NK40 prev_line=' - NK15' new_line='\ - NK16\ - NK17\ - NK18\ - NK19\ - NK20\ - NK21\ - NK22\ - NK23\ - NK24\ - NK25\ - NK26\ - NK27\ - NK28\ - NK29\ - NK30\ - NK31\ - NK32\ - NK33\ - NK34\ - NK35\ - NK36\ - NK37\ - NK38\ - NK39\ - NK40 ' insert_text "${prev_line}" "${new_line}" geoschem_config.yml # Add SF16-SF40 prev_line=' - SF15' new_line='\ - SF16\ - SF17\ - SF18\ - SF19\ - SF20\ - SF21\ - SF22\ - SF23\ - SF24\ - SF25\ - SF26\ - SF27\ - SF28\ - SF29\ - SF30\ - SF31\ - SF32\ - SF33\ - SF34\ - SF35\ - SF36\ - SF37\ - SF38\ - SF39\ - SF40 ' insert_text "${prev_line}" "${new_line}" geoschem_config.yml # Add SS16-SS40 prev_line=' - SS15' new_line='\ - SS16\ - SS17\ - SS18\ - SS19\ - SS20\ - SS21\ - SS22\ - SS23\ - SS24\ - SS25\ - SS26\ - SS27\ - SS28\ - SS29\ - SS30\ - SS31\ - SS32\ - SS33\ - SS34\ - SS35\ - SS36\ - SS37\ - SS38\ - SS39\ - SS40 ' insert_text "${prev_line}" "${new_line}" geoschem_config.yml # Add ECOB16-ECOB40 prev_line=' - ECOB15' new_line='\ - ECOB16\ - ECOB17\ - ECOB18\ - ECOB19\ - ECOB20\ - ECOB21\ - ECOB22\ - ECOB23\ - ECOB24\ - ECOB25\ - ECOB26\ - ECOB27\ - ECOB28\ - ECOB29\ - ECOB30\ - ECOB31\ - ECOB32\ - ECOB33\ - ECOB34\ - ECOB35\ - ECOB36\ - ECOB37\ - ECOB38\ - ECOB39\ - ECOB40 ' insert_text "${prev_line}" "${new_line}" geoschem_config.yml # Add ECIL15-ECIL40 prev_line=' - ECIL15' new_line='\ - ECIL16\ - ECIL17\ - ECIL18\ - ECIL19\ - ECIL20\ - ECIL21\ - ECIL22\ - ECIL23\ - ECIL24\ - ECIL25\ - ECIL26\ - ECIL27\ - ECIL28\ - ECIL29\ - ECIL30\ - ECIL31\ - ECIL32\ - ECIL33\ - ECIL34\ - ECIL35\ - ECIL36\ - ECIL37\ - ECIL38\ - ECIL39\ - ECIL40 ' insert_text "${prev_line}" "${new_line}" geoschem_config.yml # Add OCOB15-OCOB40 prev_line=' - OCOB15' new_line='\ - OCOB16\ - OCOB17\ - OCOB18\ - OCOB19\ - OCOB20\ - OCOB21\ - OCOB22\ - OCOB23\ - OCOB24\ - OCOB25\ - OCOB26\ - OCOB27\ - OCOB28\ - OCOB29\ - OCOB30\ - OCOB31\ - OCOB32\ - OCOB33\ - OCOB34\ - OCOB35\ - OCOB36\ - OCOB37\ - OCOB38\ - OCOB39\ - OCOB40 ' insert_text "${prev_line}" "${new_line}" geoschem_config.yml # Add OCIL16-OCIL40 prev_line=' - OCIL15' new_line='\ - OCIL16\ - OCIL17\ - OCIL18\ - OCIL19\ - OCIL20\ - OCIL21\ - OCIL22\ - OCIL23\ - OCIL24\ - OCIL25\ - OCIL26\ - OCIL27\ - OCIL28\ - OCIL29\ - OCIL30\ - OCIL31\ - OCIL32\ - OCIL33\ - OCIL34\ - OCIL35\ - OCIL36\ - OCIL37\ - OCIL38\ - OCIL39\ - OCIL40 ' insert_text "${prev_line}" "${new_line}" geoschem_config.yml # Add DUST15-DUST40 prev_line=' - DUST15' new_line='\ - DUST16\ - DUST17\ - DUST18\ - DUST19\ - DUST20\ - DUST21\ - DUST22\ - DUST23\ - DUST24\ - DUST25\ - DUST26\ - DUST27\ - DUST28\ - DUST29\ - DUST30\ - DUST31\ - DUST32\ - DUST33\ - DUST34\ - DUST35\ - DUST36\ - DUST37\ - DUST38\ - DUST39\ - DUST40 ' insert_text "${prev_line}" "${new_line}" geoschem_config.yml # Add AW15-AW40 prev_line=' - AW15' new_line='\ - AW16\ - AW17\ - AW18\ - AW19\ - AW20\ - AW21\ - AW22\ - AW23\ - AW24\ - AW25\ - AW26\ - AW27\ - AW28\ - AW29\ - AW30\ - AW31\ - AW32\ - AW33\ - AW34\ - AW35\ - AW36\ - AW37\ - AW38\ - AW39\ - AW40 ' insert_text "${prev_line}" "${new_line}" geoschem_config.yml fi # Remove @ from HISTORY diagnostic fields & uncomment TOMAS collection sed_ie 's|@||' HISTORY.rc sed_ie "s|##'Tomas'|'Tomas'|" HISTORY.rc sed_ie "s|#'Default|'Default|" HISTORY.rc # Add TOMAS species prev_line="'SpeciesConcVV_ACET ', 'GCHPchem'," new_line=" 'SpeciesConcVV_NK01 ', 'GCHPchem',\n\ 'SpeciesConcVV_NK02 ', 'GCHPchem',\n\ 'SpeciesConcVV_NK03 ', 'GCHPchem',\n\ 'SpeciesConcVV_NK04 ', 'GCHPchem',\n\ 'SpeciesConcVV_NK05 ', 'GCHPchem',\n\ 'SpeciesConcVV_NK06 ', 'GCHPchem',\n\ 'SpeciesConcVV_NK07 ', 'GCHPchem',\n\ 'SpeciesConcVV_NK08 ', 'GCHPchem',\n\ 'SpeciesConcVV_NK09 ', 'GCHPchem',\n\ 'SpeciesConcVV_NK10 ', 'GCHPchem',\n\ 'SpeciesConcVV_NK11 ', 'GCHPchem',\n\ 'SpeciesConcVV_NK12 ', 'GCHPchem',\n\ 'SpeciesConcVV_NK13 ', 'GCHPchem',\n\ 'SpeciesConcVV_NK14 ', 'GCHPchem',\n\ 'SpeciesConcVV_NK15 ', 'GCHPchem',\n\ 'SpeciesConcVV_SF01 ', 'GCHPchem',\n\ 'SpeciesConcVV_SF02 ', 'GCHPchem',\n\ 'SpeciesConcVV_SF03 ', 'GCHPchem',\n\ 'SpeciesConcVV_SF04 ', 'GCHPchem',\n\ 'SpeciesConcVV_SF05 ', 'GCHPchem',\n\ 'SpeciesConcVV_SF06 ', 'GCHPchem',\n\ 'SpeciesConcVV_SF07 ', 'GCHPchem',\n\ 'SpeciesConcVV_SF08 ', 'GCHPchem',\n\ 'SpeciesConcVV_SF09 ', 'GCHPchem',\n\ 'SpeciesConcVV_SF10 ', 'GCHPchem',\n\ 'SpeciesConcVV_SF11 ', 'GCHPchem',\n\ 'SpeciesConcVV_SF12 ', 'GCHPchem',\n\ 'SpeciesConcVV_SF13 ', 'GCHPchem',\n\ 'SpeciesConcVV_SF14 ', 'GCHPchem',\n\ 'SpeciesConcVV_SF15 ', 'GCHPchem',\n\ 'SpeciesConcVV_ECOB01 ', 'GCHPchem',\n\ 'SpeciesConcVV_ECOB02 ', 'GCHPchem',\n\ 'SpeciesConcVV_ECOB03 ', 'GCHPchem',\n\ 'SpeciesConcVV_ECOB04 ', 'GCHPchem',\n\ 'SpeciesConcVV_ECOB05 ', 'GCHPchem',\n\ 'SpeciesConcVV_ECOB06 ', 'GCHPchem',\n\ 'SpeciesConcVV_ECOB07 ', 'GCHPchem',\n\ 'SpeciesConcVV_ECOB08 ', 'GCHPchem',\n\ 'SpeciesConcVV_ECOB09 ', 'GCHPchem',\n\ 'SpeciesConcVV_ECOB10 ', 'GCHPchem',\n\ 'SpeciesConcVV_ECOB11 ', 'GCHPchem',\n\ 'SpeciesConcVV_ECOB12 ', 'GCHPchem',\n\ 'SpeciesConcVV_ECOB13 ', 'GCHPchem',\n\ 'SpeciesConcVV_ECOB14 ', 'GCHPchem',\n\ 'SpeciesConcVV_ECOB15 ', 'GCHPchem',\n\ 'SpeciesConcVV_ECIL01 ', 'GCHPchem',\n\ 'SpeciesConcVV_ECIL02 ', 'GCHPchem',\n\ 'SpeciesConcVV_ECIL03 ', 'GCHPchem',\n\ 'SpeciesConcVV_ECIL04 ', 'GCHPchem',\n\ 'SpeciesConcVV_ECIL05 ', 'GCHPchem',\n\ 'SpeciesConcVV_ECIL06 ', 'GCHPchem',\n\ 'SpeciesConcVV_ECIL07 ', 'GCHPchem',\n\ 'SpeciesConcVV_ECIL08 ', 'GCHPchem',\n\ 'SpeciesConcVV_ECIL09 ', 'GCHPchem',\n\ 'SpeciesConcVV_ECIL10 ', 'GCHPchem',\n\ 'SpeciesConcVV_ECIL11 ', 'GCHPchem',\n\ 'SpeciesConcVV_ECIL12 ', 'GCHPchem',\n\ 'SpeciesConcVV_ECIL13 ', 'GCHPchem',\n\ 'SpeciesConcVV_ECIL14 ', 'GCHPchem',\n\ 'SpeciesConcVV_ECIL15 ', 'GCHPchem',\n\ 'SpeciesConcVV_OCOB01 ', 'GCHPchem',\n\ 'SpeciesConcVV_OCOB02 ', 'GCHPchem',\n\ 'SpeciesConcVV_OCOB03 ', 'GCHPchem',\n\ 'SpeciesConcVV_OCOB04 ', 'GCHPchem',\n\ 'SpeciesConcVV_OCOB05 ', 'GCHPchem',\n\ 'SpeciesConcVV_OCOB06 ', 'GCHPchem',\n\ 'SpeciesConcVV_OCOB07 ', 'GCHPchem',\n\ 'SpeciesConcVV_OCOB08 ', 'GCHPchem',\n\ 'SpeciesConcVV_OCOB09 ', 'GCHPchem',\n\ 'SpeciesConcVV_OCOB10 ', 'GCHPchem',\n\ 'SpeciesConcVV_OCOB11 ', 'GCHPchem',\n\ 'SpeciesConcVV_OCOB12 ', 'GCHPchem',\n\ 'SpeciesConcVV_OCOB13 ', 'GCHPchem',\n\ 'SpeciesConcVV_OCOB14 ', 'GCHPchem',\n\ 'SpeciesConcVV_OCOB15 ', 'GCHPchem',\n\ 'SpeciesConcVV_OCIL01 ', 'GCHPchem',\n\ 'SpeciesConcVV_OCIL02 ', 'GCHPchem',\n\ 'SpeciesConcVV_OCIL03 ', 'GCHPchem',\n\ 'SpeciesConcVV_OCIL04 ', 'GCHPchem',\n\ 'SpeciesConcVV_OCIL05 ', 'GCHPchem',\n\ 'SpeciesConcVV_OCIL06 ', 'GCHPchem',\n\ 'SpeciesConcVV_OCIL07 ', 'GCHPchem',\n\ 'SpeciesConcVV_OCIL08 ', 'GCHPchem',\n\ 'SpeciesConcVV_OCIL09 ', 'GCHPchem',\n\ 'SpeciesConcVV_OCIL10 ', 'GCHPchem',\n\ 'SpeciesConcVV_OCIL11 ', 'GCHPchem',\n\ 'SpeciesConcVV_OCIL12 ', 'GCHPchem',\n\ 'SpeciesConcVV_OCIL13 ', 'GCHPchem',\n\ 'SpeciesConcVV_OCIL14 ', 'GCHPchem',\n\ 'SpeciesConcVV_OCIL15 ', 'GCHPchem',\n\ 'SpeciesConcVV_SS01 ', 'GCHPchem',\n\ 'SpeciesConcVV_SS02 ', 'GCHPchem',\n\ 'SpeciesConcVV_SS03 ', 'GCHPchem',\n\ 'SpeciesConcVV_SS04 ', 'GCHPchem',\n\ 'SpeciesConcVV_SS05 ', 'GCHPchem',\n\ 'SpeciesConcVV_SS06 ', 'GCHPchem',\n\ 'SpeciesConcVV_SS07 ', 'GCHPchem',\n\ 'SpeciesConcVV_SS08 ', 'GCHPchem',\n\ 'SpeciesConcVV_SS09 ', 'GCHPchem',\n\ 'SpeciesConcVV_SS10 ', 'GCHPchem',\n\ 'SpeciesConcVV_SS11 ', 'GCHPchem',\n\ 'SpeciesConcVV_SS12 ', 'GCHPchem',\n\ 'SpeciesConcVV_SS13 ', 'GCHPchem',\n\ 'SpeciesConcVV_SS14 ', 'GCHPchem',\n\ 'SpeciesConcVV_SS15 ', 'GCHPchem',\n\ 'SpeciesConcVV_DUST01 ', 'GCHPchem',\n\ 'SpeciesConcVV_DUST02 ', 'GCHPchem',\n\ 'SpeciesConcVV_DUST03 ', 'GCHPchem',\n\ 'SpeciesConcVV_DUST04 ', 'GCHPchem',\n\ 'SpeciesConcVV_DUST05 ', 'GCHPchem',\n\ 'SpeciesConcVV_DUST06 ', 'GCHPchem',\n\ 'SpeciesConcVV_DUST07 ', 'GCHPchem',\n\ 'SpeciesConcVV_DUST08 ', 'GCHPchem',\n\ 'SpeciesConcVV_DUST09 ', 'GCHPchem',\n\ 'SpeciesConcVV_DUST10 ', 'GCHPchem',\n\ 'SpeciesConcVV_DUST11 ', 'GCHPchem',\n\ 'SpeciesConcVV_DUST12 ', 'GCHPchem',\n\ 'SpeciesConcVV_DUST13 ', 'GCHPchem',\n\ 'SpeciesConcVV_DUST14 ', 'GCHPchem',\n\ 'SpeciesConcVV_DUST15 ', 'GCHPchem',\n\ 'SpeciesConcVV_AW01 ', 'GCHPchem',\n\ 'SpeciesConcVV_AW02 ', 'GCHPchem',\n\ 'SpeciesConcVV_AW03 ', 'GCHPchem',\n\ 'SpeciesConcVV_AW04 ', 'GCHPchem',\n\ 'SpeciesConcVV_AW05 ', 'GCHPchem',\n\ 'SpeciesConcVV_AW06 ', 'GCHPchem',\n\ 'SpeciesConcVV_AW07 ', 'GCHPchem',\n\ 'SpeciesConcVV_AW08 ', 'GCHPchem',\n\ 'SpeciesConcVV_AW09 ', 'GCHPchem',\n\ 'SpeciesConcVV_AW10 ', 'GCHPchem',\n\ 'SpeciesConcVV_AW11 ', 'GCHPchem',\n\ 'SpeciesConcVV_AW12 ', 'GCHPchem',\n\ 'SpeciesConcVV_AW13 ', 'GCHPchem',\n\ 'SpeciesConcVV_AW14 ', 'GCHPchem',\n\ 'SpeciesConcVV_AW15 ', 'GCHPchem'," insert_text "${prev_line}" "${new_line}" HISTORY.rc fi #------------------------------------------------------------------------ # APM settings #------------------------------------------------------------------------ if [[ "x${sim_extra_option}" == "xAPM" ]]; then # Add APM species following XYLE prev_line=' - XYLE' new_line='\ - APMBCBIN01\ - APMBCBIN02\ - APMBCBIN03\ - APMBCBIN04\ - APMBCBIN05\ - APMBCBIN06\ - APMBCBIN07\ - APMBCBIN08\ - APMBCBIN09\ - APMBCBIN10\ - APMBCBIN11\ - APMBCBIN12\ - APMBCBIN13\ - APMBCBIN14\ - APMBCBIN15\ - APMCTBC1\ - APMCTBC2\ - APMCTDST1\ - APMCTDST2\ - APMCTOC1\ - APMCTOC2\ - APMCTSEA1\ - APMCTSEA2\ - APMDSTBIN01\ - APMDSTBIN02\ - APMDSTBIN03\ - APMDSTBIN04\ - APMDSTBIN05\ - APMDSTBIN06\ - APMDSTBIN07\ - APMDSTBIN08\ - APMDSTBIN09\ - APMDSTBIN10\ - APMDSTBIN11\ - APMDSTBIN12\ - APMDSTBIN13\ - APMDSTBIN14\ - APMDSTBIN15\ - APMH2SO4\ - APMLVSOA\ - APMLVSOG\ - APMOCBIN01\ - APMOCBIN02\ - APMOCBIN03\ - APMOCBIN04\ - APMOCBIN05\ - APMOCBIN06\ - APMOCBIN07\ - APMOCBIN08\ - APMOCBIN09\ - APMOCBIN10\ - APMOCBIN11\ - APMOCBIN12\ - APMOCBIN13\ - APMOCBIN14\ - APMOCBIN15\ - APMSEABIN01\ - APMSEABIN02\ - APMSEABIN03\ - APMSEABIN04\ - APMSEABIN05\ - APMSEABIN06\ - APMSEABIN07\ - APMSEABIN08\ - APMSEABIN09\ - APMSEABIN10\ - APMSEABIN11\ - APMSEABIN12\ - APMSEABIN13\ - APMSEABIN14\ - APMSEABIN15\ - APMSEABIN16\ - APMSEABIN17\ - APMSEABIN18\ - APMSEABIN19\ - APMSEABIN20\ - APMSPBIN01\ - APMSPBIN02\ - APMSPBIN03\ - APMSPBIN04\ - APMSPBIN05\ - APMSPBIN06\ - APMSPBIN07\ - APMSPBIN08\ - APMSPBIN09\ - APMSPBIN10\ - APMSPBIN11\ - APMSPBIN12\ - APMSPBIN13\ - APMSPBIN14\ - APMSPBIN15\ - APMSPBIN16\ - APMSPBIN17\ - APMSPBIN18\ - APMSPBIN19\ - APMSPBIN20\ - APMSPBIN21\ - APMSPBIN22\ - APMSPBIN23\ - APMSPBIN24\ - APMSPBIN25\ - APMSPBIN26\ - APMSPBIN27\ - APMSPBIN28\ - APMSPBIN29\ - APMSPBIN30\ - APMSPBIN31\ - APMSPBIN32\ - APMSPBIN33\ - APMSPBIN34\ - APMSPBIN35\ - APMSPBIN36\ - APMSPBIN37\ - APMSPBIN38\ - APMSPBIN39\ - APMSPBIN40 ' insert_text "${prev_line}" "${new_line}" geoschem_config.yml # Remove the @ from HISTORY.rc diagnostic fields sed_ie 's/@//' HISTORY.rc fi } #EOC ================================================ FILE: run/shared/singleCarbonSpecies.sh ================================================ #!/bin/bash #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !IROUTINE: singleCarbonSpecies.sh # # !DESCRIPTION: Updates carbon simulation configuration files so that # a simulation with a single species can be performed. # # !CALLING SEQUENCE: # ./singleCarbonSpecies.sh # # !REVISION HISTORY: # 14 Sep 2023 - R. Yantosca - Initial version # See the subsequent Git history with the gitk browser! #EOP #------------------------------------------------------------------------------ #BOC # List of all advected species in the carbon simulation ALL_SPECIES=(CO2 CO CH4 OCS) function isItemInList() { #========================================================================= # Test if an item is in a list. # # Arguments: # ${1}: The item # ${2}: The list # # Returns (via $?) # 0 if item is in the list # 1 if item is not in the list # # See stackoverflow.com/questions/8063228/check-if-a-variable-exists-in-a-list-in-bash #========================================================================= echo "${2}" | tr ' ' '\n' | grep -F -x -q "${1}" } function keyValueUpdate() { #========================================================================= # Runs an sed command to update a "key: value" pair in a file # # Arguments: # ${1} : Key # ${2} : Value # ${3} : Replacement value # ${4) : File in which the text is found #========================================================================= cmd="s/${1}: ${2}/${1}: ${3}/" sed -i -e "$cmd" "${4}" } function speciesToExclude() { #======================================================================== # Returns the list of species to exclude # # Arguments: # ${1} : Species to retain # # Returns: # List of species to exclude #======================================================================== # All species list=("${ALL_SPECIES[@]}") # Keep all species except for the 1st argument for i in "${!list[@]}"; do if [[ "x${list[i]}" == "x${1}" ]]; then unset 'list[i]' fi done # Print the result (that's how we return strings) result="" for spc in "${list[@]}"; do result+="${spc} " done echo $result } function updateGeosChemConfig() { #======================================================================== # Removes advected species from geoschem_config.yml # # Arguments: # ${1} : List of species to exclude # ${2} : Path to the run directory #======================================================================== # File to modify file="${2}/geoschem_config.yml" # Remove advected species (use \< and \> for exact match in order # to prevent inadvertently removing CO2 with when spc is CO. for spc in ${1}; do cmd="/\s*\-\s*\<${spc}\>/d" sed -i -e "${cmd}" "${file}" done } function updateHemcoConfig() { #======================================================================== # Removes advected species from geoschem_config.yml # # Arguments: # ${1} : List of species to exclude # ${2} : Path to the run directory #======================================================================== # File to be modified file="${2}/HEMCO_Config.rc" # True/False values in the HEMCO extension switches section true=" true" false=" false" # If CO2 is in the exclude list, turn off CO2 options # NOTE: This must precede CO to avoid unintended deletions isItemInList "CO2" "${1}" if [[ $? == 0 ]]; then key="--> USE_CO2_DATA " keyValueUpdate "${key}" "${true}" "${false}" "${file}" fi # If CO is in the exclude list, turn off CO options isItemInList "CO" "${1}" if [[ $? == 0 ]]; then key="--> USE_CO_DATA " keyValueUpdate "${key}" "${true}" "${false}" "${file}" fi # If CH4 is in the exclude list, turn off CH4 options isItemInList "CH4" "${1}" if [[ $? == 0 ]]; then key="--> USE_CH4_DATA " keyValueUpdate "${key}" "${true}" "${false}" "${file}" fi # If OCS is in the exclude list, turn off OCS options isItemInList "OCS" "${1}" if [[ $? == 0 ]]; then key="--> USE_OCS_DATA " keyValueUpdate "${key}" "${true}" "${false}" "${file}" fi } function updateHemcoDiagn() { #======================================================================== # Comments out lines for unused species in HEMCO_Diagn.rc # # Arguments: # ${1} : List of species to exclude # ${2} : Path to the run directory #======================================================================== # File to modify file="${2}/HEMCO_Diagn.rc" # Remove entries for excluded species exclude=("${1}") for spc in ${exclude[@]}; do sed -i "/Emis${spc}_/d" "${file}" done sed -i "/#####/d" "${file}" } function updateHistory() { #======================================================================== # Removes entries in HISTORY.rc for unused species # # Arguments: # ${1} : List of species to exclude # ${2} : Path to the run directory # ${3} : List of species to include #======================================================================== # File to be modified file="${2}/HISTORY.rc" # For GCHP: remove entries for species to be excluded exclude=("${1}") for spc in ${exclude[@]}; do sed -i "/\_${spc} /d" "${file}" # trailing space required sed -i "/Emis${spc}_/d" "${file}" done # Restore Collection.fields line if [[ ! ${3} =~ "CH4" ]]; then oldline=" 'Emis${3}_Total" newline="Emissions.fields: 'Emis${3}_Total" sed -i "s|$oldline|$newline|g" "${file}" oldline=" 'SpeciesConcVV_${3}" newline="SpeciesConc.fields: 'SpeciesConcVV_${3}" sed -i "s|$oldline|$newline|g" "${file}" oldline=" 'BudgetEmisDryDepFull_${3}" newline="Budget.fields: 'BudgetEmisDryDepFull_${3}" sed -i "s|$oldline|$newline|g" "${file}" oldline=" 'CloudConvFlux_${3}" newline="CloudConvFlux.fields: 'CloudConvFlux_${3}" sed -i "s|$oldline|$newline|g" "${file}" fi # Also disable emissions for OCS-only simulations # (as we currently do not have any) isItemInList "OCS" "${1}" if [[ $? == 1 ]]; then sed -i -e "s/'Emissions/#'Emissions/" "${file}" fi } function updateExtData() { #======================================================================== # Removes entries in ExtData.rc for unused species (GCHP only) # # Arguments: # ${1} : List of species to exclude # ${2} : Path to the run directory #======================================================================== # File to be modified file="${2}/ExtData.rc" # Skip if there is no ExtData.rc file (e.g. for GCClassic) [[ ! -f "${file}" ]] && return 0 # If CH4 is in the exclude list, remove CH4 entries. isItemInList "CH4" "${1}" if [[ $? == 0 ]]; then sed -i "/^GHGI_/d" "${file}" sed -i "/^MEX_/d" "${file}" sed -i "/^CAN_/d" "${file}" sed -i "/^GFEI_/d" "${file}" sed -i "/^EDGAR8_CH4_/d" "${file}" sed -i "/CMIP6_CH4_/d" "${file}" sed -i "/CMIP6_BB_CH4/d" "${file}" sed -i "/^UPDATED_GFED4_CH4/d" "${file}" sed -i "/^JPLW_CH4/d" "${file}" sed -i "/^CH4_SEEPS/d" "${file}" sed -i "/^CH4_RES_DAM/d" "${file}" sed -i "/^CH4_RES_SFC/d" "${file}" sed -i "/^CH4_TERMITES/d" "${file}" sed -i "/^CH4_SOILABSORB/d" "${file}" sed -i "/^\#CH4_/d" "${file}" sed -i "/RCP3PD_CH4/d" "${file}" sed -i "/RCP45_CH4/d" "${file}" sed -i "/RCP60_CH4/d" "${file}" sed -i "/RCP85_CH4/d" "${file}" sed -i "/^EMIS_SF/d" "${file}" sed -i "/^OH_SF/d" "${file}" sed -i "/^MANURE_SF/d" "${file}" sed -i "/^RICE_SF/d" "${file}" sed -i "/^EDGAR_SEASONAL_SF/d" "${file}" sed -i "/^CONUS_/d" "${file}" fi # If CO2 is in the exclude list, remove CO2 entries. # NOTE: CO2 deletions must prececde CO deletions. isItemInList "CO2" "${1}" if [[ $? == 0 ]]; then sed -i "/AEIC19_DAILY_CO2 /d" "${file}" # trailing space required sed -i "/AEIC19_MONMEAN_CO2 /d" "${file}" # trailing space required sed -i "/BBIOCO2_/d" "${file}" sed -i "/^CEDS_CO2_/d" "${file}" sed -i "/^CO2_/d" "${file}" sed -i "/COPROD/d" "${file}" sed -i "/FOSSILCO2_/d" "${file}" sed -i "/ICOADS_CO2_/d" "${file}" sed -i "/OCEANCO2_/d" "${file}" sed -i "/SIB_BBIO_CO2/d" "${file}" sed -i "/AVIATION_SURF_CORR/d" "${file}" fi # If CO is in the exclude list, remove CO entries isItemInList "CO" "${1}" if [[ $? == 0 ]]; then sed -i "/AEIC19_DAILY_CO /d" "${file}" # trailing space required sed -i "/AEIC19_MONMEAN_CO /d" "${file}" # trailing space required sed -i "/APEI_CO/d" "${file}" sed -i "/^CEDS_CO_/d" "${file}" sed -i "/CMIP6_CO_/d" "${file}" sed -i "/\#DICE_/d" "${file}" sed -i "/EDGAR_CO_/d" "${file}" sed -i "/EPA16_CO_/d" "${file}" sed -i "/HTAP_CO_/d" "${file}" sed -i "/RCP3PD_CO /d" "${file}" sed -i "/RCP45_CO /d" "${file}" sed -i "/RCP60_CO /d" "${file}" sed -i "/RCP85_CO /d" "${file}" sed -i "/NEI99_DOW_CO /d" "${file}" sed -i "/LIQFUEL_/d" "${file}" fi # If OSC is in the exclude list, remove OCS entries isItemInList "OCS" "${1}" if [[ $? == 0 ]]; then sed -i "/^OCS_/d" "${file}" sed -i "/^StoOCS_/d" "${file}" fi } function singleCarbonSpecies() { #======================================================================== # Main function # # Arguments: # ${1} : Species that you wish to retain # ${2} : Path to the run directory #======================================================================== # Error check arguments if [[ "x${1}" == "x" ]]; then echo "Need to pass the species to retain!" exit 1 fi # Path to the run directory if [[ "x${2}" == "x" ]]; then rundir="." else rundir="${2}" fi # Get species to include/exclude exclude=$(speciesToExclude "${1}") include=${1} # Update configuration files updateGeosChemConfig "${exclude}" "${rundir}" updateHemcoConfig "${exclude}" "${rundir}" updateHemcoDiagn "${exclude}" "${rundir}" updateHistory "${exclude}" "${rundir}" "${include}" updateExtData "${exclude}" "${rundir}" } ================================================ FILE: run/shared/species_database.yml ================================================ # GEOS-Chem Species Database # Core species only (neglecting microphysics) # NOTE: Anchors must be defined before any variables that reference them. A3O2: Formula: CH3CH2CH2OO FullName: Primary peroxy radical from C3H8 Is_Gas: true MW_g: 75.10 ACET: DD_F0: 1.0 DD_Hstar: 1.0e+5 Formula: CH3C(O)CH3 FullName: Acetone Henry_CR: 5500.0 Henry_K0: 2.74e+1 Is_DryDep: true Is_Gas: true Is_Photolysis: true MW_g: 58.09 ACR: DD_F0: 1.0 DD_Hstar: 7.3 Formula: C3H4O FullName: Acrolein Henry_CR: 5100.0 Henry_K0: 7.3 Is_DryDep: true Is_Gas: true MW_g: 56.06 ACTA: DD_F0: 1.0 DD_Hstar: 4.1e+3 Formula: CH3C(O)OH FullName: Acetic acid Henry_CR: 6200.0 Henry_K0: 4.05e+3 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 60.06 WD_RetFactor: 2.0e-2 ACO3: Formula: C3H3O3 FullName: Peroxyacetyl radical for APAN Is_Gas: true MW_g: 87.054 ACRO2: Formula: C3H5O4 FullName: Peroxy radical from ACR Is_Gas: true MW_g: 105.07 AERI: DD_DvzAerSnow: 0.03 DD_DvzMinVal: [0.01, 0.01] DD_F0: 0.0 DD_Hstar: 0.0 Formula: I FullName: Iodine on aerosol Is_Aerosol: true Is_DryDep: true Is_WetDep: true MW_g: 126.90 WD_AerScavEff: 1.0 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [1.0, 0.0, 1.0] WD_RainoutEff_Luo: [0.4, 0.0, 1.0] APAN: DD_F0: 1.0 DD_Hstar: 3.6 Formula: C3H3NO5 FullName: Peroxyacryloyl nitrate Henry_CR: 5700.0 Henry_K0: 2.94 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 133.06 WD_RetFactor: 2.0e-2 METALS_PROP: &METALSproperties DD_DustDryDep: true DD_F0: 0.0 DD_Hstar: 0.0 Is_Aerosol: true Is_DryDep: true Is_WetDep: true WD_AerScavEff: 1.0 WD_CoarseAer: true WD_KcScaleFac: [1.0, 1.0, 1.0] WD_RainoutEff: [1.0, 1.0, 0.0] WD_RainoutEff_Luo: [1.0, 0.1, 0.0] AlF1: << : *METALSproperties Density: 2500.0 Formula: Al FullName: Aluminium on dust Reff = 0.7 microns MW_g: 26.98 Radius: 7.3e-7 AlF2: << : *METALSproperties Density: 2650.0 Formula: Al FullName: Aluminium on dust, Reff = 1.4 microns MW_g: 26.98 Radius: 1.4e-6 WD_CoarseAer: true ALD2: DD_F0: 1.0 DD_Hstar: 1.1e+1 Formula: CH3CHO FullName: Acetaldehyde Henry_CR: 5900.0 Henry_K0: 1.32e+1 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 44.06 WD_RetFactor: 2.0e-2 ALK4: FullName: Lumped C4+C5 Alkanes Is_Gas: true MW_g: 58.12 ALK4N1: Formula: C4H8NO5 FullName: Peroxy radical from ALK4N2 Is_Gas: true MW_g: 150.13 ALK4N2: DD_F0: 1.0 DD_Hstar: 1.7e+4 Formula: RO2NO FullName: Lumped alkyl nitrate from ALK4 Henry_CR: 5800.0 Henry_K0: 1.0 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 119.10 WD_RetFactor: 2.0e-2 ALK4O2: Formula: C4H9O2 FullName: Peroxy radical from ALK4 Is_Gas: true MW_g: 89.13 ALK4P: DD_F0: 1.0 DD_Hstar: 2.94e+2 Formula: CH3CH2CH2CH2OOH FullName: Peroxide from ALK4O2 Henry_CR: 5200.0 Henry_K0: 2.94e+2 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 90.14 WD_RetFactor: 2.0e-2 ALK6: FullName: Lumped >= C6 Alkanes Formula: C7H16 Is_Gas: true MW_g: 100.20 aoa_PROP: &aoaproperties Is_Gas: true Is_Tracer: true MW_g: 1.0 # Use value of 1.0 to get past checks for missing MW_g Snk_Mode: constant Snk_Value: 0 Src_Add: true Src_Horiz: all Src_Mode: constant Src_Units: timestep Src_Value: 1 Src_Vert: all Units: days aoa: << : *aoaproperties FullName: Age of air uniform source tracer Snk_Horiz: all Snk_Vert: surface aoa_bl: << : *aoaproperties FullName: Age of air uniform source tracer with sink restricted to the boundary layer Snk_Horiz: all Snk_Vert: boundary_layer aoa_nh: << : *aoaproperties FullName: Age of air uniform source tracer with surface sink restricted to a zone in the northern hemisphere Snk_Horiz: lat_zone Snk_Lats: [30.0, 50.0] Snk_Vert: surface AONITA: DD_F0: 1.0 DD_Hstar: 2.9e+3 Formula: C6H6O6N FullName: Aerosol-phase organonitrates from aromatics Is_Aerosol: true Is_DryDep: true Is_WetDep: true Henry_CR: 6800.0 Henry_K0: 2.9e+3 MW_g: 189.12 WD_AerScavEff: 0.8 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [0.8, 0.0, 0.8] WD_RetFactor: 2.0e-2 APINP: DD_F0: 1.0 DD_Hstar: 1.0e+5 Formula: C10H18O3 FullName: Hydroperoxide from APIN Henry_CR: 6039.0 Henry_K0: 1.0e+5 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 186.28 WD_RetFactor: 2.0e-2 APINN: DD_F0: 1.0 DD_Hstar: 2.0e+6 Formula: C10H17NO4 FullName: 1st gen organic nitrate from APIN Henry_CR: 9200.0 Henry_K0: 1.7e+4 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 215.28 WD_RetFactor: 2.0e-2 APINO2: Formula: C10H17O3 FullName: Peroxy radical from APIN Is_Gas: true MW_g: 185.27 AROMP4: DD_F0: 1.0 DD_Hstar: 4.1e+5 Formula: C4H4O2 FullName: Generic C4 product of aromatics Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 68.08 Henry_CR: 7500.0 Henry_K0: 4.1e+5 WD_RetFactor: 2.0e-2 AROMP5: DD_F0: 1.0 DD_Hstar: 2.0e+6 Formula: C5H6O2 FullName: C5 unsaturated dicarbonyl Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 98.10 Henry_CR: 7500.0 Henry_K0: 2.0e+6 WD_RetFactor: 2.0e-2 AROMRO2: Formula: C6H7O3 FullName: hydroxy-peroxy radical from aromatics Is_Gas: true MW_g: 127.00 ZRO2: Formula: C7H9O5 FullName: RO2 for making lumped aromatic nitrate Is_Gas: true MW_g: 173.16 AROMCHO: DD_F0: 1.0 DD_Hstar: 2.0e+6 Formula: C5H6O4 FullName: ACCOMECHO from MCM Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 130.10 Henry_CR: 7500.0 Henry_K0: 2.0e+6 WD_RetFactor: 2.0e-2 AROMCO3: Formula: C5H5O6 FullName: Lumped aromatic peroxyacetyl radical Is_Gas: true MW_g: 161.09 AROMPN: DD_F0: 1.0 DD_Hstar: 3.6 Formula: C5H5NO8 FullName: Lumped PN from aromatics Henry_CR: 5700.0 Henry_K0: 2.94 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 207.1 WD_RetFactor: 2.0e-2 AsF1: << : *METALSproperties Density: 2500.0 Formula: As FullName: Arsenic on dust Reff = 0.7 microns MW_g: 74.92 Radius: 7.3e-7 AsF2: << : *METALSproperties Density: 2650.0 Formula: As FullName: Arsenic on dust, Reff = 1.4 microns MW_g: 74.92 Radius: 1.4e-6 ASOA_PROP: &ASOAproperties DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 FullName: Lumped non-volatile aerosol products of light aromatics + IVOCs Is_Aerosol: true Is_DryDep: true Is_WetDep: true MW_g: 150.00 WD_AerScavEff: 0.8 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [0.8, 0.0, 0.8] WD_RainoutEff_Luo: [0.4, 0.0, 0.8] ASOA1: << : *ASOAproperties ASOA2: << : *ASOAproperties ASOA3: << : *ASOAproperties ASOAN: << : *ASOAproperties ASOG_PROP: &ASOGproperties DD_F0: 0.0 DD_Hstar: 1.0e+5 FullName: Lumped non-volatile gas products of light aromatics + IVOCs Henry_CR: 6039.0 Henry_K0: 1.0e+5 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 150.00 WD_RetFactor: 2.0e-2 ASOG1: << : *ASOGproperties ASOG2: << : *ASOGproperties ASOG3: << : *ASOGproperties ATO2: Formula: CH3C(O)CH2O2 FullName: Peroxy radical from acetone Is_Gas: true MW_g: 89.08 ATOOH: DD_F0: 1.0 DD_Hstar: 2.94e+2 Formula: CH3C(O)CH2OOH FullName: ATO2 peroxide Henry_CR: 5200.0 Henry_K0: 2.94e+2 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 90.09 WD_RetFactor: 2.0e-2 B3O2: Formula: CH3CH(OO)CH3 FullName: B3O2 Is_Gas: true MW_g: 75.10 BALD: DD_F0: 1.0 DD_Hstar: 3.8e+1 Formula: C7H6O FullName: Benzaldehyde Henry_CR: 5500.0 Henry_K0: 3.8e+1 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 106.12 WD_RetFactor: 2.0e-2 BCPI: DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 Density: 1800.0 Formula: C FullName: Hydrophilic black carbon aerosol Is_Aerosol: true Is_DryDep: true Is_HygroGrowth: true Is_WetDep: true MW_g: 12.01 WD_AerScavEff: 1.0 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [1.0, 0.0, 1.0] WD_RainoutEff_Luo: [0.4, 0.0, 0.5] BCPO: DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 Density: 1800.0 Formula: C FullName: Hydrophobic black carbon aerosol Is_Aerosol: true Is_DryDep: true Is_WetDep: true MW_g: 12.01 WD_AerScavEff: 1.0 WD_KcScaleFac: [1.0, 1.0, 0.5] WD_KcScaleFac_Luo: [1.0, 1.0, 0.0] WD_RainoutEff: [1.0, 1.0, 0.0] WD_RainoutEff_Luo: [0.5, 0.05, 0.0] Be_PROP: &Beproperties DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 Is_Aerosol: true Is_DryDep: true Is_RadioNuclide: true Is_Tracer: true Is_WetDep: true # Comment out tracer-specific code for now and use RnPbBe_mod.F90 # Snk_Horiz: all # Snk_Mode: halflife # Snk_Vert: all # Src_Add: true # Src_Mode: HEMCO WD_AerScavEff: 1.0 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [1.0, 0.0, 1.0] WD_RainoutEff_Luo: [0.4, 0.0, 1.0] Be10: << : *Beproperties Formula: Be10 FullName: Beryllium-10 isotope MW_g: 10.0 # Snk_Period: 5.84e8 # Src_Vert: all Be10s: << : *Beproperties Formula: Be10 FullName: Beryllium-10 isotope stratospheric-source tracer MW_g: 10.0 # Snk_Period: 5.84e8 # Src_Vert: stratosphere Be7: << : *Beproperties Formula: Be7 FullName: Beryllium-7 isotope MW_g: 7.0 # Snk_Period: 53.3 # Src_Vert: all Be7s: << : *Beproperties Formula: Be7 FullName: Beryllium-7 isotope stratospheric-source tracer MW_g: 7.0 # Snk_Period: 53.3 # Src_Vert: stratosphere BENZ: Formula: C6H6 FullName: Benzene Is_Gas: true MW_g: 78.12 BENZO: Formula: C6H5O FullName: alkoxy radical from aromatics Is_Gas: true MW_g: 93.00 BENZO2: Formula: C6H5O2 FullName: peroxy radical from aromatics Is_Gas: true MW_g: 109.00 BENZP: DD_F0: 1.0 DD_Hstar: 2.9e+3 Formula: C6H6O2 FullName: Phenyl hydroperoxide Henry_CR: 6800.0 Henry_K0: 2.9e+3 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 110.11 WD_RetFactor: 2.0e-2 BPINN: DD_F0: 1.0 DD_Hstar: 2.0e+6 Formula: C10H17NO4 FullName: Saturated 1st gen BPIN organic nitrate Henry_CR: 9200.0 Henry_K0: 1.7e+4 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 215.28 WD_RetFactor: 2.0e-2 BPINO: DD_F0: 1.0 DD_Hstar: 1.0e+3 Formula: C9H14O FullName: Ketone from BPIN Henry_CR: 6039.0 Henry_K0: 1.0e+3 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 186.28 WD_RetFactor: 2.0e-2 BPINO2: Formula: C10H17O3 FullName: Peroxy radical from BPIN Is_Gas: true MW_g: 185.27 BPINOO2: Formula: C10H17O3 FullName: 2nd-gen peroxy radical from BPIN Is_Gas: true MW_g: 185.27 BPINON: DD_F0: 1.0 DD_Hstar: 2.0e+6 Formula: C9H13NO4 FullName: Saturated 2nd gen BPIN organic nitrate Henry_CR: 9200.0 Henry_K0: 1.7e+4 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 215.28 WD_RetFactor: 2.0e-2 BPINOOH: DD_F0: 1.0 DD_Hstar: 1.0e+5 Formula: C9H14O3 FullName: 2nd-gen peroxide from BPIN Henry_CR: 6039.0 Henry_K0: 1.0e+5 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 186.28 WD_RetFactor: 2.0e-2 BPINP: DD_F0: 1.0 DD_Hstar: 1.0e+5 Formula: C10H18O3 FullName: Peroxide from BPIN Henry_CR: 6039.0 Henry_K0: 1.0e+5 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 186.28 WD_RetFactor: 2.0e-2 Br: Formula: Br FullName: Atomic bromine Is_Gas: true MW_g: 79.90 Br2: DD_F0: 0.0 DD_Hstar: 7.6e-1 Formula: Br2 FullName: Molecular Bromine Henry_CR: 3720.0 Henry_K0: 7.6e-1 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 159.80 WD_RetFactor: 0.0 BrCl: DD_F0: 0.0 DD_Hstar: 9.7e-1 Henry_CR: 5600.0 Henry_K0: 9.7e-1 Formula: BrCl FullName: Bromine chloride Is_Gas: true Is_DryDep: true Is_WetDep: true WD_RetFactor: 0.0 Is_Photolysis: true MW_g: 115.45 BrNO2: Formula: BrNO2 FullName: Nitryl bromide Is_Gas: true Is_Photolysis: true MW_g: 125.91 BrNO3: DD_F0: 0.0 DD_Hstar: 1.0e+20 Formula: BrNO3 FullName: Bromine nitrate Is_DryDep: true Is_Gas: true Is_Photolysis: true MW_g: 141.91 BrO: Formula: BrO FullName: Bromine monoxide Is_Gas: true Is_DryAlt: true Is_Photolysis: true MW_g: 95.90 BRO2: Formula: C6H7O5 FullName: Peroxy radical from BENZ oxidation Is_Gas: true MW_g: 159.13 BUTO2: Formula: C4H7O3 FullName: peroxy radical from C4H6 Is_Gas: true MW_g: 103.097 BUTN: DD_F0: 1.0 DD_Hstar: 5.0e+4 Formula: C4H7NO4 FullName: C4H6 alkyl nitrate Henry_CR: 0.0 Henry_K0: 1.0e+3 Is_DryDep: true Is_Gas: true Is_Photolysis: false Is_WetDep: true MW_g: 133.10 WD_RetFactor: 2.0e-2 SALA_PROP: &SALAproperties DD_AeroDryDep: true DD_F0: 0.0 DD_Hstar: 0.0 Density: 2200.0 Is_Aerosol: true Is_DryDep: true Is_WetDep: true Radius: 2.55e-7 WD_AerScavEff: 1.0 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [1.0, 0.0, 1.0] WD_RainoutEff_Luo: [0.4, 0.0, 1.0] BrSALA: << : *SALAproperties Formula: Br FullName: Fine sea salt bromine Is_HygroGrowth: false MW_g: 79.90 BUTDI: Formula: C4H4O2 FullName: Butenedial Is_Gas: true MW_g: 84.07 BZCO3: Formula: C7H5O3 FullName: Acyl peroxy radical from benzaldehyde Is_Gas: true MW_g: 137.00 BZCO3H: DD_F0: 1.0 DD_Hstar: 2.4e+4 Formula: C6H5CO3H FullName: Perbenzoic acid Henry_CR: 0.0 Henry_K0: 2.4e+4 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 138.12 WD_RetFactor: 2.0e-2 BZPAN: DD_F0: 1.0 DD_Hstar: 7.0e+1 Formula: C7H5O5N FullName: Peroxybenzoylnitrate Henry_CR: 4600.0 Henry_K0: 7.0e+1 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 183.12 WD_RetFactor: 2.0e-2 SALC_PROP: &SALCproperties DD_AeroDryDep: true DD_F0: 0.0 DD_Hstar: 0.0 Density: 2200.0 Is_Aerosol: true Is_DryDep: true Is_WetDep: true Radius: 4.25e-6 WD_AerScavEff: 1.0 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [1.0, 0.0, 1.0] WD_RainoutEff_Luo: [0.4, 0.0, 1.0] BrSALC: << : *SALCproperties Formula: Br FullName: Coarse sea salt bromine Is_HygroGrowth: false MW_g: 79.90 WD_CoarseAer: true C: Formula: C FullName: Atomic carbon MW_g: 12.01 C2H2: Formula: C2H2 FullName: Acetylene (aka Ethyne) Is_Gas: true MW_g: 26.05 C2H4: Formula: C2H4 FullName: Ethylene Is_Gas: true MW_g: 28.05 C2H6: Formula: C2H6 FullName: Ethane Henry_CR: 2400.0 Henry_K0: 1.93e-3 Is_Gas: true MW_g: 30.08 C3H8: Formula: C3H8 FullName: Propane Henry_CR: 2400.0 Henry_K0: 1.52e-3 Is_Gas: true MW_g: 44.11 C4H6: Formula: C4H6 FullName: 1,3-butadiene Henry_CR: 4500.0 Henry_K0: 1.40e-2 Is_Gas: true MW_g: 54.09 C4HVP1: Formula: C4H7O3 FullName: C4 hydroxy-vinyl peroxy radicals from HPALDS Is_Gas: true MW_g: 103.11 C4HVP2: Formula: C4H7O3 FullName: C4 hydroxy-vinyl peroxy radicals from HPALDS Is_Gas: true MW_g: 103.11 C96N: DD_F0: 1.0 DD_Hstar: 2.0e+6 Formula: C9H15NO4 FullName: Saturated 2nd gen monoterpene organic nitrate Henry_CR: 9200.0 Henry_K0: 1.7e+4 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 215.28 WD_RetFactor: 2.0e-2 C96O2: Formula: C10H17O3 FullName: 2nd-gen peroxy radical from APIN Is_Gas: true MW_g: 185.27 C96O2H: DD_F0: 1.0 DD_Hstar: 3.14e+5 Formula: C9H16O3 FullName: Peroxide from APIN 2nd gen Henry_CR: 6039.0 Henry_K0: 3.14e+5 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 186.28 WD_RetFactor: 2.0e-2 CaF1: << : *METALSproperties Density: 2500.0 Formula: Ca FullName: Calcium on dust Reff = 0.7 microns MW_g: 40.08 Radius: 7.3e-7 CaF2: << : *METALSproperties Density: 2650.0 Formula: Ca FullName: Calcium on dust, Reff = 1.4 microns MW_g: 40.08 Radius: 1.4e-6 CaC3: << : *METALSproperties Density: 2650.0 Formula: Ca FullName: Calcium on dust, Reff = 2.4 microns MW_g: 40.08 Radius: 2.4e-6 CaC4: << : *METALSproperties Density: 2650.0 Formula: Ca FullName: Calcium on dust, Reff = 4.5 microns MW_g: 40.08 Radius: 4.5e-6 CCl4: Formula: CCl4 FullName: Carbon tetrachloride Is_Gas: true Is_Photolysis: true MW_g: 153.82 CdF1: << : *METALSproperties Density: 2500.0 Formula: Cd FullName: Cadmium on dust Reff = 0.7 microns MW_g: 112.41 Radius: 7.3e-7 CdF2: << : *METALSproperties Density: 2650.0 Formula: Cd FullName: Cadmium on dust, Reff = 1.4 microns MW_g: 112.41 Radius: 1.4e-6 CFC11: Formula: CCl3F FullName: CFC-11 Is_Gas: true Is_Photolysis: true MW_g: 137.37 CFC113: Formula: C2Cl3F3 FullName: CFC-113 Is_Gas: true Is_Photolysis: true MW_g: 187.38 CFC114: Formula: C2Cl2F4 FullName: CFC-114 Is_Gas: true Is_Photolysis: true MW_g: 170.92 CFC115: Formula: C2ClF5 FullName: CFC-115 Is_Gas: true Is_Photolysis: true MW_g: 154.47 CFC12: Formula: CCl2F2 FullName: CFC-12 Is_Gas: true Is_Photolysis: true MW_g: 120.91 CH2Br2: Formula: CH2Br2 FullName: Dibromomethane Henry_CR: 5000.0 Henry_K0: 1.22 Is_Gas: true Is_Photolysis: true MW_g: 173.83 CH2Cl2: Formula: CH2Cl2 FullName: Dichloromethane Is_Gas: true Is_Photolysis: true MW_g: 84.93 CH2I2: Formula: CH2I2 FullName: Diiodomethane Is_Gas: true Is_Photolysis: true MW_g: 267.84 CH2IBr: Formula: CH2IBr FullName: Bromoiodomethane Is_Gas: true Is_Photolysis: true MW_g: 220.84 CH2ICl: Formula: CH2ICl FullName: Chloroiodomethane Is_Gas: true Is_Photolysis: true MW_g: 176.38 CH2O: Background_VV: 4.0e-15 DD_F0: 1.0 DD_Hstar: 3.0e+3 Formula: CH2O FullName: Formaldehyde Henry_CR: 6800.0 Henry_K0: 3.24e+3 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 30.03 WD_RetFactor: 2.0e-2 CH2OO: Formula: CH2OO FullName: Criegee intermediate Is_Gas: true MW_g: 46.03 CH3Br: Formula: CH3Br FullName: Methyl bromide Henry_CR: 2800.0 Henry_K0: 1.32e-1 Is_Gas: true Is_Photolysis: true MW_g: 94.94 CH3CCl3: Formula: CH3CCl3 FullName: Methyl chloroform Is_Gas: true Is_Photolysis: true MW_g: 133.35 CH3CHOO: Formula: CH3CHOO FullName: Criegee intermediate Is_Gas: true MW_g: 60.06 CH3Cl: Formula: CH3Cl FullName: Chloromethane Is_Gas: true Is_Photolysis: true MW_g: 50.45 CH3I: Background_VV: 1.0e-20 Formula: CH3I FullName: Methyl iodide Henry_CR: 3.6e+3 Henry_K0: 0.20265 Is_Gas: true Is_Photolysis: true Is_Tracer: true Snk_Horiz: all Snk_Mode: efolding Snk_Period: 5 Snk_Vert: all Src_Add: true Src_Mode: HEMCO MW_g: 141.94 CH4_PROP: &CH4properties Formula: CH4 Is_Gas: true MW_g: 16.04 CH4: << : *CH4properties Background_VV: 1.8e-6 FullName: Methane MW_g: 16.04 << : *CH4properties Background_VV: 1.0e-20 FullName: Methane from biomass burning emissions CH4_COL: << : *CH4properties Background_VV: 1.0e-20 FullName: Methane from coal emissions CH4_GAS: << : *CH4properties Background_VV: 1.0e-20 FullName: Methane from gas emissions CH4_LAK: << : *CH4properties Background_VV: 1.0e-20 FullName: Methane from lake emissions CH4_LDF: << : *CH4properties Background_VV: 1.0e-20 FullName: Methane from landfill emissions CH4_LIV: << : *CH4properties Background_VV: 1.0e-20 FullName: Methane from livestock emissions CH4_OIL: << : *CH4properties Background_VV: 1.0e-20 FullName: Methane from oil emissions CH4_OTA: << : *CH4properties Background_VV: 1.0e-20 FullName: Methane from other anthropogenic emissions CH4_RES: << : *CH4properties Background_VV: 1.0e-20 FullName: Methane from hydroelectric reservoir emissions CH4_RIC: << : *CH4properties Background_VV: 1.0e-20 FullName: Methane from rice emissions CH4_SAB: << : *CH4properties Background_VV: 1.0e-20 FullName: Methane from soil absorption CH4_SEE: << : *CH4properties Background_VV: 1.0e-20 FullName: Methane from geological seep emissions CH4_TER: << : *CH4properties Background_VV: 1.0e-20 FullName: Methane from termite emissions CH4_WST: << : *CH4properties Background_VV: 1.0e-20 FullName: Methane from waste emissions CH4_WTL: << : *CH4properties Background_VV: 1.0e-20 FullName: Methane from wetland emissions CHBr3: Formula: CHBr3 FullName: Bromoform Henry_CR: 5200.0 Henry_K0: 1.72 Is_Gas: true Is_Photolysis: true MW_g: 252.73 CHCl3: Formula: CHCl3 FullName: Chloroform Is_Gas: true MW_g: 119.35 Cl: Formula: Cl FullName: Atomic chlorine Is_Gas: true MW_g: 35.45 Cl2: DD_F0: 0.0 DD_Hstar: 9.2e-2 Formula: Cl2 FullName: Molecular chlorine Is_Gas: true Is_Photolysis: true Is_DryDep: true Henry_K0: 9.2e-2 Henry_CR: 2000.0 MW_g: 70.90 Cl2O2: Formula: Cl2O2 FullName: Dichlorine dioxide Is_Gas: true Is_Photolysis: true MW_g: 102.91 ClNO2: DD_F0: 0.0 DD_Hstar: 4.5e-2 Formula: ClNO2 FullName: Nitryl chloride Is_Gas: true Is_Photolysis: true Is_DryDep: true MW_g: 81.45 ClNO3: DD_F0: 0.0 DD_Hstar: 1.0e+20 Formula: ClNO3 FullName: Chlorine nitrate Is_DryDep: true Is_Gas: true Is_Photolysis: true Henry_K0: 1.0e+20 Henry_CR: 0.0 WD_RetFactor: 1.0 MW_g: 97.45 ClO: DD_F0: 0.0 DD_Hstar: 7.0e-1 Formula: ClO FullName: Chlorine monoxide Is_Gas: true Is_Photolysis: true Is_DryDep: true MW_g: 51.45 ClOO: DD_F0: 0.0 DD_Hstar: 1.0 Formula: ClOO FullName: Chlorine dioxide Is_Gas: true Is_Photolysis: true Is_DryDep: true Henry_K0: 1.0 Henry_CR: 3500.0 MW_g: 67.45 CLOCK: Background_VV: 0.0 FullName: Clock tracer for diagnosing age of air Is_Gas: true MW_g: 1.0 # Use value of 1.0 to get past checks for missing MW_g CO2_PROP: &CO2properties Formula: CO2 Is_Gas: true MW_g: 44.01 CO2: << : *CO2properties Background_VV: 3.55e-4 FullName: Carbon dioxide CO2av: << : *CO2properties Background_VV: 1.0e-20 FullName: Carbon dioxide from aviation emissions CO2bal: << : *CO2properties Background_VV: 1.0e-20 FullName: Carbon dioxide from balanced biosphere CO2bb: << : *CO2properties Background_VV: 1.0e-20 FullName: Carbon dioxide from biomass burning emissions CO2bf: << : *CO2properties Background_VV: 1.0e-20 FullName: Carbon dioxide from biofuel emissions CO2ch: << : *CO2properties Background_VV: 1.0e-20 FullName: Carbon dioxide from chemical sources CO2corr: << : *CO2properties Background_VV: 1.0e-20 FullName: Carbon dioxide chemical source surface correction CO2ff: << : *CO2properties Background_VV: 1.0e-20 FullName: Carbon dioxide from fossil fuel emissions CO2nte: << : *CO2properties Background_VV: 1.0e-20 FullName: Carbon dioxide from net terrestrial exchange CO2oc: << : *CO2properties Background_VV: 1.0e-20 FullName: Carbon dioxide from ocean emissions CO2se: << : *CO2properties Background_VV: 1.0e-20 FullName: Carbon dioxide from ship emissions CO_PROP: &COproperties Formula: CO Is_Gas: true MW_g: 28.01 CO: << : *COproperties FullName: Carbon monoxide Background_VV: 1.0e-7 COacet: << : *COproperties Background_VV: 1.0e-20 FullName: CO produced from acetone oxidation CO_25: << : *COproperties Background_VV: 1.0e-20 FullName: Anthropogenic CO 25 day tracer Is_Tracer: true Snk_Horiz: all Snk_Mode: efolding Snk_Period: 25 Snk_Vert: all Src_Add: true Src_Mode: HEMCO CO_50: << : *COproperties Background_VV: 1.0e-20 FullName: Anthropogenic CO 50 day tracer Is_Tracer: true Snk_Horiz: all Snk_Mode: efolding Snk_Period: 50 Snk_Vert: all Src_Add: true Src_Mode: HEMCO COasia: << : *COproperties Background_VV: 1.0e-20 FullName: Anthropogenic + biofuel CO emitted over Asia CObbaf: << : *COproperties Background_VV: 1.0e-20 FullName: Biomass burning CO emitted over Africa CObbam: << : *COproperties Background_VV: 1.0e-20 FullName: Biomass burning CO emitted over South America CObbas: << : *COproperties Background_VV: 1.0e-20 FullName: Biomass burning CO emitted over Asia CObbeu: << : *COproperties Background_VV: 1.0e-20 FullName: Biomass burning CO emitted over Europe CObboc: << : *COproperties Background_VV: 1.0e-20 FullName: Biomass burning CO emitted over Oceania CObboth: << : *COproperties Background_VV: 1.0e-20 FullName: Biomass burning CO emitted everywhere else CObiof: << : *COproperties Background_VV: 1.0e-20 FullName: CO produced from biofuels (whole world) COch4: << : *COproperties Background_VV: 1.0e-20 FullName: CO produced from methane oxidation COeur: << : *COproperties Background_VV: 1.0e-20 FullName: Anthropogenic + biofuel CO emitted over Europe COisop: << : *COproperties Background_VV: 1.0e-20 FullName: CO produced from isoprene oxidation COmeoh: << : *COproperties Background_VV: 1.0e-20 FullName: CO produced from methanol oxidation COmono: << : *COproperties Background_VV: 1.0e-20 FullName: CO produced from monoterpene oxidation COnmvoc: << : *COproperties Background_VV: 1.0e-20 FullName: CO produced from NMVOC oxidation COoth: << : *COproperties Background_VV: 1.0e-20 FullName: Anthropogenic + biofuel CO emitted everywhere else COUniformEmis25dayTracer: << : *COproperties Background_VV: 1.0e-20 FullName: CO_with_uniform_emission_and_25day_lifetime COus: << : *COproperties Background_VV: 1.0e-20 FullName: Anthropogenic + biofuel CO emitted over the USA CSL: DD_F0: 1.0 DD_Hstar: 4.2e+2 Formula: C7H8O FullName: Cresols Henry_CR: 8500.0 Henry_K0: 4.2e+2 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 108.14 WD_RetFactor: 2.0e-2 DMS: Formula: (CH3)2S FullName: Dimethyl sulfide Henry_CR: 3100.0 Henry_K0: 0.48 Is_Aerosol: true MW_g: 62.13 DSTbin_PROP: &DSTbinproperties DD_DustDryDep: true DD_F0: 0.0 DD_Hstar: 0.0 Is_Aerosol: true Is_DryDep: true Is_WetDep: true WD_AerScavEff: 1.0 WD_Is_DSTbin: true WD_KcScaleFac: [1.0, 1.0, 1.0] WD_RainoutEff: [1.0, 1.0, 0.0] WD_RainoutEff_Luo: [1.0, 0.1, 0.0] DSTbin1: << : *DSTbinproperties Density: 2500.0 FullName: Dust aerosol, Reff = 0.151 microns MW_g: 29.0 Radius: 1.51e-7 WD_WashoutRainPara: [3.99e-7, 0.71] WD_WashoutSnowPara: [7.28e-6, 0.57] DSTbin2: << : *DSTbinproperties Density: 2500.0 FullName: Dust aerosol, Reff = 0.253 microns MW_g: 29.0 Radius: 2.53e-7 WD_WashoutRainPara: [4.07e-7, 0.71] WD_WashoutSnowPara: [1.34e-5, 0.56] DSTbin3: << : *DSTbinproperties Density: 2500.0 FullName: Dust aerosol, Reff = 0.402 microns MW_g: 29.0 Radius: 4.02e-7 WD_WashoutRainPara: [4.81e-7, 0.72] WD_WashoutSnowPara: [2.72e-5, 0.56] DSTbin4: << : *DSTbinproperties Density: 2500.0 FullName: Dust aerosol, Reff = 0.818 microns MW_g: 29.0 Radius: 8.18e-7 WD_WashoutRainPara: [8.43e-7, 0.73] WD_WashoutSnowPara: [6.03e-5, 0.55] DSTbin5: << : *DSTbinproperties Density: 2650.0 FullName: Dust aerosol, Reff = 1.491 microns MW_g: 29.0 Radius: 1.491e-6 WD_WashoutRainPara: [4.82e-5, 0.88] WD_WashoutSnowPara: [4.15e-4, 0.61] DSTbin6: << : *DSTbinproperties Density: 2650.0 FullName: Dust aerosol, Reff = 2.417 microns MW_g: 29.0 Radius: 2.417e-6 WD_WashoutRainPara: [2.17e-4, 0.87] WD_WashoutSnowPara: [1.27e-3, 0.67] DSTbin7: << : *DSTbinproperties Density: 2650.0 Radius: 3.721e-6 MW_g: 29.0 FullName: Dust aerosol, Reff = 3.721 microns WD_WashoutRainPara: [3.37e-4, 0.84] WD_WashoutSnowPara: [2.42e-3, 0.73] DSTALbin1: << : *DSTbinproperties Density: 2500.0 FullName: DSTbin1 alkalinity MW_g: 29.0 Radius: 1.51e-7 WD_WashoutRainPara: [3.99e-7, 0.71] WD_WashoutSnowPara: [7.28e-6, 0.57] DSTALbin2: << : *DSTbinproperties Density: 2500.0 FullName: DSTbin2 alkalinity MW_g: 29.0 Radius: 2.53e-7 WD_WashoutRainPara: [4.07e-7, 0.71] WD_WashoutSnowPara: [1.34e-5, 0.56] DSTALbin3: << : *DSTbinproperties Density: 2500.0 FullName: DSTbin3 alkalinity MW_g: 29.0 Radius: 4.02e-7 WD_WashoutRainPara: [4.81e-7, 0.72] WD_WashoutSnowPara: [2.72e-5, 0.56] DSTALbin4: << : *DSTbinproperties Density: 2500.0 FullName: DSTbin4 alkalinity MW_g: 29.0 Radius: 8.18e-7 WD_WashoutRainPara: [8.43e-7, 0.73] WD_WashoutSnowPara: [6.03e-5, 0.55] DSTALbin5: << : *DSTbinproperties Density: 2650.0 FullName: DSTbin5 alkalinity Radius: 1.491e-6 MW_g: 29.0 WD_WashoutRainPara: [4.82e-5, 0.88] WD_WashoutSnowPara: [4.15e-4, 0.61] DSTALbin6: << : *DSTbinproperties Density: 2650.0 FullName: DSTbin6 alkalinity MW_g: 29.0 Radius: 2.417e-6 WD_WashoutRainPara: [2.17e-4, 0.87] WD_WashoutSnowPara: [1.27e-3, 0.67] DSTALbin7: << : *DSTbinproperties Density: 2650.0 FullName: DSTbin7 alkalinity MW_g: 29.0 Radius: 3.721e-6 WD_WashoutRainPara: [3.37e-4, 0.84] WD_WashoutSnowPara: [2.42e-3, 0.73] DummyCH4trop: << : *CH4properties Background_VV: 1.8e-6 FullName: Dummy species for CH4 reactant (external input for carbon mechanism) DummyCH4strat: << : *CH4properties Background_VV: 1.8e-6 FullName: Dummy species for CH4 reactant (external input for carbon mechanism) DummyNMVOC: << : *COproperties Background_VV: 1.0e-20 FullName: CO produced from NMVOC oxidation (external input for carbon mechanism) e90_PROP: &e90properties Background_VV: 1.0e-20 Is_Gas: true Is_Tracer: true MW_g: 1.0 # Use value of 1.0 to get past checks for missing MW_g Snk_Horiz: all Snk_Mode: efolding Snk_Period: 90 Snk_Vert: all Src_Add: true Src_Mode: maintain_mixing_ratio Src_Units: ppbv Src_Value: 100 Src_Vert: surface e90: << : *e90properties FullName: Constant burden 90 day tracer Src_Horiz: all e90_n: << : *e90properties FullName: Constant burden Northern Hemisphere 90 day tracer Src_Horiz: lat_zone Src_Lats: [ 40.0, 91.0] e90_s: << : *e90properties FullName: Constant burden Southern Hemisphere 90 day tracer Src_Horiz: lat_zone Src_Lats: [ -91.0, -40.0 ] EBZ: Formula: C8H10 FullName: Ethylbenzene Is_Gas: true MW_g: 106.167 EOH: DD_F0: 0.0 DD_Hstar: 1.9e+2 Formula: C2H5OH FullName: Ethanol Henry_CR: 6400.0 Henry_K0: 1.93e+2 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 46.07 WD_RetFactor: 2.0e-2 ETHLN: DD_F0: 1.0 DD_Hstar: 2.0e+6 Formula: CHOCH2ONO2 FullName: Ethanol nitrate Henry_CR: 9200.0 Henry_K0: 1.7e+4 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 105.06 WD_RetFactor: 2.0e-2 ETHN: Formula: HOCH2CH2ONO2 FullName: hydroxy-nitrooxy-ethane Is_Gas: true MW_g: 107.07 Is_DryDep: true Is_WetDep: true WD_RetFactor: 2.0e-2 DD_F0: 0.1 DD_Hstar: 3.90e+04 Henry_CR: 8600.0 Henry_K0: 3.90e+04 ETHP: Formula: HOCH2CH2OOH FullName: hydroxy-hydroperoxy-ethane Is_Gas: true MW_g: 78.07 Is_DryDep: true Is_WetDep: true Is_Photolysis: true WD_RetFactor: 2.0e-2 DD_F0: 0.1 DD_Hstar: 6.50e+5 Henry_CR: 8800.0 Henry_K0: 6.50e+5 ETNO3: DD_F0: 0.1 DD_Hstar: 1.6 Formula: C2H5ONO2 FullName: Ethyl nitrate Henry_CR: 5400.0 Henry_K0: 1.6 Is_DryDep: true Is_Gas: true Is_Photolysis: true MW_g: 91.08 ETO2: Formula: CH3CH2OO FullName: ETO2 Is_Gas: true MW_g: 61.07 ETO: Formula: HOCH2CH2O FullName: alkoxy radical from ETOO Is_Gas: true MW_g: 61.06 ETOO: Formula: HOCH2CH2OO FullName: peroxy radical from ethene Is_Gas: true MW_g: 77.06 ETP: DD_F0: 1.0 DD_Hstar: 2.94e+2 Formula: CH3CH2OOH FullName: Ethylhydroperoxide Henry_CR: 6000.0 Henry_K0: 3.34e+2 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 62.08 WD_RetFactor: 2.0e-2 FeF1: << : *METALSproperties Density: 2500.0 Formula: Fe FullName: Iron on dust. Reff = 0.7 microns MW_g: 55.84 Radius: 7.3e-7 FeF2: << : *METALSproperties Density: 2650.0 Formula: Fe FullName: Iron on dust, Reff = 1.4 microns MW_g: 55.84 Radius: 1.4e-6 FixedCl: Formula: Cl FullName: Atomic chlorine (external input for carbon mechanism) Is_Gas: true MW_g: 35.45 FixedOH: Background_VV: 4.0e-15 Formula: OH FullName: Hydroxyl radical (external input for carbon mechanism) Is_Gas: true MW_g: 17.01 FURA: DD_F0: 1.0 DD_Hstar: 1.80e-1 Formula: C4H4O FullName: Furan Henry_CR: 6100.0 Henry_K0: 1.80e-1 Is_DryDep: true Is_Gas: true Is_Photolysis: false Is_WetDep: true MW_g: 68.07 WD_RetFactor: 2.0e-2 GCO3: Formula: HOCH2CO3 FullName: Peroxyacetyl radical for PHAN Is_Gas: true MW_g: 91.0428 GLYC: DD_F0: 1.0 DD_Hstar: 4.1e+4 Formula: HOCH2CHO FullName: Glycoaldehyde Henry_CR: 4600.0 Henry_K0: 4.15e+4 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 60.06 WD_RetFactor: 2.0e-2 GLYX: DD_F0: 1.0 DD_Hstar: 3.6e+5 Formula: CHOCHO FullName: Glyoxal Henry_CR: 7500.0 Henry_K0: 4.15e+5 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 58.04 WD_RetFactor: 2.0e-2 H: Formula: H FullName: Atomic hydrogen Is_Gas: true MW_g: 1.01 H1211: Formula: CBrClF2 FullName: Halon 1211, Freon 12B1 Is_Gas: true Is_Photolysis: true MW_g: 165.36 H1301: Formula: CBrF3 FullName: Halon 1301, Freon 13B1 Is_Gas: true Is_Photolysis: true MW_g: 148.91 H2: Background_VV: 5.0e-7 Formula: H2 FullName: Molecular hydrogen Is_Gas: true MW_g: 2.02 H2402: Formula: C2Br2F4 FullName: Halon 2402 Is_Gas: true Is_Photolysis: true MW_g: 259.82 H2O: Background_VV: 1.839e-2 Formula: H2O FullName: Water vapor Is_Gas: true MW_g: 18.02 H2O2: Background_VV: 4.0e-15 DD_F0: 1.0 DD_Hstar: 5.0e+7 Formula: H2O2 FullName: Hydrogen peroxide Henry_CR: 7400.0 Henry_K0: 8.3e+4 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 34.02 WD_RetFactor: 5e-2 WD_LiqAndGas: true WD_ConvFacI2G: 4.36564e-1 HAC: DD_F0: 1.0 DD_Hstar: 1.4e+6 Formula: HOCH2C(O)CH3 FullName: Hydroxyacetone Henry_CR: 0.0 Henry_K0: 7800.0 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 74.08 WD_RetFactor: 2.0e-2 HACTA: DD_F0: 1.0 DD_Hstar: 2.83e+4 Formula: HOCH2CO2H FullName: Hydroxyacetic/glycolic acid Henry_CR: 4000.0 Henry_K0: 2.83e+4 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 76.0514 WD_RetFactor: 2.0e-2 HBr: DD_F0: 0.0 DD_Hstar: 7.1e+15 Formula: HBr FullName: Hypobromic acid Henry_CR: 10200.0 Henry_K0: 7.1e+13 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 80.91 WD_RetFactor: 1.0e+0 HC5A: DD_F0: 0.0 DD_Hstar: 7.8e+3 Formula: C5H8O2 FullName: isoprene-4,1-hydroxyaldehyde Henry_CR: 0.0 Henry_K0: 7.8e+3 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 100.13 WD_RetFactor: 2.0e-2 HCFC123: Formula: C2HCl2F3 FullName: HCFC-123, Freon 123 Is_Gas: true Is_Photolysis: true MW_g: 152.93 HCFC141b: Formula: C(CH3)Cl2F FullName: HCFC-141b, Freon 141b Is_Gas: true Is_Photolysis: true MW_g: 116.94 HCFC142b: Formula: C(CH3)ClF2 FullName: HCFC-142b, Freon 142b Is_Gas: true Is_Photolysis: true MW_g: 100.50 HCFC22: Formula: CHClF2 FullName: HCFC-22, Freon 22 Is_Gas: true Is_Photolysis: true MW_g: 86.47 HCl: DD_F0: 0.0 DD_Hstar: 2.0e+13 Formula: HCl FullName: Hydrochloric acid Henry_CR: 9000.0 Henry_K0: 6.3e+10 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 36.45 WD_RetFactor: 1.0e+0 HCOOH: DD_F0: 1.0 DD_Hstar: 8.90e+3 Formula: HCOOH FullName: Formic acid Henry_CR: 6100.0 Henry_K0: 8.92e+3 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 46.03 WD_RetFactor: 2.0e-2 Hg0: DD_F0: 3.0e-5 DD_Hstar: 0.11 Formula: 'Hg' FullName: Elemental mercury Is_DryDep: true Is_Gas: true Is_Hg0: true MW_g: 200.59 Hg_CHEM_PROP: &HgChemProperties DD_F0: 0.0 DD_Hstar: 1.0e+14 Henry_CR: 8.40e+03 Henry_K0: 1.40e+06 Is_DryDep: true Is_Gas: true Is_WetDep: true Is_Hg2: true WD_RetFactor: 1.0 MW_g: 200.59 # Use mol wt of atomic Hg HgBr: FullName: Bromidomercury(I) Formula: HgBr Is_Gas: true Is_Photolysis: true MW_g: 200.59 # Use mol wt of atomic Hg HgBrNO2: << : *HgChemProperties FullName: syn-Bromido(nitrito-O)mercury(II) Formula: BrHgONO Is_Photolysis: true HgBrHO2: << : *HgChemProperties FullName: Bromido(hydroperoxo)mercury(II) Formula: BrHgOOH Is_Photolysis: true HgBrBrO: << : *HgChemProperties FullName: Bromido(hypobromito-O)mercury(II) Formula: BrHgOBr Is_Photolysis: true HgBrClO: << : *HgChemProperties FullName: Bromido(hypochlorito-O)mercury(II) Formula: BrHgOCl Is_Photolysis: true HgBrO: FullName: Hypobromitomercury(I) Formula: HgBrO Is_Gas: true MW_g: 200.59 # Use mol wt of atomic Hg HgBrOH: << : *HgChemProperties FullName: Bromido(hydroxido)mercury(II) Formula: BrHgOH Is_Photolysis: true MW_g: HgBr2: << : *HgChemProperties FullName: Dibromidomercury(II) Formula: HgBr2 Is_Photolysis: true HgCl: FullName: Chloridomercury(I) Formula: HgCl Is_Gas: true Is_Photolysis: true Is_WetDep: false MW_g: 200.59 # Use mol wt of atomic Hg HgClNO2: << : *HgChemProperties FullName: syn-Chlorido(nitrito-kO)mercury(II) Formula: ClHgONO Is_Photolysis: true HgClHO2: << : *HgChemProperties FullName: Chlorido(hydroperoxido)mercury(II) Formula: ClHgOOH Is_Photolysis: true HgClClO: << : *HgChemProperties FullName: Chlorido(hypochlorito-kO)mercury(II) Formula: ClHgOCl Is_Photolysis: true HgClBrO: << : *HgChemProperties FullName: Chlorido(hypobromito-kO)mercury(II) Formula: ClHgOBr Is_Photolysis: true HgClBr: << : *HgChemProperties FullName: Bromidochloridomercury(II) Formula: HgBrCl Is_Photolysis: true HgClO: FullName: Hypochloritomercury(I) Formula: ClHgO Is_Gas: true MW_g: 200.59 # Use mol wt of atomic Hg HgClOH: << : *HgChemProperties FullName: Chlorido(hydroxido)mercury(II) Formula: ClHgOH Is_Photolysis: true MW_g: HgOH: FullName: Hydroxidomercury(I) Formula: HgOH Is_Gas: true Is_Photolysis: true MW_g: 200.59 # Use mol wt of atomic Hg HgOHO: FullName: Hydroperoxomercury(I) Formula: HgOHO Is_Gas: true MW_g: 200.59 # Use mol wt of atomic Hg HgOHNO2: << : *HgChemProperties FullName: syn-Hydroperoxido(hydroxido)mercury(II) Formula: HOHgONO Is_Photolysis: true HgOHHO2: << : *HgChemProperties FullName: Hydroperoxo(hydroxido)mercury(II) Formula: HOHgOOH Is_Photolysis: true HgOHClO: << : *HgChemProperties FullName: Hydroxido(hypochlorito-O)mercury(II) Formula: HOHgOCl Is_Photolysis: true MW_g: HgOHBrO: << : *HgChemProperties FullName: Hydroxido(hypobromito-O)mercury(II) Formula: HOHgOBr Is_Photolysis: true HgOHOH: << : *HgChemProperties FullName: Dihydroxidomercury(II) Formula: HOHgOH Is_Photolysis: false HgCl2: << : *HgChemProperties FullName: Dichloridomercury(II) Formula: HgCl2 Is_Photolysis: false Hg2ClP: FullName: Hg(II) chloride salts on sea-salt aerosols Formula: HgCln Is_Aerosol: true Is_DryDep: true Is_WetDep: true Is_HgP: true MW_g: 200.59 # Use mol wt of atomic Hg WD_AerScavEff: 1.0 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [1.0, 0.0, 1.0] Hg2ORGP: FullName: Hg(II) organic complex in aerosols Formula: R-Hg Is_Aerosol: true Is_DryDep: true Is_Photolysis: true Is_WetDep: true Is_HgP: true MW_g: 200.59 # Use mol wt of atomic Hg WD_AerScavEff: 0.8 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [1.0, 0.0, 1.0] Hg2STRP: FullName: Hg(II) in stratospheric aerosols Formula: Hg2+ Is_Aerosol: true Is_HgP: true MW_g: 200.59 # Use mol wt of atomic Hg HI: DD_F0: 0.0 DD_Hstar: 2.35e+16 Formula: HI FullName: Hydrogen iodide Henry_CR: 3.1872e+3 Henry_K0: 7.43e+13 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 127.91 WD_RetFactor: 1.0 HMHP: DD_F0: 1.0 DD_Hstar: 1.3e+6 Formula: HOCH2OOH FullName: Hydroxymethyl hydroperoxide Henry_CR: 5200.0 Henry_K0: 1.3e+6 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 64.05 WD_RetFactor: 2.0e-2 HMML: DD_F0: 1.0 DD_Hstar: 1.2e+5 Formula: C4H6O3 FullName: hydroxymethyl-methyl-a-lactone Henry_CR: 7200.0 Henry_K0: 1.2e+5 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 102.10 WD_RetFactor: 2.0e-2 HMS: Background_VV: 1.0e-15 DD_DvzAerSnow: 0.03 DD_DvzMinVal: [0.01, 0.01] DD_F0: 0.0 DD_Hstar: 0.0 Formula: HOCH2SO3− FullName: Hydroxymethanesulfonate Is_Aerosol: true Is_DryDep: true Is_WetDep: true MW_g: 111.10 WD_AerScavEff: 1.0 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [1.0, 0.0, 1.0] HNO2: Background_VV: 4.0e-15 Formula: HNO2 FullName: Nitrous acid Is_Gas: true Is_Photolysis: true MW_g: 47.01 HNO3: Background_VV: 4.0e-15 DD_F0: 0.0 DD_Hstar: 1.0e+14 Formula: HNO3 FullName: Nitric acid Henry_CR: 7400.0 Henry_K0: 8.3e+4 Is_DryAlt: true Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 63.01 WD_AerScavEff: 1.0 WD_Is_HNO3: true WD_KcScaleFac: [1.0, 1.0, 1.0] WD_KcScaleFac_Luo: [1.0, 0.5, 1.0] WD_RainoutEff: [1.0, 1.0, 1.0] WD_RainoutEff_Luo: [0.4, 0.0, 1.0] HNO4: Background_VV: 4.0e-15 Formula: HNO4 FullName: Peroxynitric acid Is_Gas: true Is_Photolysis: true MW_g: 79.01 HO2: Background_VV: 4.0e-15 Formula: HO2 FullName: Hydroperoxyl radical Is_Gas: true Is_Photolysis: true MW_g: 33.01 HOBr: DD_F0: 0.0 DD_Hstar: 1.3e+3 Formula: HOBr FullName: Hypobromous acid Henry_CR: 4000.0 Henry_K0: 1.3e+3 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 96.91 WD_RetFactor: 0.0 HOCl: DD_F0: 0.0 DD_Hstar: 6.5e+2 Formula: HOCl FullName: Hypochlorous acid Henry_CR: 5900.0 Henry_K0: 6.50e+2 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 52.45 WD_RetFactor: 0.0 HOI: DD_F0: 0.0 DD_Hstar: 1.54e+4 Formula: HOI FullName: Hypoiodous acid Henry_CR: 8371.0 Henry_K0: 1.54e+4 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 143.89 WD_RetFactor: 2.0e-2 HONIT: DD_F0: 1.0 DD_Hstar: 2.0e+6 FullName: 2nd gen monoterpene organic nitrate Henry_CR: 5487.0 Henry_K0: 2.69e+13 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 215.0 WD_RetFactor: 2.0e-2 HPALD1: DD_F0: 0.0 DD_Hstar: 4.0e+4 Formula: C5H8O3 FullName: d-4,1-C5-hydroperoxyaldehyde Is_DryDep: true Is_Gas: true Is_Photolysis: true MW_g: 116.13 HPALD1OO: Formula: C5H7O5 FullName: HPALD1OO Is_Gas: true MW_g: 147.12 HPALD2: DD_F0: 0.0 DD_Hstar: 4.0e+4 Formula: C5H8O3 FullName: d-1,4-C5-hydroperoxyaldehyde Is_DryDep: true Is_Gas: true Is_Photolysis: true MW_g: 116.13 HPALD2OO: Formula: C5H7O5 FullName: HPALD2OO Is_Gas: true MW_g: 147.12 HPALD3: DD_F0: 0.0 DD_Hstar: 4.0e+4 Formula: C5H8O3 FullName: b-2,1-C5-hydroperoxyaldehyde Is_DryDep: true Is_Gas: true Is_Photolysis: true MW_g: 116.13 HPALD4: DD_F0: 0.0 DD_Hstar: 4.0e+4 Formula: C5H8O3 FullName: b-3,4-C5-hydroperoxyaldehyde Is_DryDep: true Is_Gas: true Is_Photolysis: true MW_g: 116.13 HPETHNL: DD_F0: 1.0 DD_Hstar: 4.1e+4 Formula: HOOCH2CHO FullName: Hydroperoxy ethanal Henry_CR: 4600.0 Henry_K0: 4.1e+4 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 76.06 WD_RetFactor: 2.0e-2 HSO3m: Formula: HSO3- FullName: Hydrogen sulfite Is_Gas: true MW_g: 81.07 I: Formula: I FullName: Atomic iodine Is_Gas: true MW_g: 126.90 I2: DD_F0: 0.0 DD_Hstar: 2.7 Formula: I2 FullName: Molecular iodine Henry_CR: 7.5074e+3 Henry_K0: 2.7 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 253.80 WD_RetFactor: 0.0 I2O2: DD_F0: 0.0 DD_Hstar: 1.0e+20 Formula: I2O2 FullName: Diiodine dioxide Henry_CR: 1.89e+4 Henry_K0: 1.0e+20 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 285.80 WD_RetFactor: 1.0 I2O3: DD_F0: 0.0 DD_Hstar: 1.0e+20 Formula: I2O3 FullName: Diiodine trioxide Henry_CR: 1.34e+4 Henry_K0: 1.0e+20 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 301.80 WD_RetFactor: 1.0 I2O4: DD_F0: 0.0 DD_Hstar: 1.0e+20 Formula: I2O4 FullName: Diiodine tetraoxide Henry_CR: 1.34e+4 Henry_K0: 1.0e+20 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 317.80 WD_RetFactor: 1.0 IBr: DD_F0: 0.0 DD_Hstar: 2.43e+1 Formula: IBr FullName: Iodine monobromide Henry_CR: 4.9167e+3 Henry_K0: 2.4e+1 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 206.90 WD_RetFactor: 0.0 ICHE: DD_F0: 1.0 DD_Hstar: 8.0e+7 Formula: C5H8O3 FullName: Isoprene hydroxy-carbonyl-epoxides Henry_CR: 0.0 Henry_K0: 8.0e+7 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 116.13 WD_RetFactor: 2.0e-2 ICHOO: Formula: C5H9O5 FullName: Peroxy radical from IEPOXD Is_Gas: true MW_g: 149.14 ICl: DD_F0: 0.0 DD_Hstar: 1.11e+2 Formula: ICl FullName: Iodine monochloride Henry_CR: 2.1055e+3 Henry_K0: 1.11e+2 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 162.45 WD_RetFactor: 0.0 ICN: DD_F0: 1.0 DD_Hstar: 2.0e+6 Formula: C5H7NO4 FullName: Lumped isoprene carbonyl-nitrates Henry_CR: 9200.0 Henry_K0: 1.70e+4 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 145.13 WD_RetFactor: 2.0e-2 ICNOO: Formula: C5H8NO7 FullName: Peroxy radicals from ICN Is_Gas: true MW_g: 194.14 ICPDH: DD_F0: 1.0 DD_Hstar: 1.0e+8 Formula: C5H10O5 FullName: Isoprene dihydroxy hydroperoxycarbonyl Henry_CR: 7200.0 Henry_K0: 1.0e+8 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 150.15 WD_RetFactor: 2.0e-2 IDC: DD_F0: 0.0 DD_Hstar: 4.0e+4 Formula: C5H6O2 FullName: Lumped isoprene dicarbonyls Is_DryDep: true Is_Gas: true MW_g: 98.11 IDCHP: DD_F0: 1.0 DD_Hstar: 1.0e+8 Formula: C5H8O5 FullName: Isoprene dicarbonyl hydroxy dihydroperoxide Henry_CR: 7200.0 Henry_K0: 1.0e+8 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 148.13 WD_RetFactor: 2.0e-2 IDHDP: DD_F0: 1.0 DD_Hstar: 1.0e+8 Formula: C5H12O6 FullName: Isoprene dihydroxy dihydroperoxide Henry_CR: 7200.0 Henry_K0: 1.0e+8 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 168.17 WD_RetFactor: 2.0e-2 IDHNBOO: Formula: C5H10NO7 FullName: Peroxy radicals from INPB Is_Gas: true MW_g: 196.16 IDHNDOO1: Formula: C5H10NO7 FullName: Peroxy radicals from INPD Is_Gas: true MW_g: 196.16 IDHNDOO2: Formula: C5H10NO7 FullName: Peroxy radicals from INPD Is_Gas: true MW_g: 196.16 IDHPE: DD_F0: 1.0 DD_Hstar: 1.0e+8 Formula: C5H10O5 FullName: Isoprene dihydroxy hydroperoxy epoxide Henry_CR: 7200.0 Henry_K0: 1.0e+8 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 150.15 WD_RetFactor: 2.0e-2 IDN: DD_F0: 1.0 DD_Hstar: 1.0e+8 Formula: C5H8N2O6 FullName: Lumped isoprene dinitrates Henry_CR: 7200.0 Henry_K0: 1.0e+8 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 192.15 WD_RetFactor: 2.0e-2 IDNOO: Formula: C5H9N2O6 FullName: IDNOO Is_Gas: true MW_g: 241.14 IEPOXA: DD_F0: 1.0 DD_Hstar: 8.0e+7 Formula: C4H10O3 FullName: trans-Beta isoprene epoxydiol Henry_CR: 0.0 Henry_K0: 8.0e+7 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 106.14 WD_RetFactor: 2.0e-2 IEPOXAOO: Formula: C5H8O5 FullName: Peroxy radical from trans-Beta isoprene epoxydiol Is_Gas: true MW_g: 149.14 IEPOXB: DD_F0: 1.0 DD_Hstar: 8.0e+7 Formula: C4H10O3 FullName: cis-Beta isoprene epoxydiol Henry_CR: 0.0 Henry_K0: 8.0e+7 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 106.14 WD_RetFactor: 2.0e-2 IEPOXBOO: Formula: C5H9O5 FullName: peroxy radical from cis-Beta isoprene epoxydiol Is_Gas: true MW_g: 149.14 IEPOXD: DD_F0: 1.0 DD_Hstar: 8.0e+7 Formula: C4H10O3 FullName: Delta isoprene epoxydiol Henry_CR: 0.0 Henry_K0: 8.0e+7 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 106.14 WD_RetFactor: 2.0e-2 IHN1: DD_F0: 1.0 DD_Hstar: 2.0e+6 Formula: C5H9NO4 FullName: Isoprene-d-4,1-hydroxynitrate Henry_CR: 9200.0 Henry_K0: 1.7e+4 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 147.15 WD_RetFactor: 2.0e-2 IHN2: DD_F0: 1.0 DD_Hstar: 2.0e+6 Formula: C5H9NO4 FullName: Isoprene-b-1,2-hydroxynitrate Henry_CR: 9200.0 Henry_K0: 1.7e+4 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 147.15 WD_RetFactor: 2.0e-2 IHN3: DD_F0: 1.0 DD_Hstar: 2.0e+6 Formula: C5H9NO4 FullName: Isoprene-b-4,3-hydroxynitrate Henry_CR: 9200.0 Henry_K0: 1.7e+4 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 147.15 WD_RetFactor: 2.0e-2 IHN4: DD_F0: 1.0 DD_Hstar: 2.0e+6 Formula: C5H9NO4 FullName: Isoprene-d-4,1-hydroxynitrate Henry_CR: 9200.0 Henry_K0: 1.7e+4 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 147.15 WD_RetFactor: 2.0e-2 IHOO1: Formula: C5H9O3 FullName: Peroxy radical from OH addition to isoprene at C1 Is_Gas: true MW_g: 117.14 IHOO4: Formula: C5H9O3 FullName: Peroxy radical from OH addition to isoprene at C4 Is_Gas: true MW_g: 117.14 IHPNBOO: Formula: C5H10NO8 FullName: Peroxy radicals from INPB Is_Gas: true MW_g: 212.16 IHPNDOO: Formula: C5H10NO8 FullName: Peroxy radicals from INPD Is_Gas: true MW_g: 212.16 IHPOO1: Formula: C5H11O6 FullName: Peroxy radical from ISOPOOH Is_Gas: true MW_g: 167.16 IHPOO2: Formula: C5H11O6 FullName: Peroxy radical from ISOPOOH Is_Gas: true MW_g: 167.16 IHPOO3: Formula: C5H11O6 FullName: Peroxy radical from ISOPOOH Is_Gas: true MW_g: 167.16 INA: Formula: C5H8NO4 FullName: Alkoxy radical from INO2D Is_Gas: true MW_g: 146.14 INDIOL: DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 FullName: Generic aerosol-phase organonitrate hydrolysis product Is_Aerosol: true Is_DryDep: true Is_WetDep: true MW_g: 102.0 WD_AerScavEff: 0.8 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [0.8, 0.0, 0.8] WD_RainoutEff_Luo: [0.4, 0.0, 0.8] INO: Formula: INO FullName: Nitrosyl iodide Is_Gas: true Is_Photolysis: true MW_g: 156.91 INO2B: Formula: C5H8NO5 FullName: beta-peroxy radicals from isoprene + NO3 Is_Gas: true MW_g: 162.14 INO2D: Formula: C5H8NO5 FullName: delta-peroxy radicals from isoprene + NO3 Is_Gas: true MW_g: 162.14 INPB: DD_F0: 1.0 DD_Hstar: 2.0e+6 Formula: C5H9NO5 FullName: Lumped b-hydroperoxy isoprene nitrates Henry_CR: 9200.0 Henry_K0: 1.7e+4 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 163.15 WD_RetFactor: 2.0e-2 INPD: DD_F0: 1.0 DD_Hstar: 2.0e+6 Formula: C5H9NO5 FullName: Lumped d-hydroperoxy isoprene nitrates Henry_CR: 9200.0 Henry_K0: 1.7e+4 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 163.15 WD_RetFactor: 2.0e-2 IO: Formula: IO FullName: Iodine monoxide Is_Gas: true Is_Photolysis: true MW_g: 142.90 IONITA: DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 FullName: Aer-phase organic nitrate from isoprene precursors Is_Aerosol: true Is_DryDep: true Is_WetDep: true MW_g: 14.01 WD_AerScavEff: 0.8 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [0.8, 0.0, 0.8] WD_RainoutEff_Luo: [0.4, 0.0, 0.8] IONO: DD_F0: 0.0 DD_Hstar: 3.0e-1 Formula: IONO FullName: Nitryl iodide Henry_CR: 7.2404e+3 Henry_K0: 3.0e-1 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 172.91 WD_RetFactor: 2.0e-2 IONO2: DD_F0: 0.0 DD_Hstar: 1.0e+20 Formula: IONO2 FullName: Iodine nitrate Henry_CR: 3.98e+3 Henry_K0: 1.0e+20 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 188.91 WD_RetFactor: 1.0 IPRNO3: DD_F0: 0.1 DD_Hstar: 7.9e-1 Formula: C3H7ONO2 FullName: Isopropyl nitrate Henry_CR: 5400.0 Henry_K0: 0.79 Is_DryDep: true Is_Gas: true Is_Photolysis: true MW_g: 105.11 ISALA: << : *SALAproperties Formula: I FullName: Fine sea salt iodine Is_HygroGrowth: false MW_g: 126.90 ISALC: << : *SALCproperties Formula: I FullName: Coarse sea salt iodine Is_HygroGrowth: false MW_g: 126.90 WD_CoarseAer: true ISOP: Formula: CH2=C(CH3)CH=CH2 FullName: Isoprene Henry_CR: 4400.0 Henry_K0: 3.45e-2 Is_Gas: true MW_g: 68.13 ISOPNOO1: Formula: C5H10NO7 FullName: Peroxy radicals from IHN2 Is_Gas: true MW_g: 196.16 ISOPNOO2: Formula: C5H10NO7 FullName: Peroxy radicals from IHN3 Is_Gas: true MW_g: 196.16 ITCN: DD_F0: 1.0 DD_Hstar: 1.00e+8 Formula: C5H9NO7 FullName: lumped isoprene tetrafunctional carbonylnitrates Henry_CR: 7200.0 Henry_K0: 1.0e+8 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 195.15 WD_RetFactor: 2.0e-2 ITHN: DD_F0: 1.0 DD_Hstar: 1.00e+8 Formula: C5H11NO7 FullName: Lumped isoprene tetrafunctional hydroxynitrates Henry_CR: 7200.0 Henry_K0: 1.0e+8 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 197.17 WD_RetFactor: 2.0e-2 KF1: << : *METALSproperties Density: 2500.0 Formula: K FullName: Potassium on dust. Reff = 0.7 microns MW_g: 39.10 Radius: 7.3e-7 KF2: << : *METALSproperties Density: 2650.0 Formula: K FullName: Potassium on dust, Reff = 1.4 microns MW_g: 39.10 Radius: 1.4e-6 KC3: << : *METALSproperties Density: 2650.0 Formula: K FullName: Potassium on dust, Reff = 2.4 microns MW_g: 39.10 Radius: 2.4e-6 KC4: << : *METALSproperties Density: 2650.0 Formula: K FullName: Potassium on dust, Reff = 4.5 microns MW_g: 39.10 Radius: 4.5e-6 KO2: Formula: C4H5O3 FullName: Peroxy radical from >3 ketones Is_Gas: true MW_g: 101.09 LBRO2H: FullName: Dummy species to track oxidation of BRO2 by HO2 Is_Gas: true MW_g: 159.13 KPP_AbsTol: 1.0e+25 LBRO2N: FullName: Dummy species to track oxidation of BRO2 by NO Is_Gas: true MW_g: 159.13 KPP_AbsTol: 1.0e+25 LCH4: FullName: Dummy species to track loss rate of CH4 Is_Gas: true MW_g: 16.04 KPP_AbsTol: 1.0e+25 LCH4byCl: FullName: Dummy species to track loss of CH4 by Cl (carbon mechanism) Is_Gas: true MW_g: 1.0 # Use value of 1.0 to get past checks for missing MW_g LCH4byOH: FullName: Dummy species to track loss of CH4 by OH (carbon mechanism) Is_Gas: true MW_g: 1.0 # Use value of 1.0 to get past checks for missing MW_g LCH4inStrat: FullName: Dummy species to track loss of CH4 in strat (carbon mechanism) Is_Gas: true MW_g: 1.0 # Use value of 1.0 to get past checks for missing MW_g LCO: FullName: Dummy species to track loss rate of CO Is_Gas: true MW_g: 28.01 KPP_AbsTol: 1.0e+25 LCObyOH: FullName: Dummy species to track loss of CO by OH (carbon mechanism) Is_Gas: true MW_g: 1.0 LCOinStrat: FullName: Dummy species to track loss of CO in strat (carbon mechanism) Is_Gas: true MW_g: 1.0 LIMAL: DD_F0: 1.0 DD_Hstar: 1.0e+3 Formula: C10H16O2 FullName: Aldehyde from limonene Henry_CR: 6039.0 Henry_K0: 1.0e+3 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 186.28 WD_RetFactor: 2.0e-2 LIMKB: DD_F0: 1.0 DD_Hstar: 1.0e+3 Formula: C10H16O3 FullName: 2nd gen ketone from limonene Henry_CR: 6039.0 Henry_K0: 1.0e+3 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 186.28 WD_RetFactor: 2.0e-2 LIMKET: DD_F0: 1.0 DD_Hstar: 1.0e+3 Formula: C10H16O2 FullName: Ketone from limonene Henry_CR: 6039.0 Henry_K0: 1.0e+3 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 186.28 WD_RetFactor: 2.0e-2 LIMKO2: Formula: C10H17O3 FullName: 2nd-gen peroxy radical from LIMO Is_Gas: true MW_g: 185.27 LIMN: DD_F0: 1.0 DD_Hstar: 2.0e+6 Formula: C10H17NO4 FullName: Saturated 1st gen limonene organic nitrate Henry_CR: 9200.0 Henry_K0: 1.7e+4 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 215.28 WD_RetFactor: 2.0e-2 LIMNB: DD_F0: 1.0 DD_Hstar: 2.0e+6 Formula: C10H15NO4 FullName: Saturated 1st gen LIMO organic nitrate Henry_CR: 9200.0 Henry_K0: 1.7e+4 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 215.28 WD_RetFactor: 2.0e-2 LIMO: DD_F0: 0.0 DD_Hstar: 7.0e-2 Formula: C10H16 FullName: Limonene Henry_CR: 0.0 Henry_K0: 7.0e-2 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 136.26 WD_RetFactor: 2.0e-2 LIMO2: Formula: C10H17O3 FullName: Peroxy radical from LIMO Is_Gas: true MW_g: 185.27 LIMO2H: DD_F0: 1.0 DD_Hstar: 3.14e+5 Formula: C10H18O3 FullName: Acid from LIMO Henry_CR: 6039.0 Henry_K0: 3.14e+5 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 186.28 WD_RetFactor: 2.0e-2 LIMO3: Formula: C10H17O3 FullName: Acylperoxy radical from LIMO Is_Gas: true MW_g: 185.27 LIMO3H: DD_F0: 1.0 DD_Hstar: 1.0e+5 Formula: C10H18O4 FullName: Peracid from LIMO Henry_CR: 6039.0 Henry_K0: 1.0e+5 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 186.28 WD_RetFactor: 2.0e-2 LIMPAN: DD_F0: 1.0 DD_Hstar: 2.0e+6 Formula: C10H17NO4 FullName: PAN from LIMO Henry_CR: 9200.0 Henry_K0: 1.7e+4 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 215.28 WD_RetFactor: 2.0e-2 LISOPNO3: FullName: Dummy species to track oxidation of ISOP by NO3 Is_Gas: true MW_g: 68.13 KPP_AbsTol: 1.0e+25 LISOPOH: FullName: Dummy species to track oxidation of ISOP by OH Is_Gas: true MW_g: 68.13 KPP_AbsTol: 1.0e+25 LNRO2H: FullName: Dummy species to track oxidation of NRO2 by HO2 Is_Gas: true MW_g: 159.17 KPP_AbsTol: 1.0e+25 LNRO2N: FullName: Dummy species to track oxidation of NRO2 by NO Is_Gas: true MW_g: 159.17 LOx: FullName: Dummy species to track loss rate of Ox Is_Gas: true MW_g: 48.00 KPP_AbsTol: 1.0e+25 LTRO2H: FullName: Dummy species to track oxidation of TRO2 by HO2 Is_Gas: true MW_g: 173.16 KPP_AbsTol: 1.0e+25 LTRO2N: FullName: Dummy species to track oxidation of TRO2 by NO Is_Gas: true MW_g: 173.16 KPP_AbsTol: 1.0e+25 LVOC: DD_F0: 1.0 DD_Hstar: 1.0e+8 Formula: C5H14O5 FullName: Gas-phase low-volatility non-IEPOX product of RIP ox Henry_CR: 7200.0 Henry_K0: 1.0e+8 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 154.19 WD_RetFactor: 2.0e-2 LVOCOA: DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 Formula: C5H14O5 FullName: Aer-phase low-volatility non-IEPOX product of RIP ox Is_Aerosol: true Is_DryDep: true Is_WetDep: true MW_g: 154.19 WD_AerScavEff: 0.8 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [0.8, 0.0, 0.8] WD_RainoutEff_Luo: [0.4, 0.0, 0.8] LXRO2H: FullName: Dummy species to track oxidation of XRO2 by HO2 Is_Gas: true MW_g: 187.19 KPP_AbsTol: 1.0e+25 LXRO2N: FullName: Dummy species to track oxidation of XRO2 by NO Is_Gas: true MW_g: 187.19 KPP_AbsTol: 1.0e+25 MACR: DD_F0: 1.0 DD_Hstar: 6.5 Formula: CH2=C(CH3)CHO FullName: Methacrolein Henry_CR: 4300.0 Henry_K0: 4.86 Is_DryDep: true Is_Gas: true Is_Photolysis: true MW_g: 70.10 MACR1OO: Formula: CH2=C(CH3)C(O)OO FullName: Peroxyacyl radical from MACR + OH Is_Gas: true MW_g: 101.09 MACR1OOH: DD_F0: 1.0 DD_Hstar: 2.94e+2 Formula: CH2=C(CH3)C(O)OOH FullName: Peracid from MACR Henry_CR: 5200.0 Henry_K0: 2.94e+2 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 102.10 WD_RetFactor: 2.0e-2 MACRNO2: Formula: C4H6NO7 FullName: Product of MCRHN + OH Is_Gas: true MW_g: 180.10 MAP: DD_F0: 1.0 DD_Hstar: 8.4e+2 Formula: CH3C(O)OOH FullName: Peroxyacetic acid Henry_CR: 5300.0 Henry_K0: 8.4e+2 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 76.06 WD_RetFactor: 2.0e-2 MCO3: Formula: CH3C(O)OO FullName: Peroxyacetyl radical Is_Gas: true MW_g: 75.05 MCRDH: DD_F0: 1.0 DD_Hstar: 1.4e+6 Formula: C4H8O3 FullName: Dihydroxy-methacrolein Henry_CR: 7200.0 Henry_K0: 1.4e+6 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 104.12 WD_RetFactor: 2.0e-2 MCRENOL: DD_F0: 1.0 DD_Hstar: 2.94e+2 Formula: C4H6O2 FullName: Lumped enols from MVK/MACR Henry_CR: 5200.0 Henry_K0: 2.94e+2 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 86.10 WD_RetFactor: 2.0e-2 MCRHN: DD_F0: 1.0 DD_Hstar: 2.0e+6 Formula: HOCH2C(ONO2)(CH3)CHO FullName: Nitrate from MACR Henry_CR: 9200.0 Henry_K0: 1.7e+4 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 149.11 WD_RetFactor: 2.0e-2 MCRHNB: DD_F0: 1.0 DD_Hstar: 2.0e+6 Formula: O2NOCH2C(OH)(CH3)CHO FullName: Nitrate from MACR Henry_CR: 9200.0 Henry_K0: 1.7e+4 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 149.11 WD_RetFactor: 2.0e-2 MCRHP: DD_F0: 1.0 DD_Hstar: 1.4e+6 Formula: HOCH2C(OOH)(CH3)CHO FullName: Hydroxy-hydroperoxy-methacrolein Henry_CR: 7200.0 Henry_K0: 1.4e+6 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 120.12 WD_RetFactor: 2.0e-2 MCROHOO: Formula: C4H7O4 FullName: Peroxy radical from MACR + OH Is_Gas: true MW_g: 119.11 MCT: DD_F0: 1.0 DD_Hstar: 4.2e+2 Formula: C7H8O2 FullName: Catechols and methyl catechols Henry_CR: 8500.0 Henry_K0: 4.2e+2 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 124.0 WD_RetFactor: 2.0e-2 MEKCO3: Formula: C3H5O4 Is_Gas: true MW_g: 105.07 MEK: Formula: RC(O)R FullName: Methyl Ethyl Ketone Henry_CR: 5700.0 Henry_K0: 1.82e+1 Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 72.11 WD_RetFactor: 2.0e-2 MEKPN: DD_F0: 1.0 DD_Hstar: 3.6 Formula: C3H5NO6 FullName: MEK peroxyacetyl nitrate Henry_CR: 5700.0 Henry_K0: 2.94 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 151.07 WD_RetFactor: 2.0e-2 MENO3: DD_F0: 0.1 DD_Hstar: 2.0 Formula: CH3ONO2 FullName: Methyl nitrate Henry_CR: 4700.0 Henry_K0: 1.1e+1 Is_DryDep: true Is_Gas: true Is_Photolysis: true MW_g: 77.05 MgF1: << : *METALSproperties Density: 2500.0 Formula: Mg FullName: Magnesium on dust. Reff = 0.7 microns MW_g: 24.31 Radius: 7.3e-7 MgF2: << : *METALSproperties Density: 2650.0 Formula: Mg FullName: Magnesium on dust, Reff = 1.4 microns MW_g: 24.31 Radius: 1.4e-6 MgC3: << : *METALSproperties Density: 2650.0 Formula: Mg FullName: Magnesium on dust, Reff = 2.4 microns MW_g: 24.31 Radius: 2.4e-6 MgC4: << : *METALSproperties Density: 2650.0 Formula: Mg FullName: Magnesium on dust, Reff = 4.5 microns MW_g: 24.31 Radius: 4.5e-6 MGLY: DD_F0: 1.0 DD_Hstar: 3.7e+3 Formula: CH3COCHO FullName: Methylglyoxal Henry_CR: 6200.0 Henry_K0: 3.24e+4 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 72.07 WD_RetFactor: 2.0e-2 MnF1: << : *METALSproperties Density: 2500.0 Formula: Mn FullName: Manganese on dust. Reff = 0.7 microns MW_g: 54.94 Radius: 7.3e-7 MnF2: << : *METALSproperties Density: 2650.0 Formula: Mn FullName: Manganese on dust, Reff = 1.4 microns MW_g: 54.94 Radius: 1.4e-6 MO2: Background_VV: 4.0e-15 Formula: CH3O2 FullName: Methylperoxy radical Is_Gas: true MW_g: 47.04 MOH: DD_F0: 1.0 DD_Hstar: 2.03e+2 Formula: CH3OH FullName: Methanol Henry_CR: 5600.0 Henry_K0: 2.03e+2 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 32.05 WD_RetFactor: 2.0e-2 MONITA: DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 FullName: Aer-phase organic nitrate from monoterpene precursors Is_Aerosol: true Is_DryDep: true Is_WetDep: true MW_g: 14.01 WD_AerScavEff: 0.8 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [0.8, 0.0, 0.8] WD_RainoutEff_Luo: [0.4, 0.0, 0.8] MONITS: DD_F0: 1.0 DD_Hstar: 2.0e+6 Formula: C10H17NO4 FullName: Saturated 1st gen monoterpene organic nitrate Henry_CR: 9200.0 Henry_K0: 1.7e+4 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 215.28 WD_RetFactor: 2.0e-2 MONITU: DD_F0: 1.0 DD_Hstar: 2.0e+6 Formula: C10H17NO4 FullName: Unsaturated 1st gen monoterpene organic nitrate Henry_CR: 9200.0 Henry_K0: 1.7e+4 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 215.28 WD_RetFactor: 2.0e-2 MOPI: DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 Density: 1300.0 Formula: C FullName: Hydrophilic marine organic carbon aerosol Is_Aerosol: true Is_DryDep: true Is_WetDep: true MW_g: 12.01 WD_AerScavEff: 1.0 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [1.0, 0.0, 1.0] WD_RainoutEff_Luo: [0.4, 0.0, 1.0] MOPO: DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 Density: 1300.0 Formula: C FullName: Hydrophobic marine organic carbon aerosol Is_Aerosol: true Is_DryDep: true Is_WetDep: true MW_g: 12.01 WD_AerScavEff: 1.0 WD_KcScaleFac: [0.5, 0.5, 0.5] WD_RainoutEff: [0.0, 0.0, 0.0] MP: Background_VV: 4.0e-15 Formula: CH3OOH FullName: Methyl hydro peroxide Henry_CR: 5200.0 Henry_K0: 2.94e+2 Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 48.05 WD_RetFactor: 2.0e-2 MPAN: DD_F0: 1.0 DD_Hstar: 1.72 Formula: CH2=C(CH3)C(O)OONO2 FullName: Peroxymethacroyl nitrate (PMN) Henry_CR: 0.0 Henry_K0: 1.72 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 147.10 WD_RetFactor: 2.0e-2 MPN: Formula: CH3O2NO2 FullName: Methyl peroxy nitrate Henry_CR: 5200.0 Henry_K0: 2.94e+2 Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 93.05 WD_RetFactor: 2.0e-2 MSA: DD_DvzAerSnow: 0.03 DD_DvzMinVal: [0.01, 0.01] DD_F0: 0.0 DD_Hstar: 0.0 Formula: CH4SO3 FullName: Methyl sulfonic acid Is_Aerosol: true Is_DryDep: true Is_WetDep: true MW_g: 96.10 WD_AerScavEff: 1.0 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [1.0, 0.0, 1.0] WD_RainoutEff_Luo: [0.4, 0.0, 1.0] MTPA: DD_F0: 0.0 DD_Hstar: 4.9e-2 FullName: a-pinene, b-pinene, sabinene, carene Henry_CR: 0.0 Henry_K0: 4.9e-2 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 136.26 WD_RetFactor: 2.0e-2 MTPO: DD_F0: 0.0 DD_Hstar: 4.9e-2 FullName: Terpinene, terpinolene, myrcene, ocimene, other monoterpenes Henry_CR: 0.0 Henry_K0: 4.9e-2 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 136.26 WD_RetFactor: 2.0e-2 MVK: DD_F0: 1.0 DD_Hstar: 4.4e+1 Formula: CH2=CHC(=O)CH3 FullName: Methyl vinyl ketone Henry_CR: 4800.0 Henry_K0: 2.63e+1 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 70.09 WD_RetFactor: 2.0e-2 MVKDH: DD_F0: 1.0 DD_Hstar: 1.4e+6 Formula: HOCH2CH2OHC(O)CH3 FullName: dihydroxy-MVK Henry_CR: 7200.0 Henry_K0: 1.4e+6 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 105.13 WD_RetFactor: 2.0e-2 MVKHC: DD_F0: 1.0 DD_Hstar: 1.4e+6 Formula: C4H6O3 FullName: MVK hydroxy-carbonyl Henry_CR: 7200.0 Henry_K0: 1.4e+6 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 102.10 WD_RetFactor: 2.0e-2 MVKHCB: DD_F0: 1.0 DD_Hstar: 1.4e+6 Formula: C4H6O3 FullName: MVK hydroxy-carbonyl Henry_CR: 7200.0 Henry_K0: 1.4e+6 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 102.10 WD_RetFactor: 2.0e-2 MVKHP: DD_F0: 1.0 DD_Hstar: 1.4e+6 Formula: C4H8O4 FullName: MVK hydroxy-hydroperoxide Henry_CR: 7200.0 Henry_K0: 1.4e+6 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 120.12 WD_RetFactor: 2.0e-2 MVKN: DD_F0: 1.0 DD_Hstar: 2.0e+6 Formula: HOCH2CH(ONO2)C(=O)CH3 FullName: Nitrate from MVK Henry_CR: 9200.0 Henry_K0: 1.7e+4 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 149.12 WD_RetFactor: 2.0e-2 MVKOHOO: Formula: C4H7O4 FullName: Peroxy radical from MVK + OH Is_Gas: true MW_g: 119.11 MVKPC: DD_F0: 1.0 DD_Hstar: 1.4e+6 Formula: OCHCH(OOH)C(O)CH3 FullName: MVK hydroperoxy-carbonyl Henry_CR: 7200.0 Henry_K0: 1.4e+6 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 118.10 WD_RetFactor: 2.0e-2 MYRCO: DD_F0: 1.0 DD_Hstar: 1.0e+3 Formula: C10H18O3 FullName: Aldehyde or ketone from myrcene Henry_CR: 6039.0 Henry_K0: 1.0e+3 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 186.28 WD_RetFactor: 2.0e-2 N: Background_VV: 4.0e-20 Formula: N FullName: Atomic nitrogen Is_Gas: true MW_g: 14.01 N2: Background_VV: 7.808e-1 Formula: N2 FullName: Molecular nitrogen Is_Gas: true MW_g: 28.02 N2O: Background_VV: 3.0e-7 Formula: N2O FullName: Nitrous oxide Is_Gas: true Is_Photolysis: true MW_g: 44.02 N2O5: Background_VV: 4.0e-15 DD_F0: 0.0 DD_Hstar: 1.0e+14 Formula: N2O5 FullName: Dinitrogen pentoxide Is_DryDep: true Is_Gas: true Is_Photolysis: true MW_g: 108.02 NAP: Formula: C10H8 FullName: Naphtalene/IVOC surrogate Is_Gas: true MW_g: 128.18 nh_PROP: &nhproperties Is_Gas: true Is_Tracer: true MW_g: 1.0 # Use value of 1.0 to get past checks for missing MW_g Snk_Horiz: all Snk_Mode: efolding Snk_Vert: all Src_Add: false Src_Mode: constant Src_Horiz: lat_zone Src_Lats: [30.0, 50.0] Src_Units: ppbv Src_Value: 100 Src_Vert: all nh_5: << : *nhproperties FullName: Northern Hemisphere 5 day tracer Snk_Period: 5 nh_50: << : *nhproperties FullName: Northern Hemisphere 50 day tracer Snk_Period: 50 NH3: DD_DvzAerSnow: 0.03 DD_DvzMinVal: [0.2, 0.3] DD_DvzMinVal_Luo: [0.01, 0.01] DD_F0: 0.0 DD_Hstar: 2.0e+4 Formula: NH3 FullName: Ammonia Henry_CR: 4100.0 Henry_CR_Luo: 4200.0 Henry_K0: 3.3e+6 Henry_K0_Luo: 59.78175 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 17.04 WD_RetFactor: 5.0e-2 WD_LiqAndGas: true WD_ConvFacI2G: 6.17395e-1 NH4: DD_DvzAerSnow: 0.03 DD_DvzMinVal: [0.01, 0.01] DD_F0: 0.0 DD_Hstar: 0.0 Formula: NH4 FullName: Ammonium Is_Aerosol: true Is_DryDep: true Is_WetDep: true MW_g: 18.05 WD_AerScavEff: 1.0 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [1.0, 0.0, 1.0] WD_RainoutEff_Luo: [0.4, 0.0, 1.0] NiF1: << : *METALSproperties Density: 2500.0 Formula: Ni FullName: Nickel on dust. Reff = 0.7 microns MW_g: 58.69 Radius: 7.3e-7 NiF2: << : *METALSproperties Density: 2650.0 Formula: Ni FullName: Nickel on dust, Reff = 1.4 microns MW_g: 58.69 Radius: 1.4e-6 NIT: DD_DvzAerSnow: 0.03 DD_DvzMinVal: [0.01, 0.01] DD_F0: 0.0 DD_Hstar: 0.0 FullName: Inorganic nitrates Is_Aerosol: true Is_DryDep: true Is_Photolysis: true Is_WetDep: true MW_g: 62.01 WD_AerScavEff: 1.0 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [1.0, 0.0, 1.0] WD_RainoutEff_Luo: [0.4, 0.0, 1.0] NITDbin1: << : *DSTbinproperties Density: 2500.0 FullName: Nitrate on DSTbin1 MW_g: 62.01 Radius: 1.51e-7 WD_WashoutRainPara: [3.99e-7, 0.71] WD_WashoutSnowPara: [7.28e-6, 0.57] NITDbin2: << : *DSTbinproperties Density: 2500.0 FullName: Nitrate on DSTbin2 MW_g: 62.01 Radius: 2.53e-7 WD_WashoutRainPara: [4.07e-7, 0.71] WD_WashoutSnowPara: [1.34e-5, 0.56] NITDbin3: << : *DSTbinproperties Density: 2500.0 FullName: Nitrate on DSTbin3 MW_g: 62.01 Radius: 4.02e-7 WD_WashoutRainPara: [4.81e-7, 0.72] WD_WashoutSnowPara: [2.72e-5, 0.56] NITDbin4: << : *DSTbinproperties Density: 2500.0 FullName: Nitrate on DSTbin4 MW_g: 62.01 Radius: 8.18e-7 WD_WashoutRainPara: [8.43e-7, 0.73] WD_WashoutSnowPara: [6.03e-5, 0.55] NITDbin5: << : *DSTbinproperties Density: 2650.0 FullName: Nitrate on DSTbin5 MW_g: 62.01 Radius: 1.491e-6 WD_WashoutRainPara: [4.82e-5, 0.88] WD_WashoutSnowPara: [4.15e-4, 0.61] NITDbin6: << : *DSTbinproperties Density: 2650.0 FullName: Nitrate on DSTbin6 MW_g: 62.01 Radius: 2.417e-6 WD_WashoutRainPara: [2.17e-4, 0.87] WD_WashoutSnowPara: [1.27e-3, 0.67] NITDbin7: << : *DSTbinproperties Density: 2650.0 FullName: Nitrate on DSTbin7 MW_g: 62.01 Radius: 3.721e-6 WD_WashoutRainPara: [3.37e-4, 0.84] WD_WashoutSnowPara: [2.42e-3, 0.73] NITs: << : *SALCproperties FullName: Inorganic nitrates on surface of seasalt aerosol Is_Photolysis: true MW_g: 62.01 WD_CoarseAer: true 'NO': Background_VV: 4.0e-13 Formula: 'NO' FullName: Nitrogen oxide Is_Gas: true Is_Photolysis: true MW_g: 30.01 NO2: Background_VV: 4.0e-13 DD_F0: 0.1 DD_Hstar: 1.0e-2 Formula: NO2 FullName: Nitrogen dioxide Is_DryDep: true Is_Gas: true Is_Photolysis: true MW_g: 46.01 NO3: Background_VV: 4.0e-15 Formula: NO3 FullName: Nitrate radical Is_Gas: true Is_Photolysis: true MW_g: 62.01 NPHEN: DD_F0: 1.0 DD_Hstar: 2.3e+3 Formula: C6H5NO3 FullName: Nitrophenols Henry_CR: 0.0 Henry_K0: 2.3e+3 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 139.11 WD_RetFactor: 2.0e-2 NPRNO3: DD_F0: 0.1 DD_Hstar: 1.1 Formula: C3H7ONO2 FullName: n-propyl nitrate Henry_CR: 5500.0 Henry_K0: 1.1 Is_DryDep: true Is_Gas: true Is_Photolysis: true MW_g: 105.11 NRO2: Formula: C10H7O2 FullName: Peroxy radical from NAP oxidation Is_Gas: true MW_g: 159.17 O: Formula: O(3P) FullName: Ground state atomic oxygen Is_Gas: true MW_g: 16.00 O1D: Background_VV: 1.0e-15 Formula: O(1D) FullName: Excited atomic oxygen (1D) Is_Gas: true MW_g: 16.00 O2: Background_VV: 2.095e-1 Formula: O2 FullName: Molecular oxygen Is_Gas: true Is_Photolysis: true MW_g: 32.0 O3_PROP: &O3properties DD_F0: 1.0 DD_Hstar: 1.0e-2 Formula: O3 FullName: Ozone Henry_CR: 2800.0 Henry_K0: 0.0101325e0 Is_DryDep: true Is_Gas: true Is_Photolysis: true MW_g: 48.00 O3: << : *O3properties Background_VV: 2.0e-8 FullName: Ozone Henry_CR: 2800.0 Henry_K0: 0.0101325e0 Is_DryAlt: true O3afbl: << : *O3properties Background_VV: 1.0e-20 FullName: Ozone produced in the African boundary layer O3asbl: << : *O3properties Background_VV: 1.0e-20 FullName: Ozone produced in the Asian boundary layer O3atbl: << : *O3properties Background_VV: 1.0e-20 FullName: Ozone produced in the Atlantic Ocean boundary layer O3eubl: << : *O3properties Background_VV: 1.0e-20 FullName: Ozone produced in the European boundary layer O3init: << : *O3properties Background_VV: 1.0e-20 FullName: Ozone from the initial condition O3mt: << : *O3properties Background_VV: 1.0e-20 FullName: Ozone produced in the middle troposphere O3nabl: << : *O3properties Background_VV: 1.0e-20 FullName: Ozone produced in the North America boundary layer O3pcbl: << : *O3properties Background_VV: 1.0e-20 FullName: Ozone produced in the Pacific Ocean boundary layer O3row: << : *O3properties Background_VV: 1.0e-20 FullName: Ozone produced in the rest of the world O3Strat: << : *O3properties Background_VV: 1.0e-20 FullName: Ozone produced in the stratosphere O3usa: << : *O3properties Background_VV: 1.0e-20 FullName: Ozone produced over the United States in PBL O3ut: << : *O3properties Background_VV: 1.0e-20 FullName: Ozone produced in the upper troposphere OClO: Formula: OClO FullName: Chlorine dioxide Is_Gas: true Is_Photolysis: true MW_g: 67.45 OCPI: DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 Density: 1300.0 FullName: Hydrophilic organic carbon aerosol Is_Aerosol: true Is_DryDep: true Is_HygroGrowth: true Is_WetDep: true MW_g: 12.01 WD_AerScavEff: 1.0 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_KcScaleFac_Luo: [0.5, 0.25, 0.5] WD_RainoutEff: [1.0, 0.0, 1.0] WD_RainoutEff_Luo: [0.4, 0.0, 0.5] OCPO: DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 Density: 1300.0 FullName: Hydrophobic organic carbon aerosol Is_Aerosol: true Is_DryDep: true Is_WetDep: true MW_g: 12.01 WD_AerScavEff: 1.0 WD_KcScaleFac: [0.5, 0.5, 0.5] WD_KcScaleFac_Luo: [0.0, 0.0, 0.0] WD_RainoutEff: [0.0, 0.0, 0.0] OCS: Background_VV: 9.0e-15 Formula: COS FullName: Carbonyl sulfide Is_Gas: true Is_Photolysis: true MW_g: 60.07 OH: Background_VV: 4.0e-15 Formula: OH FullName: Hydroxyl radical Is_Gas: true MW_g: 17.01 OIO: Formula: OIO FullName: Iodine dioxide Is_Gas: true Is_Photolysis: true MW_g: 158.90 OLND: Formula: C10H16NO5 FullName: Monoterpene-derived NO3-alkene adduct Is_Gas: true MW_g: 230.27 OLNN: Formula: C10H16NO5 FullName: Monoterpene-derived NO3 adduct Is_Gas: true MW_g: 230.27 OPOA1: DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 FullName: Lumped aerosol product of SVOC oxidation Is_Aerosol: true Is_DryDep: true Is_WetDep: true MW_g: 12.01 WD_AerScavEff: 0.8 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [0.8, 0.0, 0.8] WD_RainoutEff_Luo: [0.4, 0.0, 0.8] OPOA2: DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 FullName: Lumped aerosol product of SVOC oxidation Is_Aerosol: true Is_DryDep: true Is_WetDep: true MW_g: 12.01 WD_AerScavEff: 0.8 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [0.8, 0.0, 0.8] WD_RainoutEff_Luo: [0.4, 0.0, 0.8] OPOG1: DD_F0: 0.0 DD_Hstar: 1.0e+5 FullName: Lumped gas product of SVOC oxidation Henry_CR: 6039.0 Henry_K0: 1.0e+5 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 12.01 WD_RetFactor: 2.0e-2 OPOG2: DD_F0: 0.0 DD_Hstar: 1.0e+5 FullName: Lumped gas product of SVOC oxidation Henry_CR: 6039.0 Henry_K0: 1.0e+5 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 12.01 WD_RetFactor: 2.0e-2 OTHRO2: Formula: CH3CH2OO FullName: Other C2 RO2 not from C2H6 oxidation Is_Gas: true MW_g: 61.07 PAN: DD_F0: 1.0 DD_Hstar: 3.6 Formula: CH3C(O)OONO2 FullName: Peroxyacetyl nitrate Henry_CR: 5700.0 Henry_K0: 2.94 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 121.06 WD_RetFactor: 2.0e-2 PassiveTracer: Background_VV: 1.0e-7 FullName: Passive tracer for mass conservation evaluation Is_Gas: true Is_Tracer: true MW_g: 1.0 # Use value of 1.0 to get past checks for missing MW_g Snk_Mode: none Src_Mode: none Pb210_PROP: &Pbproperties DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 Formula: Pb210 Is_Aerosol: true Is_DryDep: true Is_RadioNuclide: true Is_Tracer: true Is_WetDep: true MW_g: 210.0 # Comment out tracer-specific code for now and use RnPbBe_mod.F90 # Snk_Horiz: all # Snk_Mode: efolding # Snk_Period: 11742.8 # Snk_Vert: all # Src_Add: true # Src_Mode: HEMCO # Src_Mode: decay_of_another_species # Src_Species: Rn222 WD_AerScavEff: 1.0 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [1.0, 0.0, 1.0] WD_RainoutEff_Luo: [0.4, 0.0, 1.0] Pb210: << : *Pbproperties FullName: Lead-210 isotope # Src_Vert: all Pb210s: << : *Pbproperties FullName: Lead-210 isotope stratospheric-source tracer # Src_Vert: stratosphere PbF1: << : *METALSproperties Density: 2500.0 Formula: Pb FullName: Lead on dust. Reff = 0.7 microns MW_g: 210.0 Radius: 7.3e-7 PbF2: << : *METALSproperties Density: 2650.0 Formula: Pb FullName: Lead on dust, Reff = 1.4 microns MW_g: 210.0 Radius: 1.4e-6 PCO: FullName: Dummy species to track production rate of CO Is_Gas: true MW_g: 28.01 KPP_AbsTol: 1.0e+25 PCOfromCH4: FullName: Dummy species to track CO produced from methane oxidation (carbon mechanism) Is_Gas: true MW_g: 1.0 PCOfromNMVOC: FullName: Dummy species to track CO produced from non-methane VOCs oxidation (carbon mechanism) Is_Gas: true MW_g: 1.0 pFe: DD_F0: 0.0 DD_Hstar: 0.0 Formula: Fe FullName: Anthropogenic iron Is_Aerosol: true Is_DryDep: true Is_WetDep: true MW_g: 55.85 WD_AerScavEff: 1.0 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [1.0, 0.0, 1.0] WD_RainoutEff_Luo: [0.4, 0.0, 1.0] PH2O2: FullName: Dummy species to track production rate of H2O2 Is_Gas: true MW_g: 34.02 KPP_AbsTol: 1.0e+25 PH2SO4: FullName: SO4 from gas-phase chemistry Is_Gas: true MW_g: 96.06 PHAN: DD_F0: 1.0 DD_Hstar: 3.6 Formula: C2H3NO6 FullName: Peroxyhydroxyacetic nitric anhydride Henry_CR: 5700.0 Henry_K0: 2.94 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 137.0483 WD_RetFactor: 2.0e-2 PHEN: DD_F0: 1.0 DD_Hstar: 2.8e+3 Formula: C6H6O FullName: Phenol Henry_CR: 2700.0 Henry_K0: 2.8e+3 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 94.11 WD_RetFactor: 2.0e-2 PHg0: FullName: Gross production of Hg0 Is_Gas: true MW_g: 200.59 # Use mol wt of atomic Hg KPP_AbsTol: 1.0e+25 PHg2: FullName: Gross production of gaseous oxidized Hg Is_Gas: true MW_g: 200.59 # Use mol wt of atomic Hg KPP_AbsTol: 1.0e+25 PHg2Br: FullName: Gaseous oxidized Hg production from Br Is_Gas: true MW_g: 200.59 # Use mol wt of atomic Hg KPP_AbsTol: 1.0e+25 PHg2OH: FullName: Gaseous oxidized Hg production from OH Is_Gas: true MW_g: 200.59 # Use mol wt of atomic Hg KPP_AbsTol: 1.0e+25 PHg2Cl: FullName: Gaseous oxidized Hg production from Cl Is_Gas: true MW_g: 200.59 # Use mol wt of atomic Hg KPP_AbsTol: 1.0e25 PIN: DD_F0: 1.0 DD_Hstar: 2.0e+6 Formula: C10H17NO4 FullName: Saturated 1st gen monoterpene organic nitrate Henry_CR: 9200.0 Henry_K0: 1.7e+4 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 215.28 WD_RetFactor: 2.0e-2 PINAL: DD_F0: 1.0 DD_Hstar: 1.0e+3 Formula: C10H16O2 FullName: Pinonaldehyde Henry_CR: 6039.0 Henry_K0: 1.0e+3 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 186.28 WD_RetFactor: 2.0e-2 PINO3: Formula: C10H17O3 FullName: Acylperoxy radical from APIN Is_Gas: true MW_g: 185.27 PINO3H: DD_F0: 1.0 DD_Hstar: 1.0e+5 Formula: C10H18O4 FullName: Pinonic peracid Henry_CR: 6039.0 Henry_K0: 1.0e+5 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 186.28 WD_RetFactor: 2.0e-2 PINONIC: DD_F0: 1.0 DD_Hstar: 3.14e+5 Formula: C10H18O3 FullName: Pinonic acid Henry_CR: 6039.0 Henry_K0: 3.14e+5 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 186.28 WD_RetFactor: 2.0e-2 PINPAN: DD_F0: 1.0 DD_Hstar: 2.0e+6 Formula: C10H17NO4 FullName: PAN from pinonaldehyde Henry_CR: 9200.0 Henry_K0: 1.7e+4 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 215.28 WD_RetFactor: 2.0e-2 PIO2: Formula: C10H17O3 FullName: Peroxy radical from MTPA Is_Gas: true MW_g: 185.27 FullName: Peroxy radical from MTPA Is_Gas: true MW_g: 185.27 PIP: Formula: C10H18O3 FullName: Peroxide from MTPA Is_Gas: true Is_Photolysis: true MW_g: 186.28 PO2: Formula: HOCH2CH(OO)CH3 FullName: Peroxy radical from propene Is_Gas: true MW_g: 91.10 POA1: DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 Density: 1300.0 FullName: Lumped aerosol primary SVOCs Is_Aerosol: true Is_DryDep: true Is_HygroGrowth: true Is_WetDep: true MW_g: 12.01 WD_AerScavEff: 1.0 WD_KcScaleFac: [0.5, 0.5, 0.5] WD_KcScaleFac_Luo: [0.0, 0.0, 0.0] WD_RainoutEff: [0.0, 0.0, 0.0] POA2: DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 Density: 1300.0 FullName: Lumped aerosol primary SVOCs Is_Aerosol: true Is_DryDep: true Is_WetDep: true MW_g: 12.01 WD_AerScavEff: 1.0 WD_KcScaleFac: [0.5, 0.5, 0.5] WD_KcScaleFac_Luo: [0.0, 0.0, 0.0] WD_RainoutEff: [0.0, 0.0, 0.0] POG1: DD_F0: 0.0 DD_Hstar: 9.5 FullName: Lumped gas primary SVOCs Henry_CR: 4700.0 Henry_K0: 9.5 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 12.01 WD_RetFactor: 2.0e-2 POG2: DD_F0: 0.0 DD_Hstar: 9.5 FullName: Lumped gas primary SVOCs Henry_CR: 4700.0 Henry_K0: 9.5 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 12.01 WD_RetFactor: 2.0e-2 POPG_BaP: DD_F0: 0.0 DD_Hstar: 1319.354829 # 1.0 / 3.10e-5 * 0.0409 DD_KOA: 9.88144e+9 # 3.02e+11 * 0.0409 * 0.8 Formula: C20H12 FullName: Benzo(a)pyrene (gas phase) Henry_CR: 5168.269231 # 43.0 / 8.32e-3 Henry_K0: 1318.496208 # 1.0 / 3.10e-5 / 8.21e-2 / 298.0 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 252.32 WD_RetFactor: 0.0 POPG_PHE: DD_F0: 0.0 DD_Hstar: 23.50574713 # 1.0 / 1.74e-3 * 0.0409 DD_KOA: 1.429864e+6 # 4.37e+7 * 0.0409 * 0.8 Formula: C14H10 FullName: Phenanthrene (gas phase) Henry_CR: 5649.038462 # 47.0/ 8.32e-3 Henry_K0: 23.49044968 # 1.0 / 1.74e-3 / 8.21e-2 / 298.0 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 178.24 WD_RetFactor: 0.0 POPG_PYR: DD_F0: 0.0 DD_Hstar: 76.16387337 # 1.0 / 5.37e-4 * 0.0409 DD_KOA: 2.368928e+7 # 7.24e+8 * 0.0409 * 0.8 Formula: C16H10 FullName: Pyrene (gas phase) Henry_CR: 5168.269231 # 43.0 / 8.32e-3 Henry_K0: 76.11430621 # 1.0 / 5.37e-4 / 8.21e-2 / 298.0 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 202.26 WD_RetFactor: 0.0 POPPBCPI_BaP: DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 Formula: C20H12 FullName: Benzo(a)pyrene particles on hydrophilic black carbon Is_Aerosol: true Is_DryDep: true Is_WetDep: true MW_g: 252.32 WD_AerScavEff: 1.0 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [1.0, 0.0, 1.0] WD_RainoutEff_Luo: [ 0.4, 0.0, 1.0] POPPBCPI_PHE: DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 Formula: C14H10 FullName: Phenanthrene particles on hydrophilic black carbon Is_Aerosol: true Is_DryDep: true Is_WetDep: true MW_g: 178.24 WD_AerScavEff: 1.0 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [1.0, 0.0, 1.0] WD_RainoutEff_Luo: [ 0.4, 0.0, 1.0] POPPBCPI_PYR: DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 Formula: C16H10 FullName: Pyrene particles on hydrophilic black carbon Is_Aerosol: true Is_DryDep: true Is_WetDep: true MW_g: 202.26 WD_AerScavEff: 1.0 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [1.0, 0.0, 1.0] WD_RainoutEff_Luo: [ 0.4, 0.0, 1.0] POPPBCPO_BaP: DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 Formula: C20H12 FullName: Benzo(a)pyrene particles on hydrophobic black carbon Is_Aerosol: true Is_DryDep: true Is_WetDep: true MW_g: 252.32 WD_AerScavEff: 1.0 WD_KcScaleFac: [1.0, 1.0, 0.5] WD_RainoutEff: [1.0, 1.0, 0.0] WD_RainoutEff_Luo: [0.4, 1.0, 0.0] POPPBCPO_PHE: DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 Formula: C14H10 FullName: Phenanthrene particles on hydrophobic black carbon Is_Aerosol: true Is_DryDep: true Is_WetDep: true MW_g: 178.24 WD_AerScavEff: 1.0 WD_KcScaleFac: [1.0, 1.0, 0.5] WD_RainoutEff: [1.0, 1.0, 0.0] WD_RainoutEff_Luo: [0.4, 1.0, 0.0] POPPBCPO_PYR: DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 Formula: C16H10 FullName: Pyrene particles on hydrophobic black carbon Is_Aerosol: true Is_DryDep: true Is_WetDep: true MW_g: 202.26 WD_AerScavEff: 1.0 WD_KcScaleFac: [1.0, 1.0, 0.5] WD_RainoutEff: [1.0, 1.0, 0.0] WD_RainoutEff_Luo: [0.4, 1.0, 0.0] POPPOCPI_BaP: DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 Formula: C20H12 FullName: Benzo(a)pyrene particles on hydrophilic organic carbon Is_Aerosol: true Is_DryDep: true Is_WetDep: true MW_g: 252.32 WD_AerScavEff: 1.0 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [1.0, 0.0, 1.0] WD_RainoutEff_Luo: [0.4, 0.0, 1.0] POPPOCPI_PHE: DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 Formula: C14H10 FullName: Phenanthrene particles on hydrophilic organic carbon Is_Aerosol: true Is_DryDep: true Is_WetDep: true MW_g: 178.24 WD_AerScavEff: 1.0 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [1.0, 0.0, 1.0] WD_RainoutEff_Luo: [0.4, 0.0, 1.0] POPPOCPI_PYR: DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 Formula: C16H10 FullName: Pyrene particles on hydrophilic organic carbon Is_Aerosol: true Is_DryDep: true Is_WetDep: true MW_g: 202.26 WD_AerScavEff: 1.0 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [1.0, 0.0, 1.0] WD_RainoutEff_Luo: [0.4, 0.0, 1.0] POPPOCPO_BaP: DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 Formula: C20H12 FullName: Benzo(a)pyrene particles on hydrophobic organic carbon Is_Aerosol: true Is_DryDep: true Is_WetDep: true MW_g: 252.32 WD_AerScavEff: 1.0 WD_KcScaleFac: [0.5, 0.5, 0.5] WD_RainoutEff: [0.0, 0.0, 0.0] POPPOCPO_PHE: DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 Formula: C14H10 FullName: Phenanthrene particles on hydrophobic organic carbon Is_Aerosol: true Is_DryDep: true Is_WetDep: true MW_g: 178.24 WD_AerScavEff: 1.0 WD_KcScaleFac: [0.5, 0.5, 0.5] WD_RainoutEff: [0.0, 0.0, 0.0] POPPOCPO_PYR: DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 Formula: C16H10 FullName: Pyrene particles on hydrophobic organic carbon Is_Aerosol: true Is_DryDep: true Is_WetDep: true MW_g: 202.26 WD_AerScavEff: 1.0 WD_KcScaleFac: [0.5, 0.5, 0.5] WD_RainoutEff: [0.0, 0.0, 0.0] POx: FullName: Dummy species to track production rate of Ox Is_Gas: true MW_g: 48.00 KPP_AbsTol: 1.0e+25 PP: DD_F0: 1.0 DD_Hstar: 2.94e+2 Formula: HOCH2CH(OOH)CH3 FullName: Peroxide from PO2 Henry_CR: 5200.0 Henry_K0: 2.94e+2 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 92.11 WD_RetFactor: 2.0e-2 PPN: DD_F0: 1.0 DD_Hstar: 3.6 Formula: CH3CH2C(O)OONO2 FullName: Lumped peroxypropionyl nitrate Henry_CR: 0.0 Henry_K0: 2.94 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 135.08 WD_RetFactor: 2.0e-2 PRN1: Formula: O2NOCH2CH(OO)CH3 FullName: Peroxy radical from propene + NO3 Is_Gas: true MW_g: 136.09 PROPNN: DD_F0: 1.0 DD_Hstar: 5.0e+5 Formula: CH3C(=O)CH2ONO2 FullName: Propanone nitrate Henry_CR: 0.0 Henry_K0: 1.0e+3 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 119.08 WD_RetFactor: 2.0e-2 PRPE: Formula: C3H6 FullName: Lumped >= C3 alkenes Henry_CR: 3400.0 Henry_K0: 7.4e-3 Is_Gas: true Is_WetDep: true MW_g: 42.09 WD_RetFactor: 2.0e-2 PRPN: DD_F0: 1.0 DD_Hstar: 2.94e+2 Formula: O2NOCH2CH(OOH)CH3 FullName: Peroxide from PRN1 Henry_CR: 5200.0 Henry_K0: 2.94e+2 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 137.11 WD_RetFactor: 2.0e-2 PSO4: FullName: Dummy species to track production of SO4 Is_Gas: true MW_g: 96.06 KPP_AbsTol: 1.0e+25 PSO4AQ: FullName: SO4 from cloud chemistry Is_Gas: true MW_g: 96.06 PYAC: DD_F0: 1.0 DD_Hstar: 3.14e+5 Formula: C3H4O3 FullName: Pyruvic acid Henry_CR: 5100.0 Henry_K0: 3.14e+5 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 88.07 WD_RetFactor: 2.0e-2 R4N1: Formula: C4H8NO5 FullName: Peroxy radical from R4N2 Is_Gas: true MW_g: 150.13 RNO3: DD_F0: 1.0 DD_Hstar: 1.7e+4 Formula: RO2NO FullName: Lumped alkyl nitrate Henry_CR: 5800.0 Henry_K0: 1.0 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 203.15 WD_RetFactor: 2.0e-2 R4N2: DD_F0: 1.0 DD_Hstar: 1.7e+4 Formula: RO2NO FullName: Lumped alkyl nitrate Henry_CR: 5800.0 Henry_K0: 1.0 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 119.10 WD_RetFactor: 2.0e-2 R7N1: Formula: C7H15NO5 FullName: Peroxy radical from R7N2 Is_Gas: true MW_g: 161.2 R7N2: DD_F0: 1.0 DD_Hstar: 1.7e+4 Formula: RO2NO FullName: C7 Lumped alkyl nitrate Henry_CR: 6700.0 Henry_K0: 0.77 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 161.2 WD_RetFactor: 2.0e-2 R4O2: Formula: C4H9O2 FullName: Peroxy radical from isoprene and MTPA alkyl generation Is_Gas: true MW_g: 89.13 R4P: DD_F0: 1.0 DD_Hstar: 2.94e+2 Formula: CH3CH2CH2CH2OOH FullName: Peroxide from R4O2 Henry_CR: 5200.0 Henry_K0: 2.94e+2 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 90.14 WD_RetFactor: 2.0e-2 R7O2: Formula: C7H15O2 FullName: Peroxy radical from ALK6 Is_Gas: true MW_g: 131.19 R7P: DD_F0: 1.0 DD_Hstar: 2.94e+2 Formula: C7H16O2 FullName: Peroxide from R7O2 Henry_CR: 5200.0 Henry_K0: 2.94e+2 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 132.20 WD_RetFactor: 2.0e-2 RA3P: DD_F0: 1.0 DD_Hstar: 2.94e+2 Formula: CH3CH2CH2OOH FullName: Peroxide from A3O2 Henry_CR: 5200.0 Henry_K0: 2.94e+2 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 76.11 WD_RetFactor: 2.0e-2 RB3P: DD_F0: 1.0 DD_Hstar: 2.94e+2 Formula: CH3CH(OOH)CH3 FullName: Peroxide from B3O2 Henry_CR: 5200.0 Henry_K0: 2.94e+2 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 76.11 WD_RetFactor: 2.0e-2 RCHO: Formula: CH3CH2CHO FullName: Lumped aldehyde >= C3 Henry_CR: 0.0 Henry_K0: 1.0e+1 Is_Gas: true Is_Photolysis: true MW_g: 58.09 WD_RetFactor: 2.0e-2 RCO3: Formula: CH3CH2C(O)OO FullName: Peroxypropionyl radical Is_Gas: true MW_g: 89.08 RCOOH: DD_F0: 1.0 DD_Hstar: 1.52e+3 Formula: C2H5C(O)OH FullName: '> C2 organic acids' Henry_CR: 6800.0 Henry_K0: 1.52e+3 Is_DryDep: true Is_WetDep: true Is_Gas: true MW_g: 74.09 WD_RetFactor: 2.0e-2 RIPA: DD_F0: 1.0 DD_Hstar: 1.7e+6 Formula: C5H10O3 FullName: 1,2-ISOPOOH Henry_CR: 0.0 Henry_K0: 1.7e+6 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 118.15 WD_RetFactor: 2.0e-2 RIPB: DD_F0: 1.0 DD_Hstar: 1.7e+6 Formula: C5H10O3 FullName: 4,3-ISOPOOH Henry_CR: 0.0 Henry_K0: 1.7e+6 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 118.15 WD_RetFactor: 2.0e-2 RIPC: DD_F0: 1.0 DD_Hstar: 1.7e+6 Formula: C5H10O3 FullName: d-1,4-ISOPOOH Henry_CR: 0.0 Henry_K0: 1.7e+6 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 118.15 WD_RetFactor: 2.0e-2 RIPD: DD_F0: 1.0 DD_Hstar: 1.7e+6 Formula: C5H10O3 FullName: d-4,1-ISOPOOH Henry_CR: 0.0 Henry_K0: 1.7e+6 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 118.15 WD_RetFactor: 2.0e-2 RNO3: DD_F0: 1.0 DD_Hstar: 1.7e+4 Formula: RO2NO FullName: Lumped aromatic nitrate Henry_CR: 5800.0 Henry_K0: 1.0 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 203.15 WD_RetFactor: 2.0e-2 Rn222: Formula: Rn222 FullName: Radon-222 isotope Is_Aerosol: true Is_RadioNuclide: true Is_Tracer: true MW_g: 222.0 # Comment out tracer-specific code for now and use RnPbBe_mod.F90 # Snk_Horiz: all # Snk_Mode: efolding # Snk_Period: 5.5 # Snk_Vert: all # Src_Add: true # Src_Mode: HEMCO # Src_Mode: decay_of_another_species # Src_Species: Rn222 ROH: Formula: C3H7OH FullName: '> C2 alcohols' Is_Gas: true MW_g: 60.11 RP: DD_F0: 1.0 DD_Hstar: 2.94e+2 Formula: CH3CH2C(O)OOH FullName: Peroxide from RCO3 Henry_CR: 5200.0 Henry_K0: 2.94e+2 Is_DryDep: true Is_Gas: true Is_Photolysis: true Is_WetDep: true MW_g: 90.09 WD_RetFactor: 2.0e-2 S: Formula: S FullName: Atomic sulfur MW_g: 32.06 SALA: << : *SALAproperties FullName: Fine (0.01-0.05 microns) sea salt aerosol Is_HygroGrowth: true MW_g: 31.4 SALAAL: << : *SALAproperties FullName: Accumulation mode sea salt alkalinity Is_HygroGrowth: false MW_g: 31.4 SALACL: << : *SALAproperties FullName: Chloride in Accumulation mode sea salt aerosol Is_HygroGrowth: false MW_g: 35.45 SALC: << : *SALCproperties FullName: Coarse (0.5-8 microns) sea salt aerosol Is_HygroGrowth: true MW_g: 31.4 WD_CoarseAer: true SALCAL: << : *SALCproperties FullName: Coarse mode sea salt alkalinity Is_HygroGrowth: false MW_g: 31.4 WD_CoarseAer: true SALCCL: << : *SALCproperties FullName: Chloride in Coarse mode sea salt aerosol Is_HygroGrowth: false MW_g: 35.45 WD_CoarseAer: true SF6: Background_VV: 1.0e-20 Formula: SF6 FullName: Sulfur hexafluoride Is_Gas: true Is_Tracer: true MW_g: 146.06 Snk_Mode: none Src_Add: true Src_Mode: HEMCO SiF1: << : *METALSproperties Density: 2500.0 FullName: Silicon on dust, Reff = 0.7 microns MW_g: 28.09 Radius: 7.3e-7 SiF2: << : *METALSproperties Density: 2650.0 FullName: Silicon on dust, Reff = 1.4 microns MW_g: 28.09 Radius: 1.4e-6 SO2: DD_DvzAerSnow: 0.03 DD_DvzMinVal: [0.2, 0.3] DD_DvzMinVal_Luo: [0.01, 0.01] DD_F0: 0.0 DD_Hstar: 1.0e+5 Formula: SO2 FullName: Sulfur dioxide Henry_CR_Luo: 3100.0 Henry_K0_Luo: 1.22 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 64.04 WD_AerScavEff: 1.0 WD_Is_SO2: true WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [1.0, 0.0, 1.0] WD_RainoutEff_Luo: [0.4, 0.0, 1.0] WD_RetFactor_Luo: 5.0e-2 WD_LiqAndGas_Luo: true WD_ConvFacI2G_Luo: 6.17395e-1 SO3mm: Formula: SO3-- FullName: Sulfite Is_Gas: true MW_g: 80.07 SO4: DD_DvzAerSnow: 0.03 DD_DvzMinVal: [0.01, 0.01] DD_F0: 0.0 DD_Hstar: 0.0 Density: 1700.0 Formula: SO4 FullName: Sulfate Is_Aerosol: true Is_DryDep: true Is_HygroGrowth: true Is_Photolysis: true Is_WetDep: true MW_g: 96.06 WD_AerScavEff: 1.0 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [1.0, 0.0, 1.0] WD_RainoutEff_Luo: [0.4, 0.0, 1.0] SO4Dbin1: << : *DSTbinproperties Density: 2500.0 FullName: Sulfate on DSTbin1 MW_g: 96.06 Radius: 1.51e-7 WD_WashoutRainPara: [3.99e-7, 0.71] WD_WashoutSnowPara: [7.28e-6, 0.57] SO4Dbin2: << : *DSTbinproperties Density: 2500.0 FullName: Sulfate on DSTbin2 MW_g: 96.06 Radius: 2.53e-7 WD_WashoutRainPara: [4.07e-7, 0.71] WD_WashoutSnowPara: [1.34e-5, 0.56] SO4Dbin3: << : *DSTbinproperties Density: 2500.0 FullName: Sulfate on DSTbin3 MW_g: 96.06 Radius: 4.02e-7 WD_WashoutRainPara: [4.81e-7, 0.72] WD_WashoutSnowPara: [2.72e-5, 0.56] SO4Dbin4: << : *DSTbinproperties Density: 2500.0 FullName: Sulfate on DSTbin4 MW_g: 96.06 Radius: 8.18e-7 WD_WashoutRainPara: [8.43e-7, 0.73] WD_WashoutSnowPara: [6.03e-5, 0.55] SO4Dbin5: << : *DSTbinproperties Density: 2650.0 Radius: 1.491e-6 FullName: Sulfate on DSTbin5 MW_g: 96.06 WD_WashoutRainPara: [4.82e-5, 0.88] WD_WashoutSnowPara: [4.15e-4, 0.61] SO4Dbin6: << : *DSTbinproperties Density: 2650.0 FullName: Sulfate on DSTbin6 MW_g: 96.06 Radius: 2.417e-6 WD_WashoutRainPara: [2.17e-4, 0.87] WD_WashoutSnowPara: [1.27e-3, 0.67] SO4Dbin7: << : *DSTbinproperties Density: 2650.0 FullName: Sulfate on DSTbin7 MW_g: 96.06 Radius: 3.721e-6 WD_WashoutRainPara: [3.37e-4, 0.84] WD_WashoutSnowPara: [2.42e-3, 0.73] SO4H1: Formula: SO4 FullName: Sulfate produced by HOBr Is_Gas: true MW_g: 96.06 SO4H2: Formula: SO4 FullName: Sulfate produced by HOBr Is_Gas: true MW_g: 96.06 SO4H3: Formula: SO4 FullName: Sulfate produced by HOCl Is_Gas: true MW_g: 96.06 SO4H4: Formula: SO4 FullName: Sulfate produced by HOCl Is_Gas: true MW_g: 96.06 SO4s: << : *SALCproperties FullName: Sulfate on surface of seasalt aerosol MW_g: 96.06 WD_CoarseAer: true SOAGX: DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 Formula: C2H2O2 FullName: Aerosol-phase glyoxal Is_Aerosol: true Is_DryDep: true Is_WetDep: true MW_g: 58.04 WD_AerScavEff: 0.8 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [0.8, 0.0, 0.8] WD_RainoutEff_Luo: [0.4, 0.0, 0.8] SOAIE: DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 Formula: C5H10O3 FullName: Aerosol-phase IEPOX Is_Aerosol: true Is_DryDep: true Is_WetDep: true MW_g: 118.15 WD_AerScavEff: 0.8 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [0.8, 0.0, 0.8] WD_RainoutEff_Luo: [0.4, 0.0, 0.8] SOAP: FullName: SOA Precursor - lumped species for simplified SOA parameterization Is_Gas: true MW_g: 150.0 SOAS: DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 FullName: SOA Simple - simplified non-volatile SOA parameterization Is_Aerosol: true Is_DryDep: true Is_WetDep: true MW_g: 150.0 WD_AerScavEff: 0.8 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [0.8, 0.0, 0.8] WD_RainoutEff_Luo: [0.4, 0.0, 0.8] st80_25: FullName: Stratosphere source 25 day tracer Is_Gas: true Is_Tracer: true MW_g: 1.0 # Use value of 1.0 to get past checks for missing MW_g Snk_Horiz: all Snk_Mode: efolding Snk_Period: 25 Snk_Vert: troposphere Src_Add: false Src_Horiz: all Src_Mode: constant Src_Pressures: [0, 80] Src_Units: ppbv Src_Value: 200 Src_Vert: pressures stOX: FullName: Tracer with O3 values in stratosphere and O3 loss applied in troposphere Is_Gas: true Is_Tracer: true MW_g: 1.0 # Use value of 1.0 to get past checks for missing MW_g Loss_Species: O3 Snk_Horiz: all Snk_Mode: chemical_loss Snk_Vert: troposphere Src_Add: false Src_Horiz: all Src_Mode: model_field Src_Vert: stratosphere STYR: Formula: C8H8 FullName: Styrene Is_Gas: true MW_g: 104.1491 TiF1: << : *METALSproperties Density: 2500.0 Formula: Ti FullName: Titanium on dust, Reff = 0.7 microns MW_g: 47.87 Radius: 7.3e-7 TiF2: << : *METALSproperties Density: 2650.0 Formula: Ti FullName: Titanium on dust, Reff = 1.4 microns MW_g: 47.87 Radius: 1.4e-6 TLFUO2: Formula: C5H7O5 Is_Gas: true MW_g: 147.1 TLFUONE: DD_F0: 1.0 DD_Hstar: 2.0e+6 Formula: C5H6O2 FullName: Aromatic furanones Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 98.10 Henry_CR: 7500.0 Henry_K0: 2.0e+6 WD_RetFactor: 2.0e-2 TMB: Formula: C8H10 FullName: Trimethylbenzenes Is_Gas: true MW_g: 106.167 TOLU: Formula: C7H8 FullName: Toluene Is_Gas: true MW_g: 92.15 TRO2: Formula: C7H9O5 FullName: Peroxy radical from TOLU oxidation Is_Gas: true MW_g: 173.16 TSOA_PROP: &TSOAproperties DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 FullName: Lumped semivolatile aerosol products of monoterpene + sesquiterpene oxidation Is_Aerosol: true Is_DryDep: true Is_WetDep: true MW_g: 150.0 WD_AerScavEff: 0.8 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [0.8, 0.0, 0.8] WD_RainoutEff_Luo: [0.4, 0.0, 0.8] TSOA0: << : *TSOAproperties TSOA1: << : *TSOAproperties TSOA2: << : *TSOAproperties TSOA3: << : *TSOAproperties TSOG_PROP: &TSOGproperties DD_F0: 0.0 DD_Hstar: 1.0e+5 FullName: Lumped semivolatile gas products of monoterpene + sesquiterpene oxidation Henry_CR: 6039.0 Henry_K0: 1.0e+5 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 150.0 WD_RetFactor: 2.0e-2 TSOG0: << : *TSOGproperties TSOG1: << : *TSOGproperties TSOG2: << : *TSOGproperties TSOG3: << : *TSOGproperties XRO2: Formula: C8H11O5 FullName: Peroxy radical from TOLU oxidation Is_Gas: true MW_g: 187.19 XYLE: Formula: C8H10 FullName: Xylene Is_Gas: true MW_g: 106.18 ================================================ FILE: run/shared/species_database_apm.yml ================================================ # GEOS-Chem Species Database (13 May 2020) # APM microphysics species only # NOTE: Anchors must be defined before any variables that reference them APMAMINE1: DD_DvzAerSnow: 0.03 DD_DvzMinVal: [0.2, 0.3] DD_F0: 0.0 DD_Hstar: 2.0e+4 FullName: APM amines 1 Henry_CR: 4100.0 Henry_K0: 3.3e+6 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 31.0 WD_RetFactor: 5.0e-2 WD_LiqAndGas: true WD_ConvFacI2G: 6.17395e-1 APMAMINE2: DD_DvzAerSnow: 0.03 DD_DvzMinVal: [0.2, 0.3] DD_F0: 0.0 DD_Hstar: 2.0e+4 FullName: APM amines 2 Henry_CR: 4100.0 Henry_K0: 3.3e+6 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 45.0 WD_RetFactor: 5.0e-2 WD_LiqAndGas: true WD_ConvFacI2G: 6.17395e-1 APMAMINE3: DD_DvzAerSnow: 0.03 DD_DvzMinVal: [0.2, 0.3] DD_F0: 0.0 DD_Hstar: 2.0e+4 FullName: APM amines 3 Henry_CR: 4100.0 Henry_K0: 3.3e+6 Is_DryDep: true Is_Gas: true Is_WetDep: true MW_g: 59.0 WD_RetFactor: 5.0e-2 WD_LiqAndGas: true WD_ConvFacI2G: 6.17395e-1 APMBCBIN01_PROP: &APMBC1properties DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 Density: 1800.0 Formula: C Is_Aerosol: true Is_DryDep: true Is_WetDep: true MW_g: 12.01 WD_AerScavEff: 0.0 WD_KcScaleFac: [1.0, 0.0, 0.0] WD_RainoutEff: [1.0, 0.0, 0.0] APMBCBIN01: << : *APMBC1properties FullName: APM black carbon, size bin = 01 APMBCBIN02: << : *APMBC1properties FullName: APM black carbon, size bin = 02 APMBCBIN03: << : *APMBC1properties FullName: APM black carbon, size bin = 03 APMBCBIN04: << : *APMBC1properties FullName: APM black carbon, size bin = 04 APMBCBIN05: << : *APMBC1properties FullName: APM black carbon, size bin = 05 APMBCBIN06_PROP: &APMBC6properties DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 Density: 1800.0 Formula: C Is_Aerosol: true Is_DryDep: true Is_HygroGrowth: true Is_WetDep: true MW_g: 12.01 WD_AerScavEff: 1.0 WD_KcScaleFac: [0.0, 0.0, 1.0] WD_RainoutEff: [0.0, 0.0, 1.0] APMBCBIN06: << : *APMBC6properties FullName: APM black carbon, size bin = 07 APMBCBIN07: << : *APMBC6properties FullName: APM black carbon, size bin = 07 APMBCBIN08: << : *APMBC6properties FullName: APM black carbon, size bin = 08 APMBCBIN09: << : *APMBC6properties FullName: APM black carbon, size bin = 09 APMBCBIN10: << : *APMBC6properties FullName: APM black carbon, size bin = 10 APMBCBIN11: << : *APMBC6properties FullName: APM black carbon, size bin = 11 APMBCBIN12: << : *APMBC6properties FullName: APM black carbon, size bin = 12 APMBCBIN13: << : *APMBC6properties FullName: APM black carbon, size bin = 13 APMBCBIN14: << : *APMBC6properties FullName: APM black carbon, size bin = 14 APMBCBIN15: << : *APMBC6properties FullName: APM black carbon, size bin = 15 APMCTBC1: DD_F0: 0.0 DD_Hstar: 0.0 Density: 1800.0 Formula: SO4 FullName: APM CTSO4 Is_Aerosol: true Is_DryDep: true Is_HygroGrowth: true Is_WetDep: true MW_g: 96.0 WD_AerScavEff: 1.0 WD_KcScaleFac: [0.0, 0.0, 1.0] WD_RainoutEff: [0.0, 0.0, 1.0] APMCTBC2: DD_F0: 0.0 DD_Hstar: 0.0 Density: 1800.0 Formula: LVSOA FullName: APM CTSLVSOA Is_Aerosol: true Is_DryDep: true Is_HygroGrowth: true Is_WetDep: true MW_g: 181.0 WD_AerScavEff: 1.0 WD_KcScaleFac: [0.0, 0.0, 1.0] WD_RainoutEff: [0.0, 0.0, 1.0] APMCTDST1: DD_DustDryDep: true DD_F0: 0.0 DD_Hstar: 0.0 Density: 2650.0 Formula: SO4 FullName: APM CTSO4 Is_Aerosol: true Is_DryDep: true Is_WetDep: true MP_SizeResAer: true MW_g: 96.0 Radius: 4.5e-6 WD_AerScavEff: 1.0 WD_CoarseAer: true WD_KcScaleFac: [0.0, 0.0, 1.0] WD_RainoutEff: [0.0, 0.0, 1.0] APMCTDST2: DD_DustDryDep: true DD_F0: 0.0 DD_Hstar: 0.0 Density: 2650.0 Formula: LVSOA FullName: APM CTLVSOA Is_Aerosol: true Is_DryDep: true Is_WetDep: true MP_SizeResAer: true MW_g: 181.0 Radius: 4.5e-6 WD_AerScavEff: 1.0 WD_CoarseAer: true WD_KcScaleFac: [0.0, 0.0, 1.0] WD_RainoutEff: [0.0, 0.0, 1.0] APMCTOC1: DD_F0: 0.0 DD_Hstar: 0.0 Density: 1800.0 Formula: SO4 FullName: APM CTSO4 Is_Aerosol: true Is_DryDep: true Is_HygroGrowth: true Is_WetDep: true MW_g: 96.0 WD_AerScavEff: 1.0 WD_KcScaleFac: [0.0, 0.0, 1.0] WD_RainoutEff: [0.0, 0.0, 1.0] APMCTOC2: DD_F0: 0.0 DD_Hstar: 0.0 Density: 1800.0 Formula: LVSOA FullName: APM CTSLVSOA Is_Aerosol: true Is_DryDep: true Is_HygroGrowth: true Is_WetDep: true MW_g: 181.0 WD_AerScavEff: 1.0 WD_KcScaleFac: [0.0, 0.0, 1.0] WD_RainoutEff: [0.0, 0.0, 1.0] APMCTSEA1: DD_DustDryDep: true DD_F0: 0.0 DD_Hstar: 0.0 Density: 2200.0 Formula: SO4 FullName: APM CTSO4 Is_Aerosol: true Is_DryDep: true Is_HygroGrowth: true Is_WetDep: true MP_SizeResAer: true MW_g: 96.0 Radius: 2.5e-6 WD_AerScavEff: 1.0 WD_CoarseAer: true WD_KcScaleFac: [0.0, 0.0, 1.0] WD_RainoutEff: [0.0, 0.0, 1.0] APMCTSEA2: DD_DustDryDep: true DD_F0: 0.0 DD_Hstar: 0.0 Density: 2200.0 Formula: LVSOA FullName: APM CTLVSOA Is_Aerosol: true Is_DryDep: true Is_HygroGrowth: true Is_WetDep: true MP_SizeResAer: true MW_g: 181.0 Radius: 2.5e-6 WD_AerScavEff: 1.0 WD_CoarseAer: true WD_KcScaleFac: [0.0, 0.0, 1.0] WD_RainoutEff: [0.0, 0.0, 1.0] APMDSTBIN_PROP: &APMDSTproperties DD_DustDryDep: true DD_F0: 0.0 DD_Hstar: 0.0 Density: 2650.0 Formula: Dust Is_Aerosol: true Is_DryDep: true Is_WetDep: true MP_SizeResAer: true MW_g: 29.0 Radius: 4.5e-6 WD_AerScavEff: 0.0 WD_CoarseAer: true WD_KcScaleFac: [1.0, 0.5, 0.0] WD_RainoutEff: [1.0, 0.5, 0.0] APMDSTBIN01: << : *APMDSTproperties FullName: APM dust, size bin = 01 APMDSTBIN02: << : *APMDSTproperties FullName: APM dust, size bin = 02 APMDSTBIN03: << : *APMDSTproperties FullName: APM dust, size bin = 03 APMDSTBIN04: << : *APMDSTproperties FullName: APM dust, size bin = 04 APMDSTBIN05: << : *APMDSTproperties FullName: APM dust, size bin = 05 APMDSTBIN06: << : *APMDSTproperties FullName: APM dust, size bin = 06 APMDSTBIN07: << : *APMDSTproperties FullName: APM dust, size bin = 07 APMDSTBIN08: << : *APMDSTproperties FullName: APM dust, size bin = 08 APMDSTBIN09: << : *APMDSTproperties FullName: APM dust, size bin = 09 APMDSTBIN10: << : *APMDSTproperties FullName: APM dust, size bin = 10 APMDSTBIN11: << : *APMDSTproperties FullName: APM dust, size bin = 11 APMDSTBIN12: << : *APMDSTproperties FullName: APM dust, size bin = 12 APMDSTBIN13: << : *APMDSTproperties FullName: APM dust, size bin = 13 APMDSTBIN14: << : *APMDSTproperties FullName: APM dust, size bin = 14 APMDSTBIN15: << : *APMDSTproperties FullName: APM dust, size bin = 15 APMH2SO4: DD_DvzAerSnow: 0.03 DD_DvzMinVal: [0.01, 0.01] DD_F0: 0.0 DD_Hstar: 0.0 Density: 1800.0 Formula: H2SO4 FullName: APM sulfuric acid Is_Aerosol: true Is_DryDep: true Is_WetDep: true MW_g: 98.0 WD_AerScavEff: 1.0 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [1.0, 0.0, 1.0] APMLVSOA: DD_DustDryDep: true DD_F0: 0.0 DD_Hstar: 0.0 Density: 1800.0 Formula: LVSOA FullName: APM LVSOA Is_Aerosol: true Is_DryDep: true Is_HygroGrowth: true Is_WetDep: true MP_SizeResAer: true MW_g: 181.0 Radius: 5.0e-7 WD_AerScavEff: 1.0 WD_KcScaleFac: [0.0, 0.0, 1.0] WD_RainoutEff: [0.0, 0.0, 1.0] APMLVSOG: DD_DvzAerSnow: 0.03 DD_DvzMinVal: [0.01, 0.01] DD_F0: 0.0 DD_Hstar: 0.0 Density: 1800.0 FullName: APM LV secondary organic gas Is_Aerosol: true # APMLVSOG is aerosol in Ref code, ask Gan Luo Is_DryDep: true #Is_Gas: true # APMLVSOG is aerosol in Ref code, ask Gan Luo Is_WetDep: true MW_g: 181.0 WD_AerScavEff: 1.0 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [1.0, 0.0, 1.0] APMOCBIN_PROP: &APMOC1properties DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 Density: 1300.0 Formula: C Is_Aerosol: true Is_DryDep: true Is_WetDep: true MW_g: 12.01 WD_AerScavEff: 1.0 WD_KcScaleFac: [0.5, 0.5, 0.5] WD_RainoutEff: [0.0, 0.0, 0.0] APMOCBIN01: << : *APMOC1properties FullName: APM organic carbon, size bin = 01 APMOCBIN02: << : *APMOC1properties FullName: APM organic carbon, size bin = 02 APMOCBIN03: << : *APMOC1properties FullName: APM organic carbon, size bin = 03 APMOCBIN04: << : *APMOC1properties FullName: APM organic carbon, size bin = 04 APMOCBIN05: << : *APMOC1properties FullName: APM organic carbon, size bin = 05 APMOCBIN06_PROP: &APMOC6properties DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 Density: 1300.0 Formula: C Is_Aerosol: true Is_DryDep: true Is_HygroGrowth: true Is_WetDep: true MW_g: 12.01 WD_AerScavEff: 1.0 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [1.0, 0.0, 1.0] APMOCBIN06: << : *APMOC6properties FullName: APM organic carbon, size bin = 06 APMOCBIN07: << : *APMOC6properties FullName: APM organic carbon, size bin = 07 APMOCBIN08: << : *APMOC6properties FullName: APM organic carbon, size bin = 08 APMOCBIN09: << : *APMOC6properties FullName: APM organic carbon, size bin = 09 APMOCBIN10: << : *APMOC6properties FullName: APM organic carbon, size bin = 10 APMOCBIN11: << : *APMOC6properties FullName: APM organic carbon, size bin = 11 APMOCBIN12: << : *APMOC6properties FullName: APM organic carbon, size bin = 12 APMOCBIN13: << : *APMOC6properties FullName: APM organic carbon, size bin = 13 APMOCBIN14: << : *APMOC6properties FullName: APM organic carbon, size bin = 14 APMOCBIN15: << : *APMOC6properties FullName: APM organic carbon, size bin = 15 APMSEABIN_PROP: &APMSEAproperties DD_DustDryDep: true DD_F0: 0.0 DD_Hstar: 0.0 Density: 2200.0 Is_Aerosol: true Is_DryDep: true Is_HygroGrowth: true Is_WetDep: true MP_SizeResAer: true MW_g: 31.4 Radius: 2.5e-6 WD_AerScavEff: 1.0 WD_CoarseAer: true WD_KcScaleFac: [0.0, 0.0, 1.0] WD_RainoutEff: [0.0, 0.0, 1.0] APMSEABIN01: << : *APMSEAproperties FullName: APM sea salt, size bin = 01 APMSEABIN02: << : *APMSEAproperties FullName: APM sea salt, size bin = 02 APMSEABIN03: << : *APMSEAproperties FullName: APM sea salt, size bin = 03 APMSEABIN04: << : *APMSEAproperties FullName: APM sea salt, size bin = 04 APMSEABIN05: << : *APMSEAproperties FullName: APM sea salt, size bin = 05 APMSEABIN06: << : *APMSEAproperties FullName: APM sea salt, size bin = 06 APMSEABIN07: << : *APMSEAproperties FullName: APM sea salt, size bin = 07 APMSEABIN08: << : *APMSEAproperties FullName: APM sea salt, size bin = 08 APMSEABIN09: << : *APMSEAproperties FullName: APM sea salt, size bin = 09 APMSEABIN10: << : *APMSEAproperties FullName: APM sea salt, size bin = 10 APMSEABIN11: << : *APMSEAproperties FullName: APM sea salt, size bin = 11 APMSEABIN12: << : *APMSEAproperties FullName: APM sea salt, size bin = 12 APMSEABIN13: << : *APMSEAproperties FullName: APM sea salt, size bin = 13 APMSEABIN14: << : *APMSEAproperties FullName: APM sea salt, size bin = 14 APMSEABIN15: << : *APMSEAproperties FullName: APM sea salt, size bin = 15 APMSEABIN16: << : *APMSEAproperties FullName: APM sea salt, size bin = 16 APMSEABIN17: << : *APMSEAproperties FullName: APM sea salt, size bin = 17 APMSEABIN18: << : *APMSEAproperties FullName: APM sea salt, size bin = 18 APMSEABIN19: << : *APMSEAproperties FullName: APM sea salt, size bin = 19 APMSEABIN20: << : *APMSEAproperties FullName: APM sea salt, size bin = 20 APMSPBIN_PROP: &APMSPproperties DD_DustDryDep: true DD_F0: 0.0 DD_Hstar: 0.0 Density: 1800.0 Is_Aerosol: true Is_DryDep: true Is_HygroGrowth: true Is_WetDep: true MP_SizeResAer: true MW_g: 96.0 Radius: 5.0e-7 WD_AerScavEff: 1.0 WD_KcScaleFac: [0.0, 0.0, 1.0] WD_RainoutEff: [0.0, 0.0, 1.0] APMSPBIN01: << : *APMSPproperties FullName: APM sulfate, size bin = 01 APMSPBIN02: << : *APMSPproperties FullName: APM sulfate, size bin = 02 APMSPBIN03: << : *APMSPproperties FullName: APM sulfate, size bin = 03 APMSPBIN04: << : *APMSPproperties FullName: APM sulfate, size bin = 04 APMSPBIN05: << : *APMSPproperties FullName: APM sulfate, size bin = 05 APMSPBIN06: << : *APMSPproperties FullName: APM sulfate, size bin = 06 APMSPBIN07: << : *APMSPproperties FullName: APM sulfate, size bin = 07 APMSPBIN08: << : *APMSPproperties FullName: APM sulfate, size bin = 08 APMSPBIN09: << : *APMSPproperties FullName: APM sulfate, size bin = 09 APMSPBIN10: << : *APMSPproperties FullName: APM sulfate, size bin = 10 APMSPBIN11: << : *APMSPproperties FullName: APM sulfate, size bin = 11 APMSPBIN12: << : *APMSPproperties FullName: APM sulfate, size bin = 12 APMSPBIN13: << : *APMSPproperties FullName: APM sulfate, size bin = 13 APMSPBIN14: << : *APMSPproperties FullName: APM sulfate, size bin = 14 APMSPBIN15: << : *APMSPproperties FullName: APM sulfate, size bin = 15 APMSPBIN16: << : *APMSPproperties FullName: APM sulfate, size bin = 16 APMSPBIN17: << : *APMSPproperties FullName: APM sulfate, size bin = 17 APMSPBIN18: << : *APMSPproperties FullName: APM sulfate, size bin = 18 APMSPBIN19: << : *APMSPproperties FullName: APM sulfate, size bin = 19 APMSPBIN20: << : *APMSPproperties FullName: APM sulfate, size bin = 20 APMSPBIN21: << : *APMSPproperties FullName: APM sulfate, size bin = 21 APMSPBIN22: << : *APMSPproperties FullName: APM sulfate, size bin = 22 APMSPBIN23: << : *APMSPproperties FullName: APM sulfate, size bin = 23 APMSPBIN24: << : *APMSPproperties FullName: APM sulfate, size bin = 24 APMSPBIN25: << : *APMSPproperties FullName: APM sulfate, size bin = 25 APMSPBIN26: << : *APMSPproperties FullName: APM sulfate, size bin = 26 APMSPBIN27: << : *APMSPproperties FullName: APM sulfate, size bin = 27 APMSPBIN28: << : *APMSPproperties FullName: APM sulfate, size bin = 28 APMSPBIN29: << : *APMSPproperties FullName: APM sulfate, size bin = 29 APMSPBIN30: << : *APMSPproperties FullName: APM sulfate, size bin = 30 APMSPBIN31: << : *APMSPproperties FullName: APM sulfate, size bin = 31 APMSPBIN32: << : *APMSPproperties FullName: APM sulfate, size bin = 32 APMSPBIN33: << : *APMSPproperties FullName: APM sulfate, size bin = 33 APMSPBIN34: << : *APMSPproperties FullName: APM sulfate, size bin = 34 APMSPBIN35: << : *APMSPproperties FullName: APM sulfate, size bin = 35 APMSPBIN36: << : *APMSPproperties FullName: APM sulfate, size bin = 36 APMSPBIN37: << : *APMSPproperties FullName: APM sulfate, size bin = 37 APMSPBIN38: << : *APMSPproperties FullName: APM sulfate, size bin = 38 APMSPBIN39: << : *APMSPproperties FullName: APM sulfate, size bin = 39 APMSPBIN40: << : *APMSPproperties FullName: APM sulfate, size bin = 40 ================================================ FILE: run/shared/species_database_tomas.yml ================================================ # GEOS-Chem Species Database (13 May 2020) # TOMAS microphysics species only # NOTE: Anchors must be defined before any variables that reference them AW_PROP: &AWproperties DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 Is_Aerosol: true MP_SizeResAer: true MW_g: 18.0 WD_AerScavEff: 1.0 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [1.0, 0.0, 1.0] AW01: << : *AWproperties FullName: Aerosol water, size bin = 1 AW02: << : *AWproperties FullName: Aerosol water, size bin = 2 AW03: << : *AWproperties FullName: Aerosol water, size bin = 3 AW04: << : *AWproperties FullName: Aerosol water, size bin = 4 AW05: << : *AWproperties FullName: Aerosol water, size bin = 5 AW06: << : *AWproperties FullName: Aerosol water, size bin = 6 AW07: << : *AWproperties FullName: Aerosol water, size bin = 7 AW08: << : *AWproperties FullName: Aerosol water, size bin = 8 AW09: << : *AWproperties FullName: Aerosol water, size bin = 9 AW10: << : *AWproperties FullName: Aerosol water, size bin = 10 AW11: << : *AWproperties FullName: Aerosol water, size bin = 11 AW12: << : *AWproperties FullName: Aerosol water, size bin = 12 AW13: << : *AWproperties FullName: Aerosol water, size bin = 13 AW14: << : *AWproperties FullName: Aerosol water, size bin = 14 AW15: << : *AWproperties FullName: Aerosol water, size bin = 15 AW16: << : *AWproperties FullName: Aerosol water, size bin = 16 AW17: << : *AWproperties FullName: Aerosol water, size bin = 17 AW18: << : *AWproperties FullName: Aerosol water, size bin = 18 AW19: << : *AWproperties FullName: Aerosol water, size bin = 19 AW20: << : *AWproperties FullName: Aerosol water, size bin = 20 AW21: << : *AWproperties FullName: Aerosol water, size bin = 21 AW22: << : *AWproperties FullName: Aerosol water, size bin = 22 AW23: << : *AWproperties FullName: Aerosol water, size bin = 23 AW24: << : *AWproperties FullName: Aerosol water, size bin = 24 AW25: << : *AWproperties FullName: Aerosol water, size bin = 25 AW26: << : *AWproperties FullName: Aerosol water, size bin = 26 AW27: << : *AWproperties FullName: Aerosol water, size bin = 27 AW28: << : *AWproperties FullName: Aerosol water, size bin = 28 AW29: << : *AWproperties FullName: Aerosol water, size bin = 29 AW30: << : *AWproperties FullName: Aerosol water, size bin = 30 AW31: << : *AWproperties FullName: Aerosol water, size bin = 31 AW32: << : *AWproperties FullName: Aerosol water, size bin = 32 AW33: << : *AWproperties FullName: Aerosol water, size bin = 33 AW34: << : *AWproperties FullName: Aerosol water, size bin = 34 AW35: << : *AWproperties FullName: Aerosol water, size bin = 35 AW36: << : *AWproperties FullName: Aerosol water, size bin = 36 AW37: << : *AWproperties FullName: Aerosol water, size bin = 37 AW38: << : *AWproperties FullName: Aerosol water, size bin = 38 AW39: << : *AWproperties FullName: Aerosol water, size bin = 39 AW40: << : *AWproperties FullName: Aerosol water, size bin = 40 DUST_PROP: &DUSTproperties DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 Is_Aerosol: true Is_WetDep: true MP_SizeResAer: true MW_g: 100.0 WD_AerScavEff: 1.0 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [1.0, 0.0, 1.0] DUST01: << : *DUSTproperties FullName: Mineral dust, size bin = 1 DUST02: << : *DUSTproperties FullName: Mineral dust, size bin = 2 DUST03: << : *DUSTproperties FullName: Mineral dust, size bin = 3 DUST04: << : *DUSTproperties FullName: Mineral dust, size bin = 4 DUST05: << : *DUSTproperties FullName: Mineral dust, size bin = 5 DUST06: << : *DUSTproperties FullName: Mineral dust, size bin = 6 DUST07: << : *DUSTproperties FullName: Mineral dust, size bin = 7 DUST08: << : *DUSTproperties FullName: Mineral dust, size bin = 8 DUST09: << : *DUSTproperties FullName: Mineral dust, size bin = 9 DUST10: << : *DUSTproperties FullName: Mineral dust, size bin = 10 DUST11: << : *DUSTproperties FullName: Mineral dust, size bin = 11 DUST12: << : *DUSTproperties FullName: Mineral dust, size bin = 12 DUST13: << : *DUSTproperties FullName: Mineral dust, size bin = 13 DUST14: << : *DUSTproperties FullName: Mineral dust, size bin = 14 DUST15: << : *DUSTproperties FullName: Mineral dust, size bin = 15 DUST16: << : *DUSTproperties FullName: Mineral dust, size bin = 16 DUST17: << : *DUSTproperties FullName: Mineral dust, size bin = 17 DUST18: << : *DUSTproperties FullName: Mineral dust, size bin = 18 DUST19: << : *DUSTproperties FullName: Mineral dust, size bin = 19 DUST20: << : *DUSTproperties FullName: Mineral dust, size bin = 20 DUST21: << : *DUSTproperties FullName: Mineral dust, size bin = 21 DUST22: << : *DUSTproperties FullName: Mineral dust, size bin = 22 DUST23: << : *DUSTproperties FullName: Mineral dust, size bin = 23 DUST24: << : *DUSTproperties FullName: Mineral dust, size bin = 24 DUST25: << : *DUSTproperties FullName: Mineral dust, size bin = 25 DUST26: << : *DUSTproperties FullName: Mineral dust, size bin = 26 DUST27: << : *DUSTproperties FullName: Mineral dust, size bin = 27 DUST28: << : *DUSTproperties FullName: Mineral dust, size bin = 28 DUST29: << : *DUSTproperties FullName: Mineral dust, size bin = 29 DUST30: << : *DUSTproperties FullName: Mineral dust, size bin = 30 DUST31: << : *DUSTproperties FullName: Mineral dust, size bin = 31 DUST32: << : *DUSTproperties FullName: Mineral dust, size bin = 32 DUST33: << : *DUSTproperties FullName: Mineral dust, size bin = 33 DUST34: << : *DUSTproperties FullName: Mineral dust, size bin = 34 DUST35: << : *DUSTproperties FullName: Mineral dust, size bin = 35 DUST36: << : *DUSTproperties FullName: Mineral dust, size bin = 36 DUST37: << : *DUSTproperties FullName: Mineral dust, size bin = 37 DUST38: << : *DUSTproperties FullName: Mineral dust, size bin = 38 DUST39: << : *DUSTproperties FullName: Mineral dust, size bin = 39 DUST40: << : *DUSTproperties FullName: Mineral dust, size bin = 40 ECIL_PROP: &ECILproperties DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 Is_Aerosol: true Is_WetDep: true MP_SizeResAer: true MW_g: 12.01 WD_AerScavEff: 1.0 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [1.0, 0.0, 1.0] ECIL01: << : *ECILproperties FullName: Hydrophilic elemental carbon, size bin = 1 ECIL02: << : *ECILproperties FullName: Hydrophilic elemental carbon, size bin = 2 ECIL03: << : *ECILproperties FullName: Hydrophilic elemental carbon, size bin = 3 ECIL04: << : *ECILproperties FullName: Hydrophilic elemental carbon, size bin = 4 ECIL05: << : *ECILproperties FullName: Hydrophilic elemental carbon, size bin = 5 ECIL06: << : *ECILproperties FullName: Hydrophilic elemental carbon, size bin = 6 ECIL07: << : *ECILproperties FullName: Hydrophilic elemental carbon, size bin = 7 ECIL08: << : *ECILproperties FullName: Hydrophilic elemental carbon, size bin = 8 ECIL09: << : *ECILproperties FullName: Hydrophilic elemental carbon, size bin = 9 ECIL10: << : *ECILproperties FullName: Hydrophilic elemental carbon, size bin = 10 ECIL11: << : *ECILproperties FullName: Hydrophilic elemental carbon, size bin = 11 ECIL12: << : *ECILproperties FullName: Hydrophilic elemental carbon, size bin = 12 ECIL13: << : *ECILproperties FullName: Hydrophilic elemental carbon, size bin = 13 ECIL14: << : *ECILproperties FullName: Hydrophilic elemental carbon, size bin = 14 ECIL15: << : *ECILproperties FullName: Hydrophilic elemental carbon, size bin = 15 ECIL16: << : *ECILproperties FullName: Hydrophilic elemental carbon, size bin = 16 ECIL17: << : *ECILproperties FullName: Hydrophilic elemental carbon, size bin = 17 ECIL18: << : *ECILproperties FullName: Hydrophilic elemental carbon, size bin = 18 ECIL19: << : *ECILproperties FullName: Hydrophilic elemental carbon, size bin = 19 ECIL20: << : *ECILproperties FullName: Hydrophilic elemental carbon, size bin = 20 ECIL21: << : *ECILproperties FullName: Hydrophilic elemental carbon, size bin = 21 ECIL22: << : *ECILproperties FullName: Hydrophilic elemental carbon, size bin = 22 ECIL23: << : *ECILproperties FullName: Hydrophilic elemental carbon, size bin = 23 ECIL24: << : *ECILproperties FullName: Hydrophilic elemental carbon, size bin = 24 ECIL25: << : *ECILproperties FullName: Hydrophilic elemental carbon, size bin = 25 ECIL26: << : *ECILproperties FullName: Hydrophilic elemental carbon, size bin = 26 ECIL27: << : *ECILproperties FullName: Hydrophilic elemental carbon, size bin = 27 ECIL28: << : *ECILproperties FullName: Hydrophilic elemental carbon, size bin = 28 ECIL29: << : *ECILproperties FullName: Hydrophilic elemental carbon, size bin = 29 ECIL30: << : *ECILproperties FullName: Hydrophilic elemental carbon, size bin = 30 ECIL31: << : *ECILproperties FullName: Hydrophilic elemental carbon, size bin = 31 ECIL32: << : *ECILproperties FullName: Hydrophilic elemental carbon, size bin = 32 ECIL33: << : *ECILproperties FullName: Hydrophilic elemental carbon, size bin = 33 ECIL34: << : *ECILproperties FullName: Hydrophilic elemental carbon, size bin = 34 ECIL35: << : *ECILproperties FullName: Hydrophilic elemental carbon, size bin = 35 ECIL36: << : *ECILproperties FullName: Hydrophilic elemental carbon, size bin = 36 ECIL37: << : *ECILproperties FullName: Hydrophilic elemental carbon, size bin = 37 ECIL38: << : *ECILproperties FullName: Hydrophilic elemental carbon, size bin = 38 ECIL39: << : *ECILproperties FullName: Hydrophilic elemental carbon, size bin = 39 ECIL40: << : *ECILproperties FullName: Hydrophilic elemental carbon, size bin = 40 ECOB_PROP: &ECOBproperties DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 Is_Aerosol: true MP_SizeResAer: true MW_g: 12.01 WD_AerScavEff: 1.0 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [1.0, 0.0, 1.0] ECOB01: << : *ECOBproperties FullName: Hydrophobic elemental carbon, size bin = 1 ECOB02: << : *ECOBproperties FullName: Hydrophobic elemental carbon, size bin = 2 ECOB03: << : *ECOBproperties FullName: Hydrophobic elemental carbon, size bin = 3 ECOB04: << : *ECOBproperties FullName: Hydrophobic elemental carbon, size bin = 4 ECOB05: << : *ECOBproperties FullName: Hydrophobic elemental carbon, size bin = 5 ECOB06: << : *ECOBproperties FullName: Hydrophobic elemental carbon, size bin = 6 ECOB07: << : *ECOBproperties FullName: Hydrophobic elemental carbon, size bin = 7 ECOB08: << : *ECOBproperties FullName: Hydrophobic elemental carbon, size bin = 8 ECOB09: << : *ECOBproperties FullName: Hydrophobic elemental carbon, size bin = 9 ECOB10: << : *ECOBproperties FullName: Hydrophobic elemental carbon, size bin = 10 ECOB11: << : *ECOBproperties FullName: Hydrophobic elemental carbon, size bin = 11 ECOB12: << : *ECOBproperties FullName: Hydrophobic elemental carbon, size bin = 12 ECOB13: << : *ECOBproperties FullName: Hydrophobic elemental carbon, size bin = 13 ECOB14: << : *ECOBproperties FullName: Hydrophobic elemental carbon, size bin = 14 ECOB15: << : *ECOBproperties FullName: Hydrophobic elemental carbon, size bin = 15 ECOB16: << : *ECOBproperties FullName: Hydrophobic elemental carbon, size bin = 16 ECOB17: << : *ECOBproperties FullName: Hydrophobic elemental carbon, size bin = 17 ECOB18: << : *ECOBproperties FullName: Hydrophobic elemental carbon, size bin = 18 ECOB19: << : *ECOBproperties FullName: Hydrophobic elemental carbon, size bin = 19 ECOB20: << : *ECOBproperties FullName: Hydrophobic elemental carbon, size bin = 20 ECOB21: << : *ECOBproperties FullName: Hydrophobic elemental carbon, size bin = 21 ECOB22: << : *ECOBproperties FullName: Hydrophobic elemental carbon, size bin = 22 ECOB23: << : *ECOBproperties FullName: Hydrophobic elemental carbon, size bin = 23 ECOB24: << : *ECOBproperties FullName: Hydrophobic elemental carbon, size bin = 24 ECOB25: << : *ECOBproperties FullName: Hydrophobic elemental carbon, size bin = 25 ECOB26: << : *ECOBproperties FullName: Hydrophobic elemental carbon, size bin = 26 ECOB27: << : *ECOBproperties FullName: Hydrophobic elemental carbon, size bin = 27 ECOB28: << : *ECOBproperties FullName: Hydrophobic elemental carbon, size bin = 28 ECOB29: << : *ECOBproperties FullName: Hydrophobic elemental carbon, size bin = 29 ECOB30: << : *ECOBproperties FullName: Hydrophobic elemental carbon, size bin = 30 ECOB31: << : *ECOBproperties FullName: Hydrophobic elemental carbon, size bin = 31 ECOB32: << : *ECOBproperties FullName: Hydrophobic elemental carbon, size bin = 32 ECOB33: << : *ECOBproperties FullName: Hydrophobic elemental carbon, size bin = 33 ECOB34: << : *ECOBproperties FullName: Hydrophobic elemental carbon, size bin = 34 ECOB35: << : *ECOBproperties FullName: Hydrophobic elemental carbon, size bin = 35 ECOB36: << : *ECOBproperties FullName: Hydrophobic elemental carbon, size bin = 36 ECOB37: << : *ECOBproperties FullName: Hydrophobic elemental carbon, size bin = 37 ECOB38: << : *ECOBproperties FullName: Hydrophobic elemental carbon, size bin = 38 ECOB39: << : *ECOBproperties FullName: Hydrophobic elemental carbon, size bin = 39 ECOB40: << : *ECOBproperties FullName: Hydrophobic elemental carbon, size bin = 40 H2SO4: DD_F0: 0.0 DD_Hstar: 1.0e5 Formula: H2SO4 FullName: Sulfuric acid Is_Gas: true Is_DryDep: true Is_WetDep: true MP_SizeResAer: true MW_g: 98.0 WD_AerScavEff: 1.0 WD_Is_H2SO4: true WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [1.0, 0.0, 1.0] NK_PROP: &NKproperties DD_DustDryDep: true DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 FullName: Aerosol number, size bin = 1 Is_Aerosol: true Is_DryDep: true Is_WetDep: true MP_SizeResNum: true MW_g: 1.0 WD_AerScavEff: 1.0 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [1.0, 0.0, 1.0] NK01: << : *NKproperties FullName: Aerosol number, size bin = 1 NK02: << : *NKproperties FullName: Aerosol number, size bin = 2 NK03: << : *NKproperties FullName: Aerosol number, size bin = 3 NK04: << : *NKproperties FullName: Aerosol number, size bin = 4 NK05: << : *NKproperties FullName: Aerosol number, size bin = 5 NK06: << : *NKproperties FullName: Aerosol number, size bin = 6 NK07: << : *NKproperties FullName: Aerosol number, size bin = 7 NK08: << : *NKproperties FullName: Aerosol number, size bin = 8 NK09: << : *NKproperties FullName: Aerosol number, size bin = 9 NK10: << : *NKproperties FullName: Aerosol number, size bin = 10 NK11: << : *NKproperties FullName: Aerosol number, size bin = 11 NK12: << : *NKproperties FullName: Aerosol number, size bin = 12 NK13: << : *NKproperties FullName: Aerosol number, size bin = 13 NK14: << : *NKproperties FullName: Aerosol number, size bin = 14 NK15: << : *NKproperties FullName: Aerosol number, size bin = 15 NK16: << : *NKproperties FullName: Aerosol number, size bin = 16 NK17: << : *NKproperties FullName: Aerosol number, size bin = 17 NK18: << : *NKproperties FullName: Aerosol number, size bin = 18 NK19: << : *NKproperties FullName: Aerosol number, size bin = 19 NK20: << : *NKproperties FullName: Aerosol number, size bin = 20 NK21: << : *NKproperties FullName: Aerosol number, size bin = 21 NK22: << : *NKproperties FullName: Aerosol number, size bin = 22 NK23: << : *NKproperties FullName: Aerosol number, size bin = 23 NK24: << : *NKproperties FullName: Aerosol number, size bin = 24 NK25: << : *NKproperties FullName: Aerosol number, size bin = 25 NK26: << : *NKproperties FullName: Aerosol number, size bin = 26 NK27: << : *NKproperties FullName: Aerosol number, size bin = 27 NK28: << : *NKproperties FullName: Aerosol number, size bin = 28 NK29: << : *NKproperties FullName: Aerosol number, size bin = 29 NK30: << : *NKproperties FullName: Aerosol number, size bin = 30 NK31: << : *NKproperties FullName: Aerosol number, size bin = 31 NK32: << : *NKproperties FullName: Aerosol number, size bin = 32 NK33: << : *NKproperties FullName: Aerosol number, size bin = 33 NK34: << : *NKproperties FullName: Aerosol number, size bin = 34 NK35: << : *NKproperties FullName: Aerosol number, size bin = 35 NK36: << : *NKproperties FullName: Aerosol number, size bin = 36 NK37: << : *NKproperties FullName: Aerosol number, size bin = 37 NK38: << : *NKproperties FullName: Aerosol number, size bin = 38 NK39: << : *NKproperties FullName: Aerosol number, size bin = 39 NK40: << : *NKproperties FullName: Aerosol number, size bin = 40 OCIL_PROP: &OCILproperties DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 Is_Aerosol: true Is_WetDep: true MP_SizeResAer: true MW_g: 12.01 WD_AerScavEff: 1.0 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [1.0, 0.0, 1.0] OCIL01: << : *OCILproperties FullName: Hydrophilic organic carbon, size bin = 1 OCIL02: << : *OCILproperties FullName: Hydrophilic organic carbon, size bin = 2 OCIL03: << : *OCILproperties FullName: Hydrophilic organic carbon, size bin = 3 OCIL04: << : *OCILproperties FullName: Hydrophilic organic carbon, size bin = 4 OCIL05: << : *OCILproperties FullName: Hydrophilic organic carbon, size bin = 5 OCIL06: << : *OCILproperties FullName: Hydrophilic organic carbon, size bin = 6 OCIL07: << : *OCILproperties FullName: Hydrophilic organic carbon, size bin = 7 OCIL08: << : *OCILproperties FullName: Hydrophilic organic carbon, size bin = 8 OCIL09: << : *OCILproperties FullName: Hydrophilic organic carbon, size bin = 9 OCIL10: << : *OCILproperties FullName: Hydrophilic organic carbon, size bin = 10 OCIL11: << : *OCILproperties FullName: Hydrophilic organic carbon, size bin = 11 OCIL12: << : *OCILproperties FullName: Hydrophilic organic carbon, size bin = 12 OCIL13: << : *OCILproperties FullName: Hydrophilic organic carbon, size bin = 13 OCIL14: << : *OCILproperties FullName: Hydrophilic organic carbon, size bin = 14 OCIL15: << : *OCILproperties FullName: Hydrophilic organic carbon, size bin = 15 OCIL16: << : *OCILproperties FullName: Hydrophilic organic carbon, size bin = 16 OCIL17: << : *OCILproperties FullName: Hydrophilic organic carbon, size bin = 17 OCIL18: << : *OCILproperties FullName: Hydrophilic organic carbon, size bin = 18 OCIL19: << : *OCILproperties FullName: Hydrophilic organic carbon, size bin = 19 OCIL20: << : *OCILproperties FullName: Hydrophilic organic carbon, size bin = 20 OCIL21: << : *OCILproperties FullName: Hydrophilic organic carbon, size bin = 21 OCIL22: << : *OCILproperties FullName: Hydrophilic organic carbon, size bin = 22 OCIL23: << : *OCILproperties FullName: Hydrophilic organic carbon, size bin = 23 OCIL24: << : *OCILproperties FullName: Hydrophilic organic carbon, size bin = 24 OCIL25: << : *OCILproperties FullName: Hydrophilic organic carbon, size bin = 25 OCIL26: << : *OCILproperties FullName: Hydrophilic organic carbon, size bin = 26 OCIL27: << : *OCILproperties FullName: Hydrophilic organic carbon, size bin = 27 OCIL28: << : *OCILproperties FullName: Hydrophilic organic carbon, size bin = 28 OCIL29: << : *OCILproperties FullName: Hydrophilic organic carbon, size bin = 29 OCIL30: << : *OCILproperties FullName: Hydrophilic organic carbon, size bin = 30 OCIL31: << : *OCILproperties FullName: Hydrophilic organic carbon, size bin = 31 OCIL32: << : *OCILproperties FullName: Hydrophilic organic carbon, size bin = 32 OCIL33: << : *OCILproperties FullName: Hydrophilic organic carbon, size bin = 33 OCIL34: << : *OCILproperties FullName: Hydrophilic organic carbon, size bin = 34 OCIL35: << : *OCILproperties FullName: Hydrophilic organic carbon, size bin = 35 OCIL36: << : *OCILproperties FullName: Hydrophilic organic carbon, size bin = 36 OCIL37: << : *OCILproperties FullName: Hydrophilic organic carbon, size bin = 37 OCIL38: << : *OCILproperties FullName: Hydrophilic organic carbon, size bin = 38 OCIL39: << : *OCILproperties FullName: Hydrophilic organic carbon, size bin = 39 OCIL40: << : *OCILproperties FullName: Hydrophilic organic carbon, size bin = 40 OCOB_PROP: &OCOBproperties DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 Is_Aerosol: true Is_WetDep: true MP_SizeResAer: true MW_g: 12.01 WD_AerScavEff: 1.0 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [1.0, 0.0, 1.0] OCOB01: << : *OCOBproperties FullName: Hydrophobic organic carbon, size bin = 1 OCOB02: << : *OCOBproperties FullName: Hydrophobic organic carbon, size bin = 2 OCOB03: << : *OCOBproperties FullName: Hydrophobic organic carbon, size bin = 3 OCOB04: << : *OCOBproperties FullName: Hydrophobic organic carbon, size bin = 4 OCOB05: << : *OCOBproperties FullName: Hydrophobic organic carbon, size bin = 5 OCOB06: << : *OCOBproperties FullName: Hydrophobic organic carbon, size bin = 6 OCOB07: << : *OCOBproperties FullName: Hydrophobic organic carbon, size bin = 7 OCOB08: << : *OCOBproperties FullName: Hydrophobic organic carbon, size bin = 8 OCOB09: << : *OCOBproperties FullName: Hydrophobic organic carbon, size bin = 9 OCOB10: << : *OCOBproperties FullName: Hydrophobic organic carbon, size bin = 10 OCOB11: << : *OCOBproperties FullName: Hydrophobic organic carbon, size bin = 11 OCOB12: << : *OCOBproperties FullName: Hydrophobic organic carbon, size bin = 12 OCOB13: << : *OCOBproperties FullName: Hydrophobic organic carbon, size bin = 13 OCOB14: << : *OCOBproperties FullName: Hydrophobic organic carbon, size bin = 14 OCOB15: << : *OCOBproperties FullName: Hydrophobic organic carbon, size bin = 15 OCOB16: << : *OCOBproperties FullName: Hydrophobic organic carbon, size bin = 16 OCOB17: << : *OCOBproperties FullName: Hydrophobic organic carbon, size bin = 17 OCOB18: << : *OCOBproperties FullName: Hydrophobic organic carbon, size bin = 18 OCOB19: << : *OCOBproperties FullName: Hydrophobic organic carbon, size bin = 19 OCOB20: << : *OCOBproperties FullName: Hydrophobic organic carbon, size bin = 20 OCOB21: << : *OCOBproperties FullName: Hydrophobic organic carbon, size bin = 21 OCOB22: << : *OCOBproperties FullName: Hydrophobic organic carbon, size bin = 22 OCOB23: << : *OCOBproperties FullName: Hydrophobic organic carbon, size bin = 23 OCOB24: << : *OCOBproperties FullName: Hydrophobic organic carbon, size bin = 24 OCOB25: << : *OCOBproperties FullName: Hydrophobic organic carbon, size bin = 25 OCOB26: << : *OCOBproperties FullName: Hydrophobic organic carbon, size bin = 26 OCOB27: << : *OCOBproperties FullName: Hydrophobic organic carbon, size bin = 27 OCOB28: << : *OCOBproperties FullName: Hydrophobic organic carbon, size bin = 28 OCOB29: << : *OCOBproperties FullName: Hydrophobic organic carbon, size bin = 29 OCOB30: << : *OCOBproperties FullName: Hydrophobic organic carbon, size bin = 30 OCOB31: << : *OCOBproperties FullName: Hydrophobic organic carbon, size bin = 31 OCOB32: << : *OCOBproperties FullName: Hydrophobic organic carbon, size bin = 32 OCOB33: << : *OCOBproperties FullName: Hydrophobic organic carbon, size bin = 33 OCOB34: << : *OCOBproperties FullName: Hydrophobic organic carbon, size bin = 34 OCOB35: << : *OCOBproperties FullName: Hydrophobic organic carbon, size bin = 35 OCOB36: << : *OCOBproperties FullName: Hydrophobic organic carbon, size bin = 36 OCOB37: << : *OCOBproperties FullName: Hydrophobic organic carbon, size bin = 37 OCOB38: << : *OCOBproperties FullName: Hydrophobic organic carbon, size bin = 38 OCOB39: << : *OCOBproperties FullName: Hydrophobic organic carbon, size bin = 39 OCOB40: << : *OCOBproperties FullName: Hydrophobic organic carbon, size bin = 40 SF_PROP: &SFproperties DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 Is_Aerosol: true Is_WetDep: true MP_SizeResAer: true MW_g: 96.0 WD_AerScavEff: 1.0 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [1.0, 0.0, 1.0] SF01: << : *SFproperties FullName: Sulfate aerosol, size bin = 1 SF02: << : *SFproperties FullName: Sulfate aerosol, size bin = 2 SF03: << : *SFproperties FullName: Sulfate aerosol, size bin = 3 SF04: << : *SFproperties FullName: Sulfate aerosol, size bin = 4 SF05: << : *SFproperties FullName: Sulfate aerosol, size bin = 5 SF06: << : *SFproperties FullName: Sulfate aerosol, size bin = 6 SF07: << : *SFproperties FullName: Sulfate aerosol, size bin = 7 SF08: << : *SFproperties FullName: Sulfate aerosol, size bin = 8 SF09: << : *SFproperties FullName: Sulfate aerosol, size bin = 9 SF10: << : *SFproperties FullName: Sulfate aerosol, size bin = 10 SF11: << : *SFproperties FullName: Sulfate aerosol, size bin = 11 SF12: << : *SFproperties FullName: Sulfate aerosol, size bin = 12 SF13: << : *SFproperties FullName: Sulfate aerosol, size bin = 13 SF14: << : *SFproperties FullName: Sulfate aerosol, size bin = 14 SF15: << : *SFproperties FullName: Sulfate aerosol, size bin = 15 SF16: << : *SFproperties FullName: Sulfate aerosol, size bin = 16 SF17: << : *SFproperties FullName: Sulfate aerosol, size bin = 17 SF18: << : *SFproperties FullName: Sulfate aerosol, size bin = 18 SF19: << : *SFproperties FullName: Sulfate aerosol, size bin = 19 SF20: << : *SFproperties FullName: Sulfate aerosol, size bin = 20 SF21: << : *SFproperties FullName: Sulfate aerosol, size bin = 21 SF22: << : *SFproperties FullName: Sulfate aerosol, size bin = 22 SF23: << : *SFproperties FullName: Sulfate aerosol, size bin = 23 SF24: << : *SFproperties FullName: Sulfate aerosol, size bin = 24 SF25: << : *SFproperties FullName: Sulfate aerosol, size bin = 25 SF26: << : *SFproperties FullName: Sulfate aerosol, size bin = 26 SF27: << : *SFproperties FullName: Sulfate aerosol, size bin = 27 SF28: << : *SFproperties FullName: Sulfate aerosol, size bin = 28 SF29: << : *SFproperties FullName: Sulfate aerosol, size bin = 29 SF30: << : *SFproperties FullName: Sulfate aerosol, size bin = 30 SF31: << : *SFproperties FullName: Sulfate aerosol, size bin = 31 SF32: << : *SFproperties FullName: Sulfate aerosol, size bin = 32 SF33: << : *SFproperties FullName: Sulfate aerosol, size bin = 33 SF34: << : *SFproperties FullName: Sulfate aerosol, size bin = 34 SF35: << : *SFproperties FullName: Sulfate aerosol, size bin = 35 SF36: << : *SFproperties FullName: Sulfate aerosol, size bin = 36 SF37: << : *SFproperties FullName: Sulfate aerosol, size bin = 37 SF38: << : *SFproperties FullName: Sulfate aerosol, size bin = 38 SF39: << : *SFproperties FullName: Sulfate aerosol, size bin = 39 SF40: << : *SFproperties FullName: Sulfate aerosol, size bin = 40 SS_PROP: &SSproperties DD_DvzAerSnow: 0.03 DD_F0: 0.0 DD_Hstar: 0.0 Is_Aerosol: true Is_WetDep: true MP_SizeResAer: true MW_g: 58.5 WD_AerScavEff: 1.0 WD_KcScaleFac: [1.0, 0.5, 1.0] WD_RainoutEff: [1.0, 0.0, 1.0] SS01: << : *SSproperties FullName: Sea salt aerosol, size bin = 1 SS02: << : *SSproperties FullName: Sea salt aerosol, size bin = 2 SS03: << : *SSproperties FullName: Sea salt aerosol, size bin = 3 SS04: << : *SSproperties FullName: Sea salt aerosol, size bin = 4 SS05: << : *SSproperties FullName: Sea salt aerosol, size bin = 5 SS06: << : *SSproperties FullName: Sea salt aerosol, size bin = 6 SS07: << : *SSproperties FullName: Sea salt aerosol, size bin = 7 SS08: << : *SSproperties FullName: Sea salt aerosol, size bin = 8 SS09: << : *SSproperties FullName: Sea salt aerosol, size bin = 9 SS10: << : *SSproperties FullName: Sea salt aerosol, size bin = 10 SS11: << : *SSproperties FullName: Sea salt aerosol, size bin = 11 SS12: << : *SSproperties FullName: Sea salt aerosol, size bin = 12 SS13: << : *SSproperties FullName: Sea salt aerosol, size bin = 13 SS14: << : *SSproperties FullName: Sea salt aerosol, size bin = 14 SS15: << : *SSproperties FullName: Sea salt aerosol, size bin = 15 SS16: << : *SSproperties FullName: Sea salt aerosol, size bin = 16 SS17: << : *SSproperties FullName: Sea salt aerosol, size bin = 17 SS18: << : *SSproperties FullName: Sea salt aerosol, size bin = 18 SS19: << : *SSproperties FullName: Sea salt aerosol, size bin = 19 SS20: << : *SSproperties FullName: Sea salt aerosol, size bin = 20 SS21: << : *SSproperties FullName: Sea salt aerosol, size bin = 21 SS22: << : *SSproperties FullName: Sea salt aerosol, size bin = 22 SS23: << : *SSproperties FullName: Sea salt aerosol, size bin = 23 SS24: << : *SSproperties FullName: Sea salt aerosol, size bin = 24 SS25: << : *SSproperties FullName: Sea salt aerosol, size bin = 25 SS26: << : *SSproperties FullName: Sea salt aerosol, size bin = 26 SS27: << : *SSproperties FullName: Sea salt aerosol, size bin = 27 SS28: << : *SSproperties FullName: Sea salt aerosol, size bin = 28 SS29: << : *SSproperties FullName: Sea salt aerosol, size bin = 29 SS30: << : *SSproperties FullName: Sea salt aerosol, size bin = 30 SS31: << : *SSproperties FullName: Sea salt aerosol, size bin = 31 SS32: << : *SSproperties FullName: Sea salt aerosol, size bin = 32 SS33: << : *SSproperties FullName: Sea salt aerosol, size bin = 33 SS34: << : *SSproperties FullName: Sea salt aerosol, size bin = 34 SS35: << : *SSproperties FullName: Sea salt aerosol, size bin = 35 SS36: << : *SSproperties FullName: Sea salt aerosol, size bin = 36 SS37: << : *SSproperties FullName: Sea salt aerosol, size bin = 37 SS38: << : *SSproperties FullName: Sea salt aerosol, size bin = 38 SS39: << : *SSproperties FullName: Sea salt aerosol, size bin = 39 SS40: << : *SSproperties FullName: Sea salt aerosol, size bin = 40 ================================================ FILE: test/.gitignore ================================================ *.[oax] *.mod *.MOD *~* *.swp *.bak *.patch *.diff diffs bak misc *.pp.* *.pdb *.inst.* *.continue.* *.ppk *.log bin/* build/ build_*/ *___.h *___.rc core.* ================================================ FILE: test/README.md ================================================ # README: The `src/GEOS-Chem/test` directory ## Contents `difference/` - Directory containing scripts for performing a **difference test**. - A difference test compares the output of two different integration tests for identicality. - TODO (Jun 2023): Add capability to compare the output of two **parallel tests** for identicality. `integration/` - Directory containing scripts for performing **integration tests** for both GEOS-Chem Classic and GCHP. - Integration tests compile and run several different "out-of-the-box" GEOS-Chem Classic and GCHP configurations in order to identify errors caused by source code updates. `parallel/` - Directory contianing scripts for performing **parallel tests** for GEOS-Chem Classic. - Parallel tests compile and run several different "out-of-the-box" GEOS-Chem Classic configurations with different numbers of OpenMP threads in order to identify parallelization errors caused by source code updates. `shared/` - Directory containing scripts with common settings and functions that are used by the difference test, integration test, and parallel test scripts. ================================================ FILE: test/difference/README.md ================================================ # README for Difference Tests ## Contents `diffTest.sh` - Script that looks for differences in two different integration test or parallel test directories. - Checks both diagnostic files and restart files in each integration test run directory for identicality. - TODO (as of June 2023): Add capability to check outputs from two different GEOS-Chem Classic parallel test directories. As of now `difftest.sh` can only be used with integration tests. ## Performing a difference test Run the `difftest.sh` script as follows: ```console $ cd test/difference $ ./diffTest.sh /path/to/ /path/to/ ``` where `` and `` indicate the names of the integration tests that are being compared. The script will compare diagnostic and restart files within each integration test run directory. If no differences are found, you will see ouptut such as: ```console Checking gc_4x5_merra2_fullchem_ -> No differences in OutputDir -> No differences in Restarts ``` for each type of simulation `` (e.g. `fullchem`, `fullchem_benchmark`, `CH4`, etc.) that was included in the `` and `` integration tests. If differences are found, you will see output such as: ```console Checking gc_4x5_merra2_ -> 2 differences found in OutputDir * /rundirs/gc_4x5_merra2_/OutputDir/GEOSChem.Metrics.20190701_0000z.nc4 /rundirs/gc_4x5_merra2_/OutputDir/GEOSChem.Metrics.20190701_0000z.nc4 * /rundirs/gc_4x5_merra2_/OutputDir/GEOSChem.SpeciesConc.20190701_0000z.nc4 /rundirs/gc_4x5_merra2_/OutputDir/GEOSChem.SpeciesConc.20190701_0000z.nc4 -> 1 difference found in Restarts * /rundirs/gc_4x5_merra2_/Restarts/GEOSChem.Restart.20190701_0100z.nc4 /rundirs/gc_4x5_merra2_/Restarts/GEOSChem.Restart.20190701_0100z.nc4 ``` ================================================ FILE: test/difference/diffTest.sh ================================================ #!/bin/bash #EOC #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !MODULE: diffTest.sh # # !DESCRIPTION: Looks for differences in two integration test or parallel # test directories. Checks both diagnostic files (in the OutputDir/ folder # of each run directory) and restart files (in the Restarts/ folder of # each run directory). #\\ #\\ # !CALLING SEQUENCE # ./diffTest.sh # # where is the path to the "Ref" integration test root folder # and is the path to the "Dev" integration test root folder # # !REMARKS: # TODO: Add capability to check parallel tests for identicality # # !AUTHORS # Lizzie Lundgren (@lizziel) # Bob Yantosca (@yantosca) #EOP #------------------------------------------------------------------------------ #BOC function check_for_diffs() { #======================================================================== # Compares netCDF files (GEOS-Chem diagnostics or restart files) # in two different integration test folders. Prints informational # messages denoting if differences are found, and in which files. #======================================================================== # Directories to compare refRoot="${1}" devRoot="${2}" refRunDir="${3}" devRunDir="${4}" # Dir where files are found ("OutputDir" or "Restarts") refBase=$(basename "${refRunDir}") devBase=$(basename "${devRunDir}") # Compare files in data directories result=$(diff -r "${refRunDir}" "${devRunDir}") # No differences found! Print and exit. if [[ "x${result}" == "x" ]]; then printf " -> No differences in ${refBase}\n" return 0 fi # Get number of differences nDiffs=$(printf "$result\n" | wc -l) if [[ "x${nDiffs}" == "x1" ]]; then printf " -> ${nDiffs} difference found in ${refBase}\n" else printf " -> ${nDiffs} differences found in ${refBase}\n" fi # Format the result to remove extraneous characters for (( i=1; i<=$nDiffs; i++ )) do result=${result/"${refRoot}/"} result=${result/"${refRoot}/"} result=${result/"${devRoot}/"} result=${result/"${devRoot}/"} if (( $i == 1 )); then result=${result/'Binary files '/'* '} else result=${result/'Binary files '/' * '} fi result=${result/'and'/'\n '} result=${result/'differ'} done printf " $result\n" return 0 } function main() { #======================================================================== # Main program. Loops over all run directories in the # and paths, and checks diagnostic & restart files # for differences. #======================================================================== # Error check # of arguments if [[ $# -ne 2 ]]; then echo "Usage: ./diffTest.sh " exit 1 fi # Paths to Ref & Def root directories refRoot=$(dirname "${1}") devRoot=$(dirname "${2}") # Paths to Ref/rundirs and Dev/rundirs directories refRunDirs="${1}/rundirs" devRunDirs="${2}/rundirs" # Get a list of all the run directories runDirs=$(ls "${refRunDirs}") # Loop over run directories for dir in ${runDirs[@]}; do printf "Checking ${dir}\n" # Check diagnostic files for differences ref="${refRunDirs}/${dir}/OutputDir" dev="${devRunDirs}/${dir}/OutputDir" check_for_diffs "${refRoot}" "${devRoot}" "${ref}" "${dev}" # Check restart files for differences ref="${refRunDirs}/${dir}/Restarts" dev="${devRunDirs}/${dir}/Restarts" check_for_diffs "${refRoot}" "${devRoot}" "${ref}" "${dev}" # Print a space between rundirs ref="" dev="" printf "\n" done # Return with success return 0 } #======================================================================== # Call main with command-line arguments #======================================================================== main $@ ================================================ FILE: test/integration/GCClassic/README.md ================================================ # README for GEOS-Chem Classic Integration Tests ## Overview: This directory contains: 1. Scripts to submit automated GEOS-Chem Classic integration tests, which will test the following processes: - GEOS-Chem Classic run directory creation - GEOS-Chem Classic code configuration and compilation - GEOS-Chem Classic execution Integration tests are short GEOS-Chem Classic simulations. Executables are compiled with all debugging options. This should reveal any coding errors or run-directory configuration errors. ## Files ### Integration Test Scripts - `integrationTest.sh` - Driver script to run GEOS-Chem Classic integration tests - `integrationTestCreate.sh` - Script to create GEOS-Chem Classic run directories for integration tests - `integrationTestCompile.sh` - Script to compile GEOS-Chem Classic executables - `integrationTestExecute.sh` - Script to run GEOS-Chem Classic integration test simulations ### Shared Scripts - `commonFunctionsForTests.sh` - Link to `../../shared/commonFunctionsForTests.sh`, which contains global variables and functions for the integration and parallelization tests. ## Before you begin Please take a moment to: 1. Verify that the `GCClassic` superproject is checked out to the correct branch and commit. 2. Run `git submodule update --init --recursive` in order to update all submodules. 3. Verify that the `HEAD` commit of the `GEOS-Chem` submodule contains the code that you wish to test. (If not, then check out the proper branch.) 4. Verify that the `HEAD` commit of the `HEMCO` submodule contains the code that you wish to test. (If not, then check out the proper branch.) ## Command-line Arguments The integration test scripts accept the following command-line arguments: ### Required arguments `-d /path/to/test/dir` specifies the root directory where integration test subdirectories and scripts will be placed. `-t compile|all` specifies the type of test to be run: - `compile` will run compilation-only tests. - `all` will run compilation and execution tests. ### Optional arguments `-e /path/to/env-file` Specifies the file that is used to initialize the software environment on the Harvard Cannon cluster. If omitted, a default file will be selected. `-h` displays a help screeen. `-q` will run only a couple of integration tests instead of the full suite. This is intended for development and debugging. You will normally not need to use this option. You can also use long names for the option switches: - `--directory` instead of `-d` - `--env-file` instead of `-e` - `--help` instead of `h` - `--no-bootstrap` instead of `n` - `--tests-to-run` instead of `-t` ## Examples ### Request compile-only tests on Cannon or Compute1 ```console $ cd /path/to/GCClassic # Path to GCClassic superproject directory $ cd test/integration/GCClassic $ ./integrationTest.sh -d /path/to/test/dir -t compile ``` ### Request compile and execution tests (Harvard Cannon) ```console $ cd /path/to/GCClassic # Path to GCClassic superproject directory $ cd test/integration/GCClassic $ ./integrationTest.sh -d /path/to/test/dir -t all -e /path/to/env-file ``` NOTE: If you omit the `-e /path/to/env/file` a default environment file will be used to load GNU Compiler Collection 10 and related libraries. ### Request compile & execution tests (WashU compute1) ```console $ cd /path/to/GCClassic # Path to GCClassic superproject directory $ cd test/integration/GCClassic $ ./integrationTest.sh -d /path/to/test/dir -t all ``` NOTE: No environment file is needed. On Compute1 the tests will run inside a software container with all necessary libraries included. ================================================ FILE: test/integration/GCClassic/README.testroot.md ================================================ # README for GEOS-Chem Classic Integration Tests ## Directories Components of GEOS-Chem Classic integration tests have been separated into these directories: `bin` - Contains GEOS-Chem Classic executable files. `build` - Directories for building GEOS-Chem Classic executables. `CodeDir` - Symbolic link to the `GCClassic` superproject directory. `env` - Contains an environment file that loads the software libraries needed to run GEOS-Chem Classic. `logs` - Contains log files from the integration tests. - `results.compile.log`: Results of GEOS-Chem Classic compilation tests. - `results.execute.log`: Results of GEOS-Chem Classic execution tests. - `compile.*.log`: Output of individual compilation tests - `execute.*.log`: Output of individual execution tests - `lsf-*.txt`: LSF scheduler job logs - `slurm*.out`: SLURM scheduler job logs `rundirs` - Contains individual GEOS-Chem Classic run directories. `scripts` - Contains the scripts that are used for running the GEOS-Chem Classic integration tests. These are copied from the `test/GCClassic/integration` folder of the GEOS-Chem "science codebase" repository. ## For more information Please see the `scripts/README.md` file for detailed instructions on running GEOS-Chem Classic integration tests. ================================================ FILE: test/integration/GCClassic/integrationTest.sh ================================================ #!/bin/bash #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !MODULE: integrationTest.sh # # !DESCRIPTION: Runs integration tests on the various GEOS-Chem Classic # run directories (interactively, or with a scheduler). #\\ #\\ # !CALLING SEQUENCE: # ./integrationTest.sh -d root-dir -t compile|all [-e env-file] [-h] [-q] # # Required arguments # -d root-dir : Specify the root folder for integration tests # -t compile|all : Specify the tests to run (compile-only or all) # # Optional arguments # -e env-file : Software environment file for Harvard Cannon # -h : Display a help message # -n : Do not bootstrap missing restart file variables # -q : Run a quick set of integration tests (for testing) # # NOTE: you can also use the following long name options: # # --directory (instead of -d) # --env-file (instead of -e) # --help (instead of -h) # --no-bootstrap (instead of -n) # --quick (instead of -q) # --tests-to-run (instead of -t) #EOP #------------------------------------------------------------------------------ #BOC #============================================================================= # Throw error if there is a conda environment active with netCDF, # which can cause the code to be linked against the wrong netCDF version. #============================================================================= if [[ -n "$CONDA_DEFAULT_ENV" || \ "$(which nc-config 2>/dev/null)" == *conda* ]]; then echo "ERROR: Conda netCDF detected. Run 'conda deactivate' first." exit 1 fi #============================================================================= # Initialize #============================================================================= this="$(basename ${0})" usage="Usage: ${this} -d root-dir -t compile|all [-e env-file] [-h] [-n] [-q]" quick="NO" bootStrap="YES" # Current directory thisDir=$(pwd -P) cd "${thisDir}" # Load common functions . "${thisDir}/../../shared/commonFunctionsForTests.sh" #============================================================================= # Parse command-line arguments # See https://www.baeldung.com/linux/bash-parse-command-line-arguments #============================================================================= # Call Linux getopt function to specify short & long input options # (e.g. -d or --directory, etc). Exit if not succesful validArgs=$(getopt --options d:e:hnqs:t: \ --long directory:,env-file:,help,no-bootstrap,quick,tests-to-run: -- "$@") if [[ $? -ne 0 ]]; then exit 1; fi # Parse arguments and set variables accordingly # NOTE: Convert some inputs to uppercase to facilitate comparisons eval set -- "${validArgs}" while [ : ]; do case "${1}" in # -d or --directory specifies the root folder for tests -d | --directory) itRoot="${2}" shift 2 ;; # -e or --env-file specifies the environment file -e | --env-file) envFile="${2}" shift 2 ;; # -h or --help prints a help message -h | --help) echo "$usage" exit 1 ;; # -n or --no-bootstrap prevents bootstrapping missing variables in # restart files (i.e. do not change EFYO -> CYS in HEMCO_Config.rc) -n | --no-bootstrap) bootStrap="NO" shift ;; # -q or --quick runs a quick set of integration tests (for testing) -q | --quick) quick="YES" shift ;; # -t or --tests-to-run specifies the type of tests to run -t | --tests-to-run) testsToRun="${2^^}" shift 2 ;; --) shift; break ;; esac done #============================================================================= # Sanity-check user input #============================================================================= # Get the site name from the node name site=$(get_site_name) # Error check integration tests root path if [[ "X${itRoot}" == "X" ]]; then echo "ERROR: The integration test root directory has not been specified!" echo "${usage}" exit 1 fi # Error check the type of tests to run if [[ "X${testsToRun}" == "X" ]]; then echo "ERROR: You must specify the test type: compile|all" echo "${usage}" exit 1 fi if [[ "X${testsToRun}" != "XCOMPILE" && "X${testsToRun}" != "XALL" ]]; then echo "ERROR: Invalid selction for tests-to-run, must be: compile|all" echo "${usage}" exit 1 fi # Error checks for tests that include compile & run phases if [[ "X${testsToRun}" == "XALL" ]]; then # Use the default environment file for Cannon if not specified if [[ "X${site}" == "XCANNON" && "X${envFile}" == "X" ]]; then envFile=$(get_default_gcc_env_file) fi # Get the sed command that will replace the partition name sedPartitionCmd=$(get_sed_partition_cmd_from_site "${site}") fi #============================================================================= # Create integration test directories in the root folder #============================================================================= # Convert integration test root folder to an absolute path itRoot=$(absolute_path "${itRoot}") # Prevent running integration tests in the source code directory tree if [[ "$(absolute_path ${thisDir})" =~ "${itRoot}" ]]; then echo "ERROR: You cannot run integration tests in the source code directory!" exit 1 fi # Create GEOS-Chem run directories in the integration test root folder ./integrationTestCreate.sh "${itRoot}" "${envFile}" "${testsToRun}" "${quick}" if [[ $? -ne 0 ]]; then echo "ERROR: Could not create integration test run directories!" exit 1 fi # Navigate to the root test folder if [[ -d "${itRoot}" ]]; then cd "${itRoot}" else echo "ERROR: ${itRoot} is not a valid directory! Exiting..." exit 1 fi # Define local convenience variables logsDir="${itRoot}/${LOGS_DIR}" scriptsDir="${itRoot}/${SCRIPTS_DIR}" rundirsDir="${itRoot}/${RUNDIRS_DIR}" # Edit HEMCO_Config.rc files to enable or disable bootstrapping # (i.e. to allow missing species in restart files or not) if [[ "X${testsToRun}" == "XALL" ]]; then gcc_enable_or_disable_bootstrap "${bootStrap}" "${rundirsDir}" fi # Navigate to the logs directory (so all output will be placed there) cd "${logsDir}" #============================================================================= # Run the tests #============================================================================= if [[ "X${testsToRun}" == "XCOMPILE" ]]; then #------------------------------------------------------------------------- # Compilation-only tests (scheduler is not used) #------------------------------------------------------------------------- echo "" echo "Compiliation tests are running..." ${scriptsDir}/integrationTestCompile.sh "${quick}" elif [[ "X${testsToRun}" == "XALL" && "X${site}" == "XCANNON" ]]; then #------------------------------------------------------------------------- # Compilation & execution tests on Harvard Cannon (via SLURM) #------------------------------------------------------------------------- # Remove LSF #BSUB tags sed_ie '/#BSUB -q REQUESTED_PARTITION/d' "${scriptsDir}/integrationTestCompile.sh" sed_ie '/#BSUB -n 8/d' "${scriptsDir}/integrationTestCompile.sh" sed_ie '/#BSUB -W 0:30/d' "${scriptsDir}/integrationTestCompile.sh" sed_ie '/#BSUB -o lsf-%J.txt/d' "${scriptsDir}/integrationTestCompile.sh" sed_ie \ '/#BSUB -R "rusage\[mem=8GB\] span\[ptile=1\] select\[mem < 1TB\]"/d' \ "${scriptsDir}/integrationTestCompile.sh" sed_ie \ "/#BSUB -a 'docker(registry\.gsc\.wustl\.edu\/sleong\/esm\:intel\-2021\.1\.2)'/d" \ "${scriptsDir}/integrationTestCompile.sh" sed_ie '/#BSUB -q REQUESTED_PARTITION/d' "${scriptsDir}/integrationTestExecute.sh" sed_ie '/#BSUB -n 24/d' "${scriptsDir}/integrationTestExecute.sh" sed_ie '/#BSUB -W 6:00/d' "${scriptsDir}/integrationTestExecute.sh" sed_ie '/#BSUB -o lsf-%J.txt/d' "${scriptsDir}/integrationTestExecute.sh" sed_ie \ '/#BSUB -R "rusage\[mem=90GB\] span\[ptile=1\] select\[mem < 2TB\]"/d' \ "${scriptsDir}/integrationTestExecute.sh" sed_ie \ "/#BSUB -a 'docker(registry\.gsc\.wustl\.edu\/sleong\/esm\:intel\-2021\.1\.2)'/d" \ "${scriptsDir}/integrationTestExecute.sh" # Replace "REQUESTED_PARTITION" with the partition name sed_ie "${sedPartitionCmd}" "${scriptsDir}/integrationTestCompile.sh" sed_ie "${sedPartitionCmd}" "${scriptsDir}/integrationTestExecute.sh" # Submit compilation tests script output=$(sbatch ${scriptsDir}/integrationTestCompile.sh "${quick}") output=($output) cmpId=${output[3]} # Submit execution tests script as a job dependency output=$(sbatch --dependency=afterok:${cmpId} ${scriptsDir}/integrationTestExecute.sh) output=($output) exeId=${output[3]} # Echo SLURM jobIDs echo "" echo "Compilation tests submitted as SLURM job ${cmpId}" echo "Execution tests submitted as SLURM job ${exeId}" elif [[ "X${testsToRun}" == "XALL" && "X${site}" == "XCOMPUTE1" ]]; then #------------------------------------------------------------------------- # Compilation and execution tests on WashU Compute1 (via LSF) #------------------------------------------------------------------------- # Remove SLURM #SBATCH tags sed_ie '/#SBATCH -c 8/d' "${scriptsDir}/integrationTestCompile.sh" sed_ie '/#SBATCH -N 1/d' "${scriptsDir}/integrationTestCompile.sh" sed_ie '/#SBATCH -t 0-0:30/d' "${scriptsDir}/integrationTestCompile.sh" sed_ie '/#SBATCH -p REQUESTED_PARTITION/d' "${scriptsDir}/integrationTestCompile.sh" sed_ie '/#SBATCH --mem=8000/d' "${scriptsDir}/integrationTestCompile.sh" sed_ie '/#SBATCH -p REQUESTED_PARTITION/d' "${scriptsDir}/integrationTestCompile.sh" sed_ie '/#SBATCH --mail-type=END/d' "${scriptsDir}/integrationTestCompile.sh" sed_ie '/#SBATCH -c 24/d' "${scriptsDir}/integrationTestExecute.sh" sed_ie '/#SBATCH -N 1/d' "${scriptsDir}/integrationTestExecute.sh" sed_ie '/#SBATCH -t 0-6:00/d' "${scriptsDir}/integrationTestExecute.sh" sed_ie '/#SBATCH -p REQUESTED_PARTITION/d' "${scriptsDir}/integrationTestExecute.sh" sed_ie '/#SBATCH --mem=90000/d' "${scriptsDir}/integrationTestExecute.sh" sed_ie '/#SBATCH --mail-type=END/d' "${scriptsDir}/integrationTestExecute.sh" # Replace "REQUESTED_PARTITION" with the partition name sed_ie "${sedPartitionCmd}" "${scriptsDir}/integrationTestCompile.sh" sed_ie "${sedPartitionCmd}" "${scriptsDir}/integrationTestExecute.sh" # Submit compilation tests script output=$(bsub ${scriptsDir}/integrationTestCompile.sh "${quick}") output=($output) cmpId=${output[1]} cmpId=${cmpId/<} cmpId=${cmpId/>} # Submit execution tests script as a job dependency output=$(bsub -w "exit(${cmpId},0)" ${scriptsDir}/integrationTestExecute.sh) output=($output) exeId=${output[1]} exeId=${exeId/<} exeId=${exeId/>} echo "" echo "Compilation tests submitted as LSF job ${cmpId}" echo "Execution tests submitted as LSF job ${exeId}" else #------------------------------------------------------------------------- # Exit with error #------------------------------------------------------------------------- echo "" echo "ERROR! Invalid choice of arguments!" echo "${usage}" exit 1 fi # Change back to this directory cd "${thisDir}" #============================================================================= # Cleanup and quit #============================================================================= # Free local variables unset cmpId unset envFile unset exeId unset itRoot unset logsDir unset quick unset output unset scheduler unset scriptsDir unset thisDir # Free imported variables unset FILL unset SEP_MAJOR unset SEP_MINOR unset CMP_PASS_STR unset CMP_FAIL_STR unset EXE_PASS_STR unset EXE_FAIL_STR #EOC ================================================ FILE: test/integration/GCClassic/integrationTestCompile.sh ================================================ #!/bin/bash #SBATCH -c 8 #SBATCH -N 1 #SBATCH -t 0-0:30 #SBATCH -p REQUESTED_PARTITION #SBATCH --mem=8000 #SBATCH --mail-type=END #BSUB -q REQUESTED_PARTITION #BSUB -n 8 #BSUB -W 0:30 #BSUB -R "rusage[mem=8GB] span[ptile=1] select[mem < 1TB]" #BSUB -a 'docker(registry.gsc.wustl.edu/sleong/esm:intel-2021.1.2)' #BSUB -o lsf-%J.txt #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !MODULE: integrationTestCompile.sh # # !DESCRIPTION: Runs compilation tests on various GEOS-Chem Classic # run directories (interactively or using a scheduler). #\\ #\\ # !CALLING SEQUENCE: # ./integrationTestCompile.sh # Interactive command-line execution # bsub integrationTestCompile.sh # Execution via LSF # sbatch integrationTestCompile.sh # Execution via SLURM #EOP #------------------------------------------------------------------------------ #BOC #============================================================================= # Arguments #============================================================================= # Run a short integration test? quick="${1}" #============================================================================ # Global variable and function definitions #============================================================================ # This script starts executing 1 level lower than $itRoot itRoot=$(cd ..; pwd) # Include global variables & functions . "${itRoot}/scripts/commonFunctionsForTests.sh" # Create local convenience variables binDir="${itRoot}/${BIN_DIR}" buildDir="${itRoot}/${BUILD_DIR}" envDir="${itRoot}/${ENV_DIR}" codeDir="${itRoot}/CodeDir" logsDir="${itRoot}/${LOGS_DIR}" scriptsDir="${itRoot}/${SCRIPTS_DIR}" site=$(get_site_name) # Load the user-environment and the software environment . ~/.bashrc > /dev/null 2>&1 [[ "X${site}" == "XCANNON" ]] && . ${envDir}/gcclassic.env > /dev/null 2>&1 # All integration tests will use debugging features baseOptions="-DCMAKE_BUILD_TYPE=Debug -DRUNDIR='' -DINSTALLCOPY=${binDir}" # Site-specific settings if [[ "X${site}" == "XCANNON" && "X${SLURM_JOBID}" != "X" ]]; then #---------------------------------- # SLURM settings (Harvard Cannon) #---------------------------------- # Set OMP_NUM_THREADS to the same # of cores requested with #SBATCH -c export OMP_NUM_THREADS=${SLURM_CPUS_PER_TASK} elif [[ "X${site}" == "XCOMPUTE1" && "X${LSB_JOBID}" != "X" ]]; then #---------------------------------- # LSF settings (WashU Compute1) #---------------------------------- # Set OMP_NUM_THREADS to the same # of cores requested with #BSUB -n export OMP_NUM_THREADS=${LSB_DJOB_NUMPROC} else #---------------------------------- # Interactive settings #---------------------------------- # For AWS, set $OMP_NUM_THREADS to the available cores kernel=$(uname -r) [[ "X${kernel}" == "Xaws" ]] && export OMP_NUM_THREADS=$(nproc) fi # Sanity check: Set OMP_NUM_THREADS to 6 if it is not set # (this may happen when running interactively) [[ "X${OMP_NUM_THREADS}" == "X" ]] && export OMP_NUM_THREADS=6 # Sanity check: Max out the OMP_STACKSIZE if it is not set [[ "X${OMP_STACKSIZE}" == "X" ]] && export OMP_STACKSIZE=500m # Only create necessary executables if $quick is "yes" if [[ "X${quick}" == "XYES" ]]; then EXE_LIST=("default" "carbon") else EXE_LIST=("${EXE_GCC_BUILD_LIST[@]}") fi # Count the number of tests to be done numTests=${#EXE_LIST[@]} #============================================================================ # Initialize results logfile #============================================================================ # Results logfile name results="${logsDir}/results.compile.log" rm -f ${results} # Print header to results log file print_to_log "${SEP_MAJOR}" "${results}" print_to_log "GEOS-Chem Classic: Compilation Test Results" "${results}" print_to_log "" "${results}" print_submodule_head_commits "10" "${codeDir}" "${results}" print_to_log "" "${results}" print_to_log "Using ${OMP_NUM_THREADS} OpenMP threads" "${results}" print_to_log "Number of compilation tests: ${numTests}" "${results}" print_to_log "" "${results}" if [[ "X${SLURM_JOBID}" != "X" ]]; then print_to_log "Submitted as SLURM job: ${SLURM_JOBID}" "${results}" elif [[ "X${LSB_JOBID}" != "X" ]]; then print_to_log "Submitted as LSF job: ${LSB_JOBID}" "${results}" else print_to_log "Submitted as interactive job" "${results}" fi print_to_log "${SEP_MAJOR}" "${results}" #============================================================================ # Configure and compile code in each GEOS_Chem run directory #============================================================================ print_to_log " " "${results}" print_to_log "Compiliation tests:" "${results}" print_to_log "${SEP_MINOR}" "${results}" # Change to the top-level build directory cd "${itRoot}" # Keep track of the number of tests that passed & failed let passed=0 let failed=0 let remain=${numTests} # Loop over build directories for dir in ${EXE_LIST[@]}; do # Define build directory thisBuildDir="${buildDir}/${dir}" # Define log file log="${logsDir}/compile.${dir}.log" rm -f "${log}" # Configure and build GEOS-Chem Classic source code # and increment pass/fail/remain counters build_model "gcclassic" "${itRoot}" "${thisBuildDir}" \ "${baseOptions}" "${log}" "${results}" if [[ $? -eq 0 ]]; then let passed++ else let failed++ fi let remain-- done #============================================================================ # Check the number of simulations that have passed #============================================================================ # Print summary to log print_to_log " " "${results}" print_to_log "Summary of compilation test results:" "${results}" print_to_log "${SEP_MINOR}" "${results}" print_to_log "Complilation tests passed: ${passed}" "${results}" print_to_log "Complilation tests failed: ${failed}" "${results}" print_to_log "Complilation tests not completed: ${remain}" "${results}" # Check for success if [[ "X${passed}" == "X${numTests}" ]]; then #-------------------------- # Successful compilation #-------------------------- print_to_log "" "${results}" print_to_log "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" "${results}" print_to_log "%%% All compilation tests passed! %%%" "${results}" print_to_log "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" "${results}" # Start the interactive execution test script upon successful finish if [[ "X${SLURM_JOBID}" == "X" && "x${LSB_JOBID}" == "X" ]]; then echo "" echo "Compilation tests finished!" ${scriptsDir}/integrationTestExecute.sh & fi else #--------------------------- # Unsuccessful compilation #--------------------------- if [[ "X${SLURM_JOBID}" == "X" && "x${LSB_JOBID}" == "X" ]]; then echo "" echo "Compilation tests failed! Exiting..." fi fi #============================================================================ # Cleanup and quit #============================================================================ # Free local variables unset baseOptions unset binDir unset buildDir unset codeDir unset failed unset dir unset envDir unset head_gcc unset head_gc unset head_hco unset itRoot unset kernel unset log unset logsDir unset numTests unset passed unset remain unset results unset scriptsDir unset scheduler # Free imported variables unset FILL unset SEP_MAJOR unset SEP_MINOR unset CMP_PASS_STR unset CMP_FAIL_STR unset EXE_PASS_STR unset EXE_FAIL_STR #EOC ================================================ FILE: test/integration/GCClassic/integrationTestCreate.sh ================================================ #!/bin/bash #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !MODULE: integrationTestCreate.sh # # !DESCRIPTION: Creates integration test run directories in a user-specified # root folder, and copies a run script there. #\\ #\\ # !CALLING SEQUENCE: # ./integrationTestCreate.sh /path/to/int/test/root /path/to/env-file [yes|no] #EOP #------------------------------------------------------------------------------ #BOC #============================================================================= # Load common functions #============================================================================= # Current directory thisDir=$(pwd -P) cd "${thisDir}" # Path to the test/shared folder in source code sharedDir=$(realpath "${thisDir}/../../shared") # Source the script containing utility functions and variables commonFuncs="${sharedDir}/commonFunctionsForTests.sh" . "${commonFuncs}" #============================================================================= # Parse input arguments #============================================================================= # Integration test root folder itRoot="${1}" if [[ "X${itRoot}" == "X" ]]; then echo "ERROR: The root-level directory for tests has not been specified!" exit 1 fi # Environment file (for Harvard Cannon only) site=$(get_site_name) envFile="${2}" if [[ "X${site}" == "XCANNON" ]]; then [[ "X${envFile}" == "X" ]] && envFile=$(get_default_gcc_env_file) if [[ ! -f ${envFile} ]]; then echo "ERROR: The enviroment file is not a valid file!" exit 1 fi fi # Run a compile-only integration test? testsToRun="${3}" # Run a short integration test? quick="${4}" #============================================================================= # Global variable and function definitions #============================================================================= # GCClassic superproject directory (absolute paths) cd ../../../../../ superProjectDir=$(pwd -P) cd ${superProjectDir} # GEOS-Chem and HEMCO submodule directories geosChemDir="${superProjectDir}/src/GEOS-Chem" # Echo header printf "${SEP_MAJOR}\n" printf "Creating GEOS-Chem Classic Integration Tests\n\n" print_submodule_head_commits "10" "${superProjectDir}" "" printf "${SEP_MAJOR}\n" #============================================================================= # Create integration test folder and subdirectories #============================================================================= # Create integration test root folder if it doesn't exist itRoot=$(absolute_path "${itRoot}") [[ ! -d "${itRoot}" ]] && mkdir -p "${itRoot}" # Create local convenience variables binDir="${itRoot}/${BIN_DIR}" buildDir="${itRoot}/${BUILD_DIR}" envDir="${itRoot}/${ENV_DIR}" execDir="${itRoot}/${EXEC_DIR}" logsDir="${itRoot}/${LOGS_DIR}" scriptsDir="${itRoot}/${SCRIPTS_DIR}" rundirsDir="${itRoot}/${RUNDIRS_DIR}" utilsDir="${itRoot}/${UTILS_DIR}" # Get absolute path of the environment file envFile=$(absolute_path "${envFile}") # Remove run directories in the test folder cleanup_files "${itRoot}" # Subdir for CMake builds (note: will create ${itRoot} printf "\nCreating CMake build directories:\n" for dir in ${EXE_GCC_BUILD_LIST[@]}; do printf " ... ${buildDir}/${dir}\n" mkdir -p "${buildDir}/${dir}" done # Subdir for executables printf "\nCreating exe files directory ${binDir}\n" mkdir -p "${binDir}" # Subdir for env files (for Harvard Cannon only) if [[ "X${site}" == "XCANNON" ]]; then printf "Creating env files directory ${envDir}\n" mkdir -p "${envDir}" fi # Subdir for log files printf "Creating logs directory ${logsDir}\n" mkdir -p "${logsDir}" # Subdir for scripts printf "Creating scripts directory ${scriptsDir}\n" mkdir -p "${scriptsDir}" # Subdir for run directories if [[ "x${testsToRun}" == "xALL" ]]; then printf "Creating rundirs directory ${rundirsDir}\n" mkdir -p "${rundirsDir}" fi # Create a symbolic link to the code from the Integration Test root folder printf "Linking to superproject ${itRoot}/CodeDir\n" ln -s "${superProjectDir}" ${itRoot}/CodeDir #============================================================================= # Copy files to the proper folders #============================================================================= printf "\nCopying run scripts to: ${scriptsDir}\n" cp -f ${thisDir}/integration*.sh ${scriptsDir} cp -f ${commonFuncs} ${scriptsDir} cp -f ${thisDir}/README.md ${scriptsDir} cp -f ${thisDir}/README.testroot.md ${itRoot}/README.md if [[ "X${site}" == "XCANNON" ]]; then # Copy Cannon environment file cp -f ${envFile} ${envDir}/gcclassic.env # Copy Cannon utility scripts printf "Copying utility scripts to ${utilsDir}\n" cp -fR ${sharedDir}/utils/cannon/integrationTest ${utilsDir} elif [[ "X${site}" == "XCOMPUTE1" ]]; then # Copy Compute1 utility scripts printf "Copying utility scripts to ${utilsDir}\n" cp -fR ${sharedDir}/utils/compute1/integrationTest ${utilsDir} # Force scripts to be executable (Compute1 resets permissions) chmod 755 -R ${scriptsDir} chmod 755 -R ${utilsDir} fi # Log file with echoback from rundir creation log="${logsDir}/createIntegrationTests.log" #============================================================================= # Don't create run directories for compile-only tests. #============================================================================= if [[ "X${testsToRun}" == "XALL" ]]; then # Switch to folder where rundir creation scripts live cd "${geosChemDir}/run/GCClassic" #========================================================================= # Create individual run directories: 4x5 - MERRA2 - 72L #========================================================================= printf "\nCreating new run directories:\n" # 4x5 merra2 aerosol create_rundir "2\n1\n1\n1\n${rundirsDir}\n\nn\n" "${log}" # 4x5 merra2 carbon create_rundir "3\n1\n1\n1\n1\n${rundirsDir}\n\nn\n" "${log}" # 4x5 merra2 carbon CH4 only create_rundir "3\n2\n1\n1\n1\n${rundirsDir}\n\nn\n" "${log}" # 4x5 merra2 carbon CO2 only create_rundir "3\n3\n1\n1\n1\n${rundirsDir}\n\nn\n" "${log}" # 4x5 merra2 carbon CO only create_rundir "3\n4\n1\n1\n1\n${rundirsDir}\n\nn\n" "${log}" # 4x5 merra2 carbon OCS only create_rundir "3\n5\n1\n1\n1\n${rundirsDir}\n\nn\n" "${log}" # 4x5 merra2 fullchem create_rundir "1\n1\n1\n1\n1\n${rundirsDir}\n\nn\nn\n" "${log}" # Exit after creating a couple of rundirsDirs if $quick is "yes" if [[ "X${quick}" == "XYES" ]]; then cd ${thisDir} exit 0 fi # 4x5 merra2 fullchem_LuoWd dir="gc_4x5_merra2_fullchem_LuoWd" create_rundir "1\n1\n1\n1\n1\n${rundirsDir}\n${dir}\nn\nn\n" "${log}" # 4x5 merra2 fullchem_aciduptake create_rundir "1\n5\n1\n1\n1\n${rundirsDir}\n\nn\nn\n" "${log}" # 4x5 merra2 fullchem_APM create_rundir "1\n7\n1\n1\n1\n${rundirsDir}\n\nn\nn\n" "${log}" # 4x5 merra2 fullchem_benchmark create_rundir "1\n2\n1\n1\n1\n${rundirsDir}\n\nn\nn\n" "${log}" # 4x5 merra2 fullchem_complexSOA create_rundir "1\n3\n1\n1\n1\n1\n${rundirsDir}\n\nn\nn\n" "${log}" # 4x5 merra2 fullchem_complexSOA_SVPOA create_rundir "1\n3\n2\n1\n1\n1\n${rundirsDir}\n\nn\nn\n" "${log}" # 4x5 merra2 fullchem_marinePOA create_rundir "1\n4\n1\n1\n1\n${rundirsDir}\n\nn\nn\n" "${log}" # 4x5 merra2 fullchem_RRTMG create_rundir "1\n8\n1\n1\n1\n${rundirsDir}\n\nn\nn\n" "${log}" # 4x5 merra2 fullchem_TOMAS15_47L create_rundir "1\n6\n1\n1\n1\n2\n${rundirsDir}\n\nn\nn\n" "${log}" # 4x5 merra2 Hg create_rundir "4\n1\n1\n1\n${rundirsDir}\n\nn\n" "${log}" # 4x5 merra2 POPs_BaP create_rundir "5\n1\n1\n1\n1\n${rundirsDir}\n\nn\n" "${log}" # 4x5 merra2 tagO3 create_rundir "6\n1\n1\n1\n${rundirsDir}\n\nn\n" "${log}" # 4x5 merra2 TransportTracers create_rundir "7\n1\n1\n1\n${rundirsDir}\n\nn\n" "${log}" # 4x5 merra2 TransportTracers_LuoWd dir="gc_4x5_merra2_TransportTracers_LuoWd" create_rundir "7\n1\n1\n1\n${rundirsDir}\n${dir}\nn\n" "${log}" # 4x5 merra2 metals create_rundir "8\n1\n1\n1\n${rundirsDir}\n\nn\n" "${log}" #========================================================================= # Create individual run directories: 4x5 and 47L (MERRA2) #========================================================================= # 4x5 merra2 fullchem_47L create_rundir "1\n1\n1\n1\n2\n${rundirsDir}\n\nn\nn\n" "${log}" #========================================================================= # GCAP 2.0 simulations #========================================================================= # 2x2.5 ModelE2.1 fullchem (scenario SSP2-4.5, option 6) create_rundir "1\n1\n4\n6\n2\n1\n${rundirsDir}\n\nn\nn\n" "${log}" #========================================================================= # Nested-grid simulations #========================================================================= # 05x0625_merra2_fullchem_47L_na create_rundir "1\n1\n1\n3\n4\n2\n${rundirsDir}\n\nn\nn\n" "${log}" #========================================================================= # Simulation with all diagnostics on #========================================================================= # Configuration files allDiagsDir="gc_4x5_merra2_fullchem_alldiags" extDataDir=$(grep "GC_DATA_ROOT" "${HOME}/.geoschem/config") extDataDir=${extDataDir/export GC_DATA_ROOT\=/} pfDat="${geosChemDir}/test/shared/alldiags/Planeflight.dat.20190701" obsPk="${extDataDir}/Data_for_Int_Tests/obspack_input_for_testing.20190701.nc" # Copy the fullchem_benchmark rundir to fullchem_alldiags echo "... ${itRoot}/rundirs/${allDiagsDir}" cd "${rundirsDir}" cp -r "gc_4x5_merra2_fullchem_benchmark" "${allDiagsDir}" cd "${allDiagsDir}" # Turn on all collections except RRTMG and Tomas collections (which # Make sure to activate these in the RRTMG and TOMAS integration tests. sed_ie "s|#'|'|" "HISTORY.rc" sed_ie "s|'RRTMG'|#'RRTMG'|" "HISTORY.rc" sed_ie "s|'Tomas'|#'Tomas'|" "HISTORY.rc" sed_ie "s|'DynHeat|#'DynHeat|" "HISTORY.rc" # Disable the KppTime diagnostic (time spent in integrator) as # this will vary due to local conditions on the cluster/node sed_ie "s|'KppTime|#'KppTime|" "HISTORY.rc" # Activate the planeflight diagnostic cp -r "${pfDat}" . toggle_geoschem_config_option "geoschem_config.yml" "planeflight" "true " # Activate the ObsPack diagnostic cp -r "${obsPk}" . toggle_geoschem_config_option "geoschem_config.yml" "obspack" "true " # Switch back to the rundirs folder cd "${rundirsDir}" #========================================================================= # Simulation running across the 00 UTC boundary #==================q====================================================== # Create a run directory for this test by copying the carbon_CH4 rundir straddleDir="gc_4x5_merra2_carbon_CH4_straddle_00z" echo "... ${itRoot}/rundirs/${straddleDir}" cp -r "gc_4x5_merra2_carbon_CH4" "${straddleDir}" cd "${straddleDir}" # Update config files (start at 18 UTC, end at 01 UTC next day) sed_ie "s|20190101\, 000000|20190101\, 180000|" "geoschem_config.yml" sed_ie "s|20190101\, 010000|20190102\, 010000|" "geoschem_config.yml" sed_ie "s|00000000 010000|00000000 070000|" "HISTORY.rc" sed_ie "s|EFYO|EY|" "HEMCO_Config.rc" # Switch back to the rundirs folder cd "${rundirsDir}" #========================================================================= # Create rundirs for dry-run tests #========================================================================== # Create dryrun directories by direct copy dirs=( "gc_4x5_merra2_aerosol" \ "gc_4x5_merra2_carbon" \ "gc_4x5_merra2_fullchem" \ "gc_4x5_merra2_fullchem_APM" \ "gc_4x5_merra2_fullchem_benchmark" \ "gc_4x5_merra2_fullchem_RRTMG" \ "gc_4x5_merra2_Hg" \ "gc_4x5_merra2_metals" \ "gc_4x5_merra2_tagO3" \ "gc_4x5_merra2_TransportTracers" \ "gc_4x5_47L_merra2_fullchem_TOMAS15" ) # Create dryrun directories by direct copy for dir in ${dirs[@]}; do echo "... ${itRoot}/rundirs/${dir}_dryrun" cp -r "${dir}" "${dir}_dryrun" done # Switch back to the present directory cd "${thisDir}" fi #============================================================================= # Cleanup and quit #============================================================================= # Free local variables unset allDiagsDir unset binDir unset buildDir unset commonFuncs unset dir unset envDir unset extDataDir unset geosChemDir unset itRoot unset log unset logsDir unset pfDat unset obsPk unset rundirsDir unset superProjectDir unset scriptsDir unset sharedDir unset straddleDir unset thisDir unset utilsDir # Free imported variables unset FILL unset SEP_MAJOR unset SEP_MINOR unset CMP_PASS_STR unset CMP_FAIL_STR unset EXE_PASS_STR unset EXE_FAIL_STR #EOC ================================================ FILE: test/integration/GCClassic/integrationTestExecute.sh ================================================ #!/bin/bash #SBATCH -c 24 #SBATCH -N 1 #SBATCH -t 0-6:00 #SBATCH -p REQUESTED_PARTITION #SBATCH --mem=120000 #SBATCH --mail-type=END #BSUB -q REQUESTED_PARTITION #BSUB -n 24 #BSUB -W 6:00 #BSUB -R "rusage[mem=90GB] span[ptile=1] select[mem < 2TB]" #BSUB -a 'docker(registry.gsc.wustl.edu/sleong/esm:intel-2021.1.2)' #BSUB -o lsf-%J.txt #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !MODULE: integrationTestExecute.sh # # !DESCRIPTION: Runs execution tests on various GEOS-Chem Classic # run directories (using the SLURM scheduler). #\\ #\\ # !CALLING SEQUENCE: # ./integrationTestExecute.sh # Interactive command-line execution # bsub integrationTestExecute.sh # Execution via LSF # sbatch integrationTestExecute.sh # Execution via SLURM #EOP #------------------------------------------------------------------------------ #BOC #============================================================================ # Global variable and function definitions #============================================================================ # This script starts executing 1 level lower than $itRoot itRoot=$(cd ..; pwd) # Include global variables & functions . "${itRoot}/scripts/commonFunctionsForTests.sh" # Create local convenience variables binDir="${itRoot}/${BIN_DIR}" envDir="${itRoot}/${ENV_DIR}" codeDir="${itRoot}/CodeDir" logsDir="${itRoot}/${LOGS_DIR}" rundirsDir="${itRoot}/${RUNDIRS_DIR}" site=$(get_site_name) # Load the environment and the software environment . ~/.bashrc > /dev/null 2>&1 [[ "X${site}" == "XCANNON" ]] && . ${envDir}/gcclassic.env > /dev/null 2>&1 # Site-specific settings if [[ "X${site}" == "XCANNON" && "X${SLURM_JOBID}" != "X" ]]; then #---------------------------------- # SLURM settings (Harvard Cannon) #---------------------------------- # Set OMP_NUM_THREADS to the same # of cores requested with #SBATCH -c export OMP_NUM_THREADS=${SLURM_CPUS_PER_TASK} elif [[ "X${site}" == "XCOMPUTE1" && "X${LSB_JOBID}" != "X" ]]; then #--------------------------------- # LSF settings (WashU Compute1) #--------------------------------- # Set OMP_NUM_THREADS to the same # of cores requested with #BSUB -n export OMP_NUM_THREADS=${LSB_DJOB_NUMPROC} else #--------------------------------- # Interactive settings #--------------------------------- echo "" echo "Execution tests running..." # For AWS, set $OMP_NUM_THREADS to the available cores kernel=$(uname -r) [[ "X${kernel}" == "Xaws" ]] && export OMP_NUM_THREADS=$(nproc) fi # Sanity check: Set OMP_NUM_THREADS to 8 if it is not set # (this may happen when running interactively) [[ "X${OMP_NUM_THREADS}" == "X" ]] && export OMP_NUM_THREADS=8 # Sanity check: Max out the OMP_STACKSIZE if it is not set [[ "X${OMP_STACKSIZE}" == "X" ]] && export OMP_STACKSIZE=500m # Count the number of tests to be run (same as the # of run directories) numTests=$(count_rundirs "${rundirsDir}") #============================================================================ # Initialize results logfile #============================================================================ # Results logfile name results="${logsDir}/results.execute.log" rm -f "${results}" # Print header to results log file print_to_log "${SEP_MAJOR}" "${results}" print_to_log "GEOS-Chem Classic: Execution Test Results" "${results}" print_to_log "" "${results}" print_submodule_head_commits "10" "${codeDir}" "${results}" print_to_log "" "${results}" print_to_log "Using ${OMP_NUM_THREADS} OpenMP threads" "${results}" print_to_log "Number of execution tests: ${numTests}" "${results}" print_to_log "" "${results}" if [[ "X${SLURM_JOBID}" != "X" ]]; then print_to_log "Submitted as SLURM job: ${SLURM_JOBID}" "${results}" elif [[ "X${LSB_JOBID}" == "XCOMPUTE1" ]]; then print_to_log "Submitted as LSF job: ${LSB_JOBID}" "${results}" else print_to_log "Submitted as interactive job" "${results}" fi print_to_log "${SEP_MAJOR}" "${results}" #============================================================================ # Run the GEOS-Chem executable in each GEOS-Chem run directory #============================================================================ print_to_log " " "${results}" print_to_log "Execution tests:" "${results}" print_to_log "${SEP_MINOR}" "${results}" # Keep track of the number of tests that passed & failed let passed=0 let failed=0 let remain=${numTests} # Navigate to the directory containing individiual run directories cd "${rundirsDir}" # Loop over rundirs and run GEOS-Chem for runDir in *; do # Expand rundir to absolute path runAbsPath="${rundirsDir}/${runDir}" # Do the following if for only valid GEOS-Chem run dirs expr=$(is_valid_rundir "${runAbsPath}") if [[ "X${expr}" == "XTRUE" ]]; then # Define log file log="${logsDir}/execute.${runDir}.log" rm -f "${log}" # Messages for execution pass & fail passMsg="$runDir${FILL:${#runDir}}.....${EXE_PASS_STR}" failMsg="$runDir${FILL:${#runDir}}.....${EXE_FAIL_STR}" # Get the executable file corresponding to this run directory exeFile=$(exe_name "gcclassic" "${runDir}") # Test if the executable exists if [[ -f "${binDir}/${exeFile}" ]]; then #---------------------------------------------------------------- # If the executable file exists, we can do the test #---------------------------------------------------------------- # Change to this run directory cd "${runAbsPath}" # Copy the executable file here cp -f "${binDir}/${exeFile}" . # Update to make sure the run directory is executable on Compute1 if [[ "X${site}" == "XCOMPUTE1" ]]; then chmod 755 -R "${runAbsPath}" fi # Remove any leftover files in the run dir ./cleanRunDir.sh --no-interactive >> "${log}" 2>&1 # Add --dryrun option for rundirs with ending with "_dryrun" [[ "${runAbsPath}" =~ "_dryrun" ]] && dr="--dryrun" || dr="" # Run the code if the executable is present. Then update the # pass/fail counters and write a message to the results log file. if [[ "X${site}" == "XCANNON" && "X${SLURM_JOBID}" != "X" ]]; then srun -c ${OMP_NUM_THREADS} ./${exeFile} ${dr} >> "${log}" 2>&1 else ./${exeFile} ${dr} >> "${log}" 2>&1 fi # Determine if the job succeeded or failed if [[ $? -eq 0 ]]; then let passed++ print_to_log "${passMsg}" "${results}" else let failed++ print_to_log "${failMsg}" "${results}" fi # Navigate back to the folder containing run directories cd "${rundirsDir}" else #---------------------------------------------------------------- # If the executable is missing, update the "fail" counter # and write the "failed" message to the results log file. #---------------------------------------------------------------- let failed++ if [[ "x${results}" != "x" ]]; then print_to_log "${failMsg}" "${results}" fi fi # Decrement the count of remaining tests let remain-- fi done #============================================================================ # Check the number of simulations that have passed #============================================================================ # Print summary to log print_to_log " " "${results}" print_to_log "Summary of test results:" "${results}" print_to_log "${SEP_MINOR}" "${results}" print_to_log "Execution tests passed: ${passed}" "${results}" print_to_log "Execution tests failed: ${failed}" "${results}" print_to_log "Execution tests not yet completed: ${remain}" "${results}" # Check for success if [[ "X${passed}" == "X${numTests}" ]]; then #-------------------------- # Successful execution #-------------------------- print_to_log "" "${results}" print_to_log "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" "${results}" print_to_log "%%% All execution tests passed! %%%" "${results}" print_to_log "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" "${results}" # Print success (if interactive) if [[ "X${SLURM_JOBID}" == "X" && "x${LSB_JOBID}" == "X" ]]; then echo "" echo "Execution tests finished!" fi else #-------------------------- # Unsuccessful execution #-------------------------- if [[ "X${SLURM_JOBID}" == "X" && "X${LSB_JOBID}" == "X" ]]; then echo "" echo "Execution tests failed! Exiting ..." fi fi #============================================================================ # Cleanup and quit #============================================================================ # Free local variables unset absRunPath unset binDir unset codeDir unset envDir unset exeFile unset failed unset failmsg unset head_gcc unset head_gc unset head_hco unset itRoot unset log unset logsDir unset numTests unset passed unset passMsg unset remain unset results unset rundirsDir unset scheduler # Free imported global variables unset FILL unset LINE unset CMP_PASS_STR unset CMP_FAIL_STR unset EXE_PASS_STR unset EXE_FAIL_STR #EOC ================================================ FILE: test/integration/GCHP/README.md ================================================ # README for GCHP Integration Tests ## Overview: This directory contains: 1. Scripts to submit automated GCHP integration tests, which will test the following processes: - GCHP run directory creation - GCHP code configuration and compilation - GCHP execution Integration tests are short GCHP simulations. Executables are compiled with all debugging options. This should reveal any coding errors or run-directory configuration errors. ## Files ### Integration Test Scripts - `integrationTest.sh` - Driver script to run GCHP integration tests - `integrationTestCreate.sh` - Script to create GCHP run directories for integration tests - `integrationTestCompile.sh` - Script to compile GCHP executables - `integrationTestExecute.sh` - Script to run GCHP integration test simulations ### Shared Scripts - `commonFunctionsForTests.sh` - Link to `../../shared/commonFunctionsForTests.sh`, which contains global variables and functions for the integration and parallelization tests. ## Before you begin Please take a moment to: 1. Verify that the `GCHP` superproject is checked out to the correct branch and commit. 2. Run `git submodule update --init --recursive` in order to update all submodules. 3. Verify that the `HEAD` commit of the `GEOS-Chem` submodule contains the code that you wish to test. (If not, then check out the proper branch.) 4. Verify that the `HEAD` commit of the `HEMCO` submodule contains the code that you wish to test. (If not, then check out the proper branch.) ## Command-line Arguments The integration test scripts accept the following command-line arguments: ### Required arguments `-d /path/to/test/dir` specifies the root directory where integration test subdirectories and scripts will be placed. `-t compile|all` specifies the type of test to be run: - `compile` will run compilation-only tests. - `all` will run compilation and execution tests. ### Optional arguments `-e /path/to/env-file` Specifies the file that is used to initialize the software environment on the Harvard Cannon cluster. If omitted, a default file will be selected. `-h` displays a help screeen. `-q` will run only a couple of integration tests instead of the full suite. This is intended for development and debugging. You will normally not need to use this option. You can also use long names for the option switches: - `--directory` instead of `-d` - `--env-file` instead of `-e` - `--help` instead of `h` - `--no-bootstrap` instead of `n` - `--tests-to-run` instead of `-t` ## Examples ### Request compile-only tests on Cannon or Compute1 ```console $ cd /path/to/GCHP # Path to GCClassic superproject directory $ cd test/integration/GCHP $ ./integrationTest.sh -d /path/to/test/dir -t compile ``` ### Request compile and execution tests (Harvard Cannon) ```console $ cd /path/to/GCHP # Path to GCClassic superproject directory $ cd test/integration/GCHP $ ./integrationTest.sh -d /path/to/test/dir -t all -e /path/to/env-file ``` NOTE: If you omit the `-e /path/to/env/file` a default environment file will be used to load GNU Compiler Collection 10 and related libraries. ### Request compile & execution tests (WashU compute1) ```console $ cd /path/to/GCHP # Path to GCClassic superproject directory $ cd test/integration/GCHP $ ./integrationTest.sh -d /path/to/test/dir -t all ``` NOTE: No environment file is needed. On Compute1 the tests will run inside a software container with all necessary libraries included. ================================================ FILE: test/integration/GCHP/README.testroot.md ================================================ # README for GCHP Integration Tests ## Directories Components of GCHP integration tests have been separated into these directories: `bin` - Contains GCHP executable files. `build` - Directories for building GCHP executables. `CodeDir` - Symbolic link to the GCHP superproject directory. `env` - Contains an environment file that loads the software libraries needed to run GCHP. `logs` - Contains log files from the integration tests. - `results.compile.log`: Results of GCHP compilation tests. - `results.execute.log`: Results of GCHP Classic execution tests. - `compile.*.log`: Output of individual compilation tests - `execute.*.log`: Output of individual execution tests - `lsf-*.txt`: LSF scheduler job logs - `slurm*.out`: SLURM scheduler job logs `rundirs` - Contains individual GCHP run directories. `scripts` - Contains the scripts that are used for running the GCHP integration tests. These are copied from the `test/GCHP/integration` folder of the GEOS-Chem "science codebase" repository. ## For more information Please see the `scripts/README.md` file for detailed instructions on running GCHP integration tests. ================================================ FILE: test/integration/GCHP/integrationTest.sh ================================================ #!/bin/bash #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !MODULE: integrationTest.sh # # !DESCRIPTION: Runs integration tests on the various GCHP run directories # (interactively, or with a scheduler). #\\ #\\ # !CALLING SEQUENCE: # ./integrationTest.sh -d root-dir -t compile|all [-e env-file] [-h] [-q] # # Required arguments # -d root-dir : Specify the root folder for integration tests # -t compile|all : Specify the tests to run (compile-only or all) # # Optional arguments # -e env-file : Software environment file for Harvard Cannon # -h : Display a help message # -n : Do not bootstrap missing restart file variables # -q : Run a quick set of integration tests (for testing) # # NOTE: you can also use the following long name options: # # --directory (instead of -d) # --env-file (instead of -e) # --help (instead of -h) # --no-bootstrap (instead of -n) # --quick (instead of -q) # --tests-to-run (instead of -t) #EOP #------------------------------------------------------------------------------ #BOC #============================================================================= # Throw error if there is a conda environment active with netCDF, # which can cause the code to be linked against the wrong netCDF version. #============================================================================= if [[ -n "$CONDA_DEFAULT_ENV" || \ "$(which nc-config 2>/dev/null)" == *conda* ]]; then echo "ERROR: Conda netCDF detected. Run 'conda deactivate' first." exit 1 fi #============================================================================= # Initialize #============================================================================= this="$(basename ${0})" usage="Usage: ${this} -d root-dir -t compile|all [-e env-file] [-h] [-n] [-q]" quick="NO" bootStrap="YES" # Current directory thisDir=$(pwd -P) cd "${thisDir}" # Load common functions . "${thisDir}/../../shared/commonFunctionsForTests.sh" #============================================================================= # Parse command-line arguments # See https://www.baeldung.com/linux/bash-parse-command-line-arguments #============================================================================= # Call Linux getopt function to specify short & long input options # (e.g. -d or --directory, etc). Exit if not succesful validArgs=$(getopt --options d:e:hnqt: \ --long directory:,env-file:,help,no-bootstrap,quick,tests-to-run: -- "$@") if [[ $? -ne 0 ]]; then exit 1; fi # Parse arguments and set variables accordingly # NOTE: Convert some inputs to uppercase to facilitate comparisons eval set -- "${validArgs}" while [ : ]; do case "${1}" in # -d or --directory specifies the root folder for tests -d | --directory) itRoot="${2}" shift 2 ;; # -e or --env-file specifies the environment file -e | --env-file) envFile="${2}" shift 2 ;; # -h or --help prints a help message -h | --help) echo "$usage" exit 1 ;; # -n or --no-bootstrap prevents bootstrapping missing variables in # restart files (i.e. do not change EFYO -> CYS in HEMCO_Config.rc) -n | --no-bootstrap) bootStrap="NO" shift ;; # -q or --quick runs a quick set of integration tests (for testing) -q | --quick) quick="YES" shift ;; # -t or --tests-to-run specifies the type of tests to run -t | --tests-to-run) testsToRun="${2^^}" shift 2 ;; --) shift; break ;; esac done #============================================================================= # Sanity-check user input #============================================================================= # Get the site name from the node name site=$(get_site_name) # Error check integration tests root path if [[ "X${itRoot}" == "X" ]]; then echo "ERROR: The integration test root directory has not been specified!" echo "${usage}" exit 1 fi # Error check the type of tests to run if [[ "X${testsToRun}" == "X" ]]; then echo "ERROR: You must specify the test type: compile|all" echo "${usage}" exit 1 fi if [[ "X${testsToRun}" != "XCOMPILE" && "X${testsToRun}" != "XALL" ]]; then echo "ERROR: Invalid selction for tests-to-run, must be: compile|all" echo "${usage}" exit 1 fi # Error checks for tests that include compile & run phases if [[ "X${testsToRun}" == "XALL" ]]; then # Use the default environment file for Cannon if not specified if [[ "X${site}" == "XCANNON" && "X${envFile}" == "X" ]]; then envFile=$(get_default_gchp_env_file) fi # Get the sed command that will replace the partition name sedPartitionCmd=$(get_sed_partition_cmd_from_site "${site}") fi #============================================================================= # Create integration test directories in the root folder #============================================================================= # Convert integration test root folder to an absolute path itRoot=$(absolute_path "${itRoot}") # Prevent running integration tests in the source code directory tree if [[ "$(absolute_path ${thisDir})" =~ "${itRoot}" ]]; then echo "ERROR: You cannot run integration tests in the source code directory!" exit 1 fi # Create GEOS-Chem run directories in the integration test root folder ./integrationTestCreate.sh "${itRoot}" "${envFile}" "${testsToRun}" "${quick}" if [[ $? -ne 0 ]]; then echo "ERROR: Could not create integration test run directories!" exit 1 fi # Navigate to the root test folder if [[ -d "${itRoot}" ]]; then cd "${itRoot}" else echo "ERROR: ${itRoot} is not a valid directory! Exiting..." exit 1 fi # Define local convenience variables logsDir="${itRoot}/${LOGS_DIR}" scriptsDir="${itRoot}/${SCRIPTS_DIR}" rundirsDir="${itRoot}/${RUNDIRS_DIR}" # Edit setCommonRunSettings.sh scripts to enable or disable bootstrapping # (i.e. to allow missing species in restart files or not) if [[ "x${testsToRun}" == "xALL" ]]; then gchp_enable_or_disable_bootstrap "${bootStrap}" "${rundirsDir}" fi # Navigate to the logs directory (so all output will be placed there) cd "${logsDir}" #============================================================================= # Run the tests #============================================================================= if [[ "x${testsToRun}" == "xCOMPILE" ]]; then #------------------------------------------------------------------------- # Compilation-only tests (scheduler is not used) #------------------------------------------------------------------------- echo "" echo "Compiliation tests are running..." ${scriptsDir}/integrationTestCompile.sh "${quick}" elif [[ "x${testsToRun}" == "xALL" && "x${site}" == "xCANNON" ]]; then #------------------------------------------------------------------------- # Compilation & execution tests on Harvard Cannon (via SLURM) #------------------------------------------------------------------------- # Remove LSF #BSUB tags sed_ie '/#BSUB -q REQUESTED_PARTITION/d' "${scriptsDir}/integrationTestCompile.sh" sed_ie '/#BSUB -n 8/d' "${scriptsDir}/integrationTestCompile.sh" sed_ie '/#BSUB -W 2:30/d' "${scriptsDir}/integrationTestCompile.sh" sed_ie '/#BSUB -o lsf-%J.txt/d' "${scriptsDir}/integrationTestCompile.sh" sed_ie \ '/#BSUB -R "rusage\[mem=8GB\] span\[ptile=1\] select\[mem < 1TB\]"/d' \ "${scriptsDir}/integrationTestCompile.sh" sed_ie \ "/#BSUB -a 'docker(registry\.gsc\.wustl\.edu\/sleong\/esm\:intel\-2021\.1\.2)'/d" \ "${scriptsDir}/integrationTestCompile.sh" sed_ie '/#BSUB -q REQUESTED_PARTITION/d' "${scriptsDir}/integrationTestExecute.sh" sed_ie '/#BSUB -n 24/d' "${scriptsDir}/integrationTestExecute.sh" sed_ie '/#BSUB -W 5:00/d' "${scriptsDir}/integrationTestExecute.sh" sed_ie '/#BSUB -o lsf-%J.txt/d' "${scriptsDir}/integrationTestExecute.sh" sed_ie \ '/#BSUB -R "rusage\[mem=90GB\] span\[ptile=1\] select\[mem < 2TB\]"/d' \ "${scriptsDir}/integrationTestExecute.sh" sed_ie \ "/#BSUB -a 'docker(registry\.gsc\.wustl\.edu\/sleong\/esm\:intel\-2021\.1\.2)'/d" \ "${scriptsDir}/integrationTestExecute.sh" # Replace "REQUESTED_PARTITION" with the partition name sed_ie "${sedPartitionCmd}" "${scriptsDir}/integrationTestCompile.sh" sed_ie "${sedPartitionCmd}" "${scriptsDir}/integrationTestExecute.sh" # Submit compilation tests script output=$(sbatch ${scriptsDir}/integrationTestCompile.sh "${quick}") output=($output) cmpId=${output[3]} # Submit execution tests script as a job dependency output=$(sbatch --dependency=afterok:${cmpId} ${scriptsDir}/integrationTestExecute.sh) output=($output) exeId=${output[3]} echo "" echo "Compilation tests submitted as SLURM job ${cmpId}" echo "Execution tests submitted as SLURM job ${exeId}" elif [[ "x${testsToRun}" == "xALL" && "x${site}" == "xCOMPUTE1" ]]; then #------------------------------------------------------------------------- # Compilation and execution tests on WashU Compute1 (via LSF) #------------------------------------------------------------------------- # Remove SLURM #SBATCH tags sed_ie '/#SBATCH -c 8/d' "${scriptsDir}/integrationTestCompile.sh" sed_ie '/#SBATCH -N 1/d' "${scriptsDir}/integrationTestCompile.sh" sed_ie '/#SBATCH -t 0-2:30/d' "${scriptsDir}/integrationTestCompile.sh" sed_ie '/#SBATCH -p REQUESTED_PARTITION/d' "${scriptsDir}/integrationTestCompile.sh" sed_ie '/#SBATCH --mem=8000/d' "${scriptsDir}/integrationTestCompile.sh" sed_ie '/#SBATCH -p REQUESTED_PARTITION/d' "${scriptsDir}/integrationTestCompile.sh" sed_ie '/#SBATCH --mail-type=END/d' "${scriptsDir}/integrationTestCompile.sh" sed_ie '/#SBATCH -n 24/d' "${scriptsDir}/integrationTestExecute.sh" sed_ie '/#SBATCH -N 1/d' "${scriptsDir}/integrationTestExecute.sh" sed_ie '/#SBATCH -c 1/d' "${scriptsDir}/integrationTestExecute.sh" sed_ie '/#SBATCH -t 0-5:00/d' "${scriptsDir}/integrationTestExecute.sh" sed_ie '/#SBATCH -p REQUESTED_PARTITION/d' "${scriptsDir}/integrationTestExecute.sh" sed_ie '/#SBATCH --mem=90000/d' "${scriptsDir}/integrationTestExecute.sh" sed_ie '/#SBATCH --mail-type=END/d' "${scriptsDir}/integrationTestExecute.sh" # Replace "REQUESTED_PARTITION" with the partition name sed_ie "${sedPartitionCmd}" "${scriptsDir}/integrationTestCompile.sh" sed_ie "${sedPartitionCmd}" "${scriptsDir}/integrationTestExecute.sh" # Submit compilation tests script output=$(bsub ${scriptsDir}/integrationTestCompile.sh "${quick}") output=($output) cmpId=${output[1]} cmpId=${cmpId/<} cmpId=${cmpId/>} # Submit execution tests script as a job dependency output=$(bsub -w "exit(${cmpId},0)" ${scriptsDir}/integrationTestExecute.sh) output=($output) exeId=${output[1]} exeId=${exeId/<} exeId=${exeId/>} echo "" echo "Compilation tests submitted as LSF job ${cmpId}" echo "Execution tests submitted as LSF job ${exeId}" else #------------------------------------------------------------------------- # Exit with error #------------------------------------------------------------------------- echo "" echo "ERROR! Invalid choice of arguments!" echo "${usage}" exit 1 fi # Change back to this directory cd "${thisDir}" #============================================================================= # Cleanup and quit #============================================================================= # Free local variables unset cmpId unset envFile unset exeId unset itRoot unset logsDir unset quick unset output unset scheduler unset scriptsDir unset thisDir # Free imported variables unset FILL unset SEP_MAJOR unset SEP_MINOR unset CMP_PASS_STR unset CMP_FAIL_STR unset EXE_PASS_STR unset EXE_FAIL_STR #EOC ================================================ FILE: test/integration/GCHP/integrationTestCompile.sh ================================================ #!/bin/bash #SBATCH -c 8 #SBATCH -N 1 #SBATCH -t 0-2:30 #SBATCH -p REQUESTED_PARTITION #SBATCH --mem=6000 #SBATCH --mail-type=END #BSUB -q REQUESTED_PARTITION #BSUB -n 8 #BSUB -W 2:30 #BSUB -R "rusage[mem=8GB] span[ptile=1] select[mem < 1TB]" #BSUB -a 'docker(registry.gsc.wustl.edu/sleong/esm:intel-2021.1.2)' #BSUB -o lsf-%J.txt #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !MODULE: integrationTestCompile.sh # # !DESCRIPTION: Runs compilation tests on various GCHP # run directories (using the SLURM scheduler). #\\ #\\ # !CALLING SEQUENCE: # ./integrationTestCompile.sh # Interactive command-line execution # bsub integrationTestCompile.sh # Execution via LSF # sbatch integrationTestCompile.sh # Execution via SLURM #EOP #------------------------------------------------------------------------------ #BOC #============================================================================= # Arguments #============================================================================= # Run a short integration test? quick="${1}" #============================================================================ # Global variable and function definitions #============================================================================ # This script starts executing 1 level lower than $itRoot itRoot=$(cd ..; pwd) # Include global variables & functions . "${itRoot}/scripts/commonFunctionsForTests.sh" # Create local convenience variables binDir="${itRoot}/${BIN_DIR}" buildDir="${itRoot}/${BUILD_DIR}" envDir="${itRoot}/${ENV_DIR}" codeDir="${itRoot}/CodeDir" logsDir="${itRoot}/${LOGS_DIR}" scriptsDir="${itRoot}/${SCRIPTS_DIR}" site=$(get_site_name) # Load the user-environment and the software environment . ~/.bashrc > /dev/null 2>&1 [[ "X${site}" == "XCANNON" ]] && . ${envDir}/gchp.env > /dev/null 2>&1 # All integration tests will use debugging features baseOptions="-DCMAKE_BUILD_TYPE=Debug -DRUNDIR='' -DINSTALLCOPY=${binDir}" # Site-specific settings if [[ "X${site}" == "XCANNON" && "X${SLURM_JOBID}" != "X" ]]; then #---------------------------------- # SLURM settings (Harvard Cannon) #---------------------------------- # Set OMP_NUM_THREADS to the same # of cores requested with #SBATCH -c export OMP_NUM_THREADS=${SLURM_CPUS_PER_TASK} elif [[ "X${site}" == "XCOMPUTE1" && "X${LSB_JOBID}" != "X" ]]; then #---------------------------------- # LSF settings (WashU Compute1) #---------------------------------- # Set OMP_NUM_THREADS to the same # of cores requested with #BSUB -n export OMP_NUM_THREADS=${LSB_DJOB_NUMPROC} else #---------------------------------- # Interactive settings #---------------------------------- # For AWS, set $OMP_NUM_THREADS to the available cores kernel=$(uname -r) [[ "X${kernel}" == "Xaws" ]] && export OMP_NUM_THREADS=$(nproc) fi # Sanity check: Set OMP_NUM_THREADS to 6 if it is not set # (this may happen when running interactively) [[ "x${OMP_NUM_THREADS}" == "x" ]] && export OMP_NUM_THREADS=6 # Sanity check: Max out the OMP_STACKSIZE if it is not set [[ "x${OMP_STACKSIZE}" == "x" ]] && export OMP_STACKSIZE=500m # Only create necessary executables if $quick is "yes" if [[ "X${quick}" == "XYES" ]]; then EXE_LIST=("default" "carbon") else EXE_LIST=("${EXE_GCHP_BUILD_LIST[@]}") fi # Count the number of tests to be done numTests=${#EXE_LIST[@]} #============================================================================ # Initialize results logfile #============================================================================ # Results logfile name results="${logsDir}/results.compile.log" rm -f "${results}" # Print header to results log file print_to_log "${SEP_MAJOR}" "${results}" print_to_log "GCHP: Compilation Test Results" "${results}" print_to_log "" "${results}" print_submodule_head_commits "14" "${codeDir}" "${results}" print_to_log "" "${results}" print_to_log "Number of compilation tests: ${numTests}" "${results}" print_to_log "" "${results}" if [[ "X${SLURM_JOBID}" != "X" ]]; then print_to_log "Submitted as SLURM job: ${SLURM_JOBID}" "${results}" elif [[ "X${LSB_JOBID}" != "X" ]]; then print_to_log "Submitted as LSF job: ${LSB_JOBID}" "${results}" else print_to_log "Submitted as interactive job" "${results}" fi print_to_log "${SEP_MAJOR}" "${results}" #============================================================================ # Configure and compile code in each GEOS_Chem run directory #============================================================================ print_to_log " " "${results}" print_to_log "Compiliation tests:" "${results}" print_to_log "${SEP_MINOR}" "${results}" # Change to the top-level build directory cd "${itRoot}" # Keep track of the number of tests that passed & failed let passed=0 let failed=0 let remain=${numTests} # Loop over build directories for dir in ${EXE_LIST[@]}; do # Define build directory thisBuildDir="${buildDir}/${dir}" # Define log file log="${logsDir}/compile.${dir}.log" rm -f "${log}" # Configure and build GEOS-Chem source code # and increment pass/fail/remain counters build_model "gchp" "${itRoot}" "${thisBuildDir}" \ "${baseOptions}" "${log}" "${results}" if [[ $? -eq 0 ]]; then let passed++ else let failed++ fi let remain-- done #============================================================================ # Check the number of simulations that have passed #============================================================================ # Print summary to log print_to_log " " "${results}" print_to_log "Summary of compilation test results:" "${results}" print_to_log "${SEP_MINOR}" "${results}" print_to_log "Complilation tests passed: ${passed}" "${results}" print_to_log "Complilation tests failed: ${failed}" "${results}" print_to_log "Complilation tests not completed: ${remain}" "${results}" # Check if all tests passed if [[ "x${passed}" == "x${numTests}" ]]; then #--------------------------- # Successful compilation #--------------------------- print_to_log "" "${results}" print_to_log "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" "${results}" print_to_log "%%% All compilation tests passed! %%%" "${results}" print_to_log "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" "${results}" # Run execution tests interactively # (This job has already been submitted as a dependency in SLURM/LSF) if [[ "X${SLURM_JOBID}" == "X" && "x${LSB_JOBID}" == "X" ]]; then echo "" echo "Compilation tests finished!" ${scriptsDir}/integrationTestExecute.sh & fi else #--------------------------- # Unsuccessful compilation #--------------------------- if [[ "X${SLURM_JOBID}" == "X" && "x${LSB_JOBID}" == "X" ]]; then echo "" echo "Compilation tests failed! Exiting..." fi fi #============================================================================ # Cleanup and quit #============================================================================ # Free local variables unset baseOptions unset binDir unset buildDir unset codeDir unset failed unset dir unset envDir unset head_gcc unset head_gc unset head_hco unset itRoot unset kernel unset log unset logsDir unset numTests unset passed unset remain unset results unset scriptsDir unset scheduler # Free imported variables unset FILL unset SEP_MAJOR unset SEP_MINOR unset CMP_PASS_STR unset CMP_FAIL_STR unset EXE_PASS_STR unset EXE_FAIL_STR #EOC ================================================ FILE: test/integration/GCHP/integrationTestCreate.sh ================================================ #!/bin/bash #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !MODULE: integrationTestCreate.sh # # !DESCRIPTION: Creates GCHP integration test run directories in a # user-specified root folder, and copies a run script there. #\\ #\\ # !CALLING SEQUENCE: # ./integrationTestCreate.sh /path/to/root /path/to/env-file tests-to-run # ./integrationTestCreate.sh /path/to/root /path/to/env-file tests-to-run quick=1 #EOP #------------------------------------------------------------------------------ #BOC #============================================================================= # Load common functions #============================================================================= # Current directory thisDir=$(pwd -P) cd "${thisDir}" # Path to the test/shared folder in source code sharedDir=$(realpath "${thisDir}/../../shared") # Source the script containing utility functions and variables commonFuncs="${sharedDir}/commonFunctionsForTests.sh" . "${commonFuncs}" #============================================================================= # Parse input arguments #============================================================================= # Integration test root folder itRoot="${1}" if [[ "x${itRoot}" == "x" ]]; then echo "ERROR: The root-level directory for tests has not been specified!" exit 1 fi # Environment file (for Harvard Cannon only) site=$(get_site_name) envFile="${2}" if [[ "X${site}" == "XCANNON" ]]; then [[ "X${envFile}" == "X" ]] && envFile=$(get_default_gchp_env_file) if [[ ! -f ${envFile} ]]; then echo "ERROR: The enviroment file is not a valid file!" exit 1 fi fi # Type of tests to run? testsToRun="${3}" # Run a short integration test? quick="${4}" #============================================================================= # Global variable and function definitions #============================================================================= # GCClassic superproject directory cd ../../../../../../../ superProjectDir=$(pwd -P) cd "${superProjectDir}" # GEOS-Chem and HEMCO submodule directories geosChemDir="${superProjectDir}/src/GCHP_GridComp/GEOSChem_GridComp/geos-chem" # Echo header printf "${SEP_MAJOR}\n" printf "Creating GCHP Integration Tests\n\n" print_submodule_head_commits "14" "${superProjectDir}" "" printf "${SEP_MAJOR}\n" #============================================================================= # Create integration test folder and subdirectories #============================================================================= # Create integration test root folder if it doesn't exist itRoot=$(absolute_path "${itRoot}") [[ ! -d "${itRoot}" ]] && mkdir -p "${itRoot}" # Create local convenience variables binDir="${itRoot}/${BIN_DIR}" buildDir="${itRoot}/${BUILD_DIR}" envDir="${itRoot}/${ENV_DIR}" execDir="${itRoot}/${EXEC_DIR}" logsDir="${itRoot}/${LOGS_DIR}" scriptsDir="${itRoot}/${SCRIPTS_DIR}" rundirsDir="${itRoot}/${RUNDIRS_DIR}" utilsDir="${itRoot}/${UTILS_DIR}" # Get absolute path of the environment file envFile=$(absolute_path "${envFile}") # Remove run directories in the test folder cleanup_files "${itRoot}" # Subdir for CMake builds (note: will create ${itRoot} printf "\nCreating CMake build directories:\n" for dir in ${EXE_GCC_BUILD_LIST[@]}; do printf " ... ${buildDir}/${dir}\n" mkdir -p "${buildDir}/${dir}" done # Subdir for executables printf "\nCreating exe files directory ${binDir}\n" mkdir -p "${binDir}" # Subdir for env files (for Harvard Cannon only) if [[ "X${site}" == "XCANNON" ]]; then printf "Creating env files directory ${envDir}\n" mkdir -p "${envDir}" fi # Subdir for log files printf "Creating logs directory ${logsDir}\n" mkdir -p "${logsDir}" # Subdir for scripts printf "Creating scripts directory ${scriptsDir}\n" mkdir -p "${scriptsDir}" # Subdir for run directories if [[ "x${testsToRun}" == "xALL" ]]; then printf "Creating rundirs directory ${rundirsDir}\n" mkdir -p "${rundirsDir}" fi # Create a symbolic link to the code from the Integration Test root folder printf "Linking to superproject ${itRoot}/CodeDir\n" ln -s "${superProjectDir}" ${itRoot}/CodeDir #============================================================================= # Copy files to the proper folders #============================================================================= printf "\nCopying run scripts to ${scriptsDir}\n" cp -f ${thisDir}/integration*.sh ${scriptsDir} cp -f ${commonFuncs} ${scriptsDir} cp -f ${thisDir}/README.md ${scriptsDir} cp -f ${thisDir}/README.testroot.md ${itRoot}/README.md if [[ "X${site}" == "XCANNON" ]]; then # Copy Cannon environment file cp -f ${envFile} ${envDir}/gchp.env # Copy Cannon utility scripts printf "Copying utility scripts to ${utilsDir}\n" cp -fR ${sharedDir}/utils/cannon/integrationTest ${utilsDir} elif [[ "X${site}" == "XCOMPUTE1" ]]; then # Copy Compute1 utility scripts printf "Copying utility scripts to ${utilsDir}\n" cp -fR ${sharedDir}/utils/compute1/integrationTest ${utilsDir} # Force scripts to be executable (Compute1 resets permissions) chmod 755 -R ${scriptsDir} chmod 755 -R ${utilsDir} fi # Log file with echoback from rundir creation log="${logsDir}/createIntegrationTests.log" #============================================================================= # Don't create run directories for compile-only tests. #============================================================================= if [[ "X${testsToRun}" == "XALL" ]]; then # Switch to folder where rundir creation scripts live cd "${geosChemDir}/run/GCHP" #========================================================================= # Create the GCHP run directories #========================================================================= printf "\nCreating new run directories:\n" # c24 geosfp TransportTracers create_rundir "2\n1\n${rundirsDir}\n\nn\n" "${log}" # c24 merra2 carbon create_rundir "3\n1\n1\n${rundirsDir}\n\nn\n" "${log}" # c24 merra2 carbon CH4 only create_rundir "3\n2\n1\n${rundirsDir}\n\nn\n" "${log}" # c24 merra2 carbon CO2 only create_rundir "3\n3\n1\n${rundirsDir}\n\nn\n" "${log}" # c24 merra2 carbon CO only create_rundir "3\n4\n1\n${rundirsDir}\n\nn\n" "${log}" # c24 merra2 carbon OCS only create_rundir "3\n5\n1\n${rundirsDir}\n\nn\n" "${log}" # c24 merra2 tagO3 create_rundir "4\n1\n${rundirsDir}\n\nn\n" "${log}" # Exit after creating a couple of rundirs if $quick is "yes" if [[ "X${quick}" == "XYES" ]]; then cd ${thisDir} exit 0 fi # c24 merra2 fullchem_standard create_rundir "1\n1\n1\n${rundirsDir}\n\nn\nn\n" "${log}" # c24 merra2 fullchem_benchmark create_rundir "1\n2\n1\n${rundirsDir}\n\nn\nn\n" "${log}" # c24 merra2 fullchem_RRTMG create_rundir "1\n8\n1\n${rundirsDir}\n\nn\nn\n" "${log}" # c24 merra2 fullchem_TOMAS15 create_rundir "1\n6\n1\n1\n${rundirsDir}\n\nn\nn\n" "${log}" #========================================================================= # Simulation with all diagnostics on #========================================================================== # Copy the fullchem_benchmark rundir to fullchem_alldiags echo "... ${itRoot}/rundirs/gchp_merra2_fullchem_alldiags" cd "${rundirsDir}" cp -r gchp_merra2_fullchem_benchmark gchp_merra2_fullchem_alldiags # Turn on all collections except RRTMG, DynHeat, Tomas. # Make sure to activate these in the RRTMG and TOMAS integration tests. # Also note; there is a floating point error in the UVFlux diagnostic, # so temporarily comment that out. sed_ie "s|#'|'|" gchp_merra2_fullchem_alldiags/HISTORY.rc sed_ie "s|#'|'|" gchp_merra2_fullchem_alldiags/HISTORY.rc sed_ie "s|'RRTMG'|#'RRTMG'|" gchp_merra2_fullchem_alldiags/HISTORY.rc sed_ie "s|'Tomas'|#'Tomas'|" gchp_merra2_fullchem_alldiags/HISTORY.rc sed_ie "s|'DynHeat|#'DynHeat|" gchp_merra2_fullchem_alldiags/HISTORY.rc # Disable the KppTime diagnostic (time spent in integrator) as # this will vary due to local conditions on the cluster/node sed_ie "s|'KppTime|#'KppTime|" gchp_merra2_fullchem_alldiags/HISTORY.rc # Switch back to the present directory cd "${thisDir}" fi #============================================================================= # Cleanup and quit #============================================================================= # Free local variables unset binDir unset buildDir unset commonFuncs unset dir unset envDir unset geosChemDir unset itRoot unset log unset logsDir unset rundirsDir unset superProjectDir unset scriptsDir unset sharedDir unset thisDir unset utilsDir # Free imported variables unset FILL unset SEP_MAJOR unset SEP_MINOR unset CMP_PASS_STR unset CMP_FAIL_STR unset EXE_PASS_STR unset EXE_FAIL_STR #EOC ================================================ FILE: test/integration/GCHP/integrationTestExecute.sh ================================================ #!/bin/bash #SBATCH -n 24 #SBATCH -N 1 #SBATCH -c 1 #SBATCH -t 0-5:00 #SBATCH -p REQUESTED_PARTITION #SBATCH --mem=150000 #SBATCH --mail-type=END #BSUB -q REQUESTED_PARTITION #BSUB -n 24 #BSUB -W 5:00 #BSUB -R "rusage[mem=90GB] span[ptile=1] select[mem < 2TB]" #BSUB -a 'docker(registry.gsc.wustl.edu/sleong/esm:intel-2021.1.2)' #BSUB -o lsf-%J.txt #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !MODULE: integrationTestExecute.sh # # !DESCRIPTION: Runs execution tests on various GEOS-Chem Classic # run directories (interactively or using a scheduler) #\\ #\\ # !CALLING SEQUENCE: # ./integrationTestExecute.sh # Interactive command-line execution # bsub integrationTestExecute.sh # Execution via LSF # sbatch integrationTestExecute.sh # Execution via SLURM #EOP #------------------------------------------------------------------------------ #BOC #============================================================================ # Global variable and function definitions #============================================================================ # This script starts executing 1 level lower than $itRoot itRoot=$(cd ..; pwd) # Include global variables & functions . "${itRoot}/scripts/commonFunctionsForTests.sh" # Create local convenience variables binDir="${itRoot}/${BIN_DIR}" envDir="${itRoot}/${ENV_DIR}" codeDir="${itRoot}/CodeDir" logsDir="${itRoot}/${LOGS_DIR}" rundirsDir="${itRoot}/${RUNDIRS_DIR}" site=$(get_site_name) # Load the environment and the software environment . ~/.bashrc > /dev/null 2>&1 [[ "X${site}" == "XCANNON" ]] && . ${envDir}/gchp.env > /dev/null 2>&1 # Site-specific settings if [[ "X${site}" == "XCANNON" && "X${SLURM_JOBID}" != "X" ]]; then #---------------------------------- # SLURM settings (Harvard Cannon) #---------------------------------- # Set OMP_NUM_THREADS to the same # of cores requested with #SBATCH -c export OMP_NUM_THREADS=${SLURM_CPUS_PER_TASK} elif [[ "X${site}" == "XCOMPUTE1" && "X${LSB_JOBID}" != "X" ]]; then #--------------------------------- # LSF settings (WashU Compute1) #--------------------------------- # Set OMP_NUM_THREADS to the same # of cores requested with #BSUB -n export OMP_NUM_THREADS=${LSB_DJOB_NUMPROC} # Unlimit resources to prevent OS killing GCHP due to resource usage/ # Alternatively you can put this in your environment file. ulimit -c 0 # coredumpsize ulimit -l unlimited # memorylocked ulimit -u 50000 # maxproc ulimit -v unlimited # vmemoryuse ulimit -s unlimited # stacksize else #--------------------------------- # Interactive settings #--------------------------------- echo "" echo "Execution tests running..." # For AWS, set $OMP_NUM_THREADS to the available cores kernel=$(uname -r) [[ "X${kernel}" == "Xaws" ]] && export OMP_NUM_THREADS=$(nproc) fi # Sanity check: Set OMP_NUM_THREADS to 6 if it is not set # (this may happen when running interactively) [[ "x${OMP_NUM_THREADS}" == "x" ]] && export OMP_NUM_THREADS=6 # Sanity check: Max out the OMP_STACKSIZE if it is not set [[ "x${OMP_STACKSIZE}" == "x" ]] && export OMP_STACKSIZE=500m # Count the number of tests to be run (same as the # of run directories) numTests=$(count_rundirs "${rundirsDir}") #============================================================================ # Initialize results logfile #============================================================================ # Results logfile name results="${logsDir}/results.execute.log" rm -f "${results}" # Print header to results log file print_to_log "${SEP_MAJOR}" "${results}" print_to_log "GCHP: Execution Test Results" "${results}" print_to_log "" "${results}" print_submodule_head_commits "14" "${codeDir}" "${results}" print_to_log "" "${results}" print_to_log "Number of execution tests: ${numTests}" "${results}" print_to_log "" "${results}" if [[ "X${SLURM_JOBID}" != "X" ]]; then print_to_log "Submitted as SLURM job: ${SLURM_JOBID}" "${results}" elif [[ "X${LSB_JOBID}" == "XCOMPUTE1" ]]; then print_to_log "Submitted as LSF job: ${LSB_JOBID}" "${results}" else print_to_log "Submitted as interactive job" "${results}" fi print_to_log "${SEP_MAJOR}" "${results}" #============================================================================ # Run the GEOS-Chem executable in each GEOS-Chem run directory #============================================================================ print_to_log " " "${results}" print_to_log "Execution tests:" "${results}" print_to_log "${SEP_MINOR}" "${results}" # Keep track of the number of tests that passed & failed let passed=0 let failed=0 let remain=${numTests} # Navigate to the directory containing individiual run directories cd "${rundirsDir}" # Loop over rundirs and run GEOS-Chem for runDir in *; do # Expand rundir to absolute path runAbsPath="${rundirsDir}/${runDir}" # Do the following if for only valid GCHP run dirs expr=$(is_gchp_rundir "${runAbsPath}") if [[ "x${expr}" == "xTRUE" ]]; then # Define log file log="${logsDir}/execute.${runDir}.log" rm -f "${log}" # Messages for execution pass & fail passMsg="$runDir${FILL:${#runDir}}.....${EXE_PASS_STR}" failMsg="$runDir${FILL:${#runDir}}.....${EXE_FAIL_STR}" # Get the executable file corresponding to this run directory exeFile=$(exe_name "gchp" "${runDir}") # Test if the executable exists if [[ -f "${binDir}/${exeFile}" ]]; then #---------------------------------------------------------------- # If the executable file exists, we can do the test #---------------------------------------------------------------- # Change to the run directory cd "${runAbsPath}" # Copy the executable file here cp "${binDir}/${exeFile}" . # Update to make sure the run directory is executable # on Compute1. We will later replace this test with # a test on the site name instead of on the scheduler. # TODO: Test on name rather than scheduler if [[ "X${site}" == "XCOMPUTE1" ]]; then chmod 755 -R "${runAbsPath}" fi # Remove any leftover files in the run dir ./cleanRunDir.sh --no-interactive >> "${log}" 2>&1 # Also reset cap_restart to 00:00:00 UTC, # in case we are restarting the tests maually sed_ie 's/ ....00/ 000000/g' cap_restart # Link to the environment file ./setEnvironmentLink.sh "${envDir}/gchp.env" # Update config files, set links, load environment, sanity checks . setCommonRunSettings.sh >> "${log}" 2>&1 . setRestartLink.sh >> "${log}" 2>&1 . gchp.env >> "${log}" 2>&1 . checkRunSettings.sh >> "${log}" 2>&1 # For safety's sake, remove restarts that weren't renamed for rst in Restarts; do if [[ "${rst}" =~ "gcchem_internal_checkpoint" ]]; then rm -f "${rst}" fi done # Run GCHP and evenly distribute tasks across nodes if [[ "X${site}" == "XCANNON" && "X${SLURM_JOBID}" != "X" ]]; then #--------------------------------------------- # Executing GCHP on SLURM (Harvard Cannon) #--------------------------------------------- # Compute parameters for srun # See the gchp.run script in the folder: # runScriptSamples/operational_examples/harvard_cannon NX=$(grep NX GCHP.rc | awk '{print $2}') NY=$(grep NY GCHP.rc | awk '{print $2}') coreCt=$(( ${NX} * ${NY} )) planeCt=$(( ${coreCt} / ${SLURM_NNODES} )) if [[ $(( ${coreCt} % ${SLURM_NNODES} )) > 0 ]]; then planeCt=$(( ${planeCt} + 1 )) fi # Execute GCHP with srun srun -n ${coreCt} -N ${SLURM_NNODES} -m plane=${planeCt} \ --mpi=pmix ./${exeFile} >> "${log}" 2>&1 elif [[ "X${scheduler}" == "xLSF" && "X${LSB_JOBID}" != "X" ]]; then #--------------------------------------------- # Executing GCHP on LSF (WashU Compute1) #--------------------------------------------- mpiexec -n 24 ./${exeFile} > "${log}" 2>&1 else #--------------------------------------------- # Executing GCHP interactively #--------------------------------------------- mpirun -n 24 ./${exeFile} >> "${log}" 2>&1 fi # Determine if pass or fail based on if timer info printed to allPEs.log timerReport=$(grep "MAPL.profiler.*All" allPEs.log || echo "missing") # Update pass/failed counts and write to results.log if [[ "${timerReport}" != "missing" ]]; then # TimerReport is not missing. Test passed. let passed++ print_to_log "${passMsg}" "${results}" # ... so also rename the end-of-run restart file new_start_str=$(sed 's/ /_/g' cap_restart) N=$(grep "CS_RES=" setCommonRunSettings.sh | cut -c 8- | xargs ) mv Restarts/gcchem_internal_checkpoint \ Restarts/GEOSChem.Restart.${new_start_str:0:13}z.c${N}.nc4 else # TimerReport is missing. Test failed. let failed++ print_to_log "${failMsg}" "${results}" fi # Change to root directory for next iteration cd "${rundirsDir}" else #---------------------------------------------------------------- # If the executable is missing, update the "fail" counter # and write the "failed" message to the results log file. #---------------------------------------------------------------- let failed++ print_to_log "${failMsg}" "${results}" fi # Decrement the count of remaining tests let remain-- fi done #============================================================================ # Check the number of simulations that have passed #============================================================================ # Print summary to log print_to_log " " ${results} print_to_log "Summary of test results:" ${results} print_to_log "${SEP_MINOR}" ${results} print_to_log "Execution tests passed: ${passed}" ${results} print_to_log "Execution tests failed: ${failed}" ${results} print_to_log "Execution tests not yet completed: ${remain}" ${results} # Check if all tests passed if [[ "X${passed}" == "X${numTests}" ]]; then print_to_log "" ${results} print_to_log "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" ${results} print_to_log "%%% All execution tests passed! %%%" ${results} print_to_log "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" ${results} # Print success (if interactive) if [[ "X${SLURM_JOBID}" == "X" && "X${LSB_JOBID}" == "X" ]]; then echo "" echo "Execution tests finished!" fi else #-------------------------- # Unsuccessful execution #-------------------------- if [[ "X${SLURM_JOBID}" == "X" && "X${LSB_JOBID}" == "X" ]]; then echo "" echo "Execution tests failed! Exiting ..." fi fi #============================================================================ # Cleanup and quit #============================================================================ # Free local variables unset absRunPath unset binDir unset codeDir unset envDir unset coreCt unset exeFile unset failed unset failmsg unset head_gchp unset head_gc unset head_hco unset itRoot unset log unset logsDir unset numTests unset NX unset NY unset passed unset passMsg unset planeCt unset remain unset results unset rundirsDir unset scheduler # Free imported global variables unset FILL unset LINE unset CMP_PASS_STR unset CMP_FAIL_STR unset EXE_PASS_STR unset EXE_FAIL_STR #EOC ================================================ FILE: test/integration/README.md ================================================ # README for Integration Tests ## Contents `GCClassic/` - Directory containing scripts for running GEOS-Chem Classic integration tests. `GCHP/` - Directory containing scripts for running GCHP integration tests. ================================================ FILE: test/parallel/GCClassic/README.md ================================================ # README for GEOS-Chem Classic Parallelization Tests ## Overview: This directory contains: 1. Scripts to submit automated GEOS-Chem Classic parallelization tests, which will test the following processes: - GEOS-Chem Classic run directory creation - GEOS-Chem Classic code configuration and compilation - GEOS-Chem Classic execution Parallelization tests are short GEOS-Chem Classic simulations. Executables are compiled with all debugging options. This should reveal any coding errors or run-directory configuration errors. ## Files ### Parallelization Test Scripts - `parallelTest.sh` - Driver script to run GEOS-Chem Classic parallelization tests - `parallelTestCreate.sh` - Script to create GEOS-Chem Classic run directories for parallelization tests - `parallelTestCompile.sh` - Script to compile GEOS-Chem Classic executables - `parallelTestExecute.sh` - Script to run GEOS-Chem Classic parallelization test simulations ### Shared Scripts - `commonFunctionsForTests.sh` - Link to `../../shared/commonFunctionsForTests.sh`, which contains global variables and functions for the parallelization and parallelization tests. ## Before you begin Please take a moment to: 1. Verify that the `GCClassic` superproject is checked out to the correct branch and commit. 2. Run `git submodule update --init --recursive` in order to update all submodules. 3. Verify that the `HEAD` commit of the `GEOS-Chem` submodule contains the code that you wish to test. (If not, then check out the proper branch.) 4. Verify that the `HEAD` commit of the `HEMCO` submodule contains the code that you wish to test. (If not, then check out the proper branch.) ## Command-line Arguments The parallelization test scripts accept the following command-line arguments: ### Required arguments `-d /path/to/test/dir` specifies the root directory where parallelization test subdirectories and scripts will be placed. `-t compile|all` specifies the type of test to be run: - `compile` will run compilation-only tests. - `all` will run compilation and execution tests. ### Optional arguments `-e /path/to/env-file` Specifies the file that is used to initialize the software environment on the Harvard Cannon cluster. If omitted, a default file will be selected. `-h` displays a help screeen. `-q` will run only a couple of parallelization tests instead of the full suite. This is intended for development and debugging. You will normally not need to use this option. You can also use long names for the option switches: - `--directory` instead of `-d` - `--env-file` instead of `-e` - `--help` instead of `h` - `--tests-to-run` instead of `-t` ## Examples ### Request compile-only tests on Cannon or Compute1 ```console $ cd /path/to/GCClassic # Path to GCClassic superproject directory $ cd test/parallel/GCClassic $ ./parallelTest.sh -d /path/to/test/dir -t compile ``` ### Request compile and execution tests (Harvard Cannon) ```console $ cd /path/to/GCClassic # Path to GCClassic superproject directory $ cd test/parallel/GCClassic $ ./parallelTest.sh -d /path/to/test/dir -t all -e /path/to/env-file ``` NOTE: If you omit the `-e /path/to/env/file` a default environment file will be used to load GNU Compiler Collection 10 and related libraries. ### Request compile & execution tests (WashU compute1) ```console $ cd /path/to/GCClassic # Path to GCClassic superproject directory $ cd test/parallel/GCClassic $ ./parallelTest.sh -d /path/to/test/dir -t all ``` NOTE: No environment file is needed. On Compute1 the tests will run inside a software container with all necessary libraries included. ================================================ FILE: test/parallel/GCClassic/README.testroot.md ================================================ # README for GEOS-Chem Classic Parallelization Tests ## Directories Components of GEOS-Chem Classic parallelization tests have been separated into these directories: `bin` - Contains GEOS-Chem Classic executable files `build` - Directories for building GEOS-Chem Classic executables `CodeDir` - Symbolic link to the `GCClassic` superproject directory `env` - Contains an environment file that loads the required libraries needed to run GEOS-Chem Classic. `logs` - Contains log files from the parallelization tests. - `results.compile.log`: Results of GEOS-Chem Classic compilation tests. - `results.parallel.log`: Results of GEOS-Chem Classic parallel tests. - `compile.*.log`: Output of individual compilation tests - `parallel.*.log`: Output of individual parallel tests - `lsf-*.txt`: LSF scheduler job logs - `slurm*.out`: SLURM scheduler job logs `rundirs` - Contains individual GEOS-Chem Classic run directories. `scripts` - Contains scripts that are used for running the GEOS-Chem Classic parallelization tests. These are copied from the `test/GCClassic/parallel` folder of the GEOS-Chem "science codebase" repository. ## For more information Please see the `scripts/README.md` file for detailed instructions on running GEOS-Chem Classic parallelization tests. ================================================ FILE: test/parallel/GCClassic/parallelTest.sh ================================================ #!/bin/bash #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !MODULE: parallelTest.sh # # !DESCRIPTION: Runs parallelization tests on the various GEOS-Chem Classic # run directories (interactively, or with a scheduler). #\\ #\\ # !CALLING SEQUENCE: # ./parallelTest.sh -d root-dir -t compile|all [-e env-file] [-h] [-q] # # Required arguments # -d root-dir : Specify the root folder for integration tests # -t compile|all : Specify the tests to run (compile-only or all) # # Optional arguments # -e env-file : Software environment file for Harvard Cannon # -h : Display a help message # -n : Do not bootstrap missing restart file variables # -q : Run a quick set of integration tests (for testing) # # NOTE: you can also use the following long name options: # # --directory (instead of -d) # --env-file (instead of -e) # --help (instead of -h) # --no-bootstrap (instead of -n) # --quick (instead of -q) # --tests-to-run (instead of -t) #EOP #------------------------------------------------------------------------------ #BOC #============================================================================= # Throw error if there is a conda environment active with netCDF, # which can cause the code to be linked against the wrong netCDF version. #============================================================================= if [[ -n "$CONDA_DEFAULT_ENV" || \ "$(which nc-config 2>/dev/null)" == *conda* ]]; then echo "ERROR: Conda netCDF detected. Run 'conda deactivate' first." exit 1 fi #============================================================================= # Initialize #============================================================================= this="$(basename ${0})" usage="Usage: ${this} -d root-dir -t compile|all [-e env-file] [-h] [-q]" quick="NO" # Current directory thisDir=$(pwd -P) cd "${thisDir}" # Load common functions . "${thisDir}/../../shared/commonFunctionsForTests.sh" #============================================================================= # Parse command-line arguments # See https://www.baeldung.com/linux/bash-parse-command-line-arguments #============================================================================= # Call Linux getopt function to specify short & long input options # (e.g. -d or --directory, etc). Exit if not succesful validArgs=$(getopt --options d:e:hqt: \ --long directory:,env-file:,help,quick,tests-to-run: -- "$@") if [[ $? -ne 0 ]]; then exit 1; fi # Parse arguments and set variables accordingly # NOTE: Convert some inputs to uppercase to facilitate comparisons eval set -- "${validArgs}" while [ : ]; do case "${1}" in # -d or --directory specifies the root folder for tests -d | --directory) ptRoot="${2}" shift 2 ;; # -e or --env-file specifies the environment file -e | --env-file) envFile="${2}" shift 2 ;; # -h or --help prints a help message -h | --help) echo "$usage" exit 1 ;; # -q or --quick runs a quick set of parallelization tests (for testing) -q | --quick) quick="YES" shift ;; # -t or --tests-to-run specifies the type of tests to run -t | --tests-to-run) testsToRun="${2^^}" shift 2 ;; --) shift; break ;; esac done #============================================================================= # Sanity-check user input #============================================================================= # Get the site name from the node name site=$(get_site_name) # Error check integration tests root path if [[ "X${ptRoot}" == "X" ]]; then echo "ERROR: The parallelization test root directory has not been specified!" echo "${usage}" exit 1 fi # Error check the type of tests to run if [[ "X${testsToRun}" == "X" ]]; then echo "ERROR: You must specify the test type: compile|all" echo "${usage}" exit 1 fi if [[ "X${testsToRun}" != "XCOMPILE" && "X${testsToRun}" != "XALL" ]]; then echo "ERROR: Invalid selction for tests-to-run, must be: compile|all" echo "${usage}" exit 1 fi # Error checks for tests that include compile & run phases if [[ "X${testsToRun}" == "XALL" ]]; then # Use the default environment file for Cannon if not specified if [[ "X${site}" == "XCANNON" && "X${envFile}" == "X" ]]; then envFile=$(get_default_gcc_env_file) fi # Get the sed command that will replace the partition name sedPartitionCmd=$(get_sed_partition_cmd_from_site "${site}") fi #============================================================================= # Create parallelization test directories in the root folder #============================================================================= # Convert parallelization test root folder to an absolute path ptRoot=$(absolute_path "${ptRoot}") # Prevent running integration tests in the source code directory tree if [[ "$(absolute_path ${thisDir})" =~ "${ptRoot}" ]]; then echo "ERROR: You cannot run parallel tests in the source code directory!" exit 1 fi # Create GEOS-Chem run directories in the parallelization test root folder ./parallelTestCreate.sh "${ptRoot}" "${envFile}" "${testsToRun}" "${quick}" if [[ $? -ne 0 ]]; then echo "ERROR: Could not create parallelization test run directories!" exit 1 fi # Change to the parallelization test root folder if [[ -d ${ptRoot} ]]; then cd "${ptRoot}" else echo "ERROR: ${ptRoot} is not a valid directory! Exiting..." exit 1 fi # Define local convenience variables logsDir="${ptRoot}/${LOGS_DIR}" scriptsDir="${ptRoot}/${SCRIPTS_DIR}" # Navigate to the logs directory (so all output will be placed there) cd "${logsDir}" #============================================================================= # Run the tests #============================================================================= if [[ "X${testsToRun}" == "XCOMPILE" ]]; then #------------------------------------------------------------------------- # Compilation-only tests (scheduler is not used) #------------------------------------------------------------------------- echo "" echo "Compiliation tests are running..." ${scriptsDir}/parallelTestCompile.sh & elif [[ "X${testsToRun}" == "XALL" && "X${site}" == "XCANNON" ]]; then #------------------------------------------------------------------------- # Compilation and execution tests on Harvard Cannon (via SLURM) #------------------------------------------------------------------------- # Remove LSF #BSUB tags sed_ie '/#BSUB -q REQUESTED_PARTITION/d' "${scriptsDir}/parallelTestCompile.sh" sed_ie '/#BSUB -n 8/d' "${scriptsDir}/parallelTestCompile.sh" sed_ie '/#BSUB -W 0:30/d' "${scriptsDir}/parallelTestCompile.sh" sed_ie '/#BSUB -o lsf-%J.txt/d' "${scriptsDir}/parallelTestCompile.sh" sed_ie \ '/#BSUB -R "rusage\[mem=8GB\] span\[ptile=1\] select\[mem < 1TB\]"/d' \ "${scriptsDir}/parallelTestCompile.sh" sed_ie \ "/#BSUB -a 'docker(registry\.gsc\.wustl\.edu\/sleong\/esm\:intel\-2021\.1\.2)'/d" \ "${scriptsDir}/parallelTestCompile.sh" sed_ie '/#BSUB -q REQUESTED_PARTITION/d' "${scriptsDir}/parallelTestExecute.sh" sed_ie '/#BSUB -n 24/d' "${scriptsDir}/parallelTestExecute.sh" sed_ie '/#BSUB -W 6:00/d' "${scriptsDir}/parallelTestExecute.sh" sed_ie '/#BSUB -o lsf-%J.txt/d' "${scriptsDir}/parallelTestExecute.sh" sed_ie \ '/#BSUB -R "rusage\[mem=90GB\] span\[ptile=1\] select\[mem < 2TB\]"/d' \ "${scriptsDir}/parallelTestExecute.sh" sed_ie \ "/#BSUB -a 'docker(registry\.gsc\.wustl\.edu\/sleong\/esm\:intel\-2021\.1\.2)'/d" \ "${scriptsDir}/parallelTestExecute.sh" # Replace "REQUESTED_PARTITION" with the partition name sed_ie "${sedPartitionCmd}" "${scriptsDir}/parallelTestCompile.sh" sed_ie "${sedPartitionCmd}" "${scriptsDir}/parallelTestExecute.sh" # Submit compilation tests script output=$(sbatch ${scriptsDir}/parallelTestCompile.sh) output=($output) cmpId=${output[3]} # Submit execution tests script as a job dependency output=$(sbatch --dependency=afterok:${cmpId} ${scriptsDir}/parallelTestExecute.sh) output=($output) exeId=${output[3]} echo "" echo "Compilation tests submitted as SLURM job ${cmpId}" echo "Execution tests submitted as SLURM job ${exeId}" elif [[ "X${testsToRun}" == "XALL" && "X${site}" == "XCOMPUTE1" ]]; then #------------------------------------------------------------------------- # Compilation and execution tests on WashU Compute1 (via LSF) #------------------------------------------------------------------------- # Remove SLURM #SBATCH tags sed_ie '/#SBATCH -c 8/d' "${scriptsDir}/parallelTestCompile.sh" sed_ie '/#SBATCH -N 1/d' "${scriptsDir}/parallelTestCompile.sh" sed_ie '/#SBATCH -t 0-0:30/d' "${scriptsDir}/parallelTestCompile.sh" sed_ie '/#SBATCH -p REQUESTED_PARTITION/d' "${scriptsDir}/parallelTestCompile.sh" sed_ie '/#SBATCH --mem=8000/d' "${scriptsDir}/parallelTestCompile.sh" sed_ie '/#SBATCH -p REQUESTED_PARTITION/d' "${scriptsDir}/parallelTestCompile.sh" sed_ie '/#SBATCH --mail-type=END/d' "${scriptsDir}/parallelTestCompile.sh" sed_ie '/#SBATCH -c 24/d' "${scriptsDir}/parallelTestExecute.sh" sed_ie '/#SBATCH -N 1/d' "${scriptsDir}/parallelTestExecute.sh" sed_ie '/#SBATCH -t 0-6:00/d' "${scriptsDir}/parallelTestExecute.sh" sed_ie '/#SBATCH -p REQUESTED_PARTITION/d' "${scriptsDir}/parallelTestExecute.sh" sed_ie '/#SBATCH --mem=90000/d' "${scriptsDir}/parallelTestExecute.sh" sed_ie '/#SBATCH --mail-type=END/d' "${scriptsDir}/parallelTestExecute.sh" # Replace "REQUESTED_PARTITION" with the partition name sed_ie "${sedPartitionCmd}" "${scriptsDir}/parallelTestCompile.sh" sed_ie "${sedPartitionCmd}" "${scriptsDir}/parallelTestExecute.sh" # Submit compilation tests script output=$(bsub $scriptsDir}/parallelTestCompile.sh) output=($output) cmpId=${output[1]} cmpId=${cmpId/<} cmpId=${cmpId/>} # Submit execution tests script as a job dependency output=$(bsub -w "exit(${cmpId},0)" ${scriptsDir}/parallelTestExecute.sh) output=($output) exeId=${output[1]} exeId=${exeId/<} exeId=${exeId/>} else #------------------------------------------------------------------------- # Exit with error #------------------------------------------------------------------------- echo "" echo "ERROR! Invalid choice of arguments!" echo "${usage}" exit 1 fi # Change back to this directory cd "${thisDir}" #============================================================================= # Cleanup and quit #============================================================================= # Free local variables unset cmpId unset envFile unset exeId unset logsDir unset ptRoot unset quick unset output unset scheduler unset scriptsDir unset thisDir # Free imported variables unset FILL unset SEP_MAJOR unset SEP_MINOR unset CMP_PASS_STR unset CMP_FAIL_STR unset EXE_PASS_STR unset EXE_FAIL_STR #EOC ================================================ FILE: test/parallel/GCClassic/parallelTestCompile.sh ================================================ #!/bin/bash #SBATCH -c 8 #SBATCH -N 1 #SBATCH -t 0-0:30 #SBATCH -p REQUESTED_PARTITION #SBATCH --mem=8000 #SBATCH --mail-type=END #BSUB -q REQUESTED_PARTITION #BSUB -n 8 #BSUB -W 0:30 #BSUB -R "rusage[mem=8GB] span[ptile=1] select[mem < 1TB]" #BSUB -a 'docker(registry.gsc.wustl.edu/sleong/esm:intel-2021.1.2)' #BSUB -o lsf-%J.txt #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !MODULE: parallelTestCompile.sh # # !DESCRIPTION: Runs compilation tests on various GEOS-Chem Classic # run directories (interactively or using a scheduler). #\\ #\\ # !CALLING SEQUENCE: # ./parallelTestCompile.sh # Interactive command-line execution # bsub parallelTestCompile.sh # Execution via LSF # sbatch parallelTestCompile.sh # Execution via SLURM #EOP #------------------------------------------------------------------------------ #BOC #============================================================================ # Global variable and function definitions #============================================================================ # This script starts executing 1 level lower than $itRoot ptRoot=$(cd ..; pwd) # Include global variables & functions . "${ptRoot}/scripts/commonFunctionsForTests.sh" # Create local convenience variables binDir="${ptRoot}/${BIN_DIR}" buildDir="${ptRoot}/${BUILD_DIR}" envDir="${ptRoot}/${ENV_DIR}" codeDir="${ptRoot}/CodeDir" logsDir="${ptRoot}/${LOGS_DIR}" scriptsDir="${ptRoot}/${SCRIPTS_DIR}" site=$(get_site_name) # Load the user-environment and the software environment . ~/.bashrc > /dev/null 2>&1 [[ "X${site}" == "XCANNON" ]] && . ${envDir}/gcclassic.env > /dev/null 2>&1 # All parallelization tests will use debugging features baseOptions="-DCMAKE_BUILD_TYPE=Debug -DRUNDIR='' -DINSTALLCOPY=${binDir}" # Get the Git commit of the superproject and submodules head_gcc=$(export GIT_DISCOVERY_ACROSS_FILESYSTEM=1; \ git -C "${codeDir}" log --oneline --no-decorate -1) head_gc=$(export GIT_DISCOVERY_ACROSS_FILESYSTEM=1; \ git -C "${codeDir}/src/GEOS-Chem" log --oneline --no-decorate -1) head_hco=$(export GIT_DISCOVERY_ACROSS_FILESYSTEM=1; \ git -C "${codeDir}/src/HEMCO" log --oneline --no-decorate -1) # Scheduler-specific settings if [[ "X${SLURM_JOBID}" != "X" ]]; then #----------------------- # SLURM settings #----------------------- # Set OMP_NUM_THREADS to the same # of cores requested with #SBATCH -c export OMP_NUM_THREADS=${SLURM_CPUS_PER_TASK} elif [[ "X${LSB_JOBID}" != "X" ]]; then #----------------------- # LSF settings #----------------------- # Set OMP_NUM_THREADS to the same # of cores requested with #BSUB -n export OMP_NUM_THREADS=${$LSB_DJOB_NUMPROC} else #----------------------- # Interactive settings #----------------------- # For AWS, set $OMP_NUM_THREADS to the available cores kernel=$(uname -r) [[ "x${kernel}" == "xaws" ]] && export OMP_NUM_THREADS=$(nproc) fi # Sanity check: Set OMP_NUM_THREADS to 6 if it is not set # (this may happen when running interactively) [[ "x${OMP_NUM_THREADS}" == "x" ]] && export OMP_NUM_THREADS=6 # Sanity check: Max out the OMP_STACKSIZE if it is not set [[ "x${OMP_STACKSIZE}" == "x" ]] && export OMP_STACKSIZE=500m #============================================================================ # Load common variables and functions for tesets #============================================================================ # Count the number of tests to be done parallelTests=("${EXE_GCC_BUILD_LIST[@]}") numTests=${#parallelTests[@]} #============================================================================ # Initialize results logfile #============================================================================ # Results logfile name results="${logsDir}/results.compile.log" rm -f ${results} # Print header to results log file print_to_log "${SEP_MAJOR}" "${results}" print_to_log "GEOS-Chem Classic: Compilation Test Results" "${results}" print_to_log "" "${results}" print_to_log "GCClassic #${head_gcc}" "${results}" print_to_log "GEOS-Chem #${head_gc}" "${results}" print_to_log "HEMCO #${head_hco}" "${results}" print_to_log "" "${results}" print_to_log "Using ${OMP_NUM_THREADS} OpenMP threads" "${results}" print_to_log "Number of compilation tests: ${numTests}" "${results}" print_to_log "" "${results}" if [[ "X${SLURM_JOBID}" != "X" ]]; then print_to_log "Submitted as SLURM job: ${SLURM_JOBID}" "${results}" elif [[ "X${LSB_JOBID}" != "X" ]]; then print_to_log "Submitted as LSF job: ${LSB_JOBID}" "${results}" else print_to_log "Submitted as interactive job" "${results}" fi print_to_log "${SEP_MAJOR}" "${results}" #============================================================================ # Configure and compile code in each GEOS_Chem run directory #============================================================================ print_to_log " " "${results}" print_to_log "Compiliation tests:" "${results}" print_to_log "${SEP_MINOR}" "${results}" # Change to the top-level build directory cd "${ptRoot}" # Keep track of the number of tests that passed & failed let passed=0 let failed=0 let remain=${numTests} # Loop over build directories for dir in ${parallelTests[@]}; do # Define build directory thisBuildDir="${buildDir}/${dir}" # Define log file log="${logsDir}/compile.${dir}.log" rm -f "${log}" # Configure and build GEOS-Chem Classic source code # and increment pass/fail/remain counters build_model "gcclassic" "${ptRoot}" "${thisBuildDir}" \ "${baseOptions}" "${log}" "${results}" if [[ $? -eq 0 ]]; then let passed++ else let failed++ fi let remain-- done #============================================================================ # Check the number of simulations that have passed #============================================================================ # Print summary to log print_to_log " " "${results}" print_to_log "Summary of compilation test results:" "${results}" print_to_log "${SEP_MINOR}" "${results}" print_to_log "Complilation tests passed: ${passed}" "${results}" print_to_log "Complilation tests failed: ${failed}" "${results}" print_to_log "Complilation tests not completed: ${remain}" "${results}" # Check for success if [[ "x${passed}" == "x${numTests}" ]]; then #-------------------------- # Successful compilation #-------------------------- print_to_log "" "${results}" print_to_log "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" "${results}" print_to_log "%%% All compilation tests passed! %%%" "${results}" print_to_log "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" "${results}" # Start the interactive execution test script upon successful finish if [[ "X${SLURM_JOBID}" == "X" && "x${LSB_JOBID}" == "X" ]]; then echo "" echo "Compilation tests finished!" ${scriptsDir}/parallelTestExecute.sh & fi else #--------------------------- # Unsuccessful compilation #--------------------------- if [[ "X${SLURM_JOBID}" == "X" && "x${LSB_JOBID}" == "X" ]]; then echo "" echo "Compilation tests failed! Exiting..." fi fi #============================================================================ # Cleanup and quit #============================================================================ # Free local variables unset baseOptions unset binDir unset buildDir unset codeDir unset failed unset dir unset envDir unset head_gcc unset head_gc unset head_hco unset kernel unset log unset numTests unset passed unset ptRoot unset remain unset results unset scriptsDir unset scheduler # Free imported variables unset FILL unset SEP_MAJOR unset SEP_MINOR unset CMP_PASS_STR unset CMP_FAIL_STR unset EXE_PASS_STR unset EXE_FAIL_STR #EOC ================================================ FILE: test/parallel/GCClassic/parallelTestCreate.sh ================================================ #!/bin/bash #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !MODULE: paralleltestCreate.sh # # !DESCRIPTION: Creates parallelization test run directories in a # user-specified root folder, and copies a run script there. #\\ #\\ # !CALLING SEQUENCE: # ./paralleltestCreate.sh /path/to/int/test/root /path/to/env-file # ./paralleltestCreate.sh /path/to/int/test/root /path/to/env-file quick=1 #EOP #------------------------------------------------------------------------------ #BOC #============================================================================= # Load common functions #============================================================================= # Current directory thisDir=$(pwd -P) cd "${thisDir}" # Path to the test/shared folder in source code sharedDir=$(realpath "${thisDir}/../../shared") # Source the script containing utility functions and variables commonFuncs="${sharedDir}/commonFunctionsForTests.sh" . "${commonFuncs}" #============================================================================= # Arguments #============================================================================= # Parallelization test root folder ptRoot="${1}" if [[ "X${ptRoot}" == "X" ]]; then echo "ERROR: The root-level directory for tests has not been specified!" exit 1 fi # Environment file (for Harvard Cannon only) site=$(get_site_name) envFile="${2}" if [[ "X${site}" == "XCANNON" ]]; then [[ "X${envFile}" == "X" ]] && envFile=$(get_default_gcc_env_file) if [[ ! -f ${envFile} ]]; then echo "ERROR: The enviroment file is not a valid file!" exit 1 fi fi # Type of tests to run? testsToRun="${3}" # Run a short parallelization test? quick="${4}" #============================================================================= # Global variable and function definitions #============================================================================= # GCClassic superproject directory cd ../../../../../ superProjectDir=$(pwd -P) cd ${superProjectDir} # GEOS-Chem and HEMCO submodule directories geosChemDir="${superProjectDir}/src/GEOS-Chem" hemcoDir="${superProjectDir}/src/HEMCO" # Get the Git commit of the superproject and submodules head_gcc=$(export GIT_DISCOVERY_ACROSS_FILESYSTEM=1; \ git -C "${superProjectDir}" log --oneline --no-decorate -1) head_gc=$(export GIT_DISCOVERY_ACROSS_FILESYSTEM=1; \ git -C "${geosChemDir}" log --oneline --no-decorate -1) head_hco=$(export GIT_DISCOVERY_ACROSS_FILESYSTEM=1; \ git -C "${hemcoDir}" log --oneline --no-decorate -1) # Echo header printf "${SEP_MAJOR}\n" printf "Creating GEOS-Chem Classic Parallelization Tests\n\n" printf "GCClassic #${head_gcc}\n" printf "GEOS_Chem #${head_gc}\n" printf "HEMCO #${head_hco}\n" printf "${SEP_MAJOR}\n" #============================================================================= # Create integration test folder and subdirectories #============================================================================= # Create parallelization test root folder if it doesn't exist ptRoot=$(absolute_path "${ptRoot}") [[ ! -d "${ptRoot}" ]] && mkdir -p "${ptRoot}" # Create local convenience variables binDir="${ptRoot}/${BIN_DIR}" buildDir="${ptRoot}/${BUILD_DIR}" envDir="${ptRoot}/${ENV_DIR}" execDir="${ptRoot}/${EXEC_DIR}" logsDir="${ptRoot}/${LOGS_DIR}" scriptsDir="${ptRoot}/${SCRIPTS_DIR}" rundirsDir="${ptRoot}/${RUNDIRS_DIR}" utilsDir="${ptRoot}/${UTILS_DIR}" # Remove everything in the parallelization test root folder cleanup_files "${ptRoot}" # Subdir for CMake builds (note: will create ${itRoot} printf "\nCreating CMake build directories:\n" for dir in ${EXE_GCC_BUILD_LIST[@]}; do printf " ... ${buildDir}/${dir}\n" mkdir -p "${buildDir}/${dir}" done # Subdir for executables printf "\nCreating exe files directory ${binDir}\n" mkdir -p "${binDir}" # Subdir for env files (for Harvard Cannon only) if [[ "X${site}" == "XCANNON" ]]; then printf "Creating env files directory ${envDir}\n" mkdir -p "${envDir}" fi # Subdir for log files printf "Creating logs directory ${logsDir}\n" mkdir -p "${logsDir}" # Subdir for scripts printf "Creating scripts directory ${scriptsDir}\n" mkdir -p "${scriptsDir}" # Subdir for run directories if [[ "x${testsToRun}" == "xALL" ]]; then printf "Creating rundirs directory ${rundirsDir}\n" mkdir -p "${rundirsDir}" fi # Create a symbolic link to the code from the Integration Test root folder printf "Linking to superproject ${ptRoot}/CodeDir\n" ln -s "${superProjectDir}" ${ptRoot}/CodeDir #============================================================================= # Copy files to the proper folders #============================================================================= printf "\nCopying run scripts to ${ptRoot}\n" cp -f ${thisDir}/parallelTest*.sh ${scriptsDir} cp -f ${commonFuncs} ${scriptsDir} cp -f ${thisDir}/README.md ${scriptsDir} cp -f ${thisDir}/README.testroot.md ${ptRoot}/README.md if [[ "X${site}" == "XCANNON" ]]; then # Copy Cannon environment file cp -f ${envFile} ${envDir}/gcclassic.env # Copy Cannon utility scripts printf "Copying utility scripts to ${utilsDir}\n" cp -fR ${sharedDir}/utils/cannon/parallelTest ${utilsDir} elif [[ "X${site}" == "XCOMPUTE1" ]]; then # Copy Compute1 utility scripts printf "Copying utility scripts to ${utilsDir}\n" cp -fR ${sharedDir}/utils/compute1/parallelTest ${utilsDir} # Force scripts to be executable (Compute1 resets permissions) chmod 755 -R ${scriptsDir} chmod 755 -R ${utilsDir} fi # Log file with echoback from rundir creation log="${logsDir}/createParallelTests.log" #============================================================================= # Don't create run directories for compile-only tests. #============================================================================= if [[ "X${testsToRun}" == "XALL" ]]; then # Switch to folder where rundir creation scripts live cd "${geosChemDir}/run/GCClassic" #========================================================================= # Create individual run directories: 4x5 - MERRA2 - 72L #========================================================================= printf "\nCreating new run directories:\n" # 4x5 merra2 aerosol create_rundir "2\n1\n1\n1\n${rundirsDir}\n\nn\n" "${log}" #4x5 merra2 carbon create_rundir "3\n1\n1\n1\n1\n${rundirsDir}\n\nn\n" "${log}" # 4x5 merra2 fullchem create_rundir "1\n1\n1\n1\n1\n${rundirsDir}\n\nn\nn\n" "${log}" # DEBUG: Exit after creating a couple of rundirs if $quick is "yes" if [[ "X${quick}" == "XYES" ]]; then cd ${thisDir} exit 0 fi # 4x5 merra2 fullchem_LuoWd dir="gc_4x5_merra2_fullchem_LuoWd" create_rundir "1\n1\n1\n1\n1\n${rundirsDir}\n${dir}\nn\nn\n" "${log}" # 4x5 merra2 fullchem_aciduptake create_rundir "1\n5\n1\n1\n1\n${rundirsDir}\n\nn\nn\n" "${log}" # 4x5 merra2 fullchem_APM create_rundir "1\n7\n1\n1\n1\n${rundirsDir}\n\nn\nn\n" "${log}" # 4x5 merra2 fullchem_benchmark create_rundir "1\n2\n1\n1\n1\n${rundirsDir}\n\nn\nn\n" "${log}" # 4x5 merra2 fullchem_complexSOA create_rundir "1\n3\n1\n1\n1\n1\n${rundirsDir}\n\nn\nn\nn\n" "${log}" # 4x5 merra2 fullchem_complexSOA_SVPOA create_rundir "1\n3\n2\n1\n1\n1\n${rundirsDir}\n\nn\nn\n" "${log}" # 4x5 merra2 fullchem_marinePOA create_rundir "1\n4\n1\n1\n1\n${rundirsDir}\n\nn\nn\n" "${log}" # 4x5 merra2 fullchem_RRTMG create_rundir "1\n8\n1\n1\n1\n${rundirsDir}\n\nn\nn\n" "${log}" # 4x5 merra2 fullchem_TOMAS15_47L create_rundir "1\n6\n1\n1\n1\n2\n${rundirsDir}\n\nn\nn\n" "${log}" # 4x5 merra2 Hg create_rundir "4\n1\n1\n1\n${rundirsDir}\n\nn\n" "${log}" # 4x5 merra2 POPs_BaP create_rundir "5\n1\n1\n1\n1\n${rundirsDir}\n\nn\n" "${log}" # 4x5 merra2 tagO3 create_rundir "6\n1\n1\n1\n${rundirsDir}\n\nn\n" "${log}" # 4x5 merra2 TransportTracers create_rundir "7\n1\n1\n1\n${rundirsDir}\n\nn\n" "${log}" # 4x5 merra2 TransportTracers_LuoWd dir="gc_4x5_merra2_TransportTracers_LuoWd" create_rundir "7\n1\n1\n1\n${rundirsDir}\n${dir}\nn\n" "${log}" # 4x5 merra2 metals" create_rundir "8\n1\n1\n1\n${rundirsDir}\n\nn\n" "${log}" #========================================================================= # Create individual run directories: 4x5 and 47L (MERRA2) #========================================================================= # 4x5 merra2 fullchem_47L" create_rundir "1\n1\n1\n1\n2\n${rundirsDir}\n\nn\nn\n" "${log}" fi # Switch back to the present directory cd "${thisDir}" #============================================================================= # Cleanup and quit #============================================================================= # Free local variables unset binDir unset buildDir unset commonFuncs unset dir unset envDir unset geosChemDir unset log unset logsDir unset ptRoot unset rundirsDir unset scriptsDir unset sharedDir unset superProjectDir unset thisDir unset utilsDir # Free imported variables unset FILL unset SEP_MAJOR unset SEP_MINOR unset CMP_PASS_STR unset CMP_FAIL_STR unset EXE_PASS_STR unset EXE_FAIL_STR #EOC ================================================ FILE: test/parallel/GCClassic/parallelTestExecute.sh ================================================ #!/bin/bash #SBATCH -c 24 #SBATCH -N 1 #SBATCH -t 0-6:00 #SBATCH -p REQUESTED_PARTITION #SBATCH --mem=90000 #SBATCH --mail-type=END #BSUB -q REQUESTED_PARTITION #BSUB -n 24 #BSUB -W 6:00 #BSUB -R "rusage[mem=90GB] span[ptile=1] select[mem < 2TB]" #BSUB -a 'docker(registry.gsc.wustl.edu/sleong/esm:intel-2021.1.2)' #BSUB -o lsf-%J.txt #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !MODULE: parallelTestExecute.sh # # !DESCRIPTION: Runs execution tests on various GEOS-Chem Classic # run directories (using the SLURM scheduler). #\\ #\\ # !CALLING SEQUENCE: # ./parallelTestExecute.sh # Interactive command-line execution # bsub parallelTestExecute.sh # Execution via LSF # sbatch parallelTestExecute.sh # Execution via SLURM #EOP #------------------------------------------------------------------------------ #BOC #============================================================================ # Global variable and function definitions #============================================================================ # This script starts executing 1 level lower than $itRoot ptRoot=$(cd ..; pwd) # Include global variables & functions . "${ptRoot}/scripts/commonFunctionsForTests.sh" # Create local convenience variables binDir="${ptRoot}/${BIN_DIR}" envDir="${ptRoot}/${ENV_DIR}" codeDir="${ptRoot}/CodeDir" logsDir="${ptRoot}/${LOGS_DIR}" rundirsDir="${ptRoot}/${RUNDIRS_DIR}" numTests=$(count_rundirs "${rundirsDir}") site=$(get_site_name) # Load the environment and the software environment . ~/.bashrc > /dev/null 2>&1 [[ "X${site}" == "XCANNON" ]] && . ${envDir}/gcclassic.env > /dev/null 2>&1 # Get the Git commit of the superproject and submodules head_gcc=$(export GIT_DISCOVERY_ACROSS_FILESYSTEM=1; \ git -C "${codeDir}" log --oneline --no-decorate -1) head_gc=$(export GIT_DISCOVERY_ACROSS_FILESYSTEM=1; \ git -C "${codeDir}/src/GEOS-Chem" log --oneline --no-decorate -1) head_hco=$(export GIT_DISCOVERY_ACROSS_FILESYSTEM=1; \ git -C "${codeDir}/src/HEMCO" log --oneline --no-decorate -1) # Site-specific settings if [[ "X${site}" == "XCANNON" && "X${SLURM_JOBID}" != "X" ]]; then # SLURM export allThreads=${SLURM_CPUS_PER_TASK} elif [[ "X${site}" == "XCOMPUTE1" && "X${LSB_JOBID}" != "X" ]]; then # LSF export allThreads=${LSB_DJOB_NUMPROC} else # Interactive echo "" echo "Parallelization tests running..." allThreads=8 # For AWS, set $OMP_NUM_THREADS to the available cores kernel=$(uname -r) [[ "x${kernel}" == "xaws" ]] && export allThreads=$(nproc) fi # Number of cores fore the 2nd run (cannot be a divisor of ALL_CORES) fewerThreads=$(( ${allThreads} / 2 )) [[ $(( ${fewerThreads} % 2 )) -eq 0 ]] && let fewerThreads+=1 # Sanity check: Max out the OMP_STACKSIZE if it is not set [[ "x${OMP_STACKSIZE}" == "x" ]] && export OMP_STACKSIZE=500m #============================================================================ # Initialize results logfile #============================================================================ # Results logfile name results="${logsDir}/results.parallel.log" rm -f "${results}" # Print header to results log file print_to_log "${SEP_MAJOR}" "${results}" print_to_log "GEOS-Chem Classic: Parallelization Test Results" "${results}" print_to_log "" "${results}" print_to_log "GCClassic #${head_gcc}" "${results}" print_to_log "GEOS-Chem #${head_gc}" "${results}" print_to_log "HEMCO #${head_hco}" "${results}" print_to_log "" "${results}" print_to_log "1st run uses ${allThreads} OpenMP threads" "${results}" print_to_log "2nd run uses ${fewerThreads} OpenMP threads" "${results}" print_to_log "Number of parallelization tests: ${numTests}" "${results}" print_to_log "" "${results}" if [[ "X${SLURM_JOBID}" != "X" ]]; then print_to_log "Submitted as SLURM job: ${SLURM_JOBID}" "${results}" elif [[ "X${LSB_JOBID}" != "X" ]]; then print_to_log "Submitted as LSF job: ${LSB_JOBID}" "${results}" else print_to_log "Submitted as interactive job" "${results}" fi print_to_log "${SEP_MAJOR}" "${results}" #============================================================================ # Run the GEOS-Chem executable in each GEOS-Chem run directory #============================================================================ print_to_log " " "${results}" print_to_log "Parallelization tests:" "${results}" print_to_log "${SEP_MINOR}" "${results}" # Keep track of the number of tests that passed & failed let passed=0 let failed=0 let remain=${numTests} # Navigate to the directory containing individiual run directories cd "${rundirsDir}" # Loop over rundirs and run GEOS-Chem for runDir in *; do # Expand to absolute path runAbsPath="${rundirsDir}/${runDir}" # Do the following if for only valid GEOS-Chem run dirs expr=$(is_valid_rundir "${runAbsPath}") if [[ "X${expr}" == "XTRUE" ]]; then # Define log file log="${logsDir}/parallel.${runDir}.log" rm -f "${log}" # Messages for execution pass & fail passMsg="$runDir${FILL:${#runDir}}.....${EXE_PASS_STR}" failMsg="$runDir${FILL:${#runDir}}.....${EXE_FAIL_STR}" # Get the executable file corresponding to this run directory exeFile=$(exe_name "gcclassic" "${runDir}") # Test if the executable exists if [[ -f "${binDir}/${exeFile}" ]]; then #---------------------------------------------------------------- # If the executable file exists, we can do the tests #---------------------------------------------------------------- # Change to this run directory cd "${runAbsPath}" # Copy the executable file here cp -f "${binDir}/${exeFile}" . # Remove any leftover files in the run dir ./cleanRunDir.sh --no-interactive >> "${log}" 2>&1 # Change time cycle flag in HEMCO_Config.rc from EFYO to CYS, # to allow missing species to be set a default value. sed_ie "s/EFYO/CYS/" HEMCO_Config.rc # GC_RESTART sed_ie "s/EFY xyz 1/CYS xyz 1/" HEMCO_Config.rc # GC_BCs #---------------------------------------------------------------- # First test: Use all available threads #---------------------------------------------------------------- # Run GEOS-Chem Classic export OMP_NUM_THREADS=${allThreads} echo "Now using ${OMP_NUM_THREADS}" >> "${log}" 2>&1 if [[ "X${site}" == "XCANNON" && "X${SLURM_JOBID}" != "X" ]]; then srun -c ${allThreads} ./${exeFile} >> "${log}" 2>&1 else ./${exeFile} >> "${log}" 2>&1 fi # Rename the end-of-run restart file rename_end_restart_file "${allThreads}" # Clean the run directory ./cleanRunDir.sh --no-interactive >> "${log}" 2>&1 #---------------------------------------------------------------- # Second test: Use fewer cores #---------------------------------------------------------------- # Run GEOS-Chem Classic export OMP_NUM_THREADS=${fewerThreads} echo "Now using ${OMP_NUM_THREADS}" >> "${log}" 2>&1 if [[ "X${site}" == "XCANNON" && "X${SLURM_JOBID}" != "X" ]]; then srun -c ${fewerThreads} ./${exeFile} >> "${log}" 2>&1 else ./${exeFile} >> "${log}" 2>&1 fi # Rename the end-of-run restart file rename_end_restart_file "${fewerThreads}" #---------------------------------------------------------------- # Score the test #---------------------------------------------------------------- score_parallelization_test "${allThreads}" "${fewerThreads}" if [[ $? -eq 0 ]]; then let passed++ print_to_log "${passMsg}" "${results}" else let failed++ print_to_log "${failMsg}" "${results}" fi # Navigate back to the folder containing run directories cd "${rundirsDir}" else #---------------------------------------------------------------- # If the executable is missing, update the "fail" counter # and write the "failed" message to the results log file. #---------------------------------------------------------------- let failed++ if [[ "x${results}" != "x" ]]; then print_to_log "${failMsg}" "${results}" fi fi # Decrement the count of remaining tests let remain-- fi done #============================================================================ # Check the number of simulations that have passed #============================================================================ # Print summary to log print_to_log " " "${results}" print_to_log "Summary of test results:" "${results}" print_to_log "${SEP_MINOR}" "${results}" print_to_log "Parallelization tests passed: ${passed}" "${results}" print_to_log "Parallelization tests failed: ${failed}" "${results}" print_to_log "Parallelization tests not yet completed: ${remain}" "${results}" # Check for success if [[ "X${passed}" == "X${numTests}" ]]; then #-------------------------- # Successful execution #-------------------------- print_to_log "" "${results}" print_to_log "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" "${results}" print_to_log "%%% All parallelization tests passed! %%%" "${results}" print_to_log "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" "${results}" # Print success (if interactive) if [[ "X${SLURM_JOBID}" == "X" && "X${LSB_JOBID}" == "X" ]]; then echo "" echo "Parallelization tests finished!" fi else #-------------------------- # Unsuccessful execution #-------------------------- if [[ "X${SLURM_JOBID}" == "x" && "x${LSB_JOBID}" == "X" ]]; then echo "" echo "Parallelization tests failed! Exiting ..." fi fi #============================================================================ # Cleanup and quit #============================================================================ # Free local variables unset binDir unset codeDir unset envDir unset exeFile unset failed unset failmsg unset head_gcc unset head_gc unset head_hco unset log unset logsDir unset numTests unset passed unset passMsg unset ptRoot unset remain unset results unset rundirsDir unset scheduler # Free imported global variables unset FILL unset LINE unset CMP_PASS_STR unset CMP_FAIL_STR unset EXE_PASS_STR unset EXE_FAIL_STR #EOC ================================================ FILE: test/parallel/README.md ================================================ # README for Parallelization Tests ## Contents `GCClassic` - Contains scripts for running parallelization tests for GEOS-Chem Classic. ================================================ FILE: test/shared/.gitignore ================================================ *.[oax] *.mod *.MOD *~* *.swp *.bak *.patch *.diff diffs bak misc *.pp.* *.pdb *.inst.* *.continue.* *.ppk *.log bin/* build/ build_*/ *___.h *___.rc core.* ================================================ FILE: test/shared/README.md ================================================ # README: Shared settings and functions for tests ## Contents `commonFunctionsForTests.sh` - Script with common settings and functions that are used by the difference test, integration test, and parallel test scripts located in `../difference`, `../integration`, and `../parallel`, respectively. - The functions and settings in `commonFunctionsForTests.sh` are made available to the various scripts by the command: ```bash . commonFunctionsForTests.sh ``` ================================================ FILE: test/shared/alldiags/Planeflight.dat.20190701 ================================================ Planeflight.dat -- Input file for planeflight diagnostic GCST 29 Jul 2024 ----------------------------------------------------------- 14 <-- # of variables to be output (listed below) ----------------------------------------------------------- TRA_001 TRA_002 O3 OH RO2 AN NOy GMAO_TEMP AODC_SULF AODB_SULF TIME_LT AQAER_RAD AQAER_SURF JVL_001 ----------------------------------------------------------- Now give the times and locations of the flight ----------------------------------------------------------- POINT TYPE DD-MM-YYYY HH:MM LAT LON PRESS OBS 1 DC-8 01-07-2019 00:05 34.39 -95.00 757.33 9999.000 2 DC-8 01-07-2019 00:07 34.53 -95.08 668.89 9999.000 3 DC-8 01-07-2019 00:09 34.70 -95.16 574.40 9999.000 4 DC-8 01-07-2019 00:10 34.86 -95.26 484.89 9999.000 5 DC-8 01-07-2019 00:12 35.03 -95.35 433.15 9999.000 6 DC-8 01-07-2019 00:14 35.21 -95.46 428.34 9999.000 7 DC-8 01-07-2019 00:16 35.39 -95.56 428.38 9999.000 8 DC-8 01-07-2019 00:17 35.57 -95.67 428.47 9999.000 9 DC-8 01-07-2019 00:19 35.75 -95.78 428.47 9999.000 10 DC-8 01-07-2019 00:24 36.34 -95.95 428.52 9999.000 11 DC-8 01-07-2019 00:26 36.53 -95.99 428.31 9999.000 12 DC-8 01-07-2019 00:28 36.73 -96.01 428.36 9999.000 13 DC-8 01-07-2019 00:30 36.93 -96.00 428.75 9999.000 14 DC-8 01-07-2019 00:31 37.09 -96.14 428.42 9999.000 15 DC-8 01-07-2019 00:33 37.25 -96.28 428.45 9999.000 16 DC-8 01-07-2019 00:35 37.41 -96.41 428.55 9999.000 17 DC-8 01-07-2019 00:37 37.57 -96.55 428.55 9999.000 18 DC-8 01-07-2019 00:38 37.72 -96.69 428.50 9999.000 19 DC-8 01-07-2019 00:40 37.88 -96.83 433.37 9999.000 20 DC-8 01-07-2019 00:42 38.02 -96.96 508.21 9999.000 21 DC-8 01-07-2019 00:44 38.16 -97.08 547.75 9999.000 22 DC-8 01-07-2019 00:45 38.29 -97.21 592.62 9999.000 23 DC-8 01-07-2019 00:47 38.38 -97.36 678.79 9999.000 24 DC-8 01-07-2019 00:49 38.46 -97.50 754.43 9999.000 25 DC-8 01-07-2019 00:51 38.53 -97.63 805.60 9999.000 99999 END 00-00-0000 00:00 0.00 0.00 0.00 0.000 ================================================ FILE: test/shared/commonFunctionsForTests.sh ================================================ #!/bin/bash #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !MODULE: commonFunctionsForTests.sh # # !DESCRIPTION: Contains common functions that are used by the test scripts. #\\ #\\ # !REVISION HISTORY: # 03 Nov 2020 - R. Yantosca - Initial version # See the subsequent Git history with the gitk browser! # # !REMARKS: # NOTE: Integration tests and parallelization tests run for 1 hour. # The exceptions are the nested-grid simulation tests, which run for 20 # minutes due to the smaller dynamic timestep. #EOP #------------------------------------------------------------------------------ #BOC # Global variables FILL=$(printf '.%.0s' {1..47}) SEP_MAJOR=$(printf '=%.0s' {1..78}) SEP_MINOR=$(printf '\055%.0s' {1..78}) SED_CONFIG_1='s/end_date: \[20110201, 000000\]/end_date: \[20110101, 010000\]/' SED_CONFIG_2='s/start_date: \[20160101, 000000\]/start_date: \[20190101, 000000\]/' SED_CONFIG_3='s/end_date: \[20160201, 000000\]/end_date: \[20190101, 010000\]/' SED_CONFIG_4='s/end_date: \[20160101, 000000\]/end_date: \[20190101, 010000\]/' SED_CONFIG_5='s/end_date: \[20190201, 000000\]/end_date: \[20190101, 010000\]/' SED_CONFIG_6='s/end_date: \[20190801, 000000\]/end_date: \[20190701, 010000\]/' SED_CONFIG_7='s/end_date: \[20900801, 000000\]/end_date: \[20900701, 002000\]/' SED_CONFIG_N1='s/end_date: \[20190201, 000000\]/end_date: \[20190101, 002000\]/' SED_CONFIG_N2='s/end_date: \[20190801, 000000\]/end_date: \[20190701, 002000\]/' SED_CONFIG_N3='s/end_date: \[20230201, 000000\]/end_date: \[20230101, 002000\]/' SED_HEMCO_CONF_1='s/DiagnFreq: Monthly/DiagnFreq: 00000000 010000/' SED_HEMCO_CONF_2='s/DiagnFreq: Monthly/DiagnFreq: 00000000 002000/' SED_HISTORY_RC_1='s/00000... 0..000/00000000 010000/' SED_HISTORY_RC_N='s/00000... 0..000/00000000 002000/' CMP_PASS_STR='Configure & Build.....PASS' CMP_FAIL_STR='Configure & Build.....FAIL' EXE_PASS_STR='Execute Simulation....PASS' EXE_FAIL_STR='Execute Simulation....FAIL' EXE_TBD_STR='Execute Simulation....TBD' EXE_GCC_BUILD_LIST=("default" "apm" "carbon" "hg" \ "luowd" "rrtmg" "tomas15" ) EXE_GCHP_BUILD_LIST=("default" "carbon" "rrtmg" "tomas15") END_hhmm_1h="0100z.nc4" END_hhmm_20m="0020z.nc4" PAR_TEST_SUFFIX="threads" BIN_DIR="bin" BUILD_DIR="build" ENV_DIR="env" LOGS_DIR="logs" RUNDIRS_DIR="rundirs" SCRIPTS_DIR="scripts" UTILS_DIR="utils" function sed_ie() { #======================================================================== # Replacement for `sed -i -e` that works on both MacOS and Linux # # 1st argument = regular expression # 2nd argument = file to be edited #======================================================================== regex="${1}" file="${2}" if [[ "X$(uname -s)" == "XDarwin" ]]; then sed -i '' -e "${regex}" "${file}" # MacOS/Darwin else sed -i -e "${regex}" "${file}" # GNU/Linux fi } function sed_string() { #======================================================================== # Returns a sed command string to replace a substring in a line of text. # # 1st argument = String of text # 2nd argument = Substring # 3rd argument = Replacement substring #======================================================================== text=${1//\//\\\/} # Replace '/' with '\/' text=${text//\*/\\\*} # Replace '*' with '\*' text=${text//\./\\\.} # Replace '.' with '\.' text=${text//\$/\\\$} # Replace '$' with '\$' newText=${text/"${2}"/"${3}"} # Repace substr w/ replacement str echo "s/${text}/${newText}/" # Create sed command } function absolute_path() { #======================================================================== # Returns the absolute path from a relative path # # 1st argument = relative path #======================================================================== if [[ -d "${1}" ]]; then absPath=$(readlink -f "${1}") # If directory exists, use readlink else absPath="${1/#\~/$HOME}" # Otherwise, replace ~ with $HOME fi echo "${absPath}" } function is_valid_rundir() { #======================================================================== # Function that tests if a file is a valid GEOS-Chem run directory # # 1st argument: File or directory to be tested #======================================================================== if [[ -d "${1}" ]]; then if [[ -f "${1}/geoschem_config.yml" && \ -f "${1}/HEMCO_Config.rc" ]]; then echo "TRUE" return fi fi echo "FALSE" } function is_gchp_rundir() { #======================================================================== # Function that tests if a run directory is a GCHP run directory # # 1st argument: Directory to be tested #======================================================================== expr=$(is_valid_rundir "${1}") if [[ "X${expr}" == "XTRUE" ]]; then if [[ -f "${1}/CAP.rc" ]]; then echo "TRUE" return fi fi echo "FALSE" } function count_rundirs() { #======================================================================== # Returns the number of run directories in the root folder. # # 1st argument: Top-level folder where run directories are created #======================================================================== rundirsDir="${1}" thisDir=$(pwd -P) # Count run directories cd "${rundirsDir}" declare -i x=0 for runDir in *; do expr=$(is_valid_rundir "${runDir}") if [[ "X${expr}" == "XTRUE" ]]; then let x++ fi done cd "${thisDir}" # Cleanup and quit echo $x } function update_gchp_config_files() { #======================================================================== # Returns the number of run directories in the root folder. # # 1st argument: Root directory containing several GC run directories # 2nd argument: Integration test root directory #======================================================================== runPath=$(absolute_path "${1}") # GCHP run dir (abs path) # Edit config file setCommonRunSettings.sh file="${runPath}/setCommonRunSettings.sh" # 24 cores on 1 node sed_ie "s/TOTAL_CORES=.*/TOTAL_CORES=24/" "${file}" sed_ie "s/NUM_NODES=.*/NUM_NODES=1/" "${file}" sed_ie "s/NUM_CORES_PER_NODE=.*/NUM_CORES_PER_NODE=24/" "${file}" # C24 grid resolution sed_ie "s/CS_RES=.*/CS_RES=24/" "${file}" # 1-hr duration sed_ie "s/Run_Duration=\".*/Run_Duration=\"00000000 010000\"/" "${file}" # 1-hr diagnostics sed_ie "s/AutoUpdate_Diagnostics=.*/AutoUpdate_Diagnostics=ON/" "${file}" sed_ie "s/Diag_Monthly=\"1\".*/Diag_Monthly=\"0\"/" "${file}" sed_ie "s/Diag_Frequency=\".*/Diag_Frequency=\"010000\"/" "${file}" sed_ie "s/Diag_Duration=\".*/Diag_Duration=\"010000\"/" "${file}" # Do not require species in restart file sed_ie "s/Require_Species_in_Restart=.*/Require_Species_in_Restart=0/" "${file}" } function update_config_files() { #======================================================================== # Function to replace text in rundir config files # # 1st argument = Integration tests root path # 2nd argument = GEOS-Chem run directory name #======================================================================== runPath=$(absolute_path "${1}") # GEOS-Chem rundir (abs path) #------------------------------------------------------------------------ # Replace text in geoschem_config.yml #------------------------------------------------------------------------ # For nested-grid fullchem runs, change simulation time to 20 minutes # in order to reduce the run time of the whole set of integration tests. if grep -q "05x0625" <<< "${runPath}"; then sed_ie "${SED_CONFIG_N1}" "${runPath}/geoschem_config.yml" sed_ie "${SED_CONFIG_N2}" "${runPath}/geoschem_config.yml" elif grep -q "025x03125" <<< "${runPath}"; then sed_ie "${SED_CONFIG_N1}" "${runPath}/geoschem_config.yml" elif grep -q "0125x015625" <<< "${runPath}"; then sed_ie "${SED_CONFIG_N3}" "${runPath}/geoschem_config.yml" fi # Other text replacements sed_ie "${SED_CONFIG_1}" "${runPath}/geoschem_config.yml" sed_ie "${SED_CONFIG_2}" "${runPath}/geoschem_config.yml" sed_ie "${SED_CONFIG_3}" "${runPath}/geoschem_config.yml" sed_ie "${SED_CONFIG_4}" "${runPath}/geoschem_config.yml" sed_ie "${SED_CONFIG_5}" "${runPath}/geoschem_config.yml" sed_ie "${SED_CONFIG_6}" "${runPath}/geoschem_config.yml" sed_ie "${SED_CONFIG_7}" "${runPath}/geoschem_config.yml" #------------------------------------------------------------------------ # Replace text in HEMCO_Config.rc #------------------------------------------------------------------------ # Update DiagnFreq for nested or global simulations if grep -q "_NA" <<< "${runPath}"; then sed_ie "${SED_HEMCO_CONF_2}" "${runPath}/HEMCO_Config.rc" else sed_ie "${SED_HEMCO_CONF_1}" "${runPath}/HEMCO_Config.rc" fi #------------------------------------------------------------------------ # Replace text in HISTORY.rc #------------------------------------------------------------------------ if grep -q "_NA" <<< "${runPath}"; then # For nested-grid fullchem runs, change frequency and duration # to 20 mins to reduce the run time of the whole set of tests. sed_ie "${SED_HISTORY_RC_N}" "${runPath}/HISTORY.rc" elif grep -q "ModelE2.1" <<< "${runPath}"; then # For ModelE2.1 fullchem runs, change frequency and duration to 20 # mins to reduce the run time of the whole set of integration tests. sed_ie "${SED_HISTORY_RC_N}" "${runPath}/HISTORY.rc" else # Otherwise change frequency & duration to 1 hour sed_ie "${SED_HISTORY_RC_1}" "${runPath}/HISTORY.rc" fi } function create_rundir() { #======================================================================== # Calls createRunDir.sh with appropriate arguments # # 1st argument: Commands to forcefeed into createRunDir.sh # 2nd argument: Log file where stdout & stderr will be redirected # 3rd argument: Integration test root directory # # NOTE: Run directories will be created with default names. #======================================================================== cmd="${1}" # Command for createRunDir.sh log=$(absolute_path "${2}") # Log file for output of createRunDir.sh logTmp="${log}.tmp" # Temporary log file logTmp2="${log}.tmp.tmp" # Temporary log file runPath="" # Path to run directory (abs path) # Create run dir for a short simulation printf "${cmd}" | ./createRunDir.sh > "${logTmp}" 2>&1 # Get the absolute rundir path from the output of createRunDir.sh runPath=$(grep -E "Created" "${logTmp}") runPath=${runPath/Created /} printf " ... ${runPath}\n" # Now concatenate the temporary log into the log file # (Or create the log file if it doesn't yet exist) if [[ -f "${log}" ]]; then cat "${log}" "${logTmp}" >> "${logTmp2}" mv -f "${logTmp2}" "${log}" rm -f "${logTmp}" else mv "${logTmp}" "${log}" fi # Change start & end dates etc. in rundir configuration files update_config_files "${runPath}" # If this is a GCHP run directory, then also replace text in # GCHP-specific rundir configuration files etc. expr=$(is_gchp_rundir "${runPath}") if [[ "X${expr}" == "XTRUE" ]]; then update_gchp_config_files "${runPath}" fi # Remove temporary logs rm -rf "${logTmp} ${logTmp2}" } function cleanup_files() { #======================================================================== # Removes all files and directories in a root folder # # 1st argument = root folder for tests (w/ many rundirs etc) #======================================================================== itRoot="${1}" if [[ "X${itRoot}" != "X" ]]; then # Exit if directory is already empty if [[ ! $(ls -A "${itRoot}") ]]; then echo "${itRoot} is empty... nothing to clean up!" return 0 fi # Give user a chance to avoid removing files printf "\nRemoving files and directories in ${itRoot}:\n" printf "If this is OK, type 'yes to proceed or 'no' to quit:\n" read answer if [[ ! "${answer}" =~ [Yy][Ee][Ss] ]]; then printf "Exiting...\n" exit 1 fi # Remove files and unlink links printf "Removing ...\n" for entry in ${itRoot}/*; do printf " ... ${entry}\n"; [[ -L ${entry} ]] && unlink ${entry} [[ -e ${entry} ]] && rm -rf ${entry} done fi } function print_to_log() { #======================================================================== # Prints a message (single line) to a log file # # 1st argument: Message to be printed # 2nd argument: Log file where message will be sent #======================================================================== printf "%s\n" "${1}" >> "${2}" 2>&1 } function exe_name() { #======================================================================== # Returns the executable name given a directory name # # 1st argument: Model (GCClassic or GCHP) # 2nd argument: Build directory name #======================================================================== model="${1}" buildDir="${2}" # Turn on case-insensitivity shopt -s nocasematch # Default executable name exeFileName="none" [[ "X${model}" == "Xgcclassic" ]] && exeFileName="${model}" [[ "X${model}" == "Xgchp" ]] && exeFileName="${model}" # Append a suffix to the executable file name for specific directories if [[ "X${model}" == "Xgcclassic" ]]; then for suffix in ${EXE_GCC_BUILD_LIST[@]}; do if [[ "${buildDir}" =~ "${suffix}" ]]; then exeFileName+=".${suffix}" break fi done elif [[ "X${model}" == "Xgchp" ]]; then for suffix in ${EXE_GCHP_BUILD_LIST[@]}; do if [[ "${buildDir}" =~ "${suffix}" ]]; then exeFileName+=".${suffix}" break fi done fi # Turn off case-insensitivity shopt -u nocasematch # Return echo "${exeFileName}" } function config_options() { #======================================================================== # Returns the configuration options given a directory name # # 1st argument: Model type ("gcclassic" or "gchp") # 2nd argument: Directory name # 3rd argument: Base compilation options #======================================================================== # Arguments model="${1}" dir=$(basename "${2}") # Only take last part of path baseOptions="${3}" # Local variables exeFileName=$(exe_name "${model}" "${dir}" ) # Turn on case-insensitivity shopt -s nocasematch # Pick the proper build options if [[ ${dir} =~ "apm" ]]; then options="${baseOptions} -DAPM=y -DEXE_FILE_NAME=${exeFileName}" elif [[ ${dir} =~ "carbon" ]]; then options="${baseOptions} -DMECH=carbon -DEXE_FILE_NAME=${exeFileName}" elif [[ ${dir} =~ "hg" ]]; then options="${baseOptions} -DMECH=Hg -DFASTJX=y -DEXE_FILE_NAME=${exeFileName}" elif [[ ${dir} =~ "luowd" ]]; then options="${baseOptions} -DLUO_WETDEP=y -DEXE_FILE_NAME=${exeFileName}" elif [[ ${dir} =~ "rrtmg" ]]; then options="${baseOptions} -DRRTMG=y -DEXE_FILE_NAME=${exeFileName}" elif [[ ${dir} =~ "tomas15" ]]; then options="${baseOptions} -DTOMAS=y -DTOMAS_BINS=15 -DEXE_FILE_NAME=${exeFileName}" else options="${baseOptions}" fi # Turn off case-insensitivity shopt -u nocasematch # Return echo "${options}" } function compiletest_name() { #======================================================================== # Returns the GCClassic configuration options given a directory name # # 1st argument: Model name ('gcclassic' or 'gchp') # 2nd argument: Build directory name #======================================================================== model="${1}" buildDir=$(basename "${2}") # Only take last part of path # Display the proper model name [[ "X${model}" == "Xgcclassic" ]] && displayName="GCClassic" [[ "X${model}" == "Xgchp" ]] && displayName="GCHP" # Turn on case-insensitivity shopt -s nocasematch # Pick the proper build options if [[ "${buildDir}" =~ "apm" ]]; then result="${displayName} with APM" elif [[ "${buildDir}" =~ "carbon" ]]; then result="${displayName} w/ carbon gases (as a KPP mechanism)" elif [[ "${buildDir}" =~ "luowd" ]]; then result="${displayName} with Luo et al wetdep" elif [[ "${buildDir}" =~ "hg" ]]; then result="${displayName} with Hg (as a KPP mechanism)" elif [[ "${buildDir}" =~ "rrtmg" ]]; then result="${displayName} with RRTMG" elif [[ "${buildDir}" =~ "tomas15" ]]; then result="${displayName} with TOMAS15" else result="${displayName}" fi # Turn off case-insensitivity shopt -u nocasematch # Return echo "${result}" } function build_model() { #======================================================================== # Configures and compiles GEOS-Chem (Classic or GCHP) for # CMAKE_BUILD_TYPE=Debug. # # 1st argument = Model name ('gcclassic' or 'gchp') # 2nd argument = Root folder for tests (w/ many rundirs etc) # 3rd argument = CMake build directory # 4th argument = Base compilation options # 5th argument = Log file where stderr and stdout will be redirected # 6th argument = Log file where results will be printed #======================================================================== # Arguments model="${1}" itRoot=$(absolute_path "${2}") thisBuildDir="${3}" baseOptions="${4}" log="${5}" results="${6}" # Stop with error if the model name is invalid if [[ "X${model}" != "Xgcclassic" && "X${model}" != "Xgchp" ]]; then echo "ERROR: '${model}' is an invalid model name!" echo "Exiting in 'build_model' (in 'commonFunctionsForTests.sh')" exit 1 fi # Local variables codeDir="${itRoot}/CodeDir" configOptions=$(config_options "${model}" "${thisBuildDir}" "${baseOptions}") message=$(compiletest_name "${model}" "${thisBuildDir}") passMsg="$message${FILL:${#message}}.....${CMP_PASS_STR}" failMsg="$message${FILL:${#message}}.....${CMP_FAIL_STR}" # Change to the build directory cd "${thisBuildDir}" #--------------------------------------- # Code configuration #--------------------------------------- # Note: do not put quotes around configOptions, as bash will treat # it as a single string rather than individual options. cmake "${codeDir}" ${configOptions} >> "${log}" 2>&1 if [[ $? -ne 0 ]]; then if [[ "x${results}" != "x" ]]; then print_to_log "${failMsg}" "${results}" fi return 1 fi #---------------------------------------- # Code compilation and installation #---------------------------------------- make -j install >> "${log}" 2>&1 if [[ $? -ne 0 ]]; then if [[ "x${results}" != "x" ]]; then print_to_log "${failMsg}" "${results}" fi return 1 fi #---------------------------------------- # Cleanup & quit #---------------------------------------- # If we have gotten this far, the run passed, # so update the results log file accordingly print_to_log "${passMsg}" "${results}" } function rename_end_restart_file() { #======================================================================== # Appends a suffix to the ending restart file in order to denote # the number of cores that were used. # # 1st argument: Number of OpenMP threads #======================================================================== suffix="${1}${PAR_TEST_SUFFIX}" # Rename the ending restart file for r in Restarts/*.nc4; do if [[ "${r}" =~ "${END_hhmm_1h}" || "${r}" =~ "${END_hhmm_20m}" ]]; then newRstFile="${r}.${suffix}" mv -f "${r}" "${newRstFile}" [[ -f "${newRstFile}" ]] && return 0 fi done return 1 } function score_parallelization_test() { #======================================================================== # Determines if the parallelization test was successful by checking # that the restart files from both runs are bitwise identical. # # 1st argument: Number of OpenMP threads used in 1st parallel test run # 2nd argument: Number of OpenMP threads used in 2nd parallel test run #======================================================================== # Restart file names from both parallel test runs rstFile1=$(ls -1 Restarts/*.nc4* | grep "${1}${PAR_TEST_SUFFIX}") rstFile2=$(ls -1 Restarts/*.nc4* | grep "${2}${PAR_TEST_SUFFIX}") # Exit if eiher restart file does not exist [[ ! -f "$rstFile1" ]] && return 1 [[ ! -f "$rstFile2" ]] && return 1 # If the files are bitwise identical then the parallel test is successful diff "$rstFile1" "$rstFile2" return $? } function print_bootstrap_info_message() { #======================================================================== # Prints a message to indicate if species bootstrapping is enabled. # # 1st argument: Enable ("yes") or disable ("no") bootstrapping #======================================================================== if [[ "X${1}" == "XYES" ]]; then echo "" echo "%%%%% Species not found in the restart file will %%%%%" echo "%%%%% be bootstrapped (i.e. set to default values) %%%%%" else echo "" echo "%%%%% Integration tests will fail unless all %%%%%" echo "%%%%% species are found in the restart file! %%%%%" fi } function change_time_cycle_flags() { #======================================================================== # Changes the HEMCO time cycle flag for a given HEMCO container. # # 1st argument = HEMCO configuration file # 2nd argument = HEMCO container # 3rd argument = Old time cycle flag # 4th argument = New time cycle flag #======================================================================== hcoCfg="${1}" hcoCont="${2}" oldFlag="${3}" newFlag="${4}" # Search for the container in HEMCO configuration file # The set -f prevents * from being expanded to a file listing set -f text=$(grep "${hcoCont}" "${hcoCfg}") unset -f # Replace the time cycle flag for the container if [[ "X${text}" != "X" ]]; then sedCmd=$(sed_string "${text}" "${oldFlag}" "${newFlag}") sed_ie "${sedCmd}" "${hcoCfg}" fi } function gcc_enable_or_disable_bootstrap() { #======================================================================== # Edits HEMCO_Config.rc files to enable or disable "bootstrapping", # which is setting missing restart file variables to default values. # # 1st argument: Enable ("yes") or disable ("no") bootstrapping # 2nd argument: Directory containing integration test rundirs #======================================================================== bootStrap="${1}" rundirsDir="${2}" print_bootstrap_info_message "${bootStrap}" # Loop over rundirs for runDir in ${rundirsDir}/*; do # Do the following if for only valid GEOS-Chem run dirs expr=$(is_valid_rundir "${runDir}") if [[ "X${expr}" == "XTRUE" ]]; then # Specify path HEMCO_Config.rc hcoCfg="${runDir}/HEMCO_Config.rc" if [[ "X${bootStrap}" == "XYES" ]]; then # Set missing species in restarts & BC files to defaults change_time_cycle_flags "${hcoCfg}" "SPC_ " "EFYO" "CYS" change_time_cycle_flags "${hcoCfg}" "SPC_ " "EY" "CYS" change_time_cycle_flags "${hcoCfg}" "DELPDRY" "EY" "CYS" change_time_cycle_flags "${hcoCfg}" "BC_ " "EFY" "CYS" else # Halt run if species are missing from restarts & BC files change_time_cycle_flags "${hcoCfg}" "SPC_ " "CYS" "EFYO" change_time_cycle_flags "${hcoCfg}" "SPC_ " "EY" "EFYO" change_time_cycle_flags "${hcoCfg}" "BC_ " "CYS" "EFY" fi fi done } function gchp_enable_or_disable_bootstrap() { #======================================================================== # Edits HEMCO_Config.rc files to enable or disable "bootstrapping", # which is setting missing restart file variables to default values. # # 1st argument: Enable ("yes") or disable ("no") bootstrapping # 2nd argument: Directory containing integration test rundirs #======================================================================== bootStrap="${1}" rundirsDir="${2}" print_bootstrap_info_message "${bootStrap}" # Loop over rundirs for runDir in ${rundirsDir}/*; do # Do the following if for only valid GEOS-Chem run dirs expr=$(is_gchp_rundir "${runDir}") if [[ "X${expr}" == "XTRUE" ]]; then # Specify path HEMCO_Config.rc script="${runDir}/setCommonRunSettings.sh" if [[ "X${bootStrap}" == "XYES" ]]; then # Set missing restart file variables to defaults sed_ie "s/Require_Species_in_Restart=./Require_Species_in_Restart=0/" "${script}" else # Don't set missing restart file variables to defaults sed_ie "s/Require_Species_in_Restart=./Require_Species_in_Restart=1/" "${script}" fi fi done } function get_site_name() { #======================================================================== # Returns the site name based on the node name (i.e. uname -n) #======================================================================== nodeName=$(uname -n) [[ "${nodeName}" =~ 'harvard.edu' ]] && echo "CANNON" [[ "${nodeName}" =~ 'wustl.edu' ]] && echo "COMPUTE1" return 0 } function get_sed_partition_cmd_from_site() { #======================================================================== # Returns the sed command to replace the partition name in scripts # # 1st argument: Site name (cannon|compute1) #======================================================================== [[ "X${1}" == "XCANNON" ]] && p="sapphire,huce_cascade,seas_compute,shared" [[ "X${1}" == "XCOMPUTE1" ]] && p="rvmartin" echo "s/REQUESTED_PARTITION/${p}/" return 0 } function get_default_gcc_env_file() { #======================================================================== # Returns the default environment file for GEOS-Chem Classic #======================================================================== envFile=$(realpath "../../../run/GCClassic/runScriptSamples/operational_examples/harvard_cannon/gcclassic.gcc12_cannon_rocky.env") echo "$envFile" return 0 } function get_default_gchp_env_file() { #======================================================================== # Returns the default environment file for GCHP #======================================================================== envFile=$(realpath "../../../run/GCHP/runScriptSamples/operational_examples/harvard_cannon/gchp.gcc12_openmpi4_cannon_rocky.env") echo "$envFile" return 0 } function print_submodule_head_commits() { #======================================================================== # Print the head commits for each Git submodule ##### # # 1st argument: Number of pad characters before commit line starts # 2nd argument: Path to top-level code directory # 3rd argument: Log file where output will be written #======================================================================== export GIT_DISCOVERY_ACROSS_FILESYSTEM=1 n_pad=${1} baseDir=$(basename "${2}") pad=" " # Get submodule names from .gitmodules in the superproject folder submods=(.) submods+=$(grep path "${2}/.gitmodules") submods=${submods//path = /} # Loop over submodules # Skip blank entries and geos-chem-shared-docs for submod in ${submods[@]}; do if [[ "X${submod}" != "X" ]]; then if [[ ! "${submod}" =~ "geos-chem-shared-docs" ]]; then # Get the head commit for each submodule and create a # display string to print either to log file or to stdout. # For clarity, remove _GridComp from FVdycoreCubed_GridComp. if [[ -d "${2}/$submod" ]]; then head=$(git -C "${2}/$submod" log --oneline -1) y=$(basename $submod) y=${y/_GridComp/} y=${y/\./${baseDir}} if [[ "X${3}" == "X" ]]; then echo "${y:0:n_pad}${pad:0:$((n_pad - ${#y}))}: $head" else echo "${y:0:n_pad}${pad:0:$((n_pad - ${#y}))}: $head" >> "${3}" fi fi fi fi done } function toggle_geoschem_config_option() { #=================================================================== # Toggles the "activate " option in geoschem_config.yml # for a given YAML tag to either "true " or "false". # # 1st argument: geoschem_config.yml file # 2nd argument: YAML tag (e.g. "planeflight") # 3rd argument: Replacement #=================================================================== # Replace newlines with formfeed and save to a temporary file cat "${1}" | tr '\n' '\t' > "tmp.${1}" # Replace the activate value (one line below the option name) # to the value specified. Must have 5 characters! sed -i -e "s/${2}:\t activate: ...../${2}:\t activate: ${3}/g" "tmp.${1}" # Replace form feed with new line and delete temporary file cat "tmp.${1}" | tr '\t' '\n' > "${1}" rm -f "tmp.${1}" } ================================================ FILE: test/shared/utils/cannon/integrationTest/README.md ================================================ # Integration test utility scripts This folder contains utility scripts that allow you to manually resubmit integration test jobs. This can be useful, for example, if an integration test job fails but you don't want to re-create the entire directory structure or recompile the code. ## Scripts `redoIntegrationTestCompile.sh` - Script to manually resubmit the integration test compilation job `redoIntegrationTestExecute.sh` - Script to manually resubmit the integration test execution job ## Examples 1. Resubmit an integration test compilation job. ```console $ cd /path/to/integration/test/root/utils $ ./redoIntegrationTestCompile.sh ``` 2. Resubmit an integration test execution job. ```console $ cd /path/to/integration/test/root/utils $ ./redoIntegrationTestExecute.sh ``` ================================================ FILE: test/shared/utils/cannon/integrationTest/redoIntegrationTestCompile.sh ================================================ #!/bin/bash #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !MODULE: redoIntegrationTestCompile.sh # # !DESCRIPTION: Manually resubmits an integration test compilation job. # Useful in case the original job died due to cluster issues, etc. #\\ #\\ # !CALLING SEQUENCE: # cd /path/to/int/test/root/utils # ./redoIntegrationTestCompile.sh #EOP #------------------------------------------------------------------------------ #BOC # Throw error if there is a conda environment active with netCDF, # which can cause the code to be linked against the wrong netCDF version. if [[ -n "$CONDA_DEFAULT_ENV" || \ "$(which nc-config 2>/dev/null)" == *conda* ]]; then echo "ERROR: Conda netCDF detected. Run 'conda deactivate' first." exit 1 fi # Current directory thisDir=$(realpath .) # Integration test root dir is one dir higher itRoot=$(realpath "${thisDir}/..") # Change to the logs folder cd "$itRoot/logs" # Script to execute script="${itRoot}/scripts/integrationTestCompile.sh" # Make sure the script is found if [[ ! -f "${script}" ]]; then echo "${script} was not found! Exiting..." exit 1 fi # Resubmit the compilation job to the scheduler sbatch "${script}" ================================================ FILE: test/shared/utils/cannon/integrationTest/redoIntegrationTestExecute.sh ================================================ #!/bin/bash #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !MODULE: redoIntegrationTestExecute.sh # # !DESCRIPTION: Manually resubmits an integration test execution job. # Useful in case the original job died due to cluster issues, etc. #\\ #\\ # !CALLING SEQUENCE: # cd /path/to/int/test/root/utils # ./redoIntegrationTestCompile.sh #EOP #------------------------------------------------------------------------------ #BOC # Current directory thisDir=$(realpath .) # Integration test root dir is one dir higher itRoot=$(realpath "${thisDir}/..") # Change to the logs folder cd "$itRoot/logs" # Script to execute script="${itRoot}/scripts/integrationTestExecute.sh" # Make sure the script is found if [[ ! -f "${script}" ]]; then echo "${script} was not found! Exiting..." exit 1 fi # Resubmit the compilation job to the scheduler sbatch "${script}" ================================================ FILE: test/shared/utils/cannon/parallelTest/README.md ================================================ # Parallel test utility scripts This folder contains utility scripts that allow you to manually resubmit parallel test jobs. This can be useful, for example, if an parallel test job fails but you don't want to re-create the entire directory structure or recompile the code. ## Scripts `redoParallelTestCompile.sh` - Script to manually resubmit the parallel test compilation job `redoParallelTestExecute.sh` - Script to manually resubmit the parallel test execution job ## Examples 1. Resubmit an parallel test compilation job. ```console $ cd /path/to/parallel/test/root/utils $ ./redoParallelTestCompile.sh ``` 2. Resubmit an parallel test execution job. ```console $ cd /path/to/parallel/test/root/utils $ ./redoParallelTestExecute.sh ``` ================================================ FILE: test/shared/utils/cannon/parallelTest/redoParallelTestCompile.sh ================================================ #!/bin/bash #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !MODULE: redoParallelTestCompile.sh # # !DESCRIPTION: Manually resubmits an parallel test compilation job. # Useful in case the original job died due to cluster issues, etc. #\\ #\\ # !CALLING SEQUENCE: # cd /path/to/int/test/root/utils # ./redoIntegrationTestCompile.sh #EOP #------------------------------------------------------------------------------ #BOC # Current directory thisDir=$(realpath .) # Integration test root dir is one dir higher ptRoot=$(realpath "${thisDir}/..") # Change to the logs folder cd "$itRoot/logs" # Script to execute script="${ptRoot}/scripts/parallelTestCompile.sh" # Make sure the script is found if [[ ! -f "${script}" ]]; then echo "${script} was not found! Exiting..." exit 1 fi # Resubmit the compilation job to the scheduler sbatch "${script}" ================================================ FILE: test/shared/utils/cannon/parallelTest/redoParallelTestExecute.sh ================================================ #!/bin/bash #------------------------------------------------------------------------------ # GEOS-Chem Global Chemical Transport Model ! #------------------------------------------------------------------------------ #BOP # # !MODULE: redoParallelTestExecute.sh # # !DESCRIPTION: Manually resubmits an parallel test execution job. # Useful in case the original job died due to cluster issues, etc. #\\ #\\ # !CALLING SEQUENCE: # cd /path/to/int/test/root/utils # ./redoIntegrationTestCompile.sh #EOP #------------------------------------------------------------------------------ #BOC # Current directory thisDir=$(realpath .) # Integration test root dir is one dir higher ptRoot=$(realpath "${thisDir}/..") # Change to the logs folder cd "$ptRoot/logs" # Script to execute script="${ptRoot}/scripts/parallelTestExecute.sh" # Make sure the script is found if [[ ! -f "${script}" ]]; then echo "${script} was not found! Exiting..." exit 1 fi # Resubmit the compilation job to the scheduler sbatch "${script}"